{"id":"706df3ad95a60e2eb64079956ca9db8d","_format":"hh-sol-build-info-1","solcVersion":"0.8.20","solcLongVersion":"0.8.20+commit.a1b79de6","input":{"language":"Solidity","sources":{"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.20;\n\nimport {IAccessControl} from \"@openzeppelin/contracts/access/IAccessControl.sol\";\nimport {ContextUpgradeable} from \"../utils/ContextUpgradeable.sol\";\nimport {ERC165Upgradeable} from \"../utils/introspection/ERC165Upgradeable.sol\";\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```solidity\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```solidity\n * function foo() public {\n *     require(hasRole(MY_ROLE, msg.sender));\n *     ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\n * to enforce additional security measures for this role.\n */\nabstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable, IAccessControl, ERC165Upgradeable {\n    struct RoleData {\n        mapping(address account => bool) hasRole;\n        bytes32 adminRole;\n    }\n\n    bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n\n    /// @custom:storage-location erc7201:openzeppelin.storage.AccessControl\n    struct AccessControlStorage {\n        mapping(bytes32 role => RoleData) _roles;\n    }\n\n    // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.AccessControl\")) - 1)) & ~bytes32(uint256(0xff))\n    bytes32 private constant AccessControlStorageLocation = 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800;\n\n    function _getAccessControlStorage() private pure returns (AccessControlStorage storage $) {\n        assembly {\n            $.slot := AccessControlStorageLocation\n        }\n    }\n\n    /**\n     * @dev Modifier that checks that an account has a specific role. Reverts\n     * with an {AccessControlUnauthorizedAccount} error including the required role.\n     */\n    modifier onlyRole(bytes32 role) {\n        _checkRole(role);\n        _;\n    }\n\n    function __AccessControl_init() internal onlyInitializing {\n    }\n\n    function __AccessControl_init_unchained() internal onlyInitializing {\n    }\n    /**\n     * @dev See {IERC165-supportsInterface}.\n     */\n    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n        return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n    }\n\n    /**\n     * @dev Returns `true` if `account` has been granted `role`.\n     */\n    function hasRole(bytes32 role, address account) public view virtual returns (bool) {\n        AccessControlStorage storage $ = _getAccessControlStorage();\n        return $._roles[role].hasRole[account];\n    }\n\n    /**\n     * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`\n     * is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier.\n     */\n    function _checkRole(bytes32 role) internal view virtual {\n        _checkRole(role, _msgSender());\n    }\n\n    /**\n     * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`\n     * is missing `role`.\n     */\n    function _checkRole(bytes32 role, address account) internal view virtual {\n        if (!hasRole(role, account)) {\n            revert AccessControlUnauthorizedAccount(account, role);\n        }\n    }\n\n    /**\n     * @dev Returns the admin role that controls `role`. See {grantRole} and\n     * {revokeRole}.\n     *\n     * To change a role's admin, use {_setRoleAdmin}.\n     */\n    function getRoleAdmin(bytes32 role) public view virtual returns (bytes32) {\n        AccessControlStorage storage $ = _getAccessControlStorage();\n        return $._roles[role].adminRole;\n    }\n\n    /**\n     * @dev Grants `role` to `account`.\n     *\n     * If `account` had not been already granted `role`, emits a {RoleGranted}\n     * event.\n     *\n     * Requirements:\n     *\n     * - the caller must have ``role``'s admin role.\n     *\n     * May emit a {RoleGranted} event.\n     */\n    function grantRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n        _grantRole(role, account);\n    }\n\n    /**\n     * @dev Revokes `role` from `account`.\n     *\n     * If `account` had been granted `role`, emits a {RoleRevoked} event.\n     *\n     * Requirements:\n     *\n     * - the caller must have ``role``'s admin role.\n     *\n     * May emit a {RoleRevoked} event.\n     */\n    function revokeRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n        _revokeRole(role, account);\n    }\n\n    /**\n     * @dev Revokes `role` from the calling account.\n     *\n     * Roles are often managed via {grantRole} and {revokeRole}: this function's\n     * purpose is to provide a mechanism for accounts to lose their privileges\n     * if they are compromised (such as when a trusted device is misplaced).\n     *\n     * If the calling account had been revoked `role`, emits a {RoleRevoked}\n     * event.\n     *\n     * Requirements:\n     *\n     * - the caller must be `callerConfirmation`.\n     *\n     * May emit a {RoleRevoked} event.\n     */\n    function renounceRole(bytes32 role, address callerConfirmation) public virtual {\n        if (callerConfirmation != _msgSender()) {\n            revert AccessControlBadConfirmation();\n        }\n\n        _revokeRole(role, callerConfirmation);\n    }\n\n    /**\n     * @dev Sets `adminRole` as ``role``'s admin role.\n     *\n     * Emits a {RoleAdminChanged} event.\n     */\n    function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n        AccessControlStorage storage $ = _getAccessControlStorage();\n        bytes32 previousAdminRole = getRoleAdmin(role);\n        $._roles[role].adminRole = adminRole;\n        emit RoleAdminChanged(role, previousAdminRole, adminRole);\n    }\n\n    /**\n     * @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.\n     *\n     * Internal function without access restriction.\n     *\n     * May emit a {RoleGranted} event.\n     */\n    function _grantRole(bytes32 role, address account) internal virtual returns (bool) {\n        AccessControlStorage storage $ = _getAccessControlStorage();\n        if (!hasRole(role, account)) {\n            $._roles[role].hasRole[account] = true;\n            emit RoleGranted(role, account, _msgSender());\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * @dev Attempts to revoke `role` to `account` and returns a boolean indicating if `role` was revoked.\n     *\n     * Internal function without access restriction.\n     *\n     * May emit a {RoleRevoked} event.\n     */\n    function _revokeRole(bytes32 role, address account) internal virtual returns (bool) {\n        AccessControlStorage storage $ = _getAccessControlStorage();\n        if (hasRole(role, account)) {\n            $._roles[role].hasRole[account] = false;\n            emit RoleRevoked(role, account, _msgSender());\n            return true;\n        } else {\n            return false;\n        }\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (governance/TimelockController.sol)\n\npragma solidity ^0.8.20;\n\nimport {AccessControlUpgradeable} from \"../access/AccessControlUpgradeable.sol\";\nimport {ERC721HolderUpgradeable} from \"../token/ERC721/utils/ERC721HolderUpgradeable.sol\";\nimport {ERC1155HolderUpgradeable} from \"../token/ERC1155/utils/ERC1155HolderUpgradeable.sol\";\nimport {Address} from \"@openzeppelin/contracts/utils/Address.sol\";\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Contract module which acts as a timelocked controller. When set as the\n * owner of an `Ownable` smart contract, it enforces a timelock on all\n * `onlyOwner` maintenance operations. This gives time for users of the\n * controlled contract to exit before a potentially dangerous maintenance\n * operation is applied.\n *\n * By default, this contract is self administered, meaning administration tasks\n * have to go through the timelock process. The proposer (resp executor) role\n * is in charge of proposing (resp executing) operations. A common use case is\n * to position this {TimelockController} as the owner of a smart contract, with\n * a multisig or a DAO as the sole proposer.\n */\ncontract TimelockControllerUpgradeable is Initializable, AccessControlUpgradeable, ERC721HolderUpgradeable, ERC1155HolderUpgradeable {\n    bytes32 public constant PROPOSER_ROLE = keccak256(\"PROPOSER_ROLE\");\n    bytes32 public constant EXECUTOR_ROLE = keccak256(\"EXECUTOR_ROLE\");\n    bytes32 public constant CANCELLER_ROLE = keccak256(\"CANCELLER_ROLE\");\n    uint256 internal constant _DONE_TIMESTAMP = uint256(1);\n\n    /// @custom:storage-location erc7201:openzeppelin.storage.TimelockController\n    struct TimelockControllerStorage {\n        mapping(bytes32 id => uint256) _timestamps;\n        uint256 _minDelay;\n    }\n\n    // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.TimelockController\")) - 1)) & ~bytes32(uint256(0xff))\n    bytes32 private constant TimelockControllerStorageLocation = 0x9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb3600;\n\n    function _getTimelockControllerStorage() private pure returns (TimelockControllerStorage storage $) {\n        assembly {\n            $.slot := TimelockControllerStorageLocation\n        }\n    }\n\n    enum OperationState {\n        Unset,\n        Waiting,\n        Ready,\n        Done\n    }\n\n    /**\n     * @dev Mismatch between the parameters length for an operation call.\n     */\n    error TimelockInvalidOperationLength(uint256 targets, uint256 payloads, uint256 values);\n\n    /**\n     * @dev The schedule operation doesn't meet the minimum delay.\n     */\n    error TimelockInsufficientDelay(uint256 delay, uint256 minDelay);\n\n    /**\n     * @dev The current state of an operation is not as required.\n     * The `expectedStates` is a bitmap with the bits enabled for each OperationState enum position\n     * counting from right to left.\n     *\n     * See {_encodeStateBitmap}.\n     */\n    error TimelockUnexpectedOperationState(bytes32 operationId, bytes32 expectedStates);\n\n    /**\n     * @dev The predecessor to an operation not yet done.\n     */\n    error TimelockUnexecutedPredecessor(bytes32 predecessorId);\n\n    /**\n     * @dev The caller account is not authorized.\n     */\n    error TimelockUnauthorizedCaller(address caller);\n\n    /**\n     * @dev Emitted when a call is scheduled as part of operation `id`.\n     */\n    event CallScheduled(\n        bytes32 indexed id,\n        uint256 indexed index,\n        address target,\n        uint256 value,\n        bytes data,\n        bytes32 predecessor,\n        uint256 delay\n    );\n\n    /**\n     * @dev Emitted when a call is performed as part of operation `id`.\n     */\n    event CallExecuted(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data);\n\n    /**\n     * @dev Emitted when new proposal is scheduled with non-zero salt.\n     */\n    event CallSalt(bytes32 indexed id, bytes32 salt);\n\n    /**\n     * @dev Emitted when operation `id` is cancelled.\n     */\n    event Cancelled(bytes32 indexed id);\n\n    /**\n     * @dev Emitted when the minimum delay for future operations is modified.\n     */\n    event MinDelayChange(uint256 oldDuration, uint256 newDuration);\n\n    /**\n     * @dev Initializes the contract with the following parameters:\n     *\n     * - `minDelay`: initial minimum delay in seconds for operations\n     * - `proposers`: accounts to be granted proposer and canceller roles\n     * - `executors`: accounts to be granted executor role\n     * - `admin`: optional account to be granted admin role; disable with zero address\n     *\n     * IMPORTANT: The optional admin can aid with initial configuration of roles after deployment\n     * without being subject to delay, but this role should be subsequently renounced in favor of\n     * administration through timelocked proposals. Previous versions of this contract would assign\n     * this admin to the deployer automatically and should be renounced as well.\n     */\n    function __TimelockController_init(uint256 minDelay, address[] memory proposers, address[] memory executors, address admin) internal onlyInitializing {\n        __TimelockController_init_unchained(minDelay, proposers, executors, admin);\n    }\n\n    function __TimelockController_init_unchained(uint256 minDelay, address[] memory proposers, address[] memory executors, address admin) internal onlyInitializing {\n        TimelockControllerStorage storage $ = _getTimelockControllerStorage();\n        // self administration\n        _grantRole(DEFAULT_ADMIN_ROLE, address(this));\n\n        // optional admin\n        if (admin != address(0)) {\n            _grantRole(DEFAULT_ADMIN_ROLE, admin);\n        }\n\n        // register proposers and cancellers\n        for (uint256 i = 0; i < proposers.length; ++i) {\n            _grantRole(PROPOSER_ROLE, proposers[i]);\n            _grantRole(CANCELLER_ROLE, proposers[i]);\n        }\n\n        // register executors\n        for (uint256 i = 0; i < executors.length; ++i) {\n            _grantRole(EXECUTOR_ROLE, executors[i]);\n        }\n\n        $._minDelay = minDelay;\n        emit MinDelayChange(0, minDelay);\n    }\n\n    /**\n     * @dev Modifier to make a function callable only by a certain role. In\n     * addition to checking the sender's role, `address(0)` 's role is also\n     * considered. Granting a role to `address(0)` is equivalent to enabling\n     * this role for everyone.\n     */\n    modifier onlyRoleOrOpenRole(bytes32 role) {\n        if (!hasRole(role, address(0))) {\n            _checkRole(role, _msgSender());\n        }\n        _;\n    }\n\n    /**\n     * @dev Contract might receive/hold ETH as part of the maintenance process.\n     */\n    receive() external payable {}\n\n    /**\n     * @dev See {IERC165-supportsInterface}.\n     */\n    function supportsInterface(\n        bytes4 interfaceId\n    ) public view virtual override(AccessControlUpgradeable, ERC1155HolderUpgradeable) returns (bool) {\n        return super.supportsInterface(interfaceId);\n    }\n\n    /**\n     * @dev Returns whether an id corresponds to a registered operation. This\n     * includes both Waiting, Ready, and Done operations.\n     */\n    function isOperation(bytes32 id) public view returns (bool) {\n        return getOperationState(id) != OperationState.Unset;\n    }\n\n    /**\n     * @dev Returns whether an operation is pending or not. Note that a \"pending\" operation may also be \"ready\".\n     */\n    function isOperationPending(bytes32 id) public view returns (bool) {\n        OperationState state = getOperationState(id);\n        return state == OperationState.Waiting || state == OperationState.Ready;\n    }\n\n    /**\n     * @dev Returns whether an operation is ready for execution. Note that a \"ready\" operation is also \"pending\".\n     */\n    function isOperationReady(bytes32 id) public view returns (bool) {\n        return getOperationState(id) == OperationState.Ready;\n    }\n\n    /**\n     * @dev Returns whether an operation is done or not.\n     */\n    function isOperationDone(bytes32 id) public view returns (bool) {\n        return getOperationState(id) == OperationState.Done;\n    }\n\n    /**\n     * @dev Returns the timestamp at which an operation becomes ready (0 for\n     * unset operations, 1 for done operations).\n     */\n    function getTimestamp(bytes32 id) public view virtual returns (uint256) {\n        TimelockControllerStorage storage $ = _getTimelockControllerStorage();\n        return $._timestamps[id];\n    }\n\n    /**\n     * @dev Returns operation state.\n     */\n    function getOperationState(bytes32 id) public view virtual returns (OperationState) {\n        uint256 timestamp = getTimestamp(id);\n        if (timestamp == 0) {\n            return OperationState.Unset;\n        } else if (timestamp == _DONE_TIMESTAMP) {\n            return OperationState.Done;\n        } else if (timestamp > block.timestamp) {\n            return OperationState.Waiting;\n        } else {\n            return OperationState.Ready;\n        }\n    }\n\n    /**\n     * @dev Returns the minimum delay in seconds for an operation to become valid.\n     *\n     * This value can be changed by executing an operation that calls `updateDelay`.\n     */\n    function getMinDelay() public view virtual returns (uint256) {\n        TimelockControllerStorage storage $ = _getTimelockControllerStorage();\n        return $._minDelay;\n    }\n\n    /**\n     * @dev Returns the identifier of an operation containing a single\n     * transaction.\n     */\n    function hashOperation(\n        address target,\n        uint256 value,\n        bytes calldata data,\n        bytes32 predecessor,\n        bytes32 salt\n    ) public pure virtual returns (bytes32) {\n        return keccak256(abi.encode(target, value, data, predecessor, salt));\n    }\n\n    /**\n     * @dev Returns the identifier of an operation containing a batch of\n     * transactions.\n     */\n    function hashOperationBatch(\n        address[] calldata targets,\n        uint256[] calldata values,\n        bytes[] calldata payloads,\n        bytes32 predecessor,\n        bytes32 salt\n    ) public pure virtual returns (bytes32) {\n        return keccak256(abi.encode(targets, values, payloads, predecessor, salt));\n    }\n\n    /**\n     * @dev Schedule an operation containing a single transaction.\n     *\n     * Emits {CallSalt} if salt is nonzero, and {CallScheduled}.\n     *\n     * Requirements:\n     *\n     * - the caller must have the 'proposer' role.\n     */\n    function schedule(\n        address target,\n        uint256 value,\n        bytes calldata data,\n        bytes32 predecessor,\n        bytes32 salt,\n        uint256 delay\n    ) public virtual onlyRole(PROPOSER_ROLE) {\n        bytes32 id = hashOperation(target, value, data, predecessor, salt);\n        _schedule(id, delay);\n        emit CallScheduled(id, 0, target, value, data, predecessor, delay);\n        if (salt != bytes32(0)) {\n            emit CallSalt(id, salt);\n        }\n    }\n\n    /**\n     * @dev Schedule an operation containing a batch of transactions.\n     *\n     * Emits {CallSalt} if salt is nonzero, and one {CallScheduled} event per transaction in the batch.\n     *\n     * Requirements:\n     *\n     * - the caller must have the 'proposer' role.\n     */\n    function scheduleBatch(\n        address[] calldata targets,\n        uint256[] calldata values,\n        bytes[] calldata payloads,\n        bytes32 predecessor,\n        bytes32 salt,\n        uint256 delay\n    ) public virtual onlyRole(PROPOSER_ROLE) {\n        if (targets.length != values.length || targets.length != payloads.length) {\n            revert TimelockInvalidOperationLength(targets.length, payloads.length, values.length);\n        }\n\n        bytes32 id = hashOperationBatch(targets, values, payloads, predecessor, salt);\n        _schedule(id, delay);\n        for (uint256 i = 0; i < targets.length; ++i) {\n            emit CallScheduled(id, i, targets[i], values[i], payloads[i], predecessor, delay);\n        }\n        if (salt != bytes32(0)) {\n            emit CallSalt(id, salt);\n        }\n    }\n\n    /**\n     * @dev Schedule an operation that is to become valid after a given delay.\n     */\n    function _schedule(bytes32 id, uint256 delay) private {\n        TimelockControllerStorage storage $ = _getTimelockControllerStorage();\n        if (isOperation(id)) {\n            revert TimelockUnexpectedOperationState(id, _encodeStateBitmap(OperationState.Unset));\n        }\n        uint256 minDelay = getMinDelay();\n        if (delay < minDelay) {\n            revert TimelockInsufficientDelay(delay, minDelay);\n        }\n        $._timestamps[id] = block.timestamp + delay;\n    }\n\n    /**\n     * @dev Cancel an operation.\n     *\n     * Requirements:\n     *\n     * - the caller must have the 'canceller' role.\n     */\n    function cancel(bytes32 id) public virtual onlyRole(CANCELLER_ROLE) {\n        TimelockControllerStorage storage $ = _getTimelockControllerStorage();\n        if (!isOperationPending(id)) {\n            revert TimelockUnexpectedOperationState(\n                id,\n                _encodeStateBitmap(OperationState.Waiting) | _encodeStateBitmap(OperationState.Ready)\n            );\n        }\n        delete $._timestamps[id];\n\n        emit Cancelled(id);\n    }\n\n    /**\n     * @dev Execute an (ready) operation containing a single transaction.\n     *\n     * Emits a {CallExecuted} event.\n     *\n     * Requirements:\n     *\n     * - the caller must have the 'executor' role.\n     */\n    // This function can reenter, but it doesn't pose a risk because _afterCall checks that the proposal is pending,\n    // thus any modifications to the operation during reentrancy should be caught.\n    // slither-disable-next-line reentrancy-eth\n    function execute(\n        address target,\n        uint256 value,\n        bytes calldata payload,\n        bytes32 predecessor,\n        bytes32 salt\n    ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) {\n        bytes32 id = hashOperation(target, value, payload, predecessor, salt);\n\n        _beforeCall(id, predecessor);\n        _execute(target, value, payload);\n        emit CallExecuted(id, 0, target, value, payload);\n        _afterCall(id);\n    }\n\n    /**\n     * @dev Execute an (ready) operation containing a batch of transactions.\n     *\n     * Emits one {CallExecuted} event per transaction in the batch.\n     *\n     * Requirements:\n     *\n     * - the caller must have the 'executor' role.\n     */\n    // This function can reenter, but it doesn't pose a risk because _afterCall checks that the proposal is pending,\n    // thus any modifications to the operation during reentrancy should be caught.\n    // slither-disable-next-line reentrancy-eth\n    function executeBatch(\n        address[] calldata targets,\n        uint256[] calldata values,\n        bytes[] calldata payloads,\n        bytes32 predecessor,\n        bytes32 salt\n    ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) {\n        if (targets.length != values.length || targets.length != payloads.length) {\n            revert TimelockInvalidOperationLength(targets.length, payloads.length, values.length);\n        }\n\n        bytes32 id = hashOperationBatch(targets, values, payloads, predecessor, salt);\n\n        _beforeCall(id, predecessor);\n        for (uint256 i = 0; i < targets.length; ++i) {\n            address target = targets[i];\n            uint256 value = values[i];\n            bytes calldata payload = payloads[i];\n            _execute(target, value, payload);\n            emit CallExecuted(id, i, target, value, payload);\n        }\n        _afterCall(id);\n    }\n\n    /**\n     * @dev Execute an operation's call.\n     */\n    function _execute(address target, uint256 value, bytes calldata data) internal virtual {\n        (bool success, bytes memory returndata) = target.call{value: value}(data);\n        Address.verifyCallResult(success, returndata);\n    }\n\n    /**\n     * @dev Checks before execution of an operation's calls.\n     */\n    function _beforeCall(bytes32 id, bytes32 predecessor) private view {\n        if (!isOperationReady(id)) {\n            revert TimelockUnexpectedOperationState(id, _encodeStateBitmap(OperationState.Ready));\n        }\n        if (predecessor != bytes32(0) && !isOperationDone(predecessor)) {\n            revert TimelockUnexecutedPredecessor(predecessor);\n        }\n    }\n\n    /**\n     * @dev Checks after execution of an operation's calls.\n     */\n    function _afterCall(bytes32 id) private {\n        TimelockControllerStorage storage $ = _getTimelockControllerStorage();\n        if (!isOperationReady(id)) {\n            revert TimelockUnexpectedOperationState(id, _encodeStateBitmap(OperationState.Ready));\n        }\n        $._timestamps[id] = _DONE_TIMESTAMP;\n    }\n\n    /**\n     * @dev Changes the minimum timelock duration for future operations.\n     *\n     * Emits a {MinDelayChange} event.\n     *\n     * Requirements:\n     *\n     * - the caller must be the timelock itself. This can only be achieved by scheduling and later executing\n     * an operation where the timelock is the target and the data is the ABI-encoded call to this function.\n     */\n    function updateDelay(uint256 newDelay) external virtual {\n        TimelockControllerStorage storage $ = _getTimelockControllerStorage();\n        address sender = _msgSender();\n        if (sender != address(this)) {\n            revert TimelockUnauthorizedCaller(sender);\n        }\n        emit MinDelayChange($._minDelay, newDelay);\n        $._minDelay = newDelay;\n    }\n\n    /**\n     * @dev Encodes a `OperationState` into a `bytes32` representation where each bit enabled corresponds to\n     * the underlying position in the `OperationState` enum. For example:\n     *\n     * 0x000...1000\n     *   ^^^^^^----- ...\n     *         ^---- Done\n     *          ^--- Ready\n     *           ^-- Waiting\n     *            ^- Unset\n     */\n    function _encodeStateBitmap(OperationState operationState) internal pure returns (bytes32) {\n        return bytes32(1 << uint8(operationState));\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (proxy/utils/Initializable.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n * behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n *\n * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n * reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n * case an upgrade adds a module that needs to be initialized.\n *\n * For example:\n *\n * [.hljs-theme-light.nopadding]\n * ```solidity\n * contract MyToken is ERC20Upgradeable {\n *     function initialize() initializer public {\n *         __ERC20_init(\"MyToken\", \"MTK\");\n *     }\n * }\n *\n * contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n *     function initializeV2() reinitializer(2) public {\n *         __ERC20Permit_init(\"MyToken\");\n *     }\n * }\n * ```\n *\n * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n *\n * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n *\n * [CAUTION]\n * ====\n * Avoid leaving a contract uninitialized.\n *\n * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n * contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n * the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n *\n * [.hljs-theme-light.nopadding]\n * ```\n * /// @custom:oz-upgrades-unsafe-allow constructor\n * constructor() {\n *     _disableInitializers();\n * }\n * ```\n * ====\n */\nabstract contract Initializable {\n    /**\n     * @dev Storage of the initializable contract.\n     *\n     * It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions\n     * when using with upgradeable contracts.\n     *\n     * @custom:storage-location erc7201:openzeppelin.storage.Initializable\n     */\n    struct InitializableStorage {\n        /**\n         * @dev Indicates that the contract has been initialized.\n         */\n        uint64 _initialized;\n        /**\n         * @dev Indicates that the contract is in the process of being initialized.\n         */\n        bool _initializing;\n    }\n\n    // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.Initializable\")) - 1)) & ~bytes32(uint256(0xff))\n    bytes32 private constant INITIALIZABLE_STORAGE = 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00;\n\n    /**\n     * @dev The contract is already initialized.\n     */\n    error InvalidInitialization();\n\n    /**\n     * @dev The contract is not initializing.\n     */\n    error NotInitializing();\n\n    /**\n     * @dev Triggered when the contract has been initialized or reinitialized.\n     */\n    event Initialized(uint64 version);\n\n    /**\n     * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n     * `onlyInitializing` functions can be used to initialize parent contracts.\n     *\n     * Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any\n     * number of times. This behavior in the constructor can be useful during testing and is not expected to be used in\n     * production.\n     *\n     * Emits an {Initialized} event.\n     */\n    modifier initializer() {\n        // solhint-disable-next-line var-name-mixedcase\n        InitializableStorage storage $ = _getInitializableStorage();\n\n        // Cache values to avoid duplicated sloads\n        bool isTopLevelCall = !$._initializing;\n        uint64 initialized = $._initialized;\n\n        // Allowed calls:\n        // - initialSetup: the contract is not in the initializing state and no previous version was\n        //                 initialized\n        // - construction: the contract is initialized at version 1 (no reininitialization) and the\n        //                 current contract is just being deployed\n        bool initialSetup = initialized == 0 && isTopLevelCall;\n        bool construction = initialized == 1 && address(this).code.length == 0;\n\n        if (!initialSetup && !construction) {\n            revert InvalidInitialization();\n        }\n        $._initialized = 1;\n        if (isTopLevelCall) {\n            $._initializing = true;\n        }\n        _;\n        if (isTopLevelCall) {\n            $._initializing = false;\n            emit Initialized(1);\n        }\n    }\n\n    /**\n     * @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\n     * contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\n     * used to initialize parent contracts.\n     *\n     * A reinitializer may be used after the original initialization step. This is essential to configure modules that\n     * are added through upgrades and that require initialization.\n     *\n     * When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\n     * cannot be nested. If one is invoked in the context of another, execution will revert.\n     *\n     * Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\n     * a contract, executing them in the right order is up to the developer or operator.\n     *\n     * WARNING: Setting the version to 2**64 - 1 will prevent any future reinitialization.\n     *\n     * Emits an {Initialized} event.\n     */\n    modifier reinitializer(uint64 version) {\n        // solhint-disable-next-line var-name-mixedcase\n        InitializableStorage storage $ = _getInitializableStorage();\n\n        if ($._initializing || $._initialized >= version) {\n            revert InvalidInitialization();\n        }\n        $._initialized = version;\n        $._initializing = true;\n        _;\n        $._initializing = false;\n        emit Initialized(version);\n    }\n\n    /**\n     * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\n     * {initializer} and {reinitializer} modifiers, directly or indirectly.\n     */\n    modifier onlyInitializing() {\n        _checkInitializing();\n        _;\n    }\n\n    /**\n     * @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}.\n     */\n    function _checkInitializing() internal view virtual {\n        if (!_isInitializing()) {\n            revert NotInitializing();\n        }\n    }\n\n    /**\n     * @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\n     * Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\n     * to any version. It is recommended to use this to lock implementation contracts that are designed to be called\n     * through proxies.\n     *\n     * Emits an {Initialized} event the first time it is successfully executed.\n     */\n    function _disableInitializers() internal virtual {\n        // solhint-disable-next-line var-name-mixedcase\n        InitializableStorage storage $ = _getInitializableStorage();\n\n        if ($._initializing) {\n            revert InvalidInitialization();\n        }\n        if ($._initialized != type(uint64).max) {\n            $._initialized = type(uint64).max;\n            emit Initialized(type(uint64).max);\n        }\n    }\n\n    /**\n     * @dev Returns the highest version that has been initialized. See {reinitializer}.\n     */\n    function _getInitializedVersion() internal view returns (uint64) {\n        return _getInitializableStorage()._initialized;\n    }\n\n    /**\n     * @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}.\n     */\n    function _isInitializing() internal view returns (bool) {\n        return _getInitializableStorage()._initializing;\n    }\n\n    /**\n     * @dev Returns a pointer to the storage namespace.\n     */\n    // solhint-disable-next-line var-name-mixedcase\n    function _getInitializableStorage() private pure returns (InitializableStorage storage $) {\n        assembly {\n            $.slot := INITIALIZABLE_STORAGE\n        }\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (proxy/utils/UUPSUpgradeable.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC1822Proxiable} from \"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\";\nimport {ERC1967Utils} from \"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\";\nimport {Initializable} from \"./Initializable.sol\";\n\n/**\n * @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an\n * {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy.\n *\n * A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is\n * reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing\n * `UUPSUpgradeable` with a custom implementation of upgrades.\n *\n * The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\n */\nabstract contract UUPSUpgradeable is Initializable, IERC1822Proxiable {\n    /// @custom:oz-upgrades-unsafe-allow state-variable-immutable\n    address private immutable __self = address(this);\n\n    /**\n     * @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)`\n     * and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called,\n     * while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string.\n     * If the getter returns `\"5.0.0\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must\n     * be the empty byte string if no function should be called, making it impossible to invoke the `receive` function\n     * during an upgrade.\n     */\n    string public constant UPGRADE_INTERFACE_VERSION = \"5.0.0\";\n\n    /**\n     * @dev The call is from an unauthorized context.\n     */\n    error UUPSUnauthorizedCallContext();\n\n    /**\n     * @dev The storage `slot` is unsupported as a UUID.\n     */\n    error UUPSUnsupportedProxiableUUID(bytes32 slot);\n\n    /**\n     * @dev Check that the execution is being performed through a delegatecall call and that the execution context is\n     * a proxy contract with an implementation (as defined in ERC1967) pointing to self. This should only be the case\n     * for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a\n     * function through ERC1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to\n     * fail.\n     */\n    modifier onlyProxy() {\n        _checkProxy();\n        _;\n    }\n\n    /**\n     * @dev Check that the execution is not being performed through a delegate call. This allows a function to be\n     * callable on the implementing contract but not through proxies.\n     */\n    modifier notDelegated() {\n        _checkNotDelegated();\n        _;\n    }\n\n    function __UUPSUpgradeable_init() internal onlyInitializing {\n    }\n\n    function __UUPSUpgradeable_init_unchained() internal onlyInitializing {\n    }\n    /**\n     * @dev Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the\n     * implementation. It is used to validate the implementation's compatibility when performing an upgrade.\n     *\n     * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n     * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n     * function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\n     */\n    function proxiableUUID() external view virtual notDelegated returns (bytes32) {\n        return ERC1967Utils.IMPLEMENTATION_SLOT;\n    }\n\n    /**\n     * @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call\n     * encoded in `data`.\n     *\n     * Calls {_authorizeUpgrade}.\n     *\n     * Emits an {Upgraded} event.\n     *\n     * @custom:oz-upgrades-unsafe-allow-reachable delegatecall\n     */\n    function upgradeToAndCall(address newImplementation, bytes memory data) public payable virtual onlyProxy {\n        _authorizeUpgrade(newImplementation);\n        _upgradeToAndCallUUPS(newImplementation, data);\n    }\n\n    /**\n     * @dev Reverts if the execution is not performed via delegatecall or the execution\n     * context is not of a proxy with an ERC1967-compliant implementation pointing to self.\n     * See {_onlyProxy}.\n     */\n    function _checkProxy() internal view virtual {\n        if (\n            address(this) == __self || // Must be called through delegatecall\n            ERC1967Utils.getImplementation() != __self // Must be called through an active proxy\n        ) {\n            revert UUPSUnauthorizedCallContext();\n        }\n    }\n\n    /**\n     * @dev Reverts if the execution is performed via delegatecall.\n     * See {notDelegated}.\n     */\n    function _checkNotDelegated() internal view virtual {\n        if (address(this) != __self) {\n            // Must not be called through delegatecall\n            revert UUPSUnauthorizedCallContext();\n        }\n    }\n\n    /**\n     * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by\n     * {upgradeToAndCall}.\n     *\n     * Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.\n     *\n     * ```solidity\n     * function _authorizeUpgrade(address) internal onlyOwner {}\n     * ```\n     */\n    function _authorizeUpgrade(address newImplementation) internal virtual;\n\n    /**\n     * @dev Performs an implementation upgrade with a security check for UUPS proxies, and additional setup call.\n     *\n     * As a security check, {proxiableUUID} is invoked in the new implementation, and the return value\n     * is expected to be the implementation slot in ERC1967.\n     *\n     * Emits an {IERC1967-Upgraded} event.\n     */\n    function _upgradeToAndCallUUPS(address newImplementation, bytes memory data) private {\n        try IERC1822Proxiable(newImplementation).proxiableUUID() returns (bytes32 slot) {\n            if (slot != ERC1967Utils.IMPLEMENTATION_SLOT) {\n                revert UUPSUnsupportedProxiableUUID(slot);\n            }\n            ERC1967Utils.upgradeToAndCall(newImplementation, data);\n        } catch {\n            // The implementation is not UUPS\n            revert ERC1967Utils.ERC1967InvalidImplementation(newImplementation);\n        }\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/utils/ERC1155Holder.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport {ERC165Upgradeable} from \"../../../utils/introspection/ERC165Upgradeable.sol\";\nimport {IERC1155Receiver} from \"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\";\nimport {Initializable} from \"../../../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Simple implementation of `IERC1155Receiver` that will allow a contract to hold ERC1155 tokens.\n *\n * IMPORTANT: When inheriting this contract, you must include a way to use the received tokens, otherwise they will be\n * stuck.\n */\nabstract contract ERC1155HolderUpgradeable is Initializable, ERC165Upgradeable, IERC1155Receiver {\n    function __ERC1155Holder_init() internal onlyInitializing {\n    }\n\n    function __ERC1155Holder_init_unchained() internal onlyInitializing {\n    }\n    /**\n     * @dev See {IERC165-supportsInterface}.\n     */\n    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165Upgradeable, IERC165) returns (bool) {\n        return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId);\n    }\n\n    function onERC1155Received(\n        address,\n        address,\n        uint256,\n        uint256,\n        bytes memory\n    ) public virtual override returns (bytes4) {\n        return this.onERC1155Received.selector;\n    }\n\n    function onERC1155BatchReceived(\n        address,\n        address,\n        uint256[] memory,\n        uint256[] memory,\n        bytes memory\n    ) public virtual override returns (bytes4) {\n        return this.onERC1155BatchReceived.selector;\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/ERC721.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC721} from \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\nimport {IERC721Receiver} from \"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\";\nimport {IERC721Metadata} from \"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\";\nimport {ContextUpgradeable} from \"../../utils/ContextUpgradeable.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {IERC165} from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport {ERC165Upgradeable} from \"../../utils/introspection/ERC165Upgradeable.sol\";\nimport {IERC721Errors} from \"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\";\nimport {Initializable} from \"../../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n * the Metadata extension, but not including the Enumerable extension, which is available separately as\n * {ERC721Enumerable}.\n */\nabstract contract ERC721Upgradeable is Initializable, ContextUpgradeable, ERC165Upgradeable, IERC721, IERC721Metadata, IERC721Errors {\n    using Strings for uint256;\n\n    /// @custom:storage-location erc7201:openzeppelin.storage.ERC721\n    struct ERC721Storage {\n        // Token name\n        string _name;\n\n        // Token symbol\n        string _symbol;\n\n        mapping(uint256 tokenId => address) _owners;\n\n        mapping(address owner => uint256) _balances;\n\n        mapping(uint256 tokenId => address) _tokenApprovals;\n\n        mapping(address owner => mapping(address operator => bool)) _operatorApprovals;\n    }\n\n    // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.ERC721\")) - 1)) & ~bytes32(uint256(0xff))\n    bytes32 private constant ERC721StorageLocation = 0x80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300;\n\n    function _getERC721Storage() private pure returns (ERC721Storage storage $) {\n        assembly {\n            $.slot := ERC721StorageLocation\n        }\n    }\n\n    /**\n     * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection.\n     */\n    function __ERC721_init(string memory name_, string memory symbol_) internal onlyInitializing {\n        __ERC721_init_unchained(name_, symbol_);\n    }\n\n    function __ERC721_init_unchained(string memory name_, string memory symbol_) internal onlyInitializing {\n        ERC721Storage storage $ = _getERC721Storage();\n        $._name = name_;\n        $._symbol = symbol_;\n    }\n\n    /**\n     * @dev See {IERC165-supportsInterface}.\n     */\n    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165Upgradeable, IERC165) returns (bool) {\n        return\n            interfaceId == type(IERC721).interfaceId ||\n            interfaceId == type(IERC721Metadata).interfaceId ||\n            super.supportsInterface(interfaceId);\n    }\n\n    /**\n     * @dev See {IERC721-balanceOf}.\n     */\n    function balanceOf(address owner) public view virtual returns (uint256) {\n        ERC721Storage storage $ = _getERC721Storage();\n        if (owner == address(0)) {\n            revert ERC721InvalidOwner(address(0));\n        }\n        return $._balances[owner];\n    }\n\n    /**\n     * @dev See {IERC721-ownerOf}.\n     */\n    function ownerOf(uint256 tokenId) public view virtual returns (address) {\n        return _requireOwned(tokenId);\n    }\n\n    /**\n     * @dev See {IERC721Metadata-name}.\n     */\n    function name() public view virtual returns (string memory) {\n        ERC721Storage storage $ = _getERC721Storage();\n        return $._name;\n    }\n\n    /**\n     * @dev See {IERC721Metadata-symbol}.\n     */\n    function symbol() public view virtual returns (string memory) {\n        ERC721Storage storage $ = _getERC721Storage();\n        return $._symbol;\n    }\n\n    /**\n     * @dev See {IERC721Metadata-tokenURI}.\n     */\n    function tokenURI(uint256 tokenId) public view virtual returns (string memory) {\n        _requireOwned(tokenId);\n\n        string memory baseURI = _baseURI();\n        return bytes(baseURI).length > 0 ? string.concat(baseURI, tokenId.toString()) : \"\";\n    }\n\n    /**\n     * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n     * token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n     * by default, can be overridden in child contracts.\n     */\n    function _baseURI() internal view virtual returns (string memory) {\n        return \"\";\n    }\n\n    /**\n     * @dev See {IERC721-approve}.\n     */\n    function approve(address to, uint256 tokenId) public virtual {\n        _approve(to, tokenId, _msgSender());\n    }\n\n    /**\n     * @dev See {IERC721-getApproved}.\n     */\n    function getApproved(uint256 tokenId) public view virtual returns (address) {\n        _requireOwned(tokenId);\n\n        return _getApproved(tokenId);\n    }\n\n    /**\n     * @dev See {IERC721-setApprovalForAll}.\n     */\n    function setApprovalForAll(address operator, bool approved) public virtual {\n        _setApprovalForAll(_msgSender(), operator, approved);\n    }\n\n    /**\n     * @dev See {IERC721-isApprovedForAll}.\n     */\n    function isApprovedForAll(address owner, address operator) public view virtual returns (bool) {\n        ERC721Storage storage $ = _getERC721Storage();\n        return $._operatorApprovals[owner][operator];\n    }\n\n    /**\n     * @dev See {IERC721-transferFrom}.\n     */\n    function transferFrom(address from, address to, uint256 tokenId) public virtual {\n        if (to == address(0)) {\n            revert ERC721InvalidReceiver(address(0));\n        }\n        // Setting an \"auth\" arguments enables the `_isAuthorized` check which verifies that the token exists\n        // (from != 0). Therefore, it is not needed to verify that the return value is not 0 here.\n        address previousOwner = _update(to, tokenId, _msgSender());\n        if (previousOwner != from) {\n            revert ERC721IncorrectOwner(from, tokenId, previousOwner);\n        }\n    }\n\n    /**\n     * @dev See {IERC721-safeTransferFrom}.\n     */\n    function safeTransferFrom(address from, address to, uint256 tokenId) public {\n        safeTransferFrom(from, to, tokenId, \"\");\n    }\n\n    /**\n     * @dev See {IERC721-safeTransferFrom}.\n     */\n    function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public virtual {\n        transferFrom(from, to, tokenId);\n        _checkOnERC721Received(from, to, tokenId, data);\n    }\n\n    /**\n     * @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist\n     *\n     * IMPORTANT: Any overrides to this function that add ownership of tokens not tracked by the\n     * core ERC721 logic MUST be matched with the use of {_increaseBalance} to keep balances\n     * consistent with ownership. The invariant to preserve is that for any address `a` the value returned by\n     * `balanceOf(a)` must be equal to the number of tokens such that `_ownerOf(tokenId)` is `a`.\n     */\n    function _ownerOf(uint256 tokenId) internal view virtual returns (address) {\n        ERC721Storage storage $ = _getERC721Storage();\n        return $._owners[tokenId];\n    }\n\n    /**\n     * @dev Returns the approved address for `tokenId`. Returns 0 if `tokenId` is not minted.\n     */\n    function _getApproved(uint256 tokenId) internal view virtual returns (address) {\n        ERC721Storage storage $ = _getERC721Storage();\n        return $._tokenApprovals[tokenId];\n    }\n\n    /**\n     * @dev Returns whether `spender` is allowed to manage `owner`'s tokens, or `tokenId` in\n     * particular (ignoring whether it is owned by `owner`).\n     *\n     * WARNING: This function assumes that `owner` is the actual owner of `tokenId` and does not verify this\n     * assumption.\n     */\n    function _isAuthorized(address owner, address spender, uint256 tokenId) internal view virtual returns (bool) {\n        return\n            spender != address(0) &&\n            (owner == spender || isApprovedForAll(owner, spender) || _getApproved(tokenId) == spender);\n    }\n\n    /**\n     * @dev Checks if `spender` can operate on `tokenId`, assuming the provided `owner` is the actual owner.\n     * Reverts if `spender` does not have approval from the provided `owner` for the given token or for all its assets\n     * the `spender` for the specific `tokenId`.\n     *\n     * WARNING: This function assumes that `owner` is the actual owner of `tokenId` and does not verify this\n     * assumption.\n     */\n    function _checkAuthorized(address owner, address spender, uint256 tokenId) internal view virtual {\n        if (!_isAuthorized(owner, spender, tokenId)) {\n            if (owner == address(0)) {\n                revert ERC721NonexistentToken(tokenId);\n            } else {\n                revert ERC721InsufficientApproval(spender, tokenId);\n            }\n        }\n    }\n\n    /**\n     * @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n     *\n     * NOTE: the value is limited to type(uint128).max. This protect against _balance overflow. It is unrealistic that\n     * a uint256 would ever overflow from increments when these increments are bounded to uint128 values.\n     *\n     * WARNING: Increasing an account's balance using this function tends to be paired with an override of the\n     * {_ownerOf} function to resolve the ownership of the corresponding tokens so that balances and ownership\n     * remain consistent with one another.\n     */\n    function _increaseBalance(address account, uint128 value) internal virtual {\n        ERC721Storage storage $ = _getERC721Storage();\n        unchecked {\n            $._balances[account] += value;\n        }\n    }\n\n    /**\n     * @dev Transfers `tokenId` from its current owner to `to`, or alternatively mints (or burns) if the current owner\n     * (or `to`) is the zero address. Returns the owner of the `tokenId` before the update.\n     *\n     * The `auth` argument is optional. If the value passed is non 0, then this function will check that\n     * `auth` is either the owner of the token, or approved to operate on the token (by the owner).\n     *\n     * Emits a {Transfer} event.\n     *\n     * NOTE: If overriding this function in a way that tracks balances, see also {_increaseBalance}.\n     */\n    function _update(address to, uint256 tokenId, address auth) internal virtual returns (address) {\n        ERC721Storage storage $ = _getERC721Storage();\n        address from = _ownerOf(tokenId);\n\n        // Perform (optional) operator check\n        if (auth != address(0)) {\n            _checkAuthorized(from, auth, tokenId);\n        }\n\n        // Execute the update\n        if (from != address(0)) {\n            // Clear approval. No need to re-authorize or emit the Approval event\n            _approve(address(0), tokenId, address(0), false);\n\n            unchecked {\n                $._balances[from] -= 1;\n            }\n        }\n\n        if (to != address(0)) {\n            unchecked {\n                $._balances[to] += 1;\n            }\n        }\n\n        $._owners[tokenId] = to;\n\n        emit Transfer(from, to, tokenId);\n\n        return from;\n    }\n\n    /**\n     * @dev Mints `tokenId` and transfers it to `to`.\n     *\n     * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n     *\n     * Requirements:\n     *\n     * - `tokenId` must not exist.\n     * - `to` cannot be the zero address.\n     *\n     * Emits a {Transfer} event.\n     */\n    function _mint(address to, uint256 tokenId) internal {\n        if (to == address(0)) {\n            revert ERC721InvalidReceiver(address(0));\n        }\n        address previousOwner = _update(to, tokenId, address(0));\n        if (previousOwner != address(0)) {\n            revert ERC721InvalidSender(address(0));\n        }\n    }\n\n    /**\n     * @dev Mints `tokenId`, transfers it to `to` and checks for `to` acceptance.\n     *\n     * Requirements:\n     *\n     * - `tokenId` must not exist.\n     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n     *\n     * Emits a {Transfer} event.\n     */\n    function _safeMint(address to, uint256 tokenId) internal {\n        _safeMint(to, tokenId, \"\");\n    }\n\n    /**\n     * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n     * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n     */\n    function _safeMint(address to, uint256 tokenId, bytes memory data) internal virtual {\n        _mint(to, tokenId);\n        _checkOnERC721Received(address(0), to, tokenId, data);\n    }\n\n    /**\n     * @dev Destroys `tokenId`.\n     * The approval is cleared when the token is burned.\n     * This is an internal function that does not check if the sender is authorized to operate on the token.\n     *\n     * Requirements:\n     *\n     * - `tokenId` must exist.\n     *\n     * Emits a {Transfer} event.\n     */\n    function _burn(uint256 tokenId) internal {\n        address previousOwner = _update(address(0), tokenId, address(0));\n        if (previousOwner == address(0)) {\n            revert ERC721NonexistentToken(tokenId);\n        }\n    }\n\n    /**\n     * @dev Transfers `tokenId` from `from` to `to`.\n     *  As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n     *\n     * Requirements:\n     *\n     * - `to` cannot be the zero address.\n     * - `tokenId` token must be owned by `from`.\n     *\n     * Emits a {Transfer} event.\n     */\n    function _transfer(address from, address to, uint256 tokenId) internal {\n        if (to == address(0)) {\n            revert ERC721InvalidReceiver(address(0));\n        }\n        address previousOwner = _update(to, tokenId, address(0));\n        if (previousOwner == address(0)) {\n            revert ERC721NonexistentToken(tokenId);\n        } else if (previousOwner != from) {\n            revert ERC721IncorrectOwner(from, tokenId, previousOwner);\n        }\n    }\n\n    /**\n     * @dev Safely transfers `tokenId` token from `from` to `to`, checking that contract recipients\n     * are aware of the ERC721 standard to prevent tokens from being forever locked.\n     *\n     * `data` is additional data, it has no specified format and it is sent in call to `to`.\n     *\n     * This internal function is like {safeTransferFrom} in the sense that it invokes\n     * {IERC721Receiver-onERC721Received} on the receiver, and can be used to e.g.\n     * implement alternative mechanisms to perform token transfer, such as signature-based.\n     *\n     * Requirements:\n     *\n     * - `tokenId` token must exist and be owned by `from`.\n     * - `to` cannot be the zero address.\n     * - `from` cannot be the zero address.\n     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n     *\n     * Emits a {Transfer} event.\n     */\n    function _safeTransfer(address from, address to, uint256 tokenId) internal {\n        _safeTransfer(from, to, tokenId, \"\");\n    }\n\n    /**\n     * @dev Same as {xref-ERC721-_safeTransfer-address-address-uint256-}[`_safeTransfer`], with an additional `data` parameter which is\n     * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n     */\n    function _safeTransfer(address from, address to, uint256 tokenId, bytes memory data) internal virtual {\n        _transfer(from, to, tokenId);\n        _checkOnERC721Received(from, to, tokenId, data);\n    }\n\n    /**\n     * @dev Approve `to` to operate on `tokenId`\n     *\n     * The `auth` argument is optional. If the value passed is non 0, then this function will check that `auth` is\n     * either the owner of the token, or approved to operate on all tokens held by this owner.\n     *\n     * Emits an {Approval} event.\n     *\n     * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n     */\n    function _approve(address to, uint256 tokenId, address auth) internal {\n        _approve(to, tokenId, auth, true);\n    }\n\n    /**\n     * @dev Variant of `_approve` with an optional flag to enable or disable the {Approval} event. The event is not\n     * emitted in the context of transfers.\n     */\n    function _approve(address to, uint256 tokenId, address auth, bool emitEvent) internal virtual {\n        ERC721Storage storage $ = _getERC721Storage();\n        // Avoid reading the owner unless necessary\n        if (emitEvent || auth != address(0)) {\n            address owner = _requireOwned(tokenId);\n\n            // We do not use _isAuthorized because single-token approvals should not be able to call approve\n            if (auth != address(0) && owner != auth && !isApprovedForAll(owner, auth)) {\n                revert ERC721InvalidApprover(auth);\n            }\n\n            if (emitEvent) {\n                emit Approval(owner, to, tokenId);\n            }\n        }\n\n        $._tokenApprovals[tokenId] = to;\n    }\n\n    /**\n     * @dev Approve `operator` to operate on all of `owner` tokens\n     *\n     * Requirements:\n     * - operator can't be the address zero.\n     *\n     * Emits an {ApprovalForAll} event.\n     */\n    function _setApprovalForAll(address owner, address operator, bool approved) internal virtual {\n        ERC721Storage storage $ = _getERC721Storage();\n        if (operator == address(0)) {\n            revert ERC721InvalidOperator(operator);\n        }\n        $._operatorApprovals[owner][operator] = approved;\n        emit ApprovalForAll(owner, operator, approved);\n    }\n\n    /**\n     * @dev Reverts if the `tokenId` doesn't have a current owner (it hasn't been minted, or it has been burned).\n     * Returns the owner.\n     *\n     * Overrides to ownership logic should be done to {_ownerOf}.\n     */\n    function _requireOwned(uint256 tokenId) internal view returns (address) {\n        address owner = _ownerOf(tokenId);\n        if (owner == address(0)) {\n            revert ERC721NonexistentToken(tokenId);\n        }\n        return owner;\n    }\n\n    /**\n     * @dev Private function to invoke {IERC721Receiver-onERC721Received} on a target address. This will revert if the\n     * recipient doesn't accept the token transfer. The call is not executed if the target address is not a contract.\n     *\n     * @param from address representing the previous owner of the given token ID\n     * @param to target address that will receive the tokens\n     * @param tokenId uint256 ID of the token to be transferred\n     * @param data bytes optional data to send along with the call\n     */\n    function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory data) private {\n        if (to.code.length > 0) {\n            try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, data) returns (bytes4 retval) {\n                if (retval != IERC721Receiver.onERC721Received.selector) {\n                    revert ERC721InvalidReceiver(to);\n                }\n            } catch (bytes memory reason) {\n                if (reason.length == 0) {\n                    revert ERC721InvalidReceiver(to);\n                } else {\n                    /// @solidity memory-safe-assembly\n                    assembly {\n                        revert(add(32, reason), mload(reason))\n                    }\n                }\n            }\n        }\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Burnable.sol)\n\npragma solidity ^0.8.20;\n\nimport {ERC721Upgradeable} from \"../ERC721Upgradeable.sol\";\nimport {ContextUpgradeable} from \"../../../utils/ContextUpgradeable.sol\";\nimport {Initializable} from \"../../../proxy/utils/Initializable.sol\";\n\n/**\n * @title ERC721 Burnable Token\n * @dev ERC721 Token that can be burned (destroyed).\n */\nabstract contract ERC721BurnableUpgradeable is Initializable, ContextUpgradeable, ERC721Upgradeable {\n    function __ERC721Burnable_init() internal onlyInitializing {\n    }\n\n    function __ERC721Burnable_init_unchained() internal onlyInitializing {\n    }\n    /**\n     * @dev Burns `tokenId`. See {ERC721-_burn}.\n     *\n     * Requirements:\n     *\n     * - The caller must own `tokenId` or be an approved operator.\n     */\n    function burn(uint256 tokenId) public virtual {\n        // Setting an \"auth\" arguments enables the `_isAuthorized` check which verifies that the token exists\n        // (from != 0). Therefore, it is not needed to verify that the return value is not 0 here.\n        _update(address(0), tokenId, _msgSender());\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Enumerable.sol)\n\npragma solidity ^0.8.20;\n\nimport {ERC721Upgradeable} from \"../ERC721Upgradeable.sol\";\nimport {IERC721Enumerable} from \"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\";\nimport {IERC165} from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport {Initializable} from \"../../../proxy/utils/Initializable.sol\";\n\n/**\n * @dev This implements an optional extension of {ERC721} defined in the EIP that adds enumerability\n * of all the token ids in the contract as well as all token ids owned by each account.\n *\n * CAUTION: `ERC721` extensions that implement custom `balanceOf` logic, such as `ERC721Consecutive`,\n * interfere with enumerability and should not be used together with `ERC721Enumerable`.\n */\nabstract contract ERC721EnumerableUpgradeable is Initializable, ERC721Upgradeable, IERC721Enumerable {\n    /// @custom:storage-location erc7201:openzeppelin.storage.ERC721Enumerable\n    struct ERC721EnumerableStorage {\n        mapping(address owner => mapping(uint256 index => uint256)) _ownedTokens;\n        mapping(uint256 tokenId => uint256) _ownedTokensIndex;\n\n        uint256[] _allTokens;\n        mapping(uint256 tokenId => uint256) _allTokensIndex;\n    }\n\n    // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.ERC721Enumerable\")) - 1)) & ~bytes32(uint256(0xff))\n    bytes32 private constant ERC721EnumerableStorageLocation = 0x645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed00;\n\n    function _getERC721EnumerableStorage() private pure returns (ERC721EnumerableStorage storage $) {\n        assembly {\n            $.slot := ERC721EnumerableStorageLocation\n        }\n    }\n\n    /**\n     * @dev An `owner`'s token query was out of bounds for `index`.\n     *\n     * NOTE: The owner being `address(0)` indicates a global out of bounds index.\n     */\n    error ERC721OutOfBoundsIndex(address owner, uint256 index);\n\n    /**\n     * @dev Batch mint is not allowed.\n     */\n    error ERC721EnumerableForbiddenBatchMint();\n\n    function __ERC721Enumerable_init() internal onlyInitializing {\n    }\n\n    function __ERC721Enumerable_init_unchained() internal onlyInitializing {\n    }\n    /**\n     * @dev See {IERC165-supportsInterface}.\n     */\n    function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721Upgradeable) returns (bool) {\n        return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId);\n    }\n\n    /**\n     * @dev See {IERC721Enumerable-tokenOfOwnerByIndex}.\n     */\n    function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual returns (uint256) {\n        ERC721EnumerableStorage storage $ = _getERC721EnumerableStorage();\n        if (index >= balanceOf(owner)) {\n            revert ERC721OutOfBoundsIndex(owner, index);\n        }\n        return $._ownedTokens[owner][index];\n    }\n\n    /**\n     * @dev See {IERC721Enumerable-totalSupply}.\n     */\n    function totalSupply() public view virtual returns (uint256) {\n        ERC721EnumerableStorage storage $ = _getERC721EnumerableStorage();\n        return $._allTokens.length;\n    }\n\n    /**\n     * @dev See {IERC721Enumerable-tokenByIndex}.\n     */\n    function tokenByIndex(uint256 index) public view virtual returns (uint256) {\n        ERC721EnumerableStorage storage $ = _getERC721EnumerableStorage();\n        if (index >= totalSupply()) {\n            revert ERC721OutOfBoundsIndex(address(0), index);\n        }\n        return $._allTokens[index];\n    }\n\n    /**\n     * @dev See {ERC721-_update}.\n     */\n    function _update(address to, uint256 tokenId, address auth) internal virtual override returns (address) {\n        address previousOwner = super._update(to, tokenId, auth);\n\n        if (previousOwner == address(0)) {\n            _addTokenToAllTokensEnumeration(tokenId);\n        } else if (previousOwner != to) {\n            _removeTokenFromOwnerEnumeration(previousOwner, tokenId);\n        }\n        if (to == address(0)) {\n            _removeTokenFromAllTokensEnumeration(tokenId);\n        } else if (previousOwner != to) {\n            _addTokenToOwnerEnumeration(to, tokenId);\n        }\n\n        return previousOwner;\n    }\n\n    /**\n     * @dev Private function to add a token to this extension's ownership-tracking data structures.\n     * @param to address representing the new owner of the given token ID\n     * @param tokenId uint256 ID of the token to be added to the tokens list of the given address\n     */\n    function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private {\n        ERC721EnumerableStorage storage $ = _getERC721EnumerableStorage();\n        uint256 length = balanceOf(to) - 1;\n        $._ownedTokens[to][length] = tokenId;\n        $._ownedTokensIndex[tokenId] = length;\n    }\n\n    /**\n     * @dev Private function to add a token to this extension's token tracking data structures.\n     * @param tokenId uint256 ID of the token to be added to the tokens list\n     */\n    function _addTokenToAllTokensEnumeration(uint256 tokenId) private {\n        ERC721EnumerableStorage storage $ = _getERC721EnumerableStorage();\n        $._allTokensIndex[tokenId] = $._allTokens.length;\n        $._allTokens.push(tokenId);\n    }\n\n    /**\n     * @dev Private function to remove a token from this extension's ownership-tracking data structures. Note that\n     * while the token is not assigned a new owner, the `_ownedTokensIndex` mapping is _not_ updated: this allows for\n     * gas optimizations e.g. when performing a transfer operation (avoiding double writes).\n     * This has O(1) time complexity, but alters the order of the _ownedTokens array.\n     * @param from address representing the previous owner of the given token ID\n     * @param tokenId uint256 ID of the token to be removed from the tokens list of the given address\n     */\n    function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private {\n        ERC721EnumerableStorage storage $ = _getERC721EnumerableStorage();\n        // To prevent a gap in from's tokens array, we store the last token in the index of the token to delete, and\n        // then delete the last slot (swap and pop).\n\n        uint256 lastTokenIndex = balanceOf(from);\n        uint256 tokenIndex = $._ownedTokensIndex[tokenId];\n\n        // When the token to delete is the last token, the swap operation is unnecessary\n        if (tokenIndex != lastTokenIndex) {\n            uint256 lastTokenId = $._ownedTokens[from][lastTokenIndex];\n\n            $._ownedTokens[from][tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token\n            $._ownedTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index\n        }\n\n        // This also deletes the contents at the last position of the array\n        delete $._ownedTokensIndex[tokenId];\n        delete $._ownedTokens[from][lastTokenIndex];\n    }\n\n    /**\n     * @dev Private function to remove a token from this extension's token tracking data structures.\n     * This has O(1) time complexity, but alters the order of the _allTokens array.\n     * @param tokenId uint256 ID of the token to be removed from the tokens list\n     */\n    function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private {\n        ERC721EnumerableStorage storage $ = _getERC721EnumerableStorage();\n        // To prevent a gap in the tokens array, we store the last token in the index of the token to delete, and\n        // then delete the last slot (swap and pop).\n\n        uint256 lastTokenIndex = $._allTokens.length - 1;\n        uint256 tokenIndex = $._allTokensIndex[tokenId];\n\n        // When the token to delete is the last token, the swap operation is unnecessary. However, since this occurs so\n        // rarely (when the last minted token is burnt) that we still do the swap here to avoid the gas cost of adding\n        // an 'if' statement (like in _removeTokenFromOwnerEnumeration)\n        uint256 lastTokenId = $._allTokens[lastTokenIndex];\n\n        $._allTokens[tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token\n        $._allTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index\n\n        // This also deletes the contents at the last position of the array\n        delete $._allTokensIndex[tokenId];\n        $._allTokens.pop();\n    }\n\n    /**\n     * See {ERC721-_increaseBalance}. We need that to account tokens that were minted in batch\n     */\n    function _increaseBalance(address account, uint128 amount) internal virtual override {\n        if (amount > 0) {\n            revert ERC721EnumerableForbiddenBatchMint();\n        }\n        super._increaseBalance(account, amount);\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Pausable.sol)\n\npragma solidity ^0.8.20;\n\nimport {ERC721Upgradeable} from \"../ERC721Upgradeable.sol\";\nimport {PausableUpgradeable} from \"../../../utils/PausableUpgradeable.sol\";\nimport {Initializable} from \"../../../proxy/utils/Initializable.sol\";\n\n/**\n * @dev ERC721 token with pausable token transfers, minting and burning.\n *\n * Useful for scenarios such as preventing trades until the end of an evaluation\n * period, or having an emergency switch for freezing all token transfers in the\n * event of a large bug.\n *\n * IMPORTANT: This contract does not include public pause and unpause functions. In\n * addition to inheriting this contract, you must define both functions, invoking the\n * {Pausable-_pause} and {Pausable-_unpause} internal functions, with appropriate\n * access control, e.g. using {AccessControl} or {Ownable}. Not doing so will\n * make the contract pause mechanism of the contract unreachable, and thus unusable.\n */\nabstract contract ERC721PausableUpgradeable is Initializable, ERC721Upgradeable, PausableUpgradeable {\n    function __ERC721Pausable_init() internal onlyInitializing {\n        __Pausable_init_unchained();\n    }\n\n    function __ERC721Pausable_init_unchained() internal onlyInitializing {\n    }\n    /**\n     * @dev See {ERC721-_update}.\n     *\n     * Requirements:\n     *\n     * - the contract must not be paused.\n     */\n    function _update(\n        address to,\n        uint256 tokenId,\n        address auth\n    ) internal virtual override whenNotPaused returns (address) {\n        return super._update(to, tokenId, auth);\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721URIStorage.sol)\n\npragma solidity ^0.8.20;\n\nimport {ERC721Upgradeable} from \"../ERC721Upgradeable.sol\";\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\nimport {IERC4906} from \"@openzeppelin/contracts/interfaces/IERC4906.sol\";\nimport {IERC165} from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport {Initializable} from \"../../../proxy/utils/Initializable.sol\";\n\n/**\n * @dev ERC721 token with storage based token URI management.\n */\nabstract contract ERC721URIStorageUpgradeable is Initializable, IERC4906, ERC721Upgradeable {\n    using Strings for uint256;\n\n    // Interface ID as defined in ERC-4906. This does not correspond to a traditional interface ID as ERC-4906 only\n    // defines events and does not include any external function.\n    bytes4 private constant ERC4906_INTERFACE_ID = bytes4(0x49064906);\n\n    /// @custom:storage-location erc7201:openzeppelin.storage.ERC721URIStorage\n    struct ERC721URIStorageStorage {\n        // Optional mapping for token URIs\n        mapping(uint256 tokenId => string) _tokenURIs;\n    }\n\n    // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.ERC721URIStorage\")) - 1)) & ~bytes32(uint256(0xff))\n    bytes32 private constant ERC721URIStorageStorageLocation = 0x0542a41881ee128a365a727b282c86fa859579490b9bb45aab8503648c8e7900;\n\n    function _getERC721URIStorageStorage() private pure returns (ERC721URIStorageStorage storage $) {\n        assembly {\n            $.slot := ERC721URIStorageStorageLocation\n        }\n    }\n\n    function __ERC721URIStorage_init() internal onlyInitializing {\n    }\n\n    function __ERC721URIStorage_init_unchained() internal onlyInitializing {\n    }\n    /**\n     * @dev See {IERC165-supportsInterface}\n     */\n    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC721Upgradeable, IERC165) returns (bool) {\n        return interfaceId == ERC4906_INTERFACE_ID || super.supportsInterface(interfaceId);\n    }\n\n    /**\n     * @dev See {IERC721Metadata-tokenURI}.\n     */\n    function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n        ERC721URIStorageStorage storage $ = _getERC721URIStorageStorage();\n        _requireOwned(tokenId);\n\n        string memory _tokenURI = $._tokenURIs[tokenId];\n        string memory base = _baseURI();\n\n        // If there is no base URI, return the token URI.\n        if (bytes(base).length == 0) {\n            return _tokenURI;\n        }\n        // If both are set, concatenate the baseURI and tokenURI (via string.concat).\n        if (bytes(_tokenURI).length > 0) {\n            return string.concat(base, _tokenURI);\n        }\n\n        return super.tokenURI(tokenId);\n    }\n\n    /**\n     * @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n     *\n     * Emits {MetadataUpdate}.\n     */\n    function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n        ERC721URIStorageStorage storage $ = _getERC721URIStorageStorage();\n        $._tokenURIs[tokenId] = _tokenURI;\n        emit MetadataUpdate(tokenId);\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/utils/ERC721Holder.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC721Receiver} from \"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\";\nimport {Initializable} from \"../../../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Implementation of the {IERC721Receiver} interface.\n *\n * Accepts all token transfers.\n * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or\n * {IERC721-setApprovalForAll}.\n */\nabstract contract ERC721HolderUpgradeable is Initializable, IERC721Receiver {\n    function __ERC721Holder_init() internal onlyInitializing {\n    }\n\n    function __ERC721Holder_init_unchained() internal onlyInitializing {\n    }\n    /**\n     * @dev See {IERC721Receiver-onERC721Received}.\n     *\n     * Always returns `IERC721Receiver.onERC721Received.selector`.\n     */\n    function onERC721Received(address, address, uint256, bytes memory) public virtual returns (bytes4) {\n        return this.onERC721Received.selector;\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract ContextUpgradeable is Initializable {\n    function __Context_init() internal onlyInitializing {\n    }\n\n    function __Context_init_unchained() internal onlyInitializing {\n    }\n    function _msgSender() internal view virtual returns (address) {\n        return msg.sender;\n    }\n\n    function _msgData() internal view virtual returns (bytes calldata) {\n        return msg.data;\n    }\n\n    function _contextSuffixLength() internal view virtual returns (uint256) {\n        return 0;\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport {Initializable} from \"../../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n *     return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n */\nabstract contract ERC165Upgradeable is Initializable, IERC165 {\n    function __ERC165_init() internal onlyInitializing {\n    }\n\n    function __ERC165_init_unchained() internal onlyInitializing {\n    }\n    /**\n     * @dev See {IERC165-supportsInterface}.\n     */\n    function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {\n        return interfaceId == type(IERC165).interfaceId;\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Pausable.sol)\n\npragma solidity ^0.8.20;\n\nimport {ContextUpgradeable} from \"../utils/ContextUpgradeable.sol\";\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Contract module which allows children to implement an emergency stop\n * mechanism that can be triggered by an authorized account.\n *\n * This module is used through inheritance. It will make available the\n * modifiers `whenNotPaused` and `whenPaused`, which can be applied to\n * the functions of your contract. Note that they will not be pausable by\n * simply including this module, only once the modifiers are put in place.\n */\nabstract contract PausableUpgradeable is Initializable, ContextUpgradeable {\n    /// @custom:storage-location erc7201:openzeppelin.storage.Pausable\n    struct PausableStorage {\n        bool _paused;\n    }\n\n    // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.Pausable\")) - 1)) & ~bytes32(uint256(0xff))\n    bytes32 private constant PausableStorageLocation = 0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300;\n\n    function _getPausableStorage() private pure returns (PausableStorage storage $) {\n        assembly {\n            $.slot := PausableStorageLocation\n        }\n    }\n\n    /**\n     * @dev Emitted when the pause is triggered by `account`.\n     */\n    event Paused(address account);\n\n    /**\n     * @dev Emitted when the pause is lifted by `account`.\n     */\n    event Unpaused(address account);\n\n    /**\n     * @dev The operation failed because the contract is paused.\n     */\n    error EnforcedPause();\n\n    /**\n     * @dev The operation failed because the contract is not paused.\n     */\n    error ExpectedPause();\n\n    /**\n     * @dev Initializes the contract in unpaused state.\n     */\n    function __Pausable_init() internal onlyInitializing {\n        __Pausable_init_unchained();\n    }\n\n    function __Pausable_init_unchained() internal onlyInitializing {\n        PausableStorage storage $ = _getPausableStorage();\n        $._paused = false;\n    }\n\n    /**\n     * @dev Modifier to make a function callable only when the contract is not paused.\n     *\n     * Requirements:\n     *\n     * - The contract must not be paused.\n     */\n    modifier whenNotPaused() {\n        _requireNotPaused();\n        _;\n    }\n\n    /**\n     * @dev Modifier to make a function callable only when the contract is paused.\n     *\n     * Requirements:\n     *\n     * - The contract must be paused.\n     */\n    modifier whenPaused() {\n        _requirePaused();\n        _;\n    }\n\n    /**\n     * @dev Returns true if the contract is paused, and false otherwise.\n     */\n    function paused() public view virtual returns (bool) {\n        PausableStorage storage $ = _getPausableStorage();\n        return $._paused;\n    }\n\n    /**\n     * @dev Throws if the contract is paused.\n     */\n    function _requireNotPaused() internal view virtual {\n        if (paused()) {\n            revert EnforcedPause();\n        }\n    }\n\n    /**\n     * @dev Throws if the contract is not paused.\n     */\n    function _requirePaused() internal view virtual {\n        if (!paused()) {\n            revert ExpectedPause();\n        }\n    }\n\n    /**\n     * @dev Triggers stopped state.\n     *\n     * Requirements:\n     *\n     * - The contract must not be paused.\n     */\n    function _pause() internal virtual whenNotPaused {\n        PausableStorage storage $ = _getPausableStorage();\n        $._paused = true;\n        emit Paused(_msgSender());\n    }\n\n    /**\n     * @dev Returns to normal state.\n     *\n     * Requirements:\n     *\n     * - The contract must be paused.\n     */\n    function _unpause() internal virtual whenPaused {\n        PausableStorage storage $ = _getPausableStorage();\n        $._paused = false;\n        emit Unpaused(_msgSender());\n    }\n}\n"},"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/ReentrancyGuard.sol)\n\npragma solidity ^0.8.20;\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Contract module that helps prevent reentrant calls to a function.\n *\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n * available, which can be applied to functions to make sure there are no nested\n * (reentrant) calls to them.\n *\n * Note that because there is a single `nonReentrant` guard, functions marked as\n * `nonReentrant` may not call one another. This can be worked around by making\n * those functions `private`, and then adding `external` `nonReentrant` entry\n * points to them.\n *\n * TIP: If you would like to learn more about reentrancy and alternative ways\n * to protect against it, check out our blog post\n * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n */\nabstract contract ReentrancyGuardUpgradeable is Initializable {\n    // Booleans are more expensive than uint256 or any type that takes up a full\n    // word because each write operation emits an extra SLOAD to first read the\n    // slot's contents, replace the bits taken up by the boolean, and then write\n    // back. This is the compiler's defense against contract upgrades and\n    // pointer aliasing, and it cannot be disabled.\n\n    // The values being non-zero value makes deployment a bit more expensive,\n    // but in exchange the refund on every call to nonReentrant will be lower in\n    // amount. Since refunds are capped to a percentage of the total\n    // transaction's gas, it is best to keep them low in cases like this one, to\n    // increase the likelihood of the full refund coming into effect.\n    uint256 private constant NOT_ENTERED = 1;\n    uint256 private constant ENTERED = 2;\n\n    /// @custom:storage-location erc7201:openzeppelin.storage.ReentrancyGuard\n    struct ReentrancyGuardStorage {\n        uint256 _status;\n    }\n\n    // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.ReentrancyGuard\")) - 1)) & ~bytes32(uint256(0xff))\n    bytes32 private constant ReentrancyGuardStorageLocation = 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00;\n\n    function _getReentrancyGuardStorage() private pure returns (ReentrancyGuardStorage storage $) {\n        assembly {\n            $.slot := ReentrancyGuardStorageLocation\n        }\n    }\n\n    /**\n     * @dev Unauthorized reentrant call.\n     */\n    error ReentrancyGuardReentrantCall();\n\n    function __ReentrancyGuard_init() internal onlyInitializing {\n        __ReentrancyGuard_init_unchained();\n    }\n\n    function __ReentrancyGuard_init_unchained() internal onlyInitializing {\n        ReentrancyGuardStorage storage $ = _getReentrancyGuardStorage();\n        $._status = NOT_ENTERED;\n    }\n\n    /**\n     * @dev Prevents a contract from calling itself, directly or indirectly.\n     * Calling a `nonReentrant` function from another `nonReentrant`\n     * function is not supported. It is possible to prevent this from happening\n     * by making the `nonReentrant` function external, and making it call a\n     * `private` function that does the actual work.\n     */\n    modifier nonReentrant() {\n        _nonReentrantBefore();\n        _;\n        _nonReentrantAfter();\n    }\n\n    function _nonReentrantBefore() private {\n        ReentrancyGuardStorage storage $ = _getReentrancyGuardStorage();\n        // On the first call to nonReentrant, _status will be NOT_ENTERED\n        if ($._status == ENTERED) {\n            revert ReentrancyGuardReentrantCall();\n        }\n\n        // Any calls to nonReentrant after this point will fail\n        $._status = ENTERED;\n    }\n\n    function _nonReentrantAfter() private {\n        ReentrancyGuardStorage storage $ = _getReentrancyGuardStorage();\n        // By storing the original value once again, a refund is triggered (see\n        // https://eips.ethereum.org/EIPS/eip-2200)\n        $._status = NOT_ENTERED;\n    }\n\n    /**\n     * @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n     * `nonReentrant` function in the call stack.\n     */\n    function _reentrancyGuardEntered() internal view returns (bool) {\n        ReentrancyGuardStorage storage $ = _getReentrancyGuardStorage();\n        return $._status == ENTERED;\n    }\n}\n"},"@openzeppelin/contracts/access/IAccessControl.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/IAccessControl.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n    /**\n     * @dev The `account` is missing a role.\n     */\n    error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n    /**\n     * @dev The caller of a function is not the expected one.\n     *\n     * NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\n     */\n    error AccessControlBadConfirmation();\n\n    /**\n     * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n     *\n     * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n     * {RoleAdminChanged} not being emitted signaling this.\n     */\n    event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n    /**\n     * @dev Emitted when `account` is granted `role`.\n     *\n     * `sender` is the account that originated the contract call, an admin role\n     * bearer except when using {AccessControl-_setupRole}.\n     */\n    event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n    /**\n     * @dev Emitted when `account` is revoked `role`.\n     *\n     * `sender` is the account that originated the contract call:\n     *   - if using `revokeRole`, it is the admin role bearer\n     *   - if using `renounceRole`, it is the role bearer (i.e. `account`)\n     */\n    event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n    /**\n     * @dev Returns `true` if `account` has been granted `role`.\n     */\n    function hasRole(bytes32 role, address account) external view returns (bool);\n\n    /**\n     * @dev Returns the admin role that controls `role`. See {grantRole} and\n     * {revokeRole}.\n     *\n     * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n     */\n    function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n    /**\n     * @dev Grants `role` to `account`.\n     *\n     * If `account` had not been already granted `role`, emits a {RoleGranted}\n     * event.\n     *\n     * Requirements:\n     *\n     * - the caller must have ``role``'s admin role.\n     */\n    function grantRole(bytes32 role, address account) external;\n\n    /**\n     * @dev Revokes `role` from `account`.\n     *\n     * If `account` had been granted `role`, emits a {RoleRevoked} event.\n     *\n     * Requirements:\n     *\n     * - the caller must have ``role``'s admin role.\n     */\n    function revokeRole(bytes32 role, address account) external;\n\n    /**\n     * @dev Revokes `role` from the calling account.\n     *\n     * Roles are often managed via {grantRole} and {revokeRole}: this function's\n     * purpose is to provide a mechanism for accounts to lose their privileges\n     * if they are compromised (such as when a trusted device is misplaced).\n     *\n     * If the calling account had been granted `role`, emits a {RoleRevoked}\n     * event.\n     *\n     * Requirements:\n     *\n     * - the caller must be `callerConfirmation`.\n     */\n    function renounceRole(bytes32 role, address callerConfirmation) external;\n}\n"},"@openzeppelin/contracts/governance/utils/IVotes.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (governance/utils/IVotes.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts.\n */\ninterface IVotes {\n    /**\n     * @dev The signature used has expired.\n     */\n    error VotesExpiredSignature(uint256 expiry);\n\n    /**\n     * @dev Emitted when an account changes their delegate.\n     */\n    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);\n\n    /**\n     * @dev Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\n     */\n    event DelegateVotesChanged(address indexed delegate, uint256 previousVotes, uint256 newVotes);\n\n    /**\n     * @dev Returns the current amount of votes that `account` has.\n     */\n    function getVotes(address account) external view returns (uint256);\n\n    /**\n     * @dev Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is\n     * configured to use block numbers, this will return the value at the end of the corresponding block.\n     */\n    function getPastVotes(address account, uint256 timepoint) external view returns (uint256);\n\n    /**\n     * @dev Returns the total supply of votes available at a specific moment in the past. If the `clock()` is\n     * configured to use block numbers, this will return the value at the end of the corresponding block.\n     *\n     * NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n     * Votes that have not been delegated are still part of total supply, even though they would not participate in a\n     * vote.\n     */\n    function getPastTotalSupply(uint256 timepoint) external view returns (uint256);\n\n    /**\n     * @dev Returns the delegate that `account` has chosen.\n     */\n    function delegates(address account) external view returns (address);\n\n    /**\n     * @dev Delegates votes from the sender to `delegatee`.\n     */\n    function delegate(address delegatee) external;\n\n    /**\n     * @dev Delegates votes from signer to `delegatee`.\n     */\n    function delegateBySig(address delegatee, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) external;\n}\n"},"@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n    /**\n     * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n     * address.\n     *\n     * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n     * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n     * function revert if invoked through a proxy.\n     */\n    function proxiableUUID() external view returns (bytes32);\n}\n"},"@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC6093.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard ERC20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens.\n */\ninterface IERC20Errors {\n    /**\n     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     * @param balance Current balance for the interacting account.\n     * @param needed Minimum amount required to perform a transfer.\n     */\n    error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n    /**\n     * @dev Indicates a failure with the token `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     */\n    error ERC20InvalidSender(address sender);\n\n    /**\n     * @dev Indicates a failure with the token `receiver`. Used in transfers.\n     * @param receiver Address to which tokens are being transferred.\n     */\n    error ERC20InvalidReceiver(address receiver);\n\n    /**\n     * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n     * @param spender Address that may be allowed to operate on tokens without being their owner.\n     * @param allowance Amount of tokens a `spender` is allowed to operate with.\n     * @param needed Minimum amount required to perform a transfer.\n     */\n    error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n    /**\n     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n     * @param approver Address initiating an approval operation.\n     */\n    error ERC20InvalidApprover(address approver);\n\n    /**\n     * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n     * @param spender Address that may be allowed to operate on tokens without being their owner.\n     */\n    error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens.\n */\ninterface IERC721Errors {\n    /**\n     * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20.\n     * Used in balance queries.\n     * @param owner Address of the current owner of a token.\n     */\n    error ERC721InvalidOwner(address owner);\n\n    /**\n     * @dev Indicates a `tokenId` whose `owner` is the zero address.\n     * @param tokenId Identifier number of a token.\n     */\n    error ERC721NonexistentToken(uint256 tokenId);\n\n    /**\n     * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     * @param tokenId Identifier number of a token.\n     * @param owner Address of the current owner of a token.\n     */\n    error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n    /**\n     * @dev Indicates a failure with the token `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     */\n    error ERC721InvalidSender(address sender);\n\n    /**\n     * @dev Indicates a failure with the token `receiver`. Used in transfers.\n     * @param receiver Address to which tokens are being transferred.\n     */\n    error ERC721InvalidReceiver(address receiver);\n\n    /**\n     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     * @param tokenId Identifier number of a token.\n     */\n    error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n    /**\n     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n     * @param approver Address initiating an approval operation.\n     */\n    error ERC721InvalidApprover(address approver);\n\n    /**\n     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     */\n    error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens.\n */\ninterface IERC1155Errors {\n    /**\n     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     * @param balance Current balance for the interacting account.\n     * @param needed Minimum amount required to perform a transfer.\n     * @param tokenId Identifier number of a token.\n     */\n    error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n    /**\n     * @dev Indicates a failure with the token `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     */\n    error ERC1155InvalidSender(address sender);\n\n    /**\n     * @dev Indicates a failure with the token `receiver`. Used in transfers.\n     * @param receiver Address to which tokens are being transferred.\n     */\n    error ERC1155InvalidReceiver(address receiver);\n\n    /**\n     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     * @param owner Address of the current owner of a token.\n     */\n    error ERC1155MissingApprovalForAll(address operator, address owner);\n\n    /**\n     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n     * @param approver Address initiating an approval operation.\n     */\n    error ERC1155InvalidApprover(address approver);\n\n    /**\n     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     */\n    error ERC1155InvalidOperator(address operator);\n\n    /**\n     * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n     * Used in batch transfers.\n     * @param idsLength Length of the array of token identifiers\n     * @param valuesLength Length of the array of token amounts\n     */\n    error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n"},"@openzeppelin/contracts/interfaces/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC165.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"../utils/introspection/IERC165.sol\";\n"},"@openzeppelin/contracts/interfaces/IERC4906.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC4906.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"./IERC165.sol\";\nimport {IERC721} from \"./IERC721.sol\";\n\n/// @title EIP-721 Metadata Update Extension\ninterface IERC4906 is IERC165, IERC721 {\n    /// @dev This event emits when the metadata of a token is changed.\n    /// So that the third-party platforms such as NFT market could\n    /// timely update the images and related attributes of the NFT.\n    event MetadataUpdate(uint256 _tokenId);\n\n    /// @dev This event emits when the metadata of a range of tokens is changed.\n    /// So that the third-party platforms such as NFT market could\n    /// timely update the images and related attributes of the NFTs.\n    event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId);\n}\n"},"@openzeppelin/contracts/interfaces/IERC5805.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC5805.sol)\n\npragma solidity ^0.8.20;\n\nimport {IVotes} from \"../governance/utils/IVotes.sol\";\nimport {IERC6372} from \"./IERC6372.sol\";\n\ninterface IERC5805 is IERC6372, IVotes {}\n"},"@openzeppelin/contracts/interfaces/IERC6372.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC6372.sol)\n\npragma solidity ^0.8.20;\n\ninterface IERC6372 {\n    /**\n     * @dev Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\n     */\n    function clock() external view returns (uint48);\n\n    /**\n     * @dev Description of the clock\n     */\n    // solhint-disable-next-line func-name-mixedcase\n    function CLOCK_MODE() external view returns (string memory);\n}\n"},"@openzeppelin/contracts/interfaces/IERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC721} from \"../token/ERC721/IERC721.sol\";\n"},"@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (proxy/beacon/IBeacon.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n    /**\n     * @dev Must return an address that can be used as a delegate call target.\n     *\n     * {UpgradeableBeacon} will check that this address is a contract.\n     */\n    function implementation() external view returns (address);\n}\n"},"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (proxy/ERC1967/ERC1967Utils.sol)\n\npragma solidity ^0.8.20;\n\nimport {IBeacon} from \"../beacon/IBeacon.sol\";\nimport {Address} from \"../../utils/Address.sol\";\nimport {StorageSlot} from \"../../utils/StorageSlot.sol\";\n\n/**\n * @dev This abstract contract provides getters and event emitting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.\n */\nlibrary ERC1967Utils {\n    // We re-declare ERC-1967 events here because they can't be used directly from IERC1967.\n    // This will be fixed in Solidity 0.8.21. At that point we should remove these events.\n    /**\n     * @dev Emitted when the implementation is upgraded.\n     */\n    event Upgraded(address indexed implementation);\n\n    /**\n     * @dev Emitted when the admin account has changed.\n     */\n    event AdminChanged(address previousAdmin, address newAdmin);\n\n    /**\n     * @dev Emitted when the beacon is changed.\n     */\n    event BeaconUpgraded(address indexed beacon);\n\n    /**\n     * @dev Storage slot with the address of the current implementation.\n     * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1.\n     */\n    // solhint-disable-next-line private-vars-leading-underscore\n    bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n    /**\n     * @dev The `implementation` of the proxy is invalid.\n     */\n    error ERC1967InvalidImplementation(address implementation);\n\n    /**\n     * @dev The `admin` of the proxy is invalid.\n     */\n    error ERC1967InvalidAdmin(address admin);\n\n    /**\n     * @dev The `beacon` of the proxy is invalid.\n     */\n    error ERC1967InvalidBeacon(address beacon);\n\n    /**\n     * @dev An upgrade function sees `msg.value > 0` that may be lost.\n     */\n    error ERC1967NonPayable();\n\n    /**\n     * @dev Returns the current implementation address.\n     */\n    function getImplementation() internal view returns (address) {\n        return StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value;\n    }\n\n    /**\n     * @dev Stores a new address in the EIP1967 implementation slot.\n     */\n    function _setImplementation(address newImplementation) private {\n        if (newImplementation.code.length == 0) {\n            revert ERC1967InvalidImplementation(newImplementation);\n        }\n        StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value = newImplementation;\n    }\n\n    /**\n     * @dev Performs implementation upgrade with additional setup call if data is nonempty.\n     * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n     * to avoid stuck value in the contract.\n     *\n     * Emits an {IERC1967-Upgraded} event.\n     */\n    function upgradeToAndCall(address newImplementation, bytes memory data) internal {\n        _setImplementation(newImplementation);\n        emit Upgraded(newImplementation);\n\n        if (data.length > 0) {\n            Address.functionDelegateCall(newImplementation, data);\n        } else {\n            _checkNonPayable();\n        }\n    }\n\n    /**\n     * @dev Storage slot with the admin of the contract.\n     * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1.\n     */\n    // solhint-disable-next-line private-vars-leading-underscore\n    bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n    /**\n     * @dev Returns the current admin.\n     *\n     * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using\n     * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n     * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\n     */\n    function getAdmin() internal view returns (address) {\n        return StorageSlot.getAddressSlot(ADMIN_SLOT).value;\n    }\n\n    /**\n     * @dev Stores a new address in the EIP1967 admin slot.\n     */\n    function _setAdmin(address newAdmin) private {\n        if (newAdmin == address(0)) {\n            revert ERC1967InvalidAdmin(address(0));\n        }\n        StorageSlot.getAddressSlot(ADMIN_SLOT).value = newAdmin;\n    }\n\n    /**\n     * @dev Changes the admin of the proxy.\n     *\n     * Emits an {IERC1967-AdminChanged} event.\n     */\n    function changeAdmin(address newAdmin) internal {\n        emit AdminChanged(getAdmin(), newAdmin);\n        _setAdmin(newAdmin);\n    }\n\n    /**\n     * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n     * This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1.\n     */\n    // solhint-disable-next-line private-vars-leading-underscore\n    bytes32 internal constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n    /**\n     * @dev Returns the current beacon.\n     */\n    function getBeacon() internal view returns (address) {\n        return StorageSlot.getAddressSlot(BEACON_SLOT).value;\n    }\n\n    /**\n     * @dev Stores a new beacon in the EIP1967 beacon slot.\n     */\n    function _setBeacon(address newBeacon) private {\n        if (newBeacon.code.length == 0) {\n            revert ERC1967InvalidBeacon(newBeacon);\n        }\n\n        StorageSlot.getAddressSlot(BEACON_SLOT).value = newBeacon;\n\n        address beaconImplementation = IBeacon(newBeacon).implementation();\n        if (beaconImplementation.code.length == 0) {\n            revert ERC1967InvalidImplementation(beaconImplementation);\n        }\n    }\n\n    /**\n     * @dev Change the beacon and trigger a setup call if data is nonempty.\n     * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n     * to avoid stuck value in the contract.\n     *\n     * Emits an {IERC1967-BeaconUpgraded} event.\n     *\n     * CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n     * it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n     * efficiency.\n     */\n    function upgradeBeaconToAndCall(address newBeacon, bytes memory data) internal {\n        _setBeacon(newBeacon);\n        emit BeaconUpgraded(newBeacon);\n\n        if (data.length > 0) {\n            Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n        } else {\n            _checkNonPayable();\n        }\n    }\n\n    /**\n     * @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n     * if an upgrade doesn't perform an initialization call.\n     */\n    function _checkNonPayable() private {\n        if (msg.value > 0) {\n            revert ERC1967NonPayable();\n        }\n    }\n}\n"},"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/IERC1155Receiver.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Interface that must be implemented by smart contracts in order to receive\n * ERC-1155 token transfers.\n */\ninterface IERC1155Receiver is IERC165 {\n    /**\n     * @dev Handles the receipt of a single ERC1155 token type. This function is\n     * called at the end of a `safeTransferFrom` after the balance has been updated.\n     *\n     * NOTE: To accept the transfer, this must return\n     * `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n     * (i.e. 0xf23a6e61, or its own function selector).\n     *\n     * @param operator The address which initiated the transfer (i.e. msg.sender)\n     * @param from The address which previously owned the token\n     * @param id The ID of the token being transferred\n     * @param value The amount of tokens being transferred\n     * @param data Additional data with no specified format\n     * @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed\n     */\n    function onERC1155Received(\n        address operator,\n        address from,\n        uint256 id,\n        uint256 value,\n        bytes calldata data\n    ) external returns (bytes4);\n\n    /**\n     * @dev Handles the receipt of a multiple ERC1155 token types. This function\n     * is called at the end of a `safeBatchTransferFrom` after the balances have\n     * been updated.\n     *\n     * NOTE: To accept the transfer(s), this must return\n     * `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n     * (i.e. 0xbc197c81, or its own function selector).\n     *\n     * @param operator The address which initiated the batch transfer (i.e. msg.sender)\n     * @param from The address which previously owned the token\n     * @param ids An array containing ids of each token being transferred (order and length must match values array)\n     * @param values An array containing amounts of each token being transferred (order and length must match ids array)\n     * @param data Additional data with no specified format\n     * @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed\n     */\n    function onERC1155BatchReceived(\n        address operator,\n        address from,\n        uint256[] calldata ids,\n        uint256[] calldata values,\n        bytes calldata data\n    ) external returns (bytes4);\n}\n"},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n    /**\n     * @dev Emitted when `value` tokens are moved from one account (`from`) to\n     * another (`to`).\n     *\n     * Note that `value` may be zero.\n     */\n    event Transfer(address indexed from, address indexed to, uint256 value);\n\n    /**\n     * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n     * a call to {approve}. `value` is the new allowance.\n     */\n    event Approval(address indexed owner, address indexed spender, uint256 value);\n\n    /**\n     * @dev Returns the value of tokens in existence.\n     */\n    function totalSupply() external view returns (uint256);\n\n    /**\n     * @dev Returns the value of tokens owned by `account`.\n     */\n    function balanceOf(address account) external view returns (uint256);\n\n    /**\n     * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transfer(address to, uint256 value) external returns (bool);\n\n    /**\n     * @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     *\n     * This value changes when {approve} or {transferFrom} are called.\n     */\n    function allowance(address owner, address spender) external view returns (uint256);\n\n    /**\n     * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n     * caller's tokens.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\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     *\n     * Emits an {Approval} event.\n     */\n    function approve(address spender, uint256 value) external returns (bool);\n\n    /**\n     * @dev Moves a `value` amount of tokens from `from` to `to` using the\n     * allowance mechanism. `value` is then deducted from the caller's\n     * allowance.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n"},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/IERC721Enumerable.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC721} from \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Enumerable is IERC721 {\n    /**\n     * @dev Returns the total amount of tokens stored by the contract.\n     */\n    function totalSupply() external view returns (uint256);\n\n    /**\n     * @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n     * Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\n     */\n    function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);\n\n    /**\n     * @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n     * Use along with {totalSupply} to enumerate all tokens.\n     */\n    function tokenByIndex(uint256 index) external view returns (uint256);\n}\n"},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/IERC721Metadata.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC721} from \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Metadata is IERC721 {\n    /**\n     * @dev Returns the token collection name.\n     */\n    function name() external view returns (string memory);\n\n    /**\n     * @dev Returns the token collection symbol.\n     */\n    function symbol() external view returns (string memory);\n\n    /**\n     * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\n     */\n    function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n"},"@openzeppelin/contracts/token/ERC721/IERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n    /**\n     * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n     */\n    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n    /**\n     * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n     */\n    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n    /**\n     * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n     */\n    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n    /**\n     * @dev Returns the number of tokens in ``owner``'s account.\n     */\n    function balanceOf(address owner) external view returns (uint256 balance);\n\n    /**\n     * @dev Returns the owner of the `tokenId` token.\n     *\n     * Requirements:\n     *\n     * - `tokenId` must exist.\n     */\n    function ownerOf(uint256 tokenId) external view returns (address owner);\n\n    /**\n     * @dev Safely transfers `tokenId` token from `from` to `to`.\n     *\n     * Requirements:\n     *\n     * - `from` cannot be the zero address.\n     * - `to` cannot be the zero address.\n     * - `tokenId` token must exist and be owned by `from`.\n     * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon\n     *   a safe transfer.\n     *\n     * Emits a {Transfer} event.\n     */\n    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\n\n    /**\n     * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n     * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n     *\n     * Requirements:\n     *\n     * - `from` cannot be the zero address.\n     * - `to` cannot be the zero address.\n     * - `tokenId` token must exist and be owned by `from`.\n     * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or\n     *   {setApprovalForAll}.\n     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon\n     *   a safe transfer.\n     *\n     * Emits a {Transfer} event.\n     */\n    function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n    /**\n     * @dev Transfers `tokenId` token from `from` to `to`.\n     *\n     * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n     * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n     * understand this adds an external call which potentially creates a reentrancy vulnerability.\n     *\n     * Requirements:\n     *\n     * - `from` cannot be the zero address.\n     * - `to` cannot be the zero address.\n     * - `tokenId` token must be owned by `from`.\n     * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transferFrom(address from, address to, uint256 tokenId) external;\n\n    /**\n     * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n     * The approval is cleared when the token is transferred.\n     *\n     * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n     *\n     * Requirements:\n     *\n     * - The caller must own the token or be an approved operator.\n     * - `tokenId` must exist.\n     *\n     * Emits an {Approval} event.\n     */\n    function approve(address to, uint256 tokenId) external;\n\n    /**\n     * @dev Approve or remove `operator` as an operator for the caller.\n     * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n     *\n     * Requirements:\n     *\n     * - The `operator` cannot be the address zero.\n     *\n     * Emits an {ApprovalForAll} event.\n     */\n    function setApprovalForAll(address operator, bool approved) external;\n\n    /**\n     * @dev Returns the account approved for `tokenId` token.\n     *\n     * Requirements:\n     *\n     * - `tokenId` must exist.\n     */\n    function getApproved(uint256 tokenId) external view returns (address operator);\n\n    /**\n     * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n     *\n     * See {setApprovalForAll}\n     */\n    function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n"},"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721Receiver.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n    /**\n     * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n     * by `operator` from `from`, this function is called.\n     *\n     * It must return its Solidity selector to confirm the token transfer.\n     * If any other value is returned or the interface is not implemented by the recipient, the transfer will be\n     * reverted.\n     *\n     * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\n     */\n    function onERC721Received(\n        address operator,\n        address from,\n        uint256 tokenId,\n        bytes calldata data\n    ) external returns (bytes4);\n}\n"},"@openzeppelin/contracts/utils/Address.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Address.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n    /**\n     * @dev The ETH balance of the account is not enough to perform the operation.\n     */\n    error AddressInsufficientBalance(address account);\n\n    /**\n     * @dev There's no code at `target` (it is not a contract).\n     */\n    error AddressEmptyCode(address target);\n\n    /**\n     * @dev A call to an address target failed. The target may have reverted.\n     */\n    error FailedInnerCall();\n\n    /**\n     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n     * `recipient`, forwarding all available gas and reverting on errors.\n     *\n     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n     * of certain opcodes, possibly making contracts go over the 2300 gas limit\n     * imposed by `transfer`, making them unable to receive funds via\n     * `transfer`. {sendValue} removes this limitation.\n     *\n     * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n     *\n     * IMPORTANT: because control is transferred to `recipient`, care must be\n     * taken to not create reentrancy vulnerabilities. Consider using\n     * {ReentrancyGuard} or the\n     * https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n     */\n    function sendValue(address payable recipient, uint256 amount) internal {\n        if (address(this).balance < amount) {\n            revert AddressInsufficientBalance(address(this));\n        }\n\n        (bool success, ) = recipient.call{value: amount}(\"\");\n        if (!success) {\n            revert FailedInnerCall();\n        }\n    }\n\n    /**\n     * @dev Performs a Solidity function call using a low level `call`. A\n     * plain `call` is an unsafe replacement for a function call: use this\n     * function instead.\n     *\n     * If `target` reverts with a revert reason or custom error, it is bubbled\n     * up by this function (like regular Solidity function calls). However, if\n     * the call reverted with no returned reason, this function reverts with a\n     * {FailedInnerCall} error.\n     *\n     * Returns the raw returned data. To convert to the expected return value,\n     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n     *\n     * Requirements:\n     *\n     * - `target` must be a contract.\n     * - calling `target` with `data` must not revert.\n     */\n    function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n        return functionCallWithValue(target, data, 0);\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n     * but also transferring `value` wei to `target`.\n     *\n     * Requirements:\n     *\n     * - the calling contract must have an ETH balance of at least `value`.\n     * - the called Solidity function must be `payable`.\n     */\n    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n        if (address(this).balance < value) {\n            revert AddressInsufficientBalance(address(this));\n        }\n        (bool success, bytes memory returndata) = target.call{value: value}(data);\n        return verifyCallResultFromTarget(target, success, returndata);\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n     * but performing a static call.\n     */\n    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n        (bool success, bytes memory returndata) = target.staticcall(data);\n        return verifyCallResultFromTarget(target, success, returndata);\n    }\n\n    /**\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n     * but performing a delegate call.\n     */\n    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n        (bool success, bytes memory returndata) = target.delegatecall(data);\n        return verifyCallResultFromTarget(target, success, returndata);\n    }\n\n    /**\n     * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n     * was not a contract or bubbling up the revert reason (falling back to {FailedInnerCall}) in case of an\n     * unsuccessful call.\n     */\n    function verifyCallResultFromTarget(\n        address target,\n        bool success,\n        bytes memory returndata\n    ) internal view returns (bytes memory) {\n        if (!success) {\n            _revert(returndata);\n        } else {\n            // only check if target is a contract if the call was successful and the return data is empty\n            // otherwise we already know that it was a contract\n            if (returndata.length == 0 && target.code.length == 0) {\n                revert AddressEmptyCode(target);\n            }\n            return returndata;\n        }\n    }\n\n    /**\n     * @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n     * revert reason or with a default {FailedInnerCall} error.\n     */\n    function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {\n        if (!success) {\n            _revert(returndata);\n        } else {\n            return returndata;\n        }\n    }\n\n    /**\n     * @dev Reverts with returndata if present. Otherwise reverts with {FailedInnerCall}.\n     */\n    function _revert(bytes memory returndata) private pure {\n        // Look for revert reason and bubble it up if present\n        if (returndata.length > 0) {\n            // The easiest way to bubble the revert reason is using memory via assembly\n            /// @solidity memory-safe-assembly\n            assembly {\n                let returndata_size := mload(returndata)\n                revert(add(32, returndata), returndata_size)\n            }\n        } else {\n            revert FailedInnerCall();\n        }\n    }\n}\n"},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n    /**\n     * @dev Returns true if this contract implements the interface defined by\n     * `interfaceId`. See the corresponding\n     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n     * to learn more about how these ids are created.\n     *\n     * This function call must use less than 30 000 gas.\n     */\n    function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n"},"@openzeppelin/contracts/utils/math/Math.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n    /**\n     * @dev Muldiv operation overflow.\n     */\n    error MathOverflowedMulDiv();\n\n    enum Rounding {\n        Floor, // Toward negative infinity\n        Ceil, // Toward positive infinity\n        Trunc, // Toward zero\n        Expand // Away from zero\n    }\n\n    /**\n     * @dev Returns the addition of two unsigned integers, with an overflow flag.\n     */\n    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        unchecked {\n            uint256 c = a + b;\n            if (c < a) return (false, 0);\n            return (true, c);\n        }\n    }\n\n    /**\n     * @dev Returns the subtraction of two unsigned integers, with an overflow flag.\n     */\n    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        unchecked {\n            if (b > a) return (false, 0);\n            return (true, a - b);\n        }\n    }\n\n    /**\n     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n     */\n    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        unchecked {\n            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n            // benefit is lost if 'b' is also tested.\n            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n            if (a == 0) return (true, 0);\n            uint256 c = a * b;\n            if (c / a != b) return (false, 0);\n            return (true, c);\n        }\n    }\n\n    /**\n     * @dev Returns the division of two unsigned integers, with a division by zero flag.\n     */\n    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        unchecked {\n            if (b == 0) return (false, 0);\n            return (true, a / b);\n        }\n    }\n\n    /**\n     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n     */\n    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n        unchecked {\n            if (b == 0) return (false, 0);\n            return (true, a % b);\n        }\n    }\n\n    /**\n     * @dev Returns the largest of two numbers.\n     */\n    function max(uint256 a, uint256 b) internal pure returns (uint256) {\n        return a > b ? a : b;\n    }\n\n    /**\n     * @dev Returns the smallest of two numbers.\n     */\n    function min(uint256 a, uint256 b) internal pure returns (uint256) {\n        return a < b ? a : b;\n    }\n\n    /**\n     * @dev Returns the average of two numbers. The result is rounded towards\n     * zero.\n     */\n    function average(uint256 a, uint256 b) internal pure returns (uint256) {\n        // (a + b) / 2 can overflow.\n        return (a & b) + (a ^ b) / 2;\n    }\n\n    /**\n     * @dev Returns the ceiling of the division of two numbers.\n     *\n     * This differs from standard division with `/` in that it rounds towards infinity instead\n     * of rounding towards zero.\n     */\n    function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n        if (b == 0) {\n            // Guarantee the same behavior as in a regular Solidity division.\n            return a / b;\n        }\n\n        // (a + b - 1) / b can overflow on addition, so we distribute.\n        return a == 0 ? 0 : (a - 1) / b + 1;\n    }\n\n    /**\n     * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n     * denominator == 0.\n     * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n     * Uniswap Labs also under MIT license.\n     */\n    function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n        unchecked {\n            // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n            // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n            // variables such that product = prod1 * 2^256 + prod0.\n            uint256 prod0 = x * y; // Least significant 256 bits of the product\n            uint256 prod1; // Most significant 256 bits of the product\n            assembly {\n                let mm := mulmod(x, y, not(0))\n                prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n            }\n\n            // Handle non-overflow cases, 256 by 256 division.\n            if (prod1 == 0) {\n                // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n                // The surrounding unchecked block does not change this fact.\n                // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n                return prod0 / denominator;\n            }\n\n            // Make sure the result is less than 2^256. Also prevents denominator == 0.\n            if (denominator <= prod1) {\n                revert MathOverflowedMulDiv();\n            }\n\n            ///////////////////////////////////////////////\n            // 512 by 256 division.\n            ///////////////////////////////////////////////\n\n            // Make division exact by subtracting the remainder from [prod1 prod0].\n            uint256 remainder;\n            assembly {\n                // Compute remainder using mulmod.\n                remainder := mulmod(x, y, denominator)\n\n                // Subtract 256 bit number from 512 bit number.\n                prod1 := sub(prod1, gt(remainder, prod0))\n                prod0 := sub(prod0, remainder)\n            }\n\n            // Factor powers of two out of denominator and compute largest power of two divisor of denominator.\n            // Always >= 1. See https://cs.stackexchange.com/q/138556/92363.\n\n            uint256 twos = denominator & (0 - denominator);\n            assembly {\n                // Divide denominator by twos.\n                denominator := div(denominator, twos)\n\n                // Divide [prod1 prod0] by twos.\n                prod0 := div(prod0, twos)\n\n                // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n                twos := add(div(sub(0, twos), twos), 1)\n            }\n\n            // Shift in bits from prod1 into prod0.\n            prod0 |= prod1 * twos;\n\n            // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n            // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n            // four bits. That is, denominator * inv = 1 mod 2^4.\n            uint256 inverse = (3 * denominator) ^ 2;\n\n            // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also\n            // works in modular arithmetic, doubling the correct bits in each step.\n            inverse *= 2 - denominator * inverse; // inverse mod 2^8\n            inverse *= 2 - denominator * inverse; // inverse mod 2^16\n            inverse *= 2 - denominator * inverse; // inverse mod 2^32\n            inverse *= 2 - denominator * inverse; // inverse mod 2^64\n            inverse *= 2 - denominator * inverse; // inverse mod 2^128\n            inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n            // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n            // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n            // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n            // is no longer required.\n            result = prod0 * inverse;\n            return result;\n        }\n    }\n\n    /**\n     * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n     */\n    function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n        uint256 result = mulDiv(x, y, denominator);\n        if (unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0) {\n            result += 1;\n        }\n        return result;\n    }\n\n    /**\n     * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n     * towards zero.\n     *\n     * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n     */\n    function sqrt(uint256 a) internal pure returns (uint256) {\n        if (a == 0) {\n            return 0;\n        }\n\n        // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n        //\n        // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n        // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n        //\n        // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n        // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n        // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n        //\n        // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n        uint256 result = 1 << (log2(a) >> 1);\n\n        // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n        // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n        // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n        // into the expected uint128 result.\n        unchecked {\n            result = (result + a / result) >> 1;\n            result = (result + a / result) >> 1;\n            result = (result + a / result) >> 1;\n            result = (result + a / result) >> 1;\n            result = (result + a / result) >> 1;\n            result = (result + a / result) >> 1;\n            result = (result + a / result) >> 1;\n            return min(result, a / result);\n        }\n    }\n\n    /**\n     * @notice Calculates sqrt(a), following the selected rounding direction.\n     */\n    function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n        unchecked {\n            uint256 result = sqrt(a);\n            return result + (unsignedRoundsUp(rounding) && result * result < a ? 1 : 0);\n        }\n    }\n\n    /**\n     * @dev Return the log in base 2 of a positive value rounded towards zero.\n     * Returns 0 if given 0.\n     */\n    function log2(uint256 value) internal pure returns (uint256) {\n        uint256 result = 0;\n        unchecked {\n            if (value >> 128 > 0) {\n                value >>= 128;\n                result += 128;\n            }\n            if (value >> 64 > 0) {\n                value >>= 64;\n                result += 64;\n            }\n            if (value >> 32 > 0) {\n                value >>= 32;\n                result += 32;\n            }\n            if (value >> 16 > 0) {\n                value >>= 16;\n                result += 16;\n            }\n            if (value >> 8 > 0) {\n                value >>= 8;\n                result += 8;\n            }\n            if (value >> 4 > 0) {\n                value >>= 4;\n                result += 4;\n            }\n            if (value >> 2 > 0) {\n                value >>= 2;\n                result += 2;\n            }\n            if (value >> 1 > 0) {\n                result += 1;\n            }\n        }\n        return result;\n    }\n\n    /**\n     * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n     * Returns 0 if given 0.\n     */\n    function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n        unchecked {\n            uint256 result = log2(value);\n            return result + (unsignedRoundsUp(rounding) && 1 << result < value ? 1 : 0);\n        }\n    }\n\n    /**\n     * @dev Return the log in base 10 of a positive value rounded towards zero.\n     * Returns 0 if given 0.\n     */\n    function log10(uint256 value) internal pure returns (uint256) {\n        uint256 result = 0;\n        unchecked {\n            if (value >= 10 ** 64) {\n                value /= 10 ** 64;\n                result += 64;\n            }\n            if (value >= 10 ** 32) {\n                value /= 10 ** 32;\n                result += 32;\n            }\n            if (value >= 10 ** 16) {\n                value /= 10 ** 16;\n                result += 16;\n            }\n            if (value >= 10 ** 8) {\n                value /= 10 ** 8;\n                result += 8;\n            }\n            if (value >= 10 ** 4) {\n                value /= 10 ** 4;\n                result += 4;\n            }\n            if (value >= 10 ** 2) {\n                value /= 10 ** 2;\n                result += 2;\n            }\n            if (value >= 10 ** 1) {\n                result += 1;\n            }\n        }\n        return result;\n    }\n\n    /**\n     * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n     * Returns 0 if given 0.\n     */\n    function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n        unchecked {\n            uint256 result = log10(value);\n            return result + (unsignedRoundsUp(rounding) && 10 ** result < value ? 1 : 0);\n        }\n    }\n\n    /**\n     * @dev Return the log in base 256 of a positive value rounded towards zero.\n     * Returns 0 if given 0.\n     *\n     * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n     */\n    function log256(uint256 value) internal pure returns (uint256) {\n        uint256 result = 0;\n        unchecked {\n            if (value >> 128 > 0) {\n                value >>= 128;\n                result += 16;\n            }\n            if (value >> 64 > 0) {\n                value >>= 64;\n                result += 8;\n            }\n            if (value >> 32 > 0) {\n                value >>= 32;\n                result += 4;\n            }\n            if (value >> 16 > 0) {\n                value >>= 16;\n                result += 2;\n            }\n            if (value >> 8 > 0) {\n                result += 1;\n            }\n        }\n        return result;\n    }\n\n    /**\n     * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n     * Returns 0 if given 0.\n     */\n    function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n        unchecked {\n            uint256 result = log256(value);\n            return result + (unsignedRoundsUp(rounding) && 1 << (result << 3) < value ? 1 : 0);\n        }\n    }\n\n    /**\n     * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers.\n     */\n    function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) {\n        return uint8(rounding) % 2 == 1;\n    }\n}\n"},"@openzeppelin/contracts/utils/math/SafeCast.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/SafeCast.sol)\n// This file was procedurally generated from scripts/generate/templates/SafeCast.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow\n * checks.\n *\n * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n * easily result in undesired exploitation or bugs, since developers usually\n * assume that overflows raise errors. `SafeCast` restores this intuition by\n * reverting the transaction when such an operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeCast {\n    /**\n     * @dev Value doesn't fit in an uint of `bits` size.\n     */\n    error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value);\n\n    /**\n     * @dev An int value doesn't fit in an uint of `bits` size.\n     */\n    error SafeCastOverflowedIntToUint(int256 value);\n\n    /**\n     * @dev Value doesn't fit in an int of `bits` size.\n     */\n    error SafeCastOverflowedIntDowncast(uint8 bits, int256 value);\n\n    /**\n     * @dev An uint value doesn't fit in an int of `bits` size.\n     */\n    error SafeCastOverflowedUintToInt(uint256 value);\n\n    /**\n     * @dev Returns the downcasted uint248 from uint256, reverting on\n     * overflow (when the input is greater than largest uint248).\n     *\n     * Counterpart to Solidity's `uint248` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 248 bits\n     */\n    function toUint248(uint256 value) internal pure returns (uint248) {\n        if (value > type(uint248).max) {\n            revert SafeCastOverflowedUintDowncast(248, value);\n        }\n        return uint248(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint240 from uint256, reverting on\n     * overflow (when the input is greater than largest uint240).\n     *\n     * Counterpart to Solidity's `uint240` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 240 bits\n     */\n    function toUint240(uint256 value) internal pure returns (uint240) {\n        if (value > type(uint240).max) {\n            revert SafeCastOverflowedUintDowncast(240, value);\n        }\n        return uint240(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint232 from uint256, reverting on\n     * overflow (when the input is greater than largest uint232).\n     *\n     * Counterpart to Solidity's `uint232` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 232 bits\n     */\n    function toUint232(uint256 value) internal pure returns (uint232) {\n        if (value > type(uint232).max) {\n            revert SafeCastOverflowedUintDowncast(232, value);\n        }\n        return uint232(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint224 from uint256, reverting on\n     * overflow (when the input is greater than largest uint224).\n     *\n     * Counterpart to Solidity's `uint224` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 224 bits\n     */\n    function toUint224(uint256 value) internal pure returns (uint224) {\n        if (value > type(uint224).max) {\n            revert SafeCastOverflowedUintDowncast(224, value);\n        }\n        return uint224(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint216 from uint256, reverting on\n     * overflow (when the input is greater than largest uint216).\n     *\n     * Counterpart to Solidity's `uint216` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 216 bits\n     */\n    function toUint216(uint256 value) internal pure returns (uint216) {\n        if (value > type(uint216).max) {\n            revert SafeCastOverflowedUintDowncast(216, value);\n        }\n        return uint216(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint208 from uint256, reverting on\n     * overflow (when the input is greater than largest uint208).\n     *\n     * Counterpart to Solidity's `uint208` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 208 bits\n     */\n    function toUint208(uint256 value) internal pure returns (uint208) {\n        if (value > type(uint208).max) {\n            revert SafeCastOverflowedUintDowncast(208, value);\n        }\n        return uint208(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint200 from uint256, reverting on\n     * overflow (when the input is greater than largest uint200).\n     *\n     * Counterpart to Solidity's `uint200` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 200 bits\n     */\n    function toUint200(uint256 value) internal pure returns (uint200) {\n        if (value > type(uint200).max) {\n            revert SafeCastOverflowedUintDowncast(200, value);\n        }\n        return uint200(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint192 from uint256, reverting on\n     * overflow (when the input is greater than largest uint192).\n     *\n     * Counterpart to Solidity's `uint192` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 192 bits\n     */\n    function toUint192(uint256 value) internal pure returns (uint192) {\n        if (value > type(uint192).max) {\n            revert SafeCastOverflowedUintDowncast(192, value);\n        }\n        return uint192(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint184 from uint256, reverting on\n     * overflow (when the input is greater than largest uint184).\n     *\n     * Counterpart to Solidity's `uint184` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 184 bits\n     */\n    function toUint184(uint256 value) internal pure returns (uint184) {\n        if (value > type(uint184).max) {\n            revert SafeCastOverflowedUintDowncast(184, value);\n        }\n        return uint184(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint176 from uint256, reverting on\n     * overflow (when the input is greater than largest uint176).\n     *\n     * Counterpart to Solidity's `uint176` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 176 bits\n     */\n    function toUint176(uint256 value) internal pure returns (uint176) {\n        if (value > type(uint176).max) {\n            revert SafeCastOverflowedUintDowncast(176, value);\n        }\n        return uint176(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint168 from uint256, reverting on\n     * overflow (when the input is greater than largest uint168).\n     *\n     * Counterpart to Solidity's `uint168` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 168 bits\n     */\n    function toUint168(uint256 value) internal pure returns (uint168) {\n        if (value > type(uint168).max) {\n            revert SafeCastOverflowedUintDowncast(168, value);\n        }\n        return uint168(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint160 from uint256, reverting on\n     * overflow (when the input is greater than largest uint160).\n     *\n     * Counterpart to Solidity's `uint160` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 160 bits\n     */\n    function toUint160(uint256 value) internal pure returns (uint160) {\n        if (value > type(uint160).max) {\n            revert SafeCastOverflowedUintDowncast(160, value);\n        }\n        return uint160(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint152 from uint256, reverting on\n     * overflow (when the input is greater than largest uint152).\n     *\n     * Counterpart to Solidity's `uint152` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 152 bits\n     */\n    function toUint152(uint256 value) internal pure returns (uint152) {\n        if (value > type(uint152).max) {\n            revert SafeCastOverflowedUintDowncast(152, value);\n        }\n        return uint152(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint144 from uint256, reverting on\n     * overflow (when the input is greater than largest uint144).\n     *\n     * Counterpart to Solidity's `uint144` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 144 bits\n     */\n    function toUint144(uint256 value) internal pure returns (uint144) {\n        if (value > type(uint144).max) {\n            revert SafeCastOverflowedUintDowncast(144, value);\n        }\n        return uint144(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint136 from uint256, reverting on\n     * overflow (when the input is greater than largest uint136).\n     *\n     * Counterpart to Solidity's `uint136` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 136 bits\n     */\n    function toUint136(uint256 value) internal pure returns (uint136) {\n        if (value > type(uint136).max) {\n            revert SafeCastOverflowedUintDowncast(136, value);\n        }\n        return uint136(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint128 from uint256, reverting on\n     * overflow (when the input is greater than largest uint128).\n     *\n     * Counterpart to Solidity's `uint128` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 128 bits\n     */\n    function toUint128(uint256 value) internal pure returns (uint128) {\n        if (value > type(uint128).max) {\n            revert SafeCastOverflowedUintDowncast(128, value);\n        }\n        return uint128(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint120 from uint256, reverting on\n     * overflow (when the input is greater than largest uint120).\n     *\n     * Counterpart to Solidity's `uint120` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 120 bits\n     */\n    function toUint120(uint256 value) internal pure returns (uint120) {\n        if (value > type(uint120).max) {\n            revert SafeCastOverflowedUintDowncast(120, value);\n        }\n        return uint120(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint112 from uint256, reverting on\n     * overflow (when the input is greater than largest uint112).\n     *\n     * Counterpart to Solidity's `uint112` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 112 bits\n     */\n    function toUint112(uint256 value) internal pure returns (uint112) {\n        if (value > type(uint112).max) {\n            revert SafeCastOverflowedUintDowncast(112, value);\n        }\n        return uint112(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint104 from uint256, reverting on\n     * overflow (when the input is greater than largest uint104).\n     *\n     * Counterpart to Solidity's `uint104` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 104 bits\n     */\n    function toUint104(uint256 value) internal pure returns (uint104) {\n        if (value > type(uint104).max) {\n            revert SafeCastOverflowedUintDowncast(104, value);\n        }\n        return uint104(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint96 from uint256, reverting on\n     * overflow (when the input is greater than largest uint96).\n     *\n     * Counterpart to Solidity's `uint96` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 96 bits\n     */\n    function toUint96(uint256 value) internal pure returns (uint96) {\n        if (value > type(uint96).max) {\n            revert SafeCastOverflowedUintDowncast(96, value);\n        }\n        return uint96(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint88 from uint256, reverting on\n     * overflow (when the input is greater than largest uint88).\n     *\n     * Counterpart to Solidity's `uint88` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 88 bits\n     */\n    function toUint88(uint256 value) internal pure returns (uint88) {\n        if (value > type(uint88).max) {\n            revert SafeCastOverflowedUintDowncast(88, value);\n        }\n        return uint88(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint80 from uint256, reverting on\n     * overflow (when the input is greater than largest uint80).\n     *\n     * Counterpart to Solidity's `uint80` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 80 bits\n     */\n    function toUint80(uint256 value) internal pure returns (uint80) {\n        if (value > type(uint80).max) {\n            revert SafeCastOverflowedUintDowncast(80, value);\n        }\n        return uint80(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint72 from uint256, reverting on\n     * overflow (when the input is greater than largest uint72).\n     *\n     * Counterpart to Solidity's `uint72` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 72 bits\n     */\n    function toUint72(uint256 value) internal pure returns (uint72) {\n        if (value > type(uint72).max) {\n            revert SafeCastOverflowedUintDowncast(72, value);\n        }\n        return uint72(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint64 from uint256, reverting on\n     * overflow (when the input is greater than largest uint64).\n     *\n     * Counterpart to Solidity's `uint64` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 64 bits\n     */\n    function toUint64(uint256 value) internal pure returns (uint64) {\n        if (value > type(uint64).max) {\n            revert SafeCastOverflowedUintDowncast(64, value);\n        }\n        return uint64(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint56 from uint256, reverting on\n     * overflow (when the input is greater than largest uint56).\n     *\n     * Counterpart to Solidity's `uint56` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 56 bits\n     */\n    function toUint56(uint256 value) internal pure returns (uint56) {\n        if (value > type(uint56).max) {\n            revert SafeCastOverflowedUintDowncast(56, value);\n        }\n        return uint56(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint48 from uint256, reverting on\n     * overflow (when the input is greater than largest uint48).\n     *\n     * Counterpart to Solidity's `uint48` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 48 bits\n     */\n    function toUint48(uint256 value) internal pure returns (uint48) {\n        if (value > type(uint48).max) {\n            revert SafeCastOverflowedUintDowncast(48, value);\n        }\n        return uint48(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint40 from uint256, reverting on\n     * overflow (when the input is greater than largest uint40).\n     *\n     * Counterpart to Solidity's `uint40` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 40 bits\n     */\n    function toUint40(uint256 value) internal pure returns (uint40) {\n        if (value > type(uint40).max) {\n            revert SafeCastOverflowedUintDowncast(40, value);\n        }\n        return uint40(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint32 from uint256, reverting on\n     * overflow (when the input is greater than largest uint32).\n     *\n     * Counterpart to Solidity's `uint32` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 32 bits\n     */\n    function toUint32(uint256 value) internal pure returns (uint32) {\n        if (value > type(uint32).max) {\n            revert SafeCastOverflowedUintDowncast(32, value);\n        }\n        return uint32(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint24 from uint256, reverting on\n     * overflow (when the input is greater than largest uint24).\n     *\n     * Counterpart to Solidity's `uint24` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 24 bits\n     */\n    function toUint24(uint256 value) internal pure returns (uint24) {\n        if (value > type(uint24).max) {\n            revert SafeCastOverflowedUintDowncast(24, value);\n        }\n        return uint24(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint16 from uint256, reverting on\n     * overflow (when the input is greater than largest uint16).\n     *\n     * Counterpart to Solidity's `uint16` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 16 bits\n     */\n    function toUint16(uint256 value) internal pure returns (uint16) {\n        if (value > type(uint16).max) {\n            revert SafeCastOverflowedUintDowncast(16, value);\n        }\n        return uint16(value);\n    }\n\n    /**\n     * @dev Returns the downcasted uint8 from uint256, reverting on\n     * overflow (when the input is greater than largest uint8).\n     *\n     * Counterpart to Solidity's `uint8` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 8 bits\n     */\n    function toUint8(uint256 value) internal pure returns (uint8) {\n        if (value > type(uint8).max) {\n            revert SafeCastOverflowedUintDowncast(8, value);\n        }\n        return uint8(value);\n    }\n\n    /**\n     * @dev Converts a signed int256 into an unsigned uint256.\n     *\n     * Requirements:\n     *\n     * - input must be greater than or equal to 0.\n     */\n    function toUint256(int256 value) internal pure returns (uint256) {\n        if (value < 0) {\n            revert SafeCastOverflowedIntToUint(value);\n        }\n        return uint256(value);\n    }\n\n    /**\n     * @dev Returns the downcasted int248 from int256, reverting on\n     * overflow (when the input is less than smallest int248 or\n     * greater than largest int248).\n     *\n     * Counterpart to Solidity's `int248` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 248 bits\n     */\n    function toInt248(int256 value) internal pure returns (int248 downcasted) {\n        downcasted = int248(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(248, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int240 from int256, reverting on\n     * overflow (when the input is less than smallest int240 or\n     * greater than largest int240).\n     *\n     * Counterpart to Solidity's `int240` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 240 bits\n     */\n    function toInt240(int256 value) internal pure returns (int240 downcasted) {\n        downcasted = int240(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(240, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int232 from int256, reverting on\n     * overflow (when the input is less than smallest int232 or\n     * greater than largest int232).\n     *\n     * Counterpart to Solidity's `int232` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 232 bits\n     */\n    function toInt232(int256 value) internal pure returns (int232 downcasted) {\n        downcasted = int232(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(232, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int224 from int256, reverting on\n     * overflow (when the input is less than smallest int224 or\n     * greater than largest int224).\n     *\n     * Counterpart to Solidity's `int224` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 224 bits\n     */\n    function toInt224(int256 value) internal pure returns (int224 downcasted) {\n        downcasted = int224(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(224, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int216 from int256, reverting on\n     * overflow (when the input is less than smallest int216 or\n     * greater than largest int216).\n     *\n     * Counterpart to Solidity's `int216` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 216 bits\n     */\n    function toInt216(int256 value) internal pure returns (int216 downcasted) {\n        downcasted = int216(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(216, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int208 from int256, reverting on\n     * overflow (when the input is less than smallest int208 or\n     * greater than largest int208).\n     *\n     * Counterpart to Solidity's `int208` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 208 bits\n     */\n    function toInt208(int256 value) internal pure returns (int208 downcasted) {\n        downcasted = int208(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(208, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int200 from int256, reverting on\n     * overflow (when the input is less than smallest int200 or\n     * greater than largest int200).\n     *\n     * Counterpart to Solidity's `int200` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 200 bits\n     */\n    function toInt200(int256 value) internal pure returns (int200 downcasted) {\n        downcasted = int200(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(200, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int192 from int256, reverting on\n     * overflow (when the input is less than smallest int192 or\n     * greater than largest int192).\n     *\n     * Counterpart to Solidity's `int192` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 192 bits\n     */\n    function toInt192(int256 value) internal pure returns (int192 downcasted) {\n        downcasted = int192(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(192, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int184 from int256, reverting on\n     * overflow (when the input is less than smallest int184 or\n     * greater than largest int184).\n     *\n     * Counterpart to Solidity's `int184` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 184 bits\n     */\n    function toInt184(int256 value) internal pure returns (int184 downcasted) {\n        downcasted = int184(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(184, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int176 from int256, reverting on\n     * overflow (when the input is less than smallest int176 or\n     * greater than largest int176).\n     *\n     * Counterpart to Solidity's `int176` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 176 bits\n     */\n    function toInt176(int256 value) internal pure returns (int176 downcasted) {\n        downcasted = int176(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(176, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int168 from int256, reverting on\n     * overflow (when the input is less than smallest int168 or\n     * greater than largest int168).\n     *\n     * Counterpart to Solidity's `int168` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 168 bits\n     */\n    function toInt168(int256 value) internal pure returns (int168 downcasted) {\n        downcasted = int168(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(168, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int160 from int256, reverting on\n     * overflow (when the input is less than smallest int160 or\n     * greater than largest int160).\n     *\n     * Counterpart to Solidity's `int160` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 160 bits\n     */\n    function toInt160(int256 value) internal pure returns (int160 downcasted) {\n        downcasted = int160(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(160, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int152 from int256, reverting on\n     * overflow (when the input is less than smallest int152 or\n     * greater than largest int152).\n     *\n     * Counterpart to Solidity's `int152` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 152 bits\n     */\n    function toInt152(int256 value) internal pure returns (int152 downcasted) {\n        downcasted = int152(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(152, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int144 from int256, reverting on\n     * overflow (when the input is less than smallest int144 or\n     * greater than largest int144).\n     *\n     * Counterpart to Solidity's `int144` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 144 bits\n     */\n    function toInt144(int256 value) internal pure returns (int144 downcasted) {\n        downcasted = int144(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(144, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int136 from int256, reverting on\n     * overflow (when the input is less than smallest int136 or\n     * greater than largest int136).\n     *\n     * Counterpart to Solidity's `int136` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 136 bits\n     */\n    function toInt136(int256 value) internal pure returns (int136 downcasted) {\n        downcasted = int136(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(136, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int128 from int256, reverting on\n     * overflow (when the input is less than smallest int128 or\n     * greater than largest int128).\n     *\n     * Counterpart to Solidity's `int128` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 128 bits\n     */\n    function toInt128(int256 value) internal pure returns (int128 downcasted) {\n        downcasted = int128(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(128, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int120 from int256, reverting on\n     * overflow (when the input is less than smallest int120 or\n     * greater than largest int120).\n     *\n     * Counterpart to Solidity's `int120` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 120 bits\n     */\n    function toInt120(int256 value) internal pure returns (int120 downcasted) {\n        downcasted = int120(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(120, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int112 from int256, reverting on\n     * overflow (when the input is less than smallest int112 or\n     * greater than largest int112).\n     *\n     * Counterpart to Solidity's `int112` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 112 bits\n     */\n    function toInt112(int256 value) internal pure returns (int112 downcasted) {\n        downcasted = int112(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(112, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int104 from int256, reverting on\n     * overflow (when the input is less than smallest int104 or\n     * greater than largest int104).\n     *\n     * Counterpart to Solidity's `int104` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 104 bits\n     */\n    function toInt104(int256 value) internal pure returns (int104 downcasted) {\n        downcasted = int104(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(104, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int96 from int256, reverting on\n     * overflow (when the input is less than smallest int96 or\n     * greater than largest int96).\n     *\n     * Counterpart to Solidity's `int96` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 96 bits\n     */\n    function toInt96(int256 value) internal pure returns (int96 downcasted) {\n        downcasted = int96(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(96, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int88 from int256, reverting on\n     * overflow (when the input is less than smallest int88 or\n     * greater than largest int88).\n     *\n     * Counterpart to Solidity's `int88` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 88 bits\n     */\n    function toInt88(int256 value) internal pure returns (int88 downcasted) {\n        downcasted = int88(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(88, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int80 from int256, reverting on\n     * overflow (when the input is less than smallest int80 or\n     * greater than largest int80).\n     *\n     * Counterpart to Solidity's `int80` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 80 bits\n     */\n    function toInt80(int256 value) internal pure returns (int80 downcasted) {\n        downcasted = int80(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(80, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int72 from int256, reverting on\n     * overflow (when the input is less than smallest int72 or\n     * greater than largest int72).\n     *\n     * Counterpart to Solidity's `int72` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 72 bits\n     */\n    function toInt72(int256 value) internal pure returns (int72 downcasted) {\n        downcasted = int72(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(72, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int64 from int256, reverting on\n     * overflow (when the input is less than smallest int64 or\n     * greater than largest int64).\n     *\n     * Counterpart to Solidity's `int64` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 64 bits\n     */\n    function toInt64(int256 value) internal pure returns (int64 downcasted) {\n        downcasted = int64(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(64, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int56 from int256, reverting on\n     * overflow (when the input is less than smallest int56 or\n     * greater than largest int56).\n     *\n     * Counterpart to Solidity's `int56` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 56 bits\n     */\n    function toInt56(int256 value) internal pure returns (int56 downcasted) {\n        downcasted = int56(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(56, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int48 from int256, reverting on\n     * overflow (when the input is less than smallest int48 or\n     * greater than largest int48).\n     *\n     * Counterpart to Solidity's `int48` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 48 bits\n     */\n    function toInt48(int256 value) internal pure returns (int48 downcasted) {\n        downcasted = int48(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(48, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int40 from int256, reverting on\n     * overflow (when the input is less than smallest int40 or\n     * greater than largest int40).\n     *\n     * Counterpart to Solidity's `int40` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 40 bits\n     */\n    function toInt40(int256 value) internal pure returns (int40 downcasted) {\n        downcasted = int40(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(40, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int32 from int256, reverting on\n     * overflow (when the input is less than smallest int32 or\n     * greater than largest int32).\n     *\n     * Counterpart to Solidity's `int32` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 32 bits\n     */\n    function toInt32(int256 value) internal pure returns (int32 downcasted) {\n        downcasted = int32(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(32, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int24 from int256, reverting on\n     * overflow (when the input is less than smallest int24 or\n     * greater than largest int24).\n     *\n     * Counterpart to Solidity's `int24` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 24 bits\n     */\n    function toInt24(int256 value) internal pure returns (int24 downcasted) {\n        downcasted = int24(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(24, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int16 from int256, reverting on\n     * overflow (when the input is less than smallest int16 or\n     * greater than largest int16).\n     *\n     * Counterpart to Solidity's `int16` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 16 bits\n     */\n    function toInt16(int256 value) internal pure returns (int16 downcasted) {\n        downcasted = int16(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(16, value);\n        }\n    }\n\n    /**\n     * @dev Returns the downcasted int8 from int256, reverting on\n     * overflow (when the input is less than smallest int8 or\n     * greater than largest int8).\n     *\n     * Counterpart to Solidity's `int8` operator.\n     *\n     * Requirements:\n     *\n     * - input must fit into 8 bits\n     */\n    function toInt8(int256 value) internal pure returns (int8 downcasted) {\n        downcasted = int8(value);\n        if (downcasted != value) {\n            revert SafeCastOverflowedIntDowncast(8, value);\n        }\n    }\n\n    /**\n     * @dev Converts an unsigned uint256 into a signed int256.\n     *\n     * Requirements:\n     *\n     * - input must be less than or equal to maxInt256.\n     */\n    function toInt256(uint256 value) internal pure returns (int256) {\n        // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive\n        if (value > uint256(type(int256).max)) {\n            revert SafeCastOverflowedUintToInt(value);\n        }\n        return int256(value);\n    }\n}\n"},"@openzeppelin/contracts/utils/math/SignedMath.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n    /**\n     * @dev Returns the largest of two signed numbers.\n     */\n    function max(int256 a, int256 b) internal pure returns (int256) {\n        return a > b ? a : b;\n    }\n\n    /**\n     * @dev Returns the smallest of two signed numbers.\n     */\n    function min(int256 a, int256 b) internal pure returns (int256) {\n        return a < b ? a : b;\n    }\n\n    /**\n     * @dev Returns the average of two signed numbers without overflow.\n     * The result is rounded towards zero.\n     */\n    function average(int256 a, int256 b) internal pure returns (int256) {\n        // Formula from the book \"Hacker's Delight\"\n        int256 x = (a & b) + ((a ^ b) >> 1);\n        return x + (int256(uint256(x) >> 255) & (a ^ b));\n    }\n\n    /**\n     * @dev Returns the absolute unsigned value of a signed value.\n     */\n    function abs(int256 n) internal pure returns (uint256) {\n        unchecked {\n            // must be unchecked in order to support `n = type(int256).min`\n            return uint256(n >= 0 ? n : -n);\n        }\n    }\n}\n"},"@openzeppelin/contracts/utils/StorageSlot.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol)\n// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for reading and writing primitive types to specific storage slots.\n *\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n * This library helps with reading and writing to such slots without the need for inline assembly.\n *\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n *\n * Example usage to set ERC1967 implementation slot:\n * ```solidity\n * contract ERC1967 {\n *     bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n *\n *     function _getImplementation() internal view returns (address) {\n *         return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n *     }\n *\n *     function _setImplementation(address newImplementation) internal {\n *         require(newImplementation.code.length > 0);\n *         StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n *     }\n * }\n * ```\n */\nlibrary StorageSlot {\n    struct AddressSlot {\n        address value;\n    }\n\n    struct BooleanSlot {\n        bool value;\n    }\n\n    struct Bytes32Slot {\n        bytes32 value;\n    }\n\n    struct Uint256Slot {\n        uint256 value;\n    }\n\n    struct StringSlot {\n        string value;\n    }\n\n    struct BytesSlot {\n        bytes value;\n    }\n\n    /**\n     * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n     */\n    function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\n        /// @solidity memory-safe-assembly\n        assembly {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns an `BooleanSlot` with member `value` located at `slot`.\n     */\n    function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\n        /// @solidity memory-safe-assembly\n        assembly {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns an `Bytes32Slot` with member `value` located at `slot`.\n     */\n    function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\n        /// @solidity memory-safe-assembly\n        assembly {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns an `Uint256Slot` with member `value` located at `slot`.\n     */\n    function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\n        /// @solidity memory-safe-assembly\n        assembly {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns an `StringSlot` with member `value` located at `slot`.\n     */\n    function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) {\n        /// @solidity memory-safe-assembly\n        assembly {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns an `StringSlot` representation of the string storage pointer `store`.\n     */\n    function getStringSlot(string storage store) internal pure returns (StringSlot storage r) {\n        /// @solidity memory-safe-assembly\n        assembly {\n            r.slot := store.slot\n        }\n    }\n\n    /**\n     * @dev Returns an `BytesSlot` with member `value` located at `slot`.\n     */\n    function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) {\n        /// @solidity memory-safe-assembly\n        assembly {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.\n     */\n    function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) {\n        /// @solidity memory-safe-assembly\n        assembly {\n            r.slot := store.slot\n        }\n    }\n}\n"},"@openzeppelin/contracts/utils/Strings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Strings.sol)\n\npragma solidity ^0.8.20;\n\nimport {Math} from \"./math/Math.sol\";\nimport {SignedMath} from \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n    bytes16 private constant HEX_DIGITS = \"0123456789abcdef\";\n    uint8 private constant ADDRESS_LENGTH = 20;\n\n    /**\n     * @dev The `value` string doesn't fit in the specified `length`.\n     */\n    error StringsInsufficientHexLength(uint256 value, uint256 length);\n\n    /**\n     * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n     */\n    function toString(uint256 value) internal pure returns (string memory) {\n        unchecked {\n            uint256 length = Math.log10(value) + 1;\n            string memory buffer = new string(length);\n            uint256 ptr;\n            /// @solidity memory-safe-assembly\n            assembly {\n                ptr := add(buffer, add(32, length))\n            }\n            while (true) {\n                ptr--;\n                /// @solidity memory-safe-assembly\n                assembly {\n                    mstore8(ptr, byte(mod(value, 10), HEX_DIGITS))\n                }\n                value /= 10;\n                if (value == 0) break;\n            }\n            return buffer;\n        }\n    }\n\n    /**\n     * @dev Converts a `int256` to its ASCII `string` decimal representation.\n     */\n    function toStringSigned(int256 value) internal pure returns (string memory) {\n        return string.concat(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value)));\n    }\n\n    /**\n     * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n     */\n    function toHexString(uint256 value) internal pure returns (string memory) {\n        unchecked {\n            return toHexString(value, Math.log256(value) + 1);\n        }\n    }\n\n    /**\n     * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n     */\n    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n        uint256 localValue = value;\n        bytes memory buffer = new bytes(2 * length + 2);\n        buffer[0] = \"0\";\n        buffer[1] = \"x\";\n        for (uint256 i = 2 * length + 1; i > 1; --i) {\n            buffer[i] = HEX_DIGITS[localValue & 0xf];\n            localValue >>= 4;\n        }\n        if (localValue != 0) {\n            revert StringsInsufficientHexLength(value, length);\n        }\n        return string(buffer);\n    }\n\n    /**\n     * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n     * representation.\n     */\n    function toHexString(address addr) internal pure returns (string memory) {\n        return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH);\n    }\n\n    /**\n     * @dev Returns true if the two strings are equal.\n     */\n    function equal(string memory a, string memory b) internal pure returns (bool) {\n        return bytes(a).length == bytes(b).length && keccak256(bytes(a)) == keccak256(bytes(b));\n    }\n}\n"},"@openzeppelin/contracts/utils/structs/Checkpoints.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/structs/Checkpoints.sol)\n// This file was procedurally generated from scripts/generate/templates/Checkpoints.js.\n\npragma solidity ^0.8.20;\n\nimport {Math} from \"../math/Math.sol\";\n\n/**\n * @dev This library defines the `Trace*` struct, for checkpointing values as they change at different points in\n * time, and later looking up past values by block number. See {Votes} as an example.\n *\n * To create a history of checkpoints define a variable type `Checkpoints.Trace*` in your contract, and store a new\n * checkpoint for the current transaction block using the {push} function.\n */\nlibrary Checkpoints {\n    /**\n     * @dev A value was attempted to be inserted on a past checkpoint.\n     */\n    error CheckpointUnorderedInsertion();\n\n    struct Trace224 {\n        Checkpoint224[] _checkpoints;\n    }\n\n    struct Checkpoint224 {\n        uint32 _key;\n        uint224 _value;\n    }\n\n    /**\n     * @dev Pushes a (`key`, `value`) pair into a Trace224 so that it is stored as the checkpoint.\n     *\n     * Returns previous value and new value.\n     *\n     * IMPORTANT: Never accept `key` as a user input, since an arbitrary `type(uint32).max` key set will disable the\n     * library.\n     */\n    function push(Trace224 storage self, uint32 key, uint224 value) internal returns (uint224, uint224) {\n        return _insert(self._checkpoints, key, value);\n    }\n\n    /**\n     * @dev Returns the value in the first (oldest) checkpoint with key greater or equal than the search key, or zero if\n     * there is none.\n     */\n    function lowerLookup(Trace224 storage self, uint32 key) internal view returns (uint224) {\n        uint256 len = self._checkpoints.length;\n        uint256 pos = _lowerBinaryLookup(self._checkpoints, key, 0, len);\n        return pos == len ? 0 : _unsafeAccess(self._checkpoints, pos)._value;\n    }\n\n    /**\n     * @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n     * if there is none.\n     */\n    function upperLookup(Trace224 storage self, uint32 key) internal view returns (uint224) {\n        uint256 len = self._checkpoints.length;\n        uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, len);\n        return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n    }\n\n    /**\n     * @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n     * if there is none.\n     *\n     * NOTE: This is a variant of {upperLookup} that is optimised to find \"recent\" checkpoint (checkpoints with high\n     * keys).\n     */\n    function upperLookupRecent(Trace224 storage self, uint32 key) internal view returns (uint224) {\n        uint256 len = self._checkpoints.length;\n\n        uint256 low = 0;\n        uint256 high = len;\n\n        if (len > 5) {\n            uint256 mid = len - Math.sqrt(len);\n            if (key < _unsafeAccess(self._checkpoints, mid)._key) {\n                high = mid;\n            } else {\n                low = mid + 1;\n            }\n        }\n\n        uint256 pos = _upperBinaryLookup(self._checkpoints, key, low, high);\n\n        return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n    }\n\n    /**\n     * @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints.\n     */\n    function latest(Trace224 storage self) internal view returns (uint224) {\n        uint256 pos = self._checkpoints.length;\n        return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n    }\n\n    /**\n     * @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n     * in the most recent checkpoint.\n     */\n    function latestCheckpoint(Trace224 storage self) internal view returns (bool exists, uint32 _key, uint224 _value) {\n        uint256 pos = self._checkpoints.length;\n        if (pos == 0) {\n            return (false, 0, 0);\n        } else {\n            Checkpoint224 memory ckpt = _unsafeAccess(self._checkpoints, pos - 1);\n            return (true, ckpt._key, ckpt._value);\n        }\n    }\n\n    /**\n     * @dev Returns the number of checkpoint.\n     */\n    function length(Trace224 storage self) internal view returns (uint256) {\n        return self._checkpoints.length;\n    }\n\n    /**\n     * @dev Returns checkpoint at given position.\n     */\n    function at(Trace224 storage self, uint32 pos) internal view returns (Checkpoint224 memory) {\n        return self._checkpoints[pos];\n    }\n\n    /**\n     * @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n     * or by updating the last one.\n     */\n    function _insert(Checkpoint224[] storage self, uint32 key, uint224 value) private returns (uint224, uint224) {\n        uint256 pos = self.length;\n\n        if (pos > 0) {\n            // Copying to memory is important here.\n            Checkpoint224 memory last = _unsafeAccess(self, pos - 1);\n\n            // Checkpoint keys must be non-decreasing.\n            if (last._key > key) {\n                revert CheckpointUnorderedInsertion();\n            }\n\n            // Update or push new checkpoint\n            if (last._key == key) {\n                _unsafeAccess(self, pos - 1)._value = value;\n            } else {\n                self.push(Checkpoint224({_key: key, _value: value}));\n            }\n            return (last._value, value);\n        } else {\n            self.push(Checkpoint224({_key: key, _value: value}));\n            return (0, value);\n        }\n    }\n\n    /**\n     * @dev Return the index of the last (most recent) checkpoint with key lower or equal than the search key, or `high`\n     * if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and exclusive\n     * `high`.\n     *\n     * WARNING: `high` should not be greater than the array's length.\n     */\n    function _upperBinaryLookup(\n        Checkpoint224[] storage self,\n        uint32 key,\n        uint256 low,\n        uint256 high\n    ) private view returns (uint256) {\n        while (low < high) {\n            uint256 mid = Math.average(low, high);\n            if (_unsafeAccess(self, mid)._key > key) {\n                high = mid;\n            } else {\n                low = mid + 1;\n            }\n        }\n        return high;\n    }\n\n    /**\n     * @dev Return the index of the first (oldest) checkpoint with key is greater or equal than the search key, or\n     * `high` if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and\n     * exclusive `high`.\n     *\n     * WARNING: `high` should not be greater than the array's length.\n     */\n    function _lowerBinaryLookup(\n        Checkpoint224[] storage self,\n        uint32 key,\n        uint256 low,\n        uint256 high\n    ) private view returns (uint256) {\n        while (low < high) {\n            uint256 mid = Math.average(low, high);\n            if (_unsafeAccess(self, mid)._key < key) {\n                low = mid + 1;\n            } else {\n                high = mid;\n            }\n        }\n        return high;\n    }\n\n    /**\n     * @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds.\n     */\n    function _unsafeAccess(\n        Checkpoint224[] storage self,\n        uint256 pos\n    ) private pure returns (Checkpoint224 storage result) {\n        assembly {\n            mstore(0, self.slot)\n            result.slot := add(keccak256(0, 0x20), pos)\n        }\n    }\n\n    struct Trace208 {\n        Checkpoint208[] _checkpoints;\n    }\n\n    struct Checkpoint208 {\n        uint48 _key;\n        uint208 _value;\n    }\n\n    /**\n     * @dev Pushes a (`key`, `value`) pair into a Trace208 so that it is stored as the checkpoint.\n     *\n     * Returns previous value and new value.\n     *\n     * IMPORTANT: Never accept `key` as a user input, since an arbitrary `type(uint48).max` key set will disable the\n     * library.\n     */\n    function push(Trace208 storage self, uint48 key, uint208 value) internal returns (uint208, uint208) {\n        return _insert(self._checkpoints, key, value);\n    }\n\n    /**\n     * @dev Returns the value in the first (oldest) checkpoint with key greater or equal than the search key, or zero if\n     * there is none.\n     */\n    function lowerLookup(Trace208 storage self, uint48 key) internal view returns (uint208) {\n        uint256 len = self._checkpoints.length;\n        uint256 pos = _lowerBinaryLookup(self._checkpoints, key, 0, len);\n        return pos == len ? 0 : _unsafeAccess(self._checkpoints, pos)._value;\n    }\n\n    /**\n     * @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n     * if there is none.\n     */\n    function upperLookup(Trace208 storage self, uint48 key) internal view returns (uint208) {\n        uint256 len = self._checkpoints.length;\n        uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, len);\n        return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n    }\n\n    /**\n     * @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n     * if there is none.\n     *\n     * NOTE: This is a variant of {upperLookup} that is optimised to find \"recent\" checkpoint (checkpoints with high\n     * keys).\n     */\n    function upperLookupRecent(Trace208 storage self, uint48 key) internal view returns (uint208) {\n        uint256 len = self._checkpoints.length;\n\n        uint256 low = 0;\n        uint256 high = len;\n\n        if (len > 5) {\n            uint256 mid = len - Math.sqrt(len);\n            if (key < _unsafeAccess(self._checkpoints, mid)._key) {\n                high = mid;\n            } else {\n                low = mid + 1;\n            }\n        }\n\n        uint256 pos = _upperBinaryLookup(self._checkpoints, key, low, high);\n\n        return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n    }\n\n    /**\n     * @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints.\n     */\n    function latest(Trace208 storage self) internal view returns (uint208) {\n        uint256 pos = self._checkpoints.length;\n        return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n    }\n\n    /**\n     * @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n     * in the most recent checkpoint.\n     */\n    function latestCheckpoint(Trace208 storage self) internal view returns (bool exists, uint48 _key, uint208 _value) {\n        uint256 pos = self._checkpoints.length;\n        if (pos == 0) {\n            return (false, 0, 0);\n        } else {\n            Checkpoint208 memory ckpt = _unsafeAccess(self._checkpoints, pos - 1);\n            return (true, ckpt._key, ckpt._value);\n        }\n    }\n\n    /**\n     * @dev Returns the number of checkpoint.\n     */\n    function length(Trace208 storage self) internal view returns (uint256) {\n        return self._checkpoints.length;\n    }\n\n    /**\n     * @dev Returns checkpoint at given position.\n     */\n    function at(Trace208 storage self, uint32 pos) internal view returns (Checkpoint208 memory) {\n        return self._checkpoints[pos];\n    }\n\n    /**\n     * @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n     * or by updating the last one.\n     */\n    function _insert(Checkpoint208[] storage self, uint48 key, uint208 value) private returns (uint208, uint208) {\n        uint256 pos = self.length;\n\n        if (pos > 0) {\n            // Copying to memory is important here.\n            Checkpoint208 memory last = _unsafeAccess(self, pos - 1);\n\n            // Checkpoint keys must be non-decreasing.\n            if (last._key > key) {\n                revert CheckpointUnorderedInsertion();\n            }\n\n            // Update or push new checkpoint\n            if (last._key == key) {\n                _unsafeAccess(self, pos - 1)._value = value;\n            } else {\n                self.push(Checkpoint208({_key: key, _value: value}));\n            }\n            return (last._value, value);\n        } else {\n            self.push(Checkpoint208({_key: key, _value: value}));\n            return (0, value);\n        }\n    }\n\n    /**\n     * @dev Return the index of the last (most recent) checkpoint with key lower or equal than the search key, or `high`\n     * if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and exclusive\n     * `high`.\n     *\n     * WARNING: `high` should not be greater than the array's length.\n     */\n    function _upperBinaryLookup(\n        Checkpoint208[] storage self,\n        uint48 key,\n        uint256 low,\n        uint256 high\n    ) private view returns (uint256) {\n        while (low < high) {\n            uint256 mid = Math.average(low, high);\n            if (_unsafeAccess(self, mid)._key > key) {\n                high = mid;\n            } else {\n                low = mid + 1;\n            }\n        }\n        return high;\n    }\n\n    /**\n     * @dev Return the index of the first (oldest) checkpoint with key is greater or equal than the search key, or\n     * `high` if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and\n     * exclusive `high`.\n     *\n     * WARNING: `high` should not be greater than the array's length.\n     */\n    function _lowerBinaryLookup(\n        Checkpoint208[] storage self,\n        uint48 key,\n        uint256 low,\n        uint256 high\n    ) private view returns (uint256) {\n        while (low < high) {\n            uint256 mid = Math.average(low, high);\n            if (_unsafeAccess(self, mid)._key < key) {\n                low = mid + 1;\n            } else {\n                high = mid;\n            }\n        }\n        return high;\n    }\n\n    /**\n     * @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds.\n     */\n    function _unsafeAccess(\n        Checkpoint208[] storage self,\n        uint256 pos\n    ) private pure returns (Checkpoint208 storage result) {\n        assembly {\n            mstore(0, self.slot)\n            result.slot := add(keccak256(0, 0x20), pos)\n        }\n    }\n\n    struct Trace160 {\n        Checkpoint160[] _checkpoints;\n    }\n\n    struct Checkpoint160 {\n        uint96 _key;\n        uint160 _value;\n    }\n\n    /**\n     * @dev Pushes a (`key`, `value`) pair into a Trace160 so that it is stored as the checkpoint.\n     *\n     * Returns previous value and new value.\n     *\n     * IMPORTANT: Never accept `key` as a user input, since an arbitrary `type(uint96).max` key set will disable the\n     * library.\n     */\n    function push(Trace160 storage self, uint96 key, uint160 value) internal returns (uint160, uint160) {\n        return _insert(self._checkpoints, key, value);\n    }\n\n    /**\n     * @dev Returns the value in the first (oldest) checkpoint with key greater or equal than the search key, or zero if\n     * there is none.\n     */\n    function lowerLookup(Trace160 storage self, uint96 key) internal view returns (uint160) {\n        uint256 len = self._checkpoints.length;\n        uint256 pos = _lowerBinaryLookup(self._checkpoints, key, 0, len);\n        return pos == len ? 0 : _unsafeAccess(self._checkpoints, pos)._value;\n    }\n\n    /**\n     * @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n     * if there is none.\n     */\n    function upperLookup(Trace160 storage self, uint96 key) internal view returns (uint160) {\n        uint256 len = self._checkpoints.length;\n        uint256 pos = _upperBinaryLookup(self._checkpoints, key, 0, len);\n        return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n    }\n\n    /**\n     * @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n     * if there is none.\n     *\n     * NOTE: This is a variant of {upperLookup} that is optimised to find \"recent\" checkpoint (checkpoints with high\n     * keys).\n     */\n    function upperLookupRecent(Trace160 storage self, uint96 key) internal view returns (uint160) {\n        uint256 len = self._checkpoints.length;\n\n        uint256 low = 0;\n        uint256 high = len;\n\n        if (len > 5) {\n            uint256 mid = len - Math.sqrt(len);\n            if (key < _unsafeAccess(self._checkpoints, mid)._key) {\n                high = mid;\n            } else {\n                low = mid + 1;\n            }\n        }\n\n        uint256 pos = _upperBinaryLookup(self._checkpoints, key, low, high);\n\n        return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n    }\n\n    /**\n     * @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints.\n     */\n    function latest(Trace160 storage self) internal view returns (uint160) {\n        uint256 pos = self._checkpoints.length;\n        return pos == 0 ? 0 : _unsafeAccess(self._checkpoints, pos - 1)._value;\n    }\n\n    /**\n     * @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n     * in the most recent checkpoint.\n     */\n    function latestCheckpoint(Trace160 storage self) internal view returns (bool exists, uint96 _key, uint160 _value) {\n        uint256 pos = self._checkpoints.length;\n        if (pos == 0) {\n            return (false, 0, 0);\n        } else {\n            Checkpoint160 memory ckpt = _unsafeAccess(self._checkpoints, pos - 1);\n            return (true, ckpt._key, ckpt._value);\n        }\n    }\n\n    /**\n     * @dev Returns the number of checkpoint.\n     */\n    function length(Trace160 storage self) internal view returns (uint256) {\n        return self._checkpoints.length;\n    }\n\n    /**\n     * @dev Returns checkpoint at given position.\n     */\n    function at(Trace160 storage self, uint32 pos) internal view returns (Checkpoint160 memory) {\n        return self._checkpoints[pos];\n    }\n\n    /**\n     * @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n     * or by updating the last one.\n     */\n    function _insert(Checkpoint160[] storage self, uint96 key, uint160 value) private returns (uint160, uint160) {\n        uint256 pos = self.length;\n\n        if (pos > 0) {\n            // Copying to memory is important here.\n            Checkpoint160 memory last = _unsafeAccess(self, pos - 1);\n\n            // Checkpoint keys must be non-decreasing.\n            if (last._key > key) {\n                revert CheckpointUnorderedInsertion();\n            }\n\n            // Update or push new checkpoint\n            if (last._key == key) {\n                _unsafeAccess(self, pos - 1)._value = value;\n            } else {\n                self.push(Checkpoint160({_key: key, _value: value}));\n            }\n            return (last._value, value);\n        } else {\n            self.push(Checkpoint160({_key: key, _value: value}));\n            return (0, value);\n        }\n    }\n\n    /**\n     * @dev Return the index of the last (most recent) checkpoint with key lower or equal than the search key, or `high`\n     * if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and exclusive\n     * `high`.\n     *\n     * WARNING: `high` should not be greater than the array's length.\n     */\n    function _upperBinaryLookup(\n        Checkpoint160[] storage self,\n        uint96 key,\n        uint256 low,\n        uint256 high\n    ) private view returns (uint256) {\n        while (low < high) {\n            uint256 mid = Math.average(low, high);\n            if (_unsafeAccess(self, mid)._key > key) {\n                high = mid;\n            } else {\n                low = mid + 1;\n            }\n        }\n        return high;\n    }\n\n    /**\n     * @dev Return the index of the first (oldest) checkpoint with key is greater or equal than the search key, or\n     * `high` if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and\n     * exclusive `high`.\n     *\n     * WARNING: `high` should not be greater than the array's length.\n     */\n    function _lowerBinaryLookup(\n        Checkpoint160[] storage self,\n        uint96 key,\n        uint256 low,\n        uint256 high\n    ) private view returns (uint256) {\n        while (low < high) {\n            uint256 mid = Math.average(low, high);\n            if (_unsafeAccess(self, mid)._key < key) {\n                low = mid + 1;\n            } else {\n                high = mid;\n            }\n        }\n        return high;\n    }\n\n    /**\n     * @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds.\n     */\n    function _unsafeAccess(\n        Checkpoint160[] storage self,\n        uint256 pos\n    ) private pure returns (Checkpoint160 storage result) {\n        assembly {\n            mstore(0, self.slot)\n            result.slot := add(keccak256(0, 0x20), pos)\n        }\n    }\n}\n"},"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/structs/DoubleEndedQueue.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev A sequence of items with the ability to efficiently push and pop items (i.e. insert and remove) on both ends of\n * the sequence (called front and back). Among other access patterns, it can be used to implement efficient LIFO and\n * FIFO queues. Storage use is optimized, and all operations are O(1) constant time. This includes {clear}, given that\n * the existing queue contents are left in storage.\n *\n * The struct is called `Bytes32Deque`. Other types can be cast to and from `bytes32`. This data structure can only be\n * used in storage, and not in memory.\n * ```solidity\n * DoubleEndedQueue.Bytes32Deque queue;\n * ```\n */\nlibrary DoubleEndedQueue {\n    /**\n     * @dev An operation (e.g. {front}) couldn't be completed due to the queue being empty.\n     */\n    error QueueEmpty();\n\n    /**\n     * @dev A push operation couldn't be completed due to the queue being full.\n     */\n    error QueueFull();\n\n    /**\n     * @dev An operation (e.g. {at}) couldn't be completed due to an index being out of bounds.\n     */\n    error QueueOutOfBounds();\n\n    /**\n     * @dev Indices are 128 bits so begin and end are packed in a single storage slot for efficient access.\n     *\n     * Struct members have an underscore prefix indicating that they are \"private\" and should not be read or written to\n     * directly. Use the functions provided below instead. Modifying the struct manually may violate assumptions and\n     * lead to unexpected behavior.\n     *\n     * The first item is at data[begin] and the last item is at data[end - 1]. This range can wrap around.\n     */\n    struct Bytes32Deque {\n        uint128 _begin;\n        uint128 _end;\n        mapping(uint128 index => bytes32) _data;\n    }\n\n    /**\n     * @dev Inserts an item at the end of the queue.\n     *\n     * Reverts with {QueueFull} if the queue is full.\n     */\n    function pushBack(Bytes32Deque storage deque, bytes32 value) internal {\n        unchecked {\n            uint128 backIndex = deque._end;\n            if (backIndex + 1 == deque._begin) revert QueueFull();\n            deque._data[backIndex] = value;\n            deque._end = backIndex + 1;\n        }\n    }\n\n    /**\n     * @dev Removes the item at the end of the queue and returns it.\n     *\n     * Reverts with {QueueEmpty} if the queue is empty.\n     */\n    function popBack(Bytes32Deque storage deque) internal returns (bytes32 value) {\n        unchecked {\n            uint128 backIndex = deque._end;\n            if (backIndex == deque._begin) revert QueueEmpty();\n            --backIndex;\n            value = deque._data[backIndex];\n            delete deque._data[backIndex];\n            deque._end = backIndex;\n        }\n    }\n\n    /**\n     * @dev Inserts an item at the beginning of the queue.\n     *\n     * Reverts with {QueueFull} if the queue is full.\n     */\n    function pushFront(Bytes32Deque storage deque, bytes32 value) internal {\n        unchecked {\n            uint128 frontIndex = deque._begin - 1;\n            if (frontIndex == deque._end) revert QueueFull();\n            deque._data[frontIndex] = value;\n            deque._begin = frontIndex;\n        }\n    }\n\n    /**\n     * @dev Removes the item at the beginning of the queue and returns it.\n     *\n     * Reverts with `QueueEmpty` if the queue is empty.\n     */\n    function popFront(Bytes32Deque storage deque) internal returns (bytes32 value) {\n        unchecked {\n            uint128 frontIndex = deque._begin;\n            if (frontIndex == deque._end) revert QueueEmpty();\n            value = deque._data[frontIndex];\n            delete deque._data[frontIndex];\n            deque._begin = frontIndex + 1;\n        }\n    }\n\n    /**\n     * @dev Returns the item at the beginning of the queue.\n     *\n     * Reverts with `QueueEmpty` if the queue is empty.\n     */\n    function front(Bytes32Deque storage deque) internal view returns (bytes32 value) {\n        if (empty(deque)) revert QueueEmpty();\n        return deque._data[deque._begin];\n    }\n\n    /**\n     * @dev Returns the item at the end of the queue.\n     *\n     * Reverts with `QueueEmpty` if the queue is empty.\n     */\n    function back(Bytes32Deque storage deque) internal view returns (bytes32 value) {\n        if (empty(deque)) revert QueueEmpty();\n        unchecked {\n            return deque._data[deque._end - 1];\n        }\n    }\n\n    /**\n     * @dev Return the item at a position in the queue given by `index`, with the first item at 0 and last item at\n     * `length(deque) - 1`.\n     *\n     * Reverts with `QueueOutOfBounds` if the index is out of bounds.\n     */\n    function at(Bytes32Deque storage deque, uint256 index) internal view returns (bytes32 value) {\n        if (index >= length(deque)) revert QueueOutOfBounds();\n        // By construction, length is a uint128, so the check above ensures that index can be safely downcast to uint128\n        unchecked {\n            return deque._data[deque._begin + uint128(index)];\n        }\n    }\n\n    /**\n     * @dev Resets the queue back to being empty.\n     *\n     * NOTE: The current items are left behind in storage. This does not affect the functioning of the queue, but misses\n     * out on potential gas refunds.\n     */\n    function clear(Bytes32Deque storage deque) internal {\n        deque._begin = 0;\n        deque._end = 0;\n    }\n\n    /**\n     * @dev Returns the number of items in the queue.\n     */\n    function length(Bytes32Deque storage deque) internal view returns (uint256) {\n        unchecked {\n            return uint256(deque._end - deque._begin);\n        }\n    }\n\n    /**\n     * @dev Returns true if the queue is empty.\n     */\n    function empty(Bytes32Deque storage deque) internal view returns (bool) {\n        return deque._end == deque._begin;\n    }\n}\n"},"@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/structs/EnumerableSet.sol)\n// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for managing\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n * types.\n *\n * Sets have the following properties:\n *\n * - Elements are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```solidity\n * contract Example {\n *     // Add the library methods\n *     using EnumerableSet for EnumerableSet.AddressSet;\n *\n *     // Declare a set state variable\n *     EnumerableSet.AddressSet private mySet;\n * }\n * ```\n *\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\n * and `uint256` (`UintSet`) are supported.\n *\n * [WARNING]\n * ====\n * Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\n * unusable.\n * See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\n *\n * In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an\n * array of EnumerableSet.\n * ====\n */\nlibrary EnumerableSet {\n    // To implement this library for multiple types with as little code\n    // repetition as possible, we write it in terms of a generic Set type with\n    // bytes32 values.\n    // The Set implementation uses private functions, and user-facing\n    // implementations (such as AddressSet) are just wrappers around the\n    // underlying Set.\n    // This means that we can only create new EnumerableSets for types that fit\n    // in bytes32.\n\n    struct Set {\n        // Storage of set values\n        bytes32[] _values;\n        // Position is the index of the value in the `values` array plus 1.\n        // Position 0 is used to mean a value is not in the set.\n        mapping(bytes32 value => uint256) _positions;\n    }\n\n    /**\n     * @dev Add a value to a set. O(1).\n     *\n     * Returns true if the value was added to the set, that is if it was not\n     * already present.\n     */\n    function _add(Set storage set, bytes32 value) private returns (bool) {\n        if (!_contains(set, value)) {\n            set._values.push(value);\n            // The value is stored at length-1, but we add 1 to all indexes\n            // and use 0 as a sentinel value\n            set._positions[value] = set._values.length;\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * @dev Removes a value from a set. O(1).\n     *\n     * Returns true if the value was removed from the set, that is if it was\n     * present.\n     */\n    function _remove(Set storage set, bytes32 value) private returns (bool) {\n        // We cache the value's position to prevent multiple reads from the same storage slot\n        uint256 position = set._positions[value];\n\n        if (position != 0) {\n            // Equivalent to contains(set, value)\n            // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n            // the array, and then remove the last element (sometimes called as 'swap and pop').\n            // This modifies the order of the array, as noted in {at}.\n\n            uint256 valueIndex = position - 1;\n            uint256 lastIndex = set._values.length - 1;\n\n            if (valueIndex != lastIndex) {\n                bytes32 lastValue = set._values[lastIndex];\n\n                // Move the lastValue to the index where the value to delete is\n                set._values[valueIndex] = lastValue;\n                // Update the tracked position of the lastValue (that was just moved)\n                set._positions[lastValue] = position;\n            }\n\n            // Delete the slot where the moved value was stored\n            set._values.pop();\n\n            // Delete the tracked position for the deleted slot\n            delete set._positions[value];\n\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * @dev Returns true if the value is in the set. O(1).\n     */\n    function _contains(Set storage set, bytes32 value) private view returns (bool) {\n        return set._positions[value] != 0;\n    }\n\n    /**\n     * @dev Returns the number of values on the set. O(1).\n     */\n    function _length(Set storage set) private view returns (uint256) {\n        return set._values.length;\n    }\n\n    /**\n     * @dev Returns the value stored at position `index` in the set. O(1).\n     *\n     * Note that there are no guarantees on the ordering of values inside the\n     * array, and it may change when more values are added or removed.\n     *\n     * Requirements:\n     *\n     * - `index` must be strictly less than {length}.\n     */\n    function _at(Set storage set, uint256 index) private view returns (bytes32) {\n        return set._values[index];\n    }\n\n    /**\n     * @dev Return the entire set in an array\n     *\n     * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n     * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n     * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n     * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n     */\n    function _values(Set storage set) private view returns (bytes32[] memory) {\n        return set._values;\n    }\n\n    // Bytes32Set\n\n    struct Bytes32Set {\n        Set _inner;\n    }\n\n    /**\n     * @dev Add a value to a set. O(1).\n     *\n     * Returns true if the value was added to the set, that is if it was not\n     * already present.\n     */\n    function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n        return _add(set._inner, value);\n    }\n\n    /**\n     * @dev Removes a value from a set. O(1).\n     *\n     * Returns true if the value was removed from the set, that is if it was\n     * present.\n     */\n    function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n        return _remove(set._inner, value);\n    }\n\n    /**\n     * @dev Returns true if the value is in the set. O(1).\n     */\n    function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {\n        return _contains(set._inner, value);\n    }\n\n    /**\n     * @dev Returns the number of values in the set. O(1).\n     */\n    function length(Bytes32Set storage set) internal view returns (uint256) {\n        return _length(set._inner);\n    }\n\n    /**\n     * @dev Returns the value stored at position `index` in the set. O(1).\n     *\n     * Note that there are no guarantees on the ordering of values inside the\n     * array, and it may change when more values are added or removed.\n     *\n     * Requirements:\n     *\n     * - `index` must be strictly less than {length}.\n     */\n    function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {\n        return _at(set._inner, index);\n    }\n\n    /**\n     * @dev Return the entire set in an array\n     *\n     * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n     * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n     * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n     * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n     */\n    function values(Bytes32Set storage set) internal view returns (bytes32[] memory) {\n        bytes32[] memory store = _values(set._inner);\n        bytes32[] memory result;\n\n        /// @solidity memory-safe-assembly\n        assembly {\n            result := store\n        }\n\n        return result;\n    }\n\n    // AddressSet\n\n    struct AddressSet {\n        Set _inner;\n    }\n\n    /**\n     * @dev Add a value to a set. O(1).\n     *\n     * Returns true if the value was added to the set, that is if it was not\n     * already present.\n     */\n    function add(AddressSet storage set, address value) internal returns (bool) {\n        return _add(set._inner, bytes32(uint256(uint160(value))));\n    }\n\n    /**\n     * @dev Removes a value from a set. O(1).\n     *\n     * Returns true if the value was removed from the set, that is if it was\n     * present.\n     */\n    function remove(AddressSet storage set, address value) internal returns (bool) {\n        return _remove(set._inner, bytes32(uint256(uint160(value))));\n    }\n\n    /**\n     * @dev Returns true if the value is in the set. O(1).\n     */\n    function contains(AddressSet storage set, address value) internal view returns (bool) {\n        return _contains(set._inner, bytes32(uint256(uint160(value))));\n    }\n\n    /**\n     * @dev Returns the number of values in the set. O(1).\n     */\n    function length(AddressSet storage set) internal view returns (uint256) {\n        return _length(set._inner);\n    }\n\n    /**\n     * @dev Returns the value stored at position `index` in the set. O(1).\n     *\n     * Note that there are no guarantees on the ordering of values inside the\n     * array, and it may change when more values are added or removed.\n     *\n     * Requirements:\n     *\n     * - `index` must be strictly less than {length}.\n     */\n    function at(AddressSet storage set, uint256 index) internal view returns (address) {\n        return address(uint160(uint256(_at(set._inner, index))));\n    }\n\n    /**\n     * @dev Return the entire set in an array\n     *\n     * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n     * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n     * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n     * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n     */\n    function values(AddressSet storage set) internal view returns (address[] memory) {\n        bytes32[] memory store = _values(set._inner);\n        address[] memory result;\n\n        /// @solidity memory-safe-assembly\n        assembly {\n            result := store\n        }\n\n        return result;\n    }\n\n    // UintSet\n\n    struct UintSet {\n        Set _inner;\n    }\n\n    /**\n     * @dev Add a value to a set. O(1).\n     *\n     * Returns true if the value was added to the set, that is if it was not\n     * already present.\n     */\n    function add(UintSet storage set, uint256 value) internal returns (bool) {\n        return _add(set._inner, bytes32(value));\n    }\n\n    /**\n     * @dev Removes a value from a set. O(1).\n     *\n     * Returns true if the value was removed from the set, that is if it was\n     * present.\n     */\n    function remove(UintSet storage set, uint256 value) internal returns (bool) {\n        return _remove(set._inner, bytes32(value));\n    }\n\n    /**\n     * @dev Returns true if the value is in the set. O(1).\n     */\n    function contains(UintSet storage set, uint256 value) internal view returns (bool) {\n        return _contains(set._inner, bytes32(value));\n    }\n\n    /**\n     * @dev Returns the number of values in the set. O(1).\n     */\n    function length(UintSet storage set) internal view returns (uint256) {\n        return _length(set._inner);\n    }\n\n    /**\n     * @dev Returns the value stored at position `index` in the set. O(1).\n     *\n     * Note that there are no guarantees on the ordering of values inside the\n     * array, and it may change when more values are added or removed.\n     *\n     * Requirements:\n     *\n     * - `index` must be strictly less than {length}.\n     */\n    function at(UintSet storage set, uint256 index) internal view returns (uint256) {\n        return uint256(_at(set._inner, index));\n    }\n\n    /**\n     * @dev Return the entire set in an array\n     *\n     * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n     * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n     * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n     * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n     */\n    function values(UintSet storage set) internal view returns (uint256[] memory) {\n        bytes32[] memory store = _values(set._inner);\n        uint256[] memory result;\n\n        /// @solidity memory-safe-assembly\n        assembly {\n            result := store\n        }\n\n        return result;\n    }\n}\n"},"@openzeppelin/contracts/utils/types/Time.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/types/Time.sol)\n\npragma solidity ^0.8.20;\n\nimport {Math} from \"../math/Math.sol\";\nimport {SafeCast} from \"../math/SafeCast.sol\";\n\n/**\n * @dev This library provides helpers for manipulating time-related objects.\n *\n * It uses the following types:\n * - `uint48` for timepoints\n * - `uint32` for durations\n *\n * While the library doesn't provide specific types for timepoints and duration, it does provide:\n * - a `Delay` type to represent duration that can be programmed to change value automatically at a given point\n * - additional helper functions\n */\nlibrary Time {\n    using Time for *;\n\n    /**\n     * @dev Get the block timestamp as a Timepoint.\n     */\n    function timestamp() internal view returns (uint48) {\n        return SafeCast.toUint48(block.timestamp);\n    }\n\n    /**\n     * @dev Get the block number as a Timepoint.\n     */\n    function blockNumber() internal view returns (uint48) {\n        return SafeCast.toUint48(block.number);\n    }\n\n    // ==================================================== Delay =====================================================\n    /**\n     * @dev A `Delay` is a uint32 duration that can be programmed to change value automatically at a given point in the\n     * future. The \"effect\" timepoint describes when the transitions happens from the \"old\" value to the \"new\" value.\n     * This allows updating the delay applied to some operation while keeping some guarantees.\n     *\n     * In particular, the {update} function guarantees that if the delay is reduced, the old delay still applies for\n     * some time. For example if the delay is currently 7 days to do an upgrade, the admin should not be able to set\n     * the delay to 0 and upgrade immediately. If the admin wants to reduce the delay, the old delay (7 days) should\n     * still apply for some time.\n     *\n     *\n     * The `Delay` type is 112 bits long, and packs the following:\n     *\n     * ```\n     *   | [uint48]: effect date (timepoint)\n     *   |           | [uint32]: value before (duration)\n     *   ↓           ↓       ↓ [uint32]: value after (duration)\n     * 0xAAAAAAAAAAAABBBBBBBBCCCCCCCC\n     * ```\n     *\n     * NOTE: The {get} and {withUpdate} functions operate using timestamps. Block number based delays are not currently\n     * supported.\n     */\n    type Delay is uint112;\n\n    /**\n     * @dev Wrap a duration into a Delay to add the one-step \"update in the future\" feature\n     */\n    function toDelay(uint32 duration) internal pure returns (Delay) {\n        return Delay.wrap(duration);\n    }\n\n    /**\n     * @dev Get the value at a given timepoint plus the pending value and effect timepoint if there is a scheduled\n     * change after this timepoint. If the effect timepoint is 0, then the pending value should not be considered.\n     */\n    function _getFullAt(Delay self, uint48 timepoint) private pure returns (uint32, uint32, uint48) {\n        (uint32 valueBefore, uint32 valueAfter, uint48 effect) = self.unpack();\n        return effect <= timepoint ? (valueAfter, 0, 0) : (valueBefore, valueAfter, effect);\n    }\n\n    /**\n     * @dev Get the current value plus the pending value and effect timepoint if there is a scheduled change. If the\n     * effect timepoint is 0, then the pending value should not be considered.\n     */\n    function getFull(Delay self) internal view returns (uint32, uint32, uint48) {\n        return _getFullAt(self, timestamp());\n    }\n\n    /**\n     * @dev Get the current value.\n     */\n    function get(Delay self) internal view returns (uint32) {\n        (uint32 delay, , ) = self.getFull();\n        return delay;\n    }\n\n    /**\n     * @dev Update a Delay object so that it takes a new duration after a timepoint that is automatically computed to\n     * enforce the old delay at the moment of the update. Returns the updated Delay object and the timestamp when the\n     * new delay becomes effective.\n     */\n    function withUpdate(\n        Delay self,\n        uint32 newValue,\n        uint32 minSetback\n    ) internal view returns (Delay updatedDelay, uint48 effect) {\n        uint32 value = self.get();\n        uint32 setback = uint32(Math.max(minSetback, value > newValue ? value - newValue : 0));\n        effect = timestamp() + setback;\n        return (pack(value, newValue, effect), effect);\n    }\n\n    /**\n     * @dev Split a delay into its components: valueBefore, valueAfter and effect (transition timepoint).\n     */\n    function unpack(Delay self) internal pure returns (uint32 valueBefore, uint32 valueAfter, uint48 effect) {\n        uint112 raw = Delay.unwrap(self);\n\n        valueAfter = uint32(raw);\n        valueBefore = uint32(raw >> 32);\n        effect = uint48(raw >> 64);\n\n        return (valueBefore, valueAfter, effect);\n    }\n\n    /**\n     * @dev pack the components into a Delay object.\n     */\n    function pack(uint32 valueBefore, uint32 valueAfter, uint48 effect) internal pure returns (Delay) {\n        return Delay.wrap((uint112(effect) << 64) | (uint112(valueBefore) << 32) | uint112(valueAfter));\n    }\n}\n"},"contracts/deprecated/V1/interfaces/IGalaxyMemberV1.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\n\ninterface IGalaxyMemberV1 {\n  error AccessControlBadConfirmation();\n\n  error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n  error AddressEmptyCode(address target);\n\n  error CheckpointUnorderedInsertion();\n\n  error ERC1967InvalidImplementation(address implementation);\n\n  error ERC1967NonPayable();\n\n  error ERC5805FutureLookup(uint256 timepoint, uint48 clock);\n\n  error ERC6372InconsistentClock();\n\n  error ERC721EnumerableForbiddenBatchMint();\n\n  error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n  error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n  error ERC721InvalidApprover(address approver);\n\n  error ERC721InvalidOperator(address operator);\n\n  error ERC721InvalidOwner(address owner);\n\n  error ERC721InvalidReceiver(address receiver);\n\n  error ERC721InvalidSender(address sender);\n\n  error ERC721NonexistentToken(uint256 tokenId);\n\n  error ERC721OutOfBoundsIndex(address owner, uint256 index);\n\n  error EnforcedPause();\n\n  error ExpectedPause();\n\n  error FailedInnerCall();\n\n  error InvalidInitialization();\n\n  error NotInitializing();\n\n  error ReentrancyGuardReentrantCall();\n\n  error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value);\n\n  error UUPSUnauthorizedCallContext();\n\n  error UUPSUnsupportedProxiableUUID(bytes32 slot);\n\n  event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n  event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n  event Initialized(uint64 version);\n\n  event Paused(address account);\n\n  event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n  event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n  event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n  event Selected(address indexed owner, uint256 tokenId);\n\n  event SelectedLevel(address indexed owner, uint256 oldLevel, uint256 newLevel);\n\n  event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n  event Unpaused(address account);\n\n  event Upgraded(address indexed implementation);\n\n  event Upgraded(uint256 indexed tokenId, uint256 oldLevel, uint256 newLevel);\n\n  event MaxLevelUpdated(uint256 oldLevel, uint256 indexed newLevel);\n\n  event XAllocationsGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  event B3trGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  event BaseURIUpdated(string indexed newBaseURI, string indexed oldBaseURI);\n\n  event B3TRtoUpgradeToLevelUpdated(uint256[] indexed b3trToUpgradeToLevel);\n\n  event PublicMintingPaused(bool isPaused);\n\n  function CLOCK_MODE() external view returns (string memory);\n\n  function DEFAULT_ADMIN_ROLE() external view returns (bytes32);\n\n  function MAX_LEVEL() external view returns (uint256);\n\n  function UPGRADER_ROLE() external view returns (bytes32);\n\n  function UPGRADE_INTERFACE_VERSION() external view returns (string memory);\n\n  function approve(address to, uint256 tokenId) external;\n\n  function b3tr() external view returns (address);\n\n  function b3trGovernor() external view returns (address);\n\n  function balanceOf(address owner) external view returns (uint256);\n\n  function baseURI() external view returns (string memory);\n\n  function checkpoints(address account, uint32 pos) external view returns (Checkpoints.Checkpoint208 memory);\n\n  function clock() external view returns (uint48);\n\n  function freeMint() external;\n\n  function getApproved(uint256 tokenId) external view returns (address);\n\n  function getB3TRtoUpgrade(uint256 tokenId) external view returns (uint256);\n\n  function getB3TRtoUpgradeToLevel(uint256 level) external view returns (uint256);\n\n  function getHighestLevel(address owner) external view returns (uint256);\n\n  function getMaxMintableLevelOfXNode(uint8 xNodeType) external view returns (uint256);\n\n  function getNextLevel(uint256 tokenId) external view returns (uint256);\n\n  function getPastHighestLevel(address owner, uint256 timepoint) external view returns (uint256);\n\n  function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n  function grantRole(bytes32 role, address account) external;\n\n  function hasRole(bytes32 role, address account) external view returns (bool);\n\n  function initialize(\n    string memory name,\n    string memory symbol,\n    address admin,\n    address upgrader,\n    uint256 maxLevel,\n    string memory baseTokenURI,\n    uint256[] memory xNodeMaxMintableLevels,\n    uint256[] memory b3trToUpgradeToLevel,\n    address _b3tr,\n    address _treasury\n  ) external;\n\n  function isApprovedForAll(address owner, address operator) external view returns (bool);\n\n  function levelOf(uint256 tokenId) external view returns (uint256);\n\n  function name() external view returns (string memory);\n\n  function numCheckpoints(address account) external view returns (uint32);\n\n  function ownerOf(uint256 tokenId) external view returns (address);\n\n  function participatedInGovernance(address user) external view returns (bool);\n\n  function pause() external;\n\n  function paused() external view returns (bool);\n\n  function proxiableUUID() external view returns (bytes32);\n\n  function renounceRole(bytes32 role, address callerConfirmation) external;\n\n  function revokeRole(bytes32 role, address account) external;\n\n  function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n  function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) external;\n\n  function selectHighestLevel() external;\n\n  function setApprovalForAll(address operator, bool approved) external;\n\n  function setB3TRtoUpgradeToLevel(uint256[] memory b3trToUpgradeToLevel) external;\n\n  function setB3trGovernorAddress(address _b3trGovernor) external;\n\n  function setBaseURI(string memory baseTokenURI) external;\n\n  function setMaxLevel(uint256 level) external;\n\n  function setMaxMintableLevels(uint8[] memory maxMintableLevels) external;\n\n  function setXAllocationsGovernorAddress(address _xAllocationsGovernor) external;\n\n  function supportsInterface(bytes4 interfaceId) external view returns (bool);\n\n  function symbol() external view returns (string memory);\n\n  function tokenByIndex(uint256 index) external view returns (uint256);\n\n  function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);\n\n  function tokenURI(uint256 tokenId) external view returns (string memory);\n\n  function totalSupply() external view returns (uint256);\n\n  function transferFrom(address from, address to, uint256 tokenId) external;\n\n  function treasury() external view returns (address);\n\n  function unpause() external;\n\n  function upgrade(uint256 tokenId) external;\n\n  function upgradeToAndCall(address newImplementation, bytes memory data) external payable;\n\n  function xAllocationsGovernor() external view returns (address);\n\n  function version() external view returns (string memory);\n}\n"},"contracts/deprecated/V1/interfaces/INodeManagementV1.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\nimport { VechainNodesDataTypes } from \"../../V2/node-management-libraries/VechainNodesDataTypes.sol\";\n\ninterface INodeManagementV1 {\n  /**\n   * @notice Error indicating that the caller does not own a node.\n   */\n  error NodeManagementNonNodeHolder();\n\n  /**\n   * @notice Error indicating that the node is not currently delegated.\n   */\n  error NodeManagementNodeNotDelegated();\n\n  /**\n   * @notice Error indicating that an address is being set to the zero address.\n   */\n  error NodeManagementZeroAddress();\n\n  /**\n   * @notice Error indicating that an address is being set to the zero address.\n   */\n  error NodeManagementSelfDelegation();\n\n  /**\n   * @notice Error indicating that the node is already delegated to another user.\n   * @param nodeId The ID of the node that is already delegated.\n   * @param delegatee The address of the current delegatee.\n   */\n  error NodeManagementNodeAlreadyDelegated(uint256 nodeId, address delegatee);\n\n  /**\n   * @notice Event emitted when a node is delegated or the delegation is removed.\n   * @param nodeId The ID of the node being delegated or having its delegation removed.\n   * @param delegatee The address to which the node is delegated or from which the delegation is removed.\n   * @param delegated A boolean indicating whether the node is delegated (true) or the delegation is removed (false).\n   */\n  event NodeDelegated(uint256 indexed nodeId, address indexed delegatee, bool delegated);\n\n  /**\n   *  @dev Emit when the vechain node contract address is set or updated\n   */\n  event VechainNodeContractSet(address oldContractAddress, address newContractAddress);\n\n  /**\n   * @notice Initialize the contract with the specified VeChain Nodes contract, admin, and upgrader addresses.\n   * @param vechainNodesContract The address of the VeChain Nodes contract.\n   * @param admin The address to be granted the default admin role.\n   * @param upgrader The address to be granted the upgrader role.\n   */\n  function initialize(address vechainNodesContract, address admin, address upgrader) external;\n\n  /**\n   * @notice Set the address of the VeChain Nodes contract.\n   * @param vechainNodesContract The new address of the VeChain Nodes contract.\n   */\n  function setVechainNodesContract(address vechainNodesContract) external;\n\n  /**\n   * @notice Delegate a node to another address.\n   * @param delegatee The address to delegate the node to.\n   */\n  function delegateNode(address delegatee) external;\n\n  /**\n   * @notice Remove the delegation of a node.\n   */\n  function removeNodeDelegation() external;\n\n  /**\n   * @notice Retrieve the node ID associated with a user, either through direct ownership or delegation.\n   * @param user The address of the user to check.\n   * @return uint256 The node ID associated with the user.\n   */\n  function getNodeIds(address user) external view returns (uint256[] memory);\n\n  /**\n   * @notice Retrieves the address of the user managing the node ID endorsement either through ownership or delegation.\n   * @param nodeId The ID of the node for which the manager address is being retrieved.\n   * @return address The address of the manager of the specified node.\n   */\n  function getNodeManager(uint256 nodeId) external view returns (address);\n\n  /**\n   * @notice Check if a user is holding a specific node ID either directly or through delegation.\n   * @param user The address of the user to check.\n   * @param nodeId The node ID to check for.\n   * @return bool True if the user is holding the node ID and it is a valid node.\n   */\n  function isNodeManager(address user, uint256 nodeId) external view returns (bool);\n\n  /**\n   * @notice Retrieves the node level of a given node ID.\n   * @param nodeId The token ID of the endorsing node.\n   * @return VechainNodesDataTypes.NodeStrengthLevel The node level of the specified token ID.\n   */\n  function getNodeLevel(uint256 nodeId) external view returns (VechainNodesDataTypes.NodeStrengthLevel);\n\n  /**\n   * @notice Retrieves the node level of a user's managed node.\n   * @param user The address of the user managing the node.\n   * @return VechainNodesDataTypes.NodeStrengthLevel The node level of the node managed by the user.\n   */\n  function getUsersNodeLevels(address user) external view returns (VechainNodesDataTypes.NodeStrengthLevel[] memory);\n}\n"},"contracts/deprecated/V1/VoterRewardsV1.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\";\nimport \"./interfaces/IGalaxyMemberV1.sol\";\nimport \"../../interfaces/IB3TRGovernor.sol\";\nimport \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport \"../../interfaces/IEmissions.sol\";\nimport \"../../interfaces/IB3TR.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\n\n/**\n * @title VoterRewards\n * @author VeBetterDAO\n *\n * @notice This contract handles the rewards for voters in the VeBetterDAO ecosystem.\n * It calculates the rewards for voters based on their voting power and the level of their Galaxy Member NFT.\n *\n * @dev The contract is\n * - upgradeable using UUPSUpgradeable.\n * - using AccessControl to handle the admin and upgrader roles.\n * - using ReentrancyGuard to prevent reentrancy attacks.\n * - following the ERC-7201 standard for storage layout.\n *\n * Roles:\n * - DEFAULT_ADMIN_ROLE: The role that can add new admins and upgraders. It is also the role that can set scaling factor and the Galaxy Member level to multiplier mapping.\n * - UPGRADER_ROLE: The role that can upgrade the contract.\n * - VOTE_REGISTRAR_ROLE: The role that can register votes for rewards calculation.\n * - CONTRACTS_ADDRESS_MANAGER_ROLE: The role that can set the addresses of the contracts used by the VoterRewards contract.\n */\ncontract VoterRewardsV1 is AccessControlUpgradeable, ReentrancyGuardUpgradeable, UUPSUpgradeable {\n  /// @notice The role that can register votes for rewards calculation.\n  bytes32 public constant VOTE_REGISTRAR_ROLE = keccak256(\"VOTE_REGISTRAR_ROLE\");\n\n  /// @notice The role that can upgrade the contract.\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n\n  /// @notice The role that can set the addresses of the contracts used by the VoterRewards contract.\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n\n  /// @notice The scaling factor for the rewards calculation.\n  uint256 public constant SCALING_FACTOR = 1e6;\n\n  /// @custom:storage-location erc7201:b3tr.storage.VoterRewards\n  struct VoterRewardsStorage {\n    IGalaxyMemberV1 galaxyMember;\n    IB3TR b3tr;\n    IEmissions emissions;\n    // level => percentage multiplier for the level of the GM NFT\n    mapping(uint256 => uint256) levelToMultiplier;\n    // cycle => total weighted votes in the cycle\n    mapping(uint256 => uint256) cycleToTotal;\n    // cycle => voter => total weighted votes for the voter in the cycle\n    mapping(uint256 cycle => mapping(address voter => uint256 total)) cycleToVoterToTotal;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.VoterRewards\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant VoterRewardsStorageLocation =\n    0x114e7ffaaf205d38cd05b17b56f3357806ef2ce889cb4748445ae91cdfc37c00;\n\n  /// @notice Get the VoterRewardsStorage struct from the specified storage slot specified by the VoterRewardsStorageLocation.\n  function _getVoterRewardsStorage() internal pure returns (VoterRewardsStorage storage $) {\n    assembly {\n      $.slot := VoterRewardsStorageLocation\n    }\n  }\n\n  /// @notice Emitted when a user registers their votes for rewards calculation.\n  /// @param cycle - The cycle in which the votes were registered.\n  /// @param voter- The address of the voter.\n  /// @param votes - The number of votes cast by the voter.\n  /// @param rewardWeightedVote - The reward-weighted vote power for the voter based on their voting power and GM NFT level.\n  event VoteRegistered(uint256 indexed cycle, address indexed voter, uint256 votes, uint256 rewardWeightedVote);\n\n  /// @notice Emitted when a user claims their rewards.\n  /// @param cycle - The cycle in which the rewards were claimed.\n  /// @param voter - The address of the voter.\n  /// @param reward - The amount of B3TR reward claimed by the voter.\n  event RewardClaimed(uint256 indexed cycle, address indexed voter, uint256 reward);\n\n  /// @notice Emitted when the Galaxy Member contract address is set.\n  /// @param newAddress - The address of the new Galaxy Member contract.\n  /// @param oldAddress - The address of the old Galaxy Member contract.\n  event GalaxyMemberAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @notice Emitted when the Emissions contract address is set.\n  /// @param newAddress - The address of the new Emissions contract.\n  /// @param oldAddress - The address of the old Emissions contract.\n  event EmissionsAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @notice Emitted when the level to multiplier mapping is set.\n  /// @param level - The level of the Galaxy Member NFT.\n  /// @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT.\n  event LevelToMultiplierSet(uint256 indexed level, uint256 multiplier);\n\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Initialize the VoterRewards contract.\n  /// @param admin - The address of the admin.\n  /// @param upgrader - The address of the upgrader.\n  /// @param contractsAddressManager - The address of the contract address manager.\n  /// @param _emissions - The address of the emissions contract.\n  /// @param _galaxyMember - The address of the Galaxy Member contract.\n  /// @param _b3tr - The address of the B3TR token contract.\n  /// @param levels - The levels of the Galaxy Member NFTs.\n  /// @param multipliers  - The multipliers for the levels of the Galaxy Member NFTs.\n  function initialize(\n    address admin,\n    address upgrader,\n    address contractsAddressManager,\n    address _emissions,\n    address _galaxyMember,\n    address _b3tr,\n    uint256[] memory levels,\n    uint256[] memory multipliers\n  ) external initializer {\n    require(_galaxyMember != address(0), \"VoterRewards: _galaxyMember cannot be the zero address\");\n    require(_emissions != address(0), \"VoterRewards: emissions cannot be the zero address\");\n    require(_b3tr != address(0), \"VoterRewards: _b3tr cannot be the zero address\");\n\n    require(levels.length > 0, \"VoterRewards: levels must have at least one element\");\n    require(levels.length == multipliers.length, \"VoterRewards: levels and multipliers must have the same length\");\n\n    __AccessControl_init();\n    __ReentrancyGuard_init();\n    __UUPSUpgradeable_init();\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    $.galaxyMember = IGalaxyMemberV1(_galaxyMember);\n    $.b3tr = IB3TR(_b3tr);\n    $.emissions = IEmissions(_emissions);\n\n    // Set the level to multiplier mapping.\n    for (uint256 i; i < levels.length; i++) {\n      $.levelToMultiplier[levels[i]] = multipliers[i];\n    }\n\n    require(admin != address(0), \"VoterRewards: admin cannot be the zero address\");\n    _grantRole(DEFAULT_ADMIN_ROLE, admin);\n    _grantRole(UPGRADER_ROLE, upgrader);\n    _grantRole(CONTRACTS_ADDRESS_MANAGER_ROLE, contractsAddressManager);\n  }\n\n  /// @notice Upgrade the implementation of the VoterRewards contract.\n  /// @dev Only the address with the UPGRADER_ROLE can call this function.\n  /// @param newImplementation - The address of the new implementation contract.\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n\n  /// @notice Register the votes of a user for rewards calculation.\n  /// @dev Quadratic rewarding is used to reward users with quadratic-weight based on their voting power and the level of their Galaxy Member NFT.\n  /// @param proposalStart - The start time of the proposal.\n  /// @param voter - The address of the voter.\n  /// @param votes - The number of votes cast by the voter.\n  /// @param votePower - The square root of the total votes cast by the voter.\n  function registerVote(\n    uint256 proposalStart,\n    address voter,\n    uint256 votes,\n    uint256 votePower\n  ) external onlyRole(VOTE_REGISTRAR_ROLE) {\n    // If votePower is zero, exit the function to avoid unnecessary computations.\n    if (votePower == 0) {\n      return;\n    }\n\n    // Ensure the proposal start time is valid and the voter address is not zero.\n    require(proposalStart > 0, \"VoterRewards: proposalStart must be greater than 0\");\n    require(voter != address(0), \"VoterRewards: voter cannot be the zero address\");\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    // Get the current cycle number.\n    uint256 cycle = $.emissions.getCurrentCycle();\n\n    // Fetch the highest level achieved by the voter in Galaxy Member NFT up to the proposal start time.\n    uint256 gmNftLevel = $.galaxyMember.getPastHighestLevel(voter, proposalStart);\n\n    // Determine the reward multiplier based on the GM NFT level.\n    uint256 multiplier = $.levelToMultiplier[gmNftLevel]; // Percentage multiplier for the level of the GM NFT\n\n    // Scale vote power by 1e9 to counteract the square root operation on 1e18.\n    uint256 scaledVotePower = votePower * 1e9;\n\n    // Calculate the weighted vote power for rewards, adjusting vote power with the level-based multiplier.\n    // votePower is the square root of the total votes cast by the voter.\n    uint256 rewardWeightedVote = scaledVotePower + (scaledVotePower * multiplier) / 100; // Adjusted vote power used for rewards calculation.\n\n    // Update the total reward-weighted votes in the cycle.\n    $.cycleToTotal[cycle] += rewardWeightedVote;\n\n    // Record the reward-weighted vote power for the voter in the cycle.\n    $.cycleToVoterToTotal[cycle][voter] += rewardWeightedVote;\n\n    // Emit an event to log the registration of the votes.\n    emit VoteRegistered(cycle, voter, votes, rewardWeightedVote);\n  }\n\n  /// @notice Claim the rewards for a user in a specific cycle.\n  /// @dev The rewards are claimed based on the reward-weighted votes of the user in the cycle.\n  /// @param cycle - The cycle in which the rewards are claimed.\n  /// @param voter - The address of the voter.\n  function claimReward(uint256 cycle, address voter) external nonReentrant {\n    require(cycle > 0, \"VoterRewards: cycle must be greater than 0\");\n    require(voter != address(0), \"VoterRewards: voter cannot be the zero address\");\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    // Check if the cycle has ended before claiming rewards.\n    require($.emissions.isCycleEnded(cycle), \"VoterRewards: cycle must be ended\");\n\n    // Get the reward for the voter in the cycle.\n    uint256 reward = getReward(cycle, voter);\n\n    require(reward > 0, \"VoterRewards: reward must be greater than 0\");\n    require($.b3tr.balanceOf(address(this)) >= reward, \"VoterRewards: not enough B3TR in the contract to pay reward\");\n\n    // Reset the reward-weighted votes for the voter in the cycle.\n    $.cycleToVoterToTotal[cycle][voter] = 0;\n\n    // transfer reward to voter\n    require($.b3tr.transfer(voter, reward), \"VoterRewards: transfer failed\");\n\n    // Emit an event to log the reward claimed by the voter.\n    emit RewardClaimed(cycle, voter, reward);\n  }\n\n  // ----------------- Getters ----------------- //\n\n  /// @notice Get the reward for a user in a specific cycle.\n  /// @param cycle - The cycle in which the rewards are claimed.\n  /// @param voter - The address of the voter.\n  function getReward(uint256 cycle, address voter) public view returns (uint256) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    // Get the total reward-weighted votes for the voter in the cycle.\n    uint256 total = $.cycleToVoterToTotal[cycle][voter];\n\n    // Get the total reward-weighted votes in the cycle.\n    uint256 totalCycle = $.cycleToTotal[cycle];\n\n    // Get the emissions for voter rewards in the cycle.\n    uint256 emissionsAmount = $.emissions.getVote2EarnAmount(cycle);\n    require(emissionsAmount > 0, \"VoterRewards: emissionsAmount must be greater than 0\");\n\n    // Scale up the numerator before division to improve precision\n    uint256 scaledNumerator = total * emissionsAmount * SCALING_FACTOR; // Scale by a factor of SCALING_FACTOR for precision\n    uint256 reward = scaledNumerator / totalCycle;\n\n    // Scale down the reward to the original scale\n    return reward / SCALING_FACTOR;\n  }\n\n  /// @notice Get the total reward-weighted votes for a user in a specific cycle.\n  /// @param cycle - The cycle in which the rewards are claimed.\n  /// @param voter - The address of the voter.\n  function cycleToVoterToTotal(uint256 cycle, address voter) external view returns (uint256) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.cycleToVoterToTotal[cycle][voter];\n  }\n\n  /// @notice Get the total reward-weighted votes in a specific cycle.\n  /// @param cycle - The cycle in which the rewards are claimed.\n  function cycleToTotal(uint256 cycle) external view returns (uint256) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.cycleToTotal[cycle];\n  }\n\n  /// @notice Get the reward multiplier for a specific level of the Galaxy Member NFT.\n  /// @param level - The level of the Galaxy Member NFT.\n  function levelToMultiplier(uint256 level) external view returns (uint256) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.levelToMultiplier[level];\n  }\n\n  /// @notice Get the Galaxy Member contract.\n  function galaxyMember() external view returns (IGalaxyMemberV1) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.galaxyMember;\n  }\n\n  /// @notice Get the Emissions contract.\n  function emissions() external view returns (IEmissions) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.emissions;\n  }\n\n  /// @notice Get the B3TR token contract.\n  function b3tr() external view returns (IB3TR) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.b3tr;\n  }\n\n  // ----------------- Setters ----------------- //\n\n  /// @notice Set the Galaxy Member contract.\n  /// @param _galaxyMember - The address of the Galaxy Member contract.\n  function setGalaxyMember(address _galaxyMember) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_galaxyMember != address(0), \"VoterRewards: _galaxyMember cannot be the zero address\");\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    emit GalaxyMemberAddressUpdated(_galaxyMember, address($.galaxyMember));\n\n    $.galaxyMember = IGalaxyMemberV1(_galaxyMember);\n  }\n\n  /// @notice Set the Galaxy Member level to multiplier mapping.\n  /// @param level - The level of the Galaxy Member NFT.\n  /// @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT.\n  function setLevelToMultiplier(uint256 level, uint256 multiplier) external onlyRole(DEFAULT_ADMIN_ROLE) {\n    require(level > 0, \"VoterRewards: level must be greater than 0\");\n    require(multiplier > 0, \"VoterRewards: multiplier must be greater than 0\");\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    $.levelToMultiplier[level] = multiplier;\n\n    emit LevelToMultiplierSet(level, multiplier);\n  }\n\n  /// @notice Set the Emmissions contract.\n  /// @param _emissions - The address of the emissions contract.\n  function setEmissions(address _emissions) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_emissions != address(0), \"VoterRewards: emissions cannot be the zero address\");\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    emit EmissionsAddressUpdated(_emissions, address($.emissions));\n\n    $.emissions = IEmissions(_emissions);\n  }\n\n  /// @notice Returns the version of the contract\n  /// @dev This should be updated every time a new version of implementation is deployed\n  /// @return string The version of the contract\n  function version() external pure virtual returns (string memory) {\n    return \"1\";\n  }\n}\n"},"contracts/deprecated/V10/B3TRGovernorV10.sol":{"content":"//SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorProposalLogicV10 } from \"./governance/libraries/GovernorProposalLogicV10.sol\";\nimport { GovernorStateLogicV10 } from \"./governance/libraries/GovernorStateLogicV10.sol\";\nimport { GovernorVotesLogicV10 } from \"./governance/libraries/GovernorVotesLogicV10.sol\";\nimport { GovernorQuorumLogicV10 } from \"./governance/libraries/GovernorQuorumLogicV10.sol\";\nimport { GovernorDepositLogicV10 } from \"./governance/libraries/GovernorDepositLogicV10.sol\";\nimport { GovernorStorageTypesV10 } from \"./governance/libraries/GovernorStorageTypesV10.sol\";\nimport { GovernorClockLogicV10 } from \"./governance/libraries/GovernorClockLogicV10.sol\";\nimport { GovernorFunctionRestrictionsLogicV10 } from \"./governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\";\nimport { GovernorGovernanceLogicV10 } from \"./governance/libraries/GovernorGovernanceLogicV10.sol\";\nimport { GovernorConfiguratorV10 } from \"./governance/libraries/GovernorConfiguratorV10.sol\";\nimport { GovernorTypesV10 } from \"./governance/libraries/GovernorTypesV10.sol\";\nimport { IVoterRewards } from \"../../interfaces/IVoterRewards.sol\";\nimport { IVOT3 } from \"../../interfaces/IVOT3.sol\";\nimport { IB3TR } from \"../../interfaces/IB3TR.sol\";\nimport { IB3TRGovernorV10 } from \"./interfaces/IB3TRGovernorV10.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { TimelockControllerUpgradeable } from \"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\";\nimport { IERC165 } from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport { IERC1155Receiver } from \"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\";\nimport { IERC721Receiver } from \"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\";\nimport { Address } from \"@openzeppelin/contracts/utils/Address.sol\";\nimport \"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { IVeBetterPassport } from \"../../interfaces/IVeBetterPassport.sol\";\nimport { IGrantsManager } from \"../../interfaces/IGrantsManager.sol\";\nimport { IGalaxyMember } from \"../../interfaces/IGalaxyMember.sol\";\nimport { INavigatorRegistry } from \"../../interfaces/INavigatorRegistry.sol\";\nimport { IRelayerRewardsPool } from \"../../interfaces/IRelayerRewardsPool.sol\";\n\n/**\n * @title B3TRGovernorV10\n * @notice This contract is the main governance contract for the VeBetterDAO ecosystem.\n * Anyone can create a proposal to both change the state of the contract, to execute a transaction\n * on the timelock or to ask for a vote from the community without performing any onchain action.\n * In order for the proposal to become active, the community needs to deposit a certain amount of VOT3 tokens.\n * This is used as a heat check for the proposal, and funds are returned to the depositors after vote is concluded.\n * Votes for proposals start periodically, based on the allocation rounds (see xAllocationVoting contract), and the round\n * in which the proposal should be active is specified by the proposer during the proposal creation.\n *\n * A minimum amount of voting power is required in order to vote on a proposal.\n * The voting power is calculated through the quadratic vote formula based on the amount of VOT3 tokens held by the\n * voter at the block when the proposal becomes active.\n *\n * Once a proposal succeeds, it can be queued and executed. The execution is done through the timelock contract.\n *\n * The contract is upgradeable and uses the UUPS pattern.\n * @dev The contract is upgradeable and uses the UUPS pattern. All logic is stored in libraries.\n *\n * ------------------ VERSION 2 ------------------\n * - Replaced onlyGovernance modifier with onlyRoleOrGovernance which checks if the caller has the DEFAULT_ADMIN_ROLE role or if the function is called through a governance proposal\n * ------------------ VERSION 3 ------------------\n * - Added the ability to toggle the quadratic voting mechanism on and off\n * ------------------ VERSION 4 ------------------\n * - Integrated VeBetterPassport contract\n * ------------------ VERSION 5 ------------------\n * - Difference from V4: Updated all libraries to use new version of IVoterRewards that supports GM Upgrades.\n * ------------------ VERSION 6 ------------------\n * - Updated all libraries to use new version of IVoterRewards that supports GM Rewards Pool.\n * ------------------ VERSION 7 ------------------\n * - Added proposal type concept, STANDARD (0n) for existing proposals and GRANT (1n) for new grants proposals.\n * - Added deposit threshold cap based on proposal type.\n * ------------------ VERSION 8 ------------------\n * - No changes from V7 (placeholder for future reference).\n * ------------------ VERSION 9 ------------------\n * - Added reason parameter to cancel function for providing cancellation rationale.\n * - Added ProposalCanceledWithReason event.\n * ------------------ VERSION 10 ------------------\n * - Refactored from module inheritance to library architecture for contract size optimization\n * - Added navigator delegation voting via castNavigatorVote(proposalId, citizen)\n * - New storage: GovernorStorage.navigatorRegistry (INavigatorRegistry), relayerRewardsPool (IRelayerRewardsPool),\n *   proposalsForRound mapping (round-indexed proposal tracking for relayer expected-actions)\n * - New events: NavigatorGovernanceVoteCast\n * - New errors: NotDelegatedToNavigator, NavigatorDecisionNotSet (in GovernorVotesLogicV10)\n * - New initializer: initializeV10(INavigatorRegistry, IRelayerRewardsPool, uint256 governanceSkipWindowBlocks) — reinitializer(8)\n * - governanceSkipWindowBlocks moved from constant to storage (GovernorStorage), configurable per env\n * - setGovernanceSkipWindowBlocks(uint256) setter via GovernorConfiguratorV10\n * - setNavigatorRegistry() / setRelayerRewardsPool() setters via GovernorConfiguratorV10\n * - GovernorVotesLogicV10.getVotes() returns delegated amount when citizen has active navigator at snapshot\n * - Dead navigator (deactivated/exiting) = delegation void, returns full VOT3 balance\n * - castNavigatorVote uses snapshot-based navigator lookup (getNavigatorAtTimepoint)\n * - castVote double-vote prevention: blocks manual voting if delegated at proposal snapshot with alive navigator\n * - Uses checkpointed citizenToNavigator and isDeactivatedAtTimepoint for snapshot consistency\n */\ncontract B3TRGovernorV10 is IB3TRGovernorV10, AccessControlUpgradeable, UUPSUpgradeable, PausableUpgradeable {\n  /// @notice The role that can whitelist allowed functions in the propose function\n  bytes32 public constant GOVERNOR_FUNCTIONS_SETTINGS_ROLE = keccak256(\"GOVERNOR_FUNCTIONS_SETTINGS_ROLE\");\n  /// @notice The role that can pause the contract\n  bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n  /// @notice The role that can set external contracts addresses\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n  /// @notice The role that can execute a proposal\n  bytes32 public constant PROPOSAL_EXECUTOR_ROLE = keccak256(\"PROPOSAL_EXECUTOR_ROLE\");\n  /// @notice The role that can mark a proposal in development/completed state\n  bytes32 public constant PROPOSAL_STATE_MANAGER_ROLE = keccak256(\"PROPOSAL_STATE_MANAGER_ROLE\");\n\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Initialize V10: set NavigatorRegistry, RelayerRewardsPool, and governance skip window\n  function initializeV10(\n    INavigatorRegistry _navigatorRegistry,\n    IRelayerRewardsPool _relayerRewardsPool,\n    uint256 _governanceSkipWindowBlocks\n  ) external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) reinitializer(8) {\n    require(address(_navigatorRegistry) != address(0), \"B3TRGovernorV10: invalid navigator registry\");\n    require(address(_relayerRewardsPool) != address(0), \"B3TRGovernorV10: invalid relayer rewards pool\");\n    GovernorConfiguratorV10.setNavigatorRegistry(_navigatorRegistry);\n    GovernorConfiguratorV10.setRelayerRewardsPool(_relayerRewardsPool);\n    GovernorConfiguratorV10.setGovernanceSkipWindowBlocks(_governanceSkipWindowBlocks);\n  }\n\n  /**\n   * @dev Restricts a function so it can only be executed through governance proposals. For example, governance\n   * parameter setters in {GovernorSettings} are protected using this modifier.\n   *\n   * The governance executing address may be different from the Governor's own address, for example it could be a\n   * timelock. This can be customized by modules by overriding {_executor}. The executor is only able to invoke these\n   * functions during the execution of the governor's {execute} function, and not under any other circumstances. Thus,\n   * for example, additional timelock proposers are not able to change governance parameters without going through the\n   * governance protocol (since v4.6).\n   */\n  modifier onlyGovernance() {\n    GovernorGovernanceLogicV10.checkGovernance(_msgSender(), _msgData(), address(this));\n    _;\n  }\n\n  /**\n   * @notice Modifier to check if the caller has the specified role or if the function is called through a governance proposal\n   * @param role The role to check against\n   */\n  modifier onlyRoleOrGovernance(bytes32 role) {\n    if (!hasRole(role, _msgSender())) GovernorGovernanceLogicV10.checkGovernance(_msgSender(), _msgData(), address(this));\n    _;\n  }\n\n  /**\n   * @dev Modifier to make a function callable only by a certain role. In\n   * addition to checking the sender's role, `address(0)` 's role is also\n   * considered. Granting a role to `address(0)` is equivalent to enabling\n   * this role for everyone.\n   */\n  modifier onlyRoleOrOpenRole(bytes32 role) {\n    if (!hasRole(role, address(0))) {\n      _checkRole(role, _msgSender());\n    }\n    _;\n  }\n\n  /**\n   * @dev Function to receive VET that will be handled by the governor (disabled if executor is a third party contract)\n   */\n  receive() external payable virtual {\n    if (GovernorGovernanceLogicV10.executor() != address(this)) {\n      revert GovernorDisabledDeposit();\n    }\n  }\n\n  /**\n   * @notice Relays a transaction or function call to an arbitrary target. In cases where the governance executor\n   * is some contract other than the governor itself, like when using a timelock, this function can be invoked\n   * in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake.\n   * Note that if the executor is simply the governor itself, use of `relay` is redundant.\n   * @param target The target address\n   * @param value The amount of ether to send\n   * @param data The data to call the target with\n   */\n  function relay(\n    address target,\n    uint256 value,\n    bytes calldata data\n  ) external payable virtual onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    (bool success, bytes memory returndata) = target.call{ value: value }(data);\n    Address.verifyCallResult(success, returndata);\n  }\n\n  // ------------------ GETTERS ------------------ //\n\n  /**\n   * @notice Function to know if a proposal is executable or not.\n   * If the proposal was created without any targets, values, or calldatas, it is not executable.\n   * to check if the proposal is executable.\n   * @dev If no calldatas or targets then it's not executable, otherwise it will check if the governance can execute transactions or not.\n   * @param proposalId The id of the proposal\n   * @return bool True if the proposal needs queuing, false otherwise\n   */\n  function proposalNeedsQueuing(uint256 proposalId) external view returns (bool) {\n    return GovernorProposalLogicV10.proposalNeedsQueuing(proposalId);\n  }\n\n  /**\n   * @notice Returns the state of a proposal\n   * @param proposalId The id of the proposal\n   * @return GovernorTypesV10.ProposalState The state of the proposal\n   */\n  function state(uint256 proposalId) external view returns (GovernorTypesV10.ProposalState) {\n    return GovernorTypesV10.ProposalState(GovernorStateLogicV10.state(proposalId));\n  }\n\n  /**\n   * @notice Check if the proposal can start in the next round\n   * @return bool True if the proposal can start in the next round, false otherwise\n   */\n  function canProposalStartInNextRound() public view returns (bool) {\n    return GovernorProposalLogicV10.canProposalStartInNextRound();\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-proposalProposer}.\n   * @param proposalId The id of the proposal\n   * @return address The address of the proposer\n   */\n  function proposalProposer(uint256 proposalId) public view virtual returns (address) {\n    return GovernorProposalLogicV10.proposalProposer(proposalId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-proposalEta}.\n   * @param proposalId The id of the proposal\n   * @return uint256 The ETA of the proposal\n   */\n  function proposalEta(uint256 proposalId) public view virtual returns (uint256) {\n    return GovernorProposalLogicV10.proposalEta(proposalId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-proposalStartRound}\n   * @param proposalId The id of the proposal\n   * @return uint256 The start round of the proposal\n   */\n  function proposalStartRound(uint256 proposalId) public view returns (uint256) {\n    return GovernorProposalLogicV10.proposalStartRound(proposalId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-proposalSnapshot}.\n   * We take for granted that the round starts the block after it ends. But it can happen that the round is not started yet for whatever reason.\n   * Knowing this, if the proposal starts 4 rounds in the future we need to consider also those extra blocks used to start the rounds.\n   * @param proposalId The id of the proposal\n   * @return uint256 The snapshot of the proposal\n   */\n  function proposalSnapshot(uint256 proposalId) external view returns (uint256) {\n    return GovernorProposalLogicV10.proposalSnapshot(proposalId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-proposalDeadline}.\n   * @param proposalId The id of the proposal\n   * @return uint256 The deadline of the proposal\n   */\n  function proposalDeadline(uint256 proposalId) external view returns (uint256) {\n    return GovernorProposalLogicV10.proposalDeadline(proposalId);\n  }\n\n  /**\n   * @notice Returns the voting threshold for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @return uint256 The voting threshold\n   */\n  function votingThresholdByProposalType(GovernorTypesV10.ProposalType proposalTypeValue) external view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposalTypeVotingThreshold[proposalTypeValue];\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-getVotes}.\n   * @param account The address of the account\n   * @param timepoint The timepoint to get the votes at\n   * @return uint256 The number of votes\n   */\n  function getVotes(address account, uint256 timepoint) external view returns (uint256) {\n    return GovernorVotesLogicV10.getVotes(account, timepoint);\n  }\n\n  /**\n   * @notice Returns the quadratic voting power that `account` has.  See {IB3TRGovernorV10-getQuadraticVotingPower}.\n   * @param account The address of the account\n   * @param timepoint The timepoint to get the voting power at\n   * @return uint256 The quadratic voting power\n   */\n  function getQuadraticVotingPower(address account, uint256 timepoint) external view returns (uint256) {\n    return GovernorVotesLogicV10.getQuadraticVotingPower(account, timepoint);\n  }\n\n  /**\n   * @notice Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token\n   * does not implement EIP-6372.\n   * @return uint48 The current clock time\n   */\n  function clock() external view returns (uint48) {\n    return GovernorClockLogicV10.clock();\n  }\n\n  /**\n   * @notice Machine-readable description of the clock as specified in EIP-6372.\n   * @return string The clock mode\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function CLOCK_MODE() external view returns (string memory) {\n    return GovernorClockLogicV10.CLOCK_MODE();\n  }\n\n  /**\n   * @notice The token that voting power is sourced from.\n   * @return IVOT3 The voting token\n   */\n  function token() external view returns (IVOT3) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.vot3;\n  }\n\n  /**\n   * @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n   * @param blockNumber The block number to get the quorum for\n   * @return uint256 The quorum\n   */\n  function quorum(uint256 blockNumber) external view returns (uint256) {\n    return GovernorQuorumLogicV10.quorum(blockNumber);\n  }\n\n  /**\n   * @notice Returns the current quorum numerator. See {quorumDenominator}.\n   * @return uint256 The current quorum numerator\n   */\n  function quorumNumerator() external view returns (uint256) {\n    return GovernorQuorumLogicV10.quorumNumerator();\n  }\n\n  /**\n   * @notice Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\n   * @param timepoint The timepoint to get the quorum numerator for\n   * @return uint256 The quorum numerator at the given timepoint\n   */\n  function quorumNumerator(uint256 timepoint) external view returns (uint256) {\n    return GovernorQuorumLogicV10.quorumNumerator(timepoint);\n  }\n\n  /**\n   * @notice Returns the quorum denominator using the GovernorQuorumFraction library. Defaults to 100, but may be overridden.\n   * @return uint256 The quorum denominator\n   */\n  function quorumDenominator() external pure returns (uint256) {\n    return GovernorQuorumLogicV10.quorumDenominator();\n  }\n\n  /**\n   * @notice Check if a function is restricted by the governor\n   * @param target The address of the contract\n   * @param functionSelector The function selector\n   * @return bool True if the function is whitelisted, false otherwise\n   */\n  function isFunctionWhitelisted(address target, bytes4 functionSelector) external view returns (bool) {\n    return GovernorFunctionRestrictionsLogicV10.isFunctionWhitelisted(target, functionSelector);\n  }\n\n  /**\n   * @notice See {B3TRGovernorV10-minVotingDelay}.\n   * @return uint256 The minimum voting delay\n   */\n  function minVotingDelay() external view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.minVotingDelay;\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-votingPeriod}.\n   * @return uint256 The voting period\n   */\n  function votingPeriod() external view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.xAllocationVoting.votingPeriod();\n  }\n\n  /**\n   * @notice Check if a user has voted at least one time.\n   * @param user The address of the user to check if has voted at least one time\n   * @return bool True if the user has voted once, false otherwise\n   */\n  function hasVotedOnce(address user) external view returns (bool) {\n    return GovernorVotesLogicV10.userVotedOnce(user);\n  }\n\n  /**\n   * @notice Returns if quorum was reached or not\n   * @param proposalId The id of the proposal\n   * @return bool True if quorum was reached, false otherwise\n   */\n  function quorumReached(uint256 proposalId) external view returns (bool) {\n    return GovernorQuorumLogicV10.isQuorumReached(proposalId);\n  }\n\n  /**\n   * @notice Returns the total votes for a proposal\n   * @param proposalId The id of the proposal\n   * @return uint256 The total votes for the proposal\n   */\n  function proposalTotalVotes(uint256 proposalId) external view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposalTotalVotes[proposalId];\n  }\n\n  /**\n   * @notice Accessor to the internal vote counts, in terms of vote power.\n   * @param proposalId The id of the proposal\n   * @return againstVotes The votes against the proposal\n   * @return forVotes The votes for the proposal\n   * @return abstainVotes The votes abstaining the proposal\n   */\n  function proposalVotes(\n    uint256 proposalId\n  ) external view returns (uint256 againstVotes, uint256 forVotes, uint256 abstainVotes) {\n    return GovernorVotesLogicV10.getProposalVotes(proposalId);\n  }\n\n  /**\n   * @notice Returns the counting mode\n   * @return string The counting mode\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function COUNTING_MODE() external pure returns (string memory) {\n    return \"support=bravo&quorum=for,abstain,against\";\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-hasVoted}.\n   * @param proposalId The id of the proposal\n   * @param account The address of the account\n   * @return bool True if the account has voted, false otherwise\n   */\n  function hasVoted(uint256 proposalId, address account) external view returns (bool) {\n    return GovernorVotesLogicV10.hasVoted(proposalId, account);\n  }\n\n  /**\n   * @notice Returns the amount of deposits made to a proposal.\n   * @param proposalId The id of the proposal.\n   * @return uint256 The amount of deposits\n   */\n  function getProposalDeposits(uint256 proposalId) external view returns (uint256) {\n    return GovernorDepositLogicV10.getProposalDeposits(proposalId);\n  }\n\n  /**\n   * @notice Returns true if the threshold of deposits required to reach a proposal has been reached.\n   * @param proposalId The id of the proposal.\n   * @return bool True if the threshold is reached, false otherwise\n   */\n  function proposalDepositReached(uint256 proposalId) external view returns (bool) {\n    return GovernorDepositLogicV10.proposalDepositReached(proposalId);\n  }\n\n  /**\n   * @notice Returns the deposit threshold for a proposal.\n   * @param proposalId The id of the proposal.\n   * @return uint256 The deposit threshold for the proposal.\n   */\n  function proposalDepositThreshold(uint256 proposalId) external view returns (uint256) {\n    return GovernorDepositLogicV10.proposalDepositThreshold(proposalId);\n  }\n\n  /**\n   * @notice Public endpoint to retrieve the timelock id of a proposal.\n   * @param proposalId The id of the proposal\n   * @return bytes32 The timelock id\n   */\n  function getTimelockId(uint256 proposalId) public view returns (bytes32) {\n    return GovernorProposalLogicV10.getTimelockId(proposalId);\n  }\n\n  /**\n   * @notice Returns the amount of tokens a specific user has deposited to a proposal.\n   * @param proposalId The id of the proposal.\n   * @param user The address of the user.\n   * @return uint256 The amount of tokens deposited by the user\n   */\n  function getUserDeposit(uint256 proposalId, address user) external view returns (uint256) {\n    return GovernorDepositLogicV10.getUserDeposit(proposalId, user);\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-name}.\n   * @return string The name of the governor\n   */\n  function name() external view returns (string memory) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.name;\n  }\n\n  /**\n   * @notice Check if quadratic voting is disabled for the current round.\n   * @return true if quadratic voting is disabled, false otherwise.\n   */\n  function isQuadraticVotingDisabledForCurrentRound() external view returns (bool) {\n    return GovernorVotesLogicV10.isQuadraticVotingDisabledForCurrentRound();\n  }\n\n  /**\n   * @notice Check if quadratic voting is disabled at a specific round.\n   * @param roundId - The round ID for which to check if quadratic voting is disabled.\n   * @return true if quadratic voting is disabled, false otherwise.\n   */\n  function isQuadraticVotingDisabledForRound(uint256 roundId) external view returns (bool) {\n    return GovernorVotesLogicV10.isQuadraticVotingDisabledForRound(roundId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-version}.\n   * @return string The version of the governor\n   */\n  function version() external pure returns (string memory) {\n    return \"10\";\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-hashProposal}.\n   * The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array\n   * and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id\n   * can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in\n   * advance, before the proposal is submitted.\n   * Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the\n   * same proposal (with same operation and same description) will have the same id if submitted on multiple governors\n   * across multiple networks. This also means that in order to execute the same operation twice (on the same\n   * governor) the proposer will have to change the description in order to avoid proposal id conflicts.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param descriptionHash The hash of the description\n   * @return uint256 The proposal id\n   */\n  function hashProposal(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) public pure returns (uint256) {\n    return GovernorProposalLogicV10.hashProposal(targets, values, calldatas, descriptionHash);\n  }\n\n  /**\n   * @notice Public endpoint to get the salt used for the timelock operation.\n   * @param descriptionHash The hash of the description\n   * @return bytes32 The timelock salt\n   */\n  function timelockSalt(bytes32 descriptionHash) external view returns (bytes32) {\n    return GovernorGovernanceLogicV10.timelockSalt(descriptionHash, address(this));\n  }\n\n  /**\n   * @notice The voter rewards contract.\n   * @return IVoterRewardsV2 The voter rewards contract\n   */\n  function voterRewards() external view returns (IVoterRewards) {\n    return GovernorStorageTypesV10.getGovernorStorage().voterRewards;\n  }\n\n  /**\n   * @notice The XAllocationVotingGovernor contract.\n   * @return IXAllocationVotingGovernor The XAllocationVotingGovernor contract\n   */\n  function xAllocationVoting() external view returns (IXAllocationVotingGovernor) {\n    return GovernorStorageTypesV10.getGovernorStorage().xAllocationVoting;\n  }\n\n  /**\n   * @notice See {B3TRGovernorV10-b3tr}.\n   * @return IB3TR The B3TR contract\n   */\n  function b3tr() external view returns (IB3TR) {\n    return GovernorStorageTypesV10.getGovernorStorage().b3tr;\n  }\n\n  /**\n   * @notice Public accessor to check the address of the timelock\n   * @return address The address of the timelock\n   */\n  function timelock() external view virtual returns (address) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return address($.timelock);\n  }\n\n  /**\n   * @notice Returns the VeBetterPassport contract.\n   * @return The current VeBetterPassport contract.\n   */\n  function veBetterPassport() external view returns (IVeBetterPassport) {\n    return GovernorStorageTypesV10.getGovernorStorage().veBetterPassport;\n  }\n\n  /**\n   * @notice Returns the NavigatorRegistry contract.\n   * @return INavigatorRegistry The NavigatorRegistry contract\n   */\n  function navigatorRegistry() external view returns (INavigatorRegistry) {\n    return GovernorStorageTypesV10.getGovernorStorage().navigatorRegistry;\n  }\n\n  /**\n   * @notice Returns the RelayerRewardsPool contract.\n   */\n  function relayerRewardsPool() external view returns (IRelayerRewardsPool) {\n    return GovernorStorageTypesV10.getGovernorStorage().relayerRewardsPool;\n  }\n\n  /**\n   * @notice Returns the governance skip window in blocks.\n   */\n  function governanceSkipWindowBlocks() external view returns (uint256) {\n    return GovernorConfiguratorV10.governanceSkipWindowBlocks();\n  }\n\n  /**\n   * @notice Returns currently active proposal IDs.\n   */\n  function getActiveProposals() external view returns (uint256[] memory) {\n    return GovernorProposalLogicV10.getActiveProposals();\n  }\n\n  /**\n   * @notice Returns the proposal type of a proposal.\n   * @param proposalId The id of the proposal\n   * @return GovernorTypesV10.ProposalType The proposal type\n   */\n  function proposalType(uint256 proposalId) external view returns (GovernorTypesV10.ProposalType) {\n    return GovernorTypesV10.ProposalType(GovernorProposalLogicV10.proposalType(proposalId));\n  }\n\n  /**\n   * @notice Returns the deposit threshold for a proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return uint256 The deposit threshold for the proposal type.\n   */\n  function depositThresholdByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorDepositLogicV10.depositThresholdByProposalType(uint8(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the deposit threshold percentage for a proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return uint256 The deposit threshold percentage for the proposal type.\n   */\n  function depositThresholdPercentageByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorConfiguratorV10.getDepositThresholdPercentage(proposalTypeValue);\n  }\n\n  /**\n   * @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n   * @param blockNumber The block number to get the quorum for\n   * @param proposalTypeValue The type of proposal\n   * @return uint256 The quorum\n   */\n  function quorumByProposalType(\n    uint256 blockNumber,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorQuorumLogicV10.quorumByProposalType(blockNumber, uint8(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the quorum numerator for a specific proposal type.\n   * @param proposalTypeValue The type of proposal\n   * @return uint256 The quorum numerator\n   */\n  function quorumNumeratorByProposalType(GovernorTypesV10.ProposalType proposalTypeValue) external view returns (uint256) {\n    return GovernorQuorumLogicV10.quorumNumeratorByProposalType(uint8(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\n   * @param timepoint The timepoint to get the quorum numerator for\n   * @return uint256 The quorum numerator at the given timepoint\n   */\n  function quorumNumeratorByProposalType(\n    uint256 timepoint,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorQuorumLogicV10.quorumNumeratorByProposalType(timepoint, uint8(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the deposit threshold cap for a proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return uint256 The deposit threshold cap for the proposal type.\n   */\n  function depositThresholdCapByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorConfiguratorV10.getDepositThresholdCap(proposalTypeValue);\n  }\n\n  /**\n   * @notice Get the GalaxyMember contract\n   * @return The current GalaxyMember contract\n   */\n  function getGalaxyMemberContract() external view returns (IGalaxyMember) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.galaxyMember;\n  }\n\n  /**\n   * @notice Get the GrantsManager contract\n   * @return The current GrantsManager contract\n   */\n  function getGrantsManagerContract() external view returns (IGrantsManager) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.grantsManager;\n  }\n\n  /**\n   * @notice Get the GM weight for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @return The GM weight for the proposal type\n   */\n  function getRequiredGMLevelByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.requiredGMLevelByProposalType[proposalTypeValue];\n  }\n\n  // ------------------ SETTERS ------------------ //\n\n  /**\n   * @notice Pause the contract\n   */\n  function pause() external onlyRole(PAUSER_ROLE) {\n    _pause();\n  }\n\n  /**\n   * @notice Unpause the contract\n   */\n  function unpause() external onlyRole(PAUSER_ROLE) {\n    _unpause();\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-propose}.\n   * Callable only when contract is not paused.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param description The proposal description\n   * @param startRoundId The round in which the proposal should start\n   * @param depositAmount The amount of deposit for the proposal\n   * @return uint256 The proposal id\n   */\n  function propose(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount\n  ) external whenNotPaused returns (uint256) {\n    return GovernorProposalLogicV10.propose(targets, values, calldatas, description, startRoundId, depositAmount);\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-queue}.\n   * Callable only when contract is not paused.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param descriptionHash The hash of the description\n   * @return uint256 The proposal id\n   */\n  function queue(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external whenNotPaused returns (uint256) {\n    return GovernorProposalLogicV10.queue(address(this), targets, values, calldatas, descriptionHash);\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-execute}.\n   * Callable only when contract is not paused.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param descriptionHash The hash of the description\n   * @return uint256 The proposal id\n   */\n  function execute(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external payable whenNotPaused onlyRoleOrOpenRole(PROPOSAL_EXECUTOR_ROLE) returns (uint256) {\n    return GovernorProposalLogicV10.execute(address(this), targets, values, calldatas, descriptionHash);\n  }\n\n  /**\n   * @notice See {Governor-cancel}.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param descriptionHash The hash of the description\n   * @param reason The reason for canceling the proposal\n   * @return uint256 The proposal id\n   */\n  function cancel(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash,\n    string memory reason\n  ) external returns (uint256) {\n    return\n      GovernorProposalLogicV10.cancel(\n        _msgSender(),\n        hasRole(DEFAULT_ADMIN_ROLE, _msgSender()),\n        targets,\n        values,\n        calldatas,\n        descriptionHash,\n        reason\n      );\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-castVote}.\n   * @param proposalId The id of the proposal\n   * @param support The support value (0 = against, 1 = for, 2 = abstain)\n   * @return uint256 The voting power\n   */\n  function castVote(uint256 proposalId, uint8 support) external returns (uint256) {\n    return GovernorVotesLogicV10.castVote(proposalId, _msgSender(), support, \"\");\n  }\n\n  /**\n   * @notice See {IB3TRGovernorV10-castVoteWithReason}.\n   * @param proposalId The id of the proposal\n   * @param support The support value (0 = against, 1 = for, 2 = abstain)\n   * @param reason The reason for the vote\n   * @return uint256 The voting power\n   */\n  function castVoteWithReason(uint256 proposalId, uint8 support, string calldata reason) external returns (uint256) {\n    return GovernorVotesLogicV10.castVote(proposalId, _msgSender(), support, reason);\n  }\n\n  /**\n   * @notice Cast a governance vote on behalf of a citizen delegated to a navigator.\n   * @param proposalId The id of the proposal\n   * @param citizen The delegated citizen whose voting power is used\n   * @return uint256 The voting weight used\n   */\n  function castNavigatorVote(uint256 proposalId, address citizen) external returns (uint256) {\n    return GovernorVotesLogicV10.castNavigatorVote(proposalId, citizen);\n  }\n\n  /**\n   * @notice Withdraws deposits for a specific proposal\n   * @param proposalId The id of the proposal\n   * @param depositor The address of the depositor\n   */\n  function withdraw(uint256 proposalId, address depositor) external {\n    GovernorDepositLogicV10.withdraw(proposalId, depositor);\n  }\n\n  /**\n   * @notice Deposits tokens for a specific proposal\n   * @param amount The amount of tokens to deposit\n   * @param proposalId The id of the proposal\n   */\n  function deposit(uint256 amount, uint256 proposalId) external {\n    GovernorDepositLogicV10.deposit(amount, proposalId);\n  }\n\n  /**\n   * @notice Changes the quorum numerator.\n   * This operation can only be performed through a governance proposal.\n   * Emits a {QuorumNumeratorUpdated} event.\n   * @param newQuorumNumerator The new quorum numerator\n   */\n  function updateQuorumNumerator(uint256 newQuorumNumerator) external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorQuorumLogicV10.updateQuorumNumerator(newQuorumNumerator);\n  }\n\n  /**\n   * @notice Toggle quadratic voting for next round.\n   * @dev This function toggles the state of quadratic votingstarting from the next round.\n   * The state will flip between enabled and disabled each time the function is called.\n   */\n  function toggleQuadraticVoting() external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorVotesLogicV10.toggleQuadraticVoting();\n  }\n\n  /**\n   * @notice Method that allows to restrict functions that can be called by proposals for a single function selector\n   * @param target The address of the contract\n   * @param functionSelector The function selector\n   * @param isWhitelisted Bool indicating if function is whitelisted for proposals\n   */\n  function setWhitelistFunction(\n    address target,\n    bytes4 functionSelector,\n    bool isWhitelisted\n  ) public onlyRoleOrGovernance(GOVERNOR_FUNCTIONS_SETTINGS_ROLE) {\n    GovernorFunctionRestrictionsLogicV10.setWhitelistFunction(target, functionSelector, isWhitelisted);\n  }\n\n  /**\n   * @notice Method that allows to restrict functions that can be called by proposals for multiple function selectors at once\n   * @param target The address of the contract\n   * @param functionSelectors Array of function selectors\n   * @param isWhitelisted Bool indicating if function is whitelisted for proposals\n   */\n  function setWhitelistFunctions(\n    address target,\n    bytes4[] memory functionSelectors,\n    bool isWhitelisted\n  ) public onlyRoleOrGovernance(GOVERNOR_FUNCTIONS_SETTINGS_ROLE) {\n    GovernorFunctionRestrictionsLogicV10.setWhitelistFunctions(target, functionSelectors, isWhitelisted);\n  }\n\n  /**\n   * @notice Method that allows to toggle the function restriction on/off\n   * @param isEnabled Flag to enable/disable function restriction\n   */\n  function setIsFunctionRestrictionEnabled(\n    bool isEnabled\n  ) public onlyRoleOrGovernance(GOVERNOR_FUNCTIONS_SETTINGS_ROLE) {\n    GovernorFunctionRestrictionsLogicV10.setIsFunctionRestrictionEnabled(isEnabled);\n  }\n\n  /**\n   * @notice Update the min voting delay before vote can start.\n   * This operation can only be performed through a governance proposal.\n   * Emits a {MinVotingDelaySet} event.\n   * @param newMinVotingDelay The new minimum voting delay\n   */\n  function setMinVotingDelay(uint256 newMinVotingDelay) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfiguratorV10.setMinVotingDelay(newMinVotingDelay);\n  }\n\n  /**\n   * @notice Set the governance skip window (blocks before proposal deadline when relayers can skip navigator votes)\n   * @param newValue The new skip window in blocks\n   */\n  function setGovernanceSkipWindowBlocks(uint256 newValue) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfiguratorV10.setGovernanceSkipWindowBlocks(newValue);\n  }\n\n  /**\n   * @notice Set the voter rewards contract\n   * This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\n   * @param newVoterRewards The new voter rewards contract\n   */\n  function setVoterRewards(IVoterRewards newVoterRewards) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfiguratorV10.setVoterRewards(newVoterRewards);\n  }\n\n  /**\n   * @notice Set the xAllocationVoting contract\n   * This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\n   * @param newXAllocationVoting The new xAllocationVoting contract\n   */\n  function setXAllocationVoting(\n    IXAllocationVotingGovernor newXAllocationVoting\n  ) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfiguratorV10.setXAllocationVoting(newXAllocationVoting);\n  }\n\n  /**\n   * @notice Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n   * must be proposed, scheduled, and executed through governance proposals.\n   * CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\n   * @param newTimelock The new timelock controller\n   */\n  function updateTimelock(\n    TimelockControllerUpgradeable newTimelock\n  ) external virtual onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfiguratorV10.updateTimelock(newTimelock);\n  }\n\n  /**\n   * @notice Set the VeBetterPassport contract\n   * @param newVeBetterPassport The new VeBetterPassport contract\n   */\n  function setVeBetterPassport(\n    IVeBetterPassport newVeBetterPassport\n  ) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfiguratorV10.setVeBetterPassport(newVeBetterPassport);\n  }\n\n  /**\n   * @notice Set the NavigatorRegistry contract\n   * @param newNavigatorRegistry The new NavigatorRegistry contract\n   */\n  function setNavigatorRegistry(\n    INavigatorRegistry newNavigatorRegistry\n  ) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfiguratorV10.setNavigatorRegistry(newNavigatorRegistry);\n  }\n\n  /**\n   * @notice Set the RelayerRewardsPool contract\n   * @param newRelayerRewardsPool The new RelayerRewardsPool contract\n   */\n  function setRelayerRewardsPool(\n    IRelayerRewardsPool newRelayerRewardsPool\n  ) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfiguratorV10.setRelayerRewardsPool(newRelayerRewardsPool);\n  }\n\n  /**\n   * @notice Propose a grant\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param description The proposal description\n   * @param startRoundId The round in which the proposal should start\n   * @param depositAmount The amount of deposit for the proposal\n   * @param grantsReceiver The address of the grants receiver\n   * @param milestonesDetailsMetadataURI The IPFS hash containing the milestones descriptions\n   * @return The proposal id\n   */\n  function proposeGrant(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    address grantsReceiver,\n    string memory milestonesDetailsMetadataURI\n  ) external returns (uint256) {\n    return\n      GovernorProposalLogicV10.proposeGrant(\n        targets,\n        values,\n        calldatas,\n        description,\n        startRoundId,\n        depositAmount,\n        grantsReceiver,\n        milestonesDetailsMetadataURI\n      );\n  }\n\n  /**\n   * @notice Reset the development state of a proposal back to pending development\n   * @param proposalId The id of the proposal\n   * @dev This should reset the enum state back to the original one,\n   * since pending development is not tracked in {GovernorStateLogicV10._state} condition\n   */\n  function resetDevelopmentState(uint256 proposalId) public onlyRole(PROPOSAL_STATE_MANAGER_ROLE) {\n    GovernorProposalLogicV10.resetDevelopmentState(proposalId);\n  }\n\n  /**\n   * @notice Mark a proposal as in development\n   * @param proposalId The id of the proposal\n   */\n  function markAsInDevelopment(uint256 proposalId) public onlyRole(PROPOSAL_STATE_MANAGER_ROLE) {\n    GovernorProposalLogicV10.markAsInDevelopment(proposalId);\n  }\n\n  /**\n   * @notice Mark a proposal as completed\n   * @param proposalId The id of the proposal\n   */\n  function markAsCompleted(uint256 proposalId) public onlyRole(PROPOSAL_STATE_MANAGER_ROLE) {\n    GovernorProposalLogicV10.markAsCompleted(proposalId);\n  }\n\n  /**\n   * @notice Changes the quorum numerator for a specific proposal type.\n   * This operation can only be performed through a governance proposal.\n   * Emits a {QuorumNumeratorUpdatedByType} event.\n   * @param newQuorumNumerator The new quorum numerator\n   * @param proposalTypeValue The proposal type\n   */\n  function updateQuorumNumeratorByType(\n    uint256 newQuorumNumerator,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorQuorumLogicV10.updateQuorumNumeratorByType(newQuorumNumerator, proposalTypeValue);\n  }\n\n  /**\n   * @notice Update the deposit threshold for a proposal type. This operation can only be performed through a governance proposal.\n   * Emits a {DepositThresholdSetV2} event.\n   * @param newDepositThreshold The new deposit threshold\n   * @param proposalTypeValue The proposal type\n   */\n  function setProposalTypeDepositThresholdPercentage(\n    uint256 newDepositThreshold,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfiguratorV10.setProposalTypeDepositThresholdPercentage(proposalTypeValue, newDepositThreshold);\n  }\n\n  /**\n   * @notice Update the voting threshold for a proposal type. This operation can only be performed through a governance proposal.\n   * Emits a {VotingThresholdSetV2} event.\n   * @param newVotingThreshold The new voting threshold\n   * @param proposalTypeValue The proposal type\n   */\n  function setProposalTypeVotingThreshold(\n    uint256 newVotingThreshold,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfiguratorV10.setProposalTypeVotingThreshold(proposalTypeValue, newVotingThreshold);\n  }\n\n  /**\n   * @notice Update the deposit threshold cap for a proposal type. This operation can only be performed through a governance proposal or by the DEFAULT_ADMIN_ROLE\n   * Emits a {DepositThresholdCapSet} event.\n   * @param newDepositThresholdCap The new deposit threshold cap\n   * @param proposalTypeValue The proposal type\n   */\n  function setProposalTypeDepositThresholdCap(\n    uint256 newDepositThresholdCap,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfiguratorV10.setProposalTypeDepositThresholdCap(proposalTypeValue, newDepositThresholdCap);\n  }\n\n  /**\n   * @notice Set the GalaxyMember contract\n   * @param newGalaxyMember The new GalaxyMember contract\n   */\n  function setGalaxyMember(\n    IGalaxyMember newGalaxyMember\n  ) external onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfiguratorV10.setGalaxyMemberContract(newGalaxyMember);\n  }\n\n  /**\n   * @notice Set the GrantsManager contract\n   * @param newGrantsManager The new GrantsManager contract\n   */\n  function setGrantsManager(\n    IGrantsManager newGrantsManager\n  ) external onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfiguratorV10.setGrantsManagerContract(newGrantsManager);\n  }\n\n  /**\n   * @notice Set the GM weight for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @param newGMWeight The new GM weight for the proposal type\n   * @notice e.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal\n   */\n  function setRequiredGMLevelByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue,\n    uint256 newGMWeight\n  ) external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfiguratorV10.setRequiredGMLevelByProposalType(proposalTypeValue, newGMWeight);\n  }\n\n  /**\n   * @notice Get the deposit voting power for a given account at a given timepoint\n   * @param account The address of the account\n   * @param timepoint The timepoint\n   * @return The deposit voting power\n   */\n  function getDepositVotingPower(address account, uint256 timepoint) public view returns (uint256) {\n    return GovernorDepositLogicV10.getDepositVotingPower(account, timepoint);\n  }\n\n  // ------------------ Overrides ------------------ //\n\n  /**\n   * @notice Authorizes upgrade to a new implementation\n   * @param newImplementation The address of the new implementation\n   */\n  function _authorizeUpgrade(address newImplementation) internal override onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {}\n\n  /**\n   * @notice Checks if the contract supports a specific interface\n   * @param interfaceId The interface id to check\n   * @return bool True if the interface is supported, false otherwise\n   */\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public pure override(IERC165, AccessControlUpgradeable) returns (bool) {\n    return\n      interfaceId == type(IB3TRGovernorV10).interfaceId ||\n      interfaceId == type(IERC1155Receiver).interfaceId ||\n      interfaceId == type(IERC165).interfaceId;\n  }\n\n  /**\n   * @notice See {IERC1155Receiver-onERC1155Received}.\n   * Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n   * @return bytes4 The selector of the function\n   */\n  function onERC1155Received(address, address, uint256, uint256, bytes memory) public virtual returns (bytes4) {\n    if (GovernorGovernanceLogicV10.executor() != address(this)) {\n      revert GovernorDisabledDeposit();\n    }\n    return this.onERC1155Received.selector;\n  }\n\n  /**\n   * @notice See {IERC721Receiver-onERC721Received}.\n   * Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n   * @return bytes4 The selector of the function\n   */\n  function onERC721Received(address, address, uint256, bytes memory) public virtual returns (bytes4) {\n    if (GovernorGovernanceLogicV10.executor() != address(this)) {\n      revert GovernorDisabledDeposit();\n    }\n    return this.onERC721Received.selector;\n  }\n\n  /**\n   * @notice See {IERC1155Receiver-onERC1155BatchReceived}.\n   * Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n   * @return bytes4 The selector of the function\n   */\n  function onERC1155BatchReceived(\n    address,\n    address,\n    uint256[] memory,\n    uint256[] memory,\n    bytes memory\n  ) public virtual returns (bytes4) {\n    if (GovernorGovernanceLogicV10.executor() != address(this)) {\n      revert GovernorDisabledDeposit();\n    }\n    return this.onERC1155BatchReceived.selector;\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypesV10 } from \"./GovernorStorageTypesV10.sol\";\nimport { IVOT3 } from \"../../../../interfaces/IVOT3.sol\";\nimport { Time } from \"@openzeppelin/contracts/utils/types/Time.sol\";\n\n/// @title GovernorClockLogicV10 Library\n/// @notice Library for managing the clock logic as specified in EIP-6372, with fallback to block numbers.\n/// @dev This library interacts with the IVOT3 interface to get the clock time or mode.\nlibrary GovernorClockLogicV10 {\n  /**\n   * @notice Returns the current timepoint from the token's clock, falling back to the current block number if the token does not implement EIP-6372.\n   * @dev Tries to get the timepoint from the vot3 clock. If it fails, it returns the current block number.\n   * @return The current timepoint or block number.\n   */\n  function clock() external view returns (uint48) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    try $.vot3.clock() returns (uint48 timepoint) {\n      return timepoint;\n    } catch {\n      return Time.blockNumber();\n    }\n  }\n\n  /**\n   * @notice Returns the machine-readable description of the clock mode as specified in EIP-6372.\n   * @dev Tries to get the clock mode from the vot3 interface. If it fails, it returns the default block number mode.\n   * @return The clock mode as a string.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function CLOCK_MODE() external view returns (string memory) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    try $.vot3.CLOCK_MODE() returns (string memory clockmode) {\n      return clockmode;\n    } catch {\n      return \"mode=blocknumber&from=default\";\n    }\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypesV10 } from \"./GovernorStorageTypesV10.sol\";\nimport { IVOT3 } from \"../../../../interfaces/IVOT3.sol\";\nimport { IVoterRewards } from \"../../../../interfaces/IVoterRewards.sol\";\nimport { IXAllocationVotingGovernor } from \"../../../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { TimelockControllerUpgradeable } from \"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\";\nimport { IB3TR } from \"../../../../interfaces/IB3TR.sol\";\nimport { IVeBetterPassport } from \"../../../../interfaces/IVeBetterPassport.sol\";\nimport { GovernorProposalLogicV10 } from \"./GovernorProposalLogicV10.sol\";\nimport { GovernorTypesV10 } from \"./GovernorTypesV10.sol\";\nimport { IGalaxyMember } from \"../../../../interfaces/IGalaxyMember.sol\";\nimport { IGrantsManager } from \"../../../../interfaces/IGrantsManager.sol\";\nimport { INavigatorRegistry } from \"../../../../interfaces/INavigatorRegistry.sol\";\nimport { IRelayerRewardsPool } from \"../../../../interfaces/IRelayerRewardsPool.sol\";\n\n/// @title GovernorConfiguratorV10 Library\n/// @notice Library for managing the configuration of a Governor contract.\n/// @dev This library provides functions to set and get various configuration parameters and contracts used by the Governor contract.\nlibrary GovernorConfiguratorV10 {\n  /// @dev Emitted when the `votingThreshold` is set.\n  event VotingThresholdSet(uint256 oldVotingThreshold, uint256 newVotingThreshold);\n\n  /// @dev Emitted when the minimum delay before vote starts is set.\n  event MinVotingDelaySet(uint256 oldMinMinVotingDelay, uint256 newMinVotingDelay);\n\n  /// @dev Emitted when the deposit threshold percentage is set.\n  event DepositThresholdSet(uint256 oldDepositThreshold, uint256 newDepositThreshold);\n\n  /// @dev Emitted when the voter rewards contract is set.\n  event VoterRewardsSet(address oldContractAddress, address newContractAddress);\n\n  /// @dev Emitted when the XAllocationVotingGovernor contract is set.\n  event XAllocationVotingSet(address oldContractAddress, address newContractAddress);\n\n  /// @dev Emitted when the timelock controller used for proposal execution is modified.\n  event TimelockChange(address oldTimelock, address newTimelock);\n\n  /// @dev Emitted when the VeBetterPassport contract is set.\n  event VeBetterPassportSet(address oldVeBetterPassport, address newVeBetterPassport);\n  event NavigatorRegistrySet(address oldNavigatorRegistry, address newNavigatorRegistry);\n  event RelayerRewardsPoolSet(address oldRelayerRewardsPool, address newRelayerRewardsPool);\n  event GovernanceSkipWindowBlocksSet(uint256 oldValue, uint256 newValue);\n\n  /// @dev The deposit threshold is not in the valid range for a percentage - 0 to 100.\n  error GovernorDepositThresholdNotInRange(uint256 depositThreshold);\n\n  /// @dev The GM level is not in the valid range - 0 to max level.\n  error GMLevelAboveMaxLevel(uint256 gmLevel);\n\n  /// @dev Emitted when the `votingThreshold` for a proposal type is set.\n  event VotingThresholdSetV2(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 oldVotingThreshold,\n    uint256 newVotingThreshold\n  );\n\n  /// @dev Emitted when the deposit threshold percentage for a proposal type is set.\n  event DepositThresholdSetV2(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 oldDepositThreshold,\n    uint256 newDepositThreshold\n  );\n  /// @dev Emitted when the deposit threshold cap for a proposal type is set.\n  event DepositThresholdCapSet(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 oldDepositThresholdCap,\n    uint256 newDepositThresholdCap\n  );\n\n  /// @dev Emitted when the required GM level for a proposal type is set.\n  event RequiredGMLevelSet(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 oldRequiredGMLevel,\n    uint256 newRequiredGMLevel\n  );\n\n  /**------------------ SETTERS ------------------**/\n\n  /**\n   * @notice Sets the VeBetterPassport contract.\n   * @dev Sets a new VeBetterPassport contract and emits a {VeBetterPassportSet} event.\n   * @param newVeBetterPassport The new VeBetterPassport contract.\n   */\n  function setVeBetterPassport(IVeBetterPassport newVeBetterPassport) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    emit VeBetterPassportSet(address($.veBetterPassport), address(newVeBetterPassport));\n    $.veBetterPassport = newVeBetterPassport;\n  }\n\n  /**\n   * @notice Sets the NavigatorRegistry contract.\n   * @param newNavigatorRegistry The new NavigatorRegistry contract.\n   */\n  function setNavigatorRegistry(INavigatorRegistry newNavigatorRegistry) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    emit NavigatorRegistrySet(address($.navigatorRegistry), address(newNavigatorRegistry));\n    $.navigatorRegistry = newNavigatorRegistry;\n  }\n\n  /**\n   * @notice Sets the RelayerRewardsPool contract.\n   * @param newRelayerRewardsPool The new RelayerRewardsPool contract.\n   */\n  function setRelayerRewardsPool(IRelayerRewardsPool newRelayerRewardsPool) external {\n    require(\n      address(newRelayerRewardsPool) != address(0),\n      \"GovernorConfiguratorV10: relayer rewards pool address cannot be zero\"\n    );\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    emit RelayerRewardsPoolSet(address($.relayerRewardsPool), address(newRelayerRewardsPool));\n    $.relayerRewardsPool = newRelayerRewardsPool;\n  }\n\n  /**\n   * @notice Sets the governance skip window in blocks.\n   * @param newValue The new skip window in blocks (must be > 0).\n   */\n  function setGovernanceSkipWindowBlocks(uint256 newValue) external {\n    require(newValue > 0, \"GovernorConfiguratorV10: skip window must be > 0\");\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    emit GovernanceSkipWindowBlocksSet($.governanceSkipWindowBlocks, newValue);\n    $.governanceSkipWindowBlocks = newValue;\n  }\n\n  /**\n   * @notice Sets the minimum delay before vote starts.\n   * @dev Sets a new minimum voting delay and emits a {MinVotingDelaySet} event.\n   * @param newMinVotingDelay The new minimum voting delay.\n   */\n  function setMinVotingDelay(uint256 newMinVotingDelay) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    emit MinVotingDelaySet($.minVotingDelay, newMinVotingDelay);\n    $.minVotingDelay = newMinVotingDelay;\n  }\n\n  /**\n   * @notice Sets the voter rewards contract.\n   * @dev Sets a new voter rewards contract and emits a {VoterRewardsSet} event.\n   * @param newVoterRewards The new voter rewards contract.\n   */\n  function setVoterRewards(IVoterRewards newVoterRewards) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(address(newVoterRewards) != address(0), \"GovernorConfiguratorV10: voterRewards address cannot be zero\");\n    emit VoterRewardsSet(address($.voterRewards), address(newVoterRewards));\n    $.voterRewards = newVoterRewards;\n  }\n\n  /**\n   * @notice Sets the XAllocationVotingGovernor contract.\n   * @dev Sets a new XAllocationVotingGovernor contract and emits a {XAllocationVotingSet} event.\n   * @param newXAllocationVoting The new XAllocationVotingGovernor contract.\n   */\n  function setXAllocationVoting(IXAllocationVotingGovernor newXAllocationVoting) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(\n      address(newXAllocationVoting) != address(0),\n      \"GovernorConfiguratorV10: xAllocationVoting address cannot be zero\"\n    );\n    emit XAllocationVotingSet(address($.xAllocationVoting), address(newXAllocationVoting));\n    $.xAllocationVoting = newXAllocationVoting;\n  }\n\n  /**\n   * @notice Updates the timelock controller.\n   * @dev Sets a new timelock controller and emits a {TimelockChange} event.\n   * @param newTimelock The new timelock controller.\n   */\n  function updateTimelock(TimelockControllerUpgradeable newTimelock) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(address(newTimelock) != address(0), \"GovernorConfiguratorV10: timelock address cannot be zero\");\n    emit TimelockChange(address($.timelock), address(newTimelock));\n    $.timelock = newTimelock;\n  }\n\n  /**\n   * @notice Sets the deposit threshold percentage for a proposal type.\n   * @dev Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\n   * @param proposalType The proposal type.\n   * @param newDepositThreshold The new deposit threshold percentage.\n   */\n  function setProposalTypeDepositThresholdPercentage(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 newDepositThreshold\n  ) external {\n    require(GovernorProposalLogicV10.isValidProposalType(proposalType), \"GovernorConfiguratorV10: invalid proposal type\");\n    if (newDepositThreshold > 100) {\n      revert GovernorDepositThresholdNotInRange(newDepositThreshold);\n    }\n    _setProposalTypeDepositThresholdPercentage(proposalType, newDepositThreshold); //\n  }\n\n  /**\n   * @notice Sets the deposit threshold percentage for a proposal type.\n   * @dev Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\n   * @param proposalType The proposal type.\n   * @param newDepositThreshold The new deposit threshold percentage.\n   */\n  function _setProposalTypeDepositThresholdPercentage(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 newDepositThreshold\n  ) internal {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    emit DepositThresholdSetV2(\n      proposalType,\n      $.proposalTypeDepositThresholdPercentage[proposalType],\n      newDepositThreshold\n    );\n    $.proposalTypeDepositThresholdPercentage[proposalType] = newDepositThreshold;\n  }\n\n  /**\n   * @notice Sets the voting threshold for a proposal type.\n   * @dev Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\n   * @param proposalType The proposal type.\n   * @param newVotingThreshold The new voting threshold.\n   */\n  function setProposalTypeVotingThreshold(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 newVotingThreshold\n  ) external {\n    require(GovernorProposalLogicV10.isValidProposalType(proposalType), \"GovernorConfiguratorV10: invalid proposal type\");\n    _setProposalTypeVotingThreshold(proposalType, newVotingThreshold);\n  }\n\n  /**\n   * @notice Sets the voting threshold for a proposal type.\n   * @dev Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\n   * @param proposalType The proposal type.\n   * @param newVotingThreshold The new voting threshold.\n   */\n  function _setProposalTypeVotingThreshold(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 newVotingThreshold\n  ) internal {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    emit VotingThresholdSetV2(proposalType, $.proposalTypeVotingThreshold[proposalType], newVotingThreshold);\n    $.proposalTypeVotingThreshold[proposalType] = newVotingThreshold;\n  }\n\n  /**\n   * @notice Sets the deposit threshold cap for a proposal type.\n   * @dev Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\n   * @param proposalType The proposal type.\n   * @param newDepositThresholdCap The new deposit threshold cap.\n   */\n  function setProposalTypeDepositThresholdCap(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 newDepositThresholdCap\n  ) external {\n    require(GovernorProposalLogicV10.isValidProposalType(proposalType), \"GovernorConfiguratorV10: invalid proposal type\");\n    _setProposalTypeDepositThresholdCap(proposalType, newDepositThresholdCap);\n  }\n\n  /**\n   * @notice Sets the deposit threshold cap for a proposal type.\n   * @dev Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\n   * @param proposalType The proposal type.\n   * @param newDepositThresholdCap The new deposit threshold cap.\n   */\n  function _setProposalTypeDepositThresholdCap(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 newDepositThresholdCap\n  ) internal {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    emit DepositThresholdCapSet(proposalType, $.proposalTypeDepositThresholdCap[proposalType], newDepositThresholdCap);\n    $.proposalTypeDepositThresholdCap[proposalType] = newDepositThresholdCap;\n  }\n\n  function setGalaxyMemberContract(IGalaxyMember newGalaxyMember) external {\n    require(address(newGalaxyMember) != address(0), \"GovernorConfiguratorV10: GalaxyMember address cannot be zero\");\n    _setGalaxyMemberContract(newGalaxyMember);\n  }\n\n  /**\n   * @notice Sets the GalaxyMember contract.\n   * @param newGalaxyMember The new GalaxyMember contract.\n   */\n  function _setGalaxyMemberContract(IGalaxyMember newGalaxyMember) internal {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(address(newGalaxyMember) != address(0), \"GovernorConfiguratorV10: GalaxyMember address cannot be zero\");\n    $.galaxyMember = newGalaxyMember;\n  }\n\n  function setGrantsManagerContract(IGrantsManager newGrantsManager) external {\n    require(address(newGrantsManager) != address(0), \"GovernorConfiguratorV10: GrantsManager address cannot be zero\");\n    _setGrantsManagerContract(newGrantsManager);\n  }\n\n  /**\n   * @notice Sets the GrantsManager contract.\n   * @param newGrantsManager The new GrantsManager contract.\n   */\n  function _setGrantsManagerContract(IGrantsManager newGrantsManager) internal {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(address(newGrantsManager) != address(0), \"GovernorConfiguratorV10: GrantsManager address cannot be zero\");\n    $.grantsManager = newGrantsManager;\n  }\n\n  /**------------------ GETTERS ------------------**/\n  /**\n   * @notice Returns the voting threshold.\n   * @param proposalType The proposal type.\n   * @return The current voting threshold.\n   */\n  function getVotingThreshold(GovernorTypesV10.ProposalType proposalType) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(GovernorProposalLogicV10.isValidProposalType(proposalType), \"GovernorConfiguratorV10: invalid proposal type\");\n    return $.proposalTypeVotingThreshold[proposalType];\n  }\n\n  /**\n   * @notice Returns the minimum delay before vote starts.\n   * @return The current minimum voting delay.\n   */\n  function getMinVotingDelay() internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.minVotingDelay;\n  }\n\n  /**\n   * @notice Returns the deposit threshold percentage.\n   * @param proposalType The proposal type.\n   * @return The current deposit threshold percentage.\n   */\n  function getDepositThresholdPercentage(GovernorTypesV10.ProposalType proposalType) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(GovernorProposalLogicV10.isValidProposalType(proposalType), \"GovernorConfiguratorV10: invalid proposal type\");\n    return $.proposalTypeDepositThresholdPercentage[proposalType];\n  }\n\n  /**\n   * @notice Returns the VeBetterPassport contract.\n   * @return The current VeBetterPassport contract.\n   */\n  function veBetterPassport() internal view returns (IVeBetterPassport) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.veBetterPassport;\n  }\n\n  /**\n   * @notice Returns the deposit threshold cap for a proposal type.\n   * @param proposalType The proposal type.\n   * @return The current deposit threshold cap.\n   */\n  function getDepositThresholdCap(GovernorTypesV10.ProposalType proposalType) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(GovernorProposalLogicV10.isValidProposalType(proposalType), \"GovernorConfiguratorV10: invalid proposal type\");\n    return $.proposalTypeDepositThresholdCap[proposalType];\n  }\n\n  /**\n   * @notice Returns the GalaxyMember contract.\n   * @return The current GalaxyMember contract.\n   */\n  function getGalaxyMemberContract() internal view returns (IGalaxyMember) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.galaxyMember;\n  }\n\n  /**\n   * @notice Returns the GrantsManager contract.\n   * @return The current GrantsManager contract.\n   */\n  function getGrantsManagerContract() internal view returns (IGrantsManager) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.grantsManager;\n  }\n\n  /**\n   * @notice Returns the GM weight for a proposal type.\n   * @param proposalTypeValue The proposal type.\n   * @return The current GM weight for the proposal type.\n   */\n  function getRequiredGMLevelByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(\n      GovernorProposalLogicV10.isValidProposalType(proposalTypeValue),\n      \"GovernorConfiguratorV10: invalid proposal type\"\n    );\n    return $.requiredGMLevelByProposalType[proposalTypeValue];\n  }\n\n  /**\n   * @notice Sets the GM weight for a proposal type.\n   * @param proposalTypeValue The proposal type.\n   * @param newGMWeight The new GM weight for the proposal type.\n   */\n  /**\n   * @notice Returns the governance skip window in blocks.\n   * @return The governance skip window in blocks.\n   */\n  function governanceSkipWindowBlocks() internal view returns (uint256) {\n    return GovernorStorageTypesV10.getGovernorStorage().governanceSkipWindowBlocks;\n  }\n\n  function setRequiredGMLevelByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue,\n    uint256 newGMWeight\n  ) internal {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 maxGMWeight = $.galaxyMember.MAX_LEVEL();\n    uint256 oldRequiredGMLevel = $.requiredGMLevelByProposalType[proposalTypeValue];\n    require(\n      GovernorProposalLogicV10.isValidProposalType(proposalTypeValue),\n      \"GovernorConfiguratorV10: invalid proposal type\"\n    );\n\n    if (newGMWeight > maxGMWeight) {\n      revert GMLevelAboveMaxLevel(newGMWeight);\n    }\n    emit RequiredGMLevelSet(proposalTypeValue, oldRequiredGMLevel, newGMWeight);\n    $.requiredGMLevelByProposalType[proposalTypeValue] = newGMWeight;\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypesV10 } from \"./GovernorStorageTypesV10.sol\";\nimport { GovernorStateLogicV10 } from \"./GovernorStateLogicV10.sol\";\nimport { GovernorTypesV10 } from \"./GovernorTypesV10.sol\";\nimport { GovernorConfiguratorV10 } from \"./GovernorConfiguratorV10.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { GovernorClockLogicV10 } from \"./GovernorClockLogicV10.sol\";\n/// @title GovernorDepositLogicV10 Library\n/// @notice Library for managing deposits related to proposals in the Governor contract.\n/// @dev This library provides functions to deposit and withdraw tokens for proposals, and to get deposit-related information.\nlibrary GovernorDepositLogicV10 {\n  using Checkpoints for Checkpoints.Trace208;\n  /// @dev Emitted when a deposit is made to a proposal.\n  event ProposalDeposit(address indexed depositor, uint256 indexed proposalId, uint256 amount);\n\n  /// @dev Emitted when a deposit is withdrawn from a proposal.\n  event ProposalWithdraw(address indexed withdrawer, uint256 indexed proposalId, uint256 amount);\n\n  /// @dev Thrown when there is no deposit to withdraw.\n  error GovernorNoDepositToWithdraw(uint256 proposalId, address depositer);\n\n  /// @dev Thrown when the deposit amount is invalid (must be greater than 0).\n  error GovernorInvalidDepositAmount();\n\n  /// @dev Thrown when the proposal ID does not exist.\n  error GovernorNonexistentProposal(uint256 proposalId);\n\n  /// @dev Thrown when the grantee tries to deposit for their own grant.\n  error GranteeCannotDepositOwnGrant(uint256 proposalId);\n\n  // --------------- SETTERS ---------------\n  /**\n   * @notice Deposits tokens for a proposal.\n   * @dev Proposer and proposal sponsors can contribute towards a proposal's deposit using this function. The proposal must be in the Pending state to make a deposit. The amount deposited from an address is tracked and can be withdrawn by the same address when the voting round is over.\n   * @param amount The amount of tokens to deposit.\n   * @param proposalId The ID of the proposal.\n   */\n  function deposit(uint256 amount, uint256 proposalId) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    if (amount == 0) {\n      revert GovernorInvalidDepositAmount();\n    }\n\n    GovernorTypesV10.ProposalCore storage proposal = $.proposals[proposalId];\n\n    if (proposal.roundIdVoteStart == 0) {\n      revert GovernorNonexistentProposal(proposalId);\n    }\n\n    if (proposal.proposer == msg.sender && $.proposalType[proposalId] == GovernorTypesV10.ProposalType.Grant) {\n      revert GranteeCannotDepositOwnGrant(proposalId);\n    }\n\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Pending)\n    );\n\n    proposal.depositAmount += amount;\n\n    depositFunds(amount, msg.sender, proposalId);\n  }\n\n  /**\n   * @notice Withdraws tokens previously deposited to a proposal.\n   * @dev A depositor can only withdraw their tokens once the proposal is no longer Pending or Active. Each address can only withdraw once per proposal. Reverts if no deposits are available to withdraw or if the deposits have already been withdrawn by the message sender. Reverts if the token transfer fails.\n   * @param proposalId The ID of the proposal to withdraw deposits from.\n   * @param depositer The address of the depositor.\n   */\n  function withdraw(uint256 proposalId, address depositer) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 amount = $.deposits[proposalId][depositer];\n\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.ALL_PROPOSAL_STATES_BITMAP ^\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Pending)\n    );\n\n    if (amount == 0) {\n      revert GovernorNoDepositToWithdraw(proposalId, depositer);\n    }\n\n    $.deposits[proposalId][depositer] = 0;\n\n    uint208 currentVotes = $.depositsVotingPower[depositer].upperLookupRecent(GovernorClockLogicV10.clock());\n    uint208 newVotes = SafeCast.toUint208(currentVotes - amount);\n    $.depositsVotingPower[depositer].push(GovernorClockLogicV10.clock(), newVotes);\n\n    require($.vot3.transfer(depositer, amount), \"B3TRGovernorV10: transfer failed\");\n\n    emit ProposalWithdraw(depositer, proposalId, amount);\n  }\n\n  /**\n   * @notice Internal function to deposit tokens to a proposal and store the deposit in the deposits checkpoint.\n   * @dev Emits a {ProposalDeposit} event.\n   * @param amount The amount of tokens to deposit.\n   * @param depositor The address of the depositor.\n   * @param proposalId The ID of the proposal.\n   */\n  function depositFunds(\n    uint256 amount,\n    address depositor,\n    uint256 proposalId\n  ) internal {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require($.vot3.transferFrom(depositor, address(this), amount), \"B3TRGovernorV10: transfer failed\");\n\n    $.deposits[proposalId][depositor] += amount;\n\n    uint208 currentVotes = $.depositsVotingPower[depositor].upperLookupRecent(GovernorClockLogicV10.clock());\n    uint208 newVotes = currentVotes + SafeCast.toUint208(amount);\n    $.depositsVotingPower[depositor].push(GovernorClockLogicV10.clock(), newVotes);\n\n    emit ProposalDeposit(depositor, proposalId, amount);\n  }\n\n  // --------------- GETTERS ---------------\n  /**\n   * @notice Returns the amount of tokens deposited by a user for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @param user The address of the user.\n   * @return uint256 The amount of tokens deposited by the user.\n   */\n  function getUserDeposit(\n    uint256 proposalId,\n    address user\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.deposits[proposalId][user];\n  }\n\n  /**\n   * @notice Returns the deposit threshold for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return uint256 The deposit threshold for the proposal.\n   */\n  function proposalDepositThreshold(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposals[proposalId].depositThreshold;\n  }\n\n  /**\n   * @notice Returns the total amount of deposits made to a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return uint256 The total amount of deposits made to the proposal.\n   */\n  function getProposalDeposits(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposals[proposalId].depositAmount;\n  }\n\n  /**\n   * @notice Returns true if the threshold of deposits required to reach a proposal has been reached.\n   * @param proposalId The ID of the proposal.\n   * @return True if the deposit threshold has been reached, false otherwise.\n   */\n  function proposalDepositReached(\n    uint256 proposalId\n  ) internal view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalCore storage proposal = $.proposals[proposalId];\n    return proposal.depositAmount >= proposal.depositThreshold;\n  }\n\n  /**\n   * @notice Internal function to calculate the deposit threshold for a proposal type as a percentage of the total supply of B3TR tokens.\n   * @dev In case the percentage based threshold is greater than the max threshold, the max threshold is returned.\n   * @param proposalType The type of proposal.\n   * @return uint256 The deposit threshold for the proposal type.\n   */\n  function _depositThresholdByProposalType(\n    GovernorTypesV10.ProposalType proposalType\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 percentageBasedThreshold = (GovernorConfiguratorV10.getDepositThresholdPercentage(proposalType) *\n      $.b3tr.totalSupply()) / 100;\n    uint256 maxThreshold = GovernorConfiguratorV10.getDepositThresholdCap(proposalType);\n\n    if (percentageBasedThreshold > maxThreshold) {\n      return maxThreshold;\n    }\n\n    return percentageBasedThreshold;\n  }\n  /**\n   * @notice Returns the deposit threshold for a proposal type.\n   * @param proposalTypeValue The type of proposal (uint8-encoded enum).\n   * @return uint256 The deposit threshold for the proposal type.\n   */\n  function depositThresholdByProposalType(\n    uint8 proposalTypeValue\n  ) external view returns (uint256) {\n    return _depositThresholdByProposalType(GovernorTypesV10.ProposalType(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the deposit voting power for a given account at a given timepoint.\n   * @param account The address of the account.\n   * @param timepoint The timepoint.\n   * @return The deposit voting power.\n   */\n  function getDepositVotingPower(\n    address account,\n    uint256 timepoint\n  ) public view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.depositsVotingPower[account].upperLookupRecent(SafeCast.toUint48(timepoint));\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypesV10 } from \"./GovernorStorageTypesV10.sol\";\n\n/// @title GovernorFunctionRestrictionsLogicV10\n/// @notice Library for managing function restrictions within the Governor contract.\n/// @dev This library provides functions to whitelist or restrict functions that can be called by proposals.\nlibrary GovernorFunctionRestrictionsLogicV10 {\n  /// @notice Error message for when a function is restricted by the governor.\n  /// @param functionSelector The function selector that is restricted.\n  error GovernorRestrictedFunction(bytes4 functionSelector);\n\n  /// @notice Error message for when a function selector is invalid.\n  /// @param selector The function selector that is invalid.\n  error GovernorFunctionInvalidSelector(bytes selector);\n\n  /// @notice Emitted when a function is whitelisted by the governor.\n  /// @param target The address of the contract.\n  /// @param functionSelector The function selector.\n  /// @param isWhitelisted Boolean indicating if the function is whitelisted.\n  event FunctionWhitelisted(address indexed target, bytes4 indexed functionSelector, bool isWhitelisted);\n\n  // --------------- SETTERS ---------------\n  /**\n   * @notice Set the whitelist status of a function for proposals.\n   * @dev This method allows restricting functions that can be called by proposals for a single function selector.\n   * @param target The address of the contract.\n   * @param functionSelector The function selector.\n   * @param isWhitelisted Boolean indicating if the function is whitelisted for proposals.\n   */\n  function setWhitelistFunction(\n    address target,\n    bytes4 functionSelector,\n    bool isWhitelisted\n  ) public {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    require(target != address(0), \"GovernorFunctionRestrictionsLogicV10: target is the zero address\");\n    $.whitelistedFunctions[target][functionSelector] = isWhitelisted;\n    emit FunctionWhitelisted(target, functionSelector, isWhitelisted);\n  }\n\n  function setWhitelistFunctions(\n    address target,\n    bytes4[] memory functionSelectors,\n    bool isWhitelisted\n  ) external {\n    for (uint256 i; i < functionSelectors.length; i++) {\n      setWhitelistFunction(target, functionSelectors[i], isWhitelisted);\n    }\n  }\n\n  function setIsFunctionRestrictionEnabled(bool isEnabled) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    $.isFunctionRestrictionEnabled = isEnabled;\n  }\n\n  // --------------- GETTERS ---------------\n  function isFunctionWhitelisted(\n    address target,\n    bytes4 functionSelector\n  ) internal view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.whitelistedFunctions[target][functionSelector];\n  }\n\n  function checkFunctionsRestriction(\n    address[] memory targets,\n    bytes[] memory calldatas\n  ) internal view {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    if ($.isFunctionRestrictionEnabled) {\n      for (uint256 i; i < targets.length; i++) {\n        bytes4 functionSelector = extractFunctionSelector(calldatas[i]);\n        if (!$.whitelistedFunctions[targets[i]][functionSelector]) {\n          revert GovernorRestrictedFunction(functionSelector);\n        }\n      }\n    }\n  }\n\n  // --------------- PRIVATE FUNCTIONS ---------------\n  /**\n   * @notice Extract the function selector from the calldata.\n   * @dev Internal pure function to extract the function selector from the calldata.\n   * @param data The calldata from which to extract the function selector.\n   * @return bytes4 The extracted function selector.\n   */\n  function extractFunctionSelector(bytes memory data) private pure returns (bytes4) {\n    if (data.length < 4) revert GovernorFunctionInvalidSelector(data);\n    bytes4 sig;\n    assembly {\n      sig := mload(add(data, 32))\n    }\n    return sig;\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypesV10 } from \"./GovernorStorageTypesV10.sol\";\nimport { DoubleEndedQueue } from \"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\";\n\n/// @title GovernorGovernanceLogicV10\n/// @notice Library for validating descriptions in governance proposals based on the proposer's address suffix.\n/// @dev This library provides functions to manage the governance execution flow and validate the governance executor.\nlibrary GovernorGovernanceLogicV10 {\n  using DoubleEndedQueue for DoubleEndedQueue.Bytes32Deque;\n\n  /// @dev Thrown when the `account` is not the governance executor.\n  /// @param account The address that attempted the unauthorized action.\n  error GovernorOnlyExecutor(address account);\n\n  /**\n   * @notice Get the salt used for the timelock operation.\n   * @dev Combines the contract address and description hash to generate a unique salt.\n   * @param descriptionHash The hash of the proposal description.\n   * @param contractAddress The address of the calling governance contract.\n   * @return The generated salt as a bytes32 value.\n   */\n  function timelockSalt(bytes32 descriptionHash, address contractAddress) internal pure returns (bytes32) {\n    return bytes20(contractAddress) ^ descriptionHash;\n  }\n\n  /**\n   * @notice Get the address through which the governor executes actions.\n   * @dev Returns the timelock address used by the governor.\n   * @return The executor address.\n   */\n  function executor() internal view returns (address) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return address($.timelock);\n  }\n\n  /**\n   * @notice Validates that the `msg.sender` is the executor.\n   * @dev Reverts if the `msg.sender` is not the executor. If the executor is not the calling contract itself, it verifies that the `msg.data` is whitelisted.\n   * @param sender The address of the sender.\n   * @param data The calldata to be validated.\n   * @param contractAddress The address of the calling governance contract.\n   */\n  function checkGovernance(\n    address sender,\n    bytes calldata data,\n    address contractAddress\n  ) internal {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    if (executor() != sender) {\n      revert GovernorOnlyExecutor(sender);\n    }\n    if (executor() != contractAddress) {\n      bytes32 msgDataHash = keccak256(data);\n      // Loop until popping the expected operation, revert if deque is empty (operation not authorized)\n      while ($.governanceCall.popFront() != msgDataHash) {}\n    }\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypesV10 } from \"./GovernorStorageTypesV10.sol\";\nimport { GovernorTypesV10 } from \"./GovernorTypesV10.sol\";\nimport { GovernorStateLogicV10 } from \"./GovernorStateLogicV10.sol\";\nimport { GovernorClockLogicV10 } from \"./GovernorClockLogicV10.sol\";\nimport { GovernorDepositLogicV10 } from \"./GovernorDepositLogicV10.sol\";\nimport { GovernorGovernanceLogicV10 } from \"./GovernorGovernanceLogicV10.sol\";\nimport { GovernorFunctionRestrictionsLogicV10 } from \"./GovernorFunctionRestrictionsLogicV10.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Address } from \"@openzeppelin/contracts/utils/Address.sol\";\nimport { DoubleEndedQueue } from \"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\";\nimport { IGrantsManager } from \"../../../../interfaces/IGrantsManager.sol\";\n\n/// @title GovernorProposalLogicV10\n/// @notice Library for managing proposals in the Governor contract.\n/// @dev This library provides functions to create, cancel, execute, and validate proposals.\nlibrary GovernorProposalLogicV10 {\n  using DoubleEndedQueue for DoubleEndedQueue.Bytes32Deque;\n\n  /**\n   * @dev Emitted when a proposal is canceled.\n   */\n  event ProposalCanceled(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is canceled with a reason.\n   */\n  event ProposalCanceledWithReason(uint256 indexed proposalId, address indexed canceler, string reason);\n\n  /**\n   * @dev Emitted when a proposal is created.\n   */\n  event ProposalCreated(\n    uint256 indexed proposalId,\n    address indexed proposer,\n    address[] targets,\n    uint256[] values,\n    string[] signatures,\n    bytes[] calldatas,\n    string description,\n    uint256 indexed roundIdVoteStart,\n    uint256 depositThreshold\n  );\n\n  /**\n   * @dev Emitted when a proposal is created with type information.\n   */\n  event ProposalCreatedWithType(uint256 indexed proposalId, GovernorTypesV10.ProposalType proposalType);\n\n  /**\n   * @dev Emitted when a proposal is executed.\n   */\n  event ProposalExecuted(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is queued.\n   */\n  event ProposalQueued(uint256 proposalId, uint256 etaSeconds);\n\n  /**\n   * @dev Emitted when a proposal is marked as in development.\n   */\n  event ProposalInDevelopment(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is marked as completed.\n   */\n  event ProposalCompleted(uint256 proposalId);\n\n  /**\n   * @dev Emitted when the development state of a proposal is reset back to pending development.\n   */\n  event ProposalDevelopmentStateReset(uint256 proposalId);\n\n  /**\n   * @dev Thrown when the current state of a proposal is not the expected state for an operation.\n   */\n  error GovernorUnexpectedProposalState(\n    uint256 proposalId,\n    GovernorTypesV10.ProposalState current,\n    bytes32 expectedStates\n  );\n\n  /**\n   * @dev Thrown when a user is not authorized to perform an action.\n   */\n  error UnauthorizedAccess(address user);\n\n  /**\n   * @dev Thrown when the round for proposal start is invalid.\n   */\n  error GovernorInvalidStartRound(uint256 roundId);\n\n  /**\n   * @dev Thrown when a queue operation is not implemented.\n   */\n  error GovernorQueueNotImplemented();\n\n  /**\n   * @dev Thrown when there is an empty proposal or a mismatch between parameters length for a proposal call.\n   */\n  error GovernorInvalidProposalLength(uint256 targets, uint256 calldatas, uint256 values);\n\n  /**\n   * @dev Thrown when the proposer is not allowed to create a proposal.\n   */\n  error GovernorRestrictedProposer(address proposer);\n\n  /**\n   * @dev Thrown when the proposal type is invalid.\n   */\n  error GovernorInvalidProposalType(GovernorTypesV10.ProposalType proposalType);\n\n  /**\n   * @dev Thrown when the proposer does not fit the requirement (GM weight ATM)\n   */\n  error GovernorInvalidProposer(address proposer, uint256 requiredWeight);\n\n  /**\n   * @dev Thrown when a proposal is not allowed to perform a specific action.\n   * Some actions are restricted to Standard proposals only, others to Grant proposals only.\n   * eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\n   */\n  error GovernorRestrictedProposal(uint256 proposalId, GovernorTypesV10.ProposalType proposalType);\n\n  /** ------------------ GETTERS ------------------ **/\n\n  /**\n   * @notice Returns the hash of a proposal.\n   * @dev Hashes the proposal parameters to produce a unique proposal id.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @return The proposal id.\n   */\n  function hashProposal(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) internal pure returns (uint256) {\n    return uint256(keccak256(abi.encode(targets, values, calldatas, descriptionHash)));\n  }\n\n  /**\n   * @notice Returns the proposer of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The address of the proposer.\n   */\n  function proposalProposer(\n    uint256 proposalId\n  ) internal view returns (address) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposals[proposalId].proposer;\n  }\n\n  /**\n   * @notice Returns the eta (estimated time of arrival) of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The eta in seconds.\n   */\n  function proposalEta(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposals[proposalId].etaSeconds;\n  }\n\n  /**\n   * @notice Returns the start round of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The start round id.\n   */\n  function proposalStartRound(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposals[proposalId].roundIdVoteStart;\n  }\n\n  /**\n   * @notice Returns the snapshot block of a proposal.\n   * @dev Determines the block number at which the proposal was snapshot.\n   * @param proposalId The id of the proposal.\n   * @return The snapshot block number.\n   */\n  function proposalSnapshot(\n    uint256 proposalId\n  ) external view returns (uint256) {\n    return _proposalSnapshot(proposalId);\n  }\n\n  /**\n   * @notice Returns the deadline block of a proposal.\n   * @dev Determines the block number at which the proposal will be considered expired.\n   * @param proposalId The id of the proposal.\n   * @return The deadline block number.\n   */\n  function proposalDeadline(\n    uint256 proposalId\n  ) external view returns (uint256) {\n    return _proposalDeadline(proposalId);\n  }\n\n  /**\n   * @notice Returns whether a proposal can start in the next round.\n   * @return True if the proposal can start in the next round, false otherwise.\n   */\n  function canProposalStartInNextRound() external view returns (bool) {\n    return _canProposalStartInNextRound();\n  }\n\n  /**\n   * @notice Returns the total votes for a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The total votes for the proposal.\n   */\n  function getProposalTotalVotes(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposalTotalVotes[proposalId];\n  }\n\n  /**\n   * @notice Returns the timelock id of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The timelock id of the proposal.\n   */\n  function getTimelockId(\n    uint256 proposalId\n  ) internal view returns (bytes32) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.timelockIds[proposalId];\n  }\n\n  /**\n   * @notice Returns the proposal type of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The proposal type.\n   */\n  function proposalType(\n    uint256 proposalId\n  ) external view returns (uint8) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return uint8($.proposalType[proposalId]);\n  }\n\n  /**\n   * @notice Returns proposal IDs that are currently active.\n   * @dev Iterates proposals registered for the current round and filters by Active state.\n   *      Bounded by proposals-per-round (0-3 in practice).\n   */\n  function getActiveProposals() external view returns (uint256[] memory) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 currentRoundId = $.xAllocationVoting.currentRoundId();\n    uint256[] storage roundProposals = $.proposalsForRound[currentRoundId];\n    uint256 len = roundProposals.length;\n    uint256[] memory activeProposalIds = new uint256[](len);\n    uint256 activeCount;\n\n    for (uint256 i; i < len; i++) {\n      uint256 proposalId = roundProposals[i];\n      if (GovernorStateLogicV10._state(proposalId) == GovernorTypesV10.ProposalState.Active) {\n        activeProposalIds[activeCount] = proposalId;\n        activeCount++;\n      }\n    }\n\n    uint256[] memory trimmed = new uint256[](activeCount);\n    for (uint256 i; i < activeCount; i++) {\n      trimmed[i] = activeProposalIds[i];\n    }\n\n    return trimmed;\n  }\n\n  /** ------------------ SETTERS ------------------ **/\n\n  /**\n   * @notice Proposes a new governance action.\n   * @dev Creates a new proposal and validates the proposal parameters.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param description The description of the proposal.\n   * @param startRoundId The round in which the proposal should be active.\n   * @param depositAmount The amount of tokens the proposer intends to deposit.\n   * @return The proposal id.\n   */\n  function propose(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount\n  ) external returns (uint256) {\n    address proposer = msg.sender;\n\n    uint256 proposalId = hashProposal(targets, values, calldatas, keccak256(bytes(description)));\n\n    validateProposeParams(\n      proposer,\n      startRoundId,\n      description,\n      targets,\n      values,\n      calldatas,\n      proposalId,\n      GovernorTypesV10.ProposalType.Standard\n    );\n\n    return\n      _propose(\n        proposer,\n        proposalId,\n        targets,\n        values,\n        calldatas,\n        description,\n        startRoundId,\n        depositAmount,\n        GovernorTypesV10.ProposalType.Standard\n      );\n  }\n\n  /**\n   * @notice Proposes a new grant proposal.\n   * @dev Creates a new proposal and validates the proposal parameters.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param description The description of the proposal.\n   * @param startRoundId The round in which the proposal should be active.\n   * @param depositAmount The amount of tokens the proposer intends to deposit.\n   * @param grantsReceiver The address of the grants receiver\n   * @param milestonesDetailsMetadataURI The IPFS hash containing the milestones ipfs hash\n   * @return The proposal id.\n   */\n  function proposeGrant(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    address grantsReceiver,\n    string memory milestonesDetailsMetadataURI\n  ) external returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 proposalId = hashProposal(targets, values, calldatas, keccak256(bytes(description)));\n\n    validateProposeParams(\n      msg.sender, //Proposer\n      startRoundId,\n      description,\n      targets,\n      values,\n      calldatas,\n      proposalId,\n      GovernorTypesV10.ProposalType.Grant\n    );\n\n    //Instantiate the grants manager contract inline to avoid stack too deep errors\n    IGrantsManager($.grantsManager).createMilestones(\n      milestonesDetailsMetadataURI,\n      proposalId,\n      msg.sender, //Proposer\n      grantsReceiver,\n      calldatas\n    );\n\n    return\n      _propose(\n        msg.sender, //Proposer\n        proposalId,\n        targets,\n        values,\n        calldatas,\n        description,\n        startRoundId,\n        depositAmount,\n        GovernorTypesV10.ProposalType.Grant\n      );\n  }\n\n  /**\n   * @dev Function to know if a proposal is executable or not.\n   * If the proposal was creted without any targets, values, or calldatas, it is not executable.\n   * to check if the proposal is executable.\n   *\n   * @param proposalId The id of the proposal\n   */\n  function proposalNeedsQueuing(\n    uint256 proposalId\n  ) external view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalCore storage proposal = $.proposals[proposalId];\n    if (proposal.roundIdVoteStart == 0) {\n      return false;\n    }\n\n    if (proposal.isExecutable) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  /**\n   * @notice Queues a proposal for execution.\n   * @dev Queues the proposal in the timelock.\n   * @param contractAddress The address of the calling contract.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @return The proposal id.\n   */\n  function queue(\n    address contractAddress, // Address of the calling contract\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Succeeded)\n    );\n\n    uint48 etaSeconds = _queueOperations(\n      contractAddress,\n      proposalId,\n      targets,\n      values,\n      calldatas,\n      descriptionHash\n    );\n\n    if (etaSeconds != 0) {\n      $.proposals[proposalId].etaSeconds = etaSeconds;\n      emit ProposalQueued(proposalId, etaSeconds);\n    } else {\n      revert GovernorQueueNotImplemented();\n    }\n\n    return proposalId;\n  }\n\n  /**\n   * @notice Executes a queued proposal.\n   * @dev Executes the proposal in the timelock.\n   * @param contractAddress The address of the calling contract.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @return The proposal id.\n   */\n  function execute(\n    address contractAddress, // Address of the calling contract\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Succeeded) |\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Queued)\n    );\n\n    // mark as executed before calls to avoid reentrancy\n    $.proposals[proposalId].executed = true;\n\n    // before execute: register governance call in queue.\n    if (GovernorGovernanceLogicV10.executor() != contractAddress) {\n      for (uint256 i; i < targets.length; ++i) {\n        if (targets[i] == address(this)) {\n          $.governanceCall.pushBack(keccak256(calldatas[i]));\n        }\n      }\n    }\n\n    _executeOperations(contractAddress, proposalId, targets, values, calldatas, descriptionHash);\n\n    // after execute: cleanup governance call queue.\n    if (GovernorGovernanceLogicV10.executor() != contractAddress && !$.governanceCall.empty()) {\n      $.governanceCall.clear();\n    }\n\n    emit ProposalExecuted(proposalId);\n\n    return proposalId;\n  }\n\n  /**\n   * @notice Cancels a proposal.\n   * @dev Cancels a proposal in any state other than Canceled or Executed.\n   * @param account The account canceling the proposal.\n   * @param admin Whether the account has admin role.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @param reason The reason for canceling the proposal.\n   * @return The proposal id.\n   */\n  function cancel(\n    address account,\n    bool admin,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash,\n    string memory reason\n  ) external returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n    if (account != proposalProposer(proposalId) && !admin) {\n      revert UnauthorizedAccess(account);\n    }\n\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.ALL_PROPOSAL_STATES_BITMAP ^\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Canceled) ^\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Executed) ^\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.InDevelopment) ^\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Completed) ^\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.DepositNotMet) ^\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Defeated)\n    );\n\n    if (account == proposalProposer(proposalId)) {\n      require(\n        GovernorStateLogicV10._state(proposalId) == GovernorTypesV10.ProposalState.Pending,\n        \"Governor: proposal not pending\"\n      );\n    }\n\n    bytes32 timelockId = $.timelockIds[proposalId];\n    if (timelockId != 0) {\n      // cancel\n      $.timelock.cancel(timelockId);\n      // cleanup\n      delete $.timelockIds[proposalId];\n    }\n\n    return _cancel(proposalId, account, reason);\n  }\n\n  /**\n   * @notice Mark a proposal as in development\n   * @param proposalId The id of the proposal.\n   * @dev This should be only callable by authorized wallet that has the PROPOSAL_STATE_MANAGER_ROLE role\n   * - Only Standard proposals are allowed here.\n   * - Can only mark as in development if proposal is executed or succeeded\n   * - If the proposal is executable and the state is succeeded, it cannot be marked as in development\n   * - Otherwise could skip the queue + execution steps\n   * - The proposal development state is set to InDevelopment\n   * - The event ProposalInDevelopment is emitted\n   */\n  function markAsInDevelopment(uint256 proposalId) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalType proposalType = $.proposalType[proposalId];\n    GovernorTypesV10.ProposalCore storage proposal = $.proposals[proposalId];\n\n    // Only Standard proposals are allowed here.\n    // Proposals created before v7 (when proposalType mapping was introduced) will default to Standard.\n    if (proposalType != GovernorTypesV10.ProposalType.Standard) {\n      revert GovernorRestrictedProposal(proposalId, proposalType);\n    }\n\n    // Can only mark as in development if proposal is executed or succeeded\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Executed) |\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Succeeded)\n    );\n    if (proposal.isExecutable && GovernorStateLogicV10._state(proposalId) == GovernorTypesV10.ProposalState.Succeeded) {\n      revert GovernorRestrictedProposal(proposalId, proposalType);\n    }\n\n    $.proposalDevelopmentState[proposalId] = GovernorTypesV10.ProposalDevelopmentState.InDevelopment;\n    //Emit event\n    emit ProposalInDevelopment(proposalId);\n  }\n\n  /**\n   * @notice Mark a proposal as completed\n   * @param proposalId The id of the proposal.\n   * @dev This should be only callable by authorized wallet that has the PROPOSAL_STATE_MANAGER_ROLE role\n   * - Only Standard proposals are allowed here.\n   * - Can only mark as completed if proposal is in development\n   * - The proposal development state is set to Completed\n   * - The event ProposalCompleted is emitted\n   */\n  function markAsCompleted(uint256 proposalId) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalType proposalType = $.proposalType[proposalId];\n\n    // Only Standard proposals are allowed here.\n    // Proposals created before v7 (when proposalType mapping was introduced) will default to Standard.\n    if (proposalType != GovernorTypesV10.ProposalType.Standard) {\n      revert GovernorRestrictedProposal(proposalId, proposalType);\n    }\n\n    // Can only mark as completed if proposal is in development\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.InDevelopment)\n    );\n    $.proposalDevelopmentState[proposalId] = GovernorTypesV10.ProposalDevelopmentState.Completed;\n    //Emit event\n    emit ProposalCompleted(proposalId);\n  }\n\n  /**\n   * @notice Reset the development state of a proposal back to pending development\n   * @param proposalId The id of the proposal\n   * @dev This should reset the enum state back to the original one,\n   * since pending development is not tracked in {GovernorStateLogicV10._state} condition\n   */\n  function resetDevelopmentState(uint256 proposalId) external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.InDevelopment) |\n        GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Completed)\n    );\n    $.proposalDevelopmentState[proposalId] = GovernorTypesV10.ProposalDevelopmentState.PendingDevelopment;\n    //Emit event\n    emit ProposalDevelopmentStateReset(proposalId);\n  }\n\n  /** ------------------ INTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Internal function to propose a new governance action.\n   * @param proposer The address of the proposer.\n   * @param proposalId The id of the proposal.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param description The description of the proposal.\n   * @param startRoundId The round in which the proposal should be active.\n   * @param depositAmount The amount of tokens the proposer intends to deposit.\n   * @param proposalTypeValue The type of the proposal.\n   * @return The proposal id.\n   */\n  function _propose(\n    address proposer,\n    uint256 proposalId,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) private returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 depositThresholdAmount = GovernorDepositLogicV10._depositThresholdByProposalType(proposalTypeValue);\n    uint32 votingPeriod = SafeCast.toUint32($.xAllocationVoting.votingPeriod());\n    bool isExecutable = targets.length > 0;\n\n    _validateProposer(proposer, proposalTypeValue);\n\n    _setProposal(\n      proposalId,\n      proposer,\n      votingPeriod,\n      startRoundId,\n      isExecutable,\n      depositAmount,\n      depositThresholdAmount,\n      proposalTypeValue\n    );\n\n    if (depositAmount > 0) {\n      GovernorDepositLogicV10.depositFunds(depositAmount, proposer, proposalId);\n    }\n\n    _emitProposalCreatedEvents(\n      proposer,\n      proposalId,\n      targets,\n      values,\n      calldatas,\n      description,\n      startRoundId,\n      depositThresholdAmount,\n      proposalTypeValue\n    );\n\n    return proposalId;\n  }\n\n  /**\n   * @dev Internal function to emit the proposal created events.\n   * @param proposer The address of the proposer.\n   * @param proposalId The id of the proposal.\n   * @param targets The addresses of the contracts to call.\n   */\n  function _emitProposalCreatedEvents(\n    address proposer,\n    uint256 proposalId,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositThresholdAmount,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) private {\n    // Emit original event for backward compatibility\n    emit ProposalCreated(\n      proposalId,\n      proposer,\n      targets,\n      values,\n      new string[](targets.length),\n      calldatas,\n      description,\n      startRoundId,\n      depositThresholdAmount\n    );\n\n    // Emit event just for the proposal type\n    emit ProposalCreatedWithType(proposalId, proposalTypeValue);\n  }\n\n  /**\n   * @dev Internal function to validate the parameters of a proposal.\n   * @param proposer The address of the proposer.\n   * @param startRoundId The round in which the proposal should be active.\n   * @param description The description of the proposal.si\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param proposalId The id of the proposal.\n   */\n  function validateProposeParams(\n    address proposer,\n    uint256 startRoundId,\n    string memory description,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    uint256 proposalId,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) private view {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    //proposal type must be valid\n    if (!isValidProposalType(proposalTypeValue)) {\n      revert GovernorInvalidProposalType(proposalTypeValue);\n    }\n\n    // round must be in the future\n    if (startRoundId <= $.xAllocationVoting.currentRoundId()) {\n      revert GovernorInvalidStartRound(startRoundId);\n    }\n\n    // only do this check if user wants to start proposal in the next round\n    if (startRoundId == $.xAllocationVoting.currentRoundId() + 1) {\n      if (!_canProposalStartInNextRound()) {\n        revert GovernorInvalidStartRound(startRoundId);\n      }\n    }\n    // check description restriction\n    if (proposalTypeValue == GovernorTypesV10.ProposalType.Standard) {\n      if (!isValidDescriptionForProposer(proposer, description)) {\n        revert GovernorRestrictedProposer(proposer);\n      }\n    }\n\n    if (targets.length != values.length || targets.length != calldatas.length) {\n      revert GovernorInvalidProposalLength(targets.length, calldatas.length, values.length);\n    }\n\n    if ($.proposals[proposalId].roundIdVoteStart != 0) {\n      // Proposal already exists\n      revert GovernorUnexpectedProposalState(proposalId, GovernorStateLogicV10._state(proposalId), bytes32(0));\n    }\n\n    GovernorFunctionRestrictionsLogicV10.checkFunctionsRestriction(targets, calldatas);\n  }\n\n  /**\n   * @dev Internal function to set the data of a proposal in storage.\n   * @param proposalId The id of the proposal.\n   * @param proposer The address of the proposer.\n   * @param voteDuration The duration of the vote.\n   * @param roundIdVoteStart The round in which the proposal should be active.\n   * @param isExecutable Whether the proposal is executable.\n   * @param depositAmount The amount of tokens the proposer intends to deposit.\n   * @param proposalDepositThreshold The deposit threshold for the proposal.\n   * @param proposalTypeValue The type of the proposal.\n   */\n  function _setProposal(\n    uint256 proposalId,\n    address proposer,\n    uint32 voteDuration,\n    uint256 roundIdVoteStart,\n    bool isExecutable,\n    uint256 depositAmount,\n    uint256 proposalDepositThreshold,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) private {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalCore storage proposal = $.proposals[proposalId];\n\n    proposal.proposer = proposer;\n    proposal.roundIdVoteStart = roundIdVoteStart;\n    proposal.voteDuration = voteDuration;\n    proposal.isExecutable = isExecutable;\n    proposal.depositAmount = depositAmount;\n    proposal.depositThreshold = proposalDepositThreshold;\n    // set the proposal type\n    $.proposalType[proposalId] = proposalTypeValue;\n    $.proposalsForRound[roundIdVoteStart].push(proposalId);\n  }\n\n  /**\n   * @dev Internal function to validate the proposer.\n   * @param proposer The address of the proposer.\n   * @param proposalTypeValue The type of the proposal.\n   */\n  function _validateProposer(\n    address proposer,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) private view {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 requiredWeight = $.requiredGMLevelByProposalType[proposalTypeValue];\n    uint256 level = $.galaxyMember.levelOf($.galaxyMember.getSelectedTokenId(proposer)); // 1 for earth\n    if (level < requiredWeight) {\n      revert GovernorInvalidProposer(proposer, requiredWeight);\n    }\n  }\n\n  /**\n   * @dev Internal function to execute operations of a proposal.\n   * @param contractAddress The address of the calling contract.\n   * @param proposalId The id of the proposal.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   */\n  function _executeOperations(\n    address contractAddress, // Address of the calling contract\n    uint256 proposalId,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) private {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    // execute transfer first\n    $.timelock.executeBatch{ value: msg.value }(\n      targets,\n      values,\n      calldatas,\n      0,\n      GovernorGovernanceLogicV10.timelockSalt(descriptionHash, contractAddress)\n    );\n\n    // cleanup for refund\n    delete $.timelockIds[proposalId];\n  }\n\n  /**\n   * @dev Internal function to queue operations of a proposal in the timelock.\n   * @param contractAddress The address of the calling contract.\n   * @param proposalId The id of the proposal.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @return The eta (estimated time of arrival) in seconds.\n   */\n  function _queueOperations(\n    address contractAddress, // Address of the calling contract\n    uint256 proposalId,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) private returns (uint48) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 delay = $.timelock.getMinDelay();\n\n    bytes32 salt = GovernorGovernanceLogicV10.timelockSalt(descriptionHash, contractAddress);\n    $.timelockIds[proposalId] = $.timelock.hashOperationBatch(targets, values, calldatas, 0, salt);\n    $.timelock.scheduleBatch(targets, values, calldatas, 0, salt, delay);\n\n    return SafeCast.toUint48(block.timestamp + delay);\n  }\n\n  /**\n   * @dev Internal function to cancel a proposal.\n   * @param proposalId The id of the proposal.\n   * @param canceler The address of the account canceling the proposal.\n   * @param reason The reason for canceling the proposal.\n   * @return The proposal id.\n   */\n  function _cancel(\n    uint256 proposalId,\n    address canceler,\n    string memory reason\n  ) private returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    $.proposals[proposalId].canceled = true;\n    emit ProposalCanceled(proposalId);\n    emit ProposalCanceledWithReason(proposalId, canceler, reason);\n\n    return proposalId;\n  }\n\n  /**\n   * @dev Internal function to validate if a proposal can start in the next round.\n   * @return True if the proposal can start in the next round, false otherwise.\n   */\n  function _canProposalStartInNextRound(\n  ) internal view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 currentRoundId = $.xAllocationVoting.currentRoundId();\n    uint256 currentRoundDeadline = $.xAllocationVoting.roundDeadline(currentRoundId);\n    uint48 currentBlock = GovernorClockLogicV10.clock();\n\n    // this could happen if the round ended and the next one not started yet\n    if (currentRoundDeadline <= currentBlock) {\n      return false;\n    }\n\n    // if between now and the start of the new round is less then the min delay, revert\n    if ($.minVotingDelay > currentRoundDeadline - currentBlock) {\n      return false;\n    }\n\n    return true;\n  }\n\n  /**\n   * @dev Internal function to get the snapshot block of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The snapshot block number.\n   */\n  function _proposalSnapshot(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    // round when proposal should be active is already started\n    if ($.xAllocationVoting.currentRoundId() >= $.proposals[proposalId].roundIdVoteStart) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n      return $.xAllocationVoting.roundSnapshot($.proposals[proposalId].roundIdVoteStart);\n    }\n\n    uint256 amountOfRoundsLeft = $.proposals[proposalId].roundIdVoteStart - $.xAllocationVoting.currentRoundId();\n    uint256 roundsDurationLeft = $.xAllocationVoting.votingPeriod() * (amountOfRoundsLeft - 1); // -1 because if only 1 round left we want this to be 0\n    uint256 currentRoundDeadline = $.xAllocationVoting.currentRoundDeadline();\n\n    // if current round ended and a new one did not start yet\n    if (currentRoundDeadline <= GovernorClockLogicV10.clock()) {\n      currentRoundDeadline = GovernorClockLogicV10.clock();\n    }\n\n    return currentRoundDeadline + roundsDurationLeft + amountOfRoundsLeft;\n  }\n\n  /**\n   * @dev Internal function to get the deadline block of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The deadline block number.\n   */\n  function _proposalDeadline(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    // if round is active or already occured proposal end block is the block when round ends\n    if ($.xAllocationVoting.currentRoundId() >= $.proposals[proposalId].roundIdVoteStart) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n      return $.xAllocationVoting.roundDeadline($.proposals[proposalId].roundIdVoteStart);\n    }\n\n    // if we call this function before the round starts, it will return 0, so we need to estimate the end block\n    return _proposalSnapshot(proposalId) + $.xAllocationVoting.votingPeriod();\n  }\n\n  /** ------------------ PRIVATE FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Checks if the description string ends with a proposer's address suffix.\n   * @param proposer The address of the proposer.\n   * @param description The description of the proposal.\n   * @return True if the suffix matches the proposer's address or if there is no suffix, false otherwise.\n   */\n  function isValidDescriptionForProposer(address proposer, string memory description) private pure returns (bool) {\n    uint256 len = bytes(description).length;\n\n    // Length is too short to contain a valid proposer suffix\n    if (len < 52) {\n      return true;\n    }\n\n    // Extract what would be the `#proposer=0x` marker beginning the suffix\n    bytes12 marker;\n    assembly {\n      // Start of the string contents in memory = description + 32\n      // First character of the marker = len - 52\n      // We read the memory word starting at the first character of the marker:\n      // (description + 32) + (len - 52) = description + (len - 20)\n      marker := mload(add(description, sub(len, 20)))\n    }\n\n    // If the marker is not found, there is no proposer suffix to check\n    if (marker != bytes12(\"#proposer=0x\")) {\n      return true;\n    }\n\n    // Parse the 40 characters following the marker as uint160\n    uint160 recovered;\n    for (uint256 i = len - 40; i < len; ++i) {\n      (bool isHex, uint8 value) = tryHexToUint(bytes(description)[i]);\n      // If any of the characters is not a hex digit, ignore the suffix entirely\n      if (!isHex) {\n        return true;\n      }\n      recovered = (recovered << 4) | value;\n    }\n\n    return recovered == uint160(proposer);\n  }\n\n  /**\n   * @dev Checks if the proposal type is valid.\n   * @param proposalTypeValue The type of the proposal.\n   * @return True if the proposal type is valid, false otherwise.\n   */\n  function isValidProposalType(GovernorTypesV10.ProposalType proposalTypeValue) internal pure returns (bool) {\n    return\n      proposalTypeValue == GovernorTypesV10.ProposalType.Standard || proposalTypeValue == GovernorTypesV10.ProposalType.Grant;\n  }\n\n  /**\n   * @dev Tries to parse a character from a string as a hex value.\n   * @param char The character to parse.\n   * @return isHex True if the character is a valid hex digit, false otherwise.\n   * @return value The parsed hex value.\n   */\n  function tryHexToUint(bytes1 char) private pure returns (bool, uint8) {\n    uint8 c = uint8(char);\n    unchecked {\n      // Case 0-9\n      if (47 < c && c < 58) {\n        return (true, c - 48);\n      }\n      // Case A-F\n      else if (64 < c && c < 71) {\n        return (true, c - 55);\n      }\n      // Case a-f\n      else if (96 < c && c < 103) {\n        return (true, c - 87);\n      }\n      // Else: not a hex char\n      else {\n        return (false, 0);\n      }\n    }\n  }\n\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypesV10 } from \"./GovernorStorageTypesV10.sol\";\nimport { GovernorClockLogicV10 } from \"./GovernorClockLogicV10.sol\";\nimport { GovernorVotesLogicV10 } from \"./GovernorVotesLogicV10.sol\";\nimport { GovernorProposalLogicV10 } from \"./GovernorProposalLogicV10.sol\";\nimport \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { GovernorTypesV10 } from \"./GovernorTypesV10.sol\";\n\n/// @title GovernorQuorumLogicV10\n/// @notice Library for managing quorum numerators using checkpointed data structures.\nlibrary GovernorQuorumLogicV10 {\n  using Checkpoints for Checkpoints.Trace208;\n\n  /// @notice Error that is thrown when the new quorum numerator exceeds the denominator.\n  /// @param quorumNumerator The attempted new numerator that failed the update.\n  /// @param quorumDenominator The denominator against which the numerator was compared.\n  error GovernorInvalidQuorumFraction(uint256 quorumNumerator, uint256 quorumDenominator);\n\n  /// @notice Emitted when the quorum numerator is updated.\n  /// @param oldNumerator The numerator before the update.\n  /// @param newNumerator The numerator after the update.\n  event QuorumNumeratorUpdated(uint256 oldNumerator, uint256 newNumerator);\n\n  /// @notice Emitted when the quorum numerator for a specific proposal type is updated.\n  /// @param oldNumerator The numerator before the update.\n  /// @param newNumerator The numerator after the update.\n  /// @param proposalType The type of proposal.\n  event QuorumNumeratorUpdatedByType(\n    uint256 oldNumerator,\n    uint256 newNumerator,\n    GovernorTypesV10.ProposalType proposalType\n  );\n  /** ------------------ GETTERS ------------------ **/\n\n  /// @notice Retrieves the quorum denominator, which is a constant in this implementation.\n  /// @return The quorum denominator (constant value of 100).\n  function quorumDenominator() internal pure returns (uint256) {\n    return 100;\n  }\n\n  /// @notice Retrieves the quorum numerator at a specific timepoint using checkpoint data.\n  /// @param timepoint The specific timepoint for which to fetch the numerator.\n  /// @return The quorum numerator at the given timepoint.\n  function quorumNumerator(\n    uint256 timepoint\n  ) public view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalType proposalType = GovernorTypesV10.ProposalType.Standard;\n    uint256 length = $.proposalTypeQuorum[proposalType]._checkpoints.length;\n\n    // Optimistic search, check the latest checkpoint\n    Checkpoints.Checkpoint208 storage latest = $.proposalTypeQuorum[proposalType]._checkpoints[length - 1];\n    uint48 latestKey = latest._key;\n    uint208 latestValue = latest._value;\n    if (latestKey <= timepoint) {\n      return latestValue;\n    }\n\n    // Otherwise, do the binary search\n    return $.proposalTypeQuorum[proposalType].upperLookupRecent(SafeCast.toUint48(timepoint));\n  }\n  /// @notice Retrieves the quorum numerator at a specific timepoint using checkpoint data.\n  /// @param timepoint The specific timepoint for which to fetch the numerator.\n  /// @return The quorum numerator at the given timepoint.\n  function quorumNumeratorByProposalType(\n    uint256 timepoint,\n    uint8 proposalTypeValue\n  ) public view returns (uint256) {\n    return _quorumNumeratorByProposalType(timepoint, GovernorTypesV10.ProposalType(proposalTypeValue));\n  }\n\n  /// @notice Retrieves the latest quorum numerator using the GovernorClockLogicV10 library.\n  /// @return The latest quorum numerator.\n  function quorumNumerator() public view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalType proposalType = GovernorTypesV10.ProposalType.Standard;\n    return $.proposalTypeQuorum[proposalType].latest();\n  }\n\n  /**\n   * @notice Retrieves the latest quorum numerator for a specific proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return The latest quorum numerator for the proposal type.\n   */\n  function quorumNumeratorByProposalType(\n    uint8 proposalTypeValue\n  ) public view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposalTypeQuorum[GovernorTypesV10.ProposalType(proposalTypeValue)].latest();\n  }\n\n  /**\n   * @notice Checks if the quorum has been reached for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return True if the quorum has been reached, false otherwise.\n   */\n  function isQuorumReached(\n    uint256 proposalId\n  ) external view returns (bool) {\n    return quorumReached(proposalId);\n  }\n\n  /**\n   * @notice Returns the quorum for a specific timepoint.\n   * @param timepoint The specific timepoint.\n   * @return The quorum at the given timepoint.\n   */\n  function quorum(uint256 timepoint) public view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return ($.vot3.getPastTotalSupply(timepoint) * quorumNumerator(timepoint)) / quorumDenominator();\n  }\n  /**\n   * @notice Returns the quorum for a specific timepoint and proposal type.\n   * @param timepoint The specific timepoint.\n   * @param proposalTypeValue The type of proposal.\n   * @return The quorum at the given timepoint and proposal type.\n   */\n  function quorumByProposalType(\n    uint256 timepoint,\n    uint8 proposalTypeValue\n  ) public view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return\n      ($.vot3.getPastTotalSupply(timepoint) * quorumNumeratorByProposalType(timepoint, proposalTypeValue)) /\n      quorumDenominator();\n  }\n\n  /** ------------------ SETTERS ------------------ **/\n\n  /**\n   * @notice Updates the quorum numerator to a new value at a specified time, emitting an event upon success.\n   * @dev This function should only be called from governance actions where numerators need updating.\n   * @dev New numerator must be smaller or equal to the denominator.\n   * @param newQuorumNumerator The new value for the quorum numerator.\n   */\n  function updateQuorumNumerator(\n    uint256 newQuorumNumerator\n  ) external {\n    _updateQuorumNumeratorByType(newQuorumNumerator, GovernorTypesV10.ProposalType.Standard);\n  }\n  /**\n   * @notice Updates the quorum numerator for a specific proposal type to a new value at a specified time, emitting an event upon success.\n   * @dev This function should only be called from governance actions where numerators need updating.\n   * @dev New numerator must be smaller or equal to the denominator.\n   * @param newQuorumNumerator The new value for the quorum numerator.\n   * @param proposalTypeValue The type of proposal.\n   */\n  function updateQuorumNumeratorByType(\n    uint256 newQuorumNumerator,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external {\n    _updateQuorumNumeratorByType(newQuorumNumerator, proposalTypeValue);\n  }\n\n  /** ------------------ INTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Internal function to check if the quorum has been reached for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return True if the quorum has been reached, false otherwise.\n   */\n  function quorumReached(\n    uint256 proposalId\n  ) internal view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalType proposalType = $.proposalType[proposalId];\n\n    return\n      quorumByProposalType(GovernorProposalLogicV10._proposalSnapshot(proposalId), uint8(proposalType)) <=\n      $.proposalTotalVotes[proposalId];\n  }\n  /**\n   * @notice Internal function to retrieve the quorum numerator for a specific proposal type at a given timepoint.\n   * @param timepoint The specific timepoint for which to fetch the numerator.\n   * @param proposalTypeValue The type of proposal.\n   * @return The quorum numerator at the given timepoint for the specified proposal type.\n   */\n  function _quorumNumeratorByProposalType(\n    uint256 timepoint,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 length = $.proposalTypeQuorum[proposalTypeValue]._checkpoints.length;\n\n    // Optimistic search, check the latest checkpoint\n    Checkpoints.Checkpoint208 storage latest = $.proposalTypeQuorum[proposalTypeValue]._checkpoints[length - 1];\n    uint48 latestKey = latest._key;\n    uint208 latestValue = latest._value;\n    if (latestKey <= timepoint) {\n      return latestValue;\n    }\n\n    // Otherwise, do the binary search\n    return $.proposalTypeQuorum[proposalTypeValue].upperLookupRecent(SafeCast.toUint48(timepoint));\n  }\n  /**\n   * @notice Internal function to update the quorum numerator for a specific proposal type.\n   * @dev This function should only be called from governance actions where numerators need updating.\n   * @dev New numerator must be smaller or equal to the denominator.\n   * @param newQuorumNumerator The new value for the quorum numerator.\n   * @param proposalTypeValue The type of proposal.\n   */\n  function _updateQuorumNumeratorByType(\n    uint256 newQuorumNumerator,\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) internal {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 denominator = quorumDenominator();\n    uint256 oldQuorumNumerator = quorumNumeratorByProposalType(uint8(proposalTypeValue));\n\n    if (newQuorumNumerator > denominator) {\n      revert GovernorInvalidQuorumFraction(newQuorumNumerator, denominator);\n    }\n\n    $.proposalTypeQuorum[proposalTypeValue].push(\n      GovernorClockLogicV10.clock(),\n      SafeCast.toUint208(newQuorumNumerator)\n    );\n    emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator);\n    emit QuorumNumeratorUpdatedByType(oldQuorumNumerator, newQuorumNumerator, proposalTypeValue);\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorTypesV10 } from \"./GovernorTypesV10.sol\";\nimport { GovernorStorageTypesV10 } from \"./GovernorStorageTypesV10.sol\";\nimport { GovernorProposalLogicV10 } from \"./GovernorProposalLogicV10.sol\";\nimport { GovernorVotesLogicV10 } from \"./GovernorVotesLogicV10.sol\";\nimport { GovernorQuorumLogicV10 } from \"./GovernorQuorumLogicV10.sol\";\nimport { GovernorClockLogicV10 } from \"./GovernorClockLogicV10.sol\";\nimport { GovernorDepositLogicV10 } from \"./GovernorDepositLogicV10.sol\";\n\n/// @title GovernorStateLogicV10\n/// @notice Library for Governor state logic, managing the state transitions and validations of governance proposals.\nlibrary GovernorStateLogicV10 {\n  /// @notice Bitmap representing all possible proposal states.\n  bytes32 internal constant ALL_PROPOSAL_STATES_BITMAP =\n    bytes32((2 ** (uint8(type(GovernorTypesV10.ProposalState).max) + 1)) - 1);\n\n  /// @dev Thrown when the `proposalId` does not exist.\n  /// @param proposalId The ID of the proposal that does not exist.\n  error GovernorNonexistentProposal(uint256 proposalId);\n\n  /// @dev Thrown when the current state of a proposal does not match the expected states.\n  /// @param proposalId The ID of the proposal.\n  /// @param current The current state of the proposal.\n  /// @param expectedStates The expected states of the proposal as a bitmap.\n  error GovernorUnexpectedProposalState(\n    uint256 proposalId,\n    GovernorTypesV10.ProposalState current,\n    bytes32 expectedStates\n  );\n\n  /** ------------------ GETTERS ------------------ **/\n\n  /**\n   * @notice Retrieves the current state of a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return The current state of the proposal.\n   */\n  function state(\n    uint256 proposalId\n  ) external view returns (uint8) {\n    return uint8(_state(proposalId));\n  }\n\n  /** ------------------ INTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Internal function to validate the current state of a proposal against expected states.\n   * @param proposalId The ID of the proposal.\n   * @param allowedStates The bitmap of allowed states.\n   * @return The current state of the proposal.\n   */\n  function validateStateBitmap(\n    uint256 proposalId,\n    bytes32 allowedStates\n  ) internal view returns (GovernorTypesV10.ProposalState) {\n    GovernorTypesV10.ProposalState currentState = _state(proposalId);\n    if (encodeStateBitmap(currentState) & allowedStates == bytes32(0)) {\n      revert GovernorUnexpectedProposalState(proposalId, currentState, allowedStates);\n    }\n    return currentState;\n  }\n\n  /**\n   * @dev Encodes a `ProposalState` into a `bytes32` representation where each bit enabled corresponds to the underlying position in the `ProposalState` enum.\n   * @param proposalState The state to encode.\n   * @return The encoded state bitmap.\n   */\n  function encodeStateBitmap(GovernorTypesV10.ProposalState proposalState) internal pure returns (bytes32) {\n    return bytes32(1 << uint8(proposalState));\n  }\n\n  /**\n   * @notice Retrieves the current state of a proposal.\n   * @dev See {IB3TRGovernorV10-state}.\n   * @param proposalId The ID of the proposal.\n   * @return The current state of the proposal.\n   */\n  function _state(\n    uint256 proposalId\n  ) internal view returns (GovernorTypesV10.ProposalState) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    // Load the proposal into memory\n    GovernorTypesV10.ProposalCore storage proposal = $.proposals[proposalId];\n    GovernorTypesV10.ProposalDevelopmentState proposalDevelopmentState = $.proposalDevelopmentState[proposalId];\n    bool proposalExecuted = proposal.executed;\n    bool proposalCanceled = proposal.canceled;\n\n    if (proposalDevelopmentState == GovernorTypesV10.ProposalDevelopmentState.InDevelopment) {\n      return GovernorTypesV10.ProposalState.InDevelopment;\n    }\n\n    if (proposalDevelopmentState == GovernorTypesV10.ProposalDevelopmentState.Completed) {\n      return GovernorTypesV10.ProposalState.Completed;\n    }\n\n    if (proposalExecuted) {\n      return GovernorTypesV10.ProposalState.Executed;\n    }\n\n    if (proposalCanceled) {\n      return GovernorTypesV10.ProposalState.Canceled;\n    }\n\n    if (proposal.roundIdVoteStart == 0) {\n      revert GovernorNonexistentProposal(proposalId);\n    }\n\n    // Check if the proposal is pending\n    if ($.xAllocationVoting.currentRoundId() < proposal.roundIdVoteStart) {\n      return GovernorTypesV10.ProposalState.Pending;\n    }\n\n    uint256 currentTimepoint = GovernorClockLogicV10.clock();\n    uint256 deadline = GovernorProposalLogicV10._proposalDeadline(proposalId);\n\n    if (!GovernorDepositLogicV10.proposalDepositReached(proposalId)) {\n      return GovernorTypesV10.ProposalState.DepositNotMet;\n    }\n\n    if (deadline >= currentTimepoint) {\n      return GovernorTypesV10.ProposalState.Active;\n    } else if (\n      !GovernorQuorumLogicV10.quorumReached(proposalId) || !GovernorVotesLogicV10.voteSucceeded(proposalId)\n    ) {\n      return GovernorTypesV10.ProposalState.Defeated;\n    } else if (GovernorProposalLogicV10.proposalEta(proposalId) == 0) {\n      return GovernorTypesV10.ProposalState.Succeeded;\n    } else {\n      bytes32 queueid = $.timelockIds[proposalId];\n      if ($.timelock.isOperationPending(queueid)) {\n        return GovernorTypesV10.ProposalState.Queued;\n      } else if ($.timelock.isOperationDone(queueid)) {\n        return GovernorTypesV10.ProposalState.Executed;\n      } else {\n        return GovernorTypesV10.ProposalState.Canceled;\n      }\n    }\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorTypesV10 } from \"./GovernorTypesV10.sol\";\nimport { IVoterRewards } from \"../../../../interfaces/IVoterRewards.sol\";\nimport { IXAllocationVotingGovernor } from \"../../../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IB3TR } from \"../../../../interfaces/IB3TR.sol\";\nimport { IVOT3 } from \"../../../../interfaces/IVOT3.sol\";\nimport { DoubleEndedQueue } from \"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\";\nimport { TimelockControllerUpgradeable } from \"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { IVeBetterPassport } from \"../../../../interfaces/IVeBetterPassport.sol\";\nimport { IGrantsManager } from \"../../../../interfaces/IGrantsManager.sol\";\nimport { IGalaxyMember } from \"../../../../interfaces/IGalaxyMember.sol\";\nimport { INavigatorRegistry } from \"../../../../interfaces/INavigatorRegistry.sol\";\nimport { IRelayerRewardsPool } from \"../../../../interfaces/IRelayerRewardsPool.sol\";\n\n/// @title GovernorStorageTypesV10\n/// @notice Library for defining storage types used in the Governor contract.\nlibrary GovernorStorageTypesV10 {\n  // keccak256(abi.encode(uint256(keccak256(\"GovernorStorageLocation\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant GovernorStorageLocation = 0xd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b00;\n\n  /// @dev Returns the governor storage slot.\n  function getGovernorStorage() internal pure returns (GovernorStorage storage $) {\n    assembly {\n      $.slot := GovernorStorageLocation\n    }\n  }\n\n  struct GovernorStorage {\n    // ------------------------------- Version 1 -------------------------------\n\n    // ------------------------------- General Storage -------------------------------\n    string name; // name of the Governor\n    mapping(uint256 proposalId => GovernorTypesV10.ProposalCore) proposals;\n    // This queue keeps track of the governor operating on itself. Calls to functions protected by the {onlyGovernance}\n    // modifier needs to be whitelisted in this queue. Whitelisting is set in {execute}, consumed by the\n    // {onlyGovernance} modifier and eventually reset after {_executeOperations} completes. This ensures that the\n    // execution of {onlyGovernance} protected calls can only be achieved through successful proposals.\n    DoubleEndedQueue.Bytes32Deque governanceCall;\n    // min delay before voting can start\n    uint256 minVotingDelay;\n    // ------------------------------- Quorum Storage -------------------------------\n    // quorum numerator history\n    // @dev This is deprecated since we are using proposalTypeQuorum for the quorum numerator history\n    Checkpoints.Trace208 quorumNumeratorHistory_DEPRECATED;\n    // ------------------------------- Timelock Storage -------------------------------\n    // Timelock contract\n    TimelockControllerUpgradeable timelock;\n    // mapping of proposalId to timelockId\n    mapping(uint256 proposalId => bytes32) timelockIds;\n    // ------------------------------- Function Restriction Storage -------------------------------\n    // mapping of target address to function selector to bool indicating if function is whitelisted for proposals\n    mapping(address => mapping(bytes4 => bool)) whitelistedFunctions;\n    // flag to enable/disable function restrictions\n    bool isFunctionRestrictionEnabled;\n    // ------------------------------- External Contracts Storage -------------------------------\n    // Voter Rewards contract\n    IVoterRewards voterRewards;\n    // XAllocationVotingGovernor contract\n    IXAllocationVotingGovernor xAllocationVoting;\n    // B3TR contract\n    IB3TR b3tr;\n    // VOT3 contract\n    IVOT3 vot3;\n    // ------------------------------- Desposits Storage -------------------------------\n    // mapping to track deposits made to proposals by address\n    mapping(uint256 proposalId => mapping(address user => uint256 amount)) deposits;\n    // percentage of the total supply of B3TR tokens that need to be deposited in VOT3 to create a proposal\n    // @dev This is deprecated since we are using proposalTypeDepositThresholdPercentage for the deposit threshold percentage\n    uint256 depositThresholdPercentage_DEPRECATED;\n    // ------------------------------- Voting Storage -------------------------------\n    // mapping to store the votes for a proposal\n    mapping(uint256 => GovernorTypesV10.ProposalVote) proposalVotes;\n    // mapping to store that a user has voted at least one time\n    mapping(address => bool) hasVotedOnce;\n    // mapping to store the total votes for a proposal\n    mapping(uint256 => uint256) proposalTotalVotes;\n    // minimum amount of tokens needed to cast a vote\n    // @dev This is deprecated since we are using proposalTypeVotingThreshold for the voting threshold\n    uint256 votingThreshold_DEPRECATED;\n    // ------------------------------- Version 3 -------------------------------\n\n    // ------------------------------- Voting Storage -------------------------------\n    // checkpoints for the quadratic voting status for each round\n    Checkpoints.Trace208 quadraticVotingDisabled;\n    // ------------------------------- Version 2 -------------------------------\n\n    // ------------------------------- Passport -------------------------------\n    IVeBetterPassport veBetterPassport;\n\n    // ------------------------------- Version 7 -------------------------------\n    // mapping to store the proposal type for each proposal\n    mapping(uint256 => GovernorTypesV10.ProposalType) proposalType;\n    // mapping to store the deposit threshold percentage for each proposal type\n    mapping(GovernorTypesV10.ProposalType => uint256) proposalTypeDepositThresholdPercentage;\n    // mapping to store the voting threshold for each proposal type\n    mapping(GovernorTypesV10.ProposalType => uint256) proposalTypeVotingThreshold;\n    // mapping to store the quorum history for each proposal type\n    mapping(GovernorTypesV10.ProposalType => Checkpoints.Trace208) proposalTypeQuorum;\n    // mapping to store the deposit threshold cap for each proposal type\n    mapping(GovernorTypesV10.ProposalType => uint256) proposalTypeDepositThresholdCap;\n    // GrantsManager contract\n    IGrantsManager grantsManager;\n    // GalaxyMember contract\n    IGalaxyMember galaxyMember;\n    // mapping to store the GM weight required for each proposal type\n    mapping(GovernorTypesV10.ProposalType => uint256) requiredGMLevelByProposalType;\n    // Checkpoints to store the deposits user\n    mapping(address user => Checkpoints.Trace208 timepoint) depositsVotingPower;\n    // ------------------------------- Version 8 -------------------------------\n    // Mapping to track the development status of executed proposals\n    // @dev This tracks whether a proposal that has been executed is in a development phase\n    // - PendingDevelopment: Proposal is not in a development phase\n    // - InDevelopment: Development phase is in progress\n    // - Completed: Development phase is completed\n    mapping(uint256 proposalId => GovernorTypesV10.ProposalDevelopmentState) proposalDevelopmentState;\n    // ------------------------------- Version 10 (navigator + relayer integration) -------------------------------\n    // NavigatorRegistry (navigator delegation voting); RelayerRewardsPool (governance vote action registration)\n    INavigatorRegistry navigatorRegistry;\n    IRelayerRewardsPool relayerRewardsPool;\n    // roundId => proposal IDs targeting that round (set at proposal creation)\n    mapping(uint256 => uint256[]) proposalsForRound;\n    // V10: configurable skip window for navigator governance vote skipping (blocks before proposal deadline)\n    uint256 governanceSkipWindowBlocks;\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { IVoterRewards } from \"../../../../interfaces/IVoterRewards.sol\";\nimport { IXAllocationVotingGovernor } from \"../../../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IB3TR } from \"../../../../interfaces/IB3TR.sol\";\nimport { IVOT3 } from \"../../../../interfaces/IVOT3.sol\";\nimport { TimelockControllerUpgradeable } from \"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\";\nimport { IGalaxyMember } from \"../../../../interfaces/IGalaxyMember.sol\";\nimport { IGrantsManager } from \"../../../../interfaces/IGrantsManager.sol\";\n\nlibrary GovernorTypesV10 {\n  /**\n   * @dev Struct containing data to initialize the contract\n   * @param vot3Token The address of the Vot3 token used for voting\n   * @param timelock The address of the Timelock\n   * @param xAllocationVoting The address of the xAllocationVoting\n   * @param quorumPercentage quorum as a percentage of the total supply of VOT3 tokens\n   * @param initialDepositThreshold The Deposit Threshold for a proposal to be active\n   * @param initialMinVotingDelay The minimum amount of blocks a proposal needs to wait before it can start\n   * @param initialVotingThreshold The minimum amount of voting power needed in order to vote\n   * @param voterRewards The address of the voter rewards contract\n   * @param isFunctionRestrictionEnabled If the function restriction is enabled\n   */\n  struct InitializationData {\n    IVOT3 vot3Token;\n    TimelockControllerUpgradeable timelock;\n    IXAllocationVotingGovernor xAllocationVoting;\n    IB3TR b3tr;\n    uint256 quorumPercentage;\n    uint256 initialDepositThreshold;\n    uint256 initialMinVotingDelay;\n    uint256 initialVotingThreshold;\n    IVoterRewards voterRewards;\n    bool isFunctionRestrictionEnabled;\n  }\n\n  /**\n   * @param governorAdmin The address of the governor admin\n   * @param pauser The address of the pauser\n   * @param contractsAddressManager The address of the contracts address manager\n   * @param proposalExecutor The address that should be set as executor and have the PROPOSAL_EXECUTOR_ROLE\n   * @param governorFunctionSettingsRoleAddress The address that should have the GOVERNOR_FUNCTIONS_SETTINGS_ROLE\n   */\n  struct InitializationRolesData {\n    address governorAdmin;\n    address pauser;\n    address contractsAddressManager;\n    address proposalExecutor;\n    address governorFunctionSettingsRoleAddress;\n  }\n\n  // Proposal vote types\n  enum VoteType {\n    Against,\n    For,\n    Abstain\n  }\n\n  // ProposalVote struct to store the votes for a proposal\n  struct ProposalVote {\n    uint256 againstVotes;\n    uint256 forVotes;\n    uint256 abstainVotes;\n    mapping(address => bool) hasVoted;\n  }\n\n  // ProposalCore struct to store the core data for a proposal\n  struct ProposalCore {\n    address proposer;\n    uint256 roundIdVoteStart;\n    uint32 voteDuration;\n    bool isExecutable;\n    bool executed;\n    bool canceled;\n    uint48 etaSeconds;\n    uint256 depositAmount;\n    uint256 depositThreshold;\n  }\n\n  // ProposalState enum to store the state of a proposal\n  enum ProposalState {\n    Pending,\n    Active,\n    Canceled,\n    Defeated,\n    Succeeded,\n    Queued,\n    Executed,\n    DepositNotMet,\n    InDevelopment,\n    Completed\n  }\n\n  /**\n   * @dev Struct containing data for v7 initialization\n   * @param grantDepositThreshold The deposit threshold percentage for grant proposals\n   * @param grantVotingThreshold The voting threshold for grant proposals\n   * @param grantQuorum The quorum percentage for grant proposals\n   */\n  struct InitializationDataV7 {\n    uint256 grantDepositThreshold;\n    uint256 grantVotingThreshold;\n    uint256 grantQuorum;\n    uint256 grantDepositThresholdCap;\n    uint256 standardDepositThresholdCap;\n    uint256 standardGMWeight;\n    uint256 grantGMWeight;\n    IGalaxyMember galaxyMember;\n    IGrantsManager grantsManager;\n  }\n\n  // ProposalType enum to distinguish between different types of proposals\n  enum ProposalType {\n    Standard,\n    Grant\n  }\n\n  // Proposal Development State\n  enum ProposalDevelopmentState {\n    PendingDevelopment,\n    InDevelopment,\n    Completed\n  }\n}\n"},"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypesV10 } from \"./GovernorStorageTypesV10.sol\";\nimport { GovernorTypesV10 } from \"./GovernorTypesV10.sol\";\nimport { GovernorStateLogicV10 } from \"./GovernorStateLogicV10.sol\";\nimport { GovernorConfiguratorV10 } from \"./GovernorConfiguratorV10.sol\";\nimport { GovernorProposalLogicV10 } from \"./GovernorProposalLogicV10.sol\";\nimport { GovernorClockLogicV10 } from \"./GovernorClockLogicV10.sol\";\nimport { Math } from \"@openzeppelin/contracts/utils/math/Math.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IVoterRewards } from \"../../../../interfaces/IVoterRewards.sol\";\nimport { RelayerAction } from \"../../../../interfaces/IRelayerRewardsPool.sol\";\n\n/// @title GovernorVotesLogicV10\n/// @notice Library for handling voting logic in the Governor contract.\n/// @dev Difference from V1: `proposalId` is passed as an argument to `registerVote` function instead of `proposalSnapshot`.\nlibrary GovernorVotesLogicV10 {\n  using Checkpoints for Checkpoints.Trace208;\n\n  /// @dev Thrown when a vote has already been cast by the voter.\n  /// @param voter The address of the voter who already cast a vote.\n  error GovernorAlreadyCastVote(address voter);\n\n  /// @dev Thrown when an invalid vote type is used.\n  error GovernorInvalidVoteType();\n\n  /// @dev Thrown when the voting threshold is not met.\n  /// @param threshold The required voting threshold.\n  /// @param votes The actual votes received.\n  error GovernorVotingThresholdNotMet(uint256 threshold, uint256 votes);\n\n  /// @dev Thrown when the personhood verification fails.\n  /// @param voter The address of the voter.\n  /// @param explanation The reason for the failure.\n  error GovernorPersonhoodVerificationFailed(address voter, string explanation);\n\n  /// @notice Emitted when a vote is cast without parameters.\n  /// @param voter The address of the voter.\n  /// @param proposalId The ID of the proposal being voted on.\n  /// @param support The support value of the vote.\n  /// @param weight The weight of the vote.\n  /// @param power The voting power of the voter.\n  /// @param reason The reason for the vote.\n  event VoteCast(\n    address indexed voter,\n    uint256 indexed proposalId,\n    uint8 support,\n    uint256 weight,\n    uint256 power,\n    string reason\n  );\n\n  /// @notice Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\n  event NavigatorGovernanceVoteSkipped(address indexed citizen, address indexed navigator, uint256 indexed proposalId);\n\n  /// @notice Emitted when a navigator casts a vote on behalf of a delegated citizen\n  event NavigatorGovernanceVoteCast(\n    address indexed citizen,\n    address indexed navigator,\n    uint256 indexed proposalId,\n    uint8 support,\n    uint256 weight,\n    uint256 power\n  );\n\n  /// @dev Thrown when citizen is not delegated to any navigator\n  error NotDelegatedToNavigator(address citizen);\n\n  /// @dev Thrown when citizen is delegated to a navigator and cannot vote manually\n  error DelegatedToNavigator(address citizen);\n\n  /// @dev Thrown when navigator has not set a decision for the proposal\n  error NavigatorDecisionNotSet(address navigator, uint256 proposalId);\n\n  /// @dev The governance skip window has not been reached yet\n  error GovernanceSkipWindowNotReached(uint256 proposalId);\n\n  /// @notice Emits true if quadratic voting is disabled, false otherwise.\n  /// @param disabled - The flag to enable or disable quadratic voting.\n  event QuadraticVotingToggled(bool indexed disabled);\n\n  /** ------------------ INTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Internal function to count a vote for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @param account The address of the voter.\n   * @param support The support value of the vote.\n   * @param weight The weight of the vote.\n   * @param power The voting power of the voter.\n   */\n  function _countVote(uint256 proposalId, address account, uint8 support, uint256 weight, uint256 power) private {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalVote storage proposalVote = $.proposalVotes[proposalId];\n\n    if (proposalVote.hasVoted[account]) {\n      revert GovernorAlreadyCastVote(account);\n    }\n    proposalVote.hasVoted[account] = true;\n\n    // if quadratic voting is disabled, use the weight as the vote otherwise use the power as the vote\n    uint256 vote = isQuadraticVotingDisabledForCurrentRound() ? weight : power;\n\n    if (support == uint8(GovernorTypesV10.VoteType.Against)) {\n      proposalVote.againstVotes += vote;\n    } else if (support == uint8(GovernorTypesV10.VoteType.For)) {\n      proposalVote.forVotes += vote;\n    } else if (support == uint8(GovernorTypesV10.VoteType.Abstain)) {\n      proposalVote.abstainVotes += vote;\n    } else {\n      revert GovernorInvalidVoteType();\n    }\n\n    $.proposalTotalVotes[proposalId] += weight;\n\n    // Save that user cast vote only the first time\n    if (!$.hasVotedOnce[account]) {\n      $.hasVotedOnce[account] = true;\n    }\n  }\n\n  /**\n   * @dev Internal function to check if the vote succeeded.\n   * @param proposalId The ID of the proposal.\n   * @return True if the vote succeeded, false otherwise.\n   */\n  function voteSucceeded(uint256 proposalId) internal view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalVote storage proposalVote = $.proposalVotes[proposalId];\n    return proposalVote.forVotes > proposalVote.againstVotes;\n  }\n\n  /** ------------------ GETTERS ------------------ **/\n\n  /**\n   * @notice Retrieves the effective voting power for an account at a given timepoint.\n   * @dev If citizen had a navigator at the snapshot and that navigator is still alive (not deactivated/exiting),\n   *      returns the delegated amount (their effective participation via navigator).\n   *      If navigator is dead, delegation is void and citizen has full VOT3 balance.\n   *      If not delegated, returns full VOT3 balance + staked B3TR (converted to VOT3) for navigators.\n   *      The staked amount is checkpointed in NavigatorRegistry and returns 0 for non-navigators.\n   * @param account The address of the account.\n   * @param timepoint The specific timepoint.\n   * @return The effective voting power at the given timepoint.\n   */\n  function getVotes(address account, uint256 timepoint) internal view returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    uint256 totalVotes = $.vot3.getPastVotes(account, timepoint);\n\n    if (address($.navigatorRegistry) == address(0)) return totalVotes;\n    // getNavigatorAtTimepoint returns address(0) if not delegated or navigator was dead\n    if ($.navigatorRegistry.getNavigatorAtTimepoint(account, timepoint) != address(0)) {\n      return $.navigatorRegistry.getDelegatedAmountAtTimepoint(account, timepoint);\n    }\n\n    // Include staked amount for navigators (B3TR converted to VOT3 under the hood)\n    // Returns 0 for non-navigators (no checkpoints)\n    totalVotes += $.navigatorRegistry.getStakedAmountAtTimepoint(account, timepoint);\n    return totalVotes;\n  }\n\n  /**\n   * @notice Retrieves the quadratic voting power of an account at a given timepoint.\n   * @param account The address of the account.\n   * @param timepoint The specific timepoint.\n   * @return The quadratic voting power of the account.\n   */\n  function getQuadraticVotingPower(address account, uint256 timepoint) external view returns (uint256) {\n    // Scale the votes by 1e9 so that the number returned is 1e18\n    return Math.sqrt(getVotes(account, timepoint)) * 1e9;\n  }\n\n  /**\n   * @notice Checks if an account has voted on a specific proposal.\n   * @param proposalId The ID of the proposal.\n   * @param account The address of the account.\n   * @return True if the account has voted, false otherwise.\n   */\n  function hasVoted(uint256 proposalId, address account) internal view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.proposalVotes[proposalId].hasVoted[account];\n  }\n\n  /**\n   * @notice Retrieves the votes for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return againstVotes The number of votes against the proposal.\n   * @return forVotes The number of votes for the proposal.\n   * @return abstainVotes The number of abstain votes.\n   */\n  function getProposalVotes(\n    uint256 proposalId\n  ) internal view returns (uint256 againstVotes, uint256 forVotes, uint256 abstainVotes) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorTypesV10.ProposalVote storage proposalVote = $.proposalVotes[proposalId];\n    return (proposalVote.againstVotes, proposalVote.forVotes, proposalVote.abstainVotes);\n  }\n\n  /**\n   * @notice Checks if a user has voted at least once.\n   * @param user The address of the user.\n   * @return True if the user has voted once, false otherwise.\n   */\n  function userVotedOnce(address user) internal view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    return $.hasVotedOnce[user];\n  }\n\n  /** ------------------ EXTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @notice Casts a vote on a proposal.\n   * @param proposalId The ID of the proposal.\n   * @param voter The address of the voter.\n   * @param support The support value of the vote.\n   * @param reason The reason for the vote.\n   * @return The weight of the vote.\n   */\n  function castVote(\n    uint256 proposalId,\n    address voter,\n    uint8 support,\n    string calldata reason\n  ) external returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Active)\n    );\n\n    uint256 proposalSnapshot = GovernorProposalLogicV10._proposalSnapshot(proposalId);\n\n    // Citizens delegated to an alive navigator at the proposal snapshot cannot vote manually\n    if (address($.navigatorRegistry) != address(0)) {\n      if ($.navigatorRegistry.getNavigatorAtTimepoint(voter, proposalSnapshot) != address(0)) {\n        revert DelegatedToNavigator(voter);\n      }\n    }\n\n    (bool isPerson, string memory explanation) = $.veBetterPassport.isPersonAtTimepoint(\n      voter,\n      SafeCast.toUint48(proposalSnapshot)\n    );\n\n    // Check if the voter or the delegator of personhood to the voter is a person and returning error with the reason\n    if (!isPerson) {\n      revert GovernorPersonhoodVerificationFailed(voter, explanation);\n    }\n\n    uint256 weight = getVotes(voter, proposalSnapshot); // voting power including staked B3TR for navigators\n    uint256 power = Math.sqrt(weight) * 1e9;\n    GovernorTypesV10.ProposalType proposalType = GovernorTypesV10.ProposalType(\n      GovernorProposalLogicV10.proposalType(proposalId)\n    );\n\n    _checkVotingThreshold(weight, proposalType);\n\n    _countVote(proposalId, voter, support, weight, power);\n\n    // Apply governance intent multiplier and register vote for rewards\n    _registerVoteWithIntentMultiplier($, proposalId, voter, weight, support, proposalSnapshot);\n\n    emit VoteCast(voter, proposalId, support, weight, power, reason);\n\n    return weight;\n  }\n\n  /**\n   * @notice Cast a governance vote on behalf of a citizen delegated to a navigator,\n   *         or auto-skip if the navigator is dead / has not set a decision (after skip window).\n   *\n   * Decision flow:\n   *   1. Navigator dead at snapshot → revert (citizen not delegated)\n   *   2. Navigator dead NOW → skip immediately, reduce governance vote expectation\n   *   3. Navigator alive + no decision + skip window NOT reached → revert (relayer retries later)\n   *   4. Navigator alive + no decision + skip window reached → skip\n   *   5. Navigator alive + decision set + citizen not a person → skip\n   *   6. Navigator alive + decision set + citizen is a person → vote normally\n   */\n  function castNavigatorVote(uint256 proposalId, address citizen) external returns (uint256) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    GovernorStateLogicV10.validateStateBitmap(\n      proposalId,\n      GovernorStateLogicV10.encodeStateBitmap(GovernorTypesV10.ProposalState.Active)\n    );\n\n    uint256 proposalSnapshot = GovernorProposalLogicV10._proposalSnapshot(proposalId);\n    address navigator = $.navigatorRegistry.getNavigatorAtTimepoint(citizen, proposalSnapshot);\n    if (navigator == address(0)) revert NotDelegatedToNavigator(citizen);\n\n    uint256 roundId = $.proposals[proposalId].roundIdVoteStart;\n\n    // Dead navigator → skip immediately (navigator can't act, personhood irrelevant)\n    if ($.navigatorRegistry.isDeactivated(navigator)) {\n      if (address($.relayerRewardsPool) != address(0)) {\n        $.relayerRewardsPool.reduceUserGovernanceVote(roundId, citizen, proposalId);\n      }\n      emit NavigatorGovernanceVoteSkipped(citizen, navigator, proposalId);\n      return 0;\n    }\n\n    // Navigator alive — check decision\n    if (!$.navigatorRegistry.hasSetDecision(navigator, proposalId)) {\n      // No decision set — skip only after window (navigator failed to act, personhood irrelevant)\n      uint256 deadline = GovernorProposalLogicV10._proposalDeadline(proposalId);\n      if (block.number + GovernorConfiguratorV10.governanceSkipWindowBlocks() < deadline) {\n        revert GovernanceSkipWindowNotReached(proposalId);\n      }\n      if (address($.relayerRewardsPool) != address(0)) {\n        $.relayerRewardsPool.reduceUserGovernanceVote(roundId, citizen, proposalId);\n      }\n      emit NavigatorGovernanceVoteSkipped(citizen, navigator, proposalId);\n      return 0;\n    }\n\n    // Decision set — check personhood before casting the actual vote\n    (bool isPerson, ) = $.veBetterPassport.isPersonAtTimepoint(citizen, SafeCast.toUint48(proposalSnapshot));\n    if (!isPerson) {\n      if (address($.relayerRewardsPool) != address(0)) {\n        $.relayerRewardsPool.reduceUserGovernanceVote(roundId, citizen, proposalId);\n      }\n      emit NavigatorGovernanceVoteSkipped(citizen, navigator, proposalId);\n      return 0;\n    }\n\n    // Decision is offset by 1 in NavigatorRegistry: 1=Against, 2=For, 3=Abstain\n    // B3TRGovernorV10 uses: 0=Against, 1=For, 2=Abstain\n    uint8 decision = $.navigatorRegistry.getProposalDecision(navigator, proposalId);\n    uint8 support = decision - 1;\n\n    uint256 weight = $.navigatorRegistry.getDelegatedAmountAtTimepoint(citizen, proposalSnapshot);\n    uint256 power = Math.sqrt(weight) * 1e9;\n    GovernorTypesV10.ProposalType proposalType = GovernorTypesV10.ProposalType(\n      GovernorProposalLogicV10.proposalType(proposalId)\n    );\n\n    _checkVotingThreshold(weight, proposalType);\n    _countVote(proposalId, citizen, support, weight, power);\n\n    _registerVoteWithIntentMultiplier($, proposalId, citizen, weight, support, proposalSnapshot);\n    _registerRelayerActionForNavigatorVote($, proposalId, citizen);\n\n    emit NavigatorGovernanceVoteCast(citizen, navigator, proposalId, support, weight, power);\n    emit VoteCast(citizen, proposalId, support, weight, power, \"\");\n\n    return weight;\n  }\n\n  /**\n   * @notice Checks if the voting threshold is met.\n   * @param weight - The weight of the vote.\n   * @param proposalType - The type of proposal.\n   */\n  function _checkVotingThreshold(uint256 weight, GovernorTypesV10.ProposalType proposalType) private view {\n    uint256 threshold = GovernorConfiguratorV10.getVotingThreshold(proposalType);\n    if (weight < threshold) {\n      revert GovernorVotingThresholdNotMet(threshold, weight);\n    }\n  }\n\n  /**\n   * @notice Toggle quadratic voting for a specific cycle.\n   * @dev This function toggles the state of quadratic voting for a specific cycle.\n   * The state will flip between enabled and disabled each time the function is called.\n   */\n  function toggleQuadraticVoting() external {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    bool isQuadraticDisabled = $.quadraticVotingDisabled.upperLookupRecent(GovernorClockLogicV10.clock()) == 1; // 0: enabled, 1: disabled\n\n    // If quadratic voting is disabled, set the new status to enabled, otherwise set it to disabled.\n    uint208 newStatus = isQuadraticDisabled ? 0 : 1;\n\n    // Toggle the status -> 0: enabled, 1: disabled\n    $.quadraticVotingDisabled.push(GovernorClockLogicV10.clock(), newStatus);\n\n    // Emit an event to log the new quadratic voting status.\n    emit QuadraticVotingToggled(!isQuadraticDisabled);\n  }\n\n  /**\n   * @notice Check if quadratic voting is disabled at a specific round.\n   * @dev To check if quadratic voting was disabled for a round, use the block number the round started.\n   * @param roundId - The round ID for which to check if quadratic voting is disabled.\n   * @return true if quadratic voting is disabled, false otherwise.\n   */\n  function isQuadraticVotingDisabledForRound(uint256 roundId) external view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    // Get the block number the round started.\n    uint48 blockNumber = SafeCast.toUint48($.xAllocationVoting.roundSnapshot(roundId));\n\n    // Check if quadratic voting is enabled or disabled at the block number.\n    return $.quadraticVotingDisabled.upperLookupRecent(blockNumber) == 1; // 0: enabled, 1: disabled\n  }\n\n  /**\n   * @notice Check if quadratic voting is disabled for the current round.\n   * @return true if quadratic voting is disabled, false otherwise.\n   */\n  function isQuadraticVotingDisabledForCurrentRound() public view returns (bool) {\n    GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    // Get the block number the emission round started.\n    uint256 roundStartBlock = $.xAllocationVoting.currentRoundSnapshot();\n\n    // Check if quadratic voting is enabled or disabled for the current round.\n    return $.quadraticVotingDisabled.upperLookupRecent(SafeCast.toUint48(roundStartBlock)) == 1; // 0: enabled, 1: disabled\n  }\n\n  /// @dev Register a vote with governance intent multiplier applied to reward weight\n  /// @param $ The governor storage\n  /// @param proposalId The proposal ID\n  /// @param voter The voter address\n  /// @param weight The raw voting weight (unmultiplied)\n  /// @param support The vote support value (0=Against, 1=For, 2=Abstain)\n  /// @param proposalSnapshot The proposal snapshot timepoint for multiplier lookup\n  function _registerVoteWithIntentMultiplier(\n    GovernorStorageTypesV10.GovernorStorage storage $,\n    uint256 proposalId,\n    address voter,\n    uint256 weight,\n    uint8 support,\n    uint256 proposalSnapshot\n  ) private {\n    // Get intent multiplier based on vote support type\n    // support: 0 = Against, 1 = For, 2 = Abstain\n    (uint256 forAgainstMultiplier, uint256 abstainMultiplier) = IVoterRewards(address($.voterRewards))\n      .getIntentMultipliers(proposalSnapshot);\n    uint256 intentMultiplier = (support == 2) ? abstainMultiplier : forAgainstMultiplier;\n    uint256 rewardWeight = (weight * intentMultiplier) / 10000;\n\n    $.voterRewards.registerVote(proposalId, voter, rewardWeight, Math.sqrt(rewardWeight));\n  }\n\n  function _registerRelayerActionForNavigatorVote(\n    GovernorStorageTypesV10.GovernorStorage storage $,\n    uint256 proposalId,\n    address citizen\n  ) private {\n    if (address($.relayerRewardsPool) == address(0)) return;\n    $.relayerRewardsPool.registerRelayerAction(\n      msg.sender,\n      citizen,\n      $.proposals[proposalId].roundIdVoteStart,\n      RelayerAction.VOTE\n    );\n  }\n}\n"},"contracts/deprecated/V10/interfaces/IB3TRGovernorV10.sol":{"content":"// SPDX-License-Identifier: MIT\n// Forked from OpenZeppelin Contracts (last updated v5.0.0) (governance/IGovernor.sol)\n\npragma solidity 0.8.20;\n\nimport { IERC165 } from \"@openzeppelin/contracts/interfaces/IERC165.sol\";\nimport { IERC6372 } from \"@openzeppelin/contracts/interfaces/IERC6372.sol\";\nimport { IB3TR } from \"../../../interfaces/IB3TR.sol\";\nimport { IVoterRewards } from \"../../../interfaces/IVoterRewards.sol\";\nimport { IXAllocationVotingGovernor } from \"../../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { GovernorTypesV10 } from \"../governance/libraries/GovernorTypesV10.sol\";\nimport { IVeBetterPassport } from \"../../../interfaces/IVeBetterPassport.sol\";\nimport { IGalaxyMember } from \"../../../interfaces/IGalaxyMember.sol\";\nimport { IGrantsManager } from \"../../../interfaces/IGrantsManager.sol\";\nimport { IRelayerRewardsPool } from \"../../../interfaces/IRelayerRewardsPool.sol\";\n\n/**\n * @dev Interface of the {B3TRGovernorV10} core.\n *\n * Modifications to original forked contract from OZ:\n * - Removed votingDelay()\n * - Removed the possibility to cast vote with params and with signature\n * - Updated propose() and ProposalCreated event to accept the x allocation round id as param when proposal should become active\n * - Added proposalStartRound() to get the round when the proposal should become active\n * - Added canProposalStartInNextRound() to check if the proposal can start in the next allocation round\n * - Added new state `DepositNotMet` to ProposalState enum\n * - Added depositThreshold() to get the minimum required deposit for a proposal and removed proposalThreshold\n */\ninterface IB3TRGovernorV10 is IERC165, IERC6372 {\n  /**\n   * @dev Empty proposal or a mismatch between the parameters length for a proposal call.\n   */\n  error GovernorInvalidProposalLength(uint256 targets, uint256 calldatas, uint256 values);\n\n  /**\n   * @dev The vote was already cast.\n   */\n  error GovernorAlreadyCastVote(address voter);\n\n  /**\n   * @dev Token deposits are disabled in this contract.\n   */\n  error GovernorDisabledDeposit();\n\n  /**\n   * @dev Thrown when the proposer does not fit the requirement (GM weight ATM)\n   */\n  error GMLevelAboveMaxLevel(uint256 gmLevel);\n\n  /**\n   * @dev The GM level is not in the valid range - 0 to max level.\n   */\n  error GovernorInvalidProposer(address proposer, uint256 requiredWeight);\n\n  /**\n   * @dev The `account` is not a proposer.\n   */\n  error GovernorOnlyProposer(address account);\n\n  /**\n   * @dev The `account` is not the governance executor.\n   */\n  error GovernorOnlyExecutor(address account);\n\n  /**\n   * @dev The `proposalId` doesn't exist.\n   */\n  error GovernorNonexistentProposal(uint256 proposalId);\n\n  /**\n   * @dev The `votingThreshold` is not met.\n   */\n  error GovernorVotingThresholdNotMet(uint256 threshold, uint256 votes);\n\n  /**\n   * @dev The quorum numerator is greater than the quorum denominator.\n   */\n  error GovernorInvalidQuorumFraction(uint256 quorumNumerator, uint256 quorumDenominator);\n\n  /**\n   * @dev Thrown when the personhood verification fails.\n   * @param voter The address of the voter.\n   * @param explanation The reason for the failure.\n   */\n  error GovernorPersonhoodVerificationFailed(address voter, string explanation);\n\n  /**\n   * @dev The current state of a proposal is not the required for performing an operation.\n   * The `expectedStates` is a bitmap with the bits enabled for each ProposalState enum position\n   * counting from right to left.\n   *\n   * NOTE: If `expectedState` is `bytes32(0)`, the proposal is expected to not be in any state (i.e. not exist).\n   * This is the case when a proposal that is expected to be unset is already initiated (the proposal is duplicated).\n   *\n   * See {Governor-_encodeStateBitmap}.\n   */\n  error GovernorUnexpectedProposalState(\n    uint256 proposalId,\n    GovernorTypesV10.ProposalState current,\n    bytes32 expectedStates\n  );\n\n  /**\n   * @dev The voting period set is not a valid period.\n   */\n  error GovernorInvalidVotingPeriod(uint256 votingPeriod);\n\n  /**\n   * @dev The `proposer` does not have the required votes to create a proposal.\n   */\n  error GovernorInsufficientProposerVotes(address proposer, uint256 votes, uint256 threshold);\n\n  /**\n   * @dev The `proposer` is not allowed to create a proposal.\n   */\n  error GovernorRestrictedProposer(address proposer);\n\n  /**\n   * @dev The vote type used is not valid for the corresponding counting module.\n   */\n  error GovernorInvalidVoteType();\n\n  /**\n   * @dev Queue operation is not implemented for this governor. Execute should be called directly.\n   */\n  error GovernorQueueNotImplemented();\n\n  /**\n   * @dev The proposal hasn't been queued yet.\n   */\n  error GovernorNotQueuedProposal(uint256 proposalId);\n\n  /**\n   * @dev The proposal has already been queued.\n   */\n  error GovernorAlreadyQueuedProposal(uint256 proposalId);\n\n  /**\n   * @dev The round when proposal should start is not valid.\n   */\n  error GovernorInvalidStartRound(uint256 roundId);\n\n  /**\n   * @dev There is no deposit to withdraw.\n   */\n  error GovernorNoDepositToWithdraw(uint256 proposalId, address depositer);\n\n  /**\n   * @dev The deposit amount must be greater than 0.\n   */\n  error GovernorInvalidDepositAmount();\n\n  /**\n   * @dev The deposit threshold is not in the valid range for a percentage - 0 to 100.\n   */\n  error GovernorDepositThresholdNotInRange(uint256 depositThreshold);\n\n  /**\n   * @dev User is not authorized to perform the action.\n   */\n  error UnauthorizedAccess(address user);\n\n  /**\n   * @dev The grantee cannot deposit for their own grant.\n   */\n  error GranteeCannotDepositOwnGrant(uint256 proposalId);\n\n  /**\n   * @dev Thrown when a proposal is not allowed to perform a specific action.\n   * Some actions are restricted to Standard proposals only, others to Grant proposals only.\n   * eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\n   */\n  error GovernorRestrictedProposal(uint256 proposalId, GovernorTypesV10.ProposalType proposalType);\n\n  /// @dev The governance skip window has not been reached yet\n  error GovernanceSkipWindowNotReached(uint256 proposalId);\n\n  /// @dev Thrown when citizen is not delegated to any navigator\n  error NotDelegatedToNavigator(address citizen);\n\n  /// @dev Thrown when citizen is delegated to a navigator and cannot vote manually\n  error DelegatedToNavigator(address citizen);\n\n  /// @dev Thrown when navigator has not set a decision for the proposal\n  error NavigatorDecisionNotSet(address navigator, uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is created\n   */\n  event ProposalCreated(\n    uint256 indexed proposalId,\n    address indexed proposer,\n    address[] targets,\n    uint256[] values,\n    string[] signatures,\n    bytes[] calldatas,\n    string description,\n    uint256 indexed roundIdVoteStart,\n    uint256 depositThreshold\n  );\n\n  /**\n   * @dev Emitted when a proposal is queued.\n   */\n  event ProposalQueued(uint256 proposalId, uint256 etaSeconds);\n\n  /**\n   * @dev Emitted when a proposal is executed.\n   */\n  event ProposalExecuted(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is canceled.\n   */\n  event ProposalCanceled(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is canceled with a reason.\n   */\n  event ProposalCanceledWithReason(uint256 indexed proposalId, address indexed canceler, string reason);\n\n  /**\n   * @dev Emitted when the quorum numerator is updated.\n   */\n  event QuorumNumeratorUpdated(uint256 oldNumerator, uint256 newNumerator);\n\n  /**\n   * @dev Emitted when the timelock controller used for proposal execution is modified.\n   */\n  event TimelockChange(address oldTimelock, address newTimelock);\n\n  /**\n   * @dev Emitted when a function is whitelisted or restricted by the governor.\n   */\n  event FunctionWhitelisted(address indexed target, bytes4 indexed functionSelector, bool isWhitelisted);\n\n  /**\n   * @dev Emitted when a vote is cast without params.\n   *\n   * Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\n   */\n  event VoteCast(\n    address indexed voter,\n    uint256 indexed proposalId,\n    uint8 support,\n    uint256 weight,\n    uint256 power,\n    string reason\n  );\n\n  /**\n   * @notice Emits true if quadratic voting is disabled, false otherwise.\n   * @param disabled - The flag to enable or disable quadratic voting.\n   */\n  event QuadraticVotingToggled(bool indexed disabled);\n\n  /**\n   * @dev Emitted when a deposit is made to a proposal.\n   */\n  event ProposalDeposit(address indexed depositor, uint256 indexed proposalId, uint256 amount);\n\n  /**\n   * @dev Emitted when the VeBetterPassport contract is set.\n   */\n  event VeBetterPassportSet(address indexed oldVeBetterPassport, address indexed newVeBetterPassport);\n\n  /**\n   * @dev Emitted when a proposal is created with type information.\n   */\n  event ProposalCreatedWithType(uint256 indexed proposalId, GovernorTypesV10.ProposalType proposalType);\n\n  /**\n   * @dev Emitted when the quorum numerator for a specific proposal type is updated.\n   */\n  event QuorumNumeratorUpdatedByType(\n    uint256 oldNumerator,\n    uint256 newNumerator,\n    GovernorTypesV10.ProposalType proposalType\n  );\n  /**\n   * @dev Emitted when the `votingThreshold` for a proposal type is set.\n   */\n  event VotingThresholdSetV2(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 oldVotingThreshold,\n    uint256 newVotingThreshold\n  );\n\n  /**\n   * @dev Emitted when the deposit threshold percentage for a proposal type is set.\n   */\n  event DepositThresholdSetV2(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 oldDepositThreshold,\n    uint256 newDepositThreshold\n  );\n  /**\n   * @dev Emitted when the deposit threshold cap for a proposal type is set.\n   */\n  event DepositThresholdCapSet(\n    GovernorTypesV10.ProposalType proposalType,\n    uint256 oldDepositThresholdCap,\n    uint256 newDepositThresholdCap\n  );\n\n  /// @dev Emitted when the voting power is seeded.\n  event VotingPowerSeeded(address indexed walletAddress, uint256 indexed deposit);\n\n  /// @dev Emitted when a deposit is withdrawn from a proposal.\n  event ProposalWithdraw(address indexed withdrawer, uint256 indexed proposalId, uint256 amount);\n\n  /**\n   * @dev Emitted when a proposal is marked as in development.\n   */\n  event ProposalInDevelopment(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is marked as completed.\n   */\n  event ProposalCompleted(uint256 proposalId);\n\n  /**\n   * @dev Emitted when the development state of a proposal is reset back to pending development.\n   */\n  event ProposalDevelopmentStateReset(uint256 proposalId);\n\n  /// @notice Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\n  event NavigatorGovernanceVoteSkipped(address indexed citizen, address indexed navigator, uint256 indexed proposalId);\n\n  /**\n   * @notice module:core\n   * @dev Name of the governor instance (used in building the ERC712 domain separator).\n   */\n  function name() external view returns (string memory);\n\n  /**\n   * @notice module:core\n   * @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"\n   */\n  function version() external view returns (string memory);\n\n  /**\n   * @notice module:voting\n   * @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n   * be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n   * key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n   *\n   * There are 2 standard keys: `support` and `quorum`.\n   *\n   * - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n   * - `quorum=bravo` means that only For votes are counted towards quorum.\n   * - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n   *\n   * If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique\n   * name that describes the behavior. For example:\n   *\n   * - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n   * - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n   *\n   * NOTE: The string can be decoded by the standard\n   * https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n   * JavaScript class.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function COUNTING_MODE() external view returns (string memory);\n\n  /**\n   * @notice module:core\n   * @dev Hashing function used to (re)build the proposal id from the proposal details..\n   */\n  function hashProposal(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external pure returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Current state of a proposal, following Compound's convention\n   */\n  function state(uint256 proposalId) external view returns (GovernorTypesV10.ProposalState);\n\n  /**\n   * @notice module:core\n   * @dev Get the minimum required delay between proposal cretion and start when creating a proposal.\n   */\n  function minVotingDelay() external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The B3TR contract address\n   */\n  function b3tr() external view returns (IB3TR);\n\n  /**\n   * @notice module:core\n   * @dev Getter for the VoterRewards contract\n   */\n  function voterRewards() external view returns (IVoterRewards);\n\n  /**\n   * @notice module:core\n   * @dev Getter for the XAllocationVoting contract\n   */\n  function xAllocationVoting() external view returns (IXAllocationVotingGovernor);\n\n  /**\n   * @notice module:core\n   * @dev Getter for the RelayerRewardsPool contract\n   */\n  function relayerRewardsPool() external view returns (IRelayerRewardsPool);\n\n  /**\n   * @notice module:core\n   * @dev The number of votes in support of a proposal required in order for a proposal to become active.\n   */\n  function depositThresholdByProposalType(GovernorTypesV10.ProposalType proposalTypeValue) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The proposal Threshold Percentage for all type of proposal\n   */\n  function depositThresholdPercentageByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The voting threshold for a proposal type\n   */\n  function votingThresholdByProposalType(GovernorTypesV10.ProposalType proposalTypeValue) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n   * snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the\n   * following block.\n   */\n  function proposalSnapshot(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n   * possible to cast a vote during this block.\n   */\n  function proposalDeadline(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The account that created a proposal.\n   */\n  function proposalProposer(uint256 proposalId) external view returns (address);\n\n  /**\n   * @notice module:core\n   * @dev The time when a queued proposal becomes executable (\"ETA\"). Unlike {proposalSnapshot} and\n   * {proposalDeadline}, this doesn't use the governor clock, and instead relies on the executor's clock which may be\n   * different. In most cases this will be a timestamp.\n   */\n  function proposalEta(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Whether a proposal needs to be queued before execution.\n   */\n  function proposalNeedsQueuing(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @notice module:user-config\n   * @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n   * (see EIP-6372) this contract uses.\n   *\n   * NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting\n   * duration compared to the voting delay.\n   *\n   * NOTE: This value is stored when the proposal is submitted so that possible changes to the value do not affect\n   * proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n   * interface returns a uint256, the value it returns should fit in a uint32.\n   */\n  function votingPeriod() external view returns (uint256);\n\n  /**\n   * @notice module:user-config\n   * @dev Minimum number of cast voted required for a proposal to be successful.\n   *\n   * NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n   * quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\n   */\n  function quorum(uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Voting power of an `account` at a specific `timepoint`.\n   *\n   * Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n   * multiple), {ERC20Votes} tokens.\n   */\n  function getVotes(address account, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Voting power using quadratic voting of an `account` at a specific `timepoint`.\n   *\n   */\n  function getQuadraticVotingPower(address account, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:voting\n   * @dev Returns whether `account` has cast a vote on `proposalId`.\n   */\n  function hasVoted(uint256 proposalId, address account) external view returns (bool);\n\n  /**\n   * @dev Create a new proposal. Specify the allocation round when vote should become active.\n   * The duration is specified by {IGovernor-votingPeriod}.\n   *\n   * Emits a {ProposalCreated} and {ProposalCreatedWithType} event.\n   */\n  function propose(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount\n  ) external returns (uint256 proposalId);\n\n  /**\n   * @dev Create a grant proposal. Grantee cannot deposit for it's own grant.\n   */\n  function proposeGrant(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    address grantsReceiver,\n    string memory milestonesDetailsMetadataURI\n  ) external returns (uint256);\n\n  /**\n   * @dev Queue a proposal. Some governors require this step to be performed before execution can happen. If queuing\n   * is not necessary, this function may revert.\n   * Queuing a proposal requires the quorum to be reached, the vote to be successful, and the deadline to be reached.\n   *\n   * Emits a {ProposalQueued} event.\n   */\n  function queue(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external returns (uint256 proposalId);\n\n  /**\n   * @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the\n   * deadline to be reached. Depending on the governor it might also be required that the proposal was queued and\n   * that some delay passed.\n   *\n   * Emits a {ProposalExecuted} event.\n   *\n   * NOTE: Some modules can modify the requirements for execution, for example by adding an additional timelock.\n   */\n  function execute(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external payable returns (uint256 proposalId);\n\n  /**\n   * @dev Cancel a proposal. A proposal is cancellable by the proposer, but only while it is Pending state, i.e.\n   * before the vote starts.\n   *\n   * Emits a {ProposalCanceled} and {ProposalCanceledWithReason} event.\n   */\n  function cancel(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash,\n    string memory reason\n  ) external returns (uint256 proposalId);\n\n  /**\n   * @dev Cast a vote\n   *\n   * Emits a {VoteCast} event.\n   */\n  function castVote(uint256 proposalId, uint8 support) external returns (uint256 balance);\n\n  /**\n   * @dev Cast a vote with a reason\n   *\n   * Emits a {VoteCast} event.\n   */\n  function castVoteWithReason(\n    uint256 proposalId,\n    uint8 support,\n    string calldata reason\n  ) external returns (uint256 balance);\n\n  /**\n   * @dev Check if user has cast vote at least in one proposal.\n   */\n  function hasVotedOnce(address user) external view returns (bool);\n\n  /**\n   * @dev Round when the proposal should become active.\n   */\n  function proposalStartRound(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @dev Check if proposal can start in the next allocation round.\n   */\n  function canProposalStartInNextRound() external view returns (bool);\n\n  /**\n   * @dev Function to deposit tokens to a proposal\n   */\n  function deposit(uint256 amount, uint256 proposalId) external;\n\n  /**\n   * @dev Function to withdraw tokens from a proposal\n   */\n  function withdraw(uint256 proposalId, address depositer) external;\n\n  /**\n   * @dev Getter to retrieve the total amount of tokens deposited to a proposal\n   */\n  function getProposalDeposits(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @dev Function to check if the deposit threshold for a proposal has been reached\n   */\n  function proposalDepositReached(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @dev Getter to retrieve the amount of tokens a specific user has deposited to a proposal\n   */\n  function getUserDeposit(uint256 proposalId, address user) external view returns (uint256);\n\n  /**\n   * @notice Returns the VeBetterPassport contract.\n   * @return The current VeBetterPassport contract.\n   */\n  function veBetterPassport() external view returns (IVeBetterPassport);\n\n  /**\n   * @notice Set the VeBetterPassport contract\n   * @param newVeBetterPassport The new VeBetterPassport contract\n   */\n  function setVeBetterPassport(IVeBetterPassport newVeBetterPassport) external;\n\n  /**\n   * @notice module:core\n   * @dev The type of a proposal.\n   */\n  function proposalType(uint256 proposalId) external view returns (GovernorTypesV10.ProposalType);\n\n  /**\n   * @notice Set the GalaxyMember contract\n   * @param newGalaxyMember The new GalaxyMember contract\n   */\n  function setGalaxyMember(IGalaxyMember newGalaxyMember) external;\n\n  /**\n   * @notice Get the GalaxyMember contract\n   * @return The current GalaxyMember contract\n   */\n  function getGalaxyMemberContract() external view returns (IGalaxyMember);\n\n  /**\n   * @notice Set the GrantsManager contract\n   * @param newGrantsManager The new GrantsManager contract\n   */\n  function setGrantsManager(IGrantsManager newGrantsManager) external;\n\n  /**\n   * @notice Set the RelayerRewardsPool contract\n   * @param newRelayerRewardsPool The new RelayerRewardsPool contract\n   */\n  function setRelayerRewardsPool(IRelayerRewardsPool newRelayerRewardsPool) external;\n\n  /**\n   * @notice Get the GrantsManager contract\n   * @return The current GrantsManager contract\n   */\n  function getGrantsManagerContract() external view returns (IGrantsManager);\n\n  /**\n   * @notice Get the GM weight for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @return The GM weight for the proposal type\n   */\n  function getRequiredGMLevelByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external view returns (uint256);\n\n  /**\n   * @notice Set the GM weight for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @param newGMWeight The new GM weight for the proposal type\n   * @notice e.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal\n   */\n  function setRequiredGMLevelByProposalType(GovernorTypesV10.ProposalType proposalTypeValue, uint256 newGMWeight) external;\n\n  /**\n   * @notice Returns the deposit threshold cap for a proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return uint256 The deposit threshold cap for the proposal type.\n   */\n  function depositThresholdCapByProposalType(\n    GovernorTypesV10.ProposalType proposalTypeValue\n  ) external view returns (uint256);\n\n  /**\n   * @notice Get the deposit voting power for a given account at a given timepoint\n   * @param account The address of the account\n   * @param timepoint The timepoint\n   * @return The deposit voting power\n   */\n  function getDepositVotingPower(address account, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice Returns currently active proposal IDs.\n   */\n  function getActiveProposals() external view returns (uint256[] memory);\n}\n"},"contracts/deprecated/V2/GalaxyMemberV2.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\nimport \"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IB3TRGovernor } from \"../../interfaces/IB3TRGovernor.sol\";\nimport { IB3TR } from \"../../interfaces/IB3TR.sol\";\nimport { ITokenAuction } from \"../../mocks/Stargate/interfaces/ITokenAuction.sol\";\nimport { INodeManagementV1 } from \"../V1/interfaces/INodeManagementV1.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\n\n/**\n * @title GalaxyMember\n * @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n * @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n *\n * --------------------------------- VERSION ---------------------------------\n * - Added Vechain Nodes contract to attach and detach nodes to tokens\n * - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n * - Added free upgrade levels for each Vechain node level\n * - Removed automatic highest level owned selection\n * - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n * - Core logic functions are now overridable through inheritance\n * - B3TRGovernor has been updated to V2 thus pointing to the new interface\n * - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\n */\ncontract GalaxyMemberV2 is\n  ERC721Upgradeable,\n  ERC721EnumerableUpgradeable,\n  ERC721PausableUpgradeable,\n  ERC721BurnableUpgradeable,\n  AccessControlUpgradeable,\n  ReentrancyGuardUpgradeable,\n  UUPSUpgradeable\n{\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n  bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n  bytes32 public constant NODES_MANAGER_ROLE = keccak256(\"NODES_MANAGER_ROLE\");\n\n  /// @notice Storage structure for GalaxyMember\n  /// @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n  /// @custom:storage-location erc7201:b3tr.storage.GalaxyMember\n  struct GalaxyMemberStorage {\n    IXAllocationVotingGovernor xAllocationsGovernor; // XAllocationVotingGovernor contract\n    IB3TRGovernor b3trGovernor; // B3TRGovernor contract\n    IB3TR b3tr; // B3TR token contract\n    address treasury; // Treasury contract address\n    string _baseTokenURI; // Base URI for the Token\n    uint256 _nextTokenId; // Next Token ID to be minted\n    uint256 MAX_LEVEL; // Current Maximum level the Token can be minted or upgraded to\n    mapping(uint256 => uint256) levelOf; // Mapping from token ID to level of the Token\n    mapping(uint256 => uint256) _b3trToUpgradeToLevel; // Mapping from level to B3TR required to upgrade to that level\n    mapping(address owner => Checkpoints.Trace208) _selectedLevelCheckpoints; // Checkpoints for selected level of the user\n    mapping(address => mapping(uint256 => uint256)) _ownedLevels; // Value-Frequency map tracking levels owned by users\n    bool isPublicMintingPaused; // Flag to pause public minting\n    // --------------------------- V2 Additions --------------------------- //\n    ITokenAuction vechainNodes; // Vechain Nodes contract\n    INodeManagementV1 nodeManagement; // Node Management contract\n    mapping(uint256 => uint256) _nodeToTokenId; // Mapping from Vechain node ID to GalaxyMember Token ID. Used to track the XNode tied to the GM token ID\n    mapping(uint256 => uint256) _tokenIdToNode; // Mapping from GalaxyMember Token ID to Vechain node ID. Used to track the GM token ID tied to the XNode token ID\n    mapping(uint8 => uint256) _nodeToFreeUpgradeLevel; // Mapping from Vechain node level to GalaxyMember level. Used to track the GM level that can be upgraded for free for a given Vechain node level\n    mapping(uint256 => uint256) _tokenIdToB3TRdonated; // Mapping from GM Token ID to B3TR donated for upgrading\n    mapping(address => uint256) _selectedTokenID; // Mapping from user address to selected GM token ID\n  }\n\n  /// @notice Storage slot for GalaxyMemberStorage\n  /// @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant GalaxyMemberStorageLocation =\n    0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200;\n\n  /// @dev Retrieves the current state from the GalaxyMemberStorage mapping\n  function _getGalaxyMemberStorage() private pure returns (GalaxyMemberStorage storage $) {\n    assembly {\n      $.slot := GalaxyMemberStorageLocation\n    }\n  }\n\n  /// @dev Emitted when an account changes the selected token for voting rewards.\n  event Selected(address indexed owner, uint256 tokenId);\n\n  /// @dev Emitted when a token is upgraded.\n  event Upgraded(uint256 indexed tokenId, uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when the max level is updated.\n  event MaxLevelUpdated(uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when XAllocationVotingGovernor contract address is updated\n  event XAllocationsGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when B3TRGovernor contract address is updated\n  event B3trGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when base URI is updated\n  event BaseURIUpdated(string indexed newBaseURI, string indexed oldBaseURI);\n\n  /// @dev Emitted when B3TR required to upgrade to each level is updated\n  event B3TRtoUpgradeToLevelUpdated(uint256[] indexed b3trToUpgradeToLevel);\n\n  /// @dev Emitted when public minting is paused\n  event PublicMintingPaused(bool isPaused);\n\n  /// @dev Emitted when a node is attached to a token\n  event NodeAttached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @dev Emitted when a node is detached from a token\n  event NodeDetached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @notice Modifier to check if public minting is not paused\n  modifier whenPublicMintingNotPaused() {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(!$.isPublicMintingPaused, \"Galaxy Member: Public minting is paused\");\n    _;\n  }\n\n  /// @notice Ensures only initializer functions are called when deploying a proxy\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Data for initializing the contract\n  /// @param name Name of the ERC721 token\n  /// @param symbol Symbol of the ERC721 token\n  /// @param admin Address to grant the admin role\n  /// @param upgrader Address to grant the upgrader role\n  /// @param pauser Address to grant the pauser role\n  /// @param minter Address to grant the minter role\n  /// @param contractsAddressManager Address that can update external contracts address\n  /// @param maxLevel Maximum level tokens can achieve\n  /// @param baseTokenURI Base URI for computing {tokenURI}\n  /// @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n  /// @param _b3tr B3TR token contract address\n  /// @param _treasury Address of the treasury\n  struct InitializationData {\n    string name;\n    string symbol;\n    address admin;\n    address upgrader;\n    address pauser;\n    address minter;\n    address contractsAddressManager;\n    uint256 maxLevel;\n    string baseTokenURI;\n    uint256[] b3trToUpgradeToLevel;\n    address b3tr;\n    address treasury;\n  }\n\n  /// @notice Initializes a new GalaxyMember contract\n  /// @dev Sets initial values for all relevant contract properties and state variables.\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  function initialize(InitializationData memory data) external initializer {\n    require(data.maxLevel > 0, \"Galaxy Member: Max level must be greater than 0\");\n    require(bytes(data.baseTokenURI).length > 0, \"Galaxy Member: Base URI must be set\");\n    require(data.b3tr != address(0), \"Galaxy Member: B3TR token address cannot be the zero address\");\n    require(data.treasury != address(0), \"Galaxy Member: Treasury address cannot be the zero address\");\n    require(\n      data.b3trToUpgradeToLevel.length >= data.maxLevel - 1,\n      \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\"\n    );\n\n    __ERC721_init(data.name, data.symbol);\n    __ERC721Enumerable_init();\n    __ERC721Pausable_init();\n    __ERC721Burnable_init();\n    __AccessControl_init();\n    __ReentrancyGuard_init();\n    __UUPSUpgradeable_init();\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $._baseTokenURI = data.baseTokenURI;\n\n    for (uint256 i = 0; i < data.b3trToUpgradeToLevel.length; i++) {\n      require(data.b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be greater than 0\");\n      $._b3trToUpgradeToLevel[i + 2] = data.b3trToUpgradeToLevel[i]; // First Level that requires B3TR is level 2\n    }\n\n    $.MAX_LEVEL = data.maxLevel;\n\n    $.b3tr = IB3TR(data.b3tr);\n    $.treasury = data.treasury;\n\n    require(data.admin != address(0), \"Galaxy Member: Admin address cannot be the zero address\");\n    _grantRole(DEFAULT_ADMIN_ROLE, data.admin);\n    _grantRole(UPGRADER_ROLE, data.upgrader);\n    _grantRole(PAUSER_ROLE, data.pauser);\n    _grantRole(MINTER_ROLE, data.minter);\n    _grantRole(CONTRACTS_ADDRESS_MANAGER_ROLE, data.contractsAddressManager);\n  }\n\n  /// @notice Initializes a new GalaxyMember contract\n  /// @dev Sets initial values for all relevant contract properties and state variables.\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  function initializeV2(\n    address _vechainNodes,\n    address _nodesMangaement,\n    address _nodesAdmin,\n    uint256[] memory _nodeFreeLevels\n  ) external reinitializer(2) {\n    require(_nodeFreeLevels.length == 8, \"GalaxyMember: invalid node free levels. Must be 7 levels\");\n    require(_vechainNodes != address(0), \"GalaxyMember: _vechainNodes cannot be the zero address\");\n    require(_nodesMangaement != address(0), \"GalaxyMember: _nodesMangaement cannot be the zero address\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $.vechainNodes = ITokenAuction(_vechainNodes);\n    $.nodeManagement = INodeManagementV1(_nodesMangaement);\n\n    $._nextTokenId = $._nextTokenId == 0 ? 1 : $._nextTokenId;\n\n    for (uint8 i; i < _nodeFreeLevels.length; i++) {\n      require(_nodeFreeLevels[i] >= 1, \"GalaxyMember: invalid node free level\");\n      $._nodeToFreeUpgradeLevel[i] = _nodeFreeLevels[i];\n    }\n\n    _grantRole(NODES_MANAGER_ROLE, _nodesAdmin);\n  }\n\n  /// @notice Internal function to authorize contract upgrades\n  /// @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n  /// @param newImplementation Address of the new contract implementation\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n\n  /// @notice Pauses the Galaxy Member contract\n  /// @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n  /// @dev Only callable by the pauser role\n  function pause() public virtual onlyRole(PAUSER_ROLE) {\n    _pause();\n  }\n\n  /// @notice Unpauses the Galaxy Member contract\n  /// @dev Only callable by the pauser role\n  function unpause() public virtual onlyRole(PAUSER_ROLE) {\n    _unpause();\n  }\n\n  /// @notice Allows a user to freely mint a token if they have participated in governance\n  /// @dev Mints a token with level 1 and ensures that the public minting is not paused\n  function freeMint() public virtual whenPublicMintingNotPaused {\n    require(participatedInGovernance(msg.sender), \"Galaxy Member: User has not participated in governance\");\n\n    safeMint(msg.sender);\n  }\n\n  /// @notice Upgrades a token to the next level\n  /// @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n  /// @param tokenId Token ID to upgrade\n  function upgrade(uint256 tokenId) public virtual nonReentrant whenNotPaused {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: you must own the Token to upgrade it\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 currentLevel = levelOf(tokenId);\n\n    require(currentLevel < MAX_LEVEL(), \"Galaxy Member: Token is already at max level\");\n\n    uint256 b3trRequired = getB3TRtoUpgrade(tokenId);\n\n    require($.b3tr.balanceOf(msg.sender) >= b3trRequired, \"Galaxy Member: Insufficient balance to upgrade\");\n\n    require(\n      $.b3tr.allowance(msg.sender, address(this)) >= b3trRequired,\n      \"Galaxy Member: Insufficient allowance to upgrade\"\n    );\n\n    $._tokenIdToB3TRdonated[tokenId] += b3trRequired;\n\n    require($.b3tr.transferFrom(msg.sender, $.treasury, b3trRequired), \"GalaxyMember: Transfer failed\");\n\n    emit Upgraded(tokenId, currentLevel, levelOf(tokenId));\n  }\n\n  /// @notice Allows the user to select a token for voting rewards multiplier\n  /// @param tokenID Token ID to select\n  function select(uint256 tokenID) public virtual {\n    _select(msg.sender, tokenID);\n  }\n\n  /// @notice selects the specified token for the user\n  /// @param owner The address of the owner to check\n  /// @param tokenId the token ID to select\n  function _select(address owner, uint256 tokenId) internal virtual {\n    require(ownerOf(tokenId) == owner, \"Galaxy Member: caller is not the owner of the token\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $._selectedTokenID[owner] = tokenId;\n\n    emit Selected(owner, tokenId);\n  }\n\n  /// @notice Allows the token owner to burn their token\n  /// @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n  /// @param tokenId Token ID to burn\n  function burn(uint256 tokenId) public virtual override(ERC721BurnableUpgradeable) {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: caller is not the owner of the token\");\n\n    super.burn(tokenId);\n  }\n\n  // ------------------------------- VECHAIN NODES FUNCTIONS ------------------------------- //\n\n  function attachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(ownerOf(tokenId) == msg.sender, \"GalaxyMember: token not owned by caller\");\n    require(\n      $.nodeManagement.getNodeManager(nodeTokenId) == msg.sender,\n      \"GalaxyMember: vechain node not owned or managed by caller\"\n    );\n    require(getIdAttachedToNode(nodeTokenId) == 0, \"GalaxyMember: node already attached to a token\");\n    require(getNodeIdAttached(tokenId) == 0, \"GalaxyMember: token already attached to a node\");\n\n    $._nodeToTokenId[nodeTokenId] = tokenId;\n    $._tokenIdToNode[tokenId] = nodeTokenId;\n\n    emit NodeAttached(nodeTokenId, tokenId);\n  }\n\n  function detachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(\n      ownerOf(tokenId) == msg.sender ||\n        $.nodeManagement.getNodeManager(nodeTokenId) == msg.sender ||\n        $.vechainNodes.idToOwner(nodeTokenId) == msg.sender,\n      \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\"\n    );\n    require(getIdAttachedToNode(nodeTokenId) == tokenId, \"GalaxyMember: node not attached to the token\");\n    require(getNodeIdAttached(tokenId) == nodeTokenId, \"GalaxyMember: token not attached to the node\");\n\n    delete $._nodeToTokenId[nodeTokenId];\n    delete $._tokenIdToNode[tokenId];\n\n    emit NodeDetached(nodeTokenId, tokenId);\n  }\n\n  // ----------- Internal & Private ----------- //\n\n  /// @notice Internal function to safely mint a token\n  /// @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n  /// @param to Address to mint the token to\n  function safeMint(address to) internal virtual {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 tokenId = $._nextTokenId++;\n    _safeMint(to, tokenId);\n  }\n\n  // ---------- Setters ---------- //\n\n  /// @notice Sets the maximum level that tokens can be minted or upgraded to\n  /// @dev Only callable by the admin role\n  function setMaxLevel(uint256 level) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level > $.MAX_LEVEL, \"Galaxy Member: Max level must be greater than the current max level\");\n\n    // First Level that requires B3TR is level 2\n    for (uint256 i = 2; i <= level; i++) {\n      require($._b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\"); // Require all levels til the new max level to have a B3TR requirement\n    }\n\n    uint256 oldLevel = $.MAX_LEVEL;\n\n    $.MAX_LEVEL = level;\n\n    emit MaxLevelUpdated(oldLevel, level);\n  }\n\n  /// @notice Sets the XAllocationVotingGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _xAllocationsGovernor XAllocationVotingGovernor contract address\n  function setXAllocationsGovernorAddress(\n    address _xAllocationsGovernor\n  ) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_xAllocationsGovernor != address(0), \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit XAllocationsGovernorAddressUpdated(_xAllocationsGovernor, address($.xAllocationsGovernor));\n    $.xAllocationsGovernor = IXAllocationVotingGovernor(_xAllocationsGovernor);\n  }\n\n  /// @notice Sets the B3TRGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _b3trGovernor B3TRGovernor contract address\n  function setB3trGovernorAddress(address _b3trGovernor) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_b3trGovernor != address(0), \"Galaxy Member: _b3trGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit B3trGovernorAddressUpdated(_b3trGovernor, address($.b3trGovernor));\n    $.b3trGovernor = IB3TRGovernor(payable(_b3trGovernor));\n  }\n\n  /// @notice Sets the base URI for computing the tokenURI\n  /// @dev Only callable by the admin role\n  /// @param baseTokenURI Base URI for the Token\n  function setBaseURI(string memory baseTokenURI) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    require(bytes(baseTokenURI).length > 0, \"Galaxy Member: Base URI must be set\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit BaseURIUpdated(baseTokenURI, $._baseTokenURI);\n    $._baseTokenURI = baseTokenURI;\n  }\n\n  /// @notice Sets the amount of B3TR required to upgrade to each level\n  /// @dev Only callable by the admin role\n  /// @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n  function setB3TRtoUpgradeToLevel(uint256[] memory b3trToUpgradeToLevel) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    for (uint256 i; i < b3trToUpgradeToLevel.length; i++) {\n      require(b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be greater than 0\");\n      $._b3trToUpgradeToLevel[i + 2] = b3trToUpgradeToLevel[i]; // First Level that requires B3TR is level 2\n    }\n    emit B3TRtoUpgradeToLevelUpdated(b3trToUpgradeToLevel);\n  }\n\n  /// @notice Pauses public minting\n  /// @dev Only callable by the admin role\n  /// @param isPaused Flag to pause or unpause public minting\n  function setIsPublicMintingPaused(bool isPaused) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit PublicMintingPaused(isPaused);\n    $.isPublicMintingPaused = isPaused;\n  }\n\n  /// @notice Sets the Vechain Nodes contract address\n  /// @param _vechainNodes Vechain Nodes contract address\n  function setVechainNodes(address _vechainNodes) public virtual onlyRole(NODES_MANAGER_ROLE) {\n    require(_vechainNodes != address(0), \"GalaxyMember: _vechainNodes cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    $.vechainNodes = ITokenAuction(_vechainNodes);\n  }\n\n  /// @notice Sets the treasury contract address\n  /// @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n  /// @param level new free upgrade level\n  function setNodeToFreeUpgradeLevel(uint8 nodeLevel, uint256 level) public virtual onlyRole(NODES_MANAGER_ROLE) {\n    require(level >= 1, \"GalaxyMember: invalid level\");\n    require(nodeLevel >= 1, \"GalaxyMember: invalid node level\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level <= $.MAX_LEVEL, \"GalaxyMember: level must be less than or equal to MAX_LEVEL\");\n\n    $._nodeToFreeUpgradeLevel[nodeLevel] = level;\n  }\n\n  // ---------- Getters ---------- //\n\n  /// @notice Gets the level of the GM token\n  /// @param tokenId Token ID to check\n  function levelOf(uint256 tokenId) public view virtual returns (uint256) {\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    return level;\n  }\n\n  /// @notice Gets the B3TR required to upgrade to the next level\n  /// @param tokenId Token ID to check\n  function getB3TRtoUpgrade(uint256 tokenId) public view virtual returns (uint256) {\n    if (_ownerOf(tokenId) == address(0)) return 0;\n\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    // Get the level of the token and the B3TR donated left to upgrade\n    (uint256 currentLevel, uint256 b3trDonatedLeft) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    // If the current level is the max level, return 0\n    if (currentLevel == MAX_LEVEL()) {\n      return 0;\n    }\n\n    // Get the B3TR required to upgrade to the next level by subtracting the B3TR donated left from the B3TR required to upgrade to the next level\n    return getB3TRtoUpgradeToLevel(currentLevel + 1) - b3trDonatedLeft;\n  }\n\n  /// @notice Gets the level of the GM token and the B3TR Donated left to upgrade\n  /// @param tokenId Token ID to check\n  /// @return level The level of the token\n  /// @return b3trDonatedLeft The B3TR donated left to upgrade\n  function _getLevelOfAndB3TRleft(uint256 tokenId, uint256 nodeId) internal view virtual returns (uint256, uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    // Default level is 1 if the token is not attached to a node or the token has not been upgraded\n    uint256 level = 1;\n\n    // if the token is attached to a node and the node is managed by the caller\n    if (nodeId != 0 && $.nodeManagement.getNodeManager(nodeId) == ownerOf(tokenId)) {\n      // Get the level of the node (i.e., Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n      uint8 nodeLevel = getNodeLevelOf(nodeId);\n\n      // If the node level is not 0 (i.e., None)\n      if (nodeLevel != 0) {\n        // Get the level of the token that can be upgraded for free\n        uint256 nodeToFreeLevel = getNodeToFreeLevel(nodeLevel);\n\n        // If the free upgrade level is greater than the current max level, set the level to the max level\n        level = nodeToFreeLevel <= $.MAX_LEVEL ? nodeToFreeLevel : $.MAX_LEVEL;\n      }\n    }\n\n    // Initialise the B3TR donated which keeps track of the B3TR left after upgrading the token\n    uint256 b3trDonatedLeft = $._tokenIdToB3TRdonated[tokenId];\n\n    // Loop through the levels starting from the current level and check if the B3TR donated is enough to upgrade to the next level\n    for (uint256 i = level + 1; i <= $.MAX_LEVEL; i++) {\n      if (b3trDonatedLeft >= $._b3trToUpgradeToLevel[i]) {\n        level = i;\n        b3trDonatedLeft -= $._b3trToUpgradeToLevel[i];\n      } else {\n        // If the B3TR donated is not enough to upgrade to the next level, break the loop\n        break;\n      }\n    }\n\n    // Return the level and the B3TR donated left.\n    return (level, b3trDonatedLeft);\n  }\n\n  /// @notice Gets the strength level of the Vechain node\n  /// @param nodeId Vechain Node Token ID\n  function getNodeLevelOf(uint256 nodeId) public view virtual returns (uint8) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    (, uint8 nodeLevel, , , , , ) = $.vechainNodes.getMetadata(nodeId);\n\n    return nodeLevel;\n  }\n\n  /// @notice Gets the selected token ID for the user\n  /// @param owner The address of the owner to check\n  function getSelectedTokenId(address owner) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._selectedTokenID[owner];\n  }\n\n  /// @notice Gets the level of the token after attaching a node\n  /// @param tokenId - GM Token ID\n  /// @param nodeTokenId - Vechain Node Token ID\n  function getLevelAfterAttachingNode(uint256 tokenId, uint256 nodeTokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeTokenId);\n\n    return level;\n  }\n\n  /// @notice Gets the level of the token after detaching a node\n  /// @param tokenId - GM Token ID\n  function getLevelAfterDetachingNode(uint256 tokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, 0);\n\n    return level;\n  }\n\n  /// @notice Gets whether the user has participated in governance\n  /// @param user The address of the user to check\n  function participatedInGovernance(address user) public view virtual returns (bool) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(\n      $.xAllocationsGovernor != IXAllocationVotingGovernor(address(0)),\n      \"Galaxy Member: XAllocationVotingGovernor not set\"\n    );\n    require($.b3trGovernor != IB3TRGovernor(payable(address(0))), \"Galaxy Member: B3TRGovernor not set\");\n\n    if ($.xAllocationsGovernor.hasVotedOnce(user) || $.b3trGovernor.hasVotedOnce(user)) {\n      return true;\n    }\n\n    return false;\n  }\n\n  /// @notice Gets the base URI for computing the tokenURI\n  function baseURI() public view virtual returns (string memory) {\n    return _baseURI();\n  }\n\n  /// @notice Gets the B3TR required to upgrade to a specific level\n  /// @param level Level to upgrade to\n  function getB3TRtoUpgradeToLevel(uint256 level) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._b3trToUpgradeToLevel[level];\n  }\n\n  /// @notice gets the token URI for a specific token\n  /// @dev computes the token URI based on the base URI and the level of the token\n  /// @param tokenId Token ID to get the URI for\n  function tokenURI(uint256 tokenId) public view virtual override(ERC721Upgradeable) returns (string memory) {\n    if (_ownerOf(tokenId) == address(0)) return \"\";\n\n    uint256 levelOfToken = levelOf(tokenId);\n    return levelOfToken > 0 ? string.concat(baseURI(), Strings.toString(levelOfToken), \".json\") : \"\";\n  }\n\n  /// @notice Gets the xAllocationsGovernor contract address\n  function xAllocationsGovernor() external view returns (IXAllocationVotingGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.xAllocationsGovernor;\n  }\n\n  /// @notice Gets the b3trGovernor contract address\n  function b3trGovernor() external view returns (IB3TRGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3trGovernor;\n  }\n\n  /// @notice Gets the B3TR token contract address\n  function b3tr() external view returns (IB3TR) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3tr;\n  }\n\n  /// @notice Gets the treasury contract address\n  function treasury() external view returns (address) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.treasury;\n  }\n\n  /// @notice Gets the maximum level that tokens can be minted or upgraded to\n  function MAX_LEVEL() public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.MAX_LEVEL;\n  }\n\n  /// @notice Get the GM Token ID attached to the Vechain Node Token ID\n  /// @param nodeId Vechain node Token ID\n  function getIdAttachedToNode(uint256 nodeId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._nodeToTokenId[nodeId];\n  }\n\n  /// @notice Get the Vechain Node Token ID attached to the GM Token ID\n  /// @param tokenId GM Token ID\n  function getNodeIdAttached(uint256 tokenId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._tokenIdToNode[tokenId];\n  }\n\n  /// @notice Get the GM level that can be upgraded for free for a given Vechain node level\n  /// @param nodeLevel Vechain node level\n  function getNodeToFreeLevel(uint8 nodeLevel) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._nodeToFreeUpgradeLevel[nodeLevel];\n  }\n\n  /// @notice Get the B3TR donated for upgrading a token\n  /// @param tokenId Token ID to check\n  function getB3TRdonated(uint256 tokenId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._tokenIdToB3TRdonated[tokenId];\n  }\n\n  /// @notice Retrieves the current version of the contract\n  /// @dev This function is used to identify the version of the contract and should be updated in each new version\n  /// @return string The version of the contract\n  function version() external pure virtual returns (string memory) {\n    return \"2\";\n  }\n\n  struct TokenInfo {\n    uint256 tokenId;\n    string tokenURI;\n    uint256 tokenLevel;\n    uint256 b3trToUpgrade;\n  }\n\n  /// @notice Gets the token info by token ID\n  /// @param tokenId Token ID to get the info for\n  /// @return TokenInfo The token info\n  function getTokenInfoByTokenId(uint256 tokenId) public view virtual returns (TokenInfo memory) {\n    // Check if the token ID exists\n    require(_ownerOf(tokenId) != address(0), \"GalaxyMember: tokenId doesn't exist\");\n\n    TokenInfo memory tokenInfo;\n    tokenInfo.tokenId = tokenId;\n    tokenInfo.tokenURI = tokenURI(tokenId);\n    tokenInfo.tokenLevel = levelOf(tokenId);\n    tokenInfo.b3trToUpgrade = getB3TRtoUpgrade(tokenId);\n    return tokenInfo;\n  }\n\n  /// @notice Gets the selected token info for an address\n  /// @param owner The address of the owner to check\n  /// @return TokenInfo The selected token info\n  function getSelectedTokenInfoByOwner(address owner) public view returns (TokenInfo memory) {\n    uint256 tokenId = getSelectedTokenId(owner);\n    return getTokenInfoByTokenId(tokenId);\n  }\n\n  /// @notice Gets the tokens owned by an address\n  /// @param owner The address of the owner to check\n  /// @param page The page number to fetch\n  /// @param size The number of tokens to fetch (cannot exceed 100)\n  /// @return TokenInfo[] The tokens owned by the address\n  function getTokensInfoByOwner(address owner, uint256 page, uint256 size) public view returns (TokenInfo[] memory) {\n    // Ensure size is not 0\n    if (size == 0) {\n      revert(\"GalaxyMember: Invalid size, cannot be 0\");\n    }\n\n    // Maximum number of tokens to fetch per page\n    uint256 MAX_PAGINATION_SIZE = 100;\n\n    // Ensure size is not greater than the maximum allowed value\n    if (size > MAX_PAGINATION_SIZE) {\n      revert(\n        string(\n          abi.encodePacked(\"GalaxyMember: Invalid size, cannot be greater than \", Strings.toString(MAX_PAGINATION_SIZE))\n        )\n      );\n    }\n\n    uint256 balance = balanceOf(owner); // Get the number of tokens owned by the address\n\n    // Calculate the starting index for the current page\n    uint256 start = page * size;\n\n    // If start index is greater than or equal to balance, return an empty array\n    if (start >= balance) {\n      return new TokenInfo[](0);\n    }\n\n    // Calculate the end index (exclusive)\n    uint256 end = start + size;\n    if (end > balance) {\n      end = balance; // Ensure the end index doesn't exceed the owner's balance\n    }\n\n    // Calculate the number of tokens to return\n    uint256 numTokens = end - start;\n\n    TokenInfo[] memory tokens = new TokenInfo[](numTokens);\n\n    for (uint256 i = 0; i < numTokens; i++) {\n      uint256 tokenIndex = start + i;\n      uint256 tokenId = tokenOfOwnerByIndex(owner, tokenIndex);\n      tokens[i] = getTokenInfoByTokenId(tokenId);\n    }\n\n    return tokens;\n  }\n\n  // ---------- Overrides ---------- //\n\n  /// @notice Performs automatic level updating upon token updates\n  /// @dev Overrides the _update function to update the highest level owned by the owner\n  /// @param to The address to transfer the token to\n  /// @param tokenId The token ID to update\n  /// @param auth The address of the sender\n  function _update(\n    address to,\n    uint256 tokenId,\n    address auth\n  )\n    internal\n    override(ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721PausableUpgradeable)\n    whenNotPaused\n    returns (address)\n  {\n    require(getNodeIdAttached(tokenId) == 0, \"GalaxyMember: token attached to a node, detach before transfer\");\n\n    address _previousOwner = super._update(to, tokenId, auth);\n\n    // If the owner has no tokens, don't select any token\n    if (_previousOwner != address(0) && balanceOf(_previousOwner) == 0) {\n      delete _getGalaxyMemberStorage()._selectedTokenID[_previousOwner];\n    }\n\n    // If the owner transfers out the selected token, select the first token he owns\n    if (\n      _previousOwner != address(0) && getSelectedTokenId(_previousOwner) == tokenId && balanceOf(_previousOwner) > 0\n    ) {\n      _select(_previousOwner, tokenOfOwnerByIndex(_previousOwner, 0));\n    }\n\n    // If the new owner has only one token, select it\n    if (to != address(0) && balanceOf(to) == 1) {\n      _select(to, tokenOfOwnerByIndex(to, 0));\n    }\n\n    return _previousOwner;\n  }\n\n  /// @dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable\n  function _increaseBalance(\n    address account,\n    uint128 value\n  ) internal override(ERC721Upgradeable, ERC721EnumerableUpgradeable) {\n    super._increaseBalance(account, value);\n  }\n\n  /// @dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view override(ERC721Upgradeable, ERC721EnumerableUpgradeable, AccessControlUpgradeable) returns (bool) {\n    return super.supportsInterface(interfaceId);\n  }\n\n  /// @dev Overrides the _baseURI for ERC721URIStorageUpgradeable\n  function _baseURI() internal view override returns (string memory) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._baseTokenURI;\n  }\n}\n"},"contracts/deprecated/V2/GrantsManagerV2.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { IB3TRGovernor } from \"../../interfaces/IB3TRGovernor.sol\";\nimport { ITreasury } from \"../../interfaces/ITreasury.sol\";\nimport { IB3TR } from \"../../interfaces/IB3TR.sol\";\nimport { IGrantsManagerV2 } from \"./interfaces/IGrantsManagerV2.sol\";\nimport { AccessControlUpgradeable } from \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport { PausableUpgradeable } from \"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\";\nimport { ReentrancyGuardUpgradeable } from \"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\";\nimport { UUPSUpgradeable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { GovernorStateLogic } from \"../../governance/libraries/GovernorStateLogic.sol\";\nimport { GovernorProposalLogic } from \"../../governance/libraries/GovernorProposalLogic.sol\";\nimport { GovernorTypes } from \"../../governance/libraries/GovernorTypes.sol\";\n/**\n * @title GrantsManagerV2\n * @notice Frozen copy of GrantsManager at version 2 — preserved for upgrade tests only.\n */\ncontract GrantsManagerV2 is\n  IGrantsManagerV2,\n  AccessControlUpgradeable,\n  PausableUpgradeable,\n  ReentrancyGuardUpgradeable,\n  UUPSUpgradeable\n{\n  // ------------------ ROLES ------------------ //\n  bytes32 public constant GOVERNANCE_ROLE = keccak256(\"GOVERNANCE_ROLE\");\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  bytes32 public constant GRANTS_APPROVER_ROLE = keccak256(\"GRANTS_APPROVER_ROLE\");\n  bytes32 public constant GRANTS_REJECTOR_ROLE = keccak256(\"GRANTS_REJECTOR_ROLE\");\n  bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n\n  // ------------------ STORAGE MANAGEMENT ------------------ //\n  /// @notice Storage structure for GrantsManager\n  /// @custom:storage-location erc7201:b3tr.storage.GrantsManager\n  struct GrantsManagerStorage {\n    mapping(uint256 proposalId => GrantProposal grantProposal) grant;\n    IB3TRGovernor governor;\n    ITreasury treasury;\n    IB3TR b3tr;\n    uint256 minimumMilestoneCount;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GrantsManager\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant GrantsManagerStorageLocation =\n    0x827ef7a586340a0afd9df4d10dcd47e35ee20572dbc95830311fcb8284606d00;\n\n  function _getGrantsManagerStorage() private pure returns (GrantsManagerStorage storage $) {\n    assembly {\n      $.slot := GrantsManagerStorageLocation\n    }\n  }\n\n  // ------------------ INITIALIZATION ------------------ //\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  function initialize(\n    address _governor,\n    address _treasury,\n    address defaultAdmin,\n    address _b3tr,\n    uint256 _minimumMilestoneCount\n  ) external initializer {\n    require(_governor != address(0), \"Governor address cannot be 0\");\n    require(_treasury != address(0), \"Treasury address cannot be 0\");\n    require(_b3tr != address(0), \"B3TR address cannot be 0\");\n    require(defaultAdmin != address(0), \"Default admin address cannot be 0\");\n    require(_minimumMilestoneCount > 0, \"Minimum milestone count cannot be 0\");\n\n    __UUPSUpgradeable_init();\n    __AccessControl_init();\n    __Pausable_init();\n    __ReentrancyGuard_init();\n\n    _grantRole(DEFAULT_ADMIN_ROLE, defaultAdmin);\n    _grantRole(GOVERNANCE_ROLE, _governor);\n\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.governor = IB3TRGovernor(_governor);\n    $.treasury = ITreasury(_treasury);\n    $.b3tr = IB3TR(_b3tr);\n    $.minimumMilestoneCount = _minimumMilestoneCount;\n  }\n\n  // ------------------ MODIFIERS ------------------ //\n  modifier onlyAdminOrGovernanceRole() {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    if (!(hasRole(DEFAULT_ADMIN_ROLE, _msgSender()) || hasRole(GOVERNANCE_ROLE, _msgSender()))) {\n      revert NotAuthorized();\n    }\n    _;\n  }\n\n  modifier onlyRoleOrGovernance(bytes32 role) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    if (!(hasRole(role, _msgSender()) || hasRole(GOVERNANCE_ROLE, _msgSender()))) {\n      revert NotAuthorized();\n    }\n    _;\n  }\n\n  modifier onlyGovernor() {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    if (!(hasRole(GOVERNANCE_ROLE, _msgSender()))) {\n      revert NotAuthorized();\n    }\n    _;\n  }\n  modifier onlyGrantsReceiverOrGovernance(uint256 proposalId) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    if (!(hasRole(GOVERNANCE_ROLE, _msgSender()) || _msgSender() == $.grant[proposalId].grantsReceiver)) {\n      revert NotAuthorized();\n    }\n    _;\n  }\n\n  // ------------------ Grants Manager Milestone Functions ------------------ //\n  /**\n   * @dev Internal function to create milestones for a proposal.\n   * @param metadataURI The IPFS hash containing the milestones descriptions\n   * @param proposalId The ID of the proposal\n   * @param proposer The address of the proposer\n   * @param calldatas The calldatas of the milestones\n   */\n  function createMilestones(\n    string memory metadataURI,\n    uint256 proposalId,\n    address proposer,\n    address grantsReceiver,\n    bytes[] memory calldatas\n  ) external onlyGovernor whenNotPaused {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    GrantProposal storage m = $.grant[proposalId];\n    uint256 totalAmount = 0;\n\n    for (uint256 i = 0; i < calldatas.length; i++) {\n      bytes memory data = calldatas[i];\n\n      // Extract selector for safety check\n      bytes4 selector;\n      assembly {\n        selector := mload(add(data, 32))\n      }\n      if (selector != bytes4(keccak256(\"transferB3TR(address,uint256)\"))) {\n        revert InvalidFunctionSelector(selector);\n      }\n      bytes memory slicedData = new bytes(data.length - 4);\n      for (uint256 j = 0; j < slicedData.length; j++) {\n        slicedData[j] = data[j + 4];\n      }\n\n      // Decode arguments\n      (address recipient, uint256 amount) = abi.decode(slicedData, (address, uint256));\n\n      if (recipient != address(this)) {\n        revert InvalidTarget(recipient);\n      }\n      if (amount == 0) {\n        revert InvalidAmount();\n      }\n\n      totalAmount += amount;\n      $.grant[proposalId].milestones.push(\n        Milestone({ amount: amount, isClaimed: false, isApproved: false, isRejected: false, reason: \"\" })\n      );\n    }\n\n    m.id = proposalId;\n    m.proposer = proposer;\n    m.metadataURI = metadataURI;\n    m.totalAmount = totalAmount;\n    m.claimedAmount = 0; // 0 because the milestone is not claimed yet\n    m.grantsReceiver = grantsReceiver;\n\n    _validateMilestones(m);\n    emit MilestonesCreated(proposalId, proposer, grantsReceiver, totalAmount, metadataURI);\n  }\n\n  /**\n   * @notice Returns a milestone for a proposal.\n   * @param proposalId The id of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return Milestone The milestone\n   */\n  function getMilestone(uint256 proposalId, uint256 milestoneIndex) external view returns (Milestone memory) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    return $.grant[proposalId].milestones[milestoneIndex];\n  }\n\n  // ------------------ Milestone State Functions ------------------ //\n\n  /**\n   * @notice Returns if a proposal is rejected\n   * @param proposalId The id of the proposal\n   * @return bool True if the proposal is rejected, false otherwise\n   * @dev A grant is rejected when at least one milestone is rejected\n   */\n  function isGrantRejected(uint256 proposalId) public view returns (bool) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GrantProposal memory grant = $.grant[proposalId];\n    for (uint256 i = 0; i < grant.milestones.length; i++) {\n      if (grant.milestones[i].isRejected) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  /**\n   * @notice Returns if a proposal is in development\n   * @param proposalId The id of the proposal\n   * @return bool True if the proposal is in development, false otherwise\n   * @dev A grant is in development when:\n   * 1. The proposal has been executed AND\n   * 2. At least one milestone is still pending\n   */\n  function isGrantInDevelopment(uint256 proposalId) public view returns (bool) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GrantProposal memory grant = $.grant[proposalId];\n    GovernorTypes.ProposalState proposalState = $.governor.state(proposalId);\n    \n    // If proposal is not in a valid state, it's not in development\n    if (\n      proposalState != GovernorTypes.ProposalState.Executed &&\n      proposalState != GovernorTypes.ProposalState.InDevelopment &&\n      proposalState != GovernorTypes.ProposalState.Completed\n    ) {\n      return false;\n    }\n\n    for (uint256 i = 0; i < grant.milestones.length; i++) {\n      MilestoneState _milestoneState = _getMilestoneState(proposalId, i);\n      if (_milestoneState == MilestoneState.Pending) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  /**\n   * @notice Returns if a proposal is completed\n   * @param proposalId The id of the proposal\n   * @return bool True if the proposal is completed, false otherwise\n   * @dev Ascending order status of the milestones, so last one is the one that determines the status of the grant\n   */\n  function isGrantCompleted(uint256 proposalId) public view returns (bool) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GrantProposal memory grant = $.grant[proposalId];\n    GovernorTypes.ProposalState proposalState = $.governor.state(proposalId);\n\n    // If proposal is not in a valid state, it's not completed\n    if (\n      proposalState != GovernorTypes.ProposalState.Executed &&\n      proposalState != GovernorTypes.ProposalState.InDevelopment &&\n      proposalState != GovernorTypes.ProposalState.Completed\n    ) {\n      return false;\n    }\n\n    // If last milestone is pending or rejected, the grant is not completed\n    MilestoneState lastState = _getMilestoneState(proposalId, grant.milestones.length - 1);\n    if (lastState == MilestoneState.Pending || lastState == MilestoneState.Rejected) {\n      return false;\n    }\n\n    return true;\n  }\n\n  /**\n   * @notice Returns the state of a milestone\n   * @param proposalId The id of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return status The state of the milestone {see IGrantsManager:MilestoneState }\n   */\n  function _getMilestoneState(\n    uint256 proposalId,\n    uint256 milestoneIndex\n  ) internal view returns (MilestoneState status) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GrantProposal memory grant = $.grant[proposalId];\n    Milestone memory milestone = grant.milestones[milestoneIndex];\n\n    if (milestone.isRejected) {\n      return MilestoneState.Rejected;\n    }\n\n    if (milestone.isClaimed) {\n      return MilestoneState.Claimed;\n    }\n\n    if (milestone.isApproved) {\n      return MilestoneState.Approved;\n    }\n\n    return MilestoneState.Pending;\n  }\n\n  /**\n   * @notice Returns the milestones for a proposal.\n   * @param proposalId The id of the proposal\n   * @return GrantProposal The milestones for the proposal\n   */\n  function getMilestones(uint256 proposalId) external view returns (Milestone[] memory) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[proposalId].milestones;\n  }\n\n  /**\n   * @notice Returns the grant proposal for a proposal.\n   * @param proposalId The id of the proposal\n   * @return GrantProposal The grant proposal for the proposal\n   */\n  function getGrantProposal(uint256 proposalId) external view returns (GrantProposal memory) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[proposalId];\n  }\n\n  /**\n   * @notice Approves a milestone\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  function approveMilestones(\n    uint256 proposalId,\n    uint256 milestoneIndex\n  ) external onlyRoleOrGovernance(GRANTS_APPROVER_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    _checkProposalState(proposalId);\n    _checkMilestoneState(proposalId, milestoneIndex);\n\n    // The previous milestone should be approved or claimed\n    if (milestoneIndex > 0) {\n      MilestoneState previousState = _getMilestoneState(proposalId, milestoneIndex - 1);\n      if (previousState != MilestoneState.Approved && previousState != MilestoneState.Claimed) {\n        revert PreviousMilestoneNotApproved(proposalId, milestoneIndex - 1);\n      }\n    }\n\n    $.grant[proposalId].milestones[milestoneIndex].isApproved = true;\n    emit MilestoneValidated(proposalId, milestoneIndex);\n  }\n\n  /**\n   * @notice Approves a milestone with a reason\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @param reason The reason for approving the milestone\n   */\n  function approveMilestoneWithReason(\n    uint256 proposalId,\n    uint256 milestoneIndex,\n    string memory reason\n  ) external onlyRoleOrGovernance(GRANTS_APPROVER_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    _checkProposalState(proposalId);\n    _checkMilestoneState(proposalId, milestoneIndex);\n\n    // The previous milestone should be approved or claimed\n    if (milestoneIndex > 0) {\n      MilestoneState previousState = _getMilestoneState(proposalId, milestoneIndex - 1);\n      if (previousState != MilestoneState.Approved && previousState != MilestoneState.Claimed) {\n        revert PreviousMilestoneNotApproved(proposalId, milestoneIndex - 1);\n      }\n    }\n\n    $.grant[proposalId].milestones[milestoneIndex].isApproved = true;\n    $.grant[proposalId].milestones[milestoneIndex].reason = reason;\n    emit MilestoneValidated(proposalId, milestoneIndex);\n  }\n\n  /**\n   * @notice Sets the minimum number of milestones for a grant proposal\n   * @param minimumMilestoneCount The minimum milestone count\n   */\n  function setMinimumMilestoneCount(uint256 minimumMilestoneCount) external onlyRole(DEFAULT_ADMIN_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.minimumMilestoneCount = minimumMilestoneCount;\n  }\n\n  /**\n   * @notice Returns the minimum milestone count for a proposal.\n   * @return uint256 The minimum milestone count.\n   */\n  function getMinimumMilestoneCount() external view returns (uint256) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.minimumMilestoneCount;\n  }\n\n  /**\n   * @notice Returns the state of a milestone\n   * @param proposalId The id of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return MilestoneState The state of the milestone\n   */\n  function milestoneState(uint256 proposalId, uint256 milestoneIndex) external view returns (MilestoneState) {\n    return _getMilestoneState(proposalId, milestoneIndex);\n  }\n\n  /**\n   * @notice Rejects a milestone\n   * @param proposalId The ID of the proposal\n   */\n  function rejectMilestones(uint256 proposalId) external onlyRoleOrGovernance(GRANTS_REJECTOR_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    Milestone[] memory milestones = $.grant[proposalId].milestones;\n\n    if (isGrantCompleted(proposalId)) {\n      revert GrantAlreadyCompleted(proposalId);\n    }\n    if (isGrantRejected(proposalId)) {\n      revert GrantAlreadyRejected(proposalId);\n    }\n\n    // Reject all pending milestones\n    for (uint256 i = 0; i < milestones.length; i++) {\n      if (_getMilestoneState(proposalId, i) == MilestoneState.Pending) {\n        // reject the milestone\n        $.grant[proposalId].milestones[i].isRejected = true;\n      }\n    }\n\n    // Transfer the remaining amount to the treasury\n    _transferRemainingAmountToTreasury(proposalId);\n    emit GrantCanceled(proposalId);\n  }\n\n  /**\n   * @notice Returns the total amount for milestones\n   * @param milestoneId The ID of the milestone\n   * @return The total amount for the milestones\n   */\n  function getTotalAmountForMilestones(uint256 milestoneId) external view returns (uint256) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[milestoneId].totalAmount;\n  }\n\n  // ------------------ Grants Manager Funds Functions ------------------ //\n  /**\n   * @notice Claims funds for a validated milestone\n   * @param proposalId The ID of the grant proposal\n   * @param milestoneIndex The index of the milestone to claim\n   */\n  function claimMilestone(uint256 proposalId, uint256 milestoneIndex) external nonReentrant whenNotPaused {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    GrantProposal storage m = $.grant[proposalId];\n    if (milestoneIndex >= m.milestones.length) {\n      revert InvalidMilestoneIndex(proposalId, milestoneIndex);\n    }\n\n    address grantsReceiver = m.grantsReceiver;\n    if (msg.sender != grantsReceiver) {\n      revert CallerIsNotTheGrantReceiver(msg.sender, grantsReceiver);\n    }\n\n    // check that the milestone is validated or not already claimed\n    Milestone memory milestone = m.milestones[milestoneIndex];\n    // get the state of the milestone\n    MilestoneState _milestoneState = _getMilestoneState(proposalId, milestoneIndex);\n    if (_milestoneState != MilestoneState.Approved && _milestoneState != MilestoneState.Claimed) {\n      revert MilestoneNotApprovedByAdmin(proposalId, milestoneIndex);\n    }\n\n    // check that the milestone is not already  if (GovernorStateLogic.state($.governor, proposalId) == GovernorTypes.ProposalState.Canceled) {\n    if (_milestoneState == MilestoneState.Claimed) {\n      revert MilestoneAlreadyClaimed(proposalId, milestoneIndex);\n    }\n\n    // Check if contract has enough B3TR balance\n    if ($.b3tr.balanceOf(address(this)) < milestone.amount) {\n      revert InsufficientFunds($.b3tr.balanceOf(address(this)), milestone.amount);\n    }\n\n    // Transfer B3TR tokens to grants receiver\n    bool success = $.b3tr.transfer(grantsReceiver, milestone.amount);\n    if (!success) {\n      revert TransferFailed();\n    }\n\n    // Update the claimed amount of the proposal\n    m.milestones[milestoneIndex].isClaimed = true;\n    m.claimedAmount += milestone.amount;\n    emit MilestoneClaimed(proposalId, milestoneIndex, milestone.amount);\n  }\n\n  /**\n   * @notice Returns if a milestone is claimable\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return bool True if the milestone is claimable, false otherwise\n   */\n  function isClaimable(uint256 proposalId, uint256 milestoneIndex) external view returns (bool) {\n    return _getMilestoneState(proposalId, milestoneIndex) == MilestoneState.Approved;\n  }\n\n  /**\n   * @notice Returns the state of a grant {see IGrantsManager:GrantState }\n   * @param proposalId The id of the proposal\n   * @return GrantState The state of the grant\n   */\n  function grantState(uint256 proposalId) external view returns (GrantState) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GovernorTypes.ProposalState proposalState = $.governor.state(proposalId);\n\n    if (isGrantRejected(proposalId)) {\n      return GrantState.Canceled;\n    }\n\n    if (isGrantInDevelopment(proposalId)) {\n      return GrantState.InDevelopment;\n    }\n\n    if (isGrantCompleted(proposalId)) {\n      return GrantState.Completed;\n    }\n\n    return GrantState(uint256(proposalState));\n  }\n\n  // ------------------ Grants Manager Contract Functions ------------------ //\n  /**\n   * @notice Sets the governor contract\n   * @param _governor The address of the governor contract\n   */\n  function setGovernorContract(address _governor) external onlyRole(DEFAULT_ADMIN_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.governor = IB3TRGovernor(_governor);\n  }\n\n  /**\n   * @notice Returns the governor contract\n   * @return The address of the governor contract\n   */\n  function getGovernorContract() external view returns (address) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return address($.governor);\n  }\n\n  /**\n   * @notice Updates the grants receiver address\n   * @param proposalId The ID of the proposal\n   * @param newGrantsReceiver The address of the grants receiver contract\n   * @dev Only the grants receiver or governance can update the grants receiver address\n   */\n  function updateGrantsReceiver(\n    uint256 proposalId,\n    address newGrantsReceiver\n  ) external onlyGrantsReceiverOrGovernance(proposalId) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.grant[proposalId].grantsReceiver = newGrantsReceiver;\n    emit GrantsReceiverUpdated(proposalId, newGrantsReceiver);\n  }\n\n  /**\n   * @notice Returns the grants receiver address\n   * @param proposalId The ID of the proposal\n   * @return The address of the grants receiver\n   */\n  function getGrantsReceiverAddress(uint256 proposalId) external view returns (address) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[proposalId].grantsReceiver;\n  }\n\n  /**\n   * @notice Sets the treasury contract\n   * @param _treasury The address of the treasury contract\n   */\n  function setTreasuryContract(address _treasury) external onlyRole(DEFAULT_ADMIN_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.treasury = ITreasury(_treasury);\n  }\n\n  /**\n   * @notice Returns the treasury contract\n   * @return The address of the treasury contract\n   */\n  function getTreasuryContract() external view returns (address) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return address($.treasury);\n  }\n\n  /**\n   * @notice Returns the b3tr contract\n   * @return The address of the b3tr contract\n   */\n  function getB3trContract() external view returns (address) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return address($.b3tr);\n  }\n\n  /**\n   * @notice Sets the b3tr contract\n   * @param _b3tr The address of the b3tr contract\n   */\n  function setB3trContract(address _b3tr) external onlyRole(DEFAULT_ADMIN_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.b3tr = IB3TR(_b3tr);\n  }\n\n  /**\n   * @notice Pauses all token transfers and minting functions\n   * @dev Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE\n   */\n  function pause() public onlyRoleOrGovernance(PAUSER_ROLE) {\n    _pause();\n  }\n\n  /**\n   * @notice Unpauses the contract to resume token transfers and minting\n   * @dev Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE\n   */\n  function unpause() public onlyRoleOrGovernance(PAUSER_ROLE) {\n    _unpause();\n  }\n\n  // ------------------ Metadata Functions ------------------ //\n\n  /**\n   * @notice Updates the metadata URI for a milestone\n   * @param proposalId The ID of the proposal\n   * @param newMilestoneMetadataURI The new IPFS hash containing the updated milestone descriptions\n   * @notice The JSON is {milestone1: {details: ..., duration: timestamp}, milestone2: {details: ..., duration: timestamp}}\n   */\n  function updateMilestoneMetadataURI(uint256 proposalId, string memory newMilestoneMetadataURI) external {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    if (msg.sender != $.grant[proposalId].proposer) {\n      revert NotAuthorized();\n    }\n    $.grant[proposalId].metadataURI = newMilestoneMetadataURI;\n\n    emit MilestoneMetadataURIUpdated(proposalId, newMilestoneMetadataURI);\n  }\n\n  /**\n   * @notice Returns the metadata URI for a milestone\n   * @param proposalId The ID of the proposal\n   * @return The metadata URI for the milestone\n   */\n  function getMilestoneMetadataURI(uint256 proposalId) external view returns (string memory) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[proposalId].metadataURI;\n  }\n\n  /**\n   * @notice Validates the milestones\n   * @param grant The milestones to validate\n   */\n  function _validateMilestones(GrantProposal memory grant) internal view {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    if (msg.sender != address($.governor)) {\n      revert NotAuthorized();\n    }\n\n    // Check the proposer\n    if (grant.proposer == address(0)) {\n      revert MilestoneProposerZeroAddress();\n    }\n\n    // Check the milestones details metadata URI\n    if (bytes(grant.metadataURI).length == 0) {\n      revert MilestoneDetailsMetadataURIEmpty();\n    }\n\n    // Check the milestones amounts\n    for (uint256 i = 0; i < grant.milestones.length; i++) {\n      if (grant.milestones[i].amount == 0) {\n        revert MilestoneAmountZero(i);\n      }\n    }\n\n    if (grant.totalAmount == 0) {\n      revert MilestoneTotalAmountZero();\n    }\n\n    if (grant.claimedAmount > grant.totalAmount) {\n      revert MilestoneClaimedAmountExceedsTotalAmount(grant.claimedAmount, grant.totalAmount);\n    }\n\n    // Check the minimum milestone count\n    if (grant.milestones.length < $.minimumMilestoneCount) {\n      revert InvalidNumberOfMilestones(grant.milestones.length, $.minimumMilestoneCount);\n    }\n  }\n\n  /**\n   * @notice Transfers the remaining amount to the treasury\n   * @param proposalId The ID of the proposal\n   */\n  function _transferRemainingAmountToTreasury(uint256 proposalId) internal {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    uint256 remainingAmount = $.grant[proposalId].totalAmount - $.grant[proposalId].claimedAmount;\n    if (remainingAmount > 0) {\n      // Make sure we have the balance before trying to transfer\n      uint256 currentBalance = $.b3tr.balanceOf(address(this));\n      if (currentBalance < remainingAmount) {\n        revert InsufficientFunds(currentBalance, remainingAmount);\n      }\n\n      $.b3tr.transfer(address($.treasury), remainingAmount);\n    }\n    emit MilestoneRejectedAndFundsReturnedToTreasury(proposalId, remainingAmount);\n  }\n\n  /**\n   * @notice Checks if the proposal state is executed\n   * @param proposalId The ID of the proposal\n   */\n  function _checkProposalState(uint256 proposalId) internal view {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GovernorTypes.ProposalState proposalState = $.governor.state(proposalId);\n    if (proposalState != GovernorTypes.ProposalState.Executed) {\n      revert ProposalNotExecuted(proposalId);\n    }\n  }\n\n  /**\n   * @notice Checks if the milestone state is pending\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  function _checkMilestoneState(uint256 proposalId, uint256 milestoneIndex) internal view {\n    MilestoneState _milestoneState = _getMilestoneState(proposalId, milestoneIndex);\n    if (_milestoneState != MilestoneState.Pending) {\n      revert MilestoneStateNotPending(_milestoneState);\n    }\n  }\n\n  /**\n   * @notice Returns the version of the contract\n   * @return The version of the contract\n   */\n  function version() external pure returns (uint256) {\n    return 2;\n  }\n\n  // ------------------ Overrides ------------------ //\n  /**\n   * @notice Authorize upgrade for UUPS\n   * @dev Only addresses with the UPGRADER_ROLE can upgrade the contract\n   */\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n}\n"},"contracts/deprecated/V2/interfaces/IGalaxyMemberV2.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\n\n/**\n * @title IGalaxyMember\n * @notice Interface for the GalaxyMember contract which handles NFT membership and governance functionality\n * @dev Implements ERC721 with additional features for level upgrades, node attachments, and governance participation\n */\ninterface IGalaxyMemberV2 {\n  // Custom errors\n  error AccessControlBadConfirmation();\n  error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n  error AddressEmptyCode(address target);\n  error ERC1967InvalidImplementation(address implementation);\n  error ERC1967NonPayable();\n  error ERC5805FutureLookup(uint256 timepoint, uint48 clock);\n  error ERC6372InconsistentClock();\n  error ERC721EnumerableForbiddenBatchMint();\n  error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n  error ERC721InsufficientApproval(address operator, uint256 tokenId);\n  error ERC721InvalidApprover(address approver);\n  error ERC721InvalidOperator(address operator);\n  error ERC721InvalidOwner(address owner);\n  error ERC721InvalidReceiver(address receiver);\n  error ERC721InvalidSender(address sender);\n  error ERC721NonexistentToken(uint256 tokenId);\n  error ERC721OutOfBoundsIndex(address owner, uint256 index);\n  error EnforcedPause();\n  error ExpectedPause();\n  error FailedInnerCall();\n  error InvalidInitialization();\n  error NotInitializing();\n  error ReentrancyGuardReentrantCall();\n  error UUPSUnauthorizedCallContext();\n  error UUPSUnsupportedProxiableUUID(bytes32 slot);\n\n  // Events\n  event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n  event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n  event B3TRtoUpgradeToLevelUpdated(uint256[] indexed b3trToUpgradeToLevel);\n  event B3trGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n  event BaseURIUpdated(string indexed newBaseURI, string indexed oldBaseURI);\n  event Initialized(uint64 version);\n  event MaxLevelUpdated(uint256 oldLevel, uint256 newLevel);\n  event Paused(address account);\n  event PublicMintingPaused(bool isPaused);\n  event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n  event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n  event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n  event Selected(address indexed owner, uint256 tokenId);\n  event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n  event Unpaused(address account);\n  event Upgraded(address indexed implementation);\n  event Upgraded(uint256 indexed tokenId, uint256 oldLevel, uint256 newLevel);\n  event XAllocationsGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n  event NodeDetached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n  event NodeAttached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @notice Returns the role identifier for contracts address manager\n  function CONTRACTS_ADDRESS_MANAGER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the role identifier for default admin\n  function DEFAULT_ADMIN_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the maximum level achievable for a token\n  function MAX_LEVEL() external view returns (uint256);\n\n  /// @notice Returns the role identifier for minter\n  function MINTER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the role identifier for nodes manager\n  function NODES_MANAGER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the role identifier for pauser\n  function PAUSER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the role identifier for upgrader\n  function UPGRADER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the interface version string\n  function UPGRADE_INTERFACE_VERSION() external view returns (string memory);\n\n  /// @notice Approves an address to transfer a specific token\n  /// @param to Address to be approved\n  /// @param tokenId ID of the token to be approved\n  function approve(address to, uint256 tokenId) external;\n\n  /// @notice Attaches a node to a token\n  /// @param nodeTokenId ID of the node to attach\n  /// @param tokenId ID of the token to attach to\n  function attachNode(uint256 nodeTokenId, uint256 tokenId) external;\n\n  /// @notice Returns the B3TR token contract address\n  function b3tr() external view returns (address);\n\n  /// @notice Returns the B3TR governor contract address\n  function b3trGovernor() external view returns (address);\n\n  /// @notice Returns the number of tokens owned by an address\n  /// @param owner Address to query\n  /// @return Number of tokens owned\n  function balanceOf(address owner) external view returns (uint256);\n\n  /// @notice Returns the base URI for token metadata\n  function baseURI() external view returns (string memory);\n\n  /// @notice Burns a specific token\n  /// @param tokenId ID of the token to burn\n  function burn(uint256 tokenId) external;\n\n  /// @notice Detaches a node from a token\n  /// @param nodeTokenId ID of the node to detach\n  /// @param tokenId ID of the token to detach from\n  function detachNode(uint256 nodeTokenId, uint256 tokenId) external;\n\n  /// @notice Allows eligible addresses to mint a token for free\n  function freeMint() external;\n\n  /// @notice Returns the approved address for a token\n  /// @param tokenId ID of the token to query\n  /// @return Address approved for the token\n  function getApproved(uint256 tokenId) external view returns (address);\n\n  /// @notice Returns the amount of B3TR donated for a token\n  /// @param tokenId ID of the token to query\n  /// @return Amount of B3TR donated\n  function getB3TRdonated(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the amount of B3TR needed to upgrade a token\n  /// @param tokenId ID of the token to query\n  /// @return Amount of B3TR needed\n  function getB3TRtoUpgrade(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the amount of B3TR needed to upgrade to a specific level\n  /// @param level Target level\n  /// @return Amount of B3TR needed\n  function getB3TRtoUpgradeToLevel(uint256 level) external view returns (uint256);\n\n  /// @notice Returns the token ID attached to a node\n  /// @param nodeId ID of the node to query\n  /// @return Token ID attached to the node\n  function getIdAttachedToNode(uint256 nodeId) external view returns (uint256);\n\n  /// @notice Calculates the level after attaching a node\n  /// @param tokenId ID of the token\n  /// @param nodeTokenId ID of the node to attach\n  /// @return New level after attachment\n  function getLevelAfterAttachingNode(uint256 tokenId, uint256 nodeTokenId) external view returns (uint256);\n\n  /// @notice Calculates the level after detaching a node\n  /// @param tokenId ID of the token\n  /// @return New level after detachment\n  function getLevelAfterDetachingNode(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the node ID attached to a token\n  /// @param tokenId ID of the token to query\n  /// @return ID of the attached node\n  function getNodeIdAttached(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the level of a node\n  /// @param nodeId ID of the node to query\n  /// @return Level of the node\n  function getNodeLevelOf(uint256 nodeId) external view returns (uint8);\n\n  /// @notice Returns the free level granted by a node level\n  /// @param nodeLevel Level of the node\n  /// @return Free level granted\n  function getNodeToFreeLevel(uint8 nodeLevel) external view returns (uint256);\n\n  /// @notice Returns the admin role for a given role\n  /// @param role Role to query\n  /// @return Admin role\n  function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n  /// @notice Returns the selected token ID for an owner\n  /// @param owner Address to query\n  /// @return Selected token ID\n  function getSelectedTokenId(address owner) external view returns (uint256);\n\n  /// @notice Grants a role to an account\n  /// @param role Role to grant\n  /// @param account Account to receive the role\n  function grantRole(bytes32 role, address account) external;\n\n  /// @notice Checks if an account has a role\n  /// @param role Role to check\n  /// @param account Account to check\n  /// @return True if account has the role\n  function hasRole(bytes32 role, address account) external view returns (bool);\n\n  /// @notice Initializes the contract V2\n  /// @param _vechainNodes Address of the VeChain nodes contract\n  /// @param _nodesAdmin Address of the nodes admin\n  /// @param _nodeFreeLevels Array of free levels for nodes\n  function initializeV2(address _vechainNodes, address _nodesAdmin, uint256[] memory _nodeFreeLevels) external;\n\n  /// @notice Checks if an operator is approved for all tokens of an owner\n  /// @param owner Owner address\n  /// @param operator Operator address\n  /// @return True if operator is approved for all\n  function isApprovedForAll(address owner, address operator) external view returns (bool);\n\n  /// @notice Returns the level of a token\n  /// @param tokenId ID of the token to query\n  /// @return Level of the token\n  function levelOf(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the name of the token collection\n  function name() external view returns (string memory);\n\n  /// @notice Returns the owner of a token\n  /// @param tokenId ID of the token to query\n  /// @return Address of the owner\n  function ownerOf(uint256 tokenId) external view returns (address);\n\n  /// @notice Checks if a user has participated in governance\n  /// @param user Address to check\n  /// @return True if user has participated\n  function participatedInGovernance(address user) external view returns (bool);\n\n  /// @notice Pauses all token transfers\n  function pause() external;\n\n  /// @notice Returns the paused status of the contract\n  /// @return True if contract is paused\n  function paused() external view returns (bool);\n\n  /// @notice Returns the storage slot for the implementation\n  function proxiableUUID() external view returns (bytes32);\n\n  /// @notice Allows an account to renounce a role\n  /// @param role Role to renounce\n  /// @param callerConfirmation Address of the caller for confirmation\n  function renounceRole(bytes32 role, address callerConfirmation) external;\n\n  /// @notice Revokes a role from an account\n  /// @param role Role to revoke\n  /// @param account Account to revoke from\n  function revokeRole(bytes32 role, address account) external;\n\n  /// @notice Safely transfers a token\n  /// @param from Current owner\n  /// @param to New owner\n  /// @param tokenId ID of the token to transfer\n  function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n  /// @notice Safely transfers a token with additional data\n  /// @param from Current owner\n  /// @param to New owner\n  /// @param tokenId ID of the token to transfer\n  /// @param data Additional data\n  function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) external;\n\n  /// @notice Selects a token for an owner\n  /// @param tokenID ID of the token to select\n  function select(uint256 tokenID) external;\n\n  /// @notice Sets approval for all tokens\n  /// @param operator Address to approve\n  /// @param approved Approval status\n  function setApprovalForAll(address operator, bool approved) external;\n\n  /// @notice Sets the B3TR amounts needed for level upgrades\n  /// @param b3trToUpgradeToLevel Array of B3TR amounts\n  function setB3TRtoUpgradeToLevel(uint256[] memory b3trToUpgradeToLevel) external;\n\n  /// @notice Sets the B3TR governor address\n  /// @param _b3trGovernor New governor address\n  function setB3trGovernorAddress(address _b3trGovernor) external;\n\n  /// @notice Sets the base URI for token metadata\n  /// @param baseTokenURI New base URI\n  function setBaseURI(string memory baseTokenURI) external;\n\n  /// @notice Sets the public minting pause status\n  /// @param isPaused New pause status\n  function setIsPublicMintingPaused(bool isPaused) external;\n\n  /// @notice Sets the maximum level\n  /// @param level New maximum level\n  function setMaxLevel(uint256 level) external;\n\n  /// @notice Sets the free upgrade level for a node level\n  /// @param nodeLevel Level of the node\n  /// @param level Free upgrade level\n  function setNodeToFreeUpgradeLevel(uint8 nodeLevel, uint256 level) external;\n\n  /// @notice Sets the VeChain nodes contract address\n  /// @param _vechainNodes New nodes contract address\n  function setVechainNodes(address _vechainNodes) external;\n\n  /// @notice Sets the X-Allocations governor address\n  /// @param _xAllocationsGovernor New governor address\n  function setXAllocationsGovernorAddress(address _xAllocationsGovernor) external;\n\n  /// @notice Checks if the contract supports an interface\n  /// @param interfaceId Interface identifier\n  /// @return True if interface is supported\n  function supportsInterface(bytes4 interfaceId) external view returns (bool);\n\n  /// @notice Returns the symbol of the token collection\n  function symbol() external view returns (string memory);\n\n  /// @notice Returns a token by its index\n  /// @param index Index of the token\n  /// @return Token ID at the index\n  function tokenByIndex(uint256 index) external view returns (uint256);\n\n  /// @notice Returns a token owned by an address by index\n  /// @param owner Owner address\n  /// @param index Index of the token\n  /// @return Token ID at the index\n  function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);\n\n  /// @notice Returns the URI for a token's metadata\n  /// @param tokenId ID of the token\n  /// @return Metadata URI\n  function tokenURI(uint256 tokenId) external view returns (string memory);\n\n  /// @notice Returns the total supply of tokens\n  /// @return Total number of tokens\n  function totalSupply() external view returns (uint256);\n\n  /// @notice Transfers a token\n  /// @param from Current owner\n  /// @param to New owner\n  /// @param tokenId ID of the token to transfer\n  function transferFrom(address from, address to, uint256 tokenId) external;\n\n  /// @notice Returns the treasury address\n  function treasury() external view returns (address);\n\n  /// @notice Unpauses all token transfers\n  function unpause() external;\n\n  /// @notice Upgrades a token's level\n  /// @param tokenId ID of the token to upgrade\n  function upgrade(uint256 tokenId) external;\n\n  /// @notice Upgrades the contract implementation\n  /// @param newImplementation Address of the new implementation\n  /// @param data Additional data for the upgrade\n  function upgradeToAndCall(address newImplementation, bytes memory data) external payable;\n\n  /// @notice Returns the contract version\n  /// @return Version string\n  function version() external pure returns (string memory);\n\n  /// @notice Returns the X-Allocations governor address\n  function xAllocationsGovernor() external view returns (address);\n}\n"},"contracts/deprecated/V2/interfaces/IGrantsManagerV2.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\n/**\n * @title IGrantsManagerV2\n * @notice Interface for the GrantsManager V2 contract that manages grant execution and milestone creation\n * @dev This contract handles the execution of approved grant proposals and manages milestone-based funding\n */\ninterface IGrantsManagerV2 {\n  // ------------------ Events ------------------ //\n\n  /**\n   * @notice Emitted when a milestone is validated ( ready to be claimed by the receiver )\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  event MilestoneValidated(uint256 indexed proposalId, uint256 indexed milestoneIndex);\n\n  /**\n   * @notice Emitted when a milestone is claimed\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @param amount The amount of the milestone\n   */\n  event MilestoneClaimed(uint256 indexed proposalId, uint256 indexed milestoneIndex, uint256 amount);\n\n  /**\n   * @notice Emitted when a milestone is rejected\n   * @param proposalId The ID of the proposal\n   * @param amount The amount of the milestone\n   */\n  event MilestoneRejectedAndFundsReturnedToTreasury(uint256 indexed proposalId, uint256 amount);\n\n  /**\n   * @notice Emitted when a milestone metadata URI is updated\n   * @param proposalId The ID of the proposal\n   * @param newMilestoneMetadataURI The new metadata URI\n   */\n  event MilestoneMetadataURIUpdated(uint256 indexed proposalId, string newMilestoneMetadataURI);\n\n  /**\n   * @notice Emitted when the grants receiver address is updated\n   * @param proposalId The ID of the proposal\n   * @param newGrantsReceiver The new grants receiver address\n   */\n  event GrantsReceiverUpdated(uint256 indexed proposalId, address newGrantsReceiver);\n\n  /**\n   * @notice Emitted when milestones are created for a proposal\n   * @param proposalId The ID of the proposal\n   * @param proposer The address of the proposer\n   * @param grantsReceiver The address of the grants receiver\n   * @param totalAmount The total amount of all milestones\n   * @param metadataURI The IPFS hash containing milestone details\n   */\n  event MilestonesCreated(\n    uint256 indexed proposalId,\n    address indexed proposer,\n    address indexed grantsReceiver,\n    uint256 totalAmount,\n    string metadataURI\n  );\n\n  /**\n   * @notice Emitted when a grant is canceled\n   * @param proposalId The ID of the proposal\n   */\n  event GrantCanceled(uint256 indexed proposalId);\n\n  // ------------------ Errors ------------------ //\n\n  /**\n   * @notice Error thrown when a target is invalid\n   * @param target The invalid target\n   */\n  error InvalidTarget(address target);\n\n  /**\n   * @notice Error thrown when a milestone amount is invalid\n   */\n  error InvalidAmount();\n\n  /**\n   * @notice Error thrown when a function selector is invalid\n   * @param selector The invalid selector\n   */\n  error InvalidFunctionSelector(bytes4 selector);\n\n  /**\n   * @notice Error thrown when a milestone is already validated\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error MilestoneAlreadyApproved(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone amount is zero\n   * @param milestoneIndex The index of the milestone with zero amount\n   */\n  error MilestoneAmountZero(uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone total amount is zero\n   */\n  error MilestoneTotalAmountZero();\n\n  /**\n   * @notice Error thrown when milestone claimed amount exceeds total amount\n   * @param claimedAmount The amount claimed\n   * @param totalAmount The total amount available\n   */\n  error MilestoneClaimedAmountExceedsTotalAmount(uint256 claimedAmount, uint256 totalAmount);\n\n  /**\n   * @notice Error thrown when number of milestones is less than minimum required\n   * @param provided The number of milestones provided\n   * @param required The minimum number of milestones required\n   */\n  error InvalidNumberOfMilestones(uint256 provided, uint256 required);\n\n  /**\n   * @notice Error thrown when milestone state is not pending\n   * @param status The current status of the milestone\n   */\n  error MilestoneStateNotPending(MilestoneState status);\n\n  /**\n   * @notice Error thrown when previous milestone is not validated\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error PreviousMilestoneNotApproved(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone is already claimed\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error MilestoneAlreadyClaimed(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when caller is not an admin or grants manager\n   */\n  error NotAuthorized();\n\n  /**\n   * @notice Error thrown when milestone is not validated\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error MilestoneNotApprovedByAdmin(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone index is invalid\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error InvalidMilestoneIndex(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone proposer is zero address\n   */\n  error MilestoneProposerZeroAddress();\n\n  /**\n   * @notice Error thrown when caller is not the grant receiver\n   * @param caller The address of the caller\n   * @param recipient The address of the recipient\n   */\n  error CallerIsNotTheGrantReceiver(address caller, address recipient);\n\n  /**\n   * @notice Error thrown when transfer fails\n   */\n  error TransferFailed();\n\n  /**\n   * @notice Error thrown when funds are insufficient\n   * @param availableFunds The available funds\n   * @param requiredFunds The required funds\n   */\n  error InsufficientFunds(uint256 availableFunds, uint256 requiredFunds);\n\n  /**\n   * @notice Error thrown when milestone details metadata URI is empty\n   */\n  error MilestoneDetailsMetadataURIEmpty();\n\n  /**\n   * @notice Error thrown when proposal is not executed\n   * @param proposalId The ID of the proposal\n   */\n  error ProposalNotExecuted(uint256 proposalId);\n\n  /**\n   * @notice Error thrown when grant is already completed\n   * @param proposalId The ID of the proposal\n   */\n  error GrantAlreadyCompleted(uint256 proposalId);\n\n  /**\n   * @notice Error thrown when grant is already rejected\n   * @param proposalId The ID of the proposal\n   */\n  error GrantAlreadyRejected(uint256 proposalId);\n\n  // ------------------ Structs and Enums ------------------ //\n\n  /**\n   * @notice GrantState enum to store the status of the grant\n   * @dev This is the same as the ProposalState enum however with InDevelopment and Completed extra states\n   */\n  enum GrantState {\n    Pending, // 0\n    Active, // 1\n    Canceled, // 2\n    Defeated, // 3\n    Succeeded, // 4\n    Queued, // 5\n    Executed, // 6\n    DepositNotMet, // 7\n    InDevelopment, // 8\n    Completed // 9\n  }\n\n  /**\n   * @notice MilestoneState enum to store the status of the milestone\n   */\n  enum MilestoneState {\n    Pending, // 0 - default\n    Approved, // 1 - approved by admin and claimable\n    Claimed, // 2 - funds claimed by recipient\n    Rejected // 3 - admin rejects\n  }\n\n  /**\n   * @notice Milestone struct\n   */\n  struct Milestone {\n    uint256 amount;\n    bool isClaimed;\n    bool isApproved;\n    bool isRejected;\n    string reason;\n  }\n\n  /**\n   * @notice GrantProposal struct\n   */\n  struct GrantProposal {\n    uint256 id;\n    uint256 totalAmount;\n    uint256 claimedAmount;\n    address proposer;\n    address grantsReceiver;\n    Milestone[] milestones;\n    string metadataURI;\n  }\n\n  // ------------------ Grants Manager Milestone Functions ------------------ //\n\n  /**\n   * @notice Creates milestones for a proposal\n   * @param metadataURI The IPFS hash containing the milestones metadata\n   * @param proposalId The ID of the proposal\n   * @param proposer The address of the proposer\n   * @param grantsReceiver The address of the grants receiver\n   * @param calldatas The calldatas of the milestones\n   */\n  function createMilestones(\n    string memory metadataURI,\n    uint256 proposalId,\n    address proposer,\n    address grantsReceiver,\n    bytes[] memory calldatas\n  ) external;\n\n  /**\n   * @notice Returns a milestone for a proposal\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return Milestone The milestone\n   */\n  function getMilestone(uint256 proposalId, uint256 milestoneIndex) external view returns (Milestone memory);\n\n  /**\n   * @notice Returns the milestones for a proposal\n   * @param proposalId The ID of the proposal\n   * @return GrantProposal struct created on proposeGrant\n   */\n  function getGrantProposal(uint256 proposalId) external view returns (GrantProposal memory);\n\n  /**\n   * @notice Returns the milestones for a proposal\n   * @param proposalId The ID of the proposal\n   * @return Milestone[] The milestones for the grant proposal\n   */\n  function getMilestones(uint256 proposalId) external view returns (Milestone[] memory);\n\n  /**\n   * @notice Approves a milestone\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  function approveMilestones(uint256 proposalId, uint256 milestoneIndex) external;\n\n  /**\n   * @notice Approves a milestone with a reason\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @param reason The reason for approving the milestone\n   * @notice This is used to approve a mi\n   */\n  function approveMilestoneWithReason(uint256 proposalId, uint256 milestoneIndex, string memory reason) external;\n  /**\n   * @notice Sets the minimum milestone count\n   * @param minimumMilestoneCount The minimum milestone count\n   */\n  function setMinimumMilestoneCount(uint256 minimumMilestoneCount) external;\n\n  /**\n   * @notice Returns the minimum milestone count\n   * @return The minimum milestone count\n   */\n  function getMinimumMilestoneCount() external view returns (uint256);\n\n  /**\n   * @notice Returns the state of a milestone\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return MilestoneState The state of the milestone\n   */\n  function milestoneState(uint256 proposalId, uint256 milestoneIndex) external view returns (MilestoneState);\n\n  /**\n   * @notice Returns the state of a proposal\n   * @param proposalId The ID of the proposal\n   * @return GrantState The state of the proposal\n   */\n  function grantState(uint256 proposalId) external view returns (GrantState);\n\n  /**\n   * @notice Returns if a proposal is in development\n   * @param proposalId The ID of the proposal\n   * @return bool True if the proposal is in development, false otherwise\n   */\n  function isGrantCompleted(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @notice Returns if a proposal is in development\n   * @param proposalId The ID of the proposal\n   * @return bool True if the proposal is in development, false otherwise\n   */\n  function isGrantInDevelopment(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @notice Returns if a proposal is rejected\n   * @param proposalId The ID of the proposal\n   * @return bool True if one of the milestones is rejected, false otherwise\n   */\n  function isGrantRejected(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @notice Rejects a milestone\n   * @param proposalId The ID of the proposal\n   */\n  function rejectMilestones(uint256 proposalId) external;\n\n  /**\n   * @notice Returns the total amount for milestones\n   * @param milestoneId The ID of the milestone\n   * @return The total amount for the milestones\n   */\n  function getTotalAmountForMilestones(uint256 milestoneId) external view returns (uint256);\n\n  // ------------------ Grants Manager Funds Functions ------------------ //\n  /**\n   * @notice Claims milestones\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  function claimMilestone(uint256 proposalId, uint256 milestoneIndex) external;\n\n  /**\n   * @notice Returns if a milestone is claimable\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return bool True if the milestone is claimable, false otherwise\n   */\n  function isClaimable(uint256 proposalId, uint256 milestoneIndex) external view returns (bool);\n  // ------------------ Grants Manager Contract Functions ------------------ //\n  /**\n   * @notice Sets the governor contract\n   * @param _governor The address of the governor contract\n   */\n  function setGovernorContract(address _governor) external;\n\n  /**\n   * @notice Sets the treasury contract\n   * @param _treasury The address of the treasury contract\n   */\n  function setTreasuryContract(address _treasury) external;\n\n  /**\n   * @notice Returns the governor contract\n   * @return The address of the governor contract\n   */\n  function getGovernorContract() external view returns (address);\n\n  /**\n   * @notice Returns the treasury contract\n   * @return The address of the treasury contract\n   */\n  function getTreasuryContract() external view returns (address);\n\n  /**\n   * @notice Returns the b3tr contract\n   * @return The address of the b3tr contract\n   */\n  function getB3trContract() external view returns (address);\n\n  /**\n   * @notice Sets the b3tr contract\n   * @param _b3tr The address of the b3tr contract\n   */\n  function setB3trContract(address _b3tr) external;\n\n  /**\n   * @notice Updates the grants receiver address\n   * @param proposalId The ID of the proposal\n   * @param newGrantsReceiver The new grants receiver address\n   */\n  function updateGrantsReceiver(uint256 proposalId, address newGrantsReceiver) external;\n\n  /**\n   * @notice Returns the grants receiver address\n   * @param proposalId The ID of the proposal\n   * @return The address of the grants receiver\n   */\n  function getGrantsReceiverAddress(uint256 proposalId) external view returns (address);\n\n  // ------------------ Metadata Functions ------------------ //\n\n  /**\n   * @notice Updates the milestone description metadata URI for a proposal\n   * @param proposalId The ID of the proposal\n   * @param newMilestoneMetadataURI The milestone description metadata URI to set\n   */\n  function updateMilestoneMetadataURI(uint256 proposalId, string memory newMilestoneMetadataURI) external;\n\n  /**\n   * @notice Returns the milestone  metadata URI for a proposal\n   * @param proposalId The ID of the proposal\n   * @return The milestone  metadata URI for the proposal\n   */\n  function getMilestoneMetadataURI(uint256 proposalId) external view returns (string memory);\n}\n"},"contracts/deprecated/V2/interfaces/INodeManagementV2.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\nimport {VechainNodesDataTypes} from \"../node-management-libraries/VechainNodesDataTypes.sol\";\n\ninterface INodeManagementV2 {\n    /**\n     * @notice Error indicating that the caller does not own a node.\n     */\n    error NodeManagementNonNodeHolder();\n\n    /**\n     * @notice Error indicating that the node is not currently delegated.\n     */\n    error NodeManagementNodeNotDelegated();\n\n    /**\n     * @notice Error indicating that an address is being set to the zero address.\n     */\n    error NodeManagementZeroAddress();\n\n    /**\n     * @notice Error indicating that an address is being set to the zero address.\n     */\n    error NodeManagementSelfDelegation();\n\n    /**\n     * @notice Error indicating that the node is already delegated to another user.\n     * @param nodeId The ID of the node that is already delegated.\n     * @param delegatee The address of the current delegatee.\n     */\n    error NodeManagementNodeAlreadyDelegated(uint256 nodeId, address delegatee);\n\n    /**\n     * @notice Event emitted when a node is delegated or the delegation is removed.\n     * @param nodeId The ID of the node being delegated or having its delegation removed.\n     * @param delegatee The address to which the node is delegated or from which the delegation is removed.\n     * @param delegated A boolean indicating whether the node is delegated (true) or the delegation is removed (false).\n     */\n    event NodeDelegated(uint256 indexed nodeId, address indexed delegatee, bool delegated);\n\n    /**\n     *  @dev Emit when the vechain node contract address is set or updated\n     */\n    event VechainNodeContractSet(address oldContractAddress, address newContractAddress);\n\n    /**\n     * @notice Initialize the contract with the specified VeChain Nodes contract, admin, and upgrader addresses.\n     * @param vechainNodesContract The address of the VeChain Nodes contract.\n     * @param admin The address to be granted the default admin role.\n     * @param upgrader The address to be granted the upgrader role.\n     */\n    function initialize(address vechainNodesContract, address admin, address upgrader) external;\n\n    /**\n     * @notice Set the address of the VeChain Nodes contract.\n     * @param vechainNodesContract The new address of the VeChain Nodes contract.\n     */\n    function setVechainNodesContract(address vechainNodesContract) external;\n\n    /**\n     * @notice Delegate a node to another address.\n     * @param delegatee The address to delegate the node to.\n     */\n    function delegateNode(address delegatee) external;\n\n    /**\n     * @notice Remove the delegation of a node.\n     */\n    function removeNodeDelegation() external;\n\n    /**\n     * @notice Retrieve the node ID associated with a user, either through direct ownership or delegation.\n     * @param user The address of the user to check.\n     * @return uint256 The node ID associated with the user.\n     */\n    function getNodeIds(address user) external view returns (uint256[] memory);\n\n    /**\n     * @notice Retrieves the address of the user managing the node ID endorsement either through ownership or delegation.\n     * @param nodeId The ID of the node for which the manager address is being retrieved.\n     * @return address The address of the manager of the specified node.\n     */\n    function getNodeManager(uint256 nodeId) external view returns (address);\n\n    /**\n     * @notice Check if a user is holding a specific node ID either directly or through delegation.\n     * @param user The address of the user to check.\n     * @param nodeId The node ID to check for.\n     * @return bool True if the user is holding the node ID and it is a valid node.\n     */\n    function isNodeManager(address user, uint256 nodeId) external view returns (bool);\n\n    /**\n     * @notice Check if a node is delegated.\n     * @param nodeId The node ID to check for.\n     * @return bool True if the node is delegated.\n     */\n    function isNodeDelegated(uint256 nodeId) external view returns (bool);\n\n    /**\n     * @notice Check if a user is a delegator.\n     * @param user The address of the user to check.\n     * @return bool True if the user is a delegator.\n     */\n    function isNodeDelegator(address user) external view returns (bool);\n\n    /**\n     * @notice Check if a user is a node holder (either directly or through delegation).\n     * @param user The address of the user to check.\n     * @return bool True if the user is a node holder.\n     */\n    function isNodeHolder(address user) external view returns (bool);\n\n    /**\n     * @notice Check if a user directly owns a node (not delegated).\n     * @param user The address of the user to check.\n     * @return uint256 The ID of the owned node (0 if none).\n     */\n    function getDirectNodeOwnership(address user) external view returns (uint256);\n\n    /**\n     * @notice Retrieves the node level of a given node ID.\n     * @param nodeId The token ID of the endorsing node.\n     * @return VechainNodesDataTypes.NodeStrengthLevel The node level of the specified token ID.\n     */\n    function getNodeLevel(\n        uint256 nodeId\n    ) external view returns (VechainNodesDataTypes.NodeStrengthLevel);\n\n    /**\n     * @notice Retrieves the node level of a user's managed node.\n     * @param user The address of the user managing the node.\n     * @return VechainNodesDataTypes.NodeStrengthLevel The node level of the node managed by the user.\n     */\n    function getUsersNodeLevels(\n        address user\n    ) external view returns (VechainNodesDataTypes.NodeStrengthLevel[] memory);\n}\n"},"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nlibrary VechainNodesDataTypes {\n  /**\n   * @dev The strength level of each node.\n   */\n  enum NodeStrengthLevel {\n    None,\n    // Normal Token\n    Strength,\n    Thunder,\n    Mjolnir,\n    // X Token\n    VeThorX,\n    StrengthX,\n    ThunderX,\n    MjolnirX\n  }\n\n  /**\n   * @dev The score of a node.\n   */\n  struct NodeStrengthScores {\n    uint256 strength;\n    uint256 thunder;\n    uint256 mjolnir;\n    uint256 veThorX;\n    uint256 strengthX;\n    uint256 thunderX;\n    uint256 mjolnirX;\n  }\n}\n"},"contracts/deprecated/V3/GalaxyMemberV3.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\nimport \"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IB3TRGovernor } from \"../../interfaces/IB3TRGovernor.sol\";\nimport { IB3TR } from \"../../interfaces/IB3TR.sol\";\nimport { ITokenAuction } from \"../../mocks/Stargate/interfaces/ITokenAuction.sol\";\nimport { INodeManagementV2 } from \"../V2/interfaces/INodeManagementV2.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { Time } from \"@openzeppelin/contracts/utils/types/Time.sol\";\n\n/**\n * @title GalaxyMember\n * @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n * @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n *\n * --------------------------------- VERSION 2 ---------------------------------\n * - Added Vechain Nodes contract to attach and detach nodes to tokens\n * - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n * - Added free upgrade levels for each Vechain node level\n * - Removed automatic highest level owned selection\n * - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n * - Core logic functions are now overridable through inheritance\n * - B3TRGovernor has been updated to V2 thus pointing to the new interface\n * - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\n *\n * --------------------------------- VERSION 3 ---------------------------------\n * - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated())\n * - Added `selectFor` function to allow the admin to select a token for the user\n * - Added checkpoints for the selected token ID of the user\n * - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking\n */\ncontract GalaxyMemberV3 is\n  ERC721Upgradeable,\n  ERC721EnumerableUpgradeable,\n  ERC721PausableUpgradeable,\n  ERC721BurnableUpgradeable,\n  AccessControlUpgradeable,\n  ReentrancyGuardUpgradeable,\n  UUPSUpgradeable\n{\n  using Checkpoints for Checkpoints.Trace208; // Checkpoints library for managing checkpoints of the selected token ID of the user\n\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n  bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n  bytes32 public constant NODES_MANAGER_ROLE = keccak256(\"NODES_MANAGER_ROLE\");\n\n  /// @notice Storage structure for GalaxyMember\n  /// @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n  /// @custom:storage-location erc7201:b3tr.storage.GalaxyMember\n  struct GalaxyMemberStorage {\n    IXAllocationVotingGovernor xAllocationsGovernor; // XAllocationVotingGovernor contract\n    IB3TRGovernor b3trGovernor; // B3TRGovernor contract\n    IB3TR b3tr; // B3TR token contract\n    address treasury; // Treasury contract address\n    string _baseTokenURI; // Base URI for the Token\n    uint256 _nextTokenId; // Next Token ID to be minted\n    uint256 MAX_LEVEL; // Current Maximum level the Token can be minted or upgraded to\n    mapping(uint256 => uint256) levelOf; // Mapping from token ID to level of the Token\n    mapping(uint256 => uint256) _b3trToUpgradeToLevel; // Mapping from level to B3TR required to upgrade to that level\n    mapping(address owner => Checkpoints.Trace208) _selectedLevelCheckpoints; // Checkpoints for selected level of the user\n    mapping(address => mapping(uint256 => uint256)) _ownedLevels; // Value-Frequency map tracking levels owned by users\n    bool isPublicMintingPaused; // Flag to pause public minting\n    // --------------------------- V2 Additions --------------------------- //\n    ITokenAuction vechainNodes; // Vechain Nodes contract\n    INodeManagementV2 nodeManagement; // Node Management contract\n    mapping(uint256 => uint256) _nodeToTokenId; // Mapping from Vechain node ID to GalaxyMember Token ID. Used to track the XNode tied to the GM token ID\n    mapping(uint256 => uint256) _tokenIdToNode; // Mapping from GalaxyMember Token ID to Vechain node ID. Used to track the GM token ID tied to the XNode token ID\n    mapping(uint8 => uint256) _nodeToFreeUpgradeLevel; // Mapping from Vechain node level to GalaxyMember level. Used to track the GM level that can be upgraded for free for a given Vechain node level\n    mapping(uint256 => uint256) _tokenIdToB3TRdonated; // Mapping from GM Token ID to B3TR donated for upgrading\n    mapping(address => uint256) _selectedTokenID_DEPRECATED; // Mapping from user address to selected GM token ID - DEPRECATED IN FAVOUR OF CHECKPOINTS\n    // --------------------------- V3 Additions --------------------------- //\n    mapping(address => Checkpoints.Trace208) _selectedTokenIDCheckpoints; // Checkpoints for selected GM token ID of the user\n  }\n\n  /// @notice Storage slot for GalaxyMemberStorage\n  /// @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant GalaxyMemberStorageLocation =\n    0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200;\n\n  /// @dev Retrieves the current state from the GalaxyMemberStorage mapping\n  function _getGalaxyMemberStorage() private pure returns (GalaxyMemberStorage storage $) {\n    assembly {\n      $.slot := GalaxyMemberStorageLocation\n    }\n  }\n\n  /// @dev Emitted when an account changes the selected token for voting rewards.\n  event Selected(address indexed owner, uint256 tokenId);\n\n  /// @dev Emitted when a token is upgraded.\n  event Upgraded(uint256 indexed tokenId, uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when the max level is updated.\n  event MaxLevelUpdated(uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when XAllocationVotingGovernor contract address is updated\n  event XAllocationsGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when B3TRGovernor contract address is updated\n  event B3trGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when base URI is updated\n  event BaseURIUpdated(string indexed newBaseURI, string indexed oldBaseURI);\n\n  /// @dev Emitted when B3TR required to upgrade to each level is updated\n  event B3TRtoUpgradeToLevelUpdated(uint256[] indexed b3trToUpgradeToLevel);\n\n  /// @dev Emitted when public minting is paused\n  event PublicMintingPaused(bool isPaused);\n\n  /// @dev Emitted when a node is attached to a token\n  event NodeAttached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @dev Emitted when a node is detached from a token\n  event NodeDetached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @notice Modifier to check if public minting is not paused\n  modifier whenPublicMintingNotPaused() {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(!$.isPublicMintingPaused, \"Galaxy Member: Public minting is paused\");\n    _;\n  }\n\n  /// @notice Ensures only initializer functions are called when deploying a proxy\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Data for initializing the contract\n  /// @param name Name of the ERC721 token\n  /// @param symbol Symbol of the ERC721 token\n  /// @param admin Address to grant the admin role\n  /// @param upgrader Address to grant the upgrader role\n  /// @param pauser Address to grant the pauser role\n  /// @param minter Address to grant the minter role\n  /// @param contractsAddressManager Address that can update external contracts address\n  /// @param maxLevel Maximum level tokens can achieve\n  /// @param baseTokenURI Base URI for computing {tokenURI}\n  /// @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n  /// @param _b3tr B3TR token contract address\n  /// @param _treasury Address of the treasury\n  struct InitializationData {\n    string name;\n    string symbol;\n    address admin;\n    address upgrader;\n    address pauser;\n    address minter;\n    address contractsAddressManager;\n    uint256 maxLevel;\n    string baseTokenURI;\n    uint256[] b3trToUpgradeToLevel;\n    address b3tr;\n    address treasury;\n  }\n\n  /// @notice Initializes a new GalaxyMember contract\n  /// @dev Sets initial values for all relevant contract properties and state variables.\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  function initialize(InitializationData memory data) external initializer {\n    require(data.maxLevel > 0, \"Galaxy Member: Max level must be greater than 0\");\n    require(bytes(data.baseTokenURI).length > 0, \"Galaxy Member: Base URI must be set\");\n    require(data.b3tr != address(0), \"Galaxy Member: B3TR token address cannot be the zero address\");\n    require(data.treasury != address(0), \"Galaxy Member: Treasury address cannot be the zero address\");\n    require(\n      data.b3trToUpgradeToLevel.length >= data.maxLevel - 1,\n      \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\"\n    );\n\n    __ERC721_init(data.name, data.symbol);\n    __ERC721Enumerable_init();\n    __ERC721Pausable_init();\n    __ERC721Burnable_init();\n    __AccessControl_init();\n    __ReentrancyGuard_init();\n    __UUPSUpgradeable_init();\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $._baseTokenURI = data.baseTokenURI;\n\n    for (uint256 i = 0; i < data.b3trToUpgradeToLevel.length; i++) {\n      require(data.b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be greater than 0\");\n      $._b3trToUpgradeToLevel[i + 2] = data.b3trToUpgradeToLevel[i]; // First Level that requires B3TR is level 2\n    }\n\n    $.MAX_LEVEL = data.maxLevel;\n\n    $.b3tr = IB3TR(data.b3tr);\n    $.treasury = data.treasury;\n\n    require(data.admin != address(0), \"Galaxy Member: Admin address cannot be the zero address\");\n    _grantRole(DEFAULT_ADMIN_ROLE, data.admin);\n    _grantRole(UPGRADER_ROLE, data.upgrader);\n    _grantRole(PAUSER_ROLE, data.pauser);\n    _grantRole(MINTER_ROLE, data.minter);\n    _grantRole(CONTRACTS_ADDRESS_MANAGER_ROLE, data.contractsAddressManager);\n  }\n\n  /// @notice Initializes a new GalaxyMember contract\n  /// @dev Sets initial values for all relevant contract properties and state variables.\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  function initializeV2(\n    address _vechainNodes,\n    address _nodesMangaement,\n    address _nodesAdmin,\n    uint256[] memory _nodeFreeLevels\n  ) external reinitializer(2) {\n    require(_nodeFreeLevels.length == 8, \"GalaxyMember: invalid node free levels. Must be 7 levels\");\n    require(_vechainNodes != address(0), \"GalaxyMember: _vechainNodes cannot be the zero address\");\n    require(_nodesMangaement != address(0), \"GalaxyMember: _nodesMangaement cannot be the zero address\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $.vechainNodes = ITokenAuction(_vechainNodes);\n    $.nodeManagement = INodeManagementV2(_nodesMangaement);\n\n    $._nextTokenId = $._nextTokenId == 0 ? 1 : $._nextTokenId;\n\n    for (uint8 i; i < _nodeFreeLevels.length; i++) {\n      require(_nodeFreeLevels[i] >= 1, \"GalaxyMember: invalid node free level\");\n      $._nodeToFreeUpgradeLevel[i] = _nodeFreeLevels[i];\n    }\n\n    _grantRole(NODES_MANAGER_ROLE, _nodesAdmin);\n  }\n\n  /// @notice Internal function to authorize contract upgrades\n  /// @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n  /// @param newImplementation Address of the new contract implementation\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n\n  /// @notice Pauses the Galaxy Member contract\n  /// @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n  /// @dev Only callable by the pauser role\n  function pause() public virtual onlyRole(PAUSER_ROLE) {\n    _pause();\n  }\n\n  /// @notice Unpauses the Galaxy Member contract\n  /// @dev Only callable by the pauser role\n  function unpause() public virtual onlyRole(PAUSER_ROLE) {\n    _unpause();\n  }\n\n  /// @notice Allows a user to freely mint a token if they have participated in governance\n  /// @dev Mints a token with level 1 and ensures that the public minting is not paused\n  function freeMint() public virtual whenPublicMintingNotPaused {\n    require(participatedInGovernance(msg.sender), \"Galaxy Member: User has not participated in governance\");\n\n    safeMint(msg.sender);\n  }\n\n  /// @notice Upgrades a token to the next level\n  /// @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n  /// @param tokenId Token ID to upgrade\n  function upgrade(uint256 tokenId) public virtual nonReentrant whenNotPaused {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: you must own the Token to upgrade it\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 currentLevel = levelOf(tokenId);\n\n    require(currentLevel < MAX_LEVEL(), \"Galaxy Member: Token is already at max level\");\n\n    uint256 b3trRequired = getB3TRtoUpgrade(tokenId);\n\n    require($.b3tr.balanceOf(msg.sender) >= b3trRequired, \"Galaxy Member: Insufficient balance to upgrade\");\n\n    require(\n      $.b3tr.allowance(msg.sender, address(this)) >= b3trRequired,\n      \"Galaxy Member: Insufficient allowance to upgrade\"\n    );\n\n    $._tokenIdToB3TRdonated[tokenId] += b3trRequired;\n\n    require($.b3tr.transferFrom(msg.sender, $.treasury, b3trRequired), \"GalaxyMember: Transfer failed\");\n\n    emit Upgraded(tokenId, currentLevel, levelOf(tokenId));\n  }\n\n  /// @notice Allows the user to select a token for voting rewards multiplier\n  /// @param tokenID Token ID to select\n  function select(uint256 tokenID) public virtual {\n    _select(msg.sender, tokenID);\n  }\n\n  /// @notice Allows the admin to select a token for the user\n  /// @param owner The address of the owner to check\n  function selectFor(address owner, uint256 tokenID) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    _select(owner, tokenID);\n  }\n\n  /// @notice selects the specified token for the user\n  /// @param owner The address of the owner to check\n  /// @param tokenId the token ID to select\n  function _select(address owner, uint256 tokenId) internal virtual {\n    require(ownerOf(tokenId) == owner, \"Galaxy Member: caller is not the owner of the token\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $._selectedTokenIDCheckpoints[owner].push(clock(), SafeCast.toUint208(tokenId));\n\n    emit Selected(owner, tokenId);\n  }\n\n  /// @notice Allows the token owner to burn their token\n  /// @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n  /// @param tokenId Token ID to burn\n  function burn(uint256 tokenId) public virtual override(ERC721BurnableUpgradeable) {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: caller is not the owner of the token\");\n\n    super.burn(tokenId);\n  }\n\n  // ------------------------------- VECHAIN NODES FUNCTIONS ------------------------------- //\n\n  function attachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(ownerOf(tokenId) == msg.sender, \"GalaxyMember: token not owned by caller\");\n    require(\n      $.nodeManagement.getNodeManager(nodeTokenId) == msg.sender,\n      \"GalaxyMember: vechain node not owned or managed by caller\"\n    );\n    require(getIdAttachedToNode(nodeTokenId) == 0, \"GalaxyMember: node already attached to a token\");\n    require(getNodeIdAttached(tokenId) == 0, \"GalaxyMember: token already attached to a node\");\n\n    $._nodeToTokenId[nodeTokenId] = tokenId;\n    $._tokenIdToNode[tokenId] = nodeTokenId;\n\n    emit NodeAttached(nodeTokenId, tokenId);\n  }\n\n  function detachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(\n      ownerOf(tokenId) == msg.sender ||\n        $.nodeManagement.getNodeManager(nodeTokenId) == msg.sender ||\n        $.vechainNodes.idToOwner(nodeTokenId) == msg.sender,\n      \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\"\n    );\n    require(getIdAttachedToNode(nodeTokenId) == tokenId, \"GalaxyMember: node not attached to the token\");\n    require(getNodeIdAttached(tokenId) == nodeTokenId, \"GalaxyMember: token not attached to the node\");\n\n    delete $._nodeToTokenId[nodeTokenId];\n    delete $._tokenIdToNode[tokenId];\n\n    emit NodeDetached(nodeTokenId, tokenId);\n  }\n\n  // ----------- Internal & Private ----------- //\n\n  /// @notice Internal function to safely mint a token\n  /// @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n  /// @param to Address to mint the token to\n  function safeMint(address to) internal virtual {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 tokenId = $._nextTokenId++;\n    _safeMint(to, tokenId);\n  }\n\n  // ---------- Setters ---------- //\n\n  /// @notice Sets the maximum level that tokens can be minted or upgraded to\n  /// @dev Only callable by the admin role\n  function setMaxLevel(uint256 level) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level > $.MAX_LEVEL, \"Galaxy Member: Max level must be greater than the current max level\");\n\n    // First Level that requires B3TR is level 2\n    for (uint256 i = 2; i <= level; i++) {\n      require($._b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\"); // Require all levels til the new max level to have a B3TR requirement\n    }\n\n    uint256 oldLevel = $.MAX_LEVEL;\n\n    $.MAX_LEVEL = level;\n\n    emit MaxLevelUpdated(oldLevel, level);\n  }\n\n  /// @notice Sets the XAllocationVotingGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _xAllocationsGovernor XAllocationVotingGovernor contract address\n  function setXAllocationsGovernorAddress(\n    address _xAllocationsGovernor\n  ) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_xAllocationsGovernor != address(0), \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit XAllocationsGovernorAddressUpdated(_xAllocationsGovernor, address($.xAllocationsGovernor));\n    $.xAllocationsGovernor = IXAllocationVotingGovernor(_xAllocationsGovernor);\n  }\n\n  /// @notice Sets the B3TRGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _b3trGovernor B3TRGovernor contract address\n  function setB3trGovernorAddress(address _b3trGovernor) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_b3trGovernor != address(0), \"Galaxy Member: _b3trGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit B3trGovernorAddressUpdated(_b3trGovernor, address($.b3trGovernor));\n    $.b3trGovernor = IB3TRGovernor(payable(_b3trGovernor));\n  }\n\n  /// @notice Sets the base URI for computing the tokenURI\n  /// @dev Only callable by the admin role\n  /// @param baseTokenURI Base URI for the Token\n  function setBaseURI(string memory baseTokenURI) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    require(bytes(baseTokenURI).length > 0, \"Galaxy Member: Base URI must be set\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit BaseURIUpdated(baseTokenURI, $._baseTokenURI);\n    $._baseTokenURI = baseTokenURI;\n  }\n\n  /// @notice Sets the amount of B3TR required to upgrade to each level\n  /// @dev Only callable by the admin role\n  /// @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n  function setB3TRtoUpgradeToLevel(uint256[] memory b3trToUpgradeToLevel) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    for (uint256 i; i < b3trToUpgradeToLevel.length; i++) {\n      require(b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be greater than 0\");\n      $._b3trToUpgradeToLevel[i + 2] = b3trToUpgradeToLevel[i]; // First Level that requires B3TR is level 2\n    }\n    emit B3TRtoUpgradeToLevelUpdated(b3trToUpgradeToLevel);\n  }\n\n  /// @notice Pauses public minting\n  /// @dev Only callable by the admin role\n  /// @param isPaused Flag to pause or unpause public minting\n  function setIsPublicMintingPaused(bool isPaused) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit PublicMintingPaused(isPaused);\n    $.isPublicMintingPaused = isPaused;\n  }\n\n  /// @notice Sets the Vechain Nodes contract address\n  /// @param _vechainNodes Vechain Nodes contract address\n  function setVechainNodes(address _vechainNodes) public virtual onlyRole(NODES_MANAGER_ROLE) {\n    require(_vechainNodes != address(0), \"GalaxyMember: _vechainNodes cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    $.vechainNodes = ITokenAuction(_vechainNodes);\n  }\n\n  /// @notice Sets the treasury contract address\n  /// @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n  /// @param level new free upgrade level\n  function setNodeToFreeUpgradeLevel(uint8 nodeLevel, uint256 level) public virtual onlyRole(NODES_MANAGER_ROLE) {\n    require(level >= 1, \"GalaxyMember: invalid level\");\n    require(nodeLevel >= 1, \"GalaxyMember: invalid node level\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level <= $.MAX_LEVEL, \"GalaxyMember: level must be less than or equal to MAX_LEVEL\");\n\n    $._nodeToFreeUpgradeLevel[nodeLevel] = level;\n  }\n\n  // ---------- Getters ---------- //\n\n  /// @notice Gets the level of the GM token\n  /// @param tokenId Token ID to check\n  function levelOf(uint256 tokenId) public view virtual returns (uint256) {\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    return level;\n  }\n\n  /// @notice Gets the B3TR required to upgrade to the next level\n  /// @param tokenId Token ID to check\n  function getB3TRtoUpgrade(uint256 tokenId) public view virtual returns (uint256) {\n    if (_ownerOf(tokenId) == address(0)) return 0;\n\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    // Get the level of the token and the B3TR donated left to upgrade\n    (uint256 currentLevel, uint256 b3trDonatedLeft) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    // If the current level is the max level, return 0\n    if (currentLevel == MAX_LEVEL()) {\n      return 0;\n    }\n\n    // Get the B3TR required to upgrade to the next level by subtracting the B3TR donated left from the B3TR required to upgrade to the next level\n    return getB3TRtoUpgradeToLevel(currentLevel + 1) - b3trDonatedLeft;\n  }\n\n  /// @notice Gets the level of the GM token and the B3TR Donated left to upgrade\n  /// @param tokenId Token ID to check\n  /// @return level The level of the token\n  /// @return b3trDonatedLeft The B3TR donated left to upgrade\n  function _getLevelOfAndB3TRleft(uint256 tokenId, uint256 nodeId) internal view virtual returns (uint256, uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    // Default level is 1 if the token is not attached to a node or the token has not been upgraded\n    uint256 level = 1;\n\n    // if the token is attached to a node and the node is managed by the caller\n    if (nodeId != 0 && $.nodeManagement.getNodeManager(nodeId) == ownerOf(tokenId)) {\n      // Get the level of the node (i.e., Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n      uint8 nodeLevel = getNodeLevelOf(nodeId);\n\n      // If the node level is not 0 (i.e., None)\n      if (nodeLevel != 0) {\n        // Get the level of the token that can be upgraded for free\n        uint256 nodeToFreeLevel = getNodeToFreeLevel(nodeLevel);\n\n        // If the free upgrade level is greater than the current max level, set the level to the max level\n        level = nodeToFreeLevel <= $.MAX_LEVEL ? nodeToFreeLevel : $.MAX_LEVEL;\n      }\n    }\n\n    // Initialise the B3TR donated which keeps track of the B3TR left after upgrading the token\n    uint256 b3trDonatedLeft = $._tokenIdToB3TRdonated[tokenId];\n\n    // Loop through the levels starting from the current level and check if the B3TR donated is enough to upgrade to the next level\n    for (uint256 i = level + 1; i <= $.MAX_LEVEL; i++) {\n      if (b3trDonatedLeft >= $._b3trToUpgradeToLevel[i]) {\n        level = i;\n        b3trDonatedLeft -= $._b3trToUpgradeToLevel[i];\n      } else {\n        // If the B3TR donated is not enough to upgrade to the next level, break the loop\n        break;\n      }\n    }\n\n    // Return the level and the B3TR donated left.\n    return (level, b3trDonatedLeft);\n  }\n\n  /// @notice Gets the strength level of the Vechain node\n  /// @param nodeId Vechain Node Token ID\n  function getNodeLevelOf(uint256 nodeId) public view virtual returns (uint8) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    (, uint8 nodeLevel, , , , , ) = $.vechainNodes.getMetadata(nodeId);\n\n    return nodeLevel;\n  }\n\n  /// @notice Gets the selected token ID for the user\n  /// @param owner The address of the owner to check\n  function getSelectedTokenId(address owner) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._selectedTokenIDCheckpoints[owner].latest();\n  }\n\n  /// @notice Gets the selected token ID for the user in a specific block number\n  /// @param owner The address of the owner to check\n  /// @param blockNumber The block number to check\n  function getSelectedTokenIdAtBlock(address owner, uint48 blockNumber) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._selectedTokenIDCheckpoints[owner].upperLookupRecent(blockNumber);\n  }\n\n  /// @notice Gets the level of the token after attaching a node\n  /// @param tokenId - GM Token ID\n  /// @param nodeTokenId - Vechain Node Token ID\n  function getLevelAfterAttachingNode(uint256 tokenId, uint256 nodeTokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeTokenId);\n\n    return level;\n  }\n\n  /// @notice Gets the level of the token after detaching a node\n  /// @param tokenId - GM Token ID\n  function getLevelAfterDetachingNode(uint256 tokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, 0);\n\n    return level;\n  }\n\n  /// @notice Gets whether the user has participated in governance\n  /// @param user The address of the user to check\n  function participatedInGovernance(address user) public view virtual returns (bool) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(\n      $.xAllocationsGovernor != IXAllocationVotingGovernor(address(0)),\n      \"Galaxy Member: XAllocationVotingGovernor not set\"\n    );\n    require($.b3trGovernor != IB3TRGovernor(payable(address(0))), \"Galaxy Member: B3TRGovernor not set\");\n\n    if ($.xAllocationsGovernor.hasVotedOnce(user) || $.b3trGovernor.hasVotedOnce(user)) {\n      return true;\n    }\n\n    return false;\n  }\n\n  /// @notice Gets the base URI for computing the tokenURI\n  function baseURI() public view virtual returns (string memory) {\n    return _baseURI();\n  }\n\n  /// @notice Gets the B3TR required to upgrade to a specific level\n  /// @param level Level to upgrade to\n  function getB3TRtoUpgradeToLevel(uint256 level) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._b3trToUpgradeToLevel[level];\n  }\n\n  /// @notice gets the token URI for a specific token\n  /// @dev computes the token URI based on the base URI and the level of the token\n  /// @param tokenId Token ID to get the URI for\n  function tokenURI(uint256 tokenId) public view virtual override(ERC721Upgradeable) returns (string memory) {\n    if (_ownerOf(tokenId) == address(0)) return \"\";\n\n    uint256 levelOfToken = levelOf(tokenId);\n    return levelOfToken > 0 ? string.concat(baseURI(), Strings.toString(levelOfToken), \".json\") : \"\";\n  }\n\n  /// @notice Gets the xAllocationsGovernor contract address\n  function xAllocationsGovernor() external view returns (IXAllocationVotingGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.xAllocationsGovernor;\n  }\n\n  /// @notice Gets the b3trGovernor contract address\n  function b3trGovernor() external view returns (IB3TRGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3trGovernor;\n  }\n\n  /// @notice Gets the B3TR token contract address\n  function b3tr() external view returns (IB3TR) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3tr;\n  }\n\n  /// @notice Gets the treasury contract address\n  function treasury() external view returns (address) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.treasury;\n  }\n\n  /// @notice Gets the maximum level that tokens can be minted or upgraded to\n  function MAX_LEVEL() public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.MAX_LEVEL;\n  }\n\n  /// @notice Get the GM Token ID attached to the Vechain Node Token ID\n  /// @param nodeId Vechain node Token ID\n  function getIdAttachedToNode(uint256 nodeId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._nodeToTokenId[nodeId];\n  }\n\n  /// @notice Get the Vechain Node Token ID attached to the GM Token ID\n  /// @param tokenId GM Token ID\n  function getNodeIdAttached(uint256 tokenId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._tokenIdToNode[tokenId];\n  }\n\n  /// @notice Get the GM level that can be upgraded for free for a given Vechain node level\n  /// @param nodeLevel Vechain node level\n  function getNodeToFreeLevel(uint8 nodeLevel) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._nodeToFreeUpgradeLevel[nodeLevel];\n  }\n\n  /// @notice Get the B3TR donated for upgrading a token\n  /// @param tokenId Token ID to check\n  function getB3TRdonated(uint256 tokenId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._tokenIdToB3TRdonated[tokenId];\n  }\n\n  /// @notice Retrieves the current version of the contract\n  /// @dev This function is used to identify the version of the contract and should be updated in each new version\n  /// @return string The version of the contract\n  function version() external pure virtual returns (string memory) {\n    return \"3\";\n  }\n\n  struct TokenInfo {\n    uint256 tokenId;\n    string tokenURI;\n    uint256 tokenLevel;\n    uint256 b3trToUpgrade;\n  }\n\n  /// @notice Gets the token info by token ID\n  /// @param tokenId Token ID to get the info for\n  /// @return TokenInfo The token info\n  function getTokenInfoByTokenId(uint256 tokenId) public view virtual returns (TokenInfo memory) {\n    // Check if the token ID exists\n    require(_ownerOf(tokenId) != address(0), \"GalaxyMember: tokenId doesn't exist\");\n\n    TokenInfo memory tokenInfo;\n    tokenInfo.tokenId = tokenId;\n    tokenInfo.tokenURI = tokenURI(tokenId);\n    tokenInfo.tokenLevel = levelOf(tokenId);\n    tokenInfo.b3trToUpgrade = getB3TRtoUpgrade(tokenId);\n    return tokenInfo;\n  }\n\n  /// @notice Gets the selected token info for an address\n  /// @param owner The address of the owner to check\n  /// @return TokenInfo The selected token info\n  function getSelectedTokenInfoByOwner(address owner) public view returns (TokenInfo memory) {\n    uint256 tokenId = getSelectedTokenId(owner);\n    return getTokenInfoByTokenId(tokenId);\n  }\n\n  /// @notice Gets the tokens owned by an address\n  /// @param owner The address of the owner to check\n  /// @param page The page number to fetch\n  /// @param size The number of tokens to fetch (cannot exceed 100)\n  /// @return TokenInfo[] The tokens owned by the address\n  function getTokensInfoByOwner(address owner, uint256 page, uint256 size) public view returns (TokenInfo[] memory) {\n    // Ensure size is not 0\n    if (size == 0) {\n      revert(\"GalaxyMember: Invalid size, cannot be 0\");\n    }\n\n    // Maximum number of tokens to fetch per page\n    uint256 MAX_PAGINATION_SIZE = 100;\n\n    // Ensure size is not greater than the maximum allowed value\n    if (size > MAX_PAGINATION_SIZE) {\n      revert(\n        string(\n          abi.encodePacked(\"GalaxyMember: Invalid size, cannot be greater than \", Strings.toString(MAX_PAGINATION_SIZE))\n        )\n      );\n    }\n\n    uint256 balance = balanceOf(owner); // Get the number of tokens owned by the address\n\n    // Calculate the starting index for the current page\n    uint256 start = page * size;\n\n    // If start index is greater than or equal to balance, return an empty array\n    if (start >= balance) {\n      return new TokenInfo[](0);\n    }\n\n    // Calculate the end index (exclusive)\n    uint256 end = start + size;\n    if (end > balance) {\n      end = balance; // Ensure the end index doesn't exceed the owner's balance\n    }\n\n    // Calculate the number of tokens to return\n    uint256 numTokens = end - start;\n\n    TokenInfo[] memory tokens = new TokenInfo[](numTokens);\n\n    for (uint256 i = 0; i < numTokens; i++) {\n      uint256 tokenIndex = start + i;\n      uint256 tokenId = tokenOfOwnerByIndex(owner, tokenIndex);\n      tokens[i] = getTokenInfoByTokenId(tokenId);\n    }\n\n    return tokens;\n  }\n\n  /// @dev Clock used for flagging checkpoints.\n  function clock() public view virtual returns (uint48) {\n    return Time.blockNumber();\n  }\n\n  /**\n   * @dev Returns the mode of the clock.\n   */\n  function CLOCK_MODE() public view virtual returns (string memory) {\n    return \"mode=blocknumber&from=default\";\n  }\n\n  // ---------- Overrides ---------- //\n\n  /// @notice Performs automatic level updating upon token updates\n  /// @dev Overrides the _update function to update the highest level owned by the owner\n  /// @param to The address to transfer the token to\n  /// @param tokenId The token ID to update\n  /// @param auth The address of the sender\n  function _update(\n    address to,\n    uint256 tokenId,\n    address auth\n  )\n    internal\n    override(ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721PausableUpgradeable)\n    whenNotPaused\n    returns (address)\n  {\n    require(getNodeIdAttached(tokenId) == 0, \"GalaxyMember: token attached to a node, detach before transfer\");\n\n    address _previousOwner = super._update(to, tokenId, auth);\n\n    // If the owner has no tokens, don't select any token\n    if (_previousOwner != address(0) && balanceOf(_previousOwner) == 0) {\n      _getGalaxyMemberStorage()._selectedTokenIDCheckpoints[_previousOwner].push(clock(), 0);\n    }\n\n    // If the owner transfers out the selected token, select the first token he owns\n    if (\n      _previousOwner != address(0) && getSelectedTokenId(_previousOwner) == tokenId && balanceOf(_previousOwner) > 0\n    ) {\n      _select(_previousOwner, tokenOfOwnerByIndex(_previousOwner, 0));\n    }\n\n    // If the new owner has only one token, select it\n    if (to != address(0) && balanceOf(to) == 1) {\n      _select(to, tokenOfOwnerByIndex(to, 0));\n    }\n\n    return _previousOwner;\n  }\n\n  /// @dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable\n  function _increaseBalance(\n    address account,\n    uint128 value\n  ) internal override(ERC721Upgradeable, ERC721EnumerableUpgradeable) {\n    super._increaseBalance(account, value);\n  }\n\n  /// @dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view override(ERC721Upgradeable, ERC721EnumerableUpgradeable, AccessControlUpgradeable) returns (bool) {\n    return super.supportsInterface(interfaceId);\n  }\n\n  /// @dev Overrides the _baseURI for ERC721URIStorageUpgradeable\n  function _baseURI() internal view override returns (string memory) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._baseTokenURI;\n  }\n}\n"},"contracts/deprecated/V3/VoterRewardsV3.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\";\nimport \"../V2/interfaces/IGalaxyMemberV2.sol\";\nimport \"../../interfaces/IB3TRGovernor.sol\";\nimport \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport \"../../interfaces/IEmissions.sol\";\nimport \"../../interfaces/IB3TR.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport \"@openzeppelin/contracts/utils/types/Time.sol\";\n\n/**\n * @title VoterRewards\n * @author VeBetterDAO\n *\n * @notice This contract handles the rewards for voters in the VeBetterDAO ecosystem.\n * It calculates the rewards for voters based on their voting power and the level of their Galaxy Member NFT.\n *\n * @dev The contract is\n * - upgradeable using UUPSUpgradeable.\n * - using AccessControl to handle the admin and upgrader roles.\n * - using ReentrancyGuard to prevent reentrancy attacks.\n * - following the ERC-7201 standard for storage layout.\n *\n * Roles:\n * - DEFAULT_ADMIN_ROLE: The role that can add new admins and upgraders. It is also the role that can set scaling factor and the Galaxy Member level to multiplier mapping.\n * - UPGRADER_ROLE: The role that can upgrade the contract.\n * - VOTE_REGISTRAR_ROLE: The role that can register votes for rewards calculation.\n * - CONTRACTS_ADDRESS_MANAGER_ROLE: The role that can set the addresses of the contracts used by the VoterRewards contract.\n *\n * ------------------ Version 2 Changes ------------------\n * - Added quadratic rewarding disabled checkpoints to disable quadratic rewarding for a specific cycle.\n * - Added the clock function to get the current block number.\n * - Added functions to check if quadratic rewarding is disabled at a specific block number or for the current cycle.\n * - Added function to disable quadratic rewarding or re-enable it.\n *\n * ------------------ Version 3 Changes ------------------\n * - Added the ability to track if a Galaxy Member NFT has voted in a proposal.\n * - Added the ability to track if a Vechain node attached to a Galaxy Member NFT has voted in a proposal.\n * - Proposal Id is now required when registering votes instead of proposal snapshot.\n * - Core logic functions are now virtual allowing to be overridden through inheritance.\n */\ncontract VoterRewardsV3 is AccessControlUpgradeable, ReentrancyGuardUpgradeable, UUPSUpgradeable {\n  using Checkpoints for Checkpoints.Trace208; // Checkpoints library for managing checkpoints of the selected level of the user\n\n  /// @notice The role that can register votes for rewards calculation.\n  bytes32 public constant VOTE_REGISTRAR_ROLE = keccak256(\"VOTE_REGISTRAR_ROLE\");\n\n  /// @notice The role that can upgrade the contract.\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n\n  /// @notice The role that can set the addresses of the contracts used by the VoterRewards contract.\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n\n  /// @notice The scaling factor for the rewards calculation.\n  uint256 public constant SCALING_FACTOR = 1e6;\n\n  /// @custom:storage-location erc7201:b3tr.storage.VoterRewards\n  struct VoterRewardsStorage {\n    IGalaxyMemberV2 galaxyMember;\n    IB3TR b3tr;\n    IEmissions emissions;\n    // level => percentage multiplier for the level of the GM NFT\n    mapping(uint256 => uint256) levelToMultiplier;\n    // cycle => total weighted votes in the cycle\n    mapping(uint256 => uint256) cycleToTotal;\n    // cycle => voter => total weighted votes for the voter in the cycle\n    mapping(uint256 cycle => mapping(address voter => uint256 total)) cycleToVoterToTotal;\n    // ----------------- V2 Additions ---------------- //\n    // checkpoints for the quadratic rewarding status for each cycle\n    Checkpoints.Trace208 quadraticRewardingDisabled;\n    // --------------------------- V3 Additions --------------------------- //\n    // proposalId => tokenId => hasVoted (keeps track of whether a galaxy member has voted in a proposal)\n    mapping(uint256 proposalId => mapping(uint256 tokenId => bool)) proposalToGalaxyMemberToHasVoted;\n    // proposalId => nodeId => hasVoted (keeps track of whether a vechain node has been used while attached to a galaxy member NFT when voting for a proposal)\n    mapping(uint256 proposalId => mapping(uint256 nodeId => bool)) proposalToNodeToHasVoted;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.VoterRewards\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant VoterRewardsStorageLocation =\n    0x114e7ffaaf205d38cd05b17b56f3357806ef2ce889cb4748445ae91cdfc37c00;\n\n  /// @notice Get the VoterRewardsStorage struct from the specified storage slot specified by the VoterRewardsStorageLocation.\n  function _getVoterRewardsStorage() internal pure returns (VoterRewardsStorage storage $) {\n    assembly {\n      $.slot := VoterRewardsStorageLocation\n    }\n  }\n\n  /// @notice Emitted when a user registers their votes for rewards calculation.\n  /// @param cycle - The cycle in which the votes were registered.\n  /// @param voter- The address of the voter.\n  /// @param votes - The number of votes cast by the voter.\n  /// @param rewardWeightedVote - The reward-weighted vote power for the voter based on their voting power and GM NFT level.\n  event VoteRegistered(uint256 indexed cycle, address indexed voter, uint256 votes, uint256 rewardWeightedVote);\n\n  /// @notice Emitted when a user claims their rewards.\n  /// @param cycle - The cycle in which the rewards were claimed.\n  /// @param voter - The address of the voter.\n  /// @param reward - The amount of B3TR reward claimed by the voter.\n  event RewardClaimed(uint256 indexed cycle, address indexed voter, uint256 reward);\n\n  /// @notice Emitted when the Galaxy Member contract address is set.\n  /// @param newAddress - The address of the new Galaxy Member contract.\n  /// @param oldAddress - The address of the old Galaxy Member contract.\n  event GalaxyMemberAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @notice Emitted when the Emissions contract address is set.\n  /// @param newAddress - The address of the new Emissions contract.\n  /// @param oldAddress - The address of the old Emissions contract.\n  event EmissionsAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @notice Emitted when the level to multiplier mapping is set.\n  /// @param level - The level of the Galaxy Member NFT.\n  /// @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT.\n  event LevelToMultiplierSet(uint256 indexed level, uint256 multiplier);\n\n  /// @notice Emits true if quadratic rewarding is disabled, false otherwise.\n  /// @param disabled - The flag to enable or disable quadratic rewarding.\n  event QuadraticRewardingToggled(bool indexed disabled);\n\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Initialize the VoterRewards contract.\n  /// @param admin - The address of the admin.\n  /// @param upgrader - The address of the upgrader.\n  /// @param contractsAddressManager - The address of the contract address manager.\n  /// @param _emissions - The address of the emissions contract.\n  /// @param _galaxyMember - The address of the Galaxy Member contract.\n  /// @param _b3tr - The address of the B3TR token contract.\n  /// @param levels - The levels of the Galaxy Member NFTs.\n  /// @param multipliers  - The multipliers for the levels of the Galaxy Member NFTs.\n  function initialize(\n    address admin,\n    address upgrader,\n    address contractsAddressManager,\n    address _emissions,\n    address _galaxyMember,\n    address _b3tr,\n    uint256[] memory levels,\n    uint256[] memory multipliers\n  ) external initializer {\n    require(_galaxyMember != address(0), \"VoterRewards: _galaxyMember cannot be the zero address\");\n    require(_emissions != address(0), \"VoterRewards: emissions cannot be the zero address\");\n    require(_b3tr != address(0), \"VoterRewards: _b3tr cannot be the zero address\");\n\n    require(levels.length > 0, \"VoterRewards: levels must have at least one element\");\n    require(levels.length == multipliers.length, \"VoterRewards: levels and multipliers must have the same length\");\n\n    __AccessControl_init();\n    __ReentrancyGuard_init();\n    __UUPSUpgradeable_init();\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    $.galaxyMember = IGalaxyMemberV2(_galaxyMember);\n    $.b3tr = IB3TR(_b3tr);\n    $.emissions = IEmissions(_emissions);\n\n    // Set the level to multiplier mapping.\n    for (uint256 i; i < levels.length; i++) {\n      $.levelToMultiplier[levels[i]] = multipliers[i];\n    }\n\n    require(admin != address(0), \"VoterRewards: admin cannot be the zero address\");\n    _grantRole(DEFAULT_ADMIN_ROLE, admin);\n    _grantRole(UPGRADER_ROLE, upgrader);\n    _grantRole(CONTRACTS_ADDRESS_MANAGER_ROLE, contractsAddressManager);\n  }\n\n  /// @notice Upgrade the implementation of the VoterRewards contract.\n  /// @dev Only the address with the UPGRADER_ROLE can call this function.\n  /// @param newImplementation - The address of the new implementation contract.\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n\n  /// @notice Register the votes of a user for rewards calculation.\n  /// @dev Quadratic rewarding is used to reward users with quadratic-weight based on their voting power and the level of their Galaxy Member NFT.\n  /// @param proposalId - The ID of the proposal.\n  /// @param voter - The address of the voter.\n  /// @param votes - The number of votes cast by the voter.\n  /// @param votePower - The square root of the total votes cast by the voter.\n  function registerVote(\n    uint256 proposalId,\n    address voter,\n    uint256 votes,\n    uint256 votePower\n  ) public virtual onlyRole(VOTE_REGISTRAR_ROLE) {\n    // If votePower is zero, exit the function to avoid unnecessary computations.\n    if (votePower == 0) {\n      return;\n    }\n\n    require(proposalId != 0, \"VoterRewards: proposalId cannot be 0\");\n    require(voter != address(0), \"VoterRewards: voter cannot be the zero address\");\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    uint256 selectedGMNFT = $.galaxyMember.getSelectedTokenId(voter);\n\n    // Get the current cycle number.\n    uint256 cycle = $.emissions.getCurrentCycle();\n\n    // Determine the reward multiplier based on the GM NFT level and if the GM NFT or Vechain node attached have already voted on this proposal.\n    uint256 multiplier = getMultiplier(selectedGMNFT, proposalId);\n\n    // Set the scaled vote power to the total votes cast by the voter.\n    uint256 scaledVotePower = votes;\n\n    // Get the block number the emission cycle started.\n    uint48 emissionCycleStartBlock = SafeCast.toUint48($.emissions.lastEmissionBlock());\n\n    // If quadratic rewarding is enabled, scale the vote power by 1e9 to counteract the square root operation on 1e18. (0: enabled, 1: disabled)\n    if ($.quadraticRewardingDisabled.upperLookupRecent(emissionCycleStartBlock) == 0) {\n      scaledVotePower = votePower * 1e9;\n    }\n\n    // Calculate the weighted vote power for rewards, adjusting vote power with the level-based multiplier.\n    // votePower is the square root of the total votes cast by the voter.\n    uint256 rewardWeightedVote = scaledVotePower + ((scaledVotePower * multiplier) / 100); // Adjusted vote power used for rewards calculation.\n\n    // Update the total reward-weighted votes in the cycle.\n    $.cycleToTotal[cycle] += rewardWeightedVote;\n\n    // Record the reward-weighted vote power for the voter in the cycle.\n    $.cycleToVoterToTotal[cycle][voter] += rewardWeightedVote;\n\n    // Record that the GM NFT has voted in the proposal, if it exists.\n    if (selectedGMNFT != 0) {\n      $.proposalToGalaxyMemberToHasVoted[proposalId][selectedGMNFT] = true;\n    }\n\n    uint256 nodeIdAttached = $.galaxyMember.getNodeIdAttached(selectedGMNFT);\n\n    // Record that the Vechain node attached to the GM NFT has voted in the proposal, if it exists.\n    if (nodeIdAttached != 0) {\n      $.proposalToNodeToHasVoted[proposalId][nodeIdAttached] = true;\n    }\n\n    // Emit an event to log the registration of the votes.\n    emit VoteRegistered(cycle, voter, votes, rewardWeightedVote);\n  }\n\n  /// @notice Claim the rewards for a user in a specific cycle.\n  /// @dev The rewards are claimed based on the reward-weighted votes of the user in the cycle.\n  /// @param cycle - The cycle in which the rewards are claimed.\n  /// @param voter - The address of the voter.\n  function claimReward(uint256 cycle, address voter) public virtual nonReentrant {\n    require(cycle > 0, \"VoterRewards: cycle must be greater than 0\");\n    require(voter != address(0), \"VoterRewards: voter cannot be the zero address\");\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    // Check if the cycle has ended before claiming rewards.\n    require($.emissions.isCycleEnded(cycle), \"VoterRewards: cycle must be ended\");\n\n    // Get the reward for the voter in the cycle.\n    uint256 reward = getReward(cycle, voter);\n\n    require(reward > 0, \"VoterRewards: reward must be greater than 0\");\n    require($.b3tr.balanceOf(address(this)) >= reward, \"VoterRewards: not enough B3TR in the contract to pay reward\");\n\n    // Reset the reward-weighted votes for the voter in the cycle.\n    $.cycleToVoterToTotal[cycle][voter] = 0;\n\n    // transfer reward to voter\n    require($.b3tr.transfer(voter, reward), \"VoterRewards: transfer failed\");\n\n    // Emit an event to log the reward claimed by the voter.\n    emit RewardClaimed(cycle, voter, reward);\n  }\n\n  // ----------------- Getters ----------------- //\n\n  /// @notice Get the reward multiplier for a user in a specific proposal.\n  /// @param tokenId Id of the Galaxy Member NFT\n  /// @param proposalId Id of the proposal\n  function getMultiplier(uint256 tokenId, uint256 proposalId) public view virtual returns (uint256) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    if (hasTokenVoted(tokenId, proposalId)) return 0;\n\n    uint256 nodeIdAttached = $.galaxyMember.getNodeIdAttached(tokenId);\n\n    if (hasNodeVoted(nodeIdAttached, proposalId)) return 0;\n\n    uint256 gmNftLevel = $.galaxyMember.levelOf(tokenId);\n\n    return $.levelToMultiplier[gmNftLevel];\n  }\n\n  /// @notice Check if a Vechain Node has voted in a proposal\n  /// @param nodeId Id of the Vechain node\n  /// @param proposalId Id of the proposal\n  function hasNodeVoted(uint256 nodeId, uint256 proposalId) public view virtual returns (bool) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    return $.proposalToNodeToHasVoted[proposalId][nodeId];\n  }\n\n  /// @notice Check if a Galaxy Member has voted in a proposal\n  /// @param tokenId Id of the Galaxy Member NFT\n  /// @param proposalId Id of the proposal\n  function hasTokenVoted(uint256 tokenId, uint256 proposalId) public view virtual returns (bool) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    return $.proposalToGalaxyMemberToHasVoted[proposalId][tokenId];\n  }\n\n  /// @notice Get the reward for a user in a specific cycle.\n  /// @param cycle - The cycle in which the rewards are claimed.\n  /// @param voter - The address of the voter.\n  function getReward(uint256 cycle, address voter) public view virtual returns (uint256) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    // Get the total reward-weighted votes for the voter in the cycle.\n    uint256 total = $.cycleToVoterToTotal[cycle][voter];\n\n    // If total is zero, return 0\n    if (total == 0) {\n      return 0;\n    }\n\n    // Get the total reward-weighted votes in the cycle.\n    uint256 totalCycle = $.cycleToTotal[cycle];\n\n    // If totalCycle is zero, return 0\n    if (totalCycle == 0) {\n      return 0;\n    }\n\n    // Get the emissions for voter rewards in the cycle.\n    uint256 emissionsAmount = $.emissions.getVote2EarnAmount(cycle);\n\n    // If emissionsAmount is zero, return 0\n    if (emissionsAmount == 0) {\n      return 0;\n    }\n\n    // Scale up the numerator before division to improve precision\n    uint256 scaledNumerator = total * emissionsAmount * SCALING_FACTOR; // Scale by a factor of SCALING_FACTOR for precision\n    uint256 reward = scaledNumerator / totalCycle;\n\n    // Scale down the reward to the original scale\n    return reward / SCALING_FACTOR;\n  }\n\n  /// @notice Get the total reward-weighted votes for a user in a specific cycle.\n  /// @param cycle - The cycle in which the rewards are claimed.\n  /// @param voter - The address of the voter.\n  function cycleToVoterToTotal(uint256 cycle, address voter) external view returns (uint256) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.cycleToVoterToTotal[cycle][voter];\n  }\n\n  /// @notice Get the total reward-weighted votes in a specific cycle.\n  /// @param cycle - The cycle in which the rewards are claimed.\n  function cycleToTotal(uint256 cycle) external view returns (uint256) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.cycleToTotal[cycle];\n  }\n\n  /// @notice Get the reward multiplier for a specific level of the Galaxy Member NFT.\n  /// @param level - The level of the Galaxy Member NFT.\n  function levelToMultiplier(uint256 level) external view returns (uint256) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.levelToMultiplier[level];\n  }\n\n  /// @notice Get the Galaxy Member contract.\n  function galaxyMember() external view returns (IGalaxyMemberV2) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.galaxyMember;\n  }\n\n  /// @notice Get the Emissions contract.\n  function emissions() external view returns (IEmissions) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.emissions;\n  }\n\n  /// @notice Get the B3TR token contract.\n  function b3tr() external view returns (IB3TR) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    return $.b3tr;\n  }\n\n  /// @notice Check if quadratic rewarding is disabled at a specific block number.\n  /// @dev To check if quadratic rewarding was disabled for a cycle, use the block number the cycle started.\n  /// @param blockNumber - The block number to check the quadratic rewarding status.\n  /// @return true if quadratic rewarding is disabled, false otherwise.\n  function isQuadraticRewardingDisabledAtBlock(uint48 blockNumber) public view returns (bool) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    // Check if quadratic rewarding is enabled or disabled at the block number.\n    return $.quadraticRewardingDisabled.upperLookupRecent(blockNumber) == 1; // 0: enabled, 1: disabled\n  }\n\n  /// @notice Check if quadratic rewarding is disabled for the current cycle.\n  /// @return true if quadratic rewarding is disabled, false otherwise.\n  function isQuadraticRewardingDisabledForCurrentCycle() public view returns (bool) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    // Get the block number the emission cycle started.\n    uint256 emissionCycleStartBlock = $.emissions.lastEmissionBlock();\n\n    uint208 currentStatus = $.quadraticRewardingDisabled.upperLookupRecent(SafeCast.toUint48(emissionCycleStartBlock));\n\n    // Check if quadratic rewarding is enabled or disabled for the current cycle.\n    return currentStatus == 1; // 0: enabled, 1: disabled\n  }\n\n  // ----------------- Setters ----------------- //\n\n  /// @notice Set the Galaxy Member contract.\n  /// @param _galaxyMember - The address of the Galaxy Member contract.\n  function setGalaxyMember(address _galaxyMember) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_galaxyMember != address(0), \"VoterRewards: _galaxyMember cannot be the zero address\");\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    emit GalaxyMemberAddressUpdated(_galaxyMember, address($.galaxyMember));\n\n    $.galaxyMember = IGalaxyMemberV2(_galaxyMember);\n  }\n\n  /// @notice Set the Galaxy Member level to multiplier mapping.\n  /// @param level - The level of the Galaxy Member NFT.\n  /// @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT.\n  function setLevelToMultiplier(uint256 level, uint256 multiplier) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    require(level > 0, \"VoterRewards: level must be greater than 0\");\n    require(multiplier > 0, \"VoterRewards: multiplier must be greater than 0\");\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n    $.levelToMultiplier[level] = multiplier;\n\n    emit LevelToMultiplierSet(level, multiplier);\n  }\n\n  /// @notice Set the Emmissions contract.\n  /// @param _emissions - The address of the emissions contract.\n  function setEmissions(address _emissions) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_emissions != address(0), \"VoterRewards: emissions cannot be the zero address\");\n\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    emit EmissionsAddressUpdated(_emissions, address($.emissions));\n\n    $.emissions = IEmissions(_emissions);\n  }\n\n  /// @notice Toggle quadratic rewarding for a specific cycle.\n  /// @dev This function toggles the state of quadratic rewarding for a specific cycle.\n  /// The state will flip between enabled and disabled each time the function is called.\n  function toggleQuadraticRewarding() external onlyRole(DEFAULT_ADMIN_ROLE) {\n    VoterRewardsStorage storage $ = _getVoterRewardsStorage();\n\n    // Get the current status\n    bool currentStatus = isQuadraticRewardingDisabledForCurrentCycle();\n\n    // Toggle the status -> 0: enabled, 1: disabled\n    $.quadraticRewardingDisabled.push(clock(), currentStatus ? 0 : 1);\n\n    // Emit an event to log the new quadratic rewarding status.\n    emit QuadraticRewardingToggled(!currentStatus);\n  }\n\n  /// @notice Returns the version of the contract\n  /// @dev This should be updated every time a new version of implementation is deployed\n  /// @return string The version of the contract\n  function version() external pure virtual returns (string memory) {\n    return \"3\";\n  }\n\n  /// @dev Clock used for flagging checkpoints.\n  function clock() public view virtual returns (uint48) {\n    return Time.blockNumber();\n  }\n}\n"},"contracts/deprecated/V4/GalaxyMemberV4.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\nimport \"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IB3TRGovernor } from \"../../interfaces/IB3TRGovernor.sol\";\nimport { IB3TR } from \"../../interfaces/IB3TR.sol\";\nimport { ITokenAuction } from \"../../mocks/Stargate/interfaces/ITokenAuction.sol\";\nimport { INodeManagementV2 } from \"../V2/interfaces/INodeManagementV2.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { Time } from \"@openzeppelin/contracts/utils/types/Time.sol\";\n\n/**\n * @title GalaxyMember\n * @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n * @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n *\n * --------------------------------- VERSION 2 ---------------------------------\n * - Added Vechain Nodes contract to attach and detach nodes to tokens\n * - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n * - Added free upgrade levels for each Vechain node level\n * - Removed automatic highest level owned selection\n * - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n * - Core logic functions are now overridable through inheritance\n * - B3TRGovernor has been updated to V2 thus pointing to the new interface\n * - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\n *\n * --------------------------------- VERSION 3 ---------------------------------\n * - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated())\n * - Added `selectFor` function to allow the admin to select a token for the user\n * - Added checkpoints for the selected token ID of the user\n * - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking\n *\n * -------------------------------- VERSION 4 ---------------------------------\n *  - Added events to track the level of the token when attaching and detaching nodes\n */\ncontract GalaxyMemberV4 is\n  ERC721Upgradeable,\n  ERC721EnumerableUpgradeable,\n  ERC721PausableUpgradeable,\n  ERC721BurnableUpgradeable,\n  AccessControlUpgradeable,\n  ReentrancyGuardUpgradeable,\n  UUPSUpgradeable\n{\n  using Checkpoints for Checkpoints.Trace208; // Checkpoints library for managing checkpoints of the selected token ID of the user\n\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n  bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n  bytes32 public constant NODES_MANAGER_ROLE = keccak256(\"NODES_MANAGER_ROLE\");\n\n  /// @notice Storage structure for GalaxyMember\n  /// @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n  /// @custom:storage-location erc7201:b3tr.storage.GalaxyMember\n  struct GalaxyMemberStorage {\n    IXAllocationVotingGovernor xAllocationsGovernor; // XAllocationVotingGovernor contract\n    IB3TRGovernor b3trGovernor; // B3TRGovernor contract\n    IB3TR b3tr; // B3TR token contract\n    address treasury; // Treasury contract address\n    string _baseTokenURI; // Base URI for the Token\n    uint256 _nextTokenId; // Next Token ID to be minted\n    uint256 MAX_LEVEL; // Current Maximum level the Token can be minted or upgraded to\n    mapping(uint256 => uint256) levelOf; // Mapping from token ID to level of the Token\n    mapping(uint256 => uint256) _b3trToUpgradeToLevel; // Mapping from level to B3TR required to upgrade to that level\n    mapping(address owner => Checkpoints.Trace208) _selectedLevelCheckpoints; // Checkpoints for selected level of the user\n    mapping(address => mapping(uint256 => uint256)) _ownedLevels; // Value-Frequency map tracking levels owned by users\n    bool isPublicMintingPaused; // Flag to pause public minting\n    // --------------------------- V2 Additions --------------------------- //\n    ITokenAuction vechainNodes; // Vechain Nodes contract\n    INodeManagementV2 nodeManagement; // Node Management contract\n    mapping(uint256 => uint256) _nodeToTokenId; // Mapping from Vechain node ID to GalaxyMember Token ID. Used to track the XNode tied to the GM token ID\n    mapping(uint256 => uint256) _tokenIdToNode; // Mapping from GalaxyMember Token ID to Vechain node ID. Used to track the GM token ID tied to the XNode token ID\n    mapping(uint8 => uint256) _nodeToFreeUpgradeLevel; // Mapping from Vechain node level to GalaxyMember level. Used to track the GM level that can be upgraded for free for a given Vechain node level\n    mapping(uint256 => uint256) _tokenIdToB3TRdonated; // Mapping from GM Token ID to B3TR donated for upgrading\n    mapping(address => uint256) _selectedTokenID_DEPRECATED; // Mapping from user address to selected GM token ID - DEPRECATED IN FAVOUR OF CHECKPOINTS\n    // --------------------------- V3 Additions --------------------------- //\n    mapping(address => Checkpoints.Trace208) _selectedTokenIDCheckpoints; // Checkpoints for selected GM token ID of the user\n  }\n\n  /// @notice Storage slot for GalaxyMemberStorage\n  /// @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant GalaxyMemberStorageLocation =\n    0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200;\n\n  /// @dev Retrieves the current state from the GalaxyMemberStorage mapping\n  function _getGalaxyMemberStorage() private pure returns (GalaxyMemberStorage storage $) {\n    assembly {\n      $.slot := GalaxyMemberStorageLocation\n    }\n  }\n\n  /// @dev Emitted when an account changes the selected token for voting rewards.\n  event Selected(address indexed owner, uint256 tokenId);\n\n  /// @dev Emitted when a token is upgraded.\n  event Upgraded(uint256 indexed tokenId, uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when the max level is updated.\n  event MaxLevelUpdated(uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when XAllocationVotingGovernor contract address is updated\n  event XAllocationsGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when B3TRGovernor contract address is updated\n  event B3trGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when base URI is updated\n  event BaseURIUpdated(string indexed newBaseURI, string indexed oldBaseURI);\n\n  /// @dev Emitted when B3TR required to upgrade to each level is updated\n  event B3TRtoUpgradeToLevelUpdated(uint256[] b3trToUpgradeToLevel);\n\n  /// @dev Emitted when public minting is paused\n  event PublicMintingPaused(bool isPaused);\n\n  /// @dev Emitted when a node is attached to a token\n  event NodeAttached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @dev Emitted when a node is detached from a token\n  event NodeDetached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @dev Emitted when node is attached to a token\n  event LevelWhenAttached(uint256 indexed tokenId, uint256 indexed nodeTokenId, uint256 level);\n\n  /// @dev Emitted when node is detached from a token\n  event LevelWhenDetached(uint256 indexed tokenId, uint256 indexed nodeTokenId, uint256 level);\n\n  /// @notice Modifier to check if public minting is not paused\n  modifier whenPublicMintingNotPaused() {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(!$.isPublicMintingPaused, \"Galaxy Member: Public minting is paused\");\n    _;\n  }\n\n  /// @notice Ensures only initializer functions are called when deploying a proxy\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Data for initializing the contract\n  /// @param name Name of the ERC721 token\n  /// @param symbol Symbol of the ERC721 token\n  /// @param admin Address to grant the admin role\n  /// @param upgrader Address to grant the upgrader role\n  /// @param pauser Address to grant the pauser role\n  /// @param minter Address to grant the minter role\n  /// @param contractsAddressManager Address that can update external contracts address\n  /// @param maxLevel Maximum level tokens can achieve\n  /// @param baseTokenURI Base URI for computing {tokenURI}\n  /// @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n  /// @param _b3tr B3TR token contract address\n  /// @param _treasury Address of the treasury\n  struct InitializationData {\n    string name;\n    string symbol;\n    address admin;\n    address upgrader;\n    address pauser;\n    address minter;\n    address contractsAddressManager;\n    uint256 maxLevel;\n    string baseTokenURI;\n    uint256[] b3trToUpgradeToLevel;\n    address b3tr;\n    address treasury;\n  }\n\n  /// @notice Initializes a new GalaxyMember contract\n  /// @dev Sets initial values for all relevant contract properties and state variables.\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  function initialize(InitializationData memory data) external initializer {\n    require(data.maxLevel > 0, \"Galaxy Member: Max level must be greater than 0\");\n    require(bytes(data.baseTokenURI).length > 0, \"Galaxy Member: Base URI must be set\");\n    require(data.b3tr != address(0), \"Galaxy Member: B3TR token address cannot be the zero address\");\n    require(data.treasury != address(0), \"Galaxy Member: Treasury address cannot be the zero address\");\n    require(\n      data.b3trToUpgradeToLevel.length >= data.maxLevel - 1,\n      \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\"\n    );\n\n    __ERC721_init(data.name, data.symbol);\n    __ERC721Enumerable_init();\n    __ERC721Pausable_init();\n    __ERC721Burnable_init();\n    __AccessControl_init();\n    __ReentrancyGuard_init();\n    __UUPSUpgradeable_init();\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $._baseTokenURI = data.baseTokenURI;\n\n    for (uint256 i = 0; i < data.b3trToUpgradeToLevel.length; i++) {\n      require(data.b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be greater than 0\");\n      $._b3trToUpgradeToLevel[i + 2] = data.b3trToUpgradeToLevel[i]; // First Level that requires B3TR is level 2\n    }\n\n    $.MAX_LEVEL = data.maxLevel;\n\n    $.b3tr = IB3TR(data.b3tr);\n    $.treasury = data.treasury;\n\n    require(data.admin != address(0), \"Galaxy Member: Admin address cannot be the zero address\");\n    _grantRole(DEFAULT_ADMIN_ROLE, data.admin);\n    _grantRole(UPGRADER_ROLE, data.upgrader);\n    _grantRole(PAUSER_ROLE, data.pauser);\n    _grantRole(MINTER_ROLE, data.minter);\n    _grantRole(CONTRACTS_ADDRESS_MANAGER_ROLE, data.contractsAddressManager);\n  }\n\n  /// @notice Initializes a new GalaxyMember contract\n  /// @dev Sets initial values for all relevant contract properties and state variables.\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  function initializeV2(\n    address _vechainNodes,\n    address _nodesMangaement,\n    address _nodesAdmin,\n    uint256[] memory _nodeFreeLevels\n  ) external reinitializer(2) {\n    require(_nodeFreeLevels.length == 8, \"GalaxyMember: invalid node free levels. Must be 7 levels\");\n    require(_vechainNodes != address(0), \"GalaxyMember: _vechainNodes cannot be the zero address\");\n    require(_nodesMangaement != address(0), \"GalaxyMember: _nodesMangaement cannot be the zero address\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $.vechainNodes = ITokenAuction(_vechainNodes);\n    $.nodeManagement = INodeManagementV2(_nodesMangaement);\n\n    $._nextTokenId = $._nextTokenId == 0 ? 1 : $._nextTokenId;\n\n    for (uint8 i; i < _nodeFreeLevels.length; i++) {\n      require(_nodeFreeLevels[i] >= 1, \"GalaxyMember: invalid node free level\");\n      $._nodeToFreeUpgradeLevel[i] = _nodeFreeLevels[i];\n    }\n\n    _grantRole(NODES_MANAGER_ROLE, _nodesAdmin);\n  }\n\n  /// @notice Internal function to authorize contract upgrades\n  /// @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n  /// @param newImplementation Address of the new contract implementation\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n\n  /// @notice Pauses the Galaxy Member contract\n  /// @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n  /// @dev Only callable by the pauser role\n  function pause() public virtual onlyRole(PAUSER_ROLE) {\n    _pause();\n  }\n\n  /// @notice Unpauses the Galaxy Member contract\n  /// @dev Only callable by the pauser role\n  function unpause() public virtual onlyRole(PAUSER_ROLE) {\n    _unpause();\n  }\n\n  /// @notice Allows a user to freely mint a token if they have participated in governance\n  /// @dev Mints a token with level 1 and ensures that the public minting is not paused\n  function freeMint() public virtual whenPublicMintingNotPaused {\n    require(participatedInGovernance(msg.sender), \"Galaxy Member: User has not participated in governance\");\n\n    safeMint(msg.sender);\n  }\n\n  /// @notice Upgrades a token to the next level\n  /// @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n  /// @param tokenId Token ID to upgrade\n  function upgrade(uint256 tokenId) public virtual nonReentrant whenNotPaused {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: you must own the Token to upgrade it\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 currentLevel = levelOf(tokenId);\n\n    require(currentLevel < MAX_LEVEL(), \"Galaxy Member: Token is already at max level\");\n\n    uint256 b3trRequired = getB3TRtoUpgrade(tokenId);\n\n    require($.b3tr.balanceOf(msg.sender) >= b3trRequired, \"Galaxy Member: Insufficient balance to upgrade\");\n\n    require(\n      $.b3tr.allowance(msg.sender, address(this)) >= b3trRequired,\n      \"Galaxy Member: Insufficient allowance to upgrade\"\n    );\n\n    $._tokenIdToB3TRdonated[tokenId] += b3trRequired;\n\n    require($.b3tr.transferFrom(msg.sender, $.treasury, b3trRequired), \"GalaxyMember: Transfer failed\");\n\n    emit Upgraded(tokenId, currentLevel, levelOf(tokenId));\n  }\n\n  /// @notice Allows the user to select a token for voting rewards multiplier\n  /// @param tokenID Token ID to select\n  function select(uint256 tokenID) public virtual {\n    _select(msg.sender, tokenID);\n  }\n\n  /// @notice Allows the admin to select a token for the user\n  /// @param owner The address of the owner to check\n  function selectFor(address owner, uint256 tokenID) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    _select(owner, tokenID);\n  }\n\n  /// @notice selects the specified token for the user\n  /// @param owner The address of the owner to check\n  /// @param tokenId the token ID to select\n  function _select(address owner, uint256 tokenId) internal virtual {\n    require(ownerOf(tokenId) == owner, \"Galaxy Member: caller is not the owner of the token\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $._selectedTokenIDCheckpoints[owner].push(clock(), SafeCast.toUint208(tokenId));\n\n    emit Selected(owner, tokenId);\n  }\n\n  /// @notice Allows the token owner to burn their token\n  /// @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n  /// @param tokenId Token ID to burn\n  function burn(uint256 tokenId) public virtual override(ERC721BurnableUpgradeable) {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: caller is not the owner of the token\");\n\n    super.burn(tokenId);\n  }\n\n  // ------------------------------- VECHAIN NODES FUNCTIONS ------------------------------- //\n\n  function attachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(ownerOf(tokenId) == msg.sender, \"GalaxyMember: token not owned by caller\");\n    require(\n      $.nodeManagement.getNodeManager(nodeTokenId) == msg.sender,\n      \"GalaxyMember: vechain node not owned or managed by caller\"\n    );\n    require(getIdAttachedToNode(nodeTokenId) == 0, \"GalaxyMember: node already attached to a token\");\n    require(getNodeIdAttached(tokenId) == 0, \"GalaxyMember: token already attached to a node\");\n\n    $._nodeToTokenId[nodeTokenId] = tokenId;\n    $._tokenIdToNode[tokenId] = nodeTokenId;\n\n    emit NodeAttached(nodeTokenId, tokenId);\n\n    // Get the level of the token after attaching the node\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeTokenId);\n    emit LevelWhenAttached(tokenId, nodeTokenId, level);\n  }\n\n  function detachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(\n      ownerOf(tokenId) == msg.sender ||\n        $.nodeManagement.getNodeManager(nodeTokenId) == msg.sender ||\n        $.vechainNodes.idToOwner(nodeTokenId) == msg.sender,\n      \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\"\n    );\n    require(getIdAttachedToNode(nodeTokenId) == tokenId, \"GalaxyMember: node not attached to the token\");\n    require(getNodeIdAttached(tokenId) == nodeTokenId, \"GalaxyMember: token not attached to the node\");\n\n    delete $._nodeToTokenId[nodeTokenId];\n    delete $._tokenIdToNode[tokenId];\n\n    emit NodeDetached(nodeTokenId, tokenId);\n\n    // Get the level of the token after detaching the node\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, 0);\n    emit LevelWhenDetached(tokenId, nodeTokenId, level);\n  }\n\n  // ----------- Internal & Private ----------- //\n\n  /// @notice Internal function to safely mint a token\n  /// @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n  /// @param to Address to mint the token to\n  function safeMint(address to) internal virtual {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 tokenId = $._nextTokenId++;\n    _safeMint(to, tokenId);\n  }\n\n  // ---------- Setters ---------- //\n\n  /// @notice Sets the maximum level that tokens can be minted or upgraded to\n  /// @dev Only callable by the admin role\n  function setMaxLevel(uint256 level) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level > $.MAX_LEVEL, \"Galaxy Member: Max level must be greater than the current max level\");\n\n    // First Level that requires B3TR is level 2\n    for (uint256 i = 2; i <= level; i++) {\n      require($._b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\"); // Require all levels til the new max level to have a B3TR requirement\n    }\n\n    uint256 oldLevel = $.MAX_LEVEL;\n\n    $.MAX_LEVEL = level;\n\n    emit MaxLevelUpdated(oldLevel, level);\n  }\n\n  /// @notice Sets the XAllocationVotingGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _xAllocationsGovernor XAllocationVotingGovernor contract address\n  function setXAllocationsGovernorAddress(\n    address _xAllocationsGovernor\n  ) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_xAllocationsGovernor != address(0), \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit XAllocationsGovernorAddressUpdated(_xAllocationsGovernor, address($.xAllocationsGovernor));\n    $.xAllocationsGovernor = IXAllocationVotingGovernor(_xAllocationsGovernor);\n  }\n\n  /// @notice Sets the B3TRGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _b3trGovernor B3TRGovernor contract address\n  function setB3trGovernorAddress(address _b3trGovernor) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_b3trGovernor != address(0), \"Galaxy Member: _b3trGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit B3trGovernorAddressUpdated(_b3trGovernor, address($.b3trGovernor));\n    $.b3trGovernor = IB3TRGovernor(payable(_b3trGovernor));\n  }\n\n  /// @notice Sets the base URI for computing the tokenURI\n  /// @dev Only callable by the admin role\n  /// @param baseTokenURI Base URI for the Token\n  function setBaseURI(string memory baseTokenURI) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    require(bytes(baseTokenURI).length > 0, \"Galaxy Member: Base URI must be set\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit BaseURIUpdated(baseTokenURI, $._baseTokenURI);\n    $._baseTokenURI = baseTokenURI;\n  }\n\n  /// @notice Sets the amount of B3TR required to upgrade to each level\n  /// @dev Only callable by the admin role\n  /// @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n  function setB3TRtoUpgradeToLevel(uint256[] memory b3trToUpgradeToLevel) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    for (uint256 i; i < b3trToUpgradeToLevel.length; i++) {\n      require(b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be greater than 0\");\n      $._b3trToUpgradeToLevel[i + 2] = b3trToUpgradeToLevel[i]; // First Level that requires B3TR is level 2\n    }\n    emit B3TRtoUpgradeToLevelUpdated(b3trToUpgradeToLevel);\n  }\n\n  /// @notice Pauses public minting\n  /// @dev Only callable by the admin role\n  /// @param isPaused Flag to pause or unpause public minting\n  function setIsPublicMintingPaused(bool isPaused) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit PublicMintingPaused(isPaused);\n    $.isPublicMintingPaused = isPaused;\n  }\n\n  /// @notice Sets the Vechain Nodes contract address\n  /// @param _vechainNodes Vechain Nodes contract address\n  function setVechainNodes(address _vechainNodes) public virtual onlyRole(NODES_MANAGER_ROLE) {\n    require(_vechainNodes != address(0), \"GalaxyMember: _vechainNodes cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    $.vechainNodes = ITokenAuction(_vechainNodes);\n  }\n\n  /// @notice Sets the treasury contract address\n  /// @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n  /// @param level new free upgrade level\n  function setNodeToFreeUpgradeLevel(uint8 nodeLevel, uint256 level) public virtual onlyRole(NODES_MANAGER_ROLE) {\n    require(level >= 1, \"GalaxyMember: invalid level\");\n    require(nodeLevel >= 1, \"GalaxyMember: invalid node level\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level <= $.MAX_LEVEL, \"GalaxyMember: level must be less than or equal to MAX_LEVEL\");\n\n    $._nodeToFreeUpgradeLevel[nodeLevel] = level;\n  }\n\n  // ---------- Getters ---------- //\n\n  /// @notice Gets the level of the GM token\n  /// @param tokenId Token ID to check\n  function levelOf(uint256 tokenId) public view virtual returns (uint256) {\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    return level;\n  }\n\n  /// @notice Gets the B3TR required to upgrade to the next level\n  /// @param tokenId Token ID to check\n  function getB3TRtoUpgrade(uint256 tokenId) public view virtual returns (uint256) {\n    if (_ownerOf(tokenId) == address(0)) return 0;\n\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    // Get the level of the token and the B3TR donated left to upgrade\n    (uint256 currentLevel, uint256 b3trDonatedLeft) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    // If the current level is the max level, return 0\n    if (currentLevel == MAX_LEVEL()) {\n      return 0;\n    }\n\n    // Get the B3TR required to upgrade to the next level by subtracting the B3TR donated left from the B3TR required to upgrade to the next level\n    return getB3TRtoUpgradeToLevel(currentLevel + 1) - b3trDonatedLeft;\n  }\n\n  /// @notice Gets the level of the GM token and the B3TR Donated left to upgrade\n  /// @param tokenId Token ID to check\n  /// @return level The level of the token\n  /// @return b3trDonatedLeft The B3TR donated left to upgrade\n  function _getLevelOfAndB3TRleft(uint256 tokenId, uint256 nodeId) internal view virtual returns (uint256, uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    // Default level is 1 if the token is not attached to a node or the token has not been upgraded\n    uint256 level = 1;\n\n    // if the token is attached to a node and the node is managed by the caller\n    if (nodeId != 0 && $.nodeManagement.getNodeManager(nodeId) == ownerOf(tokenId)) {\n      // Get the level of the node (i.e., Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n      uint8 nodeLevel = getNodeLevelOf(nodeId);\n\n      // If the node level is not 0 (i.e., None)\n      if (nodeLevel != 0) {\n        // Get the level of the token that can be upgraded for free\n        uint256 nodeToFreeLevel = getNodeToFreeLevel(nodeLevel);\n\n        // If the free upgrade level is greater than the current max level, set the level to the max level\n        level = nodeToFreeLevel <= $.MAX_LEVEL ? nodeToFreeLevel : $.MAX_LEVEL;\n      }\n    }\n\n    // Initialise the B3TR donated which keeps track of the B3TR left after upgrading the token\n    uint256 b3trDonatedLeft = $._tokenIdToB3TRdonated[tokenId];\n\n    // Loop through the levels starting from the current level and check if the B3TR donated is enough to upgrade to the next level\n    for (uint256 i = level + 1; i <= $.MAX_LEVEL; i++) {\n      if (b3trDonatedLeft >= $._b3trToUpgradeToLevel[i]) {\n        level = i;\n        b3trDonatedLeft -= $._b3trToUpgradeToLevel[i];\n      } else {\n        // If the B3TR donated is not enough to upgrade to the next level, break the loop\n        break;\n      }\n    }\n\n    // Return the level and the B3TR donated left.\n    return (level, b3trDonatedLeft);\n  }\n\n  /// @notice Gets the strength level of the Vechain node\n  /// @param nodeId Vechain Node Token ID\n  function getNodeLevelOf(uint256 nodeId) public view virtual returns (uint8) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    (, uint8 nodeLevel, , , , , ) = $.vechainNodes.getMetadata(nodeId);\n\n    return nodeLevel;\n  }\n\n  /// @notice Gets the selected token ID for the user\n  /// @param owner The address of the owner to check\n  function getSelectedTokenId(address owner) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._selectedTokenIDCheckpoints[owner].latest();\n  }\n\n  /// @notice Gets the selected token ID for the user in a specific block number\n  /// @param owner The address of the owner to check\n  /// @param blockNumber The block number to check\n  function getSelectedTokenIdAtBlock(address owner, uint48 blockNumber) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._selectedTokenIDCheckpoints[owner].upperLookupRecent(blockNumber);\n  }\n\n  /// @notice Gets the level of the token after attaching a node\n  /// @param tokenId - GM Token ID\n  /// @param nodeTokenId - Vechain Node Token ID\n  function getLevelAfterAttachingNode(uint256 tokenId, uint256 nodeTokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeTokenId);\n\n    return level;\n  }\n\n  /// @notice Gets the level of the token after detaching a node\n  /// @param tokenId - GM Token ID\n  function getLevelAfterDetachingNode(uint256 tokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, 0);\n\n    return level;\n  }\n\n  /// @notice Gets whether the user has participated in governance\n  /// @param user The address of the user to check\n  function participatedInGovernance(address user) public view virtual returns (bool) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(\n      $.xAllocationsGovernor != IXAllocationVotingGovernor(address(0)),\n      \"Galaxy Member: XAllocationVotingGovernor not set\"\n    );\n    require($.b3trGovernor != IB3TRGovernor(payable(address(0))), \"Galaxy Member: B3TRGovernor not set\");\n\n    if ($.xAllocationsGovernor.hasVotedOnce(user) || $.b3trGovernor.hasVotedOnce(user)) {\n      return true;\n    }\n\n    return false;\n  }\n\n  /// @notice Gets the base URI for computing the tokenURI\n  function baseURI() public view virtual returns (string memory) {\n    return _baseURI();\n  }\n\n  /// @notice Gets the B3TR required to upgrade to a specific level\n  /// @param level Level to upgrade to\n  function getB3TRtoUpgradeToLevel(uint256 level) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._b3trToUpgradeToLevel[level];\n  }\n\n  /// @notice gets the token URI for a specific token\n  /// @dev computes the token URI based on the base URI and the level of the token\n  /// @param tokenId Token ID to get the URI for\n  function tokenURI(uint256 tokenId) public view virtual override(ERC721Upgradeable) returns (string memory) {\n    if (_ownerOf(tokenId) == address(0)) return \"\";\n\n    uint256 levelOfToken = levelOf(tokenId);\n    return levelOfToken > 0 ? string.concat(baseURI(), Strings.toString(levelOfToken), \".json\") : \"\";\n  }\n\n  /// @notice Gets the xAllocationsGovernor contract address\n  function xAllocationsGovernor() external view returns (IXAllocationVotingGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.xAllocationsGovernor;\n  }\n\n  /// @notice Gets the b3trGovernor contract address\n  function b3trGovernor() external view returns (IB3TRGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3trGovernor;\n  }\n\n  /// @notice Gets the B3TR token contract address\n  function b3tr() external view returns (IB3TR) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3tr;\n  }\n\n  /// @notice Gets the treasury contract address\n  function treasury() external view returns (address) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.treasury;\n  }\n\n  /// @notice Gets the maximum level that tokens can be minted or upgraded to\n  function MAX_LEVEL() public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.MAX_LEVEL;\n  }\n\n  /// @notice Get the GM Token ID attached to the Vechain Node Token ID\n  /// @param nodeId Vechain node Token ID\n  function getIdAttachedToNode(uint256 nodeId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._nodeToTokenId[nodeId];\n  }\n\n  /// @notice Get the Vechain Node Token ID attached to the GM Token ID\n  /// @param tokenId GM Token ID\n  function getNodeIdAttached(uint256 tokenId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._tokenIdToNode[tokenId];\n  }\n\n  /// @notice Get the GM level that can be upgraded for free for a given Vechain node level\n  /// @param nodeLevel Vechain node level\n  function getNodeToFreeLevel(uint8 nodeLevel) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._nodeToFreeUpgradeLevel[nodeLevel];\n  }\n\n  /// @notice Get the B3TR donated for upgrading a token\n  /// @param tokenId Token ID to check\n  function getB3TRdonated(uint256 tokenId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._tokenIdToB3TRdonated[tokenId];\n  }\n\n  /// @notice Retrieves the current version of the contract\n  /// @dev This function is used to identify the version of the contract and should be updated in each new version\n  /// @return string The version of the contract\n  function version() external pure virtual returns (string memory) {\n    return \"4\";\n  }\n\n  struct TokenInfo {\n    uint256 tokenId;\n    string tokenURI;\n    uint256 tokenLevel;\n    uint256 b3trToUpgrade;\n  }\n\n  /// @notice Gets the token info by token ID\n  /// @param tokenId Token ID to get the info for\n  /// @return TokenInfo The token info\n  function getTokenInfoByTokenId(uint256 tokenId) public view virtual returns (TokenInfo memory) {\n    // Check if the token ID exists\n    require(_ownerOf(tokenId) != address(0), \"GalaxyMember: tokenId doesn't exist\");\n\n    TokenInfo memory tokenInfo;\n    tokenInfo.tokenId = tokenId;\n    tokenInfo.tokenURI = tokenURI(tokenId);\n    tokenInfo.tokenLevel = levelOf(tokenId);\n    tokenInfo.b3trToUpgrade = getB3TRtoUpgrade(tokenId);\n    return tokenInfo;\n  }\n\n  /// @notice Gets the selected token info for an address\n  /// @param owner The address of the owner to check\n  /// @return TokenInfo The selected token info\n  function getSelectedTokenInfoByOwner(address owner) public view returns (TokenInfo memory) {\n    uint256 tokenId = getSelectedTokenId(owner);\n    return getTokenInfoByTokenId(tokenId);\n  }\n\n  /// @notice Gets the tokens owned by an address\n  /// @param owner The address of the owner to check\n  /// @param page The page number to fetch\n  /// @param size The number of tokens to fetch (cannot exceed 100)\n  /// @return TokenInfo[] The tokens owned by the address\n  function getTokensInfoByOwner(address owner, uint256 page, uint256 size) public view returns (TokenInfo[] memory) {\n    // Ensure size is not 0\n    if (size == 0) {\n      revert(\"GalaxyMember: Invalid size, cannot be 0\");\n    }\n\n    // Maximum number of tokens to fetch per page\n    uint256 MAX_PAGINATION_SIZE = 100;\n\n    // Ensure size is not greater than the maximum allowed value\n    if (size > MAX_PAGINATION_SIZE) {\n      revert(\n        string(\n          abi.encodePacked(\"GalaxyMember: Invalid size, cannot be greater than \", Strings.toString(MAX_PAGINATION_SIZE))\n        )\n      );\n    }\n\n    uint256 balance = balanceOf(owner); // Get the number of tokens owned by the address\n\n    // Calculate the starting index for the current page\n    uint256 start = page * size;\n\n    // If start index is greater than or equal to balance, return an empty array\n    if (start >= balance) {\n      return new TokenInfo[](0);\n    }\n\n    // Calculate the end index (exclusive)\n    uint256 end = start + size;\n    if (end > balance) {\n      end = balance; // Ensure the end index doesn't exceed the owner's balance\n    }\n\n    // Calculate the number of tokens to return\n    uint256 numTokens = end - start;\n\n    TokenInfo[] memory tokens = new TokenInfo[](numTokens);\n\n    for (uint256 i = 0; i < numTokens; i++) {\n      uint256 tokenIndex = start + i;\n      uint256 tokenId = tokenOfOwnerByIndex(owner, tokenIndex);\n      tokens[i] = getTokenInfoByTokenId(tokenId);\n    }\n\n    return tokens;\n  }\n\n  /// @dev Clock used for flagging checkpoints.\n  function clock() public view virtual returns (uint48) {\n    return Time.blockNumber();\n  }\n\n  /**\n   * @dev Returns the mode of the clock.\n   */\n  function CLOCK_MODE() public view virtual returns (string memory) {\n    return \"mode=blocknumber&from=default\";\n  }\n\n  // ---------- Overrides ---------- //\n\n  /// @notice Performs automatic level updating upon token updates\n  /// @dev Overrides the _update function to update the highest level owned by the owner\n  /// @param to The address to transfer the token to\n  /// @param tokenId The token ID to update\n  /// @param auth The address of the sender\n  function _update(\n    address to,\n    uint256 tokenId,\n    address auth\n  )\n    internal\n    override(ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721PausableUpgradeable)\n    whenNotPaused\n    returns (address)\n  {\n    require(getNodeIdAttached(tokenId) == 0, \"GalaxyMember: token attached to a node, detach before transfer\");\n\n    address _previousOwner = super._update(to, tokenId, auth);\n\n    // If the owner has no tokens, don't select any token\n    if (_previousOwner != address(0) && balanceOf(_previousOwner) == 0) {\n      _getGalaxyMemberStorage()._selectedTokenIDCheckpoints[_previousOwner].push(clock(), 0);\n    }\n\n    // If the owner transfers out the selected token, select the first token he owns\n    if (\n      _previousOwner != address(0) && getSelectedTokenId(_previousOwner) == tokenId && balanceOf(_previousOwner) > 0\n    ) {\n      _select(_previousOwner, tokenOfOwnerByIndex(_previousOwner, 0));\n    }\n\n    // If the new owner has only one token, select it\n    if (to != address(0) && balanceOf(to) == 1) {\n      _select(to, tokenOfOwnerByIndex(to, 0));\n    }\n\n    return _previousOwner;\n  }\n\n  /// @dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable\n  function _increaseBalance(\n    address account,\n    uint128 value\n  ) internal override(ERC721Upgradeable, ERC721EnumerableUpgradeable) {\n    super._increaseBalance(account, value);\n  }\n\n  /// @dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view override(ERC721Upgradeable, ERC721EnumerableUpgradeable, AccessControlUpgradeable) returns (bool) {\n    return super.supportsInterface(interfaceId);\n  }\n\n  /// @dev Overrides the _baseURI for ERC721URIStorageUpgradeable\n  function _baseURI() internal view override returns (string memory) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._baseTokenURI;\n  }\n}\n"},"contracts/deprecated/V5/GalaxyMemberV5.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\nimport \"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IB3TRGovernor } from \"../../interfaces/IB3TRGovernor.sol\";\nimport { IB3TR } from \"../../interfaces/IB3TR.sol\";\nimport { ITokenAuction } from \"../../mocks/Stargate/interfaces/ITokenAuction.sol\";\nimport { INodeManagementV3 } from \"../../mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { Time } from \"@openzeppelin/contracts/utils/types/Time.sol\";\n\n/**\n * @title GalaxyMemberV5\n * @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n * @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n *\n * --------------------------------- VERSION 2 ---------------------------------\n * - Added Vechain Nodes contract to attach and detach nodes to tokens\n * - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n * - Added free upgrade levels for each Vechain node level\n * - Removed automatic highest level owned selection\n * - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n * - Core logic functions are now overridable through inheritance\n * - B3TRGovernor has been updated to V2 thus pointing to the new interface\n * - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\n *\n * --------------------------------- VERSION 3 ---------------------------------\n * - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated())\n * - Added `selectFor` function to allow the admin to select a token for the user\n * - Added checkpoints for the selected token ID of the user\n * - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking\n *\n * --------------------------------- VERSION 4 ---------------------------------\n * - Added events to track the level of the token when attaching and detaching nodes\n *\n * --------------------------------- VERSION 5 ---------------------------------\n * - Upon StarGate launch, we updated the NodeManagement contract to V3\n * - Deprecated usage of vechainNodes contract address in favor of nodeManagement contract address, ie\n *   removed `setVechainNodes`\n *   updated `getNodeLevelOf` to use nodeManagement contract\n *   updated ownership conditions on `detachNode` to use nodeManagement contract\n */\ncontract GalaxyMemberV5 is\n  ERC721Upgradeable,\n  ERC721EnumerableUpgradeable,\n  ERC721PausableUpgradeable,\n  ERC721BurnableUpgradeable,\n  AccessControlUpgradeable,\n  ReentrancyGuardUpgradeable,\n  UUPSUpgradeable\n{\n  using Checkpoints for Checkpoints.Trace208; // Checkpoints library for managing checkpoints of the selected token ID of the user\n\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n  bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n  bytes32 public constant NODES_MANAGER_ROLE = keccak256(\"NODES_MANAGER_ROLE\");\n\n  /// @notice Storage structure for GalaxyMember\n  /// @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n  /// @custom:storage-location erc7201:b3tr.storage.GalaxyMember\n  struct GalaxyMemberStorage {\n    IXAllocationVotingGovernor xAllocationsGovernor; // XAllocationVotingGovernor contract\n    IB3TRGovernor b3trGovernor; // B3TRGovernor contract\n    IB3TR b3tr; // B3TR token contract\n    address treasury; // Treasury contract address\n    string _baseTokenURI; // Base URI for the Token\n    uint256 _nextTokenId; // Next Token ID to be minted\n    uint256 MAX_LEVEL; // Current Maximum level the Token can be minted or upgraded to\n    mapping(uint256 => uint256) levelOf; // Mapping from token ID to level of the Token\n    mapping(uint256 => uint256) _b3trToUpgradeToLevel; // Mapping from level to B3TR required to upgrade to that level\n    mapping(address owner => Checkpoints.Trace208) _selectedLevelCheckpoints; // Checkpoints for selected level of the user\n    mapping(address => mapping(uint256 => uint256)) _ownedLevels; // Value-Frequency map tracking levels owned by users\n    bool isPublicMintingPaused; // Flag to pause public minting\n    // --------------------------- V2 Additions --------------------------- //\n    ITokenAuction vechainNodes; // Vechain Nodes contract\n    INodeManagementV3 nodeManagement; // Node Management contract\n    mapping(uint256 => uint256) _nodeToTokenId; // Mapping from Vechain node ID to GalaxyMember Token ID. Used to track the XNode tied to the GM token ID\n    mapping(uint256 => uint256) _tokenIdToNode; // Mapping from GalaxyMember Token ID to Vechain node ID. Used to track the GM token ID tied to the XNode token ID\n    mapping(uint8 => uint256) _nodeToFreeUpgradeLevel; // Mapping from Vechain node level to GalaxyMember level. Used to track the GM level that can be upgraded for free for a given Vechain node level\n    mapping(uint256 => uint256) _tokenIdToB3TRdonated; // Mapping from GM Token ID to B3TR donated for upgrading\n    mapping(address => uint256) _selectedTokenID_DEPRECATED; // Mapping from user address to selected GM token ID - DEPRECATED IN FAVOUR OF CHECKPOINTS\n    // --------------------------- V3 Additions --------------------------- //\n    mapping(address => Checkpoints.Trace208) _selectedTokenIDCheckpoints; // Checkpoints for selected GM token ID of the user\n  }\n\n  /// @notice Storage slot for GalaxyMemberStorage\n  /// @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant GalaxyMemberStorageLocation =\n    0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200;\n\n  /// @dev Retrieves the current state from the GalaxyMemberStorage mapping\n  function _getGalaxyMemberStorage() private pure returns (GalaxyMemberStorage storage $) {\n    assembly {\n      $.slot := GalaxyMemberStorageLocation\n    }\n  }\n\n  /// @dev Emitted when an account changes the selected token for voting rewards.\n  event Selected(address indexed owner, uint256 tokenId);\n\n  /// @dev Emitted when a token is upgraded.\n  event Upgraded(uint256 indexed tokenId, uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when the max level is updated.\n  event MaxLevelUpdated(uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when XAllocationVotingGovernor contract address is updated\n  event XAllocationsGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when B3TRGovernor contract address is updated\n  event B3trGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when base URI is updated\n  event BaseURIUpdated(string indexed newBaseURI, string indexed oldBaseURI);\n\n  /// @dev Emitted when B3TR required to upgrade to each level is updated\n  event B3TRtoUpgradeToLevelUpdated(uint256[] b3trToUpgradeToLevel);\n\n  /// @dev Emitted when public minting is paused\n  event PublicMintingPaused(bool isPaused);\n\n  /// @dev Emitted when a node is attached to a token\n  event NodeAttached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @dev Emitted when a node is detached from a token\n  event NodeDetached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @dev Emitted when node is attached to a token\n  event LevelWhenAttached(uint256 indexed tokenId, uint256 indexed nodeTokenId, uint256 level);\n\n  /// @dev Emitted when node is detached from a token\n  event LevelWhenDetached(uint256 indexed tokenId, uint256 indexed nodeTokenId, uint256 level);\n\n  /// @notice Modifier to check if public minting is not paused\n  modifier whenPublicMintingNotPaused() {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(!$.isPublicMintingPaused, \"Galaxy Member: Public minting is paused\");\n    _;\n  }\n\n  /// @notice Ensures only initializer functions are called when deploying a proxy\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Data for initializing the contract\n  /// @param name Name of the ERC721 token\n  /// @param symbol Symbol of the ERC721 token\n  /// @param admin Address to grant the admin role\n  /// @param upgrader Address to grant the upgrader role\n  /// @param pauser Address to grant the pauser role\n  /// @param minter Address to grant the minter role\n  /// @param contractsAddressManager Address that can update external contracts address\n  /// @param maxLevel Maximum level tokens can achieve\n  /// @param baseTokenURI Base URI for computing {tokenURI}\n  /// @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n  /// @param _b3tr B3TR token contract address\n  /// @param _treasury Address of the treasury\n  struct InitializationData {\n    string name;\n    string symbol;\n    address admin;\n    address upgrader;\n    address pauser;\n    address minter;\n    address contractsAddressManager;\n    uint256 maxLevel;\n    string baseTokenURI;\n    uint256[] b3trToUpgradeToLevel;\n    address b3tr;\n    address treasury;\n  }\n\n  /// @notice Initializes a new GalaxyMember contract\n  /// @dev Sets initial values for all relevant contract properties and state variables.\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  function initialize(InitializationData memory data) external initializer {\n    require(data.maxLevel > 0, \"Galaxy Member: Max level must be greater than 0\");\n    require(bytes(data.baseTokenURI).length > 0, \"Galaxy Member: Base URI must be set\");\n    require(data.b3tr != address(0), \"Galaxy Member: B3TR token address cannot be the zero address\");\n    require(data.treasury != address(0), \"Galaxy Member: Treasury address cannot be the zero address\");\n    require(\n      data.b3trToUpgradeToLevel.length >= data.maxLevel - 1,\n      \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\"\n    );\n\n    __ERC721_init(data.name, data.symbol);\n    __ERC721Enumerable_init();\n    __ERC721Pausable_init();\n    __ERC721Burnable_init();\n    __AccessControl_init();\n    __ReentrancyGuard_init();\n    __UUPSUpgradeable_init();\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $._baseTokenURI = data.baseTokenURI;\n\n    for (uint256 i = 0; i < data.b3trToUpgradeToLevel.length; i++) {\n      require(data.b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be greater than 0\");\n      $._b3trToUpgradeToLevel[i + 2] = data.b3trToUpgradeToLevel[i]; // First Level that requires B3TR is level 2\n    }\n\n    $.MAX_LEVEL = data.maxLevel;\n\n    $.b3tr = IB3TR(data.b3tr);\n    $.treasury = data.treasury;\n\n    require(data.admin != address(0), \"Galaxy Member: Admin address cannot be the zero address\");\n    _grantRole(DEFAULT_ADMIN_ROLE, data.admin);\n    _grantRole(UPGRADER_ROLE, data.upgrader);\n    _grantRole(PAUSER_ROLE, data.pauser);\n    _grantRole(MINTER_ROLE, data.minter);\n    _grantRole(CONTRACTS_ADDRESS_MANAGER_ROLE, data.contractsAddressManager);\n  }\n\n  /// @notice Initializes a new GalaxyMember contract\n  /// @dev Sets initial values for all relevant contract properties and state variables.\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  function initializeV2(\n    address _vechainNodes,\n    address _nodesMangaement,\n    address _nodesAdmin,\n    uint256[] memory _nodeFreeLevels\n  ) external reinitializer(2) {\n    require(_nodeFreeLevels.length == 8, \"GalaxyMember: invalid node free levels. Must be 7 levels\");\n    require(_vechainNodes != address(0), \"GalaxyMember: _vechainNodes cannot be the zero address\");\n    require(_nodesMangaement != address(0), \"GalaxyMember: _nodesMangaement cannot be the zero address\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $.vechainNodes = ITokenAuction(_vechainNodes);\n    $.nodeManagement = INodeManagementV3(_nodesMangaement);\n\n    $._nextTokenId = $._nextTokenId == 0 ? 1 : $._nextTokenId;\n\n    for (uint8 i; i < _nodeFreeLevels.length; i++) {\n      require(_nodeFreeLevels[i] >= 1, \"GalaxyMember: invalid node free level\");\n      $._nodeToFreeUpgradeLevel[i] = _nodeFreeLevels[i];\n    }\n\n    _grantRole(NODES_MANAGER_ROLE, _nodesAdmin);\n  }\n\n  /// @notice Internal function to authorize contract upgrades\n  /// @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n  /// @param newImplementation Address of the new contract implementation\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n\n  /// @notice Pauses the Galaxy Member contract\n  /// @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n  /// @dev Only callable by the pauser role\n  function pause() public virtual onlyRole(PAUSER_ROLE) {\n    _pause();\n  }\n\n  /// @notice Unpauses the Galaxy Member contract\n  /// @dev Only callable by the pauser role\n  function unpause() public virtual onlyRole(PAUSER_ROLE) {\n    _unpause();\n  }\n\n  /// @notice Allows a user to freely mint a token if they have participated in governance\n  /// @dev Mints a token with level 1 and ensures that the public minting is not paused\n  function freeMint() public virtual whenPublicMintingNotPaused {\n    require(participatedInGovernance(msg.sender), \"Galaxy Member: User has not participated in governance\");\n\n    safeMint(msg.sender);\n  }\n\n  /// @notice Upgrades a token to the next level\n  /// @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n  /// @param tokenId Token ID to upgrade\n  function upgrade(uint256 tokenId) public virtual nonReentrant whenNotPaused {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: you must own the Token to upgrade it\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 currentLevel = levelOf(tokenId);\n\n    require(currentLevel < MAX_LEVEL(), \"Galaxy Member: Token is already at max level\");\n\n    uint256 b3trRequired = getB3TRtoUpgrade(tokenId);\n\n    require($.b3tr.balanceOf(msg.sender) >= b3trRequired, \"Galaxy Member: Insufficient balance to upgrade\");\n\n    require(\n      $.b3tr.allowance(msg.sender, address(this)) >= b3trRequired,\n      \"Galaxy Member: Insufficient allowance to upgrade\"\n    );\n\n    $._tokenIdToB3TRdonated[tokenId] += b3trRequired;\n\n    require($.b3tr.transferFrom(msg.sender, $.treasury, b3trRequired), \"GalaxyMember: Transfer failed\");\n\n    emit Upgraded(tokenId, currentLevel, levelOf(tokenId));\n  }\n\n  /// @notice Allows the user to select a token for voting rewards multiplier\n  /// @param tokenID Token ID to select\n  function select(uint256 tokenID) public virtual {\n    _select(msg.sender, tokenID);\n  }\n\n  /// @notice Allows the admin to select a token for the user\n  /// @param owner The address of the owner to check\n  function selectFor(address owner, uint256 tokenID) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    _select(owner, tokenID);\n  }\n\n  /// @notice selects the specified token for the user\n  /// @param owner The address of the owner to check\n  /// @param tokenId the token ID to select\n  function _select(address owner, uint256 tokenId) internal virtual {\n    require(ownerOf(tokenId) == owner, \"Galaxy Member: caller is not the owner of the token\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $._selectedTokenIDCheckpoints[owner].push(clock(), SafeCast.toUint208(tokenId));\n\n    emit Selected(owner, tokenId);\n  }\n\n  /// @notice Allows the token owner to burn their token\n  /// @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n  /// @param tokenId Token ID to burn\n  function burn(uint256 tokenId) public virtual override(ERC721BurnableUpgradeable) {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: caller is not the owner of the token\");\n\n    super.burn(tokenId);\n  }\n\n  // ------------------------------- VECHAIN NODES FUNCTIONS ------------------------------- //\n\n  function attachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(ownerOf(tokenId) == msg.sender, \"GalaxyMember: token not owned by caller\");\n    require(\n      $.nodeManagement.getNodeManager(nodeTokenId) == msg.sender,\n      \"GalaxyMember: vechain node not owned or managed by caller\"\n    );\n    require(getIdAttachedToNode(nodeTokenId) == 0, \"GalaxyMember: node already attached to a token\");\n    require(getNodeIdAttached(tokenId) == 0, \"GalaxyMember: token already attached to a node\");\n\n    $._nodeToTokenId[nodeTokenId] = tokenId;\n    $._tokenIdToNode[tokenId] = nodeTokenId;\n\n    emit NodeAttached(nodeTokenId, tokenId);\n\n    // Get the level of the token after attaching the node\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeTokenId);\n    emit LevelWhenAttached(tokenId, nodeTokenId, level);\n  }\n\n  function detachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(\n      ownerOf(tokenId) == msg.sender ||\n        $.nodeManagement.getNodeManager(nodeTokenId) == msg.sender ||\n        $.nodeManagement.getNodeOwner(nodeTokenId) == msg.sender,\n      \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\"\n    );\n    require(getIdAttachedToNode(nodeTokenId) == tokenId, \"GalaxyMember: node not attached to the token\");\n    require(getNodeIdAttached(tokenId) == nodeTokenId, \"GalaxyMember: token not attached to the node\");\n\n    delete $._nodeToTokenId[nodeTokenId];\n    delete $._tokenIdToNode[tokenId];\n\n    emit NodeDetached(nodeTokenId, tokenId);\n\n    // Get the level of the token after detaching the node\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, 0);\n    emit LevelWhenDetached(tokenId, nodeTokenId, level);\n  }\n\n  // ----------- Internal & Private ----------- //\n\n  /// @notice Internal function to safely mint a token\n  /// @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n  /// @param to Address to mint the token to\n  function safeMint(address to) internal virtual {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 tokenId = $._nextTokenId++;\n    _safeMint(to, tokenId);\n  }\n\n  // ---------- Setters ---------- //\n\n  /// @notice Sets the maximum level that tokens can be minted or upgraded to\n  /// @dev Only callable by the admin role\n  function setMaxLevel(uint256 level) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level > $.MAX_LEVEL, \"Galaxy Member: Max level must be greater than the current max level\");\n\n    // First Level that requires B3TR is level 2\n    for (uint256 i = 2; i <= level; i++) {\n      require($._b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\"); // Require all levels til the new max level to have a B3TR requirement\n    }\n\n    uint256 oldLevel = $.MAX_LEVEL;\n\n    $.MAX_LEVEL = level;\n\n    emit MaxLevelUpdated(oldLevel, level);\n  }\n\n  /// @notice Sets the XAllocationVotingGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _xAllocationsGovernor XAllocationVotingGovernor contract address\n  function setXAllocationsGovernorAddress(\n    address _xAllocationsGovernor\n  ) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_xAllocationsGovernor != address(0), \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit XAllocationsGovernorAddressUpdated(_xAllocationsGovernor, address($.xAllocationsGovernor));\n    $.xAllocationsGovernor = IXAllocationVotingGovernor(_xAllocationsGovernor);\n  }\n\n  /// @notice Sets the B3TRGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _b3trGovernor B3TRGovernor contract address\n  function setB3trGovernorAddress(address _b3trGovernor) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_b3trGovernor != address(0), \"Galaxy Member: _b3trGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit B3trGovernorAddressUpdated(_b3trGovernor, address($.b3trGovernor));\n    $.b3trGovernor = IB3TRGovernor(payable(_b3trGovernor));\n  }\n\n  /// @notice Sets the base URI for computing the tokenURI\n  /// @dev Only callable by the admin role\n  /// @param baseTokenURI Base URI for the Token\n  function setBaseURI(string memory baseTokenURI) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    require(bytes(baseTokenURI).length > 0, \"Galaxy Member: Base URI must be set\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit BaseURIUpdated(baseTokenURI, $._baseTokenURI);\n    $._baseTokenURI = baseTokenURI;\n  }\n\n  /// @notice Sets the amount of B3TR required to upgrade to each level\n  /// @dev Only callable by the admin role\n  /// @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n  function setB3TRtoUpgradeToLevel(uint256[] memory b3trToUpgradeToLevel) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    for (uint256 i; i < b3trToUpgradeToLevel.length; i++) {\n      require(b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be greater than 0\");\n      $._b3trToUpgradeToLevel[i + 2] = b3trToUpgradeToLevel[i]; // First Level that requires B3TR is level 2\n    }\n    emit B3TRtoUpgradeToLevelUpdated(b3trToUpgradeToLevel);\n  }\n\n  /// @notice Pauses public minting\n  /// @dev Only callable by the admin role\n  /// @param isPaused Flag to pause or unpause public minting\n  function setIsPublicMintingPaused(bool isPaused) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit PublicMintingPaused(isPaused);\n    $.isPublicMintingPaused = isPaused;\n  }\n\n  /// @notice Sets the treasury contract address\n  /// @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n  /// @param level new free upgrade level\n  function setNodeToFreeUpgradeLevel(uint8 nodeLevel, uint256 level) public virtual onlyRole(NODES_MANAGER_ROLE) {\n    require(level >= 1, \"GalaxyMember: invalid level\");\n    require(nodeLevel >= 1, \"GalaxyMember: invalid node level\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level <= $.MAX_LEVEL, \"GalaxyMember: level must be less than or equal to MAX_LEVEL\");\n\n    $._nodeToFreeUpgradeLevel[nodeLevel] = level;\n  }\n\n  // ---------- Getters ---------- //\n\n  /// @notice Gets the level of the GM token\n  /// @param tokenId Token ID to check\n  function levelOf(uint256 tokenId) public view virtual returns (uint256) {\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    return level;\n  }\n\n  /// @notice Gets the B3TR required to upgrade to the next level\n  /// @param tokenId Token ID to check\n  function getB3TRtoUpgrade(uint256 tokenId) public view virtual returns (uint256) {\n    if (_ownerOf(tokenId) == address(0)) return 0;\n\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    // Get the level of the token and the B3TR donated left to upgrade\n    (uint256 currentLevel, uint256 b3trDonatedLeft) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    // If the current level is the max level, return 0\n    if (currentLevel == MAX_LEVEL()) {\n      return 0;\n    }\n\n    // Get the B3TR required to upgrade to the next level by subtracting the B3TR donated left from the B3TR required to upgrade to the next level\n    return getB3TRtoUpgradeToLevel(currentLevel + 1) - b3trDonatedLeft;\n  }\n\n  /// @notice Gets the level of the GM token and the B3TR Donated left to upgrade\n  /// @param tokenId Token ID to check\n  /// @return level The level of the token\n  /// @return b3trDonatedLeft The B3TR donated left to upgrade\n  function _getLevelOfAndB3TRleft(uint256 tokenId, uint256 nodeId) internal view virtual returns (uint256, uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    // Default level is 1 if the token is not attached to a node or the token has not been upgraded\n    uint256 level = 1;\n\n    // if the token is attached to a node and the node is managed by the caller\n    if (nodeId != 0 && $.nodeManagement.getNodeManager(nodeId) == ownerOf(tokenId)) {\n      // Get the level of the node (i.e., Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n      uint8 nodeLevel = getNodeLevelOf(nodeId);\n\n      // If the node level is not 0 (i.e., None)\n      if (nodeLevel != 0) {\n        // Get the level of the token that can be upgraded for free\n        uint256 nodeToFreeLevel = getNodeToFreeLevel(nodeLevel);\n\n        // If the free upgrade level is greater than the current max level, set the level to the max level\n        level = nodeToFreeLevel <= $.MAX_LEVEL ? nodeToFreeLevel : $.MAX_LEVEL;\n      }\n    }\n\n    // Initialise the B3TR donated which keeps track of the B3TR left after upgrading the token\n    uint256 b3trDonatedLeft = $._tokenIdToB3TRdonated[tokenId];\n\n    // Loop through the levels starting from the current level and check if the B3TR donated is enough to upgrade to the next level\n    for (uint256 i = level + 1; i <= $.MAX_LEVEL; i++) {\n      if (b3trDonatedLeft >= $._b3trToUpgradeToLevel[i]) {\n        level = i;\n        b3trDonatedLeft -= $._b3trToUpgradeToLevel[i];\n      } else {\n        // If the B3TR donated is not enough to upgrade to the next level, break the loop\n        break;\n      }\n    }\n\n    // Return the level and the B3TR donated left.\n    return (level, b3trDonatedLeft);\n  }\n\n  /// @notice Gets the strength level of the Vechain node\n  /// @param nodeId Vechain Node Token ID\n  function getNodeLevelOf(uint256 nodeId) public view virtual returns (uint8) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    return $.nodeManagement.getNodeLevel(nodeId);\n  }\n\n  /// @notice Gets the selected token ID for the user\n  /// @param owner The address of the owner to check\n  function getSelectedTokenId(address owner) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._selectedTokenIDCheckpoints[owner].latest();\n  }\n\n  /// @notice Gets the selected token ID for the user in a specific block number\n  /// @param owner The address of the owner to check\n  /// @param blockNumber The block number to check\n  function getSelectedTokenIdAtBlock(address owner, uint48 blockNumber) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._selectedTokenIDCheckpoints[owner].upperLookupRecent(blockNumber);\n  }\n\n  /// @notice Gets the level of the token after attaching a node\n  /// @param tokenId - GM Token ID\n  /// @param nodeTokenId - Vechain Node Token ID\n  function getLevelAfterAttachingNode(uint256 tokenId, uint256 nodeTokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeTokenId);\n\n    return level;\n  }\n\n  /// @notice Gets the level of the token after detaching a node\n  /// @param tokenId - GM Token ID\n  function getLevelAfterDetachingNode(uint256 tokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, 0);\n\n    return level;\n  }\n\n  /// @notice Gets whether the user has participated in governance\n  /// @param user The address of the user to check\n  function participatedInGovernance(address user) public view virtual returns (bool) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(\n      $.xAllocationsGovernor != IXAllocationVotingGovernor(address(0)),\n      \"Galaxy Member: XAllocationVotingGovernor not set\"\n    );\n    require($.b3trGovernor != IB3TRGovernor(payable(address(0))), \"Galaxy Member: B3TRGovernor not set\");\n\n    if ($.xAllocationsGovernor.hasVotedOnce(user) || $.b3trGovernor.hasVotedOnce(user)) {\n      return true;\n    }\n\n    return false;\n  }\n\n  /// @notice Gets the base URI for computing the tokenURI\n  function baseURI() public view virtual returns (string memory) {\n    return _baseURI();\n  }\n\n  /// @notice Gets the B3TR required to upgrade to a specific level\n  /// @param level Level to upgrade to\n  function getB3TRtoUpgradeToLevel(uint256 level) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._b3trToUpgradeToLevel[level];\n  }\n\n  /// @notice gets the token URI for a specific token\n  /// @dev computes the token URI based on the base URI and the level of the token\n  /// @param tokenId Token ID to get the URI for\n  function tokenURI(uint256 tokenId) public view virtual override(ERC721Upgradeable) returns (string memory) {\n    if (_ownerOf(tokenId) == address(0)) return \"\";\n\n    uint256 levelOfToken = levelOf(tokenId);\n    return levelOfToken > 0 ? string.concat(baseURI(), Strings.toString(levelOfToken), \".json\") : \"\";\n  }\n\n  /// @notice Gets the xAllocationsGovernor contract address\n  function xAllocationsGovernor() external view returns (IXAllocationVotingGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.xAllocationsGovernor;\n  }\n\n  /// @notice Gets the b3trGovernor contract address\n  function b3trGovernor() external view returns (IB3TRGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3trGovernor;\n  }\n\n  /// @notice Gets the B3TR token contract address\n  function b3tr() external view returns (IB3TR) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3tr;\n  }\n\n  /// @notice Gets the treasury contract address\n  function treasury() external view returns (address) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.treasury;\n  }\n\n  /// @notice Gets the maximum level that tokens can be minted or upgraded to\n  function MAX_LEVEL() public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.MAX_LEVEL;\n  }\n\n  /// @notice Get the GM Token ID attached to the Vechain Node Token ID\n  /// @param nodeId Vechain node Token ID\n  function getIdAttachedToNode(uint256 nodeId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._nodeToTokenId[nodeId];\n  }\n\n  /// @notice Get the Vechain Node Token ID attached to the GM Token ID\n  /// @param tokenId GM Token ID\n  function getNodeIdAttached(uint256 tokenId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._tokenIdToNode[tokenId];\n  }\n\n  /// @notice Get the GM level that can be upgraded for free for a given Vechain node level\n  /// @param nodeLevel Vechain node level\n  function getNodeToFreeLevel(uint8 nodeLevel) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._nodeToFreeUpgradeLevel[nodeLevel];\n  }\n\n  /// @notice Get the B3TR donated for upgrading a token\n  /// @param tokenId Token ID to check\n  function getB3TRdonated(uint256 tokenId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._tokenIdToB3TRdonated[tokenId];\n  }\n\n  /// @notice Retrieves the current version of the contract\n  /// @dev This function is used to identify the version of the contract and should be updated in each new version\n  /// @return string The version of the contract\n  function version() external pure virtual returns (string memory) {\n    return \"5\";\n  }\n\n  struct TokenInfo {\n    uint256 tokenId;\n    string tokenURI;\n    uint256 tokenLevel;\n    uint256 b3trToUpgrade;\n  }\n\n  /// @notice Gets the token info by token ID\n  /// @param tokenId Token ID to get the info for\n  /// @return TokenInfo The token info\n  function getTokenInfoByTokenId(uint256 tokenId) public view virtual returns (TokenInfo memory) {\n    // Check if the token ID exists\n    require(_ownerOf(tokenId) != address(0), \"GalaxyMember: tokenId doesn't exist\");\n\n    TokenInfo memory tokenInfo;\n    tokenInfo.tokenId = tokenId;\n    tokenInfo.tokenURI = tokenURI(tokenId);\n    tokenInfo.tokenLevel = levelOf(tokenId);\n    tokenInfo.b3trToUpgrade = getB3TRtoUpgrade(tokenId);\n    return tokenInfo;\n  }\n\n  /// @notice Gets the selected token info for an address\n  /// @param owner The address of the owner to check\n  /// @return TokenInfo The selected token info\n  function getSelectedTokenInfoByOwner(address owner) public view returns (TokenInfo memory) {\n    uint256 tokenId = getSelectedTokenId(owner);\n    return getTokenInfoByTokenId(tokenId);\n  }\n\n  /// @notice Gets the tokens owned by an address\n  /// @param owner The address of the owner to check\n  /// @param page The page number to fetch\n  /// @param size The number of tokens to fetch (cannot exceed 100)\n  /// @return TokenInfo[] The tokens owned by the address\n  function getTokensInfoByOwner(address owner, uint256 page, uint256 size) public view returns (TokenInfo[] memory) {\n    // Ensure size is not 0\n    if (size == 0) {\n      revert(\"GalaxyMember: Invalid size, cannot be 0\");\n    }\n\n    // Maximum number of tokens to fetch per page\n    uint256 MAX_PAGINATION_SIZE = 100;\n\n    // Ensure size is not greater than the maximum allowed value\n    if (size > MAX_PAGINATION_SIZE) {\n      revert(\n        string(\n          abi.encodePacked(\"GalaxyMember: Invalid size, cannot be greater than \", Strings.toString(MAX_PAGINATION_SIZE))\n        )\n      );\n    }\n\n    uint256 balance = balanceOf(owner); // Get the number of tokens owned by the address\n\n    // Calculate the starting index for the current page\n    uint256 start = page * size;\n\n    // If start index is greater than or equal to balance, return an empty array\n    if (start >= balance) {\n      return new TokenInfo[](0);\n    }\n\n    // Calculate the end index (exclusive)\n    uint256 end = start + size;\n    if (end > balance) {\n      end = balance; // Ensure the end index doesn't exceed the owner's balance\n    }\n\n    // Calculate the number of tokens to return\n    uint256 numTokens = end - start;\n\n    TokenInfo[] memory tokens = new TokenInfo[](numTokens);\n\n    for (uint256 i = 0; i < numTokens; i++) {\n      uint256 tokenIndex = start + i;\n      uint256 tokenId = tokenOfOwnerByIndex(owner, tokenIndex);\n      tokens[i] = getTokenInfoByTokenId(tokenId);\n    }\n\n    return tokens;\n  }\n\n  /// @dev Clock used for flagging checkpoints.\n  function clock() public view virtual returns (uint48) {\n    return Time.blockNumber();\n  }\n\n  /**\n   * @dev Returns the mode of the clock.\n   */\n  function CLOCK_MODE() public view virtual returns (string memory) {\n    return \"mode=blocknumber&from=default\";\n  }\n\n  // ---------- Overrides ---------- //\n\n  /// @notice Performs automatic level updating upon token updates\n  /// @dev Overrides the _update function to update the highest level owned by the owner\n  /// @param to The address to transfer the token to\n  /// @param tokenId The token ID to update\n  /// @param auth The address of the sender\n  function _update(\n    address to,\n    uint256 tokenId,\n    address auth\n  )\n    internal\n    override(ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721PausableUpgradeable)\n    whenNotPaused\n    returns (address)\n  {\n    require(getNodeIdAttached(tokenId) == 0, \"GalaxyMember: token attached to a node, detach before transfer\");\n\n    address _previousOwner = super._update(to, tokenId, auth);\n\n    // If the owner has no tokens, don't select any token\n    if (_previousOwner != address(0) && balanceOf(_previousOwner) == 0) {\n      _getGalaxyMemberStorage()._selectedTokenIDCheckpoints[_previousOwner].push(clock(), 0);\n    }\n\n    // If the owner transfers out the selected token, select the first token he owns\n    if (\n      _previousOwner != address(0) && getSelectedTokenId(_previousOwner) == tokenId && balanceOf(_previousOwner) > 0\n    ) {\n      _select(_previousOwner, tokenOfOwnerByIndex(_previousOwner, 0));\n    }\n\n    // If the new owner has only one token, select it\n    if (to != address(0) && balanceOf(to) == 1) {\n      _select(to, tokenOfOwnerByIndex(to, 0));\n    }\n\n    return _previousOwner;\n  }\n\n  /// @dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable\n  function _increaseBalance(\n    address account,\n    uint128 value\n  ) internal override(ERC721Upgradeable, ERC721EnumerableUpgradeable) {\n    super._increaseBalance(account, value);\n  }\n\n  /// @dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view override(ERC721Upgradeable, ERC721EnumerableUpgradeable, AccessControlUpgradeable) returns (bool) {\n    return super.supportsInterface(interfaceId);\n  }\n\n  /// @dev Overrides the _baseURI for ERC721URIStorageUpgradeable\n  function _baseURI() internal view override returns (string memory) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._baseTokenURI;\n  }\n}\n"},"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { IERC165 } from \"@openzeppelin/contracts/interfaces/IERC165.sol\";\nimport { IERC6372 } from \"@openzeppelin/contracts/interfaces/IERC6372.sol\";\n\n/**\n * @dev Interface of the distribution allocation voting for the x-allocation pool reward distributions.\n * This interface was forked from OpenZeppelin's IGovernor.sol and modified to fit the needs of a voting mechanism\n * where a user can vote on multpile x-apps belonging to the ecosystem and fractionalize their votes accross the x-apps.\n *\n * There can be only one round per time.\n * After the round is created  it becomes immediately active.\n * There can be only two possible outcomes of a round: it succeeds or it fails.\n * To succeed the only requirement is that the quorum is reached.\n *\n * New allocation rounds can be started only by the Emissions contract, this way we can align the duration\n * of emission cycles and allocation rounds.\n *\n * If the round fails, we will need to “finalize” it, which means we will create a pointer to the last succeeded round\n * where shares should be calculated. Anyone can finalize the failed round,\n * but it will be automatically done when a new round starts.\n */\ninterface IXAllocationVotingGovernorV7 is IERC165, IERC6372 {\n  enum RoundState {\n    Active,\n    Failed,\n    Succeeded\n  }\n\n  /**\n   * @dev The vote was already cast.\n   */\n  error GovernorAlreadyCastVote(address voter);\n\n  /**\n   * @dev The `account` is not the governance executor.\n   */\n  error B3TRGovernorOnlyExecutor(address account);\n\n  /**\n   * @dev The `roundId` doesn't exist.\n   */\n  error GovernorNonexistentRound(uint256 roundId);\n\n  /**\n   * @dev The current state of a round is not the required for performing an operation.\n   * The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position\n   * counting from right to left.\n   *\n   * NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist).\n   * This is the case when a round that is expected to be unset is already initiated (the round is duplicated).\n   *\n   * See {Governor-_encodeStateBitmap}.\n   */\n  error GovernorUnexpectedRoundState(uint256 roundId, RoundState current, bytes32 expectedStates);\n\n  /**\n   * @dev The voting period set is not a valid period.\n   */\n  error GovernorInvalidVotingPeriod(uint256 votingPeriod);\n\n  /**\n   * @dev The `appId` is not present in the list with the available x-apps for voting in this round.\n   */\n  error GovernorAppNotAvailableForVoting(bytes32 appId);\n\n  /**\n   * @dev The `votingThreshold` is not met.\n   */\n  error GovernorVotingThresholdNotMet(uint256 threshold, uint256 votes);\n\n  /**\n   * @dev The `voter` has insufficient voting power for this round to cast the votes.\n   */\n  error GovernorInsufficientVotingPower();\n\n  /**\n   * The `voter` is not identified as a person via the VeBetterPassport.\n   */\n  error GovernorPersonhoodVerificationFailed(address person, string reason);\n\n  /**\n   * @dev The `person` is not identified as a person via the VeBetterPassport.\n   */\n  error XAllocationVotingPersonhoodVerificationFailed(address person);\n\n  /**\n   * @dev Emitted when a round is created.\n   */\n  event RoundCreated(uint256 roundId, address proposer, uint256 voteStart, uint256 voteEnd, bytes32[] appsIds);\n\n  /**\n   * @dev Emitted when votes are cast.\n   *\n   */\n  event AllocationVoteCast(address indexed voter, uint256 indexed roundId, bytes32[] appsIds, uint256[] voteWeights);\n\n  /**\n   * @notice module:core\n   * @dev Name of the governor instance (used in building the ERC712 domain separator).\n   */\n  function name() external view returns (string memory);\n\n  /**\n   * @notice module:core\n   * @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"\n   */\n  function version() external view returns (string memory);\n\n  /**\n   * @notice module:voting\n   * @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n   * be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n   * key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n   *\n   * There are 2 standard keys: `support` and `quorum`.\n   *\n   * - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n   * - `support=x-allocations` refers to the fractionalized vote for each x-application.\n   * - `quorum=bravo` means that only For votes are counted towards quorum.\n   * - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n   * - `quorum=auto` means that the contract defines the logic for counting the quorum.\n   *\n   * If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique\n   * name that describes the behavior. For example:\n   *\n   * - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n   * - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n   *\n   * NOTE: The string can be decoded by the standard\n   * https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n   * JavaScript class.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function COUNTING_MODE() external view returns (string memory);\n\n  /**\n   * @notice module:core\n   * @dev Current state of a round\n   */\n  function state(uint256 roundId) external view returns (RoundState);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n   * snapshot is performed at the end of this block. Hence, voting for this round starts at the beginning of the\n   * following block.\n   */\n  function roundSnapshot(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n   * possible to cast a vote during this block.\n   */\n  function roundDeadline(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The account that created a round.\n   */\n  function roundProposer(uint256 roundId) external view returns (address);\n\n  /**\n   * @notice module:user-config\n   * @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n   * (see EIP-6372) this contract uses.\n   *\n   *\n   * NOTE: This value is stored when the round is submitted so that possible changes to the value do not affect\n   * proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n   * interface returns a uint256, the value it returns should fit in a uint32.\n   */\n  function votingPeriod() external view returns (uint256);\n\n  /**\n   * @notice module:user-config\n   * @dev Minimum number of cast voted required for a round to be successful.\n   *\n   * NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n   * quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\n   */\n  function quorum(uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:user-config\n   * @dev Minimum number of cast voted required for a round to be successful.\n   *\n   * NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\n   */\n  function roundQuorum(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Voting power of an `account` at a specific `timepoint`.\n   *\n   * Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n   * multiple), {ERC20Votes} tokens.\n   */\n  function getVotes(address account, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Total number of votes cast in an allocation round.\n   */\n  function totalVotes(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Total number of voters in an allocation round.\n   */\n  function totalVoters(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Number of votes cast for a specific app in an allocation round.\n   */\n  function getAppVotes(uint256 roundId, bytes32 appId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\n   */\n  function getAppVotesQF(uint256 roundId, bytes32 app) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\n   */\n  function totalVotesQF(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:voting\n   * @dev Returns whether `account` has cast a vote on `roundId`.\n   */\n  function hasVoted(uint256 roundId, address account) external view returns (bool);\n\n  /**\n   * @dev Create a new allocation round (round). Vote starts immediatly and lasts for a\n   * duration specified by {votingPeriod}.\n   *\n   * Emits a {RoundCreated} event.\n   */\n  function startNewRound() external returns (uint256 roundId);\n\n  /**\n   * @dev Cast multiple votes at once\n   *\n   * Emits a {AllocationVoteCast} event.\n   */\n  function castVote(uint256 roundId, bytes32[] memory appsIds, uint256[] memory voteWeights) external;\n\n  /**\n   * @dev Returns the current allocation round round.\n   */\n  function currentRoundId() external view returns (uint256);\n\n  /**\n   * @dev Returns the current allocation round block when it starts.\n   */\n  function currentRoundSnapshot() external view returns (uint256);\n\n  /**\n   * @dev Returns the current allocation round block when it ends.\n   */\n  function currentRoundDeadline() external view returns (uint256);\n\n  /**\n   * @dev Returns if quorum was reached for a specific round.\n   */\n  function quorumReached(uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Returns the ids of apps that are available for voting in a specific round.\n   */\n  function getAppIdsOfRound(uint256 roundId) external view returns (bytes32[] memory);\n\n  /**\n   * @dev Returns if an app can be voted in a specific round.\n   */\n  function isEligibleForVote(bytes32 appId, uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Checks if the state of the round is {RoundState.Active}.\n   */\n  function isActive(uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Returns the id of the last round that succeeded.\n   */\n  function latestSucceededRoundId(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Returns true if an account has voted at least one time in any round.\n   */\n  function hasVotedOnce(address user) external view returns (bool);\n\n  /**\n   * @dev Returns the base allocation percentage for funds distribution in a round.\n   */\n  function getRoundBaseAllocationPercentage(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Returns the max amount of shares an app can get in a round.\n   */\n  function getRoundAppSharesCap(uint256 roundId) external view returns (uint256);\n}\n"},"contracts/deprecated/V7/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV7 } from \"../XAllocationVotingGovernorV7.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { IEmissions } from \"../../../../interfaces/IEmissions.sol\";\nimport { IX2EarnApps } from \"../../../../interfaces/IX2EarnApps.sol\";\nimport { IVoterRewards } from \"../../../../interfaces/IVoterRewards.sol\";\nimport { IVeBetterPassport } from \"../../../../interfaces/IVeBetterPassport.sol\";\nimport { IB3TRGovernor } from \"../../../../interfaces/IB3TRGovernor.sol\";\n\n/**\n * @title ExternalContractsUpgradeableV7\n * @dev Extension of {XAllocationVotingGovernorV7} that handles the storage of external contracts for the XAllocationVotingGovernorV7.\n */\nabstract contract ExternalContractsUpgradeableV7 is Initializable, XAllocationVotingGovernorV7 {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.ExternalContracts\n  struct ExternalContractsStorage {\n    IX2EarnApps _x2EarnApps;\n    IEmissions _emissions;\n    IVoterRewards _voterRewards;\n    IVeBetterPassport _veBetterPassport;\n    IB3TRGovernor _b3trGovernor;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor.ExternalContracts\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant ExternalContractsStorageLocation =\n    0x1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00;\n\n  function _getExternalContractsStorage() internal pure returns (ExternalContractsStorage storage $) {\n    assembly {\n      $.slot := ExternalContractsStorageLocation\n    }\n  }\n\n  // @dev Emit when the emissions contract is set\n  event EmissionsSet(address oldContractAddress, address newContractAddress);\n  // @dev Emit when the X2EarnApps contract is set\n  event X2EarnAppsSet(address oldContractAddress, address newContractAddress);\n  // @dev Emit when the voter rewards contract is set\n  event VoterRewardsSet(address oldContractAddress, address newContractAddress);\n  // @dev Emit when the VeBetterPassport contract is set\n  event VeBetterPassportSet(address oldContractAddress, address newContractAddress);\n\n  /**\n   * @dev Initializes the contract\n   * @param initialX2EarnApps The initial X2EarnApps contract address\n   * @param initialEmissions The initial Emissions contract address\n   * @param initialVoterRewards The initial VoterRewards contract address\n   */\n  function __ExternalContracts_init(\n    IX2EarnApps initialX2EarnApps,\n    IEmissions initialEmissions,\n    IVoterRewards initialVoterRewards\n  ) internal onlyInitializing {\n    __ExternalContracts_init_unchained(initialX2EarnApps, initialEmissions, initialVoterRewards);\n  }\n\n  function __ExternalContracts_init_unchained(\n    IX2EarnApps initialX2EarnApps,\n    IEmissions initialEmissions,\n    IVoterRewards initialVoterRewards\n  ) internal onlyInitializing {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    $._x2EarnApps = initialX2EarnApps;\n    $._emissions = initialEmissions;\n    $._voterRewards = initialVoterRewards;\n  }\n\n  function __ExternalContracts_init_v2(IVeBetterPassport _veBetterPassport) internal onlyInitializing {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    $._veBetterPassport = _veBetterPassport;\n  }\n\n  function __ExternalContracts_init_v3(IB3TRGovernor _b3trGovernor) internal onlyInitializing {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    $._b3trGovernor = _b3trGovernor;\n  }\n\n  // ------- Getters ------- //\n  /**\n   * @dev The X2EarnApps contract.\n   */\n  function x2EarnApps() public view override returns (IX2EarnApps) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._x2EarnApps;\n  }\n\n  /**\n   * @dev The emissions contract.\n   */\n  function emissions() public view override returns (IEmissions) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._emissions;\n  }\n\n  /**\n   * @dev Get the voter rewards contract\n   */\n  function voterRewards() public view override returns (IVoterRewards) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._voterRewards;\n  }\n\n  function veBetterPassport() public view override returns (IVeBetterPassport) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._veBetterPassport;\n  }\n\n  /**\n   * @dev Get the B3TRGovernor contract\n   */\n  function b3trGovernor() public view override returns (IB3TRGovernor) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._b3trGovernor;\n  }\n\n  // ------- Internal Functions ------- //\n\n  /**\n   * @dev Sets the emissions contract.\n   *\n   * Emits a {EmissionContractSet} event\n   */\n  function _setEmissions(IEmissions newEmisionsAddress) internal virtual {\n    require(address(newEmisionsAddress) != address(0), \"XAllocationVotingGovernor: emissions is the zero address\");\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n\n    emit EmissionsSet(address($._emissions), address(newEmisionsAddress));\n    $._emissions = IEmissions(newEmisionsAddress);\n  }\n\n  /**\n   * @dev Sets the X2EarnApps contract\n   * @param newX2EarnApps The new X2EarnApps contract address\n   *\n   * Emits a {X2EarnAppsSet} event\n   */\n  function _setX2EarnApps(IX2EarnApps newX2EarnApps) internal virtual {\n    require(address(newX2EarnApps) != address(0), \"XAllocationVotingGovernor: new X2EarnApps is the zero address\");\n\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n\n    emit X2EarnAppsSet(address($._x2EarnApps), address(newX2EarnApps));\n    $._x2EarnApps = newX2EarnApps;\n  }\n\n  /**\n   * @dev Sets the voter rewards contract\n   * @param newVoterRewards The new voter rewards contract address\n   */\n  function _setVoterRewards(IVoterRewards newVoterRewards) internal virtual {\n    require(address(newVoterRewards) != address(0), \"XAllocationVotingGovernor: new voter rewards is the zero address\");\n\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n\n    emit VoterRewardsSet(address($._voterRewards), address(newVoterRewards));\n    $._voterRewards = newVoterRewards;\n  }\n\n  /**\n   * @dev Sets the VeBetterPassport contract\n   * @param newVeBetterPassport The new VeBetterPassport contract address\n   */\n  function _setVeBetterPassport(IVeBetterPassport newVeBetterPassport) internal virtual {\n    require(\n      address(newVeBetterPassport) != address(0),\n      \"XAllocationVotingGovernor: new VeBetterPassport is the zero address\"\n    );\n\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    $._veBetterPassport = newVeBetterPassport;\n  }\n\n  /**\n   * @dev Sets the B3TRGovernor contract\n   * @param newB3TRGovernor The new B3TRGovernor contract address\n   */\n  function _setB3TRGovernor(IB3TRGovernor newB3TRGovernor) internal virtual {\n    require(address(newB3TRGovernor) != address(0), \"XAllocationVotingGovernor: new B3TRGovernor is the zero address\");\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    $._b3trGovernor = newB3TRGovernor;\n  }\n}\n"},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { XAllocationVotingGovernorV7 } from \"../XAllocationVotingGovernorV7.sol\";\n\n/**\n * @title RoundEarningsSettingsUpgradeableV7\n * @notice Extension of {XAllocationVotingGovernor} to handle the settings for the x-allocation earnings calculations:\n * - baseAllocationPercentage: The base allocation percentage to be divided among the x-apps each round\n * - appSharesCap: The maximum percentage of shares an x-app can reach in each round\n *\n * Since the base allocation percentage and app shares cap can be updated, we store the values for each round.\n */\nabstract contract RoundEarningsSettingsUpgradeableV7 is Initializable, XAllocationVotingGovernorV7 {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.RoundEarningsSettings\n  struct EarningsSettingsStorage {\n    uint256 baseAllocationPercentage;\n    uint256 appSharesCap;\n    mapping(uint256 roundId => uint256) _roundBaseAllocationPercentage;\n    mapping(uint256 roundId => uint256) _roundAppSharesCap;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor.RoundEarningsSettings\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant EarningsSettingsStorageLocation =\n    0xc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c3500;\n\n  function _getEarningsSettingsStorage() internal pure returns (EarningsSettingsStorage storage $) {\n    assembly {\n      $.slot := EarningsSettingsStorageLocation\n    }\n  }\n\n  // ---------- Initialization ---------- //\n\n  /**\n   * @dev Initialize the contract\n   * @param initialBaseAllocationPercentage The initial base allocation percentage\n   * @param initialAppSharesCap The initial app shares cap\n   */\n  function __RoundEarningsSettings_init(\n    uint256 initialBaseAllocationPercentage,\n    uint256 initialAppSharesCap\n  ) internal onlyInitializing {\n    __RoundEarningsSettings_init_unchained(initialBaseAllocationPercentage, initialAppSharesCap);\n  }\n\n  function __RoundEarningsSettings_init_unchained(\n    uint256 initialBaseAllocationPercentage,\n    uint256 initialAppSharesCap\n  ) internal onlyInitializing {\n    _setBaseAllocationPercentage(initialBaseAllocationPercentage);\n    _setAppSharesCap(initialAppSharesCap);\n  }\n\n  // ---------- Getters ---------- //\n\n  /**\n   * @notice Get the base allocation percentage\n   */\n  function baseAllocationPercentage() public view returns (uint256) {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    return $.baseAllocationPercentage;\n  }\n\n  /**\n   * @notice Get the app shares cap\n   */\n  function appSharesCap() public view returns (uint256) {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    return $.appSharesCap;\n  }\n\n  /**\n   * Returns the base allocation percentage for a given round\n   */\n  function getRoundBaseAllocationPercentage(uint256 roundId) public view returns (uint256) {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    return $._roundBaseAllocationPercentage[roundId];\n  }\n\n  /**\n   * Returns the app shares cap for a given round\n   */\n  function getRoundAppSharesCap(uint256 roundId) public view returns (uint256) {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    return $._roundAppSharesCap[roundId];\n  }\n\n  // ---------- Internal ---------- //\n\n  /**\n   * @notice Set the base allocation percentage\n   * @param baseAllocationPercentage_ The new base allocation percentage\n   */\n  function _setBaseAllocationPercentage(uint256 baseAllocationPercentage_) internal {\n    require(\n      baseAllocationPercentage_ <= 100,\n      \"XAllocationVotingGovernor: Base allocation percentage must be less than or equal to 100\"\n    );\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    $.baseAllocationPercentage = baseAllocationPercentage_;\n  }\n\n  /**\n   * @notice Set the app shares cap\n   * @param appSharesCap_ The new app shares cap\n   */\n  function _setAppSharesCap(uint256 appSharesCap_) internal {\n    require(appSharesCap_ <= 100, \"XAllocationVotingGovernor: App shares cap must be less than or equal to 100\");\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    $.appSharesCap = appSharesCap_;\n  }\n\n  /**\n   * @dev Save the earnings settings for a new round\n   * @param roundId The id of the new round\n   */\n  function _snapshotRoundEarningsCap(uint256 roundId) internal virtual override {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    $._roundBaseAllocationPercentage[roundId] = $.baseAllocationPercentage;\n    $._roundAppSharesCap[roundId] = $.appSharesCap;\n  }\n\n  // ---------- Setters ---------- //\n\n  /**\n   * @dev See {IXAllocationVotingGovernor-setBaseAllocationPercentage}.\n   */\n  function setAppSharesCap(uint256 appSharesCap_) external virtual;\n\n  /**\n   * @dev See {IXAllocationVotingGovernor-setBaseAllocationPercentage}.\n   */\n  function setBaseAllocationPercentage(uint256 baseAllocationPercentage_) external virtual;\n}\n"},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV7 } from \"../XAllocationVotingGovernorV7.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\n\n/**\n * @title RoundFinalizationUpgradeableV7\n * @notice Extension of {XAllocationVotingGovernor} that handles the finalization of rounds\n * @dev If a round does not meet the quorum (RoundState.Failed) we need to know the last round that succeeded,\n * so we can calculate the earnings for the x-2-earn-apps upon that round. By always pointing each round at the last succeeded one, if a round fails,\n * it will be enough to look at what round the previous one points to.\n */\nabstract contract RoundFinalizationUpgradeableV7 is Initializable, XAllocationVotingGovernorV7 {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.RoundFinalization\n  struct RoundFinalizationStorage {\n    mapping(uint256 roundId => uint256) _latestSucceededRoundId;\n    mapping(uint256 roundId => bool) _roundFinalized;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor.RoundFinalization\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant RoundFinalizationStorageLocation =\n    0x7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e502500;\n\n  function _getRoundFinalizationStorage() internal pure returns (RoundFinalizationStorage storage $) {\n    assembly {\n      $.slot := RoundFinalizationStorageLocation\n    }\n  }\n\n  /**\n   * @dev Initializes the contract\n   */\n  function __RoundFinalization_init() internal onlyInitializing {\n    __RoundFinalization_init_unchained();\n  }\n\n  function __RoundFinalization_init_unchained() internal onlyInitializing {}\n\n  // ------- Setters ------- //\n\n  /**\n   * @dev Store the last succeeded round for the given round\n   * @param roundId The round to finalize\n   */\n  function finalizeRound(uint256 roundId) public virtual override {\n    require(!isActive(roundId), \"XAllocationVotingGovernor: round is not ended yet\");\n\n    RoundFinalizationStorage storage $ = _getRoundFinalizationStorage();\n    // First round is always considered succeeded\n    if (roundId == 1) {\n      $._latestSucceededRoundId[roundId] = 1;\n      $._roundFinalized[roundId] = true;\n      return;\n    }\n\n    if (state(roundId) == RoundState.Succeeded) {\n      // if round is succeeded, it is the last succeeded round\n      $._latestSucceededRoundId[roundId] = roundId;\n      $._roundFinalized[roundId] = true;\n    } else if (state(roundId) == RoundState.Failed) {\n      // if round is failed, it points to the last succeeded round\n      $._latestSucceededRoundId[roundId] = $._latestSucceededRoundId[roundId - 1];\n      $._roundFinalized[roundId] = true;\n    }\n  }\n\n  // ------- Getters ------- //\n\n  /**\n   * @dev Get the last succeeded round for the given round\n   */\n  function latestSucceededRoundId(uint256 roundId) external view returns (uint256) {\n    RoundFinalizationStorage storage $ = _getRoundFinalizationStorage();\n    return $._latestSucceededRoundId[roundId];\n  }\n\n  /**\n   * @dev Check if the round is finalized\n   */\n  function isFinalized(uint256 roundId) external view returns (bool) {\n    RoundFinalizationStorage storage $ = _getRoundFinalizationStorage();\n    return $._roundFinalized[roundId];\n  }\n}\n"},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV7 } from \"../XAllocationVotingGovernorV7.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { X2EarnAppsDataTypes } from \"../../../../libraries/X2EarnAppsDataTypes.sol\";\n\n/**\n * @title RoundsStorageUpgradeableV7\n * @dev Extension of {XAllocationVotingGovernor} for storing rounds data and managing the rounds lifecycle.\n */\nabstract contract RoundsStorageUpgradeableV7 is Initializable, XAllocationVotingGovernorV7 {\n  struct RoundCore {\n    address proposer;\n    uint48 voteStart;\n    uint32 voteDuration;\n  }\n\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.RoundsStorage\n  struct RoundsStorageStorage {\n    uint256 _roundCount; // counter to count the number of proposals and also used to create the id\n    mapping(uint256 roundId => RoundCore) _rounds; // mapping to store the round data\n    mapping(uint256 roundId => bytes32[]) _appsEligibleForVoting; // mapping to store the apps eligible for voting in each round\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor.RoundsStorage\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant RoundsStorageStorageLocation =\n    0x0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f1900;\n\n  function _getRoundsStorageStorage() internal pure returns (RoundsStorageStorage storage $) {\n    assembly {\n      $.slot := RoundsStorageStorageLocation\n    }\n  }\n\n  /**\n   * @dev Initializes the contract\n   */\n  function __RoundsStorage_init() internal onlyInitializing {\n    __RoundsStorage_init_unchained();\n  }\n\n  function __RoundsStorage_init_unchained() internal onlyInitializing {}\n\n  // ------- Setters ------- //\n\n  /**\n   * @dev Internal function to start a new round\n   * @param proposer The address of the proposer\n   * @return roundId The id of the new round\n   *\n   * Emits a {RoundCreated} event\n   */\n  function _startNewRound(address proposer) internal virtual override returns (uint256 roundId) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n\n    ++$._roundCount;\n    roundId = $._roundCount;\n    if ($._rounds[roundId].voteStart != 0) {\n      revert GovernorUnexpectedRoundState(roundId, state(roundId), bytes32(0));\n    }\n\n    // Do not run for the first round\n    if (roundId > 1) {\n      // finalize the previous round\n      finalizeRound(roundId - 1);\n    }\n\n    // save x-apps that users can vote for\n    bytes32[] memory apps = x2EarnApps().allEligibleApps();\n    $._appsEligibleForVoting[roundId] = apps;\n\n    _snapshotRoundEarningsCap(roundId);\n\n    uint256 snapshot = clock();\n    uint256 duration = votingPeriod();\n\n    RoundCore storage round = $._rounds[roundId];\n    round.proposer = proposer;\n    round.voteStart = SafeCast.toUint48(snapshot);\n    round.voteDuration = SafeCast.toUint32(duration);\n\n    emit RoundCreated(roundId, proposer, snapshot, snapshot + duration, apps);\n\n    // Using a named return variable to avoid stack too deep errors\n  }\n\n  // ------- Getters ------- //\n\n  /**\n   * @dev Get the data of a round\n   */\n  function getRound(uint256 roundId) external view returns (RoundCore memory) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._rounds[roundId];\n  }\n\n  /**\n   * @dev Get the current round id\n   */\n  function currentRoundId() public view virtual override returns (uint256) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._roundCount;\n  }\n\n  /**\n   * @dev Get the current round start block\n   */\n  function currentRoundSnapshot() public view virtual override returns (uint256) {\n    return roundSnapshot(currentRoundId());\n  }\n\n  /**\n   * @dev Get the current round deadline block\n   */\n  function currentRoundDeadline() public view virtual returns (uint256) {\n    return roundDeadline(currentRoundId());\n  }\n\n  /**\n   * @dev Get the start block of a round\n   */\n  function roundSnapshot(uint256 roundId) public view virtual override returns (uint256) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._rounds[roundId].voteStart;\n  }\n\n  /**\n   * @dev Get the deadline block of a round\n   */\n  function roundDeadline(uint256 roundId) public view virtual override returns (uint256) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._rounds[roundId].voteStart + $._rounds[roundId].voteDuration;\n  }\n\n  /**\n   * @dev Get the proposer of a round\n   */\n  function roundProposer(uint256 roundId) public view virtual returns (address) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._rounds[roundId].proposer;\n  }\n\n  /**\n   * @dev Get the ids of the apps eligible for voting in a round\n   */\n  function getAppIdsOfRound(uint256 roundId) public view override returns (bytes32[] memory) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._appsEligibleForVoting[roundId];\n  }\n\n  /**\n   * @dev Get all the apps in the form of {App} eligible for voting in a round\n   *\n   * @notice This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound}\n   * and then call {IX2EarnApps-app} for each app id\n   */\n  function getAppsOfRound(\n    uint256 roundId\n  ) external view returns (X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n\n    bytes32[] memory appsInRound = $._appsEligibleForVoting[roundId];\n    uint256 length = appsInRound.length;\n    X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory allApps = new X2EarnAppsDataTypes.AppWithDetailsReturnType[](\n      length\n    );\n\n    for (uint i; i < length; i++) {\n      allApps[i] = x2EarnApps().app(appsInRound[i]);\n    }\n    return allApps;\n  }\n}\n"},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV7 } from \"../XAllocationVotingGovernorV7.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { Math } from \"@openzeppelin/contracts/utils/math/Math.sol\";\n\n/**\n * @title RoundVotesCountingUpgradeableV7\n *\n * @dev Extension of {XAllocationVotingGovernor} for counting votes for allocation rounds.\n *\n * In every round users can vote a fraction of their balance for the eligible apps in that round.\n *\n * ----- Version 5 -----\n * - Fixed duplicate app voting in same transaction in {_countVote}\n */\nabstract contract RoundVotesCountingUpgradeableV7 is Initializable, XAllocationVotingGovernorV7 {\n  struct RoundVote {\n    // Total votes received for each app\n    mapping(bytes32 appId => uint256) votesReceived;\n    // Total votes received for each app in quadratic funding\n    mapping(bytes32 appId => uint256) votesReceivedQF; // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ...\n    // Total votes cast in the round\n    uint256 totalVotes;\n    // Total votes cast in the round in quadratic funding\n    uint256 totalVotesQF; // ∑(∑sqrt(votes))^2 -> (sqrt(votesAppX1) + sqrt(votesAppX2) + ...)^2 + (sqrt(votesAppY1) + sqrt(votesAppY2) + ...)^2 + ...\n    // Mapping to store if a user has voted\n    mapping(address user => bool) hasVoted;\n    // Total number of voters in the round\n    uint256 totalVoters;\n  }\n\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.RoundVotesCounting\n  struct RoundVotesCountingStorage {\n    mapping(address user => bool) _hasVotedOnce; // mapping to store that a user has voted at least one time\n    mapping(uint256 roundId => RoundVote) _roundVotes; // mapping to store the votes for each round\n    uint256 votingThreshold; // minimum number of tokens needed to cast a vote\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor.RoundVotesCounting\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant RoundVotesCountingStorageLocation =\n    0xa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d500;\n\n  function _getRoundVotesCountingStorage() private pure returns (RoundVotesCountingStorage storage $) {\n    assembly {\n      $.slot := RoundVotesCountingStorageLocation\n    }\n  }\n\n  //@notice emitted when a the minimum number of tokens needed to cast a vote is updated\n  event VotingThresholdSet(uint256 oldVotingThreshold, uint256 newVotingThreshold);\n\n  /// @dev Error thrown when trying to vote for the same app multiple times in one transaction\n  error DuplicateAppVote();\n\n  /**\n   * @dev Initializes the contract\n   */\n  function __RoundVotesCounting_init(uint256 _votingThreshold) internal onlyInitializing {\n    __RoundVotesCounting_init_unchained(_votingThreshold);\n  }\n\n  function __RoundVotesCounting_init_unchained(uint256 _votingThreshold) internal onlyInitializing {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n\n    $.votingThreshold = _votingThreshold;\n  }\n\n  /**\n   * @dev See {IXAllocationVotingGovernor-COUNTING_MODE}.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function COUNTING_MODE() public pure virtual override returns (string memory) {\n    return \"support=x-allocations&quorum=auto\";\n  }\n\n  /**\n   * @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n   *\n   * Emits a {VotingThresholdSet} event.\n   */\n  function setVotingThreshold(uint256 newVotingThreshold) public virtual {\n    _setVotingThreshold(newVotingThreshold);\n  }\n\n  /**\n   * @dev Internal setter for the voting threshold.\n   *\n   * Emits a {VotingThresholdSet} event.\n   */\n  function _setVotingThreshold(uint256 newVotingThreshold) internal virtual {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n\n    emit VotingThresholdSet($.votingThreshold, newVotingThreshold);\n    $.votingThreshold = newVotingThreshold;\n  }\n\n  /**\n   * @dev Counts votes for a given round of voting, applying quadratic funding principles.\n   * Allows a voter to allocate weights to various applications (apps) for a specific voting round,\n   * ensuring each voter votes only once per round to prevent double voting.\n   *\n   * Quadratic funding is used to calculate the impact of each vote. For each app, the square root of the \n   * individual vote's weight is computed and added to the total sum of square roots for that app.\n   * After updating with each vote, this sum of square roots is squared to determine the total quadratic funding votes for the app. \n   * This method aims to democratize the voting process by amplifying the influence of a larger number of smaller votes.\n\n   * Requirements:\n   * - The voter must not have voted in this round already.\n   * - The total voting weight allocated by the voter must not exceed the voter's available voting power.\n   * - Each app voted on must be eligible for votes in the current round.\n   *\n   * @param roundId The identifier of the current voting round.\n   * @param voter The address of the voter casting the votes.\n   * @param apps An array of app identifiers that the voter is allocating votes to.\n   * @param weights An array of vote weights corresponding to each app.\n   */\n\n  function _countVote(\n    uint256 roundId,\n    address voter,\n    bytes32[] memory apps,\n    uint256[] memory weights\n  ) internal virtual override {\n    if (hasVoted(roundId, voter)) {\n      revert GovernorAlreadyCastVote(voter);\n    }\n\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n\n    // Get the start of the round\n    uint256 roundStart = roundSnapshot(roundId);\n\n    // To hold the total weight of votes cast by the voter\n    uint256 totalWeight;\n    // To hold the total adjustment to the quadratic funding value for the given app\n    uint256 totalQFVotesAdjustment;\n\n    // Get the total voting power of the voter to use in the for loop to check\n    // if the total weight of votes cast by the voter is greater than the voter's available voting power\n    uint256 voterAvailableVotes = _getVotingPower(voter, roundStart);\n\n    // Iterate through the apps and weights to calculate the total weight of votes cast by the voter\n    for (uint256 i; i < apps.length; i++) {\n      // Check current app against ALL previous apps\n      for (uint256 j; j < i; j++) {\n        if (apps[i] == apps[j]) {\n          revert DuplicateAppVote();\n        }\n      }\n\n      totalWeight += weights[i];\n\n      if (totalWeight > voterAvailableVotes) {\n        revert GovernorInsufficientVotingPower();\n      }\n\n      // Check if the app is eligible for votes in the current round\n      if (!isEligibleForVote(apps[i], roundId)) {\n        revert GovernorAppNotAvailableForVoting(apps[i]);\n      }\n\n      // Get the current sum of the square roots of individual votes for the given project\n      uint256 qfAppVotesPreVote = $._roundVotes[roundId].votesReceivedQF[apps[i]]; // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ... + sqrt(votesN)\n\n      // Calculate the new sum of the square roots of individual votes for the given project -> If the weight is greater than 1, calculate the square root of the weight, otherwise use the weight and divide it by 1e9 ((sqrt(1e18)) = 1e9)\n      uint256 newQFVotes = weights[i] > 1e18 ? Math.sqrt(weights[i]) : weights[i] / 1e9; // sqrt(votes)\n      uint256 qfAppVotesPostVote = qfAppVotesPreVote + newQFVotes; // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ... + sqrt(votesN) + sqrt(votesN+1)\n\n      // Calculate the adjustment to the quadratic funding value for the given app\n      totalQFVotesAdjustment += (qfAppVotesPostVote * qfAppVotesPostVote) - (qfAppVotesPreVote * qfAppVotesPreVote); // (sqrt(votes1) + ... + sqrt(votesN+1))^2 - (sqrt(votes1) + ... + sqrt(votesN))^2\n\n      // Update the quadratic funding votes received for the given app - sum of the square roots of individual votes\n      $._roundVotes[roundId].votesReceivedQF[apps[i]] = qfAppVotesPostVote; // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ... + sqrt(votesN+1)\n      $._roundVotes[roundId].votesReceived[apps[i]] += weights[i]; // ∑votes + votesN+1\n    }\n\n    // Check if the total weight of votes cast by the voter is greater than the voting threshold\n    if (totalWeight < votingThreshold()) {\n      revert GovernorVotingThresholdNotMet(votingThreshold(), totalWeight);\n    }\n\n    // Apply the total adjustment to storage\n    $._roundVotes[roundId].totalVotesQF += totalQFVotesAdjustment; // update the total quadratic funding value for the round - ∑(∑sqrt(votes))^2 -> (sqrt(votesAppX1) + sqrt(votesAppX2) + ...)^2 + (sqrt(votesAppY1) + sqrt(votesAppY2) + ...)^2 + ...\n    $._roundVotes[roundId].totalVotes += totalWeight; // update total votes -> ∑votes + votesN+1\n    $._roundVotes[roundId].hasVoted[voter] = true; // mark the voter as having voted\n    $._roundVotes[roundId].totalVoters++; // increment the total number of voters\n\n    // save that user cast vote only the first time\n    if (!$._hasVotedOnce[voter]) {\n      $._hasVotedOnce[voter] = true;\n    }\n\n    // Register the vote for rewards calculation where the vote power is the square root of the total votes cast by the voter\n    voterRewards().registerVote(roundStart, voter, totalWeight, Math.sqrt(totalWeight));\n\n    // Emit the AllocationVoteCast event\n    emit AllocationVoteCast(voter, roundId, apps, weights);\n  }\n\n  function _getVotingPower(address voter, uint256 roundStart) internal virtual returns (uint256) {\n    uint256 voterAvailableVotesWithDeposit = getDepositVotingPower(voter, roundStart);\n    uint256 voterAvailableVotes = getVotes(voter, roundStart) + voterAvailableVotesWithDeposit;\n\n    return voterAvailableVotes;\n  }\n\n  /**\n   * @dev Get the votes received by a specific application in a given round\n   */\n  function getAppVotes(uint256 roundId, bytes32 app) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].votesReceived[app];\n  }\n\n  /**\n   * @dev Get the quadratic funding votes received by a specific application in a given round\n   */\n  function getAppVotesQF(uint256 roundId, bytes32 app) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].votesReceivedQF[app];\n  }\n\n  /**\n   * @dev Get the total quadratic funding votes cast in a given round\n   */\n  function totalVotesQF(uint256 roundId) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVotesQF;\n  }\n\n  /**\n   * @dev Get the total votes cast in a given round\n   */\n  function totalVotes(uint256 roundId) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVotes;\n  }\n\n  /**\n   * @dev Get the total number of voters in a given round\n   */\n  function totalVoters(uint256 roundId) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVoters;\n  }\n\n  /**\n   * @notice The voting threshold.\n   * @dev The minimum number of tokens needed to cast a vote.\n   */\n  function votingThreshold() public view virtual returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $.votingThreshold;\n  }\n\n  /**\n   * @dev Check if a user has voted in a given round\n   */\n  function hasVoted(uint256 roundId, address user) public view returns (bool) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].hasVoted[user];\n  }\n\n  /**\n   * @dev Internal function to check if the quorum is reached for a given round\n   */\n  function _quorumReached(uint256 roundId) internal view virtual override returns (bool) {\n    return quorum(roundSnapshot(roundId)) <= totalVotes(roundId);\n  }\n\n  /**\n   * @dev Internal function to check if the vote succeeded for a given round\n   */\n  function _voteSucceeded(uint256 roundId) internal view virtual override returns (bool) {\n    // vote is successful if quorum is reached\n    return _quorumReached(roundId);\n  }\n\n  /**\n   * @dev Check if a user has voted at least once from the deployment of the contract\n   */\n  function hasVotedOnce(address user) public view returns (bool) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._hasVotedOnce[user];\n  }\n}\n"},"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { VotesUpgradeableV7 } from \"./VotesUpgradeableV7.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\n\n/**\n * @title VotesQuorumFractionUpgradeableV7\n * @dev Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a\n * fraction of the total supply.\n */\nabstract contract VotesQuorumFractionUpgradeableV7 is Initializable, VotesUpgradeableV7 {\n  using Checkpoints for Checkpoints.Trace208;\n\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.VotesQuorumFraction\n  struct VotesQuorumFractionStorage {\n    Checkpoints.Trace208 _quorumNumeratorHistory;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor.VotesQuorumFraction\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant VotesQuorumFractionStorageLocation =\n    0x49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c32400;\n\n  function _getVotesQuorumFractionStorage() private pure returns (VotesQuorumFractionStorage storage $) {\n    assembly {\n      $.slot := VotesQuorumFractionStorageLocation\n    }\n  }\n\n  event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator);\n\n  /**\n   * @dev The quorum set is not a valid fraction.\n   */\n  error GovernorInvalidQuorumFraction(uint256 quorumNumerator, uint256 quorumDenominator);\n\n  /**\n   * @dev Initialize quorum as a fraction of the token's total supply.\n   *\n   * The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is\n   * specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be\n   * customized by overriding {quorumDenominator}.\n   */\n  function __VotesQuorumFraction_init(uint256 quorumNumeratorValue) internal onlyInitializing {\n    __VotesQuorumFraction_init_unchained(quorumNumeratorValue);\n  }\n\n  function __VotesQuorumFraction_init_unchained(uint256 quorumNumeratorValue) internal onlyInitializing {\n    _updateQuorumNumerator(quorumNumeratorValue);\n  }\n\n  /**\n   * @dev Returns the current quorum numerator. See {quorumDenominator}.\n   */\n  function quorumNumerator() public view virtual returns (uint256) {\n    VotesQuorumFractionStorage storage $ = _getVotesQuorumFractionStorage();\n    return $._quorumNumeratorHistory.latest();\n  }\n\n  /**\n   * @dev Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\n   */\n  function quorumNumerator(uint256 timepoint) public view virtual returns (uint256) {\n    VotesQuorumFractionStorage storage $ = _getVotesQuorumFractionStorage();\n\n    uint256 length = $._quorumNumeratorHistory._checkpoints.length;\n\n    // Optimistic search, check the latest checkpoint\n    Checkpoints.Checkpoint208 storage latest = $._quorumNumeratorHistory._checkpoints[length - 1];\n    uint48 latestKey = latest._key;\n    uint208 latestValue = latest._value;\n    if (latestKey <= timepoint) {\n      return latestValue;\n    }\n\n    // Otherwise, do the binary search\n    return $._quorumNumeratorHistory.upperLookupRecent(SafeCast.toUint48(timepoint));\n  }\n\n  /**\n   * @dev Returns the quorum denominator. Defaults to 100, but may be overridden.\n   */\n  function quorumDenominator() public view virtual returns (uint256) {\n    return 100;\n  }\n\n  /**\n   * @dev Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n   */\n  function quorum(uint256 timepoint) public view virtual override returns (uint256) {\n    return (token().getPastTotalSupply(timepoint) * quorumNumerator(timepoint)) / quorumDenominator();\n  }\n\n  /**\n   * @dev Changes the quorum numerator.\n   *\n   * Emits a {QuorumNumeratorUpdated} event.\n   *\n   * Requirements:\n   *\n   * - New numerator must be smaller or equal to the denominator.\n   */\n  function updateQuorumNumerator(uint256 newQuorumNumerator) public virtual {\n    _updateQuorumNumerator(newQuorumNumerator);\n  }\n\n  /**\n   * @dev Changes the quorum numerator.\n   *\n   * Emits a {QuorumNumeratorUpdated} event.\n   *\n   * Requirements:\n   *\n   * - New numerator must be smaller or equal to the denominator.\n   */\n  function _updateQuorumNumerator(uint256 newQuorumNumerator) internal virtual {\n    uint256 denominator = quorumDenominator();\n    if (newQuorumNumerator > denominator) {\n      revert GovernorInvalidQuorumFraction(newQuorumNumerator, denominator);\n    }\n\n    uint256 oldQuorumNumerator = quorumNumerator();\n\n    VotesQuorumFractionStorage storage $ = _getVotesQuorumFractionStorage();\n    $._quorumNumeratorHistory.push(clock(), SafeCast.toUint208(newQuorumNumerator));\n\n    emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator);\n  }\n}\n"},"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV7 } from \"../XAllocationVotingGovernorV7.sol\";\nimport { IVotes } from \"@openzeppelin/contracts/governance/utils/IVotes.sol\";\nimport { IERC5805 } from \"@openzeppelin/contracts/interfaces/IERC5805.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Time } from \"@openzeppelin/contracts/utils/types/Time.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\n\n/**\n * @title VotesUpgradeableV7\n * @dev Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes}\n * token.\n */\nabstract contract VotesUpgradeableV7 is Initializable, XAllocationVotingGovernorV7 {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.VotesUpgradeable\n  struct VotesStorage {\n    IERC5805 _token;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor.VotesUpgradeable\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant VotesStorageLocation = 0x6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab500;\n\n  function _getVotesStorage() private pure returns (VotesStorage storage $) {\n    assembly {\n      $.slot := VotesStorageLocation\n    }\n  }\n\n  function __Votes_init(IVotes tokenAddress) internal onlyInitializing {\n    __Votes_init_unchained(tokenAddress);\n  }\n\n  function __Votes_init_unchained(IVotes tokenAddress) internal onlyInitializing {\n    VotesStorage storage $ = _getVotesStorage();\n    $._token = IERC5805(address(tokenAddress));\n  }\n\n  /**\n   * @dev The token that voting power is sourced from.\n   */\n  function token() public view virtual returns (IERC5805) {\n    VotesStorage storage $ = _getVotesStorage();\n    return $._token;\n  }\n\n  /**\n   * @dev Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token\n   * does not implement EIP-6372.\n   */\n  function clock() public view virtual override returns (uint48) {\n    try token().clock() returns (uint48 timepoint) {\n      return timepoint;\n    } catch {\n      return Time.blockNumber();\n    }\n  }\n\n  /**\n   * @dev Machine-readable description of the clock as specified in EIP-6372.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function CLOCK_MODE() public view virtual override returns (string memory) {\n    try token().CLOCK_MODE() returns (string memory clockmode) {\n      return clockmode;\n    } catch {\n      return \"mode=blocknumber&from=default\";\n    }\n  }\n\n  /**\n   * Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes}).\n   */\n  function _getVotes(\n    address account,\n    uint256 timepoint,\n    bytes memory /*params*/\n  ) internal view virtual override returns (uint256) {\n    return token().getPastVotes(account, timepoint);\n  }\n}\n"},"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV7 } from \"../XAllocationVotingGovernorV7.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\n\n/**\n * @title VotingSettingsUpgradeableV7\n * @dev Extension of {XAllocationVotingGovernorV7} for voting settings.\n */\nabstract contract VotingSettingsUpgradeableV7 is Initializable, XAllocationVotingGovernorV7 {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.VotingSettings\n  struct VotingSettingsStorage {\n    uint32 _votingPeriod;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor.VotingSettings\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant VotingSettingsStorageLocation =\n    0xd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a99900;\n\n  function _getVotingSettingsStorage() private pure returns (VotingSettingsStorage storage $) {\n    assembly {\n      $.slot := VotingSettingsStorageLocation\n    }\n  }\n\n  event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod);\n\n  /**\n   * @dev Initialize the governance parameters.\n   */\n  function __VotingSettings_init(uint32 initialVotingPeriod) internal onlyInitializing {\n    __VotingSettings_init_unchained(initialVotingPeriod);\n  }\n\n  function __VotingSettings_init_unchained(uint32 initialVotingPeriod) internal onlyInitializing {\n    _setVotingPeriod(initialVotingPeriod);\n  }\n\n  /**\n   * @dev See {IXAllocationVotingGovernor-votingPeriod}.\n   */\n  function votingPeriod() public view virtual override returns (uint256) {\n    VotingSettingsStorage storage $ = _getVotingSettingsStorage();\n    return $._votingPeriod;\n  }\n\n  /**\n   * @dev Internal setter for the voting period.\n   *\n   * Emits a {VotingPeriodSet} event.\n   */\n  function _setVotingPeriod(uint32 newVotingPeriod) internal virtual {\n    if (newVotingPeriod == 0) {\n      revert GovernorInvalidVotingPeriod(0);\n    }\n\n    // Ensure the voting period is less than the emissions cycle duration.\n    uint256 emissionsCycleDuration = emissions().cycleDuration();\n    if (newVotingPeriod >= emissionsCycleDuration) {\n      revert GovernorInvalidVotingPeriod(newVotingPeriod);\n    }\n\n    VotingSettingsStorage storage $ = _getVotingSettingsStorage();\n\n    emit VotingPeriodSet($._votingPeriod, newVotingPeriod);\n    $._votingPeriod = newVotingPeriod;\n  }\n}\n"},"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { ERC165Upgradeable } from \"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\";\nimport { IERC165 } from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport { ContextUpgradeable } from \"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\";\nimport { IXAllocationVotingGovernorV7, IERC6372 } from \"../interfaces/IXAllocationVotingGovernorV7.sol\";\nimport { IXAllocationPool } from \"../../../interfaces/IXAllocationPool.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { IX2EarnApps } from \"../../../interfaces/IX2EarnApps.sol\";\nimport { IEmissions } from \"../../../interfaces/IEmissions.sol\";\nimport { IVoterRewards } from \"../../../interfaces/IVoterRewards.sol\";\nimport { IVeBetterPassport } from \"../../../interfaces/IVeBetterPassport.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IB3TRGovernor } from \"../../../interfaces/IB3TRGovernor.sol\";\n\n/**\n * @title XAllocationVotingGovernorV7\n * @dev Core of the voting system of allocation rounds, designed to be extended through various modules.\n *\n * This contract is abstract and requires several functions to be implemented in various modules:\n * - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded}, and {_countVote}\n * - A voting module must implement {_getVotes}, {clock}, and {CLOCK_MODE}\n * - A settings module must implement {votingPeriod}\n * - An external contracts module must implement {x2EarnApps}, {emissions}, {voterRewards} and {b3trGovernor}\n * - A rounds storage module must implement {_startNewRound}, {roundSnapshot}, {roundDeadline}, and {currentRoundId}\n * - A rounds finalization module must implement {finalize}\n * - A earnings settings module must implement {_snapshotRoundEarningsCap}\n *\n * ----- Version 2 -----\n * - Integrated VeBetterPassport\n *\n * ----- Version 5 -----\n * - Fixed duplicate app voting in same transaction in {RoundVotesCountingUpgradeable._countVote}\n *\n * ----- Version 7 -----\n * - Added B3TRGovernor contract to the contract\n */\nabstract contract XAllocationVotingGovernorV7 is\n  Initializable,\n  ContextUpgradeable,\n  ERC165Upgradeable,\n  IXAllocationVotingGovernorV7\n{\n  bytes32 private constant ALL_ROUND_STATES_BITMAP = bytes32((2 ** (uint8(type(RoundState).max) + 1)) - 1);\n\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor\n  struct XAllocationVotingGovernorStorage {\n    string _name;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant XAllocationVotingGovernorStorageLocation =\n    0x7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be00;\n\n  function _getXAllocationVotingGovernorStorage() internal pure returns (XAllocationVotingGovernorStorage storage $) {\n    assembly {\n      $.slot := XAllocationVotingGovernorStorageLocation\n    }\n  }\n\n  /**\n   * @dev Sets the value for {name}\n   */\n  function __XAllocationVotingGovernor_init(string memory name_) internal onlyInitializing {\n    __XAllocationVotingGovernor_init_unchained(name_);\n  }\n\n  function __XAllocationVotingGovernor_init_unchained(string memory name_) internal onlyInitializing {\n    XAllocationVotingGovernorStorage storage $ = _getXAllocationVotingGovernorStorage();\n    $._name = name_;\n  }\n\n  // ---------- Setters ---------- //\n\n  /**\n   * @dev Starts a new round of voting to allocate funds to x-2-earn applications.\n   */\n  function startNewRound() public virtual returns (uint256) {\n    address proposer = _msgSender();\n\n    // check that there isn't an already ongoing round\n    // but only do it after we have at least 1 round otherwise it will fail with `GovernorNonexistentRound`\n    uint256 currentRound = currentRoundId();\n    if (currentRound > 0) {\n      require(!isActive(currentRound), \"XAllocationVotingGovernor: there can be only one round per time\");\n    }\n\n    return _startNewRound(proposer);\n  }\n\n  /**\n   * @dev Cast a vote for a set of x-2-earn applications.\n   * @notice Only addresses with a valid passport can vote.\n   */\n  function castVote(uint256 roundId, bytes32[] memory appIds, uint256[] memory voteWeights) public virtual {\n    _validateStateBitmap(roundId, _encodeStateBitmap(RoundState.Active));\n\n    require(appIds.length == voteWeights.length, \"XAllocationVotingGovernor: apps and weights length mismatch\");\n    require(appIds.length > 0, \"XAllocationVotingGovernor: no apps to vote for\");\n\n    uint256 _currentRoundSnapshot = currentRoundSnapshot();\n\n    (bool isPerson, string memory explanation) = veBetterPassport().isPersonAtTimepoint(\n      _msgSender(),\n      SafeCast.toUint48(_currentRoundSnapshot)\n    );\n\n    // Check if the voter or the delegator of personhood to the voter is a person and returning error with the reason\n    if (!isPerson) {\n      revert GovernorPersonhoodVerificationFailed(_msgSender(), explanation);\n    }\n\n    address voter = _msgSender();\n\n    _countVote(roundId, voter, appIds, voteWeights);\n  }\n\n  // ---------- Internal and Private ---------- //\n\n  /**\n   * @dev Check that the current state of a round matches the requirements described by the `allowedStates` bitmap.\n   * This bitmap should be built using `_encodeStateBitmap`.\n   *\n   * If requirements are not met, reverts with a {GovernorUnexpectedRoundState} error.\n   */\n  function _validateStateBitmap(uint256 roundId, bytes32 allowedStates) private view returns (RoundState) {\n    RoundState currentState = state(roundId);\n    if (_encodeStateBitmap(currentState) & allowedStates == bytes32(0)) {\n      revert GovernorUnexpectedRoundState(roundId, currentState, allowedStates);\n    }\n    return currentState;\n  }\n\n  // ---------- Getters ---------- //\n\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view virtual override(IERC165, ERC165Upgradeable) returns (bool) {\n    return interfaceId == type(IXAllocationVotingGovernorV7).interfaceId || super.supportsInterface(interfaceId);\n  }\n\n  /**\n   * @dev Returns the name of the governor.\n   */\n  function name() public view virtual returns (string memory) {\n    XAllocationVotingGovernorStorage storage $ = _getXAllocationVotingGovernorStorage();\n    return $._name;\n  }\n\n  /**\n   * @dev Returns the version of the governor.\n   */\n  function version() public view virtual returns (string memory) {\n    return \"7\";\n  }\n\n  /**\n   * @dev Checks if the specified round is in active state or not.\n   */\n  function isActive(uint256 roundId) public view virtual override returns (bool) {\n    return state(roundId) == RoundState.Active;\n  }\n\n  /**\n   * @dev Returns the current state of a round.\n   */\n  function state(uint256 roundId) public view virtual returns (RoundState) {\n    uint256 snapshot = roundSnapshot(roundId);\n\n    if (snapshot == 0) {\n      revert GovernorNonexistentRound(roundId);\n    }\n\n    uint256 currentTimepoint = clock();\n\n    uint256 deadline = roundDeadline(roundId);\n\n    if (deadline >= currentTimepoint) {\n      return RoundState.Active;\n    } else if (!_voteSucceeded(roundId)) {\n      return RoundState.Failed;\n    } else {\n      return RoundState.Succeeded;\n    }\n  }\n\n  /**\n   * @dev Checks if the quorum has been reached for a given round.\n   */\n  function quorumReached(uint256 roundId) public view returns (bool) {\n    return _quorumReached(roundId);\n  }\n\n  /**\n   * @dev Returns the available votes votes for a given account at a given timepoint.\n   */\n  function getVotes(address account, uint256 timepoint) public view virtual returns (uint256) {\n    return _getVotes(account, timepoint, \"\");\n  }\n\n  /**\n   * @dev Checks if the given appId can be voted for in the given round.\n   */\n  function isEligibleForVote(bytes32 appId, uint256 roundId) public view virtual returns (bool) {\n    return x2EarnApps().isEligible(appId, roundSnapshot(roundId));\n  }\n\n  /**\n   * @dev Encodes a `RoundState` into a `bytes32` representation where each bit enabled corresponds to\n   * the underlying position in the `RoundState` enum. For example:\n   *\n   * 0x000...10000\n   *   ^^^^^^------ ...\n   *          ^---- Succeeded\n   *           ^--- Failed\n   *            ^-- Active\n   */\n  function _encodeStateBitmap(RoundState roundState) internal pure returns (bytes32) {\n    return bytes32(1 << uint8(roundState));\n  }\n\n  // ---------- Virtual ---------- //\n\n  /**\n   * @dev Internal function to store a vote in storage.\n   */\n  function _countVote(\n    uint256 roundId,\n    address account,\n    bytes32[] memory appIds,\n    uint256[] memory voteWeights\n  ) internal virtual;\n\n  /**\n   * @dev Internal function to save the app shares cap and base allocation percentage for a round.\n   */\n  function _snapshotRoundEarningsCap(uint256 roundId) internal virtual;\n\n  /**\n   * @dev Internal function to check if the quorum has been reached for a given round.\n   */\n  function _quorumReached(uint256 roundId) internal view virtual returns (bool);\n\n  /**\n   * @dev Internal function to check if the vote has succeeded for a given round.\n   */\n  function _voteSucceeded(uint256 roundId) internal view virtual returns (bool);\n\n  /**\n   * @dev Internal function that starts a new round of voting to allocate funds to x-2-earn applications.\n   */\n  function _startNewRound(address proposer) internal virtual returns (uint256);\n\n  /**\n   * @dev Internal function to get the available votes for a given account at a given timepoint.\n   */\n  function _getVotes(address account, uint256 timepoint, bytes memory params) internal view virtual returns (uint256);\n\n  /**\n   * @dev Function to store the last succeeded round once a round ends.\n   */\n  function finalizeRound(uint256 roundId) public virtual;\n\n  /**\n   * @dev Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\n   */\n  function clock() public view virtual returns (uint48);\n\n  /**\n   * @dev Machine-readable description of the clock as specified in EIP-6372.\n   */\n  function CLOCK_MODE() public view virtual returns (string memory);\n\n  /**\n   * @dev Returns the voting duration.\n   */\n  function votingPeriod() public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the quorum for a given timepoint.\n   */\n  function quorum(uint256 timepoint) public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the block number when the round starts.\n   */\n  function roundSnapshot(uint256 roundId) public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the block number when the round ends.\n   */\n  function roundDeadline(uint256 roundId) public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the latest round id.\n   */\n  function currentRoundId() public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the X2EarnApps contract.\n   */\n  function currentRoundSnapshot() public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the X2EarnApps contract.\n   */\n  function x2EarnApps() public view virtual returns (IX2EarnApps);\n\n  /**\n   * @dev Returns the VeBetterPassport contract.\n   */\n  function veBetterPassport() public view virtual returns (IVeBetterPassport);\n\n  /**\n   * @dev Returns the Emissions contract.\n   */\n  function emissions() public view virtual returns (IEmissions);\n\n  /**\n   * @dev Returns the VoterRewards contract.\n   */\n  function voterRewards() public view virtual returns (IVoterRewards);\n\n  /**\n   * @dev Returns the B3TRGovernor contract.\n   */\n  function b3trGovernor() public view virtual returns (IB3TRGovernor);\n\n  /**\n   * @dev Returns the deposit voting power for a given account at a given timepoint.\n   */\n  function getDepositVotingPower(address account, uint256 timepoint) public view virtual returns (uint256) {\n    return b3trGovernor().getDepositVotingPower(account, timepoint);\n  }\n}\n"},"contracts/deprecated/V7/XAllocationVotingV7.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport \"./x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\";\nimport \"./x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol\";\nimport \"./x-allocation-voting-governance/modules/VotesUpgradeableV7.sol\";\nimport \"./x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol\";\nimport \"./x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol\";\nimport \"./x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol\";\nimport \"./x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol\";\nimport \"./x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol\";\nimport \"./x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\n\n/**\n * @title XAllocationVoting\n * @notice This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds.\n * The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \"Quadratic Funding\" formula.\n * @dev Rounds are started by the Emissions contract.\n * @dev Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).\n * @dev Interacts with the VotingRewards contract to save the user from casting a vote.\n * @dev The contract is using AccessControl to handle roles for admin, governance, and round-starting operations.\n *\n * ----- Version 2 -----\n * - Integrated VeBetterPassport\n * - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold\n *\n * ----- Version 3 -----\n * - Updated the X2EarnApps interface to support node endorsement feature\n *\n * ----- Version 4 -----\n * - Updated the X2EarnApps interface to support node cooldown functionality\n *\n * ----- Version 6 -----\n *  - Align IVoterRewards and IEmissions interfaces with the new contracts\n *\n * ----- Version 7 -----\n * - Proposal Execution: Count proposal deposits to x-allocation voting power\n *\n */\ncontract XAllocationVotingV7 is\n  XAllocationVotingGovernorV7,\n  VotingSettingsUpgradeableV7,\n  RoundVotesCountingUpgradeableV7,\n  VotesUpgradeableV7,\n  VotesQuorumFractionUpgradeableV7,\n  RoundEarningsSettingsUpgradeableV7,\n  ExternalContractsUpgradeableV7,\n  RoundsStorageUpgradeableV7,\n  RoundFinalizationUpgradeableV7,\n  AccessControlUpgradeable,\n  UUPSUpgradeable\n{\n  /// @notice Role identifier for the address that can start a new round\n  bytes32 public constant ROUND_STARTER_ROLE = keccak256(\"ROUND_STARTER_ROLE\");\n  /// @notice Role identifier for the address that can upgrade the contract\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  /// @notice Role identifier for governance operations\n  bytes32 public constant GOVERNANCE_ROLE = keccak256(\"GOVERNANCE_ROLE\");\n  /// @notice The role that can set the addresses of the contracts used by the VoterRewards contract.\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n\n  /**\n   * @notice Data for initializing the contract\n   * @param vot3Token The address of the VOT3 token used for voting\n   * @param quorumPercentage quorum as a percentage of the total supply\n   * @param initialVotingPeriod The round duration\n   * @param timeLock Address of the timelock contract controlling governance actions\n   * @param voterRewards The address of the VoterRewards contract\n   * @param emissions The address of the Emissions contract\n   * @param admins The addresses of the admins\n   * @param upgrader The address of the upgrader\n   * @param contractsAddressManager The address of the contracts address manager.\n   * @param x2EarnAppsAddress The address of the X2EarnApps contract\n   * @param baseAllocationPercentage A percentage of the total amount of allocations that should be equaly distributed to all apps in a round\n   * @param appSharesCap Max amount of % of votes an app can get in a round\n   * @param votingThreshold Minimum amount of VOT3 balance to cast a vote\n   */\n  struct InitializationData {\n    IVotes vot3Token;\n    uint256 quorumPercentage;\n    uint32 initialVotingPeriod;\n    address timeLock;\n    IVoterRewards voterRewards;\n    IEmissions emissions;\n    address[] admins;\n    address upgrader;\n    address contractsAddressManager;\n    IX2EarnApps x2EarnAppsAddress;\n    uint256 baseAllocationPercentage;\n    uint256 appSharesCap;\n    uint256 votingThreshold;\n  }\n\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /**\n   * @notice Initialize the contract\n   * @param data The initialization data\n   */\n  function initialize(InitializationData memory data) public initializer {\n    require(address(data.vot3Token) != address(0), \"XAllocationVoting: invalid VOT3 token address\");\n    require(address(data.voterRewards) != address(0), \"XAllocationVoting: invalid VoterRewards address\");\n    require(address(data.emissions) != address(0), \"XAllocationVoting: invalid Emissions address\");\n\n    __XAllocationVotingGovernor_init(\"XAllocationVoting\");\n    __ExternalContracts_init(data.x2EarnAppsAddress, data.emissions, data.voterRewards);\n    __VotingSettings_init(data.initialVotingPeriod);\n    __RoundVotesCounting_init(data.votingThreshold);\n    __Votes_init(data.vot3Token);\n    __VotesQuorumFraction_init(data.quorumPercentage);\n    __RoundEarningsSettings_init(data.baseAllocationPercentage, data.appSharesCap);\n    __RoundFinalization_init();\n    __RoundsStorage_init();\n    __AccessControl_init();\n    __UUPSUpgradeable_init();\n\n    for (uint256 i; i < data.admins.length; i++) {\n      require(data.admins[i] != address(0), \"XAllocationVoting: invalid admin address\");\n      _grantRole(DEFAULT_ADMIN_ROLE, data.admins[i]);\n    }\n\n    _grantRole(UPGRADER_ROLE, data.upgrader);\n    _grantRole(GOVERNANCE_ROLE, data.timeLock);\n    _grantRole(CONTRACTS_ADDRESS_MANAGER_ROLE, data.contractsAddressManager);\n  }\n\n  function initializeV2(IVeBetterPassport _veBetterPassport) public reinitializer(2) {\n    __ExternalContracts_init_v2(_veBetterPassport);\n  }\n\n  /**\n   * @dev Initializes the contract with the B3TRGovernor contract.\n   * @param _b3trGovernor The address of the B3TRGovernor contract.\n   */\n  function initializeV7(IB3TRGovernor _b3trGovernor) public onlyRole(UPGRADER_ROLE) reinitializer(7) {\n    __ExternalContracts_init_v3(_b3trGovernor);\n  }\n\n  // ---------- Setters ---------- //\n  /**\n   * @dev Set the address of the X2EarnApps contract\n   */\n  function setX2EarnAppsAddress(IX2EarnApps newX2EarnApps) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    _setX2EarnApps(newX2EarnApps);\n  }\n\n  /**\n   * @dev Set the address of the Emissions contract\n   */\n  function setEmissionsAddress(IEmissions newEmissions) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    _setEmissions(newEmissions);\n  }\n\n  /**\n   * @dev Set the address of the VoterRewards contract\n   */\n  function setVoterRewardsAddress(IVoterRewards newVoterRewards) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    _setVoterRewards(newVoterRewards);\n  }\n\n  /**\n   * @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n   *\n   * Emits a {VotingThresholdSet} event.\n   */\n  function setVotingThreshold(uint256 newVotingThreshold) public virtual override onlyRole(GOVERNANCE_ROLE) {\n    super.setVotingThreshold(newVotingThreshold);\n  }\n\n  /**\n   * @dev Start a new voting round for allocating funds to the x-apps\n   */\n  function startNewRound() public override onlyRole(ROUND_STARTER_ROLE) returns (uint256) {\n    return super.startNewRound();\n  }\n\n  /**\n   * @dev Set the max amount of shares an app can get in a round\n   */\n  function setAppSharesCap(uint256 appSharesCap_) external virtual override onlyRole(GOVERNANCE_ROLE) {\n    _setAppSharesCap(appSharesCap_);\n  }\n\n  /**\n   * @dev Set the base allocation percentage for funds distribution in a round\n   */\n  function setBaseAllocationPercentage(\n    uint256 baseAllocationPercentage_\n  ) public virtual override onlyRole(GOVERNANCE_ROLE) {\n    _setBaseAllocationPercentage(baseAllocationPercentage_);\n  }\n\n  /**\n   * @dev Set the voting period for a round\n   */\n  function setVotingPeriod(uint32 newVotingPeriod) public virtual onlyRole(GOVERNANCE_ROLE) {\n    _setVotingPeriod(newVotingPeriod);\n  }\n\n  /**\n   * @dev Update the quorum a round needs to reach to be successful\n   */\n  function updateQuorumNumerator(uint256 newQuorumNumerator) public virtual override onlyRole(GOVERNANCE_ROLE) {\n    super.updateQuorumNumerator(newQuorumNumerator);\n  }\n\n  /**\n   * @dev Set the VeBetterPassport contract\n   */\n  function setVeBetterPassport(IVeBetterPassport newVeBetterPassport) external onlyRole(GOVERNANCE_ROLE) {\n    _setVeBetterPassport(newVeBetterPassport);\n  }\n\n  /**\n   * @dev Set the B3TRGovernor contract\n   */\n  function setB3TRGovernor(IB3TRGovernor newB3TRGovernor) external onlyRole(GOVERNANCE_ROLE) {\n    _setB3TRGovernor(newB3TRGovernor);\n  }\n\n  // ---------- Getters ---------- //\n\n  /**\n   * Returns the quorum for a given round\n   */\n  function roundQuorum(uint256 roundId) external view returns (uint256) {\n    return quorum(roundSnapshot(roundId));\n  }\n\n  // ---------- Required overrides ---------- //\n\n  function votingPeriod()\n    public\n    view\n    override(XAllocationVotingGovernorV7, VotingSettingsUpgradeableV7)\n    returns (uint256)\n  {\n    return super.votingPeriod();\n  }\n\n  function quorum(\n    uint256 blockNumber\n  ) public view override(XAllocationVotingGovernorV7, VotesQuorumFractionUpgradeableV7) returns (uint256) {\n    return super.quorum(blockNumber);\n  }\n\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view override(AccessControlUpgradeable, XAllocationVotingGovernorV7) returns (bool) {\n    return super.supportsInterface(interfaceId);\n  }\n\n  // ---------- Authorizations ------------ //\n\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n}\n"},"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { IERC165 } from \"@openzeppelin/contracts/interfaces/IERC165.sol\";\nimport { IERC6372 } from \"@openzeppelin/contracts/interfaces/IERC6372.sol\";\n\n/**\n * @dev Interface of the distribution allocation voting for the x-allocation pool reward distributions.\n * This interface was forked from OpenZeppelin's IGovernor.sol and modified to fit the needs of a voting mechanism\n * where a user can vote on multpile x-apps belonging to the ecosystem and fractionalize their votes accross the x-apps.\n *\n * There can be only one round per time.\n * After the round is created  it becomes immediately active.\n * There can be only two possible outcomes of a round: it succeeds or it fails.\n * To succeed the only requirement is that the quorum is reached.\n *\n * New allocation rounds can be started only by the Emissions contract, this way we can align the duration\n * of emission cycles and allocation rounds.\n *\n * If the round fails, we will need to “finalize” it, which means we will create a pointer to the last succeeded round\n * where shares should be calculated. Anyone can finalize the failed round,\n * but it will be automatically done when a new round starts.\n */\ninterface IXAllocationVotingGovernorV8 is IERC165, IERC6372 {\n  enum RoundState {\n    Active,\n    Failed,\n    Succeeded\n  }\n\n  /**\n   * @dev The vote was already cast.\n   */\n  error GovernorAlreadyCastVote(address voter);\n\n  /**\n   * @dev The `account` is not the governance executor.\n   */\n  error B3TRGovernorOnlyExecutor(address account);\n\n  /**\n   * @dev The `roundId` doesn't exist.\n   */\n  error GovernorNonexistentRound(uint256 roundId);\n\n  /**\n   * @dev The current state of a round is not the required for performing an operation.\n   * The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position\n   * counting from right to left.\n   *\n   * NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist).\n   * This is the case when a round that is expected to be unset is already initiated (the round is duplicated).\n   *\n   * See {Governor-_encodeStateBitmap}.\n   */\n  error GovernorUnexpectedRoundState(uint256 roundId, RoundState current, bytes32 expectedStates);\n\n  /**\n   * @dev The voting period set is not a valid period.\n   */\n  error GovernorInvalidVotingPeriod(uint256 votingPeriod);\n\n  /**\n   * @dev The `appId` is not present in the list with the available x-apps for voting in this round.\n   */\n  error GovernorAppNotAvailableForVoting(bytes32 appId);\n\n  /**\n   * @dev The `votingThreshold` is not met.\n   */\n  error GovernorVotingThresholdNotMet(uint256 threshold, uint256 votes);\n\n  /**\n   * @dev The `voter` has insufficient voting power for this round to cast the votes.\n   */\n  error GovernorInsufficientVotingPower();\n\n  /**\n   * The `voter` is not identified as a person via the VeBetterPassport.\n   */\n  error GovernorPersonhoodVerificationFailed(address person, string reason);\n\n  /**\n   * @dev The `person` is not identified as a person via the VeBetterPassport.\n   */\n  error XAllocationVotingPersonhoodVerificationFailed(address person);\n\n  /**\n   * @dev The `voter` has auto-voting not enabled.\n   */\n  error AutoVotingNotEnabled(address voter);\n\n  /**\n   * @dev The `voter` has auto-voting enabled.\n   */\n  error AutoVotingEnabled(address voter);\n\n  /**\n   * @dev Thrown when a zero address is provided for a contract address parameter\n   * @param contractName The name/type of the contract that cannot be zero address\n   */\n  error InvalidContractAddress(string contractName);\n\n  /**\n   * @dev The `caller` is not valid\n   */\n  error InvalidCaller(address caller);\n\n  /**\n   * @dev Emitted when auto-voting is skipped.\n   */\n  event AutoVoteSkipped(\n    address indexed voter,\n    uint256 indexed roundId,\n    bool isPerson,\n    uint256 appCount,\n    uint256 votingPower\n  );\n\n  /**\n   * @dev Emitted when a round is created.\n   */\n  event RoundCreated(uint256 roundId, address proposer, uint256 voteStart, uint256 voteEnd, bytes32[] appsIds);\n\n  /**\n   * @dev Emitted when votes are cast.\n   *\n   */\n  event AllocationVoteCast(address indexed voter, uint256 indexed roundId, bytes32[] appsIds, uint256[] voteWeights);\n\n  /**\n   * @dev Emitted when a vote is cast on behalf of an account.\n   */\n  event AllocationAutoVoteCast(\n    address indexed voter,\n    uint256 indexed roundId,\n    bytes32[] appsIds,\n    uint256[] voteWeights\n  );\n\n  /**\n   * @dev Emitted when autovoting is toggled for an account.\n   */\n  event AutoVotingToggled(address indexed account, bool enabled);\n\n  /**\n   * @dev Emitted when the preferred apps are updated for an account.\n   */\n  event PreferredAppsUpdated(address indexed account, bytes32[] apps);\n\n  /**\n   * @notice module:core\n   * @dev Name of the governor instance (used in building the ERC712 domain separator).\n   */\n  function name() external view returns (string memory);\n\n  /**\n   * @notice module:core\n   * @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"\n   */\n  function version() external view returns (string memory);\n\n  /**\n   * @notice module:voting\n   * @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n   * be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n   * key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n   *\n   * There are 2 standard keys: `support` and `quorum`.\n   *\n   * - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n   * - `support=x-allocations` refers to the fractionalized vote for each x-application.\n   * - `quorum=bravo` means that only For votes are counted towards quorum.\n   * - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n   * - `quorum=auto` means that the contract defines the logic for counting the quorum.\n   *\n   * If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique\n   * name that describes the behavior. For example:\n   *\n   * - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n   * - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n   *\n   * NOTE: The string can be decoded by the standard\n   * https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n   * JavaScript class.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function COUNTING_MODE() external view returns (string memory);\n\n  /**\n   * @notice module:core\n   * @dev Current state of a round\n   */\n  function state(uint256 roundId) external view returns (RoundState);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n   * snapshot is performed at the end of this block. Hence, voting for this round starts at the beginning of the\n   * following block.\n   */\n  function roundSnapshot(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n   * possible to cast a vote during this block.\n   */\n  function roundDeadline(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The account that created a round.\n   */\n  function roundProposer(uint256 roundId) external view returns (address);\n\n  /**\n   * @notice module:user-config\n   * @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n   * (see EIP-6372) this contract uses.\n   *\n   *\n   * NOTE: This value is stored when the round is submitted so that possible changes to the value do not affect\n   * proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n   * interface returns a uint256, the value it returns should fit in a uint32.\n   */\n  function votingPeriod() external view returns (uint256);\n\n  /**\n   * @notice module:user-config\n   * @dev Minimum number of cast voted required for a round to be successful.\n   *\n   * NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n   * quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\n   */\n  function quorum(uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:user-config\n   * @dev Minimum number of cast voted required for a round to be successful.\n   *\n   * NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\n   */\n  function roundQuorum(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Voting power of an `account` at a specific `timepoint`.\n   *\n   * Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n   * multiple), {ERC20Votes} tokens.\n   */\n  function getVotes(address account, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Total number of votes cast in an allocation round.\n   */\n  function totalVotes(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Total number of voters in an allocation round.\n   */\n  function totalVoters(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Number of votes cast for a specific app in an allocation round.\n   */\n  function getAppVotes(uint256 roundId, bytes32 appId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\n   */\n  function getAppVotesQF(uint256 roundId, bytes32 app) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\n   */\n  function totalVotesQF(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:voting\n   * @dev Returns whether `account` has cast a vote on `roundId`.\n   */\n  function hasVoted(uint256 roundId, address account) external view returns (bool);\n\n  /**\n   * @dev Create a new allocation round (round). Vote starts immediatly and lasts for a\n   * duration specified by {votingPeriod}.\n   *\n   * Emits a {RoundCreated} event.\n   */\n  function startNewRound() external returns (uint256 roundId);\n\n  /**\n   * @dev Cast multiple votes at once\n   *\n   * Emits a {AllocationVoteCast} event.\n   */\n  function castVote(uint256 roundId, bytes32[] memory appsIds, uint256[] memory voteWeights) external;\n\n  /**\n   * @dev Toggle autovoting for a user\n   * @param user The address to toggle autovoting for\n   * @notice This function is only callable by the VOT3 contract or the user themselves\n   */\n  function toggleAutoVoting(address user) external;\n\n  /**\n   * @dev Check if autovoting is enabled for an account\n   * @param user The address to check\n   * @return Whether autovoting is enabled for the account\n   */\n  function isUserAutoVotingEnabled(address user) external view returns (bool);\n\n  /**\n   * @dev Check if autovoting is enabled for an account\n   * @param account The address to check\n   * @return Whether autovoting is enabled for the account\n   */\n  function isUserAutoVotingEnabledInCurrentRound(address account) external view returns (bool);\n\n  /**\n   * @dev Check if autovoting is enabled for an account at a specific round\n   * @param account The address to check\n   * @param roundId The round id to check\n   * @return Whether autovoting is enabled for the account at the specific round\n   */\n  function isUserAutoVotingEnabledForRound(address account, uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Check if autovoting is enabled for an account at a specific timepoint\n   */\n  function isUserAutoVotingEnabledAtTimepoint(address account, uint48 timepoint) external view returns (bool);\n\n  /**\n   * @dev Returns the current allocation round round.\n   */\n  function currentRoundId() external view returns (uint256);\n\n  /**\n   * @dev Returns the current allocation round block when it starts.\n   */\n  function currentRoundSnapshot() external view returns (uint256);\n\n  /**\n   * @dev Returns the current allocation round block when it ends.\n   */\n  function currentRoundDeadline() external view returns (uint256);\n\n  /**\n   * \n   @dev Returns if quorum was reached for a specific round.\n   */\n  function quorumReached(uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Returns the ids of apps that are available for voting in a specific round.\n   */\n  function getAppIdsOfRound(uint256 roundId) external view returns (bytes32[] memory);\n\n  /**\n   * @dev Returns if an app can be voted in a specific round.\n   */\n  function isEligibleForVote(bytes32 appId, uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Checks if the state of the round is {RoundState.Active}.\n   */\n  function isActive(uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Returns the id of the last round that succeeded.\n   */\n  function latestSucceededRoundId(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Returns true if an account has voted at least one time in any round.\n   */\n  function hasVotedOnce(address user) external view returns (bool);\n\n  /**\n   * @dev Returns the base allocation percentage for funds distribution in a round.\n   */\n  function getRoundBaseAllocationPercentage(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Returns the max amount of shares an app can get in a round.\n   */\n  function getRoundAppSharesCap(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Validates if an account is a person\n   */\n  function validatePersonhoodForCurrentRound(address account) external view returns (bool);\n\n  /**\n   * @dev Gets total voting power (voting power + deposit voting power) and validates it's greater than zero\n   */\n  function getAndValidateVotingPower(address account, uint256 timepoint) external view returns (uint256, bool);\n\n  /**\n   * @dev Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\n   */\n  function getTotalVotingPower(address voter, uint256 roundStart) external view returns (uint256);\n\n  /**\n   * @dev Get the total number of users who enabled auto-voting at the round start\n   */\n  function getTotalAutoVotingUsersAtRoundStart() external view returns (uint208);\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IX2EarnApps } from \"../../../../interfaces/IX2EarnApps.sol\";\nimport { IXAllocationVotingGovernorV8 as IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernorV8.sol\";\nimport { XAllocationVotingDataTypesV8 } from \"./XAllocationVotingDataTypesV8.sol\";\n\n/**\n * @title AutoVotingLogic\n * @notice Library that handles user preferences for automatic voting in allocation rounds\n * @dev This library is intended to be used by the XAllocationVoting contract\n */\nlibrary AutoVotingLogicV8 {\n  using Checkpoints for Checkpoints.Trace208;\n\n  /**\n   * @notice Emitted when a user toggles their autovoting status\n   * @param account The address of the user\n   * @param enabled Whether autovoting is enabled or disabled\n   */\n  event AutoVotingToggled(address indexed account, bool enabled);\n\n  /**\n   * @notice Emitted when a user updates their preferred apps for autovoting\n   * @param account The address of the user\n   * @param apps The list of app IDs the user prefers to vote for\n   */\n  event PreferredAppsUpdated(address indexed account, bytes32[] apps);\n\n  // ---------- Setters ---------- //\n\n  /**\n   * @dev Toggles autovoting for an account\n   * @param $ The storage struct for AutoVoting preferences\n   * @param xAllocationVotingGovernorAddress The address of the XAllocationVotingGovernor contract\n   * @param account The address to toggle autovoting for\n   * @param clock The current timepoint\n   * @notice\n   * User Enabled: false ──────────────────────→ true\n   * Total Count:  100   ──────────────────────→ 101\n   * User Prefs:   [existing preferences kept]\n   *\n   * User Enabled: true ──────────────────────→ false\n   * Total Count:  101   ──────────────────────→ 100\n   * User Prefs:   [app1, app2] ────────────────→ [] (deleted)\n   */\n  function toggleAutoVoting(\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $,\n    address xAllocationVotingGovernorAddress,\n    address account,\n    uint48 clock\n  ) external {\n    bool currentStatus = $._autoVotingEnabled[account].upperLookupRecent(clock) == 1;\n    bool newStatus = !currentStatus;\n\n    IXAllocationVotingGovernor xAllocationVotingGovernor = IXAllocationVotingGovernor(xAllocationVotingGovernorAddress);\n\n    // If user is enabling autovoting (was disabled, now enabling), check eligibility\n    if (!currentStatus) {\n      xAllocationVotingGovernor.validatePersonhoodForCurrentRound(account);\n      (, bool isValid) = xAllocationVotingGovernor.getAndValidateVotingPower(\n        account,\n        xAllocationVotingGovernor.currentRoundSnapshot()\n      );\n      require(isValid, \"AutoVotingLogic: at least 1 VOT3 is required\");\n      require($._userVotingPreferences[account].length > 0, \"AutoVotingLogic: must select at least one app\");\n    }\n\n    // If user is disabling autovoting (was enabled, now disabling), clear preferences\n    if (currentStatus) {\n      delete $._userVotingPreferences[account];\n    }\n\n    // Push new checkpoint with toggled status\n    $._autoVotingEnabled[account].push(clock, newStatus ? SafeCast.toUint208(1) : SafeCast.toUint208(0));\n\n    uint208 currentTotal = $._totalAutoVotingUsers.upperLookupRecent(clock);\n    uint208 newTotal = newStatus ? currentTotal + 1 : currentTotal - 1;\n    $._totalAutoVotingUsers.push(clock, newTotal);\n\n    emit AutoVotingToggled(account, newStatus);\n  }\n\n  /**\n   * @dev Sets the voting preferences for an account\n   * @param $ The storage struct for AutoVoting preferences\n   * @param x2EarnAppsAddress The address of the X2EarnApps contract\n   * @param account The address to set preferences for\n   * @param apps The list of app IDs to vote for\n   */\n  function setUserVotingPreferences(\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $,\n    address x2EarnAppsAddress,\n    address account,\n    bytes32[] memory apps\n  ) external {\n    require(apps.length > 0, \"AutoVotingLogic: no apps to vote for\");\n    require(apps.length <= 15, \"AutoVotingLogic: must vote for less than 15 apps\");\n\n    IX2EarnApps x2EarnAppsContract = IX2EarnApps(x2EarnAppsAddress);\n\n    // Iterate through the apps and percentages to calculate the total weight of votes cast by the voter\n    for (uint256 i; i < apps.length; i++) {\n      // app must be a valid app\n      require(x2EarnAppsContract.appExists(apps[i]), \"AutoVotingLogic: invalid app\");\n\n      // Check current app against ALL previous apps\n      for (uint256 j; j < i; j++) {\n        require(apps[i] != apps[j], \"AutoVotingLogic: duplicate app\");\n      }\n    }\n\n    $._userVotingPreferences[account] = apps;\n\n    emit PreferredAppsUpdated(account, apps);\n  }\n\n  // ---------- Getters ---------- //\n\n  /**\n   * @dev Checks if autovoting is enabled for an account at the latest timepoint\n   * @param $ The storage struct for AutoVoting preferences\n   * @param account The address to check\n   * @return Whether autovoting is enabled for the account at the latest timepoint\n   */\n  function isAutoVotingEnabled(\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $,\n    address account\n  ) external view returns (bool) {\n    return $._autoVotingEnabled[account].latest() == 1;\n  }\n\n  /**\n   * @dev Checks if autovoting is enabled for an account at a specific timepoint\n   * @param $ The storage struct for AutoVoting preferences\n   * @param account The address to check\n   * @param timepoint The timepoint to check\n   * @return Whether autovoting is enabled for the account at the specific timepoint\n   */\n  function isAutoVotingEnabledAtTimepoint(\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $,\n    address account,\n    uint48 timepoint\n  ) external view returns (bool) {\n    return $._autoVotingEnabled[account].upperLookupRecent(timepoint) == 1;\n  }\n\n  /**\n   * @dev Gets the voting preferences for an account\n   * @param $ The storage struct for AutoVoting preferences\n   * @param account The address to get preferences for\n   * @return The list of app IDs the account prefers to vote for\n   */\n  function getUserVotingPreferences(\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $,\n    address account\n  ) external view returns (bytes32[] memory) {\n    return $._userVotingPreferences[account];\n  }\n\n  /**\n   * @dev Gets the total number of users who enabled autovoting at a specific timepoint\n   * @param $ The storage struct for AutoVoting preferences\n   * @param timepoint The timepoint to check\n   * @return The total number of users who enabled autovoting at the specific timepoint\n   */\n  function getTotalAutoVotingUsersAtTimepoint(\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $,\n    uint48 timepoint\n  ) external view returns (uint208) {\n    return $._totalAutoVotingUsers.upperLookupRecent(timepoint);\n  }\n\n  /**\n   * @dev Gets the total number of users who enabled autovoting at the current timepoint\n   * @param $ The storage struct for AutoVoting preferences\n   * @param clock The current timepoint\n   * @return The total number of users who enabled autovoting at the current timepoint\n   */\n  function getTotalAutoVotingUsers(\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $,\n    uint48 clock\n  ) external view returns (uint208) {\n    return $._totalAutoVotingUsers.upperLookupRecent(clock);\n  }\n\n  /**\n   * @dev Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights\n   * @notice Returns empty arrays if voter has insufficient voting power\n   * @notice Returns empty arrays if no eligible apps found\n   *\n   * @param xAllocationVotingGovernorAddress The address of the XAllocationVotingGovernor contract\n   * @param voter The address of the voter\n   * @param roundId The round ID to vote in\n   * @param preferredApps Array of preferred app IDs\n   *\n   * @return finalAppIds Array of eligible app IDs\n   * @return voteWeights Array of equal vote weights\n   * @return votingPower The voting power of the voter\n   */\n  function prepareAutoVoteArrays(\n    address xAllocationVotingGovernorAddress,\n    address voter,\n    uint256 roundId,\n    bytes32[] memory preferredApps\n  ) external view returns (bytes32[] memory finalAppIds, uint256[] memory voteWeights, uint256 votingPower) {\n    IXAllocationVotingGovernor xAllocationVotingGovernor = IXAllocationVotingGovernor(xAllocationVotingGovernorAddress);\n\n    (uint256 voterAvailableVotes, bool isValid) = xAllocationVotingGovernor.getAndValidateVotingPower(\n      voter,\n      xAllocationVotingGovernor.roundSnapshot(roundId)\n    );\n\n    votingPower = voterAvailableVotes;\n\n    // If voter has insufficient voting power, return empty arrays\n    if (!isValid) {\n      return (new bytes32[](0), new uint256[](0), votingPower);\n    }\n\n    // Count and collect eligible apps\n    uint256 len = preferredApps.length;\n    bytes32[] memory tempAppIds = new bytes32[](len);\n    uint256 count;\n\n    for (uint256 i; i < len; ++i) {\n      if (xAllocationVotingGovernor.isEligibleForVote(preferredApps[i], roundId)) {\n        tempAppIds[count++] = preferredApps[i];\n      }\n    }\n\n    // If no eligible apps found, return empty arrays\n    if (count == 0) {\n      return (new bytes32[](0), new uint256[](0), votingPower);\n    }\n\n    // Create final arrays with exact size\n    finalAppIds = new bytes32[](count);\n    voteWeights = new uint256[](count);\n    uint256 votePerApp = votingPower / count;\n    uint256 remainingVotes = votingPower % count;\n\n    for (uint256 i; i < count; ++i) {\n      finalAppIds[i] = tempAppIds[i];\n      voteWeights[i] = votePerApp;\n\n      // Distribute remainder: give 1 extra wei to first N apps\n      // Edge case: when user has 1 VOT3 and select 3 apps, this will give 1 extra wei to the first app\n      if (i < remainingVotes) {\n        voteWeights[i] += 1;\n      }\n    }\n\n    return (finalAppIds, voteWeights, votingPower);\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\n\n/**\n * @title XAllocationVotingDataTypes\n * @notice Library defining data types used in the XAllocationVoting contract\n * @dev Contains storage structures and data types for allocation voting functionality\n */\nlibrary XAllocationVotingDataTypesV8 {\n  /**\n   * @dev Storage structure for AutoVoting\n   * @param _autoVotingEnabled Mapping of user addresses to their auto-voting status checkpoints\n   * @param _userVotingPreferences Mapping of user addresses to their preferred app IDs\n   * @param _totalAutoVotingUsers Checkpoint tracking total number of auto-voting users\n   */\n  struct AutoVotingStorage {\n    mapping(address => Checkpoints.Trace208) _autoVotingEnabled;\n    mapping(address => bytes32[]) _userVotingPreferences;\n    Checkpoints.Trace208 _totalAutoVotingUsers;\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { IX2EarnApps } from \"../../../../interfaces/IX2EarnApps.sol\";\nimport { XAllocationVotingGovernorV8 as XAllocationVotingGovernor } from \"../XAllocationVotingGovernorV8.sol\";\nimport { AutoVotingLogicV8 } from \"../libraries/AutoVotingLogicV8.sol\";\nimport { XAllocationVotingDataTypesV8 } from \"../libraries/XAllocationVotingDataTypesV8.sol\";\n\n/**\n * @title AutoVotingLogicUpgradeable\n * @notice Handles user preferences for automatic voting in allocation rounds\n * @dev This module is intended to be inherited by the XAllocationVoting contract\n */\nabstract contract AutoVotingLogicUpgradeableV8 is XAllocationVotingGovernor {\n  /// @notice Storage location for AutoVoting data using ERC-7201 namespaced storage pattern\n  /// @dev This constant defines the storage slot for AutoVotingStorage struct (defined in XAllocationVotingDataTypes)\n  /// @dev Calculated as: keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.AutoVoting\")) - 1)) & ~bytes32(uint256(0xff))\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.AutoVoting\n  bytes32 private constant AutoVotingStorageLocation =\n    0x38ba4d920474025bc119851d51630794ab25dc91b5f613afc3c0e85f09fdc100;\n\n  function _getAutoVotingStorage() private pure returns (XAllocationVotingDataTypesV8.AutoVotingStorage storage $) {\n    assembly {\n      $.slot := AutoVotingStorageLocation\n    }\n  }\n\n  /**\n   * @dev Get the X2EarnApps contract interface\n   * @return The X2EarnApps contract interface\n   */\n  function x2EarnApps() public view virtual override returns (IX2EarnApps);\n\n  // ---------- Setters ---------- //\n\n  /**\n   * @dev Toggles autovoting for an account\n   */\n  function _toggleAutoVoting(address account) internal virtual override {\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $ = _getAutoVotingStorage();\n    AutoVotingLogicV8.toggleAutoVoting($, address(this), account, clock());\n  }\n\n  /**\n   * @dev Sets the voting preferences for an account\n   */\n  function _setUserVotingPreferences(address account, bytes32[] memory apps) internal virtual {\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $ = _getAutoVotingStorage();\n    AutoVotingLogicV8.setUserVotingPreferences($, address(x2EarnApps()), account, apps);\n  }\n\n  /**\n   * @dev Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights\n   */\n  function _prepareAutoVoteArrays(\n    address voter,\n    uint256 roundId,\n    bytes32[] memory preferredApps\n  )\n    internal\n    virtual\n    override\n    returns (bytes32[] memory finalAppIds, uint256[] memory voteWeights, uint256 votingPower)\n  {\n    return AutoVotingLogicV8.prepareAutoVoteArrays(address(this), voter, roundId, preferredApps);\n  }\n\n  // ---------- Getters ---------- //\n\n  /**\n   * @dev Checks if autovoting is enabled for an account at latest timepoint\n   */\n  function _isAutoVotingEnabled(address account) internal view virtual override returns (bool) {\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $ = _getAutoVotingStorage();\n    return AutoVotingLogicV8.isAutoVotingEnabled($, account);\n  }\n\n  /**\n   * @dev Checks if autovoting is enabled for an account at a specific timepoint\n   */\n  function _isAutoVotingEnabledAtTimepoint(\n    address account,\n    uint48 timepoint\n  ) internal view virtual override returns (bool) {\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $ = _getAutoVotingStorage();\n    return AutoVotingLogicV8.isAutoVotingEnabledAtTimepoint($, account, timepoint);\n  }\n\n  /**\n   * @dev Gets the voting preferences for an account\n   */\n  function _getUserVotingPreferences(address account) internal view virtual override returns (bytes32[] memory) {\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $ = _getAutoVotingStorage();\n    return AutoVotingLogicV8.getUserVotingPreferences($, account);\n  }\n\n  /**\n   * @dev Gets the total number of users who enabled autovoting at a specific timepoint\n   */\n  function _getTotalAutoVotingUsersAtTimepoint(uint48 timepoint) internal view virtual override returns (uint208) {\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $ = _getAutoVotingStorage();\n    return AutoVotingLogicV8.getTotalAutoVotingUsersAtTimepoint($, timepoint);\n  }\n\n  /**\n   * @dev Gets the total number of users who enabled autovoting at the current timepoint\n   */\n  function _getTotalAutoVotingUsers() internal view virtual returns (uint208) {\n    XAllocationVotingDataTypesV8.AutoVotingStorage storage $ = _getAutoVotingStorage();\n    return AutoVotingLogicV8.getTotalAutoVotingUsers($, clock());\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV8 as XAllocationVotingGovernor } from \"../XAllocationVotingGovernorV8.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { IEmissions } from \"../../../../interfaces/IEmissions.sol\";\nimport { IX2EarnApps } from \"../../../../interfaces/IX2EarnApps.sol\";\nimport { IVoterRewards } from \"../../../../interfaces/IVoterRewards.sol\";\nimport { IVeBetterPassport } from \"../../../../interfaces/IVeBetterPassport.sol\";\nimport { IB3TRGovernor } from \"../../../../interfaces/IB3TRGovernor.sol\";\nimport { IRelayerRewardsPool } from \"../../../../interfaces/IRelayerRewardsPool.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\n\n/**\n * @title ExternalContractsUpgradeable\n * @dev Extension of {XAllocationVotingGovernor} that handles the storage of external contracts for the XAllocationVotingGovernorV8.\n */\nabstract contract ExternalContractsUpgradeableV8 is Initializable, XAllocationVotingGovernor {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.ExternalContracts\n  struct ExternalContractsStorage {\n    IX2EarnApps _x2EarnApps;\n    IEmissions _emissions;\n    IVoterRewards _voterRewards;\n    IVeBetterPassport _veBetterPassport;\n    IB3TRGovernor _b3trGovernor;\n    IRelayerRewardsPool _relayerRewardsPool;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.ExternalContracts\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant ExternalContractsStorageLocation =\n    0x1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00;\n\n  function _getExternalContractsStorage() internal pure returns (ExternalContractsStorage storage $) {\n    assembly {\n      $.slot := ExternalContractsStorageLocation\n    }\n  }\n\n  // @dev Emit when the emissions contract is set\n  event EmissionsSet(address oldContractAddress, address newContractAddress);\n  // @dev Emit when the X2EarnApps contract is set\n  event X2EarnAppsSet(address oldContractAddress, address newContractAddress);\n  // @dev Emit when the voter rewards contract is set\n  event VoterRewardsSet(address oldContractAddress, address newContractAddress);\n  // @dev Emit when the VeBetterPassport contract is set\n  event VeBetterPassportSet(address oldContractAddress, address newContractAddress);\n  // @dev Emit when the RelayerRewardsPool contract is set\n  event RelayerRewardsPoolSet(address oldContractAddress, address newContractAddress);\n  // @dev Emit when the B3TRGovernor contract is set\n  event B3TRGovernorSet(address oldContractAddress, address newContractAddress);\n\n  /**\n   * @dev Initializes the contract\n   * @param initialX2EarnApps The initial X2EarnApps contract address\n   * @param initialEmissions The initial Emissions contract address\n   * @param initialVoterRewards The initial VoterRewards contract address\n   */\n  function __ExternalContracts_init(\n    IX2EarnApps initialX2EarnApps,\n    IEmissions initialEmissions,\n    IVoterRewards initialVoterRewards\n  ) internal onlyInitializing {\n    __ExternalContracts_init_unchained(initialX2EarnApps, initialEmissions, initialVoterRewards);\n  }\n\n  function __ExternalContracts_init_unchained(\n    IX2EarnApps initialX2EarnApps,\n    IEmissions initialEmissions,\n    IVoterRewards initialVoterRewards\n  ) internal onlyInitializing {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    $._x2EarnApps = initialX2EarnApps;\n    $._emissions = initialEmissions;\n    $._voterRewards = initialVoterRewards;\n  }\n\n  // ------- Getters ------- //\n  /**\n   * @dev The X2EarnApps contract.\n   */\n  function x2EarnApps() public view virtual override returns (IX2EarnApps) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._x2EarnApps;\n  }\n\n  /**\n   * @dev The emissions contract.\n   */\n  function emissions() public view override returns (IEmissions) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._emissions;\n  }\n\n  /**\n   * @dev Get the voter rewards contract\n   */\n  function voterRewards() public view override returns (IVoterRewards) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._voterRewards;\n  }\n\n  function veBetterPassport() public view override returns (IVeBetterPassport) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._veBetterPassport;\n  }\n\n  /**\n   * @dev Get the B3TRGovernor contract\n   */\n  function b3trGovernor() public view override returns (IB3TRGovernor) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._b3trGovernor;\n  }\n\n  /**\n   * @dev Get the RelayerRewardsPool contract\n   */\n  function relayerRewardsPool() public view override returns (IRelayerRewardsPool) {\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    return $._relayerRewardsPool;\n  }\n\n  // ------- Internal Functions ------- //\n\n  /**\n   * @dev Sets the emissions contract.\n   *\n   * Emits a {EmissionContractSet} event\n   */\n  function _setEmissions(IEmissions newEmisionsAddress) internal virtual {\n    if (address(newEmisionsAddress) == address(0)) revert InvalidContractAddress(\"emissions\");\n\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    $._emissions = IEmissions(newEmisionsAddress);\n    emit EmissionsSet(address($._emissions), address(newEmisionsAddress));\n  }\n\n  /**\n   * @dev Sets the X2EarnApps contract\n   * @param newX2EarnApps The new X2EarnApps contract address\n   *\n   * Emits a {X2EarnAppsSet} event\n   */\n  function _setX2EarnApps(IX2EarnApps newX2EarnApps) internal virtual {\n    if (address(newX2EarnApps) == address(0)) revert InvalidContractAddress(\"X2EarnApps\");\n\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n\n    $._x2EarnApps = newX2EarnApps;\n    emit X2EarnAppsSet(address($._x2EarnApps), address(newX2EarnApps));\n  }\n\n  /**\n   * @dev Sets the voter rewards contract\n   * @param newVoterRewards The new voter rewards contract address\n   */\n  function _setVoterRewards(IVoterRewards newVoterRewards) internal virtual {\n    if (address(newVoterRewards) == address(0)) revert InvalidContractAddress(\"voter rewards\");\n\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n\n    $._voterRewards = newVoterRewards;\n    emit VoterRewardsSet(address($._voterRewards), address(newVoterRewards));\n  }\n\n  /**\n   * @dev Sets the VeBetterPassport contract\n   * @param newVeBetterPassport The new VeBetterPassport contract address\n   */\n  function _setVeBetterPassport(IVeBetterPassport newVeBetterPassport) internal virtual {\n    if (address(newVeBetterPassport) == address(0)) revert InvalidContractAddress(\"VeBetterPassport\");\n\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n\n    $._veBetterPassport = newVeBetterPassport;\n    emit VeBetterPassportSet(address($._veBetterPassport), address(newVeBetterPassport));\n  }\n\n  /**\n   * @dev Sets the B3TRGovernor contract\n   * @param newB3TRGovernor The new B3TRGovernor contract address\n   */\n  function _setB3TRGovernor(IB3TRGovernor newB3TRGovernor) internal virtual {\n    if (address(newB3TRGovernor) == address(0)) revert InvalidContractAddress(\"B3TRGovernor\");\n\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n\n    $._b3trGovernor = newB3TRGovernor;\n    emit B3TRGovernorSet(address($._b3trGovernor), address(newB3TRGovernor));\n  }\n\n  /**\n   * @dev Sets the RelayerRewardsPool contract\n   * @param newRelayerRewardsPool The new RelayerRewardsPool contract address\n   */\n  function _setRelayerRewardsPool(IRelayerRewardsPool newRelayerRewardsPool) internal virtual {\n    if (address(newRelayerRewardsPool) == address(0)) revert InvalidContractAddress(\"RelayerRewardsPool\");\n\n    ExternalContractsStorage storage $ = _getExternalContractsStorage();\n    $._relayerRewardsPool = newRelayerRewardsPool;\n\n    emit RelayerRewardsPoolSet(address($._relayerRewardsPool), address(newRelayerRewardsPool));\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { XAllocationVotingGovernorV8 as XAllocationVotingGovernor } from \"../XAllocationVotingGovernorV8.sol\";\n\n/**\n * @title RoundEarningsSettingsUpgradeable\n * @notice Extension of {XAllocationVotingGovernor} to handle the settings for the x-allocation earnings calculations:\n * - baseAllocationPercentage: The base allocation percentage to be divided among the x-apps each round\n * - appSharesCap: The maximum percentage of shares an x-app can reach in each round\n *\n * Since the base allocation percentage and app shares cap can be updated, we store the values for each round.\n */\nabstract contract RoundEarningsSettingsUpgradeableV8 is Initializable, XAllocationVotingGovernor {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.RoundEarningsSettings\n  struct EarningsSettingsStorage {\n    uint256 baseAllocationPercentage;\n    uint256 appSharesCap;\n    mapping(uint256 roundId => uint256) _roundBaseAllocationPercentage;\n    mapping(uint256 roundId => uint256) _roundAppSharesCap;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.RoundEarningsSettings\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant EarningsSettingsStorageLocation =\n    0xc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c3500;\n\n  function _getEarningsSettingsStorage() internal pure returns (EarningsSettingsStorage storage $) {\n    assembly {\n      $.slot := EarningsSettingsStorageLocation\n    }\n  }\n\n  // ---------- Initialization ---------- //\n\n  /**\n   * @dev Initialize the contract\n   * @param initialBaseAllocationPercentage The initial base allocation percentage\n   * @param initialAppSharesCap The initial app shares cap\n   */\n  function __RoundEarningsSettings_init(\n    uint256 initialBaseAllocationPercentage,\n    uint256 initialAppSharesCap\n  ) internal onlyInitializing {\n    __RoundEarningsSettings_init_unchained(initialBaseAllocationPercentage, initialAppSharesCap);\n  }\n\n  function __RoundEarningsSettings_init_unchained(\n    uint256 initialBaseAllocationPercentage,\n    uint256 initialAppSharesCap\n  ) internal onlyInitializing {\n    _setBaseAllocationPercentage(initialBaseAllocationPercentage);\n    _setAppSharesCap(initialAppSharesCap);\n  }\n\n  // ---------- Getters ---------- //\n\n  /**\n   * @notice Get the base allocation percentage\n   */\n  function baseAllocationPercentage() public view returns (uint256) {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    return $.baseAllocationPercentage;\n  }\n\n  /**\n   * @notice Get the app shares cap\n   */\n  function appSharesCap() public view returns (uint256) {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    return $.appSharesCap;\n  }\n\n  /**\n   * Returns the base allocation percentage for a given round\n   */\n  function getRoundBaseAllocationPercentage(uint256 roundId) public view returns (uint256) {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    return $._roundBaseAllocationPercentage[roundId];\n  }\n\n  /**\n   * Returns the app shares cap for a given round\n   */\n  function getRoundAppSharesCap(uint256 roundId) public view returns (uint256) {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    return $._roundAppSharesCap[roundId];\n  }\n\n  // ---------- Internal ---------- //\n\n  /**\n   * @notice Set the base allocation percentage\n   * @param baseAllocationPercentage_ The new base allocation percentage\n   */\n  function _setBaseAllocationPercentage(uint256 baseAllocationPercentage_) internal {\n    require(\n      baseAllocationPercentage_ <= 100,\n      \"XAllocationVotingGovernor: Base allocation percentage must be less than or equal to 100\"\n    );\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    $.baseAllocationPercentage = baseAllocationPercentage_;\n  }\n\n  /**\n   * @notice Set the app shares cap\n   * @param appSharesCap_ The new app shares cap\n   */\n  function _setAppSharesCap(uint256 appSharesCap_) internal {\n    require(appSharesCap_ <= 100, \"XAllocationVotingGovernor: App shares cap must be less than or equal to 100\");\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    $.appSharesCap = appSharesCap_;\n  }\n\n  /**\n   * @dev Save the earnings settings for a new round\n   * @param roundId The id of the new round\n   */\n  function _snapshotRoundEarningsCap(uint256 roundId) internal virtual override {\n    EarningsSettingsStorage storage $ = _getEarningsSettingsStorage();\n    $._roundBaseAllocationPercentage[roundId] = $.baseAllocationPercentage;\n    $._roundAppSharesCap[roundId] = $.appSharesCap;\n  }\n\n  // ---------- Setters ---------- //\n\n  /**\n   * @dev See {IXAllocationVotingGovernor-setBaseAllocationPercentage}.\n   */\n  function setAppSharesCap(uint256 appSharesCap_) external virtual;\n\n  /**\n   * @dev See {IXAllocationVotingGovernor-setBaseAllocationPercentage}.\n   */\n  function setBaseAllocationPercentage(uint256 baseAllocationPercentage_) external virtual;\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV8 as XAllocationVotingGovernor } from \"../XAllocationVotingGovernorV8.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\n\n/**\n * @title RoundFinalizationUpgradeable\n * @notice Extension of {XAllocationVotingGovernor} that handles the finalization of rounds\n * @dev If a round does not meet the quorum (RoundState.Failed) we need to know the last round that succeeded,\n * so we can calculate the earnings for the x-2-earn-apps upon that round. By always pointing each round at the last succeeded one, if a round fails,\n * it will be enough to look at what round the previous one points to.\n */\nabstract contract RoundFinalizationUpgradeableV8 is Initializable, XAllocationVotingGovernor {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.RoundFinalization\n  struct RoundFinalizationStorage {\n    mapping(uint256 roundId => uint256) _latestSucceededRoundId;\n    mapping(uint256 roundId => bool) _roundFinalized;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.RoundFinalization\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant RoundFinalizationStorageLocation =\n    0x7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e502500;\n\n  function _getRoundFinalizationStorage() internal pure returns (RoundFinalizationStorage storage $) {\n    assembly {\n      $.slot := RoundFinalizationStorageLocation\n    }\n  }\n\n  /**\n   * @dev Initializes the contract\n   */\n  function __RoundFinalization_init() internal onlyInitializing {\n    __RoundFinalization_init_unchained();\n  }\n\n  function __RoundFinalization_init_unchained() internal onlyInitializing {}\n\n  // ------- Setters ------- //\n\n  /**\n   * @dev Store the last succeeded round for the given round\n   * @param roundId The round to finalize\n   */\n  function finalizeRound(uint256 roundId) public virtual override {\n    require(!isActive(roundId), \"XAllocationVotingGovernor: round is not ended yet\");\n\n    RoundFinalizationStorage storage $ = _getRoundFinalizationStorage();\n    // First round is always considered succeeded\n    if (roundId == 1) {\n      $._latestSucceededRoundId[roundId] = 1;\n      $._roundFinalized[roundId] = true;\n      return;\n    }\n\n    if (state(roundId) == RoundState.Succeeded) {\n      // if round is succeeded, it is the last succeeded round\n      $._latestSucceededRoundId[roundId] = roundId;\n      $._roundFinalized[roundId] = true;\n    } else if (state(roundId) == RoundState.Failed) {\n      // if round is failed, it points to the last succeeded round\n      $._latestSucceededRoundId[roundId] = $._latestSucceededRoundId[roundId - 1];\n      $._roundFinalized[roundId] = true;\n    }\n  }\n\n  // ------- Getters ------- //\n\n  /**\n   * @dev Get the last succeeded round for the given round\n   */\n  function latestSucceededRoundId(uint256 roundId) external view returns (uint256) {\n    RoundFinalizationStorage storage $ = _getRoundFinalizationStorage();\n    return $._latestSucceededRoundId[roundId];\n  }\n\n  /**\n   * @dev Check if the round is finalized\n   */\n  function isFinalized(uint256 roundId) external view returns (bool) {\n    RoundFinalizationStorage storage $ = _getRoundFinalizationStorage();\n    return $._roundFinalized[roundId];\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV8 as XAllocationVotingGovernor } from \"../XAllocationVotingGovernorV8.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { X2EarnAppsDataTypes } from \"../../../../libraries/X2EarnAppsDataTypes.sol\";\n\n/**\n * @title RoundsStorageUpgradeable\n * @dev Extension of {XAllocationVotingGovernor} for storing rounds data and managing the rounds lifecycle.\n */\nabstract contract RoundsStorageUpgradeableV8 is Initializable, XAllocationVotingGovernor {\n  struct RoundCore {\n    address proposer;\n    uint48 voteStart;\n    uint32 voteDuration;\n  }\n\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.RoundsStorage\n  struct RoundsStorageStorage {\n    uint256 _roundCount; // counter to count the number of proposals and also used to create the id\n    mapping(uint256 roundId => RoundCore) _rounds; // mapping to store the round data\n    mapping(uint256 roundId => bytes32[]) _appsEligibleForVoting; // mapping to store the apps eligible for voting in each round\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.RoundsStorage\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant RoundsStorageStorageLocation =\n    0x0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f1900;\n\n  function _getRoundsStorageStorage() internal pure returns (RoundsStorageStorage storage $) {\n    assembly {\n      $.slot := RoundsStorageStorageLocation\n    }\n  }\n\n  /**\n   * @dev Initializes the contract\n   */\n  function __RoundsStorage_init() internal onlyInitializing {\n    __RoundsStorage_init_unchained();\n  }\n\n  function __RoundsStorage_init_unchained() internal onlyInitializing {}\n\n  // ------- Setters ------- //\n\n  /**\n   * @dev Internal function to start a new round\n   * @param proposer The address of the proposer\n   * @return roundId The id of the new round\n   *\n   * Emits a {RoundCreated} event\n   */\n  function _startNewRound(address proposer) internal virtual override returns (uint256 roundId) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n\n    ++$._roundCount;\n    roundId = $._roundCount;\n    if ($._rounds[roundId].voteStart != 0) {\n      revert GovernorUnexpectedRoundState(roundId, state(roundId), bytes32(0));\n    }\n\n    // Do not run for the first round\n    if (roundId > 1) {\n      // finalize the previous round\n      finalizeRound(roundId - 1);\n    }\n\n    // save x-apps that users can vote for\n    bytes32[] memory apps = x2EarnApps().allEligibleApps();\n    $._appsEligibleForVoting[roundId] = apps;\n\n    _snapshotRoundEarningsCap(roundId);\n\n    uint256 snapshot = clock();\n    uint256 duration = votingPeriod();\n\n    RoundCore storage round = $._rounds[roundId];\n    round.proposer = proposer;\n    round.voteStart = SafeCast.toUint48(snapshot);\n    round.voteDuration = SafeCast.toUint32(duration);\n\n    /**\n     * Auto-voting:\n     * 1. Get the number of users with auto-voting enabled at round start\n     * 2. Set the total actions for this round in RelayerRewardsPool\n     */\n    uint208 totalAutoVotingUsers = _getTotalAutoVotingUsersAtTimepoint(SafeCast.toUint48(snapshot));\n    if (totalAutoVotingUsers > 0) {\n      relayerRewardsPool().setTotalActionsForRound(roundId, totalAutoVotingUsers);\n    }\n\n    emit RoundCreated(roundId, proposer, snapshot, snapshot + duration, apps);\n\n    // Using a named return variable to avoid stack too deep errors\n  }\n\n  // ------- Getters ------- //\n\n  /**\n   * @dev Get the data of a round\n   */\n  function getRound(uint256 roundId) external view returns (RoundCore memory) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._rounds[roundId];\n  }\n\n  /**\n   * @dev Get the current round id\n   */\n  function currentRoundId() public view virtual override returns (uint256) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._roundCount;\n  }\n\n  /**\n   * @dev Get the current round start block\n   */\n  function currentRoundSnapshot() public view virtual override returns (uint256) {\n    return roundSnapshot(currentRoundId());\n  }\n\n  /**\n   * @dev Get the current round deadline block\n   */\n  function currentRoundDeadline() public view virtual returns (uint256) {\n    return roundDeadline(currentRoundId());\n  }\n\n  /**\n   * @dev Get the start block of a round\n   */\n  function roundSnapshot(uint256 roundId) public view virtual override returns (uint256) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._rounds[roundId].voteStart;\n  }\n\n  /**\n   * @dev Get the deadline block of a round\n   */\n  function roundDeadline(uint256 roundId) public view virtual override returns (uint256) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._rounds[roundId].voteStart + $._rounds[roundId].voteDuration;\n  }\n\n  /**\n   * @dev Get the proposer of a round\n   */\n  function roundProposer(uint256 roundId) public view virtual returns (address) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._rounds[roundId].proposer;\n  }\n\n  /**\n   * @dev Get the ids of the apps eligible for voting in a round\n   */\n  function getAppIdsOfRound(uint256 roundId) public view override returns (bytes32[] memory) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n    return $._appsEligibleForVoting[roundId];\n  }\n\n  /**\n   * @dev Get all the apps in the form of {App} eligible for voting in a round\n   *\n   * @notice This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound}\n   * and then call {IX2EarnApps-app} for each app id\n   */\n  function getAppsOfRound(\n    uint256 roundId\n  ) external view returns (X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory) {\n    RoundsStorageStorage storage $ = _getRoundsStorageStorage();\n\n    bytes32[] memory appsInRound = $._appsEligibleForVoting[roundId];\n    uint256 length = appsInRound.length;\n    X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory allApps = new X2EarnAppsDataTypes.AppWithDetailsReturnType[](\n      length\n    );\n\n    for (uint i; i < length; i++) {\n      allApps[i] = x2EarnApps().app(appsInRound[i]);\n    }\n    return allApps;\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV8 as XAllocationVotingGovernor } from \"../XAllocationVotingGovernorV8.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { Math } from \"@openzeppelin/contracts/utils/math/Math.sol\";\n\n/**\n * @title RoundVotesCountingUpgradeable\n *\n * @dev Extension of {XAllocationVotingGovernor} for counting votes for allocation rounds.\n *\n * In every round users can vote a fraction of their balance for the eligible apps in that round.\n *\n * ----- Version 5 -----\n * - Fixed duplicate app voting in same transaction in {_countVote}\n */\nabstract contract RoundVotesCountingUpgradeableV8 is Initializable, XAllocationVotingGovernor {\n  struct RoundVote {\n    // Total votes received for each app\n    mapping(bytes32 appId => uint256) votesReceived;\n    // Total votes received for each app in quadratic funding\n    mapping(bytes32 appId => uint256) votesReceivedQF; // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ...\n    // Total votes cast in the round\n    uint256 totalVotes;\n    // Total votes cast in the round in quadratic funding\n    uint256 totalVotesQF; // ∑(∑sqrt(votes))^2 -> (sqrt(votesAppX1) + sqrt(votesAppX2) + ...)^2 + (sqrt(votesAppY1) + sqrt(votesAppY2) + ...)^2 + ...\n    // Mapping to store if a user has voted\n    mapping(address user => bool) hasVoted;\n    // Total number of voters in the round\n    uint256 totalVoters;\n  }\n\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.RoundVotesCounting\n  struct RoundVotesCountingStorage {\n    mapping(address user => bool) _hasVotedOnce; // mapping to store that a user has voted at least one time\n    mapping(uint256 roundId => RoundVote) _roundVotes; // mapping to store the votes for each round\n    uint256 votingThreshold; // minimum number of tokens needed to cast a vote\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.RoundVotesCounting\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant RoundVotesCountingStorageLocation =\n    0xa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d500;\n\n  function _getRoundVotesCountingStorage() private pure returns (RoundVotesCountingStorage storage $) {\n    assembly {\n      $.slot := RoundVotesCountingStorageLocation\n    }\n  }\n\n  //@notice emitted when a the minimum number of tokens needed to cast a vote is updated\n  event VotingThresholdSet(uint256 oldVotingThreshold, uint256 newVotingThreshold);\n\n  /// @dev Error thrown when trying to vote for the same app multiple times in one transaction\n  error DuplicateAppVote();\n\n  /**\n   * @dev Initializes the contract\n   */\n  function __RoundVotesCounting_init(uint256 _votingThreshold) internal onlyInitializing {\n    __RoundVotesCounting_init_unchained(_votingThreshold);\n  }\n\n  function __RoundVotesCounting_init_unchained(uint256 _votingThreshold) internal onlyInitializing {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n\n    $.votingThreshold = _votingThreshold;\n  }\n\n  /**\n   * @dev See {IXAllocationVotingGovernor-COUNTING_MODE}.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function COUNTING_MODE() public pure virtual override returns (string memory) {\n    return \"support=x-allocations&quorum=auto\";\n  }\n\n  /**\n   * @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n   *\n   * Emits a {VotingThresholdSet} event.\n   */\n  function setVotingThreshold(uint256 newVotingThreshold) public virtual {\n    _setVotingThreshold(newVotingThreshold);\n  }\n\n  /**\n   * @dev Internal setter for the voting threshold.\n   *\n   * Emits a {VotingThresholdSet} event.\n   */\n  function _setVotingThreshold(uint256 newVotingThreshold) internal virtual {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n\n    emit VotingThresholdSet($.votingThreshold, newVotingThreshold);\n    $.votingThreshold = newVotingThreshold;\n  }\n\n  /**\n   * @dev Counts votes for a given round of voting, applying quadratic funding principles.\n   * Allows a voter to allocate weights to various applications (apps) for a specific voting round,\n   * ensuring each voter votes only once per round to prevent double voting.\n   *\n   * Quadratic funding is used to calculate the impact of each vote. For each app, the square root of the \n   * individual vote's weight is computed and added to the total sum of square roots for that app.\n   * After updating with each vote, this sum of square roots is squared to determine the total quadratic funding votes for the app. \n   * This method aims to democratize the voting process by amplifying the influence of a larger number of smaller votes.\n\n   * Requirements:\n   * - The voter must not have voted in this round already.\n   * - The total voting weight allocated by the voter must not exceed the voter's available voting power.\n   * - Each app voted on must be eligible for votes in the current round.\n   *\n   * @param roundId The identifier of the current voting round.\n   * @param voter The address of the voter casting the votes.\n   * @param apps An array of app identifiers that the voter is allocating votes to.\n   * @param weights An array of vote weights corresponding to each app.\n   */\n\n  function _countVote(\n    uint256 roundId,\n    address voter,\n    bytes32[] memory apps,\n    uint256[] memory weights\n  ) internal virtual override {\n    if (hasVoted(roundId, voter)) {\n      revert GovernorAlreadyCastVote(voter);\n    }\n\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n\n    // Get the start of the round\n    uint256 roundStart = roundSnapshot(roundId);\n\n    // To hold the total weight of votes cast by the voter\n    uint256 totalWeight;\n    // To hold the total adjustment to the quadratic funding value for the given app\n    uint256 totalQFVotesAdjustment;\n\n    // Get the total voting power of the voter to use in the for loop to check\n    // if the total weight of votes cast by the voter is greater than the voter's available voting power\n    uint256 voterAvailableVotes = getTotalVotingPower(voter, roundStart);\n\n    // Iterate through the apps and weights to calculate the total weight of votes cast by the voter\n    for (uint256 i; i < apps.length; i++) {\n      // Check current app against ALL previous apps\n      for (uint256 j; j < i; j++) {\n        if (apps[i] == apps[j]) {\n          revert DuplicateAppVote();\n        }\n      }\n\n      totalWeight += weights[i];\n\n      if (totalWeight > voterAvailableVotes) {\n        revert GovernorInsufficientVotingPower();\n      }\n\n      // Check if the app is eligible for votes in the current round\n      if (!isEligibleForVote(apps[i], roundId)) {\n        revert GovernorAppNotAvailableForVoting(apps[i]);\n      }\n\n      // Get the current sum of the square roots of individual votes for the given project\n      uint256 qfAppVotesPreVote = $._roundVotes[roundId].votesReceivedQF[apps[i]]; // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ... + sqrt(votesN)\n\n      // Calculate the new sum of the square roots of individual votes for the given project -> If the weight is greater than 1, calculate the square root of the weight, otherwise use the weight and divide it by 1e9 ((sqrt(1e18)) = 1e9)\n      uint256 newQFVotes = weights[i] > 1e18 ? Math.sqrt(weights[i]) : weights[i] / 1e9; // sqrt(votes)\n      uint256 qfAppVotesPostVote = qfAppVotesPreVote + newQFVotes; // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ... + sqrt(votesN) + sqrt(votesN+1)\n\n      // Calculate the adjustment to the quadratic funding value for the given app\n      totalQFVotesAdjustment += (qfAppVotesPostVote * qfAppVotesPostVote) - (qfAppVotesPreVote * qfAppVotesPreVote); // (sqrt(votes1) + ... + sqrt(votesN+1))^2 - (sqrt(votes1) + ... + sqrt(votesN))^2\n\n      // Update the quadratic funding votes received for the given app - sum of the square roots of individual votes\n      $._roundVotes[roundId].votesReceivedQF[apps[i]] = qfAppVotesPostVote; // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ... + sqrt(votesN+1)\n      $._roundVotes[roundId].votesReceived[apps[i]] += weights[i]; // ∑votes + votesN+1\n    }\n\n    // Check if the total weight of votes cast by the voter is greater than the voting threshold\n    if (totalWeight < votingThreshold()) {\n      revert GovernorVotingThresholdNotMet(votingThreshold(), totalWeight);\n    }\n\n    // Apply the total adjustment to storage\n    $._roundVotes[roundId].totalVotesQF += totalQFVotesAdjustment; // update the total quadratic funding value for the round - ∑(∑sqrt(votes))^2 -> (sqrt(votesAppX1) + sqrt(votesAppX2) + ...)^2 + (sqrt(votesAppY1) + sqrt(votesAppY2) + ...)^2 + ...\n    $._roundVotes[roundId].totalVotes += totalWeight; // update total votes -> ∑votes + votesN+1\n    $._roundVotes[roundId].hasVoted[voter] = true; // mark the voter as having voted\n    $._roundVotes[roundId].totalVoters++; // increment the total number of voters\n\n    // save that user cast vote only the first time\n    if (!$._hasVotedOnce[voter]) {\n      $._hasVotedOnce[voter] = true;\n    }\n\n    // Register the vote for rewards calculation where the vote power is the square root of the total votes cast by the voter\n    voterRewards().registerVote(roundStart, voter, totalWeight, Math.sqrt(totalWeight));\n\n    // Emit the AllocationVoteCast event\n    emit AllocationVoteCast(voter, roundId, apps, weights);\n  }\n\n  /**\n   * @dev Get the votes received by a specific application in a given round\n   */\n  function getAppVotes(uint256 roundId, bytes32 app) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].votesReceived[app];\n  }\n\n  /**\n   * @dev Get the quadratic funding votes received by a specific application in a given round\n   */\n  function getAppVotesQF(uint256 roundId, bytes32 app) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].votesReceivedQF[app];\n  }\n\n  /**\n   * @dev Get the total quadratic funding votes cast in a given round\n   */\n  function totalVotesQF(uint256 roundId) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVotesQF;\n  }\n\n  /**\n   * @dev Get the total votes cast in a given round\n   */\n  function totalVotes(uint256 roundId) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVotes;\n  }\n\n  /**\n   * @dev Get the total number of voters in a given round\n   */\n  function totalVoters(uint256 roundId) public view override returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVoters;\n  }\n\n  /**\n   * @notice The voting threshold.\n   * @dev The minimum number of tokens needed to cast a vote.\n   */\n  function votingThreshold() public view virtual returns (uint256) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $.votingThreshold;\n  }\n\n  /**\n   * @dev Check if a user has voted in a given round\n   */\n  function hasVoted(uint256 roundId, address user) public view returns (bool) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].hasVoted[user];\n  }\n\n  /**\n   * @dev Internal function to check if the quorum is reached for a given round\n   */\n  function _quorumReached(uint256 roundId) internal view virtual override returns (bool) {\n    return quorum(roundSnapshot(roundId)) <= totalVotes(roundId);\n  }\n\n  /**\n   * @dev Internal function to check if the vote succeeded for a given round\n   */\n  function _voteSucceeded(uint256 roundId) internal view virtual override returns (bool) {\n    // vote is successful if quorum is reached\n    return _quorumReached(roundId);\n  }\n\n  /**\n   * @dev Check if a user has voted at least once from the deployment of the contract\n   */\n  function hasVotedOnce(address user) public view returns (bool) {\n    RoundVotesCountingStorage storage $ = _getRoundVotesCountingStorage();\n    return $._hasVotedOnce[user];\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { VotesUpgradeableV8 as VotesUpgradeable } from \"./VotesUpgradeableV8.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\n\n/**\n * @title VotesQuorumFractionUpgradeable\n * @dev Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a\n * fraction of the total supply.\n */\nabstract contract VotesQuorumFractionUpgradeableV8 is Initializable, VotesUpgradeable {\n  using Checkpoints for Checkpoints.Trace208;\n\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.VotesQuorumFraction\n  struct VotesQuorumFractionStorage {\n    Checkpoints.Trace208 _quorumNumeratorHistory;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.VotesQuorumFraction\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant VotesQuorumFractionStorageLocation =\n    0x49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c32400;\n\n  function _getVotesQuorumFractionStorage() private pure returns (VotesQuorumFractionStorage storage $) {\n    assembly {\n      $.slot := VotesQuorumFractionStorageLocation\n    }\n  }\n\n  event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator);\n\n  /**\n   * @dev The quorum set is not a valid fraction.\n   */\n  error GovernorInvalidQuorumFraction(uint256 quorumNumerator, uint256 quorumDenominator);\n\n  /**\n   * @dev Initialize quorum as a fraction of the token's total supply.\n   *\n   * The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is\n   * specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be\n   * customized by overriding {quorumDenominator}.\n   */\n  function __VotesQuorumFraction_init(uint256 quorumNumeratorValue) internal onlyInitializing {\n    __VotesQuorumFraction_init_unchained(quorumNumeratorValue);\n  }\n\n  function __VotesQuorumFraction_init_unchained(uint256 quorumNumeratorValue) internal onlyInitializing {\n    _updateQuorumNumerator(quorumNumeratorValue);\n  }\n\n  /**\n   * @dev Returns the current quorum numerator. See {quorumDenominator}.\n   */\n  function quorumNumerator() public view virtual returns (uint256) {\n    VotesQuorumFractionStorage storage $ = _getVotesQuorumFractionStorage();\n    return $._quorumNumeratorHistory.latest();\n  }\n\n  /**\n   * @dev Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\n   */\n  function quorumNumerator(uint256 timepoint) public view virtual returns (uint256) {\n    VotesQuorumFractionStorage storage $ = _getVotesQuorumFractionStorage();\n\n    uint256 length = $._quorumNumeratorHistory._checkpoints.length;\n\n    // Optimistic search, check the latest checkpoint\n    Checkpoints.Checkpoint208 storage latest = $._quorumNumeratorHistory._checkpoints[length - 1];\n    uint48 latestKey = latest._key;\n    uint208 latestValue = latest._value;\n    if (latestKey <= timepoint) {\n      return latestValue;\n    }\n\n    // Otherwise, do the binary search\n    return $._quorumNumeratorHistory.upperLookupRecent(SafeCast.toUint48(timepoint));\n  }\n\n  /**\n   * @dev Returns the quorum denominator. Defaults to 100, but may be overridden.\n   */\n  function quorumDenominator() public view virtual returns (uint256) {\n    return 100;\n  }\n\n  /**\n   * @dev Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n   */\n  function quorum(uint256 timepoint) public view virtual override returns (uint256) {\n    return (token().getPastTotalSupply(timepoint) * quorumNumerator(timepoint)) / quorumDenominator();\n  }\n\n  /**\n   * @dev Changes the quorum numerator.\n   *\n   * Emits a {QuorumNumeratorUpdated} event.\n   *\n   * Requirements:\n   *\n   * - New numerator must be smaller or equal to the denominator.\n   */\n  function updateQuorumNumerator(uint256 newQuorumNumerator) public virtual {\n    _updateQuorumNumerator(newQuorumNumerator);\n  }\n\n  /**\n   * @dev Changes the quorum numerator.\n   *\n   * Emits a {QuorumNumeratorUpdated} event.\n   *\n   * Requirements:\n   *\n   * - New numerator must be smaller or equal to the denominator.\n   */\n  function _updateQuorumNumerator(uint256 newQuorumNumerator) internal virtual {\n    uint256 denominator = quorumDenominator();\n    if (newQuorumNumerator > denominator) {\n      revert GovernorInvalidQuorumFraction(newQuorumNumerator, denominator);\n    }\n\n    uint256 oldQuorumNumerator = quorumNumerator();\n\n    VotesQuorumFractionStorage storage $ = _getVotesQuorumFractionStorage();\n    $._quorumNumeratorHistory.push(clock(), SafeCast.toUint208(newQuorumNumerator));\n\n    emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator);\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV8 as XAllocationVotingGovernor } from \"../XAllocationVotingGovernorV8.sol\";\nimport { IVotes } from \"@openzeppelin/contracts/governance/utils/IVotes.sol\";\nimport { IERC5805 } from \"@openzeppelin/contracts/interfaces/IERC5805.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Time } from \"@openzeppelin/contracts/utils/types/Time.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\n\n/**\n * @title VotesUpgradeable\n * @dev Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes}\n * token.\n */\nabstract contract VotesUpgradeableV8 is Initializable, XAllocationVotingGovernor {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.VotesUpgradeable\n  struct VotesStorage {\n    IERC5805 _token;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.VotesUpgradeable\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant VotesStorageLocation = 0x6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab500;\n\n  function _getVotesStorage() private pure returns (VotesStorage storage $) {\n    assembly {\n      $.slot := VotesStorageLocation\n    }\n  }\n\n  function __Votes_init(IVotes tokenAddress) internal onlyInitializing {\n    __Votes_init_unchained(tokenAddress);\n  }\n\n  function __Votes_init_unchained(IVotes tokenAddress) internal onlyInitializing {\n    VotesStorage storage $ = _getVotesStorage();\n    $._token = IERC5805(address(tokenAddress));\n  }\n\n  /**\n   * @dev The token that voting power is sourced from.\n   */\n  function token() public view virtual returns (IERC5805) {\n    VotesStorage storage $ = _getVotesStorage();\n    return $._token;\n  }\n\n  /**\n   * @dev Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token\n   * does not implement EIP-6372.\n   */\n  function clock() public view virtual override returns (uint48) {\n    try token().clock() returns (uint48 timepoint) {\n      return timepoint;\n    } catch {\n      return Time.blockNumber();\n    }\n  }\n\n  /**\n   * @dev Machine-readable description of the clock as specified in EIP-6372.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function CLOCK_MODE() public view virtual override returns (string memory) {\n    try token().CLOCK_MODE() returns (string memory clockmode) {\n      return clockmode;\n    } catch {\n      return \"mode=blocknumber&from=default\";\n    }\n  }\n\n  /**\n   * Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes}).\n   */\n  function _getVotes(\n    address account,\n    uint256 timepoint,\n    bytes memory /*params*/\n  ) internal view virtual override returns (uint256) {\n    return token().getPastVotes(account, timepoint);\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingGovernorV8 as XAllocationVotingGovernor } from \"../XAllocationVotingGovernorV8.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\n\n/**\n * @title VotingSettingsUpgradeable\n * @dev Extension of {XAllocationVotingGovernor} for voting settings.\n */\nabstract contract VotingSettingsUpgradeableV8 is Initializable, XAllocationVotingGovernor {\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.VotingSettings\n  struct VotingSettingsStorage {\n    uint32 _votingPeriod;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.VotingSettings\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant VotingSettingsStorageLocation =\n    0xd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a99900;\n\n  function _getVotingSettingsStorage() private pure returns (VotingSettingsStorage storage $) {\n    assembly {\n      $.slot := VotingSettingsStorageLocation\n    }\n  }\n\n  event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod);\n\n  /**\n   * @dev Initialize the governance parameters.\n   */\n  function __VotingSettings_init(uint32 initialVotingPeriod) internal onlyInitializing {\n    __VotingSettings_init_unchained(initialVotingPeriod);\n  }\n\n  function __VotingSettings_init_unchained(uint32 initialVotingPeriod) internal onlyInitializing {\n    _setVotingPeriod(initialVotingPeriod);\n  }\n\n  /**\n   * @dev See {IXAllocationVotingGovernor-votingPeriod}.\n   */\n  function votingPeriod() public view virtual override returns (uint256) {\n    VotingSettingsStorage storage $ = _getVotingSettingsStorage();\n    return $._votingPeriod;\n  }\n\n  /**\n   * @dev Internal setter for the voting period.\n   *\n   * Emits a {VotingPeriodSet} event.\n   */\n  function _setVotingPeriod(uint32 newVotingPeriod) internal virtual {\n    if (newVotingPeriod == 0) {\n      revert GovernorInvalidVotingPeriod(0);\n    }\n\n    // Ensure the voting period is less than the emissions cycle duration.\n    uint256 emissionsCycleDuration = emissions().cycleDuration();\n    if (newVotingPeriod >= emissionsCycleDuration) {\n      revert GovernorInvalidVotingPeriod(newVotingPeriod);\n    }\n\n    VotingSettingsStorage storage $ = _getVotingSettingsStorage();\n\n    emit VotingPeriodSet($._votingPeriod, newVotingPeriod);\n    $._votingPeriod = newVotingPeriod;\n  }\n}\n"},"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { ERC165Upgradeable } from \"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\";\nimport { IERC165 } from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport { ContextUpgradeable } from \"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\";\nimport { IXAllocationVotingGovernorV8 as IXAllocationVotingGovernor } from \"../interfaces/IXAllocationVotingGovernorV8.sol\";\nimport { IXAllocationPool } from \"../../../interfaces/IXAllocationPool.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { IX2EarnApps } from \"../../../interfaces/IX2EarnApps.sol\";\nimport { IEmissions } from \"../../../interfaces/IEmissions.sol\";\nimport { IVoterRewards } from \"../../../interfaces/IVoterRewards.sol\";\nimport { IVeBetterPassport } from \"../../../interfaces/IVeBetterPassport.sol\";\nimport { IRelayerRewardsPool, RelayerAction } from \"../../../interfaces/IRelayerRewardsPool.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IB3TRGovernor } from \"../../../interfaces/IB3TRGovernor.sol\";\n\n/**\n * @title XAllocationVotingGovernor\n * @dev Core of the voting system of allocation rounds, designed to be extended through various modules.\n *\n * This contract is abstract and requires several functions to be implemented in various modules:\n * - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded}, and {_countVote}\n * - A voting module must implement {_getVotes}, {clock}, and {CLOCK_MODE}\n * - A settings module must implement {votingPeriod}\n * - An external contracts module must implement {x2EarnApps}, {emissions}, {voterRewards} and {b3trGovernor}\n * - A rounds storage module must implement {_startNewRound}, {roundSnapshot}, {roundDeadline}, and {currentRoundId}\n * - A rounds finalization module must implement {finalize}\n * - A earnings settings module must implement {_snapshotRoundEarningsCap}\n *\n * ----- Version 2 -----\n * - Integrated VeBetterPassport\n *\n * ----- Version 5 -----\n * - Fixed duplicate app voting in same transaction in {RoundVotesCountingUpgradeable._countVote}\n *\n * ----- Version 7 -----\n * - Added B3TRGovernor contract to the contract\n *\n * ----- Version 8 -----\n * - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences\n * - Added refactoring to code for voting\n * - Integrate RelayerRewardsPool contract to handle relayer rewards for autovoting\n */\nabstract contract XAllocationVotingGovernorV8 is\n  Initializable,\n  ContextUpgradeable,\n  ERC165Upgradeable,\n  IXAllocationVotingGovernor\n{\n  bytes32 private constant ALL_ROUND_STATES_BITMAP = bytes32((2 ** (uint8(type(RoundState).max) + 1)) - 1);\n\n  /// @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor\n  struct XAllocationVotingGovernorStorage {\n    string _name;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernor\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant XAllocationVotingGovernorStorageLocation =\n    0x7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be00;\n\n  function _getXAllocationVotingGovernorStorage() internal pure returns (XAllocationVotingGovernorStorage storage $) {\n    assembly {\n      $.slot := XAllocationVotingGovernorStorageLocation\n    }\n  }\n\n  /**\n   * @dev Sets the value for {name}\n   */\n  function __XAllocationVotingGovernor_init(string memory name_) internal onlyInitializing {\n    __XAllocationVotingGovernor_init_unchained(name_);\n  }\n\n  function __XAllocationVotingGovernor_init_unchained(string memory name_) internal onlyInitializing {\n    XAllocationVotingGovernorStorage storage $ = _getXAllocationVotingGovernorStorage();\n    $._name = name_;\n  }\n\n  // ---------- Setters ---------- //\n\n  /**\n   * @dev Starts a new round of voting to allocate funds to x-2-earn applications.\n   */\n  function startNewRound() public virtual returns (uint256) {\n    address proposer = _msgSender();\n\n    // check that there isn't an already ongoing round\n    // but only do it after we have at least 1 round otherwise it will fail with `GovernorNonexistentRound`\n    uint256 currentRound = currentRoundId();\n    if (currentRound > 0) {\n      require(!isActive(currentRound), \"XAllocationVotingGovernor: there can be only one round per time\");\n    }\n\n    return _startNewRound(proposer);\n  }\n\n  /**\n   * @dev Cast a vote for a set of x-2-earn applications.\n   * @notice Only addresses with a valid passport can vote.\n   * @notice Reverts if autovoting is enabled for the voter.\n   */\n  function castVote(uint256 roundId, bytes32[] memory appIds, uint256[] memory voteWeights) public virtual {\n    require(appIds.length == voteWeights.length, \"XAllocationVotingGovernor: apps and weights length mismatch\");\n    require(appIds.length > 0, \"XAllocationVotingGovernor: no apps to vote for\");\n\n    if (this.isUserAutoVotingEnabledAtTimepoint(_msgSender(), SafeCast.toUint48(currentRoundSnapshot()))) {\n      revert AutoVotingEnabled(_msgSender());\n    }\n\n    validatePersonhoodForCurrentRound(_msgSender());\n\n    _handleCastVote(_msgSender(), roundId, appIds, voteWeights, false);\n  }\n\n  // ---------- Internal and Private ---------- //\n\n  /**\n   * @dev Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\n   * @notice Reverts if autovoting is not enabled for the voter.\n   */\n  function castVoteOnBehalfOf(address voter, uint256 roundId) public {\n    if (!this.isUserAutoVotingEnabledAtTimepoint(voter, SafeCast.toUint48(roundSnapshot(roundId)))) {\n      revert AutoVotingNotEnabled(voter);\n    }\n\n    _checkEarlyAccessEligibility(roundId, voter);\n\n    (bool isPerson, ) = veBetterPassport().isPersonAtTimepoint(voter, SafeCast.toUint48(currentRoundSnapshot()));\n\n    bytes32[] memory appIds = _getUserVotingPreferences(voter);\n\n    (bytes32[] memory finalAppIds, uint256[] memory voteWeights, uint256 votingPower) = _prepareAutoVoteArrays(\n      voter,\n      roundId,\n      appIds\n    );\n\n    // We disable auto-voting if,\n    // - voter is not a person\n    // - there are no eligible apps\n    // - voter has insufficient voting power\n    if (!isPerson || finalAppIds.length == 0) {\n      // Only toggle and reduce expected actions if autovoting is enabled\n      if (_isAutoVotingEnabled(voter)) {\n        _toggleAutoVoting(voter);\n        relayerRewardsPool().reduceExpectedActionsForRound(roundId, 1);\n      }\n      emit AutoVoteSkipped(voter, roundId, isPerson, finalAppIds.length, votingPower);\n      return;\n    }\n\n    _handleCastVote(voter, roundId, finalAppIds, voteWeights, true);\n  }\n\n  /**  @dev Internal function to handle common voting logic\n   * @param voter The address casting the vote\n   * @param roundId The round ID to vote in\n   * @param appIds Array of app IDs to vote for\n   * @param voteWeights Array of vote weights for each app\n   * @param isAutoVote Whether this is an auto vote (affects events and relayer rewards)\n   */\n  function _handleCastVote(\n    address voter,\n    uint256 roundId,\n    bytes32[] memory appIds,\n    uint256[] memory voteWeights,\n    bool isAutoVote\n  ) internal {\n    _validateStateBitmap(roundId, _encodeStateBitmap(RoundState.Active));\n\n    _countVote(roundId, voter, appIds, voteWeights);\n\n    if (isAutoVote) {\n      relayerRewardsPool().registerRelayerAction(_msgSender(), voter, roundId, RelayerAction.VOTE);\n      emit AllocationAutoVoteCast(voter, roundId, appIds, voteWeights);\n    }\n  }\n\n  /**\n   * @dev Validate that the voter is a person at the current round snapshot\n   * @param voter The voter address\n   */\n  function validatePersonhoodForCurrentRound(address voter) public view returns (bool) {\n    (bool isPerson, string memory explanation) = veBetterPassport().isPersonAtTimepoint(\n      voter,\n      SafeCast.toUint48(currentRoundSnapshot())\n    );\n    if (!isPerson) {\n      revert GovernorPersonhoodVerificationFailed(voter, explanation);\n    }\n    return isPerson;\n  }\n\n  /**\n   * @dev Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\n   */\n  function getAndValidateVotingPower(address account, uint256 timepoint) public view returns (uint256, bool) {\n    uint256 voterAvailableVotes = getTotalVotingPower(account, timepoint);\n    bool isValid = voterAvailableVotes >= 1 ether;\n    return (voterAvailableVotes, isValid);\n  }\n\n  /**\n   * @dev Check if the caller is eligible to perform relayer actions during early access period\n   * @param roundId The current round ID\n   */\n  function _checkEarlyAccessEligibility(uint256 roundId, address voter) internal view {\n    relayerRewardsPool().validateVoteDuringEarlyAccess(roundId, voter, _msgSender());\n  }\n\n  /**\n   * @dev Check that the current state of a round matches the requirements described by the `allowedStates` bitmap.\n   * This bitmap should be built using `_encodeStateBitmap`.\n   *\n   * If requirements are not met, reverts with a {GovernorUnexpectedRoundState} error.\n   */\n  function _validateStateBitmap(uint256 roundId, bytes32 allowedStates) private view returns (RoundState) {\n    RoundState currentState = state(roundId);\n    if (_encodeStateBitmap(currentState) & allowedStates == bytes32(0)) {\n      revert GovernorUnexpectedRoundState(roundId, currentState, allowedStates);\n    }\n    return currentState;\n  }\n\n  // ---------- Getters ---------- //\n\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view virtual override(IERC165, ERC165Upgradeable) returns (bool) {\n    return interfaceId == type(IXAllocationVotingGovernor).interfaceId || super.supportsInterface(interfaceId);\n  }\n\n  /**\n   * @dev Returns the name of the governor.\n   */\n  function name() public view virtual returns (string memory) {\n    XAllocationVotingGovernorStorage storage $ = _getXAllocationVotingGovernorStorage();\n    return $._name;\n  }\n\n  /**\n   * @dev Returns the version of the governor.\n   */\n  function version() public view virtual returns (string memory) {\n    return \"8\";\n  }\n\n  /**\n   * @dev Checks if the specified round is in active state or not.\n   */\n  function isActive(uint256 roundId) public view virtual override returns (bool) {\n    return state(roundId) == RoundState.Active;\n  }\n\n  /**\n   * @dev Returns the current state of a round.\n   */\n  function state(uint256 roundId) public view virtual returns (RoundState) {\n    uint256 snapshot = roundSnapshot(roundId);\n\n    if (snapshot == 0) {\n      revert GovernorNonexistentRound(roundId);\n    }\n\n    uint256 currentTimepoint = clock();\n\n    uint256 deadline = roundDeadline(roundId);\n\n    if (deadline >= currentTimepoint) {\n      return RoundState.Active;\n    } else if (!_voteSucceeded(roundId)) {\n      return RoundState.Failed;\n    } else {\n      return RoundState.Succeeded;\n    }\n  }\n\n  /**\n   * @dev Checks if the quorum has been reached for a given round.\n   */\n  function quorumReached(uint256 roundId) public view returns (bool) {\n    return _quorumReached(roundId);\n  }\n\n  /**\n   * @dev Returns the available votes votes for a given account at a given timepoint.\n   */\n  function getVotes(address account, uint256 timepoint) public view virtual returns (uint256) {\n    return _getVotes(account, timepoint, \"\");\n  }\n\n  /**\n   * @dev Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\n   * @param voter The address of the voter\n   * @param roundStart The start of the round (timepoint)\n   * @return Combined voting power from held tokens and proposal deposits\n   */\n  function getTotalVotingPower(address voter, uint256 roundStart) public view virtual returns (uint256) {\n    uint256 voterAvailableVotesWithDeposit = getDepositVotingPower(voter, roundStart);\n    uint256 voterAvailableVotes = getVotes(voter, roundStart) + voterAvailableVotesWithDeposit;\n\n    return voterAvailableVotes;\n  }\n\n  /**\n   * @dev Checks if the given appId can be voted for in the given round.\n   */\n  function isEligibleForVote(bytes32 appId, uint256 roundId) public view virtual returns (bool) {\n    return x2EarnApps().isEligible(appId, roundSnapshot(roundId));\n  }\n\n  /**\n   * @dev Encodes a `RoundState` into a `bytes32` representation where each bit enabled corresponds to\n   * the underlying position in the `RoundState` enum. For example:\n   *\n   * 0x000...10000\n   *   ^^^^^^------ ...\n   *          ^---- Succeeded\n   *           ^--- Failed\n   *            ^-- Active\n   */\n  function _encodeStateBitmap(RoundState roundState) internal pure returns (bytes32) {\n    return bytes32(1 << uint8(roundState));\n  }\n\n  // ---------- Virtual ---------- //\n\n  /**\n   * @dev Internal function to store a vote in storage.\n   */\n  function _countVote(\n    uint256 roundId,\n    address account,\n    bytes32[] memory appIds,\n    uint256[] memory voteWeights\n  ) internal virtual;\n\n  /**\n   * @dev Internal function to save the app shares cap and base allocation percentage for a round.\n   */\n  function _snapshotRoundEarningsCap(uint256 roundId) internal virtual;\n\n  /**\n   * @dev Internal function to check if the quorum has been reached for a given round.\n   */\n  function _quorumReached(uint256 roundId) internal view virtual returns (bool);\n\n  /**\n   * @dev Internal function to check if the vote has succeeded for a given round.\n   */\n  function _voteSucceeded(uint256 roundId) internal view virtual returns (bool);\n\n  /**\n   * @dev Internal function that starts a new round of voting to allocate funds to x-2-earn applications.\n   */\n  function _startNewRound(address proposer) internal virtual returns (uint256);\n\n  /**\n   * @dev Internal function to get the available votes for a given account at a given timepoint.\n   */\n  function _getVotes(address account, uint256 timepoint, bytes memory params) internal view virtual returns (uint256);\n\n  /**\n   * @dev Function to store the last succeeded round once a round ends.\n   */\n  function finalizeRound(uint256 roundId) public virtual;\n\n  /**\n   * @dev Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\n   */\n  function clock() public view virtual returns (uint48);\n\n  /**\n   * @dev Machine-readable description of the clock as specified in EIP-6372.\n   */\n  function CLOCK_MODE() public view virtual returns (string memory);\n\n  /**\n   * @dev Returns the voting duration.\n   */\n  function votingPeriod() public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the quorum for a given timepoint.\n   */\n  function quorum(uint256 timepoint) public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the block number when the round starts.\n   */\n  function roundSnapshot(uint256 roundId) public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the block number when the round ends.\n   */\n  function roundDeadline(uint256 roundId) public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the latest round id.\n   */\n  function currentRoundId() public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the X2EarnApps contract.\n   */\n  function currentRoundSnapshot() public view virtual returns (uint256);\n\n  /**\n   * @dev Returns the X2EarnApps contract.\n   */\n  function x2EarnApps() public view virtual returns (IX2EarnApps);\n\n  /**\n   * @dev Returns the VeBetterPassport contract.\n   */\n  function veBetterPassport() public view virtual returns (IVeBetterPassport);\n\n  /**\n   * @dev Returns the Emissions contract.\n   */\n  function emissions() public view virtual returns (IEmissions);\n\n  /**\n   * @dev Returns the VoterRewards contract.\n   */\n  function voterRewards() public view virtual returns (IVoterRewards);\n\n  /**\n   * @dev Returns the B3TRGovernor contract.\n   */\n  function b3trGovernor() public view virtual returns (IB3TRGovernor);\n\n  /**\n   * @dev Returns the deposit voting power for a given account at a given timepoint.\n   */\n  function getDepositVotingPower(address account, uint256 timepoint) public view virtual returns (uint256) {\n    return b3trGovernor().getDepositVotingPower(account, timepoint);\n  }\n\n  /**\n   * @dev Returns the RelayerRewardsPool contract.\n   */\n  function relayerRewardsPool() public view virtual returns (IRelayerRewardsPool);\n\n  /**\n   * @dev Toggles autovoting for an account\n   */\n  function _toggleAutoVoting(address account) internal virtual;\n\n  /**\n   * @dev Checks if autovoting is enabled for an account\n   */\n  function _isAutoVotingEnabled(address account) internal view virtual returns (bool);\n\n  /**\n   * @dev Checks if autovoting is enabled for an account at a specific timepoint\n   */\n  function _isAutoVotingEnabledAtTimepoint(address account, uint48 timepoint) internal view virtual returns (bool);\n\n  /**\n   * @dev Returns the voting preferences for an account\n   */\n  function _getUserVotingPreferences(address account) internal view virtual returns (bytes32[] memory);\n\n  /**\n   * @dev Gets the total number of users who enabled autovoting at a specific timepoint\n   */\n  function _getTotalAutoVotingUsersAtTimepoint(uint48 timepoint) internal view virtual returns (uint208);\n\n  /**\n   * @dev Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights\n   */\n  function _prepareAutoVoteArrays(\n    address voter,\n    uint256 roundId,\n    bytes32[] memory preferredApps\n  ) internal virtual returns (bytes32[] memory finalAppIds, uint256[] memory voteWeights, uint256 votingPower);\n}\n"},"contracts/deprecated/V8/XAllocationVotingV8.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport \"./x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\";\nimport \"./x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol\";\nimport \"./x-allocation-voting-governance/modules/VotesUpgradeableV8.sol\";\nimport \"./x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol\";\nimport \"./x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol\";\nimport \"./x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol\";\nimport \"./x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol\";\nimport \"./x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol\";\nimport \"./x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol\";\nimport \"./x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\n\n/**\n * @title XAllocationVoting\n * @notice This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds.\n * The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \"Quadratic Funding\" formula.\n * @dev Rounds are started by the Emissions contract.\n * @dev Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).\n * @dev Interacts with the VotingRewards contract to save the user from casting a vote.\n * @dev The contract is using AccessControl to handle roles for admin, governance, and round-starting operations.\n *\n * ----- Version 2 -----\n * - Integrated VeBetterPassport\n * - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold\n *\n * ----- Version 3 -----\n * - Updated the X2EarnApps interface to support node endorsement feature\n *\n * ----- Version 4 -----\n * - Updated the X2EarnApps interface to support node cooldown functionality\n *\n * ----- Version 6 -----\n *  - Align IVoterRewards and IEmissions interfaces with the new contracts\n *\n * ----- Version 7 -----\n * - Proposal Execution: Count proposal deposits to x-allocation voting power\n *\n *\n * ----- Version 8 -----\n *  - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences\n */\ncontract XAllocationVotingV8 is\n  XAllocationVotingGovernorV8,\n  VotingSettingsUpgradeableV8,\n  RoundVotesCountingUpgradeableV8,\n  VotesUpgradeableV8,\n  VotesQuorumFractionUpgradeableV8,\n  RoundEarningsSettingsUpgradeableV8,\n  ExternalContractsUpgradeableV8,\n  RoundsStorageUpgradeableV8,\n  RoundFinalizationUpgradeableV8,\n  AccessControlUpgradeable,\n  UUPSUpgradeable,\n  AutoVotingLogicUpgradeableV8\n{\n  /// @notice Role identifier for the address that can start a new round\n  bytes32 public constant ROUND_STARTER_ROLE = keccak256(\"ROUND_STARTER_ROLE\");\n  /// @notice Role identifier for the address that can upgrade the contract\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  /// @notice Role identifier for governance operations\n  bytes32 public constant GOVERNANCE_ROLE = keccak256(\"GOVERNANCE_ROLE\");\n  /// @notice The role that can set the addresses of the contracts used by the VoterRewards contract.\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n\n  /**\n   * @notice Data for initializing the contract\n   * @param vot3Token The address of the VOT3 token used for voting\n   * @param quorumPercentage quorum as a percentage of the total supply\n   * @param initialVotingPeriod The round duration\n   * @param timeLock Address of the timelock contract controlling governance actions\n   * @param voterRewards The address of the VoterRewards contract\n   * @param emissions The address of the Emissions contract\n   * @param admins The addresses of the admins\n   * @param upgrader The address of the upgrader\n   * @param contractsAddressManager The address of the contracts address manager.\n   * @param x2EarnAppsAddress The address of the X2EarnApps contract\n   * @param baseAllocationPercentage A percentage of the total amount of allocations that should be equaly distributed to all apps in a round\n   * @param appSharesCap Max amount of % of votes an app can get in a round\n   * @param votingThreshold Minimum amount of VOT3 balance to cast a vote\n   */\n  struct InitializationData {\n    IVotes vot3Token;\n    uint256 quorumPercentage;\n    uint32 initialVotingPeriod;\n    address timeLock;\n    IVoterRewards voterRewards;\n    IEmissions emissions;\n    address[] admins;\n    address upgrader;\n    address contractsAddressManager;\n    IX2EarnApps x2EarnAppsAddress;\n    uint256 baseAllocationPercentage;\n    uint256 appSharesCap;\n    uint256 votingThreshold;\n  }\n\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /**\n   * @notice Initialize the contract\n   * @param data The initialization data\n   */\n  function initialize(InitializationData memory data) public initializer {\n    require(address(data.vot3Token) != address(0), \"XAllocationVoting: invalid VOT3 token address\");\n    require(address(data.voterRewards) != address(0), \"XAllocationVoting: invalid VoterRewards address\");\n    require(address(data.emissions) != address(0), \"XAllocationVoting: invalid Emissions address\");\n\n    __XAllocationVotingGovernor_init(\"XAllocationVoting\");\n    __ExternalContracts_init(data.x2EarnAppsAddress, data.emissions, data.voterRewards);\n    __VotingSettings_init(data.initialVotingPeriod);\n    __RoundVotesCounting_init(data.votingThreshold);\n    __Votes_init(data.vot3Token);\n    __VotesQuorumFraction_init(data.quorumPercentage);\n    __RoundEarningsSettings_init(data.baseAllocationPercentage, data.appSharesCap);\n    __RoundFinalization_init();\n    __RoundsStorage_init();\n    __AccessControl_init();\n    __UUPSUpgradeable_init();\n\n    for (uint256 i; i < data.admins.length; i++) {\n      require(data.admins[i] != address(0), \"XAllocationVoting: invalid admin address\");\n      _grantRole(DEFAULT_ADMIN_ROLE, data.admins[i]);\n    }\n\n    _grantRole(UPGRADER_ROLE, data.upgrader);\n    _grantRole(GOVERNANCE_ROLE, data.timeLock);\n    _grantRole(CONTRACTS_ADDRESS_MANAGER_ROLE, data.contractsAddressManager);\n  }\n\n  // ---------- Setters ---------- //\n\n  /**\n   * @dev Toggle autovoting for the caller\n   */\n  function toggleAutoVoting(address user) public {\n    if (_msgSender() != user) {\n      revert InvalidCaller(_msgSender());\n    }\n\n    _toggleAutoVoting(user);\n  }\n\n  /**\n   * @dev Set the voting preferences for the caller\n   */\n  function setUserVotingPreferences(bytes32[] memory appIds) public {\n    _setUserVotingPreferences(_msgSender(), appIds);\n  }\n\n  /**\n   * @dev Set the address of the X2EarnApps contract\n   */\n  function setX2EarnAppsAddress(IX2EarnApps newX2EarnApps) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    _setX2EarnApps(newX2EarnApps);\n  }\n\n  /**\n   * @dev Set the address of the Emissions contract\n   */\n  function setEmissionsAddress(IEmissions newEmissions) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    _setEmissions(newEmissions);\n  }\n\n  /**\n   * @dev Set the address of the VoterRewards contract\n   */\n  function setVoterRewardsAddress(IVoterRewards newVoterRewards) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    _setVoterRewards(newVoterRewards);\n  }\n\n  /**\n   * @dev Set the VeBetterPassport contract\n   */\n  function setVeBetterPassport(\n    IVeBetterPassport newVeBetterPassport\n  ) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    _setVeBetterPassport(newVeBetterPassport);\n  }\n\n  /**\n   * @dev Set the B3TRGovernor contract\n   */\n  function setB3TRGovernor(IB3TRGovernor newB3TRGovernor) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    _setB3TRGovernor(newB3TRGovernor);\n  }\n\n  /**\n   * @dev Set the address of the RelayerRewardsPool contract\n   */\n  function setRelayerRewardsPoolAddress(\n    IRelayerRewardsPool newRelayerRewardsPool\n  ) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    _setRelayerRewardsPool(newRelayerRewardsPool);\n  }\n\n  /**\n   * @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n   *\n   * Emits a {VotingThresholdSet} event.\n   */\n  function setVotingThreshold(uint256 newVotingThreshold) public virtual override onlyRole(GOVERNANCE_ROLE) {\n    super.setVotingThreshold(newVotingThreshold);\n  }\n\n  /**\n   * @dev Start a new voting round for allocating funds to the x-apps\n   */\n  function startNewRound() public override onlyRole(ROUND_STARTER_ROLE) returns (uint256) {\n    return super.startNewRound();\n  }\n\n  /**\n   * @dev Set the max amount of shares an app can get in a round\n   */\n  function setAppSharesCap(uint256 appSharesCap_) external virtual override onlyRole(GOVERNANCE_ROLE) {\n    _setAppSharesCap(appSharesCap_);\n  }\n\n  /**\n   * @dev Set the base allocation percentage for funds distribution in a round\n   */\n  function setBaseAllocationPercentage(\n    uint256 baseAllocationPercentage_\n  ) public virtual override onlyRole(GOVERNANCE_ROLE) {\n    _setBaseAllocationPercentage(baseAllocationPercentage_);\n  }\n\n  /**\n   * @dev Set the voting period for a round\n   */\n  function setVotingPeriod(uint32 newVotingPeriod) public virtual onlyRole(GOVERNANCE_ROLE) {\n    _setVotingPeriod(newVotingPeriod);\n  }\n\n  /**\n   * @dev Update the quorum a round needs to reach to be successful\n   */\n  function updateQuorumNumerator(uint256 newQuorumNumerator) public virtual override onlyRole(GOVERNANCE_ROLE) {\n    super.updateQuorumNumerator(newQuorumNumerator);\n  }\n\n  // ---------- Getters ---------- //\n\n  /**\n   * @dev Checks if auto-voting is enabled for an account\n   * @param user The address to check\n   * @return Whether auto-voting is enabled for the account\n   */\n  function isUserAutoVotingEnabled(address user) public view returns (bool) {\n    return _isAutoVotingEnabled(user);\n  }\n\n  /**\n   * @dev Checks if auto-voting is enabled for an account at the start of the current cycle\n   * @notice Status changes mid-cycle will only take effect in the next cycle\n   */\n  function isUserAutoVotingEnabledInCurrentRound(address account) public view returns (bool) {\n    uint256 lastEmissionBlock = emissions().lastEmissionBlock();\n    return _isAutoVotingEnabledAtTimepoint(account, uint48(lastEmissionBlock));\n  }\n\n  /**\n   * @dev Checks if auto-voting is enabled for an account at the start of a specific round\n   * @notice Useful function for frontend to consume\n   */\n  function isUserAutoVotingEnabledForRound(address account, uint256 roundId) public view returns (bool) {\n    return _isAutoVotingEnabledAtTimepoint(account, uint48(roundSnapshot(roundId)));\n  }\n\n  /**\n   * @dev Check if auto-voting is enabled for an account at a specific\n   * @param account The address to check\n   * @param timepoint block number\n   */\n  function isUserAutoVotingEnabledAtTimepoint(address account, uint48 timepoint) public view returns (bool) {\n    return _isAutoVotingEnabledAtTimepoint(account, timepoint);\n  }\n\n  /**\n   * @dev Get the voting preferences for an account\n   */\n  function getUserVotingPreferences(address account) public view returns (bytes32[] memory) {\n    return _getUserVotingPreferences(account);\n  }\n\n  /**\n   * @dev Get the total number of users who enabled auto-voting at the last emission block\n   */\n  function getTotalAutoVotingUsersAtRoundStart() public view returns (uint208) {\n    uint256 lastEmissionBlock = emissions().lastEmissionBlock();\n    return _getTotalAutoVotingUsersAtTimepoint(uint48(lastEmissionBlock));\n  }\n\n  /**\n   * @dev Get the total number of users who enabled autovoting at a specific timepoint\n   */\n  function getTotalAutoVotingUsersAtTimepoint(uint48 timepoint) public view returns (uint208) {\n    return _getTotalAutoVotingUsersAtTimepoint(timepoint);\n  }\n\n  /**\n   * @dev Returns the X2EarnApps contract\n   * @return IX2EarnApps The X2EarnApps contract interface\n   */\n  function x2EarnApps()\n    public\n    view\n    override(ExternalContractsUpgradeableV8, XAllocationVotingGovernorV8, AutoVotingLogicUpgradeableV8)\n    returns (IX2EarnApps)\n  {\n    return ExternalContractsUpgradeableV8.x2EarnApps();\n  }\n\n  /**\n   * Returns the quorum for a given round\n   */\n  function roundQuorum(uint256 roundId) external view returns (uint256) {\n    return quorum(roundSnapshot(roundId));\n  }\n\n  // ---------- Required overrides ---------- //\n\n  function votingPeriod() public view override(XAllocationVotingGovernorV8, VotingSettingsUpgradeableV8) returns (uint256) {\n    return super.votingPeriod();\n  }\n\n  function quorum(\n    uint256 blockNumber\n  ) public view override(XAllocationVotingGovernorV8, VotesQuorumFractionUpgradeableV8) returns (uint256) {\n    return super.quorum(blockNumber);\n  }\n\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view override(AccessControlUpgradeable, XAllocationVotingGovernorV8) returns (bool) {\n    return super.supportsInterface(interfaceId);\n  }\n\n  // ---------- Authorizations ------------ //\n\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n}\n"},"contracts/deprecated/V9/x-allocation-voting-governance/XAllocationVotingV9.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { IERC165 } from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport { ERC165Upgradeable } from \"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { ContextUpgradeable } from \"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { IVotes } from \"@openzeppelin/contracts/governance/utils/IVotes.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\n\nimport { IXAllocationVotingGovernor, IERC6372 } from \"../../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IX2EarnApps } from \"../../../interfaces/IX2EarnApps.sol\";\nimport { IEmissions } from \"../../../interfaces/IEmissions.sol\";\nimport { IVoterRewards } from \"../../../interfaces/IVoterRewards.sol\";\nimport { IVeBetterPassport } from \"../../../interfaces/IVeBetterPassport.sol\";\nimport { IB3TRGovernor } from \"../../../interfaces/IB3TRGovernor.sol\";\nimport { IRelayerRewardsPool, RelayerAction } from \"../../../interfaces/IRelayerRewardsPool.sol\";\nimport { INavigatorRegistry } from \"../../../interfaces/INavigatorRegistry.sol\";\nimport { X2EarnAppsDataTypes } from \"../../../libraries/X2EarnAppsDataTypes.sol\";\n\n// Libraries (V9 uses V10 libraries — backward compatible, new mapping defaults to false)\nimport { XAllocationVotingStorageTypes } from \"../../../x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\";\nimport { ExternalContractsUtils } from \"../../../x-allocation-voting-governance/libraries/ExternalContractsUtils.sol\";\nimport { VotingSettingsUtils } from \"../../../x-allocation-voting-governance/libraries/VotingSettingsUtils.sol\";\nimport { VotesUtils } from \"../../../x-allocation-voting-governance/libraries/VotesUtils.sol\";\nimport { VotesQuorumFractionUtils } from \"../../../x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol\";\nimport { RoundEarningsSettingsUtils } from \"../../../x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol\";\nimport { RoundFinalizationUtils } from \"../../../x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol\";\nimport { RoundsStorageUtils } from \"../../../x-allocation-voting-governance/libraries/RoundsStorageUtils.sol\";\nimport { RoundVotesCountingUtils } from \"../../../x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol\";\nimport { AutoVotingLogic } from \"../../../x-allocation-voting-governance/libraries/AutoVotingLogic.sol\";\n\n/**\n * @title XAllocationVoting\n * @notice This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds.\n * The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \"Quadratic Funding\" formula.\n * @dev Rounds are started by the Emissions contract.\n * @dev Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).\n * @dev Interacts with the VotingRewards contract to save the user from casting a vote.\n * @dev The contract is using AccessControl to handle roles for admin, governance, and round-starting operations.\n *\n * ----- Version 2 -----\n * - Integrated VeBetterPassport\n * - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold\n *\n * ----- Version 3 -----\n * - Updated the X2EarnApps interface to support node endorsement feature\n *\n * ----- Version 4 -----\n * - Updated the X2EarnApps interface to support node cooldown functionality\n *\n * ----- Version 6 -----\n *  - Align IVoterRewards and IEmissions interfaces with the new contracts\n *\n * ----- Version 7 -----\n * - Proposal Execution: Count proposal deposits to x-allocation voting power\n *\n * ----- Version 8 -----\n *  - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences\n *\n * ----- Version 9 -----\n *  - Refactored from module inheritance to library architecture for contract size optimization\n *  - Removed the following public functions to reduce contract size (accessible via libraries or storage reads):\n *    - name(), initialize(), COUNTING_MODE()\n *    - x2EarnApps(), emissions(), voterRewards(), veBetterPassport(), b3trGovernor(), relayerRewardsPool(), token()\n *    - roundProposer(), getAndValidateVotingPower()\n *  - Added freshness multiplier (XOR fingerprint) in RoundVotesCountingUtils via FreshnessUtils library\n *  - New storage in RoundVotesCountingStorage: _lastVoteFingerprint, _lastFingerprintChangedRound, userVotedForApp\n *  - New storage in ExternalContractsStorage: _navigatorRegistry (INavigatorRegistry)\n *  - New function: castNavigatorVote(citizen, roundId) — votes on behalf of navigator-delegated citizens\n *    - Voting power = delegated amount at round snapshot (checkpointed in NavigatorRegistry)\n *    - Uses navigator's allocation percentages (basis points, sum to 10000) converted to absolute weights\n *    - Registers RelayerAction.VOTE for the caller\n *  - New function: disableAutoVotingFor(user) — privileged, callable only by NavigatorRegistry\n *  - New events: NavigatorVoteCast, FreshnessMultiplierApplied\n *  - New errors: NotDelegatedToNavigator, NavigatorPreferencesNotSet\n *  - New initializer: initializeV9(INavigatorRegistry, uint256 citizenSkipWindowBlocks) — reinitializer(8)\n *  - setNavigatorRegistry() setter via ExternalContractsUtils\n *  - citizenSkipWindowBlocks moved from constant to storage (VotingSettingsStorage), configurable per env\n *  - setCitizenSkipWindowBlocks(uint256) governance-gated setter\n *  - VotesUtils.getVotes() returns delegated amount when citizen has active navigator at snapshot\n *  - Deprecated: getTotalVotingPower() is replaced by getVotes()\n */\ncontract XAllocationVotingV9 is\n  Initializable,\n  ContextUpgradeable,\n  ERC165Upgradeable,\n  IXAllocationVotingGovernor,\n  AccessControlUpgradeable,\n  UUPSUpgradeable\n{\n  /// @notice Role identifier for the address that can start a new round\n  bytes32 public constant ROUND_STARTER_ROLE = keccak256(\"ROUND_STARTER_ROLE\");\n  /// @notice Role identifier for the address that can upgrade the contract\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  /// @notice Role identifier for governance operations\n  bytes32 public constant GOVERNANCE_ROLE = keccak256(\"GOVERNANCE_ROLE\");\n  /// @notice The role that can set the addresses of the contracts used by the VoterRewards contract.\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n  /// @dev Bitmask with every valid `RoundState` bit set: bit `i` is 1 for enum value `i` (same layout as\n  ///      `_encodeStateBitmap`). `2 ** (max + 1) - 1` sets bits `0` through `type(RoundState).max` inclusive.\n  bytes32 private constant ALL_ROUND_STATES_BITMAP = bytes32((2 ** (uint8(type(RoundState).max) + 1)) - 1);\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Initialize V9: set NavigatorRegistry address and citizen skip window\n  function initializeV9(\n    INavigatorRegistry _navigatorRegistry,\n    uint256 _citizenSkipWindowBlocks\n  ) external onlyRole(UPGRADER_ROLE) reinitializer(8) {\n    require(address(_navigatorRegistry) != address(0), \"XAllocationVoting: invalid navigator registry\");\n    ExternalContractsUtils.setNavigatorRegistry(_navigatorRegistry);\n    VotingSettingsUtils.setCitizenSkipWindowBlocks(_citizenSkipWindowBlocks);\n  }\n\n  // ======================== Authorizations ======================== //\n\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n\n  // ======================== Core Voting Logic ======================== //\n\n  /**\n   * @dev Starts a new round of voting to allocate funds to x-2-earn applications.\n   * Orchestrates: finalize previous round → create new round → snapshot earnings → setup auto-voting relayer actions\n   */\n  function startNewRound() public onlyRole(ROUND_STARTER_ROLE) returns (uint256) {\n    address proposer = _msgSender();\n\n    // check that there isn't an already ongoing round\n    // but only do it after we have at least 1 round otherwise it will fail with `GovernorNonexistentRound`\n    uint256 currentRound = RoundsStorageUtils.currentRoundId();\n    if (currentRound > 0) {\n      require(!isActive(currentRound), \"XAllocationVotingGovernor: there can be only one round per time\");\n    }\n\n    // Finalize previous round (if not first)\n    if (currentRound > 0 && !RoundFinalizationUtils.isFinalized(currentRound)) {\n      RoundFinalizationUtils.finalizeRound(currentRound, uint8(state(currentRound)), isActive(currentRound));\n    }\n\n    // Get eligible apps\n    bytes32[] memory eligibleApps = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._x2EarnApps\n      .allEligibleApps();\n\n    // Create new round\n    uint48 currentClock = VotesUtils.clock();\n    uint32 currentVotingPeriod = uint32(VotingSettingsUtils.votingPeriod());\n    uint256 newRoundId = RoundsStorageUtils.createRound(proposer, currentClock, currentVotingPeriod, eligibleApps);\n\n    // Snapshot earnings settings for the round\n    RoundEarningsSettingsUtils.snapshotRoundEarningsCap(newRoundId);\n\n    // Set expected allocation/governance actions for relayer rewards.\n    uint208 totalAutoVotingUsers = AutoVotingLogic.getTotalAutoVotingUsersAtTimepoint(currentClock);\n    INavigatorRegistry navRegistry = XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry;\n    uint208 totalDelegatedCitizens = address(navRegistry) == address(0)\n      ? 0\n      : navRegistry.getTotalDelegatedCitizensAtTimepoint(currentClock);\n    uint256 allocationUsers = uint256(totalAutoVotingUsers) + uint256(totalDelegatedCitizens);\n\n    uint256[] memory activeProposals;\n    IB3TRGovernor governor = XAllocationVotingStorageTypes._getExternalContractsStorage()._b3trGovernor;\n    if (address(governor) != address(0) && totalDelegatedCitizens > 0) {\n      activeProposals = governor.getActiveProposals();\n    }\n\n    if (allocationUsers > 0 || activeProposals.length > 0) {\n      IRelayerRewardsPool pool = XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool;\n      pool.setTotalActionsForRoundWithGovernance(\n        newRoundId,\n        allocationUsers,\n        uint256(totalDelegatedCitizens),\n        activeProposals\n      );\n    }\n\n    return newRoundId;\n  }\n\n  /**\n   * @dev Cast a vote for a set of x-2-earn applications.\n   * @notice Only addresses with a valid passport can vote.\n   * @notice Reverts if autovoting is enabled for the voter.\n   */\n  function castVote(uint256 roundId, bytes32[] memory appIds, uint256[] memory voteWeights) public virtual {\n    require(appIds.length == voteWeights.length, \"XAllocationVotingGovernor: apps and weights length mismatch\");\n    require(appIds.length > 0, \"XAllocationVotingGovernor: no apps to vote for\");\n\n    if (this.isUserAutoVotingEnabledAtTimepoint(_msgSender(), SafeCast.toUint48(currentRoundSnapshot()))) {\n      revert AutoVotingEnabled(_msgSender());\n    }\n\n    // Citizens delegated to an alive navigator at the round snapshot cannot vote manually\n    INavigatorRegistry navigatorRegistryContract = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._navigatorRegistry;\n    if (address(navigatorRegistryContract) != address(0)) {\n      if (navigatorRegistryContract.getNavigatorAtTimepoint(_msgSender(), roundSnapshot(roundId)) != address(0)) {\n        revert DelegatedToNavigator(_msgSender());\n      }\n    }\n\n    validatePersonhoodForCurrentRound(_msgSender());\n\n    _handleCastVote(_msgSender(), roundId, appIds, voteWeights, false);\n  }\n\n  /**\n   * @dev Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\n   * @notice Reverts if autovoting is not enabled for the voter.\n   */\n  function castVoteOnBehalfOf(address voter, uint256 roundId) public {\n    if (!this.isUserAutoVotingEnabledAtTimepoint(voter, SafeCast.toUint48(roundSnapshot(roundId)))) {\n      revert AutoVotingNotEnabled(voter);\n    }\n\n    _checkEarlyAccessEligibility(roundId, voter);\n\n    (bool isPerson, ) = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._veBetterPassport\n      .isPersonAtTimepoint(voter, SafeCast.toUint48(currentRoundSnapshot()));\n\n    bytes32[] memory appIds = AutoVotingLogic.getUserVotingPreferences(voter);\n\n    (bytes32[] memory finalAppIds, uint256[] memory voteWeightsArr, uint256 votingPower) = AutoVotingLogic\n      .prepareAutoVoteArrays(address(this), voter, roundId, appIds);\n\n    // We disable auto-voting if,\n    // - voter is not a person\n    // - there are no eligible apps\n    // - voter has insufficient voting power\n    if (!isPerson || finalAppIds.length == 0) {\n      // Only toggle and reduce expected actions if autovoting is enabled\n      if (AutoVotingLogic.isAutoVotingEnabled(voter)) {\n        AutoVotingLogic.toggleAutoVoting(address(this), voter, VotesUtils.clock());\n        XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool.reduceExpectedActionsForRound(\n          roundId,\n          1\n        );\n      }\n      emit AutoVoteSkipped(voter, roundId, isPerson, finalAppIds.length, votingPower);\n      return;\n    }\n\n    _handleCastVote(voter, roundId, finalAppIds, voteWeightsArr, true);\n  }\n\n  /**\n   * @dev Cast a vote on behalf of a citizen delegated to a navigator, or auto-skip if the\n   *      navigator is dead / has not set preferences (after the skip window).\n   *\n   * Decision flow:\n   *   1. Navigator dead at snapshot → revert (citizen not delegated)\n   *   2. Navigator dead NOW → skip immediately, reduce allocation vote expectation\n   *   3. Navigator alive + no preferences + skip window NOT reached → revert (relayer retries later)\n   *   4. Navigator alive + no preferences + skip window reached → skip\n   *   5. Navigator alive + preferences set + citizen not a person → skip\n   *   6. Navigator alive + preferences set + citizen is a person → vote normally\n   */\n  function castNavigatorVote(address citizen, uint256 roundId) public {\n    _validateStateBitmap(roundId, _encodeStateBitmap(RoundState.Active));\n\n    INavigatorRegistry navigatorRegistryContract = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._navigatorRegistry;\n\n    // getNavigatorAtTimepoint returns address(0) if not delegated or navigator dead at snapshot\n    uint256 snapshot = roundSnapshot(roundId);\n    address navigator = navigatorRegistryContract.getNavigatorAtTimepoint(citizen, snapshot);\n    if (navigator == address(0)) revert NotDelegatedToNavigator(citizen);\n\n    IRelayerRewardsPool pool = XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool;\n\n    // Dead navigator → skip immediately (navigator can't act, personhood irrelevant)\n    if (_isNavigatorDead(navigator)) {\n      pool.reduceUserAllocationVote(roundId, citizen);\n      emit NavigatorVoteSkipped(citizen, navigator, roundId);\n      return;\n    }\n\n    // Navigator alive — check preferences\n    if (!navigatorRegistryContract.hasSetPreferences(navigator, roundId)) {\n      // No preferences → skip only after window (navigator failed to act, personhood irrelevant)\n      _validateSkipWindow(roundId);\n      pool.reduceUserAllocationVote(roundId, citizen);\n      emit NavigatorVoteSkipped(citizen, navigator, roundId);\n      return;\n    }\n\n    // Preferences set — check personhood before casting the actual vote\n    (bool isPerson, ) = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._veBetterPassport\n      .isPersonAtTimepoint(citizen, SafeCast.toUint48(snapshot));\n    if (!isPerson) {\n      pool.reduceUserAllocationVote(roundId, citizen);\n      emit NavigatorVoteSkipped(citizen, navigator, roundId);\n      return;\n    }\n\n    _checkEarlyAccessEligibility(roundId, citizen);\n\n    // Get navigator's preferences with allocation percentages (basis points, sum to 10000)\n    (bytes32[] memory appIds, uint256[] memory percentages) = navigatorRegistryContract.getAllocationPreferences(\n      navigator,\n      roundId\n    );\n\n    // Voting power = delegated amount at round snapshot\n    uint256 delegatedPower = navigatorRegistryContract.getDelegatedAmountAtTimepoint(citizen, snapshot);\n\n    // Convert percentages to absolute VOT3 amounts (countVote expects absolute weights)\n    uint256 basisPoints = navigatorRegistryContract.BASIS_POINTS();\n    uint256[] memory voteWeights = new uint256[](percentages.length);\n    uint256 allocated;\n    for (uint256 i; i < percentages.length; i++) {\n      voteWeights[i] = (delegatedPower * percentages[i]) / basisPoints;\n      allocated += voteWeights[i];\n    }\n    if (allocated < delegatedPower && voteWeights.length > 0) {\n      voteWeights[0] += delegatedPower - allocated;\n    }\n\n    _handleCastVoteWithPower(citizen, roundId, appIds, voteWeights, delegatedPower, false);\n\n    pool.registerRelayerAction(_msgSender(), citizen, roundId, RelayerAction.VOTE);\n\n    emit NavigatorVoteCast(citizen, navigator, roundId, appIds, voteWeights);\n  }\n\n  /**\n   * @dev Internal function to handle common voting logic\n   * @param voter The address casting the vote\n   * @param roundId The round ID to vote in\n   * @param appIds Array of app IDs to vote for\n   * @param voteWeights Array of vote weights for each app\n   * @param isAutoVote Whether this is an auto vote (affects events and relayer rewards)\n   */\n  function _handleCastVote(\n    address voter,\n    uint256 roundId,\n    bytes32[] memory appIds,\n    uint256[] memory voteWeights,\n    bool isAutoVote\n  ) internal {\n    uint256 votingPower = getVotes(voter, roundSnapshot(roundId));\n    _handleCastVoteWithPower(voter, roundId, appIds, voteWeights, votingPower, isAutoVote);\n  }\n\n  function _handleCastVoteWithPower(\n    address voter,\n    uint256 roundId,\n    bytes32[] memory appIds,\n    uint256[] memory voteWeights,\n    uint256 votingPower,\n    bool isAutoVote\n  ) internal {\n    _validateStateBitmap(roundId, _encodeStateBitmap(RoundState.Active));\n\n    // Count the vote using the library\n    RoundVotesCountingUtils.countVote(roundId, voter, appIds, voteWeights, votingPower, roundSnapshot(roundId));\n\n    if (isAutoVote) {\n      XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool.registerRelayerAction(\n        _msgSender(),\n        voter,\n        roundId,\n        RelayerAction.VOTE\n      );\n      emit AllocationAutoVoteCast(voter, roundId, appIds, voteWeights);\n    }\n  }\n\n  /**\n   * @dev Function to store the last succeeded round once a round ends.\n   */\n  function finalizeRound(uint256 roundId) external {\n    RoundFinalizationUtils.finalizeRound(roundId, uint8(state(roundId)), isActive(roundId));\n  }\n\n  // ======================== Personhood & Validation ======================== //\n\n  /**\n   * @dev Validate that the voter is a person at the current round snapshot\n   * @param voter The voter address\n   */\n  function validatePersonhoodForCurrentRound(address voter) public view returns (bool) {\n    (bool isPerson, string memory explanation) = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._veBetterPassport\n      .isPersonAtTimepoint(voter, SafeCast.toUint48(currentRoundSnapshot()));\n    if (!isPerson) {\n      revert GovernorPersonhoodVerificationFailed(voter, explanation);\n    }\n    return isPerson;\n  }\n\n  /**\n   * @dev Check that the current state of a round matches the requirements described by the `allowedStates` bitmap.\n   * This bitmap should be built using `_encodeStateBitmap`.\n   *\n   * If requirements are not met, reverts with a {GovernorUnexpectedRoundState} error.\n   */\n  function _validateStateBitmap(uint256 roundId, bytes32 allowedStates) private view returns (RoundState) {\n    RoundState currentState = state(roundId);\n    if (_encodeStateBitmap(currentState) & allowedStates == bytes32(0)) {\n      revert GovernorUnexpectedRoundState(roundId, currentState, allowedStates);\n    }\n    return currentState;\n  }\n\n  // ======================== Auto-Voting ======================== //\n\n  /**\n   * @dev Toggle autovoting for the caller\n   */\n  function toggleAutoVoting(address user) external {\n    if (_msgSender() != user) {\n      revert InvalidCaller(_msgSender());\n    }\n\n    // Navigators and delegated citizens cannot enable auto-voting\n    INavigatorRegistry navRegistry = XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry;\n    if (address(navRegistry) != address(0)) {\n      if (navRegistry.isNavigator(user)) revert NavigatorCannotEnableAutoVoting(user);\n      if (navRegistry.isDelegated(user)) revert DelegatedToNavigator(user);\n    }\n\n    AutoVotingLogic.toggleAutoVoting(address(this), user, VotesUtils.clock());\n  }\n\n  /**\n   * @dev Disable autovoting for a user. Called by NavigatorRegistry when a citizen delegates.\n   * No-op if auto-voting is already disabled.\n   */\n  function disableAutoVotingFor(address user) external {\n    INavigatorRegistry navRegistry = XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry;\n    require(\n      address(navRegistry) != address(0) && _msgSender() == address(navRegistry),\n      \"XAllocationVoting: not navigator registry\"\n    );\n\n    if (AutoVotingLogic.isAutoVotingEnabled(user)) {\n      AutoVotingLogic.toggleAutoVoting(address(this), user, VotesUtils.clock());\n    }\n  }\n\n  /**\n   * @dev Set the voting preferences for the caller\n   */\n  function setUserVotingPreferences(bytes32[] memory appIds) external {\n    AutoVotingLogic.setUserVotingPreferences(\n      address(XAllocationVotingStorageTypes._getExternalContractsStorage()._x2EarnApps),\n      _msgSender(),\n      appIds\n    );\n  }\n\n  /**\n   * @dev Check if the caller is eligible to perform relayer actions during early access period\n   */\n  function _checkEarlyAccessEligibility(uint256 roundId, address voter) internal view {\n    XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool.validateVoteDuringEarlyAccess(\n      roundId,\n      voter,\n      _msgSender()\n    );\n  }\n\n  /**\n   * @dev Validate that the skip window has been reached for a given round\n   * @param roundId The round ID to validate\n   */\n  function _validateSkipWindow(uint256 roundId) internal view {\n    uint256 deadline = RoundsStorageUtils.roundDeadline(roundId);\n    if (block.number + VotingSettingsUtils.citizenSkipWindowBlocks() < deadline) revert SkipWindowNotReached(roundId);\n  }\n\n  /**\n   * @dev Check if a navigator is dead\n   * @param navigator The navigator address\n   * @return True if the navigator is dead\n   */\n  function _isNavigatorDead(address navigator) internal view returns (bool) {\n    return XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry.isDeactivated(navigator);\n  }\n\n  // ======================== Setters (role-gated) ======================== //\n\n  /**\n   * @dev Set the address of the X2EarnApps contract\n   */\n  function setX2EarnAppsAddress(IX2EarnApps newX2EarnApps) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setX2EarnApps(newX2EarnApps);\n  }\n\n  /**\n   * @dev Set the address of the Emissions contract\n   */\n  function setEmissionsAddress(IEmissions newEmissions) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setEmissions(newEmissions);\n  }\n\n  /**\n   * @dev Set the address of the VoterRewards contract\n   */\n  function setVoterRewardsAddress(IVoterRewards newVoterRewards) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setVoterRewards(newVoterRewards);\n  }\n\n  /**\n   * @dev Set the VeBetterPassport contract\n   */\n  function setVeBetterPassport(\n    IVeBetterPassport newVeBetterPassport\n  ) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setVeBetterPassport(newVeBetterPassport);\n  }\n\n  /**\n   * @dev Set the B3TRGovernor contract\n   */\n  function setB3TRGovernor(IB3TRGovernor newB3TRGovernor) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setB3TRGovernor(newB3TRGovernor);\n  }\n\n  /**\n   * @dev Set the address of the RelayerRewardsPool contract\n   */\n  function setRelayerRewardsPoolAddress(\n    IRelayerRewardsPool newRelayerRewardsPool\n  ) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setRelayerRewardsPool(newRelayerRewardsPool);\n  }\n\n  /**\n   * @dev Set the address of the NavigatorRegistry contract\n   */\n  function setNavigatorRegistry(\n    INavigatorRegistry newNavigatorRegistry\n  ) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setNavigatorRegistry(newNavigatorRegistry);\n  }\n\n  /**\n   * @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n   *\n   * Emits a {VotingThresholdSet} event.\n   */\n  function setVotingThreshold(uint256 newVotingThreshold) public onlyRole(GOVERNANCE_ROLE) {\n    RoundVotesCountingUtils.setVotingThreshold(newVotingThreshold);\n  }\n\n  /**\n   * @dev Set the max amount of shares an app can get in a round\n   */\n  function setAppSharesCap(uint256 appSharesCap_) external onlyRole(GOVERNANCE_ROLE) {\n    RoundEarningsSettingsUtils.setAppSharesCap(appSharesCap_);\n  }\n\n  /**\n   * @dev Set the base allocation percentage for funds distribution in a round\n   */\n  function setBaseAllocationPercentage(uint256 baseAllocationPercentage_) public onlyRole(GOVERNANCE_ROLE) {\n    RoundEarningsSettingsUtils.setBaseAllocationPercentage(baseAllocationPercentage_);\n  }\n\n  /**\n   * @dev Set the voting period for a round\n   */\n  function setVotingPeriod(uint32 newVotingPeriod) public onlyRole(GOVERNANCE_ROLE) {\n    VotingSettingsUtils.setVotingPeriod(\n      newVotingPeriod,\n      XAllocationVotingStorageTypes._getExternalContractsStorage()._emissions.cycleDuration()\n    );\n  }\n\n  /**\n   * @dev Set the citizen skip window (blocks before round deadline when relayers can skip navigator votes)\n   */\n  function setCitizenSkipWindowBlocks(uint256 newValue) public onlyRole(GOVERNANCE_ROLE) {\n    VotingSettingsUtils.setCitizenSkipWindowBlocks(newValue);\n  }\n\n  /**\n   * @dev Update the quorum a round needs to reach to be successful\n   */\n  function updateQuorumNumerator(uint256 newQuorumNumerator) public onlyRole(GOVERNANCE_ROLE) {\n    VotesQuorumFractionUtils.updateQuorumNumerator(newQuorumNumerator, VotesUtils.clock());\n  }\n\n  // ======================== Getters ======================== //\n\n  /**\n   * @dev Returns the version of the governor.\n   */\n  function version() public pure returns (string memory) {\n    return \"9\";\n  }\n\n  /**\n   * @dev Returns the citizen skip window in blocks\n   */\n  function citizenSkipWindowBlocks() public view returns (uint256) {\n    return VotingSettingsUtils.citizenSkipWindowBlocks();\n  }\n\n  /**\n   * @dev Checks if the specified round is in active state or not.\n   */\n  function isActive(uint256 roundId) public view returns (bool) {\n    return state(roundId) == RoundState.Active;\n  }\n\n  /**\n   * @dev Returns the current state of a round.\n   */\n  function state(uint256 roundId) public view returns (RoundState) {\n    uint256 snapshot = RoundsStorageUtils.roundSnapshot(roundId);\n\n    if (snapshot == 0) {\n      revert GovernorNonexistentRound(roundId);\n    }\n\n    uint256 currentTimepoint = VotesUtils.clock();\n    uint256 deadline = RoundsStorageUtils.roundDeadline(roundId);\n\n    if (deadline >= currentTimepoint) {\n      return RoundState.Active;\n    } else if (!RoundVotesCountingUtils.voteSucceeded(roundId, quorum(snapshot))) {\n      return RoundState.Failed;\n    } else {\n      return RoundState.Succeeded;\n    }\n  }\n\n  /**\n   * @dev Checks if the quorum has been reached for a given round.\n   */\n  function quorumReached(uint256 roundId) public view returns (bool) {\n    return RoundVotesCountingUtils.quorumReached(roundId, quorum(roundSnapshot(roundId)));\n  }\n\n  /**\n   * @dev Returns the available votes for a given account at a given timepoint.\n   */\n  function getVotes(address account, uint256 timepoint) public view returns (uint256) {\n    return VotesUtils.getVotes(account, timepoint);\n  }\n\n  /// @dev Deprecated: use getVotes instead, which now includes deposit voting power.\n  function getTotalVotingPower(address voter, uint256 roundStart) public view returns (uint256) {\n    return getVotes(voter, roundStart);\n  }\n\n  /**\n   * @dev Checks if the given appId can be voted for in the given round.\n   */\n  function isEligibleForVote(bytes32 appId, uint256 roundId) public view returns (bool) {\n    return\n      XAllocationVotingStorageTypes._getExternalContractsStorage()._x2EarnApps.isEligible(\n        appId,\n        roundSnapshot(roundId)\n      );\n  }\n\n  /**\n   * @dev Returns the deposit voting power for a given account at a given timepoint.\n   */\n  function getDepositVotingPower(address account, uint256 timepoint) public view returns (uint256) {\n    return\n      XAllocationVotingStorageTypes._getExternalContractsStorage()._b3trGovernor.getDepositVotingPower(\n        account,\n        timepoint\n      );\n  }\n\n  // ======================== Voting Settings ======================== //\n\n  /// @dev See {IXAllocationVotingGovernor-votingPeriod}.\n  function votingPeriod() public view returns (uint256) {\n    return VotingSettingsUtils.votingPeriod();\n  }\n\n  /// @dev Returns the quorum for a given timepoint, based on token total supply.\n  function quorum(uint256 timepoint) public view returns (uint256) {\n    return VotesQuorumFractionUtils.quorum(timepoint);\n  }\n\n  // ======================== Clock (EIP-6372) ======================== //\n\n  /// @dev Clock used for flagging checkpoints, as specified in EIP-6372. Matched to the token's clock.\n  function clock() public view returns (uint48) {\n    return VotesUtils.clock();\n  }\n\n  /// @dev Machine-readable description of the clock as specified in EIP-6372.\n  // solhint-disable-next-line func-name-mixedcase\n  function CLOCK_MODE() public view returns (string memory) {\n    return VotesUtils.CLOCK_MODE();\n  }\n\n  // ======================== Round Storage ======================== //\n\n  /// @dev Returns the latest round id.\n  function currentRoundId() public view returns (uint256) {\n    return RoundsStorageUtils.currentRoundId();\n  }\n\n  /// @dev Returns the block number at which the current round snapshot was taken.\n  function currentRoundSnapshot() public view returns (uint256) {\n    return RoundsStorageUtils.currentRoundSnapshot();\n  }\n\n  /// @dev Returns the block number at which the current round ends.\n  function currentRoundDeadline() public view returns (uint256) {\n    return RoundsStorageUtils.currentRoundDeadline();\n  }\n\n  /// @dev Returns the block number when the round starts (snapshot).\n  function roundSnapshot(uint256 roundId) public view returns (uint256) {\n    return RoundsStorageUtils.roundSnapshot(roundId);\n  }\n\n  /// @dev Returns the block number when the round ends.\n  function roundDeadline(uint256 roundId) public view returns (uint256) {\n    return RoundsStorageUtils.roundDeadline(roundId);\n  }\n\n  /// @dev Returns the ids of the apps eligible for voting in a round.\n  function getAppIdsOfRound(uint256 roundId) public view returns (bytes32[] memory) {\n    return RoundsStorageUtils.getAppIdsOfRound(roundId);\n  }\n\n  /// @dev Returns the data of a round.\n  function getRound(uint256 roundId) external view returns (XAllocationVotingStorageTypes.RoundCore memory) {\n    return RoundsStorageUtils.getRound(roundId);\n  }\n\n  /// @dev Returns all the apps eligible for voting in a round with details.\n  /// @notice Could be inefficient with a large number of apps; use {getAppIdsOfRound} + {IX2EarnApps-app} instead.\n  function getAppsOfRound(\n    uint256 roundId\n  ) external view returns (X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory) {\n    return RoundsStorageUtils.getAppsOfRound(roundId);\n  }\n\n  // ======================== Earnings Settings ======================== //\n\n  /// @dev Returns the current base allocation percentage for funds distribution.\n  function baseAllocationPercentage() public view returns (uint256) {\n    return RoundEarningsSettingsUtils.baseAllocationPercentage();\n  }\n\n  /// @dev Returns the max percentage of votes an app can get in a round.\n  function appSharesCap() public view returns (uint256) {\n    return RoundEarningsSettingsUtils.appSharesCap();\n  }\n\n  /// @dev Returns the base allocation percentage for a given round (snapshotted at round start).\n  function getRoundBaseAllocationPercentage(uint256 roundId) public view returns (uint256) {\n    return RoundEarningsSettingsUtils.getRoundBaseAllocationPercentage(roundId);\n  }\n\n  /// @dev Returns the app shares cap for a given round (snapshotted at round start).\n  function getRoundAppSharesCap(uint256 roundId) public view returns (uint256) {\n    return RoundEarningsSettingsUtils.getRoundAppSharesCap(roundId);\n  }\n\n  // ======================== Vote Counting ======================== //\n\n  /// @dev Returns the total votes received by a specific app in a given round.\n  function getAppVotes(uint256 roundId, bytes32 app) public view returns (uint256) {\n    return RoundVotesCountingUtils.getAppVotes(roundId, app);\n  }\n\n  /// @dev Returns the quadratic funding votes received by a specific app in a given round.\n  function getAppVotesQF(uint256 roundId, bytes32 app) public view returns (uint256) {\n    return RoundVotesCountingUtils.getAppVotesQF(roundId, app);\n  }\n\n  /// @dev Returns the total votes cast in a given round.\n  function totalVotes(uint256 roundId) public view returns (uint256) {\n    return RoundVotesCountingUtils.totalVotes(roundId);\n  }\n\n  /// @dev Returns the total quadratic funding votes cast in a given round.\n  function totalVotesQF(uint256 roundId) public view returns (uint256) {\n    return RoundVotesCountingUtils.totalVotesQF(roundId);\n  }\n\n  /// @dev Returns the total number of voters in a given round.\n  function totalVoters(uint256 roundId) public view returns (uint256) {\n    return RoundVotesCountingUtils.totalVoters(roundId);\n  }\n\n  /// @dev Returns whether a user has voted in a given round.\n  function hasVoted(uint256 roundId, address user) public view returns (bool) {\n    return RoundVotesCountingUtils.hasVoted(roundId, user);\n  }\n\n  /// @dev Returns whether a user has voted at least once across all rounds.\n  function hasVotedOnce(address user) public view returns (bool) {\n    return RoundVotesCountingUtils.hasVotedOnce(user);\n  }\n\n  /// @dev Returns whether a user voted for a specific app in a given round.\n  function hasUserVotedForApp(uint256 roundId, address user, bytes32 appId) public view returns (bool) {\n    return RoundVotesCountingUtils.hasUserVotedForApp(roundId, user, appId);\n  }\n\n  /// @dev Returns the minimum amount of tokens needed to cast a vote.\n  function votingThreshold() public view returns (uint256) {\n    return RoundVotesCountingUtils.votingThreshold();\n  }\n\n  // ======================== Quorum ======================== //\n\n  /// @dev Returns the current quorum numerator (latest checkpoint).\n  function quorumNumerator() public view returns (uint256) {\n    return VotesQuorumFractionUtils.quorumNumerator();\n  }\n\n  /// @dev Returns the quorum numerator at a specific timepoint.\n  function quorumNumerator(uint256 timepoint) public view returns (uint256) {\n    return VotesQuorumFractionUtils.quorumNumerator(timepoint);\n  }\n\n  /// @dev Returns the quorum denominator (always 100).\n  function quorumDenominator() public pure returns (uint256) {\n    return VotesQuorumFractionUtils.quorumDenominator();\n  }\n\n  /// @dev Alias for quorumNumerator() — returns the quorum as a percentage.\n  function quorumPercentage() public view returns (uint256) {\n    return VotesQuorumFractionUtils.quorumNumerator();\n  }\n\n  // ======================== Round Finalization ======================== //\n\n  /// @dev Returns the last succeeded round for the given round.\n  function latestSucceededRoundId(uint256 roundId) external view returns (uint256) {\n    return RoundFinalizationUtils.latestSucceededRoundId(roundId);\n  }\n\n  /// @dev Returns whether a round has been finalized.\n  function isFinalized(uint256 roundId) external view returns (bool) {\n    return RoundFinalizationUtils.isFinalized(roundId);\n  }\n\n  /**\n   * Returns the quorum for a given round\n   */\n  function roundQuorum(uint256 roundId) external view returns (uint256) {\n    return quorum(roundSnapshot(roundId));\n  }\n\n  // ======================== Auto-voting getters ======================== //\n\n  /**\n   * @dev Checks if auto-voting is enabled for an account\n   */\n  function isUserAutoVotingEnabled(address user) public view returns (bool) {\n    return AutoVotingLogic.isAutoVotingEnabled(user);\n  }\n\n  /**\n   * @dev Checks if auto-voting is enabled for an account at the start of the current cycle\n   * @notice Status changes mid-cycle will only take effect in the next cycle\n   */\n  function isUserAutoVotingEnabledInCurrentRound(address account) public view returns (bool) {\n    uint256 lastEmissionBlock = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._emissions\n      .lastEmissionBlock();\n    return AutoVotingLogic.isAutoVotingEnabledAtTimepoint(account, uint48(lastEmissionBlock));\n  }\n\n  /**\n   * @dev Checks if auto-voting is enabled for an account at the start of a specific round\n   * @notice Useful function for frontend to consume\n   */\n  function isUserAutoVotingEnabledForRound(address account, uint256 roundId) public view returns (bool) {\n    return AutoVotingLogic.isAutoVotingEnabledAtTimepoint(account, uint48(roundSnapshot(roundId)));\n  }\n\n  /**\n   * @dev Check if auto-voting is enabled for an account at a specific\n   * @param account The address to check\n   * @param timepoint block number\n   */\n  function isUserAutoVotingEnabledAtTimepoint(address account, uint48 timepoint) public view returns (bool) {\n    return AutoVotingLogic.isAutoVotingEnabledAtTimepoint(account, timepoint);\n  }\n\n  /**\n   * @dev Get the voting preferences for an account\n   */\n  function getUserVotingPreferences(address account) public view returns (bytes32[] memory) {\n    return AutoVotingLogic.getUserVotingPreferences(account);\n  }\n\n  /**\n   * @dev Get the total number of users who enabled auto-voting at the last emission block\n   */\n  function getTotalAutoVotingUsersAtRoundStart() public view returns (uint208) {\n    uint256 lastEmissionBlock = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._emissions\n      .lastEmissionBlock();\n    return AutoVotingLogic.getTotalAutoVotingUsersAtTimepoint(uint48(lastEmissionBlock));\n  }\n\n  /**\n   * @dev Get the total number of users who enabled autovoting at a specific timepoint\n   */\n  function getTotalAutoVotingUsersAtTimepoint(uint48 timepoint) public view returns (uint208) {\n    return AutoVotingLogic.getTotalAutoVotingUsersAtTimepoint(timepoint);\n  }\n\n  // ======================== Navigator Registry ======================== //\n\n  /**\n   * @dev Get the NavigatorRegistry contract.\n   */\n  function navigatorRegistry() public view returns (INavigatorRegistry) {\n    return XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry;\n  }\n\n  // ======================== Helpers ======================== //\n\n  /**\n   * @dev Encodes a `RoundState` into a `bytes32` representation where each bit enabled corresponds to\n   * the underlying position in the `RoundState` enum.\n   */\n  function _encodeStateBitmap(RoundState roundState) internal pure returns (bytes32) {\n    return bytes32(1 << uint8(roundState));\n  }\n\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view override(AccessControlUpgradeable, IERC165, ERC165Upgradeable) returns (bool) {\n    return interfaceId == type(IXAllocationVotingGovernor).interfaceId || super.supportsInterface(interfaceId);\n  }\n}\n"},"contracts/GalaxyMember.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\nimport \"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IXAllocationVotingGovernor } from \"./interfaces/IXAllocationVotingGovernor.sol\";\nimport { IB3TRGovernor } from \"./interfaces/IB3TRGovernor.sol\";\nimport { IB3TR } from \"./interfaces/IB3TR.sol\";\nimport { ITokenAuction } from \"./mocks/Stargate/interfaces/ITokenAuction.sol\";\nimport { INodeManagementV3 } from \"./mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { Time } from \"@openzeppelin/contracts/utils/types/Time.sol\";\nimport { IGalaxyMember } from \"./interfaces/IGalaxyMember.sol\";\nimport { IStargateNFT } from \"./mocks/Stargate/interfaces/IStargateNFT.sol\";\n\n/**\n * @title GalaxyMember\n * @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n * @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n *\n * --------------------------------- VERSION 2 ---------------------------------\n * - Added Vechain Nodes contract to attach and detach nodes to tokens\n * - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n * - Added free upgrade levels for each Vechain node level\n * - Removed automatic highest level owned selection\n * - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n * - Core logic functions are now overridable through inheritance\n * - B3TRGovernor has been updated to V2 thus pointing to the new interface\n * - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\n *\n * --------------------------------- VERSION 3 ---------------------------------\n * - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated())\n * - Added `selectFor` function to allow the admin to select a token for the user\n * - Added checkpoints for the selected token ID of the user\n * - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking\n *\n * --------------------------------- VERSION 4 ---------------------------------\n * - Added events to track the level of the token when attaching and detaching nodes\n *\n * --------------------------------- VERSION 5 ---------------------------------\n * - Upon StarGate launch, we updated the NodeManagement contract to V3\n * - Deprecated usage of vechainNodes contract address in favor of nodeManagement contract address, ie\n *   removed `setVechainNodes`\n *   updated `getNodeLevelOf` to use nodeManagement contract\n *   updated ownership conditions on `detachNode` to use nodeManagement contract\n *\n * --------------------------------- VERSION 6 ---------------------------------\n * - Removes Nodemanagement and TokenAuction in favor of Stargate Contract\n * - Replaced `nodeManagement.getNodeManager` with `stargateNFT.getTokenManager`\n * - Replaced `nodeManagement.getNodeOwner` with `stargateNFT.ownerOf`\n * - Replaced `nodeManagement.getNodeLevel` with `stargateNFT.getTokenLevel`\n */\ncontract GalaxyMember is\n  ERC721Upgradeable,\n  ERC721EnumerableUpgradeable,\n  ERC721PausableUpgradeable,\n  ERC721BurnableUpgradeable,\n  AccessControlUpgradeable,\n  ReentrancyGuardUpgradeable,\n  UUPSUpgradeable\n{\n  using Checkpoints for Checkpoints.Trace208; // Checkpoints library for managing checkpoints of the selected token ID of the user\n\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n  bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n  bytes32 public constant NODES_MANAGER_ROLE = keccak256(\"NODES_MANAGER_ROLE\");\n\n  /// @notice Storage structure for GalaxyMember\n  /// @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n  /// @custom:storage-location erc7201:b3tr.storage.GalaxyMember\n  struct GalaxyMemberStorage {\n    IXAllocationVotingGovernor xAllocationsGovernor; // XAllocationVotingGovernor contract\n    IB3TRGovernor b3trGovernor; // B3TRGovernor contract\n    IB3TR b3tr; // B3TR token contract\n    address treasury; // Treasury contract address\n    string _baseTokenURI; // Base URI for the Token\n    uint256 _nextTokenId; // Next Token ID to be minted\n    uint256 MAX_LEVEL; // Current Maximum level the Token can be minted or upgraded to\n    mapping(uint256 => uint256) levelOf; // Mapping from token ID to level of the Token\n    mapping(uint256 => uint256) _b3trToUpgradeToLevel; // Mapping from level to B3TR required to upgrade to that level\n    mapping(address owner => Checkpoints.Trace208) _selectedLevelCheckpoints; // Checkpoints for selected level of the user\n    mapping(address => mapping(uint256 => uint256)) _ownedLevels; // Value-Frequency map tracking levels owned by users\n    bool isPublicMintingPaused; // Flag to pause public minting\n    // --------------------------- V2 Additions --------------------------- //\n    ITokenAuction vechainNodes; // Vechain Nodes contract\n    INodeManagementV3 nodeManagement; // Node Management contract\n    mapping(uint256 => uint256) _nodeToTokenId; // Mapping from Vechain node ID to GalaxyMember Token ID. Used to track the XNode tied to the GM token ID\n    /// @dev If the node is burnt we override the return of \"getNodeIdAttached\" to 0, so users can attach it to a new node after the new attachment storage will reflect and standard logic will apply\n    /// @dev If the node is not managed by the owner of the token, we return 0, so users can attach it to a new node, this happens if the node is transferred to another address and the new owner is not owner of the GM\n    mapping(uint256 => uint256) _tokenIdToNode; // Mapping from GalaxyMember Token ID to Vechain node ID. Used to track the GM token ID tied to the XNode token ID\n    mapping(uint8 => uint256) _nodeToFreeUpgradeLevel; // Mapping from Vechain node level to GalaxyMember level. Used to track the GM level that can be upgraded for free for a given Vechain node level\n    mapping(uint256 => uint256) _tokenIdToB3TRdonated; // Mapping from GM Token ID to B3TR donated for upgrading\n    mapping(address => uint256) _selectedTokenID_DEPRECATED; // Mapping from user address to selected GM token ID - DEPRECATED IN FAVOUR OF CHECKPOINTS\n    // --------------------------- V3 Additions --------------------------- //\n    mapping(address => Checkpoints.Trace208) _selectedTokenIDCheckpoints; // Checkpoints for selected GM token ID of the user\n    // --------------------------- V6 Additions --------------------------- //\n    IStargateNFT stargateNFT; // StargateNFT contract\n  }\n\n  /// @notice Storage slot for GalaxyMemberStorage\n  /// @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant GalaxyMemberStorageLocation =\n    0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200;\n\n  /// @dev Retrieves the current state from the GalaxyMemberStorage mapping\n  function _getGalaxyMemberStorage() private pure returns (GalaxyMemberStorage storage $) {\n    assembly {\n      $.slot := GalaxyMemberStorageLocation\n    }\n  }\n\n  /// @dev Emitted when an account changes the selected token for voting rewards.\n  event Selected(address indexed owner, uint256 tokenId);\n\n  /// @dev Emitted when a token is upgraded.\n  event Upgraded(uint256 indexed tokenId, uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when the max level is updated.\n  event MaxLevelUpdated(uint256 oldLevel, uint256 newLevel);\n\n  /// @dev Emitted when XAllocationVotingGovernor contract address is updated\n  event XAllocationsGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when B3TRGovernor contract address is updated\n  event B3trGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @dev Emitted when base URI is updated\n  event BaseURIUpdated(string indexed newBaseURI, string indexed oldBaseURI);\n\n  /// @dev Emitted when B3TR required to upgrade to each level is updated\n  event B3TRtoUpgradeToLevelUpdated(uint256[] b3trToUpgradeToLevel);\n\n  /// @dev Emitted when public minting is paused\n  event PublicMintingPaused(bool isPaused);\n\n  /// @dev Emitted when a node is attached to a token\n  event NodeAttached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @dev Emitted when a node is detached from a token\n  event NodeDetached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n\n  /// @dev Emitted when node is attached to a token\n  event LevelWhenAttached(uint256 indexed tokenId, uint256 indexed nodeTokenId, uint256 level);\n\n  /// @dev Emitted when node is detached from a token\n  event LevelWhenDetached(uint256 indexed tokenId, uint256 indexed nodeTokenId, uint256 level);\n\n  /// @dev Emitted when the StargateNFT contract address is updated\n  event StargateNFTAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @notice Modifier to check if public minting is not paused\n  modifier whenPublicMintingNotPaused() {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(!$.isPublicMintingPaused, \"Galaxy Member: Public minting is paused\");\n    _;\n  }\n\n  /// @notice Ensures only initializer functions are called when deploying a proxy\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Initializes the contract V6\n  /// @dev Only callable by the UPGRADER_ROLE\n  /// @param _stargateNFT StargateNFT contract address\n  function initializeV6(address _stargateNFT) public virtual reinitializer(6) {\n    require(_stargateNFT != address(0), \"Galaxy Member: _stargateNFT cannot be the zero address\");\n    _getGalaxyMemberStorage().stargateNFT = IStargateNFT(_stargateNFT);\n  }\n\n  /// @notice Internal function to authorize contract upgrades\n  /// @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n  /// @param newImplementation Address of the new contract implementation\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n\n  /// @notice Pauses the Galaxy Member contract\n  /// @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n  /// @dev Only callable by the pauser role\n  function pause() public virtual onlyRole(PAUSER_ROLE) {\n    _pause();\n  }\n\n  /// @notice Unpauses the Galaxy Member contract\n  /// @dev Only callable by the pauser role\n  function unpause() public virtual onlyRole(PAUSER_ROLE) {\n    _unpause();\n  }\n\n  /// @notice Allows a user to freely mint a token if they have participated in governance\n  /// @dev Mints a token with level 1 and ensures that the public minting is not paused\n  function freeMint() public virtual whenPublicMintingNotPaused {\n    require(participatedInGovernance(msg.sender), \"Galaxy Member: User has not participated in governance\");\n\n    safeMint(msg.sender);\n  }\n\n  /// @notice Upgrades a token to the next level\n  /// @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n  /// @param tokenId Token ID to upgrade\n  function upgrade(uint256 tokenId) public virtual nonReentrant whenNotPaused {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: you must own the Token to upgrade it\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 currentLevel = levelOf(tokenId);\n\n    require(currentLevel < MAX_LEVEL(), \"Galaxy Member: Token is already at max level\");\n\n    uint256 b3trRequired = getB3TRtoUpgrade(tokenId);\n\n    require($.b3tr.balanceOf(msg.sender) >= b3trRequired, \"Galaxy Member: Insufficient balance to upgrade\");\n\n    require(\n      $.b3tr.allowance(msg.sender, address(this)) >= b3trRequired,\n      \"Galaxy Member: Insufficient allowance to upgrade\"\n    );\n\n    $._tokenIdToB3TRdonated[tokenId] += b3trRequired;\n\n    require($.b3tr.transferFrom(msg.sender, $.treasury, b3trRequired), \"GalaxyMember: Transfer failed\");\n\n    emit Upgraded(tokenId, currentLevel, levelOf(tokenId));\n  }\n\n  /// @notice Allows the user to select a token for voting rewards multiplier\n  /// @param tokenID Token ID to select\n  function select(uint256 tokenID) public virtual {\n    _select(msg.sender, tokenID);\n  }\n\n  /// @notice Allows the admin to select a token for the user\n  /// @param owner The address of the owner to check\n  function selectFor(address owner, uint256 tokenID) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    _select(owner, tokenID);\n  }\n\n  /// @notice selects the specified token for the user\n  /// @param owner The address of the owner to check\n  /// @param tokenId the token ID to select\n  function _select(address owner, uint256 tokenId) internal virtual {\n    require(ownerOf(tokenId) == owner, \"Galaxy Member: caller is not the owner of the token\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    $._selectedTokenIDCheckpoints[owner].push(clock(), SafeCast.toUint208(tokenId));\n\n    emit Selected(owner, tokenId);\n  }\n\n  /// @notice Allows the token owner to burn their token\n  /// @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n  /// @param tokenId Token ID to burn\n  function burn(uint256 tokenId) public virtual override(ERC721BurnableUpgradeable) {\n    require(ownerOf(tokenId) == msg.sender, \"Galaxy Member: caller is not the owner of the token\");\n\n    super.burn(tokenId);\n  }\n\n  // ------------------------------- VECHAIN NODES FUNCTIONS ------------------------------- //\n\n  function attachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(tokenId == 0 || _ownerOf(tokenId) != address(0), \"GalaxyMember: token does not exist\");\n    require(ownerOf(tokenId) == msg.sender, \"GalaxyMember: token not owned by caller\");\n    require(\n      $.stargateNFT.getTokenManager(nodeTokenId) == msg.sender,\n      \"GalaxyMember: node not owned or managed by caller\"\n    );\n    require(_getIdAttachedToNode(nodeTokenId, $) == 0, \"GalaxyMember: node already attached to a token\");\n    require(_getNodeIdAttached(tokenId, $) == 0, \"GalaxyMember: token already attached to a node\");\n\n    $._nodeToTokenId[nodeTokenId] = tokenId;\n    $._tokenIdToNode[tokenId] = nodeTokenId;\n\n    emit NodeAttached(nodeTokenId, tokenId);\n\n    // Get the level of the token after attaching the node\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeTokenId);\n    emit LevelWhenAttached(tokenId, nodeTokenId, level);\n  }\n\n  function detachNode(uint256 nodeTokenId, uint256 tokenId) public virtual whenNotPaused {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(tokenId == 0 || _ownerOf(tokenId) != address(0), \"GalaxyMember: token does not exist\");\n    require(\n      ownerOf(tokenId) == msg.sender ||\n        $.stargateNFT.isTokenManager(msg.sender, nodeTokenId) ||\n        $.stargateNFT.ownerOf(nodeTokenId) == msg.sender,\n      \"GalaxyMember: node not owned or managed by caller or token not owned by caller\"\n    );\n    require(_getIdAttachedToNode(nodeTokenId, $) == tokenId, \"GalaxyMember: node not attached to the token\");\n    require(_getNodeIdAttached(tokenId, $) == nodeTokenId, \"GalaxyMember: token not attached to the node\");\n\n    delete $._nodeToTokenId[nodeTokenId];\n    delete $._tokenIdToNode[tokenId];\n\n    emit NodeDetached(nodeTokenId, tokenId);\n\n    // Get the level of the token after detaching the node\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, 0);\n    emit LevelWhenDetached(tokenId, nodeTokenId, level);\n  }\n\n  // ----------- Internal & Private ----------- //\n\n  /// @notice Internal function to safely mint a token\n  /// @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n  /// @param to Address to mint the token to\n  function safeMint(address to) internal virtual {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    uint256 tokenId = $._nextTokenId++;\n    _safeMint(to, tokenId);\n  }\n\n  // ---------- Setters ---------- //\n\n  /// @notice Sets the maximum level that tokens can be minted or upgraded to\n  /// @dev Only callable by the admin role\n  function setMaxLevel(uint256 level) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level > $.MAX_LEVEL, \"Galaxy Member: Max level must be greater than the current max level\");\n\n    // First Level that requires B3TR is level 2\n    for (uint256 i = 2; i <= level; i++) {\n      require($._b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\"); // Require all levels til the new max level to have a B3TR requirement\n    }\n\n    uint256 oldLevel = $.MAX_LEVEL;\n\n    $.MAX_LEVEL = level;\n\n    emit MaxLevelUpdated(oldLevel, level);\n  }\n\n  /// @notice Sets the XAllocationVotingGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _xAllocationsGovernor XAllocationVotingGovernor contract address\n  function setXAllocationsGovernorAddress(\n    address _xAllocationsGovernor\n  ) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_xAllocationsGovernor != address(0), \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit XAllocationsGovernorAddressUpdated(_xAllocationsGovernor, address($.xAllocationsGovernor));\n    $.xAllocationsGovernor = IXAllocationVotingGovernor(_xAllocationsGovernor);\n  }\n\n  /// @notice Sets the B3TRGovernor contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _b3trGovernor B3TRGovernor contract address\n  function setB3trGovernorAddress(address _b3trGovernor) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_b3trGovernor != address(0), \"Galaxy Member: _b3trGovernor cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit B3trGovernorAddressUpdated(_b3trGovernor, address($.b3trGovernor));\n    $.b3trGovernor = IB3TRGovernor(payable(_b3trGovernor));\n  }\n\n  /// @notice Sets the base URI for computing the tokenURI\n  /// @dev Only callable by the admin role\n  /// @param baseTokenURI Base URI for the Token\n  function setBaseURI(string memory baseTokenURI) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    require(bytes(baseTokenURI).length > 0, \"Galaxy Member: Base URI must be set\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit BaseURIUpdated(baseTokenURI, $._baseTokenURI);\n    $._baseTokenURI = baseTokenURI;\n  }\n\n  /// @notice Sets the amount of B3TR required to upgrade to each level\n  /// @dev Only callable by the admin role\n  /// @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n  function setB3TRtoUpgradeToLevel(uint256[] memory b3trToUpgradeToLevel) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    for (uint256 i; i < b3trToUpgradeToLevel.length; i++) {\n      require(b3trToUpgradeToLevel[i] > 0, \"Galaxy Member: B3TR to upgrade must be greater than 0\");\n      $._b3trToUpgradeToLevel[i + 2] = b3trToUpgradeToLevel[i]; // First Level that requires B3TR is level 2\n    }\n    emit B3TRtoUpgradeToLevelUpdated(b3trToUpgradeToLevel);\n  }\n\n  /// @notice Pauses public minting\n  /// @dev Only callable by the admin role\n  /// @param isPaused Flag to pause or unpause public minting\n  function setIsPublicMintingPaused(bool isPaused) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    emit PublicMintingPaused(isPaused);\n    $.isPublicMintingPaused = isPaused;\n  }\n\n  /// @notice Sets the treasury contract address\n  /// @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n  /// @param level new free upgrade level\n  function setNodeToFreeUpgradeLevel(uint8 nodeLevel, uint256 level) public virtual onlyRole(NODES_MANAGER_ROLE) {\n    require(level >= 1, \"GalaxyMember: invalid level\");\n    require(nodeLevel >= 1, \"GalaxyMember: invalid node level\");\n\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    require(level <= $.MAX_LEVEL, \"GalaxyMember: level must be less than or equal to MAX_LEVEL\");\n\n    $._nodeToFreeUpgradeLevel[nodeLevel] = level;\n  }\n\n  /// @notice Sets the StargateNFT contract address\n  /// @dev Only callable by the contractsAddressManager role\n  /// @param _stargateNFT StargateNFT contract address\n  function setStargateNFTAddress(address _stargateNFT) public virtual onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    require(_stargateNFT != address(0), \"Galaxy Member: _stargateNFT cannot be the zero address\");\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    emit StargateNFTAddressUpdated(_stargateNFT, address($.stargateNFT));\n    $.stargateNFT = IStargateNFT(_stargateNFT);\n  }\n\n  // ---------- Getters ---------- //\n\n  /// @notice Gets the level of the GM token\n  /// @param tokenId Token ID to check\n  function levelOf(uint256 tokenId) public view virtual returns (uint256) {\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    return level;\n  }\n\n  /// @notice Gets the B3TR required to upgrade to the next level\n  /// @param tokenId Token ID to check\n  function getB3TRtoUpgrade(uint256 tokenId) public view virtual returns (uint256) {\n    if (_ownerOf(tokenId) == address(0)) return 0;\n\n    uint256 nodeId = getNodeIdAttached(tokenId);\n\n    // Get the level of the token and the B3TR donated left to upgrade\n    (uint256 currentLevel, uint256 b3trDonatedLeft) = _getLevelOfAndB3TRleft(tokenId, nodeId);\n\n    // If the current level is the max level, return 0\n    if (currentLevel == MAX_LEVEL()) {\n      return 0;\n    }\n\n    // Get the B3TR required to upgrade to the next level by subtracting the B3TR donated left from the B3TR required to upgrade to the next level\n    return getB3TRtoUpgradeToLevel(currentLevel + 1) - b3trDonatedLeft;\n  }\n\n  /// @notice Gets the level of the GM token and the B3TR Donated left to upgrade\n  /// @param tokenId Token ID to check\n  /// @return level The level of the token\n  /// @return b3trDonatedLeft The B3TR donated left to upgrade\n  function _getLevelOfAndB3TRleft(uint256 tokenId, uint256 nodeId) internal view virtual returns (uint256, uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    // Default level is 1 if the token is not attached to a node or the token has not been upgraded\n    uint256 level = 1;\n\n    // if the token is attached to a node and the node is managed by the caller\n    if (nodeId != 0 && $.stargateNFT.getTokenManager(nodeId) == ownerOf(tokenId)) {\n      // Get the level of the node (i.e., Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n      uint8 nodeLevel = getNodeLevelOf(nodeId);\n\n      // If the node level is not 0 (i.e., None)\n      if (nodeLevel != 0) {\n        // Get the level of the token that can be upgraded for free\n        uint256 nodeToFreeLevel = getNodeToFreeLevel(nodeLevel);\n\n        // If the free upgrade level is greater than the current max level, set the level to the max level\n        level = nodeToFreeLevel <= $.MAX_LEVEL ? nodeToFreeLevel : $.MAX_LEVEL;\n      }\n    }\n\n    // Initialise the B3TR donated which keeps track of the B3TR left after upgrading the token\n    uint256 b3trDonatedLeft = $._tokenIdToB3TRdonated[tokenId];\n\n    // Loop through the levels starting from the current level and check if the B3TR donated is enough to upgrade to the next level\n    for (uint256 i = level + 1; i <= $.MAX_LEVEL; i++) {\n      if (b3trDonatedLeft >= $._b3trToUpgradeToLevel[i]) {\n        level = i;\n        b3trDonatedLeft -= $._b3trToUpgradeToLevel[i];\n      } else {\n        // If the B3TR donated is not enough to upgrade to the next level, break the loop\n        break;\n      }\n    }\n\n    // Return the level and the B3TR donated left.\n    return (level, b3trDonatedLeft);\n  }\n\n  /// @notice Gets the strength level of the Vechain node\n  /// @param nodeId Vechain Node Token ID\n  function getNodeLevelOf(uint256 nodeId) public view virtual returns (uint8) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n\n    return $.stargateNFT.getTokenLevel(nodeId);\n  }\n\n  /// @notice Gets the selected token ID for the user\n  /// @param owner The address of the owner to check\n  function getSelectedTokenId(address owner) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._selectedTokenIDCheckpoints[owner].latest();\n  }\n\n  /// @notice Gets the selected token ID for the user in a specific block number\n  /// @param owner The address of the owner to check\n  /// @param blockNumber The block number to check\n  function getSelectedTokenIdAtBlock(address owner, uint48 blockNumber) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._selectedTokenIDCheckpoints[owner].upperLookupRecent(blockNumber);\n  }\n\n  /// @notice Gets the level of the token after attaching a node\n  /// @param tokenId - GM Token ID\n  /// @param nodeTokenId - Vechain Node Token ID\n  function getLevelAfterAttachingNode(uint256 tokenId, uint256 nodeTokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, nodeTokenId);\n\n    return level;\n  }\n\n  /// @notice Gets the level of the token after detaching a node\n  /// @param tokenId - GM Token ID\n  function getLevelAfterDetachingNode(uint256 tokenId) public view virtual returns (uint256) {\n    (uint256 level, ) = _getLevelOfAndB3TRleft(tokenId, 0);\n\n    return level;\n  }\n\n  /// @notice Gets whether the user has participated in governance\n  /// @param user The address of the user to check\n  function participatedInGovernance(address user) public view virtual returns (bool) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(\n      $.xAllocationsGovernor != IXAllocationVotingGovernor(address(0)),\n      \"Galaxy Member: XAllocationVotingGovernor not set\"\n    );\n    require($.b3trGovernor != IB3TRGovernor(payable(address(0))), \"Galaxy Member: B3TRGovernor not set\");\n\n    if ($.xAllocationsGovernor.hasVotedOnce(user) || $.b3trGovernor.hasVotedOnce(user)) {\n      return true;\n    }\n\n    return false;\n  }\n\n  /// @notice Gets the base URI for computing the tokenURI\n  function baseURI() public view virtual returns (string memory) {\n    return _baseURI();\n  }\n\n  /// @notice Gets the B3TR required to upgrade to a specific level\n  /// @param level Level to upgrade to\n  function getB3TRtoUpgradeToLevel(uint256 level) public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._b3trToUpgradeToLevel[level];\n  }\n\n  /// @notice gets the token URI for a specific token\n  /// @dev computes the token URI based on the base URI and the level of the token\n  /// @param tokenId Token ID to get the URI for\n  function tokenURI(uint256 tokenId) public view virtual override(ERC721Upgradeable) returns (string memory) {\n    if (_ownerOf(tokenId) == address(0)) return \"\";\n\n    uint256 levelOfToken = levelOf(tokenId);\n    return levelOfToken > 0 ? string.concat(baseURI(), Strings.toString(levelOfToken), \".json\") : \"\";\n  }\n\n  /// @notice Gets the xAllocationsGovernor contract address\n  function xAllocationsGovernor() external view returns (IXAllocationVotingGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.xAllocationsGovernor;\n  }\n\n  /// @notice Gets the b3trGovernor contract address\n  function b3trGovernor() external view returns (IB3TRGovernor) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3trGovernor;\n  }\n\n  /// @notice Gets the B3TR token contract address\n  function b3tr() external view returns (IB3TR) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.b3tr;\n  }\n\n  /// @notice Gets the treasury contract address\n  function treasury() external view returns (address) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.treasury;\n  }\n\n  /// @notice Gets the StargateNFT contract address\n  function stargateNFT() external view returns (IStargateNFT) {\n    return _getGalaxyMemberStorage().stargateNFT;\n  }\n\n  /// @notice Gets the maximum level that tokens can be minted or upgraded to\n  function MAX_LEVEL() public view virtual returns (uint256) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $.MAX_LEVEL;\n  }\n\n  /// @notice Get the GM Token ID attached to the Vechain Node Token ID\n  /// @param nodeId Vechain node Token ID\n  function getIdAttachedToNode(uint256 nodeId) public view virtual returns (uint256) {\n    return _getIdAttachedToNode(nodeId, _getGalaxyMemberStorage());\n  }\n\n  /// @notice Get the Vechain Node Token ID attached to the GM Token ID\n  /// @param tokenId GM Token ID\n  function getNodeIdAttached(uint256 tokenId) public view virtual returns (uint256) {\n    return _getNodeIdAttached(tokenId, _getGalaxyMemberStorage());\n  }\n\n  /// @notice Get the GM level that can be upgraded for free for a given Vechain node level\n  /// @param nodeLevel Vechain node level\n  function getNodeToFreeLevel(uint8 nodeLevel) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._nodeToFreeUpgradeLevel[nodeLevel];\n  }\n\n  /// @notice Get the B3TR donated for upgrading a token\n  /// @param tokenId Token ID to check\n  function getB3TRdonated(uint256 tokenId) public view virtual returns (uint256) {\n    return _getGalaxyMemberStorage()._tokenIdToB3TRdonated[tokenId];\n  }\n\n  /// @notice Retrieves the current version of the contract\n  /// @dev This function is used to identify the version of the contract and should be updated in each new version\n  /// @return string The version of the contract\n  function version() external pure virtual returns (string memory) {\n    return \"6\";\n  }\n\n  struct TokenInfo {\n    uint256 tokenId;\n    string tokenURI;\n    uint256 tokenLevel;\n    uint256 b3trToUpgrade;\n  }\n\n  /// @notice Gets the token info by token ID\n  /// @param tokenId Token ID to get the info for\n  /// @return TokenInfo The token info\n  function getTokenInfoByTokenId(uint256 tokenId) public view virtual returns (TokenInfo memory) {\n    // Check if the token ID exists\n    require(_ownerOf(tokenId) != address(0), \"GalaxyMember: tokenId doesn't exist\");\n\n    TokenInfo memory tokenInfo;\n    tokenInfo.tokenId = tokenId;\n    tokenInfo.tokenURI = tokenURI(tokenId);\n    tokenInfo.tokenLevel = levelOf(tokenId);\n    tokenInfo.b3trToUpgrade = getB3TRtoUpgrade(tokenId);\n    return tokenInfo;\n  }\n\n  /// @notice Gets the selected token info for an address\n  /// @param owner The address of the owner to check\n  /// @return TokenInfo The selected token info\n  function getSelectedTokenInfoByOwner(address owner) public view returns (TokenInfo memory) {\n    uint256 tokenId = getSelectedTokenId(owner);\n    return getTokenInfoByTokenId(tokenId);\n  }\n\n  /// @notice Gets the tokens owned by an address\n  /// @param owner The address of the owner to check\n  /// @param page The page number to fetch\n  /// @param size The number of tokens to fetch (cannot exceed 100)\n  /// @return TokenInfo[] The tokens owned by the address\n  function getTokensInfoByOwner(address owner, uint256 page, uint256 size) public view returns (TokenInfo[] memory) {\n    // Ensure size is not 0\n    if (size == 0) {\n      revert(\"GalaxyMember: Invalid size, cannot be 0\");\n    }\n\n    // Maximum number of tokens to fetch per page\n    uint256 MAX_PAGINATION_SIZE = 100;\n\n    // Ensure size is not greater than the maximum allowed value\n    if (size > MAX_PAGINATION_SIZE) {\n      revert(\n        string(\n          abi.encodePacked(\"GalaxyMember: Invalid size, cannot be greater than \", Strings.toString(MAX_PAGINATION_SIZE))\n        )\n      );\n    }\n\n    uint256 balance = balanceOf(owner); // Get the number of tokens owned by the address\n\n    // Calculate the starting index for the current page\n    uint256 start = page * size;\n\n    // If start index is greater than or equal to balance, return an empty array\n    if (start >= balance) {\n      return new TokenInfo[](0);\n    }\n\n    // Calculate the end index (exclusive)\n    uint256 end = start + size;\n    if (end > balance) {\n      end = balance; // Ensure the end index doesn't exceed the owner's balance\n    }\n\n    // Calculate the number of tokens to return\n    uint256 numTokens = end - start;\n\n    TokenInfo[] memory tokens = new TokenInfo[](numTokens);\n\n    for (uint256 i = 0; i < numTokens; i++) {\n      uint256 tokenIndex = start + i;\n      uint256 tokenId = tokenOfOwnerByIndex(owner, tokenIndex);\n      tokens[i] = getTokenInfoByTokenId(tokenId);\n    }\n\n    return tokens;\n  }\n\n  /// @dev Clock used for flagging checkpoints.\n  function clock() public view virtual returns (uint48) {\n    return Time.blockNumber();\n  }\n\n  /**\n   * @dev Returns the mode of the clock.\n   */\n  function CLOCK_MODE() public view virtual returns (string memory) {\n    return \"mode=blocknumber&from=default\";\n  }\n\n  // ---------- Internal Functions ---------- //\n\n  /// @notice Internal function to get the level of the token\n  /// @param tokenId Token ID to get the node ID for\n  /// @param $ GalaxyMemberStorage storage pointer\n  /// @return nodeId The node ID attached to the token\n  function _getNodeIdAttached(uint256 tokenId, GalaxyMemberStorage storage $) internal view virtual returns (uint256) {\n    uint256 nodeId = $._tokenIdToNode[tokenId];\n    // 1 - If the node does is burnt we return 0, so users can attach it to a new node\n    // 2 - If the node is not managed by the owner of the token, we return 0, so users can attach it to a new node\n    if (!$.stargateNFT.tokenExists(nodeId) || ownerOf(tokenId) != $.stargateNFT.getTokenManager(nodeId)) {\n      return 0;\n    }\n\n    return nodeId;\n  }\n\n  function _getIdAttachedToNode(uint256 nodeId, GalaxyMemberStorage storage $) internal view virtual returns (uint256) {\n    uint256 tokenId = $._nodeToTokenId[nodeId];\n    if (tokenId == 0 || !$.stargateNFT.tokenExists(nodeId) || ownerOf(tokenId) != $.stargateNFT.getTokenManager(nodeId)) {\n      return 0;\n    }\n\n    return tokenId;\n  }\n\n  // ---------- Overrides ---------- //\n\n  /// @notice Performs automatic level updating upon token updates\n  /// @dev Overrides the _update function to update the highest level owned by the owner\n  /// @param to The address to transfer the token to\n  /// @param tokenId The token ID to update\n  /// @param auth The address of the sender\n  function _update(\n    address to,\n    uint256 tokenId,\n    address auth\n  )\n    internal\n    override(ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721PausableUpgradeable)\n    whenNotPaused\n    returns (address)\n  {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    require(_getNodeIdAttached(tokenId, $) == 0, \"GalaxyMember: token attached to a node, detach before transfer\");\n\n    address _previousOwner = super._update(to, tokenId, auth);\n\n    // If the owner has no tokens, don't select any token\n    if (_previousOwner != address(0) && balanceOf(_previousOwner) == 0) {\n      $._selectedTokenIDCheckpoints[_previousOwner].push(clock(), 0);\n    }\n\n    // If the owner transfers out the selected token, select the first token he owns\n    if (\n      _previousOwner != address(0) && getSelectedTokenId(_previousOwner) == tokenId && balanceOf(_previousOwner) > 0\n    ) {\n      _select(_previousOwner, tokenOfOwnerByIndex(_previousOwner, 0));\n    }\n\n    // If the new owner has only one token, select it\n    if (to != address(0) && balanceOf(to) == 1) {\n      _select(to, tokenOfOwnerByIndex(to, 0));\n    }\n\n    return _previousOwner;\n  }\n\n  /// @dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable\n  function _increaseBalance(\n    address account,\n    uint128 value\n  ) internal override(ERC721Upgradeable, ERC721EnumerableUpgradeable) {\n    super._increaseBalance(account, value);\n  }\n\n  /// @dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view override(ERC721Upgradeable, ERC721EnumerableUpgradeable, AccessControlUpgradeable) returns (bool) {\n    return super.supportsInterface(interfaceId);\n  }\n\n  /// @dev Overrides the _baseURI for ERC721URIStorageUpgradeable\n  function _baseURI() internal view override returns (string memory) {\n    GalaxyMemberStorage storage $ = _getGalaxyMemberStorage();\n    return $._baseTokenURI;\n  }\n}\n"},"contracts/governance/B3TRGovernor.sol":{"content":"//SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorProposalLogic } from \"./libraries/GovernorProposalLogic.sol\";\nimport { GovernorStateLogic } from \"./libraries/GovernorStateLogic.sol\";\nimport { GovernorVotesLogic } from \"./libraries/GovernorVotesLogic.sol\";\nimport { GovernorQuorumLogic } from \"./libraries/GovernorQuorumLogic.sol\";\nimport { GovernorDepositLogic } from \"./libraries/GovernorDepositLogic.sol\";\nimport { GovernorStorageTypes } from \"./libraries/GovernorStorageTypes.sol\";\nimport { GovernorClockLogic } from \"./libraries/GovernorClockLogic.sol\";\nimport { GovernorFunctionRestrictionsLogic } from \"./libraries/GovernorFunctionRestrictionsLogic.sol\";\nimport { GovernorGovernanceLogic } from \"./libraries/GovernorGovernanceLogic.sol\";\nimport { GovernorConfigurator } from \"./libraries/GovernorConfigurator.sol\";\nimport { GovernorCommunityExecutionLogic } from \"./libraries/GovernorCommunityExecutionLogic.sol\";\nimport { GovernorTypes } from \"./libraries/GovernorTypes.sol\";\nimport { ITreasury } from \"../interfaces/ITreasury.sol\";\nimport { IVoterRewards } from \"../interfaces/IVoterRewards.sol\";\nimport { IVOT3 } from \"../interfaces/IVOT3.sol\";\nimport { IB3TR } from \"../interfaces/IB3TR.sol\";\nimport { IB3TRGovernor } from \"../interfaces/IB3TRGovernor.sol\";\nimport { IXAllocationVotingGovernor } from \"../interfaces/IXAllocationVotingGovernor.sol\";\nimport { TimelockControllerUpgradeable } from \"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\";\nimport { IERC165 } from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport { IERC1155Receiver } from \"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\";\nimport { IERC721Receiver } from \"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\";\nimport { Address } from \"@openzeppelin/contracts/utils/Address.sol\";\nimport \"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { IVeBetterPassport } from \"../interfaces/IVeBetterPassport.sol\";\nimport { IGrantsManager } from \"../interfaces/IGrantsManager.sol\";\nimport { IGalaxyMember } from \"../interfaces/IGalaxyMember.sol\";\nimport { INavigatorRegistry } from \"../interfaces/INavigatorRegistry.sol\";\nimport { IRelayerRewardsPool } from \"../interfaces/IRelayerRewardsPool.sol\";\n\n/**\n * @title B3TRGovernor\n * @notice This contract is the main governance contract for the VeBetterDAO ecosystem.\n * Anyone can create a proposal to both change the state of the contract, to execute a transaction\n * on the timelock or to ask for a vote from the community without performing any onchain action.\n * In order for the proposal to become active, the community needs to deposit a certain amount of VOT3 tokens.\n * This is used as a heat check for the proposal, and funds are returned to the depositors after vote is concluded.\n * Votes for proposals start periodically, based on the allocation rounds (see xAllocationVoting contract), and the round\n * in which the proposal should be active is specified by the proposer during the proposal creation.\n *\n * A minimum amount of voting power is required in order to vote on a proposal.\n * The voting power is calculated through the quadratic vote formula based on the amount of VOT3 tokens held by the\n * voter at the block when the proposal becomes active.\n *\n * Once a proposal succeeds, it can be queued and executed. The execution is done through the timelock contract.\n *\n * The contract is upgradeable and uses the UUPS pattern.\n * @dev The contract is upgradeable and uses the UUPS pattern. All logic is stored in libraries.\n *\n * ------------------ VERSION 2 ------------------\n * - Replaced onlyGovernance modifier with onlyRoleOrGovernance which checks if the caller has the DEFAULT_ADMIN_ROLE role or if the function is called through a governance proposal\n * ------------------ VERSION 3 ------------------\n * - Added the ability to toggle the quadratic voting mechanism on and off\n * ------------------ VERSION 4 ------------------\n * - Integrated VeBetterPassport contract\n * ------------------ VERSION 5 ------------------\n * - Difference from V4: Updated all libraries to use new version of IVoterRewards that supports GM Upgrades.\n * ------------------ VERSION 6 ------------------\n * - Updated all libraries to use new version of IVoterRewards that supports GM Rewards Pool.\n * ------------------ VERSION 7 ------------------\n * - Added proposal type concept, STANDARD (0n) for existing proposals and GRANT (1n) for new grants proposals.\n * - Added deposit threshold cap based on proposal type.\n * ------------------ VERSION 8 ------------------\n * - No changes from V7 (placeholder for future reference).\n * ------------------ VERSION 9 ------------------\n * - Added reason parameter to cancel function for providing cancellation rationale.\n * - Added ProposalCanceledWithReason event.\n * ------------------ VERSION 10 ------------------\n * - Refactored from module inheritance to library architecture for contract size optimization\n * - Added navigator delegation voting via castNavigatorVote(proposalId, citizen)\n * - New storage: GovernorStorage.navigatorRegistry (INavigatorRegistry), relayerRewardsPool (IRelayerRewardsPool),\n *   proposalsForRound mapping (round-indexed proposal tracking for relayer expected-actions)\n * - New events: NavigatorGovernanceVoteCast\n * - New errors: NotDelegatedToNavigator, NavigatorDecisionNotSet (in GovernorVotesLogic)\n * - New initializer: initializeV10(INavigatorRegistry, IRelayerRewardsPool, uint256 governanceSkipWindowBlocks) — reinitializer(8)\n * - governanceSkipWindowBlocks moved from constant to storage (GovernorStorage), configurable per env\n * - setGovernanceSkipWindowBlocks(uint256) setter via GovernorConfigurator\n * - setNavigatorRegistry() / setRelayerRewardsPool() setters via GovernorConfigurator\n * - GovernorVotesLogic.getVotes() returns delegated amount when citizen has active navigator at snapshot\n * - Dead navigator (deactivated/exiting) = delegation void, returns full VOT3 balance\n * - castNavigatorVote uses snapshot-based navigator lookup (getNavigatorAtTimepoint)\n * - castVote double-vote prevention: blocks manual voting if delegated at proposal snapshot with alive navigator\n * - Uses checkpointed citizenToNavigator and isDeactivatedAtTimepoint for snapshot consistency\n */\ncontract B3TRGovernor is IB3TRGovernor, AccessControlUpgradeable, UUPSUpgradeable, PausableUpgradeable {\n  /// @notice The role that can whitelist allowed functions in the propose function\n  bytes32 public constant GOVERNOR_FUNCTIONS_SETTINGS_ROLE = keccak256(\"GOVERNOR_FUNCTIONS_SETTINGS_ROLE\");\n  /// @notice The role that can pause the contract\n  bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n  /// @notice The role that can set external contracts addresses\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n  /// @notice The role that can execute a proposal\n  bytes32 public constant PROPOSAL_EXECUTOR_ROLE = keccak256(\"PROPOSAL_EXECUTOR_ROLE\");\n  /// @notice The role that can mark a proposal in development/completed state\n  bytes32 public constant PROPOSAL_STATE_MANAGER_ROLE = keccak256(\"PROPOSAL_STATE_MANAGER_ROLE\");\n\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Initialize V10: set NavigatorRegistry, RelayerRewardsPool, and governance skip window\n  function initializeV10(\n    INavigatorRegistry _navigatorRegistry,\n    IRelayerRewardsPool _relayerRewardsPool,\n    uint256 _governanceSkipWindowBlocks\n  ) external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) reinitializer(8) {\n    require(address(_navigatorRegistry) != address(0), \"B3TRGovernor: invalid navigator registry\");\n    require(address(_relayerRewardsPool) != address(0), \"B3TRGovernor: invalid relayer rewards pool\");\n    GovernorConfigurator.setNavigatorRegistry(_navigatorRegistry);\n    GovernorConfigurator.setRelayerRewardsPool(_relayerRewardsPool);\n    GovernorConfigurator.setGovernanceSkipWindowBlocks(_governanceSkipWindowBlocks);\n  }\n\n  /// @notice Initialize V11: Community Execution Framework\n  /// @dev Records the Treasury reference used to pay the registered payee and the maximum\n  ///      number of contributor handles allowed per proposal.\n  /// @param _treasury The Treasury contract from which B3TR payouts are pulled.\n  /// @param _maxContributorsPerProposal Hard cap on the contributors array per proposal.\n  function initializeV11(\n    ITreasury _treasury,\n    uint256 _maxContributorsPerProposal\n  ) external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) reinitializer(9) {\n    require(address(_treasury) != address(0), \"B3TRGovernor: invalid treasury\");\n    require(_maxContributorsPerProposal > 0, \"B3TRGovernor: invalid max contributors\");\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    $.treasury = _treasury;\n    $.maxContributorsPerProposal = _maxContributorsPerProposal;\n  }\n\n  /**\n   * @dev Restricts a function so it can only be executed through governance proposals. For example, governance\n   * parameter setters in {GovernorSettings} are protected using this modifier.\n   *\n   * The governance executing address may be different from the Governor's own address, for example it could be a\n   * timelock. This can be customized by modules by overriding {_executor}. The executor is only able to invoke these\n   * functions during the execution of the governor's {execute} function, and not under any other circumstances. Thus,\n   * for example, additional timelock proposers are not able to change governance parameters without going through the\n   * governance protocol (since v4.6).\n   */\n  modifier onlyGovernance() {\n    GovernorGovernanceLogic.checkGovernance(_msgSender(), _msgData(), address(this));\n    _;\n  }\n\n  /**\n   * @notice Modifier to check if the caller has the specified role or if the function is called through a governance proposal\n   * @param role The role to check against\n   */\n  modifier onlyRoleOrGovernance(bytes32 role) {\n    if (!hasRole(role, _msgSender())) GovernorGovernanceLogic.checkGovernance(_msgSender(), _msgData(), address(this));\n    _;\n  }\n\n  /**\n   * @dev Modifier to make a function callable only by a certain role. In\n   * addition to checking the sender's role, `address(0)` 's role is also\n   * considered. Granting a role to `address(0)` is equivalent to enabling\n   * this role for everyone.\n   */\n  modifier onlyRoleOrOpenRole(bytes32 role) {\n    if (!hasRole(role, address(0))) {\n      _checkRole(role, _msgSender());\n    }\n    _;\n  }\n\n  /**\n   * @dev Function to receive VET that will be handled by the governor (disabled if executor is a third party contract)\n   */\n  receive() external payable virtual {\n    if (GovernorGovernanceLogic.executor() != address(this)) {\n      revert GovernorDisabledDeposit();\n    }\n  }\n\n  /**\n   * @notice Relays a transaction or function call to an arbitrary target. In cases where the governance executor\n   * is some contract other than the governor itself, like when using a timelock, this function can be invoked\n   * in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake.\n   * Note that if the executor is simply the governor itself, use of `relay` is redundant.\n   * @param target The target address\n   * @param value The amount of ether to send\n   * @param data The data to call the target with\n   */\n  function relay(\n    address target,\n    uint256 value,\n    bytes calldata data\n  ) external payable virtual onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    (bool success, bytes memory returndata) = target.call{ value: value }(data);\n    Address.verifyCallResult(success, returndata);\n  }\n\n  // ------------------ GETTERS ------------------ //\n\n  /**\n   * @notice Function to know if a proposal is executable or not.\n   * If the proposal was created without any targets, values, or calldatas, it is not executable.\n   * to check if the proposal is executable.\n   * @dev If no calldatas or targets then it's not executable, otherwise it will check if the governance can execute transactions or not.\n   * @param proposalId The id of the proposal\n   * @return bool True if the proposal needs queuing, false otherwise\n   */\n  function proposalNeedsQueuing(uint256 proposalId) external view returns (bool) {\n    return GovernorProposalLogic.proposalNeedsQueuing(proposalId);\n  }\n\n  /**\n   * @notice Returns the state of a proposal\n   * @param proposalId The id of the proposal\n   * @return GovernorTypes.ProposalState The state of the proposal\n   */\n  function state(uint256 proposalId) external view returns (GovernorTypes.ProposalState) {\n    return GovernorTypes.ProposalState(GovernorStateLogic.state(proposalId));\n  }\n\n  /**\n   * @notice Check if the proposal can start in the next round\n   * @return bool True if the proposal can start in the next round, false otherwise\n   */\n  function canProposalStartInNextRound() public view returns (bool) {\n    return GovernorProposalLogic.canProposalStartInNextRound();\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-proposalProposer}.\n   * @param proposalId The id of the proposal\n   * @return address The address of the proposer\n   */\n  function proposalProposer(uint256 proposalId) public view virtual returns (address) {\n    return GovernorProposalLogic.proposalProposer(proposalId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-proposalEta}.\n   * @param proposalId The id of the proposal\n   * @return uint256 The ETA of the proposal\n   */\n  function proposalEta(uint256 proposalId) public view virtual returns (uint256) {\n    return GovernorProposalLogic.proposalEta(proposalId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-proposalStartRound}\n   * @param proposalId The id of the proposal\n   * @return uint256 The start round of the proposal\n   */\n  function proposalStartRound(uint256 proposalId) public view returns (uint256) {\n    return GovernorProposalLogic.proposalStartRound(proposalId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-proposalSnapshot}.\n   * We take for granted that the round starts the block after it ends. But it can happen that the round is not started yet for whatever reason.\n   * Knowing this, if the proposal starts 4 rounds in the future we need to consider also those extra blocks used to start the rounds.\n   * @param proposalId The id of the proposal\n   * @return uint256 The snapshot of the proposal\n   */\n  function proposalSnapshot(uint256 proposalId) external view returns (uint256) {\n    return GovernorProposalLogic.proposalSnapshot(proposalId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-proposalDeadline}.\n   * @param proposalId The id of the proposal\n   * @return uint256 The deadline of the proposal\n   */\n  function proposalDeadline(uint256 proposalId) external view returns (uint256) {\n    return GovernorProposalLogic.proposalDeadline(proposalId);\n  }\n\n  /**\n   * @notice Returns the voting threshold for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @return uint256 The voting threshold\n   */\n  function votingThresholdByProposalType(GovernorTypes.ProposalType proposalTypeValue) external view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposalTypeVotingThreshold[proposalTypeValue];\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-getVotes}.\n   * @param account The address of the account\n   * @param timepoint The timepoint to get the votes at\n   * @return uint256 The number of votes\n   */\n  function getVotes(address account, uint256 timepoint) external view returns (uint256) {\n    return GovernorVotesLogic.getVotes(account, timepoint);\n  }\n\n  /**\n   * @notice Returns the quadratic voting power that `account` has.  See {IB3TRGovernor-getQuadraticVotingPower}.\n   * @param account The address of the account\n   * @param timepoint The timepoint to get the voting power at\n   * @return uint256 The quadratic voting power\n   */\n  function getQuadraticVotingPower(address account, uint256 timepoint) external view returns (uint256) {\n    return GovernorVotesLogic.getQuadraticVotingPower(account, timepoint);\n  }\n\n  /**\n   * @notice Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token\n   * does not implement EIP-6372.\n   * @return uint48 The current clock time\n   */\n  function clock() external view returns (uint48) {\n    return GovernorClockLogic.clock();\n  }\n\n  /**\n   * @notice Machine-readable description of the clock as specified in EIP-6372.\n   * @return string The clock mode\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function CLOCK_MODE() external view returns (string memory) {\n    return GovernorClockLogic.CLOCK_MODE();\n  }\n\n  /**\n   * @notice The token that voting power is sourced from.\n   * @return IVOT3 The voting token\n   */\n  function token() external view returns (IVOT3) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.vot3;\n  }\n\n  /**\n   * @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n   * @param blockNumber The block number to get the quorum for\n   * @return uint256 The quorum\n   */\n  function quorum(uint256 blockNumber) external view returns (uint256) {\n    return GovernorQuorumLogic.quorum(blockNumber);\n  }\n\n  /**\n   * @notice Returns the current quorum numerator. See {quorumDenominator}.\n   * @return uint256 The current quorum numerator\n   */\n  function quorumNumerator() external view returns (uint256) {\n    return GovernorQuorumLogic.quorumNumerator();\n  }\n\n  /**\n   * @notice Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\n   * @param timepoint The timepoint to get the quorum numerator for\n   * @return uint256 The quorum numerator at the given timepoint\n   */\n  function quorumNumerator(uint256 timepoint) external view returns (uint256) {\n    return GovernorQuorumLogic.quorumNumerator(timepoint);\n  }\n\n  /**\n   * @notice Returns the quorum denominator using the GovernorQuorumFraction library. Defaults to 100, but may be overridden.\n   * @return uint256 The quorum denominator\n   */\n  function quorumDenominator() external pure returns (uint256) {\n    return GovernorQuorumLogic.quorumDenominator();\n  }\n\n  /**\n   * @notice Check if a function is restricted by the governor\n   * @param target The address of the contract\n   * @param functionSelector The function selector\n   * @return bool True if the function is whitelisted, false otherwise\n   */\n  function isFunctionWhitelisted(address target, bytes4 functionSelector) external view returns (bool) {\n    return GovernorFunctionRestrictionsLogic.isFunctionWhitelisted(target, functionSelector);\n  }\n\n  /**\n   * @notice See {B3TRGovernor-minVotingDelay}.\n   * @return uint256 The minimum voting delay\n   */\n  function minVotingDelay() external view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.minVotingDelay;\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-votingPeriod}.\n   * @return uint256 The voting period\n   */\n  function votingPeriod() external view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.xAllocationVoting.votingPeriod();\n  }\n\n  /**\n   * @notice Check if a user has voted at least one time.\n   * @param user The address of the user to check if has voted at least one time\n   * @return bool True if the user has voted once, false otherwise\n   */\n  function hasVotedOnce(address user) external view returns (bool) {\n    return GovernorVotesLogic.userVotedOnce(user);\n  }\n\n  /**\n   * @notice Returns if quorum was reached or not\n   * @param proposalId The id of the proposal\n   * @return bool True if quorum was reached, false otherwise\n   */\n  function quorumReached(uint256 proposalId) external view returns (bool) {\n    return GovernorQuorumLogic.isQuorumReached(proposalId);\n  }\n\n  /**\n   * @notice Returns the total votes for a proposal\n   * @param proposalId The id of the proposal\n   * @return uint256 The total votes for the proposal\n   */\n  function proposalTotalVotes(uint256 proposalId) external view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposalTotalVotes[proposalId];\n  }\n\n  /**\n   * @notice Accessor to the internal vote counts, in terms of vote power.\n   * @param proposalId The id of the proposal\n   * @return againstVotes The votes against the proposal\n   * @return forVotes The votes for the proposal\n   * @return abstainVotes The votes abstaining the proposal\n   */\n  function proposalVotes(\n    uint256 proposalId\n  ) external view returns (uint256 againstVotes, uint256 forVotes, uint256 abstainVotes) {\n    return GovernorVotesLogic.getProposalVotes(proposalId);\n  }\n\n  /**\n   * @notice Returns the counting mode\n   * @return string The counting mode\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function COUNTING_MODE() external pure returns (string memory) {\n    return \"support=bravo&quorum=for,abstain,against\";\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-hasVoted}.\n   * @param proposalId The id of the proposal\n   * @param account The address of the account\n   * @return bool True if the account has voted, false otherwise\n   */\n  function hasVoted(uint256 proposalId, address account) external view returns (bool) {\n    return GovernorVotesLogic.hasVoted(proposalId, account);\n  }\n\n  /**\n   * @notice Returns the amount of deposits made to a proposal.\n   * @param proposalId The id of the proposal.\n   * @return uint256 The amount of deposits\n   */\n  function getProposalDeposits(uint256 proposalId) external view returns (uint256) {\n    return GovernorDepositLogic.getProposalDeposits(proposalId);\n  }\n\n  /**\n   * @notice Returns true if the threshold of deposits required to reach a proposal has been reached.\n   * @param proposalId The id of the proposal.\n   * @return bool True if the threshold is reached, false otherwise\n   */\n  function proposalDepositReached(uint256 proposalId) external view returns (bool) {\n    return GovernorDepositLogic.proposalDepositReached(proposalId);\n  }\n\n  /**\n   * @notice Returns the deposit threshold for a proposal.\n   * @param proposalId The id of the proposal.\n   * @return uint256 The deposit threshold for the proposal.\n   */\n  function proposalDepositThreshold(uint256 proposalId) external view returns (uint256) {\n    return GovernorDepositLogic.proposalDepositThreshold(proposalId);\n  }\n\n  /**\n   * @notice Public endpoint to retrieve the timelock id of a proposal.\n   * @param proposalId The id of the proposal\n   * @return bytes32 The timelock id\n   */\n  function getTimelockId(uint256 proposalId) public view returns (bytes32) {\n    return GovernorProposalLogic.getTimelockId(proposalId);\n  }\n\n  /**\n   * @notice Returns the amount of tokens a specific user has deposited to a proposal.\n   * @param proposalId The id of the proposal.\n   * @param user The address of the user.\n   * @return uint256 The amount of tokens deposited by the user\n   */\n  function getUserDeposit(uint256 proposalId, address user) external view returns (uint256) {\n    return GovernorDepositLogic.getUserDeposit(proposalId, user);\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-name}.\n   * @return string The name of the governor\n   */\n  function name() external view returns (string memory) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.name;\n  }\n\n  /**\n   * @notice Check if quadratic voting is disabled for the current round.\n   * @return true if quadratic voting is disabled, false otherwise.\n   */\n  function isQuadraticVotingDisabledForCurrentRound() external view returns (bool) {\n    return GovernorVotesLogic.isQuadraticVotingDisabledForCurrentRound();\n  }\n\n  /**\n   * @notice Check if quadratic voting is disabled at a specific round.\n   * @param roundId - The round ID for which to check if quadratic voting is disabled.\n   * @return true if quadratic voting is disabled, false otherwise.\n   */\n  function isQuadraticVotingDisabledForRound(uint256 roundId) external view returns (bool) {\n    return GovernorVotesLogic.isQuadraticVotingDisabledForRound(roundId);\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-version}.\n   * @return string The version of the governor\n   */\n  function version() external pure returns (string memory) {\n    return \"11\";\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-hashProposal}.\n   * The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array\n   * and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id\n   * can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in\n   * advance, before the proposal is submitted.\n   * Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the\n   * same proposal (with same operation and same description) will have the same id if submitted on multiple governors\n   * across multiple networks. This also means that in order to execute the same operation twice (on the same\n   * governor) the proposer will have to change the description in order to avoid proposal id conflicts.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param descriptionHash The hash of the description\n   * @return uint256 The proposal id\n   */\n  function hashProposal(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) public pure returns (uint256) {\n    return GovernorProposalLogic.hashProposal(targets, values, calldatas, descriptionHash);\n  }\n\n  /**\n   * @notice Public endpoint to get the salt used for the timelock operation.\n   * @param descriptionHash The hash of the description\n   * @return bytes32 The timelock salt\n   */\n  function timelockSalt(bytes32 descriptionHash) external view returns (bytes32) {\n    return GovernorGovernanceLogic.timelockSalt(descriptionHash, address(this));\n  }\n\n  /**\n   * @notice The voter rewards contract.\n   * @return IVoterRewardsV2 The voter rewards contract\n   */\n  function voterRewards() external view returns (IVoterRewards) {\n    return GovernorStorageTypes.getGovernorStorage().voterRewards;\n  }\n\n  /**\n   * @notice The XAllocationVotingGovernor contract.\n   * @return IXAllocationVotingGovernor The XAllocationVotingGovernor contract\n   */\n  function xAllocationVoting() external view returns (IXAllocationVotingGovernor) {\n    return GovernorStorageTypes.getGovernorStorage().xAllocationVoting;\n  }\n\n  /**\n   * @notice See {B3TRGovernor-b3tr}.\n   * @return IB3TR The B3TR contract\n   */\n  function b3tr() external view returns (IB3TR) {\n    return GovernorStorageTypes.getGovernorStorage().b3tr;\n  }\n\n  /**\n   * @notice Public accessor to check the address of the timelock\n   * @return address The address of the timelock\n   */\n  function timelock() external view virtual returns (address) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return address($.timelock);\n  }\n\n  /**\n   * @notice Returns the VeBetterPassport contract.\n   * @return The current VeBetterPassport contract.\n   */\n  function veBetterPassport() external view returns (IVeBetterPassport) {\n    return GovernorStorageTypes.getGovernorStorage().veBetterPassport;\n  }\n\n  /**\n   * @notice Returns the NavigatorRegistry contract.\n   * @return INavigatorRegistry The NavigatorRegistry contract\n   */\n  function navigatorRegistry() external view returns (INavigatorRegistry) {\n    return GovernorStorageTypes.getGovernorStorage().navigatorRegistry;\n  }\n\n  /**\n   * @notice Returns the RelayerRewardsPool contract.\n   */\n  function relayerRewardsPool() external view returns (IRelayerRewardsPool) {\n    return GovernorStorageTypes.getGovernorStorage().relayerRewardsPool;\n  }\n\n  /**\n   * @notice Returns the governance skip window in blocks.\n   */\n  function governanceSkipWindowBlocks() external view returns (uint256) {\n    return GovernorConfigurator.governanceSkipWindowBlocks();\n  }\n\n  /**\n   * @notice Returns currently active proposal IDs.\n   */\n  function getActiveProposals() external view returns (uint256[] memory) {\n    return GovernorProposalLogic.getActiveProposals();\n  }\n\n  /**\n   * @notice Returns the proposal type of a proposal.\n   * @param proposalId The id of the proposal\n   * @return GovernorTypes.ProposalType The proposal type\n   */\n  function proposalType(uint256 proposalId) external view returns (GovernorTypes.ProposalType) {\n    return GovernorTypes.ProposalType(GovernorProposalLogic.proposalType(proposalId));\n  }\n\n  /**\n   * @notice Returns the deposit threshold for a proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return uint256 The deposit threshold for the proposal type.\n   */\n  function depositThresholdByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorDepositLogic.depositThresholdByProposalType(uint8(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the deposit threshold percentage for a proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return uint256 The deposit threshold percentage for the proposal type.\n   */\n  function depositThresholdPercentageByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorConfigurator.getDepositThresholdPercentage(proposalTypeValue);\n  }\n\n  /**\n   * @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n   * @param blockNumber The block number to get the quorum for\n   * @param proposalTypeValue The type of proposal\n   * @return uint256 The quorum\n   */\n  function quorumByProposalType(\n    uint256 blockNumber,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorQuorumLogic.quorumByProposalType(blockNumber, uint8(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the quorum numerator for a specific proposal type.\n   * @param proposalTypeValue The type of proposal\n   * @return uint256 The quorum numerator\n   */\n  function quorumNumeratorByProposalType(GovernorTypes.ProposalType proposalTypeValue) external view returns (uint256) {\n    return GovernorQuorumLogic.quorumNumeratorByProposalType(uint8(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\n   * @param timepoint The timepoint to get the quorum numerator for\n   * @return uint256 The quorum numerator at the given timepoint\n   */\n  function quorumNumeratorByProposalType(\n    uint256 timepoint,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorQuorumLogic.quorumNumeratorByProposalType(timepoint, uint8(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the deposit threshold cap for a proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return uint256 The deposit threshold cap for the proposal type.\n   */\n  function depositThresholdCapByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    return GovernorConfigurator.getDepositThresholdCap(proposalTypeValue);\n  }\n\n  /**\n   * @notice Get the GalaxyMember contract\n   * @return The current GalaxyMember contract\n   */\n  function getGalaxyMemberContract() external view returns (IGalaxyMember) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.galaxyMember;\n  }\n\n  /**\n   * @notice Get the GrantsManager contract\n   * @return The current GrantsManager contract\n   */\n  function getGrantsManagerContract() external view returns (IGrantsManager) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.grantsManager;\n  }\n\n  /**\n   * @notice Get the GM weight for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @return The GM weight for the proposal type\n   */\n  function getRequiredGMLevelByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.requiredGMLevelByProposalType[proposalTypeValue];\n  }\n\n  // ------------------ SETTERS ------------------ //\n\n  /**\n   * @notice Pause the contract\n   */\n  function pause() external onlyRole(PAUSER_ROLE) {\n    _pause();\n  }\n\n  /**\n   * @notice Unpause the contract\n   */\n  function unpause() external onlyRole(PAUSER_ROLE) {\n    _unpause();\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-propose}.\n   * @dev V11 consolidated entrypoint. Single `propose` function with mandatory `maxBudget`\n   *      parameter — pass `0` for proposals without a community-execution payout flow.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param description The proposal description\n   * @param startRoundId The round in which the proposal should start\n   * @param depositAmount The amount of deposit for the proposal\n   * @param maxBudget Maximum implementation budget in B3TR wei (0 = no payout flow)\n   * @return uint256 The proposal id\n   */\n  function propose(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    uint256 maxBudget\n  ) external whenNotPaused returns (uint256) {\n    return\n      GovernorProposalLogic.propose(\n        targets,\n        values,\n        calldatas,\n        description,\n        startRoundId,\n        depositAmount,\n        maxBudget\n      );\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-queue}.\n   * Callable only when contract is not paused.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param descriptionHash The hash of the description\n   * @return uint256 The proposal id\n   */\n  function queue(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external whenNotPaused returns (uint256) {\n    return GovernorProposalLogic.queue(address(this), targets, values, calldatas, descriptionHash);\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-execute}.\n   * Callable only when contract is not paused.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param descriptionHash The hash of the description\n   * @return uint256 The proposal id\n   */\n  function execute(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external payable whenNotPaused onlyRoleOrOpenRole(PROPOSAL_EXECUTOR_ROLE) returns (uint256) {\n    return GovernorProposalLogic.execute(address(this), targets, values, calldatas, descriptionHash);\n  }\n\n  /**\n   * @notice See {Governor-cancel}.\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param descriptionHash The hash of the description\n   * @param reason The reason for canceling the proposal\n   * @return uint256 The proposal id\n   */\n  function cancel(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash,\n    string memory reason\n  ) external returns (uint256) {\n    return\n      GovernorProposalLogic.cancel(\n        _msgSender(),\n        hasRole(DEFAULT_ADMIN_ROLE, _msgSender()),\n        targets,\n        values,\n        calldatas,\n        descriptionHash,\n        reason\n      );\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-castVote}.\n   * @param proposalId The id of the proposal\n   * @param support The support value (0 = against, 1 = for, 2 = abstain)\n   * @return uint256 The voting power\n   */\n  function castVote(uint256 proposalId, uint8 support) external returns (uint256) {\n    return GovernorVotesLogic.castVote(proposalId, _msgSender(), support, \"\");\n  }\n\n  /**\n   * @notice See {IB3TRGovernor-castVoteWithReason}.\n   * @param proposalId The id of the proposal\n   * @param support The support value (0 = against, 1 = for, 2 = abstain)\n   * @param reason The reason for the vote\n   * @return uint256 The voting power\n   */\n  function castVoteWithReason(uint256 proposalId, uint8 support, string calldata reason) external returns (uint256) {\n    return GovernorVotesLogic.castVote(proposalId, _msgSender(), support, reason);\n  }\n\n  /**\n   * @notice Cast a governance vote on behalf of a citizen delegated to a navigator.\n   * @param proposalId The id of the proposal\n   * @param citizen The delegated citizen whose voting power is used\n   * @return uint256 The voting weight used\n   */\n  function castNavigatorVote(uint256 proposalId, address citizen) external returns (uint256) {\n    return GovernorVotesLogic.castNavigatorVote(proposalId, citizen);\n  }\n\n  /**\n   * @notice Withdraws deposits for a specific proposal\n   * @param proposalId The id of the proposal\n   * @param depositor The address of the depositor\n   */\n  function withdraw(uint256 proposalId, address depositor) external {\n    GovernorDepositLogic.withdraw(proposalId, depositor);\n  }\n\n  /**\n   * @notice Deposits tokens for a specific proposal\n   * @param amount The amount of tokens to deposit\n   * @param proposalId The id of the proposal\n   */\n  function deposit(uint256 amount, uint256 proposalId) external {\n    GovernorDepositLogic.deposit(amount, proposalId);\n  }\n\n  /**\n   * @notice Changes the quorum numerator.\n   * This operation can only be performed through a governance proposal.\n   * Emits a {QuorumNumeratorUpdated} event.\n   * @param newQuorumNumerator The new quorum numerator\n   */\n  function updateQuorumNumerator(uint256 newQuorumNumerator) external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorQuorumLogic.updateQuorumNumerator(newQuorumNumerator);\n  }\n\n  /**\n   * @notice Toggle quadratic voting for next round.\n   * @dev This function toggles the state of quadratic votingstarting from the next round.\n   * The state will flip between enabled and disabled each time the function is called.\n   */\n  function toggleQuadraticVoting() external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorVotesLogic.toggleQuadraticVoting();\n  }\n\n  /**\n   * @notice Method that allows to restrict functions that can be called by proposals for a single function selector\n   * @param target The address of the contract\n   * @param functionSelector The function selector\n   * @param isWhitelisted Bool indicating if function is whitelisted for proposals\n   */\n  function setWhitelistFunction(\n    address target,\n    bytes4 functionSelector,\n    bool isWhitelisted\n  ) public onlyRoleOrGovernance(GOVERNOR_FUNCTIONS_SETTINGS_ROLE) {\n    GovernorFunctionRestrictionsLogic.setWhitelistFunction(target, functionSelector, isWhitelisted);\n  }\n\n  /**\n   * @notice Method that allows to restrict functions that can be called by proposals for multiple function selectors at once\n   * @param target The address of the contract\n   * @param functionSelectors Array of function selectors\n   * @param isWhitelisted Bool indicating if function is whitelisted for proposals\n   */\n  function setWhitelistFunctions(\n    address target,\n    bytes4[] memory functionSelectors,\n    bool isWhitelisted\n  ) public onlyRoleOrGovernance(GOVERNOR_FUNCTIONS_SETTINGS_ROLE) {\n    GovernorFunctionRestrictionsLogic.setWhitelistFunctions(target, functionSelectors, isWhitelisted);\n  }\n\n  /**\n   * @notice Method that allows to toggle the function restriction on/off\n   * @param isEnabled Flag to enable/disable function restriction\n   */\n  function setIsFunctionRestrictionEnabled(\n    bool isEnabled\n  ) public onlyRoleOrGovernance(GOVERNOR_FUNCTIONS_SETTINGS_ROLE) {\n    GovernorFunctionRestrictionsLogic.setIsFunctionRestrictionEnabled(isEnabled);\n  }\n\n  /**\n   * @notice Update the min voting delay before vote can start.\n   * This operation can only be performed through a governance proposal.\n   * Emits a {MinVotingDelaySet} event.\n   * @param newMinVotingDelay The new minimum voting delay\n   */\n  function setMinVotingDelay(uint256 newMinVotingDelay) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfigurator.setMinVotingDelay(newMinVotingDelay);\n  }\n\n  /**\n   * @notice Set the governance skip window (blocks before proposal deadline when relayers can skip navigator votes)\n   * @param newValue The new skip window in blocks\n   */\n  function setGovernanceSkipWindowBlocks(uint256 newValue) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfigurator.setGovernanceSkipWindowBlocks(newValue);\n  }\n\n  /**\n   * @notice Set the voter rewards contract\n   * This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\n   * @param newVoterRewards The new voter rewards contract\n   */\n  function setVoterRewards(IVoterRewards newVoterRewards) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfigurator.setVoterRewards(newVoterRewards);\n  }\n\n  /**\n   * @notice Set the xAllocationVoting contract\n   * This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\n   * @param newXAllocationVoting The new xAllocationVoting contract\n   */\n  function setXAllocationVoting(\n    IXAllocationVotingGovernor newXAllocationVoting\n  ) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfigurator.setXAllocationVoting(newXAllocationVoting);\n  }\n\n  /**\n   * @notice Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n   * must be proposed, scheduled, and executed through governance proposals.\n   * CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\n   * @param newTimelock The new timelock controller\n   */\n  function updateTimelock(\n    TimelockControllerUpgradeable newTimelock\n  ) external virtual onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfigurator.updateTimelock(newTimelock);\n  }\n\n  /**\n   * @notice Set the VeBetterPassport contract\n   * @param newVeBetterPassport The new VeBetterPassport contract\n   */\n  function setVeBetterPassport(\n    IVeBetterPassport newVeBetterPassport\n  ) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfigurator.setVeBetterPassport(newVeBetterPassport);\n  }\n\n  /**\n   * @notice Set the NavigatorRegistry contract\n   * @param newNavigatorRegistry The new NavigatorRegistry contract\n   */\n  function setNavigatorRegistry(\n    INavigatorRegistry newNavigatorRegistry\n  ) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfigurator.setNavigatorRegistry(newNavigatorRegistry);\n  }\n\n  /**\n   * @notice Set the RelayerRewardsPool contract\n   * @param newRelayerRewardsPool The new RelayerRewardsPool contract\n   */\n  function setRelayerRewardsPool(\n    IRelayerRewardsPool newRelayerRewardsPool\n  ) public onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfigurator.setRelayerRewardsPool(newRelayerRewardsPool);\n  }\n\n  /**\n   * @notice Propose a grant\n   * @param targets The list of target addresses\n   * @param values The list of values to send\n   * @param calldatas The list of call data\n   * @param description The proposal description\n   * @param startRoundId The round in which the proposal should start\n   * @param depositAmount The amount of deposit for the proposal\n   * @param grantsReceiver The address of the grants receiver\n   * @param milestonesDetailsMetadataURI The IPFS hash containing the milestones descriptions\n   * @return The proposal id\n   */\n  function proposeGrant(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    address grantsReceiver,\n    string memory milestonesDetailsMetadataURI\n  ) external returns (uint256) {\n    return\n      GovernorProposalLogic.proposeGrant(\n        targets,\n        values,\n        calldatas,\n        description,\n        startRoundId,\n        depositAmount,\n        grantsReceiver,\n        milestonesDetailsMetadataURI\n      );\n  }\n\n  /**\n   * @notice Reset the development state of a proposal back to pending development\n   * @param proposalId The id of the proposal\n   * @dev This should reset the enum state back to the original one,\n   * since pending development is not tracked in {GovernorStateLogic._state} condition\n   */\n  function resetDevelopmentState(uint256 proposalId) public onlyRole(PROPOSAL_STATE_MANAGER_ROLE) {\n    GovernorProposalLogic.resetDevelopmentState(proposalId);\n  }\n\n  /**\n   * @notice Mark a proposal as completed\n   * @param proposalId The id of the proposal\n   */\n  function markAsCompleted(uint256 proposalId) public onlyRole(PROPOSAL_STATE_MANAGER_ROLE) {\n    GovernorProposalLogic.markAsCompleted(proposalId);\n  }\n\n  // ------------------ V11: Community Execution Framework ------------------ //\n\n  /**\n   * @notice V11: Mark a proposal as InDevelopment and register the single payout address,\n   *         free-text description, implementation-discussion link, and contributor handles.\n   * @dev Callable by the proposer or by an address holding PROPOSAL_STATE_MANAGER_ROLE.\n   *      - `maxBudget == 0` requires `payee == address(0)` (pure state transition).\n   *      - `maxBudget > 0`  requires `payee != address(0)` (single recipient of the full budget).\n   *      Grants reject — Grants follow the milestone-based payout flow.\n   *      The registered payee receives the FULL `maxBudget` on {claimPayout}; it is the\n   *      payee's responsibility to forward funds to any contributors / team off-chain.\n   * @param proposalId               The proposal id.\n   * @param payee                    Single payout address; may be address(0) when maxBudget == 0.\n   * @param description              Free-text description (e.g. \"Developed by Framer and Rosa\").\n   * @param implementationDiscussion URL to the implementation-discussion thread.\n   * @param contributors             Array of contributor handles / URLs (capped at maxContributorsPerProposal).\n   */\n  function markAsInDevelopment(\n    uint256 proposalId,\n    address payee,\n    string calldata description,\n    string calldata implementationDiscussion,\n    string[] calldata contributors\n  ) external whenNotPaused {\n    GovernorCommunityExecutionLogic.markAsInDevelopment(\n      proposalId,\n      payee,\n      description,\n      implementationDiscussion,\n      contributors,\n      hasRole(PROPOSAL_STATE_MANAGER_ROLE, _msgSender())\n    );\n  }\n\n  /**\n   * @notice V11: Update the payee / description / implementation-discussion / contributors of\n   *         a proposal whose payout has not been claimed yet.\n   * @dev Authorized to the proposer OR PROPOSAL_STATE_MANAGER_ROLE. Allowed while the proposal\n   *      is `InDevelopment` or `Completed` and `proposalPaid` is still false.\n   */\n  function updateCommunityExecution(\n    uint256 proposalId,\n    address payee,\n    string calldata description,\n    string calldata implementationDiscussion,\n    string[] calldata contributors\n  ) external whenNotPaused {\n    GovernorCommunityExecutionLogic.updateCommunityExecution(\n      proposalId,\n      payee,\n      description,\n      implementationDiscussion,\n      contributors,\n      hasRole(PROPOSAL_STATE_MANAGER_ROLE, _msgSender())\n    );\n  }\n\n  /**\n   * @notice V11: Pay the registered payee the full implementation cost from Treasury.\n   * @dev Callable by anyone. Idempotent — second call reverts with PayoutAlreadyClaimed.\n   */\n  function claimPayout(uint256 proposalId) external whenNotPaused {\n    GovernorCommunityExecutionLogic.claimPayout(proposalId);\n  }\n\n  // ------------------ V11: Views ------------------ //\n\n  /// @notice The maximum implementation cost (B3TR wei) recorded for a proposal.\n  function getProposalBudget(uint256 proposalId) external view returns (uint256) {\n    return GovernorCommunityExecutionLogic.getProposalBudget(proposalId);\n  }\n\n  /// @notice The single registered payee for the proposal.\n  function getProposalPayee(uint256 proposalId) external view returns (address) {\n    return GovernorCommunityExecutionLogic.getProposalPayee(proposalId);\n  }\n\n  /// @notice True iff the payout has already been pulled from Treasury.\n  function isProposalPaid(uint256 proposalId) external view returns (bool) {\n    return GovernorCommunityExecutionLogic.isProposalPaid(proposalId);\n  }\n\n  /// @notice The free-text description registered alongside the V11 payee.\n  function getProposalDescription(uint256 proposalId) external view returns (string memory) {\n    return GovernorCommunityExecutionLogic.getProposalDescription(proposalId);\n  }\n\n  /// @notice The implementation-discussion link for a proposal.\n  function getProposalImplementationDiscussion(uint256 proposalId) external view returns (string memory) {\n    return GovernorCommunityExecutionLogic.getProposalImplementationDiscussion(proposalId);\n  }\n\n  /// @notice The contributor handle list (e.g. github/twitter URLs) for a proposal.\n  function getProposalContributors(uint256 proposalId) external view returns (string[] memory) {\n    return GovernorCommunityExecutionLogic.getProposalContributors(proposalId);\n  }\n\n  /**\n   * @notice Changes the quorum numerator for a specific proposal type.\n   * This operation can only be performed through a governance proposal.\n   * Emits a {QuorumNumeratorUpdatedByType} event.\n   * @param newQuorumNumerator The new quorum numerator\n   * @param proposalTypeValue The proposal type\n   */\n  function updateQuorumNumeratorByType(\n    uint256 newQuorumNumerator,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorQuorumLogic.updateQuorumNumeratorByType(newQuorumNumerator, proposalTypeValue);\n  }\n\n  /**\n   * @notice Update the deposit threshold for a proposal type. This operation can only be performed through a governance proposal.\n   * Emits a {DepositThresholdSetV2} event.\n   * @param newDepositThreshold The new deposit threshold\n   * @param proposalTypeValue The proposal type\n   */\n  function setProposalTypeDepositThresholdPercentage(\n    uint256 newDepositThreshold,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfigurator.setProposalTypeDepositThresholdPercentage(proposalTypeValue, newDepositThreshold);\n  }\n\n  /**\n   * @notice Update the voting threshold for a proposal type. This operation can only be performed through a governance proposal.\n   * Emits a {VotingThresholdSetV2} event.\n   * @param newVotingThreshold The new voting threshold\n   * @param proposalTypeValue The proposal type\n   */\n  function setProposalTypeVotingThreshold(\n    uint256 newVotingThreshold,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfigurator.setProposalTypeVotingThreshold(proposalTypeValue, newVotingThreshold);\n  }\n\n  /**\n   * @notice Update the deposit threshold cap for a proposal type. This operation can only be performed through a governance proposal or by the DEFAULT_ADMIN_ROLE\n   * Emits a {DepositThresholdCapSet} event.\n   * @param newDepositThresholdCap The new deposit threshold cap\n   * @param proposalTypeValue The proposal type\n   */\n  function setProposalTypeDepositThresholdCap(\n    uint256 newDepositThresholdCap,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) public onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfigurator.setProposalTypeDepositThresholdCap(proposalTypeValue, newDepositThresholdCap);\n  }\n\n  /**\n   * @notice Set the GalaxyMember contract\n   * @param newGalaxyMember The new GalaxyMember contract\n   */\n  function setGalaxyMember(\n    IGalaxyMember newGalaxyMember\n  ) external onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfigurator.setGalaxyMemberContract(newGalaxyMember);\n  }\n\n  /**\n   * @notice Set the GrantsManager contract\n   * @param newGrantsManager The new GrantsManager contract\n   */\n  function setGrantsManager(\n    IGrantsManager newGrantsManager\n  ) external onlyRoleOrGovernance(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    GovernorConfigurator.setGrantsManagerContract(newGrantsManager);\n  }\n\n  /**\n   * @notice Set the GM weight for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @param newGMWeight The new GM weight for the proposal type\n   * @notice e.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal\n   */\n  function setRequiredGMLevelByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue,\n    uint256 newGMWeight\n  ) external onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {\n    GovernorConfigurator.setRequiredGMLevelByProposalType(proposalTypeValue, newGMWeight);\n  }\n\n  /**\n   * @notice Get the deposit voting power for a given account at a given timepoint\n   * @param account The address of the account\n   * @param timepoint The timepoint\n   * @return The deposit voting power\n   */\n  function getDepositVotingPower(address account, uint256 timepoint) public view returns (uint256) {\n    return GovernorDepositLogic.getDepositVotingPower(account, timepoint);\n  }\n\n  // ------------------ Overrides ------------------ //\n\n  /**\n   * @notice Authorizes upgrade to a new implementation\n   * @param newImplementation The address of the new implementation\n   */\n  function _authorizeUpgrade(address newImplementation) internal override onlyRoleOrGovernance(DEFAULT_ADMIN_ROLE) {}\n\n  /**\n   * @notice Checks if the contract supports a specific interface\n   * @param interfaceId The interface id to check\n   * @return bool True if the interface is supported, false otherwise\n   */\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public pure override(IERC165, AccessControlUpgradeable) returns (bool) {\n    return\n      interfaceId == type(IB3TRGovernor).interfaceId ||\n      interfaceId == type(IERC1155Receiver).interfaceId ||\n      interfaceId == type(IERC165).interfaceId;\n  }\n\n  /**\n   * @notice See {IERC1155Receiver-onERC1155Received}.\n   * Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n   * @return bytes4 The selector of the function\n   */\n  function onERC1155Received(address, address, uint256, uint256, bytes memory) public virtual returns (bytes4) {\n    if (GovernorGovernanceLogic.executor() != address(this)) {\n      revert GovernorDisabledDeposit();\n    }\n    return this.onERC1155Received.selector;\n  }\n\n  /**\n   * @notice See {IERC721Receiver-onERC721Received}.\n   * Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n   * @return bytes4 The selector of the function\n   */\n  function onERC721Received(address, address, uint256, bytes memory) public virtual returns (bytes4) {\n    if (GovernorGovernanceLogic.executor() != address(this)) {\n      revert GovernorDisabledDeposit();\n    }\n    return this.onERC721Received.selector;\n  }\n\n  /**\n   * @notice See {IERC1155Receiver-onERC1155BatchReceived}.\n   * Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n   * @return bytes4 The selector of the function\n   */\n  function onERC1155BatchReceived(\n    address,\n    address,\n    uint256[] memory,\n    uint256[] memory,\n    bytes memory\n  ) public virtual returns (bytes4) {\n    if (GovernorGovernanceLogic.executor() != address(this)) {\n      revert GovernorDisabledDeposit();\n    }\n    return this.onERC1155BatchReceived.selector;\n  }\n}\n"},"contracts/governance/libraries/GovernorClockLogic.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\nimport { IVOT3 } from \"../../interfaces/IVOT3.sol\";\nimport { Time } from \"@openzeppelin/contracts/utils/types/Time.sol\";\n\n/// @title GovernorClockLogic Library\n/// @notice Library for managing the clock logic as specified in EIP-6372, with fallback to block numbers.\n/// @dev This library interacts with the IVOT3 interface to get the clock time or mode.\nlibrary GovernorClockLogic {\n  /**\n   * @notice Returns the current timepoint from the token's clock, falling back to the current block number if the token does not implement EIP-6372.\n   * @dev Tries to get the timepoint from the vot3 clock. If it fails, it returns the current block number.\n   * @return The current timepoint or block number.\n   */\n  function clock() external view returns (uint48) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    try $.vot3.clock() returns (uint48 timepoint) {\n      return timepoint;\n    } catch {\n      return Time.blockNumber();\n    }\n  }\n\n  /**\n   * @notice Returns the machine-readable description of the clock mode as specified in EIP-6372.\n   * @dev Tries to get the clock mode from the vot3 interface. If it fails, it returns the default block number mode.\n   * @return The clock mode as a string.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function CLOCK_MODE() external view returns (string memory) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    try $.vot3.CLOCK_MODE() returns (string memory clockmode) {\n      return clockmode;\n    } catch {\n      return \"mode=blocknumber&from=default\";\n    }\n  }\n}\n"},"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorTypes } from \"./GovernorTypes.sol\";\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\nimport { GovernorStateLogic } from \"./GovernorStateLogic.sol\";\nimport { ITreasury } from \"../../interfaces/ITreasury.sol\";\n\n/// @title GovernorCommunityExecutionLogic\n/// @notice Library implementing the V11 Community Execution Framework: per-proposal\n///         B3TR implementation cost, a single payout address that receives the full\n///         budget after the proposal is marked Completed, free-text description /\n///         implementation-discussion link, and a list of contributor handles.\n/// @dev All state-changing functions are designed to be called via delegatecall from\n///      {B3TRGovernor}; they read and write the namespaced GovernorStorage slot and\n///      use `msg.sender` (which resolves to the original caller in delegatecall\n///      context, matching the convention used by the existing logic libraries).\nlibrary GovernorCommunityExecutionLogic {\n  // ------------------ EVENTS ------------------ //\n\n  /// @notice Emitted when an implementation-cost budget is recorded for a proposal.\n  event ProposalBudgetSet(uint256 indexed proposalId, uint256 maxBudget);\n\n  /// @notice Re-declared backward-compatible event so the new flow keeps emitting the\n  ///         same signature as the legacy `markAsInDevelopment(uint256)` path used to.\n  event ProposalInDevelopment(uint256 proposalId);\n\n  /// @notice Off-chain metadata registered alongside the payee when entering development\n  ///         (or replaced via {updateCommunityExecution} before payout).\n  event ProposalInDevelopmentDetails(\n    uint256 indexed proposalId,\n    address indexed payee,\n    string description,\n    string implementationDiscussion\n  );\n\n  /// @notice Emitted when the contributor handles are (re)set for a proposal.\n  event ProposalContributorsSet(uint256 indexed proposalId, string[] contributors);\n\n  /// @notice Emitted when the single payout is pulled from Treasury to the registered payee.\n  event ProposalPayoutClaimed(uint256 indexed proposalId, address indexed payee, uint256 amount);\n\n  // ------------------ ERRORS ------------------ //\n\n  /// @dev Caller is neither the proposal proposer nor a PROPOSAL_STATE_MANAGER_ROLE holder.\n  error UnauthorizedCommunityExecution(address caller, uint256 proposalId);\n\n  /// @dev No max budget was recorded for the proposal; the V11 flow cannot be used.\n  error MissingProposalBudget(uint256 proposalId);\n\n  /// @dev The payee address is the zero address.\n  error InvalidPayeeAddress();\n\n  /// @dev Contributors array is larger than `maxContributorsPerProposal`.\n  error TooManyContributors(uint256 provided, uint256 max);\n\n  /// @dev markAsInDevelopment was already called for this proposal.\n  error PayeesAlreadyFinalized(uint256 proposalId);\n\n  /// @dev The payout was already pulled from Treasury.\n  error PayoutAlreadyClaimed(uint256 proposalId);\n\n  /// @dev The proposal is not in a state where the budget can be paid out.\n  error NotReadyToClaim(uint256 proposalId);\n\n  // ------------------ INTERNAL (called from other libraries) ------------------ //\n\n  /// @notice Record the immutable max B3TR implementation cost for a proposal.\n  /// @dev Called from `GovernorProposalLogic._propose` when `maxBudget > 0`. Idempotent\n  ///      for `maxBudget == 0` (early return).\n  function setProposalBudget(uint256 proposalId, uint256 maxBudget) internal {\n    if (maxBudget == 0) {\n      return;\n    }\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    $.proposalMaxBudget[proposalId] = maxBudget;\n    emit ProposalBudgetSet(proposalId, maxBudget);\n  }\n\n  // ------------------ EXTERNAL: STATE-CHANGING ------------------ //\n\n  /// @notice Mark a proposal as InDevelopment and register the V11 payee + metadata.\n  /// @dev Authorized to the proposer OR a PROPOSAL_STATE_MANAGER_ROLE caller; the role\n  ///      check is performed by the Governor wrapper and forwarded as `callerHasManagerRole`.\n  ///\n  ///      Validation:\n  ///      - Proposal must be a Standard proposal (Grants follow the milestone payout flow)\n  ///      - Proposal state must be `Executed`, or `Succeeded` when not executable\n  ///      - The function must not have been called before for this proposal\n  ///      - When `maxBudget > 0` (community-execution proposal): `payee` must be != 0\n  ///      - When `maxBudget == 0`: `payee` may be zero (pure state transition, no payout)\n  ///      - Contributors list size must be <= maxContributorsPerProposal\n  ///\n  ///      The single registered payee receives the FULL `maxBudget` when {claimPayout}\n  ///      is later called. It is the payee's responsibility to forward funds to any\n  ///      contributors / dev team / project manager off-chain.\n  function markAsInDevelopment(\n    uint256 proposalId,\n    address payee,\n    string calldata description,\n    string calldata implementationDiscussion,\n    string[] calldata contributors,\n    bool callerHasManagerRole\n  ) external {\n    _checkMarkAsInDevelopmentGuards(proposalId, callerHasManagerRole);\n    _validateBudgetVsPayee(proposalId, payee);\n    _validateContributorsCount(contributors);\n\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    if ($.proposalPayeesFinalized[proposalId]) {\n      revert PayeesAlreadyFinalized(proposalId);\n    }\n    $.proposalPayeesFinalized[proposalId] = true;\n\n    _writeCommunityExecutionData(proposalId, payee, description, implementationDiscussion, contributors);\n    $.proposalDevelopmentState[proposalId] = GovernorTypes.ProposalDevelopmentState.InDevelopment;\n    emit ProposalInDevelopment(proposalId);\n  }\n\n  function _checkMarkAsInDevelopmentGuards(uint256 proposalId, bool callerHasManagerRole) private view {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalCore storage proposal = $.proposals[proposalId];\n\n    if (msg.sender != proposal.proposer && !callerHasManagerRole) {\n      revert UnauthorizedCommunityExecution(msg.sender, proposalId);\n    }\n\n    GovernorTypes.ProposalType proposalType = $.proposalType[proposalId];\n    if (proposalType != GovernorTypes.ProposalType.Standard) {\n      revert GovernorRestrictedProposal(proposalId, proposalType);\n    }\n\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Executed) |\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Succeeded)\n    );\n    if (\n      proposal.isExecutable && GovernorStateLogic._state(proposalId) == GovernorTypes.ProposalState.Succeeded\n    ) {\n      revert GovernorRestrictedProposal(proposalId, proposalType);\n    }\n  }\n\n  function _validateBudgetVsPayee(uint256 proposalId, address payee) private view {\n    uint256 budget = GovernorStorageTypes.getGovernorStorage().proposalMaxBudget[proposalId];\n    if (budget > 0 && payee == address(0)) {\n      revert InvalidPayeeAddress();\n    }\n    if (budget == 0 && payee != address(0)) {\n      revert MissingProposalBudget(proposalId);\n    }\n  }\n\n  function _validateContributorsCount(string[] calldata contributors) private view {\n    uint256 max = GovernorStorageTypes.getGovernorStorage().maxContributorsPerProposal;\n    if (contributors.length > max) {\n      revert TooManyContributors(contributors.length, max);\n    }\n  }\n\n  function _writeCommunityExecutionData(\n    uint256 proposalId,\n    address payee,\n    string calldata description,\n    string calldata implementationDiscussion,\n    string[] calldata contributors\n  ) private {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    $.proposalPayee[proposalId] = payee;\n    $.proposalDescription[proposalId] = description;\n    $.proposalImplementationDiscussion[proposalId] = implementationDiscussion;\n    _setContributors($, proposalId, contributors);\n    emit ProposalInDevelopmentDetails(proposalId, payee, description, implementationDiscussion);\n    emit ProposalContributorsSet(proposalId, contributors);\n  }\n\n  /// @notice Replace the payee / description / discussion / contributors for an\n  ///         in-development proposal whose payout has not yet been claimed.\n  /// @dev Authorized to the proposer OR a PROPOSAL_STATE_MANAGER_ROLE caller (matching\n  ///      markAsInDevelopment access rules). Allowed while the proposal is `InDevelopment`\n  ///      or `Completed` so the proposer can still correct the payout target up until\n  ///      {claimPayout} is called. Once `proposalPaid` is true the data is immutable.\n  function updateCommunityExecution(\n    uint256 proposalId,\n    address payee,\n    string calldata description,\n    string calldata implementationDiscussion,\n    string[] calldata contributors,\n    bool callerHasManagerRole\n  ) external {\n    _checkUpdateCommunityExecutionGuards(proposalId, callerHasManagerRole);\n    _validateBudgetVsPayee(proposalId, payee);\n    _validateContributorsCount(contributors);\n    _writeCommunityExecutionData(proposalId, payee, description, implementationDiscussion, contributors);\n  }\n\n  function _checkUpdateCommunityExecutionGuards(uint256 proposalId, bool callerHasManagerRole) private view {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalCore storage proposal = $.proposals[proposalId];\n\n    if (msg.sender != proposal.proposer && !callerHasManagerRole) {\n      revert UnauthorizedCommunityExecution(msg.sender, proposalId);\n    }\n\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.InDevelopment) |\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Completed)\n    );\n    if ($.proposalPaid[proposalId]) {\n      revert PayoutAlreadyClaimed(proposalId);\n    }\n  }\n\n  /// @notice Pull the full implementation cost from Treasury to the registered payee.\n  /// @dev Callable by anyone. Requires the proposal to be `Completed`. Idempotent.\n  function claimPayout(uint256 proposalId) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Completed)\n    );\n\n    if ($.proposalPaid[proposalId]) {\n      revert PayoutAlreadyClaimed(proposalId);\n    }\n\n    address payee = $.proposalPayee[proposalId];\n    uint256 amount = $.proposalMaxBudget[proposalId];\n    if (payee == address(0) || amount == 0) {\n      revert NotReadyToClaim(proposalId);\n    }\n\n    $.proposalPaid[proposalId] = true;\n    $.treasury.transferB3TR(payee, amount);\n    emit ProposalPayoutClaimed(proposalId, payee, amount);\n  }\n\n  // ------------------ EXTERNAL: VIEWS ------------------ //\n\n  function getProposalBudget(uint256 proposalId) external view returns (uint256) {\n    return GovernorStorageTypes.getGovernorStorage().proposalMaxBudget[proposalId];\n  }\n\n  function getProposalPayee(uint256 proposalId) external view returns (address) {\n    return GovernorStorageTypes.getGovernorStorage().proposalPayee[proposalId];\n  }\n\n  function isProposalPaid(uint256 proposalId) external view returns (bool) {\n    return GovernorStorageTypes.getGovernorStorage().proposalPaid[proposalId];\n  }\n\n  function isProposalCommunityExecutionFinalized(uint256 proposalId) external view returns (bool) {\n    return GovernorStorageTypes.getGovernorStorage().proposalPayeesFinalized[proposalId];\n  }\n\n  function getProposalDescription(uint256 proposalId) external view returns (string memory) {\n    return GovernorStorageTypes.getGovernorStorage().proposalDescription[proposalId];\n  }\n\n  function getProposalImplementationDiscussion(uint256 proposalId) external view returns (string memory) {\n    return GovernorStorageTypes.getGovernorStorage().proposalImplementationDiscussion[proposalId];\n  }\n\n  function getProposalContributors(uint256 proposalId) external view returns (string[] memory) {\n    return GovernorStorageTypes.getGovernorStorage().proposalContributors[proposalId];\n  }\n\n  function getMaxContributorsPerProposal() external view returns (uint256) {\n    return GovernorStorageTypes.getGovernorStorage().maxContributorsPerProposal;\n  }\n\n  // ------------------ INTERNAL HELPERS ------------------ //\n\n  function _setContributors(\n    GovernorStorageTypes.GovernorStorage storage $,\n    uint256 proposalId,\n    string[] calldata contributors\n  ) private {\n    delete $.proposalContributors[proposalId];\n    for (uint256 i; i < contributors.length; ++i) {\n      $.proposalContributors[proposalId].push(contributors[i]);\n    }\n  }\n\n  // ------------------ ERRORS USED FROM OTHER LIBRARIES ------------------ //\n\n  /// @dev Re-declared here so it can be referenced from this library's revert paths.\n  ///      Matches the existing selector declared in GovernorProposalLogic / IB3TRGovernor.\n  error GovernorRestrictedProposal(uint256 proposalId, GovernorTypes.ProposalType proposalType);\n}\n"},"contracts/governance/libraries/GovernorConfigurator.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\nimport { IVOT3 } from \"../../interfaces/IVOT3.sol\";\nimport { IVoterRewards } from \"../../interfaces/IVoterRewards.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { TimelockControllerUpgradeable } from \"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\";\nimport { IB3TR } from \"../../interfaces/IB3TR.sol\";\nimport { IVeBetterPassport } from \"../../interfaces/IVeBetterPassport.sol\";\nimport { GovernorProposalLogic } from \"./GovernorProposalLogic.sol\";\nimport { GovernorTypes } from \"./GovernorTypes.sol\";\nimport { IGalaxyMember } from \"../../interfaces/IGalaxyMember.sol\";\nimport { IGrantsManager } from \"../../interfaces/IGrantsManager.sol\";\nimport { INavigatorRegistry } from \"../../interfaces/INavigatorRegistry.sol\";\nimport { IRelayerRewardsPool } from \"../../interfaces/IRelayerRewardsPool.sol\";\n\n/// @title GovernorConfigurator Library\n/// @notice Library for managing the configuration of a Governor contract.\n/// @dev This library provides functions to set and get various configuration parameters and contracts used by the Governor contract.\nlibrary GovernorConfigurator {\n  /// @dev Emitted when the `votingThreshold` is set.\n  event VotingThresholdSet(uint256 oldVotingThreshold, uint256 newVotingThreshold);\n\n  /// @dev Emitted when the minimum delay before vote starts is set.\n  event MinVotingDelaySet(uint256 oldMinMinVotingDelay, uint256 newMinVotingDelay);\n\n  /// @dev Emitted when the deposit threshold percentage is set.\n  event DepositThresholdSet(uint256 oldDepositThreshold, uint256 newDepositThreshold);\n\n  /// @dev Emitted when the voter rewards contract is set.\n  event VoterRewardsSet(address oldContractAddress, address newContractAddress);\n\n  /// @dev Emitted when the XAllocationVotingGovernor contract is set.\n  event XAllocationVotingSet(address oldContractAddress, address newContractAddress);\n\n  /// @dev Emitted when the timelock controller used for proposal execution is modified.\n  event TimelockChange(address oldTimelock, address newTimelock);\n\n  /// @dev Emitted when the VeBetterPassport contract is set.\n  event VeBetterPassportSet(address oldVeBetterPassport, address newVeBetterPassport);\n  event NavigatorRegistrySet(address oldNavigatorRegistry, address newNavigatorRegistry);\n  event RelayerRewardsPoolSet(address oldRelayerRewardsPool, address newRelayerRewardsPool);\n  event GovernanceSkipWindowBlocksSet(uint256 oldValue, uint256 newValue);\n\n  /// @dev The deposit threshold is not in the valid range for a percentage - 0 to 100.\n  error GovernorDepositThresholdNotInRange(uint256 depositThreshold);\n\n  /// @dev The GM level is not in the valid range - 0 to max level.\n  error GMLevelAboveMaxLevel(uint256 gmLevel);\n\n  /// @dev Emitted when the `votingThreshold` for a proposal type is set.\n  event VotingThresholdSetV2(\n    GovernorTypes.ProposalType proposalType,\n    uint256 oldVotingThreshold,\n    uint256 newVotingThreshold\n  );\n\n  /// @dev Emitted when the deposit threshold percentage for a proposal type is set.\n  event DepositThresholdSetV2(\n    GovernorTypes.ProposalType proposalType,\n    uint256 oldDepositThreshold,\n    uint256 newDepositThreshold\n  );\n  /// @dev Emitted when the deposit threshold cap for a proposal type is set.\n  event DepositThresholdCapSet(\n    GovernorTypes.ProposalType proposalType,\n    uint256 oldDepositThresholdCap,\n    uint256 newDepositThresholdCap\n  );\n\n  /// @dev Emitted when the required GM level for a proposal type is set.\n  event RequiredGMLevelSet(\n    GovernorTypes.ProposalType proposalType,\n    uint256 oldRequiredGMLevel,\n    uint256 newRequiredGMLevel\n  );\n\n  /**------------------ SETTERS ------------------**/\n\n  /**\n   * @notice Sets the VeBetterPassport contract.\n   * @dev Sets a new VeBetterPassport contract and emits a {VeBetterPassportSet} event.\n   * @param newVeBetterPassport The new VeBetterPassport contract.\n   */\n  function setVeBetterPassport(IVeBetterPassport newVeBetterPassport) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    emit VeBetterPassportSet(address($.veBetterPassport), address(newVeBetterPassport));\n    $.veBetterPassport = newVeBetterPassport;\n  }\n\n  /**\n   * @notice Sets the NavigatorRegistry contract.\n   * @param newNavigatorRegistry The new NavigatorRegistry contract.\n   */\n  function setNavigatorRegistry(INavigatorRegistry newNavigatorRegistry) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    emit NavigatorRegistrySet(address($.navigatorRegistry), address(newNavigatorRegistry));\n    $.navigatorRegistry = newNavigatorRegistry;\n  }\n\n  /**\n   * @notice Sets the RelayerRewardsPool contract.\n   * @param newRelayerRewardsPool The new RelayerRewardsPool contract.\n   */\n  function setRelayerRewardsPool(IRelayerRewardsPool newRelayerRewardsPool) external {\n    require(\n      address(newRelayerRewardsPool) != address(0),\n      \"GovernorConfigurator: relayer rewards pool address cannot be zero\"\n    );\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    emit RelayerRewardsPoolSet(address($.relayerRewardsPool), address(newRelayerRewardsPool));\n    $.relayerRewardsPool = newRelayerRewardsPool;\n  }\n\n  /**\n   * @notice Sets the governance skip window in blocks.\n   * @param newValue The new skip window in blocks (must be > 0).\n   */\n  function setGovernanceSkipWindowBlocks(uint256 newValue) external {\n    require(newValue > 0, \"GovernorConfigurator: skip window must be > 0\");\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    emit GovernanceSkipWindowBlocksSet($.governanceSkipWindowBlocks, newValue);\n    $.governanceSkipWindowBlocks = newValue;\n  }\n\n  /**\n   * @notice Sets the minimum delay before vote starts.\n   * @dev Sets a new minimum voting delay and emits a {MinVotingDelaySet} event.\n   * @param newMinVotingDelay The new minimum voting delay.\n   */\n  function setMinVotingDelay(uint256 newMinVotingDelay) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    emit MinVotingDelaySet($.minVotingDelay, newMinVotingDelay);\n    $.minVotingDelay = newMinVotingDelay;\n  }\n\n  /**\n   * @notice Sets the voter rewards contract.\n   * @dev Sets a new voter rewards contract and emits a {VoterRewardsSet} event.\n   * @param newVoterRewards The new voter rewards contract.\n   */\n  function setVoterRewards(IVoterRewards newVoterRewards) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(address(newVoterRewards) != address(0), \"GovernorConfigurator: voterRewards address cannot be zero\");\n    emit VoterRewardsSet(address($.voterRewards), address(newVoterRewards));\n    $.voterRewards = newVoterRewards;\n  }\n\n  /**\n   * @notice Sets the XAllocationVotingGovernor contract.\n   * @dev Sets a new XAllocationVotingGovernor contract and emits a {XAllocationVotingSet} event.\n   * @param newXAllocationVoting The new XAllocationVotingGovernor contract.\n   */\n  function setXAllocationVoting(IXAllocationVotingGovernor newXAllocationVoting) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(\n      address(newXAllocationVoting) != address(0),\n      \"GovernorConfigurator: xAllocationVoting address cannot be zero\"\n    );\n    emit XAllocationVotingSet(address($.xAllocationVoting), address(newXAllocationVoting));\n    $.xAllocationVoting = newXAllocationVoting;\n  }\n\n  /**\n   * @notice Updates the timelock controller.\n   * @dev Sets a new timelock controller and emits a {TimelockChange} event.\n   * @param newTimelock The new timelock controller.\n   */\n  function updateTimelock(TimelockControllerUpgradeable newTimelock) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(address(newTimelock) != address(0), \"GovernorConfigurator: timelock address cannot be zero\");\n    emit TimelockChange(address($.timelock), address(newTimelock));\n    $.timelock = newTimelock;\n  }\n\n  /**\n   * @notice Sets the deposit threshold percentage for a proposal type.\n   * @dev Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\n   * @param proposalType The proposal type.\n   * @param newDepositThreshold The new deposit threshold percentage.\n   */\n  function setProposalTypeDepositThresholdPercentage(\n    GovernorTypes.ProposalType proposalType,\n    uint256 newDepositThreshold\n  ) external {\n    require(GovernorProposalLogic.isValidProposalType(proposalType), \"GovernorConfigurator: invalid proposal type\");\n    if (newDepositThreshold > 100) {\n      revert GovernorDepositThresholdNotInRange(newDepositThreshold);\n    }\n    _setProposalTypeDepositThresholdPercentage(proposalType, newDepositThreshold); //\n  }\n\n  /**\n   * @notice Sets the deposit threshold percentage for a proposal type.\n   * @dev Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\n   * @param proposalType The proposal type.\n   * @param newDepositThreshold The new deposit threshold percentage.\n   */\n  function _setProposalTypeDepositThresholdPercentage(\n    GovernorTypes.ProposalType proposalType,\n    uint256 newDepositThreshold\n  ) internal {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    emit DepositThresholdSetV2(\n      proposalType,\n      $.proposalTypeDepositThresholdPercentage[proposalType],\n      newDepositThreshold\n    );\n    $.proposalTypeDepositThresholdPercentage[proposalType] = newDepositThreshold;\n  }\n\n  /**\n   * @notice Sets the voting threshold for a proposal type.\n   * @dev Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\n   * @param proposalType The proposal type.\n   * @param newVotingThreshold The new voting threshold.\n   */\n  function setProposalTypeVotingThreshold(\n    GovernorTypes.ProposalType proposalType,\n    uint256 newVotingThreshold\n  ) external {\n    require(GovernorProposalLogic.isValidProposalType(proposalType), \"GovernorConfigurator: invalid proposal type\");\n    _setProposalTypeVotingThreshold(proposalType, newVotingThreshold);\n  }\n\n  /**\n   * @notice Sets the voting threshold for a proposal type.\n   * @dev Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\n   * @param proposalType The proposal type.\n   * @param newVotingThreshold The new voting threshold.\n   */\n  function _setProposalTypeVotingThreshold(\n    GovernorTypes.ProposalType proposalType,\n    uint256 newVotingThreshold\n  ) internal {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    emit VotingThresholdSetV2(proposalType, $.proposalTypeVotingThreshold[proposalType], newVotingThreshold);\n    $.proposalTypeVotingThreshold[proposalType] = newVotingThreshold;\n  }\n\n  /**\n   * @notice Sets the deposit threshold cap for a proposal type.\n   * @dev Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\n   * @param proposalType The proposal type.\n   * @param newDepositThresholdCap The new deposit threshold cap.\n   */\n  function setProposalTypeDepositThresholdCap(\n    GovernorTypes.ProposalType proposalType,\n    uint256 newDepositThresholdCap\n  ) external {\n    require(GovernorProposalLogic.isValidProposalType(proposalType), \"GovernorConfigurator: invalid proposal type\");\n    _setProposalTypeDepositThresholdCap(proposalType, newDepositThresholdCap);\n  }\n\n  /**\n   * @notice Sets the deposit threshold cap for a proposal type.\n   * @dev Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\n   * @param proposalType The proposal type.\n   * @param newDepositThresholdCap The new deposit threshold cap.\n   */\n  function _setProposalTypeDepositThresholdCap(\n    GovernorTypes.ProposalType proposalType,\n    uint256 newDepositThresholdCap\n  ) internal {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    emit DepositThresholdCapSet(proposalType, $.proposalTypeDepositThresholdCap[proposalType], newDepositThresholdCap);\n    $.proposalTypeDepositThresholdCap[proposalType] = newDepositThresholdCap;\n  }\n\n  function setGalaxyMemberContract(IGalaxyMember newGalaxyMember) external {\n    require(address(newGalaxyMember) != address(0), \"GovernorConfigurator: GalaxyMember address cannot be zero\");\n    _setGalaxyMemberContract(newGalaxyMember);\n  }\n\n  /**\n   * @notice Sets the GalaxyMember contract.\n   * @param newGalaxyMember The new GalaxyMember contract.\n   */\n  function _setGalaxyMemberContract(IGalaxyMember newGalaxyMember) internal {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(address(newGalaxyMember) != address(0), \"GovernorConfigurator: GalaxyMember address cannot be zero\");\n    $.galaxyMember = newGalaxyMember;\n  }\n\n  function setGrantsManagerContract(IGrantsManager newGrantsManager) external {\n    require(address(newGrantsManager) != address(0), \"GovernorConfigurator: GrantsManager address cannot be zero\");\n    _setGrantsManagerContract(newGrantsManager);\n  }\n\n  /**\n   * @notice Sets the GrantsManager contract.\n   * @param newGrantsManager The new GrantsManager contract.\n   */\n  function _setGrantsManagerContract(IGrantsManager newGrantsManager) internal {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(address(newGrantsManager) != address(0), \"GovernorConfigurator: GrantsManager address cannot be zero\");\n    $.grantsManager = newGrantsManager;\n  }\n\n  /**------------------ GETTERS ------------------**/\n  /**\n   * @notice Returns the voting threshold.\n   * @param proposalType The proposal type.\n   * @return The current voting threshold.\n   */\n  function getVotingThreshold(GovernorTypes.ProposalType proposalType) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(GovernorProposalLogic.isValidProposalType(proposalType), \"GovernorConfigurator: invalid proposal type\");\n    return $.proposalTypeVotingThreshold[proposalType];\n  }\n\n  /**\n   * @notice Returns the minimum delay before vote starts.\n   * @return The current minimum voting delay.\n   */\n  function getMinVotingDelay() internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.minVotingDelay;\n  }\n\n  /**\n   * @notice Returns the deposit threshold percentage.\n   * @param proposalType The proposal type.\n   * @return The current deposit threshold percentage.\n   */\n  function getDepositThresholdPercentage(GovernorTypes.ProposalType proposalType) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(GovernorProposalLogic.isValidProposalType(proposalType), \"GovernorConfigurator: invalid proposal type\");\n    return $.proposalTypeDepositThresholdPercentage[proposalType];\n  }\n\n  /**\n   * @notice Returns the VeBetterPassport contract.\n   * @return The current VeBetterPassport contract.\n   */\n  function veBetterPassport() internal view returns (IVeBetterPassport) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.veBetterPassport;\n  }\n\n  /**\n   * @notice Returns the deposit threshold cap for a proposal type.\n   * @param proposalType The proposal type.\n   * @return The current deposit threshold cap.\n   */\n  function getDepositThresholdCap(GovernorTypes.ProposalType proposalType) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(GovernorProposalLogic.isValidProposalType(proposalType), \"GovernorConfigurator: invalid proposal type\");\n    return $.proposalTypeDepositThresholdCap[proposalType];\n  }\n\n  /**\n   * @notice Returns the GalaxyMember contract.\n   * @return The current GalaxyMember contract.\n   */\n  function getGalaxyMemberContract() internal view returns (IGalaxyMember) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.galaxyMember;\n  }\n\n  /**\n   * @notice Returns the GrantsManager contract.\n   * @return The current GrantsManager contract.\n   */\n  function getGrantsManagerContract() internal view returns (IGrantsManager) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.grantsManager;\n  }\n\n  /**\n   * @notice Returns the GM weight for a proposal type.\n   * @param proposalTypeValue The proposal type.\n   * @return The current GM weight for the proposal type.\n   */\n  function getRequiredGMLevelByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(\n      GovernorProposalLogic.isValidProposalType(proposalTypeValue),\n      \"GovernorConfigurator: invalid proposal type\"\n    );\n    return $.requiredGMLevelByProposalType[proposalTypeValue];\n  }\n\n  /**\n   * @notice Sets the GM weight for a proposal type.\n   * @param proposalTypeValue The proposal type.\n   * @param newGMWeight The new GM weight for the proposal type.\n   */\n  /**\n   * @notice Returns the governance skip window in blocks.\n   * @return The governance skip window in blocks.\n   */\n  function governanceSkipWindowBlocks() internal view returns (uint256) {\n    return GovernorStorageTypes.getGovernorStorage().governanceSkipWindowBlocks;\n  }\n\n  function setRequiredGMLevelByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue,\n    uint256 newGMWeight\n  ) internal {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 maxGMWeight = $.galaxyMember.MAX_LEVEL();\n    uint256 oldRequiredGMLevel = $.requiredGMLevelByProposalType[proposalTypeValue];\n    require(\n      GovernorProposalLogic.isValidProposalType(proposalTypeValue),\n      \"GovernorConfigurator: invalid proposal type\"\n    );\n\n    if (newGMWeight > maxGMWeight) {\n      revert GMLevelAboveMaxLevel(newGMWeight);\n    }\n    emit RequiredGMLevelSet(proposalTypeValue, oldRequiredGMLevel, newGMWeight);\n    $.requiredGMLevelByProposalType[proposalTypeValue] = newGMWeight;\n  }\n}\n"},"contracts/governance/libraries/GovernorDepositLogic.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\nimport { GovernorStateLogic } from \"./GovernorStateLogic.sol\";\nimport { GovernorTypes } from \"./GovernorTypes.sol\";\nimport { GovernorConfigurator } from \"./GovernorConfigurator.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { GovernorClockLogic } from \"./GovernorClockLogic.sol\";\n/// @title GovernorDepositLogic Library\n/// @notice Library for managing deposits related to proposals in the Governor contract.\n/// @dev This library provides functions to deposit and withdraw tokens for proposals, and to get deposit-related information.\nlibrary GovernorDepositLogic {\n  using Checkpoints for Checkpoints.Trace208;\n  /// @dev Emitted when a deposit is made to a proposal.\n  event ProposalDeposit(address indexed depositor, uint256 indexed proposalId, uint256 amount);\n\n  /// @dev Emitted when a deposit is withdrawn from a proposal.\n  event ProposalWithdraw(address indexed withdrawer, uint256 indexed proposalId, uint256 amount);\n\n  /// @dev Thrown when there is no deposit to withdraw.\n  error GovernorNoDepositToWithdraw(uint256 proposalId, address depositer);\n\n  /// @dev Thrown when the deposit amount is invalid (must be greater than 0).\n  error GovernorInvalidDepositAmount();\n\n  /// @dev Thrown when the proposal ID does not exist.\n  error GovernorNonexistentProposal(uint256 proposalId);\n\n  /// @dev Thrown when the grantee tries to deposit for their own grant.\n  error GranteeCannotDepositOwnGrant(uint256 proposalId);\n\n  // --------------- SETTERS ---------------\n  /**\n   * @notice Deposits tokens for a proposal.\n   * @dev Proposer and proposal sponsors can contribute towards a proposal's deposit using this function. The proposal must be in the Pending state to make a deposit. The amount deposited from an address is tracked and can be withdrawn by the same address when the voting round is over.\n   * @param amount The amount of tokens to deposit.\n   * @param proposalId The ID of the proposal.\n   */\n  function deposit(uint256 amount, uint256 proposalId) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    if (amount == 0) {\n      revert GovernorInvalidDepositAmount();\n    }\n\n    GovernorTypes.ProposalCore storage proposal = $.proposals[proposalId];\n\n    if (proposal.roundIdVoteStart == 0) {\n      revert GovernorNonexistentProposal(proposalId);\n    }\n\n    if (proposal.proposer == msg.sender && $.proposalType[proposalId] == GovernorTypes.ProposalType.Grant) {\n      revert GranteeCannotDepositOwnGrant(proposalId);\n    }\n\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Pending)\n    );\n\n    proposal.depositAmount += amount;\n\n    depositFunds(amount, msg.sender, proposalId);\n  }\n\n  /**\n   * @notice Withdraws tokens previously deposited to a proposal.\n   * @dev A depositor can only withdraw their tokens once the proposal is no longer Pending or Active. Each address can only withdraw once per proposal. Reverts if no deposits are available to withdraw or if the deposits have already been withdrawn by the message sender. Reverts if the token transfer fails.\n   * @param proposalId The ID of the proposal to withdraw deposits from.\n   * @param depositer The address of the depositor.\n   */\n  function withdraw(uint256 proposalId, address depositer) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 amount = $.deposits[proposalId][depositer];\n\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.ALL_PROPOSAL_STATES_BITMAP ^\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Pending)\n    );\n\n    if (amount == 0) {\n      revert GovernorNoDepositToWithdraw(proposalId, depositer);\n    }\n\n    $.deposits[proposalId][depositer] = 0;\n\n    uint208 currentVotes = $.depositsVotingPower[depositer].upperLookupRecent(GovernorClockLogic.clock());\n    uint208 newVotes = SafeCast.toUint208(currentVotes - amount);\n    $.depositsVotingPower[depositer].push(GovernorClockLogic.clock(), newVotes);\n\n    require($.vot3.transfer(depositer, amount), \"B3TRGovernor: transfer failed\");\n\n    emit ProposalWithdraw(depositer, proposalId, amount);\n  }\n\n  /**\n   * @notice Internal function to deposit tokens to a proposal and store the deposit in the deposits checkpoint.\n   * @dev Emits a {ProposalDeposit} event.\n   * @param amount The amount of tokens to deposit.\n   * @param depositor The address of the depositor.\n   * @param proposalId The ID of the proposal.\n   */\n  function depositFunds(\n    uint256 amount,\n    address depositor,\n    uint256 proposalId\n  ) internal {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require($.vot3.transferFrom(depositor, address(this), amount), \"B3TRGovernor: transfer failed\");\n\n    $.deposits[proposalId][depositor] += amount;\n\n    uint208 currentVotes = $.depositsVotingPower[depositor].upperLookupRecent(GovernorClockLogic.clock());\n    uint208 newVotes = currentVotes + SafeCast.toUint208(amount);\n    $.depositsVotingPower[depositor].push(GovernorClockLogic.clock(), newVotes);\n\n    emit ProposalDeposit(depositor, proposalId, amount);\n  }\n\n  // --------------- GETTERS ---------------\n  /**\n   * @notice Returns the amount of tokens deposited by a user for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @param user The address of the user.\n   * @return uint256 The amount of tokens deposited by the user.\n   */\n  function getUserDeposit(\n    uint256 proposalId,\n    address user\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.deposits[proposalId][user];\n  }\n\n  /**\n   * @notice Returns the deposit threshold for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return uint256 The deposit threshold for the proposal.\n   */\n  function proposalDepositThreshold(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposals[proposalId].depositThreshold;\n  }\n\n  /**\n   * @notice Returns the total amount of deposits made to a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return uint256 The total amount of deposits made to the proposal.\n   */\n  function getProposalDeposits(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposals[proposalId].depositAmount;\n  }\n\n  /**\n   * @notice Returns true if the threshold of deposits required to reach a proposal has been reached.\n   * @param proposalId The ID of the proposal.\n   * @return True if the deposit threshold has been reached, false otherwise.\n   */\n  function proposalDepositReached(\n    uint256 proposalId\n  ) internal view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalCore storage proposal = $.proposals[proposalId];\n    return proposal.depositAmount >= proposal.depositThreshold;\n  }\n\n  /**\n   * @notice Internal function to calculate the deposit threshold for a proposal type as a percentage of the total supply of B3TR tokens.\n   * @dev In case the percentage based threshold is greater than the max threshold, the max threshold is returned.\n   * @param proposalType The type of proposal.\n   * @return uint256 The deposit threshold for the proposal type.\n   */\n  function _depositThresholdByProposalType(\n    GovernorTypes.ProposalType proposalType\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 percentageBasedThreshold = (GovernorConfigurator.getDepositThresholdPercentage(proposalType) *\n      $.b3tr.totalSupply()) / 100;\n    uint256 maxThreshold = GovernorConfigurator.getDepositThresholdCap(proposalType);\n\n    if (percentageBasedThreshold > maxThreshold) {\n      return maxThreshold;\n    }\n\n    return percentageBasedThreshold;\n  }\n  /**\n   * @notice Returns the deposit threshold for a proposal type.\n   * @param proposalTypeValue The type of proposal (uint8-encoded enum).\n   * @return uint256 The deposit threshold for the proposal type.\n   */\n  function depositThresholdByProposalType(\n    uint8 proposalTypeValue\n  ) external view returns (uint256) {\n    return _depositThresholdByProposalType(GovernorTypes.ProposalType(proposalTypeValue));\n  }\n\n  /**\n   * @notice Returns the deposit voting power for a given account at a given timepoint.\n   * @param account The address of the account.\n   * @param timepoint The timepoint.\n   * @return The deposit voting power.\n   */\n  function getDepositVotingPower(\n    address account,\n    uint256 timepoint\n  ) public view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.depositsVotingPower[account].upperLookupRecent(SafeCast.toUint48(timepoint));\n  }\n}\n"},"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\n\n/// @title GovernorFunctionRestrictionsLogic\n/// @notice Library for managing function restrictions within the Governor contract.\n/// @dev This library provides functions to whitelist or restrict functions that can be called by proposals.\nlibrary GovernorFunctionRestrictionsLogic {\n  /// @notice Error message for when a function is restricted by the governor.\n  /// @param functionSelector The function selector that is restricted.\n  error GovernorRestrictedFunction(bytes4 functionSelector);\n\n  /// @notice Error message for when a function selector is invalid.\n  /// @param selector The function selector that is invalid.\n  error GovernorFunctionInvalidSelector(bytes selector);\n\n  /// @notice Emitted when a function is whitelisted by the governor.\n  /// @param target The address of the contract.\n  /// @param functionSelector The function selector.\n  /// @param isWhitelisted Boolean indicating if the function is whitelisted.\n  event FunctionWhitelisted(address indexed target, bytes4 indexed functionSelector, bool isWhitelisted);\n\n  // --------------- SETTERS ---------------\n  /**\n   * @notice Set the whitelist status of a function for proposals.\n   * @dev This method allows restricting functions that can be called by proposals for a single function selector.\n   * @param target The address of the contract.\n   * @param functionSelector The function selector.\n   * @param isWhitelisted Boolean indicating if the function is whitelisted for proposals.\n   */\n  function setWhitelistFunction(\n    address target,\n    bytes4 functionSelector,\n    bool isWhitelisted\n  ) public {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    require(target != address(0), \"GovernorFunctionRestrictionsLogic: target is the zero address\");\n    $.whitelistedFunctions[target][functionSelector] = isWhitelisted;\n    emit FunctionWhitelisted(target, functionSelector, isWhitelisted);\n  }\n\n  function setWhitelistFunctions(\n    address target,\n    bytes4[] memory functionSelectors,\n    bool isWhitelisted\n  ) external {\n    for (uint256 i; i < functionSelectors.length; i++) {\n      setWhitelistFunction(target, functionSelectors[i], isWhitelisted);\n    }\n  }\n\n  function setIsFunctionRestrictionEnabled(bool isEnabled) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    $.isFunctionRestrictionEnabled = isEnabled;\n  }\n\n  // --------------- GETTERS ---------------\n  function isFunctionWhitelisted(\n    address target,\n    bytes4 functionSelector\n  ) internal view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.whitelistedFunctions[target][functionSelector];\n  }\n\n  function checkFunctionsRestriction(\n    address[] memory targets,\n    bytes[] memory calldatas\n  ) internal view {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    if ($.isFunctionRestrictionEnabled) {\n      for (uint256 i; i < targets.length; i++) {\n        bytes4 functionSelector = extractFunctionSelector(calldatas[i]);\n        if (!$.whitelistedFunctions[targets[i]][functionSelector]) {\n          revert GovernorRestrictedFunction(functionSelector);\n        }\n      }\n    }\n  }\n\n  // --------------- PRIVATE FUNCTIONS ---------------\n  /**\n   * @notice Extract the function selector from the calldata.\n   * @dev Internal pure function to extract the function selector from the calldata.\n   * @param data The calldata from which to extract the function selector.\n   * @return bytes4 The extracted function selector.\n   */\n  function extractFunctionSelector(bytes memory data) private pure returns (bytes4) {\n    if (data.length < 4) revert GovernorFunctionInvalidSelector(data);\n    bytes4 sig;\n    assembly {\n      sig := mload(add(data, 32))\n    }\n    return sig;\n  }\n}\n"},"contracts/governance/libraries/GovernorGovernanceLogic.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\nimport { DoubleEndedQueue } from \"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\";\n\n/// @title GovernorGovernanceLogic\n/// @notice Library for validating descriptions in governance proposals based on the proposer's address suffix.\n/// @dev This library provides functions to manage the governance execution flow and validate the governance executor.\nlibrary GovernorGovernanceLogic {\n  using DoubleEndedQueue for DoubleEndedQueue.Bytes32Deque;\n\n  /// @dev Thrown when the `account` is not the governance executor.\n  /// @param account The address that attempted the unauthorized action.\n  error GovernorOnlyExecutor(address account);\n\n  /**\n   * @notice Get the salt used for the timelock operation.\n   * @dev Combines the contract address and description hash to generate a unique salt.\n   * @param descriptionHash The hash of the proposal description.\n   * @param contractAddress The address of the calling governance contract.\n   * @return The generated salt as a bytes32 value.\n   */\n  function timelockSalt(bytes32 descriptionHash, address contractAddress) internal pure returns (bytes32) {\n    return bytes20(contractAddress) ^ descriptionHash;\n  }\n\n  /**\n   * @notice Get the address through which the governor executes actions.\n   * @dev Returns the timelock address used by the governor.\n   * @return The executor address.\n   */\n  function executor() internal view returns (address) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return address($.timelock);\n  }\n\n  /**\n   * @notice Validates that the `msg.sender` is the executor.\n   * @dev Reverts if the `msg.sender` is not the executor. If the executor is not the calling contract itself, it verifies that the `msg.data` is whitelisted.\n   * @param sender The address of the sender.\n   * @param data The calldata to be validated.\n   * @param contractAddress The address of the calling governance contract.\n   */\n  function checkGovernance(\n    address sender,\n    bytes calldata data,\n    address contractAddress\n  ) internal {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    if (executor() != sender) {\n      revert GovernorOnlyExecutor(sender);\n    }\n    if (executor() != contractAddress) {\n      bytes32 msgDataHash = keccak256(data);\n      // Loop until popping the expected operation, revert if deque is empty (operation not authorized)\n      while ($.governanceCall.popFront() != msgDataHash) {}\n    }\n  }\n}\n"},"contracts/governance/libraries/GovernorProposalLogic.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\nimport { GovernorTypes } from \"./GovernorTypes.sol\";\nimport { GovernorStateLogic } from \"./GovernorStateLogic.sol\";\nimport { GovernorClockLogic } from \"./GovernorClockLogic.sol\";\nimport { GovernorDepositLogic } from \"./GovernorDepositLogic.sol\";\nimport { GovernorGovernanceLogic } from \"./GovernorGovernanceLogic.sol\";\nimport { GovernorFunctionRestrictionsLogic } from \"./GovernorFunctionRestrictionsLogic.sol\";\nimport { GovernorCommunityExecutionLogic } from \"./GovernorCommunityExecutionLogic.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Address } from \"@openzeppelin/contracts/utils/Address.sol\";\nimport { DoubleEndedQueue } from \"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\";\nimport { IGrantsManager } from \"../../interfaces/IGrantsManager.sol\";\n\n/// @title GovernorProposalLogic\n/// @notice Library for managing proposals in the Governor contract.\n/// @dev This library provides functions to create, cancel, execute, and validate proposals.\nlibrary GovernorProposalLogic {\n  using DoubleEndedQueue for DoubleEndedQueue.Bytes32Deque;\n\n  /**\n   * @dev Emitted when a proposal is canceled.\n   */\n  event ProposalCanceled(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is canceled with a reason.\n   */\n  event ProposalCanceledWithReason(uint256 indexed proposalId, address indexed canceler, string reason);\n\n  /**\n   * @dev Emitted when a proposal is created.\n   */\n  event ProposalCreated(\n    uint256 indexed proposalId,\n    address indexed proposer,\n    address[] targets,\n    uint256[] values,\n    string[] signatures,\n    bytes[] calldatas,\n    string description,\n    uint256 indexed roundIdVoteStart,\n    uint256 depositThreshold\n  );\n\n  /**\n   * @dev Emitted when a proposal is created with type information.\n   */\n  event ProposalCreatedWithType(uint256 indexed proposalId, GovernorTypes.ProposalType proposalType);\n\n  /**\n   * @dev Emitted when a proposal is executed.\n   */\n  event ProposalExecuted(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is queued.\n   */\n  event ProposalQueued(uint256 proposalId, uint256 etaSeconds);\n\n  /**\n   * @dev Emitted when a proposal is marked as in development.\n   */\n  event ProposalInDevelopment(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is marked as completed.\n   */\n  event ProposalCompleted(uint256 proposalId);\n\n  /**\n   * @dev Emitted when the development state of a proposal is reset back to pending development.\n   */\n  event ProposalDevelopmentStateReset(uint256 proposalId);\n\n  /**\n   * @dev Thrown when the current state of a proposal is not the expected state for an operation.\n   */\n  error GovernorUnexpectedProposalState(\n    uint256 proposalId,\n    GovernorTypes.ProposalState current,\n    bytes32 expectedStates\n  );\n\n  /**\n   * @dev Thrown when a user is not authorized to perform an action.\n   */\n  error UnauthorizedAccess(address user);\n\n  /**\n   * @dev Thrown when the round for proposal start is invalid.\n   */\n  error GovernorInvalidStartRound(uint256 roundId);\n\n  /**\n   * @dev Thrown when a queue operation is not implemented.\n   */\n  error GovernorQueueNotImplemented();\n\n  /**\n   * @dev Thrown when there is an empty proposal or a mismatch between parameters length for a proposal call.\n   */\n  error GovernorInvalidProposalLength(uint256 targets, uint256 calldatas, uint256 values);\n\n  /**\n   * @dev Thrown when the proposer is not allowed to create a proposal.\n   */\n  error GovernorRestrictedProposer(address proposer);\n\n  /**\n   * @dev Thrown when the proposal type is invalid.\n   */\n  error GovernorInvalidProposalType(GovernorTypes.ProposalType proposalType);\n\n  /**\n   * @dev Thrown when the proposer does not fit the requirement (GM weight ATM)\n   */\n  error GovernorInvalidProposer(address proposer, uint256 requiredWeight);\n\n  /**\n   * @dev Thrown when a proposal is not allowed to perform a specific action.\n   * Some actions are restricted to Standard proposals only, others to Grant proposals only.\n   * eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\n   */\n  error GovernorRestrictedProposal(uint256 proposalId, GovernorTypes.ProposalType proposalType);\n\n  /**\n   * @dev Thrown when an attempt is made to reset the development state of a proposal whose\n   * V11 community-execution payout has already been claimed. Mirrors the selector declared in\n   * {GovernorCommunityExecutionLogic} and {IB3TRGovernor} so callers see a single error type.\n   */\n  error PayoutAlreadyClaimed(uint256 proposalId);\n\n  /** ------------------ GETTERS ------------------ **/\n\n  /**\n   * @notice Returns the hash of a proposal.\n   * @dev Hashes the proposal parameters to produce a unique proposal id.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @return The proposal id.\n   */\n  function hashProposal(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) internal pure returns (uint256) {\n    return uint256(keccak256(abi.encode(targets, values, calldatas, descriptionHash)));\n  }\n\n  /**\n   * @notice Returns the proposer of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The address of the proposer.\n   */\n  function proposalProposer(\n    uint256 proposalId\n  ) internal view returns (address) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposals[proposalId].proposer;\n  }\n\n  /**\n   * @notice Returns the eta (estimated time of arrival) of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The eta in seconds.\n   */\n  function proposalEta(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposals[proposalId].etaSeconds;\n  }\n\n  /**\n   * @notice Returns the start round of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The start round id.\n   */\n  function proposalStartRound(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposals[proposalId].roundIdVoteStart;\n  }\n\n  /**\n   * @notice Returns the snapshot block of a proposal.\n   * @dev Determines the block number at which the proposal was snapshot.\n   * @param proposalId The id of the proposal.\n   * @return The snapshot block number.\n   */\n  function proposalSnapshot(\n    uint256 proposalId\n  ) external view returns (uint256) {\n    return _proposalSnapshot(proposalId);\n  }\n\n  /**\n   * @notice Returns the deadline block of a proposal.\n   * @dev Determines the block number at which the proposal will be considered expired.\n   * @param proposalId The id of the proposal.\n   * @return The deadline block number.\n   */\n  function proposalDeadline(\n    uint256 proposalId\n  ) external view returns (uint256) {\n    return _proposalDeadline(proposalId);\n  }\n\n  /**\n   * @notice Returns whether a proposal can start in the next round.\n   * @return True if the proposal can start in the next round, false otherwise.\n   */\n  function canProposalStartInNextRound() external view returns (bool) {\n    return _canProposalStartInNextRound();\n  }\n\n  /**\n   * @notice Returns the total votes for a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The total votes for the proposal.\n   */\n  function getProposalTotalVotes(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposalTotalVotes[proposalId];\n  }\n\n  /**\n   * @notice Returns the timelock id of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The timelock id of the proposal.\n   */\n  function getTimelockId(\n    uint256 proposalId\n  ) internal view returns (bytes32) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.timelockIds[proposalId];\n  }\n\n  /**\n   * @notice Returns the proposal type of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The proposal type.\n   */\n  function proposalType(\n    uint256 proposalId\n  ) external view returns (uint8) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return uint8($.proposalType[proposalId]);\n  }\n\n  /**\n   * @notice Returns proposal IDs that are currently active.\n   * @dev Iterates proposals registered for the current round and filters by Active state.\n   *      Bounded by proposals-per-round (0-3 in practice).\n   */\n  function getActiveProposals() external view returns (uint256[] memory) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 currentRoundId = $.xAllocationVoting.currentRoundId();\n    uint256[] storage roundProposals = $.proposalsForRound[currentRoundId];\n    uint256 len = roundProposals.length;\n    uint256[] memory activeProposalIds = new uint256[](len);\n    uint256 activeCount;\n\n    for (uint256 i; i < len; i++) {\n      uint256 proposalId = roundProposals[i];\n      if (GovernorStateLogic._state(proposalId) == GovernorTypes.ProposalState.Active) {\n        activeProposalIds[activeCount] = proposalId;\n        activeCount++;\n      }\n    }\n\n    uint256[] memory trimmed = new uint256[](activeCount);\n    for (uint256 i; i < activeCount; i++) {\n      trimmed[i] = activeProposalIds[i];\n    }\n\n    return trimmed;\n  }\n\n  /** ------------------ SETTERS ------------------ **/\n\n  /**\n   * @notice Proposes a new Standard governance action with an optional Community-Execution max budget.\n   * @dev V11 unified entrypoint. `maxBudget == 0` means \"no payout flow\"; `maxBudget > 0` is the hard cap\n   *      that will later be paid out to registered developer payees via {markAsInDevelopment}.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param description The description of the proposal.\n   * @param startRoundId The round in which the proposal should be active.\n   * @param depositAmount The amount of tokens the proposer intends to deposit.\n   * @param maxBudget Maximum implementation budget in B3TR wei. Set to 0 for proposals without a payout flow.\n   * @return The proposal id.\n   */\n  function propose(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    uint256 maxBudget\n  ) external returns (uint256) {\n    address proposer = msg.sender;\n\n    uint256 proposalId = hashProposal(targets, values, calldatas, keccak256(bytes(description)));\n\n    validateProposeParams(\n      proposer,\n      startRoundId,\n      description,\n      targets,\n      values,\n      calldatas,\n      proposalId,\n      GovernorTypes.ProposalType.Standard\n    );\n\n    uint256 createdId = _propose(\n      proposer,\n      proposalId,\n      targets,\n      values,\n      calldatas,\n      description,\n      startRoundId,\n      depositAmount,\n      GovernorTypes.ProposalType.Standard\n    );\n\n    // V11: record the immutable community-execution budget. No-op when maxBudget == 0.\n    GovernorCommunityExecutionLogic.setProposalBudget(createdId, maxBudget);\n\n    return createdId;\n  }\n\n  /**\n   * @notice Proposes a new grant proposal.\n   * @dev Creates a new proposal and validates the proposal parameters.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param description The description of the proposal.\n   * @param startRoundId The round in which the proposal should be active.\n   * @param depositAmount The amount of tokens the proposer intends to deposit.\n   * @param grantsReceiver The address of the grants receiver\n   * @param milestonesDetailsMetadataURI The IPFS hash containing the milestones ipfs hash\n   * @return The proposal id.\n   */\n  function proposeGrant(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    address grantsReceiver,\n    string memory milestonesDetailsMetadataURI\n  ) external returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 proposalId = hashProposal(targets, values, calldatas, keccak256(bytes(description)));\n\n    validateProposeParams(\n      msg.sender, //Proposer\n      startRoundId,\n      description,\n      targets,\n      values,\n      calldatas,\n      proposalId,\n      GovernorTypes.ProposalType.Grant\n    );\n\n    //Instantiate the grants manager contract inline to avoid stack too deep errors\n    IGrantsManager($.grantsManager).createMilestones(\n      milestonesDetailsMetadataURI,\n      proposalId,\n      msg.sender, //Proposer\n      grantsReceiver,\n      calldatas\n    );\n\n    return\n      _propose(\n        msg.sender, //Proposer\n        proposalId,\n        targets,\n        values,\n        calldatas,\n        description,\n        startRoundId,\n        depositAmount,\n        GovernorTypes.ProposalType.Grant\n      );\n  }\n\n  /**\n   * @dev Function to know if a proposal is executable or not.\n   * If the proposal was creted without any targets, values, or calldatas, it is not executable.\n   * to check if the proposal is executable.\n   *\n   * @param proposalId The id of the proposal\n   */\n  function proposalNeedsQueuing(\n    uint256 proposalId\n  ) external view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalCore storage proposal = $.proposals[proposalId];\n    if (proposal.roundIdVoteStart == 0) {\n      return false;\n    }\n\n    if (proposal.isExecutable) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  /**\n   * @notice Queues a proposal for execution.\n   * @dev Queues the proposal in the timelock.\n   * @param contractAddress The address of the calling contract.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @return The proposal id.\n   */\n  function queue(\n    address contractAddress, // Address of the calling contract\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Succeeded)\n    );\n\n    uint48 etaSeconds = _queueOperations(\n      contractAddress,\n      proposalId,\n      targets,\n      values,\n      calldatas,\n      descriptionHash\n    );\n\n    if (etaSeconds != 0) {\n      $.proposals[proposalId].etaSeconds = etaSeconds;\n      emit ProposalQueued(proposalId, etaSeconds);\n    } else {\n      revert GovernorQueueNotImplemented();\n    }\n\n    return proposalId;\n  }\n\n  /**\n   * @notice Executes a queued proposal.\n   * @dev Executes the proposal in the timelock.\n   * @param contractAddress The address of the calling contract.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @return The proposal id.\n   */\n  function execute(\n    address contractAddress, // Address of the calling contract\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Succeeded) |\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Queued)\n    );\n\n    // mark as executed before calls to avoid reentrancy\n    $.proposals[proposalId].executed = true;\n\n    // before execute: register governance call in queue.\n    if (GovernorGovernanceLogic.executor() != contractAddress) {\n      for (uint256 i; i < targets.length; ++i) {\n        if (targets[i] == address(this)) {\n          $.governanceCall.pushBack(keccak256(calldatas[i]));\n        }\n      }\n    }\n\n    _executeOperations(contractAddress, proposalId, targets, values, calldatas, descriptionHash);\n\n    // after execute: cleanup governance call queue.\n    if (GovernorGovernanceLogic.executor() != contractAddress && !$.governanceCall.empty()) {\n      $.governanceCall.clear();\n    }\n\n    emit ProposalExecuted(proposalId);\n\n    return proposalId;\n  }\n\n  /**\n   * @notice Cancels a proposal.\n   * @dev Cancels a proposal in any state other than Canceled or Executed.\n   * @param account The account canceling the proposal.\n   * @param admin Whether the account has admin role.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @param reason The reason for canceling the proposal.\n   * @return The proposal id.\n   */\n  function cancel(\n    address account,\n    bool admin,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash,\n    string memory reason\n  ) external returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n    if (account != proposalProposer(proposalId) && !admin) {\n      revert UnauthorizedAccess(account);\n    }\n\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.ALL_PROPOSAL_STATES_BITMAP ^\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Canceled) ^\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Executed) ^\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.InDevelopment) ^\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Completed) ^\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.DepositNotMet) ^\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Defeated)\n    );\n\n    if (account == proposalProposer(proposalId)) {\n      require(\n        GovernorStateLogic._state(proposalId) == GovernorTypes.ProposalState.Pending,\n        \"Governor: proposal not pending\"\n      );\n    }\n\n    bytes32 timelockId = $.timelockIds[proposalId];\n    if (timelockId != 0) {\n      // cancel\n      $.timelock.cancel(timelockId);\n      // cleanup\n      delete $.timelockIds[proposalId];\n    }\n\n    return _cancel(proposalId, account, reason);\n  }\n\n  /**\n   * @notice Mark a proposal as completed\n   * @param proposalId The id of the proposal.\n   * @dev This should be only callable by authorized wallet that has the PROPOSAL_STATE_MANAGER_ROLE role\n   * - Only Standard proposals are allowed here.\n   * - Can only mark as completed if proposal is in development\n   * - The proposal development state is set to Completed\n   * - The event ProposalCompleted is emitted\n   */\n  function markAsCompleted(uint256 proposalId) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalType proposalType = $.proposalType[proposalId];\n\n    // Only Standard proposals are allowed here.\n    // Proposals created before v7 (when proposalType mapping was introduced) will default to Standard.\n    if (proposalType != GovernorTypes.ProposalType.Standard) {\n      revert GovernorRestrictedProposal(proposalId, proposalType);\n    }\n\n    // Can only mark as completed if proposal is in development\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.InDevelopment)\n    );\n    $.proposalDevelopmentState[proposalId] = GovernorTypes.ProposalDevelopmentState.Completed;\n    //Emit event\n    emit ProposalCompleted(proposalId);\n  }\n\n  /**\n   * @notice Reset the development state of a proposal back to pending development\n   * @param proposalId The id of the proposal\n   * @dev This should reset the enum state back to the original one,\n   * since pending development is not tracked in {GovernorStateLogic._state} condition.\n   *\n   * V11: also wipes the community-execution metadata (single payee, description,\n   * implementation-discussion link, contributors, finalized flag) so that a follow-up\n   * {markAsInDevelopment} call can register a fresh payee. The immutable `proposalMaxBudget`\n   * set at proposal-creation time is intentionally preserved.\n   *\n   * Reverts with {PayoutAlreadyClaimed} if the Treasury transfer has already executed —\n   * a paid proposal must never be silently un-marked.\n   */\n  function resetDevelopmentState(uint256 proposalId) external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.InDevelopment) |\n        GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Completed)\n    );\n    if ($.proposalPaid[proposalId]) {\n      revert PayoutAlreadyClaimed(proposalId);\n    }\n    $.proposalDevelopmentState[proposalId] = GovernorTypes.ProposalDevelopmentState.PendingDevelopment;\n    // V11: wipe community-execution metadata so markAsInDevelopment can re-run with a fresh payee.\n    delete $.proposalPayeesFinalized[proposalId];\n    delete $.proposalPayee[proposalId];\n    delete $.proposalDescription[proposalId];\n    delete $.proposalImplementationDiscussion[proposalId];\n    delete $.proposalContributors[proposalId];\n    //Emit event\n    emit ProposalDevelopmentStateReset(proposalId);\n  }\n\n  /** ------------------ INTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Internal function to propose a new governance action.\n   * @param proposer The address of the proposer.\n   * @param proposalId The id of the proposal.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param description The description of the proposal.\n   * @param startRoundId The round in which the proposal should be active.\n   * @param depositAmount The amount of tokens the proposer intends to deposit.\n   * @param proposalTypeValue The type of the proposal.\n   * @return The proposal id.\n   */\n  function _propose(\n    address proposer,\n    uint256 proposalId,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) private returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 depositThresholdAmount = GovernorDepositLogic._depositThresholdByProposalType(proposalTypeValue);\n    uint32 votingPeriod = SafeCast.toUint32($.xAllocationVoting.votingPeriod());\n    bool isExecutable = targets.length > 0;\n\n    _validateProposer(proposer, proposalTypeValue);\n\n    _setProposal(\n      proposalId,\n      proposer,\n      votingPeriod,\n      startRoundId,\n      isExecutable,\n      depositAmount,\n      depositThresholdAmount,\n      proposalTypeValue\n    );\n\n    if (depositAmount > 0) {\n      GovernorDepositLogic.depositFunds(depositAmount, proposer, proposalId);\n    }\n\n    _emitProposalCreatedEvents(\n      proposer,\n      proposalId,\n      targets,\n      values,\n      calldatas,\n      description,\n      startRoundId,\n      depositThresholdAmount,\n      proposalTypeValue\n    );\n\n    return proposalId;\n  }\n\n  /**\n   * @dev Internal function to emit the proposal created events.\n   * @param proposer The address of the proposer.\n   * @param proposalId The id of the proposal.\n   * @param targets The addresses of the contracts to call.\n   */\n  function _emitProposalCreatedEvents(\n    address proposer,\n    uint256 proposalId,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositThresholdAmount,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) private {\n    // Emit original event for backward compatibility\n    emit ProposalCreated(\n      proposalId,\n      proposer,\n      targets,\n      values,\n      new string[](targets.length),\n      calldatas,\n      description,\n      startRoundId,\n      depositThresholdAmount\n    );\n\n    // Emit event just for the proposal type\n    emit ProposalCreatedWithType(proposalId, proposalTypeValue);\n  }\n\n  /**\n   * @dev Internal function to validate the parameters of a proposal.\n   * @param proposer The address of the proposer.\n   * @param startRoundId The round in which the proposal should be active.\n   * @param description The description of the proposal.si\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param proposalId The id of the proposal.\n   */\n  function validateProposeParams(\n    address proposer,\n    uint256 startRoundId,\n    string memory description,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    uint256 proposalId,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) private view {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    //proposal type must be valid\n    if (!isValidProposalType(proposalTypeValue)) {\n      revert GovernorInvalidProposalType(proposalTypeValue);\n    }\n\n    // round must be in the future\n    if (startRoundId <= $.xAllocationVoting.currentRoundId()) {\n      revert GovernorInvalidStartRound(startRoundId);\n    }\n\n    // only do this check if user wants to start proposal in the next round\n    if (startRoundId == $.xAllocationVoting.currentRoundId() + 1) {\n      if (!_canProposalStartInNextRound()) {\n        revert GovernorInvalidStartRound(startRoundId);\n      }\n    }\n    // check description restriction\n    if (proposalTypeValue == GovernorTypes.ProposalType.Standard) {\n      if (!isValidDescriptionForProposer(proposer, description)) {\n        revert GovernorRestrictedProposer(proposer);\n      }\n    }\n\n    if (targets.length != values.length || targets.length != calldatas.length) {\n      revert GovernorInvalidProposalLength(targets.length, calldatas.length, values.length);\n    }\n\n    if ($.proposals[proposalId].roundIdVoteStart != 0) {\n      // Proposal already exists\n      revert GovernorUnexpectedProposalState(proposalId, GovernorStateLogic._state(proposalId), bytes32(0));\n    }\n\n    GovernorFunctionRestrictionsLogic.checkFunctionsRestriction(targets, calldatas);\n  }\n\n  /**\n   * @dev Internal function to set the data of a proposal in storage.\n   * @param proposalId The id of the proposal.\n   * @param proposer The address of the proposer.\n   * @param voteDuration The duration of the vote.\n   * @param roundIdVoteStart The round in which the proposal should be active.\n   * @param isExecutable Whether the proposal is executable.\n   * @param depositAmount The amount of tokens the proposer intends to deposit.\n   * @param proposalDepositThreshold The deposit threshold for the proposal.\n   * @param proposalTypeValue The type of the proposal.\n   */\n  function _setProposal(\n    uint256 proposalId,\n    address proposer,\n    uint32 voteDuration,\n    uint256 roundIdVoteStart,\n    bool isExecutable,\n    uint256 depositAmount,\n    uint256 proposalDepositThreshold,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) private {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalCore storage proposal = $.proposals[proposalId];\n\n    proposal.proposer = proposer;\n    proposal.roundIdVoteStart = roundIdVoteStart;\n    proposal.voteDuration = voteDuration;\n    proposal.isExecutable = isExecutable;\n    proposal.depositAmount = depositAmount;\n    proposal.depositThreshold = proposalDepositThreshold;\n    // set the proposal type\n    $.proposalType[proposalId] = proposalTypeValue;\n    $.proposalsForRound[roundIdVoteStart].push(proposalId);\n  }\n\n  /**\n   * @dev Internal function to validate the proposer.\n   * @param proposer The address of the proposer.\n   * @param proposalTypeValue The type of the proposal.\n   */\n  function _validateProposer(\n    address proposer,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) private view {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 requiredWeight = $.requiredGMLevelByProposalType[proposalTypeValue];\n    uint256 level = $.galaxyMember.levelOf($.galaxyMember.getSelectedTokenId(proposer)); // 1 for earth\n    if (level < requiredWeight) {\n      revert GovernorInvalidProposer(proposer, requiredWeight);\n    }\n  }\n\n  /**\n   * @dev Internal function to execute operations of a proposal.\n   * @param contractAddress The address of the calling contract.\n   * @param proposalId The id of the proposal.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   */\n  function _executeOperations(\n    address contractAddress, // Address of the calling contract\n    uint256 proposalId,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) private {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    // execute transfer first\n    $.timelock.executeBatch{ value: msg.value }(\n      targets,\n      values,\n      calldatas,\n      0,\n      GovernorGovernanceLogic.timelockSalt(descriptionHash, contractAddress)\n    );\n\n    // cleanup for refund\n    delete $.timelockIds[proposalId];\n  }\n\n  /**\n   * @dev Internal function to queue operations of a proposal in the timelock.\n   * @param contractAddress The address of the calling contract.\n   * @param proposalId The id of the proposal.\n   * @param targets The addresses of the contracts to call.\n   * @param values The values to send to the contracts.\n   * @param calldatas The function signatures and arguments.\n   * @param descriptionHash The hash of the proposal description.\n   * @return The eta (estimated time of arrival) in seconds.\n   */\n  function _queueOperations(\n    address contractAddress, // Address of the calling contract\n    uint256 proposalId,\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) private returns (uint48) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 delay = $.timelock.getMinDelay();\n\n    bytes32 salt = GovernorGovernanceLogic.timelockSalt(descriptionHash, contractAddress);\n    $.timelockIds[proposalId] = $.timelock.hashOperationBatch(targets, values, calldatas, 0, salt);\n    $.timelock.scheduleBatch(targets, values, calldatas, 0, salt, delay);\n\n    return SafeCast.toUint48(block.timestamp + delay);\n  }\n\n  /**\n   * @dev Internal function to cancel a proposal.\n   * @param proposalId The id of the proposal.\n   * @param canceler The address of the account canceling the proposal.\n   * @param reason The reason for canceling the proposal.\n   * @return The proposal id.\n   */\n  function _cancel(\n    uint256 proposalId,\n    address canceler,\n    string memory reason\n  ) private returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    $.proposals[proposalId].canceled = true;\n    emit ProposalCanceled(proposalId);\n    emit ProposalCanceledWithReason(proposalId, canceler, reason);\n\n    return proposalId;\n  }\n\n  /**\n   * @dev Internal function to validate if a proposal can start in the next round.\n   * @return True if the proposal can start in the next round, false otherwise.\n   */\n  function _canProposalStartInNextRound(\n  ) internal view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 currentRoundId = $.xAllocationVoting.currentRoundId();\n    uint256 currentRoundDeadline = $.xAllocationVoting.roundDeadline(currentRoundId);\n    uint48 currentBlock = GovernorClockLogic.clock();\n\n    // this could happen if the round ended and the next one not started yet\n    if (currentRoundDeadline <= currentBlock) {\n      return false;\n    }\n\n    // if between now and the start of the new round is less then the min delay, revert\n    if ($.minVotingDelay > currentRoundDeadline - currentBlock) {\n      return false;\n    }\n\n    return true;\n  }\n\n  /**\n   * @dev Internal function to get the snapshot block of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The snapshot block number.\n   */\n  function _proposalSnapshot(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    // round when proposal should be active is already started\n    if ($.xAllocationVoting.currentRoundId() >= $.proposals[proposalId].roundIdVoteStart) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n      return $.xAllocationVoting.roundSnapshot($.proposals[proposalId].roundIdVoteStart);\n    }\n\n    uint256 amountOfRoundsLeft = $.proposals[proposalId].roundIdVoteStart - $.xAllocationVoting.currentRoundId();\n    uint256 roundsDurationLeft = $.xAllocationVoting.votingPeriod() * (amountOfRoundsLeft - 1); // -1 because if only 1 round left we want this to be 0\n    uint256 currentRoundDeadline = $.xAllocationVoting.currentRoundDeadline();\n\n    // if current round ended and a new one did not start yet\n    if (currentRoundDeadline <= GovernorClockLogic.clock()) {\n      currentRoundDeadline = GovernorClockLogic.clock();\n    }\n\n    return currentRoundDeadline + roundsDurationLeft + amountOfRoundsLeft;\n  }\n\n  /**\n   * @dev Internal function to get the deadline block of a proposal.\n   * @param proposalId The id of the proposal.\n   * @return The deadline block number.\n   */\n  function _proposalDeadline(\n    uint256 proposalId\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    // if round is active or already occured proposal end block is the block when round ends\n    if ($.xAllocationVoting.currentRoundId() >= $.proposals[proposalId].roundIdVoteStart) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n      return $.xAllocationVoting.roundDeadline($.proposals[proposalId].roundIdVoteStart);\n    }\n\n    // if we call this function before the round starts, it will return 0, so we need to estimate the end block\n    return _proposalSnapshot(proposalId) + $.xAllocationVoting.votingPeriod();\n  }\n\n  /** ------------------ PRIVATE FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Checks if the description string ends with a proposer's address suffix.\n   * @param proposer The address of the proposer.\n   * @param description The description of the proposal.\n   * @return True if the suffix matches the proposer's address or if there is no suffix, false otherwise.\n   */\n  function isValidDescriptionForProposer(address proposer, string memory description) private pure returns (bool) {\n    uint256 len = bytes(description).length;\n\n    // Length is too short to contain a valid proposer suffix\n    if (len < 52) {\n      return true;\n    }\n\n    // Extract what would be the `#proposer=0x` marker beginning the suffix\n    bytes12 marker;\n    assembly {\n      // Start of the string contents in memory = description + 32\n      // First character of the marker = len - 52\n      // We read the memory word starting at the first character of the marker:\n      // (description + 32) + (len - 52) = description + (len - 20)\n      marker := mload(add(description, sub(len, 20)))\n    }\n\n    // If the marker is not found, there is no proposer suffix to check\n    if (marker != bytes12(\"#proposer=0x\")) {\n      return true;\n    }\n\n    // Parse the 40 characters following the marker as uint160\n    uint160 recovered;\n    for (uint256 i = len - 40; i < len; ++i) {\n      (bool isHex, uint8 value) = tryHexToUint(bytes(description)[i]);\n      // If any of the characters is not a hex digit, ignore the suffix entirely\n      if (!isHex) {\n        return true;\n      }\n      recovered = (recovered << 4) | value;\n    }\n\n    return recovered == uint160(proposer);\n  }\n\n  /**\n   * @dev Checks if the proposal type is valid.\n   * @param proposalTypeValue The type of the proposal.\n   * @return True if the proposal type is valid, false otherwise.\n   */\n  function isValidProposalType(GovernorTypes.ProposalType proposalTypeValue) internal pure returns (bool) {\n    return\n      proposalTypeValue == GovernorTypes.ProposalType.Standard || proposalTypeValue == GovernorTypes.ProposalType.Grant;\n  }\n\n  /**\n   * @dev Tries to parse a character from a string as a hex value.\n   * @param char The character to parse.\n   * @return isHex True if the character is a valid hex digit, false otherwise.\n   * @return value The parsed hex value.\n   */\n  function tryHexToUint(bytes1 char) private pure returns (bool, uint8) {\n    uint8 c = uint8(char);\n    unchecked {\n      // Case 0-9\n      if (47 < c && c < 58) {\n        return (true, c - 48);\n      }\n      // Case A-F\n      else if (64 < c && c < 71) {\n        return (true, c - 55);\n      }\n      // Case a-f\n      else if (96 < c && c < 103) {\n        return (true, c - 87);\n      }\n      // Else: not a hex char\n      else {\n        return (false, 0);\n      }\n    }\n  }\n\n}\n"},"contracts/governance/libraries/GovernorQuorumLogic.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\nimport { GovernorClockLogic } from \"./GovernorClockLogic.sol\";\nimport { GovernorVotesLogic } from \"./GovernorVotesLogic.sol\";\nimport { GovernorProposalLogic } from \"./GovernorProposalLogic.sol\";\nimport \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { GovernorTypes } from \"./GovernorTypes.sol\";\n\n/// @title GovernorQuorumLogic\n/// @notice Library for managing quorum numerators using checkpointed data structures.\nlibrary GovernorQuorumLogic {\n  using Checkpoints for Checkpoints.Trace208;\n\n  /// @notice Error that is thrown when the new quorum numerator exceeds the denominator.\n  /// @param quorumNumerator The attempted new numerator that failed the update.\n  /// @param quorumDenominator The denominator against which the numerator was compared.\n  error GovernorInvalidQuorumFraction(uint256 quorumNumerator, uint256 quorumDenominator);\n\n  /// @notice Emitted when the quorum numerator is updated.\n  /// @param oldNumerator The numerator before the update.\n  /// @param newNumerator The numerator after the update.\n  event QuorumNumeratorUpdated(uint256 oldNumerator, uint256 newNumerator);\n\n  /// @notice Emitted when the quorum numerator for a specific proposal type is updated.\n  /// @param oldNumerator The numerator before the update.\n  /// @param newNumerator The numerator after the update.\n  /// @param proposalType The type of proposal.\n  event QuorumNumeratorUpdatedByType(\n    uint256 oldNumerator,\n    uint256 newNumerator,\n    GovernorTypes.ProposalType proposalType\n  );\n  /** ------------------ GETTERS ------------------ **/\n\n  /// @notice Retrieves the quorum denominator, which is a constant in this implementation.\n  /// @return The quorum denominator (constant value of 100).\n  function quorumDenominator() internal pure returns (uint256) {\n    return 100;\n  }\n\n  /// @notice Retrieves the quorum numerator at a specific timepoint using checkpoint data.\n  /// @param timepoint The specific timepoint for which to fetch the numerator.\n  /// @return The quorum numerator at the given timepoint.\n  function quorumNumerator(\n    uint256 timepoint\n  ) public view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalType proposalType = GovernorTypes.ProposalType.Standard;\n    uint256 length = $.proposalTypeQuorum[proposalType]._checkpoints.length;\n\n    // Optimistic search, check the latest checkpoint\n    Checkpoints.Checkpoint208 storage latest = $.proposalTypeQuorum[proposalType]._checkpoints[length - 1];\n    uint48 latestKey = latest._key;\n    uint208 latestValue = latest._value;\n    if (latestKey <= timepoint) {\n      return latestValue;\n    }\n\n    // Otherwise, do the binary search\n    return $.proposalTypeQuorum[proposalType].upperLookupRecent(SafeCast.toUint48(timepoint));\n  }\n  /// @notice Retrieves the quorum numerator at a specific timepoint using checkpoint data.\n  /// @param timepoint The specific timepoint for which to fetch the numerator.\n  /// @return The quorum numerator at the given timepoint.\n  function quorumNumeratorByProposalType(\n    uint256 timepoint,\n    uint8 proposalTypeValue\n  ) public view returns (uint256) {\n    return _quorumNumeratorByProposalType(timepoint, GovernorTypes.ProposalType(proposalTypeValue));\n  }\n\n  /// @notice Retrieves the latest quorum numerator using the GovernorClockLogic library.\n  /// @return The latest quorum numerator.\n  function quorumNumerator() public view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalType proposalType = GovernorTypes.ProposalType.Standard;\n    return $.proposalTypeQuorum[proposalType].latest();\n  }\n\n  /**\n   * @notice Retrieves the latest quorum numerator for a specific proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return The latest quorum numerator for the proposal type.\n   */\n  function quorumNumeratorByProposalType(\n    uint8 proposalTypeValue\n  ) public view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposalTypeQuorum[GovernorTypes.ProposalType(proposalTypeValue)].latest();\n  }\n\n  /**\n   * @notice Checks if the quorum has been reached for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return True if the quorum has been reached, false otherwise.\n   */\n  function isQuorumReached(\n    uint256 proposalId\n  ) external view returns (bool) {\n    return quorumReached(proposalId);\n  }\n\n  /**\n   * @notice Returns the quorum for a specific timepoint.\n   * @param timepoint The specific timepoint.\n   * @return The quorum at the given timepoint.\n   */\n  function quorum(uint256 timepoint) public view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return ($.vot3.getPastTotalSupply(timepoint) * quorumNumerator(timepoint)) / quorumDenominator();\n  }\n  /**\n   * @notice Returns the quorum for a specific timepoint and proposal type.\n   * @param timepoint The specific timepoint.\n   * @param proposalTypeValue The type of proposal.\n   * @return The quorum at the given timepoint and proposal type.\n   */\n  function quorumByProposalType(\n    uint256 timepoint,\n    uint8 proposalTypeValue\n  ) public view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return\n      ($.vot3.getPastTotalSupply(timepoint) * quorumNumeratorByProposalType(timepoint, proposalTypeValue)) /\n      quorumDenominator();\n  }\n\n  /** ------------------ SETTERS ------------------ **/\n\n  /**\n   * @notice Updates the quorum numerator to a new value at a specified time, emitting an event upon success.\n   * @dev This function should only be called from governance actions where numerators need updating.\n   * @dev New numerator must be smaller or equal to the denominator.\n   * @param newQuorumNumerator The new value for the quorum numerator.\n   */\n  function updateQuorumNumerator(\n    uint256 newQuorumNumerator\n  ) external {\n    _updateQuorumNumeratorByType(newQuorumNumerator, GovernorTypes.ProposalType.Standard);\n  }\n  /**\n   * @notice Updates the quorum numerator for a specific proposal type to a new value at a specified time, emitting an event upon success.\n   * @dev This function should only be called from governance actions where numerators need updating.\n   * @dev New numerator must be smaller or equal to the denominator.\n   * @param newQuorumNumerator The new value for the quorum numerator.\n   * @param proposalTypeValue The type of proposal.\n   */\n  function updateQuorumNumeratorByType(\n    uint256 newQuorumNumerator,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external {\n    _updateQuorumNumeratorByType(newQuorumNumerator, proposalTypeValue);\n  }\n\n  /** ------------------ INTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Internal function to check if the quorum has been reached for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return True if the quorum has been reached, false otherwise.\n   */\n  function quorumReached(\n    uint256 proposalId\n  ) internal view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalType proposalType = $.proposalType[proposalId];\n\n    return\n      quorumByProposalType(GovernorProposalLogic._proposalSnapshot(proposalId), uint8(proposalType)) <=\n      $.proposalTotalVotes[proposalId];\n  }\n  /**\n   * @notice Internal function to retrieve the quorum numerator for a specific proposal type at a given timepoint.\n   * @param timepoint The specific timepoint for which to fetch the numerator.\n   * @param proposalTypeValue The type of proposal.\n   * @return The quorum numerator at the given timepoint for the specified proposal type.\n   */\n  function _quorumNumeratorByProposalType(\n    uint256 timepoint,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 length = $.proposalTypeQuorum[proposalTypeValue]._checkpoints.length;\n\n    // Optimistic search, check the latest checkpoint\n    Checkpoints.Checkpoint208 storage latest = $.proposalTypeQuorum[proposalTypeValue]._checkpoints[length - 1];\n    uint48 latestKey = latest._key;\n    uint208 latestValue = latest._value;\n    if (latestKey <= timepoint) {\n      return latestValue;\n    }\n\n    // Otherwise, do the binary search\n    return $.proposalTypeQuorum[proposalTypeValue].upperLookupRecent(SafeCast.toUint48(timepoint));\n  }\n  /**\n   * @notice Internal function to update the quorum numerator for a specific proposal type.\n   * @dev This function should only be called from governance actions where numerators need updating.\n   * @dev New numerator must be smaller or equal to the denominator.\n   * @param newQuorumNumerator The new value for the quorum numerator.\n   * @param proposalTypeValue The type of proposal.\n   */\n  function _updateQuorumNumeratorByType(\n    uint256 newQuorumNumerator,\n    GovernorTypes.ProposalType proposalTypeValue\n  ) internal {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 denominator = quorumDenominator();\n    uint256 oldQuorumNumerator = quorumNumeratorByProposalType(uint8(proposalTypeValue));\n\n    if (newQuorumNumerator > denominator) {\n      revert GovernorInvalidQuorumFraction(newQuorumNumerator, denominator);\n    }\n\n    $.proposalTypeQuorum[proposalTypeValue].push(\n      GovernorClockLogic.clock(),\n      SafeCast.toUint208(newQuorumNumerator)\n    );\n    emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator);\n    emit QuorumNumeratorUpdatedByType(oldQuorumNumerator, newQuorumNumerator, proposalTypeValue);\n  }\n}\n"},"contracts/governance/libraries/GovernorStateLogic.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorTypes } from \"./GovernorTypes.sol\";\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\nimport { GovernorProposalLogic } from \"./GovernorProposalLogic.sol\";\nimport { GovernorVotesLogic } from \"./GovernorVotesLogic.sol\";\nimport { GovernorQuorumLogic } from \"./GovernorQuorumLogic.sol\";\nimport { GovernorClockLogic } from \"./GovernorClockLogic.sol\";\nimport { GovernorDepositLogic } from \"./GovernorDepositLogic.sol\";\n\n/// @title GovernorStateLogic\n/// @notice Library for Governor state logic, managing the state transitions and validations of governance proposals.\nlibrary GovernorStateLogic {\n  /// @notice Bitmap representing all possible proposal states.\n  bytes32 internal constant ALL_PROPOSAL_STATES_BITMAP =\n    bytes32((2 ** (uint8(type(GovernorTypes.ProposalState).max) + 1)) - 1);\n\n  /// @dev Thrown when the `proposalId` does not exist.\n  /// @param proposalId The ID of the proposal that does not exist.\n  error GovernorNonexistentProposal(uint256 proposalId);\n\n  /// @dev Thrown when the current state of a proposal does not match the expected states.\n  /// @param proposalId The ID of the proposal.\n  /// @param current The current state of the proposal.\n  /// @param expectedStates The expected states of the proposal as a bitmap.\n  error GovernorUnexpectedProposalState(\n    uint256 proposalId,\n    GovernorTypes.ProposalState current,\n    bytes32 expectedStates\n  );\n\n  /** ------------------ GETTERS ------------------ **/\n\n  /**\n   * @notice Retrieves the current state of a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return The current state of the proposal.\n   */\n  function state(\n    uint256 proposalId\n  ) external view returns (uint8) {\n    return uint8(_state(proposalId));\n  }\n\n  /** ------------------ INTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Internal function to validate the current state of a proposal against expected states.\n   * @param proposalId The ID of the proposal.\n   * @param allowedStates The bitmap of allowed states.\n   * @return The current state of the proposal.\n   */\n  function validateStateBitmap(\n    uint256 proposalId,\n    bytes32 allowedStates\n  ) internal view returns (GovernorTypes.ProposalState) {\n    GovernorTypes.ProposalState currentState = _state(proposalId);\n    if (encodeStateBitmap(currentState) & allowedStates == bytes32(0)) {\n      revert GovernorUnexpectedProposalState(proposalId, currentState, allowedStates);\n    }\n    return currentState;\n  }\n\n  /**\n   * @dev Encodes a `ProposalState` into a `bytes32` representation where each bit enabled corresponds to the underlying position in the `ProposalState` enum.\n   * @param proposalState The state to encode.\n   * @return The encoded state bitmap.\n   */\n  function encodeStateBitmap(GovernorTypes.ProposalState proposalState) internal pure returns (bytes32) {\n    return bytes32(1 << uint8(proposalState));\n  }\n\n  /**\n   * @notice Retrieves the current state of a proposal.\n   * @dev See {IB3TRGovernor-state}.\n   * @param proposalId The ID of the proposal.\n   * @return The current state of the proposal.\n   */\n  function _state(\n    uint256 proposalId\n  ) internal view returns (GovernorTypes.ProposalState) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    // Load the proposal into memory\n    GovernorTypes.ProposalCore storage proposal = $.proposals[proposalId];\n    GovernorTypes.ProposalDevelopmentState proposalDevelopmentState = $.proposalDevelopmentState[proposalId];\n    bool proposalExecuted = proposal.executed;\n    bool proposalCanceled = proposal.canceled;\n\n    if (proposalDevelopmentState == GovernorTypes.ProposalDevelopmentState.InDevelopment) {\n      return GovernorTypes.ProposalState.InDevelopment;\n    }\n\n    if (proposalDevelopmentState == GovernorTypes.ProposalDevelopmentState.Completed) {\n      return GovernorTypes.ProposalState.Completed;\n    }\n\n    if (proposalExecuted) {\n      return GovernorTypes.ProposalState.Executed;\n    }\n\n    if (proposalCanceled) {\n      return GovernorTypes.ProposalState.Canceled;\n    }\n\n    if (proposal.roundIdVoteStart == 0) {\n      revert GovernorNonexistentProposal(proposalId);\n    }\n\n    // Check if the proposal is pending\n    if ($.xAllocationVoting.currentRoundId() < proposal.roundIdVoteStart) {\n      return GovernorTypes.ProposalState.Pending;\n    }\n\n    uint256 currentTimepoint = GovernorClockLogic.clock();\n    uint256 deadline = GovernorProposalLogic._proposalDeadline(proposalId);\n\n    if (!GovernorDepositLogic.proposalDepositReached(proposalId)) {\n      return GovernorTypes.ProposalState.DepositNotMet;\n    }\n\n    if (deadline >= currentTimepoint) {\n      return GovernorTypes.ProposalState.Active;\n    } else if (\n      !GovernorQuorumLogic.quorumReached(proposalId) || !GovernorVotesLogic.voteSucceeded(proposalId)\n    ) {\n      return GovernorTypes.ProposalState.Defeated;\n    } else if (GovernorProposalLogic.proposalEta(proposalId) == 0) {\n      return GovernorTypes.ProposalState.Succeeded;\n    } else {\n      bytes32 queueid = $.timelockIds[proposalId];\n      if ($.timelock.isOperationPending(queueid)) {\n        return GovernorTypes.ProposalState.Queued;\n      } else if ($.timelock.isOperationDone(queueid)) {\n        return GovernorTypes.ProposalState.Executed;\n      } else {\n        return GovernorTypes.ProposalState.Canceled;\n      }\n    }\n  }\n}\n"},"contracts/governance/libraries/GovernorStorageTypes.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorTypes } from \"./GovernorTypes.sol\";\nimport { IVoterRewards } from \"../../interfaces/IVoterRewards.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IB3TR } from \"../../interfaces/IB3TR.sol\";\nimport { IVOT3 } from \"../../interfaces/IVOT3.sol\";\nimport { DoubleEndedQueue } from \"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\";\nimport { TimelockControllerUpgradeable } from \"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { IVeBetterPassport } from \"../../interfaces/IVeBetterPassport.sol\";\nimport { IGrantsManager } from \"../../interfaces/IGrantsManager.sol\";\nimport { IGalaxyMember } from \"../../interfaces/IGalaxyMember.sol\";\nimport { INavigatorRegistry } from \"../../interfaces/INavigatorRegistry.sol\";\nimport { IRelayerRewardsPool } from \"../../interfaces/IRelayerRewardsPool.sol\";\nimport { ITreasury } from \"../../interfaces/ITreasury.sol\";\n\n/// @title GovernorStorageTypes\n/// @notice Library for defining storage types used in the Governor contract.\nlibrary GovernorStorageTypes {\n  // keccak256(abi.encode(uint256(keccak256(\"GovernorStorageLocation\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant GovernorStorageLocation = 0xd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b00;\n\n  /// @dev Returns the governor storage slot.\n  function getGovernorStorage() internal pure returns (GovernorStorage storage $) {\n    assembly {\n      $.slot := GovernorStorageLocation\n    }\n  }\n\n  struct GovernorStorage {\n    // ------------------------------- Version 1 -------------------------------\n\n    // ------------------------------- General Storage -------------------------------\n    string name; // name of the Governor\n    mapping(uint256 proposalId => GovernorTypes.ProposalCore) proposals;\n    // This queue keeps track of the governor operating on itself. Calls to functions protected by the {onlyGovernance}\n    // modifier needs to be whitelisted in this queue. Whitelisting is set in {execute}, consumed by the\n    // {onlyGovernance} modifier and eventually reset after {_executeOperations} completes. This ensures that the\n    // execution of {onlyGovernance} protected calls can only be achieved through successful proposals.\n    DoubleEndedQueue.Bytes32Deque governanceCall;\n    // min delay before voting can start\n    uint256 minVotingDelay;\n    // ------------------------------- Quorum Storage -------------------------------\n    // quorum numerator history\n    // @dev This is deprecated since we are using proposalTypeQuorum for the quorum numerator history\n    Checkpoints.Trace208 quorumNumeratorHistory_DEPRECATED;\n    // ------------------------------- Timelock Storage -------------------------------\n    // Timelock contract\n    TimelockControllerUpgradeable timelock;\n    // mapping of proposalId to timelockId\n    mapping(uint256 proposalId => bytes32) timelockIds;\n    // ------------------------------- Function Restriction Storage -------------------------------\n    // mapping of target address to function selector to bool indicating if function is whitelisted for proposals\n    mapping(address => mapping(bytes4 => bool)) whitelistedFunctions;\n    // flag to enable/disable function restrictions\n    bool isFunctionRestrictionEnabled;\n    // ------------------------------- External Contracts Storage -------------------------------\n    // Voter Rewards contract\n    IVoterRewards voterRewards;\n    // XAllocationVotingGovernor contract\n    IXAllocationVotingGovernor xAllocationVoting;\n    // B3TR contract\n    IB3TR b3tr;\n    // VOT3 contract\n    IVOT3 vot3;\n    // ------------------------------- Desposits Storage -------------------------------\n    // mapping to track deposits made to proposals by address\n    mapping(uint256 proposalId => mapping(address user => uint256 amount)) deposits;\n    // percentage of the total supply of B3TR tokens that need to be deposited in VOT3 to create a proposal\n    // @dev This is deprecated since we are using proposalTypeDepositThresholdPercentage for the deposit threshold percentage\n    uint256 depositThresholdPercentage_DEPRECATED;\n    // ------------------------------- Voting Storage -------------------------------\n    // mapping to store the votes for a proposal\n    mapping(uint256 => GovernorTypes.ProposalVote) proposalVotes;\n    // mapping to store that a user has voted at least one time\n    mapping(address => bool) hasVotedOnce;\n    // mapping to store the total votes for a proposal\n    mapping(uint256 => uint256) proposalTotalVotes;\n    // minimum amount of tokens needed to cast a vote\n    // @dev This is deprecated since we are using proposalTypeVotingThreshold for the voting threshold\n    uint256 votingThreshold_DEPRECATED;\n    // ------------------------------- Version 3 -------------------------------\n\n    // ------------------------------- Voting Storage -------------------------------\n    // checkpoints for the quadratic voting status for each round\n    Checkpoints.Trace208 quadraticVotingDisabled;\n    // ------------------------------- Version 2 -------------------------------\n\n    // ------------------------------- Passport -------------------------------\n    IVeBetterPassport veBetterPassport;\n\n    // ------------------------------- Version 7 -------------------------------\n    // mapping to store the proposal type for each proposal\n    mapping(uint256 => GovernorTypes.ProposalType) proposalType;\n    // mapping to store the deposit threshold percentage for each proposal type\n    mapping(GovernorTypes.ProposalType => uint256) proposalTypeDepositThresholdPercentage;\n    // mapping to store the voting threshold for each proposal type\n    mapping(GovernorTypes.ProposalType => uint256) proposalTypeVotingThreshold;\n    // mapping to store the quorum history for each proposal type\n    mapping(GovernorTypes.ProposalType => Checkpoints.Trace208) proposalTypeQuorum;\n    // mapping to store the deposit threshold cap for each proposal type\n    mapping(GovernorTypes.ProposalType => uint256) proposalTypeDepositThresholdCap;\n    // GrantsManager contract\n    IGrantsManager grantsManager;\n    // GalaxyMember contract\n    IGalaxyMember galaxyMember;\n    // mapping to store the GM weight required for each proposal type\n    mapping(GovernorTypes.ProposalType => uint256) requiredGMLevelByProposalType;\n    // Checkpoints to store the deposits user\n    mapping(address user => Checkpoints.Trace208 timepoint) depositsVotingPower;\n    // ------------------------------- Version 8 -------------------------------\n    // Mapping to track the development status of executed proposals\n    // @dev This tracks whether a proposal that has been executed is in a development phase\n    // - PendingDevelopment: Proposal is not in a development phase\n    // - InDevelopment: Development phase is in progress\n    // - Completed: Development phase is completed\n    mapping(uint256 proposalId => GovernorTypes.ProposalDevelopmentState) proposalDevelopmentState;\n    // ------------------------------- Version 10 (navigator + relayer integration) -------------------------------\n    // NavigatorRegistry (navigator delegation voting); RelayerRewardsPool (governance vote action registration)\n    INavigatorRegistry navigatorRegistry;\n    IRelayerRewardsPool relayerRewardsPool;\n    // roundId => proposal IDs targeting that round (set at proposal creation)\n    mapping(uint256 => uint256[]) proposalsForRound;\n    // V10: configurable skip window for navigator governance vote skipping (blocks before proposal deadline)\n    uint256 governanceSkipWindowBlocks;\n    // ------------------------------- Version 11 (Community Execution Framework) -------------------------------\n    // Treasury used to pay the registered payee after proposal completion.\n    ITreasury treasury;\n    // Safety cap on the number of contributor handles that can be registered per proposal.\n    uint256 maxContributorsPerProposal;\n    // Per-proposal max B3TR implementation cost (wei). Set immutably at proposal creation.\n    mapping(uint256 proposalId => uint256) proposalMaxBudget;\n    // Per-proposal single payout address (set at markAsInDevelopment).\n    mapping(uint256 proposalId => address) proposalPayee;\n    // True once markAsInDevelopment has registered the V11 community-execution data.\n    mapping(uint256 proposalId => bool) proposalPayeesFinalized;\n    // True once claimPayout has transferred the full budget to the registered payee.\n    mapping(uint256 proposalId => bool) proposalPaid;\n    // On-chain free-text description (e.g. \"Developed by Framer and Rosa\").\n    mapping(uint256 proposalId => string) proposalDescription;\n    // On-chain Discourse / external implementation-discussion link.\n    mapping(uint256 proposalId => string) proposalImplementationDiscussion;\n    // On-chain contributor handles (e.g. \"github:alice\", \"twitter:@bob\", or any URL).\n    mapping(uint256 proposalId => string[]) proposalContributors;\n  }\n}\n"},"contracts/governance/libraries/GovernorTypes.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { IVoterRewards } from \"../../interfaces/IVoterRewards.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IB3TR } from \"../../interfaces/IB3TR.sol\";\nimport { IVOT3 } from \"../../interfaces/IVOT3.sol\";\nimport { TimelockControllerUpgradeable } from \"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\";\nimport { IGalaxyMember } from \"../../interfaces/IGalaxyMember.sol\";\nimport { IGrantsManager } from \"../../interfaces/IGrantsManager.sol\";\n\nlibrary GovernorTypes {\n  /**\n   * @dev Struct containing data to initialize the contract\n   * @param vot3Token The address of the Vot3 token used for voting\n   * @param timelock The address of the Timelock\n   * @param xAllocationVoting The address of the xAllocationVoting\n   * @param quorumPercentage quorum as a percentage of the total supply of VOT3 tokens\n   * @param initialDepositThreshold The Deposit Threshold for a proposal to be active\n   * @param initialMinVotingDelay The minimum amount of blocks a proposal needs to wait before it can start\n   * @param initialVotingThreshold The minimum amount of voting power needed in order to vote\n   * @param voterRewards The address of the voter rewards contract\n   * @param isFunctionRestrictionEnabled If the function restriction is enabled\n   */\n  struct InitializationData {\n    IVOT3 vot3Token;\n    TimelockControllerUpgradeable timelock;\n    IXAllocationVotingGovernor xAllocationVoting;\n    IB3TR b3tr;\n    uint256 quorumPercentage;\n    uint256 initialDepositThreshold;\n    uint256 initialMinVotingDelay;\n    uint256 initialVotingThreshold;\n    IVoterRewards voterRewards;\n    bool isFunctionRestrictionEnabled;\n  }\n\n  /**\n   * @param governorAdmin The address of the governor admin\n   * @param pauser The address of the pauser\n   * @param contractsAddressManager The address of the contracts address manager\n   * @param proposalExecutor The address that should be set as executor and have the PROPOSAL_EXECUTOR_ROLE\n   * @param governorFunctionSettingsRoleAddress The address that should have the GOVERNOR_FUNCTIONS_SETTINGS_ROLE\n   */\n  struct InitializationRolesData {\n    address governorAdmin;\n    address pauser;\n    address contractsAddressManager;\n    address proposalExecutor;\n    address governorFunctionSettingsRoleAddress;\n  }\n\n  // Proposal vote types\n  enum VoteType {\n    Against,\n    For,\n    Abstain\n  }\n\n  // ProposalVote struct to store the votes for a proposal\n  struct ProposalVote {\n    uint256 againstVotes;\n    uint256 forVotes;\n    uint256 abstainVotes;\n    mapping(address => bool) hasVoted;\n  }\n\n  // ProposalCore struct to store the core data for a proposal\n  struct ProposalCore {\n    address proposer;\n    uint256 roundIdVoteStart;\n    uint32 voteDuration;\n    bool isExecutable;\n    bool executed;\n    bool canceled;\n    uint48 etaSeconds;\n    uint256 depositAmount;\n    uint256 depositThreshold;\n  }\n\n  // ProposalState enum to store the state of a proposal\n  enum ProposalState {\n    Pending,\n    Active,\n    Canceled,\n    Defeated,\n    Succeeded,\n    Queued,\n    Executed,\n    DepositNotMet,\n    InDevelopment,\n    Completed\n  }\n\n  /**\n   * @dev Struct containing data for v7 initialization\n   * @param grantDepositThreshold The deposit threshold percentage for grant proposals\n   * @param grantVotingThreshold The voting threshold for grant proposals\n   * @param grantQuorum The quorum percentage for grant proposals\n   */\n  struct InitializationDataV7 {\n    uint256 grantDepositThreshold;\n    uint256 grantVotingThreshold;\n    uint256 grantQuorum;\n    uint256 grantDepositThresholdCap;\n    uint256 standardDepositThresholdCap;\n    uint256 standardGMWeight;\n    uint256 grantGMWeight;\n    IGalaxyMember galaxyMember;\n    IGrantsManager grantsManager;\n  }\n\n  // ProposalType enum to distinguish between different types of proposals\n  enum ProposalType {\n    Standard,\n    Grant\n  }\n\n  // Proposal Development State\n  enum ProposalDevelopmentState {\n    PendingDevelopment,\n    InDevelopment,\n    Completed\n  }\n\n  // ------------------------------- Version 11 (Community Execution Framework) -------------------------------\n\n  /// @notice One developer payout entry registered for a proposal.\n  /// @param account The wallet that will receive the B3TR payout.\n  /// @param amount  The B3TR amount (wei) reserved for this payee.\n  struct Payee {\n    address account;\n    uint256 amount;\n  }\n}\n"},"contracts/governance/libraries/GovernorVotesLogic.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { GovernorStorageTypes } from \"./GovernorStorageTypes.sol\";\nimport { GovernorTypes } from \"./GovernorTypes.sol\";\nimport { GovernorStateLogic } from \"./GovernorStateLogic.sol\";\nimport { GovernorConfigurator } from \"./GovernorConfigurator.sol\";\nimport { GovernorProposalLogic } from \"./GovernorProposalLogic.sol\";\nimport { GovernorClockLogic } from \"./GovernorClockLogic.sol\";\nimport { Math } from \"@openzeppelin/contracts/utils/math/Math.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IVoterRewards } from \"../../interfaces/IVoterRewards.sol\";\nimport { RelayerAction } from \"../../interfaces/IRelayerRewardsPool.sol\";\n\n/// @title GovernorVotesLogic\n/// @notice Library for handling voting logic in the Governor contract.\n/// @dev Difference from V1: `proposalId` is passed as an argument to `registerVote` function instead of `proposalSnapshot`.\nlibrary GovernorVotesLogic {\n  using Checkpoints for Checkpoints.Trace208;\n\n  /// @dev Thrown when a vote has already been cast by the voter.\n  /// @param voter The address of the voter who already cast a vote.\n  error GovernorAlreadyCastVote(address voter);\n\n  /// @dev Thrown when an invalid vote type is used.\n  error GovernorInvalidVoteType();\n\n  /// @dev Thrown when the voting threshold is not met.\n  /// @param threshold The required voting threshold.\n  /// @param votes The actual votes received.\n  error GovernorVotingThresholdNotMet(uint256 threshold, uint256 votes);\n\n  /// @dev Thrown when the personhood verification fails.\n  /// @param voter The address of the voter.\n  /// @param explanation The reason for the failure.\n  error GovernorPersonhoodVerificationFailed(address voter, string explanation);\n\n  /// @notice Emitted when a vote is cast without parameters.\n  /// @param voter The address of the voter.\n  /// @param proposalId The ID of the proposal being voted on.\n  /// @param support The support value of the vote.\n  /// @param weight The weight of the vote.\n  /// @param power The voting power of the voter.\n  /// @param reason The reason for the vote.\n  event VoteCast(\n    address indexed voter,\n    uint256 indexed proposalId,\n    uint8 support,\n    uint256 weight,\n    uint256 power,\n    string reason\n  );\n\n  /// @notice Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\n  event NavigatorGovernanceVoteSkipped(address indexed citizen, address indexed navigator, uint256 indexed proposalId);\n\n  /// @notice Emitted when a navigator casts a vote on behalf of a delegated citizen\n  event NavigatorGovernanceVoteCast(\n    address indexed citizen,\n    address indexed navigator,\n    uint256 indexed proposalId,\n    uint8 support,\n    uint256 weight,\n    uint256 power\n  );\n\n  /// @dev Thrown when citizen is not delegated to any navigator\n  error NotDelegatedToNavigator(address citizen);\n\n  /// @dev Thrown when citizen is delegated to a navigator and cannot vote manually\n  error DelegatedToNavigator(address citizen);\n\n  /// @dev Thrown when navigator has not set a decision for the proposal\n  error NavigatorDecisionNotSet(address navigator, uint256 proposalId);\n\n  /// @dev The governance skip window has not been reached yet\n  error GovernanceSkipWindowNotReached(uint256 proposalId);\n\n  /// @notice Emits true if quadratic voting is disabled, false otherwise.\n  /// @param disabled - The flag to enable or disable quadratic voting.\n  event QuadraticVotingToggled(bool indexed disabled);\n\n  /** ------------------ INTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @dev Internal function to count a vote for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @param account The address of the voter.\n   * @param support The support value of the vote.\n   * @param weight The weight of the vote.\n   * @param power The voting power of the voter.\n   */\n  function _countVote(uint256 proposalId, address account, uint8 support, uint256 weight, uint256 power) private {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalVote storage proposalVote = $.proposalVotes[proposalId];\n\n    if (proposalVote.hasVoted[account]) {\n      revert GovernorAlreadyCastVote(account);\n    }\n    proposalVote.hasVoted[account] = true;\n\n    // if quadratic voting is disabled, use the weight as the vote otherwise use the power as the vote\n    uint256 vote = isQuadraticVotingDisabledForCurrentRound() ? weight : power;\n\n    if (support == uint8(GovernorTypes.VoteType.Against)) {\n      proposalVote.againstVotes += vote;\n    } else if (support == uint8(GovernorTypes.VoteType.For)) {\n      proposalVote.forVotes += vote;\n    } else if (support == uint8(GovernorTypes.VoteType.Abstain)) {\n      proposalVote.abstainVotes += vote;\n    } else {\n      revert GovernorInvalidVoteType();\n    }\n\n    $.proposalTotalVotes[proposalId] += weight;\n\n    // Save that user cast vote only the first time\n    if (!$.hasVotedOnce[account]) {\n      $.hasVotedOnce[account] = true;\n    }\n  }\n\n  /**\n   * @dev Internal function to check if the vote succeeded.\n   * @param proposalId The ID of the proposal.\n   * @return True if the vote succeeded, false otherwise.\n   */\n  function voteSucceeded(uint256 proposalId) internal view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalVote storage proposalVote = $.proposalVotes[proposalId];\n    return proposalVote.forVotes > proposalVote.againstVotes;\n  }\n\n  /** ------------------ GETTERS ------------------ **/\n\n  /**\n   * @notice Retrieves the effective voting power for an account at a given timepoint.\n   * @dev If citizen had a navigator at the snapshot and that navigator is still alive (not deactivated/exiting),\n   *      returns the delegated amount (their effective participation via navigator).\n   *      If navigator is dead, delegation is void and citizen has full VOT3 balance.\n   *      If not delegated, returns full VOT3 balance + staked B3TR (converted to VOT3) for navigators.\n   *      The staked amount is checkpointed in NavigatorRegistry and returns 0 for non-navigators.\n   * @param account The address of the account.\n   * @param timepoint The specific timepoint.\n   * @return The effective voting power at the given timepoint.\n   */\n  function getVotes(address account, uint256 timepoint) internal view returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    uint256 totalVotes = $.vot3.getPastVotes(account, timepoint);\n\n    if (address($.navigatorRegistry) == address(0)) return totalVotes;\n    // getNavigatorAtTimepoint returns address(0) if not delegated or navigator was dead\n    if ($.navigatorRegistry.getNavigatorAtTimepoint(account, timepoint) != address(0)) {\n      return $.navigatorRegistry.getDelegatedAmountAtTimepoint(account, timepoint);\n    }\n\n    // Include staked amount for navigators (B3TR converted to VOT3 under the hood)\n    // Returns 0 for non-navigators (no checkpoints)\n    totalVotes += $.navigatorRegistry.getStakedAmountAtTimepoint(account, timepoint);\n    return totalVotes;\n  }\n\n  /**\n   * @notice Retrieves the quadratic voting power of an account at a given timepoint.\n   * @param account The address of the account.\n   * @param timepoint The specific timepoint.\n   * @return The quadratic voting power of the account.\n   */\n  function getQuadraticVotingPower(address account, uint256 timepoint) external view returns (uint256) {\n    // Scale the votes by 1e9 so that the number returned is 1e18\n    return Math.sqrt(getVotes(account, timepoint)) * 1e9;\n  }\n\n  /**\n   * @notice Checks if an account has voted on a specific proposal.\n   * @param proposalId The ID of the proposal.\n   * @param account The address of the account.\n   * @return True if the account has voted, false otherwise.\n   */\n  function hasVoted(uint256 proposalId, address account) internal view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.proposalVotes[proposalId].hasVoted[account];\n  }\n\n  /**\n   * @notice Retrieves the votes for a proposal.\n   * @param proposalId The ID of the proposal.\n   * @return againstVotes The number of votes against the proposal.\n   * @return forVotes The number of votes for the proposal.\n   * @return abstainVotes The number of abstain votes.\n   */\n  function getProposalVotes(\n    uint256 proposalId\n  ) internal view returns (uint256 againstVotes, uint256 forVotes, uint256 abstainVotes) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorTypes.ProposalVote storage proposalVote = $.proposalVotes[proposalId];\n    return (proposalVote.againstVotes, proposalVote.forVotes, proposalVote.abstainVotes);\n  }\n\n  /**\n   * @notice Checks if a user has voted at least once.\n   * @param user The address of the user.\n   * @return True if the user has voted once, false otherwise.\n   */\n  function userVotedOnce(address user) internal view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    return $.hasVotedOnce[user];\n  }\n\n  /** ------------------ EXTERNAL FUNCTIONS ------------------ **/\n\n  /**\n   * @notice Casts a vote on a proposal.\n   * @param proposalId The ID of the proposal.\n   * @param voter The address of the voter.\n   * @param support The support value of the vote.\n   * @param reason The reason for the vote.\n   * @return The weight of the vote.\n   */\n  function castVote(\n    uint256 proposalId,\n    address voter,\n    uint8 support,\n    string calldata reason\n  ) external returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Active)\n    );\n\n    uint256 proposalSnapshot = GovernorProposalLogic._proposalSnapshot(proposalId);\n\n    // Citizens delegated to an alive navigator at the proposal snapshot cannot vote manually\n    if (address($.navigatorRegistry) != address(0)) {\n      if ($.navigatorRegistry.getNavigatorAtTimepoint(voter, proposalSnapshot) != address(0)) {\n        revert DelegatedToNavigator(voter);\n      }\n    }\n\n    (bool isPerson, string memory explanation) = $.veBetterPassport.isPersonAtTimepoint(\n      voter,\n      SafeCast.toUint48(proposalSnapshot)\n    );\n\n    // Check if the voter or the delegator of personhood to the voter is a person and returning error with the reason\n    if (!isPerson) {\n      revert GovernorPersonhoodVerificationFailed(voter, explanation);\n    }\n\n    uint256 weight = getVotes(voter, proposalSnapshot); // voting power including staked B3TR for navigators\n    uint256 power = Math.sqrt(weight) * 1e9;\n    GovernorTypes.ProposalType proposalType = GovernorTypes.ProposalType(\n      GovernorProposalLogic.proposalType(proposalId)\n    );\n\n    _checkVotingThreshold(weight, proposalType);\n\n    _countVote(proposalId, voter, support, weight, power);\n\n    // Apply governance intent multiplier and register vote for rewards\n    _registerVoteWithIntentMultiplier($, proposalId, voter, weight, support, proposalSnapshot);\n\n    emit VoteCast(voter, proposalId, support, weight, power, reason);\n\n    return weight;\n  }\n\n  /**\n   * @notice Cast a governance vote on behalf of a citizen delegated to a navigator,\n   *         or auto-skip if the navigator is dead / has not set a decision (after skip window).\n   *\n   * Decision flow:\n   *   1. Navigator dead at snapshot → revert (citizen not delegated)\n   *   2. Navigator dead NOW → skip immediately, reduce governance vote expectation\n   *   3. Navigator alive + no decision + skip window NOT reached → revert (relayer retries later)\n   *   4. Navigator alive + no decision + skip window reached → skip\n   *   5. Navigator alive + decision set + citizen not a person → skip\n   *   6. Navigator alive + decision set + citizen is a person → vote normally\n   */\n  function castNavigatorVote(uint256 proposalId, address citizen) external returns (uint256) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    GovernorStateLogic.validateStateBitmap(\n      proposalId,\n      GovernorStateLogic.encodeStateBitmap(GovernorTypes.ProposalState.Active)\n    );\n\n    uint256 proposalSnapshot = GovernorProposalLogic._proposalSnapshot(proposalId);\n    address navigator = $.navigatorRegistry.getNavigatorAtTimepoint(citizen, proposalSnapshot);\n    if (navigator == address(0)) revert NotDelegatedToNavigator(citizen);\n\n    uint256 roundId = $.proposals[proposalId].roundIdVoteStart;\n\n    // Dead navigator → skip immediately (navigator can't act, personhood irrelevant)\n    if ($.navigatorRegistry.isDeactivated(navigator)) {\n      if (address($.relayerRewardsPool) != address(0)) {\n        $.relayerRewardsPool.reduceUserGovernanceVote(roundId, citizen, proposalId);\n      }\n      emit NavigatorGovernanceVoteSkipped(citizen, navigator, proposalId);\n      return 0;\n    }\n\n    // Navigator alive — check decision\n    if (!$.navigatorRegistry.hasSetDecision(navigator, proposalId)) {\n      // No decision set — skip only after window (navigator failed to act, personhood irrelevant)\n      uint256 deadline = GovernorProposalLogic._proposalDeadline(proposalId);\n      if (block.number + GovernorConfigurator.governanceSkipWindowBlocks() < deadline) {\n        revert GovernanceSkipWindowNotReached(proposalId);\n      }\n      if (address($.relayerRewardsPool) != address(0)) {\n        $.relayerRewardsPool.reduceUserGovernanceVote(roundId, citizen, proposalId);\n      }\n      emit NavigatorGovernanceVoteSkipped(citizen, navigator, proposalId);\n      return 0;\n    }\n\n    // Decision set — check personhood before casting the actual vote\n    (bool isPerson, ) = $.veBetterPassport.isPersonAtTimepoint(citizen, SafeCast.toUint48(proposalSnapshot));\n    if (!isPerson) {\n      if (address($.relayerRewardsPool) != address(0)) {\n        $.relayerRewardsPool.reduceUserGovernanceVote(roundId, citizen, proposalId);\n      }\n      emit NavigatorGovernanceVoteSkipped(citizen, navigator, proposalId);\n      return 0;\n    }\n\n    // Decision is offset by 1 in NavigatorRegistry: 1=Against, 2=For, 3=Abstain\n    // B3TRGovernor uses: 0=Against, 1=For, 2=Abstain\n    uint8 decision = $.navigatorRegistry.getProposalDecision(navigator, proposalId);\n    uint8 support = decision - 1;\n\n    uint256 weight = $.navigatorRegistry.getDelegatedAmountAtTimepoint(citizen, proposalSnapshot);\n    uint256 power = Math.sqrt(weight) * 1e9;\n    GovernorTypes.ProposalType proposalType = GovernorTypes.ProposalType(\n      GovernorProposalLogic.proposalType(proposalId)\n    );\n\n    _checkVotingThreshold(weight, proposalType);\n    _countVote(proposalId, citizen, support, weight, power);\n\n    _registerVoteWithIntentMultiplier($, proposalId, citizen, weight, support, proposalSnapshot);\n    _registerRelayerActionForNavigatorVote($, proposalId, citizen);\n\n    emit NavigatorGovernanceVoteCast(citizen, navigator, proposalId, support, weight, power);\n    emit VoteCast(citizen, proposalId, support, weight, power, \"\");\n\n    return weight;\n  }\n\n  /**\n   * @notice Checks if the voting threshold is met.\n   * @param weight - The weight of the vote.\n   * @param proposalType - The type of proposal.\n   */\n  function _checkVotingThreshold(uint256 weight, GovernorTypes.ProposalType proposalType) private view {\n    uint256 threshold = GovernorConfigurator.getVotingThreshold(proposalType);\n    if (weight < threshold) {\n      revert GovernorVotingThresholdNotMet(threshold, weight);\n    }\n  }\n\n  /**\n   * @notice Toggle quadratic voting for a specific cycle.\n   * @dev This function toggles the state of quadratic voting for a specific cycle.\n   * The state will flip between enabled and disabled each time the function is called.\n   */\n  function toggleQuadraticVoting() external {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    bool isQuadraticDisabled = $.quadraticVotingDisabled.upperLookupRecent(GovernorClockLogic.clock()) == 1; // 0: enabled, 1: disabled\n\n    // If quadratic voting is disabled, set the new status to enabled, otherwise set it to disabled.\n    uint208 newStatus = isQuadraticDisabled ? 0 : 1;\n\n    // Toggle the status -> 0: enabled, 1: disabled\n    $.quadraticVotingDisabled.push(GovernorClockLogic.clock(), newStatus);\n\n    // Emit an event to log the new quadratic voting status.\n    emit QuadraticVotingToggled(!isQuadraticDisabled);\n  }\n\n  /**\n   * @notice Check if quadratic voting is disabled at a specific round.\n   * @dev To check if quadratic voting was disabled for a round, use the block number the round started.\n   * @param roundId - The round ID for which to check if quadratic voting is disabled.\n   * @return true if quadratic voting is disabled, false otherwise.\n   */\n  function isQuadraticVotingDisabledForRound(uint256 roundId) external view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    // Get the block number the round started.\n    uint48 blockNumber = SafeCast.toUint48($.xAllocationVoting.roundSnapshot(roundId));\n\n    // Check if quadratic voting is enabled or disabled at the block number.\n    return $.quadraticVotingDisabled.upperLookupRecent(blockNumber) == 1; // 0: enabled, 1: disabled\n  }\n\n  /**\n   * @notice Check if quadratic voting is disabled for the current round.\n   * @return true if quadratic voting is disabled, false otherwise.\n   */\n  function isQuadraticVotingDisabledForCurrentRound() public view returns (bool) {\n    GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    // Get the block number the emission round started.\n    uint256 roundStartBlock = $.xAllocationVoting.currentRoundSnapshot();\n\n    // Check if quadratic voting is enabled or disabled for the current round.\n    return $.quadraticVotingDisabled.upperLookupRecent(SafeCast.toUint48(roundStartBlock)) == 1; // 0: enabled, 1: disabled\n  }\n\n  /// @dev Register a vote with governance intent multiplier applied to reward weight\n  /// @param $ The governor storage\n  /// @param proposalId The proposal ID\n  /// @param voter The voter address\n  /// @param weight The raw voting weight (unmultiplied)\n  /// @param support The vote support value (0=Against, 1=For, 2=Abstain)\n  /// @param proposalSnapshot The proposal snapshot timepoint for multiplier lookup\n  function _registerVoteWithIntentMultiplier(\n    GovernorStorageTypes.GovernorStorage storage $,\n    uint256 proposalId,\n    address voter,\n    uint256 weight,\n    uint8 support,\n    uint256 proposalSnapshot\n  ) private {\n    // Get intent multiplier based on vote support type\n    // support: 0 = Against, 1 = For, 2 = Abstain\n    (uint256 forAgainstMultiplier, uint256 abstainMultiplier) = IVoterRewards(address($.voterRewards))\n      .getIntentMultipliers(proposalSnapshot);\n    uint256 intentMultiplier = (support == 2) ? abstainMultiplier : forAgainstMultiplier;\n    uint256 rewardWeight = (weight * intentMultiplier) / 10000;\n\n    $.voterRewards.registerVote(proposalId, voter, rewardWeight, Math.sqrt(rewardWeight));\n  }\n\n  function _registerRelayerActionForNavigatorVote(\n    GovernorStorageTypes.GovernorStorage storage $,\n    uint256 proposalId,\n    address citizen\n  ) private {\n    if (address($.relayerRewardsPool) == address(0)) return;\n    $.relayerRewardsPool.registerRelayerAction(\n      msg.sender,\n      citizen,\n      $.proposals[proposalId].roundIdVoteStart,\n      RelayerAction.VOTE\n    );\n  }\n}\n"},"contracts/GrantsManager.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { IB3TRGovernor } from \"./interfaces/IB3TRGovernor.sol\";\nimport { ITreasury } from \"./interfaces/ITreasury.sol\";\nimport { IB3TR } from \"./interfaces/IB3TR.sol\";\nimport { IGrantsManager } from \"./interfaces/IGrantsManager.sol\";\nimport { AccessControlUpgradeable } from \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport { PausableUpgradeable } from \"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\";\nimport { ReentrancyGuardUpgradeable } from \"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\";\nimport { UUPSUpgradeable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { GovernorStateLogic } from \"./governance/libraries/GovernorStateLogic.sol\";\nimport { GovernorProposalLogic } from \"./governance/libraries/GovernorProposalLogic.sol\";\nimport { GovernorTypes } from \"./governance/libraries/GovernorTypes.sol\";\n/**\n * @title GrantsManager\n * @notice Contract that manages grant funds milestone validation and claiming\n */\ncontract GrantsManager is\n  IGrantsManager,\n  AccessControlUpgradeable,\n  PausableUpgradeable,\n  ReentrancyGuardUpgradeable,\n  UUPSUpgradeable\n{\n  // ------------------ ROLES ------------------ //\n  bytes32 public constant GOVERNANCE_ROLE = keccak256(\"GOVERNANCE_ROLE\");\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  bytes32 public constant GRANTS_APPROVER_ROLE = keccak256(\"GRANTS_APPROVER_ROLE\");\n  bytes32 public constant GRANTS_REJECTOR_ROLE = keccak256(\"GRANTS_REJECTOR_ROLE\");\n  bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n\n  // ------------------ STORAGE MANAGEMENT ------------------ //\n  /// @notice Storage structure for GrantsManager\n  /// @custom:storage-location erc7201:b3tr.storage.GrantsManager\n  struct GrantsManagerStorage {\n    mapping(uint256 proposalId => GrantProposal grantProposal) grant;\n    IB3TRGovernor governor;\n    ITreasury treasury;\n    IB3TR b3tr;\n    uint256 minimumMilestoneCount;\n  }\n\n  // keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GrantsManager\")) - 1)) & ~bytes32(uint256(0xff))\n  bytes32 private constant GrantsManagerStorageLocation =\n    0x827ef7a586340a0afd9df4d10dcd47e35ee20572dbc95830311fcb8284606d00;\n\n  function _getGrantsManagerStorage() private pure returns (GrantsManagerStorage storage $) {\n    assembly {\n      $.slot := GrantsManagerStorageLocation\n    }\n  }\n\n  // ------------------ INITIALIZATION ------------------ //\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  function initialize(\n    address _governor,\n    address _treasury,\n    address defaultAdmin,\n    address _b3tr,\n    uint256 _minimumMilestoneCount\n  ) external initializer {\n    require(_governor != address(0), \"Governor address cannot be 0\");\n    require(_treasury != address(0), \"Treasury address cannot be 0\");\n    require(_b3tr != address(0), \"B3TR address cannot be 0\");\n    require(defaultAdmin != address(0), \"Default admin address cannot be 0\");\n    require(_minimumMilestoneCount > 0, \"Minimum milestone count cannot be 0\");\n\n    __UUPSUpgradeable_init();\n    __AccessControl_init();\n    __Pausable_init();\n    __ReentrancyGuard_init();\n\n    _grantRole(DEFAULT_ADMIN_ROLE, defaultAdmin);\n    _grantRole(GOVERNANCE_ROLE, _governor);\n\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.governor = IB3TRGovernor(_governor);\n    $.treasury = ITreasury(_treasury);\n    $.b3tr = IB3TR(_b3tr);\n    $.minimumMilestoneCount = _minimumMilestoneCount;\n  }\n\n  // ------------------ MODIFIERS ------------------ //\n  modifier onlyAdminOrGovernanceRole() {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    if (!(hasRole(DEFAULT_ADMIN_ROLE, _msgSender()) || hasRole(GOVERNANCE_ROLE, _msgSender()))) {\n      revert NotAuthorized();\n    }\n    _;\n  }\n\n  modifier onlyRoleOrGovernance(bytes32 role) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    if (!(hasRole(role, _msgSender()) || hasRole(GOVERNANCE_ROLE, _msgSender()))) {\n      revert NotAuthorized();\n    }\n    _;\n  }\n\n  modifier onlyGovernor() {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    if (!(hasRole(GOVERNANCE_ROLE, _msgSender()))) {\n      revert NotAuthorized();\n    }\n    _;\n  }\n  modifier onlyGrantsReceiverOrGovernance(uint256 proposalId) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    if (!(hasRole(GOVERNANCE_ROLE, _msgSender()) || _msgSender() == $.grant[proposalId].grantsReceiver)) {\n      revert NotAuthorized();\n    }\n    _;\n  }\n\n  // ------------------ Grants Manager Milestone Functions ------------------ //\n  /**\n   * @dev Internal function to create milestones for a proposal.\n   * @param metadataURI The IPFS hash containing the milestones descriptions\n   * @param proposalId The ID of the proposal\n   * @param proposer The address of the proposer\n   * @param calldatas The calldatas of the milestones\n   */\n  function createMilestones(\n    string memory metadataURI,\n    uint256 proposalId,\n    address proposer,\n    address grantsReceiver,\n    bytes[] memory calldatas\n  ) external onlyGovernor whenNotPaused {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    GrantProposal storage m = $.grant[proposalId];\n    uint256 totalAmount = 0;\n\n    for (uint256 i = 0; i < calldatas.length; i++) {\n      bytes memory data = calldatas[i];\n\n      // Extract selector for safety check\n      bytes4 selector;\n      assembly {\n        selector := mload(add(data, 32))\n      }\n      if (selector != bytes4(keccak256(\"transferB3TR(address,uint256)\"))) {\n        revert InvalidFunctionSelector(selector);\n      }\n      bytes memory slicedData = new bytes(data.length - 4);\n      for (uint256 j = 0; j < slicedData.length; j++) {\n        slicedData[j] = data[j + 4];\n      }\n\n      // Decode arguments\n      (address recipient, uint256 amount) = abi.decode(slicedData, (address, uint256));\n\n      if (recipient != address(this)) {\n        revert InvalidTarget(recipient);\n      }\n      if (amount == 0) {\n        revert InvalidAmount();\n      }\n\n      totalAmount += amount;\n      $.grant[proposalId].milestones.push(\n        Milestone({ amount: amount, isClaimed: false, isApproved: false, isRejected: false, reason: \"\" })\n      );\n    }\n\n    m.id = proposalId;\n    m.proposer = proposer;\n    m.metadataURI = metadataURI;\n    m.totalAmount = totalAmount;\n    m.claimedAmount = 0; // 0 because the milestone is not claimed yet\n    m.grantsReceiver = grantsReceiver;\n\n    _validateMilestones(m);\n    emit MilestonesCreated(proposalId, proposer, grantsReceiver, totalAmount, metadataURI);\n  }\n\n  /**\n   * @notice Returns a milestone for a proposal.\n   * @param proposalId The id of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return Milestone The milestone\n   */\n  function getMilestone(uint256 proposalId, uint256 milestoneIndex) external view returns (Milestone memory) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    return $.grant[proposalId].milestones[milestoneIndex];\n  }\n\n  // ------------------ Milestone State Functions ------------------ //\n\n  /**\n   * @notice Returns if a proposal is rejected\n   * @param proposalId The id of the proposal\n   * @return bool True if the proposal is rejected, false otherwise\n   * @dev A grant is rejected when at least one milestone is rejected\n   */\n  function isGrantRejected(uint256 proposalId) public view returns (bool) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GrantProposal memory grant = $.grant[proposalId];\n    for (uint256 i = 0; i < grant.milestones.length; i++) {\n      if (grant.milestones[i].isRejected) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  /**\n   * @notice Returns if a proposal is in development\n   * @param proposalId The id of the proposal\n   * @return bool True if the proposal is in development, false otherwise\n   * @dev A grant is in development when:\n   * 1. The proposal has been executed AND\n   * 2. At least one milestone is still pending\n   */\n  function isGrantInDevelopment(uint256 proposalId) public view returns (bool) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GrantProposal memory grant = $.grant[proposalId];\n    GovernorTypes.ProposalState proposalState = $.governor.state(proposalId);\n    \n    // If proposal is not in a valid state, it's not in development\n    if (\n      proposalState != GovernorTypes.ProposalState.Executed &&\n      proposalState != GovernorTypes.ProposalState.InDevelopment &&\n      proposalState != GovernorTypes.ProposalState.Completed\n    ) {\n      return false;\n    }\n\n    for (uint256 i = 0; i < grant.milestones.length; i++) {\n      MilestoneState _milestoneState = _getMilestoneState(proposalId, i);\n      if (_milestoneState == MilestoneState.Pending) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  /**\n   * @notice Returns if a proposal is completed\n   * @param proposalId The id of the proposal\n   * @return bool True if the proposal is completed, false otherwise\n   * @dev Ascending order status of the milestones, so last one is the one that determines the status of the grant\n   */\n  function isGrantCompleted(uint256 proposalId) public view returns (bool) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GrantProposal memory grant = $.grant[proposalId];\n    GovernorTypes.ProposalState proposalState = $.governor.state(proposalId);\n\n    // If proposal is not in a valid state, it's not completed\n    if (\n      proposalState != GovernorTypes.ProposalState.Executed &&\n      proposalState != GovernorTypes.ProposalState.InDevelopment &&\n      proposalState != GovernorTypes.ProposalState.Completed\n    ) {\n      return false;\n    }\n\n    // If last milestone is pending or rejected, the grant is not completed\n    MilestoneState lastState = _getMilestoneState(proposalId, grant.milestones.length - 1);\n    if (lastState == MilestoneState.Pending || lastState == MilestoneState.Rejected) {\n      return false;\n    }\n\n    return true;\n  }\n\n  /**\n   * @notice Returns the state of a milestone\n   * @param proposalId The id of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return status The state of the milestone {see IGrantsManager:MilestoneState }\n   */\n  function _getMilestoneState(\n    uint256 proposalId,\n    uint256 milestoneIndex\n  ) internal view returns (MilestoneState status) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GrantProposal memory grant = $.grant[proposalId];\n    Milestone memory milestone = grant.milestones[milestoneIndex];\n\n    if (milestone.isRejected) {\n      return MilestoneState.Rejected;\n    }\n\n    if (milestone.isClaimed) {\n      return MilestoneState.Claimed;\n    }\n\n    if (milestone.isApproved) {\n      return MilestoneState.Approved;\n    }\n\n    return MilestoneState.Pending;\n  }\n\n  /**\n   * @notice Returns the milestones for a proposal.\n   * @param proposalId The id of the proposal\n   * @return GrantProposal The milestones for the proposal\n   */\n  function getMilestones(uint256 proposalId) external view returns (Milestone[] memory) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[proposalId].milestones;\n  }\n\n  /**\n   * @notice Returns the grant proposal for a proposal.\n   * @param proposalId The id of the proposal\n   * @return GrantProposal The grant proposal for the proposal\n   */\n  function getGrantProposal(uint256 proposalId) external view returns (GrantProposal memory) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[proposalId];\n  }\n\n  /**\n   * @notice Approves a milestone\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  function approveMilestones(\n    uint256 proposalId,\n    uint256 milestoneIndex\n  ) external onlyRoleOrGovernance(GRANTS_APPROVER_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    _checkProposalState(proposalId);\n    _checkMilestoneState(proposalId, milestoneIndex);\n\n    // The previous milestone should be approved or claimed\n    if (milestoneIndex > 0) {\n      MilestoneState previousState = _getMilestoneState(proposalId, milestoneIndex - 1);\n      if (previousState != MilestoneState.Approved && previousState != MilestoneState.Claimed) {\n        revert PreviousMilestoneNotApproved(proposalId, milestoneIndex - 1);\n      }\n    }\n\n    $.grant[proposalId].milestones[milestoneIndex].isApproved = true;\n    emit MilestoneValidated(proposalId, milestoneIndex);\n  }\n\n  /**\n   * @notice Approves a milestone with a reason\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @param reason The reason for approving the milestone\n   */\n  function approveMilestoneWithReason(\n    uint256 proposalId,\n    uint256 milestoneIndex,\n    string memory reason\n  ) external onlyRoleOrGovernance(GRANTS_APPROVER_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    _checkProposalState(proposalId);\n    _checkMilestoneState(proposalId, milestoneIndex);\n\n    // The previous milestone should be approved or claimed\n    if (milestoneIndex > 0) {\n      MilestoneState previousState = _getMilestoneState(proposalId, milestoneIndex - 1);\n      if (previousState != MilestoneState.Approved && previousState != MilestoneState.Claimed) {\n        revert PreviousMilestoneNotApproved(proposalId, milestoneIndex - 1);\n      }\n    }\n\n    $.grant[proposalId].milestones[milestoneIndex].isApproved = true;\n    $.grant[proposalId].milestones[milestoneIndex].reason = reason;\n    emit MilestoneValidated(proposalId, milestoneIndex);\n  }\n\n  /**\n   * @notice Sets the minimum number of milestones for a grant proposal\n   * @param minimumMilestoneCount The minimum milestone count\n   */\n  function setMinimumMilestoneCount(uint256 minimumMilestoneCount) external onlyRole(DEFAULT_ADMIN_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.minimumMilestoneCount = minimumMilestoneCount;\n  }\n\n  /**\n   * @notice Returns the minimum milestone count for a proposal.\n   * @return uint256 The minimum milestone count.\n   */\n  function getMinimumMilestoneCount() external view returns (uint256) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.minimumMilestoneCount;\n  }\n\n  /**\n   * @notice Returns the state of a milestone\n   * @param proposalId The id of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return MilestoneState The state of the milestone\n   */\n  function milestoneState(uint256 proposalId, uint256 milestoneIndex) external view returns (MilestoneState) {\n    return _getMilestoneState(proposalId, milestoneIndex);\n  }\n\n  /**\n   * @notice Rejects a milestone\n   * @param proposalId The ID of the proposal\n   */\n  function rejectMilestones(uint256 proposalId) external onlyRoleOrGovernance(GRANTS_REJECTOR_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    Milestone[] memory milestones = $.grant[proposalId].milestones;\n\n    if (isGrantCompleted(proposalId)) {\n      revert GrantAlreadyCompleted(proposalId);\n    }\n    if (isGrantRejected(proposalId)) {\n      revert GrantAlreadyRejected(proposalId);\n    }\n\n    // Reject all pending milestones\n    for (uint256 i = 0; i < milestones.length; i++) {\n      if (_getMilestoneState(proposalId, i) == MilestoneState.Pending) {\n        // reject the milestone\n        $.grant[proposalId].milestones[i].isRejected = true;\n      }\n    }\n\n    // Transfer the remaining amount to the treasury\n    _transferRemainingAmountToTreasury(proposalId);\n    emit GrantCanceled(proposalId);\n  }\n\n  /**\n   * @notice Returns the total amount for milestones\n   * @param milestoneId The ID of the milestone\n   * @return The total amount for the milestones\n   */\n  function getTotalAmountForMilestones(uint256 milestoneId) external view returns (uint256) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[milestoneId].totalAmount;\n  }\n\n  // ------------------ Grants Manager Funds Functions ------------------ //\n  /**\n   * @notice Claims funds for a validated milestone\n   * @param proposalId The ID of the grant proposal\n   * @param milestoneIndex The index of the milestone to claim\n   */\n  function claimMilestone(uint256 proposalId, uint256 milestoneIndex) external nonReentrant whenNotPaused {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    GrantProposal storage m = $.grant[proposalId];\n    if (milestoneIndex >= m.milestones.length) {\n      revert InvalidMilestoneIndex(proposalId, milestoneIndex);\n    }\n\n    address grantsReceiver = m.grantsReceiver;\n    if (msg.sender != grantsReceiver) {\n      revert CallerIsNotTheGrantReceiver(msg.sender, grantsReceiver);\n    }\n\n    // check that the milestone is validated or not already claimed\n    Milestone memory milestone = m.milestones[milestoneIndex];\n    // get the state of the milestone\n    MilestoneState _milestoneState = _getMilestoneState(proposalId, milestoneIndex);\n    if (_milestoneState != MilestoneState.Approved && _milestoneState != MilestoneState.Claimed) {\n      revert MilestoneNotApprovedByAdmin(proposalId, milestoneIndex);\n    }\n\n    // check that the milestone is not already  if (GovernorStateLogic.state($.governor, proposalId) == GovernorTypes.ProposalState.Canceled) {\n    if (_milestoneState == MilestoneState.Claimed) {\n      revert MilestoneAlreadyClaimed(proposalId, milestoneIndex);\n    }\n\n    // Check if contract has enough B3TR balance\n    if ($.b3tr.balanceOf(address(this)) < milestone.amount) {\n      revert InsufficientFunds($.b3tr.balanceOf(address(this)), milestone.amount);\n    }\n\n    // Transfer B3TR tokens to grants receiver\n    bool success = $.b3tr.transfer(grantsReceiver, milestone.amount);\n    if (!success) {\n      revert TransferFailed();\n    }\n\n    // Update the claimed amount of the proposal\n    m.milestones[milestoneIndex].isClaimed = true;\n    m.claimedAmount += milestone.amount;\n    emit MilestoneClaimed(proposalId, milestoneIndex, milestone.amount);\n  }\n\n  /**\n   * @notice Returns if a milestone is claimable\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return bool True if the milestone is claimable, false otherwise\n   */\n  function isClaimable(uint256 proposalId, uint256 milestoneIndex) external view returns (bool) {\n    return _getMilestoneState(proposalId, milestoneIndex) == MilestoneState.Approved;\n  }\n\n  /**\n   * @notice Returns the state of a grant {see IGrantsManager:GrantState }\n   * @param proposalId The id of the proposal\n   * @return GrantState The state of the grant\n   */\n  function grantState(uint256 proposalId) external view returns (GrantState) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GovernorTypes.ProposalState proposalState = $.governor.state(proposalId);\n\n    if (isGrantRejected(proposalId)) {\n      return GrantState.Canceled;\n    }\n\n    if (isGrantInDevelopment(proposalId)) {\n      return GrantState.InDevelopment;\n    }\n\n    if (isGrantCompleted(proposalId)) {\n      return GrantState.Completed;\n    }\n\n    return GrantState(uint256(proposalState));\n  }\n\n  // ------------------ Grants Manager Contract Functions ------------------ //\n  /**\n   * @notice Sets the governor contract\n   * @param _governor The address of the governor contract\n   */\n  function setGovernorContract(address _governor) external onlyRole(DEFAULT_ADMIN_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.governor = IB3TRGovernor(_governor);\n  }\n\n  /**\n   * @notice Returns the governor contract\n   * @return The address of the governor contract\n   */\n  function getGovernorContract() external view returns (address) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return address($.governor);\n  }\n\n  /**\n   * @notice Updates the grants receiver address\n   * @param proposalId The ID of the proposal\n   * @param newGrantsReceiver The address of the grants receiver contract\n   * @dev Only the grants receiver or governance can update the grants receiver address\n   */\n  function updateGrantsReceiver(\n    uint256 proposalId,\n    address newGrantsReceiver\n  ) external onlyGrantsReceiverOrGovernance(proposalId) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.grant[proposalId].grantsReceiver = newGrantsReceiver;\n    emit GrantsReceiverUpdated(proposalId, newGrantsReceiver);\n  }\n\n  /**\n   * @notice Returns the grants receiver address\n   * @param proposalId The ID of the proposal\n   * @return The address of the grants receiver\n   */\n  function getGrantsReceiverAddress(uint256 proposalId) external view returns (address) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[proposalId].grantsReceiver;\n  }\n\n  /**\n   * @notice Sets the treasury contract\n   * @param _treasury The address of the treasury contract\n   */\n  function setTreasuryContract(address _treasury) external onlyRole(DEFAULT_ADMIN_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.treasury = ITreasury(_treasury);\n  }\n\n  /**\n   * @notice Returns the treasury contract\n   * @return The address of the treasury contract\n   */\n  function getTreasuryContract() external view returns (address) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return address($.treasury);\n  }\n\n  /**\n   * @notice Returns the b3tr contract\n   * @return The address of the b3tr contract\n   */\n  function getB3trContract() external view returns (address) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return address($.b3tr);\n  }\n\n  /**\n   * @notice Sets the b3tr contract\n   * @param _b3tr The address of the b3tr contract\n   */\n  function setB3trContract(address _b3tr) external onlyRole(DEFAULT_ADMIN_ROLE) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    $.b3tr = IB3TR(_b3tr);\n  }\n\n  /**\n   * @notice Pauses all token transfers and minting functions\n   * @dev Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE\n   */\n  function pause() public onlyRoleOrGovernance(PAUSER_ROLE) {\n    _pause();\n  }\n\n  /**\n   * @notice Unpauses the contract to resume token transfers and minting\n   * @dev Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE\n   */\n  function unpause() public onlyRoleOrGovernance(PAUSER_ROLE) {\n    _unpause();\n  }\n\n  // ------------------ Metadata Functions ------------------ //\n\n  /**\n   * @notice Updates the metadata URI for a milestone\n   * @param proposalId The ID of the proposal\n   * @param newMilestoneMetadataURI The new IPFS hash containing the updated milestone descriptions\n   * @notice The JSON is {milestone1: {details: ..., duration: timestamp}, milestone2: {details: ..., duration: timestamp}}\n   * @dev In production the grants approver wallet acts as the proposer for nearly every grant, so\n   *      the receiving app cannot persist expenditure reports unless the receiver and the approver\n   *      role are also allow-listed. Governance retains override capability.\n   */\n  function updateMilestoneMetadataURI(uint256 proposalId, string memory newMilestoneMetadataURI) external {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GrantProposal storage grant = $.grant[proposalId];\n    if (\n      msg.sender != grant.proposer &&\n      msg.sender != grant.grantsReceiver &&\n      !hasRole(GRANTS_APPROVER_ROLE, msg.sender) &&\n      !hasRole(GOVERNANCE_ROLE, msg.sender)\n    ) {\n      revert NotAuthorized();\n    }\n    grant.metadataURI = newMilestoneMetadataURI;\n\n    emit MilestoneMetadataURIUpdated(proposalId, newMilestoneMetadataURI);\n  }\n\n  /**\n   * @notice Returns the metadata URI for a milestone\n   * @param proposalId The ID of the proposal\n   * @return The metadata URI for the milestone\n   */\n  function getMilestoneMetadataURI(uint256 proposalId) external view returns (string memory) {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    return $.grant[proposalId].metadataURI;\n  }\n\n  /**\n   * @notice Validates the milestones\n   * @param grant The milestones to validate\n   */\n  function _validateMilestones(GrantProposal memory grant) internal view {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n\n    if (msg.sender != address($.governor)) {\n      revert NotAuthorized();\n    }\n\n    // Check the proposer\n    if (grant.proposer == address(0)) {\n      revert MilestoneProposerZeroAddress();\n    }\n\n    // Check the milestones details metadata URI\n    if (bytes(grant.metadataURI).length == 0) {\n      revert MilestoneDetailsMetadataURIEmpty();\n    }\n\n    // Check the milestones amounts\n    for (uint256 i = 0; i < grant.milestones.length; i++) {\n      if (grant.milestones[i].amount == 0) {\n        revert MilestoneAmountZero(i);\n      }\n    }\n\n    if (grant.totalAmount == 0) {\n      revert MilestoneTotalAmountZero();\n    }\n\n    if (grant.claimedAmount > grant.totalAmount) {\n      revert MilestoneClaimedAmountExceedsTotalAmount(grant.claimedAmount, grant.totalAmount);\n    }\n\n    // Check the minimum milestone count\n    if (grant.milestones.length < $.minimumMilestoneCount) {\n      revert InvalidNumberOfMilestones(grant.milestones.length, $.minimumMilestoneCount);\n    }\n  }\n\n  /**\n   * @notice Transfers the remaining amount to the treasury\n   * @param proposalId The ID of the proposal\n   */\n  function _transferRemainingAmountToTreasury(uint256 proposalId) internal {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    uint256 remainingAmount = $.grant[proposalId].totalAmount - $.grant[proposalId].claimedAmount;\n    if (remainingAmount > 0) {\n      // Make sure we have the balance before trying to transfer\n      uint256 currentBalance = $.b3tr.balanceOf(address(this));\n      if (currentBalance < remainingAmount) {\n        revert InsufficientFunds(currentBalance, remainingAmount);\n      }\n\n      $.b3tr.transfer(address($.treasury), remainingAmount);\n    }\n    emit MilestoneRejectedAndFundsReturnedToTreasury(proposalId, remainingAmount);\n  }\n\n  /**\n   * @notice Checks if the proposal state is executed\n   * @param proposalId The ID of the proposal\n   */\n  function _checkProposalState(uint256 proposalId) internal view {\n    GrantsManagerStorage storage $ = _getGrantsManagerStorage();\n    GovernorTypes.ProposalState proposalState = $.governor.state(proposalId);\n    if (proposalState != GovernorTypes.ProposalState.Executed) {\n      revert ProposalNotExecuted(proposalId);\n    }\n  }\n\n  /**\n   * @notice Checks if the milestone state is pending\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  function _checkMilestoneState(uint256 proposalId, uint256 milestoneIndex) internal view {\n    MilestoneState _milestoneState = _getMilestoneState(proposalId, milestoneIndex);\n    if (_milestoneState != MilestoneState.Pending) {\n      revert MilestoneStateNotPending(_milestoneState);\n    }\n  }\n\n  /**\n   * @notice Returns the version of the contract\n   * @return The version of the contract\n   */\n  function version() external pure returns (uint256) {\n    return 3;\n  }\n\n  // ------------------ Overrides ------------------ //\n  /**\n   * @notice Authorize upgrade for UUPS\n   * @dev Only addresses with the UPGRADER_ROLE can upgrade the contract\n   */\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n}\n"},"contracts/interfaces/IB3TR.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\ninterface IB3TR {\n  error AccessControlBadConfirmation();\n\n  error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n  error ERC20ExceededCap(uint256 increasedSupply, uint256 cap);\n\n  error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n  error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n  error ERC20InvalidApprover(address approver);\n\n  error ERC20InvalidCap(uint256 cap);\n\n  error ERC20InvalidReceiver(address receiver);\n\n  error ERC20InvalidSender(address sender);\n\n  error ERC20InvalidSpender(address spender);\n\n  error EnforcedPause();\n\n  error ExpectedPause();\n\n  event Approval(address indexed owner, address indexed spender, uint256 value);\n\n  event Paused(address account);\n\n  event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n  event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n  event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n  event Transfer(address indexed from, address indexed to, uint256 value);\n\n  event Unpaused(address account);\n\n  function DEFAULT_ADMIN_ROLE() external view returns (bytes32);\n\n  function MINTER_ROLE() external view returns (bytes32);\n\n  function allowance(address owner, address spender) external view returns (uint256);\n\n  function approve(address spender, uint256 value) external returns (bool);\n\n  function balanceOf(address account) external view returns (uint256);\n\n  function cap() external view returns (uint256);\n\n  function decimals() external view returns (uint8);\n\n  function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n  function grantRole(bytes32 role, address account) external;\n\n  function hasRole(bytes32 role, address account) external view returns (bool);\n\n  function mint(address to, uint256 amount) external;\n\n  function name() external view returns (string memory);\n\n  function pause() external;\n\n  function paused() external view returns (bool);\n\n  function renounceRole(bytes32 role, address callerConfirmation) external;\n\n  function revokeRole(bytes32 role, address account) external;\n\n  function supportsInterface(bytes4 interfaceId) external view returns (bool);\n\n  function symbol() external view returns (string memory);\n\n  function tokenDetails() external view returns (string memory, string memory, uint8, uint256, uint256);\n\n  function totalSupply() external view returns (uint256);\n\n  function transfer(address to, uint256 value) external returns (bool);\n\n  function transferFrom(address from, address to, uint256 value) external returns (bool);\n\n  function unpause() external;\n}\n"},"contracts/interfaces/IB3TRGovernor.sol":{"content":"// SPDX-License-Identifier: MIT\n// Forked from OpenZeppelin Contracts (last updated v5.0.0) (governance/IGovernor.sol)\n\npragma solidity 0.8.20;\n\nimport { IERC165 } from \"@openzeppelin/contracts/interfaces/IERC165.sol\";\nimport { IERC6372 } from \"@openzeppelin/contracts/interfaces/IERC6372.sol\";\nimport { IB3TR } from \"./IB3TR.sol\";\nimport { IVoterRewards } from \"../interfaces/IVoterRewards.sol\";\nimport { IXAllocationVotingGovernor } from \"../interfaces/IXAllocationVotingGovernor.sol\";\nimport { GovernorTypes } from \"../governance/libraries/GovernorTypes.sol\";\nimport { IVeBetterPassport } from \"./IVeBetterPassport.sol\";\nimport { IGalaxyMember } from \"./IGalaxyMember.sol\";\nimport { IGrantsManager } from \"./IGrantsManager.sol\";\nimport { IRelayerRewardsPool } from \"./IRelayerRewardsPool.sol\";\n\n/**\n * @dev Interface of the {B3TRGovernor} core.\n *\n * Modifications to original forked contract from OZ:\n * - Removed votingDelay()\n * - Removed the possibility to cast vote with params and with signature\n * - Updated propose() and ProposalCreated event to accept the x allocation round id as param when proposal should become active\n * - Added proposalStartRound() to get the round when the proposal should become active\n * - Added canProposalStartInNextRound() to check if the proposal can start in the next allocation round\n * - Added new state `DepositNotMet` to ProposalState enum\n * - Added depositThreshold() to get the minimum required deposit for a proposal and removed proposalThreshold\n */\ninterface IB3TRGovernor is IERC165, IERC6372 {\n  /**\n   * @dev Empty proposal or a mismatch between the parameters length for a proposal call.\n   */\n  error GovernorInvalidProposalLength(uint256 targets, uint256 calldatas, uint256 values);\n\n  /**\n   * @dev The vote was already cast.\n   */\n  error GovernorAlreadyCastVote(address voter);\n\n  /**\n   * @dev Token deposits are disabled in this contract.\n   */\n  error GovernorDisabledDeposit();\n\n  /**\n   * @dev Thrown when the proposer does not fit the requirement (GM weight ATM)\n   */\n  error GMLevelAboveMaxLevel(uint256 gmLevel);\n\n  /**\n   * @dev The GM level is not in the valid range - 0 to max level.\n   */\n  error GovernorInvalidProposer(address proposer, uint256 requiredWeight);\n\n  /**\n   * @dev The `account` is not a proposer.\n   */\n  error GovernorOnlyProposer(address account);\n\n  /**\n   * @dev The `account` is not the governance executor.\n   */\n  error GovernorOnlyExecutor(address account);\n\n  /**\n   * @dev The `proposalId` doesn't exist.\n   */\n  error GovernorNonexistentProposal(uint256 proposalId);\n\n  /**\n   * @dev The `votingThreshold` is not met.\n   */\n  error GovernorVotingThresholdNotMet(uint256 threshold, uint256 votes);\n\n  /**\n   * @dev The quorum numerator is greater than the quorum denominator.\n   */\n  error GovernorInvalidQuorumFraction(uint256 quorumNumerator, uint256 quorumDenominator);\n\n  /**\n   * @dev Thrown when the personhood verification fails.\n   * @param voter The address of the voter.\n   * @param explanation The reason for the failure.\n   */\n  error GovernorPersonhoodVerificationFailed(address voter, string explanation);\n\n  /**\n   * @dev The current state of a proposal is not the required for performing an operation.\n   * The `expectedStates` is a bitmap with the bits enabled for each ProposalState enum position\n   * counting from right to left.\n   *\n   * NOTE: If `expectedState` is `bytes32(0)`, the proposal is expected to not be in any state (i.e. not exist).\n   * This is the case when a proposal that is expected to be unset is already initiated (the proposal is duplicated).\n   *\n   * See {Governor-_encodeStateBitmap}.\n   */\n  error GovernorUnexpectedProposalState(\n    uint256 proposalId,\n    GovernorTypes.ProposalState current,\n    bytes32 expectedStates\n  );\n\n  /**\n   * @dev The voting period set is not a valid period.\n   */\n  error GovernorInvalidVotingPeriod(uint256 votingPeriod);\n\n  /**\n   * @dev The `proposer` does not have the required votes to create a proposal.\n   */\n  error GovernorInsufficientProposerVotes(address proposer, uint256 votes, uint256 threshold);\n\n  /**\n   * @dev The `proposer` is not allowed to create a proposal.\n   */\n  error GovernorRestrictedProposer(address proposer);\n\n  /**\n   * @dev The vote type used is not valid for the corresponding counting module.\n   */\n  error GovernorInvalidVoteType();\n\n  /**\n   * @dev Queue operation is not implemented for this governor. Execute should be called directly.\n   */\n  error GovernorQueueNotImplemented();\n\n  /**\n   * @dev The proposal hasn't been queued yet.\n   */\n  error GovernorNotQueuedProposal(uint256 proposalId);\n\n  /**\n   * @dev The proposal has already been queued.\n   */\n  error GovernorAlreadyQueuedProposal(uint256 proposalId);\n\n  /**\n   * @dev The round when proposal should start is not valid.\n   */\n  error GovernorInvalidStartRound(uint256 roundId);\n\n  /**\n   * @dev There is no deposit to withdraw.\n   */\n  error GovernorNoDepositToWithdraw(uint256 proposalId, address depositer);\n\n  /**\n   * @dev The deposit amount must be greater than 0.\n   */\n  error GovernorInvalidDepositAmount();\n\n  /**\n   * @dev The deposit threshold is not in the valid range for a percentage - 0 to 100.\n   */\n  error GovernorDepositThresholdNotInRange(uint256 depositThreshold);\n\n  /**\n   * @dev User is not authorized to perform the action.\n   */\n  error UnauthorizedAccess(address user);\n\n  /**\n   * @dev The grantee cannot deposit for their own grant.\n   */\n  error GranteeCannotDepositOwnGrant(uint256 proposalId);\n\n  /**\n   * @dev Thrown when a proposal is not allowed to perform a specific action.\n   * Some actions are restricted to Standard proposals only, others to Grant proposals only.\n   * eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\n   */\n  error GovernorRestrictedProposal(uint256 proposalId, GovernorTypes.ProposalType proposalType);\n\n  /// @dev The governance skip window has not been reached yet\n  error GovernanceSkipWindowNotReached(uint256 proposalId);\n\n  /// @dev Thrown when citizen is not delegated to any navigator\n  error NotDelegatedToNavigator(address citizen);\n\n  /// @dev Thrown when citizen is delegated to a navigator and cannot vote manually\n  error DelegatedToNavigator(address citizen);\n\n  /// @dev Thrown when navigator has not set a decision for the proposal\n  error NavigatorDecisionNotSet(address navigator, uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is created\n   */\n  event ProposalCreated(\n    uint256 indexed proposalId,\n    address indexed proposer,\n    address[] targets,\n    uint256[] values,\n    string[] signatures,\n    bytes[] calldatas,\n    string description,\n    uint256 indexed roundIdVoteStart,\n    uint256 depositThreshold\n  );\n\n  /**\n   * @dev Emitted when a proposal is queued.\n   */\n  event ProposalQueued(uint256 proposalId, uint256 etaSeconds);\n\n  /**\n   * @dev Emitted when a proposal is executed.\n   */\n  event ProposalExecuted(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is canceled.\n   */\n  event ProposalCanceled(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is canceled with a reason.\n   */\n  event ProposalCanceledWithReason(uint256 indexed proposalId, address indexed canceler, string reason);\n\n  /**\n   * @dev Emitted when the quorum numerator is updated.\n   */\n  event QuorumNumeratorUpdated(uint256 oldNumerator, uint256 newNumerator);\n\n  /**\n   * @dev Emitted when the timelock controller used for proposal execution is modified.\n   */\n  event TimelockChange(address oldTimelock, address newTimelock);\n\n  /**\n   * @dev Emitted when a function is whitelisted or restricted by the governor.\n   */\n  event FunctionWhitelisted(address indexed target, bytes4 indexed functionSelector, bool isWhitelisted);\n\n  /**\n   * @dev Emitted when a vote is cast without params.\n   *\n   * Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\n   */\n  event VoteCast(\n    address indexed voter,\n    uint256 indexed proposalId,\n    uint8 support,\n    uint256 weight,\n    uint256 power,\n    string reason\n  );\n\n  /**\n   * @notice Emits true if quadratic voting is disabled, false otherwise.\n   * @param disabled - The flag to enable or disable quadratic voting.\n   */\n  event QuadraticVotingToggled(bool indexed disabled);\n\n  /**\n   * @dev Emitted when a deposit is made to a proposal.\n   */\n  event ProposalDeposit(address indexed depositor, uint256 indexed proposalId, uint256 amount);\n\n  /**\n   * @dev Emitted when the VeBetterPassport contract is set.\n   */\n  event VeBetterPassportSet(address indexed oldVeBetterPassport, address indexed newVeBetterPassport);\n\n  /**\n   * @dev Emitted when a proposal is created with type information.\n   */\n  event ProposalCreatedWithType(uint256 indexed proposalId, GovernorTypes.ProposalType proposalType);\n\n  /**\n   * @dev Emitted when the quorum numerator for a specific proposal type is updated.\n   */\n  event QuorumNumeratorUpdatedByType(\n    uint256 oldNumerator,\n    uint256 newNumerator,\n    GovernorTypes.ProposalType proposalType\n  );\n  /**\n   * @dev Emitted when the `votingThreshold` for a proposal type is set.\n   */\n  event VotingThresholdSetV2(\n    GovernorTypes.ProposalType proposalType,\n    uint256 oldVotingThreshold,\n    uint256 newVotingThreshold\n  );\n\n  /**\n   * @dev Emitted when the deposit threshold percentage for a proposal type is set.\n   */\n  event DepositThresholdSetV2(\n    GovernorTypes.ProposalType proposalType,\n    uint256 oldDepositThreshold,\n    uint256 newDepositThreshold\n  );\n  /**\n   * @dev Emitted when the deposit threshold cap for a proposal type is set.\n   */\n  event DepositThresholdCapSet(\n    GovernorTypes.ProposalType proposalType,\n    uint256 oldDepositThresholdCap,\n    uint256 newDepositThresholdCap\n  );\n\n  /// @dev Emitted when the voting power is seeded.\n  event VotingPowerSeeded(address indexed walletAddress, uint256 indexed deposit);\n\n  /// @dev Emitted when a deposit is withdrawn from a proposal.\n  event ProposalWithdraw(address indexed withdrawer, uint256 indexed proposalId, uint256 amount);\n\n  /**\n   * @dev Emitted when a proposal is marked as in development.\n   */\n  event ProposalInDevelopment(uint256 proposalId);\n\n  /**\n   * @dev Emitted when a proposal is marked as completed.\n   */\n  event ProposalCompleted(uint256 proposalId);\n\n  /**\n   * @dev Emitted when the development state of a proposal is reset back to pending development.\n   */\n  event ProposalDevelopmentStateReset(uint256 proposalId);\n\n  /// @notice Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\n  event NavigatorGovernanceVoteSkipped(address indexed citizen, address indexed navigator, uint256 indexed proposalId);\n\n  /**\n   * @notice module:core\n   * @dev Name of the governor instance (used in building the ERC712 domain separator).\n   */\n  function name() external view returns (string memory);\n\n  /**\n   * @notice module:core\n   * @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"\n   */\n  function version() external view returns (string memory);\n\n  /**\n   * @notice module:voting\n   * @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n   * be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n   * key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n   *\n   * There are 2 standard keys: `support` and `quorum`.\n   *\n   * - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n   * - `quorum=bravo` means that only For votes are counted towards quorum.\n   * - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n   *\n   * If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique\n   * name that describes the behavior. For example:\n   *\n   * - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n   * - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n   *\n   * NOTE: The string can be decoded by the standard\n   * https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n   * JavaScript class.\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function COUNTING_MODE() external view returns (string memory);\n\n  /**\n   * @notice module:core\n   * @dev Hashing function used to (re)build the proposal id from the proposal details..\n   */\n  function hashProposal(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external pure returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Current state of a proposal, following Compound's convention\n   */\n  function state(uint256 proposalId) external view returns (GovernorTypes.ProposalState);\n\n  /**\n   * @notice module:core\n   * @dev Get the minimum required delay between proposal cretion and start when creating a proposal.\n   */\n  function minVotingDelay() external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The B3TR contract address\n   */\n  function b3tr() external view returns (IB3TR);\n\n  /**\n   * @notice module:core\n   * @dev Getter for the VoterRewards contract\n   */\n  function voterRewards() external view returns (IVoterRewards);\n\n  /**\n   * @notice module:core\n   * @dev Getter for the XAllocationVoting contract\n   */\n  function xAllocationVoting() external view returns (IXAllocationVotingGovernor);\n\n  /**\n   * @notice module:core\n   * @dev Getter for the RelayerRewardsPool contract\n   */\n  function relayerRewardsPool() external view returns (IRelayerRewardsPool);\n\n  /**\n   * @notice module:core\n   * @dev The number of votes in support of a proposal required in order for a proposal to become active.\n   */\n  function depositThresholdByProposalType(GovernorTypes.ProposalType proposalTypeValue) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The proposal Threshold Percentage for all type of proposal\n   */\n  function depositThresholdPercentageByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The voting threshold for a proposal type\n   */\n  function votingThresholdByProposalType(GovernorTypes.ProposalType proposalTypeValue) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n   * snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the\n   * following block.\n   */\n  function proposalSnapshot(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n   * possible to cast a vote during this block.\n   */\n  function proposalDeadline(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev The account that created a proposal.\n   */\n  function proposalProposer(uint256 proposalId) external view returns (address);\n\n  /**\n   * @notice module:core\n   * @dev The time when a queued proposal becomes executable (\"ETA\"). Unlike {proposalSnapshot} and\n   * {proposalDeadline}, this doesn't use the governor clock, and instead relies on the executor's clock which may be\n   * different. In most cases this will be a timestamp.\n   */\n  function proposalEta(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Whether a proposal needs to be queued before execution.\n   */\n  function proposalNeedsQueuing(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @notice module:user-config\n   * @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n   * (see EIP-6372) this contract uses.\n   *\n   * NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting\n   * duration compared to the voting delay.\n   *\n   * NOTE: This value is stored when the proposal is submitted so that possible changes to the value do not affect\n   * proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n   * interface returns a uint256, the value it returns should fit in a uint32.\n   */\n  function votingPeriod() external view returns (uint256);\n\n  /**\n   * @notice module:user-config\n   * @dev Minimum number of cast voted required for a proposal to be successful.\n   *\n   * NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n   * quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\n   */\n  function quorum(uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Voting power of an `account` at a specific `timepoint`.\n   *\n   * Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n   * multiple), {ERC20Votes} tokens.\n   */\n  function getVotes(address account, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Voting power using quadratic voting of an `account` at a specific `timepoint`.\n   *\n   */\n  function getQuadraticVotingPower(address account, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:voting\n   * @dev Returns whether `account` has cast a vote on `proposalId`.\n   */\n  function hasVoted(uint256 proposalId, address account) external view returns (bool);\n\n  /**\n   * @dev Create a new Standard proposal. Specify the allocation round when vote should become active.\n   * The duration is specified by {IGovernor-votingPeriod}.\n   * `maxBudget` (V11) is the optional Community-Execution budget cap in B3TR wei — set to 0 for\n   * proposals without a developer payout flow.\n   *\n   * Emits a {ProposalCreated}, {ProposalCreatedWithType}, and (when maxBudget > 0) {ProposalBudgetSet} event.\n   */\n  function propose(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    uint256 maxBudget\n  ) external returns (uint256 proposalId);\n\n  /**\n   * @dev Create a grant proposal. Grantee cannot deposit for it's own grant.\n   */\n  function proposeGrant(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    string memory description,\n    uint256 startRoundId,\n    uint256 depositAmount,\n    address grantsReceiver,\n    string memory milestonesDetailsMetadataURI\n  ) external returns (uint256);\n\n  /**\n   * @dev Queue a proposal. Some governors require this step to be performed before execution can happen. If queuing\n   * is not necessary, this function may revert.\n   * Queuing a proposal requires the quorum to be reached, the vote to be successful, and the deadline to be reached.\n   *\n   * Emits a {ProposalQueued} event.\n   */\n  function queue(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external returns (uint256 proposalId);\n\n  /**\n   * @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the\n   * deadline to be reached. Depending on the governor it might also be required that the proposal was queued and\n   * that some delay passed.\n   *\n   * Emits a {ProposalExecuted} event.\n   *\n   * NOTE: Some modules can modify the requirements for execution, for example by adding an additional timelock.\n   */\n  function execute(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash\n  ) external payable returns (uint256 proposalId);\n\n  /**\n   * @dev Cancel a proposal. A proposal is cancellable by the proposer, but only while it is Pending state, i.e.\n   * before the vote starts.\n   *\n   * Emits a {ProposalCanceled} and {ProposalCanceledWithReason} event.\n   */\n  function cancel(\n    address[] memory targets,\n    uint256[] memory values,\n    bytes[] memory calldatas,\n    bytes32 descriptionHash,\n    string memory reason\n  ) external returns (uint256 proposalId);\n\n  /**\n   * @dev Cast a vote\n   *\n   * Emits a {VoteCast} event.\n   */\n  function castVote(uint256 proposalId, uint8 support) external returns (uint256 balance);\n\n  /**\n   * @dev Cast a vote with a reason\n   *\n   * Emits a {VoteCast} event.\n   */\n  function castVoteWithReason(\n    uint256 proposalId,\n    uint8 support,\n    string calldata reason\n  ) external returns (uint256 balance);\n\n  /**\n   * @dev Check if user has cast vote at least in one proposal.\n   */\n  function hasVotedOnce(address user) external view returns (bool);\n\n  /**\n   * @dev Round when the proposal should become active.\n   */\n  function proposalStartRound(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @dev Check if proposal can start in the next allocation round.\n   */\n  function canProposalStartInNextRound() external view returns (bool);\n\n  /**\n   * @dev Function to deposit tokens to a proposal\n   */\n  function deposit(uint256 amount, uint256 proposalId) external;\n\n  /**\n   * @dev Function to withdraw tokens from a proposal\n   */\n  function withdraw(uint256 proposalId, address depositer) external;\n\n  /**\n   * @dev Getter to retrieve the total amount of tokens deposited to a proposal\n   */\n  function getProposalDeposits(uint256 proposalId) external view returns (uint256);\n\n  /**\n   * @dev Function to check if the deposit threshold for a proposal has been reached\n   */\n  function proposalDepositReached(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @dev Getter to retrieve the amount of tokens a specific user has deposited to a proposal\n   */\n  function getUserDeposit(uint256 proposalId, address user) external view returns (uint256);\n\n  /**\n   * @notice Returns the VeBetterPassport contract.\n   * @return The current VeBetterPassport contract.\n   */\n  function veBetterPassport() external view returns (IVeBetterPassport);\n\n  /**\n   * @notice Set the VeBetterPassport contract\n   * @param newVeBetterPassport The new VeBetterPassport contract\n   */\n  function setVeBetterPassport(IVeBetterPassport newVeBetterPassport) external;\n\n  /**\n   * @notice module:core\n   * @dev The type of a proposal.\n   */\n  function proposalType(uint256 proposalId) external view returns (GovernorTypes.ProposalType);\n\n  /**\n   * @notice Set the GalaxyMember contract\n   * @param newGalaxyMember The new GalaxyMember contract\n   */\n  function setGalaxyMember(IGalaxyMember newGalaxyMember) external;\n\n  /**\n   * @notice Get the GalaxyMember contract\n   * @return The current GalaxyMember contract\n   */\n  function getGalaxyMemberContract() external view returns (IGalaxyMember);\n\n  /**\n   * @notice Set the GrantsManager contract\n   * @param newGrantsManager The new GrantsManager contract\n   */\n  function setGrantsManager(IGrantsManager newGrantsManager) external;\n\n  /**\n   * @notice Set the RelayerRewardsPool contract\n   * @param newRelayerRewardsPool The new RelayerRewardsPool contract\n   */\n  function setRelayerRewardsPool(IRelayerRewardsPool newRelayerRewardsPool) external;\n\n  /**\n   * @notice Get the GrantsManager contract\n   * @return The current GrantsManager contract\n   */\n  function getGrantsManagerContract() external view returns (IGrantsManager);\n\n  /**\n   * @notice Get the GM weight for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @return The GM weight for the proposal type\n   */\n  function getRequiredGMLevelByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external view returns (uint256);\n\n  /**\n   * @notice Set the GM weight for a proposal type\n   * @param proposalTypeValue The type of the proposal\n   * @param newGMWeight The new GM weight for the proposal type\n   * @notice e.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal\n   */\n  function setRequiredGMLevelByProposalType(GovernorTypes.ProposalType proposalTypeValue, uint256 newGMWeight) external;\n\n  /**\n   * @notice Returns the deposit threshold cap for a proposal type.\n   * @param proposalTypeValue The type of proposal.\n   * @return uint256 The deposit threshold cap for the proposal type.\n   */\n  function depositThresholdCapByProposalType(\n    GovernorTypes.ProposalType proposalTypeValue\n  ) external view returns (uint256);\n\n  /**\n   * @notice Get the deposit voting power for a given account at a given timepoint\n   * @param account The address of the account\n   * @param timepoint The timepoint\n   * @return The deposit voting power\n   */\n  function getDepositVotingPower(address account, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice Returns currently active proposal IDs.\n   */\n  function getActiveProposals() external view returns (uint256[] memory);\n\n  // ------------------------------- Version 11 (Community Execution Framework) -------------------------------\n\n  // V11 errors re-declared on the interface so they appear in the contract ABI and can be\n  // matched by chai matchers / decoded by indexers. The GovernorRestrictedProposal error\n  // declared earlier in this interface (line ~173) is reused for non-Standard proposals.\n\n  /// @dev Caller is neither the proposal proposer nor a PROPOSAL_STATE_MANAGER_ROLE holder.\n  error UnauthorizedCommunityExecution(address caller, uint256 proposalId);\n\n  /// @dev No max budget was recorded for the proposal but a non-zero payee was provided.\n  error MissingProposalBudget(uint256 proposalId);\n\n  /// @dev Payee is the zero address while the proposal has a non-zero implementation cost.\n  error InvalidPayeeAddress();\n\n  /// @dev Contributors array is larger than maxContributorsPerProposal.\n  error TooManyContributors(uint256 provided, uint256 max);\n\n  /// @dev markAsInDevelopment was already called for this proposal.\n  error PayeesAlreadyFinalized(uint256 proposalId);\n\n  /// @dev The payout was already pulled from Treasury.\n  error PayoutAlreadyClaimed(uint256 proposalId);\n\n  /// @dev The proposal is not in a state where the budget can be paid out (missing payee or budget).\n  error NotReadyToClaim(uint256 proposalId);\n\n  /// @notice Emitted when an implementation-cost budget is recorded for a proposal.\n  event ProposalBudgetSet(uint256 indexed proposalId, uint256 maxBudget);\n\n  /// @notice Off-chain metadata registered alongside the payee when entering development\n  ///         or replaced via updateCommunityExecution before payout.\n  event ProposalInDevelopmentDetails(\n    uint256 indexed proposalId,\n    address indexed payee,\n    string description,\n    string implementationDiscussion\n  );\n\n  /// @notice Emitted when the contributor handle list is (re)set for a proposal.\n  event ProposalContributorsSet(uint256 indexed proposalId, string[] contributors);\n\n  /// @notice Emitted when the single registered payee pulls the implementation cost from Treasury.\n  event ProposalPayoutClaimed(uint256 indexed proposalId, address indexed payee, uint256 amount);\n\n  /// @notice Mark a proposal as InDevelopment and register the V11 payee + metadata.\n  function markAsInDevelopment(\n    uint256 proposalId,\n    address payee,\n    string calldata description,\n    string calldata implementationDiscussion,\n    string[] calldata contributors\n  ) external;\n\n  /// @notice Update the payee / description / implementation-discussion / contributors of a\n  ///         proposal whose payout has not yet been claimed.\n  function updateCommunityExecution(\n    uint256 proposalId,\n    address payee,\n    string calldata description,\n    string calldata implementationDiscussion,\n    string[] calldata contributors\n  ) external;\n\n  /// @notice Pull the full implementation cost from Treasury to the registered payee. Permissionless.\n  function claimPayout(uint256 proposalId) external;\n\n  /// @notice The maximum implementation cost (B3TR wei) recorded for a proposal.\n  function getProposalBudget(uint256 proposalId) external view returns (uint256);\n\n  /// @notice The single registered payee for a proposal.\n  function getProposalPayee(uint256 proposalId) external view returns (address);\n\n  /// @notice True iff the payout has been pulled from Treasury.\n  function isProposalPaid(uint256 proposalId) external view returns (bool);\n\n  /// @notice The free-text description registered alongside the V11 payee.\n  function getProposalDescription(uint256 proposalId) external view returns (string memory);\n\n  /// @notice The implementation-discussion link for a proposal.\n  function getProposalImplementationDiscussion(uint256 proposalId) external view returns (string memory);\n\n  /// @notice The contributor handle list (github / twitter URLs etc.) for a proposal.\n  function getProposalContributors(uint256 proposalId) external view returns (string[] memory);\n}\n"},"contracts/interfaces/IEmissions.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\ninterface IEmissions {\n  struct Emission {\n    uint256 xAllocations;\n    uint256 vote2Earn;\n    uint256 treasury;\n  }\n\n  struct InitializationData {\n    address minter;\n    address admin;\n    address upgrader;\n    address contractsAddressManager;\n    address decaySettingsManager;\n    address b3trAddress;\n    address[4] destinations;\n    uint256 migrationAmount;\n    uint256 initialXAppAllocation;\n    uint256 cycleDuration;\n    uint256[4] decaySettings;\n    uint256 treasuryPercentage;\n    uint256 maxVote2EarnDecay;\n  }\n\n  error AccessControlBadConfirmation();\n\n  error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n  error AddressEmptyCode(address target);\n\n  error ERC1967InvalidImplementation(address implementation);\n\n  error ERC1967NonPayable();\n\n  error FailedInnerCall();\n\n  error InvalidInitialization();\n\n  error NotInitializing();\n\n  error ReentrancyGuardReentrantCall();\n\n  error UUPSUnauthorizedCallContext();\n\n  error UUPSUnsupportedProxiableUUID(bytes32 slot);\n\n  event EmissionCycleDurationUpdated(uint256 indexed newDuration, uint256 indexed oldDuration);\n\n  event EmissionDistributedV2(\n    uint256 indexed cycle,\n    uint256 xAllocations,\n    uint256 vote2Earn,\n    uint256 treasury,\n    uint256 gm\n  );\n\n  event EmissionDistributed(\n    uint256 indexed cycle,\n    uint256 xAllocations,\n    uint256 vote2Earn,\n    uint256 treasury\n  );\n\n  event Initialized(uint64 version);\n\n  event MaxVote2EarnDecayUpdated(uint256 indexed newDecay, uint256 indexed oldDecay);\n\n  event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n  event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n  event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n  event TreasuryAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  event TreasuryPercentageUpdated(uint256 indexed newPercentage, uint256 indexed oldPercentage);\n\n  event GMPercentageUpdated(uint256 indexed newPercentage, uint256 indexed oldPercentage);\n\n  event Upgraded(address indexed implementation);\n\n  event Vote2EarnAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  event Vote2EarnDecayPeriodUpdated(uint256 indexed newPeriod, uint256 indexed oldPeriod);\n\n  event Vote2EarnDecayUpdated(uint256 indexed newDecay, uint256 indexed oldDecay);\n\n  event XAllocationsAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  event XAllocationsDecayPeriodUpdated(uint256 indexed newPeriod, uint256 indexed oldPeriod);\n\n  event XAllocationsDecayUpdated(uint256 indexed newDecay, uint256 indexed oldDecay);\n\n  event XAllocationsGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  function CONTRACTS_ADDRESS_MANAGER_ROLE() external view returns (bytes32);\n\n  function DECAY_SETTINGS_MANAGER_ROLE() external view returns (bytes32);\n\n  function DEFAULT_ADMIN_ROLE() external view returns (bytes32);\n\n  function MINTER_ROLE() external view returns (bytes32);\n\n  function SCALING_FACTOR() external view returns (uint256);\n\n  function UPGRADER_ROLE() external view returns (bytes32);\n\n  function UPGRADE_INTERFACE_VERSION() external view returns (string memory);\n\n  function b3tr() external view returns (address);\n\n  function bootstrap() external;\n\n  function cycleDuration() external view returns (uint256);\n\n  function distribute() external;\n\n  function emissions(\n    uint256 cycle\n  )\n    external\n    view\n    returns (uint256 xAllocationsAmount, uint256 vote2EarnAmount, uint256 treasuryAmount, uint256 gmAmount);\n\n  function getCurrentCycle() external view returns (uint256);\n\n  function getNextCycleBlock() external view returns (uint256);\n\n  function getRemainingEmissions() external view returns (uint256);\n\n  function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n  function getTreasuryAmount(uint256 cycle) external view returns (uint256);\n\n  function getVote2EarnAmount(uint256 cycle) external view returns (uint256);\n\n  function getXAllocationAmount(uint256 cycle) external view returns (uint256);\n\n  function getGMAmount(uint256 cycle) external view returns (uint256);\n\n  function grantRole(bytes32 role, address account) external;\n\n  function hasRole(bytes32 role, address account) external view returns (bool);\n\n  function initialXAppAllocation() external view returns (uint256);\n\n  function initialize(InitializationData memory data) external;\n\n  function initializeV2(bool _isEmissionsNotAligned) external;\n\n  function isCycleDistributed(uint256 cycle) external view returns (bool);\n\n  function isCycleEnded(uint256 cycle) external view returns (bool);\n\n  function isEmissionsNotAligned() external view returns (bool);\n\n  function isNextCycleDistributable() external view returns (bool);\n\n  function lastEmissionBlock() external view returns (uint256);\n\n  function maxVote2EarnDecay() external view returns (uint256);\n\n  function nextCycle() external view returns (uint256);\n\n  function proxiableUUID() external view returns (bytes32);\n\n  function renounceRole(bytes32 role, address callerConfirmation) external;\n\n  function revokeRole(bytes32 role, address account) external;\n\n  function setCycleDuration(uint256 _cycleDuration) external;\n\n  function setMaxVote2EarnDecay(uint256 _maxVote2EarnDecay) external;\n\n  function setTreasuryAddress(address treasuryAddress) external;\n\n  function setTreasuryPercentage(uint256 _percentage) external;\n\n  function setGmPercentage(uint256 _percentage) external;\n\n  function setVote2EarnAddress(address vote2EarnAddress) external;\n\n  function setVote2EarnDecay(uint256 _decay) external;\n\n  function setVote2EarnDecayPeriod(uint256 _period) external;\n\n  function setXAllocationsDecay(uint256 _decay) external;\n\n  function setXAllocationsDecayPeriod(uint256 _period) external;\n\n  function setXAllocationsGovernorAddress(address _xAllocationsGovernor) external;\n\n  function setXallocationsAddress(address xAllocationAddress) external;\n\n  function start() external;\n\n  function supportsInterface(bytes4 interfaceId) external view returns (bool);\n\n  function totalEmissions() external view returns (uint256);\n\n  function treasury() external view returns (address);\n\n  function treasuryPercentage() external view returns (uint256);\n\n  function upgradeToAndCall(address newImplementation, bytes memory data) external payable;\n\n  function version() external pure returns (string memory);\n\n  function vote2Earn() external view returns (address);\n\n  function vote2EarnDecay() external view returns (uint256);\n\n  function vote2EarnDecayPeriod() external view returns (uint256);\n\n  function xAllocations() external view returns (address);\n\n  function xAllocationsDecay() external view returns (uint256);\n\n  function xAllocationsDecayPeriod() external view returns (uint256);\n\n  function xAllocationsGovernor() external view returns (address);\n}\n"},"contracts/interfaces/IGalaxyMember.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\n\n/**\n * @title IGalaxyMember\n * @notice Interface for the GalaxyMember contract which handles NFT membership and governance functionality\n * @dev Implements ERC721 with additional features for level upgrades, node attachments, and governance participation\n */\ninterface IGalaxyMember {\n  // Custom errors\n  error AccessControlBadConfirmation();\n  error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n  error AddressEmptyCode(address target);\n  error ERC1967InvalidImplementation(address implementation);\n  error ERC1967NonPayable();\n  error ERC5805FutureLookup(uint256 timepoint, uint48 clock);\n  error ERC6372InconsistentClock();\n  error ERC721EnumerableForbiddenBatchMint();\n  error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n  error ERC721InsufficientApproval(address operator, uint256 tokenId);\n  error ERC721InvalidApprover(address approver);\n  error ERC721InvalidOperator(address operator);\n  error ERC721InvalidOwner(address owner);\n  error ERC721InvalidReceiver(address receiver);\n  error ERC721InvalidSender(address sender);\n  error ERC721NonexistentToken(uint256 tokenId);\n  error ERC721OutOfBoundsIndex(address owner, uint256 index);\n  error EnforcedPause();\n  error ExpectedPause();\n  error FailedInnerCall();\n  error InvalidInitialization();\n  error NotInitializing();\n  error ReentrancyGuardReentrantCall();\n  error UUPSUnauthorizedCallContext();\n  error UUPSUnsupportedProxiableUUID(bytes32 slot);\n\n  // Events\n  event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n  event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n  event B3TRtoUpgradeToLevelUpdated(uint256[] b3trToUpgradeToLevel);\n  event B3trGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n  event BaseURIUpdated(string indexed newBaseURI, string indexed oldBaseURI);\n  event Initialized(uint64 version);\n  event MaxLevelUpdated(uint256 oldLevel, uint256 newLevel);\n  event Paused(address account);\n  event PublicMintingPaused(bool isPaused);\n  event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n  event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n  event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n  event Selected(address indexed owner, uint256 tokenId);\n  event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n  event Unpaused(address account);\n  event Upgraded(address indexed implementation);\n  event Upgraded(uint256 indexed tokenId, uint256 oldLevel, uint256 newLevel);\n  event XAllocationsGovernorAddressUpdated(address indexed newAddress, address indexed oldAddress);\n  event NodeDetached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n  event NodeAttached(uint256 indexed nodeTokenId, uint256 indexed tokenId);\n  event LevelWhenAttached(uint256 indexed tokenId, uint256 indexed nodeTokenId, uint256 level);\n  event LevelWhenDetached(uint256 indexed tokenId, uint256 indexed nodeTokenId, uint256 level);\n  event StargateNFTAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @notice Returns the role identifier for contracts address manager\n  function CONTRACTS_ADDRESS_MANAGER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the role identifier for default admin\n  function DEFAULT_ADMIN_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the maximum level achievable for a token\n  function MAX_LEVEL() external view returns (uint256);\n\n  /// @notice Returns the role identifier for minter\n  function MINTER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the role identifier for nodes manager\n  function NODES_MANAGER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the role identifier for pauser\n  function PAUSER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the role identifier for upgrader\n  function UPGRADER_ROLE() external view returns (bytes32);\n\n  /// @notice Returns the interface version string\n  function UPGRADE_INTERFACE_VERSION() external view returns (string memory);\n\n  /// @notice Approves an address to transfer a specific token\n  /// @param to Address to be approved\n  /// @param tokenId ID of the token to be approved\n  function approve(address to, uint256 tokenId) external;\n\n  /// @notice Attaches a node to a token\n  /// @param nodeTokenId ID of the node to attach\n  /// @param tokenId ID of the token to attach to\n  function attachNode(uint256 nodeTokenId, uint256 tokenId) external;\n\n  /// @notice Returns the B3TR token contract address\n  function b3tr() external view returns (address);\n\n  /// @notice Returns the B3TR governor contract address\n  function b3trGovernor() external view returns (address);\n\n  /// @notice Returns the number of tokens owned by an address\n  /// @param owner Address to query\n  /// @return Number of tokens owned\n  function balanceOf(address owner) external view returns (uint256);\n\n  /// @notice Returns the base URI for token metadata\n  function baseURI() external view returns (string memory);\n\n  /// @notice Burns a specific token\n  /// @param tokenId ID of the token to burn\n  function burn(uint256 tokenId) external;\n\n  /// @notice Detaches a node from a token\n  /// @param nodeTokenId ID of the node to detach\n  /// @param tokenId ID of the token to detach from\n  function detachNode(uint256 nodeTokenId, uint256 tokenId) external;\n\n  /// @notice Allows eligible addresses to mint a token for free\n  function freeMint() external;\n\n  /// @notice Returns the approved address for a token\n  /// @param tokenId ID of the token to query\n  /// @return Address approved for the token\n  function getApproved(uint256 tokenId) external view returns (address);\n\n  /// @notice Returns the amount of B3TR donated for a token\n  /// @param tokenId ID of the token to query\n  /// @return Amount of B3TR donated\n  function getB3TRdonated(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the amount of B3TR needed to upgrade a token\n  /// @param tokenId ID of the token to query\n  /// @return Amount of B3TR needed\n  function getB3TRtoUpgrade(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the amount of B3TR needed to upgrade to a specific level\n  /// @param level Target level\n  /// @return Amount of B3TR needed\n  function getB3TRtoUpgradeToLevel(uint256 level) external view returns (uint256);\n\n  /// @notice Returns the token ID attached to a node\n  /// @param nodeId ID of the node to query\n  /// @return Token ID attached to the node\n  function getIdAttachedToNode(uint256 nodeId) external view returns (uint256);\n\n  /// @notice Calculates the level after attaching a node\n  /// @param tokenId ID of the token\n  /// @param nodeTokenId ID of the node to attach\n  /// @return New level after attachment\n  function getLevelAfterAttachingNode(uint256 tokenId, uint256 nodeTokenId) external view returns (uint256);\n\n  /// @notice Calculates the level after detaching a node\n  /// @param tokenId ID of the token\n  /// @return New level after detachment\n  function getLevelAfterDetachingNode(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the node ID attached to a token\n  /// @param tokenId ID of the token to query\n  /// @return ID of the attached node\n  function getNodeIdAttached(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the level of a node\n  /// @param nodeId ID of the node to query\n  /// @return Level of the node\n  function getNodeLevelOf(uint256 nodeId) external view returns (uint8);\n\n  /// @notice Returns the free level granted by a node level\n  /// @param nodeLevel Level of the node\n  /// @return Free level granted\n  function getNodeToFreeLevel(uint8 nodeLevel) external view returns (uint256);\n\n  /// @notice Returns the admin role for a given role\n  /// @param role Role to query\n  /// @return Admin role\n  function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n  /// @notice Returns the selected token ID for an owner\n  /// @param owner Address to query\n  /// @return Selected token ID\n  function getSelectedTokenId(address owner) external view returns (uint256);\n\n  /// @notice Returns the selected token ID for an owner in a specific block number\n  /// @param owner Address to query\n  /// @param blockNumber Block number to query\n  /// @return Selected token ID\n  function getSelectedTokenIdAtBlock(address owner, uint48 blockNumber) external view returns (uint256);\n\n  /// @notice Grants a role to an account\n  /// @param role Role to grant\n  /// @param account Account to receive the role\n  function grantRole(bytes32 role, address account) external;\n\n  /// @notice Checks if an account has a role\n  /// @param role Role to check\n  /// @param account Account to check\n  /// @return True if account has the role\n  function hasRole(bytes32 role, address account) external view returns (bool);\n\n  /// @notice Initializes the contract V2\n  /// @param _vechainNodes Address of the VeChain nodes contract\n  /// @param _nodesAdmin Address of the nodes admin\n  /// @param _nodeFreeLevels Array of free levels for nodes\n  function initializeV2(address _vechainNodes, address _nodesAdmin, uint256[] memory _nodeFreeLevels) external;\n\n  /// @notice Checks if an operator is approved for all tokens of an owner\n  /// @param owner Owner address\n  /// @param operator Operator address\n  /// @return True if operator is approved for all\n  function isApprovedForAll(address owner, address operator) external view returns (bool);\n\n  /// @notice Returns the level of a token\n  /// @param tokenId ID of the token to query\n  /// @return Level of the token\n  function levelOf(uint256 tokenId) external view returns (uint256);\n\n  /// @notice Returns the name of the token collection\n  function name() external view returns (string memory);\n\n  /// @notice Returns the owner of a token\n  /// @param tokenId ID of the token to query\n  /// @return Address of the owner\n  function ownerOf(uint256 tokenId) external view returns (address);\n\n  /// @notice Checks if a user has participated in governance\n  /// @param user Address to check\n  /// @return True if user has participated\n  function participatedInGovernance(address user) external view returns (bool);\n\n  /// @notice Pauses all token transfers\n  function pause() external;\n\n  /// @notice Returns the paused status of the contract\n  /// @return True if contract is paused\n  function paused() external view returns (bool);\n\n  /// @notice Returns the storage slot for the implementation\n  function proxiableUUID() external view returns (bytes32);\n\n  /// @notice Allows an account to renounce a role\n  /// @param role Role to renounce\n  /// @param callerConfirmation Address of the caller for confirmation\n  function renounceRole(bytes32 role, address callerConfirmation) external;\n\n  /// @notice Revokes a role from an account\n  /// @param role Role to revoke\n  /// @param account Account to revoke from\n  function revokeRole(bytes32 role, address account) external;\n\n  /// @notice Safely transfers a token\n  /// @param from Current owner\n  /// @param to New owner\n  /// @param tokenId ID of the token to transfer\n  function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n  /// @notice Safely transfers a token with additional data\n  /// @param from Current owner\n  /// @param to New owner\n  /// @param tokenId ID of the token to transfer\n  /// @param data Additional data\n  function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) external;\n\n  /// @notice Selects a token for an owner\n  /// @param tokenID ID of the token to select\n  function select(uint256 tokenID) external;\n\n  /// @notice Sets approval for all tokens\n  /// @param operator Address to approve\n  /// @param approved Approval status\n  function setApprovalForAll(address operator, bool approved) external;\n\n  /// @notice Sets the B3TR amounts needed for level upgrades\n  /// @param b3trToUpgradeToLevel Array of B3TR amounts\n  function setB3TRtoUpgradeToLevel(uint256[] memory b3trToUpgradeToLevel) external;\n\n  /// @notice Sets the B3TR governor address\n  /// @param _b3trGovernor New governor address\n  function setB3trGovernorAddress(address _b3trGovernor) external;\n\n  /// @notice Sets the base URI for token metadata\n  /// @param baseTokenURI New base URI\n  function setBaseURI(string memory baseTokenURI) external;\n\n  /// @notice Sets the public minting pause status\n  /// @param isPaused New pause status\n  function setIsPublicMintingPaused(bool isPaused) external;\n\n  /// @notice Sets the maximum level\n  /// @param level New maximum level\n  function setMaxLevel(uint256 level) external;\n\n  /// @notice Sets the free upgrade level for a node level\n  /// @param nodeLevel Level of the node\n  /// @param level Free upgrade level\n  function setNodeToFreeUpgradeLevel(uint8 nodeLevel, uint256 level) external;\n\n  /// @notice Sets the X-Allocations governor address\n  /// @param _xAllocationsGovernor New governor address\n  function setXAllocationsGovernorAddress(address _xAllocationsGovernor) external;\n\n  /// @notice Sets the StargateNFT contract address\n  /// @param _stargateNFT New StargateNFT contract address\n  function setStargateNFTAddress(address _stargateNFT) external;\n\n  /// @notice Checks if the contract supports an interface\n  /// @param interfaceId Interface identifier\n  /// @return True if interface is supported\n  function supportsInterface(bytes4 interfaceId) external view returns (bool);\n\n  /// @notice Returns the symbol of the token collection\n  function symbol() external view returns (string memory);\n\n  /// @notice Returns a token by its index\n  /// @param index Index of the token\n  /// @return Token ID at the index\n  function tokenByIndex(uint256 index) external view returns (uint256);\n\n  /// @notice Returns a token owned by an address by index\n  /// @param owner Owner address\n  /// @param index Index of the token\n  /// @return Token ID at the index\n  function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);\n\n  /// @notice Returns the URI for a token's metadata\n  /// @param tokenId ID of the token\n  /// @return Metadata URI\n  function tokenURI(uint256 tokenId) external view returns (string memory);\n\n  /// @notice Returns the total supply of tokens\n  /// @return Total number of tokens\n  function totalSupply() external view returns (uint256);\n\n  /// @notice Transfers a token\n  /// @param from Current owner\n  /// @param to New owner\n  /// @param tokenId ID of the token to transfer\n  function transferFrom(address from, address to, uint256 tokenId) external;\n\n  /// @notice Returns the treasury address\n  function treasury() external view returns (address);\n\n  /// @notice Unpauses all token transfers\n  function unpause() external;\n\n  /// @notice Upgrades a token's level\n  /// @param tokenId ID of the token to upgrade\n  function upgrade(uint256 tokenId) external;\n\n  /// @notice Upgrades the contract implementation\n  /// @param newImplementation Address of the new implementation\n  /// @param data Additional data for the upgrade\n  function upgradeToAndCall(address newImplementation, bytes memory data) external payable;\n\n  /// @notice Returns the contract version\n  /// @return Version string\n  function version() external pure returns (string memory);\n\n  /// @notice Returns the X-Allocations governor address\n  function xAllocationsGovernor() external view returns (address);\n\n  /// @notice Returns the StargateNFT contract address\n  function stargateNFT() external view returns (address);\n}\n"},"contracts/interfaces/IGrantsManager.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\n/**\n * @title IGrantsManager\n * @notice Interface for the GrantsManager contract that manages grant execution and milestone creation\n * @dev This contract handles the execution of approved grant proposals and manages milestone-based funding\n */\ninterface IGrantsManager {\n  // ------------------ Events ------------------ //\n\n  /**\n   * @notice Emitted when a milestone is validated ( ready to be claimed by the receiver )\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  event MilestoneValidated(uint256 indexed proposalId, uint256 indexed milestoneIndex);\n\n  /**\n   * @notice Emitted when a milestone is claimed\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @param amount The amount of the milestone\n   */\n  event MilestoneClaimed(uint256 indexed proposalId, uint256 indexed milestoneIndex, uint256 amount);\n\n  /**\n   * @notice Emitted when a milestone is rejected\n   * @param proposalId The ID of the proposal\n   * @param amount The amount of the milestone\n   */\n  event MilestoneRejectedAndFundsReturnedToTreasury(uint256 indexed proposalId, uint256 amount);\n\n  /**\n   * @notice Emitted when a milestone metadata URI is updated\n   * @param proposalId The ID of the proposal\n   * @param newMilestoneMetadataURI The new metadata URI\n   */\n  event MilestoneMetadataURIUpdated(uint256 indexed proposalId, string newMilestoneMetadataURI);\n\n  /**\n   * @notice Emitted when the grants receiver address is updated\n   * @param proposalId The ID of the proposal\n   * @param newGrantsReceiver The new grants receiver address\n   */\n  event GrantsReceiverUpdated(uint256 indexed proposalId, address newGrantsReceiver);\n\n  /**\n   * @notice Emitted when milestones are created for a proposal\n   * @param proposalId The ID of the proposal\n   * @param proposer The address of the proposer\n   * @param grantsReceiver The address of the grants receiver\n   * @param totalAmount The total amount of all milestones\n   * @param metadataURI The IPFS hash containing milestone details\n   */\n  event MilestonesCreated(\n    uint256 indexed proposalId,\n    address indexed proposer,\n    address indexed grantsReceiver,\n    uint256 totalAmount,\n    string metadataURI\n  );\n\n  /**\n   * @notice Emitted when a grant is canceled\n   * @param proposalId The ID of the proposal\n   */\n  event GrantCanceled(uint256 indexed proposalId);\n\n  // ------------------ Errors ------------------ //\n\n  /**\n   * @notice Error thrown when a target is invalid\n   * @param target The invalid target\n   */\n  error InvalidTarget(address target);\n\n  /**\n   * @notice Error thrown when a milestone amount is invalid\n   */\n  error InvalidAmount();\n\n  /**\n   * @notice Error thrown when a function selector is invalid\n   * @param selector The invalid selector\n   */\n  error InvalidFunctionSelector(bytes4 selector);\n\n  /**\n   * @notice Error thrown when a milestone is already validated\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error MilestoneAlreadyApproved(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone amount is zero\n   * @param milestoneIndex The index of the milestone with zero amount\n   */\n  error MilestoneAmountZero(uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone total amount is zero\n   */\n  error MilestoneTotalAmountZero();\n\n  /**\n   * @notice Error thrown when milestone claimed amount exceeds total amount\n   * @param claimedAmount The amount claimed\n   * @param totalAmount The total amount available\n   */\n  error MilestoneClaimedAmountExceedsTotalAmount(uint256 claimedAmount, uint256 totalAmount);\n\n  /**\n   * @notice Error thrown when number of milestones is less than minimum required\n   * @param provided The number of milestones provided\n   * @param required The minimum number of milestones required\n   */\n  error InvalidNumberOfMilestones(uint256 provided, uint256 required);\n\n  /**\n   * @notice Error thrown when milestone state is not pending\n   * @param status The current status of the milestone\n   */\n  error MilestoneStateNotPending(MilestoneState status);\n\n  /**\n   * @notice Error thrown when previous milestone is not validated\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error PreviousMilestoneNotApproved(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone is already claimed\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error MilestoneAlreadyClaimed(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when caller is not an admin or grants manager\n   */\n  error NotAuthorized();\n\n  /**\n   * @notice Error thrown when milestone is not validated\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error MilestoneNotApprovedByAdmin(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone index is invalid\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  error InvalidMilestoneIndex(uint256 proposalId, uint256 milestoneIndex);\n\n  /**\n   * @notice Error thrown when milestone proposer is zero address\n   */\n  error MilestoneProposerZeroAddress();\n\n  /**\n   * @notice Error thrown when caller is not the grant receiver\n   * @param caller The address of the caller\n   * @param recipient The address of the recipient\n   */\n  error CallerIsNotTheGrantReceiver(address caller, address recipient);\n\n  /**\n   * @notice Error thrown when transfer fails\n   */\n  error TransferFailed();\n\n  /**\n   * @notice Error thrown when funds are insufficient\n   * @param availableFunds The available funds\n   * @param requiredFunds The required funds\n   */\n  error InsufficientFunds(uint256 availableFunds, uint256 requiredFunds);\n\n  /**\n   * @notice Error thrown when milestone details metadata URI is empty\n   */\n  error MilestoneDetailsMetadataURIEmpty();\n\n  /**\n   * @notice Error thrown when proposal is not executed\n   * @param proposalId The ID of the proposal\n   */\n  error ProposalNotExecuted(uint256 proposalId);\n\n  /**\n   * @notice Error thrown when grant is already completed\n   * @param proposalId The ID of the proposal\n   */\n  error GrantAlreadyCompleted(uint256 proposalId);\n\n  /**\n   * @notice Error thrown when grant is already rejected\n   * @param proposalId The ID of the proposal\n   */\n  error GrantAlreadyRejected(uint256 proposalId);\n\n  // ------------------ Structs and Enums ------------------ //\n\n  /**\n   * @notice GrantState enum to store the status of the grant\n   * @dev This is the same as the ProposalState enum however with InDevelopment and Completed extra states\n   */\n  enum GrantState {\n    Pending, // 0\n    Active, // 1\n    Canceled, // 2\n    Defeated, // 3\n    Succeeded, // 4\n    Queued, // 5\n    Executed, // 6\n    DepositNotMet, // 7\n    InDevelopment, // 8\n    Completed // 9\n  }\n\n  /**\n   * @notice MilestoneState enum to store the status of the milestone\n   */\n  enum MilestoneState {\n    Pending, // 0 - default\n    Approved, // 1 - approved by admin and claimable\n    Claimed, // 2 - funds claimed by recipient\n    Rejected // 3 - admin rejects\n  }\n\n  /**\n   * @notice Milestone struct\n   */\n  struct Milestone {\n    uint256 amount;\n    bool isClaimed;\n    bool isApproved;\n    bool isRejected;\n    string reason;\n  }\n\n  /**\n   * @notice GrantProposal struct\n   */\n  struct GrantProposal {\n    uint256 id;\n    uint256 totalAmount;\n    uint256 claimedAmount;\n    address proposer;\n    address grantsReceiver;\n    Milestone[] milestones;\n    string metadataURI;\n  }\n\n  // ------------------ Grants Manager Milestone Functions ------------------ //\n\n  /**\n   * @notice Creates milestones for a proposal\n   * @param metadataURI The IPFS hash containing the milestones metadata\n   * @param proposalId The ID of the proposal\n   * @param proposer The address of the proposer\n   * @param grantsReceiver The address of the grants receiver\n   * @param calldatas The calldatas of the milestones\n   */\n  function createMilestones(\n    string memory metadataURI,\n    uint256 proposalId,\n    address proposer,\n    address grantsReceiver,\n    bytes[] memory calldatas\n  ) external;\n\n  /**\n   * @notice Returns a milestone for a proposal\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return Milestone The milestone\n   */\n  function getMilestone(uint256 proposalId, uint256 milestoneIndex) external view returns (Milestone memory);\n\n  /**\n   * @notice Returns the milestones for a proposal\n   * @param proposalId The ID of the proposal\n   * @return GrantProposal struct created on proposeGrant\n   */\n  function getGrantProposal(uint256 proposalId) external view returns (GrantProposal memory);\n\n  /**\n   * @notice Returns the milestones for a proposal\n   * @param proposalId The ID of the proposal\n   * @return Milestone[] The milestones for the grant proposal\n   */\n  function getMilestones(uint256 proposalId) external view returns (Milestone[] memory);\n\n  /**\n   * @notice Approves a milestone\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  function approveMilestones(uint256 proposalId, uint256 milestoneIndex) external;\n\n  /**\n   * @notice Approves a milestone with a reason\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @param reason The reason for approving the milestone\n   * @notice This is used to approve a mi\n   */\n  function approveMilestoneWithReason(uint256 proposalId, uint256 milestoneIndex, string memory reason) external;\n  /**\n   * @notice Sets the minimum milestone count\n   * @param minimumMilestoneCount The minimum milestone count\n   */\n  function setMinimumMilestoneCount(uint256 minimumMilestoneCount) external;\n\n  /**\n   * @notice Returns the minimum milestone count\n   * @return The minimum milestone count\n   */\n  function getMinimumMilestoneCount() external view returns (uint256);\n\n  /**\n   * @notice Returns the state of a milestone\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return MilestoneState The state of the milestone\n   */\n  function milestoneState(uint256 proposalId, uint256 milestoneIndex) external view returns (MilestoneState);\n\n  /**\n   * @notice Returns the state of a proposal\n   * @param proposalId The ID of the proposal\n   * @return GrantState The state of the proposal\n   */\n  function grantState(uint256 proposalId) external view returns (GrantState);\n\n  /**\n   * @notice Returns if a proposal is in development\n   * @param proposalId The ID of the proposal\n   * @return bool True if the proposal is in development, false otherwise\n   */\n  function isGrantCompleted(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @notice Returns if a proposal is in development\n   * @param proposalId The ID of the proposal\n   * @return bool True if the proposal is in development, false otherwise\n   */\n  function isGrantInDevelopment(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @notice Returns if a proposal is rejected\n   * @param proposalId The ID of the proposal\n   * @return bool True if one of the milestones is rejected, false otherwise\n   */\n  function isGrantRejected(uint256 proposalId) external view returns (bool);\n\n  /**\n   * @notice Rejects a milestone\n   * @param proposalId The ID of the proposal\n   */\n  function rejectMilestones(uint256 proposalId) external;\n\n  /**\n   * @notice Returns the total amount for milestones\n   * @param milestoneId The ID of the milestone\n   * @return The total amount for the milestones\n   */\n  function getTotalAmountForMilestones(uint256 milestoneId) external view returns (uint256);\n\n  // ------------------ Grants Manager Funds Functions ------------------ //\n  /**\n   * @notice Claims milestones\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   */\n  function claimMilestone(uint256 proposalId, uint256 milestoneIndex) external;\n\n  /**\n   * @notice Returns if a milestone is claimable\n   * @param proposalId The ID of the proposal\n   * @param milestoneIndex The index of the milestone\n   * @return bool True if the milestone is claimable, false otherwise\n   */\n  function isClaimable(uint256 proposalId, uint256 milestoneIndex) external view returns (bool);\n  // ------------------ Grants Manager Contract Functions ------------------ //\n  /**\n   * @notice Sets the governor contract\n   * @param _governor The address of the governor contract\n   */\n  function setGovernorContract(address _governor) external;\n\n  /**\n   * @notice Sets the treasury contract\n   * @param _treasury The address of the treasury contract\n   */\n  function setTreasuryContract(address _treasury) external;\n\n  /**\n   * @notice Returns the governor contract\n   * @return The address of the governor contract\n   */\n  function getGovernorContract() external view returns (address);\n\n  /**\n   * @notice Returns the treasury contract\n   * @return The address of the treasury contract\n   */\n  function getTreasuryContract() external view returns (address);\n\n  /**\n   * @notice Returns the b3tr contract\n   * @return The address of the b3tr contract\n   */\n  function getB3trContract() external view returns (address);\n\n  /**\n   * @notice Sets the b3tr contract\n   * @param _b3tr The address of the b3tr contract\n   */\n  function setB3trContract(address _b3tr) external;\n\n  /**\n   * @notice Updates the grants receiver address\n   * @param proposalId The ID of the proposal\n   * @param newGrantsReceiver The new grants receiver address\n   */\n  function updateGrantsReceiver(uint256 proposalId, address newGrantsReceiver) external;\n\n  /**\n   * @notice Returns the grants receiver address\n   * @param proposalId The ID of the proposal\n   * @return The address of the grants receiver\n   */\n  function getGrantsReceiverAddress(uint256 proposalId) external view returns (address);\n\n  // ------------------ Metadata Functions ------------------ //\n\n  /**\n   * @notice Updates the milestone description metadata URI for a proposal\n   * @param proposalId The ID of the proposal\n   * @param newMilestoneMetadataURI The milestone description metadata URI to set\n   */\n  function updateMilestoneMetadataURI(uint256 proposalId, string memory newMilestoneMetadataURI) external;\n\n  /**\n   * @notice Returns the milestone  metadata URI for a proposal\n   * @param proposalId The ID of the proposal\n   * @return The milestone  metadata URI for the proposal\n   */\n  function getMilestoneMetadataURI(uint256 proposalId) external view returns (string memory);\n}\n"},"contracts/interfaces/INavigatorRegistry.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\n/**\n * @title INavigatorRegistry\n * @notice Interface for the NavigatorRegistry contract.\n * Navigators are professional voting delegates who stake B3TR to vote on behalf of citizens.\n */\ninterface INavigatorRegistry {\n  // ======================== Types ======================== //\n\n  /// @notice Navigator lifecycle status\n  enum NavigatorStatus {\n    NONE, // not registered\n    ACTIVE, // registered and active\n    EXITING, // announced exit, notice period in progress\n    DEACTIVATED // exit complete or governance deactivation — can withdraw\n  }\n\n  // ======================== Errors ======================== //\n\n  // -- Staking --\n\n  /// @notice Thrown when stake is below minimum\n  error StakeBelowMinimum(uint256 provided, uint256 minimum);\n\n  /// @notice Thrown when stake exceeds maximum (percentage of VOT3 supply)\n  error StakeExceedsMaximum(uint256 provided, uint256 maximum);\n\n  /// @notice Thrown when caller is already a registered navigator\n  error AlreadyRegistered(address navigator);\n\n  /// @notice Thrown when caller is currently delegating to a navigator\n  error DelegatorCannotRegister(address delegator, address currentNavigator);\n\n  /// @notice Thrown when caller is not a registered navigator\n  error NotRegistered(address navigator);\n\n  /// @notice Thrown when navigator is deactivated\n  error NavigatorDeactivated(address navigator);\n\n  /// @notice Thrown when navigator is still active and must exit first\n  error NavigatorStillActive(address navigator);\n\n  // -- Delegation --\n\n  /// @notice Thrown when citizen is already delegated to a navigator\n  error AlreadyDelegated(address citizen, address currentNavigator);\n\n  /// @notice Thrown when citizen is not delegated to any navigator\n  error NotDelegated(address citizen);\n\n  /// @notice Thrown when target address is not a registered navigator\n  error NotANavigator(address account);\n\n  /// @notice Thrown when navigator cannot accept new delegations\n  error NavigatorCannotAcceptDelegations(address navigator);\n\n  /// @notice Thrown when delegation would exceed navigator's capacity\n  error ExceedsNavigatorCapacity(address navigator, uint256 requested, uint256 available);\n\n  /// @notice Thrown when delegation amount is zero\n  error ZeroDelegationAmount();\n\n  /// @notice Thrown when delegation is below 1 VOT3 or a partial reduction would leave a sub-minimum positive balance\n  error BelowMinimumDelegation(uint256 amount, uint256 minimum);\n\n  /// @notice Thrown when trying to reduce more than the delegated amount\n  error InsufficientDelegation(uint256 requested, uint256 available);\n\n  /// @notice Thrown when a navigator tries to delegate to themselves\n  error SelfDelegationNotAllowed(address account);\n\n  /// @notice Thrown when delegation would exceed the citizen's unlocked VOT3 balance\n  error InsufficientUnlockedBalance(address citizen, uint256 requested, uint256 available);\n\n  // -- Voting --\n\n  /// @notice Thrown when appIds and percentages arrays have different lengths\n  error LengthMismatch(uint256 appsLength, uint256 percentagesLength);\n\n  /// @notice Thrown when allocation preferences array is empty\n  error EmptyPreferences();\n\n  /// @notice Thrown when too many apps in preferences\n  error TooManyApps(uint256 count);\n\n  /// @notice Thrown when preferences already set for this round\n  error PreferencesAlreadySet(address navigator, uint256 roundId);\n\n  /// @notice Thrown when governance decision value is invalid\n  error InvalidDecision(uint8 decision);\n\n  /// @notice Thrown when decision already set for this proposal\n  error DecisionAlreadySet(address navigator, uint256 proposalId);\n\n  /// @notice Thrown when querying a decision that hasn't been set\n  error DecisionNotSet(address navigator, uint256 proposalId);\n\n  /// @notice Thrown when querying preferences that haven't been set\n  error PreferencesNotSet(address navigator, uint256 roundId);\n\n  // -- Fees --\n\n  /// @notice Thrown when trying to claim fees that are still locked\n  error FeesStillLocked(uint256 roundId, uint256 unlockRound, uint256 currentRound);\n\n  /// @notice Thrown when there are no fees to claim for the round\n  error NoFeesToClaim(address navigator, uint256 roundId);\n\n  /// @notice Thrown when navigator's fees have been forfeited via major slash\n  error FeesForfeited(address navigator);\n\n  // -- Slashing --\n\n  /// @notice Thrown when navigator has already been slashed for this round\n  error AlreadySlashed(address navigator, uint256 roundId);\n\n  /// @notice Thrown when no infraction was found for this round (report is invalid)\n  error NoInfractionFound(address navigator, uint256 roundId);\n\n  /// @notice Thrown when a report is attempted while the round is still active\n  error RoundStillActive(uint256 roundId);\n\n  /// @notice Thrown when navigator has no stake to slash\n  error NoStakeToSlash(address navigator);\n\n  // -- Lifecycle --\n\n  /// @notice Thrown when navigator has already announced exit\n  error AlreadyExiting(address navigator);\n\n  /// @notice Thrown when navigator has not announced exit\n  error NotExiting(address navigator);\n\n  /// @notice Thrown when notice period has not elapsed\n  error NoticePeriodNotElapsed(uint256 currentRound, uint256 requiredRound);\n\n  /// @notice Thrown when navigator is already deactivated\n  error AlreadyDeactivated(address navigator);\n\n  // -- General --\n\n  /// @notice Thrown when a zero address is provided for a required parameter\n  error ZeroAddress(string param);\n\n  /// @notice Thrown when a parameter value is invalid\n  error InvalidParameter(string reason);\n\n  /// @notice Thrown when caller is not authorized\n  error UnauthorizedCaller(address caller);\n\n  /// @notice Thrown when trying to withdraw more stake than available\n  error InsufficientStake(uint256 available, uint256 requested);\n\n  /// @notice Thrown when a duplicate app ID is found in preferences\n  error DuplicateApp(bytes32 appId);\n\n  /// @notice Thrown when allocation percentages don't sum to BASIS_POINTS\n  error PercentageMismatch(uint256 total, uint256 expected);\n\n  /// @notice Thrown when slash percentage exceeds maximum\n  error SlashExceedsMax(uint256 slashPercentage, uint256 max);\n\n  /// @notice Thrown when a percentage value is zero\n  error ZeroPercentage();\n\n  // ======================== Events ======================== //\n\n  // -- Staking --\n\n  /// @notice Emitted when a navigator registers by staking B3TR\n  /// @param navigator The navigator address\n  /// @param stakeAmount The B3TR amount staked\n  /// @param metadataURI The navigator's metadata URI\n  event NavigatorRegistered(address indexed navigator, uint256 stakeAmount, string metadataURI);\n\n  /// @notice Emitted when a navigator adds to their stake\n  /// @param navigator The navigator address\n  /// @param amount The additional B3TR staked\n  /// @param newTotal The new total stake\n  event StakeAdded(address indexed navigator, uint256 amount, uint256 newTotal);\n\n  /// @notice Emitted when a navigator withdraws stake after exit\n  /// @param navigator The navigator address\n  /// @param amount The B3TR amount withdrawn\n  /// @param remaining The remaining stake\n  event StakeWithdrawn(address indexed navigator, uint256 amount, uint256 remaining);\n\n  // -- Delegation --\n\n  /// @notice Emitted when a citizen delegates VOT3 to a navigator for the first time\n  /// @param citizen The delegating citizen address\n  /// @param navigator The navigator receiving the delegation\n  /// @param amount The VOT3 amount delegated\n  event DelegationCreated(address indexed citizen, address indexed navigator, uint256 amount);\n\n  /// @notice Emitted when a citizen increases their existing delegation\n  /// @param citizen The citizen address\n  /// @param navigator The navigator address\n  /// @param addedAmount The additional VOT3 delegated\n  /// @param newTotal The new total delegation amount\n  event DelegationIncreased(address indexed citizen, address indexed navigator, uint256 addedAmount, uint256 newTotal);\n\n  /// @notice Emitted when a citizen reduces their delegation (but doesn't fully remove)\n  /// @param citizen The citizen address\n  /// @param navigator The navigator address\n  /// @param removedAmount The VOT3 amount removed\n  /// @param newTotal The new total delegation amount\n  event DelegationDecreased(\n    address indexed citizen,\n    address indexed navigator,\n    uint256 removedAmount,\n    uint256 newTotal\n  );\n\n  /// @notice Emitted when a citizen fully undelegates from a navigator\n  /// @param citizen The citizen address\n  /// @param navigator The navigator address\n  /// @param amount The VOT3 amount that was delegated\n  event DelegationRemoved(address indexed citizen, address indexed navigator, uint256 amount);\n\n  // -- Voting --\n\n  /// @notice Emitted when a navigator sets allocation preferences for a round\n  /// @param navigator The navigator address\n  /// @param roundId The allocation round ID\n  /// @param appIds The app IDs selected\n  event AllocationPreferencesSet(address indexed navigator, uint256 indexed roundId, bytes32[] appIds);\n\n  /// @notice Emitted when a navigator sets a governance proposal decision\n  /// @param navigator The navigator address\n  /// @param proposalId The proposal ID\n  /// @param decision The vote decision (1=Against, 2=For, 3=Abstain)\n  event ProposalDecisionSet(address indexed navigator, uint256 indexed proposalId, uint8 decision);\n\n  // -- Fees --\n\n  /// @notice Emitted when fees are deposited for a navigator\n  /// @param navigator The navigator address\n  /// @param roundId The round the fee was earned in\n  /// @param amount The B3TR fee amount\n  event FeeDeposited(address indexed navigator, uint256 indexed roundId, uint256 amount);\n\n  /// @notice Emitted when a navigator claims their unlocked fees\n  /// @param navigator The navigator address\n  /// @param roundId The round claimed for\n  /// @param amount The B3TR amount claimed\n  event FeeClaimed(address indexed navigator, uint256 indexed roundId, uint256 amount);\n\n  // -- Slashing --\n\n  /// @notice Emitted when a navigator is slashed for minor infractions in a round\n  /// @param navigator The navigator address\n  /// @param amount The B3TR amount slashed\n  /// @param remainingStake The stake remaining after slash\n  /// @param roundId The round ID associated with the slash\n  /// @param infractionFlags Bitmask of infractions found in the round\n  event NavigatorMinorSlashed(\n    address indexed navigator,\n    uint256 amount,\n    uint256 remainingStake,\n    uint256 roundId,\n    uint256 infractionFlags\n  );\n\n  /// @notice Emitted when a navigator is slashed by governance (major infraction)\n  /// @param navigator The navigator address\n  /// @param amount The B3TR amount slashed\n  /// @param remainingStake The stake remaining after slash\n  /// @param reason The slash reason string\n  event NavigatorSlashed(address indexed navigator, uint256 amount, uint256 remainingStake, string reason);\n\n  // -- Lifecycle --\n\n  /// @notice Emitted when a navigator announces their intent to exit\n  /// @param navigator The navigator address\n  /// @param announcedAtRound The round when exit was announced\n  /// @param effectiveDeadline The block number when the navigator becomes dead\n  event ExitAnnounced(address indexed navigator, uint256 announcedAtRound, uint256 effectiveDeadline);\n\n  /// @notice Emitted when a navigator is deactivated by governance\n  /// @param navigator The navigator address\n  /// @param slashPercentage The slash percentage applied (basis points)\n  event NavigatorDeactivatedEvent(address indexed navigator, uint256 slashPercentage);\n\n  /// @notice Emitted when a navigator updates their metadata URI\n  /// @param navigator The navigator address\n  /// @param newURI The new metadata URI\n  event MetadataURIUpdated(address indexed navigator, string newURI);\n\n  /// @notice Emitted when a navigator submits a periodic report\n  /// @param navigator The navigator address\n  /// @param roundId The round the report covers\n  /// @param reportURI The report metadata URI\n  event ReportSubmitted(address indexed navigator, uint256 indexed roundId, string reportURI);\n\n  // ======================== Registration & Staking ======================== //\n\n  /// @notice Register as a navigator by staking B3TR\n  /// @param amount The B3TR amount to stake (must meet minimum)\n  /// @param metadataURI The navigator's metadata URI\n  function register(uint256 amount, string calldata metadataURI) external;\n\n  /// @notice Add more B3TR to an existing navigator's stake\n  /// @param amount The additional B3TR to stake\n  function addStake(uint256 amount) external;\n\n  /// @notice Reduce stake while active (must stay above min stake and maintain delegation capacity)\n  /// @param amount The B3TR amount to reduce\n  function reduceStake(uint256 amount) external;\n\n  /// @notice Withdraw staked B3TR (only after exit is finalized or deactivation)\n  /// @param amount The B3TR amount to withdraw\n  function withdrawStake(uint256 amount) external;\n\n  // ======================== Delegation ======================== //\n\n  /// @notice Delegate VOT3 to a navigator (first-time only)\n  /// @param navigator The navigator to delegate to\n  /// @param amount The VOT3 amount to delegate\n  function delegate(address navigator, uint256 amount) external;\n\n  /// @notice Increase delegation to the current navigator\n  /// @param amount The additional VOT3 to delegate\n  function increaseDelegation(uint256 amount) external;\n\n  /// @notice Partially reduce delegation amount\n  /// @param reduceBy The VOT3 amount to reduce delegation by\n  function reduceDelegation(uint256 reduceBy) external;\n\n  /// @notice Fully undelegate from the current navigator\n  function undelegate() external;\n\n  // ======================== Voting Decisions ======================== //\n\n  /// @notice Set allocation voting preferences for a round\n  /// @param roundId The allocation round ID\n  /// @param appIds Array of app IDs to vote for\n  /// @param percentages Allocation percentage per app in basis points (must sum to 10000)\n  function setAllocationPreferences(\n    uint256 roundId,\n    bytes32[] calldata appIds,\n    uint256[] calldata percentages\n  ) external;\n\n  /// @notice Set a governance proposal voting decision\n  /// @param proposalId The governance proposal ID\n  /// @param decision The vote decision (1=Against, 2=For, 3=Abstain)\n  function setProposalDecision(uint256 proposalId, uint8 decision) external;\n\n  // ======================== Fees ======================== //\n\n  /// @notice Claim unlocked fees for a specific round\n  /// @param roundId The round to claim fees for\n  function claimFee(uint256 roundId) external;\n\n  /// @notice Deposit a fee for a navigator in a specific round\n  /// @param navigator The navigator to receive the fee\n  /// @param roundId The round the fee was earned in\n  /// @param amount The B3TR fee amount\n  function depositNavigatorFee(address navigator, uint256 roundId, uint256 amount) external;\n\n  // ======================== Slashing Reports ======================== //\n\n  /// @notice Report a navigator for minor infractions in a completed round\n  /// @param navigator The navigator address\n  /// @param roundId The completed round to report\n  /// @param proposalIds Proposal IDs that were active in the round\n  function reportRoundInfractions(address navigator, uint256 roundId, uint256[] calldata proposalIds) external;\n\n  /// @notice Deactivate a navigator by governance decision with optional slashing\n  /// @param navigator The navigator address\n  /// @param slashPercentage Percentage of stake to slash (basis points)\n  /// @param slashFees Whether to also forfeit all unclaimed locked fees\n  function deactivateNavigator(address navigator, uint256 slashPercentage, bool slashFees) external;\n\n  // ======================== Lifecycle ======================== //\n\n  /// @notice Announce intent to exit as a navigator, starting the notice period\n  function announceExit() external;\n\n  /// @notice Update the navigator's metadata URI\n  /// @param uri The new metadata URI\n  function setMetadataURI(string calldata uri) external;\n\n  /// @notice Submit a periodic report for the current round\n  /// @param reportURI The report metadata URI\n  function submitReport(string calldata reportURI) external;\n\n  // ======================== Governance Setters ======================== //\n\n  /// @notice Set the minimum B3TR stake required to register as a navigator\n  /// @param newMinStake The new minimum stake\n  function setMinStake(uint256 newMinStake) external;\n\n  /// @notice Set the maximum stake as a percentage of VOT3 total supply\n  /// @param newPercentage The new max stake percentage (basis points)\n  function setMaxStakePercentage(uint256 newPercentage) external;\n\n  /// @notice Set the number of rounds fees are locked before claiming\n  /// @param newPeriod The new fee lock period (in rounds)\n  function setFeeLockPeriod(uint256 newPeriod) external;\n\n  /// @notice Set the navigator fee percentage deducted from citizen rewards\n  /// @param newPercentage The new fee percentage (basis points)\n  function setFeePercentage(uint256 newPercentage) external;\n\n  /// @notice Set the exit notice period navigators must remain active after announcing exit\n  /// @param newPeriod The new notice period (in rounds)\n  function setExitNoticePeriod(uint256 newPeriod) external;\n\n  /// @notice Set the interval at which navigators must submit reports\n  /// @param newInterval The new report interval (in rounds)\n  function setReportInterval(uint256 newInterval) external;\n\n  /// @notice Set the percentage of stake slashed for minor infractions\n  /// @param newPercentage The new minor slash percentage (basis points)\n  function setMinorSlashPercentage(uint256 newPercentage) external;\n\n  /// @notice Set the cutoff period before round end for setting preferences\n  /// @param newPeriod The new cutoff period (in blocks)\n  function setPreferenceCutoffPeriod(uint256 newPeriod) external;\n\n  /// @notice Set the XAllocationVoting contract address\n  /// @param newAddress The new XAllocationVoting address\n  function setXAllocationVoting(address newAddress) external;\n\n  /// @notice Set the RelayerRewardsPool contract address\n  /// @param newAddress The new RelayerRewardsPool address\n  function setRelayerRewardsPool(address newAddress) external;\n\n  /// @notice Set the VoterRewards contract address\n  /// @param newAddress The new VoterRewards address\n  function setVoterRewards(address newAddress) external;\n\n  // ======================== View Functions ======================== //\n\n  // -- Staking --\n\n  /// @notice Get the staked B3TR amount for a navigator\n  /// @param navigator The navigator address\n  /// @return The staked B3TR amount\n  function getStake(address navigator) external view returns (uint256);\n\n  /// @notice Check if an address is a registered and active navigator\n  /// @param account The address to check\n  /// @return True if the account is a registered, non-deactivated navigator\n  function isNavigator(address account) external view returns (bool);\n\n  /// @notice Check if a navigator can accept new delegations\n  /// @param navigator The navigator address\n  /// @return True if the navigator is active, above min stake, and not exiting\n  function canAcceptDelegations(address navigator) external view returns (bool);\n\n  /// @notice Get the maximum VOT3 that can be delegated to a navigator\n  /// @param navigator The navigator address\n  /// @return The maximum delegation capacity (stake * 10)\n  function getDelegationCapacity(address navigator) external view returns (uint256);\n\n  /// @notice Get the remaining delegation capacity for a navigator\n  /// @param navigator The navigator address\n  /// @return The remaining capacity (0 if at or over capacity)\n  function getRemainingCapacity(address navigator) external view returns (uint256);\n\n  /// @notice Get the minimum B3TR stake required to register\n  /// @return The minimum stake amount\n  function getMinStake() external view returns (uint256);\n\n  /// @notice Get the current maximum stake allowed (based on VOT3 supply)\n  /// @return The maximum stake amount\n  function getMaxStake() external view returns (uint256);\n\n  /// @notice Get the staked amount for a navigator at a past block (checkpointed)\n  /// @dev Used by VotesUtils and GovernorVotesLogic to include staked amount in voting power.\n  /// Returns 0 for non-navigators (no checkpoints).\n  /// @param navigator The navigator address\n  /// @param timepoint The block number to query\n  /// @return The staked amount at the given block\n  function getStakedAmountAtTimepoint(address navigator, uint256 timepoint) external view returns (uint256);\n\n  // -- Delegation --\n\n  /// @notice Get the navigator a citizen is delegated to\n  /// @param citizen The citizen address\n  /// @return The navigator address (address(0) if not delegated or delegation is void)\n  function getNavigator(address citizen) external view returns (address);\n\n  /// @notice Get the navigator a citizen was delegated to at a past block (checkpointed)\n  /// @dev Does NOT apply dead-navigator invalidation — callers decide.\n  /// @param citizen The citizen address\n  /// @param timepoint The block number to query\n  /// @return The navigator address at the given block (address(0) if not delegated)\n  function getNavigatorAtTimepoint(address citizen, uint256 timepoint) external view returns (address);\n\n  /// @notice Get the raw navigator stored for a citizen, ignoring dead-navigator status\n  /// @param citizen The citizen address\n  /// @return The raw navigator address, or address(0) if never delegated or undelegated\n  function getRawNavigator(address citizen) external view returns (address);\n\n  /// @notice Get the raw navigator stored for a citizen at a past block (checkpointed)\n  /// @dev Useful for frontends to show delegation state even when navigator is dead/exiting.\n  /// @param citizen The citizen address\n  /// @param timepoint The block number to query\n  /// @return The raw navigator address from checkpoint, or address(0) if never delegated or undelegated\n  function getRawNavigatorAtTimepoint(address citizen, uint256 timepoint) external view returns (address);\n\n  /// @notice Get the current VOT3 amount a citizen has delegated\n  /// @param citizen The citizen address\n  /// @return The delegated VOT3 amount (0 if not delegated or delegation is void)\n  function getDelegatedAmount(address citizen) external view returns (uint256);\n\n  /// @notice Get the total VOT3 delegated to a navigator\n  /// @param navigator The navigator address\n  /// @return The total delegated VOT3 amount\n  function getTotalDelegated(address navigator) external view returns (uint256);\n\n  /// @notice Get total VOT3 delegated to a navigator at a past block\n  /// @param navigator The navigator address\n  /// @param timepoint The block number to query\n  /// @return The total VOT3 delegated at that block\n  function getTotalDelegatedAtTimepoint(address navigator, uint256 timepoint) external view returns (uint256);\n\n  /// @notice Get total delegated citizens at a past block\n  /// @param timepoint The block number to query\n  /// @return The total delegated citizens at the given block\n  function getTotalDelegatedCitizensAtTimepoint(uint48 timepoint) external view returns (uint208);\n\n  /// @notice Check if a citizen has an active delegation\n  /// @param citizen The citizen address\n  /// @return True if delegated to an active navigator\n  function isDelegated(address citizen) external view returns (bool);\n\n  /// @notice Get the delegated amount at a past block (for snapshot-based voting power)\n  /// @param citizen The citizen address\n  /// @param timepoint The block number to query\n  /// @return The delegated VOT3 amount at the given block\n  function getDelegatedAmountAtTimepoint(address citizen, uint256 timepoint) external view returns (uint256);\n\n  /// @notice Check if a citizen was delegated at a past block (checkpointed)\n  /// @dev Does NOT apply dead-navigator invalidation — callers decide.\n  /// @param citizen The citizen address\n  /// @param timepoint The block number to query\n  /// @return True if the citizen had a navigator at the given block\n  function isDelegatedAtTimepoint(address citizen, uint256 timepoint) external view returns (bool);\n\n  // -- Voting --\n\n  /// @notice Get allocation preferences for a navigator in a round\n  /// @param navigator The navigator address\n  /// @param roundId The allocation round ID\n  /// @return appIds The app IDs selected\n  /// @return percentages The allocation percentages per app (basis points)\n  function getAllocationPreferences(\n    address navigator,\n    uint256 roundId\n  ) external view returns (bytes32[] memory appIds, uint256[] memory percentages);\n\n  /// @notice Check if a navigator has set preferences for a round\n  /// @param navigator The navigator address\n  /// @param roundId The allocation round ID\n  /// @return True if preferences have been set\n  function hasSetPreferences(address navigator, uint256 roundId) external view returns (bool);\n\n  /// @notice Get the block number when preferences were set\n  /// @param navigator The navigator address\n  /// @param roundId The allocation round ID\n  /// @return The block number (0 if not set)\n  function getPreferencesSetBlock(address navigator, uint256 roundId) external view returns (uint256);\n\n  /// @notice Get a navigator's decision for a governance proposal\n  /// @param navigator The navigator address\n  /// @param proposalId The proposal ID\n  /// @return The vote decision (1=Against, 2=For, 3=Abstain)\n  function getProposalDecision(address navigator, uint256 proposalId) external view returns (uint8);\n\n  /// @notice Check if a navigator has set a decision for a proposal\n  /// @param navigator The navigator address\n  /// @param proposalId The proposal ID\n  /// @return True if a decision has been set\n  function hasSetDecision(address navigator, uint256 proposalId) external view returns (bool);\n\n  // -- Fees --\n\n  /// @notice Get the fee amount for a navigator in a specific round\n  /// @param navigator The navigator address\n  /// @param roundId The round ID\n  /// @return The B3TR fee amount\n  function getRoundFee(address navigator, uint256 roundId) external view returns (uint256);\n\n  /// @notice Get the fee lock period (number of rounds)\n  /// @return The fee lock period\n  function getFeeLockPeriod() external view returns (uint256);\n\n  /// @notice Get the navigator fee percentage in basis points\n  /// @return The fee percentage\n  function getFeePercentage() external view returns (uint256);\n\n  /// @notice Check if fees for a round are unlocked\n  /// @param roundId The round to check\n  /// @return True if the round's fees are claimable\n  function isRoundFeeUnlocked(uint256 roundId) external view returns (bool);\n\n  // -- Slashing --\n\n  /// @notice Get the total amount slashed from a navigator over their lifetime\n  /// @param navigator The navigator address\n  /// @return The total B3TR amount slashed\n  function getTotalSlashed(address navigator) external view returns (uint256);\n\n  /// @notice Get the minor slash percentage in basis points\n  /// @return The minor slash percentage\n  function getMinorSlashPercentage() external view returns (uint256);\n\n  /// @notice Check if a navigator was already slashed for a round\n  /// @param navigator The navigator address\n  /// @param roundId The round ID\n  /// @return slashed True if slashed for this round\n  /// @return infractionFlags Bitmask of infractions found when slashed\n  function isSlashedForRound(\n    address navigator,\n    uint256 roundId\n  ) external view returns (bool slashed, uint256 infractionFlags);\n\n  /// @notice Get the preference cutoff period (in blocks before round end)\n  /// @return The cutoff period in blocks\n  function getPreferenceCutoffPeriod() external view returns (uint256);\n\n  // -- Lifecycle --\n\n  /// @notice Get the current lifecycle status of a navigator\n  /// @param account The address to check\n  /// @return 0=NONE, 1=ACTIVE, 2=EXITING, 3=DEACTIVATED\n  function getStatus(address account) external view returns (uint8);\n\n  /// @notice Check if a navigator is in the exit process\n  /// @param navigator The navigator address\n  /// @return True if the navigator has announced exit\n  function isExiting(address navigator) external view returns (bool);\n\n  /// @notice Check if a navigator has been deactivated\n  /// @param navigator The navigator address\n  /// @return True if deactivated\n  function isDeactivated(address navigator) external view returns (bool);\n\n  /// @notice Check if a navigator was deactivated (exited or governance-deactivated) at a given timepoint\n  /// @dev Uses checkpointed navigatorDeactivated mapping.\n  /// @param navigator The navigator address\n  /// @param timepoint The block number to query\n  /// @return True if the navigator was dead at the given timepoint\n  function isDeactivatedAtTimepoint(address navigator, uint256 timepoint) external view returns (bool);\n\n  /// @notice Get the round when exit was announced (0 = not exiting)\n  /// @param navigator The navigator address\n  /// @return The exit-announced round ID (0 if not exiting)\n  function exitAnnouncedRound(address navigator) external view returns (uint256);\n\n  /// @notice Get the exit notice period (in rounds)\n  /// @return The notice period\n  function getExitNoticePeriod() external view returns (uint256);\n\n  /// @notice Get the report submission interval (in rounds)\n  /// @return The report interval\n  function getReportInterval() external view returns (uint256);\n\n  // -- Profile --\n\n  /// @notice Get the navigator's metadata URI\n  /// @param navigator The navigator address\n  /// @return The metadata URI string\n  function getMetadataURI(address navigator) external view returns (string memory);\n\n  /// @notice Get the round of the navigator's last report submission\n  /// @param navigator The navigator address\n  /// @return The round ID of the last report\n  function getLastReportRound(address navigator) external view returns (uint256);\n\n  /// @notice Get the navigator's last report URI\n  /// @param navigator The navigator address\n  /// @return The report URI string\n  function getLastReportURI(address navigator) external view returns (string memory);\n\n  // -- Meta --\n\n  /// @notice Get the contract version string\n  /// @return The version string\n  function version() external pure returns (string memory);\n\n  /// @notice Get the GOVERNANCE_ROLE identifier\n  /// @return The role bytes32 hash\n  function GOVERNANCE_ROLE() external view returns (bytes32);\n\n  /// @notice Get the UPGRADER_ROLE identifier\n  /// @return The role bytes32 hash\n  function UPGRADER_ROLE() external view returns (bytes32);\n\n  /// @notice Get the BASIS_POINTS constant (10000)\n  /// @return The basis points scale\n  function BASIS_POINTS() external view returns (uint256);\n}\n"},"contracts/interfaces/IRelayerRewardsPool.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\n/**\n * @notice Enum for different types of relayer actions\n */\nenum RelayerAction {\n  VOTE, // Casting votes on behalf of users\n  CLAIM // Claiming rewards for users\n}\n\n/**\n * @title IRelayerRewardsPool\n * @author VeBetterDAO\n * @notice Interface for the RelayerRewardsPool contract that manages rewards for relayers\n * who perform auto-voting actions on behalf of users.\n */\ninterface IRelayerRewardsPool {\n  // =========================== Events ===========================\n\n  /**\n   * @notice Emitted when early access vote allocations are set for a round\n   * @param roundId The round ID\n   * @param totalAutoVoteUsers The total number of auto-voting users\n   * @param totalActions The total number of actions to be allocated\n   * @param totalWeightedActions The total weighted actions to be allocated\n   * @param numRelayers The number of registered relayers\n   */\n  event TotalAutoVotingActionsSet(\n    uint256 indexed roundId,\n    uint256 totalAutoVoteUsers,\n    uint256 totalActions,\n    uint256 totalWeightedActions,\n    uint256 numRelayers\n  );\n\n  /**\n   * @notice Emitted when expected actions are reduced for a round\n   * @param roundId The round ID\n   * @param actionsReduced Number of plain actions removed from the round totals in this update\n   * @param newTotalActions The new total actions required\n   * @param newTotalWeightedActions The new total weighted actions required\n   */\n  event ExpectedActionsReduced(\n    uint256 indexed roundId,\n    uint256 actionsReduced,\n    uint256 newTotalActions,\n    uint256 newTotalWeightedActions\n  );\n\n  /**\n   * @notice Emitted when a relayer action is registered\n   * @param relayer The relayer address\n   * @param voter The voter address\n   * @param roundId The round ID\n   * @param actionCount The new total action count for the relayer\n   * @param weight The weight of the action\n   */\n  event RelayerActionRegistered(\n    address indexed relayer,\n    address indexed voter,\n    uint256 indexed roundId,\n    uint256 actionCount,\n    uint256 weight\n  );\n\n  /**\n   * @notice Emitted when rewards are deposited for a round\n   * @param roundId The round ID\n   * @param amount The amount deposited\n   * @param totalRewards The new total rewards for the round\n   */\n  event RewardsDeposited(uint256 indexed roundId, uint256 amount, uint256 totalRewards);\n\n  /**\n   * @notice Emitted when a relayer claims rewards\n   * @param relayer The relayer address\n   * @param roundId The round ID\n   * @param amount The amount claimed\n   */\n  event RelayerRewardsClaimed(address indexed relayer, uint256 indexed roundId, uint256 amount);\n\n  /**\n   * @notice Emitted when vote weight is updated\n   * @param newWeight The new vote weight\n   * @param oldWeight The old vote weight\n   */\n  event VoteWeightUpdated(uint256 newWeight, uint256 oldWeight);\n\n  /**\n   * @notice Emitted when claim weight is updated\n   * @param newWeight The new claim weight\n   * @param oldWeight The old claim weight\n   */\n  event ClaimWeightUpdated(uint256 newWeight, uint256 oldWeight);\n\n  /**\n   * @notice Emitted when relayer fee percentage is updated\n   * @param newFee The new relayer fee percentage\n   * @param oldFee The old relayer fee percentage\n   */\n  event RelayerFeePercentageUpdated(uint256 newFee, uint256 oldFee);\n\n  /**\n   * @notice Emitted when fee cap is updated\n   * @param newFee The new fee cap\n   * @param oldFee The old fee cap\n   */\n  event FeeCapUpdated(uint256 newFee, uint256 oldFee);\n\n  /**\n   * @notice Emitted when relayer fee denominator is updated\n   * @param newDenominator The new relayer fee denominator\n   * @param oldDenominator The old relayer fee denominator\n   */\n  event RelayerFeeDenominatorUpdated(uint256 newDenominator, uint256 oldDenominator);\n\n  /**\n   * @notice Emitted when a relayer is registered\n   * @param relayer The address of the registered relayer\n   */\n  event RelayerRegistered(address indexed relayer);\n\n  /**\n   * @notice Emitted when a relayer is unregistered\n   * @param relayer The address of the unregistered relayer\n   */\n  event RelayerUnregistered(address indexed relayer);\n\n  /**\n   * @notice Emitted when a user updates their preferred relayer\n   * @param user The user updating the preference\n   * @param relayer The preferred relayer, or zero address when cleared\n   */\n  event PreferredRelayerSet(address indexed user, address indexed relayer);\n\n  /**\n   * @notice Emitted when early access blocks are updated\n   * @param newBlocks The new number of early access blocks\n   * @param oldBlocks The old number of early access blocks\n   */\n  event EarlyAccessBlocksUpdated(uint256 newBlocks, uint256 oldBlocks);\n\n  /**\n   * @notice Emitted when the B3TR contract address is updated\n   * @param newAddress The new B3TR contract address\n   * @param oldAddress The old B3TR contract address\n   */\n  event B3TRAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /**\n   * @notice Emitted when the Emissions contract address is updated\n   * @param newAddress The new Emissions contract address\n   * @param oldAddress The old Emissions contract address\n   */\n  event EmissionsAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /**\n   * @notice Emitted when the XAllocationVoting contract address is updated\n   * @param newAddress The new XAllocationVoting contract address\n   * @param oldAddress The old XAllocationVoting contract address\n   */\n  event XAllocationVotingAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  // =========================== Custom Errors ===========================\n\n  /// @notice Custom error for when relayer is already registered\n  error RelayerAlreadyRegistered(address relayer);\n\n  /// @notice Custom error for when relayer is not registered\n  error RelayerNotRegistered(address relayer);\n\n  /// @notice Custom error for when caller is not the relayer (self-unregister) nor admin\n  error UnauthorizedUnregister(address caller, address relayer);\n\n  /// @notice Custom error for when a round has not ended yet\n  error RoundNotEnded(uint256 roundId);\n\n  /// @notice Custom error for when trying to claim rewards twice\n  error RewardsAlreadyClaimed(address relayer, uint256 roundId);\n\n  /// @notice Custom error for when there are no rewards to claim\n  error NoRewardsToClaim(address relayer, uint256 roundId);\n\n  /// @notice Custom error for when transfer fails\n  error TransferFailed();\n\n  /// @notice Custom error for invalid parameters\n  error InvalidParameter(string parameter);\n\n  /// @notice Custom error for when caller is not the user's preferred relayer\n  error NotPreferredRelayer(address caller, address preferredRelayer);\n\n  /// @notice The user's allocation vote has already been reduced for this round\n  error UserActionAlreadyReduced(address user, uint256 roundId);\n\n  /// @notice The user's governance vote has already been reduced for this round/proposal\n  error UserGovernanceVoteAlreadyReduced(address user, uint256 roundId, uint256 proposalId);\n\n  // =========================== Getters ===========================\n\n  /**\n   * @notice Returns the total rewards available for distribution among relayers in a round\n   * @param roundId The round ID to check\n   * @return The total reward amount for the round\n   */\n  function getTotalRewards(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice Checks if rewards are claimable for a specific round\n   * @param roundId The round ID to check\n   * @return True if rewards are claimable, false otherwise\n   */\n  function isRewardClaimable(uint256 roundId) external view returns (bool);\n\n  /**\n   * @notice Returns the number of actions performed by a relayer in a specific round\n   * @param relayer The relayer address\n   * @param roundId The round ID\n   * @return The number of actions performed by the relayer\n   */\n  function totalRelayerActions(address relayer, uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice Returns the total number of actions required for a round\n   * @dev There are 2 actions for auto-voting: cast vote on behalf and claim rewards for them\n   * So, each user who enables auto-voting requires 2 actions\n   * @param roundId The round ID\n   * @return The total number of actions required for the round\n   */\n  function totalActions(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice Get the current relayer fee denominator\n   * @return The current relayer fee denominator\n   */\n  function getRelayerFeeDenominator() external view returns (uint256);\n\n  /**\n   * @notice Get the current relayer fee percentage\n   * @return The current relayer fee percentage\n   */\n  function getRelayerFeePercentage() external view returns (uint256);\n\n  /**\n   * @notice Get the current fee cap\n   * @return The current fee cap\n   */\n  function getFeeCap() external view returns (uint256);\n\n  /**\n   * @notice Get the current vote weight\n   * @return The current vote weight\n   */\n  function getVoteWeight() external view returns (uint256);\n\n  /**\n   * @notice Get the current claim weight\n   * @return The current claim weight\n   */\n  function getClaimWeight() external view returns (uint256);\n\n  /**\n   * @notice Returns the total weighted actions performed by a relayer in a specific round\n   * @param relayer The relayer address\n   * @param roundId The round ID\n   * @return The total weighted actions performed by the relayer\n   */\n  function totalRelayerWeightedActions(address relayer, uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice Returns the total weighted actions required for a round\n   * @param roundId The round ID\n   * @return The total weighted actions required for the round\n   */\n  function totalWeightedActions(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice Returns the total completed weighted actions for a round\n   * @param roundId The round ID\n   * @return The total completed weighted actions for the round\n   */\n  function completedWeightedActions(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice Check if an address is a registered relayer\n   * @param relayer The address to check\n   * @return True if the address is a registered relayer\n   */\n  function isRegisteredRelayer(address relayer) external view returns (bool);\n\n  /**\n   * @notice Get all registered relayers\n   * @return Array of registered relayer addresses\n   */\n  function getRegisteredRelayers() external view returns (address[] memory);\n\n  /**\n   * @notice Get the preferred relayer for a user\n   * @param user The user address\n   * @return The preferred relayer, or zero address if not set\n   */\n  function getPreferredRelayer(address user) external view returns (address);\n\n  /**\n   * @notice Returns the claimable reward amount for a relayer in a specific round\n   * @param relayer The relayer address\n   * @param roundId The round ID\n   * @return The claimable reward amount\n   */\n  function claimableRewards(address relayer, uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice Get the number of early access blocks\n   * @return The number of blocks for early access period\n   */\n  function getEarlyAccessBlocks() external view returns (uint256);\n\n  /**\n   * @notice Check if early access period is active for a given round\n   * @param roundId The round ID\n   * @return True if early access period is still active\n   */\n  function isVoteEarlyAccessActive(uint256 roundId) external view returns (bool);\n\n  /**\n   * @notice Check if claim early access period is active for a given round\n   * @param roundId The round ID\n   * @return True if claim early access period is still active\n   */\n  function isClaimEarlyAccessActive(uint256 roundId) external view returns (bool);\n\n  /**\n   * @notice Calculate relayer fee from total reward\n   * @param totalReward Total reward amount in wei\n   * @return Relayer fee in wei\n   */\n  function calculateRelayerFee(uint256 totalReward) external view returns (uint256);\n\n  /**\n   * @notice Get the number of missed auto-voting users for a round\n   * @param roundId The round ID\n   * @return The number of missed auto-voting users\n   */\n  function getMissedAutoVotingUsersCount(uint256 roundId) external view returns (uint256);\n\n  // =========================== Setters ===========================\n\n  /**\n   * @notice Sets the total number of actions required for a round\n   * @param roundId The round ID\n   * @param totalAutoVotingUsers The total number of auto-voting users\n   */\n  function setTotalActionsForRound(uint256 roundId, uint256 totalAutoVotingUsers) external;\n\n  /**\n   * @notice Sets expected actions for allocation and governance in a round\n   * @param roundId The round ID\n   * @param allocationUsers Number of users expected to perform allocation vote+claim actions\n   * @param governanceUsers Number of users expected to perform governance vote actions (citizens only)\n   * @param activeProposalIds IDs of active governance proposals for the round (cached in storage)\n   */\n  function setTotalActionsForRoundWithGovernance(\n    uint256 roundId,\n    uint256 allocationUsers,\n    uint256 governanceUsers,\n    uint256[] memory activeProposalIds\n  ) external;\n\n  /**\n   * @notice Set the fee cap for the relayer.\n   * @param newFeeCap The new fee cap\n   */\n  function setFeeCap(uint256 newFeeCap) external;\n\n  /**\n   * @notice Set or clear the caller's preferred relayer\n   * @param relayer The preferred relayer, or zero address to clear it\n   */\n  function setPreferredRelayer(address relayer) external;\n\n  /**\n   * @notice Reduces the total expected actions for a round when a legacy auto-voting user cannot vote.\n   * @dev Reduces both vote and claim (2 actions per user). Used by castVoteOnBehalfOf.\n   * @param roundId The round ID\n   * @param userCount The number of users to remove from expected actions (typically 1)\n   */\n  function reduceExpectedActionsForRound(uint256 roundId, uint256 userCount) external;\n\n  /**\n   * @notice Reduces allocation vote expectation for a specific user in a round.\n   * @dev Auto-reduces claim if all vote actions for the user have been skipped.\n   * @param roundId The round ID\n   * @param user The user whose allocation vote is skipped\n   */\n  function reduceUserAllocationVote(uint256 roundId, address user) external;\n\n  /**\n   * @notice Reduces governance vote expectation for a specific user/proposal in a round.\n   * @dev Auto-reduces claim if all vote actions for the user have been skipped.\n   * @param roundId The round ID\n   * @param user The user whose governance vote is skipped\n   * @param proposalId The governance proposal ID\n   */\n  function reduceUserGovernanceVote(uint256 roundId, address user, uint256 proposalId) external;\n\n  /**\n   * @notice Registers an action performed by a relayer in a specific round\n   * @param relayer The relayer address\n   * @param voter The voter address\n   * @param roundId The round ID\n   * @param action The type of action performed (VOTE or CLAIM)\n   */\n  function registerRelayerAction(address relayer, address voter, uint256 roundId, RelayerAction action) external;\n\n  /**\n   * @notice Allows a relayer to claim their rewards for a specific round\n   * @param relayer The relayer address\n   * @param roundId The round ID\n   */\n  function claimRewards(uint256 roundId, address relayer) external;\n\n  /**\n   * @notice Deposits B3TR tokens into the pool for a specific round\n   * @dev This function should be called by the VoterRewards contract\n   * @param amount The amount of B3TR tokens to deposit\n   * @param roundId The round ID to deposit for\n   */\n  function deposit(uint256 amount, uint256 roundId) external;\n\n  /**\n   * @notice Check if a relayer can perform an action during early access\n   * @param roundId The round ID\n   * @param voter The voter address\n   * @param caller The caller address\n   */\n  function validateVoteDuringEarlyAccess(uint256 roundId, address voter, address caller) external view;\n\n  /**\n   * @notice Validates if a claim can proceed for an auto-voting user\n   * @param roundId The round ID\n   * @param voter The voter address\n   * @param caller The caller address\n   */\n  function validateClaimDuringEarlyAccess(uint256 roundId, address voter, address caller) external view;\n}\n"},"contracts/interfaces/ITreasury.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\ninterface ITreasury {\n  event TransferLimitUpdated(address indexed token, uint256 limit);\n  event TransferLimitVETUpdated(uint256 limit);\n  function pause() external;\n  function unpause() external;\n  function transferVTHO(address _to, uint256 _value) external;\n  function transferB3TR(address _to, uint256 _value) external;\n  function transferVOT3(address _to, uint256 _value) external;\n  function transferVET(address _to, uint256 _value) external;\n  function transferTokens(address _token, address _to, uint256 _value) external;\n  function transferNFT(address _nft, address _to, uint256 _tokenId) external;\n  function convertB3TR(uint256 _b3trAmount) external;\n  function convertVOT3(uint256 __vot3Amount) external;\n  function getVTHOBalance() external view returns (uint256);\n  function getB3TRBalance() external view returns (uint256);\n  function getVOT3Balance() external view returns (uint256);\n  function getVETBalance() external view returns (uint256);\n  function getTokenBalance(address _token) external view returns (uint256);\n  function getCollectionNFTBalance(address _nft) external view returns (uint256);\n  function version() external pure returns (string memory);\n  function b3trAddress() external view returns (address);\n  function vot3Address() external view returns (address);\n}\n"},"contracts/interfaces/IVeBetterPassport.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { PassportTypes } from \"../ve-better-passport/libraries/PassportTypes.sol\";\nimport { IX2EarnApps } from \"./IX2EarnApps.sol\";\nimport { IXAllocationVotingGovernor } from \"./IXAllocationVotingGovernor.sol\";\n\ninterface IVeBetterPassport {\n  // ---------- Events ---------- //\n\n  /// @notice Emitted when a specific check is toggled.\n  /// @param checkName The name of the check being toggled.\n  /// @param enabled True if the check is enabled, false if disabled.\n  event CheckToggled(string indexed checkName, bool enabled);\n\n  /// @notice Emitted when the minimum galaxy member level is set.\n  /// @param minimumGalaxyMemberLevel The new minimum galaxy member level.\n  event MinimumGalaxyMemberLevelSet(uint256 minimumGalaxyMemberLevel);\n\n  /// @notice Emitted when a user delegates personhood to another user.\n  event LinkCreated(address indexed entity, address indexed passport);\n\n  /// @notice Emitted when a user revokes the delegation of personhood to another user.\n  event LinkRemoved(address indexed entity, address indexed passport);\n\n  /// @notice Emitted when a user delegates personhood to another user pending acceptance.\n  event LinkPending(address indexed entity, address indexed passport);\n\n  /// @notice Emitted when a user registers an action\n  /// @param user - the user that registered the action\n  /// @param passport - the passport address of the user\n  /// @param appId - the app id of the action\n  /// @param round - the round of the action\n  /// @param actionScore - the score of the action\n  event RegisteredAction(\n    address indexed user,\n    address passport,\n    bytes32 indexed appId,\n    uint256 indexed round,\n    uint256 actionScore\n  );\n\n  /// @notice Emitted when a user is signaled.\n  /// @param user  The address of the user that was signaled.\n  /// @param signaler  The address of the user that signaled the user.\n  /// @param app  The app that the user was signaled for.\n  /// @param reason  The reason for signaling the user.\n  event UserSignaled(address indexed user, address indexed signaler, bytes32 indexed app, string reason);\n\n  /// @notice Emited when an address is associated with an app.\n  /// @param signaler  The address of the signaler.\n  /// @param app  The app that the signaler was associated with.\n  event SignalerAssignedToApp(address indexed signaler, bytes32 indexed app);\n\n  /// @notice Emitted when an address is removed from an app.\n  /// @param signaler  The address of the signaler.\n  /// @param app  The app that the signaler was removed from.\n  event SignalerRemovedFromApp(address indexed signaler, bytes32 indexed app);\n\n  /// @notice Emitted when a user's signals are reset.\n  /// @param user  The address of the user that had their signals reset.\n  /// @param reason  The reason for resetting the signals.\n  event UserSignalsReset(address indexed user, string reason);\n\n  /// @notice Emitted when a user is whitelisted\n  /// @param user - the user that is whitelisted\n  /// @param whitelistedBy - the user that whitelisted the user\n  event UserWhitelisted(address indexed user, address indexed whitelistedBy);\n\n  /// @notice Emitted when a user is removed from the whitelist\n  /// @param user - the user that is removed from the whitelist\n  /// @param removedBy - the user that removed the user from the whitelist\n  event RemovedUserFromWhitelist(address indexed user, address indexed passport, address indexed removedBy);\n\n  /// @notice Emitted when a user is blacklisted\n  /// @param user - the user that is blacklisted\n  /// @param blacklistedBy - the user that blacklisted the user\n  event UserBlacklisted(address indexed user, address indexed blacklistedBy);\n\n  /// @notice Emitted when a user is removed from the blacklist\n  /// @param user - the user that is removed from the blacklist\n  /// @param removedBy - the user that removed the user from the blacklist\n  event RemovedUserFromBlacklist(address indexed user, address indexed removedBy);\n\n  /// @notice Emitted when a user's signals are reset for an app.\n  /// @param user  The address of the user that had their signals reset.\n  /// @param app  The app that the user had their signals reset for.\n  /// @param reason - The reason for resetting the signals.\n  event UserSignalsResetForApp(address indexed user, bytes32 indexed app, string reason);\n\n  /// @notice Emitted when a user delegates passport to another user.\n  event DelegationCreated(address indexed delegator, address indexed delegatee);\n\n  /// @notice Emitted when a user delegates passport to another user pending acceptance.\n  event DelegationPending(address indexed delegator, address indexed delegatee);\n\n  /// @notice Emitted when a user revokes the delegation of passport to another user.\n  event DelegationRevoked(address indexed delegator, address indexed delegatee);\n\n  /// @notice Emitted when an an entity is linked to a passport\n  error AlreadyLinked(address entity);\n\n  // ---------- Errors ---------- //\n  /// @notice Emitted when a user does not have permission to delegate personhood.\n  error UnauthorizedUser(address user);\n\n  /// @notice Emitted when a user tries to delegate personhood to a user that has already been delegated to.\n  error AlreadyDelegated(address entity);\n\n  /// @notice Emitted when a user tries to delegate personhood to themselves.\n  error CannotLinkToSelf(address user);\n\n  /// @notice Emitted when a user tries to delegate personhood to more than one user.\n  error OnlyOneLinkAllowed();\n\n  /// @notice Emitted when a user tries to call a function that they are not authorized to call.\n  error VeBetterPassportUnauthorizedUser(address user);\n\n  /// @notice Emitted when a user does not have permission to delegate passport.\n  error PassportDelegationUnauthorizedUser(address user);\n\n  /// @notice Emitted when a user tries to delegate passport to themselves.\n  error CannotDelegateToSelf(address user);\n\n  /// @notice Emitted when a user tries to revoke a delegation that does not exist.\n  error NotDelegated(address user);\n\n  /// @notice Emitted when a user tries to delegate passport to more than one user.\n  error OnlyOneUserAllowed();\n\n  /// @notice Emiited when a user tries to delegate a passport to another passport or entity.\n  error PassportDelegationFromEntity();\n\n  /// @notice Emitted when a user tries to delegate a passport to another entity.\n  error PassportDelegationToEntity();\n\n  /// @notice Emitted when a user tries to sign a message with an expired signature\n  error SignatureExpired();\n\n  /// @notice Emitted when a user tries to sign a message with an invalid signature\n  error InvalidSignature();\n\n  ///  @notice Thrown when a user tries to link a entity to a passport that has reached the maximum number of entities.\n  error MaxEntitiesPerPassportReached();\n\n  /// @notice Thrown when a user tries to link a entity to a passport that is already linked to another entity.\n  error NotLinked(address user);\n\n  /// @notice Thrown when a user tries to link a entity to a passport that is already delegated.\n  error DelegatedEntity(address entity);\n\n  // ---------- Functions ---------- //\n  /// @notice Initializes the contract with the required data and roles\n  /// @param data The initialization data for the contract\n  /// @param roles The roles data for initialization\n  function initialize(\n    PassportTypes.InitializationData calldata data,\n    PassportTypes.InitializationRoleData calldata roles\n  ) external;\n\n  /// @notice Checks if a user is a person based on the participation score and other criteria\n  /// @param user The address of the user to check\n  /// @return person True if the user is a valid person\n  /// @return reason Reason why the user is not a person\n  function isPerson(address user) external view returns (bool person, string memory reason);\n\n  /// @notice Checks if a user is a person\n  /// @dev Checks if a wallet is a person or not at a specific timepoint based on the participation score, blacklisting, and GM holdings\n  /// @param user - the user address\n  /// @param timepoint - the timepoint to query\n  /// @return person - true if the user is a person\n  /// @return reason - the reason why the user is not a person\n  function isPersonAtTimepoint(\n    address user,\n    uint48 timepoint\n  ) external view returns (bool person, string memory reason);\n\n  /// @notice Checks if a user is whitelisted\n  /// @param _user The user to check\n  /// @return True if the user is whitelisted\n  function isWhitelisted(address _user) external view returns (bool);\n\n  /// @notice Checks if a user is blacklisted\n  /// @param _user The user to check\n  /// @return True if the user is blacklisted\n  function isBlacklisted(address _user) external view returns (bool);\n\n  /// @notice Toggles the specified check\n  function toggleCheck(PassportTypes.CheckType check) external;\n\n  /// @notice Returns the passport address for a entity\n  /// @param entity The entity's address\n  /// @return The address of the passport\n  function getPassportForEntity(address entity) external view returns (address);\n\n  /// @notice Returns the pending links for a user (both incoming and outgoing)\n  /// @param user The address of the user\n  /// @return incoming The addresss of users that want to link to the user.\n  /// @return outgoing The address that the user wants to link to.\n  function getPendingLinkings(address user) external view returns (address[] memory incoming, address outgoing);\n\n  /// @notice Returns the passport address for a entity at a specific timepoint\n  /// @param entity The entity's address\n  /// @param timepoint The timepoint to query\n  function getPassportForEntityAtTimepoint(address entity, uint256 timepoint) external view returns (address);\n\n  /// @notice Returns the entity address for a passport\n  /// @param passport The passport's address\n  /// @return The address of the entity\n  function getEntitiesLinkedToPassport(address passport) external view returns (address[] memory);\n\n  /// @notice Returns if a user is a entity\n  /// @param user The user address\n  function isEntity(address user) external view returns (bool);\n\n  /// @notice Returns if a user is a entity at a specific timepoint\n  /// @param user The user address\n  /// @param timepoint The timepoint to query\n  function isEntityInTimepoint(address user, uint256 timepoint) external view returns (bool);\n\n  /// @notice Returns if a user is a passport\n  /// @param user The user address\n  function isPassport(address user) external view returns (bool);\n\n  /// @notice Returns if a user is a passport at a specific timepoint\n  /// @param user The user address\n  /// @param timepoint The timepoint to query\n  function isPassportInTimepoint(address user, uint256 timepoint) external view returns (bool);\n\n  /// @notice Gets the cumulative score of a user based on exponential decay for a number of last rounds\n  /// @param user The user address\n  /// @param lastRound The round to consider as a starting point for the cumulative score\n  /// @return The cumulative score of the user\n  function getCumulativeScoreWithDecay(address user, uint256 lastRound) external view returns (uint256);\n\n  /// @notice Gets the round score of a user\n  /// @param user The user address\n  /// @param round The round to check\n  /// @return The round score of the user\n  function userRoundScore(address user, uint256 round) external view returns (uint256);\n\n  /// @notice Gets the total score of a user\n  /// @param user The user address\n  /// @return The total score of the user\n  function userTotalScore(address user) external view returns (uint256);\n\n  /// @notice Gets the number of actions distributed by an app in a round\n  /// @param appId The app ID\n  /// @param round The round to check\n  /// @return The number of actions\n  function appRoundActionCount(bytes32 appId, uint256 round) external view returns (uint256);\n\n  /// @notice Gets the number of distinct apps a user has interacted with in a round\n  /// @param user The user address\n  /// @param round The round to check\n  /// @return The number of distinct apps\n  function userRoundAppCount(address user, uint256 round) external view returns (uint256);\n\n  /// @notice Gets how many actions a user registered in a specific round\n  /// @param user The user address\n  /// @param round The round to check\n  /// @return The number of registered actions for that user and round\n  function userRoundActionCount(address user, uint256 round) external view returns (uint256);\n\n  /// @notice Gets the score of a user for an app in a specific round\n  /// @param user The user address\n  /// @param round The round to check\n  /// @param appId The app ID\n  /// @return The score of the user for the app in the round\n  function userRoundScoreApp(address user, uint256 round, bytes32 appId) external view returns (uint256);\n\n  /// @notice Gets how many actions a user registered for an app in a specific round\n  /// @param user The user address\n  /// @param round The round to check\n  /// @param appId The app ID\n  /// @return The number of registered actions for that user, app, and round\n  function userRoundActionCountApp(address user, uint256 round, bytes32 appId) external view returns (uint256);\n\n  /// @notice Gets the total score of a user for an app\n  /// @param user The user address\n  /// @param appId The app ID\n  /// @return The total score of the user for the app\n  function userAppTotalScore(address user, bytes32 appId) external view returns (uint256);\n\n  /// @notice Checks if a user has ever interacted with a specific app\n  function userUniqueAppInteraction(address user, bytes32 appId) external view returns (bool);\n\n  /// @notice Gets the list of apps a user has interacted with\n  function userInteractedApps(address user) external view returns (bytes32[] memory);\n\n  /// @notice Gets the threshold score for a user to be considered a person\n  /// @return The threshold participation score\n  function thresholdPoPScore() external view returns (uint256);\n\n  /// @notice Gets the threshold score for a user to be considered a person at a specific timepoint\n  function thresholdPoPScoreAtTimepoint(uint48 timepoint) external view returns (uint256);\n\n  /// @notice Gets the number of rounds to be considered for the cumulative score\n  /// @return The number of rounds\n  function roundsForCumulativeScore() external view returns (uint256);\n\n  /// @notice Gets the security multiplier for an app security\n  /// @param security The app security level (LOW, MEDIUM, HIGH)\n  /// @return The security multiplier for the app\n  function securityMultiplier(PassportTypes.APP_SECURITY security) external view returns (uint256);\n\n  /// @notice Gets the security level of an app\n  /// @param appId The app ID\n  /// @return The security level of the app\n  function appSecurity(bytes32 appId) external view returns (PassportTypes.APP_SECURITY);\n\n  /// @notice Gets the minimum galaxy member level required\n  /// @return The minimum galaxy member level\n  function getMinimumGalaxyMemberLevel() external view returns (uint256);\n\n  /// @notice Returns if the specific check is enabled\n  function isCheckEnabled(PassportTypes.CheckType check) external view returns (bool);\n\n  /// @notice Returns the signaling threshold\n  /// @return The signaling threshold\n  function signalingThreshold() external view returns (uint256);\n\n  /// @notice Gets the total number of signals for an app\n  /// @param app The app ID\n  /// @return The total number of signals for the app\n  function appTotalSignalsCounter(bytes32 app) external view returns (uint256);\n\n  /// @notice Returns the domain for EIP-712 signature\n  function eip712Domain()\n    external\n    view\n    returns (\n      bytes1 fields,\n      string memory name,\n      string memory signatureVersion,\n      uint256 chainId,\n      address verifyingContract,\n      bytes32 salt,\n      uint256[] memory extensions\n    );\n\n  /// @notice Grants a role to a specific account\n  /// @param role The role to grant\n  /// @param account The account to grant the role to\n  function grantRole(bytes32 role, address account) external;\n\n  /// @notice Revokes a role from a specific account\n  /// @param role The role to revoke\n  /// @param account The account to revoke the role from\n  function revokeRole(bytes32 role, address account) external;\n\n  /// @notice Signals a user\n  /// @param _user The user to signal\n  function signalUser(address _user) external;\n\n  /// @notice Signals a user with a reason\n  /// @param _user The user to signal\n  /// @param reason The reason for the signal\n  function signalUserWithReason(address _user, string memory reason) external;\n\n  /// @notice Assigns a signaler to an app\n  /// @param app The app ID\n  /// @param user The signaler address\n  function assignSignalerToApp(bytes32 app, address user) external;\n\n  /// @notice Removes a signaler from an app\n  /// @param user The signaler address\n  function removeSignalerFromApp(address user) external;\n\n  /// @notice Resets the signals of a user with a given reason\n  /// @param user The user address\n  /// @param reason The reason for resetting the signals\n  function resetUserSignalsWithReason(address user, string memory reason) external;\n\n  /// @notice Gets the version of the contract\n  /// @return The version of the contract as a string\n  function version() external pure returns (string memory);\n\n  /// @notice Returns the current block number\n  /// @return The current block number\n  function clock() external view returns (uint48);\n\n  /// @notice Returns the clock mode for the contract\n  /// @return The clock mode as a string\n  function CLOCK_MODE() external pure returns (string memory);\n\n  /// @notice Sets the signaling threshold\n  /// @param threshold The new signaling threshold\n  function setSignalingThreshold(uint256 threshold) external;\n\n  /// @notice Sets the security multiplier for an app security level\n  /// @param security The app security level\n  /// @param multiplier The security multiplier\n  function setSecurityMultiplier(PassportTypes.APP_SECURITY security, uint256 multiplier) external;\n\n  /// @notice Sets the app security level for a specific app\n  /// @param appId The app ID\n  /// @param security The security level\n  function setAppSecurity(bytes32 appId, PassportTypes.APP_SECURITY security) external;\n\n  /// @notice Sets the threshold score for a user to be considered a person\n  /// @param threshold The threshold score\n  function setThresholdPoPScore(uint208 threshold) external;\n\n  /// @notice Sets the number of rounds to consider for cumulative score calculation\n  /// @param rounds The number of rounds\n  function setRoundsForCumulativeScore(uint256 rounds) external;\n\n  /// @notice Sets the decay rate for exponential decay scoring\n  /// @param decayRate The decay rate\n  function setDecayRate(uint256 decayRate) external;\n\n  /// @notice Sets the X2EarnApps contract address\n  /// @param _x2EarnApps The X2EarnApps contract address\n  function setX2EarnApps(IX2EarnApps _x2EarnApps) external;\n\n  /// @notice Sets the xAllocationVoting contract address\n  /// @param xAllocationVoting The xAllocationVoting contract address\n  function setXAllocationVoting(IXAllocationVotingGovernor xAllocationVoting) external;\n\n  /// @notice Link an account (which will become an entity) to a passport (an address that is not an enitity)\n  /// After linking, the scores of the enitity will be stored to the linked account (passport)\n  /// Balance is not transferred and the entity will not be able to vote after linking.\n  /// @param entity The entity's address\n  /// @param deadline The deadline for the signature\n  /// @param signature The signature of the delegation\n  function linkEntityToPassportWithSignature(address entity, uint256 deadline, bytes memory signature) external;\n\n  /// @notice Link an account (which will become an entity) to a passport (an address that is not an enitity)\n  /// After linking, the scores of the enitity will be stored to the linked account (passport)\n  /// Balance is not transferred and the entity will not be able to vote after linking.\n  /// @dev The passport must accept the delegation\n  function linkEntityToPassport(address passport) external;\n\n  /// @notice Allow the passport to accept the delegation\n  /// @param entity - the entity address\n  function acceptEntityLink(address entity) external;\n\n  /// @notice Deny an incoming pending entity link to the sender's passport.\n  /// @param entity - the entity address\n  function denyIncomingPendingEntityLink(address entity) external;\n\n  /// @notice Cancel an outgoing pending entity link from the sender.\n  function cancelOutgoingPendingEntityLink() external;\n\n  /// @notice Remove the linked enitity from the passport\n  /// @param entity - the entity address\n  function removeEntityLink(address entity) external;\n\n  /// @notice Registers an action for a user\n  /// @param user - the user that performed the action\n  /// @param appId - the app id of the action\n  function registerAction(address user, bytes32 appId) external;\n\n  /// @notice Registers an action for a user in a round\n  /// @param user - the user that performed the action\n  /// @param appId - the app id of the action\n  /// @param round - the round id of the action\n  function registerActionForRound(address user, bytes32 appId, uint256 round) external;\n\n  /// @notice Gets the threshold percentage of blacklisted entities for a passport to be considered blacklisted\n  function blacklistThreshold() external view returns (uint256);\n\n  // @notice Gets the threshold percentage of whitelisted entities for a passport to be considered whitelisted\n  function whitelistThreshold() external view returns (uint256);\n\n  /// @notice Returns the maximum number of entities per passport\n  function maxEntitiesPerPassport() external view returns (uint256);\n\n  /// @notice Gets the decay rate for the cumulative score\n  function decayRate() external view returns (uint256);\n\n  /// @notice Gets the minimum galaxy member level to be considered a person\n  function minimumGalaxyMemberLevel() external view returns (uint256);\n\n  /// @notice Sets the threshold percentage of blacklisted entities for a passport to be considered blacklisted\n  function setBlacklistThreshold(uint256 _threshold) external;\n\n  /// @notice Sets the threshold percentage of whitelisted entities for a passport to be considered whitelisted\n  function setWhitelistThreshold(uint256 _threshold) external;\n\n  /// @notice Sets the maximum number of entities that can be linked to a passport\n  /// @param maxEntities - the maximum number of entities\n  function setMaxEntitiesPerPassport(uint256 maxEntities) external;\n\n  /// @notice Delegate the personhood to another address\n  /// @param delegatee - the delegatee address\n  function delegatePassport(address delegatee) external;\n\n  /// @notice Allow the delegatee to accept the delegation\n  /// @param delegator - the delegator address\n  function acceptDelegation(address delegator) external;\n\n  /// @notice Revoke the delegation (can be done by the delegator or the delegatee)\n  function revokeDelegation() external;\n\n  /// @notice Allows a delegator to deny (and remove) an incoming pending delegation.\n  /// @param delegator - the user who is delegating to me (aka the delegator)\n  function denyIncomingPendingDelegation(address delegator) external;\n\n  /// @notice Allows a delegator to cancel (and remove) the outgoing pending delegation.\n  function cancelOutgoingPendingDelegation() external;\n\n  /// @notice Returns the delegatee address for a delegator\n  /// @param delegator The delegator's address\n  /// @return The address of the delegatee\n  function getDelegatee(address delegator) external view returns (address);\n\n  /// @notice Returns the incoming and outgoing pending delegations for a user\n  /// @param user - the user address\n  /// @return incoming The address[] memory of users that are delegating to the user.\n  /// @return outgoing The address that the user is delegating to.\n  function getPendingDelegations(address user) external view returns (address[] memory incoming, address outgoing);\n\n  /// @notice Returns the delegatee address for a delegator at a specific timepoint\n  /// @param delegator The delegator's address\n  /// @param timepoint The timepoint to query\n  function getDelegateeInTimepoint(address delegator, uint256 timepoint) external view returns (address);\n\n  /// @notice Returns the delegator address for a delegatee\n  /// @param delegatee The delegatee's address\n  /// @return The address of the delegator\n  function getDelegator(address delegatee) external view returns (address);\n\n  /// @notice Returns the delegator address for a delegatee at a specific timepoint\n  /// @param delegatee The delegatee's address\n  /// @param timepoint The timepoint to query\n  function getDelegatorInTimepoint(address delegatee, uint256 timepoint) external view returns (address);\n\n  /// @notice Returns if a user is a delegator\n  /// @param user The user address\n  function isDelegator(address user) external view returns (bool);\n\n  /// @notice Returns if a user is a delegator at a specific timepoint\n  /// @param user The user address\n  /// @param timepoint The timepoint to query\n  function isDelegatorInTimepoint(address user, uint256 timepoint) external view returns (bool);\n\n  /// @notice Returns if a user is a delegatee\n  /// @param user The user address\n  function isDelegatee(address user) external view returns (bool);\n\n  /// @notice Returns if a user is a delegatee at a specific timepoint\n  /// @param user The user address\n  /// @param timepoint The timepoint to query\n  function isDelegateeInTimepoint(address user, uint256 timepoint) external view returns (bool);\n}\n"},"contracts/interfaces/IVOT3.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\nimport \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\n\ninterface IVOT3 {\n  error AccessControlBadConfirmation();\n\n  error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n  error CheckpointUnorderedInsertion();\n\n  error ECDSAInvalidSignature();\n\n  error ECDSAInvalidSignatureLength(uint256 length);\n\n  error ECDSAInvalidSignatureS(bytes32 s);\n\n  error ERC20ExceededSafeSupply(uint256 increasedSupply, uint256 cap);\n\n  error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n  error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n  error ERC20InvalidApprover(address approver);\n\n  error ERC20InvalidReceiver(address receiver);\n\n  error ERC20InvalidSender(address sender);\n\n  error ERC20InvalidSpender(address spender);\n\n  error ERC2612ExpiredSignature(uint256 deadline);\n\n  error ERC2612InvalidSigner(address signer, address owner);\n\n  error ERC5805FutureLookup(uint256 timepoint, uint48 clock);\n\n  error ERC6372InconsistentClock();\n\n  error EnforcedPause();\n\n  error ExpectedPause();\n\n  error InvalidAccountNonce(address account, uint256 currentNonce);\n\n  error InvalidShortString();\n\n  error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value);\n\n  error StringTooLong(string str);\n\n  error VotesExpiredSignature(uint256 expiry);\n\n  event Approval(address indexed owner, address indexed spender, uint256 value);\n\n  event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);\n\n  event DelegateVotesChanged(address indexed delegate, uint256 previousVotes, uint256 newVotes);\n\n  event EIP712DomainChanged();\n\n  event Paused(address account);\n\n  event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n  event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n  event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n  event Transfer(address indexed from, address indexed to, uint256 value);\n\n  event Unpaused(address account);\n\n  function CLOCK_MODE() external view returns (string memory);\n\n  function DEFAULT_ADMIN_ROLE() external view returns (bytes32);\n\n  function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n  function allowance(address owner, address spender) external view returns (uint256);\n\n  function approve(address spender, uint256 value) external returns (bool);\n\n  function b3tr() external view returns (address);\n\n  function balanceOf(address account) external view returns (uint256);\n\n  function checkpoints(address account, uint32 pos) external view returns (Checkpoints.Checkpoint208 memory);\n\n  function clock() external view returns (uint48);\n\n  function decimals() external view returns (uint8);\n\n  function delegate(address delegatee) external;\n\n  function delegateBySig(address delegatee, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) external;\n\n  function delegates(address account) external view returns (address);\n\n  function eip712Domain()\n    external\n    view\n    returns (\n      bytes1 fields,\n      string memory name,\n      string memory version,\n      uint256 chainId,\n      address verifyingContract,\n      bytes32 salt,\n      uint256[] memory extensions\n    );\n\n  function getPastTotalSupply(uint256 timepoint) external view returns (uint256);\n\n  function getPastVotes(address account, uint256 timepoint) external view returns (uint256);\n\n  function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n  function getVotes(address account) external view returns (uint256);\n\n  function grantRole(bytes32 role, address account) external;\n\n  function hasRole(bytes32 role, address account) external view returns (bool);\n\n  function name() external view returns (string memory);\n\n  function nonces(address owner) external view returns (uint256);\n\n  function numCheckpoints(address account) external view returns (uint32);\n\n  function pause() external;\n\n  function paused() external view returns (bool);\n\n  function permit(\n    address owner,\n    address spender,\n    uint256 value,\n    uint256 deadline,\n    uint8 v,\n    bytes32 r,\n    bytes32 s\n  ) external;\n\n  function renounceRole(bytes32 role, address callerConfirmation) external;\n\n  function revokeRole(bytes32 role, address account) external;\n\n  function convertToVOT3(uint256 amount) external;\n\n  function convertedB3trOf(address account) external view returns (uint256);\n\n  function supportsInterface(bytes4 interfaceId) external view returns (bool);\n\n  function symbol() external view returns (string memory);\n\n  function totalSupply() external view returns (uint256);\n\n  function transfer(address to, uint256 value) external returns (bool);\n\n  function transferFrom(address from, address to, uint256 value) external returns (bool);\n\n  function unpause() external;\n\n  function convertToB3TR(uint256 amount) external;\n\n  function getQuadraticVotingPower(address account) external view returns (uint256);\n\n  function getPastQuadraticVotingPower(address account, uint256 timepoint) external view returns (uint256);\n\n  function version() external view returns (string memory);\n\n  // V2: Navigator delegation lock (reads from NavigatorRegistry)\n  function getNavigatorLockedAmount(address account) external view returns (uint256);\n\n  function unlockedBalance(address account) external view returns (uint256);\n}\n"},"contracts/interfaces/IVoterRewards.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\n/**\n * @title IVoterRewards Interface\n * @notice Interface for managing voter rewards, roles, emissions, and galaxy membership\n * @dev Handles reward distribution, vote registration, and role management for the voting system\n */\ninterface IVoterRewards {\n  /// @notice Thrown when access control confirmation is invalid\n  error AccessControlBadConfirmation();\n\n  /// @notice Thrown when account doesn't have required role\n  /// @param account The address that lacks permissions\n  /// @param neededRole The required role\n  error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n  /// @notice Thrown when target address contains no code\n  /// @param target The address checked for code\n  error AddressEmptyCode(address target);\n\n  /// @notice Thrown when implementation is invalid for ERC1967\n  /// @param implementation The invalid implementation address\n  error ERC1967InvalidImplementation(address implementation);\n\n  /// @notice Thrown when non-payable function receives Ether\n  error ERC1967NonPayable();\n\n  /// @notice Thrown when internal call fails\n  error FailedInnerCall();\n\n  /// @notice Thrown when contract is initialized again\n  error InvalidInitialization();\n\n  /// @notice Thrown when function called outside initialization\n  error NotInitializing();\n\n  /// @notice Thrown on reentrant call\n  error ReentrancyGuardReentrantCall();\n\n  /// @notice Thrown when upgrade called from unauthorized context\n  error UUPSUnauthorizedCallContext();\n\n  /// @notice Thrown when UUID doesn't match UUPS\n  /// @param slot The invalid UUID slot\n  error UUPSUnsupportedProxiableUUID(bytes32 slot);\n\n  /// @notice Emitted when contract is initialized\n  /// @param version The version number\n  event Initialized(uint64 version);\n\n  /// @notice Emitted when reward is claimed\n  /// @dev This event is deprecated, use RewardClaimedV2 instead.\n  /// @param cycle The reward cycle\n  /// @param voter The voter's address\n  /// @param reward The reward amount\n  event RewardClaimed(uint256 indexed cycle, address indexed voter, uint256 reward);\n\n  /// @notice Emitted when reward is claimed, V2.\n  /// @param cycle The reward cycle\n  /// @param voter The voter's address\n  /// @param reward The reward amount\n  /// @param gmReward The GM reward amount\n  event RewardClaimedV2(uint256 indexed cycle, address indexed voter, uint256 reward, uint256 gmReward);\n\n  /// @notice Emitted when role admin is changed\n  /// @param role The role being modified\n  /// @param previousAdminRole The previous admin role\n  /// @param newAdminRole The new admin role\n  event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n  /// @notice Emitted when role is granted\n  /// @param role The role being granted\n  /// @param account The account receiving the role\n  /// @param sender The account granting the role\n  event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n  /// @notice Emitted when role is revoked\n  /// @param role The role being revoked\n  /// @param account The account losing the role\n  /// @param sender The account revoking the role\n  event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n  /// @notice Emitted when contract is upgraded\n  /// @param implementation The new implementation address\n  event Upgraded(address indexed implementation);\n\n  /// @notice Emitted when vote is registered\n  /// @param cycle The voting cycle\n  /// @param voter The voter's address\n  /// @param votes Number of votes cast\n  /// @param rewardWeightedVote The weighted vote amount\n  event VoteRegistered(uint256 indexed cycle, address indexed voter, uint256 votes, uint256 rewardWeightedVote);\n\n  /// @notice Emitted when galaxy member address is updated\n  /// @param newAddress The new galaxy member address\n  /// @param oldAddress The previous galaxy member address\n  event GalaxyMemberAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @notice Emitted when emissions address is updated\n  /// @param newAddress The new emissions address\n  /// @param oldAddress The previous emissions address\n  event EmissionsAddressUpdated(address indexed newAddress, address indexed oldAddress);\n\n  /// @notice Emitted when level multiplier is set\n  /// @param level The level being modified\n  /// @param multiplier The new multiplier value\n  event LevelToMultiplierSet(uint256 indexed level, uint256 multiplier);\n\n  /// @notice Emitted when the level to multiplier mapping is updated and will be applied to the next cycle.\n  /// @param level - The level of the Galaxy Member NFT.\n  /// @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT.\n  event LevelToMultiplierPending(uint256 indexed level, uint256 multiplier);\n\n  /// @notice Emitted when quadratic rewarding is toggled\n  /// @param disabled The new disabled state\n  event QuadraticRewardingDisabled(bool indexed disabled);\n\n  /// @notice GM NFT vote is registered.\n  /// @param cycle - The cycle in which the vote was registered.\n  /// @param tokenId - The ID of the Galaxy Member NFT.\n  /// @param level - The level of the Galaxy Member NFT.\n  /// @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT.\n  event GMVoteRegistered(uint256 indexed cycle, uint256 indexed tokenId, uint256 indexed level, uint256 multiplier);\n\n  /// @notice Gets the default admin role\n  /// @return bytes32 The admin role identifier\n  function DEFAULT_ADMIN_ROLE() external view returns (bytes32);\n\n  /// @notice Gets the upgrader role\n  /// @return bytes32 The upgrader role identifier\n  function UPGRADER_ROLE() external view returns (bytes32);\n\n  /// @notice Gets the interface version\n  /// @return string The interface version\n  function UPGRADE_INTERFACE_VERSION() external view returns (string memory);\n\n  /// @notice Gets the vote registrar role\n  /// @return bytes32 The vote registrar role identifier\n  function VOTE_REGISTRAR_ROLE() external view returns (bytes32);\n\n  /// @notice Gets the B3TR token address\n  /// @return address The B3TR contract address\n  function b3tr() external view returns (address);\n\n  /// @notice Gets the RelayerRewardsPool contract address\n  /// @return address The RelayerRewardsPool contract address\n  function relayerRewardsPool() external view returns (address);\n\n  /// @notice Gets the galaxy member contract address\n  /// @return address The galaxy member contract address\n  function galaxyMember() external view returns (address);\n\n  /// @notice Claims reward for a voter in a cycle\n  /// @param cycle The reward cycle\n  /// @param voter The voter's address\n  function claimReward(uint256 cycle, address voter) external;\n\n  /// @notice Gets total rewards for a cycle\n  /// @param cycle The cycle to query\n  /// @return uint256 The total rewards\n  function cycleToTotal(uint256 cycle) external view returns (uint256);\n\n  /// @notice Gets total GM weight for a cycle\n  /// @param cycle The cycle to query\n  /// @return uint256 The total GM weight\n  function cycleToTotalGM(uint256 cycle) external view returns (uint256);\n\n  /// @notice Gets voter's total for a cycle\n  /// @param cycle The cycle to query\n  /// @param voter The voter's address\n  /// @return uint256 The voter's total\n  function cycleToVoterToTotal(uint256 cycle, address voter) external view returns (uint256);\n\n  /// @notice Gets total GM weight for a cycle\n  /// @param cycle The cycle to query\n  /// @return uint256 The total GM weight\n  function cycleToTotalGMWeight(uint256 cycle) external view returns (uint256);\n\n  /// @notice Gets the emissions contract address\n  /// @return address The emissions contract address\n  function emissions() external view returns (address);\n\n  /// @notice Gets reward amount for voter in cycle\n  /// @param cycle The reward cycle\n  /// @param voter The voter's address\n  /// @return uint256 The reward amount\n  function getReward(uint256 cycle, address voter) external view returns (uint256);\n\n  /// @notice Gets GM reward amount for voter in cycle\n  /// @param cycle The reward cycle\n  /// @param voter The voter's address\n  /// @return uint256 The GM reward amount\n  function getGMReward(uint256 cycle, address voter) external view returns (uint256);\n\n  /// @notice Gets admin role for a role\n  /// @param role The role to query\n  /// @return bytes32 The admin role\n  function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n  /// @notice Grants role to account\n  /// @param role The role to grant\n  /// @param account The receiving account\n  function grantRole(bytes32 role, address account) external;\n\n  /// @notice Checks if account has role\n  /// @param role The role to check\n  /// @param account The account to check\n  /// @return bool True if account has role\n  function hasRole(bytes32 role, address account) external view returns (bool);\n\n  /// @notice Gets multiplier for level\n  /// @param level The level to query\n  /// @return uint256 The multiplier value\n  function levelToMultiplier(uint256 level) external view returns (uint256);\n\n  /// @notice Gets relayer fee for voter in cycle\n  /// @param cycle The reward cycle\n  /// @param voter The voter's address\n  /// @return uint256 The relayer fee amount\n  function getRelayerFee(uint256 cycle, address voter) external view returns (uint256);\n\n  /// @notice Gets the proxiable UUID\n  /// @return bytes32 The UUID\n  function proxiableUUID() external view returns (bytes32);\n\n  /// @notice Registers a vote\n  /// @param proposalStart The proposal start time\n  /// @param voter The voter's address\n  /// @param votes Number of votes\n  /// @param votePower The vote power\n  function registerVote(uint256 proposalStart, address voter, uint256 votes, uint256 votePower) external;\n\n  /// @notice Renounces role for caller\n  /// @param role The role to renounce\n  /// @param callerConfirmation The caller's address for confirmation\n  function renounceRole(bytes32 role, address callerConfirmation) external;\n\n  /// @notice Revokes role from account\n  /// @param role The role to revoke\n  /// @param account The account to revoke from\n  function revokeRole(bytes32 role, address account) external;\n\n  /// @notice Gets the scaling factor\n  /// @return uint256 The scaling factor\n  function scalingFactor() external view returns (uint256);\n\n  /// @notice Sets the galaxy member address\n  /// @param _galaxyMember The new galaxy member address\n  function setGalaxyMember(address _galaxyMember) external;\n\n  /// @notice Sets the emissions address\n  /// @param _emissions The new emissions address\n  function setEmissions(address _emissions) external;\n\n  /// @notice Sets multiplier for level\n  /// @param level The level to set\n  /// @param multiplier The new multiplier value\n  function setLevelToMultiplier(uint256 level, uint256 multiplier) external;\n\n  /// @notice Sets the scaling factor\n  /// @param newScalingFactor The new scaling factor\n  function setScalingFactor(uint256 newScalingFactor) external;\n\n  /// @notice Sets the vote registrar role\n  /// @param _voteRegistrar The new vote registrar address\n  function setXallocationVoteRegistrarRole(address _voteRegistrar) external;\n\n  /// @notice Checks if interface is supported\n  /// @param interfaceId The interface identifier\n  /// @return bool True if supported\n  function supportsInterface(bytes4 interfaceId) external view returns (bool);\n\n  /// @notice Gets the contract version\n  /// @return string The version string\n  function version() external view returns (string memory);\n\n  /// @notice Upgrades contract and calls function\n  /// @param newImplementation The new implementation address\n  /// @param data The function call data\n  function upgradeToAndCall(address newImplementation, bytes memory data) external payable;\n\n  /// @notice Checks if node has voted on proposal\n  /// @param nodeId The node identifier\n  /// @param proposalId The proposal identifier\n  /// @return bool True if voted\n  function hasNodeVoted(uint256 nodeId, uint256 proposalId) external view returns (bool);\n\n  /// @notice Checks if token has voted on proposal\n  /// @param tokenId The token identifier\n  /// @param proposalId The proposal identifier\n  /// @return bool True if voted\n  function hasTokenVoted(uint256 tokenId, uint256 proposalId) external view returns (bool);\n\n  /// @notice Gets multiplier for token and proposal\n  /// @param tokenId The token identifier\n  /// @param proposalId The proposal identifier\n  /// @return uint256 The multiplier value\n  function getMultiplier(uint256 tokenId, uint256 proposalId) external view returns (uint256);\n\n  /// @notice Initializes V2 of contract\n  /// @param _quadraticRewardingFlag The quadratic rewarding flag\n  function initializeV2(bool _quadraticRewardingFlag) external;\n\n  /// @notice Checks if quadratic rewarding disabled at block\n  /// @param blockNumber The block number to check\n  /// @return bool True if disabled\n  function isQuadraticRewardingDisabledAtBlock(uint48 blockNumber) external view returns (bool);\n\n  /// @notice Checks if quadratic rewarding disabled for current cycle\n  /// @return bool True if disabled\n  function isQuadraticRewardingDisabledForCurrentCycle() external view returns (bool);\n\n  /// @notice Disables quadratic rewarding\n  /// @param _disableQuadraticRewarding The disable flag\n  function disableQuadraticRewarding(bool _disableQuadraticRewarding) external;\n\n  // ======================== Rewards Multipliers (V7) ======================== //\n\n  /// @notice Returns freshness multiplier values at a given timepoint\n  /// @param timepoint The block number to query (typically round snapshot)\n  /// @return tier1 Basis points for \"updated this round\"\n  /// @return tier2 Basis points for \"updated within 2 rounds\"\n  /// @return tier3 Basis points for \"no update >= 3 rounds\"\n  function getFreshnessMultipliers(uint256 timepoint) external view returns (uint256 tier1, uint256 tier2, uint256 tier3);\n\n  /// @notice Returns governance intent multiplier values at a given timepoint\n  /// @param timepoint The block number to query (typically proposal snapshot)\n  /// @return forAgainst Basis points for For/Against votes\n  /// @return abstain Basis points for Abstain votes\n  function getIntentMultipliers(uint256 timepoint) external view returns (uint256 forAgainst, uint256 abstain);\n\n  /// @notice Returns the basis points scale constant (10000 = 1x)\n  function MULTIPLIER_SCALE() external view returns (uint256);\n}\n"},"contracts/interfaces/IX2EarnApps.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { X2EarnAppsDataTypes } from \"../libraries/X2EarnAppsDataTypes.sol\";\nimport { EndorsementUtils } from \"../x-2-earn-apps/libraries/EndorsementUtils.sol\";\nimport { X2EarnAppsStorageTypes } from \"../x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\";\nimport { IX2EarnCreator } from \"./IX2EarnCreator.sol\";\nimport { IXAllocationVotingGovernor } from \"./IXAllocationVotingGovernor.sol\";\nimport { IX2EarnRewardsPool } from \"./IX2EarnRewardsPool.sol\";\nimport { IStargateNFT } from \"../mocks/Stargate/interfaces/IStargateNFT.sol\";\n\n/**\n * @title IX2EarnApps\n * @notice Interface for the X2EarnApps contract.\n * @dev The contract inheriting this interface should be able to manage the x2earn apps and their Eligibility for allocation voting.\n */\ninterface IX2EarnApps {\n  /**\n   * @dev The clock was incorrectly modified.\n   */\n  error ERC6372InconsistentClock();\n\n  /**\n   * @dev The `appId` doesn't exist.\n   */\n  error X2EarnNonexistentApp(bytes32 appId);\n\n  /**\n   * @dev The creator of the app doesn't exist.\n   */\n  error X2EarnNonexistentCreator(bytes32 appId, address creator);\n\n  /**\n   * @dev The `addr` is not valid (eg: is the ZERO ADDRESS).\n   */\n  error X2EarnInvalidAddress(address addr);\n\n  /**\n   * @dev The caller is already an endorser.\n   */\n  error X2EarnAlreadyEndorser();\n\n  /**\n   * @dev The caller is not a node holder.\n   */\n  error X2EarnNonNodeHolder();\n\n  /**\n   * @dev The caller is not an endorser.\n   */\n  error X2EarnNonEndorser();\n\n  /**\n   * @dev The `appId` is already endorsed.\n   */\n  error X2EarnAppAlreadyEndorsed(bytes32 appId);\n\n  /**\n   * @dev An app with the specified `appId` already exists.\n   */\n  error X2EarnAppAlreadyExists(bytes32 appId);\n\n  /**\n   * @dev The Vechain Node is in a cooldown period, and the action cannot be performed.\n   */\n  error X2EarnNodeCooldownActive();\n\n  /**\n   * @dev The user is not authorized to perform the action.\n   */\n  error X2EarnUnauthorizedUser(address user);\n\n  /**\n   * @dev The maximum number of creators has been reached.\n   */\n  error X2EarnMaxCreatorsReached(bytes32 appId);\n\n  /**\n   * @dev The caller is already the creator of the app.\n   */\n  error X2EarnAlreadyCreator(address creator);\n\n  /**\n   * @dev The caller is an unverified creator.\n   */\n  error X2EarnUnverifiedCreator(address creator);\n\n  /**\n   * @dev The creator NFT is already used for another app.\n   */\n  error CreatorNFTAlreadyUsed(address creator);\n\n  /**\n   * @dev Invalid start index for get apps pagination\n   */\n  error X2EarnInvalidStartIndex();\n\n  /**\n   * @notice Error indicating that an XAPP has already been included in a XAllocation Voting round and submission cant be removed.\n   */\n  error NodeManagementXAppAlreadyIncluded(bytes32 appId);\n\n  /**\n   * @dev Lookup to future votes is not available.\n   */\n  error ERC5805FutureLookup(uint256 timepoint, uint48 clock);\n\n  /**\n   * @dev The `percentage` is not valid.\n   */\n  error X2EarnInvalidAllocationPercentage(uint256 percentage);\n\n  /**\n   * @dev The `distributorAddress` is not valid.\n   */\n  error X2EarnNonexistentRewardDistributor(bytes32 appId, address distributorAddress);\n\n  /**\n   * @dev The `moderator` is not valid.\n   */\n  error X2EarnNonexistentModerator(bytes32 appId, address moderator);\n\n  /**\n   * @dev The maximum number of moderators has been reached.\n   */\n  error X2EarnMaxModeratorsReached(bytes32 appId);\n\n  /**\n   * @dev The app is blacklisted.\n   */\n  error X2EarnAppBlacklisted(bytes32 appId);\n\n  /**\n   * @dev The maximum number of reward distributors has been reached.\n   */\n  error X2EarnMaxRewardDistributorsReached(bytes32 appId);\n\n  /**\n   * @dev The maximum number of managers has been reached.\n   */\n  error X2EarnMaxManagersReached(bytes32 appId);\n\n  /**\n   * @dev The user has a node that cannot be used to endorse\n   */\n  error NodeNotAllowedToEndorse();\n\n  // V8 errors\n  /**\n   * @dev Endorsements are currently paused (during migration).\n   */\n  error EndorsementsPaused();\n\n  /**\n   * @dev Cooldown period not expired for the specified node-app endorsement.\n   */\n  error CooldownNotExpired(uint256 nodeId, bytes32 appId);\n\n  /**\n   * @dev Exceeds maximum points allowed per app.\n   */\n  error ExceedsMaxPointsPerApp(bytes32 appId, uint256 current, uint256 max);\n\n  /**\n   * @dev Exceeds maximum points a single node can endorse to one app.\n   */\n  error ExceedsMaxPointsPerNode(uint256 nodeId, bytes32 appId, uint256 max);\n\n  /**\n   * @dev Node doesn't have enough available points.\n   */\n  error InsufficientAvailablePoints(uint256 nodeId, uint256 available, uint256 requested);\n\n  /**\n   * @dev Invalid points amount provided.\n   */\n  error InvalidPointsAmount();\n\n  /**\n   * @dev Event fired when a new app is added.\n   */\n  event AppAdded(bytes32 indexed id, address addr, string name, bool appAvailableForAllocationVoting);\n\n  /**\n   * @dev Event fired when an app Eligibility for allocation voting changes.\n   */\n  event VotingEligibilityUpdated(bytes32 indexed appId, bool isAvailable);\n\n  /**\n   * @dev Event fired when an app is blacklisted or unblacklisted.\n   */\n  event BlacklistUpdated(bytes32 indexed appId, bool isBlacklisted);\n\n  /**\n   * @dev Event fired when the score threshold is updated.\n   */\n  event EndorsementScoreThresholdUpdated(uint256 oldThreshold, uint256 newThreshold);\n\n  /**\n   * @dev Event fired when the admin adds a new moderator to the app.\n   */\n  event ModeratorAddedToApp(bytes32 indexed appId, address moderator);\n\n  /**\n   * @dev Event fired when the admin removes a moderator from the app.\n   */\n  event ModeratorRemovedFromApp(bytes32 indexed appId, address moderator);\n\n  /**\n   * @dev Event fired when the admin removes a creator from the app.\n   */\n  event CreatorRemovedFromApp(bytes32 indexed appId, address creator);\n\n  /**\n   * @dev Event fired when the admin adds a new creator to the app and new creator NFT is minted.\n   */\n  event CreatorAddedToApp(bytes32 indexed appId, address creatorAddress);\n\n  /**\n   * @dev Event fired when the admin adds a new reward distributor to the app.\n   */\n  event RewardDistributorAddedToApp(bytes32 indexed appId, address distributorAddress);\n\n  /**\n   * @dev Event fired when the admin removes a reward distributor from the app.\n   */\n  event RewardDistributorRemovedFromApp(bytes32 indexed appId, address distributorAddress);\n\n  /**\n   * @dev Event fired when the admin of an app changes.\n   */\n  event AppAdminUpdated(bytes32 indexed appId, address oldAdmin, address newAdmin);\n\n  /**\n   * @dev Event fired when the address where the x2earn app receives allocation funds is changed.\n   */\n  event TeamWalletAddressUpdated(bytes32 indexed appId, address oldTeamWalletAddress, address newTeamWalletAddress);\n\n  /**\n   * @dev Event fired when the metadata URI of the app is changed.\n   */\n  event AppMetadataURIUpdated(bytes32 indexed appId, string oldMetadataURI, string newMetadataURI);\n\n  /**\n   * @dev Event fired when the base URI is updated.\n   */\n  event BaseURIUpdated(string oldBaseURI, string newBaseURI);\n\n  /**\n   * @dev Event fired when the cooldown period duration is updated.\n   */\n  event CooldownPeriodUpdated(uint256 oldCooldownPeriod, uint256 newCooldownPeriod);\n\n  /**\n   * @dev Event fired when the grace period duration is updated.\n   */\n  event GracePeriodUpdated(uint256 oldGracePeriod, uint256 newGracePeriod);\n\n  /**\n   * @dev Event fired when the app endorsement status is updated.\n   */\n  event AppEndorsementStatusUpdated(bytes32 indexed appId, bool endorsed);\n\n  /**\n   * @dev Event fired when the app endorsement grace period is started.\n   */\n  event AppUnendorsedGracePeriodStarted(bytes32 indexed appId, uint48 startBlock, uint48 endBlock);\n\n  /**\n   * @dev Event fired when the team allocation percentage is updated.\n   */\n  event TeamAllocationPercentageUpdated(bytes32 indexed appId, uint256 oldPercentage, uint256 newPercentage);\n\n  /**\n   * @dev V8: Event fired when an app is endorsed with points.\n   */\n  event AppEndorsed(bytes32 indexed appId, uint256 indexed nodeId, address endorser, uint256 points);\n\n  /**\n   * @dev V8: Event fired when an app is unendorsed.\n   */\n  event AppUnendorsed(bytes32 indexed appId, uint256 indexed nodeId, uint256 points);\n\n  /**\n   * @dev V8: Event fired when endorsements paused state changes.\n   */\n  event EndorsementsPausedUpdated(bool paused);\n\n  /**\n   * @dev V8: Event fired when max points per node per app is updated.\n   */\n  event MaxPointsPerNodePerAppUpdated(uint256 oldMax, uint256 newMax);\n\n  /**\n   * @dev V8: Event fired when max points per app is updated.\n   */\n  event MaxPointsPerAppUpdated(uint256 oldMax, uint256 newMax);\n\n  /**\n   * @dev V8: Event fired when an app admin voluntarily delists their app.\n   */\n  event AppSelfBlacklisted(bytes32 indexed appId, address indexed admin);\n\n  /**\n   * @dev Event fired when the node strength scores are updated.\n   */\n  event NodeStrengthScoresUpdated(EndorsementUtils.NodeStrengthScores indexed nodeStrengthScores);\n\n  /**\n   * @dev Generates the hash of the app name to be used as the app id.\n   *\n   * @param name the name of the app\n   */\n  function hashAppName(string memory name) external pure returns (bytes32);\n\n  /**\n   * @dev Get the app data by its id.\n   *\n   * @param appId the id of the app\n   */\n  function app(bytes32 appId) external view returns (X2EarnAppsDataTypes.AppWithDetailsReturnType memory);\n\n  /**\n   * @notice Get all the apps that exist in the VeBetter DAO ecosystem.\n   * @dev An XApp must have been included in at least one allocation round to be considered an existing app.\n   */\n  function apps() external view returns (X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory);\n\n  /**\n   * @dev Add a new moderator to the app.\n   *\n   * @param appId the id of the app\n   * @param moderator the address of the moderator\n   *\n   * Emits a {ModeratorAddedToApp} event.\n   */\n  function addAppModerator(bytes32 appId, address moderator) external;\n\n  /**\n   * @dev Remove a moderator from the app.\n   *\n   * @param appId the id of the app\n   * @param moderator the address of the moderator\n   *\n   * Emits a {ModeratorRemovedFromApp} event.\n   */\n  function removeAppModerator(bytes32 appId, address moderator) external;\n\n  /**\n   * @dev Set the app admin.\n   *\n   * @param appId the id of the app\n   * @param admin the address of the admin\n   *\n   * Emits a {AppAdminUpdated} event.\n   */\n  function setAppAdmin(bytes32 appId, address admin) external;\n\n  /**\n   * @dev Add a new creator to the app.\n   *\n   * @param appId the id of the app\n   * @param creator the address of the creator\n   *\n   * Emits a {CreatorAddedToApp} event.\n   */\n  function addCreator(bytes32 appId, address creator) external;\n\n  /**\n   * @dev Check if a creator has already been used for another app.\n   *\n   * @param creator the address of the creator\n   */\n  function isCreatorOfAnyApp(address creator) external returns (bool);\n\n  /**\n   * @dev Remove a creator from the app.\n   *\n   * @param appId the id of the app\n   * @param creator the address of the creator\n   *\n   * Emits a {CreatorRemovedFromApp} event.\n   */\n  function removeAppCreator(bytes32 appId, address creator) external;\n\n  /**\n   * @dev Get the creators of an app.\n   *\n   * @param appId the id of the app\n   */\n  function appCreators(bytes32 appId) external view returns (address[] memory);\n\n  /**\n   * @dev Get the number of apps created by an account.\n   *\n   * @param creator the address of the creator\n   */\n  function creatorApps(address creator) external view returns (uint256);\n\n  /**\n   * @dev Get the app admin.\n   *\n   * @param appId the id of the app\n   */\n  function appAdmin(bytes32 appId) external view returns (address);\n\n  /**\n   * @dev Check if an account is the admin of the app\n   *\n   * @param appId the hashed name of the app\n   * @param account the address of the account\n   */\n  function isAppAdmin(bytes32 appId, address account) external view returns (bool);\n\n  /**\n   * @dev Update the address where the x2earn app receives allocation funds.\n   *\n   * @param appId the id of the app\n   * @param newTeamWalletAddress the new address where the app should receive allocation funds\n   *\n   * Emits a {TeamWalletAddressUpdated} event.\n   */\n  function updateTeamWalletAddress(bytes32 appId, address newTeamWalletAddress) external;\n\n  /**\n   * @dev Get the address where the x2earn app receives allocation funds.\n   *\n   * @param appId the id of the app\n   */\n  function teamWalletAddress(bytes32 appId) external view returns (address);\n\n  /**\n   * @dev Function to get the percentage of the allocation sent to the team address each round.\n   *\n   * @param appId the app id\n   */\n  function teamAllocationPercentage(bytes32 appId) external view returns (uint256);\n\n  /**\n   * @dev Update the allocation percentage to be sent to the team\n   *\n   * @param appId the id of the app\n   * @param percentage the new percentage of the allocation\n   */\n  function setTeamAllocationPercentage(bytes32 appId, uint256 percentage) external;\n\n  /**\n   * @dev Add a new reward distributor to the app.\n   *\n   * @param appId the id of the app\n   * @param distributorAddress the address of the reward distributor\n   *\n   * Emits a {RewardDistributorAddedToApp} event.\n   */\n  function addRewardDistributor(bytes32 appId, address distributorAddress) external;\n\n  /**\n   * @dev Remove a reward distributor from the app.\n   *\n   * @param appId the id of the app\n   * @param distributorAddress the address of the reward distributor\n   *\n   * Emits a {RewardDistributorRemovedFromApp} event.\n   */\n  function removeRewardDistributor(bytes32 appId, address distributorAddress) external;\n\n  /**\n   * @dev Returns true if an account is a reward distributor of the app\n   *\n   * @param appId the id of the app\n   * @param distributorAddress the address of the account\n   */\n  function isRewardDistributor(bytes32 appId, address distributorAddress) external view returns (bool);\n\n  /**\n   * @dev Enable the rewards pool for a new app.\n   *\n   * @param appId the id of the app\n   */\n  function enableRewardsPoolForNewApp(bytes32 appId) external;\n\n  /**\n   * @notice Checks endorsements for a given app and updates its voting eligibility based on the endorsements' scores.\n   *\n   * @dev This function is intended to be called by a cron job prior to the start of each voting round.\n   * If the app has less than 100 points, the grace period elasped is checked.\n   * If the grace period elapsed by the app is greater than the threshold grace period, the app is marked as not eligible for voting.\n   * If an endorser has lost its node status (level 0), it is removed from the endorsers list.\n   *\n   * @param appId The unique identifier of the app being checked.\n   * @return True if the app is eligible for voting.\n   */\n  function checkEndorsement(bytes32 appId) external returns (bool);\n\n  /**\n   * @dev Update the metadata URI of the app.\n   *\n   * @param appId the id of the app\n   * @param metadataURI the new metadata URI of the app containing details about the app\n   *\n   * Emits a {AppMetadataURIUpdated} event.\n   */\n  function updateAppMetadata(bytes32 appId, string memory metadataURI) external;\n\n  /**\n   * @dev Check if there is an app with the specified `appId`.\n   * @dev This function should be used to check if an app exists is part of the VeBetter DAO ecosystem.\n   * @notice An app is considered to exist if it has been included in at least one allocation round.\n   *\n   * @param appId the id of the app\n   */\n  function appExists(bytes32 appId) external view returns (bool);\n\n  /**\n   * @dev Check if an app is blacklisted.\n   *\n   * @param appId the id of the app\n   */\n  function isBlacklisted(bytes32 appId) external view returns (bool);\n\n  /**\n   * @dev Allow or deny an app to participate in the next allocation voting rounds.\n   *\n   * @param _appId the id of the app\n   * @param _isEligible true if the app should be eligible for voting, false otherwise\n   *\n   * Emits a {VotingEligibilityUpdated} event.\n   */\n  function setVotingEligibility(bytes32 _appId, bool _isEligible) external;\n\n  /**\n   * @dev Get all the app ids that are eligible for voting in the next allocation rounds.\n   */\n  function allEligibleApps() external view returns (bytes32[] memory);\n\n  /**\n   * @dev Check if an app was allowed to participate in the allocation rounds in a specific timepoint.\n   * XAllocationVoting contract can use this function to check if an app was eligible for voting in the block when the round starts.\n   *\n   * @param appId the id of the app\n   * @param timepoint the timepoint when the app should be checked for Eligibility\n   */\n  function isEligible(bytes32 appId, uint256 timepoint) external view returns (bool);\n\n  /**\n   * @dev return the base URI for the contract\n   */\n  function baseURI() external view returns (string memory);\n\n  /**\n   * @dev return the grace period for an XApp to find new endorsers after the previous one was removed.\n   */\n  function gracePeriod() external view returns (uint256);\n\n  /**\n   * @dev return true if an app is pending for endorsement.\n   */\n  function isAppUnendorsed(bytes32 appId) external view returns (bool);\n\n  /**\n   * @notice Gets the ids of all apps that are looking for endorsement.\n   * @return the ids of the apps that are pending for endorsement\n   */\n  function unendorsedAppIds() external view returns (bytes32[] memory);\n\n  /**\n   * @notice Gets the information about all apps that are looking for endorsement.\n   * @return the information about the apps that are pending for endorsement\n   */\n  function unendorsedApps() external view returns (X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory);\n\n  /**\n   * @dev Get the endorsement score of an app.\n   *\n   * @param appId the id of the app\n   */\n  function getScore(bytes32 appId) external returns (uint256);\n\n  /**\n   * @notice Returns the endorsement score for an app at a specific block number.\n   * @param appId The unique identifier of the app.\n   * @param timepoint The block number to query.\n   * @return The endorsement score at the given timepoint.\n   */\n  function getScoreAtTimepoint(bytes32 appId, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @dev Get the endorsers of an app.\n   *\n   * @param appId the id of the app\n   */\n  function getEndorsers(bytes32 appId) external view returns (address[] memory);\n\n  /**\n   * @notice Get all endorser node IDs for an app.\n   */\n  function getEndorserNodes(bytes32 appId) external view returns (uint256[] memory);\n\n  /**\n   * @dev Get the endorsersment score of an individual.\n   *\n   * @param user the address of the user who holds a NODE\n   */\n  function getUsersEndorsementScore(address user) external view returns (uint256);\n\n  /**\n   * @dev Get the endorsersment score of a node ID.\n   *\n   * @param nodeId the ID of a node.\n   */\n  function getNodeEndorsementScore(uint256 nodeId) external view returns (uint256);\n\n  /**\n   * @notice Get the version of the contract.\n   * @dev This should be updated every time a new version of implementation is deployed.\n   */\n  function version() external view returns (string memory);\n\n  /**\n   * @dev Register a new app.\n   *\n   * @param _teamWalletAddress the address where the app will receive the allocation funds\n   * @param _admin the address of the admin\n   * @param _appName the name of the app\n   * @param _appMetadataURI the metadata URI of the app\n   *\n   * Emits a {AppAdded} event.\n   */\n  function submitApp(\n    address _teamWalletAddress,\n    address _admin,\n    string memory _appName,\n    string memory _appMetadataURI\n  ) external;\n\n  /**\n   * @dev Update the the endorsement scores of each node level.\n   *\n   * @param _nodeStrengthScores The node level scores to update.\n   *\n   * Emits a {NodeStrengthScoreUpdated} event.\n   */\n  function updateNodeEndorsementScores(EndorsementUtils.NodeStrengthScores calldata _nodeStrengthScores) external;\n\n  /**\n   * @notice Update the endorsement score threshold\n   * @dev This should be minimum endorsement score required for an app to be eligible for voting.\n   *\n   * @param _scoreThreshold the new score threshold\n   *\n   * Emits a {EndorsementScoreThresholdUpdated} event.\n   */\n\n  function updateEndorsementScoreThreshold(uint256 _scoreThreshold) external;\n\n  /**\n   * @notice This function can be called by an XAPP admin that wishes to remove an endorserment from a specific node ID\n   * @dev Can only be valled by DEFAULT_ADMIN or XAPP admin\n   * @param _appId The unique identifier of the app that wishes to be unendorsed.\n   * @param _nodeId The unique identifier of the node they wish to remove from their list of endorsers.\n   */\n  function removeNodeEndorsement(bytes32 _appId, uint256 _nodeId) external;\n\n  /**\n   * @dev Get the score threshold.\n   */\n  function endorsementScoreThreshold() external view returns (uint256);\n\n  /**\n   * @dev Remove an XApps submission.\n   */\n  function removeXAppSubmission(bytes32 _appId) external;\n\n  /**\n   * @notice this function returns the endorsement score of a node level\n   * @param nodeLevel The strength level of the node.\n   * @return uint256 The endorsement score of the node level.\n   */\n  function nodeLevelEndorsementScore(uint8 nodeLevel) external view returns (uint256);\n\n  /**\n   * @dev Get the cooldown period for a node in seconds.\n   */\n  function cooldownPeriod() external view returns (uint256);\n\n  /**\n   * @notice Function to update the grace period.\n   * @param _newGracePeriod The new grace period.\n   * Emits a {GracePeriodUpdated} event.\n   */\n  function updateGracePeriod(uint48 _newGracePeriod) external;\n\n  /**\n   * @notice Function to update the cooldown period.\n   * @param _newCooldownPeriod The new cooldown period.\n   * Emits a {CooldownPeriodUpdated} event.\n   */\n  function updateCooldownPeriod(uint256 _newCooldownPeriod) external;\n\n  // ---------- V8 Flexible Endorsement ---------- //\n\n  /**\n   * @notice Endorse an app with a specified number of points.\n   * @param appId The app to endorse.\n   * @param nodeId The node endorsing.\n   * @param points Number of points to endorse.\n   */\n  function endorseApp(bytes32 appId, uint256 nodeId, uint256 points) external;\n\n  /**\n   * @notice Unendorse an app by removing points.\n   * @param appId The app to unendorse.\n   * @param nodeId The node unendorsing.\n   * @param points Number of points to remove (0 = remove all).\n   */\n  function unendorseApp(bytes32 appId, uint256 nodeId, uint256 points) external;\n\n  /**\n   * @notice Pause endorsement operations.\n   */\n  function pauseEndorsements() external;\n\n  /**\n   * @notice Unpause endorsement operations.\n   */\n  function unpauseEndorsements() external;\n\n  /**\n   * @notice Seed endorsement during migration.\n   */\n  function seedEndorsement(bytes32 appId, uint256 nodeId, uint256 points) external;\n\n  /**\n   * @notice Mark migration as complete.\n   */\n  function markMigrationComplete() external;\n\n  /**\n   * @notice Set max points per node per app.\n   */\n  function setMaxPointsPerNodePerApp(uint256 maxPoints) external;\n\n  /**\n   * @notice Set max total points per app.\n   */\n  function setMaxPointsPerApp(uint256 maxPoints) external;\n\n  /**\n   * @notice Get available endorsement points for a node.\n   */\n  function getNodeAvailablePoints(uint256 nodeId) external view returns (uint256);\n\n  /**\n   * @notice Get comprehensive info about a node's endorsement points.\n   */\n  function getNodePointsInfo(uint256 nodeId) external view returns (X2EarnAppsStorageTypes.NodePointsInfo memory);\n\n  /**\n   * @notice Get all active endorsements for a node.\n   */\n  function getNodeActiveEndorsements(\n    uint256 nodeId\n  ) external view returns (X2EarnAppsStorageTypes.Endorsement[] memory);\n\n  /**\n   * @notice Check if node can unendorse an app (cooldown expired).\n   */\n  function canUnendorse(uint256 nodeId, bytes32 appId) external view returns (bool);\n\n  /**\n   * @notice Get max points per node per app.\n   */\n  function maxPointsPerNodePerApp() external view returns (uint256);\n\n  /**\n   * @notice Get max points per app.\n   */\n  function maxPointsPerApp() external view returns (uint256);\n\n  /**\n   * @notice Check if endorsements are paused.\n   */\n  function endorsementsPaused() external view returns (bool);\n\n  /**\n   * @notice V8 initializer for flexible endorsement config.\n   */\n  function initializeV8(uint256 _maxPointsPerNodePerApp, uint256 _maxPointsPerApp) external;\n\n  /**\n   * @notice Allows an app admin to voluntarily blacklist their app from allocation voting.\n   * @dev Blacklists the app and revokes creator NFTs. Only governance can restore.\n   * @param _appId The unique identifier of the app.\n   */\n  function selfBlacklistApp(bytes32 _appId) external;\n}\n"},"contracts/interfaces/IX2EarnCreator.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\ninterface IX2EarnCreator {\n  // ---------------- Role Management ----------------\n\n  /// @notice Grants a role to an account\n  /// @param role The role to assign\n  /// @param account The account to grant the role to\n  function grantRole(bytes32 role, address account) external;\n\n  /// @notice Revokes a role from an account\n  /// @param role The role to revoke\n  /// @param account The account to revoke the role from\n  function revokeRole(bytes32 role, address account) external;\n\n  /// @notice Checks if an account has a specific role\n  /// @param role The role identifier\n  /// @param account The account to check\n  /// @return Boolean indicating if the account has the role\n  function hasRole(bytes32 role, address account) external view returns (bool);\n\n  // ---------------- Token Management ----------------\n\n  /// @notice Mints a new token to the specified address\n  /// @param to The address to receive the token\n  function safeMint(address to) external;\n\n  /// @notice Allows a user to mint a Creator NFT to themselves when self-minting is enabled\n  function selfMint() external;\n\n  /// @notice Returns whether self-minting is enabled\n  function selfMintEnabled() external view returns (bool);\n\n  /// @notice Burns a specified token, removing it from circulation\n  /// @param tokenId The ID of the token to burn\n  function burn(uint256 tokenId) external;\n\n  /// @notice Retrieves the token URI for a given token ID\n  /// @param tokenId The ID of the token\n  /// @return The URI pointing to the token's metadata\n  function tokenURI(uint256 tokenId) external view returns (string memory);\n\n  // ---------------- Pausing Management ----------------\n\n  /// @notice Pauses all minting and burning functions\n  function pause() external;\n\n  /// @notice Unpauses minting and burning functions\n  function unpause() external;\n\n  /// @notice Returns whether the contract is paused\n  /// @return Boolean indicating whether the contract is paused\n  function paused() external view returns (bool);\n\n  // ---------------- Enumeration Functions ----------------\n\n  /// @notice Gets the total number of tokens in existence\n  /// @return Total supply of tokens\n  function totalSupply() external view returns (uint256);\n\n  /// @notice Gets the token ID owned by `owner` at a specific `index`\n  /// @param owner Address owning the tokens\n  /// @param index Index of the token in the owner's list of tokens\n  /// @return Token ID owned by `owner` at the specified `index`\n  function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);\n\n  /// @notice Gets the token ID at a specific global `index`\n  /// @param index Index of the token in the total supply\n  /// @return Token ID at the specified `index`\n  function tokenByIndex(uint256 index) external view returns (uint256);\n\n  // ---------------- View Functions ----------------\n\n  /// @notice Checks if the contract supports a specific interface\n  /// @param interfaceId The interface identifier\n  /// @return Boolean indicating if the interface is supported\n  function supportsInterface(bytes4 interfaceId) external view returns (bool);\n\n  /// @notice Returns the balance of tokens held by `owner`\n  /// @param owner Address to query the balance of\n  /// @return Balance of tokens held by `owner`\n  function balanceOf(address owner) external view returns (uint256);\n}\n"},"contracts/interfaces/IX2EarnRewardsPool.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\n/**\n * @title IX2EarnRewardsPool\n * @dev Interface designed to be used by a contract that allows x2Earn apps to reward users that performed sustainable actions.\n * Funds can be deposited into this contract by specifying the app id that can access the funds.\n * Admins of x2EarnApps can withdraw funds from the rewards pool, whihc are sent to the team wallet.\n */\ninterface IX2EarnRewardsPool {\n  /**\n   * @dev Event emitted when a new deposit is made into the rewards pool.\n   *\n   * @param amount The amount of $B3TR deposited.\n   * @param appId The ID of the app for which the deposit was made.\n   * @param depositor The address of the user that deposited the funds.\n   */\n  event NewDeposit(uint256 amount, bytes32 indexed appId, address indexed depositor);\n\n  /**\n   * @dev Event emitted when a team withdraws funds from the rewards pool.\n   *\n   * @param amount The amount of $B3TR withdrawn.\n   * @param appId The ID of the app for which the withdrawal was made.\n   * @param teamWallet The address of the team wallet that received the funds.\n   * @param withdrawer The address of the user that withdrew the funds.\n   * @param reason The reason for the withdrawal.\n   */\n  event TeamWithdrawal(\n    uint256 amount,\n    bytes32 indexed appId,\n    address indexed teamWallet,\n    address withdrawer,\n    string reason\n  );\n\n  /**\n   * @dev Event emitted when a reward is emitted by an app.\n   *\n   * @param amount The amount of $B3TR rewarded.\n   * @param appId The ID of the app that emitted the reward.\n   * @param receiver The address of the user that received the reward.\n   * @param proof The proof of the sustainable action that was performed.\n   * @param distributor The address of the user that distributed the reward.\n   */\n  event RewardDistributed(\n    uint256 amount,\n    bytes32 indexed appId,\n    address indexed receiver,\n    string proof,\n    address indexed distributor\n  );\n\n  /**\n   * @dev Event emitted when the proof of sustainability external contract call fails.\n   *\n   * @param reason The reason for the failure.\n   * @param lowLevelData The low level data returned by the external contract.\n   */\n  event RegisterActionFailed(string reason, bytes lowLevelData);\n\n  /**\n   * @dev Event emitted when an app's reward distribution is paused.\n   * @param appId The ID of the app that was paused.\n   * @param admin The address of the admin who paused the app.\n   */\n  event AppPaused(bytes32 indexed appId, address indexed admin);\n\n  /**\n   * @dev Event emitted when an app's reward distribution is unpaused.\n   * @param appId The ID of the app that was unpaused.\n   * @param admin The address of the admin who unpaused the app.\n   */\n  event AppUnpaused(bytes32 indexed appId, address indexed admin);\n\n\n/**\n  * @dev Event emitted when a reward is emitted by an app with proof and metadata.\n  * @param amount The amount of $B3TR rewarded.\n  * @param appId The ID of the app that emitted the reward.\n  * @param receiver The address of the user that received the reward.\n  * @param metadata The metadata of the sustainable action that was performed.\n  * @param distributor The address of the user that distributed the reward.\n */\n  event RewardMetadata(\n    uint256 amount,\n    bytes32 indexed appId,\n    address indexed receiver,\n    string metadata,\n    address indexed distributor\n  );\n\n  /**\n   * @dev Event emitted when the admin configure the rewards pool balance\n   *\n   * @param appId - the app ID\n   * @param enable - true to enable, false to disable\n   */\n  event RewardsPoolBalanceEnabled(bytes32 indexed appId, bool enable);\n\n  /**\n   * @dev Event emitted when the balance of the rewards pool for an app is initialized or updated.\n   *\n   * @param appId The ID of the app for which the balance was updated.\n   * @param amount The amount being added or removed from the rewards pool.\n   * @param availableFunds The current balance of the available funds for the app.\n   * @param rewardsPoolBalance The current balance of the rewards pool for the app.\n   */\n  event RewardsPoolBalanceUpdated(bytes32 indexed appId, uint256 amount, uint256 availableFunds, uint256 rewardsPoolBalance);\n\n\n  /**\n   * @dev Retrieves the current version of the contract.\n   *\n   * @return The version of the contract.\n   */\n  function version() external pure returns (string memory);\n\n  /**\n   * @dev Function used by x2earn apps to deposit funds into the rewards pool.\n   *\n   * @param amount The amount of $B3TR to deposit.\n   * @param appId The ID of the app.\n   */\n  function deposit(uint256 amount, bytes32 appId) external returns (bool);\n\n  /**\n   * @dev Function used by x2earn apps to withdraw funds from the rewards pool.\n   *\n   * @param amount The amount of $B3TR to withdraw.\n   * @param appId The ID of the app.\n   * @param reason The reason for the withdrawal.\n   */\n  function withdraw(uint256 amount, bytes32 appId, string memory reason) external;\n\n  /**\n   * @dev Gets the amount of funds available for an app to withdraw and reward user if the dual-pool is disabled.\n   *\n   * @param appId The ID of the app.\n   */\n  function availableFunds(bytes32 appId) external view returns (uint256);\n\n  /**\n   * @dev Gets the total of funds available for withdrawal and rewards distribution.\n   *\n   * @param appId The ID of the app.\n   */\n  function totalBalance(bytes32 appId) external view returns (uint256);\n\n  /**\n   * @dev Gets either the dual-pool rewards pool balance is enabled or not.\n   *\n   * @param appId The ID of the app.\n   */\n  function isRewardsPoolEnabled(bytes32 appId) external view returns (bool);\n\n  /**\n   * @dev Gets whether the distribution is paused or not for a specific xApp\n   *\n   * @param appId The ID of the app.\n   */\n  function isDistributionPaused(bytes32 appId) external view returns (bool);\n\n  /**\n   * @dev Enables the rewards pool for a newly created app.\n   * @param appId The ID of the app.\n   * @notice This function can only be called by the X2EarnApps contract during app submission\n   */\n  function enableRewardsPoolForNewApp(bytes32 appId) external;  \n\n  /**\n   * @dev Gets the amount of funds available for an app to reward users if the dual-pool is enabled.\n   *\n   * @param appId The ID of the app.\n   */\n  function rewardsPoolBalance(bytes32 appId) external view returns (uint256);\n  \n  /**\n   * @dev Function used by x2earn apps to reward users that performed sustainable actions.\n   *\n   * @param appId the app id that is emitting the reward\n   * @param amount the amount of B3TR token the user is rewarded with\n   * @param receiver the address of the user that performed the sustainable action and is rewarded\n   * @param proof deprecated argument, pass an empty string instead\n   */\n  function distributeReward(bytes32 appId, uint256 amount, address receiver, string memory proof) external;\n\n  /**\n   * @dev Function used by x2earn apps to reward users that performed sustainable actions.\n   * @notice This function is depracted in favor of distributeRewardWithProof.\n   *\n   * @param appId the app id that is emitting the reward\n   * @param amount the amount of B3TR token the user is rewarded with\n   * @param receiver the address of the user that performed the sustainable action and is rewarded\n   * @param proof the JSON string that contains the proof and impact of the sustainable action\n   */\n  function distributeRewardDeprecated(bytes32 appId, uint256 amount, address receiver, string memory proof) external;\n\n  /**\n   * @dev Function used by x2earn apps to reward users that performed sustainable actions.\n   *\n   * @param appId the app id that is emitting the reward\n   * @param amount the amount of B3TR token the user is rewarded with\n   * @param receiver the address of the user that performed the sustainable action and is rewarded\n   * @param proofTypes the types of the proof of the sustainable action\n   * @param proofValues the values of the proof of the sustainable action\n   * @param impactCodes the codes of the impacts of the sustainable action\n   * @param impactValues the values of the impacts of the sustainable action\n   * @param description the description of the sustainable action\n   */\n  function distributeRewardWithProof(\n    bytes32 appId,\n    uint256 amount,\n    address receiver,\n    string[] memory proofTypes, // link, image, video, text, etc.\n    string[] memory proofValues, // \"https://...\", \"Qm...\", etc.,\n    string[] memory impactCodes, // carbon, water, etc.\n    uint256[] memory impactValues, // 100, 200, etc.,\n    string memory description\n  ) external;\n\n  /**\n   * @dev Function used by x2earn apps to reward users that performed sustainable actions and emit metadata event.\n   *\n   * @param appId the app id that is emitting the reward\n   * @param amount the amount of B3TR token the user is rewarded with\n   * @param receiver the address of the user that performed the sustainable action and is rewarded\n   * @param proofTypes the types of the proof of the sustainable action\n   * @param proofValues the values of the proof of the sustainable action\n   * @param impactCodes the codes of the impacts of the sustainable action\n   * @param impactValues the values of the impacts of the sustainable action\n   * @param description the description of the sustainable action\n   * @param metadata the metadata of the sustainable action\n   */\n  function distributeRewardWithProofAndMetadata(\n    bytes32 appId,\n    uint256 amount,\n    address receiver,\n    string[] memory proofTypes, // link, image, video, text, etc.\n    string[] memory proofValues, // \"https://...\", \"Qm...\", etc.,\n    string[] memory impactCodes, // carbon, water, etc.\n    uint256[] memory impactValues, // 100, 200, etc.,\n    string memory description,\n    string memory metadata // \"{'country': 'Brazil', 'city': 'Brasilia'}\"\n  ) external;\n\n  /**\n   * @dev Function used by x2earn apps to reward users and attribute the action to a specific round.\n   *\n   * @param appId the app id that is emitting the reward\n   * @param amount the amount of B3TR token the user is rewarded with\n   * @param receiver the address of the user that performed the sustainable action and is rewarded\n   * @param proof deprecated argument, pass an empty string instead\n   * @param actionRound the round in which the action was actually performed\n   */\n  function distributeRewardForRound(\n    bytes32 appId,\n    uint256 amount,\n    address receiver,\n    string memory proof,\n    uint256 actionRound\n  ) external;\n\n  /**\n   * @dev Function used by x2earn apps to reward users with proof and attribute the action to a specific round.\n   *\n   * @param appId the app id that is emitting the reward\n   * @param amount the amount of B3TR token the user is rewarded with\n   * @param receiver the address of the user that performed the sustainable action and is rewarded\n   * @param proofTypes the types of the proof of the sustainable action\n   * @param proofValues the values of the proof of the sustainable action\n   * @param impactCodes the codes of the impacts of the sustainable action\n   * @param impactValues the values of the impacts of the sustainable action\n   * @param description the description of the sustainable action\n   * @param actionRound the round in which the action was actually performed\n   */\n  function distributeRewardWithProofForRound(\n    bytes32 appId,\n    uint256 amount,\n    address receiver,\n    string[] memory proofTypes,\n    string[] memory proofValues,\n    string[] memory impactCodes,\n    uint256[] memory impactValues,\n    string memory description,\n    uint256 actionRound\n  ) external;\n\n  /**\n   * @dev Function used by x2earn apps to reward users with proof, metadata and attribute the action to a specific round.\n   *\n   * @param appId the app id that is emitting the reward\n   * @param amount the amount of B3TR token the user is rewarded with\n   * @param receiver the address of the user that performed the sustainable action and is rewarded\n   * @param proofTypes the types of the proof of the sustainable action\n   * @param proofValues the values of the proof of the sustainable action\n   * @param impactCodes the codes of the impacts of the sustainable action\n   * @param impactValues the values of the impacts of the sustainable action\n   * @param description the description of the sustainable action\n   * @param metadata the metadata of the sustainable action\n   * @param actionRound the round in which the action was actually performed\n   */\n  function distributeRewardWithProofAndMetadataForRound(\n    bytes32 appId,\n    uint256 amount,\n    address receiver,\n    string[] memory proofTypes,\n    string[] memory proofValues,\n    string[] memory impactCodes,\n    uint256[] memory impactValues,\n    string memory description,\n    string memory metadata,\n    uint256 actionRound\n  ) external;\n\n  /**\n   * @dev Builds the JSON proof string that will be stored\n   * on chain regarding the proofs, impacts and description of the sustainable action.\n   *\n   * @param proofTypes the types of the proof of the sustainable action\n   * @param proofValues the values of the proof of the sustainable action\n   * @param impactCodes the codes of the impacts of the sustainable action\n   * @param impactValues the values of the impacts of the sustainable action\n   * @param description the description of the sustainable action\n   */\n  function buildProof(\n    string[] memory proofTypes, // link, photo, video, text, etc.\n    string[] memory proofValues, // \"https://...\", \"Qm...\", etc.,\n    string[] memory impactCodes, // carbon, water, etc.\n    uint256[] memory impactValues, // 100, 200, etc.,\n    string memory description\n  ) external returns (string memory);\n}\n"},"contracts/interfaces/IXAllocationPool.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\ninterface IXAllocationPool {\n  /**\n   * @dev Event emitted when an app claims its rewards for a given round.\n   * Total amount of $B3TR tokens earned in a round are the sum of the\n   * team allocation and the rewards allocation.\n   *\n   * @param appId The ID of the app for which the rewards were claimed.\n   * @param roundId The round ID for which the rewards were claimed.\n   * @param totalAmount The total amount of $B3TR available for allocation to the app.\n   * @param recipient The address of the recipient of the rewards sent to the team.\n   * @param caller The address that triggered this operation.\n   * @param unallocatedAmount The amount of $B3TR that was not allocated, and were sent to the treasury.\n   * @param teamAllocationAmount The amount of $B3TR sent to the team.\n   * @param rewardsAllocationAmount The amount of $B3TR left in the cotnract and reserved to reward users.\n   */\n  event AllocationRewardsClaimed(\n    bytes32 indexed appId,\n    uint256 roundId,\n    uint256 totalAmount,\n    address indexed recipient,\n    address caller,\n    uint256 unallocatedAmount,\n    uint256 teamAllocationAmount,\n    uint256 rewardsAllocationAmount\n  );\n  /**\n   * @dev Emit when the xAllocationVoting contract is set\n   * @param oldContractAddress The old contract address\n   * @param newContractAddress The new contract address\n   */\n  event XAllocationVotingSet(address oldContractAddress, address newContractAddress);\n  /**\n   * @dev Emit when the emissions contract is set\n   * @param oldContractAddress The old contract address\n   * @param newContractAddress The new contract address\n   */\n  event EmissionsContractSet(address oldContractAddress, address newContractAddress);\n  /**\n   * @dev Emit when the treasury contract is set (deprecated after version 7)\n   * @param oldContractAddress The old contract address\n   * @param newContractAddress The new contract address\n   */\n  event TreasuryContractSet(address oldContractAddress, address newContractAddress);\n  /**\n   * @dev Emit when the x2EarnApps contract is set\n   * @param oldContractAddress The old contract address\n   * @param newContractAddress The new contract address\n   */\n  event X2EarnAppsContractSet(address oldContractAddress, address newContractAddress);\n  /**\n   * @dev Emit when the unallocated funds receiver contract or wallet is set\n   * @param oldContractAddress The old contract address\n   * @param newContractAddress The new contract address\n   */\n  event UnallocatedFundsReceiverSet(address oldContractAddress, address newContractAddress);\n  /**\n   * @dev Emit when quadratic funding is disabled or enabled\n   * @param isDisabled The flag to enable or disable quadratic funding\n   */\n  event QuadraticFundingToggled(bool indexed isDisabled);\n\n  /**\n   * @dev Fetches the id of the current round and calculates the earnings.\n   * Usually when calling this function round is active, and the results should be treated as real time estimation and not final results.\n   * If round ends and a new round did not start yet, then the results can be considered final.\n   *\n   * @param appId The ID of the app for which to calculate the amount available for allocation.\n   */\n  function currentRoundEarnings(bytes32 appId) external view returns (uint256);\n\n  /**\n   * @dev The amount of allocation to distribute to the apps is calculated in two parts:\n   * - There is a minimum amount calculated through the `baseAllocationPercentage` of total available funds for the round divided by the number of eligible apps\n   * - There is a variable amount (calculated upon the `variableAllocationPercentage` of total available funds) that depends on the amounts of votes that an app receives.\n   * There is a cap to how much each x-app will be able to receive each round. Unallocated amount is calculated when the app share is greater than the max share an app get have.\n   *\n   * If a round fails then we calculate the % of received votes (shares) against the previous succeeded round.\n   * If a round is succeeded then we calculate the % of received votes (shares) against it.\n   * If a round is active then results should be treated as real time estimation and not final results, since voting is still in progress.\n   *\n   * @param roundId The round ID for which to calculate the amount available for allocation.\n   * @param appId The ID of the app for which to calculate the amount available for allocation.\n   *\n   * @return totalAmount The total amount of $B3TR available for allocation to the app.\n   * @return unallocatedAmount The amount of $B3TR that was not allocated, and will be sent to the treasury.\n   * @return teamAllocationAmount The amount of $B3TR that will be sent to the team.\n   * @return x2EarnRewardsPoolAmount The amount of $B3TR reserved to reward users.\n   */\n  function roundEarnings(\n    uint256 roundId,\n    bytes32 appId\n  )\n    external\n    view\n    returns (\n      uint256 totalAmount,\n      uint256 unallocatedAmount,\n      uint256 teamAllocationAmount,\n      uint256 x2EarnRewardsPoolAmount\n    );\n\n  /**\n   * @dev Get how much an app can claim for a given round.\n   *\n   * @param roundId The round ID for which to calculate the amount available for allocation.\n   * @param appId The ID of the app for which to calculate the amount available for allocation.\n   * @return totalAmount The total amount of $B3TR available for allocation to the app.\n   * @return unallocatedAmount The amount of $B3TR that was not allocated, and will be sent to the treasury.\n   * @return teamAllocationAmount The amount of $B3TR that will be sent to the team.\n   * @return x2EarnRewardsPoolAmount The amount of $B3TR reserved to reward users.\n   */\n  function claimableAmount(\n    uint256 roundId,\n    bytes32 appId\n  )\n    external\n    view\n    returns (\n      uint256 totalAmount,\n      uint256 unallocatedAmount,\n      uint256 teamAllocationAmount,\n      uint256 x2EarnRewardsPoolAmount\n    );\n\n  /**\n   * @dev Returns the scaled quadratic funding percentage of votes for a given app in a given round.\n   * When calculating the percentage of votes received we check if the app exceeds the max cap of shares, eg:\n   * if an app has 80 votes out of 100, and the max cap is 50, then the app will have a share of 50% of the available funds.\n   * The remaining 30% will be sent to the treasury.\n   *\n   * @param roundId The round ID for which to calculate the amount of votes received in percentage.\n   * @param appId The ID of the app.\n   * @return appShare The percentage of votes received by the app.\n   * @return unallocatedShare The amount of votes that were not allocated, and will be sent to the treasury.\n   */\n  function getAppShares(uint256 roundId, bytes32 appId) external view returns (uint256, uint256);\n\n  /**\n   * @dev Calculate the minimum amount of $B3TR that will be distributed to each qualified X Application in a given round.\n   * `baseAllocationPercentage`% of allocations will be on average distributed to each qualified X Application as the base\n   * part of the allocation (so all the x-apps in the ecosystem will receive a minimum amount of $B3TR).\n   *\n   * @param roundId The round ID for which to calculate the amount available for allocation.\n   */\n  function baseAllocationAmount(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Returns the maximum amount an app can claim for a given round.\n   *\n   * @param roundId The round ID\n   */\n  function getMaxAppAllocation(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Returns the version of the contract\n   * @return string The version of the contract\n   */\n  function version() external view returns (string memory);\n\n  /**\n   * @dev Check if quadratic funding is disabled at a given round\n   * @param roundId The round ID\n   * @return true if quadratic funding is disabled at the given round\n   */\n  function isQuadraticFundingDisabledForRound(uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Check if quadratic funding is disabled for the current round\n   * @return true if quadratic funding is disabled for the current round\n   */\n  function isQuadraticFundingDisabledForCurrentRound() external view returns (bool);\n\n  /**\n   * @dev Function to toggle quadratic funding on/off\n   */\n  function toggleQuadraticFunding() external;\n\n  /**\n   * @dev Returns the unallocated funds for a given round.\n   * This value is provisional until all the funds for the round have been claimed.\n   * @param roundId The round ID for which to return the unallocated funds.\n   * @return The unallocated funds for the given round.\n   */\n  function unallocatedFunds(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Returns true if all the funds for a given round have been claimed.\n   * @param roundId The round ID for which to return the all funds claimed status.\n   * @return True if all the funds for the given round have been claimed, false otherwise.\n   */\n  function allFundsClaimed(uint256 roundId) external view returns (bool);\n}\n"},"contracts/interfaces/IXAllocationVotingGovernor.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { IERC165 } from \"@openzeppelin/contracts/interfaces/IERC165.sol\";\nimport { IERC6372 } from \"@openzeppelin/contracts/interfaces/IERC6372.sol\";\n\n/**\n * @dev Interface of the distribution allocation voting for the x-allocation pool reward distributions.\n * This interface was forked from OpenZeppelin's IGovernor.sol and modified to fit the needs of a voting mechanism\n * where a user can vote on multpile x-apps belonging to the ecosystem and fractionalize their votes accross the x-apps.\n *\n * There can be only one round per time.\n * After the round is created  it becomes immediately active.\n * There can be only two possible outcomes of a round: it succeeds or it fails.\n * To succeed the only requirement is that the quorum is reached.\n *\n * New allocation rounds can be started only by the Emissions contract, this way we can align the duration\n * of emission cycles and allocation rounds.\n *\n * If the round fails, we will need to “finalize” it, which means we will create a pointer to the last succeeded round\n * where shares should be calculated. Anyone can finalize the failed round,\n * but it will be automatically done when a new round starts.\n */\ninterface IXAllocationVotingGovernor is IERC165, IERC6372 {\n  enum RoundState {\n    Active,\n    Failed,\n    Succeeded\n  }\n\n  /**\n   * @dev The vote was already cast.\n   */\n  error GovernorAlreadyCastVote(address voter);\n\n  /**\n   * @dev The `account` is not the governance executor.\n   */\n  error B3TRGovernorOnlyExecutor(address account);\n\n  /**\n   * @dev The `roundId` doesn't exist.\n   */\n  error GovernorNonexistentRound(uint256 roundId);\n\n  /**\n   * @dev The current state of a round is not the required for performing an operation.\n   * The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position\n   * counting from right to left.\n   *\n   * NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist).\n   * This is the case when a round that is expected to be unset is already initiated (the round is duplicated).\n   *\n   * See {Governor-_encodeStateBitmap}.\n   */\n  error GovernorUnexpectedRoundState(uint256 roundId, RoundState current, bytes32 expectedStates);\n\n  /**\n   * @dev The voting period set is not a valid period.\n   */\n  error GovernorInvalidVotingPeriod(uint256 votingPeriod);\n\n  /**\n   * @dev The `appId` is not present in the list with the available x-apps for voting in this round.\n   */\n  error GovernorAppNotAvailableForVoting(bytes32 appId);\n\n  /**\n   * @dev The `votingThreshold` is not met.\n   */\n  error GovernorVotingThresholdNotMet(uint256 threshold, uint256 votes);\n\n  /**\n   * @dev The `voter` has insufficient voting power for this round to cast the votes.\n   */\n  error GovernorInsufficientVotingPower();\n\n  /**\n   * @dev The `voter` has voted for the same app multiple times in the same transaction.\n   */\n  error DuplicateAppVote();\n\n  /**\n   * The `voter` is not identified as a person via the VeBetterPassport.\n   */\n  error GovernorPersonhoodVerificationFailed(address person, string reason);\n\n  /**\n   * @dev The `person` is not identified as a person via the VeBetterPassport.\n   */\n  error XAllocationVotingPersonhoodVerificationFailed(address person);\n\n  /**\n   * @dev The `voter` has auto-voting not enabled.\n   */\n  error AutoVotingNotEnabled(address voter);\n\n  /**\n   * @dev The `voter` has auto-voting enabled.\n   */\n  error AutoVotingEnabled(address voter);\n\n  /**\n   * @dev Thrown when a zero address is provided for a contract address parameter\n   * @param contractName The name/type of the contract that cannot be zero address\n   */\n  error InvalidContractAddress(string contractName);\n\n  /**\n   * @dev The `caller` is not valid\n   */\n  error InvalidCaller(address caller);\n\n  /**\n   * @dev Citizen is not delegated to any navigator\n   */\n  error NotDelegatedToNavigator(address citizen);\n\n  /**\n   * @dev Citizen is delegated to a navigator and cannot vote manually\n   */\n  error DelegatedToNavigator(address citizen);\n\n  /**\n   * @dev Navigator cannot enable auto-voting\n   */\n  error NavigatorCannotEnableAutoVoting(address navigator);\n\n  /**\n   * @dev Navigator has not set allocation preferences for the round\n   */\n  error NavigatorPreferencesNotSet(address navigator, uint256 roundId);\n\n  /**\n   * @dev The skip window (minimum time into the round before skips are allowed) has not been reached\n   */\n  error SkipWindowNotReached(uint256 roundId);\n\n  /**\n   * @dev The voter has already been processed (voted or skipped) for this round\n   */\n  error VoteAlreadyProcessed(address voter, uint256 roundId);\n\n  /**\n   * @dev Emitted when auto-voting is skipped.\n   */\n  event AutoVoteSkipped(\n    address indexed voter,\n    uint256 indexed roundId,\n    bool isPerson,\n    uint256 appCount,\n    uint256 votingPower\n  );\n\n  /**\n   * @dev Emitted when a round is created.\n   */\n  event RoundCreated(uint256 roundId, address proposer, uint256 voteStart, uint256 voteEnd, bytes32[] appsIds);\n\n  /**\n   * @dev Emitted when votes are cast.\n   *\n   */\n  event AllocationVoteCast(address indexed voter, uint256 indexed roundId, bytes32[] appsIds, uint256[] voteWeights);\n\n  /**\n   * @dev Emitted when a vote is cast on behalf of an account.\n   */\n  event AllocationAutoVoteCast(\n    address indexed voter,\n    uint256 indexed roundId,\n    bytes32[] appsIds,\n    uint256[] voteWeights\n  );\n\n  /**\n   * @dev Emitted when autovoting is toggled for an account.\n   */\n  event AutoVotingToggled(address indexed account, bool enabled);\n\n  /**\n   * @dev Emitted when the preferred apps are updated for an account.\n   */\n  event PreferredAppsUpdated(address indexed account, bytes32[] apps);\n\n  /**\n   * @dev Emitted when a navigator casts a vote on behalf of a delegated citizen\n   */\n  event NavigatorVoteCast(\n    address indexed citizen,\n    address indexed navigator,\n    uint256 indexed roundId,\n    bytes32[] appsIds,\n    uint256[] voteWeights\n  );\n\n  /**\n   * @dev Emitted when a navigator vote is skipped (navigator dead or no preferences set)\n   */\n  event NavigatorVoteSkipped(address indexed citizen, address indexed navigator, uint256 indexed roundId);\n\n  /**\n   * @dev Emitted when a freshness multiplier is applied to a vote.\n   * @param voter The voter address\n   * @param roundId The round in which the vote was cast\n   * @param fingerprint The XOR fingerprint of the voted apps\n   * @param lastChangedRound The round when the voter's fingerprint last changed\n   * @param multiplier The freshness multiplier applied (basis points, 10000 = 1x)\n   */\n  event FreshnessMultiplierApplied(\n    address indexed voter,\n    uint256 indexed roundId,\n    bytes32 fingerprint,\n    uint256 lastChangedRound,\n    uint256 multiplier\n  );\n\n  /**\n   * @notice module:core\n   * @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"\n   */\n  function version() external view returns (string memory);\n\n  /**\n   * @notice module:core\n   * @dev Current state of a round\n   */\n  function state(uint256 roundId) external view returns (RoundState);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n   * snapshot is performed at the end of this block. Hence, voting for this round starts at the beginning of the\n   * following block.\n   */\n  function roundSnapshot(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:core\n   * @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n   * possible to cast a vote during this block.\n   */\n  function roundDeadline(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:user-config\n   * @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n   * (see EIP-6372) this contract uses.\n   *\n   *\n   * NOTE: This value is stored when the round is submitted so that possible changes to the value do not affect\n   * proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n   * interface returns a uint256, the value it returns should fit in a uint32.\n   */\n  function votingPeriod() external view returns (uint256);\n\n  /**\n   * @notice module:user-config\n   * @dev Minimum number of cast voted required for a round to be successful.\n   *\n   * NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n   * quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\n   */\n  function quorum(uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:user-config\n   * @dev Minimum number of cast voted required for a round to be successful.\n   *\n   * NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\n   */\n  function roundQuorum(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Voting power of an `account` at a specific `timepoint`.\n   *\n   * Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n   * multiple), {ERC20Votes} tokens.\n   */\n  function getVotes(address account, uint256 timepoint) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Total number of votes cast in an allocation round.\n   */\n  function totalVotes(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Total number of voters in an allocation round.\n   */\n  function totalVoters(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Number of votes cast for a specific app in an allocation round.\n   */\n  function getAppVotes(uint256 roundId, bytes32 appId) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\n   */\n  function getAppVotesQF(uint256 roundId, bytes32 app) external view returns (uint256);\n\n  /**\n   * @notice module:reputation\n   * @dev Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\n   */\n  function totalVotesQF(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @notice module:voting\n   * @dev Returns whether `account` has cast a vote on `roundId`.\n   */\n  function hasVoted(uint256 roundId, address account) external view returns (bool);\n\n  /**\n   * @dev Create a new allocation round (round). Vote starts immediatly and lasts for a\n   * duration specified by {votingPeriod}.\n   *\n   * Emits a {RoundCreated} event.\n   */\n  function startNewRound() external returns (uint256 roundId);\n\n  /**\n   * @dev Cast multiple votes at once\n   *\n   * Emits a {AllocationVoteCast} event.\n   */\n  function castVote(uint256 roundId, bytes32[] memory appsIds, uint256[] memory voteWeights) external;\n\n  /**\n   * @dev Toggle autovoting for a user\n   * @param user The address to toggle autovoting for\n   * @notice This function is only callable by the VOT3 contract or the user themselves\n   */\n  function toggleAutoVoting(address user) external;\n\n  /**\n   * @dev Disable autovoting for a user. Called by NavigatorRegistry when a citizen delegates.\n   * @param user The address to disable autovoting for\n   */\n  function disableAutoVotingFor(address user) external;\n\n  /**\n   * @dev Check if autovoting is enabled for an account\n   * @param user The address to check\n   * @return Whether autovoting is enabled for the account\n   */\n  function isUserAutoVotingEnabled(address user) external view returns (bool);\n\n  /**\n   * @dev Check if autovoting is enabled for an account\n   * @param account The address to check\n   * @return Whether autovoting is enabled for the account\n   */\n  function isUserAutoVotingEnabledInCurrentRound(address account) external view returns (bool);\n\n  /**\n   * @dev Check if autovoting is enabled for an account at a specific round\n   * @param account The address to check\n   * @param roundId The round id to check\n   * @return Whether autovoting is enabled for the account at the specific round\n   */\n  function isUserAutoVotingEnabledForRound(address account, uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Check if autovoting is enabled for an account at a specific timepoint\n   */\n  function isUserAutoVotingEnabledAtTimepoint(address account, uint48 timepoint) external view returns (bool);\n\n  /**\n   * @dev Returns the current allocation round round.\n   */\n  function currentRoundId() external view returns (uint256);\n\n  /**\n   * @dev Returns the current allocation round block when it starts.\n   */\n  function currentRoundSnapshot() external view returns (uint256);\n\n  /**\n   * @dev Returns the current allocation round block when it ends.\n   */\n  function currentRoundDeadline() external view returns (uint256);\n\n  /**\n   * \n   @dev Returns if quorum was reached for a specific round.\n   */\n  function quorumReached(uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Returns the ids of apps that are available for voting in a specific round.\n   */\n  function getAppIdsOfRound(uint256 roundId) external view returns (bytes32[] memory);\n\n  /**\n   * @dev Returns if an app can be voted in a specific round.\n   */\n  function isEligibleForVote(bytes32 appId, uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Checks if the state of the round is {RoundState.Active}.\n   */\n  function isActive(uint256 roundId) external view returns (bool);\n\n  /**\n   * @dev Returns the id of the last round that succeeded.\n   */\n  function latestSucceededRoundId(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Returns true if an account has voted at least one time in any round.\n   */\n  function hasVotedOnce(address user) external view returns (bool);\n\n  /**\n   * @dev Returns the base allocation percentage for funds distribution in a round.\n   */\n  function getRoundBaseAllocationPercentage(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Returns the max amount of shares an app can get in a round.\n   */\n  function getRoundAppSharesCap(uint256 roundId) external view returns (uint256);\n\n  /**\n   * @dev Validates if an account is a person\n   */\n  function validatePersonhoodForCurrentRound(address account) external view returns (bool);\n\n  /// @dev Deprecated: use getVotes instead, which now includes deposit voting power.\n  function getTotalVotingPower(address voter, uint256 roundStart) external view returns (uint256);\n\n  /**\n   * @dev Get the total number of users who enabled auto-voting at the round start\n   */\n  function getTotalAutoVotingUsersAtRoundStart() external view returns (uint208);\n}\n"},"contracts/libraries/X2EarnAppsDataTypes.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nlibrary X2EarnAppsDataTypes {\n  struct App {\n    bytes32 id;\n    string name;\n    uint256 createdAtTimestamp;\n  }\n\n  struct AppWithDetailsReturnType {\n    bytes32 id;\n    address teamWalletAddress;\n    string name;\n    string metadataURI;\n    uint256 createdAtTimestamp;\n    bool appAvailableForAllocationVoting;\n  }\n}\n"},"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol":{"content":"// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.20;\n\nimport { VechainNodesDataTypes } from \"../../NodeManagement/libraries/VechainNodesDataTypes.sol\";\nimport { DataTypes } from \"../../StargateNFT/libraries/DataTypes.sol\";\n\ninterface INodeManagementV3 {\n  enum NodeSource {\n    Node,\n    VeChainNodes,\n    StargateNFT\n  }\n\n  // Struct used to format return values for getUserNodes\n  struct NodeInfo {\n    uint256 nodeId;\n    uint8 nodeLevel;\n    address xNodeOwner;\n    bool isXNodeHolder;\n    bool isXNodeDelegated;\n    bool isXNodeDelegator;\n    bool isXNodeDelegatee;\n    address delegatee;\n  }\n\n  /**\n   * @notice Error indicating that the caller does not own a node.\n   */\n  error NodeManagementNonNodeHolder();\n\n  /**\n   * @notice Error indicating that the node is not currently delegated.\n   */\n  error NodeManagementNodeNotDelegated();\n\n  /**\n   * @notice Error indicating that an address is being set to the zero address.\n   */\n  error NodeManagementZeroAddress();\n\n  /**\n   * @notice Error indicating that an address is being set to the zero address.\n   */\n  error NodeManagementSelfDelegation();\n\n  /**\n   * @notice Error indicating that the node is already delegated to another user.\n   * @param nodeId The ID of the node that is already delegated.\n   * @param delegatee The address of the current delegatee.\n   */\n  error NodeManagementNodeAlreadyDelegated(uint256 nodeId, address delegatee);\n\n  /**\n   * @notice Error indicating that the user does not own the node.\n   * @param nodeId The ID of the node that the user does not own.\n   */\n  error NodeManagementNotNodeOwner(uint256 nodeId);\n\n  /**\n   * @notice Error indicating that the user does not manage the node.\n   * @param nodeId The ID of the node that the user does not manage.\n   */\n  error NodeManagementNotNodeOwnerOrManager(uint256 nodeId);\n\n  /**\n   * @notice Event emitted when a node is delegated or the delegation is removed.\n   * @param nodeId The ID of the node being delegated or having its delegation removed.\n   * @param delegatee The address to which the node is delegated or from which the delegation is removed.\n   * @param delegated A boolean indicating whether the node is delegated (true) or the delegation is removed (false).\n   */\n  event NodeDelegated(uint256 indexed nodeId, address indexed delegatee, bool delegated);\n\n  /**\n   *  @dev Emit when the vechain node contract address is set or updated\n   */\n  event VechainNodeContractSet(address oldContractAddress, address newContractAddress);\n\n  /**\n   *  @dev Emit when the stargate NFT contract address is set or updated\n   */\n  event StargateNftSet(address oldContractAddress, address newContractAddress);\n\n  /**\n   * @notice Error indicating that a node ID is not valid.\n   */\n  error NodeManagementInvalidNodeId();\n\n  /**\n   * @notice Initialize the contract with the specified VeChain Nodes contract, admin, and upgrader addresses.\n   * @param vechainNodesContract The address of the VeChain Nodes contract.\n   * @param admin The address to be granted the default admin role.\n   * @param upgrader The address to be granted the upgrader role.\n   */\n  function initialize(address vechainNodesContract, address admin, address upgrader) external;\n\n  /**\n   * @notice Set the address of the VeChain Nodes contract.\n   * @param vechainNodesContract The new address of the VeChain Nodes contract.\n   */\n  function setVechainNodesContract(address vechainNodesContract) external;\n\n  /**\n   * @notice Set the address of the Stargate NFT contract.\n   * @param stargateNft The new address of the Stargate NFT contract.\n   */\n  function setStargateNft(address stargateNft) external;\n\n  /**\n   * @notice Delegate a node to another address.\n   * @param delegatee The address to delegate the node to.\n   * @param nodeId The ID of the node to delegate.\n   */\n  function delegateNode(address delegatee, uint256 nodeId) external;\n\n  /**\n   * @notice Remove the delegation of a node.\n   * @param nodeId The ID of the node to remove the delegation from.\n   */\n  function removeNodeDelegation(uint256 nodeId) external;\n\n  /**\n   * @notice Retrieve the node ID associated with a user, either through direct ownership or delegation.\n   * @param user The address of the user to check.\n   * @return uint256 The node ID associated with the user.\n   */\n  function getNodeIds(address user) external view returns (uint256[] memory);\n\n  /**\n   * @notice Retrieves the address of the user managing the node ID endorsement either through ownership or delegation.\n   * @param nodeId The ID of the node for which the manager address is being retrieved.\n   * @return address The address of the manager of the specified node.\n   */\n  function getNodeManager(uint256 nodeId) external view returns (address);\n\n  /**\n   * @notice Retrieves the address of the true owner of a node.\n   * @param nodeId The ID of the node for which the owner address is being retrieved.\n   * @return address The address of the owner of the specified node.\n   */\n  function getNodeOwner(uint256 nodeId) external view returns (address);\n\n  /**\n   * @notice Retrieves the node IDs delegated to a user.\n   * @param user The address of the user to check.\n   * @return uint256[] The node IDs delegated to the user.\n   */\n  function getNodesDelegatedTo(address user) external view returns (uint256[] memory);\n\n  /**\n   * @notice Check if a user is holding a specific node ID either directly or through delegation.\n   * @param user The address of the user to check.\n   * @param nodeId The node ID to check for.\n   * @return bool True if the user is holding the node ID and it is a valid node.\n   */\n  function isNodeManager(address user, uint256 nodeId) external view returns (bool);\n\n  /**\n   * @notice Check if a node is delegated.\n   * @param nodeId The node ID to check for.\n   * @return bool True if the node is delegated.\n   */\n  function isNodeDelegated(uint256 nodeId) external view returns (bool);\n\n  /**\n   * @notice Check if a user is a delegator.\n   * @param user The address of the user to check.\n   * @return bool True if the user is a delegator.\n   */\n  function isNodeDelegator(address user) external view returns (bool);\n\n  /**\n   * @notice Check if a user is a node holder (either directly or through delegation).\n   * @param user The address of the user to check.\n   * @return bool True if the user is a node holder.\n   */\n  function isNodeHolder(address user) external view returns (bool);\n\n  /**\n   * @notice Check if a user directly owns a node (not delegated).\n   * @param user The address of the user to check.\n   * @return uint256 The ID of the owned node (0 if none).\n   */\n  function getDirectNodeOwnership(address user) external view returns (uint256);\n\n  /**\n   * @notice Retrieves the node IDs directly owned by a user.\n   * @param user The address of the user to check.\n   * @return uint256[] The node IDs directly owned by the user. If no nodes are owned, an empty array is returned.\n   */\n  function getDirectNodesOwnership(address user) external view returns (uint256[] memory);\n\n  /**\n   * @notice Checks if a user is the direct owner of a node.\n   * @param user The address of the user to check.\n   * @param nodeId The ID of the node to check.\n   * @return bool True if the user is the direct owner of the node, false otherwise.\n   */\n  function isDirectNodeOwner(address user, uint256 nodeId) external view returns (bool);\n\n  /**\n   * @notice Retrieves the node level of a given node ID.\n   * @param nodeId The token ID of the endorsing node.\n   * @return levelId The node level of the specified token ID.\n   */\n  function getNodeLevel(uint256 nodeId) external view returns (uint8 levelId);\n\n  /**\n   * @notice Retrieves the node level of a user's managed node.\n   * @param user The address of the user managing the node.\n   * @return uint8[] The node level of the node managed by the user.\n   */\n  function getUsersNodeLevels(address user) external view returns (uint8[] memory);\n\n  /**\n   * @notice Checks if a node is a legacy node.\n   * @param nodeId The ID of the node to check.\n   * @return bool True if the node is a legacy node, false otherwise.\n   */\n  function isLegacyNode(uint256 nodeId) external view returns (bool);\n\n  /**\n   * @notice Check if a node exists in the VeChainNodes contract or the StargateNFT contract\n   * @param nodeId The ID of the node to check.\n   * @return bool True if the node exists, false otherwise.\n   * @return NodeSource The source of the node.\n   */\n  function exists(uint256 nodeId) external view returns (bool, VechainNodesDataTypes.NodeSource);\n\n  /**\n   * @notice Retrieves the node IDs owned by a user.\n   * @param user The address of the user to check.\n   * @return uint256[] The node IDs owned by the user.\n   */\n  function getUserNodes(address user) external view returns (NodeInfo[] memory);\n\n  /**\n   * @notice Retrieves the node IDs owned by a user.\n   * @param user The address of the user to check.\n   * @return uint256[] The node IDs owned by the user.\n   */\n  function getUserStargateNFTsInfo(address user) external view returns (DataTypes.Token[] memory);\n}\n"},"contracts/mocks/Stargate/interfaces/IStargate.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\ninterface IStargate {\n    // ---------- Errors ------------ //\n\n    error UnauthorizedUser(address user);\n    error DelegationExitAlreadyRequested();\n    error InvalidDelegationStatus(uint256 tokenId, DelegationStatus status);\n    error DelegationNotFound(uint256 tokenId);\n    error TokenUnderMaturityPeriod(uint256 tokenId);\n    error InvalidToken(uint256 tokenId);\n    error ValidatorNotActiveOrQueued(address validator);\n    error TokenAlreadyDelegated(uint256 tokenId);\n    error OnlyStargateNFTAndProtocolStaker();\n    error InvalidInitializationParams();\n    error VetAmountMismatch(uint8 levelId, uint256 required, uint256 provided);\n    error VetTransferFailed(address receiver, uint256 amount);\n    error InsufficientContractBalance(uint256 contractBalance, uint256 tokenAmount);\n    error MaxClaimablePeriodsExceeded();\n    error InvalidMaxClaimablePeriods();\n\n    // ---------- Events ------------ //\n\n    /// @notice Emitted when a delegation is initiated\n    /// @param tokenId The ID of the token that was delegated\n    /// @param validator The validator that was delegated to\n    /// @param delegationId The ID of the delegation\n    /// @param amount The amount of VET delegated\n    /// @param levelId The level ID of the token\n    /// @param probabilityMultiplier The probability multiplier of the delegation\n    event DelegationInitiated(\n        uint256 indexed tokenId,\n        address indexed validator,\n        uint256 indexed delegationId,\n        uint256 amount,\n        uint8 levelId,\n        uint8 probabilityMultiplier\n    );\n\n    /// @notice Emitted when a delegation exit is requested\n    /// @dev When the delegation is pending, exit is immediate and this event is emitted\n    /// @param tokenId The ID of the token that was delegated\n    /// @param validator The validator that was delegated to\n    /// @param delegationId The ID of the delegation\n    /// @param exitBlock The block at which the delegation exit will be processed,\n    /// in case the delegation is pending it will be the current block\n    event DelegationExitRequested(\n        uint256 indexed tokenId,\n        address indexed validator,\n        uint256 indexed delegationId,\n        uint48 exitBlock\n    );\n\n    /// @notice Emitted when a delegation is withdrawn\n    /// @dev This is emitted when the delegation is withdrawn, either because the user requested to exit\n    /// or because the delegation is called with a new validator or if requestDelegationExit is called\n    /// the delegation is still pending.\n    /// @param tokenId The ID of the token that was delegated\n    /// @param validator The validator that was delegated to\n    /// @param delegationId The ID of the delegation\n    /// @param amount The amount of VET withdrawn\n    /// @param levelId The level ID of the token\n    event DelegationWithdrawn(\n        uint256 indexed tokenId,\n        address indexed validator,\n        uint256 indexed delegationId,\n        uint256 amount,\n        uint8 levelId\n    );\n\n    /// @notice Emitted when rewards are claimed\n    /// @param receiver The address that claimed the rewards\n    /// @param tokenId The ID of the token that claimed the rewards\n    /// @param delegationId The ID of the delegation that claimed the rewards\n    /// @param amount The amount of rewards claimed\n    /// @param firstClaimedPeriod The first period that the rewards were claimed for\n    /// @param lastClaimedPeriod The last period that the rewards were claimed for\n    event DelegationRewardsClaimed(\n        address indexed receiver,\n        uint256 indexed tokenId,\n        uint256 indexed delegationId,\n        uint256 amount,\n        uint32 firstClaimedPeriod,\n        uint32 lastClaimedPeriod\n    );\n\n    // ---------- Data Types ------------ //\n\n    struct Delegation {\n        uint256 delegationId; // the latest delegation id for the token (can be pending, active, or exited)\n        address validator; // the validator address\n        uint256 stake; // the amount of VET delegated to the validator (that is the same as the price of the NFT)\n        uint8 probabilityMultiplier; // a multiplier used to multiply the stake of the user when calculating the weight of the delegation (scaled by 100)\n        uint32 startPeriod; // the period when the delegation became active\n        uint32 endPeriod; // the period when the delegation ended (if exited); uint32.max if still active\n        bool isLocked; // the delegation is locked while active, and it means that the VET cannot be withdrawn and user needs to request to exit\n        DelegationStatus status;\n    }\n\n    /// @notice The status of a delegation returned by the StargateStaker contract\n    /// @dev NONE: the delegation id is not valid, or user never delegated\n    /// @dev PENDING: the user has selected a validator and staked the VET, but is waiting for the next period to start or for the validator to be become active\n    /// @dev ACTIVE: the user is accumulating rewards; if the user requests to exit the delegation the status remains ACTIVE\n    /// @dev EXITED: the user has exited the delegation or the validator exited and forced the user to exit or the user exited a pending delegation and the stake is now 0\n    enum DelegationStatus {\n        NONE,\n        PENDING,\n        ACTIVE,\n        EXITED\n    }\n\n    // ---------- Pausable ------------ //\n\n    /// @notice Pauses the StargateNFT contract\n    /// @dev Only the DEFAULT_ADMIN_ROLE can call this function\n    /// @dev Pausing the contract will prevent minting\n    function pause() external;\n\n    /// @notice Unpauses the StargateNFT contract\n    /// @dev Only the DEFAULT_ADMIN_ROLE can call this function\n    function unpause() external;\n\n    // ---------- Staking ------------ //\n\n    /// @notice Stakes VET and mints an NFT\n    /// @param _levelId The ID of the token level to mint, VET as msg.value\n    /// @return tokenId The ID of the minted NFT\n    function stake(uint8 _levelId) external payable returns (uint256 tokenId);\n\n    /// @notice Unstakes a token from the Stargate contract, will return the VET to the user and burn the NFT\n    /// for token to be unstaked, its delegation status must not be ACTIVE\n    /// @param _tokenId The ID of the token to unstake\n    /// @dev Emits a {IStargate.TokenUnstaked} event\n    function unstake(uint256 _tokenId) external;\n\n    // ---------- Delegations ------------ //\n\n    /// @notice Delegates the token to the validator to increase its probability of being selected as\n    /// a validator and accumulate rewards for each mined block.\n    /// The amount of rewards depends on the effective stake compared to the total effective stake of the validator.\n    /// The delegation is not active until the start of the next period of the validator. In the meantime, the user\n    /// can change the validator by calling this function again, cancel the delegation or unstaking the token.\n    /// Once the delegation is active, the user can request to exit the delegation by calling requestDelegationExit.\n    /// The token will remain delegated until the end of the validator period end block.\n    ///\n    /// This contract will need to move the VET associated to the token from the StargateNFT contract and deposit\n    /// it in the protocol staking contract.\n    /// If the token was previously delegated, the VET will be moved from the protocol staking contract to this contract\n    /// again and then moved back to the protocol staking contract.\n    ///\n    /// @param _tokenId - the token ID to delegate\n    /// @param _validator - the validator to delegate to\n    function delegate(uint256 _tokenId, address _validator) external;\n\n    /// @notice Stakes VET and mints an NFT, and delegates it\n    /// @param _levelId The ID of the token level to mint, VET as msg.value\n    /// @param _validator The validator to delegate to\n    /// @return tokenId The ID of the minted NFT\n    function stakeAndDelegate(\n        uint8 _levelId,\n        address _validator\n    ) external payable returns (uint256 tokenId);\n\n    /// @notice Migrates a token from the legacy nodes contract to StargateNFT, and delegates it\n    /// @param _tokenId The ID of the token to migrate\n    /// @param _validator The validator to delegate to\n    function migrateAndDelegate(uint256 _tokenId, address _validator) external payable;\n\n    /// @notice Requests a delegation exit by signalling the exit to the protocol staking contract.\n    /// If the delegation is active, the user will need to wait for then end of the period to actually exit, if instead\n    /// the delegation is pending the user will exit immediatly.\n    /// Once the request to exit is signalled, the user cannot undo it and cannot request to exit again.\n    /// @dev Exiting a pending delegation, differs from exiting an active delegation.\n    /// In the first case, it is enough to withdraw the VET from the protocol, in the second case\n    /// we will signal to the protocol to exit the delegation.\n    /// @param _tokenId - the token ID to request the exit for\n    function requestDelegationExit(uint256 _tokenId) external;\n\n    /// @notice Returns the details of the delegation of a token\n    /// @dev If the token does not have any delegation, it will return a set of default values\n    /// @param _tokenId - the token ID\n    /// @return The details of the delegation\n    function getDelegationDetails(uint256 _tokenId) external view returns (Delegation memory);\n\n    /// @notice Will fetch the latest delegation of a token and will return its status\n    /// @param _tokenId - the token ID\n    /// @return The status of the delegation\n    function getDelegationStatus(uint256 _tokenId) external view returns (DelegationStatus);\n\n    /// @notice Will return the latest delegation id of a token (regardless of its status)\n    /// @param _tokenId - the token ID\n    /// @return The delegation id\n    function getDelegationIdOfToken(uint256 _tokenId) external view returns (uint256);\n\n    /// @notice Will return true if the user has requested to exit the latest delegation (regardless of its status)\n    /// @dev This will return true even if the delegation is EXITED\n    /// @param _tokenId - the token ID\n    /// @return True if the user has requested to exit the delegation\n    function hasRequestedExit(uint256 _tokenId) external view returns (bool);\n\n    /// @notice Returns the total effective stake of the delegators of a validator in a specific period\n    /// @param _validator - the validator address\n    /// @param _period - the period to check\n    /// @return The total effective stake of the delegators of the validator in the period\n    function getDelegatorsEffectiveStake(\n        address _validator,\n        uint32 _period\n    ) external view returns (uint256);\n\n    /// @notice Returns the effective stake of a token\n    /// @dev The effective stake is the amount of VET that is staked by the token multiplied\n    /// by the reward multiplier of the level, and is used to calculate the share of the delegator in the period.\n    /// @param _tokenId - the token ID\n    /// @return The effective stake of the token\n    function getEffectiveStake(uint256 _tokenId) external view returns (uint256);\n\n    // ---------- Rewards ------------ //\n\n    /// @notice Claims all the rewards for a token\n    /// @dev This function will claim the rewards for each period between the last\n    /// claimed period and the last claimable period.\n    /// @param _tokenId - the token ID\n    function claimRewards(uint256 _tokenId) external;\n\n    /// @notice Returns the claimable rewards for a token for batch 0 (first 832 periods)\n    /// @dev This is the sum of the claimable rewards for each period between the last claimed period and the last claimable period.\n    /// @param _tokenId - the token ID\n    /// @return The claimable rewards for the token\n    function claimableRewards(uint256 _tokenId) external view returns (uint256);\n\n    /// @notice Returns the claimable rewards for a token for a specific batch\n    /// @dev This is the sum of the claimable rewards for each period between the last claimed period and the last claimable period.\n    /// @param _tokenId - the token ID\n    /// @param _batch - the batch to check\n    /// @return The claimable rewards for the token\n    function claimableRewards(uint256 _tokenId, uint32 _batch) external view returns (uint256);\n\n    /// @notice Returns the locked rewards for a token\n    /// @dev When the delegation is active, the rewards rewards of the current period are locked\n    /// and cannot be claimed until the next period. This function retur\n    /// @param _tokenId - the token ID\n    /// @return The locked rewards for the token\n    function lockedRewards(uint256 _tokenId) external view returns (uint256);\n\n    /// @notice Returns the latestClaimedPeriod and the endPeriod of the latest delegation of a token\n    /// @param _tokenId - the token ID\n    /// @return lastClaimedPeriod - the latest claimed period\n    /// @return endPeriod - the end period of the latest delegation\n    function claimableDelegationPeriods(uint256 _tokenId) external view returns (uint32, uint32);\n\n    // ---------- Max Claimable Periods ---------- //\n\n    /// @notice Returns the max claimable periods\n    /// @return The max claimable periods\n    function getMaxClaimablePeriods() external view returns (uint32);\n\n    /// @notice Sets the max claimable periods\n    /// @param _maxClaimablePeriods - the max claimable periods\n    function setMaxClaimablePeriods(uint32 _maxClaimablePeriods) external;\n\n    // ---------- Clock ------------ //\n\n    /// @notice Returns the current clock\n    /// @dev Call CLOCK_MODE() to know if the clock is in timestamp or block mode\n    function clock() external view returns (uint48);\n\n    /// @notice Returns the clock mode\n    /// @dev Call clock() to know the current clock\n    function CLOCK_MODE() external view returns (string memory);\n}\n"},"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\ninterface IStargateDelegation {\n    /*------- Errors -------*/\n    /// @notice Error thrown when a user is not authorized to perform an action\n    error UnauthorizedUser(address user);\n    /// @notice Error thrown when an NFT is under the maturity period\n    error NFTUnderMaturityPeriod(uint256 tokenId);\n    /// @notice Error thrown when an NFT is already delegated\n    error NFTAlreadyDelegated(uint256 tokenId);\n    /// @notice Error thrown when an NFT is not delegated\n    error NFTNotDelegated(uint256 tokenId);\n    /// @notice Error thrown when there are no rewards to claim\n    error NoRewardsToClaim(uint256 tokenId);\n    /// @notice Error thrown when an address is the zero address\n    error AddressCannotBeZero();\n    /// @notice Error thrown when a vtho reward per block per NFT level is invalid\n    error InvalidVthoRewardPerBlock(uint256 level, uint256 value);\n    /// @notice Error thrown when a delegation period is invalid\n    error InvalidDelegationPeriod();\n    /// @notice Error thrown when an array is empty\n    error ArrayCannotBeEmpty();\n    /// @notice Error thrown when an NFT level is invalid\n    error InvalidNFTLevel(uint256 tokenId, uint256 level);\n    /// @notice Error thrown when there is insufficient VTHO balance for rewards claim\n    error InsufficientVthoBalanceForRewardsClaim(uint256 balance, uint256 required);\n    /// @notice Error thrown when a VTHO transfer fails\n    error VthoTransferFailed(address recipient, uint256 amount);\n    /// @notice Error thrown when the rewards accumulation period ended\n    error RewardsAccumulationPeriodEnded();\n    /// @notice Error thrown when the user requests to exit delegation repeatedly\n    error DelegationExitAlreadyRequested();\n    /// @notice Error thrown when there are no lost rewards to claim\n    error NoLostRewardsToClaim(address owner, uint256 tokenId);\n\n    /*------- Events -------*/\n    /// @notice Event emitted when a delegation simulation is started\n    event DelegationSimulationStarted(\n        uint256 indexed tokenId,\n        address indexed delegator,\n        uint256 rewardsAccumulationStartBlock,\n        bool indexed isDelegationForever,\n        address caller\n    );\n    /// @notice Event emitted when a delegation exit is requested\n    event DelegationExitRequested(uint256 indexed tokenId, uint256 delegationEndBlock);\n    /// @notice Event emitted when a delegation rewards are claimed\n    event DelegationRewardsClaimed(\n        uint256 indexed tokenId,\n        uint256 rewards,\n        address indexed claimer,\n        address indexed recipient\n    );\n    /// @notice Event emitted when the rewards accumulation end block is set\n    event RewardsAccumulationEndBlockSet(uint256 rewardsAccumulationEndBlock);\n    /// @notice Event emitted when lost rewards are added\n    event LostRewardsAdded(address indexed owner, uint256 indexed tokenId, uint256 amount);\n    /// @notice Event emitted when lost rewards are removed\n    event LostRewardsRemoved(address indexed owner, uint256 indexed tokenId, uint256 amount);\n    /// @notice Event emitted when lost rewards are claimed\n    event LostRewardsClaimed(\n        address indexed owner,\n        uint256 indexed tokenId,\n        address indexed claimer,\n        uint256 amount\n    );\n\n    /*------- Functions -------*/\n\n    function version() external view returns (uint256);\n\n    function clock() external view returns (uint48);\n\n    function CLOCK_MODE() external view returns (string memory);\n\n    function delegate(uint256 _tokenId, bool _delegateForever) external;\n\n    function requestDelegationExit(uint256 _tokenId) external;\n\n    function claimRewards(uint256 _tokenId) external;\n\n    function claimableRewards(uint256 _tokenId) external view returns (uint256);\n\n    function accumulatedRewards(uint256 _tokenId) external view returns (uint256);\n\n    function isDelegationActive(uint256 _tokenId) external view returns (bool);\n\n    function getVthoRewardPerBlock(uint256 _level) external view returns (uint256);\n\n    function getDelegationPeriod() external view returns (uint256);\n\n    function getRewardsAccumulationEndBlock() external view returns (uint256);\n\n    function getRewardsAccumulationStartBlock(uint256 _tokenId) external view returns (uint256);\n\n    function getDelegationEndBlock(uint256 _tokenId) external view returns (uint256);\n\n    function currentDelegationPeriodEndBlock(uint256 _tokenId) external view returns (uint256);\n\n    function getDelegationDetails(\n        uint256 _tokenId\n    )\n        external\n        view\n        returns (\n            bool isDelegationActive,\n            uint256 claimableRewards,\n            uint256 rewardsAccumulationStartBlock,\n            uint256 delegationEndBlock\n        );\n}\n"},"contracts/mocks/Stargate/interfaces/IStargateNFT.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { IERC721 } from \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\nimport { IERC721Enumerable } from \"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\";\nimport { IERC165 } from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport { DataTypes } from \"../StargateNFT/libraries/DataTypes.sol\";\nimport { ITokenAuction } from \"./ITokenAuction.sol\";\n\ninterface IStargateNFT is IERC165, IERC721, IERC721Enumerable {\n    // ------------------ Events ------------------ //\n\n    /**\n     * @notice Emitted when a token level is updated\n     * @param levelId The ID of the level that was updated\n     * @param name The new name of the level\n     * @param isX The new X status\n     * @param maturityBlocks The new maturity period in blocks\n     * @param scaledRewardFactor The new scaled reward multiplier\n     * @param vetAmountRequiredToStake The new VET amount required for staking\n     */\n    event LevelUpdated(\n        uint8 indexed levelId,\n        string name,\n        bool isX,\n        uint64 maturityBlocks,\n        uint64 scaledRewardFactor,\n        uint256 vetAmountRequiredToStake\n    );\n\n    /**\n     * @notice Emitted when the circulating supply of a token level is updated\n     * @param levelId The ID of the level supply that was updated\n     * @param oldCirculatingSupply The old circulating supply\n     * @param newCirculatingSupply The new circulating supply\n     */\n    event LevelCirculatingSupplyUpdated(\n        uint8 indexed levelId,\n        uint208 oldCirculatingSupply,\n        uint208 newCirculatingSupply\n    );\n\n    /**\n     * @notice Emitted when the cap of a token level is updated\n     * @param levelId The ID of the level cap that was updated\n     * @param oldCap The old cap\n     * @param newCap The new cap\n     */\n    event LevelCapUpdated(uint8 indexed levelId, uint32 oldCap, uint32 newCap);\n\n    /**\n     * @notice Emitted when the boost price per block of a token level is updated\n     * @param levelId The ID of the level boost price per block that was updated\n     * @param oldBoostPricePerBlock The old boost price per block\n     * @param newBoostPricePerBlock The new boost price per block\n     */\n    event LevelBoostPricePerBlockUpdated(\n        uint8 indexed levelId,\n        uint256 oldBoostPricePerBlock,\n        uint256 newBoostPricePerBlock\n    );\n\n    /**\n     * @notice Emitted when an NFT is minted\n     * @param owner The address that owns the newly minted NFT\n     * @param levelId The level ID of the newly minted NFT\n     * @param migrated Whether the token was migrated from legacy nodes contract\n     * @param tokenId The ID of the newly minted NFT\n     * @param vetAmountStaked The amount of VET staked to mint the NFT\n     */\n    event TokenMinted(\n        address indexed owner,\n        uint8 indexed levelId,\n        bool indexed migrated,\n        uint256 tokenId,\n        uint256 vetAmountStaked\n    );\n\n    /**\n     * @notice Emitted when an NFT is burned\n     * @param owner The address that owns the newly burned NFT\n     * @param levelId The level ID of the newly burned NFT\n     * @param tokenId The ID of the newly burned NFT\n     * @param vetAmountStaked The amount of VET staked to burn the NFT\n     */\n    event TokenBurned(\n        address indexed owner,\n        uint8 indexed levelId,\n        uint256 tokenId,\n        uint256 vetAmountStaked\n    );\n\n    /**\n     * @notice Emitted when the base URI for the token metadata is updated\n     * @param oldBaseURI The old base URI\n     * @param newBaseURI The new base URI\n     */\n    event BaseURIUpdated(string oldBaseURI, string newBaseURI);\n\n    /**\n     * @notice Emitted when a whitelist entry is removed\n     * @param owner The address of the whitelist entry\n     */\n    event WhitelistEntryRemoved(address owner);\n\n    /**\n     * @notice Emitted when a token manager is added to a token\n     * @param tokenId The ID of the token\n     * @param manager The address of the manager\n     */\n    event TokenManagerAdded(uint256 indexed tokenId, address indexed manager);\n\n    /**\n     * @notice Emitted when a token manager is removed from a token\n     * @param tokenId The ID of the token\n     * @param manager The address of the manager\n     */\n    event TokenManagerRemoved(uint256 indexed tokenId, address indexed manager);\n\n    /** ------------------ Deprecated Events ------------------ */\n    // These events are deprecated in V3 but we\n    // keep them for backwards compatibility and\n    // for indexing purposes\n\n    /**\n     * @notice Emitted when VTHO rewards are claimed for a token\n     * @dev Not emitted anymore in V3, since we don't generate VTHO anymore\n     * @param owner The address that claimed the rewards\n     * @param tokenId The ID of the token for which rewards were claimed\n     * @param amount The amount of VTHO rewards claimed\n     * @dev Deprecated in V3\n     */\n    event BaseVTHORewardsClaimed(address indexed owner, uint256 indexed tokenId, uint256 amount);\n\n    /**\n     * @notice Emitted when the VTHO generation end timestamp is updated\n     * @dev Not emitted anymore in V3, since there is no need to set this value anymore\n     * @param oldVthoGenerationEndTimestamp The old VTHO generation end timestamp\n     * @param newVthoGenerationEndTimestamp The new VTHO generation end timestamp\n     */\n    event VthoGenerationEndTimestampSet(\n        uint48 oldVthoGenerationEndTimestamp,\n        uint48 newVthoGenerationEndTimestamp\n    );\n\n    // ------------------ Functions ------------------ //\n\n    function version() external view returns (uint256);\n\n    /*------- Callbacks -------*/\n\n    /// @notice Callback function to ERC721Upgradeable._safeMint, called by StargateNFTMinting.stake\n    /// @dev Only the StargateNFT contract can call this function\n    /// @param to - the address to mint the token to\n    /// @param tokenId - the token ID of the token to mint\n    function _safeMintCallback(address to, uint256 tokenId) external;\n\n    /// @notice Callback function to ERC721Upgradeable._burn, called by StargateNFTMinting.unstake\n    /// @dev Only the StargateNFT contract can call this function\n    /// @param tokenId - the token ID of the token to burn\n    function _burnCallback(uint256 tokenId) external;\n\n    /*------- Pausing Functions -------*/\n\n    /// @notice Pauses the StargateNFT contract\n    /// @dev Only the PAUSER_ROLE can call this function\n    /// @dev Pausing the contract will prevent minting\n    function pause() external;\n\n    /// @notice Unpauses the StargateNFT contract\n    /// @dev Only the PAUSER_ROLE can call this function\n    function unpause() external;\n\n    /*------- Level Functions -------*/\n\n    /// @notice Adds a new token level\n    /// @param _levelAndSupply - The level and supply to add, see {DataTypes.LevelAndSupply}\n    /// @dev Only the LEVEL_OPERATOR_ROLE can call this function\n    /// Check the {Levels.addLevel} library function for more details\n    /// Emits a {IStargateNFT.LevelUpdated} event\n    /// Emits a {IStargateNFT.LevelCirculatingSupplyUpdated} event\n    /// Emits a {IStargateNFT.LevelCapUpdated} event\n    function addLevel(DataTypes.LevelAndSupply memory _levelAndSupply) external;\n\n    /// @notice Returns a list of all token level spec IDs\n    /// @return levelIds - The list of token level spec IDs\n    function getLevelIds() external view returns (uint8[] memory);\n\n    /// @notice Returns a token level spec for a given level ID\n    /// @param _levelId The ID of the token level spec to return\n    /// @return Level - The token level spec\n    function getLevel(uint8 _levelId) external view returns (DataTypes.Level memory);\n\n    /// @notice Returns a list of all token level specs\n    /// @return levels - The list of token level specs\n    function getLevels() external view returns (DataTypes.Level[] memory);\n\n    /// @notice Returns the circulating supply for all levels\n    /// @return circulatingSupplies An array of circulating supply values for all levels, sorted by level id\n    function getLevelsCirculatingSupplies() external view returns (uint208[] memory);\n\n    /// @notice Returns the circulating supply and cap for a given token level\n    /// @param _levelId The ID of the token level to get supply data for\n    /// @return circulating The circulating supply of the token level\n    /// @return cap The cap of the token level\n    function getLevelSupply(uint8 _levelId) external view returns (uint208 circulating, uint32 cap);\n\n    /// @notice Returns the circulating supply for a given level at a specific block\n    /// @param _levelId The ID of the level to get supply data for\n    /// @param _blockNumber The block number to get the supply at\n    /// @return circulatingSupply The circulating supply of the level at the specified block\n    function getCirculatingSupplyAtBlock(\n        uint8 _levelId,\n        uint48 _blockNumber\n    ) external view returns (uint208);\n\n    /// @notice Returns the circulating supply for all levels at a certain block\n    /// @param _blockNumber The block number to get the supply at\n    /// @return circulatingSupplies An array of circulating supply values for all levels, sorted by level id\n    function getLevelsCirculatingSuppliesAtBlock(\n        uint48 _blockNumber\n    ) external view returns (uint208[] memory);\n\n    // ---------- Token Functions ---------- //\n\n    /// @notice Get the latest token id that was minted\n    /// @dev Ids start from the total supply of the legacy contrat\n    /// @return currentTokenId the latest token id that was minted\n    function getCurrentTokenId() external view returns (uint256);\n\n    /// @notice Returns a token for a given token ID\n    /// @param _tokenId The ID of the token to get\n    /// @return token The token\n    function getToken(uint256 _tokenId) external view returns (DataTypes.Token memory);\n\n    /// @notice Returns the level ID of a given token\n    /// @param _tokenId - the token ID of the NFT\n    /// @return levelId - the level ID of the NFT\n    function getTokenLevel(uint256 _tokenId) external view returns (uint8);\n\n    /// @notice Returns the tokens owned by an address\n    /// @param _owner The address to get tokens for\n    /// @return tokens An array of tokens owned by the address\n    function tokensOwnedBy(address _owner) external view returns (DataTypes.Token[] memory);\n\n    /// @notice Returns the total VET staked by an address\n    /// @param _owner The address to get total VET staked for\n    /// @return totalVetStaked The total VET staked by the address\n    function ownerTotalVetStaked(address _owner) external view returns (uint256);\n\n    /// @notice Returns a list of token IDs for a given owner\n    /// @param _owner The address of the owner to get token IDs for\n    /// @return tokenIds The list of token IDs\n    function idsOwnedBy(address _owner) external view returns (uint256[] memory);\n\n    /// @notice Returns true if a token exists\n    /// @param _tokenId The ID of the token to check\n    /// @return True if the token exists, false otherwise\n    function tokenExists(uint256 _tokenId) external view returns (bool);\n\n    // ---------- Boosting Functions ------------ //\n\n    /// @notice Boosts the maturity period of a token\n    /// @dev This can only be called by the Stargate contract\n    /// @param _tokenId The ID of the token to boost\n    /// @dev Emits a {IStargateNFT.MaturityPeriodBoosted} event\n    function boost(uint256 _tokenId) external;\n\n    /// @notice Returns the amount of VTHO required to boost a token's maturity period\n    /// @param _tokenId The ID of the token to boost\n    /// @return boostAmount The amount of VTHO required to boost the token's maturity period\n    function boostAmount(uint256 _tokenId) external view returns (uint256);\n\n    /// @notice Returns the amount of VTHO required to boost a token's maturity period\n    /// @param _levelId The level ID of the token to boost\n    /// @return boostAmount The amount of VTHO required to boost the token's maturity period\n    function boostAmountOfLevel(uint8 _levelId) external view returns (uint256);\n\n    /// @notice Returns the boost price per block for a given level\n    /// @param _levelId The level ID of the token to boost\n    /// @return boostPricePerBlock The boost price per block for the level\n    function boostPricePerBlock(uint8 _levelId) external view returns (uint256);\n\n    /// @notice Returns the maturity period end block for a given token\n    /// @param _tokenId The ID of the token to get maturity period end block for\n    /// @return maturityPeriodEndBlock The maturity period end block\n    function maturityPeriodEndBlock(uint256 _tokenId) external view returns (uint64);\n\n    /// @notice Returns true if a token is in the maturity period\n    /// @param _tokenId The ID of the token to check\n    /// @return isInMaturityPeriod True if the token is in the maturity period, false otherwise\n    function isUnderMaturityPeriod(uint256 _tokenId) external view returns (bool);\n\n    // ---------- Token Manager Functions ---------- //\n\n    /// @notice Adds a manager to a token\n    /// @dev This manager can use the token for voting on VeVote\n    /// or in B3TR but it cant calim rewards for themselves, transfer,\n    /// delegate or unstake the token\n    /// @dev If a token already has a manager, it will be removed and\n    /// the new manager will be added\n    /// @param _manager The address of the manager to add\n    /// @param _tokenId The ID of the token to add the manager to\n    /// @dev Emits a {IStargateNFT.TokenManagerAdded} event\n    function addTokenManager(address _manager, uint256 _tokenId) external;\n\n    /// @notice Removes a manager from a token\n    /// @dev This manager can no longer use the token for voting on VeVote\n    /// or in B3TR but it can still claim rewards for themselves, transfer,\n    /// delegate or unstake the token\n    /// @dev If a token has no manager, it will revert\n    /// @param _tokenId The ID of the token to remove the manager from\n    /// @dev Emits a {IStargateNFT.TokenManagerRemoved} event\n    function removeTokenManager(uint256 _tokenId) external;\n\n    /// @notice Returns the manager of a token, if the token does not have a manager\n    /// it will return the owner of the token\n    /// @param _tokenId The ID of the token to get the manager for\n    /// @return manager The manager of the token\n    function getTokenManager(uint256 _tokenId) external view returns (address);\n\n    /// @notice Returns the list of:\n    /// 1) Token ids managed by the user\n    /// 2) Token ids owned by the user and not managed by someone else\n    /// Token ids owned by the user, but managed by others, won't be returned\n    /// @param _user The address of the user to get the tokens for\n    /// @return tokenIds The list of token ids managed by the user\n    function idsManagedBy(address _user) external view returns (uint256[] memory);\n\n    /// @notice Returns the list of:\n    /// 1) Tokens managed by the user\n    /// 2) Tokens owned by the user and not managed by someone else\n    /// Tokens owned by the user, but managed by others, won't be returned\n    /// @param _user The address of the user to get the tokens for\n    /// @return tokens The list of tokens managed by the user\n    function tokensManagedBy(address _user) external view returns (DataTypes.Token[] memory);\n\n    /// @notice Checks if an address is a manager of a token\n    /// @param _manager The address of the manager to check\n    /// @param _tokenId The ID of the token to check\n    /// @return True if the address is a manager of the token, false otherwise\n    function isTokenManager(address _manager, uint256 _tokenId) external view returns (bool);\n\n    /// @notice Checks if a token is managed by the owner\n    /// @param _tokenId The ID of the token to check\n    /// @return True if the token is managed by the owner, false otherwise\n    function isManagedByOwner(uint256 _tokenId) external view returns (bool);\n\n    /// @notice Function to get the overview of the tokens related to a user\n    /// A token is related to a user if it is owned by the user or if it is managed by the user\n    /// This includes:\n    /// - Tokens owned by the user and managed by the user\n    /// - Tokens owned by the user and not managed by the user\n    /// - Tokens managed by the user and not owned by the user\n    /// @param _user The address of the user to get the overview of the tokens\n    /// @return DataTypes.TokenOverview[] The overview of the tokens related to the user\n    function tokensOverview(address _user) external view returns (DataTypes.TokenOverview[] memory);\n\n    // ---------- Base URI Functions ---------- //\n\n    /// @notice Sets the base URI for the token collection metadata\n    /// @dev Only the MANAGER_ROLE can call this function\n    /// @dev Metadata is hosted on IPFS, and the base URI is the base path to the collection metadata\n    /// @param _baseTokenURI The new base URI\n    /// @dev Emits a {IStargateNFT.BaseURIUpdated} event\n    function setBaseURI(string memory _baseTokenURI) external;\n\n    /// @notice Returns the base URI for the token collection metadata\n    /// @return baseURI - the base URI string\n    function baseURI() external view returns (string memory);\n\n    // ---------- Stargate functions ---------- //\n\n    /// @notice Mints a token from the StargateNFT contract\n    /// @dev This can only be called by the Stargate contract\n    /// @param _levelId The ID of the token level to mint\n    /// @param _to The address to mint the token to\n    /// @dev Emits a {IStargateNFT.TokenMinted} event\n    function mint(uint8 _levelId, address _to) external returns (uint256 tokenId);\n\n    /// @notice Burns a token from the StargateNFT contract\n    /// @dev This can only be called by the Stargate contract\n    /// @param _tokenId The ID of the token to burn\n    /// @dev Emits a {IStargateNFT.TokenBurned} event\n    function burn(uint256 _tokenId) external;\n\n    /// @notice Migrates a token from the legacy nodes contract to StargateNFT to the same owner address\n    /// as the owner of the token in the legacy nodes contract\n    /// @dev This can only be called by the Stargate contract\n    /// @param _tokenId The ID of the token to migrate\n    /// @dev Emits a {IStargateNFT.TokenMinted} event and a {IStargateNFT.TokenMigrated} event\n    function migrate(uint256 _tokenId) external;\n\n    /// @notice Boosts the maturity period of a token\n    /// @dev This can only be called by the Stargate contract\n    /// @param _sender The address to boost the token for\n    /// @param _tokenId The ID of the token to boost\n    /// @dev Emits a {IStargateNFT.MaturityPeriodBoosted} event\n    function boostOnBehalfOf(address _sender, uint256 _tokenId) external;\n\n    /// @notice Returns the address of the Stargate contract\n    /// @return stargate - the Stargate contract\n    function getStargate() external view returns (address);\n\n    // ---------- Clock Functions ---------- //\n\n    /// @notice Returns the current block number\n    /// @return blockNumber - the current block number\n    function clock() external view returns (uint48);\n\n    /// @notice Returns the clock mode\n    function CLOCK_MODE() external view returns (string memory);\n\n    /// @notice Returns the current timestamp\n    /// @return timestamp - the current timestamp\n    function timestamp() external view returns (uint48);\n\n    // ---------- VTHO Functions ---------- //\n\n    /// @notice Returns the address of the VTHO token contract\n    /// @return vthoToken - the VTHO token contract\n    function getVthoTokenAddress() external view returns (address);\n\n    // ---------- Legacy Nodes Functions ---------- //\n\n    /// @notice Returns the number of X tokens in circulation\n    /// @dev Get the count of normal tokens by subtracting the count of X tokens from the total supply\n    /// @return xTokensCount - the number of X tokens\n    function xTokensCount() external view returns (uint208);\n\n    /// @notice Checks if an owner owns an X token\n    /// @param _owner The address of the owner to check\n    /// @return True if the owner owns an X token, false otherwise\n    function ownsXToken(address _owner) external view returns (bool);\n\n    /// @notice Checks if a token is an X token\n    /// @param _tokenId The ID of the token to check\n    /// @return True if the token is an X token, false otherwise\n    function isXToken(uint256 _tokenId) external view returns (bool);\n\n    /// @notice Returns the legacy nodes contract\n    /// @return legacyNodes - the legacy nodes contract\n    function legacyNodes() external view returns (ITokenAuction);\n\n    // ---------- Temporary Functions ---------- //\n\n    /// @notice Transfers the balance of the contract to the Stargate contract\n    /// @dev This function was created after the refactor on the StargateNFT and Stargate\n    /// contracts. After the refactor, all VET is handled by Stargate, this means\n    /// stake, stakeAndDelegate, unstake... functions were moved to the Stargate.\n    /// Since up until now we were using the StagateNFT contract to handle the VET,\n    /// we need to transfer back all the previous staked VET to the Stargate\n    /// so user can delegate it and unstake it. This functions transfers all the VET\n    /// to the Stargate contract in one go.\n    /// This function is called by the admin after the upgrade to V3 and the\n    /// Stargate variable is set to the correct value\n    /// @dev Only the DEFAULT_ADMIN_ROLE can call this function\n    /// @dev Emits a {IStargateNFT.VetTransferFailed} event\n    function transferBalance(uint256 amount) external;\n\n    /// @notice Migrate a token manager to the StargateNFT contract, this function is only callable by the DEFAULT_ADMIN_ROLE\n    /// so we can migrate the storage from NodeManagementV3 to StargateNFT, after the migration we can remove this function\n    /// @param _tokenId The ID of the token to migrate\n    /// @param _manager The address of the manager to migrate\n    function migrateTokenManager(uint256 _tokenId, address _manager) external;\n}\n"},"contracts/mocks/Stargate/interfaces/ITokenAuction.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\ninterface ITokenAuction {\n    // ------------ Events ------------ //\n    // TODO: revisit interface\n    event AuctionCreated(\n        uint256 indexed _auctionId,\n        uint256 indexed _tokenId,\n        uint256 _startingPrice,\n        uint256 _endingPrice,\n        uint64 _duration\n    );\n\n    event AuctionSuccessful(\n        uint256 indexed _auctionId,\n        uint256 indexed _tokenId,\n        address indexed _seller,\n        address _winner,\n        uint256 _finalPrice\n    );\n\n    event AddAuctionWhiteList(\n        uint256 indexed _auctionId,\n        uint256 indexed _tokenId,\n        address indexed _candidate\n    );\n\n    event RemoveAuctionWhiteList(\n        uint256 indexed _auctionId,\n        uint256 indexed _tokenId,\n        address indexed _candidate\n    );\n\n    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);\n\n    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);\n\n    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);\n\n    event NewUpgradeApply(\n        uint256 indexed _tokenId,\n        address indexed _applier,\n        uint8 _level,\n        uint64 _applyTime,\n        uint64 _applyBlockno\n    );\n\n    event CancelUpgrade(uint256 indexed _tokenId, address indexed _owner);\n\n    event LevelChanged(\n        uint256 indexed _tokenId,\n        address indexed _owner,\n        uint8 _fromLevel,\n        uint8 _toLevel\n    );\n\n    event AuctionCancelled(uint256 indexed _auctionId, uint256 indexed _tokenId);\n\n    event ProtocolUpgrade(address _saleAuction);\n\n    event OperatorUpdated(address _op, bool _enabled);\n\n    event BlackListUpdated(address _person, bool _op);\n\n    event Pause();\n\n    event Unpause();\n\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n    // ------------ Functions ------------ //\n\n    function removeAuctionWhiteList(uint256 _tokenId, address _address) external;\n\n    function supportsInterface(bytes4 _interfaceId) external view returns (bool);\n\n    function sendBonusTo(address _to, uint256 _amount) external;\n\n    function name() external view returns (string memory);\n\n    function isNormalToken(address _target) external view returns (bool);\n\n    function getApproved(uint256 _tokenId) external view returns (address);\n\n    function approve(address _to, uint256 _tokenId) external;\n\n    function operators(address) external view returns (bool);\n\n    function totalSupply() external view returns (uint256);\n\n    function isToken(address _target) external view returns (bool);\n\n    function InterfaceId_ERC165() external view returns (bytes4);\n\n    function setTokenMetadataBaseURI(string memory _newBaseURI) external;\n\n    function transferFrom(address _from, address _to, uint256 _tokenId) external;\n\n    function getTokenParams(uint8 _level) external view returns (uint256, uint64, uint64, uint64);\n\n    function auctionCount() external view returns (uint256);\n\n    function setLeadTime(uint64 _leadtime) external;\n\n    function createDirectionalSaleAuction(\n        uint256 _tokenId,\n        uint128 _price,\n        uint64 _duration,\n        address _toAddress\n    ) external;\n\n    function unpause() external returns (bool);\n\n    function addToBlackList(address _badGuy) external;\n\n    function bid(uint256 _tokenId) external payable;\n\n    function blackList(address) external view returns (bool);\n\n    function removeFromBlackList(address _innocent) external;\n\n    function canTransfer(uint256 _tokenId) external view returns (bool);\n\n    function paused() external view returns (bool);\n\n    function upgradeTo(uint256 _tokenId, uint8 _toLvl) external;\n\n    function ownerOf(uint256 _tokenId) external view returns (address);\n\n    function transferCooldown() external view returns (uint64);\n\n    function setSaleAuctionAddress(address _address) external;\n\n    function balanceOf(address _owner) external view returns (uint256);\n\n    function applyUpgrade(uint8 _toLvl) external;\n\n    function addToken(\n        address _addr,\n        uint8 _lvl,\n        bool _onUpgrade,\n        uint64 _applyUpgradeTime,\n        uint64 _applyUpgradeBlockno\n    ) external;\n\n    function pause() external returns (bool);\n\n    function leadTime() external view returns (uint64);\n\n    function owner() external view returns (address);\n\n    function symbol() external view returns (string memory);\n\n    function cancelAuction(uint256 _tokenId) external;\n\n    function addOperator(address _operator) external;\n\n    function getMetadata(\n        uint256 _tokenId\n    ) external view returns (address, uint8, bool, bool, uint64, uint64, uint64);\n\n    function transfer(address _to, uint256 _tokenId) external;\n\n    function removeOperator(address _operator) external;\n\n    function downgradeTo(uint256 _tokenId, uint8 _toLvl) external;\n\n    function cancelUpgrade(uint256 _tokenId) external;\n\n    function setTransferCooldown(uint64 _cooldown) external;\n\n    function createSaleAuction(\n        uint256 _tokenId,\n        uint128 _startingPrice,\n        uint128 _endingPrice,\n        uint64 _duration\n    ) external;\n\n    function idToOwner(uint256) external view returns (address);\n\n    function tokenURI(uint256 _tokenId) external view returns (string memory);\n\n    function addAuctionWhiteList(uint256 _tokenId, address _address) external;\n\n    function xTokenCount() external view returns (uint64);\n\n    function saleAuction() external view returns (address);\n\n    function ownerToId(address) external view returns (uint256);\n\n    function transferOwnership(address newOwner) external;\n\n    function normalTokenCount() external view returns (uint64);\n\n    function isX(address _target) external view returns (bool);\n}\n"},"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nlibrary VechainNodesDataTypes {\n    /**\n     * @dev The strength level of each node.\n     */\n    enum NodeStrengthLevel {\n        None,\n        // Normal Token\n        Strength,\n        Thunder,\n        Mjolnir,\n        // X Token\n        VeThorX,\n        StrengthX,\n        ThunderX,\n        MjolnirX\n    }\n\n    /**\n     * @dev The score of a node.\n     */\n    struct NodeStrengthScores {\n        uint256 strength;\n        uint256 thunder;\n        uint256 mjolnir;\n        uint256 veThorX;\n        uint256 strengthX;\n        uint256 thunderX;\n        uint256 mjolnirX;\n    }\n\n    /**\n     * @dev The source of a node: VeChainNodes legacy contract or Stargate.\n     */\n    enum NodeSource {\n        None,\n        VeChainNodes,\n        StargateNFT\n    }\n}\n"},"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//        ✦     *        .         ✶         *        .       ✦       .\n//  ✦   _______..___________.    ___      .______        _______      ___   .___________. _______   ✦\n//     /       ||           |   /   \\     |   _  \\      /  _____|    /   \\  |           ||   ____|  *\n//    |   (----``---|  |----`  /  ^  \\    |  |_)  |    |  |  __     /  ^  \\ `---|  |----`|  |__      .\n//     \\   \\        |  |      /  /_\\  \\   |      /     |  | |_ |   /  /_\\  \\    |  |     |   __|     ✶\n// .----)   |       |  |     /  _____  \\  |  |\\  \\----.|  |__| |  /  _____  \\   |  |     |  |____   *\n// |_______/        |__|    /__/     \\__\\ | _| `._____| \\______| /__/     \\__\\  |__|     |_______|  ✦\n//         *       .      ✦      *      .        ✶       *      ✦       .       *        ✶\n\npragma solidity 0.8.20;\n\nimport { EnumerableSet } from \"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\";\nimport { IERC20 } from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { ITokenAuction } from \"../../interfaces/ITokenAuction.sol\";\nimport { IStargateDelegation } from \"../../interfaces/IStargateDelegation.sol\";\nimport { IStargate } from \"../../interfaces/IStargate.sol\";\n\n/// @title DataTypes\n/// @notice Library for the StargateNFT contract to store data structure definitions used across the contract and libraries\nlibrary DataTypes {\n  using Checkpoints for Checkpoints.Trace208;\n  using EnumerableSet for EnumerableSet.UintSet;\n\n  struct StargateNFTStorage {\n    uint48 vthoGenerationEndTimestamp_deprecated; // this is the timestamp (in seconds) when the protocol will stop generating VTHO by holding VET (deprecated in V3 and used only as a getter)\n    uint8 MAX_LEVEL_ID; // Maximum level ID\n    ITokenAuction legacyNodes; // TokenAuction contract\n    IStargateDelegation stargateDelegation_deprecated; // StargateDelegation contract (not used anymore from V3)\n    IERC20 vthoToken; // VTHO token contract\n    uint256 currentTokenId; // Token tracking: Current token ID\n    string baseTokenURI; // Base URI for the token metadata\n    mapping(uint8 levelId => Level) levels; // Token levels management: Mapping level ID to token level details\n    mapping(uint8 levelId => Checkpoints.Trace208) circulatingSupply; // Token levels management: Mapping level ID to circulating supply\n    mapping(uint8 levelId => uint32) cap; // Token levels management: Mapping level ID to cap aka max supply\n    mapping(uint256 tokenId => Token) tokens; // Token tracking: Mapping token ID to token\n    mapping(uint256 tokenId => uint64) maturityPeriodEndBlock; // Token tracking: Maturity period end block\n    mapping(address => WhitelistEntry) whitelistEntries_deprecated; // Token tracking: Whitelist entries for migration (deprecated in V3)\n    // ------- Version 3 ------- //\n    IStargate stargate; // Hayabusa Stargate contract\n    mapping(address => EnumerableSet.UintSet) managerToTokenIds; // Map manager address to token IDs\n    mapping(uint256 => address) tokenIdToManager; // Map token ID to manager address\n    mapping(uint8 levelId => uint256) boostPricePerBlock; // Map level ID to boost price per block\n  }\n\n  struct StargateNFTInitParams {\n    string tokenCollectionName; // ERC721 token collection name\n    string tokenCollectionSymbol; // ERC721 token collection symbol\n    string baseTokenURI; // Base URI for the token metadata\n    address admin; // Access control: Default admin address\n    address upgrader; // Access control: Upgrader address\n    address pauser; // Access control: Pauser address\n    address levelOperator; // Access control: Level operator address\n    address legacyNodes; // Address of the legacy TokenAuction contract\n    address stargateDelegation; // Address of the stargate delegation contract\n    address vthoToken; // Address of the VTHO token contract\n    uint256 legacyLastTokenId; // Last token ID minted in the legacy TokenAuction contract when the snapshot was taken\n    LevelAndSupply[] levelsAndSupplies; // A list of levels and their supply\n  }\n\n  struct Level {\n    string name; // Name of the level (e.g., \"Thunder\", \"Mjolnir\")\n    bool isX; // Whether the level is for X-tokens\n    uint8 id; // ID to identify the level, as a continuation of the legacy strength levels\n    uint64 maturityBlocks; // Maturity period in blocks\n    uint64 scaledRewardFactor; // Reward multiplier for that level scaled by 100 (i.e., 1.5 becomes 150)\n    uint256 vetAmountRequiredToStake; // VET amount required for staking\n  }\n\n  struct LevelAndSupply {\n    Level level; // Level details\n    uint208 circulatingSupply; // Current circulating supply\n    uint32 cap; // Maximum supply cap\n  }\n\n  struct Token {\n    uint256 tokenId;\n    uint8 levelId;\n    uint64 mintedAtBlock;\n    uint256 vetAmountStaked;\n    uint48 lastVetGeneratedVthoClaimTimestamp_deprecated; // this is the timestamp (in seconds) when the last base VTHO reward was claimed for the token (deprecated in V3 and used only as a getter)\n  }\n\n  struct WhitelistEntry {\n    uint256 tokenId;\n    uint8 levelId;\n  }\n\n  struct WhitelistEntryInit {\n    address owner;\n    uint256 tokenId;\n    uint8 levelId;\n  }\n\n  struct TokenOverview {\n    uint256 id;\n    address owner;\n    address manager;\n    uint8 levelId;\n  }\n}\n"},"contracts/ve-better-passport/libraries/PassportTypes.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IX2EarnApps } from \"../../interfaces/IX2EarnApps.sol\";\nimport { IGalaxyMember } from \"../../interfaces/IGalaxyMember.sol\";\n\n/**\n * @title PassportTypes\n * @notice This library defines various data types, enumerations, and initialization parameters used within the Passport contract.\n * It includes the `InitializationData` struct, which contains references to external contracts and configurations for personhood checks,\n * proof of participation, signaling, and passport delegation. It also includes role-based configuration settings.\n */\nlibrary PassportTypes {\n  /**\n   * @dev Struct containing data to initialize the contract\n   * @param xAllocationVoting The address of the xAllocationVoting\n   * @param x2EarnApps The address of the x2EarnApps\n   * @param galaxyMember The address of the galaxy member contract\n   * @param upgrader The address of the upgrader\n   * @param admins The addresses of the admins\n   * @param settingsManagers The addresses of the settings managers\n   * @param roleGranters The addresses of the role granters\n   * @param blacklisters The addresses of the blacklisters\n   * @param whitelisters The addresses of the whitelisters\n   * @param actionRegistrar The address of the action registrar\n   * @param actionScoreManager The address of the action score manager\n   * @param popScoreThreshold The threshold proof of participation score for a wallet to be considered a person\n   * @param signalingThreshold The threshold for a proposal to be active\n   * @param roundsForCumulativeScore The number of rounds for cumulative score\n   */\n  struct InitializationData {\n    IXAllocationVotingGovernor xAllocationVoting;\n    IX2EarnApps x2EarnApps;\n    IGalaxyMember galaxyMember;\n    uint256 signalingThreshold;\n    uint256 roundsForCumulativeScore;\n    uint256 minimumGalaxyMemberLevel;\n    uint256 blacklistThreshold;\n    uint256 whitelistThreshold;\n    uint256 maxEntitiesPerPassport;\n    uint256 decayRate;\n  }\n\n  struct InitializationRoleData {\n    address admin;\n    address botSignaler;\n    address upgrader;\n    address settingsManager;\n    address roleGranter;\n    address blacklister;\n    address whitelister;\n    address actionRegistrar;\n    address actionScoreManager;\n    address resetSignaler;\n  }\n\n  enum CheckType {\n    UNDEFINED, // Default value for invalid or uninitialized checks\n    WHITELIST_CHECK, // Check if the user is whitelisted\n    BLACKLIST_CHECK, // Check if the user is blacklisted\n    SIGNALING_CHECK, // Check if the user has been signaled too many times\n    PARTICIPATION_SCORE_CHECK, // Check the user's participation score\n    GM_OWNERSHIP_CHECK // Check if the user owns a GM token\n  }\n\n  /// @notice Security level indicates how secure the app is\n  /// @dev App security is used to calculate the overall score of a sustainable action\n  enum APP_SECURITY {\n    NONE,\n    LOW,\n    MEDIUM,\n    HIGH\n  }\n}\n"},"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { PassportTypes } from \"../../ve-better-passport/libraries/PassportTypes.sol\";\nimport { IVeBetterPassport } from \"../../interfaces/IVeBetterPassport.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IStargateNFT } from \"../../mocks/Stargate/interfaces/IStargateNFT.sol\";\nimport { DataTypes } from \"../../mocks/Stargate/StargateNFT/libraries/DataTypes.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { X2EarnAppsStorageTypes } from \"./X2EarnAppsStorageTypes.sol\";\n\n/**\n * @title EndorsementUtils\n * @dev Utility library for handling endorsements of applications in a voting context.\n */\nlibrary EndorsementUtils {\n  using Checkpoints for Checkpoints.Trace208;\n  // ------------------------------- Node Data Types -------------------------------\n  enum NodeStrengthLevel {\n    None,\n    Strength,\n    Thunder,\n    Mjolnir,\n    VeThorX,\n    StrengthX,\n    ThunderX,\n    MjolnirX\n  }\n\n  struct NodeStrengthScores {\n    uint256 strength;\n    uint256 thunder;\n    uint256 mjolnir;\n    uint256 veThorX;\n    uint256 strengthX;\n    uint256 thunderX;\n    uint256 mjolnirX;\n  }\n\n  enum NodeSource {\n    None,\n    VeChainNodes,\n    StargateNFT\n  }\n\n  // ------------------------------- Errors -------------------------------\n  error X2EarnNonexistentApp(bytes32 appId);\n  error X2EarnAppBlacklisted(bytes32 appId);\n  error X2EarnNonNodeHolder();\n  error X2EarnAppAlreadyEndorsed(bytes32 appId);\n  error NodeNotAllowedToEndorse();\n  error X2EarnNonEndorser();\n  error NodeManagementXAppAlreadyIncluded(bytes32 appId);\n  error X2EarnInvalidAddress(address addr);\n  // V8 errors\n  error EndorsementsPaused();\n  error CooldownNotExpired(uint256 nodeId, bytes32 appId);\n  error ExceedsMaxPointsPerApp(bytes32 appId, uint256 current, uint256 max);\n  error ExceedsMaxPointsPerNode(uint256 nodeId, bytes32 appId, uint256 max);\n  error InsufficientAvailablePoints(uint256 nodeId, uint256 available, uint256 requested);\n  error InvalidPointsAmount();\n  error MigrationAlreadyCompleted();\n  error InvalidEndorsementIndex(uint256 nodeId, bytes32 appId);\n  error MaxPointsPerAppBelowThreshold(uint256 maxPoints, uint256 threshold);\n  error ThresholdExceedsMaxPointsPerApp(uint256 threshold, uint256 maxPointsPerApp);\n  error FutureLookup(uint256 timepoint, uint256 currentBlock);\n\n  // ------------------------------- Events -------------------------------\n  event AppAdded(bytes32 indexed id, address addr, string name, bool appAvailableForAllocationVoting);\n  event AppEndorsed(bytes32 indexed appId, uint256 indexed nodeId, address endorser, uint256 points);\n  event AppUnendorsed(bytes32 indexed appId, uint256 indexed nodeId, uint256 points);\n  event EndorsementsPausedUpdated(bool paused);\n  event NodeStrengthScoresUpdated(NodeStrengthScores nodeStrengthScores);\n  event AppEndorsementStatusUpdated(bytes32 indexed appId, bool endorsed);\n  event AppUnendorsedGracePeriodStarted(bytes32 indexed appId, uint48 startBlock, uint48 endBlock);\n  event GracePeriodUpdated(uint256 oldGracePeriod, uint256 newGracePeriod);\n  event CooldownPeriodUpdated(uint256 oldCooldownPeriod, uint256 newCooldownPeriod);\n  event EndorsementScoreThresholdUpdated(uint256 oldThreshold, uint256 newThreshold);\n  event MaxPointsPerNodePerAppUpdated(uint256 oldMax, uint256 newMax);\n  event MaxPointsPerAppUpdated(uint256 oldMax, uint256 newMax);\n\n  // ------------------------------- Getter Functions -------------------------------\n\n  /**\n   * @notice Returns the current endorsement score for an app.\n   * @param appId The unique identifier of the app.\n   * @return The total endorsement points the app has received.\n   */\n  function getScore(bytes32 appId) external view returns (uint256) {\n    return uint256(X2EarnAppsStorageTypes._getEndorsementStorage()._appEndorsementScoreCheckpoints[appId].latest());\n  }\n\n  /**\n   * @notice Returns the endorsement score for an app at a specific block number.\n   * @param appId The unique identifier of the app.\n   * @param timepoint The block number to query.\n   * @return The endorsement score at the given timepoint.\n   */\n  function getScoreAtTimepoint(bytes32 appId, uint256 timepoint) external view returns (uint256) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    if (timepoint > block.number) {\n      revert FutureLookup(timepoint, block.number);\n    }\n    return uint256($._appEndorsementScoreCheckpoints[appId].upperLookupRecent(SafeCast.toUint48(timepoint)));\n  }\n\n  /**\n   * @notice Returns all endorser addresses for an app.\n   * @dev Filters out burned nodes and returns only valid manager addresses.\n   * @param appId The unique identifier of the app.\n   * @return Array of addresses managing nodes that endorse this app.\n   */\n  function getEndorsers(bytes32 appId) external view returns (address[] memory) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    uint256[] storage nodeIds = $._appEndorserNodes[appId];\n    uint256 length = nodeIds.length;\n    address[] memory endorsers = new address[](length);\n    uint256 count;\n\n    for (uint256 i; i < length; i++) {\n      uint256 nodeId = nodeIds[i];\n      if (!$._stargateNFT.tokenExists(nodeId)) continue;\n      address manager = $._stargateNFT.getTokenManager(nodeId);\n      if (manager != address(0)) {\n        endorsers[count] = manager;\n        count++;\n      }\n    }\n\n    assembly {\n      mstore(endorsers, count)\n    }\n    return endorsers;\n  }\n\n  /**\n   * @notice Returns all node IDs that endorse an app.\n   * @param appId The unique identifier of the app.\n   * @return Array of node IDs endorsing this app.\n   */\n  function getEndorserNodes(bytes32 appId) external view returns (uint256[] memory) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._appEndorserNodes[appId];\n  }\n\n  /**\n   * @notice Returns the total endorsement score a user has from all their managed nodes.\n   * @param user The address of the user.\n   * @return Total endorsement points across all nodes the user manages.\n   */\n  function getUsersEndorsementScore(address user) external view returns (uint256) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    DataTypes.Token[] memory nodeLevels = $._stargateNFT.tokensManagedBy(user);\n    uint256 totalScore;\n    for (uint256 i; i < nodeLevels.length; i++) {\n      totalScore += $._nodeEnodorsmentScore[nodeLevels[i].levelId];\n    }\n    return totalScore;\n  }\n\n  /**\n   * @notice Returns the endorsement score for a specific node based on its level.\n   * @param nodeId The unique identifier of the node.\n   * @return The endorsement score the node has based on its strength level.\n   */\n  function getNodeEndorsementScore(uint256 nodeId) external view returns (uint256) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    uint8 nodeLevel = $._stargateNFT.getTokenLevel(nodeId);\n    return $._nodeEnodorsmentScore[nodeLevel];\n  }\n\n  /**\n   * @notice Returns the endorsement score for a specific node strength level.\n   * @param nodeLevel The strength level (1-7 corresponding to different node types).\n   * @return The endorsement score assigned to that node level.\n   */\n  function nodeLevelEndorsementScore(uint8 nodeLevel) external view returns (uint256) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._nodeEnodorsmentScore[nodeLevel];\n  }\n\n  /**\n   * @notice Returns the grace period duration in blocks.\n   * @dev Grace period is the time an app has to regain endorsement after losing eligibility.\n   * @return The grace period duration in blocks.\n   */\n  function gracePeriod() external view returns (uint256) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._gracePeriodDuration;\n  }\n\n  /**\n   * @notice Returns the cooldown period duration in rounds.\n   * @dev Cooldown prevents immediate un-endorsement after endorsing an app.\n   * @return The cooldown period duration in rounds.\n   */\n  function cooldownPeriod() external view returns (uint256) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._cooldownPeriod;\n  }\n\n  /**\n   * @notice Returns the minimum endorsement score required for an app to be eligible.\n   * @return The endorsement score threshold (default 100).\n   */\n  function endorsementScoreThreshold() external view returns (uint256) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._endorsementScoreThreshold;\n  }\n\n  /**\n   * @notice Checks if an app is in the unendorsed (pending endorsement) list.\n   * @param appId The unique identifier of the app.\n   * @param isBlacklisted Whether the app is blacklisted.\n   * @return True if the app is pending endorsement, false otherwise.\n   */\n  function isAppUnendorsed(bytes32 appId, bool isBlacklisted) external view returns (bool) {\n    if (isBlacklisted) return false;\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._unendorsedAppsIndex[appId] > 0;\n  }\n\n  /**\n   * @notice Returns all app IDs that are currently pending endorsement.\n   * @return Array of app IDs waiting to reach the endorsement threshold.\n   */\n  function unendorsedAppIds() external view returns (bytes32[] memory) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._unendorsedApps;\n  }\n\n  /**\n   * @notice Returns the maximum points a single node can assign to one app.\n   * @return The max points per node per app (default 49).\n   */\n  function maxPointsPerNodePerApp() external view returns (uint256) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._maxPointsPerNodePerApp;\n  }\n\n  /**\n   * @notice Returns the maximum total points an app can receive from all endorsers.\n   * @return The max points per app (default 110).\n   */\n  function maxPointsPerApp() external view returns (uint256) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._maxPointsPerApp;\n  }\n\n  /**\n   * @notice Checks if endorsements are currently paused (during migration).\n   * @return True if endorsements are paused, false otherwise.\n   */\n  function endorsementsPaused() external view returns (bool) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._endorsementsPaused;\n  }\n\n  /**\n   * @notice Checks if the V8 migration has been completed.\n   * @return True if migration is complete, false otherwise.\n   */\n  function migrationCompleted() external view returns (bool) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._migrationCompleted;\n  }\n\n  /**\n   * @notice Returns all active endorsements for a node.\n   * @dev Each endorsement contains appId, points, and endorsedAtRound for cooldown tracking.\n   * @param nodeId The unique identifier of the node.\n   * @return Array of Endorsement structs representing all apps the node endorses.\n   */\n  function getNodeActiveEndorsements(\n    uint256 nodeId\n  ) external view returns (X2EarnAppsStorageTypes.Endorsement[] memory) {\n    return X2EarnAppsStorageTypes._getEndorsementStorage()._activeEndorsements[nodeId];\n  }\n\n  /**\n   * @notice Returns how many points a node has allocated to a specific app.\n   * @param nodeId The unique identifier of the node.\n   * @param appId The unique identifier of the app.\n   * @return The number of points the node has endorsed to this app.\n   */\n  function getNodePointsForApp(uint256 nodeId, bytes32 appId) external view returns (uint256) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n    if (endorsements.length == 0) return 0;\n    uint256 index = $._activeEndorsementsAppIndex[nodeId][appId];\n    if (index >= endorsements.length || endorsements[index].appId != appId) return 0;\n    return endorsements[index].points;\n  }\n\n  /**\n   * @notice Returns the total points a node has used across all endorsements.\n   * @param nodeId The unique identifier of the node.\n   * @return Total points the node has allocated to apps.\n   */\n  function getNodeUsedPoints(uint256 nodeId) external view returns (uint256) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n    uint256 usedPoints;\n    for (uint256 i; i < endorsements.length; i++) {\n      usedPoints += endorsements[i].points;\n    }\n    return usedPoints;\n  }\n\n  /**\n   * @notice Returns the available points a node can still allocate to apps.\n   * @dev Calculated as: totalPoints (based on node level) - usedPoints (sum of all endorsements).\n   * @param nodeId The unique identifier of the node.\n   * @return Available points the node can use for new endorsements.\n   */\n  function getNodeAvailablePoints(uint256 nodeId) external view returns (uint256) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    uint8 nodeLevel = $._stargateNFT.getTokenLevel(nodeId);\n    uint256 totalPoints = $._nodeEnodorsmentScore[nodeLevel];\n    X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n    uint256 usedPoints;\n    for (uint256 i; i < endorsements.length; i++) {\n      usedPoints += endorsements[i].points;\n    }\n    return totalPoints > usedPoints ? totalPoints - usedPoints : 0;\n  }\n\n  /**\n   * @notice Returns comprehensive info about a node's endorsement points.\n   * @dev Calculates total, used, available, and locked (under cooldown) points in a single call.\n   * @param nodeId The unique identifier of the node.\n   * @return info Struct containing totalPoints, usedPoints, availablePoints, and lockedPoints.\n   */\n  function getNodePointsInfo(uint256 nodeId) external view returns (X2EarnAppsStorageTypes.NodePointsInfo memory info) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    uint8 nodeLevel = $._stargateNFT.getTokenLevel(nodeId);\n    info.totalPoints = $._nodeEnodorsmentScore[nodeLevel];\n\n    X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n    uint256 currentRound = $._xAllocationVotingGovernor.currentRoundId();\n\n    for (uint256 i; i < endorsements.length; i++) {\n      info.usedPoints += endorsements[i].points;\n      if (currentRound < endorsements[i].endorsedAtRound + $._cooldownPeriod) {\n        info.lockedPoints += endorsements[i].points;\n      }\n    }\n\n    info.availablePoints = info.totalPoints > info.usedPoints ? info.totalPoints - info.usedPoints : 0;\n  }\n\n  /**\n   * @notice Checks if a node can unendorse a specific app (cooldown expired).\n   * @dev Returns false if node doesn't endorse the app or if cooldown hasn't expired.\n   *      Cooldown is measured in rounds (VeBetterDAO allocation rounds).\n   * @param nodeId The unique identifier of the node.\n   * @param appId The unique identifier of the app.\n   * @return True if the node can unendorse the app, false otherwise.\n   */\n  function canUnendorse(uint256 nodeId, bytes32 appId) external view returns (bool) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n    if (endorsements.length == 0) return false;\n    uint256 index = $._activeEndorsementsAppIndex[nodeId][appId];\n    if (index >= endorsements.length || endorsements[index].appId != appId) return false;\n    return $._xAllocationVotingGovernor.currentRoundId() >= endorsements[index].endorsedAtRound + $._cooldownPeriod;\n  }\n\n  // ------------------------------- Setter Functions -------------------------------\n\n  /**\n   * @notice Updates the endorsement scores for all node strength levels.\n   * @dev Called by governance to adjust how many endorsement points each node type provides.\n   * @param nodeStrengthScores Struct containing scores for all 7 node levels.\n   */\n  function updateNodeEndorsementScores(NodeStrengthScores calldata nodeStrengthScores) external {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    $._nodeEnodorsmentScore[1] = nodeStrengthScores.strength;\n    $._nodeEnodorsmentScore[2] = nodeStrengthScores.thunder;\n    $._nodeEnodorsmentScore[3] = nodeStrengthScores.mjolnir;\n    $._nodeEnodorsmentScore[4] = nodeStrengthScores.veThorX;\n    $._nodeEnodorsmentScore[5] = nodeStrengthScores.strengthX;\n    $._nodeEnodorsmentScore[6] = nodeStrengthScores.thunderX;\n    $._nodeEnodorsmentScore[7] = nodeStrengthScores.mjolnirX;\n    emit NodeStrengthScoresUpdated(nodeStrengthScores);\n  }\n\n  /**\n   * @notice Adds or removes an app from the unendorsed apps list.\n   * @dev Apps in this list have been submitted but haven't reached the endorsement threshold yet.\n   *      Uses swap-and-pop pattern for O(1) removal.\n   * @param appId The unique identifier of the app.\n   * @param remove If true, removes from list; if false, adds to list.\n   */\n  function updateUnendorsedApps(bytes32 appId, bool remove) public {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    if (remove) {\n      uint256 index = $._unendorsedAppsIndex[appId] - 1;\n      uint256 lastIndex = $._unendorsedApps.length - 1;\n      bytes32 lastAppId = $._unendorsedApps[lastIndex];\n      $._unendorsedApps[index] = lastAppId;\n      $._unendorsedAppsIndex[lastAppId] = index + 1;\n      $._unendorsedApps.pop();\n      delete $._unendorsedAppsIndex[appId];\n    } else {\n      $._unendorsedApps.push(appId);\n      $._unendorsedAppsIndex[appId] = $._unendorsedApps.length;\n    }\n  }\n\n  /**\n   * @notice Sets the grace period duration.\n   * @dev Grace period is the time an app has to regain endorsement after losing eligibility.\n   * @param gracePeriodDuration The new grace period in blocks.\n   */\n  function setGracePeriod(uint48 gracePeriodDuration) external {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    emit GracePeriodUpdated($._gracePeriodDuration, gracePeriodDuration);\n    $._gracePeriodDuration = gracePeriodDuration;\n  }\n\n  /**\n   * @notice Sets the cooldown period duration.\n   * @dev Cooldown prevents immediate un-endorsement after endorsing an app.\n   * @param cooldownPeriodDuration The new cooldown period in rounds.\n   */\n  function setCooldownPeriod(uint256 cooldownPeriodDuration) external {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    emit CooldownPeriodUpdated($._cooldownPeriod, cooldownPeriodDuration);\n    $._cooldownPeriod = cooldownPeriodDuration;\n  }\n\n  /**\n   * @notice Updates the minimum endorsement score required for app eligibility.\n   * @dev Reverts if scoreThreshold > maxPointsPerApp (would make threshold unreachable).\n   * @param scoreThreshold The new endorsement score threshold.\n   */\n  function updateEndorsementScoreThreshold(uint256 scoreThreshold) external {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    if (scoreThreshold > $._maxPointsPerApp) {\n      revert ThresholdExceedsMaxPointsPerApp(scoreThreshold, $._maxPointsPerApp);\n    }\n    emit EndorsementScoreThresholdUpdated($._endorsementScoreThreshold, scoreThreshold);\n    $._endorsementScoreThreshold = scoreThreshold;\n  }\n\n  /**\n   * @notice Sets the endorsement status of an app and updates pending list.\n   * @param appId The unique identifier of the app.\n   * @param endorsed If true, removes from pending list; if false, adds to pending list.\n   */\n  function setEndorsementStatus(bytes32 appId, bool endorsed) public {\n    updateUnendorsedApps(appId, endorsed);\n    emit AppEndorsementStatusUpdated(appId, endorsed);\n  }\n\n  /**\n   * @notice Sets the maximum points a single node can assign to one app.\n   * @dev Enforces decentralization by preventing one node from dominating an app's endorsement.\n   * @param maxPoints The new max points per node per app (default 49).\n   */\n  function setMaxPointsPerNodePerApp(uint256 maxPoints) external {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    emit MaxPointsPerNodePerAppUpdated($._maxPointsPerNodePerApp, maxPoints);\n    $._maxPointsPerNodePerApp = maxPoints;\n  }\n\n  /**\n   * @notice Sets the maximum total points an app can receive from all endorsers.\n   * @dev Provides a buffer above the threshold to prevent over-endorsement.\n   *      Reverts if maxPoints < endorsementScoreThreshold (would make threshold unreachable).\n   * @param maxPoints The new max points per app (default 110).\n   */\n  function setMaxPointsPerApp(uint256 maxPoints) external {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    if (maxPoints < $._endorsementScoreThreshold) {\n      revert MaxPointsPerAppBelowThreshold(maxPoints, $._endorsementScoreThreshold);\n    }\n    emit MaxPointsPerAppUpdated($._maxPointsPerApp, maxPoints);\n    $._maxPointsPerApp = maxPoints;\n  }\n\n  /**\n   * @notice Pauses or unpauses endorsement operations.\n   * @dev Used during migration to prevent state changes while data is being seeded.\n   * @param paused If true, pauses endorsements; if false, unpauses.\n   */\n  function setEndorsementsPaused(bool paused) external {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n    $._endorsementsPaused = paused;\n    emit EndorsementsPausedUpdated(paused);\n  }\n\n  /**\n   * @notice Marks the V8 migration as complete or incomplete.\n   * @dev Once complete, seedEndorsement() can no longer be called.\n   * @param completed If true, marks migration as complete.\n   */\n  function setMigrationCompleted(bool completed) external {\n    X2EarnAppsStorageTypes._getEndorsementStorage()._migrationCompleted = completed;\n  }\n\n  // ------------------------------- Core Logic Functions -------------------------------\n\n  /**\n   * @notice Endorses an app with a specified number of points from a node.\n   * @dev Validates all constraints (paused, caps, node ownership) before creating endorsement.\n   *      If node already endorses this app, adds points and resets cooldown.\n   *      Cooldown is tracked per-app using the current round ID.\n   * @param appId The unique identifier of the app to endorse.\n   * @param nodeId The unique identifier of the endorsing node.\n   * @param points The number of points to endorse with.\n   * @param isBlacklisted Whether the app is currently blacklisted.\n   * @param appExists Whether the app has been fully created (not just submitted).\n   * @param isEligibleNow Whether the app is currently eligible for voting.\n   */\n  function endorseApp(\n    bytes32 appId,\n    uint256 nodeId,\n    uint256 points,\n    bool isBlacklisted,\n    bool appExists,\n    bool isEligibleNow\n  ) external {\n    X2EarnAppsStorageTypes.AppsStorageStorage storage appsStorage = X2EarnAppsStorageTypes._getAppsStorageStorage();\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n\n    _validateEndorsement($, appsStorage, appId, nodeId, points, isBlacklisted);\n\n    uint256 currentAppPoints = _getNodePointsForAppInternal($, nodeId, appId);\n    _updateEndorsement($, nodeId, appId, points, currentAppPoints, $._xAllocationVotingGovernor.currentRoundId());\n    uint256 newScore = _getScore($, appId) + points;\n    _setScore($, appId, newScore);\n\n    if (newScore >= $._endorsementScoreThreshold) {\n      _updateStatusIfThresholdMet($, appsStorage, appId, appExists, isEligibleNow, isBlacklisted);\n    }\n\n    address endorser = $._stargateNFT.getTokenManager(nodeId);\n    emit AppEndorsed(appId, nodeId, endorser, points);\n  }\n\n  function _validateEndorsement(\n    X2EarnAppsStorageTypes.EndorsementStorage storage $,\n    X2EarnAppsStorageTypes.AppsStorageStorage storage appsStorage,\n    bytes32 appId,\n    uint256 nodeId,\n    uint256 points,\n    bool isBlacklisted\n  ) private view {\n    if ($._endorsementsPaused) revert EndorsementsPaused();\n    if (appsStorage._apps[appId].id == bytes32(0)) revert X2EarnNonexistentApp(appId);\n    if (isBlacklisted) revert X2EarnAppBlacklisted(appId);\n    if (nodeId == 0 || points == 0) revert InvalidPointsAmount();\n    if (!$._stargateNFT.tokenExists(nodeId) || !$._stargateNFT.isTokenManager(msg.sender, nodeId)) {\n      revert X2EarnNonNodeHolder();\n    }\n\n    uint8 nodeLevel = $._stargateNFT.getTokenLevel(nodeId);\n    if ($._nodeEnodorsmentScore[nodeLevel] == 0) revert NodeNotAllowedToEndorse();\n\n    uint256 totalNodePoints = $._nodeEnodorsmentScore[nodeLevel];\n    uint256 usedPoints = _getNodeUsedPoints($, nodeId);\n    uint256 availablePoints = totalNodePoints > usedPoints ? totalNodePoints - usedPoints : 0;\n    if (points > availablePoints) revert InsufficientAvailablePoints(nodeId, availablePoints, points);\n\n    uint256 currentAppPoints = _getNodePointsForAppInternal($, nodeId, appId);\n    if (currentAppPoints + points > $._maxPointsPerNodePerApp) {\n      revert ExceedsMaxPointsPerNode(nodeId, appId, $._maxPointsPerNodePerApp);\n    }\n    uint256 currentScore = _getScore($, appId);\n    if (currentScore + points > $._maxPointsPerApp) {\n      revert ExceedsMaxPointsPerApp(appId, currentScore, $._maxPointsPerApp);\n    }\n  }\n\n  function _updateEndorsement(\n    X2EarnAppsStorageTypes.EndorsementStorage storage $,\n    uint256 nodeId,\n    bytes32 appId,\n    uint256 points,\n    uint256 currentAppPoints,\n    uint256 currentRound\n  ) private {\n    if (currentAppPoints > 0) {\n      uint256 index = $._activeEndorsementsAppIndex[nodeId][appId];\n      $._activeEndorsements[nodeId][index].points = currentAppPoints + points;\n      $._activeEndorsements[nodeId][index].endorsedAtRound = currentRound;\n    } else {\n      // Add to node's endorsements\n      $._activeEndorsements[nodeId].push(\n        X2EarnAppsStorageTypes.Endorsement({ appId: appId, points: points, endorsedAtRound: currentRound })\n      );\n      $._activeEndorsementsAppIndex[nodeId][appId] = $._activeEndorsements[nodeId].length - 1;\n\n      // Add to app's endorser nodes (reverse mapping)\n      $._appEndorserNodes[appId].push(nodeId);\n      $._appEndorserNodesIndex[appId][nodeId] = $._appEndorserNodes[appId].length - 1;\n    }\n  }\n\n  /**\n   * @notice Removes points from an endorsement (partial or full un-endorsement).\n   * @dev Requires cooldown to have expired. If points=0, removes entire endorsement.\n   * @param appId The unique identifier of the app to unendorse.\n   * @param nodeId The unique identifier of the endorsing node.\n   * @param points The number of points to remove (0 = remove all).\n   * @param isBlacklisted Whether the app is currently blacklisted.\n   * @param isEligibleNow Whether the app is currently eligible for voting.\n   * @param clock The current block timestamp for grace period calculations.\n   * @return stillEligible Whether the app remains eligible after this un-endorsement.\n   */\n  function unendorseApp(\n    bytes32 appId,\n    uint256 nodeId,\n    uint256 points,\n    bool isBlacklisted,\n    bool isEligibleNow,\n    uint48 clock\n  ) external returns (bool stillEligible) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n\n    {\n      X2EarnAppsStorageTypes.AppsStorageStorage storage appsStorage = X2EarnAppsStorageTypes._getAppsStorageStorage();\n      if ($._endorsementsPaused) revert EndorsementsPaused();\n      if (appsStorage._apps[appId].id == bytes32(0)) revert X2EarnNonexistentApp(appId);\n    }\n\n    if (!$._stargateNFT.tokenExists(nodeId) || !$._stargateNFT.isTokenManager(msg.sender, nodeId)) {\n      revert X2EarnNonNodeHolder();\n    }\n\n    uint256 pointsToRemove;\n    {\n      X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n      if (endorsements.length == 0) revert X2EarnNonEndorser();\n\n      uint256 index = $._activeEndorsementsAppIndex[nodeId][appId];\n      if (index >= endorsements.length || endorsements[index].appId != appId) {\n        revert X2EarnNonEndorser();\n      }\n\n      if ($._xAllocationVotingGovernor.currentRoundId() < endorsements[index].endorsedAtRound + $._cooldownPeriod) {\n        revert CooldownNotExpired(nodeId, appId);\n      }\n\n      uint256 currentPoints = endorsements[index].points;\n      pointsToRemove = points == 0 ? currentPoints : points;\n      if (pointsToRemove > currentPoints) revert InvalidPointsAmount();\n\n      if (pointsToRemove == currentPoints) {\n        _removeEndorsement($, nodeId, appId, index);\n      } else {\n        endorsements[index].points -= pointsToRemove;\n      }\n    }\n\n    uint256 newScore = _getScore($, appId) - pointsToRemove;\n    _setScore($, appId, newScore);\n\n    emit AppUnendorsed(appId, nodeId, pointsToRemove);\n\n    if (!isEligibleNow || isBlacklisted) {\n      return isEligibleNow;\n    }\n\n    if (newScore < $._endorsementScoreThreshold) {\n      return _updateStatusIfThresholdNotMetWithVote($, appId, isBlacklisted, isEligibleNow, clock);\n    }\n\n    return true;\n  }\n\n  /**\n   * @notice Removes a node's endorsement from an app (called by app admin).\n   * @dev Unlike unendorseApp, this bypasses cooldown check. Used by app admins to remove endorsers.\n   * @param appId The unique identifier of the app.\n   * @param nodeId The unique identifier of the node to remove.\n   * @param isBlacklisted Whether the app is currently blacklisted.\n   * @param isEligibleNow Whether the app is currently eligible for voting.\n   * @param clock The current block timestamp for grace period calculations.\n   * @return stillEligible Whether the app remains eligible after removal.\n   */\n  function removeNodeEndorsement(\n    bytes32 appId,\n    uint256 nodeId,\n    bool isBlacklisted,\n    bool isEligibleNow,\n    uint48 clock\n  ) public returns (bool stillEligible) {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n\n    {\n      X2EarnAppsStorageTypes.AppsStorageStorage storage appsStorage = X2EarnAppsStorageTypes._getAppsStorageStorage();\n      if (appsStorage._apps[appId].id == bytes32(0)) revert X2EarnNonexistentApp(appId);\n    }\n\n    uint256 pointsToRemove;\n    {\n      X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n      if (endorsements.length == 0) revert X2EarnNonEndorser();\n\n      uint256 index = $._activeEndorsementsAppIndex[nodeId][appId];\n      if (index >= endorsements.length || endorsements[index].appId != appId) {\n        revert X2EarnNonEndorser();\n      }\n\n      pointsToRemove = endorsements[index].points;\n      _removeEndorsement($, nodeId, appId, index);\n    }\n\n    uint256 newScore = _getScore($, appId) - pointsToRemove;\n    _setScore($, appId, newScore);\n\n    emit AppUnendorsed(appId, nodeId, pointsToRemove);\n\n    if (!isEligibleNow || isBlacklisted) {\n      return isEligibleNow;\n    }\n\n    if (newScore < $._endorsementScoreThreshold) {\n      return _updateStatusIfThresholdNotMetWithVote($, appId, isBlacklisted, isEligibleNow, clock);\n    }\n\n    return true;\n  }\n\n  /**\n   * @notice Removes an app submission that hasn't been fully created yet.\n   * @dev Can only be called on apps that were submitted but not yet created (createdAtTimestamp == 0).\n   * @param appId The unique identifier of the app to remove.\n   */\n  function removeXAppSubmission(bytes32 appId) external {\n    X2EarnAppsStorageTypes.AppsStorageStorage storage appsStorage = X2EarnAppsStorageTypes._getAppsStorageStorage();\n    if (appsStorage._apps[appId].id == bytes32(0)) revert X2EarnNonexistentApp(appId);\n    if (appsStorage._apps[appId].createdAtTimestamp != 0) revert NodeManagementXAppAlreadyIncluded(appId);\n    updateUnendorsedApps(appId, true);\n  }\n\n  /**\n   * @notice Validates an app's endorsement status and cleans up invalid endorsements.\n   * @dev Removes endorsements from burned/invalid nodes and updates eligibility status.\n   *      Triggers grace period if score drops below threshold.\n   * @param appId The unique identifier of the app to check.\n   * @param clock The current block timestamp for grace period calculations.\n   * @return True if the app is still eligible after validation, false otherwise.\n   */\n  function checkEndorsement(bytes32 appId, uint48 clock) external returns (bool) {\n    X2EarnAppsStorageTypes.AppsStorageStorage storage appsStorage = X2EarnAppsStorageTypes._getAppsStorageStorage();\n    X2EarnAppsStorageTypes.VoteEligibilityStorage storage voteStorage = X2EarnAppsStorageTypes\n      ._getVoteEligibilityStorage();\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n\n    if (appsStorage._apps[appId].id == bytes32(0)) revert X2EarnNonexistentApp(appId);\n\n    bool isBlacklisted = voteStorage._blackList[appId];\n    if (isBlacklisted) return false;\n\n    // Validate endorsements and remove invalid ones (burned nodes, etc.)\n    uint256 score = _validateAndCleanEndorsements($, appId);\n    bool existsNow = appsStorage._apps[appId].createdAtTimestamp != 0;\n    bool isEligibleNow = existsNow && voteStorage._isAppEligibleCheckpoints[appId].latest() == 1;\n\n    if (score < $._endorsementScoreThreshold) {\n      return _updateStatusIfThresholdNotMetWithVote($, appId, isBlacklisted, isEligibleNow, clock);\n    } else {\n      _updateStatusIfThresholdMet($, appsStorage, appId, existsNow, isEligibleNow, isBlacklisted);\n    }\n\n    return true;\n  }\n\n  /// @dev Validate all endorsements for an app, remove invalid ones, and return updated score\n  function _validateAndCleanEndorsements(\n    X2EarnAppsStorageTypes.EndorsementStorage storage $,\n    bytes32 appId\n  ) private returns (uint256) {\n    uint256[] storage nodeIds = $._appEndorserNodes[appId];\n    uint256 validScore;\n    uint256 i;\n\n    while (i < nodeIds.length) {\n      uint256 nodeId = nodeIds[i];\n      bool isValid = $._stargateNFT.tokenExists(nodeId);\n\n      if (!isValid) {\n        // Get points from this endorsement\n        X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n        uint256 endorseIndex = $._activeEndorsementsAppIndex[nodeId][appId];\n\n        // Defensive validation before reading endorsement\n        if (endorseIndex >= endorsements.length || endorsements[endorseIndex].appId != appId) {\n          revert InvalidEndorsementIndex(nodeId, appId);\n        }\n\n        uint256 pointsToRemove = endorsements[endorseIndex].points;\n\n        // Remove endorsement from node's list\n        uint256 lastEndorseIndex = endorsements.length - 1;\n        if (endorseIndex != lastEndorseIndex) {\n          endorsements[endorseIndex] = endorsements[lastEndorseIndex];\n          $._activeEndorsementsAppIndex[nodeId][endorsements[endorseIndex].appId] = endorseIndex;\n        }\n        endorsements.pop();\n        delete $._activeEndorsementsAppIndex[nodeId][appId];\n\n        // Remove from app's endorser list (swap and pop)\n        uint256 lastNodeIndex = nodeIds.length - 1;\n        if (i != lastNodeIndex) {\n          uint256 lastNodeId = nodeIds[lastNodeIndex];\n          nodeIds[i] = lastNodeId;\n          $._appEndorserNodesIndex[appId][lastNodeId] = i;\n        }\n        nodeIds.pop();\n        delete $._appEndorserNodesIndex[appId][nodeId];\n\n        emit AppUnendorsed(appId, nodeId, pointsToRemove);\n        // Don't increment i since we swapped\n      } else {\n        // Valid node - add points to score\n        X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n        uint256 endorseIndex = $._activeEndorsementsAppIndex[nodeId][appId];\n\n        // Defensive validation before reading endorsement\n        if (endorseIndex >= endorsements.length || endorsements[endorseIndex].appId != appId) {\n          revert InvalidEndorsementIndex(nodeId, appId);\n        }\n\n        validScore += endorsements[endorseIndex].points;\n        i++;\n      }\n    }\n\n    // Update stored score\n    _setScore($, appId, validScore);\n    return validScore;\n  }\n\n  function seedEndorsement(bytes32 appId, uint256 nodeId, uint256 points) external {\n    X2EarnAppsStorageTypes.EndorsementStorage storage $ = X2EarnAppsStorageTypes._getEndorsementStorage();\n\n    if ($._migrationCompleted) revert MigrationAlreadyCompleted();\n\n    uint256 currentRound = $._xAllocationVotingGovernor.currentRoundId();\n    X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n    uint256 existingIndex = $._activeEndorsementsAppIndex[nodeId][appId];\n\n    // Check if endorsement already exists for this (nodeId, appId)\n    bool exists = endorsements.length > 0 &&\n      existingIndex < endorsements.length &&\n      endorsements[existingIndex].appId == appId;\n\n    if (exists) {\n      // Update existing endorsement - adjust score delta\n      uint256 oldPoints = endorsements[existingIndex].points;\n      endorsements[existingIndex].points = points;\n      endorsements[existingIndex].endorsedAtRound = currentRound;\n\n      // Adjust app score: remove old, add new\n      _setScore($, appId, _getScore($, appId) - oldPoints + points);\n    } else {\n      // Create new endorsement\n      endorsements.push(\n        X2EarnAppsStorageTypes.Endorsement({ appId: appId, points: points, endorsedAtRound: currentRound })\n      );\n      $._activeEndorsementsAppIndex[nodeId][appId] = endorsements.length - 1;\n\n      // Add to app's endorser nodes (reverse mapping) - only for new endorsements\n      $._appEndorserNodes[appId].push(nodeId);\n      $._appEndorserNodesIndex[appId][nodeId] = $._appEndorserNodes[appId].length - 1;\n\n      _setScore($, appId, _getScore($, appId) + points);\n    }\n\n    // Get endorser address from node manager\n    address endorser = $._stargateNFT.getTokenManager(nodeId);\n    emit AppEndorsed(appId, nodeId, endorser, points);\n  }\n\n  // ------------------------------- Private Functions -------------------------------\n\n  function _getNodeUsedPoints(\n    X2EarnAppsStorageTypes.EndorsementStorage storage $,\n    uint256 nodeId\n  ) private view returns (uint256) {\n    X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n    uint256 usedPoints;\n    for (uint256 i; i < endorsements.length; i++) {\n      usedPoints += endorsements[i].points;\n    }\n    return usedPoints;\n  }\n\n  function _getNodePointsForAppInternal(\n    X2EarnAppsStorageTypes.EndorsementStorage storage $,\n    uint256 nodeId,\n    bytes32 appId\n  ) private view returns (uint256) {\n    X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n    if (endorsements.length == 0) return 0;\n    uint256 index = $._activeEndorsementsAppIndex[nodeId][appId];\n    if (index >= endorsements.length || endorsements[index].appId != appId) return 0;\n    return endorsements[index].points;\n  }\n\n  function _removeEndorsement(\n    X2EarnAppsStorageTypes.EndorsementStorage storage $,\n    uint256 nodeId,\n    bytes32 appId,\n    uint256 index\n  ) private {\n    // Remove from node's endorsements (swap and pop)\n    X2EarnAppsStorageTypes.Endorsement[] storage endorsements = $._activeEndorsements[nodeId];\n    uint256 lastIndex = endorsements.length - 1;\n\n    if (index != lastIndex) {\n      X2EarnAppsStorageTypes.Endorsement storage lastEndorsement = endorsements[lastIndex];\n      endorsements[index] = lastEndorsement;\n      $._activeEndorsementsAppIndex[nodeId][lastEndorsement.appId] = index;\n    }\n\n    endorsements.pop();\n    delete $._activeEndorsementsAppIndex[nodeId][appId];\n\n    // Remove from app's endorser nodes (reverse mapping, swap and pop)\n    uint256[] storage appNodes = $._appEndorserNodes[appId];\n    uint256 nodeIndex = $._appEndorserNodesIndex[appId][nodeId];\n    uint256 lastNodeIndex = appNodes.length - 1;\n\n    if (nodeIndex != lastNodeIndex) {\n      uint256 lastNodeId = appNodes[lastNodeIndex];\n      appNodes[nodeIndex] = lastNodeId;\n      $._appEndorserNodesIndex[appId][lastNodeId] = nodeIndex;\n    }\n\n    appNodes.pop();\n    delete $._appEndorserNodesIndex[appId][nodeId];\n  }\n\n  function _updateStatusIfThresholdMet(\n    X2EarnAppsStorageTypes.EndorsementStorage storage $,\n    X2EarnAppsStorageTypes.AppsStorageStorage storage appsStorage,\n    bytes32 appId,\n    bool appExists,\n    bool isEligibleNow,\n    bool isBlacklisted\n  ) private {\n    if (!appExists) {\n      appsStorage._apps[appId].createdAtTimestamp = block.timestamp;\n      appsStorage._appIds.push(appId);\n      $._veBetterPassport.setAppSecurity(appId, PassportTypes.APP_SECURITY.LOW);\n\n      X2EarnAppsStorageTypes.AdministrationStorage storage adminStorage = X2EarnAppsStorageTypes\n        ._getAdministrationStorage();\n      emit AppAdded(appId, adminStorage._teamWalletAddress[appId], appsStorage._apps[appId].name, true);\n    } else if (!isEligibleNow) {\n      $._veBetterPassport.setAppSecurity(appId, $._appSecurity[appId]);\n    }\n\n    bool appUnendorsed = !isBlacklisted && $._unendorsedAppsIndex[appId] > 0;\n    if (appUnendorsed) {\n      setEndorsementStatus(appId, true);\n    }\n\n    $._appGracePeriodStart[appId] = 0;\n  }\n\n  function _getScore(\n    X2EarnAppsStorageTypes.EndorsementStorage storage $,\n    bytes32 appId\n  ) private view returns (uint256) {\n    return uint256($._appEndorsementScoreCheckpoints[appId].latest());\n  }\n\n  function _setScore(X2EarnAppsStorageTypes.EndorsementStorage storage $, bytes32 appId, uint256 newScore) private {\n    $._appEndorsementScoreCheckpoints[appId].push(SafeCast.toUint48(block.number), SafeCast.toUint208(newScore));\n  }\n\n  function _updateStatusIfThresholdNotMetWithVote(\n    X2EarnAppsStorageTypes.EndorsementStorage storage $,\n    bytes32 appId,\n    bool isBlacklisted,\n    bool isEligibleNow,\n    uint48 clock\n  ) private returns (bool stillEligible) {\n    bool appUnendorsed = !isBlacklisted && $._unendorsedAppsIndex[appId] > 0;\n\n    if (!appUnendorsed) {\n      updateUnendorsedApps(appId, false);\n      emit AppEndorsementStatusUpdated(appId, false);\n    }\n\n    if ($._appGracePeriodStart[appId] == 0 && isEligibleNow) {\n      $._appGracePeriodStart[appId] = clock;\n      emit AppUnendorsedGracePeriodStarted(appId, clock, clock + $._gracePeriodDuration);\n      return true;\n    } else if ((clock > $._appGracePeriodStart[appId] + $._gracePeriodDuration) && isEligibleNow) {\n      $._appSecurity[appId] = $._veBetterPassport.appSecurity(appId);\n      $._veBetterPassport.setAppSecurity(appId, PassportTypes.APP_SECURITY.NONE);\n      return false;\n    }\n\n    return true;\n  }\n}\n"},"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { PassportTypes } from \"../../ve-better-passport/libraries/PassportTypes.sol\";\nimport { INodeManagementV3 } from \"../../mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\";\nimport { IVeBetterPassport } from \"../../interfaces/IVeBetterPassport.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IStargateNFT } from \"../../mocks/Stargate/interfaces/IStargateNFT.sol\";\nimport { X2EarnAppsDataTypes } from \"../../libraries/X2EarnAppsDataTypes.sol\";\nimport { IX2EarnCreator } from \"../../interfaces/IX2EarnCreator.sol\";\nimport { IX2EarnRewardsPool } from \"../../interfaces/IX2EarnRewardsPool.sol\";\n\n/**\n * @title X2EarnAppsStorageTypes\n * @notice This library defines the primary storage types used within the X2EarnApps contract.\n */\nlibrary X2EarnAppsStorageTypes {\n  bytes32 private constant VoteEligibilityStorageLocation =\n    0xb5b8d618af1ffb8d5bcc4bd23f445ba34ed08d7a16d1e1b5411cfbe7913e5900;\n  bytes32 private constant EndorsementStorageLocation =\n    0xc1a7bcdc0c77e8c77ade4541d1777901ab96ca598d164d89afa5c8dfbfc44300;\n  bytes32 private constant SettingsStorageLocation = 0x83b9a7e51f394efa93107c3888716138908bbbe611dfc86afa3639a826441100;\n  bytes32 private constant AppsStorageStorageLocation =\n    0xb6909058bd527140b8d55a44344c5e42f1f148f1b3b16df7641882df8dd72900;\n  bytes32 private constant AdministrationStorageLocation =\n    0x5830f0e95c01712d916c34d9e2fa42e9f749b325b67bce7382d70bb99c623500;\n\n  /// @custom:storage-location erc7201:b3tr.storage.X2EarnApps.VoteEligibility\n  struct VoteEligibilityStorage {\n    bytes32[] _eligibleApps; // Array containing an up to date list of apps that are eligible for voting\n    mapping(bytes32 appId => uint256 index) _eligibleAppIndex; // Mapping from app ID to index in the _eligibleApps array, so we can remove an app in O(1)\n    mapping(bytes32 appId => Checkpoints.Trace208) _isAppEligibleCheckpoints; // Checkpoints to track the eligibility changes of an app over time\n    mapping(bytes32 => bool) _blackList; // Mapping to store the blacklisted apps\n  }\n\n  /// @notice Represents an active endorsement from a node to an app\n  struct Endorsement {\n    bytes32 appId;\n    uint256 points;\n    uint256 endorsedAtRound; // Round in which the endorsement was created/updated (for cooldown tracking)\n  }\n\n  /// @notice Summary of a node's endorsement points allocation\n  struct NodePointsInfo {\n    uint256 totalPoints; // Total points the node has based on its level\n    uint256 usedPoints; // Points currently allocated to apps\n    uint256 availablePoints; // Points available for new endorsements\n    uint256 lockedPoints; // Points under cooldown (cannot be unendorsed yet)\n  }\n\n  /// @custom:storage-location erc7201:b3tr.storage.X2EarnApps.Endorsment\n  struct EndorsementStorage {\n    bytes32[] _unendorsedApps; // List of apps pending endorsement\n    mapping(bytes32 => uint256) _unendorsedAppsIndex; // Mapping from app ID to index in the _unendorsedApps array, so we can remove an app in O(1)\n    mapping(bytes32 => uint256[]) _appEndorsers_DEPRECATED; // DEPRECATED V8: Use _activeEndorsements instead\n    mapping(uint8 => uint256) _nodeEnodorsmentScore; // The endorsement score for each node level\n    mapping(bytes32 => uint48) _appGracePeriodStart; // The grace period elapsed by the app since endorsed\n    mapping(uint256 => bytes32) _nodeToEndorsedApp_DEPRECATED; // DEPRECATED V8: Use _activeEndorsements instead\n    uint48 _gracePeriodDuration; // The grace period threshold for no endorsement in BLOCKS\n    uint256 _endorsementScoreThreshold; // The endorsement score threshold for an app to be eligible for voting\n    mapping(bytes32 => uint256) _appScores_DEPRECATED; // DEPRECATED V8: Use _appEndorsementScoreCheckpoints instead\n    mapping(bytes32 => PassportTypes.APP_SECURITY) _appSecurity; // The security score of each app\n    INodeManagementV3 _nodeManagementContract; // The token auction contract\n    IVeBetterPassport _veBetterPassport; // The VeBetterPassport contract\n    mapping(uint256 => uint256) _endorsementRound_DEPRECATED; // DEPRECATED V8: Cooldown now per-app in Endorsement struct\n    uint256 _cooldownPeriod; // Cooldown duration in rounds for unendorsing\n    IXAllocationVotingGovernor _xAllocationVotingGovernor; // The XAllocationVotingGovernor contract\n    //------- Version 7 -------//\n    IStargateNFT _stargateNFT; // The Stargate NFT contract\n    //------- Version 8 - Flexible Endorsement -------//\n    // Notice: _activeEndorsements, _appEndorserNodes, _appEndorserNodesIndex need to be updated together, otherwise the mapping will be corrupted.\n    mapping(uint256 nodeId => Endorsement[]) _activeEndorsements; // All active endorsements by a node\n    mapping(uint256 nodeId => mapping(bytes32 appId => uint256 index)) _activeEndorsementsAppIndex; // Index lookup for O(1) access\n    mapping(bytes32 appId => uint256 score) _appEndorsementScore_DEPRECATED; // DEPRECATED V8: Use _appEndorsementScoreCheckpoints instead\n    mapping(bytes32 appId => uint256[]) _appEndorserNodes; // Reverse mapping: nodes endorsing each app\n    mapping(bytes32 appId => mapping(uint256 nodeId => uint256 index)) _appEndorserNodesIndex; // Index for O(1) removal\n    uint256 _maxPointsPerNodePerApp; // Max points a single node can assign to one app (default 49)\n    uint256 _maxPointsPerApp; // Max total points an app can receive (default 110)\n    bool _endorsementsPaused; // Pause endorsements during migration\n    bool _migrationCompleted; // One-time migration flag\n    mapping(bytes32 appId => Checkpoints.Trace208) _appEndorsementScoreCheckpoints; // Checkpointed endorsement scores for historical lookups\n  }\n\n  /// @custom:storage-location erc7201:b3tr.storage.X2EarnApps.Settings\n  struct ContractSettingsStorage {\n    string _baseURI;\n  }\n\n  /// @custom:storage-location erc7201:b3tr.storage.X2EarnApps.AppsStorage\n  struct AppsStorageStorage {\n    // Mapping from app ID to app\n    mapping(bytes32 appId => X2EarnAppsDataTypes.App) _apps;\n    // List of app IDs to enable retrieval of all _apps\n    bytes32[] _appIds;\n  }\n\n  /// @custom:storage-location erc7201:b3tr.storage.X2EarnApps.Administration\n  struct AdministrationStorage {\n    mapping(bytes32 appId => address) _admin;\n    mapping(bytes32 appId => address[]) _moderators;\n    mapping(bytes32 appId => address[]) _rewardDistributors; // addresses that can distribute rewards from X2EarnRewardsPool\n    mapping(bytes32 appId => address) _teamWalletAddress;\n    mapping(bytes32 appId => uint256) _teamAllocationPercentage; // by default this is 0 and all funds are sent to the X2EarnRewardsPool\n    mapping(bytes32 appId => string) _metadataURI;\n    mapping(bytes32 appId => address[]) _creators; // addresses that have a creators NFT and can manage interactions with Node holders\n    mapping(address creator => uint256 apps) _creatorApps; // number of apps created by a creator\n    IX2EarnCreator _x2EarnCreatorContract;\n    IX2EarnRewardsPool _x2EarnRewardsPoolContract; // x2earn rewards pool contract to enable rewards pool for new apps\n  }\n\n  function _getVoteEligibilityStorage()\n    internal\n    pure\n    returns (X2EarnAppsStorageTypes.VoteEligibilityStorage storage $)\n  {\n    assembly {\n      $.slot := VoteEligibilityStorageLocation\n    }\n  }\n\n  function _getEndorsementStorage() internal pure returns (X2EarnAppsStorageTypes.EndorsementStorage storage $) {\n    assembly {\n      $.slot := EndorsementStorageLocation\n    }\n  }\n\n  function _getContractSettingsStorage()\n    internal\n    pure\n    returns (X2EarnAppsStorageTypes.ContractSettingsStorage storage $)\n  {\n    assembly {\n      $.slot := SettingsStorageLocation\n    }\n  }\n\n  function _getAppsStorageStorage() internal pure returns (X2EarnAppsStorageTypes.AppsStorageStorage storage $) {\n    assembly {\n      $.slot := AppsStorageStorageLocation\n    }\n  }\n\n  function _getAdministrationStorage() internal pure returns (X2EarnAppsStorageTypes.AdministrationStorage storage $) {\n    assembly {\n      $.slot := AdministrationStorageLocation\n    }\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { IX2EarnApps } from \"../../interfaces/IX2EarnApps.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { XAllocationVotingDataTypes } from \"./XAllocationVotingDataTypes.sol\";\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\n\n/**\n * @title AutoVotingLogic\n * @notice Library that handles user preferences for automatic voting in allocation rounds\n * @dev This library is intended to be used by the XAllocationVoting contract\n */\nlibrary AutoVotingLogic {\n  using Checkpoints for Checkpoints.Trace208;\n\n  /**\n   * @notice Emitted when a user toggles their autovoting status\n   * @param account The address of the user\n   * @param enabled Whether autovoting is enabled or disabled\n   */\n  event AutoVotingToggled(address indexed account, bool enabled);\n\n  /**\n   * @notice Emitted when a user updates their preferred apps for autovoting\n   * @param account The address of the user\n   * @param apps The list of app IDs the user prefers to vote for\n   */\n  event PreferredAppsUpdated(address indexed account, bytes32[] apps);\n\n  // ---------- Setters ---------- //\n\n  /**\n   * @dev Toggles autovoting for an account\n   * @param xAllocationVotingGovernorAddress The address of the XAllocationVotingGovernor contract\n   * @param account The address to toggle autovoting for\n   * @param clock The current timepoint\n   * @notice\n   * User Enabled: false ──────────────────────→ true\n   * Total Count:  100   ──────────────────────→ 101\n   * User Prefs:   [existing preferences kept]\n   *\n   * User Enabled: true ──────────────────────→ false\n   * Total Count:  101   ──────────────────────→ 100\n   * User Prefs:   [app1, app2] ────────────────→ [] (deleted)\n   */\n  function toggleAutoVoting(address xAllocationVotingGovernorAddress, address account, uint48 clock) external {\n    XAllocationVotingStorageTypes.AutoVotingStorage storage autoVotingStorage = XAllocationVotingStorageTypes\n      ._getAutoVotingStorage();\n    bool currentStatus = autoVotingStorage._autoVotingEnabled[account].upperLookupRecent(clock) == 1;\n    bool newStatus = !currentStatus;\n\n    IXAllocationVotingGovernor xAllocationVotingGovernor = IXAllocationVotingGovernor(xAllocationVotingGovernorAddress);\n\n    // If user is enabling autovoting (was disabled, now enabling), check eligibility\n    if (!currentStatus) {\n      xAllocationVotingGovernor.validatePersonhoodForCurrentRound(account);\n      (, bool isValid) = _getAndValidateVotingPower(\n        xAllocationVotingGovernor,\n        account,\n        xAllocationVotingGovernor.currentRoundSnapshot()\n      );\n      require(isValid, \"AutoVotingLogic: at least 1 VOT3 is required\");\n      require(\n        autoVotingStorage._userVotingPreferences[account].length > 0,\n        \"AutoVotingLogic: must select at least one app\"\n      );\n    }\n\n    // If user is disabling autovoting (was enabled, now disabling), clear preferences\n    if (currentStatus) {\n      delete autoVotingStorage._userVotingPreferences[account];\n    }\n\n    // Push new checkpoint with toggled status\n    autoVotingStorage._autoVotingEnabled[account].push(\n      clock,\n      newStatus ? SafeCast.toUint208(1) : SafeCast.toUint208(0)\n    );\n\n    uint208 currentTotal = autoVotingStorage._totalAutoVotingUsers.upperLookupRecent(clock);\n    uint208 newTotal = newStatus ? currentTotal + 1 : currentTotal - 1;\n    autoVotingStorage._totalAutoVotingUsers.push(clock, newTotal);\n\n    emit AutoVotingToggled(account, newStatus);\n  }\n\n  /**\n   * @dev Gets effective voting power for an account and validates it meets the minimum threshold for auto-voting\n   */\n  function _getAndValidateVotingPower(\n    IXAllocationVotingGovernor xAllocationVotingGovernor,\n    address account,\n    uint256 timepoint\n  ) internal view returns (uint256, bool) {\n    uint256 voterAvailableVotes = xAllocationVotingGovernor.getVotes(account, timepoint);\n    bool isValid = voterAvailableVotes >= 1 ether;\n    return (voterAvailableVotes, isValid);\n  }\n\n  /**\n   * @dev Sets the voting preferences for an account\n   * @param x2EarnAppsAddress The address of the X2EarnApps contract\n   * @param account The address to set preferences for\n   * @param apps The list of app IDs to vote for\n   */\n  function setUserVotingPreferences(address x2EarnAppsAddress, address account, bytes32[] memory apps) external {\n    XAllocationVotingStorageTypes.AutoVotingStorage storage autoVotingStorage = XAllocationVotingStorageTypes\n      ._getAutoVotingStorage();\n    require(apps.length > 0, \"AutoVotingLogic: no apps to vote for\");\n    require(apps.length <= 15, \"AutoVotingLogic: must vote for less than 15 apps\");\n\n    IX2EarnApps x2EarnAppsContract = IX2EarnApps(x2EarnAppsAddress);\n\n    // Iterate through the apps and percentages to calculate the total weight of votes cast by the voter\n    for (uint256 i; i < apps.length; i++) {\n      // app must be a valid app\n      require(x2EarnAppsContract.appExists(apps[i]), \"AutoVotingLogic: invalid app\");\n\n      // Check current app against ALL previous apps\n      for (uint256 j; j < i; j++) {\n        require(apps[i] != apps[j], \"AutoVotingLogic: duplicate app\");\n      }\n    }\n\n    autoVotingStorage._userVotingPreferences[account] = apps;\n\n    emit PreferredAppsUpdated(account, apps);\n  }\n\n  // ---------- Getters ---------- //\n\n  /**\n   * @dev Checks if autovoting is enabled for an account at the latest timepoint\n   * @param account The address to check\n   * @return Whether autovoting is enabled for the account at the latest timepoint\n   */\n  function isAutoVotingEnabled(address account) external view returns (bool) {\n    XAllocationVotingStorageTypes.AutoVotingStorage storage autoVotingStorage = XAllocationVotingStorageTypes\n      ._getAutoVotingStorage();\n    return autoVotingStorage._autoVotingEnabled[account].latest() == 1;\n  }\n\n  /**\n   * @dev Checks if autovoting is enabled for an account at a specific timepoint\n   * @param account The address to check\n   * @param timepoint The timepoint to check\n   * @return Whether autovoting is enabled for the account at the specific timepoint\n   */\n  function isAutoVotingEnabledAtTimepoint(address account, uint48 timepoint) external view returns (bool) {\n    XAllocationVotingStorageTypes.AutoVotingStorage storage autoVotingStorage = XAllocationVotingStorageTypes\n      ._getAutoVotingStorage();\n    return autoVotingStorage._autoVotingEnabled[account].upperLookupRecent(timepoint) == 1;\n  }\n\n  /**\n   * @dev Gets the voting preferences for an account\n   * @param account The address to get preferences for\n   * @return The list of app IDs the account prefers to vote for\n   */\n  function getUserVotingPreferences(address account) external view returns (bytes32[] memory) {\n    XAllocationVotingStorageTypes.AutoVotingStorage storage autoVotingStorage = XAllocationVotingStorageTypes\n      ._getAutoVotingStorage();\n    return autoVotingStorage._userVotingPreferences[account];\n  }\n\n  /**\n   * @dev Gets the total number of users who enabled autovoting at a specific timepoint\n   * @param timepoint The timepoint to check\n   * @return The total number of users who enabled autovoting at the specific timepoint\n   */\n  function getTotalAutoVotingUsersAtTimepoint(uint48 timepoint) external view returns (uint208) {\n    XAllocationVotingStorageTypes.AutoVotingStorage storage autoVotingStorage = XAllocationVotingStorageTypes\n      ._getAutoVotingStorage();\n    return autoVotingStorage._totalAutoVotingUsers.upperLookupRecent(timepoint);\n  }\n\n  /**\n   * @dev Gets the total number of users who enabled autovoting at the current timepoint\n   * @param clock The current timepoint\n   * @return The total number of users who enabled autovoting at the current timepoint\n   */\n  function getTotalAutoVotingUsers(uint48 clock) external view returns (uint208) {\n    XAllocationVotingStorageTypes.AutoVotingStorage storage autoVotingStorage = XAllocationVotingStorageTypes\n      ._getAutoVotingStorage();\n    return autoVotingStorage._totalAutoVotingUsers.upperLookupRecent(clock);\n  }\n\n  /**\n   * @dev Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights\n   * @notice Returns empty arrays if voter has insufficient voting power\n   * @notice Returns empty arrays if no eligible apps found\n   *\n   * @param xAllocationVotingGovernorAddress The address of the XAllocationVotingGovernor contract\n   * @param voter The address of the voter\n   * @param roundId The round ID to vote in\n   * @param preferredApps Array of preferred app IDs\n   *\n   * @return finalAppIds Array of eligible app IDs\n   * @return voteWeights Array of equal vote weights\n   * @return votingPower The voting power of the voter\n   */\n  function prepareAutoVoteArrays(\n    address xAllocationVotingGovernorAddress,\n    address voter,\n    uint256 roundId,\n    bytes32[] memory preferredApps\n  ) external view returns (bytes32[] memory finalAppIds, uint256[] memory voteWeights, uint256 votingPower) {\n    IXAllocationVotingGovernor xAllocationVotingGovernor = IXAllocationVotingGovernor(xAllocationVotingGovernorAddress);\n\n    (uint256 voterAvailableVotes, bool isValid) = _getAndValidateVotingPower(\n      xAllocationVotingGovernor,\n      voter,\n      xAllocationVotingGovernor.roundSnapshot(roundId)\n    );\n\n    votingPower = voterAvailableVotes;\n\n    // If voter has insufficient voting power, return empty arrays\n    if (!isValid) {\n      return (new bytes32[](0), new uint256[](0), votingPower);\n    }\n\n    // Count and collect eligible apps\n    uint256 len = preferredApps.length;\n    bytes32[] memory tempAppIds = new bytes32[](len);\n    uint256 count;\n\n    for (uint256 i; i < len; ++i) {\n      if (xAllocationVotingGovernor.isEligibleForVote(preferredApps[i], roundId)) {\n        tempAppIds[count++] = preferredApps[i];\n      }\n    }\n\n    // If no eligible apps found, return empty arrays\n    if (count == 0) {\n      return (new bytes32[](0), new uint256[](0), votingPower);\n    }\n\n    // Create final arrays with exact size\n    finalAppIds = new bytes32[](count);\n    voteWeights = new uint256[](count);\n    uint256 votePerApp = votingPower / count;\n    uint256 remainingVotes = votingPower % count;\n\n    for (uint256 i; i < count; ++i) {\n      finalAppIds[i] = tempAppIds[i];\n      voteWeights[i] = votePerApp;\n\n      // Distribute remainder: give 1 extra wei to first N apps\n      // Edge case: when user has 1 VOT3 and select 3 apps, this will give 1 extra wei to the first app\n      if (i < remainingVotes) {\n        voteWeights[i] += 1;\n      }\n    }\n\n    return (finalAppIds, voteWeights, votingPower);\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { IEmissions } from \"../../interfaces/IEmissions.sol\";\nimport { IX2EarnApps } from \"../../interfaces/IX2EarnApps.sol\";\nimport { IVoterRewards } from \"../../interfaces/IVoterRewards.sol\";\nimport { IVeBetterPassport } from \"../../interfaces/IVeBetterPassport.sol\";\nimport { IB3TRGovernor } from \"../../interfaces/IB3TRGovernor.sol\";\nimport { IRelayerRewardsPool } from \"../../interfaces/IRelayerRewardsPool.sol\";\nimport { INavigatorRegistry } from \"../../interfaces/INavigatorRegistry.sol\";\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\n\n/**\n * @title ExternalContractsUtils\n * @notice Library for managing external contract references in XAllocationVoting.\n * @dev Self-fetches storage via XAllocationVotingStorageTypes. All functions are external for size reduction.\n */\nlibrary ExternalContractsUtils {\n  // ------- Events ------- //\n\n  /// @dev Emitted when the emissions contract is set\n  event EmissionsSet(address oldContractAddress, address newContractAddress);\n  /// @dev Emitted when the X2EarnApps contract is set\n  event X2EarnAppsSet(address oldContractAddress, address newContractAddress);\n  /// @dev Emitted when the voter rewards contract is set\n  event VoterRewardsSet(address oldContractAddress, address newContractAddress);\n  /// @dev Emitted when the VeBetterPassport contract is set\n  event VeBetterPassportSet(address oldContractAddress, address newContractAddress);\n  /// @dev Emitted when the B3TRGovernor contract is set\n  event B3TRGovernorSet(address oldContractAddress, address newContractAddress);\n  /// @dev Emitted when the RelayerRewardsPool contract is set\n  event RelayerRewardsPoolSet(address oldContractAddress, address newContractAddress);\n  /// @dev Emitted when the NavigatorRegistry contract is set\n  event NavigatorRegistrySet(address oldContractAddress, address newContractAddress);\n\n  // ------- Errors ------- //\n\n  error InvalidContractAddress(string contractName);\n\n  // ------- Initialization ------- //\n\n  /**\n   * @notice Initializes external contract references.\n   * @param initialX2EarnApps The initial X2EarnApps contract\n   * @param initialEmissions The initial Emissions contract\n   * @param initialVoterRewards The initial VoterRewards contract\n   */\n  function initialize(\n    IX2EarnApps initialX2EarnApps,\n    IEmissions initialEmissions,\n    IVoterRewards initialVoterRewards\n  ) external {\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage $ = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n    $._x2EarnApps = initialX2EarnApps;\n    $._emissions = initialEmissions;\n    $._voterRewards = initialVoterRewards;\n  }\n\n  // ------- Getters ------- //\n\n  // ------- Setters ------- //\n\n  /// @notice Sets the Emissions contract\n  /// @param newEmissions The new Emissions contract address\n  function setEmissions(IEmissions newEmissions) external {\n    if (address(newEmissions) == address(0)) revert InvalidContractAddress(\"emissions\");\n\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage $ = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n    emit EmissionsSet(address($._emissions), address(newEmissions));\n    $._emissions = newEmissions;\n  }\n\n  /// @notice Sets the X2EarnApps contract\n  /// @param newX2EarnApps The new X2EarnApps contract address\n  function setX2EarnApps(IX2EarnApps newX2EarnApps) external {\n    if (address(newX2EarnApps) == address(0)) revert InvalidContractAddress(\"X2EarnApps\");\n\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage $ = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n    emit X2EarnAppsSet(address($._x2EarnApps), address(newX2EarnApps));\n    $._x2EarnApps = newX2EarnApps;\n  }\n\n  /// @notice Sets the VoterRewards contract\n  /// @param newVoterRewards The new VoterRewards contract address\n  function setVoterRewards(IVoterRewards newVoterRewards) external {\n    if (address(newVoterRewards) == address(0)) revert InvalidContractAddress(\"voter rewards\");\n\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage $ = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n    emit VoterRewardsSet(address($._voterRewards), address(newVoterRewards));\n    $._voterRewards = newVoterRewards;\n  }\n\n  /// @notice Sets the VeBetterPassport contract\n  /// @param newVeBetterPassport The new VeBetterPassport contract address\n  function setVeBetterPassport(IVeBetterPassport newVeBetterPassport) external {\n    if (address(newVeBetterPassport) == address(0)) revert InvalidContractAddress(\"VeBetterPassport\");\n\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage $ = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n    emit VeBetterPassportSet(address($._veBetterPassport), address(newVeBetterPassport));\n    $._veBetterPassport = newVeBetterPassport;\n  }\n\n  /// @notice Sets the B3TRGovernor contract\n  /// @param newB3TRGovernor The new B3TRGovernor contract address\n  function setB3TRGovernor(IB3TRGovernor newB3TRGovernor) external {\n    if (address(newB3TRGovernor) == address(0)) revert InvalidContractAddress(\"B3TRGovernor\");\n\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage $ = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n    emit B3TRGovernorSet(address($._b3trGovernor), address(newB3TRGovernor));\n    $._b3trGovernor = newB3TRGovernor;\n  }\n\n  /// @notice Sets the RelayerRewardsPool contract\n  /// @param newRelayerRewardsPool The new RelayerRewardsPool contract address\n  function setRelayerRewardsPool(IRelayerRewardsPool newRelayerRewardsPool) external {\n    if (address(newRelayerRewardsPool) == address(0)) revert InvalidContractAddress(\"RelayerRewardsPool\");\n\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage $ = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n    emit RelayerRewardsPoolSet(address($._relayerRewardsPool), address(newRelayerRewardsPool));\n    $._relayerRewardsPool = newRelayerRewardsPool;\n  }\n\n  /// @notice Sets the NavigatorRegistry contract\n  /// @param newNavigatorRegistry The new NavigatorRegistry contract address\n  function setNavigatorRegistry(INavigatorRegistry newNavigatorRegistry) external {\n    if (address(newNavigatorRegistry) == address(0)) revert InvalidContractAddress(\"NavigatorRegistry\");\n\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage $ = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n    emit NavigatorRegistrySet(address($._navigatorRegistry), address(newNavigatorRegistry));\n    $._navigatorRegistry = newNavigatorRegistry;\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\nimport { IVoterRewards } from \"../../interfaces/IVoterRewards.sol\";\n\n/**\n * @title FreshnessUtils\n * @notice Library for computing and tracking vote freshness in XAllocationVoting.\n * @dev Freshness measures whether a voter actively changes their app selection between rounds.\n * A \"fingerprint\" of the voted apps is computed using XOR, which is order-independent and gas-efficient.\n * The fingerprint is compared against the stored value to determine if the vote is \"fresh\".\n *\n * Freshness tiers (in basis points, 10000 = 1x):\n * - Updated this round (roundsSinceChange == 0) → tier 1 (default x3)\n * - Updated last round (roundsSinceChange == 1) → tier 2 (default x2)\n * - No update >= 2 rounds (roundsSinceChange >= 2) → tier 3 (default x1)\n *\n * Reusable for Phase 2 (navigators inherit freshness from their navigator's preferences).\n */\nlibrary FreshnessUtils {\n  /// @notice Emitted when a vote's freshness multiplier is applied\n  /// @param voter The voter address\n  /// @param roundId The round in which the vote was cast\n  /// @param fingerprint The XOR fingerprint of the voted apps\n  /// @param lastChangedRound The round when the voter's fingerprint last changed\n  /// @param multiplier The freshness multiplier applied (basis points, 10000 = 1x)\n  event FreshnessMultiplierApplied(\n    address indexed voter,\n    uint256 indexed roundId,\n    bytes32 fingerprint,\n    uint256 lastChangedRound,\n    uint256 multiplier\n  );\n\n  /// @notice Compute a fingerprint of the voted apps using XOR\n  /// @dev Order-independent: voting [A, B] and [B, A] produce the same fingerprint.\n  /// Only detects app set changes — weight distribution changes are NOT detected.\n  /// @param appIds Array of app IDs voted for\n  /// @return fingerprint The XOR of all app IDs\n  function computeFingerprint(bytes32[] memory appIds) internal pure returns (bytes32 fingerprint) {\n    for (uint256 i; i < appIds.length; i++) {\n      fingerprint ^= appIds[i];\n    }\n  }\n\n  /// @notice Update fingerprint storage and return the freshness multiplier in basis points\n  /// @dev Computes fingerprint, compares to stored value, updates storage, and looks up multiplier\n  /// from VoterRewards checkpoints at the given timepoint.\n  ///\n  /// First-time voters (lastFingerprint == bytes32(0)) are treated as fresh (tier 1).\n  ///\n  /// @param voter The voter address\n  /// @param roundId The current round ID\n  /// @param appIds Array of app IDs voted for\n  /// @param timepoint The round snapshot block for checkpoint lookup\n  /// @param voterRewardsAddress The VoterRewards contract address for multiplier config lookup\n  /// @return multiplier The freshness multiplier in basis points (10000 = 1x)\n  function updateAndGetMultiplier(\n    address voter,\n    uint256 roundId,\n    bytes32[] memory appIds,\n    uint256 timepoint,\n    address voterRewardsAddress\n  ) external returns (uint256 multiplier) {\n    // Update fingerprint storage and get rounds since last change\n    uint256 roundsSinceChange = _updateFingerprint(voter, roundId, appIds);\n\n    // Look up and select freshness tier\n    multiplier = _selectTier(roundsSinceChange, timepoint, voterRewardsAddress);\n\n    // Emit event with current state\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    emit FreshnessMultiplierApplied(voter, roundId, $._lastVoteFingerprint[voter], $._lastFingerprintChangedRound[voter], multiplier);\n  }\n\n  /// @dev Update fingerprint storage and return rounds since last change\n  function _updateFingerprint(address voter, uint256 roundId, bytes32[] memory appIds) private returns (uint256) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n\n    bytes32 newFingerprint = computeFingerprint(appIds);\n    bytes32 lastFingerprint = $._lastVoteFingerprint[voter];\n\n    // First-time voter or fingerprint changed → update storage\n    if (lastFingerprint == bytes32(0) || newFingerprint != lastFingerprint) {\n      $._lastVoteFingerprint[voter] = newFingerprint;\n      $._lastFingerprintChangedRound[voter] = roundId;\n    }\n\n    return roundId - $._lastFingerprintChangedRound[voter];\n  }\n\n  /// @dev Select the appropriate freshness tier based on rounds since change\n  function _selectTier(uint256 roundsSinceChange, uint256 timepoint, address voterRewardsAddress) private view returns (uint256) {\n    (uint256 tier1, uint256 tier2, uint256 tier3) = IVoterRewards(voterRewardsAddress).getFreshnessMultipliers(timepoint);\n\n    if (roundsSinceChange == 0) return tier1;\n    if (roundsSinceChange == 1) return tier2;\n    return tier3;\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\n\n/**\n * @title RoundEarningsSettingsUtils\n * @notice Library for managing x-allocation earnings settings (base allocation percentage, app shares cap).\n * @dev Extracted from RoundEarningsSettingsUpgradeable module. Uses ERC-7201 namespaced storage.\n *\n * Since the base allocation percentage and app shares cap can be updated, values are snapshotted per round.\n */\nlibrary RoundEarningsSettingsUtils {\n  /// @notice Thrown when the base allocation percentage exceeds 100\n  error BaseAllocationPercentageTooHigh(uint256 provided);\n\n  /// @notice Thrown when the app shares cap exceeds 100\n  error AppSharesCapTooHigh(uint256 provided);\n\n  // ---------- Getters ---------- //\n\n  /**\n   * @notice Get the current base allocation percentage\n   */\n  function baseAllocationPercentage() external view returns (uint256) {\n    XAllocationVotingStorageTypes.EarningsSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getEarningsSettingsStorage();\n    return $.baseAllocationPercentage;\n  }\n\n  /**\n   * @notice Get the current app shares cap\n   */\n  function appSharesCap() external view returns (uint256) {\n    XAllocationVotingStorageTypes.EarningsSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getEarningsSettingsStorage();\n    return $.appSharesCap;\n  }\n\n  /**\n   * @notice Returns the base allocation percentage for a given round\n   * @param roundId The round to query\n   */\n  function getRoundBaseAllocationPercentage(uint256 roundId) external view returns (uint256) {\n    XAllocationVotingStorageTypes.EarningsSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getEarningsSettingsStorage();\n    return $._roundBaseAllocationPercentage[roundId];\n  }\n\n  /**\n   * @notice Returns the app shares cap for a given round\n   * @param roundId The round to query\n   */\n  function getRoundAppSharesCap(uint256 roundId) external view returns (uint256) {\n    XAllocationVotingStorageTypes.EarningsSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getEarningsSettingsStorage();\n    return $._roundAppSharesCap[roundId];\n  }\n\n  // ---------- Setters ---------- //\n\n  /**\n   * @notice Set the base allocation percentage\n   * @param baseAllocationPercentage_ The new base allocation percentage (must be <= 100)\n   */\n  function setBaseAllocationPercentage(uint256 baseAllocationPercentage_) external {\n    if (baseAllocationPercentage_ > 100) {\n      revert BaseAllocationPercentageTooHigh(baseAllocationPercentage_);\n    }\n    XAllocationVotingStorageTypes.EarningsSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getEarningsSettingsStorage();\n    $.baseAllocationPercentage = baseAllocationPercentage_;\n  }\n\n  /**\n   * @notice Set the app shares cap\n   * @param appSharesCap_ The new app shares cap (must be <= 100)\n   */\n  function setAppSharesCap(uint256 appSharesCap_) external {\n    if (appSharesCap_ > 100) {\n      revert AppSharesCapTooHigh(appSharesCap_);\n    }\n    XAllocationVotingStorageTypes.EarningsSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getEarningsSettingsStorage();\n    $.appSharesCap = appSharesCap_;\n  }\n\n  // ---------- Snapshot ---------- //\n\n  /**\n   * @notice Snapshot the current earnings settings for a round\n   * @param roundId The id of the round to snapshot\n   * @dev Stores current baseAllocationPercentage and appSharesCap for the given round\n   */\n  function snapshotRoundEarningsCap(uint256 roundId) external {\n    XAllocationVotingStorageTypes.EarningsSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getEarningsSettingsStorage();\n    $._roundBaseAllocationPercentage[roundId] = $.baseAllocationPercentage;\n    $._roundAppSharesCap[roundId] = $.appSharesCap;\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\n\n/**\n * @title RoundFinalizationUtils\n * @notice Library that handles the finalization of allocation voting rounds\n * @dev If a round does not meet the quorum (Failed) we need to know the last round that succeeded,\n * so we can calculate the earnings for the x-2-earn-apps upon that round. By always pointing each round at the last succeeded one, if a round fails,\n * it will be enough to look at what round the previous one points to.\n */\nlibrary RoundFinalizationUtils {\n  /**\n   * @dev Store the last succeeded round for the given round\n   * @param roundId The round to finalize\n   * @param roundState The pre-computed state of the round (0=Active, 1=Failed, 2=Succeeded)\n   * @param active Whether the round is currently active\n   */\n  function finalizeRound(uint256 roundId, uint8 roundState, bool active) external {\n    require(!active, \"XAllocationVotingGovernor: round is not ended yet\");\n\n    XAllocationVotingStorageTypes.RoundFinalizationStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundFinalizationStorage();\n\n    // First round is always considered succeeded\n    if (roundId == 1) {\n      $._latestSucceededRoundId[roundId] = 1;\n      $._roundFinalized[roundId] = true;\n      return;\n    }\n\n    // RoundState.Succeeded == 2\n    if (roundState == 2) {\n      // if round is succeeded, it is the last succeeded round\n      $._latestSucceededRoundId[roundId] = roundId;\n      $._roundFinalized[roundId] = true;\n    }\n    // RoundState.Failed == 1\n    else if (roundState == 1) {\n      // if round is failed, it points to the last succeeded round\n      $._latestSucceededRoundId[roundId] = $._latestSucceededRoundId[roundId - 1];\n      $._roundFinalized[roundId] = true;\n    }\n  }\n\n  /**\n   * @dev Get the last succeeded round for the given round\n   * @param roundId The round to query\n   * @return The latest succeeded round id for the given round\n   */\n  function latestSucceededRoundId(uint256 roundId) external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundFinalizationStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundFinalizationStorage();\n    return $._latestSucceededRoundId[roundId];\n  }\n\n  /**\n   * @dev Check if the round is finalized\n   * @param roundId The round to query\n   * @return Whether the round has been finalized\n   */\n  function isFinalized(uint256 roundId) external view returns (bool) {\n    XAllocationVotingStorageTypes.RoundFinalizationStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundFinalizationStorage();\n    return $._roundFinalized[roundId];\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport { X2EarnAppsDataTypes } from \"../../libraries/X2EarnAppsDataTypes.sol\";\nimport { IX2EarnApps } from \"../../interfaces/IX2EarnApps.sol\";\n\n/**\n * @title RoundsStorageUtils\n * @notice Library for round lifecycle storage operations.\n * @dev Handles round creation and read access. Does NOT orchestrate external calls\n * (finalization, earnings snapshots, relayer rewards) — the caller is responsible for that.\n */\nlibrary RoundsStorageUtils {\n  /// @dev Emitted when a new round is created\n  event RoundCreated(\n    uint256 roundId,\n    address proposer,\n    uint256 voteStart,\n    uint256 voteEnd,\n    bytes32[] appsIds\n  );\n\n  // ------- Setters ------- //\n\n  /**\n   * @dev Create a new round. Increments round count, stores RoundCore, and emits RoundCreated.\n   * Does NOT finalize the previous round, snapshot earnings, or call external contracts.\n   * @param proposer The address of the proposer\n   * @param clock The current clock value (block number / timestamp)\n   * @param votingPeriodDuration The duration of the voting period\n   * @return roundId The id of the new round\n   *\n   * Emits a {RoundCreated} event\n   */\n  function createRound(\n    address proposer,\n    uint48 clock,\n    uint32 votingPeriodDuration,\n    bytes32[] memory eligibleApps\n  ) external returns (uint256 roundId) {\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n\n    ++$._roundCount;\n    roundId = $._roundCount;\n\n    XAllocationVotingStorageTypes.RoundCore storage round = $._rounds[roundId];\n    round.proposer = proposer;\n    round.voteStart = SafeCast.toUint48(clock);\n    round.voteDuration = votingPeriodDuration;\n\n    // Store eligible apps BEFORE emitting event so apps are included in event args\n    $._appsEligibleForVoting[roundId] = eligibleApps;\n\n    emit RoundCreated(roundId, proposer, clock, uint256(clock) + uint256(votingPeriodDuration), eligibleApps);\n  }\n\n  // ------- Getters ------- //\n\n  /**\n   * @dev Get the current round id\n   */\n  function currentRoundId() external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n    return $._roundCount;\n  }\n\n  /**\n   * @dev Get the current round start block\n   */\n  function currentRoundSnapshot() external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n    uint256 id = $._roundCount;\n    return $._rounds[id].voteStart;\n  }\n\n  /**\n   * @dev Get the current round deadline block\n   */\n  function currentRoundDeadline() external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n    uint256 id = $._roundCount;\n    return uint256($._rounds[id].voteStart) + uint256($._rounds[id].voteDuration);\n  }\n\n  /**\n   * @dev Get the start block of a round\n   */\n  function roundSnapshot(uint256 roundId) external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n    return $._rounds[roundId].voteStart;\n  }\n\n  /**\n   * @dev Get the deadline block of a round\n   */\n  function roundDeadline(uint256 roundId) external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n    return uint256($._rounds[roundId].voteStart) + uint256($._rounds[roundId].voteDuration);\n  }\n\n  /**\n   * @dev Get the proposer of a round\n   */\n  function roundProposer(uint256 roundId) external view returns (address) {\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n    return $._rounds[roundId].proposer;\n  }\n\n  /**\n   * @dev Get the ids of the apps eligible for voting in a round\n   */\n  function getAppIdsOfRound(uint256 roundId) external view returns (bytes32[] memory) {\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n    return $._appsEligibleForVoting[roundId];\n  }\n\n  /**\n   * @dev Get the data of a round\n   */\n  function getRound(uint256 roundId) external view returns (XAllocationVotingStorageTypes.RoundCore memory) {\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n    return $._rounds[roundId];\n  }\n\n  /**\n   * @dev Get all the apps in the form of {AppWithDetailsReturnType} eligible for voting in a round\n   * @notice This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound}\n   * and then call {IX2EarnApps-app} for each app id\n   * @param roundId The round to query\n   */\n  function getAppsOfRound(\n    uint256 roundId\n  ) external view returns (X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory) {\n    IX2EarnApps x2EarnAppsContract = XAllocationVotingStorageTypes._getExternalContractsStorage()._x2EarnApps;\n    XAllocationVotingStorageTypes.RoundsStorageStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundsStorageStorage();\n\n    bytes32[] memory appsInRound = $._appsEligibleForVoting[roundId];\n    uint256 length = appsInRound.length;\n    X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory allApps = new X2EarnAppsDataTypes.AppWithDetailsReturnType[](\n      length\n    );\n\n    for (uint i; i < length; i++) {\n      allApps[i] = x2EarnAppsContract.app(appsInRound[i]);\n    }\n    return allApps;\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\nimport { Math } from \"@openzeppelin/contracts/utils/math/Math.sol\";\nimport { IXAllocationVotingGovernor } from \"../../interfaces/IXAllocationVotingGovernor.sol\";\nimport { FreshnessUtils } from \"./FreshnessUtils.sol\";\n\n/**\n * @title RoundVotesCountingUtils\n * @notice Library for vote counting with quadratic funding math in the XAllocationVoting system.\n * @dev Extracted from RoundVotesCountingUpgradeable module. Uses ERC-7201 namespaced storage.\n */\nlibrary RoundVotesCountingUtils {\n  // ------- Events ------- //\n\n  /// @notice Emitted when the voting threshold is updated\n  event VotingThresholdSet(uint256 oldVotingThreshold, uint256 newVotingThreshold);\n\n  /// @notice Emitted when a vote is cast\n  event AllocationVoteCast(address indexed voter, uint256 indexed roundId, bytes32[] appsIds, uint256[] voteWeights);\n\n  // ------- Errors ------- //\n\n  /// @dev Error thrown when trying to vote for the same app multiple times in one transaction\n  error DuplicateAppVote();\n\n  // ------- Initialization ------- //\n\n  /**\n   * @notice Initializes the voting threshold\n   * @param votingThreshold_ The initial minimum number of tokens needed to cast a vote\n   */\n  function initialize(uint256 votingThreshold_) external {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    $.votingThreshold = votingThreshold_;\n  }\n\n  // ------- Setters ------- //\n\n  /**\n   * @notice Sets the voting threshold\n   * @param newVotingThreshold The new minimum number of tokens needed to cast a vote\n   */\n  function setVotingThreshold(uint256 newVotingThreshold) external {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    emit VotingThresholdSet($.votingThreshold, newVotingThreshold);\n    $.votingThreshold = newVotingThreshold;\n  }\n\n  // ------- Getters ------- //\n\n  /// @notice Returns the current voting threshold\n  function votingThreshold() external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $.votingThreshold;\n  }\n\n  /// @notice Returns the votes received by a specific app in a given round\n  function getAppVotes(uint256 roundId, bytes32 app) external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].votesReceived[app];\n  }\n\n  /// @notice Returns the quadratic funding votes received by a specific app in a given round\n  function getAppVotesQF(uint256 roundId, bytes32 app) external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].votesReceivedQF[app];\n  }\n\n  /// @notice Returns the total votes cast in a given round\n  function totalVotes(uint256 roundId) external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVotes;\n  }\n\n  /// @notice Returns the total quadratic funding votes cast in a given round\n  function totalVotesQF(uint256 roundId) external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVotesQF;\n  }\n\n  /// @notice Returns the total number of voters in a given round\n  function totalVoters(uint256 roundId) external view returns (uint256) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVoters;\n  }\n\n  /// @notice Returns whether a user has voted in a given round\n  function hasVoted(uint256 roundId, address user) external view returns (bool) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].hasVoted[user];\n  }\n\n  /// @notice Returns whether a user has voted at least once across all rounds\n  function hasVotedOnce(address user) external view returns (bool) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._hasVotedOnce[user];\n  }\n\n  /// @notice Returns whether quorum has been reached for a given round\n  /// @param roundId The round to check\n  /// @param quorumValue The quorum threshold (caller must provide)\n  function quorumReached(uint256 roundId, uint256 quorumValue) external view returns (bool) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return quorumValue <= $._roundVotes[roundId].totalVotes;\n  }\n\n  /// @notice Returns whether a user voted for a specific app in a given round\n  /// @param roundId The round to query\n  /// @param user The voter address\n  /// @param appId The app to check\n  function hasUserVotedForApp(uint256 roundId, address user, bytes32 appId) external view returns (bool) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].userVotedForApp[user][appId];\n  }\n\n  /// @notice Returns whether the vote succeeded (totalVotes > 0)\n  /// @dev Vote is successful if quorum is reached\n  function voteSucceeded(uint256 roundId, uint256 quorumValue) external view returns (bool) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._roundVotes[roundId].totalVotes >= quorumValue;\n  }\n\n  // ------- Core Vote Counting ------- //\n\n  /**\n   * @notice Counts votes for a given round, applying quadratic funding principles.\n   * @dev Allows a voter to allocate weights to various apps for a specific voting round.\n   * Each voter can only vote once per round. Quadratic funding calculates the impact of each vote\n   * by computing the square root of each individual vote weight and aggregating them.\n   *\n   * @param roundId The identifier of the current voting round\n   * @param voter The address of the voter casting the votes\n   * @param apps An array of app identifiers that the voter is allocating votes to\n   * @param weights An array of vote weights corresponding to each app\n   * @param voterTotalVotingPower The total voting power available to the voter\n   * @param roundStart The block number when the round started (used for reward registration)\n   */\n  function countVote(\n    uint256 roundId,\n    address voter,\n    bytes32[] memory apps,\n    uint256[] memory weights,\n    uint256 voterTotalVotingPower,\n    uint256 roundStart\n  ) external {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage contracts = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n\n    // Voter must not have already voted in this round\n    if ($._roundVotes[roundId].hasVoted[voter]) {\n      revert IXAllocationVotingGovernor.GovernorAlreadyCastVote(voter);\n    }\n\n    // To hold the total weight of votes cast by the voter\n    uint256 totalWeight;\n    // To hold the total adjustment to the quadratic funding value for the given app\n    uint256 totalQFVotesAdjustment;\n\n    // Iterate through the apps and weights to calculate the total weight of votes cast by the voter\n    for (uint256 i; i < apps.length; i++) {\n      // Check current app against ALL previous apps for duplicates (O(n^2))\n      for (uint256 j; j < i; j++) {\n        if (apps[i] == apps[j]) {\n          revert DuplicateAppVote();\n        }\n      }\n\n      totalWeight += weights[i];\n\n      if (totalWeight > voterTotalVotingPower) {\n        revert IXAllocationVotingGovernor.GovernorInsufficientVotingPower();\n      }\n\n      // Check if the app is eligible for votes in the current round\n      if (!IXAllocationVotingGovernor(address(this)).isEligibleForVote(apps[i], roundId)) {\n        revert IXAllocationVotingGovernor.GovernorAppNotAvailableForVoting(apps[i]);\n      }\n\n      totalQFVotesAdjustment += _processAppVote($, roundId, apps[i], weights[i]);\n\n      // Track which apps the user voted for (for external queries)\n      $._roundVotes[roundId].userVotedForApp[voter][apps[i]] = true;\n    }\n\n    // Check if the total weight of votes cast by the voter is greater than the voting threshold\n    if (totalWeight < $.votingThreshold) {\n      revert IXAllocationVotingGovernor.GovernorVotingThresholdNotMet($.votingThreshold, totalWeight);\n    }\n\n    // Apply the total adjustment to storage\n    // Update the total quadratic funding value for the round\n    // ∑(∑sqrt(votes))^2 -> (sqrt(votesAppX1) + sqrt(votesAppX2) + ...)^2 + (sqrt(votesAppY1) + sqrt(votesAppY2) + ...)^2 + ...\n    $._roundVotes[roundId].totalVotesQF += totalQFVotesAdjustment;\n    // Update total votes\n    $._roundVotes[roundId].totalVotes += totalWeight;\n    // Mark the voter as having voted\n    $._roundVotes[roundId].hasVoted[voter] = true;\n    // Increment the total number of voters\n    $._roundVotes[roundId].totalVoters++;\n\n    // Save that user cast vote only the first time\n    if (!$._hasVotedOnce[voter]) {\n      $._hasVotedOnce[voter] = true;\n    }\n\n    // Apply freshness multiplier to reward weight (does NOT affect on-chain vote count)\n    uint256 freshnessMultiplier = FreshnessUtils.updateAndGetMultiplier(\n      voter,\n      roundId,\n      apps,\n      roundStart,\n      address(contracts._voterRewards)\n    );\n    uint256 rewardWeight = (totalWeight * freshnessMultiplier) / 10000;\n    uint256 rewardSqrt = Math.sqrt(rewardWeight);\n\n    // Register the vote for rewards calculation with freshness-adjusted weight\n    contracts._voterRewards.registerVote(roundStart, voter, rewardWeight, rewardSqrt);\n\n    // Emit the AllocationVoteCast event\n    emit AllocationVoteCast(voter, roundId, apps, weights);\n  }\n\n  /// @dev Process a single app vote: update QF and raw vote storage, return QF adjustment\n  function _processAppVote(\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $,\n    uint256 roundId,\n    bytes32 appId,\n    uint256 weight\n  ) private returns (uint256 qfAdjustment) {\n    // Get the current sum of the square roots of individual votes for the given project\n    // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ... + sqrt(votesN)\n    uint256 qfAppVotesPreVote = $._roundVotes[roundId].votesReceivedQF[appId];\n\n    // Calculate the new sum of the square roots of individual votes for the given project\n    // If the weight is greater than 1e18, calculate the square root, otherwise use weight / 1e9 (since sqrt(1e18) = 1e9)\n    uint256 newQFVotes = weight > 1e18 ? Math.sqrt(weight) : weight / 1e9;\n    // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ... + sqrt(votesN) + sqrt(votesN+1)\n    uint256 qfAppVotesPostVote = qfAppVotesPreVote + newQFVotes;\n\n    // Calculate the adjustment to the quadratic funding value for the given app\n    // (sqrt(votes1) + ... + sqrt(votesN+1))^2 - (sqrt(votes1) + ... + sqrt(votesN))^2\n    qfAdjustment = (qfAppVotesPostVote * qfAppVotesPostVote) - (qfAppVotesPreVote * qfAppVotesPreVote);\n\n    // Update the quadratic funding votes received for the given app - sum of the square roots of individual votes\n    $._roundVotes[roundId].votesReceivedQF[appId] = qfAppVotesPostVote;\n    // Update the votes received for the given app\n    $._roundVotes[roundId].votesReceived[appId] += weight;\n  }\n\n  // ------- Relayer Vote Processing Guard ------- //\n\n  /// @notice Check if a relayer-mediated vote has already been processed for a voter in a round\n  function isRelayerVoteProcessed(uint256 roundId, address voter) internal view returns (bool) {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    return $._relayerVoteProcessed[roundId][voter];\n  }\n\n  /// @notice Mark a relayer-mediated vote as processed for a voter in a round\n  function markRelayerVoteProcessed(uint256 roundId, address voter) external {\n    XAllocationVotingStorageTypes.RoundVotesCountingStorage storage $ = XAllocationVotingStorageTypes\n      ._getRoundVotesCountingStorage();\n    $._relayerVoteProcessed[roundId][voter] = true;\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\n\n/**\n * @title VotesQuorumFractionUtils\n * @notice Library for managing quorum as a fraction of total token supply in the XAllocationVoting system.\n * @dev Extracted from VotesQuorumFractionUpgradeable module. Uses ERC-7201 namespaced storage.\n *      Cross-reads VotesStorage for the token (to get pastTotalSupply for quorum calculation).\n */\nlibrary VotesQuorumFractionUtils {\n  using Checkpoints for Checkpoints.Trace208;\n\n  event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator);\n\n  /**\n   * @dev The quorum set is not a valid fraction.\n   */\n  error GovernorInvalidQuorumFraction(uint256 quorumNumerator, uint256 quorumDenominator);\n\n  /**\n   * @notice Initialize quorum as a fraction of the token's total supply.\n   * @dev The fraction is specified as `numerator / denominator`. The denominator is 100,\n   *      so quorum is specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply.\n   * @param quorumNumeratorValue The initial quorum numerator value\n   * @param currentClock The current clock value (passed by caller to avoid cross-reading VotesStorage)\n   */\n  function initialize(uint256 quorumNumeratorValue, uint48 currentClock) external {\n    XAllocationVotingStorageTypes.VotesQuorumFractionStorage\n      storage $ = XAllocationVotingStorageTypes._getVotesQuorumFractionStorage();\n\n    uint256 denominator = quorumDenominator();\n    if (quorumNumeratorValue > denominator) {\n      revert GovernorInvalidQuorumFraction(quorumNumeratorValue, denominator);\n    }\n\n    $._quorumNumeratorHistory.push(currentClock, SafeCast.toUint208(quorumNumeratorValue));\n\n    emit QuorumNumeratorUpdated(0, quorumNumeratorValue);\n  }\n\n  /**\n   * @notice Returns the current quorum numerator. See {quorumDenominator}.\n   * @return The latest quorum numerator value\n   */\n  function quorumNumerator() external view returns (uint256) {\n    XAllocationVotingStorageTypes.VotesQuorumFractionStorage\n      storage $ = XAllocationVotingStorageTypes._getVotesQuorumFractionStorage();\n    return $._quorumNumeratorHistory.latest();\n  }\n\n  /**\n   * @notice Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\n   * @dev Uses an optimistic lookup on the latest checkpoint, falling back to binary search.\n   * @param timepoint The timepoint to query\n   * @return The quorum numerator at the given timepoint\n   */\n  function quorumNumerator(uint256 timepoint) external view returns (uint256) {\n    XAllocationVotingStorageTypes.VotesQuorumFractionStorage\n      storage $ = XAllocationVotingStorageTypes._getVotesQuorumFractionStorage();\n\n    uint256 length = $._quorumNumeratorHistory._checkpoints.length;\n\n    // Optimistic search, check the latest checkpoint\n    Checkpoints.Checkpoint208 storage latest = $._quorumNumeratorHistory._checkpoints[length - 1];\n    uint48 latestKey = latest._key;\n    uint208 latestValue = latest._value;\n    if (latestKey <= timepoint) {\n      return latestValue;\n    }\n\n    // Otherwise, do the binary search\n    return $._quorumNumeratorHistory.upperLookupRecent(SafeCast.toUint48(timepoint));\n  }\n\n  /**\n   * @notice Returns the quorum denominator. Defaults to 100.\n   * @return The quorum denominator\n   */\n  function quorumDenominator() public pure returns (uint256) {\n    return 100;\n  }\n\n  /**\n   * @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n   * @dev Cross-reads VotesStorage to get the token for getPastTotalSupply.\n   * @param timepoint The timepoint to query\n   * @return The quorum (minimum votes required) at the given timepoint\n   */\n  function quorum(uint256 timepoint) external view returns (uint256) {\n    XAllocationVotingStorageTypes.VotesStorage storage votesStorage = XAllocationVotingStorageTypes._getVotesStorage();\n    XAllocationVotingStorageTypes.VotesQuorumFractionStorage\n      storage $ = XAllocationVotingStorageTypes._getVotesQuorumFractionStorage();\n\n    // Get quorum numerator at timepoint using the optimistic + binary search pattern\n    uint256 numerator;\n    {\n      uint256 length = $._quorumNumeratorHistory._checkpoints.length;\n      Checkpoints.Checkpoint208 storage latest = $._quorumNumeratorHistory._checkpoints[length - 1];\n      uint48 latestKey = latest._key;\n      uint208 latestValue = latest._value;\n      if (latestKey <= timepoint) {\n        numerator = latestValue;\n      } else {\n        numerator = $._quorumNumeratorHistory.upperLookupRecent(SafeCast.toUint48(timepoint));\n      }\n    }\n\n    return (votesStorage._token.getPastTotalSupply(timepoint) * numerator) / quorumDenominator();\n  }\n\n  /**\n   * @notice Changes the quorum numerator.\n   * @dev Validates the new numerator and pushes it to the checkpoint history.\n   *      Receives clock as param to avoid needing VotesStorage.\n   *\n   * Emits a {QuorumNumeratorUpdated} event.\n   *\n   * Requirements:\n   * - New numerator must be smaller or equal to the denominator.\n   *\n   * @param newQuorumNumerator The new quorum numerator value\n   * @param currentClock The current clock value (passed by caller)\n   */\n  function updateQuorumNumerator(uint256 newQuorumNumerator, uint48 currentClock) external {\n    uint256 denominator = quorumDenominator();\n    if (newQuorumNumerator > denominator) {\n      revert GovernorInvalidQuorumFraction(newQuorumNumerator, denominator);\n    }\n\n    XAllocationVotingStorageTypes.VotesQuorumFractionStorage\n      storage $ = XAllocationVotingStorageTypes._getVotesQuorumFractionStorage();\n\n    uint256 oldQuorumNumerator = $._quorumNumeratorHistory.latest();\n\n    $._quorumNumeratorHistory.push(currentClock, SafeCast.toUint208(newQuorumNumerator));\n\n    emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator);\n  }\n\n  /**\n   * @notice Returns the current quorum percentage (alias for latest quorumNumerator).\n   * @return The current quorum percentage\n   */\n  function quorumPercentage() external view returns (uint256) {\n    XAllocationVotingStorageTypes.VotesQuorumFractionStorage\n      storage $ = XAllocationVotingStorageTypes._getVotesQuorumFractionStorage();\n    return $._quorumNumeratorHistory.latest();\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { IVotes } from \"@openzeppelin/contracts/governance/utils/IVotes.sol\";\nimport { IERC5805 } from \"@openzeppelin/contracts/interfaces/IERC5805.sol\";\nimport { Time } from \"@openzeppelin/contracts/utils/types/Time.sol\";\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\nimport { INavigatorRegistry } from \"../../interfaces/INavigatorRegistry.sol\";\nimport { IB3TRGovernor } from \"../../interfaces/IB3TRGovernor.sol\";\n\n/**\n * @title VotesUtils\n * @notice Library for managing the voting token and extracting voting weight in the XAllocationVoting system.\n * @dev Extracted from VotesUpgradeable module. Uses ERC-7201 namespaced storage.\n */\nlibrary VotesUtils {\n  /**\n   * @notice Initializes the voting token\n   * @param tokenAddress The ERC20Votes / ERC721Votes token used for voting power\n   */\n  function initialize(IVotes tokenAddress) external {\n    XAllocationVotingStorageTypes.VotesStorage storage $ = XAllocationVotingStorageTypes._getVotesStorage();\n    $._token = IERC5805(address(tokenAddress));\n  }\n\n  /**\n   */\n\n  /**\n   * @notice Clock as specified in EIP-6372, matched to the token's clock.\n   * @dev Falls back to block number if the token does not implement EIP-6372.\n   * @return The current timepoint\n   */\n  function clock() external view returns (uint48) {\n    XAllocationVotingStorageTypes.VotesStorage storage $ = XAllocationVotingStorageTypes._getVotesStorage();\n    try $._token.clock() returns (uint48 timepoint) {\n      return timepoint;\n    } catch {\n      return Time.blockNumber();\n    }\n  }\n\n  /**\n   * @notice Machine-readable description of the clock as specified in EIP-6372.\n   * @dev Falls back to default block number mode if the token does not implement EIP-6372.\n   * @return The clock mode string\n   */\n  // solhint-disable-next-line func-name-mixedcase\n  function CLOCK_MODE() external view returns (string memory) {\n    XAllocationVotingStorageTypes.VotesStorage storage $ = XAllocationVotingStorageTypes._getVotesStorage();\n    try $._token.CLOCK_MODE() returns (string memory clockmode) {\n      return clockmode;\n    } catch {\n      return \"mode=blocknumber&from=default\";\n    }\n  }\n\n  /**\n   * @notice Returns the effective voting power of an account at a given timepoint.\n   * @dev For non-delegated users: VOT3 balance + deposit voting power (proposal support) + staked B3TR\n   *      (converted to VOT3 under the hood, counts as voting power for navigators; returns 0 for non-navigators).\n   *      For navigator-delegated citizens: delegated amount only (deposits excluded\n   *      because the navigator votes with only the delegated amount).\n   * @param account The address to get votes for\n   * @param timepoint The timepoint (block number / timestamp) to query\n   * @return The effective voting power at the given timepoint\n   */\n  function getVotes(address account, uint256 timepoint) external view returns (uint256) {\n    XAllocationVotingStorageTypes.VotesStorage storage vs = XAllocationVotingStorageTypes._getVotesStorage();\n    XAllocationVotingStorageTypes.ExternalContractsStorage storage ext = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage();\n\n    uint256 totalVotes = vs._token.getPastVotes(account, timepoint);\n\n    INavigatorRegistry navRegistry = ext._navigatorRegistry;\n    if (address(navRegistry) != address(0) && navRegistry.getNavigatorAtTimepoint(account, timepoint) != address(0)) {\n      return navRegistry.getDelegatedAmountAtTimepoint(account, timepoint);\n    }\n\n    // Non-delegated: include deposit voting power (VOT3 locked in proposal support)\n    IB3TRGovernor b3trGovernor = ext._b3trGovernor;\n    if (address(b3trGovernor) != address(0)) {\n      totalVotes += b3trGovernor.getDepositVotingPower(account, timepoint);\n    }\n\n    // Include staked amount for navigators (B3TR converted to VOT3 under the hood)\n    // Returns 0 for non-navigators (no checkpoints)\n    if (address(navRegistry) != address(0)) {\n      totalVotes += navRegistry.getStakedAmountAtTimepoint(account, timepoint);\n    }\n\n    return totalVotes;\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { XAllocationVotingStorageTypes } from \"./XAllocationVotingStorageTypes.sol\";\n\n/**\n * @title VotingSettingsUtils\n * @notice Library for managing voting period settings in the XAllocationVoting system.\n * @dev Extracted from VotingSettingsUpgradeable module. Uses ERC-7201 namespaced storage.\n */\nlibrary VotingSettingsUtils {\n  /// @notice Emitted when the voting period is updated\n  event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod);\n\n  /// @notice Emitted when the citizen skip window is updated\n  event CitizenSkipWindowBlocksSet(uint256 oldValue, uint256 newValue);\n\n  /// @notice Thrown when the voting period is invalid (zero or >= emissions cycle duration)\n  error GovernorInvalidVotingPeriod(uint256 votingPeriod);\n\n  /**\n   * @notice Returns the current voting period\n   * @return The voting period in blocks\n   */\n  function votingPeriod() external view returns (uint256) {\n    XAllocationVotingStorageTypes.VotingSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getVotingSettingsStorage();\n    return $._votingPeriod;\n  }\n\n  /**\n   * @notice Sets the voting period\n   * @param newVotingPeriod The new voting period in blocks\n   * @param emissionsCycleDuration The current emissions cycle duration (caller must provide)\n   * @dev Validates that newVotingPeriod > 0 and < emissionsCycleDuration.\n   *\n   * Emits a {VotingPeriodSet} event.\n   */\n  function setVotingPeriod(uint32 newVotingPeriod, uint256 emissionsCycleDuration) external {\n    if (newVotingPeriod == 0) {\n      revert GovernorInvalidVotingPeriod(0);\n    }\n\n    // Ensure the voting period is less than the emissions cycle duration.\n    if (newVotingPeriod >= emissionsCycleDuration) {\n      revert GovernorInvalidVotingPeriod(newVotingPeriod);\n    }\n\n    XAllocationVotingStorageTypes.VotingSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getVotingSettingsStorage();\n\n    emit VotingPeriodSet($._votingPeriod, newVotingPeriod);\n    $._votingPeriod = newVotingPeriod;\n  }\n\n  /**\n   * @notice Returns the citizen skip window in blocks\n   * @return The skip window in blocks\n   */\n  function citizenSkipWindowBlocks() external view returns (uint256) {\n    return XAllocationVotingStorageTypes._getVotingSettingsStorage()._citizenSkipWindowBlocks;\n  }\n\n  /**\n   * @notice Sets the citizen skip window\n   * @param newValue The new skip window in blocks\n   */\n  function setCitizenSkipWindowBlocks(uint256 newValue) external {\n    require(newValue > 0, \"VotingSettingsUtils: skip window must be > 0\");\n    XAllocationVotingStorageTypes.VotingSettingsStorage storage $ = XAllocationVotingStorageTypes\n      ._getVotingSettingsStorage();\n    emit CitizenSkipWindowBlocksSet($._citizenSkipWindowBlocks, newValue);\n    $._citizenSkipWindowBlocks = newValue;\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\n\n/**\n * @title XAllocationVotingDataTypes\n * @notice Library defining data types used in the XAllocationVoting contract\n * @dev Contains storage structures and data types for allocation voting functionality\n */\nlibrary XAllocationVotingDataTypes {\n  /**\n   * @dev Storage structure for AutoVoting\n   * @param _autoVotingEnabled Mapping of user addresses to their auto-voting status checkpoints\n   * @param _userVotingPreferences Mapping of user addresses to their preferred app IDs\n   * @param _totalAutoVotingUsers Checkpoint tracking total number of auto-voting users\n   */\n  struct AutoVotingStorage {\n    mapping(address => Checkpoints.Trace208) _autoVotingEnabled;\n    mapping(address => bytes32[]) _userVotingPreferences;\n    Checkpoints.Trace208 _totalAutoVotingUsers;\n  }\n}\n"},"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.20;\n\nimport { Checkpoints } from \"@openzeppelin/contracts/utils/structs/Checkpoints.sol\";\nimport { IERC5805 } from \"@openzeppelin/contracts/interfaces/IERC5805.sol\";\nimport { IEmissions } from \"../../interfaces/IEmissions.sol\";\nimport { IX2EarnApps } from \"../../interfaces/IX2EarnApps.sol\";\nimport { IVoterRewards } from \"../../interfaces/IVoterRewards.sol\";\nimport { IVeBetterPassport } from \"../../interfaces/IVeBetterPassport.sol\";\nimport { IB3TRGovernor } from \"../../interfaces/IB3TRGovernor.sol\";\nimport { IRelayerRewardsPool } from \"../../interfaces/IRelayerRewardsPool.sol\";\nimport { INavigatorRegistry } from \"../../interfaces/INavigatorRegistry.sol\";\n\n/// @title XAllocationVotingStorageTypes\n/// @notice Defines all storage types and getters for the XAllocationVoting system.\n/// @dev Uses ERC-7201 namespaced storage pattern. Slot constants MUST NOT change across upgrades.\nlibrary XAllocationVotingStorageTypes {\n  // ======================== Storage Location Constants ======================== //\n\n  bytes32 private constant GovernorStorageLocation =\n    0x7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be00;\n  bytes32 private constant VotingSettingsStorageLocation =\n    0xd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a99900;\n  bytes32 private constant VotesStorageLocation =\n    0x6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab500;\n  bytes32 private constant VotesQuorumFractionStorageLocation =\n    0x49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c32400;\n  bytes32 private constant RoundVotesCountingStorageLocation =\n    0xa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d500;\n  bytes32 private constant EarningsSettingsStorageLocation =\n    0xc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c3500;\n  bytes32 private constant RoundFinalizationStorageLocation =\n    0x7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e502500;\n  bytes32 private constant RoundsStorageStorageLocation =\n    0x0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f1900;\n  bytes32 private constant ExternalContractsStorageLocation =\n    0x1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00;\n  bytes32 private constant AutoVotingStorageLocation =\n    0x38ba4d920474025bc119851d51630794ab25dc91b5f613afc3c0e85f09fdc100;\n\n  // ======================== Storage Structs ======================== //\n\n  struct GovernorStorage {\n    string _name;\n  }\n\n  struct VotingSettingsStorage {\n    uint32 _votingPeriod;\n    // V9: configurable skip window for navigator vote skipping (blocks before round deadline)\n    uint256 _citizenSkipWindowBlocks;\n  }\n\n  struct VotesStorage {\n    IERC5805 _token;\n  }\n\n  struct VotesQuorumFractionStorage {\n    Checkpoints.Trace208 _quorumNumeratorHistory;\n  }\n\n  struct RoundVote {\n    // Total votes received for each app\n    mapping(bytes32 appId => uint256) votesReceived;\n    // Total votes received for each app in quadratic funding\n    mapping(bytes32 appId => uint256) votesReceivedQF; // ∑(sqrt(votes)) -> sqrt(votes1) + sqrt(votes2) + ...\n    // Total votes cast in the round\n    uint256 totalVotes;\n    // Total votes cast in the round in quadratic funding\n    uint256 totalVotesQF; // ∑(∑sqrt(votes))^2 -> (sqrt(votesAppX1) + sqrt(votesAppX2) + ...)^2 + (sqrt(votesAppY1) + sqrt(votesAppY2) + ...)^2 + ...\n    // Mapping to store if a user has voted\n    mapping(address user => bool) hasVoted;\n    // Total number of voters in the round\n    uint256 totalVoters;\n    // Mapping to track which apps a user voted for in this round\n    mapping(address user => mapping(bytes32 appId => bool)) userVotedForApp;\n  }\n\n  struct RoundVotesCountingStorage {\n    mapping(address user => bool) _hasVotedOnce;\n    mapping(uint256 roundId => RoundVote) _roundVotes;\n    uint256 votingThreshold;\n    // --------------------------- V9 Additions (Freshness Tracking) --------------------------- //\n    // XOR fingerprint of the apps voted for (order-independent)\n    mapping(address voter => bytes32) _lastVoteFingerprint;\n    // Round number when the fingerprint last changed\n    mapping(address voter => uint256) _lastFingerprintChangedRound;\n    // --------------------------- V10 Addition ------------------------------------------------- //\n    // Prevents double-processing of relayer-mediated votes (auto-vote and navigator)\n    mapping(uint256 roundId => mapping(address voter => bool)) _relayerVoteProcessed;\n  }\n\n  struct EarningsSettingsStorage {\n    uint256 baseAllocationPercentage;\n    uint256 appSharesCap;\n    mapping(uint256 roundId => uint256) _roundBaseAllocationPercentage;\n    mapping(uint256 roundId => uint256) _roundAppSharesCap;\n  }\n\n  struct RoundFinalizationStorage {\n    mapping(uint256 roundId => uint256) _latestSucceededRoundId;\n    mapping(uint256 roundId => bool) _roundFinalized;\n  }\n\n  struct RoundCore {\n    address proposer;\n    uint48 voteStart;\n    uint32 voteDuration;\n  }\n\n  struct RoundsStorageStorage {\n    uint256 _roundCount;\n    mapping(uint256 roundId => RoundCore) _rounds;\n    mapping(uint256 roundId => bytes32[]) _appsEligibleForVoting;\n  }\n\n  struct ExternalContractsStorage {\n    IX2EarnApps _x2EarnApps;\n    IEmissions _emissions;\n    IVoterRewards _voterRewards;\n    IVeBetterPassport _veBetterPassport;\n    IB3TRGovernor _b3trGovernor;\n    IRelayerRewardsPool _relayerRewardsPool;\n    // V10: NavigatorRegistry for navigator delegation voting\n    INavigatorRegistry _navigatorRegistry;\n  }\n\n  struct AutoVotingStorage {\n    mapping(address => Checkpoints.Trace208) _autoVotingEnabled;\n    mapping(address => bytes32[]) _userVotingPreferences;\n    Checkpoints.Trace208 _totalAutoVotingUsers;\n  }\n\n  // ======================== Storage Getters ======================== //\n\n  function _getGovernorStorage() internal pure returns (GovernorStorage storage $) {\n    assembly {\n      $.slot := GovernorStorageLocation\n    }\n  }\n\n  function _getVotingSettingsStorage() internal pure returns (VotingSettingsStorage storage $) {\n    assembly {\n      $.slot := VotingSettingsStorageLocation\n    }\n  }\n\n  function _getVotesStorage() internal pure returns (VotesStorage storage $) {\n    assembly {\n      $.slot := VotesStorageLocation\n    }\n  }\n\n  function _getVotesQuorumFractionStorage() internal pure returns (VotesQuorumFractionStorage storage $) {\n    assembly {\n      $.slot := VotesQuorumFractionStorageLocation\n    }\n  }\n\n  function _getRoundVotesCountingStorage() internal pure returns (RoundVotesCountingStorage storage $) {\n    assembly {\n      $.slot := RoundVotesCountingStorageLocation\n    }\n  }\n\n  function _getEarningsSettingsStorage() internal pure returns (EarningsSettingsStorage storage $) {\n    assembly {\n      $.slot := EarningsSettingsStorageLocation\n    }\n  }\n\n  function _getRoundFinalizationStorage() internal pure returns (RoundFinalizationStorage storage $) {\n    assembly {\n      $.slot := RoundFinalizationStorageLocation\n    }\n  }\n\n  function _getRoundsStorageStorage() internal pure returns (RoundsStorageStorage storage $) {\n    assembly {\n      $.slot := RoundsStorageStorageLocation\n    }\n  }\n\n  function _getExternalContractsStorage() internal pure returns (ExternalContractsStorage storage $) {\n    assembly {\n      $.slot := ExternalContractsStorageLocation\n    }\n  }\n\n  function _getAutoVotingStorage() internal pure returns (AutoVotingStorage storage $) {\n    assembly {\n      $.slot := AutoVotingStorageLocation\n    }\n  }\n}\n"},"contracts/x-allocation-voting-governance/XAllocationVoting.sol":{"content":"// SPDX-License-Identifier: MIT\n\n//                                      #######\n//                                 ################\n//                               ####################\n//                             ###########   #########\n//                            #########      #########\n//          #######          #########       #########\n//          #########       #########      ##########\n//           ##########     ########     ####################\n//            ##########   #########  #########################\n//              ################### ############################\n//               #################  ##########          ########\n//                 ##############      ###              ########\n//                  ############                       #########\n//                    ##########                     ##########\n//                     ########                    ###########\n//                       ###                    ############\n//                                          ##############\n//                                    #################\n//                                   ##############\n//                                   #########\n\npragma solidity 0.8.20;\n\nimport { IERC165 } from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport { ERC165Upgradeable } from \"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\";\nimport { Initializable } from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport { ContextUpgradeable } from \"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport { IVotes } from \"@openzeppelin/contracts/governance/utils/IVotes.sol\";\nimport { SafeCast } from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\n\nimport { IXAllocationVotingGovernor, IERC6372 } from \"../interfaces/IXAllocationVotingGovernor.sol\";\nimport { IX2EarnApps } from \"../interfaces/IX2EarnApps.sol\";\nimport { IEmissions } from \"../interfaces/IEmissions.sol\";\nimport { IVoterRewards } from \"../interfaces/IVoterRewards.sol\";\nimport { IVeBetterPassport } from \"../interfaces/IVeBetterPassport.sol\";\nimport { IB3TRGovernor } from \"../interfaces/IB3TRGovernor.sol\";\nimport { IRelayerRewardsPool, RelayerAction } from \"../interfaces/IRelayerRewardsPool.sol\";\nimport { INavigatorRegistry } from \"../interfaces/INavigatorRegistry.sol\";\nimport { X2EarnAppsDataTypes } from \"../libraries/X2EarnAppsDataTypes.sol\";\n\n// Libraries\nimport { XAllocationVotingStorageTypes } from \"./libraries/XAllocationVotingStorageTypes.sol\";\nimport { ExternalContractsUtils } from \"./libraries/ExternalContractsUtils.sol\";\nimport { VotingSettingsUtils } from \"./libraries/VotingSettingsUtils.sol\";\nimport { VotesUtils } from \"./libraries/VotesUtils.sol\";\nimport { VotesQuorumFractionUtils } from \"./libraries/VotesQuorumFractionUtils.sol\";\nimport { RoundEarningsSettingsUtils } from \"./libraries/RoundEarningsSettingsUtils.sol\";\nimport { RoundFinalizationUtils } from \"./libraries/RoundFinalizationUtils.sol\";\nimport { RoundsStorageUtils } from \"./libraries/RoundsStorageUtils.sol\";\nimport { RoundVotesCountingUtils } from \"./libraries/RoundVotesCountingUtils.sol\";\nimport { AutoVotingLogic } from \"./libraries/AutoVotingLogic.sol\";\n\n/**\n * @title XAllocationVoting\n * @notice This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds.\n * The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \"Quadratic Funding\" formula.\n * @dev Rounds are started by the Emissions contract.\n * @dev Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).\n * @dev Interacts with the VotingRewards contract to save the user from casting a vote.\n * @dev The contract is using AccessControl to handle roles for admin, governance, and round-starting operations.\n *\n * ----- Version 2 -----\n * - Integrated VeBetterPassport\n * - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold\n *\n * ----- Version 3 -----\n * - Updated the X2EarnApps interface to support node endorsement feature\n *\n * ----- Version 4 -----\n * - Updated the X2EarnApps interface to support node cooldown functionality\n *\n * ----- Version 6 -----\n *  - Align IVoterRewards and IEmissions interfaces with the new contracts\n *\n * ----- Version 7 -----\n * - Proposal Execution: Count proposal deposits to x-allocation voting power\n *\n * ----- Version 8 -----\n *  - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences\n *\n * ----- Version 9 -----\n *  - Refactored from module inheritance to library architecture for contract size optimization\n *  - Removed the following public functions to reduce contract size (accessible via libraries or storage reads):\n *    - name(), initialize(), COUNTING_MODE()\n *    - x2EarnApps(), emissions(), voterRewards(), veBetterPassport(), b3trGovernor(), relayerRewardsPool(), token()\n *    - roundProposer(), getAndValidateVotingPower()\n *  - Added freshness multiplier (XOR fingerprint) in RoundVotesCountingUtils via FreshnessUtils library\n *  - New storage in RoundVotesCountingStorage: _lastVoteFingerprint, _lastFingerprintChangedRound, userVotedForApp\n *  - New storage in ExternalContractsStorage: _navigatorRegistry (INavigatorRegistry)\n *  - New function: castNavigatorVote(citizen, roundId) — votes on behalf of navigator-delegated citizens\n *    - Voting power = delegated amount at round snapshot (checkpointed in NavigatorRegistry)\n *    - Uses navigator's allocation percentages (basis points, sum to 10000) converted to absolute weights\n *    - Registers RelayerAction.VOTE for the caller\n *  - New function: disableAutoVotingFor(user) — privileged, callable only by NavigatorRegistry\n *  - New events: NavigatorVoteCast, FreshnessMultiplierApplied\n *  - New errors: NotDelegatedToNavigator, NavigatorPreferencesNotSet\n *  - New initializer: initializeV9(INavigatorRegistry, uint256 citizenSkipWindowBlocks) — reinitializer(8)\n *  - setNavigatorRegistry() setter via ExternalContractsUtils\n *  - citizenSkipWindowBlocks moved from constant to storage (VotingSettingsStorage), configurable per env\n *  - setCitizenSkipWindowBlocks(uint256) governance-gated setter\n *  - VotesUtils.getVotes() returns delegated amount when citizen has active navigator at snapshot\n *  - Deprecated: getTotalVotingPower() is replaced by getVotes()\n *\n * ----- Version 10 -----\n *  - Added _relayerVoteProcessed guard to prevent double-processing of relayer-mediated votes\n *  - Both castVoteOnBehalfOf and castNavigatorVote now revert with VoteAlreadyProcessed on retry\n */\ncontract XAllocationVoting is\n  Initializable,\n  ContextUpgradeable,\n  ERC165Upgradeable,\n  IXAllocationVotingGovernor,\n  AccessControlUpgradeable,\n  UUPSUpgradeable\n{\n  /// @notice Role identifier for the address that can start a new round\n  bytes32 public constant ROUND_STARTER_ROLE = keccak256(\"ROUND_STARTER_ROLE\");\n  /// @notice Role identifier for the address that can upgrade the contract\n  bytes32 public constant UPGRADER_ROLE = keccak256(\"UPGRADER_ROLE\");\n  /// @notice Role identifier for governance operations\n  bytes32 public constant GOVERNANCE_ROLE = keccak256(\"GOVERNANCE_ROLE\");\n  /// @notice The role that can set the addresses of the contracts used by the VoterRewards contract.\n  bytes32 public constant CONTRACTS_ADDRESS_MANAGER_ROLE = keccak256(\"CONTRACTS_ADDRESS_MANAGER_ROLE\");\n  /// @dev Bitmask with every valid `RoundState` bit set: bit `i` is 1 for enum value `i` (same layout as\n  ///      `_encodeStateBitmap`). `2 ** (max + 1) - 1` sets bits `0` through `type(RoundState).max` inclusive.\n  bytes32 private constant ALL_ROUND_STATES_BITMAP = bytes32((2 ** (uint8(type(RoundState).max) + 1)) - 1);\n  /// @custom:oz-upgrades-unsafe-allow constructor\n  constructor() {\n    _disableInitializers();\n  }\n\n  /// @notice Initialize V9: set NavigatorRegistry address and citizen skip window\n  function initializeV9(\n    INavigatorRegistry _navigatorRegistry,\n    uint256 _citizenSkipWindowBlocks\n  ) external onlyRole(UPGRADER_ROLE) reinitializer(8) {\n    require(address(_navigatorRegistry) != address(0), \"XAllocationVoting: invalid navigator registry\");\n    ExternalContractsUtils.setNavigatorRegistry(_navigatorRegistry);\n    VotingSettingsUtils.setCitizenSkipWindowBlocks(_citizenSkipWindowBlocks);\n  }\n\n  // ======================== Authorizations ======================== //\n\n  function _authorizeUpgrade(address newImplementation) internal override onlyRole(UPGRADER_ROLE) {}\n\n  // ======================== Core Voting Logic ======================== //\n\n  /**\n   * @dev Starts a new round of voting to allocate funds to x-2-earn applications.\n   * Orchestrates: finalize previous round → create new round → snapshot earnings → setup auto-voting relayer actions\n   */\n  function startNewRound() public onlyRole(ROUND_STARTER_ROLE) returns (uint256) {\n    address proposer = _msgSender();\n\n    // check that there isn't an already ongoing round\n    // but only do it after we have at least 1 round otherwise it will fail with `GovernorNonexistentRound`\n    uint256 currentRound = RoundsStorageUtils.currentRoundId();\n    if (currentRound > 0) {\n      require(!isActive(currentRound), \"XAllocationVotingGovernor: there can be only one round per time\");\n    }\n\n    // Finalize previous round (if not first)\n    if (currentRound > 0 && !RoundFinalizationUtils.isFinalized(currentRound)) {\n      RoundFinalizationUtils.finalizeRound(currentRound, uint8(state(currentRound)), isActive(currentRound));\n    }\n\n    // Get eligible apps\n    bytes32[] memory eligibleApps = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._x2EarnApps\n      .allEligibleApps();\n\n    // Create new round\n    uint48 currentClock = VotesUtils.clock();\n    uint32 currentVotingPeriod = uint32(VotingSettingsUtils.votingPeriod());\n    uint256 newRoundId = RoundsStorageUtils.createRound(proposer, currentClock, currentVotingPeriod, eligibleApps);\n\n    // Snapshot earnings settings for the round\n    RoundEarningsSettingsUtils.snapshotRoundEarningsCap(newRoundId);\n\n    // Set expected allocation/governance actions for relayer rewards.\n    uint208 totalAutoVotingUsers = AutoVotingLogic.getTotalAutoVotingUsersAtTimepoint(currentClock);\n    INavigatorRegistry navRegistry = XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry;\n    uint208 totalDelegatedCitizens = address(navRegistry) == address(0)\n      ? 0\n      : navRegistry.getTotalDelegatedCitizensAtTimepoint(currentClock);\n    uint256 allocationUsers = uint256(totalAutoVotingUsers) + uint256(totalDelegatedCitizens);\n\n    uint256[] memory activeProposals;\n    IB3TRGovernor governor = XAllocationVotingStorageTypes._getExternalContractsStorage()._b3trGovernor;\n    if (address(governor) != address(0) && totalDelegatedCitizens > 0) {\n      activeProposals = governor.getActiveProposals();\n    }\n\n    if (allocationUsers > 0 || activeProposals.length > 0) {\n      IRelayerRewardsPool pool = XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool;\n      pool.setTotalActionsForRoundWithGovernance(\n        newRoundId,\n        allocationUsers,\n        uint256(totalDelegatedCitizens),\n        activeProposals\n      );\n    }\n\n    return newRoundId;\n  }\n\n  /**\n   * @dev Cast a vote for a set of x-2-earn applications.\n   * @notice Only addresses with a valid passport can vote.\n   * @notice Reverts if autovoting is enabled for the voter.\n   */\n  function castVote(uint256 roundId, bytes32[] memory appIds, uint256[] memory voteWeights) public virtual {\n    require(appIds.length == voteWeights.length, \"XAllocationVotingGovernor: apps and weights length mismatch\");\n    require(appIds.length > 0, \"XAllocationVotingGovernor: no apps to vote for\");\n\n    if (this.isUserAutoVotingEnabledAtTimepoint(_msgSender(), SafeCast.toUint48(currentRoundSnapshot()))) {\n      revert AutoVotingEnabled(_msgSender());\n    }\n\n    // Citizens delegated to an alive navigator at the round snapshot cannot vote manually\n    INavigatorRegistry navigatorRegistryContract = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._navigatorRegistry;\n    if (address(navigatorRegistryContract) != address(0)) {\n      if (navigatorRegistryContract.getNavigatorAtTimepoint(_msgSender(), roundSnapshot(roundId)) != address(0)) {\n        revert DelegatedToNavigator(_msgSender());\n      }\n    }\n\n    validatePersonhoodForCurrentRound(_msgSender());\n\n    _handleCastVote(_msgSender(), roundId, appIds, voteWeights, false);\n  }\n\n  /**\n   * @dev Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\n   * @notice Reverts if autovoting is not enabled for the voter.\n   */\n  function castVoteOnBehalfOf(address voter, uint256 roundId) public {\n    if (!this.isUserAutoVotingEnabledAtTimepoint(voter, SafeCast.toUint48(roundSnapshot(roundId)))) {\n      revert AutoVotingNotEnabled(voter);\n    }\n\n    if (RoundVotesCountingUtils.isRelayerVoteProcessed(roundId, voter)) {\n      revert VoteAlreadyProcessed(voter, roundId);\n    }\n\n    _checkEarlyAccessEligibility(roundId, voter);\n\n    (bool isPerson, ) = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._veBetterPassport\n      .isPersonAtTimepoint(voter, SafeCast.toUint48(currentRoundSnapshot()));\n\n    bytes32[] memory appIds = AutoVotingLogic.getUserVotingPreferences(voter);\n\n    (bytes32[] memory finalAppIds, uint256[] memory voteWeightsArr, uint256 votingPower) = AutoVotingLogic\n      .prepareAutoVoteArrays(address(this), voter, roundId, appIds);\n\n    // We disable auto-voting if,\n    // - voter is not a person\n    // - there are no eligible apps\n    // - voter has insufficient voting power\n    if (!isPerson || finalAppIds.length == 0) {\n      // Only toggle and reduce expected actions if autovoting is enabled\n      if (AutoVotingLogic.isAutoVotingEnabled(voter)) {\n        AutoVotingLogic.toggleAutoVoting(address(this), voter, VotesUtils.clock());\n        XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool.reduceExpectedActionsForRound(\n          roundId,\n          1\n        );\n      }\n      RoundVotesCountingUtils.markRelayerVoteProcessed(roundId, voter);\n      emit AutoVoteSkipped(voter, roundId, isPerson, finalAppIds.length, votingPower);\n      return;\n    }\n\n    RoundVotesCountingUtils.markRelayerVoteProcessed(roundId, voter);\n    _handleCastVote(voter, roundId, finalAppIds, voteWeightsArr, true);\n  }\n\n  /**\n   * @dev Cast a vote on behalf of a citizen delegated to a navigator, or auto-skip if the\n   *      navigator is dead / has not set preferences (after the skip window).\n   *\n   * Decision flow:\n   *   1. Navigator dead at snapshot → revert (citizen not delegated)\n   *   2. Navigator dead NOW → skip immediately, reduce allocation vote expectation\n   *   3. Navigator alive + no preferences + skip window NOT reached → revert (relayer retries later)\n   *   4. Navigator alive + no preferences + skip window reached → skip\n   *   5. Navigator alive + preferences set + citizen not a person → skip\n   *   6. Navigator alive + preferences set + citizen is a person → vote normally\n   */\n  function castNavigatorVote(address citizen, uint256 roundId) public {\n    _validateStateBitmap(roundId, _encodeStateBitmap(RoundState.Active));\n\n    INavigatorRegistry navigatorRegistryContract = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._navigatorRegistry;\n\n    // getNavigatorAtTimepoint returns address(0) if not delegated or navigator dead at snapshot\n    uint256 snapshot = roundSnapshot(roundId);\n    address navigator = navigatorRegistryContract.getNavigatorAtTimepoint(citizen, snapshot);\n    if (navigator == address(0)) revert NotDelegatedToNavigator(citizen);\n\n    if (RoundVotesCountingUtils.isRelayerVoteProcessed(roundId, citizen)) {\n      revert VoteAlreadyProcessed(citizen, roundId);\n    }\n\n    IRelayerRewardsPool pool = XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool;\n\n    // Dead navigator → skip immediately (navigator can't act, personhood irrelevant)\n    if (_isNavigatorDead(navigator)) {\n      RoundVotesCountingUtils.markRelayerVoteProcessed(roundId, citizen);\n      pool.reduceUserAllocationVote(roundId, citizen);\n      emit NavigatorVoteSkipped(citizen, navigator, roundId);\n      return;\n    }\n\n    // Navigator alive — check preferences\n    if (!navigatorRegistryContract.hasSetPreferences(navigator, roundId)) {\n      // No preferences → skip only after window (navigator failed to act, personhood irrelevant)\n      _validateSkipWindow(roundId);\n      RoundVotesCountingUtils.markRelayerVoteProcessed(roundId, citizen);\n      pool.reduceUserAllocationVote(roundId, citizen);\n      emit NavigatorVoteSkipped(citizen, navigator, roundId);\n      return;\n    }\n\n    // Preferences set — check personhood before casting the actual vote\n    (bool isPerson, ) = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._veBetterPassport\n      .isPersonAtTimepoint(citizen, SafeCast.toUint48(snapshot));\n    if (!isPerson) {\n      RoundVotesCountingUtils.markRelayerVoteProcessed(roundId, citizen);\n      pool.reduceUserAllocationVote(roundId, citizen);\n      emit NavigatorVoteSkipped(citizen, navigator, roundId);\n      return;\n    }\n\n    _checkEarlyAccessEligibility(roundId, citizen);\n\n    // Get navigator's preferences with allocation percentages (basis points, sum to 10000)\n    (bytes32[] memory appIds, uint256[] memory percentages) = navigatorRegistryContract.getAllocationPreferences(\n      navigator,\n      roundId\n    );\n\n    // Voting power = delegated amount at round snapshot\n    uint256 delegatedPower = navigatorRegistryContract.getDelegatedAmountAtTimepoint(citizen, snapshot);\n\n    // Convert percentages to absolute VOT3 amounts (countVote expects absolute weights)\n    uint256 basisPoints = navigatorRegistryContract.BASIS_POINTS();\n    uint256[] memory voteWeights = new uint256[](percentages.length);\n    uint256 allocated;\n    for (uint256 i; i < percentages.length; i++) {\n      voteWeights[i] = (delegatedPower * percentages[i]) / basisPoints;\n      allocated += voteWeights[i];\n    }\n    if (allocated < delegatedPower && voteWeights.length > 0) {\n      voteWeights[0] += delegatedPower - allocated;\n    }\n\n    RoundVotesCountingUtils.markRelayerVoteProcessed(roundId, citizen);\n    _handleCastVoteWithPower(citizen, roundId, appIds, voteWeights, delegatedPower, false);\n\n    pool.registerRelayerAction(_msgSender(), citizen, roundId, RelayerAction.VOTE);\n\n    emit NavigatorVoteCast(citizen, navigator, roundId, appIds, voteWeights);\n  }\n\n  /**\n   * @dev Internal function to handle common voting logic\n   * @param voter The address casting the vote\n   * @param roundId The round ID to vote in\n   * @param appIds Array of app IDs to vote for\n   * @param voteWeights Array of vote weights for each app\n   * @param isAutoVote Whether this is an auto vote (affects events and relayer rewards)\n   */\n  function _handleCastVote(\n    address voter,\n    uint256 roundId,\n    bytes32[] memory appIds,\n    uint256[] memory voteWeights,\n    bool isAutoVote\n  ) internal {\n    uint256 votingPower = getVotes(voter, roundSnapshot(roundId));\n    _handleCastVoteWithPower(voter, roundId, appIds, voteWeights, votingPower, isAutoVote);\n  }\n\n  function _handleCastVoteWithPower(\n    address voter,\n    uint256 roundId,\n    bytes32[] memory appIds,\n    uint256[] memory voteWeights,\n    uint256 votingPower,\n    bool isAutoVote\n  ) internal {\n    _validateStateBitmap(roundId, _encodeStateBitmap(RoundState.Active));\n\n    // Count the vote using the library\n    RoundVotesCountingUtils.countVote(roundId, voter, appIds, voteWeights, votingPower, roundSnapshot(roundId));\n\n    if (isAutoVote) {\n      XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool.registerRelayerAction(\n        _msgSender(),\n        voter,\n        roundId,\n        RelayerAction.VOTE\n      );\n      emit AllocationAutoVoteCast(voter, roundId, appIds, voteWeights);\n    }\n  }\n\n  /**\n   * @dev Function to store the last succeeded round once a round ends.\n   */\n  function finalizeRound(uint256 roundId) external {\n    RoundFinalizationUtils.finalizeRound(roundId, uint8(state(roundId)), isActive(roundId));\n  }\n\n  // ======================== Personhood & Validation ======================== //\n\n  /**\n   * @dev Validate that the voter is a person at the current round snapshot\n   * @param voter The voter address\n   */\n  function validatePersonhoodForCurrentRound(address voter) public view returns (bool) {\n    (bool isPerson, string memory explanation) = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._veBetterPassport\n      .isPersonAtTimepoint(voter, SafeCast.toUint48(currentRoundSnapshot()));\n    if (!isPerson) {\n      revert GovernorPersonhoodVerificationFailed(voter, explanation);\n    }\n    return isPerson;\n  }\n\n  /**\n   * @dev Check that the current state of a round matches the requirements described by the `allowedStates` bitmap.\n   * This bitmap should be built using `_encodeStateBitmap`.\n   *\n   * If requirements are not met, reverts with a {GovernorUnexpectedRoundState} error.\n   */\n  function _validateStateBitmap(uint256 roundId, bytes32 allowedStates) private view returns (RoundState) {\n    RoundState currentState = state(roundId);\n    if (_encodeStateBitmap(currentState) & allowedStates == bytes32(0)) {\n      revert GovernorUnexpectedRoundState(roundId, currentState, allowedStates);\n    }\n    return currentState;\n  }\n\n  // ======================== Auto-Voting ======================== //\n\n  /**\n   * @dev Toggle autovoting for the caller\n   */\n  function toggleAutoVoting(address user) external {\n    if (_msgSender() != user) {\n      revert InvalidCaller(_msgSender());\n    }\n\n    // Navigators and delegated citizens cannot enable auto-voting\n    INavigatorRegistry navRegistry = XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry;\n    if (address(navRegistry) != address(0)) {\n      if (navRegistry.isNavigator(user)) revert NavigatorCannotEnableAutoVoting(user);\n      if (navRegistry.isDelegated(user)) revert DelegatedToNavigator(user);\n    }\n\n    AutoVotingLogic.toggleAutoVoting(address(this), user, VotesUtils.clock());\n  }\n\n  /**\n   * @dev Disable autovoting for a user. Called by NavigatorRegistry when a citizen delegates.\n   * No-op if auto-voting is already disabled.\n   */\n  function disableAutoVotingFor(address user) external {\n    INavigatorRegistry navRegistry = XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry;\n    require(\n      address(navRegistry) != address(0) && _msgSender() == address(navRegistry),\n      \"XAllocationVoting: not navigator registry\"\n    );\n\n    if (AutoVotingLogic.isAutoVotingEnabled(user)) {\n      AutoVotingLogic.toggleAutoVoting(address(this), user, VotesUtils.clock());\n    }\n  }\n\n  /**\n   * @dev Set the voting preferences for the caller\n   */\n  function setUserVotingPreferences(bytes32[] memory appIds) external {\n    AutoVotingLogic.setUserVotingPreferences(\n      address(XAllocationVotingStorageTypes._getExternalContractsStorage()._x2EarnApps),\n      _msgSender(),\n      appIds\n    );\n  }\n\n  /**\n   * @dev Check if the caller is eligible to perform relayer actions during early access period\n   */\n  function _checkEarlyAccessEligibility(uint256 roundId, address voter) internal view {\n    XAllocationVotingStorageTypes._getExternalContractsStorage()._relayerRewardsPool.validateVoteDuringEarlyAccess(\n      roundId,\n      voter,\n      _msgSender()\n    );\n  }\n\n  /**\n   * @dev Validate that the skip window has been reached for a given round\n   * @param roundId The round ID to validate\n   */\n  function _validateSkipWindow(uint256 roundId) internal view {\n    uint256 deadline = RoundsStorageUtils.roundDeadline(roundId);\n    if (block.number + VotingSettingsUtils.citizenSkipWindowBlocks() < deadline) revert SkipWindowNotReached(roundId);\n  }\n\n  /**\n   * @dev Check if a navigator is dead\n   * @param navigator The navigator address\n   * @return True if the navigator is dead\n   */\n  function _isNavigatorDead(address navigator) internal view returns (bool) {\n    return XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry.isDeactivated(navigator);\n  }\n\n  // ======================== Setters (role-gated) ======================== //\n\n  /**\n   * @dev Set the address of the X2EarnApps contract\n   */\n  function setX2EarnAppsAddress(IX2EarnApps newX2EarnApps) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setX2EarnApps(newX2EarnApps);\n  }\n\n  /**\n   * @dev Set the address of the Emissions contract\n   */\n  function setEmissionsAddress(IEmissions newEmissions) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setEmissions(newEmissions);\n  }\n\n  /**\n   * @dev Set the address of the VoterRewards contract\n   */\n  function setVoterRewardsAddress(IVoterRewards newVoterRewards) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setVoterRewards(newVoterRewards);\n  }\n\n  /**\n   * @dev Set the VeBetterPassport contract\n   */\n  function setVeBetterPassport(\n    IVeBetterPassport newVeBetterPassport\n  ) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setVeBetterPassport(newVeBetterPassport);\n  }\n\n  /**\n   * @dev Set the B3TRGovernor contract\n   */\n  function setB3TRGovernor(IB3TRGovernor newB3TRGovernor) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setB3TRGovernor(newB3TRGovernor);\n  }\n\n  /**\n   * @dev Set the address of the RelayerRewardsPool contract\n   */\n  function setRelayerRewardsPoolAddress(\n    IRelayerRewardsPool newRelayerRewardsPool\n  ) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setRelayerRewardsPool(newRelayerRewardsPool);\n  }\n\n  /**\n   * @dev Set the address of the NavigatorRegistry contract\n   */\n  function setNavigatorRegistry(\n    INavigatorRegistry newNavigatorRegistry\n  ) external onlyRole(CONTRACTS_ADDRESS_MANAGER_ROLE) {\n    ExternalContractsUtils.setNavigatorRegistry(newNavigatorRegistry);\n  }\n\n  /**\n   * @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n   *\n   * Emits a {VotingThresholdSet} event.\n   */\n  function setVotingThreshold(uint256 newVotingThreshold) public onlyRole(GOVERNANCE_ROLE) {\n    RoundVotesCountingUtils.setVotingThreshold(newVotingThreshold);\n  }\n\n  /**\n   * @dev Set the max amount of shares an app can get in a round\n   */\n  function setAppSharesCap(uint256 appSharesCap_) external onlyRole(GOVERNANCE_ROLE) {\n    RoundEarningsSettingsUtils.setAppSharesCap(appSharesCap_);\n  }\n\n  /**\n   * @dev Set the base allocation percentage for funds distribution in a round\n   */\n  function setBaseAllocationPercentage(uint256 baseAllocationPercentage_) public onlyRole(GOVERNANCE_ROLE) {\n    RoundEarningsSettingsUtils.setBaseAllocationPercentage(baseAllocationPercentage_);\n  }\n\n  /**\n   * @dev Set the voting period for a round\n   */\n  function setVotingPeriod(uint32 newVotingPeriod) public onlyRole(GOVERNANCE_ROLE) {\n    VotingSettingsUtils.setVotingPeriod(\n      newVotingPeriod,\n      XAllocationVotingStorageTypes._getExternalContractsStorage()._emissions.cycleDuration()\n    );\n  }\n\n  /**\n   * @dev Set the citizen skip window (blocks before round deadline when relayers can skip navigator votes)\n   */\n  function setCitizenSkipWindowBlocks(uint256 newValue) public onlyRole(GOVERNANCE_ROLE) {\n    VotingSettingsUtils.setCitizenSkipWindowBlocks(newValue);\n  }\n\n  /**\n   * @dev Update the quorum a round needs to reach to be successful\n   */\n  function updateQuorumNumerator(uint256 newQuorumNumerator) public onlyRole(GOVERNANCE_ROLE) {\n    VotesQuorumFractionUtils.updateQuorumNumerator(newQuorumNumerator, VotesUtils.clock());\n  }\n\n  // ======================== Getters ======================== //\n\n  /**\n   * @dev Returns the version of the governor.\n   */\n  function version() public pure returns (string memory) {\n    return \"10\";\n  }\n\n  /**\n   * @dev Returns the citizen skip window in blocks\n   */\n  function citizenSkipWindowBlocks() public view returns (uint256) {\n    return VotingSettingsUtils.citizenSkipWindowBlocks();\n  }\n\n  /**\n   * @dev Checks if the specified round is in active state or not.\n   */\n  function isActive(uint256 roundId) public view returns (bool) {\n    return state(roundId) == RoundState.Active;\n  }\n\n  /**\n   * @dev Returns the current state of a round.\n   */\n  function state(uint256 roundId) public view returns (RoundState) {\n    uint256 snapshot = RoundsStorageUtils.roundSnapshot(roundId);\n\n    if (snapshot == 0) {\n      revert GovernorNonexistentRound(roundId);\n    }\n\n    uint256 currentTimepoint = VotesUtils.clock();\n    uint256 deadline = RoundsStorageUtils.roundDeadline(roundId);\n\n    if (deadline >= currentTimepoint) {\n      return RoundState.Active;\n    } else if (!RoundVotesCountingUtils.voteSucceeded(roundId, quorum(snapshot))) {\n      return RoundState.Failed;\n    } else {\n      return RoundState.Succeeded;\n    }\n  }\n\n  /**\n   * @dev Checks if the quorum has been reached for a given round.\n   */\n  function quorumReached(uint256 roundId) public view returns (bool) {\n    return RoundVotesCountingUtils.quorumReached(roundId, quorum(roundSnapshot(roundId)));\n  }\n\n  /**\n   * @dev Returns the available votes for a given account at a given timepoint.\n   */\n  function getVotes(address account, uint256 timepoint) public view returns (uint256) {\n    return VotesUtils.getVotes(account, timepoint);\n  }\n\n  /// @dev Deprecated: use getVotes instead, which now includes deposit voting power.\n  function getTotalVotingPower(address voter, uint256 roundStart) public view returns (uint256) {\n    return getVotes(voter, roundStart);\n  }\n\n  /**\n   * @dev Checks if the given appId can be voted for in the given round.\n   */\n  function isEligibleForVote(bytes32 appId, uint256 roundId) public view returns (bool) {\n    return\n      XAllocationVotingStorageTypes._getExternalContractsStorage()._x2EarnApps.isEligible(\n        appId,\n        roundSnapshot(roundId)\n      );\n  }\n\n  /**\n   * @dev Returns the deposit voting power for a given account at a given timepoint.\n   */\n  function getDepositVotingPower(address account, uint256 timepoint) public view returns (uint256) {\n    return\n      XAllocationVotingStorageTypes._getExternalContractsStorage()._b3trGovernor.getDepositVotingPower(\n        account,\n        timepoint\n      );\n  }\n\n  // ======================== Voting Settings ======================== //\n\n  /// @dev See {IXAllocationVotingGovernor-votingPeriod}.\n  function votingPeriod() public view returns (uint256) {\n    return VotingSettingsUtils.votingPeriod();\n  }\n\n  /// @dev Returns the quorum for a given timepoint, based on token total supply.\n  function quorum(uint256 timepoint) public view returns (uint256) {\n    return VotesQuorumFractionUtils.quorum(timepoint);\n  }\n\n  // ======================== Clock (EIP-6372) ======================== //\n\n  /// @dev Clock used for flagging checkpoints, as specified in EIP-6372. Matched to the token's clock.\n  function clock() public view returns (uint48) {\n    return VotesUtils.clock();\n  }\n\n  /// @dev Machine-readable description of the clock as specified in EIP-6372.\n  // solhint-disable-next-line func-name-mixedcase\n  function CLOCK_MODE() public view returns (string memory) {\n    return VotesUtils.CLOCK_MODE();\n  }\n\n  // ======================== Round Storage ======================== //\n\n  /// @dev Returns the latest round id.\n  function currentRoundId() public view returns (uint256) {\n    return RoundsStorageUtils.currentRoundId();\n  }\n\n  /// @dev Returns the block number at which the current round snapshot was taken.\n  function currentRoundSnapshot() public view returns (uint256) {\n    return RoundsStorageUtils.currentRoundSnapshot();\n  }\n\n  /// @dev Returns the block number at which the current round ends.\n  function currentRoundDeadline() public view returns (uint256) {\n    return RoundsStorageUtils.currentRoundDeadline();\n  }\n\n  /// @dev Returns the block number when the round starts (snapshot).\n  function roundSnapshot(uint256 roundId) public view returns (uint256) {\n    return RoundsStorageUtils.roundSnapshot(roundId);\n  }\n\n  /// @dev Returns the block number when the round ends.\n  function roundDeadline(uint256 roundId) public view returns (uint256) {\n    return RoundsStorageUtils.roundDeadline(roundId);\n  }\n\n  /// @dev Returns the ids of the apps eligible for voting in a round.\n  function getAppIdsOfRound(uint256 roundId) public view returns (bytes32[] memory) {\n    return RoundsStorageUtils.getAppIdsOfRound(roundId);\n  }\n\n  /// @dev Returns the data of a round.\n  function getRound(uint256 roundId) external view returns (XAllocationVotingStorageTypes.RoundCore memory) {\n    return RoundsStorageUtils.getRound(roundId);\n  }\n\n  /// @dev Returns all the apps eligible for voting in a round with details.\n  /// @notice Could be inefficient with a large number of apps; use {getAppIdsOfRound} + {IX2EarnApps-app} instead.\n  function getAppsOfRound(\n    uint256 roundId\n  ) external view returns (X2EarnAppsDataTypes.AppWithDetailsReturnType[] memory) {\n    return RoundsStorageUtils.getAppsOfRound(roundId);\n  }\n\n  // ======================== Earnings Settings ======================== //\n\n  /// @dev Returns the current base allocation percentage for funds distribution.\n  function baseAllocationPercentage() public view returns (uint256) {\n    return RoundEarningsSettingsUtils.baseAllocationPercentage();\n  }\n\n  /// @dev Returns the max percentage of votes an app can get in a round.\n  function appSharesCap() public view returns (uint256) {\n    return RoundEarningsSettingsUtils.appSharesCap();\n  }\n\n  /// @dev Returns the base allocation percentage for a given round (snapshotted at round start).\n  function getRoundBaseAllocationPercentage(uint256 roundId) public view returns (uint256) {\n    return RoundEarningsSettingsUtils.getRoundBaseAllocationPercentage(roundId);\n  }\n\n  /// @dev Returns the app shares cap for a given round (snapshotted at round start).\n  function getRoundAppSharesCap(uint256 roundId) public view returns (uint256) {\n    return RoundEarningsSettingsUtils.getRoundAppSharesCap(roundId);\n  }\n\n  // ======================== Vote Counting ======================== //\n\n  /// @dev Returns the total votes received by a specific app in a given round.\n  function getAppVotes(uint256 roundId, bytes32 app) public view returns (uint256) {\n    return RoundVotesCountingUtils.getAppVotes(roundId, app);\n  }\n\n  /// @dev Returns the quadratic funding votes received by a specific app in a given round.\n  function getAppVotesQF(uint256 roundId, bytes32 app) public view returns (uint256) {\n    return RoundVotesCountingUtils.getAppVotesQF(roundId, app);\n  }\n\n  /// @dev Returns the total votes cast in a given round.\n  function totalVotes(uint256 roundId) public view returns (uint256) {\n    return RoundVotesCountingUtils.totalVotes(roundId);\n  }\n\n  /// @dev Returns the total quadratic funding votes cast in a given round.\n  function totalVotesQF(uint256 roundId) public view returns (uint256) {\n    return RoundVotesCountingUtils.totalVotesQF(roundId);\n  }\n\n  /// @dev Returns the total number of voters in a given round.\n  function totalVoters(uint256 roundId) public view returns (uint256) {\n    return RoundVotesCountingUtils.totalVoters(roundId);\n  }\n\n  /// @dev Returns whether a user has voted in a given round.\n  function hasVoted(uint256 roundId, address user) public view returns (bool) {\n    return RoundVotesCountingUtils.hasVoted(roundId, user);\n  }\n\n  /// @dev Returns whether a user has voted at least once across all rounds.\n  function hasVotedOnce(address user) public view returns (bool) {\n    return RoundVotesCountingUtils.hasVotedOnce(user);\n  }\n\n  /// @dev Returns whether a user voted for a specific app in a given round.\n  function hasUserVotedForApp(uint256 roundId, address user, bytes32 appId) public view returns (bool) {\n    return RoundVotesCountingUtils.hasUserVotedForApp(roundId, user, appId);\n  }\n\n  /// @dev Returns the minimum amount of tokens needed to cast a vote.\n  function votingThreshold() public view returns (uint256) {\n    return RoundVotesCountingUtils.votingThreshold();\n  }\n\n  // ======================== Quorum ======================== //\n\n  /// @dev Returns the current quorum numerator (latest checkpoint).\n  function quorumNumerator() public view returns (uint256) {\n    return VotesQuorumFractionUtils.quorumNumerator();\n  }\n\n  /// @dev Returns the quorum numerator at a specific timepoint.\n  function quorumNumerator(uint256 timepoint) public view returns (uint256) {\n    return VotesQuorumFractionUtils.quorumNumerator(timepoint);\n  }\n\n  /// @dev Returns the quorum denominator (always 100).\n  function quorumDenominator() public pure returns (uint256) {\n    return VotesQuorumFractionUtils.quorumDenominator();\n  }\n\n  /// @dev Alias for quorumNumerator() — returns the quorum as a percentage.\n  function quorumPercentage() public view returns (uint256) {\n    return VotesQuorumFractionUtils.quorumNumerator();\n  }\n\n  // ======================== Round Finalization ======================== //\n\n  /// @dev Returns the last succeeded round for the given round.\n  function latestSucceededRoundId(uint256 roundId) external view returns (uint256) {\n    return RoundFinalizationUtils.latestSucceededRoundId(roundId);\n  }\n\n  /// @dev Returns whether a round has been finalized.\n  function isFinalized(uint256 roundId) external view returns (bool) {\n    return RoundFinalizationUtils.isFinalized(roundId);\n  }\n\n  /**\n   * Returns the quorum for a given round\n   */\n  function roundQuorum(uint256 roundId) external view returns (uint256) {\n    return quorum(roundSnapshot(roundId));\n  }\n\n  // ======================== Auto-voting getters ======================== //\n\n  /**\n   * @dev Checks if auto-voting is enabled for an account\n   */\n  function isUserAutoVotingEnabled(address user) public view returns (bool) {\n    return AutoVotingLogic.isAutoVotingEnabled(user);\n  }\n\n  /**\n   * @dev Checks if auto-voting is enabled for an account at the start of the current cycle\n   * @notice Status changes mid-cycle will only take effect in the next cycle\n   */\n  function isUserAutoVotingEnabledInCurrentRound(address account) public view returns (bool) {\n    uint256 lastEmissionBlock = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._emissions\n      .lastEmissionBlock();\n    return AutoVotingLogic.isAutoVotingEnabledAtTimepoint(account, uint48(lastEmissionBlock));\n  }\n\n  /**\n   * @dev Checks if auto-voting is enabled for an account at the start of a specific round\n   * @notice Useful function for frontend to consume\n   */\n  function isUserAutoVotingEnabledForRound(address account, uint256 roundId) public view returns (bool) {\n    return AutoVotingLogic.isAutoVotingEnabledAtTimepoint(account, uint48(roundSnapshot(roundId)));\n  }\n\n  /**\n   * @dev Check if auto-voting is enabled for an account at a specific\n   * @param account The address to check\n   * @param timepoint block number\n   */\n  function isUserAutoVotingEnabledAtTimepoint(address account, uint48 timepoint) public view returns (bool) {\n    return AutoVotingLogic.isAutoVotingEnabledAtTimepoint(account, timepoint);\n  }\n\n  /**\n   * @dev Get the voting preferences for an account\n   */\n  function getUserVotingPreferences(address account) public view returns (bytes32[] memory) {\n    return AutoVotingLogic.getUserVotingPreferences(account);\n  }\n\n  /**\n   * @dev Get the total number of users who enabled auto-voting at the last emission block\n   */\n  function getTotalAutoVotingUsersAtRoundStart() public view returns (uint208) {\n    uint256 lastEmissionBlock = XAllocationVotingStorageTypes\n      ._getExternalContractsStorage()\n      ._emissions\n      .lastEmissionBlock();\n    return AutoVotingLogic.getTotalAutoVotingUsersAtTimepoint(uint48(lastEmissionBlock));\n  }\n\n  /**\n   * @dev Get the total number of users who enabled autovoting at a specific timepoint\n   */\n  function getTotalAutoVotingUsersAtTimepoint(uint48 timepoint) public view returns (uint208) {\n    return AutoVotingLogic.getTotalAutoVotingUsersAtTimepoint(timepoint);\n  }\n\n  // ======================== Navigator Registry ======================== //\n\n  /**\n   * @dev Get the NavigatorRegistry contract.\n   */\n  function navigatorRegistry() public view returns (INavigatorRegistry) {\n    return XAllocationVotingStorageTypes._getExternalContractsStorage()._navigatorRegistry;\n  }\n\n  // ======================== Helpers ======================== //\n\n  /**\n   * @dev Encodes a `RoundState` into a `bytes32` representation where each bit enabled corresponds to\n   * the underlying position in the `RoundState` enum.\n   */\n  function _encodeStateBitmap(RoundState roundState) internal pure returns (bytes32) {\n    return bytes32(1 << uint8(roundState));\n  }\n\n  function supportsInterface(\n    bytes4 interfaceId\n  ) public view override(AccessControlUpgradeable, IERC165, ERC165Upgradeable) returns (bool) {\n    return interfaceId == type(IXAllocationVotingGovernor).interfaceId || super.supportsInterface(interfaceId);\n  }\n}\n"}},"settings":{"optimizer":{"enabled":true,"runs":1},"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"errors":[{"component":"general","errorCode":"8760","formattedMessage":"Warning: This declaration has the same name as another declaration.\n   --> contracts/governance/libraries/GovernorProposalLogic.sol:613:5:\n    |\n613 |     GovernorTypes.ProposalType proposalType = $.proposalType[proposalId];\n    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nNote: The other declaration is here:\n   --> contracts/governance/libraries/GovernorProposalLogic.sol:275:3:\n    |\n275 |   function proposalType(\n    |   ^ (Relevant source part starts here and spans across multiple lines).\n\n","message":"This declaration has the same name as another declaration.","secondarySourceLocations":[{"end":9924,"file":"contracts/governance/libraries/GovernorProposalLogic.sol","message":"The other declaration is here:","start":9697}],"severity":"warning","sourceLocation":{"end":21599,"file":"contracts/governance/libraries/GovernorProposalLogic.sol","start":21560},"type":"Warning"},{"component":"general","errorCode":"2519","formattedMessage":"Warning: This declaration shadows an existing declaration.\n   --> contracts/governance/libraries/GovernorProposalLogic.sol:985:5:\n    |\n985 |     GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nNote: The shadowed declaration is here:\n   --> contracts/governance/libraries/GovernorProposalLogic.sol:982:5:\n    |\n982 |     GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n","message":"This declaration shadows an existing declaration.","secondarySourceLocations":[{"end":35505,"file":"contracts/governance/libraries/GovernorProposalLogic.sol","message":"The shadowed declaration is here:","start":35459}],"severity":"warning","sourceLocation":{"end":35756,"file":"contracts/governance/libraries/GovernorProposalLogic.sol","start":35710},"type":"Warning"},{"component":"general","errorCode":"2519","formattedMessage":"Warning: This declaration shadows an existing declaration.\n    --> contracts/governance/libraries/GovernorProposalLogic.sol:1012:5:\n     |\n1012 |     GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nNote: The shadowed declaration is here:\n    --> contracts/governance/libraries/GovernorProposalLogic.sol:1009:5:\n     |\n1009 |     GovernorStorageTypes.GovernorStorage storage $ = GovernorStorageTypes.getGovernorStorage();\n     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n","message":"This declaration shadows an existing declaration.","secondarySourceLocations":[{"end":36822,"file":"contracts/governance/libraries/GovernorProposalLogic.sol","message":"The shadowed declaration is here:","start":36776}],"severity":"warning","sourceLocation":{"end":37103,"file":"contracts/governance/libraries/GovernorProposalLogic.sol","start":37057},"type":"Warning"},{"component":"general","errorCode":"8760","formattedMessage":"Warning: This declaration has the same name as another declaration.\n   --> contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol:600:5:\n    |\n600 |     GovernorTypesV10.ProposalType proposalType = $.proposalType[proposalId];\n    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nNote: The other declaration is here:\n   --> contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol:267:3:\n    |\n267 |   function proposalType(\n    |   ^ (Relevant source part starts here and spans across multiple lines).\n\n","message":"This declaration has the same name as another declaration.","secondarySourceLocations":[{"end":9592,"file":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","message":"The other declaration is here:","start":9359}],"severity":"warning","sourceLocation":{"end":21101,"file":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","start":21059},"type":"Warning"},{"component":"general","errorCode":"8760","formattedMessage":"Warning: This declaration has the same name as another declaration.\n   --> contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol:635:5:\n    |\n635 |     GovernorTypesV10.ProposalType proposalType = $.proposalType[proposalId];\n    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nNote: The other declaration is here:\n   --> contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol:267:3:\n    |\n267 |   function proposalType(\n    |   ^ (Relevant source part starts here and spans across multiple lines).\n\n","message":"This declaration has the same name as another declaration.","secondarySourceLocations":[{"end":9592,"file":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","message":"The other declaration is here:","start":9359}],"severity":"warning","sourceLocation":{"end":22824,"file":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","start":22782},"type":"Warning"},{"component":"general","errorCode":"2519","formattedMessage":"Warning: This declaration shadows an existing declaration.\n   --> contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol:990:5:\n    |\n990 |     GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nNote: The shadowed declaration is here:\n   --> contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol:987:5:\n    |\n987 |     GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n","message":"This declaration shadows an existing declaration.","secondarySourceLocations":[{"end":35949,"file":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","message":"The shadowed declaration is here:","start":35900}],"severity":"warning","sourceLocation":{"end":36206,"file":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","start":36157},"type":"Warning"},{"component":"general","errorCode":"2519","formattedMessage":"Warning: This declaration shadows an existing declaration.\n    --> contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol:1017:5:\n     |\n1017 |     GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nNote: The shadowed declaration is here:\n    --> contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol:1014:5:\n     |\n1014 |     GovernorStorageTypesV10.GovernorStorage storage $ = GovernorStorageTypesV10.getGovernorStorage();\n     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n","message":"This declaration shadows an existing declaration.","secondarySourceLocations":[{"end":37284,"file":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","message":"The shadowed declaration is here:","start":37235}],"severity":"warning","sourceLocation":{"end":37571,"file":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","start":37522},"type":"Warning"}],"sources":{"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"IAccessControl":[4415],"Initializable":[1732]},"id":363,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"108:24:0"},{"absolutePath":"@openzeppelin/contracts/access/IAccessControl.sol","file":"@openzeppelin/contracts/access/IAccessControl.sol","id":3,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":363,"sourceUnit":4416,"src":"134:81:0","symbolAliases":[{"foreign":{"id":2,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4415,"src":"142:14:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","file":"../utils/ContextUpgradeable.sol","id":5,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":363,"sourceUnit":3988,"src":"216:67:0","symbolAliases":[{"foreign":{"id":4,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"224:18:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","file":"../utils/introspection/ERC165Upgradeable.sol","id":7,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":363,"sourceUnit":4333,"src":"284:79:0","symbolAliases":[{"foreign":{"id":6,"name":"ERC165Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"292:17:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../proxy/utils/Initializable.sol","id":9,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":363,"sourceUnit":1733,"src":"364:63:0","symbolAliases":[{"foreign":{"id":8,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"372:13:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":11,"name":"Initializable","nameLocations":["2136:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"2136:13:0"},"id":12,"nodeType":"InheritanceSpecifier","src":"2136:13:0"},{"baseName":{"id":13,"name":"ContextUpgradeable","nameLocations":["2151:18:0"],"nodeType":"IdentifierPath","referencedDeclaration":3987,"src":"2151:18:0"},"id":14,"nodeType":"InheritanceSpecifier","src":"2151:18:0"},{"baseName":{"id":15,"name":"IAccessControl","nameLocations":["2171:14:0"],"nodeType":"IdentifierPath","referencedDeclaration":4415,"src":"2171:14:0"},"id":16,"nodeType":"InheritanceSpecifier","src":"2171:14:0"},{"baseName":{"id":17,"name":"ERC165Upgradeable","nameLocations":["2187:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"2187:17:0"},"id":18,"nodeType":"InheritanceSpecifier","src":"2187:17:0"}],"canonicalName":"AccessControlUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":10,"nodeType":"StructuredDocumentation","src":"429:1660:0","text":" @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```solidity\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```solidity\n function foo() public {\n     require(hasRole(MY_ROLE, msg.sender));\n     ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\n to enforce additional security measures for this role."},"fullyImplemented":true,"id":362,"linearizedBaseContracts":[362,4332,5961,4415,3987,1732],"name":"AccessControlUpgradeable","nameLocation":"2108:24:0","nodeType":"ContractDefinition","nodes":[{"canonicalName":"AccessControlUpgradeable.RoleData","id":25,"members":[{"constant":false,"id":22,"mutability":"mutable","name":"hasRole","nameLocation":"2270:7:0","nodeType":"VariableDeclaration","scope":25,"src":"2237:40:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":21,"keyName":"account","keyNameLocation":"2253:7:0","keyType":{"id":19,"name":"address","nodeType":"ElementaryTypeName","src":"2245:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2237:32:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":20,"name":"bool","nodeType":"ElementaryTypeName","src":"2264:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":24,"mutability":"mutable","name":"adminRole","nameLocation":"2295:9:0","nodeType":"VariableDeclaration","scope":25,"src":"2287:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2287:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"RoleData","nameLocation":"2218:8:0","nodeType":"StructDefinition","scope":362,"src":"2211:100:0","visibility":"public"},{"constant":true,"functionSelector":"a217fddf","id":28,"mutability":"constant","name":"DEFAULT_ADMIN_ROLE","nameLocation":"2341:18:0","nodeType":"VariableDeclaration","scope":362,"src":"2317:49:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2317:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"30783030","id":27,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2362:4:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"visibility":"public"},{"canonicalName":"AccessControlUpgradeable.AccessControlStorage","documentation":{"id":29,"nodeType":"StructuredDocumentation","src":"2374:71:0","text":"@custom:storage-location erc7201:openzeppelin.storage.AccessControl"},"id":35,"members":[{"constant":false,"id":34,"mutability":"mutable","name":"_roles","nameLocation":"2522:6:0","nodeType":"VariableDeclaration","scope":35,"src":"2488:40:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$25_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"},"typeName":{"id":33,"keyName":"role","keyNameLocation":"2504:4:0","keyType":{"id":30,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2496:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2488:33:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$25_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32,"nodeType":"UserDefinedTypeName","pathNode":{"id":31,"name":"RoleData","nameLocations":["2512:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":25,"src":"2512:8:0"},"referencedDeclaration":25,"src":"2512:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$25_storage_ptr","typeString":"struct AccessControlUpgradeable.RoleData"}}},"visibility":"internal"}],"name":"AccessControlStorage","nameLocation":"2457:20:0","nodeType":"StructDefinition","scope":362,"src":"2450:85:0","visibility":"public"},{"constant":true,"id":38,"mutability":"constant","name":"AccessControlStorageLocation","nameLocation":"2683:28:0","nodeType":"VariableDeclaration","scope":362,"src":"2658:122:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2658:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307830326464376263376465633464636565646461373735653538646435343165303861313136633663353338313563306264303238313932663762363236383030","id":37,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2714:66:0","typeDescriptions":{"typeIdentifier":"t_rational_1295953201772911215391058989745868821651057887752387839782086074958115661824_by_1","typeString":"int_const 1295...(68 digits omitted)...1824"},"value":"0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800"},"visibility":"private"},{"body":{"id":45,"nodeType":"Block","src":"2877:87:0","statements":[{"AST":{"nodeType":"YulBlock","src":"2896:62:0","statements":[{"nodeType":"YulAssignment","src":"2910:38:0","value":{"name":"AccessControlStorageLocation","nodeType":"YulIdentifier","src":"2920:28:0"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2910:6:0"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":42,"isOffset":false,"isSlot":true,"src":"2910:6:0","suffix":"slot","valueSize":1},{"declaration":38,"isOffset":false,"isSlot":false,"src":"2920:28:0","valueSize":1}],"id":44,"nodeType":"InlineAssembly","src":"2887:71:0"}]},"id":46,"implemented":true,"kind":"function","modifiers":[],"name":"_getAccessControlStorage","nameLocation":"2796:24:0","nodeType":"FunctionDefinition","parameters":{"id":39,"nodeType":"ParameterList","parameters":[],"src":"2820:2:0"},"returnParameters":{"id":43,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42,"mutability":"mutable","name":"$","nameLocation":"2874:1:0","nodeType":"VariableDeclaration","scope":46,"src":"2845:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":41,"nodeType":"UserDefinedTypeName","pathNode":{"id":40,"name":"AccessControlStorage","nameLocations":["2845:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":35,"src":"2845:20:0"},"referencedDeclaration":35,"src":"2845:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"src":"2844:32:0"},"scope":362,"src":"2787:177:0","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":56,"nodeType":"Block","src":"3181:44:0","statements":[{"expression":{"arguments":[{"id":52,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49,"src":"3202:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":51,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[129,150],"referencedDeclaration":129,"src":"3191:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":53,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3191:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54,"nodeType":"ExpressionStatement","src":"3191:16:0"},{"id":55,"nodeType":"PlaceholderStatement","src":"3217:1:0"}]},"documentation":{"id":47,"nodeType":"StructuredDocumentation","src":"2970:174:0","text":" @dev Modifier that checks that an account has a specific role. Reverts\n with an {AccessControlUnauthorizedAccount} error including the required role."},"id":57,"name":"onlyRole","nameLocation":"3158:8:0","nodeType":"ModifierDefinition","parameters":{"id":50,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49,"mutability":"mutable","name":"role","nameLocation":"3175:4:0","nodeType":"VariableDeclaration","scope":57,"src":"3167:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3167:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3166:14:0"},"src":"3149:76:0","virtual":false,"visibility":"internal"},{"body":{"id":62,"nodeType":"Block","src":"3289:7:0","statements":[]},"id":63,"implemented":true,"kind":"function","modifiers":[{"id":60,"kind":"modifierInvocation","modifierName":{"id":59,"name":"onlyInitializing","nameLocations":["3272:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3272:16:0"},"nodeType":"ModifierInvocation","src":"3272:16:0"}],"name":"__AccessControl_init","nameLocation":"3240:20:0","nodeType":"FunctionDefinition","parameters":{"id":58,"nodeType":"ParameterList","parameters":[],"src":"3260:2:0"},"returnParameters":{"id":61,"nodeType":"ParameterList","parameters":[],"src":"3289:0:0"},"scope":362,"src":"3231:65:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":68,"nodeType":"Block","src":"3370:7:0","statements":[]},"id":69,"implemented":true,"kind":"function","modifiers":[{"id":66,"kind":"modifierInvocation","modifierName":{"id":65,"name":"onlyInitializing","nameLocations":["3353:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3353:16:0"},"nodeType":"ModifierInvocation","src":"3353:16:0"}],"name":"__AccessControl_init_unchained","nameLocation":"3311:30:0","nodeType":"FunctionDefinition","parameters":{"id":64,"nodeType":"ParameterList","parameters":[],"src":"3341:2:0"},"returnParameters":{"id":67,"nodeType":"ParameterList","parameters":[],"src":"3370:0:0"},"scope":362,"src":"3302:75:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[4331],"body":{"id":90,"nodeType":"Block","src":"3534:111:0","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":88,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":83,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"3551:11:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":80,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4415,"src":"3571:14:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$4415_$","typeString":"type(contract IAccessControl)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$4415_$","typeString":"type(contract IAccessControl)"}],"id":79,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3566:4:0","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":81,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3566:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IAccessControl_$4415","typeString":"type(contract IAccessControl)"}},"id":82,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3587:11:0","memberName":"interfaceId","nodeType":"MemberAccess","src":"3566:32:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"3551:47:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":86,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"3626:11:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":84,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3602:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlUpgradeable_$362_$","typeString":"type(contract super AccessControlUpgradeable)"}},"id":85,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3608:17:0","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":4331,"src":"3602:23:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":87,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:36:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3551:87:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":77,"id":89,"nodeType":"Return","src":"3544:94:0"}]},"documentation":{"id":70,"nodeType":"StructuredDocumentation","src":"3382:56:0","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":91,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"3452:17:0","nodeType":"FunctionDefinition","overrides":{"id":74,"nodeType":"OverrideSpecifier","overrides":[],"src":"3510:8:0"},"parameters":{"id":73,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72,"mutability":"mutable","name":"interfaceId","nameLocation":"3477:11:0","nodeType":"VariableDeclaration","scope":91,"src":"3470:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":71,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3470:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3469:20:0"},"returnParameters":{"id":77,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91,"src":"3528:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75,"name":"bool","nodeType":"ElementaryTypeName","src":"3528:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3527:6:0"},"scope":362,"src":"3443:202:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4382],"body":{"id":115,"nodeType":"Block","src":"3815:124:0","statements":[{"assignments":[103],"declarations":[{"constant":false,"id":103,"mutability":"mutable","name":"$","nameLocation":"3854:1:0","nodeType":"VariableDeclaration","scope":115,"src":"3825:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":102,"nodeType":"UserDefinedTypeName","pathNode":{"id":101,"name":"AccessControlStorage","nameLocations":["3825:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":35,"src":"3825:20:0"},"referencedDeclaration":35,"src":"3825:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":106,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":104,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"3858:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$35_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3858:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3825:59:0"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":107,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103,"src":"3901:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":108,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3903:6:0","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":34,"src":"3901:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$25_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":110,"indexExpression":{"id":109,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"3910:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3901:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$25_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3916:7:0","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":22,"src":"3901:22:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":113,"indexExpression":{"id":112,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3924:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3901:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":100,"id":114,"nodeType":"Return","src":"3894:38:0"}]},"documentation":{"id":92,"nodeType":"StructuredDocumentation","src":"3651:76:0","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","id":116,"implemented":true,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"3741:7:0","nodeType":"FunctionDefinition","parameters":{"id":97,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94,"mutability":"mutable","name":"role","nameLocation":"3757:4:0","nodeType":"VariableDeclaration","scope":116,"src":"3749:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":93,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3749:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96,"mutability":"mutable","name":"account","nameLocation":"3771:7:0","nodeType":"VariableDeclaration","scope":116,"src":"3763:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95,"name":"address","nodeType":"ElementaryTypeName","src":"3763:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3748:31:0"},"returnParameters":{"id":100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":116,"src":"3809:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":98,"name":"bool","nodeType":"ElementaryTypeName","src":"3809:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3808:6:0"},"scope":362,"src":"3732:207:0","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":128,"nodeType":"Block","src":"4204:47:0","statements":[{"expression":{"arguments":[{"id":123,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119,"src":"4225:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":124,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"4231:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4231:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":122,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[129,150],"referencedDeclaration":150,"src":"4214:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) view"}},"id":126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4214:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127,"nodeType":"ExpressionStatement","src":"4214:30:0"}]},"documentation":{"id":117,"nodeType":"StructuredDocumentation","src":"3945:198:0","text":" @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`\n is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier."},"id":129,"implemented":true,"kind":"function","modifiers":[],"name":"_checkRole","nameLocation":"4157:10:0","nodeType":"FunctionDefinition","parameters":{"id":120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119,"mutability":"mutable","name":"role","nameLocation":"4176:4:0","nodeType":"VariableDeclaration","scope":129,"src":"4168:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4168:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4167:14:0"},"returnParameters":{"id":121,"nodeType":"ParameterList","parameters":[],"src":"4204:0:0"},"scope":362,"src":"4148:103:0","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":149,"nodeType":"Block","src":"4454:124:0","statements":[{"condition":{"id":141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4468:23:0","subExpression":{"arguments":[{"id":138,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"4477:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":139,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"4483:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":137,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"4469:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4469:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":148,"nodeType":"IfStatement","src":"4464:108:0","trueBody":{"id":147,"nodeType":"Block","src":"4493:79:0","statements":[{"errorCall":{"arguments":[{"id":143,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"4547:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":144,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"4556:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":142,"name":"AccessControlUnauthorizedAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4342,"src":"4514:32:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32) pure"}},"id":145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4514:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":146,"nodeType":"RevertStatement","src":"4507:54:0"}]}}]},"documentation":{"id":130,"nodeType":"StructuredDocumentation","src":"4257:119:0","text":" @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`\n is missing `role`."},"id":150,"implemented":true,"kind":"function","modifiers":[],"name":"_checkRole","nameLocation":"4390:10:0","nodeType":"FunctionDefinition","parameters":{"id":135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":132,"mutability":"mutable","name":"role","nameLocation":"4409:4:0","nodeType":"VariableDeclaration","scope":150,"src":"4401:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4401:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"account","nameLocation":"4423:7:0","nodeType":"VariableDeclaration","scope":150,"src":"4415:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":133,"name":"address","nodeType":"ElementaryTypeName","src":"4415:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4400:31:0"},"returnParameters":{"id":136,"nodeType":"ParameterList","parameters":[],"src":"4454:0:0"},"scope":362,"src":"4381:197:0","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[4390],"body":{"id":170,"nodeType":"Block","src":"4833:117:0","statements":[{"assignments":[160],"declarations":[{"constant":false,"id":160,"mutability":"mutable","name":"$","nameLocation":"4872:1:0","nodeType":"VariableDeclaration","scope":170,"src":"4843:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":159,"nodeType":"UserDefinedTypeName","pathNode":{"id":158,"name":"AccessControlStorage","nameLocations":["4843:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":35,"src":"4843:20:0"},"referencedDeclaration":35,"src":"4843:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":163,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":161,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"4876:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$35_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4876:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4843:59:0"},{"expression":{"expression":{"baseExpression":{"expression":{"id":164,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"4919:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":165,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4921:6:0","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":34,"src":"4919:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$25_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":167,"indexExpression":{"id":166,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":153,"src":"4928:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4919:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$25_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4934:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":24,"src":"4919:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":157,"id":169,"nodeType":"Return","src":"4912:31:0"}]},"documentation":{"id":151,"nodeType":"StructuredDocumentation","src":"4584:170:0","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}."},"functionSelector":"248a9ca3","id":171,"implemented":true,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"4768:12:0","nodeType":"FunctionDefinition","parameters":{"id":154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":153,"mutability":"mutable","name":"role","nameLocation":"4789:4:0","nodeType":"VariableDeclaration","scope":171,"src":"4781:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4781:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4780:14:0"},"returnParameters":{"id":157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":171,"src":"4824:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4824:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4823:9:0"},"scope":362,"src":"4759:191:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4398],"body":{"id":189,"nodeType":"Block","src":"5340:42:0","statements":[{"expression":{"arguments":[{"id":185,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"5361:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":186,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176,"src":"5367:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":184,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"5350:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5350:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":188,"nodeType":"ExpressionStatement","src":"5350:25:0"}]},"documentation":{"id":172,"nodeType":"StructuredDocumentation","src":"4956:285:0","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleGranted} event."},"functionSelector":"2f2ff15d","id":190,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":180,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"5333:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":179,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"5320:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5320:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":182,"kind":"modifierInvocation","modifierName":{"id":178,"name":"onlyRole","nameLocations":["5311:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"5311:8:0"},"nodeType":"ModifierInvocation","src":"5311:28:0"}],"name":"grantRole","nameLocation":"5255:9:0","nodeType":"FunctionDefinition","parameters":{"id":177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":174,"mutability":"mutable","name":"role","nameLocation":"5273:4:0","nodeType":"VariableDeclaration","scope":190,"src":"5265:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5265:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":176,"mutability":"mutable","name":"account","nameLocation":"5287:7:0","nodeType":"VariableDeclaration","scope":190,"src":"5279:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":175,"name":"address","nodeType":"ElementaryTypeName","src":"5279:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5264:31:0"},"returnParameters":{"id":183,"nodeType":"ParameterList","parameters":[],"src":"5340:0:0"},"scope":362,"src":"5246:136:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[4406],"body":{"id":208,"nodeType":"Block","src":"5757:43:0","statements":[{"expression":{"arguments":[{"id":204,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":193,"src":"5779:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":205,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":195,"src":"5785:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":203,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":361,"src":"5767:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5767:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":207,"nodeType":"ExpressionStatement","src":"5767:26:0"}]},"documentation":{"id":191,"nodeType":"StructuredDocumentation","src":"5388:269:0","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleRevoked} event."},"functionSelector":"d547741f","id":209,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":199,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":193,"src":"5750:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":198,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"5737:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5737:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":201,"kind":"modifierInvocation","modifierName":{"id":197,"name":"onlyRole","nameLocations":["5728:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"5728:8:0"},"nodeType":"ModifierInvocation","src":"5728:28:0"}],"name":"revokeRole","nameLocation":"5671:10:0","nodeType":"FunctionDefinition","parameters":{"id":196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":193,"mutability":"mutable","name":"role","nameLocation":"5690:4:0","nodeType":"VariableDeclaration","scope":209,"src":"5682:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5682:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":195,"mutability":"mutable","name":"account","nameLocation":"5704:7:0","nodeType":"VariableDeclaration","scope":209,"src":"5696:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":194,"name":"address","nodeType":"ElementaryTypeName","src":"5696:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5681:31:0"},"returnParameters":{"id":202,"nodeType":"ParameterList","parameters":[],"src":"5757:0:0"},"scope":362,"src":"5662:138:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[4414],"body":{"id":231,"nodeType":"Block","src":"6427:166:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":217,"name":"callerConfirmation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":214,"src":"6441:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":218,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"6463:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6463:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6441:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":225,"nodeType":"IfStatement","src":"6437:102:0","trueBody":{"id":224,"nodeType":"Block","src":"6477:62:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":221,"name":"AccessControlBadConfirmation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4345,"src":"6498:28:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":223,"nodeType":"RevertStatement","src":"6491:37:0"}]}},{"expression":{"arguments":[{"id":227,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":212,"src":"6561:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":228,"name":"callerConfirmation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":214,"src":"6567:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":226,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":361,"src":"6549:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6549:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":230,"nodeType":"ExpressionStatement","src":"6549:37:0"}]},"documentation":{"id":210,"nodeType":"StructuredDocumentation","src":"5806:537:0","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been revoked `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `callerConfirmation`.\n May emit a {RoleRevoked} event."},"functionSelector":"36568abe","id":232,"implemented":true,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"6357:12:0","nodeType":"FunctionDefinition","parameters":{"id":215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":212,"mutability":"mutable","name":"role","nameLocation":"6378:4:0","nodeType":"VariableDeclaration","scope":232,"src":"6370:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6370:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":214,"mutability":"mutable","name":"callerConfirmation","nameLocation":"6392:18:0","nodeType":"VariableDeclaration","scope":232,"src":"6384:26:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":213,"name":"address","nodeType":"ElementaryTypeName","src":"6384:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6369:42:0"},"returnParameters":{"id":216,"nodeType":"ParameterList","parameters":[],"src":"6427:0:0"},"scope":362,"src":"6348:245:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":267,"nodeType":"Block","src":"6791:245:0","statements":[{"assignments":[242],"declarations":[{"constant":false,"id":242,"mutability":"mutable","name":"$","nameLocation":"6830:1:0","nodeType":"VariableDeclaration","scope":267,"src":"6801:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":241,"nodeType":"UserDefinedTypeName","pathNode":{"id":240,"name":"AccessControlStorage","nameLocations":["6801:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":35,"src":"6801:20:0"},"referencedDeclaration":35,"src":"6801:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":245,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":243,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"6834:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$35_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6834:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6801:59:0"},{"assignments":[247],"declarations":[{"constant":false,"id":247,"mutability":"mutable","name":"previousAdminRole","nameLocation":"6878:17:0","nodeType":"VariableDeclaration","scope":267,"src":"6870:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6870:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":251,"initialValue":{"arguments":[{"id":249,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"6911:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":248,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"6898:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6898:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6870:46:0"},{"expression":{"id":259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":252,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":242,"src":"6926:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6928:6:0","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":34,"src":"6926:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$25_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":256,"indexExpression":{"id":254,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"6935:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6926:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$25_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":257,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6941:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":24,"src":"6926:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":258,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"6953:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6926:36:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":260,"nodeType":"ExpressionStatement","src":"6926:36:0"},{"eventCall":{"arguments":[{"id":262,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"6994:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":263,"name":"previousAdminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":247,"src":"7000:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":264,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"7019:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":261,"name":"RoleAdminChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4354,"src":"6977:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32)"}},"id":265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6977:52:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":266,"nodeType":"EmitStatement","src":"6972:57:0"}]},"documentation":{"id":233,"nodeType":"StructuredDocumentation","src":"6599:114:0","text":" @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event."},"id":268,"implemented":true,"kind":"function","modifiers":[],"name":"_setRoleAdmin","nameLocation":"6727:13:0","nodeType":"FunctionDefinition","parameters":{"id":238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":235,"mutability":"mutable","name":"role","nameLocation":"6749:4:0","nodeType":"VariableDeclaration","scope":268,"src":"6741:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6741:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":237,"mutability":"mutable","name":"adminRole","nameLocation":"6763:9:0","nodeType":"VariableDeclaration","scope":268,"src":"6755:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6755:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6740:33:0"},"returnParameters":{"id":239,"nodeType":"ParameterList","parameters":[],"src":"6791:0:0"},"scope":362,"src":"6718:318:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":314,"nodeType":"Block","src":"7353:304:0","statements":[{"assignments":[280],"declarations":[{"constant":false,"id":280,"mutability":"mutable","name":"$","nameLocation":"7392:1:0","nodeType":"VariableDeclaration","scope":314,"src":"7363:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":279,"nodeType":"UserDefinedTypeName","pathNode":{"id":278,"name":"AccessControlStorage","nameLocations":["7363:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":35,"src":"7363:20:0"},"referencedDeclaration":35,"src":"7363:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":283,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":281,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"7396:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$35_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7396:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7363:59:0"},{"condition":{"id":288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7436:23:0","subExpression":{"arguments":[{"id":285,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":271,"src":"7445:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":286,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"7451:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":284,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"7437:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7437:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":312,"nodeType":"Block","src":"7614:37:0","statements":[{"expression":{"hexValue":"66616c7365","id":310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7635:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":277,"id":311,"nodeType":"Return","src":"7628:12:0"}]},"id":313,"nodeType":"IfStatement","src":"7432:219:0","trueBody":{"id":309,"nodeType":"Block","src":"7461:147:0","statements":[{"expression":{"id":298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":289,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":280,"src":"7475:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":292,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7477:6:0","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":34,"src":"7475:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$25_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":293,"indexExpression":{"id":291,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":271,"src":"7484:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7475:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$25_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7490:7:0","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":22,"src":"7475:22:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":296,"indexExpression":{"id":295,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"7498:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7475:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7509:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"7475:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":299,"nodeType":"ExpressionStatement","src":"7475:38:0"},{"eventCall":{"arguments":[{"id":301,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":271,"src":"7544:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":302,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"7550:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":303,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"7559:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7559:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":300,"name":"RoleGranted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4363,"src":"7532:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7532:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":306,"nodeType":"EmitStatement","src":"7527:45:0"},{"expression":{"hexValue":"74727565","id":307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7593:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":277,"id":308,"nodeType":"Return","src":"7586:11:0"}]}}]},"documentation":{"id":269,"nodeType":"StructuredDocumentation","src":"7042:223:0","text":" @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.\n Internal function without access restriction.\n May emit a {RoleGranted} event."},"id":315,"implemented":true,"kind":"function","modifiers":[],"name":"_grantRole","nameLocation":"7279:10:0","nodeType":"FunctionDefinition","parameters":{"id":274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":271,"mutability":"mutable","name":"role","nameLocation":"7298:4:0","nodeType":"VariableDeclaration","scope":315,"src":"7290:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7290:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":273,"mutability":"mutable","name":"account","nameLocation":"7312:7:0","nodeType":"VariableDeclaration","scope":315,"src":"7304:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":272,"name":"address","nodeType":"ElementaryTypeName","src":"7304:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7289:31:0"},"returnParameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":315,"src":"7347:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":275,"name":"bool","nodeType":"ElementaryTypeName","src":"7347:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7346:6:0"},"scope":362,"src":"7270:387:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":360,"nodeType":"Block","src":"7976:304:0","statements":[{"assignments":[327],"declarations":[{"constant":false,"id":327,"mutability":"mutable","name":"$","nameLocation":"8015:1:0","nodeType":"VariableDeclaration","scope":360,"src":"7986:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":326,"nodeType":"UserDefinedTypeName","pathNode":{"id":325,"name":"AccessControlStorage","nameLocations":["7986:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":35,"src":"7986:20:0"},"referencedDeclaration":35,"src":"7986:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":330,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":328,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"8019:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$35_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8019:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7986:59:0"},{"condition":{"arguments":[{"id":332,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":318,"src":"8067:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":333,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":320,"src":"8073:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":331,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"8059:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8059:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":358,"nodeType":"Block","src":"8237:37:0","statements":[{"expression":{"hexValue":"66616c7365","id":356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8258:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":324,"id":357,"nodeType":"Return","src":"8251:12:0"}]},"id":359,"nodeType":"IfStatement","src":"8055:219:0","trueBody":{"id":355,"nodeType":"Block","src":"8083:148:0","statements":[{"expression":{"id":344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":335,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":327,"src":"8097:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$35_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8099:6:0","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":34,"src":"8097:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$25_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":339,"indexExpression":{"id":337,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":318,"src":"8106:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8097:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$25_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8112:7:0","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":22,"src":"8097:22:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":342,"indexExpression":{"id":341,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":320,"src":"8120:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8097:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8131:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"8097:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":345,"nodeType":"ExpressionStatement","src":"8097:39:0"},{"eventCall":{"arguments":[{"id":347,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":318,"src":"8167:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":348,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":320,"src":"8173:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":349,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"8182:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8182:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":346,"name":"RoleRevoked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4372,"src":"8155:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8155:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":352,"nodeType":"EmitStatement","src":"8150:45:0"},{"expression":{"hexValue":"74727565","id":353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8216:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":324,"id":354,"nodeType":"Return","src":"8209:11:0"}]}}]},"documentation":{"id":316,"nodeType":"StructuredDocumentation","src":"7663:224:0","text":" @dev Attempts to revoke `role` to `account` and returns a boolean indicating if `role` was revoked.\n Internal function without access restriction.\n May emit a {RoleRevoked} event."},"id":361,"implemented":true,"kind":"function","modifiers":[],"name":"_revokeRole","nameLocation":"7901:11:0","nodeType":"FunctionDefinition","parameters":{"id":321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":318,"mutability":"mutable","name":"role","nameLocation":"7921:4:0","nodeType":"VariableDeclaration","scope":361,"src":"7913:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7913:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":320,"mutability":"mutable","name":"account","nameLocation":"7935:7:0","nodeType":"VariableDeclaration","scope":361,"src":"7927:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":319,"name":"address","nodeType":"ElementaryTypeName","src":"7927:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7912:31:0"},"returnParameters":{"id":324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":361,"src":"7970:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":322,"name":"bool","nodeType":"ElementaryTypeName","src":"7970:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7969:6:0"},"scope":362,"src":"7892:388:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":363,"src":"2090:6192:0","usedErrors":[1495,1498,4342,4345],"usedEvents":[1503,4354,4363,4372]}],"src":"108:8175:0"},"id":0},"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Address":[5584],"ERC1155HolderUpgradeable":[2012],"ERC721HolderUpgradeable":[3941],"Initializable":[1732],"TimelockControllerUpgradeable":[1478]},"id":1479,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":364,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"117:24:1"},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"../access/AccessControlUpgradeable.sol","id":366,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1479,"sourceUnit":363,"src":"143:80:1","symbolAliases":[{"foreign":{"id":365,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"151:24:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol","file":"../token/ERC721/utils/ERC721HolderUpgradeable.sol","id":368,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1479,"sourceUnit":3942,"src":"224:90:1","symbolAliases":[{"foreign":{"id":367,"name":"ERC721HolderUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3941,"src":"232:23:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol","file":"../token/ERC1155/utils/ERC1155HolderUpgradeable.sol","id":370,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1479,"sourceUnit":2013,"src":"315:93:1","symbolAliases":[{"foreign":{"id":369,"name":"ERC1155HolderUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2012,"src":"323:24:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","file":"@openzeppelin/contracts/utils/Address.sol","id":372,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1479,"sourceUnit":5585,"src":"409:66:1","symbolAliases":[{"foreign":{"id":371,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"417:7:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../proxy/utils/Initializable.sol","id":374,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1479,"sourceUnit":1733,"src":"476:63:1","symbolAliases":[{"foreign":{"id":373,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"484:13:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":376,"name":"Initializable","nameLocations":["1277:13:1"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1277:13:1"},"id":377,"nodeType":"InheritanceSpecifier","src":"1277:13:1"},{"baseName":{"id":378,"name":"AccessControlUpgradeable","nameLocations":["1292:24:1"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"1292:24:1"},"id":379,"nodeType":"InheritanceSpecifier","src":"1292:24:1"},{"baseName":{"id":380,"name":"ERC721HolderUpgradeable","nameLocations":["1318:23:1"],"nodeType":"IdentifierPath","referencedDeclaration":3941,"src":"1318:23:1"},"id":381,"nodeType":"InheritanceSpecifier","src":"1318:23:1"},{"baseName":{"id":382,"name":"ERC1155HolderUpgradeable","nameLocations":["1343:24:1"],"nodeType":"IdentifierPath","referencedDeclaration":2012,"src":"1343:24:1"},"id":383,"nodeType":"InheritanceSpecifier","src":"1343:24:1"}],"canonicalName":"TimelockControllerUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":375,"nodeType":"StructuredDocumentation","src":"541:693:1","text":" @dev Contract module which acts as a timelocked controller. When set as the\n owner of an `Ownable` smart contract, it enforces a timelock on all\n `onlyOwner` maintenance operations. This gives time for users of the\n controlled contract to exit before a potentially dangerous maintenance\n operation is applied.\n By default, this contract is self administered, meaning administration tasks\n have to go through the timelock process. The proposer (resp executor) role\n is in charge of proposing (resp executing) operations. A common use case is\n to position this {TimelockController} as the owner of a smart contract, with\n a multisig or a DAO as the sole proposer."},"fullyImplemented":true,"id":1478,"linearizedBaseContracts":[1478,2012,5058,3941,5271,362,4332,5961,4415,3987,1732],"name":"TimelockControllerUpgradeable","nameLocation":"1244:29:1","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"8f61f4f5","id":388,"mutability":"constant","name":"PROPOSER_ROLE","nameLocation":"1398:13:1","nodeType":"VariableDeclaration","scope":1478,"src":"1374:66:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1374:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"50524f504f5345525f524f4c45","id":386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1424:15:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1","typeString":"literal_string \"PROPOSER_ROLE\""},"value":"PROPOSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1","typeString":"literal_string \"PROPOSER_ROLE\""}],"id":385,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1414:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1414:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"07bd0265","id":393,"mutability":"constant","name":"EXECUTOR_ROLE","nameLocation":"1470:13:1","nodeType":"VariableDeclaration","scope":1478,"src":"1446:66:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":389,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1446:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4558454355544f525f524f4c45","id":391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1496:15:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63","typeString":"literal_string \"EXECUTOR_ROLE\""},"value":"EXECUTOR_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63","typeString":"literal_string \"EXECUTOR_ROLE\""}],"id":390,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1486:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1486:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"b08e51c0","id":398,"mutability":"constant","name":"CANCELLER_ROLE","nameLocation":"1542:14:1","nodeType":"VariableDeclaration","scope":1478,"src":"1518:68:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1518:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"43414e43454c4c45525f524f4c45","id":396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1569:16:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783","typeString":"literal_string \"CANCELLER_ROLE\""},"value":"CANCELLER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783","typeString":"literal_string \"CANCELLER_ROLE\""}],"id":395,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1559:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1559:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"id":404,"mutability":"constant","name":"_DONE_TIMESTAMP","nameLocation":"1618:15:1","nodeType":"VariableDeclaration","scope":1478,"src":"1592:54:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":399,"name":"uint256","nodeType":"ElementaryTypeName","src":"1592:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"arguments":[{"hexValue":"31","id":402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1644:1:1","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":401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1636:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":400,"name":"uint256","nodeType":"ElementaryTypeName","src":"1636:7:1","typeDescriptions":{}}},"id":403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1636:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"canonicalName":"TimelockControllerUpgradeable.TimelockControllerStorage","documentation":{"id":405,"nodeType":"StructuredDocumentation","src":"1653:76:1","text":"@custom:storage-location erc7201:openzeppelin.storage.TimelockController"},"id":412,"members":[{"constant":false,"id":409,"mutability":"mutable","name":"_timestamps","nameLocation":"1808:11:1","nodeType":"VariableDeclaration","scope":412,"src":"1777:42:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":408,"keyName":"id","keyNameLocation":"1793:2:1","keyType":{"id":406,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1785:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1777:30:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":407,"name":"uint256","nodeType":"ElementaryTypeName","src":"1799:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":411,"mutability":"mutable","name":"_minDelay","nameLocation":"1837:9:1","nodeType":"VariableDeclaration","scope":412,"src":"1829:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":410,"name":"uint256","nodeType":"ElementaryTypeName","src":"1829:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TimelockControllerStorage","nameLocation":"1741:25:1","nodeType":"StructDefinition","scope":1478,"src":"1734:119:1","visibility":"public"},{"constant":true,"id":415,"mutability":"constant","name":"TimelockControllerStorageLocation","nameLocation":"2006:33:1","nodeType":"VariableDeclaration","scope":1478,"src":"1981:127:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1981:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307839613337633261613964313836613039363966663861383236376266346530376538363463326632373638663530343039343965323861363234666233363030","id":414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2042:66:1","typeDescriptions":{"typeIdentifier":"t_rational_69754698808912118946435610565989513260618462719490710872342545216410849326592_by_1","typeString":"int_const 6975...(69 digits omitted)...6592"},"value":"0x9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb3600"},"visibility":"private"},{"body":{"id":422,"nodeType":"Block","src":"2215:92:1","statements":[{"AST":{"nodeType":"YulBlock","src":"2234:67:1","statements":[{"nodeType":"YulAssignment","src":"2248:43:1","value":{"name":"TimelockControllerStorageLocation","nodeType":"YulIdentifier","src":"2258:33:1"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2248:6:1"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":419,"isOffset":false,"isSlot":true,"src":"2248:6:1","suffix":"slot","valueSize":1},{"declaration":415,"isOffset":false,"isSlot":false,"src":"2258:33:1","valueSize":1}],"id":421,"nodeType":"InlineAssembly","src":"2225:76:1"}]},"id":423,"implemented":true,"kind":"function","modifiers":[],"name":"_getTimelockControllerStorage","nameLocation":"2124:29:1","nodeType":"FunctionDefinition","parameters":{"id":416,"nodeType":"ParameterList","parameters":[],"src":"2153:2:1"},"returnParameters":{"id":420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":419,"mutability":"mutable","name":"$","nameLocation":"2212:1:1","nodeType":"VariableDeclaration","scope":423,"src":"2178:35:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"},"typeName":{"id":418,"nodeType":"UserDefinedTypeName","pathNode":{"id":417,"name":"TimelockControllerStorage","nameLocations":["2178:25:1"],"nodeType":"IdentifierPath","referencedDeclaration":412,"src":"2178:25:1"},"referencedDeclaration":412,"src":"2178:25:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"}},"visibility":"internal"}],"src":"2177:37:1"},"scope":1478,"src":"2115:192:1","stateMutability":"pure","virtual":false,"visibility":"private"},{"canonicalName":"TimelockControllerUpgradeable.OperationState","id":428,"members":[{"id":424,"name":"Unset","nameLocation":"2343:5:1","nodeType":"EnumValue","src":"2343:5:1"},{"id":425,"name":"Waiting","nameLocation":"2358:7:1","nodeType":"EnumValue","src":"2358:7:1"},{"id":426,"name":"Ready","nameLocation":"2375:5:1","nodeType":"EnumValue","src":"2375:5:1"},{"id":427,"name":"Done","nameLocation":"2390:4:1","nodeType":"EnumValue","src":"2390:4:1"}],"name":"OperationState","nameLocation":"2318:14:1","nodeType":"EnumDefinition","src":"2313:87:1"},{"documentation":{"id":429,"nodeType":"StructuredDocumentation","src":"2406:85:1","text":" @dev Mismatch between the parameters length for an operation call."},"errorSelector":"ffb03211","id":437,"name":"TimelockInvalidOperationLength","nameLocation":"2502:30:1","nodeType":"ErrorDefinition","parameters":{"id":436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":431,"mutability":"mutable","name":"targets","nameLocation":"2541:7:1","nodeType":"VariableDeclaration","scope":437,"src":"2533:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":430,"name":"uint256","nodeType":"ElementaryTypeName","src":"2533:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":433,"mutability":"mutable","name":"payloads","nameLocation":"2558:8:1","nodeType":"VariableDeclaration","scope":437,"src":"2550:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":432,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":435,"mutability":"mutable","name":"values","nameLocation":"2576:6:1","nodeType":"VariableDeclaration","scope":437,"src":"2568:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":434,"name":"uint256","nodeType":"ElementaryTypeName","src":"2568:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2532:51:1"},"src":"2496:88:1"},{"documentation":{"id":438,"nodeType":"StructuredDocumentation","src":"2590:78:1","text":" @dev The schedule operation doesn't meet the minimum delay."},"errorSelector":"54336609","id":444,"name":"TimelockInsufficientDelay","nameLocation":"2679:25:1","nodeType":"ErrorDefinition","parameters":{"id":443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":440,"mutability":"mutable","name":"delay","nameLocation":"2713:5:1","nodeType":"VariableDeclaration","scope":444,"src":"2705:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":439,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":442,"mutability":"mutable","name":"minDelay","nameLocation":"2728:8:1","nodeType":"VariableDeclaration","scope":444,"src":"2720:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":441,"name":"uint256","nodeType":"ElementaryTypeName","src":"2720:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2704:33:1"},"src":"2673:65:1"},{"documentation":{"id":445,"nodeType":"StructuredDocumentation","src":"2744:253:1","text":" @dev The current state of an operation is not as required.\n The `expectedStates` is a bitmap with the bits enabled for each OperationState enum position\n counting from right to left.\n See {_encodeStateBitmap}."},"errorSelector":"5ead8eb5","id":451,"name":"TimelockUnexpectedOperationState","nameLocation":"3008:32:1","nodeType":"ErrorDefinition","parameters":{"id":450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":447,"mutability":"mutable","name":"operationId","nameLocation":"3049:11:1","nodeType":"VariableDeclaration","scope":451,"src":"3041:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3041:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":449,"mutability":"mutable","name":"expectedStates","nameLocation":"3070:14:1","nodeType":"VariableDeclaration","scope":451,"src":"3062:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3062:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3040:45:1"},"src":"3002:84:1"},{"documentation":{"id":452,"nodeType":"StructuredDocumentation","src":"3092:69:1","text":" @dev The predecessor to an operation not yet done."},"errorSelector":"90a9a618","id":456,"name":"TimelockUnexecutedPredecessor","nameLocation":"3172:29:1","nodeType":"ErrorDefinition","parameters":{"id":455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":454,"mutability":"mutable","name":"predecessorId","nameLocation":"3210:13:1","nodeType":"VariableDeclaration","scope":456,"src":"3202:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3202:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3201:23:1"},"src":"3166:59:1"},{"documentation":{"id":457,"nodeType":"StructuredDocumentation","src":"3231:61:1","text":" @dev The caller account is not authorized."},"errorSelector":"e2850c59","id":461,"name":"TimelockUnauthorizedCaller","nameLocation":"3303:26:1","nodeType":"ErrorDefinition","parameters":{"id":460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":459,"mutability":"mutable","name":"caller","nameLocation":"3338:6:1","nodeType":"VariableDeclaration","scope":461,"src":"3330:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":458,"name":"address","nodeType":"ElementaryTypeName","src":"3330:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3329:16:1"},"src":"3297:49:1"},{"anonymous":false,"documentation":{"id":462,"nodeType":"StructuredDocumentation","src":"3352:83:1","text":" @dev Emitted when a call is scheduled as part of operation `id`."},"eventSelector":"4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca","id":478,"name":"CallScheduled","nameLocation":"3446:13:1","nodeType":"EventDefinition","parameters":{"id":477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":464,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"3485:2:1","nodeType":"VariableDeclaration","scope":478,"src":"3469:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3469:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":466,"indexed":true,"mutability":"mutable","name":"index","nameLocation":"3513:5:1","nodeType":"VariableDeclaration","scope":478,"src":"3497:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":465,"name":"uint256","nodeType":"ElementaryTypeName","src":"3497:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":468,"indexed":false,"mutability":"mutable","name":"target","nameLocation":"3536:6:1","nodeType":"VariableDeclaration","scope":478,"src":"3528:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":467,"name":"address","nodeType":"ElementaryTypeName","src":"3528:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":470,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"3560:5:1","nodeType":"VariableDeclaration","scope":478,"src":"3552:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":469,"name":"uint256","nodeType":"ElementaryTypeName","src":"3552:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":472,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"3581:4:1","nodeType":"VariableDeclaration","scope":478,"src":"3575:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":471,"name":"bytes","nodeType":"ElementaryTypeName","src":"3575:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":474,"indexed":false,"mutability":"mutable","name":"predecessor","nameLocation":"3603:11:1","nodeType":"VariableDeclaration","scope":478,"src":"3595:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3595:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":476,"indexed":false,"mutability":"mutable","name":"delay","nameLocation":"3632:5:1","nodeType":"VariableDeclaration","scope":478,"src":"3624:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":475,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3459:184:1"},"src":"3440:204:1"},{"anonymous":false,"documentation":{"id":479,"nodeType":"StructuredDocumentation","src":"3650:83:1","text":" @dev Emitted when a call is performed as part of operation `id`."},"eventSelector":"c2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58","id":491,"name":"CallExecuted","nameLocation":"3744:12:1","nodeType":"EventDefinition","parameters":{"id":490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":481,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"3773:2:1","nodeType":"VariableDeclaration","scope":491,"src":"3757:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3757:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":483,"indexed":true,"mutability":"mutable","name":"index","nameLocation":"3793:5:1","nodeType":"VariableDeclaration","scope":491,"src":"3777:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":482,"name":"uint256","nodeType":"ElementaryTypeName","src":"3777:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":485,"indexed":false,"mutability":"mutable","name":"target","nameLocation":"3808:6:1","nodeType":"VariableDeclaration","scope":491,"src":"3800:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":484,"name":"address","nodeType":"ElementaryTypeName","src":"3800:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":487,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"3824:5:1","nodeType":"VariableDeclaration","scope":491,"src":"3816:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":486,"name":"uint256","nodeType":"ElementaryTypeName","src":"3816:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":489,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"3837:4:1","nodeType":"VariableDeclaration","scope":491,"src":"3831:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":488,"name":"bytes","nodeType":"ElementaryTypeName","src":"3831:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3756:86:1"},"src":"3738:105:1"},{"anonymous":false,"documentation":{"id":492,"nodeType":"StructuredDocumentation","src":"3849:82:1","text":" @dev Emitted when new proposal is scheduled with non-zero salt."},"eventSelector":"20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387","id":498,"name":"CallSalt","nameLocation":"3942:8:1","nodeType":"EventDefinition","parameters":{"id":497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":494,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"3967:2:1","nodeType":"VariableDeclaration","scope":498,"src":"3951:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3951:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":496,"indexed":false,"mutability":"mutable","name":"salt","nameLocation":"3979:4:1","nodeType":"VariableDeclaration","scope":498,"src":"3971:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3971:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3950:34:1"},"src":"3936:49:1"},{"anonymous":false,"documentation":{"id":499,"nodeType":"StructuredDocumentation","src":"3991:65:1","text":" @dev Emitted when operation `id` is cancelled."},"eventSelector":"baa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb70","id":503,"name":"Cancelled","nameLocation":"4067:9:1","nodeType":"EventDefinition","parameters":{"id":502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":501,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"4093:2:1","nodeType":"VariableDeclaration","scope":503,"src":"4077:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4077:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4076:20:1"},"src":"4061:36:1"},{"anonymous":false,"documentation":{"id":504,"nodeType":"StructuredDocumentation","src":"4103:89:1","text":" @dev Emitted when the minimum delay for future operations is modified."},"eventSelector":"11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5","id":510,"name":"MinDelayChange","nameLocation":"4203:14:1","nodeType":"EventDefinition","parameters":{"id":509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":506,"indexed":false,"mutability":"mutable","name":"oldDuration","nameLocation":"4226:11:1","nodeType":"VariableDeclaration","scope":510,"src":"4218:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":505,"name":"uint256","nodeType":"ElementaryTypeName","src":"4218:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":508,"indexed":false,"mutability":"mutable","name":"newDuration","nameLocation":"4247:11:1","nodeType":"VariableDeclaration","scope":510,"src":"4239:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":507,"name":"uint256","nodeType":"ElementaryTypeName","src":"4239:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4217:42:1"},"src":"4197:63:1"},{"body":{"id":533,"nodeType":"Block","src":"5180:91:1","statements":[{"expression":{"arguments":[{"id":527,"name":"minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":513,"src":"5226:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":528,"name":"proposers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"5236:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":529,"name":"executors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"5247:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":530,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":521,"src":"5258:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":526,"name":"__TimelockController_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":635,"src":"5190:35:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$","typeString":"function (uint256,address[] memory,address[] memory,address)"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5190:74:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":532,"nodeType":"ExpressionStatement","src":"5190:74:1"}]},"documentation":{"id":511,"nodeType":"StructuredDocumentation","src":"4266:759:1","text":" @dev Initializes the contract with the following parameters:\n - `minDelay`: initial minimum delay in seconds for operations\n - `proposers`: accounts to be granted proposer and canceller roles\n - `executors`: accounts to be granted executor role\n - `admin`: optional account to be granted admin role; disable with zero address\n IMPORTANT: The optional admin can aid with initial configuration of roles after deployment\n without being subject to delay, but this role should be subsequently renounced in favor of\n administration through timelocked proposals. Previous versions of this contract would assign\n this admin to the deployer automatically and should be renounced as well."},"id":534,"implemented":true,"kind":"function","modifiers":[{"id":524,"kind":"modifierInvocation","modifierName":{"id":523,"name":"onlyInitializing","nameLocations":["5163:16:1"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"5163:16:1"},"nodeType":"ModifierInvocation","src":"5163:16:1"}],"name":"__TimelockController_init","nameLocation":"5039:25:1","nodeType":"FunctionDefinition","parameters":{"id":522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":513,"mutability":"mutable","name":"minDelay","nameLocation":"5073:8:1","nodeType":"VariableDeclaration","scope":534,"src":"5065:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":512,"name":"uint256","nodeType":"ElementaryTypeName","src":"5065:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":516,"mutability":"mutable","name":"proposers","nameLocation":"5100:9:1","nodeType":"VariableDeclaration","scope":534,"src":"5083:26:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":514,"name":"address","nodeType":"ElementaryTypeName","src":"5083:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":515,"nodeType":"ArrayTypeName","src":"5083:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":519,"mutability":"mutable","name":"executors","nameLocation":"5128:9:1","nodeType":"VariableDeclaration","scope":534,"src":"5111:26:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":517,"name":"address","nodeType":"ElementaryTypeName","src":"5111:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":518,"nodeType":"ArrayTypeName","src":"5111:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":521,"mutability":"mutable","name":"admin","nameLocation":"5147:5:1","nodeType":"VariableDeclaration","scope":534,"src":"5139:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":520,"name":"address","nodeType":"ElementaryTypeName","src":"5139:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5064:89:1"},"returnParameters":{"id":525,"nodeType":"ParameterList","parameters":[],"src":"5180:0:1"},"scope":1478,"src":"5030:241:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":634,"nodeType":"Block","src":"5437:741:1","statements":[{"assignments":[551],"declarations":[{"constant":false,"id":551,"mutability":"mutable","name":"$","nameLocation":"5481:1:1","nodeType":"VariableDeclaration","scope":634,"src":"5447:35:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"},"typeName":{"id":550,"nodeType":"UserDefinedTypeName","pathNode":{"id":549,"name":"TimelockControllerStorage","nameLocations":["5447:25:1"],"nodeType":"IdentifierPath","referencedDeclaration":412,"src":"5447:25:1"},"referencedDeclaration":412,"src":"5447:25:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"}},"visibility":"internal"}],"id":554,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":552,"name":"_getTimelockControllerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"5485:29:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_TimelockControllerStorage_$412_storage_ptr_$","typeString":"function () pure returns (struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer)"}},"id":553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5485:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5447:69:1"},{"expression":{"arguments":[{"id":556,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"5568:18:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":559,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5596:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5588:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":557,"name":"address","nodeType":"ElementaryTypeName","src":"5588:7:1","typeDescriptions":{}}},"id":560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5588:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":555,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"5557:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5557:45:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":562,"nodeType":"ExpressionStatement","src":"5557:45:1"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":563,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":544,"src":"5643:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5660:1:1","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":565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5652:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":564,"name":"address","nodeType":"ElementaryTypeName","src":"5652:7:1","typeDescriptions":{}}},"id":567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5652:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5643:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":575,"nodeType":"IfStatement","src":"5639:87:1","trueBody":{"id":574,"nodeType":"Block","src":"5664:62:1","statements":[{"expression":{"arguments":[{"id":570,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"5689:18:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":571,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":544,"src":"5709:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":569,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"5678:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5678:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":573,"nodeType":"ExpressionStatement","src":"5678:37:1"}]}},{"body":{"id":601,"nodeType":"Block","src":"5828:118:1","statements":[{"expression":{"arguments":[{"id":588,"name":"PROPOSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"5853:13:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":589,"name":"proposers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":539,"src":"5868:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":591,"indexExpression":{"id":590,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"5878:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5868:12:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":587,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"5842:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5842:39:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":593,"nodeType":"ExpressionStatement","src":"5842:39:1"},{"expression":{"arguments":[{"id":595,"name":"CANCELLER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":398,"src":"5906:14:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":596,"name":"proposers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":539,"src":"5922:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":598,"indexExpression":{"id":597,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"5932:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5922:12:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":594,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"5895:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5895:40:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":600,"nodeType":"ExpressionStatement","src":"5895:40:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":580,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"5801:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":581,"name":"proposers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":539,"src":"5805:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5815:6:1","memberName":"length","nodeType":"MemberAccess","src":"5805:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5801:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":602,"initializationExpression":{"assignments":[577],"declarations":[{"constant":false,"id":577,"mutability":"mutable","name":"i","nameLocation":"5794:1:1","nodeType":"VariableDeclaration","scope":602,"src":"5786:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5786:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":579,"initialValue":{"hexValue":"30","id":578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5798:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5786:13:1"},"loopExpression":{"expression":{"id":585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5823:3:1","subExpression":{"id":584,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"5825:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":586,"nodeType":"ExpressionStatement","src":"5823:3:1"},"nodeType":"ForStatement","src":"5781:165:1"},{"body":{"id":621,"nodeType":"Block","src":"6033:64:1","statements":[{"expression":{"arguments":[{"id":615,"name":"EXECUTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"6058:13:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":616,"name":"executors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":542,"src":"6073:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":618,"indexExpression":{"id":617,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"6083:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6073:12:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":614,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"6047:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6047:39:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":620,"nodeType":"ExpressionStatement","src":"6047:39:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":607,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"6006:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":608,"name":"executors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":542,"src":"6010:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6020:6:1","memberName":"length","nodeType":"MemberAccess","src":"6010:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6006:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":622,"initializationExpression":{"assignments":[604],"declarations":[{"constant":false,"id":604,"mutability":"mutable","name":"i","nameLocation":"5999:1:1","nodeType":"VariableDeclaration","scope":622,"src":"5991:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":603,"name":"uint256","nodeType":"ElementaryTypeName","src":"5991:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":606,"initialValue":{"hexValue":"30","id":605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6003:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5991:13:1"},"loopExpression":{"expression":{"id":612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"6028:3:1","subExpression":{"id":611,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"6030:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":613,"nodeType":"ExpressionStatement","src":"6028:3:1"},"nodeType":"ForStatement","src":"5986:111:1"},{"expression":{"id":627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":623,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":551,"src":"6107:1:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"id":625,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6109:9:1","memberName":"_minDelay","nodeType":"MemberAccess","referencedDeclaration":411,"src":"6107:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":626,"name":"minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":536,"src":"6121:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6107:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":628,"nodeType":"ExpressionStatement","src":"6107:22:1"},{"eventCall":{"arguments":[{"hexValue":"30","id":630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6159:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":631,"name":"minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":536,"src":"6162:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":629,"name":"MinDelayChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":510,"src":"6144:14:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6144:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":633,"nodeType":"EmitStatement","src":"6139:32:1"}]},"id":635,"implemented":true,"kind":"function","modifiers":[{"id":547,"kind":"modifierInvocation","modifierName":{"id":546,"name":"onlyInitializing","nameLocations":["5420:16:1"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"5420:16:1"},"nodeType":"ModifierInvocation","src":"5420:16:1"}],"name":"__TimelockController_init_unchained","nameLocation":"5286:35:1","nodeType":"FunctionDefinition","parameters":{"id":545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":536,"mutability":"mutable","name":"minDelay","nameLocation":"5330:8:1","nodeType":"VariableDeclaration","scope":635,"src":"5322:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":535,"name":"uint256","nodeType":"ElementaryTypeName","src":"5322:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":539,"mutability":"mutable","name":"proposers","nameLocation":"5357:9:1","nodeType":"VariableDeclaration","scope":635,"src":"5340:26:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":537,"name":"address","nodeType":"ElementaryTypeName","src":"5340:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":538,"nodeType":"ArrayTypeName","src":"5340:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":542,"mutability":"mutable","name":"executors","nameLocation":"5385:9:1","nodeType":"VariableDeclaration","scope":635,"src":"5368:26:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":540,"name":"address","nodeType":"ElementaryTypeName","src":"5368:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":541,"nodeType":"ArrayTypeName","src":"5368:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":544,"mutability":"mutable","name":"admin","nameLocation":"5404:5:1","nodeType":"VariableDeclaration","scope":635,"src":"5396:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":543,"name":"address","nodeType":"ElementaryTypeName","src":"5396:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5321:89:1"},"returnParameters":{"id":548,"nodeType":"ParameterList","parameters":[],"src":"5437:0:1"},"scope":1478,"src":"5277:901:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":657,"nodeType":"Block","src":"6502:114:1","statements":[{"condition":{"id":647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6516:26:1","subExpression":{"arguments":[{"id":641,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":638,"src":"6525:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6539:1:1","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":643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6531:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":642,"name":"address","nodeType":"ElementaryTypeName","src":"6531:7:1","typeDescriptions":{}}},"id":645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6531:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":640,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"6517:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6517:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":655,"nodeType":"IfStatement","src":"6512:87:1","trueBody":{"id":654,"nodeType":"Block","src":"6544:55:1","statements":[{"expression":{"arguments":[{"id":649,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":638,"src":"6569:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":650,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"6575:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6575:12:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":648,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[129,150],"referencedDeclaration":150,"src":"6558:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) view"}},"id":652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6558:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":653,"nodeType":"ExpressionStatement","src":"6558:30:1"}]}},{"id":656,"nodeType":"PlaceholderStatement","src":"6608:1:1"}]},"documentation":{"id":636,"nodeType":"StructuredDocumentation","src":"6184:271:1","text":" @dev Modifier to make a function callable only by a certain role. In\n addition to checking the sender's role, `address(0)` 's role is also\n considered. Granting a role to `address(0)` is equivalent to enabling\n this role for everyone."},"id":658,"name":"onlyRoleOrOpenRole","nameLocation":"6469:18:1","nodeType":"ModifierDefinition","parameters":{"id":639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":638,"mutability":"mutable","name":"role","nameLocation":"6496:4:1","nodeType":"VariableDeclaration","scope":658,"src":"6488:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6488:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6487:14:1"},"src":"6460:156:1","virtual":false,"visibility":"internal"},{"body":{"id":662,"nodeType":"Block","src":"6745:2:1","statements":[]},"documentation":{"id":659,"nodeType":"StructuredDocumentation","src":"6622:91:1","text":" @dev Contract might receive/hold ETH as part of the maintenance process."},"id":663,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":660,"nodeType":"ParameterList","parameters":[],"src":"6725:2:1"},"returnParameters":{"id":661,"nodeType":"ParameterList","parameters":[],"src":"6745:0:1"},"scope":1478,"src":"6718:29:1","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[91,1967],"body":{"id":679,"nodeType":"Block","src":"6971:60:1","statements":[{"expression":{"arguments":[{"id":676,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":666,"src":"7012:11:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":674,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"6988:5:1","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TimelockControllerUpgradeable_$1478_$","typeString":"type(contract super TimelockControllerUpgradeable)"}},"id":675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6994:17:1","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":1967,"src":"6988:23:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6988:36:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":673,"id":678,"nodeType":"Return","src":"6981:43:1"}]},"documentation":{"id":664,"nodeType":"StructuredDocumentation","src":"6753:56:1","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":680,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"6823:17:1","nodeType":"FunctionDefinition","overrides":{"id":670,"nodeType":"OverrideSpecifier","overrides":[{"id":668,"name":"AccessControlUpgradeable","nameLocations":["6904:24:1"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"6904:24:1"},{"id":669,"name":"ERC1155HolderUpgradeable","nameLocations":["6930:24:1"],"nodeType":"IdentifierPath","referencedDeclaration":2012,"src":"6930:24:1"}],"src":"6895:60:1"},"parameters":{"id":667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":666,"mutability":"mutable","name":"interfaceId","nameLocation":"6857:11:1","nodeType":"VariableDeclaration","scope":680,"src":"6850:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":665,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6850:6:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6840:34:1"},"returnParameters":{"id":673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":680,"src":"6965:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":671,"name":"bool","nodeType":"ElementaryTypeName","src":"6965:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6964:6:1"},"scope":1478,"src":"6814:217:1","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":695,"nodeType":"Block","src":"7249:69:1","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"},"id":693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":689,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":683,"src":"7284:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":688,"name":"getOperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":819,"src":"7266:17:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_enum$_OperationState_$428_$","typeString":"function (bytes32) view returns (enum TimelockControllerUpgradeable.OperationState)"}},"id":690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7266:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":691,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"7291:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7306:5:1","memberName":"Unset","nodeType":"MemberAccess","referencedDeclaration":424,"src":"7291:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"src":"7266:45:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":687,"id":694,"nodeType":"Return","src":"7259:52:1"}]},"documentation":{"id":681,"nodeType":"StructuredDocumentation","src":"7037:147:1","text":" @dev Returns whether an id corresponds to a registered operation. This\n includes both Waiting, Ready, and Done operations."},"functionSelector":"31d50750","id":696,"implemented":true,"kind":"function","modifiers":[],"name":"isOperation","nameLocation":"7198:11:1","nodeType":"FunctionDefinition","parameters":{"id":684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":683,"mutability":"mutable","name":"id","nameLocation":"7218:2:1","nodeType":"VariableDeclaration","scope":696,"src":"7210:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":682,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7210:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7209:12:1"},"returnParameters":{"id":687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":696,"src":"7243:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":685,"name":"bool","nodeType":"ElementaryTypeName","src":"7243:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7242:6:1"},"scope":1478,"src":"7189:129:1","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":721,"nodeType":"Block","src":"7520:142:1","statements":[{"assignments":[706],"declarations":[{"constant":false,"id":706,"mutability":"mutable","name":"state","nameLocation":"7545:5:1","nodeType":"VariableDeclaration","scope":721,"src":"7530:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"},"typeName":{"id":705,"nodeType":"UserDefinedTypeName","pathNode":{"id":704,"name":"OperationState","nameLocations":["7530:14:1"],"nodeType":"IdentifierPath","referencedDeclaration":428,"src":"7530:14:1"},"referencedDeclaration":428,"src":"7530:14:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"visibility":"internal"}],"id":710,"initialValue":{"arguments":[{"id":708,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":699,"src":"7571:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":707,"name":"getOperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":819,"src":"7553:17:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_enum$_OperationState_$428_$","typeString":"function (bytes32) view returns (enum TimelockControllerUpgradeable.OperationState)"}},"id":709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7553:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"nodeType":"VariableDeclarationStatement","src":"7530:44:1"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"},"id":714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":711,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"7591:5:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":712,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"7600:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7615:7:1","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":425,"src":"7600:22:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"src":"7591:31:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"},"id":718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":715,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"7626:5:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":716,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"7635:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7650:5:1","memberName":"Ready","nodeType":"MemberAccess","referencedDeclaration":426,"src":"7635:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"src":"7626:29:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7591:64:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":703,"id":720,"nodeType":"Return","src":"7584:71:1"}]},"documentation":{"id":697,"nodeType":"StructuredDocumentation","src":"7324:124:1","text":" @dev Returns whether an operation is pending or not. Note that a \"pending\" operation may also be \"ready\"."},"functionSelector":"584b153e","id":722,"implemented":true,"kind":"function","modifiers":[],"name":"isOperationPending","nameLocation":"7462:18:1","nodeType":"FunctionDefinition","parameters":{"id":700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":699,"mutability":"mutable","name":"id","nameLocation":"7489:2:1","nodeType":"VariableDeclaration","scope":722,"src":"7481:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7481:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7480:12:1"},"returnParameters":{"id":703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":722,"src":"7514:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":701,"name":"bool","nodeType":"ElementaryTypeName","src":"7514:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7513:6:1"},"scope":1478,"src":"7453:209:1","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":737,"nodeType":"Block","src":"7863:69:1","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"},"id":735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":731,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"7898:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":730,"name":"getOperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":819,"src":"7880:17:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_enum$_OperationState_$428_$","typeString":"function (bytes32) view returns (enum TimelockControllerUpgradeable.OperationState)"}},"id":732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7880:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":733,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"7905:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7920:5:1","memberName":"Ready","nodeType":"MemberAccess","referencedDeclaration":426,"src":"7905:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"src":"7880:45:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":729,"id":736,"nodeType":"Return","src":"7873:52:1"}]},"documentation":{"id":723,"nodeType":"StructuredDocumentation","src":"7668:125:1","text":" @dev Returns whether an operation is ready for execution. Note that a \"ready\" operation is also \"pending\"."},"functionSelector":"13bc9f20","id":738,"implemented":true,"kind":"function","modifiers":[],"name":"isOperationReady","nameLocation":"7807:16:1","nodeType":"FunctionDefinition","parameters":{"id":726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":725,"mutability":"mutable","name":"id","nameLocation":"7832:2:1","nodeType":"VariableDeclaration","scope":738,"src":"7824:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7824:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7823:12:1"},"returnParameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":728,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":738,"src":"7857:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":727,"name":"bool","nodeType":"ElementaryTypeName","src":"7857:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7856:6:1"},"scope":1478,"src":"7798:134:1","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":753,"nodeType":"Block","src":"8075:68:1","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"},"id":751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":747,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":741,"src":"8110:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":746,"name":"getOperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":819,"src":"8092:17:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_enum$_OperationState_$428_$","typeString":"function (bytes32) view returns (enum TimelockControllerUpgradeable.OperationState)"}},"id":748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8092:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":749,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"8117:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8132:4:1","memberName":"Done","nodeType":"MemberAccess","referencedDeclaration":427,"src":"8117:19:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"src":"8092:44:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":745,"id":752,"nodeType":"Return","src":"8085:51:1"}]},"documentation":{"id":739,"nodeType":"StructuredDocumentation","src":"7938:68:1","text":" @dev Returns whether an operation is done or not."},"functionSelector":"2ab0f529","id":754,"implemented":true,"kind":"function","modifiers":[],"name":"isOperationDone","nameLocation":"8020:15:1","nodeType":"FunctionDefinition","parameters":{"id":742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":741,"mutability":"mutable","name":"id","nameLocation":"8044:2:1","nodeType":"VariableDeclaration","scope":754,"src":"8036:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8036:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8035:12:1"},"returnParameters":{"id":745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":744,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":754,"src":"8069:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":743,"name":"bool","nodeType":"ElementaryTypeName","src":"8069:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8068:6:1"},"scope":1478,"src":"8011:132:1","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":773,"nodeType":"Block","src":"8363:120:1","statements":[{"assignments":[764],"declarations":[{"constant":false,"id":764,"mutability":"mutable","name":"$","nameLocation":"8407:1:1","nodeType":"VariableDeclaration","scope":773,"src":"8373:35:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"},"typeName":{"id":763,"nodeType":"UserDefinedTypeName","pathNode":{"id":762,"name":"TimelockControllerStorage","nameLocations":["8373:25:1"],"nodeType":"IdentifierPath","referencedDeclaration":412,"src":"8373:25:1"},"referencedDeclaration":412,"src":"8373:25:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"}},"visibility":"internal"}],"id":767,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":765,"name":"_getTimelockControllerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"8411:29:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_TimelockControllerStorage_$412_storage_ptr_$","typeString":"function () pure returns (struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer)"}},"id":766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8411:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8373:69:1"},{"expression":{"baseExpression":{"expression":{"id":768,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":764,"src":"8459:1:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"id":769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8461:11:1","memberName":"_timestamps","nodeType":"MemberAccess","referencedDeclaration":409,"src":"8459:13:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":771,"indexExpression":{"id":770,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"8473:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8459:17:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":761,"id":772,"nodeType":"Return","src":"8452:24:1"}]},"documentation":{"id":755,"nodeType":"StructuredDocumentation","src":"8149:137:1","text":" @dev Returns the timestamp at which an operation becomes ready (0 for\n unset operations, 1 for done operations)."},"functionSelector":"d45c4435","id":774,"implemented":true,"kind":"function","modifiers":[],"name":"getTimestamp","nameLocation":"8300:12:1","nodeType":"FunctionDefinition","parameters":{"id":758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":757,"mutability":"mutable","name":"id","nameLocation":"8321:2:1","nodeType":"VariableDeclaration","scope":774,"src":"8313:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8313:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8312:12:1"},"returnParameters":{"id":761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":760,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":774,"src":"8354:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":759,"name":"uint256","nodeType":"ElementaryTypeName","src":"8354:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8353:9:1"},"scope":1478,"src":"8291:192:1","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":818,"nodeType":"Block","src":"8626:376:1","statements":[{"assignments":[784],"declarations":[{"constant":false,"id":784,"mutability":"mutable","name":"timestamp","nameLocation":"8644:9:1","nodeType":"VariableDeclaration","scope":818,"src":"8636:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":783,"name":"uint256","nodeType":"ElementaryTypeName","src":"8636:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":788,"initialValue":{"arguments":[{"id":786,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"8669:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":785,"name":"getTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":774,"src":"8656:12:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) view returns (uint256)"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8656:16:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8636:36:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":789,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"8686:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8699:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8686:14:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":796,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"8764:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":797,"name":"_DONE_TIMESTAMP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":404,"src":"8777:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8764:28:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":803,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"8855:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":804,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8867:5:1","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8873:9:1","memberName":"timestamp","nodeType":"MemberAccess","src":"8867:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8855:27:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":814,"nodeType":"Block","src":"8944:52:1","statements":[{"expression":{"expression":{"id":811,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"8965:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8980:5:1","memberName":"Ready","nodeType":"MemberAccess","referencedDeclaration":426,"src":"8965:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"functionReturnParameters":782,"id":813,"nodeType":"Return","src":"8958:27:1"}]},"id":815,"nodeType":"IfStatement","src":"8851:145:1","trueBody":{"id":810,"nodeType":"Block","src":"8884:54:1","statements":[{"expression":{"expression":{"id":807,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"8905:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8920:7:1","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":425,"src":"8905:22:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"functionReturnParameters":782,"id":809,"nodeType":"Return","src":"8898:29:1"}]}},"id":816,"nodeType":"IfStatement","src":"8760:236:1","trueBody":{"id":802,"nodeType":"Block","src":"8794:51:1","statements":[{"expression":{"expression":{"id":799,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"8815:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8830:4:1","memberName":"Done","nodeType":"MemberAccess","referencedDeclaration":427,"src":"8815:19:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"functionReturnParameters":782,"id":801,"nodeType":"Return","src":"8808:26:1"}]}},"id":817,"nodeType":"IfStatement","src":"8682:314:1","trueBody":{"id":795,"nodeType":"Block","src":"8702:52:1","statements":[{"expression":{"expression":{"id":792,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"8723:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8738:5:1","memberName":"Unset","nodeType":"MemberAccess","referencedDeclaration":424,"src":"8723:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"functionReturnParameters":782,"id":794,"nodeType":"Return","src":"8716:27:1"}]}}]},"documentation":{"id":775,"nodeType":"StructuredDocumentation","src":"8489:48:1","text":" @dev Returns operation state."},"functionSelector":"7958004c","id":819,"implemented":true,"kind":"function","modifiers":[],"name":"getOperationState","nameLocation":"8551:17:1","nodeType":"FunctionDefinition","parameters":{"id":778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":777,"mutability":"mutable","name":"id","nameLocation":"8577:2:1","nodeType":"VariableDeclaration","scope":819,"src":"8569:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8569:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8568:12:1"},"returnParameters":{"id":782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":819,"src":"8610:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"},"typeName":{"id":780,"nodeType":"UserDefinedTypeName","pathNode":{"id":779,"name":"OperationState","nameLocations":["8610:14:1"],"nodeType":"IdentifierPath","referencedDeclaration":428,"src":"8610:14:1"},"referencedDeclaration":428,"src":"8610:14:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"visibility":"internal"}],"src":"8609:16:1"},"scope":1478,"src":"8542:460:1","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":834,"nodeType":"Block","src":"9260:114:1","statements":[{"assignments":[827],"declarations":[{"constant":false,"id":827,"mutability":"mutable","name":"$","nameLocation":"9304:1:1","nodeType":"VariableDeclaration","scope":834,"src":"9270:35:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"},"typeName":{"id":826,"nodeType":"UserDefinedTypeName","pathNode":{"id":825,"name":"TimelockControllerStorage","nameLocations":["9270:25:1"],"nodeType":"IdentifierPath","referencedDeclaration":412,"src":"9270:25:1"},"referencedDeclaration":412,"src":"9270:25:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"}},"visibility":"internal"}],"id":830,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":828,"name":"_getTimelockControllerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"9308:29:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_TimelockControllerStorage_$412_storage_ptr_$","typeString":"function () pure returns (struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer)"}},"id":829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9308:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9270:69:1"},{"expression":{"expression":{"id":831,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":827,"src":"9356:1:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"id":832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9358:9:1","memberName":"_minDelay","nodeType":"MemberAccess","referencedDeclaration":411,"src":"9356:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":824,"id":833,"nodeType":"Return","src":"9349:18:1"}]},"documentation":{"id":820,"nodeType":"StructuredDocumentation","src":"9008:186:1","text":" @dev Returns the minimum delay in seconds for an operation to become valid.\n This value can be changed by executing an operation that calls `updateDelay`."},"functionSelector":"f27a0c92","id":835,"implemented":true,"kind":"function","modifiers":[],"name":"getMinDelay","nameLocation":"9208:11:1","nodeType":"FunctionDefinition","parameters":{"id":821,"nodeType":"ParameterList","parameters":[],"src":"9219:2:1"},"returnParameters":{"id":824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":823,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":835,"src":"9251:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":822,"name":"uint256","nodeType":"ElementaryTypeName","src":"9251:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9250:9:1"},"scope":1478,"src":"9199:175:1","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":862,"nodeType":"Block","src":"9681:85:1","statements":[{"expression":{"arguments":[{"arguments":[{"id":854,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":838,"src":"9719:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":855,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":840,"src":"9727:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":856,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":842,"src":"9734:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":857,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":844,"src":"9740:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":858,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":846,"src":"9753:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":852,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9708:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9712:6:1","memberName":"encode","nodeType":"MemberAccess","src":"9708:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9708:50:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":851,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9698:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9698:61:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":850,"id":861,"nodeType":"Return","src":"9691:68:1"}]},"documentation":{"id":836,"nodeType":"StructuredDocumentation","src":"9380:102:1","text":" @dev Returns the identifier of an operation containing a single\n transaction."},"functionSelector":"8065657f","id":863,"implemented":true,"kind":"function","modifiers":[],"name":"hashOperation","nameLocation":"9496:13:1","nodeType":"FunctionDefinition","parameters":{"id":847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":838,"mutability":"mutable","name":"target","nameLocation":"9527:6:1","nodeType":"VariableDeclaration","scope":863,"src":"9519:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":837,"name":"address","nodeType":"ElementaryTypeName","src":"9519:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":840,"mutability":"mutable","name":"value","nameLocation":"9551:5:1","nodeType":"VariableDeclaration","scope":863,"src":"9543:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":839,"name":"uint256","nodeType":"ElementaryTypeName","src":"9543:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":842,"mutability":"mutable","name":"data","nameLocation":"9581:4:1","nodeType":"VariableDeclaration","scope":863,"src":"9566:19:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":841,"name":"bytes","nodeType":"ElementaryTypeName","src":"9566:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":844,"mutability":"mutable","name":"predecessor","nameLocation":"9603:11:1","nodeType":"VariableDeclaration","scope":863,"src":"9595:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9595:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":846,"mutability":"mutable","name":"salt","nameLocation":"9632:4:1","nodeType":"VariableDeclaration","scope":863,"src":"9624:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9624:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9509:133:1"},"returnParameters":{"id":850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":863,"src":"9672:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9672:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9671:9:1"},"scope":1478,"src":"9487:279:1","stateMutability":"pure","virtual":true,"visibility":"public"},{"body":{"id":893,"nodeType":"Block","src":"10111:91:1","statements":[{"expression":{"arguments":[{"arguments":[{"id":885,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":867,"src":"10149:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},{"id":886,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":870,"src":"10158:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},{"id":887,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":873,"src":"10166:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},{"id":888,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"10176:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":889,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":877,"src":"10189:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"},{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"},{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":883,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10138:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10142:6:1","memberName":"encode","nodeType":"MemberAccess","src":"10138:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10138:56:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":882,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10128:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10128:67:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":881,"id":892,"nodeType":"Return","src":"10121:74:1"}]},"documentation":{"id":864,"nodeType":"StructuredDocumentation","src":"9772:105:1","text":" @dev Returns the identifier of an operation containing a batch of\n transactions."},"functionSelector":"b1c5f427","id":894,"implemented":true,"kind":"function","modifiers":[],"name":"hashOperationBatch","nameLocation":"9891:18:1","nodeType":"FunctionDefinition","parameters":{"id":878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":867,"mutability":"mutable","name":"targets","nameLocation":"9938:7:1","nodeType":"VariableDeclaration","scope":894,"src":"9919:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":865,"name":"address","nodeType":"ElementaryTypeName","src":"9919:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":866,"nodeType":"ArrayTypeName","src":"9919:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":870,"mutability":"mutable","name":"values","nameLocation":"9974:6:1","nodeType":"VariableDeclaration","scope":894,"src":"9955:25:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":868,"name":"uint256","nodeType":"ElementaryTypeName","src":"9955:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":869,"nodeType":"ArrayTypeName","src":"9955:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":873,"mutability":"mutable","name":"payloads","nameLocation":"10007:8:1","nodeType":"VariableDeclaration","scope":894,"src":"9990:25:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":871,"name":"bytes","nodeType":"ElementaryTypeName","src":"9990:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":872,"nodeType":"ArrayTypeName","src":"9990:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":875,"mutability":"mutable","name":"predecessor","nameLocation":"10033:11:1","nodeType":"VariableDeclaration","scope":894,"src":"10025:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10025:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":877,"mutability":"mutable","name":"salt","nameLocation":"10062:4:1","nodeType":"VariableDeclaration","scope":894,"src":"10054:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10054:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9909:163:1"},"returnParameters":{"id":881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":880,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":894,"src":"10102:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10102:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10101:9:1"},"scope":1478,"src":"9882:320:1","stateMutability":"pure","virtual":true,"visibility":"public"},{"body":{"id":951,"nodeType":"Block","src":"10662:270:1","statements":[{"assignments":[914],"declarations":[{"constant":false,"id":914,"mutability":"mutable","name":"id","nameLocation":"10680:2:1","nodeType":"VariableDeclaration","scope":951,"src":"10672:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10672:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":922,"initialValue":{"arguments":[{"id":916,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":897,"src":"10699:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":917,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":899,"src":"10707:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":918,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"10714:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":919,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":903,"src":"10720:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":920,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"10733:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":915,"name":"hashOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":863,"src":"10685:13:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,uint256,bytes calldata,bytes32,bytes32) pure returns (bytes32)"}},"id":921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10685:53:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10672:66:1"},{"expression":{"arguments":[{"id":924,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"10758:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":925,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":907,"src":"10762:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":923,"name":"_schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1108,"src":"10748:9:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256)"}},"id":926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10748:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":927,"nodeType":"ExpressionStatement","src":"10748:20:1"},{"eventCall":{"arguments":[{"id":929,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"10797:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10801:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":931,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":897,"src":"10804:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":932,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":899,"src":"10812:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":933,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"10819:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":934,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":903,"src":"10825:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":935,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":907,"src":"10838:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":928,"name":"CallScheduled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"10783:13:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,address,uint256,bytes memory,bytes32,uint256)"}},"id":936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10783:61:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":937,"nodeType":"EmitStatement","src":"10778:66:1"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":938,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"10858:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10874:1:1","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":940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10866:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10866:7:1","typeDescriptions":{}}},"id":942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10866:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10858:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":950,"nodeType":"IfStatement","src":"10854:72:1","trueBody":{"id":949,"nodeType":"Block","src":"10878:48:1","statements":[{"eventCall":{"arguments":[{"id":945,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"10906:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":946,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"10910:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":944,"name":"CallSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":498,"src":"10897:8:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10897:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":948,"nodeType":"EmitStatement","src":"10892:23:1"}]}}]},"documentation":{"id":895,"nodeType":"StructuredDocumentation","src":"10208:236:1","text":" @dev Schedule an operation containing a single transaction.\n Emits {CallSalt} if salt is nonzero, and {CallScheduled}.\n Requirements:\n - the caller must have the 'proposer' role."},"functionSelector":"01d5062a","id":952,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":910,"name":"PROPOSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"10647:13:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":911,"kind":"modifierInvocation","modifierName":{"id":909,"name":"onlyRole","nameLocations":["10638:8:1"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"10638:8:1"},"nodeType":"ModifierInvocation","src":"10638:23:1"}],"name":"schedule","nameLocation":"10458:8:1","nodeType":"FunctionDefinition","parameters":{"id":908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":897,"mutability":"mutable","name":"target","nameLocation":"10484:6:1","nodeType":"VariableDeclaration","scope":952,"src":"10476:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":896,"name":"address","nodeType":"ElementaryTypeName","src":"10476:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":899,"mutability":"mutable","name":"value","nameLocation":"10508:5:1","nodeType":"VariableDeclaration","scope":952,"src":"10500:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":898,"name":"uint256","nodeType":"ElementaryTypeName","src":"10500:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":901,"mutability":"mutable","name":"data","nameLocation":"10538:4:1","nodeType":"VariableDeclaration","scope":952,"src":"10523:19:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":900,"name":"bytes","nodeType":"ElementaryTypeName","src":"10523:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":903,"mutability":"mutable","name":"predecessor","nameLocation":"10560:11:1","nodeType":"VariableDeclaration","scope":952,"src":"10552:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10552:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":905,"mutability":"mutable","name":"salt","nameLocation":"10589:4:1","nodeType":"VariableDeclaration","scope":952,"src":"10581:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10581:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":907,"mutability":"mutable","name":"delay","nameLocation":"10611:5:1","nodeType":"VariableDeclaration","scope":952,"src":"10603:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":906,"name":"uint256","nodeType":"ElementaryTypeName","src":"10603:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10466:156:1"},"returnParameters":{"id":912,"nodeType":"ParameterList","parameters":[],"src":"10662:0:1"},"scope":1478,"src":"10449:483:1","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":1053,"nodeType":"Block","src":"11469:559:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":974,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"11483:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11491:6:1","memberName":"length","nodeType":"MemberAccess","src":"11483:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":976,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"11501:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11508:6:1","memberName":"length","nodeType":"MemberAccess","src":"11501:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11483:31:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":979,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"11518:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11526:6:1","memberName":"length","nodeType":"MemberAccess","src":"11518:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":981,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"11536:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11545:6:1","memberName":"length","nodeType":"MemberAccess","src":"11536:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11518:33:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11483:68:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":995,"nodeType":"IfStatement","src":"11479:184:1","trueBody":{"id":994,"nodeType":"Block","src":"11553:110:1","statements":[{"errorCall":{"arguments":[{"expression":{"id":986,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"11605:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11613:6:1","memberName":"length","nodeType":"MemberAccess","src":"11605:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":988,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"11621:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11630:6:1","memberName":"length","nodeType":"MemberAccess","src":"11621:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":990,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"11638:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11645:6:1","memberName":"length","nodeType":"MemberAccess","src":"11638:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":985,"name":"TimelockInvalidOperationLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":437,"src":"11574:30:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11574:78:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":993,"nodeType":"RevertStatement","src":"11567:85:1"}]}},{"assignments":[997],"declarations":[{"constant":false,"id":997,"mutability":"mutable","name":"id","nameLocation":"11681:2:1","nodeType":"VariableDeclaration","scope":1053,"src":"11673:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11673:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1005,"initialValue":{"arguments":[{"id":999,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"11705:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},{"id":1000,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"11714:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},{"id":1001,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"11722:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},{"id":1002,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"11732:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1003,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"11745:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"},{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"},{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":998,"name":"hashOperationBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"11686:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address[] calldata,uint256[] calldata,bytes calldata[] calldata,bytes32,bytes32) pure returns (bytes32)"}},"id":1004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11686:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11673:77:1"},{"expression":{"arguments":[{"id":1007,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":997,"src":"11770:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1008,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":968,"src":"11774:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1006,"name":"_schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1108,"src":"11760:9:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256)"}},"id":1009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11760:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1010,"nodeType":"ExpressionStatement","src":"11760:20:1"},{"body":{"id":1038,"nodeType":"Block","src":"11835:106:1","statements":[{"eventCall":{"arguments":[{"id":1023,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":997,"src":"11868:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1024,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1012,"src":"11872:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":1025,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"11875:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":1027,"indexExpression":{"id":1026,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1012,"src":"11883:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11875:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":1028,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"11887:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":1030,"indexExpression":{"id":1029,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1012,"src":"11894:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11887:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":1031,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"11898:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":1033,"indexExpression":{"id":1032,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1012,"src":"11907:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11898:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":1034,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"11911:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1035,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":968,"src":"11924:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1022,"name":"CallScheduled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"11854:13:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,address,uint256,bytes memory,bytes32,uint256)"}},"id":1036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11854:76:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1037,"nodeType":"EmitStatement","src":"11849:81:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1015,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1012,"src":"11810:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1016,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"11814:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":1017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11822:6:1","memberName":"length","nodeType":"MemberAccess","src":"11814:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11810:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1039,"initializationExpression":{"assignments":[1012],"declarations":[{"constant":false,"id":1012,"mutability":"mutable","name":"i","nameLocation":"11803:1:1","nodeType":"VariableDeclaration","scope":1039,"src":"11795:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1011,"name":"uint256","nodeType":"ElementaryTypeName","src":"11795:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1014,"initialValue":{"hexValue":"30","id":1013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11807:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11795:13:1"},"loopExpression":{"expression":{"id":1020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"11830:3:1","subExpression":{"id":1019,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1012,"src":"11832:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1021,"nodeType":"ExpressionStatement","src":"11830:3:1"},"nodeType":"ForStatement","src":"11790:151:1"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1040,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"11954:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11970:1:1","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":1042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11962:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11962:7:1","typeDescriptions":{}}},"id":1044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11962:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11954:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1052,"nodeType":"IfStatement","src":"11950:72:1","trueBody":{"id":1051,"nodeType":"Block","src":"11974:48:1","statements":[{"eventCall":{"arguments":[{"id":1047,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":997,"src":"12002:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1048,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":966,"src":"12006:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1046,"name":"CallSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":498,"src":"11993:8:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":1049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11993:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1050,"nodeType":"EmitStatement","src":"11988:23:1"}]}}]},"documentation":{"id":953,"nodeType":"StructuredDocumentation","src":"10938:278:1","text":" @dev Schedule an operation containing a batch of transactions.\n Emits {CallSalt} if salt is nonzero, and one {CallScheduled} event per transaction in the batch.\n Requirements:\n - the caller must have the 'proposer' role."},"functionSelector":"8f2a0bb0","id":1054,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":971,"name":"PROPOSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"11454:13:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":972,"kind":"modifierInvocation","modifierName":{"id":970,"name":"onlyRole","nameLocations":["11445:8:1"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"11445:8:1"},"nodeType":"ModifierInvocation","src":"11445:23:1"}],"name":"scheduleBatch","nameLocation":"11230:13:1","nodeType":"FunctionDefinition","parameters":{"id":969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":956,"mutability":"mutable","name":"targets","nameLocation":"11272:7:1","nodeType":"VariableDeclaration","scope":1054,"src":"11253:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":954,"name":"address","nodeType":"ElementaryTypeName","src":"11253:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":955,"nodeType":"ArrayTypeName","src":"11253:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":959,"mutability":"mutable","name":"values","nameLocation":"11308:6:1","nodeType":"VariableDeclaration","scope":1054,"src":"11289:25:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":957,"name":"uint256","nodeType":"ElementaryTypeName","src":"11289:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":958,"nodeType":"ArrayTypeName","src":"11289:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":962,"mutability":"mutable","name":"payloads","nameLocation":"11341:8:1","nodeType":"VariableDeclaration","scope":1054,"src":"11324:25:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":960,"name":"bytes","nodeType":"ElementaryTypeName","src":"11324:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":961,"nodeType":"ArrayTypeName","src":"11324:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":964,"mutability":"mutable","name":"predecessor","nameLocation":"11367:11:1","nodeType":"VariableDeclaration","scope":1054,"src":"11359:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11359:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":966,"mutability":"mutable","name":"salt","nameLocation":"11396:4:1","nodeType":"VariableDeclaration","scope":1054,"src":"11388:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11388:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":968,"mutability":"mutable","name":"delay","nameLocation":"11418:5:1","nodeType":"VariableDeclaration","scope":1054,"src":"11410:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":967,"name":"uint256","nodeType":"ElementaryTypeName","src":"11410:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11243:186:1"},"returnParameters":{"id":973,"nodeType":"ParameterList","parameters":[],"src":"11469:0:1"},"scope":1478,"src":"11221:807:1","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":1107,"nodeType":"Block","src":"12183:426:1","statements":[{"assignments":[1064],"declarations":[{"constant":false,"id":1064,"mutability":"mutable","name":"$","nameLocation":"12227:1:1","nodeType":"VariableDeclaration","scope":1107,"src":"12193:35:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"},"typeName":{"id":1063,"nodeType":"UserDefinedTypeName","pathNode":{"id":1062,"name":"TimelockControllerStorage","nameLocations":["12193:25:1"],"nodeType":"IdentifierPath","referencedDeclaration":412,"src":"12193:25:1"},"referencedDeclaration":412,"src":"12193:25:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"}},"visibility":"internal"}],"id":1067,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1065,"name":"_getTimelockControllerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"12231:29:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_TimelockControllerStorage_$412_storage_ptr_$","typeString":"function () pure returns (struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer)"}},"id":1066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12231:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12193:69:1"},{"condition":{"arguments":[{"id":1069,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"12288:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1068,"name":"isOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"12276:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12276:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1080,"nodeType":"IfStatement","src":"12272:131:1","trueBody":{"id":1079,"nodeType":"Block","src":"12293:110:1","statements":[{"errorCall":{"arguments":[{"id":1072,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"12347:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"id":1074,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"12370:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":1075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12385:5:1","memberName":"Unset","nodeType":"MemberAccess","referencedDeclaration":424,"src":"12370:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}],"id":1073,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"12351:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_OperationState_$428_$returns$_t_bytes32_$","typeString":"function (enum TimelockControllerUpgradeable.OperationState) pure returns (bytes32)"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12351:40:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1071,"name":"TimelockUnexpectedOperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"12314:32:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":1077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12314:78:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1078,"nodeType":"RevertStatement","src":"12307:85:1"}]}},{"assignments":[1082],"declarations":[{"constant":false,"id":1082,"mutability":"mutable","name":"minDelay","nameLocation":"12420:8:1","nodeType":"VariableDeclaration","scope":1107,"src":"12412:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1081,"name":"uint256","nodeType":"ElementaryTypeName","src":"12412:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1085,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1083,"name":"getMinDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"12431:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":1084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12431:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12412:32:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1086,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1059,"src":"12458:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1087,"name":"minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1082,"src":"12466:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12458:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1095,"nodeType":"IfStatement","src":"12454:96:1","trueBody":{"id":1094,"nodeType":"Block","src":"12476:74:1","statements":[{"errorCall":{"arguments":[{"id":1090,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1059,"src":"12523:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1091,"name":"minDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1082,"src":"12530:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1089,"name":"TimelockInsufficientDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":444,"src":"12497:25:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12497:42:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1093,"nodeType":"RevertStatement","src":"12490:49:1"}]}},{"expression":{"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":1096,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1064,"src":"12559:1:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"id":1099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12561:11:1","memberName":"_timestamps","nodeType":"MemberAccess","referencedDeclaration":409,"src":"12559:13:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":1100,"indexExpression":{"id":1098,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"12573:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12559:17:1","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":{"expression":{"id":1101,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12579:5:1","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12585:9:1","memberName":"timestamp","nodeType":"MemberAccess","src":"12579:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":1103,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1059,"src":"12597:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12579:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12559:43:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1106,"nodeType":"ExpressionStatement","src":"12559:43:1"}]},"documentation":{"id":1055,"nodeType":"StructuredDocumentation","src":"12034:90:1","text":" @dev Schedule an operation that is to become valid after a given delay."},"id":1108,"implemented":true,"kind":"function","modifiers":[],"name":"_schedule","nameLocation":"12138:9:1","nodeType":"FunctionDefinition","parameters":{"id":1060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1057,"mutability":"mutable","name":"id","nameLocation":"12156:2:1","nodeType":"VariableDeclaration","scope":1108,"src":"12148:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12148:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1059,"mutability":"mutable","name":"delay","nameLocation":"12168:5:1","nodeType":"VariableDeclaration","scope":1108,"src":"12160:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1058,"name":"uint256","nodeType":"ElementaryTypeName","src":"12160:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12147:27:1"},"returnParameters":{"id":1061,"nodeType":"ParameterList","parameters":[],"src":"12183:0:1"},"scope":1478,"src":"12129:480:1","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":1152,"nodeType":"Block","src":"12819:388:1","statements":[{"assignments":[1119],"declarations":[{"constant":false,"id":1119,"mutability":"mutable","name":"$","nameLocation":"12863:1:1","nodeType":"VariableDeclaration","scope":1152,"src":"12829:35:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"},"typeName":{"id":1118,"nodeType":"UserDefinedTypeName","pathNode":{"id":1117,"name":"TimelockControllerStorage","nameLocations":["12829:25:1"],"nodeType":"IdentifierPath","referencedDeclaration":412,"src":"12829:25:1"},"referencedDeclaration":412,"src":"12829:25:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"}},"visibility":"internal"}],"id":1122,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1120,"name":"_getTimelockControllerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"12867:29:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_TimelockControllerStorage_$412_storage_ptr_$","typeString":"function () pure returns (struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer)"}},"id":1121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12867:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12829:69:1"},{"condition":{"id":1126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12912:23:1","subExpression":{"arguments":[{"id":1124,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1111,"src":"12932:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1123,"name":"isOperationPending","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"12913:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12913:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1141,"nodeType":"IfStatement","src":"12908:230:1","trueBody":{"id":1140,"nodeType":"Block","src":"12937:201:1","statements":[{"errorCall":{"arguments":[{"id":1128,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1111,"src":"13008:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":1130,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"13047:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":1131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13062:7:1","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":425,"src":"13047:22:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}],"id":1129,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"13028:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_OperationState_$428_$returns$_t_bytes32_$","typeString":"function (enum TimelockControllerUpgradeable.OperationState) pure returns (bytes32)"}},"id":1132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13028:42:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"expression":{"id":1134,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"13092:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":1135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13107:5:1","memberName":"Ready","nodeType":"MemberAccess","referencedDeclaration":426,"src":"13092:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}],"id":1133,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"13073:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_OperationState_$428_$returns$_t_bytes32_$","typeString":"function (enum TimelockControllerUpgradeable.OperationState) pure returns (bytes32)"}},"id":1136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13073:40:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13028:85:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1127,"name":"TimelockUnexpectedOperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"12958:32:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":1138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12958:169:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1139,"nodeType":"RevertStatement","src":"12951:176:1"}]}},{"expression":{"id":1146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"13147:24:1","subExpression":{"baseExpression":{"expression":{"id":1142,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1119,"src":"13154:1:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"id":1143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13156:11:1","memberName":"_timestamps","nodeType":"MemberAccess","referencedDeclaration":409,"src":"13154:13:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":1145,"indexExpression":{"id":1144,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1111,"src":"13168:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13154:17:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1147,"nodeType":"ExpressionStatement","src":"13147:24:1"},{"eventCall":{"arguments":[{"id":1149,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1111,"src":"13197:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1148,"name":"Cancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":503,"src":"13187:9:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13187:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1151,"nodeType":"EmitStatement","src":"13182:18:1"}]},"documentation":{"id":1109,"nodeType":"StructuredDocumentation","src":"12615:131:1","text":" @dev Cancel an operation.\n Requirements:\n - the caller must have the 'canceller' role."},"functionSelector":"c4d252f5","id":1153,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1114,"name":"CANCELLER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":398,"src":"12803:14:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1115,"kind":"modifierInvocation","modifierName":{"id":1113,"name":"onlyRole","nameLocations":["12794:8:1"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"12794:8:1"},"nodeType":"ModifierInvocation","src":"12794:24:1"}],"name":"cancel","nameLocation":"12760:6:1","nodeType":"FunctionDefinition","parameters":{"id":1112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1111,"mutability":"mutable","name":"id","nameLocation":"12775:2:1","nodeType":"VariableDeclaration","scope":1153,"src":"12767:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12767:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12766:12:1"},"returnParameters":{"id":1116,"nodeType":"ParameterList","parameters":[],"src":"12819:0:1"},"scope":1478,"src":"12751:456:1","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":1203,"nodeType":"Block","src":"13891:249:1","statements":[{"assignments":[1171],"declarations":[{"constant":false,"id":1171,"mutability":"mutable","name":"id","nameLocation":"13909:2:1","nodeType":"VariableDeclaration","scope":1203,"src":"13901:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13901:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1179,"initialValue":{"arguments":[{"id":1173,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1156,"src":"13928:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1174,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1158,"src":"13936:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1175,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"13943:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":1176,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1162,"src":"13952:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1177,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1164,"src":"13965:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1172,"name":"hashOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":863,"src":"13914:13:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,uint256,bytes calldata,bytes32,bytes32) pure returns (bytes32)"}},"id":1178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13914:56:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"13901:69:1"},{"expression":{"arguments":[{"id":1181,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1171,"src":"13993:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1182,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1162,"src":"13997:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1180,"name":"_beforeCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1380,"src":"13981:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) view"}},"id":1183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13981:28:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1184,"nodeType":"ExpressionStatement","src":"13981:28:1"},{"expression":{"arguments":[{"id":1186,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1156,"src":"14028:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1187,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1158,"src":"14036:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1188,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"14043:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":1185,"name":"_execute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1340,"src":"14019:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,uint256,bytes calldata)"}},"id":1189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14019:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1190,"nodeType":"ExpressionStatement","src":"14019:32:1"},{"eventCall":{"arguments":[{"id":1192,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1171,"src":"14079:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":1193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14083:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":1194,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1156,"src":"14086:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1195,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1158,"src":"14094:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1196,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"14101:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":1191,"name":"CallExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"14066:12:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,address,uint256,bytes memory)"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14066:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1198,"nodeType":"EmitStatement","src":"14061:48:1"},{"expression":{"arguments":[{"id":1200,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1171,"src":"14130:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1199,"name":"_afterCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1415,"src":"14119:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14119:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1202,"nodeType":"ExpressionStatement","src":"14119:14:1"}]},"documentation":{"id":1154,"nodeType":"StructuredDocumentation","src":"13213:215:1","text":" @dev Execute an (ready) operation containing a single transaction.\n Emits a {CallExecuted} event.\n Requirements:\n - the caller must have the 'executor' role."},"functionSelector":"134008d3","id":1204,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1167,"name":"EXECUTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"13876:13:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1168,"kind":"modifierInvocation","modifierName":{"id":1166,"name":"onlyRoleOrOpenRole","nameLocations":["13857:18:1"],"nodeType":"IdentifierPath","referencedDeclaration":658,"src":"13857:18:1"},"nodeType":"ModifierInvocation","src":"13857:33:1"}],"name":"execute","nameLocation":"13690:7:1","nodeType":"FunctionDefinition","parameters":{"id":1165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1156,"mutability":"mutable","name":"target","nameLocation":"13715:6:1","nodeType":"VariableDeclaration","scope":1204,"src":"13707:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1155,"name":"address","nodeType":"ElementaryTypeName","src":"13707:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1158,"mutability":"mutable","name":"value","nameLocation":"13739:5:1","nodeType":"VariableDeclaration","scope":1204,"src":"13731:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1157,"name":"uint256","nodeType":"ElementaryTypeName","src":"13731:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1160,"mutability":"mutable","name":"payload","nameLocation":"13769:7:1","nodeType":"VariableDeclaration","scope":1204,"src":"13754:22:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1159,"name":"bytes","nodeType":"ElementaryTypeName","src":"13754:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1162,"mutability":"mutable","name":"predecessor","nameLocation":"13794:11:1","nodeType":"VariableDeclaration","scope":1204,"src":"13786:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13786:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1164,"mutability":"mutable","name":"salt","nameLocation":"13823:4:1","nodeType":"VariableDeclaration","scope":1204,"src":"13815:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13815:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13697:136:1"},"returnParameters":{"id":1169,"nodeType":"ParameterList","parameters":[],"src":"13891:0:1"},"scope":1478,"src":"13681:459:1","stateMutability":"payable","virtual":true,"visibility":"public"},{"body":{"id":1310,"nodeType":"Block","src":"14890:654:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1224,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"14904:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":1225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14912:6:1","memberName":"length","nodeType":"MemberAccess","src":"14904:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1226,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1211,"src":"14922:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14929:6:1","memberName":"length","nodeType":"MemberAccess","src":"14922:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14904:31:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1229,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"14939:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":1230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14947:6:1","memberName":"length","nodeType":"MemberAccess","src":"14939:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1231,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1214,"src":"14957:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":1232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14966:6:1","memberName":"length","nodeType":"MemberAccess","src":"14957:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14939:33:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14904:68:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1245,"nodeType":"IfStatement","src":"14900:184:1","trueBody":{"id":1244,"nodeType":"Block","src":"14974:110:1","statements":[{"errorCall":{"arguments":[{"expression":{"id":1236,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"15026:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":1237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15034:6:1","memberName":"length","nodeType":"MemberAccess","src":"15026:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1238,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1214,"src":"15042:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":1239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15051:6:1","memberName":"length","nodeType":"MemberAccess","src":"15042:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1240,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1211,"src":"15059:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":1241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15066:6:1","memberName":"length","nodeType":"MemberAccess","src":"15059:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1235,"name":"TimelockInvalidOperationLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":437,"src":"14995:30:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":1242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14995:78:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1243,"nodeType":"RevertStatement","src":"14988:85:1"}]}},{"assignments":[1247],"declarations":[{"constant":false,"id":1247,"mutability":"mutable","name":"id","nameLocation":"15102:2:1","nodeType":"VariableDeclaration","scope":1310,"src":"15094:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15094:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1255,"initialValue":{"arguments":[{"id":1249,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"15126:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},{"id":1250,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1211,"src":"15135:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},{"id":1251,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1214,"src":"15143:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},{"id":1252,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1216,"src":"15153:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1253,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1218,"src":"15166:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"},{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"},{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1248,"name":"hashOperationBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"15107:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address[] calldata,uint256[] calldata,bytes calldata[] calldata,bytes32,bytes32) pure returns (bytes32)"}},"id":1254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15107:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"15094:77:1"},{"expression":{"arguments":[{"id":1257,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1247,"src":"15194:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1258,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1216,"src":"15198:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1256,"name":"_beforeCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1380,"src":"15182:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) view"}},"id":1259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15182:28:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1260,"nodeType":"ExpressionStatement","src":"15182:28:1"},{"body":{"id":1304,"nodeType":"Block","src":"15265:249:1","statements":[{"assignments":[1273],"declarations":[{"constant":false,"id":1273,"mutability":"mutable","name":"target","nameLocation":"15287:6:1","nodeType":"VariableDeclaration","scope":1304,"src":"15279:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1272,"name":"address","nodeType":"ElementaryTypeName","src":"15279:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1277,"initialValue":{"baseExpression":{"id":1274,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"15296:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":1276,"indexExpression":{"id":1275,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1262,"src":"15304:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15296:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15279:27:1"},{"assignments":[1279],"declarations":[{"constant":false,"id":1279,"mutability":"mutable","name":"value","nameLocation":"15328:5:1","nodeType":"VariableDeclaration","scope":1304,"src":"15320:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1278,"name":"uint256","nodeType":"ElementaryTypeName","src":"15320:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1283,"initialValue":{"baseExpression":{"id":1280,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1211,"src":"15336:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":1282,"indexExpression":{"id":1281,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1262,"src":"15343:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15336:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15320:25:1"},{"assignments":[1285],"declarations":[{"constant":false,"id":1285,"mutability":"mutable","name":"payload","nameLocation":"15374:7:1","nodeType":"VariableDeclaration","scope":1304,"src":"15359:22:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1284,"name":"bytes","nodeType":"ElementaryTypeName","src":"15359:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1289,"initialValue":{"baseExpression":{"id":1286,"name":"payloads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1214,"src":"15384:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":1288,"indexExpression":{"id":1287,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1262,"src":"15393:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15384:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"nodeType":"VariableDeclarationStatement","src":"15359:36:1"},{"expression":{"arguments":[{"id":1291,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1273,"src":"15418:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1292,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"15426:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1293,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"15433:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":1290,"name":"_execute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1340,"src":"15409:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,uint256,bytes calldata)"}},"id":1294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15409:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1295,"nodeType":"ExpressionStatement","src":"15409:32:1"},{"eventCall":{"arguments":[{"id":1297,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1247,"src":"15473:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1298,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1262,"src":"15477:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1299,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1273,"src":"15480:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1300,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"15488:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1301,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"15495:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":1296,"name":"CallExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"15460:12:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,address,uint256,bytes memory)"}},"id":1302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15460:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1303,"nodeType":"EmitStatement","src":"15455:48:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1265,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1262,"src":"15240:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1266,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"15244:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":1267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15252:6:1","memberName":"length","nodeType":"MemberAccess","src":"15244:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15240:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1305,"initializationExpression":{"assignments":[1262],"declarations":[{"constant":false,"id":1262,"mutability":"mutable","name":"i","nameLocation":"15233:1:1","nodeType":"VariableDeclaration","scope":1305,"src":"15225:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1261,"name":"uint256","nodeType":"ElementaryTypeName","src":"15225:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1264,"initialValue":{"hexValue":"30","id":1263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15237:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15225:13:1"},"loopExpression":{"expression":{"id":1270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15260:3:1","subExpression":{"id":1269,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1262,"src":"15262:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1271,"nodeType":"ExpressionStatement","src":"15260:3:1"},"nodeType":"ForStatement","src":"15220:294:1"},{"expression":{"arguments":[{"id":1307,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1247,"src":"15534:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1306,"name":"_afterCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1415,"src":"15523:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15523:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1309,"nodeType":"ExpressionStatement","src":"15523:14:1"}]},"documentation":{"id":1205,"nodeType":"StructuredDocumentation","src":"14146:249:1","text":" @dev Execute an (ready) operation containing a batch of transactions.\n Emits one {CallExecuted} event per transaction in the batch.\n Requirements:\n - the caller must have the 'executor' role."},"functionSelector":"e38335e5","id":1311,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1221,"name":"EXECUTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"14875:13:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1222,"kind":"modifierInvocation","modifierName":{"id":1220,"name":"onlyRoleOrOpenRole","nameLocations":["14856:18:1"],"nodeType":"IdentifierPath","referencedDeclaration":658,"src":"14856:18:1"},"nodeType":"ModifierInvocation","src":"14856:33:1"}],"name":"executeBatch","nameLocation":"14657:12:1","nodeType":"FunctionDefinition","parameters":{"id":1219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1208,"mutability":"mutable","name":"targets","nameLocation":"14698:7:1","nodeType":"VariableDeclaration","scope":1311,"src":"14679:26:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1206,"name":"address","nodeType":"ElementaryTypeName","src":"14679:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1207,"nodeType":"ArrayTypeName","src":"14679:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1211,"mutability":"mutable","name":"values","nameLocation":"14734:6:1","nodeType":"VariableDeclaration","scope":1311,"src":"14715:25:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1209,"name":"uint256","nodeType":"ElementaryTypeName","src":"14715:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1210,"nodeType":"ArrayTypeName","src":"14715:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1214,"mutability":"mutable","name":"payloads","nameLocation":"14767:8:1","nodeType":"VariableDeclaration","scope":1311,"src":"14750:25:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1212,"name":"bytes","nodeType":"ElementaryTypeName","src":"14750:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1213,"nodeType":"ArrayTypeName","src":"14750:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1216,"mutability":"mutable","name":"predecessor","nameLocation":"14793:11:1","nodeType":"VariableDeclaration","scope":1311,"src":"14785:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14785:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1218,"mutability":"mutable","name":"salt","nameLocation":"14822:4:1","nodeType":"VariableDeclaration","scope":1311,"src":"14814:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14814:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14669:163:1"},"returnParameters":{"id":1223,"nodeType":"ParameterList","parameters":[],"src":"14890:0:1"},"scope":1478,"src":"14648:896:1","stateMutability":"payable","virtual":true,"visibility":"public"},{"body":{"id":1339,"nodeType":"Block","src":"15694:145:1","statements":[{"assignments":[1322,1324],"declarations":[{"constant":false,"id":1322,"mutability":"mutable","name":"success","nameLocation":"15710:7:1","nodeType":"VariableDeclaration","scope":1339,"src":"15705:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1321,"name":"bool","nodeType":"ElementaryTypeName","src":"15705:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1324,"mutability":"mutable","name":"returndata","nameLocation":"15732:10:1","nodeType":"VariableDeclaration","scope":1339,"src":"15719:23:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1323,"name":"bytes","nodeType":"ElementaryTypeName","src":"15719:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1331,"initialValue":{"arguments":[{"id":1329,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1318,"src":"15772:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":1325,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1314,"src":"15746:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15753:4:1","memberName":"call","nodeType":"MemberAccess","src":"15746:11:1","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":1328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":1327,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1316,"src":"15765:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15746:25:1","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":1330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15746:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"15704:73:1"},{"expression":{"arguments":[{"id":1335,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1322,"src":"15812:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1336,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1324,"src":"15821:10:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1332,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"15787:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$5584_$","typeString":"type(library Address)"}},"id":1334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15795:16:1","memberName":"verifyCallResult","nodeType":"MemberAccess","referencedDeclaration":5565,"src":"15787:24:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bool,bytes memory) pure returns (bytes memory)"}},"id":1337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15787:45:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1338,"nodeType":"ExpressionStatement","src":"15787:45:1"}]},"documentation":{"id":1312,"nodeType":"StructuredDocumentation","src":"15550:52:1","text":" @dev Execute an operation's call."},"id":1340,"implemented":true,"kind":"function","modifiers":[],"name":"_execute","nameLocation":"15616:8:1","nodeType":"FunctionDefinition","parameters":{"id":1319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"target","nameLocation":"15633:6:1","nodeType":"VariableDeclaration","scope":1340,"src":"15625:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"15625:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1316,"mutability":"mutable","name":"value","nameLocation":"15649:5:1","nodeType":"VariableDeclaration","scope":1340,"src":"15641:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1315,"name":"uint256","nodeType":"ElementaryTypeName","src":"15641:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1318,"mutability":"mutable","name":"data","nameLocation":"15671:4:1","nodeType":"VariableDeclaration","scope":1340,"src":"15656:19:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1317,"name":"bytes","nodeType":"ElementaryTypeName","src":"15656:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15624:52:1"},"returnParameters":{"id":1320,"nodeType":"ParameterList","parameters":[],"src":"15694:0:1"},"scope":1478,"src":"15607:232:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1379,"nodeType":"Block","src":"15989:300:1","statements":[{"condition":{"id":1351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16003:21:1","subExpression":{"arguments":[{"id":1349,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1343,"src":"16021:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1348,"name":"isOperationReady","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"16004:16:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16004:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1361,"nodeType":"IfStatement","src":"15999:137:1","trueBody":{"id":1360,"nodeType":"Block","src":"16026:110:1","statements":[{"errorCall":{"arguments":[{"id":1353,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1343,"src":"16080:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"id":1355,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"16103:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":1356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16118:5:1","memberName":"Ready","nodeType":"MemberAccess","referencedDeclaration":426,"src":"16103:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}],"id":1354,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"16084:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_OperationState_$428_$returns$_t_bytes32_$","typeString":"function (enum TimelockControllerUpgradeable.OperationState) pure returns (bytes32)"}},"id":1357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16084:40:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1352,"name":"TimelockUnexpectedOperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"16047:32:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":1358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16047:78:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1359,"nodeType":"RevertStatement","src":"16040:85:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1362,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1345,"src":"16149:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16172:1:1","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":1364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16164:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16164:7:1","typeDescriptions":{}}},"id":1366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16164:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16149:25:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":1371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16178:29:1","subExpression":{"arguments":[{"id":1369,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1345,"src":"16195:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1368,"name":"isOperationDone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":754,"src":"16179:15:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16179:28:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16149:58:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1378,"nodeType":"IfStatement","src":"16145:138:1","trueBody":{"id":1377,"nodeType":"Block","src":"16209:74:1","statements":[{"errorCall":{"arguments":[{"id":1374,"name":"predecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1345,"src":"16260:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1373,"name":"TimelockUnexecutedPredecessor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"16230:29:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":1375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16230:42:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1376,"nodeType":"RevertStatement","src":"16223:49:1"}]}}]},"documentation":{"id":1341,"nodeType":"StructuredDocumentation","src":"15845:72:1","text":" @dev Checks before execution of an operation's calls."},"id":1380,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeCall","nameLocation":"15931:11:1","nodeType":"FunctionDefinition","parameters":{"id":1346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1343,"mutability":"mutable","name":"id","nameLocation":"15951:2:1","nodeType":"VariableDeclaration","scope":1380,"src":"15943:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15943:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1345,"mutability":"mutable","name":"predecessor","nameLocation":"15963:11:1","nodeType":"VariableDeclaration","scope":1380,"src":"15955:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15955:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15942:33:1"},"returnParameters":{"id":1347,"nodeType":"ParameterList","parameters":[],"src":"15989:0:1"},"scope":1478,"src":"15922:367:1","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":1414,"nodeType":"Block","src":"16411:277:1","statements":[{"assignments":[1388],"declarations":[{"constant":false,"id":1388,"mutability":"mutable","name":"$","nameLocation":"16455:1:1","nodeType":"VariableDeclaration","scope":1414,"src":"16421:35:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"},"typeName":{"id":1387,"nodeType":"UserDefinedTypeName","pathNode":{"id":1386,"name":"TimelockControllerStorage","nameLocations":["16421:25:1"],"nodeType":"IdentifierPath","referencedDeclaration":412,"src":"16421:25:1"},"referencedDeclaration":412,"src":"16421:25:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"}},"visibility":"internal"}],"id":1391,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1389,"name":"_getTimelockControllerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"16459:29:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_TimelockControllerStorage_$412_storage_ptr_$","typeString":"function () pure returns (struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer)"}},"id":1390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16459:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16421:69:1"},{"condition":{"id":1395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16504:21:1","subExpression":{"arguments":[{"id":1393,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1383,"src":"16522:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1392,"name":"isOperationReady","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"16505:16:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16505:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1405,"nodeType":"IfStatement","src":"16500:137:1","trueBody":{"id":1404,"nodeType":"Block","src":"16527:110:1","statements":[{"errorCall":{"arguments":[{"id":1397,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1383,"src":"16581:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"id":1399,"name":"OperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":428,"src":"16604:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_OperationState_$428_$","typeString":"type(enum TimelockControllerUpgradeable.OperationState)"}},"id":1400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16619:5:1","memberName":"Ready","nodeType":"MemberAccess","referencedDeclaration":426,"src":"16604:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}],"id":1398,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"16585:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_OperationState_$428_$returns$_t_bytes32_$","typeString":"function (enum TimelockControllerUpgradeable.OperationState) pure returns (bytes32)"}},"id":1401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16585:40:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1396,"name":"TimelockUnexpectedOperationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"16548:32:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":1402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16548:78:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1403,"nodeType":"RevertStatement","src":"16541:85:1"}]}},{"expression":{"id":1412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":1406,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1388,"src":"16646:1:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"id":1409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16648:11:1","memberName":"_timestamps","nodeType":"MemberAccess","referencedDeclaration":409,"src":"16646:13:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":1410,"indexExpression":{"id":1408,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1383,"src":"16660:2:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16646:17:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1411,"name":"_DONE_TIMESTAMP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":404,"src":"16666:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16646:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1413,"nodeType":"ExpressionStatement","src":"16646:35:1"}]},"documentation":{"id":1381,"nodeType":"StructuredDocumentation","src":"16295:71:1","text":" @dev Checks after execution of an operation's calls."},"id":1415,"implemented":true,"kind":"function","modifiers":[],"name":"_afterCall","nameLocation":"16380:10:1","nodeType":"FunctionDefinition","parameters":{"id":1384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1383,"mutability":"mutable","name":"id","nameLocation":"16399:2:1","nodeType":"VariableDeclaration","scope":1415,"src":"16391:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16391:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16390:12:1"},"returnParameters":{"id":1385,"nodeType":"ParameterList","parameters":[],"src":"16411:0:1"},"scope":1478,"src":"16371:317:1","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":1456,"nodeType":"Block","src":"17137:313:1","statements":[{"assignments":[1423],"declarations":[{"constant":false,"id":1423,"mutability":"mutable","name":"$","nameLocation":"17181:1:1","nodeType":"VariableDeclaration","scope":1456,"src":"17147:35:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"},"typeName":{"id":1422,"nodeType":"UserDefinedTypeName","pathNode":{"id":1421,"name":"TimelockControllerStorage","nameLocations":["17147:25:1"],"nodeType":"IdentifierPath","referencedDeclaration":412,"src":"17147:25:1"},"referencedDeclaration":412,"src":"17147:25:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage"}},"visibility":"internal"}],"id":1426,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1424,"name":"_getTimelockControllerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"17185:29:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_TimelockControllerStorage_$412_storage_ptr_$","typeString":"function () pure returns (struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer)"}},"id":1425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17185:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17147:69:1"},{"assignments":[1428],"declarations":[{"constant":false,"id":1428,"mutability":"mutable","name":"sender","nameLocation":"17234:6:1","nodeType":"VariableDeclaration","scope":1456,"src":"17226:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1427,"name":"address","nodeType":"ElementaryTypeName","src":"17226:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1431,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1429,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"17243:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17243:12:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17226:29:1"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1432,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1428,"src":"17269:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":1435,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17287:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":1434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17279:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1433,"name":"address","nodeType":"ElementaryTypeName","src":"17279:7:1","typeDescriptions":{}}},"id":1436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17279:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17269:23:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1443,"nodeType":"IfStatement","src":"17265:95:1","trueBody":{"id":1442,"nodeType":"Block","src":"17294:66:1","statements":[{"errorCall":{"arguments":[{"id":1439,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1428,"src":"17342:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1438,"name":"TimelockUnauthorizedCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"17315:26:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":1440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17315:34:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1441,"nodeType":"RevertStatement","src":"17308:41:1"}]}},{"eventCall":{"arguments":[{"expression":{"id":1445,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1423,"src":"17389:1:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"id":1446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17391:9:1","memberName":"_minDelay","nodeType":"MemberAccess","referencedDeclaration":411,"src":"17389:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1447,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1418,"src":"17402:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1444,"name":"MinDelayChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":510,"src":"17374:14:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":1448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17374:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1449,"nodeType":"EmitStatement","src":"17369:42:1"},{"expression":{"id":1454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1450,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1423,"src":"17421:1:1","typeDescriptions":{"typeIdentifier":"t_struct$_TimelockControllerStorage_$412_storage_ptr","typeString":"struct TimelockControllerUpgradeable.TimelockControllerStorage storage pointer"}},"id":1452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17423:9:1","memberName":"_minDelay","nodeType":"MemberAccess","referencedDeclaration":411,"src":"17421:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1453,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1418,"src":"17435:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17421:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1455,"nodeType":"ExpressionStatement","src":"17421:22:1"}]},"documentation":{"id":1416,"nodeType":"StructuredDocumentation","src":"16694:382:1","text":" @dev Changes the minimum timelock duration for future operations.\n Emits a {MinDelayChange} event.\n Requirements:\n - the caller must be the timelock itself. This can only be achieved by scheduling and later executing\n an operation where the timelock is the target and the data is the ABI-encoded call to this function."},"functionSelector":"64d62353","id":1457,"implemented":true,"kind":"function","modifiers":[],"name":"updateDelay","nameLocation":"17090:11:1","nodeType":"FunctionDefinition","parameters":{"id":1419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1418,"mutability":"mutable","name":"newDelay","nameLocation":"17110:8:1","nodeType":"VariableDeclaration","scope":1457,"src":"17102:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1417,"name":"uint256","nodeType":"ElementaryTypeName","src":"17102:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17101:18:1"},"returnParameters":{"id":1420,"nodeType":"ParameterList","parameters":[],"src":"17137:0:1"},"scope":1478,"src":"17081:369:1","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"body":{"id":1476,"nodeType":"Block","src":"17907:59:1","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":1468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17932:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"id":1471,"name":"operationState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1461,"src":"17943:14:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}],"id":1470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17937:5:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":1469,"name":"uint8","nodeType":"ElementaryTypeName","src":"17937:5:1","typeDescriptions":{}}},"id":1472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17937:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"17932:26:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17924:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17924:7:1","typeDescriptions":{}}},"id":1474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17924:35:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1465,"id":1475,"nodeType":"Return","src":"17917:42:1"}]},"documentation":{"id":1458,"nodeType":"StructuredDocumentation","src":"17456:355:1","text":" @dev Encodes a `OperationState` into a `bytes32` representation where each bit enabled corresponds to\n the underlying position in the `OperationState` enum. For example:\n 0x000...1000\n   ^^^^^^----- ...\n         ^---- Done\n          ^--- Ready\n           ^-- Waiting\n            ^- Unset"},"id":1477,"implemented":true,"kind":"function","modifiers":[],"name":"_encodeStateBitmap","nameLocation":"17825:18:1","nodeType":"FunctionDefinition","parameters":{"id":1462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1461,"mutability":"mutable","name":"operationState","nameLocation":"17859:14:1","nodeType":"VariableDeclaration","scope":1477,"src":"17844:29:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"},"typeName":{"id":1460,"nodeType":"UserDefinedTypeName","pathNode":{"id":1459,"name":"OperationState","nameLocations":["17844:14:1"],"nodeType":"IdentifierPath","referencedDeclaration":428,"src":"17844:14:1"},"referencedDeclaration":428,"src":"17844:14:1","typeDescriptions":{"typeIdentifier":"t_enum$_OperationState_$428","typeString":"enum TimelockControllerUpgradeable.OperationState"}},"visibility":"internal"}],"src":"17843:31:1"},"returnParameters":{"id":1465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1477,"src":"17898:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17898:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17897:9:1"},"scope":1478,"src":"17816:150:1","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":1479,"src":"1235:16733:1","usedErrors":[437,444,451,456,461,1495,1498,4342,4345,5347],"usedEvents":[478,491,498,503,510,1503,4354,4363,4372]}],"src":"117:17852:1"},"id":1},"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","exportedSymbols":{"Initializable":[1732]},"id":1733,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1480,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"113:24:2"},{"abstract":true,"baseContracts":[],"canonicalName":"Initializable","contractDependencies":[],"contractKind":"contract","documentation":{"id":1481,"nodeType":"StructuredDocumentation","src":"139:2209:2","text":" @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n case an upgrade adds a module that needs to be initialized.\n For example:\n [.hljs-theme-light.nopadding]\n ```solidity\n contract MyToken is ERC20Upgradeable {\n     function initialize() initializer public {\n         __ERC20_init(\"MyToken\", \"MTK\");\n     }\n }\n contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n     function initializeV2() reinitializer(2) public {\n         __ERC20Permit_init(\"MyToken\");\n     }\n }\n ```\n TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n [CAUTION]\n ====\n Avoid leaving a contract uninitialized.\n An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n [.hljs-theme-light.nopadding]\n ```\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n     _disableInitializers();\n }\n ```\n ===="},"fullyImplemented":true,"id":1732,"linearizedBaseContracts":[1732],"name":"Initializable","nameLocation":"2367:13:2","nodeType":"ContractDefinition","nodes":[{"canonicalName":"Initializable.InitializableStorage","documentation":{"id":1482,"nodeType":"StructuredDocumentation","src":"2387:293:2","text":" @dev Storage of the initializable contract.\n It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions\n when using with upgradeable contracts.\n @custom:storage-location erc7201:openzeppelin.storage.Initializable"},"id":1489,"members":[{"constant":false,"id":1485,"mutability":"mutable","name":"_initialized","nameLocation":"2820:12:2","nodeType":"VariableDeclaration","scope":1489,"src":"2813:19:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1484,"name":"uint64","nodeType":"ElementaryTypeName","src":"2813:6:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1488,"mutability":"mutable","name":"_initializing","nameLocation":"2955:13:2","nodeType":"VariableDeclaration","scope":1489,"src":"2950:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1487,"name":"bool","nodeType":"ElementaryTypeName","src":"2950:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"InitializableStorage","nameLocation":"2692:20:2","nodeType":"StructDefinition","scope":1732,"src":"2685:290:2","visibility":"public"},{"constant":true,"id":1492,"mutability":"constant","name":"INITIALIZABLE_STORAGE","nameLocation":"3123:21:2","nodeType":"VariableDeclaration","scope":1732,"src":"3098:115:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3098:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307866306335376531363834306466303430663135303838646332663831666533393163333932336265633733653233613936363265666339633232396336613030","id":1491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3147:66:2","typeDescriptions":{"typeIdentifier":"t_rational_108904022758810753673719992590105913556127789646572562039383141376366747609600_by_1","typeString":"int_const 1089...(70 digits omitted)...9600"},"value":"0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00"},"visibility":"private"},{"documentation":{"id":1493,"nodeType":"StructuredDocumentation","src":"3220:60:2","text":" @dev The contract is already initialized."},"errorSelector":"f92ee8a9","id":1495,"name":"InvalidInitialization","nameLocation":"3291:21:2","nodeType":"ErrorDefinition","parameters":{"id":1494,"nodeType":"ParameterList","parameters":[],"src":"3312:2:2"},"src":"3285:30:2"},{"documentation":{"id":1496,"nodeType":"StructuredDocumentation","src":"3321:57:2","text":" @dev The contract is not initializing."},"errorSelector":"d7e6bcf8","id":1498,"name":"NotInitializing","nameLocation":"3389:15:2","nodeType":"ErrorDefinition","parameters":{"id":1497,"nodeType":"ParameterList","parameters":[],"src":"3404:2:2"},"src":"3383:24:2"},{"anonymous":false,"documentation":{"id":1499,"nodeType":"StructuredDocumentation","src":"3413:90:2","text":" @dev Triggered when the contract has been initialized or reinitialized."},"eventSelector":"c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2","id":1503,"name":"Initialized","nameLocation":"3514:11:2","nodeType":"EventDefinition","parameters":{"id":1502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1501,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"3533:7:2","nodeType":"VariableDeclaration","scope":1503,"src":"3526:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1500,"name":"uint64","nodeType":"ElementaryTypeName","src":"3526:6:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3525:16:2"},"src":"3508:34:2"},{"body":{"id":1585,"nodeType":"Block","src":"4092:1081:2","statements":[{"assignments":[1508],"declarations":[{"constant":false,"id":1508,"mutability":"mutable","name":"$","nameLocation":"4187:1:2","nodeType":"VariableDeclaration","scope":1585,"src":"4158:30:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":1507,"nodeType":"UserDefinedTypeName","pathNode":{"id":1506,"name":"InitializableStorage","nameLocations":["4158:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":1489,"src":"4158:20:2"},"referencedDeclaration":1489,"src":"4158:20:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"id":1511,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1509,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1731,"src":"4191:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$1489_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":1510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4158:59:2"},{"assignments":[1513],"declarations":[{"constant":false,"id":1513,"mutability":"mutable","name":"isTopLevelCall","nameLocation":"4284:14:2","nodeType":"VariableDeclaration","scope":1585,"src":"4279:19:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1512,"name":"bool","nodeType":"ElementaryTypeName","src":"4279:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":1517,"initialValue":{"id":1516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4301:16:2","subExpression":{"expression":{"id":1514,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1508,"src":"4302:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4304:13:2","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":1488,"src":"4302:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4279:38:2"},{"assignments":[1519],"declarations":[{"constant":false,"id":1519,"mutability":"mutable","name":"initialized","nameLocation":"4334:11:2","nodeType":"VariableDeclaration","scope":1585,"src":"4327:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1518,"name":"uint64","nodeType":"ElementaryTypeName","src":"4327:6:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":1522,"initialValue":{"expression":{"id":1520,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1508,"src":"4348:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1521,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4350:12:2","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":1485,"src":"4348:14:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"4327:35:2"},{"assignments":[1524],"declarations":[{"constant":false,"id":1524,"mutability":"mutable","name":"initialSetup","nameLocation":"4711:12:2","nodeType":"VariableDeclaration","scope":1585,"src":"4706:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1523,"name":"bool","nodeType":"ElementaryTypeName","src":"4706:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":1530,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":1527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1525,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1519,"src":"4726:11:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4741:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4726:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":1528,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"4746:14:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4726:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4706:54:2"},{"assignments":[1532],"declarations":[{"constant":false,"id":1532,"mutability":"mutable","name":"construction","nameLocation":"4775:12:2","nodeType":"VariableDeclaration","scope":1585,"src":"4770:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1531,"name":"bool","nodeType":"ElementaryTypeName","src":"4770:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":1545,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":1535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1533,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1519,"src":"4790:11:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":1534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4805:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4790:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":1538,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4818:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Initializable_$1732","typeString":"contract Initializable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Initializable_$1732","typeString":"contract Initializable"}],"id":1537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4810:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1536,"name":"address","nodeType":"ElementaryTypeName","src":"4810:7:2","typeDescriptions":{}}},"id":1539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4810:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4824:4:2","memberName":"code","nodeType":"MemberAccess","src":"4810:18:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4829:6:2","memberName":"length","nodeType":"MemberAccess","src":"4810:25:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4839:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4810:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4790:50:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4770:70:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4855:13:2","subExpression":{"id":1546,"name":"initialSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1524,"src":"4856:12:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4872:13:2","subExpression":{"id":1548,"name":"construction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1532,"src":"4873:12:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4855:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1555,"nodeType":"IfStatement","src":"4851:91:2","trueBody":{"id":1554,"nodeType":"Block","src":"4887:55:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1551,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1495,"src":"4908:21:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4908:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1553,"nodeType":"RevertStatement","src":"4901:30:2"}]}},{"expression":{"id":1560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1556,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1508,"src":"4951:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4953:12:2","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":1485,"src":"4951:14:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":1559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4968:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4951:18:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":1561,"nodeType":"ExpressionStatement","src":"4951:18:2"},{"condition":{"id":1562,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"4983:14:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1570,"nodeType":"IfStatement","src":"4979:67:2","trueBody":{"id":1569,"nodeType":"Block","src":"4999:47:2","statements":[{"expression":{"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1563,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1508,"src":"5013:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1565,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5015:13:2","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":1488,"src":"5013:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5031:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5013:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1568,"nodeType":"ExpressionStatement","src":"5013:22:2"}]}},{"id":1571,"nodeType":"PlaceholderStatement","src":"5055:1:2"},{"condition":{"id":1572,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"5070:14:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1584,"nodeType":"IfStatement","src":"5066:101:2","trueBody":{"id":1583,"nodeType":"Block","src":"5086:81:2","statements":[{"expression":{"id":1577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1573,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1508,"src":"5100:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5102:13:2","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":1488,"src":"5100:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5118:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5100:23:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1578,"nodeType":"ExpressionStatement","src":"5100:23:2"},{"eventCall":{"arguments":[{"hexValue":"31","id":1580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5154:1:2","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":1579,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1503,"src":"5142:11:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":1581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5142:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1582,"nodeType":"EmitStatement","src":"5137:19:2"}]}}]},"documentation":{"id":1504,"nodeType":"StructuredDocumentation","src":"3548:516:2","text":" @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n `onlyInitializing` functions can be used to initialize parent contracts.\n Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any\n number of times. This behavior in the constructor can be useful during testing and is not expected to be used in\n production.\n Emits an {Initialized} event."},"id":1586,"name":"initializer","nameLocation":"4078:11:2","nodeType":"ModifierDefinition","parameters":{"id":1505,"nodeType":"ParameterList","parameters":[],"src":"4089:2:2"},"src":"4069:1104:2","virtual":false,"visibility":"internal"},{"body":{"id":1632,"nodeType":"Block","src":"6291:392:2","statements":[{"assignments":[1593],"declarations":[{"constant":false,"id":1593,"mutability":"mutable","name":"$","nameLocation":"6386:1:2","nodeType":"VariableDeclaration","scope":1632,"src":"6357:30:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":1592,"nodeType":"UserDefinedTypeName","pathNode":{"id":1591,"name":"InitializableStorage","nameLocations":["6357:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":1489,"src":"6357:20:2"},"referencedDeclaration":1489,"src":"6357:20:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"id":1596,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1594,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1731,"src":"6390:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$1489_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":1595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6390:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6357:59:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1597,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1593,"src":"6431:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1598,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6433:13:2","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":1488,"src":"6431:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":1602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1599,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1593,"src":"6450:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6452:12:2","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":1485,"src":"6450:14:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1601,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"6468:7:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6450:25:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6431:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1608,"nodeType":"IfStatement","src":"6427:105:2","trueBody":{"id":1607,"nodeType":"Block","src":"6477:55:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1604,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1495,"src":"6498:21:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1606,"nodeType":"RevertStatement","src":"6491:30:2"}]}},{"expression":{"id":1613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1609,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1593,"src":"6541:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6543:12:2","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":1485,"src":"6541:14:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1612,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"6558:7:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6541:24:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":1614,"nodeType":"ExpressionStatement","src":"6541:24:2"},{"expression":{"id":1619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1615,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1593,"src":"6575:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6577:13:2","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":1488,"src":"6575:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6593:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6575:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1620,"nodeType":"ExpressionStatement","src":"6575:22:2"},{"id":1621,"nodeType":"PlaceholderStatement","src":"6607:1:2"},{"expression":{"id":1626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1622,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1593,"src":"6618:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6620:13:2","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":1488,"src":"6618:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6636:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"6618:23:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1627,"nodeType":"ExpressionStatement","src":"6618:23:2"},{"eventCall":{"arguments":[{"id":1629,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"6668:7:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":1628,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1503,"src":"6656:11:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":1630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6656:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1631,"nodeType":"EmitStatement","src":"6651:25:2"}]},"documentation":{"id":1587,"nodeType":"StructuredDocumentation","src":"5179:1068:2","text":" @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\n contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\n used to initialize parent contracts.\n A reinitializer may be used after the original initialization step. This is essential to configure modules that\n are added through upgrades and that require initialization.\n When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\n cannot be nested. If one is invoked in the context of another, execution will revert.\n Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\n a contract, executing them in the right order is up to the developer or operator.\n WARNING: Setting the version to 2**64 - 1 will prevent any future reinitialization.\n Emits an {Initialized} event."},"id":1633,"name":"reinitializer","nameLocation":"6261:13:2","nodeType":"ModifierDefinition","parameters":{"id":1590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1589,"mutability":"mutable","name":"version","nameLocation":"6282:7:2","nodeType":"VariableDeclaration","scope":1633,"src":"6275:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1588,"name":"uint64","nodeType":"ElementaryTypeName","src":"6275:6:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"6274:16:2"},"src":"6252:431:2","virtual":false,"visibility":"internal"},{"body":{"id":1640,"nodeType":"Block","src":"6921:48:2","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1636,"name":"_checkInitializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1654,"src":"6931:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":1637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6931:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1638,"nodeType":"ExpressionStatement","src":"6931:20:2"},{"id":1639,"nodeType":"PlaceholderStatement","src":"6961:1:2"}]},"documentation":{"id":1634,"nodeType":"StructuredDocumentation","src":"6689:199:2","text":" @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\n {initializer} and {reinitializer} modifiers, directly or indirectly."},"id":1641,"name":"onlyInitializing","nameLocation":"6902:16:2","nodeType":"ModifierDefinition","parameters":{"id":1635,"nodeType":"ParameterList","parameters":[],"src":"6918:2:2"},"src":"6893:76:2","virtual":false,"visibility":"internal"},{"body":{"id":1653,"nodeType":"Block","src":"7136:89:2","statements":[{"condition":{"id":1647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7150:18:2","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":1645,"name":"_isInitializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1722,"src":"7151:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":1646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7151:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1652,"nodeType":"IfStatement","src":"7146:73:2","trueBody":{"id":1651,"nodeType":"Block","src":"7170:49:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1648,"name":"NotInitializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1498,"src":"7191:15:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7191:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1650,"nodeType":"RevertStatement","src":"7184:24:2"}]}}]},"documentation":{"id":1642,"nodeType":"StructuredDocumentation","src":"6975:104:2","text":" @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}."},"id":1654,"implemented":true,"kind":"function","modifiers":[],"name":"_checkInitializing","nameLocation":"7093:18:2","nodeType":"FunctionDefinition","parameters":{"id":1643,"nodeType":"ParameterList","parameters":[],"src":"7111:2:2"},"returnParameters":{"id":1644,"nodeType":"ParameterList","parameters":[],"src":"7136:0:2"},"scope":1732,"src":"7084:141:2","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1699,"nodeType":"Block","src":"7760:373:2","statements":[{"assignments":[1660],"declarations":[{"constant":false,"id":1660,"mutability":"mutable","name":"$","nameLocation":"7855:1:2","nodeType":"VariableDeclaration","scope":1699,"src":"7826:30:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":1659,"nodeType":"UserDefinedTypeName","pathNode":{"id":1658,"name":"InitializableStorage","nameLocations":["7826:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":1489,"src":"7826:20:2"},"referencedDeclaration":1489,"src":"7826:20:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"id":1663,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1661,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1731,"src":"7859:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$1489_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":1662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7859:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7826:59:2"},{"condition":{"expression":{"id":1664,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1660,"src":"7900:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7902:13:2","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":1488,"src":"7900:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1670,"nodeType":"IfStatement","src":"7896:76:2","trueBody":{"id":1669,"nodeType":"Block","src":"7917:55:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1666,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1495,"src":"7938:21:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7938:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1668,"nodeType":"RevertStatement","src":"7931:30:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":1678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1671,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1660,"src":"7985:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7987:12:2","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":1485,"src":"7985:14:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":1675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8008:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":1674,"name":"uint64","nodeType":"ElementaryTypeName","src":"8008:6:2","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":1673,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8003:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":1676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8003:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":1677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8016:3:2","memberName":"max","nodeType":"MemberAccess","src":"8003:16:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7985:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1698,"nodeType":"IfStatement","src":"7981:146:2","trueBody":{"id":1697,"nodeType":"Block","src":"8021:106:2","statements":[{"expression":{"id":1687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1679,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1660,"src":"8035:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8037:12:2","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":1485,"src":"8035:14:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":1684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8057:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":1683,"name":"uint64","nodeType":"ElementaryTypeName","src":"8057:6:2","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":1682,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8052:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":1685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8052:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":1686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8065:3:2","memberName":"max","nodeType":"MemberAccess","src":"8052:16:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"8035:33:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":1688,"nodeType":"ExpressionStatement","src":"8035:33:2"},{"eventCall":{"arguments":[{"expression":{"arguments":[{"id":1692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8104:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":1691,"name":"uint64","nodeType":"ElementaryTypeName","src":"8104:6:2","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":1690,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8099:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":1693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8099:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":1694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8112:3:2","memberName":"max","nodeType":"MemberAccess","src":"8099:16:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":1689,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1503,"src":"8087:11:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8087:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1696,"nodeType":"EmitStatement","src":"8082:34:2"}]}}]},"documentation":{"id":1655,"nodeType":"StructuredDocumentation","src":"7231:475:2","text":" @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\n Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\n to any version. It is recommended to use this to lock implementation contracts that are designed to be called\n through proxies.\n Emits an {Initialized} event the first time it is successfully executed."},"id":1700,"implemented":true,"kind":"function","modifiers":[],"name":"_disableInitializers","nameLocation":"7720:20:2","nodeType":"FunctionDefinition","parameters":{"id":1656,"nodeType":"ParameterList","parameters":[],"src":"7740:2:2"},"returnParameters":{"id":1657,"nodeType":"ParameterList","parameters":[],"src":"7760:0:2"},"scope":1732,"src":"7711:422:2","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1710,"nodeType":"Block","src":"8308:63:2","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1706,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1731,"src":"8325:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$1489_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":1707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8325:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1708,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8352:12:2","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":1485,"src":"8325:39:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":1705,"id":1709,"nodeType":"Return","src":"8318:46:2"}]},"documentation":{"id":1701,"nodeType":"StructuredDocumentation","src":"8139:99:2","text":" @dev Returns the highest version that has been initialized. See {reinitializer}."},"id":1711,"implemented":true,"kind":"function","modifiers":[],"name":"_getInitializedVersion","nameLocation":"8252:22:2","nodeType":"FunctionDefinition","parameters":{"id":1702,"nodeType":"ParameterList","parameters":[],"src":"8274:2:2"},"returnParameters":{"id":1705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1711,"src":"8300:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1703,"name":"uint64","nodeType":"ElementaryTypeName","src":"8300:6:2","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"8299:8:2"},"scope":1732,"src":"8243:128:2","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1721,"nodeType":"Block","src":"8543:64:2","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1717,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1731,"src":"8560:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$1489_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":1718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8560:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":1719,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8587:13:2","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":1488,"src":"8560:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1716,"id":1720,"nodeType":"Return","src":"8553:47:2"}]},"documentation":{"id":1712,"nodeType":"StructuredDocumentation","src":"8377:105:2","text":" @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}."},"id":1722,"implemented":true,"kind":"function","modifiers":[],"name":"_isInitializing","nameLocation":"8496:15:2","nodeType":"FunctionDefinition","parameters":{"id":1713,"nodeType":"ParameterList","parameters":[],"src":"8511:2:2"},"returnParameters":{"id":1716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1715,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1722,"src":"8537:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1714,"name":"bool","nodeType":"ElementaryTypeName","src":"8537:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8536:6:2"},"scope":1732,"src":"8487:120:2","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1730,"nodeType":"Block","src":"8827:80:2","statements":[{"AST":{"nodeType":"YulBlock","src":"8846:55:2","statements":[{"nodeType":"YulAssignment","src":"8860:31:2","value":{"name":"INITIALIZABLE_STORAGE","nodeType":"YulIdentifier","src":"8870:21:2"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"8860:6:2"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":1727,"isOffset":false,"isSlot":true,"src":"8860:6:2","suffix":"slot","valueSize":1},{"declaration":1492,"isOffset":false,"isSlot":false,"src":"8870:21:2","valueSize":1}],"id":1729,"nodeType":"InlineAssembly","src":"8837:64:2"}]},"documentation":{"id":1723,"nodeType":"StructuredDocumentation","src":"8613:67:2","text":" @dev Returns a pointer to the storage namespace."},"id":1731,"implemented":true,"kind":"function","modifiers":[],"name":"_getInitializableStorage","nameLocation":"8746:24:2","nodeType":"FunctionDefinition","parameters":{"id":1724,"nodeType":"ParameterList","parameters":[],"src":"8770:2:2"},"returnParameters":{"id":1728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1727,"mutability":"mutable","name":"$","nameLocation":"8824:1:2","nodeType":"VariableDeclaration","scope":1731,"src":"8795:30:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":1726,"nodeType":"UserDefinedTypeName","pathNode":{"id":1725,"name":"InitializableStorage","nameLocations":["8795:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":1489,"src":"8795:20:2"},"referencedDeclaration":1489,"src":"8795:20:2","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$1489_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"src":"8794:32:2"},"scope":1732,"src":"8737:170:2","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":1733,"src":"2349:6560:2","usedErrors":[1495,1498],"usedEvents":[1503]}],"src":"113:8797:2"},"id":2},"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","exportedSymbols":{"ERC1967Utils":[5006],"IERC1822Proxiable":[4566],"Initializable":[1732],"UUPSUpgradeable":[1914]},"id":1915,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1734,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"115:24:3"},{"absolutePath":"@openzeppelin/contracts/interfaces/draft-IERC1822.sol","file":"@openzeppelin/contracts/interfaces/draft-IERC1822.sol","id":1736,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1915,"sourceUnit":4567,"src":"141:88:3","symbolAliases":[{"foreign":{"id":1735,"name":"IERC1822Proxiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4566,"src":"149:17:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","id":1738,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1915,"sourceUnit":5007,"src":"230:84:3","symbolAliases":[{"foreign":{"id":1737,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"238:12:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"./Initializable.sol","id":1740,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1915,"sourceUnit":1733,"src":"315:50:3","symbolAliases":[{"foreign":{"id":1739,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"323:13:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1742,"name":"Initializable","nameLocations":["1023:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1023:13:3"},"id":1743,"nodeType":"InheritanceSpecifier","src":"1023:13:3"},{"baseName":{"id":1744,"name":"IERC1822Proxiable","nameLocations":["1038:17:3"],"nodeType":"IdentifierPath","referencedDeclaration":4566,"src":"1038:17:3"},"id":1745,"nodeType":"InheritanceSpecifier","src":"1038:17:3"}],"canonicalName":"UUPSUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":1741,"nodeType":"StructuredDocumentation","src":"367:618:3","text":" @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an\n {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy.\n A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is\n reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing\n `UUPSUpgradeable` with a custom implementation of upgrades.\n The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism."},"fullyImplemented":false,"id":1914,"linearizedBaseContracts":[1914,4566,1732],"name":"UUPSUpgradeable","nameLocation":"1004:15:3","nodeType":"ContractDefinition","nodes":[{"constant":false,"documentation":{"id":1746,"nodeType":"StructuredDocumentation","src":"1062:61:3","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"id":1752,"mutability":"immutable","name":"__self","nameLocation":"1154:6:3","nodeType":"VariableDeclaration","scope":1914,"src":"1128:48:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1747,"name":"address","nodeType":"ElementaryTypeName","src":"1128:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"id":1750,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1171:4:3","typeDescriptions":{"typeIdentifier":"t_contract$_UUPSUpgradeable_$1914","typeString":"contract UUPSUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UUPSUpgradeable_$1914","typeString":"contract UUPSUpgradeable"}],"id":1749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1163:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1748,"name":"address","nodeType":"ElementaryTypeName","src":"1163:7:3","typeDescriptions":{}}},"id":1751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1163:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"constant":true,"documentation":{"id":1753,"nodeType":"StructuredDocumentation","src":"1183:631:3","text":" @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)`\n and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called,\n while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string.\n If the getter returns `\"5.0.0\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must\n be the empty byte string if no function should be called, making it impossible to invoke the `receive` function\n during an upgrade."},"functionSelector":"ad3cb1cc","id":1756,"mutability":"constant","name":"UPGRADE_INTERFACE_VERSION","nameLocation":"1842:25:3","nodeType":"VariableDeclaration","scope":1914,"src":"1819:58:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1754,"name":"string","nodeType":"ElementaryTypeName","src":"1819:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"352e302e30","id":1755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1870:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ade050ecfcf8ae20ae1d10a23573f9d7e0bad85e74a2cf8338a65401e64558c","typeString":"literal_string \"5.0.0\""},"value":"5.0.0"},"visibility":"public"},{"documentation":{"id":1757,"nodeType":"StructuredDocumentation","src":"1884:65:3","text":" @dev The call is from an unauthorized context."},"errorSelector":"e07c8dba","id":1759,"name":"UUPSUnauthorizedCallContext","nameLocation":"1960:27:3","nodeType":"ErrorDefinition","parameters":{"id":1758,"nodeType":"ParameterList","parameters":[],"src":"1987:2:3"},"src":"1954:36:3"},{"documentation":{"id":1760,"nodeType":"StructuredDocumentation","src":"1996:68:3","text":" @dev The storage `slot` is unsupported as a UUID."},"errorSelector":"aa1d49a4","id":1764,"name":"UUPSUnsupportedProxiableUUID","nameLocation":"2075:28:3","nodeType":"ErrorDefinition","parameters":{"id":1763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1762,"mutability":"mutable","name":"slot","nameLocation":"2112:4:3","nodeType":"VariableDeclaration","scope":1764,"src":"2104:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2104:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2103:14:3"},"src":"2069:49:3"},{"body":{"id":1771,"nodeType":"Block","src":"2643:41:3","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1767,"name":"_checkProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"2653:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":1768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2653:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1769,"nodeType":"ExpressionStatement","src":"2653:13:3"},{"id":1770,"nodeType":"PlaceholderStatement","src":"2676:1:3"}]},"documentation":{"id":1765,"nodeType":"StructuredDocumentation","src":"2124:493:3","text":" @dev Check that the execution is being performed through a delegatecall call and that the execution context is\n a proxy contract with an implementation (as defined in ERC1967) pointing to self. This should only be the case\n for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a\n function through ERC1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to\n fail."},"id":1772,"name":"onlyProxy","nameLocation":"2631:9:3","nodeType":"ModifierDefinition","parameters":{"id":1766,"nodeType":"ParameterList","parameters":[],"src":"2640:2:3"},"src":"2622:62:3","virtual":false,"visibility":"internal"},{"body":{"id":1779,"nodeType":"Block","src":"2914:48:3","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1775,"name":"_checkNotDelegated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1862,"src":"2924:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":1776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2924:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1777,"nodeType":"ExpressionStatement","src":"2924:20:3"},{"id":1778,"nodeType":"PlaceholderStatement","src":"2954:1:3"}]},"documentation":{"id":1773,"nodeType":"StructuredDocumentation","src":"2690:195:3","text":" @dev Check that the execution is not being performed through a delegate call. This allows a function to be\n callable on the implementing contract but not through proxies."},"id":1780,"name":"notDelegated","nameLocation":"2899:12:3","nodeType":"ModifierDefinition","parameters":{"id":1774,"nodeType":"ParameterList","parameters":[],"src":"2911:2:3"},"src":"2890:72:3","virtual":false,"visibility":"internal"},{"body":{"id":1785,"nodeType":"Block","src":"3028:7:3","statements":[]},"id":1786,"implemented":true,"kind":"function","modifiers":[{"id":1783,"kind":"modifierInvocation","modifierName":{"id":1782,"name":"onlyInitializing","nameLocations":["3011:16:3"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3011:16:3"},"nodeType":"ModifierInvocation","src":"3011:16:3"}],"name":"__UUPSUpgradeable_init","nameLocation":"2977:22:3","nodeType":"FunctionDefinition","parameters":{"id":1781,"nodeType":"ParameterList","parameters":[],"src":"2999:2:3"},"returnParameters":{"id":1784,"nodeType":"ParameterList","parameters":[],"src":"3028:0:3"},"scope":1914,"src":"2968:67:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1791,"nodeType":"Block","src":"3111:7:3","statements":[]},"id":1792,"implemented":true,"kind":"function","modifiers":[{"id":1789,"kind":"modifierInvocation","modifierName":{"id":1788,"name":"onlyInitializing","nameLocations":["3094:16:3"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3094:16:3"},"nodeType":"ModifierInvocation","src":"3094:16:3"}],"name":"__UUPSUpgradeable_init_unchained","nameLocation":"3050:32:3","nodeType":"FunctionDefinition","parameters":{"id":1787,"nodeType":"ParameterList","parameters":[],"src":"3082:2:3"},"returnParameters":{"id":1790,"nodeType":"ParameterList","parameters":[],"src":"3111:0:3"},"scope":1914,"src":"3041:77:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[4565],"body":{"id":1803,"nodeType":"Block","src":"3783:56:3","statements":[{"expression":{"expression":{"id":1800,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"3800:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$5006_$","typeString":"type(library ERC1967Utils)"}},"id":1801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3813:19:3","memberName":"IMPLEMENTATION_SLOT","nodeType":"MemberAccess","referencedDeclaration":4733,"src":"3800:32:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1799,"id":1802,"nodeType":"Return","src":"3793:39:3"}]},"documentation":{"id":1793,"nodeType":"StructuredDocumentation","src":"3123:577:3","text":" @dev Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the\n implementation. It is used to validate the implementation's compatibility when performing an upgrade.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"functionSelector":"52d1902d","id":1804,"implemented":true,"kind":"function","modifiers":[{"id":1796,"kind":"modifierInvocation","modifierName":{"id":1795,"name":"notDelegated","nameLocations":["3752:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":1780,"src":"3752:12:3"},"nodeType":"ModifierInvocation","src":"3752:12:3"}],"name":"proxiableUUID","nameLocation":"3714:13:3","nodeType":"FunctionDefinition","parameters":{"id":1794,"nodeType":"ParameterList","parameters":[],"src":"3727:2:3"},"returnParameters":{"id":1799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1804,"src":"3774:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3774:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3773:9:3"},"scope":1914,"src":"3705:134:3","stateMutability":"view","virtual":true,"visibility":"external"},{"body":{"id":1823,"nodeType":"Block","src":"4263:109:3","statements":[{"expression":{"arguments":[{"id":1815,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"4291:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1814,"name":"_authorizeUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1868,"src":"4273:17:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4273:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1817,"nodeType":"ExpressionStatement","src":"4273:36:3"},{"expression":{"arguments":[{"id":1819,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"4341:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1820,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1809,"src":"4360:4:3","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":1818,"name":"_upgradeToAndCallUUPS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1913,"src":"4319:21:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":1821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1822,"nodeType":"ExpressionStatement","src":"4319:46:3"}]},"documentation":{"id":1805,"nodeType":"StructuredDocumentation","src":"3845:308:3","text":" @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call\n encoded in `data`.\n Calls {_authorizeUpgrade}.\n Emits an {Upgraded} event.\n @custom:oz-upgrades-unsafe-allow-reachable delegatecall"},"functionSelector":"4f1ef286","id":1824,"implemented":true,"kind":"function","modifiers":[{"id":1812,"kind":"modifierInvocation","modifierName":{"id":1811,"name":"onlyProxy","nameLocations":["4253:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":1772,"src":"4253:9:3"},"nodeType":"ModifierInvocation","src":"4253:9:3"}],"name":"upgradeToAndCall","nameLocation":"4167:16:3","nodeType":"FunctionDefinition","parameters":{"id":1810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1807,"mutability":"mutable","name":"newImplementation","nameLocation":"4192:17:3","nodeType":"VariableDeclaration","scope":1824,"src":"4184:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1806,"name":"address","nodeType":"ElementaryTypeName","src":"4184:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1809,"mutability":"mutable","name":"data","nameLocation":"4224:4:3","nodeType":"VariableDeclaration","scope":1824,"src":"4211:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1808,"name":"bytes","nodeType":"ElementaryTypeName","src":"4211:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4183:46:3"},"returnParameters":{"id":1813,"nodeType":"ParameterList","parameters":[],"src":"4263:0:3"},"scope":1914,"src":"4158:214:3","stateMutability":"payable","virtual":true,"visibility":"public"},{"body":{"id":1845,"nodeType":"Block","src":"4644:267:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1830,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4679:4:3","typeDescriptions":{"typeIdentifier":"t_contract$_UUPSUpgradeable_$1914","typeString":"contract UUPSUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UUPSUpgradeable_$1914","typeString":"contract UUPSUpgradeable"}],"id":1829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4671:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1828,"name":"address","nodeType":"ElementaryTypeName","src":"4671:7:3","typeDescriptions":{}}},"id":1831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4671:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1832,"name":"__self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1752,"src":"4688:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4671:23:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":1834,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"4749:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$5006_$","typeString":"type(library ERC1967Utils)"}},"id":1835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4762:17:3","memberName":"getImplementation","nodeType":"MemberAccess","referencedDeclaration":4764,"src":"4749:30:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4749:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1837,"name":"__self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1752,"src":"4785:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4749:42:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4671:120:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1844,"nodeType":"IfStatement","src":"4654:251:3","trueBody":{"id":1843,"nodeType":"Block","src":"4844:61:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1840,"name":"UUPSUnauthorizedCallContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"4865:27:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4865:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1842,"nodeType":"RevertStatement","src":"4858:36:3"}]}}]},"documentation":{"id":1825,"nodeType":"StructuredDocumentation","src":"4378:216:3","text":" @dev Reverts if the execution is not performed via delegatecall or the execution\n context is not of a proxy with an ERC1967-compliant implementation pointing to self.\n See {_onlyProxy}."},"id":1846,"implemented":true,"kind":"function","modifiers":[],"name":"_checkProxy","nameLocation":"4608:11:3","nodeType":"FunctionDefinition","parameters":{"id":1826,"nodeType":"ParameterList","parameters":[],"src":"4619:2:3"},"returnParameters":{"id":1827,"nodeType":"ParameterList","parameters":[],"src":"4644:0:3"},"scope":1914,"src":"4599:312:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1861,"nodeType":"Block","src":"5080:161:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1852,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5102:4:3","typeDescriptions":{"typeIdentifier":"t_contract$_UUPSUpgradeable_$1914","typeString":"contract UUPSUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UUPSUpgradeable_$1914","typeString":"contract UUPSUpgradeable"}],"id":1851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5094:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1850,"name":"address","nodeType":"ElementaryTypeName","src":"5094:7:3","typeDescriptions":{}}},"id":1853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5094:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1854,"name":"__self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1752,"src":"5111:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5094:23:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1860,"nodeType":"IfStatement","src":"5090:145:3","trueBody":{"id":1859,"nodeType":"Block","src":"5119:116:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1856,"name":"UUPSUnauthorizedCallContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"5195:27:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5195:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1858,"nodeType":"RevertStatement","src":"5188:36:3"}]}}]},"documentation":{"id":1847,"nodeType":"StructuredDocumentation","src":"4917:106:3","text":" @dev Reverts if the execution is performed via delegatecall.\n See {notDelegated}."},"id":1862,"implemented":true,"kind":"function","modifiers":[],"name":"_checkNotDelegated","nameLocation":"5037:18:3","nodeType":"FunctionDefinition","parameters":{"id":1848,"nodeType":"ParameterList","parameters":[],"src":"5055:2:3"},"returnParameters":{"id":1849,"nodeType":"ParameterList","parameters":[],"src":"5080:0:3"},"scope":1914,"src":"5028:213:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":1863,"nodeType":"StructuredDocumentation","src":"5247:372:3","text":" @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by\n {upgradeToAndCall}.\n Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.\n ```solidity\n function _authorizeUpgrade(address) internal onlyOwner {}\n ```"},"id":1868,"implemented":false,"kind":"function","modifiers":[],"name":"_authorizeUpgrade","nameLocation":"5633:17:3","nodeType":"FunctionDefinition","parameters":{"id":1866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1865,"mutability":"mutable","name":"newImplementation","nameLocation":"5659:17:3","nodeType":"VariableDeclaration","scope":1868,"src":"5651:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1864,"name":"address","nodeType":"ElementaryTypeName","src":"5651:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5650:27:3"},"returnParameters":{"id":1867,"nodeType":"ParameterList","parameters":[],"src":"5694:0:3"},"scope":1914,"src":"5624:71:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1912,"nodeType":"Block","src":"6137:453:3","statements":[{"clauses":[{"block":{"id":1901,"nodeType":"Block","src":"6227:212:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1884,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1882,"src":"6245:4:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1885,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"6253:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$5006_$","typeString":"type(library ERC1967Utils)"}},"id":1886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6266:19:3","memberName":"IMPLEMENTATION_SLOT","nodeType":"MemberAccess","referencedDeclaration":4733,"src":"6253:32:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6245:40:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1893,"nodeType":"IfStatement","src":"6241:120:3","trueBody":{"id":1892,"nodeType":"Block","src":"6287:74:3","statements":[{"errorCall":{"arguments":[{"id":1889,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1882,"src":"6341:4:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1888,"name":"UUPSUnsupportedProxiableUUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1764,"src":"6312:28:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":1890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6312:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1891,"nodeType":"RevertStatement","src":"6305:41:3"}]}},{"expression":{"arguments":[{"id":1897,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"6404:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1898,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1873,"src":"6423:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1894,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"6374:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$5006_$","typeString":"type(library ERC1967Utils)"}},"id":1896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6387:16:3","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":4825,"src":"6374:29:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":1899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6374:54:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1900,"nodeType":"ExpressionStatement","src":"6374:54:3"}]},"errorName":"","id":1902,"nodeType":"TryCatchClause","parameters":{"id":1883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1882,"mutability":"mutable","name":"slot","nameLocation":"6221:4:3","nodeType":"VariableDeclaration","scope":1902,"src":"6213:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1881,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6213:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6212:14:3"},"src":"6204:235:3"},{"block":{"id":1909,"nodeType":"Block","src":"6446:138:3","statements":[{"errorCall":{"arguments":[{"id":1906,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"6555:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1903,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"6513:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$5006_$","typeString":"type(library ERC1967Utils)"}},"id":1905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6526:28:3","memberName":"ERC1967InvalidImplementation","nodeType":"MemberAccess","referencedDeclaration":4738,"src":"6513:41:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":1907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6513:60:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1908,"nodeType":"RevertStatement","src":"6506:67:3"}]},"errorName":"","id":1910,"nodeType":"TryCatchClause","src":"6440:144:3"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":1877,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"6169:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1876,"name":"IERC1822Proxiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4566,"src":"6151:17:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1822Proxiable_$4566_$","typeString":"type(contract IERC1822Proxiable)"}},"id":1878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6151:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC1822Proxiable_$4566","typeString":"contract IERC1822Proxiable"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6188:13:3","memberName":"proxiableUUID","nodeType":"MemberAccess","referencedDeclaration":4565,"src":"6151:50:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":1880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6151:52:3","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1911,"nodeType":"TryStatement","src":"6147:437:3"}]},"documentation":{"id":1869,"nodeType":"StructuredDocumentation","src":"5701:346:3","text":" @dev Performs an implementation upgrade with a security check for UUPS proxies, and additional setup call.\n As a security check, {proxiableUUID} is invoked in the new implementation, and the return value\n is expected to be the implementation slot in ERC1967.\n Emits an {IERC1967-Upgraded} event."},"id":1913,"implemented":true,"kind":"function","modifiers":[],"name":"_upgradeToAndCallUUPS","nameLocation":"6061:21:3","nodeType":"FunctionDefinition","parameters":{"id":1874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1871,"mutability":"mutable","name":"newImplementation","nameLocation":"6091:17:3","nodeType":"VariableDeclaration","scope":1913,"src":"6083:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1870,"name":"address","nodeType":"ElementaryTypeName","src":"6083:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1873,"mutability":"mutable","name":"data","nameLocation":"6123:4:3","nodeType":"VariableDeclaration","scope":1913,"src":"6110:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1872,"name":"bytes","nodeType":"ElementaryTypeName","src":"6110:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6082:46:3"},"returnParameters":{"id":1875,"nodeType":"ParameterList","parameters":[],"src":"6137:0:3"},"scope":1914,"src":"6052:538:3","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":1915,"src":"986:5606:3","usedErrors":[1495,1498,1759,1764,4738,4751,5344,5347],"usedEvents":[1503,4717]}],"src":"115:6478:3"},"id":3},"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol","exportedSymbols":{"ERC1155HolderUpgradeable":[2012],"ERC165Upgradeable":[4332],"IERC1155Receiver":[5058],"IERC165":[5961],"Initializable":[1732]},"id":2013,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1916,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"121:24:4"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":1918,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2013,"sourceUnit":5962,"src":"147:80:4","symbolAliases":[{"foreign":{"id":1917,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"155:7:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","file":"../../../utils/introspection/ERC165Upgradeable.sol","id":1920,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2013,"sourceUnit":4333,"src":"228:85:4","symbolAliases":[{"foreign":{"id":1919,"name":"ERC165Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"236:17:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","file":"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","id":1922,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2013,"sourceUnit":5059,"src":"314:92:4","symbolAliases":[{"foreign":{"id":1921,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5058,"src":"322:16:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../../../proxy/utils/Initializable.sol","id":1924,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2013,"sourceUnit":1733,"src":"407:69:4","symbolAliases":[{"foreign":{"id":1923,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"415:13:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1926,"name":"Initializable","nameLocations":["767:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"767:13:4"},"id":1927,"nodeType":"InheritanceSpecifier","src":"767:13:4"},{"baseName":{"id":1928,"name":"ERC165Upgradeable","nameLocations":["782:17:4"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"782:17:4"},"id":1929,"nodeType":"InheritanceSpecifier","src":"782:17:4"},{"baseName":{"id":1930,"name":"IERC1155Receiver","nameLocations":["801:16:4"],"nodeType":"IdentifierPath","referencedDeclaration":5058,"src":"801:16:4"},"id":1931,"nodeType":"InheritanceSpecifier","src":"801:16:4"}],"canonicalName":"ERC1155HolderUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":1925,"nodeType":"StructuredDocumentation","src":"478:242:4","text":" @dev Simple implementation of `IERC1155Receiver` that will allow a contract to hold ERC1155 tokens.\n IMPORTANT: When inheriting this contract, you must include a way to use the received tokens, otherwise they will be\n stuck."},"fullyImplemented":true,"id":2012,"linearizedBaseContracts":[2012,5058,4332,5961,1732],"name":"ERC1155HolderUpgradeable","nameLocation":"739:24:4","nodeType":"ContractDefinition","nodes":[{"body":{"id":1936,"nodeType":"Block","src":"882:7:4","statements":[]},"id":1937,"implemented":true,"kind":"function","modifiers":[{"id":1934,"kind":"modifierInvocation","modifierName":{"id":1933,"name":"onlyInitializing","nameLocations":["865:16:4"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"865:16:4"},"nodeType":"ModifierInvocation","src":"865:16:4"}],"name":"__ERC1155Holder_init","nameLocation":"833:20:4","nodeType":"FunctionDefinition","parameters":{"id":1932,"nodeType":"ParameterList","parameters":[],"src":"853:2:4"},"returnParameters":{"id":1935,"nodeType":"ParameterList","parameters":[],"src":"882:0:4"},"scope":2012,"src":"824:65:4","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1942,"nodeType":"Block","src":"963:7:4","statements":[]},"id":1943,"implemented":true,"kind":"function","modifiers":[{"id":1940,"kind":"modifierInvocation","modifierName":{"id":1939,"name":"onlyInitializing","nameLocations":["946:16:4"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"946:16:4"},"nodeType":"ModifierInvocation","src":"946:16:4"}],"name":"__ERC1155Holder_init_unchained","nameLocation":"904:30:4","nodeType":"FunctionDefinition","parameters":{"id":1938,"nodeType":"ParameterList","parameters":[],"src":"934:2:4"},"returnParameters":{"id":1941,"nodeType":"ParameterList","parameters":[],"src":"963:0:4"},"scope":2012,"src":"895:75:4","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[4331,5960],"body":{"id":1966,"nodeType":"Block","src":"1155:113:4","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":1959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1954,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1946,"src":"1172:11:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":1956,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5058,"src":"1192:16:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$5058_$","typeString":"type(contract IERC1155Receiver)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$5058_$","typeString":"type(contract IERC1155Receiver)"}],"id":1955,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1187:4:4","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":1957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1187:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC1155Receiver_$5058","typeString":"type(contract IERC1155Receiver)"}},"id":1958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1210:11:4","memberName":"interfaceId","nodeType":"MemberAccess","src":"1187:34:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1172:49:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1962,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1946,"src":"1249:11:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":1960,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1225:5:4","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC1155HolderUpgradeable_$2012_$","typeString":"type(contract super ERC1155HolderUpgradeable)"}},"id":1961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1231:17:4","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":4331,"src":"1225:23:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:36:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1172:89:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1953,"id":1965,"nodeType":"Return","src":"1165:96:4"}]},"documentation":{"id":1944,"nodeType":"StructuredDocumentation","src":"975:56:4","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":1967,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1045:17:4","nodeType":"FunctionDefinition","overrides":{"id":1950,"nodeType":"OverrideSpecifier","overrides":[{"id":1948,"name":"ERC165Upgradeable","nameLocations":["1112:17:4"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"1112:17:4"},{"id":1949,"name":"IERC165","nameLocations":["1131:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"1131:7:4"}],"src":"1103:36:4"},"parameters":{"id":1947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1946,"mutability":"mutable","name":"interfaceId","nameLocation":"1070:11:4","nodeType":"VariableDeclaration","scope":1967,"src":"1063:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1945,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1063:6:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1062:20:4"},"returnParameters":{"id":1953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1967,"src":"1149:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1951,"name":"bool","nodeType":"ElementaryTypeName","src":"1149:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1148:6:4"},"scope":2012,"src":"1036:232:4","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5039],"body":{"id":1987,"nodeType":"Block","src":"1438:55:4","statements":[{"expression":{"expression":{"expression":{"id":1983,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1455:4:4","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1155HolderUpgradeable_$2012","typeString":"contract ERC1155HolderUpgradeable"}},"id":1984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1460:17:4","memberName":"onERC1155Received","nodeType":"MemberAccess","referencedDeclaration":1988,"src":"1455:22:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"}},"id":1985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1478:8:4","memberName":"selector","nodeType":"MemberAccess","src":"1455:31:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":1982,"id":1986,"nodeType":"Return","src":"1448:38:4"}]},"functionSelector":"f23a6e61","id":1988,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155Received","nameLocation":"1283:17:4","nodeType":"FunctionDefinition","overrides":{"id":1979,"nodeType":"OverrideSpecifier","overrides":[],"src":"1412:8:4"},"parameters":{"id":1978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1988,"src":"1310:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1968,"name":"address","nodeType":"ElementaryTypeName","src":"1310:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1971,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1988,"src":"1327:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1970,"name":"address","nodeType":"ElementaryTypeName","src":"1327:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1988,"src":"1344:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1972,"name":"uint256","nodeType":"ElementaryTypeName","src":"1344:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1975,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1988,"src":"1361:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1974,"name":"uint256","nodeType":"ElementaryTypeName","src":"1361:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1988,"src":"1378:12:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1976,"name":"bytes","nodeType":"ElementaryTypeName","src":"1378:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1300:96:4"},"returnParameters":{"id":1982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1981,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1988,"src":"1430:6:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1980,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1430:6:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1429:8:4"},"scope":2012,"src":"1274:219:4","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[5057],"body":{"id":2010,"nodeType":"Block","src":"1686:60:4","statements":[{"expression":{"expression":{"expression":{"id":2006,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1703:4:4","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1155HolderUpgradeable_$2012","typeString":"contract ERC1155HolderUpgradeable"}},"id":2007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1708:22:4","memberName":"onERC1155BatchReceived","nodeType":"MemberAccess","referencedDeclaration":2011,"src":"1703:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1731:8:4","memberName":"selector","nodeType":"MemberAccess","src":"1703:36:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":2005,"id":2009,"nodeType":"Return","src":"1696:43:4"}]},"functionSelector":"bc197c81","id":2011,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155BatchReceived","nameLocation":"1508:22:4","nodeType":"FunctionDefinition","overrides":{"id":2002,"nodeType":"OverrideSpecifier","overrides":[],"src":"1660:8:4"},"parameters":{"id":2001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1990,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2011,"src":"1540:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"1540:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1992,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2011,"src":"1557:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1991,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2011,"src":"1574:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1993,"name":"uint256","nodeType":"ElementaryTypeName","src":"1574:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1994,"nodeType":"ArrayTypeName","src":"1574:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2011,"src":"1600:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1996,"name":"uint256","nodeType":"ElementaryTypeName","src":"1600:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1997,"nodeType":"ArrayTypeName","src":"1600:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2000,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2011,"src":"1626:12:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1999,"name":"bytes","nodeType":"ElementaryTypeName","src":"1626:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1530:114:4"},"returnParameters":{"id":2005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2011,"src":"1678:6:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":2003,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1678:6:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1677:8:4"},"scope":2012,"src":"1499:247:4","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":2013,"src":"721:1027:4","usedErrors":[1495,1498],"usedEvents":[1503]}],"src":"121:1628:4"},"id":4},"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","exportedSymbols":{"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC721Upgradeable":[3144],"IERC165":[5961],"IERC721":[5253],"IERC721Errors":[4656],"IERC721Metadata":[5331],"IERC721Receiver":[5271],"Initializable":[1732],"Strings":[5949]},"id":3145,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2014,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"107:24:5"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"@openzeppelin/contracts/token/ERC721/IERC721.sol","id":2016,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3145,"sourceUnit":5254,"src":"133:73:5","symbolAliases":[{"foreign":{"id":2015,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5253,"src":"141:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","id":2018,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3145,"sourceUnit":5272,"src":"207:89:5","symbolAliases":[{"foreign":{"id":2017,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5271,"src":"215:15:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","id":2020,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3145,"sourceUnit":5332,"src":"297:100:5","symbolAliases":[{"foreign":{"id":2019,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5331,"src":"305:15:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","file":"../../utils/ContextUpgradeable.sol","id":2022,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3145,"sourceUnit":3988,"src":"398:70:5","symbolAliases":[{"foreign":{"id":2021,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"406:18:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","id":2024,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3145,"sourceUnit":5950,"src":"469:66:5","symbolAliases":[{"foreign":{"id":2023,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"477:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":2026,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3145,"sourceUnit":5962,"src":"536:80:5","symbolAliases":[{"foreign":{"id":2025,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"544:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","file":"../../utils/introspection/ERC165Upgradeable.sol","id":2028,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3145,"sourceUnit":4333,"src":"617:82:5","symbolAliases":[{"foreign":{"id":2027,"name":"ERC165Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"625:17:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/draft-IERC6093.sol","file":"@openzeppelin/contracts/interfaces/draft-IERC6093.sol","id":2030,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3145,"sourceUnit":4704,"src":"700:84:5","symbolAliases":[{"foreign":{"id":2029,"name":"IERC721Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4656,"src":"708:13:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../../proxy/utils/Initializable.sol","id":2032,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3145,"sourceUnit":1733,"src":"785:66:5","symbolAliases":[{"foreign":{"id":2031,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"793:13:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":2034,"name":"Initializable","nameLocations":["1139:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1139:13:5"},"id":2035,"nodeType":"InheritanceSpecifier","src":"1139:13:5"},{"baseName":{"id":2036,"name":"ContextUpgradeable","nameLocations":["1154:18:5"],"nodeType":"IdentifierPath","referencedDeclaration":3987,"src":"1154:18:5"},"id":2037,"nodeType":"InheritanceSpecifier","src":"1154:18:5"},{"baseName":{"id":2038,"name":"ERC165Upgradeable","nameLocations":["1174:17:5"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"1174:17:5"},"id":2039,"nodeType":"InheritanceSpecifier","src":"1174:17:5"},{"baseName":{"id":2040,"name":"IERC721","nameLocations":["1193:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":5253,"src":"1193:7:5"},"id":2041,"nodeType":"InheritanceSpecifier","src":"1193:7:5"},{"baseName":{"id":2042,"name":"IERC721Metadata","nameLocations":["1202:15:5"],"nodeType":"IdentifierPath","referencedDeclaration":5331,"src":"1202:15:5"},"id":2043,"nodeType":"InheritanceSpecifier","src":"1202:15:5"},{"baseName":{"id":2044,"name":"IERC721Errors","nameLocations":["1219:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":4656,"src":"1219:13:5"},"id":2045,"nodeType":"InheritanceSpecifier","src":"1219:13:5"}],"canonicalName":"ERC721Upgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":2033,"nodeType":"StructuredDocumentation","src":"853:246:5","text":" @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}."},"fullyImplemented":true,"id":3144,"linearizedBaseContracts":[3144,4656,5331,5253,4332,5961,3987,1732],"name":"ERC721Upgradeable","nameLocation":"1118:17:5","nodeType":"ContractDefinition","nodes":[{"global":false,"id":2048,"libraryName":{"id":2046,"name":"Strings","nameLocations":["1245:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":5949,"src":"1245:7:5"},"nodeType":"UsingForDirective","src":"1239:26:5","typeName":{"id":2047,"name":"uint256","nodeType":"ElementaryTypeName","src":"1257:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"canonicalName":"ERC721Upgradeable.ERC721Storage","documentation":{"id":2049,"nodeType":"StructuredDocumentation","src":"1271:64:5","text":"@custom:storage-location erc7201:openzeppelin.storage.ERC721"},"id":2072,"members":[{"constant":false,"id":2051,"mutability":"mutable","name":"_name","nameLocation":"1400:5:5","nodeType":"VariableDeclaration","scope":2072,"src":"1393:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2050,"name":"string","nodeType":"ElementaryTypeName","src":"1393:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2053,"mutability":"mutable","name":"_symbol","nameLocation":"1447:7:5","nodeType":"VariableDeclaration","scope":2072,"src":"1440:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2052,"name":"string","nodeType":"ElementaryTypeName","src":"1440:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2057,"mutability":"mutable","name":"_owners","nameLocation":"1501:7:5","nodeType":"VariableDeclaration","scope":2072,"src":"1465:43:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":2056,"keyName":"tokenId","keyNameLocation":"1481:7:5","keyType":{"id":2054,"name":"uint256","nodeType":"ElementaryTypeName","src":"1473:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1465:35:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2055,"name":"address","nodeType":"ElementaryTypeName","src":"1492:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"constant":false,"id":2061,"mutability":"mutable","name":"_balances","nameLocation":"1553:9:5","nodeType":"VariableDeclaration","scope":2072,"src":"1519:43:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":2060,"keyName":"owner","keyNameLocation":"1535:5:5","keyType":{"id":2058,"name":"address","nodeType":"ElementaryTypeName","src":"1527:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1519:33:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2059,"name":"uint256","nodeType":"ElementaryTypeName","src":"1544:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":2065,"mutability":"mutable","name":"_tokenApprovals","nameLocation":"1609:15:5","nodeType":"VariableDeclaration","scope":2072,"src":"1573:51:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":2064,"keyName":"tokenId","keyNameLocation":"1589:7:5","keyType":{"id":2062,"name":"uint256","nodeType":"ElementaryTypeName","src":"1581:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1573:35:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2063,"name":"address","nodeType":"ElementaryTypeName","src":"1600:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"constant":false,"id":2071,"mutability":"mutable","name":"_operatorApprovals","nameLocation":"1695:18:5","nodeType":"VariableDeclaration","scope":2072,"src":"1635:78:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":2070,"keyName":"owner","keyNameLocation":"1651:5:5","keyType":{"id":2066,"name":"address","nodeType":"ElementaryTypeName","src":"1643:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1635:59:5","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":2069,"keyName":"operator","keyNameLocation":"1676:8:5","keyType":{"id":2067,"name":"address","nodeType":"ElementaryTypeName","src":"1668:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1660:33:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2068,"name":"bool","nodeType":"ElementaryTypeName","src":"1688:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"}],"name":"ERC721Storage","nameLocation":"1347:13:5","nodeType":"StructDefinition","scope":3144,"src":"1340:380:5","visibility":"public"},{"constant":true,"id":2075,"mutability":"constant","name":"ERC721StorageLocation","nameLocation":"1861:21:5","nodeType":"VariableDeclaration","scope":3144,"src":"1836:115:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1836:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307838306262326236333863633230626334643061363064363639343066336162346130306331643762333133343937636138326662306234616230303739333030","id":2074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1885:66:5","typeDescriptions":{"typeIdentifier":"t_rational_58226744478722834339948329933988999792353370511964151963072532422914231210752_by_1","typeString":"int_const 5822...(69 digits omitted)...0752"},"value":"0x80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300"},"visibility":"private"},{"body":{"id":2082,"nodeType":"Block","src":"2034:80:5","statements":[{"AST":{"nodeType":"YulBlock","src":"2053:55:5","statements":[{"nodeType":"YulAssignment","src":"2067:31:5","value":{"name":"ERC721StorageLocation","nodeType":"YulIdentifier","src":"2077:21:5"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2067:6:5"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":2079,"isOffset":false,"isSlot":true,"src":"2067:6:5","suffix":"slot","valueSize":1},{"declaration":2075,"isOffset":false,"isSlot":false,"src":"2077:21:5","valueSize":1}],"id":2081,"nodeType":"InlineAssembly","src":"2044:64:5"}]},"id":2083,"implemented":true,"kind":"function","modifiers":[],"name":"_getERC721Storage","nameLocation":"1967:17:5","nodeType":"FunctionDefinition","parameters":{"id":2076,"nodeType":"ParameterList","parameters":[],"src":"1984:2:5"},"returnParameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"mutability":"mutable","name":"$","nameLocation":"2031:1:5","nodeType":"VariableDeclaration","scope":2083,"src":"2009:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2078,"nodeType":"UserDefinedTypeName","pathNode":{"id":2077,"name":"ERC721Storage","nameLocations":["2009:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"2009:13:5"},"referencedDeclaration":2072,"src":"2009:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"src":"2008:25:5"},"scope":3144,"src":"1958:156:5","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":2098,"nodeType":"Block","src":"2326:56:5","statements":[{"expression":{"arguments":[{"id":2094,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"2360:5:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":2095,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2088,"src":"2367:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2093,"name":"__ERC721_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2127,"src":"2336:23:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2336:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2097,"nodeType":"ExpressionStatement","src":"2336:39:5"}]},"documentation":{"id":2084,"nodeType":"StructuredDocumentation","src":"2120:108:5","text":" @dev Initializes the contract by setting a `name` and a `symbol` to the token collection."},"id":2099,"implemented":true,"kind":"function","modifiers":[{"id":2091,"kind":"modifierInvocation","modifierName":{"id":2090,"name":"onlyInitializing","nameLocations":["2309:16:5"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2309:16:5"},"nodeType":"ModifierInvocation","src":"2309:16:5"}],"name":"__ERC721_init","nameLocation":"2242:13:5","nodeType":"FunctionDefinition","parameters":{"id":2089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2086,"mutability":"mutable","name":"name_","nameLocation":"2270:5:5","nodeType":"VariableDeclaration","scope":2099,"src":"2256:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2085,"name":"string","nodeType":"ElementaryTypeName","src":"2256:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2088,"mutability":"mutable","name":"symbol_","nameLocation":"2291:7:5","nodeType":"VariableDeclaration","scope":2099,"src":"2277:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2087,"name":"string","nodeType":"ElementaryTypeName","src":"2277:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2255:44:5"},"returnParameters":{"id":2092,"nodeType":"ParameterList","parameters":[],"src":"2326:0:5"},"scope":3144,"src":"2233:149:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2126,"nodeType":"Block","src":"2491:116:5","statements":[{"assignments":[2110],"declarations":[{"constant":false,"id":2110,"mutability":"mutable","name":"$","nameLocation":"2523:1:5","nodeType":"VariableDeclaration","scope":2126,"src":"2501:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2109,"nodeType":"UserDefinedTypeName","pathNode":{"id":2108,"name":"ERC721Storage","nameLocations":["2501:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"2501:13:5"},"referencedDeclaration":2072,"src":"2501:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2113,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2111,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"2527:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2527:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2501:45:5"},{"expression":{"id":2118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":2114,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2110,"src":"2556:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2558:5:5","memberName":"_name","nodeType":"MemberAccess","referencedDeclaration":2051,"src":"2556:7:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2117,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"2566:5:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2556:15:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":2119,"nodeType":"ExpressionStatement","src":"2556:15:5"},{"expression":{"id":2124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":2120,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2110,"src":"2581:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2583:7:5","memberName":"_symbol","nodeType":"MemberAccess","referencedDeclaration":2053,"src":"2581:9:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2123,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2103,"src":"2593:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2581:19:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":2125,"nodeType":"ExpressionStatement","src":"2581:19:5"}]},"id":2127,"implemented":true,"kind":"function","modifiers":[{"id":2106,"kind":"modifierInvocation","modifierName":{"id":2105,"name":"onlyInitializing","nameLocations":["2474:16:5"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2474:16:5"},"nodeType":"ModifierInvocation","src":"2474:16:5"}],"name":"__ERC721_init_unchained","nameLocation":"2397:23:5","nodeType":"FunctionDefinition","parameters":{"id":2104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2101,"mutability":"mutable","name":"name_","nameLocation":"2435:5:5","nodeType":"VariableDeclaration","scope":2127,"src":"2421:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2100,"name":"string","nodeType":"ElementaryTypeName","src":"2421:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2103,"mutability":"mutable","name":"symbol_","nameLocation":"2456:7:5","nodeType":"VariableDeclaration","scope":2127,"src":"2442:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2102,"name":"string","nodeType":"ElementaryTypeName","src":"2442:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2420:44:5"},"returnParameters":{"id":2107,"nodeType":"ParameterList","parameters":[],"src":"2491:0:5"},"scope":3144,"src":"2388:219:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[4331,5960],"body":{"id":2157,"nodeType":"Block","src":"2793:192:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2138,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2130,"src":"2822:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":2140,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5253,"src":"2842:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721_$5253_$","typeString":"type(contract IERC721)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721_$5253_$","typeString":"type(contract IERC721)"}],"id":2139,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2837:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2837:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721_$5253","typeString":"type(contract IERC721)"}},"id":2142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2851:11:5","memberName":"interfaceId","nodeType":"MemberAccess","src":"2837:25:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"2822:40:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2144,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2130,"src":"2878:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":2146,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5331,"src":"2898:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$5331_$","typeString":"type(contract IERC721Metadata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$5331_$","typeString":"type(contract IERC721Metadata)"}],"id":2145,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2893:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2893:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721Metadata_$5331","typeString":"type(contract IERC721Metadata)"}},"id":2148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2915:11:5","memberName":"interfaceId","nodeType":"MemberAccess","src":"2893:33:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"2878:48:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2822:104:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":2153,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2130,"src":"2966:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":2151,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2942:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721Upgradeable_$3144_$","typeString":"type(contract super ERC721Upgradeable)"}},"id":2152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2948:17:5","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":4331,"src":"2942:23:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":2154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2942:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2822:156:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2137,"id":2156,"nodeType":"Return","src":"2803:175:5"}]},"documentation":{"id":2128,"nodeType":"StructuredDocumentation","src":"2613:56:5","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":2158,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"2683:17:5","nodeType":"FunctionDefinition","overrides":{"id":2134,"nodeType":"OverrideSpecifier","overrides":[{"id":2132,"name":"ERC165Upgradeable","nameLocations":["2750:17:5"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"2750:17:5"},{"id":2133,"name":"IERC165","nameLocations":["2769:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"2769:7:5"}],"src":"2741:36:5"},"parameters":{"id":2131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2130,"mutability":"mutable","name":"interfaceId","nameLocation":"2708:11:5","nodeType":"VariableDeclaration","scope":2158,"src":"2701:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":2129,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2701:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2700:20:5"},"returnParameters":{"id":2137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2158,"src":"2787:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2135,"name":"bool","nodeType":"ElementaryTypeName","src":"2787:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2786:6:5"},"scope":3144,"src":"2674:311:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5178],"body":{"id":2192,"nodeType":"Block","src":"3116:193:5","statements":[{"assignments":[2168],"declarations":[{"constant":false,"id":2168,"mutability":"mutable","name":"$","nameLocation":"3148:1:5","nodeType":"VariableDeclaration","scope":2192,"src":"3126:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2167,"nodeType":"UserDefinedTypeName","pathNode":{"id":2166,"name":"ERC721Storage","nameLocations":["3126:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"3126:13:5"},"referencedDeclaration":2072,"src":"3126:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2171,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2169,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"3152:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3152:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3126:45:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2172,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2161,"src":"3185:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3202:1:5","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":2174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3194:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2173,"name":"address","nodeType":"ElementaryTypeName","src":"3194:7:5","typeDescriptions":{}}},"id":2176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3194:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3185:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2186,"nodeType":"IfStatement","src":"3181:87:5","trueBody":{"id":2185,"nodeType":"Block","src":"3206:62:5","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":2181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3254:1:5","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":2180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3246:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2179,"name":"address","nodeType":"ElementaryTypeName","src":"3246:7:5","typeDescriptions":{}}},"id":2182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3246:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2178,"name":"ERC721InvalidOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4614,"src":"3227:18:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":2183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3227:30:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2184,"nodeType":"RevertStatement","src":"3220:37:5"}]}},{"expression":{"baseExpression":{"expression":{"id":2187,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2168,"src":"3284:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3286:9:5","memberName":"_balances","nodeType":"MemberAccess","referencedDeclaration":2061,"src":"3284:11:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2190,"indexExpression":{"id":2189,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2161,"src":"3296:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3284:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2165,"id":2191,"nodeType":"Return","src":"3277:25:5"}]},"documentation":{"id":2159,"nodeType":"StructuredDocumentation","src":"2991:48:5","text":" @dev See {IERC721-balanceOf}."},"functionSelector":"70a08231","id":2193,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3053:9:5","nodeType":"FunctionDefinition","parameters":{"id":2162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2161,"mutability":"mutable","name":"owner","nameLocation":"3071:5:5","nodeType":"VariableDeclaration","scope":2193,"src":"3063:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2160,"name":"address","nodeType":"ElementaryTypeName","src":"3063:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3062:15:5"},"returnParameters":{"id":2165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2164,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2193,"src":"3107:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2163,"name":"uint256","nodeType":"ElementaryTypeName","src":"3107:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3106:9:5"},"scope":3144,"src":"3044:265:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5186],"body":{"id":2205,"nodeType":"Block","src":"3438:46:5","statements":[{"expression":{"arguments":[{"id":2202,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2196,"src":"3469:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2201,"name":"_requireOwned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3079,"src":"3455:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":2203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3455:22:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2200,"id":2204,"nodeType":"Return","src":"3448:29:5"}]},"documentation":{"id":2194,"nodeType":"StructuredDocumentation","src":"3315:46:5","text":" @dev See {IERC721-ownerOf}."},"functionSelector":"6352211e","id":2206,"implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"3375:7:5","nodeType":"FunctionDefinition","parameters":{"id":2197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2196,"mutability":"mutable","name":"tokenId","nameLocation":"3391:7:5","nodeType":"VariableDeclaration","scope":2206,"src":"3383:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2195,"name":"uint256","nodeType":"ElementaryTypeName","src":"3383:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3382:17:5"},"returnParameters":{"id":2200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2199,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2206,"src":"3429:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2198,"name":"address","nodeType":"ElementaryTypeName","src":"3429:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3428:9:5"},"scope":3144,"src":"3366:118:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5316],"body":{"id":2221,"nodeType":"Block","src":"3606:86:5","statements":[{"assignments":[2214],"declarations":[{"constant":false,"id":2214,"mutability":"mutable","name":"$","nameLocation":"3638:1:5","nodeType":"VariableDeclaration","scope":2221,"src":"3616:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2213,"nodeType":"UserDefinedTypeName","pathNode":{"id":2212,"name":"ERC721Storage","nameLocations":["3616:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"3616:13:5"},"referencedDeclaration":2072,"src":"3616:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2217,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2215,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"3642:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3642:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3616:45:5"},{"expression":{"expression":{"id":2218,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2214,"src":"3678:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3680:5:5","memberName":"_name","nodeType":"MemberAccess","referencedDeclaration":2051,"src":"3678:7:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":2211,"id":2220,"nodeType":"Return","src":"3671:14:5"}]},"documentation":{"id":2207,"nodeType":"StructuredDocumentation","src":"3490:51:5","text":" @dev See {IERC721Metadata-name}."},"functionSelector":"06fdde03","id":2222,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"3555:4:5","nodeType":"FunctionDefinition","parameters":{"id":2208,"nodeType":"ParameterList","parameters":[],"src":"3559:2:5"},"returnParameters":{"id":2211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2222,"src":"3591:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2209,"name":"string","nodeType":"ElementaryTypeName","src":"3591:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3590:15:5"},"scope":3144,"src":"3546:146:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5322],"body":{"id":2237,"nodeType":"Block","src":"3818:88:5","statements":[{"assignments":[2230],"declarations":[{"constant":false,"id":2230,"mutability":"mutable","name":"$","nameLocation":"3850:1:5","nodeType":"VariableDeclaration","scope":2237,"src":"3828:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2229,"nodeType":"UserDefinedTypeName","pathNode":{"id":2228,"name":"ERC721Storage","nameLocations":["3828:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"3828:13:5"},"referencedDeclaration":2072,"src":"3828:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2233,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2231,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"3854:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3854:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3828:45:5"},{"expression":{"expression":{"id":2234,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2230,"src":"3890:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3892:7:5","memberName":"_symbol","nodeType":"MemberAccess","referencedDeclaration":2053,"src":"3890:9:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":2227,"id":2236,"nodeType":"Return","src":"3883:16:5"}]},"documentation":{"id":2223,"nodeType":"StructuredDocumentation","src":"3698:53:5","text":" @dev See {IERC721Metadata-symbol}."},"functionSelector":"95d89b41","id":2238,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"3765:6:5","nodeType":"FunctionDefinition","parameters":{"id":2224,"nodeType":"ParameterList","parameters":[],"src":"3771:2:5"},"returnParameters":{"id":2227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2238,"src":"3803:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2225,"name":"string","nodeType":"ElementaryTypeName","src":"3803:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3802:15:5"},"scope":3144,"src":"3756:150:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5330],"body":{"id":2273,"nodeType":"Block","src":"4051:176:5","statements":[{"expression":{"arguments":[{"id":2247,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2241,"src":"4075:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2246,"name":"_requireOwned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3079,"src":"4061:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":2248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:22:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2249,"nodeType":"ExpressionStatement","src":"4061:22:5"},{"assignments":[2251],"declarations":[{"constant":false,"id":2251,"mutability":"mutable","name":"baseURI","nameLocation":"4108:7:5","nodeType":"VariableDeclaration","scope":2273,"src":"4094:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2250,"name":"string","nodeType":"ElementaryTypeName","src":"4094:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":2254,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2252,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2283,"src":"4118:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":2253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4118:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"4094:34:5"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":2257,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"4151:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4145:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2255,"name":"bytes","nodeType":"ElementaryTypeName","src":"4145:5:5","typeDescriptions":{}}},"id":2258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4145:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4160:6:5","memberName":"length","nodeType":"MemberAccess","src":"4145:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4169:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4145:25:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":2270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4218:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":2271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4145:75:5","trueExpression":{"arguments":[{"id":2265,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"4187:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":2266,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2241,"src":"4196:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4204:8:5","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"4196:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (string memory)"}},"id":2268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4196:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4173:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2262,"name":"string","nodeType":"ElementaryTypeName","src":"4173:6:5","typeDescriptions":{}}},"id":2264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4180:6:5","memberName":"concat","nodeType":"MemberAccess","src":"4173:13:5","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":2269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4173:42:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":2245,"id":2272,"nodeType":"Return","src":"4138:82:5"}]},"documentation":{"id":2239,"nodeType":"StructuredDocumentation","src":"3912:55:5","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","id":2274,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"3981:8:5","nodeType":"FunctionDefinition","parameters":{"id":2242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2241,"mutability":"mutable","name":"tokenId","nameLocation":"3998:7:5","nodeType":"VariableDeclaration","scope":2274,"src":"3990:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2240,"name":"uint256","nodeType":"ElementaryTypeName","src":"3990:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3989:17:5"},"returnParameters":{"id":2245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2244,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2274,"src":"4036:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2243,"name":"string","nodeType":"ElementaryTypeName","src":"4036:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4035:15:5"},"scope":3144,"src":"3972:255:5","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":2282,"nodeType":"Block","src":"4535:26:5","statements":[{"expression":{"hexValue":"","id":2280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4552:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":2279,"id":2281,"nodeType":"Return","src":"4545:9:5"}]},"documentation":{"id":2275,"nodeType":"StructuredDocumentation","src":"4233:231:5","text":" @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts."},"id":2283,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"4478:8:5","nodeType":"FunctionDefinition","parameters":{"id":2276,"nodeType":"ParameterList","parameters":[],"src":"4486:2:5"},"returnParameters":{"id":2279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2278,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2283,"src":"4520:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2277,"name":"string","nodeType":"ElementaryTypeName","src":"4520:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4519:15:5"},"scope":3144,"src":"4469:92:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[5226],"body":{"id":2298,"nodeType":"Block","src":"4679:52:5","statements":[{"expression":{"arguments":[{"id":2292,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2286,"src":"4698:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2293,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2288,"src":"4702:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":2294,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"4711:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4711:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2291,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[2931,3005],"referencedDeclaration":2931,"src":"4689:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":2296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4689:35:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2297,"nodeType":"ExpressionStatement","src":"4689:35:5"}]},"documentation":{"id":2284,"nodeType":"StructuredDocumentation","src":"4567:46:5","text":" @dev See {IERC721-approve}."},"functionSelector":"095ea7b3","id":2299,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4627:7:5","nodeType":"FunctionDefinition","parameters":{"id":2289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2286,"mutability":"mutable","name":"to","nameLocation":"4643:2:5","nodeType":"VariableDeclaration","scope":2299,"src":"4635:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2285,"name":"address","nodeType":"ElementaryTypeName","src":"4635:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2288,"mutability":"mutable","name":"tokenId","nameLocation":"4655:7:5","nodeType":"VariableDeclaration","scope":2299,"src":"4647:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2287,"name":"uint256","nodeType":"ElementaryTypeName","src":"4647:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4634:29:5"},"returnParameters":{"id":2290,"nodeType":"ParameterList","parameters":[],"src":"4679:0:5"},"scope":3144,"src":"4618:113:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[5242],"body":{"id":2315,"nodeType":"Block","src":"4868:78:5","statements":[{"expression":{"arguments":[{"id":2308,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2302,"src":"4892:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2307,"name":"_requireOwned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3079,"src":"4878:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":2309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4878:22:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2310,"nodeType":"ExpressionStatement","src":"4878:22:5"},{"expression":{"arguments":[{"id":2312,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2302,"src":"4931:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2311,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2486,"src":"4918:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":2313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4918:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2306,"id":2314,"nodeType":"Return","src":"4911:28:5"}]},"documentation":{"id":2300,"nodeType":"StructuredDocumentation","src":"4737:50:5","text":" @dev See {IERC721-getApproved}."},"functionSelector":"081812fc","id":2316,"implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"4801:11:5","nodeType":"FunctionDefinition","parameters":{"id":2303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2302,"mutability":"mutable","name":"tokenId","nameLocation":"4821:7:5","nodeType":"VariableDeclaration","scope":2316,"src":"4813:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2301,"name":"uint256","nodeType":"ElementaryTypeName","src":"4813:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4812:17:5"},"returnParameters":{"id":2306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2316,"src":"4859:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2304,"name":"address","nodeType":"ElementaryTypeName","src":"4859:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4858:9:5"},"scope":3144,"src":"4792:154:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5234],"body":{"id":2331,"nodeType":"Block","src":"5088:69:5","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":2325,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5117:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5117:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2327,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"5131:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2328,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2321,"src":"5141:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2324,"name":"_setApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3050,"src":"5098:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":2329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5098:52:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2330,"nodeType":"ExpressionStatement","src":"5098:52:5"}]},"documentation":{"id":2317,"nodeType":"StructuredDocumentation","src":"4952:56:5","text":" @dev See {IERC721-setApprovalForAll}."},"functionSelector":"a22cb465","id":2332,"implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"5022:17:5","nodeType":"FunctionDefinition","parameters":{"id":2322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2319,"mutability":"mutable","name":"operator","nameLocation":"5048:8:5","nodeType":"VariableDeclaration","scope":2332,"src":"5040:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2318,"name":"address","nodeType":"ElementaryTypeName","src":"5040:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2321,"mutability":"mutable","name":"approved","nameLocation":"5063:8:5","nodeType":"VariableDeclaration","scope":2332,"src":"5058:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2320,"name":"bool","nodeType":"ElementaryTypeName","src":"5058:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5039:33:5"},"returnParameters":{"id":2323,"nodeType":"ParameterList","parameters":[],"src":"5088:0:5"},"scope":3144,"src":"5013:144:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[5252],"body":{"id":2355,"nodeType":"Block","src":"5317:116:5","statements":[{"assignments":[2344],"declarations":[{"constant":false,"id":2344,"mutability":"mutable","name":"$","nameLocation":"5349:1:5","nodeType":"VariableDeclaration","scope":2355,"src":"5327:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2343,"nodeType":"UserDefinedTypeName","pathNode":{"id":2342,"name":"ERC721Storage","nameLocations":["5327:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"5327:13:5"},"referencedDeclaration":2072,"src":"5327:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2347,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2345,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"5353:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5353:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5327:45:5"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":2348,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"5389:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5391:18:5","memberName":"_operatorApprovals","nodeType":"MemberAccess","referencedDeclaration":2071,"src":"5389:20:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":2351,"indexExpression":{"id":2350,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"5410:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5389:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":2353,"indexExpression":{"id":2352,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2337,"src":"5417:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5389:37:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2341,"id":2354,"nodeType":"Return","src":"5382:44:5"}]},"documentation":{"id":2333,"nodeType":"StructuredDocumentation","src":"5163:55:5","text":" @dev See {IERC721-isApprovedForAll}."},"functionSelector":"e985e9c5","id":2356,"implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"5232:16:5","nodeType":"FunctionDefinition","parameters":{"id":2338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2335,"mutability":"mutable","name":"owner","nameLocation":"5257:5:5","nodeType":"VariableDeclaration","scope":2356,"src":"5249:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2334,"name":"address","nodeType":"ElementaryTypeName","src":"5249:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2337,"mutability":"mutable","name":"operator","nameLocation":"5272:8:5","nodeType":"VariableDeclaration","scope":2356,"src":"5264:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2336,"name":"address","nodeType":"ElementaryTypeName","src":"5264:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5248:33:5"},"returnParameters":{"id":2341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2356,"src":"5311:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2339,"name":"bool","nodeType":"ElementaryTypeName","src":"5311:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5310:6:5"},"scope":3144,"src":"5223:210:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5218],"body":{"id":2401,"nodeType":"Block","src":"5575:498:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2366,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2361,"src":"5589:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5603:1:5","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":2368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5595:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2367,"name":"address","nodeType":"ElementaryTypeName","src":"5595:7:5","typeDescriptions":{}}},"id":2370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5595:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5589:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2380,"nodeType":"IfStatement","src":"5585:87:5","trueBody":{"id":2379,"nodeType":"Block","src":"5607:65:5","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":2375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5658:1:5","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":2374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5650:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2373,"name":"address","nodeType":"ElementaryTypeName","src":"5650:7:5","typeDescriptions":{}}},"id":2376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5650:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2372,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4638,"src":"5628:21:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":2377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5628:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2378,"nodeType":"RevertStatement","src":"5621:40:5"}]}},{"assignments":[2382],"declarations":[{"constant":false,"id":2382,"mutability":"mutable","name":"previousOwner","nameLocation":"5898:13:5","nodeType":"VariableDeclaration","scope":2401,"src":"5890:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2381,"name":"address","nodeType":"ElementaryTypeName","src":"5890:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2389,"initialValue":{"arguments":[{"id":2384,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2361,"src":"5922:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2385,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2363,"src":"5926:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":2386,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5935:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":2387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5935:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2383,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2685,"src":"5914:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":2388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5914:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5890:58:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2390,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"5962:13:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2391,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2359,"src":"5979:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5962:21:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2400,"nodeType":"IfStatement","src":"5958:109:5","trueBody":{"id":2399,"nodeType":"Block","src":"5985:82:5","statements":[{"errorCall":{"arguments":[{"id":2394,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2359,"src":"6027:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2395,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2363,"src":"6033:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2396,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"6042:13:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2393,"name":"ERC721IncorrectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4628,"src":"6006:20:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) pure"}},"id":2397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6006:50:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2398,"nodeType":"RevertStatement","src":"5999:57:5"}]}}]},"documentation":{"id":2357,"nodeType":"StructuredDocumentation","src":"5439:51:5","text":" @dev See {IERC721-transferFrom}."},"functionSelector":"23b872dd","id":2402,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5504:12:5","nodeType":"FunctionDefinition","parameters":{"id":2364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2359,"mutability":"mutable","name":"from","nameLocation":"5525:4:5","nodeType":"VariableDeclaration","scope":2402,"src":"5517:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2358,"name":"address","nodeType":"ElementaryTypeName","src":"5517:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2361,"mutability":"mutable","name":"to","nameLocation":"5539:2:5","nodeType":"VariableDeclaration","scope":2402,"src":"5531:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2360,"name":"address","nodeType":"ElementaryTypeName","src":"5531:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2363,"mutability":"mutable","name":"tokenId","nameLocation":"5551:7:5","nodeType":"VariableDeclaration","scope":2402,"src":"5543:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2362,"name":"uint256","nodeType":"ElementaryTypeName","src":"5543:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5516:43:5"},"returnParameters":{"id":2365,"nodeType":"ParameterList","parameters":[],"src":"5575:0:5"},"scope":3144,"src":"5495:578:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[5208],"body":{"id":2419,"nodeType":"Block","src":"6215:56:5","statements":[{"expression":{"arguments":[{"id":2413,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2405,"src":"6242:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2414,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2407,"src":"6248:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2415,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2409,"src":"6252:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":2416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6261:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":2412,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[2420,2446],"referencedDeclaration":2446,"src":"6225:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":2417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6225:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2418,"nodeType":"ExpressionStatement","src":"6225:39:5"}]},"documentation":{"id":2403,"nodeType":"StructuredDocumentation","src":"6079:55:5","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"42842e0e","id":2420,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"6148:16:5","nodeType":"FunctionDefinition","parameters":{"id":2410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2405,"mutability":"mutable","name":"from","nameLocation":"6173:4:5","nodeType":"VariableDeclaration","scope":2420,"src":"6165:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2404,"name":"address","nodeType":"ElementaryTypeName","src":"6165:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2407,"mutability":"mutable","name":"to","nameLocation":"6187:2:5","nodeType":"VariableDeclaration","scope":2420,"src":"6179:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2406,"name":"address","nodeType":"ElementaryTypeName","src":"6179:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2409,"mutability":"mutable","name":"tokenId","nameLocation":"6199:7:5","nodeType":"VariableDeclaration","scope":2420,"src":"6191:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2408,"name":"uint256","nodeType":"ElementaryTypeName","src":"6191:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6164:43:5"},"returnParameters":{"id":2411,"nodeType":"ParameterList","parameters":[],"src":"6215:0:5"},"scope":3144,"src":"6139:132:5","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[5198],"body":{"id":2445,"nodeType":"Block","src":"6440:105:5","statements":[{"expression":{"arguments":[{"id":2433,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2423,"src":"6463:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2434,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2425,"src":"6469:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2435,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2427,"src":"6473:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2432,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2402,"src":"6450:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6450:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2437,"nodeType":"ExpressionStatement","src":"6450:31:5"},{"expression":{"arguments":[{"id":2439,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2423,"src":"6514:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2440,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2425,"src":"6520:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2441,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2427,"src":"6524:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2442,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2429,"src":"6533:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2438,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3143,"src":"6491:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":2443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2444,"nodeType":"ExpressionStatement","src":"6491:47:5"}]},"documentation":{"id":2421,"nodeType":"StructuredDocumentation","src":"6277:55:5","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"b88d4fde","id":2446,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"6346:16:5","nodeType":"FunctionDefinition","parameters":{"id":2430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2423,"mutability":"mutable","name":"from","nameLocation":"6371:4:5","nodeType":"VariableDeclaration","scope":2446,"src":"6363:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2422,"name":"address","nodeType":"ElementaryTypeName","src":"6363:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2425,"mutability":"mutable","name":"to","nameLocation":"6385:2:5","nodeType":"VariableDeclaration","scope":2446,"src":"6377:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2424,"name":"address","nodeType":"ElementaryTypeName","src":"6377:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2427,"mutability":"mutable","name":"tokenId","nameLocation":"6397:7:5","nodeType":"VariableDeclaration","scope":2446,"src":"6389:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2426,"name":"uint256","nodeType":"ElementaryTypeName","src":"6389:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2429,"mutability":"mutable","name":"data","nameLocation":"6419:4:5","nodeType":"VariableDeclaration","scope":2446,"src":"6406:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2428,"name":"bytes","nodeType":"ElementaryTypeName","src":"6406:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6362:62:5"},"returnParameters":{"id":2431,"nodeType":"ParameterList","parameters":[],"src":"6440:0:5"},"scope":3144,"src":"6337:208:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":2465,"nodeType":"Block","src":"7134:97:5","statements":[{"assignments":[2456],"declarations":[{"constant":false,"id":2456,"mutability":"mutable","name":"$","nameLocation":"7166:1:5","nodeType":"VariableDeclaration","scope":2465,"src":"7144:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2455,"nodeType":"UserDefinedTypeName","pathNode":{"id":2454,"name":"ERC721Storage","nameLocations":["7144:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"7144:13:5"},"referencedDeclaration":2072,"src":"7144:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2459,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2457,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"7170:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7170:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7144:45:5"},{"expression":{"baseExpression":{"expression":{"id":2460,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2456,"src":"7206:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2461,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7208:7:5","memberName":"_owners","nodeType":"MemberAccess","referencedDeclaration":2057,"src":"7206:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":2463,"indexExpression":{"id":2462,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"7216:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7206:18:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2453,"id":2464,"nodeType":"Return","src":"7199:25:5"}]},"documentation":{"id":2447,"nodeType":"StructuredDocumentation","src":"6551:503:5","text":" @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist\n IMPORTANT: Any overrides to this function that add ownership of tokens not tracked by the\n core ERC721 logic MUST be matched with the use of {_increaseBalance} to keep balances\n consistent with ownership. The invariant to preserve is that for any address `a` the value returned by\n `balanceOf(a)` must be equal to the number of tokens such that `_ownerOf(tokenId)` is `a`."},"id":2466,"implemented":true,"kind":"function","modifiers":[],"name":"_ownerOf","nameLocation":"7068:8:5","nodeType":"FunctionDefinition","parameters":{"id":2450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2449,"mutability":"mutable","name":"tokenId","nameLocation":"7085:7:5","nodeType":"VariableDeclaration","scope":2466,"src":"7077:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2448,"name":"uint256","nodeType":"ElementaryTypeName","src":"7077:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7076:17:5"},"returnParameters":{"id":2453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2466,"src":"7125:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2451,"name":"address","nodeType":"ElementaryTypeName","src":"7125:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7124:9:5"},"scope":3144,"src":"7059:172:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":2485,"nodeType":"Block","src":"7426:105:5","statements":[{"assignments":[2476],"declarations":[{"constant":false,"id":2476,"mutability":"mutable","name":"$","nameLocation":"7458:1:5","nodeType":"VariableDeclaration","scope":2485,"src":"7436:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2475,"nodeType":"UserDefinedTypeName","pathNode":{"id":2474,"name":"ERC721Storage","nameLocations":["7436:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"7436:13:5"},"referencedDeclaration":2072,"src":"7436:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2479,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2477,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"7462:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7462:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7436:45:5"},{"expression":{"baseExpression":{"expression":{"id":2480,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2476,"src":"7498:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7500:15:5","memberName":"_tokenApprovals","nodeType":"MemberAccess","referencedDeclaration":2065,"src":"7498:17:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":2483,"indexExpression":{"id":2482,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2469,"src":"7516:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7498:26:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2473,"id":2484,"nodeType":"Return","src":"7491:33:5"}]},"documentation":{"id":2467,"nodeType":"StructuredDocumentation","src":"7237:105:5","text":" @dev Returns the approved address for `tokenId`. Returns 0 if `tokenId` is not minted."},"id":2486,"implemented":true,"kind":"function","modifiers":[],"name":"_getApproved","nameLocation":"7356:12:5","nodeType":"FunctionDefinition","parameters":{"id":2470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2469,"mutability":"mutable","name":"tokenId","nameLocation":"7377:7:5","nodeType":"VariableDeclaration","scope":2486,"src":"7369:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2468,"name":"uint256","nodeType":"ElementaryTypeName","src":"7369:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7368:17:5"},"returnParameters":{"id":2473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2486,"src":"7417:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2471,"name":"address","nodeType":"ElementaryTypeName","src":"7417:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7416:9:5"},"scope":3144,"src":"7347:184:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":2521,"nodeType":"Block","src":"7951:163:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2498,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2491,"src":"7980:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7999:1:5","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":2500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7991:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2499,"name":"address","nodeType":"ElementaryTypeName","src":"7991:7:5","typeDescriptions":{}}},"id":2502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7991:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7980:21:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2504,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2489,"src":"8018:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2505,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2491,"src":"8027:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8018:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":2508,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2489,"src":"8055:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2509,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2491,"src":"8062:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2507,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"8038:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":2510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8038:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8018:52:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2513,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2493,"src":"8087:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2512,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2486,"src":"8074:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":2514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8074:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2515,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2491,"src":"8099:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8074:32:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8018:88:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2518,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8017:90:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7980:127:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2497,"id":2520,"nodeType":"Return","src":"7961:146:5"}]},"documentation":{"id":2487,"nodeType":"StructuredDocumentation","src":"7537:300:5","text":" @dev Returns whether `spender` is allowed to manage `owner`'s tokens, or `tokenId` in\n particular (ignoring whether it is owned by `owner`).\n WARNING: This function assumes that `owner` is the actual owner of `tokenId` and does not verify this\n assumption."},"id":2522,"implemented":true,"kind":"function","modifiers":[],"name":"_isAuthorized","nameLocation":"7851:13:5","nodeType":"FunctionDefinition","parameters":{"id":2494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2489,"mutability":"mutable","name":"owner","nameLocation":"7873:5:5","nodeType":"VariableDeclaration","scope":2522,"src":"7865:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2488,"name":"address","nodeType":"ElementaryTypeName","src":"7865:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2491,"mutability":"mutable","name":"spender","nameLocation":"7888:7:5","nodeType":"VariableDeclaration","scope":2522,"src":"7880:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2490,"name":"address","nodeType":"ElementaryTypeName","src":"7880:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2493,"mutability":"mutable","name":"tokenId","nameLocation":"7905:7:5","nodeType":"VariableDeclaration","scope":2522,"src":"7897:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2492,"name":"uint256","nodeType":"ElementaryTypeName","src":"7897:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7864:49:5"},"returnParameters":{"id":2497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2522,"src":"7945:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2495,"name":"bool","nodeType":"ElementaryTypeName","src":"7945:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7944:6:5"},"scope":3144,"src":"7842:272:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":2558,"nodeType":"Block","src":"8645:271:5","statements":[{"condition":{"id":2537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8659:39:5","subExpression":{"arguments":[{"id":2533,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2525,"src":"8674:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2534,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2527,"src":"8681:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2535,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2529,"src":"8690:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2532,"name":"_isAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2522,"src":"8660:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) view returns (bool)"}},"id":2536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8660:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2557,"nodeType":"IfStatement","src":"8655:255:5","trueBody":{"id":2556,"nodeType":"Block","src":"8700:210:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2538,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2525,"src":"8718:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8735:1:5","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":2540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8727:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2539,"name":"address","nodeType":"ElementaryTypeName","src":"8727:7:5","typeDescriptions":{}}},"id":2542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8727:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8718:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2554,"nodeType":"Block","src":"8816:84:5","statements":[{"errorCall":{"arguments":[{"id":2550,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2527,"src":"8868:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2551,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2529,"src":"8877:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2549,"name":"ERC721InsufficientApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4645,"src":"8841:26:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":2552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8841:44:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2553,"nodeType":"RevertStatement","src":"8834:51:5"}]},"id":2555,"nodeType":"IfStatement","src":"8714:186:5","trueBody":{"id":2548,"nodeType":"Block","src":"8739:71:5","statements":[{"errorCall":{"arguments":[{"id":2545,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2529,"src":"8787:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2544,"name":"ERC721NonexistentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"8764:22:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":2546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8764:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2547,"nodeType":"RevertStatement","src":"8757:38:5"}]}}]}}]},"documentation":{"id":2523,"nodeType":"StructuredDocumentation","src":"8120:423:5","text":" @dev Checks if `spender` can operate on `tokenId`, assuming the provided `owner` is the actual owner.\n Reverts if `spender` does not have approval from the provided `owner` for the given token or for all its assets\n the `spender` for the specific `tokenId`.\n WARNING: This function assumes that `owner` is the actual owner of `tokenId` and does not verify this\n assumption."},"id":2559,"implemented":true,"kind":"function","modifiers":[],"name":"_checkAuthorized","nameLocation":"8557:16:5","nodeType":"FunctionDefinition","parameters":{"id":2530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2525,"mutability":"mutable","name":"owner","nameLocation":"8582:5:5","nodeType":"VariableDeclaration","scope":2559,"src":"8574:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2524,"name":"address","nodeType":"ElementaryTypeName","src":"8574:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2527,"mutability":"mutable","name":"spender","nameLocation":"8597:7:5","nodeType":"VariableDeclaration","scope":2559,"src":"8589:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"8589:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2529,"mutability":"mutable","name":"tokenId","nameLocation":"8614:7:5","nodeType":"VariableDeclaration","scope":2559,"src":"8606:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2528,"name":"uint256","nodeType":"ElementaryTypeName","src":"8606:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8573:49:5"},"returnParameters":{"id":2531,"nodeType":"ParameterList","parameters":[],"src":"8645:0:5"},"scope":3144,"src":"8548:368:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":2582,"nodeType":"Block","src":"9633:135:5","statements":[{"assignments":[2569],"declarations":[{"constant":false,"id":2569,"mutability":"mutable","name":"$","nameLocation":"9665:1:5","nodeType":"VariableDeclaration","scope":2582,"src":"9643:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2568,"nodeType":"UserDefinedTypeName","pathNode":{"id":2567,"name":"ERC721Storage","nameLocations":["9643:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"9643:13:5"},"referencedDeclaration":2072,"src":"9643:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2572,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2570,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"9669:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9669:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9643:45:5"},{"id":2581,"nodeType":"UncheckedBlock","src":"9698:64:5","statements":[{"expression":{"id":2579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":2573,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2569,"src":"9722:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9724:9:5","memberName":"_balances","nodeType":"MemberAccess","referencedDeclaration":2061,"src":"9722:11:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2577,"indexExpression":{"id":2575,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2562,"src":"9734:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9722:20:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":2578,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2564,"src":"9746:5:5","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"9722:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2580,"nodeType":"ExpressionStatement","src":"9722:29:5"}]}]},"documentation":{"id":2560,"nodeType":"StructuredDocumentation","src":"8922:631:5","text":" @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n NOTE: the value is limited to type(uint128).max. This protect against _balance overflow. It is unrealistic that\n a uint256 would ever overflow from increments when these increments are bounded to uint128 values.\n WARNING: Increasing an account's balance using this function tends to be paired with an override of the\n {_ownerOf} function to resolve the ownership of the corresponding tokens so that balances and ownership\n remain consistent with one another."},"id":2583,"implemented":true,"kind":"function","modifiers":[],"name":"_increaseBalance","nameLocation":"9567:16:5","nodeType":"FunctionDefinition","parameters":{"id":2565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2562,"mutability":"mutable","name":"account","nameLocation":"9592:7:5","nodeType":"VariableDeclaration","scope":2583,"src":"9584:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2561,"name":"address","nodeType":"ElementaryTypeName","src":"9584:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2564,"mutability":"mutable","name":"value","nameLocation":"9609:5:5","nodeType":"VariableDeclaration","scope":2583,"src":"9601:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":2563,"name":"uint128","nodeType":"ElementaryTypeName","src":"9601:7:5","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"9583:32:5"},"returnParameters":{"id":2566,"nodeType":"ParameterList","parameters":[],"src":"9633:0:5"},"scope":3144,"src":"9558:210:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":2684,"nodeType":"Block","src":"10456:761:5","statements":[{"assignments":[2597],"declarations":[{"constant":false,"id":2597,"mutability":"mutable","name":"$","nameLocation":"10488:1:5","nodeType":"VariableDeclaration","scope":2684,"src":"10466:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2596,"nodeType":"UserDefinedTypeName","pathNode":{"id":2595,"name":"ERC721Storage","nameLocations":["10466:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"10466:13:5"},"referencedDeclaration":2072,"src":"10466:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2600,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2598,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"10492:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10492:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10466:45:5"},{"assignments":[2602],"declarations":[{"constant":false,"id":2602,"mutability":"mutable","name":"from","nameLocation":"10529:4:5","nodeType":"VariableDeclaration","scope":2684,"src":"10521:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2601,"name":"address","nodeType":"ElementaryTypeName","src":"10521:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2606,"initialValue":{"arguments":[{"id":2604,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2588,"src":"10545:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2603,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"10536:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":2605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10536:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10521:32:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2607,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"10613:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10629:1:5","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":2609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10621:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2608,"name":"address","nodeType":"ElementaryTypeName","src":"10621:7:5","typeDescriptions":{}}},"id":2611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10621:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10613:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2620,"nodeType":"IfStatement","src":"10609:86:5","trueBody":{"id":2619,"nodeType":"Block","src":"10633:62:5","statements":[{"expression":{"arguments":[{"id":2614,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2602,"src":"10664:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2615,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"10670:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2616,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2588,"src":"10676:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2613,"name":"_checkAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2559,"src":"10647:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256) view"}},"id":2617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2618,"nodeType":"ExpressionStatement","src":"10647:37:5"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2621,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2602,"src":"10739:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10755:1:5","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":2623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10747:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2622,"name":"address","nodeType":"ElementaryTypeName","src":"10747:7:5","typeDescriptions":{}}},"id":2625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10747:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10739:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2650,"nodeType":"IfStatement","src":"10735:258:5","trueBody":{"id":2649,"nodeType":"Block","src":"10759:234:5","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":2630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10872:1:5","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":2629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10864:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2628,"name":"address","nodeType":"ElementaryTypeName","src":"10864:7:5","typeDescriptions":{}}},"id":2631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10864:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2632,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2588,"src":"10876:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":2635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10893:1:5","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":2634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10885:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2633,"name":"address","nodeType":"ElementaryTypeName","src":"10885:7:5","typeDescriptions":{}}},"id":2636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10885:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":2637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10897:5:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2627,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[2931,3005],"referencedDeclaration":3005,"src":"10855:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,uint256,address,bool)"}},"id":2638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10855:48:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2639,"nodeType":"ExpressionStatement","src":"10855:48:5"},{"id":2648,"nodeType":"UncheckedBlock","src":"10918:65:5","statements":[{"expression":{"id":2646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":2640,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"10946:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10948:9:5","memberName":"_balances","nodeType":"MemberAccess","referencedDeclaration":2061,"src":"10946:11:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2644,"indexExpression":{"id":2642,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2602,"src":"10958:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10946:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":2645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10967:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10946:22:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2647,"nodeType":"ExpressionStatement","src":"10946:22:5"}]}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2651,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"11007:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11021:1:5","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":2653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11013:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2652,"name":"address","nodeType":"ElementaryTypeName","src":"11013:7:5","typeDescriptions":{}}},"id":2655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11013:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11007:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2667,"nodeType":"IfStatement","src":"11003:109:5","trueBody":{"id":2666,"nodeType":"Block","src":"11025:87:5","statements":[{"id":2665,"nodeType":"UncheckedBlock","src":"11039:63:5","statements":[{"expression":{"id":2663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":2657,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"11067:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2660,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11069:9:5","memberName":"_balances","nodeType":"MemberAccess","referencedDeclaration":2061,"src":"11067:11:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2661,"indexExpression":{"id":2659,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"11079:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11067:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":2662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11086:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11067:20:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2664,"nodeType":"ExpressionStatement","src":"11067:20:5"}]}]}},{"expression":{"id":2674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":2668,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"11122:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11124:7:5","memberName":"_owners","nodeType":"MemberAccess","referencedDeclaration":2057,"src":"11122:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":2672,"indexExpression":{"id":2670,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2588,"src":"11132:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11122:18:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2673,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"11143:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11122:23:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2675,"nodeType":"ExpressionStatement","src":"11122:23:5"},{"eventCall":{"arguments":[{"id":2677,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2602,"src":"11170:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2678,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"11176:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2679,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2588,"src":"11180:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2676,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5152,"src":"11161:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11161:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2681,"nodeType":"EmitStatement","src":"11156:32:5"},{"expression":{"id":2682,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2602,"src":"11206:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2594,"id":2683,"nodeType":"Return","src":"11199:11:5"}]},"documentation":{"id":2584,"nodeType":"StructuredDocumentation","src":"9774:582:5","text":" @dev Transfers `tokenId` from its current owner to `to`, or alternatively mints (or burns) if the current owner\n (or `to`) is the zero address. Returns the owner of the `tokenId` before the update.\n The `auth` argument is optional. If the value passed is non 0, then this function will check that\n `auth` is either the owner of the token, or approved to operate on the token (by the owner).\n Emits a {Transfer} event.\n NOTE: If overriding this function in a way that tracks balances, see also {_increaseBalance}."},"id":2685,"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"10370:7:5","nodeType":"FunctionDefinition","parameters":{"id":2591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2586,"mutability":"mutable","name":"to","nameLocation":"10386:2:5","nodeType":"VariableDeclaration","scope":2685,"src":"10378:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2585,"name":"address","nodeType":"ElementaryTypeName","src":"10378:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2588,"mutability":"mutable","name":"tokenId","nameLocation":"10398:7:5","nodeType":"VariableDeclaration","scope":2685,"src":"10390:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2587,"name":"uint256","nodeType":"ElementaryTypeName","src":"10390:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2590,"mutability":"mutable","name":"auth","nameLocation":"10415:4:5","nodeType":"VariableDeclaration","scope":2685,"src":"10407:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2589,"name":"address","nodeType":"ElementaryTypeName","src":"10407:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10377:43:5"},"returnParameters":{"id":2594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2685,"src":"10447:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2592,"name":"address","nodeType":"ElementaryTypeName","src":"10447:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10446:9:5"},"scope":3144,"src":"10361:856:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":2734,"nodeType":"Block","src":"11592:274:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2693,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2688,"src":"11606:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11620:1:5","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":2695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11612:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2694,"name":"address","nodeType":"ElementaryTypeName","src":"11612:7:5","typeDescriptions":{}}},"id":2697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11612:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11606:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2707,"nodeType":"IfStatement","src":"11602:87:5","trueBody":{"id":2706,"nodeType":"Block","src":"11624:65:5","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":2702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11675:1:5","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":2701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11667:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2700,"name":"address","nodeType":"ElementaryTypeName","src":"11667:7:5","typeDescriptions":{}}},"id":2703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11667:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2699,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4638,"src":"11645:21:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":2704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11645:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2705,"nodeType":"RevertStatement","src":"11638:40:5"}]}},{"assignments":[2709],"declarations":[{"constant":false,"id":2709,"mutability":"mutable","name":"previousOwner","nameLocation":"11706:13:5","nodeType":"VariableDeclaration","scope":2734,"src":"11698:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"11698:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2718,"initialValue":{"arguments":[{"id":2711,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2688,"src":"11730:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2712,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2690,"src":"11734:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":2715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11751:1:5","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":2714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11743:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2713,"name":"address","nodeType":"ElementaryTypeName","src":"11743:7:5","typeDescriptions":{}}},"id":2716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11743:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2710,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2685,"src":"11722:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":2717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11722:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11698:56:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2719,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2709,"src":"11768:13:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11793:1:5","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":2721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11785:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2720,"name":"address","nodeType":"ElementaryTypeName","src":"11785:7:5","typeDescriptions":{}}},"id":2723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11785:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11768:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2733,"nodeType":"IfStatement","src":"11764:96:5","trueBody":{"id":2732,"nodeType":"Block","src":"11797:63:5","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":2728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11846:1:5","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":2727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11838:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2726,"name":"address","nodeType":"ElementaryTypeName","src":"11838:7:5","typeDescriptions":{}}},"id":2729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11838:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2725,"name":"ERC721InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4633,"src":"11818:19:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":2730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11818:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2731,"nodeType":"RevertStatement","src":"11811:38:5"}]}}]},"documentation":{"id":2686,"nodeType":"StructuredDocumentation","src":"11223:311:5","text":" @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event."},"id":2735,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"11548:5:5","nodeType":"FunctionDefinition","parameters":{"id":2691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2688,"mutability":"mutable","name":"to","nameLocation":"11562:2:5","nodeType":"VariableDeclaration","scope":2735,"src":"11554:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2687,"name":"address","nodeType":"ElementaryTypeName","src":"11554:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2690,"mutability":"mutable","name":"tokenId","nameLocation":"11574:7:5","nodeType":"VariableDeclaration","scope":2735,"src":"11566:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2689,"name":"uint256","nodeType":"ElementaryTypeName","src":"11566:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11553:29:5"},"returnParameters":{"id":2692,"nodeType":"ParameterList","parameters":[],"src":"11592:0:5"},"scope":3144,"src":"11539:327:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2749,"nodeType":"Block","src":"12274:43:5","statements":[{"expression":{"arguments":[{"id":2744,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2738,"src":"12294:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2745,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2740,"src":"12298:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":2746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12307:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":2743,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[2750,2776],"referencedDeclaration":2776,"src":"12284:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":2747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12284:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2748,"nodeType":"ExpressionStatement","src":"12284:26:5"}]},"documentation":{"id":2736,"nodeType":"StructuredDocumentation","src":"11872:340:5","text":" @dev Mints `tokenId`, transfers it to `to` and checks for `to` acceptance.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"id":2750,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"12226:9:5","nodeType":"FunctionDefinition","parameters":{"id":2741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2738,"mutability":"mutable","name":"to","nameLocation":"12244:2:5","nodeType":"VariableDeclaration","scope":2750,"src":"12236:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2737,"name":"address","nodeType":"ElementaryTypeName","src":"12236:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2740,"mutability":"mutable","name":"tokenId","nameLocation":"12256:7:5","nodeType":"VariableDeclaration","scope":2750,"src":"12248:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2739,"name":"uint256","nodeType":"ElementaryTypeName","src":"12248:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12235:29:5"},"returnParameters":{"id":2742,"nodeType":"ParameterList","parameters":[],"src":"12274:0:5"},"scope":3144,"src":"12217:100:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2775,"nodeType":"Block","src":"12622:98:5","statements":[{"expression":{"arguments":[{"id":2761,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2753,"src":"12638:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2762,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2755,"src":"12642:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2760,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2735,"src":"12632:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":2763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12632:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2764,"nodeType":"ExpressionStatement","src":"12632:18:5"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":2768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12691:1:5","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":2767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12683:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2766,"name":"address","nodeType":"ElementaryTypeName","src":"12683:7:5","typeDescriptions":{}}},"id":2769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12683:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2770,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2753,"src":"12695:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2771,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2755,"src":"12699:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2772,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"12708:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2765,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3143,"src":"12660:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":2773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12660:53:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2774,"nodeType":"ExpressionStatement","src":"12660:53:5"}]},"documentation":{"id":2751,"nodeType":"StructuredDocumentation","src":"12323:210:5","text":" @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"id":2776,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"12547:9:5","nodeType":"FunctionDefinition","parameters":{"id":2758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2753,"mutability":"mutable","name":"to","nameLocation":"12565:2:5","nodeType":"VariableDeclaration","scope":2776,"src":"12557:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2752,"name":"address","nodeType":"ElementaryTypeName","src":"12557:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2755,"mutability":"mutable","name":"tokenId","nameLocation":"12577:7:5","nodeType":"VariableDeclaration","scope":2776,"src":"12569:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2754,"name":"uint256","nodeType":"ElementaryTypeName","src":"12569:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2757,"mutability":"mutable","name":"data","nameLocation":"12599:4:5","nodeType":"VariableDeclaration","scope":2776,"src":"12586:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2756,"name":"bytes","nodeType":"ElementaryTypeName","src":"12586:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12556:48:5"},"returnParameters":{"id":2759,"nodeType":"ParameterList","parameters":[],"src":"12622:0:5"},"scope":3144,"src":"12538:182:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":2808,"nodeType":"Block","src":"13087:186:5","statements":[{"assignments":[2783],"declarations":[{"constant":false,"id":2783,"mutability":"mutable","name":"previousOwner","nameLocation":"13105:13:5","nodeType":"VariableDeclaration","scope":2808,"src":"13097:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2782,"name":"address","nodeType":"ElementaryTypeName","src":"13097:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2795,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":2787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13137:1:5","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":2786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13129:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2785,"name":"address","nodeType":"ElementaryTypeName","src":"13129:7:5","typeDescriptions":{}}},"id":2788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13129:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2789,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"13141:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":2792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13158:1:5","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":2791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13150:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2790,"name":"address","nodeType":"ElementaryTypeName","src":"13150:7:5","typeDescriptions":{}}},"id":2793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13150:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2784,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2685,"src":"13121:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":2794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13121:40:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13097:64:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2796,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2783,"src":"13175:13:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13200:1:5","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":2798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13192:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2797,"name":"address","nodeType":"ElementaryTypeName","src":"13192:7:5","typeDescriptions":{}}},"id":2800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13192:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13175:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2807,"nodeType":"IfStatement","src":"13171:96:5","trueBody":{"id":2806,"nodeType":"Block","src":"13204:63:5","statements":[{"errorCall":{"arguments":[{"id":2803,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"13248:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2802,"name":"ERC721NonexistentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"13225:22:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":2804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13225:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2805,"nodeType":"RevertStatement","src":"13218:38:5"}]}}]},"documentation":{"id":2777,"nodeType":"StructuredDocumentation","src":"12726:315:5","text":" @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."},"id":2809,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"13055:5:5","nodeType":"FunctionDefinition","parameters":{"id":2780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2779,"mutability":"mutable","name":"tokenId","nameLocation":"13069:7:5","nodeType":"VariableDeclaration","scope":2809,"src":"13061:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2778,"name":"uint256","nodeType":"ElementaryTypeName","src":"13061:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13060:17:5"},"returnParameters":{"id":2781,"nodeType":"ParameterList","parameters":[],"src":"13087:0:5"},"scope":3144,"src":"13046:227:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2868,"nodeType":"Block","src":"13668:389:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2819,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2814,"src":"13682:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13696:1:5","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":2821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13688:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2820,"name":"address","nodeType":"ElementaryTypeName","src":"13688:7:5","typeDescriptions":{}}},"id":2823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13688:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13682:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2833,"nodeType":"IfStatement","src":"13678:87:5","trueBody":{"id":2832,"nodeType":"Block","src":"13700:65:5","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":2828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13751:1:5","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":2827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13743:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2826,"name":"address","nodeType":"ElementaryTypeName","src":"13743:7:5","typeDescriptions":{}}},"id":2829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13743:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2825,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4638,"src":"13721:21:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":2830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13721:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2831,"nodeType":"RevertStatement","src":"13714:40:5"}]}},{"assignments":[2835],"declarations":[{"constant":false,"id":2835,"mutability":"mutable","name":"previousOwner","nameLocation":"13782:13:5","nodeType":"VariableDeclaration","scope":2868,"src":"13774:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2834,"name":"address","nodeType":"ElementaryTypeName","src":"13774:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2844,"initialValue":{"arguments":[{"id":2837,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2814,"src":"13806:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2838,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2816,"src":"13810:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":2841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13827:1:5","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":2840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13819:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2839,"name":"address","nodeType":"ElementaryTypeName","src":"13819:7:5","typeDescriptions":{}}},"id":2842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13819:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2836,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2685,"src":"13798:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":2843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13798:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13774:56:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2845,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2835,"src":"13844:13:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13869:1:5","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":2847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13861:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2846,"name":"address","nodeType":"ElementaryTypeName","src":"13861:7:5","typeDescriptions":{}}},"id":2849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13861:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13844:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2856,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2835,"src":"13946:13:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2857,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2812,"src":"13963:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13946:21:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2866,"nodeType":"IfStatement","src":"13942:109:5","trueBody":{"id":2865,"nodeType":"Block","src":"13969:82:5","statements":[{"errorCall":{"arguments":[{"id":2860,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2812,"src":"14011:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2861,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2816,"src":"14017:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2862,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2835,"src":"14026:13:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2859,"name":"ERC721IncorrectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4628,"src":"13990:20:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) pure"}},"id":2863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13990:50:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2864,"nodeType":"RevertStatement","src":"13983:57:5"}]}},"id":2867,"nodeType":"IfStatement","src":"13840:211:5","trueBody":{"id":2855,"nodeType":"Block","src":"13873:63:5","statements":[{"errorCall":{"arguments":[{"id":2852,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2816,"src":"13917:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2851,"name":"ERC721NonexistentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"13894:22:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":2853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13894:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2854,"nodeType":"RevertStatement","src":"13887:38:5"}]}}]},"documentation":{"id":2810,"nodeType":"StructuredDocumentation","src":"13279:313:5","text":" @dev Transfers `tokenId` from `from` to `to`.\n  As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event."},"id":2869,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"13606:9:5","nodeType":"FunctionDefinition","parameters":{"id":2817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2812,"mutability":"mutable","name":"from","nameLocation":"13624:4:5","nodeType":"VariableDeclaration","scope":2869,"src":"13616:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2811,"name":"address","nodeType":"ElementaryTypeName","src":"13616:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2814,"mutability":"mutable","name":"to","nameLocation":"13638:2:5","nodeType":"VariableDeclaration","scope":2869,"src":"13630:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2813,"name":"address","nodeType":"ElementaryTypeName","src":"13630:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2816,"mutability":"mutable","name":"tokenId","nameLocation":"13650:7:5","nodeType":"VariableDeclaration","scope":2869,"src":"13642:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2815,"name":"uint256","nodeType":"ElementaryTypeName","src":"13642:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13615:43:5"},"returnParameters":{"id":2818,"nodeType":"ParameterList","parameters":[],"src":"13668:0:5"},"scope":3144,"src":"13597:460:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2886,"nodeType":"Block","src":"15065:53:5","statements":[{"expression":{"arguments":[{"id":2880,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2872,"src":"15089:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2881,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2874,"src":"15095:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2882,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2876,"src":"15099:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":2883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15108:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":2879,"name":"_safeTransfer","nodeType":"Identifier","overloadedDeclarations":[2887,2913],"referencedDeclaration":2913,"src":"15075:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":2884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15075:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2885,"nodeType":"ExpressionStatement","src":"15075:36:5"}]},"documentation":{"id":2870,"nodeType":"StructuredDocumentation","src":"14063:922:5","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking that contract recipients\n are aware of the ERC721 standard to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is like {safeTransferFrom} in the sense that it invokes\n {IERC721Receiver-onERC721Received} on the receiver, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `tokenId` token must exist and be owned by `from`.\n - `to` cannot be the zero address.\n - `from` cannot be the zero address.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"id":2887,"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"14999:13:5","nodeType":"FunctionDefinition","parameters":{"id":2877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2872,"mutability":"mutable","name":"from","nameLocation":"15021:4:5","nodeType":"VariableDeclaration","scope":2887,"src":"15013:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2871,"name":"address","nodeType":"ElementaryTypeName","src":"15013:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2874,"mutability":"mutable","name":"to","nameLocation":"15035:2:5","nodeType":"VariableDeclaration","scope":2887,"src":"15027:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2873,"name":"address","nodeType":"ElementaryTypeName","src":"15027:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2876,"mutability":"mutable","name":"tokenId","nameLocation":"15047:7:5","nodeType":"VariableDeclaration","scope":2887,"src":"15039:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2875,"name":"uint256","nodeType":"ElementaryTypeName","src":"15039:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15012:43:5"},"returnParameters":{"id":2878,"nodeType":"ParameterList","parameters":[],"src":"15065:0:5"},"scope":3144,"src":"14990:128:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2912,"nodeType":"Block","src":"15457:102:5","statements":[{"expression":{"arguments":[{"id":2900,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2890,"src":"15477:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2901,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"15483:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2902,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2894,"src":"15487:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2899,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2869,"src":"15467:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15467:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2904,"nodeType":"ExpressionStatement","src":"15467:28:5"},{"expression":{"arguments":[{"id":2906,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2890,"src":"15528:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2907,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"15534:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2908,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2894,"src":"15538:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2909,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2896,"src":"15547:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2905,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3143,"src":"15505:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":2910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15505:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2911,"nodeType":"ExpressionStatement","src":"15505:47:5"}]},"documentation":{"id":2888,"nodeType":"StructuredDocumentation","src":"15124:226:5","text":" @dev Same as {xref-ERC721-_safeTransfer-address-address-uint256-}[`_safeTransfer`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"id":2913,"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"15364:13:5","nodeType":"FunctionDefinition","parameters":{"id":2897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2890,"mutability":"mutable","name":"from","nameLocation":"15386:4:5","nodeType":"VariableDeclaration","scope":2913,"src":"15378:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2889,"name":"address","nodeType":"ElementaryTypeName","src":"15378:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2892,"mutability":"mutable","name":"to","nameLocation":"15400:2:5","nodeType":"VariableDeclaration","scope":2913,"src":"15392:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2891,"name":"address","nodeType":"ElementaryTypeName","src":"15392:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2894,"mutability":"mutable","name":"tokenId","nameLocation":"15412:7:5","nodeType":"VariableDeclaration","scope":2913,"src":"15404:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2893,"name":"uint256","nodeType":"ElementaryTypeName","src":"15404:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2896,"mutability":"mutable","name":"data","nameLocation":"15434:4:5","nodeType":"VariableDeclaration","scope":2913,"src":"15421:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2895,"name":"bytes","nodeType":"ElementaryTypeName","src":"15421:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15377:62:5"},"returnParameters":{"id":2898,"nodeType":"ParameterList","parameters":[],"src":"15457:0:5"},"scope":3144,"src":"15355:204:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":2930,"nodeType":"Block","src":"16072:50:5","statements":[{"expression":{"arguments":[{"id":2924,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2916,"src":"16091:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2925,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2918,"src":"16095:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2926,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2920,"src":"16104:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":2927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16110:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2923,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[2931,3005],"referencedDeclaration":3005,"src":"16082:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,uint256,address,bool)"}},"id":2928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16082:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2929,"nodeType":"ExpressionStatement","src":"16082:33:5"}]},"documentation":{"id":2914,"nodeType":"StructuredDocumentation","src":"15565:432:5","text":" @dev Approve `to` to operate on `tokenId`\n The `auth` argument is optional. If the value passed is non 0, then this function will check that `auth` is\n either the owner of the token, or approved to operate on all tokens held by this owner.\n Emits an {Approval} event.\n Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument."},"id":2931,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"16011:8:5","nodeType":"FunctionDefinition","parameters":{"id":2921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2916,"mutability":"mutable","name":"to","nameLocation":"16028:2:5","nodeType":"VariableDeclaration","scope":2931,"src":"16020:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2915,"name":"address","nodeType":"ElementaryTypeName","src":"16020:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2918,"mutability":"mutable","name":"tokenId","nameLocation":"16040:7:5","nodeType":"VariableDeclaration","scope":2931,"src":"16032:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2917,"name":"uint256","nodeType":"ElementaryTypeName","src":"16032:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2920,"mutability":"mutable","name":"auth","nameLocation":"16057:4:5","nodeType":"VariableDeclaration","scope":2931,"src":"16049:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2919,"name":"address","nodeType":"ElementaryTypeName","src":"16049:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16019:43:5"},"returnParameters":{"id":2922,"nodeType":"ParameterList","parameters":[],"src":"16072:0:5"},"scope":3144,"src":"16002:120:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3004,"nodeType":"Block","src":"16398:625:5","statements":[{"assignments":[2945],"declarations":[{"constant":false,"id":2945,"mutability":"mutable","name":"$","nameLocation":"16430:1:5","nodeType":"VariableDeclaration","scope":3004,"src":"16408:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":2944,"nodeType":"UserDefinedTypeName","pathNode":{"id":2943,"name":"ERC721Storage","nameLocations":["16408:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"16408:13:5"},"referencedDeclaration":2072,"src":"16408:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":2948,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":2946,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"16434:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":2947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16434:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16408:45:5"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2949,"name":"emitEvent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2940,"src":"16519:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2950,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2938,"src":"16532:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16548:1:5","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":2952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16540:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2951,"name":"address","nodeType":"ElementaryTypeName","src":"16540:7:5","typeDescriptions":{}}},"id":2954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16540:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16532:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16519:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2995,"nodeType":"IfStatement","src":"16515:460:5","trueBody":{"id":2994,"nodeType":"Block","src":"16552:423:5","statements":[{"assignments":[2958],"declarations":[{"constant":false,"id":2958,"mutability":"mutable","name":"owner","nameLocation":"16574:5:5","nodeType":"VariableDeclaration","scope":2994,"src":"16566:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2957,"name":"address","nodeType":"ElementaryTypeName","src":"16566:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2962,"initialValue":{"arguments":[{"id":2960,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2936,"src":"16596:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2959,"name":"_requireOwned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3079,"src":"16582:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":2961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16582:22:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16566:38:5"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2963,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2938,"src":"16732:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16748:1:5","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":2965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16740:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2964,"name":"address","nodeType":"ElementaryTypeName","src":"16740:7:5","typeDescriptions":{}}},"id":2967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16740:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16732:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2969,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2958,"src":"16754:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2970,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2938,"src":"16763:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16754:13:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16732:35:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16771:30:5","subExpression":{"arguments":[{"id":2974,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2958,"src":"16789:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2975,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2938,"src":"16796:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2973,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"16772:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":2976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16772:29:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16732:69:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2984,"nodeType":"IfStatement","src":"16728:142:5","trueBody":{"id":2983,"nodeType":"Block","src":"16803:67:5","statements":[{"errorCall":{"arguments":[{"id":2980,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2938,"src":"16850:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2979,"name":"ERC721InvalidApprover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4650,"src":"16828:21:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":2981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16828:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2982,"nodeType":"RevertStatement","src":"16821:34:5"}]}},{"condition":{"id":2985,"name":"emitEvent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2940,"src":"16888:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2993,"nodeType":"IfStatement","src":"16884:81:5","trueBody":{"id":2992,"nodeType":"Block","src":"16899:66:5","statements":[{"eventCall":{"arguments":[{"id":2987,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2958,"src":"16931:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2988,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2934,"src":"16938:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2989,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2936,"src":"16942:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2986,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5161,"src":"16922:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16922:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2991,"nodeType":"EmitStatement","src":"16917:33:5"}]}}]}},{"expression":{"id":3002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":2996,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2945,"src":"16985:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":2999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16987:15:5","memberName":"_tokenApprovals","nodeType":"MemberAccess","referencedDeclaration":2065,"src":"16985:17:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":3000,"indexExpression":{"id":2998,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2936,"src":"17003:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16985:26:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3001,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2934,"src":"17014:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16985:31:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3003,"nodeType":"ExpressionStatement","src":"16985:31:5"}]},"documentation":{"id":2932,"nodeType":"StructuredDocumentation","src":"16128:171:5","text":" @dev Variant of `_approve` with an optional flag to enable or disable the {Approval} event. The event is not\n emitted in the context of transfers."},"id":3005,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"16313:8:5","nodeType":"FunctionDefinition","parameters":{"id":2941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2934,"mutability":"mutable","name":"to","nameLocation":"16330:2:5","nodeType":"VariableDeclaration","scope":3005,"src":"16322:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2933,"name":"address","nodeType":"ElementaryTypeName","src":"16322:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2936,"mutability":"mutable","name":"tokenId","nameLocation":"16342:7:5","nodeType":"VariableDeclaration","scope":3005,"src":"16334:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2935,"name":"uint256","nodeType":"ElementaryTypeName","src":"16334:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2938,"mutability":"mutable","name":"auth","nameLocation":"16359:4:5","nodeType":"VariableDeclaration","scope":3005,"src":"16351:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2937,"name":"address","nodeType":"ElementaryTypeName","src":"16351:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2940,"mutability":"mutable","name":"emitEvent","nameLocation":"16370:9:5","nodeType":"VariableDeclaration","scope":3005,"src":"16365:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2939,"name":"bool","nodeType":"ElementaryTypeName","src":"16365:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16321:59:5"},"returnParameters":{"id":2942,"nodeType":"ParameterList","parameters":[],"src":"16398:0:5"},"scope":3144,"src":"16304:719:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":3049,"nodeType":"Block","src":"17325:276:5","statements":[{"assignments":[3017],"declarations":[{"constant":false,"id":3017,"mutability":"mutable","name":"$","nameLocation":"17357:1:5","nodeType":"VariableDeclaration","scope":3049,"src":"17335:23:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"},"typeName":{"id":3016,"nodeType":"UserDefinedTypeName","pathNode":{"id":3015,"name":"ERC721Storage","nameLocations":["17335:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":2072,"src":"17335:13:5"},"referencedDeclaration":2072,"src":"17335:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage"}},"visibility":"internal"}],"id":3020,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3018,"name":"_getERC721Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"17361:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721Storage_$2072_storage_ptr_$","typeString":"function () pure returns (struct ERC721Upgradeable.ERC721Storage storage pointer)"}},"id":3019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17361:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17335:45:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3021,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3010,"src":"17394:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":3024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17414:1:5","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":3023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17406:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3022,"name":"address","nodeType":"ElementaryTypeName","src":"17406:7:5","typeDescriptions":{}}},"id":3025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17406:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17394:22:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3032,"nodeType":"IfStatement","src":"17390:91:5","trueBody":{"id":3031,"nodeType":"Block","src":"17418:63:5","statements":[{"errorCall":{"arguments":[{"id":3028,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3010,"src":"17461:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3027,"name":"ERC721InvalidOperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4655,"src":"17439:21:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":3029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17439:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3030,"nodeType":"RevertStatement","src":"17432:38:5"}]}},{"expression":{"id":3041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":3033,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"17490:1:5","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721Storage_$2072_storage_ptr","typeString":"struct ERC721Upgradeable.ERC721Storage storage pointer"}},"id":3037,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17492:18:5","memberName":"_operatorApprovals","nodeType":"MemberAccess","referencedDeclaration":2071,"src":"17490:20:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":3038,"indexExpression":{"id":3035,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"17511:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17490:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3039,"indexExpression":{"id":3036,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3010,"src":"17518:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17490:37:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3040,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3012,"src":"17530:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17490:48:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3042,"nodeType":"ExpressionStatement","src":"17490:48:5"},{"eventCall":{"arguments":[{"id":3044,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"17568:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3045,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3010,"src":"17575:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3046,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3012,"src":"17585:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3043,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5170,"src":"17553:14:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":3047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17553:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3048,"nodeType":"EmitStatement","src":"17548:46:5"}]},"documentation":{"id":3006,"nodeType":"StructuredDocumentation","src":"17029:198:5","text":" @dev Approve `operator` to operate on all of `owner` tokens\n Requirements:\n - operator can't be the address zero.\n Emits an {ApprovalForAll} event."},"id":3050,"implemented":true,"kind":"function","modifiers":[],"name":"_setApprovalForAll","nameLocation":"17241:18:5","nodeType":"FunctionDefinition","parameters":{"id":3013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3008,"mutability":"mutable","name":"owner","nameLocation":"17268:5:5","nodeType":"VariableDeclaration","scope":3050,"src":"17260:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3007,"name":"address","nodeType":"ElementaryTypeName","src":"17260:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3010,"mutability":"mutable","name":"operator","nameLocation":"17283:8:5","nodeType":"VariableDeclaration","scope":3050,"src":"17275:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3009,"name":"address","nodeType":"ElementaryTypeName","src":"17275:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3012,"mutability":"mutable","name":"approved","nameLocation":"17298:8:5","nodeType":"VariableDeclaration","scope":3050,"src":"17293:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3011,"name":"bool","nodeType":"ElementaryTypeName","src":"17293:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17259:48:5"},"returnParameters":{"id":3014,"nodeType":"ParameterList","parameters":[],"src":"17325:0:5"},"scope":3144,"src":"17232:369:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":3078,"nodeType":"Block","src":"17908:169:5","statements":[{"assignments":[3059],"declarations":[{"constant":false,"id":3059,"mutability":"mutable","name":"owner","nameLocation":"17926:5:5","nodeType":"VariableDeclaration","scope":3078,"src":"17918:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3058,"name":"address","nodeType":"ElementaryTypeName","src":"17918:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":3063,"initialValue":{"arguments":[{"id":3061,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3053,"src":"17943:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3060,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"17934:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":3062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17934:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17918:33:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3064,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3059,"src":"17965:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":3067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17982:1:5","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":3066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17974:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3065,"name":"address","nodeType":"ElementaryTypeName","src":"17974:7:5","typeDescriptions":{}}},"id":3068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17974:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17965:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3075,"nodeType":"IfStatement","src":"17961:88:5","trueBody":{"id":3074,"nodeType":"Block","src":"17986:63:5","statements":[{"errorCall":{"arguments":[{"id":3071,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3053,"src":"18030:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3070,"name":"ERC721NonexistentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"18007:22:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":3072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18007:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3073,"nodeType":"RevertStatement","src":"18000:38:5"}]}},{"expression":{"id":3076,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3059,"src":"18065:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":3057,"id":3077,"nodeType":"Return","src":"18058:12:5"}]},"documentation":{"id":3051,"nodeType":"StructuredDocumentation","src":"17607:224:5","text":" @dev Reverts if the `tokenId` doesn't have a current owner (it hasn't been minted, or it has been burned).\n Returns the owner.\n Overrides to ownership logic should be done to {_ownerOf}."},"id":3079,"implemented":true,"kind":"function","modifiers":[],"name":"_requireOwned","nameLocation":"17845:13:5","nodeType":"FunctionDefinition","parameters":{"id":3054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3053,"mutability":"mutable","name":"tokenId","nameLocation":"17867:7:5","nodeType":"VariableDeclaration","scope":3079,"src":"17859:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3052,"name":"uint256","nodeType":"ElementaryTypeName","src":"17859:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17858:17:5"},"returnParameters":{"id":3057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3079,"src":"17899:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3055,"name":"address","nodeType":"ElementaryTypeName","src":"17899:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17898:9:5"},"scope":3144,"src":"17836:241:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":3142,"nodeType":"Block","src":"18718:680:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":3091,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"18732:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18735:4:5","memberName":"code","nodeType":"MemberAccess","src":"18732:7:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18740:6:5","memberName":"length","nodeType":"MemberAccess","src":"18732:14:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18749:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18732:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3141,"nodeType":"IfStatement","src":"18728:664:5","trueBody":{"id":3140,"nodeType":"Block","src":"18752:640:5","statements":[{"clauses":[{"block":{"id":3120,"nodeType":"Block","src":"18866:162:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":3113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3109,"name":"retval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"18888:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":3110,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5271,"src":"18898:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$5271_$","typeString":"type(contract IERC721Receiver)"}},"id":3111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18914:16:5","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":5270,"src":"18898:32:5","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":3112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18931:8:5","memberName":"selector","nodeType":"MemberAccess","src":"18898:41:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"18888:51:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3119,"nodeType":"IfStatement","src":"18884:130:5","trueBody":{"id":3118,"nodeType":"Block","src":"18941:73:5","statements":[{"errorCall":{"arguments":[{"id":3115,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"18992:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3114,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4638,"src":"18970:21:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":3116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18970:25:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3117,"nodeType":"RevertStatement","src":"18963:32:5"}]}}]},"errorName":"","id":3121,"nodeType":"TryCatchClause","parameters":{"id":3108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3107,"mutability":"mutable","name":"retval","nameLocation":"18858:6:5","nodeType":"VariableDeclaration","scope":3121,"src":"18851:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":3106,"name":"bytes4","nodeType":"ElementaryTypeName","src":"18851:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"18850:15:5"},"src":"18842:186:5"},{"block":{"id":3137,"nodeType":"Block","src":"19057:325:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3125,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3123,"src":"19079:6:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19086:6:5","memberName":"length","nodeType":"MemberAccess","src":"19079:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19096:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19079:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3135,"nodeType":"Block","src":"19178:190:5","statements":[{"AST":{"nodeType":"YulBlock","src":"19264:86:5","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19301:2:5","type":"","value":"32"},{"name":"reason","nodeType":"YulIdentifier","src":"19305:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19297:3:5"},"nodeType":"YulFunctionCall","src":"19297:15:5"},{"arguments":[{"name":"reason","nodeType":"YulIdentifier","src":"19320:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19314:5:5"},"nodeType":"YulFunctionCall","src":"19314:13:5"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19290:6:5"},"nodeType":"YulFunctionCall","src":"19290:38:5"},"nodeType":"YulExpressionStatement","src":"19290:38:5"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":3123,"isOffset":false,"isSlot":false,"src":"19305:6:5","valueSize":1},{"declaration":3123,"isOffset":false,"isSlot":false,"src":"19320:6:5","valueSize":1}],"id":3134,"nodeType":"InlineAssembly","src":"19255:95:5"}]},"id":3136,"nodeType":"IfStatement","src":"19075:293:5","trueBody":{"id":3133,"nodeType":"Block","src":"19099:73:5","statements":[{"errorCall":{"arguments":[{"id":3130,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"19150:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3129,"name":"ERC721InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4638,"src":"19128:21:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":3131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19128:25:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3132,"nodeType":"RevertStatement","src":"19121:32:5"}]}}]},"errorName":"","id":3138,"nodeType":"TryCatchClause","parameters":{"id":3124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3123,"mutability":"mutable","name":"reason","nameLocation":"19049:6:5","nodeType":"VariableDeclaration","scope":3138,"src":"19036:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3122,"name":"bytes","nodeType":"ElementaryTypeName","src":"19036:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19035:21:5"},"src":"19029:353:5"}],"externalCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":3100,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"18807:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":3101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18807:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3102,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3082,"src":"18821:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3103,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3086,"src":"18827:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3104,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3088,"src":"18836:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3097,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"18786:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3096,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5271,"src":"18770:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$5271_$","typeString":"type(contract IERC721Receiver)"}},"id":3098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18770:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721Receiver_$5271","typeString":"contract IERC721Receiver"}},"id":3099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18790:16:5","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":5270,"src":"18770:36:5","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":3105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18770:71:5","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":3139,"nodeType":"TryStatement","src":"18766:616:5"}]}}]},"documentation":{"id":3080,"nodeType":"StructuredDocumentation","src":"18083:528:5","text":" @dev Private function to invoke {IERC721Receiver-onERC721Received} on a target address. This will revert if the\n recipient doesn't accept the token transfer. The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call"},"id":3143,"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnERC721Received","nameLocation":"18625:22:5","nodeType":"FunctionDefinition","parameters":{"id":3089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3082,"mutability":"mutable","name":"from","nameLocation":"18656:4:5","nodeType":"VariableDeclaration","scope":3143,"src":"18648:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3081,"name":"address","nodeType":"ElementaryTypeName","src":"18648:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3084,"mutability":"mutable","name":"to","nameLocation":"18670:2:5","nodeType":"VariableDeclaration","scope":3143,"src":"18662:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3083,"name":"address","nodeType":"ElementaryTypeName","src":"18662:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3086,"mutability":"mutable","name":"tokenId","nameLocation":"18682:7:5","nodeType":"VariableDeclaration","scope":3143,"src":"18674:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3085,"name":"uint256","nodeType":"ElementaryTypeName","src":"18674:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3088,"mutability":"mutable","name":"data","nameLocation":"18704:4:5","nodeType":"VariableDeclaration","scope":3143,"src":"18691:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3087,"name":"bytes","nodeType":"ElementaryTypeName","src":"18691:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18647:62:5"},"returnParameters":{"id":3090,"nodeType":"ParameterList","parameters":[],"src":"18718:0:5"},"scope":3144,"src":"18616:782:5","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":3145,"src":"1100:18300:5","usedErrors":[1495,1498,4614,4619,4628,4633,4638,4645,4650,4655],"usedEvents":[1503,5152,5161,5170]}],"src":"107:19294:5"},"id":5},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","exportedSymbols":{"ContextUpgradeable":[3987],"ERC721BurnableUpgradeable":[3189],"ERC721Upgradeable":[3144],"Initializable":[1732]},"id":3190,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3146,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"126:24:6"},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","file":"../ERC721Upgradeable.sol","id":3148,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3190,"sourceUnit":3145,"src":"152:59:6","symbolAliases":[{"foreign":{"id":3147,"name":"ERC721Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3144,"src":"160:17:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","file":"../../../utils/ContextUpgradeable.sol","id":3150,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3190,"sourceUnit":3988,"src":"212:73:6","symbolAliases":[{"foreign":{"id":3149,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"220:18:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../../../proxy/utils/Initializable.sol","id":3152,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3190,"sourceUnit":1733,"src":"286:69:6","symbolAliases":[{"foreign":{"id":3151,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"294:13:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":3154,"name":"Initializable","nameLocations":["497:13:6"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"497:13:6"},"id":3155,"nodeType":"InheritanceSpecifier","src":"497:13:6"},{"baseName":{"id":3156,"name":"ContextUpgradeable","nameLocations":["512:18:6"],"nodeType":"IdentifierPath","referencedDeclaration":3987,"src":"512:18:6"},"id":3157,"nodeType":"InheritanceSpecifier","src":"512:18:6"},{"baseName":{"id":3158,"name":"ERC721Upgradeable","nameLocations":["532:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"532:17:6"},"id":3159,"nodeType":"InheritanceSpecifier","src":"532:17:6"}],"canonicalName":"ERC721BurnableUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":3153,"nodeType":"StructuredDocumentation","src":"357:92:6","text":" @title ERC721 Burnable Token\n @dev ERC721 Token that can be burned (destroyed)."},"fullyImplemented":true,"id":3189,"linearizedBaseContracts":[3189,3144,4656,5331,5253,4332,5961,3987,1732],"name":"ERC721BurnableUpgradeable","nameLocation":"468:25:6","nodeType":"ContractDefinition","nodes":[{"body":{"id":3164,"nodeType":"Block","src":"615:7:6","statements":[]},"id":3165,"implemented":true,"kind":"function","modifiers":[{"id":3162,"kind":"modifierInvocation","modifierName":{"id":3161,"name":"onlyInitializing","nameLocations":["598:16:6"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"598:16:6"},"nodeType":"ModifierInvocation","src":"598:16:6"}],"name":"__ERC721Burnable_init","nameLocation":"565:21:6","nodeType":"FunctionDefinition","parameters":{"id":3160,"nodeType":"ParameterList","parameters":[],"src":"586:2:6"},"returnParameters":{"id":3163,"nodeType":"ParameterList","parameters":[],"src":"615:0:6"},"scope":3189,"src":"556:66:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3170,"nodeType":"Block","src":"697:7:6","statements":[]},"id":3171,"implemented":true,"kind":"function","modifiers":[{"id":3168,"kind":"modifierInvocation","modifierName":{"id":3167,"name":"onlyInitializing","nameLocations":["680:16:6"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"680:16:6"},"nodeType":"ModifierInvocation","src":"680:16:6"}],"name":"__ERC721Burnable_init_unchained","nameLocation":"637:31:6","nodeType":"FunctionDefinition","parameters":{"id":3166,"nodeType":"ParameterList","parameters":[],"src":"668:2:6"},"returnParameters":{"id":3169,"nodeType":"ParameterList","parameters":[],"src":"697:0:6"},"scope":3189,"src":"628:76:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3187,"nodeType":"Block","src":"922:268:6","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":3180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1157:1:6","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":3179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1149:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3178,"name":"address","nodeType":"ElementaryTypeName","src":"1149:7:6","typeDescriptions":{}}},"id":3181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1149:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3182,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3174,"src":"1161:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":3183,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"1170:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":3184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1170:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":3177,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2685,"src":"1141:7:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":3185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1141:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3186,"nodeType":"ExpressionStatement","src":"1141:42:6"}]},"documentation":{"id":3172,"nodeType":"StructuredDocumentation","src":"709:162:6","text":" @dev Burns `tokenId`. See {ERC721-_burn}.\n Requirements:\n - The caller must own `tokenId` or be an approved operator."},"functionSelector":"42966c68","id":3188,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"885:4:6","nodeType":"FunctionDefinition","parameters":{"id":3175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3174,"mutability":"mutable","name":"tokenId","nameLocation":"898:7:6","nodeType":"VariableDeclaration","scope":3188,"src":"890:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3173,"name":"uint256","nodeType":"ElementaryTypeName","src":"890:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"889:17:6"},"returnParameters":{"id":3176,"nodeType":"ParameterList","parameters":[],"src":"922:0:6"},"scope":3189,"src":"876:314:6","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":3190,"src":"450:742:6","usedErrors":[1495,1498,4614,4619,4628,4633,4638,4645,4650,4655],"usedEvents":[1503,5152,5161,5170]}],"src":"126:1067:6"},"id":6},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","exportedSymbols":{"ERC721EnumerableUpgradeable":[3674],"ERC721Upgradeable":[3144],"IERC165":[5961],"IERC721Enumerable":[5303],"Initializable":[1732]},"id":3675,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3191,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"128:24:7"},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","file":"../ERC721Upgradeable.sol","id":3193,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3675,"sourceUnit":3145,"src":"154:59:7","symbolAliases":[{"foreign":{"id":3192,"name":"ERC721Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3144,"src":"162:17:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol","id":3195,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3675,"sourceUnit":5304,"src":"214:104:7","symbolAliases":[{"foreign":{"id":3194,"name":"IERC721Enumerable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5303,"src":"222:17:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":3197,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3675,"sourceUnit":5962,"src":"319:80:7","symbolAliases":[{"foreign":{"id":3196,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"327:7:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../../../proxy/utils/Initializable.sol","id":3199,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3675,"sourceUnit":1733,"src":"400:69:7","symbolAliases":[{"foreign":{"id":3198,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"408:13:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":3201,"name":"Initializable","nameLocations":["911:13:7"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"911:13:7"},"id":3202,"nodeType":"InheritanceSpecifier","src":"911:13:7"},{"baseName":{"id":3203,"name":"ERC721Upgradeable","nameLocations":["926:17:7"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"926:17:7"},"id":3204,"nodeType":"InheritanceSpecifier","src":"926:17:7"},{"baseName":{"id":3205,"name":"IERC721Enumerable","nameLocations":["945:17:7"],"nodeType":"IdentifierPath","referencedDeclaration":5303,"src":"945:17:7"},"id":3206,"nodeType":"InheritanceSpecifier","src":"945:17:7"}],"canonicalName":"ERC721EnumerableUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":3200,"nodeType":"StructuredDocumentation","src":"471:390:7","text":" @dev This implements an optional extension of {ERC721} defined in the EIP that adds enumerability\n of all the token ids in the contract as well as all token ids owned by each account.\n CAUTION: `ERC721` extensions that implement custom `balanceOf` logic, such as `ERC721Consecutive`,\n interfere with enumerability and should not be used together with `ERC721Enumerable`."},"fullyImplemented":true,"id":3674,"linearizedBaseContracts":[3674,5303,3144,4656,5331,5253,4332,5961,3987,1732],"name":"ERC721EnumerableUpgradeable","nameLocation":"880:27:7","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ERC721EnumerableUpgradeable.ERC721EnumerableStorage","documentation":{"id":3207,"nodeType":"StructuredDocumentation","src":"969:74:7","text":"@custom:storage-location erc7201:openzeppelin.storage.ERC721Enumerable"},"id":3225,"members":[{"constant":false,"id":3213,"mutability":"mutable","name":"_ownedTokens","nameLocation":"1149:12:7","nodeType":"VariableDeclaration","scope":3225,"src":"1089:72:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":3212,"keyName":"owner","keyNameLocation":"1105:5:7","keyType":{"id":3208,"name":"address","nodeType":"ElementaryTypeName","src":"1097:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1089:59:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3211,"keyName":"index","keyNameLocation":"1130:5:7","keyType":{"id":3209,"name":"uint256","nodeType":"ElementaryTypeName","src":"1122:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1114:33:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3210,"name":"uint256","nodeType":"ElementaryTypeName","src":"1139:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":3217,"mutability":"mutable","name":"_ownedTokensIndex","nameLocation":"1207:17:7","nodeType":"VariableDeclaration","scope":3225,"src":"1171:53:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":3216,"keyName":"tokenId","keyNameLocation":"1187:7:7","keyType":{"id":3214,"name":"uint256","nodeType":"ElementaryTypeName","src":"1179:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1171:35:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3215,"name":"uint256","nodeType":"ElementaryTypeName","src":"1198:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":3220,"mutability":"mutable","name":"_allTokens","nameLocation":"1245:10:7","nodeType":"VariableDeclaration","scope":3225,"src":"1235:20:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3218,"name":"uint256","nodeType":"ElementaryTypeName","src":"1235:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3219,"nodeType":"ArrayTypeName","src":"1235:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3224,"mutability":"mutable","name":"_allTokensIndex","nameLocation":"1301:15:7","nodeType":"VariableDeclaration","scope":3225,"src":"1265:51:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":3223,"keyName":"tokenId","keyNameLocation":"1281:7:7","keyType":{"id":3221,"name":"uint256","nodeType":"ElementaryTypeName","src":"1273:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1265:35:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3222,"name":"uint256","nodeType":"ElementaryTypeName","src":"1292:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"ERC721EnumerableStorage","nameLocation":"1055:23:7","nodeType":"StructDefinition","scope":3674,"src":"1048:275:7","visibility":"public"},{"constant":true,"id":3228,"mutability":"constant","name":"ERC721EnumerableStorageLocation","nameLocation":"1474:31:7","nodeType":"VariableDeclaration","scope":3674,"src":"1449:125:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1449:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307836343565303339373035343930303838646161643839626165323530343961333466346139303732643339383533376231616232343235663234636265643030","id":3227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1508:66:7","typeDescriptions":{"typeIdentifier":"t_rational_45397393259163386851312917324915499687179714947200100876063949632302666738944_by_1","typeString":"int_const 4539...(69 digits omitted)...8944"},"value":"0x645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed00"},"visibility":"private"},{"body":{"id":3235,"nodeType":"Block","src":"1677:90:7","statements":[{"AST":{"nodeType":"YulBlock","src":"1696:65:7","statements":[{"nodeType":"YulAssignment","src":"1710:41:7","value":{"name":"ERC721EnumerableStorageLocation","nodeType":"YulIdentifier","src":"1720:31:7"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"1710:6:7"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":3232,"isOffset":false,"isSlot":true,"src":"1710:6:7","suffix":"slot","valueSize":1},{"declaration":3228,"isOffset":false,"isSlot":false,"src":"1720:31:7","valueSize":1}],"id":3234,"nodeType":"InlineAssembly","src":"1687:74:7"}]},"id":3236,"implemented":true,"kind":"function","modifiers":[],"name":"_getERC721EnumerableStorage","nameLocation":"1590:27:7","nodeType":"FunctionDefinition","parameters":{"id":3229,"nodeType":"ParameterList","parameters":[],"src":"1617:2:7"},"returnParameters":{"id":3233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3232,"mutability":"mutable","name":"$","nameLocation":"1674:1:7","nodeType":"VariableDeclaration","scope":3236,"src":"1642:33:7","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"},"typeName":{"id":3231,"nodeType":"UserDefinedTypeName","pathNode":{"id":3230,"name":"ERC721EnumerableStorage","nameLocations":["1642:23:7"],"nodeType":"IdentifierPath","referencedDeclaration":3225,"src":"1642:23:7"},"referencedDeclaration":3225,"src":"1642:23:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"}},"visibility":"internal"}],"src":"1641:35:7"},"scope":3674,"src":"1581:186:7","stateMutability":"pure","virtual":false,"visibility":"private"},{"documentation":{"id":3237,"nodeType":"StructuredDocumentation","src":"1773:168:7","text":" @dev An `owner`'s token query was out of bounds for `index`.\n NOTE: The owner being `address(0)` indicates a global out of bounds index."},"errorSelector":"a57d13dc","id":3243,"name":"ERC721OutOfBoundsIndex","nameLocation":"1952:22:7","nodeType":"ErrorDefinition","parameters":{"id":3242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3239,"mutability":"mutable","name":"owner","nameLocation":"1983:5:7","nodeType":"VariableDeclaration","scope":3243,"src":"1975:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3238,"name":"address","nodeType":"ElementaryTypeName","src":"1975:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3241,"mutability":"mutable","name":"index","nameLocation":"1998:5:7","nodeType":"VariableDeclaration","scope":3243,"src":"1990:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3240,"name":"uint256","nodeType":"ElementaryTypeName","src":"1990:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1974:30:7"},"src":"1946:59:7"},{"documentation":{"id":3244,"nodeType":"StructuredDocumentation","src":"2011:50:7","text":" @dev Batch mint is not allowed."},"errorSelector":"59171fc1","id":3246,"name":"ERC721EnumerableForbiddenBatchMint","nameLocation":"2072:34:7","nodeType":"ErrorDefinition","parameters":{"id":3245,"nodeType":"ParameterList","parameters":[],"src":"2106:2:7"},"src":"2066:43:7"},{"body":{"id":3251,"nodeType":"Block","src":"2176:7:7","statements":[]},"id":3252,"implemented":true,"kind":"function","modifiers":[{"id":3249,"kind":"modifierInvocation","modifierName":{"id":3248,"name":"onlyInitializing","nameLocations":["2159:16:7"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2159:16:7"},"nodeType":"ModifierInvocation","src":"2159:16:7"}],"name":"__ERC721Enumerable_init","nameLocation":"2124:23:7","nodeType":"FunctionDefinition","parameters":{"id":3247,"nodeType":"ParameterList","parameters":[],"src":"2147:2:7"},"returnParameters":{"id":3250,"nodeType":"ParameterList","parameters":[],"src":"2176:0:7"},"scope":3674,"src":"2115:68:7","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3257,"nodeType":"Block","src":"2260:7:7","statements":[]},"id":3258,"implemented":true,"kind":"function","modifiers":[{"id":3255,"kind":"modifierInvocation","modifierName":{"id":3254,"name":"onlyInitializing","nameLocations":["2243:16:7"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2243:16:7"},"nodeType":"ModifierInvocation","src":"2243:16:7"}],"name":"__ERC721Enumerable_init_unchained","nameLocation":"2198:33:7","nodeType":"FunctionDefinition","parameters":{"id":3253,"nodeType":"ParameterList","parameters":[],"src":"2231:2:7"},"returnParameters":{"id":3256,"nodeType":"ParameterList","parameters":[],"src":"2260:0:7"},"scope":3674,"src":"2189:78:7","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[2158,5960],"body":{"id":3281,"nodeType":"Block","src":"2452:114:7","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":3274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3269,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3261,"src":"2469:11:7","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":3271,"name":"IERC721Enumerable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5303,"src":"2489:17:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Enumerable_$5303_$","typeString":"type(contract IERC721Enumerable)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721Enumerable_$5303_$","typeString":"type(contract IERC721Enumerable)"}],"id":3270,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2484:4:7","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2484:23:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721Enumerable_$5303","typeString":"type(contract IERC721Enumerable)"}},"id":3273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2508:11:7","memberName":"interfaceId","nodeType":"MemberAccess","src":"2484:35:7","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"2469:50:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":3277,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3261,"src":"2547:11:7","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":3275,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2523:5:7","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721EnumerableUpgradeable_$3674_$","typeString":"type(contract super ERC721EnumerableUpgradeable)"}},"id":3276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2529:17:7","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":2158,"src":"2523:23:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":3278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2523:36:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2469:90:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3268,"id":3280,"nodeType":"Return","src":"2462:97:7"}]},"documentation":{"id":3259,"nodeType":"StructuredDocumentation","src":"2272:56:7","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":3282,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"2342:17:7","nodeType":"FunctionDefinition","overrides":{"id":3265,"nodeType":"OverrideSpecifier","overrides":[{"id":3263,"name":"IERC165","nameLocations":["2409:7:7"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"2409:7:7"},{"id":3264,"name":"ERC721Upgradeable","nameLocations":["2418:17:7"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"2418:17:7"}],"src":"2400:36:7"},"parameters":{"id":3262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3261,"mutability":"mutable","name":"interfaceId","nameLocation":"2367:11:7","nodeType":"VariableDeclaration","scope":3282,"src":"2360:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":3260,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2360:6:7","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2359:20:7"},"returnParameters":{"id":3268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3267,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3282,"src":"2446:4:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3266,"name":"bool","nodeType":"ElementaryTypeName","src":"2446:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2445:6:7"},"scope":3674,"src":"2333:233:7","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5294],"body":{"id":3317,"nodeType":"Block","src":"2742:235:7","statements":[{"assignments":[3294],"declarations":[{"constant":false,"id":3294,"mutability":"mutable","name":"$","nameLocation":"2784:1:7","nodeType":"VariableDeclaration","scope":3317,"src":"2752:33:7","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"},"typeName":{"id":3293,"nodeType":"UserDefinedTypeName","pathNode":{"id":3292,"name":"ERC721EnumerableStorage","nameLocations":["2752:23:7"],"nodeType":"IdentifierPath","referencedDeclaration":3225,"src":"2752:23:7"},"referencedDeclaration":3225,"src":"2752:23:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"}},"visibility":"internal"}],"id":3297,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3295,"name":"_getERC721EnumerableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3236,"src":"2788:27:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721EnumerableStorage_$3225_storage_ptr_$","typeString":"function () pure returns (struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer)"}},"id":3296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2788:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2752:65:7"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3298,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"2831:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[{"id":3300,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3285,"src":"2850:5:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3299,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"2840:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":3301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2840:16:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2831:25:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3309,"nodeType":"IfStatement","src":"2827:99:7","trueBody":{"id":3308,"nodeType":"Block","src":"2858:68:7","statements":[{"errorCall":{"arguments":[{"id":3304,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3285,"src":"2902:5:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3305,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"2909:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3303,"name":"ERC721OutOfBoundsIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"2879:22:7","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":3306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2879:36:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3307,"nodeType":"RevertStatement","src":"2872:43:7"}]}},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":3310,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3294,"src":"2942:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3311,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2944:12:7","memberName":"_ownedTokens","nodeType":"MemberAccess","referencedDeclaration":3213,"src":"2942:14:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3313,"indexExpression":{"id":3312,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3285,"src":"2957:5:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2942:21:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3315,"indexExpression":{"id":3314,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"2964:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2942:28:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3291,"id":3316,"nodeType":"Return","src":"2935:35:7"}]},"documentation":{"id":3283,"nodeType":"StructuredDocumentation","src":"2572:68:7","text":" @dev See {IERC721Enumerable-tokenOfOwnerByIndex}."},"functionSelector":"2f745c59","id":3318,"implemented":true,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"2654:19:7","nodeType":"FunctionDefinition","parameters":{"id":3288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3285,"mutability":"mutable","name":"owner","nameLocation":"2682:5:7","nodeType":"VariableDeclaration","scope":3318,"src":"2674:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3284,"name":"address","nodeType":"ElementaryTypeName","src":"2674:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3287,"mutability":"mutable","name":"index","nameLocation":"2697:5:7","nodeType":"VariableDeclaration","scope":3318,"src":"2689:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3286,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2673:30:7"},"returnParameters":{"id":3291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3318,"src":"2733:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3289,"name":"uint256","nodeType":"ElementaryTypeName","src":"2733:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2732:9:7"},"scope":3674,"src":"2645:332:7","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5284],"body":{"id":3334,"nodeType":"Block","src":"3109:118:7","statements":[{"assignments":[3326],"declarations":[{"constant":false,"id":3326,"mutability":"mutable","name":"$","nameLocation":"3151:1:7","nodeType":"VariableDeclaration","scope":3334,"src":"3119:33:7","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"},"typeName":{"id":3325,"nodeType":"UserDefinedTypeName","pathNode":{"id":3324,"name":"ERC721EnumerableStorage","nameLocations":["3119:23:7"],"nodeType":"IdentifierPath","referencedDeclaration":3225,"src":"3119:23:7"},"referencedDeclaration":3225,"src":"3119:23:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"}},"visibility":"internal"}],"id":3329,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3327,"name":"_getERC721EnumerableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3236,"src":"3155:27:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721EnumerableStorage_$3225_storage_ptr_$","typeString":"function () pure returns (struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer)"}},"id":3328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3155:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3119:65:7"},{"expression":{"expression":{"expression":{"id":3330,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3326,"src":"3201:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3203:10:7","memberName":"_allTokens","nodeType":"MemberAccess","referencedDeclaration":3220,"src":"3201:12:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3214:6:7","memberName":"length","nodeType":"MemberAccess","src":"3201:19:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3323,"id":3333,"nodeType":"Return","src":"3194:26:7"}]},"documentation":{"id":3319,"nodeType":"StructuredDocumentation","src":"2983:60:7","text":" @dev See {IERC721Enumerable-totalSupply}."},"functionSelector":"18160ddd","id":3335,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3057:11:7","nodeType":"FunctionDefinition","parameters":{"id":3320,"nodeType":"ParameterList","parameters":[],"src":"3068:2:7"},"returnParameters":{"id":3323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3335,"src":"3100:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3321,"name":"uint256","nodeType":"ElementaryTypeName","src":"3100:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3099:9:7"},"scope":3674,"src":"3048:179:7","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[5302],"body":{"id":3368,"nodeType":"Block","src":"3374:228:7","statements":[{"assignments":[3345],"declarations":[{"constant":false,"id":3345,"mutability":"mutable","name":"$","nameLocation":"3416:1:7","nodeType":"VariableDeclaration","scope":3368,"src":"3384:33:7","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"},"typeName":{"id":3344,"nodeType":"UserDefinedTypeName","pathNode":{"id":3343,"name":"ERC721EnumerableStorage","nameLocations":["3384:23:7"],"nodeType":"IdentifierPath","referencedDeclaration":3225,"src":"3384:23:7"},"referencedDeclaration":3225,"src":"3384:23:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"}},"visibility":"internal"}],"id":3348,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3346,"name":"_getERC721EnumerableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3236,"src":"3420:27:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721EnumerableStorage_$3225_storage_ptr_$","typeString":"function () pure returns (struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer)"}},"id":3347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3420:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3384:65:7"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3349,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3338,"src":"3463:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":3350,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3335,"src":"3472:11:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":3351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3472:13:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3463:22:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3362,"nodeType":"IfStatement","src":"3459:101:7","trueBody":{"id":3361,"nodeType":"Block","src":"3487:73:7","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":3356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3539:1:7","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":3355,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3531:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3354,"name":"address","nodeType":"ElementaryTypeName","src":"3531:7:7","typeDescriptions":{}}},"id":3357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3531:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3358,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3338,"src":"3543:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3353,"name":"ERC721OutOfBoundsIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"3508:22:7","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":3359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3508:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3360,"nodeType":"RevertStatement","src":"3501:48:7"}]}},{"expression":{"baseExpression":{"expression":{"id":3363,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3345,"src":"3576:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3578:10:7","memberName":"_allTokens","nodeType":"MemberAccess","referencedDeclaration":3220,"src":"3576:12:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3366,"indexExpression":{"id":3365,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3338,"src":"3589:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3576:19:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3342,"id":3367,"nodeType":"Return","src":"3569:26:7"}]},"documentation":{"id":3336,"nodeType":"StructuredDocumentation","src":"3233:61:7","text":" @dev See {IERC721Enumerable-tokenByIndex}."},"functionSelector":"4f6ccce7","id":3369,"implemented":true,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"3308:12:7","nodeType":"FunctionDefinition","parameters":{"id":3339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3338,"mutability":"mutable","name":"index","nameLocation":"3329:5:7","nodeType":"VariableDeclaration","scope":3369,"src":"3321:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3337,"name":"uint256","nodeType":"ElementaryTypeName","src":"3321:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3320:15:7"},"returnParameters":{"id":3342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3341,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3369,"src":"3365:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3340,"name":"uint256","nodeType":"ElementaryTypeName","src":"3365:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3364:9:7"},"scope":3674,"src":"3299:303:7","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2685],"body":{"id":3437,"nodeType":"Block","src":"3762:521:7","statements":[{"assignments":[3383],"declarations":[{"constant":false,"id":3383,"mutability":"mutable","name":"previousOwner","nameLocation":"3780:13:7","nodeType":"VariableDeclaration","scope":3437,"src":"3772:21:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3382,"name":"address","nodeType":"ElementaryTypeName","src":"3772:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":3390,"initialValue":{"arguments":[{"id":3386,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3372,"src":"3810:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3387,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3374,"src":"3814:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3388,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3376,"src":"3823:4:7","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":3384,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3796:5:7","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721EnumerableUpgradeable_$3674_$","typeString":"type(contract super ERC721EnumerableUpgradeable)"}},"id":3385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3802:7:7","memberName":"_update","nodeType":"MemberAccess","referencedDeclaration":2685,"src":"3796:13:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":3389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3796:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3772:56:7"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3391,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3383,"src":"3843:13:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":3394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3868:1:7","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":3393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3860:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3392,"name":"address","nodeType":"ElementaryTypeName","src":"3860:7:7","typeDescriptions":{}}},"id":3395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3860:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3843:27:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3402,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3383,"src":"3947:13:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":3403,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3372,"src":"3964:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3947:19:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3411,"nodeType":"IfStatement","src":"3943:106:7","trueBody":{"id":3410,"nodeType":"Block","src":"3968:81:7","statements":[{"expression":{"arguments":[{"id":3406,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3383,"src":"4015:13:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3407,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3374,"src":"4030:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3405,"name":"_removeTokenFromOwnerEnumeration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3584,"src":"3982:32:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":3408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3982:56:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3409,"nodeType":"ExpressionStatement","src":"3982:56:7"}]}},"id":3412,"nodeType":"IfStatement","src":"3839:210:7","trueBody":{"id":3401,"nodeType":"Block","src":"3872:65:7","statements":[{"expression":{"arguments":[{"id":3398,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3374,"src":"3918:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3397,"name":"_addTokenToAllTokensEnumeration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3510,"src":"3886:31:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":3399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3886:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3400,"nodeType":"ExpressionStatement","src":"3886:40:7"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3413,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3372,"src":"4062:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":3416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4076:1:7","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":3415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4068:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3414,"name":"address","nodeType":"ElementaryTypeName","src":"4068:7:7","typeDescriptions":{}}},"id":3417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4068:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4062:16:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3424,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3383,"src":"4160:13:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":3425,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3372,"src":"4177:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4160:19:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3433,"nodeType":"IfStatement","src":"4156:90:7","trueBody":{"id":3432,"nodeType":"Block","src":"4181:65:7","statements":[{"expression":{"arguments":[{"id":3428,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3372,"src":"4223:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3429,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3374,"src":"4227:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3427,"name":"_addTokenToOwnerEnumeration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3479,"src":"4195:27:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":3430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4195:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3431,"nodeType":"ExpressionStatement","src":"4195:40:7"}]}},"id":3434,"nodeType":"IfStatement","src":"4058:188:7","trueBody":{"id":3423,"nodeType":"Block","src":"4080:70:7","statements":[{"expression":{"arguments":[{"id":3420,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3374,"src":"4131:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3419,"name":"_removeTokenFromAllTokensEnumeration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3648,"src":"4094:36:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":3421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4094:45:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3422,"nodeType":"ExpressionStatement","src":"4094:45:7"}]}},{"expression":{"id":3435,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3383,"src":"4263:13:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":3381,"id":3436,"nodeType":"Return","src":"4256:20:7"}]},"documentation":{"id":3370,"nodeType":"StructuredDocumentation","src":"3608:45:7","text":" @dev See {ERC721-_update}."},"id":3438,"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"3667:7:7","nodeType":"FunctionDefinition","overrides":{"id":3378,"nodeType":"OverrideSpecifier","overrides":[],"src":"3735:8:7"},"parameters":{"id":3377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3372,"mutability":"mutable","name":"to","nameLocation":"3683:2:7","nodeType":"VariableDeclaration","scope":3438,"src":"3675:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3371,"name":"address","nodeType":"ElementaryTypeName","src":"3675:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3374,"mutability":"mutable","name":"tokenId","nameLocation":"3695:7:7","nodeType":"VariableDeclaration","scope":3438,"src":"3687:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3373,"name":"uint256","nodeType":"ElementaryTypeName","src":"3687:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3376,"mutability":"mutable","name":"auth","nameLocation":"3712:4:7","nodeType":"VariableDeclaration","scope":3438,"src":"3704:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3375,"name":"address","nodeType":"ElementaryTypeName","src":"3704:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3674:43:7"},"returnParameters":{"id":3381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3380,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3438,"src":"3753:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3379,"name":"address","nodeType":"ElementaryTypeName","src":"3753:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3752:9:7"},"scope":3674,"src":"3658:625:7","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":3478,"nodeType":"Block","src":"4651:219:7","statements":[{"assignments":[3448],"declarations":[{"constant":false,"id":3448,"mutability":"mutable","name":"$","nameLocation":"4693:1:7","nodeType":"VariableDeclaration","scope":3478,"src":"4661:33:7","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"},"typeName":{"id":3447,"nodeType":"UserDefinedTypeName","pathNode":{"id":3446,"name":"ERC721EnumerableStorage","nameLocations":["4661:23:7"],"nodeType":"IdentifierPath","referencedDeclaration":3225,"src":"4661:23:7"},"referencedDeclaration":3225,"src":"4661:23:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"}},"visibility":"internal"}],"id":3451,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3449,"name":"_getERC721EnumerableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3236,"src":"4697:27:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721EnumerableStorage_$3225_storage_ptr_$","typeString":"function () pure returns (struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer)"}},"id":3450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4697:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4661:65:7"},{"assignments":[3453],"declarations":[{"constant":false,"id":3453,"mutability":"mutable","name":"length","nameLocation":"4744:6:7","nodeType":"VariableDeclaration","scope":3478,"src":"4736:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3452,"name":"uint256","nodeType":"ElementaryTypeName","src":"4736:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3459,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3455,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3441,"src":"4763:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3454,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"4753:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":3456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4753:13:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4769:1:7","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4753:17:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4736:34:7"},{"expression":{"id":3468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":3460,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3448,"src":"4780:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4782:12:7","memberName":"_ownedTokens","nodeType":"MemberAccess","referencedDeclaration":3213,"src":"4780:14:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3465,"indexExpression":{"id":3462,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3441,"src":"4795:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4780:18:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3466,"indexExpression":{"id":3463,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3453,"src":"4799:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4780:26:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3467,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3443,"src":"4809:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4780:36:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3469,"nodeType":"ExpressionStatement","src":"4780:36:7"},{"expression":{"id":3476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":3470,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3448,"src":"4826:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4828:17:7","memberName":"_ownedTokensIndex","nodeType":"MemberAccess","referencedDeclaration":3217,"src":"4826:19:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3474,"indexExpression":{"id":3472,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3443,"src":"4846:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4826:28:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3475,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3453,"src":"4857:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4826:37:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3477,"nodeType":"ExpressionStatement","src":"4826:37:7"}]},"documentation":{"id":3439,"nodeType":"StructuredDocumentation","src":"4289:283:7","text":" @dev Private function to add a token to this extension's ownership-tracking data structures.\n @param to address representing the new owner of the given token ID\n @param tokenId uint256 ID of the token to be added to the tokens list of the given address"},"id":3479,"implemented":true,"kind":"function","modifiers":[],"name":"_addTokenToOwnerEnumeration","nameLocation":"4586:27:7","nodeType":"FunctionDefinition","parameters":{"id":3444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3441,"mutability":"mutable","name":"to","nameLocation":"4622:2:7","nodeType":"VariableDeclaration","scope":3479,"src":"4614:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3440,"name":"address","nodeType":"ElementaryTypeName","src":"4614:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3443,"mutability":"mutable","name":"tokenId","nameLocation":"4634:7:7","nodeType":"VariableDeclaration","scope":3479,"src":"4626:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3442,"name":"uint256","nodeType":"ElementaryTypeName","src":"4626:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4613:29:7"},"returnParameters":{"id":3445,"nodeType":"ParameterList","parameters":[],"src":"4651:0:7"},"scope":3674,"src":"4577:293:7","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":3509,"nodeType":"Block","src":"5131:176:7","statements":[{"assignments":[3487],"declarations":[{"constant":false,"id":3487,"mutability":"mutable","name":"$","nameLocation":"5173:1:7","nodeType":"VariableDeclaration","scope":3509,"src":"5141:33:7","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"},"typeName":{"id":3486,"nodeType":"UserDefinedTypeName","pathNode":{"id":3485,"name":"ERC721EnumerableStorage","nameLocations":["5141:23:7"],"nodeType":"IdentifierPath","referencedDeclaration":3225,"src":"5141:23:7"},"referencedDeclaration":3225,"src":"5141:23:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"}},"visibility":"internal"}],"id":3490,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3488,"name":"_getERC721EnumerableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3236,"src":"5177:27:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721EnumerableStorage_$3225_storage_ptr_$","typeString":"function () pure returns (struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer)"}},"id":3489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5177:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5141:65:7"},{"expression":{"id":3499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":3491,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3487,"src":"5216:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5218:15:7","memberName":"_allTokensIndex","nodeType":"MemberAccess","referencedDeclaration":3224,"src":"5216:17:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3495,"indexExpression":{"id":3493,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3482,"src":"5234:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5216:26:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":3496,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3487,"src":"5245:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5247:10:7","memberName":"_allTokens","nodeType":"MemberAccess","referencedDeclaration":3220,"src":"5245:12:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5258:6:7","memberName":"length","nodeType":"MemberAccess","src":"5245:19:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5216:48:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3500,"nodeType":"ExpressionStatement","src":"5216:48:7"},{"expression":{"arguments":[{"id":3506,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3482,"src":"5292:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":3501,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3487,"src":"5274:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5276:10:7","memberName":"_allTokens","nodeType":"MemberAccess","referencedDeclaration":3220,"src":"5274:12:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5287:4:7","memberName":"push","nodeType":"MemberAccess","src":"5274:17:7","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":3507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5274:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3508,"nodeType":"ExpressionStatement","src":"5274:26:7"}]},"documentation":{"id":3480,"nodeType":"StructuredDocumentation","src":"4876:184:7","text":" @dev Private function to add a token to this extension's token tracking data structures.\n @param tokenId uint256 ID of the token to be added to the tokens list"},"id":3510,"implemented":true,"kind":"function","modifiers":[],"name":"_addTokenToAllTokensEnumeration","nameLocation":"5074:31:7","nodeType":"FunctionDefinition","parameters":{"id":3483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3482,"mutability":"mutable","name":"tokenId","nameLocation":"5114:7:7","nodeType":"VariableDeclaration","scope":3510,"src":"5106:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3481,"name":"uint256","nodeType":"ElementaryTypeName","src":"5106:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5105:17:7"},"returnParameters":{"id":3484,"nodeType":"ParameterList","parameters":[],"src":"5131:0:7"},"scope":3674,"src":"5065:242:7","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":3583,"nodeType":"Block","src":"6005:965:7","statements":[{"assignments":[3520],"declarations":[{"constant":false,"id":3520,"mutability":"mutable","name":"$","nameLocation":"6047:1:7","nodeType":"VariableDeclaration","scope":3583,"src":"6015:33:7","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"},"typeName":{"id":3519,"nodeType":"UserDefinedTypeName","pathNode":{"id":3518,"name":"ERC721EnumerableStorage","nameLocations":["6015:23:7"],"nodeType":"IdentifierPath","referencedDeclaration":3225,"src":"6015:23:7"},"referencedDeclaration":3225,"src":"6015:23:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"}},"visibility":"internal"}],"id":3523,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3521,"name":"_getERC721EnumerableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3236,"src":"6051:27:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721EnumerableStorage_$3225_storage_ptr_$","typeString":"function () pure returns (struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer)"}},"id":3522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6051:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6015:65:7"},{"assignments":[3525],"declarations":[{"constant":false,"id":3525,"mutability":"mutable","name":"lastTokenIndex","nameLocation":"6269:14:7","nodeType":"VariableDeclaration","scope":3583,"src":"6261:22:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3524,"name":"uint256","nodeType":"ElementaryTypeName","src":"6261:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3529,"initialValue":{"arguments":[{"id":3527,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"6296:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3526,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"6286:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":3528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6286:15:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6261:40:7"},{"assignments":[3531],"declarations":[{"constant":false,"id":3531,"mutability":"mutable","name":"tokenIndex","nameLocation":"6319:10:7","nodeType":"VariableDeclaration","scope":3583,"src":"6311:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3530,"name":"uint256","nodeType":"ElementaryTypeName","src":"6311:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3536,"initialValue":{"baseExpression":{"expression":{"id":3532,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3520,"src":"6332:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6334:17:7","memberName":"_ownedTokensIndex","nodeType":"MemberAccess","referencedDeclaration":3217,"src":"6332:19:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3535,"indexExpression":{"id":3534,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3515,"src":"6352:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6332:28:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6311:49:7"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3537,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3531,"src":"6464:10:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":3538,"name":"lastTokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6478:14:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6464:28:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3568,"nodeType":"IfStatement","src":"6460:329:7","trueBody":{"id":3567,"nodeType":"Block","src":"6494:295:7","statements":[{"assignments":[3541],"declarations":[{"constant":false,"id":3541,"mutability":"mutable","name":"lastTokenId","nameLocation":"6516:11:7","nodeType":"VariableDeclaration","scope":3567,"src":"6508:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3540,"name":"uint256","nodeType":"ElementaryTypeName","src":"6508:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3548,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":3542,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3520,"src":"6530:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6532:12:7","memberName":"_ownedTokens","nodeType":"MemberAccess","referencedDeclaration":3213,"src":"6530:14:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3545,"indexExpression":{"id":3544,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"6545:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6530:20:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3547,"indexExpression":{"id":3546,"name":"lastTokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6551:14:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6530:36:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6508:58:7"},{"expression":{"id":3557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":3549,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3520,"src":"6581:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6583:12:7","memberName":"_ownedTokens","nodeType":"MemberAccess","referencedDeclaration":3213,"src":"6581:14:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3554,"indexExpression":{"id":3551,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"6596:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6581:20:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3555,"indexExpression":{"id":3552,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3531,"src":"6602:10:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6581:32:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3556,"name":"lastTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"6616:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6581:46:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3558,"nodeType":"ExpressionStatement","src":"6581:46:7"},{"expression":{"id":3565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":3559,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3520,"src":"6699:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6701:17:7","memberName":"_ownedTokensIndex","nodeType":"MemberAccess","referencedDeclaration":3217,"src":"6699:19:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3563,"indexExpression":{"id":3561,"name":"lastTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"6719:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6699:32:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3564,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3531,"src":"6734:10:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6699:45:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3566,"nodeType":"ExpressionStatement","src":"6699:45:7"}]}},{"expression":{"id":3573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6875:35:7","subExpression":{"baseExpression":{"expression":{"id":3569,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3520,"src":"6882:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6884:17:7","memberName":"_ownedTokensIndex","nodeType":"MemberAccess","referencedDeclaration":3217,"src":"6882:19:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3572,"indexExpression":{"id":3571,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3515,"src":"6902:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6882:28:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3574,"nodeType":"ExpressionStatement","src":"6875:35:7"},{"expression":{"id":3581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6920:43:7","subExpression":{"baseExpression":{"baseExpression":{"expression":{"id":3575,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3520,"src":"6927:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6929:12:7","memberName":"_ownedTokens","nodeType":"MemberAccess","referencedDeclaration":3213,"src":"6927:14:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3578,"indexExpression":{"id":3577,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"6942:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6927:20:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3580,"indexExpression":{"id":3579,"name":"lastTokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6948:14:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6927:36:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3582,"nodeType":"ExpressionStatement","src":"6920:43:7"}]},"documentation":{"id":3511,"nodeType":"StructuredDocumentation","src":"5313:606:7","text":" @dev Private function to remove a token from this extension's ownership-tracking data structures. Note that\n while the token is not assigned a new owner, the `_ownedTokensIndex` mapping is _not_ updated: this allows for\n gas optimizations e.g. when performing a transfer operation (avoiding double writes).\n This has O(1) time complexity, but alters the order of the _ownedTokens array.\n @param from address representing the previous owner of the given token ID\n @param tokenId uint256 ID of the token to be removed from the tokens list of the given address"},"id":3584,"implemented":true,"kind":"function","modifiers":[],"name":"_removeTokenFromOwnerEnumeration","nameLocation":"5933:32:7","nodeType":"FunctionDefinition","parameters":{"id":3516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3513,"mutability":"mutable","name":"from","nameLocation":"5974:4:7","nodeType":"VariableDeclaration","scope":3584,"src":"5966:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3512,"name":"address","nodeType":"ElementaryTypeName","src":"5966:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3515,"mutability":"mutable","name":"tokenId","nameLocation":"5988:7:7","nodeType":"VariableDeclaration","scope":3584,"src":"5980:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3514,"name":"uint256","nodeType":"ElementaryTypeName","src":"5980:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5965:31:7"},"returnParameters":{"id":3517,"nodeType":"ParameterList","parameters":[],"src":"6005:0:7"},"scope":3674,"src":"5924:1046:7","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":3647,"nodeType":"Block","src":"7329:1079:7","statements":[{"assignments":[3592],"declarations":[{"constant":false,"id":3592,"mutability":"mutable","name":"$","nameLocation":"7371:1:7","nodeType":"VariableDeclaration","scope":3647,"src":"7339:33:7","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"},"typeName":{"id":3591,"nodeType":"UserDefinedTypeName","pathNode":{"id":3590,"name":"ERC721EnumerableStorage","nameLocations":["7339:23:7"],"nodeType":"IdentifierPath","referencedDeclaration":3225,"src":"7339:23:7"},"referencedDeclaration":3225,"src":"7339:23:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage"}},"visibility":"internal"}],"id":3595,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3593,"name":"_getERC721EnumerableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3236,"src":"7375:27:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721EnumerableStorage_$3225_storage_ptr_$","typeString":"function () pure returns (struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer)"}},"id":3594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7375:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7339:65:7"},{"assignments":[3597],"declarations":[{"constant":false,"id":3597,"mutability":"mutable","name":"lastTokenIndex","nameLocation":"7590:14:7","nodeType":"VariableDeclaration","scope":3647,"src":"7582:22:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3596,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3603,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":3598,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"7607:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7609:10:7","memberName":"_allTokens","nodeType":"MemberAccess","referencedDeclaration":3220,"src":"7607:12:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7620:6:7","memberName":"length","nodeType":"MemberAccess","src":"7607:19:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7629:1:7","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7607:23:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7582:48:7"},{"assignments":[3605],"declarations":[{"constant":false,"id":3605,"mutability":"mutable","name":"tokenIndex","nameLocation":"7648:10:7","nodeType":"VariableDeclaration","scope":3647,"src":"7640:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3604,"name":"uint256","nodeType":"ElementaryTypeName","src":"7640:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3610,"initialValue":{"baseExpression":{"expression":{"id":3606,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"7661:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7663:15:7","memberName":"_allTokensIndex","nodeType":"MemberAccess","referencedDeclaration":3224,"src":"7661:17:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3609,"indexExpression":{"id":3608,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3587,"src":"7679:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7661:26:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7640:47:7"},{"assignments":[3612],"declarations":[{"constant":false,"id":3612,"mutability":"mutable","name":"lastTokenId","nameLocation":"8017:11:7","nodeType":"VariableDeclaration","scope":3647,"src":"8009:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3611,"name":"uint256","nodeType":"ElementaryTypeName","src":"8009:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3617,"initialValue":{"baseExpression":{"expression":{"id":3613,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"8031:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8033:10:7","memberName":"_allTokens","nodeType":"MemberAccess","referencedDeclaration":3220,"src":"8031:12:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3616,"indexExpression":{"id":3615,"name":"lastTokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3597,"src":"8044:14:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8031:28:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8009:50:7"},{"expression":{"id":3624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":3618,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"8070:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8072:10:7","memberName":"_allTokens","nodeType":"MemberAccess","referencedDeclaration":3220,"src":"8070:12:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3622,"indexExpression":{"id":3620,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"8083:10:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8070:24:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3623,"name":"lastTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3612,"src":"8097:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8070:38:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3625,"nodeType":"ExpressionStatement","src":"8070:38:7"},{"expression":{"id":3632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":3626,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"8176:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8178:15:7","memberName":"_allTokensIndex","nodeType":"MemberAccess","referencedDeclaration":3224,"src":"8176:17:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3630,"indexExpression":{"id":3628,"name":"lastTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3612,"src":"8194:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8176:30:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3631,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"8209:10:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8176:43:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3633,"nodeType":"ExpressionStatement","src":"8176:43:7"},{"expression":{"id":3638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"8340:33:7","subExpression":{"baseExpression":{"expression":{"id":3634,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"8347:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8349:15:7","memberName":"_allTokensIndex","nodeType":"MemberAccess","referencedDeclaration":3224,"src":"8347:17:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3637,"indexExpression":{"id":3636,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3587,"src":"8365:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8347:26:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3639,"nodeType":"ExpressionStatement","src":"8340:33:7"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":3640,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"8383:1:7","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721EnumerableStorage_$3225_storage_ptr","typeString":"struct ERC721EnumerableUpgradeable.ERC721EnumerableStorage storage pointer"}},"id":3643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8385:10:7","memberName":"_allTokens","nodeType":"MemberAccess","referencedDeclaration":3220,"src":"8383:12:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8396:3:7","memberName":"pop","nodeType":"MemberAccess","src":"8383:16:7","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer)"}},"id":3645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8383:18:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3646,"nodeType":"ExpressionStatement","src":"8383:18:7"}]},"documentation":{"id":3585,"nodeType":"StructuredDocumentation","src":"6976:277:7","text":" @dev Private function to remove a token from this extension's token tracking data structures.\n This has O(1) time complexity, but alters the order of the _allTokens array.\n @param tokenId uint256 ID of the token to be removed from the tokens list"},"id":3648,"implemented":true,"kind":"function","modifiers":[],"name":"_removeTokenFromAllTokensEnumeration","nameLocation":"7267:36:7","nodeType":"FunctionDefinition","parameters":{"id":3588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3587,"mutability":"mutable","name":"tokenId","nameLocation":"7312:7:7","nodeType":"VariableDeclaration","scope":3648,"src":"7304:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3586,"name":"uint256","nodeType":"ElementaryTypeName","src":"7304:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7303:17:7"},"returnParameters":{"id":3589,"nodeType":"ParameterList","parameters":[],"src":"7329:0:7"},"scope":3674,"src":"7258:1150:7","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"baseFunctions":[2583],"body":{"id":3672,"nodeType":"Block","src":"8610:149:7","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":3659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3657,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3653,"src":"8624:6:7","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8633:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8624:10:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3664,"nodeType":"IfStatement","src":"8620:84:7","trueBody":{"id":3663,"nodeType":"Block","src":"8636:68:7","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3660,"name":"ERC721EnumerableForbiddenBatchMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3246,"src":"8657:34:7","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8657:36:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3662,"nodeType":"RevertStatement","src":"8650:43:7"}]}},{"expression":{"arguments":[{"id":3668,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3651,"src":"8736:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3669,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3653,"src":"8745:6:7","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":3665,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8713:5:7","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721EnumerableUpgradeable_$3674_$","typeString":"type(contract super ERC721EnumerableUpgradeable)"}},"id":3667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8719:16:7","memberName":"_increaseBalance","nodeType":"MemberAccess","referencedDeclaration":2583,"src":"8713:22:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint128_$returns$__$","typeString":"function (address,uint128)"}},"id":3670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8713:39:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3671,"nodeType":"ExpressionStatement","src":"8713:39:7"}]},"documentation":{"id":3649,"nodeType":"StructuredDocumentation","src":"8414:106:7","text":" See {ERC721-_increaseBalance}. We need that to account tokens that were minted in batch"},"id":3673,"implemented":true,"kind":"function","modifiers":[],"name":"_increaseBalance","nameLocation":"8534:16:7","nodeType":"FunctionDefinition","overrides":{"id":3655,"nodeType":"OverrideSpecifier","overrides":[],"src":"8601:8:7"},"parameters":{"id":3654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3651,"mutability":"mutable","name":"account","nameLocation":"8559:7:7","nodeType":"VariableDeclaration","scope":3673,"src":"8551:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3650,"name":"address","nodeType":"ElementaryTypeName","src":"8551:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3653,"mutability":"mutable","name":"amount","nameLocation":"8576:6:7","nodeType":"VariableDeclaration","scope":3673,"src":"8568:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":3652,"name":"uint128","nodeType":"ElementaryTypeName","src":"8568:7:7","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"8550:33:7"},"returnParameters":{"id":3656,"nodeType":"ParameterList","parameters":[],"src":"8610:0:7"},"scope":3674,"src":"8525:234:7","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":3675,"src":"862:7899:7","usedErrors":[1495,1498,3243,3246,4614,4619,4628,4633,4638,4645,4650,4655],"usedEvents":[1503,5152,5161,5170]}],"src":"128:8634:7"},"id":7},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","exportedSymbols":{"ERC721PausableUpgradeable":[3728],"ERC721Upgradeable":[3144],"Initializable":[1732],"PausableUpgradeable":[4163]},"id":3729,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3676,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"126:24:8"},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","file":"../ERC721Upgradeable.sol","id":3678,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3729,"sourceUnit":3145,"src":"152:59:8","symbolAliases":[{"foreign":{"id":3677,"name":"ERC721Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3144,"src":"160:17:8","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","file":"../../../utils/PausableUpgradeable.sol","id":3680,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3729,"sourceUnit":4164,"src":"212:75:8","symbolAliases":[{"foreign":{"id":3679,"name":"PausableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4163,"src":"220:19:8","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../../../proxy/utils/Initializable.sol","id":3682,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3729,"sourceUnit":1733,"src":"288:69:8","symbolAliases":[{"foreign":{"id":3681,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"296:13:8","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":3684,"name":"Initializable","nameLocations":["1095:13:8"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1095:13:8"},"id":3685,"nodeType":"InheritanceSpecifier","src":"1095:13:8"},{"baseName":{"id":3686,"name":"ERC721Upgradeable","nameLocations":["1110:17:8"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"1110:17:8"},"id":3687,"nodeType":"InheritanceSpecifier","src":"1110:17:8"},{"baseName":{"id":3688,"name":"PausableUpgradeable","nameLocations":["1129:19:8"],"nodeType":"IdentifierPath","referencedDeclaration":4163,"src":"1129:19:8"},"id":3689,"nodeType":"InheritanceSpecifier","src":"1129:19:8"}],"canonicalName":"ERC721PausableUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":3683,"nodeType":"StructuredDocumentation","src":"359:688:8","text":" @dev ERC721 token with pausable token transfers, minting and burning.\n Useful for scenarios such as preventing trades until the end of an evaluation\n period, or having an emergency switch for freezing all token transfers in the\n event of a large bug.\n IMPORTANT: This contract does not include public pause and unpause functions. In\n addition to inheriting this contract, you must define both functions, invoking the\n {Pausable-_pause} and {Pausable-_unpause} internal functions, with appropriate\n access control, e.g. using {AccessControl} or {Ownable}. Not doing so will\n make the contract pause mechanism of the contract unreachable, and thus unusable."},"fullyImplemented":true,"id":3728,"linearizedBaseContracts":[3728,4163,3144,4656,5331,5253,4332,5961,3987,1732],"name":"ERC721PausableUpgradeable","nameLocation":"1066:25:8","nodeType":"ContractDefinition","nodes":[{"body":{"id":3697,"nodeType":"Block","src":"1214:44:8","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3694,"name":"__Pausable_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4057,"src":"1224:25:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1224:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3696,"nodeType":"ExpressionStatement","src":"1224:27:8"}]},"id":3698,"implemented":true,"kind":"function","modifiers":[{"id":3692,"kind":"modifierInvocation","modifierName":{"id":3691,"name":"onlyInitializing","nameLocations":["1197:16:8"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"1197:16:8"},"nodeType":"ModifierInvocation","src":"1197:16:8"}],"name":"__ERC721Pausable_init","nameLocation":"1164:21:8","nodeType":"FunctionDefinition","parameters":{"id":3690,"nodeType":"ParameterList","parameters":[],"src":"1185:2:8"},"returnParameters":{"id":3693,"nodeType":"ParameterList","parameters":[],"src":"1214:0:8"},"scope":3728,"src":"1155:103:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3703,"nodeType":"Block","src":"1333:7:8","statements":[]},"id":3704,"implemented":true,"kind":"function","modifiers":[{"id":3701,"kind":"modifierInvocation","modifierName":{"id":3700,"name":"onlyInitializing","nameLocations":["1316:16:8"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"1316:16:8"},"nodeType":"ModifierInvocation","src":"1316:16:8"}],"name":"__ERC721Pausable_init_unchained","nameLocation":"1273:31:8","nodeType":"FunctionDefinition","parameters":{"id":3699,"nodeType":"ParameterList","parameters":[],"src":"1304:2:8"},"returnParameters":{"id":3702,"nodeType":"ParameterList","parameters":[],"src":"1333:0:8"},"scope":3728,"src":"1264:76:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[2685],"body":{"id":3726,"nodeType":"Block","src":"1620:56:8","statements":[{"expression":{"arguments":[{"id":3721,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3707,"src":"1651:2:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3722,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3709,"src":"1655:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3723,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3711,"src":"1664:4:8","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":3719,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1637:5:8","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721PausableUpgradeable_$3728_$","typeString":"type(contract super ERC721PausableUpgradeable)"}},"id":3720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1643:7:8","memberName":"_update","nodeType":"MemberAccess","referencedDeclaration":2685,"src":"1637:13:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":3724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1637:32:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":3718,"id":3725,"nodeType":"Return","src":"1630:39:8"}]},"documentation":{"id":3705,"nodeType":"StructuredDocumentation","src":"1345:122:8","text":" @dev See {ERC721-_update}.\n Requirements:\n - the contract must not be paused."},"id":3727,"implemented":true,"kind":"function","modifiers":[{"id":3715,"kind":"modifierInvocation","modifierName":{"id":3714,"name":"whenNotPaused","nameLocations":["1588:13:8"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"1588:13:8"},"nodeType":"ModifierInvocation","src":"1588:13:8"}],"name":"_update","nameLocation":"1481:7:8","nodeType":"FunctionDefinition","overrides":{"id":3713,"nodeType":"OverrideSpecifier","overrides":[],"src":"1579:8:8"},"parameters":{"id":3712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3707,"mutability":"mutable","name":"to","nameLocation":"1506:2:8","nodeType":"VariableDeclaration","scope":3727,"src":"1498:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3706,"name":"address","nodeType":"ElementaryTypeName","src":"1498:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3709,"mutability":"mutable","name":"tokenId","nameLocation":"1526:7:8","nodeType":"VariableDeclaration","scope":3727,"src":"1518:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3708,"name":"uint256","nodeType":"ElementaryTypeName","src":"1518:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3711,"mutability":"mutable","name":"auth","nameLocation":"1551:4:8","nodeType":"VariableDeclaration","scope":3727,"src":"1543:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3710,"name":"address","nodeType":"ElementaryTypeName","src":"1543:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1488:73:8"},"returnParameters":{"id":3718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3717,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3727,"src":"1611:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3716,"name":"address","nodeType":"ElementaryTypeName","src":"1611:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1610:9:8"},"scope":3728,"src":"1472:204:8","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":3729,"src":"1048:630:8","usedErrors":[1495,1498,4026,4029,4614,4619,4628,4633,4638,4645,4650,4655],"usedEvents":[1503,4018,4023,5152,5161,5170]}],"src":"126:1553:8"},"id":8},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","exportedSymbols":{"ERC721URIStorageUpgradeable":[3898],"ERC721Upgradeable":[3144],"IERC165":[5961],"IERC4906":[4526],"Initializable":[1732],"Strings":[5949]},"id":3899,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3730,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"128:24:9"},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","file":"../ERC721Upgradeable.sol","id":3732,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3899,"sourceUnit":3145,"src":"154:59:9","symbolAliases":[{"foreign":{"id":3731,"name":"ERC721Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3144,"src":"162:17:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","id":3734,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3899,"sourceUnit":5950,"src":"214:66:9","symbolAliases":[{"foreign":{"id":3733,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"222:7:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC4906.sol","file":"@openzeppelin/contracts/interfaces/IERC4906.sol","id":3736,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3899,"sourceUnit":4527,"src":"281:73:9","symbolAliases":[{"foreign":{"id":3735,"name":"IERC4906","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4526,"src":"289:8:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":3738,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3899,"sourceUnit":5962,"src":"355:80:9","symbolAliases":[{"foreign":{"id":3737,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"363:7:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../../../proxy/utils/Initializable.sol","id":3740,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3899,"sourceUnit":1733,"src":"436:69:9","symbolAliases":[{"foreign":{"id":3739,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"444:13:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":3742,"name":"Initializable","nameLocations":["626:13:9"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"626:13:9"},"id":3743,"nodeType":"InheritanceSpecifier","src":"626:13:9"},{"baseName":{"id":3744,"name":"IERC4906","nameLocations":["641:8:9"],"nodeType":"IdentifierPath","referencedDeclaration":4526,"src":"641:8:9"},"id":3745,"nodeType":"InheritanceSpecifier","src":"641:8:9"},{"baseName":{"id":3746,"name":"ERC721Upgradeable","nameLocations":["651:17:9"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"651:17:9"},"id":3747,"nodeType":"InheritanceSpecifier","src":"651:17:9"}],"canonicalName":"ERC721URIStorageUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":3741,"nodeType":"StructuredDocumentation","src":"507:69:9","text":" @dev ERC721 token with storage based token URI management."},"fullyImplemented":true,"id":3898,"linearizedBaseContracts":[3898,3144,4656,5331,4526,5253,4332,5961,3987,1732],"name":"ERC721URIStorageUpgradeable","nameLocation":"595:27:9","nodeType":"ContractDefinition","nodes":[{"global":false,"id":3750,"libraryName":{"id":3748,"name":"Strings","nameLocations":["681:7:9"],"nodeType":"IdentifierPath","referencedDeclaration":5949,"src":"681:7:9"},"nodeType":"UsingForDirective","src":"675:26:9","typeName":{"id":3749,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":true,"id":3756,"mutability":"constant","name":"ERC4906_INTERFACE_ID","nameLocation":"913:20:9","nodeType":"VariableDeclaration","scope":3898,"src":"889:65:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":3751,"name":"bytes4","nodeType":"ElementaryTypeName","src":"889:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"hexValue":"30783439303634393036","id":3754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"943:10:9","typeDescriptions":{"typeIdentifier":"t_rational_1225148678_by_1","typeString":"int_const 1225148678"},"value":"0x49064906"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1225148678_by_1","typeString":"int_const 1225148678"}],"id":3753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"936:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":3752,"name":"bytes4","nodeType":"ElementaryTypeName","src":"936:6:9","typeDescriptions":{}}},"id":3755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"936:18:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"private"},{"canonicalName":"ERC721URIStorageUpgradeable.ERC721URIStorageStorage","documentation":{"id":3757,"nodeType":"StructuredDocumentation","src":"961:74:9","text":"@custom:storage-location erc7201:openzeppelin.storage.ERC721URIStorage"},"id":3762,"members":[{"constant":false,"id":3761,"mutability":"mutable","name":"_tokenURIs","nameLocation":"1159:10:9","nodeType":"VariableDeclaration","scope":3762,"src":"1124:45:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":3760,"keyName":"tokenId","keyNameLocation":"1140:7:9","keyType":{"id":3758,"name":"uint256","nodeType":"ElementaryTypeName","src":"1132:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1124:34:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3759,"name":"string","nodeType":"ElementaryTypeName","src":"1151:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"internal"}],"name":"ERC721URIStorageStorage","nameLocation":"1047:23:9","nodeType":"StructDefinition","scope":3898,"src":"1040:136:9","visibility":"public"},{"constant":true,"id":3765,"mutability":"constant","name":"ERC721URIStorageStorageLocation","nameLocation":"1327:31:9","nodeType":"VariableDeclaration","scope":3898,"src":"1302:125:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1302:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307830353432613431383831656531323861333635613732376232383263383666613835393537393439306239626234356161623835303336343863386537393030","id":3764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1361:66:9","typeDescriptions":{"typeIdentifier":"t_rational_2379308696314521910557677063879631722299242421128561970643328499819886835968_by_1","typeString":"int_const 2379...(68 digits omitted)...5968"},"value":"0x0542a41881ee128a365a727b282c86fa859579490b9bb45aab8503648c8e7900"},"visibility":"private"},{"body":{"id":3772,"nodeType":"Block","src":"1530:90:9","statements":[{"AST":{"nodeType":"YulBlock","src":"1549:65:9","statements":[{"nodeType":"YulAssignment","src":"1563:41:9","value":{"name":"ERC721URIStorageStorageLocation","nodeType":"YulIdentifier","src":"1573:31:9"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"1563:6:9"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":3769,"isOffset":false,"isSlot":true,"src":"1563:6:9","suffix":"slot","valueSize":1},{"declaration":3765,"isOffset":false,"isSlot":false,"src":"1573:31:9","valueSize":1}],"id":3771,"nodeType":"InlineAssembly","src":"1540:74:9"}]},"id":3773,"implemented":true,"kind":"function","modifiers":[],"name":"_getERC721URIStorageStorage","nameLocation":"1443:27:9","nodeType":"FunctionDefinition","parameters":{"id":3766,"nodeType":"ParameterList","parameters":[],"src":"1470:2:9"},"returnParameters":{"id":3770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3769,"mutability":"mutable","name":"$","nameLocation":"1527:1:9","nodeType":"VariableDeclaration","scope":3773,"src":"1495:33:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage"},"typeName":{"id":3768,"nodeType":"UserDefinedTypeName","pathNode":{"id":3767,"name":"ERC721URIStorageStorage","nameLocations":["1495:23:9"],"nodeType":"IdentifierPath","referencedDeclaration":3762,"src":"1495:23:9"},"referencedDeclaration":3762,"src":"1495:23:9","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage"}},"visibility":"internal"}],"src":"1494:35:9"},"scope":3898,"src":"1434:186:9","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":3778,"nodeType":"Block","src":"1687:7:9","statements":[]},"id":3779,"implemented":true,"kind":"function","modifiers":[{"id":3776,"kind":"modifierInvocation","modifierName":{"id":3775,"name":"onlyInitializing","nameLocations":["1670:16:9"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"1670:16:9"},"nodeType":"ModifierInvocation","src":"1670:16:9"}],"name":"__ERC721URIStorage_init","nameLocation":"1635:23:9","nodeType":"FunctionDefinition","parameters":{"id":3774,"nodeType":"ParameterList","parameters":[],"src":"1658:2:9"},"returnParameters":{"id":3777,"nodeType":"ParameterList","parameters":[],"src":"1687:0:9"},"scope":3898,"src":"1626:68:9","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3784,"nodeType":"Block","src":"1771:7:9","statements":[]},"id":3785,"implemented":true,"kind":"function","modifiers":[{"id":3782,"kind":"modifierInvocation","modifierName":{"id":3781,"name":"onlyInitializing","nameLocations":["1754:16:9"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"1754:16:9"},"nodeType":"ModifierInvocation","src":"1754:16:9"}],"name":"__ERC721URIStorage_init_unchained","nameLocation":"1709:33:9","nodeType":"FunctionDefinition","parameters":{"id":3780,"nodeType":"ParameterList","parameters":[],"src":"1742:2:9"},"returnParameters":{"id":3783,"nodeType":"ParameterList","parameters":[],"src":"1771:0:9"},"scope":3898,"src":"1700:78:9","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[2158,5960],"body":{"id":3805,"nodeType":"Block","src":"1962:99:9","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":3798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3796,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3788,"src":"1979:11:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":3797,"name":"ERC4906_INTERFACE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3756,"src":"1994:20:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1979:35:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":3801,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3788,"src":"2042:11:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":3799,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2018:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorageUpgradeable_$3898_$","typeString":"type(contract super ERC721URIStorageUpgradeable)"}},"id":3800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2024:17:9","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":2158,"src":"2018:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":3802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2018:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1979:75:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3795,"id":3804,"nodeType":"Return","src":"1972:82:9"}]},"documentation":{"id":3786,"nodeType":"StructuredDocumentation","src":"1783:55:9","text":" @dev See {IERC165-supportsInterface}"},"functionSelector":"01ffc9a7","id":3806,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1852:17:9","nodeType":"FunctionDefinition","overrides":{"id":3792,"nodeType":"OverrideSpecifier","overrides":[{"id":3790,"name":"ERC721Upgradeable","nameLocations":["1919:17:9"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"1919:17:9"},{"id":3791,"name":"IERC165","nameLocations":["1938:7:9"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"1938:7:9"}],"src":"1910:36:9"},"parameters":{"id":3789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3788,"mutability":"mutable","name":"interfaceId","nameLocation":"1877:11:9","nodeType":"VariableDeclaration","scope":3806,"src":"1870:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":3787,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1870:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1869:20:9"},"returnParameters":{"id":3795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3806,"src":"1956:4:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3793,"name":"bool","nodeType":"ElementaryTypeName","src":"1956:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1955:6:9"},"scope":3898,"src":"1843:218:9","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2274],"body":{"id":3869,"nodeType":"Block","src":"2215:582:9","statements":[{"assignments":[3817],"declarations":[{"constant":false,"id":3817,"mutability":"mutable","name":"$","nameLocation":"2257:1:9","nodeType":"VariableDeclaration","scope":3869,"src":"2225:33:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage"},"typeName":{"id":3816,"nodeType":"UserDefinedTypeName","pathNode":{"id":3815,"name":"ERC721URIStorageStorage","nameLocations":["2225:23:9"],"nodeType":"IdentifierPath","referencedDeclaration":3762,"src":"2225:23:9"},"referencedDeclaration":3762,"src":"2225:23:9","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage"}},"visibility":"internal"}],"id":3820,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3818,"name":"_getERC721URIStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3773,"src":"2261:27:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721URIStorageStorage_$3762_storage_ptr_$","typeString":"function () pure returns (struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage storage pointer)"}},"id":3819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2261:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2225:65:9"},{"expression":{"arguments":[{"id":3822,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3809,"src":"2314:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3821,"name":"_requireOwned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3079,"src":"2300:13:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":3823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2300:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3824,"nodeType":"ExpressionStatement","src":"2300:22:9"},{"assignments":[3826],"declarations":[{"constant":false,"id":3826,"mutability":"mutable","name":"_tokenURI","nameLocation":"2347:9:9","nodeType":"VariableDeclaration","scope":3869,"src":"2333:23:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3825,"name":"string","nodeType":"ElementaryTypeName","src":"2333:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3831,"initialValue":{"baseExpression":{"expression":{"id":3827,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3817,"src":"2359:1:9","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage storage pointer"}},"id":3828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2361:10:9","memberName":"_tokenURIs","nodeType":"MemberAccess","referencedDeclaration":3761,"src":"2359:12:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3830,"indexExpression":{"id":3829,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3809,"src":"2372:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2359:21:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2333:47:9"},{"assignments":[3833],"declarations":[{"constant":false,"id":3833,"mutability":"mutable","name":"base","nameLocation":"2404:4:9","nodeType":"VariableDeclaration","scope":3869,"src":"2390:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3832,"name":"string","nodeType":"ElementaryTypeName","src":"2390:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3836,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3834,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2283,"src":"2411:8:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":3835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2411:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2390:31:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3839,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3833,"src":"2500:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2494:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3837,"name":"bytes","nodeType":"ElementaryTypeName","src":"2494:5:9","typeDescriptions":{}}},"id":3840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2494:11:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2506:6:9","memberName":"length","nodeType":"MemberAccess","src":"2494:18:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2516:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2494:23:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3847,"nodeType":"IfStatement","src":"2490:70:9","trueBody":{"id":3846,"nodeType":"Block","src":"2519:41:9","statements":[{"expression":{"id":3844,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3826,"src":"2540:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3814,"id":3845,"nodeType":"Return","src":"2533:16:9"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3850,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3826,"src":"2665:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2659:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3848,"name":"bytes","nodeType":"ElementaryTypeName","src":"2659:5:9","typeDescriptions":{}}},"id":3851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2659:16:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2676:6:9","memberName":"length","nodeType":"MemberAccess","src":"2659:23:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2685:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2659:27:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3863,"nodeType":"IfStatement","src":"2655:95:9","trueBody":{"id":3862,"nodeType":"Block","src":"2688:62:9","statements":[{"expression":{"arguments":[{"id":3858,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3833,"src":"2723:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3859,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3826,"src":"2729:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2709:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3855,"name":"string","nodeType":"ElementaryTypeName","src":"2709:6:9","typeDescriptions":{}}},"id":3857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2716:6:9","memberName":"concat","nodeType":"MemberAccess","src":"2709:13:9","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":3860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2709:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3814,"id":3861,"nodeType":"Return","src":"2702:37:9"}]}},{"expression":{"arguments":[{"id":3866,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3809,"src":"2782:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3864,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2767:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorageUpgradeable_$3898_$","typeString":"type(contract super ERC721URIStorageUpgradeable)"}},"id":3865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2773:8:9","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":2274,"src":"2767:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":3867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2767:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3814,"id":3868,"nodeType":"Return","src":"2760:30:9"}]},"documentation":{"id":3807,"nodeType":"StructuredDocumentation","src":"2067:55:9","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","id":3870,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"2136:8:9","nodeType":"FunctionDefinition","overrides":{"id":3811,"nodeType":"OverrideSpecifier","overrides":[],"src":"2182:8:9"},"parameters":{"id":3810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3809,"mutability":"mutable","name":"tokenId","nameLocation":"2153:7:9","nodeType":"VariableDeclaration","scope":3870,"src":"2145:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3808,"name":"uint256","nodeType":"ElementaryTypeName","src":"2145:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2144:17:9"},"returnParameters":{"id":3814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3870,"src":"2200:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3812,"name":"string","nodeType":"ElementaryTypeName","src":"2200:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2199:15:9"},"scope":3898,"src":"2127:670:9","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":3896,"nodeType":"Block","src":"2997:163:9","statements":[{"assignments":[3880],"declarations":[{"constant":false,"id":3880,"mutability":"mutable","name":"$","nameLocation":"3039:1:9","nodeType":"VariableDeclaration","scope":3896,"src":"3007:33:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage"},"typeName":{"id":3879,"nodeType":"UserDefinedTypeName","pathNode":{"id":3878,"name":"ERC721URIStorageStorage","nameLocations":["3007:23:9"],"nodeType":"IdentifierPath","referencedDeclaration":3762,"src":"3007:23:9"},"referencedDeclaration":3762,"src":"3007:23:9","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage"}},"visibility":"internal"}],"id":3883,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":3881,"name":"_getERC721URIStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3773,"src":"3043:27:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ERC721URIStorageStorage_$3762_storage_ptr_$","typeString":"function () pure returns (struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage storage pointer)"}},"id":3882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3043:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3007:65:9"},{"expression":{"id":3890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":3884,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3880,"src":"3082:1:9","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721URIStorageStorage_$3762_storage_ptr","typeString":"struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage storage pointer"}},"id":3887,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3084:10:9","memberName":"_tokenURIs","nodeType":"MemberAccess","referencedDeclaration":3761,"src":"3082:12:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3888,"indexExpression":{"id":3886,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3873,"src":"3095:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3082:21:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3889,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3875,"src":"3106:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3082:33:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3891,"nodeType":"ExpressionStatement","src":"3082:33:9"},{"eventCall":{"arguments":[{"id":3893,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3873,"src":"3145:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3892,"name":"MetadataUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4518,"src":"3130:14:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":3894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3130:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3895,"nodeType":"EmitStatement","src":"3125:28:9"}]},"documentation":{"id":3871,"nodeType":"StructuredDocumentation","src":"2803:108:9","text":" @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n Emits {MetadataUpdate}."},"id":3897,"implemented":true,"kind":"function","modifiers":[],"name":"_setTokenURI","nameLocation":"2925:12:9","nodeType":"FunctionDefinition","parameters":{"id":3876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3873,"mutability":"mutable","name":"tokenId","nameLocation":"2946:7:9","nodeType":"VariableDeclaration","scope":3897,"src":"2938:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3872,"name":"uint256","nodeType":"ElementaryTypeName","src":"2938:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3875,"mutability":"mutable","name":"_tokenURI","nameLocation":"2969:9:9","nodeType":"VariableDeclaration","scope":3897,"src":"2955:23:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3874,"name":"string","nodeType":"ElementaryTypeName","src":"2955:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2937:42:9"},"returnParameters":{"id":3877,"nodeType":"ParameterList","parameters":[],"src":"2997:0:9"},"scope":3898,"src":"2916:244:9","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":3899,"src":"577:2585:9","usedErrors":[1495,1498,4614,4619,4628,4633,4638,4645,4650,4655],"usedEvents":[1503,4518,4525,5152,5161,5170]}],"src":"128:3035:9"},"id":9},"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol","exportedSymbols":{"ERC721HolderUpgradeable":[3941],"IERC721Receiver":[5271],"Initializable":[1732]},"id":3942,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3900,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"119:24:10"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","id":3902,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3942,"sourceUnit":5272,"src":"145:89:10","symbolAliases":[{"foreign":{"id":3901,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5271,"src":"153:15:10","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../../../proxy/utils/Initializable.sol","id":3904,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3942,"sourceUnit":1733,"src":"235:69:10","symbolAliases":[{"foreign":{"id":3903,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"243:13:10","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":3906,"name":"Initializable","nameLocations":["590:13:10"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"590:13:10"},"id":3907,"nodeType":"InheritanceSpecifier","src":"590:13:10"},{"baseName":{"id":3908,"name":"IERC721Receiver","nameLocations":["605:15:10"],"nodeType":"IdentifierPath","referencedDeclaration":5271,"src":"605:15:10"},"id":3909,"nodeType":"InheritanceSpecifier","src":"605:15:10"}],"canonicalName":"ERC721HolderUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":3905,"nodeType":"StructuredDocumentation","src":"306:238:10","text":" @dev Implementation of the {IERC721Receiver} interface.\n Accepts all token transfers.\n Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or\n {IERC721-setApprovalForAll}."},"fullyImplemented":true,"id":3941,"linearizedBaseContracts":[3941,5271,1732],"name":"ERC721HolderUpgradeable","nameLocation":"563:23:10","nodeType":"ContractDefinition","nodes":[{"body":{"id":3914,"nodeType":"Block","src":"684:7:10","statements":[]},"id":3915,"implemented":true,"kind":"function","modifiers":[{"id":3912,"kind":"modifierInvocation","modifierName":{"id":3911,"name":"onlyInitializing","nameLocations":["667:16:10"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"667:16:10"},"nodeType":"ModifierInvocation","src":"667:16:10"}],"name":"__ERC721Holder_init","nameLocation":"636:19:10","nodeType":"FunctionDefinition","parameters":{"id":3910,"nodeType":"ParameterList","parameters":[],"src":"655:2:10"},"returnParameters":{"id":3913,"nodeType":"ParameterList","parameters":[],"src":"684:0:10"},"scope":3941,"src":"627:64:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3920,"nodeType":"Block","src":"764:7:10","statements":[]},"id":3921,"implemented":true,"kind":"function","modifiers":[{"id":3918,"kind":"modifierInvocation","modifierName":{"id":3917,"name":"onlyInitializing","nameLocations":["747:16:10"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"747:16:10"},"nodeType":"ModifierInvocation","src":"747:16:10"}],"name":"__ERC721Holder_init_unchained","nameLocation":"706:29:10","nodeType":"FunctionDefinition","parameters":{"id":3916,"nodeType":"ParameterList","parameters":[],"src":"735:2:10"},"returnParameters":{"id":3919,"nodeType":"ParameterList","parameters":[],"src":"764:0:10"},"scope":3941,"src":"697:74:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[5270],"body":{"id":3939,"nodeType":"Block","src":"1017:54:10","statements":[{"expression":{"expression":{"expression":{"id":3935,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1034:4:10","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721HolderUpgradeable_$3941","typeString":"contract ERC721HolderUpgradeable"}},"id":3936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1039:16:10","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":3940,"src":"1034:21:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":3937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1056:8:10","memberName":"selector","nodeType":"MemberAccess","src":"1034:30:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":3934,"id":3938,"nodeType":"Return","src":"1027:37:10"}]},"documentation":{"id":3922,"nodeType":"StructuredDocumentation","src":"776:137:10","text":" @dev See {IERC721Receiver-onERC721Received}.\n Always returns `IERC721Receiver.onERC721Received.selector`."},"functionSelector":"150b7a02","id":3940,"implemented":true,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"927:16:10","nodeType":"FunctionDefinition","parameters":{"id":3931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3924,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3940,"src":"944:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3923,"name":"address","nodeType":"ElementaryTypeName","src":"944:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3940,"src":"953:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3925,"name":"address","nodeType":"ElementaryTypeName","src":"953:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3940,"src":"962:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3927,"name":"uint256","nodeType":"ElementaryTypeName","src":"962:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3930,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3940,"src":"971:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3929,"name":"bytes","nodeType":"ElementaryTypeName","src":"971:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"943:41:10"},"returnParameters":{"id":3934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3940,"src":"1009:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":3932,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1009:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1008:8:10"},"scope":3941,"src":"918:153:10","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":3942,"src":"545:528:10","usedErrors":[1495,1498],"usedEvents":[1503]}],"src":"119:955:10"},"id":10},"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","exportedSymbols":{"ContextUpgradeable":[3987],"Initializable":[1732]},"id":3988,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3943,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"101:24:11"},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../proxy/utils/Initializable.sol","id":3945,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3988,"sourceUnit":1733,"src":"126:63:11","symbolAliases":[{"foreign":{"id":3944,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"134:13:11","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":3947,"name":"Initializable","nameLocations":["728:13:11"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"728:13:11"},"id":3948,"nodeType":"InheritanceSpecifier","src":"728:13:11"}],"canonicalName":"ContextUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":3946,"nodeType":"StructuredDocumentation","src":"191:496:11","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"id":3987,"linearizedBaseContracts":[3987,1732],"name":"ContextUpgradeable","nameLocation":"706:18:11","nodeType":"ContractDefinition","nodes":[{"body":{"id":3953,"nodeType":"Block","src":"800:7:11","statements":[]},"id":3954,"implemented":true,"kind":"function","modifiers":[{"id":3951,"kind":"modifierInvocation","modifierName":{"id":3950,"name":"onlyInitializing","nameLocations":["783:16:11"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"783:16:11"},"nodeType":"ModifierInvocation","src":"783:16:11"}],"name":"__Context_init","nameLocation":"757:14:11","nodeType":"FunctionDefinition","parameters":{"id":3949,"nodeType":"ParameterList","parameters":[],"src":"771:2:11"},"returnParameters":{"id":3952,"nodeType":"ParameterList","parameters":[],"src":"800:0:11"},"scope":3987,"src":"748:59:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3959,"nodeType":"Block","src":"875:7:11","statements":[]},"id":3960,"implemented":true,"kind":"function","modifiers":[{"id":3957,"kind":"modifierInvocation","modifierName":{"id":3956,"name":"onlyInitializing","nameLocations":["858:16:11"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"858:16:11"},"nodeType":"ModifierInvocation","src":"858:16:11"}],"name":"__Context_init_unchained","nameLocation":"822:24:11","nodeType":"FunctionDefinition","parameters":{"id":3955,"nodeType":"ParameterList","parameters":[],"src":"846:2:11"},"returnParameters":{"id":3958,"nodeType":"ParameterList","parameters":[],"src":"875:0:11"},"scope":3987,"src":"813:69:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3968,"nodeType":"Block","src":"949:34:11","statements":[{"expression":{"expression":{"id":3965,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"966:3:11","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"970:6:11","memberName":"sender","nodeType":"MemberAccess","src":"966:10:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":3964,"id":3967,"nodeType":"Return","src":"959:17:11"}]},"id":3969,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"896:10:11","nodeType":"FunctionDefinition","parameters":{"id":3961,"nodeType":"ParameterList","parameters":[],"src":"906:2:11"},"returnParameters":{"id":3964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3963,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3969,"src":"940:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3962,"name":"address","nodeType":"ElementaryTypeName","src":"940:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"939:9:11"},"scope":3987,"src":"887:96:11","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":3977,"nodeType":"Block","src":"1056:32:11","statements":[{"expression":{"expression":{"id":3974,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1073:3:11","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1077:4:11","memberName":"data","nodeType":"MemberAccess","src":"1073:8:11","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":3973,"id":3976,"nodeType":"Return","src":"1066:15:11"}]},"id":3978,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"998:8:11","nodeType":"FunctionDefinition","parameters":{"id":3970,"nodeType":"ParameterList","parameters":[],"src":"1006:2:11"},"returnParameters":{"id":3973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3972,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3978,"src":"1040:14:11","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":3971,"name":"bytes","nodeType":"ElementaryTypeName","src":"1040:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1039:16:11"},"scope":3987,"src":"989:99:11","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":3985,"nodeType":"Block","src":"1166:25:11","statements":[{"expression":{"hexValue":"30","id":3983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1183:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":3982,"id":3984,"nodeType":"Return","src":"1176:8:11"}]},"id":3986,"implemented":true,"kind":"function","modifiers":[],"name":"_contextSuffixLength","nameLocation":"1103:20:11","nodeType":"FunctionDefinition","parameters":{"id":3979,"nodeType":"ParameterList","parameters":[],"src":"1123:2:11"},"returnParameters":{"id":3982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3981,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3986,"src":"1157:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3980,"name":"uint256","nodeType":"ElementaryTypeName","src":"1157:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1156:9:11"},"scope":3987,"src":"1094:97:11","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":3988,"src":"688:505:11","usedErrors":[1495,1498],"usedEvents":[1503]}],"src":"101:1093:11"},"id":11},"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","exportedSymbols":{"ContextUpgradeable":[3987],"Initializable":[1732],"PausableUpgradeable":[4163]},"id":4164,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3989,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"102:24:12"},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","file":"../utils/ContextUpgradeable.sol","id":3991,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4164,"sourceUnit":3988,"src":"128:67:12","symbolAliases":[{"foreign":{"id":3990,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"136:18:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../proxy/utils/Initializable.sol","id":3993,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4164,"sourceUnit":1733,"src":"196:63:12","symbolAliases":[{"foreign":{"id":3992,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"204:13:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":3995,"name":"Initializable","nameLocations":["742:13:12"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"742:13:12"},"id":3996,"nodeType":"InheritanceSpecifier","src":"742:13:12"},{"baseName":{"id":3997,"name":"ContextUpgradeable","nameLocations":["757:18:12"],"nodeType":"IdentifierPath","referencedDeclaration":3987,"src":"757:18:12"},"id":3998,"nodeType":"InheritanceSpecifier","src":"757:18:12"}],"canonicalName":"PausableUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":3994,"nodeType":"StructuredDocumentation","src":"261:439:12","text":" @dev Contract module which allows children to implement an emergency stop\n mechanism that can be triggered by an authorized account.\n This module is used through inheritance. It will make available the\n modifiers `whenNotPaused` and `whenPaused`, which can be applied to\n the functions of your contract. Note that they will not be pausable by\n simply including this module, only once the modifiers are put in place."},"fullyImplemented":true,"id":4163,"linearizedBaseContracts":[4163,3987,1732],"name":"PausableUpgradeable","nameLocation":"719:19:12","nodeType":"ContractDefinition","nodes":[{"canonicalName":"PausableUpgradeable.PausableStorage","documentation":{"id":3999,"nodeType":"StructuredDocumentation","src":"782:66:12","text":"@custom:storage-location erc7201:openzeppelin.storage.Pausable"},"id":4002,"members":[{"constant":false,"id":4001,"mutability":"mutable","name":"_paused","nameLocation":"891:7:12","nodeType":"VariableDeclaration","scope":4002,"src":"886:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4000,"name":"bool","nodeType":"ElementaryTypeName","src":"886:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"PausableStorage","nameLocation":"860:15:12","nodeType":"StructDefinition","scope":4163,"src":"853:52:12","visibility":"public"},{"constant":true,"id":4005,"mutability":"constant","name":"PausableStorageLocation","nameLocation":"1048:23:12","nodeType":"VariableDeclaration","scope":4163,"src":"1023:117:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1023:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307863643565643135633665313837653737653961656538383138346332316634663231383261623538323763623362376530376662656463643633663033333030","id":4004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1074:66:12","typeDescriptions":{"typeIdentifier":"t_rational_92891662540554778686986514950364265630913525426840345632122912437671245656832_by_1","typeString":"int_const 9289...(69 digits omitted)...6832"},"value":"0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300"},"visibility":"private"},{"body":{"id":4012,"nodeType":"Block","src":"1227:82:12","statements":[{"AST":{"nodeType":"YulBlock","src":"1246:57:12","statements":[{"nodeType":"YulAssignment","src":"1260:33:12","value":{"name":"PausableStorageLocation","nodeType":"YulIdentifier","src":"1270:23:12"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"1260:6:12"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":4009,"isOffset":false,"isSlot":true,"src":"1260:6:12","suffix":"slot","valueSize":1},{"declaration":4005,"isOffset":false,"isSlot":false,"src":"1270:23:12","valueSize":1}],"id":4011,"nodeType":"InlineAssembly","src":"1237:66:12"}]},"id":4013,"implemented":true,"kind":"function","modifiers":[],"name":"_getPausableStorage","nameLocation":"1156:19:12","nodeType":"FunctionDefinition","parameters":{"id":4006,"nodeType":"ParameterList","parameters":[],"src":"1175:2:12"},"returnParameters":{"id":4010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4009,"mutability":"mutable","name":"$","nameLocation":"1224:1:12","nodeType":"VariableDeclaration","scope":4013,"src":"1200:25:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"},"typeName":{"id":4008,"nodeType":"UserDefinedTypeName","pathNode":{"id":4007,"name":"PausableStorage","nameLocations":["1200:15:12"],"nodeType":"IdentifierPath","referencedDeclaration":4002,"src":"1200:15:12"},"referencedDeclaration":4002,"src":"1200:15:12","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"}},"visibility":"internal"}],"src":"1199:27:12"},"scope":4163,"src":"1147:162:12","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"documentation":{"id":4014,"nodeType":"StructuredDocumentation","src":"1315:73:12","text":" @dev Emitted when the pause is triggered by `account`."},"eventSelector":"62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258","id":4018,"name":"Paused","nameLocation":"1399:6:12","nodeType":"EventDefinition","parameters":{"id":4017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4016,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"1414:7:12","nodeType":"VariableDeclaration","scope":4018,"src":"1406:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4015,"name":"address","nodeType":"ElementaryTypeName","src":"1406:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1405:17:12"},"src":"1393:30:12"},{"anonymous":false,"documentation":{"id":4019,"nodeType":"StructuredDocumentation","src":"1429:70:12","text":" @dev Emitted when the pause is lifted by `account`."},"eventSelector":"5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa","id":4023,"name":"Unpaused","nameLocation":"1510:8:12","nodeType":"EventDefinition","parameters":{"id":4022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4021,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"1527:7:12","nodeType":"VariableDeclaration","scope":4023,"src":"1519:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4020,"name":"address","nodeType":"ElementaryTypeName","src":"1519:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1518:17:12"},"src":"1504:32:12"},{"documentation":{"id":4024,"nodeType":"StructuredDocumentation","src":"1542:76:12","text":" @dev The operation failed because the contract is paused."},"errorSelector":"d93c0665","id":4026,"name":"EnforcedPause","nameLocation":"1629:13:12","nodeType":"ErrorDefinition","parameters":{"id":4025,"nodeType":"ParameterList","parameters":[],"src":"1642:2:12"},"src":"1623:22:12"},{"documentation":{"id":4027,"nodeType":"StructuredDocumentation","src":"1651:80:12","text":" @dev The operation failed because the contract is not paused."},"errorSelector":"8dfc202b","id":4029,"name":"ExpectedPause","nameLocation":"1742:13:12","nodeType":"ErrorDefinition","parameters":{"id":4028,"nodeType":"ParameterList","parameters":[],"src":"1755:2:12"},"src":"1736:22:12"},{"body":{"id":4038,"nodeType":"Block","src":"1889:44:12","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4035,"name":"__Pausable_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4057,"src":"1899:25:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1899:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4037,"nodeType":"ExpressionStatement","src":"1899:27:12"}]},"documentation":{"id":4030,"nodeType":"StructuredDocumentation","src":"1764:67:12","text":" @dev Initializes the contract in unpaused state."},"id":4039,"implemented":true,"kind":"function","modifiers":[{"id":4033,"kind":"modifierInvocation","modifierName":{"id":4032,"name":"onlyInitializing","nameLocations":["1872:16:12"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"1872:16:12"},"nodeType":"ModifierInvocation","src":"1872:16:12"}],"name":"__Pausable_init","nameLocation":"1845:15:12","nodeType":"FunctionDefinition","parameters":{"id":4031,"nodeType":"ParameterList","parameters":[],"src":"1860:2:12"},"returnParameters":{"id":4034,"nodeType":"ParameterList","parameters":[],"src":"1889:0:12"},"scope":4163,"src":"1836:97:12","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":4056,"nodeType":"Block","src":"2002:93:12","statements":[{"assignments":[4046],"declarations":[{"constant":false,"id":4046,"mutability":"mutable","name":"$","nameLocation":"2036:1:12","nodeType":"VariableDeclaration","scope":4056,"src":"2012:25:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"},"typeName":{"id":4045,"nodeType":"UserDefinedTypeName","pathNode":{"id":4044,"name":"PausableStorage","nameLocations":["2012:15:12"],"nodeType":"IdentifierPath","referencedDeclaration":4002,"src":"2012:15:12"},"referencedDeclaration":4002,"src":"2012:15:12","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"}},"visibility":"internal"}],"id":4049,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4047,"name":"_getPausableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4013,"src":"2040:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_PausableStorage_$4002_storage_ptr_$","typeString":"function () pure returns (struct PausableUpgradeable.PausableStorage storage pointer)"}},"id":4048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2040:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2012:49:12"},{"expression":{"id":4054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4050,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4046,"src":"2071:1:12","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage storage pointer"}},"id":4052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2073:7:12","memberName":"_paused","nodeType":"MemberAccess","referencedDeclaration":4001,"src":"2071:9:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":4053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2083:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"2071:17:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4055,"nodeType":"ExpressionStatement","src":"2071:17:12"}]},"id":4057,"implemented":true,"kind":"function","modifiers":[{"id":4042,"kind":"modifierInvocation","modifierName":{"id":4041,"name":"onlyInitializing","nameLocations":["1985:16:12"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"1985:16:12"},"nodeType":"ModifierInvocation","src":"1985:16:12"}],"name":"__Pausable_init_unchained","nameLocation":"1948:25:12","nodeType":"FunctionDefinition","parameters":{"id":4040,"nodeType":"ParameterList","parameters":[],"src":"1973:2:12"},"returnParameters":{"id":4043,"nodeType":"ParameterList","parameters":[],"src":"2002:0:12"},"scope":4163,"src":"1939:156:12","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":4064,"nodeType":"Block","src":"2306:47:12","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4060,"name":"_requireNotPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4101,"src":"2316:17:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":4061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2316:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4062,"nodeType":"ExpressionStatement","src":"2316:19:12"},{"id":4063,"nodeType":"PlaceholderStatement","src":"2345:1:12"}]},"documentation":{"id":4058,"nodeType":"StructuredDocumentation","src":"2101:175:12","text":" @dev Modifier to make a function callable only when the contract is not paused.\n Requirements:\n - The contract must not be paused."},"id":4065,"name":"whenNotPaused","nameLocation":"2290:13:12","nodeType":"ModifierDefinition","parameters":{"id":4059,"nodeType":"ParameterList","parameters":[],"src":"2303:2:12"},"src":"2281:72:12","virtual":false,"visibility":"internal"},{"body":{"id":4072,"nodeType":"Block","src":"2553:44:12","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4068,"name":"_requirePaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4114,"src":"2563:14:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":4069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2563:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4070,"nodeType":"ExpressionStatement","src":"2563:16:12"},{"id":4071,"nodeType":"PlaceholderStatement","src":"2589:1:12"}]},"documentation":{"id":4066,"nodeType":"StructuredDocumentation","src":"2359:167:12","text":" @dev Modifier to make a function callable only when the contract is paused.\n Requirements:\n - The contract must be paused."},"id":4073,"name":"whenPaused","nameLocation":"2540:10:12","nodeType":"ModifierDefinition","parameters":{"id":4067,"nodeType":"ParameterList","parameters":[],"src":"2550:2:12"},"src":"2531:66:12","virtual":false,"visibility":"internal"},{"body":{"id":4088,"nodeType":"Block","src":"2745:92:12","statements":[{"assignments":[4081],"declarations":[{"constant":false,"id":4081,"mutability":"mutable","name":"$","nameLocation":"2779:1:12","nodeType":"VariableDeclaration","scope":4088,"src":"2755:25:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"},"typeName":{"id":4080,"nodeType":"UserDefinedTypeName","pathNode":{"id":4079,"name":"PausableStorage","nameLocations":["2755:15:12"],"nodeType":"IdentifierPath","referencedDeclaration":4002,"src":"2755:15:12"},"referencedDeclaration":4002,"src":"2755:15:12","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"}},"visibility":"internal"}],"id":4084,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4082,"name":"_getPausableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4013,"src":"2783:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_PausableStorage_$4002_storage_ptr_$","typeString":"function () pure returns (struct PausableUpgradeable.PausableStorage storage pointer)"}},"id":4083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2783:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2755:49:12"},{"expression":{"expression":{"id":4085,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4081,"src":"2821:1:12","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage storage pointer"}},"id":4086,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2823:7:12","memberName":"_paused","nodeType":"MemberAccess","referencedDeclaration":4001,"src":"2821:9:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4078,"id":4087,"nodeType":"Return","src":"2814:16:12"}]},"documentation":{"id":4074,"nodeType":"StructuredDocumentation","src":"2603:84:12","text":" @dev Returns true if the contract is paused, and false otherwise."},"functionSelector":"5c975abb","id":4089,"implemented":true,"kind":"function","modifiers":[],"name":"paused","nameLocation":"2701:6:12","nodeType":"FunctionDefinition","parameters":{"id":4075,"nodeType":"ParameterList","parameters":[],"src":"2707:2:12"},"returnParameters":{"id":4078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4089,"src":"2739:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4076,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:12"},"scope":4163,"src":"2692:145:12","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":4100,"nodeType":"Block","src":"2956:77:12","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":4093,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4089,"src":"2970:6:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":4094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2970:8:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4099,"nodeType":"IfStatement","src":"2966:61:12","trueBody":{"id":4098,"nodeType":"Block","src":"2980:47:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4095,"name":"EnforcedPause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4026,"src":"3001:13:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3001:15:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4097,"nodeType":"RevertStatement","src":"2994:22:12"}]}}]},"documentation":{"id":4090,"nodeType":"StructuredDocumentation","src":"2843:57:12","text":" @dev Throws if the contract is paused."},"id":4101,"implemented":true,"kind":"function","modifiers":[],"name":"_requireNotPaused","nameLocation":"2914:17:12","nodeType":"FunctionDefinition","parameters":{"id":4091,"nodeType":"ParameterList","parameters":[],"src":"2931:2:12"},"returnParameters":{"id":4092,"nodeType":"ParameterList","parameters":[],"src":"2956:0:12"},"scope":4163,"src":"2905:128:12","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":4113,"nodeType":"Block","src":"3153:78:12","statements":[{"condition":{"id":4107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3167:9:12","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":4105,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4089,"src":"3168:6:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":4106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3168:8:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4112,"nodeType":"IfStatement","src":"3163:62:12","trueBody":{"id":4111,"nodeType":"Block","src":"3178:47:12","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4108,"name":"ExpectedPause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4029,"src":"3199:13:12","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3199:15:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4110,"nodeType":"RevertStatement","src":"3192:22:12"}]}}]},"documentation":{"id":4102,"nodeType":"StructuredDocumentation","src":"3039:61:12","text":" @dev Throws if the contract is not paused."},"id":4114,"implemented":true,"kind":"function","modifiers":[],"name":"_requirePaused","nameLocation":"3114:14:12","nodeType":"FunctionDefinition","parameters":{"id":4103,"nodeType":"ParameterList","parameters":[],"src":"3128:2:12"},"returnParameters":{"id":4104,"nodeType":"ParameterList","parameters":[],"src":"3153:0:12"},"scope":4163,"src":"3105:126:12","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":4137,"nodeType":"Block","src":"3415:127:12","statements":[{"assignments":[4122],"declarations":[{"constant":false,"id":4122,"mutability":"mutable","name":"$","nameLocation":"3449:1:12","nodeType":"VariableDeclaration","scope":4137,"src":"3425:25:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"},"typeName":{"id":4121,"nodeType":"UserDefinedTypeName","pathNode":{"id":4120,"name":"PausableStorage","nameLocations":["3425:15:12"],"nodeType":"IdentifierPath","referencedDeclaration":4002,"src":"3425:15:12"},"referencedDeclaration":4002,"src":"3425:15:12","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"}},"visibility":"internal"}],"id":4125,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4123,"name":"_getPausableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4013,"src":"3453:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_PausableStorage_$4002_storage_ptr_$","typeString":"function () pure returns (struct PausableUpgradeable.PausableStorage storage pointer)"}},"id":4124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3453:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3425:49:12"},{"expression":{"id":4130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4126,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4122,"src":"3484:1:12","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage storage pointer"}},"id":4128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3486:7:12","memberName":"_paused","nodeType":"MemberAccess","referencedDeclaration":4001,"src":"3484:9:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":4129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3496:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3484:16:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4131,"nodeType":"ExpressionStatement","src":"3484:16:12"},{"eventCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":4133,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"3522:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":4134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3522:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4132,"name":"Paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4018,"src":"3515:6:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3515:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4136,"nodeType":"EmitStatement","src":"3510:25:12"}]},"documentation":{"id":4115,"nodeType":"StructuredDocumentation","src":"3237:124:12","text":" @dev Triggers stopped state.\n Requirements:\n - The contract must not be paused."},"id":4138,"implemented":true,"kind":"function","modifiers":[{"id":4118,"kind":"modifierInvocation","modifierName":{"id":4117,"name":"whenNotPaused","nameLocations":["3401:13:12"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"3401:13:12"},"nodeType":"ModifierInvocation","src":"3401:13:12"}],"name":"_pause","nameLocation":"3375:6:12","nodeType":"FunctionDefinition","parameters":{"id":4116,"nodeType":"ParameterList","parameters":[],"src":"3381:2:12"},"returnParameters":{"id":4119,"nodeType":"ParameterList","parameters":[],"src":"3415:0:12"},"scope":4163,"src":"3366:176:12","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":4161,"nodeType":"Block","src":"3722:130:12","statements":[{"assignments":[4146],"declarations":[{"constant":false,"id":4146,"mutability":"mutable","name":"$","nameLocation":"3756:1:12","nodeType":"VariableDeclaration","scope":4161,"src":"3732:25:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"},"typeName":{"id":4145,"nodeType":"UserDefinedTypeName","pathNode":{"id":4144,"name":"PausableStorage","nameLocations":["3732:15:12"],"nodeType":"IdentifierPath","referencedDeclaration":4002,"src":"3732:15:12"},"referencedDeclaration":4002,"src":"3732:15:12","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage"}},"visibility":"internal"}],"id":4149,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4147,"name":"_getPausableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4013,"src":"3760:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_PausableStorage_$4002_storage_ptr_$","typeString":"function () pure returns (struct PausableUpgradeable.PausableStorage storage pointer)"}},"id":4148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3760:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3732:49:12"},{"expression":{"id":4154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4150,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4146,"src":"3791:1:12","typeDescriptions":{"typeIdentifier":"t_struct$_PausableStorage_$4002_storage_ptr","typeString":"struct PausableUpgradeable.PausableStorage storage pointer"}},"id":4152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3793:7:12","memberName":"_paused","nodeType":"MemberAccess","referencedDeclaration":4001,"src":"3791:9:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":4153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3803:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"3791:17:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4155,"nodeType":"ExpressionStatement","src":"3791:17:12"},{"eventCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":4157,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"3832:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":4158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3832:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4156,"name":"Unpaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4023,"src":"3823:8:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3823:22:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4160,"nodeType":"EmitStatement","src":"3818:27:12"}]},"documentation":{"id":4139,"nodeType":"StructuredDocumentation","src":"3548:121:12","text":" @dev Returns to normal state.\n Requirements:\n - The contract must be paused."},"id":4162,"implemented":true,"kind":"function","modifiers":[{"id":4142,"kind":"modifierInvocation","modifierName":{"id":4141,"name":"whenPaused","nameLocations":["3711:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":4073,"src":"3711:10:12"},"nodeType":"ModifierInvocation","src":"3711:10:12"}],"name":"_unpause","nameLocation":"3683:8:12","nodeType":"FunctionDefinition","parameters":{"id":4140,"nodeType":"ParameterList","parameters":[],"src":"3691:2:12"},"returnParameters":{"id":4143,"nodeType":"ParameterList","parameters":[],"src":"3722:0:12"},"scope":4163,"src":"3674:178:12","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":4164,"src":"701:3153:12","usedErrors":[1495,1498,4026,4029],"usedEvents":[1503,4018,4023]}],"src":"102:3753:12"},"id":12},"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","exportedSymbols":{"Initializable":[1732],"ReentrancyGuardUpgradeable":[4292]},"id":4293,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4165,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"109:24:13"},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../proxy/utils/Initializable.sol","id":4167,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4293,"sourceUnit":1733,"src":"134:63:13","symbolAliases":[{"foreign":{"id":4166,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"142:13:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":4169,"name":"Initializable","nameLocations":["998:13:13"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"998:13:13"},"id":4170,"nodeType":"InheritanceSpecifier","src":"998:13:13"}],"canonicalName":"ReentrancyGuardUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":4168,"nodeType":"StructuredDocumentation","src":"199:750:13","text":" @dev Contract module that helps prevent reentrant calls to a function.\n Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n available, which can be applied to functions to make sure there are no nested\n (reentrant) calls to them.\n Note that because there is a single `nonReentrant` guard, functions marked as\n `nonReentrant` may not call one another. This can be worked around by making\n those functions `private`, and then adding `external` `nonReentrant` entry\n points to them.\n TIP: If you would like to learn more about reentrancy and alternative ways\n to protect against it, check out our blog post\n https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]."},"fullyImplemented":true,"id":4292,"linearizedBaseContracts":[4292,1732],"name":"ReentrancyGuardUpgradeable","nameLocation":"968:26:13","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":4173,"mutability":"constant","name":"NOT_ENTERED","nameLocation":"1791:11:13","nodeType":"VariableDeclaration","scope":4292,"src":"1766:40:13","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4171,"name":"uint256","nodeType":"ElementaryTypeName","src":"1766:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":4172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1805:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"constant":true,"id":4176,"mutability":"constant","name":"ENTERED","nameLocation":"1837:7:13","nodeType":"VariableDeclaration","scope":4292,"src":"1812:36:13","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4174,"name":"uint256","nodeType":"ElementaryTypeName","src":"1812:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":4175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1847:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"canonicalName":"ReentrancyGuardUpgradeable.ReentrancyGuardStorage","documentation":{"id":4177,"nodeType":"StructuredDocumentation","src":"1855:73:13","text":"@custom:storage-location erc7201:openzeppelin.storage.ReentrancyGuard"},"id":4180,"members":[{"constant":false,"id":4179,"mutability":"mutable","name":"_status","nameLocation":"1981:7:13","nodeType":"VariableDeclaration","scope":4180,"src":"1973:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4178,"name":"uint256","nodeType":"ElementaryTypeName","src":"1973:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ReentrancyGuardStorage","nameLocation":"1940:22:13","nodeType":"StructDefinition","scope":4292,"src":"1933:62:13","visibility":"public"},{"constant":true,"id":4183,"mutability":"constant","name":"ReentrancyGuardStorageLocation","nameLocation":"2145:30:13","nodeType":"VariableDeclaration","scope":4292,"src":"2120:124:13","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2120:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307839623737396231373432326430646639323232333031386233326234643166613436653037313732336436383137653234383664303033626563633535663030","id":4182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2178:66:13","typeDescriptions":{"typeIdentifier":"t_rational_70319816728846589445362000750570655803700195216363692647688146666176345628416_by_1","typeString":"int_const 7031...(69 digits omitted)...8416"},"value":"0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00"},"visibility":"private"},{"body":{"id":4190,"nodeType":"Block","src":"2345:89:13","statements":[{"AST":{"nodeType":"YulBlock","src":"2364:64:13","statements":[{"nodeType":"YulAssignment","src":"2378:40:13","value":{"name":"ReentrancyGuardStorageLocation","nodeType":"YulIdentifier","src":"2388:30:13"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2378:6:13"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":4187,"isOffset":false,"isSlot":true,"src":"2378:6:13","suffix":"slot","valueSize":1},{"declaration":4183,"isOffset":false,"isSlot":false,"src":"2388:30:13","valueSize":1}],"id":4189,"nodeType":"InlineAssembly","src":"2355:73:13"}]},"id":4191,"implemented":true,"kind":"function","modifiers":[],"name":"_getReentrancyGuardStorage","nameLocation":"2260:26:13","nodeType":"FunctionDefinition","parameters":{"id":4184,"nodeType":"ParameterList","parameters":[],"src":"2286:2:13"},"returnParameters":{"id":4188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4187,"mutability":"mutable","name":"$","nameLocation":"2342:1:13","nodeType":"VariableDeclaration","scope":4191,"src":"2311:32:13","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":4186,"nodeType":"UserDefinedTypeName","pathNode":{"id":4185,"name":"ReentrancyGuardStorage","nameLocations":["2311:22:13"],"nodeType":"IdentifierPath","referencedDeclaration":4180,"src":"2311:22:13"},"referencedDeclaration":4180,"src":"2311:22:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"src":"2310:34:13"},"scope":4292,"src":"2251:183:13","stateMutability":"pure","virtual":false,"visibility":"private"},{"documentation":{"id":4192,"nodeType":"StructuredDocumentation","src":"2440:52:13","text":" @dev Unauthorized reentrant call."},"errorSelector":"3ee5aeb5","id":4194,"name":"ReentrancyGuardReentrantCall","nameLocation":"2503:28:13","nodeType":"ErrorDefinition","parameters":{"id":4193,"nodeType":"ParameterList","parameters":[],"src":"2531:2:13"},"src":"2497:37:13"},{"body":{"id":4202,"nodeType":"Block","src":"2600:51:13","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4199,"name":"__ReentrancyGuard_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4221,"src":"2610:32:13","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2610:34:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4201,"nodeType":"ExpressionStatement","src":"2610:34:13"}]},"id":4203,"implemented":true,"kind":"function","modifiers":[{"id":4197,"kind":"modifierInvocation","modifierName":{"id":4196,"name":"onlyInitializing","nameLocations":["2583:16:13"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2583:16:13"},"nodeType":"ModifierInvocation","src":"2583:16:13"}],"name":"__ReentrancyGuard_init","nameLocation":"2549:22:13","nodeType":"FunctionDefinition","parameters":{"id":4195,"nodeType":"ParameterList","parameters":[],"src":"2571:2:13"},"returnParameters":{"id":4198,"nodeType":"ParameterList","parameters":[],"src":"2600:0:13"},"scope":4292,"src":"2540:111:13","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":4220,"nodeType":"Block","src":"2727:113:13","statements":[{"assignments":[4210],"declarations":[{"constant":false,"id":4210,"mutability":"mutable","name":"$","nameLocation":"2768:1:13","nodeType":"VariableDeclaration","scope":4220,"src":"2737:32:13","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":4209,"nodeType":"UserDefinedTypeName","pathNode":{"id":4208,"name":"ReentrancyGuardStorage","nameLocations":["2737:22:13"],"nodeType":"IdentifierPath","referencedDeclaration":4180,"src":"2737:22:13"},"referencedDeclaration":4180,"src":"2737:22:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"id":4213,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4211,"name":"_getReentrancyGuardStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4191,"src":"2772:26:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ReentrancyGuardStorage_$4180_storage_ptr_$","typeString":"function () pure returns (struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer)"}},"id":4212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2772:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2737:63:13"},{"expression":{"id":4218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4214,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4210,"src":"2810:1:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":4216,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2812:7:13","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":4179,"src":"2810:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4217,"name":"NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4173,"src":"2822:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2810:23:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4219,"nodeType":"ExpressionStatement","src":"2810:23:13"}]},"id":4221,"implemented":true,"kind":"function","modifiers":[{"id":4206,"kind":"modifierInvocation","modifierName":{"id":4205,"name":"onlyInitializing","nameLocations":["2710:16:13"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2710:16:13"},"nodeType":"ModifierInvocation","src":"2710:16:13"}],"name":"__ReentrancyGuard_init_unchained","nameLocation":"2666:32:13","nodeType":"FunctionDefinition","parameters":{"id":4204,"nodeType":"ParameterList","parameters":[],"src":"2698:2:13"},"returnParameters":{"id":4207,"nodeType":"ParameterList","parameters":[],"src":"2727:0:13"},"scope":4292,"src":"2657:183:13","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":4231,"nodeType":"Block","src":"3241:79:13","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4224,"name":"_nonReentrantBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4257,"src":"3251:19:13","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3251:21:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4226,"nodeType":"ExpressionStatement","src":"3251:21:13"},{"id":4227,"nodeType":"PlaceholderStatement","src":"3282:1:13"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4228,"name":"_nonReentrantAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4273,"src":"3293:18:13","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3293:20:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4230,"nodeType":"ExpressionStatement","src":"3293:20:13"}]},"documentation":{"id":4222,"nodeType":"StructuredDocumentation","src":"2846:366:13","text":" @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant`\n function is not supported. It is possible to prevent this from happening\n by making the `nonReentrant` function external, and making it call a\n `private` function that does the actual work."},"id":4232,"name":"nonReentrant","nameLocation":"3226:12:13","nodeType":"ModifierDefinition","parameters":{"id":4223,"nodeType":"ParameterList","parameters":[],"src":"3238:2:13"},"src":"3217:103:13","virtual":false,"visibility":"internal"},{"body":{"id":4256,"nodeType":"Block","src":"3365:345:13","statements":[{"assignments":[4237],"declarations":[{"constant":false,"id":4237,"mutability":"mutable","name":"$","nameLocation":"3406:1:13","nodeType":"VariableDeclaration","scope":4256,"src":"3375:32:13","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":4236,"nodeType":"UserDefinedTypeName","pathNode":{"id":4235,"name":"ReentrancyGuardStorage","nameLocations":["3375:22:13"],"nodeType":"IdentifierPath","referencedDeclaration":4180,"src":"3375:22:13"},"referencedDeclaration":4180,"src":"3375:22:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"id":4240,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4238,"name":"_getReentrancyGuardStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4191,"src":"3410:26:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ReentrancyGuardStorage_$4180_storage_ptr_$","typeString":"function () pure returns (struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer)"}},"id":4239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3410:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3375:63:13"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4241,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4237,"src":"3526:1:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":4242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3528:7:13","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":4179,"src":"3526:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":4243,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4176,"src":"3539:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3526:20:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4249,"nodeType":"IfStatement","src":"3522:88:13","trueBody":{"id":4248,"nodeType":"Block","src":"3548:62:13","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4245,"name":"ReentrancyGuardReentrantCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4194,"src":"3569:28:13","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3569:30:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4247,"nodeType":"RevertStatement","src":"3562:37:13"}]}},{"expression":{"id":4254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4250,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4237,"src":"3684:1:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":4252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3686:7:13","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":4179,"src":"3684:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4253,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4176,"src":"3696:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3684:19:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4255,"nodeType":"ExpressionStatement","src":"3684:19:13"}]},"id":4257,"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantBefore","nameLocation":"3335:19:13","nodeType":"FunctionDefinition","parameters":{"id":4233,"nodeType":"ParameterList","parameters":[],"src":"3354:2:13"},"returnParameters":{"id":4234,"nodeType":"ParameterList","parameters":[],"src":"3365:0:13"},"scope":4292,"src":"3326:384:13","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":4272,"nodeType":"Block","src":"3754:245:13","statements":[{"assignments":[4262],"declarations":[{"constant":false,"id":4262,"mutability":"mutable","name":"$","nameLocation":"3795:1:13","nodeType":"VariableDeclaration","scope":4272,"src":"3764:32:13","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":4261,"nodeType":"UserDefinedTypeName","pathNode":{"id":4260,"name":"ReentrancyGuardStorage","nameLocations":["3764:22:13"],"nodeType":"IdentifierPath","referencedDeclaration":4180,"src":"3764:22:13"},"referencedDeclaration":4180,"src":"3764:22:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"id":4265,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4263,"name":"_getReentrancyGuardStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4191,"src":"3799:26:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ReentrancyGuardStorage_$4180_storage_ptr_$","typeString":"function () pure returns (struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer)"}},"id":4264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3799:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3764:63:13"},{"expression":{"id":4270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4266,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4262,"src":"3969:1:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":4268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3971:7:13","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":4179,"src":"3969:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4269,"name":"NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4173,"src":"3981:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3969:23:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4271,"nodeType":"ExpressionStatement","src":"3969:23:13"}]},"id":4273,"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantAfter","nameLocation":"3725:18:13","nodeType":"FunctionDefinition","parameters":{"id":4258,"nodeType":"ParameterList","parameters":[],"src":"3743:2:13"},"returnParameters":{"id":4259,"nodeType":"ParameterList","parameters":[],"src":"3754:0:13"},"scope":4292,"src":"3716:283:13","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":4290,"nodeType":"Block","src":"4242:117:13","statements":[{"assignments":[4281],"declarations":[{"constant":false,"id":4281,"mutability":"mutable","name":"$","nameLocation":"4283:1:13","nodeType":"VariableDeclaration","scope":4290,"src":"4252:32:13","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"},"typeName":{"id":4280,"nodeType":"UserDefinedTypeName","pathNode":{"id":4279,"name":"ReentrancyGuardStorage","nameLocations":["4252:22:13"],"nodeType":"IdentifierPath","referencedDeclaration":4180,"src":"4252:22:13"},"referencedDeclaration":4180,"src":"4252:22:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage"}},"visibility":"internal"}],"id":4284,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4282,"name":"_getReentrancyGuardStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4191,"src":"4287:26:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ReentrancyGuardStorage_$4180_storage_ptr_$","typeString":"function () pure returns (struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer)"}},"id":4283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4287:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4252:63:13"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4285,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4281,"src":"4332:1:13","typeDescriptions":{"typeIdentifier":"t_struct$_ReentrancyGuardStorage_$4180_storage_ptr","typeString":"struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage storage pointer"}},"id":4286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4334:7:13","memberName":"_status","nodeType":"MemberAccess","referencedDeclaration":4179,"src":"4332:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":4287,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4176,"src":"4345:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4332:20:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4278,"id":4289,"nodeType":"Return","src":"4325:27:13"}]},"documentation":{"id":4274,"nodeType":"StructuredDocumentation","src":"4005:168:13","text":" @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n `nonReentrant` function in the call stack."},"id":4291,"implemented":true,"kind":"function","modifiers":[],"name":"_reentrancyGuardEntered","nameLocation":"4187:23:13","nodeType":"FunctionDefinition","parameters":{"id":4275,"nodeType":"ParameterList","parameters":[],"src":"4210:2:13"},"returnParameters":{"id":4278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4277,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4291,"src":"4236:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4276,"name":"bool","nodeType":"ElementaryTypeName","src":"4236:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4235:6:13"},"scope":4292,"src":"4178:181:13","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":4293,"src":"950:3411:13","usedErrors":[1495,1498,4194],"usedEvents":[1503]}],"src":"109:4253:13"},"id":13},"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","exportedSymbols":{"ERC165Upgradeable":[4332],"IERC165":[5961],"Initializable":[1732]},"id":4333,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4294,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"114:24:14"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":4296,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4333,"sourceUnit":5962,"src":"140:80:14","symbolAliases":[{"foreign":{"id":4295,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"148:7:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../../proxy/utils/Initializable.sol","id":4298,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4333,"sourceUnit":1733,"src":"221:66:14","symbolAliases":[{"foreign":{"id":4297,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"229:13:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":4300,"name":"Initializable","nameLocations":["807:13:14"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"807:13:14"},"id":4301,"nodeType":"InheritanceSpecifier","src":"807:13:14"},{"baseName":{"id":4302,"name":"IERC165","nameLocations":["822:7:14"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"822:7:14"},"id":4303,"nodeType":"InheritanceSpecifier","src":"822:7:14"}],"canonicalName":"ERC165Upgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":4299,"nodeType":"StructuredDocumentation","src":"289:478:14","text":" @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n     return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```"},"fullyImplemented":true,"id":4332,"linearizedBaseContracts":[4332,5961,1732],"name":"ERC165Upgradeable","nameLocation":"786:17:14","nodeType":"ContractDefinition","nodes":[{"body":{"id":4308,"nodeType":"Block","src":"887:7:14","statements":[]},"id":4309,"implemented":true,"kind":"function","modifiers":[{"id":4306,"kind":"modifierInvocation","modifierName":{"id":4305,"name":"onlyInitializing","nameLocations":["870:16:14"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"870:16:14"},"nodeType":"ModifierInvocation","src":"870:16:14"}],"name":"__ERC165_init","nameLocation":"845:13:14","nodeType":"FunctionDefinition","parameters":{"id":4304,"nodeType":"ParameterList","parameters":[],"src":"858:2:14"},"returnParameters":{"id":4307,"nodeType":"ParameterList","parameters":[],"src":"887:0:14"},"scope":4332,"src":"836:58:14","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":4314,"nodeType":"Block","src":"961:7:14","statements":[]},"id":4315,"implemented":true,"kind":"function","modifiers":[{"id":4312,"kind":"modifierInvocation","modifierName":{"id":4311,"name":"onlyInitializing","nameLocations":["944:16:14"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"944:16:14"},"nodeType":"ModifierInvocation","src":"944:16:14"}],"name":"__ERC165_init_unchained","nameLocation":"909:23:14","nodeType":"FunctionDefinition","parameters":{"id":4310,"nodeType":"ParameterList","parameters":[],"src":"932:2:14"},"returnParameters":{"id":4313,"nodeType":"ParameterList","parameters":[],"src":"961:0:14"},"scope":4332,"src":"900:68:14","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[5960],"body":{"id":4330,"nodeType":"Block","src":"1116:64:14","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":4328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4323,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4318,"src":"1133:11:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":4325,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"1153:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$5961_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$5961_$","typeString":"type(contract IERC165)"}],"id":4324,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1148:4:14","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1148:13:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$5961","typeString":"type(contract IERC165)"}},"id":4327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1162:11:14","memberName":"interfaceId","nodeType":"MemberAccess","src":"1148:25:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1133:40:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4322,"id":4329,"nodeType":"Return","src":"1126:47:14"}]},"documentation":{"id":4316,"nodeType":"StructuredDocumentation","src":"973:56:14","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":4331,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1043:17:14","nodeType":"FunctionDefinition","parameters":{"id":4319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4318,"mutability":"mutable","name":"interfaceId","nameLocation":"1068:11:14","nodeType":"VariableDeclaration","scope":4331,"src":"1061:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4317,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1061:6:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1060:20:14"},"returnParameters":{"id":4322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4331,"src":"1110:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4320,"name":"bool","nodeType":"ElementaryTypeName","src":"1110:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1109:6:14"},"scope":4332,"src":"1034:146:14","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":4333,"src":"768:414:14","usedErrors":[1495,1498],"usedEvents":[1503]}],"src":"114:1069:14"},"id":14},"@openzeppelin/contracts/access/IAccessControl.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/access/IAccessControl.sol","exportedSymbols":{"IAccessControl":[4415]},"id":4416,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4334,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"109:24:15"},{"abstract":false,"baseContracts":[],"canonicalName":"IAccessControl","contractDependencies":[],"contractKind":"interface","documentation":{"id":4335,"nodeType":"StructuredDocumentation","src":"135:89:15","text":" @dev External interface of AccessControl declared to support ERC165 detection."},"fullyImplemented":false,"id":4415,"linearizedBaseContracts":[4415],"name":"IAccessControl","nameLocation":"235:14:15","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":4336,"nodeType":"StructuredDocumentation","src":"256:56:15","text":" @dev The `account` is missing a role."},"errorSelector":"e2517d3f","id":4342,"name":"AccessControlUnauthorizedAccount","nameLocation":"323:32:15","nodeType":"ErrorDefinition","parameters":{"id":4341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4338,"mutability":"mutable","name":"account","nameLocation":"364:7:15","nodeType":"VariableDeclaration","scope":4342,"src":"356:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4337,"name":"address","nodeType":"ElementaryTypeName","src":"356:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4340,"mutability":"mutable","name":"neededRole","nameLocation":"381:10:15","nodeType":"VariableDeclaration","scope":4342,"src":"373:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"355:37:15"},"src":"317:76:15"},{"documentation":{"id":4343,"nodeType":"StructuredDocumentation","src":"399:148:15","text":" @dev The caller of a function is not the expected one.\n NOTE: Don't confuse with {AccessControlUnauthorizedAccount}."},"errorSelector":"6697b232","id":4345,"name":"AccessControlBadConfirmation","nameLocation":"558:28:15","nodeType":"ErrorDefinition","parameters":{"id":4344,"nodeType":"ParameterList","parameters":[],"src":"586:2:15"},"src":"552:37:15"},{"anonymous":false,"documentation":{"id":4346,"nodeType":"StructuredDocumentation","src":"595:254:15","text":" @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this."},"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":4354,"name":"RoleAdminChanged","nameLocation":"860:16:15","nodeType":"EventDefinition","parameters":{"id":4353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4348,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"893:4:15","nodeType":"VariableDeclaration","scope":4354,"src":"877:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"877:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4350,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"915:17:15","nodeType":"VariableDeclaration","scope":4354,"src":"899:33:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"899:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4352,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"950:12:15","nodeType":"VariableDeclaration","scope":4354,"src":"934:28:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"934:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"876:87:15"},"src":"854:110:15"},{"anonymous":false,"documentation":{"id":4355,"nodeType":"StructuredDocumentation","src":"970:212:15","text":" @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {AccessControl-_setupRole}."},"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":4363,"name":"RoleGranted","nameLocation":"1193:11:15","nodeType":"EventDefinition","parameters":{"id":4362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4357,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1221:4:15","nodeType":"VariableDeclaration","scope":4363,"src":"1205:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1205:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4359,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1243:7:15","nodeType":"VariableDeclaration","scope":4363,"src":"1227:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4358,"name":"address","nodeType":"ElementaryTypeName","src":"1227:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4361,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1268:6:15","nodeType":"VariableDeclaration","scope":4363,"src":"1252:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4360,"name":"address","nodeType":"ElementaryTypeName","src":"1252:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1204:71:15"},"src":"1187:89:15"},{"anonymous":false,"documentation":{"id":4364,"nodeType":"StructuredDocumentation","src":"1282:275:15","text":" @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n   - if using `revokeRole`, it is the admin role bearer\n   - if using `renounceRole`, it is the role bearer (i.e. `account`)"},"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":4372,"name":"RoleRevoked","nameLocation":"1568:11:15","nodeType":"EventDefinition","parameters":{"id":4371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4366,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1596:4:15","nodeType":"VariableDeclaration","scope":4372,"src":"1580:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1580:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4368,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1618:7:15","nodeType":"VariableDeclaration","scope":4372,"src":"1602:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4367,"name":"address","nodeType":"ElementaryTypeName","src":"1602:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4370,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1643:6:15","nodeType":"VariableDeclaration","scope":4372,"src":"1627:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4369,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1579:71:15"},"src":"1562:89:15"},{"documentation":{"id":4373,"nodeType":"StructuredDocumentation","src":"1657:76:15","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","id":4382,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"1747:7:15","nodeType":"FunctionDefinition","parameters":{"id":4378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4375,"mutability":"mutable","name":"role","nameLocation":"1763:4:15","nodeType":"VariableDeclaration","scope":4382,"src":"1755:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1755:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4377,"mutability":"mutable","name":"account","nameLocation":"1777:7:15","nodeType":"VariableDeclaration","scope":4382,"src":"1769:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4376,"name":"address","nodeType":"ElementaryTypeName","src":"1769:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1754:31:15"},"returnParameters":{"id":4381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4380,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4382,"src":"1809:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4379,"name":"bool","nodeType":"ElementaryTypeName","src":"1809:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1808:6:15"},"scope":4415,"src":"1738:77:15","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":4383,"nodeType":"StructuredDocumentation","src":"1821:184:15","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {AccessControl-_setRoleAdmin}."},"functionSelector":"248a9ca3","id":4390,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"2019:12:15","nodeType":"FunctionDefinition","parameters":{"id":4386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4385,"mutability":"mutable","name":"role","nameLocation":"2040:4:15","nodeType":"VariableDeclaration","scope":4390,"src":"2032:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2032:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2031:14:15"},"returnParameters":{"id":4389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4390,"src":"2069:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2069:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2068:9:15"},"scope":4415,"src":"2010:68:15","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":4391,"nodeType":"StructuredDocumentation","src":"2084:239:15","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"2f2ff15d","id":4398,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"2337:9:15","nodeType":"FunctionDefinition","parameters":{"id":4396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4393,"mutability":"mutable","name":"role","nameLocation":"2355:4:15","nodeType":"VariableDeclaration","scope":4398,"src":"2347:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2347:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4395,"mutability":"mutable","name":"account","nameLocation":"2369:7:15","nodeType":"VariableDeclaration","scope":4398,"src":"2361:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4394,"name":"address","nodeType":"ElementaryTypeName","src":"2361:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2346:31:15"},"returnParameters":{"id":4397,"nodeType":"ParameterList","parameters":[],"src":"2386:0:15"},"scope":4415,"src":"2328:59:15","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4399,"nodeType":"StructuredDocumentation","src":"2393:223:15","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"d547741f","id":4406,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"2630:10:15","nodeType":"FunctionDefinition","parameters":{"id":4404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4401,"mutability":"mutable","name":"role","nameLocation":"2649:4:15","nodeType":"VariableDeclaration","scope":4406,"src":"2641:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4400,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2641:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4403,"mutability":"mutable","name":"account","nameLocation":"2663:7:15","nodeType":"VariableDeclaration","scope":4406,"src":"2655:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4402,"name":"address","nodeType":"ElementaryTypeName","src":"2655:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2640:31:15"},"returnParameters":{"id":4405,"nodeType":"ParameterList","parameters":[],"src":"2680:0:15"},"scope":4415,"src":"2621:60:15","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4407,"nodeType":"StructuredDocumentation","src":"2687:491:15","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `callerConfirmation`."},"functionSelector":"36568abe","id":4414,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"3192:12:15","nodeType":"FunctionDefinition","parameters":{"id":4412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4409,"mutability":"mutable","name":"role","nameLocation":"3213:4:15","nodeType":"VariableDeclaration","scope":4414,"src":"3205:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3205:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4411,"mutability":"mutable","name":"callerConfirmation","nameLocation":"3227:18:15","nodeType":"VariableDeclaration","scope":4414,"src":"3219:26:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4410,"name":"address","nodeType":"ElementaryTypeName","src":"3219:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3204:42:15"},"returnParameters":{"id":4413,"nodeType":"ParameterList","parameters":[],"src":"3255:0:15"},"scope":4415,"src":"3183:73:15","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":4416,"src":"225:3033:15","usedErrors":[4342,4345],"usedEvents":[4354,4363,4372]}],"src":"109:3150:15"},"id":15},"@openzeppelin/contracts/governance/utils/IVotes.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/governance/utils/IVotes.sol","exportedSymbols":{"IVotes":[4498]},"id":4499,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4417,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"110:24:16"},{"abstract":false,"baseContracts":[],"canonicalName":"IVotes","contractDependencies":[],"contractKind":"interface","documentation":{"id":4418,"nodeType":"StructuredDocumentation","src":"136:102:16","text":" @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts."},"fullyImplemented":false,"id":4498,"linearizedBaseContracts":[4498],"name":"IVotes","nameLocation":"249:6:16","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":4419,"nodeType":"StructuredDocumentation","src":"262:55:16","text":" @dev The signature used has expired."},"errorSelector":"4683af0e","id":4423,"name":"VotesExpiredSignature","nameLocation":"328:21:16","nodeType":"ErrorDefinition","parameters":{"id":4422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4421,"mutability":"mutable","name":"expiry","nameLocation":"358:6:16","nodeType":"VariableDeclaration","scope":4423,"src":"350:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4420,"name":"uint256","nodeType":"ElementaryTypeName","src":"350:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"349:16:16"},"src":"322:44:16"},{"anonymous":false,"documentation":{"id":4424,"nodeType":"StructuredDocumentation","src":"372:71:16","text":" @dev Emitted when an account changes their delegate."},"eventSelector":"3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f","id":4432,"name":"DelegateChanged","nameLocation":"454:15:16","nodeType":"EventDefinition","parameters":{"id":4431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4426,"indexed":true,"mutability":"mutable","name":"delegator","nameLocation":"486:9:16","nodeType":"VariableDeclaration","scope":4432,"src":"470:25:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4425,"name":"address","nodeType":"ElementaryTypeName","src":"470:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4428,"indexed":true,"mutability":"mutable","name":"fromDelegate","nameLocation":"513:12:16","nodeType":"VariableDeclaration","scope":4432,"src":"497:28:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4427,"name":"address","nodeType":"ElementaryTypeName","src":"497:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4430,"indexed":true,"mutability":"mutable","name":"toDelegate","nameLocation":"543:10:16","nodeType":"VariableDeclaration","scope":4432,"src":"527:26:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4429,"name":"address","nodeType":"ElementaryTypeName","src":"527:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"469:85:16"},"src":"448:107:16"},{"anonymous":false,"documentation":{"id":4433,"nodeType":"StructuredDocumentation","src":"561:131:16","text":" @dev Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units."},"eventSelector":"dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724","id":4441,"name":"DelegateVotesChanged","nameLocation":"703:20:16","nodeType":"EventDefinition","parameters":{"id":4440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4435,"indexed":true,"mutability":"mutable","name":"delegate","nameLocation":"740:8:16","nodeType":"VariableDeclaration","scope":4441,"src":"724:24:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4434,"name":"address","nodeType":"ElementaryTypeName","src":"724:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4437,"indexed":false,"mutability":"mutable","name":"previousVotes","nameLocation":"758:13:16","nodeType":"VariableDeclaration","scope":4441,"src":"750:21:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4436,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4439,"indexed":false,"mutability":"mutable","name":"newVotes","nameLocation":"781:8:16","nodeType":"VariableDeclaration","scope":4441,"src":"773:16:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4438,"name":"uint256","nodeType":"ElementaryTypeName","src":"773:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"723:67:16"},"src":"697:94:16"},{"documentation":{"id":4442,"nodeType":"StructuredDocumentation","src":"797:79:16","text":" @dev Returns the current amount of votes that `account` has."},"functionSelector":"9ab24eb0","id":4449,"implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"890:8:16","nodeType":"FunctionDefinition","parameters":{"id":4445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4444,"mutability":"mutable","name":"account","nameLocation":"907:7:16","nodeType":"VariableDeclaration","scope":4449,"src":"899:15:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4443,"name":"address","nodeType":"ElementaryTypeName","src":"899:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"898:17:16"},"returnParameters":{"id":4448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4449,"src":"939:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4446,"name":"uint256","nodeType":"ElementaryTypeName","src":"939:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"938:9:16"},"scope":4498,"src":"881:67:16","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":4450,"nodeType":"StructuredDocumentation","src":"954:230:16","text":" @dev Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is\n configured to use block numbers, this will return the value at the end of the corresponding block."},"functionSelector":"3a46b1a8","id":4459,"implemented":false,"kind":"function","modifiers":[],"name":"getPastVotes","nameLocation":"1198:12:16","nodeType":"FunctionDefinition","parameters":{"id":4455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4452,"mutability":"mutable","name":"account","nameLocation":"1219:7:16","nodeType":"VariableDeclaration","scope":4459,"src":"1211:15:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4451,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4454,"mutability":"mutable","name":"timepoint","nameLocation":"1236:9:16","nodeType":"VariableDeclaration","scope":4459,"src":"1228:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4453,"name":"uint256","nodeType":"ElementaryTypeName","src":"1228:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:36:16"},"returnParameters":{"id":4458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4459,"src":"1270:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4456,"name":"uint256","nodeType":"ElementaryTypeName","src":"1270:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1269:9:16"},"scope":4498,"src":"1189:90:16","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":4460,"nodeType":"StructuredDocumentation","src":"1285:481:16","text":" @dev Returns the total supply of votes available at a specific moment in the past. If the `clock()` is\n configured to use block numbers, this will return the value at the end of the corresponding block.\n NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n Votes that have not been delegated are still part of total supply, even though they would not participate in a\n vote."},"functionSelector":"8e539e8c","id":4467,"implemented":false,"kind":"function","modifiers":[],"name":"getPastTotalSupply","nameLocation":"1780:18:16","nodeType":"FunctionDefinition","parameters":{"id":4463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4462,"mutability":"mutable","name":"timepoint","nameLocation":"1807:9:16","nodeType":"VariableDeclaration","scope":4467,"src":"1799:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4461,"name":"uint256","nodeType":"ElementaryTypeName","src":"1799:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1798:19:16"},"returnParameters":{"id":4466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4467,"src":"1841:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4464,"name":"uint256","nodeType":"ElementaryTypeName","src":"1841:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1840:9:16"},"scope":4498,"src":"1771:79:16","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":4468,"nodeType":"StructuredDocumentation","src":"1856:71:16","text":" @dev Returns the delegate that `account` has chosen."},"functionSelector":"587cde1e","id":4475,"implemented":false,"kind":"function","modifiers":[],"name":"delegates","nameLocation":"1941:9:16","nodeType":"FunctionDefinition","parameters":{"id":4471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4470,"mutability":"mutable","name":"account","nameLocation":"1959:7:16","nodeType":"VariableDeclaration","scope":4475,"src":"1951:15:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4469,"name":"address","nodeType":"ElementaryTypeName","src":"1951:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1950:17:16"},"returnParameters":{"id":4474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4473,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4475,"src":"1991:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4472,"name":"address","nodeType":"ElementaryTypeName","src":"1991:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1990:9:16"},"scope":4498,"src":"1932:68:16","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":4476,"nodeType":"StructuredDocumentation","src":"2006:71:16","text":" @dev Delegates votes from the sender to `delegatee`."},"functionSelector":"5c19a95c","id":4481,"implemented":false,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"2091:8:16","nodeType":"FunctionDefinition","parameters":{"id":4479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4478,"mutability":"mutable","name":"delegatee","nameLocation":"2108:9:16","nodeType":"VariableDeclaration","scope":4481,"src":"2100:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4477,"name":"address","nodeType":"ElementaryTypeName","src":"2100:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2099:19:16"},"returnParameters":{"id":4480,"nodeType":"ParameterList","parameters":[],"src":"2127:0:16"},"scope":4498,"src":"2082:46:16","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4482,"nodeType":"StructuredDocumentation","src":"2134:67:16","text":" @dev Delegates votes from signer to `delegatee`."},"functionSelector":"c3cda520","id":4497,"implemented":false,"kind":"function","modifiers":[],"name":"delegateBySig","nameLocation":"2215:13:16","nodeType":"FunctionDefinition","parameters":{"id":4495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4484,"mutability":"mutable","name":"delegatee","nameLocation":"2237:9:16","nodeType":"VariableDeclaration","scope":4497,"src":"2229:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4483,"name":"address","nodeType":"ElementaryTypeName","src":"2229:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4486,"mutability":"mutable","name":"nonce","nameLocation":"2256:5:16","nodeType":"VariableDeclaration","scope":4497,"src":"2248:13:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4485,"name":"uint256","nodeType":"ElementaryTypeName","src":"2248:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4488,"mutability":"mutable","name":"expiry","nameLocation":"2271:6:16","nodeType":"VariableDeclaration","scope":4497,"src":"2263:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4487,"name":"uint256","nodeType":"ElementaryTypeName","src":"2263:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4490,"mutability":"mutable","name":"v","nameLocation":"2285:1:16","nodeType":"VariableDeclaration","scope":4497,"src":"2279:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4489,"name":"uint8","nodeType":"ElementaryTypeName","src":"2279:5:16","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4492,"mutability":"mutable","name":"r","nameLocation":"2296:1:16","nodeType":"VariableDeclaration","scope":4497,"src":"2288:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2288:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4494,"mutability":"mutable","name":"s","nameLocation":"2307:1:16","nodeType":"VariableDeclaration","scope":4497,"src":"2299:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2299:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2228:81:16"},"returnParameters":{"id":4496,"nodeType":"ParameterList","parameters":[],"src":"2318:0:16"},"scope":4498,"src":"2206:113:16","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":4499,"src":"239:2082:16","usedErrors":[4423],"usedEvents":[4432,4441]}],"src":"110:2212:16"},"id":16},"@openzeppelin/contracts/interfaces/IERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","exportedSymbols":{"IERC165":[5961]},"id":4503,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4500,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"106:24:17"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../utils/introspection/IERC165.sol","id":4502,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4503,"sourceUnit":5962,"src":"132:59:17","symbolAliases":[{"foreign":{"id":4501,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"140:7:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""}],"src":"106:86:17"},"id":17},"@openzeppelin/contracts/interfaces/IERC4906.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC4906.sol","exportedSymbols":{"IERC165":[5961],"IERC4906":[4526],"IERC721":[5253]},"id":4527,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4504,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"107:24:18"},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","file":"./IERC165.sol","id":4506,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4527,"sourceUnit":4503,"src":"133:38:18","symbolAliases":[{"foreign":{"id":4505,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"141:7:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC721.sol","file":"./IERC721.sol","id":4508,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4527,"sourceUnit":4557,"src":"172:38:18","symbolAliases":[{"foreign":{"id":4507,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5253,"src":"180:7:18","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":4510,"name":"IERC165","nameLocations":["279:7:18"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"279:7:18"},"id":4511,"nodeType":"InheritanceSpecifier","src":"279:7:18"},{"baseName":{"id":4512,"name":"IERC721","nameLocations":["288:7:18"],"nodeType":"IdentifierPath","referencedDeclaration":5253,"src":"288:7:18"},"id":4513,"nodeType":"InheritanceSpecifier","src":"288:7:18"}],"canonicalName":"IERC4906","contractDependencies":[],"contractKind":"interface","documentation":{"id":4509,"nodeType":"StructuredDocumentation","src":"212:45:18","text":"@title EIP-721 Metadata Update Extension"},"fullyImplemented":false,"id":4526,"linearizedBaseContracts":[4526,5253,5961],"name":"IERC4906","nameLocation":"267:8:18","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":4514,"nodeType":"StructuredDocumentation","src":"302:201:18","text":"@dev This event emits when the metadata of a token is changed.\n So that the third-party platforms such as NFT market could\n timely update the images and related attributes of the NFT."},"eventSelector":"f8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7","id":4518,"name":"MetadataUpdate","nameLocation":"514:14:18","nodeType":"EventDefinition","parameters":{"id":4517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4516,"indexed":false,"mutability":"mutable","name":"_tokenId","nameLocation":"537:8:18","nodeType":"VariableDeclaration","scope":4518,"src":"529:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4515,"name":"uint256","nodeType":"ElementaryTypeName","src":"529:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:18:18"},"src":"508:39:18"},{"anonymous":false,"documentation":{"id":4519,"nodeType":"StructuredDocumentation","src":"553:212:18","text":"@dev This event emits when the metadata of a range of tokens is changed.\n So that the third-party platforms such as NFT market could\n timely update the images and related attributes of the NFTs."},"eventSelector":"6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c","id":4525,"name":"BatchMetadataUpdate","nameLocation":"776:19:18","nodeType":"EventDefinition","parameters":{"id":4524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4521,"indexed":false,"mutability":"mutable","name":"_fromTokenId","nameLocation":"804:12:18","nodeType":"VariableDeclaration","scope":4525,"src":"796:20:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4520,"name":"uint256","nodeType":"ElementaryTypeName","src":"796:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4523,"indexed":false,"mutability":"mutable","name":"_toTokenId","nameLocation":"826:10:18","nodeType":"VariableDeclaration","scope":4525,"src":"818:18:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4522,"name":"uint256","nodeType":"ElementaryTypeName","src":"818:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"795:42:18"},"src":"770:68:18"}],"scope":4527,"src":"257:583:18","usedErrors":[],"usedEvents":[4518,4525,5152,5161,5170]}],"src":"107:734:18"},"id":18},"@openzeppelin/contracts/interfaces/IERC5805.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC5805.sol","exportedSymbols":{"IERC5805":[4537],"IERC6372":[4552],"IVotes":[4498]},"id":4538,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4528,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"107:24:19"},{"absolutePath":"@openzeppelin/contracts/governance/utils/IVotes.sol","file":"../governance/utils/IVotes.sol","id":4530,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4538,"sourceUnit":4499,"src":"133:54:19","symbolAliases":[{"foreign":{"id":4529,"name":"IVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"141:6:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC6372.sol","file":"./IERC6372.sol","id":4532,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4538,"sourceUnit":4553,"src":"188:40:19","symbolAliases":[{"foreign":{"id":4531,"name":"IERC6372","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4552,"src":"196:8:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":4533,"name":"IERC6372","nameLocations":["252:8:19"],"nodeType":"IdentifierPath","referencedDeclaration":4552,"src":"252:8:19"},"id":4534,"nodeType":"InheritanceSpecifier","src":"252:8:19"},{"baseName":{"id":4535,"name":"IVotes","nameLocations":["262:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":4498,"src":"262:6:19"},"id":4536,"nodeType":"InheritanceSpecifier","src":"262:6:19"}],"canonicalName":"IERC5805","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":4537,"linearizedBaseContracts":[4537,4498,4552],"name":"IERC5805","nameLocation":"240:8:19","nodeType":"ContractDefinition","nodes":[],"scope":4538,"src":"230:41:19","usedErrors":[4423],"usedEvents":[4432,4441]}],"src":"107:165:19"},"id":19},"@openzeppelin/contracts/interfaces/IERC6372.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC6372.sol","exportedSymbols":{"IERC6372":[4552]},"id":4553,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4539,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"107:24:20"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC6372","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":4552,"linearizedBaseContracts":[4552],"name":"IERC6372","nameLocation":"143:8:20","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":4540,"nodeType":"StructuredDocumentation","src":"158:133:20","text":" @dev Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"functionSelector":"91ddadf4","id":4545,"implemented":false,"kind":"function","modifiers":[],"name":"clock","nameLocation":"305:5:20","nodeType":"FunctionDefinition","parameters":{"id":4541,"nodeType":"ParameterList","parameters":[],"src":"310:2:20"},"returnParameters":{"id":4544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4543,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4545,"src":"336:6:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":4542,"name":"uint48","nodeType":"ElementaryTypeName","src":"336:6:20","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"335:8:20"},"scope":4552,"src":"296:48:20","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":4546,"nodeType":"StructuredDocumentation","src":"350:48:20","text":" @dev Description of the clock"},"functionSelector":"4bf5d7e9","id":4551,"implemented":false,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"465:10:20","nodeType":"FunctionDefinition","parameters":{"id":4547,"nodeType":"ParameterList","parameters":[],"src":"475:2:20"},"returnParameters":{"id":4550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4551,"src":"501:13:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4548,"name":"string","nodeType":"ElementaryTypeName","src":"501:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"500:15:20"},"scope":4552,"src":"456:60:20","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":4553,"src":"133:385:20","usedErrors":[],"usedEvents":[]}],"src":"107:412:20"},"id":20},"@openzeppelin/contracts/interfaces/IERC721.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC721.sol","exportedSymbols":{"IERC721":[5253]},"id":4557,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4554,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"106:24:21"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../token/ERC721/IERC721.sol","id":4556,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4557,"sourceUnit":5254,"src":"132:52:21","symbolAliases":[{"foreign":{"id":4555,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5253,"src":"140:7:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""}],"src":"106:79:21"},"id":21},"@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/draft-IERC1822.sol","exportedSymbols":{"IERC1822Proxiable":[4566]},"id":4567,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4558,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"113:24:22"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1822Proxiable","contractDependencies":[],"contractKind":"interface","documentation":{"id":4559,"nodeType":"StructuredDocumentation","src":"139:203:22","text":" @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n proxy whose upgrades are fully controlled by the current implementation."},"fullyImplemented":false,"id":4566,"linearizedBaseContracts":[4566],"name":"IERC1822Proxiable","nameLocation":"353:17:22","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":4560,"nodeType":"StructuredDocumentation","src":"377:438:22","text":" @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n address.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy."},"functionSelector":"52d1902d","id":4565,"implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"829:13:22","nodeType":"FunctionDefinition","parameters":{"id":4561,"nodeType":"ParameterList","parameters":[],"src":"842:2:22"},"returnParameters":{"id":4564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4563,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4565,"src":"868:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"868:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"867:9:22"},"scope":4566,"src":"820:57:22","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":4567,"src":"343:536:22","usedErrors":[],"usedEvents":[]}],"src":"113:767:22"},"id":22},"@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/draft-IERC6093.sol","exportedSymbols":{"IERC1155Errors":[4703],"IERC20Errors":[4608],"IERC721Errors":[4656]},"id":4704,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4568,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"112:24:23"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":4569,"nodeType":"StructuredDocumentation","src":"138:139:23","text":" @dev Standard ERC20 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens."},"fullyImplemented":true,"id":4608,"linearizedBaseContracts":[4608],"name":"IERC20Errors","nameLocation":"288:12:23","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":4570,"nodeType":"StructuredDocumentation","src":"307:309:23","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"e450d38c","id":4578,"name":"ERC20InsufficientBalance","nameLocation":"627:24:23","nodeType":"ErrorDefinition","parameters":{"id":4577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4572,"mutability":"mutable","name":"sender","nameLocation":"660:6:23","nodeType":"VariableDeclaration","scope":4578,"src":"652:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4571,"name":"address","nodeType":"ElementaryTypeName","src":"652:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4574,"mutability":"mutable","name":"balance","nameLocation":"676:7:23","nodeType":"VariableDeclaration","scope":4578,"src":"668:15:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4573,"name":"uint256","nodeType":"ElementaryTypeName","src":"668:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4576,"mutability":"mutable","name":"needed","nameLocation":"693:6:23","nodeType":"VariableDeclaration","scope":4578,"src":"685:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4575,"name":"uint256","nodeType":"ElementaryTypeName","src":"685:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"651:49:23"},"src":"621:80:23"},{"documentation":{"id":4579,"nodeType":"StructuredDocumentation","src":"707:152:23","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"96c6fd1e","id":4583,"name":"ERC20InvalidSender","nameLocation":"870:18:23","nodeType":"ErrorDefinition","parameters":{"id":4582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4581,"mutability":"mutable","name":"sender","nameLocation":"897:6:23","nodeType":"VariableDeclaration","scope":4583,"src":"889:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4580,"name":"address","nodeType":"ElementaryTypeName","src":"889:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"888:16:23"},"src":"864:41:23"},{"documentation":{"id":4584,"nodeType":"StructuredDocumentation","src":"911:159:23","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"ec442f05","id":4588,"name":"ERC20InvalidReceiver","nameLocation":"1081:20:23","nodeType":"ErrorDefinition","parameters":{"id":4587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4586,"mutability":"mutable","name":"receiver","nameLocation":"1110:8:23","nodeType":"VariableDeclaration","scope":4588,"src":"1102:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4585,"name":"address","nodeType":"ElementaryTypeName","src":"1102:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1101:18:23"},"src":"1075:45:23"},{"documentation":{"id":4589,"nodeType":"StructuredDocumentation","src":"1126:345:23","text":" @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n @param spender Address that may be allowed to operate on tokens without being their owner.\n @param allowance Amount of tokens a `spender` is allowed to operate with.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"fb8f41b2","id":4597,"name":"ERC20InsufficientAllowance","nameLocation":"1482:26:23","nodeType":"ErrorDefinition","parameters":{"id":4596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4591,"mutability":"mutable","name":"spender","nameLocation":"1517:7:23","nodeType":"VariableDeclaration","scope":4597,"src":"1509:15:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4590,"name":"address","nodeType":"ElementaryTypeName","src":"1509:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4593,"mutability":"mutable","name":"allowance","nameLocation":"1534:9:23","nodeType":"VariableDeclaration","scope":4597,"src":"1526:17:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4592,"name":"uint256","nodeType":"ElementaryTypeName","src":"1526:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4595,"mutability":"mutable","name":"needed","nameLocation":"1553:6:23","nodeType":"VariableDeclaration","scope":4597,"src":"1545:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4594,"name":"uint256","nodeType":"ElementaryTypeName","src":"1545:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1508:52:23"},"src":"1476:85:23"},{"documentation":{"id":4598,"nodeType":"StructuredDocumentation","src":"1567:174:23","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"e602df05","id":4602,"name":"ERC20InvalidApprover","nameLocation":"1752:20:23","nodeType":"ErrorDefinition","parameters":{"id":4601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4600,"mutability":"mutable","name":"approver","nameLocation":"1781:8:23","nodeType":"VariableDeclaration","scope":4602,"src":"1773:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4599,"name":"address","nodeType":"ElementaryTypeName","src":"1773:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1772:18:23"},"src":"1746:45:23"},{"documentation":{"id":4603,"nodeType":"StructuredDocumentation","src":"1797:195:23","text":" @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n @param spender Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"94280d62","id":4607,"name":"ERC20InvalidSpender","nameLocation":"2003:19:23","nodeType":"ErrorDefinition","parameters":{"id":4606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4605,"mutability":"mutable","name":"spender","nameLocation":"2031:7:23","nodeType":"VariableDeclaration","scope":4607,"src":"2023:15:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4604,"name":"address","nodeType":"ElementaryTypeName","src":"2023:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2022:17:23"},"src":"1997:43:23"}],"scope":4704,"src":"278:1764:23","usedErrors":[4578,4583,4588,4597,4602,4607],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IERC721Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":4609,"nodeType":"StructuredDocumentation","src":"2044:141:23","text":" @dev Standard ERC721 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens."},"fullyImplemented":true,"id":4656,"linearizedBaseContracts":[4656],"name":"IERC721Errors","nameLocation":"2196:13:23","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":4610,"nodeType":"StructuredDocumentation","src":"2216:219:23","text":" @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20.\n Used in balance queries.\n @param owner Address of the current owner of a token."},"errorSelector":"89c62b64","id":4614,"name":"ERC721InvalidOwner","nameLocation":"2446:18:23","nodeType":"ErrorDefinition","parameters":{"id":4613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4612,"mutability":"mutable","name":"owner","nameLocation":"2473:5:23","nodeType":"VariableDeclaration","scope":4614,"src":"2465:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4611,"name":"address","nodeType":"ElementaryTypeName","src":"2465:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2464:15:23"},"src":"2440:40:23"},{"documentation":{"id":4615,"nodeType":"StructuredDocumentation","src":"2486:132:23","text":" @dev Indicates a `tokenId` whose `owner` is the zero address.\n @param tokenId Identifier number of a token."},"errorSelector":"7e273289","id":4619,"name":"ERC721NonexistentToken","nameLocation":"2629:22:23","nodeType":"ErrorDefinition","parameters":{"id":4618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4617,"mutability":"mutable","name":"tokenId","nameLocation":"2660:7:23","nodeType":"VariableDeclaration","scope":4619,"src":"2652:15:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4616,"name":"uint256","nodeType":"ElementaryTypeName","src":"2652:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2651:17:23"},"src":"2623:46:23"},{"documentation":{"id":4620,"nodeType":"StructuredDocumentation","src":"2675:289:23","text":" @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param tokenId Identifier number of a token.\n @param owner Address of the current owner of a token."},"errorSelector":"64283d7b","id":4628,"name":"ERC721IncorrectOwner","nameLocation":"2975:20:23","nodeType":"ErrorDefinition","parameters":{"id":4627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4622,"mutability":"mutable","name":"sender","nameLocation":"3004:6:23","nodeType":"VariableDeclaration","scope":4628,"src":"2996:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4621,"name":"address","nodeType":"ElementaryTypeName","src":"2996:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4624,"mutability":"mutable","name":"tokenId","nameLocation":"3020:7:23","nodeType":"VariableDeclaration","scope":4628,"src":"3012:15:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4623,"name":"uint256","nodeType":"ElementaryTypeName","src":"3012:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4626,"mutability":"mutable","name":"owner","nameLocation":"3037:5:23","nodeType":"VariableDeclaration","scope":4628,"src":"3029:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4625,"name":"address","nodeType":"ElementaryTypeName","src":"3029:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2995:48:23"},"src":"2969:75:23"},{"documentation":{"id":4629,"nodeType":"StructuredDocumentation","src":"3050:152:23","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"73c6ac6e","id":4633,"name":"ERC721InvalidSender","nameLocation":"3213:19:23","nodeType":"ErrorDefinition","parameters":{"id":4632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4631,"mutability":"mutable","name":"sender","nameLocation":"3241:6:23","nodeType":"VariableDeclaration","scope":4633,"src":"3233:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4630,"name":"address","nodeType":"ElementaryTypeName","src":"3233:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3232:16:23"},"src":"3207:42:23"},{"documentation":{"id":4634,"nodeType":"StructuredDocumentation","src":"3255:159:23","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"64a0ae92","id":4638,"name":"ERC721InvalidReceiver","nameLocation":"3425:21:23","nodeType":"ErrorDefinition","parameters":{"id":4637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4636,"mutability":"mutable","name":"receiver","nameLocation":"3455:8:23","nodeType":"VariableDeclaration","scope":4638,"src":"3447:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4635,"name":"address","nodeType":"ElementaryTypeName","src":"3447:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3446:18:23"},"src":"3419:46:23"},{"documentation":{"id":4639,"nodeType":"StructuredDocumentation","src":"3471:247:23","text":" @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param tokenId Identifier number of a token."},"errorSelector":"177e802f","id":4645,"name":"ERC721InsufficientApproval","nameLocation":"3729:26:23","nodeType":"ErrorDefinition","parameters":{"id":4644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4641,"mutability":"mutable","name":"operator","nameLocation":"3764:8:23","nodeType":"VariableDeclaration","scope":4645,"src":"3756:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4640,"name":"address","nodeType":"ElementaryTypeName","src":"3756:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4643,"mutability":"mutable","name":"tokenId","nameLocation":"3782:7:23","nodeType":"VariableDeclaration","scope":4645,"src":"3774:15:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4642,"name":"uint256","nodeType":"ElementaryTypeName","src":"3774:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3755:35:23"},"src":"3723:68:23"},{"documentation":{"id":4646,"nodeType":"StructuredDocumentation","src":"3797:174:23","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"a9fbf51f","id":4650,"name":"ERC721InvalidApprover","nameLocation":"3982:21:23","nodeType":"ErrorDefinition","parameters":{"id":4649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4648,"mutability":"mutable","name":"approver","nameLocation":"4012:8:23","nodeType":"VariableDeclaration","scope":4650,"src":"4004:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4647,"name":"address","nodeType":"ElementaryTypeName","src":"4004:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4003:18:23"},"src":"3976:46:23"},{"documentation":{"id":4651,"nodeType":"StructuredDocumentation","src":"4028:197:23","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"5b08ba18","id":4655,"name":"ERC721InvalidOperator","nameLocation":"4236:21:23","nodeType":"ErrorDefinition","parameters":{"id":4654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4653,"mutability":"mutable","name":"operator","nameLocation":"4266:8:23","nodeType":"VariableDeclaration","scope":4655,"src":"4258:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4652,"name":"address","nodeType":"ElementaryTypeName","src":"4258:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4257:18:23"},"src":"4230:46:23"}],"scope":4704,"src":"2186:2092:23","usedErrors":[4614,4619,4628,4633,4638,4645,4650,4655],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1155Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":4657,"nodeType":"StructuredDocumentation","src":"4280:143:23","text":" @dev Standard ERC1155 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens."},"fullyImplemented":true,"id":4703,"linearizedBaseContracts":[4703],"name":"IERC1155Errors","nameLocation":"4434:14:23","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":4658,"nodeType":"StructuredDocumentation","src":"4455:361:23","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer.\n @param tokenId Identifier number of a token."},"errorSelector":"03dee4c5","id":4668,"name":"ERC1155InsufficientBalance","nameLocation":"4827:26:23","nodeType":"ErrorDefinition","parameters":{"id":4667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4660,"mutability":"mutable","name":"sender","nameLocation":"4862:6:23","nodeType":"VariableDeclaration","scope":4668,"src":"4854:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4659,"name":"address","nodeType":"ElementaryTypeName","src":"4854:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4662,"mutability":"mutable","name":"balance","nameLocation":"4878:7:23","nodeType":"VariableDeclaration","scope":4668,"src":"4870:15:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4661,"name":"uint256","nodeType":"ElementaryTypeName","src":"4870:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4664,"mutability":"mutable","name":"needed","nameLocation":"4895:6:23","nodeType":"VariableDeclaration","scope":4668,"src":"4887:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4663,"name":"uint256","nodeType":"ElementaryTypeName","src":"4887:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4666,"mutability":"mutable","name":"tokenId","nameLocation":"4911:7:23","nodeType":"VariableDeclaration","scope":4668,"src":"4903:15:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4665,"name":"uint256","nodeType":"ElementaryTypeName","src":"4903:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4853:66:23"},"src":"4821:99:23"},{"documentation":{"id":4669,"nodeType":"StructuredDocumentation","src":"4926:152:23","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"01a83514","id":4673,"name":"ERC1155InvalidSender","nameLocation":"5089:20:23","nodeType":"ErrorDefinition","parameters":{"id":4672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4671,"mutability":"mutable","name":"sender","nameLocation":"5118:6:23","nodeType":"VariableDeclaration","scope":4673,"src":"5110:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4670,"name":"address","nodeType":"ElementaryTypeName","src":"5110:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5109:16:23"},"src":"5083:43:23"},{"documentation":{"id":4674,"nodeType":"StructuredDocumentation","src":"5132:159:23","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"57f447ce","id":4678,"name":"ERC1155InvalidReceiver","nameLocation":"5302:22:23","nodeType":"ErrorDefinition","parameters":{"id":4677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4676,"mutability":"mutable","name":"receiver","nameLocation":"5333:8:23","nodeType":"VariableDeclaration","scope":4678,"src":"5325:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4675,"name":"address","nodeType":"ElementaryTypeName","src":"5325:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5324:18:23"},"src":"5296:47:23"},{"documentation":{"id":4679,"nodeType":"StructuredDocumentation","src":"5349:256:23","text":" @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param owner Address of the current owner of a token."},"errorSelector":"e237d922","id":4685,"name":"ERC1155MissingApprovalForAll","nameLocation":"5616:28:23","nodeType":"ErrorDefinition","parameters":{"id":4684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4681,"mutability":"mutable","name":"operator","nameLocation":"5653:8:23","nodeType":"VariableDeclaration","scope":4685,"src":"5645:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4680,"name":"address","nodeType":"ElementaryTypeName","src":"5645:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4683,"mutability":"mutable","name":"owner","nameLocation":"5671:5:23","nodeType":"VariableDeclaration","scope":4685,"src":"5663:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4682,"name":"address","nodeType":"ElementaryTypeName","src":"5663:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5644:33:23"},"src":"5610:68:23"},{"documentation":{"id":4686,"nodeType":"StructuredDocumentation","src":"5684:174:23","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"3e31884e","id":4690,"name":"ERC1155InvalidApprover","nameLocation":"5869:22:23","nodeType":"ErrorDefinition","parameters":{"id":4689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4688,"mutability":"mutable","name":"approver","nameLocation":"5900:8:23","nodeType":"VariableDeclaration","scope":4690,"src":"5892:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4687,"name":"address","nodeType":"ElementaryTypeName","src":"5892:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5891:18:23"},"src":"5863:47:23"},{"documentation":{"id":4691,"nodeType":"StructuredDocumentation","src":"5916:197:23","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"ced3e100","id":4695,"name":"ERC1155InvalidOperator","nameLocation":"6124:22:23","nodeType":"ErrorDefinition","parameters":{"id":4694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4693,"mutability":"mutable","name":"operator","nameLocation":"6155:8:23","nodeType":"VariableDeclaration","scope":4695,"src":"6147:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4692,"name":"address","nodeType":"ElementaryTypeName","src":"6147:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6146:18:23"},"src":"6118:47:23"},{"documentation":{"id":4696,"nodeType":"StructuredDocumentation","src":"6171:280:23","text":" @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n Used in batch transfers.\n @param idsLength Length of the array of token identifiers\n @param valuesLength Length of the array of token amounts"},"errorSelector":"5b059991","id":4702,"name":"ERC1155InvalidArrayLength","nameLocation":"6462:25:23","nodeType":"ErrorDefinition","parameters":{"id":4701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4698,"mutability":"mutable","name":"idsLength","nameLocation":"6496:9:23","nodeType":"VariableDeclaration","scope":4702,"src":"6488:17:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4697,"name":"uint256","nodeType":"ElementaryTypeName","src":"6488:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4700,"mutability":"mutable","name":"valuesLength","nameLocation":"6515:12:23","nodeType":"VariableDeclaration","scope":4702,"src":"6507:20:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4699,"name":"uint256","nodeType":"ElementaryTypeName","src":"6507:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6487:41:23"},"src":"6456:73:23"}],"scope":4704,"src":"4424:2107:23","usedErrors":[4668,4673,4678,4685,4690,4695,4702],"usedEvents":[]}],"src":"112:6420:23"},"id":23},"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","exportedSymbols":{"Address":[5584],"ERC1967Utils":[5006],"IBeacon":[5016],"StorageSlot":[5694]},"id":5007,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4705,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"114:24:24"},{"absolutePath":"@openzeppelin/contracts/proxy/beacon/IBeacon.sol","file":"../beacon/IBeacon.sol","id":4707,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5007,"sourceUnit":5017,"src":"140:46:24","symbolAliases":[{"foreign":{"id":4706,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5016,"src":"148:7:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":4709,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5007,"sourceUnit":5585,"src":"187:48:24","symbolAliases":[{"foreign":{"id":4708,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"195:7:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/StorageSlot.sol","file":"../../utils/StorageSlot.sol","id":4711,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5007,"sourceUnit":5695,"src":"236:56:24","symbolAliases":[{"foreign":{"id":4710,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"244:11:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"ERC1967Utils","contractDependencies":[],"contractKind":"library","documentation":{"id":4712,"nodeType":"StructuredDocumentation","src":"294:154:24","text":" @dev This abstract contract provides getters and event emitting update functions for\n https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots."},"fullyImplemented":true,"id":5006,"linearizedBaseContracts":[5006],"name":"ERC1967Utils","nameLocation":"457:12:24","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":4713,"nodeType":"StructuredDocumentation","src":"660:68:24","text":" @dev Emitted when the implementation is upgraded."},"eventSelector":"bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","id":4717,"name":"Upgraded","nameLocation":"739:8:24","nodeType":"EventDefinition","parameters":{"id":4716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4715,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"764:14:24","nodeType":"VariableDeclaration","scope":4717,"src":"748:30:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4714,"name":"address","nodeType":"ElementaryTypeName","src":"748:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"747:32:24"},"src":"733:47:24"},{"anonymous":false,"documentation":{"id":4718,"nodeType":"StructuredDocumentation","src":"786:67:24","text":" @dev Emitted when the admin account has changed."},"eventSelector":"7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f","id":4724,"name":"AdminChanged","nameLocation":"864:12:24","nodeType":"EventDefinition","parameters":{"id":4723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4720,"indexed":false,"mutability":"mutable","name":"previousAdmin","nameLocation":"885:13:24","nodeType":"VariableDeclaration","scope":4724,"src":"877:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4719,"name":"address","nodeType":"ElementaryTypeName","src":"877:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4722,"indexed":false,"mutability":"mutable","name":"newAdmin","nameLocation":"908:8:24","nodeType":"VariableDeclaration","scope":4724,"src":"900:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4721,"name":"address","nodeType":"ElementaryTypeName","src":"900:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"876:41:24"},"src":"858:60:24"},{"anonymous":false,"documentation":{"id":4725,"nodeType":"StructuredDocumentation","src":"924:59:24","text":" @dev Emitted when the beacon is changed."},"eventSelector":"1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e","id":4729,"name":"BeaconUpgraded","nameLocation":"994:14:24","nodeType":"EventDefinition","parameters":{"id":4728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4727,"indexed":true,"mutability":"mutable","name":"beacon","nameLocation":"1025:6:24","nodeType":"VariableDeclaration","scope":4729,"src":"1009:22:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4726,"name":"address","nodeType":"ElementaryTypeName","src":"1009:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1008:24:24"},"src":"988:45:24"},{"constant":true,"documentation":{"id":4730,"nodeType":"StructuredDocumentation","src":"1039:170:24","text":" @dev Storage slot with the address of the current implementation.\n This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1."},"id":4733,"mutability":"constant","name":"IMPLEMENTATION_SLOT","nameLocation":"1305:19:24","nodeType":"VariableDeclaration","scope":5006,"src":"1279:114:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1279:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263","id":4732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1327:66:24","typeDescriptions":{"typeIdentifier":"t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1","typeString":"int_const 2444...(69 digits omitted)...5612"},"value":"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"},"visibility":"internal"},{"documentation":{"id":4734,"nodeType":"StructuredDocumentation","src":"1400:69:24","text":" @dev The `implementation` of the proxy is invalid."},"errorSelector":"4c9c8ce3","id":4738,"name":"ERC1967InvalidImplementation","nameLocation":"1480:28:24","nodeType":"ErrorDefinition","parameters":{"id":4737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4736,"mutability":"mutable","name":"implementation","nameLocation":"1517:14:24","nodeType":"VariableDeclaration","scope":4738,"src":"1509:22:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4735,"name":"address","nodeType":"ElementaryTypeName","src":"1509:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1508:24:24"},"src":"1474:59:24"},{"documentation":{"id":4739,"nodeType":"StructuredDocumentation","src":"1539:60:24","text":" @dev The `admin` of the proxy is invalid."},"errorSelector":"62e77ba2","id":4743,"name":"ERC1967InvalidAdmin","nameLocation":"1610:19:24","nodeType":"ErrorDefinition","parameters":{"id":4742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4741,"mutability":"mutable","name":"admin","nameLocation":"1638:5:24","nodeType":"VariableDeclaration","scope":4743,"src":"1630:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4740,"name":"address","nodeType":"ElementaryTypeName","src":"1630:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1629:15:24"},"src":"1604:41:24"},{"documentation":{"id":4744,"nodeType":"StructuredDocumentation","src":"1651:61:24","text":" @dev The `beacon` of the proxy is invalid."},"errorSelector":"64ced0ec","id":4748,"name":"ERC1967InvalidBeacon","nameLocation":"1723:20:24","nodeType":"ErrorDefinition","parameters":{"id":4747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4746,"mutability":"mutable","name":"beacon","nameLocation":"1752:6:24","nodeType":"VariableDeclaration","scope":4748,"src":"1744:14:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4745,"name":"address","nodeType":"ElementaryTypeName","src":"1744:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1743:16:24"},"src":"1717:43:24"},{"documentation":{"id":4749,"nodeType":"StructuredDocumentation","src":"1766:82:24","text":" @dev An upgrade function sees `msg.value > 0` that may be lost."},"errorSelector":"b398979f","id":4751,"name":"ERC1967NonPayable","nameLocation":"1859:17:24","nodeType":"ErrorDefinition","parameters":{"id":4750,"nodeType":"ParameterList","parameters":[],"src":"1876:2:24"},"src":"1853:26:24"},{"body":{"id":4763,"nodeType":"Block","src":"2018:77:24","statements":[{"expression":{"expression":{"arguments":[{"id":4759,"name":"IMPLEMENTATION_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"2062:19:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4757,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"2035:11:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$5694_$","typeString":"type(library StorageSlot)"}},"id":4758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2047:14:24","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":5616,"src":"2035:26:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$5590_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":4760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2035:47:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$5590_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":4761,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2083:5:24","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":5589,"src":"2035:53:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":4756,"id":4762,"nodeType":"Return","src":"2028:60:24"}]},"documentation":{"id":4752,"nodeType":"StructuredDocumentation","src":"1885:67:24","text":" @dev Returns the current implementation address."},"id":4764,"implemented":true,"kind":"function","modifiers":[],"name":"getImplementation","nameLocation":"1966:17:24","nodeType":"FunctionDefinition","parameters":{"id":4753,"nodeType":"ParameterList","parameters":[],"src":"1983:2:24"},"returnParameters":{"id":4756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4755,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4764,"src":"2009:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4754,"name":"address","nodeType":"ElementaryTypeName","src":"2009:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2008:9:24"},"scope":5006,"src":"1957:138:24","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4790,"nodeType":"Block","src":"2249:218:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":4770,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4767,"src":"2263:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2281:4:24","memberName":"code","nodeType":"MemberAccess","src":"2263:22:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2286:6:24","memberName":"length","nodeType":"MemberAccess","src":"2263:29:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2296:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2263:34:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4780,"nodeType":"IfStatement","src":"2259:119:24","trueBody":{"id":4779,"nodeType":"Block","src":"2299:79:24","statements":[{"errorCall":{"arguments":[{"id":4776,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4767,"src":"2349:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4775,"name":"ERC1967InvalidImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4738,"src":"2320:28:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2320:47:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4778,"nodeType":"RevertStatement","src":"2313:54:24"}]}},{"expression":{"id":4788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":4784,"name":"IMPLEMENTATION_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"2414:19:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4781,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"2387:11:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$5694_$","typeString":"type(library StorageSlot)"}},"id":4783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2399:14:24","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":5616,"src":"2387:26:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$5590_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":4785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2387:47:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$5590_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":4786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2435:5:24","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":5589,"src":"2387:53:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4787,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4767,"src":"2443:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2387:73:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4789,"nodeType":"ExpressionStatement","src":"2387:73:24"}]},"documentation":{"id":4765,"nodeType":"StructuredDocumentation","src":"2101:80:24","text":" @dev Stores a new address in the EIP1967 implementation slot."},"id":4791,"implemented":true,"kind":"function","modifiers":[],"name":"_setImplementation","nameLocation":"2195:18:24","nodeType":"FunctionDefinition","parameters":{"id":4768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4767,"mutability":"mutable","name":"newImplementation","nameLocation":"2222:17:24","nodeType":"VariableDeclaration","scope":4791,"src":"2214:25:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4766,"name":"address","nodeType":"ElementaryTypeName","src":"2214:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2213:27:24"},"returnParameters":{"id":4769,"nodeType":"ParameterList","parameters":[],"src":"2249:0:24"},"scope":5006,"src":"2186:281:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":4824,"nodeType":"Block","src":"2860:254:24","statements":[{"expression":{"arguments":[{"id":4800,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4794,"src":"2889:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4799,"name":"_setImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4791,"src":"2870:18:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2870:37:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4802,"nodeType":"ExpressionStatement","src":"2870:37:24"},{"eventCall":{"arguments":[{"id":4804,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4794,"src":"2931:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4803,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4717,"src":"2922:8:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2922:27:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4806,"nodeType":"EmitStatement","src":"2917:32:24"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4807,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4796,"src":"2964:4:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2969:6:24","memberName":"length","nodeType":"MemberAccess","src":"2964:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2978:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2964:15:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4822,"nodeType":"Block","src":"3065:43:24","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4819,"name":"_checkNonPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5005,"src":"3079:16:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3079:18:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4821,"nodeType":"ExpressionStatement","src":"3079:18:24"}]},"id":4823,"nodeType":"IfStatement","src":"2960:148:24","trueBody":{"id":4818,"nodeType":"Block","src":"2981:78:24","statements":[{"expression":{"arguments":[{"id":4814,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4794,"src":"3024:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4815,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4796,"src":"3043:4:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4811,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"2995:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$5584_$","typeString":"type(library Address)"}},"id":4813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3003:20:24","memberName":"functionDelegateCall","nodeType":"MemberAccess","referencedDeclaration":5503,"src":"2995:28:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory) returns (bytes memory)"}},"id":4816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2995:53:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4817,"nodeType":"ExpressionStatement","src":"2995:53:24"}]}}]},"documentation":{"id":4792,"nodeType":"StructuredDocumentation","src":"2473:301:24","text":" @dev Performs implementation upgrade with additional setup call if data is nonempty.\n This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n to avoid stuck value in the contract.\n Emits an {IERC1967-Upgraded} event."},"id":4825,"implemented":true,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"2788:16:24","nodeType":"FunctionDefinition","parameters":{"id":4797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4794,"mutability":"mutable","name":"newImplementation","nameLocation":"2813:17:24","nodeType":"VariableDeclaration","scope":4825,"src":"2805:25:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4793,"name":"address","nodeType":"ElementaryTypeName","src":"2805:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4796,"mutability":"mutable","name":"data","nameLocation":"2845:4:24","nodeType":"VariableDeclaration","scope":4825,"src":"2832:17:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4795,"name":"bytes","nodeType":"ElementaryTypeName","src":"2832:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2804:46:24"},"returnParameters":{"id":4798,"nodeType":"ParameterList","parameters":[],"src":"2860:0:24"},"scope":5006,"src":"2779:335:24","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"constant":true,"documentation":{"id":4826,"nodeType":"StructuredDocumentation","src":"3120:145:24","text":" @dev Storage slot with the admin of the contract.\n This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1."},"id":4829,"mutability":"constant","name":"ADMIN_SLOT","nameLocation":"3361:10:24","nodeType":"VariableDeclaration","scope":5006,"src":"3335:105:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3335:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307862353331323736383461353638623331373361653133623966386136303136653234336536336236653865653131373864366137313738353062356436313033","id":4828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3374:66:24","typeDescriptions":{"typeIdentifier":"t_rational_81955473079516046949633743016697847541294818689821282749996681496272635257091_by_1","typeString":"int_const 8195...(69 digits omitted)...7091"},"value":"0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"},"visibility":"internal"},{"body":{"id":4841,"nodeType":"Block","src":"3844:68:24","statements":[{"expression":{"expression":{"arguments":[{"id":4837,"name":"ADMIN_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4829,"src":"3888:10:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4835,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"3861:11:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$5694_$","typeString":"type(library StorageSlot)"}},"id":4836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3873:14:24","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":5616,"src":"3861:26:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$5590_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":4838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3861:38:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$5590_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":4839,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3900:5:24","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":5589,"src":"3861:44:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":4834,"id":4840,"nodeType":"Return","src":"3854:51:24"}]},"documentation":{"id":4830,"nodeType":"StructuredDocumentation","src":"3447:340:24","text":" @dev Returns the current admin.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using\n the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`"},"id":4842,"implemented":true,"kind":"function","modifiers":[],"name":"getAdmin","nameLocation":"3801:8:24","nodeType":"FunctionDefinition","parameters":{"id":4831,"nodeType":"ParameterList","parameters":[],"src":"3809:2:24"},"returnParameters":{"id":4834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4842,"src":"3835:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4832,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3834:9:24"},"scope":5006,"src":"3792:120:24","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4872,"nodeType":"Block","src":"4039:172:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4848,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4845,"src":"4053:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":4851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4073:1:24","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":4850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4065:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4849,"name":"address","nodeType":"ElementaryTypeName","src":"4065:7:24","typeDescriptions":{}}},"id":4852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4065:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4053:22:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4862,"nodeType":"IfStatement","src":"4049:91:24","trueBody":{"id":4861,"nodeType":"Block","src":"4077:63:24","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":4857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4126:1:24","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":4856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4118:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4855,"name":"address","nodeType":"ElementaryTypeName","src":"4118:7:24","typeDescriptions":{}}},"id":4858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4118:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4854,"name":"ERC1967InvalidAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4743,"src":"4098:19:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4098:31:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4860,"nodeType":"RevertStatement","src":"4091:38:24"}]}},{"expression":{"id":4870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":4866,"name":"ADMIN_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4829,"src":"4176:10:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4863,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"4149:11:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$5694_$","typeString":"type(library StorageSlot)"}},"id":4865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4161:14:24","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":5616,"src":"4149:26:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$5590_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":4867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4149:38:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$5590_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":4868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4188:5:24","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":5589,"src":"4149:44:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4869,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4845,"src":"4196:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4149:55:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4871,"nodeType":"ExpressionStatement","src":"4149:55:24"}]},"documentation":{"id":4843,"nodeType":"StructuredDocumentation","src":"3918:71:24","text":" @dev Stores a new address in the EIP1967 admin slot."},"id":4873,"implemented":true,"kind":"function","modifiers":[],"name":"_setAdmin","nameLocation":"4003:9:24","nodeType":"FunctionDefinition","parameters":{"id":4846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4845,"mutability":"mutable","name":"newAdmin","nameLocation":"4021:8:24","nodeType":"VariableDeclaration","scope":4873,"src":"4013:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4844,"name":"address","nodeType":"ElementaryTypeName","src":"4013:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4012:18:24"},"returnParameters":{"id":4847,"nodeType":"ParameterList","parameters":[],"src":"4039:0:24"},"scope":5006,"src":"3994:217:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":4889,"nodeType":"Block","src":"4379:85:24","statements":[{"eventCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":4880,"name":"getAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"4407:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":4881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4407:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4882,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4876,"src":"4419:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4879,"name":"AdminChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4724,"src":"4394:12:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":4883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4394:34:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4884,"nodeType":"EmitStatement","src":"4389:39:24"},{"expression":{"arguments":[{"id":4886,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4876,"src":"4448:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4885,"name":"_setAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4873,"src":"4438:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4438:19:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4888,"nodeType":"ExpressionStatement","src":"4438:19:24"}]},"documentation":{"id":4874,"nodeType":"StructuredDocumentation","src":"4217:109:24","text":" @dev Changes the admin of the proxy.\n Emits an {IERC1967-AdminChanged} event."},"id":4890,"implemented":true,"kind":"function","modifiers":[],"name":"changeAdmin","nameLocation":"4340:11:24","nodeType":"FunctionDefinition","parameters":{"id":4877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4876,"mutability":"mutable","name":"newAdmin","nameLocation":"4360:8:24","nodeType":"VariableDeclaration","scope":4890,"src":"4352:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4875,"name":"address","nodeType":"ElementaryTypeName","src":"4352:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4351:18:24"},"returnParameters":{"id":4878,"nodeType":"ParameterList","parameters":[],"src":"4379:0:24"},"scope":5006,"src":"4331:133:24","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"constant":true,"documentation":{"id":4891,"nodeType":"StructuredDocumentation","src":"4470:201:24","text":" @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1."},"id":4894,"mutability":"constant","name":"BEACON_SLOT","nameLocation":"4767:11:24","nodeType":"VariableDeclaration","scope":5006,"src":"4741:106:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4741:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307861336630616437346535343233616562666438306433656634333436353738333335613961373261656165653539666636636233353832623335313333643530","id":4893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4781:66:24","typeDescriptions":{"typeIdentifier":"t_rational_74152234768234802001998023604048924213078445070507226371336425913862612794704_by_1","typeString":"int_const 7415...(69 digits omitted)...4704"},"value":"0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50"},"visibility":"internal"},{"body":{"id":4906,"nodeType":"Block","src":"4963:69:24","statements":[{"expression":{"expression":{"arguments":[{"id":4902,"name":"BEACON_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4894,"src":"5007:11:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4900,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"4980:11:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$5694_$","typeString":"type(library StorageSlot)"}},"id":4901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4992:14:24","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":5616,"src":"4980:26:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$5590_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":4903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4980:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$5590_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":4904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5020:5:24","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":5589,"src":"4980:45:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":4899,"id":4905,"nodeType":"Return","src":"4973:52:24"}]},"documentation":{"id":4895,"nodeType":"StructuredDocumentation","src":"4854:51:24","text":" @dev Returns the current beacon."},"id":4907,"implemented":true,"kind":"function","modifiers":[],"name":"getBeacon","nameLocation":"4919:9:24","nodeType":"FunctionDefinition","parameters":{"id":4896,"nodeType":"ParameterList","parameters":[],"src":"4928:2:24"},"returnParameters":{"id":4899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4898,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4907,"src":"4954:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4897,"name":"address","nodeType":"ElementaryTypeName","src":"4954:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4953:9:24"},"scope":5006,"src":"4910:122:24","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4952,"nodeType":"Block","src":"5161:390:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":4913,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4910,"src":"5175:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5185:4:24","memberName":"code","nodeType":"MemberAccess","src":"5175:14:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5190:6:24","memberName":"length","nodeType":"MemberAccess","src":"5175:21:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5200:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5175:26:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4923,"nodeType":"IfStatement","src":"5171:95:24","trueBody":{"id":4922,"nodeType":"Block","src":"5203:63:24","statements":[{"errorCall":{"arguments":[{"id":4919,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4910,"src":"5245:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4918,"name":"ERC1967InvalidBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4748,"src":"5224:20:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5224:31:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4921,"nodeType":"RevertStatement","src":"5217:38:24"}]}},{"expression":{"id":4931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":4927,"name":"BEACON_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4894,"src":"5303:11:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4924,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"5276:11:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$5694_$","typeString":"type(library StorageSlot)"}},"id":4926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5288:14:24","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":5616,"src":"5276:26:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$5590_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":4928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5276:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$5590_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":4929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5316:5:24","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":5589,"src":"5276:45:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4930,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4910,"src":"5324:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5276:57:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4932,"nodeType":"ExpressionStatement","src":"5276:57:24"},{"assignments":[4934],"declarations":[{"constant":false,"id":4934,"mutability":"mutable","name":"beaconImplementation","nameLocation":"5352:20:24","nodeType":"VariableDeclaration","scope":4952,"src":"5344:28:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4933,"name":"address","nodeType":"ElementaryTypeName","src":"5344:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":4940,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":4936,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4910,"src":"5383:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4935,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5016,"src":"5375:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBeacon_$5016_$","typeString":"type(contract IBeacon)"}},"id":4937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5375:18:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBeacon_$5016","typeString":"contract IBeacon"}},"id":4938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5394:14:24","memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":5015,"src":"5375:33:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":4939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5375:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5344:66:24"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":4941,"name":"beaconImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4934,"src":"5424:20:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5445:4:24","memberName":"code","nodeType":"MemberAccess","src":"5424:25:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5450:6:24","memberName":"length","nodeType":"MemberAccess","src":"5424:32:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5460:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5424:37:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4951,"nodeType":"IfStatement","src":"5420:125:24","trueBody":{"id":4950,"nodeType":"Block","src":"5463:82:24","statements":[{"errorCall":{"arguments":[{"id":4947,"name":"beaconImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4934,"src":"5513:20:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4946,"name":"ERC1967InvalidImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4738,"src":"5484:28:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5484:50:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4949,"nodeType":"RevertStatement","src":"5477:57:24"}]}}]},"documentation":{"id":4908,"nodeType":"StructuredDocumentation","src":"5038:71:24","text":" @dev Stores a new beacon in the EIP1967 beacon slot."},"id":4953,"implemented":true,"kind":"function","modifiers":[],"name":"_setBeacon","nameLocation":"5123:10:24","nodeType":"FunctionDefinition","parameters":{"id":4911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4910,"mutability":"mutable","name":"newBeacon","nameLocation":"5142:9:24","nodeType":"VariableDeclaration","scope":4953,"src":"5134:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4909,"name":"address","nodeType":"ElementaryTypeName","src":"5134:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5133:19:24"},"returnParameters":{"id":4912,"nodeType":"ParameterList","parameters":[],"src":"5161:0:24"},"scope":5006,"src":"5114:437:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":4990,"nodeType":"Block","src":"6155:254:24","statements":[{"expression":{"arguments":[{"id":4962,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4956,"src":"6176:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4961,"name":"_setBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"6165:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6165:21:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4964,"nodeType":"ExpressionStatement","src":"6165:21:24"},{"eventCall":{"arguments":[{"id":4966,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4956,"src":"6216:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4965,"name":"BeaconUpgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4729,"src":"6201:14:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6201:25:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4968,"nodeType":"EmitStatement","src":"6196:30:24"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4969,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4958,"src":"6241:4:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6246:6:24","memberName":"length","nodeType":"MemberAccess","src":"6241:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6255:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6241:15:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4988,"nodeType":"Block","src":"6360:43:24","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4985,"name":"_checkNonPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5005,"src":"6374:16:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6374:18:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4987,"nodeType":"ExpressionStatement","src":"6374:18:24"}]},"id":4989,"nodeType":"IfStatement","src":"6237:166:24","trueBody":{"id":4984,"nodeType":"Block","src":"6258:96:24","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":4977,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4956,"src":"6309:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4976,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5016,"src":"6301:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBeacon_$5016_$","typeString":"type(contract IBeacon)"}},"id":4978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:18:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBeacon_$5016","typeString":"contract IBeacon"}},"id":4979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6320:14:24","memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":5015,"src":"6301:33:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":4980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4981,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4958,"src":"6338:4:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4973,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"6272:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$5584_$","typeString":"type(library Address)"}},"id":4975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6280:20:24","memberName":"functionDelegateCall","nodeType":"MemberAccess","referencedDeclaration":5503,"src":"6272:28:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory) returns (bytes memory)"}},"id":4982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6272:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4983,"nodeType":"ExpressionStatement","src":"6272:71:24"}]}}]},"documentation":{"id":4954,"nodeType":"StructuredDocumentation","src":"5557:514:24","text":" @dev Change the beacon and trigger a setup call if data is nonempty.\n This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n to avoid stuck value in the contract.\n Emits an {IERC1967-BeaconUpgraded} event.\n CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n efficiency."},"id":4991,"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeaconToAndCall","nameLocation":"6085:22:24","nodeType":"FunctionDefinition","parameters":{"id":4959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4956,"mutability":"mutable","name":"newBeacon","nameLocation":"6116:9:24","nodeType":"VariableDeclaration","scope":4991,"src":"6108:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4955,"name":"address","nodeType":"ElementaryTypeName","src":"6108:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4958,"mutability":"mutable","name":"data","nameLocation":"6140:4:24","nodeType":"VariableDeclaration","scope":4991,"src":"6127:17:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4957,"name":"bytes","nodeType":"ElementaryTypeName","src":"6127:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6107:38:24"},"returnParameters":{"id":4960,"nodeType":"ParameterList","parameters":[],"src":"6155:0:24"},"scope":5006,"src":"6076:333:24","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5004,"nodeType":"Block","src":"6634:86:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4995,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6648:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6652:5:24","memberName":"value","nodeType":"MemberAccess","src":"6648:9:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6660:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6648:13:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5003,"nodeType":"IfStatement","src":"6644:70:24","trueBody":{"id":5002,"nodeType":"Block","src":"6663:51:24","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4999,"name":"ERC1967NonPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4751,"src":"6684:17:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6684:19:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5001,"nodeType":"RevertStatement","src":"6677:26:24"}]}}]},"documentation":{"id":4992,"nodeType":"StructuredDocumentation","src":"6415:178:24","text":" @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n if an upgrade doesn't perform an initialization call."},"id":5005,"implemented":true,"kind":"function","modifiers":[],"name":"_checkNonPayable","nameLocation":"6607:16:24","nodeType":"FunctionDefinition","parameters":{"id":4993,"nodeType":"ParameterList","parameters":[],"src":"6623:2:24"},"returnParameters":{"id":4994,"nodeType":"ParameterList","parameters":[],"src":"6634:0:24"},"scope":5006,"src":"6598:122:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":5007,"src":"449:6273:24","usedErrors":[4738,4743,4748,4751],"usedEvents":[4717,4724,4729]}],"src":"114:6609:24"},"id":24},"@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/proxy/beacon/IBeacon.sol","exportedSymbols":{"IBeacon":[5016]},"id":5017,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5008,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"108:24:25"},{"abstract":false,"baseContracts":[],"canonicalName":"IBeacon","contractDependencies":[],"contractKind":"interface","documentation":{"id":5009,"nodeType":"StructuredDocumentation","src":"134:79:25","text":" @dev This is the interface that {BeaconProxy} expects of its beacon."},"fullyImplemented":false,"id":5016,"linearizedBaseContracts":[5016],"name":"IBeacon","nameLocation":"224:7:25","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":5010,"nodeType":"StructuredDocumentation","src":"238:168:25","text":" @dev Must return an address that can be used as a delegate call target.\n {UpgradeableBeacon} will check that this address is a contract."},"functionSelector":"5c60da1b","id":5015,"implemented":false,"kind":"function","modifiers":[],"name":"implementation","nameLocation":"420:14:25","nodeType":"FunctionDefinition","parameters":{"id":5011,"nodeType":"ParameterList","parameters":[],"src":"434:2:25"},"returnParameters":{"id":5014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5015,"src":"460:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5012,"name":"address","nodeType":"ElementaryTypeName","src":"460:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"459:9:25"},"scope":5016,"src":"411:58:25","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":5017,"src":"214:257:25","usedErrors":[],"usedEvents":[]}],"src":"108:364:25"},"id":25},"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","exportedSymbols":{"IERC1155Receiver":[5058],"IERC165":[5961]},"id":5059,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5018,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"118:24:26"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../../utils/introspection/IERC165.sol","id":5020,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5059,"sourceUnit":5962,"src":"144:62:26","symbolAliases":[{"foreign":{"id":5019,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"152:7:26","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":5022,"name":"IERC165","nameLocations":["357:7:26"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"357:7:26"},"id":5023,"nodeType":"InheritanceSpecifier","src":"357:7:26"}],"canonicalName":"IERC1155Receiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":5021,"nodeType":"StructuredDocumentation","src":"208:118:26","text":" @dev Interface that must be implemented by smart contracts in order to receive\n ERC-1155 token transfers."},"fullyImplemented":false,"id":5058,"linearizedBaseContracts":[5058,5961],"name":"IERC1155Receiver","nameLocation":"337:16:26","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":5024,"nodeType":"StructuredDocumentation","src":"371:826:26","text":" @dev Handles the receipt of a single ERC1155 token type. This function is\n called at the end of a `safeTransferFrom` after the balance has been updated.\n NOTE: To accept the transfer, this must return\n `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n (i.e. 0xf23a6e61, or its own function selector).\n @param operator The address which initiated the transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param id The ID of the token being transferred\n @param value The amount of tokens being transferred\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed"},"functionSelector":"f23a6e61","id":5039,"implemented":false,"kind":"function","modifiers":[],"name":"onERC1155Received","nameLocation":"1211:17:26","nodeType":"FunctionDefinition","parameters":{"id":5035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5026,"mutability":"mutable","name":"operator","nameLocation":"1246:8:26","nodeType":"VariableDeclaration","scope":5039,"src":"1238:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5025,"name":"address","nodeType":"ElementaryTypeName","src":"1238:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5028,"mutability":"mutable","name":"from","nameLocation":"1272:4:26","nodeType":"VariableDeclaration","scope":5039,"src":"1264:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5027,"name":"address","nodeType":"ElementaryTypeName","src":"1264:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5030,"mutability":"mutable","name":"id","nameLocation":"1294:2:26","nodeType":"VariableDeclaration","scope":5039,"src":"1286:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5029,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5032,"mutability":"mutable","name":"value","nameLocation":"1314:5:26","nodeType":"VariableDeclaration","scope":5039,"src":"1306:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5031,"name":"uint256","nodeType":"ElementaryTypeName","src":"1306:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5034,"mutability":"mutable","name":"data","nameLocation":"1344:4:26","nodeType":"VariableDeclaration","scope":5039,"src":"1329:19:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5033,"name":"bytes","nodeType":"ElementaryTypeName","src":"1329:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1228:126:26"},"returnParameters":{"id":5038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5039,"src":"1373:6:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5036,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1373:6:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1372:8:26"},"scope":5058,"src":"1202:179:26","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":5040,"nodeType":"StructuredDocumentation","src":"1387:994:26","text":" @dev Handles the receipt of a multiple ERC1155 token types. This function\n is called at the end of a `safeBatchTransferFrom` after the balances have\n been updated.\n NOTE: To accept the transfer(s), this must return\n `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n (i.e. 0xbc197c81, or its own function selector).\n @param operator The address which initiated the batch transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param ids An array containing ids of each token being transferred (order and length must match values array)\n @param values An array containing amounts of each token being transferred (order and length must match ids array)\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed"},"functionSelector":"bc197c81","id":5057,"implemented":false,"kind":"function","modifiers":[],"name":"onERC1155BatchReceived","nameLocation":"2395:22:26","nodeType":"FunctionDefinition","parameters":{"id":5053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5042,"mutability":"mutable","name":"operator","nameLocation":"2435:8:26","nodeType":"VariableDeclaration","scope":5057,"src":"2427:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5041,"name":"address","nodeType":"ElementaryTypeName","src":"2427:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5044,"mutability":"mutable","name":"from","nameLocation":"2461:4:26","nodeType":"VariableDeclaration","scope":5057,"src":"2453:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5043,"name":"address","nodeType":"ElementaryTypeName","src":"2453:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5047,"mutability":"mutable","name":"ids","nameLocation":"2494:3:26","nodeType":"VariableDeclaration","scope":5057,"src":"2475:22:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5045,"name":"uint256","nodeType":"ElementaryTypeName","src":"2475:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5046,"nodeType":"ArrayTypeName","src":"2475:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5050,"mutability":"mutable","name":"values","nameLocation":"2526:6:26","nodeType":"VariableDeclaration","scope":5057,"src":"2507:25:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5048,"name":"uint256","nodeType":"ElementaryTypeName","src":"2507:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5049,"nodeType":"ArrayTypeName","src":"2507:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5052,"mutability":"mutable","name":"data","nameLocation":"2557:4:26","nodeType":"VariableDeclaration","scope":5057,"src":"2542:19:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5051,"name":"bytes","nodeType":"ElementaryTypeName","src":"2542:5:26","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2417:150:26"},"returnParameters":{"id":5056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5057,"src":"2586:6:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5054,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2586:6:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2585:8:26"},"scope":5058,"src":"2386:208:26","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":5059,"src":"327:2269:26","usedErrors":[],"usedEvents":[]}],"src":"118:2479:26"},"id":26},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","exportedSymbols":{"IERC20":[5136]},"id":5137,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5060,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"106:24:27"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":5061,"nodeType":"StructuredDocumentation","src":"132:70:27","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"id":5136,"linearizedBaseContracts":[5136],"name":"IERC20","nameLocation":"213:6:27","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":5062,"nodeType":"StructuredDocumentation","src":"226:158:27","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","id":5070,"name":"Transfer","nameLocation":"395:8:27","nodeType":"EventDefinition","parameters":{"id":5069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5064,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"420:4:27","nodeType":"VariableDeclaration","scope":5070,"src":"404:20:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5063,"name":"address","nodeType":"ElementaryTypeName","src":"404:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5066,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"442:2:27","nodeType":"VariableDeclaration","scope":5070,"src":"426:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5065,"name":"address","nodeType":"ElementaryTypeName","src":"426:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5068,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"454:5:27","nodeType":"VariableDeclaration","scope":5070,"src":"446:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5067,"name":"uint256","nodeType":"ElementaryTypeName","src":"446:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"403:57:27"},"src":"389:72:27"},{"anonymous":false,"documentation":{"id":5071,"nodeType":"StructuredDocumentation","src":"467:148:27","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","id":5079,"name":"Approval","nameLocation":"626:8:27","nodeType":"EventDefinition","parameters":{"id":5078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5073,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"651:5:27","nodeType":"VariableDeclaration","scope":5079,"src":"635:21:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5072,"name":"address","nodeType":"ElementaryTypeName","src":"635:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5075,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"674:7:27","nodeType":"VariableDeclaration","scope":5079,"src":"658:23:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5074,"name":"address","nodeType":"ElementaryTypeName","src":"658:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5077,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"691:5:27","nodeType":"VariableDeclaration","scope":5079,"src":"683:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5076,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"634:63:27"},"src":"620:78:27"},{"documentation":{"id":5080,"nodeType":"StructuredDocumentation","src":"704:65:27","text":" @dev Returns the value of tokens in existence."},"functionSelector":"18160ddd","id":5085,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:27","nodeType":"FunctionDefinition","parameters":{"id":5081,"nodeType":"ParameterList","parameters":[],"src":"794:2:27"},"returnParameters":{"id":5084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5083,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5085,"src":"820:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5082,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:27"},"scope":5136,"src":"774:55:27","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5086,"nodeType":"StructuredDocumentation","src":"835:71:27","text":" @dev Returns the value of tokens owned by `account`."},"functionSelector":"70a08231","id":5093,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"920:9:27","nodeType":"FunctionDefinition","parameters":{"id":5089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5088,"mutability":"mutable","name":"account","nameLocation":"938:7:27","nodeType":"VariableDeclaration","scope":5093,"src":"930:15:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5087,"name":"address","nodeType":"ElementaryTypeName","src":"930:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"929:17:27"},"returnParameters":{"id":5092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5093,"src":"970:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5090,"name":"uint256","nodeType":"ElementaryTypeName","src":"970:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"969:9:27"},"scope":5136,"src":"911:68:27","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5094,"nodeType":"StructuredDocumentation","src":"985:213:27","text":" @dev Moves a `value` amount of 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","id":5103,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1212:8:27","nodeType":"FunctionDefinition","parameters":{"id":5099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5096,"mutability":"mutable","name":"to","nameLocation":"1229:2:27","nodeType":"VariableDeclaration","scope":5103,"src":"1221:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5095,"name":"address","nodeType":"ElementaryTypeName","src":"1221:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5098,"mutability":"mutable","name":"value","nameLocation":"1241:5:27","nodeType":"VariableDeclaration","scope":5103,"src":"1233:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5097,"name":"uint256","nodeType":"ElementaryTypeName","src":"1233:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1220:27:27"},"returnParameters":{"id":5102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5101,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5103,"src":"1266:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5100,"name":"bool","nodeType":"ElementaryTypeName","src":"1266:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1265:6:27"},"scope":5136,"src":"1203:69:27","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":5104,"nodeType":"StructuredDocumentation","src":"1278:264:27","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","id":5113,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1556:9:27","nodeType":"FunctionDefinition","parameters":{"id":5109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5106,"mutability":"mutable","name":"owner","nameLocation":"1574:5:27","nodeType":"VariableDeclaration","scope":5113,"src":"1566:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5105,"name":"address","nodeType":"ElementaryTypeName","src":"1566:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5108,"mutability":"mutable","name":"spender","nameLocation":"1589:7:27","nodeType":"VariableDeclaration","scope":5113,"src":"1581:15:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5107,"name":"address","nodeType":"ElementaryTypeName","src":"1581:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1565:32:27"},"returnParameters":{"id":5112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5113,"src":"1621:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5110,"name":"uint256","nodeType":"ElementaryTypeName","src":"1621:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1620:9:27"},"scope":5136,"src":"1547:83:27","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5114,"nodeType":"StructuredDocumentation","src":"1636:667:27","text":" @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n 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","id":5123,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2317:7:27","nodeType":"FunctionDefinition","parameters":{"id":5119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5116,"mutability":"mutable","name":"spender","nameLocation":"2333:7:27","nodeType":"VariableDeclaration","scope":5123,"src":"2325:15:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5115,"name":"address","nodeType":"ElementaryTypeName","src":"2325:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5118,"mutability":"mutable","name":"value","nameLocation":"2350:5:27","nodeType":"VariableDeclaration","scope":5123,"src":"2342:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5117,"name":"uint256","nodeType":"ElementaryTypeName","src":"2342:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2324:32:27"},"returnParameters":{"id":5122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5123,"src":"2375:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5120,"name":"bool","nodeType":"ElementaryTypeName","src":"2375:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2374:6:27"},"scope":5136,"src":"2308:73:27","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":5124,"nodeType":"StructuredDocumentation","src":"2387:297:27","text":" @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` 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","id":5135,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2698:12:27","nodeType":"FunctionDefinition","parameters":{"id":5131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5126,"mutability":"mutable","name":"from","nameLocation":"2719:4:27","nodeType":"VariableDeclaration","scope":5135,"src":"2711:12:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5125,"name":"address","nodeType":"ElementaryTypeName","src":"2711:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5128,"mutability":"mutable","name":"to","nameLocation":"2733:2:27","nodeType":"VariableDeclaration","scope":5135,"src":"2725:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5127,"name":"address","nodeType":"ElementaryTypeName","src":"2725:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5130,"mutability":"mutable","name":"value","nameLocation":"2745:5:27","nodeType":"VariableDeclaration","scope":5135,"src":"2737:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5129,"name":"uint256","nodeType":"ElementaryTypeName","src":"2737:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2710:41:27"},"returnParameters":{"id":5134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5135,"src":"2770:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5132,"name":"bool","nodeType":"ElementaryTypeName","src":"2770:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2769:6:27"},"scope":5136,"src":"2689:87:27","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":5137,"src":"203:2575:27","usedErrors":[],"usedEvents":[5070,5079]}],"src":"106:2673:27"},"id":27},"@openzeppelin/contracts/token/ERC721/IERC721.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","exportedSymbols":{"IERC165":[5961],"IERC721":[5253]},"id":5254,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5138,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"108:24:28"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../../utils/introspection/IERC165.sol","id":5140,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5254,"sourceUnit":5962,"src":"134:62:28","symbolAliases":[{"foreign":{"id":5139,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"142:7:28","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":5142,"name":"IERC165","nameLocations":["287:7:28"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"287:7:28"},"id":5143,"nodeType":"InheritanceSpecifier","src":"287:7:28"}],"canonicalName":"IERC721","contractDependencies":[],"contractKind":"interface","documentation":{"id":5141,"nodeType":"StructuredDocumentation","src":"198:67:28","text":" @dev Required interface of an ERC721 compliant contract."},"fullyImplemented":false,"id":5253,"linearizedBaseContracts":[5253,5961],"name":"IERC721","nameLocation":"276:7:28","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":5144,"nodeType":"StructuredDocumentation","src":"301:88:28","text":" @dev Emitted when `tokenId` token is transferred from `from` to `to`."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":5152,"name":"Transfer","nameLocation":"400:8:28","nodeType":"EventDefinition","parameters":{"id":5151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5146,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"425:4:28","nodeType":"VariableDeclaration","scope":5152,"src":"409:20:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5145,"name":"address","nodeType":"ElementaryTypeName","src":"409:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5148,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"447:2:28","nodeType":"VariableDeclaration","scope":5152,"src":"431:18:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5147,"name":"address","nodeType":"ElementaryTypeName","src":"431:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5150,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"467:7:28","nodeType":"VariableDeclaration","scope":5152,"src":"451:23:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5149,"name":"uint256","nodeType":"ElementaryTypeName","src":"451:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"408:67:28"},"src":"394:82:28"},{"anonymous":false,"documentation":{"id":5153,"nodeType":"StructuredDocumentation","src":"482:94:28","text":" @dev Emitted when `owner` enables `approved` to manage the `tokenId` token."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":5161,"name":"Approval","nameLocation":"587:8:28","nodeType":"EventDefinition","parameters":{"id":5160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5155,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"612:5:28","nodeType":"VariableDeclaration","scope":5161,"src":"596:21:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5154,"name":"address","nodeType":"ElementaryTypeName","src":"596:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5157,"indexed":true,"mutability":"mutable","name":"approved","nameLocation":"635:8:28","nodeType":"VariableDeclaration","scope":5161,"src":"619:24:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5156,"name":"address","nodeType":"ElementaryTypeName","src":"619:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5159,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"661:7:28","nodeType":"VariableDeclaration","scope":5161,"src":"645:23:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5158,"name":"uint256","nodeType":"ElementaryTypeName","src":"645:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"595:74:28"},"src":"581:89:28"},{"anonymous":false,"documentation":{"id":5162,"nodeType":"StructuredDocumentation","src":"676:117:28","text":" @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."},"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","id":5170,"name":"ApprovalForAll","nameLocation":"804:14:28","nodeType":"EventDefinition","parameters":{"id":5169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5164,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"835:5:28","nodeType":"VariableDeclaration","scope":5170,"src":"819:21:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5163,"name":"address","nodeType":"ElementaryTypeName","src":"819:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5166,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"858:8:28","nodeType":"VariableDeclaration","scope":5170,"src":"842:24:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5165,"name":"address","nodeType":"ElementaryTypeName","src":"842:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5168,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"873:8:28","nodeType":"VariableDeclaration","scope":5170,"src":"868:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5167,"name":"bool","nodeType":"ElementaryTypeName","src":"868:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"818:64:28"},"src":"798:85:28"},{"documentation":{"id":5171,"nodeType":"StructuredDocumentation","src":"889:76:28","text":" @dev Returns the number of tokens in ``owner``'s account."},"functionSelector":"70a08231","id":5178,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"979:9:28","nodeType":"FunctionDefinition","parameters":{"id":5174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5173,"mutability":"mutable","name":"owner","nameLocation":"997:5:28","nodeType":"VariableDeclaration","scope":5178,"src":"989:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5172,"name":"address","nodeType":"ElementaryTypeName","src":"989:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"988:15:28"},"returnParameters":{"id":5177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5176,"mutability":"mutable","name":"balance","nameLocation":"1035:7:28","nodeType":"VariableDeclaration","scope":5178,"src":"1027:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5175,"name":"uint256","nodeType":"ElementaryTypeName","src":"1027:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1026:17:28"},"scope":5253,"src":"970:74:28","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5179,"nodeType":"StructuredDocumentation","src":"1050:131:28","text":" @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"6352211e","id":5186,"implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1195:7:28","nodeType":"FunctionDefinition","parameters":{"id":5182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5181,"mutability":"mutable","name":"tokenId","nameLocation":"1211:7:28","nodeType":"VariableDeclaration","scope":5186,"src":"1203:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5180,"name":"uint256","nodeType":"ElementaryTypeName","src":"1203:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1202:17:28"},"returnParameters":{"id":5185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5184,"mutability":"mutable","name":"owner","nameLocation":"1251:5:28","nodeType":"VariableDeclaration","scope":5186,"src":"1243:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5183,"name":"address","nodeType":"ElementaryTypeName","src":"1243:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1242:15:28"},"scope":5253,"src":"1186:72:28","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5187,"nodeType":"StructuredDocumentation","src":"1264:565:28","text":" @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon\n   a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"b88d4fde","id":5198,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1843:16:28","nodeType":"FunctionDefinition","parameters":{"id":5196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5189,"mutability":"mutable","name":"from","nameLocation":"1868:4:28","nodeType":"VariableDeclaration","scope":5198,"src":"1860:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5188,"name":"address","nodeType":"ElementaryTypeName","src":"1860:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5191,"mutability":"mutable","name":"to","nameLocation":"1882:2:28","nodeType":"VariableDeclaration","scope":5198,"src":"1874:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5190,"name":"address","nodeType":"ElementaryTypeName","src":"1874:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5193,"mutability":"mutable","name":"tokenId","nameLocation":"1894:7:28","nodeType":"VariableDeclaration","scope":5198,"src":"1886:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5192,"name":"uint256","nodeType":"ElementaryTypeName","src":"1886:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5195,"mutability":"mutable","name":"data","nameLocation":"1918:4:28","nodeType":"VariableDeclaration","scope":5198,"src":"1903:19:28","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5194,"name":"bytes","nodeType":"ElementaryTypeName","src":"1903:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1859:64:28"},"returnParameters":{"id":5197,"nodeType":"ParameterList","parameters":[],"src":"1932:0:28"},"scope":5253,"src":"1834:99:28","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":5199,"nodeType":"StructuredDocumentation","src":"1939:705:28","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or\n   {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon\n   a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"42842e0e","id":5208,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"2658:16:28","nodeType":"FunctionDefinition","parameters":{"id":5206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5201,"mutability":"mutable","name":"from","nameLocation":"2683:4:28","nodeType":"VariableDeclaration","scope":5208,"src":"2675:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5200,"name":"address","nodeType":"ElementaryTypeName","src":"2675:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5203,"mutability":"mutable","name":"to","nameLocation":"2697:2:28","nodeType":"VariableDeclaration","scope":5208,"src":"2689:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5202,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5205,"mutability":"mutable","name":"tokenId","nameLocation":"2709:7:28","nodeType":"VariableDeclaration","scope":5208,"src":"2701:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5204,"name":"uint256","nodeType":"ElementaryTypeName","src":"2701:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2674:43:28"},"returnParameters":{"id":5207,"nodeType":"ParameterList","parameters":[],"src":"2726:0:28"},"scope":5253,"src":"2649:78:28","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":5209,"nodeType":"StructuredDocumentation","src":"2733:732:28","text":" @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":5218,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3479:12:28","nodeType":"FunctionDefinition","parameters":{"id":5216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5211,"mutability":"mutable","name":"from","nameLocation":"3500:4:28","nodeType":"VariableDeclaration","scope":5218,"src":"3492:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5210,"name":"address","nodeType":"ElementaryTypeName","src":"3492:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5213,"mutability":"mutable","name":"to","nameLocation":"3514:2:28","nodeType":"VariableDeclaration","scope":5218,"src":"3506:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5212,"name":"address","nodeType":"ElementaryTypeName","src":"3506:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5215,"mutability":"mutable","name":"tokenId","nameLocation":"3526:7:28","nodeType":"VariableDeclaration","scope":5218,"src":"3518:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5214,"name":"uint256","nodeType":"ElementaryTypeName","src":"3518:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3491:43:28"},"returnParameters":{"id":5217,"nodeType":"ParameterList","parameters":[],"src":"3543:0:28"},"scope":5253,"src":"3470:74:28","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":5219,"nodeType":"StructuredDocumentation","src":"3550:452:28","text":" @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":5226,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4016:7:28","nodeType":"FunctionDefinition","parameters":{"id":5224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5221,"mutability":"mutable","name":"to","nameLocation":"4032:2:28","nodeType":"VariableDeclaration","scope":5226,"src":"4024:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5220,"name":"address","nodeType":"ElementaryTypeName","src":"4024:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5223,"mutability":"mutable","name":"tokenId","nameLocation":"4044:7:28","nodeType":"VariableDeclaration","scope":5226,"src":"4036:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5222,"name":"uint256","nodeType":"ElementaryTypeName","src":"4036:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4023:29:28"},"returnParameters":{"id":5225,"nodeType":"ParameterList","parameters":[],"src":"4061:0:28"},"scope":5253,"src":"4007:55:28","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":5227,"nodeType":"StructuredDocumentation","src":"4068:315:28","text":" @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the address zero.\n Emits an {ApprovalForAll} event."},"functionSelector":"a22cb465","id":5234,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4397:17:28","nodeType":"FunctionDefinition","parameters":{"id":5232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5229,"mutability":"mutable","name":"operator","nameLocation":"4423:8:28","nodeType":"VariableDeclaration","scope":5234,"src":"4415:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5228,"name":"address","nodeType":"ElementaryTypeName","src":"4415:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5231,"mutability":"mutable","name":"approved","nameLocation":"4438:8:28","nodeType":"VariableDeclaration","scope":5234,"src":"4433:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5230,"name":"bool","nodeType":"ElementaryTypeName","src":"4433:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4414:33:28"},"returnParameters":{"id":5233,"nodeType":"ParameterList","parameters":[],"src":"4456:0:28"},"scope":5253,"src":"4388:69:28","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":5235,"nodeType":"StructuredDocumentation","src":"4463:139:28","text":" @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"081812fc","id":5242,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"4616:11:28","nodeType":"FunctionDefinition","parameters":{"id":5238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5237,"mutability":"mutable","name":"tokenId","nameLocation":"4636:7:28","nodeType":"VariableDeclaration","scope":5242,"src":"4628:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5236,"name":"uint256","nodeType":"ElementaryTypeName","src":"4628:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4627:17:28"},"returnParameters":{"id":5241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5240,"mutability":"mutable","name":"operator","nameLocation":"4676:8:28","nodeType":"VariableDeclaration","scope":5242,"src":"4668:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5239,"name":"address","nodeType":"ElementaryTypeName","src":"4668:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4667:18:28"},"scope":5253,"src":"4607:79:28","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5243,"nodeType":"StructuredDocumentation","src":"4692:138:28","text":" @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}"},"functionSelector":"e985e9c5","id":5252,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4844:16:28","nodeType":"FunctionDefinition","parameters":{"id":5248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5245,"mutability":"mutable","name":"owner","nameLocation":"4869:5:28","nodeType":"VariableDeclaration","scope":5252,"src":"4861:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5244,"name":"address","nodeType":"ElementaryTypeName","src":"4861:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5247,"mutability":"mutable","name":"operator","nameLocation":"4884:8:28","nodeType":"VariableDeclaration","scope":5252,"src":"4876:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5246,"name":"address","nodeType":"ElementaryTypeName","src":"4876:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4860:33:28"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5252,"src":"4917:4:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5249,"name":"bool","nodeType":"ElementaryTypeName","src":"4917:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4916:6:28"},"scope":5253,"src":"4835:88:28","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":5254,"src":"266:4659:28","usedErrors":[],"usedEvents":[5152,5161,5170]}],"src":"108:4818:28"},"id":28},"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","exportedSymbols":{"IERC721Receiver":[5271]},"id":5272,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5255,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"116:24:29"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC721Receiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":5256,"nodeType":"StructuredDocumentation","src":"142:152:29","text":" @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts."},"fullyImplemented":false,"id":5271,"linearizedBaseContracts":[5271],"name":"IERC721Receiver","nameLocation":"305:15:29","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":5257,"nodeType":"StructuredDocumentation","src":"327:500:29","text":" @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be\n reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`."},"functionSelector":"150b7a02","id":5270,"implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"841:16:29","nodeType":"FunctionDefinition","parameters":{"id":5266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5259,"mutability":"mutable","name":"operator","nameLocation":"875:8:29","nodeType":"VariableDeclaration","scope":5270,"src":"867:16:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5258,"name":"address","nodeType":"ElementaryTypeName","src":"867:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5261,"mutability":"mutable","name":"from","nameLocation":"901:4:29","nodeType":"VariableDeclaration","scope":5270,"src":"893:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5260,"name":"address","nodeType":"ElementaryTypeName","src":"893:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5263,"mutability":"mutable","name":"tokenId","nameLocation":"923:7:29","nodeType":"VariableDeclaration","scope":5270,"src":"915:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5262,"name":"uint256","nodeType":"ElementaryTypeName","src":"915:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5265,"mutability":"mutable","name":"data","nameLocation":"955:4:29","nodeType":"VariableDeclaration","scope":5270,"src":"940:19:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5264,"name":"bytes","nodeType":"ElementaryTypeName","src":"940:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"857:108:29"},"returnParameters":{"id":5269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5270,"src":"984:6:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5267,"name":"bytes4","nodeType":"ElementaryTypeName","src":"984:6:29","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"983:8:29"},"scope":5271,"src":"832:160:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":5272,"src":"295:699:29","usedErrors":[],"usedEvents":[]}],"src":"116:879:29"},"id":29},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol","exportedSymbols":{"IERC721":[5253],"IERC721Enumerable":[5303]},"id":5304,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5273,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"129:24:30"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../IERC721.sol","id":5275,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5304,"sourceUnit":5254,"src":"155:39:30","symbolAliases":[{"foreign":{"id":5274,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5253,"src":"163:7:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":5277,"name":"IERC721","nameLocations":["364:7:30"],"nodeType":"IdentifierPath","referencedDeclaration":5253,"src":"364:7:30"},"id":5278,"nodeType":"InheritanceSpecifier","src":"364:7:30"}],"canonicalName":"IERC721Enumerable","contractDependencies":[],"contractKind":"interface","documentation":{"id":5276,"nodeType":"StructuredDocumentation","src":"196:136:30","text":" @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n @dev See https://eips.ethereum.org/EIPS/eip-721"},"fullyImplemented":false,"id":5303,"linearizedBaseContracts":[5303,5253,5961],"name":"IERC721Enumerable","nameLocation":"343:17:30","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":5279,"nodeType":"StructuredDocumentation","src":"378:82:30","text":" @dev Returns the total amount of tokens stored by the contract."},"functionSelector":"18160ddd","id":5284,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"474:11:30","nodeType":"FunctionDefinition","parameters":{"id":5280,"nodeType":"ParameterList","parameters":[],"src":"485:2:30"},"returnParameters":{"id":5283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5284,"src":"511:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5281,"name":"uint256","nodeType":"ElementaryTypeName","src":"511:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"510:9:30"},"scope":5303,"src":"465:55:30","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5285,"nodeType":"StructuredDocumentation","src":"526:171:30","text":" @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n Use along with {balanceOf} to enumerate all of ``owner``'s tokens."},"functionSelector":"2f745c59","id":5294,"implemented":false,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"711:19:30","nodeType":"FunctionDefinition","parameters":{"id":5290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5287,"mutability":"mutable","name":"owner","nameLocation":"739:5:30","nodeType":"VariableDeclaration","scope":5294,"src":"731:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5286,"name":"address","nodeType":"ElementaryTypeName","src":"731:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5289,"mutability":"mutable","name":"index","nameLocation":"754:5:30","nodeType":"VariableDeclaration","scope":5294,"src":"746:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5288,"name":"uint256","nodeType":"ElementaryTypeName","src":"746:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"730:30:30"},"returnParameters":{"id":5293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5294,"src":"784:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5291,"name":"uint256","nodeType":"ElementaryTypeName","src":"784:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"783:9:30"},"scope":5303,"src":"702:91:30","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5295,"nodeType":"StructuredDocumentation","src":"799:164:30","text":" @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n Use along with {totalSupply} to enumerate all tokens."},"functionSelector":"4f6ccce7","id":5302,"implemented":false,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"977:12:30","nodeType":"FunctionDefinition","parameters":{"id":5298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5297,"mutability":"mutable","name":"index","nameLocation":"998:5:30","nodeType":"VariableDeclaration","scope":5302,"src":"990:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5296,"name":"uint256","nodeType":"ElementaryTypeName","src":"990:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"989:15:30"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5302,"src":"1028:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5299,"name":"uint256","nodeType":"ElementaryTypeName","src":"1028:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1027:9:30"},"scope":5303,"src":"968:69:30","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":5304,"src":"333:706:30","usedErrors":[],"usedEvents":[5152,5161,5170]}],"src":"129:911:30"},"id":30},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","exportedSymbols":{"IERC721":[5253],"IERC721Metadata":[5331]},"id":5332,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5305,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"127:24:31"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../IERC721.sol","id":5307,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5332,"sourceUnit":5254,"src":"153:39:31","symbolAliases":[{"foreign":{"id":5306,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5253,"src":"161:7:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":5309,"name":"IERC721","nameLocations":["357:7:31"],"nodeType":"IdentifierPath","referencedDeclaration":5253,"src":"357:7:31"},"id":5310,"nodeType":"InheritanceSpecifier","src":"357:7:31"}],"canonicalName":"IERC721Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":5308,"nodeType":"StructuredDocumentation","src":"194:133:31","text":" @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721"},"fullyImplemented":false,"id":5331,"linearizedBaseContracts":[5331,5253,5961],"name":"IERC721Metadata","nameLocation":"338:15:31","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":5311,"nodeType":"StructuredDocumentation","src":"371:58:31","text":" @dev Returns the token collection name."},"functionSelector":"06fdde03","id":5316,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"443:4:31","nodeType":"FunctionDefinition","parameters":{"id":5312,"nodeType":"ParameterList","parameters":[],"src":"447:2:31"},"returnParameters":{"id":5315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5316,"src":"473:13:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5313,"name":"string","nodeType":"ElementaryTypeName","src":"473:6:31","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"472:15:31"},"scope":5331,"src":"434:54:31","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5317,"nodeType":"StructuredDocumentation","src":"494:60:31","text":" @dev Returns the token collection symbol."},"functionSelector":"95d89b41","id":5322,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"568:6:31","nodeType":"FunctionDefinition","parameters":{"id":5318,"nodeType":"ParameterList","parameters":[],"src":"574:2:31"},"returnParameters":{"id":5321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5320,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5322,"src":"600:13:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5319,"name":"string","nodeType":"ElementaryTypeName","src":"600:6:31","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"599:15:31"},"scope":5331,"src":"559:56:31","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":5323,"nodeType":"StructuredDocumentation","src":"621:90:31","text":" @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"functionSelector":"c87b56dd","id":5330,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"725:8:31","nodeType":"FunctionDefinition","parameters":{"id":5326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5325,"mutability":"mutable","name":"tokenId","nameLocation":"742:7:31","nodeType":"VariableDeclaration","scope":5330,"src":"734:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5324,"name":"uint256","nodeType":"ElementaryTypeName","src":"734:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"733:17:31"},"returnParameters":{"id":5329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5330,"src":"774:13:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5327,"name":"string","nodeType":"ElementaryTypeName","src":"774:6:31","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"773:15:31"},"scope":5331,"src":"716:73:31","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":5332,"src":"328:463:31","usedErrors":[],"usedEvents":[5152,5161,5170]}],"src":"127:665:31"},"id":31},"@openzeppelin/contracts/utils/Address.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","exportedSymbols":{"Address":[5584]},"id":5585,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5333,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"101:24:32"},{"abstract":false,"baseContracts":[],"canonicalName":"Address","contractDependencies":[],"contractKind":"library","documentation":{"id":5334,"nodeType":"StructuredDocumentation","src":"127:67:32","text":" @dev Collection of functions related to the address type"},"fullyImplemented":true,"id":5584,"linearizedBaseContracts":[5584],"name":"Address","nameLocation":"203:7:32","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":5335,"nodeType":"StructuredDocumentation","src":"217:94:32","text":" @dev The ETH balance of the account is not enough to perform the operation."},"errorSelector":"cd786059","id":5339,"name":"AddressInsufficientBalance","nameLocation":"322:26:32","nodeType":"ErrorDefinition","parameters":{"id":5338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5337,"mutability":"mutable","name":"account","nameLocation":"357:7:32","nodeType":"VariableDeclaration","scope":5339,"src":"349:15:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5336,"name":"address","nodeType":"ElementaryTypeName","src":"349:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"348:17:32"},"src":"316:50:32"},{"documentation":{"id":5340,"nodeType":"StructuredDocumentation","src":"372:75:32","text":" @dev There's no code at `target` (it is not a contract)."},"errorSelector":"9996b315","id":5344,"name":"AddressEmptyCode","nameLocation":"458:16:32","nodeType":"ErrorDefinition","parameters":{"id":5343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5342,"mutability":"mutable","name":"target","nameLocation":"483:6:32","nodeType":"VariableDeclaration","scope":5344,"src":"475:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5341,"name":"address","nodeType":"ElementaryTypeName","src":"475:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"474:16:32"},"src":"452:39:32"},{"documentation":{"id":5345,"nodeType":"StructuredDocumentation","src":"497:89:32","text":" @dev A call to an address target failed. The target may have reverted."},"errorSelector":"1425ea42","id":5347,"name":"FailedInnerCall","nameLocation":"597:15:32","nodeType":"ErrorDefinition","parameters":{"id":5346,"nodeType":"ParameterList","parameters":[],"src":"612:2:32"},"src":"591:24:32"},{"body":{"id":5387,"nodeType":"Block","src":"1602:260:32","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":5357,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1624:4:32","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$5584","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$5584","typeString":"library Address"}],"id":5356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1616:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5355,"name":"address","nodeType":"ElementaryTypeName","src":"1616:7:32","typeDescriptions":{}}},"id":5358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1616:13:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1630:7:32","memberName":"balance","nodeType":"MemberAccess","src":"1616:21:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5360,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5352,"src":"1640:6:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1616:30:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5370,"nodeType":"IfStatement","src":"1612:109:32","trueBody":{"id":5369,"nodeType":"Block","src":"1648:73:32","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":5365,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1704:4:32","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$5584","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$5584","typeString":"library Address"}],"id":5364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1696:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5363,"name":"address","nodeType":"ElementaryTypeName","src":"1696:7:32","typeDescriptions":{}}},"id":5366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1696:13:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5362,"name":"AddressInsufficientBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5339,"src":"1669:26:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":5367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1669:41:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5368,"nodeType":"RevertStatement","src":"1662:48:32"}]}},{"assignments":[5372,null],"declarations":[{"constant":false,"id":5372,"mutability":"mutable","name":"success","nameLocation":"1737:7:32","nodeType":"VariableDeclaration","scope":5387,"src":"1732:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5371,"name":"bool","nodeType":"ElementaryTypeName","src":"1732:4:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":5379,"initialValue":{"arguments":[{"hexValue":"","id":5377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1780:2:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":5373,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5350,"src":"1750:9:32","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":5374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1760:4:32","memberName":"call","nodeType":"MemberAccess","src":"1750:14:32","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":5376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":5375,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5352,"src":"1772:6:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"1750:29:32","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":5378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1750:33:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1731:52:32"},{"condition":{"id":5381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1797:8:32","subExpression":{"id":5380,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5372,"src":"1798:7:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5386,"nodeType":"IfStatement","src":"1793:63:32","trueBody":{"id":5385,"nodeType":"Block","src":"1807:49:32","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5382,"name":"FailedInnerCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5347,"src":"1828:15:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1828:17:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5384,"nodeType":"RevertStatement","src":"1821:24:32"}]}}]},"documentation":{"id":5348,"nodeType":"StructuredDocumentation","src":"621:905:32","text":" @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]."},"id":5388,"implemented":true,"kind":"function","modifiers":[],"name":"sendValue","nameLocation":"1540:9:32","nodeType":"FunctionDefinition","parameters":{"id":5353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5350,"mutability":"mutable","name":"recipient","nameLocation":"1566:9:32","nodeType":"VariableDeclaration","scope":5388,"src":"1550:25:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":5349,"name":"address","nodeType":"ElementaryTypeName","src":"1550:15:32","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":5352,"mutability":"mutable","name":"amount","nameLocation":"1585:6:32","nodeType":"VariableDeclaration","scope":5388,"src":"1577:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5351,"name":"uint256","nodeType":"ElementaryTypeName","src":"1577:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1549:43:32"},"returnParameters":{"id":5354,"nodeType":"ParameterList","parameters":[],"src":"1602:0:32"},"scope":5584,"src":"1531:331:32","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5404,"nodeType":"Block","src":"2794:62:32","statements":[{"expression":{"arguments":[{"id":5399,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5391,"src":"2833:6:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5400,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5393,"src":"2841:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":5401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2847:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5398,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5451,"src":"2811:21:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256) returns (bytes memory)"}},"id":5402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2811:38:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":5397,"id":5403,"nodeType":"Return","src":"2804:45:32"}]},"documentation":{"id":5389,"nodeType":"StructuredDocumentation","src":"1868:832:32","text":" @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason or custom error, it is bubbled\n up by this function (like regular Solidity function calls). However, if\n the call reverted with no returned reason, this function reverts with a\n {FailedInnerCall} error.\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert."},"id":5405,"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"2714:12:32","nodeType":"FunctionDefinition","parameters":{"id":5394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5391,"mutability":"mutable","name":"target","nameLocation":"2735:6:32","nodeType":"VariableDeclaration","scope":5405,"src":"2727:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5390,"name":"address","nodeType":"ElementaryTypeName","src":"2727:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5393,"mutability":"mutable","name":"data","nameLocation":"2756:4:32","nodeType":"VariableDeclaration","scope":5405,"src":"2743:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5392,"name":"bytes","nodeType":"ElementaryTypeName","src":"2743:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2726:35:32"},"returnParameters":{"id":5397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5396,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5405,"src":"2780:12:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5395,"name":"bytes","nodeType":"ElementaryTypeName","src":"2780:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2779:14:32"},"scope":5584,"src":"2705:151:32","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5450,"nodeType":"Block","src":"3293:279:32","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":5419,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3315:4:32","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$5584","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$5584","typeString":"library Address"}],"id":5418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3307:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5417,"name":"address","nodeType":"ElementaryTypeName","src":"3307:7:32","typeDescriptions":{}}},"id":5420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3307:13:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3321:7:32","memberName":"balance","nodeType":"MemberAccess","src":"3307:21:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5422,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5412,"src":"3331:5:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3307:29:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5432,"nodeType":"IfStatement","src":"3303:108:32","trueBody":{"id":5431,"nodeType":"Block","src":"3338:73:32","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":5427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3394:4:32","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$5584","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$5584","typeString":"library Address"}],"id":5426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3386:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5425,"name":"address","nodeType":"ElementaryTypeName","src":"3386:7:32","typeDescriptions":{}}},"id":5428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3386:13:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5424,"name":"AddressInsufficientBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5339,"src":"3359:26:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":5429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3359:41:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5430,"nodeType":"RevertStatement","src":"3352:48:32"}]}},{"assignments":[5434,5436],"declarations":[{"constant":false,"id":5434,"mutability":"mutable","name":"success","nameLocation":"3426:7:32","nodeType":"VariableDeclaration","scope":5450,"src":"3421:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5433,"name":"bool","nodeType":"ElementaryTypeName","src":"3421:4:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5436,"mutability":"mutable","name":"returndata","nameLocation":"3448:10:32","nodeType":"VariableDeclaration","scope":5450,"src":"3435:23:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5435,"name":"bytes","nodeType":"ElementaryTypeName","src":"3435:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5443,"initialValue":{"arguments":[{"id":5441,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5410,"src":"3488:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5437,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5408,"src":"3462:6:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3469:4:32","memberName":"call","nodeType":"MemberAccess","src":"3462:11:32","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":5440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":5439,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5412,"src":"3481:5:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"3462:25:32","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":5442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3462:31:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3420:73:32"},{"expression":{"arguments":[{"id":5445,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5408,"src":"3537:6:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5446,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5434,"src":"3545:7:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":5447,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5436,"src":"3554:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5444,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5543,"src":"3510:26:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory) view returns (bytes memory)"}},"id":5448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3510:55:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":5416,"id":5449,"nodeType":"Return","src":"3503:62:32"}]},"documentation":{"id":5406,"nodeType":"StructuredDocumentation","src":"2862:313:32","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`."},"id":5451,"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"3189:21:32","nodeType":"FunctionDefinition","parameters":{"id":5413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5408,"mutability":"mutable","name":"target","nameLocation":"3219:6:32","nodeType":"VariableDeclaration","scope":5451,"src":"3211:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5407,"name":"address","nodeType":"ElementaryTypeName","src":"3211:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5410,"mutability":"mutable","name":"data","nameLocation":"3240:4:32","nodeType":"VariableDeclaration","scope":5451,"src":"3227:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5409,"name":"bytes","nodeType":"ElementaryTypeName","src":"3227:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":5412,"mutability":"mutable","name":"value","nameLocation":"3254:5:32","nodeType":"VariableDeclaration","scope":5451,"src":"3246:13:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5411,"name":"uint256","nodeType":"ElementaryTypeName","src":"3246:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3210:50:32"},"returnParameters":{"id":5416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5451,"src":"3279:12:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5414,"name":"bytes","nodeType":"ElementaryTypeName","src":"3279:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3278:14:32"},"scope":5584,"src":"3180:392:32","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5476,"nodeType":"Block","src":"3811:154:32","statements":[{"assignments":[5462,5464],"declarations":[{"constant":false,"id":5462,"mutability":"mutable","name":"success","nameLocation":"3827:7:32","nodeType":"VariableDeclaration","scope":5476,"src":"3822:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5461,"name":"bool","nodeType":"ElementaryTypeName","src":"3822:4:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5464,"mutability":"mutable","name":"returndata","nameLocation":"3849:10:32","nodeType":"VariableDeclaration","scope":5476,"src":"3836:23:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5463,"name":"bytes","nodeType":"ElementaryTypeName","src":"3836:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5469,"initialValue":{"arguments":[{"id":5467,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5456,"src":"3881:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5465,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"3863:6:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3870:10:32","memberName":"staticcall","nodeType":"MemberAccess","src":"3863:17:32","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":5468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3863:23:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3821:65:32"},{"expression":{"arguments":[{"id":5471,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"3930:6:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5472,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5462,"src":"3938:7:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":5473,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5464,"src":"3947:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5470,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5543,"src":"3903:26:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory) view returns (bytes memory)"}},"id":5474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3903:55:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":5460,"id":5475,"nodeType":"Return","src":"3896:62:32"}]},"documentation":{"id":5452,"nodeType":"StructuredDocumentation","src":"3578:128:32","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call."},"id":5477,"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"3720:18:32","nodeType":"FunctionDefinition","parameters":{"id":5457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5454,"mutability":"mutable","name":"target","nameLocation":"3747:6:32","nodeType":"VariableDeclaration","scope":5477,"src":"3739:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5453,"name":"address","nodeType":"ElementaryTypeName","src":"3739:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5456,"mutability":"mutable","name":"data","nameLocation":"3768:4:32","nodeType":"VariableDeclaration","scope":5477,"src":"3755:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5455,"name":"bytes","nodeType":"ElementaryTypeName","src":"3755:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3738:35:32"},"returnParameters":{"id":5460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5477,"src":"3797:12:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5458,"name":"bytes","nodeType":"ElementaryTypeName","src":"3797:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3796:14:32"},"scope":5584,"src":"3711:254:32","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":5502,"nodeType":"Block","src":"4203:156:32","statements":[{"assignments":[5488,5490],"declarations":[{"constant":false,"id":5488,"mutability":"mutable","name":"success","nameLocation":"4219:7:32","nodeType":"VariableDeclaration","scope":5502,"src":"4214:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5487,"name":"bool","nodeType":"ElementaryTypeName","src":"4214:4:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5490,"mutability":"mutable","name":"returndata","nameLocation":"4241:10:32","nodeType":"VariableDeclaration","scope":5502,"src":"4228:23:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5489,"name":"bytes","nodeType":"ElementaryTypeName","src":"4228:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5495,"initialValue":{"arguments":[{"id":5493,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5482,"src":"4275:4:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5491,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5480,"src":"4255:6:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4262:12:32","memberName":"delegatecall","nodeType":"MemberAccess","src":"4255:19:32","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":5494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4255:25:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4213:67:32"},{"expression":{"arguments":[{"id":5497,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5480,"src":"4324:6:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5498,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5488,"src":"4332:7:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":5499,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5490,"src":"4341:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5496,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5543,"src":"4297:26:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory) view returns (bytes memory)"}},"id":5500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:55:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":5486,"id":5501,"nodeType":"Return","src":"4290:62:32"}]},"documentation":{"id":5478,"nodeType":"StructuredDocumentation","src":"3971:130:32","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call."},"id":5503,"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"4115:20:32","nodeType":"FunctionDefinition","parameters":{"id":5483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5480,"mutability":"mutable","name":"target","nameLocation":"4144:6:32","nodeType":"VariableDeclaration","scope":5503,"src":"4136:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5479,"name":"address","nodeType":"ElementaryTypeName","src":"4136:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5482,"mutability":"mutable","name":"data","nameLocation":"4165:4:32","nodeType":"VariableDeclaration","scope":5503,"src":"4152:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5481,"name":"bytes","nodeType":"ElementaryTypeName","src":"4152:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4135:35:32"},"returnParameters":{"id":5486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5503,"src":"4189:12:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5484,"name":"bytes","nodeType":"ElementaryTypeName","src":"4189:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4188:14:32"},"scope":5584,"src":"4106:253:32","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5542,"nodeType":"Block","src":"4783:424:32","statements":[{"condition":{"id":5516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4797:8:32","subExpression":{"id":5515,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5508,"src":"4798:7:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5540,"nodeType":"Block","src":"4857:344:32","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5522,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5510,"src":"5045:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5056:6:32","memberName":"length","nodeType":"MemberAccess","src":"5045:17:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5066:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5045:22:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":5526,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5506,"src":"5071:6:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5078:4:32","memberName":"code","nodeType":"MemberAccess","src":"5071:11:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5083:6:32","memberName":"length","nodeType":"MemberAccess","src":"5071:18:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5093:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5071:23:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5045:49:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5537,"nodeType":"IfStatement","src":"5041:119:32","trueBody":{"id":5536,"nodeType":"Block","src":"5096:64:32","statements":[{"errorCall":{"arguments":[{"id":5533,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5506,"src":"5138:6:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5532,"name":"AddressEmptyCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5344,"src":"5121:16:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":5534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5121:24:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5535,"nodeType":"RevertStatement","src":"5114:31:32"}]}},{"expression":{"id":5538,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5510,"src":"5180:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":5514,"id":5539,"nodeType":"Return","src":"5173:17:32"}]},"id":5541,"nodeType":"IfStatement","src":"4793:408:32","trueBody":{"id":5521,"nodeType":"Block","src":"4807:44:32","statements":[{"expression":{"arguments":[{"id":5518,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5510,"src":"4829:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5517,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5583,"src":"4821:7:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":5519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4821:19:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5520,"nodeType":"ExpressionStatement","src":"4821:19:32"}]}}]},"documentation":{"id":5504,"nodeType":"StructuredDocumentation","src":"4365:255:32","text":" @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n was not a contract or bubbling up the revert reason (falling back to {FailedInnerCall}) in case of an\n unsuccessful call."},"id":5543,"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResultFromTarget","nameLocation":"4634:26:32","nodeType":"FunctionDefinition","parameters":{"id":5511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5506,"mutability":"mutable","name":"target","nameLocation":"4678:6:32","nodeType":"VariableDeclaration","scope":5543,"src":"4670:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5505,"name":"address","nodeType":"ElementaryTypeName","src":"4670:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5508,"mutability":"mutable","name":"success","nameLocation":"4699:7:32","nodeType":"VariableDeclaration","scope":5543,"src":"4694:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5507,"name":"bool","nodeType":"ElementaryTypeName","src":"4694:4:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5510,"mutability":"mutable","name":"returndata","nameLocation":"4729:10:32","nodeType":"VariableDeclaration","scope":5543,"src":"4716:23:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5509,"name":"bytes","nodeType":"ElementaryTypeName","src":"4716:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4660:85:32"},"returnParameters":{"id":5514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5543,"src":"4769:12:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5512,"name":"bytes","nodeType":"ElementaryTypeName","src":"4769:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4768:14:32"},"scope":5584,"src":"4625:582:32","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":5564,"nodeType":"Block","src":"5509:122:32","statements":[{"condition":{"id":5554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5523:8:32","subExpression":{"id":5553,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5546,"src":"5524:7:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5562,"nodeType":"Block","src":"5583:42:32","statements":[{"expression":{"id":5560,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5548,"src":"5604:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":5552,"id":5561,"nodeType":"Return","src":"5597:17:32"}]},"id":5563,"nodeType":"IfStatement","src":"5519:106:32","trueBody":{"id":5559,"nodeType":"Block","src":"5533:44:32","statements":[{"expression":{"arguments":[{"id":5556,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5548,"src":"5555:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5555,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5583,"src":"5547:7:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":5557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5547:19:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5558,"nodeType":"ExpressionStatement","src":"5547:19:32"}]}}]},"documentation":{"id":5544,"nodeType":"StructuredDocumentation","src":"5213:189:32","text":" @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n revert reason or with a default {FailedInnerCall} error."},"id":5565,"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResult","nameLocation":"5416:16:32","nodeType":"FunctionDefinition","parameters":{"id":5549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5546,"mutability":"mutable","name":"success","nameLocation":"5438:7:32","nodeType":"VariableDeclaration","scope":5565,"src":"5433:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5545,"name":"bool","nodeType":"ElementaryTypeName","src":"5433:4:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5548,"mutability":"mutable","name":"returndata","nameLocation":"5460:10:32","nodeType":"VariableDeclaration","scope":5565,"src":"5447:23:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5547,"name":"bytes","nodeType":"ElementaryTypeName","src":"5447:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5432:39:32"},"returnParameters":{"id":5552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5565,"src":"5495:12:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5550,"name":"bytes","nodeType":"ElementaryTypeName","src":"5495:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5494:14:32"},"scope":5584,"src":"5407:224:32","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5582,"nodeType":"Block","src":"5798:461:32","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5571,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5568,"src":"5874:10:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5885:6:32","memberName":"length","nodeType":"MemberAccess","src":"5874:17:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":5573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5894:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5874:21:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5580,"nodeType":"Block","src":"6204:49:32","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5577,"name":"FailedInnerCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5347,"src":"6225:15:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6225:17:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5579,"nodeType":"RevertStatement","src":"6218:24:32"}]},"id":5581,"nodeType":"IfStatement","src":"5870:383:32","trueBody":{"id":5576,"nodeType":"Block","src":"5897:301:32","statements":[{"AST":{"nodeType":"YulBlock","src":"6055:133:32","statements":[{"nodeType":"YulVariableDeclaration","src":"6073:40:32","value":{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"6102:10:32"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6096:5:32"},"nodeType":"YulFunctionCall","src":"6096:17:32"},"variables":[{"name":"returndata_size","nodeType":"YulTypedName","src":"6077:15:32","type":""}]},{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6141:2:32","type":"","value":"32"},{"name":"returndata","nodeType":"YulIdentifier","src":"6145:10:32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6137:3:32"},"nodeType":"YulFunctionCall","src":"6137:19:32"},{"name":"returndata_size","nodeType":"YulIdentifier","src":"6158:15:32"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6130:6:32"},"nodeType":"YulFunctionCall","src":"6130:44:32"},"nodeType":"YulExpressionStatement","src":"6130:44:32"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5568,"isOffset":false,"isSlot":false,"src":"6102:10:32","valueSize":1},{"declaration":5568,"isOffset":false,"isSlot":false,"src":"6145:10:32","valueSize":1}],"id":5575,"nodeType":"InlineAssembly","src":"6046:142:32"}]}}]},"documentation":{"id":5566,"nodeType":"StructuredDocumentation","src":"5637:101:32","text":" @dev Reverts with returndata if present. Otherwise reverts with {FailedInnerCall}."},"id":5583,"implemented":true,"kind":"function","modifiers":[],"name":"_revert","nameLocation":"5752:7:32","nodeType":"FunctionDefinition","parameters":{"id":5569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5568,"mutability":"mutable","name":"returndata","nameLocation":"5773:10:32","nodeType":"VariableDeclaration","scope":5583,"src":"5760:23:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5567,"name":"bytes","nodeType":"ElementaryTypeName","src":"5760:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5759:25:32"},"returnParameters":{"id":5570,"nodeType":"ParameterList","parameters":[],"src":"5798:0:32"},"scope":5584,"src":"5743:516:32","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":5585,"src":"195:6066:32","usedErrors":[5339,5344,5347],"usedEvents":[]}],"src":"101:6161:32"},"id":32},"@openzeppelin/contracts/utils/StorageSlot.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/StorageSlot.sol","exportedSymbols":{"StorageSlot":[5694]},"id":5695,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5586,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"193:24:33"},{"abstract":false,"baseContracts":[],"canonicalName":"StorageSlot","contractDependencies":[],"contractKind":"library","documentation":{"id":5587,"nodeType":"StructuredDocumentation","src":"219:1025:33","text":" @dev Library for reading and writing primitive types to specific storage slots.\n Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n This library helps with reading and writing to such slots without the need for inline assembly.\n The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n Example usage to set ERC1967 implementation slot:\n ```solidity\n contract ERC1967 {\n     bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n     function _getImplementation() internal view returns (address) {\n         return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n     }\n     function _setImplementation(address newImplementation) internal {\n         require(newImplementation.code.length > 0);\n         StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n     }\n }\n ```"},"fullyImplemented":true,"id":5694,"linearizedBaseContracts":[5694],"name":"StorageSlot","nameLocation":"1253:11:33","nodeType":"ContractDefinition","nodes":[{"canonicalName":"StorageSlot.AddressSlot","id":5590,"members":[{"constant":false,"id":5589,"mutability":"mutable","name":"value","nameLocation":"1308:5:33","nodeType":"VariableDeclaration","scope":5590,"src":"1300:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5588,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"AddressSlot","nameLocation":"1278:11:33","nodeType":"StructDefinition","scope":5694,"src":"1271:49:33","visibility":"public"},{"canonicalName":"StorageSlot.BooleanSlot","id":5593,"members":[{"constant":false,"id":5592,"mutability":"mutable","name":"value","nameLocation":"1360:5:33","nodeType":"VariableDeclaration","scope":5593,"src":"1355:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5591,"name":"bool","nodeType":"ElementaryTypeName","src":"1355:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"BooleanSlot","nameLocation":"1333:11:33","nodeType":"StructDefinition","scope":5694,"src":"1326:46:33","visibility":"public"},{"canonicalName":"StorageSlot.Bytes32Slot","id":5596,"members":[{"constant":false,"id":5595,"mutability":"mutable","name":"value","nameLocation":"1415:5:33","nodeType":"VariableDeclaration","scope":5596,"src":"1407:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1407:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Bytes32Slot","nameLocation":"1385:11:33","nodeType":"StructDefinition","scope":5694,"src":"1378:49:33","visibility":"public"},{"canonicalName":"StorageSlot.Uint256Slot","id":5599,"members":[{"constant":false,"id":5598,"mutability":"mutable","name":"value","nameLocation":"1470:5:33","nodeType":"VariableDeclaration","scope":5599,"src":"1462:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5597,"name":"uint256","nodeType":"ElementaryTypeName","src":"1462:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Uint256Slot","nameLocation":"1440:11:33","nodeType":"StructDefinition","scope":5694,"src":"1433:49:33","visibility":"public"},{"canonicalName":"StorageSlot.StringSlot","id":5602,"members":[{"constant":false,"id":5601,"mutability":"mutable","name":"value","nameLocation":"1523:5:33","nodeType":"VariableDeclaration","scope":5602,"src":"1516:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":5600,"name":"string","nodeType":"ElementaryTypeName","src":"1516:6:33","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"StringSlot","nameLocation":"1495:10:33","nodeType":"StructDefinition","scope":5694,"src":"1488:47:33","visibility":"public"},{"canonicalName":"StorageSlot.BytesSlot","id":5605,"members":[{"constant":false,"id":5604,"mutability":"mutable","name":"value","nameLocation":"1574:5:33","nodeType":"VariableDeclaration","scope":5605,"src":"1568:11:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":5603,"name":"bytes","nodeType":"ElementaryTypeName","src":"1568:5:33","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"BytesSlot","nameLocation":"1548:9:33","nodeType":"StructDefinition","scope":5694,"src":"1541:45:33","visibility":"public"},{"body":{"id":5615,"nodeType":"Block","src":"1768:106:33","statements":[{"AST":{"nodeType":"YulBlock","src":"1830:38:33","statements":[{"nodeType":"YulAssignment","src":"1844:14:33","value":{"name":"slot","nodeType":"YulIdentifier","src":"1854:4:33"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"1844:6:33"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5612,"isOffset":false,"isSlot":true,"src":"1844:6:33","suffix":"slot","valueSize":1},{"declaration":5608,"isOffset":false,"isSlot":false,"src":"1854:4:33","valueSize":1}],"id":5614,"nodeType":"InlineAssembly","src":"1821:47:33"}]},"documentation":{"id":5606,"nodeType":"StructuredDocumentation","src":"1592:87:33","text":" @dev Returns an `AddressSlot` with member `value` located at `slot`."},"id":5616,"implemented":true,"kind":"function","modifiers":[],"name":"getAddressSlot","nameLocation":"1693:14:33","nodeType":"FunctionDefinition","parameters":{"id":5609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5608,"mutability":"mutable","name":"slot","nameLocation":"1716:4:33","nodeType":"VariableDeclaration","scope":5616,"src":"1708:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1708:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1707:14:33"},"returnParameters":{"id":5613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5612,"mutability":"mutable","name":"r","nameLocation":"1765:1:33","nodeType":"VariableDeclaration","scope":5616,"src":"1745:21:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$5590_storage_ptr","typeString":"struct StorageSlot.AddressSlot"},"typeName":{"id":5611,"nodeType":"UserDefinedTypeName","pathNode":{"id":5610,"name":"AddressSlot","nameLocations":["1745:11:33"],"nodeType":"IdentifierPath","referencedDeclaration":5590,"src":"1745:11:33"},"referencedDeclaration":5590,"src":"1745:11:33","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$5590_storage_ptr","typeString":"struct StorageSlot.AddressSlot"}},"visibility":"internal"}],"src":"1744:23:33"},"scope":5694,"src":"1684:190:33","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5626,"nodeType":"Block","src":"2056:106:33","statements":[{"AST":{"nodeType":"YulBlock","src":"2118:38:33","statements":[{"nodeType":"YulAssignment","src":"2132:14:33","value":{"name":"slot","nodeType":"YulIdentifier","src":"2142:4:33"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"2132:6:33"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5623,"isOffset":false,"isSlot":true,"src":"2132:6:33","suffix":"slot","valueSize":1},{"declaration":5619,"isOffset":false,"isSlot":false,"src":"2142:4:33","valueSize":1}],"id":5625,"nodeType":"InlineAssembly","src":"2109:47:33"}]},"documentation":{"id":5617,"nodeType":"StructuredDocumentation","src":"1880:87:33","text":" @dev Returns an `BooleanSlot` with member `value` located at `slot`."},"id":5627,"implemented":true,"kind":"function","modifiers":[],"name":"getBooleanSlot","nameLocation":"1981:14:33","nodeType":"FunctionDefinition","parameters":{"id":5620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5619,"mutability":"mutable","name":"slot","nameLocation":"2004:4:33","nodeType":"VariableDeclaration","scope":5627,"src":"1996:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1996:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1995:14:33"},"returnParameters":{"id":5624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5623,"mutability":"mutable","name":"r","nameLocation":"2053:1:33","nodeType":"VariableDeclaration","scope":5627,"src":"2033:21:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BooleanSlot_$5593_storage_ptr","typeString":"struct StorageSlot.BooleanSlot"},"typeName":{"id":5622,"nodeType":"UserDefinedTypeName","pathNode":{"id":5621,"name":"BooleanSlot","nameLocations":["2033:11:33"],"nodeType":"IdentifierPath","referencedDeclaration":5593,"src":"2033:11:33"},"referencedDeclaration":5593,"src":"2033:11:33","typeDescriptions":{"typeIdentifier":"t_struct$_BooleanSlot_$5593_storage_ptr","typeString":"struct StorageSlot.BooleanSlot"}},"visibility":"internal"}],"src":"2032:23:33"},"scope":5694,"src":"1972:190:33","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5637,"nodeType":"Block","src":"2344:106:33","statements":[{"AST":{"nodeType":"YulBlock","src":"2406:38:33","statements":[{"nodeType":"YulAssignment","src":"2420:14:33","value":{"name":"slot","nodeType":"YulIdentifier","src":"2430:4:33"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"2420:6:33"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5634,"isOffset":false,"isSlot":true,"src":"2420:6:33","suffix":"slot","valueSize":1},{"declaration":5630,"isOffset":false,"isSlot":false,"src":"2430:4:33","valueSize":1}],"id":5636,"nodeType":"InlineAssembly","src":"2397:47:33"}]},"documentation":{"id":5628,"nodeType":"StructuredDocumentation","src":"2168:87:33","text":" @dev Returns an `Bytes32Slot` with member `value` located at `slot`."},"id":5638,"implemented":true,"kind":"function","modifiers":[],"name":"getBytes32Slot","nameLocation":"2269:14:33","nodeType":"FunctionDefinition","parameters":{"id":5631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5630,"mutability":"mutable","name":"slot","nameLocation":"2292:4:33","nodeType":"VariableDeclaration","scope":5638,"src":"2284:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2284:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2283:14:33"},"returnParameters":{"id":5635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5634,"mutability":"mutable","name":"r","nameLocation":"2341:1:33","nodeType":"VariableDeclaration","scope":5638,"src":"2321:21:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$5596_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"},"typeName":{"id":5633,"nodeType":"UserDefinedTypeName","pathNode":{"id":5632,"name":"Bytes32Slot","nameLocations":["2321:11:33"],"nodeType":"IdentifierPath","referencedDeclaration":5596,"src":"2321:11:33"},"referencedDeclaration":5596,"src":"2321:11:33","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$5596_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"}},"visibility":"internal"}],"src":"2320:23:33"},"scope":5694,"src":"2260:190:33","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5648,"nodeType":"Block","src":"2632:106:33","statements":[{"AST":{"nodeType":"YulBlock","src":"2694:38:33","statements":[{"nodeType":"YulAssignment","src":"2708:14:33","value":{"name":"slot","nodeType":"YulIdentifier","src":"2718:4:33"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"2708:6:33"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5645,"isOffset":false,"isSlot":true,"src":"2708:6:33","suffix":"slot","valueSize":1},{"declaration":5641,"isOffset":false,"isSlot":false,"src":"2718:4:33","valueSize":1}],"id":5647,"nodeType":"InlineAssembly","src":"2685:47:33"}]},"documentation":{"id":5639,"nodeType":"StructuredDocumentation","src":"2456:87:33","text":" @dev Returns an `Uint256Slot` with member `value` located at `slot`."},"id":5649,"implemented":true,"kind":"function","modifiers":[],"name":"getUint256Slot","nameLocation":"2557:14:33","nodeType":"FunctionDefinition","parameters":{"id":5642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5641,"mutability":"mutable","name":"slot","nameLocation":"2580:4:33","nodeType":"VariableDeclaration","scope":5649,"src":"2572:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2572:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2571:14:33"},"returnParameters":{"id":5646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5645,"mutability":"mutable","name":"r","nameLocation":"2629:1:33","nodeType":"VariableDeclaration","scope":5649,"src":"2609:21:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$5599_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"},"typeName":{"id":5644,"nodeType":"UserDefinedTypeName","pathNode":{"id":5643,"name":"Uint256Slot","nameLocations":["2609:11:33"],"nodeType":"IdentifierPath","referencedDeclaration":5599,"src":"2609:11:33"},"referencedDeclaration":5599,"src":"2609:11:33","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$5599_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"}},"visibility":"internal"}],"src":"2608:23:33"},"scope":5694,"src":"2548:190:33","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5659,"nodeType":"Block","src":"2917:106:33","statements":[{"AST":{"nodeType":"YulBlock","src":"2979:38:33","statements":[{"nodeType":"YulAssignment","src":"2993:14:33","value":{"name":"slot","nodeType":"YulIdentifier","src":"3003:4:33"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"2993:6:33"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5656,"isOffset":false,"isSlot":true,"src":"2993:6:33","suffix":"slot","valueSize":1},{"declaration":5652,"isOffset":false,"isSlot":false,"src":"3003:4:33","valueSize":1}],"id":5658,"nodeType":"InlineAssembly","src":"2970:47:33"}]},"documentation":{"id":5650,"nodeType":"StructuredDocumentation","src":"2744:86:33","text":" @dev Returns an `StringSlot` with member `value` located at `slot`."},"id":5660,"implemented":true,"kind":"function","modifiers":[],"name":"getStringSlot","nameLocation":"2844:13:33","nodeType":"FunctionDefinition","parameters":{"id":5653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5652,"mutability":"mutable","name":"slot","nameLocation":"2866:4:33","nodeType":"VariableDeclaration","scope":5660,"src":"2858:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2858:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2857:14:33"},"returnParameters":{"id":5657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5656,"mutability":"mutable","name":"r","nameLocation":"2914:1:33","nodeType":"VariableDeclaration","scope":5660,"src":"2895:20:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$5602_storage_ptr","typeString":"struct StorageSlot.StringSlot"},"typeName":{"id":5655,"nodeType":"UserDefinedTypeName","pathNode":{"id":5654,"name":"StringSlot","nameLocations":["2895:10:33"],"nodeType":"IdentifierPath","referencedDeclaration":5602,"src":"2895:10:33"},"referencedDeclaration":5602,"src":"2895:10:33","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$5602_storage_ptr","typeString":"struct StorageSlot.StringSlot"}},"visibility":"internal"}],"src":"2894:22:33"},"scope":5694,"src":"2835:188:33","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5670,"nodeType":"Block","src":"3225:112:33","statements":[{"AST":{"nodeType":"YulBlock","src":"3287:44:33","statements":[{"nodeType":"YulAssignment","src":"3301:20:33","value":{"name":"store.slot","nodeType":"YulIdentifier","src":"3311:10:33"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"3301:6:33"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5667,"isOffset":false,"isSlot":true,"src":"3301:6:33","suffix":"slot","valueSize":1},{"declaration":5663,"isOffset":false,"isSlot":true,"src":"3311:10:33","suffix":"slot","valueSize":1}],"id":5669,"nodeType":"InlineAssembly","src":"3278:53:33"}]},"documentation":{"id":5661,"nodeType":"StructuredDocumentation","src":"3029:101:33","text":" @dev Returns an `StringSlot` representation of the string storage pointer `store`."},"id":5671,"implemented":true,"kind":"function","modifiers":[],"name":"getStringSlot","nameLocation":"3144:13:33","nodeType":"FunctionDefinition","parameters":{"id":5664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5663,"mutability":"mutable","name":"store","nameLocation":"3173:5:33","nodeType":"VariableDeclaration","scope":5671,"src":"3158:20:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":5662,"name":"string","nodeType":"ElementaryTypeName","src":"3158:6:33","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3157:22:33"},"returnParameters":{"id":5668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5667,"mutability":"mutable","name":"r","nameLocation":"3222:1:33","nodeType":"VariableDeclaration","scope":5671,"src":"3203:20:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$5602_storage_ptr","typeString":"struct StorageSlot.StringSlot"},"typeName":{"id":5666,"nodeType":"UserDefinedTypeName","pathNode":{"id":5665,"name":"StringSlot","nameLocations":["3203:10:33"],"nodeType":"IdentifierPath","referencedDeclaration":5602,"src":"3203:10:33"},"referencedDeclaration":5602,"src":"3203:10:33","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$5602_storage_ptr","typeString":"struct StorageSlot.StringSlot"}},"visibility":"internal"}],"src":"3202:22:33"},"scope":5694,"src":"3135:202:33","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5681,"nodeType":"Block","src":"3513:106:33","statements":[{"AST":{"nodeType":"YulBlock","src":"3575:38:33","statements":[{"nodeType":"YulAssignment","src":"3589:14:33","value":{"name":"slot","nodeType":"YulIdentifier","src":"3599:4:33"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"3589:6:33"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5678,"isOffset":false,"isSlot":true,"src":"3589:6:33","suffix":"slot","valueSize":1},{"declaration":5674,"isOffset":false,"isSlot":false,"src":"3599:4:33","valueSize":1}],"id":5680,"nodeType":"InlineAssembly","src":"3566:47:33"}]},"documentation":{"id":5672,"nodeType":"StructuredDocumentation","src":"3343:85:33","text":" @dev Returns an `BytesSlot` with member `value` located at `slot`."},"id":5682,"implemented":true,"kind":"function","modifiers":[],"name":"getBytesSlot","nameLocation":"3442:12:33","nodeType":"FunctionDefinition","parameters":{"id":5675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5674,"mutability":"mutable","name":"slot","nameLocation":"3463:4:33","nodeType":"VariableDeclaration","scope":5682,"src":"3455:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3455:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3454:14:33"},"returnParameters":{"id":5679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5678,"mutability":"mutable","name":"r","nameLocation":"3510:1:33","nodeType":"VariableDeclaration","scope":5682,"src":"3492:19:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$5605_storage_ptr","typeString":"struct StorageSlot.BytesSlot"},"typeName":{"id":5677,"nodeType":"UserDefinedTypeName","pathNode":{"id":5676,"name":"BytesSlot","nameLocations":["3492:9:33"],"nodeType":"IdentifierPath","referencedDeclaration":5605,"src":"3492:9:33"},"referencedDeclaration":5605,"src":"3492:9:33","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$5605_storage_ptr","typeString":"struct StorageSlot.BytesSlot"}},"visibility":"internal"}],"src":"3491:21:33"},"scope":5694,"src":"3433:186:33","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5692,"nodeType":"Block","src":"3816:112:33","statements":[{"AST":{"nodeType":"YulBlock","src":"3878:44:33","statements":[{"nodeType":"YulAssignment","src":"3892:20:33","value":{"name":"store.slot","nodeType":"YulIdentifier","src":"3902:10:33"},"variableNames":[{"name":"r.slot","nodeType":"YulIdentifier","src":"3892:6:33"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5689,"isOffset":false,"isSlot":true,"src":"3892:6:33","suffix":"slot","valueSize":1},{"declaration":5685,"isOffset":false,"isSlot":true,"src":"3902:10:33","suffix":"slot","valueSize":1}],"id":5691,"nodeType":"InlineAssembly","src":"3869:53:33"}]},"documentation":{"id":5683,"nodeType":"StructuredDocumentation","src":"3625:99:33","text":" @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`."},"id":5693,"implemented":true,"kind":"function","modifiers":[],"name":"getBytesSlot","nameLocation":"3738:12:33","nodeType":"FunctionDefinition","parameters":{"id":5686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5685,"mutability":"mutable","name":"store","nameLocation":"3765:5:33","nodeType":"VariableDeclaration","scope":5693,"src":"3751:19:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":5684,"name":"bytes","nodeType":"ElementaryTypeName","src":"3751:5:33","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3750:21:33"},"returnParameters":{"id":5690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5689,"mutability":"mutable","name":"r","nameLocation":"3813:1:33","nodeType":"VariableDeclaration","scope":5693,"src":"3795:19:33","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$5605_storage_ptr","typeString":"struct StorageSlot.BytesSlot"},"typeName":{"id":5688,"nodeType":"UserDefinedTypeName","pathNode":{"id":5687,"name":"BytesSlot","nameLocations":["3795:9:33"],"nodeType":"IdentifierPath","referencedDeclaration":5605,"src":"3795:9:33"},"referencedDeclaration":5605,"src":"3795:9:33","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$5605_storage_ptr","typeString":"struct StorageSlot.BytesSlot"}},"visibility":"internal"}],"src":"3794:21:33"},"scope":5694,"src":"3729:199:33","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":5695,"src":"1245:2685:33","usedErrors":[],"usedEvents":[]}],"src":"193:3738:33"},"id":33},"@openzeppelin/contracts/utils/Strings.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","exportedSymbols":{"Math":[7015],"SignedMath":[8875],"Strings":[5949]},"id":5950,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5696,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"101:24:34"},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"./math/Math.sol","id":5698,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5950,"sourceUnit":7016,"src":"127:37:34","symbolAliases":[{"foreign":{"id":5697,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"135:4:34","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SignedMath.sol","file":"./math/SignedMath.sol","id":5700,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5950,"sourceUnit":8876,"src":"165:49:34","symbolAliases":[{"foreign":{"id":5699,"name":"SignedMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8875,"src":"173:10:34","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Strings","contractDependencies":[],"contractKind":"library","documentation":{"id":5701,"nodeType":"StructuredDocumentation","src":"216:34:34","text":" @dev String operations."},"fullyImplemented":true,"id":5949,"linearizedBaseContracts":[5949],"name":"Strings","nameLocation":"259:7:34","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":5704,"mutability":"constant","name":"HEX_DIGITS","nameLocation":"298:10:34","nodeType":"VariableDeclaration","scope":5949,"src":"273:56:34","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":5702,"name":"bytes16","nodeType":"ElementaryTypeName","src":"273:7:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":5703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"311:18:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"constant":true,"id":5707,"mutability":"constant","name":"ADDRESS_LENGTH","nameLocation":"358:14:34","nodeType":"VariableDeclaration","scope":5949,"src":"335:42:34","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5705,"name":"uint8","nodeType":"ElementaryTypeName","src":"335:5:34","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":5706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"375:2:34","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"documentation":{"id":5708,"nodeType":"StructuredDocumentation","src":"384:81:34","text":" @dev The `value` string doesn't fit in the specified `length`."},"errorSelector":"e22e27eb","id":5714,"name":"StringsInsufficientHexLength","nameLocation":"476:28:34","nodeType":"ErrorDefinition","parameters":{"id":5713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5710,"mutability":"mutable","name":"value","nameLocation":"513:5:34","nodeType":"VariableDeclaration","scope":5714,"src":"505:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5709,"name":"uint256","nodeType":"ElementaryTypeName","src":"505:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5712,"mutability":"mutable","name":"length","nameLocation":"528:6:34","nodeType":"VariableDeclaration","scope":5714,"src":"520:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5711,"name":"uint256","nodeType":"ElementaryTypeName","src":"520:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"504:31:34"},"src":"470:66:34"},{"body":{"id":5761,"nodeType":"Block","src":"708:627:34","statements":[{"id":5760,"nodeType":"UncheckedBlock","src":"718:611:34","statements":[{"assignments":[5723],"declarations":[{"constant":false,"id":5723,"mutability":"mutable","name":"length","nameLocation":"750:6:34","nodeType":"VariableDeclaration","scope":5760,"src":"742:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5722,"name":"uint256","nodeType":"ElementaryTypeName","src":"742:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5730,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":5726,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5717,"src":"770:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5724,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"759:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":5725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"764:5:34","memberName":"log10","nodeType":"MemberAccess","referencedDeclaration":6835,"src":"759:10:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":5727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"759:17:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":5728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"779:1:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"759:21:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"742:38:34"},{"assignments":[5732],"declarations":[{"constant":false,"id":5732,"mutability":"mutable","name":"buffer","nameLocation":"808:6:34","nodeType":"VariableDeclaration","scope":5760,"src":"794:20:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5731,"name":"string","nodeType":"ElementaryTypeName","src":"794:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5737,"initialValue":{"arguments":[{"id":5735,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5723,"src":"828:6:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"817:10:34","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":5733,"name":"string","nodeType":"ElementaryTypeName","src":"821:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":5736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"817:18:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"794:41:34"},{"assignments":[5739],"declarations":[{"constant":false,"id":5739,"mutability":"mutable","name":"ptr","nameLocation":"857:3:34","nodeType":"VariableDeclaration","scope":5760,"src":"849:11:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5738,"name":"uint256","nodeType":"ElementaryTypeName","src":"849:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5740,"nodeType":"VariableDeclarationStatement","src":"849:11:34"},{"AST":{"nodeType":"YulBlock","src":"930:67:34","statements":[{"nodeType":"YulAssignment","src":"948:35:34","value":{"arguments":[{"name":"buffer","nodeType":"YulIdentifier","src":"959:6:34"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"971:2:34","type":"","value":"32"},{"name":"length","nodeType":"YulIdentifier","src":"975:6:34"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"967:3:34"},"nodeType":"YulFunctionCall","src":"967:15:34"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"955:3:34"},"nodeType":"YulFunctionCall","src":"955:28:34"},"variableNames":[{"name":"ptr","nodeType":"YulIdentifier","src":"948:3:34"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5732,"isOffset":false,"isSlot":false,"src":"959:6:34","valueSize":1},{"declaration":5723,"isOffset":false,"isSlot":false,"src":"975:6:34","valueSize":1},{"declaration":5739,"isOffset":false,"isSlot":false,"src":"948:3:34","valueSize":1}],"id":5741,"nodeType":"InlineAssembly","src":"921:76:34"},{"body":{"id":5756,"nodeType":"Block","src":"1023:269:34","statements":[{"expression":{"id":5744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"1041:5:34","subExpression":{"id":5743,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5739,"src":"1041:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5745,"nodeType":"ExpressionStatement","src":"1041:5:34"},{"AST":{"nodeType":"YulBlock","src":"1124:86:34","statements":[{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1154:3:34"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1168:5:34"},{"kind":"number","nodeType":"YulLiteral","src":"1175:2:34","type":"","value":"10"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"1164:3:34"},"nodeType":"YulFunctionCall","src":"1164:14:34"},{"name":"HEX_DIGITS","nodeType":"YulIdentifier","src":"1180:10:34"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"1159:4:34"},"nodeType":"YulFunctionCall","src":"1159:32:34"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"1146:7:34"},"nodeType":"YulFunctionCall","src":"1146:46:34"},"nodeType":"YulExpressionStatement","src":"1146:46:34"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5704,"isOffset":false,"isSlot":false,"src":"1180:10:34","valueSize":1},{"declaration":5739,"isOffset":false,"isSlot":false,"src":"1154:3:34","valueSize":1},{"declaration":5717,"isOffset":false,"isSlot":false,"src":"1168:5:34","valueSize":1}],"id":5746,"nodeType":"InlineAssembly","src":"1115:95:34"},{"expression":{"id":5749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5747,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5717,"src":"1227:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":5748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1236:2:34","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1227:11:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5750,"nodeType":"ExpressionStatement","src":"1227:11:34"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5751,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5717,"src":"1260:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1269:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1260:10:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5755,"nodeType":"IfStatement","src":"1256:21:34","trueBody":{"id":5754,"nodeType":"Break","src":"1272:5:34"}}]},"condition":{"hexValue":"74727565","id":5742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1017:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":5757,"nodeType":"WhileStatement","src":"1010:282:34"},{"expression":{"id":5758,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5732,"src":"1312:6:34","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":5721,"id":5759,"nodeType":"Return","src":"1305:13:34"}]}]},"documentation":{"id":5715,"nodeType":"StructuredDocumentation","src":"542:90:34","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"id":5762,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"646:8:34","nodeType":"FunctionDefinition","parameters":{"id":5718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5717,"mutability":"mutable","name":"value","nameLocation":"663:5:34","nodeType":"VariableDeclaration","scope":5762,"src":"655:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5716,"name":"uint256","nodeType":"ElementaryTypeName","src":"655:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"654:15:34"},"returnParameters":{"id":5721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5762,"src":"693:13:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5719,"name":"string","nodeType":"ElementaryTypeName","src":"693:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"692:15:34"},"scope":5949,"src":"637:698:34","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5787,"nodeType":"Block","src":"1511:92:34","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":5775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5773,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5765,"src":"1542:5:34","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":5774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1550:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1542:9:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":5777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1560:2:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":5778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1542:20:34","trueExpression":{"hexValue":"2d","id":5776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1554:3:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""},"value":"-"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"arguments":[{"id":5782,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5765,"src":"1588:5:34","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":5780,"name":"SignedMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8875,"src":"1573:10:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SignedMath_$8875_$","typeString":"type(library SignedMath)"}},"id":5781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1584:3:34","memberName":"abs","nodeType":"MemberAccess","referencedDeclaration":8874,"src":"1573:14:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":5783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1573:21:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5779,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5762,"src":"1564:8:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":5784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1564:31:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1528:6:34","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5770,"name":"string","nodeType":"ElementaryTypeName","src":"1528:6:34","typeDescriptions":{}}},"id":5772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1535:6:34","memberName":"concat","nodeType":"MemberAccess","src":"1528:13:34","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":5785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1528:68:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":5769,"id":5786,"nodeType":"Return","src":"1521:75:34"}]},"documentation":{"id":5763,"nodeType":"StructuredDocumentation","src":"1341:89:34","text":" @dev Converts a `int256` to its ASCII `string` decimal representation."},"id":5788,"implemented":true,"kind":"function","modifiers":[],"name":"toStringSigned","nameLocation":"1444:14:34","nodeType":"FunctionDefinition","parameters":{"id":5766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5765,"mutability":"mutable","name":"value","nameLocation":"1466:5:34","nodeType":"VariableDeclaration","scope":5788,"src":"1459:12:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":5764,"name":"int256","nodeType":"ElementaryTypeName","src":"1459:6:34","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1458:14:34"},"returnParameters":{"id":5769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5768,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5788,"src":"1496:13:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5767,"name":"string","nodeType":"ElementaryTypeName","src":"1496:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1495:15:34"},"scope":5949,"src":"1435:168:34","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5807,"nodeType":"Block","src":"1782:100:34","statements":[{"id":5806,"nodeType":"UncheckedBlock","src":"1792:84:34","statements":[{"expression":{"arguments":[{"id":5797,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5791,"src":"1835:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":5800,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5791,"src":"1854:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5798,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"1842:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":5799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1847:6:34","memberName":"log256","nodeType":"MemberAccess","referencedDeclaration":6957,"src":"1842:11:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":5801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1842:18:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":5802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1863:1:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1842:22:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5796,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[5808,5891,5911],"referencedDeclaration":5891,"src":"1823:11:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":5804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1823:42:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":5795,"id":5805,"nodeType":"Return","src":"1816:49:34"}]}]},"documentation":{"id":5789,"nodeType":"StructuredDocumentation","src":"1609:94:34","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"id":5808,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1717:11:34","nodeType":"FunctionDefinition","parameters":{"id":5792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5791,"mutability":"mutable","name":"value","nameLocation":"1737:5:34","nodeType":"VariableDeclaration","scope":5808,"src":"1729:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5790,"name":"uint256","nodeType":"ElementaryTypeName","src":"1729:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1728:15:34"},"returnParameters":{"id":5795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5808,"src":"1767:13:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5793,"name":"string","nodeType":"ElementaryTypeName","src":"1767:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1766:15:34"},"scope":5949,"src":"1708:174:34","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5890,"nodeType":"Block","src":"2095:435:34","statements":[{"assignments":[5819],"declarations":[{"constant":false,"id":5819,"mutability":"mutable","name":"localValue","nameLocation":"2113:10:34","nodeType":"VariableDeclaration","scope":5890,"src":"2105:18:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5818,"name":"uint256","nodeType":"ElementaryTypeName","src":"2105:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5821,"initialValue":{"id":5820,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5811,"src":"2126:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2105:26:34"},{"assignments":[5823],"declarations":[{"constant":false,"id":5823,"mutability":"mutable","name":"buffer","nameLocation":"2154:6:34","nodeType":"VariableDeclaration","scope":5890,"src":"2141:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5822,"name":"bytes","nodeType":"ElementaryTypeName","src":"2141:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5832,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":5826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2173:1:34","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":5827,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5813,"src":"2177:6:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2173:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":5829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2186:1:34","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2173:14:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2163:9:34","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":5824,"name":"bytes","nodeType":"ElementaryTypeName","src":"2167:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":5831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2163:25:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2141:47:34"},{"expression":{"id":5837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5833,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5823,"src":"2198:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5835,"indexExpression":{"hexValue":"30","id":5834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2205:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2198:9:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":5836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2210:3:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"2198:15:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":5838,"nodeType":"ExpressionStatement","src":"2198:15:34"},{"expression":{"id":5843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5839,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5823,"src":"2223:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5841,"indexExpression":{"hexValue":"31","id":5840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2230:1:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2223:9:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":5842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2235:3:34","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"2223:15:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":5844,"nodeType":"ExpressionStatement","src":"2223:15:34"},{"body":{"id":5873,"nodeType":"Block","src":"2293:95:34","statements":[{"expression":{"id":5867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5859,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5823,"src":"2307:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5861,"indexExpression":{"id":5860,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5846,"src":"2314:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2307:9:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":5862,"name":"HEX_DIGITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"2319:10:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":5866,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5863,"name":"localValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5819,"src":"2330:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":5864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2343:3:34","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"2330:16:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2319:28:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2307:40:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":5868,"nodeType":"ExpressionStatement","src":"2307:40:34"},{"expression":{"id":5871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5869,"name":"localValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5819,"src":"2361:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":5870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2376:1:34","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"2361:16:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5872,"nodeType":"ExpressionStatement","src":"2361:16:34"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5853,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5846,"src":"2281:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":5854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2285:1:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2281:5:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5874,"initializationExpression":{"assignments":[5846],"declarations":[{"constant":false,"id":5846,"mutability":"mutable","name":"i","nameLocation":"2261:1:34","nodeType":"VariableDeclaration","scope":5874,"src":"2253:9:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5845,"name":"uint256","nodeType":"ElementaryTypeName","src":"2253:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5852,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":5847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2265:1:34","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":5848,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5813,"src":"2269:6:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2265:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":5850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2278:1:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2265:14:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2253:26:34"},"loopExpression":{"expression":{"id":5857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"2288:3:34","subExpression":{"id":5856,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5846,"src":"2290:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5858,"nodeType":"ExpressionStatement","src":"2288:3:34"},"nodeType":"ForStatement","src":"2248:140:34"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5875,"name":"localValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5819,"src":"2401:10:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2415:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2401:15:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5884,"nodeType":"IfStatement","src":"2397:96:34","trueBody":{"id":5883,"nodeType":"Block","src":"2418:75:34","statements":[{"errorCall":{"arguments":[{"id":5879,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5811,"src":"2468:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5880,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5813,"src":"2475:6:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5878,"name":"StringsInsufficientHexLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5714,"src":"2439:28:34","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":5881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2439:43:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5882,"nodeType":"RevertStatement","src":"2432:50:34"}]}},{"expression":{"arguments":[{"id":5887,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5823,"src":"2516:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2509:6:34","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5885,"name":"string","nodeType":"ElementaryTypeName","src":"2509:6:34","typeDescriptions":{}}},"id":5888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2509:14:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":5817,"id":5889,"nodeType":"Return","src":"2502:21:34"}]},"documentation":{"id":5809,"nodeType":"StructuredDocumentation","src":"1888:112:34","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"id":5891,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2014:11:34","nodeType":"FunctionDefinition","parameters":{"id":5814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5811,"mutability":"mutable","name":"value","nameLocation":"2034:5:34","nodeType":"VariableDeclaration","scope":5891,"src":"2026:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5810,"name":"uint256","nodeType":"ElementaryTypeName","src":"2026:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5813,"mutability":"mutable","name":"length","nameLocation":"2049:6:34","nodeType":"VariableDeclaration","scope":5891,"src":"2041:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5812,"name":"uint256","nodeType":"ElementaryTypeName","src":"2041:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2025:31:34"},"returnParameters":{"id":5817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5891,"src":"2080:13:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5815,"name":"string","nodeType":"ElementaryTypeName","src":"2080:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2079:15:34"},"scope":5949,"src":"2005:525:34","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5910,"nodeType":"Block","src":"2762:75:34","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":5904,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5894,"src":"2807:4:34","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2799:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":5902,"name":"uint160","nodeType":"ElementaryTypeName","src":"2799:7:34","typeDescriptions":{}}},"id":5905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2799:13:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2791:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5900,"name":"uint256","nodeType":"ElementaryTypeName","src":"2791:7:34","typeDescriptions":{}}},"id":5906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2791:22:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5907,"name":"ADDRESS_LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5707,"src":"2815:14:34","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":5899,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[5808,5891,5911],"referencedDeclaration":5891,"src":"2779:11:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":5908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2779:51:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":5898,"id":5909,"nodeType":"Return","src":"2772:58:34"}]},"documentation":{"id":5892,"nodeType":"StructuredDocumentation","src":"2536:148:34","text":" @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n representation."},"id":5911,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2698:11:34","nodeType":"FunctionDefinition","parameters":{"id":5895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5894,"mutability":"mutable","name":"addr","nameLocation":"2718:4:34","nodeType":"VariableDeclaration","scope":5911,"src":"2710:12:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5893,"name":"address","nodeType":"ElementaryTypeName","src":"2710:7:34","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2709:14:34"},"returnParameters":{"id":5898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5911,"src":"2747:13:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5896,"name":"string","nodeType":"ElementaryTypeName","src":"2747:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2746:15:34"},"scope":5949,"src":"2689:148:34","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5947,"nodeType":"Block","src":"2992:104:34","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":5923,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5914,"src":"3015:1:34","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3009:5:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5921,"name":"bytes","nodeType":"ElementaryTypeName","src":"3009:5:34","typeDescriptions":{}}},"id":5924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3009:8:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3018:6:34","memberName":"length","nodeType":"MemberAccess","src":"3009:15:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":5928,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5916,"src":"3034:1:34","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3028:5:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5926,"name":"bytes","nodeType":"ElementaryTypeName","src":"3028:5:34","typeDescriptions":{}}},"id":5929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3028:8:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3037:6:34","memberName":"length","nodeType":"MemberAccess","src":"3028:15:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3009:34:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":5944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":5935,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5914,"src":"3063:1:34","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3057:5:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5933,"name":"bytes","nodeType":"ElementaryTypeName","src":"3057:5:34","typeDescriptions":{}}},"id":5936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3057:8:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5932,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3047:9:34","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3047:19:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":5941,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5916,"src":"3086:1:34","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3080:5:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5939,"name":"bytes","nodeType":"ElementaryTypeName","src":"3080:5:34","typeDescriptions":{}}},"id":5942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3080:8:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5938,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3070:9:34","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3070:19:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3047:42:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3009:80:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5920,"id":5946,"nodeType":"Return","src":"3002:87:34"}]},"documentation":{"id":5912,"nodeType":"StructuredDocumentation","src":"2843:66:34","text":" @dev Returns true if the two strings are equal."},"id":5948,"implemented":true,"kind":"function","modifiers":[],"name":"equal","nameLocation":"2923:5:34","nodeType":"FunctionDefinition","parameters":{"id":5917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5914,"mutability":"mutable","name":"a","nameLocation":"2943:1:34","nodeType":"VariableDeclaration","scope":5948,"src":"2929:15:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5913,"name":"string","nodeType":"ElementaryTypeName","src":"2929:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5916,"mutability":"mutable","name":"b","nameLocation":"2960:1:34","nodeType":"VariableDeclaration","scope":5948,"src":"2946:15:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5915,"name":"string","nodeType":"ElementaryTypeName","src":"2946:6:34","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2928:34:34"},"returnParameters":{"id":5920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5919,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5948,"src":"2986:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5918,"name":"bool","nodeType":"ElementaryTypeName","src":"2986:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2985:6:34"},"scope":5949,"src":"2914:182:34","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":5950,"src":"251:2847:34","usedErrors":[5714],"usedEvents":[]}],"src":"101:2998:34"},"id":34},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","exportedSymbols":{"IERC165":[5961]},"id":5962,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5951,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"115:24:35"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","documentation":{"id":5952,"nodeType":"StructuredDocumentation","src":"141:279:35","text":" @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."},"fullyImplemented":false,"id":5961,"linearizedBaseContracts":[5961],"name":"IERC165","nameLocation":"431:7:35","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":5953,"nodeType":"StructuredDocumentation","src":"445:340:35","text":" @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."},"functionSelector":"01ffc9a7","id":5960,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"799:17:35","nodeType":"FunctionDefinition","parameters":{"id":5956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5955,"mutability":"mutable","name":"interfaceId","nameLocation":"824:11:35","nodeType":"VariableDeclaration","scope":5960,"src":"817:18:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5954,"name":"bytes4","nodeType":"ElementaryTypeName","src":"817:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"816:20:35"},"returnParameters":{"id":5959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5958,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5960,"src":"860:4:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5957,"name":"bool","nodeType":"ElementaryTypeName","src":"860:4:35","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"859:6:35"},"scope":5961,"src":"790:76:35","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":5962,"src":"421:447:35","usedErrors":[],"usedEvents":[]}],"src":"115:754:35"},"id":35},"@openzeppelin/contracts/utils/math/Math.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","exportedSymbols":{"Math":[7015]},"id":7016,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5963,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"103:24:36"},{"abstract":false,"baseContracts":[],"canonicalName":"Math","contractDependencies":[],"contractKind":"library","documentation":{"id":5964,"nodeType":"StructuredDocumentation","src":"129:73:36","text":" @dev Standard math utilities missing in the Solidity language."},"fullyImplemented":true,"id":7015,"linearizedBaseContracts":[7015],"name":"Math","nameLocation":"211:4:36","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":5965,"nodeType":"StructuredDocumentation","src":"222:50:36","text":" @dev Muldiv operation overflow."},"errorSelector":"227bc153","id":5967,"name":"MathOverflowedMulDiv","nameLocation":"283:20:36","nodeType":"ErrorDefinition","parameters":{"id":5966,"nodeType":"ParameterList","parameters":[],"src":"303:2:36"},"src":"277:29:36"},{"canonicalName":"Math.Rounding","id":5972,"members":[{"id":5968,"name":"Floor","nameLocation":"336:5:36","nodeType":"EnumValue","src":"336:5:36"},{"id":5969,"name":"Ceil","nameLocation":"379:4:36","nodeType":"EnumValue","src":"379:4:36"},{"id":5970,"name":"Trunc","nameLocation":"421:5:36","nodeType":"EnumValue","src":"421:5:36"},{"id":5971,"name":"Expand","nameLocation":"451:6:36","nodeType":"EnumValue","src":"451:6:36"}],"name":"Rounding","nameLocation":"317:8:36","nodeType":"EnumDefinition","src":"312:169:36"},{"body":{"id":6003,"nodeType":"Block","src":"661:140:36","statements":[{"id":6002,"nodeType":"UncheckedBlock","src":"671:124:36","statements":[{"assignments":[5985],"declarations":[{"constant":false,"id":5985,"mutability":"mutable","name":"c","nameLocation":"703:1:36","nodeType":"VariableDeclaration","scope":6002,"src":"695:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5984,"name":"uint256","nodeType":"ElementaryTypeName","src":"695:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5989,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5986,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5975,"src":"707:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":5987,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5977,"src":"711:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"707:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"695:17:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5990,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5985,"src":"730:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5991,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5975,"src":"734:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"730:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5997,"nodeType":"IfStatement","src":"726:28:36","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":5993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"745:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":5994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"752:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":5995,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"744:10:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":5983,"id":5996,"nodeType":"Return","src":"737:17:36"}},{"expression":{"components":[{"hexValue":"74727565","id":5998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"776:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":5999,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5985,"src":"782:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6000,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"775:9:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":5983,"id":6001,"nodeType":"Return","src":"768:16:36"}]}]},"documentation":{"id":5973,"nodeType":"StructuredDocumentation","src":"487:93:36","text":" @dev Returns the addition of two unsigned integers, with an overflow flag."},"id":6004,"implemented":true,"kind":"function","modifiers":[],"name":"tryAdd","nameLocation":"594:6:36","nodeType":"FunctionDefinition","parameters":{"id":5978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5975,"mutability":"mutable","name":"a","nameLocation":"609:1:36","nodeType":"VariableDeclaration","scope":6004,"src":"601:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5974,"name":"uint256","nodeType":"ElementaryTypeName","src":"601:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5977,"mutability":"mutable","name":"b","nameLocation":"620:1:36","nodeType":"VariableDeclaration","scope":6004,"src":"612:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5976,"name":"uint256","nodeType":"ElementaryTypeName","src":"612:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"600:22:36"},"returnParameters":{"id":5983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5980,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6004,"src":"646:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5979,"name":"bool","nodeType":"ElementaryTypeName","src":"646:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6004,"src":"652:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5981,"name":"uint256","nodeType":"ElementaryTypeName","src":"652:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"645:15:36"},"scope":7015,"src":"585:216:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6031,"nodeType":"Block","src":"984:113:36","statements":[{"id":6030,"nodeType":"UncheckedBlock","src":"994:97:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6016,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6009,"src":"1022:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":6017,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6007,"src":"1026:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1022:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6023,"nodeType":"IfStatement","src":"1018:28:36","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":6019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1037:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":6020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1044:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":6021,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1036:10:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":6015,"id":6022,"nodeType":"Return","src":"1029:17:36"}},{"expression":{"components":[{"hexValue":"74727565","id":6024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1068:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6025,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6007,"src":"1074:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6026,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6009,"src":"1078:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1074:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6028,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1067:13:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":6015,"id":6029,"nodeType":"Return","src":"1060:20:36"}]}]},"documentation":{"id":6005,"nodeType":"StructuredDocumentation","src":"807:96:36","text":" @dev Returns the subtraction of two unsigned integers, with an overflow flag."},"id":6032,"implemented":true,"kind":"function","modifiers":[],"name":"trySub","nameLocation":"917:6:36","nodeType":"FunctionDefinition","parameters":{"id":6010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6007,"mutability":"mutable","name":"a","nameLocation":"932:1:36","nodeType":"VariableDeclaration","scope":6032,"src":"924:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6006,"name":"uint256","nodeType":"ElementaryTypeName","src":"924:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6009,"mutability":"mutable","name":"b","nameLocation":"943:1:36","nodeType":"VariableDeclaration","scope":6032,"src":"935:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6008,"name":"uint256","nodeType":"ElementaryTypeName","src":"935:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"923:22:36"},"returnParameters":{"id":6015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6012,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6032,"src":"969:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6011,"name":"bool","nodeType":"ElementaryTypeName","src":"969:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6032,"src":"975:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6013,"name":"uint256","nodeType":"ElementaryTypeName","src":"975:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"968:15:36"},"scope":7015,"src":"908:189:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6073,"nodeType":"Block","src":"1283:417:36","statements":[{"id":6072,"nodeType":"UncheckedBlock","src":"1293:401:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6044,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6035,"src":"1551:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1556:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1551:6:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6051,"nodeType":"IfStatement","src":"1547:28:36","trueBody":{"expression":{"components":[{"hexValue":"74727565","id":6047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1567:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":6048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1573:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":6049,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1566:9:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":6043,"id":6050,"nodeType":"Return","src":"1559:16:36"}},{"assignments":[6053],"declarations":[{"constant":false,"id":6053,"mutability":"mutable","name":"c","nameLocation":"1597:1:36","nodeType":"VariableDeclaration","scope":6072,"src":"1589:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6052,"name":"uint256","nodeType":"ElementaryTypeName","src":"1589:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6057,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6054,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6035,"src":"1601:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6055,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6037,"src":"1605:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1601:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1589:17:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6058,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6053,"src":"1624:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6059,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6035,"src":"1628:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1624:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":6061,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6037,"src":"1633:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1624:10:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6067,"nodeType":"IfStatement","src":"1620:33:36","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":6063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1644:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":6064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1651:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":6065,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1643:10:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":6043,"id":6066,"nodeType":"Return","src":"1636:17:36"}},{"expression":{"components":[{"hexValue":"74727565","id":6068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1675:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":6069,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6053,"src":"1681:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6070,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1674:9:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":6043,"id":6071,"nodeType":"Return","src":"1667:16:36"}]}]},"documentation":{"id":6033,"nodeType":"StructuredDocumentation","src":"1103:99:36","text":" @dev Returns the multiplication of two unsigned integers, with an overflow flag."},"id":6074,"implemented":true,"kind":"function","modifiers":[],"name":"tryMul","nameLocation":"1216:6:36","nodeType":"FunctionDefinition","parameters":{"id":6038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6035,"mutability":"mutable","name":"a","nameLocation":"1231:1:36","nodeType":"VariableDeclaration","scope":6074,"src":"1223:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6034,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6037,"mutability":"mutable","name":"b","nameLocation":"1242:1:36","nodeType":"VariableDeclaration","scope":6074,"src":"1234:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6036,"name":"uint256","nodeType":"ElementaryTypeName","src":"1234:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1222:22:36"},"returnParameters":{"id":6043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6040,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6074,"src":"1268:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6039,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6042,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6074,"src":"1274:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6041,"name":"uint256","nodeType":"ElementaryTypeName","src":"1274:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1267:15:36"},"scope":7015,"src":"1207:493:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6101,"nodeType":"Block","src":"1887:114:36","statements":[{"id":6100,"nodeType":"UncheckedBlock","src":"1897:98:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6086,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6079,"src":"1925:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1930:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1925:6:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6093,"nodeType":"IfStatement","src":"1921:29:36","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":6089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1941:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":6090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1948:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":6091,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1940:10:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":6085,"id":6092,"nodeType":"Return","src":"1933:17:36"}},{"expression":{"components":[{"hexValue":"74727565","id":6094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1972:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6095,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6077,"src":"1978:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6096,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6079,"src":"1982:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1978:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6098,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1971:13:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":6085,"id":6099,"nodeType":"Return","src":"1964:20:36"}]}]},"documentation":{"id":6075,"nodeType":"StructuredDocumentation","src":"1706:100:36","text":" @dev Returns the division of two unsigned integers, with a division by zero flag."},"id":6102,"implemented":true,"kind":"function","modifiers":[],"name":"tryDiv","nameLocation":"1820:6:36","nodeType":"FunctionDefinition","parameters":{"id":6080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6077,"mutability":"mutable","name":"a","nameLocation":"1835:1:36","nodeType":"VariableDeclaration","scope":6102,"src":"1827:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6076,"name":"uint256","nodeType":"ElementaryTypeName","src":"1827:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6079,"mutability":"mutable","name":"b","nameLocation":"1846:1:36","nodeType":"VariableDeclaration","scope":6102,"src":"1838:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6078,"name":"uint256","nodeType":"ElementaryTypeName","src":"1838:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1826:22:36"},"returnParameters":{"id":6085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6082,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6102,"src":"1872:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6081,"name":"bool","nodeType":"ElementaryTypeName","src":"1872:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6084,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6102,"src":"1878:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6083,"name":"uint256","nodeType":"ElementaryTypeName","src":"1878:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1871:15:36"},"scope":7015,"src":"1811:190:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6129,"nodeType":"Block","src":"2198:114:36","statements":[{"id":6128,"nodeType":"UncheckedBlock","src":"2208:98:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6114,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6107,"src":"2236:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2241:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2236:6:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6121,"nodeType":"IfStatement","src":"2232:29:36","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":6117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2252:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":6118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2259:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":6119,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2251:10:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":6113,"id":6120,"nodeType":"Return","src":"2244:17:36"}},{"expression":{"components":[{"hexValue":"74727565","id":6122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2283:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6123,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6105,"src":"2289:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":6124,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6107,"src":"2293:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2289:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6126,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2282:13:36","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":6113,"id":6127,"nodeType":"Return","src":"2275:20:36"}]}]},"documentation":{"id":6103,"nodeType":"StructuredDocumentation","src":"2007:110:36","text":" @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag."},"id":6130,"implemented":true,"kind":"function","modifiers":[],"name":"tryMod","nameLocation":"2131:6:36","nodeType":"FunctionDefinition","parameters":{"id":6108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6105,"mutability":"mutable","name":"a","nameLocation":"2146:1:36","nodeType":"VariableDeclaration","scope":6130,"src":"2138:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6104,"name":"uint256","nodeType":"ElementaryTypeName","src":"2138:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6107,"mutability":"mutable","name":"b","nameLocation":"2157:1:36","nodeType":"VariableDeclaration","scope":6130,"src":"2149:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6106,"name":"uint256","nodeType":"ElementaryTypeName","src":"2149:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2137:22:36"},"returnParameters":{"id":6113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6130,"src":"2183:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6109,"name":"bool","nodeType":"ElementaryTypeName","src":"2183:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6130,"src":"2189:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6111,"name":"uint256","nodeType":"ElementaryTypeName","src":"2189:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2182:15:36"},"scope":7015,"src":"2122:190:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6147,"nodeType":"Block","src":"2449:37:36","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6140,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6133,"src":"2466:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":6141,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6135,"src":"2470:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2466:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":6144,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6135,"src":"2478:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2466:13:36","trueExpression":{"id":6143,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6133,"src":"2474:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6139,"id":6146,"nodeType":"Return","src":"2459:20:36"}]},"documentation":{"id":6131,"nodeType":"StructuredDocumentation","src":"2318:59:36","text":" @dev Returns the largest of two numbers."},"id":6148,"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"2391:3:36","nodeType":"FunctionDefinition","parameters":{"id":6136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6133,"mutability":"mutable","name":"a","nameLocation":"2403:1:36","nodeType":"VariableDeclaration","scope":6148,"src":"2395:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6132,"name":"uint256","nodeType":"ElementaryTypeName","src":"2395:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6135,"mutability":"mutable","name":"b","nameLocation":"2414:1:36","nodeType":"VariableDeclaration","scope":6148,"src":"2406:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6134,"name":"uint256","nodeType":"ElementaryTypeName","src":"2406:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2394:22:36"},"returnParameters":{"id":6139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6138,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6148,"src":"2440:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6137,"name":"uint256","nodeType":"ElementaryTypeName","src":"2440:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2439:9:36"},"scope":7015,"src":"2382:104:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6165,"nodeType":"Block","src":"2624:37:36","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6158,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6151,"src":"2641:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6159,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6153,"src":"2645:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2641:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":6162,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6153,"src":"2653:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2641:13:36","trueExpression":{"id":6161,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6151,"src":"2649:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6157,"id":6164,"nodeType":"Return","src":"2634:20:36"}]},"documentation":{"id":6149,"nodeType":"StructuredDocumentation","src":"2492:60:36","text":" @dev Returns the smallest of two numbers."},"id":6166,"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"2566:3:36","nodeType":"FunctionDefinition","parameters":{"id":6154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6151,"mutability":"mutable","name":"a","nameLocation":"2578:1:36","nodeType":"VariableDeclaration","scope":6166,"src":"2570:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6150,"name":"uint256","nodeType":"ElementaryTypeName","src":"2570:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6153,"mutability":"mutable","name":"b","nameLocation":"2589:1:36","nodeType":"VariableDeclaration","scope":6166,"src":"2581:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6152,"name":"uint256","nodeType":"ElementaryTypeName","src":"2581:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2569:22:36"},"returnParameters":{"id":6157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6166,"src":"2615:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6155,"name":"uint256","nodeType":"ElementaryTypeName","src":"2615:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2614:9:36"},"scope":7015,"src":"2557:104:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6188,"nodeType":"Block","src":"2845:82:36","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6176,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6169,"src":"2900:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":6177,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6171,"src":"2904:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2900:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6179,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2899:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6180,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6169,"src":"2910:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":6181,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6171,"src":"2914:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2910:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6183,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2909:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":6184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2919:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2909:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2899:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6175,"id":6187,"nodeType":"Return","src":"2892:28:36"}]},"documentation":{"id":6167,"nodeType":"StructuredDocumentation","src":"2667:102:36","text":" @dev Returns the average of two numbers. The result is rounded towards\n zero."},"id":6189,"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"2783:7:36","nodeType":"FunctionDefinition","parameters":{"id":6172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6169,"mutability":"mutable","name":"a","nameLocation":"2799:1:36","nodeType":"VariableDeclaration","scope":6189,"src":"2791:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6168,"name":"uint256","nodeType":"ElementaryTypeName","src":"2791:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6171,"mutability":"mutable","name":"b","nameLocation":"2810:1:36","nodeType":"VariableDeclaration","scope":6189,"src":"2802:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6170,"name":"uint256","nodeType":"ElementaryTypeName","src":"2802:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2790:22:36"},"returnParameters":{"id":6175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6174,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6189,"src":"2836:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6173,"name":"uint256","nodeType":"ElementaryTypeName","src":"2836:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2835:9:36"},"scope":7015,"src":"2774:153:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6222,"nodeType":"Block","src":"3219:260:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6199,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6194,"src":"3233:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3238:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3233:6:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6207,"nodeType":"IfStatement","src":"3229:127:36","trueBody":{"id":6206,"nodeType":"Block","src":"3241:115:36","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6202,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6192,"src":"3340:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6203,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6194,"src":"3344:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3340:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6198,"id":6205,"nodeType":"Return","src":"3333:12:36"}]}},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6208,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6192,"src":"3444:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3449:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3444:6:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6212,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6192,"src":"3458:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":6213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3462:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3458:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6215,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3457:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6216,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6194,"src":"3467:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3457:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":6218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3471:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3457:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3444:28:36","trueExpression":{"hexValue":"30","id":6211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3453:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6198,"id":6221,"nodeType":"Return","src":"3437:35:36"}]},"documentation":{"id":6190,"nodeType":"StructuredDocumentation","src":"2933:210:36","text":" @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds towards infinity instead\n of rounding towards zero."},"id":6223,"implemented":true,"kind":"function","modifiers":[],"name":"ceilDiv","nameLocation":"3157:7:36","nodeType":"FunctionDefinition","parameters":{"id":6195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6192,"mutability":"mutable","name":"a","nameLocation":"3173:1:36","nodeType":"VariableDeclaration","scope":6223,"src":"3165:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6191,"name":"uint256","nodeType":"ElementaryTypeName","src":"3165:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6194,"mutability":"mutable","name":"b","nameLocation":"3184:1:36","nodeType":"VariableDeclaration","scope":6223,"src":"3176:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6193,"name":"uint256","nodeType":"ElementaryTypeName","src":"3176:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3164:22:36"},"returnParameters":{"id":6198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6197,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6223,"src":"3210:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6196,"name":"uint256","nodeType":"ElementaryTypeName","src":"3210:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3209:9:36"},"scope":7015,"src":"3148:331:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6348,"nodeType":"Block","src":"3901:4018:36","statements":[{"id":6347,"nodeType":"UncheckedBlock","src":"3911:4002:36","statements":[{"assignments":[6236],"declarations":[{"constant":false,"id":6236,"mutability":"mutable","name":"prod0","nameLocation":"4240:5:36","nodeType":"VariableDeclaration","scope":6347,"src":"4232:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6235,"name":"uint256","nodeType":"ElementaryTypeName","src":"4232:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6240,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6237,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6226,"src":"4248:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6238,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6228,"src":"4252:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4248:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4232:21:36"},{"assignments":[6242],"declarations":[{"constant":false,"id":6242,"mutability":"mutable","name":"prod1","nameLocation":"4320:5:36","nodeType":"VariableDeclaration","scope":6347,"src":"4312:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6241,"name":"uint256","nodeType":"ElementaryTypeName","src":"4312:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6243,"nodeType":"VariableDeclarationStatement","src":"4312:13:36"},{"AST":{"nodeType":"YulBlock","src":"4392:122:36","statements":[{"nodeType":"YulVariableDeclaration","src":"4410:30:36","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4427:1:36"},{"name":"y","nodeType":"YulIdentifier","src":"4430:1:36"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4437:1:36","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4433:3:36"},"nodeType":"YulFunctionCall","src":"4433:6:36"}],"functionName":{"name":"mulmod","nodeType":"YulIdentifier","src":"4420:6:36"},"nodeType":"YulFunctionCall","src":"4420:20:36"},"variables":[{"name":"mm","nodeType":"YulTypedName","src":"4414:2:36","type":""}]},{"nodeType":"YulAssignment","src":"4457:43:36","value":{"arguments":[{"arguments":[{"name":"mm","nodeType":"YulIdentifier","src":"4474:2:36"},{"name":"prod0","nodeType":"YulIdentifier","src":"4478:5:36"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4470:3:36"},"nodeType":"YulFunctionCall","src":"4470:14:36"},{"arguments":[{"name":"mm","nodeType":"YulIdentifier","src":"4489:2:36"},{"name":"prod0","nodeType":"YulIdentifier","src":"4493:5:36"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4486:2:36"},"nodeType":"YulFunctionCall","src":"4486:13:36"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4466:3:36"},"nodeType":"YulFunctionCall","src":"4466:34:36"},"variableNames":[{"name":"prod1","nodeType":"YulIdentifier","src":"4457:5:36"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":6236,"isOffset":false,"isSlot":false,"src":"4478:5:36","valueSize":1},{"declaration":6236,"isOffset":false,"isSlot":false,"src":"4493:5:36","valueSize":1},{"declaration":6242,"isOffset":false,"isSlot":false,"src":"4457:5:36","valueSize":1},{"declaration":6226,"isOffset":false,"isSlot":false,"src":"4427:1:36","valueSize":1},{"declaration":6228,"isOffset":false,"isSlot":false,"src":"4430:1:36","valueSize":1}],"id":6244,"nodeType":"InlineAssembly","src":"4383:131:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6245,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6242,"src":"4595:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4604:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4595:10:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6253,"nodeType":"IfStatement","src":"4591:368:36","trueBody":{"id":6252,"nodeType":"Block","src":"4607:352:36","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6248,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6236,"src":"4925:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6249,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"4933:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4925:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6234,"id":6251,"nodeType":"Return","src":"4918:26:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6254,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"5065:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":6255,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6242,"src":"5080:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5065:20:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6261,"nodeType":"IfStatement","src":"5061:88:36","trueBody":{"id":6260,"nodeType":"Block","src":"5087:62:36","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6257,"name":"MathOverflowedMulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5967,"src":"5112:20:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5112:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6259,"nodeType":"RevertStatement","src":"5105:29:36"}]}},{"assignments":[6263],"declarations":[{"constant":false,"id":6263,"mutability":"mutable","name":"remainder","nameLocation":"5412:9:36","nodeType":"VariableDeclaration","scope":6347,"src":"5404:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6262,"name":"uint256","nodeType":"ElementaryTypeName","src":"5404:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6264,"nodeType":"VariableDeclarationStatement","src":"5404:17:36"},{"AST":{"nodeType":"YulBlock","src":"5444:291:36","statements":[{"nodeType":"YulAssignment","src":"5513:38:36","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5533:1:36"},{"name":"y","nodeType":"YulIdentifier","src":"5536:1:36"},{"name":"denominator","nodeType":"YulIdentifier","src":"5539:11:36"}],"functionName":{"name":"mulmod","nodeType":"YulIdentifier","src":"5526:6:36"},"nodeType":"YulFunctionCall","src":"5526:25:36"},"variableNames":[{"name":"remainder","nodeType":"YulIdentifier","src":"5513:9:36"}]},{"nodeType":"YulAssignment","src":"5633:41:36","value":{"arguments":[{"name":"prod1","nodeType":"YulIdentifier","src":"5646:5:36"},{"arguments":[{"name":"remainder","nodeType":"YulIdentifier","src":"5656:9:36"},{"name":"prod0","nodeType":"YulIdentifier","src":"5667:5:36"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5653:2:36"},"nodeType":"YulFunctionCall","src":"5653:20:36"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5642:3:36"},"nodeType":"YulFunctionCall","src":"5642:32:36"},"variableNames":[{"name":"prod1","nodeType":"YulIdentifier","src":"5633:5:36"}]},{"nodeType":"YulAssignment","src":"5691:30:36","value":{"arguments":[{"name":"prod0","nodeType":"YulIdentifier","src":"5704:5:36"},{"name":"remainder","nodeType":"YulIdentifier","src":"5711:9:36"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5700:3:36"},"nodeType":"YulFunctionCall","src":"5700:21:36"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"5691:5:36"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":6230,"isOffset":false,"isSlot":false,"src":"5539:11:36","valueSize":1},{"declaration":6236,"isOffset":false,"isSlot":false,"src":"5667:5:36","valueSize":1},{"declaration":6236,"isOffset":false,"isSlot":false,"src":"5691:5:36","valueSize":1},{"declaration":6236,"isOffset":false,"isSlot":false,"src":"5704:5:36","valueSize":1},{"declaration":6242,"isOffset":false,"isSlot":false,"src":"5633:5:36","valueSize":1},{"declaration":6242,"isOffset":false,"isSlot":false,"src":"5646:5:36","valueSize":1},{"declaration":6263,"isOffset":false,"isSlot":false,"src":"5513:9:36","valueSize":1},{"declaration":6263,"isOffset":false,"isSlot":false,"src":"5656:9:36","valueSize":1},{"declaration":6263,"isOffset":false,"isSlot":false,"src":"5711:9:36","valueSize":1},{"declaration":6226,"isOffset":false,"isSlot":false,"src":"5533:1:36","valueSize":1},{"declaration":6228,"isOffset":false,"isSlot":false,"src":"5536:1:36","valueSize":1}],"id":6265,"nodeType":"InlineAssembly","src":"5435:300:36"},{"assignments":[6267],"declarations":[{"constant":false,"id":6267,"mutability":"mutable","name":"twos","nameLocation":"5947:4:36","nodeType":"VariableDeclaration","scope":6347,"src":"5939:12:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6266,"name":"uint256","nodeType":"ElementaryTypeName","src":"5939:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6274,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6268,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"5954:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"30","id":6269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5969:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6270,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"5973:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5969:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6272,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5968:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5954:31:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5939:46:36"},{"AST":{"nodeType":"YulBlock","src":"6008:362:36","statements":[{"nodeType":"YulAssignment","src":"6073:37:36","value":{"arguments":[{"name":"denominator","nodeType":"YulIdentifier","src":"6092:11:36"},{"name":"twos","nodeType":"YulIdentifier","src":"6105:4:36"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6088:3:36"},"nodeType":"YulFunctionCall","src":"6088:22:36"},"variableNames":[{"name":"denominator","nodeType":"YulIdentifier","src":"6073:11:36"}]},{"nodeType":"YulAssignment","src":"6177:25:36","value":{"arguments":[{"name":"prod0","nodeType":"YulIdentifier","src":"6190:5:36"},{"name":"twos","nodeType":"YulIdentifier","src":"6197:4:36"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6186:3:36"},"nodeType":"YulFunctionCall","src":"6186:16:36"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"6177:5:36"}]},{"nodeType":"YulAssignment","src":"6317:39:36","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6337:1:36","type":"","value":"0"},{"name":"twos","nodeType":"YulIdentifier","src":"6340:4:36"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6333:3:36"},"nodeType":"YulFunctionCall","src":"6333:12:36"},{"name":"twos","nodeType":"YulIdentifier","src":"6347:4:36"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6329:3:36"},"nodeType":"YulFunctionCall","src":"6329:23:36"},{"kind":"number","nodeType":"YulLiteral","src":"6354:1:36","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6325:3:36"},"nodeType":"YulFunctionCall","src":"6325:31:36"},"variableNames":[{"name":"twos","nodeType":"YulIdentifier","src":"6317:4:36"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":6230,"isOffset":false,"isSlot":false,"src":"6073:11:36","valueSize":1},{"declaration":6230,"isOffset":false,"isSlot":false,"src":"6092:11:36","valueSize":1},{"declaration":6236,"isOffset":false,"isSlot":false,"src":"6177:5:36","valueSize":1},{"declaration":6236,"isOffset":false,"isSlot":false,"src":"6190:5:36","valueSize":1},{"declaration":6267,"isOffset":false,"isSlot":false,"src":"6105:4:36","valueSize":1},{"declaration":6267,"isOffset":false,"isSlot":false,"src":"6197:4:36","valueSize":1},{"declaration":6267,"isOffset":false,"isSlot":false,"src":"6317:4:36","valueSize":1},{"declaration":6267,"isOffset":false,"isSlot":false,"src":"6340:4:36","valueSize":1},{"declaration":6267,"isOffset":false,"isSlot":false,"src":"6347:4:36","valueSize":1}],"id":6275,"nodeType":"InlineAssembly","src":"5999:371:36"},{"expression":{"id":6280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6276,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6236,"src":"6436:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6277,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6242,"src":"6445:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6278,"name":"twos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6267,"src":"6453:4:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6445:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6436:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6281,"nodeType":"ExpressionStatement","src":"6436:21:36"},{"assignments":[6283],"declarations":[{"constant":false,"id":6283,"mutability":"mutable","name":"inverse","nameLocation":"6783:7:36","nodeType":"VariableDeclaration","scope":6347,"src":"6775:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6282,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6290,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":6284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6794:1:36","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6285,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"6798:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6794:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6287,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6793:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"hexValue":"32","id":6288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6813:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"6793:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6775:39:36"},{"expression":{"id":6297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6291,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7031:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":6292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7042:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6293,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"7046:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6294,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7060:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7046:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7042:25:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7031:36:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6298,"nodeType":"ExpressionStatement","src":"7031:36:36"},{"expression":{"id":6305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6299,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7100:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":6300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7111:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6301,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"7115:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6302,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7129:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7115:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7111:25:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7100:36:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6306,"nodeType":"ExpressionStatement","src":"7100:36:36"},{"expression":{"id":6313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6307,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7170:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":6308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7181:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6309,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"7185:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6310,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7199:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7185:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7181:25:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7170:36:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6314,"nodeType":"ExpressionStatement","src":"7170:36:36"},{"expression":{"id":6321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6315,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7240:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":6316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7251:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6317,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"7255:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6318,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7269:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7255:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7251:25:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7240:36:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6322,"nodeType":"ExpressionStatement","src":"7240:36:36"},{"expression":{"id":6329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6323,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7310:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":6324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7321:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6325,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"7325:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6326,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7339:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7325:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7321:25:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7310:36:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6330,"nodeType":"ExpressionStatement","src":"7310:36:36"},{"expression":{"id":6337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6331,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7381:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":6332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7392:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6333,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6230,"src":"7396:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6334,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7410:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7396:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7392:25:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7381:36:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6338,"nodeType":"ExpressionStatement","src":"7381:36:36"},{"expression":{"id":6343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6339,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6233,"src":"7851:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6340,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6236,"src":"7860:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6341,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"7868:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7860:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7851:24:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6344,"nodeType":"ExpressionStatement","src":"7851:24:36"},{"expression":{"id":6345,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6233,"src":"7896:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6234,"id":6346,"nodeType":"Return","src":"7889:13:36"}]}]},"documentation":{"id":6224,"nodeType":"StructuredDocumentation","src":"3485:313:36","text":" @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n denominator == 0.\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n Uniswap Labs also under MIT license."},"id":6349,"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"3812:6:36","nodeType":"FunctionDefinition","parameters":{"id":6231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6226,"mutability":"mutable","name":"x","nameLocation":"3827:1:36","nodeType":"VariableDeclaration","scope":6349,"src":"3819:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6225,"name":"uint256","nodeType":"ElementaryTypeName","src":"3819:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6228,"mutability":"mutable","name":"y","nameLocation":"3838:1:36","nodeType":"VariableDeclaration","scope":6349,"src":"3830:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6227,"name":"uint256","nodeType":"ElementaryTypeName","src":"3830:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6230,"mutability":"mutable","name":"denominator","nameLocation":"3849:11:36","nodeType":"VariableDeclaration","scope":6349,"src":"3841:19:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6229,"name":"uint256","nodeType":"ElementaryTypeName","src":"3841:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3818:43:36"},"returnParameters":{"id":6234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6233,"mutability":"mutable","name":"result","nameLocation":"3893:6:36","nodeType":"VariableDeclaration","scope":6349,"src":"3885:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6232,"name":"uint256","nodeType":"ElementaryTypeName","src":"3885:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3884:16:36"},"scope":7015,"src":"3803:4116:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6391,"nodeType":"Block","src":"8161:192:36","statements":[{"assignments":[6365],"declarations":[{"constant":false,"id":6365,"mutability":"mutable","name":"result","nameLocation":"8179:6:36","nodeType":"VariableDeclaration","scope":6391,"src":"8171:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6364,"name":"uint256","nodeType":"ElementaryTypeName","src":"8171:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6371,"initialValue":{"arguments":[{"id":6367,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6352,"src":"8195:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6368,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6354,"src":"8198:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6369,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6356,"src":"8201:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6366,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[6349,6392],"referencedDeclaration":6349,"src":"8188:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":6370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8171:42:36"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6373,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6359,"src":"8244:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}],"id":6372,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7014,"src":"8227:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$5972_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":6374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8227:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6376,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6352,"src":"8264:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6377,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6354,"src":"8267:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6378,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6356,"src":"8270:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6375,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"8257:6:36","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":6379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8257:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8285:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8257:29:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8227:59:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6388,"nodeType":"IfStatement","src":"8223:101:36","trueBody":{"id":6387,"nodeType":"Block","src":"8288:36:36","statements":[{"expression":{"id":6385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6383,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6365,"src":"8302:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":6384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8312:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8302:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6386,"nodeType":"ExpressionStatement","src":"8302:11:36"}]}},{"expression":{"id":6389,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6365,"src":"8340:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6363,"id":6390,"nodeType":"Return","src":"8333:13:36"}]},"documentation":{"id":6350,"nodeType":"StructuredDocumentation","src":"7925:121:36","text":" @notice Calculates x * y / denominator with full precision, following the selected rounding direction."},"id":6392,"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"8060:6:36","nodeType":"FunctionDefinition","parameters":{"id":6360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6352,"mutability":"mutable","name":"x","nameLocation":"8075:1:36","nodeType":"VariableDeclaration","scope":6392,"src":"8067:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6351,"name":"uint256","nodeType":"ElementaryTypeName","src":"8067:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6354,"mutability":"mutable","name":"y","nameLocation":"8086:1:36","nodeType":"VariableDeclaration","scope":6392,"src":"8078:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6353,"name":"uint256","nodeType":"ElementaryTypeName","src":"8078:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6356,"mutability":"mutable","name":"denominator","nameLocation":"8097:11:36","nodeType":"VariableDeclaration","scope":6392,"src":"8089:19:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6355,"name":"uint256","nodeType":"ElementaryTypeName","src":"8089:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6359,"mutability":"mutable","name":"rounding","nameLocation":"8119:8:36","nodeType":"VariableDeclaration","scope":6392,"src":"8110:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"},"typeName":{"id":6358,"nodeType":"UserDefinedTypeName","pathNode":{"id":6357,"name":"Rounding","nameLocations":["8110:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":5972,"src":"8110:8:36"},"referencedDeclaration":5972,"src":"8110:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"8066:62:36"},"returnParameters":{"id":6363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6362,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6392,"src":"8152:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6361,"name":"uint256","nodeType":"ElementaryTypeName","src":"8152:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8151:9:36"},"scope":7015,"src":"8051:302:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6503,"nodeType":"Block","src":"8644:1585:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6400,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"8658:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8663:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8658:6:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6406,"nodeType":"IfStatement","src":"8654:45:36","trueBody":{"id":6405,"nodeType":"Block","src":"8666:33:36","statements":[{"expression":{"hexValue":"30","id":6403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8687:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":6399,"id":6404,"nodeType":"Return","src":"8680:8:36"}]}},{"assignments":[6408],"declarations":[{"constant":false,"id":6408,"mutability":"mutable","name":"result","nameLocation":"9386:6:36","nodeType":"VariableDeclaration","scope":6503,"src":"9378:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6407,"name":"uint256","nodeType":"ElementaryTypeName","src":"9378:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6417,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9395:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6411,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"9406:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6410,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[6671,6706],"referencedDeclaration":6671,"src":"9401:4:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":6412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9401:7:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":6413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9412:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9401:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6415,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9400:14:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9395:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9378:36:36"},{"id":6502,"nodeType":"UncheckedBlock","src":"9815:408:36","statements":[{"expression":{"id":6427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6418,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9839:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6419,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9849:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6420,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"9858:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6421,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9862:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9858:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9849:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6424,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9848:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":6425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9873:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9848:26:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9839:35:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6428,"nodeType":"ExpressionStatement","src":"9839:35:36"},{"expression":{"id":6438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6429,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9888:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6430,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9898:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6431,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"9907:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6432,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9911:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9907:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9898:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6435,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9897:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":6436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9922:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9897:26:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9888:35:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6439,"nodeType":"ExpressionStatement","src":"9888:35:36"},{"expression":{"id":6449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6440,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9937:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6441,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9947:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6442,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"9956:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6443,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9960:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9956:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9947:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6446,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9946:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":6447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9971:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9946:26:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9937:35:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6450,"nodeType":"ExpressionStatement","src":"9937:35:36"},{"expression":{"id":6460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6451,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9986:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6452,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"9996:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6453,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"10005:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6454,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10009:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10005:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9996:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6457,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9995:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":6458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10020:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9995:26:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9986:35:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6461,"nodeType":"ExpressionStatement","src":"9986:35:36"},{"expression":{"id":6471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6462,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10035:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6463,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10045:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6464,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"10054:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6465,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10058:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10054:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10045:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6468,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10044:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":6469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10069:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10044:26:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10035:35:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6472,"nodeType":"ExpressionStatement","src":"10035:35:36"},{"expression":{"id":6482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6473,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10084:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6474,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10094:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6475,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"10103:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6476,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10107:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10103:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10094:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6479,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10093:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":6480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10118:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10093:26:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10084:35:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6483,"nodeType":"ExpressionStatement","src":"10084:35:36"},{"expression":{"id":6493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6484,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10133:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6485,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10143:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6486,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"10152:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6487,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10156:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10152:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10143:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6490,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10142:21:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":6491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10167:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10142:26:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10133:35:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6494,"nodeType":"ExpressionStatement","src":"10133:35:36"},{"expression":{"arguments":[{"id":6496,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10193:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6497,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6395,"src":"10201:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":6498,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6408,"src":"10205:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10201:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6495,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6166,"src":"10189:3:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":6500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10189:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6399,"id":6501,"nodeType":"Return","src":"10182:30:36"}]}]},"documentation":{"id":6393,"nodeType":"StructuredDocumentation","src":"8359:223:36","text":" @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n towards zero.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)."},"id":6504,"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"8596:4:36","nodeType":"FunctionDefinition","parameters":{"id":6396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6395,"mutability":"mutable","name":"a","nameLocation":"8609:1:36","nodeType":"VariableDeclaration","scope":6504,"src":"8601:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6394,"name":"uint256","nodeType":"ElementaryTypeName","src":"8601:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8600:11:36"},"returnParameters":{"id":6399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6504,"src":"8635:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6397,"name":"uint256","nodeType":"ElementaryTypeName","src":"8635:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8634:9:36"},"scope":7015,"src":"8587:1642:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6538,"nodeType":"Block","src":"10405:164:36","statements":[{"id":6537,"nodeType":"UncheckedBlock","src":"10415:148:36","statements":[{"assignments":[6516],"declarations":[{"constant":false,"id":6516,"mutability":"mutable","name":"result","nameLocation":"10447:6:36","nodeType":"VariableDeclaration","scope":6537,"src":"10439:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6515,"name":"uint256","nodeType":"ElementaryTypeName","src":"10439:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6520,"initialValue":{"arguments":[{"id":6518,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6507,"src":"10461:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6517,"name":"sqrt","nodeType":"Identifier","overloadedDeclarations":[6504,6539],"referencedDeclaration":6504,"src":"10456:4:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":6519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10456:7:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10439:24:36"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6521,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6516,"src":"10484:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6523,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6510,"src":"10511:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}],"id":6522,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7014,"src":"10494:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$5972_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":6524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10494:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6525,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6516,"src":"10524:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":6526,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6516,"src":"10533:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10524:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6528,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6507,"src":"10542:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10524:19:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10494:49:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":6532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10550:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":6533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10494:57:36","trueExpression":{"hexValue":"31","id":6531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10546:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":6534,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10493:59:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10484:68:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6514,"id":6536,"nodeType":"Return","src":"10477:75:36"}]}]},"documentation":{"id":6505,"nodeType":"StructuredDocumentation","src":"10235:89:36","text":" @notice Calculates sqrt(a), following the selected rounding direction."},"id":6539,"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"10338:4:36","nodeType":"FunctionDefinition","parameters":{"id":6511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6507,"mutability":"mutable","name":"a","nameLocation":"10351:1:36","nodeType":"VariableDeclaration","scope":6539,"src":"10343:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6506,"name":"uint256","nodeType":"ElementaryTypeName","src":"10343:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6510,"mutability":"mutable","name":"rounding","nameLocation":"10363:8:36","nodeType":"VariableDeclaration","scope":6539,"src":"10354:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"},"typeName":{"id":6509,"nodeType":"UserDefinedTypeName","pathNode":{"id":6508,"name":"Rounding","nameLocations":["10354:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":5972,"src":"10354:8:36"},"referencedDeclaration":5972,"src":"10354:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"10342:30:36"},"returnParameters":{"id":6514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6539,"src":"10396:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6512,"name":"uint256","nodeType":"ElementaryTypeName","src":"10396:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10395:9:36"},"scope":7015,"src":"10329:240:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6670,"nodeType":"Block","src":"10760:922:36","statements":[{"assignments":[6548],"declarations":[{"constant":false,"id":6548,"mutability":"mutable","name":"result","nameLocation":"10778:6:36","nodeType":"VariableDeclaration","scope":6670,"src":"10770:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6547,"name":"uint256","nodeType":"ElementaryTypeName","src":"10770:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6550,"initialValue":{"hexValue":"30","id":6549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10787:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10770:18:36"},{"id":6667,"nodeType":"UncheckedBlock","src":"10798:855:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6551,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"10826:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":6552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10835:3:36","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"10826:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10841:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10826:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6565,"nodeType":"IfStatement","src":"10822:99:36","trueBody":{"id":6564,"nodeType":"Block","src":"10844:77:36","statements":[{"expression":{"id":6558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6556,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"10862:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":6557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10872:3:36","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"10862:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6559,"nodeType":"ExpressionStatement","src":"10862:13:36"},{"expression":{"id":6562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6560,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"10893:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"313238","id":6561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10903:3:36","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"10893:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6563,"nodeType":"ExpressionStatement","src":"10893:13:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6566,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"10938:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":6567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10947:2:36","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10938:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10952:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10938:15:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6580,"nodeType":"IfStatement","src":"10934:96:36","trueBody":{"id":6579,"nodeType":"Block","src":"10955:75:36","statements":[{"expression":{"id":6573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6571,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"10973:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":6572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10983:2:36","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10973:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6574,"nodeType":"ExpressionStatement","src":"10973:12:36"},{"expression":{"id":6577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6575,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"11003:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":6576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11013:2:36","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11003:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6578,"nodeType":"ExpressionStatement","src":"11003:12:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6581,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11047:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":6582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11056:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11047:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11061:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11047:15:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6595,"nodeType":"IfStatement","src":"11043:96:36","trueBody":{"id":6594,"nodeType":"Block","src":"11064:75:36","statements":[{"expression":{"id":6588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6586,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11082:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":6587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11092:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11082:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6589,"nodeType":"ExpressionStatement","src":"11082:12:36"},{"expression":{"id":6592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6590,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"11112:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":6591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11122:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11112:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6593,"nodeType":"ExpressionStatement","src":"11112:12:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6596,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11156:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":6597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11165:2:36","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"11156:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11170:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11156:15:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6610,"nodeType":"IfStatement","src":"11152:96:36","trueBody":{"id":6609,"nodeType":"Block","src":"11173:75:36","statements":[{"expression":{"id":6603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6601,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11191:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":6602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11201:2:36","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"11191:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6604,"nodeType":"ExpressionStatement","src":"11191:12:36"},{"expression":{"id":6607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6605,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"11221:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":6606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11231:2:36","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"11221:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6608,"nodeType":"ExpressionStatement","src":"11221:12:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6611,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11265:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":6612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11274:1:36","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11265:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11278:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11265:14:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6625,"nodeType":"IfStatement","src":"11261:93:36","trueBody":{"id":6624,"nodeType":"Block","src":"11281:73:36","statements":[{"expression":{"id":6618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6616,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11299:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":6617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11309:1:36","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11299:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6619,"nodeType":"ExpressionStatement","src":"11299:11:36"},{"expression":{"id":6622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6620,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"11328:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":6621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11338:1:36","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11328:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6623,"nodeType":"ExpressionStatement","src":"11328:11:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6626,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11371:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"34","id":6627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11380:1:36","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"11371:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11384:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11371:14:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6640,"nodeType":"IfStatement","src":"11367:93:36","trueBody":{"id":6639,"nodeType":"Block","src":"11387:73:36","statements":[{"expression":{"id":6633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6631,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11405:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":6632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11415:1:36","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"11405:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6634,"nodeType":"ExpressionStatement","src":"11405:11:36"},{"expression":{"id":6637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6635,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"11434:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":6636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11444:1:36","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"11434:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6638,"nodeType":"ExpressionStatement","src":"11434:11:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6641,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11477:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"32","id":6642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11486:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11477:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11490:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11477:14:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6655,"nodeType":"IfStatement","src":"11473:93:36","trueBody":{"id":6654,"nodeType":"Block","src":"11493:73:36","statements":[{"expression":{"id":6648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6646,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11511:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"32","id":6647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11521:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11511:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6649,"nodeType":"ExpressionStatement","src":"11511:11:36"},{"expression":{"id":6652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6650,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"11540:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":6651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11550:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11540:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6653,"nodeType":"ExpressionStatement","src":"11540:11:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6656,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"11583:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":6657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11592:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11583:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11596:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11583:14:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6666,"nodeType":"IfStatement","src":"11579:64:36","trueBody":{"id":6665,"nodeType":"Block","src":"11599:44:36","statements":[{"expression":{"id":6663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6661,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"11617:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":6662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11627:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11617:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6664,"nodeType":"ExpressionStatement","src":"11617:11:36"}]}}]},{"expression":{"id":6668,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"11669:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6546,"id":6669,"nodeType":"Return","src":"11662:13:36"}]},"documentation":{"id":6540,"nodeType":"StructuredDocumentation","src":"10575:119:36","text":" @dev Return the log in base 2 of a positive value rounded towards zero.\n Returns 0 if given 0."},"id":6671,"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"10708:4:36","nodeType":"FunctionDefinition","parameters":{"id":6543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6542,"mutability":"mutable","name":"value","nameLocation":"10721:5:36","nodeType":"VariableDeclaration","scope":6671,"src":"10713:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6541,"name":"uint256","nodeType":"ElementaryTypeName","src":"10713:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10712:15:36"},"returnParameters":{"id":6546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6545,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6671,"src":"10751:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6544,"name":"uint256","nodeType":"ElementaryTypeName","src":"10751:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10750:9:36"},"scope":7015,"src":"10699:983:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6705,"nodeType":"Block","src":"11915:168:36","statements":[{"id":6704,"nodeType":"UncheckedBlock","src":"11925:152:36","statements":[{"assignments":[6683],"declarations":[{"constant":false,"id":6683,"mutability":"mutable","name":"result","nameLocation":"11957:6:36","nodeType":"VariableDeclaration","scope":6704,"src":"11949:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6682,"name":"uint256","nodeType":"ElementaryTypeName","src":"11949:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6687,"initialValue":{"arguments":[{"id":6685,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6674,"src":"11971:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6684,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[6671,6706],"referencedDeclaration":6671,"src":"11966:4:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":6686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11966:11:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11949:28:36"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6688,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6683,"src":"11998:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6690,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6677,"src":"12025:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}],"id":6689,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7014,"src":"12008:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$5972_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":6691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12008:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12038:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":6693,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6683,"src":"12043:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12038:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6695,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6674,"src":"12052:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12038:19:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12008:49:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":6699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12064:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":6700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12008:57:36","trueExpression":{"hexValue":"31","id":6698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12060:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":6701,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12007:59:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11998:68:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6681,"id":6703,"nodeType":"Return","src":"11991:75:36"}]}]},"documentation":{"id":6672,"nodeType":"StructuredDocumentation","src":"11688:142:36","text":" @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":6706,"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"11844:4:36","nodeType":"FunctionDefinition","parameters":{"id":6678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6674,"mutability":"mutable","name":"value","nameLocation":"11857:5:36","nodeType":"VariableDeclaration","scope":6706,"src":"11849:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6673,"name":"uint256","nodeType":"ElementaryTypeName","src":"11849:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6677,"mutability":"mutable","name":"rounding","nameLocation":"11873:8:36","nodeType":"VariableDeclaration","scope":6706,"src":"11864:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"},"typeName":{"id":6676,"nodeType":"UserDefinedTypeName","pathNode":{"id":6675,"name":"Rounding","nameLocations":["11864:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":5972,"src":"11864:8:36"},"referencedDeclaration":5972,"src":"11864:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"11848:34:36"},"returnParameters":{"id":6681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6706,"src":"11906:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6679,"name":"uint256","nodeType":"ElementaryTypeName","src":"11906:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11905:9:36"},"scope":7015,"src":"11835:248:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6834,"nodeType":"Block","src":"12276:854:36","statements":[{"assignments":[6715],"declarations":[{"constant":false,"id":6715,"mutability":"mutable","name":"result","nameLocation":"12294:6:36","nodeType":"VariableDeclaration","scope":6834,"src":"12286:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6714,"name":"uint256","nodeType":"ElementaryTypeName","src":"12286:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6717,"initialValue":{"hexValue":"30","id":6716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12303:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12286:18:36"},{"id":6831,"nodeType":"UncheckedBlock","src":"12314:787:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6718,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12342:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":6721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12351:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":6720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12357:2:36","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12351:8:36","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"12342:17:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6734,"nodeType":"IfStatement","src":"12338:103:36","trueBody":{"id":6733,"nodeType":"Block","src":"12361:80:36","statements":[{"expression":{"id":6727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6723,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12379:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":6726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12388:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":6725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12394:2:36","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12388:8:36","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"12379:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6728,"nodeType":"ExpressionStatement","src":"12379:17:36"},{"expression":{"id":6731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6729,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"12414:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":6730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12424:2:36","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12414:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6732,"nodeType":"ExpressionStatement","src":"12414:12:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6735,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12458:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":6738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12467:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":6737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12473:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"12467:8:36","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"12458:17:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6751,"nodeType":"IfStatement","src":"12454:103:36","trueBody":{"id":6750,"nodeType":"Block","src":"12477:80:36","statements":[{"expression":{"id":6744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6740,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12495:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":6743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12504:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":6742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12510:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"12504:8:36","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"12495:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6745,"nodeType":"ExpressionStatement","src":"12495:17:36"},{"expression":{"id":6748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6746,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"12530:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":6747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12540:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"12530:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6749,"nodeType":"ExpressionStatement","src":"12530:12:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6752,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12574:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":6755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12583:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":6754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12589:2:36","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"12583:8:36","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"12574:17:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6768,"nodeType":"IfStatement","src":"12570:103:36","trueBody":{"id":6767,"nodeType":"Block","src":"12593:80:36","statements":[{"expression":{"id":6761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6757,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12611:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":6760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12620:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":6759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12626:2:36","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"12620:8:36","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"12611:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6762,"nodeType":"ExpressionStatement","src":"12611:17:36"},{"expression":{"id":6765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6763,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"12646:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":6764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12656:2:36","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"12646:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6766,"nodeType":"ExpressionStatement","src":"12646:12:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6769,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12690:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":6772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12699:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":6771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12705:1:36","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12699:7:36","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"12690:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6785,"nodeType":"IfStatement","src":"12686:100:36","trueBody":{"id":6784,"nodeType":"Block","src":"12708:78:36","statements":[{"expression":{"id":6778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6774,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12726:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":6777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12735:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":6776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12741:1:36","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12735:7:36","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"12726:16:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6779,"nodeType":"ExpressionStatement","src":"12726:16:36"},{"expression":{"id":6782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6780,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"12760:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":6781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12770:1:36","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12760:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6783,"nodeType":"ExpressionStatement","src":"12760:11:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6786,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12803:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":6789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12812:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":6788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12818:1:36","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"12812:7:36","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"12803:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6802,"nodeType":"IfStatement","src":"12799:100:36","trueBody":{"id":6801,"nodeType":"Block","src":"12821:78:36","statements":[{"expression":{"id":6795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6791,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12839:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":6794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12848:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":6793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12854:1:36","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"12848:7:36","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"12839:16:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6796,"nodeType":"ExpressionStatement","src":"12839:16:36"},{"expression":{"id":6799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6797,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"12873:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":6798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12883:1:36","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"12873:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6800,"nodeType":"ExpressionStatement","src":"12873:11:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6803,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12916:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":6806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12925:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":6805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12931:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12925:7:36","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"12916:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6819,"nodeType":"IfStatement","src":"12912:100:36","trueBody":{"id":6818,"nodeType":"Block","src":"12934:78:36","statements":[{"expression":{"id":6812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6808,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"12952:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":6811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12961:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":6810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12967:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12961:7:36","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"12952:16:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6813,"nodeType":"ExpressionStatement","src":"12952:16:36"},{"expression":{"id":6816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6814,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"12986:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":6815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12996:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12986:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6817,"nodeType":"ExpressionStatement","src":"12986:11:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6820,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"13029:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"id":6823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13038:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"31","id":6822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13044:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13038:7:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}},"src":"13029:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6830,"nodeType":"IfStatement","src":"13025:66:36","trueBody":{"id":6829,"nodeType":"Block","src":"13047:44:36","statements":[{"expression":{"id":6827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6825,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"13065:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":6826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13075:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13065:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6828,"nodeType":"ExpressionStatement","src":"13065:11:36"}]}}]},{"expression":{"id":6832,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"13117:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6713,"id":6833,"nodeType":"Return","src":"13110:13:36"}]},"documentation":{"id":6707,"nodeType":"StructuredDocumentation","src":"12089:120:36","text":" @dev Return the log in base 10 of a positive value rounded towards zero.\n Returns 0 if given 0."},"id":6835,"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"12223:5:36","nodeType":"FunctionDefinition","parameters":{"id":6710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6709,"mutability":"mutable","name":"value","nameLocation":"12237:5:36","nodeType":"VariableDeclaration","scope":6835,"src":"12229:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6708,"name":"uint256","nodeType":"ElementaryTypeName","src":"12229:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12228:15:36"},"returnParameters":{"id":6713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6712,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6835,"src":"12267:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6711,"name":"uint256","nodeType":"ElementaryTypeName","src":"12267:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12266:9:36"},"scope":7015,"src":"12214:916:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6869,"nodeType":"Block","src":"13365:170:36","statements":[{"id":6868,"nodeType":"UncheckedBlock","src":"13375:154:36","statements":[{"assignments":[6847],"declarations":[{"constant":false,"id":6847,"mutability":"mutable","name":"result","nameLocation":"13407:6:36","nodeType":"VariableDeclaration","scope":6868,"src":"13399:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6846,"name":"uint256","nodeType":"ElementaryTypeName","src":"13399:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6851,"initialValue":{"arguments":[{"id":6849,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6838,"src":"13422:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6848,"name":"log10","nodeType":"Identifier","overloadedDeclarations":[6835,6870],"referencedDeclaration":6835,"src":"13416:5:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":6850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13416:12:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13399:29:36"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6852,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6847,"src":"13449:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6854,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6841,"src":"13476:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}],"id":6853,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7014,"src":"13459:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$5972_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":6855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13459:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":6856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13489:2:36","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":6857,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6847,"src":"13495:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13489:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6859,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6838,"src":"13504:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13489:20:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13459:50:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":6863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13516:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":6864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13459:58:36","trueExpression":{"hexValue":"31","id":6862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13512:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":6865,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13458:60:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13449:69:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6845,"id":6867,"nodeType":"Return","src":"13442:76:36"}]}]},"documentation":{"id":6836,"nodeType":"StructuredDocumentation","src":"13136:143:36","text":" @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":6870,"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"13293:5:36","nodeType":"FunctionDefinition","parameters":{"id":6842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6838,"mutability":"mutable","name":"value","nameLocation":"13307:5:36","nodeType":"VariableDeclaration","scope":6870,"src":"13299:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6837,"name":"uint256","nodeType":"ElementaryTypeName","src":"13299:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6841,"mutability":"mutable","name":"rounding","nameLocation":"13323:8:36","nodeType":"VariableDeclaration","scope":6870,"src":"13314:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"},"typeName":{"id":6840,"nodeType":"UserDefinedTypeName","pathNode":{"id":6839,"name":"Rounding","nameLocations":["13314:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":5972,"src":"13314:8:36"},"referencedDeclaration":5972,"src":"13314:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"13298:34:36"},"returnParameters":{"id":6845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6870,"src":"13356:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6843,"name":"uint256","nodeType":"ElementaryTypeName","src":"13356:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13355:9:36"},"scope":7015,"src":"13284:251:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6956,"nodeType":"Block","src":"13855:600:36","statements":[{"assignments":[6879],"declarations":[{"constant":false,"id":6879,"mutability":"mutable","name":"result","nameLocation":"13873:6:36","nodeType":"VariableDeclaration","scope":6956,"src":"13865:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6878,"name":"uint256","nodeType":"ElementaryTypeName","src":"13865:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6881,"initialValue":{"hexValue":"30","id":6880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13882:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13865:18:36"},{"id":6953,"nodeType":"UncheckedBlock","src":"13893:533:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6882,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6873,"src":"13921:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":6883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13930:3:36","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"13921:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13936:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13921:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6896,"nodeType":"IfStatement","src":"13917:98:36","trueBody":{"id":6895,"nodeType":"Block","src":"13939:76:36","statements":[{"expression":{"id":6889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6887,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6873,"src":"13957:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":6888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13967:3:36","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"13957:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6890,"nodeType":"ExpressionStatement","src":"13957:13:36"},{"expression":{"id":6893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6891,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6879,"src":"13988:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":6892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13998:2:36","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"13988:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6894,"nodeType":"ExpressionStatement","src":"13988:12:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6897,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6873,"src":"14032:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":6898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14041:2:36","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"14032:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14046:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14032:15:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6911,"nodeType":"IfStatement","src":"14028:95:36","trueBody":{"id":6910,"nodeType":"Block","src":"14049:74:36","statements":[{"expression":{"id":6904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6902,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6873,"src":"14067:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":6903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14077:2:36","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"14067:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6905,"nodeType":"ExpressionStatement","src":"14067:12:36"},{"expression":{"id":6908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6906,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6879,"src":"14097:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":6907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14107:1:36","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"14097:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6909,"nodeType":"ExpressionStatement","src":"14097:11:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6912,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6873,"src":"14140:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":6913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14149:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"14140:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14154:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14140:15:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6926,"nodeType":"IfStatement","src":"14136:95:36","trueBody":{"id":6925,"nodeType":"Block","src":"14157:74:36","statements":[{"expression":{"id":6919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6917,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6873,"src":"14175:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":6918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14185:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"14175:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6920,"nodeType":"ExpressionStatement","src":"14175:12:36"},{"expression":{"id":6923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6921,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6879,"src":"14205:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":6922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14215:1:36","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"14205:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6924,"nodeType":"ExpressionStatement","src":"14205:11:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6927,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6873,"src":"14248:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":6928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14257:2:36","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"14248:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14262:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14248:15:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6941,"nodeType":"IfStatement","src":"14244:95:36","trueBody":{"id":6940,"nodeType":"Block","src":"14265:74:36","statements":[{"expression":{"id":6934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6932,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6873,"src":"14283:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":6933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14293:2:36","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"14283:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6935,"nodeType":"ExpressionStatement","src":"14283:12:36"},{"expression":{"id":6938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6936,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6879,"src":"14313:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":6937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14323:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"14313:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6939,"nodeType":"ExpressionStatement","src":"14313:11:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6942,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6873,"src":"14356:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":6943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14365:1:36","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"14356:10:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14369:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14356:14:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6952,"nodeType":"IfStatement","src":"14352:64:36","trueBody":{"id":6951,"nodeType":"Block","src":"14372:44:36","statements":[{"expression":{"id":6949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6947,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6879,"src":"14390:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":6948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14400:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14390:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6950,"nodeType":"ExpressionStatement","src":"14390:11:36"}]}}]},{"expression":{"id":6954,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6879,"src":"14442:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6877,"id":6955,"nodeType":"Return","src":"14435:13:36"}]},"documentation":{"id":6871,"nodeType":"StructuredDocumentation","src":"13541:246:36","text":" @dev Return the log in base 256 of a positive value rounded towards zero.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string."},"id":6957,"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"13801:6:36","nodeType":"FunctionDefinition","parameters":{"id":6874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6873,"mutability":"mutable","name":"value","nameLocation":"13816:5:36","nodeType":"VariableDeclaration","scope":6957,"src":"13808:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6872,"name":"uint256","nodeType":"ElementaryTypeName","src":"13808:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13807:15:36"},"returnParameters":{"id":6877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6957,"src":"13846:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6875,"name":"uint256","nodeType":"ElementaryTypeName","src":"13846:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13845:9:36"},"scope":7015,"src":"13792:663:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6994,"nodeType":"Block","src":"14692:177:36","statements":[{"id":6993,"nodeType":"UncheckedBlock","src":"14702:161:36","statements":[{"assignments":[6969],"declarations":[{"constant":false,"id":6969,"mutability":"mutable","name":"result","nameLocation":"14734:6:36","nodeType":"VariableDeclaration","scope":6993,"src":"14726:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6968,"name":"uint256","nodeType":"ElementaryTypeName","src":"14726:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6973,"initialValue":{"arguments":[{"id":6971,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6960,"src":"14750:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6970,"name":"log256","nodeType":"Identifier","overloadedDeclarations":[6957,6995],"referencedDeclaration":6957,"src":"14743:6:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":6972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14743:13:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14726:30:36"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6974,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6969,"src":"14777:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6976,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6963,"src":"14804:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}],"id":6975,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7014,"src":"14787:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$5972_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":6977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14787:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14817:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6979,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6969,"src":"14823:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"33","id":6980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14833:1:36","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"14823:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6982,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14822:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14817:18:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6984,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6960,"src":"14838:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14817:26:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14787:56:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":6988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14850:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":6989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14787:64:36","trueExpression":{"hexValue":"31","id":6987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14846:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":6990,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14786:66:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14777:75:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6967,"id":6992,"nodeType":"Return","src":"14770:82:36"}]}]},"documentation":{"id":6958,"nodeType":"StructuredDocumentation","src":"14461:144:36","text":" @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":6995,"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"14619:6:36","nodeType":"FunctionDefinition","parameters":{"id":6964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6960,"mutability":"mutable","name":"value","nameLocation":"14634:5:36","nodeType":"VariableDeclaration","scope":6995,"src":"14626:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6959,"name":"uint256","nodeType":"ElementaryTypeName","src":"14626:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6963,"mutability":"mutable","name":"rounding","nameLocation":"14650:8:36","nodeType":"VariableDeclaration","scope":6995,"src":"14641:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"},"typeName":{"id":6962,"nodeType":"UserDefinedTypeName","pathNode":{"id":6961,"name":"Rounding","nameLocations":["14641:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":5972,"src":"14641:8:36"},"referencedDeclaration":5972,"src":"14641:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"14625:34:36"},"returnParameters":{"id":6967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6995,"src":"14683:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6965,"name":"uint256","nodeType":"ElementaryTypeName","src":"14683:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14682:9:36"},"scope":7015,"src":"14610:259:36","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7013,"nodeType":"Block","src":"15067:48:36","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":7011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":7009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7006,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6999,"src":"15090:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}],"id":7005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15084:5:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":7004,"name":"uint8","nodeType":"ElementaryTypeName","src":"15084:5:36","typeDescriptions":{}}},"id":7007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15084:15:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"32","id":7008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15102:1:36","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"15084:19:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":7010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15107:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15084:24:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7003,"id":7012,"nodeType":"Return","src":"15077:31:36"}]},"documentation":{"id":6996,"nodeType":"StructuredDocumentation","src":"14875:113:36","text":" @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers."},"id":7014,"implemented":true,"kind":"function","modifiers":[],"name":"unsignedRoundsUp","nameLocation":"15002:16:36","nodeType":"FunctionDefinition","parameters":{"id":7000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6999,"mutability":"mutable","name":"rounding","nameLocation":"15028:8:36","nodeType":"VariableDeclaration","scope":7014,"src":"15019:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"},"typeName":{"id":6998,"nodeType":"UserDefinedTypeName","pathNode":{"id":6997,"name":"Rounding","nameLocations":["15019:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":5972,"src":"15019:8:36"},"referencedDeclaration":5972,"src":"15019:8:36","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$5972","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"15018:19:36"},"returnParameters":{"id":7003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7014,"src":"15061:4:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7001,"name":"bool","nodeType":"ElementaryTypeName","src":"15061:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15060:6:36"},"scope":7015,"src":"14993:122:36","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":7016,"src":"203:14914:36","usedErrors":[5967],"usedEvents":[]}],"src":"103:15015:36"},"id":36},"@openzeppelin/contracts/utils/math/SafeCast.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","exportedSymbols":{"SafeCast":[8770]},"id":8771,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7017,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"192:24:37"},{"abstract":false,"baseContracts":[],"canonicalName":"SafeCast","contractDependencies":[],"contractKind":"library","documentation":{"id":7018,"nodeType":"StructuredDocumentation","src":"218:545:37","text":" @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow\n checks.\n Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n easily result in undesired exploitation or bugs, since developers usually\n assume that overflows raise errors. `SafeCast` restores this intuition by\n reverting the transaction when such an operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always."},"fullyImplemented":true,"id":8770,"linearizedBaseContracts":[8770],"name":"SafeCast","nameLocation":"772:8:37","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":7019,"nodeType":"StructuredDocumentation","src":"787:68:37","text":" @dev Value doesn't fit in an uint of `bits` size."},"errorSelector":"6dfcc650","id":7025,"name":"SafeCastOverflowedUintDowncast","nameLocation":"866:30:37","nodeType":"ErrorDefinition","parameters":{"id":7024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7021,"mutability":"mutable","name":"bits","nameLocation":"903:4:37","nodeType":"VariableDeclaration","scope":7025,"src":"897:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7020,"name":"uint8","nodeType":"ElementaryTypeName","src":"897:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7023,"mutability":"mutable","name":"value","nameLocation":"917:5:37","nodeType":"VariableDeclaration","scope":7025,"src":"909:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7022,"name":"uint256","nodeType":"ElementaryTypeName","src":"909:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"896:27:37"},"src":"860:64:37"},{"documentation":{"id":7026,"nodeType":"StructuredDocumentation","src":"930:75:37","text":" @dev An int value doesn't fit in an uint of `bits` size."},"errorSelector":"a8ce4432","id":7030,"name":"SafeCastOverflowedIntToUint","nameLocation":"1016:27:37","nodeType":"ErrorDefinition","parameters":{"id":7029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7028,"mutability":"mutable","name":"value","nameLocation":"1051:5:37","nodeType":"VariableDeclaration","scope":7030,"src":"1044:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7027,"name":"int256","nodeType":"ElementaryTypeName","src":"1044:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1043:14:37"},"src":"1010:48:37"},{"documentation":{"id":7031,"nodeType":"StructuredDocumentation","src":"1064:67:37","text":" @dev Value doesn't fit in an int of `bits` size."},"errorSelector":"327269a7","id":7037,"name":"SafeCastOverflowedIntDowncast","nameLocation":"1142:29:37","nodeType":"ErrorDefinition","parameters":{"id":7036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7033,"mutability":"mutable","name":"bits","nameLocation":"1178:4:37","nodeType":"VariableDeclaration","scope":7037,"src":"1172:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7032,"name":"uint8","nodeType":"ElementaryTypeName","src":"1172:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7035,"mutability":"mutable","name":"value","nameLocation":"1191:5:37","nodeType":"VariableDeclaration","scope":7037,"src":"1184:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7034,"name":"int256","nodeType":"ElementaryTypeName","src":"1184:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1171:26:37"},"src":"1136:62:37"},{"documentation":{"id":7038,"nodeType":"StructuredDocumentation","src":"1204:75:37","text":" @dev An uint value doesn't fit in an int of `bits` size."},"errorSelector":"24775e06","id":7042,"name":"SafeCastOverflowedUintToInt","nameLocation":"1290:27:37","nodeType":"ErrorDefinition","parameters":{"id":7041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7040,"mutability":"mutable","name":"value","nameLocation":"1326:5:37","nodeType":"VariableDeclaration","scope":7042,"src":"1318:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7039,"name":"uint256","nodeType":"ElementaryTypeName","src":"1318:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1317:15:37"},"src":"1284:49:37"},{"body":{"id":7069,"nodeType":"Block","src":"1690:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7050,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7045,"src":"1704:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1717:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":7052,"name":"uint248","nodeType":"ElementaryTypeName","src":"1717:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"}],"id":7051,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1712:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1712:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint248","typeString":"type(uint248)"}},"id":7055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1726:3:37","memberName":"max","nodeType":"MemberAccess","src":"1712:17:37","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"src":"1704:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7063,"nodeType":"IfStatement","src":"1700:105:37","trueBody":{"id":7062,"nodeType":"Block","src":"1731:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323438","id":7058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1783:3:37","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"},{"id":7059,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7045,"src":"1788:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7057,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"1752:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1752:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7061,"nodeType":"RevertStatement","src":"1745:49:37"}]}},{"expression":{"arguments":[{"id":7066,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7045,"src":"1829:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1821:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":7064,"name":"uint248","nodeType":"ElementaryTypeName","src":"1821:7:37","typeDescriptions":{}}},"id":7067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1821:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"functionReturnParameters":7049,"id":7068,"nodeType":"Return","src":"1814:21:37"}]},"documentation":{"id":7043,"nodeType":"StructuredDocumentation","src":"1339:280:37","text":" @dev Returns the downcasted uint248 from uint256, reverting on\n overflow (when the input is greater than largest uint248).\n Counterpart to Solidity's `uint248` operator.\n Requirements:\n - input must fit into 248 bits"},"id":7070,"implemented":true,"kind":"function","modifiers":[],"name":"toUint248","nameLocation":"1633:9:37","nodeType":"FunctionDefinition","parameters":{"id":7046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7045,"mutability":"mutable","name":"value","nameLocation":"1651:5:37","nodeType":"VariableDeclaration","scope":7070,"src":"1643:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7044,"name":"uint256","nodeType":"ElementaryTypeName","src":"1643:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1642:15:37"},"returnParameters":{"id":7049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7048,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7070,"src":"1681:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"},"typeName":{"id":7047,"name":"uint248","nodeType":"ElementaryTypeName","src":"1681:7:37","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"visibility":"internal"}],"src":"1680:9:37"},"scope":8770,"src":"1624:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7097,"nodeType":"Block","src":"2199:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7078,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7073,"src":"2213:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2226:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":7080,"name":"uint240","nodeType":"ElementaryTypeName","src":"2226:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"}],"id":7079,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2221:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2221:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint240","typeString":"type(uint240)"}},"id":7083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2235:3:37","memberName":"max","nodeType":"MemberAccess","src":"2221:17:37","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"src":"2213:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7091,"nodeType":"IfStatement","src":"2209:105:37","trueBody":{"id":7090,"nodeType":"Block","src":"2240:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323430","id":7086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2292:3:37","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"240"},{"id":7087,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7073,"src":"2297:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7085,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"2261:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2261:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7089,"nodeType":"RevertStatement","src":"2254:49:37"}]}},{"expression":{"arguments":[{"id":7094,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7073,"src":"2338:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2330:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":7092,"name":"uint240","nodeType":"ElementaryTypeName","src":"2330:7:37","typeDescriptions":{}}},"id":7095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2330:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"functionReturnParameters":7077,"id":7096,"nodeType":"Return","src":"2323:21:37"}]},"documentation":{"id":7071,"nodeType":"StructuredDocumentation","src":"1848:280:37","text":" @dev Returns the downcasted uint240 from uint256, reverting on\n overflow (when the input is greater than largest uint240).\n Counterpart to Solidity's `uint240` operator.\n Requirements:\n - input must fit into 240 bits"},"id":7098,"implemented":true,"kind":"function","modifiers":[],"name":"toUint240","nameLocation":"2142:9:37","nodeType":"FunctionDefinition","parameters":{"id":7074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7073,"mutability":"mutable","name":"value","nameLocation":"2160:5:37","nodeType":"VariableDeclaration","scope":7098,"src":"2152:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7072,"name":"uint256","nodeType":"ElementaryTypeName","src":"2152:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2151:15:37"},"returnParameters":{"id":7077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7098,"src":"2190:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"},"typeName":{"id":7075,"name":"uint240","nodeType":"ElementaryTypeName","src":"2190:7:37","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"visibility":"internal"}],"src":"2189:9:37"},"scope":8770,"src":"2133:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7125,"nodeType":"Block","src":"2708:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7106,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7101,"src":"2722:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2735:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":7108,"name":"uint232","nodeType":"ElementaryTypeName","src":"2735:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"}],"id":7107,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2730:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint232","typeString":"type(uint232)"}},"id":7111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2744:3:37","memberName":"max","nodeType":"MemberAccess","src":"2730:17:37","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"src":"2722:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7119,"nodeType":"IfStatement","src":"2718:105:37","trueBody":{"id":7118,"nodeType":"Block","src":"2749:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323332","id":7114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2801:3:37","typeDescriptions":{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},"value":"232"},{"id":7115,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7101,"src":"2806:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7113,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"2770:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2770:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7117,"nodeType":"RevertStatement","src":"2763:49:37"}]}},{"expression":{"arguments":[{"id":7122,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7101,"src":"2847:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2839:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":7120,"name":"uint232","nodeType":"ElementaryTypeName","src":"2839:7:37","typeDescriptions":{}}},"id":7123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2839:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"functionReturnParameters":7105,"id":7124,"nodeType":"Return","src":"2832:21:37"}]},"documentation":{"id":7099,"nodeType":"StructuredDocumentation","src":"2357:280:37","text":" @dev Returns the downcasted uint232 from uint256, reverting on\n overflow (when the input is greater than largest uint232).\n Counterpart to Solidity's `uint232` operator.\n Requirements:\n - input must fit into 232 bits"},"id":7126,"implemented":true,"kind":"function","modifiers":[],"name":"toUint232","nameLocation":"2651:9:37","nodeType":"FunctionDefinition","parameters":{"id":7102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7101,"mutability":"mutable","name":"value","nameLocation":"2669:5:37","nodeType":"VariableDeclaration","scope":7126,"src":"2661:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7100,"name":"uint256","nodeType":"ElementaryTypeName","src":"2661:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2660:15:37"},"returnParameters":{"id":7105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7104,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7126,"src":"2699:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"},"typeName":{"id":7103,"name":"uint232","nodeType":"ElementaryTypeName","src":"2699:7:37","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"visibility":"internal"}],"src":"2698:9:37"},"scope":8770,"src":"2642:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7153,"nodeType":"Block","src":"3217:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7134,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7129,"src":"3231:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3244:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":7136,"name":"uint224","nodeType":"ElementaryTypeName","src":"3244:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"}],"id":7135,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3239:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3239:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint224","typeString":"type(uint224)"}},"id":7139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3253:3:37","memberName":"max","nodeType":"MemberAccess","src":"3239:17:37","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"3231:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7147,"nodeType":"IfStatement","src":"3227:105:37","trueBody":{"id":7146,"nodeType":"Block","src":"3258:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323234","id":7142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3310:3:37","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},{"id":7143,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7129,"src":"3315:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7141,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"3279:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3279:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7145,"nodeType":"RevertStatement","src":"3272:49:37"}]}},{"expression":{"arguments":[{"id":7150,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7129,"src":"3356:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3348:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":7148,"name":"uint224","nodeType":"ElementaryTypeName","src":"3348:7:37","typeDescriptions":{}}},"id":7151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3348:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":7133,"id":7152,"nodeType":"Return","src":"3341:21:37"}]},"documentation":{"id":7127,"nodeType":"StructuredDocumentation","src":"2866:280:37","text":" @dev Returns the downcasted uint224 from uint256, reverting on\n overflow (when the input is greater than largest uint224).\n Counterpart to Solidity's `uint224` operator.\n Requirements:\n - input must fit into 224 bits"},"id":7154,"implemented":true,"kind":"function","modifiers":[],"name":"toUint224","nameLocation":"3160:9:37","nodeType":"FunctionDefinition","parameters":{"id":7130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7129,"mutability":"mutable","name":"value","nameLocation":"3178:5:37","nodeType":"VariableDeclaration","scope":7154,"src":"3170:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7128,"name":"uint256","nodeType":"ElementaryTypeName","src":"3170:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3169:15:37"},"returnParameters":{"id":7133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7154,"src":"3208:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":7131,"name":"uint224","nodeType":"ElementaryTypeName","src":"3208:7:37","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"3207:9:37"},"scope":8770,"src":"3151:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7181,"nodeType":"Block","src":"3726:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7162,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7157,"src":"3740:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3753:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":7164,"name":"uint216","nodeType":"ElementaryTypeName","src":"3753:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"}],"id":7163,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3748:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3748:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint216","typeString":"type(uint216)"}},"id":7167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3762:3:37","memberName":"max","nodeType":"MemberAccess","src":"3748:17:37","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"src":"3740:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7175,"nodeType":"IfStatement","src":"3736:105:37","trueBody":{"id":7174,"nodeType":"Block","src":"3767:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323136","id":7170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3819:3:37","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"216"},{"id":7171,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7157,"src":"3824:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7169,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"3788:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3788:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7173,"nodeType":"RevertStatement","src":"3781:49:37"}]}},{"expression":{"arguments":[{"id":7178,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7157,"src":"3865:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3857:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":7176,"name":"uint216","nodeType":"ElementaryTypeName","src":"3857:7:37","typeDescriptions":{}}},"id":7179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3857:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"functionReturnParameters":7161,"id":7180,"nodeType":"Return","src":"3850:21:37"}]},"documentation":{"id":7155,"nodeType":"StructuredDocumentation","src":"3375:280:37","text":" @dev Returns the downcasted uint216 from uint256, reverting on\n overflow (when the input is greater than largest uint216).\n Counterpart to Solidity's `uint216` operator.\n Requirements:\n - input must fit into 216 bits"},"id":7182,"implemented":true,"kind":"function","modifiers":[],"name":"toUint216","nameLocation":"3669:9:37","nodeType":"FunctionDefinition","parameters":{"id":7158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7157,"mutability":"mutable","name":"value","nameLocation":"3687:5:37","nodeType":"VariableDeclaration","scope":7182,"src":"3679:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7156,"name":"uint256","nodeType":"ElementaryTypeName","src":"3679:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3678:15:37"},"returnParameters":{"id":7161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7182,"src":"3717:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"},"typeName":{"id":7159,"name":"uint216","nodeType":"ElementaryTypeName","src":"3717:7:37","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"visibility":"internal"}],"src":"3716:9:37"},"scope":8770,"src":"3660:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7209,"nodeType":"Block","src":"4235:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7190,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"4249:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4262:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":7192,"name":"uint208","nodeType":"ElementaryTypeName","src":"4262:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"}],"id":7191,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4257:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4257:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint208","typeString":"type(uint208)"}},"id":7195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4271:3:37","memberName":"max","nodeType":"MemberAccess","src":"4257:17:37","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"4249:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7203,"nodeType":"IfStatement","src":"4245:105:37","trueBody":{"id":7202,"nodeType":"Block","src":"4276:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323038","id":7198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4328:3:37","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"},{"id":7199,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"4333:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7197,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"4297:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7201,"nodeType":"RevertStatement","src":"4290:49:37"}]}},{"expression":{"arguments":[{"id":7206,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"4374:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4366:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":7204,"name":"uint208","nodeType":"ElementaryTypeName","src":"4366:7:37","typeDescriptions":{}}},"id":7207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4366:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":7189,"id":7208,"nodeType":"Return","src":"4359:21:37"}]},"documentation":{"id":7183,"nodeType":"StructuredDocumentation","src":"3884:280:37","text":" @dev Returns the downcasted uint208 from uint256, reverting on\n overflow (when the input is greater than largest uint208).\n Counterpart to Solidity's `uint208` operator.\n Requirements:\n - input must fit into 208 bits"},"id":7210,"implemented":true,"kind":"function","modifiers":[],"name":"toUint208","nameLocation":"4178:9:37","nodeType":"FunctionDefinition","parameters":{"id":7186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7185,"mutability":"mutable","name":"value","nameLocation":"4196:5:37","nodeType":"VariableDeclaration","scope":7210,"src":"4188:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7184,"name":"uint256","nodeType":"ElementaryTypeName","src":"4188:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4187:15:37"},"returnParameters":{"id":7189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7210,"src":"4226:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":7187,"name":"uint208","nodeType":"ElementaryTypeName","src":"4226:7:37","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"4225:9:37"},"scope":8770,"src":"4169:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7237,"nodeType":"Block","src":"4744:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7218,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7213,"src":"4758:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4771:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":7220,"name":"uint200","nodeType":"ElementaryTypeName","src":"4771:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"}],"id":7219,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4766:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4766:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint200","typeString":"type(uint200)"}},"id":7223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4780:3:37","memberName":"max","nodeType":"MemberAccess","src":"4766:17:37","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"src":"4758:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7231,"nodeType":"IfStatement","src":"4754:105:37","trueBody":{"id":7230,"nodeType":"Block","src":"4785:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323030","id":7226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4837:3:37","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},{"id":7227,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7213,"src":"4842:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7225,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"4806:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4806:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7229,"nodeType":"RevertStatement","src":"4799:49:37"}]}},{"expression":{"arguments":[{"id":7234,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7213,"src":"4883:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4875:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":7232,"name":"uint200","nodeType":"ElementaryTypeName","src":"4875:7:37","typeDescriptions":{}}},"id":7235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4875:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"functionReturnParameters":7217,"id":7236,"nodeType":"Return","src":"4868:21:37"}]},"documentation":{"id":7211,"nodeType":"StructuredDocumentation","src":"4393:280:37","text":" @dev Returns the downcasted uint200 from uint256, reverting on\n overflow (when the input is greater than largest uint200).\n Counterpart to Solidity's `uint200` operator.\n Requirements:\n - input must fit into 200 bits"},"id":7238,"implemented":true,"kind":"function","modifiers":[],"name":"toUint200","nameLocation":"4687:9:37","nodeType":"FunctionDefinition","parameters":{"id":7214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7213,"mutability":"mutable","name":"value","nameLocation":"4705:5:37","nodeType":"VariableDeclaration","scope":7238,"src":"4697:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7212,"name":"uint256","nodeType":"ElementaryTypeName","src":"4697:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4696:15:37"},"returnParameters":{"id":7217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7216,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7238,"src":"4735:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"},"typeName":{"id":7215,"name":"uint200","nodeType":"ElementaryTypeName","src":"4735:7:37","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"visibility":"internal"}],"src":"4734:9:37"},"scope":8770,"src":"4678:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7265,"nodeType":"Block","src":"5253:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7246,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7241,"src":"5267:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5280:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":7248,"name":"uint192","nodeType":"ElementaryTypeName","src":"5280:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"}],"id":7247,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5275:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5275:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint192","typeString":"type(uint192)"}},"id":7251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5289:3:37","memberName":"max","nodeType":"MemberAccess","src":"5275:17:37","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"src":"5267:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7259,"nodeType":"IfStatement","src":"5263:105:37","trueBody":{"id":7258,"nodeType":"Block","src":"5294:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313932","id":7254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5346:3:37","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},{"id":7255,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7241,"src":"5351:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7253,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"5315:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5315:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7257,"nodeType":"RevertStatement","src":"5308:49:37"}]}},{"expression":{"arguments":[{"id":7262,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7241,"src":"5392:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5384:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":7260,"name":"uint192","nodeType":"ElementaryTypeName","src":"5384:7:37","typeDescriptions":{}}},"id":7263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5384:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"functionReturnParameters":7245,"id":7264,"nodeType":"Return","src":"5377:21:37"}]},"documentation":{"id":7239,"nodeType":"StructuredDocumentation","src":"4902:280:37","text":" @dev Returns the downcasted uint192 from uint256, reverting on\n overflow (when the input is greater than largest uint192).\n Counterpart to Solidity's `uint192` operator.\n Requirements:\n - input must fit into 192 bits"},"id":7266,"implemented":true,"kind":"function","modifiers":[],"name":"toUint192","nameLocation":"5196:9:37","nodeType":"FunctionDefinition","parameters":{"id":7242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7241,"mutability":"mutable","name":"value","nameLocation":"5214:5:37","nodeType":"VariableDeclaration","scope":7266,"src":"5206:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7240,"name":"uint256","nodeType":"ElementaryTypeName","src":"5206:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5205:15:37"},"returnParameters":{"id":7245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7244,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7266,"src":"5244:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"},"typeName":{"id":7243,"name":"uint192","nodeType":"ElementaryTypeName","src":"5244:7:37","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"visibility":"internal"}],"src":"5243:9:37"},"scope":8770,"src":"5187:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7293,"nodeType":"Block","src":"5762:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7274,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7269,"src":"5776:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5789:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":7276,"name":"uint184","nodeType":"ElementaryTypeName","src":"5789:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"}],"id":7275,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5784:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5784:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint184","typeString":"type(uint184)"}},"id":7279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5798:3:37","memberName":"max","nodeType":"MemberAccess","src":"5784:17:37","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"src":"5776:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7287,"nodeType":"IfStatement","src":"5772:105:37","trueBody":{"id":7286,"nodeType":"Block","src":"5803:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313834","id":7282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5855:3:37","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"},{"id":7283,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7269,"src":"5860:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7281,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"5824:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7285,"nodeType":"RevertStatement","src":"5817:49:37"}]}},{"expression":{"arguments":[{"id":7290,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7269,"src":"5901:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5893:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":7288,"name":"uint184","nodeType":"ElementaryTypeName","src":"5893:7:37","typeDescriptions":{}}},"id":7291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5893:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"functionReturnParameters":7273,"id":7292,"nodeType":"Return","src":"5886:21:37"}]},"documentation":{"id":7267,"nodeType":"StructuredDocumentation","src":"5411:280:37","text":" @dev Returns the downcasted uint184 from uint256, reverting on\n overflow (when the input is greater than largest uint184).\n Counterpart to Solidity's `uint184` operator.\n Requirements:\n - input must fit into 184 bits"},"id":7294,"implemented":true,"kind":"function","modifiers":[],"name":"toUint184","nameLocation":"5705:9:37","nodeType":"FunctionDefinition","parameters":{"id":7270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7269,"mutability":"mutable","name":"value","nameLocation":"5723:5:37","nodeType":"VariableDeclaration","scope":7294,"src":"5715:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7268,"name":"uint256","nodeType":"ElementaryTypeName","src":"5715:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5714:15:37"},"returnParameters":{"id":7273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7272,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7294,"src":"5753:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"},"typeName":{"id":7271,"name":"uint184","nodeType":"ElementaryTypeName","src":"5753:7:37","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"visibility":"internal"}],"src":"5752:9:37"},"scope":8770,"src":"5696:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7321,"nodeType":"Block","src":"6271:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7302,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7297,"src":"6285:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6298:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":7304,"name":"uint176","nodeType":"ElementaryTypeName","src":"6298:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"}],"id":7303,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6293:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6293:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint176","typeString":"type(uint176)"}},"id":7307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6307:3:37","memberName":"max","nodeType":"MemberAccess","src":"6293:17:37","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"src":"6285:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7315,"nodeType":"IfStatement","src":"6281:105:37","trueBody":{"id":7314,"nodeType":"Block","src":"6312:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313736","id":7310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6364:3:37","typeDescriptions":{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},"value":"176"},{"id":7311,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7297,"src":"6369:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7309,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"6333:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6333:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7313,"nodeType":"RevertStatement","src":"6326:49:37"}]}},{"expression":{"arguments":[{"id":7318,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7297,"src":"6410:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6402:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":7316,"name":"uint176","nodeType":"ElementaryTypeName","src":"6402:7:37","typeDescriptions":{}}},"id":7319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6402:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"functionReturnParameters":7301,"id":7320,"nodeType":"Return","src":"6395:21:37"}]},"documentation":{"id":7295,"nodeType":"StructuredDocumentation","src":"5920:280:37","text":" @dev Returns the downcasted uint176 from uint256, reverting on\n overflow (when the input is greater than largest uint176).\n Counterpart to Solidity's `uint176` operator.\n Requirements:\n - input must fit into 176 bits"},"id":7322,"implemented":true,"kind":"function","modifiers":[],"name":"toUint176","nameLocation":"6214:9:37","nodeType":"FunctionDefinition","parameters":{"id":7298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7297,"mutability":"mutable","name":"value","nameLocation":"6232:5:37","nodeType":"VariableDeclaration","scope":7322,"src":"6224:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7296,"name":"uint256","nodeType":"ElementaryTypeName","src":"6224:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:15:37"},"returnParameters":{"id":7301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7322,"src":"6262:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"},"typeName":{"id":7299,"name":"uint176","nodeType":"ElementaryTypeName","src":"6262:7:37","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"visibility":"internal"}],"src":"6261:9:37"},"scope":8770,"src":"6205:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7349,"nodeType":"Block","src":"6780:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7330,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7325,"src":"6794:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6807:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":7332,"name":"uint168","nodeType":"ElementaryTypeName","src":"6807:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"}],"id":7331,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6802:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6802:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint168","typeString":"type(uint168)"}},"id":7335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6816:3:37","memberName":"max","nodeType":"MemberAccess","src":"6802:17:37","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"src":"6794:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7343,"nodeType":"IfStatement","src":"6790:105:37","trueBody":{"id":7342,"nodeType":"Block","src":"6821:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313638","id":7338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6873:3:37","typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"},{"id":7339,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7325,"src":"6878:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7337,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"6842:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6842:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7341,"nodeType":"RevertStatement","src":"6835:49:37"}]}},{"expression":{"arguments":[{"id":7346,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7325,"src":"6919:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6911:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":7344,"name":"uint168","nodeType":"ElementaryTypeName","src":"6911:7:37","typeDescriptions":{}}},"id":7347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6911:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"functionReturnParameters":7329,"id":7348,"nodeType":"Return","src":"6904:21:37"}]},"documentation":{"id":7323,"nodeType":"StructuredDocumentation","src":"6429:280:37","text":" @dev Returns the downcasted uint168 from uint256, reverting on\n overflow (when the input is greater than largest uint168).\n Counterpart to Solidity's `uint168` operator.\n Requirements:\n - input must fit into 168 bits"},"id":7350,"implemented":true,"kind":"function","modifiers":[],"name":"toUint168","nameLocation":"6723:9:37","nodeType":"FunctionDefinition","parameters":{"id":7326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7325,"mutability":"mutable","name":"value","nameLocation":"6741:5:37","nodeType":"VariableDeclaration","scope":7350,"src":"6733:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7324,"name":"uint256","nodeType":"ElementaryTypeName","src":"6733:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6732:15:37"},"returnParameters":{"id":7329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7350,"src":"6771:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"},"typeName":{"id":7327,"name":"uint168","nodeType":"ElementaryTypeName","src":"6771:7:37","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"visibility":"internal"}],"src":"6770:9:37"},"scope":8770,"src":"6714:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7377,"nodeType":"Block","src":"7289:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7358,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7353,"src":"7303:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7316:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":7360,"name":"uint160","nodeType":"ElementaryTypeName","src":"7316:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"}],"id":7359,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7311:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7311:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint160","typeString":"type(uint160)"}},"id":7363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7325:3:37","memberName":"max","nodeType":"MemberAccess","src":"7311:17:37","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"7303:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7371,"nodeType":"IfStatement","src":"7299:105:37","trueBody":{"id":7370,"nodeType":"Block","src":"7330:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313630","id":7366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7382:3:37","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},{"id":7367,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7353,"src":"7387:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7365,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"7351:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7351:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7369,"nodeType":"RevertStatement","src":"7344:49:37"}]}},{"expression":{"arguments":[{"id":7374,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7353,"src":"7428:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7420:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":7372,"name":"uint160","nodeType":"ElementaryTypeName","src":"7420:7:37","typeDescriptions":{}}},"id":7375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7420:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":7357,"id":7376,"nodeType":"Return","src":"7413:21:37"}]},"documentation":{"id":7351,"nodeType":"StructuredDocumentation","src":"6938:280:37","text":" @dev Returns the downcasted uint160 from uint256, reverting on\n overflow (when the input is greater than largest uint160).\n Counterpart to Solidity's `uint160` operator.\n Requirements:\n - input must fit into 160 bits"},"id":7378,"implemented":true,"kind":"function","modifiers":[],"name":"toUint160","nameLocation":"7232:9:37","nodeType":"FunctionDefinition","parameters":{"id":7354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7353,"mutability":"mutable","name":"value","nameLocation":"7250:5:37","nodeType":"VariableDeclaration","scope":7378,"src":"7242:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7352,"name":"uint256","nodeType":"ElementaryTypeName","src":"7242:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7241:15:37"},"returnParameters":{"id":7357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7378,"src":"7280:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":7355,"name":"uint160","nodeType":"ElementaryTypeName","src":"7280:7:37","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"7279:9:37"},"scope":8770,"src":"7223:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7405,"nodeType":"Block","src":"7798:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7386,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7381,"src":"7812:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7825:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":7388,"name":"uint152","nodeType":"ElementaryTypeName","src":"7825:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"}],"id":7387,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7820:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7820:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint152","typeString":"type(uint152)"}},"id":7391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7834:3:37","memberName":"max","nodeType":"MemberAccess","src":"7820:17:37","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"src":"7812:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7399,"nodeType":"IfStatement","src":"7808:105:37","trueBody":{"id":7398,"nodeType":"Block","src":"7839:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313532","id":7394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7891:3:37","typeDescriptions":{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},"value":"152"},{"id":7395,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7381,"src":"7896:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7393,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"7860:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7860:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7397,"nodeType":"RevertStatement","src":"7853:49:37"}]}},{"expression":{"arguments":[{"id":7402,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7381,"src":"7937:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7929:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":7400,"name":"uint152","nodeType":"ElementaryTypeName","src":"7929:7:37","typeDescriptions":{}}},"id":7403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7929:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"functionReturnParameters":7385,"id":7404,"nodeType":"Return","src":"7922:21:37"}]},"documentation":{"id":7379,"nodeType":"StructuredDocumentation","src":"7447:280:37","text":" @dev Returns the downcasted uint152 from uint256, reverting on\n overflow (when the input is greater than largest uint152).\n Counterpart to Solidity's `uint152` operator.\n Requirements:\n - input must fit into 152 bits"},"id":7406,"implemented":true,"kind":"function","modifiers":[],"name":"toUint152","nameLocation":"7741:9:37","nodeType":"FunctionDefinition","parameters":{"id":7382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7381,"mutability":"mutable","name":"value","nameLocation":"7759:5:37","nodeType":"VariableDeclaration","scope":7406,"src":"7751:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7380,"name":"uint256","nodeType":"ElementaryTypeName","src":"7751:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7750:15:37"},"returnParameters":{"id":7385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7406,"src":"7789:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"},"typeName":{"id":7383,"name":"uint152","nodeType":"ElementaryTypeName","src":"7789:7:37","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"visibility":"internal"}],"src":"7788:9:37"},"scope":8770,"src":"7732:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7433,"nodeType":"Block","src":"8307:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7414,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7409,"src":"8321:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8334:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":7416,"name":"uint144","nodeType":"ElementaryTypeName","src":"8334:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"}],"id":7415,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8329:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8329:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint144","typeString":"type(uint144)"}},"id":7419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8343:3:37","memberName":"max","nodeType":"MemberAccess","src":"8329:17:37","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"src":"8321:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7427,"nodeType":"IfStatement","src":"8317:105:37","trueBody":{"id":7426,"nodeType":"Block","src":"8348:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313434","id":7422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8400:3:37","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"},{"id":7423,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7409,"src":"8405:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7421,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"8369:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8369:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7425,"nodeType":"RevertStatement","src":"8362:49:37"}]}},{"expression":{"arguments":[{"id":7430,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7409,"src":"8446:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8438:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":7428,"name":"uint144","nodeType":"ElementaryTypeName","src":"8438:7:37","typeDescriptions":{}}},"id":7431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8438:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"functionReturnParameters":7413,"id":7432,"nodeType":"Return","src":"8431:21:37"}]},"documentation":{"id":7407,"nodeType":"StructuredDocumentation","src":"7956:280:37","text":" @dev Returns the downcasted uint144 from uint256, reverting on\n overflow (when the input is greater than largest uint144).\n Counterpart to Solidity's `uint144` operator.\n Requirements:\n - input must fit into 144 bits"},"id":7434,"implemented":true,"kind":"function","modifiers":[],"name":"toUint144","nameLocation":"8250:9:37","nodeType":"FunctionDefinition","parameters":{"id":7410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7409,"mutability":"mutable","name":"value","nameLocation":"8268:5:37","nodeType":"VariableDeclaration","scope":7434,"src":"8260:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7408,"name":"uint256","nodeType":"ElementaryTypeName","src":"8260:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8259:15:37"},"returnParameters":{"id":7413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7434,"src":"8298:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"},"typeName":{"id":7411,"name":"uint144","nodeType":"ElementaryTypeName","src":"8298:7:37","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"visibility":"internal"}],"src":"8297:9:37"},"scope":8770,"src":"8241:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7461,"nodeType":"Block","src":"8816:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7442,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7437,"src":"8830:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8843:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":7444,"name":"uint136","nodeType":"ElementaryTypeName","src":"8843:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"}],"id":7443,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8838:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8838:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint136","typeString":"type(uint136)"}},"id":7447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8852:3:37","memberName":"max","nodeType":"MemberAccess","src":"8838:17:37","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"src":"8830:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7455,"nodeType":"IfStatement","src":"8826:105:37","trueBody":{"id":7454,"nodeType":"Block","src":"8857:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313336","id":7450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8909:3:37","typeDescriptions":{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},"value":"136"},{"id":7451,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7437,"src":"8914:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7449,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"8878:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8878:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7453,"nodeType":"RevertStatement","src":"8871:49:37"}]}},{"expression":{"arguments":[{"id":7458,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7437,"src":"8955:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8947:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":7456,"name":"uint136","nodeType":"ElementaryTypeName","src":"8947:7:37","typeDescriptions":{}}},"id":7459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8947:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"functionReturnParameters":7441,"id":7460,"nodeType":"Return","src":"8940:21:37"}]},"documentation":{"id":7435,"nodeType":"StructuredDocumentation","src":"8465:280:37","text":" @dev Returns the downcasted uint136 from uint256, reverting on\n overflow (when the input is greater than largest uint136).\n Counterpart to Solidity's `uint136` operator.\n Requirements:\n - input must fit into 136 bits"},"id":7462,"implemented":true,"kind":"function","modifiers":[],"name":"toUint136","nameLocation":"8759:9:37","nodeType":"FunctionDefinition","parameters":{"id":7438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7437,"mutability":"mutable","name":"value","nameLocation":"8777:5:37","nodeType":"VariableDeclaration","scope":7462,"src":"8769:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7436,"name":"uint256","nodeType":"ElementaryTypeName","src":"8769:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8768:15:37"},"returnParameters":{"id":7441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7462,"src":"8807:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"},"typeName":{"id":7439,"name":"uint136","nodeType":"ElementaryTypeName","src":"8807:7:37","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"visibility":"internal"}],"src":"8806:9:37"},"scope":8770,"src":"8750:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7489,"nodeType":"Block","src":"9325:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7470,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9339:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9352:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":7472,"name":"uint128","nodeType":"ElementaryTypeName","src":"9352:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":7471,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9347:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9347:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":7475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9361:3:37","memberName":"max","nodeType":"MemberAccess","src":"9347:17:37","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"9339:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7483,"nodeType":"IfStatement","src":"9335:105:37","trueBody":{"id":7482,"nodeType":"Block","src":"9366:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313238","id":7478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9418:3:37","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},{"id":7479,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9423:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7477,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"9387:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9387:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7481,"nodeType":"RevertStatement","src":"9380:49:37"}]}},{"expression":{"arguments":[{"id":7486,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9464:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9456:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":7484,"name":"uint128","nodeType":"ElementaryTypeName","src":"9456:7:37","typeDescriptions":{}}},"id":7487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9456:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"functionReturnParameters":7469,"id":7488,"nodeType":"Return","src":"9449:21:37"}]},"documentation":{"id":7463,"nodeType":"StructuredDocumentation","src":"8974:280:37","text":" @dev Returns the downcasted uint128 from uint256, reverting on\n overflow (when the input is greater than largest uint128).\n Counterpart to Solidity's `uint128` operator.\n Requirements:\n - input must fit into 128 bits"},"id":7490,"implemented":true,"kind":"function","modifiers":[],"name":"toUint128","nameLocation":"9268:9:37","nodeType":"FunctionDefinition","parameters":{"id":7466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7465,"mutability":"mutable","name":"value","nameLocation":"9286:5:37","nodeType":"VariableDeclaration","scope":7490,"src":"9278:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7464,"name":"uint256","nodeType":"ElementaryTypeName","src":"9278:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9277:15:37"},"returnParameters":{"id":7469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7490,"src":"9316:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":7467,"name":"uint128","nodeType":"ElementaryTypeName","src":"9316:7:37","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"9315:9:37"},"scope":8770,"src":"9259:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7517,"nodeType":"Block","src":"9834:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7498,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7493,"src":"9848:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9861:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":7500,"name":"uint120","nodeType":"ElementaryTypeName","src":"9861:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"}],"id":7499,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9856:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9856:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint120","typeString":"type(uint120)"}},"id":7503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9870:3:37","memberName":"max","nodeType":"MemberAccess","src":"9856:17:37","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"src":"9848:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7511,"nodeType":"IfStatement","src":"9844:105:37","trueBody":{"id":7510,"nodeType":"Block","src":"9875:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313230","id":7506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9927:3:37","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"id":7507,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7493,"src":"9932:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7505,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"9896:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9896:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7509,"nodeType":"RevertStatement","src":"9889:49:37"}]}},{"expression":{"arguments":[{"id":7514,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7493,"src":"9973:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9965:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":7512,"name":"uint120","nodeType":"ElementaryTypeName","src":"9965:7:37","typeDescriptions":{}}},"id":7515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9965:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"functionReturnParameters":7497,"id":7516,"nodeType":"Return","src":"9958:21:37"}]},"documentation":{"id":7491,"nodeType":"StructuredDocumentation","src":"9483:280:37","text":" @dev Returns the downcasted uint120 from uint256, reverting on\n overflow (when the input is greater than largest uint120).\n Counterpart to Solidity's `uint120` operator.\n Requirements:\n - input must fit into 120 bits"},"id":7518,"implemented":true,"kind":"function","modifiers":[],"name":"toUint120","nameLocation":"9777:9:37","nodeType":"FunctionDefinition","parameters":{"id":7494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7493,"mutability":"mutable","name":"value","nameLocation":"9795:5:37","nodeType":"VariableDeclaration","scope":7518,"src":"9787:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7492,"name":"uint256","nodeType":"ElementaryTypeName","src":"9787:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9786:15:37"},"returnParameters":{"id":7497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7518,"src":"9825:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"},"typeName":{"id":7495,"name":"uint120","nodeType":"ElementaryTypeName","src":"9825:7:37","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"visibility":"internal"}],"src":"9824:9:37"},"scope":8770,"src":"9768:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7545,"nodeType":"Block","src":"10343:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7526,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7521,"src":"10357:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10370:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":7528,"name":"uint112","nodeType":"ElementaryTypeName","src":"10370:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"}],"id":7527,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10365:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10365:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint112","typeString":"type(uint112)"}},"id":7531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10379:3:37","memberName":"max","nodeType":"MemberAccess","src":"10365:17:37","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"src":"10357:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7539,"nodeType":"IfStatement","src":"10353:105:37","trueBody":{"id":7538,"nodeType":"Block","src":"10384:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313132","id":7534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10436:3:37","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"value":"112"},{"id":7535,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7521,"src":"10441:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7533,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"10405:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10405:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7537,"nodeType":"RevertStatement","src":"10398:49:37"}]}},{"expression":{"arguments":[{"id":7542,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7521,"src":"10482:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10474:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":7540,"name":"uint112","nodeType":"ElementaryTypeName","src":"10474:7:37","typeDescriptions":{}}},"id":7543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10474:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"functionReturnParameters":7525,"id":7544,"nodeType":"Return","src":"10467:21:37"}]},"documentation":{"id":7519,"nodeType":"StructuredDocumentation","src":"9992:280:37","text":" @dev Returns the downcasted uint112 from uint256, reverting on\n overflow (when the input is greater than largest uint112).\n Counterpart to Solidity's `uint112` operator.\n Requirements:\n - input must fit into 112 bits"},"id":7546,"implemented":true,"kind":"function","modifiers":[],"name":"toUint112","nameLocation":"10286:9:37","nodeType":"FunctionDefinition","parameters":{"id":7522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7521,"mutability":"mutable","name":"value","nameLocation":"10304:5:37","nodeType":"VariableDeclaration","scope":7546,"src":"10296:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7520,"name":"uint256","nodeType":"ElementaryTypeName","src":"10296:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10295:15:37"},"returnParameters":{"id":7525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7524,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7546,"src":"10334:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"},"typeName":{"id":7523,"name":"uint112","nodeType":"ElementaryTypeName","src":"10334:7:37","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"visibility":"internal"}],"src":"10333:9:37"},"scope":8770,"src":"10277:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7573,"nodeType":"Block","src":"10852:152:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7554,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7549,"src":"10866:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10879:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":7556,"name":"uint104","nodeType":"ElementaryTypeName","src":"10879:7:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"}],"id":7555,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10874:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10874:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint104","typeString":"type(uint104)"}},"id":7559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10888:3:37","memberName":"max","nodeType":"MemberAccess","src":"10874:17:37","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"src":"10866:25:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7567,"nodeType":"IfStatement","src":"10862:105:37","trueBody":{"id":7566,"nodeType":"Block","src":"10893:74:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313034","id":7562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10945:3:37","typeDescriptions":{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},"value":"104"},{"id":7563,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7549,"src":"10950:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7561,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"10914:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10914:42:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7565,"nodeType":"RevertStatement","src":"10907:49:37"}]}},{"expression":{"arguments":[{"id":7570,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7549,"src":"10991:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10983:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":7568,"name":"uint104","nodeType":"ElementaryTypeName","src":"10983:7:37","typeDescriptions":{}}},"id":7571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10983:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"functionReturnParameters":7553,"id":7572,"nodeType":"Return","src":"10976:21:37"}]},"documentation":{"id":7547,"nodeType":"StructuredDocumentation","src":"10501:280:37","text":" @dev Returns the downcasted uint104 from uint256, reverting on\n overflow (when the input is greater than largest uint104).\n Counterpart to Solidity's `uint104` operator.\n Requirements:\n - input must fit into 104 bits"},"id":7574,"implemented":true,"kind":"function","modifiers":[],"name":"toUint104","nameLocation":"10795:9:37","nodeType":"FunctionDefinition","parameters":{"id":7550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7549,"mutability":"mutable","name":"value","nameLocation":"10813:5:37","nodeType":"VariableDeclaration","scope":7574,"src":"10805:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7548,"name":"uint256","nodeType":"ElementaryTypeName","src":"10805:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10804:15:37"},"returnParameters":{"id":7553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7574,"src":"10843:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"},"typeName":{"id":7551,"name":"uint104","nodeType":"ElementaryTypeName","src":"10843:7:37","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"visibility":"internal"}],"src":"10842:9:37"},"scope":8770,"src":"10786:218:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7601,"nodeType":"Block","src":"11355:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7582,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7577,"src":"11369:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11382:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":7584,"name":"uint96","nodeType":"ElementaryTypeName","src":"11382:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"}],"id":7583,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11377:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11377:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint96","typeString":"type(uint96)"}},"id":7587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11390:3:37","memberName":"max","nodeType":"MemberAccess","src":"11377:16:37","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"11369:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7595,"nodeType":"IfStatement","src":"11365:103:37","trueBody":{"id":7594,"nodeType":"Block","src":"11395:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3936","id":7590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11447:2:37","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},{"id":7591,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7577,"src":"11451:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7589,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"11416:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11416:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7593,"nodeType":"RevertStatement","src":"11409:48:37"}]}},{"expression":{"arguments":[{"id":7598,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7577,"src":"11491:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11484:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":7596,"name":"uint96","nodeType":"ElementaryTypeName","src":"11484:6:37","typeDescriptions":{}}},"id":7599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11484:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":7581,"id":7600,"nodeType":"Return","src":"11477:20:37"}]},"documentation":{"id":7575,"nodeType":"StructuredDocumentation","src":"11010:276:37","text":" @dev Returns the downcasted uint96 from uint256, reverting on\n overflow (when the input is greater than largest uint96).\n Counterpart to Solidity's `uint96` operator.\n Requirements:\n - input must fit into 96 bits"},"id":7602,"implemented":true,"kind":"function","modifiers":[],"name":"toUint96","nameLocation":"11300:8:37","nodeType":"FunctionDefinition","parameters":{"id":7578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7577,"mutability":"mutable","name":"value","nameLocation":"11317:5:37","nodeType":"VariableDeclaration","scope":7602,"src":"11309:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7576,"name":"uint256","nodeType":"ElementaryTypeName","src":"11309:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11308:15:37"},"returnParameters":{"id":7581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7602,"src":"11347:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":7579,"name":"uint96","nodeType":"ElementaryTypeName","src":"11347:6:37","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"11346:8:37"},"scope":8770,"src":"11291:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7629,"nodeType":"Block","src":"11855:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7610,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7605,"src":"11869:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11882:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":7612,"name":"uint88","nodeType":"ElementaryTypeName","src":"11882:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"}],"id":7611,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11877:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11877:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint88","typeString":"type(uint88)"}},"id":7615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11890:3:37","memberName":"max","nodeType":"MemberAccess","src":"11877:16:37","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"src":"11869:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7623,"nodeType":"IfStatement","src":"11865:103:37","trueBody":{"id":7622,"nodeType":"Block","src":"11895:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3838","id":7618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11947:2:37","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"},{"id":7619,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7605,"src":"11951:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7617,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"11916:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11916:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7621,"nodeType":"RevertStatement","src":"11909:48:37"}]}},{"expression":{"arguments":[{"id":7626,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7605,"src":"11991:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11984:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":7624,"name":"uint88","nodeType":"ElementaryTypeName","src":"11984:6:37","typeDescriptions":{}}},"id":7627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11984:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"functionReturnParameters":7609,"id":7628,"nodeType":"Return","src":"11977:20:37"}]},"documentation":{"id":7603,"nodeType":"StructuredDocumentation","src":"11510:276:37","text":" @dev Returns the downcasted uint88 from uint256, reverting on\n overflow (when the input is greater than largest uint88).\n Counterpart to Solidity's `uint88` operator.\n Requirements:\n - input must fit into 88 bits"},"id":7630,"implemented":true,"kind":"function","modifiers":[],"name":"toUint88","nameLocation":"11800:8:37","nodeType":"FunctionDefinition","parameters":{"id":7606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7605,"mutability":"mutable","name":"value","nameLocation":"11817:5:37","nodeType":"VariableDeclaration","scope":7630,"src":"11809:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7604,"name":"uint256","nodeType":"ElementaryTypeName","src":"11809:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11808:15:37"},"returnParameters":{"id":7609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7608,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7630,"src":"11847:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"},"typeName":{"id":7607,"name":"uint88","nodeType":"ElementaryTypeName","src":"11847:6:37","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"visibility":"internal"}],"src":"11846:8:37"},"scope":8770,"src":"11791:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7657,"nodeType":"Block","src":"12355:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7638,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7633,"src":"12369:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12382:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":7640,"name":"uint80","nodeType":"ElementaryTypeName","src":"12382:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"}],"id":7639,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12377:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12377:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint80","typeString":"type(uint80)"}},"id":7643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12390:3:37","memberName":"max","nodeType":"MemberAccess","src":"12377:16:37","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"src":"12369:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7651,"nodeType":"IfStatement","src":"12365:103:37","trueBody":{"id":7650,"nodeType":"Block","src":"12395:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3830","id":7646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12447:2:37","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},{"id":7647,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7633,"src":"12451:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7645,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"12416:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12416:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7649,"nodeType":"RevertStatement","src":"12409:48:37"}]}},{"expression":{"arguments":[{"id":7654,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7633,"src":"12491:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12484:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":7652,"name":"uint80","nodeType":"ElementaryTypeName","src":"12484:6:37","typeDescriptions":{}}},"id":7655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12484:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"functionReturnParameters":7637,"id":7656,"nodeType":"Return","src":"12477:20:37"}]},"documentation":{"id":7631,"nodeType":"StructuredDocumentation","src":"12010:276:37","text":" @dev Returns the downcasted uint80 from uint256, reverting on\n overflow (when the input is greater than largest uint80).\n Counterpart to Solidity's `uint80` operator.\n Requirements:\n - input must fit into 80 bits"},"id":7658,"implemented":true,"kind":"function","modifiers":[],"name":"toUint80","nameLocation":"12300:8:37","nodeType":"FunctionDefinition","parameters":{"id":7634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7633,"mutability":"mutable","name":"value","nameLocation":"12317:5:37","nodeType":"VariableDeclaration","scope":7658,"src":"12309:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7632,"name":"uint256","nodeType":"ElementaryTypeName","src":"12309:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12308:15:37"},"returnParameters":{"id":7637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7658,"src":"12347:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7635,"name":"uint80","nodeType":"ElementaryTypeName","src":"12347:6:37","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"}],"src":"12346:8:37"},"scope":8770,"src":"12291:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7685,"nodeType":"Block","src":"12855:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7666,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7661,"src":"12869:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12882:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":7668,"name":"uint72","nodeType":"ElementaryTypeName","src":"12882:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"}],"id":7667,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12877:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12877:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint72","typeString":"type(uint72)"}},"id":7671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12890:3:37","memberName":"max","nodeType":"MemberAccess","src":"12877:16:37","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"src":"12869:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7679,"nodeType":"IfStatement","src":"12865:103:37","trueBody":{"id":7678,"nodeType":"Block","src":"12895:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3732","id":7674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12947:2:37","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"},{"id":7675,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7661,"src":"12951:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7673,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"12916:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12916:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7677,"nodeType":"RevertStatement","src":"12909:48:37"}]}},{"expression":{"arguments":[{"id":7682,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7661,"src":"12991:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12984:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":7680,"name":"uint72","nodeType":"ElementaryTypeName","src":"12984:6:37","typeDescriptions":{}}},"id":7683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12984:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"functionReturnParameters":7665,"id":7684,"nodeType":"Return","src":"12977:20:37"}]},"documentation":{"id":7659,"nodeType":"StructuredDocumentation","src":"12510:276:37","text":" @dev Returns the downcasted uint72 from uint256, reverting on\n overflow (when the input is greater than largest uint72).\n Counterpart to Solidity's `uint72` operator.\n Requirements:\n - input must fit into 72 bits"},"id":7686,"implemented":true,"kind":"function","modifiers":[],"name":"toUint72","nameLocation":"12800:8:37","nodeType":"FunctionDefinition","parameters":{"id":7662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7661,"mutability":"mutable","name":"value","nameLocation":"12817:5:37","nodeType":"VariableDeclaration","scope":7686,"src":"12809:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7660,"name":"uint256","nodeType":"ElementaryTypeName","src":"12809:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12808:15:37"},"returnParameters":{"id":7665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7686,"src":"12847:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"},"typeName":{"id":7663,"name":"uint72","nodeType":"ElementaryTypeName","src":"12847:6:37","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"visibility":"internal"}],"src":"12846:8:37"},"scope":8770,"src":"12791:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7713,"nodeType":"Block","src":"13355:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7694,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7689,"src":"13369:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13382:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":7696,"name":"uint64","nodeType":"ElementaryTypeName","src":"13382:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":7695,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13377:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13377:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":7699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13390:3:37","memberName":"max","nodeType":"MemberAccess","src":"13377:16:37","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13369:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7707,"nodeType":"IfStatement","src":"13365:103:37","trueBody":{"id":7706,"nodeType":"Block","src":"13395:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3634","id":7702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13447:2:37","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},{"id":7703,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7689,"src":"13451:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7701,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"13416:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13416:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7705,"nodeType":"RevertStatement","src":"13409:48:37"}]}},{"expression":{"arguments":[{"id":7710,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7689,"src":"13491:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13484:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":7708,"name":"uint64","nodeType":"ElementaryTypeName","src":"13484:6:37","typeDescriptions":{}}},"id":7711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13484:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":7693,"id":7712,"nodeType":"Return","src":"13477:20:37"}]},"documentation":{"id":7687,"nodeType":"StructuredDocumentation","src":"13010:276:37","text":" @dev Returns the downcasted uint64 from uint256, reverting on\n overflow (when the input is greater than largest uint64).\n Counterpart to Solidity's `uint64` operator.\n Requirements:\n - input must fit into 64 bits"},"id":7714,"implemented":true,"kind":"function","modifiers":[],"name":"toUint64","nameLocation":"13300:8:37","nodeType":"FunctionDefinition","parameters":{"id":7690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7689,"mutability":"mutable","name":"value","nameLocation":"13317:5:37","nodeType":"VariableDeclaration","scope":7714,"src":"13309:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7688,"name":"uint256","nodeType":"ElementaryTypeName","src":"13309:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13308:15:37"},"returnParameters":{"id":7693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7692,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7714,"src":"13347:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":7691,"name":"uint64","nodeType":"ElementaryTypeName","src":"13347:6:37","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"13346:8:37"},"scope":8770,"src":"13291:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7741,"nodeType":"Block","src":"13855:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7722,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7717,"src":"13869:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13882:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":7724,"name":"uint56","nodeType":"ElementaryTypeName","src":"13882:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"}],"id":7723,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13877:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13877:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint56","typeString":"type(uint56)"}},"id":7727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13890:3:37","memberName":"max","nodeType":"MemberAccess","src":"13877:16:37","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"src":"13869:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7735,"nodeType":"IfStatement","src":"13865:103:37","trueBody":{"id":7734,"nodeType":"Block","src":"13895:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3536","id":7730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13947:2:37","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"id":7731,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7717,"src":"13951:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7729,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"13916:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13916:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7733,"nodeType":"RevertStatement","src":"13909:48:37"}]}},{"expression":{"arguments":[{"id":7738,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7717,"src":"13991:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13984:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":7736,"name":"uint56","nodeType":"ElementaryTypeName","src":"13984:6:37","typeDescriptions":{}}},"id":7739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13984:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"functionReturnParameters":7721,"id":7740,"nodeType":"Return","src":"13977:20:37"}]},"documentation":{"id":7715,"nodeType":"StructuredDocumentation","src":"13510:276:37","text":" @dev Returns the downcasted uint56 from uint256, reverting on\n overflow (when the input is greater than largest uint56).\n Counterpart to Solidity's `uint56` operator.\n Requirements:\n - input must fit into 56 bits"},"id":7742,"implemented":true,"kind":"function","modifiers":[],"name":"toUint56","nameLocation":"13800:8:37","nodeType":"FunctionDefinition","parameters":{"id":7718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7717,"mutability":"mutable","name":"value","nameLocation":"13817:5:37","nodeType":"VariableDeclaration","scope":7742,"src":"13809:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7716,"name":"uint256","nodeType":"ElementaryTypeName","src":"13809:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13808:15:37"},"returnParameters":{"id":7721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7742,"src":"13847:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"},"typeName":{"id":7719,"name":"uint56","nodeType":"ElementaryTypeName","src":"13847:6:37","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"visibility":"internal"}],"src":"13846:8:37"},"scope":8770,"src":"13791:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7769,"nodeType":"Block","src":"14355:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7750,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7745,"src":"14369:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14382:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":7752,"name":"uint48","nodeType":"ElementaryTypeName","src":"14382:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"}],"id":7751,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14377:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14377:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint48","typeString":"type(uint48)"}},"id":7755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14390:3:37","memberName":"max","nodeType":"MemberAccess","src":"14377:16:37","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"14369:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7763,"nodeType":"IfStatement","src":"14365:103:37","trueBody":{"id":7762,"nodeType":"Block","src":"14395:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3438","id":7758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14447:2:37","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},{"id":7759,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7745,"src":"14451:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7757,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"14416:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14416:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7761,"nodeType":"RevertStatement","src":"14409:48:37"}]}},{"expression":{"arguments":[{"id":7766,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7745,"src":"14491:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14484:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":7764,"name":"uint48","nodeType":"ElementaryTypeName","src":"14484:6:37","typeDescriptions":{}}},"id":7767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":7749,"id":7768,"nodeType":"Return","src":"14477:20:37"}]},"documentation":{"id":7743,"nodeType":"StructuredDocumentation","src":"14010:276:37","text":" @dev Returns the downcasted uint48 from uint256, reverting on\n overflow (when the input is greater than largest uint48).\n Counterpart to Solidity's `uint48` operator.\n Requirements:\n - input must fit into 48 bits"},"id":7770,"implemented":true,"kind":"function","modifiers":[],"name":"toUint48","nameLocation":"14300:8:37","nodeType":"FunctionDefinition","parameters":{"id":7746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7745,"mutability":"mutable","name":"value","nameLocation":"14317:5:37","nodeType":"VariableDeclaration","scope":7770,"src":"14309:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7744,"name":"uint256","nodeType":"ElementaryTypeName","src":"14309:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14308:15:37"},"returnParameters":{"id":7749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7770,"src":"14347:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":7747,"name":"uint48","nodeType":"ElementaryTypeName","src":"14347:6:37","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"14346:8:37"},"scope":8770,"src":"14291:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7797,"nodeType":"Block","src":"14855:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7778,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7773,"src":"14869:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14882:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":7780,"name":"uint40","nodeType":"ElementaryTypeName","src":"14882:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"}],"id":7779,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14877:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14877:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint40","typeString":"type(uint40)"}},"id":7783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14890:3:37","memberName":"max","nodeType":"MemberAccess","src":"14877:16:37","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"src":"14869:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7791,"nodeType":"IfStatement","src":"14865:103:37","trueBody":{"id":7790,"nodeType":"Block","src":"14895:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3430","id":7786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14947:2:37","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},{"id":7787,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7773,"src":"14951:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7785,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"14916:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14916:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7789,"nodeType":"RevertStatement","src":"14909:48:37"}]}},{"expression":{"arguments":[{"id":7794,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7773,"src":"14991:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14984:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":7792,"name":"uint40","nodeType":"ElementaryTypeName","src":"14984:6:37","typeDescriptions":{}}},"id":7795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14984:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"functionReturnParameters":7777,"id":7796,"nodeType":"Return","src":"14977:20:37"}]},"documentation":{"id":7771,"nodeType":"StructuredDocumentation","src":"14510:276:37","text":" @dev Returns the downcasted uint40 from uint256, reverting on\n overflow (when the input is greater than largest uint40).\n Counterpart to Solidity's `uint40` operator.\n Requirements:\n - input must fit into 40 bits"},"id":7798,"implemented":true,"kind":"function","modifiers":[],"name":"toUint40","nameLocation":"14800:8:37","nodeType":"FunctionDefinition","parameters":{"id":7774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7773,"mutability":"mutable","name":"value","nameLocation":"14817:5:37","nodeType":"VariableDeclaration","scope":7798,"src":"14809:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7772,"name":"uint256","nodeType":"ElementaryTypeName","src":"14809:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14808:15:37"},"returnParameters":{"id":7777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7776,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7798,"src":"14847:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":7775,"name":"uint40","nodeType":"ElementaryTypeName","src":"14847:6:37","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"}],"src":"14846:8:37"},"scope":8770,"src":"14791:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7825,"nodeType":"Block","src":"15355:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7806,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7801,"src":"15369:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15382:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":7808,"name":"uint32","nodeType":"ElementaryTypeName","src":"15382:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":7807,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15377:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15377:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":7811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15390:3:37","memberName":"max","nodeType":"MemberAccess","src":"15377:16:37","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"15369:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7819,"nodeType":"IfStatement","src":"15365:103:37","trueBody":{"id":7818,"nodeType":"Block","src":"15395:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3332","id":7814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15447:2:37","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":7815,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7801,"src":"15451:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7813,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"15416:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15416:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7817,"nodeType":"RevertStatement","src":"15409:48:37"}]}},{"expression":{"arguments":[{"id":7822,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7801,"src":"15491:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15484:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":7820,"name":"uint32","nodeType":"ElementaryTypeName","src":"15484:6:37","typeDescriptions":{}}},"id":7823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15484:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":7805,"id":7824,"nodeType":"Return","src":"15477:20:37"}]},"documentation":{"id":7799,"nodeType":"StructuredDocumentation","src":"15010:276:37","text":" @dev Returns the downcasted uint32 from uint256, reverting on\n overflow (when the input is greater than largest uint32).\n Counterpart to Solidity's `uint32` operator.\n Requirements:\n - input must fit into 32 bits"},"id":7826,"implemented":true,"kind":"function","modifiers":[],"name":"toUint32","nameLocation":"15300:8:37","nodeType":"FunctionDefinition","parameters":{"id":7802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7801,"mutability":"mutable","name":"value","nameLocation":"15317:5:37","nodeType":"VariableDeclaration","scope":7826,"src":"15309:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7800,"name":"uint256","nodeType":"ElementaryTypeName","src":"15309:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15308:15:37"},"returnParameters":{"id":7805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7804,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7826,"src":"15347:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":7803,"name":"uint32","nodeType":"ElementaryTypeName","src":"15347:6:37","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15346:8:37"},"scope":8770,"src":"15291:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7853,"nodeType":"Block","src":"15855:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7834,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7829,"src":"15869:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15882:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":7836,"name":"uint24","nodeType":"ElementaryTypeName","src":"15882:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"}],"id":7835,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15877:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15877:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint24","typeString":"type(uint24)"}},"id":7839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15890:3:37","memberName":"max","nodeType":"MemberAccess","src":"15877:16:37","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"15869:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7847,"nodeType":"IfStatement","src":"15865:103:37","trueBody":{"id":7846,"nodeType":"Block","src":"15895:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3234","id":7842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15947:2:37","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"id":7843,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7829,"src":"15951:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7841,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"15916:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15916:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7845,"nodeType":"RevertStatement","src":"15909:48:37"}]}},{"expression":{"arguments":[{"id":7850,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7829,"src":"15991:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15984:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":7848,"name":"uint24","nodeType":"ElementaryTypeName","src":"15984:6:37","typeDescriptions":{}}},"id":7851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15984:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"functionReturnParameters":7833,"id":7852,"nodeType":"Return","src":"15977:20:37"}]},"documentation":{"id":7827,"nodeType":"StructuredDocumentation","src":"15510:276:37","text":" @dev Returns the downcasted uint24 from uint256, reverting on\n overflow (when the input is greater than largest uint24).\n Counterpart to Solidity's `uint24` operator.\n Requirements:\n - input must fit into 24 bits"},"id":7854,"implemented":true,"kind":"function","modifiers":[],"name":"toUint24","nameLocation":"15800:8:37","nodeType":"FunctionDefinition","parameters":{"id":7830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7829,"mutability":"mutable","name":"value","nameLocation":"15817:5:37","nodeType":"VariableDeclaration","scope":7854,"src":"15809:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7828,"name":"uint256","nodeType":"ElementaryTypeName","src":"15809:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15808:15:37"},"returnParameters":{"id":7833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7832,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7854,"src":"15847:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":7831,"name":"uint24","nodeType":"ElementaryTypeName","src":"15847:6:37","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"15846:8:37"},"scope":8770,"src":"15791:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7881,"nodeType":"Block","src":"16355:149:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7862,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7857,"src":"16369:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16382:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":7864,"name":"uint16","nodeType":"ElementaryTypeName","src":"16382:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"}],"id":7863,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16377:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16377:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint16","typeString":"type(uint16)"}},"id":7867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16390:3:37","memberName":"max","nodeType":"MemberAccess","src":"16377:16:37","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"16369:24:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7875,"nodeType":"IfStatement","src":"16365:103:37","trueBody":{"id":7874,"nodeType":"Block","src":"16395:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3136","id":7870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16447:2:37","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"id":7871,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7857,"src":"16451:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7869,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"16416:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16416:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7873,"nodeType":"RevertStatement","src":"16409:48:37"}]}},{"expression":{"arguments":[{"id":7878,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7857,"src":"16491:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16484:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":7876,"name":"uint16","nodeType":"ElementaryTypeName","src":"16484:6:37","typeDescriptions":{}}},"id":7879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16484:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"functionReturnParameters":7861,"id":7880,"nodeType":"Return","src":"16477:20:37"}]},"documentation":{"id":7855,"nodeType":"StructuredDocumentation","src":"16010:276:37","text":" @dev Returns the downcasted uint16 from uint256, reverting on\n overflow (when the input is greater than largest uint16).\n Counterpart to Solidity's `uint16` operator.\n Requirements:\n - input must fit into 16 bits"},"id":7882,"implemented":true,"kind":"function","modifiers":[],"name":"toUint16","nameLocation":"16300:8:37","nodeType":"FunctionDefinition","parameters":{"id":7858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7857,"mutability":"mutable","name":"value","nameLocation":"16317:5:37","nodeType":"VariableDeclaration","scope":7882,"src":"16309:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7856,"name":"uint256","nodeType":"ElementaryTypeName","src":"16309:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16308:15:37"},"returnParameters":{"id":7861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7882,"src":"16347:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":7859,"name":"uint16","nodeType":"ElementaryTypeName","src":"16347:6:37","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"16346:8:37"},"scope":8770,"src":"16291:213:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7909,"nodeType":"Block","src":"16849:146:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7890,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7885,"src":"16863:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":7893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16876:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":7892,"name":"uint8","nodeType":"ElementaryTypeName","src":"16876:5:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":7891,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16871:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":7894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16871:11:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":7895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16883:3:37","memberName":"max","nodeType":"MemberAccess","src":"16871:15:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16863:23:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7903,"nodeType":"IfStatement","src":"16859:101:37","trueBody":{"id":7902,"nodeType":"Block","src":"16888:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"38","id":7898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16940:1:37","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"id":7899,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7885,"src":"16943:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7897,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"16909:30:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (uint8,uint256) pure"}},"id":7900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16909:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7901,"nodeType":"RevertStatement","src":"16902:47:37"}]}},{"expression":{"arguments":[{"id":7906,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7885,"src":"16982:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16976:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":7904,"name":"uint8","nodeType":"ElementaryTypeName","src":"16976:5:37","typeDescriptions":{}}},"id":7907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16976:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":7889,"id":7908,"nodeType":"Return","src":"16969:19:37"}]},"documentation":{"id":7883,"nodeType":"StructuredDocumentation","src":"16510:272:37","text":" @dev Returns the downcasted uint8 from uint256, reverting on\n overflow (when the input is greater than largest uint8).\n Counterpart to Solidity's `uint8` operator.\n Requirements:\n - input must fit into 8 bits"},"id":7910,"implemented":true,"kind":"function","modifiers":[],"name":"toUint8","nameLocation":"16796:7:37","nodeType":"FunctionDefinition","parameters":{"id":7886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7885,"mutability":"mutable","name":"value","nameLocation":"16812:5:37","nodeType":"VariableDeclaration","scope":7910,"src":"16804:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7884,"name":"uint256","nodeType":"ElementaryTypeName","src":"16804:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16803:15:37"},"returnParameters":{"id":7889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7910,"src":"16842:5:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7887,"name":"uint8","nodeType":"ElementaryTypeName","src":"16842:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16841:7:37"},"scope":8770,"src":"16787:208:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7932,"nodeType":"Block","src":"17231:128:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7918,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7913,"src":"17245:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":7919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17253:1:37","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17245:9:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7926,"nodeType":"IfStatement","src":"17241:81:37","trueBody":{"id":7925,"nodeType":"Block","src":"17256:66:37","statements":[{"errorCall":{"arguments":[{"id":7922,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7913,"src":"17305:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7921,"name":"SafeCastOverflowedIntToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7030,"src":"17277:27:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int256_$returns$__$","typeString":"function (int256) pure"}},"id":7923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17277:34:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7924,"nodeType":"RevertStatement","src":"17270:41:37"}]}},{"expression":{"arguments":[{"id":7929,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7913,"src":"17346:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17338:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7927,"name":"uint256","nodeType":"ElementaryTypeName","src":"17338:7:37","typeDescriptions":{}}},"id":7930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17338:14:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7917,"id":7931,"nodeType":"Return","src":"17331:21:37"}]},"documentation":{"id":7911,"nodeType":"StructuredDocumentation","src":"17001:160:37","text":" @dev Converts a signed int256 into an unsigned uint256.\n Requirements:\n - input must be greater than or equal to 0."},"id":7933,"implemented":true,"kind":"function","modifiers":[],"name":"toUint256","nameLocation":"17175:9:37","nodeType":"FunctionDefinition","parameters":{"id":7914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7913,"mutability":"mutable","name":"value","nameLocation":"17192:5:37","nodeType":"VariableDeclaration","scope":7933,"src":"17185:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7912,"name":"int256","nodeType":"ElementaryTypeName","src":"17185:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17184:14:37"},"returnParameters":{"id":7917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7916,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7933,"src":"17222:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7915,"name":"uint256","nodeType":"ElementaryTypeName","src":"17222:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17221:9:37"},"scope":8770,"src":"17166:193:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7958,"nodeType":"Block","src":"17756:150:37","statements":[{"expression":{"id":7946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7941,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7939,"src":"17766:10:37","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7944,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7936,"src":"17786:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17779:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int248_$","typeString":"type(int248)"},"typeName":{"id":7942,"name":"int248","nodeType":"ElementaryTypeName","src":"17779:6:37","typeDescriptions":{}}},"id":7945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17779:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"src":"17766:26:37","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"id":7947,"nodeType":"ExpressionStatement","src":"17766:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7948,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7939,"src":"17806:10:37","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":7949,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7936,"src":"17820:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17806:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7957,"nodeType":"IfStatement","src":"17802:98:37","trueBody":{"id":7956,"nodeType":"Block","src":"17827:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323438","id":7952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17878:3:37","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"},{"id":7953,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7936,"src":"17883:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7951,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"17848:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":7954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17848:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7955,"nodeType":"RevertStatement","src":"17841:48:37"}]}}]},"documentation":{"id":7934,"nodeType":"StructuredDocumentation","src":"17365:312:37","text":" @dev Returns the downcasted int248 from int256, reverting on\n overflow (when the input is less than smallest int248 or\n greater than largest int248).\n Counterpart to Solidity's `int248` operator.\n Requirements:\n - input must fit into 248 bits"},"id":7959,"implemented":true,"kind":"function","modifiers":[],"name":"toInt248","nameLocation":"17691:8:37","nodeType":"FunctionDefinition","parameters":{"id":7937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7936,"mutability":"mutable","name":"value","nameLocation":"17707:5:37","nodeType":"VariableDeclaration","scope":7959,"src":"17700:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7935,"name":"int256","nodeType":"ElementaryTypeName","src":"17700:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17699:14:37"},"returnParameters":{"id":7940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7939,"mutability":"mutable","name":"downcasted","nameLocation":"17744:10:37","nodeType":"VariableDeclaration","scope":7959,"src":"17737:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"},"typeName":{"id":7938,"name":"int248","nodeType":"ElementaryTypeName","src":"17737:6:37","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"visibility":"internal"}],"src":"17736:19:37"},"scope":8770,"src":"17682:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7984,"nodeType":"Block","src":"18303:150:37","statements":[{"expression":{"id":7972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7967,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7965,"src":"18313:10:37","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7970,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7962,"src":"18333:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18326:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int240_$","typeString":"type(int240)"},"typeName":{"id":7968,"name":"int240","nodeType":"ElementaryTypeName","src":"18326:6:37","typeDescriptions":{}}},"id":7971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18326:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"src":"18313:26:37","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"id":7973,"nodeType":"ExpressionStatement","src":"18313:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7974,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7965,"src":"18353:10:37","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":7975,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7962,"src":"18367:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18353:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7983,"nodeType":"IfStatement","src":"18349:98:37","trueBody":{"id":7982,"nodeType":"Block","src":"18374:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323430","id":7978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18425:3:37","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"240"},{"id":7979,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7962,"src":"18430:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7977,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"18395:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":7980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18395:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7981,"nodeType":"RevertStatement","src":"18388:48:37"}]}}]},"documentation":{"id":7960,"nodeType":"StructuredDocumentation","src":"17912:312:37","text":" @dev Returns the downcasted int240 from int256, reverting on\n overflow (when the input is less than smallest int240 or\n greater than largest int240).\n Counterpart to Solidity's `int240` operator.\n Requirements:\n - input must fit into 240 bits"},"id":7985,"implemented":true,"kind":"function","modifiers":[],"name":"toInt240","nameLocation":"18238:8:37","nodeType":"FunctionDefinition","parameters":{"id":7963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7962,"mutability":"mutable","name":"value","nameLocation":"18254:5:37","nodeType":"VariableDeclaration","scope":7985,"src":"18247:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7961,"name":"int256","nodeType":"ElementaryTypeName","src":"18247:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18246:14:37"},"returnParameters":{"id":7966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7965,"mutability":"mutable","name":"downcasted","nameLocation":"18291:10:37","nodeType":"VariableDeclaration","scope":7985,"src":"18284:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"},"typeName":{"id":7964,"name":"int240","nodeType":"ElementaryTypeName","src":"18284:6:37","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"visibility":"internal"}],"src":"18283:19:37"},"scope":8770,"src":"18229:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8010,"nodeType":"Block","src":"18850:150:37","statements":[{"expression":{"id":7998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7993,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7991,"src":"18860:10:37","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7996,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7988,"src":"18880:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7995,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18873:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int232_$","typeString":"type(int232)"},"typeName":{"id":7994,"name":"int232","nodeType":"ElementaryTypeName","src":"18873:6:37","typeDescriptions":{}}},"id":7997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18873:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"src":"18860:26:37","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"id":7999,"nodeType":"ExpressionStatement","src":"18860:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8000,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7991,"src":"18900:10:37","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8001,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7988,"src":"18914:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18900:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8009,"nodeType":"IfStatement","src":"18896:98:37","trueBody":{"id":8008,"nodeType":"Block","src":"18921:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323332","id":8004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18972:3:37","typeDescriptions":{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},"value":"232"},{"id":8005,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7988,"src":"18977:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8003,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"18942:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18942:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8007,"nodeType":"RevertStatement","src":"18935:48:37"}]}}]},"documentation":{"id":7986,"nodeType":"StructuredDocumentation","src":"18459:312:37","text":" @dev Returns the downcasted int232 from int256, reverting on\n overflow (when the input is less than smallest int232 or\n greater than largest int232).\n Counterpart to Solidity's `int232` operator.\n Requirements:\n - input must fit into 232 bits"},"id":8011,"implemented":true,"kind":"function","modifiers":[],"name":"toInt232","nameLocation":"18785:8:37","nodeType":"FunctionDefinition","parameters":{"id":7989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7988,"mutability":"mutable","name":"value","nameLocation":"18801:5:37","nodeType":"VariableDeclaration","scope":8011,"src":"18794:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7987,"name":"int256","nodeType":"ElementaryTypeName","src":"18794:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18793:14:37"},"returnParameters":{"id":7992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7991,"mutability":"mutable","name":"downcasted","nameLocation":"18838:10:37","nodeType":"VariableDeclaration","scope":8011,"src":"18831:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"},"typeName":{"id":7990,"name":"int232","nodeType":"ElementaryTypeName","src":"18831:6:37","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"visibility":"internal"}],"src":"18830:19:37"},"scope":8770,"src":"18776:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8036,"nodeType":"Block","src":"19397:150:37","statements":[{"expression":{"id":8024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8019,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8017,"src":"19407:10:37","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8022,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8014,"src":"19427:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19420:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int224_$","typeString":"type(int224)"},"typeName":{"id":8020,"name":"int224","nodeType":"ElementaryTypeName","src":"19420:6:37","typeDescriptions":{}}},"id":8023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19420:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"src":"19407:26:37","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"id":8025,"nodeType":"ExpressionStatement","src":"19407:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8026,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8017,"src":"19447:10:37","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8027,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8014,"src":"19461:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"19447:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8035,"nodeType":"IfStatement","src":"19443:98:37","trueBody":{"id":8034,"nodeType":"Block","src":"19468:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323234","id":8030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19519:3:37","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},{"id":8031,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8014,"src":"19524:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8029,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"19489:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19489:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8033,"nodeType":"RevertStatement","src":"19482:48:37"}]}}]},"documentation":{"id":8012,"nodeType":"StructuredDocumentation","src":"19006:312:37","text":" @dev Returns the downcasted int224 from int256, reverting on\n overflow (when the input is less than smallest int224 or\n greater than largest int224).\n Counterpart to Solidity's `int224` operator.\n Requirements:\n - input must fit into 224 bits"},"id":8037,"implemented":true,"kind":"function","modifiers":[],"name":"toInt224","nameLocation":"19332:8:37","nodeType":"FunctionDefinition","parameters":{"id":8015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8014,"mutability":"mutable","name":"value","nameLocation":"19348:5:37","nodeType":"VariableDeclaration","scope":8037,"src":"19341:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8013,"name":"int256","nodeType":"ElementaryTypeName","src":"19341:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19340:14:37"},"returnParameters":{"id":8018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8017,"mutability":"mutable","name":"downcasted","nameLocation":"19385:10:37","nodeType":"VariableDeclaration","scope":8037,"src":"19378:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"},"typeName":{"id":8016,"name":"int224","nodeType":"ElementaryTypeName","src":"19378:6:37","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"visibility":"internal"}],"src":"19377:19:37"},"scope":8770,"src":"19323:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8062,"nodeType":"Block","src":"19944:150:37","statements":[{"expression":{"id":8050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8045,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"19954:10:37","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8048,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8040,"src":"19974:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19967:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int216_$","typeString":"type(int216)"},"typeName":{"id":8046,"name":"int216","nodeType":"ElementaryTypeName","src":"19967:6:37","typeDescriptions":{}}},"id":8049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19967:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"src":"19954:26:37","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"id":8051,"nodeType":"ExpressionStatement","src":"19954:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8052,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"19994:10:37","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8053,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8040,"src":"20008:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"19994:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8061,"nodeType":"IfStatement","src":"19990:98:37","trueBody":{"id":8060,"nodeType":"Block","src":"20015:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323136","id":8056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20066:3:37","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"216"},{"id":8057,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8040,"src":"20071:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8055,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"20036:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20036:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8059,"nodeType":"RevertStatement","src":"20029:48:37"}]}}]},"documentation":{"id":8038,"nodeType":"StructuredDocumentation","src":"19553:312:37","text":" @dev Returns the downcasted int216 from int256, reverting on\n overflow (when the input is less than smallest int216 or\n greater than largest int216).\n Counterpart to Solidity's `int216` operator.\n Requirements:\n - input must fit into 216 bits"},"id":8063,"implemented":true,"kind":"function","modifiers":[],"name":"toInt216","nameLocation":"19879:8:37","nodeType":"FunctionDefinition","parameters":{"id":8041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8040,"mutability":"mutable","name":"value","nameLocation":"19895:5:37","nodeType":"VariableDeclaration","scope":8063,"src":"19888:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8039,"name":"int256","nodeType":"ElementaryTypeName","src":"19888:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19887:14:37"},"returnParameters":{"id":8044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8043,"mutability":"mutable","name":"downcasted","nameLocation":"19932:10:37","nodeType":"VariableDeclaration","scope":8063,"src":"19925:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"},"typeName":{"id":8042,"name":"int216","nodeType":"ElementaryTypeName","src":"19925:6:37","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"visibility":"internal"}],"src":"19924:19:37"},"scope":8770,"src":"19870:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8088,"nodeType":"Block","src":"20491:150:37","statements":[{"expression":{"id":8076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8071,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8069,"src":"20501:10:37","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8074,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8066,"src":"20521:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20514:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int208_$","typeString":"type(int208)"},"typeName":{"id":8072,"name":"int208","nodeType":"ElementaryTypeName","src":"20514:6:37","typeDescriptions":{}}},"id":8075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20514:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"src":"20501:26:37","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"id":8077,"nodeType":"ExpressionStatement","src":"20501:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8078,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8069,"src":"20541:10:37","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8079,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8066,"src":"20555:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"20541:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8087,"nodeType":"IfStatement","src":"20537:98:37","trueBody":{"id":8086,"nodeType":"Block","src":"20562:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323038","id":8082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20613:3:37","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"},{"id":8083,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8066,"src":"20618:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8081,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"20583:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20583:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8085,"nodeType":"RevertStatement","src":"20576:48:37"}]}}]},"documentation":{"id":8064,"nodeType":"StructuredDocumentation","src":"20100:312:37","text":" @dev Returns the downcasted int208 from int256, reverting on\n overflow (when the input is less than smallest int208 or\n greater than largest int208).\n Counterpart to Solidity's `int208` operator.\n Requirements:\n - input must fit into 208 bits"},"id":8089,"implemented":true,"kind":"function","modifiers":[],"name":"toInt208","nameLocation":"20426:8:37","nodeType":"FunctionDefinition","parameters":{"id":8067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8066,"mutability":"mutable","name":"value","nameLocation":"20442:5:37","nodeType":"VariableDeclaration","scope":8089,"src":"20435:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8065,"name":"int256","nodeType":"ElementaryTypeName","src":"20435:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"20434:14:37"},"returnParameters":{"id":8070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8069,"mutability":"mutable","name":"downcasted","nameLocation":"20479:10:37","nodeType":"VariableDeclaration","scope":8089,"src":"20472:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"},"typeName":{"id":8068,"name":"int208","nodeType":"ElementaryTypeName","src":"20472:6:37","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"visibility":"internal"}],"src":"20471:19:37"},"scope":8770,"src":"20417:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8114,"nodeType":"Block","src":"21038:150:37","statements":[{"expression":{"id":8102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8097,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8095,"src":"21048:10:37","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8100,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8092,"src":"21068:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21061:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int200_$","typeString":"type(int200)"},"typeName":{"id":8098,"name":"int200","nodeType":"ElementaryTypeName","src":"21061:6:37","typeDescriptions":{}}},"id":8101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21061:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"src":"21048:26:37","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"id":8103,"nodeType":"ExpressionStatement","src":"21048:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8104,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8095,"src":"21088:10:37","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8105,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8092,"src":"21102:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21088:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8113,"nodeType":"IfStatement","src":"21084:98:37","trueBody":{"id":8112,"nodeType":"Block","src":"21109:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"323030","id":8108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21160:3:37","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},{"id":8109,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8092,"src":"21165:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8107,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"21130:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21130:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8111,"nodeType":"RevertStatement","src":"21123:48:37"}]}}]},"documentation":{"id":8090,"nodeType":"StructuredDocumentation","src":"20647:312:37","text":" @dev Returns the downcasted int200 from int256, reverting on\n overflow (when the input is less than smallest int200 or\n greater than largest int200).\n Counterpart to Solidity's `int200` operator.\n Requirements:\n - input must fit into 200 bits"},"id":8115,"implemented":true,"kind":"function","modifiers":[],"name":"toInt200","nameLocation":"20973:8:37","nodeType":"FunctionDefinition","parameters":{"id":8093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8092,"mutability":"mutable","name":"value","nameLocation":"20989:5:37","nodeType":"VariableDeclaration","scope":8115,"src":"20982:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8091,"name":"int256","nodeType":"ElementaryTypeName","src":"20982:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"20981:14:37"},"returnParameters":{"id":8096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8095,"mutability":"mutable","name":"downcasted","nameLocation":"21026:10:37","nodeType":"VariableDeclaration","scope":8115,"src":"21019:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"},"typeName":{"id":8094,"name":"int200","nodeType":"ElementaryTypeName","src":"21019:6:37","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"visibility":"internal"}],"src":"21018:19:37"},"scope":8770,"src":"20964:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8140,"nodeType":"Block","src":"21585:150:37","statements":[{"expression":{"id":8128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8123,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8121,"src":"21595:10:37","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8126,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8118,"src":"21615:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21608:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int192_$","typeString":"type(int192)"},"typeName":{"id":8124,"name":"int192","nodeType":"ElementaryTypeName","src":"21608:6:37","typeDescriptions":{}}},"id":8127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21608:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"src":"21595:26:37","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"id":8129,"nodeType":"ExpressionStatement","src":"21595:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8130,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8121,"src":"21635:10:37","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8131,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8118,"src":"21649:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21635:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8139,"nodeType":"IfStatement","src":"21631:98:37","trueBody":{"id":8138,"nodeType":"Block","src":"21656:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313932","id":8134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21707:3:37","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},{"id":8135,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8118,"src":"21712:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8133,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"21677:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21677:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8137,"nodeType":"RevertStatement","src":"21670:48:37"}]}}]},"documentation":{"id":8116,"nodeType":"StructuredDocumentation","src":"21194:312:37","text":" @dev Returns the downcasted int192 from int256, reverting on\n overflow (when the input is less than smallest int192 or\n greater than largest int192).\n Counterpart to Solidity's `int192` operator.\n Requirements:\n - input must fit into 192 bits"},"id":8141,"implemented":true,"kind":"function","modifiers":[],"name":"toInt192","nameLocation":"21520:8:37","nodeType":"FunctionDefinition","parameters":{"id":8119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8118,"mutability":"mutable","name":"value","nameLocation":"21536:5:37","nodeType":"VariableDeclaration","scope":8141,"src":"21529:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8117,"name":"int256","nodeType":"ElementaryTypeName","src":"21529:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21528:14:37"},"returnParameters":{"id":8122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8121,"mutability":"mutable","name":"downcasted","nameLocation":"21573:10:37","nodeType":"VariableDeclaration","scope":8141,"src":"21566:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"},"typeName":{"id":8120,"name":"int192","nodeType":"ElementaryTypeName","src":"21566:6:37","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"visibility":"internal"}],"src":"21565:19:37"},"scope":8770,"src":"21511:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8166,"nodeType":"Block","src":"22132:150:37","statements":[{"expression":{"id":8154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8149,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8147,"src":"22142:10:37","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8152,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8144,"src":"22162:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22155:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int184_$","typeString":"type(int184)"},"typeName":{"id":8150,"name":"int184","nodeType":"ElementaryTypeName","src":"22155:6:37","typeDescriptions":{}}},"id":8153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22155:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"src":"22142:26:37","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"id":8155,"nodeType":"ExpressionStatement","src":"22142:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8156,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8147,"src":"22182:10:37","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8157,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8144,"src":"22196:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22182:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8165,"nodeType":"IfStatement","src":"22178:98:37","trueBody":{"id":8164,"nodeType":"Block","src":"22203:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313834","id":8160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22254:3:37","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"},{"id":8161,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8144,"src":"22259:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8159,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"22224:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22224:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8163,"nodeType":"RevertStatement","src":"22217:48:37"}]}}]},"documentation":{"id":8142,"nodeType":"StructuredDocumentation","src":"21741:312:37","text":" @dev Returns the downcasted int184 from int256, reverting on\n overflow (when the input is less than smallest int184 or\n greater than largest int184).\n Counterpart to Solidity's `int184` operator.\n Requirements:\n - input must fit into 184 bits"},"id":8167,"implemented":true,"kind":"function","modifiers":[],"name":"toInt184","nameLocation":"22067:8:37","nodeType":"FunctionDefinition","parameters":{"id":8145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8144,"mutability":"mutable","name":"value","nameLocation":"22083:5:37","nodeType":"VariableDeclaration","scope":8167,"src":"22076:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8143,"name":"int256","nodeType":"ElementaryTypeName","src":"22076:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22075:14:37"},"returnParameters":{"id":8148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8147,"mutability":"mutable","name":"downcasted","nameLocation":"22120:10:37","nodeType":"VariableDeclaration","scope":8167,"src":"22113:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"},"typeName":{"id":8146,"name":"int184","nodeType":"ElementaryTypeName","src":"22113:6:37","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"visibility":"internal"}],"src":"22112:19:37"},"scope":8770,"src":"22058:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8192,"nodeType":"Block","src":"22679:150:37","statements":[{"expression":{"id":8180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8175,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8173,"src":"22689:10:37","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8178,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8170,"src":"22709:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22702:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int176_$","typeString":"type(int176)"},"typeName":{"id":8176,"name":"int176","nodeType":"ElementaryTypeName","src":"22702:6:37","typeDescriptions":{}}},"id":8179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22702:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"src":"22689:26:37","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"id":8181,"nodeType":"ExpressionStatement","src":"22689:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8182,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8173,"src":"22729:10:37","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8183,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8170,"src":"22743:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22729:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8191,"nodeType":"IfStatement","src":"22725:98:37","trueBody":{"id":8190,"nodeType":"Block","src":"22750:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313736","id":8186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22801:3:37","typeDescriptions":{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},"value":"176"},{"id":8187,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8170,"src":"22806:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8185,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"22771:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22771:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8189,"nodeType":"RevertStatement","src":"22764:48:37"}]}}]},"documentation":{"id":8168,"nodeType":"StructuredDocumentation","src":"22288:312:37","text":" @dev Returns the downcasted int176 from int256, reverting on\n overflow (when the input is less than smallest int176 or\n greater than largest int176).\n Counterpart to Solidity's `int176` operator.\n Requirements:\n - input must fit into 176 bits"},"id":8193,"implemented":true,"kind":"function","modifiers":[],"name":"toInt176","nameLocation":"22614:8:37","nodeType":"FunctionDefinition","parameters":{"id":8171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8170,"mutability":"mutable","name":"value","nameLocation":"22630:5:37","nodeType":"VariableDeclaration","scope":8193,"src":"22623:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8169,"name":"int256","nodeType":"ElementaryTypeName","src":"22623:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22622:14:37"},"returnParameters":{"id":8174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8173,"mutability":"mutable","name":"downcasted","nameLocation":"22667:10:37","nodeType":"VariableDeclaration","scope":8193,"src":"22660:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"},"typeName":{"id":8172,"name":"int176","nodeType":"ElementaryTypeName","src":"22660:6:37","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"visibility":"internal"}],"src":"22659:19:37"},"scope":8770,"src":"22605:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8218,"nodeType":"Block","src":"23226:150:37","statements":[{"expression":{"id":8206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8201,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8199,"src":"23236:10:37","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8204,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8196,"src":"23256:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23249:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int168_$","typeString":"type(int168)"},"typeName":{"id":8202,"name":"int168","nodeType":"ElementaryTypeName","src":"23249:6:37","typeDescriptions":{}}},"id":8205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23249:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"src":"23236:26:37","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"id":8207,"nodeType":"ExpressionStatement","src":"23236:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8208,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8199,"src":"23276:10:37","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8209,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8196,"src":"23290:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23276:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8217,"nodeType":"IfStatement","src":"23272:98:37","trueBody":{"id":8216,"nodeType":"Block","src":"23297:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313638","id":8212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23348:3:37","typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"},{"id":8213,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8196,"src":"23353:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8211,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"23318:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23318:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8215,"nodeType":"RevertStatement","src":"23311:48:37"}]}}]},"documentation":{"id":8194,"nodeType":"StructuredDocumentation","src":"22835:312:37","text":" @dev Returns the downcasted int168 from int256, reverting on\n overflow (when the input is less than smallest int168 or\n greater than largest int168).\n Counterpart to Solidity's `int168` operator.\n Requirements:\n - input must fit into 168 bits"},"id":8219,"implemented":true,"kind":"function","modifiers":[],"name":"toInt168","nameLocation":"23161:8:37","nodeType":"FunctionDefinition","parameters":{"id":8197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8196,"mutability":"mutable","name":"value","nameLocation":"23177:5:37","nodeType":"VariableDeclaration","scope":8219,"src":"23170:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8195,"name":"int256","nodeType":"ElementaryTypeName","src":"23170:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23169:14:37"},"returnParameters":{"id":8200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8199,"mutability":"mutable","name":"downcasted","nameLocation":"23214:10:37","nodeType":"VariableDeclaration","scope":8219,"src":"23207:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"},"typeName":{"id":8198,"name":"int168","nodeType":"ElementaryTypeName","src":"23207:6:37","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"visibility":"internal"}],"src":"23206:19:37"},"scope":8770,"src":"23152:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8244,"nodeType":"Block","src":"23773:150:37","statements":[{"expression":{"id":8232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8227,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8225,"src":"23783:10:37","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8230,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8222,"src":"23803:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23796:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int160_$","typeString":"type(int160)"},"typeName":{"id":8228,"name":"int160","nodeType":"ElementaryTypeName","src":"23796:6:37","typeDescriptions":{}}},"id":8231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23796:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"src":"23783:26:37","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"id":8233,"nodeType":"ExpressionStatement","src":"23783:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8234,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8225,"src":"23823:10:37","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8235,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8222,"src":"23837:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23823:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8243,"nodeType":"IfStatement","src":"23819:98:37","trueBody":{"id":8242,"nodeType":"Block","src":"23844:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313630","id":8238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23895:3:37","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},{"id":8239,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8222,"src":"23900:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8237,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"23865:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23865:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8241,"nodeType":"RevertStatement","src":"23858:48:37"}]}}]},"documentation":{"id":8220,"nodeType":"StructuredDocumentation","src":"23382:312:37","text":" @dev Returns the downcasted int160 from int256, reverting on\n overflow (when the input is less than smallest int160 or\n greater than largest int160).\n Counterpart to Solidity's `int160` operator.\n Requirements:\n - input must fit into 160 bits"},"id":8245,"implemented":true,"kind":"function","modifiers":[],"name":"toInt160","nameLocation":"23708:8:37","nodeType":"FunctionDefinition","parameters":{"id":8223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8222,"mutability":"mutable","name":"value","nameLocation":"23724:5:37","nodeType":"VariableDeclaration","scope":8245,"src":"23717:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8221,"name":"int256","nodeType":"ElementaryTypeName","src":"23717:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23716:14:37"},"returnParameters":{"id":8226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8225,"mutability":"mutable","name":"downcasted","nameLocation":"23761:10:37","nodeType":"VariableDeclaration","scope":8245,"src":"23754:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"},"typeName":{"id":8224,"name":"int160","nodeType":"ElementaryTypeName","src":"23754:6:37","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"visibility":"internal"}],"src":"23753:19:37"},"scope":8770,"src":"23699:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8270,"nodeType":"Block","src":"24320:150:37","statements":[{"expression":{"id":8258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8253,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8251,"src":"24330:10:37","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8256,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8248,"src":"24350:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24343:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int152_$","typeString":"type(int152)"},"typeName":{"id":8254,"name":"int152","nodeType":"ElementaryTypeName","src":"24343:6:37","typeDescriptions":{}}},"id":8257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24343:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"src":"24330:26:37","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"id":8259,"nodeType":"ExpressionStatement","src":"24330:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8260,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8251,"src":"24370:10:37","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8261,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8248,"src":"24384:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"24370:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8269,"nodeType":"IfStatement","src":"24366:98:37","trueBody":{"id":8268,"nodeType":"Block","src":"24391:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313532","id":8264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24442:3:37","typeDescriptions":{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},"value":"152"},{"id":8265,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8248,"src":"24447:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8263,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"24412:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24412:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8267,"nodeType":"RevertStatement","src":"24405:48:37"}]}}]},"documentation":{"id":8246,"nodeType":"StructuredDocumentation","src":"23929:312:37","text":" @dev Returns the downcasted int152 from int256, reverting on\n overflow (when the input is less than smallest int152 or\n greater than largest int152).\n Counterpart to Solidity's `int152` operator.\n Requirements:\n - input must fit into 152 bits"},"id":8271,"implemented":true,"kind":"function","modifiers":[],"name":"toInt152","nameLocation":"24255:8:37","nodeType":"FunctionDefinition","parameters":{"id":8249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8248,"mutability":"mutable","name":"value","nameLocation":"24271:5:37","nodeType":"VariableDeclaration","scope":8271,"src":"24264:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8247,"name":"int256","nodeType":"ElementaryTypeName","src":"24264:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24263:14:37"},"returnParameters":{"id":8252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8251,"mutability":"mutable","name":"downcasted","nameLocation":"24308:10:37","nodeType":"VariableDeclaration","scope":8271,"src":"24301:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"},"typeName":{"id":8250,"name":"int152","nodeType":"ElementaryTypeName","src":"24301:6:37","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"visibility":"internal"}],"src":"24300:19:37"},"scope":8770,"src":"24246:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8296,"nodeType":"Block","src":"24867:150:37","statements":[{"expression":{"id":8284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8279,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8277,"src":"24877:10:37","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8282,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8274,"src":"24897:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24890:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int144_$","typeString":"type(int144)"},"typeName":{"id":8280,"name":"int144","nodeType":"ElementaryTypeName","src":"24890:6:37","typeDescriptions":{}}},"id":8283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24890:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"src":"24877:26:37","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"id":8285,"nodeType":"ExpressionStatement","src":"24877:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8286,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8277,"src":"24917:10:37","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8287,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8274,"src":"24931:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"24917:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8295,"nodeType":"IfStatement","src":"24913:98:37","trueBody":{"id":8294,"nodeType":"Block","src":"24938:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313434","id":8290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24989:3:37","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"},{"id":8291,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8274,"src":"24994:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8289,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"24959:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8293,"nodeType":"RevertStatement","src":"24952:48:37"}]}}]},"documentation":{"id":8272,"nodeType":"StructuredDocumentation","src":"24476:312:37","text":" @dev Returns the downcasted int144 from int256, reverting on\n overflow (when the input is less than smallest int144 or\n greater than largest int144).\n Counterpart to Solidity's `int144` operator.\n Requirements:\n - input must fit into 144 bits"},"id":8297,"implemented":true,"kind":"function","modifiers":[],"name":"toInt144","nameLocation":"24802:8:37","nodeType":"FunctionDefinition","parameters":{"id":8275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8274,"mutability":"mutable","name":"value","nameLocation":"24818:5:37","nodeType":"VariableDeclaration","scope":8297,"src":"24811:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8273,"name":"int256","nodeType":"ElementaryTypeName","src":"24811:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24810:14:37"},"returnParameters":{"id":8278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8277,"mutability":"mutable","name":"downcasted","nameLocation":"24855:10:37","nodeType":"VariableDeclaration","scope":8297,"src":"24848:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"},"typeName":{"id":8276,"name":"int144","nodeType":"ElementaryTypeName","src":"24848:6:37","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"visibility":"internal"}],"src":"24847:19:37"},"scope":8770,"src":"24793:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8322,"nodeType":"Block","src":"25414:150:37","statements":[{"expression":{"id":8310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8305,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8303,"src":"25424:10:37","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8308,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"25444:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25437:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int136_$","typeString":"type(int136)"},"typeName":{"id":8306,"name":"int136","nodeType":"ElementaryTypeName","src":"25437:6:37","typeDescriptions":{}}},"id":8309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25437:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"src":"25424:26:37","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"id":8311,"nodeType":"ExpressionStatement","src":"25424:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8312,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8303,"src":"25464:10:37","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8313,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"25478:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"25464:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8321,"nodeType":"IfStatement","src":"25460:98:37","trueBody":{"id":8320,"nodeType":"Block","src":"25485:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313336","id":8316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25536:3:37","typeDescriptions":{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},"value":"136"},{"id":8317,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8300,"src":"25541:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8315,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"25506:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25506:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8319,"nodeType":"RevertStatement","src":"25499:48:37"}]}}]},"documentation":{"id":8298,"nodeType":"StructuredDocumentation","src":"25023:312:37","text":" @dev Returns the downcasted int136 from int256, reverting on\n overflow (when the input is less than smallest int136 or\n greater than largest int136).\n Counterpart to Solidity's `int136` operator.\n Requirements:\n - input must fit into 136 bits"},"id":8323,"implemented":true,"kind":"function","modifiers":[],"name":"toInt136","nameLocation":"25349:8:37","nodeType":"FunctionDefinition","parameters":{"id":8301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8300,"mutability":"mutable","name":"value","nameLocation":"25365:5:37","nodeType":"VariableDeclaration","scope":8323,"src":"25358:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8299,"name":"int256","nodeType":"ElementaryTypeName","src":"25358:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25357:14:37"},"returnParameters":{"id":8304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8303,"mutability":"mutable","name":"downcasted","nameLocation":"25402:10:37","nodeType":"VariableDeclaration","scope":8323,"src":"25395:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"},"typeName":{"id":8302,"name":"int136","nodeType":"ElementaryTypeName","src":"25395:6:37","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"visibility":"internal"}],"src":"25394:19:37"},"scope":8770,"src":"25340:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8348,"nodeType":"Block","src":"25961:150:37","statements":[{"expression":{"id":8336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8331,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8329,"src":"25971:10:37","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8334,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8326,"src":"25991:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25984:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":8332,"name":"int128","nodeType":"ElementaryTypeName","src":"25984:6:37","typeDescriptions":{}}},"id":8335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25984:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"25971:26:37","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":8337,"nodeType":"ExpressionStatement","src":"25971:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8338,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8329,"src":"26011:10:37","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8339,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8326,"src":"26025:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26011:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8347,"nodeType":"IfStatement","src":"26007:98:37","trueBody":{"id":8346,"nodeType":"Block","src":"26032:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313238","id":8342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26083:3:37","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},{"id":8343,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8326,"src":"26088:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8341,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"26053:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26053:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8345,"nodeType":"RevertStatement","src":"26046:48:37"}]}}]},"documentation":{"id":8324,"nodeType":"StructuredDocumentation","src":"25570:312:37","text":" @dev Returns the downcasted int128 from int256, reverting on\n overflow (when the input is less than smallest int128 or\n greater than largest int128).\n Counterpart to Solidity's `int128` operator.\n Requirements:\n - input must fit into 128 bits"},"id":8349,"implemented":true,"kind":"function","modifiers":[],"name":"toInt128","nameLocation":"25896:8:37","nodeType":"FunctionDefinition","parameters":{"id":8327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8326,"mutability":"mutable","name":"value","nameLocation":"25912:5:37","nodeType":"VariableDeclaration","scope":8349,"src":"25905:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8325,"name":"int256","nodeType":"ElementaryTypeName","src":"25905:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25904:14:37"},"returnParameters":{"id":8330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8329,"mutability":"mutable","name":"downcasted","nameLocation":"25949:10:37","nodeType":"VariableDeclaration","scope":8349,"src":"25942:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":8328,"name":"int128","nodeType":"ElementaryTypeName","src":"25942:6:37","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"25941:19:37"},"scope":8770,"src":"25887:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8374,"nodeType":"Block","src":"26508:150:37","statements":[{"expression":{"id":8362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8357,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8355,"src":"26518:10:37","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8360,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8352,"src":"26538:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26531:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int120_$","typeString":"type(int120)"},"typeName":{"id":8358,"name":"int120","nodeType":"ElementaryTypeName","src":"26531:6:37","typeDescriptions":{}}},"id":8361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26531:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"src":"26518:26:37","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"id":8363,"nodeType":"ExpressionStatement","src":"26518:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8364,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8355,"src":"26558:10:37","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8365,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8352,"src":"26572:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26558:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8373,"nodeType":"IfStatement","src":"26554:98:37","trueBody":{"id":8372,"nodeType":"Block","src":"26579:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313230","id":8368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26630:3:37","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"id":8369,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8352,"src":"26635:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8367,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"26600:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26600:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8371,"nodeType":"RevertStatement","src":"26593:48:37"}]}}]},"documentation":{"id":8350,"nodeType":"StructuredDocumentation","src":"26117:312:37","text":" @dev Returns the downcasted int120 from int256, reverting on\n overflow (when the input is less than smallest int120 or\n greater than largest int120).\n Counterpart to Solidity's `int120` operator.\n Requirements:\n - input must fit into 120 bits"},"id":8375,"implemented":true,"kind":"function","modifiers":[],"name":"toInt120","nameLocation":"26443:8:37","nodeType":"FunctionDefinition","parameters":{"id":8353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8352,"mutability":"mutable","name":"value","nameLocation":"26459:5:37","nodeType":"VariableDeclaration","scope":8375,"src":"26452:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8351,"name":"int256","nodeType":"ElementaryTypeName","src":"26452:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"26451:14:37"},"returnParameters":{"id":8356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8355,"mutability":"mutable","name":"downcasted","nameLocation":"26496:10:37","nodeType":"VariableDeclaration","scope":8375,"src":"26489:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"},"typeName":{"id":8354,"name":"int120","nodeType":"ElementaryTypeName","src":"26489:6:37","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"visibility":"internal"}],"src":"26488:19:37"},"scope":8770,"src":"26434:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8400,"nodeType":"Block","src":"27055:150:37","statements":[{"expression":{"id":8388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8383,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"27065:10:37","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8386,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8378,"src":"27085:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27078:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int112_$","typeString":"type(int112)"},"typeName":{"id":8384,"name":"int112","nodeType":"ElementaryTypeName","src":"27078:6:37","typeDescriptions":{}}},"id":8387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27078:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"src":"27065:26:37","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"id":8389,"nodeType":"ExpressionStatement","src":"27065:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8390,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"27105:10:37","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8391,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8378,"src":"27119:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27105:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8399,"nodeType":"IfStatement","src":"27101:98:37","trueBody":{"id":8398,"nodeType":"Block","src":"27126:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313132","id":8394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27177:3:37","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"value":"112"},{"id":8395,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8378,"src":"27182:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8393,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"27147:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27147:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8397,"nodeType":"RevertStatement","src":"27140:48:37"}]}}]},"documentation":{"id":8376,"nodeType":"StructuredDocumentation","src":"26664:312:37","text":" @dev Returns the downcasted int112 from int256, reverting on\n overflow (when the input is less than smallest int112 or\n greater than largest int112).\n Counterpart to Solidity's `int112` operator.\n Requirements:\n - input must fit into 112 bits"},"id":8401,"implemented":true,"kind":"function","modifiers":[],"name":"toInt112","nameLocation":"26990:8:37","nodeType":"FunctionDefinition","parameters":{"id":8379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8378,"mutability":"mutable","name":"value","nameLocation":"27006:5:37","nodeType":"VariableDeclaration","scope":8401,"src":"26999:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8377,"name":"int256","nodeType":"ElementaryTypeName","src":"26999:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"26998:14:37"},"returnParameters":{"id":8382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8381,"mutability":"mutable","name":"downcasted","nameLocation":"27043:10:37","nodeType":"VariableDeclaration","scope":8401,"src":"27036:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"},"typeName":{"id":8380,"name":"int112","nodeType":"ElementaryTypeName","src":"27036:6:37","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"visibility":"internal"}],"src":"27035:19:37"},"scope":8770,"src":"26981:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8426,"nodeType":"Block","src":"27602:150:37","statements":[{"expression":{"id":8414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8409,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"27612:10:37","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8412,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8404,"src":"27632:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27625:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int104_$","typeString":"type(int104)"},"typeName":{"id":8410,"name":"int104","nodeType":"ElementaryTypeName","src":"27625:6:37","typeDescriptions":{}}},"id":8413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27625:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"src":"27612:26:37","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"id":8415,"nodeType":"ExpressionStatement","src":"27612:26:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8416,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"27652:10:37","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8417,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8404,"src":"27666:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27652:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8425,"nodeType":"IfStatement","src":"27648:98:37","trueBody":{"id":8424,"nodeType":"Block","src":"27673:73:37","statements":[{"errorCall":{"arguments":[{"hexValue":"313034","id":8420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27724:3:37","typeDescriptions":{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},"value":"104"},{"id":8421,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8404,"src":"27729:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8419,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"27694:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27694:41:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8423,"nodeType":"RevertStatement","src":"27687:48:37"}]}}]},"documentation":{"id":8402,"nodeType":"StructuredDocumentation","src":"27211:312:37","text":" @dev Returns the downcasted int104 from int256, reverting on\n overflow (when the input is less than smallest int104 or\n greater than largest int104).\n Counterpart to Solidity's `int104` operator.\n Requirements:\n - input must fit into 104 bits"},"id":8427,"implemented":true,"kind":"function","modifiers":[],"name":"toInt104","nameLocation":"27537:8:37","nodeType":"FunctionDefinition","parameters":{"id":8405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8404,"mutability":"mutable","name":"value","nameLocation":"27553:5:37","nodeType":"VariableDeclaration","scope":8427,"src":"27546:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8403,"name":"int256","nodeType":"ElementaryTypeName","src":"27546:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27545:14:37"},"returnParameters":{"id":8408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8407,"mutability":"mutable","name":"downcasted","nameLocation":"27590:10:37","nodeType":"VariableDeclaration","scope":8427,"src":"27583:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"},"typeName":{"id":8406,"name":"int104","nodeType":"ElementaryTypeName","src":"27583:6:37","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"visibility":"internal"}],"src":"27582:19:37"},"scope":8770,"src":"27528:224:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8452,"nodeType":"Block","src":"28142:148:37","statements":[{"expression":{"id":8440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8435,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8433,"src":"28152:10:37","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8438,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8430,"src":"28171:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28165:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int96_$","typeString":"type(int96)"},"typeName":{"id":8436,"name":"int96","nodeType":"ElementaryTypeName","src":"28165:5:37","typeDescriptions":{}}},"id":8439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28165:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"src":"28152:25:37","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"id":8441,"nodeType":"ExpressionStatement","src":"28152:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8442,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8433,"src":"28191:10:37","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8443,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8430,"src":"28205:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28191:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8451,"nodeType":"IfStatement","src":"28187:97:37","trueBody":{"id":8450,"nodeType":"Block","src":"28212:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3936","id":8446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28263:2:37","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},{"id":8447,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8430,"src":"28267:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8445,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"28233:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28233:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8449,"nodeType":"RevertStatement","src":"28226:47:37"}]}}]},"documentation":{"id":8428,"nodeType":"StructuredDocumentation","src":"27758:307:37","text":" @dev Returns the downcasted int96 from int256, reverting on\n overflow (when the input is less than smallest int96 or\n greater than largest int96).\n Counterpart to Solidity's `int96` operator.\n Requirements:\n - input must fit into 96 bits"},"id":8453,"implemented":true,"kind":"function","modifiers":[],"name":"toInt96","nameLocation":"28079:7:37","nodeType":"FunctionDefinition","parameters":{"id":8431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8430,"mutability":"mutable","name":"value","nameLocation":"28094:5:37","nodeType":"VariableDeclaration","scope":8453,"src":"28087:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8429,"name":"int256","nodeType":"ElementaryTypeName","src":"28087:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28086:14:37"},"returnParameters":{"id":8434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8433,"mutability":"mutable","name":"downcasted","nameLocation":"28130:10:37","nodeType":"VariableDeclaration","scope":8453,"src":"28124:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"},"typeName":{"id":8432,"name":"int96","nodeType":"ElementaryTypeName","src":"28124:5:37","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"visibility":"internal"}],"src":"28123:18:37"},"scope":8770,"src":"28070:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8478,"nodeType":"Block","src":"28680:148:37","statements":[{"expression":{"id":8466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8461,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8459,"src":"28690:10:37","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8464,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8456,"src":"28709:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28703:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int88_$","typeString":"type(int88)"},"typeName":{"id":8462,"name":"int88","nodeType":"ElementaryTypeName","src":"28703:5:37","typeDescriptions":{}}},"id":8465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28703:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"src":"28690:25:37","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"id":8467,"nodeType":"ExpressionStatement","src":"28690:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8468,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8459,"src":"28729:10:37","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8469,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8456,"src":"28743:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28729:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8477,"nodeType":"IfStatement","src":"28725:97:37","trueBody":{"id":8476,"nodeType":"Block","src":"28750:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3838","id":8472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28801:2:37","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"},{"id":8473,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8456,"src":"28805:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8471,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"28771:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28771:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8475,"nodeType":"RevertStatement","src":"28764:47:37"}]}}]},"documentation":{"id":8454,"nodeType":"StructuredDocumentation","src":"28296:307:37","text":" @dev Returns the downcasted int88 from int256, reverting on\n overflow (when the input is less than smallest int88 or\n greater than largest int88).\n Counterpart to Solidity's `int88` operator.\n Requirements:\n - input must fit into 88 bits"},"id":8479,"implemented":true,"kind":"function","modifiers":[],"name":"toInt88","nameLocation":"28617:7:37","nodeType":"FunctionDefinition","parameters":{"id":8457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8456,"mutability":"mutable","name":"value","nameLocation":"28632:5:37","nodeType":"VariableDeclaration","scope":8479,"src":"28625:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8455,"name":"int256","nodeType":"ElementaryTypeName","src":"28625:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28624:14:37"},"returnParameters":{"id":8460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8459,"mutability":"mutable","name":"downcasted","nameLocation":"28668:10:37","nodeType":"VariableDeclaration","scope":8479,"src":"28662:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"},"typeName":{"id":8458,"name":"int88","nodeType":"ElementaryTypeName","src":"28662:5:37","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"visibility":"internal"}],"src":"28661:18:37"},"scope":8770,"src":"28608:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8504,"nodeType":"Block","src":"29218:148:37","statements":[{"expression":{"id":8492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8487,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"29228:10:37","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8490,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8482,"src":"29247:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29241:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int80_$","typeString":"type(int80)"},"typeName":{"id":8488,"name":"int80","nodeType":"ElementaryTypeName","src":"29241:5:37","typeDescriptions":{}}},"id":8491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29241:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"src":"29228:25:37","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"id":8493,"nodeType":"ExpressionStatement","src":"29228:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8494,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"29267:10:37","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8495,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8482,"src":"29281:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29267:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8503,"nodeType":"IfStatement","src":"29263:97:37","trueBody":{"id":8502,"nodeType":"Block","src":"29288:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3830","id":8498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29339:2:37","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},{"id":8499,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8482,"src":"29343:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8497,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"29309:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29309:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8501,"nodeType":"RevertStatement","src":"29302:47:37"}]}}]},"documentation":{"id":8480,"nodeType":"StructuredDocumentation","src":"28834:307:37","text":" @dev Returns the downcasted int80 from int256, reverting on\n overflow (when the input is less than smallest int80 or\n greater than largest int80).\n Counterpart to Solidity's `int80` operator.\n Requirements:\n - input must fit into 80 bits"},"id":8505,"implemented":true,"kind":"function","modifiers":[],"name":"toInt80","nameLocation":"29155:7:37","nodeType":"FunctionDefinition","parameters":{"id":8483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8482,"mutability":"mutable","name":"value","nameLocation":"29170:5:37","nodeType":"VariableDeclaration","scope":8505,"src":"29163:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8481,"name":"int256","nodeType":"ElementaryTypeName","src":"29163:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29162:14:37"},"returnParameters":{"id":8486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8485,"mutability":"mutable","name":"downcasted","nameLocation":"29206:10:37","nodeType":"VariableDeclaration","scope":8505,"src":"29200:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"},"typeName":{"id":8484,"name":"int80","nodeType":"ElementaryTypeName","src":"29200:5:37","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"visibility":"internal"}],"src":"29199:18:37"},"scope":8770,"src":"29146:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8530,"nodeType":"Block","src":"29756:148:37","statements":[{"expression":{"id":8518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8513,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8511,"src":"29766:10:37","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8516,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8508,"src":"29785:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29779:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int72_$","typeString":"type(int72)"},"typeName":{"id":8514,"name":"int72","nodeType":"ElementaryTypeName","src":"29779:5:37","typeDescriptions":{}}},"id":8517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29779:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"src":"29766:25:37","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"id":8519,"nodeType":"ExpressionStatement","src":"29766:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8520,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8511,"src":"29805:10:37","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8521,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8508,"src":"29819:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29805:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8529,"nodeType":"IfStatement","src":"29801:97:37","trueBody":{"id":8528,"nodeType":"Block","src":"29826:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3732","id":8524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29877:2:37","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"},{"id":8525,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8508,"src":"29881:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8523,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"29847:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29847:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8527,"nodeType":"RevertStatement","src":"29840:47:37"}]}}]},"documentation":{"id":8506,"nodeType":"StructuredDocumentation","src":"29372:307:37","text":" @dev Returns the downcasted int72 from int256, reverting on\n overflow (when the input is less than smallest int72 or\n greater than largest int72).\n Counterpart to Solidity's `int72` operator.\n Requirements:\n - input must fit into 72 bits"},"id":8531,"implemented":true,"kind":"function","modifiers":[],"name":"toInt72","nameLocation":"29693:7:37","nodeType":"FunctionDefinition","parameters":{"id":8509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8508,"mutability":"mutable","name":"value","nameLocation":"29708:5:37","nodeType":"VariableDeclaration","scope":8531,"src":"29701:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8507,"name":"int256","nodeType":"ElementaryTypeName","src":"29701:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29700:14:37"},"returnParameters":{"id":8512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8511,"mutability":"mutable","name":"downcasted","nameLocation":"29744:10:37","nodeType":"VariableDeclaration","scope":8531,"src":"29738:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"},"typeName":{"id":8510,"name":"int72","nodeType":"ElementaryTypeName","src":"29738:5:37","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"visibility":"internal"}],"src":"29737:18:37"},"scope":8770,"src":"29684:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8556,"nodeType":"Block","src":"30294:148:37","statements":[{"expression":{"id":8544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8539,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8537,"src":"30304:10:37","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8542,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8534,"src":"30323:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30317:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":8540,"name":"int64","nodeType":"ElementaryTypeName","src":"30317:5:37","typeDescriptions":{}}},"id":8543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30317:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"src":"30304:25:37","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":8545,"nodeType":"ExpressionStatement","src":"30304:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8546,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8537,"src":"30343:10:37","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8547,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8534,"src":"30357:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30343:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8555,"nodeType":"IfStatement","src":"30339:97:37","trueBody":{"id":8554,"nodeType":"Block","src":"30364:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3634","id":8550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30415:2:37","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},{"id":8551,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8534,"src":"30419:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8549,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"30385:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30385:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8553,"nodeType":"RevertStatement","src":"30378:47:37"}]}}]},"documentation":{"id":8532,"nodeType":"StructuredDocumentation","src":"29910:307:37","text":" @dev Returns the downcasted int64 from int256, reverting on\n overflow (when the input is less than smallest int64 or\n greater than largest int64).\n Counterpart to Solidity's `int64` operator.\n Requirements:\n - input must fit into 64 bits"},"id":8557,"implemented":true,"kind":"function","modifiers":[],"name":"toInt64","nameLocation":"30231:7:37","nodeType":"FunctionDefinition","parameters":{"id":8535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8534,"mutability":"mutable","name":"value","nameLocation":"30246:5:37","nodeType":"VariableDeclaration","scope":8557,"src":"30239:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8533,"name":"int256","nodeType":"ElementaryTypeName","src":"30239:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"30238:14:37"},"returnParameters":{"id":8538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8537,"mutability":"mutable","name":"downcasted","nameLocation":"30282:10:37","nodeType":"VariableDeclaration","scope":8557,"src":"30276:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":8536,"name":"int64","nodeType":"ElementaryTypeName","src":"30276:5:37","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"30275:18:37"},"scope":8770,"src":"30222:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8582,"nodeType":"Block","src":"30832:148:37","statements":[{"expression":{"id":8570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8565,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8563,"src":"30842:10:37","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8568,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8560,"src":"30861:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30855:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int56_$","typeString":"type(int56)"},"typeName":{"id":8566,"name":"int56","nodeType":"ElementaryTypeName","src":"30855:5:37","typeDescriptions":{}}},"id":8569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30855:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"src":"30842:25:37","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":8571,"nodeType":"ExpressionStatement","src":"30842:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8572,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8563,"src":"30881:10:37","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8573,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8560,"src":"30895:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30881:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8581,"nodeType":"IfStatement","src":"30877:97:37","trueBody":{"id":8580,"nodeType":"Block","src":"30902:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3536","id":8576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30953:2:37","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"id":8577,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8560,"src":"30957:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8575,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"30923:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30923:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8579,"nodeType":"RevertStatement","src":"30916:47:37"}]}}]},"documentation":{"id":8558,"nodeType":"StructuredDocumentation","src":"30448:307:37","text":" @dev Returns the downcasted int56 from int256, reverting on\n overflow (when the input is less than smallest int56 or\n greater than largest int56).\n Counterpart to Solidity's `int56` operator.\n Requirements:\n - input must fit into 56 bits"},"id":8583,"implemented":true,"kind":"function","modifiers":[],"name":"toInt56","nameLocation":"30769:7:37","nodeType":"FunctionDefinition","parameters":{"id":8561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8560,"mutability":"mutable","name":"value","nameLocation":"30784:5:37","nodeType":"VariableDeclaration","scope":8583,"src":"30777:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8559,"name":"int256","nodeType":"ElementaryTypeName","src":"30777:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"30776:14:37"},"returnParameters":{"id":8564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8563,"mutability":"mutable","name":"downcasted","nameLocation":"30820:10:37","nodeType":"VariableDeclaration","scope":8583,"src":"30814:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"},"typeName":{"id":8562,"name":"int56","nodeType":"ElementaryTypeName","src":"30814:5:37","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"visibility":"internal"}],"src":"30813:18:37"},"scope":8770,"src":"30760:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8608,"nodeType":"Block","src":"31370:148:37","statements":[{"expression":{"id":8596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8591,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8589,"src":"31380:10:37","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8594,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8586,"src":"31399:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31393:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int48_$","typeString":"type(int48)"},"typeName":{"id":8592,"name":"int48","nodeType":"ElementaryTypeName","src":"31393:5:37","typeDescriptions":{}}},"id":8595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31393:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"src":"31380:25:37","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"id":8597,"nodeType":"ExpressionStatement","src":"31380:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8598,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8589,"src":"31419:10:37","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8599,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8586,"src":"31433:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31419:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8607,"nodeType":"IfStatement","src":"31415:97:37","trueBody":{"id":8606,"nodeType":"Block","src":"31440:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3438","id":8602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31491:2:37","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},{"id":8603,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8586,"src":"31495:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8601,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"31461:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31461:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8605,"nodeType":"RevertStatement","src":"31454:47:37"}]}}]},"documentation":{"id":8584,"nodeType":"StructuredDocumentation","src":"30986:307:37","text":" @dev Returns the downcasted int48 from int256, reverting on\n overflow (when the input is less than smallest int48 or\n greater than largest int48).\n Counterpart to Solidity's `int48` operator.\n Requirements:\n - input must fit into 48 bits"},"id":8609,"implemented":true,"kind":"function","modifiers":[],"name":"toInt48","nameLocation":"31307:7:37","nodeType":"FunctionDefinition","parameters":{"id":8587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8586,"mutability":"mutable","name":"value","nameLocation":"31322:5:37","nodeType":"VariableDeclaration","scope":8609,"src":"31315:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8585,"name":"int256","nodeType":"ElementaryTypeName","src":"31315:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31314:14:37"},"returnParameters":{"id":8590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8589,"mutability":"mutable","name":"downcasted","nameLocation":"31358:10:37","nodeType":"VariableDeclaration","scope":8609,"src":"31352:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"},"typeName":{"id":8588,"name":"int48","nodeType":"ElementaryTypeName","src":"31352:5:37","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"visibility":"internal"}],"src":"31351:18:37"},"scope":8770,"src":"31298:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8634,"nodeType":"Block","src":"31908:148:37","statements":[{"expression":{"id":8622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8617,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8615,"src":"31918:10:37","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8620,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8612,"src":"31937:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31931:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int40_$","typeString":"type(int40)"},"typeName":{"id":8618,"name":"int40","nodeType":"ElementaryTypeName","src":"31931:5:37","typeDescriptions":{}}},"id":8621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31931:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"src":"31918:25:37","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"id":8623,"nodeType":"ExpressionStatement","src":"31918:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8624,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8615,"src":"31957:10:37","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8625,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8612,"src":"31971:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31957:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8633,"nodeType":"IfStatement","src":"31953:97:37","trueBody":{"id":8632,"nodeType":"Block","src":"31978:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3430","id":8628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32029:2:37","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},{"id":8629,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8612,"src":"32033:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8627,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"31999:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31999:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8631,"nodeType":"RevertStatement","src":"31992:47:37"}]}}]},"documentation":{"id":8610,"nodeType":"StructuredDocumentation","src":"31524:307:37","text":" @dev Returns the downcasted int40 from int256, reverting on\n overflow (when the input is less than smallest int40 or\n greater than largest int40).\n Counterpart to Solidity's `int40` operator.\n Requirements:\n - input must fit into 40 bits"},"id":8635,"implemented":true,"kind":"function","modifiers":[],"name":"toInt40","nameLocation":"31845:7:37","nodeType":"FunctionDefinition","parameters":{"id":8613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8612,"mutability":"mutable","name":"value","nameLocation":"31860:5:37","nodeType":"VariableDeclaration","scope":8635,"src":"31853:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8611,"name":"int256","nodeType":"ElementaryTypeName","src":"31853:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31852:14:37"},"returnParameters":{"id":8616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8615,"mutability":"mutable","name":"downcasted","nameLocation":"31896:10:37","nodeType":"VariableDeclaration","scope":8635,"src":"31890:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"},"typeName":{"id":8614,"name":"int40","nodeType":"ElementaryTypeName","src":"31890:5:37","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"visibility":"internal"}],"src":"31889:18:37"},"scope":8770,"src":"31836:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8660,"nodeType":"Block","src":"32446:148:37","statements":[{"expression":{"id":8648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8643,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8641,"src":"32456:10:37","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8646,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"32475:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32469:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":8644,"name":"int32","nodeType":"ElementaryTypeName","src":"32469:5:37","typeDescriptions":{}}},"id":8647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32469:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"32456:25:37","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":8649,"nodeType":"ExpressionStatement","src":"32456:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8650,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8641,"src":"32495:10:37","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8651,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"32509:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32495:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8659,"nodeType":"IfStatement","src":"32491:97:37","trueBody":{"id":8658,"nodeType":"Block","src":"32516:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3332","id":8654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32567:2:37","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":8655,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"32571:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8653,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"32537:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32537:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8657,"nodeType":"RevertStatement","src":"32530:47:37"}]}}]},"documentation":{"id":8636,"nodeType":"StructuredDocumentation","src":"32062:307:37","text":" @dev Returns the downcasted int32 from int256, reverting on\n overflow (when the input is less than smallest int32 or\n greater than largest int32).\n Counterpart to Solidity's `int32` operator.\n Requirements:\n - input must fit into 32 bits"},"id":8661,"implemented":true,"kind":"function","modifiers":[],"name":"toInt32","nameLocation":"32383:7:37","nodeType":"FunctionDefinition","parameters":{"id":8639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8638,"mutability":"mutable","name":"value","nameLocation":"32398:5:37","nodeType":"VariableDeclaration","scope":8661,"src":"32391:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8637,"name":"int256","nodeType":"ElementaryTypeName","src":"32391:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32390:14:37"},"returnParameters":{"id":8642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8641,"mutability":"mutable","name":"downcasted","nameLocation":"32434:10:37","nodeType":"VariableDeclaration","scope":8661,"src":"32428:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":8640,"name":"int32","nodeType":"ElementaryTypeName","src":"32428:5:37","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"32427:18:37"},"scope":8770,"src":"32374:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8686,"nodeType":"Block","src":"32984:148:37","statements":[{"expression":{"id":8674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8669,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8667,"src":"32994:10:37","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8672,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8664,"src":"33013:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33007:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":8670,"name":"int24","nodeType":"ElementaryTypeName","src":"33007:5:37","typeDescriptions":{}}},"id":8673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33007:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"32994:25:37","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":8675,"nodeType":"ExpressionStatement","src":"32994:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8676,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8667,"src":"33033:10:37","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8677,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8664,"src":"33047:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33033:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8685,"nodeType":"IfStatement","src":"33029:97:37","trueBody":{"id":8684,"nodeType":"Block","src":"33054:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3234","id":8680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33105:2:37","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"id":8681,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8664,"src":"33109:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8679,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"33075:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33075:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8683,"nodeType":"RevertStatement","src":"33068:47:37"}]}}]},"documentation":{"id":8662,"nodeType":"StructuredDocumentation","src":"32600:307:37","text":" @dev Returns the downcasted int24 from int256, reverting on\n overflow (when the input is less than smallest int24 or\n greater than largest int24).\n Counterpart to Solidity's `int24` operator.\n Requirements:\n - input must fit into 24 bits"},"id":8687,"implemented":true,"kind":"function","modifiers":[],"name":"toInt24","nameLocation":"32921:7:37","nodeType":"FunctionDefinition","parameters":{"id":8665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8664,"mutability":"mutable","name":"value","nameLocation":"32936:5:37","nodeType":"VariableDeclaration","scope":8687,"src":"32929:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8663,"name":"int256","nodeType":"ElementaryTypeName","src":"32929:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32928:14:37"},"returnParameters":{"id":8668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8667,"mutability":"mutable","name":"downcasted","nameLocation":"32972:10:37","nodeType":"VariableDeclaration","scope":8687,"src":"32966:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":8666,"name":"int24","nodeType":"ElementaryTypeName","src":"32966:5:37","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"32965:18:37"},"scope":8770,"src":"32912:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8712,"nodeType":"Block","src":"33522:148:37","statements":[{"expression":{"id":8700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8695,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8693,"src":"33532:10:37","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8698,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8690,"src":"33551:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33545:5:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int16_$","typeString":"type(int16)"},"typeName":{"id":8696,"name":"int16","nodeType":"ElementaryTypeName","src":"33545:5:37","typeDescriptions":{}}},"id":8699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33545:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"src":"33532:25:37","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"id":8701,"nodeType":"ExpressionStatement","src":"33532:25:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8702,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8693,"src":"33571:10:37","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8703,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8690,"src":"33585:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33571:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8711,"nodeType":"IfStatement","src":"33567:97:37","trueBody":{"id":8710,"nodeType":"Block","src":"33592:72:37","statements":[{"errorCall":{"arguments":[{"hexValue":"3136","id":8706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33643:2:37","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"id":8707,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8690,"src":"33647:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8705,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"33613:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33613:40:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8709,"nodeType":"RevertStatement","src":"33606:47:37"}]}}]},"documentation":{"id":8688,"nodeType":"StructuredDocumentation","src":"33138:307:37","text":" @dev Returns the downcasted int16 from int256, reverting on\n overflow (when the input is less than smallest int16 or\n greater than largest int16).\n Counterpart to Solidity's `int16` operator.\n Requirements:\n - input must fit into 16 bits"},"id":8713,"implemented":true,"kind":"function","modifiers":[],"name":"toInt16","nameLocation":"33459:7:37","nodeType":"FunctionDefinition","parameters":{"id":8691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8690,"mutability":"mutable","name":"value","nameLocation":"33474:5:37","nodeType":"VariableDeclaration","scope":8713,"src":"33467:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8689,"name":"int256","nodeType":"ElementaryTypeName","src":"33467:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33466:14:37"},"returnParameters":{"id":8694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8693,"mutability":"mutable","name":"downcasted","nameLocation":"33510:10:37","nodeType":"VariableDeclaration","scope":8713,"src":"33504:16:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"},"typeName":{"id":8692,"name":"int16","nodeType":"ElementaryTypeName","src":"33504:5:37","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"}],"src":"33503:18:37"},"scope":8770,"src":"33450:220:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8738,"nodeType":"Block","src":"34053:146:37","statements":[{"expression":{"id":8726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8721,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8719,"src":"34063:10:37","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8724,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8716,"src":"34081:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34076:4:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int8_$","typeString":"type(int8)"},"typeName":{"id":8722,"name":"int8","nodeType":"ElementaryTypeName","src":"34076:4:37","typeDescriptions":{}}},"id":8725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34076:11:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"src":"34063:24:37","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"id":8727,"nodeType":"ExpressionStatement","src":"34063:24:37"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8728,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8719,"src":"34101:10:37","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8729,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8716,"src":"34115:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"34101:19:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8737,"nodeType":"IfStatement","src":"34097:96:37","trueBody":{"id":8736,"nodeType":"Block","src":"34122:71:37","statements":[{"errorCall":{"arguments":[{"hexValue":"38","id":8732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34173:1:37","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"id":8733,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8716,"src":"34176:5:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8731,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"34143:29:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$__$","typeString":"function (uint8,int256) pure"}},"id":8734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34143:39:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8735,"nodeType":"RevertStatement","src":"34136:46:37"}]}}]},"documentation":{"id":8714,"nodeType":"StructuredDocumentation","src":"33676:302:37","text":" @dev Returns the downcasted int8 from int256, reverting on\n overflow (when the input is less than smallest int8 or\n greater than largest int8).\n Counterpart to Solidity's `int8` operator.\n Requirements:\n - input must fit into 8 bits"},"id":8739,"implemented":true,"kind":"function","modifiers":[],"name":"toInt8","nameLocation":"33992:6:37","nodeType":"FunctionDefinition","parameters":{"id":8717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8716,"mutability":"mutable","name":"value","nameLocation":"34006:5:37","nodeType":"VariableDeclaration","scope":8739,"src":"33999:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8715,"name":"int256","nodeType":"ElementaryTypeName","src":"33999:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33998:14:37"},"returnParameters":{"id":8720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8719,"mutability":"mutable","name":"downcasted","nameLocation":"34041:10:37","nodeType":"VariableDeclaration","scope":8739,"src":"34036:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"},"typeName":{"id":8718,"name":"int8","nodeType":"ElementaryTypeName","src":"34036:4:37","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"visibility":"internal"}],"src":"34035:17:37"},"scope":8770,"src":"33983:216:37","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8768,"nodeType":"Block","src":"34439:250:37","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8747,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8742,"src":"34552:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"expression":{"arguments":[{"id":8752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34573:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8751,"name":"int256","nodeType":"ElementaryTypeName","src":"34573:6:37","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":8750,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"34568:4:37","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":8753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34568:12:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":8754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34581:3:37","memberName":"max","nodeType":"MemberAccess","src":"34568:16:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34560:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8748,"name":"uint256","nodeType":"ElementaryTypeName","src":"34560:7:37","typeDescriptions":{}}},"id":8755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34560:25:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34552:33:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8762,"nodeType":"IfStatement","src":"34548:105:37","trueBody":{"id":8761,"nodeType":"Block","src":"34587:66:37","statements":[{"errorCall":{"arguments":[{"id":8758,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8742,"src":"34636:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8757,"name":"SafeCastOverflowedUintToInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7042,"src":"34608:27:37","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":8759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34608:34:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8760,"nodeType":"RevertStatement","src":"34601:41:37"}]}},{"expression":{"arguments":[{"id":8765,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8742,"src":"34676:5:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34669:6:37","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8763,"name":"int256","nodeType":"ElementaryTypeName","src":"34669:6:37","typeDescriptions":{}}},"id":8766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34669:13:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":8746,"id":8767,"nodeType":"Return","src":"34662:20:37"}]},"documentation":{"id":8740,"nodeType":"StructuredDocumentation","src":"34205:165:37","text":" @dev Converts an unsigned uint256 into a signed int256.\n Requirements:\n - input must be less than or equal to maxInt256."},"id":8769,"implemented":true,"kind":"function","modifiers":[],"name":"toInt256","nameLocation":"34384:8:37","nodeType":"FunctionDefinition","parameters":{"id":8743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8742,"mutability":"mutable","name":"value","nameLocation":"34401:5:37","nodeType":"VariableDeclaration","scope":8769,"src":"34393:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8741,"name":"uint256","nodeType":"ElementaryTypeName","src":"34393:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34392:15:37"},"returnParameters":{"id":8746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8769,"src":"34431:6:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8744,"name":"int256","nodeType":"ElementaryTypeName","src":"34431:6:37","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34430:8:37"},"scope":8770,"src":"34375:314:37","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":8771,"src":"764:33927:37","usedErrors":[7025,7030,7037,7042],"usedEvents":[]}],"src":"192:34500:37"},"id":37},"@openzeppelin/contracts/utils/math/SignedMath.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/math/SignedMath.sol","exportedSymbols":{"SignedMath":[8875]},"id":8876,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8772,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"109:24:38"},{"abstract":false,"baseContracts":[],"canonicalName":"SignedMath","contractDependencies":[],"contractKind":"library","documentation":{"id":8773,"nodeType":"StructuredDocumentation","src":"135:80:38","text":" @dev Standard signed math utilities missing in the Solidity language."},"fullyImplemented":true,"id":8875,"linearizedBaseContracts":[8875],"name":"SignedMath","nameLocation":"224:10:38","nodeType":"ContractDefinition","nodes":[{"body":{"id":8790,"nodeType":"Block","src":"376:37:38","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8783,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8776,"src":"393:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":8784,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8778,"src":"397:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"393:5:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8787,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8778,"src":"405:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":8788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"393:13:38","trueExpression":{"id":8786,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8776,"src":"401:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":8782,"id":8789,"nodeType":"Return","src":"386:20:38"}]},"documentation":{"id":8774,"nodeType":"StructuredDocumentation","src":"241:66:38","text":" @dev Returns the largest of two signed numbers."},"id":8791,"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"321:3:38","nodeType":"FunctionDefinition","parameters":{"id":8779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8776,"mutability":"mutable","name":"a","nameLocation":"332:1:38","nodeType":"VariableDeclaration","scope":8791,"src":"325:8:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8775,"name":"int256","nodeType":"ElementaryTypeName","src":"325:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8778,"mutability":"mutable","name":"b","nameLocation":"342:1:38","nodeType":"VariableDeclaration","scope":8791,"src":"335:8:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8777,"name":"int256","nodeType":"ElementaryTypeName","src":"335:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"324:20:38"},"returnParameters":{"id":8782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8791,"src":"368:6:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8780,"name":"int256","nodeType":"ElementaryTypeName","src":"368:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"367:8:38"},"scope":8875,"src":"312:101:38","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8808,"nodeType":"Block","src":"555:37:38","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8801,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8794,"src":"572:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":8802,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8796,"src":"576:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"572:5:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8805,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8796,"src":"584:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":8806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"572:13:38","trueExpression":{"id":8804,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8794,"src":"580:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":8800,"id":8807,"nodeType":"Return","src":"565:20:38"}]},"documentation":{"id":8792,"nodeType":"StructuredDocumentation","src":"419:67:38","text":" @dev Returns the smallest of two signed numbers."},"id":8809,"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"500:3:38","nodeType":"FunctionDefinition","parameters":{"id":8797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8794,"mutability":"mutable","name":"a","nameLocation":"511:1:38","nodeType":"VariableDeclaration","scope":8809,"src":"504:8:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8793,"name":"int256","nodeType":"ElementaryTypeName","src":"504:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8796,"mutability":"mutable","name":"b","nameLocation":"521:1:38","nodeType":"VariableDeclaration","scope":8809,"src":"514:8:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8795,"name":"int256","nodeType":"ElementaryTypeName","src":"514:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"503:20:38"},"returnParameters":{"id":8800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8809,"src":"547:6:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8798,"name":"int256","nodeType":"ElementaryTypeName","src":"547:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"546:8:38"},"scope":8875,"src":"491:101:38","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8852,"nodeType":"Block","src":"797:162:38","statements":[{"assignments":[8820],"declarations":[{"constant":false,"id":8820,"mutability":"mutable","name":"x","nameLocation":"866:1:38","nodeType":"VariableDeclaration","scope":8852,"src":"859:8:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8819,"name":"int256","nodeType":"ElementaryTypeName","src":"859:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":8833,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8821,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8812,"src":"871:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":8822,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8814,"src":"875:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"871:5:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8824,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"870:7:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8825,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8812,"src":"882:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":8826,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8814,"src":"886:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"882:5:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8828,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"881:7:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":8829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"892:1:38","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"881:12:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8831,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"880:14:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"870:24:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"859:35:38"},{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8834,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8820,"src":"911:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":8839,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8820,"src":"931:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"923:7:38","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8837,"name":"uint256","nodeType":"ElementaryTypeName","src":"923:7:38","typeDescriptions":{}}},"id":8840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"923:10:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":8841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"937:3:38","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"923:17:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"916:6:38","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8835,"name":"int256","nodeType":"ElementaryTypeName","src":"916:6:38","typeDescriptions":{}}},"id":8843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"916:25:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8844,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8812,"src":"945:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":8845,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8814,"src":"949:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"945:5:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8847,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"944:7:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"916:35:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8849,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"915:37:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"911:41:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":8818,"id":8851,"nodeType":"Return","src":"904:48:38"}]},"documentation":{"id":8810,"nodeType":"StructuredDocumentation","src":"598:126:38","text":" @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero."},"id":8853,"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"738:7:38","nodeType":"FunctionDefinition","parameters":{"id":8815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8812,"mutability":"mutable","name":"a","nameLocation":"753:1:38","nodeType":"VariableDeclaration","scope":8853,"src":"746:8:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8811,"name":"int256","nodeType":"ElementaryTypeName","src":"746:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8814,"mutability":"mutable","name":"b","nameLocation":"763:1:38","nodeType":"VariableDeclaration","scope":8853,"src":"756:8:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8813,"name":"int256","nodeType":"ElementaryTypeName","src":"756:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"745:20:38"},"returnParameters":{"id":8818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8817,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8853,"src":"789:6:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8816,"name":"int256","nodeType":"ElementaryTypeName","src":"789:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"788:8:38"},"scope":8875,"src":"729:230:38","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8873,"nodeType":"Block","src":"1103:158:38","statements":[{"id":8872,"nodeType":"UncheckedBlock","src":"1113:142:38","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8863,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8856,"src":"1228:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":8864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1233:1:38","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1228:6:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1241:2:38","subExpression":{"id":8867,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8856,"src":"1242:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":8869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1228:15:38","trueExpression":{"id":8866,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8856,"src":"1237:1:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1220:7:38","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8861,"name":"uint256","nodeType":"ElementaryTypeName","src":"1220:7:38","typeDescriptions":{}}},"id":8870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1220:24:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8860,"id":8871,"nodeType":"Return","src":"1213:31:38"}]}]},"documentation":{"id":8854,"nodeType":"StructuredDocumentation","src":"965:78:38","text":" @dev Returns the absolute unsigned value of a signed value."},"id":8874,"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"1057:3:38","nodeType":"FunctionDefinition","parameters":{"id":8857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8856,"mutability":"mutable","name":"n","nameLocation":"1068:1:38","nodeType":"VariableDeclaration","scope":8874,"src":"1061:8:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8855,"name":"int256","nodeType":"ElementaryTypeName","src":"1061:6:38","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1060:10:38"},"returnParameters":{"id":8860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8859,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8874,"src":"1094:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8858,"name":"uint256","nodeType":"ElementaryTypeName","src":"1094:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1093:9:38"},"scope":8875,"src":"1048:213:38","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":8876,"src":"216:1047:38","usedErrors":[],"usedEvents":[]}],"src":"109:1155:38"},"id":38},"@openzeppelin/contracts/utils/structs/Checkpoints.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","exportedSymbols":{"Checkpoints":[10447],"Math":[7015]},"id":10448,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8877,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"201:24:39"},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"../math/Math.sol","id":8879,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10448,"sourceUnit":7016,"src":"227:38:39","symbolAliases":[{"foreign":{"id":8878,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"235:4:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Checkpoints","contractDependencies":[],"contractKind":"library","documentation":{"id":8880,"nodeType":"StructuredDocumentation","src":"267:400:39","text":" @dev This library defines the `Trace*` struct, for checkpointing values as they change at different points in\n time, and later looking up past values by block number. See {Votes} as an example.\n To create a history of checkpoints define a variable type `Checkpoints.Trace*` in your contract, and store a new\n checkpoint for the current transaction block using the {push} function."},"fullyImplemented":true,"id":10447,"linearizedBaseContracts":[10447],"name":"Checkpoints","nameLocation":"676:11:39","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":8881,"nodeType":"StructuredDocumentation","src":"694:82:39","text":" @dev A value was attempted to be inserted on a past checkpoint."},"errorSelector":"2520601d","id":8883,"name":"CheckpointUnorderedInsertion","nameLocation":"787:28:39","nodeType":"ErrorDefinition","parameters":{"id":8882,"nodeType":"ParameterList","parameters":[],"src":"815:2:39"},"src":"781:37:39"},{"canonicalName":"Checkpoints.Trace224","id":8888,"members":[{"constant":false,"id":8887,"mutability":"mutable","name":"_checkpoints","nameLocation":"866:12:39","nodeType":"VariableDeclaration","scope":8888,"src":"850:28:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":8885,"nodeType":"UserDefinedTypeName","pathNode":{"id":8884,"name":"Checkpoint224","nameLocations":["850:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":8893,"src":"850:13:39"},"referencedDeclaration":8893,"src":"850:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":8886,"nodeType":"ArrayTypeName","src":"850:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"}],"name":"Trace224","nameLocation":"831:8:39","nodeType":"StructDefinition","scope":10447,"src":"824:61:39","visibility":"public"},{"canonicalName":"Checkpoints.Checkpoint224","id":8893,"members":[{"constant":false,"id":8890,"mutability":"mutable","name":"_key","nameLocation":"929:4:39","nodeType":"VariableDeclaration","scope":8893,"src":"922:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8889,"name":"uint32","nodeType":"ElementaryTypeName","src":"922:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":8892,"mutability":"mutable","name":"_value","nameLocation":"951:6:39","nodeType":"VariableDeclaration","scope":8893,"src":"943:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":8891,"name":"uint224","nodeType":"ElementaryTypeName","src":"943:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"name":"Checkpoint224","nameLocation":"898:13:39","nodeType":"StructDefinition","scope":10447,"src":"891:73:39","visibility":"public"},{"body":{"id":8915,"nodeType":"Block","src":"1377:62:39","statements":[{"expression":{"arguments":[{"expression":{"id":8909,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8897,"src":"1402:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":8910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1407:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"1402:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":8911,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8899,"src":"1421:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":8912,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8901,"src":"1426:5:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":8908,"name":"_insert","nodeType":"Identifier","overloadedDeclarations":[9285,9806,10327],"referencedDeclaration":9285,"src":"1394:7:39","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint224_$returns$_t_uint224_$_t_uint224_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint224) returns (uint224,uint224)"}},"id":8913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1394:38:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":8907,"id":8914,"nodeType":"Return","src":"1387:45:39"}]},"documentation":{"id":8894,"nodeType":"StructuredDocumentation","src":"970:302:39","text":" @dev Pushes a (`key`, `value`) pair into a Trace224 so that it is stored as the checkpoint.\n Returns previous value and new value.\n IMPORTANT: Never accept `key` as a user input, since an arbitrary `type(uint32).max` key set will disable the\n library."},"id":8916,"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"1286:4:39","nodeType":"FunctionDefinition","parameters":{"id":8902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8897,"mutability":"mutable","name":"self","nameLocation":"1308:4:39","nodeType":"VariableDeclaration","scope":8916,"src":"1291:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":8896,"nodeType":"UserDefinedTypeName","pathNode":{"id":8895,"name":"Trace224","nameLocations":["1291:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":8888,"src":"1291:8:39"},"referencedDeclaration":8888,"src":"1291:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":8899,"mutability":"mutable","name":"key","nameLocation":"1321:3:39","nodeType":"VariableDeclaration","scope":8916,"src":"1314:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8898,"name":"uint32","nodeType":"ElementaryTypeName","src":"1314:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":8901,"mutability":"mutable","name":"value","nameLocation":"1334:5:39","nodeType":"VariableDeclaration","scope":8916,"src":"1326:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":8900,"name":"uint224","nodeType":"ElementaryTypeName","src":"1326:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"1290:50:39"},"returnParameters":{"id":8907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8916,"src":"1359:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":8903,"name":"uint224","nodeType":"ElementaryTypeName","src":"1359:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":8906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8916,"src":"1368:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":8905,"name":"uint224","nodeType":"ElementaryTypeName","src":"1368:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"1358:18:39"},"scope":10447,"src":"1277:162:39","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":8955,"nodeType":"Block","src":"1692:207:39","statements":[{"assignments":[8928],"declarations":[{"constant":false,"id":8928,"mutability":"mutable","name":"len","nameLocation":"1710:3:39","nodeType":"VariableDeclaration","scope":8955,"src":"1702:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8927,"name":"uint256","nodeType":"ElementaryTypeName","src":"1702:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8932,"initialValue":{"expression":{"expression":{"id":8929,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8920,"src":"1716:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":8930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1721:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"1716:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":8931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1734:6:39","memberName":"length","nodeType":"MemberAccess","src":"1716:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1702:38:39"},{"assignments":[8934],"declarations":[{"constant":false,"id":8934,"mutability":"mutable","name":"pos","nameLocation":"1758:3:39","nodeType":"VariableDeclaration","scope":8955,"src":"1750:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8933,"name":"uint256","nodeType":"ElementaryTypeName","src":"1750:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8942,"initialValue":{"arguments":[{"expression":{"id":8936,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8920,"src":"1783:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":8937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1788:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"1783:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":8938,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8922,"src":"1802:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":8939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1807:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":8940,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8928,"src":"1810:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8935,"name":"_lowerBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[9389,9910,10431],"referencedDeclaration":9389,"src":"1764:18:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":8941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1764:50:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1750:64:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8943,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8934,"src":"1831:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":8944,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8928,"src":"1838:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1831:10:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":8948,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8920,"src":"1862:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":8949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1867:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"1862:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":8950,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8934,"src":"1881:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8947,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"1848:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":8951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1848:37:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":8952,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1886:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":8892,"src":"1848:44:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":8953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1831:61:39","trueExpression":{"hexValue":"30","id":8946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1844:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":8926,"id":8954,"nodeType":"Return","src":"1824:68:39"}]},"documentation":{"id":8917,"nodeType":"StructuredDocumentation","src":"1445:154:39","text":" @dev Returns the value in the first (oldest) checkpoint with key greater or equal than the search key, or zero if\n there is none."},"id":8956,"implemented":true,"kind":"function","modifiers":[],"name":"lowerLookup","nameLocation":"1613:11:39","nodeType":"FunctionDefinition","parameters":{"id":8923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8920,"mutability":"mutable","name":"self","nameLocation":"1642:4:39","nodeType":"VariableDeclaration","scope":8956,"src":"1625:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":8919,"nodeType":"UserDefinedTypeName","pathNode":{"id":8918,"name":"Trace224","nameLocations":["1625:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":8888,"src":"1625:8:39"},"referencedDeclaration":8888,"src":"1625:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":8922,"mutability":"mutable","name":"key","nameLocation":"1655:3:39","nodeType":"VariableDeclaration","scope":8956,"src":"1648:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8921,"name":"uint32","nodeType":"ElementaryTypeName","src":"1648:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"1624:35:39"},"returnParameters":{"id":8926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8956,"src":"1683:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":8924,"name":"uint224","nodeType":"ElementaryTypeName","src":"1683:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"1682:9:39"},"scope":10447,"src":"1604:295:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":8997,"nodeType":"Block","src":"2154:209:39","statements":[{"assignments":[8968],"declarations":[{"constant":false,"id":8968,"mutability":"mutable","name":"len","nameLocation":"2172:3:39","nodeType":"VariableDeclaration","scope":8997,"src":"2164:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8967,"name":"uint256","nodeType":"ElementaryTypeName","src":"2164:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8972,"initialValue":{"expression":{"expression":{"id":8969,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8960,"src":"2178:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":8970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2183:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"2178:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":8971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2196:6:39","memberName":"length","nodeType":"MemberAccess","src":"2178:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2164:38:39"},{"assignments":[8974],"declarations":[{"constant":false,"id":8974,"mutability":"mutable","name":"pos","nameLocation":"2220:3:39","nodeType":"VariableDeclaration","scope":8997,"src":"2212:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8973,"name":"uint256","nodeType":"ElementaryTypeName","src":"2212:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8982,"initialValue":{"arguments":[{"expression":{"id":8976,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8960,"src":"2245:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":8977,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2250:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"2245:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":8978,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8962,"src":"2264:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":8979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2269:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":8980,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8968,"src":"2272:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8975,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[9337,9858,10379],"referencedDeclaration":9337,"src":"2226:18:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":8981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2226:50:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2212:64:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8983,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8974,"src":"2293:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":8984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2300:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2293:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":8988,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8960,"src":"2322:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":8989,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2327:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"2322:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8990,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8974,"src":"2341:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":8991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2347:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2341:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8987,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"2308:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":8993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2308:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":8994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2350:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":8892,"src":"2308:48:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":8995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2293:63:39","trueExpression":{"hexValue":"30","id":8986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2304:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":8966,"id":8996,"nodeType":"Return","src":"2286:70:39"}]},"documentation":{"id":8957,"nodeType":"StructuredDocumentation","src":"1905:156:39","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n if there is none."},"id":8998,"implemented":true,"kind":"function","modifiers":[],"name":"upperLookup","nameLocation":"2075:11:39","nodeType":"FunctionDefinition","parameters":{"id":8963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8960,"mutability":"mutable","name":"self","nameLocation":"2104:4:39","nodeType":"VariableDeclaration","scope":8998,"src":"2087:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":8959,"nodeType":"UserDefinedTypeName","pathNode":{"id":8958,"name":"Trace224","nameLocations":["2087:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":8888,"src":"2087:8:39"},"referencedDeclaration":8888,"src":"2087:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":8962,"mutability":"mutable","name":"key","nameLocation":"2117:3:39","nodeType":"VariableDeclaration","scope":8998,"src":"2110:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":8961,"name":"uint32","nodeType":"ElementaryTypeName","src":"2110:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2086:35:39"},"returnParameters":{"id":8966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8965,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8998,"src":"2145:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":8964,"name":"uint224","nodeType":"ElementaryTypeName","src":"2145:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"2144:9:39"},"scope":10447,"src":"2066:297:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9082,"nodeType":"Block","src":"2762:512:39","statements":[{"assignments":[9010],"declarations":[{"constant":false,"id":9010,"mutability":"mutable","name":"len","nameLocation":"2780:3:39","nodeType":"VariableDeclaration","scope":9082,"src":"2772:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9009,"name":"uint256","nodeType":"ElementaryTypeName","src":"2772:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9014,"initialValue":{"expression":{"expression":{"id":9011,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9002,"src":"2786:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2791:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"2786:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":9013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2804:6:39","memberName":"length","nodeType":"MemberAccess","src":"2786:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2772:38:39"},{"assignments":[9016],"declarations":[{"constant":false,"id":9016,"mutability":"mutable","name":"low","nameLocation":"2829:3:39","nodeType":"VariableDeclaration","scope":9082,"src":"2821:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9015,"name":"uint256","nodeType":"ElementaryTypeName","src":"2821:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9018,"initialValue":{"hexValue":"30","id":9017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2835:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2821:15:39"},{"assignments":[9020],"declarations":[{"constant":false,"id":9020,"mutability":"mutable","name":"high","nameLocation":"2854:4:39","nodeType":"VariableDeclaration","scope":9082,"src":"2846:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9019,"name":"uint256","nodeType":"ElementaryTypeName","src":"2846:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9022,"initialValue":{"id":9021,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9010,"src":"2861:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2846:18:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9023,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9010,"src":"2879:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35","id":9024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2885:1:39","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"2879:7:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9057,"nodeType":"IfStatement","src":"2875:234:39","trueBody":{"id":9056,"nodeType":"Block","src":"2888:221:39","statements":[{"assignments":[9027],"declarations":[{"constant":false,"id":9027,"mutability":"mutable","name":"mid","nameLocation":"2910:3:39","nodeType":"VariableDeclaration","scope":9056,"src":"2902:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9026,"name":"uint256","nodeType":"ElementaryTypeName","src":"2902:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9034,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9028,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9010,"src":"2916:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":9031,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9010,"src":"2932:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9029,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"2922:4:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":9030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2927:4:39","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"2922:9:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":9032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2922:14:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2916:20:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2902:34:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":9042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9035,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9004,"src":"2954:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"expression":{"id":9037,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9002,"src":"2974:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2979:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"2974:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":9039,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9027,"src":"2993:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9036,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"2960:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2960:37:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":9041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2998:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":8890,"src":"2960:42:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"2954:48:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9054,"nodeType":"Block","src":"3053:46:39","statements":[{"expression":{"id":9052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9048,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9016,"src":"3071:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9049,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9027,"src":"3077:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":9050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3083:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3077:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3071:13:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9053,"nodeType":"ExpressionStatement","src":"3071:13:39"}]},"id":9055,"nodeType":"IfStatement","src":"2950:149:39","trueBody":{"id":9047,"nodeType":"Block","src":"3004:43:39","statements":[{"expression":{"id":9045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9043,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9020,"src":"3022:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9044,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9027,"src":"3029:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3022:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9046,"nodeType":"ExpressionStatement","src":"3022:10:39"}]}}]}},{"assignments":[9059],"declarations":[{"constant":false,"id":9059,"mutability":"mutable","name":"pos","nameLocation":"3127:3:39","nodeType":"VariableDeclaration","scope":9082,"src":"3119:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9058,"name":"uint256","nodeType":"ElementaryTypeName","src":"3119:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9067,"initialValue":{"arguments":[{"expression":{"id":9061,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9002,"src":"3152:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3157:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"3152:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":9063,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9004,"src":"3171:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":9064,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9016,"src":"3176:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9065,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9020,"src":"3181:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9060,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[9337,9858,10379],"referencedDeclaration":9337,"src":"3133:18:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":9066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3133:53:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3119:67:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9068,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9059,"src":"3204:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3211:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3204:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":9073,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9002,"src":"3233:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3238:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"3233:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9075,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9059,"src":"3252:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3258:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3252:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9072,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"3219:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3219:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":9079,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3261:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":8892,"src":"3219:48:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":9080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3204:63:39","trueExpression":{"hexValue":"30","id":9071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3215:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":9008,"id":9081,"nodeType":"Return","src":"3197:70:39"}]},"documentation":{"id":8999,"nodeType":"StructuredDocumentation","src":"2369:294:39","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n if there is none.\n NOTE: This is a variant of {upperLookup} that is optimised to find \"recent\" checkpoint (checkpoints with high\n keys)."},"id":9083,"implemented":true,"kind":"function","modifiers":[],"name":"upperLookupRecent","nameLocation":"2677:17:39","nodeType":"FunctionDefinition","parameters":{"id":9005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9002,"mutability":"mutable","name":"self","nameLocation":"2712:4:39","nodeType":"VariableDeclaration","scope":9083,"src":"2695:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":9001,"nodeType":"UserDefinedTypeName","pathNode":{"id":9000,"name":"Trace224","nameLocations":["2695:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":8888,"src":"2695:8:39"},"referencedDeclaration":8888,"src":"2695:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":9004,"mutability":"mutable","name":"key","nameLocation":"2725:3:39","nodeType":"VariableDeclaration","scope":9083,"src":"2718:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":9003,"name":"uint32","nodeType":"ElementaryTypeName","src":"2718:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2694:35:39"},"returnParameters":{"id":9008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9007,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9083,"src":"2753:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":9006,"name":"uint224","nodeType":"ElementaryTypeName","src":"2753:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"2752:9:39"},"scope":10447,"src":"2668:606:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9112,"nodeType":"Block","src":"3465:135:39","statements":[{"assignments":[9093],"declarations":[{"constant":false,"id":9093,"mutability":"mutable","name":"pos","nameLocation":"3483:3:39","nodeType":"VariableDeclaration","scope":9112,"src":"3475:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9092,"name":"uint256","nodeType":"ElementaryTypeName","src":"3475:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9097,"initialValue":{"expression":{"expression":{"id":9094,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9087,"src":"3489:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3494:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"3489:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":9096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3507:6:39","memberName":"length","nodeType":"MemberAccess","src":"3489:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3475:38:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9098,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9093,"src":"3530:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3537:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3530:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":9103,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9087,"src":"3559:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3564:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"3559:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9105,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9093,"src":"3578:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3584:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3578:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9102,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"3545:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3545:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":9109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3587:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":8892,"src":"3545:48:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":9110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3530:63:39","trueExpression":{"hexValue":"30","id":9101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3541:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":9091,"id":9111,"nodeType":"Return","src":"3523:70:39"}]},"documentation":{"id":9084,"nodeType":"StructuredDocumentation","src":"3280:109:39","text":" @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints."},"id":9113,"implemented":true,"kind":"function","modifiers":[],"name":"latest","nameLocation":"3403:6:39","nodeType":"FunctionDefinition","parameters":{"id":9088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9087,"mutability":"mutable","name":"self","nameLocation":"3427:4:39","nodeType":"VariableDeclaration","scope":9113,"src":"3410:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":9086,"nodeType":"UserDefinedTypeName","pathNode":{"id":9085,"name":"Trace224","nameLocations":["3410:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":8888,"src":"3410:8:39"},"referencedDeclaration":8888,"src":"3410:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"}],"src":"3409:23:39"},"returnParameters":{"id":9091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9113,"src":"3456:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":9089,"name":"uint224","nodeType":"ElementaryTypeName","src":"3456:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"3455:9:39"},"scope":10447,"src":"3394:206:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9161,"nodeType":"Block","src":"3893:274:39","statements":[{"assignments":[9127],"declarations":[{"constant":false,"id":9127,"mutability":"mutable","name":"pos","nameLocation":"3911:3:39","nodeType":"VariableDeclaration","scope":9161,"src":"3903:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9126,"name":"uint256","nodeType":"ElementaryTypeName","src":"3903:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9131,"initialValue":{"expression":{"expression":{"id":9128,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9117,"src":"3917:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3922:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"3917:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":9130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3935:6:39","memberName":"length","nodeType":"MemberAccess","src":"3917:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3903:38:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9132,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9127,"src":"3955:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3962:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3955:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9159,"nodeType":"Block","src":"4016:145:39","statements":[{"assignments":[9143],"declarations":[{"constant":false,"id":9143,"mutability":"mutable","name":"ckpt","nameLocation":"4051:4:39","nodeType":"VariableDeclaration","scope":9159,"src":"4030:25:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":9142,"nodeType":"UserDefinedTypeName","pathNode":{"id":9141,"name":"Checkpoint224","nameLocations":["4030:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":8893,"src":"4030:13:39"},"referencedDeclaration":8893,"src":"4030:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"id":9151,"initialValue":{"arguments":[{"expression":{"id":9145,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9117,"src":"4072:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4077:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"4072:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9147,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9127,"src":"4091:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4097:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4091:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9144,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"4058:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4058:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4030:69:39"},{"expression":{"components":[{"hexValue":"74727565","id":9152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4121:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"id":9153,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9143,"src":"4127:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":9154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4132:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":8890,"src":"4127:9:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"id":9155,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9143,"src":"4138:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":9156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4143:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":8892,"src":"4138:11:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":9157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4120:30:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint32_$_t_uint224_$","typeString":"tuple(bool,uint32,uint224)"}},"functionReturnParameters":9125,"id":9158,"nodeType":"Return","src":"4113:37:39"}]},"id":9160,"nodeType":"IfStatement","src":"3951:210:39","trueBody":{"id":9140,"nodeType":"Block","src":"3965:45:39","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":9135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3987:5:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":9136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3994:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":9137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3997:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":9138,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3986:13:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0,int_const 0)"}},"functionReturnParameters":9125,"id":9139,"nodeType":"Return","src":"3979:20:39"}]}}]},"documentation":{"id":9114,"nodeType":"StructuredDocumentation","src":"3606:168:39","text":" @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n in the most recent checkpoint."},"id":9162,"implemented":true,"kind":"function","modifiers":[],"name":"latestCheckpoint","nameLocation":"3788:16:39","nodeType":"FunctionDefinition","parameters":{"id":9118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9117,"mutability":"mutable","name":"self","nameLocation":"3822:4:39","nodeType":"VariableDeclaration","scope":9162,"src":"3805:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":9116,"nodeType":"UserDefinedTypeName","pathNode":{"id":9115,"name":"Trace224","nameLocations":["3805:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":8888,"src":"3805:8:39"},"referencedDeclaration":8888,"src":"3805:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"}],"src":"3804:23:39"},"returnParameters":{"id":9125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9120,"mutability":"mutable","name":"exists","nameLocation":"3856:6:39","nodeType":"VariableDeclaration","scope":9162,"src":"3851:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9119,"name":"bool","nodeType":"ElementaryTypeName","src":"3851:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9122,"mutability":"mutable","name":"_key","nameLocation":"3871:4:39","nodeType":"VariableDeclaration","scope":9162,"src":"3864:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":9121,"name":"uint32","nodeType":"ElementaryTypeName","src":"3864:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":9124,"mutability":"mutable","name":"_value","nameLocation":"3885:6:39","nodeType":"VariableDeclaration","scope":9162,"src":"3877:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":9123,"name":"uint224","nodeType":"ElementaryTypeName","src":"3877:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"3850:42:39"},"scope":10447,"src":"3779:388:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9175,"nodeType":"Block","src":"4306:48:39","statements":[{"expression":{"expression":{"expression":{"id":9171,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9166,"src":"4323:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4328:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"4323:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":9173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4341:6:39","memberName":"length","nodeType":"MemberAccess","src":"4323:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9170,"id":9174,"nodeType":"Return","src":"4316:31:39"}]},"documentation":{"id":9163,"nodeType":"StructuredDocumentation","src":"4173:57:39","text":" @dev Returns the number of checkpoint."},"id":9176,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"4244:6:39","nodeType":"FunctionDefinition","parameters":{"id":9167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9166,"mutability":"mutable","name":"self","nameLocation":"4268:4:39","nodeType":"VariableDeclaration","scope":9176,"src":"4251:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":9165,"nodeType":"UserDefinedTypeName","pathNode":{"id":9164,"name":"Trace224","nameLocations":["4251:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":8888,"src":"4251:8:39"},"referencedDeclaration":8888,"src":"4251:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"}],"src":"4250:23:39"},"returnParameters":{"id":9170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9176,"src":"4297:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9168,"name":"uint256","nodeType":"ElementaryTypeName","src":"4297:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4296:9:39"},"scope":10447,"src":"4235:119:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9193,"nodeType":"Block","src":"4518:46:39","statements":[{"expression":{"baseExpression":{"expression":{"id":9188,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9180,"src":"4535:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":9189,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4540:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":8887,"src":"4535:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":9191,"indexExpression":{"id":9190,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9182,"src":"4553:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4535:22:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref"}},"functionReturnParameters":9187,"id":9192,"nodeType":"Return","src":"4528:29:39"}]},"documentation":{"id":9177,"nodeType":"StructuredDocumentation","src":"4360:61:39","text":" @dev Returns checkpoint at given position."},"id":9194,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"4435:2:39","nodeType":"FunctionDefinition","parameters":{"id":9183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9180,"mutability":"mutable","name":"self","nameLocation":"4455:4:39","nodeType":"VariableDeclaration","scope":9194,"src":"4438:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":9179,"nodeType":"UserDefinedTypeName","pathNode":{"id":9178,"name":"Trace224","nameLocations":["4438:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":8888,"src":"4438:8:39"},"referencedDeclaration":8888,"src":"4438:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$8888_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":9182,"mutability":"mutable","name":"pos","nameLocation":"4468:3:39","nodeType":"VariableDeclaration","scope":9194,"src":"4461:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":9181,"name":"uint32","nodeType":"ElementaryTypeName","src":"4461:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"4437:35:39"},"returnParameters":{"id":9187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9186,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9194,"src":"4496:20:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":9185,"nodeType":"UserDefinedTypeName","pathNode":{"id":9184,"name":"Checkpoint224","nameLocations":["4496:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":8893,"src":"4496:13:39"},"referencedDeclaration":8893,"src":"4496:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"src":"4495:22:39"},"scope":10447,"src":"4426:138:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9284,"nodeType":"Block","src":"4849:761:39","statements":[{"assignments":[9211],"declarations":[{"constant":false,"id":9211,"mutability":"mutable","name":"pos","nameLocation":"4867:3:39","nodeType":"VariableDeclaration","scope":9284,"src":"4859:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9210,"name":"uint256","nodeType":"ElementaryTypeName","src":"4859:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9214,"initialValue":{"expression":{"id":9212,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9199,"src":"4873:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},"id":9213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4878:6:39","memberName":"length","nodeType":"MemberAccess","src":"4873:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4859:25:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9215,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"4899:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":9216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4905:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4899:7:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9282,"nodeType":"Block","src":"5496:108:39","statements":[{"expression":{"arguments":[{"arguments":[{"id":9273,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9201,"src":"5541:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":9274,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9203,"src":"5554:5:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":9272,"name":"Checkpoint224","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8893,"src":"5520:13:39","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5535:4:39","5546:6:39"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"5520:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}],"expression":{"id":9269,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9199,"src":"5510:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},"id":9271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5515:4:39","memberName":"push","nodeType":"MemberAccess","src":"5510:9:39","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint224_$8893_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,struct Checkpoints.Checkpoint224 storage ref)"}},"id":9276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:52:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9277,"nodeType":"ExpressionStatement","src":"5510:52:39"},{"expression":{"components":[{"hexValue":"30","id":9278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5584:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":9279,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9203,"src":"5587:5:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":9280,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5583:10:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_uint224_$","typeString":"tuple(int_const 0,uint224)"}},"functionReturnParameters":9209,"id":9281,"nodeType":"Return","src":"5576:17:39"}]},"id":9283,"nodeType":"IfStatement","src":"4895:709:39","trueBody":{"id":9268,"nodeType":"Block","src":"4908:582:39","statements":[{"assignments":[9220],"declarations":[{"constant":false,"id":9220,"mutability":"mutable","name":"last","nameLocation":"4995:4:39","nodeType":"VariableDeclaration","scope":9268,"src":"4974:25:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":9219,"nodeType":"UserDefinedTypeName","pathNode":{"id":9218,"name":"Checkpoint224","nameLocations":["4974:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":8893,"src":"4974:13:39"},"referencedDeclaration":8893,"src":"4974:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"id":9227,"initialValue":{"arguments":[{"id":9222,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9199,"src":"5016:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9223,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"5022:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5028:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5022:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9221,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"5002:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5002:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4974:56:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":9231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9228,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9220,"src":"5104:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":9229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5109:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":8890,"src":"5104:9:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":9230,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9201,"src":"5116:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"5104:15:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9236,"nodeType":"IfStatement","src":"5100:91:39","trueBody":{"id":9235,"nodeType":"Block","src":"5121:70:39","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9232,"name":"CheckpointUnorderedInsertion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8883,"src":"5146:28:39","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5146:30:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9234,"nodeType":"RevertStatement","src":"5139:37:39"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":9240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9237,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9220,"src":"5254:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":9238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5259:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":8890,"src":"5254:9:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9239,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9201,"src":"5267:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"5254:16:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9261,"nodeType":"Block","src":"5354:85:39","statements":[{"expression":{"arguments":[{"arguments":[{"id":9256,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9201,"src":"5403:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":9257,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9203,"src":"5416:5:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":9255,"name":"Checkpoint224","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8893,"src":"5382:13:39","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5397:4:39","5408:6:39"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"5382:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}],"expression":{"id":9252,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9199,"src":"5372:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},"id":9254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5377:4:39","memberName":"push","nodeType":"MemberAccess","src":"5372:9:39","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint224_$8893_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,struct Checkpoints.Checkpoint224 storage ref)"}},"id":9259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5372:52:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9260,"nodeType":"ExpressionStatement","src":"5372:52:39"}]},"id":9262,"nodeType":"IfStatement","src":"5250:189:39","trueBody":{"id":9251,"nodeType":"Block","src":"5272:76:39","statements":[{"expression":{"id":9249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":9242,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9199,"src":"5304:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9243,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9211,"src":"5310:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5316:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5310:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9241,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"5290:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5290:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":9247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5319:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":8892,"src":"5290:35:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9248,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9203,"src":"5328:5:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"5290:43:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":9250,"nodeType":"ExpressionStatement","src":"5290:43:39"}]}},{"expression":{"components":[{"expression":{"id":9263,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9220,"src":"5460:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":9264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5465:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":8892,"src":"5460:11:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},{"id":9265,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9203,"src":"5473:5:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":9266,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5459:20:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":9209,"id":9267,"nodeType":"Return","src":"5452:27:39"}]}}]},"documentation":{"id":9195,"nodeType":"StructuredDocumentation","src":"4570:165:39","text":" @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n or by updating the last one."},"id":9285,"implemented":true,"kind":"function","modifiers":[],"name":"_insert","nameLocation":"4749:7:39","nodeType":"FunctionDefinition","parameters":{"id":9204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9199,"mutability":"mutable","name":"self","nameLocation":"4781:4:39","nodeType":"VariableDeclaration","scope":9285,"src":"4757:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":9197,"nodeType":"UserDefinedTypeName","pathNode":{"id":9196,"name":"Checkpoint224","nameLocations":["4757:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":8893,"src":"4757:13:39"},"referencedDeclaration":8893,"src":"4757:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":9198,"nodeType":"ArrayTypeName","src":"4757:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":9201,"mutability":"mutable","name":"key","nameLocation":"4794:3:39","nodeType":"VariableDeclaration","scope":9285,"src":"4787:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":9200,"name":"uint32","nodeType":"ElementaryTypeName","src":"4787:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":9203,"mutability":"mutable","name":"value","nameLocation":"4807:5:39","nodeType":"VariableDeclaration","scope":9285,"src":"4799:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":9202,"name":"uint224","nodeType":"ElementaryTypeName","src":"4799:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"4756:57:39"},"returnParameters":{"id":9209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9285,"src":"4831:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":9205,"name":"uint224","nodeType":"ElementaryTypeName","src":"4831:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":9208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9285,"src":"4840:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":9207,"name":"uint224","nodeType":"ElementaryTypeName","src":"4840:7:39","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"4830:18:39"},"scope":10447,"src":"4740:870:39","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9336,"nodeType":"Block","src":"6129:267:39","statements":[{"body":{"id":9332,"nodeType":"Block","src":"6158:211:39","statements":[{"assignments":[9305],"declarations":[{"constant":false,"id":9305,"mutability":"mutable","name":"mid","nameLocation":"6180:3:39","nodeType":"VariableDeclaration","scope":9332,"src":"6172:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9304,"name":"uint256","nodeType":"ElementaryTypeName","src":"6172:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9311,"initialValue":{"arguments":[{"id":9308,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9294,"src":"6199:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9309,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9296,"src":"6204:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9306,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"6186:4:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":9307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6191:7:39","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":6189,"src":"6186:12:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6186:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6172:37:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":9318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9313,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9290,"src":"6241:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"id":9314,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9305,"src":"6247:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9312,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"6227:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6227:24:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":9316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6252:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":8890,"src":"6227:29:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":9317,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9292,"src":"6259:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"6227:35:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9330,"nodeType":"Block","src":"6313:46:39","statements":[{"expression":{"id":9328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9324,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9294,"src":"6331:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9325,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9305,"src":"6337:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":9326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6343:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6337:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6331:13:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9329,"nodeType":"ExpressionStatement","src":"6331:13:39"}]},"id":9331,"nodeType":"IfStatement","src":"6223:136:39","trueBody":{"id":9323,"nodeType":"Block","src":"6264:43:39","statements":[{"expression":{"id":9321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9319,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9296,"src":"6282:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9320,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9305,"src":"6289:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6282:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9322,"nodeType":"ExpressionStatement","src":"6282:10:39"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9301,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9294,"src":"6146:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9302,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9296,"src":"6152:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6146:10:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9333,"nodeType":"WhileStatement","src":"6139:230:39"},{"expression":{"id":9334,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9296,"src":"6385:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9300,"id":9335,"nodeType":"Return","src":"6378:11:39"}]},"documentation":{"id":9286,"nodeType":"StructuredDocumentation","src":"5616:342:39","text":" @dev Return the index of the last (most recent) checkpoint with key lower or equal than the search key, or `high`\n if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and exclusive\n `high`.\n WARNING: `high` should not be greater than the array's length."},"id":9337,"implemented":true,"kind":"function","modifiers":[],"name":"_upperBinaryLookup","nameLocation":"5972:18:39","nodeType":"FunctionDefinition","parameters":{"id":9297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9290,"mutability":"mutable","name":"self","nameLocation":"6024:4:39","nodeType":"VariableDeclaration","scope":9337,"src":"6000:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":9288,"nodeType":"UserDefinedTypeName","pathNode":{"id":9287,"name":"Checkpoint224","nameLocations":["6000:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":8893,"src":"6000:13:39"},"referencedDeclaration":8893,"src":"6000:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":9289,"nodeType":"ArrayTypeName","src":"6000:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":9292,"mutability":"mutable","name":"key","nameLocation":"6045:3:39","nodeType":"VariableDeclaration","scope":9337,"src":"6038:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":9291,"name":"uint32","nodeType":"ElementaryTypeName","src":"6038:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":9294,"mutability":"mutable","name":"low","nameLocation":"6066:3:39","nodeType":"VariableDeclaration","scope":9337,"src":"6058:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9293,"name":"uint256","nodeType":"ElementaryTypeName","src":"6058:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9296,"mutability":"mutable","name":"high","nameLocation":"6087:4:39","nodeType":"VariableDeclaration","scope":9337,"src":"6079:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9295,"name":"uint256","nodeType":"ElementaryTypeName","src":"6079:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5990:107:39"},"returnParameters":{"id":9300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9337,"src":"6120:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9298,"name":"uint256","nodeType":"ElementaryTypeName","src":"6120:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6119:9:39"},"scope":10447,"src":"5963:433:39","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":9388,"nodeType":"Block","src":"6916:267:39","statements":[{"body":{"id":9384,"nodeType":"Block","src":"6945:211:39","statements":[{"assignments":[9357],"declarations":[{"constant":false,"id":9357,"mutability":"mutable","name":"mid","nameLocation":"6967:3:39","nodeType":"VariableDeclaration","scope":9384,"src":"6959:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9356,"name":"uint256","nodeType":"ElementaryTypeName","src":"6959:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9363,"initialValue":{"arguments":[{"id":9360,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9346,"src":"6986:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9361,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9348,"src":"6991:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9358,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"6973:4:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":9359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6978:7:39","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":6189,"src":"6973:12:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6973:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6959:37:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":9370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9365,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9342,"src":"7028:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"id":9366,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9357,"src":"7034:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9364,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9404,"src":"7014:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$8893_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":9367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7014:24:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":9368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7039:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":8890,"src":"7014:29:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9369,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9344,"src":"7046:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"7014:35:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9382,"nodeType":"Block","src":"7103:43:39","statements":[{"expression":{"id":9380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9378,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9348,"src":"7121:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9379,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9357,"src":"7128:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7121:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9381,"nodeType":"ExpressionStatement","src":"7121:10:39"}]},"id":9383,"nodeType":"IfStatement","src":"7010:136:39","trueBody":{"id":9377,"nodeType":"Block","src":"7051:46:39","statements":[{"expression":{"id":9375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9371,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9346,"src":"7069:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9372,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9357,"src":"7075:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":9373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7081:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7075:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7069:13:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9376,"nodeType":"ExpressionStatement","src":"7069:13:39"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9353,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9346,"src":"6933:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9354,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9348,"src":"6939:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6933:10:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9385,"nodeType":"WhileStatement","src":"6926:230:39"},{"expression":{"id":9386,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9348,"src":"7172:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9352,"id":9387,"nodeType":"Return","src":"7165:11:39"}]},"documentation":{"id":9338,"nodeType":"StructuredDocumentation","src":"6402:343:39","text":" @dev Return the index of the first (oldest) checkpoint with key is greater or equal than the search key, or\n `high` if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and\n exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"id":9389,"implemented":true,"kind":"function","modifiers":[],"name":"_lowerBinaryLookup","nameLocation":"6759:18:39","nodeType":"FunctionDefinition","parameters":{"id":9349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9342,"mutability":"mutable","name":"self","nameLocation":"6811:4:39","nodeType":"VariableDeclaration","scope":9389,"src":"6787:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":9340,"nodeType":"UserDefinedTypeName","pathNode":{"id":9339,"name":"Checkpoint224","nameLocations":["6787:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":8893,"src":"6787:13:39"},"referencedDeclaration":8893,"src":"6787:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":9341,"nodeType":"ArrayTypeName","src":"6787:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":9344,"mutability":"mutable","name":"key","nameLocation":"6832:3:39","nodeType":"VariableDeclaration","scope":9389,"src":"6825:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":9343,"name":"uint32","nodeType":"ElementaryTypeName","src":"6825:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":9346,"mutability":"mutable","name":"low","nameLocation":"6853:3:39","nodeType":"VariableDeclaration","scope":9389,"src":"6845:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9345,"name":"uint256","nodeType":"ElementaryTypeName","src":"6845:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9348,"mutability":"mutable","name":"high","nameLocation":"6874:4:39","nodeType":"VariableDeclaration","scope":9389,"src":"6866:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9347,"name":"uint256","nodeType":"ElementaryTypeName","src":"6866:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6777:107:39"},"returnParameters":{"id":9352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9389,"src":"6907:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6907:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6906:9:39"},"scope":10447,"src":"6750:433:39","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":9403,"nodeType":"Block","src":"7466:125:39","statements":[{"AST":{"nodeType":"YulBlock","src":"7485:100:39","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7506:1:39","type":"","value":"0"},{"name":"self.slot","nodeType":"YulIdentifier","src":"7509:9:39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7499:6:39"},"nodeType":"YulFunctionCall","src":"7499:20:39"},"nodeType":"YulExpressionStatement","src":"7499:20:39"},{"nodeType":"YulAssignment","src":"7532:43:39","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7561:1:39","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7564:4:39","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"7551:9:39"},"nodeType":"YulFunctionCall","src":"7551:18:39"},{"name":"pos","nodeType":"YulIdentifier","src":"7571:3:39"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7547:3:39"},"nodeType":"YulFunctionCall","src":"7547:28:39"},"variableNames":[{"name":"result.slot","nodeType":"YulIdentifier","src":"7532:11:39"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":9396,"isOffset":false,"isSlot":false,"src":"7571:3:39","valueSize":1},{"declaration":9400,"isOffset":false,"isSlot":true,"src":"7532:11:39","suffix":"slot","valueSize":1},{"declaration":9394,"isOffset":false,"isSlot":true,"src":"7509:9:39","suffix":"slot","valueSize":1}],"id":9402,"nodeType":"InlineAssembly","src":"7476:109:39"}]},"documentation":{"id":9390,"nodeType":"StructuredDocumentation","src":"7189:132:39","text":" @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds."},"id":9404,"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"7335:13:39","nodeType":"FunctionDefinition","parameters":{"id":9397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9394,"mutability":"mutable","name":"self","nameLocation":"7382:4:39","nodeType":"VariableDeclaration","scope":9404,"src":"7358:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":9392,"nodeType":"UserDefinedTypeName","pathNode":{"id":9391,"name":"Checkpoint224","nameLocations":["7358:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":8893,"src":"7358:13:39"},"referencedDeclaration":8893,"src":"7358:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":9393,"nodeType":"ArrayTypeName","src":"7358:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$8893_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":9396,"mutability":"mutable","name":"pos","nameLocation":"7404:3:39","nodeType":"VariableDeclaration","scope":9404,"src":"7396:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9395,"name":"uint256","nodeType":"ElementaryTypeName","src":"7396:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7348:65:39"},"returnParameters":{"id":9401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9400,"mutability":"mutable","name":"result","nameLocation":"7458:6:39","nodeType":"VariableDeclaration","scope":9404,"src":"7436:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":9399,"nodeType":"UserDefinedTypeName","pathNode":{"id":9398,"name":"Checkpoint224","nameLocations":["7436:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":8893,"src":"7436:13:39"},"referencedDeclaration":8893,"src":"7436:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$8893_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"src":"7435:30:39"},"scope":10447,"src":"7326:265:39","stateMutability":"pure","virtual":false,"visibility":"private"},{"canonicalName":"Checkpoints.Trace208","id":9409,"members":[{"constant":false,"id":9408,"mutability":"mutable","name":"_checkpoints","nameLocation":"7639:12:39","nodeType":"VariableDeclaration","scope":9409,"src":"7623:28:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"},"typeName":{"baseType":{"id":9406,"nodeType":"UserDefinedTypeName","pathNode":{"id":9405,"name":"Checkpoint208","nameLocations":["7623:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"7623:13:39"},"referencedDeclaration":9414,"src":"7623:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"id":9407,"nodeType":"ArrayTypeName","src":"7623:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"}},"visibility":"internal"}],"name":"Trace208","nameLocation":"7604:8:39","nodeType":"StructDefinition","scope":10447,"src":"7597:61:39","visibility":"public"},{"canonicalName":"Checkpoints.Checkpoint208","id":9414,"members":[{"constant":false,"id":9411,"mutability":"mutable","name":"_key","nameLocation":"7702:4:39","nodeType":"VariableDeclaration","scope":9414,"src":"7695:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":9410,"name":"uint48","nodeType":"ElementaryTypeName","src":"7695:6:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":9413,"mutability":"mutable","name":"_value","nameLocation":"7724:6:39","nodeType":"VariableDeclaration","scope":9414,"src":"7716:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9412,"name":"uint208","nodeType":"ElementaryTypeName","src":"7716:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"name":"Checkpoint208","nameLocation":"7671:13:39","nodeType":"StructDefinition","scope":10447,"src":"7664:73:39","visibility":"public"},{"body":{"id":9436,"nodeType":"Block","src":"8150:62:39","statements":[{"expression":{"arguments":[{"expression":{"id":9430,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9418,"src":"8175:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8180:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"8175:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"id":9432,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9420,"src":"8194:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":9433,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9422,"src":"8199:5:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":9429,"name":"_insert","nodeType":"Identifier","overloadedDeclarations":[9285,9806,10327],"referencedDeclaration":9806,"src":"8167:7:39","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":9434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8167:38:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"functionReturnParameters":9428,"id":9435,"nodeType":"Return","src":"8160:45:39"}]},"documentation":{"id":9415,"nodeType":"StructuredDocumentation","src":"7743:302:39","text":" @dev Pushes a (`key`, `value`) pair into a Trace208 so that it is stored as the checkpoint.\n Returns previous value and new value.\n IMPORTANT: Never accept `key` as a user input, since an arbitrary `type(uint48).max` key set will disable the\n library."},"id":9437,"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"8059:4:39","nodeType":"FunctionDefinition","parameters":{"id":9423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9418,"mutability":"mutable","name":"self","nameLocation":"8081:4:39","nodeType":"VariableDeclaration","scope":9437,"src":"8064:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":9417,"nodeType":"UserDefinedTypeName","pathNode":{"id":9416,"name":"Trace208","nameLocations":["8064:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"8064:8:39"},"referencedDeclaration":9409,"src":"8064:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":9420,"mutability":"mutable","name":"key","nameLocation":"8094:3:39","nodeType":"VariableDeclaration","scope":9437,"src":"8087:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":9419,"name":"uint48","nodeType":"ElementaryTypeName","src":"8087:6:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":9422,"mutability":"mutable","name":"value","nameLocation":"8107:5:39","nodeType":"VariableDeclaration","scope":9437,"src":"8099:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9421,"name":"uint208","nodeType":"ElementaryTypeName","src":"8099:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"8063:50:39"},"returnParameters":{"id":9428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9437,"src":"8132:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9424,"name":"uint208","nodeType":"ElementaryTypeName","src":"8132:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"},{"constant":false,"id":9427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9437,"src":"8141:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9426,"name":"uint208","nodeType":"ElementaryTypeName","src":"8141:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"8131:18:39"},"scope":10447,"src":"8050:162:39","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":9476,"nodeType":"Block","src":"8465:207:39","statements":[{"assignments":[9449],"declarations":[{"constant":false,"id":9449,"mutability":"mutable","name":"len","nameLocation":"8483:3:39","nodeType":"VariableDeclaration","scope":9476,"src":"8475:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9448,"name":"uint256","nodeType":"ElementaryTypeName","src":"8475:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9453,"initialValue":{"expression":{"expression":{"id":9450,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9441,"src":"8489:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8494:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"8489:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":9452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8507:6:39","memberName":"length","nodeType":"MemberAccess","src":"8489:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8475:38:39"},{"assignments":[9455],"declarations":[{"constant":false,"id":9455,"mutability":"mutable","name":"pos","nameLocation":"8531:3:39","nodeType":"VariableDeclaration","scope":9476,"src":"8523:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9454,"name":"uint256","nodeType":"ElementaryTypeName","src":"8523:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9463,"initialValue":{"arguments":[{"expression":{"id":9457,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9441,"src":"8556:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8561:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"8556:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"id":9459,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9443,"src":"8575:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"hexValue":"30","id":9460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8580:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":9461,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9449,"src":"8583:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9456,"name":"_lowerBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[9389,9910,10431],"referencedDeclaration":9910,"src":"8537:18:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint48_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint48,uint256,uint256) view returns (uint256)"}},"id":9462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8537:50:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8523:64:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9464,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9455,"src":"8604:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9465,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9449,"src":"8611:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8604:10:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":9469,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9441,"src":"8635:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8640:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"8635:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"id":9471,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9455,"src":"8654:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9468,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"8621:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8621:37:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":9473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8659:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"8621:44:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":9474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8604:61:39","trueExpression":{"hexValue":"30","id":9467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8617:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":9447,"id":9475,"nodeType":"Return","src":"8597:68:39"}]},"documentation":{"id":9438,"nodeType":"StructuredDocumentation","src":"8218:154:39","text":" @dev Returns the value in the first (oldest) checkpoint with key greater or equal than the search key, or zero if\n there is none."},"id":9477,"implemented":true,"kind":"function","modifiers":[],"name":"lowerLookup","nameLocation":"8386:11:39","nodeType":"FunctionDefinition","parameters":{"id":9444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9441,"mutability":"mutable","name":"self","nameLocation":"8415:4:39","nodeType":"VariableDeclaration","scope":9477,"src":"8398:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":9440,"nodeType":"UserDefinedTypeName","pathNode":{"id":9439,"name":"Trace208","nameLocations":["8398:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"8398:8:39"},"referencedDeclaration":9409,"src":"8398:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":9443,"mutability":"mutable","name":"key","nameLocation":"8428:3:39","nodeType":"VariableDeclaration","scope":9477,"src":"8421:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":9442,"name":"uint48","nodeType":"ElementaryTypeName","src":"8421:6:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"8397:35:39"},"returnParameters":{"id":9447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9477,"src":"8456:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9445,"name":"uint208","nodeType":"ElementaryTypeName","src":"8456:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"8455:9:39"},"scope":10447,"src":"8377:295:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9518,"nodeType":"Block","src":"8927:209:39","statements":[{"assignments":[9489],"declarations":[{"constant":false,"id":9489,"mutability":"mutable","name":"len","nameLocation":"8945:3:39","nodeType":"VariableDeclaration","scope":9518,"src":"8937:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9488,"name":"uint256","nodeType":"ElementaryTypeName","src":"8937:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9493,"initialValue":{"expression":{"expression":{"id":9490,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9481,"src":"8951:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8956:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"8951:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":9492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8969:6:39","memberName":"length","nodeType":"MemberAccess","src":"8951:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8937:38:39"},{"assignments":[9495],"declarations":[{"constant":false,"id":9495,"mutability":"mutable","name":"pos","nameLocation":"8993:3:39","nodeType":"VariableDeclaration","scope":9518,"src":"8985:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9494,"name":"uint256","nodeType":"ElementaryTypeName","src":"8985:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9503,"initialValue":{"arguments":[{"expression":{"id":9497,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9481,"src":"9018:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9023:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"9018:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"id":9499,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9483,"src":"9037:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"hexValue":"30","id":9500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9042:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":9501,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9489,"src":"9045:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9496,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[9337,9858,10379],"referencedDeclaration":9858,"src":"8999:18:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint48_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint48,uint256,uint256) view returns (uint256)"}},"id":9502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8999:50:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8985:64:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9504,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9495,"src":"9066:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9073:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9066:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":9509,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9481,"src":"9095:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9100:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"9095:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9511,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9495,"src":"9114:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9120:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9114:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9508,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"9081:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9081:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":9515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9123:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"9081:48:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":9516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9066:63:39","trueExpression":{"hexValue":"30","id":9507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9077:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":9487,"id":9517,"nodeType":"Return","src":"9059:70:39"}]},"documentation":{"id":9478,"nodeType":"StructuredDocumentation","src":"8678:156:39","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n if there is none."},"id":9519,"implemented":true,"kind":"function","modifiers":[],"name":"upperLookup","nameLocation":"8848:11:39","nodeType":"FunctionDefinition","parameters":{"id":9484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9481,"mutability":"mutable","name":"self","nameLocation":"8877:4:39","nodeType":"VariableDeclaration","scope":9519,"src":"8860:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":9480,"nodeType":"UserDefinedTypeName","pathNode":{"id":9479,"name":"Trace208","nameLocations":["8860:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"8860:8:39"},"referencedDeclaration":9409,"src":"8860:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":9483,"mutability":"mutable","name":"key","nameLocation":"8890:3:39","nodeType":"VariableDeclaration","scope":9519,"src":"8883:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":9482,"name":"uint48","nodeType":"ElementaryTypeName","src":"8883:6:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"8859:35:39"},"returnParameters":{"id":9487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9486,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9519,"src":"8918:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9485,"name":"uint208","nodeType":"ElementaryTypeName","src":"8918:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"8917:9:39"},"scope":10447,"src":"8839:297:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9603,"nodeType":"Block","src":"9535:512:39","statements":[{"assignments":[9531],"declarations":[{"constant":false,"id":9531,"mutability":"mutable","name":"len","nameLocation":"9553:3:39","nodeType":"VariableDeclaration","scope":9603,"src":"9545:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9530,"name":"uint256","nodeType":"ElementaryTypeName","src":"9545:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9535,"initialValue":{"expression":{"expression":{"id":9532,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9523,"src":"9559:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9564:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"9559:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":9534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9577:6:39","memberName":"length","nodeType":"MemberAccess","src":"9559:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9545:38:39"},{"assignments":[9537],"declarations":[{"constant":false,"id":9537,"mutability":"mutable","name":"low","nameLocation":"9602:3:39","nodeType":"VariableDeclaration","scope":9603,"src":"9594:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9536,"name":"uint256","nodeType":"ElementaryTypeName","src":"9594:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9539,"initialValue":{"hexValue":"30","id":9538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9608:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9594:15:39"},{"assignments":[9541],"declarations":[{"constant":false,"id":9541,"mutability":"mutable","name":"high","nameLocation":"9627:4:39","nodeType":"VariableDeclaration","scope":9603,"src":"9619:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9540,"name":"uint256","nodeType":"ElementaryTypeName","src":"9619:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9543,"initialValue":{"id":9542,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9531,"src":"9634:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9619:18:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9544,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9531,"src":"9652:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35","id":9545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9658:1:39","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"9652:7:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9578,"nodeType":"IfStatement","src":"9648:234:39","trueBody":{"id":9577,"nodeType":"Block","src":"9661:221:39","statements":[{"assignments":[9548],"declarations":[{"constant":false,"id":9548,"mutability":"mutable","name":"mid","nameLocation":"9683:3:39","nodeType":"VariableDeclaration","scope":9577,"src":"9675:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9547,"name":"uint256","nodeType":"ElementaryTypeName","src":"9675:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9555,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9549,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9531,"src":"9689:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":9552,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9531,"src":"9705:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9550,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"9695:4:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":9551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9700:4:39","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"9695:9:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":9553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9695:14:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9689:20:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9675:34:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":9563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9556,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"9727:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"expression":{"id":9558,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9523,"src":"9747:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9752:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"9747:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"id":9560,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9548,"src":"9766:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9557,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"9733:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9733:37:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":9562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9771:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"9733:42:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"9727:48:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9575,"nodeType":"Block","src":"9826:46:39","statements":[{"expression":{"id":9573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9569,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9537,"src":"9844:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9570,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9548,"src":"9850:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":9571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9856:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9850:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9844:13:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9574,"nodeType":"ExpressionStatement","src":"9844:13:39"}]},"id":9576,"nodeType":"IfStatement","src":"9723:149:39","trueBody":{"id":9568,"nodeType":"Block","src":"9777:43:39","statements":[{"expression":{"id":9566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9564,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9541,"src":"9795:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9565,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9548,"src":"9802:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9795:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9567,"nodeType":"ExpressionStatement","src":"9795:10:39"}]}}]}},{"assignments":[9580],"declarations":[{"constant":false,"id":9580,"mutability":"mutable","name":"pos","nameLocation":"9900:3:39","nodeType":"VariableDeclaration","scope":9603,"src":"9892:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9579,"name":"uint256","nodeType":"ElementaryTypeName","src":"9892:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9588,"initialValue":{"arguments":[{"expression":{"id":9582,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9523,"src":"9925:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9583,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9930:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"9925:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"id":9584,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"9944:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":9585,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9537,"src":"9949:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9586,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9541,"src":"9954:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9581,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[9337,9858,10379],"referencedDeclaration":9858,"src":"9906:18:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint48_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint48,uint256,uint256) view returns (uint256)"}},"id":9587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9906:53:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9892:67:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9589,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9580,"src":"9977:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9984:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9977:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":9594,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9523,"src":"10006:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10011:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"10006:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9596,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9580,"src":"10025:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10031:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10025:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9593,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"9992:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9992:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":9600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10034:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"9992:48:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":9601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9977:63:39","trueExpression":{"hexValue":"30","id":9592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9988:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":9529,"id":9602,"nodeType":"Return","src":"9970:70:39"}]},"documentation":{"id":9520,"nodeType":"StructuredDocumentation","src":"9142:294:39","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n if there is none.\n NOTE: This is a variant of {upperLookup} that is optimised to find \"recent\" checkpoint (checkpoints with high\n keys)."},"id":9604,"implemented":true,"kind":"function","modifiers":[],"name":"upperLookupRecent","nameLocation":"9450:17:39","nodeType":"FunctionDefinition","parameters":{"id":9526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9523,"mutability":"mutable","name":"self","nameLocation":"9485:4:39","nodeType":"VariableDeclaration","scope":9604,"src":"9468:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":9522,"nodeType":"UserDefinedTypeName","pathNode":{"id":9521,"name":"Trace208","nameLocations":["9468:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"9468:8:39"},"referencedDeclaration":9409,"src":"9468:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":9525,"mutability":"mutable","name":"key","nameLocation":"9498:3:39","nodeType":"VariableDeclaration","scope":9604,"src":"9491:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":9524,"name":"uint48","nodeType":"ElementaryTypeName","src":"9491:6:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"9467:35:39"},"returnParameters":{"id":9529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9528,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9604,"src":"9526:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9527,"name":"uint208","nodeType":"ElementaryTypeName","src":"9526:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"9525:9:39"},"scope":10447,"src":"9441:606:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9633,"nodeType":"Block","src":"10238:135:39","statements":[{"assignments":[9614],"declarations":[{"constant":false,"id":9614,"mutability":"mutable","name":"pos","nameLocation":"10256:3:39","nodeType":"VariableDeclaration","scope":9633,"src":"10248:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9613,"name":"uint256","nodeType":"ElementaryTypeName","src":"10248:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9618,"initialValue":{"expression":{"expression":{"id":9615,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9608,"src":"10262:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10267:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"10262:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":9617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10280:6:39","memberName":"length","nodeType":"MemberAccess","src":"10262:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10248:38:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9619,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9614,"src":"10303:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10310:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10303:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":9624,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9608,"src":"10332:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9625,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10337:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"10332:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9626,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9614,"src":"10351:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10357:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10351:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9623,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"10318:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10318:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":9630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10360:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"10318:48:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":9631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10303:63:39","trueExpression":{"hexValue":"30","id":9622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10314:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":9612,"id":9632,"nodeType":"Return","src":"10296:70:39"}]},"documentation":{"id":9605,"nodeType":"StructuredDocumentation","src":"10053:109:39","text":" @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints."},"id":9634,"implemented":true,"kind":"function","modifiers":[],"name":"latest","nameLocation":"10176:6:39","nodeType":"FunctionDefinition","parameters":{"id":9609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9608,"mutability":"mutable","name":"self","nameLocation":"10200:4:39","nodeType":"VariableDeclaration","scope":9634,"src":"10183:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":9607,"nodeType":"UserDefinedTypeName","pathNode":{"id":9606,"name":"Trace208","nameLocations":["10183:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"10183:8:39"},"referencedDeclaration":9409,"src":"10183:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"}],"src":"10182:23:39"},"returnParameters":{"id":9612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9634,"src":"10229:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9610,"name":"uint208","nodeType":"ElementaryTypeName","src":"10229:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"10228:9:39"},"scope":10447,"src":"10167:206:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9682,"nodeType":"Block","src":"10666:274:39","statements":[{"assignments":[9648],"declarations":[{"constant":false,"id":9648,"mutability":"mutable","name":"pos","nameLocation":"10684:3:39","nodeType":"VariableDeclaration","scope":9682,"src":"10676:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9647,"name":"uint256","nodeType":"ElementaryTypeName","src":"10676:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9652,"initialValue":{"expression":{"expression":{"id":9649,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9638,"src":"10690:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10695:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"10690:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":9651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10708:6:39","memberName":"length","nodeType":"MemberAccess","src":"10690:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10676:38:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9653,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9648,"src":"10728:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10735:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10728:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9680,"nodeType":"Block","src":"10789:145:39","statements":[{"assignments":[9664],"declarations":[{"constant":false,"id":9664,"mutability":"mutable","name":"ckpt","nameLocation":"10824:4:39","nodeType":"VariableDeclaration","scope":9680,"src":"10803:25:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":9663,"nodeType":"UserDefinedTypeName","pathNode":{"id":9662,"name":"Checkpoint208","nameLocations":["10803:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"10803:13:39"},"referencedDeclaration":9414,"src":"10803:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":9672,"initialValue":{"arguments":[{"expression":{"id":9666,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9638,"src":"10845:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10850:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"10845:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9668,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9648,"src":"10864:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10870:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10864:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9665,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"10831:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10831:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10803:69:39"},{"expression":{"components":[{"hexValue":"74727565","id":9673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10894:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"id":9674,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9664,"src":"10900:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208 memory"}},"id":9675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10905:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"10900:9:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"expression":{"id":9676,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9664,"src":"10911:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208 memory"}},"id":9677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10916:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"10911:11:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"id":9678,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10893:30:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint48_$_t_uint208_$","typeString":"tuple(bool,uint48,uint208)"}},"functionReturnParameters":9646,"id":9679,"nodeType":"Return","src":"10886:37:39"}]},"id":9681,"nodeType":"IfStatement","src":"10724:210:39","trueBody":{"id":9661,"nodeType":"Block","src":"10738:45:39","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":9656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10760:5:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":9657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10767:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":9658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10770:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":9659,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10759:13:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0,int_const 0)"}},"functionReturnParameters":9646,"id":9660,"nodeType":"Return","src":"10752:20:39"}]}}]},"documentation":{"id":9635,"nodeType":"StructuredDocumentation","src":"10379:168:39","text":" @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n in the most recent checkpoint."},"id":9683,"implemented":true,"kind":"function","modifiers":[],"name":"latestCheckpoint","nameLocation":"10561:16:39","nodeType":"FunctionDefinition","parameters":{"id":9639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9638,"mutability":"mutable","name":"self","nameLocation":"10595:4:39","nodeType":"VariableDeclaration","scope":9683,"src":"10578:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":9637,"nodeType":"UserDefinedTypeName","pathNode":{"id":9636,"name":"Trace208","nameLocations":["10578:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"10578:8:39"},"referencedDeclaration":9409,"src":"10578:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"}],"src":"10577:23:39"},"returnParameters":{"id":9646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9641,"mutability":"mutable","name":"exists","nameLocation":"10629:6:39","nodeType":"VariableDeclaration","scope":9683,"src":"10624:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9640,"name":"bool","nodeType":"ElementaryTypeName","src":"10624:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9643,"mutability":"mutable","name":"_key","nameLocation":"10644:4:39","nodeType":"VariableDeclaration","scope":9683,"src":"10637:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":9642,"name":"uint48","nodeType":"ElementaryTypeName","src":"10637:6:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":9645,"mutability":"mutable","name":"_value","nameLocation":"10658:6:39","nodeType":"VariableDeclaration","scope":9683,"src":"10650:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9644,"name":"uint208","nodeType":"ElementaryTypeName","src":"10650:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"10623:42:39"},"scope":10447,"src":"10552:388:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9696,"nodeType":"Block","src":"11079:48:39","statements":[{"expression":{"expression":{"expression":{"id":9692,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9687,"src":"11096:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9693,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11101:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"11096:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":9694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11114:6:39","memberName":"length","nodeType":"MemberAccess","src":"11096:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9691,"id":9695,"nodeType":"Return","src":"11089:31:39"}]},"documentation":{"id":9684,"nodeType":"StructuredDocumentation","src":"10946:57:39","text":" @dev Returns the number of checkpoint."},"id":9697,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"11017:6:39","nodeType":"FunctionDefinition","parameters":{"id":9688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9687,"mutability":"mutable","name":"self","nameLocation":"11041:4:39","nodeType":"VariableDeclaration","scope":9697,"src":"11024:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":9686,"nodeType":"UserDefinedTypeName","pathNode":{"id":9685,"name":"Trace208","nameLocations":["11024:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"11024:8:39"},"referencedDeclaration":9409,"src":"11024:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"}],"src":"11023:23:39"},"returnParameters":{"id":9691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9697,"src":"11070:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9689,"name":"uint256","nodeType":"ElementaryTypeName","src":"11070:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11069:9:39"},"scope":10447,"src":"11008:119:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9714,"nodeType":"Block","src":"11291:46:39","statements":[{"expression":{"baseExpression":{"expression":{"id":9709,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9701,"src":"11308:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208 storage pointer"}},"id":9710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11313:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"11308:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":9712,"indexExpression":{"id":9711,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9703,"src":"11326:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11308:22:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref"}},"functionReturnParameters":9708,"id":9713,"nodeType":"Return","src":"11301:29:39"}]},"documentation":{"id":9698,"nodeType":"StructuredDocumentation","src":"11133:61:39","text":" @dev Returns checkpoint at given position."},"id":9715,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"11208:2:39","nodeType":"FunctionDefinition","parameters":{"id":9704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9701,"mutability":"mutable","name":"self","nameLocation":"11228:4:39","nodeType":"VariableDeclaration","scope":9715,"src":"11211:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":9700,"nodeType":"UserDefinedTypeName","pathNode":{"id":9699,"name":"Trace208","nameLocations":["11211:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"11211:8:39"},"referencedDeclaration":9409,"src":"11211:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":9703,"mutability":"mutable","name":"pos","nameLocation":"11241:3:39","nodeType":"VariableDeclaration","scope":9715,"src":"11234:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":9702,"name":"uint32","nodeType":"ElementaryTypeName","src":"11234:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"11210:35:39"},"returnParameters":{"id":9708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9715,"src":"11269:20:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":9706,"nodeType":"UserDefinedTypeName","pathNode":{"id":9705,"name":"Checkpoint208","nameLocations":["11269:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"11269:13:39"},"referencedDeclaration":9414,"src":"11269:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"src":"11268:22:39"},"scope":10447,"src":"11199:138:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":9805,"nodeType":"Block","src":"11622:761:39","statements":[{"assignments":[9732],"declarations":[{"constant":false,"id":9732,"mutability":"mutable","name":"pos","nameLocation":"11640:3:39","nodeType":"VariableDeclaration","scope":9805,"src":"11632:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9731,"name":"uint256","nodeType":"ElementaryTypeName","src":"11632:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9735,"initialValue":{"expression":{"id":9733,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9720,"src":"11646:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"}},"id":9734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11651:6:39","memberName":"length","nodeType":"MemberAccess","src":"11646:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11632:25:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9736,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9732,"src":"11672:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":9737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11678:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11672:7:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9803,"nodeType":"Block","src":"12269:108:39","statements":[{"expression":{"arguments":[{"arguments":[{"id":9794,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9722,"src":"12314:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":9795,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9724,"src":"12327:5:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":9793,"name":"Checkpoint208","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9414,"src":"12293:13:39","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["12308:4:39","12319:6:39"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"12293:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208 memory"}],"expression":{"id":9790,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9720,"src":"12283:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"}},"id":9792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12288:4:39","memberName":"push","nodeType":"MemberAccess","src":"12283:9:39","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint208_$9414_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,struct Checkpoints.Checkpoint208 storage ref)"}},"id":9797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12283:52:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9798,"nodeType":"ExpressionStatement","src":"12283:52:39"},{"expression":{"components":[{"hexValue":"30","id":9799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12357:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":9800,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9724,"src":"12360:5:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"id":9801,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12356:10:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_uint208_$","typeString":"tuple(int_const 0,uint208)"}},"functionReturnParameters":9730,"id":9802,"nodeType":"Return","src":"12349:17:39"}]},"id":9804,"nodeType":"IfStatement","src":"11668:709:39","trueBody":{"id":9789,"nodeType":"Block","src":"11681:582:39","statements":[{"assignments":[9741],"declarations":[{"constant":false,"id":9741,"mutability":"mutable","name":"last","nameLocation":"11768:4:39","nodeType":"VariableDeclaration","scope":9789,"src":"11747:25:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":9740,"nodeType":"UserDefinedTypeName","pathNode":{"id":9739,"name":"Checkpoint208","nameLocations":["11747:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"11747:13:39"},"referencedDeclaration":9414,"src":"11747:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":9748,"initialValue":{"arguments":[{"id":9743,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9720,"src":"11789:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9744,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9732,"src":"11795:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11801:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11795:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9742,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"11775:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11775:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11747:56:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":9752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9749,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9741,"src":"11877:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208 memory"}},"id":9750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11882:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"11877:9:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":9751,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9722,"src":"11889:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"11877:15:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9757,"nodeType":"IfStatement","src":"11873:91:39","trueBody":{"id":9756,"nodeType":"Block","src":"11894:70:39","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9753,"name":"CheckpointUnorderedInsertion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8883,"src":"11919:28:39","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11919:30:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9755,"nodeType":"RevertStatement","src":"11912:37:39"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":9761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9758,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9741,"src":"12027:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208 memory"}},"id":9759,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12032:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"12027:9:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9760,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9722,"src":"12040:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"12027:16:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9782,"nodeType":"Block","src":"12127:85:39","statements":[{"expression":{"arguments":[{"arguments":[{"id":9777,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9722,"src":"12176:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":9778,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9724,"src":"12189:5:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":9776,"name":"Checkpoint208","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9414,"src":"12155:13:39","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["12170:4:39","12181:6:39"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"12155:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208 memory"}],"expression":{"id":9773,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9720,"src":"12145:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"}},"id":9775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12150:4:39","memberName":"push","nodeType":"MemberAccess","src":"12145:9:39","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint208_$9414_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,struct Checkpoints.Checkpoint208 storage ref)"}},"id":9780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12145:52:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9781,"nodeType":"ExpressionStatement","src":"12145:52:39"}]},"id":9783,"nodeType":"IfStatement","src":"12023:189:39","trueBody":{"id":9772,"nodeType":"Block","src":"12045:76:39","statements":[{"expression":{"id":9770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":9763,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9720,"src":"12077:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9764,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9732,"src":"12083:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12089:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12083:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9762,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"12063:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12063:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":9768,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12092:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"12063:35:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9769,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9724,"src":"12101:5:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"12063:43:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":9771,"nodeType":"ExpressionStatement","src":"12063:43:39"}]}},{"expression":{"components":[{"expression":{"id":9784,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9741,"src":"12233:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208 memory"}},"id":9785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12238:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"12233:11:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},{"id":9786,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9724,"src":"12246:5:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"id":9787,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12232:20:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"functionReturnParameters":9730,"id":9788,"nodeType":"Return","src":"12225:27:39"}]}}]},"documentation":{"id":9716,"nodeType":"StructuredDocumentation","src":"11343:165:39","text":" @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n or by updating the last one."},"id":9806,"implemented":true,"kind":"function","modifiers":[],"name":"_insert","nameLocation":"11522:7:39","nodeType":"FunctionDefinition","parameters":{"id":9725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9720,"mutability":"mutable","name":"self","nameLocation":"11554:4:39","nodeType":"VariableDeclaration","scope":9806,"src":"11530:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"},"typeName":{"baseType":{"id":9718,"nodeType":"UserDefinedTypeName","pathNode":{"id":9717,"name":"Checkpoint208","nameLocations":["11530:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"11530:13:39"},"referencedDeclaration":9414,"src":"11530:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"id":9719,"nodeType":"ArrayTypeName","src":"11530:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"}},"visibility":"internal"},{"constant":false,"id":9722,"mutability":"mutable","name":"key","nameLocation":"11567:3:39","nodeType":"VariableDeclaration","scope":9806,"src":"11560:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":9721,"name":"uint48","nodeType":"ElementaryTypeName","src":"11560:6:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":9724,"mutability":"mutable","name":"value","nameLocation":"11580:5:39","nodeType":"VariableDeclaration","scope":9806,"src":"11572:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9723,"name":"uint208","nodeType":"ElementaryTypeName","src":"11572:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"11529:57:39"},"returnParameters":{"id":9730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9727,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9806,"src":"11604:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9726,"name":"uint208","nodeType":"ElementaryTypeName","src":"11604:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"},{"constant":false,"id":9729,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9806,"src":"11613:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":9728,"name":"uint208","nodeType":"ElementaryTypeName","src":"11613:7:39","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"11603:18:39"},"scope":10447,"src":"11513:870:39","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9857,"nodeType":"Block","src":"12902:267:39","statements":[{"body":{"id":9853,"nodeType":"Block","src":"12931:211:39","statements":[{"assignments":[9826],"declarations":[{"constant":false,"id":9826,"mutability":"mutable","name":"mid","nameLocation":"12953:3:39","nodeType":"VariableDeclaration","scope":9853,"src":"12945:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9825,"name":"uint256","nodeType":"ElementaryTypeName","src":"12945:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9832,"initialValue":{"arguments":[{"id":9829,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9815,"src":"12972:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9830,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9817,"src":"12977:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9827,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"12959:4:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":9828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12964:7:39","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":6189,"src":"12959:12:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12945:37:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":9839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9834,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9811,"src":"13014:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"}},{"id":9835,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9826,"src":"13020:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9833,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"13000:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13000:24:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":9837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13025:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"13000:29:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":9838,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9813,"src":"13032:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"13000:35:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9851,"nodeType":"Block","src":"13086:46:39","statements":[{"expression":{"id":9849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9845,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9815,"src":"13104:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9846,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9826,"src":"13110:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":9847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13116:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13110:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13104:13:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9850,"nodeType":"ExpressionStatement","src":"13104:13:39"}]},"id":9852,"nodeType":"IfStatement","src":"12996:136:39","trueBody":{"id":9844,"nodeType":"Block","src":"13037:43:39","statements":[{"expression":{"id":9842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9840,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9817,"src":"13055:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9841,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9826,"src":"13062:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13055:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9843,"nodeType":"ExpressionStatement","src":"13055:10:39"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9822,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9815,"src":"12919:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9823,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9817,"src":"12925:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12919:10:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9854,"nodeType":"WhileStatement","src":"12912:230:39"},{"expression":{"id":9855,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9817,"src":"13158:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9821,"id":9856,"nodeType":"Return","src":"13151:11:39"}]},"documentation":{"id":9807,"nodeType":"StructuredDocumentation","src":"12389:342:39","text":" @dev Return the index of the last (most recent) checkpoint with key lower or equal than the search key, or `high`\n if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and exclusive\n `high`.\n WARNING: `high` should not be greater than the array's length."},"id":9858,"implemented":true,"kind":"function","modifiers":[],"name":"_upperBinaryLookup","nameLocation":"12745:18:39","nodeType":"FunctionDefinition","parameters":{"id":9818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9811,"mutability":"mutable","name":"self","nameLocation":"12797:4:39","nodeType":"VariableDeclaration","scope":9858,"src":"12773:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"},"typeName":{"baseType":{"id":9809,"nodeType":"UserDefinedTypeName","pathNode":{"id":9808,"name":"Checkpoint208","nameLocations":["12773:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"12773:13:39"},"referencedDeclaration":9414,"src":"12773:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"id":9810,"nodeType":"ArrayTypeName","src":"12773:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"}},"visibility":"internal"},{"constant":false,"id":9813,"mutability":"mutable","name":"key","nameLocation":"12818:3:39","nodeType":"VariableDeclaration","scope":9858,"src":"12811:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":9812,"name":"uint48","nodeType":"ElementaryTypeName","src":"12811:6:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":9815,"mutability":"mutable","name":"low","nameLocation":"12839:3:39","nodeType":"VariableDeclaration","scope":9858,"src":"12831:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9814,"name":"uint256","nodeType":"ElementaryTypeName","src":"12831:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9817,"mutability":"mutable","name":"high","nameLocation":"12860:4:39","nodeType":"VariableDeclaration","scope":9858,"src":"12852:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9816,"name":"uint256","nodeType":"ElementaryTypeName","src":"12852:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12763:107:39"},"returnParameters":{"id":9821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9820,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9858,"src":"12893:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9819,"name":"uint256","nodeType":"ElementaryTypeName","src":"12893:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12892:9:39"},"scope":10447,"src":"12736:433:39","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":9909,"nodeType":"Block","src":"13689:267:39","statements":[{"body":{"id":9905,"nodeType":"Block","src":"13718:211:39","statements":[{"assignments":[9878],"declarations":[{"constant":false,"id":9878,"mutability":"mutable","name":"mid","nameLocation":"13740:3:39","nodeType":"VariableDeclaration","scope":9905,"src":"13732:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9877,"name":"uint256","nodeType":"ElementaryTypeName","src":"13732:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9884,"initialValue":{"arguments":[{"id":9881,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9867,"src":"13759:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9882,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9869,"src":"13764:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9879,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"13746:4:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":9880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13751:7:39","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":6189,"src":"13746:12:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13746:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13732:37:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":9891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9886,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9863,"src":"13801:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"}},{"id":9887,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9878,"src":"13807:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9885,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":9925,"src":"13787:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint208_$9414_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint208 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint208 storage pointer)"}},"id":9888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13787:24:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":9889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13812:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"13787:29:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9890,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9865,"src":"13819:3:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"13787:35:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9903,"nodeType":"Block","src":"13876:43:39","statements":[{"expression":{"id":9901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9899,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9869,"src":"13894:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9900,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9878,"src":"13901:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13894:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9902,"nodeType":"ExpressionStatement","src":"13894:10:39"}]},"id":9904,"nodeType":"IfStatement","src":"13783:136:39","trueBody":{"id":9898,"nodeType":"Block","src":"13824:46:39","statements":[{"expression":{"id":9896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9892,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9867,"src":"13842:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9893,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9878,"src":"13848:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":9894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13854:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13848:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13842:13:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9897,"nodeType":"ExpressionStatement","src":"13842:13:39"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9874,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9867,"src":"13706:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9875,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9869,"src":"13712:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13706:10:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9906,"nodeType":"WhileStatement","src":"13699:230:39"},{"expression":{"id":9907,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9869,"src":"13945:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9873,"id":9908,"nodeType":"Return","src":"13938:11:39"}]},"documentation":{"id":9859,"nodeType":"StructuredDocumentation","src":"13175:343:39","text":" @dev Return the index of the first (oldest) checkpoint with key is greater or equal than the search key, or\n `high` if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and\n exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"id":9910,"implemented":true,"kind":"function","modifiers":[],"name":"_lowerBinaryLookup","nameLocation":"13532:18:39","nodeType":"FunctionDefinition","parameters":{"id":9870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9863,"mutability":"mutable","name":"self","nameLocation":"13584:4:39","nodeType":"VariableDeclaration","scope":9910,"src":"13560:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"},"typeName":{"baseType":{"id":9861,"nodeType":"UserDefinedTypeName","pathNode":{"id":9860,"name":"Checkpoint208","nameLocations":["13560:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"13560:13:39"},"referencedDeclaration":9414,"src":"13560:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"id":9862,"nodeType":"ArrayTypeName","src":"13560:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"}},"visibility":"internal"},{"constant":false,"id":9865,"mutability":"mutable","name":"key","nameLocation":"13605:3:39","nodeType":"VariableDeclaration","scope":9910,"src":"13598:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":9864,"name":"uint48","nodeType":"ElementaryTypeName","src":"13598:6:39","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":9867,"mutability":"mutable","name":"low","nameLocation":"13626:3:39","nodeType":"VariableDeclaration","scope":9910,"src":"13618:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9866,"name":"uint256","nodeType":"ElementaryTypeName","src":"13618:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9869,"mutability":"mutable","name":"high","nameLocation":"13647:4:39","nodeType":"VariableDeclaration","scope":9910,"src":"13639:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9868,"name":"uint256","nodeType":"ElementaryTypeName","src":"13639:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13550:107:39"},"returnParameters":{"id":9873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9872,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9910,"src":"13680:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9871,"name":"uint256","nodeType":"ElementaryTypeName","src":"13680:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13679:9:39"},"scope":10447,"src":"13523:433:39","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":9924,"nodeType":"Block","src":"14239:125:39","statements":[{"AST":{"nodeType":"YulBlock","src":"14258:100:39","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14279:1:39","type":"","value":"0"},{"name":"self.slot","nodeType":"YulIdentifier","src":"14282:9:39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14272:6:39"},"nodeType":"YulFunctionCall","src":"14272:20:39"},"nodeType":"YulExpressionStatement","src":"14272:20:39"},{"nodeType":"YulAssignment","src":"14305:43:39","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14334:1:39","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14337:4:39","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"14324:9:39"},"nodeType":"YulFunctionCall","src":"14324:18:39"},{"name":"pos","nodeType":"YulIdentifier","src":"14344:3:39"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14320:3:39"},"nodeType":"YulFunctionCall","src":"14320:28:39"},"variableNames":[{"name":"result.slot","nodeType":"YulIdentifier","src":"14305:11:39"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":9917,"isOffset":false,"isSlot":false,"src":"14344:3:39","valueSize":1},{"declaration":9921,"isOffset":false,"isSlot":true,"src":"14305:11:39","suffix":"slot","valueSize":1},{"declaration":9915,"isOffset":false,"isSlot":true,"src":"14282:9:39","suffix":"slot","valueSize":1}],"id":9923,"nodeType":"InlineAssembly","src":"14249:109:39"}]},"documentation":{"id":9911,"nodeType":"StructuredDocumentation","src":"13962:132:39","text":" @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds."},"id":9925,"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"14108:13:39","nodeType":"FunctionDefinition","parameters":{"id":9918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9915,"mutability":"mutable","name":"self","nameLocation":"14155:4:39","nodeType":"VariableDeclaration","scope":9925,"src":"14131:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"},"typeName":{"baseType":{"id":9913,"nodeType":"UserDefinedTypeName","pathNode":{"id":9912,"name":"Checkpoint208","nameLocations":["14131:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"14131:13:39"},"referencedDeclaration":9414,"src":"14131:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"id":9914,"nodeType":"ArrayTypeName","src":"14131:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint208[]"}},"visibility":"internal"},{"constant":false,"id":9917,"mutability":"mutable","name":"pos","nameLocation":"14177:3:39","nodeType":"VariableDeclaration","scope":9925,"src":"14169:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9916,"name":"uint256","nodeType":"ElementaryTypeName","src":"14169:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14121:65:39"},"returnParameters":{"id":9922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9921,"mutability":"mutable","name":"result","nameLocation":"14231:6:39","nodeType":"VariableDeclaration","scope":9925,"src":"14209:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":9920,"nodeType":"UserDefinedTypeName","pathNode":{"id":9919,"name":"Checkpoint208","nameLocations":["14209:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"14209:13:39"},"referencedDeclaration":9414,"src":"14209:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"src":"14208:30:39"},"scope":10447,"src":"14099:265:39","stateMutability":"pure","virtual":false,"visibility":"private"},{"canonicalName":"Checkpoints.Trace160","id":9930,"members":[{"constant":false,"id":9929,"mutability":"mutable","name":"_checkpoints","nameLocation":"14412:12:39","nodeType":"VariableDeclaration","scope":9930,"src":"14396:28:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":9927,"nodeType":"UserDefinedTypeName","pathNode":{"id":9926,"name":"Checkpoint160","nameLocations":["14396:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9935,"src":"14396:13:39"},"referencedDeclaration":9935,"src":"14396:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":9928,"nodeType":"ArrayTypeName","src":"14396:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"}],"name":"Trace160","nameLocation":"14377:8:39","nodeType":"StructDefinition","scope":10447,"src":"14370:61:39","visibility":"public"},{"canonicalName":"Checkpoints.Checkpoint160","id":9935,"members":[{"constant":false,"id":9932,"mutability":"mutable","name":"_key","nameLocation":"14475:4:39","nodeType":"VariableDeclaration","scope":9935,"src":"14468:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":9931,"name":"uint96","nodeType":"ElementaryTypeName","src":"14468:6:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":9934,"mutability":"mutable","name":"_value","nameLocation":"14497:6:39","nodeType":"VariableDeclaration","scope":9935,"src":"14489:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":9933,"name":"uint160","nodeType":"ElementaryTypeName","src":"14489:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"name":"Checkpoint160","nameLocation":"14444:13:39","nodeType":"StructDefinition","scope":10447,"src":"14437:73:39","visibility":"public"},{"body":{"id":9957,"nodeType":"Block","src":"14923:62:39","statements":[{"expression":{"arguments":[{"expression":{"id":9951,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9939,"src":"14948:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":9952,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14953:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"14948:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":9953,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9941,"src":"14967:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":9954,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9943,"src":"14972:5:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9950,"name":"_insert","nodeType":"Identifier","overloadedDeclarations":[9285,9806,10327],"referencedDeclaration":10327,"src":"14940:7:39","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint160_$returns$_t_uint160_$_t_uint160_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint160) returns (uint160,uint160)"}},"id":9955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14940:38:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"functionReturnParameters":9949,"id":9956,"nodeType":"Return","src":"14933:45:39"}]},"documentation":{"id":9936,"nodeType":"StructuredDocumentation","src":"14516:302:39","text":" @dev Pushes a (`key`, `value`) pair into a Trace160 so that it is stored as the checkpoint.\n Returns previous value and new value.\n IMPORTANT: Never accept `key` as a user input, since an arbitrary `type(uint96).max` key set will disable the\n library."},"id":9958,"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"14832:4:39","nodeType":"FunctionDefinition","parameters":{"id":9944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9939,"mutability":"mutable","name":"self","nameLocation":"14854:4:39","nodeType":"VariableDeclaration","scope":9958,"src":"14837:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":9938,"nodeType":"UserDefinedTypeName","pathNode":{"id":9937,"name":"Trace160","nameLocations":["14837:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9930,"src":"14837:8:39"},"referencedDeclaration":9930,"src":"14837:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":9941,"mutability":"mutable","name":"key","nameLocation":"14867:3:39","nodeType":"VariableDeclaration","scope":9958,"src":"14860:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":9940,"name":"uint96","nodeType":"ElementaryTypeName","src":"14860:6:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":9943,"mutability":"mutable","name":"value","nameLocation":"14880:5:39","nodeType":"VariableDeclaration","scope":9958,"src":"14872:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":9942,"name":"uint160","nodeType":"ElementaryTypeName","src":"14872:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"14836:50:39"},"returnParameters":{"id":9949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9958,"src":"14905:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":9945,"name":"uint160","nodeType":"ElementaryTypeName","src":"14905:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":9948,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9958,"src":"14914:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":9947,"name":"uint160","nodeType":"ElementaryTypeName","src":"14914:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"14904:18:39"},"scope":10447,"src":"14823:162:39","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":9997,"nodeType":"Block","src":"15238:207:39","statements":[{"assignments":[9970],"declarations":[{"constant":false,"id":9970,"mutability":"mutable","name":"len","nameLocation":"15256:3:39","nodeType":"VariableDeclaration","scope":9997,"src":"15248:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9969,"name":"uint256","nodeType":"ElementaryTypeName","src":"15248:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9974,"initialValue":{"expression":{"expression":{"id":9971,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9962,"src":"15262:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":9972,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15267:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"15262:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":9973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15280:6:39","memberName":"length","nodeType":"MemberAccess","src":"15262:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15248:38:39"},{"assignments":[9976],"declarations":[{"constant":false,"id":9976,"mutability":"mutable","name":"pos","nameLocation":"15304:3:39","nodeType":"VariableDeclaration","scope":9997,"src":"15296:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9975,"name":"uint256","nodeType":"ElementaryTypeName","src":"15296:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9984,"initialValue":{"arguments":[{"expression":{"id":9978,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9962,"src":"15329:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":9979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15334:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"15329:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":9980,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9964,"src":"15348:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"hexValue":"30","id":9981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15353:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":9982,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9970,"src":"15356:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9977,"name":"_lowerBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[9389,9910,10431],"referencedDeclaration":10431,"src":"15310:18:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint256,uint256) view returns (uint256)"}},"id":9983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15310:50:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15296:64:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9985,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9976,"src":"15377:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9986,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9970,"src":"15384:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15377:10:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":9990,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9962,"src":"15408:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":9991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15413:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"15408:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":9992,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9976,"src":"15427:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9989,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"15394:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":9993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15394:37:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":9994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15432:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9934,"src":"15394:44:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":9995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"15377:61:39","trueExpression":{"hexValue":"30","id":9988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15390:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":9968,"id":9996,"nodeType":"Return","src":"15370:68:39"}]},"documentation":{"id":9959,"nodeType":"StructuredDocumentation","src":"14991:154:39","text":" @dev Returns the value in the first (oldest) checkpoint with key greater or equal than the search key, or zero if\n there is none."},"id":9998,"implemented":true,"kind":"function","modifiers":[],"name":"lowerLookup","nameLocation":"15159:11:39","nodeType":"FunctionDefinition","parameters":{"id":9965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9962,"mutability":"mutable","name":"self","nameLocation":"15188:4:39","nodeType":"VariableDeclaration","scope":9998,"src":"15171:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":9961,"nodeType":"UserDefinedTypeName","pathNode":{"id":9960,"name":"Trace160","nameLocations":["15171:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9930,"src":"15171:8:39"},"referencedDeclaration":9930,"src":"15171:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":9964,"mutability":"mutable","name":"key","nameLocation":"15201:3:39","nodeType":"VariableDeclaration","scope":9998,"src":"15194:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":9963,"name":"uint96","nodeType":"ElementaryTypeName","src":"15194:6:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"15170:35:39"},"returnParameters":{"id":9968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9967,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9998,"src":"15229:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":9966,"name":"uint160","nodeType":"ElementaryTypeName","src":"15229:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"15228:9:39"},"scope":10447,"src":"15150:295:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10039,"nodeType":"Block","src":"15700:209:39","statements":[{"assignments":[10010],"declarations":[{"constant":false,"id":10010,"mutability":"mutable","name":"len","nameLocation":"15718:3:39","nodeType":"VariableDeclaration","scope":10039,"src":"15710:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10009,"name":"uint256","nodeType":"ElementaryTypeName","src":"15710:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10014,"initialValue":{"expression":{"expression":{"id":10011,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10002,"src":"15724:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15729:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"15724:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":10013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15742:6:39","memberName":"length","nodeType":"MemberAccess","src":"15724:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15710:38:39"},{"assignments":[10016],"declarations":[{"constant":false,"id":10016,"mutability":"mutable","name":"pos","nameLocation":"15766:3:39","nodeType":"VariableDeclaration","scope":10039,"src":"15758:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10015,"name":"uint256","nodeType":"ElementaryTypeName","src":"15758:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10024,"initialValue":{"arguments":[{"expression":{"id":10018,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10002,"src":"15791:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15796:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"15791:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":10020,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10004,"src":"15810:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"hexValue":"30","id":10021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15815:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":10022,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10010,"src":"15818:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10017,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[9337,9858,10379],"referencedDeclaration":10379,"src":"15772:18:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint256,uint256) view returns (uint256)"}},"id":10023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15772:50:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15758:64:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10025,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10016,"src":"15839:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15846:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15839:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":10030,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10002,"src":"15868:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15873:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"15868:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10032,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10016,"src":"15887:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15893:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15887:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10029,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"15854:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15854:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":10036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15896:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9934,"src":"15854:48:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":10037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"15839:63:39","trueExpression":{"hexValue":"30","id":10028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15850:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":10008,"id":10038,"nodeType":"Return","src":"15832:70:39"}]},"documentation":{"id":9999,"nodeType":"StructuredDocumentation","src":"15451:156:39","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n if there is none."},"id":10040,"implemented":true,"kind":"function","modifiers":[],"name":"upperLookup","nameLocation":"15621:11:39","nodeType":"FunctionDefinition","parameters":{"id":10005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10002,"mutability":"mutable","name":"self","nameLocation":"15650:4:39","nodeType":"VariableDeclaration","scope":10040,"src":"15633:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":10001,"nodeType":"UserDefinedTypeName","pathNode":{"id":10000,"name":"Trace160","nameLocations":["15633:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9930,"src":"15633:8:39"},"referencedDeclaration":9930,"src":"15633:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":10004,"mutability":"mutable","name":"key","nameLocation":"15663:3:39","nodeType":"VariableDeclaration","scope":10040,"src":"15656:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":10003,"name":"uint96","nodeType":"ElementaryTypeName","src":"15656:6:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"15632:35:39"},"returnParameters":{"id":10008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10007,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10040,"src":"15691:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":10006,"name":"uint160","nodeType":"ElementaryTypeName","src":"15691:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"15690:9:39"},"scope":10447,"src":"15612:297:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10124,"nodeType":"Block","src":"16308:512:39","statements":[{"assignments":[10052],"declarations":[{"constant":false,"id":10052,"mutability":"mutable","name":"len","nameLocation":"16326:3:39","nodeType":"VariableDeclaration","scope":10124,"src":"16318:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10051,"name":"uint256","nodeType":"ElementaryTypeName","src":"16318:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10056,"initialValue":{"expression":{"expression":{"id":10053,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10044,"src":"16332:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16337:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"16332:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":10055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16350:6:39","memberName":"length","nodeType":"MemberAccess","src":"16332:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16318:38:39"},{"assignments":[10058],"declarations":[{"constant":false,"id":10058,"mutability":"mutable","name":"low","nameLocation":"16375:3:39","nodeType":"VariableDeclaration","scope":10124,"src":"16367:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10057,"name":"uint256","nodeType":"ElementaryTypeName","src":"16367:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10060,"initialValue":{"hexValue":"30","id":10059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16381:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16367:15:39"},{"assignments":[10062],"declarations":[{"constant":false,"id":10062,"mutability":"mutable","name":"high","nameLocation":"16400:4:39","nodeType":"VariableDeclaration","scope":10124,"src":"16392:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10061,"name":"uint256","nodeType":"ElementaryTypeName","src":"16392:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10064,"initialValue":{"id":10063,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10052,"src":"16407:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16392:18:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10065,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10052,"src":"16425:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35","id":10066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16431:1:39","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"16425:7:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10099,"nodeType":"IfStatement","src":"16421:234:39","trueBody":{"id":10098,"nodeType":"Block","src":"16434:221:39","statements":[{"assignments":[10069],"declarations":[{"constant":false,"id":10069,"mutability":"mutable","name":"mid","nameLocation":"16456:3:39","nodeType":"VariableDeclaration","scope":10098,"src":"16448:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10068,"name":"uint256","nodeType":"ElementaryTypeName","src":"16448:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10076,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10070,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10052,"src":"16462:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":10073,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10052,"src":"16478:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10071,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"16468:4:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":10072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16473:4:39","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"16468:9:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":10074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16468:14:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16462:20:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16448:34:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":10084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10077,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10046,"src":"16500:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"expression":{"id":10079,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10044,"src":"16520:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10080,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16525:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"16520:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":10081,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10069,"src":"16539:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10078,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"16506:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16506:37:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":10083,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16544:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9932,"src":"16506:42:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"16500:48:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10096,"nodeType":"Block","src":"16599:46:39","statements":[{"expression":{"id":10094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10090,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10058,"src":"16617:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10091,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10069,"src":"16623:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16629:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16623:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16617:13:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10095,"nodeType":"ExpressionStatement","src":"16617:13:39"}]},"id":10097,"nodeType":"IfStatement","src":"16496:149:39","trueBody":{"id":10089,"nodeType":"Block","src":"16550:43:39","statements":[{"expression":{"id":10087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10085,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10062,"src":"16568:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10086,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10069,"src":"16575:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16568:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10088,"nodeType":"ExpressionStatement","src":"16568:10:39"}]}}]}},{"assignments":[10101],"declarations":[{"constant":false,"id":10101,"mutability":"mutable","name":"pos","nameLocation":"16673:3:39","nodeType":"VariableDeclaration","scope":10124,"src":"16665:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10100,"name":"uint256","nodeType":"ElementaryTypeName","src":"16665:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10109,"initialValue":{"arguments":[{"expression":{"id":10103,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10044,"src":"16698:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16703:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"16698:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":10105,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10046,"src":"16717:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":10106,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10058,"src":"16722:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10107,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10062,"src":"16727:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10102,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[9337,9858,10379],"referencedDeclaration":10379,"src":"16679:18:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint256,uint256) view returns (uint256)"}},"id":10108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16679:53:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16665:67:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10110,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10101,"src":"16750:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16757:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16750:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":10115,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10044,"src":"16779:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16784:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"16779:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10117,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10101,"src":"16798:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16804:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16798:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10114,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"16765:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16765:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":10121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16807:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9934,"src":"16765:48:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":10122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16750:63:39","trueExpression":{"hexValue":"30","id":10113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16761:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":10050,"id":10123,"nodeType":"Return","src":"16743:70:39"}]},"documentation":{"id":10041,"nodeType":"StructuredDocumentation","src":"15915:294:39","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero\n if there is none.\n NOTE: This is a variant of {upperLookup} that is optimised to find \"recent\" checkpoint (checkpoints with high\n keys)."},"id":10125,"implemented":true,"kind":"function","modifiers":[],"name":"upperLookupRecent","nameLocation":"16223:17:39","nodeType":"FunctionDefinition","parameters":{"id":10047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10044,"mutability":"mutable","name":"self","nameLocation":"16258:4:39","nodeType":"VariableDeclaration","scope":10125,"src":"16241:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":10043,"nodeType":"UserDefinedTypeName","pathNode":{"id":10042,"name":"Trace160","nameLocations":["16241:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9930,"src":"16241:8:39"},"referencedDeclaration":9930,"src":"16241:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":10046,"mutability":"mutable","name":"key","nameLocation":"16271:3:39","nodeType":"VariableDeclaration","scope":10125,"src":"16264:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":10045,"name":"uint96","nodeType":"ElementaryTypeName","src":"16264:6:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"16240:35:39"},"returnParameters":{"id":10050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10125,"src":"16299:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":10048,"name":"uint160","nodeType":"ElementaryTypeName","src":"16299:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"16298:9:39"},"scope":10447,"src":"16214:606:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10154,"nodeType":"Block","src":"17011:135:39","statements":[{"assignments":[10135],"declarations":[{"constant":false,"id":10135,"mutability":"mutable","name":"pos","nameLocation":"17029:3:39","nodeType":"VariableDeclaration","scope":10154,"src":"17021:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10134,"name":"uint256","nodeType":"ElementaryTypeName","src":"17021:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10139,"initialValue":{"expression":{"expression":{"id":10136,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10129,"src":"17035:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17040:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"17035:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":10138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17053:6:39","memberName":"length","nodeType":"MemberAccess","src":"17035:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17021:38:39"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10140,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10135,"src":"17076:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17083:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17076:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":10145,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10129,"src":"17105:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17110:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"17105:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10147,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10135,"src":"17124:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17130:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17124:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10144,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"17091:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17091:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":10151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17133:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9934,"src":"17091:48:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":10152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"17076:63:39","trueExpression":{"hexValue":"30","id":10143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17087:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":10133,"id":10153,"nodeType":"Return","src":"17069:70:39"}]},"documentation":{"id":10126,"nodeType":"StructuredDocumentation","src":"16826:109:39","text":" @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints."},"id":10155,"implemented":true,"kind":"function","modifiers":[],"name":"latest","nameLocation":"16949:6:39","nodeType":"FunctionDefinition","parameters":{"id":10130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10129,"mutability":"mutable","name":"self","nameLocation":"16973:4:39","nodeType":"VariableDeclaration","scope":10155,"src":"16956:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":10128,"nodeType":"UserDefinedTypeName","pathNode":{"id":10127,"name":"Trace160","nameLocations":["16956:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9930,"src":"16956:8:39"},"referencedDeclaration":9930,"src":"16956:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"}],"src":"16955:23:39"},"returnParameters":{"id":10133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10155,"src":"17002:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":10131,"name":"uint160","nodeType":"ElementaryTypeName","src":"17002:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"17001:9:39"},"scope":10447,"src":"16940:206:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10203,"nodeType":"Block","src":"17439:274:39","statements":[{"assignments":[10169],"declarations":[{"constant":false,"id":10169,"mutability":"mutable","name":"pos","nameLocation":"17457:3:39","nodeType":"VariableDeclaration","scope":10203,"src":"17449:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10168,"name":"uint256","nodeType":"ElementaryTypeName","src":"17449:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10173,"initialValue":{"expression":{"expression":{"id":10170,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10159,"src":"17463:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10171,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17468:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"17463:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":10172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17481:6:39","memberName":"length","nodeType":"MemberAccess","src":"17463:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17449:38:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10174,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10169,"src":"17501:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17508:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17501:8:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10201,"nodeType":"Block","src":"17562:145:39","statements":[{"assignments":[10185],"declarations":[{"constant":false,"id":10185,"mutability":"mutable","name":"ckpt","nameLocation":"17597:4:39","nodeType":"VariableDeclaration","scope":10201,"src":"17576:25:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":10184,"nodeType":"UserDefinedTypeName","pathNode":{"id":10183,"name":"Checkpoint160","nameLocations":["17576:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9935,"src":"17576:13:39"},"referencedDeclaration":9935,"src":"17576:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"id":10193,"initialValue":{"arguments":[{"expression":{"id":10187,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10159,"src":"17618:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17623:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"17618:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10189,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10169,"src":"17637:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17643:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17637:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10186,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"17604:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17604:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17576:69:39"},{"expression":{"components":[{"hexValue":"74727565","id":10194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17667:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"id":10195,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10185,"src":"17673:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":10196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17678:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9932,"src":"17673:9:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"expression":{"id":10197,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10185,"src":"17684:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":10198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17689:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9934,"src":"17684:11:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":10199,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17666:30:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint96_$_t_uint160_$","typeString":"tuple(bool,uint96,uint160)"}},"functionReturnParameters":10167,"id":10200,"nodeType":"Return","src":"17659:37:39"}]},"id":10202,"nodeType":"IfStatement","src":"17497:210:39","trueBody":{"id":10182,"nodeType":"Block","src":"17511:45:39","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":10177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17533:5:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":10178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17540:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":10179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17543:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":10180,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"17532:13:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0,int_const 0)"}},"functionReturnParameters":10167,"id":10181,"nodeType":"Return","src":"17525:20:39"}]}}]},"documentation":{"id":10156,"nodeType":"StructuredDocumentation","src":"17152:168:39","text":" @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n in the most recent checkpoint."},"id":10204,"implemented":true,"kind":"function","modifiers":[],"name":"latestCheckpoint","nameLocation":"17334:16:39","nodeType":"FunctionDefinition","parameters":{"id":10160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10159,"mutability":"mutable","name":"self","nameLocation":"17368:4:39","nodeType":"VariableDeclaration","scope":10204,"src":"17351:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":10158,"nodeType":"UserDefinedTypeName","pathNode":{"id":10157,"name":"Trace160","nameLocations":["17351:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9930,"src":"17351:8:39"},"referencedDeclaration":9930,"src":"17351:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"}],"src":"17350:23:39"},"returnParameters":{"id":10167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10162,"mutability":"mutable","name":"exists","nameLocation":"17402:6:39","nodeType":"VariableDeclaration","scope":10204,"src":"17397:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10161,"name":"bool","nodeType":"ElementaryTypeName","src":"17397:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10164,"mutability":"mutable","name":"_key","nameLocation":"17417:4:39","nodeType":"VariableDeclaration","scope":10204,"src":"17410:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":10163,"name":"uint96","nodeType":"ElementaryTypeName","src":"17410:6:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":10166,"mutability":"mutable","name":"_value","nameLocation":"17431:6:39","nodeType":"VariableDeclaration","scope":10204,"src":"17423:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":10165,"name":"uint160","nodeType":"ElementaryTypeName","src":"17423:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"17396:42:39"},"scope":10447,"src":"17325:388:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10217,"nodeType":"Block","src":"17852:48:39","statements":[{"expression":{"expression":{"expression":{"id":10213,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10208,"src":"17869:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17874:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"17869:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":10215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17887:6:39","memberName":"length","nodeType":"MemberAccess","src":"17869:24:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10212,"id":10216,"nodeType":"Return","src":"17862:31:39"}]},"documentation":{"id":10205,"nodeType":"StructuredDocumentation","src":"17719:57:39","text":" @dev Returns the number of checkpoint."},"id":10218,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"17790:6:39","nodeType":"FunctionDefinition","parameters":{"id":10209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10208,"mutability":"mutable","name":"self","nameLocation":"17814:4:39","nodeType":"VariableDeclaration","scope":10218,"src":"17797:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":10207,"nodeType":"UserDefinedTypeName","pathNode":{"id":10206,"name":"Trace160","nameLocations":["17797:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9930,"src":"17797:8:39"},"referencedDeclaration":9930,"src":"17797:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"}],"src":"17796:23:39"},"returnParameters":{"id":10212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10211,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10218,"src":"17843:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10210,"name":"uint256","nodeType":"ElementaryTypeName","src":"17843:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17842:9:39"},"scope":10447,"src":"17781:119:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10235,"nodeType":"Block","src":"18064:46:39","statements":[{"expression":{"baseExpression":{"expression":{"id":10230,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10222,"src":"18081:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":10231,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18086:12:39","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9929,"src":"18081:17:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":10233,"indexExpression":{"id":10232,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10224,"src":"18099:3:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18081:22:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref"}},"functionReturnParameters":10229,"id":10234,"nodeType":"Return","src":"18074:29:39"}]},"documentation":{"id":10219,"nodeType":"StructuredDocumentation","src":"17906:61:39","text":" @dev Returns checkpoint at given position."},"id":10236,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"17981:2:39","nodeType":"FunctionDefinition","parameters":{"id":10225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10222,"mutability":"mutable","name":"self","nameLocation":"18001:4:39","nodeType":"VariableDeclaration","scope":10236,"src":"17984:21:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":10221,"nodeType":"UserDefinedTypeName","pathNode":{"id":10220,"name":"Trace160","nameLocations":["17984:8:39"],"nodeType":"IdentifierPath","referencedDeclaration":9930,"src":"17984:8:39"},"referencedDeclaration":9930,"src":"17984:8:39","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$9930_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":10224,"mutability":"mutable","name":"pos","nameLocation":"18014:3:39","nodeType":"VariableDeclaration","scope":10236,"src":"18007:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":10223,"name":"uint32","nodeType":"ElementaryTypeName","src":"18007:6:39","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"17983:35:39"},"returnParameters":{"id":10229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10236,"src":"18042:20:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":10227,"nodeType":"UserDefinedTypeName","pathNode":{"id":10226,"name":"Checkpoint160","nameLocations":["18042:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9935,"src":"18042:13:39"},"referencedDeclaration":9935,"src":"18042:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"src":"18041:22:39"},"scope":10447,"src":"17972:138:39","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10326,"nodeType":"Block","src":"18395:761:39","statements":[{"assignments":[10253],"declarations":[{"constant":false,"id":10253,"mutability":"mutable","name":"pos","nameLocation":"18413:3:39","nodeType":"VariableDeclaration","scope":10326,"src":"18405:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10252,"name":"uint256","nodeType":"ElementaryTypeName","src":"18405:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10256,"initialValue":{"expression":{"id":10254,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10241,"src":"18419:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},"id":10255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18424:6:39","memberName":"length","nodeType":"MemberAccess","src":"18419:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18405:25:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10257,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10253,"src":"18445:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":10258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18451:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18445:7:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10324,"nodeType":"Block","src":"19042:108:39","statements":[{"expression":{"arguments":[{"arguments":[{"id":10315,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10243,"src":"19087:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":10316,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10245,"src":"19100:5:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":10314,"name":"Checkpoint160","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9935,"src":"19066:13:39","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["19081:4:39","19092:6:39"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"19066:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}],"expression":{"id":10311,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10241,"src":"19056:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},"id":10313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19061:4:39","memberName":"push","nodeType":"MemberAccess","src":"19056:9:39","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint160_$9935_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,struct Checkpoints.Checkpoint160 storage ref)"}},"id":10318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19056:52:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10319,"nodeType":"ExpressionStatement","src":"19056:52:39"},{"expression":{"components":[{"hexValue":"30","id":10320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19130:1:39","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":10321,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10245,"src":"19133:5:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":10322,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19129:10:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_uint160_$","typeString":"tuple(int_const 0,uint160)"}},"functionReturnParameters":10251,"id":10323,"nodeType":"Return","src":"19122:17:39"}]},"id":10325,"nodeType":"IfStatement","src":"18441:709:39","trueBody":{"id":10310,"nodeType":"Block","src":"18454:582:39","statements":[{"assignments":[10262],"declarations":[{"constant":false,"id":10262,"mutability":"mutable","name":"last","nameLocation":"18541:4:39","nodeType":"VariableDeclaration","scope":10310,"src":"18520:25:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":10261,"nodeType":"UserDefinedTypeName","pathNode":{"id":10260,"name":"Checkpoint160","nameLocations":["18520:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9935,"src":"18520:13:39"},"referencedDeclaration":9935,"src":"18520:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"id":10269,"initialValue":{"arguments":[{"id":10264,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10241,"src":"18562:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10265,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10253,"src":"18568:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18574:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18568:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10263,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"18548:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18548:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18520:56:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":10273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10270,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10262,"src":"18650:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":10271,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18655:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9932,"src":"18650:9:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":10272,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10243,"src":"18662:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"18650:15:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10278,"nodeType":"IfStatement","src":"18646:91:39","trueBody":{"id":10277,"nodeType":"Block","src":"18667:70:39","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10274,"name":"CheckpointUnorderedInsertion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8883,"src":"18692:28:39","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18692:30:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10276,"nodeType":"RevertStatement","src":"18685:37:39"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":10282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10279,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10262,"src":"18800:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":10280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18805:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9932,"src":"18800:9:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":10281,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10243,"src":"18813:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"18800:16:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10303,"nodeType":"Block","src":"18900:85:39","statements":[{"expression":{"arguments":[{"arguments":[{"id":10298,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10243,"src":"18949:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":10299,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10245,"src":"18962:5:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":10297,"name":"Checkpoint160","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9935,"src":"18928:13:39","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["18943:4:39","18954:6:39"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"18928:41:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}],"expression":{"id":10294,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10241,"src":"18918:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},"id":10296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18923:4:39","memberName":"push","nodeType":"MemberAccess","src":"18918:9:39","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint160_$9935_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,struct Checkpoints.Checkpoint160 storage ref)"}},"id":10301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18918:52:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10302,"nodeType":"ExpressionStatement","src":"18918:52:39"}]},"id":10304,"nodeType":"IfStatement","src":"18796:189:39","trueBody":{"id":10293,"nodeType":"Block","src":"18818:76:39","statements":[{"expression":{"id":10291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":10284,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10241,"src":"18850:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10285,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10253,"src":"18856:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18862:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18856:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10283,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"18836:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18836:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":10289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18865:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9934,"src":"18836:35:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10290,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10245,"src":"18874:5:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"18836:43:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":10292,"nodeType":"ExpressionStatement","src":"18836:43:39"}]}},{"expression":{"components":[{"expression":{"id":10305,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10262,"src":"19006:4:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":10306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19011:6:39","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9934,"src":"19006:11:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":10307,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10245,"src":"19019:5:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":10308,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19005:20:39","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"functionReturnParameters":10251,"id":10309,"nodeType":"Return","src":"18998:27:39"}]}}]},"documentation":{"id":10237,"nodeType":"StructuredDocumentation","src":"18116:165:39","text":" @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n or by updating the last one."},"id":10327,"implemented":true,"kind":"function","modifiers":[],"name":"_insert","nameLocation":"18295:7:39","nodeType":"FunctionDefinition","parameters":{"id":10246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10241,"mutability":"mutable","name":"self","nameLocation":"18327:4:39","nodeType":"VariableDeclaration","scope":10327,"src":"18303:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":10239,"nodeType":"UserDefinedTypeName","pathNode":{"id":10238,"name":"Checkpoint160","nameLocations":["18303:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9935,"src":"18303:13:39"},"referencedDeclaration":9935,"src":"18303:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":10240,"nodeType":"ArrayTypeName","src":"18303:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":10243,"mutability":"mutable","name":"key","nameLocation":"18340:3:39","nodeType":"VariableDeclaration","scope":10327,"src":"18333:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":10242,"name":"uint96","nodeType":"ElementaryTypeName","src":"18333:6:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":10245,"mutability":"mutable","name":"value","nameLocation":"18353:5:39","nodeType":"VariableDeclaration","scope":10327,"src":"18345:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":10244,"name":"uint160","nodeType":"ElementaryTypeName","src":"18345:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"18302:57:39"},"returnParameters":{"id":10251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10327,"src":"18377:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":10247,"name":"uint160","nodeType":"ElementaryTypeName","src":"18377:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":10250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10327,"src":"18386:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":10249,"name":"uint160","nodeType":"ElementaryTypeName","src":"18386:7:39","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"18376:18:39"},"scope":10447,"src":"18286:870:39","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":10378,"nodeType":"Block","src":"19675:267:39","statements":[{"body":{"id":10374,"nodeType":"Block","src":"19704:211:39","statements":[{"assignments":[10347],"declarations":[{"constant":false,"id":10347,"mutability":"mutable","name":"mid","nameLocation":"19726:3:39","nodeType":"VariableDeclaration","scope":10374,"src":"19718:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10346,"name":"uint256","nodeType":"ElementaryTypeName","src":"19718:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10353,"initialValue":{"arguments":[{"id":10350,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10336,"src":"19745:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10351,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10338,"src":"19750:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10348,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"19732:4:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":10349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19737:7:39","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":6189,"src":"19732:12:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":10352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19732:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19718:37:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":10360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":10355,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10332,"src":"19787:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"id":10356,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10347,"src":"19793:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10354,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"19773:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19773:24:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":10358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19798:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9932,"src":"19773:29:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":10359,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10334,"src":"19805:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"19773:35:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10372,"nodeType":"Block","src":"19859:46:39","statements":[{"expression":{"id":10370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10366,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10336,"src":"19877:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10367,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10347,"src":"19883:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19889:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19883:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19877:13:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10371,"nodeType":"ExpressionStatement","src":"19877:13:39"}]},"id":10373,"nodeType":"IfStatement","src":"19769:136:39","trueBody":{"id":10365,"nodeType":"Block","src":"19810:43:39","statements":[{"expression":{"id":10363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10361,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10338,"src":"19828:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10362,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10347,"src":"19835:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19828:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10364,"nodeType":"ExpressionStatement","src":"19828:10:39"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10343,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10336,"src":"19692:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10344,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10338,"src":"19698:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19692:10:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10375,"nodeType":"WhileStatement","src":"19685:230:39"},{"expression":{"id":10376,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10338,"src":"19931:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10342,"id":10377,"nodeType":"Return","src":"19924:11:39"}]},"documentation":{"id":10328,"nodeType":"StructuredDocumentation","src":"19162:342:39","text":" @dev Return the index of the last (most recent) checkpoint with key lower or equal than the search key, or `high`\n if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and exclusive\n `high`.\n WARNING: `high` should not be greater than the array's length."},"id":10379,"implemented":true,"kind":"function","modifiers":[],"name":"_upperBinaryLookup","nameLocation":"19518:18:39","nodeType":"FunctionDefinition","parameters":{"id":10339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10332,"mutability":"mutable","name":"self","nameLocation":"19570:4:39","nodeType":"VariableDeclaration","scope":10379,"src":"19546:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":10330,"nodeType":"UserDefinedTypeName","pathNode":{"id":10329,"name":"Checkpoint160","nameLocations":["19546:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9935,"src":"19546:13:39"},"referencedDeclaration":9935,"src":"19546:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":10331,"nodeType":"ArrayTypeName","src":"19546:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":10334,"mutability":"mutable","name":"key","nameLocation":"19591:3:39","nodeType":"VariableDeclaration","scope":10379,"src":"19584:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":10333,"name":"uint96","nodeType":"ElementaryTypeName","src":"19584:6:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":10336,"mutability":"mutable","name":"low","nameLocation":"19612:3:39","nodeType":"VariableDeclaration","scope":10379,"src":"19604:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10335,"name":"uint256","nodeType":"ElementaryTypeName","src":"19604:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10338,"mutability":"mutable","name":"high","nameLocation":"19633:4:39","nodeType":"VariableDeclaration","scope":10379,"src":"19625:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10337,"name":"uint256","nodeType":"ElementaryTypeName","src":"19625:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19536:107:39"},"returnParameters":{"id":10342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10341,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10379,"src":"19666:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10340,"name":"uint256","nodeType":"ElementaryTypeName","src":"19666:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19665:9:39"},"scope":10447,"src":"19509:433:39","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":10430,"nodeType":"Block","src":"20462:267:39","statements":[{"body":{"id":10426,"nodeType":"Block","src":"20491:211:39","statements":[{"assignments":[10399],"declarations":[{"constant":false,"id":10399,"mutability":"mutable","name":"mid","nameLocation":"20513:3:39","nodeType":"VariableDeclaration","scope":10426,"src":"20505:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10398,"name":"uint256","nodeType":"ElementaryTypeName","src":"20505:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10405,"initialValue":{"arguments":[{"id":10402,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10388,"src":"20532:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10403,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10390,"src":"20537:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10400,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"20519:4:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":10401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20524:7:39","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":6189,"src":"20519:12:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":10404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20519:23:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20505:37:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":10412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":10407,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10384,"src":"20574:4:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"id":10408,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10399,"src":"20580:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10406,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[9404,9925,10446],"referencedDeclaration":10446,"src":"20560:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$9935_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":10409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20560:24:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":10410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20585:4:39","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9932,"src":"20560:29:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10411,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10386,"src":"20592:3:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"20560:35:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10424,"nodeType":"Block","src":"20649:43:39","statements":[{"expression":{"id":10422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10420,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10390,"src":"20667:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10421,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10399,"src":"20674:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20667:10:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10423,"nodeType":"ExpressionStatement","src":"20667:10:39"}]},"id":10425,"nodeType":"IfStatement","src":"20556:136:39","trueBody":{"id":10419,"nodeType":"Block","src":"20597:46:39","statements":[{"expression":{"id":10417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10413,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10388,"src":"20615:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10414,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10399,"src":"20621:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20627:1:39","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"20621:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20615:13:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10418,"nodeType":"ExpressionStatement","src":"20615:13:39"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10395,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10388,"src":"20479:3:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10396,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10390,"src":"20485:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20479:10:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10427,"nodeType":"WhileStatement","src":"20472:230:39"},{"expression":{"id":10428,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10390,"src":"20718:4:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10394,"id":10429,"nodeType":"Return","src":"20711:11:39"}]},"documentation":{"id":10380,"nodeType":"StructuredDocumentation","src":"19948:343:39","text":" @dev Return the index of the first (oldest) checkpoint with key is greater or equal than the search key, or\n `high` if there is none. `low` and `high` define a section where to do the search, with inclusive `low` and\n exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"id":10431,"implemented":true,"kind":"function","modifiers":[],"name":"_lowerBinaryLookup","nameLocation":"20305:18:39","nodeType":"FunctionDefinition","parameters":{"id":10391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10384,"mutability":"mutable","name":"self","nameLocation":"20357:4:39","nodeType":"VariableDeclaration","scope":10431,"src":"20333:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":10382,"nodeType":"UserDefinedTypeName","pathNode":{"id":10381,"name":"Checkpoint160","nameLocations":["20333:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9935,"src":"20333:13:39"},"referencedDeclaration":9935,"src":"20333:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":10383,"nodeType":"ArrayTypeName","src":"20333:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":10386,"mutability":"mutable","name":"key","nameLocation":"20378:3:39","nodeType":"VariableDeclaration","scope":10431,"src":"20371:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":10385,"name":"uint96","nodeType":"ElementaryTypeName","src":"20371:6:39","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":10388,"mutability":"mutable","name":"low","nameLocation":"20399:3:39","nodeType":"VariableDeclaration","scope":10431,"src":"20391:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10387,"name":"uint256","nodeType":"ElementaryTypeName","src":"20391:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10390,"mutability":"mutable","name":"high","nameLocation":"20420:4:39","nodeType":"VariableDeclaration","scope":10431,"src":"20412:12:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10389,"name":"uint256","nodeType":"ElementaryTypeName","src":"20412:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20323:107:39"},"returnParameters":{"id":10394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10393,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10431,"src":"20453:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10392,"name":"uint256","nodeType":"ElementaryTypeName","src":"20453:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20452:9:39"},"scope":10447,"src":"20296:433:39","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":10445,"nodeType":"Block","src":"21012:125:39","statements":[{"AST":{"nodeType":"YulBlock","src":"21031:100:39","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21052:1:39","type":"","value":"0"},{"name":"self.slot","nodeType":"YulIdentifier","src":"21055:9:39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21045:6:39"},"nodeType":"YulFunctionCall","src":"21045:20:39"},"nodeType":"YulExpressionStatement","src":"21045:20:39"},{"nodeType":"YulAssignment","src":"21078:43:39","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21107:1:39","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21110:4:39","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"21097:9:39"},"nodeType":"YulFunctionCall","src":"21097:18:39"},{"name":"pos","nodeType":"YulIdentifier","src":"21117:3:39"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21093:3:39"},"nodeType":"YulFunctionCall","src":"21093:28:39"},"variableNames":[{"name":"result.slot","nodeType":"YulIdentifier","src":"21078:11:39"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":10438,"isOffset":false,"isSlot":false,"src":"21117:3:39","valueSize":1},{"declaration":10442,"isOffset":false,"isSlot":true,"src":"21078:11:39","suffix":"slot","valueSize":1},{"declaration":10436,"isOffset":false,"isSlot":true,"src":"21055:9:39","suffix":"slot","valueSize":1}],"id":10444,"nodeType":"InlineAssembly","src":"21022:109:39"}]},"documentation":{"id":10432,"nodeType":"StructuredDocumentation","src":"20735:132:39","text":" @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds."},"id":10446,"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"20881:13:39","nodeType":"FunctionDefinition","parameters":{"id":10439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10436,"mutability":"mutable","name":"self","nameLocation":"20928:4:39","nodeType":"VariableDeclaration","scope":10446,"src":"20904:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":10434,"nodeType":"UserDefinedTypeName","pathNode":{"id":10433,"name":"Checkpoint160","nameLocations":["20904:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9935,"src":"20904:13:39"},"referencedDeclaration":9935,"src":"20904:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":10435,"nodeType":"ArrayTypeName","src":"20904:15:39","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$9935_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":10438,"mutability":"mutable","name":"pos","nameLocation":"20950:3:39","nodeType":"VariableDeclaration","scope":10446,"src":"20942:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10437,"name":"uint256","nodeType":"ElementaryTypeName","src":"20942:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20894:65:39"},"returnParameters":{"id":10443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10442,"mutability":"mutable","name":"result","nameLocation":"21004:6:39","nodeType":"VariableDeclaration","scope":10446,"src":"20982:28:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":10441,"nodeType":"UserDefinedTypeName","pathNode":{"id":10440,"name":"Checkpoint160","nameLocations":["20982:13:39"],"nodeType":"IdentifierPath","referencedDeclaration":9935,"src":"20982:13:39"},"referencedDeclaration":9935,"src":"20982:13:39","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$9935_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"src":"20981:30:39"},"scope":10447,"src":"20872:265:39","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":10448,"src":"668:20471:39","usedErrors":[8883],"usedEvents":[]}],"src":"201:20939:39"},"id":39},"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","exportedSymbols":{"DoubleEndedQueue":[10781]},"id":10782,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10449,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"117:24:40"},{"abstract":false,"baseContracts":[],"canonicalName":"DoubleEndedQueue","contractDependencies":[],"contractKind":"library","documentation":{"id":10450,"nodeType":"StructuredDocumentation","src":"143:638:40","text":" @dev A sequence of items with the ability to efficiently push and pop items (i.e. insert and remove) on both ends of\n the sequence (called front and back). Among other access patterns, it can be used to implement efficient LIFO and\n FIFO queues. Storage use is optimized, and all operations are O(1) constant time. This includes {clear}, given that\n the existing queue contents are left in storage.\n The struct is called `Bytes32Deque`. Other types can be cast to and from `bytes32`. This data structure can only be\n used in storage, and not in memory.\n ```solidity\n DoubleEndedQueue.Bytes32Deque queue;\n ```"},"fullyImplemented":true,"id":10781,"linearizedBaseContracts":[10781],"name":"DoubleEndedQueue","nameLocation":"790:16:40","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":10451,"nodeType":"StructuredDocumentation","src":"813:103:40","text":" @dev An operation (e.g. {front}) couldn't be completed due to the queue being empty."},"errorSelector":"75e52f4f","id":10453,"name":"QueueEmpty","nameLocation":"927:10:40","nodeType":"ErrorDefinition","parameters":{"id":10452,"nodeType":"ParameterList","parameters":[],"src":"937:2:40"},"src":"921:19:40"},{"documentation":{"id":10454,"nodeType":"StructuredDocumentation","src":"946:91:40","text":" @dev A push operation couldn't be completed due to the queue being full."},"errorSelector":"8acb5f27","id":10456,"name":"QueueFull","nameLocation":"1048:9:40","nodeType":"ErrorDefinition","parameters":{"id":10455,"nodeType":"ParameterList","parameters":[],"src":"1057:2:40"},"src":"1042:18:40"},{"documentation":{"id":10457,"nodeType":"StructuredDocumentation","src":"1066:107:40","text":" @dev An operation (e.g. {at}) couldn't be completed due to an index being out of bounds."},"errorSelector":"580821e7","id":10459,"name":"QueueOutOfBounds","nameLocation":"1184:16:40","nodeType":"ErrorDefinition","parameters":{"id":10458,"nodeType":"ParameterList","parameters":[],"src":"1200:2:40"},"src":"1178:25:40"},{"canonicalName":"DoubleEndedQueue.Bytes32Deque","documentation":{"id":10460,"nodeType":"StructuredDocumentation","src":"1209:513:40","text":" @dev Indices are 128 bits so begin and end are packed in a single storage slot for efficient access.\n Struct members have an underscore prefix indicating that they are \"private\" and should not be read or written to\n directly. Use the functions provided below instead. Modifying the struct manually may violate assumptions and\n lead to unexpected behavior.\n The first item is at data[begin] and the last item is at data[end - 1]. This range can wrap around."},"id":10469,"members":[{"constant":false,"id":10462,"mutability":"mutable","name":"_begin","nameLocation":"1765:6:40","nodeType":"VariableDeclaration","scope":10469,"src":"1757:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":10461,"name":"uint128","nodeType":"ElementaryTypeName","src":"1757:7:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":10464,"mutability":"mutable","name":"_end","nameLocation":"1789:4:40","nodeType":"VariableDeclaration","scope":10469,"src":"1781:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":10463,"name":"uint128","nodeType":"ElementaryTypeName","src":"1781:7:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":10468,"mutability":"mutable","name":"_data","nameLocation":"1837:5:40","nodeType":"VariableDeclaration","scope":10469,"src":"1803:39:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"},"typeName":{"id":10467,"keyName":"index","keyNameLocation":"1819:5:40","keyType":{"id":10465,"name":"uint128","nodeType":"ElementaryTypeName","src":"1811:7:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Mapping","src":"1803:33:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":10466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1828:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"internal"}],"name":"Bytes32Deque","nameLocation":"1734:12:40","nodeType":"StructDefinition","scope":10781,"src":"1727:122:40","visibility":"public"},{"body":{"id":10510,"nodeType":"Block","src":"2055:232:40","statements":[{"id":10509,"nodeType":"UncheckedBlock","src":"2065:216:40","statements":[{"assignments":[10479],"declarations":[{"constant":false,"id":10479,"mutability":"mutable","name":"backIndex","nameLocation":"2097:9:40","nodeType":"VariableDeclaration","scope":10509,"src":"2089:17:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":10478,"name":"uint128","nodeType":"ElementaryTypeName","src":"2089:7:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":10482,"initialValue":{"expression":{"id":10480,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10473,"src":"2109:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2115:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"2109:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"2089:30:40"},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10483,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10479,"src":"2137:9:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2149:1:40","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2137:13:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":10486,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10473,"src":"2154:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2160:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"2154:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"2137:29:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10492,"nodeType":"IfStatement","src":"2133:53:40","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10489,"name":"QueueFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10456,"src":"2175:9:40","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:11:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10491,"nodeType":"RevertStatement","src":"2168:18:40"}},{"expression":{"id":10499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":10493,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10473,"src":"2200:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2206:5:40","memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":10468,"src":"2200:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"}},"id":10497,"indexExpression":{"id":10495,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10479,"src":"2212:9:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2200:22:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10498,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10475,"src":"2225:5:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2200:30:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10500,"nodeType":"ExpressionStatement","src":"2200:30:40"},{"expression":{"id":10507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10501,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10473,"src":"2244:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2250:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"2244:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10504,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10479,"src":"2257:9:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2269:1:40","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2257:13:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"2244:26:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":10508,"nodeType":"ExpressionStatement","src":"2244:26:40"}]}]},"documentation":{"id":10470,"nodeType":"StructuredDocumentation","src":"1855:125:40","text":" @dev Inserts an item at the end of the queue.\n Reverts with {QueueFull} if the queue is full."},"id":10511,"implemented":true,"kind":"function","modifiers":[],"name":"pushBack","nameLocation":"1994:8:40","nodeType":"FunctionDefinition","parameters":{"id":10476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10473,"mutability":"mutable","name":"deque","nameLocation":"2024:5:40","nodeType":"VariableDeclaration","scope":10511,"src":"2003:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10472,"nodeType":"UserDefinedTypeName","pathNode":{"id":10471,"name":"Bytes32Deque","nameLocations":["2003:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"2003:12:40"},"referencedDeclaration":10469,"src":"2003:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"},{"constant":false,"id":10475,"mutability":"mutable","name":"value","nameLocation":"2039:5:40","nodeType":"VariableDeclaration","scope":10511,"src":"2031:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2031:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2002:43:40"},"returnParameters":{"id":10477,"nodeType":"ParameterList","parameters":[],"src":"2055:0:40"},"scope":10781,"src":"1985:302:40","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":10556,"nodeType":"Block","src":"2519:293:40","statements":[{"id":10555,"nodeType":"UncheckedBlock","src":"2529:277:40","statements":[{"assignments":[10521],"declarations":[{"constant":false,"id":10521,"mutability":"mutable","name":"backIndex","nameLocation":"2561:9:40","nodeType":"VariableDeclaration","scope":10555,"src":"2553:17:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":10520,"name":"uint128","nodeType":"ElementaryTypeName","src":"2553:7:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":10524,"initialValue":{"expression":{"id":10522,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"2573:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2579:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"2573:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"2553:30:40"},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10525,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10521,"src":"2601:9:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":10526,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"2614:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2620:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"2614:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"2601:25:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10532,"nodeType":"IfStatement","src":"2597:50:40","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10529,"name":"QueueEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10453,"src":"2635:10:40","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2635:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10531,"nodeType":"RevertStatement","src":"2628:19:40"}},{"expression":{"id":10534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"2661:11:40","subExpression":{"id":10533,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10521,"src":"2663:9:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":10535,"nodeType":"ExpressionStatement","src":"2661:11:40"},{"expression":{"id":10541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10536,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10518,"src":"2686:5:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":10537,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"2694:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2700:5:40","memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":10468,"src":"2694:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"}},"id":10540,"indexExpression":{"id":10539,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10521,"src":"2706:9:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2694:22:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2686:30:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10542,"nodeType":"ExpressionStatement","src":"2686:30:40"},{"expression":{"id":10547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2730:29:40","subExpression":{"baseExpression":{"expression":{"id":10543,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"2737:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2743:5:40","memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":10468,"src":"2737:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"}},"id":10546,"indexExpression":{"id":10545,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10521,"src":"2749:9:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2737:22:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10548,"nodeType":"ExpressionStatement","src":"2730:29:40"},{"expression":{"id":10553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10549,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"2773:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2779:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"2773:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10552,"name":"backIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10521,"src":"2786:9:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"2773:22:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":10554,"nodeType":"ExpressionStatement","src":"2773:22:40"}]}]},"documentation":{"id":10512,"nodeType":"StructuredDocumentation","src":"2293:143:40","text":" @dev Removes the item at the end of the queue and returns it.\n Reverts with {QueueEmpty} if the queue is empty."},"id":10557,"implemented":true,"kind":"function","modifiers":[],"name":"popBack","nameLocation":"2450:7:40","nodeType":"FunctionDefinition","parameters":{"id":10516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10515,"mutability":"mutable","name":"deque","nameLocation":"2479:5:40","nodeType":"VariableDeclaration","scope":10557,"src":"2458:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10514,"nodeType":"UserDefinedTypeName","pathNode":{"id":10513,"name":"Bytes32Deque","nameLocations":["2458:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"2458:12:40"},"referencedDeclaration":10469,"src":"2458:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"2457:28:40"},"returnParameters":{"id":10519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10518,"mutability":"mutable","name":"value","nameLocation":"2512:5:40","nodeType":"VariableDeclaration","scope":10557,"src":"2504:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2504:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2503:15:40"},"scope":10781,"src":"2441:371:40","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":10596,"nodeType":"Block","src":"3025:234:40","statements":[{"id":10595,"nodeType":"UncheckedBlock","src":"3035:218:40","statements":[{"assignments":[10567],"declarations":[{"constant":false,"id":10567,"mutability":"mutable","name":"frontIndex","nameLocation":"3067:10:40","nodeType":"VariableDeclaration","scope":10595,"src":"3059:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":10566,"name":"uint128","nodeType":"ElementaryTypeName","src":"3059:7:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":10572,"initialValue":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10568,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10561,"src":"3080:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3086:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"3080:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3095:1:40","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3080:16:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"3059:37:40"},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10573,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10567,"src":"3114:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":10574,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10561,"src":"3128:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3134:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"3128:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"3114:24:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10580,"nodeType":"IfStatement","src":"3110:48:40","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10577,"name":"QueueFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10456,"src":"3147:9:40","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3147:11:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10579,"nodeType":"RevertStatement","src":"3140:18:40"}},{"expression":{"id":10587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":10581,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10561,"src":"3172:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3178:5:40","memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":10468,"src":"3172:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"}},"id":10585,"indexExpression":{"id":10583,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10567,"src":"3184:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3172:23:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10586,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10563,"src":"3198:5:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3172:31:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10588,"nodeType":"ExpressionStatement","src":"3172:31:40"},{"expression":{"id":10593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10589,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10561,"src":"3217:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10591,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3223:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"3217:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10592,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10567,"src":"3232:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"3217:25:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":10594,"nodeType":"ExpressionStatement","src":"3217:25:40"}]}]},"documentation":{"id":10558,"nodeType":"StructuredDocumentation","src":"2818:131:40","text":" @dev Inserts an item at the beginning of the queue.\n Reverts with {QueueFull} if the queue is full."},"id":10597,"implemented":true,"kind":"function","modifiers":[],"name":"pushFront","nameLocation":"2963:9:40","nodeType":"FunctionDefinition","parameters":{"id":10564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10561,"mutability":"mutable","name":"deque","nameLocation":"2994:5:40","nodeType":"VariableDeclaration","scope":10597,"src":"2973:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10560,"nodeType":"UserDefinedTypeName","pathNode":{"id":10559,"name":"Bytes32Deque","nameLocations":["2973:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"2973:12:40"},"referencedDeclaration":10469,"src":"2973:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"},{"constant":false,"id":10563,"mutability":"mutable","name":"value","nameLocation":"3009:5:40","nodeType":"VariableDeclaration","scope":10597,"src":"3001:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3001:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2972:43:40"},"returnParameters":{"id":10565,"nodeType":"ParameterList","parameters":[],"src":"3025:0:40"},"scope":10781,"src":"2954:305:40","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":10641,"nodeType":"Block","src":"3498:279:40","statements":[{"id":10640,"nodeType":"UncheckedBlock","src":"3508:263:40","statements":[{"assignments":[10607],"declarations":[{"constant":false,"id":10607,"mutability":"mutable","name":"frontIndex","nameLocation":"3540:10:40","nodeType":"VariableDeclaration","scope":10640,"src":"3532:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":10606,"name":"uint128","nodeType":"ElementaryTypeName","src":"3532:7:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":10610,"initialValue":{"expression":{"id":10608,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10601,"src":"3553:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3559:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"3553:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"3532:33:40"},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10611,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10607,"src":"3583:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":10612,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10601,"src":"3597:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3603:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"3597:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"3583:24:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10618,"nodeType":"IfStatement","src":"3579:49:40","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10615,"name":"QueueEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10453,"src":"3616:10:40","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3616:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10617,"nodeType":"RevertStatement","src":"3609:19:40"}},{"expression":{"id":10624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10619,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10604,"src":"3642:5:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":10620,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10601,"src":"3650:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3656:5:40","memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":10468,"src":"3650:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"}},"id":10623,"indexExpression":{"id":10622,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10607,"src":"3662:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3650:23:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3642:31:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10625,"nodeType":"ExpressionStatement","src":"3642:31:40"},{"expression":{"id":10630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3687:30:40","subExpression":{"baseExpression":{"expression":{"id":10626,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10601,"src":"3694:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3700:5:40","memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":10468,"src":"3694:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"}},"id":10629,"indexExpression":{"id":10628,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10607,"src":"3706:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3694:23:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10631,"nodeType":"ExpressionStatement","src":"3687:30:40"},{"expression":{"id":10638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10632,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10601,"src":"3731:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3737:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"3731:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10635,"name":"frontIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10607,"src":"3746:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3759:1:40","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3746:14:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"3731:29:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":10639,"nodeType":"ExpressionStatement","src":"3731:29:40"}]}]},"documentation":{"id":10598,"nodeType":"StructuredDocumentation","src":"3265:149:40","text":" @dev Removes the item at the beginning of the queue and returns it.\n Reverts with `QueueEmpty` if the queue is empty."},"id":10642,"implemented":true,"kind":"function","modifiers":[],"name":"popFront","nameLocation":"3428:8:40","nodeType":"FunctionDefinition","parameters":{"id":10602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10601,"mutability":"mutable","name":"deque","nameLocation":"3458:5:40","nodeType":"VariableDeclaration","scope":10642,"src":"3437:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10600,"nodeType":"UserDefinedTypeName","pathNode":{"id":10599,"name":"Bytes32Deque","nameLocations":["3437:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"3437:12:40"},"referencedDeclaration":10469,"src":"3437:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"3436:28:40"},"returnParameters":{"id":10605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10604,"mutability":"mutable","name":"value","nameLocation":"3491:5:40","nodeType":"VariableDeclaration","scope":10642,"src":"3483:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3483:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3482:15:40"},"scope":10781,"src":"3419:358:40","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":10664,"nodeType":"Block","src":"4003:96:40","statements":[{"condition":{"arguments":[{"id":10652,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10646,"src":"4023:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}],"id":10651,"name":"empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10780,"src":"4017:5:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$10469_storage_ptr_$returns$_t_bool_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)"}},"id":10653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4017:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10657,"nodeType":"IfStatement","src":"4013:37:40","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10654,"name":"QueueEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10453,"src":"4038:10:40","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4038:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10656,"nodeType":"RevertStatement","src":"4031:19:40"}},{"expression":{"baseExpression":{"expression":{"id":10658,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10646,"src":"4067:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4073:5:40","memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":10468,"src":"4067:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"}},"id":10662,"indexExpression":{"expression":{"id":10660,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10646,"src":"4079:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4085:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"4079:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4067:25:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10650,"id":10663,"nodeType":"Return","src":"4060:32:40"}]},"documentation":{"id":10643,"nodeType":"StructuredDocumentation","src":"3783:134:40","text":" @dev Returns the item at the beginning of the queue.\n Reverts with `QueueEmpty` if the queue is empty."},"id":10665,"implemented":true,"kind":"function","modifiers":[],"name":"front","nameLocation":"3931:5:40","nodeType":"FunctionDefinition","parameters":{"id":10647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10646,"mutability":"mutable","name":"deque","nameLocation":"3958:5:40","nodeType":"VariableDeclaration","scope":10665,"src":"3937:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10645,"nodeType":"UserDefinedTypeName","pathNode":{"id":10644,"name":"Bytes32Deque","nameLocations":["3937:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"3937:12:40"},"referencedDeclaration":10469,"src":"3937:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"3936:28:40"},"returnParameters":{"id":10650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10649,"mutability":"mutable","name":"value","nameLocation":"3996:5:40","nodeType":"VariableDeclaration","scope":10665,"src":"3988:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3988:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3987:15:40"},"scope":10781,"src":"3922:177:40","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10690,"nodeType":"Block","src":"4318:132:40","statements":[{"condition":{"arguments":[{"id":10675,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10669,"src":"4338:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}],"id":10674,"name":"empty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10780,"src":"4332:5:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$10469_storage_ptr_$returns$_t_bool_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)"}},"id":10676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4332:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10680,"nodeType":"IfStatement","src":"4328:37:40","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10677,"name":"QueueEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10453,"src":"4353:10:40","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4353:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10679,"nodeType":"RevertStatement","src":"4346:19:40"}},{"id":10689,"nodeType":"UncheckedBlock","src":"4375:69:40","statements":[{"expression":{"baseExpression":{"expression":{"id":10681,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10669,"src":"4406:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4412:5:40","memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":10468,"src":"4406:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"}},"id":10687,"indexExpression":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10683,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10669,"src":"4418:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10684,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4424:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"4418:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4431:1:40","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4418:14:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4406:27:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10673,"id":10688,"nodeType":"Return","src":"4399:34:40"}]}]},"documentation":{"id":10666,"nodeType":"StructuredDocumentation","src":"4105:128:40","text":" @dev Returns the item at the end of the queue.\n Reverts with `QueueEmpty` if the queue is empty."},"id":10691,"implemented":true,"kind":"function","modifiers":[],"name":"back","nameLocation":"4247:4:40","nodeType":"FunctionDefinition","parameters":{"id":10670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10669,"mutability":"mutable","name":"deque","nameLocation":"4273:5:40","nodeType":"VariableDeclaration","scope":10691,"src":"4252:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10668,"nodeType":"UserDefinedTypeName","pathNode":{"id":10667,"name":"Bytes32Deque","nameLocations":["4252:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"4252:12:40"},"referencedDeclaration":10469,"src":"4252:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"4251:28:40"},"returnParameters":{"id":10673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10672,"mutability":"mutable","name":"value","nameLocation":"4311:5:40","nodeType":"VariableDeclaration","scope":10691,"src":"4303:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4303:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4302:15:40"},"scope":10781,"src":"4238:212:40","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10723,"nodeType":"Block","src":"4785:284:40","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10702,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10697,"src":"4799:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[{"id":10704,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10695,"src":"4815:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}],"id":10703,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10764,"src":"4808:6:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$10469_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (uint256)"}},"id":10705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4808:13:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4799:22:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10710,"nodeType":"IfStatement","src":"4795:53:40","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10707,"name":"QueueOutOfBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10459,"src":"4830:16:40","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4830:18:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10709,"nodeType":"RevertStatement","src":"4823:25:40"}},{"id":10722,"nodeType":"UncheckedBlock","src":"4979:84:40","statements":[{"expression":{"baseExpression":{"expression":{"id":10711,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10695,"src":"5010:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10712,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5016:5:40","memberName":"_data","nodeType":"MemberAccess","referencedDeclaration":10468,"src":"5010:11:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint128_$_t_bytes32_$","typeString":"mapping(uint128 => bytes32)"}},"id":10720,"indexExpression":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10713,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10695,"src":"5022:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10714,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5028:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"5022:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":10717,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10697,"src":"5045:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5037:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":10715,"name":"uint128","nodeType":"ElementaryTypeName","src":"5037:7:40","typeDescriptions":{}}},"id":10718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5037:14:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"5022:29:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5010:42:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10701,"id":10721,"nodeType":"Return","src":"5003:49:40"}]}]},"documentation":{"id":10692,"nodeType":"StructuredDocumentation","src":"4456:231:40","text":" @dev Return the item at a position in the queue given by `index`, with the first item at 0 and last item at\n `length(deque) - 1`.\n Reverts with `QueueOutOfBounds` if the index is out of bounds."},"id":10724,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"4701:2:40","nodeType":"FunctionDefinition","parameters":{"id":10698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10695,"mutability":"mutable","name":"deque","nameLocation":"4725:5:40","nodeType":"VariableDeclaration","scope":10724,"src":"4704:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10694,"nodeType":"UserDefinedTypeName","pathNode":{"id":10693,"name":"Bytes32Deque","nameLocations":["4704:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"4704:12:40"},"referencedDeclaration":10469,"src":"4704:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"},{"constant":false,"id":10697,"mutability":"mutable","name":"index","nameLocation":"4740:5:40","nodeType":"VariableDeclaration","scope":10724,"src":"4732:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10696,"name":"uint256","nodeType":"ElementaryTypeName","src":"4732:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4703:43:40"},"returnParameters":{"id":10701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10700,"mutability":"mutable","name":"value","nameLocation":"4778:5:40","nodeType":"VariableDeclaration","scope":10724,"src":"4770:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4770:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4769:15:40"},"scope":10781,"src":"4692:377:40","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10743,"nodeType":"Block","src":"5358:57:40","statements":[{"expression":{"id":10735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10731,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10728,"src":"5368:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5374:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"5368:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":10734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5383:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5368:16:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":10736,"nodeType":"ExpressionStatement","src":"5368:16:40"},{"expression":{"id":10741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10737,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10728,"src":"5394:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5400:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"5394:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":10740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5407:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5394:14:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":10742,"nodeType":"ExpressionStatement","src":"5394:14:40"}]},"documentation":{"id":10725,"nodeType":"StructuredDocumentation","src":"5075:226:40","text":" @dev Resets the queue back to being empty.\n NOTE: The current items are left behind in storage. This does not affect the functioning of the queue, but misses\n out on potential gas refunds."},"id":10744,"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"5315:5:40","nodeType":"FunctionDefinition","parameters":{"id":10729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10728,"mutability":"mutable","name":"deque","nameLocation":"5342:5:40","nodeType":"VariableDeclaration","scope":10744,"src":"5321:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10727,"nodeType":"UserDefinedTypeName","pathNode":{"id":10726,"name":"Bytes32Deque","nameLocations":["5321:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"5321:12:40"},"referencedDeclaration":10469,"src":"5321:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"5320:28:40"},"returnParameters":{"id":10730,"nodeType":"ParameterList","parameters":[],"src":"5358:0:40"},"scope":10781,"src":"5306:109:40","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":10763,"nodeType":"Block","src":"5567:92:40","statements":[{"id":10762,"nodeType":"UncheckedBlock","src":"5577:76:40","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10755,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10748,"src":"5616:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5622:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"5616:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":10757,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10748,"src":"5629:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10758,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5635:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"5629:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"5616:25:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":10754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5608:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10753,"name":"uint256","nodeType":"ElementaryTypeName","src":"5608:7:40","typeDescriptions":{}}},"id":10760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5608:34:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10752,"id":10761,"nodeType":"Return","src":"5601:41:40"}]}]},"documentation":{"id":10745,"nodeType":"StructuredDocumentation","src":"5421:65:40","text":" @dev Returns the number of items in the queue."},"id":10764,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"5500:6:40","nodeType":"FunctionDefinition","parameters":{"id":10749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10748,"mutability":"mutable","name":"deque","nameLocation":"5528:5:40","nodeType":"VariableDeclaration","scope":10764,"src":"5507:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10747,"nodeType":"UserDefinedTypeName","pathNode":{"id":10746,"name":"Bytes32Deque","nameLocations":["5507:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"5507:12:40"},"referencedDeclaration":10469,"src":"5507:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"5506:28:40"},"returnParameters":{"id":10752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10764,"src":"5558:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10750,"name":"uint256","nodeType":"ElementaryTypeName","src":"5558:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5557:9:40"},"scope":10781,"src":"5491:168:40","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":10779,"nodeType":"Block","src":"5801:50:40","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":10777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10773,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10768,"src":"5818:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10774,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5824:4:40","memberName":"_end","nodeType":"MemberAccess","referencedDeclaration":10464,"src":"5818:10:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":10775,"name":"deque","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10768,"src":"5832:5:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque storage pointer"}},"id":10776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5838:6:40","memberName":"_begin","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"5832:12:40","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"5818:26:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10772,"id":10778,"nodeType":"Return","src":"5811:33:40"}]},"documentation":{"id":10765,"nodeType":"StructuredDocumentation","src":"5665:59:40","text":" @dev Returns true if the queue is empty."},"id":10780,"implemented":true,"kind":"function","modifiers":[],"name":"empty","nameLocation":"5738:5:40","nodeType":"FunctionDefinition","parameters":{"id":10769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10768,"mutability":"mutable","name":"deque","nameLocation":"5765:5:40","nodeType":"VariableDeclaration","scope":10780,"src":"5744:26:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":10767,"nodeType":"UserDefinedTypeName","pathNode":{"id":10766,"name":"Bytes32Deque","nameLocations":["5744:12:40"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"5744:12:40"},"referencedDeclaration":10469,"src":"5744:12:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"}],"src":"5743:28:40"},"returnParameters":{"id":10772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10780,"src":"5795:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10770,"name":"bool","nodeType":"ElementaryTypeName","src":"5795:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5794:6:40"},"scope":10781,"src":"5729:122:40","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":10782,"src":"782:5071:40","usedErrors":[10453,10456,10459],"usedEvents":[]}],"src":"117:5737:40"},"id":40},"@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/structs/EnumerableSet.sol","exportedSymbols":{"EnumerableSet":[11394]},"id":11395,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10783,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"205:24:41"},{"abstract":false,"baseContracts":[],"canonicalName":"EnumerableSet","contractDependencies":[],"contractKind":"library","documentation":{"id":10784,"nodeType":"StructuredDocumentation","src":"231:1098:41","text":" @dev Library for managing\n https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n types.\n Sets have the following properties:\n - Elements are added, removed, and checked for existence in constant time\n (O(1)).\n - Elements are enumerated in O(n). No guarantees are made on the ordering.\n ```solidity\n contract Example {\n     // Add the library methods\n     using EnumerableSet for EnumerableSet.AddressSet;\n     // Declare a set state variable\n     EnumerableSet.AddressSet private mySet;\n }\n ```\n As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\n and `uint256` (`UintSet`) are supported.\n [WARNING]\n ====\n Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\n unusable.\n See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\n In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an\n array of EnumerableSet.\n ===="},"fullyImplemented":true,"id":11394,"linearizedBaseContracts":[11394],"name":"EnumerableSet","nameLocation":"1338:13:41","nodeType":"ContractDefinition","nodes":[{"canonicalName":"EnumerableSet.Set","id":10792,"members":[{"constant":false,"id":10787,"mutability":"mutable","name":"_values","nameLocation":"1862:7:41","nodeType":"VariableDeclaration","scope":10792,"src":"1852:17:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":10785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1852:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10786,"nodeType":"ArrayTypeName","src":"1852:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":10791,"mutability":"mutable","name":"_positions","nameLocation":"2054:10:41","nodeType":"VariableDeclaration","scope":10792,"src":"2020:44:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":10790,"keyName":"value","keyNameLocation":"2036:5:41","keyType":{"id":10788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2028:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2020:33:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":10789,"name":"uint256","nodeType":"ElementaryTypeName","src":"2045:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"Set","nameLocation":"1805:3:41","nodeType":"StructDefinition","scope":11394,"src":"1798:273:41","visibility":"public"},{"body":{"id":10833,"nodeType":"Block","src":"2310:337:41","statements":[{"condition":{"id":10807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2324:22:41","subExpression":{"arguments":[{"id":10804,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10796,"src":"2335:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},{"id":10805,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10798,"src":"2340:5:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10803,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10937,"src":"2325:9:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":10806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2325:21:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10831,"nodeType":"Block","src":"2604:37:41","statements":[{"expression":{"hexValue":"66616c7365","id":10829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2625:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":10802,"id":10830,"nodeType":"Return","src":"2618:12:41"}]},"id":10832,"nodeType":"IfStatement","src":"2320:321:41","trueBody":{"id":10828,"nodeType":"Block","src":"2348:250:41","statements":[{"expression":{"arguments":[{"id":10813,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10798,"src":"2379:5:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":10808,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10796,"src":"2362:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2366:7:41","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":10787,"src":"2362:11:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":10812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2374:4:41","memberName":"push","nodeType":"MemberAccess","src":"2362:16:41","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":10814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2362:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10815,"nodeType":"ExpressionStatement","src":"2362:23:41"},{"expression":{"id":10824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":10816,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10796,"src":"2520:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10819,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2524:10:41","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":10791,"src":"2520:14:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":10820,"indexExpression":{"id":10818,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10798,"src":"2535:5:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2520:21:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":10821,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10796,"src":"2544:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10822,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2548:7:41","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":10787,"src":"2544:11:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":10823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2556:6:41","memberName":"length","nodeType":"MemberAccess","src":"2544:18:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2520:42:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10825,"nodeType":"ExpressionStatement","src":"2520:42:41"},{"expression":{"hexValue":"74727565","id":10826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2583:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":10802,"id":10827,"nodeType":"Return","src":"2576:11:41"}]}}]},"documentation":{"id":10793,"nodeType":"StructuredDocumentation","src":"2077:159:41","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":10834,"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"2250:4:41","nodeType":"FunctionDefinition","parameters":{"id":10799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10796,"mutability":"mutable","name":"set","nameLocation":"2267:3:41","nodeType":"VariableDeclaration","scope":10834,"src":"2255:15:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":10795,"nodeType":"UserDefinedTypeName","pathNode":{"id":10794,"name":"Set","nameLocations":["2255:3:41"],"nodeType":"IdentifierPath","referencedDeclaration":10792,"src":"2255:3:41"},"referencedDeclaration":10792,"src":"2255:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":10798,"mutability":"mutable","name":"value","nameLocation":"2280:5:41","nodeType":"VariableDeclaration","scope":10834,"src":"2272:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2272:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2254:32:41"},"returnParameters":{"id":10802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10801,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10834,"src":"2304:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10800,"name":"bool","nodeType":"ElementaryTypeName","src":"2304:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2303:6:41"},"scope":11394,"src":"2241:406:41","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":10917,"nodeType":"Block","src":"2887:1296:41","statements":[{"assignments":[10846],"declarations":[{"constant":false,"id":10846,"mutability":"mutable","name":"position","nameLocation":"2999:8:41","nodeType":"VariableDeclaration","scope":10917,"src":"2991:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10845,"name":"uint256","nodeType":"ElementaryTypeName","src":"2991:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10851,"initialValue":{"baseExpression":{"expression":{"id":10847,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10838,"src":"3010:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10848,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3014:10:41","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":10791,"src":"3010:14:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":10850,"indexExpression":{"id":10849,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10840,"src":"3025:5:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3010:21:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2991:40:41"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10852,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10846,"src":"3046:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":10853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3058:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3046:13:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":10915,"nodeType":"Block","src":"4140:37:41","statements":[{"expression":{"hexValue":"66616c7365","id":10913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4161:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":10844,"id":10914,"nodeType":"Return","src":"4154:12:41"}]},"id":10916,"nodeType":"IfStatement","src":"3042:1135:41","trueBody":{"id":10912,"nodeType":"Block","src":"3061:1073:41","statements":[{"assignments":[10856],"declarations":[{"constant":false,"id":10856,"mutability":"mutable","name":"valueIndex","nameLocation":"3421:10:41","nodeType":"VariableDeclaration","scope":10912,"src":"3413:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10855,"name":"uint256","nodeType":"ElementaryTypeName","src":"3413:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10860,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10857,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10846,"src":"3434:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3445:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3434:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3413:33:41"},{"assignments":[10862],"declarations":[{"constant":false,"id":10862,"mutability":"mutable","name":"lastIndex","nameLocation":"3468:9:41","nodeType":"VariableDeclaration","scope":10912,"src":"3460:17:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10861,"name":"uint256","nodeType":"ElementaryTypeName","src":"3460:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10868,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":10863,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10838,"src":"3480:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10864,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3484:7:41","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":10787,"src":"3480:11:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":10865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3492:6:41","memberName":"length","nodeType":"MemberAccess","src":"3480:18:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3501:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3480:22:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3460:42:41"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10869,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10856,"src":"3521:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":10870,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10862,"src":"3535:9:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3521:23:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10896,"nodeType":"IfStatement","src":"3517:378:41","trueBody":{"id":10895,"nodeType":"Block","src":"3546:349:41","statements":[{"assignments":[10873],"declarations":[{"constant":false,"id":10873,"mutability":"mutable","name":"lastValue","nameLocation":"3572:9:41","nodeType":"VariableDeclaration","scope":10895,"src":"3564:17:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3564:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10878,"initialValue":{"baseExpression":{"expression":{"id":10874,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10838,"src":"3584:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3588:7:41","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":10787,"src":"3584:11:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":10877,"indexExpression":{"id":10876,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10862,"src":"3596:9:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3584:22:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3564:42:41"},{"expression":{"id":10885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":10879,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10838,"src":"3705:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3709:7:41","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":10787,"src":"3705:11:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":10883,"indexExpression":{"id":10881,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10856,"src":"3717:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3705:23:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10884,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10873,"src":"3731:9:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3705:35:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10886,"nodeType":"ExpressionStatement","src":"3705:35:41"},{"expression":{"id":10893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":10887,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10838,"src":"3844:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10890,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3848:10:41","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":10791,"src":"3844:14:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":10891,"indexExpression":{"id":10889,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10873,"src":"3859:9:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3844:25:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10892,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10846,"src":"3872:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3844:36:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10894,"nodeType":"ExpressionStatement","src":"3844:36:41"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":10897,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10838,"src":"3973:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10900,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3977:7:41","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":10787,"src":"3973:11:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":10901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3985:3:41","memberName":"pop","nodeType":"MemberAccess","src":"3973:15:41","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer)"}},"id":10902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3973:17:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10903,"nodeType":"ExpressionStatement","src":"3973:17:41"},{"expression":{"id":10908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4069:28:41","subExpression":{"baseExpression":{"expression":{"id":10904,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10838,"src":"4076:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10905,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4080:10:41","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":10791,"src":"4076:14:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":10907,"indexExpression":{"id":10906,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10840,"src":"4091:5:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4076:21:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10909,"nodeType":"ExpressionStatement","src":"4069:28:41"},{"expression":{"hexValue":"74727565","id":10910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4119:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":10844,"id":10911,"nodeType":"Return","src":"4112:11:41"}]}}]},"documentation":{"id":10835,"nodeType":"StructuredDocumentation","src":"2653:157:41","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":10918,"implemented":true,"kind":"function","modifiers":[],"name":"_remove","nameLocation":"2824:7:41","nodeType":"FunctionDefinition","parameters":{"id":10841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10838,"mutability":"mutable","name":"set","nameLocation":"2844:3:41","nodeType":"VariableDeclaration","scope":10918,"src":"2832:15:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":10837,"nodeType":"UserDefinedTypeName","pathNode":{"id":10836,"name":"Set","nameLocations":["2832:3:41"],"nodeType":"IdentifierPath","referencedDeclaration":10792,"src":"2832:3:41"},"referencedDeclaration":10792,"src":"2832:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":10840,"mutability":"mutable","name":"value","nameLocation":"2857:5:41","nodeType":"VariableDeclaration","scope":10918,"src":"2849:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2849:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2831:32:41"},"returnParameters":{"id":10844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10918,"src":"2881:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10842,"name":"bool","nodeType":"ElementaryTypeName","src":"2881:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2880:6:41"},"scope":11394,"src":"2815:1368:41","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":10936,"nodeType":"Block","src":"4343:50:41","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":10929,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10922,"src":"4360:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4364:10:41","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":10791,"src":"4360:14:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":10932,"indexExpression":{"id":10931,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10924,"src":"4375:5:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4360:21:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":10933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4385:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4360:26:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10928,"id":10935,"nodeType":"Return","src":"4353:33:41"}]},"documentation":{"id":10919,"nodeType":"StructuredDocumentation","src":"4189:70:41","text":" @dev Returns true if the value is in the set. O(1)."},"id":10937,"implemented":true,"kind":"function","modifiers":[],"name":"_contains","nameLocation":"4273:9:41","nodeType":"FunctionDefinition","parameters":{"id":10925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10922,"mutability":"mutable","name":"set","nameLocation":"4295:3:41","nodeType":"VariableDeclaration","scope":10937,"src":"4283:15:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":10921,"nodeType":"UserDefinedTypeName","pathNode":{"id":10920,"name":"Set","nameLocations":["4283:3:41"],"nodeType":"IdentifierPath","referencedDeclaration":10792,"src":"4283:3:41"},"referencedDeclaration":10792,"src":"4283:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":10924,"mutability":"mutable","name":"value","nameLocation":"4308:5:41","nodeType":"VariableDeclaration","scope":10937,"src":"4300:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4300:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4282:32:41"},"returnParameters":{"id":10928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10937,"src":"4337:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10926,"name":"bool","nodeType":"ElementaryTypeName","src":"4337:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4336:6:41"},"scope":11394,"src":"4264:129:41","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":10950,"nodeType":"Block","src":"4539:42:41","statements":[{"expression":{"expression":{"expression":{"id":10946,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10941,"src":"4556:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10947,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4560:7:41","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":10787,"src":"4556:11:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":10948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4568:6:41","memberName":"length","nodeType":"MemberAccess","src":"4556:18:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10945,"id":10949,"nodeType":"Return","src":"4549:25:41"}]},"documentation":{"id":10938,"nodeType":"StructuredDocumentation","src":"4399:70:41","text":" @dev Returns the number of values on the set. O(1)."},"id":10951,"implemented":true,"kind":"function","modifiers":[],"name":"_length","nameLocation":"4483:7:41","nodeType":"FunctionDefinition","parameters":{"id":10942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10941,"mutability":"mutable","name":"set","nameLocation":"4503:3:41","nodeType":"VariableDeclaration","scope":10951,"src":"4491:15:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":10940,"nodeType":"UserDefinedTypeName","pathNode":{"id":10939,"name":"Set","nameLocations":["4491:3:41"],"nodeType":"IdentifierPath","referencedDeclaration":10792,"src":"4491:3:41"},"referencedDeclaration":10792,"src":"4491:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"src":"4490:17:41"},"returnParameters":{"id":10945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10944,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10951,"src":"4530:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10943,"name":"uint256","nodeType":"ElementaryTypeName","src":"4530:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4529:9:41"},"scope":11394,"src":"4474:107:41","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":10967,"nodeType":"Block","src":"4999:42:41","statements":[{"expression":{"baseExpression":{"expression":{"id":10962,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10955,"src":"5016:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5020:7:41","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":10787,"src":"5016:11:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":10965,"indexExpression":{"id":10964,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10957,"src":"5028:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5016:18:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10961,"id":10966,"nodeType":"Return","src":"5009:25:41"}]},"documentation":{"id":10952,"nodeType":"StructuredDocumentation","src":"4587:331:41","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":10968,"implemented":true,"kind":"function","modifiers":[],"name":"_at","nameLocation":"4932:3:41","nodeType":"FunctionDefinition","parameters":{"id":10958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10955,"mutability":"mutable","name":"set","nameLocation":"4948:3:41","nodeType":"VariableDeclaration","scope":10968,"src":"4936:15:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":10954,"nodeType":"UserDefinedTypeName","pathNode":{"id":10953,"name":"Set","nameLocations":["4936:3:41"],"nodeType":"IdentifierPath","referencedDeclaration":10792,"src":"4936:3:41"},"referencedDeclaration":10792,"src":"4936:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":10957,"mutability":"mutable","name":"index","nameLocation":"4961:5:41","nodeType":"VariableDeclaration","scope":10968,"src":"4953:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10956,"name":"uint256","nodeType":"ElementaryTypeName","src":"4953:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4935:32:41"},"returnParameters":{"id":10961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10968,"src":"4990:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4990:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4989:9:41"},"scope":11394,"src":"4923:118:41","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":10981,"nodeType":"Block","src":"5655:35:41","statements":[{"expression":{"expression":{"id":10978,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10972,"src":"5672:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":10979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5676:7:41","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":10787,"src":"5672:11:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"functionReturnParameters":10977,"id":10980,"nodeType":"Return","src":"5665:18:41"}]},"documentation":{"id":10969,"nodeType":"StructuredDocumentation","src":"5047:529:41","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"id":10982,"implemented":true,"kind":"function","modifiers":[],"name":"_values","nameLocation":"5590:7:41","nodeType":"FunctionDefinition","parameters":{"id":10973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10972,"mutability":"mutable","name":"set","nameLocation":"5610:3:41","nodeType":"VariableDeclaration","scope":10982,"src":"5598:15:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":10971,"nodeType":"UserDefinedTypeName","pathNode":{"id":10970,"name":"Set","nameLocations":["5598:3:41"],"nodeType":"IdentifierPath","referencedDeclaration":10792,"src":"5598:3:41"},"referencedDeclaration":10792,"src":"5598:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"src":"5597:17:41"},"returnParameters":{"id":10977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10982,"src":"5637:16:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":10974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5637:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10975,"nodeType":"ArrayTypeName","src":"5637:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5636:18:41"},"scope":11394,"src":"5581:109:41","stateMutability":"view","virtual":false,"visibility":"private"},{"canonicalName":"EnumerableSet.Bytes32Set","id":10986,"members":[{"constant":false,"id":10985,"mutability":"mutable","name":"_inner","nameLocation":"5747:6:41","nodeType":"VariableDeclaration","scope":10986,"src":"5743:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":10984,"nodeType":"UserDefinedTypeName","pathNode":{"id":10983,"name":"Set","nameLocations":["5743:3:41"],"nodeType":"IdentifierPath","referencedDeclaration":10792,"src":"5743:3:41"},"referencedDeclaration":10792,"src":"5743:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"Bytes32Set","nameLocation":"5722:10:41","nodeType":"StructDefinition","scope":11394,"src":"5715:45:41","visibility":"public"},{"body":{"id":11003,"nodeType":"Block","src":"6006:47:41","statements":[{"expression":{"arguments":[{"expression":{"id":10998,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10990,"src":"6028:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":10999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6032:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":10985,"src":"6028:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":11000,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10992,"src":"6040:5:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10997,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10834,"src":"6023:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":11001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6023:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10996,"id":11002,"nodeType":"Return","src":"6016:30:41"}]},"documentation":{"id":10987,"nodeType":"StructuredDocumentation","src":"5766:159:41","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":11004,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"5939:3:41","nodeType":"FunctionDefinition","parameters":{"id":10993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10990,"mutability":"mutable","name":"set","nameLocation":"5962:3:41","nodeType":"VariableDeclaration","scope":11004,"src":"5943:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":10989,"nodeType":"UserDefinedTypeName","pathNode":{"id":10988,"name":"Bytes32Set","nameLocations":["5943:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":10986,"src":"5943:10:41"},"referencedDeclaration":10986,"src":"5943:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":10992,"mutability":"mutable","name":"value","nameLocation":"5975:5:41","nodeType":"VariableDeclaration","scope":11004,"src":"5967:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5967:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5942:39:41"},"returnParameters":{"id":10996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11004,"src":"6000:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10994,"name":"bool","nodeType":"ElementaryTypeName","src":"6000:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5999:6:41"},"scope":11394,"src":"5930:123:41","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11021,"nodeType":"Block","src":"6300:50:41","statements":[{"expression":{"arguments":[{"expression":{"id":11016,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11008,"src":"6325:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":11017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6329:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":10985,"src":"6325:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":11018,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11010,"src":"6337:5:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11015,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10918,"src":"6317:7:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":11019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6317:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11014,"id":11020,"nodeType":"Return","src":"6310:33:41"}]},"documentation":{"id":11005,"nodeType":"StructuredDocumentation","src":"6059:157:41","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":11022,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"6230:6:41","nodeType":"FunctionDefinition","parameters":{"id":11011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11008,"mutability":"mutable","name":"set","nameLocation":"6256:3:41","nodeType":"VariableDeclaration","scope":11022,"src":"6237:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":11007,"nodeType":"UserDefinedTypeName","pathNode":{"id":11006,"name":"Bytes32Set","nameLocations":["6237:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":10986,"src":"6237:10:41"},"referencedDeclaration":10986,"src":"6237:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":11010,"mutability":"mutable","name":"value","nameLocation":"6269:5:41","nodeType":"VariableDeclaration","scope":11022,"src":"6261:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11009,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6261:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6236:39:41"},"returnParameters":{"id":11014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11022,"src":"6294:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11012,"name":"bool","nodeType":"ElementaryTypeName","src":"6294:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6293:6:41"},"scope":11394,"src":"6221:129:41","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11039,"nodeType":"Block","src":"6517:52:41","statements":[{"expression":{"arguments":[{"expression":{"id":11034,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11026,"src":"6544:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":11035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6548:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":10985,"src":"6544:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":11036,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11028,"src":"6556:5:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11033,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10937,"src":"6534:9:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":11037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6534:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11032,"id":11038,"nodeType":"Return","src":"6527:35:41"}]},"documentation":{"id":11023,"nodeType":"StructuredDocumentation","src":"6356:70:41","text":" @dev Returns true if the value is in the set. O(1)."},"id":11040,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"6440:8:41","nodeType":"FunctionDefinition","parameters":{"id":11029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11026,"mutability":"mutable","name":"set","nameLocation":"6468:3:41","nodeType":"VariableDeclaration","scope":11040,"src":"6449:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":11025,"nodeType":"UserDefinedTypeName","pathNode":{"id":11024,"name":"Bytes32Set","nameLocations":["6449:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":10986,"src":"6449:10:41"},"referencedDeclaration":10986,"src":"6449:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":11028,"mutability":"mutable","name":"value","nameLocation":"6481:5:41","nodeType":"VariableDeclaration","scope":11040,"src":"6473:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6473:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6448:39:41"},"returnParameters":{"id":11032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11040,"src":"6511:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11030,"name":"bool","nodeType":"ElementaryTypeName","src":"6511:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6510:6:41"},"scope":11394,"src":"6431:138:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11054,"nodeType":"Block","src":"6722:43:41","statements":[{"expression":{"arguments":[{"expression":{"id":11050,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11044,"src":"6747:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":11051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6751:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":10985,"src":"6747:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":11049,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10951,"src":"6739:7:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":11052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6739:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11048,"id":11053,"nodeType":"Return","src":"6732:26:41"}]},"documentation":{"id":11041,"nodeType":"StructuredDocumentation","src":"6575:70:41","text":" @dev Returns the number of values in the set. O(1)."},"id":11055,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"6659:6:41","nodeType":"FunctionDefinition","parameters":{"id":11045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11044,"mutability":"mutable","name":"set","nameLocation":"6685:3:41","nodeType":"VariableDeclaration","scope":11055,"src":"6666:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":11043,"nodeType":"UserDefinedTypeName","pathNode":{"id":11042,"name":"Bytes32Set","nameLocations":["6666:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":10986,"src":"6666:10:41"},"referencedDeclaration":10986,"src":"6666:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"}],"src":"6665:24:41"},"returnParameters":{"id":11048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11047,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11055,"src":"6713:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11046,"name":"uint256","nodeType":"ElementaryTypeName","src":"6713:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6712:9:41"},"scope":11394,"src":"6650:115:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11072,"nodeType":"Block","src":"7190:46:41","statements":[{"expression":{"arguments":[{"expression":{"id":11067,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11059,"src":"7211:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":11068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7215:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":10985,"src":"7211:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":11069,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11061,"src":"7223:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11066,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10968,"src":"7207:3:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":11070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7207:22:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":11065,"id":11071,"nodeType":"Return","src":"7200:29:41"}]},"documentation":{"id":11056,"nodeType":"StructuredDocumentation","src":"6771:331:41","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":11073,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"7116:2:41","nodeType":"FunctionDefinition","parameters":{"id":11062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11059,"mutability":"mutable","name":"set","nameLocation":"7138:3:41","nodeType":"VariableDeclaration","scope":11073,"src":"7119:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":11058,"nodeType":"UserDefinedTypeName","pathNode":{"id":11057,"name":"Bytes32Set","nameLocations":["7119:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":10986,"src":"7119:10:41"},"referencedDeclaration":10986,"src":"7119:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":11061,"mutability":"mutable","name":"index","nameLocation":"7151:5:41","nodeType":"VariableDeclaration","scope":11073,"src":"7143:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11060,"name":"uint256","nodeType":"ElementaryTypeName","src":"7143:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7118:39:41"},"returnParameters":{"id":11065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11073,"src":"7181:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7181:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7180:9:41"},"scope":11394,"src":"7107:129:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11102,"nodeType":"Block","src":"7857:219:41","statements":[{"assignments":[11087],"declarations":[{"constant":false,"id":11087,"mutability":"mutable","name":"store","nameLocation":"7884:5:41","nodeType":"VariableDeclaration","scope":11102,"src":"7867:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7867:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11086,"nodeType":"ArrayTypeName","src":"7867:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":11092,"initialValue":{"arguments":[{"expression":{"id":11089,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11077,"src":"7900:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":11090,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7904:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":10985,"src":"7900:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":11088,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"7892:7:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (bytes32[] memory)"}},"id":11091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7892:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7867:44:41"},{"assignments":[11097],"declarations":[{"constant":false,"id":11097,"mutability":"mutable","name":"result","nameLocation":"7938:6:41","nodeType":"VariableDeclaration","scope":11102,"src":"7921:23:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7921:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11096,"nodeType":"ArrayTypeName","src":"7921:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":11098,"nodeType":"VariableDeclarationStatement","src":"7921:23:41"},{"AST":{"nodeType":"YulBlock","src":"8007:39:41","statements":[{"nodeType":"YulAssignment","src":"8021:15:41","value":{"name":"store","nodeType":"YulIdentifier","src":"8031:5:41"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"8021:6:41"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":11097,"isOffset":false,"isSlot":false,"src":"8021:6:41","valueSize":1},{"declaration":11087,"isOffset":false,"isSlot":false,"src":"8031:5:41","valueSize":1}],"id":11099,"nodeType":"InlineAssembly","src":"7998:48:41"},{"expression":{"id":11100,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11097,"src":"8063:6:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":11082,"id":11101,"nodeType":"Return","src":"8056:13:41"}]},"documentation":{"id":11074,"nodeType":"StructuredDocumentation","src":"7242:529:41","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"id":11103,"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"7785:6:41","nodeType":"FunctionDefinition","parameters":{"id":11078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11077,"mutability":"mutable","name":"set","nameLocation":"7811:3:41","nodeType":"VariableDeclaration","scope":11103,"src":"7792:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":11076,"nodeType":"UserDefinedTypeName","pathNode":{"id":11075,"name":"Bytes32Set","nameLocations":["7792:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":10986,"src":"7792:10:41"},"referencedDeclaration":10986,"src":"7792:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$10986_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"}],"src":"7791:24:41"},"returnParameters":{"id":11082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11103,"src":"7839:16:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7839:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11080,"nodeType":"ArrayTypeName","src":"7839:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"7838:18:41"},"scope":11394,"src":"7776:300:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"EnumerableSet.AddressSet","id":11107,"members":[{"constant":false,"id":11106,"mutability":"mutable","name":"_inner","nameLocation":"8133:6:41","nodeType":"VariableDeclaration","scope":11107,"src":"8129:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":11105,"nodeType":"UserDefinedTypeName","pathNode":{"id":11104,"name":"Set","nameLocations":["8129:3:41"],"nodeType":"IdentifierPath","referencedDeclaration":10792,"src":"8129:3:41"},"referencedDeclaration":10792,"src":"8129:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"AddressSet","nameLocation":"8108:10:41","nodeType":"StructDefinition","scope":11394,"src":"8101:45:41","visibility":"public"},{"body":{"id":11133,"nodeType":"Block","src":"8392:74:41","statements":[{"expression":{"arguments":[{"expression":{"id":11119,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11111,"src":"8414:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8418:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11106,"src":"8414:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":11127,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11113,"src":"8450:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8442:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11125,"name":"uint160","nodeType":"ElementaryTypeName","src":"8442:7:41","typeDescriptions":{}}},"id":11128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8442:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8434:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11123,"name":"uint256","nodeType":"ElementaryTypeName","src":"8434:7:41","typeDescriptions":{}}},"id":11129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8434:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8426:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":11121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8426:7:41","typeDescriptions":{}}},"id":11130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8426:32:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11118,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10834,"src":"8409:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":11131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8409:50:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11117,"id":11132,"nodeType":"Return","src":"8402:57:41"}]},"documentation":{"id":11108,"nodeType":"StructuredDocumentation","src":"8152:159:41","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":11134,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"8325:3:41","nodeType":"FunctionDefinition","parameters":{"id":11114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11111,"mutability":"mutable","name":"set","nameLocation":"8348:3:41","nodeType":"VariableDeclaration","scope":11134,"src":"8329:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11110,"nodeType":"UserDefinedTypeName","pathNode":{"id":11109,"name":"AddressSet","nameLocations":["8329:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":11107,"src":"8329:10:41"},"referencedDeclaration":11107,"src":"8329:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":11113,"mutability":"mutable","name":"value","nameLocation":"8361:5:41","nodeType":"VariableDeclaration","scope":11134,"src":"8353:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11112,"name":"address","nodeType":"ElementaryTypeName","src":"8353:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8328:39:41"},"returnParameters":{"id":11117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11134,"src":"8386:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11115,"name":"bool","nodeType":"ElementaryTypeName","src":"8386:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8385:6:41"},"scope":11394,"src":"8316:150:41","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11160,"nodeType":"Block","src":"8713:77:41","statements":[{"expression":{"arguments":[{"expression":{"id":11146,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11138,"src":"8738:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8742:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11106,"src":"8738:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":11154,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11140,"src":"8774:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8766:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11152,"name":"uint160","nodeType":"ElementaryTypeName","src":"8766:7:41","typeDescriptions":{}}},"id":11155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8766:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8758:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11150,"name":"uint256","nodeType":"ElementaryTypeName","src":"8758:7:41","typeDescriptions":{}}},"id":11156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8758:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8750:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":11148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8750:7:41","typeDescriptions":{}}},"id":11157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8750:32:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11145,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10918,"src":"8730:7:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":11158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8730:53:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11144,"id":11159,"nodeType":"Return","src":"8723:60:41"}]},"documentation":{"id":11135,"nodeType":"StructuredDocumentation","src":"8472:157:41","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":11161,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"8643:6:41","nodeType":"FunctionDefinition","parameters":{"id":11141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11138,"mutability":"mutable","name":"set","nameLocation":"8669:3:41","nodeType":"VariableDeclaration","scope":11161,"src":"8650:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11137,"nodeType":"UserDefinedTypeName","pathNode":{"id":11136,"name":"AddressSet","nameLocations":["8650:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":11107,"src":"8650:10:41"},"referencedDeclaration":11107,"src":"8650:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":11140,"mutability":"mutable","name":"value","nameLocation":"8682:5:41","nodeType":"VariableDeclaration","scope":11161,"src":"8674:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11139,"name":"address","nodeType":"ElementaryTypeName","src":"8674:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8649:39:41"},"returnParameters":{"id":11144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11161,"src":"8707:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11142,"name":"bool","nodeType":"ElementaryTypeName","src":"8707:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8706:6:41"},"scope":11394,"src":"8634:156:41","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11187,"nodeType":"Block","src":"8957:79:41","statements":[{"expression":{"arguments":[{"expression":{"id":11173,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11165,"src":"8984:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8988:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11106,"src":"8984:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":11181,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11167,"src":"9020:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9012:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11179,"name":"uint160","nodeType":"ElementaryTypeName","src":"9012:7:41","typeDescriptions":{}}},"id":11182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9012:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9004:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11177,"name":"uint256","nodeType":"ElementaryTypeName","src":"9004:7:41","typeDescriptions":{}}},"id":11183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9004:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8996:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":11175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8996:7:41","typeDescriptions":{}}},"id":11184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8996:32:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11172,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10937,"src":"8974:9:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":11185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8974:55:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11171,"id":11186,"nodeType":"Return","src":"8967:62:41"}]},"documentation":{"id":11162,"nodeType":"StructuredDocumentation","src":"8796:70:41","text":" @dev Returns true if the value is in the set. O(1)."},"id":11188,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"8880:8:41","nodeType":"FunctionDefinition","parameters":{"id":11168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11165,"mutability":"mutable","name":"set","nameLocation":"8908:3:41","nodeType":"VariableDeclaration","scope":11188,"src":"8889:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11164,"nodeType":"UserDefinedTypeName","pathNode":{"id":11163,"name":"AddressSet","nameLocations":["8889:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":11107,"src":"8889:10:41"},"referencedDeclaration":11107,"src":"8889:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":11167,"mutability":"mutable","name":"value","nameLocation":"8921:5:41","nodeType":"VariableDeclaration","scope":11188,"src":"8913:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11166,"name":"address","nodeType":"ElementaryTypeName","src":"8913:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8888:39:41"},"returnParameters":{"id":11171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11170,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11188,"src":"8951:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11169,"name":"bool","nodeType":"ElementaryTypeName","src":"8951:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8950:6:41"},"scope":11394,"src":"8871:165:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11202,"nodeType":"Block","src":"9189:43:41","statements":[{"expression":{"arguments":[{"expression":{"id":11198,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11192,"src":"9214:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11199,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9218:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11106,"src":"9214:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":11197,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10951,"src":"9206:7:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":11200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9206:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11196,"id":11201,"nodeType":"Return","src":"9199:26:41"}]},"documentation":{"id":11189,"nodeType":"StructuredDocumentation","src":"9042:70:41","text":" @dev Returns the number of values in the set. O(1)."},"id":11203,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"9126:6:41","nodeType":"FunctionDefinition","parameters":{"id":11193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11192,"mutability":"mutable","name":"set","nameLocation":"9152:3:41","nodeType":"VariableDeclaration","scope":11203,"src":"9133:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11191,"nodeType":"UserDefinedTypeName","pathNode":{"id":11190,"name":"AddressSet","nameLocations":["9133:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":11107,"src":"9133:10:41"},"referencedDeclaration":11107,"src":"9133:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"}],"src":"9132:24:41"},"returnParameters":{"id":11196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11203,"src":"9180:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11194,"name":"uint256","nodeType":"ElementaryTypeName","src":"9180:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9179:9:41"},"scope":11394,"src":"9117:115:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11229,"nodeType":"Block","src":"9657:73:41","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":11221,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11207,"src":"9702:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11222,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9706:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11106,"src":"9702:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":11223,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11209,"src":"9714:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11220,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10968,"src":"9698:3:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":11224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9698:22:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9690:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11218,"name":"uint256","nodeType":"ElementaryTypeName","src":"9690:7:41","typeDescriptions":{}}},"id":11225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9690:31:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9682:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11216,"name":"uint160","nodeType":"ElementaryTypeName","src":"9682:7:41","typeDescriptions":{}}},"id":11226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9682:40:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9674:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11214,"name":"address","nodeType":"ElementaryTypeName","src":"9674:7:41","typeDescriptions":{}}},"id":11227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9674:49:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":11213,"id":11228,"nodeType":"Return","src":"9667:56:41"}]},"documentation":{"id":11204,"nodeType":"StructuredDocumentation","src":"9238:331:41","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":11230,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"9583:2:41","nodeType":"FunctionDefinition","parameters":{"id":11210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11207,"mutability":"mutable","name":"set","nameLocation":"9605:3:41","nodeType":"VariableDeclaration","scope":11230,"src":"9586:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11206,"nodeType":"UserDefinedTypeName","pathNode":{"id":11205,"name":"AddressSet","nameLocations":["9586:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":11107,"src":"9586:10:41"},"referencedDeclaration":11107,"src":"9586:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":11209,"mutability":"mutable","name":"index","nameLocation":"9618:5:41","nodeType":"VariableDeclaration","scope":11230,"src":"9610:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11208,"name":"uint256","nodeType":"ElementaryTypeName","src":"9610:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9585:39:41"},"returnParameters":{"id":11213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11230,"src":"9648:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11211,"name":"address","nodeType":"ElementaryTypeName","src":"9648:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9647:9:41"},"scope":11394,"src":"9574:156:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11259,"nodeType":"Block","src":"10351:219:41","statements":[{"assignments":[11244],"declarations":[{"constant":false,"id":11244,"mutability":"mutable","name":"store","nameLocation":"10378:5:41","nodeType":"VariableDeclaration","scope":11259,"src":"10361:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10361:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11243,"nodeType":"ArrayTypeName","src":"10361:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":11249,"initialValue":{"arguments":[{"expression":{"id":11246,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11234,"src":"10394:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10398:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11106,"src":"10394:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":11245,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"10386:7:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (bytes32[] memory)"}},"id":11248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10386:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10361:44:41"},{"assignments":[11254],"declarations":[{"constant":false,"id":11254,"mutability":"mutable","name":"result","nameLocation":"10432:6:41","nodeType":"VariableDeclaration","scope":11259,"src":"10415:23:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11252,"name":"address","nodeType":"ElementaryTypeName","src":"10415:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11253,"nodeType":"ArrayTypeName","src":"10415:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":11255,"nodeType":"VariableDeclarationStatement","src":"10415:23:41"},{"AST":{"nodeType":"YulBlock","src":"10501:39:41","statements":[{"nodeType":"YulAssignment","src":"10515:15:41","value":{"name":"store","nodeType":"YulIdentifier","src":"10525:5:41"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"10515:6:41"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":11254,"isOffset":false,"isSlot":false,"src":"10515:6:41","valueSize":1},{"declaration":11244,"isOffset":false,"isSlot":false,"src":"10525:5:41","valueSize":1}],"id":11256,"nodeType":"InlineAssembly","src":"10492:48:41"},{"expression":{"id":11257,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11254,"src":"10557:6:41","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":11239,"id":11258,"nodeType":"Return","src":"10550:13:41"}]},"documentation":{"id":11231,"nodeType":"StructuredDocumentation","src":"9736:529:41","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"id":11260,"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"10279:6:41","nodeType":"FunctionDefinition","parameters":{"id":11235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11234,"mutability":"mutable","name":"set","nameLocation":"10305:3:41","nodeType":"VariableDeclaration","scope":11260,"src":"10286:22:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11233,"nodeType":"UserDefinedTypeName","pathNode":{"id":11232,"name":"AddressSet","nameLocations":["10286:10:41"],"nodeType":"IdentifierPath","referencedDeclaration":11107,"src":"10286:10:41"},"referencedDeclaration":11107,"src":"10286:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11107_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"}],"src":"10285:24:41"},"returnParameters":{"id":11239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11260,"src":"10333:16:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11236,"name":"address","nodeType":"ElementaryTypeName","src":"10333:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11237,"nodeType":"ArrayTypeName","src":"10333:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10332:18:41"},"scope":11394,"src":"10270:300:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"EnumerableSet.UintSet","id":11264,"members":[{"constant":false,"id":11263,"mutability":"mutable","name":"_inner","nameLocation":"10621:6:41","nodeType":"VariableDeclaration","scope":11264,"src":"10617:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":11262,"nodeType":"UserDefinedTypeName","pathNode":{"id":11261,"name":"Set","nameLocations":["10617:3:41"],"nodeType":"IdentifierPath","referencedDeclaration":10792,"src":"10617:3:41"},"referencedDeclaration":10792,"src":"10617:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"UintSet","nameLocation":"10599:7:41","nodeType":"StructDefinition","scope":11394,"src":"10592:42:41","visibility":"public"},{"body":{"id":11284,"nodeType":"Block","src":"10877:56:41","statements":[{"expression":{"arguments":[{"expression":{"id":11276,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11268,"src":"10899:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":11277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10903:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11263,"src":"10899:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":11280,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11270,"src":"10919:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10911:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":11278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10911:7:41","typeDescriptions":{}}},"id":11281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10911:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11275,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10834,"src":"10894:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":11282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10894:32:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11274,"id":11283,"nodeType":"Return","src":"10887:39:41"}]},"documentation":{"id":11265,"nodeType":"StructuredDocumentation","src":"10640:159:41","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":11285,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"10813:3:41","nodeType":"FunctionDefinition","parameters":{"id":11271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11268,"mutability":"mutable","name":"set","nameLocation":"10833:3:41","nodeType":"VariableDeclaration","scope":11285,"src":"10817:19:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":11267,"nodeType":"UserDefinedTypeName","pathNode":{"id":11266,"name":"UintSet","nameLocations":["10817:7:41"],"nodeType":"IdentifierPath","referencedDeclaration":11264,"src":"10817:7:41"},"referencedDeclaration":11264,"src":"10817:7:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":11270,"mutability":"mutable","name":"value","nameLocation":"10846:5:41","nodeType":"VariableDeclaration","scope":11285,"src":"10838:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11269,"name":"uint256","nodeType":"ElementaryTypeName","src":"10838:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10816:36:41"},"returnParameters":{"id":11274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11273,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11285,"src":"10871:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11272,"name":"bool","nodeType":"ElementaryTypeName","src":"10871:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10870:6:41"},"scope":11394,"src":"10804:129:41","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11305,"nodeType":"Block","src":"11177:59:41","statements":[{"expression":{"arguments":[{"expression":{"id":11297,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11289,"src":"11202:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":11298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11206:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11263,"src":"11202:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":11301,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11291,"src":"11222:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11214:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":11299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11214:7:41","typeDescriptions":{}}},"id":11302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11214:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11296,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10918,"src":"11194:7:41","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":11303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11194:35:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11295,"id":11304,"nodeType":"Return","src":"11187:42:41"}]},"documentation":{"id":11286,"nodeType":"StructuredDocumentation","src":"10939:157:41","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":11306,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"11110:6:41","nodeType":"FunctionDefinition","parameters":{"id":11292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11289,"mutability":"mutable","name":"set","nameLocation":"11133:3:41","nodeType":"VariableDeclaration","scope":11306,"src":"11117:19:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":11288,"nodeType":"UserDefinedTypeName","pathNode":{"id":11287,"name":"UintSet","nameLocations":["11117:7:41"],"nodeType":"IdentifierPath","referencedDeclaration":11264,"src":"11117:7:41"},"referencedDeclaration":11264,"src":"11117:7:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":11291,"mutability":"mutable","name":"value","nameLocation":"11146:5:41","nodeType":"VariableDeclaration","scope":11306,"src":"11138:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11290,"name":"uint256","nodeType":"ElementaryTypeName","src":"11138:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11116:36:41"},"returnParameters":{"id":11295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11294,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11306,"src":"11171:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11293,"name":"bool","nodeType":"ElementaryTypeName","src":"11171:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11170:6:41"},"scope":11394,"src":"11101:135:41","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11326,"nodeType":"Block","src":"11400:61:41","statements":[{"expression":{"arguments":[{"expression":{"id":11318,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11310,"src":"11427:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":11319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11431:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11263,"src":"11427:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":11322,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11312,"src":"11447:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11439:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":11320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11439:7:41","typeDescriptions":{}}},"id":11323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11439:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11317,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10937,"src":"11417:9:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":11324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11417:37:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11316,"id":11325,"nodeType":"Return","src":"11410:44:41"}]},"documentation":{"id":11307,"nodeType":"StructuredDocumentation","src":"11242:70:41","text":" @dev Returns true if the value is in the set. O(1)."},"id":11327,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"11326:8:41","nodeType":"FunctionDefinition","parameters":{"id":11313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11310,"mutability":"mutable","name":"set","nameLocation":"11351:3:41","nodeType":"VariableDeclaration","scope":11327,"src":"11335:19:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":11309,"nodeType":"UserDefinedTypeName","pathNode":{"id":11308,"name":"UintSet","nameLocations":["11335:7:41"],"nodeType":"IdentifierPath","referencedDeclaration":11264,"src":"11335:7:41"},"referencedDeclaration":11264,"src":"11335:7:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":11312,"mutability":"mutable","name":"value","nameLocation":"11364:5:41","nodeType":"VariableDeclaration","scope":11327,"src":"11356:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11311,"name":"uint256","nodeType":"ElementaryTypeName","src":"11356:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11334:36:41"},"returnParameters":{"id":11316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11315,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11327,"src":"11394:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11314,"name":"bool","nodeType":"ElementaryTypeName","src":"11394:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11393:6:41"},"scope":11394,"src":"11317:144:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11341,"nodeType":"Block","src":"11611:43:41","statements":[{"expression":{"arguments":[{"expression":{"id":11337,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11331,"src":"11636:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":11338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11640:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11263,"src":"11636:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":11336,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10951,"src":"11628:7:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":11339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11628:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11335,"id":11340,"nodeType":"Return","src":"11621:26:41"}]},"documentation":{"id":11328,"nodeType":"StructuredDocumentation","src":"11467:70:41","text":" @dev Returns the number of values in the set. O(1)."},"id":11342,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"11551:6:41","nodeType":"FunctionDefinition","parameters":{"id":11332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11331,"mutability":"mutable","name":"set","nameLocation":"11574:3:41","nodeType":"VariableDeclaration","scope":11342,"src":"11558:19:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":11330,"nodeType":"UserDefinedTypeName","pathNode":{"id":11329,"name":"UintSet","nameLocations":["11558:7:41"],"nodeType":"IdentifierPath","referencedDeclaration":11264,"src":"11558:7:41"},"referencedDeclaration":11264,"src":"11558:7:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"}],"src":"11557:21:41"},"returnParameters":{"id":11335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11342,"src":"11602:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11333,"name":"uint256","nodeType":"ElementaryTypeName","src":"11602:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11601:9:41"},"scope":11394,"src":"11542:112:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11362,"nodeType":"Block","src":"12076:55:41","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":11356,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11346,"src":"12105:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":11357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12109:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11263,"src":"12105:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":11358,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11348,"src":"12117:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11355,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10968,"src":"12101:3:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":11359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12101:22:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12093:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11353,"name":"uint256","nodeType":"ElementaryTypeName","src":"12093:7:41","typeDescriptions":{}}},"id":11360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12093:31:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11352,"id":11361,"nodeType":"Return","src":"12086:38:41"}]},"documentation":{"id":11343,"nodeType":"StructuredDocumentation","src":"11660:331:41","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":11363,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"12005:2:41","nodeType":"FunctionDefinition","parameters":{"id":11349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11346,"mutability":"mutable","name":"set","nameLocation":"12024:3:41","nodeType":"VariableDeclaration","scope":11363,"src":"12008:19:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":11345,"nodeType":"UserDefinedTypeName","pathNode":{"id":11344,"name":"UintSet","nameLocations":["12008:7:41"],"nodeType":"IdentifierPath","referencedDeclaration":11264,"src":"12008:7:41"},"referencedDeclaration":11264,"src":"12008:7:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":11348,"mutability":"mutable","name":"index","nameLocation":"12037:5:41","nodeType":"VariableDeclaration","scope":11363,"src":"12029:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11347,"name":"uint256","nodeType":"ElementaryTypeName","src":"12029:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12007:36:41"},"returnParameters":{"id":11352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11363,"src":"12067:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11350,"name":"uint256","nodeType":"ElementaryTypeName","src":"12067:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12066:9:41"},"scope":11394,"src":"11996:135:41","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11392,"nodeType":"Block","src":"12749:219:41","statements":[{"assignments":[11377],"declarations":[{"constant":false,"id":11377,"mutability":"mutable","name":"store","nameLocation":"12776:5:41","nodeType":"VariableDeclaration","scope":11392,"src":"12759:22:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12759:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11376,"nodeType":"ArrayTypeName","src":"12759:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":11382,"initialValue":{"arguments":[{"expression":{"id":11379,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11367,"src":"12792:3:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":11380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12796:6:41","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11263,"src":"12792:10:41","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$10792_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":11378,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"12784:7:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$10792_storage_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (bytes32[] memory)"}},"id":11381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12784:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12759:44:41"},{"assignments":[11387],"declarations":[{"constant":false,"id":11387,"mutability":"mutable","name":"result","nameLocation":"12830:6:41","nodeType":"VariableDeclaration","scope":11392,"src":"12813:23:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11385,"name":"uint256","nodeType":"ElementaryTypeName","src":"12813:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11386,"nodeType":"ArrayTypeName","src":"12813:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":11388,"nodeType":"VariableDeclarationStatement","src":"12813:23:41"},{"AST":{"nodeType":"YulBlock","src":"12899:39:41","statements":[{"nodeType":"YulAssignment","src":"12913:15:41","value":{"name":"store","nodeType":"YulIdentifier","src":"12923:5:41"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"12913:6:41"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":11387,"isOffset":false,"isSlot":false,"src":"12913:6:41","valueSize":1},{"declaration":11377,"isOffset":false,"isSlot":false,"src":"12923:5:41","valueSize":1}],"id":11389,"nodeType":"InlineAssembly","src":"12890:48:41"},{"expression":{"id":11390,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11387,"src":"12955:6:41","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":11372,"id":11391,"nodeType":"Return","src":"12948:13:41"}]},"documentation":{"id":11364,"nodeType":"StructuredDocumentation","src":"12137:529:41","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"id":11393,"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"12680:6:41","nodeType":"FunctionDefinition","parameters":{"id":11368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11367,"mutability":"mutable","name":"set","nameLocation":"12703:3:41","nodeType":"VariableDeclaration","scope":11393,"src":"12687:19:41","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":11366,"nodeType":"UserDefinedTypeName","pathNode":{"id":11365,"name":"UintSet","nameLocations":["12687:7:41"],"nodeType":"IdentifierPath","referencedDeclaration":11264,"src":"12687:7:41"},"referencedDeclaration":11264,"src":"12687:7:41","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"}],"src":"12686:21:41"},"returnParameters":{"id":11372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11393,"src":"12731:16:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11369,"name":"uint256","nodeType":"ElementaryTypeName","src":"12731:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11370,"nodeType":"ArrayTypeName","src":"12731:9:41","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"12730:18:41"},"scope":11394,"src":"12671:297:41","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":11395,"src":"1330:11640:41","usedErrors":[],"usedEvents":[]}],"src":"205:12766:41"},"id":41},"@openzeppelin/contracts/utils/types/Time.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","exportedSymbols":{"Math":[7015],"SafeCast":[8770],"Time":[11669]},"id":11670,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11396,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"104:24:42"},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"../math/Math.sol","id":11398,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11670,"sourceUnit":7016,"src":"130:38:42","symbolAliases":[{"foreign":{"id":11397,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"138:4:42","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"../math/SafeCast.sol","id":11400,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":11670,"sourceUnit":8771,"src":"169:46:42","symbolAliases":[{"foreign":{"id":11399,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"177:8:42","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Time","contractDependencies":[],"contractKind":"library","documentation":{"id":11401,"nodeType":"StructuredDocumentation","src":"217:422:42","text":" @dev This library provides helpers for manipulating time-related objects.\n It uses the following types:\n - `uint48` for timepoints\n - `uint32` for durations\n While the library doesn't provide specific types for timepoints and duration, it does provide:\n - a `Delay` type to represent duration that can be programmed to change value automatically at a given point\n - additional helper functions"},"fullyImplemented":true,"id":11669,"linearizedBaseContracts":[11669],"name":"Time","nameLocation":"648:4:42","nodeType":"ContractDefinition","nodes":[{"global":false,"id":11403,"libraryName":{"id":11402,"name":"Time","nameLocations":["665:4:42"],"nodeType":"IdentifierPath","referencedDeclaration":11669,"src":"665:4:42"},"nodeType":"UsingForDirective","src":"659:17:42"},{"body":{"id":11415,"nodeType":"Block","src":"802:58:42","statements":[{"expression":{"arguments":[{"expression":{"id":11411,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"837:5:42","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"843:9:42","memberName":"timestamp","nodeType":"MemberAccess","src":"837:15:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11409,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"819:8:42","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":11410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"828:8:42","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"819:17:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":11413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"819:34:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":11408,"id":11414,"nodeType":"Return","src":"812:41:42"}]},"documentation":{"id":11404,"nodeType":"StructuredDocumentation","src":"682:63:42","text":" @dev Get the block timestamp as a Timepoint."},"id":11416,"implemented":true,"kind":"function","modifiers":[],"name":"timestamp","nameLocation":"759:9:42","nodeType":"FunctionDefinition","parameters":{"id":11405,"nodeType":"ParameterList","parameters":[],"src":"768:2:42"},"returnParameters":{"id":11408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11416,"src":"794:6:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11406,"name":"uint48","nodeType":"ElementaryTypeName","src":"794:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"793:8:42"},"scope":11669,"src":"750:110:42","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11428,"nodeType":"Block","src":"985:55:42","statements":[{"expression":{"arguments":[{"expression":{"id":11424,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1020:5:42","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1026:6:42","memberName":"number","nodeType":"MemberAccess","src":"1020:12:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11422,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1002:8:42","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":11423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1011:8:42","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"1002:17:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":11426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1002:31:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":11421,"id":11427,"nodeType":"Return","src":"995:38:42"}]},"documentation":{"id":11417,"nodeType":"StructuredDocumentation","src":"866:60:42","text":" @dev Get the block number as a Timepoint."},"id":11429,"implemented":true,"kind":"function","modifiers":[],"name":"blockNumber","nameLocation":"940:11:42","nodeType":"FunctionDefinition","parameters":{"id":11418,"nodeType":"ParameterList","parameters":[],"src":"951:2:42"},"returnParameters":{"id":11421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11429,"src":"977:6:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11419,"name":"uint48","nodeType":"ElementaryTypeName","src":"977:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"976:8:42"},"scope":11669,"src":"931:109:42","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"Time.Delay","id":11431,"name":"Delay","nameLocation":"2377:5:42","nodeType":"UserDefinedValueTypeDefinition","src":"2372:22:42","underlyingType":{"id":11430,"name":"uint112","nodeType":"ElementaryTypeName","src":"2386:7:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}}},{"body":{"id":11445,"nodeType":"Block","src":"2572:44:42","statements":[{"expression":{"arguments":[{"id":11442,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11434,"src":"2600:8:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":11440,"name":"Delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11431,"src":"2589:5:42","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Delay_$11431_$","typeString":"type(Time.Delay)"}},"id":11441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2595:4:42","memberName":"wrap","nodeType":"MemberAccess","src":"2589:10:42","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint112_$returns$_t_userDefinedValueType$_Delay_$11431_$","typeString":"function (uint112) pure returns (Time.Delay)"}},"id":11443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2589:20:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"functionReturnParameters":11439,"id":11444,"nodeType":"Return","src":"2582:27:42"}]},"documentation":{"id":11432,"nodeType":"StructuredDocumentation","src":"2400:103:42","text":" @dev Wrap a duration into a Delay to add the one-step \"update in the future\" feature"},"id":11446,"implemented":true,"kind":"function","modifiers":[],"name":"toDelay","nameLocation":"2517:7:42","nodeType":"FunctionDefinition","parameters":{"id":11435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11434,"mutability":"mutable","name":"duration","nameLocation":"2532:8:42","nodeType":"VariableDeclaration","scope":11446,"src":"2525:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11433,"name":"uint32","nodeType":"ElementaryTypeName","src":"2525:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2524:17:42"},"returnParameters":{"id":11439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11446,"src":"2565:5:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"},"typeName":{"id":11437,"nodeType":"UserDefinedTypeName","pathNode":{"id":11436,"name":"Delay","nameLocations":["2565:5:42"],"nodeType":"IdentifierPath","referencedDeclaration":11431,"src":"2565:5:42"},"referencedDeclaration":11431,"src":"2565:5:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"visibility":"internal"}],"src":"2564:7:42"},"scope":11669,"src":"2508:108:42","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11484,"nodeType":"Block","src":"2964:180:42","statements":[{"assignments":[11462,11464,11466],"declarations":[{"constant":false,"id":11462,"mutability":"mutable","name":"valueBefore","nameLocation":"2982:11:42","nodeType":"VariableDeclaration","scope":11484,"src":"2975:18:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11461,"name":"uint32","nodeType":"ElementaryTypeName","src":"2975:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11464,"mutability":"mutable","name":"valueAfter","nameLocation":"3002:10:42","nodeType":"VariableDeclaration","scope":11484,"src":"2995:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11463,"name":"uint32","nodeType":"ElementaryTypeName","src":"2995:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11466,"mutability":"mutable","name":"effect","nameLocation":"3021:6:42","nodeType":"VariableDeclaration","scope":11484,"src":"3014:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11465,"name":"uint48","nodeType":"ElementaryTypeName","src":"3014:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":11470,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11467,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11450,"src":"3031:4:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"id":11468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3036:6:42","memberName":"unpack","nodeType":"MemberAccess","referencedDeclaration":11630,"src":"3031:11:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Delay_$11431_$returns$_t_uint32_$_t_uint32_$_t_uint48_$attached_to$_t_userDefinedValueType$_Delay_$11431_$","typeString":"function (Time.Delay) pure returns (uint32,uint32,uint48)"}},"id":11469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3031:13:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint32_$_t_uint32_$_t_uint48_$","typeString":"tuple(uint32,uint32,uint48)"}},"nodeType":"VariableDeclarationStatement","src":"2974:70:42"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":11473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11471,"name":"effect","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11466,"src":"3061:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":11472,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11452,"src":"3071:9:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"3061:19:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"id":11478,"name":"valueBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11462,"src":"3105:11:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":11479,"name":"valueAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11464,"src":"3118:10:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":11480,"name":"effect","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11466,"src":"3130:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"id":11481,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3104:33:42","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint32_$_t_uint32_$_t_uint48_$","typeString":"tuple(uint32,uint32,uint48)"}},"id":11482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3061:76:42","trueExpression":{"components":[{"id":11474,"name":"valueAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11464,"src":"3084:10:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":11475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3096:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":11476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3099:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":11477,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3083:18:42","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint32_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(uint32,int_const 0,int_const 0)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint32_$_t_uint32_$_t_uint48_$","typeString":"tuple(uint32,uint32,uint48)"}},"functionReturnParameters":11460,"id":11483,"nodeType":"Return","src":"3054:83:42"}]},"documentation":{"id":11447,"nodeType":"StructuredDocumentation","src":"2622:241:42","text":" @dev Get the value at a given timepoint plus the pending value and effect timepoint if there is a scheduled\n change after this timepoint. If the effect timepoint is 0, then the pending value should not be considered."},"id":11485,"implemented":true,"kind":"function","modifiers":[],"name":"_getFullAt","nameLocation":"2877:10:42","nodeType":"FunctionDefinition","parameters":{"id":11453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11450,"mutability":"mutable","name":"self","nameLocation":"2894:4:42","nodeType":"VariableDeclaration","scope":11485,"src":"2888:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"},"typeName":{"id":11449,"nodeType":"UserDefinedTypeName","pathNode":{"id":11448,"name":"Delay","nameLocations":["2888:5:42"],"nodeType":"IdentifierPath","referencedDeclaration":11431,"src":"2888:5:42"},"referencedDeclaration":11431,"src":"2888:5:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"visibility":"internal"},{"constant":false,"id":11452,"mutability":"mutable","name":"timepoint","nameLocation":"2907:9:42","nodeType":"VariableDeclaration","scope":11485,"src":"2900:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11451,"name":"uint48","nodeType":"ElementaryTypeName","src":"2900:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2887:30:42"},"returnParameters":{"id":11460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11485,"src":"2940:6:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11454,"name":"uint32","nodeType":"ElementaryTypeName","src":"2940:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11485,"src":"2948:6:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11456,"name":"uint32","nodeType":"ElementaryTypeName","src":"2948:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11485,"src":"2956:6:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11458,"name":"uint48","nodeType":"ElementaryTypeName","src":"2956:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2939:24:42"},"scope":11669,"src":"2868:276:42","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":11504,"nodeType":"Block","src":"3438:53:42","statements":[{"expression":{"arguments":[{"id":11499,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11489,"src":"3466:4:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},{"arguments":[],"expression":{"argumentTypes":[],"id":11500,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11416,"src":"3472:9:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":11501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3472:11:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":11498,"name":"_getFullAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11485,"src":"3455:10:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Delay_$11431_$_t_uint48_$returns$_t_uint32_$_t_uint32_$_t_uint48_$","typeString":"function (Time.Delay,uint48) pure returns (uint32,uint32,uint48)"}},"id":11502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3455:29:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint32_$_t_uint32_$_t_uint48_$","typeString":"tuple(uint32,uint32,uint48)"}},"functionReturnParameters":11497,"id":11503,"nodeType":"Return","src":"3448:36:42"}]},"documentation":{"id":11486,"nodeType":"StructuredDocumentation","src":"3150:207:42","text":" @dev Get the current value plus the pending value and effect timepoint if there is a scheduled change. If the\n effect timepoint is 0, then the pending value should not be considered."},"id":11505,"implemented":true,"kind":"function","modifiers":[],"name":"getFull","nameLocation":"3371:7:42","nodeType":"FunctionDefinition","parameters":{"id":11490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11489,"mutability":"mutable","name":"self","nameLocation":"3385:4:42","nodeType":"VariableDeclaration","scope":11505,"src":"3379:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"},"typeName":{"id":11488,"nodeType":"UserDefinedTypeName","pathNode":{"id":11487,"name":"Delay","nameLocations":["3379:5:42"],"nodeType":"IdentifierPath","referencedDeclaration":11431,"src":"3379:5:42"},"referencedDeclaration":11431,"src":"3379:5:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"visibility":"internal"}],"src":"3378:12:42"},"returnParameters":{"id":11497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11492,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11505,"src":"3414:6:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11491,"name":"uint32","nodeType":"ElementaryTypeName","src":"3414:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11505,"src":"3422:6:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11493,"name":"uint32","nodeType":"ElementaryTypeName","src":"3422:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11505,"src":"3430:6:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11495,"name":"uint48","nodeType":"ElementaryTypeName","src":"3430:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3413:24:42"},"scope":11669,"src":"3362:129:42","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11522,"nodeType":"Block","src":"3604:74:42","statements":[{"assignments":[11515,null,null],"declarations":[{"constant":false,"id":11515,"mutability":"mutable","name":"delay","nameLocation":"3622:5:42","nodeType":"VariableDeclaration","scope":11522,"src":"3615:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11514,"name":"uint32","nodeType":"ElementaryTypeName","src":"3615:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},null,null],"id":11519,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11516,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"3635:4:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"id":11517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3640:7:42","memberName":"getFull","nodeType":"MemberAccess","referencedDeclaration":11505,"src":"3635:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Delay_$11431_$returns$_t_uint32_$_t_uint32_$_t_uint48_$attached_to$_t_userDefinedValueType$_Delay_$11431_$","typeString":"function (Time.Delay) view returns (uint32,uint32,uint48)"}},"id":11518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:14:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint32_$_t_uint32_$_t_uint48_$","typeString":"tuple(uint32,uint32,uint48)"}},"nodeType":"VariableDeclarationStatement","src":"3614:35:42"},{"expression":{"id":11520,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11515,"src":"3666:5:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":11513,"id":11521,"nodeType":"Return","src":"3659:12:42"}]},"documentation":{"id":11506,"nodeType":"StructuredDocumentation","src":"3497:46:42","text":" @dev Get the current value."},"id":11523,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"3557:3:42","nodeType":"FunctionDefinition","parameters":{"id":11510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11509,"mutability":"mutable","name":"self","nameLocation":"3567:4:42","nodeType":"VariableDeclaration","scope":11523,"src":"3561:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"},"typeName":{"id":11508,"nodeType":"UserDefinedTypeName","pathNode":{"id":11507,"name":"Delay","nameLocations":["3561:5:42"],"nodeType":"IdentifierPath","referencedDeclaration":11431,"src":"3561:5:42"},"referencedDeclaration":11431,"src":"3561:5:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"visibility":"internal"}],"src":"3560:12:42"},"returnParameters":{"id":11513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11523,"src":"3596:6:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11511,"name":"uint32","nodeType":"ElementaryTypeName","src":"3596:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"3595:8:42"},"scope":11669,"src":"3548:130:42","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11578,"nodeType":"Block","src":"4128:234:42","statements":[{"assignments":[11540],"declarations":[{"constant":false,"id":11540,"mutability":"mutable","name":"value","nameLocation":"4145:5:42","nodeType":"VariableDeclaration","scope":11578,"src":"4138:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11539,"name":"uint32","nodeType":"ElementaryTypeName","src":"4138:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":11544,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11541,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11527,"src":"4153:4:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"id":11542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4158:3:42","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":11523,"src":"4153:8:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Delay_$11431_$returns$_t_uint32_$attached_to$_t_userDefinedValueType$_Delay_$11431_$","typeString":"function (Time.Delay) view returns (uint32)"}},"id":11543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4153:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"4138:25:42"},{"assignments":[11546],"declarations":[{"constant":false,"id":11546,"mutability":"mutable","name":"setback","nameLocation":"4180:7:42","nodeType":"VariableDeclaration","scope":11578,"src":"4173:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11545,"name":"uint32","nodeType":"ElementaryTypeName","src":"4173:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":11562,"initialValue":{"arguments":[{"arguments":[{"id":11551,"name":"minSetback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11531,"src":"4206:10:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":11554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11552,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11540,"src":"4218:5:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":11553,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11529,"src":"4226:8:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"4218:16:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":11558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4256:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":11559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4218:39:42","trueExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":11557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11555,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11540,"src":"4237:5:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":11556,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11529,"src":"4245:8:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"4237:16:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":11549,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"4197:4:42","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":11550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4202:3:42","memberName":"max","nodeType":"MemberAccess","referencedDeclaration":6148,"src":"4197:8:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":11560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4197:61:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4190:6:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":11547,"name":"uint32","nodeType":"ElementaryTypeName","src":"4190:6:42","typeDescriptions":{}}},"id":11561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4190:69:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"4173:86:42"},{"expression":{"id":11568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11563,"name":"effect","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11537,"src":"4269:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":11567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":11564,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11416,"src":"4278:9:42","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":11565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4278:11:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":11566,"name":"setback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11546,"src":"4292:7:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"4278:21:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"4269:30:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":11569,"nodeType":"ExpressionStatement","src":"4269:30:42"},{"expression":{"components":[{"arguments":[{"id":11571,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11540,"src":"4322:5:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":11572,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11529,"src":"4329:8:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":11573,"name":"effect","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11537,"src":"4339:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":11570,"name":"pack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11668,"src":"4317:4:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint32_$_t_uint32_$_t_uint48_$returns$_t_userDefinedValueType$_Delay_$11431_$","typeString":"function (uint32,uint32,uint48) pure returns (Time.Delay)"}},"id":11574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4317:29:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},{"id":11575,"name":"effect","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11537,"src":"4348:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"id":11576,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4316:39:42","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Delay_$11431_$_t_uint48_$","typeString":"tuple(Time.Delay,uint48)"}},"functionReturnParameters":11538,"id":11577,"nodeType":"Return","src":"4309:46:42"}]},"documentation":{"id":11524,"nodeType":"StructuredDocumentation","src":"3684:283:42","text":" @dev Update a Delay object so that it takes a new duration after a timepoint that is automatically computed to\n enforce the old delay at the moment of the update. Returns the updated Delay object and the timestamp when the\n new delay becomes effective."},"id":11579,"implemented":true,"kind":"function","modifiers":[],"name":"withUpdate","nameLocation":"3981:10:42","nodeType":"FunctionDefinition","parameters":{"id":11532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11527,"mutability":"mutable","name":"self","nameLocation":"4007:4:42","nodeType":"VariableDeclaration","scope":11579,"src":"4001:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"},"typeName":{"id":11526,"nodeType":"UserDefinedTypeName","pathNode":{"id":11525,"name":"Delay","nameLocations":["4001:5:42"],"nodeType":"IdentifierPath","referencedDeclaration":11431,"src":"4001:5:42"},"referencedDeclaration":11431,"src":"4001:5:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"visibility":"internal"},{"constant":false,"id":11529,"mutability":"mutable","name":"newValue","nameLocation":"4028:8:42","nodeType":"VariableDeclaration","scope":11579,"src":"4021:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11528,"name":"uint32","nodeType":"ElementaryTypeName","src":"4021:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11531,"mutability":"mutable","name":"minSetback","nameLocation":"4053:10:42","nodeType":"VariableDeclaration","scope":11579,"src":"4046:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11530,"name":"uint32","nodeType":"ElementaryTypeName","src":"4046:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"3991:78:42"},"returnParameters":{"id":11538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11535,"mutability":"mutable","name":"updatedDelay","nameLocation":"4099:12:42","nodeType":"VariableDeclaration","scope":11579,"src":"4093:18:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"},"typeName":{"id":11534,"nodeType":"UserDefinedTypeName","pathNode":{"id":11533,"name":"Delay","nameLocations":["4093:5:42"],"nodeType":"IdentifierPath","referencedDeclaration":11431,"src":"4093:5:42"},"referencedDeclaration":11431,"src":"4093:5:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"visibility":"internal"},{"constant":false,"id":11537,"mutability":"mutable","name":"effect","nameLocation":"4120:6:42","nodeType":"VariableDeclaration","scope":11579,"src":"4113:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11536,"name":"uint48","nodeType":"ElementaryTypeName","src":"4113:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"4092:35:42"},"scope":11669,"src":"3972:390:42","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11629,"nodeType":"Block","src":"4595:212:42","statements":[{"assignments":[11593],"declarations":[{"constant":false,"id":11593,"mutability":"mutable","name":"raw","nameLocation":"4613:3:42","nodeType":"VariableDeclaration","scope":11629,"src":"4605:11:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"},"typeName":{"id":11592,"name":"uint112","nodeType":"ElementaryTypeName","src":"4605:7:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"visibility":"internal"}],"id":11598,"initialValue":{"arguments":[{"id":11596,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11583,"src":"4632:4:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}],"expression":{"id":11594,"name":"Delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11431,"src":"4619:5:42","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Delay_$11431_$","typeString":"type(Time.Delay)"}},"id":11595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4625:6:42","memberName":"unwrap","nodeType":"MemberAccess","src":"4619:12:42","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Delay_$11431_$returns$_t_uint112_$","typeString":"function (Time.Delay) pure returns (uint112)"}},"id":11597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4619:18:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"nodeType":"VariableDeclarationStatement","src":"4605:32:42"},{"expression":{"id":11604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11599,"name":"valueAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11588,"src":"4648:10:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11602,"name":"raw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11593,"src":"4668:3:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint112","typeString":"uint112"}],"id":11601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4661:6:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":11600,"name":"uint32","nodeType":"ElementaryTypeName","src":"4661:6:42","typeDescriptions":{}}},"id":11603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4661:11:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"4648:24:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":11605,"nodeType":"ExpressionStatement","src":"4648:24:42"},{"expression":{"id":11613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11606,"name":"valueBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11586,"src":"4682:11:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint112","typeString":"uint112"},"id":11611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11609,"name":"raw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11593,"src":"4703:3:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":11610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4710:2:42","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"4703:9:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint112","typeString":"uint112"}],"id":11608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4696:6:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":11607,"name":"uint32","nodeType":"ElementaryTypeName","src":"4696:6:42","typeDescriptions":{}}},"id":11612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4696:17:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"4682:31:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":11614,"nodeType":"ExpressionStatement","src":"4682:31:42"},{"expression":{"id":11622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11615,"name":"effect","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11590,"src":"4723:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint112","typeString":"uint112"},"id":11620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11618,"name":"raw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11593,"src":"4739:3:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":11619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4746:2:42","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"4739:9:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint112","typeString":"uint112"}],"id":11617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4732:6:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":11616,"name":"uint48","nodeType":"ElementaryTypeName","src":"4732:6:42","typeDescriptions":{}}},"id":11621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:17:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"4723:26:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":11623,"nodeType":"ExpressionStatement","src":"4723:26:42"},{"expression":{"components":[{"id":11624,"name":"valueBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11586,"src":"4768:11:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":11625,"name":"valueAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11588,"src":"4781:10:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":11626,"name":"effect","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11590,"src":"4793:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"id":11627,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4767:33:42","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint32_$_t_uint32_$_t_uint48_$","typeString":"tuple(uint32,uint32,uint48)"}},"functionReturnParameters":11591,"id":11628,"nodeType":"Return","src":"4760:40:42"}]},"documentation":{"id":11580,"nodeType":"StructuredDocumentation","src":"4368:117:42","text":" @dev Split a delay into its components: valueBefore, valueAfter and effect (transition timepoint)."},"id":11630,"implemented":true,"kind":"function","modifiers":[],"name":"unpack","nameLocation":"4499:6:42","nodeType":"FunctionDefinition","parameters":{"id":11584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11583,"mutability":"mutable","name":"self","nameLocation":"4512:4:42","nodeType":"VariableDeclaration","scope":11630,"src":"4506:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"},"typeName":{"id":11582,"nodeType":"UserDefinedTypeName","pathNode":{"id":11581,"name":"Delay","nameLocations":["4506:5:42"],"nodeType":"IdentifierPath","referencedDeclaration":11431,"src":"4506:5:42"},"referencedDeclaration":11431,"src":"4506:5:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"visibility":"internal"}],"src":"4505:12:42"},"returnParameters":{"id":11591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11586,"mutability":"mutable","name":"valueBefore","nameLocation":"4548:11:42","nodeType":"VariableDeclaration","scope":11630,"src":"4541:18:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11585,"name":"uint32","nodeType":"ElementaryTypeName","src":"4541:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11588,"mutability":"mutable","name":"valueAfter","nameLocation":"4568:10:42","nodeType":"VariableDeclaration","scope":11630,"src":"4561:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11587,"name":"uint32","nodeType":"ElementaryTypeName","src":"4561:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11590,"mutability":"mutable","name":"effect","nameLocation":"4587:6:42","nodeType":"VariableDeclaration","scope":11630,"src":"4580:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11589,"name":"uint48","nodeType":"ElementaryTypeName","src":"4580:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"4540:54:42"},"scope":11669,"src":"4490:317:42","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11667,"nodeType":"Block","src":"4980:112:42","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint112","typeString":"uint112"},"id":11664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint112","typeString":"uint112"},"id":11659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint112","typeString":"uint112"},"id":11650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":11647,"name":"effect","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11637,"src":"5017:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":11646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5009:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":11645,"name":"uint112","nodeType":"ElementaryTypeName","src":"5009:7:42","typeDescriptions":{}}},"id":11648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5009:15:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3634","id":11649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5028:2:42","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"5009:21:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}}],"id":11651,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5008:23:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint112","typeString":"uint112"},"id":11657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":11654,"name":"valueBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11633,"src":"5043:11:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":11653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5035:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":11652,"name":"uint112","nodeType":"ElementaryTypeName","src":"5035:7:42","typeDescriptions":{}}},"id":11655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5035:20:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3332","id":11656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5059:2:42","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"5035:26:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}}],"id":11658,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5034:28:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"src":"5008:54:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"id":11662,"name":"valueAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11635,"src":"5073:10:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":11661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5065:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":11660,"name":"uint112","nodeType":"ElementaryTypeName","src":"5065:7:42","typeDescriptions":{}}},"id":11663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5065:19:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"src":"5008:76:42","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint112","typeString":"uint112"}],"expression":{"id":11643,"name":"Delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11431,"src":"4997:5:42","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Delay_$11431_$","typeString":"type(Time.Delay)"}},"id":11644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5003:4:42","memberName":"wrap","nodeType":"MemberAccess","src":"4997:10:42","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint112_$returns$_t_userDefinedValueType$_Delay_$11431_$","typeString":"function (uint112) pure returns (Time.Delay)"}},"id":11665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4997:88:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"functionReturnParameters":11642,"id":11666,"nodeType":"Return","src":"4990:95:42"}]},"documentation":{"id":11631,"nodeType":"StructuredDocumentation","src":"4813:64:42","text":" @dev pack the components into a Delay object."},"id":11668,"implemented":true,"kind":"function","modifiers":[],"name":"pack","nameLocation":"4891:4:42","nodeType":"FunctionDefinition","parameters":{"id":11638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11633,"mutability":"mutable","name":"valueBefore","nameLocation":"4903:11:42","nodeType":"VariableDeclaration","scope":11668,"src":"4896:18:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11632,"name":"uint32","nodeType":"ElementaryTypeName","src":"4896:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11635,"mutability":"mutable","name":"valueAfter","nameLocation":"4923:10:42","nodeType":"VariableDeclaration","scope":11668,"src":"4916:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11634,"name":"uint32","nodeType":"ElementaryTypeName","src":"4916:6:42","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":11637,"mutability":"mutable","name":"effect","nameLocation":"4942:6:42","nodeType":"VariableDeclaration","scope":11668,"src":"4935:13:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11636,"name":"uint48","nodeType":"ElementaryTypeName","src":"4935:6:42","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"4895:54:42"},"returnParameters":{"id":11642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11668,"src":"4973:5:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"},"typeName":{"id":11640,"nodeType":"UserDefinedTypeName","pathNode":{"id":11639,"name":"Delay","nameLocations":["4973:5:42"],"nodeType":"IdentifierPath","referencedDeclaration":11431,"src":"4973:5:42"},"referencedDeclaration":11431,"src":"4973:5:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Delay_$11431","typeString":"Time.Delay"}},"visibility":"internal"}],"src":"4972:7:42"},"scope":11669,"src":"4882:210:42","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":11670,"src":"640:4454:42","usedErrors":[],"usedEvents":[]}],"src":"104:4991:42"},"id":42},"contracts/GalaxyMember.sol":{"ast":{"absolutePath":"contracts/GalaxyMember.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Checkpoints":[10447],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"ERC721BurnableUpgradeable":[3189],"ERC721EnumerableUpgradeable":[3674],"ERC721PausableUpgradeable":[3728],"ERC721URIStorageUpgradeable":[3898],"ERC721Upgradeable":[3144],"GalaxyMember":[13938],"IAccessControl":[4415],"IB3TR":[62888],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC4906":[4526],"IERC721":[5253],"IERC721Enumerable":[5303],"IERC721Errors":[4656],"IERC721Metadata":[5331],"IERC721Receiver":[5271],"IGalaxyMember":[65196],"INodeManagementV3":[71617],"IStargateNFT":[72687],"ITokenAuction":[73165],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"Math":[7015],"PausableUpgradeable":[4163],"ReentrancyGuardUpgradeable":[4292],"SafeCast":[8770],"SignedMath":[8875],"Strings":[5949],"Time":[11669],"UUPSUpgradeable":[1914]},"id":13939,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":11671,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:43"},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","id":11672,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":3145,"src":"1220:80:43","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","id":11673,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":3675,"src":"1301:101:43","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","id":11674,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":3899,"src":"1403:101:43","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","id":11675,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":3729,"src":"1505:99:43","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","id":11676,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":3190,"src":"1605:99:43","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":11677,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":363,"src":"1705:81:43","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","id":11678,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":5950,"src":"1787:51:43","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":11679,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":4293,"src":"1839:82:43","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":11681,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":10448,"src":"1922:84:43","symbolAliases":[{"foreign":{"id":11680,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1931:11:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":11683,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":8771,"src":"2007:75:43","symbolAliases":[{"foreign":{"id":11682,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"2016:8:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"./interfaces/IXAllocationVotingGovernor.sol","id":11685,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":71125,"src":"2083:89:43","symbolAliases":[{"foreign":{"id":11684,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"2092:26:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"./interfaces/IB3TRGovernor.sol","id":11687,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":63920,"src":"2173:63:43","symbolAliases":[{"foreign":{"id":11686,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2182:13:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"./interfaces/IB3TR.sol","id":11689,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":62889,"src":"2237:47:43","symbolAliases":[{"foreign":{"id":11688,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"2246:5:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/ITokenAuction.sol","file":"./mocks/Stargate/interfaces/ITokenAuction.sol","id":11691,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":73166,"src":"2285:78:43","symbolAliases":[{"foreign":{"id":11690,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"2294:13:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol","file":"./mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol","id":11693,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":71618,"src":"2364:102:43","symbolAliases":[{"foreign":{"id":11692,"name":"INodeManagementV3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71617,"src":"2373:17:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":11694,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":1915,"src":"2467:77:43","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":11696,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":11670,"src":"2545:68:43","symbolAliases":[{"foreign":{"id":11695,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"2554:4:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"./interfaces/IGalaxyMember.sol","id":11698,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":65197,"src":"2614:63:43","symbolAliases":[{"foreign":{"id":11697,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"2623:13:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/IStargateNFT.sol","file":"./mocks/Stargate/interfaces/IStargateNFT.sol","id":11700,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13939,"sourceUnit":72688,"src":"2678:76:43","symbolAliases":[{"foreign":{"id":11699,"name":"IStargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72687,"src":"2687:12:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":11702,"name":"ERC721Upgradeable","nameLocations":["5194:17:43"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"5194:17:43"},"id":11703,"nodeType":"InheritanceSpecifier","src":"5194:17:43"},{"baseName":{"id":11704,"name":"ERC721EnumerableUpgradeable","nameLocations":["5215:27:43"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"5215:27:43"},"id":11705,"nodeType":"InheritanceSpecifier","src":"5215:27:43"},{"baseName":{"id":11706,"name":"ERC721PausableUpgradeable","nameLocations":["5246:25:43"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"5246:25:43"},"id":11707,"nodeType":"InheritanceSpecifier","src":"5246:25:43"},{"baseName":{"id":11708,"name":"ERC721BurnableUpgradeable","nameLocations":["5275:25:43"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"5275:25:43"},"id":11709,"nodeType":"InheritanceSpecifier","src":"5275:25:43"},{"baseName":{"id":11710,"name":"AccessControlUpgradeable","nameLocations":["5304:24:43"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"5304:24:43"},"id":11711,"nodeType":"InheritanceSpecifier","src":"5304:24:43"},{"baseName":{"id":11712,"name":"ReentrancyGuardUpgradeable","nameLocations":["5332:26:43"],"nodeType":"IdentifierPath","referencedDeclaration":4292,"src":"5332:26:43"},"id":11713,"nodeType":"InheritanceSpecifier","src":"5332:26:43"},{"baseName":{"id":11714,"name":"UUPSUpgradeable","nameLocations":["5362:15:43"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"5362:15:43"},"id":11715,"nodeType":"InheritanceSpecifier","src":"5362:15:43"}],"canonicalName":"GalaxyMember","contractDependencies":[],"contractKind":"contract","documentation":{"id":11701,"nodeType":"StructuredDocumentation","src":"2756:2410:43","text":" @title GalaxyMember\n @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n --------------------------------- VERSION 2 ---------------------------------\n - Added Vechain Nodes contract to attach and detach nodes to tokens\n - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n - Added free upgrade levels for each Vechain node level\n - Removed automatic highest level owned selection\n - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n - Core logic functions are now overridable through inheritance\n - B3TRGovernor has been updated to V2 thus pointing to the new interface\n - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\n --------------------------------- VERSION 3 ---------------------------------\n - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated())\n - Added `selectFor` function to allow the admin to select a token for the user\n - Added checkpoints for the selected token ID of the user\n - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking\n --------------------------------- VERSION 4 ---------------------------------\n - Added events to track the level of the token when attaching and detaching nodes\n --------------------------------- VERSION 5 ---------------------------------\n - Upon StarGate launch, we updated the NodeManagement contract to V3\n - Deprecated usage of vechainNodes contract address in favor of nodeManagement contract address, ie\n   removed `setVechainNodes`\n   updated `getNodeLevelOf` to use nodeManagement contract\n   updated ownership conditions on `detachNode` to use nodeManagement contract\n --------------------------------- VERSION 6 ---------------------------------\n - Removes Nodemanagement and TokenAuction in favor of Stargate Contract\n - Replaced `nodeManagement.getNodeManager` with `stargateNFT.getTokenManager`\n - Replaced `nodeManagement.getNodeOwner` with `stargateNFT.ownerOf`\n - Replaced `nodeManagement.getNodeLevel` with `stargateNFT.getTokenLevel`"},"fullyImplemented":true,"id":13938,"linearizedBaseContracts":[13938,1914,4566,4292,362,3189,3728,4163,3674,5303,3144,4656,5331,5253,4332,5961,4415,3987,1732],"name":"GalaxyMember","nameLocation":"5176:12:43","nodeType":"ContractDefinition","nodes":[{"global":false,"id":11719,"libraryName":{"id":11716,"name":"Checkpoints","nameLocations":["5388:11:43"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"5388:11:43"},"nodeType":"UsingForDirective","src":"5382:43:43","typeName":{"id":11718,"nodeType":"UserDefinedTypeName","pathNode":{"id":11717,"name":"Checkpoints.Trace208","nameLocations":["5404:11:43","5416:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"5404:20:43"},"referencedDeclaration":9409,"src":"5404:20:43","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"constant":true,"functionSelector":"f72c0d8b","id":11724,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"5538:13:43","nodeType":"VariableDeclaration","scope":13938,"src":"5514:66:43","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5514:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":11722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5564:15:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":11721,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5554:9:43","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5554:26:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":11729,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"5608:11:43","nodeType":"VariableDeclaration","scope":13938,"src":"5584:62:43","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5584:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":11727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5632:13:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":11726,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5622:9:43","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5622:24:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"d5391393","id":11734,"mutability":"constant","name":"MINTER_ROLE","nameLocation":"5674:11:43","nodeType":"VariableDeclaration","scope":13938,"src":"5650:62:43","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11730,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5650:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4d494e5445525f524f4c45","id":11732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5698:13:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""},"value":"MINTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""}],"id":11731,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5688:9:43","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5688:24:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"952f2133","id":11739,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"5740:30:43","nodeType":"VariableDeclaration","scope":13938,"src":"5716:100:43","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5716:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":11737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5783:32:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":11736,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5773:9:43","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5773:43:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"3d6dbee8","id":11744,"mutability":"constant","name":"NODES_MANAGER_ROLE","nameLocation":"5844:18:43","nodeType":"VariableDeclaration","scope":13938,"src":"5820:76:43","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5820:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4e4f4445535f4d414e414745525f524f4c45","id":11742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5875:20:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""},"value":"NODES_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""}],"id":11741,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5865:9:43","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5865:31:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"GalaxyMember.GalaxyMemberStorage","documentation":{"id":11745,"nodeType":"StructuredDocumentation","src":"5901:204:43","text":"@notice Storage structure for GalaxyMember\n @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n @custom:storage-location erc7201:b3tr.storage.GalaxyMember"},"id":11819,"members":[{"constant":false,"id":11748,"mutability":"mutable","name":"xAllocationsGovernor","nameLocation":"6168:20:43","nodeType":"VariableDeclaration","scope":11819,"src":"6141:47:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":11747,"nodeType":"UserDefinedTypeName","pathNode":{"id":11746,"name":"IXAllocationVotingGovernor","nameLocations":["6141:26:43"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"6141:26:43"},"referencedDeclaration":71124,"src":"6141:26:43","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":11751,"mutability":"mutable","name":"b3trGovernor","nameLocation":"6246:12:43","nodeType":"VariableDeclaration","scope":11819,"src":"6232:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":11750,"nodeType":"UserDefinedTypeName","pathNode":{"id":11749,"name":"IB3TRGovernor","nameLocations":["6232:13:43"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"6232:13:43"},"referencedDeclaration":63919,"src":"6232:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"},{"constant":false,"id":11754,"mutability":"mutable","name":"b3tr","nameLocation":"6295:4:43","nodeType":"VariableDeclaration","scope":11819,"src":"6289:10:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":11753,"nodeType":"UserDefinedTypeName","pathNode":{"id":11752,"name":"IB3TR","nameLocations":["6289:5:43"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"6289:5:43"},"referencedDeclaration":62888,"src":"6289:5:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":11756,"mutability":"mutable","name":"treasury","nameLocation":"6336:8:43","nodeType":"VariableDeclaration","scope":11819,"src":"6328:16:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11755,"name":"address","nodeType":"ElementaryTypeName","src":"6328:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11758,"mutability":"mutable","name":"_baseTokenURI","nameLocation":"6386:13:43","nodeType":"VariableDeclaration","scope":11819,"src":"6379:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":11757,"name":"string","nodeType":"ElementaryTypeName","src":"6379:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11760,"mutability":"mutable","name":"_nextTokenId","nameLocation":"6439:12:43","nodeType":"VariableDeclaration","scope":11819,"src":"6431:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11759,"name":"uint256","nodeType":"ElementaryTypeName","src":"6431:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11762,"mutability":"mutable","name":"MAX_LEVEL","nameLocation":"6495:9:43","nodeType":"VariableDeclaration","scope":11819,"src":"6487:17:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11761,"name":"uint256","nodeType":"ElementaryTypeName","src":"6487:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11766,"mutability":"mutable","name":"levelOf","nameLocation":"6602:7:43","nodeType":"VariableDeclaration","scope":11819,"src":"6574:35:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":11765,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11763,"name":"uint256","nodeType":"ElementaryTypeName","src":"6582:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6574:27:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11764,"name":"uint256","nodeType":"ElementaryTypeName","src":"6593:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":11770,"mutability":"mutable","name":"_b3trToUpgradeToLevel","nameLocation":"6690:21:43","nodeType":"VariableDeclaration","scope":11819,"src":"6662:49:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":11769,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11767,"name":"uint256","nodeType":"ElementaryTypeName","src":"6670:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6662:27:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11768,"name":"uint256","nodeType":"ElementaryTypeName","src":"6681:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":11775,"mutability":"mutable","name":"_selectedLevelCheckpoints","nameLocation":"6828:25:43","nodeType":"VariableDeclaration","scope":11819,"src":"6781:72:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":11774,"keyName":"owner","keyNameLocation":"6797:5:43","keyType":{"id":11771,"name":"address","nodeType":"ElementaryTypeName","src":"6789:7:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6781:46:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11773,"nodeType":"UserDefinedTypeName","pathNode":{"id":11772,"name":"Checkpoints.Trace208","nameLocations":["6806:11:43","6818:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"6806:20:43"},"referencedDeclaration":9409,"src":"6806:20:43","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":11781,"mutability":"mutable","name":"_ownedLevels","nameLocation":"6953:12:43","nodeType":"VariableDeclaration","scope":11819,"src":"6905:60:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":11780,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11776,"name":"address","nodeType":"ElementaryTypeName","src":"6913:7:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6905:47:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11779,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11777,"name":"uint256","nodeType":"ElementaryTypeName","src":"6932:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6924:27:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11778,"name":"uint256","nodeType":"ElementaryTypeName","src":"6943:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":11783,"mutability":"mutable","name":"isPublicMintingPaused","nameLocation":"7030:21:43","nodeType":"VariableDeclaration","scope":11819,"src":"7025:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11782,"name":"bool","nodeType":"ElementaryTypeName","src":"7025:4:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11786,"mutability":"mutable","name":"vechainNodes","nameLocation":"7182:12:43","nodeType":"VariableDeclaration","scope":11819,"src":"7168:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"},"typeName":{"id":11785,"nodeType":"UserDefinedTypeName","pathNode":{"id":11784,"name":"ITokenAuction","nameLocations":["7168:13:43"],"nodeType":"IdentifierPath","referencedDeclaration":73165,"src":"7168:13:43"},"referencedDeclaration":73165,"src":"7168:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"visibility":"internal"},{"constant":false,"id":11789,"mutability":"mutable","name":"nodeManagement","nameLocation":"7244:14:43","nodeType":"VariableDeclaration","scope":11819,"src":"7226:32:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"},"typeName":{"id":11788,"nodeType":"UserDefinedTypeName","pathNode":{"id":11787,"name":"INodeManagementV3","nameLocations":["7226:17:43"],"nodeType":"IdentifierPath","referencedDeclaration":71617,"src":"7226:17:43"},"referencedDeclaration":71617,"src":"7226:17:43","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"visibility":"internal"},{"constant":false,"id":11793,"mutability":"mutable","name":"_nodeToTokenId","nameLocation":"7320:14:43","nodeType":"VariableDeclaration","scope":11819,"src":"7292:42:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":11792,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11790,"name":"uint256","nodeType":"ElementaryTypeName","src":"7300:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7292:27:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11791,"name":"uint256","nodeType":"ElementaryTypeName","src":"7311:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":11798,"mutability":"mutable","name":"_tokenIdToNode","nameLocation":"7891:14:43","nodeType":"VariableDeclaration","scope":11819,"src":"7863:42:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":11797,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11795,"name":"uint256","nodeType":"ElementaryTypeName","src":"7871:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7863:27:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11796,"name":"uint256","nodeType":"ElementaryTypeName","src":"7882:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":11802,"mutability":"mutable","name":"_nodeToFreeUpgradeLevel","nameLocation":"8052:23:43","nodeType":"VariableDeclaration","scope":11819,"src":"8026:49:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"typeName":{"id":11801,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11799,"name":"uint8","nodeType":"ElementaryTypeName","src":"8034:5:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"8026:25:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11800,"name":"uint256","nodeType":"ElementaryTypeName","src":"8043:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":11806,"mutability":"mutable","name":"_tokenIdToB3TRdonated","nameLocation":"8255:21:43","nodeType":"VariableDeclaration","scope":11819,"src":"8227:49:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":11805,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11803,"name":"uint256","nodeType":"ElementaryTypeName","src":"8235:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"8227:27:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11804,"name":"uint256","nodeType":"ElementaryTypeName","src":"8246:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":11810,"mutability":"mutable","name":"_selectedTokenID_DEPRECATED","nameLocation":"8368:27:43","nodeType":"VariableDeclaration","scope":11819,"src":"8340:55:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":11809,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11807,"name":"address","nodeType":"ElementaryTypeName","src":"8348:7:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"8340:27:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11808,"name":"uint256","nodeType":"ElementaryTypeName","src":"8359:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":11815,"mutability":"mutable","name":"_selectedTokenIDCheckpoints","nameLocation":"8612:27:43","nodeType":"VariableDeclaration","scope":11819,"src":"8571:68:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":11814,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11811,"name":"address","nodeType":"ElementaryTypeName","src":"8579:7:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"8571:40:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11813,"nodeType":"UserDefinedTypeName","pathNode":{"id":11812,"name":"Checkpoints.Trace208","nameLocations":["8590:11:43","8602:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"8590:20:43"},"referencedDeclaration":9409,"src":"8590:20:43","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":11818,"mutability":"mutable","name":"stargateNFT","nameLocation":"8789:11:43","nodeType":"VariableDeclaration","scope":11819,"src":"8776:24:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"},"typeName":{"id":11817,"nodeType":"UserDefinedTypeName","pathNode":{"id":11816,"name":"IStargateNFT","nameLocations":["8776:12:43"],"nodeType":"IdentifierPath","referencedDeclaration":72687,"src":"8776:12:43"},"referencedDeclaration":72687,"src":"8776:12:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"visibility":"internal"}],"name":"GalaxyMemberStorage","nameLocation":"6115:19:43","nodeType":"StructDefinition","scope":13938,"src":"6108:2721:43","visibility":"public"},{"constant":true,"documentation":{"id":11820,"nodeType":"StructuredDocumentation","src":"8833:160:43","text":"@notice Storage slot for GalaxyMemberStorage\n @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))"},"id":11823,"mutability":"constant","name":"GalaxyMemberStorageLocation","nameLocation":"9021:27:43","nodeType":"VariableDeclaration","scope":13938,"src":"8996:125:43","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8996:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613739653436383434656430343431316534353739633762633439643035336535396230383534666134653961386466336435613035393763653435323030","id":11822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9055:66:43","typeDescriptions":{"typeIdentifier":"t_rational_55397532431256944332624412610074443018145280775219256269508870897919582294528_by_1","typeString":"int_const 5539...(69 digits omitted)...4528"},"value":"0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200"},"visibility":"private"},{"body":{"id":11831,"nodeType":"Block","src":"9290:70:43","statements":[{"AST":{"nodeType":"YulBlock","src":"9305:51:43","statements":[{"nodeType":"YulAssignment","src":"9313:37:43","value":{"name":"GalaxyMemberStorageLocation","nodeType":"YulIdentifier","src":"9323:27:43"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"9313:6:43"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":11828,"isOffset":false,"isSlot":true,"src":"9313:6:43","suffix":"slot","valueSize":1},{"declaration":11823,"isOffset":false,"isSlot":false,"src":"9323:27:43","valueSize":1}],"id":11830,"nodeType":"InlineAssembly","src":"9296:60:43"}]},"documentation":{"id":11824,"nodeType":"StructuredDocumentation","src":"9126:73:43","text":"@dev Retrieves the current state from the GalaxyMemberStorage mapping"},"id":11832,"implemented":true,"kind":"function","modifiers":[],"name":"_getGalaxyMemberStorage","nameLocation":"9211:23:43","nodeType":"FunctionDefinition","parameters":{"id":11825,"nodeType":"ParameterList","parameters":[],"src":"9234:2:43"},"returnParameters":{"id":11829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11828,"mutability":"mutable","name":"$","nameLocation":"9287:1:43","nodeType":"VariableDeclaration","scope":11832,"src":"9259:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":11827,"nodeType":"UserDefinedTypeName","pathNode":{"id":11826,"name":"GalaxyMemberStorage","nameLocations":["9259:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"9259:19:43"},"referencedDeclaration":11819,"src":"9259:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"src":"9258:31:43"},"scope":13938,"src":"9202:158:43","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"documentation":{"id":11833,"nodeType":"StructuredDocumentation","src":"9364:79:43","text":"@dev Emitted when an account changes the selected token for voting rewards."},"eventSelector":"d3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc","id":11839,"name":"Selected","nameLocation":"9452:8:43","nodeType":"EventDefinition","parameters":{"id":11838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11835,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"9477:5:43","nodeType":"VariableDeclaration","scope":11839,"src":"9461:21:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11834,"name":"address","nodeType":"ElementaryTypeName","src":"9461:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11837,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"9492:7:43","nodeType":"VariableDeclaration","scope":11839,"src":"9484:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11836,"name":"uint256","nodeType":"ElementaryTypeName","src":"9484:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9460:40:43"},"src":"9446:55:43"},{"anonymous":false,"documentation":{"id":11840,"nodeType":"StructuredDocumentation","src":"9505:42:43","text":"@dev Emitted when a token is upgraded."},"eventSelector":"936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854","id":11848,"name":"Upgraded","nameLocation":"9556:8:43","nodeType":"EventDefinition","parameters":{"id":11847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11842,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9581:7:43","nodeType":"VariableDeclaration","scope":11848,"src":"9565:23:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11841,"name":"uint256","nodeType":"ElementaryTypeName","src":"9565:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11844,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"9598:8:43","nodeType":"VariableDeclaration","scope":11848,"src":"9590:16:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11843,"name":"uint256","nodeType":"ElementaryTypeName","src":"9590:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11846,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"9616:8:43","nodeType":"VariableDeclaration","scope":11848,"src":"9608:16:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11845,"name":"uint256","nodeType":"ElementaryTypeName","src":"9608:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9564:61:43"},"src":"9550:76:43"},{"anonymous":false,"documentation":{"id":11849,"nodeType":"StructuredDocumentation","src":"9630:47:43","text":"@dev Emitted when the max level is updated."},"eventSelector":"53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450","id":11855,"name":"MaxLevelUpdated","nameLocation":"9686:15:43","nodeType":"EventDefinition","parameters":{"id":11854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11851,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"9710:8:43","nodeType":"VariableDeclaration","scope":11855,"src":"9702:16:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11850,"name":"uint256","nodeType":"ElementaryTypeName","src":"9702:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11853,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"9728:8:43","nodeType":"VariableDeclaration","scope":11855,"src":"9720:16:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11852,"name":"uint256","nodeType":"ElementaryTypeName","src":"9720:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9701:36:43"},"src":"9680:58:43"},{"anonymous":false,"documentation":{"id":11856,"nodeType":"StructuredDocumentation","src":"9742:75:43","text":"@dev Emitted when XAllocationVotingGovernor contract address is updated"},"eventSelector":"d9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af129","id":11862,"name":"XAllocationsGovernorAddressUpdated","nameLocation":"9826:34:43","nodeType":"EventDefinition","parameters":{"id":11861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11858,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"9877:10:43","nodeType":"VariableDeclaration","scope":11862,"src":"9861:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11857,"name":"address","nodeType":"ElementaryTypeName","src":"9861:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11860,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"9905:10:43","nodeType":"VariableDeclaration","scope":11862,"src":"9889:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11859,"name":"address","nodeType":"ElementaryTypeName","src":"9889:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9860:56:43"},"src":"9820:97:43"},{"anonymous":false,"documentation":{"id":11863,"nodeType":"StructuredDocumentation","src":"9921:62:43","text":"@dev Emitted when B3TRGovernor contract address is updated"},"eventSelector":"95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a8270","id":11869,"name":"B3trGovernorAddressUpdated","nameLocation":"9992:26:43","nodeType":"EventDefinition","parameters":{"id":11868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11865,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"10035:10:43","nodeType":"VariableDeclaration","scope":11869,"src":"10019:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11864,"name":"address","nodeType":"ElementaryTypeName","src":"10019:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11867,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"10063:10:43","nodeType":"VariableDeclaration","scope":11869,"src":"10047:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11866,"name":"address","nodeType":"ElementaryTypeName","src":"10047:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10018:56:43"},"src":"9986:89:43"},{"anonymous":false,"documentation":{"id":11870,"nodeType":"StructuredDocumentation","src":"10079:41:43","text":"@dev Emitted when base URI is updated"},"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":11876,"name":"BaseURIUpdated","nameLocation":"10129:14:43","nodeType":"EventDefinition","parameters":{"id":11875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11872,"indexed":true,"mutability":"mutable","name":"newBaseURI","nameLocation":"10159:10:43","nodeType":"VariableDeclaration","scope":11876,"src":"10144:25:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11871,"name":"string","nodeType":"ElementaryTypeName","src":"10144:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11874,"indexed":true,"mutability":"mutable","name":"oldBaseURI","nameLocation":"10186:10:43","nodeType":"VariableDeclaration","scope":11876,"src":"10171:25:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11873,"name":"string","nodeType":"ElementaryTypeName","src":"10171:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10143:54:43"},"src":"10123:75:43"},{"anonymous":false,"documentation":{"id":11877,"nodeType":"StructuredDocumentation","src":"10202:71:43","text":"@dev Emitted when B3TR required to upgrade to each level is updated"},"eventSelector":"0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf870","id":11882,"name":"B3TRtoUpgradeToLevelUpdated","nameLocation":"10282:27:43","nodeType":"EventDefinition","parameters":{"id":11881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11880,"indexed":false,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"10320:20:43","nodeType":"VariableDeclaration","scope":11882,"src":"10310:30:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11878,"name":"uint256","nodeType":"ElementaryTypeName","src":"10310:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11879,"nodeType":"ArrayTypeName","src":"10310:9:43","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"10309:32:43"},"src":"10276:66:43"},{"anonymous":false,"documentation":{"id":11883,"nodeType":"StructuredDocumentation","src":"10346:46:43","text":"@dev Emitted when public minting is paused"},"eventSelector":"5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe","id":11887,"name":"PublicMintingPaused","nameLocation":"10401:19:43","nodeType":"EventDefinition","parameters":{"id":11886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11885,"indexed":false,"mutability":"mutable","name":"isPaused","nameLocation":"10426:8:43","nodeType":"VariableDeclaration","scope":11887,"src":"10421:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11884,"name":"bool","nodeType":"ElementaryTypeName","src":"10421:4:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10420:15:43"},"src":"10395:41:43"},{"anonymous":false,"documentation":{"id":11888,"nodeType":"StructuredDocumentation","src":"10440:51:43","text":"@dev Emitted when a node is attached to a token"},"eventSelector":"b7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f","id":11894,"name":"NodeAttached","nameLocation":"10500:12:43","nodeType":"EventDefinition","parameters":{"id":11893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11890,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"10529:11:43","nodeType":"VariableDeclaration","scope":11894,"src":"10513:27:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11889,"name":"uint256","nodeType":"ElementaryTypeName","src":"10513:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11892,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"10558:7:43","nodeType":"VariableDeclaration","scope":11894,"src":"10542:23:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11891,"name":"uint256","nodeType":"ElementaryTypeName","src":"10542:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10512:54:43"},"src":"10494:73:43"},{"anonymous":false,"documentation":{"id":11895,"nodeType":"StructuredDocumentation","src":"10571:53:43","text":"@dev Emitted when a node is detached from a token"},"eventSelector":"d391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d708","id":11901,"name":"NodeDetached","nameLocation":"10633:12:43","nodeType":"EventDefinition","parameters":{"id":11900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11897,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"10662:11:43","nodeType":"VariableDeclaration","scope":11901,"src":"10646:27:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11896,"name":"uint256","nodeType":"ElementaryTypeName","src":"10646:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11899,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"10691:7:43","nodeType":"VariableDeclaration","scope":11901,"src":"10675:23:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11898,"name":"uint256","nodeType":"ElementaryTypeName","src":"10675:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10645:54:43"},"src":"10627:73:43"},{"anonymous":false,"documentation":{"id":11902,"nodeType":"StructuredDocumentation","src":"10704:49:43","text":"@dev Emitted when node is attached to a token"},"eventSelector":"dd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace7","id":11910,"name":"LevelWhenAttached","nameLocation":"10762:17:43","nodeType":"EventDefinition","parameters":{"id":11909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11904,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"10796:7:43","nodeType":"VariableDeclaration","scope":11910,"src":"10780:23:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11903,"name":"uint256","nodeType":"ElementaryTypeName","src":"10780:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11906,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"10821:11:43","nodeType":"VariableDeclaration","scope":11910,"src":"10805:27:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11905,"name":"uint256","nodeType":"ElementaryTypeName","src":"10805:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11908,"indexed":false,"mutability":"mutable","name":"level","nameLocation":"10842:5:43","nodeType":"VariableDeclaration","scope":11910,"src":"10834:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11907,"name":"uint256","nodeType":"ElementaryTypeName","src":"10834:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10779:69:43"},"src":"10756:93:43"},{"anonymous":false,"documentation":{"id":11911,"nodeType":"StructuredDocumentation","src":"10853:51:43","text":"@dev Emitted when node is detached from a token"},"eventSelector":"48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b8590","id":11919,"name":"LevelWhenDetached","nameLocation":"10913:17:43","nodeType":"EventDefinition","parameters":{"id":11918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11913,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"10947:7:43","nodeType":"VariableDeclaration","scope":11919,"src":"10931:23:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11912,"name":"uint256","nodeType":"ElementaryTypeName","src":"10931:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11915,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"10972:11:43","nodeType":"VariableDeclaration","scope":11919,"src":"10956:27:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11914,"name":"uint256","nodeType":"ElementaryTypeName","src":"10956:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11917,"indexed":false,"mutability":"mutable","name":"level","nameLocation":"10993:5:43","nodeType":"VariableDeclaration","scope":11919,"src":"10985:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11916,"name":"uint256","nodeType":"ElementaryTypeName","src":"10985:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10930:69:43"},"src":"10907:93:43"},{"anonymous":false,"documentation":{"id":11920,"nodeType":"StructuredDocumentation","src":"11004:65:43","text":"@dev Emitted when the StargateNFT contract address is updated"},"eventSelector":"b6903cd12b733685254149291b10013cb82ad4c0da7775f32176e9f9b3334639","id":11926,"name":"StargateNFTAddressUpdated","nameLocation":"11078:25:43","nodeType":"EventDefinition","parameters":{"id":11925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11922,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"11120:10:43","nodeType":"VariableDeclaration","scope":11926,"src":"11104:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11921,"name":"address","nodeType":"ElementaryTypeName","src":"11104:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11924,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"11148:10:43","nodeType":"VariableDeclaration","scope":11926,"src":"11132:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11923,"name":"address","nodeType":"ElementaryTypeName","src":"11132:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11103:56:43"},"src":"11072:88:43"},{"body":{"id":11943,"nodeType":"Block","src":"11266:157:43","statements":[{"assignments":[11931],"declarations":[{"constant":false,"id":11931,"mutability":"mutable","name":"$","nameLocation":"11300:1:43","nodeType":"VariableDeclaration","scope":11943,"src":"11272:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":11930,"nodeType":"UserDefinedTypeName","pathNode":{"id":11929,"name":"GalaxyMemberStorage","nameLocations":["11272:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"11272:19:43"},"referencedDeclaration":11819,"src":"11272:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":11934,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":11932,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"11304:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":11933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11304:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11272:57:43"},{"expression":{"arguments":[{"id":11938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11343:24:43","subExpression":{"expression":{"id":11936,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11931,"src":"11344:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":11937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11346:21:43","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":11783,"src":"11344:23:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e6720697320706175736564","id":11939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11369:41:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""},"value":"Galaxy Member: Public minting is paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""}],"id":11935,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11335:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11335:76:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11941,"nodeType":"ExpressionStatement","src":"11335:76:43"},{"id":11942,"nodeType":"PlaceholderStatement","src":"11417:1:43"}]},"documentation":{"id":11927,"nodeType":"StructuredDocumentation","src":"11164:61:43","text":"@notice Modifier to check if public minting is not paused"},"id":11944,"name":"whenPublicMintingNotPaused","nameLocation":"11237:26:43","nodeType":"ModifierDefinition","parameters":{"id":11928,"nodeType":"ParameterList","parameters":[],"src":"11263:2:43"},"src":"11228:195:43","virtual":false,"visibility":"internal"},{"body":{"id":11951,"nodeType":"Block","src":"11575:33:43","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":11948,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"11581:20:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":11949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11581:22:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11950,"nodeType":"ExpressionStatement","src":"11581:22:43"}]},"documentation":{"id":11945,"nodeType":"StructuredDocumentation","src":"11427:131:43","text":"@notice Ensures only initializer functions are called when deploying a proxy\n @custom:oz-upgrades-unsafe-allow constructor"},"id":11952,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":11946,"nodeType":"ParameterList","parameters":[],"src":"11572:2:43"},"returnParameters":{"id":11947,"nodeType":"ParameterList","parameters":[],"src":"11575:0:43"},"scope":13938,"src":"11561:47:43","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":11979,"nodeType":"Block","src":"11831:176:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11962,"name":"_stargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11955,"src":"11845:12:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11869:1:43","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":11964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11861:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11963,"name":"address","nodeType":"ElementaryTypeName","src":"11861:7:43","typeDescriptions":{}}},"id":11966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11861:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11845:26:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f73746172676174654e46542063616e6e6f7420626520746865207a65726f2061646472657373","id":11968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11873:56:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_a38e447c5b0b4349960f55aa87f10b03e4f9a190d02e4cb0f1b55ca947b45ce5","typeString":"literal_string \"Galaxy Member: _stargateNFT cannot be the zero address\""},"value":"Galaxy Member: _stargateNFT cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a38e447c5b0b4349960f55aa87f10b03e4f9a190d02e4cb0f1b55ca947b45ce5","typeString":"literal_string \"Galaxy Member: _stargateNFT cannot be the zero address\""}],"id":11961,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11837:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11837:93:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11970,"nodeType":"ExpressionStatement","src":"11837:93:43"},{"expression":{"id":11977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":11971,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"11936:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":11972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11936:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":11973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11962:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"11936:37:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11975,"name":"_stargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11955,"src":"11989:12:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11974,"name":"IStargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72687,"src":"11976:12:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStargateNFT_$72687_$","typeString":"type(contract IStargateNFT)"}},"id":11976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11976:26:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"src":"11936:66:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":11978,"nodeType":"ExpressionStatement","src":"11936:66:43"}]},"documentation":{"id":11953,"nodeType":"StructuredDocumentation","src":"11612:140:43","text":"@notice Initializes the contract V6\n @dev Only callable by the UPGRADER_ROLE\n @param _stargateNFT StargateNFT contract address"},"functionSelector":"154edef1","id":11980,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"36","id":11958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11828:1:43","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"id":11959,"kind":"modifierInvocation","modifierName":{"id":11957,"name":"reinitializer","nameLocations":["11814:13:43"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"11814:13:43"},"nodeType":"ModifierInvocation","src":"11814:16:43"}],"name":"initializeV6","nameLocation":"11764:12:43","nodeType":"FunctionDefinition","parameters":{"id":11956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11955,"mutability":"mutable","name":"_stargateNFT","nameLocation":"11785:12:43","nodeType":"VariableDeclaration","scope":11980,"src":"11777:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11954,"name":"address","nodeType":"ElementaryTypeName","src":"11777:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11776:22:43"},"returnParameters":{"id":11960,"nodeType":"ParameterList","parameters":[],"src":"11831:0:43"},"scope":13938,"src":"11755:252:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1868],"body":{"id":11990,"nodeType":"Block","src":"12319:2:43","statements":[]},"documentation":{"id":11981,"nodeType":"StructuredDocumentation","src":"12011:209:43","text":"@notice Internal function to authorize contract upgrades\n @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n @param newImplementation Address of the new contract implementation"},"id":11991,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":11987,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11724,"src":"12304:13:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":11988,"kind":"modifierInvocation","modifierName":{"id":11986,"name":"onlyRole","nameLocations":["12295:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"12295:8:43"},"nodeType":"ModifierInvocation","src":"12295:23:43"}],"name":"_authorizeUpgrade","nameLocation":"12232:17:43","nodeType":"FunctionDefinition","overrides":{"id":11985,"nodeType":"OverrideSpecifier","overrides":[],"src":"12286:8:43"},"parameters":{"id":11984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11983,"mutability":"mutable","name":"newImplementation","nameLocation":"12258:17:43","nodeType":"VariableDeclaration","scope":11991,"src":"12250:25:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11982,"name":"address","nodeType":"ElementaryTypeName","src":"12250:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12249:27:43"},"returnParameters":{"id":11989,"nodeType":"ParameterList","parameters":[],"src":"12319:0:43"},"scope":13938,"src":"12223:98:43","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12001,"nodeType":"Block","src":"12563:19:43","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":11998,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"12569:6:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":11999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12569:8:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12000,"nodeType":"ExpressionStatement","src":"12569:8:43"}]},"documentation":{"id":11992,"nodeType":"StructuredDocumentation","src":"12325:181:43","text":"@notice Pauses the Galaxy Member contract\n @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n @dev Only callable by the pauser role"},"functionSelector":"8456cb59","id":12002,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":11995,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11729,"src":"12550:11:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":11996,"kind":"modifierInvocation","modifierName":{"id":11994,"name":"onlyRole","nameLocations":["12541:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"12541:8:43"},"nodeType":"ModifierInvocation","src":"12541:21:43"}],"name":"pause","nameLocation":"12518:5:43","nodeType":"FunctionDefinition","parameters":{"id":11993,"nodeType":"ParameterList","parameters":[],"src":"12523:2:43"},"returnParameters":{"id":11997,"nodeType":"ParameterList","parameters":[],"src":"12563:0:43"},"scope":13938,"src":"12509:73:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12012,"nodeType":"Block","src":"12736:21:43","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12009,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"12742:8:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":12010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12742:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12011,"nodeType":"ExpressionStatement","src":"12742:10:43"}]},"documentation":{"id":12003,"nodeType":"StructuredDocumentation","src":"12586:91:43","text":"@notice Unpauses the Galaxy Member contract\n @dev Only callable by the pauser role"},"functionSelector":"3f4ba83a","id":12013,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12006,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11729,"src":"12723:11:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12007,"kind":"modifierInvocation","modifierName":{"id":12005,"name":"onlyRole","nameLocations":["12714:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"12714:8:43"},"nodeType":"ModifierInvocation","src":"12714:21:43"}],"name":"unpause","nameLocation":"12689:7:43","nodeType":"FunctionDefinition","parameters":{"id":12004,"nodeType":"ParameterList","parameters":[],"src":"12696:2:43"},"returnParameters":{"id":12008,"nodeType":"ParameterList","parameters":[],"src":"12736:0:43"},"scope":13938,"src":"12680:77:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12032,"nodeType":"Block","src":"13002:141:43","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":12021,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13041:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13045:6:43","memberName":"sender","nodeType":"MemberAccess","src":"13041:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12020,"name":"participatedInGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13192,"src":"13016:24:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":12023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13016:36:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274696369706174656420696e20676f7665726e616e6365","id":12024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13054:56:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""},"value":"Galaxy Member: User has not participated in governance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""}],"id":12019,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13008:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13008:103:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12026,"nodeType":"ExpressionStatement","src":"13008:103:43"},{"expression":{"arguments":[{"expression":{"id":12028,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13127:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13131:6:43","memberName":"sender","nodeType":"MemberAccess","src":"13127:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12027,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12476,"src":"13118:8:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":12030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13118:20:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12031,"nodeType":"ExpressionStatement","src":"13118:20:43"}]},"documentation":{"id":12014,"nodeType":"StructuredDocumentation","src":"12761:176:43","text":"@notice Allows a user to freely mint a token if they have participated in governance\n @dev Mints a token with level 1 and ensures that the public minting is not paused"},"functionSelector":"5b70ea9f","id":12033,"implemented":true,"kind":"function","modifiers":[{"id":12017,"kind":"modifierInvocation","modifierName":{"id":12016,"name":"whenPublicMintingNotPaused","nameLocations":["12975:26:43"],"nodeType":"IdentifierPath","referencedDeclaration":11944,"src":"12975:26:43"},"nodeType":"ModifierInvocation","src":"12975:26:43"}],"name":"freeMint","nameLocation":"12949:8:43","nodeType":"FunctionDefinition","parameters":{"id":12015,"nodeType":"ParameterList","parameters":[],"src":"12957:2:43"},"returnParameters":{"id":12018,"nodeType":"ParameterList","parameters":[],"src":"13002:0:43"},"scope":13938,"src":"12940:203:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12136,"nodeType":"Block","src":"13424:836:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12045,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"13446:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12044,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"13438:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":12046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13438:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":12047,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13458:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13462:6:43","memberName":"sender","nodeType":"MemberAccess","src":"13458:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13438:30:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520546f6b656e20746f2075706772616465206974","id":12050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13470:53:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""},"value":"Galaxy Member: you must own the Token to upgrade it"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""}],"id":12043,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13430:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13430:94:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12052,"nodeType":"ExpressionStatement","src":"13430:94:43"},{"assignments":[12055],"declarations":[{"constant":false,"id":12055,"mutability":"mutable","name":"$","nameLocation":"13558:1:43","nodeType":"VariableDeclaration","scope":12136,"src":"13530:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12054,"nodeType":"UserDefinedTypeName","pathNode":{"id":12053,"name":"GalaxyMemberStorage","nameLocations":["13530:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"13530:19:43"},"referencedDeclaration":11819,"src":"13530:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12058,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12056,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"13562:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13562:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13530:57:43"},{"assignments":[12060],"declarations":[{"constant":false,"id":12060,"mutability":"mutable","name":"currentLevel","nameLocation":"13602:12:43","nodeType":"VariableDeclaration","scope":12136,"src":"13594:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12059,"name":"uint256","nodeType":"ElementaryTypeName","src":"13594:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12064,"initialValue":{"arguments":[{"id":12062,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"13625:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12061,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12861,"src":"13617:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":12063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13617:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13594:39:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12066,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12060,"src":"13648:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":12067,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13362,"src":"13663:9:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":12068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13663:11:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13648:26:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c7265616479206174206d6178206c6576656c","id":12070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13676:46:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""},"value":"Galaxy Member: Token is already at max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""}],"id":12065,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13640:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13640:83:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12072,"nodeType":"ExpressionStatement","src":"13640:83:43"},{"assignments":[12074],"declarations":[{"constant":false,"id":12074,"mutability":"mutable","name":"b3trRequired","nameLocation":"13738:12:43","nodeType":"VariableDeclaration","scope":12136,"src":"13730:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12073,"name":"uint256","nodeType":"ElementaryTypeName","src":"13730:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12078,"initialValue":{"arguments":[{"id":12076,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"13770:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12075,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12912,"src":"13753:16:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":12077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13753:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13730:48:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":12083,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13810:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13814:6:43","memberName":"sender","nodeType":"MemberAccess","src":"13810:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":12080,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12055,"src":"13793:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12081,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13795:4:43","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":11754,"src":"13793:6:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":12082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13800:9:43","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"13793:16:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":12085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13793:28:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":12086,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12074,"src":"13825:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13793:44:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c616e636520746f2075706772616465","id":12088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13839:48:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""},"value":"Galaxy Member: Insufficient balance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""}],"id":12079,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13785:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13785:103:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12090,"nodeType":"ExpressionStatement","src":"13785:103:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":12095,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13927:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13931:6:43","memberName":"sender","nodeType":"MemberAccess","src":"13927:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":12099,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13947:4:43","typeDescriptions":{"typeIdentifier":"t_contract$_GalaxyMember_$13938","typeString":"contract GalaxyMember"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GalaxyMember_$13938","typeString":"contract GalaxyMember"}],"id":12098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13939:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12097,"name":"address","nodeType":"ElementaryTypeName","src":"13939:7:43","typeDescriptions":{}}},"id":12100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13939:13:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":12092,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12055,"src":"13910:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13912:4:43","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":11754,"src":"13910:6:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":12094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13917:9:43","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":62751,"src":"13910:16:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":12101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13910:43:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":12102,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12074,"src":"13957:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13910:59:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f77616e636520746f2075706772616465","id":12104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13977:50:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""},"value":"Galaxy Member: Insufficient allowance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""}],"id":12091,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13895:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13895:138:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12106,"nodeType":"ExpressionStatement","src":"13895:138:43"},{"expression":{"id":12113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":12107,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12055,"src":"14040:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14042:21:43","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":11806,"src":"14040:23:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12111,"indexExpression":{"id":12109,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"14064:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14040:32:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":12112,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12074,"src":"14076:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14040:48:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12114,"nodeType":"ExpressionStatement","src":"14040:48:43"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":12119,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14123:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14127:6:43","memberName":"sender","nodeType":"MemberAccess","src":"14123:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":12121,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12055,"src":"14135:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14137:8:43","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":11756,"src":"14135:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12123,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12074,"src":"14147:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":12116,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12055,"src":"14103:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14105:4:43","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":11754,"src":"14103:6:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":12118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14110:12:43","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":62884,"src":"14103:19:43","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":12124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14103:57:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","id":12125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14162:31:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""},"value":"GalaxyMember: Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""}],"id":12115,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14095:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14095:99:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12127,"nodeType":"ExpressionStatement","src":"14095:99:43"},{"eventCall":{"arguments":[{"id":12129,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"14215:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12130,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12060,"src":"14224:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":12132,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"14246:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12131,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12861,"src":"14238:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":12133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14238:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12128,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11848,"src":"14206:8:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":12134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14206:49:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12135,"nodeType":"EmitStatement","src":"14201:54:43"}]},"documentation":{"id":12034,"nodeType":"StructuredDocumentation","src":"13147:198:43","text":"@notice Upgrades a token to the next level\n @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n @param tokenId Token ID to upgrade"},"functionSelector":"45977d03","id":12137,"implemented":true,"kind":"function","modifiers":[{"id":12039,"kind":"modifierInvocation","modifierName":{"id":12038,"name":"nonReentrant","nameLocations":["13397:12:43"],"nodeType":"IdentifierPath","referencedDeclaration":4232,"src":"13397:12:43"},"nodeType":"ModifierInvocation","src":"13397:12:43"},{"id":12041,"kind":"modifierInvocation","modifierName":{"id":12040,"name":"whenNotPaused","nameLocations":["13410:13:43"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"13410:13:43"},"nodeType":"ModifierInvocation","src":"13410:13:43"}],"name":"upgrade","nameLocation":"13357:7:43","nodeType":"FunctionDefinition","parameters":{"id":12037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12036,"mutability":"mutable","name":"tokenId","nameLocation":"13373:7:43","nodeType":"VariableDeclaration","scope":12137,"src":"13365:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12035,"name":"uint256","nodeType":"ElementaryTypeName","src":"13365:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13364:17:43"},"returnParameters":{"id":12042,"nodeType":"ParameterList","parameters":[],"src":"13424:0:43"},"scope":13938,"src":"13348:912:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12149,"nodeType":"Block","src":"14430:39:43","statements":[{"expression":{"arguments":[{"expression":{"id":12144,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14444:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14448:6:43","memberName":"sender","nodeType":"MemberAccess","src":"14444:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12146,"name":"tokenID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12140,"src":"14456:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12143,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12210,"src":"14436:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":12147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14436:28:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12148,"nodeType":"ExpressionStatement","src":"14436:28:43"}]},"documentation":{"id":12138,"nodeType":"StructuredDocumentation","src":"14264:115:43","text":"@notice Allows the user to select a token for voting rewards multiplier\n @param tokenID Token ID to select"},"functionSelector":"839a19d9","id":12150,"implemented":true,"kind":"function","modifiers":[],"name":"select","nameLocation":"14391:6:43","nodeType":"FunctionDefinition","parameters":{"id":12141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12140,"mutability":"mutable","name":"tokenID","nameLocation":"14406:7:43","nodeType":"VariableDeclaration","scope":12150,"src":"14398:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12139,"name":"uint256","nodeType":"ElementaryTypeName","src":"14398:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14397:17:43"},"returnParameters":{"id":12142,"nodeType":"ParameterList","parameters":[],"src":"14430:0:43"},"scope":13938,"src":"14382:87:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12166,"nodeType":"Block","src":"14683:34:43","statements":[{"expression":{"arguments":[{"id":12162,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12153,"src":"14697:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12163,"name":"tokenID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12155,"src":"14704:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12161,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12210,"src":"14689:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":12164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14689:23:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12165,"nodeType":"ExpressionStatement","src":"14689:23:43"}]},"documentation":{"id":12151,"nodeType":"StructuredDocumentation","src":"14473:112:43","text":"@notice Allows the admin to select a token for the user\n @param owner The address of the owner to check"},"functionSelector":"aa3491eb","id":12167,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12158,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"14663:18:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12159,"kind":"modifierInvocation","modifierName":{"id":12157,"name":"onlyRole","nameLocations":["14654:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"14654:8:43"},"nodeType":"ModifierInvocation","src":"14654:28:43"}],"name":"selectFor","nameLocation":"14597:9:43","nodeType":"FunctionDefinition","parameters":{"id":12156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12153,"mutability":"mutable","name":"owner","nameLocation":"14615:5:43","nodeType":"VariableDeclaration","scope":12167,"src":"14607:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12152,"name":"address","nodeType":"ElementaryTypeName","src":"14607:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12155,"mutability":"mutable","name":"tokenID","nameLocation":"14630:7:43","nodeType":"VariableDeclaration","scope":12167,"src":"14622:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12154,"name":"uint256","nodeType":"ElementaryTypeName","src":"14622:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14606:32:43"},"returnParameters":{"id":12160,"nodeType":"ParameterList","parameters":[],"src":"14683:0:43"},"scope":13938,"src":"14588:129:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12209,"nodeType":"Block","src":"14939:286:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12177,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12172,"src":"14961:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12176,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"14953:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":12178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14953:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":12179,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12170,"src":"14973:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14953:25:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":12181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14980:53:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":12175,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14945:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14945:89:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12183,"nodeType":"ExpressionStatement","src":"14945:89:43"},{"assignments":[12186],"declarations":[{"constant":false,"id":12186,"mutability":"mutable","name":"$","nameLocation":"15069:1:43","nodeType":"VariableDeclaration","scope":12209,"src":"15041:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12185,"nodeType":"UserDefinedTypeName","pathNode":{"id":12184,"name":"GalaxyMemberStorage","nameLocations":["15041:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"15041:19:43"},"referencedDeclaration":11819,"src":"15041:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12189,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12187,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"15073:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15073:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15041:57:43"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":12196,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13668,"src":"15147:5:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":12197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15147:7:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":12200,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12172,"src":"15175:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12198,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"15156:8:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":12199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15165:9:43","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"15156:18:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":12201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15156:27:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":12190,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12186,"src":"15105:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15107:27:43","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":11815,"src":"15105:29:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":12194,"indexExpression":{"id":12192,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12170,"src":"15135:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15105:36:43","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":12195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15142:4:43","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"15105:41:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":12202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15105:79:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":12203,"nodeType":"ExpressionStatement","src":"15105:79:43"},{"eventCall":{"arguments":[{"id":12205,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12170,"src":"15205:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12206,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12172,"src":"15212:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12204,"name":"Selected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11839,"src":"15196:8:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":12207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15196:24:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12208,"nodeType":"EmitStatement","src":"15191:29:43"}]},"documentation":{"id":12168,"nodeType":"StructuredDocumentation","src":"14721:149:43","text":"@notice selects the specified token for the user\n @param owner The address of the owner to check\n @param tokenId the token ID to select"},"id":12210,"implemented":true,"kind":"function","modifiers":[],"name":"_select","nameLocation":"14882:7:43","nodeType":"FunctionDefinition","parameters":{"id":12173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12170,"mutability":"mutable","name":"owner","nameLocation":"14898:5:43","nodeType":"VariableDeclaration","scope":12210,"src":"14890:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12169,"name":"address","nodeType":"ElementaryTypeName","src":"14890:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12172,"mutability":"mutable","name":"tokenId","nameLocation":"14913:7:43","nodeType":"VariableDeclaration","scope":12210,"src":"14905:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12171,"name":"uint256","nodeType":"ElementaryTypeName","src":"14905:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14889:32:43"},"returnParameters":{"id":12174,"nodeType":"ParameterList","parameters":[],"src":"14939:0:43"},"scope":13938,"src":"14873:352:43","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[3188],"body":{"id":12234,"nodeType":"Block","src":"15498:131:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12220,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12213,"src":"15520:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12219,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"15512:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":12221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15512:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":12222,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15532:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15536:6:43","memberName":"sender","nodeType":"MemberAccess","src":"15532:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15512:30:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":12225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15544:53:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":12218,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15504:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15504:94:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12227,"nodeType":"ExpressionStatement","src":"15504:94:43"},{"expression":{"arguments":[{"id":12231,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12213,"src":"15616:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12228,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"15605:5:43","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMember_$13938_$","typeString":"type(contract super GalaxyMember)"}},"id":12230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15611:4:43","memberName":"burn","nodeType":"MemberAccess","referencedDeclaration":3188,"src":"15605:10:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":12232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15605:19:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12233,"nodeType":"ExpressionStatement","src":"15605:19:43"}]},"documentation":{"id":12211,"nodeType":"StructuredDocumentation","src":"15229:184:43","text":"@notice Allows the token owner to burn their token\n @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n @param tokenId Token ID to burn"},"functionSelector":"42966c68","id":12235,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"15425:4:43","nodeType":"FunctionDefinition","overrides":{"id":12216,"nodeType":"OverrideSpecifier","overrides":[{"id":12215,"name":"ERC721BurnableUpgradeable","nameLocations":["15471:25:43"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"15471:25:43"}],"src":"15462:35:43"},"parameters":{"id":12214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12213,"mutability":"mutable","name":"tokenId","nameLocation":"15438:7:43","nodeType":"VariableDeclaration","scope":12235,"src":"15430:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12212,"name":"uint256","nodeType":"ElementaryTypeName","src":"15430:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15429:17:43"},"returnParameters":{"id":12217,"nodeType":"ParameterList","parameters":[],"src":"15498:0:43"},"scope":13938,"src":"15416:213:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12342,"nodeType":"Block","src":"15817:929:43","statements":[{"assignments":[12246],"declarations":[{"constant":false,"id":12246,"mutability":"mutable","name":"$","nameLocation":"15851:1:43","nodeType":"VariableDeclaration","scope":12342,"src":"15823:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12245,"nodeType":"UserDefinedTypeName","pathNode":{"id":12244,"name":"GalaxyMemberStorage","nameLocations":["15823:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"15823:19:43"},"referencedDeclaration":11819,"src":"15823:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12249,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12247,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"15855:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15855:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15823:57:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12251,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"15895:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15906:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15895:12:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12255,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"15920:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12254,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"15911:8:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":12256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15911:17:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":12259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15940:1:43","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":12258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15932:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12257,"name":"address","nodeType":"ElementaryTypeName","src":"15932:7:43","typeDescriptions":{}}},"id":12260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15932:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15911:31:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15895:47:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20646f6573206e6f74206578697374","id":12263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15944:36:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_f16ac10570b456d06db80bd2fe423215070a3564b91d14bb04028128bc67ea7f","typeString":"literal_string \"GalaxyMember: token does not exist\""},"value":"GalaxyMember: token does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f16ac10570b456d06db80bd2fe423215070a3564b91d14bb04028128bc67ea7f","typeString":"literal_string \"GalaxyMember: token does not exist\""}],"id":12250,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15887:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15887:94:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12265,"nodeType":"ExpressionStatement","src":"15887:94:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12268,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"16003:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12267,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"15995:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":12269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15995:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":12270,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16015:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16019:6:43","memberName":"sender","nodeType":"MemberAccess","src":"16015:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15995:30:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062792063616c6c6572","id":12273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16027:41:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""},"value":"GalaxyMember: token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""}],"id":12266,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15987:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15987:82:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12275,"nodeType":"ExpressionStatement","src":"15987:82:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12280,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12237,"src":"16120:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":12277,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12246,"src":"16090:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16092:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"16090:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":12279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16104:15:43","memberName":"getTokenManager","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"16090:29:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":12281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16090:42:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":12282,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16136:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16140:6:43","memberName":"sender","nodeType":"MemberAccess","src":"16136:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16090:56:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572","id":12285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16154:51:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_4481d4cc122a9096a433ef77418d25d21f54c331245a3431108d3eef5d74a9c4","typeString":"literal_string \"GalaxyMember: node not owned or managed by caller\""},"value":"GalaxyMember: node not owned or managed by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4481d4cc122a9096a433ef77418d25d21f54c331245a3431108d3eef5d74a9c4","typeString":"literal_string \"GalaxyMember: node not owned or managed by caller\""}],"id":12276,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16075:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16075:136:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12287,"nodeType":"ExpressionStatement","src":"16075:136:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12290,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12237,"src":"16246:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12291,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12246,"src":"16259:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}],"id":12289,"name":"_getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13762,"src":"16225:20:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$returns$_t_uint256_$","typeString":"function (uint256,struct GalaxyMember.GalaxyMemberStorage storage pointer) view returns (uint256)"}},"id":12292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16225:36:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16265:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16225:41:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c726561647920617474616368656420746f206120746f6b656e","id":12295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16268:48:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""},"value":"GalaxyMember: node already attached to a token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""}],"id":12288,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16217:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16217:100:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12297,"nodeType":"ExpressionStatement","src":"16217:100:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12300,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"16350:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12301,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12246,"src":"16359:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}],"id":12299,"name":"_getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13718,"src":"16331:18:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$returns$_t_uint256_$","typeString":"function (uint256,struct GalaxyMember.GalaxyMemberStorage storage pointer) view returns (uint256)"}},"id":12302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16331:30:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16365:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16331:35:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c726561647920617474616368656420746f2061206e6f6465","id":12305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16368:48:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""},"value":"GalaxyMember: token already attached to a node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""}],"id":12298,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16323:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16323:94:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12307,"nodeType":"ExpressionStatement","src":"16323:94:43"},{"expression":{"id":12314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":12308,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12246,"src":"16424:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12311,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16426:14:43","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":11793,"src":"16424:16:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12312,"indexExpression":{"id":12310,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12237,"src":"16441:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16424:29:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12313,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"16456:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16424:39:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12315,"nodeType":"ExpressionStatement","src":"16424:39:43"},{"expression":{"id":12322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":12316,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12246,"src":"16469:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16471:14:43","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":11798,"src":"16469:16:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12320,"indexExpression":{"id":12318,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"16486:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16469:25:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12321,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12237,"src":"16497:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16469:39:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12323,"nodeType":"ExpressionStatement","src":"16469:39:43"},{"eventCall":{"arguments":[{"id":12325,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12237,"src":"16533:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12326,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"16546:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12324,"name":"NodeAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11894,"src":"16520:12:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":12327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16520:34:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12328,"nodeType":"EmitStatement","src":"16515:39:43"},{"assignments":[12330,null],"declarations":[{"constant":false,"id":12330,"mutability":"mutable","name":"level","nameLocation":"16629:5:43","nodeType":"VariableDeclaration","scope":12342,"src":"16621:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12329,"name":"uint256","nodeType":"ElementaryTypeName","src":"16621:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":12335,"initialValue":{"arguments":[{"id":12332,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"16663:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12333,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12237,"src":"16672:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12331,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13025,"src":"16640:22:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":12334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16640:44:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16620:64:43"},{"eventCall":{"arguments":[{"id":12337,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"16713:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12338,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12237,"src":"16722:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12339,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12330,"src":"16735:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12336,"name":"LevelWhenAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11910,"src":"16695:17:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":12340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16695:46:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12341,"nodeType":"EmitStatement","src":"16690:51:43"}]},"functionSelector":"88371110","id":12343,"implemented":true,"kind":"function","modifiers":[{"id":12242,"kind":"modifierInvocation","modifierName":{"id":12241,"name":"whenNotPaused","nameLocations":["15803:13:43"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"15803:13:43"},"nodeType":"ModifierInvocation","src":"15803:13:43"}],"name":"attachNode","nameLocation":"15739:10:43","nodeType":"FunctionDefinition","parameters":{"id":12240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12237,"mutability":"mutable","name":"nodeTokenId","nameLocation":"15758:11:43","nodeType":"VariableDeclaration","scope":12343,"src":"15750:19:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12236,"name":"uint256","nodeType":"ElementaryTypeName","src":"15750:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12239,"mutability":"mutable","name":"tokenId","nameLocation":"15779:7:43","nodeType":"VariableDeclaration","scope":12343,"src":"15771:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12238,"name":"uint256","nodeType":"ElementaryTypeName","src":"15771:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15749:38:43"},"returnParameters":{"id":12243,"nodeType":"ParameterList","parameters":[],"src":"15817:0:43"},"scope":13938,"src":"15730:1016:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12451,"nodeType":"Block","src":"16837:961:43","statements":[{"assignments":[12354],"declarations":[{"constant":false,"id":12354,"mutability":"mutable","name":"$","nameLocation":"16871:1:43","nodeType":"VariableDeclaration","scope":12451,"src":"16843:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12353,"nodeType":"UserDefinedTypeName","pathNode":{"id":12352,"name":"GalaxyMemberStorage","nameLocations":["16843:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"16843:19:43"},"referencedDeclaration":11819,"src":"16843:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12357,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12355,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"16875:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16875:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16843:57:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12359,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"16915:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16926:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16915:12:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12363,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"16940:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12362,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"16931:8:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":12364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16931:17:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":12367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16960:1:43","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":12366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16952:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12365,"name":"address","nodeType":"ElementaryTypeName","src":"16952:7:43","typeDescriptions":{}}},"id":12368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16952:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16931:31:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16915:47:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20646f6573206e6f74206578697374","id":12371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16964:36:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_f16ac10570b456d06db80bd2fe423215070a3564b91d14bb04028128bc67ea7f","typeString":"literal_string \"GalaxyMember: token does not exist\""},"value":"GalaxyMember: token does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f16ac10570b456d06db80bd2fe423215070a3564b91d14bb04028128bc67ea7f","typeString":"literal_string \"GalaxyMember: token does not exist\""}],"id":12358,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16907:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16907:94:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12373,"nodeType":"ExpressionStatement","src":"16907:94:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12376,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"17030:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12375,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"17022:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":12377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17022:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":12378,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17042:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17046:6:43","memberName":"sender","nodeType":"MemberAccess","src":"17042:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17022:30:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"expression":{"id":12384,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17093:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17097:6:43","memberName":"sender","nodeType":"MemberAccess","src":"17093:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12386,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12345,"src":"17105:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":12381,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"17064:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12382,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17066:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"17064:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":12383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17078:14:43","memberName":"isTokenManager","nodeType":"MemberAccess","referencedDeclaration":72553,"src":"17064:28:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view external returns (bool)"}},"id":12387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17064:53:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17022:95:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12392,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12345,"src":"17151:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":12389,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"17129:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12390,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17131:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"17129:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":12391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17143:7:43","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":5186,"src":"17129:21:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":12393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17129:34:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":12394,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17167:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17171:6:43","memberName":"sender","nodeType":"MemberAccess","src":"17167:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17129:48:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17022:155:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b656e206e6f74206f776e65642062792063616c6c6572","id":12398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17185:80:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_50331b0424526a6436124a585c481f24602c921ae5d40c354e3b100c37eae3a1","typeString":"literal_string \"GalaxyMember: node not owned or managed by caller or token not owned by caller\""},"value":"GalaxyMember: node not owned or managed by caller or token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_50331b0424526a6436124a585c481f24602c921ae5d40c354e3b100c37eae3a1","typeString":"literal_string \"GalaxyMember: node not owned or managed by caller or token not owned by caller\""}],"id":12374,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17007:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17007:264:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12400,"nodeType":"ExpressionStatement","src":"17007:264:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12403,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12345,"src":"17306:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12404,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"17319:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}],"id":12402,"name":"_getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13762,"src":"17285:20:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$returns$_t_uint256_$","typeString":"function (uint256,struct GalaxyMember.GalaxyMemberStorage storage pointer) view returns (uint256)"}},"id":12405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17285:36:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":12406,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"17325:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17285:47:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420746f2074686520746f6b656e","id":12408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17334:46:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""},"value":"GalaxyMember: node not attached to the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""}],"id":12401,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17277:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17277:104:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12410,"nodeType":"ExpressionStatement","src":"17277:104:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12413,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"17414:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12414,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"17423:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}],"id":12412,"name":"_getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13718,"src":"17395:18:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$returns$_t_uint256_$","typeString":"function (uint256,struct GalaxyMember.GalaxyMemberStorage storage pointer) view returns (uint256)"}},"id":12415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17395:30:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":12416,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12345,"src":"17429:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17395:45:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656420746f20746865206e6f6465","id":12418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17442:46:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""},"value":"GalaxyMember: token not attached to the node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""}],"id":12411,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17387:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17387:102:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12420,"nodeType":"ExpressionStatement","src":"17387:102:43"},{"expression":{"id":12425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"17496:36:43","subExpression":{"baseExpression":{"expression":{"id":12421,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"17503:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17505:14:43","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":11793,"src":"17503:16:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12424,"indexExpression":{"id":12423,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12345,"src":"17520:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17503:29:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12426,"nodeType":"ExpressionStatement","src":"17496:36:43"},{"expression":{"id":12431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"17538:32:43","subExpression":{"baseExpression":{"expression":{"id":12427,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"17545:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17547:14:43","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":11798,"src":"17545:16:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12430,"indexExpression":{"id":12429,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"17562:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17545:25:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12432,"nodeType":"ExpressionStatement","src":"17538:32:43"},{"eventCall":{"arguments":[{"id":12434,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12345,"src":"17595:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12435,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"17608:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12433,"name":"NodeDetached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11901,"src":"17582:12:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":12436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17582:34:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12437,"nodeType":"EmitStatement","src":"17577:39:43"},{"assignments":[12439,null],"declarations":[{"constant":false,"id":12439,"mutability":"mutable","name":"level","nameLocation":"17691:5:43","nodeType":"VariableDeclaration","scope":12451,"src":"17683:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12438,"name":"uint256","nodeType":"ElementaryTypeName","src":"17683:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":12444,"initialValue":{"arguments":[{"id":12441,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"17725:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":12442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17734:1:43","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":12440,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13025,"src":"17702:22:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":12443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17702:34:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"17682:54:43"},{"eventCall":{"arguments":[{"id":12446,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"17765:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12447,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12345,"src":"17774:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12448,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12439,"src":"17787:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12445,"name":"LevelWhenDetached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11919,"src":"17747:17:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":12449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17747:46:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12450,"nodeType":"EmitStatement","src":"17742:51:43"}]},"functionSelector":"4a6565e1","id":12452,"implemented":true,"kind":"function","modifiers":[{"id":12350,"kind":"modifierInvocation","modifierName":{"id":12349,"name":"whenNotPaused","nameLocations":["16823:13:43"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"16823:13:43"},"nodeType":"ModifierInvocation","src":"16823:13:43"}],"name":"detachNode","nameLocation":"16759:10:43","nodeType":"FunctionDefinition","parameters":{"id":12348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12345,"mutability":"mutable","name":"nodeTokenId","nameLocation":"16778:11:43","nodeType":"VariableDeclaration","scope":12452,"src":"16770:19:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12344,"name":"uint256","nodeType":"ElementaryTypeName","src":"16770:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12347,"mutability":"mutable","name":"tokenId","nameLocation":"16799:7:43","nodeType":"VariableDeclaration","scope":12452,"src":"16791:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12346,"name":"uint256","nodeType":"ElementaryTypeName","src":"16791:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16769:38:43"},"returnParameters":{"id":12351,"nodeType":"ParameterList","parameters":[],"src":"16837:0:43"},"scope":13938,"src":"16750:1048:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12475,"nodeType":"Block","src":"18108:137:43","statements":[{"assignments":[12460],"declarations":[{"constant":false,"id":12460,"mutability":"mutable","name":"$","nameLocation":"18142:1:43","nodeType":"VariableDeclaration","scope":12475,"src":"18114:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12459,"nodeType":"UserDefinedTypeName","pathNode":{"id":12458,"name":"GalaxyMemberStorage","nameLocations":["18114:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"18114:19:43"},"referencedDeclaration":11819,"src":"18114:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12463,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12461,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"18146:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18146:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18114:57:43"},{"assignments":[12465],"declarations":[{"constant":false,"id":12465,"mutability":"mutable","name":"tokenId","nameLocation":"18186:7:43","nodeType":"VariableDeclaration","scope":12475,"src":"18178:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12464,"name":"uint256","nodeType":"ElementaryTypeName","src":"18178:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12469,"initialValue":{"id":12468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18196:16:43","subExpression":{"expression":{"id":12466,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12460,"src":"18196:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18198:12:43","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":11760,"src":"18196:14:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18178:34:43"},{"expression":{"arguments":[{"id":12471,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12455,"src":"18228:2:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12472,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12465,"src":"18232:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12470,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[2750,2776],"referencedDeclaration":2750,"src":"18218:9:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":12473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18218:22:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12474,"nodeType":"ExpressionStatement","src":"18218:22:43"}]},"documentation":{"id":12453,"nodeType":"StructuredDocumentation","src":"17854:204:43","text":"@notice Internal function to safely mint a token\n @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n @param to Address to mint the token to"},"id":12476,"implemented":true,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"18070:8:43","nodeType":"FunctionDefinition","parameters":{"id":12456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12455,"mutability":"mutable","name":"to","nameLocation":"18087:2:43","nodeType":"VariableDeclaration","scope":12476,"src":"18079:10:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12454,"name":"address","nodeType":"ElementaryTypeName","src":"18079:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18078:12:43"},"returnParameters":{"id":12457,"nodeType":"ParameterList","parameters":[],"src":"18108:0:43"},"scope":13938,"src":"18061:184:43","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12537,"nodeType":"Block","src":"18489:568:43","statements":[{"assignments":[12487],"declarations":[{"constant":false,"id":12487,"mutability":"mutable","name":"$","nameLocation":"18523:1:43","nodeType":"VariableDeclaration","scope":12537,"src":"18495:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12486,"nodeType":"UserDefinedTypeName","pathNode":{"id":12485,"name":"GalaxyMemberStorage","nameLocations":["18495:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"18495:19:43"},"referencedDeclaration":11819,"src":"18495:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12490,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12488,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"18527:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18527:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18495:57:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12492,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12479,"src":"18567:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":12493,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12487,"src":"18575:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18577:9:43","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":11762,"src":"18575:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18567:19:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d7573742062652067726561746572207468616e207468652063757272656e74206d6178206c6576656c","id":12496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18588:69:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""},"value":"Galaxy Member: Max level must be greater than the current max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""}],"id":12491,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18559:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18559:99:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12498,"nodeType":"ExpressionStatement","src":"18559:99:43"},{"body":{"id":12519,"nodeType":"Block","src":"18751:195:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":12510,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12487,"src":"18767:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18769:21:43","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":11770,"src":"18767:23:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12513,"indexExpression":{"id":12512,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12500,"src":"18791:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18767:26:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18796:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18767:30:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b6564","id":12516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18799:68:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""},"value":"Galaxy Member: B3TR to upgrade must be set for all levels unlocked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""}],"id":12509,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18759:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18759:109:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12518,"nodeType":"ExpressionStatement","src":"18759:109:43"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12503,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12500,"src":"18734:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12504,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12479,"src":"18739:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18734:10:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12520,"initializationExpression":{"assignments":[12500],"declarations":[{"constant":false,"id":12500,"mutability":"mutable","name":"i","nameLocation":"18727:1:43","nodeType":"VariableDeclaration","scope":12520,"src":"18719:9:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12499,"name":"uint256","nodeType":"ElementaryTypeName","src":"18719:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12502,"initialValue":{"hexValue":"32","id":12501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18731:1:43","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"18719:13:43"},"loopExpression":{"expression":{"id":12507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18746:3:43","subExpression":{"id":12506,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12500,"src":"18746:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12508,"nodeType":"ExpressionStatement","src":"18746:3:43"},"nodeType":"ForStatement","src":"18714:232:43"},{"assignments":[12522],"declarations":[{"constant":false,"id":12522,"mutability":"mutable","name":"oldLevel","nameLocation":"18960:8:43","nodeType":"VariableDeclaration","scope":12537,"src":"18952:16:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12521,"name":"uint256","nodeType":"ElementaryTypeName","src":"18952:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12525,"initialValue":{"expression":{"id":12523,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12487,"src":"18971:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18973:9:43","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":11762,"src":"18971:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18952:30:43"},{"expression":{"id":12530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12526,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12487,"src":"18989:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18991:9:43","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":11762,"src":"18989:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12529,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12479,"src":"19003:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18989:19:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12531,"nodeType":"ExpressionStatement","src":"18989:19:43"},{"eventCall":{"arguments":[{"id":12533,"name":"oldLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12522,"src":"19036:8:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12534,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12479,"src":"19046:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12532,"name":"MaxLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11855,"src":"19020:15:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":12535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19020:32:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12536,"nodeType":"EmitStatement","src":"19015:37:43"}]},"documentation":{"id":12477,"nodeType":"StructuredDocumentation","src":"18288:118:43","text":"@notice Sets the maximum level that tokens can be minted or upgraded to\n @dev Only callable by the admin role"},"functionSelector":"344f1ba5","id":12538,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12482,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"18469:18:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12483,"kind":"modifierInvocation","modifierName":{"id":12481,"name":"onlyRole","nameLocations":["18460:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"18460:8:43"},"nodeType":"ModifierInvocation","src":"18460:28:43"}],"name":"setMaxLevel","nameLocation":"18418:11:43","nodeType":"FunctionDefinition","parameters":{"id":12480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12479,"mutability":"mutable","name":"level","nameLocation":"18438:5:43","nodeType":"VariableDeclaration","scope":12538,"src":"18430:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12478,"name":"uint256","nodeType":"ElementaryTypeName","src":"18430:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18429:15:43"},"returnParameters":{"id":12484,"nodeType":"ParameterList","parameters":[],"src":"18489:0:43"},"scope":13938,"src":"18409:648:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12580,"nodeType":"Block","src":"19401:367:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12548,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12541,"src":"19415:21:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":12551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19448:1:43","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":12550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19440:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12549,"name":"address","nodeType":"ElementaryTypeName","src":"19440:7:43","typeDescriptions":{}}},"id":12552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19440:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19415:35:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":12554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19452:65:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""},"value":"Galaxy Member: _xAllocationsGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""}],"id":12547,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19407:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19407:111:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12556,"nodeType":"ExpressionStatement","src":"19407:111:43"},{"assignments":[12559],"declarations":[{"constant":false,"id":12559,"mutability":"mutable","name":"$","nameLocation":"19552:1:43","nodeType":"VariableDeclaration","scope":12580,"src":"19524:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12558,"nodeType":"UserDefinedTypeName","pathNode":{"id":12557,"name":"GalaxyMemberStorage","nameLocations":["19524:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"19524:19:43"},"referencedDeclaration":11819,"src":"19524:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12562,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12560,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"19556:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19556:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19524:57:43"},{"eventCall":{"arguments":[{"id":12564,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12541,"src":"19628:21:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":12567,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12559,"src":"19659:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19661:20:43","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":11748,"src":"19659:22:43","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":12566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19651:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12565,"name":"address","nodeType":"ElementaryTypeName","src":"19651:7:43","typeDescriptions":{}}},"id":12569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19651:31:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12563,"name":"XAllocationsGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11862,"src":"19593:34:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":12570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19593:90:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12571,"nodeType":"EmitStatement","src":"19588:95:43"},{"expression":{"id":12578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12572,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12559,"src":"19689:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19691:20:43","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":11748,"src":"19689:22:43","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12576,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12541,"src":"19741:21:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12575,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"19714:26:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":12577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19714:49:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"19689:74:43","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":12579,"nodeType":"ExpressionStatement","src":"19689:74:43"}]},"documentation":{"id":12539,"nodeType":"StructuredDocumentation","src":"19061:202:43","text":"@notice Sets the XAllocationVotingGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _xAllocationsGovernor XAllocationVotingGovernor contract address"},"functionSelector":"3af03ea8","id":12581,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12544,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11739,"src":"19369:30:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12545,"kind":"modifierInvocation","modifierName":{"id":12543,"name":"onlyRole","nameLocations":["19360:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"19360:8:43"},"nodeType":"ModifierInvocation","src":"19360:40:43"}],"name":"setXAllocationsGovernorAddress","nameLocation":"19275:30:43","nodeType":"FunctionDefinition","parameters":{"id":12542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12541,"mutability":"mutable","name":"_xAllocationsGovernor","nameLocation":"19319:21:43","nodeType":"VariableDeclaration","scope":12581,"src":"19311:29:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12540,"name":"address","nodeType":"ElementaryTypeName","src":"19311:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19305:39:43"},"returnParameters":{"id":12546,"nodeType":"ParameterList","parameters":[],"src":"19401:0:43"},"scope":13938,"src":"19266:502:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12626,"nodeType":"Block","src":"20054:307:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12591,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12584,"src":"20068:13:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":12594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20093:1:43","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":12593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20085:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12592,"name":"address","nodeType":"ElementaryTypeName","src":"20085:7:43","typeDescriptions":{}}},"id":12595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20085:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20068:27:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":12597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20097:57:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""},"value":"Galaxy Member: _b3trGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""}],"id":12590,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20060:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20060:95:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12599,"nodeType":"ExpressionStatement","src":"20060:95:43"},{"assignments":[12602],"declarations":[{"constant":false,"id":12602,"mutability":"mutable","name":"$","nameLocation":"20189:1:43","nodeType":"VariableDeclaration","scope":12626,"src":"20161:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12601,"nodeType":"UserDefinedTypeName","pathNode":{"id":12600,"name":"GalaxyMemberStorage","nameLocations":["20161:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"20161:19:43"},"referencedDeclaration":11819,"src":"20161:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12605,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12603,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"20193:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20193:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20161:57:43"},{"eventCall":{"arguments":[{"id":12607,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12584,"src":"20257:13:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":12610,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12602,"src":"20280:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20282:12:43","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":11751,"src":"20280:14:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":12609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20272:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12608,"name":"address","nodeType":"ElementaryTypeName","src":"20272:7:43","typeDescriptions":{}}},"id":12612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20272:23:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12606,"name":"B3trGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11869,"src":"20230:26:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":12613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20230:66:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12614,"nodeType":"EmitStatement","src":"20225:71:43"},{"expression":{"id":12624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12615,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12602,"src":"20302:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20304:12:43","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":11751,"src":"20302:14:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":12621,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12584,"src":"20341:13:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20333:8:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":12619,"name":"address","nodeType":"ElementaryTypeName","src":"20333:8:43","stateMutability":"payable","typeDescriptions":{}}},"id":12622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20333:22:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":12618,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"20319:13:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":12623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20319:37:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"20302:54:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":12625,"nodeType":"ExpressionStatement","src":"20302:54:43"}]},"documentation":{"id":12582,"nodeType":"StructuredDocumentation","src":"19772:168:43","text":"@notice Sets the B3TRGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _b3trGovernor B3TRGovernor contract address"},"functionSelector":"ddd8634d","id":12627,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12587,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11739,"src":"20022:30:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12588,"kind":"modifierInvocation","modifierName":{"id":12586,"name":"onlyRole","nameLocations":["20013:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"20013:8:43"},"nodeType":"ModifierInvocation","src":"20013:40:43"}],"name":"setB3trGovernorAddress","nameLocation":"19952:22:43","nodeType":"FunctionDefinition","parameters":{"id":12585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12584,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"19983:13:43","nodeType":"VariableDeclaration","scope":12627,"src":"19975:21:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12583,"name":"address","nodeType":"ElementaryTypeName","src":"19975:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19974:23:43"},"returnParameters":{"id":12589,"nodeType":"ParameterList","parameters":[],"src":"20054:0:43"},"scope":13938,"src":"19943:418:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12665,"nodeType":"Block","src":"20608:244:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":12639,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12630,"src":"20628:12:43","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20622:5:43","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":12637,"name":"bytes","nodeType":"ElementaryTypeName","src":"20622:5:43","typeDescriptions":{}}},"id":12640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20622:19:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20642:6:43","memberName":"length","nodeType":"MemberAccess","src":"20622:26:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20651:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20622:30:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520736574","id":12644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20654:37:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""},"value":"Galaxy Member: Base URI must be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""}],"id":12636,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20614:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20614:78:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12646,"nodeType":"ExpressionStatement","src":"20614:78:43"},{"assignments":[12649],"declarations":[{"constant":false,"id":12649,"mutability":"mutable","name":"$","nameLocation":"20726:1:43","nodeType":"VariableDeclaration","scope":12665,"src":"20698:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12648,"nodeType":"UserDefinedTypeName","pathNode":{"id":12647,"name":"GalaxyMemberStorage","nameLocations":["20698:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"20698:19:43"},"referencedDeclaration":11819,"src":"20698:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12652,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12650,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"20730:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20730:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20698:57:43"},{"eventCall":{"arguments":[{"id":12654,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12630,"src":"20781:12:43","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":12655,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12649,"src":"20795:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20797:13:43","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":11758,"src":"20795:15:43","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":12653,"name":"BaseURIUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11876,"src":"20766:14:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":12657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20766:45:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12658,"nodeType":"EmitStatement","src":"20761:50:43"},{"expression":{"id":12663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12659,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12649,"src":"20817:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20819:13:43","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":11758,"src":"20817:15:43","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12662,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12630,"src":"20835:12:43","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"20817:30:43","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":12664,"nodeType":"ExpressionStatement","src":"20817:30:43"}]},"documentation":{"id":12628,"nodeType":"StructuredDocumentation","src":"20365:148:43","text":"@notice Sets the base URI for computing the tokenURI\n @dev Only callable by the admin role\n @param baseTokenURI Base URI for the Token"},"functionSelector":"55f804b3","id":12666,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12633,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"20588:18:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12634,"kind":"modifierInvocation","modifierName":{"id":12632,"name":"onlyRole","nameLocations":["20579:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"20579:8:43"},"nodeType":"ModifierInvocation","src":"20579:28:43"}],"name":"setBaseURI","nameLocation":"20525:10:43","nodeType":"FunctionDefinition","parameters":{"id":12631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12630,"mutability":"mutable","name":"baseTokenURI","nameLocation":"20550:12:43","nodeType":"VariableDeclaration","scope":12666,"src":"20536:26:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12629,"name":"string","nodeType":"ElementaryTypeName","src":"20536:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20535:28:43"},"returnParameters":{"id":12635,"nodeType":"ParameterList","parameters":[],"src":"20608:0:43"},"scope":13938,"src":"20516:336:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12719,"nodeType":"Block","src":"21160:404:43","statements":[{"assignments":[12678],"declarations":[{"constant":false,"id":12678,"mutability":"mutable","name":"$","nameLocation":"21194:1:43","nodeType":"VariableDeclaration","scope":12719,"src":"21166:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12677,"nodeType":"UserDefinedTypeName","pathNode":{"id":12676,"name":"GalaxyMemberStorage","nameLocations":["21166:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"21166:19:43"},"referencedDeclaration":11819,"src":"21166:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12681,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12679,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"21198:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21198:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21166:57:43"},{"body":{"id":12713,"nodeType":"Block","src":"21283:217:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":12693,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12670,"src":"21299:20:43","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12695,"indexExpression":{"id":12694,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12683,"src":"21320:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21299:23:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21325:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21299:27:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652067726561746572207468616e2030","id":12698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21328:55:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""},"value":"Galaxy Member: B3TR to upgrade must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""}],"id":12692,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21291:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21291:93:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12700,"nodeType":"ExpressionStatement","src":"21291:93:43"},{"expression":{"id":12711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":12701,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12678,"src":"21392:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21394:21:43","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":11770,"src":"21392:23:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12707,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12703,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12683,"src":"21416:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":12704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21420:1:43","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"21416:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21392:30:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":12708,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12670,"src":"21425:20:43","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12710,"indexExpression":{"id":12709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12683,"src":"21446:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21425:23:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21392:56:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12712,"nodeType":"ExpressionStatement","src":"21392:56:43"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12685,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12683,"src":"21245:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":12686,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12670,"src":"21249:20:43","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21270:6:43","memberName":"length","nodeType":"MemberAccess","src":"21249:27:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21245:31:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12714,"initializationExpression":{"assignments":[12683],"declarations":[{"constant":false,"id":12683,"mutability":"mutable","name":"i","nameLocation":"21242:1:43","nodeType":"VariableDeclaration","scope":12714,"src":"21234:9:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12682,"name":"uint256","nodeType":"ElementaryTypeName","src":"21234:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12684,"nodeType":"VariableDeclarationStatement","src":"21234:9:43"},"loopExpression":{"expression":{"id":12690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"21278:3:43","subExpression":{"id":12689,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12683,"src":"21278:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12691,"nodeType":"ExpressionStatement","src":"21278:3:43"},"nodeType":"ForStatement","src":"21229:271:43"},{"eventCall":{"arguments":[{"id":12716,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12670,"src":"21538:20:43","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":12715,"name":"B3TRtoUpgradeToLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11882,"src":"21510:27:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory)"}},"id":12717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21510:49:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12718,"nodeType":"EmitStatement","src":"21505:54:43"}]},"documentation":{"id":12667,"nodeType":"StructuredDocumentation","src":"20856:185:43","text":"@notice Sets the amount of B3TR required to upgrade to each level\n @dev Only callable by the admin role\n @param b3trToUpgradeToLevel Mapping of B3TR requirements per level"},"functionSelector":"b1ccbd2c","id":12720,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12673,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"21140:18:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12674,"kind":"modifierInvocation","modifierName":{"id":12672,"name":"onlyRole","nameLocations":["21131:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21131:8:43"},"nodeType":"ModifierInvocation","src":"21131:28:43"}],"name":"setB3TRtoUpgradeToLevel","nameLocation":"21053:23:43","nodeType":"FunctionDefinition","parameters":{"id":12671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12670,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"21094:20:43","nodeType":"VariableDeclaration","scope":12720,"src":"21077:37:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12668,"name":"uint256","nodeType":"ElementaryTypeName","src":"21077:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12669,"nodeType":"ArrayTypeName","src":"21077:9:43","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"21076:39:43"},"returnParameters":{"id":12675,"nodeType":"ParameterList","parameters":[],"src":"21160:0:43"},"scope":13938,"src":"21044:520:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12745,"nodeType":"Block","src":"21802:148:43","statements":[{"assignments":[12731],"declarations":[{"constant":false,"id":12731,"mutability":"mutable","name":"$","nameLocation":"21836:1:43","nodeType":"VariableDeclaration","scope":12745,"src":"21808:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12730,"nodeType":"UserDefinedTypeName","pathNode":{"id":12729,"name":"GalaxyMemberStorage","nameLocations":["21808:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"21808:19:43"},"referencedDeclaration":11819,"src":"21808:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12734,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12732,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"21840:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21840:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21808:57:43"},{"eventCall":{"arguments":[{"id":12736,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"21896:8:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":12735,"name":"PublicMintingPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11887,"src":"21876:19:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":12737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21876:29:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12738,"nodeType":"EmitStatement","src":"21871:34:43"},{"expression":{"id":12743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12739,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12731,"src":"21911:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12741,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21913:21:43","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":11783,"src":"21911:23:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12742,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"21937:8:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21911:34:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12744,"nodeType":"ExpressionStatement","src":"21911:34:43"}]},"documentation":{"id":12721,"nodeType":"StructuredDocumentation","src":"21568:138:43","text":"@notice Pauses public minting\n @dev Only callable by the admin role\n @param isPaused Flag to pause or unpause public minting"},"functionSelector":"5b5da514","id":12746,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12726,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"21782:18:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12727,"kind":"modifierInvocation","modifierName":{"id":12725,"name":"onlyRole","nameLocations":["21773:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21773:8:43"},"nodeType":"ModifierInvocation","src":"21773:28:43"}],"name":"setIsPublicMintingPaused","nameLocation":"21718:24:43","nodeType":"FunctionDefinition","parameters":{"id":12724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12723,"mutability":"mutable","name":"isPaused","nameLocation":"21748:8:43","nodeType":"VariableDeclaration","scope":12746,"src":"21743:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12722,"name":"bool","nodeType":"ElementaryTypeName","src":"21743:4:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21742:15:43"},"returnParameters":{"id":12728,"nodeType":"ParameterList","parameters":[],"src":"21802:0:43"},"scope":13938,"src":"21709:241:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12793,"nodeType":"Block","src":"22299:340:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12758,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12751,"src":"22313:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":12759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22322:1:43","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"22313:10:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","id":12761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22325:29:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""},"value":"GalaxyMember: invalid level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""}],"id":12757,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22305:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22305:50:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12763,"nodeType":"ExpressionStatement","src":"22305:50:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12765,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12749,"src":"22369:9:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":12766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22382:1:43","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"22369:14:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","id":12768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22385:34:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""},"value":"GalaxyMember: invalid node level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""}],"id":12764,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22361:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22361:59:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12770,"nodeType":"ExpressionStatement","src":"22361:59:43"},{"assignments":[12773],"declarations":[{"constant":false,"id":12773,"mutability":"mutable","name":"$","nameLocation":"22455:1:43","nodeType":"VariableDeclaration","scope":12793,"src":"22427:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12772,"nodeType":"UserDefinedTypeName","pathNode":{"id":12771,"name":"GalaxyMemberStorage","nameLocations":["22427:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"22427:19:43"},"referencedDeclaration":11819,"src":"22427:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12776,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12774,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"22459:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22459:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22427:57:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12778,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12751,"src":"22499:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":12779,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12773,"src":"22508:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22510:9:43","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":11762,"src":"22508:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22499:20:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373207468616e206f7220657175616c20746f204d41585f4c4556454c","id":12782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22521:61:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""},"value":"GalaxyMember: level must be less than or equal to MAX_LEVEL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""}],"id":12777,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22491:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22491:92:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12784,"nodeType":"ExpressionStatement","src":"22491:92:43"},{"expression":{"id":12791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":12785,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12773,"src":"22590:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12788,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22592:23:43","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":11802,"src":"22590:25:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":12789,"indexExpression":{"id":12787,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12749,"src":"22616:9:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22590:36:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12790,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12751,"src":"22629:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22590:44:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12792,"nodeType":"ExpressionStatement","src":"22590:44:43"}]},"documentation":{"id":12747,"nodeType":"StructuredDocumentation","src":"21954:231:43","text":"@notice Sets the treasury contract address\n @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n @param level new free upgrade level"},"functionSelector":"001db0dd","id":12794,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12754,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11744,"src":"22279:18:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12755,"kind":"modifierInvocation","modifierName":{"id":12753,"name":"onlyRole","nameLocations":["22270:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22270:8:43"},"nodeType":"ModifierInvocation","src":"22270:28:43"}],"name":"setNodeToFreeUpgradeLevel","nameLocation":"22197:25:43","nodeType":"FunctionDefinition","parameters":{"id":12752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12749,"mutability":"mutable","name":"nodeLevel","nameLocation":"22229:9:43","nodeType":"VariableDeclaration","scope":12794,"src":"22223:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12748,"name":"uint8","nodeType":"ElementaryTypeName","src":"22223:5:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12751,"mutability":"mutable","name":"level","nameLocation":"22248:5:43","nodeType":"VariableDeclaration","scope":12794,"src":"22240:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12750,"name":"uint256","nodeType":"ElementaryTypeName","src":"22240:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22222:32:43"},"returnParameters":{"id":12756,"nodeType":"ParameterList","parameters":[],"src":"22299:0:43"},"scope":13938,"src":"22188:451:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12836,"nodeType":"Block","src":"22920:290:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12804,"name":"_stargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12797,"src":"22934:12:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":12807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22958:1:43","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":12806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22950:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12805,"name":"address","nodeType":"ElementaryTypeName","src":"22950:7:43","typeDescriptions":{}}},"id":12808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22950:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22934:26:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f73746172676174654e46542063616e6e6f7420626520746865207a65726f2061646472657373","id":12810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22962:56:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_a38e447c5b0b4349960f55aa87f10b03e4f9a190d02e4cb0f1b55ca947b45ce5","typeString":"literal_string \"Galaxy Member: _stargateNFT cannot be the zero address\""},"value":"Galaxy Member: _stargateNFT cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a38e447c5b0b4349960f55aa87f10b03e4f9a190d02e4cb0f1b55ca947b45ce5","typeString":"literal_string \"Galaxy Member: _stargateNFT cannot be the zero address\""}],"id":12803,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22926:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22926:93:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12812,"nodeType":"ExpressionStatement","src":"22926:93:43"},{"assignments":[12815],"declarations":[{"constant":false,"id":12815,"mutability":"mutable","name":"$","nameLocation":"23053:1:43","nodeType":"VariableDeclaration","scope":12836,"src":"23025:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12814,"nodeType":"UserDefinedTypeName","pathNode":{"id":12813,"name":"GalaxyMemberStorage","nameLocations":["23025:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"23025:19:43"},"referencedDeclaration":11819,"src":"23025:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12818,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12816,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"23057:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23057:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"23025:57:43"},{"eventCall":{"arguments":[{"id":12820,"name":"_stargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12797,"src":"23120:12:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":12823,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12815,"src":"23142:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12824,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23144:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"23142:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}],"id":12822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23134:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12821,"name":"address","nodeType":"ElementaryTypeName","src":"23134:7:43","typeDescriptions":{}}},"id":12825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23134:22:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12819,"name":"StargateNFTAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11926,"src":"23094:25:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":12826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23094:63:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12827,"nodeType":"EmitStatement","src":"23089:68:43"},{"expression":{"id":12834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":12828,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12815,"src":"23163:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"23165:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"23163:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12832,"name":"_stargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12797,"src":"23192:12:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12831,"name":"IStargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72687,"src":"23179:12:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStargateNFT_$72687_$","typeString":"type(contract IStargateNFT)"}},"id":12833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23179:26:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"src":"23163:42:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":12835,"nodeType":"ExpressionStatement","src":"23163:42:43"}]},"documentation":{"id":12795,"nodeType":"StructuredDocumentation","src":"22643:165:43","text":"@notice Sets the StargateNFT contract address\n @dev Only callable by the contractsAddressManager role\n @param _stargateNFT StargateNFT contract address"},"functionSelector":"36a49a3c","id":12837,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12800,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11739,"src":"22888:30:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12801,"kind":"modifierInvocation","modifierName":{"id":12799,"name":"onlyRole","nameLocations":["22879:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22879:8:43"},"nodeType":"ModifierInvocation","src":"22879:40:43"}],"name":"setStargateNFTAddress","nameLocation":"22820:21:43","nodeType":"FunctionDefinition","parameters":{"id":12798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12797,"mutability":"mutable","name":"_stargateNFT","nameLocation":"22850:12:43","nodeType":"VariableDeclaration","scope":12837,"src":"22842:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12796,"name":"address","nodeType":"ElementaryTypeName","src":"22842:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22841:22:43"},"returnParameters":{"id":12802,"nodeType":"ParameterList","parameters":[],"src":"22920:0:43"},"scope":13938,"src":"22811:399:43","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12860,"nodeType":"Block","src":"23409:139:43","statements":[{"assignments":[12846],"declarations":[{"constant":false,"id":12846,"mutability":"mutable","name":"nodeId","nameLocation":"23423:6:43","nodeType":"VariableDeclaration","scope":12860,"src":"23415:14:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12845,"name":"uint256","nodeType":"ElementaryTypeName","src":"23415:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12850,"initialValue":{"arguments":[{"id":12848,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12840,"src":"23450:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12847,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13392,"src":"23432:17:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":12849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23432:26:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23415:43:43"},{"assignments":[12852,null],"declarations":[{"constant":false,"id":12852,"mutability":"mutable","name":"level","nameLocation":"23474:5:43","nodeType":"VariableDeclaration","scope":12860,"src":"23466:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12851,"name":"uint256","nodeType":"ElementaryTypeName","src":"23466:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":12857,"initialValue":{"arguments":[{"id":12854,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12840,"src":"23508:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12855,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12846,"src":"23517:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12853,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13025,"src":"23485:22:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":12856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23485:39:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"23465:59:43"},{"expression":{"id":12858,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12852,"src":"23538:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12844,"id":12859,"nodeType":"Return","src":"23531:12:43"}]},"documentation":{"id":12838,"nodeType":"StructuredDocumentation","src":"23253:81:43","text":"@notice Gets the level of the GM token\n @param tokenId Token ID to check"},"functionSelector":"6d5e3032","id":12861,"implemented":true,"kind":"function","modifiers":[],"name":"levelOf","nameLocation":"23346:7:43","nodeType":"FunctionDefinition","parameters":{"id":12841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12840,"mutability":"mutable","name":"tokenId","nameLocation":"23362:7:43","nodeType":"VariableDeclaration","scope":12861,"src":"23354:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12839,"name":"uint256","nodeType":"ElementaryTypeName","src":"23354:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23353:17:43"},"returnParameters":{"id":12844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12861,"src":"23400:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12842,"name":"uint256","nodeType":"ElementaryTypeName","src":"23400:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23399:9:43"},"scope":13938,"src":"23337:211:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":12911,"nodeType":"Block","src":"23738:610:43","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12870,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12864,"src":"23757:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12869,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"23748:8:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":12871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23748:17:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":12874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23777:1:43","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":12873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23769:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12872,"name":"address","nodeType":"ElementaryTypeName","src":"23769:7:43","typeDescriptions":{}}},"id":12875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23769:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23748:31:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12879,"nodeType":"IfStatement","src":"23744:45:43","trueBody":{"expression":{"hexValue":"30","id":12877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23788:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":12868,"id":12878,"nodeType":"Return","src":"23781:8:43"}},{"assignments":[12881],"declarations":[{"constant":false,"id":12881,"mutability":"mutable","name":"nodeId","nameLocation":"23804:6:43","nodeType":"VariableDeclaration","scope":12911,"src":"23796:14:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12880,"name":"uint256","nodeType":"ElementaryTypeName","src":"23796:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12885,"initialValue":{"arguments":[{"id":12883,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12864,"src":"23831:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12882,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13392,"src":"23813:17:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":12884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23813:26:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23796:43:43"},{"assignments":[12887,12889],"declarations":[{"constant":false,"id":12887,"mutability":"mutable","name":"currentLevel","nameLocation":"23926:12:43","nodeType":"VariableDeclaration","scope":12911,"src":"23918:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12886,"name":"uint256","nodeType":"ElementaryTypeName","src":"23918:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12889,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"23948:15:43","nodeType":"VariableDeclaration","scope":12911,"src":"23940:23:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12888,"name":"uint256","nodeType":"ElementaryTypeName","src":"23940:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12894,"initialValue":{"arguments":[{"id":12891,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12864,"src":"23990:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12892,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12881,"src":"23999:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12890,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13025,"src":"23967:22:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":12893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23967:39:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"23917:89:43"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12895,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12887,"src":"24072:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":12896,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13362,"src":"24088:9:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":12897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24088:11:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24072:27:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12902,"nodeType":"IfStatement","src":"24068:56:43","trueBody":{"id":12901,"nodeType":"Block","src":"24101:23:43","statements":[{"expression":{"hexValue":"30","id":12899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24116:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":12868,"id":12900,"nodeType":"Return","src":"24109:8:43"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12904,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12887,"src":"24308:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":12905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24323:1:43","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24308:16:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12903,"name":"getB3TRtoUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13222,"src":"24284:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":12907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24284:41:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12908,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12889,"src":"24328:15:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24284:59:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12868,"id":12910,"nodeType":"Return","src":"24277:66:43"}]},"documentation":{"id":12862,"nodeType":"StructuredDocumentation","src":"23552:102:43","text":"@notice Gets the B3TR required to upgrade to the next level\n @param tokenId Token ID to check"},"functionSelector":"a51d2e0b","id":12912,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgrade","nameLocation":"23666:16:43","nodeType":"FunctionDefinition","parameters":{"id":12865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12864,"mutability":"mutable","name":"tokenId","nameLocation":"23691:7:43","nodeType":"VariableDeclaration","scope":12912,"src":"23683:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12863,"name":"uint256","nodeType":"ElementaryTypeName","src":"23683:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23682:17:43"},"returnParameters":{"id":12868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12867,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12912,"src":"23729:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12866,"name":"uint256","nodeType":"ElementaryTypeName","src":"23729:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23728:9:43"},"scope":13938,"src":"23657:691:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13024,"nodeType":"Block","src":"24693:1635:43","statements":[{"assignments":[12926],"declarations":[{"constant":false,"id":12926,"mutability":"mutable","name":"$","nameLocation":"24727:1:43","nodeType":"VariableDeclaration","scope":13024,"src":"24699:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":12925,"nodeType":"UserDefinedTypeName","pathNode":{"id":12924,"name":"GalaxyMemberStorage","nameLocations":["24699:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"24699:19:43"},"referencedDeclaration":11819,"src":"24699:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":12929,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":12927,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"24731:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":12928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24731:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24699:57:43"},{"assignments":[12931],"declarations":[{"constant":false,"id":12931,"mutability":"mutable","name":"level","nameLocation":"24871:5:43","nodeType":"VariableDeclaration","scope":13024,"src":"24863:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12930,"name":"uint256","nodeType":"ElementaryTypeName","src":"24863:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12933,"initialValue":{"hexValue":"31","id":12932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24879:1:43","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"24863:17:43"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12934,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12917,"src":"24971:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":12935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24981:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24971:11:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12940,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12917,"src":"25016:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":12937,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12926,"src":"24986:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24988:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"24986:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":12939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25000:15:43","memberName":"getTokenManager","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"24986:29:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":12941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24986:37:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":12943,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12915,"src":"25035:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12942,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"25027:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":12944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25027:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24986:57:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24971:72:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12976,"nodeType":"IfStatement","src":"24967:650:43","trueBody":{"id":12975,"nodeType":"Block","src":"25045:572:43","statements":[{"assignments":[12948],"declarations":[{"constant":false,"id":12948,"mutability":"mutable","name":"nodeLevel","nameLocation":"25169:9:43","nodeType":"VariableDeclaration","scope":12975,"src":"25163:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12947,"name":"uint8","nodeType":"ElementaryTypeName","src":"25163:5:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":12952,"initialValue":{"arguments":[{"id":12950,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12917,"src":"25196:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12949,"name":"getNodeLevelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13046,"src":"25181:14:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":12951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25181:22:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"25163:40:43"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12953,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12948,"src":"25265:9:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":12954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25278:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25265:14:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12974,"nodeType":"IfStatement","src":"25261:350:43","trueBody":{"id":12973,"nodeType":"Block","src":"25281:330:43","statements":[{"assignments":[12957],"declarations":[{"constant":false,"id":12957,"mutability":"mutable","name":"nodeToFreeLevel","nameLocation":"25367:15:43","nodeType":"VariableDeclaration","scope":12973,"src":"25359:23:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12956,"name":"uint256","nodeType":"ElementaryTypeName","src":"25359:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12961,"initialValue":{"arguments":[{"id":12959,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12948,"src":"25404:9:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12958,"name":"getNodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13407,"src":"25385:18:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":12960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25385:29:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25359:55:43"},{"expression":{"id":12971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12962,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12931,"src":"25532:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12963,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12957,"src":"25540:15:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":12964,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12926,"src":"25559:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25561:9:43","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":11762,"src":"25559:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25540:30:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":12968,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12926,"src":"25591:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12969,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25593:9:43","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":11762,"src":"25591:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25540:62:43","trueExpression":{"id":12967,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12957,"src":"25573:15:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25532:70:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12972,"nodeType":"ExpressionStatement","src":"25532:70:43"}]}}]}},{"assignments":[12978],"declarations":[{"constant":false,"id":12978,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"25727:15:43","nodeType":"VariableDeclaration","scope":13024,"src":"25719:23:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12977,"name":"uint256","nodeType":"ElementaryTypeName","src":"25719:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12983,"initialValue":{"baseExpression":{"expression":{"id":12979,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12926,"src":"25745:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25747:21:43","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":11806,"src":"25745:23:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":12982,"indexExpression":{"id":12981,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12915,"src":"25769:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25745:32:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25719:58:43"},{"body":{"id":13018,"nodeType":"Block","src":"25967:268:43","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12997,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12978,"src":"25979:15:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"baseExpression":{"expression":{"id":12998,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12926,"src":"25998:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26000:21:43","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":11770,"src":"25998:23:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":13001,"indexExpression":{"id":13000,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12985,"src":"26022:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25998:26:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25979:45:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":13016,"nodeType":"Block","src":"26115:114:43","statements":[{"id":13015,"nodeType":"Break","src":"26215:5:43"}]},"id":13017,"nodeType":"IfStatement","src":"25975:254:43","trueBody":{"id":13014,"nodeType":"Block","src":"26026:83:43","statements":[{"expression":{"id":13005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13003,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12931,"src":"26036:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":13004,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12985,"src":"26044:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26036:9:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13006,"nodeType":"ExpressionStatement","src":"26036:9:43"},{"expression":{"id":13012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13007,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12978,"src":"26055:15:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"baseExpression":{"expression":{"id":13008,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12926,"src":"26074:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26076:21:43","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":11770,"src":"26074:23:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":13011,"indexExpression":{"id":13010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12985,"src":"26098:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26074:26:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26055:45:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13013,"nodeType":"ExpressionStatement","src":"26055:45:43"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12990,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12985,"src":"25944:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":12991,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12926,"src":"25949:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":12992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25951:9:43","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":11762,"src":"25949:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25944:16:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13019,"initializationExpression":{"assignments":[12985],"declarations":[{"constant":false,"id":12985,"mutability":"mutable","name":"i","nameLocation":"25929:1:43","nodeType":"VariableDeclaration","scope":13019,"src":"25921:9:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12984,"name":"uint256","nodeType":"ElementaryTypeName","src":"25921:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12989,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12986,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12931,"src":"25933:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":12987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25941:1:43","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25933:9:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25921:21:43"},"loopExpression":{"expression":{"id":12995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"25962:3:43","subExpression":{"id":12994,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12985,"src":"25962:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12996,"nodeType":"ExpressionStatement","src":"25962:3:43"},"nodeType":"ForStatement","src":"25916:319:43"},{"expression":{"components":[{"id":13020,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12931,"src":"26300:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13021,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12978,"src":"26307:15:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":13022,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26299:24:43","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"functionReturnParameters":12923,"id":13023,"nodeType":"Return","src":"26292:31:43"}]},"documentation":{"id":12913,"nodeType":"StructuredDocumentation","src":"24352:224:43","text":"@notice Gets the level of the GM token and the B3TR Donated left to upgrade\n @param tokenId Token ID to check\n @return level The level of the token\n @return b3trDonatedLeft The B3TR donated left to upgrade"},"id":13025,"implemented":true,"kind":"function","modifiers":[],"name":"_getLevelOfAndB3TRleft","nameLocation":"24588:22:43","nodeType":"FunctionDefinition","parameters":{"id":12918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12915,"mutability":"mutable","name":"tokenId","nameLocation":"24619:7:43","nodeType":"VariableDeclaration","scope":13025,"src":"24611:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12914,"name":"uint256","nodeType":"ElementaryTypeName","src":"24611:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12917,"mutability":"mutable","name":"nodeId","nameLocation":"24636:6:43","nodeType":"VariableDeclaration","scope":13025,"src":"24628:14:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12916,"name":"uint256","nodeType":"ElementaryTypeName","src":"24628:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24610:33:43"},"returnParameters":{"id":12923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12920,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13025,"src":"24675:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12919,"name":"uint256","nodeType":"ElementaryTypeName","src":"24675:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13025,"src":"24684:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12921,"name":"uint256","nodeType":"ElementaryTypeName","src":"24684:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24674:18:43"},"scope":13938,"src":"24579:1749:43","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":13045,"nodeType":"Block","src":"26508:117:43","statements":[{"assignments":[13035],"declarations":[{"constant":false,"id":13035,"mutability":"mutable","name":"$","nameLocation":"26542:1:43","nodeType":"VariableDeclaration","scope":13045,"src":"26514:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13034,"nodeType":"UserDefinedTypeName","pathNode":{"id":13033,"name":"GalaxyMemberStorage","nameLocations":["26514:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"26514:19:43"},"referencedDeclaration":11819,"src":"26514:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13038,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13036,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"26546:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26546:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"26514:57:43"},{"expression":{"arguments":[{"id":13042,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13028,"src":"26613:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":13039,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13035,"src":"26585:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13040,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26587:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"26585:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":13041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26599:13:43","memberName":"getTokenLevel","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"26585:27:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view external returns (uint8)"}},"id":13043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26585:35:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":13032,"id":13044,"nodeType":"Return","src":"26578:42:43"}]},"documentation":{"id":13026,"nodeType":"StructuredDocumentation","src":"26332:97:43","text":"@notice Gets the strength level of the Vechain node\n @param nodeId Vechain Node Token ID"},"functionSelector":"3ff453af","id":13046,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeLevelOf","nameLocation":"26441:14:43","nodeType":"FunctionDefinition","parameters":{"id":13029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13028,"mutability":"mutable","name":"nodeId","nameLocation":"26464:6:43","nodeType":"VariableDeclaration","scope":13046,"src":"26456:14:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13027,"name":"uint256","nodeType":"ElementaryTypeName","src":"26456:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26455:16:43"},"returnParameters":{"id":13032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13046,"src":"26501:5:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13030,"name":"uint8","nodeType":"ElementaryTypeName","src":"26501:5:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"26500:7:43"},"scope":13938,"src":"26432:193:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13067,"nodeType":"Block","src":"26817:126:43","statements":[{"assignments":[13056],"declarations":[{"constant":false,"id":13056,"mutability":"mutable","name":"$","nameLocation":"26851:1:43","nodeType":"VariableDeclaration","scope":13067,"src":"26823:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13055,"nodeType":"UserDefinedTypeName","pathNode":{"id":13054,"name":"GalaxyMemberStorage","nameLocations":["26823:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"26823:19:43"},"referencedDeclaration":11819,"src":"26823:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13059,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13057,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"26855:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26855:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"26823:57:43"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":13060,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13056,"src":"26893:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26895:27:43","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":11815,"src":"26893:29:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":13063,"indexExpression":{"id":13062,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13049,"src":"26923:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26893:36:43","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":13064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26930:6:43","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"26893:43:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":13065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26893:45:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":13053,"id":13066,"nodeType":"Return","src":"26886:52:43"}]},"documentation":{"id":13047,"nodeType":"StructuredDocumentation","src":"26629:104:43","text":"@notice Gets the selected token ID for the user\n @param owner The address of the owner to check"},"functionSelector":"d206885d","id":13068,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenId","nameLocation":"26745:18:43","nodeType":"FunctionDefinition","parameters":{"id":13050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13049,"mutability":"mutable","name":"owner","nameLocation":"26772:5:43","nodeType":"VariableDeclaration","scope":13068,"src":"26764:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13048,"name":"address","nodeType":"ElementaryTypeName","src":"26764:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26763:15:43"},"returnParameters":{"id":13053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13052,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13068,"src":"26808:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13051,"name":"uint256","nodeType":"ElementaryTypeName","src":"26808:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26807:9:43"},"scope":13938,"src":"26736:207:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13092,"nodeType":"Block","src":"27240:148:43","statements":[{"assignments":[13080],"declarations":[{"constant":false,"id":13080,"mutability":"mutable","name":"$","nameLocation":"27274:1:43","nodeType":"VariableDeclaration","scope":13092,"src":"27246:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13079,"nodeType":"UserDefinedTypeName","pathNode":{"id":13078,"name":"GalaxyMemberStorage","nameLocations":["27246:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"27246:19:43"},"referencedDeclaration":11819,"src":"27246:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13083,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13081,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"27278:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27278:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"27246:57:43"},{"expression":{"arguments":[{"id":13089,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13073,"src":"27371:11:43","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":13084,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13080,"src":"27316:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13085,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27318:27:43","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":11815,"src":"27316:29:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":13087,"indexExpression":{"id":13086,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13071,"src":"27346:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27316:36:43","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":13088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27353:17:43","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"27316:54:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":13090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27316:67:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":13077,"id":13091,"nodeType":"Return","src":"27309:74:43"}]},"documentation":{"id":13069,"nodeType":"StructuredDocumentation","src":"26947:182:43","text":"@notice Gets the selected token ID for the user in a specific block number\n @param owner The address of the owner to check\n @param blockNumber The block number to check"},"functionSelector":"3c60f55d","id":13093,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenIdAtBlock","nameLocation":"27141:25:43","nodeType":"FunctionDefinition","parameters":{"id":13074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13071,"mutability":"mutable","name":"owner","nameLocation":"27175:5:43","nodeType":"VariableDeclaration","scope":13093,"src":"27167:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13070,"name":"address","nodeType":"ElementaryTypeName","src":"27167:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13073,"mutability":"mutable","name":"blockNumber","nameLocation":"27189:11:43","nodeType":"VariableDeclaration","scope":13093,"src":"27182:18:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":13072,"name":"uint48","nodeType":"ElementaryTypeName","src":"27182:6:43","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"27166:35:43"},"returnParameters":{"id":13077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13093,"src":"27231:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13075,"name":"uint256","nodeType":"ElementaryTypeName","src":"27231:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27230:9:43"},"scope":13938,"src":"27132:256:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13112,"nodeType":"Block","src":"27653:94:43","statements":[{"assignments":[13104,null],"declarations":[{"constant":false,"id":13104,"mutability":"mutable","name":"level","nameLocation":"27668:5:43","nodeType":"VariableDeclaration","scope":13112,"src":"27660:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13103,"name":"uint256","nodeType":"ElementaryTypeName","src":"27660:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":13109,"initialValue":{"arguments":[{"id":13106,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13096,"src":"27702:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13107,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13098,"src":"27711:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13105,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13025,"src":"27679:22:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":13108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27679:44:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"27659:64:43"},{"expression":{"id":13110,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13104,"src":"27737:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13102,"id":13111,"nodeType":"Return","src":"27730:12:43"}]},"documentation":{"id":13094,"nodeType":"StructuredDocumentation","src":"27392:146:43","text":"@notice Gets the level of the token after attaching a node\n @param tokenId - GM Token ID\n @param nodeTokenId - Vechain Node Token ID"},"functionSelector":"a1843bd0","id":13113,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterAttachingNode","nameLocation":"27550:26:43","nodeType":"FunctionDefinition","parameters":{"id":13099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13096,"mutability":"mutable","name":"tokenId","nameLocation":"27585:7:43","nodeType":"VariableDeclaration","scope":13113,"src":"27577:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13095,"name":"uint256","nodeType":"ElementaryTypeName","src":"27577:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13098,"mutability":"mutable","name":"nodeTokenId","nameLocation":"27602:11:43","nodeType":"VariableDeclaration","scope":13113,"src":"27594:19:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13097,"name":"uint256","nodeType":"ElementaryTypeName","src":"27594:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27576:38:43"},"returnParameters":{"id":13102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13101,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13113,"src":"27644:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13100,"name":"uint256","nodeType":"ElementaryTypeName","src":"27644:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27643:9:43"},"scope":13938,"src":"27541:206:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13130,"nodeType":"Block","src":"27942:84:43","statements":[{"assignments":[13122,null],"declarations":[{"constant":false,"id":13122,"mutability":"mutable","name":"level","nameLocation":"27957:5:43","nodeType":"VariableDeclaration","scope":13130,"src":"27949:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13121,"name":"uint256","nodeType":"ElementaryTypeName","src":"27949:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":13127,"initialValue":{"arguments":[{"id":13124,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13116,"src":"27991:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":13125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28000:1:43","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":13123,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13025,"src":"27968:22:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":13126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27968:34:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"27948:54:43"},{"expression":{"id":13128,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13122,"src":"28016:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13120,"id":13129,"nodeType":"Return","src":"28009:12:43"}]},"documentation":{"id":13114,"nodeType":"StructuredDocumentation","src":"27751:97:43","text":"@notice Gets the level of the token after detaching a node\n @param tokenId - GM Token ID"},"functionSelector":"cc421d07","id":13131,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterDetachingNode","nameLocation":"27860:26:43","nodeType":"FunctionDefinition","parameters":{"id":13117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13116,"mutability":"mutable","name":"tokenId","nameLocation":"27895:7:43","nodeType":"VariableDeclaration","scope":13131,"src":"27887:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13115,"name":"uint256","nodeType":"ElementaryTypeName","src":"27887:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27886:17:43"},"returnParameters":{"id":13120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13119,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13131,"src":"27933:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13118,"name":"uint256","nodeType":"ElementaryTypeName","src":"27933:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27932:9:43"},"scope":13938,"src":"27851:175:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13191,"nodeType":"Block","src":"28231:458:43","statements":[{"assignments":[13141],"declarations":[{"constant":false,"id":13141,"mutability":"mutable","name":"$","nameLocation":"28265:1:43","nodeType":"VariableDeclaration","scope":13191,"src":"28237:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13140,"nodeType":"UserDefinedTypeName","pathNode":{"id":13139,"name":"GalaxyMemberStorage","nameLocations":["28237:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"28237:19:43"},"referencedDeclaration":11819,"src":"28237:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13144,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13142,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"28269:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28269:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28237:57:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"id":13154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":13146,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13141,"src":"28315:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28317:20:43","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":11748,"src":"28315:22:43","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":13151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28376:1:43","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":13150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28368:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13149,"name":"address","nodeType":"ElementaryTypeName","src":"28368:7:43","typeDescriptions":{}}},"id":13152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28368:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13148,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"28341:26:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":13153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28341:38:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"28315:64:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67476f7665726e6f72206e6f7420736574","id":13155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28387:50:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""},"value":"Galaxy Member: XAllocationVotingGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""}],"id":13145,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"28300:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28300:143:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13157,"nodeType":"ExpressionStatement","src":"28300:143:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"id":13170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":13159,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13141,"src":"28457:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28459:12:43","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":11751,"src":"28457:14:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":13166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28505:1:43","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":13165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28497:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13164,"name":"address","nodeType":"ElementaryTypeName","src":"28497:7:43","typeDescriptions":{}}},"id":13167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28497:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28489:8:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":13162,"name":"address","nodeType":"ElementaryTypeName","src":"28489:8:43","stateMutability":"payable","typeDescriptions":{}}},"id":13168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28489:19:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":13161,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"28475:13:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":13169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28475:34:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"28457:52:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420736574","id":13171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28511:37:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""},"value":"Galaxy Member: B3TRGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""}],"id":13158,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"28449:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28449:100:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13173,"nodeType":"ExpressionStatement","src":"28449:100:43"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13177,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13134,"src":"28596:4:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":13174,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13141,"src":"28560:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13175,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28562:20:43","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":11748,"src":"28560:22:43","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":13176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28583:12:43","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":71083,"src":"28560:35:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":13178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28560:41:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":13182,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13134,"src":"28633:4:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":13179,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13141,"src":"28605:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28607:12:43","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":11751,"src":"28605:14:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":13181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28620:12:43","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":63603,"src":"28605:27:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":13183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28605:33:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28560:78:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13188,"nodeType":"IfStatement","src":"28556:110:43","trueBody":{"id":13187,"nodeType":"Block","src":"28640:26:43","statements":[{"expression":{"hexValue":"74727565","id":13185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28655:4:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":13138,"id":13186,"nodeType":"Return","src":"28648:11:43"}]}},{"expression":{"hexValue":"66616c7365","id":13189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28679:5:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":13138,"id":13190,"nodeType":"Return","src":"28672:12:43"}]},"documentation":{"id":13132,"nodeType":"StructuredDocumentation","src":"28030:115:43","text":"@notice Gets whether the user has participated in governance\n @param user The address of the user to check"},"functionSelector":"8c5b76fb","id":13192,"implemented":true,"kind":"function","modifiers":[],"name":"participatedInGovernance","nameLocation":"28157:24:43","nodeType":"FunctionDefinition","parameters":{"id":13135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13134,"mutability":"mutable","name":"user","nameLocation":"28190:4:43","nodeType":"VariableDeclaration","scope":13192,"src":"28182:12:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13133,"name":"address","nodeType":"ElementaryTypeName","src":"28182:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28181:14:43"},"returnParameters":{"id":13138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13137,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13192,"src":"28225:4:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13136,"name":"bool","nodeType":"ElementaryTypeName","src":"28225:4:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28224:6:43"},"scope":13938,"src":"28148:541:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13201,"nodeType":"Block","src":"28815:28:43","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":13198,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[13937],"referencedDeclaration":13937,"src":"28828:8:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":13199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28828:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13197,"id":13200,"nodeType":"Return","src":"28821:17:43"}]},"documentation":{"id":13193,"nodeType":"StructuredDocumentation","src":"28693:56:43","text":"@notice Gets the base URI for computing the tokenURI"},"functionSelector":"6c0360eb","id":13202,"implemented":true,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"28761:7:43","nodeType":"FunctionDefinition","parameters":{"id":13194,"nodeType":"ParameterList","parameters":[],"src":"28768:2:43"},"returnParameters":{"id":13197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13202,"src":"28800:13:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13195,"name":"string","nodeType":"ElementaryTypeName","src":"28800:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28799:15:43"},"scope":13938,"src":"28752:91:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13221,"nodeType":"Block","src":"29040:111:43","statements":[{"assignments":[13212],"declarations":[{"constant":false,"id":13212,"mutability":"mutable","name":"$","nameLocation":"29074:1:43","nodeType":"VariableDeclaration","scope":13221,"src":"29046:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13211,"nodeType":"UserDefinedTypeName","pathNode":{"id":13210,"name":"GalaxyMemberStorage","nameLocations":["29046:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"29046:19:43"},"referencedDeclaration":11819,"src":"29046:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13215,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13213,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"29078:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29078:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29046:57:43"},{"expression":{"baseExpression":{"expression":{"id":13216,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13212,"src":"29116:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29118:21:43","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":11770,"src":"29116:23:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":13219,"indexExpression":{"id":13218,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13205,"src":"29140:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29116:30:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13209,"id":13220,"nodeType":"Return","src":"29109:37:43"}]},"documentation":{"id":13203,"nodeType":"StructuredDocumentation","src":"28847:104:43","text":"@notice Gets the B3TR required to upgrade to a specific level\n @param level Level to upgrade to"},"functionSelector":"2b42df38","id":13222,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgradeToLevel","nameLocation":"28963:23:43","nodeType":"FunctionDefinition","parameters":{"id":13206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13205,"mutability":"mutable","name":"level","nameLocation":"28995:5:43","nodeType":"VariableDeclaration","scope":13222,"src":"28987:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13204,"name":"uint256","nodeType":"ElementaryTypeName","src":"28987:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28986:15:43"},"returnParameters":{"id":13209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13222,"src":"29031:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13207,"name":"uint256","nodeType":"ElementaryTypeName","src":"29031:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29030:9:43"},"scope":13938,"src":"28954:197:43","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2274],"body":{"id":13266,"nodeType":"Block","src":"29448:205:43","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13233,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13225,"src":"29467:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13232,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"29458:8:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":13234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29458:17:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":13237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29487:1:43","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":13236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29479:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13235,"name":"address","nodeType":"ElementaryTypeName","src":"29479:7:43","typeDescriptions":{}}},"id":13238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29479:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"29458:31:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13242,"nodeType":"IfStatement","src":"29454:46:43","trueBody":{"expression":{"hexValue":"","id":13240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29498:2:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":13231,"id":13241,"nodeType":"Return","src":"29491:9:43"}},{"assignments":[13244],"declarations":[{"constant":false,"id":13244,"mutability":"mutable","name":"levelOfToken","nameLocation":"29515:12:43","nodeType":"VariableDeclaration","scope":13266,"src":"29507:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13243,"name":"uint256","nodeType":"ElementaryTypeName","src":"29507:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13248,"initialValue":{"arguments":[{"id":13246,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13225,"src":"29538:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13245,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12861,"src":"29530:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":13247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29530:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29507:39:43"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13249,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13244,"src":"29559:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":13250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29574:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29559:16:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":13263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29646:2:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":13264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29559:89:43","trueExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":13255,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13202,"src":"29592:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":13256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29592:9:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":13259,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13244,"src":"29620:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13257,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"29603:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":13258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29611:8:43","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"29603:16:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":13260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29603:30:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6a736f6e","id":13261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29635:7:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":13253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29578:6:43","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":13252,"name":"string","nodeType":"ElementaryTypeName","src":"29578:6:43","typeDescriptions":{}}},"id":13254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29585:6:43","memberName":"concat","nodeType":"MemberAccess","src":"29578:13:43","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":13262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29578:65:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13231,"id":13265,"nodeType":"Return","src":"29552:96:43"}]},"documentation":{"id":13223,"nodeType":"StructuredDocumentation","src":"29155:183:43","text":"@notice gets the token URI for a specific token\n @dev computes the token URI based on the base URI and the level of the token\n @param tokenId Token ID to get the URI for"},"functionSelector":"c87b56dd","id":13267,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"29350:8:43","nodeType":"FunctionDefinition","overrides":{"id":13228,"nodeType":"OverrideSpecifier","overrides":[{"id":13227,"name":"ERC721Upgradeable","nameLocations":["29405:17:43"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"29405:17:43"}],"src":"29396:27:43"},"parameters":{"id":13226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13225,"mutability":"mutable","name":"tokenId","nameLocation":"29367:7:43","nodeType":"VariableDeclaration","scope":13267,"src":"29359:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13224,"name":"uint256","nodeType":"ElementaryTypeName","src":"29359:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29358:17:43"},"returnParameters":{"id":13231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13267,"src":"29433:13:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13229,"name":"string","nodeType":"ElementaryTypeName","src":"29433:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29432:15:43"},"scope":13938,"src":"29341:312:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13283,"nodeType":"Block","src":"29801:103:43","statements":[{"assignments":[13276],"declarations":[{"constant":false,"id":13276,"mutability":"mutable","name":"$","nameLocation":"29835:1:43","nodeType":"VariableDeclaration","scope":13283,"src":"29807:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13275,"nodeType":"UserDefinedTypeName","pathNode":{"id":13274,"name":"GalaxyMemberStorage","nameLocations":["29807:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"29807:19:43"},"referencedDeclaration":11819,"src":"29807:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13279,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13277,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"29839:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29839:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29807:57:43"},{"expression":{"expression":{"id":13280,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13276,"src":"29877:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29879:20:43","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":11748,"src":"29877:22:43","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"functionReturnParameters":13273,"id":13282,"nodeType":"Return","src":"29870:29:43"}]},"documentation":{"id":13268,"nodeType":"StructuredDocumentation","src":"29657:58:43","text":"@notice Gets the xAllocationsGovernor contract address"},"functionSelector":"5ecf68e9","id":13284,"implemented":true,"kind":"function","modifiers":[],"name":"xAllocationsGovernor","nameLocation":"29727:20:43","nodeType":"FunctionDefinition","parameters":{"id":13269,"nodeType":"ParameterList","parameters":[],"src":"29747:2:43"},"returnParameters":{"id":13273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13272,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13284,"src":"29773:26:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":13271,"nodeType":"UserDefinedTypeName","pathNode":{"id":13270,"name":"IXAllocationVotingGovernor","nameLocations":["29773:26:43"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"29773:26:43"},"referencedDeclaration":71124,"src":"29773:26:43","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"29772:28:43"},"scope":13938,"src":"29718:186:43","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":13300,"nodeType":"Block","src":"30023:95:43","statements":[{"assignments":[13293],"declarations":[{"constant":false,"id":13293,"mutability":"mutable","name":"$","nameLocation":"30057:1:43","nodeType":"VariableDeclaration","scope":13300,"src":"30029:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13292,"nodeType":"UserDefinedTypeName","pathNode":{"id":13291,"name":"GalaxyMemberStorage","nameLocations":["30029:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"30029:19:43"},"referencedDeclaration":11819,"src":"30029:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13296,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13294,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"30061:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30061:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30029:57:43"},{"expression":{"expression":{"id":13297,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13293,"src":"30099:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30101:12:43","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":11751,"src":"30099:14:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"functionReturnParameters":13290,"id":13299,"nodeType":"Return","src":"30092:21:43"}]},"documentation":{"id":13285,"nodeType":"StructuredDocumentation","src":"29908:50:43","text":"@notice Gets the b3trGovernor contract address"},"functionSelector":"7893d736","id":13301,"implemented":true,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"29970:12:43","nodeType":"FunctionDefinition","parameters":{"id":13286,"nodeType":"ParameterList","parameters":[],"src":"29982:2:43"},"returnParameters":{"id":13290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13289,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13301,"src":"30008:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":13288,"nodeType":"UserDefinedTypeName","pathNode":{"id":13287,"name":"IB3TRGovernor","nameLocations":["30008:13:43"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"30008:13:43"},"referencedDeclaration":63919,"src":"30008:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"30007:15:43"},"scope":13938,"src":"29961:157:43","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":13317,"nodeType":"Block","src":"30219:87:43","statements":[{"assignments":[13310],"declarations":[{"constant":false,"id":13310,"mutability":"mutable","name":"$","nameLocation":"30253:1:43","nodeType":"VariableDeclaration","scope":13317,"src":"30225:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13309,"nodeType":"UserDefinedTypeName","pathNode":{"id":13308,"name":"GalaxyMemberStorage","nameLocations":["30225:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"30225:19:43"},"referencedDeclaration":11819,"src":"30225:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13313,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13311,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"30257:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30257:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30225:57:43"},{"expression":{"expression":{"id":13314,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13310,"src":"30295:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30297:4:43","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":11754,"src":"30295:6:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"functionReturnParameters":13307,"id":13316,"nodeType":"Return","src":"30288:13:43"}]},"documentation":{"id":13302,"nodeType":"StructuredDocumentation","src":"30122:48:43","text":"@notice Gets the B3TR token contract address"},"functionSelector":"582a486a","id":13318,"implemented":true,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"30182:4:43","nodeType":"FunctionDefinition","parameters":{"id":13303,"nodeType":"ParameterList","parameters":[],"src":"30186:2:43"},"returnParameters":{"id":13307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13318,"src":"30212:5:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":13305,"nodeType":"UserDefinedTypeName","pathNode":{"id":13304,"name":"IB3TR","nameLocations":["30212:5:43"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"30212:5:43"},"referencedDeclaration":62888,"src":"30212:5:43","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"30211:7:43"},"scope":13938,"src":"30173:133:43","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":13333,"nodeType":"Block","src":"30411:91:43","statements":[{"assignments":[13326],"declarations":[{"constant":false,"id":13326,"mutability":"mutable","name":"$","nameLocation":"30445:1:43","nodeType":"VariableDeclaration","scope":13333,"src":"30417:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13325,"nodeType":"UserDefinedTypeName","pathNode":{"id":13324,"name":"GalaxyMemberStorage","nameLocations":["30417:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"30417:19:43"},"referencedDeclaration":11819,"src":"30417:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13329,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13327,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"30449:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30449:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30417:57:43"},{"expression":{"expression":{"id":13330,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13326,"src":"30487:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30489:8:43","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":11756,"src":"30487:10:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13323,"id":13332,"nodeType":"Return","src":"30480:17:43"}]},"documentation":{"id":13319,"nodeType":"StructuredDocumentation","src":"30310:46:43","text":"@notice Gets the treasury contract address"},"functionSelector":"61d027b3","id":13334,"implemented":true,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"30368:8:43","nodeType":"FunctionDefinition","parameters":{"id":13320,"nodeType":"ParameterList","parameters":[],"src":"30376:2:43"},"returnParameters":{"id":13323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13334,"src":"30402:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13321,"name":"address","nodeType":"ElementaryTypeName","src":"30402:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30401:9:43"},"scope":13938,"src":"30359:143:43","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":13345,"nodeType":"Block","src":"30618:55:43","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":13341,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"30631:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30631:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13343,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30657:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"30631:37:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"functionReturnParameters":13340,"id":13344,"nodeType":"Return","src":"30624:44:43"}]},"documentation":{"id":13335,"nodeType":"StructuredDocumentation","src":"30506:49:43","text":"@notice Gets the StargateNFT contract address"},"functionSelector":"5d21e15b","id":13346,"implemented":true,"kind":"function","modifiers":[],"name":"stargateNFT","nameLocation":"30567:11:43","nodeType":"FunctionDefinition","parameters":{"id":13336,"nodeType":"ParameterList","parameters":[],"src":"30578:2:43"},"returnParameters":{"id":13340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13346,"src":"30604:12:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"},"typeName":{"id":13338,"nodeType":"UserDefinedTypeName","pathNode":{"id":13337,"name":"IStargateNFT","nameLocations":["30604:12:43"],"nodeType":"IdentifierPath","referencedDeclaration":72687,"src":"30604:12:43"},"referencedDeclaration":72687,"src":"30604:12:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"visibility":"internal"}],"src":"30603:14:43"},"scope":13938,"src":"30558:115:43","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":13361,"nodeType":"Block","src":"30814:92:43","statements":[{"assignments":[13354],"declarations":[{"constant":false,"id":13354,"mutability":"mutable","name":"$","nameLocation":"30848:1:43","nodeType":"VariableDeclaration","scope":13361,"src":"30820:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13353,"nodeType":"UserDefinedTypeName","pathNode":{"id":13352,"name":"GalaxyMemberStorage","nameLocations":["30820:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"30820:19:43"},"referencedDeclaration":11819,"src":"30820:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13357,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13355,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"30852:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30852:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30820:57:43"},{"expression":{"expression":{"id":13358,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13354,"src":"30890:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13359,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30892:9:43","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":11762,"src":"30890:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13351,"id":13360,"nodeType":"Return","src":"30883:18:43"}]},"documentation":{"id":13347,"nodeType":"StructuredDocumentation","src":"30677:75:43","text":"@notice Gets the maximum level that tokens can be minted or upgraded to"},"functionSelector":"a49062d4","id":13362,"implemented":true,"kind":"function","modifiers":[],"name":"MAX_LEVEL","nameLocation":"30764:9:43","nodeType":"FunctionDefinition","parameters":{"id":13348,"nodeType":"ParameterList","parameters":[],"src":"30773:2:43"},"returnParameters":{"id":13351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13350,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13362,"src":"30805:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13349,"name":"uint256","nodeType":"ElementaryTypeName","src":"30805:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30804:9:43"},"scope":13938,"src":"30755:151:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13376,"nodeType":"Block","src":"31107:73:43","statements":[{"expression":{"arguments":[{"id":13371,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13365,"src":"31141:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":13372,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"31149:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31149:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}],"id":13370,"name":"_getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13762,"src":"31120:20:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$returns$_t_uint256_$","typeString":"function (uint256,struct GalaxyMember.GalaxyMemberStorage storage pointer) view returns (uint256)"}},"id":13374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31120:55:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13369,"id":13375,"nodeType":"Return","src":"31113:62:43"}]},"documentation":{"id":13363,"nodeType":"StructuredDocumentation","src":"30910:111:43","text":"@notice Get the GM Token ID attached to the Vechain Node Token ID\n @param nodeId Vechain node Token ID"},"functionSelector":"51c438d1","id":13377,"implemented":true,"kind":"function","modifiers":[],"name":"getIdAttachedToNode","nameLocation":"31033:19:43","nodeType":"FunctionDefinition","parameters":{"id":13366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13365,"mutability":"mutable","name":"nodeId","nameLocation":"31061:6:43","nodeType":"VariableDeclaration","scope":13377,"src":"31053:14:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13364,"name":"uint256","nodeType":"ElementaryTypeName","src":"31053:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31052:16:43"},"returnParameters":{"id":13369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13377,"src":"31098:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13367,"name":"uint256","nodeType":"ElementaryTypeName","src":"31098:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31097:9:43"},"scope":13938,"src":"31024:156:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13391,"nodeType":"Block","src":"31371:72:43","statements":[{"expression":{"arguments":[{"id":13386,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13380,"src":"31403:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":13387,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"31412:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31412:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}],"id":13385,"name":"_getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13718,"src":"31384:18:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$returns$_t_uint256_$","typeString":"function (uint256,struct GalaxyMember.GalaxyMemberStorage storage pointer) view returns (uint256)"}},"id":13389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31384:54:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13384,"id":13390,"nodeType":"Return","src":"31377:61:43"}]},"documentation":{"id":13378,"nodeType":"StructuredDocumentation","src":"31184:102:43","text":"@notice Get the Vechain Node Token ID attached to the GM Token ID\n @param tokenId GM Token ID"},"functionSelector":"958fc97d","id":13392,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeIdAttached","nameLocation":"31298:17:43","nodeType":"FunctionDefinition","parameters":{"id":13381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13380,"mutability":"mutable","name":"tokenId","nameLocation":"31324:7:43","nodeType":"VariableDeclaration","scope":13392,"src":"31316:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13379,"name":"uint256","nodeType":"ElementaryTypeName","src":"31316:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31315:17:43"},"returnParameters":{"id":13384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13383,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13392,"src":"31362:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13382,"name":"uint256","nodeType":"ElementaryTypeName","src":"31362:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31361:9:43"},"scope":13938,"src":"31289:154:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13406,"nodeType":"Block","src":"31664:78:43","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":13400,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"31677:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31677:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13402,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31703:23:43","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":11802,"src":"31677:49:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":13404,"indexExpression":{"id":13403,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13395,"src":"31727:9:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31677:60:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13399,"id":13405,"nodeType":"Return","src":"31670:67:43"}]},"documentation":{"id":13393,"nodeType":"StructuredDocumentation","src":"31447:131:43","text":"@notice Get the GM level that can be upgraded for free for a given Vechain node level\n @param nodeLevel Vechain node level"},"functionSelector":"e617e49f","id":13407,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeToFreeLevel","nameLocation":"31590:18:43","nodeType":"FunctionDefinition","parameters":{"id":13396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13395,"mutability":"mutable","name":"nodeLevel","nameLocation":"31615:9:43","nodeType":"VariableDeclaration","scope":13407,"src":"31609:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13394,"name":"uint8","nodeType":"ElementaryTypeName","src":"31609:5:43","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"31608:17:43"},"returnParameters":{"id":13399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13407,"src":"31655:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13397,"name":"uint256","nodeType":"ElementaryTypeName","src":"31655:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31654:9:43"},"scope":13938,"src":"31581:161:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13421,"nodeType":"Block","src":"31921:74:43","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":13415,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"31934:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31934:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13417,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31960:21:43","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":11806,"src":"31934:47:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":13419,"indexExpression":{"id":13418,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13410,"src":"31982:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31934:56:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13414,"id":13420,"nodeType":"Return","src":"31927:63:43"}]},"documentation":{"id":13408,"nodeType":"StructuredDocumentation","src":"31746:93:43","text":"@notice Get the B3TR donated for upgrading a token\n @param tokenId Token ID to check"},"functionSelector":"865c380b","id":13422,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRdonated","nameLocation":"31851:14:43","nodeType":"FunctionDefinition","parameters":{"id":13411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13410,"mutability":"mutable","name":"tokenId","nameLocation":"31874:7:43","nodeType":"VariableDeclaration","scope":13422,"src":"31866:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13409,"name":"uint256","nodeType":"ElementaryTypeName","src":"31866:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31865:17:43"},"returnParameters":{"id":13414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13413,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13422,"src":"31912:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13412,"name":"uint256","nodeType":"ElementaryTypeName","src":"31912:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31911:9:43"},"scope":13938,"src":"31842:153:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13430,"nodeType":"Block","src":"32288:21:43","statements":[{"expression":{"hexValue":"36","id":13428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32301:3:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_e455bf8ea6e7463a1046a0b52804526e119b4bf5136279614e0b1e8e296a4e2d","typeString":"literal_string \"6\""},"value":"6"},"functionReturnParameters":13427,"id":13429,"nodeType":"Return","src":"32294:10:43"}]},"documentation":{"id":13423,"nodeType":"StructuredDocumentation","src":"31999:221:43","text":"@notice Retrieves the current version of the contract\n @dev This function is used to identify the version of the contract and should be updated in each new version\n @return string The version of the contract"},"functionSelector":"54fd4d50","id":13431,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"32232:7:43","nodeType":"FunctionDefinition","parameters":{"id":13424,"nodeType":"ParameterList","parameters":[],"src":"32239:2:43"},"returnParameters":{"id":13427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13431,"src":"32273:13:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13425,"name":"string","nodeType":"ElementaryTypeName","src":"32273:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32272:15:43"},"scope":13938,"src":"32223:86:43","stateMutability":"pure","virtual":true,"visibility":"external"},{"canonicalName":"GalaxyMember.TokenInfo","id":13440,"members":[{"constant":false,"id":13433,"mutability":"mutable","name":"tokenId","nameLocation":"32344:7:43","nodeType":"VariableDeclaration","scope":13440,"src":"32336:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13432,"name":"uint256","nodeType":"ElementaryTypeName","src":"32336:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13435,"mutability":"mutable","name":"tokenURI","nameLocation":"32364:8:43","nodeType":"VariableDeclaration","scope":13440,"src":"32357:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13434,"name":"string","nodeType":"ElementaryTypeName","src":"32357:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13437,"mutability":"mutable","name":"tokenLevel","nameLocation":"32386:10:43","nodeType":"VariableDeclaration","scope":13440,"src":"32378:18:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13436,"name":"uint256","nodeType":"ElementaryTypeName","src":"32378:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13439,"mutability":"mutable","name":"b3trToUpgrade","nameLocation":"32410:13:43","nodeType":"VariableDeclaration","scope":13440,"src":"32402:21:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13438,"name":"uint256","nodeType":"ElementaryTypeName","src":"32402:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TokenInfo","nameLocation":"32320:9:43","nodeType":"StructDefinition","scope":13938,"src":"32313:115:43","visibility":"public"},{"body":{"id":13497,"nodeType":"Block","src":"32662:360:43","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13451,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13443,"src":"32721:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13450,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"32712:8:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":13452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32712:17:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32741:1:43","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":13454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32733:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13453,"name":"address","nodeType":"ElementaryTypeName","src":"32733:7:43","typeDescriptions":{}}},"id":13456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32733:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32712:31:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578697374","id":13458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32745:37:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""},"value":"GalaxyMember: tokenId doesn't exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""}],"id":13449,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"32704:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32704:79:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13460,"nodeType":"ExpressionStatement","src":"32704:79:43"},{"assignments":[13463],"declarations":[{"constant":false,"id":13463,"mutability":"mutable","name":"tokenInfo","nameLocation":"32807:9:43","nodeType":"VariableDeclaration","scope":13497,"src":"32790:26:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo"},"typeName":{"id":13462,"nodeType":"UserDefinedTypeName","pathNode":{"id":13461,"name":"TokenInfo","nameLocations":["32790:9:43"],"nodeType":"IdentifierPath","referencedDeclaration":13440,"src":"32790:9:43"},"referencedDeclaration":13440,"src":"32790:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_storage_ptr","typeString":"struct GalaxyMember.TokenInfo"}},"visibility":"internal"}],"id":13464,"nodeType":"VariableDeclarationStatement","src":"32790:26:43"},{"expression":{"id":13469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":13465,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13463,"src":"32822:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory"}},"id":13467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32832:7:43","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":13433,"src":"32822:17:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":13468,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13443,"src":"32842:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32822:27:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13470,"nodeType":"ExpressionStatement","src":"32822:27:43"},{"expression":{"id":13477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":13471,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13463,"src":"32855:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory"}},"id":13473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32865:8:43","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":13435,"src":"32855:18:43","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13475,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13443,"src":"32885:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13474,"name":"tokenURI","nodeType":"Identifier","overloadedDeclarations":[13267],"referencedDeclaration":13267,"src":"32876:8:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":13476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32876:17:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"32855:38:43","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":13478,"nodeType":"ExpressionStatement","src":"32855:38:43"},{"expression":{"id":13485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":13479,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13463,"src":"32899:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory"}},"id":13481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32909:10:43","memberName":"tokenLevel","nodeType":"MemberAccess","referencedDeclaration":13437,"src":"32899:20:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13483,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13443,"src":"32930:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13482,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12861,"src":"32922:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":13484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32922:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32899:39:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13486,"nodeType":"ExpressionStatement","src":"32899:39:43"},{"expression":{"id":13493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":13487,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13463,"src":"32944:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory"}},"id":13489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32954:13:43","memberName":"b3trToUpgrade","nodeType":"MemberAccess","referencedDeclaration":13439,"src":"32944:23:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13491,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13443,"src":"32987:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13490,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12912,"src":"32970:16:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":13492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32970:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32944:51:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13494,"nodeType":"ExpressionStatement","src":"32944:51:43"},{"expression":{"id":13495,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13463,"src":"33008:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory"}},"functionReturnParameters":13448,"id":13496,"nodeType":"Return","src":"33001:16:43"}]},"documentation":{"id":13441,"nodeType":"StructuredDocumentation","src":"32432:132:43","text":"@notice Gets the token info by token ID\n @param tokenId Token ID to get the info for\n @return TokenInfo The token info"},"functionSelector":"643ce418","id":13498,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenInfoByTokenId","nameLocation":"32576:21:43","nodeType":"FunctionDefinition","parameters":{"id":13444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13443,"mutability":"mutable","name":"tokenId","nameLocation":"32606:7:43","nodeType":"VariableDeclaration","scope":13498,"src":"32598:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13442,"name":"uint256","nodeType":"ElementaryTypeName","src":"32598:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32597:17:43"},"returnParameters":{"id":13448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13498,"src":"32644:16:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo"},"typeName":{"id":13446,"nodeType":"UserDefinedTypeName","pathNode":{"id":13445,"name":"TokenInfo","nameLocations":["32644:9:43"],"nodeType":"IdentifierPath","referencedDeclaration":13440,"src":"32644:9:43"},"referencedDeclaration":13440,"src":"32644:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_storage_ptr","typeString":"struct GalaxyMember.TokenInfo"}},"visibility":"internal"}],"src":"32643:18:43"},"scope":13938,"src":"32567:455:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13517,"nodeType":"Block","src":"33276:97:43","statements":[{"assignments":[13508],"declarations":[{"constant":false,"id":13508,"mutability":"mutable","name":"tokenId","nameLocation":"33290:7:43","nodeType":"VariableDeclaration","scope":13517,"src":"33282:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13507,"name":"uint256","nodeType":"ElementaryTypeName","src":"33282:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13512,"initialValue":{"arguments":[{"id":13510,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13501,"src":"33319:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13509,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13068,"src":"33300:18:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":13511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33300:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33282:43:43"},{"expression":{"arguments":[{"id":13514,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13508,"src":"33360:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13513,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13498,"src":"33338:21:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$13440_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMember.TokenInfo memory)"}},"id":13515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33338:30:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory"}},"functionReturnParameters":13506,"id":13516,"nodeType":"Return","src":"33331:37:43"}]},"documentation":{"id":13499,"nodeType":"StructuredDocumentation","src":"33026:156:43","text":"@notice Gets the selected token info for an address\n @param owner The address of the owner to check\n @return TokenInfo The selected token info"},"functionSelector":"de4983a2","id":13518,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenInfoByOwner","nameLocation":"33194:27:43","nodeType":"FunctionDefinition","parameters":{"id":13502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13501,"mutability":"mutable","name":"owner","nameLocation":"33230:5:43","nodeType":"VariableDeclaration","scope":13518,"src":"33222:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13500,"name":"address","nodeType":"ElementaryTypeName","src":"33222:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33221:15:43"},"returnParameters":{"id":13506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13518,"src":"33258:16:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo"},"typeName":{"id":13504,"nodeType":"UserDefinedTypeName","pathNode":{"id":13503,"name":"TokenInfo","nameLocations":["33258:9:43"],"nodeType":"IdentifierPath","referencedDeclaration":13440,"src":"33258:9:43"},"referencedDeclaration":13440,"src":"33258:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_storage_ptr","typeString":"struct GalaxyMember.TokenInfo"}},"visibility":"internal"}],"src":"33257:18:43"},"scope":13938,"src":"33185:188:43","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":13656,"nodeType":"Block","src":"33763:1376:43","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13532,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13525,"src":"33801:4:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":13533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33809:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33801:9:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13540,"nodeType":"IfStatement","src":"33797:79:43","trueBody":{"id":13539,"nodeType":"Block","src":"33812:64:43","statements":[{"expression":{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652030","id":13536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33827:41:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""},"value":"GalaxyMember: Invalid size, cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""}],"id":13535,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"33820:6:43","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":13537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33820:49:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13538,"nodeType":"ExpressionStatement","src":"33820:49:43"}]}},{"assignments":[13542],"declarations":[{"constant":false,"id":13542,"mutability":"mutable","name":"MAX_PAGINATION_SIZE","nameLocation":"33940:19:43","nodeType":"VariableDeclaration","scope":13656,"src":"33932:27:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13541,"name":"uint256","nodeType":"ElementaryTypeName","src":"33932:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13544,"initialValue":{"hexValue":"313030","id":13543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33962:3:43","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"33932:33:43"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13545,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13525,"src":"34041:4:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":13546,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13542,"src":"34048:19:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34041:26:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13563,"nodeType":"IfStatement","src":"34037:209:43","trueBody":{"id":13562,"nodeType":"Block","src":"34069:177:43","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652067726561746572207468616e20","id":13553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34128:53:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},"value":"GalaxyMember: Invalid size, cannot be greater than "},{"arguments":[{"id":13556,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13542,"src":"34200:19:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13554,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"34183:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":13555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34191:8:43","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"34183:16:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":13557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34183:37:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34111:3:43","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34115:12:43","memberName":"encodePacked","nodeType":"MemberAccess","src":"34111:16:43","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34111:110:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34093:6:43","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":13549,"name":"string","nodeType":"ElementaryTypeName","src":"34093:6:43","typeDescriptions":{}}},"id":13559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34093:138:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":13548,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"34077:6:43","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":13560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34077:162:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13561,"nodeType":"ExpressionStatement","src":"34077:162:43"}]}},{"assignments":[13565],"declarations":[{"constant":false,"id":13565,"mutability":"mutable","name":"balance","nameLocation":"34260:7:43","nodeType":"VariableDeclaration","scope":13656,"src":"34252:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13564,"name":"uint256","nodeType":"ElementaryTypeName","src":"34252:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13569,"initialValue":{"arguments":[{"id":13567,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13521,"src":"34280:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13566,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"34270:9:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":13568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34270:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34252:34:43"},{"assignments":[13571],"declarations":[{"constant":false,"id":13571,"mutability":"mutable","name":"start","nameLocation":"34407:5:43","nodeType":"VariableDeclaration","scope":13656,"src":"34399:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13570,"name":"uint256","nodeType":"ElementaryTypeName","src":"34399:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13575,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13572,"name":"page","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13523,"src":"34415:4:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":13573,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13525,"src":"34422:4:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34415:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34399:27:43"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13576,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13571,"src":"34518:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":13577,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13565,"src":"34527:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34518:16:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13587,"nodeType":"IfStatement","src":"34514:62:43","trueBody":{"id":13586,"nodeType":"Block","src":"34536:40:43","statements":[{"expression":{"arguments":[{"hexValue":"30","id":13583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34567:1:43","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":13582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"34551:15:43","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMember.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":13580,"nodeType":"UserDefinedTypeName","pathNode":{"id":13579,"name":"TokenInfo","nameLocations":["34555:9:43"],"nodeType":"IdentifierPath","referencedDeclaration":13440,"src":"34555:9:43"},"referencedDeclaration":13440,"src":"34555:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_storage_ptr","typeString":"struct GalaxyMember.TokenInfo"}},"id":13581,"nodeType":"ArrayTypeName","src":"34555:11:43","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_storage_$dyn_storage_ptr","typeString":"struct GalaxyMember.TokenInfo[]"}}},"id":13584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34551:18:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory[] memory"}},"functionReturnParameters":13531,"id":13585,"nodeType":"Return","src":"34544:25:43"}]}},{"assignments":[13589],"declarations":[{"constant":false,"id":13589,"mutability":"mutable","name":"end","nameLocation":"34633:3:43","nodeType":"VariableDeclaration","scope":13656,"src":"34625:11:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13588,"name":"uint256","nodeType":"ElementaryTypeName","src":"34625:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13593,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13590,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13571,"src":"34639:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":13591,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13525,"src":"34647:4:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34639:12:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34625:26:43"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13594,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13589,"src":"34661:3:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":13595,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13565,"src":"34667:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34661:13:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13602,"nodeType":"IfStatement","src":"34657:106:43","trueBody":{"id":13601,"nodeType":"Block","src":"34676:87:43","statements":[{"expression":{"id":13599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13597,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13589,"src":"34684:3:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":13598,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13565,"src":"34690:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34684:13:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13600,"nodeType":"ExpressionStatement","src":"34684:13:43"}]}},{"assignments":[13604],"declarations":[{"constant":false,"id":13604,"mutability":"mutable","name":"numTokens","nameLocation":"34825:9:43","nodeType":"VariableDeclaration","scope":13656,"src":"34817:17:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13603,"name":"uint256","nodeType":"ElementaryTypeName","src":"34817:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13608,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13605,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13589,"src":"34837:3:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":13606,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13571,"src":"34843:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34837:11:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34817:31:43"},{"assignments":[13613],"declarations":[{"constant":false,"id":13613,"mutability":"mutable","name":"tokens","nameLocation":"34874:6:43","nodeType":"VariableDeclaration","scope":13656,"src":"34855:25:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMember.TokenInfo[]"},"typeName":{"baseType":{"id":13611,"nodeType":"UserDefinedTypeName","pathNode":{"id":13610,"name":"TokenInfo","nameLocations":["34855:9:43"],"nodeType":"IdentifierPath","referencedDeclaration":13440,"src":"34855:9:43"},"referencedDeclaration":13440,"src":"34855:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_storage_ptr","typeString":"struct GalaxyMember.TokenInfo"}},"id":13612,"nodeType":"ArrayTypeName","src":"34855:11:43","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_storage_$dyn_storage_ptr","typeString":"struct GalaxyMember.TokenInfo[]"}},"visibility":"internal"}],"id":13620,"initialValue":{"arguments":[{"id":13618,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13604,"src":"34899:9:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"34883:15:43","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMember.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":13615,"nodeType":"UserDefinedTypeName","pathNode":{"id":13614,"name":"TokenInfo","nameLocations":["34887:9:43"],"nodeType":"IdentifierPath","referencedDeclaration":13440,"src":"34887:9:43"},"referencedDeclaration":13440,"src":"34887:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_storage_ptr","typeString":"struct GalaxyMember.TokenInfo"}},"id":13616,"nodeType":"ArrayTypeName","src":"34887:11:43","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_storage_$dyn_storage_ptr","typeString":"struct GalaxyMember.TokenInfo[]"}}},"id":13619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34883:26:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"34855:54:43"},{"body":{"id":13652,"nodeType":"Block","src":"34956:159:43","statements":[{"assignments":[13632],"declarations":[{"constant":false,"id":13632,"mutability":"mutable","name":"tokenIndex","nameLocation":"34972:10:43","nodeType":"VariableDeclaration","scope":13652,"src":"34964:18:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13631,"name":"uint256","nodeType":"ElementaryTypeName","src":"34964:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13636,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13633,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13571,"src":"34985:5:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":13634,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13622,"src":"34993:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34985:9:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34964:30:43"},{"assignments":[13638],"declarations":[{"constant":false,"id":13638,"mutability":"mutable","name":"tokenId","nameLocation":"35010:7:43","nodeType":"VariableDeclaration","scope":13652,"src":"35002:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13637,"name":"uint256","nodeType":"ElementaryTypeName","src":"35002:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13643,"initialValue":{"arguments":[{"id":13640,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13521,"src":"35040:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13641,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13632,"src":"35047:10:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13639,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"35020:19:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":13642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35020:38:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35002:56:43"},{"expression":{"id":13650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":13644,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13613,"src":"35066:6:43","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory[] memory"}},"id":13646,"indexExpression":{"id":13645,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13622,"src":"35073:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35066:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13648,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13638,"src":"35100:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13647,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13498,"src":"35078:21:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$13440_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMember.TokenInfo memory)"}},"id":13649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35078:30:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory"}},"src":"35066:42:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory"}},"id":13651,"nodeType":"ExpressionStatement","src":"35066:42:43"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13625,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13622,"src":"34936:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":13626,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13604,"src":"34940:9:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34936:13:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13653,"initializationExpression":{"assignments":[13622],"declarations":[{"constant":false,"id":13622,"mutability":"mutable","name":"i","nameLocation":"34929:1:43","nodeType":"VariableDeclaration","scope":13653,"src":"34921:9:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13621,"name":"uint256","nodeType":"ElementaryTypeName","src":"34921:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13624,"initialValue":{"hexValue":"30","id":13623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34933:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34921:13:43"},"loopExpression":{"expression":{"id":13629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34951:3:43","subExpression":{"id":13628,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13622,"src":"34951:1:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13630,"nodeType":"ExpressionStatement","src":"34951:3:43"},"nodeType":"ForStatement","src":"34916:199:43"},{"expression":{"id":13654,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13613,"src":"35128:6:43","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMember.TokenInfo memory[] memory"}},"functionReturnParameters":13531,"id":13655,"nodeType":"Return","src":"35121:13:43"}]},"documentation":{"id":13519,"nodeType":"StructuredDocumentation","src":"33377:269:43","text":"@notice Gets the tokens owned by an address\n @param owner The address of the owner to check\n @param page The page number to fetch\n @param size The number of tokens to fetch (cannot exceed 100)\n @return TokenInfo[] The tokens owned by the address"},"functionSelector":"851f738e","id":13657,"implemented":true,"kind":"function","modifiers":[],"name":"getTokensInfoByOwner","nameLocation":"33658:20:43","nodeType":"FunctionDefinition","parameters":{"id":13526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13521,"mutability":"mutable","name":"owner","nameLocation":"33687:5:43","nodeType":"VariableDeclaration","scope":13657,"src":"33679:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13520,"name":"address","nodeType":"ElementaryTypeName","src":"33679:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13523,"mutability":"mutable","name":"page","nameLocation":"33702:4:43","nodeType":"VariableDeclaration","scope":13657,"src":"33694:12:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13522,"name":"uint256","nodeType":"ElementaryTypeName","src":"33694:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13525,"mutability":"mutable","name":"size","nameLocation":"33716:4:43","nodeType":"VariableDeclaration","scope":13657,"src":"33708:12:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13524,"name":"uint256","nodeType":"ElementaryTypeName","src":"33708:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33678:43:43"},"returnParameters":{"id":13531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13530,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13657,"src":"33743:18:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMember.TokenInfo[]"},"typeName":{"baseType":{"id":13528,"nodeType":"UserDefinedTypeName","pathNode":{"id":13527,"name":"TokenInfo","nameLocations":["33743:9:43"],"nodeType":"IdentifierPath","referencedDeclaration":13440,"src":"33743:9:43"},"referencedDeclaration":13440,"src":"33743:9:43","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$13440_storage_ptr","typeString":"struct GalaxyMember.TokenInfo"}},"id":13529,"nodeType":"ArrayTypeName","src":"33743:11:43","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$13440_storage_$dyn_storage_ptr","typeString":"struct GalaxyMember.TokenInfo[]"}},"visibility":"internal"}],"src":"33742:20:43"},"scope":13938,"src":"33649:1490:43","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":13667,"nodeType":"Block","src":"35245:36:43","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":13663,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"35258:4:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":13664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35263:11:43","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"35258:16:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":13665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35258:18:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":13662,"id":13666,"nodeType":"Return","src":"35251:25:43"}]},"documentation":{"id":13658,"nodeType":"StructuredDocumentation","src":"35143:45:43","text":"@dev Clock used for flagging checkpoints."},"functionSelector":"91ddadf4","id":13668,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"35200:5:43","nodeType":"FunctionDefinition","parameters":{"id":13659,"nodeType":"ParameterList","parameters":[],"src":"35205:2:43"},"returnParameters":{"id":13662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13661,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13668,"src":"35237:6:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":13660,"name":"uint48","nodeType":"ElementaryTypeName","src":"35237:6:43","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"35236:8:43"},"scope":13938,"src":"35191:90:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13676,"nodeType":"Block","src":"35404:49:43","statements":[{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":13674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35417:31:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":13673,"id":13675,"nodeType":"Return","src":"35410:38:43"}]},"documentation":{"id":13669,"nodeType":"StructuredDocumentation","src":"35285:50:43","text":" @dev Returns the mode of the clock."},"functionSelector":"4bf5d7e9","id":13677,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"35347:10:43","nodeType":"FunctionDefinition","parameters":{"id":13670,"nodeType":"ParameterList","parameters":[],"src":"35357:2:43"},"returnParameters":{"id":13673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13677,"src":"35389:13:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13671,"name":"string","nodeType":"ElementaryTypeName","src":"35389:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35388:15:43"},"scope":13938,"src":"35338:115:43","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":13717,"nodeType":"Block","src":"35844:404:43","statements":[{"assignments":[13689],"declarations":[{"constant":false,"id":13689,"mutability":"mutable","name":"nodeId","nameLocation":"35858:6:43","nodeType":"VariableDeclaration","scope":13717,"src":"35850:14:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13688,"name":"uint256","nodeType":"ElementaryTypeName","src":"35850:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13694,"initialValue":{"baseExpression":{"expression":{"id":13690,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13683,"src":"35867:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35869:14:43","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":11798,"src":"35867:16:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":13693,"indexExpression":{"id":13692,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13680,"src":"35884:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35867:25:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35850:42:43"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"36104:34:43","subExpression":{"arguments":[{"id":13698,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13689,"src":"36131:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":13695,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13683,"src":"36105:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13696,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36107:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"36105:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":13697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36119:11:43","memberName":"tokenExists","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"36105:25:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":13699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36105:33:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13702,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13680,"src":"36150:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13701,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"36142:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":13703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36142:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":13707,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13689,"src":"36192:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":13704,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13683,"src":"36162:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36164:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"36162:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":13706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36176:15:43","memberName":"getTokenManager","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"36162:29:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":13708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36162:37:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"36142:57:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"36104:95:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13714,"nodeType":"IfStatement","src":"36100:124:43","trueBody":{"id":13713,"nodeType":"Block","src":"36201:23:43","statements":[{"expression":{"hexValue":"30","id":13711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36216:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":13687,"id":13712,"nodeType":"Return","src":"36209:8:43"}]}},{"expression":{"id":13715,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13689,"src":"36237:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13687,"id":13716,"nodeType":"Return","src":"36230:13:43"}]},"documentation":{"id":13678,"nodeType":"StructuredDocumentation","src":"35507:218:43","text":"@notice Internal function to get the level of the token\n @param tokenId Token ID to get the node ID for\n @param $ GalaxyMemberStorage storage pointer\n @return nodeId The node ID attached to the token"},"id":13718,"implemented":true,"kind":"function","modifiers":[],"name":"_getNodeIdAttached","nameLocation":"35737:18:43","nodeType":"FunctionDefinition","parameters":{"id":13684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13680,"mutability":"mutable","name":"tokenId","nameLocation":"35764:7:43","nodeType":"VariableDeclaration","scope":13718,"src":"35756:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13679,"name":"uint256","nodeType":"ElementaryTypeName","src":"35756:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13683,"mutability":"mutable","name":"$","nameLocation":"35801:1:43","nodeType":"VariableDeclaration","scope":13718,"src":"35773:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13682,"nodeType":"UserDefinedTypeName","pathNode":{"id":13681,"name":"GalaxyMemberStorage","nameLocations":["35773:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"35773:19:43"},"referencedDeclaration":11819,"src":"35773:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"src":"35755:48:43"},"returnParameters":{"id":13687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13718,"src":"35835:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13685,"name":"uint256","nodeType":"ElementaryTypeName","src":"35835:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35834:9:43"},"scope":13938,"src":"35728:520:43","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":13761,"nodeType":"Block","src":"36369:219:43","statements":[{"assignments":[13729],"declarations":[{"constant":false,"id":13729,"mutability":"mutable","name":"tokenId","nameLocation":"36383:7:43","nodeType":"VariableDeclaration","scope":13761,"src":"36375:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13728,"name":"uint256","nodeType":"ElementaryTypeName","src":"36375:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13734,"initialValue":{"baseExpression":{"expression":{"id":13730,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13723,"src":"36393:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13731,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36395:14:43","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":11793,"src":"36393:16:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":13733,"indexExpression":{"id":13732,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13720,"src":"36410:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36393:24:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36375:42:43"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13735,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13729,"src":"36427:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":13736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36438:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"36427:12:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":13743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"36443:34:43","subExpression":{"arguments":[{"id":13741,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13720,"src":"36470:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":13738,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13723,"src":"36444:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36446:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"36444:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":13740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36458:11:43","memberName":"tokenExists","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"36444:25:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":13742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36444:33:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"36427:50:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13746,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13729,"src":"36489:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13745,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"36481:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":13747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36481:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":13751,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13720,"src":"36531:6:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":13748,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13723,"src":"36501:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13749,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36503:11:43","memberName":"stargateNFT","nodeType":"MemberAccess","referencedDeclaration":11818,"src":"36501:13:43","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":13750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36515:15:43","memberName":"getTokenManager","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"36501:29:43","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":13752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36501:37:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"36481:57:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"36427:111:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13758,"nodeType":"IfStatement","src":"36423:140:43","trueBody":{"id":13757,"nodeType":"Block","src":"36540:23:43","statements":[{"expression":{"hexValue":"30","id":13755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36555:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":13727,"id":13756,"nodeType":"Return","src":"36548:8:43"}]}},{"expression":{"id":13759,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13729,"src":"36576:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13727,"id":13760,"nodeType":"Return","src":"36569:14:43"}]},"id":13762,"implemented":true,"kind":"function","modifiers":[],"name":"_getIdAttachedToNode","nameLocation":"36261:20:43","nodeType":"FunctionDefinition","parameters":{"id":13724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13720,"mutability":"mutable","name":"nodeId","nameLocation":"36290:6:43","nodeType":"VariableDeclaration","scope":13762,"src":"36282:14:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13719,"name":"uint256","nodeType":"ElementaryTypeName","src":"36282:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13723,"mutability":"mutable","name":"$","nameLocation":"36326:1:43","nodeType":"VariableDeclaration","scope":13762,"src":"36298:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13722,"nodeType":"UserDefinedTypeName","pathNode":{"id":13721,"name":"GalaxyMemberStorage","nameLocations":["36298:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"36298:19:43"},"referencedDeclaration":11819,"src":"36298:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"src":"36281:47:43"},"returnParameters":{"id":13727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13762,"src":"36360:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13725,"name":"uint256","nodeType":"ElementaryTypeName","src":"36360:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36359:9:43"},"scope":13938,"src":"36252:336:43","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[2685,3438,3727],"body":{"id":13882,"nodeType":"Block","src":"37149:940:43","statements":[{"assignments":[13782],"declarations":[{"constant":false,"id":13782,"mutability":"mutable","name":"$","nameLocation":"37183:1:43","nodeType":"VariableDeclaration","scope":13882,"src":"37155:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13781,"nodeType":"UserDefinedTypeName","pathNode":{"id":13780,"name":"GalaxyMemberStorage","nameLocations":["37155:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"37155:19:43"},"referencedDeclaration":11819,"src":"37155:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13785,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13783,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"37187:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37187:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"37155:57:43"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13788,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13767,"src":"37245:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13789,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13782,"src":"37254:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}],"id":13787,"name":"_getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13718,"src":"37226:18:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$returns$_t_uint256_$","typeString":"function (uint256,struct GalaxyMember.GalaxyMemberStorage storage pointer) view returns (uint256)"}},"id":13790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37226:30:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":13791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37260:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37226:35:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2061206e6f64652c20646574616368206265666f7265207472616e73666572","id":13793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37263:64:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""},"value":"GalaxyMember: token attached to a node, detach before transfer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""}],"id":13786,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37218:7:43","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37218:110:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13795,"nodeType":"ExpressionStatement","src":"37218:110:43"},{"assignments":[13797],"declarations":[{"constant":false,"id":13797,"mutability":"mutable","name":"_previousOwner","nameLocation":"37343:14:43","nodeType":"VariableDeclaration","scope":13882,"src":"37335:22:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13796,"name":"address","nodeType":"ElementaryTypeName","src":"37335:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":13804,"initialValue":{"arguments":[{"id":13800,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13765,"src":"37374:2:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13801,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13767,"src":"37378:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13802,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13769,"src":"37387:4:43","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":13798,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"37360:5:43","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMember_$13938_$","typeString":"type(contract super GalaxyMember)"}},"id":13799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37366:7:43","memberName":"_update","nodeType":"MemberAccess","referencedDeclaration":3727,"src":"37360:13:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":13803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37360:32:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"37335:57:43"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13805,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13797,"src":"37461:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37487:1:43","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":13807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37479:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13806,"name":"address","nodeType":"ElementaryTypeName","src":"37479:7:43","typeDescriptions":{}}},"id":13809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37479:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"37461:28:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13812,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13797,"src":"37503:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13811,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"37493:9:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":13813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37493:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":13814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37522:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37493:30:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37461:62:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13829,"nodeType":"IfStatement","src":"37457:145:43","trueBody":{"id":13828,"nodeType":"Block","src":"37525:77:43","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":13823,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13668,"src":"37584:5:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":13824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37584:7:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"hexValue":"30","id":13825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37593:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"baseExpression":{"expression":{"id":13817,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13782,"src":"37533:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37535:27:43","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":11815,"src":"37533:29:43","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":13821,"indexExpression":{"id":13819,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13797,"src":"37563:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37533:45:43","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":13822,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37579:4:43","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"37533:50:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":13826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37533:62:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":13827,"nodeType":"ExpressionStatement","src":"37533:62:43"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13830,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13797,"src":"37704:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37730:1:43","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":13832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37722:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13831,"name":"address","nodeType":"ElementaryTypeName","src":"37722:7:43","typeDescriptions":{}}},"id":13834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37722:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"37704:28:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13837,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13797,"src":"37755:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13836,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13068,"src":"37736:18:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":13838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37736:34:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":13839,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13767,"src":"37774:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37736:45:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37704:77:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13843,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13797,"src":"37795:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13842,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"37785:9:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":13844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37785:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":13845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37813:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37785:29:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37704:110:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13857,"nodeType":"IfStatement","src":"37693:206:43","trueBody":{"id":13856,"nodeType":"Block","src":"37821:78:43","statements":[{"expression":{"arguments":[{"id":13849,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13797,"src":"37837:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":13851,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13797,"src":"37873:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":13852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37889:1:43","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"}],"id":13850,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"37853:19:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":13853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37853:38:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13848,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12210,"src":"37829:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":13854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37829:63:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13855,"nodeType":"ExpressionStatement","src":"37829:63:43"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13858,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13765,"src":"37963:2:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":13861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37977:1:43","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":13860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37969:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13859,"name":"address","nodeType":"ElementaryTypeName","src":"37969:7:43","typeDescriptions":{}}},"id":13862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37969:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"37963:16:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13865,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13765,"src":"37993:2:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13864,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"37983:9:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":13866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37983:13:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":13867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38000:1:43","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37983:18:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37963:38:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13879,"nodeType":"IfStatement","src":"37959:98:43","trueBody":{"id":13878,"nodeType":"Block","src":"38003:54:43","statements":[{"expression":{"arguments":[{"id":13871,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13765,"src":"38019:2:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":13873,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13765,"src":"38043:2:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":13874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38047:1:43","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"}],"id":13872,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"38023:19:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":13875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38023:26:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13870,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12210,"src":"38011:7:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":13876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38011:39:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13877,"nodeType":"ExpressionStatement","src":"38011:39:43"}]}},{"expression":{"id":13880,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13797,"src":"38070:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13779,"id":13881,"nodeType":"Return","src":"38063:21:43"}]},"documentation":{"id":13763,"nodeType":"StructuredDocumentation","src":"36633:294:43","text":"@notice Performs automatic level updating upon token updates\n @dev Overrides the _update function to update the highest level owned by the owner\n @param to The address to transfer the token to\n @param tokenId The token ID to update\n @param auth The address of the sender"},"id":13883,"implemented":true,"kind":"function","modifiers":[{"id":13776,"kind":"modifierInvocation","modifierName":{"id":13775,"name":"whenNotPaused","nameLocations":["37111:13:43"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"37111:13:43"},"nodeType":"ModifierInvocation","src":"37111:13:43"}],"name":"_update","nameLocation":"36939:7:43","nodeType":"FunctionDefinition","overrides":{"id":13774,"nodeType":"OverrideSpecifier","overrides":[{"id":13771,"name":"ERC721Upgradeable","nameLocations":["37032:17:43"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"37032:17:43"},{"id":13772,"name":"ERC721EnumerableUpgradeable","nameLocations":["37051:27:43"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"37051:27:43"},{"id":13773,"name":"ERC721PausableUpgradeable","nameLocations":["37080:25:43"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"37080:25:43"}],"src":"37023:83:43"},"parameters":{"id":13770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13765,"mutability":"mutable","name":"to","nameLocation":"36960:2:43","nodeType":"VariableDeclaration","scope":13883,"src":"36952:10:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13764,"name":"address","nodeType":"ElementaryTypeName","src":"36952:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13767,"mutability":"mutable","name":"tokenId","nameLocation":"36976:7:43","nodeType":"VariableDeclaration","scope":13883,"src":"36968:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13766,"name":"uint256","nodeType":"ElementaryTypeName","src":"36968:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13769,"mutability":"mutable","name":"auth","nameLocation":"36997:4:43","nodeType":"VariableDeclaration","scope":13883,"src":"36989:12:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13768,"name":"address","nodeType":"ElementaryTypeName","src":"36989:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36946:59:43"},"returnParameters":{"id":13779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13883,"src":"37138:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13777,"name":"address","nodeType":"ElementaryTypeName","src":"37138:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37137:9:43"},"scope":13938,"src":"36930:1159:43","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[2583,3673],"body":{"id":13901,"nodeType":"Block","src":"38325:49:43","statements":[{"expression":{"arguments":[{"id":13897,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13886,"src":"38354:7:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13898,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13888,"src":"38363:5:43","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":13894,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"38331:5:43","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMember_$13938_$","typeString":"type(contract super GalaxyMember)"}},"id":13896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38337:16:43","memberName":"_increaseBalance","nodeType":"MemberAccess","referencedDeclaration":3673,"src":"38331:22:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint128_$returns$__$","typeString":"function (address,uint128)"}},"id":13899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38331:38:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13900,"nodeType":"ExpressionStatement","src":"38331:38:43"}]},"documentation":{"id":13884,"nodeType":"StructuredDocumentation","src":"38093:93:43","text":"@dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable"},"id":13902,"implemented":true,"kind":"function","modifiers":[],"name":"_increaseBalance","nameLocation":"38198:16:43","nodeType":"FunctionDefinition","overrides":{"id":13892,"nodeType":"OverrideSpecifier","overrides":[{"id":13890,"name":"ERC721Upgradeable","nameLocations":["38277:17:43"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"38277:17:43"},{"id":13891,"name":"ERC721EnumerableUpgradeable","nameLocations":["38296:27:43"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"38296:27:43"}],"src":"38268:56:43"},"parameters":{"id":13889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13886,"mutability":"mutable","name":"account","nameLocation":"38228:7:43","nodeType":"VariableDeclaration","scope":13902,"src":"38220:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13885,"name":"address","nodeType":"ElementaryTypeName","src":"38220:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13888,"mutability":"mutable","name":"value","nameLocation":"38249:5:43","nodeType":"VariableDeclaration","scope":13902,"src":"38241:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":13887,"name":"uint128","nodeType":"ElementaryTypeName","src":"38241:7:43","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"38214:44:43"},"returnParameters":{"id":13893,"nodeType":"ParameterList","parameters":[],"src":"38325:0:43"},"scope":13938,"src":"38189:185:43","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[91,2158,3282],"body":{"id":13919,"nodeType":"Block","src":"38667:54:43","statements":[{"expression":{"arguments":[{"id":13916,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13905,"src":"38704:11:43","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":13914,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"38680:5:43","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMember_$13938_$","typeString":"type(contract super GalaxyMember)"}},"id":13915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38686:17:43","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":91,"src":"38680:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":13917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38680:36:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":13913,"id":13918,"nodeType":"Return","src":"38673:43:43"}]},"documentation":{"id":13903,"nodeType":"StructuredDocumentation","src":"38378:121:43","text":"@dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable"},"functionSelector":"01ffc9a7","id":13920,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"38511:17:43","nodeType":"FunctionDefinition","overrides":{"id":13910,"nodeType":"OverrideSpecifier","overrides":[{"id":13907,"name":"ERC721Upgradeable","nameLocations":["38578:17:43"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"38578:17:43"},{"id":13908,"name":"ERC721EnumerableUpgradeable","nameLocations":["38597:27:43"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"38597:27:43"},{"id":13909,"name":"AccessControlUpgradeable","nameLocations":["38626:24:43"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"38626:24:43"}],"src":"38569:82:43"},"parameters":{"id":13906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13905,"mutability":"mutable","name":"interfaceId","nameLocation":"38541:11:43","nodeType":"VariableDeclaration","scope":13920,"src":"38534:18:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":13904,"name":"bytes4","nodeType":"ElementaryTypeName","src":"38534:6:43","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"38528:28:43"},"returnParameters":{"id":13913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13912,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13920,"src":"38661:4:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13911,"name":"bool","nodeType":"ElementaryTypeName","src":"38661:4:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38660:6:43"},"scope":13938,"src":"38502:219:43","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[2283],"body":{"id":13936,"nodeType":"Block","src":"38858:96:43","statements":[{"assignments":[13929],"declarations":[{"constant":false,"id":13929,"mutability":"mutable","name":"$","nameLocation":"38892:1:43","nodeType":"VariableDeclaration","scope":13936,"src":"38864:29:43","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"},"typeName":{"id":13928,"nodeType":"UserDefinedTypeName","pathNode":{"id":13927,"name":"GalaxyMemberStorage","nameLocations":["38864:19:43"],"nodeType":"IdentifierPath","referencedDeclaration":11819,"src":"38864:19:43"},"referencedDeclaration":11819,"src":"38864:19:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage"}},"visibility":"internal"}],"id":13932,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":13930,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"38896:23:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$11819_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMember.GalaxyMemberStorage storage pointer)"}},"id":13931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38896:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"38864:57:43"},{"expression":{"expression":{"id":13933,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13929,"src":"38934:1:43","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$11819_storage_ptr","typeString":"struct GalaxyMember.GalaxyMemberStorage storage pointer"}},"id":13934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38936:13:43","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":11758,"src":"38934:15:43","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":13926,"id":13935,"nodeType":"Return","src":"38927:22:43"}]},"documentation":{"id":13921,"nodeType":"StructuredDocumentation","src":"38725:63:43","text":"@dev Overrides the _baseURI for ERC721URIStorageUpgradeable"},"id":13937,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"38800:8:43","nodeType":"FunctionDefinition","overrides":{"id":13923,"nodeType":"OverrideSpecifier","overrides":[],"src":"38825:8:43"},"parameters":{"id":13922,"nodeType":"ParameterList","parameters":[],"src":"38808:2:43"},"returnParameters":{"id":13926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13937,"src":"38843:13:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13924,"name":"string","nodeType":"ElementaryTypeName","src":"38843:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38842:15:43"},"scope":13938,"src":"38791:163:43","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":13939,"src":"5167:33789:43","usedErrors":[1495,1498,1759,1764,3243,3246,4026,4029,4194,4342,4345,4614,4619,4628,4633,4638,4645,4650,4655,4738,4751,5344,5347,7025,8883],"usedEvents":[1503,4018,4023,4354,4363,4372,4717,5152,5161,5170,11839,11848,11855,11862,11869,11876,11882,11887,11894,11901,11910,11919,11926]}],"src":"1195:37762:43"},"id":43},"contracts/GrantsManager.sol":{"ast":{"absolutePath":"contracts/GrantsManager.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"GovernorProposalLogic":[60252],"GovernorStateLogic":[61096],"GovernorTypes":[61442],"GrantsManager":[15958],"IB3TR":[62888],"IB3TRGovernor":[63919],"IGrantsManager":[65639],"ITreasury":[67241],"PausableUpgradeable":[4163],"ReentrancyGuardUpgradeable":[4292],"UUPSUpgradeable":[1914]},"id":15959,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13940,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:44"},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"./interfaces/IB3TRGovernor.sol","id":13942,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":63920,"src":"1220:63:44","symbolAliases":[{"foreign":{"id":13941,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"1229:13:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/ITreasury.sol","file":"./interfaces/ITreasury.sol","id":13944,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":67242,"src":"1284:55:44","symbolAliases":[{"foreign":{"id":13943,"name":"ITreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67241,"src":"1293:9:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"./interfaces/IB3TR.sol","id":13946,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":62889,"src":"1340:47:44","symbolAliases":[{"foreign":{"id":13945,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"1349:5:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"./interfaces/IGrantsManager.sol","id":13948,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":65640,"src":"1388:65:44","symbolAliases":[{"foreign":{"id":13947,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"1397:14:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":13950,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":363,"src":"1454:115:44","symbolAliases":[{"foreign":{"id":13949,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"1463:24:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","id":13952,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":4164,"src":"1570:104:44","symbolAliases":[{"foreign":{"id":13951,"name":"PausableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4163,"src":"1579:19:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":13954,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":4293,"src":"1675:118:44","symbolAliases":[{"foreign":{"id":13953,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4292,"src":"1684:26:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":13956,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":1915,"src":"1794:102:44","symbolAliases":[{"foreign":{"id":13955,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1914,"src":"1803:15:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStateLogic.sol","file":"./governance/libraries/GovernorStateLogic.sol","id":13958,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":61097,"src":"1897:83:44","symbolAliases":[{"foreign":{"id":13957,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"1906:18:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorProposalLogic.sol","file":"./governance/libraries/GovernorProposalLogic.sol","id":13960,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":60253,"src":"1981:89:44","symbolAliases":[{"foreign":{"id":13959,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"1990:21:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./governance/libraries/GovernorTypes.sol","id":13962,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15959,"sourceUnit":61443,"src":"2071:73:44","symbolAliases":[{"foreign":{"id":13961,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"2080:13:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":13964,"name":"IGrantsManager","nameLocations":["2284:14:44"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"2284:14:44"},"id":13965,"nodeType":"InheritanceSpecifier","src":"2284:14:44"},{"baseName":{"id":13966,"name":"AccessControlUpgradeable","nameLocations":["2302:24:44"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"2302:24:44"},"id":13967,"nodeType":"InheritanceSpecifier","src":"2302:24:44"},{"baseName":{"id":13968,"name":"PausableUpgradeable","nameLocations":["2330:19:44"],"nodeType":"IdentifierPath","referencedDeclaration":4163,"src":"2330:19:44"},"id":13969,"nodeType":"InheritanceSpecifier","src":"2330:19:44"},{"baseName":{"id":13970,"name":"ReentrancyGuardUpgradeable","nameLocations":["2353:26:44"],"nodeType":"IdentifierPath","referencedDeclaration":4292,"src":"2353:26:44"},"id":13971,"nodeType":"InheritanceSpecifier","src":"2353:26:44"},{"baseName":{"id":13972,"name":"UUPSUpgradeable","nameLocations":["2383:15:44"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"2383:15:44"},"id":13973,"nodeType":"InheritanceSpecifier","src":"2383:15:44"}],"canonicalName":"GrantsManager","contractDependencies":[],"contractKind":"contract","documentation":{"id":13963,"nodeType":"StructuredDocumentation","src":"2145:110:44","text":" @title GrantsManager\n @notice Contract that manages grant funds milestone validation and claiming"},"fullyImplemented":true,"id":15958,"linearizedBaseContracts":[15958,1914,4566,4292,4163,362,4332,5961,4415,3987,1732,65639],"name":"GrantsManager","nameLocation":"2265:13:44","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"f36c8f5c","id":13978,"mutability":"constant","name":"GOVERNANCE_ROLE","nameLocation":"2479:15:44","nodeType":"VariableDeclaration","scope":15958,"src":"2455:70:44","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2455:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"474f5645524e414e43455f524f4c45","id":13976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2507:17:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""},"value":"GOVERNANCE_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""}],"id":13975,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2497:9:44","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2497:28:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"f72c0d8b","id":13983,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"2553:13:44","nodeType":"VariableDeclaration","scope":15958,"src":"2529:66:44","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2529:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":13981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2579:15:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":13980,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2569:9:44","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2569:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"3f36cd7f","id":13988,"mutability":"constant","name":"GRANTS_APPROVER_ROLE","nameLocation":"2623:20:44","nodeType":"VariableDeclaration","scope":15958,"src":"2599:80:44","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13984,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2599:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4752414e54535f415050524f5645525f524f4c45","id":13986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2656:22:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_47aa345c1c0453f4ea63d2f908a9cb372d89b5a419b982b903f655cfc8fb9956","typeString":"literal_string \"GRANTS_APPROVER_ROLE\""},"value":"GRANTS_APPROVER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_47aa345c1c0453f4ea63d2f908a9cb372d89b5a419b982b903f655cfc8fb9956","typeString":"literal_string \"GRANTS_APPROVER_ROLE\""}],"id":13985,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2646:9:44","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2646:33:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"21afd1f6","id":13993,"mutability":"constant","name":"GRANTS_REJECTOR_ROLE","nameLocation":"2707:20:44","nodeType":"VariableDeclaration","scope":15958,"src":"2683:80:44","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2683:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4752414e54535f52454a4543544f525f524f4c45","id":13991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2740:22:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_c30f7ed76aad52e1db9d4574c81f8eeb708f6974b7f45424a3f1b7394c2885e1","typeString":"literal_string \"GRANTS_REJECTOR_ROLE\""},"value":"GRANTS_REJECTOR_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c30f7ed76aad52e1db9d4574c81f8eeb708f6974b7f45424a3f1b7394c2885e1","typeString":"literal_string \"GRANTS_REJECTOR_ROLE\""}],"id":13990,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2730:9:44","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:33:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":13998,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"2791:11:44","nodeType":"VariableDeclaration","scope":15958,"src":"2767:62:44","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2767:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":13996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2815:13:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":13995,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2805:9:44","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2805:24:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"GrantsManager.GrantsManagerStorage","documentation":{"id":13999,"nodeType":"StructuredDocumentation","src":"2899:113:44","text":"@notice Storage structure for GrantsManager\n @custom:storage-location erc7201:b3tr.storage.GrantsManager"},"id":14016,"members":[{"constant":false,"id":14004,"mutability":"mutable","name":"grant","nameLocation":"3108:5:44","nodeType":"VariableDeclaration","scope":14016,"src":"3049:64:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal)"},"typeName":{"id":14003,"keyName":"proposalId","keyNameLocation":"3065:10:44","keyType":{"id":14000,"name":"uint256","nodeType":"ElementaryTypeName","src":"3057:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3049:58:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal)"},"valueName":"grantProposal","valueNameLocation":"3093:13:44","valueType":{"id":14002,"nodeType":"UserDefinedTypeName","pathNode":{"id":14001,"name":"GrantProposal","nameLocations":["3079:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"3079:13:44"},"referencedDeclaration":65419,"src":"3079:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}}},"visibility":"internal"},{"constant":false,"id":14007,"mutability":"mutable","name":"governor","nameLocation":"3133:8:44","nodeType":"VariableDeclaration","scope":14016,"src":"3119:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":14006,"nodeType":"UserDefinedTypeName","pathNode":{"id":14005,"name":"IB3TRGovernor","nameLocations":["3119:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"3119:13:44"},"referencedDeclaration":63919,"src":"3119:13:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"},{"constant":false,"id":14010,"mutability":"mutable","name":"treasury","nameLocation":"3157:8:44","nodeType":"VariableDeclaration","scope":14016,"src":"3147:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"},"typeName":{"id":14009,"nodeType":"UserDefinedTypeName","pathNode":{"id":14008,"name":"ITreasury","nameLocations":["3147:9:44"],"nodeType":"IdentifierPath","referencedDeclaration":67241,"src":"3147:9:44"},"referencedDeclaration":67241,"src":"3147:9:44","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"visibility":"internal"},{"constant":false,"id":14013,"mutability":"mutable","name":"b3tr","nameLocation":"3177:4:44","nodeType":"VariableDeclaration","scope":14016,"src":"3171:10:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":14012,"nodeType":"UserDefinedTypeName","pathNode":{"id":14011,"name":"IB3TR","nameLocations":["3171:5:44"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"3171:5:44"},"referencedDeclaration":62888,"src":"3171:5:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":14015,"mutability":"mutable","name":"minimumMilestoneCount","nameLocation":"3195:21:44","nodeType":"VariableDeclaration","scope":14016,"src":"3187:29:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14014,"name":"uint256","nodeType":"ElementaryTypeName","src":"3187:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"GrantsManagerStorage","nameLocation":"3022:20:44","nodeType":"StructDefinition","scope":15958,"src":"3015:206:44","visibility":"public"},{"constant":true,"id":14019,"mutability":"constant","name":"GrantsManagerStorageLocation","nameLocation":"3357:28:44","nodeType":"VariableDeclaration","scope":15958,"src":"3332:126:44","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3332:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307838323765663761353836333430613061666439646634643130646364343765333565653230353732646263393538333033313166636238323834363036643030","id":14018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3392:66:44","typeDescriptions":{"typeIdentifier":"t_rational_59025002239858819044372668613102776958087395528514654209242387424769331981568_by_1","typeString":"int_const 5902...(69 digits omitted)...1568"},"value":"0x827ef7a586340a0afd9df4d10dcd47e35ee20572dbc95830311fcb8284606d00"},"visibility":"private"},{"body":{"id":14026,"nodeType":"Block","src":"3553:71:44","statements":[{"AST":{"nodeType":"YulBlock","src":"3568:52:44","statements":[{"nodeType":"YulAssignment","src":"3576:38:44","value":{"name":"GrantsManagerStorageLocation","nodeType":"YulIdentifier","src":"3586:28:44"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"3576:6:44"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":14023,"isOffset":false,"isSlot":true,"src":"3576:6:44","suffix":"slot","valueSize":1},{"declaration":14019,"isOffset":false,"isSlot":false,"src":"3586:28:44","valueSize":1}],"id":14025,"nodeType":"InlineAssembly","src":"3559:61:44"}]},"id":14027,"implemented":true,"kind":"function","modifiers":[],"name":"_getGrantsManagerStorage","nameLocation":"3472:24:44","nodeType":"FunctionDefinition","parameters":{"id":14020,"nodeType":"ParameterList","parameters":[],"src":"3496:2:44"},"returnParameters":{"id":14024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14023,"mutability":"mutable","name":"$","nameLocation":"3550:1:44","nodeType":"VariableDeclaration","scope":14027,"src":"3521:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14022,"nodeType":"UserDefinedTypeName","pathNode":{"id":14021,"name":"GrantsManagerStorage","nameLocations":["3521:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"3521:20:44"},"referencedDeclaration":14016,"src":"3521:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"src":"3520:32:44"},"scope":15958,"src":"3463:161:44","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":14034,"nodeType":"Block","src":"3754:33:44","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":14031,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"3760:20:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":14032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3760:22:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14033,"nodeType":"ExpressionStatement","src":"3760:22:44"}]},"documentation":{"id":14028,"nodeType":"StructuredDocumentation","src":"3689:48:44","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":14035,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":14029,"nodeType":"ParameterList","parameters":[],"src":"3751:2:44"},"returnParameters":{"id":14030,"nodeType":"ParameterList","parameters":[],"src":"3754:0:44"},"scope":15958,"src":"3740:47:44","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":14155,"nodeType":"Block","src":"3963:801:44","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":14056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14051,"name":"_governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14037,"src":"3977:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":14054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3998:1:44","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":14053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3990:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14052,"name":"address","nodeType":"ElementaryTypeName","src":"3990:7:44","typeDescriptions":{}}},"id":14055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3990:10:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3977:23:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f7220616464726573732063616e6e6f742062652030","id":14057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4002:30:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6","typeString":"literal_string \"Governor address cannot be 0\""},"value":"Governor address cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6","typeString":"literal_string \"Governor address cannot be 0\""}],"id":14050,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3969:7:44","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3969:64:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14059,"nodeType":"ExpressionStatement","src":"3969:64:44"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":14066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14061,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14039,"src":"4047:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":14064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4068:1:44","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":14063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4060:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14062,"name":"address","nodeType":"ElementaryTypeName","src":"4060:7:44","typeDescriptions":{}}},"id":14065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4060:10:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4047:23:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"547265617375727920616464726573732063616e6e6f742062652030","id":14067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4072:30:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8","typeString":"literal_string \"Treasury address cannot be 0\""},"value":"Treasury address cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8","typeString":"literal_string \"Treasury address cannot be 0\""}],"id":14060,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4039:7:44","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4039:64:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14069,"nodeType":"ExpressionStatement","src":"4039:64:44"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":14076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14071,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14043,"src":"4117:5:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":14074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4134:1:44","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":14073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4126:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14072,"name":"address","nodeType":"ElementaryTypeName","src":"4126:7:44","typeDescriptions":{}}},"id":14075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4126:10:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4117:19:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4233545220616464726573732063616e6e6f742062652030","id":14077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4138:26:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a","typeString":"literal_string \"B3TR address cannot be 0\""},"value":"B3TR address cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a","typeString":"literal_string \"B3TR address cannot be 0\""}],"id":14070,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4109:7:44","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:56:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14079,"nodeType":"ExpressionStatement","src":"4109:56:44"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":14086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14081,"name":"defaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14041,"src":"4179:12:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":14084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4203:1:44","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":14083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4195:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14082,"name":"address","nodeType":"ElementaryTypeName","src":"4195:7:44","typeDescriptions":{}}},"id":14085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4195:10:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4179:26:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"44656661756c742061646d696e20616464726573732063616e6e6f742062652030","id":14087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4207:35:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b","typeString":"literal_string \"Default admin address cannot be 0\""},"value":"Default admin address cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b","typeString":"literal_string \"Default admin address cannot be 0\""}],"id":14080,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4171:7:44","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4171:72:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14089,"nodeType":"ExpressionStatement","src":"4171:72:44"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14091,"name":"_minimumMilestoneCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14045,"src":"4257:22:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":14092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4282:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4257:26:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d696e696d756d206d696c6573746f6e6520636f756e742063616e6e6f742062652030","id":14094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4285:37:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700","typeString":"literal_string \"Minimum milestone count cannot be 0\""},"value":"Minimum milestone count cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700","typeString":"literal_string \"Minimum milestone count cannot be 0\""}],"id":14090,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4249:7:44","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4249:74:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14096,"nodeType":"ExpressionStatement","src":"4249:74:44"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":14097,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"4330:22:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":14098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4330:24:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14099,"nodeType":"ExpressionStatement","src":"4330:24:44"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":14100,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"4360:20:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":14101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4360:22:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14102,"nodeType":"ExpressionStatement","src":"4360:22:44"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":14103,"name":"__Pausable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4039,"src":"4388:15:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":14104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4388:17:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14105,"nodeType":"ExpressionStatement","src":"4388:17:44"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":14106,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4203,"src":"4411:22:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":14107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4411:24:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14108,"nodeType":"ExpressionStatement","src":"4411:24:44"},{"expression":{"arguments":[{"id":14110,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"4453:18:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":14111,"name":"defaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14041,"src":"4473:12:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14109,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"4442:10:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":14112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4442:44:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14113,"nodeType":"ExpressionStatement","src":"4442:44:44"},{"expression":{"arguments":[{"id":14115,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13978,"src":"4503:15:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":14116,"name":"_governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14037,"src":"4520:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14114,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"4492:10:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":14117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4492:38:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14118,"nodeType":"ExpressionStatement","src":"4492:38:44"},{"assignments":[14121],"declarations":[{"constant":false,"id":14121,"mutability":"mutable","name":"$","nameLocation":"4566:1:44","nodeType":"VariableDeclaration","scope":14155,"src":"4537:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14120,"nodeType":"UserDefinedTypeName","pathNode":{"id":14119,"name":"GrantsManagerStorage","nameLocations":["4537:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"4537:20:44"},"referencedDeclaration":14016,"src":"4537:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14124,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14122,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"4570:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4570:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4537:59:44"},{"expression":{"id":14131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14125,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14121,"src":"4602:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4604:8:44","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":14007,"src":"4602:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14129,"name":"_governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14037,"src":"4629:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14128,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"4615:13:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":14130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4615:24:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"4602:37:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":14132,"nodeType":"ExpressionStatement","src":"4602:37:44"},{"expression":{"id":14139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14133,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14121,"src":"4645:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14135,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4647:8:44","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":14010,"src":"4645:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14137,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14039,"src":"4668:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14136,"name":"ITreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67241,"src":"4658:9:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITreasury_$67241_$","typeString":"type(contract ITreasury)"}},"id":14138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4658:20:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"src":"4645:33:44","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"id":14140,"nodeType":"ExpressionStatement","src":"4645:33:44"},{"expression":{"id":14147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14141,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14121,"src":"4684:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4686:4:44","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":14013,"src":"4684:6:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14145,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14043,"src":"4699:5:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14144,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"4693:5:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":14146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4693:12:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"4684:21:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":14148,"nodeType":"ExpressionStatement","src":"4684:21:44"},{"expression":{"id":14153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14149,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14121,"src":"4711:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4713:21:44","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":14015,"src":"4711:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14152,"name":"_minimumMilestoneCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14045,"src":"4737:22:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4711:48:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14154,"nodeType":"ExpressionStatement","src":"4711:48:44"}]},"functionSelector":"f7013ef6","id":14156,"implemented":true,"kind":"function","modifiers":[{"id":14048,"kind":"modifierInvocation","modifierName":{"id":14047,"name":"initializer","nameLocations":["3951:11:44"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"3951:11:44"},"nodeType":"ModifierInvocation","src":"3951:11:44"}],"name":"initialize","nameLocation":"3800:10:44","nodeType":"FunctionDefinition","parameters":{"id":14046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14037,"mutability":"mutable","name":"_governor","nameLocation":"3824:9:44","nodeType":"VariableDeclaration","scope":14156,"src":"3816:17:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14036,"name":"address","nodeType":"ElementaryTypeName","src":"3816:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14039,"mutability":"mutable","name":"_treasury","nameLocation":"3847:9:44","nodeType":"VariableDeclaration","scope":14156,"src":"3839:17:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14038,"name":"address","nodeType":"ElementaryTypeName","src":"3839:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14041,"mutability":"mutable","name":"defaultAdmin","nameLocation":"3870:12:44","nodeType":"VariableDeclaration","scope":14156,"src":"3862:20:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14040,"name":"address","nodeType":"ElementaryTypeName","src":"3862:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14043,"mutability":"mutable","name":"_b3tr","nameLocation":"3896:5:44","nodeType":"VariableDeclaration","scope":14156,"src":"3888:13:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14042,"name":"address","nodeType":"ElementaryTypeName","src":"3888:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14045,"mutability":"mutable","name":"_minimumMilestoneCount","nameLocation":"3915:22:44","nodeType":"VariableDeclaration","scope":14156,"src":"3907:30:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14044,"name":"uint256","nodeType":"ElementaryTypeName","src":"3907:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3810:131:44"},"returnParameters":{"id":14049,"nodeType":"ParameterList","parameters":[],"src":"3963:0:44"},"scope":15958,"src":"3791:973:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":14183,"nodeType":"Block","src":"4861:211:44","statements":[{"assignments":[14160],"declarations":[{"constant":false,"id":14160,"mutability":"mutable","name":"$","nameLocation":"4896:1:44","nodeType":"VariableDeclaration","scope":14183,"src":"4867:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14159,"nodeType":"UserDefinedTypeName","pathNode":{"id":14158,"name":"GrantsManagerStorage","nameLocations":["4867:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"4867:20:44"},"referencedDeclaration":14016,"src":"4867:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14163,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14161,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"4900:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4900:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4867:59:44"},{"condition":{"id":14176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4936:86:44","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":14165,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"4946:18:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14166,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"4966:10:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":14167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4966:12:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14164,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"4938:7:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":14168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4938:41:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":14170,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13978,"src":"4991:15:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14171,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5008:10:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":14172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5008:12:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14169,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"4983:7:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":14173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4983:38:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4938:83:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":14175,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4937:85:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14181,"nodeType":"IfStatement","src":"4932:129:44","trueBody":{"id":14180,"nodeType":"Block","src":"5024:37:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":14177,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65319,"src":"5039:13:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":14178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5039:15:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14179,"nodeType":"RevertStatement","src":"5032:22:44"}]}},{"id":14182,"nodeType":"PlaceholderStatement","src":"5066:1:44"}]},"id":14184,"name":"onlyAdminOrGovernanceRole","nameLocation":"4833:25:44","nodeType":"ModifierDefinition","parameters":{"id":14157,"nodeType":"ParameterList","parameters":[],"src":"4858:2:44"},"src":"4824:248:44","virtual":false,"visibility":"internal"},{"body":{"id":14213,"nodeType":"Block","src":"5120:197:44","statements":[{"assignments":[14190],"declarations":[{"constant":false,"id":14190,"mutability":"mutable","name":"$","nameLocation":"5155:1:44","nodeType":"VariableDeclaration","scope":14213,"src":"5126:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14189,"nodeType":"UserDefinedTypeName","pathNode":{"id":14188,"name":"GrantsManagerStorage","nameLocations":["5126:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"5126:20:44"},"referencedDeclaration":14016,"src":"5126:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14193,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14191,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"5159:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5159:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5126:59:44"},{"condition":{"id":14206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5195:72:44","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":14195,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14186,"src":"5205:4:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14196,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5211:10:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":14197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5211:12:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14194,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5197:7:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":14198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5197:27:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":14200,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13978,"src":"5236:15:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14201,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5253:10:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":14202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:12:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14199,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5228:7:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":14203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5228:38:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5197:69:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":14205,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5196:71:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14211,"nodeType":"IfStatement","src":"5191:115:44","trueBody":{"id":14210,"nodeType":"Block","src":"5269:37:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":14207,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65319,"src":"5284:13:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":14208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5284:15:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14209,"nodeType":"RevertStatement","src":"5277:22:44"}]}},{"id":14212,"nodeType":"PlaceholderStatement","src":"5311:1:44"}]},"id":14214,"name":"onlyRoleOrGovernance","nameLocation":"5085:20:44","nodeType":"ModifierDefinition","parameters":{"id":14187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14186,"mutability":"mutable","name":"role","nameLocation":"5114:4:44","nodeType":"VariableDeclaration","scope":14214,"src":"5106:12:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5106:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5105:14:44"},"src":"5076:241:44","virtual":false,"visibility":"internal"},{"body":{"id":14235,"nodeType":"Block","src":"5345:166:44","statements":[{"assignments":[14218],"declarations":[{"constant":false,"id":14218,"mutability":"mutable","name":"$","nameLocation":"5380:1:44","nodeType":"VariableDeclaration","scope":14235,"src":"5351:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14217,"nodeType":"UserDefinedTypeName","pathNode":{"id":14216,"name":"GrantsManagerStorage","nameLocations":["5351:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"5351:20:44"},"referencedDeclaration":14016,"src":"5351:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14221,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14219,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"5384:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5384:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5351:59:44"},{"condition":{"id":14228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5420:41:44","subExpression":{"components":[{"arguments":[{"id":14223,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13978,"src":"5430:15:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14224,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5447:10:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":14225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5447:12:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14222,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5422:7:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":14226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5422:38:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":14227,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5421:40:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14233,"nodeType":"IfStatement","src":"5416:84:44","trueBody":{"id":14232,"nodeType":"Block","src":"5463:37:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":14229,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65319,"src":"5478:13:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":14230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5478:15:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14231,"nodeType":"RevertStatement","src":"5471:22:44"}]}},{"id":14234,"nodeType":"PlaceholderStatement","src":"5505:1:44"}]},"id":14236,"name":"onlyGovernor","nameLocation":"5330:12:44","nodeType":"ModifierDefinition","parameters":{"id":14215,"nodeType":"ParameterList","parameters":[],"src":"5342:2:44"},"src":"5321:190:44","virtual":false,"visibility":"internal"},{"body":{"id":14268,"nodeType":"Block","src":"5574:220:44","statements":[{"assignments":[14242],"declarations":[{"constant":false,"id":14242,"mutability":"mutable","name":"$","nameLocation":"5609:1:44","nodeType":"VariableDeclaration","scope":14268,"src":"5580:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14241,"nodeType":"UserDefinedTypeName","pathNode":{"id":14240,"name":"GrantsManagerStorage","nameLocations":["5580:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"5580:20:44"},"referencedDeclaration":14016,"src":"5580:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14245,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14243,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"5613:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5613:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5580:59:44"},{"condition":{"id":14261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5649:95:44","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":14247,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13978,"src":"5659:15:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":14248,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5676:10:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":14249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5676:12:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":14246,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5651:7:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":14250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5651:38:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":14258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":14251,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5693:10:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":14252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5693:12:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"expression":{"id":14253,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14242,"src":"5709:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5711:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"5709:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14256,"indexExpression":{"id":14255,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14238,"src":"5717:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5709:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":14257,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5729:14:44","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":65412,"src":"5709:34:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5693:50:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5651:92:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":14260,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5650:94:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14266,"nodeType":"IfStatement","src":"5645:138:44","trueBody":{"id":14265,"nodeType":"Block","src":"5746:37:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":14262,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65319,"src":"5761:13:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":14263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5761:15:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14264,"nodeType":"RevertStatement","src":"5754:22:44"}]}},{"id":14267,"nodeType":"PlaceholderStatement","src":"5788:1:44"}]},"id":14269,"name":"onlyGrantsReceiverOrGovernance","nameLocation":"5523:30:44","nodeType":"ModifierDefinition","parameters":{"id":14239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14238,"mutability":"mutable","name":"proposalId","nameLocation":"5562:10:44","nodeType":"VariableDeclaration","scope":14269,"src":"5554:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14237,"name":"uint256","nodeType":"ElementaryTypeName","src":"5554:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5553:20:44"},"src":"5514:280:44","virtual":false,"visibility":"internal"},{"baseFunctions":[65434],"body":{"id":14478,"nodeType":"Block","src":"6383:1485:44","statements":[{"assignments":[14290],"declarations":[{"constant":false,"id":14290,"mutability":"mutable","name":"$","nameLocation":"6418:1:44","nodeType":"VariableDeclaration","scope":14478,"src":"6389:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14289,"nodeType":"UserDefinedTypeName","pathNode":{"id":14288,"name":"GrantsManagerStorage","nameLocations":["6389:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"6389:20:44"},"referencedDeclaration":14016,"src":"6389:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14293,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14291,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"6422:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6422:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6389:59:44"},{"assignments":[14296],"declarations":[{"constant":false,"id":14296,"mutability":"mutable","name":"m","nameLocation":"6477:1:44","nodeType":"VariableDeclaration","scope":14478,"src":"6455:23:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":14295,"nodeType":"UserDefinedTypeName","pathNode":{"id":14294,"name":"GrantProposal","nameLocations":["6455:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"6455:13:44"},"referencedDeclaration":65419,"src":"6455:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"id":14301,"initialValue":{"baseExpression":{"expression":{"id":14297,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14290,"src":"6481:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6483:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"6481:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14300,"indexExpression":{"id":14299,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14274,"src":"6489:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6481:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6455:45:44"},{"assignments":[14303],"declarations":[{"constant":false,"id":14303,"mutability":"mutable","name":"totalAmount","nameLocation":"6514:11:44","nodeType":"VariableDeclaration","scope":14478,"src":"6506:19:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14302,"name":"uint256","nodeType":"ElementaryTypeName","src":"6506:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14305,"initialValue":{"hexValue":"30","id":14304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6528:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6506:23:44"},{"body":{"id":14428,"nodeType":"Block","src":"6583:933:44","statements":[{"assignments":[14318],"declarations":[{"constant":false,"id":14318,"mutability":"mutable","name":"data","nameLocation":"6604:4:44","nodeType":"VariableDeclaration","scope":14428,"src":"6591:17:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14317,"name":"bytes","nodeType":"ElementaryTypeName","src":"6591:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":14322,"initialValue":{"baseExpression":{"id":14319,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14281,"src":"6611:9:44","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":14321,"indexExpression":{"id":14320,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14307,"src":"6621:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6611:12:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6591:32:44"},{"assignments":[14324],"declarations":[{"constant":false,"id":14324,"mutability":"mutable","name":"selector","nameLocation":"6682:8:44","nodeType":"VariableDeclaration","scope":14428,"src":"6675:15:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":14323,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6675:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":14325,"nodeType":"VariableDeclarationStatement","src":"6675:15:44"},{"AST":{"nodeType":"YulBlock","src":"6707:50:44","statements":[{"nodeType":"YulAssignment","src":"6717:32:44","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6739:4:44"},{"kind":"number","nodeType":"YulLiteral","src":"6745:2:44","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6735:3:44"},"nodeType":"YulFunctionCall","src":"6735:13:44"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6729:5:44"},"nodeType":"YulFunctionCall","src":"6729:20:44"},"variableNames":[{"name":"selector","nodeType":"YulIdentifier","src":"6717:8:44"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":14318,"isOffset":false,"isSlot":false,"src":"6739:4:44","valueSize":1},{"declaration":14324,"isOffset":false,"isSlot":false,"src":"6717:8:44","valueSize":1}],"id":14326,"nodeType":"InlineAssembly","src":"6698:59:44"},{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":14334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14327,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14324,"src":"6768:8:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"7472616e736665724233545228616464726573732c75696e7432353629","id":14331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6797:31:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e184b3fd9364f3d451880a8b42a2fd0a4ba829d3d97cf9497153ea07be96192","typeString":"literal_string \"transferB3TR(address,uint256)\""},"value":"transferB3TR(address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e184b3fd9364f3d451880a8b42a2fd0a4ba829d3d97cf9497153ea07be96192","typeString":"literal_string \"transferB3TR(address,uint256)\""}],"id":14330,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6787:9:44","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":14332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6787:42:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6780:6:44","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":14328,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6780:6:44","typeDescriptions":{}}},"id":14333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6780:50:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"6768:62:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14340,"nodeType":"IfStatement","src":"6764:127:44","trueBody":{"id":14339,"nodeType":"Block","src":"6832:59:44","statements":[{"errorCall":{"arguments":[{"id":14336,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14324,"src":"6873:8:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":14335,"name":"InvalidFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65267,"src":"6849:23:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes4_$returns$__$","typeString":"function (bytes4) pure"}},"id":14337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6849:33:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14338,"nodeType":"RevertStatement","src":"6842:40:44"}]}},{"assignments":[14342],"declarations":[{"constant":false,"id":14342,"mutability":"mutable","name":"slicedData","nameLocation":"6911:10:44","nodeType":"VariableDeclaration","scope":14428,"src":"6898:23:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14341,"name":"bytes","nodeType":"ElementaryTypeName","src":"6898:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":14350,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":14345,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14318,"src":"6934:4:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":14346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6939:6:44","memberName":"length","nodeType":"MemberAccess","src":"6934:11:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"34","id":14347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6948:1:44","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"6934:15:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6924:9:44","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":14343,"name":"bytes","nodeType":"ElementaryTypeName","src":"6928:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":14349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6924:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6898:52:44"},{"body":{"id":14372,"nodeType":"Block","src":"7006:46:44","statements":[{"expression":{"id":14370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":14362,"name":"slicedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14342,"src":"7016:10:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":14364,"indexExpression":{"id":14363,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14352,"src":"7027:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7016:13:44","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":14365,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14318,"src":"7032:4:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":14369,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14366,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14352,"src":"7037:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"34","id":14367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7041:1:44","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"7037:5:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7032:11:44","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"7016:27:44","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":14371,"nodeType":"ExpressionStatement","src":"7016:27:44"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14355,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14352,"src":"6978:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":14356,"name":"slicedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14342,"src":"6982:10:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":14357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6993:6:44","memberName":"length","nodeType":"MemberAccess","src":"6982:17:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6978:21:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14373,"initializationExpression":{"assignments":[14352],"declarations":[{"constant":false,"id":14352,"mutability":"mutable","name":"j","nameLocation":"6971:1:44","nodeType":"VariableDeclaration","scope":14373,"src":"6963:9:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14351,"name":"uint256","nodeType":"ElementaryTypeName","src":"6963:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14354,"initialValue":{"hexValue":"30","id":14353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6975:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6963:13:44"},"loopExpression":{"expression":{"id":14360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7001:3:44","subExpression":{"id":14359,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14352,"src":"7001:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14361,"nodeType":"ExpressionStatement","src":"7001:3:44"},"nodeType":"ForStatement","src":"6958:94:44"},{"assignments":[14375,14377],"declarations":[{"constant":false,"id":14375,"mutability":"mutable","name":"recipient","nameLocation":"7095:9:44","nodeType":"VariableDeclaration","scope":14428,"src":"7087:17:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14374,"name":"address","nodeType":"ElementaryTypeName","src":"7087:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14377,"mutability":"mutable","name":"amount","nameLocation":"7114:6:44","nodeType":"VariableDeclaration","scope":14428,"src":"7106:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14376,"name":"uint256","nodeType":"ElementaryTypeName","src":"7106:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14387,"initialValue":{"arguments":[{"id":14380,"name":"slicedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14342,"src":"7135:10:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":14382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7148:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14381,"name":"address","nodeType":"ElementaryTypeName","src":"7148:7:44","typeDescriptions":{}}},{"id":14384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7157:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14383,"name":"uint256","nodeType":"ElementaryTypeName","src":"7157:7:44","typeDescriptions":{}}}],"id":14385,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7147:18:44","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}],"expression":{"id":14378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7124:3:44","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7128:6:44","memberName":"decode","nodeType":"MemberAccess","src":"7124:10:44","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":14386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7124:42:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_uint256_$","typeString":"tuple(address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7086:80:44"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":14393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14388,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14375,"src":"7179:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":14391,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7200:4:44","typeDescriptions":{"typeIdentifier":"t_contract$_GrantsManager_$15958","typeString":"contract GrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GrantsManager_$15958","typeString":"contract GrantsManager"}],"id":14390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7192:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14389,"name":"address","nodeType":"ElementaryTypeName","src":"7192:7:44","typeDescriptions":{}}},"id":14392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7192:13:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7179:26:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14399,"nodeType":"IfStatement","src":"7175:82:44","trueBody":{"id":14398,"nodeType":"Block","src":"7207:50:44","statements":[{"errorCall":{"arguments":[{"id":14395,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14375,"src":"7238:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14394,"name":"InvalidTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65259,"src":"7224:13:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":14396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7224:24:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14397,"nodeType":"RevertStatement","src":"7217:31:44"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14400,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14377,"src":"7268:6:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":14401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7278:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7268:11:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14407,"nodeType":"IfStatement","src":"7264:58:44","trueBody":{"id":14406,"nodeType":"Block","src":"7281:41:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":14403,"name":"InvalidAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65262,"src":"7298:13:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":14404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7298:15:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14405,"nodeType":"RevertStatement","src":"7291:22:44"}]}},{"expression":{"id":14410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":14408,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14303,"src":"7330:11:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":14409,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14377,"src":"7345:6:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7330:21:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14411,"nodeType":"ExpressionStatement","src":"7330:21:44"},{"expression":{"arguments":[{"arguments":[{"id":14420,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14377,"src":"7424:6:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":14421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7443:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":14422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7462:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":14423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7481:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"","id":14424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7496:2:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":14419,"name":"Milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65401,"src":"7404:9:44","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Milestone_$65401_storage_ptr_$","typeString":"type(struct IGrantsManager.Milestone storage pointer)"}},"id":14425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7416:6:44","7432:9:44","7450:10:44","7469:10:44","7488:6:44"],"names":["amount","isClaimed","isApproved","isRejected","reason"],"nodeType":"FunctionCall","src":"7404:97:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}],"expression":{"expression":{"baseExpression":{"expression":{"id":14412,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14290,"src":"7359:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7361:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"7359:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14416,"indexExpression":{"id":14414,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14274,"src":"7367:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7359:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":14417,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7379:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"7359:30:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"id":14418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7390:4:44","memberName":"push","nodeType":"MemberAccess","src":"7359:35:44","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage_ptr_$_t_struct$_Milestone_$65401_storage_$returns$__$attached_to$_t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage_ptr_$","typeString":"function (struct IGrantsManager.Milestone storage ref[] storage pointer,struct IGrantsManager.Milestone storage ref)"}},"id":14426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7359:150:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14427,"nodeType":"ExpressionStatement","src":"7359:150:44"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14310,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14307,"src":"6556:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":14311,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14281,"src":"6560:9:44","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":14312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6570:6:44","memberName":"length","nodeType":"MemberAccess","src":"6560:16:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6556:20:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14429,"initializationExpression":{"assignments":[14307],"declarations":[{"constant":false,"id":14307,"mutability":"mutable","name":"i","nameLocation":"6549:1:44","nodeType":"VariableDeclaration","scope":14429,"src":"6541:9:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14306,"name":"uint256","nodeType":"ElementaryTypeName","src":"6541:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14309,"initialValue":{"hexValue":"30","id":14308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6553:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6541:13:44"},"loopExpression":{"expression":{"id":14315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6578:3:44","subExpression":{"id":14314,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14307,"src":"6578:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14316,"nodeType":"ExpressionStatement","src":"6578:3:44"},"nodeType":"ForStatement","src":"6536:980:44"},{"expression":{"id":14434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14430,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14296,"src":"7522:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":14432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7524:2:44","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":65404,"src":"7522:4:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14433,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14274,"src":"7529:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7522:17:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14435,"nodeType":"ExpressionStatement","src":"7522:17:44"},{"expression":{"id":14440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14436,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14296,"src":"7545:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":14438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7547:8:44","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":65410,"src":"7545:10:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14439,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14276,"src":"7558:8:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7545:21:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14441,"nodeType":"ExpressionStatement","src":"7545:21:44"},{"expression":{"id":14446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14442,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14296,"src":"7572:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":14444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7574:11:44","memberName":"metadataURI","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"7572:13:44","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14445,"name":"metadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14272,"src":"7588:11:44","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7572:27:44","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":14447,"nodeType":"ExpressionStatement","src":"7572:27:44"},{"expression":{"id":14452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14448,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14296,"src":"7605:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":14450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7607:11:44","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":65406,"src":"7605:13:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14451,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14303,"src":"7621:11:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7605:27:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14453,"nodeType":"ExpressionStatement","src":"7605:27:44"},{"expression":{"id":14458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14454,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14296,"src":"7638:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":14456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7640:13:44","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":65408,"src":"7638:15:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":14457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7656:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7638:19:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14459,"nodeType":"ExpressionStatement","src":"7638:19:44"},{"expression":{"id":14464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14460,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14296,"src":"7709:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":14462,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7711:14:44","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":65412,"src":"7709:16:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14463,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14278,"src":"7728:14:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7709:33:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14465,"nodeType":"ExpressionStatement","src":"7709:33:44"},{"expression":{"arguments":[{"id":14467,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14296,"src":"7769:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}],"id":14466,"name":"_validateMilestones","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15804,"src":"7749:19:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_GrantProposal_$65419_memory_ptr_$returns$__$","typeString":"function (struct IGrantsManager.GrantProposal memory) view"}},"id":14468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7749:22:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14469,"nodeType":"ExpressionStatement","src":"7749:22:44"},{"eventCall":{"arguments":[{"id":14471,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14274,"src":"7800:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14472,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14276,"src":"7812:8:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14473,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14278,"src":"7822:14:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14474,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14303,"src":"7838:11:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14475,"name":"metadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14272,"src":"7851:11:44","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":14470,"name":"MilestonesCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65249,"src":"7782:17:44","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,uint256,string memory)"}},"id":14476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7782:81:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14477,"nodeType":"EmitStatement","src":"7777:86:44"}]},"documentation":{"id":14270,"nodeType":"StructuredDocumentation","src":"5879:300:44","text":" @dev Internal function to create milestones for a proposal.\n @param metadataURI The IPFS hash containing the milestones descriptions\n @param proposalId The ID of the proposal\n @param proposer The address of the proposer\n @param calldatas The calldatas of the milestones"},"functionSelector":"808860a5","id":14479,"implemented":true,"kind":"function","modifiers":[{"id":14284,"kind":"modifierInvocation","modifierName":{"id":14283,"name":"onlyGovernor","nameLocations":["6356:12:44"],"nodeType":"IdentifierPath","referencedDeclaration":14236,"src":"6356:12:44"},"nodeType":"ModifierInvocation","src":"6356:12:44"},{"id":14286,"kind":"modifierInvocation","modifierName":{"id":14285,"name":"whenNotPaused","nameLocations":["6369:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"6369:13:44"},"nodeType":"ModifierInvocation","src":"6369:13:44"}],"name":"createMilestones","nameLocation":"6191:16:44","nodeType":"FunctionDefinition","parameters":{"id":14282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14272,"mutability":"mutable","name":"metadataURI","nameLocation":"6227:11:44","nodeType":"VariableDeclaration","scope":14479,"src":"6213:25:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14271,"name":"string","nodeType":"ElementaryTypeName","src":"6213:6:44","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14274,"mutability":"mutable","name":"proposalId","nameLocation":"6252:10:44","nodeType":"VariableDeclaration","scope":14479,"src":"6244:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14273,"name":"uint256","nodeType":"ElementaryTypeName","src":"6244:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14276,"mutability":"mutable","name":"proposer","nameLocation":"6276:8:44","nodeType":"VariableDeclaration","scope":14479,"src":"6268:16:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14275,"name":"address","nodeType":"ElementaryTypeName","src":"6268:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14278,"mutability":"mutable","name":"grantsReceiver","nameLocation":"6298:14:44","nodeType":"VariableDeclaration","scope":14479,"src":"6290:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14277,"name":"address","nodeType":"ElementaryTypeName","src":"6290:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14281,"mutability":"mutable","name":"calldatas","nameLocation":"6333:9:44","nodeType":"VariableDeclaration","scope":14479,"src":"6318:24:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14279,"name":"bytes","nodeType":"ElementaryTypeName","src":"6318:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14280,"nodeType":"ArrayTypeName","src":"6318:7:44","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6207:139:44"},"returnParameters":{"id":14287,"nodeType":"ParameterList","parameters":[],"src":"6383:0:44"},"scope":15958,"src":"6182:1686:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65445],"body":{"id":14504,"nodeType":"Block","src":"8177:130:44","statements":[{"assignments":[14492],"declarations":[{"constant":false,"id":14492,"mutability":"mutable","name":"$","nameLocation":"8212:1:44","nodeType":"VariableDeclaration","scope":14504,"src":"8183:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14491,"nodeType":"UserDefinedTypeName","pathNode":{"id":14490,"name":"GrantsManagerStorage","nameLocations":["8183:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"8183:20:44"},"referencedDeclaration":14016,"src":"8183:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14495,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14493,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"8216:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8216:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8183:59:44"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":14496,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14492,"src":"8256:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8258:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"8256:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14499,"indexExpression":{"id":14498,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14482,"src":"8264:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8256:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":14500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8276:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"8256:30:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"id":14502,"indexExpression":{"id":14501,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14484,"src":"8287:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8256:46:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage","typeString":"struct IGrantsManager.Milestone storage ref"}},"functionReturnParameters":14489,"id":14503,"nodeType":"Return","src":"8249:53:44"}]},"documentation":{"id":14480,"nodeType":"StructuredDocumentation","src":"7872:195:44","text":" @notice Returns a milestone for a proposal.\n @param proposalId The id of the proposal\n @param milestoneIndex The index of the milestone\n @return Milestone The milestone"},"functionSelector":"8ed9895c","id":14505,"implemented":true,"kind":"function","modifiers":[],"name":"getMilestone","nameLocation":"8079:12:44","nodeType":"FunctionDefinition","parameters":{"id":14485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14482,"mutability":"mutable","name":"proposalId","nameLocation":"8100:10:44","nodeType":"VariableDeclaration","scope":14505,"src":"8092:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14481,"name":"uint256","nodeType":"ElementaryTypeName","src":"8092:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14484,"mutability":"mutable","name":"milestoneIndex","nameLocation":"8120:14:44","nodeType":"VariableDeclaration","scope":14505,"src":"8112:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14483,"name":"uint256","nodeType":"ElementaryTypeName","src":"8112:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8091:44:44"},"returnParameters":{"id":14489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14505,"src":"8159:16:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone"},"typeName":{"id":14487,"nodeType":"UserDefinedTypeName","pathNode":{"id":14486,"name":"Milestone","nameLocations":["8159:9:44"],"nodeType":"IdentifierPath","referencedDeclaration":65401,"src":"8159:9:44"},"referencedDeclaration":65401,"src":"8159:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage_ptr","typeString":"struct IGrantsManager.Milestone"}},"visibility":"internal"}],"src":"8158:18:44"},"scope":15958,"src":"8070:237:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65538],"body":{"id":14552,"nodeType":"Block","src":"8699:281:44","statements":[{"assignments":[14515],"declarations":[{"constant":false,"id":14515,"mutability":"mutable","name":"$","nameLocation":"8734:1:44","nodeType":"VariableDeclaration","scope":14552,"src":"8705:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14514,"nodeType":"UserDefinedTypeName","pathNode":{"id":14513,"name":"GrantsManagerStorage","nameLocations":["8705:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"8705:20:44"},"referencedDeclaration":14016,"src":"8705:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14518,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14516,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"8738:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8738:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8705:59:44"},{"assignments":[14521],"declarations":[{"constant":false,"id":14521,"mutability":"mutable","name":"grant","nameLocation":"8791:5:44","nodeType":"VariableDeclaration","scope":14552,"src":"8770:26:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":14520,"nodeType":"UserDefinedTypeName","pathNode":{"id":14519,"name":"GrantProposal","nameLocations":["8770:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"8770:13:44"},"referencedDeclaration":65419,"src":"8770:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"id":14526,"initialValue":{"baseExpression":{"expression":{"id":14522,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14515,"src":"8799:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8801:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"8799:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14525,"indexExpression":{"id":14524,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14508,"src":"8807:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8799:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8770:48:44"},{"body":{"id":14548,"nodeType":"Block","src":"8878:80:44","statements":[{"condition":{"expression":{"baseExpression":{"expression":{"id":14539,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14521,"src":"8890:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":14540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8896:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"8890:16:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":14542,"indexExpression":{"id":14541,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14528,"src":"8907:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8890:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":14543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8910:10:44","memberName":"isRejected","nodeType":"MemberAccess","referencedDeclaration":65398,"src":"8890:30:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14547,"nodeType":"IfStatement","src":"8886:66:44","trueBody":{"id":14546,"nodeType":"Block","src":"8922:30:44","statements":[{"expression":{"hexValue":"74727565","id":14544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8939:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":14512,"id":14545,"nodeType":"Return","src":"8932:11:44"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14531,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14528,"src":"8844:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":14532,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14521,"src":"8848:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":14533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8854:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"8848:16:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":14534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8865:6:44","memberName":"length","nodeType":"MemberAccess","src":"8848:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8844:27:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14549,"initializationExpression":{"assignments":[14528],"declarations":[{"constant":false,"id":14528,"mutability":"mutable","name":"i","nameLocation":"8837:1:44","nodeType":"VariableDeclaration","scope":14549,"src":"8829:9:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14527,"name":"uint256","nodeType":"ElementaryTypeName","src":"8829:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14530,"initialValue":{"hexValue":"30","id":14529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8841:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8829:13:44"},"loopExpression":{"expression":{"id":14537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8873:3:44","subExpression":{"id":14536,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14528,"src":"8873:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14538,"nodeType":"ExpressionStatement","src":"8873:3:44"},"nodeType":"ForStatement","src":"8824:134:44"},{"expression":{"hexValue":"66616c7365","id":14550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8970:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":14512,"id":14551,"nodeType":"Return","src":"8963:12:44"}]},"documentation":{"id":14506,"nodeType":"StructuredDocumentation","src":"8384:240:44","text":" @notice Returns if a proposal is rejected\n @param proposalId The id of the proposal\n @return bool True if the proposal is rejected, false otherwise\n @dev A grant is rejected when at least one milestone is rejected"},"functionSelector":"7da17bf3","id":14553,"implemented":true,"kind":"function","modifiers":[],"name":"isGrantRejected","nameLocation":"8636:15:44","nodeType":"FunctionDefinition","parameters":{"id":14509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14508,"mutability":"mutable","name":"proposalId","nameLocation":"8660:10:44","nodeType":"VariableDeclaration","scope":14553,"src":"8652:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14507,"name":"uint256","nodeType":"ElementaryTypeName","src":"8652:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8651:20:44"},"returnParameters":{"id":14512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14511,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14553,"src":"8693:4:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14510,"name":"bool","nodeType":"ElementaryTypeName","src":"8693:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8692:6:44"},"scope":15958,"src":"8627:353:44","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[65530],"body":{"id":14639,"nodeType":"Block","src":"9379:753:44","statements":[{"assignments":[14563],"declarations":[{"constant":false,"id":14563,"mutability":"mutable","name":"$","nameLocation":"9414:1:44","nodeType":"VariableDeclaration","scope":14639,"src":"9385:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14562,"nodeType":"UserDefinedTypeName","pathNode":{"id":14561,"name":"GrantsManagerStorage","nameLocations":["9385:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"9385:20:44"},"referencedDeclaration":14016,"src":"9385:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14566,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14564,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"9418:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9418:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9385:59:44"},{"assignments":[14569],"declarations":[{"constant":false,"id":14569,"mutability":"mutable","name":"grant","nameLocation":"9471:5:44","nodeType":"VariableDeclaration","scope":14639,"src":"9450:26:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":14568,"nodeType":"UserDefinedTypeName","pathNode":{"id":14567,"name":"GrantProposal","nameLocations":["9450:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"9450:13:44"},"referencedDeclaration":65419,"src":"9450:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"id":14574,"initialValue":{"baseExpression":{"expression":{"id":14570,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14563,"src":"9479:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9481:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"9479:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14573,"indexExpression":{"id":14572,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14556,"src":"9487:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9479:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9450:48:44"},{"assignments":[14579],"declarations":[{"constant":false,"id":14579,"mutability":"mutable","name":"proposalState","nameLocation":"9532:13:44","nodeType":"VariableDeclaration","scope":14639,"src":"9504:41:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":14578,"nodeType":"UserDefinedTypeName","pathNode":{"id":14577,"name":"GovernorTypes.ProposalState","nameLocations":["9504:13:44","9518:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"9504:27:44"},"referencedDeclaration":61406,"src":"9504:27:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"id":14585,"initialValue":{"arguments":[{"id":14583,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14556,"src":"9565:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":14580,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14563,"src":"9548:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14581,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9550:8:44","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":14007,"src":"9548:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":14582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9559:5:44","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":63327,"src":"9548:16:44","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view external returns (enum GovernorTypes.ProposalState)"}},"id":14584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9548:28:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"9504:72:44"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":14590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14586,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14579,"src":"9666:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":14587,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"9683:13:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":14588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9697:13:44","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"9683:27:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":14589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9711:8:44","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"9683:36:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"9666:53:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":14595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14591,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14579,"src":"9729:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":14592,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"9746:13:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":14593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9760:13:44","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"9746:27:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":14594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9774:13:44","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61404,"src":"9746:41:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"9729:58:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9666:121:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":14601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14597,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14579,"src":"9797:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":14598,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"9814:13:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":14599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9828:13:44","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"9814:27:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":14600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9842:9:44","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61405,"src":"9814:37:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"9797:54:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9666:185:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14606,"nodeType":"IfStatement","src":"9655:230:44","trueBody":{"id":14605,"nodeType":"Block","src":"9858:27:44","statements":[{"expression":{"hexValue":"66616c7365","id":14603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9873:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":14560,"id":14604,"nodeType":"Return","src":"9866:12:44"}]}},{"body":{"id":14635,"nodeType":"Block","src":"9945:165:44","statements":[{"assignments":[14621],"declarations":[{"constant":false,"id":14621,"mutability":"mutable","name":"_milestoneState","nameLocation":"9968:15:44","nodeType":"VariableDeclaration","scope":14635,"src":"9953:30:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":14620,"nodeType":"UserDefinedTypeName","pathNode":{"id":14619,"name":"MilestoneState","nameLocations":["9953:14:44"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"9953:14:44"},"referencedDeclaration":65389,"src":"9953:14:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"id":14626,"initialValue":{"arguments":[{"id":14623,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14556,"src":"10005:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14624,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14608,"src":"10017:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14622,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14780,"src":"9986:18:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$65389_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManager.MilestoneState)"}},"id":14625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9986:33:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"9953:66:44"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":14630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14627,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14621,"src":"10031:15:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":14628,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"10050:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10065:7:44","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":65385,"src":"10050:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"10031:41:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14634,"nodeType":"IfStatement","src":"10027:77:44","trueBody":{"id":14633,"nodeType":"Block","src":"10074:30:44","statements":[{"expression":{"hexValue":"74727565","id":14631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10091:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":14560,"id":14632,"nodeType":"Return","src":"10084:11:44"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14611,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14608,"src":"9911:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":14612,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14569,"src":"9915:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":14613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9921:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"9915:16:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":14614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9932:6:44","memberName":"length","nodeType":"MemberAccess","src":"9915:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9911:27:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14636,"initializationExpression":{"assignments":[14608],"declarations":[{"constant":false,"id":14608,"mutability":"mutable","name":"i","nameLocation":"9904:1:44","nodeType":"VariableDeclaration","scope":14636,"src":"9896:9:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14607,"name":"uint256","nodeType":"ElementaryTypeName","src":"9896:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14610,"initialValue":{"hexValue":"30","id":14609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9908:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9896:13:44"},"loopExpression":{"expression":{"id":14617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9940:3:44","subExpression":{"id":14616,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14608,"src":"9940:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14618,"nodeType":"ExpressionStatement","src":"9940:3:44"},"nodeType":"ForStatement","src":"9891:219:44"},{"expression":{"hexValue":"66616c7365","id":14637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10122:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":14560,"id":14638,"nodeType":"Return","src":"10115:12:44"}]},"documentation":{"id":14554,"nodeType":"StructuredDocumentation","src":"8984:315:44","text":" @notice Returns if a proposal is in development\n @param proposalId The id of the proposal\n @return bool True if the proposal is in development, false otherwise\n @dev A grant is in development when:\n 1. The proposal has been executed AND\n 2. At least one milestone is still pending"},"functionSelector":"9b154087","id":14640,"implemented":true,"kind":"function","modifiers":[],"name":"isGrantInDevelopment","nameLocation":"9311:20:44","nodeType":"FunctionDefinition","parameters":{"id":14557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14556,"mutability":"mutable","name":"proposalId","nameLocation":"9340:10:44","nodeType":"VariableDeclaration","scope":14640,"src":"9332:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14555,"name":"uint256","nodeType":"ElementaryTypeName","src":"9332:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9331:20:44"},"returnParameters":{"id":14560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14640,"src":"9373:4:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14558,"name":"bool","nodeType":"ElementaryTypeName","src":"9373:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9372:6:44"},"scope":15958,"src":"9302:830:44","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[65522],"body":{"id":14721,"nodeType":"Block","src":"10499:801:44","statements":[{"assignments":[14650],"declarations":[{"constant":false,"id":14650,"mutability":"mutable","name":"$","nameLocation":"10534:1:44","nodeType":"VariableDeclaration","scope":14721,"src":"10505:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14649,"nodeType":"UserDefinedTypeName","pathNode":{"id":14648,"name":"GrantsManagerStorage","nameLocations":["10505:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"10505:20:44"},"referencedDeclaration":14016,"src":"10505:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14653,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14651,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"10538:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10538:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10505:59:44"},{"assignments":[14656],"declarations":[{"constant":false,"id":14656,"mutability":"mutable","name":"grant","nameLocation":"10591:5:44","nodeType":"VariableDeclaration","scope":14721,"src":"10570:26:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":14655,"nodeType":"UserDefinedTypeName","pathNode":{"id":14654,"name":"GrantProposal","nameLocations":["10570:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"10570:13:44"},"referencedDeclaration":65419,"src":"10570:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"id":14661,"initialValue":{"baseExpression":{"expression":{"id":14657,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14650,"src":"10599:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10601:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"10599:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14660,"indexExpression":{"id":14659,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14643,"src":"10607:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10599:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10570:48:44"},{"assignments":[14666],"declarations":[{"constant":false,"id":14666,"mutability":"mutable","name":"proposalState","nameLocation":"10652:13:44","nodeType":"VariableDeclaration","scope":14721,"src":"10624:41:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":14665,"nodeType":"UserDefinedTypeName","pathNode":{"id":14664,"name":"GovernorTypes.ProposalState","nameLocations":["10624:13:44","10638:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"10624:27:44"},"referencedDeclaration":61406,"src":"10624:27:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"id":14672,"initialValue":{"arguments":[{"id":14670,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14643,"src":"10685:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":14667,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14650,"src":"10668:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14668,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10670:8:44","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":14007,"src":"10668:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":14669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10679:5:44","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":63327,"src":"10668:16:44","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view external returns (enum GovernorTypes.ProposalState)"}},"id":14671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10668:28:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"10624:72:44"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":14677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14673,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14666,"src":"10777:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":14674,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"10794:13:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":14675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10808:13:44","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"10794:27:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":14676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10822:8:44","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"10794:36:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"10777:53:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":14682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14678,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14666,"src":"10840:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":14679,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"10857:13:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":14680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10871:13:44","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"10857:27:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":14681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10885:13:44","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61404,"src":"10857:41:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"10840:58:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10777:121:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":14688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14684,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14666,"src":"10908:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":14685,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"10925:13:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":14686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10939:13:44","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"10925:27:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":14687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10953:9:44","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61405,"src":"10925:37:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"10908:54:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10777:185:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14693,"nodeType":"IfStatement","src":"10766:230:44","trueBody":{"id":14692,"nodeType":"Block","src":"10969:27:44","statements":[{"expression":{"hexValue":"66616c7365","id":14690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10984:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":14647,"id":14691,"nodeType":"Return","src":"10977:12:44"}]}},{"assignments":[14696],"declarations":[{"constant":false,"id":14696,"mutability":"mutable","name":"lastState","nameLocation":"11093:9:44","nodeType":"VariableDeclaration","scope":14721,"src":"11078:24:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":14695,"nodeType":"UserDefinedTypeName","pathNode":{"id":14694,"name":"MilestoneState","nameLocations":["11078:14:44"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"11078:14:44"},"referencedDeclaration":65389,"src":"11078:14:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"id":14705,"initialValue":{"arguments":[{"id":14698,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14643,"src":"11124:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":14699,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14656,"src":"11136:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":14700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11142:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"11136:16:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":14701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11153:6:44","memberName":"length","nodeType":"MemberAccess","src":"11136:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11162:1:44","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11136:27:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14697,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14780,"src":"11105:18:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$65389_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManager.MilestoneState)"}},"id":14704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11105:59:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"11078:86:44"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":14709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14706,"name":"lastState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14696,"src":"11174:9:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":14707,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"11187:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11202:7:44","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":65385,"src":"11187:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"11174:35:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":14713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14710,"name":"lastState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14696,"src":"11213:9:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":14711,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"11226:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11241:8:44","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65388,"src":"11226:23:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"11213:36:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11174:75:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14718,"nodeType":"IfStatement","src":"11170:108:44","trueBody":{"id":14717,"nodeType":"Block","src":"11251:27:44","statements":[{"expression":{"hexValue":"66616c7365","id":14715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11266:5:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":14647,"id":14716,"nodeType":"Return","src":"11259:12:44"}]}},{"expression":{"hexValue":"74727565","id":14719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11291:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":14647,"id":14720,"nodeType":"Return","src":"11284:11:44"}]},"documentation":{"id":14641,"nodeType":"StructuredDocumentation","src":"10136:287:44","text":" @notice Returns if a proposal is completed\n @param proposalId The id of the proposal\n @return bool True if the proposal is completed, false otherwise\n @dev Ascending order status of the milestones, so last one is the one that determines the status of the grant"},"functionSelector":"c2249389","id":14722,"implemented":true,"kind":"function","modifiers":[],"name":"isGrantCompleted","nameLocation":"10435:16:44","nodeType":"FunctionDefinition","parameters":{"id":14644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14643,"mutability":"mutable","name":"proposalId","nameLocation":"10460:10:44","nodeType":"VariableDeclaration","scope":14722,"src":"10452:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14642,"name":"uint256","nodeType":"ElementaryTypeName","src":"10452:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10451:20:44"},"returnParameters":{"id":14647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14646,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14722,"src":"10493:4:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14645,"name":"bool","nodeType":"ElementaryTypeName","src":"10493:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10492:6:44"},"scope":15958,"src":"10426:874:44","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":14779,"nodeType":"Block","src":"11676:456:44","statements":[{"assignments":[14735],"declarations":[{"constant":false,"id":14735,"mutability":"mutable","name":"$","nameLocation":"11711:1:44","nodeType":"VariableDeclaration","scope":14779,"src":"11682:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14734,"nodeType":"UserDefinedTypeName","pathNode":{"id":14733,"name":"GrantsManagerStorage","nameLocations":["11682:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"11682:20:44"},"referencedDeclaration":14016,"src":"11682:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14738,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14736,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"11715:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11715:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11682:59:44"},{"assignments":[14741],"declarations":[{"constant":false,"id":14741,"mutability":"mutable","name":"grant","nameLocation":"11768:5:44","nodeType":"VariableDeclaration","scope":14779,"src":"11747:26:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":14740,"nodeType":"UserDefinedTypeName","pathNode":{"id":14739,"name":"GrantProposal","nameLocations":["11747:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"11747:13:44"},"referencedDeclaration":65419,"src":"11747:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"id":14746,"initialValue":{"baseExpression":{"expression":{"id":14742,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14735,"src":"11776:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11778:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"11776:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14745,"indexExpression":{"id":14744,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14725,"src":"11784:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11776:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11747:48:44"},{"assignments":[14749],"declarations":[{"constant":false,"id":14749,"mutability":"mutable","name":"milestone","nameLocation":"11818:9:44","nodeType":"VariableDeclaration","scope":14779,"src":"11801:26:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone"},"typeName":{"id":14748,"nodeType":"UserDefinedTypeName","pathNode":{"id":14747,"name":"Milestone","nameLocations":["11801:9:44"],"nodeType":"IdentifierPath","referencedDeclaration":65401,"src":"11801:9:44"},"referencedDeclaration":65401,"src":"11801:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage_ptr","typeString":"struct IGrantsManager.Milestone"}},"visibility":"internal"}],"id":14754,"initialValue":{"baseExpression":{"expression":{"id":14750,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14741,"src":"11830:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":14751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11836:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"11830:16:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":14753,"indexExpression":{"id":14752,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14727,"src":"11847:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11830:32:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"nodeType":"VariableDeclarationStatement","src":"11801:61:44"},{"condition":{"expression":{"id":14755,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14749,"src":"11873:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":14756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11883:10:44","memberName":"isRejected","nodeType":"MemberAccess","referencedDeclaration":65398,"src":"11873:20:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14761,"nodeType":"IfStatement","src":"11869:71:44","trueBody":{"id":14760,"nodeType":"Block","src":"11895:45:44","statements":[{"expression":{"expression":{"id":14757,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"11910:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11925:8:44","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65388,"src":"11910:23:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"functionReturnParameters":14732,"id":14759,"nodeType":"Return","src":"11903:30:44"}]}},{"condition":{"expression":{"id":14762,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14749,"src":"11950:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":14763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11960:9:44","memberName":"isClaimed","nodeType":"MemberAccess","referencedDeclaration":65394,"src":"11950:19:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14768,"nodeType":"IfStatement","src":"11946:69:44","trueBody":{"id":14767,"nodeType":"Block","src":"11971:44:44","statements":[{"expression":{"expression":{"id":14764,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"11986:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12001:7:44","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":65387,"src":"11986:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"functionReturnParameters":14732,"id":14766,"nodeType":"Return","src":"11979:29:44"}]}},{"condition":{"expression":{"id":14769,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14749,"src":"12025:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":14770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12035:10:44","memberName":"isApproved","nodeType":"MemberAccess","referencedDeclaration":65396,"src":"12025:20:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14775,"nodeType":"IfStatement","src":"12021:71:44","trueBody":{"id":14774,"nodeType":"Block","src":"12047:45:44","statements":[{"expression":{"expression":{"id":14771,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"12062:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12077:8:44","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":65386,"src":"12062:23:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"functionReturnParameters":14732,"id":14773,"nodeType":"Return","src":"12055:30:44"}]}},{"expression":{"expression":{"id":14776,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"12105:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12120:7:44","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":65385,"src":"12105:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"functionReturnParameters":14732,"id":14778,"nodeType":"Return","src":"12098:29:44"}]},"documentation":{"id":14723,"nodeType":"StructuredDocumentation","src":"11304:239:44","text":" @notice Returns the state of a milestone\n @param proposalId The id of the proposal\n @param milestoneIndex The index of the milestone\n @return status The state of the milestone {see IGrantsManager:MilestoneState }"},"id":14780,"implemented":true,"kind":"function","modifiers":[],"name":"_getMilestoneState","nameLocation":"11555:18:44","nodeType":"FunctionDefinition","parameters":{"id":14728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14725,"mutability":"mutable","name":"proposalId","nameLocation":"11587:10:44","nodeType":"VariableDeclaration","scope":14780,"src":"11579:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14724,"name":"uint256","nodeType":"ElementaryTypeName","src":"11579:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14727,"mutability":"mutable","name":"milestoneIndex","nameLocation":"11611:14:44","nodeType":"VariableDeclaration","scope":14780,"src":"11603:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14726,"name":"uint256","nodeType":"ElementaryTypeName","src":"11603:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11573:56:44"},"returnParameters":{"id":14732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14731,"mutability":"mutable","name":"status","nameLocation":"11668:6:44","nodeType":"VariableDeclaration","scope":14780,"src":"11653:21:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":14730,"nodeType":"UserDefinedTypeName","pathNode":{"id":14729,"name":"MilestoneState","nameLocations":["11653:14:44"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"11653:14:44"},"referencedDeclaration":65389,"src":"11653:14:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"src":"11652:23:44"},"scope":15958,"src":"11546:586:44","stateMutability":"view","virtual":false,"visibility":"internal"},{"baseFunctions":[65464],"body":{"id":14802,"nodeType":"Block","src":"12391:113:44","statements":[{"assignments":[14792],"declarations":[{"constant":false,"id":14792,"mutability":"mutable","name":"$","nameLocation":"12426:1:44","nodeType":"VariableDeclaration","scope":14802,"src":"12397:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14791,"nodeType":"UserDefinedTypeName","pathNode":{"id":14790,"name":"GrantsManagerStorage","nameLocations":["12397:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"12397:20:44"},"referencedDeclaration":14016,"src":"12397:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14795,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14793,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"12430:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12430:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12397:59:44"},{"expression":{"expression":{"baseExpression":{"expression":{"id":14796,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14792,"src":"12469:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12471:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"12469:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14799,"indexExpression":{"id":14798,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14783,"src":"12477:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12469:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":14800,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12489:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"12469:30:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"functionReturnParameters":14789,"id":14801,"nodeType":"Return","src":"12462:37:44"}]},"documentation":{"id":14781,"nodeType":"StructuredDocumentation","src":"12136:166:44","text":" @notice Returns the milestones for a proposal.\n @param proposalId The id of the proposal\n @return GrantProposal The milestones for the proposal"},"functionSelector":"42c549c0","id":14803,"implemented":true,"kind":"function","modifiers":[],"name":"getMilestones","nameLocation":"12314:13:44","nodeType":"FunctionDefinition","parameters":{"id":14784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14783,"mutability":"mutable","name":"proposalId","nameLocation":"12336:10:44","nodeType":"VariableDeclaration","scope":14803,"src":"12328:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14782,"name":"uint256","nodeType":"ElementaryTypeName","src":"12328:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12327:20:44"},"returnParameters":{"id":14789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14788,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14803,"src":"12371:18:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone[]"},"typeName":{"baseType":{"id":14786,"nodeType":"UserDefinedTypeName","pathNode":{"id":14785,"name":"Milestone","nameLocations":["12371:9:44"],"nodeType":"IdentifierPath","referencedDeclaration":65401,"src":"12371:9:44"},"referencedDeclaration":65401,"src":"12371:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage_ptr","typeString":"struct IGrantsManager.Milestone"}},"id":14787,"nodeType":"ArrayTypeName","src":"12371:11:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage_ptr","typeString":"struct IGrantsManager.Milestone[]"}},"visibility":"internal"}],"src":"12370:20:44"},"scope":15958,"src":"12305:199:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65454],"body":{"id":14823,"nodeType":"Block","src":"12776:102:44","statements":[{"assignments":[14814],"declarations":[{"constant":false,"id":14814,"mutability":"mutable","name":"$","nameLocation":"12811:1:44","nodeType":"VariableDeclaration","scope":14823,"src":"12782:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14813,"nodeType":"UserDefinedTypeName","pathNode":{"id":14812,"name":"GrantsManagerStorage","nameLocations":["12782:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"12782:20:44"},"referencedDeclaration":14016,"src":"12782:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14817,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14815,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"12815:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12815:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12782:59:44"},{"expression":{"baseExpression":{"expression":{"id":14818,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14814,"src":"12854:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14819,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12856:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"12854:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14821,"indexExpression":{"id":14820,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14806,"src":"12862:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12854:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"functionReturnParameters":14811,"id":14822,"nodeType":"Return","src":"12847:26:44"}]},"documentation":{"id":14804,"nodeType":"StructuredDocumentation","src":"12508:174:44","text":" @notice Returns the grant proposal for a proposal.\n @param proposalId The id of the proposal\n @return GrantProposal The grant proposal for the proposal"},"functionSelector":"24ad94cd","id":14824,"implemented":true,"kind":"function","modifiers":[],"name":"getGrantProposal","nameLocation":"12694:16:44","nodeType":"FunctionDefinition","parameters":{"id":14807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14806,"mutability":"mutable","name":"proposalId","nameLocation":"12719:10:44","nodeType":"VariableDeclaration","scope":14824,"src":"12711:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14805,"name":"uint256","nodeType":"ElementaryTypeName","src":"12711:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12710:20:44"},"returnParameters":{"id":14811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14824,"src":"12754:20:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":14809,"nodeType":"UserDefinedTypeName","pathNode":{"id":14808,"name":"GrantProposal","nameLocations":["12754:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"12754:13:44"},"referencedDeclaration":65419,"src":"12754:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"src":"12753:22:44"},"scope":15958,"src":"12685:193:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65472],"body":{"id":14900,"nodeType":"Block","src":"13163:658:44","statements":[{"assignments":[14837],"declarations":[{"constant":false,"id":14837,"mutability":"mutable","name":"$","nameLocation":"13198:1:44","nodeType":"VariableDeclaration","scope":14900,"src":"13169:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14836,"nodeType":"UserDefinedTypeName","pathNode":{"id":14835,"name":"GrantsManagerStorage","nameLocations":["13169:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"13169:20:44"},"referencedDeclaration":14016,"src":"13169:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14840,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14838,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"13202:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13202:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13169:59:44"},{"expression":{"arguments":[{"id":14842,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14827,"src":"13255:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14841,"name":"_checkProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15910,"src":"13235:19:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":14843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13235:31:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14844,"nodeType":"ExpressionStatement","src":"13235:31:44"},{"expression":{"arguments":[{"id":14846,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14827,"src":"13293:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14847,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14829,"src":"13305:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14845,"name":"_checkMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15937,"src":"13272:20:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"}},"id":14848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13272:48:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14849,"nodeType":"ExpressionStatement","src":"13272:48:44"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14850,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14829,"src":"13391:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":14851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13408:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13391:18:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14882,"nodeType":"IfStatement","src":"13387:302:44","trueBody":{"id":14881,"nodeType":"Block","src":"13411:278:44","statements":[{"assignments":[14855],"declarations":[{"constant":false,"id":14855,"mutability":"mutable","name":"previousState","nameLocation":"13434:13:44","nodeType":"VariableDeclaration","scope":14881,"src":"13419:28:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":14854,"nodeType":"UserDefinedTypeName","pathNode":{"id":14853,"name":"MilestoneState","nameLocations":["13419:14:44"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"13419:14:44"},"referencedDeclaration":65389,"src":"13419:14:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"id":14862,"initialValue":{"arguments":[{"id":14857,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14827,"src":"13469:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14858,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14829,"src":"13481:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13498:1:44","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13481:18:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14856,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14780,"src":"13450:18:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$65389_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManager.MilestoneState)"}},"id":14861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13450:50:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"13419:81:44"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":14866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14863,"name":"previousState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14855,"src":"13512:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":14864,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"13529:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13544:8:44","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":65386,"src":"13529:23:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"13512:40:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":14870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14867,"name":"previousState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14855,"src":"13556:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":14868,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"13573:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13588:7:44","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":65387,"src":"13573:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"13556:39:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13512:83:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14880,"nodeType":"IfStatement","src":"13508:175:44","trueBody":{"id":14879,"nodeType":"Block","src":"13597:86:44","statements":[{"errorCall":{"arguments":[{"id":14873,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14827,"src":"13643:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14874,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14829,"src":"13655:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13672:1:44","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13655:18:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14872,"name":"PreviousMilestoneNotApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65309,"src":"13614:28:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":14877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13614:60:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14878,"nodeType":"RevertStatement","src":"13607:67:44"}]}}]}},{"expression":{"id":14893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":14883,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14837,"src":"13695:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13697:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"13695:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14887,"indexExpression":{"id":14885,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14827,"src":"13703:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13695:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":14888,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13715:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"13695:30:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"id":14890,"indexExpression":{"id":14889,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14829,"src":"13726:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13695:46:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage","typeString":"struct IGrantsManager.Milestone storage ref"}},"id":14891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13742:10:44","memberName":"isApproved","nodeType":"MemberAccess","referencedDeclaration":65396,"src":"13695:57:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":14892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13755:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13695:64:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14894,"nodeType":"ExpressionStatement","src":"13695:64:44"},{"eventCall":{"arguments":[{"id":14896,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14827,"src":"13789:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14897,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14829,"src":"13801:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14895,"name":"MilestoneValidated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65206,"src":"13770:18:44","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":14898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13770:46:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14899,"nodeType":"EmitStatement","src":"13765:51:44"}]},"documentation":{"id":14825,"nodeType":"StructuredDocumentation","src":"12882:143:44","text":" @notice Approves a milestone\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"functionSelector":"767b1602","id":14901,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":14832,"name":"GRANTS_APPROVER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13988,"src":"13141:20:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":14833,"kind":"modifierInvocation","modifierName":{"id":14831,"name":"onlyRoleOrGovernance","nameLocations":["13120:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14214,"src":"13120:20:44"},"nodeType":"ModifierInvocation","src":"13120:42:44"}],"name":"approveMilestones","nameLocation":"13037:17:44","nodeType":"FunctionDefinition","parameters":{"id":14830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14827,"mutability":"mutable","name":"proposalId","nameLocation":"13068:10:44","nodeType":"VariableDeclaration","scope":14901,"src":"13060:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14826,"name":"uint256","nodeType":"ElementaryTypeName","src":"13060:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14829,"mutability":"mutable","name":"milestoneIndex","nameLocation":"13092:14:44","nodeType":"VariableDeclaration","scope":14901,"src":"13084:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14828,"name":"uint256","nodeType":"ElementaryTypeName","src":"13084:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13054:56:44"},"returnParameters":{"id":14834,"nodeType":"ParameterList","parameters":[],"src":"13163:0:44"},"scope":15958,"src":"13028:793:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65482],"body":{"id":14991,"nodeType":"Block","src":"14213:726:44","statements":[{"assignments":[14916],"declarations":[{"constant":false,"id":14916,"mutability":"mutable","name":"$","nameLocation":"14248:1:44","nodeType":"VariableDeclaration","scope":14991,"src":"14219:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":14915,"nodeType":"UserDefinedTypeName","pathNode":{"id":14914,"name":"GrantsManagerStorage","nameLocations":["14219:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"14219:20:44"},"referencedDeclaration":14016,"src":"14219:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":14919,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":14917,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"14252:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":14918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14252:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14219:59:44"},{"expression":{"arguments":[{"id":14921,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14904,"src":"14305:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14920,"name":"_checkProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15910,"src":"14285:19:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":14922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14285:31:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14923,"nodeType":"ExpressionStatement","src":"14285:31:44"},{"expression":{"arguments":[{"id":14925,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14904,"src":"14343:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14926,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14906,"src":"14355:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14924,"name":"_checkMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15937,"src":"14322:20:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"}},"id":14927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14322:48:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14928,"nodeType":"ExpressionStatement","src":"14322:48:44"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14929,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14906,"src":"14441:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":14930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14458:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14441:18:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14961,"nodeType":"IfStatement","src":"14437:302:44","trueBody":{"id":14960,"nodeType":"Block","src":"14461:278:44","statements":[{"assignments":[14934],"declarations":[{"constant":false,"id":14934,"mutability":"mutable","name":"previousState","nameLocation":"14484:13:44","nodeType":"VariableDeclaration","scope":14960,"src":"14469:28:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":14933,"nodeType":"UserDefinedTypeName","pathNode":{"id":14932,"name":"MilestoneState","nameLocations":["14469:14:44"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"14469:14:44"},"referencedDeclaration":65389,"src":"14469:14:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"id":14941,"initialValue":{"arguments":[{"id":14936,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14904,"src":"14519:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14937,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14906,"src":"14531:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14548:1:44","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14531:18:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14935,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14780,"src":"14500:18:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$65389_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManager.MilestoneState)"}},"id":14940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14500:50:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"14469:81:44"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":14945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14942,"name":"previousState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14934,"src":"14562:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":14943,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"14579:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14594:8:44","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":65386,"src":"14579:23:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"14562:40:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":14949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14946,"name":"previousState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14934,"src":"14606:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":14947,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"14623:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":14948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14638:7:44","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":65387,"src":"14623:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"14606:39:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14562:83:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14959,"nodeType":"IfStatement","src":"14558:175:44","trueBody":{"id":14958,"nodeType":"Block","src":"14647:86:44","statements":[{"errorCall":{"arguments":[{"id":14952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14904,"src":"14693:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14953,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14906,"src":"14705:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":14954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14722:1:44","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14705:18:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14951,"name":"PreviousMilestoneNotApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65309,"src":"14664:28:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":14956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14664:60:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14957,"nodeType":"RevertStatement","src":"14657:67:44"}]}}]}},{"expression":{"id":14972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":14962,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14916,"src":"14745:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14747:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"14745:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14966,"indexExpression":{"id":14964,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14904,"src":"14753:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14745:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":14967,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14765:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"14745:30:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"id":14969,"indexExpression":{"id":14968,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14906,"src":"14776:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14745:46:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage","typeString":"struct IGrantsManager.Milestone storage ref"}},"id":14970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14792:10:44","memberName":"isApproved","nodeType":"MemberAccess","referencedDeclaration":65396,"src":"14745:57:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":14971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14805:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14745:64:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14973,"nodeType":"ExpressionStatement","src":"14745:64:44"},{"expression":{"id":14984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":14974,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14916,"src":"14815:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":14977,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14817:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"14815:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":14978,"indexExpression":{"id":14976,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14904,"src":"14823:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14815:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":14979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14835:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"14815:30:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"id":14981,"indexExpression":{"id":14980,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14906,"src":"14846:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14815:46:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage","typeString":"struct IGrantsManager.Milestone storage ref"}},"id":14982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14862:6:44","memberName":"reason","nodeType":"MemberAccess","referencedDeclaration":65400,"src":"14815:53:44","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14983,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14908,"src":"14871:6:44","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14815:62:44","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":14985,"nodeType":"ExpressionStatement","src":"14815:62:44"},{"eventCall":{"arguments":[{"id":14987,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14904,"src":"14907:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14988,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14906,"src":"14919:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14986,"name":"MilestoneValidated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65206,"src":"14888:18:44","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":14989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14888:46:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14990,"nodeType":"EmitStatement","src":"14883:51:44"}]},"documentation":{"id":14902,"nodeType":"StructuredDocumentation","src":"13825:215:44","text":" @notice Approves a milestone with a reason\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @param reason The reason for approving the milestone"},"functionSelector":"b3396778","id":14992,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":14911,"name":"GRANTS_APPROVER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13988,"src":"14191:20:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":14912,"kind":"modifierInvocation","modifierName":{"id":14910,"name":"onlyRoleOrGovernance","nameLocations":["14170:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14214,"src":"14170:20:44"},"nodeType":"ModifierInvocation","src":"14170:42:44"}],"name":"approveMilestoneWithReason","nameLocation":"14052:26:44","nodeType":"FunctionDefinition","parameters":{"id":14909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14904,"mutability":"mutable","name":"proposalId","nameLocation":"14092:10:44","nodeType":"VariableDeclaration","scope":14992,"src":"14084:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14903,"name":"uint256","nodeType":"ElementaryTypeName","src":"14084:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14906,"mutability":"mutable","name":"milestoneIndex","nameLocation":"14116:14:44","nodeType":"VariableDeclaration","scope":14992,"src":"14108:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14905,"name":"uint256","nodeType":"ElementaryTypeName","src":"14108:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14908,"mutability":"mutable","name":"reason","nameLocation":"14150:6:44","nodeType":"VariableDeclaration","scope":14992,"src":"14136:20:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14907,"name":"string","nodeType":"ElementaryTypeName","src":"14136:6:44","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14078:82:44"},"returnParameters":{"id":14913,"nodeType":"ParameterList","parameters":[],"src":"14213:0:44"},"scope":15958,"src":"14043:896:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65488],"body":{"id":15013,"nodeType":"Block","src":"15192:123:44","statements":[{"assignments":[15003],"declarations":[{"constant":false,"id":15003,"mutability":"mutable","name":"$","nameLocation":"15227:1:44","nodeType":"VariableDeclaration","scope":15013,"src":"15198:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15002,"nodeType":"UserDefinedTypeName","pathNode":{"id":15001,"name":"GrantsManagerStorage","nameLocations":["15198:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"15198:20:44"},"referencedDeclaration":14016,"src":"15198:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15006,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15004,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"15231:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15231:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15198:59:44"},{"expression":{"id":15011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":15007,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15003,"src":"15263:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15265:21:44","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":14015,"src":"15263:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":15010,"name":"minimumMilestoneCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14995,"src":"15289:21:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15263:47:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15012,"nodeType":"ExpressionStatement","src":"15263:47:44"}]},"documentation":{"id":14993,"nodeType":"StructuredDocumentation","src":"14943:143:44","text":" @notice Sets the minimum number of milestones for a grant proposal\n @param minimumMilestoneCount The minimum milestone count"},"functionSelector":"b2a2eef9","id":15014,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":14998,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"15172:18:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":14999,"kind":"modifierInvocation","modifierName":{"id":14997,"name":"onlyRole","nameLocations":["15163:8:44"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"15163:8:44"},"nodeType":"ModifierInvocation","src":"15163:28:44"}],"name":"setMinimumMilestoneCount","nameLocation":"15098:24:44","nodeType":"FunctionDefinition","parameters":{"id":14996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14995,"mutability":"mutable","name":"minimumMilestoneCount","nameLocation":"15131:21:44","nodeType":"VariableDeclaration","scope":15014,"src":"15123:29:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14994,"name":"uint256","nodeType":"ElementaryTypeName","src":"15123:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15122:31:44"},"returnParameters":{"id":15000,"nodeType":"ParameterList","parameters":[],"src":"15192:0:44"},"scope":15958,"src":"15089:226:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65494],"body":{"id":15029,"nodeType":"Block","src":"15514:106:44","statements":[{"assignments":[15022],"declarations":[{"constant":false,"id":15022,"mutability":"mutable","name":"$","nameLocation":"15549:1:44","nodeType":"VariableDeclaration","scope":15029,"src":"15520:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15021,"nodeType":"UserDefinedTypeName","pathNode":{"id":15020,"name":"GrantsManagerStorage","nameLocations":["15520:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"15520:20:44"},"referencedDeclaration":14016,"src":"15520:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15025,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15023,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"15553:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15553:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15520:59:44"},{"expression":{"expression":{"id":15026,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15022,"src":"15592:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15594:21:44","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":14015,"src":"15592:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15019,"id":15028,"nodeType":"Return","src":"15585:30:44"}]},"documentation":{"id":15015,"nodeType":"StructuredDocumentation","src":"15319:124:44","text":" @notice Returns the minimum milestone count for a proposal.\n @return uint256 The minimum milestone count."},"functionSelector":"01294764","id":15030,"implemented":true,"kind":"function","modifiers":[],"name":"getMinimumMilestoneCount","nameLocation":"15455:24:44","nodeType":"FunctionDefinition","parameters":{"id":15016,"nodeType":"ParameterList","parameters":[],"src":"15479:2:44"},"returnParameters":{"id":15019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15030,"src":"15505:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15017,"name":"uint256","nodeType":"ElementaryTypeName","src":"15505:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15504:9:44"},"scope":15958,"src":"15446:174:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65505],"body":{"id":15046,"nodeType":"Block","src":"15944:64:44","statements":[{"expression":{"arguments":[{"id":15042,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15033,"src":"15976:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15043,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15035,"src":"15988:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15041,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14780,"src":"15957:18:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$65389_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManager.MilestoneState)"}},"id":15044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15957:46:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"functionReturnParameters":15040,"id":15045,"nodeType":"Return","src":"15950:53:44"}]},"documentation":{"id":15031,"nodeType":"StructuredDocumentation","src":"15624:210:44","text":" @notice Returns the state of a milestone\n @param proposalId The id of the proposal\n @param milestoneIndex The index of the milestone\n @return MilestoneState The state of the milestone"},"functionSelector":"e9af5d1b","id":15047,"implemented":true,"kind":"function","modifiers":[],"name":"milestoneState","nameLocation":"15846:14:44","nodeType":"FunctionDefinition","parameters":{"id":15036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15033,"mutability":"mutable","name":"proposalId","nameLocation":"15869:10:44","nodeType":"VariableDeclaration","scope":15047,"src":"15861:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15032,"name":"uint256","nodeType":"ElementaryTypeName","src":"15861:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15035,"mutability":"mutable","name":"milestoneIndex","nameLocation":"15889:14:44","nodeType":"VariableDeclaration","scope":15047,"src":"15881:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15034,"name":"uint256","nodeType":"ElementaryTypeName","src":"15881:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15860:44:44"},"returnParameters":{"id":15040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15039,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15047,"src":"15928:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":15038,"nodeType":"UserDefinedTypeName","pathNode":{"id":15037,"name":"MilestoneState","nameLocations":["15928:14:44"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"15928:14:44"},"referencedDeclaration":65389,"src":"15928:14:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"src":"15927:16:44"},"scope":15958,"src":"15837:171:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65544],"body":{"id":15133,"nodeType":"Block","src":"16201:739:44","statements":[{"assignments":[15058],"declarations":[{"constant":false,"id":15058,"mutability":"mutable","name":"$","nameLocation":"16236:1:44","nodeType":"VariableDeclaration","scope":15133,"src":"16207:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15057,"nodeType":"UserDefinedTypeName","pathNode":{"id":15056,"name":"GrantsManagerStorage","nameLocations":["16207:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"16207:20:44"},"referencedDeclaration":14016,"src":"16207:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15061,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15059,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"16240:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16240:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16207:59:44"},{"assignments":[15066],"declarations":[{"constant":false,"id":15066,"mutability":"mutable","name":"milestones","nameLocation":"16291:10:44","nodeType":"VariableDeclaration","scope":15133,"src":"16272:29:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone[]"},"typeName":{"baseType":{"id":15064,"nodeType":"UserDefinedTypeName","pathNode":{"id":15063,"name":"Milestone","nameLocations":["16272:9:44"],"nodeType":"IdentifierPath","referencedDeclaration":65401,"src":"16272:9:44"},"referencedDeclaration":65401,"src":"16272:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage_ptr","typeString":"struct IGrantsManager.Milestone"}},"id":15065,"nodeType":"ArrayTypeName","src":"16272:11:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage_ptr","typeString":"struct IGrantsManager.Milestone[]"}},"visibility":"internal"}],"id":15072,"initialValue":{"expression":{"baseExpression":{"expression":{"id":15067,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15058,"src":"16304:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16306:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"16304:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15070,"indexExpression":{"id":15069,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"16312:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16304:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":15071,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16324:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"16304:30:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16272:62:44"},{"condition":{"arguments":[{"id":15074,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"16362:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15073,"name":"isGrantCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14722,"src":"16345:16:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":15075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16345:28:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15081,"nodeType":"IfStatement","src":"16341:89:44","trueBody":{"id":15080,"nodeType":"Block","src":"16375:55:44","statements":[{"errorCall":{"arguments":[{"id":15077,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"16412:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15076,"name":"GrantAlreadyCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65366,"src":"16390:21:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":15078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16390:33:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15079,"nodeType":"RevertStatement","src":"16383:40:44"}]}},{"condition":{"arguments":[{"id":15083,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"16455:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15082,"name":"isGrantRejected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14553,"src":"16439:15:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":15084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16439:27:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15090,"nodeType":"IfStatement","src":"16435:87:44","trueBody":{"id":15089,"nodeType":"Block","src":"16468:54:44","statements":[{"errorCall":{"arguments":[{"id":15086,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"16504:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15085,"name":"GrantAlreadyRejected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65371,"src":"16483:20:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":15087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16483:32:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15088,"nodeType":"RevertStatement","src":"16476:39:44"}]}},{"body":{"id":15123,"nodeType":"Block","src":"16613:181:44","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":15108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":15103,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"16644:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15104,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15092,"src":"16656:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15102,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14780,"src":"16625:18:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$65389_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManager.MilestoneState)"}},"id":15105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16625:33:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":15106,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"16662:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":15107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16677:7:44","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":65385,"src":"16662:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"16625:59:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15122,"nodeType":"IfStatement","src":"16621:167:44","trueBody":{"id":15121,"nodeType":"Block","src":"16686:102:44","statements":[{"expression":{"id":15119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":15109,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15058,"src":"16728:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16730:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"16728:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15113,"indexExpression":{"id":15111,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"16736:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16728:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":15114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16748:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"16728:30:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"id":15116,"indexExpression":{"id":15115,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15092,"src":"16759:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16728:33:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage","typeString":"struct IGrantsManager.Milestone storage ref"}},"id":15117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16762:10:44","memberName":"isRejected","nodeType":"MemberAccess","referencedDeclaration":65398,"src":"16728:44:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":15118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16775:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16728:51:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15120,"nodeType":"ExpressionStatement","src":"16728:51:44"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15095,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15092,"src":"16585:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":15096,"name":"milestones","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15066,"src":"16589:10:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":15097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16600:6:44","memberName":"length","nodeType":"MemberAccess","src":"16589:17:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16585:21:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15124,"initializationExpression":{"assignments":[15092],"declarations":[{"constant":false,"id":15092,"mutability":"mutable","name":"i","nameLocation":"16578:1:44","nodeType":"VariableDeclaration","scope":15124,"src":"16570:9:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15091,"name":"uint256","nodeType":"ElementaryTypeName","src":"16570:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15094,"initialValue":{"hexValue":"30","id":15093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16582:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16570:13:44"},"loopExpression":{"expression":{"id":15100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16608:3:44","subExpression":{"id":15099,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15092,"src":"16608:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15101,"nodeType":"ExpressionStatement","src":"16608:3:44"},"nodeType":"ForStatement","src":"16565:229:44"},{"expression":{"arguments":[{"id":15126,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"16888:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15125,"name":"_transferRemainingAmountToTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15875,"src":"16853:34:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":15127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16853:46:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15128,"nodeType":"ExpressionStatement","src":"16853:46:44"},{"eventCall":{"arguments":[{"id":15130,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"16924:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15129,"name":"GrantCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65254,"src":"16910:13:44","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":15131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16910:25:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15132,"nodeType":"EmitStatement","src":"16905:30:44"}]},"documentation":{"id":15048,"nodeType":"StructuredDocumentation","src":"16012:88:44","text":" @notice Rejects a milestone\n @param proposalId The ID of the proposal"},"functionSelector":"f23e227b","id":15134,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":15053,"name":"GRANTS_REJECTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13993,"src":"16179:20:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":15054,"kind":"modifierInvocation","modifierName":{"id":15052,"name":"onlyRoleOrGovernance","nameLocations":["16158:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14214,"src":"16158:20:44"},"nodeType":"ModifierInvocation","src":"16158:42:44"}],"name":"rejectMilestones","nameLocation":"16112:16:44","nodeType":"FunctionDefinition","parameters":{"id":15051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15050,"mutability":"mutable","name":"proposalId","nameLocation":"16137:10:44","nodeType":"VariableDeclaration","scope":15134,"src":"16129:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15049,"name":"uint256","nodeType":"ElementaryTypeName","src":"16129:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16128:20:44"},"returnParameters":{"id":15055,"nodeType":"ParameterList","parameters":[],"src":"16201:0:44"},"scope":15958,"src":"16103:837:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65552],"body":{"id":15154,"nodeType":"Block","src":"17196:115:44","statements":[{"assignments":[15144],"declarations":[{"constant":false,"id":15144,"mutability":"mutable","name":"$","nameLocation":"17231:1:44","nodeType":"VariableDeclaration","scope":15154,"src":"17202:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15143,"nodeType":"UserDefinedTypeName","pathNode":{"id":15142,"name":"GrantsManagerStorage","nameLocations":["17202:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"17202:20:44"},"referencedDeclaration":14016,"src":"17202:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15147,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15145,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"17235:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17235:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17202:59:44"},{"expression":{"expression":{"baseExpression":{"expression":{"id":15148,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15144,"src":"17274:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17276:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"17274:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15151,"indexExpression":{"id":15150,"name":"milestoneId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15137,"src":"17282:11:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17274:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":15152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17295:11:44","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":65406,"src":"17274:32:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15141,"id":15153,"nodeType":"Return","src":"17267:39:44"}]},"documentation":{"id":15135,"nodeType":"StructuredDocumentation","src":"16944:159:44","text":" @notice Returns the total amount for milestones\n @param milestoneId The ID of the milestone\n @return The total amount for the milestones"},"functionSelector":"5ade3874","id":15155,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAmountForMilestones","nameLocation":"17115:27:44","nodeType":"FunctionDefinition","parameters":{"id":15138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15137,"mutability":"mutable","name":"milestoneId","nameLocation":"17151:11:44","nodeType":"VariableDeclaration","scope":15155,"src":"17143:19:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15136,"name":"uint256","nodeType":"ElementaryTypeName","src":"17143:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17142:21:44"},"returnParameters":{"id":15141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15140,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15155,"src":"17187:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15139,"name":"uint256","nodeType":"ElementaryTypeName","src":"17187:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17186:9:44"},"scope":15958,"src":"17106:205:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65560],"body":{"id":15319,"nodeType":"Block","src":"17675:1696:44","statements":[{"assignments":[15169],"declarations":[{"constant":false,"id":15169,"mutability":"mutable","name":"$","nameLocation":"17710:1:44","nodeType":"VariableDeclaration","scope":15319,"src":"17681:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15168,"nodeType":"UserDefinedTypeName","pathNode":{"id":15167,"name":"GrantsManagerStorage","nameLocations":["17681:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"17681:20:44"},"referencedDeclaration":14016,"src":"17681:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15172,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15170,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"17714:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17714:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17681:59:44"},{"assignments":[15175],"declarations":[{"constant":false,"id":15175,"mutability":"mutable","name":"m","nameLocation":"17769:1:44","nodeType":"VariableDeclaration","scope":15319,"src":"17747:23:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":15174,"nodeType":"UserDefinedTypeName","pathNode":{"id":15173,"name":"GrantProposal","nameLocations":["17747:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"17747:13:44"},"referencedDeclaration":65419,"src":"17747:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"id":15180,"initialValue":{"baseExpression":{"expression":{"id":15176,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15169,"src":"17773:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15177,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17775:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"17773:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15179,"indexExpression":{"id":15178,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15158,"src":"17781:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17773:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"17747:45:44"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15181,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15160,"src":"17802:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"expression":{"id":15182,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15175,"src":"17820:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":15183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17822:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"17820:12:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"id":15184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17833:6:44","memberName":"length","nodeType":"MemberAccess","src":"17820:19:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17802:37:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15192,"nodeType":"IfStatement","src":"17798:114:44","trueBody":{"id":15191,"nodeType":"Block","src":"17841:71:44","statements":[{"errorCall":{"arguments":[{"id":15187,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15158,"src":"17878:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15188,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15160,"src":"17890:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15186,"name":"InvalidMilestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65333,"src":"17856:21:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":15189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17856:49:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15190,"nodeType":"RevertStatement","src":"17849:56:44"}]}},{"assignments":[15194],"declarations":[{"constant":false,"id":15194,"mutability":"mutable","name":"grantsReceiver","nameLocation":"17926:14:44","nodeType":"VariableDeclaration","scope":15319,"src":"17918:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15193,"name":"address","nodeType":"ElementaryTypeName","src":"17918:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":15197,"initialValue":{"expression":{"id":15195,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15175,"src":"17943:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":15196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17945:14:44","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":65412,"src":"17943:16:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17918:41:44"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":15201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15198,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17969:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":15199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17973:6:44","memberName":"sender","nodeType":"MemberAccess","src":"17969:10:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":15200,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15194,"src":"17983:14:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17969:28:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15209,"nodeType":"IfStatement","src":"17965:111:44","trueBody":{"id":15208,"nodeType":"Block","src":"17999:77:44","statements":[{"errorCall":{"arguments":[{"expression":{"id":15203,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18042:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":15204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18046:6:44","memberName":"sender","nodeType":"MemberAccess","src":"18042:10:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15205,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15194,"src":"18054:14:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":15202,"name":"CallerIsNotTheGrantReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65343,"src":"18014:27:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":15206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18014:55:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15207,"nodeType":"RevertStatement","src":"18007:62:44"}]}},{"assignments":[15212],"declarations":[{"constant":false,"id":15212,"mutability":"mutable","name":"milestone","nameLocation":"18167:9:44","nodeType":"VariableDeclaration","scope":15319,"src":"18150:26:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone"},"typeName":{"id":15211,"nodeType":"UserDefinedTypeName","pathNode":{"id":15210,"name":"Milestone","nameLocations":["18150:9:44"],"nodeType":"IdentifierPath","referencedDeclaration":65401,"src":"18150:9:44"},"referencedDeclaration":65401,"src":"18150:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage_ptr","typeString":"struct IGrantsManager.Milestone"}},"visibility":"internal"}],"id":15217,"initialValue":{"baseExpression":{"expression":{"id":15213,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15175,"src":"18179:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":15214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18181:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"18179:12:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"id":15216,"indexExpression":{"id":15215,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15160,"src":"18192:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18179:28:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage","typeString":"struct IGrantsManager.Milestone storage ref"}},"nodeType":"VariableDeclarationStatement","src":"18150:57:44"},{"assignments":[15220],"declarations":[{"constant":false,"id":15220,"mutability":"mutable","name":"_milestoneState","nameLocation":"18266:15:44","nodeType":"VariableDeclaration","scope":15319,"src":"18251:30:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":15219,"nodeType":"UserDefinedTypeName","pathNode":{"id":15218,"name":"MilestoneState","nameLocations":["18251:14:44"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"18251:14:44"},"referencedDeclaration":65389,"src":"18251:14:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"id":15225,"initialValue":{"arguments":[{"id":15222,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15158,"src":"18303:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15223,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15160,"src":"18315:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15221,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14780,"src":"18284:18:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$65389_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManager.MilestoneState)"}},"id":15224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18284:46:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"18251:79:44"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":15234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":15229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15226,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15220,"src":"18340:15:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":15227,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"18359:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":15228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18374:8:44","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":65386,"src":"18359:23:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"18340:42:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":15233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15230,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15220,"src":"18386:15:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":15231,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"18405:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":15232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18420:7:44","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":65387,"src":"18405:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"18386:41:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18340:87:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15241,"nodeType":"IfStatement","src":"18336:170:44","trueBody":{"id":15240,"nodeType":"Block","src":"18429:77:44","statements":[{"errorCall":{"arguments":[{"id":15236,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15158,"src":"18472:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15237,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15160,"src":"18484:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15235,"name":"MilestoneNotApprovedByAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65326,"src":"18444:27:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":15238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18444:55:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15239,"nodeType":"RevertStatement","src":"18437:62:44"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":15245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15242,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15220,"src":"18660:15:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":15243,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"18679:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":15244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18694:7:44","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":65387,"src":"18679:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"18660:41:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15252,"nodeType":"IfStatement","src":"18656:120:44","trueBody":{"id":15251,"nodeType":"Block","src":"18703:73:44","statements":[{"errorCall":{"arguments":[{"id":15247,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15158,"src":"18742:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15248,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15160,"src":"18754:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15246,"name":"MilestoneAlreadyClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65316,"src":"18718:23:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":15249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18718:51:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15250,"nodeType":"RevertStatement","src":"18711:58:44"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":15258,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18860:4:44","typeDescriptions":{"typeIdentifier":"t_contract$_GrantsManager_$15958","typeString":"contract GrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GrantsManager_$15958","typeString":"contract GrantsManager"}],"id":15257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18852:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15256,"name":"address","nodeType":"ElementaryTypeName","src":"18852:7:44","typeDescriptions":{}}},"id":15259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18852:13:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":15253,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15169,"src":"18835:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18837:4:44","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":14013,"src":"18835:6:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":15255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18842:9:44","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"18835:16:44","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":15260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18835:31:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":15261,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15212,"src":"18869:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":15262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18879:6:44","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"18869:16:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18835:50:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15278,"nodeType":"IfStatement","src":"18831:146:44","trueBody":{"id":15277,"nodeType":"Block","src":"18887:90:44","statements":[{"errorCall":{"arguments":[{"arguments":[{"arguments":[{"id":15270,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18945:4:44","typeDescriptions":{"typeIdentifier":"t_contract$_GrantsManager_$15958","typeString":"contract GrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GrantsManager_$15958","typeString":"contract GrantsManager"}],"id":15269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18937:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15268,"name":"address","nodeType":"ElementaryTypeName","src":"18937:7:44","typeDescriptions":{}}},"id":15271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18937:13:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":15265,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15169,"src":"18920:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18922:4:44","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":14013,"src":"18920:6:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":15267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18927:9:44","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"18920:16:44","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":15272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18920:31:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":15273,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15212,"src":"18953:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":15274,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18963:6:44","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"18953:16:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15264,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65353,"src":"18902:17:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":15275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18902:68:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15276,"nodeType":"RevertStatement","src":"18895:75:44"}]}},{"assignments":[15280],"declarations":[{"constant":false,"id":15280,"mutability":"mutable","name":"success","nameLocation":"19035:7:44","nodeType":"VariableDeclaration","scope":15319,"src":"19030:12:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15279,"name":"bool","nodeType":"ElementaryTypeName","src":"19030:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":15288,"initialValue":{"arguments":[{"id":15284,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15194,"src":"19061:14:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":15285,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15212,"src":"19077:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":15286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19087:6:44","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"19077:16:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":15281,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15169,"src":"19045:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19047:4:44","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":14013,"src":"19045:6:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":15283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19052:8:44","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":62873,"src":"19045:15:44","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":15287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19045:49:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"19030:64:44"},{"condition":{"id":15290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19104:8:44","subExpression":{"id":15289,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15280,"src":"19105:7:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15295,"nodeType":"IfStatement","src":"19100:52:44","trueBody":{"id":15294,"nodeType":"Block","src":"19114:38:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":15291,"name":"TransferFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65346,"src":"19129:14:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":15292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19129:16:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15293,"nodeType":"RevertStatement","src":"19122:23:44"}]}},{"expression":{"id":15303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":15296,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15175,"src":"19207:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":15299,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19209:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"19207:12:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage","typeString":"struct IGrantsManager.Milestone storage ref[] storage ref"}},"id":15300,"indexExpression":{"id":15298,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15160,"src":"19220:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19207:28:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage","typeString":"struct IGrantsManager.Milestone storage ref"}},"id":15301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19236:9:44","memberName":"isClaimed","nodeType":"MemberAccess","referencedDeclaration":65394,"src":"19207:38:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":15302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19248:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19207:45:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15304,"nodeType":"ExpressionStatement","src":"19207:45:44"},{"expression":{"id":15310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":15305,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15175,"src":"19258:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":15307,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19260:13:44","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":65408,"src":"19258:15:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"id":15308,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15212,"src":"19277:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":15309,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19287:6:44","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"19277:16:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19258:35:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15311,"nodeType":"ExpressionStatement","src":"19258:35:44"},{"eventCall":{"arguments":[{"id":15313,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15158,"src":"19321:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15314,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15160,"src":"19333:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":15315,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15212,"src":"19349:9:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":15316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19359:6:44","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"19349:16:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15312,"name":"MilestoneClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65215,"src":"19304:16:44","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":15317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19304:62:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15318,"nodeType":"EmitStatement","src":"19299:67:44"}]},"documentation":{"id":15156,"nodeType":"StructuredDocumentation","src":"17392:176:44","text":" @notice Claims funds for a validated milestone\n @param proposalId The ID of the grant proposal\n @param milestoneIndex The index of the milestone to claim"},"functionSelector":"c266aef7","id":15320,"implemented":true,"kind":"function","modifiers":[{"id":15163,"kind":"modifierInvocation","modifierName":{"id":15162,"name":"nonReentrant","nameLocations":["17648:12:44"],"nodeType":"IdentifierPath","referencedDeclaration":4232,"src":"17648:12:44"},"nodeType":"ModifierInvocation","src":"17648:12:44"},{"id":15165,"kind":"modifierInvocation","modifierName":{"id":15164,"name":"whenNotPaused","nameLocations":["17661:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"17661:13:44"},"nodeType":"ModifierInvocation","src":"17661:13:44"}],"name":"claimMilestone","nameLocation":"17580:14:44","nodeType":"FunctionDefinition","parameters":{"id":15161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15158,"mutability":"mutable","name":"proposalId","nameLocation":"17603:10:44","nodeType":"VariableDeclaration","scope":15320,"src":"17595:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15157,"name":"uint256","nodeType":"ElementaryTypeName","src":"17595:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15160,"mutability":"mutable","name":"milestoneIndex","nameLocation":"17623:14:44","nodeType":"VariableDeclaration","scope":15320,"src":"17615:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15159,"name":"uint256","nodeType":"ElementaryTypeName","src":"17615:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17594:44:44"},"returnParameters":{"id":15166,"nodeType":"ParameterList","parameters":[],"src":"17675:0:44"},"scope":15958,"src":"17571:1800:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65570],"body":{"id":15338,"nodeType":"Block","src":"19700:91:44","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":15336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":15331,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15323,"src":"19732:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15332,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15325,"src":"19744:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15330,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14780,"src":"19713:18:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$65389_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManager.MilestoneState)"}},"id":15333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19713:46:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":15334,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"19763:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":15335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19778:8:44","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":65386,"src":"19763:23:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"19713:73:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":15329,"id":15337,"nodeType":"Return","src":"19706:80:44"}]},"documentation":{"id":15321,"nodeType":"StructuredDocumentation","src":"19375:228:44","text":" @notice Returns if a milestone is claimable\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @return bool True if the milestone is claimable, false otherwise"},"functionSelector":"c1a45a6a","id":15339,"implemented":true,"kind":"function","modifiers":[],"name":"isClaimable","nameLocation":"19615:11:44","nodeType":"FunctionDefinition","parameters":{"id":15326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15323,"mutability":"mutable","name":"proposalId","nameLocation":"19635:10:44","nodeType":"VariableDeclaration","scope":15339,"src":"19627:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15322,"name":"uint256","nodeType":"ElementaryTypeName","src":"19627:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15325,"mutability":"mutable","name":"milestoneIndex","nameLocation":"19655:14:44","nodeType":"VariableDeclaration","scope":15339,"src":"19647:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15324,"name":"uint256","nodeType":"ElementaryTypeName","src":"19647:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19626:44:44"},"returnParameters":{"id":15329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15339,"src":"19694:4:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15327,"name":"bool","nodeType":"ElementaryTypeName","src":"19694:4:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19693:6:44"},"scope":15958,"src":"19606:185:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65514],"body":{"id":15396,"nodeType":"Block","src":"20050:448:44","statements":[{"assignments":[15350],"declarations":[{"constant":false,"id":15350,"mutability":"mutable","name":"$","nameLocation":"20085:1:44","nodeType":"VariableDeclaration","scope":15396,"src":"20056:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15349,"nodeType":"UserDefinedTypeName","pathNode":{"id":15348,"name":"GrantsManagerStorage","nameLocations":["20056:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"20056:20:44"},"referencedDeclaration":14016,"src":"20056:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15353,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15351,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"20089:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20089:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20056:59:44"},{"assignments":[15358],"declarations":[{"constant":false,"id":15358,"mutability":"mutable","name":"proposalState","nameLocation":"20149:13:44","nodeType":"VariableDeclaration","scope":15396,"src":"20121:41:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":15357,"nodeType":"UserDefinedTypeName","pathNode":{"id":15356,"name":"GovernorTypes.ProposalState","nameLocations":["20121:13:44","20135:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"20121:27:44"},"referencedDeclaration":61406,"src":"20121:27:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"id":15364,"initialValue":{"arguments":[{"id":15362,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15342,"src":"20182:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":15359,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15350,"src":"20165:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20167:8:44","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":14007,"src":"20165:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":15361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20176:5:44","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":63327,"src":"20165:16:44","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view external returns (enum GovernorTypes.ProposalState)"}},"id":15363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20165:28:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"20121:72:44"},{"condition":{"arguments":[{"id":15366,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15342,"src":"20220:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15365,"name":"isGrantRejected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14553,"src":"20204:15:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":15367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20204:27:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15372,"nodeType":"IfStatement","src":"20200:74:44","trueBody":{"id":15371,"nodeType":"Block","src":"20233:41:44","statements":[{"expression":{"expression":{"id":15368,"name":"GrantState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65383,"src":"20248:10:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GrantState_$65383_$","typeString":"type(enum IGrantsManager.GrantState)"}},"id":15369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20259:8:44","memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":65375,"src":"20248:19:44","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$65383","typeString":"enum IGrantsManager.GrantState"}},"functionReturnParameters":15347,"id":15370,"nodeType":"Return","src":"20241:26:44"}]}},{"condition":{"arguments":[{"id":15374,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15342,"src":"20305:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15373,"name":"isGrantInDevelopment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14640,"src":"20284:20:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":15375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20284:32:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15380,"nodeType":"IfStatement","src":"20280:84:44","trueBody":{"id":15379,"nodeType":"Block","src":"20318:46:44","statements":[{"expression":{"expression":{"id":15376,"name":"GrantState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65383,"src":"20333:10:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GrantState_$65383_$","typeString":"type(enum IGrantsManager.GrantState)"}},"id":15377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20344:13:44","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":65381,"src":"20333:24:44","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$65383","typeString":"enum IGrantsManager.GrantState"}},"functionReturnParameters":15347,"id":15378,"nodeType":"Return","src":"20326:31:44"}]}},{"condition":{"arguments":[{"id":15382,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15342,"src":"20391:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15381,"name":"isGrantCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14722,"src":"20374:16:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":15383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20374:28:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15388,"nodeType":"IfStatement","src":"20370:76:44","trueBody":{"id":15387,"nodeType":"Block","src":"20404:42:44","statements":[{"expression":{"expression":{"id":15384,"name":"GrantState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65383,"src":"20419:10:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GrantState_$65383_$","typeString":"type(enum IGrantsManager.GrantState)"}},"id":15385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20430:9:44","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":65382,"src":"20419:20:44","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$65383","typeString":"enum IGrantsManager.GrantState"}},"functionReturnParameters":15347,"id":15386,"nodeType":"Return","src":"20412:27:44"}]}},{"expression":{"arguments":[{"arguments":[{"id":15392,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15358,"src":"20478:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"id":15391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20470:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15390,"name":"uint256","nodeType":"ElementaryTypeName","src":"20470:7:44","typeDescriptions":{}}},"id":15393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20470:22:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15389,"name":"GrantState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65383,"src":"20459:10:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GrantState_$65383_$","typeString":"type(enum IGrantsManager.GrantState)"}},"id":15394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20459:34:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$65383","typeString":"enum IGrantsManager.GrantState"}},"functionReturnParameters":15347,"id":15395,"nodeType":"Return","src":"20452:41:44"}]},"documentation":{"id":15340,"nodeType":"StructuredDocumentation","src":"19795:177:44","text":" @notice Returns the state of a grant {see IGrantsManager:GrantState }\n @param proposalId The id of the proposal\n @return GrantState The state of the grant"},"functionSelector":"bfda4e7c","id":15397,"implemented":true,"kind":"function","modifiers":[],"name":"grantState","nameLocation":"19984:10:44","nodeType":"FunctionDefinition","parameters":{"id":15343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15342,"mutability":"mutable","name":"proposalId","nameLocation":"20003:10:44","nodeType":"VariableDeclaration","scope":15397,"src":"19995:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15341,"name":"uint256","nodeType":"ElementaryTypeName","src":"19995:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19994:20:44"},"returnParameters":{"id":15347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15346,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15397,"src":"20038:10:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$65383","typeString":"enum IGrantsManager.GrantState"},"typeName":{"id":15345,"nodeType":"UserDefinedTypeName","pathNode":{"id":15344,"name":"GrantState","nameLocations":["20038:10:44"],"nodeType":"IdentifierPath","referencedDeclaration":65383,"src":"20038:10:44"},"referencedDeclaration":65383,"src":"20038:10:44","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$65383","typeString":"enum IGrantsManager.GrantState"}},"visibility":"internal"}],"src":"20037:12:44"},"scope":15958,"src":"19975:523:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65576],"body":{"id":15420,"nodeType":"Block","src":"20779:113:44","statements":[{"assignments":[15408],"declarations":[{"constant":false,"id":15408,"mutability":"mutable","name":"$","nameLocation":"20814:1:44","nodeType":"VariableDeclaration","scope":15420,"src":"20785:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15407,"nodeType":"UserDefinedTypeName","pathNode":{"id":15406,"name":"GrantsManagerStorage","nameLocations":["20785:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"20785:20:44"},"referencedDeclaration":14016,"src":"20785:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15411,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15409,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"20818:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20818:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20785:59:44"},{"expression":{"id":15418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":15412,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15408,"src":"20850:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20852:8:44","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":14007,"src":"20850:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15416,"name":"_governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15400,"src":"20877:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15415,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"20863:13:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":15417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20863:24:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"20850:37:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":15419,"nodeType":"ExpressionStatement","src":"20850:37:44"}]},"documentation":{"id":15398,"nodeType":"StructuredDocumentation","src":"20582:108:44","text":" @notice Sets the governor contract\n @param _governor The address of the governor contract"},"functionSelector":"06c49822","id":15421,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":15403,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"20759:18:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":15404,"kind":"modifierInvocation","modifierName":{"id":15402,"name":"onlyRole","nameLocations":["20750:8:44"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"20750:8:44"},"nodeType":"ModifierInvocation","src":"20750:28:44"}],"name":"setGovernorContract","nameLocation":"20702:19:44","nodeType":"FunctionDefinition","parameters":{"id":15401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15400,"mutability":"mutable","name":"_governor","nameLocation":"20730:9:44","nodeType":"VariableDeclaration","scope":15421,"src":"20722:17:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15399,"name":"address","nodeType":"ElementaryTypeName","src":"20722:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20721:19:44"},"returnParameters":{"id":15405,"nodeType":"ParameterList","parameters":[],"src":"20779:0:44"},"scope":15958,"src":"20693:199:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65588],"body":{"id":15439,"nodeType":"Block","src":"21064:102:44","statements":[{"assignments":[15429],"declarations":[{"constant":false,"id":15429,"mutability":"mutable","name":"$","nameLocation":"21099:1:44","nodeType":"VariableDeclaration","scope":15439,"src":"21070:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15428,"nodeType":"UserDefinedTypeName","pathNode":{"id":15427,"name":"GrantsManagerStorage","nameLocations":["21070:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"21070:20:44"},"referencedDeclaration":14016,"src":"21070:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15432,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15430,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"21103:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21103:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21070:59:44"},{"expression":{"arguments":[{"expression":{"id":15435,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15429,"src":"21150:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21152:8:44","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":14007,"src":"21150:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":15434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21142:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15433,"name":"address","nodeType":"ElementaryTypeName","src":"21142:7:44","typeDescriptions":{}}},"id":15437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21142:19:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":15426,"id":15438,"nodeType":"Return","src":"21135:26:44"}]},"documentation":{"id":15422,"nodeType":"StructuredDocumentation","src":"20896:102:44","text":" @notice Returns the governor contract\n @return The address of the governor contract"},"functionSelector":"0019cce6","id":15440,"implemented":true,"kind":"function","modifiers":[],"name":"getGovernorContract","nameLocation":"21010:19:44","nodeType":"FunctionDefinition","parameters":{"id":15423,"nodeType":"ParameterList","parameters":[],"src":"21029:2:44"},"returnParameters":{"id":15426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15440,"src":"21055:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15424,"name":"address","nodeType":"ElementaryTypeName","src":"21055:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21054:9:44"},"scope":15958,"src":"21001:165:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65614],"body":{"id":15471,"nodeType":"Block","src":"21580:193:44","statements":[{"assignments":[15453],"declarations":[{"constant":false,"id":15453,"mutability":"mutable","name":"$","nameLocation":"21615:1:44","nodeType":"VariableDeclaration","scope":15471,"src":"21586:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15452,"nodeType":"UserDefinedTypeName","pathNode":{"id":15451,"name":"GrantsManagerStorage","nameLocations":["21586:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"21586:20:44"},"referencedDeclaration":14016,"src":"21586:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15456,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15454,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"21619:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21619:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21586:59:44"},{"expression":{"id":15464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":15457,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15453,"src":"21651:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21653:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"21651:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15461,"indexExpression":{"id":15459,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15443,"src":"21659:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21651:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":15462,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21671:14:44","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":65412,"src":"21651:34:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":15463,"name":"newGrantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15445,"src":"21688:17:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21651:54:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15465,"nodeType":"ExpressionStatement","src":"21651:54:44"},{"eventCall":{"arguments":[{"id":15467,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15443,"src":"21738:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15468,"name":"newGrantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15445,"src":"21750:17:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":15466,"name":"GrantsReceiverUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65236,"src":"21716:21:44","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":15469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21716:52:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15470,"nodeType":"EmitStatement","src":"21711:57:44"}]},"documentation":{"id":15441,"nodeType":"StructuredDocumentation","src":"21170:266:44","text":" @notice Updates the grants receiver address\n @param proposalId The ID of the proposal\n @param newGrantsReceiver The address of the grants receiver contract\n @dev Only the grants receiver or governance can update the grants receiver address"},"functionSelector":"e03d759b","id":15472,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":15448,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15443,"src":"21568:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15449,"kind":"modifierInvocation","modifierName":{"id":15447,"name":"onlyGrantsReceiverOrGovernance","nameLocations":["21537:30:44"],"nodeType":"IdentifierPath","referencedDeclaration":14269,"src":"21537:30:44"},"nodeType":"ModifierInvocation","src":"21537:42:44"}],"name":"updateGrantsReceiver","nameLocation":"21448:20:44","nodeType":"FunctionDefinition","parameters":{"id":15446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15443,"mutability":"mutable","name":"proposalId","nameLocation":"21482:10:44","nodeType":"VariableDeclaration","scope":15472,"src":"21474:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15442,"name":"uint256","nodeType":"ElementaryTypeName","src":"21474:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15445,"mutability":"mutable","name":"newGrantsReceiver","nameLocation":"21506:17:44","nodeType":"VariableDeclaration","scope":15472,"src":"21498:25:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15444,"name":"address","nodeType":"ElementaryTypeName","src":"21498:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21468:59:44"},"returnParameters":{"id":15450,"nodeType":"ParameterList","parameters":[],"src":"21580:0:44"},"scope":15958,"src":"21439:334:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65622],"body":{"id":15492,"nodeType":"Block","src":"22018:117:44","statements":[{"assignments":[15482],"declarations":[{"constant":false,"id":15482,"mutability":"mutable","name":"$","nameLocation":"22053:1:44","nodeType":"VariableDeclaration","scope":15492,"src":"22024:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15481,"nodeType":"UserDefinedTypeName","pathNode":{"id":15480,"name":"GrantsManagerStorage","nameLocations":["22024:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"22024:20:44"},"referencedDeclaration":14016,"src":"22024:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15485,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15483,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"22057:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22057:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22024:59:44"},{"expression":{"expression":{"baseExpression":{"expression":{"id":15486,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15482,"src":"22096:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22098:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"22096:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15489,"indexExpression":{"id":15488,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15475,"src":"22104:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22096:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":15490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22116:14:44","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":65412,"src":"22096:34:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":15479,"id":15491,"nodeType":"Return","src":"22089:41:44"}]},"documentation":{"id":15473,"nodeType":"StructuredDocumentation","src":"21777:152:44","text":" @notice Returns the grants receiver address\n @param proposalId The ID of the proposal\n @return The address of the grants receiver"},"functionSelector":"da104fac","id":15493,"implemented":true,"kind":"function","modifiers":[],"name":"getGrantsReceiverAddress","nameLocation":"21941:24:44","nodeType":"FunctionDefinition","parameters":{"id":15476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15475,"mutability":"mutable","name":"proposalId","nameLocation":"21974:10:44","nodeType":"VariableDeclaration","scope":15493,"src":"21966:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15474,"name":"uint256","nodeType":"ElementaryTypeName","src":"21966:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21965:20:44"},"returnParameters":{"id":15479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15478,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15493,"src":"22009:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15477,"name":"address","nodeType":"ElementaryTypeName","src":"22009:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22008:9:44"},"scope":15958,"src":"21932:203:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65582],"body":{"id":15516,"nodeType":"Block","src":"22336:109:44","statements":[{"assignments":[15504],"declarations":[{"constant":false,"id":15504,"mutability":"mutable","name":"$","nameLocation":"22371:1:44","nodeType":"VariableDeclaration","scope":15516,"src":"22342:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15503,"nodeType":"UserDefinedTypeName","pathNode":{"id":15502,"name":"GrantsManagerStorage","nameLocations":["22342:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"22342:20:44"},"referencedDeclaration":14016,"src":"22342:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15507,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15505,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"22375:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22375:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22342:59:44"},{"expression":{"id":15514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":15508,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15504,"src":"22407:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22409:8:44","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":14010,"src":"22407:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15512,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15496,"src":"22430:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15511,"name":"ITreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67241,"src":"22420:9:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITreasury_$67241_$","typeString":"type(contract ITreasury)"}},"id":15513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22420:20:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"src":"22407:33:44","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"id":15515,"nodeType":"ExpressionStatement","src":"22407:33:44"}]},"documentation":{"id":15494,"nodeType":"StructuredDocumentation","src":"22139:108:44","text":" @notice Sets the treasury contract\n @param _treasury The address of the treasury contract"},"functionSelector":"1ed65110","id":15517,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":15499,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"22316:18:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":15500,"kind":"modifierInvocation","modifierName":{"id":15498,"name":"onlyRole","nameLocations":["22307:8:44"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22307:8:44"},"nodeType":"ModifierInvocation","src":"22307:28:44"}],"name":"setTreasuryContract","nameLocation":"22259:19:44","nodeType":"FunctionDefinition","parameters":{"id":15497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15496,"mutability":"mutable","name":"_treasury","nameLocation":"22287:9:44","nodeType":"VariableDeclaration","scope":15517,"src":"22279:17:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15495,"name":"address","nodeType":"ElementaryTypeName","src":"22279:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22278:19:44"},"returnParameters":{"id":15501,"nodeType":"ParameterList","parameters":[],"src":"22336:0:44"},"scope":15958,"src":"22250:195:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65594],"body":{"id":15535,"nodeType":"Block","src":"22617:102:44","statements":[{"assignments":[15525],"declarations":[{"constant":false,"id":15525,"mutability":"mutable","name":"$","nameLocation":"22652:1:44","nodeType":"VariableDeclaration","scope":15535,"src":"22623:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15524,"nodeType":"UserDefinedTypeName","pathNode":{"id":15523,"name":"GrantsManagerStorage","nameLocations":["22623:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"22623:20:44"},"referencedDeclaration":14016,"src":"22623:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15528,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15526,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"22656:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22656:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22623:59:44"},{"expression":{"arguments":[{"expression":{"id":15531,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15525,"src":"22703:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22705:8:44","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":14010,"src":"22703:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}],"id":15530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22695:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15529,"name":"address","nodeType":"ElementaryTypeName","src":"22695:7:44","typeDescriptions":{}}},"id":15533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22695:19:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":15522,"id":15534,"nodeType":"Return","src":"22688:26:44"}]},"documentation":{"id":15518,"nodeType":"StructuredDocumentation","src":"22449:102:44","text":" @notice Returns the treasury contract\n @return The address of the treasury contract"},"functionSelector":"26c74fc3","id":15536,"implemented":true,"kind":"function","modifiers":[],"name":"getTreasuryContract","nameLocation":"22563:19:44","nodeType":"FunctionDefinition","parameters":{"id":15519,"nodeType":"ParameterList","parameters":[],"src":"22582:2:44"},"returnParameters":{"id":15522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15521,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15536,"src":"22608:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15520,"name":"address","nodeType":"ElementaryTypeName","src":"22608:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22607:9:44"},"scope":15958,"src":"22554:165:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65600],"body":{"id":15554,"nodeType":"Block","src":"22879:98:44","statements":[{"assignments":[15544],"declarations":[{"constant":false,"id":15544,"mutability":"mutable","name":"$","nameLocation":"22914:1:44","nodeType":"VariableDeclaration","scope":15554,"src":"22885:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15543,"nodeType":"UserDefinedTypeName","pathNode":{"id":15542,"name":"GrantsManagerStorage","nameLocations":["22885:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"22885:20:44"},"referencedDeclaration":14016,"src":"22885:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15547,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15545,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"22918:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22918:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22885:59:44"},{"expression":{"arguments":[{"expression":{"id":15550,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15544,"src":"22965:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22967:4:44","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":14013,"src":"22965:6:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}],"id":15549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22957:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15548,"name":"address","nodeType":"ElementaryTypeName","src":"22957:7:44","typeDescriptions":{}}},"id":15552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22957:15:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":15541,"id":15553,"nodeType":"Return","src":"22950:22:44"}]},"documentation":{"id":15537,"nodeType":"StructuredDocumentation","src":"22723:94:44","text":" @notice Returns the b3tr contract\n @return The address of the b3tr contract"},"functionSelector":"c4ec8f98","id":15555,"implemented":true,"kind":"function","modifiers":[],"name":"getB3trContract","nameLocation":"22829:15:44","nodeType":"FunctionDefinition","parameters":{"id":15538,"nodeType":"ParameterList","parameters":[],"src":"22844:2:44"},"returnParameters":{"id":15541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15540,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15555,"src":"22870:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15539,"name":"address","nodeType":"ElementaryTypeName","src":"22870:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22869:9:44"},"scope":15958,"src":"22820:157:44","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[65606],"body":{"id":15578,"nodeType":"Block","src":"23158:97:44","statements":[{"assignments":[15566],"declarations":[{"constant":false,"id":15566,"mutability":"mutable","name":"$","nameLocation":"23193:1:44","nodeType":"VariableDeclaration","scope":15578,"src":"23164:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15565,"nodeType":"UserDefinedTypeName","pathNode":{"id":15564,"name":"GrantsManagerStorage","nameLocations":["23164:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"23164:20:44"},"referencedDeclaration":14016,"src":"23164:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15569,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15567,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"23197:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23197:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"23164:59:44"},{"expression":{"id":15576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":15570,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15566,"src":"23229:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"23231:4:44","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":14013,"src":"23229:6:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15574,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15558,"src":"23244:5:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15573,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"23238:5:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":15575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23238:12:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"23229:21:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":15577,"nodeType":"ExpressionStatement","src":"23229:21:44"}]},"documentation":{"id":15556,"nodeType":"StructuredDocumentation","src":"22981:96:44","text":" @notice Sets the b3tr contract\n @param _b3tr The address of the b3tr contract"},"functionSelector":"54b90b7b","id":15579,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":15561,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"23138:18:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":15562,"kind":"modifierInvocation","modifierName":{"id":15560,"name":"onlyRole","nameLocations":["23129:8:44"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"23129:8:44"},"nodeType":"ModifierInvocation","src":"23129:28:44"}],"name":"setB3trContract","nameLocation":"23089:15:44","nodeType":"FunctionDefinition","parameters":{"id":15559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15558,"mutability":"mutable","name":"_b3tr","nameLocation":"23113:5:44","nodeType":"VariableDeclaration","scope":15579,"src":"23105:13:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15557,"name":"address","nodeType":"ElementaryTypeName","src":"23105:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23104:15:44"},"returnParameters":{"id":15563,"nodeType":"ParameterList","parameters":[],"src":"23158:0:44"},"scope":15958,"src":"23080:175:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":15589,"nodeType":"Block","src":"23474:19:44","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":15586,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"23480:6:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":15587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23480:8:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15588,"nodeType":"ExpressionStatement","src":"23480:8:44"}]},"documentation":{"id":15580,"nodeType":"StructuredDocumentation","src":"23259:154:44","text":" @notice Pauses all token transfers and minting functions\n @dev Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE"},"functionSelector":"8456cb59","id":15590,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":15583,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13998,"src":"23461:11:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":15584,"kind":"modifierInvocation","modifierName":{"id":15582,"name":"onlyRoleOrGovernance","nameLocations":["23440:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14214,"src":"23440:20:44"},"nodeType":"ModifierInvocation","src":"23440:33:44"}],"name":"pause","nameLocation":"23425:5:44","nodeType":"FunctionDefinition","parameters":{"id":15581,"nodeType":"ParameterList","parameters":[],"src":"23430:2:44"},"returnParameters":{"id":15585,"nodeType":"ParameterList","parameters":[],"src":"23474:0:44"},"scope":15958,"src":"23416:77:44","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":15600,"nodeType":"Block","src":"23725:21:44","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":15597,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"23731:8:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":15598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23731:10:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15599,"nodeType":"ExpressionStatement","src":"23731:10:44"}]},"documentation":{"id":15591,"nodeType":"StructuredDocumentation","src":"23497:165:44","text":" @notice Unpauses the contract to resume token transfers and minting\n @dev Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE"},"functionSelector":"3f4ba83a","id":15601,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":15594,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13998,"src":"23712:11:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":15595,"kind":"modifierInvocation","modifierName":{"id":15593,"name":"onlyRoleOrGovernance","nameLocations":["23691:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14214,"src":"23691:20:44"},"nodeType":"ModifierInvocation","src":"23691:33:44"}],"name":"unpause","nameLocation":"23674:7:44","nodeType":"FunctionDefinition","parameters":{"id":15592,"nodeType":"ParameterList","parameters":[],"src":"23681:2:44"},"returnParameters":{"id":15596,"nodeType":"ParameterList","parameters":[],"src":"23725:0:44"},"scope":15958,"src":"23665:81:44","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[65630],"body":{"id":15664,"nodeType":"Block","src":"24533:481:44","statements":[{"assignments":[15611],"declarations":[{"constant":false,"id":15611,"mutability":"mutable","name":"$","nameLocation":"24568:1:44","nodeType":"VariableDeclaration","scope":15664,"src":"24539:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15610,"nodeType":"UserDefinedTypeName","pathNode":{"id":15609,"name":"GrantsManagerStorage","nameLocations":["24539:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"24539:20:44"},"referencedDeclaration":14016,"src":"24539:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15614,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15612,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"24572:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24572:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24539:59:44"},{"assignments":[15617],"declarations":[{"constant":false,"id":15617,"mutability":"mutable","name":"grant","nameLocation":"24626:5:44","nodeType":"VariableDeclaration","scope":15664,"src":"24604:27:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":15616,"nodeType":"UserDefinedTypeName","pathNode":{"id":15615,"name":"GrantProposal","nameLocations":["24604:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"24604:13:44"},"referencedDeclaration":65419,"src":"24604:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"id":15622,"initialValue":{"baseExpression":{"expression":{"id":15618,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15611,"src":"24634:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24636:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"24634:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15621,"indexExpression":{"id":15620,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15604,"src":"24642:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24634:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24604:49:44"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":15647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":15640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":15633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":15627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15623,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24670:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":15624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24674:6:44","memberName":"sender","nodeType":"MemberAccess","src":"24670:10:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":15625,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15617,"src":"24684:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":15626,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24690:8:44","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":65410,"src":"24684:14:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24670:28:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":15632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15628,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24708:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":15629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24712:6:44","memberName":"sender","nodeType":"MemberAccess","src":"24708:10:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":15630,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15617,"src":"24722:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":15631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24728:14:44","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":65412,"src":"24722:20:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24708:34:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24670:72:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":15639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24752:42:44","subExpression":{"arguments":[{"id":15635,"name":"GRANTS_APPROVER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13988,"src":"24761:20:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":15636,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24783:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":15637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24787:6:44","memberName":"sender","nodeType":"MemberAccess","src":"24783:10:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":15634,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"24753:7:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":15638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24753:41:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24670:124:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":15646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24804:37:44","subExpression":{"arguments":[{"id":15642,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13978,"src":"24813:15:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":15643,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24830:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":15644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24834:6:44","memberName":"sender","nodeType":"MemberAccess","src":"24830:10:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":15641,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"24805:7:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":15645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24805:36:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24670:171:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15652,"nodeType":"IfStatement","src":"24659:226:44","trueBody":{"id":15651,"nodeType":"Block","src":"24848:37:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":15648,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65319,"src":"24863:13:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":15649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24863:15:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15650,"nodeType":"RevertStatement","src":"24856:22:44"}]}},{"expression":{"id":15657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":15653,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15617,"src":"24890:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal storage pointer"}},"id":15655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24896:11:44","memberName":"metadataURI","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"24890:17:44","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":15656,"name":"newMilestoneMetadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15606,"src":"24910:23:44","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"24890:43:44","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":15658,"nodeType":"ExpressionStatement","src":"24890:43:44"},{"eventCall":{"arguments":[{"id":15660,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15604,"src":"24973:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15661,"name":"newMilestoneMetadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15606,"src":"24985:23:44","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":15659,"name":"MilestoneMetadataURIUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65229,"src":"24945:27:44","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":15662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24945:64:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15663,"nodeType":"EmitStatement","src":"24940:69:44"}]},"documentation":{"id":15602,"nodeType":"StructuredDocumentation","src":"23816:610:44","text":" @notice Updates the metadata URI for a milestone\n @param proposalId The ID of the proposal\n @param newMilestoneMetadataURI The new IPFS hash containing the updated milestone descriptions\n @notice The JSON is {milestone1: {details: ..., duration: timestamp}, milestone2: {details: ..., duration: timestamp}}\n @dev In production the grants approver wallet acts as the proposer for nearly every grant, so\n      the receiving app cannot persist expenditure reports unless the receiver and the approver\n      role are also allow-listed. Governance retains override capability."},"functionSelector":"c42433b4","id":15665,"implemented":true,"kind":"function","modifiers":[],"name":"updateMilestoneMetadataURI","nameLocation":"24438:26:44","nodeType":"FunctionDefinition","parameters":{"id":15607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15604,"mutability":"mutable","name":"proposalId","nameLocation":"24473:10:44","nodeType":"VariableDeclaration","scope":15665,"src":"24465:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15603,"name":"uint256","nodeType":"ElementaryTypeName","src":"24465:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15606,"mutability":"mutable","name":"newMilestoneMetadataURI","nameLocation":"24499:23:44","nodeType":"VariableDeclaration","scope":15665,"src":"24485:37:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15605,"name":"string","nodeType":"ElementaryTypeName","src":"24485:6:44","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24464:59:44"},"returnParameters":{"id":15608,"nodeType":"ParameterList","parameters":[],"src":"24533:0:44"},"scope":15958,"src":"24429:585:44","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[65638],"body":{"id":15685,"nodeType":"Block","src":"25269:114:44","statements":[{"assignments":[15675],"declarations":[{"constant":false,"id":15675,"mutability":"mutable","name":"$","nameLocation":"25304:1:44","nodeType":"VariableDeclaration","scope":15685,"src":"25275:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15674,"nodeType":"UserDefinedTypeName","pathNode":{"id":15673,"name":"GrantsManagerStorage","nameLocations":["25275:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"25275:20:44"},"referencedDeclaration":14016,"src":"25275:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15678,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15676,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"25308:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25308:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"25275:59:44"},{"expression":{"expression":{"baseExpression":{"expression":{"id":15679,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15675,"src":"25347:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25349:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"25347:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15682,"indexExpression":{"id":15681,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15668,"src":"25355:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25347:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":15683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25367:11:44","memberName":"metadataURI","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"25347:31:44","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":15672,"id":15684,"nodeType":"Return","src":"25340:38:44"}]},"documentation":{"id":15666,"nodeType":"StructuredDocumentation","src":"25018:157:44","text":" @notice Returns the metadata URI for a milestone\n @param proposalId The ID of the proposal\n @return The metadata URI for the milestone"},"functionSelector":"cff28c70","id":15686,"implemented":true,"kind":"function","modifiers":[],"name":"getMilestoneMetadataURI","nameLocation":"25187:23:44","nodeType":"FunctionDefinition","parameters":{"id":15669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15668,"mutability":"mutable","name":"proposalId","nameLocation":"25219:10:44","nodeType":"VariableDeclaration","scope":15686,"src":"25211:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15667,"name":"uint256","nodeType":"ElementaryTypeName","src":"25211:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25210:20:44"},"returnParameters":{"id":15672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15671,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15686,"src":"25254:13:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15670,"name":"string","nodeType":"ElementaryTypeName","src":"25254:6:44","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25253:15:44"},"scope":15958,"src":"25178:205:44","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":15803,"nodeType":"Block","src":"25553:1052:44","statements":[{"assignments":[15695],"declarations":[{"constant":false,"id":15695,"mutability":"mutable","name":"$","nameLocation":"25588:1:44","nodeType":"VariableDeclaration","scope":15803,"src":"25559:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15694,"nodeType":"UserDefinedTypeName","pathNode":{"id":15693,"name":"GrantsManagerStorage","nameLocations":["25559:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"25559:20:44"},"referencedDeclaration":14016,"src":"25559:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15698,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15696,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"25592:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25592:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"25559:59:44"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":15706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15699,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25629:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":15700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25633:6:44","memberName":"sender","nodeType":"MemberAccess","src":"25629:10:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":15703,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15695,"src":"25651:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15704,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25653:8:44","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":14007,"src":"25651:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":15702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25643:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15701,"name":"address","nodeType":"ElementaryTypeName","src":"25643:7:44","typeDescriptions":{}}},"id":15705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25643:19:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25629:33:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15711,"nodeType":"IfStatement","src":"25625:76:44","trueBody":{"id":15710,"nodeType":"Block","src":"25664:37:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":15707,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65319,"src":"25679:13:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":15708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25679:15:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15709,"nodeType":"RevertStatement","src":"25672:22:44"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":15718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15712,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"25737:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15713,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25743:8:44","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":65410,"src":"25737:14:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":15716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25763:1:44","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":15715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25755:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15714,"name":"address","nodeType":"ElementaryTypeName","src":"25755:7:44","typeDescriptions":{}}},"id":15717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25755:10:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25737:28:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15723,"nodeType":"IfStatement","src":"25733:86:44","trueBody":{"id":15722,"nodeType":"Block","src":"25767:52:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":15719,"name":"MilestoneProposerZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65336,"src":"25782:28:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":15720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25782:30:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15721,"nodeType":"RevertStatement","src":"25775:37:44"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":15726,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"25884:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25890:11:44","memberName":"metadataURI","nodeType":"MemberAccess","referencedDeclaration":65418,"src":"25884:17:44","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":15725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25878:5:44","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":15724,"name":"bytes","nodeType":"ElementaryTypeName","src":"25878:5:44","typeDescriptions":{}}},"id":15728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25878:24:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":15729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25903:6:44","memberName":"length","nodeType":"MemberAccess","src":"25878:31:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":15730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25913:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25878:36:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15736,"nodeType":"IfStatement","src":"25874:98:44","trueBody":{"id":15735,"nodeType":"Block","src":"25916:56:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":15732,"name":"MilestoneDetailsMetadataURIEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65356,"src":"25931:32:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":15733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25931:34:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15734,"nodeType":"RevertStatement","src":"25924:41:44"}]}},{"body":{"id":15762,"nodeType":"Block","src":"26068:99:44","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":15749,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"26080:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26086:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"26080:16:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":15752,"indexExpression":{"id":15751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15738,"src":"26097:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26080:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone memory"}},"id":15753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26100:6:44","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":65392,"src":"26080:26:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":15754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26110:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26080:31:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15761,"nodeType":"IfStatement","src":"26076:85:44","trueBody":{"id":15760,"nodeType":"Block","src":"26113:48:44","statements":[{"errorCall":{"arguments":[{"id":15757,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15738,"src":"26150:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15756,"name":"MilestoneAmountZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65279,"src":"26130:19:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":15758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26130:22:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15759,"nodeType":"RevertStatement","src":"26123:29:44"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15741,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15738,"src":"26034:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":15742,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"26038:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26044:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"26038:16:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":15744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26055:6:44","memberName":"length","nodeType":"MemberAccess","src":"26038:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26034:27:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15763,"initializationExpression":{"assignments":[15738],"declarations":[{"constant":false,"id":15738,"mutability":"mutable","name":"i","nameLocation":"26027:1:44","nodeType":"VariableDeclaration","scope":15763,"src":"26019:9:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15737,"name":"uint256","nodeType":"ElementaryTypeName","src":"26019:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15740,"initialValue":{"hexValue":"30","id":15739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26031:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"26019:13:44"},"loopExpression":{"expression":{"id":15747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"26063:3:44","subExpression":{"id":15746,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15738,"src":"26063:1:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15748,"nodeType":"ExpressionStatement","src":"26063:3:44"},"nodeType":"ForStatement","src":"26014:153:44"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15764,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"26177:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26183:11:44","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":65406,"src":"26177:17:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":15766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26198:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26177:22:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15772,"nodeType":"IfStatement","src":"26173:76:44","trueBody":{"id":15771,"nodeType":"Block","src":"26201:48:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":15768,"name":"MilestoneTotalAmountZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65282,"src":"26216:24:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":15769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26216:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15770,"nodeType":"RevertStatement","src":"26209:33:44"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15773,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"26259:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15774,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26265:13:44","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":65408,"src":"26259:19:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":15775,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"26281:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26287:11:44","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":65406,"src":"26281:17:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26259:39:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15786,"nodeType":"IfStatement","src":"26255:147:44","trueBody":{"id":15785,"nodeType":"Block","src":"26300:102:44","statements":[{"errorCall":{"arguments":[{"expression":{"id":15779,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"26356:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26362:13:44","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":65408,"src":"26356:19:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":15781,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"26377:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15782,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26383:11:44","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":65406,"src":"26377:17:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15778,"name":"MilestoneClaimedAmountExceedsTotalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65289,"src":"26315:40:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":15783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26315:80:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15784,"nodeType":"RevertStatement","src":"26308:87:44"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":15787,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"26453:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15788,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26459:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"26453:16:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":15789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26470:6:44","memberName":"length","nodeType":"MemberAccess","src":"26453:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":15790,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15695,"src":"26479:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26481:21:44","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":14015,"src":"26479:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26453:49:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15802,"nodeType":"IfStatement","src":"26449:152:44","trueBody":{"id":15801,"nodeType":"Block","src":"26504:97:44","statements":[{"errorCall":{"arguments":[{"expression":{"expression":{"id":15794,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"26545:5:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal memory"}},"id":15795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26551:10:44","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":65416,"src":"26545:16:44","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone memory[] memory"}},"id":15796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26562:6:44","memberName":"length","nodeType":"MemberAccess","src":"26545:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":15797,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15695,"src":"26570:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26572:21:44","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":14015,"src":"26570:23:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15793,"name":"InvalidNumberOfMilestones","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65296,"src":"26519:25:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":15799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26519:75:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15800,"nodeType":"RevertStatement","src":"26512:82:44"}]}}]},"documentation":{"id":15687,"nodeType":"StructuredDocumentation","src":"25387:92:44","text":" @notice Validates the milestones\n @param grant The milestones to validate"},"id":15804,"implemented":true,"kind":"function","modifiers":[],"name":"_validateMilestones","nameLocation":"25491:19:44","nodeType":"FunctionDefinition","parameters":{"id":15691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15690,"mutability":"mutable","name":"grant","nameLocation":"25532:5:44","nodeType":"VariableDeclaration","scope":15804,"src":"25511:26:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":15689,"nodeType":"UserDefinedTypeName","pathNode":{"id":15688,"name":"GrantProposal","nameLocations":["25511:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"25511:13:44"},"referencedDeclaration":65419,"src":"25511:13:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"src":"25510:28:44"},"returnParameters":{"id":15692,"nodeType":"ParameterList","parameters":[],"src":"25553:0:44"},"scope":15958,"src":"25482:1123:44","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":15874,"nodeType":"Block","src":"26800:601:44","statements":[{"assignments":[15812],"declarations":[{"constant":false,"id":15812,"mutability":"mutable","name":"$","nameLocation":"26835:1:44","nodeType":"VariableDeclaration","scope":15874,"src":"26806:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15811,"nodeType":"UserDefinedTypeName","pathNode":{"id":15810,"name":"GrantsManagerStorage","nameLocations":["26806:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"26806:20:44"},"referencedDeclaration":14016,"src":"26806:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15815,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15813,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"26839:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26839:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"26806:59:44"},{"assignments":[15817],"declarations":[{"constant":false,"id":15817,"mutability":"mutable","name":"remainingAmount","nameLocation":"26879:15:44","nodeType":"VariableDeclaration","scope":15874,"src":"26871:23:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15816,"name":"uint256","nodeType":"ElementaryTypeName","src":"26871:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15829,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":15818,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15812,"src":"26897:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15819,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26899:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"26897:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15821,"indexExpression":{"id":15820,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15807,"src":"26905:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26897:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":15822,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26917:11:44","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":65406,"src":"26897:31:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"baseExpression":{"expression":{"id":15823,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15812,"src":"26931:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15824,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26933:5:44","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":14004,"src":"26931:7:44","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$65419_storage_$","typeString":"mapping(uint256 => struct IGrantsManager.GrantProposal storage ref)"}},"id":15826,"indexExpression":{"id":15825,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15807,"src":"26939:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26931:19:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage","typeString":"struct IGrantsManager.GrantProposal storage ref"}},"id":15827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26951:13:44","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":65408,"src":"26931:33:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26897:67:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26871:93:44"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15830,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15817,"src":"26974:15:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":15831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26992:1:44","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26974:19:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15868,"nodeType":"IfStatement","src":"26970:344:44","trueBody":{"id":15867,"nodeType":"Block","src":"26995:319:44","statements":[{"assignments":[15834],"declarations":[{"constant":false,"id":15834,"mutability":"mutable","name":"currentBalance","nameLocation":"27076:14:44","nodeType":"VariableDeclaration","scope":15867,"src":"27068:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15833,"name":"uint256","nodeType":"ElementaryTypeName","src":"27068:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15843,"initialValue":{"arguments":[{"arguments":[{"id":15840,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"27118:4:44","typeDescriptions":{"typeIdentifier":"t_contract$_GrantsManager_$15958","typeString":"contract GrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GrantsManager_$15958","typeString":"contract GrantsManager"}],"id":15839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27110:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15838,"name":"address","nodeType":"ElementaryTypeName","src":"27110:7:44","typeDescriptions":{}}},"id":15841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27110:13:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":15835,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15812,"src":"27093:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27095:4:44","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":14013,"src":"27093:6:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":15837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27100:9:44","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"27093:16:44","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":15842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27093:31:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27068:56:44"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15844,"name":"currentBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15834,"src":"27136:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":15845,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15817,"src":"27153:15:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27136:32:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15853,"nodeType":"IfStatement","src":"27132:114:44","trueBody":{"id":15852,"nodeType":"Block","src":"27170:76:44","statements":[{"errorCall":{"arguments":[{"id":15848,"name":"currentBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15834,"src":"27205:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15849,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15817,"src":"27221:15:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15847,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65353,"src":"27187:17:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":15850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27187:50:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15851,"nodeType":"RevertStatement","src":"27180:57:44"}]}},{"expression":{"arguments":[{"arguments":[{"expression":{"id":15861,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15812,"src":"27278:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27280:8:44","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":14010,"src":"27278:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}],"id":15860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27270:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15859,"name":"address","nodeType":"ElementaryTypeName","src":"27270:7:44","typeDescriptions":{}}},"id":15863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27270:19:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15864,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15817,"src":"27291:15:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":15854,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15812,"src":"27254:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15857,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27256:4:44","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":14013,"src":"27254:6:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":15858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27261:8:44","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":62873,"src":"27254:15:44","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":15865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27254:53:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15866,"nodeType":"ExpressionStatement","src":"27254:53:44"}]}},{"eventCall":{"arguments":[{"id":15870,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15807,"src":"27368:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15871,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15817,"src":"27380:15:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15869,"name":"MilestoneRejectedAndFundsReturnedToTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65222,"src":"27324:43:44","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":15872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27324:72:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15873,"nodeType":"EmitStatement","src":"27319:77:44"}]},"documentation":{"id":15805,"nodeType":"StructuredDocumentation","src":"26609:115:44","text":" @notice Transfers the remaining amount to the treasury\n @param proposalId The ID of the proposal"},"id":15875,"implemented":true,"kind":"function","modifiers":[],"name":"_transferRemainingAmountToTreasury","nameLocation":"26736:34:44","nodeType":"FunctionDefinition","parameters":{"id":15808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15807,"mutability":"mutable","name":"proposalId","nameLocation":"26779:10:44","nodeType":"VariableDeclaration","scope":15875,"src":"26771:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15806,"name":"uint256","nodeType":"ElementaryTypeName","src":"26771:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26770:20:44"},"returnParameters":{"id":15809,"nodeType":"ParameterList","parameters":[],"src":"26800:0:44"},"scope":15958,"src":"26727:674:44","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15909,"nodeType":"Block","src":"27580:265:44","statements":[{"assignments":[15883],"declarations":[{"constant":false,"id":15883,"mutability":"mutable","name":"$","nameLocation":"27615:1:44","nodeType":"VariableDeclaration","scope":15909,"src":"27586:30:44","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"},"typeName":{"id":15882,"nodeType":"UserDefinedTypeName","pathNode":{"id":15881,"name":"GrantsManagerStorage","nameLocations":["27586:20:44"],"nodeType":"IdentifierPath","referencedDeclaration":14016,"src":"27586:20:44"},"referencedDeclaration":14016,"src":"27586:20:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage"}},"visibility":"internal"}],"id":15886,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":15884,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14027,"src":"27619:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$14016_storage_ptr_$","typeString":"function () pure returns (struct GrantsManager.GrantsManagerStorage storage pointer)"}},"id":15885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27619:26:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"27586:59:44"},{"assignments":[15891],"declarations":[{"constant":false,"id":15891,"mutability":"mutable","name":"proposalState","nameLocation":"27679:13:44","nodeType":"VariableDeclaration","scope":15909,"src":"27651:41:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":15890,"nodeType":"UserDefinedTypeName","pathNode":{"id":15889,"name":"GovernorTypes.ProposalState","nameLocations":["27651:13:44","27665:13:44"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"27651:27:44"},"referencedDeclaration":61406,"src":"27651:27:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"id":15897,"initialValue":{"arguments":[{"id":15895,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15878,"src":"27712:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":15892,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15883,"src":"27695:1:44","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$14016_storage_ptr","typeString":"struct GrantsManager.GrantsManagerStorage storage pointer"}},"id":15893,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27697:8:44","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":14007,"src":"27695:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":15894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27706:5:44","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":63327,"src":"27695:16:44","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view external returns (enum GovernorTypes.ProposalState)"}},"id":15896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27695:28:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"27651:72:44"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":15902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15898,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15891,"src":"27733:13:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":15899,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"27750:13:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":15900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27764:13:44","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"27750:27:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":15901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27778:8:44","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"27750:36:44","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"27733:53:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15908,"nodeType":"IfStatement","src":"27729:112:44","trueBody":{"id":15907,"nodeType":"Block","src":"27788:53:44","statements":[{"errorCall":{"arguments":[{"id":15904,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15878,"src":"27823:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15903,"name":"ProposalNotExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65361,"src":"27803:19:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":15905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27803:31:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15906,"nodeType":"RevertStatement","src":"27796:38:44"}]}}]},"documentation":{"id":15876,"nodeType":"StructuredDocumentation","src":"27405:109:44","text":" @notice Checks if the proposal state is executed\n @param proposalId The ID of the proposal"},"id":15910,"implemented":true,"kind":"function","modifiers":[],"name":"_checkProposalState","nameLocation":"27526:19:44","nodeType":"FunctionDefinition","parameters":{"id":15879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15878,"mutability":"mutable","name":"proposalId","nameLocation":"27554:10:44","nodeType":"VariableDeclaration","scope":15910,"src":"27546:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15877,"name":"uint256","nodeType":"ElementaryTypeName","src":"27546:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27545:20:44"},"returnParameters":{"id":15880,"nodeType":"ParameterList","parameters":[],"src":"27580:0:44"},"scope":15958,"src":"27517:328:44","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":15936,"nodeType":"Block","src":"28103:205:44","statements":[{"assignments":[15920],"declarations":[{"constant":false,"id":15920,"mutability":"mutable","name":"_milestoneState","nameLocation":"28124:15:44","nodeType":"VariableDeclaration","scope":15936,"src":"28109:30:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":15919,"nodeType":"UserDefinedTypeName","pathNode":{"id":15918,"name":"MilestoneState","nameLocations":["28109:14:44"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"28109:14:44"},"referencedDeclaration":65389,"src":"28109:14:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"id":15925,"initialValue":{"arguments":[{"id":15922,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15913,"src":"28161:10:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15923,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15915,"src":"28173:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15921,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14780,"src":"28142:18:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$65389_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManager.MilestoneState)"}},"id":15924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28142:46:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"28109:79:44"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"id":15929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15926,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15920,"src":"28198:15:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":15927,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65389,"src":"28217:14:44","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$65389_$","typeString":"type(enum IGrantsManager.MilestoneState)"}},"id":15928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28232:7:44","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":65385,"src":"28217:22:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"src":"28198:41:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15935,"nodeType":"IfStatement","src":"28194:110:44","trueBody":{"id":15934,"nodeType":"Block","src":"28241:63:44","statements":[{"errorCall":{"arguments":[{"id":15931,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15920,"src":"28281:15:44","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}],"id":15930,"name":"MilestoneStateNotPending","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65302,"src":"28256:24:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_enum$_MilestoneState_$65389_$returns$__$","typeString":"function (enum IGrantsManager.MilestoneState) pure"}},"id":15932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28256:41:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15933,"nodeType":"RevertStatement","src":"28249:48:44"}]}}]},"documentation":{"id":15911,"nodeType":"StructuredDocumentation","src":"27849:163:44","text":" @notice Checks if the milestone state is pending\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"id":15937,"implemented":true,"kind":"function","modifiers":[],"name":"_checkMilestoneState","nameLocation":"28024:20:44","nodeType":"FunctionDefinition","parameters":{"id":15916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15913,"mutability":"mutable","name":"proposalId","nameLocation":"28053:10:44","nodeType":"VariableDeclaration","scope":15937,"src":"28045:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15912,"name":"uint256","nodeType":"ElementaryTypeName","src":"28045:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15915,"mutability":"mutable","name":"milestoneIndex","nameLocation":"28073:14:44","nodeType":"VariableDeclaration","scope":15937,"src":"28065:22:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15914,"name":"uint256","nodeType":"ElementaryTypeName","src":"28065:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28044:44:44"},"returnParameters":{"id":15917,"nodeType":"ParameterList","parameters":[],"src":"28103:0:44"},"scope":15958,"src":"28015:293:44","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":15945,"nodeType":"Block","src":"28465:19:44","statements":[{"expression":{"hexValue":"33","id":15943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28478:1:44","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"functionReturnParameters":15942,"id":15944,"nodeType":"Return","src":"28471:8:44"}]},"documentation":{"id":15938,"nodeType":"StructuredDocumentation","src":"28312:99:44","text":" @notice Returns the version of the contract\n @return The version of the contract"},"functionSelector":"54fd4d50","id":15946,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"28423:7:44","nodeType":"FunctionDefinition","parameters":{"id":15939,"nodeType":"ParameterList","parameters":[],"src":"28430:2:44"},"returnParameters":{"id":15942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15941,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15946,"src":"28456:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15940,"name":"uint256","nodeType":"ElementaryTypeName","src":"28456:7:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28455:9:44"},"scope":15958,"src":"28414:70:44","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":15956,"nodeType":"Block","src":"28765:2:44","statements":[]},"documentation":{"id":15947,"nodeType":"StructuredDocumentation","src":"28544:122:44","text":" @notice Authorize upgrade for UUPS\n @dev Only addresses with the UPGRADER_ROLE can upgrade the contract"},"id":15957,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":15953,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13983,"src":"28750:13:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":15954,"kind":"modifierInvocation","modifierName":{"id":15952,"name":"onlyRole","nameLocations":["28741:8:44"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"28741:8:44"},"nodeType":"ModifierInvocation","src":"28741:23:44"}],"name":"_authorizeUpgrade","nameLocation":"28678:17:44","nodeType":"FunctionDefinition","overrides":{"id":15951,"nodeType":"OverrideSpecifier","overrides":[],"src":"28732:8:44"},"parameters":{"id":15950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15949,"mutability":"mutable","name":"newImplementation","nameLocation":"28704:17:44","nodeType":"VariableDeclaration","scope":15957,"src":"28696:25:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15948,"name":"address","nodeType":"ElementaryTypeName","src":"28696:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28695:27:44"},"returnParameters":{"id":15955,"nodeType":"ParameterList","parameters":[],"src":"28765:0:44"},"scope":15958,"src":"28669:98:44","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":15959,"src":"2256:26513:44","usedErrors":[1495,1498,1759,1764,4026,4029,4194,4342,4345,4738,4751,5344,5347,65259,65262,65267,65274,65279,65282,65289,65296,65302,65309,65316,65319,65326,65333,65336,65343,65346,65353,65356,65361,65366,65371],"usedEvents":[1503,4018,4023,4354,4363,4372,4717,65206,65215,65222,65229,65236,65249,65254]}],"src":"1195:27575:44"},"id":44},"contracts/deprecated/V1/VoterRewardsV1.sol":{"ast":{"absolutePath":"contracts/deprecated/V1/VoterRewardsV1.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Checkpoints":[10447],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"GovernorTypes":[61442],"IAccessControl":[4415],"IB3TR":[62888],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC6372":[4552],"IEmissions":[64454],"IGalaxyMember":[65196],"IGalaxyMemberV1":[17385],"IGrantsManager":[65639],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"Math":[7015],"ReentrancyGuardUpgradeable":[4292],"UUPSUpgradeable":[1914],"VoterRewardsV1":[16783]},"id":16784,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":15960,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:45"},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":15961,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16784,"sourceUnit":363,"src":"1220:81:45","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":15962,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16784,"sourceUnit":4293,"src":"1302:82:45","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V1/interfaces/IGalaxyMemberV1.sol","file":"./interfaces/IGalaxyMemberV1.sol","id":15963,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16784,"sourceUnit":17386,"src":"1385:42:45","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":15964,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16784,"sourceUnit":63920,"src":"1428:44:45","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":15965,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16784,"sourceUnit":71125,"src":"1473:57:45","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../../interfaces/IEmissions.sol","id":15966,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16784,"sourceUnit":64455,"src":"1531:41:45","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":15967,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16784,"sourceUnit":62889,"src":"1573:36:45","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":15968,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":16784,"sourceUnit":1915,"src":"1610:77:45","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":15970,"name":"AccessControlUpgradeable","nameLocations":["2670:24:45"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"2670:24:45"},"id":15971,"nodeType":"InheritanceSpecifier","src":"2670:24:45"},{"baseName":{"id":15972,"name":"ReentrancyGuardUpgradeable","nameLocations":["2696:26:45"],"nodeType":"IdentifierPath","referencedDeclaration":4292,"src":"2696:26:45"},"id":15973,"nodeType":"InheritanceSpecifier","src":"2696:26:45"},{"baseName":{"id":15974,"name":"UUPSUpgradeable","nameLocations":["2724:15:45"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"2724:15:45"},"id":15975,"nodeType":"InheritanceSpecifier","src":"2724:15:45"}],"canonicalName":"VoterRewardsV1","contractDependencies":[],"contractKind":"contract","documentation":{"id":15969,"nodeType":"StructuredDocumentation","src":"1689:953:45","text":" @title VoterRewards\n @author VeBetterDAO\n @notice This contract handles the rewards for voters in the VeBetterDAO ecosystem.\n It calculates the rewards for voters based on their voting power and the level of their Galaxy Member NFT.\n @dev The contract is\n - upgradeable using UUPSUpgradeable.\n - using AccessControl to handle the admin and upgrader roles.\n - using ReentrancyGuard to prevent reentrancy attacks.\n - following the ERC-7201 standard for storage layout.\n Roles:\n - DEFAULT_ADMIN_ROLE: The role that can add new admins and upgraders. It is also the role that can set scaling factor and the Galaxy Member level to multiplier mapping.\n - UPGRADER_ROLE: The role that can upgrade the contract.\n - VOTE_REGISTRAR_ROLE: The role that can register votes for rewards calculation.\n - CONTRACTS_ADDRESS_MANAGER_ROLE: The role that can set the addresses of the contracts used by the VoterRewards contract."},"fullyImplemented":true,"id":16783,"linearizedBaseContracts":[16783,1914,4566,4292,362,4332,5961,4415,3987,1732],"name":"VoterRewardsV1","nameLocation":"2652:14:45","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":15976,"nodeType":"StructuredDocumentation","src":"2744:69:45","text":"@notice The role that can register votes for rewards calculation."},"functionSelector":"de7fd133","id":15981,"mutability":"constant","name":"VOTE_REGISTRAR_ROLE","nameLocation":"2840:19:45","nodeType":"VariableDeclaration","scope":16783,"src":"2816:78:45","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2816:7:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"564f54455f5245474953545241525f524f4c45","id":15979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2872:21:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_79e0a786be046868ec7a47625dff81941dbb889bcb3efd61d7ece9a9b92e2279","typeString":"literal_string \"VOTE_REGISTRAR_ROLE\""},"value":"VOTE_REGISTRAR_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79e0a786be046868ec7a47625dff81941dbb889bcb3efd61d7ece9a9b92e2279","typeString":"literal_string \"VOTE_REGISTRAR_ROLE\""}],"id":15978,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2862:9:45","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":15980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2862:32:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":15982,"nodeType":"StructuredDocumentation","src":"2899:51:45","text":"@notice The role that can upgrade the contract."},"functionSelector":"f72c0d8b","id":15987,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"2977:13:45","nodeType":"VariableDeclaration","scope":16783,"src":"2953:66:45","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2953:7:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":15985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3003:15:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":15984,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2993:9:45","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":15986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2993:26:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":15988,"nodeType":"StructuredDocumentation","src":"3024:99:45","text":"@notice The role that can set the addresses of the contracts used by the VoterRewards contract."},"functionSelector":"952f2133","id":15993,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"3150:30:45","nodeType":"VariableDeclaration","scope":16783,"src":"3126:100:45","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3126:7:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":15991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3193:32:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":15990,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3183:9:45","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":15992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3183:43:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":15994,"nodeType":"StructuredDocumentation","src":"3231:59:45","text":"@notice The scaling factor for the rewards calculation."},"functionSelector":"ef4cadc5","id":15997,"mutability":"constant","name":"SCALING_FACTOR","nameLocation":"3317:14:45","nodeType":"VariableDeclaration","scope":16783,"src":"3293:44:45","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15995,"name":"uint256","nodeType":"ElementaryTypeName","src":"3293:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"316536","id":15996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3334:3:45","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1e6"},"visibility":"public"},{"canonicalName":"VoterRewardsV1.VoterRewardsStorage","documentation":{"id":15998,"nodeType":"StructuredDocumentation","src":"3342:62:45","text":"@custom:storage-location erc7201:b3tr.storage.VoterRewards"},"id":16022,"members":[{"constant":false,"id":16001,"mutability":"mutable","name":"galaxyMember","nameLocation":"3456:12:45","nodeType":"VariableDeclaration","scope":16022,"src":"3440:28:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"},"typeName":{"id":16000,"nodeType":"UserDefinedTypeName","pathNode":{"id":15999,"name":"IGalaxyMemberV1","nameLocations":["3440:15:45"],"nodeType":"IdentifierPath","referencedDeclaration":17385,"src":"3440:15:45"},"referencedDeclaration":17385,"src":"3440:15:45","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"visibility":"internal"},{"constant":false,"id":16004,"mutability":"mutable","name":"b3tr","nameLocation":"3480:4:45","nodeType":"VariableDeclaration","scope":16022,"src":"3474:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":16003,"nodeType":"UserDefinedTypeName","pathNode":{"id":16002,"name":"IB3TR","nameLocations":["3474:5:45"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"3474:5:45"},"referencedDeclaration":62888,"src":"3474:5:45","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":16007,"mutability":"mutable","name":"emissions","nameLocation":"3501:9:45","nodeType":"VariableDeclaration","scope":16022,"src":"3490:20:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":16006,"nodeType":"UserDefinedTypeName","pathNode":{"id":16005,"name":"IEmissions","nameLocations":["3490:10:45"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"3490:10:45"},"referencedDeclaration":64454,"src":"3490:10:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":16011,"mutability":"mutable","name":"levelToMultiplier","nameLocation":"3610:17:45","nodeType":"VariableDeclaration","scope":16022,"src":"3582:45:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":16010,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":16008,"name":"uint256","nodeType":"ElementaryTypeName","src":"3590:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3582:27:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":16009,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":16015,"mutability":"mutable","name":"cycleToTotal","nameLocation":"3711:12:45","nodeType":"VariableDeclaration","scope":16022,"src":"3683:40:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":16014,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":16012,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3683:27:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":16013,"name":"uint256","nodeType":"ElementaryTypeName","src":"3702:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":16021,"mutability":"mutable","name":"cycleToVoterToTotal","nameLocation":"3868:19:45","nodeType":"VariableDeclaration","scope":16022,"src":"3802:85:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"typeName":{"id":16020,"keyName":"cycle","keyNameLocation":"3818:5:45","keyType":{"id":16016,"name":"uint256","nodeType":"ElementaryTypeName","src":"3810:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3802:65:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":16019,"keyName":"voter","keyNameLocation":"3843:5:45","keyType":{"id":16017,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3827:39:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"total","valueNameLocation":"3860:5:45","valueType":{"id":16018,"name":"uint256","nodeType":"ElementaryTypeName","src":"3852:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"}],"name":"VoterRewardsStorage","nameLocation":"3414:19:45","nodeType":"StructDefinition","scope":16783,"src":"3407:485:45","visibility":"public"},{"constant":true,"id":16025,"mutability":"constant","name":"VoterRewardsStorageLocation","nameLocation":"4027:27:45","nodeType":"VariableDeclaration","scope":16783,"src":"4002:125:45","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4002:7:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307831313465376666616166323035643338636430356231376235366633333537383036656632636538383963623437343834343561653931636466633337633030","id":16024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4061:66:45","typeDescriptions":{"typeIdentifier":"t_rational_7828015777183916649553982079981977858063515859888425983188164848181982755840_by_1","typeString":"int_const 7828...(68 digits omitted)...5840"},"value":"0x114e7ffaaf205d38cd05b17b56f3357806ef2ce889cb4748445ae91cdfc37c00"},"visibility":"private"},{"body":{"id":16033,"nodeType":"Block","src":"4348:70:45","statements":[{"AST":{"nodeType":"YulBlock","src":"4363:51:45","statements":[{"nodeType":"YulAssignment","src":"4371:37:45","value":{"name":"VoterRewardsStorageLocation","nodeType":"YulIdentifier","src":"4381:27:45"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"4371:6:45"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":16030,"isOffset":false,"isSlot":true,"src":"4371:6:45","suffix":"slot","valueSize":1},{"declaration":16025,"isOffset":false,"isSlot":false,"src":"4381:27:45","valueSize":1}],"id":16032,"nodeType":"InlineAssembly","src":"4354:60:45"}]},"documentation":{"id":16026,"nodeType":"StructuredDocumentation","src":"4132:124:45","text":"@notice Get the VoterRewardsStorage struct from the specified storage slot specified by the VoterRewardsStorageLocation."},"id":16034,"implemented":true,"kind":"function","modifiers":[],"name":"_getVoterRewardsStorage","nameLocation":"4268:23:45","nodeType":"FunctionDefinition","parameters":{"id":16027,"nodeType":"ParameterList","parameters":[],"src":"4291:2:45"},"returnParameters":{"id":16031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16030,"mutability":"mutable","name":"$","nameLocation":"4345:1:45","nodeType":"VariableDeclaration","scope":16034,"src":"4317:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16029,"nodeType":"UserDefinedTypeName","pathNode":{"id":16028,"name":"VoterRewardsStorage","nameLocations":["4317:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"4317:19:45"},"referencedDeclaration":16022,"src":"4317:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"src":"4316:31:45"},"scope":16783,"src":"4259:159:45","stateMutability":"pure","virtual":false,"visibility":"internal"},{"anonymous":false,"documentation":{"id":16035,"nodeType":"StructuredDocumentation","src":"4422:376:45","text":"@notice Emitted when a user registers their votes for rewards calculation.\n @param cycle - The cycle in which the votes were registered.\n @param voter- The address of the voter.\n @param votes - The number of votes cast by the voter.\n @param rewardWeightedVote - The reward-weighted vote power for the voter based on their voting power and GM NFT level."},"eventSelector":"ac45cfd9cf13dd2e8b216503a1ca26d9f2a35e9a6b4b1b5cecc415db06ddf63f","id":16045,"name":"VoteRegistered","nameLocation":"4807:14:45","nodeType":"EventDefinition","parameters":{"id":16044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16037,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"4838:5:45","nodeType":"VariableDeclaration","scope":16045,"src":"4822:21:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16036,"name":"uint256","nodeType":"ElementaryTypeName","src":"4822:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16039,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"4861:5:45","nodeType":"VariableDeclaration","scope":16045,"src":"4845:21:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16038,"name":"address","nodeType":"ElementaryTypeName","src":"4845:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16041,"indexed":false,"mutability":"mutable","name":"votes","nameLocation":"4876:5:45","nodeType":"VariableDeclaration","scope":16045,"src":"4868:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16040,"name":"uint256","nodeType":"ElementaryTypeName","src":"4868:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16043,"indexed":false,"mutability":"mutable","name":"rewardWeightedVote","nameLocation":"4891:18:45","nodeType":"VariableDeclaration","scope":16045,"src":"4883:26:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16042,"name":"uint256","nodeType":"ElementaryTypeName","src":"4883:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4821:89:45"},"src":"4801:110:45"},{"anonymous":false,"documentation":{"id":16046,"nodeType":"StructuredDocumentation","src":"4915:236:45","text":"@notice Emitted when a user claims their rewards.\n @param cycle - The cycle in which the rewards were claimed.\n @param voter - The address of the voter.\n @param reward - The amount of B3TR reward claimed by the voter."},"eventSelector":"24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7","id":16054,"name":"RewardClaimed","nameLocation":"5160:13:45","nodeType":"EventDefinition","parameters":{"id":16053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16048,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"5190:5:45","nodeType":"VariableDeclaration","scope":16054,"src":"5174:21:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16047,"name":"uint256","nodeType":"ElementaryTypeName","src":"5174:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16050,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"5213:5:45","nodeType":"VariableDeclaration","scope":16054,"src":"5197:21:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16049,"name":"address","nodeType":"ElementaryTypeName","src":"5197:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16052,"indexed":false,"mutability":"mutable","name":"reward","nameLocation":"5228:6:45","nodeType":"VariableDeclaration","scope":16054,"src":"5220:14:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16051,"name":"uint256","nodeType":"ElementaryTypeName","src":"5220:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5173:62:45"},"src":"5154:82:45"},{"anonymous":false,"documentation":{"id":16055,"nodeType":"StructuredDocumentation","src":"5240:213:45","text":"@notice Emitted when the Galaxy Member contract address is set.\n @param newAddress - The address of the new Galaxy Member contract.\n @param oldAddress - The address of the old Galaxy Member contract."},"eventSelector":"3e9cacccd727006bc0e1f6b190b46b34090f490cd3ab7e45f3ac7a9cfeda63ff","id":16061,"name":"GalaxyMemberAddressUpdated","nameLocation":"5462:26:45","nodeType":"EventDefinition","parameters":{"id":16060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16057,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"5505:10:45","nodeType":"VariableDeclaration","scope":16061,"src":"5489:26:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16056,"name":"address","nodeType":"ElementaryTypeName","src":"5489:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16059,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"5533:10:45","nodeType":"VariableDeclaration","scope":16061,"src":"5517:26:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16058,"name":"address","nodeType":"ElementaryTypeName","src":"5517:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5488:56:45"},"src":"5456:89:45"},{"anonymous":false,"documentation":{"id":16062,"nodeType":"StructuredDocumentation","src":"5549:201:45","text":"@notice Emitted when the Emissions contract address is set.\n @param newAddress - The address of the new Emissions contract.\n @param oldAddress - The address of the old Emissions contract."},"eventSelector":"ee0bb99897b3f409686cb6e56601a38cea38e9e00d9b28752b3be7b28ea8b0ad","id":16068,"name":"EmissionsAddressUpdated","nameLocation":"5759:23:45","nodeType":"EventDefinition","parameters":{"id":16067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16064,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"5799:10:45","nodeType":"VariableDeclaration","scope":16068,"src":"5783:26:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16063,"name":"address","nodeType":"ElementaryTypeName","src":"5783:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16066,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"5827:10:45","nodeType":"VariableDeclaration","scope":16068,"src":"5811:26:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16065,"name":"address","nodeType":"ElementaryTypeName","src":"5811:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5782:56:45"},"src":"5753:86:45"},{"anonymous":false,"documentation":{"id":16069,"nodeType":"StructuredDocumentation","src":"5843:213:45","text":"@notice Emitted when the level to multiplier mapping is set.\n @param level - The level of the Galaxy Member NFT.\n @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT."},"eventSelector":"cc259987543a764767934b4d714760c68fdeb2ba8318210d9802cf66ae854001","id":16075,"name":"LevelToMultiplierSet","nameLocation":"6065:20:45","nodeType":"EventDefinition","parameters":{"id":16074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16071,"indexed":true,"mutability":"mutable","name":"level","nameLocation":"6102:5:45","nodeType":"VariableDeclaration","scope":16075,"src":"6086:21:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16070,"name":"uint256","nodeType":"ElementaryTypeName","src":"6086:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16073,"indexed":false,"mutability":"mutable","name":"multiplier","nameLocation":"6117:10:45","nodeType":"VariableDeclaration","scope":16075,"src":"6109:18:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16072,"name":"uint256","nodeType":"ElementaryTypeName","src":"6109:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6085:43:45"},"src":"6059:70:45"},{"body":{"id":16082,"nodeType":"Block","src":"6198:33:45","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":16079,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"6204:20:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":16080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6204:22:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16081,"nodeType":"ExpressionStatement","src":"6204:22:45"}]},"documentation":{"id":16076,"nodeType":"StructuredDocumentation","src":"6133:48:45","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":16083,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":16077,"nodeType":"ParameterList","parameters":[],"src":"6195:2:45"},"returnParameters":{"id":16078,"nodeType":"ParameterList","parameters":[],"src":"6198:0:45"},"scope":16783,"src":"6184:47:45","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":16242,"nodeType":"Block","src":"7071:1156:45","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16108,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16094,"src":"7085:13:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7110:1:45","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":16110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7102:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16109,"name":"address","nodeType":"ElementaryTypeName","src":"7102:7:45","typeDescriptions":{}}},"id":16112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7102:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7085:27:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a205f67616c6178794d656d6265722063616e6e6f7420626520746865207a65726f2061646472657373","id":16114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7114:56:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d","typeString":"literal_string \"VoterRewards: _galaxyMember cannot be the zero address\""},"value":"VoterRewards: _galaxyMember cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d","typeString":"literal_string \"VoterRewards: _galaxyMember cannot be the zero address\""}],"id":16107,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7077:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7077:94:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16116,"nodeType":"ExpressionStatement","src":"7077:94:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16118,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16092,"src":"7185:10:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7207:1:45","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":16120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7199:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16119,"name":"address","nodeType":"ElementaryTypeName","src":"7199:7:45","typeDescriptions":{}}},"id":16122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7199:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7185:24:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20656d697373696f6e732063616e6e6f7420626520746865207a65726f2061646472657373","id":16124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7211:52:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001","typeString":"literal_string \"VoterRewards: emissions cannot be the zero address\""},"value":"VoterRewards: emissions cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001","typeString":"literal_string \"VoterRewards: emissions cannot be the zero address\""}],"id":16117,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7177:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7177:87:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16126,"nodeType":"ExpressionStatement","src":"7177:87:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16128,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16096,"src":"7278:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7295:1:45","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":16130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7287:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16129,"name":"address","nodeType":"ElementaryTypeName","src":"7287:7:45","typeDescriptions":{}}},"id":16132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7287:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7278:19:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a205f623374722063616e6e6f7420626520746865207a65726f2061646472657373","id":16134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7299:48:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6","typeString":"literal_string \"VoterRewards: _b3tr cannot be the zero address\""},"value":"VoterRewards: _b3tr cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6","typeString":"literal_string \"VoterRewards: _b3tr cannot be the zero address\""}],"id":16127,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7270:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7270:78:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16136,"nodeType":"ExpressionStatement","src":"7270:78:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":16138,"name":"levels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16099,"src":"7363:6:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":16139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7370:6:45","memberName":"length","nodeType":"MemberAccess","src":"7363:13:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7379:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7363:17:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206c6576656c73206d7573742068617665206174206c65617374206f6e6520656c656d656e74","id":16142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7382:53:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907","typeString":"literal_string \"VoterRewards: levels must have at least one element\""},"value":"VoterRewards: levels must have at least one element"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907","typeString":"literal_string \"VoterRewards: levels must have at least one element\""}],"id":16137,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7355:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7355:81:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16144,"nodeType":"ExpressionStatement","src":"7355:81:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":16146,"name":"levels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16099,"src":"7450:6:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":16147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7457:6:45","memberName":"length","nodeType":"MemberAccess","src":"7450:13:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":16148,"name":"multipliers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16102,"src":"7467:11:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":16149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7479:6:45","memberName":"length","nodeType":"MemberAccess","src":"7467:18:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7450:35:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206c6576656c7320616e64206d756c7469706c69657273206d7573742068617665207468652073616d65206c656e677468","id":16151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7487:64:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535","typeString":"literal_string \"VoterRewards: levels and multipliers must have the same length\""},"value":"VoterRewards: levels and multipliers must have the same length"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535","typeString":"literal_string \"VoterRewards: levels and multipliers must have the same length\""}],"id":16145,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7442:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7442:110:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16153,"nodeType":"ExpressionStatement","src":"7442:110:45"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":16154,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"7559:20:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":16155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7559:22:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16156,"nodeType":"ExpressionStatement","src":"7559:22:45"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":16157,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4203,"src":"7587:22:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":16158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7587:24:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16159,"nodeType":"ExpressionStatement","src":"7587:24:45"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":16160,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"7617:22:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":16161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7617:24:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16162,"nodeType":"ExpressionStatement","src":"7617:24:45"},{"assignments":[16165],"declarations":[{"constant":false,"id":16165,"mutability":"mutable","name":"$","nameLocation":"7676:1:45","nodeType":"VariableDeclaration","scope":16242,"src":"7648:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16164,"nodeType":"UserDefinedTypeName","pathNode":{"id":16163,"name":"VoterRewardsStorage","nameLocations":["7648:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"7648:19:45"},"referencedDeclaration":16022,"src":"7648:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16168,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16166,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"7680:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7680:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7648:57:45"},{"expression":{"id":16175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":16169,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16165,"src":"7712:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16171,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7714:12:45","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":16001,"src":"7712:14:45","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16173,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16094,"src":"7745:13:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":16172,"name":"IGalaxyMemberV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17385,"src":"7729:15:45","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGalaxyMemberV1_$17385_$","typeString":"type(contract IGalaxyMemberV1)"}},"id":16174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7729:30:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"src":"7712:47:45","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"id":16176,"nodeType":"ExpressionStatement","src":"7712:47:45"},{"expression":{"id":16183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":16177,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16165,"src":"7765:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7767:4:45","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":16004,"src":"7765:6:45","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16181,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16096,"src":"7780:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":16180,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"7774:5:45","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":16182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7774:12:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"7765:21:45","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":16184,"nodeType":"ExpressionStatement","src":"7765:21:45"},{"expression":{"id":16191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":16185,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16165,"src":"7792:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7794:9:45","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":16007,"src":"7792:11:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16189,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16092,"src":"7817:10:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":16188,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"7806:10:45","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IEmissions_$64454_$","typeString":"type(contract IEmissions)"}},"id":16190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7806:22:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"7792:36:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":16192,"nodeType":"ExpressionStatement","src":"7792:36:45"},{"body":{"id":16215,"nodeType":"Block","src":"7919:62:45","statements":[{"expression":{"id":16213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":16203,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16165,"src":"7927:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7929:17:45","memberName":"levelToMultiplier","nodeType":"MemberAccess","referencedDeclaration":16011,"src":"7927:19:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":16209,"indexExpression":{"baseExpression":{"id":16205,"name":"levels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16099,"src":"7947:6:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":16207,"indexExpression":{"id":16206,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16194,"src":"7954:1:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7947:9:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7927:30:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":16210,"name":"multipliers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16102,"src":"7960:11:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":16212,"indexExpression":{"id":16211,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16194,"src":"7972:1:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7960:14:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7927:47:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16214,"nodeType":"ExpressionStatement","src":"7927:47:45"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16196,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16194,"src":"7895:1:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":16197,"name":"levels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16099,"src":"7899:6:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":16198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7906:6:45","memberName":"length","nodeType":"MemberAccess","src":"7899:13:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7895:17:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16216,"initializationExpression":{"assignments":[16194],"declarations":[{"constant":false,"id":16194,"mutability":"mutable","name":"i","nameLocation":"7892:1:45","nodeType":"VariableDeclaration","scope":16216,"src":"7884:9:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16193,"name":"uint256","nodeType":"ElementaryTypeName","src":"7884:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16195,"nodeType":"VariableDeclarationStatement","src":"7884:9:45"},"loopExpression":{"expression":{"id":16201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7914:3:45","subExpression":{"id":16200,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16194,"src":"7914:1:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16202,"nodeType":"ExpressionStatement","src":"7914:3:45"},"nodeType":"ForStatement","src":"7879:102:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16218,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16086,"src":"7995:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8012:1:45","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":16220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8004:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16219,"name":"address","nodeType":"ElementaryTypeName","src":"8004:7:45","typeDescriptions":{}}},"id":16222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8004:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7995:19:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a2061646d696e2063616e6e6f7420626520746865207a65726f2061646472657373","id":16224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8016:48:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c","typeString":"literal_string \"VoterRewards: admin cannot be the zero address\""},"value":"VoterRewards: admin cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c","typeString":"literal_string \"VoterRewards: admin cannot be the zero address\""}],"id":16217,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7987:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7987:78:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16226,"nodeType":"ExpressionStatement","src":"7987:78:45"},{"expression":{"arguments":[{"id":16228,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"8082:18:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":16229,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16086,"src":"8102:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16227,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"8071:10:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":16230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8071:37:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16231,"nodeType":"ExpressionStatement","src":"8071:37:45"},{"expression":{"arguments":[{"id":16233,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15987,"src":"8125:13:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":16234,"name":"upgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16088,"src":"8140:8:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16232,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"8114:10:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":16235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8114:35:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16236,"nodeType":"ExpressionStatement","src":"8114:35:45"},{"expression":{"arguments":[{"id":16238,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15993,"src":"8166:30:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":16239,"name":"contractsAddressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16090,"src":"8198:23:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16237,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"8155:10:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":16240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8155:67:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16241,"nodeType":"ExpressionStatement","src":"8155:67:45"}]},"documentation":{"id":16084,"nodeType":"StructuredDocumentation","src":"6235:577:45","text":"@notice Initialize the VoterRewards contract.\n @param admin - The address of the admin.\n @param upgrader - The address of the upgrader.\n @param contractsAddressManager - The address of the contract address manager.\n @param _emissions - The address of the emissions contract.\n @param _galaxyMember - The address of the Galaxy Member contract.\n @param _b3tr - The address of the B3TR token contract.\n @param levels - The levels of the Galaxy Member NFTs.\n @param multipliers  - The multipliers for the levels of the Galaxy Member NFTs."},"functionSelector":"0dd3729c","id":16243,"implemented":true,"kind":"function","modifiers":[{"id":16105,"kind":"modifierInvocation","modifierName":{"id":16104,"name":"initializer","nameLocations":["7059:11:45"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"7059:11:45"},"nodeType":"ModifierInvocation","src":"7059:11:45"}],"name":"initialize","nameLocation":"6824:10:45","nodeType":"FunctionDefinition","parameters":{"id":16103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16086,"mutability":"mutable","name":"admin","nameLocation":"6848:5:45","nodeType":"VariableDeclaration","scope":16243,"src":"6840:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16085,"name":"address","nodeType":"ElementaryTypeName","src":"6840:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16088,"mutability":"mutable","name":"upgrader","nameLocation":"6867:8:45","nodeType":"VariableDeclaration","scope":16243,"src":"6859:16:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16087,"name":"address","nodeType":"ElementaryTypeName","src":"6859:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16090,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"6889:23:45","nodeType":"VariableDeclaration","scope":16243,"src":"6881:31:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16089,"name":"address","nodeType":"ElementaryTypeName","src":"6881:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16092,"mutability":"mutable","name":"_emissions","nameLocation":"6926:10:45","nodeType":"VariableDeclaration","scope":16243,"src":"6918:18:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16091,"name":"address","nodeType":"ElementaryTypeName","src":"6918:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16094,"mutability":"mutable","name":"_galaxyMember","nameLocation":"6950:13:45","nodeType":"VariableDeclaration","scope":16243,"src":"6942:21:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16093,"name":"address","nodeType":"ElementaryTypeName","src":"6942:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16096,"mutability":"mutable","name":"_b3tr","nameLocation":"6977:5:45","nodeType":"VariableDeclaration","scope":16243,"src":"6969:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16095,"name":"address","nodeType":"ElementaryTypeName","src":"6969:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16099,"mutability":"mutable","name":"levels","nameLocation":"7005:6:45","nodeType":"VariableDeclaration","scope":16243,"src":"6988:23:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16097,"name":"uint256","nodeType":"ElementaryTypeName","src":"6988:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16098,"nodeType":"ArrayTypeName","src":"6988:9:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16102,"mutability":"mutable","name":"multipliers","nameLocation":"7034:11:45","nodeType":"VariableDeclaration","scope":16243,"src":"7017:28:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16100,"name":"uint256","nodeType":"ElementaryTypeName","src":"7017:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16101,"nodeType":"ArrayTypeName","src":"7017:9:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6834:215:45"},"returnParameters":{"id":16106,"nodeType":"ParameterList","parameters":[],"src":"7071:0:45"},"scope":16783,"src":"6815:1412:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":16253,"nodeType":"Block","src":"8554:2:45","statements":[]},"documentation":{"id":16244,"nodeType":"StructuredDocumentation","src":"8231:224:45","text":"@notice Upgrade the implementation of the VoterRewards contract.\n @dev Only the address with the UPGRADER_ROLE can call this function.\n @param newImplementation - The address of the new implementation contract."},"id":16254,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":16250,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15987,"src":"8539:13:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":16251,"kind":"modifierInvocation","modifierName":{"id":16249,"name":"onlyRole","nameLocations":["8530:8:45"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8530:8:45"},"nodeType":"ModifierInvocation","src":"8530:23:45"}],"name":"_authorizeUpgrade","nameLocation":"8467:17:45","nodeType":"FunctionDefinition","overrides":{"id":16248,"nodeType":"OverrideSpecifier","overrides":[],"src":"8521:8:45"},"parameters":{"id":16247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16246,"mutability":"mutable","name":"newImplementation","nameLocation":"8493:17:45","nodeType":"VariableDeclaration","scope":16254,"src":"8485:25:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16245,"name":"address","nodeType":"ElementaryTypeName","src":"8485:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8484:27:45"},"returnParameters":{"id":16252,"nodeType":"ParameterList","parameters":[],"src":"8554:0:45"},"scope":16783,"src":"8458:98:45","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":16363,"nodeType":"Block","src":"9175:1732:45","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16269,"name":"votePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16263,"src":"9267:9:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":16270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9280:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9267:14:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16274,"nodeType":"IfStatement","src":"9263:41:45","trueBody":{"id":16273,"nodeType":"Block","src":"9283:21:45","statements":[{"functionReturnParameters":16268,"id":16272,"nodeType":"Return","src":"9291:7:45"}]}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16276,"name":"proposalStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16257,"src":"9400:13:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9416:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9400:17:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a2070726f706f73616c5374617274206d7573742062652067726561746572207468616e2030","id":16279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9419:52:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_5adf85be7d176f958aafec9627f332a33a510ae0dcceabe4dd34113c870e4d44","typeString":"literal_string \"VoterRewards: proposalStart must be greater than 0\""},"value":"VoterRewards: proposalStart must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5adf85be7d176f958aafec9627f332a33a510ae0dcceabe4dd34113c870e4d44","typeString":"literal_string \"VoterRewards: proposalStart must be greater than 0\""}],"id":16275,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9392:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9392:80:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16281,"nodeType":"ExpressionStatement","src":"9392:80:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16283,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16259,"src":"9486:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9503:1:45","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":16285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9495:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16284,"name":"address","nodeType":"ElementaryTypeName","src":"9495:7:45","typeDescriptions":{}}},"id":16287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9495:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9486:19:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20766f7465722063616e6e6f7420626520746865207a65726f2061646472657373","id":16289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9507:48:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90","typeString":"literal_string \"VoterRewards: voter cannot be the zero address\""},"value":"VoterRewards: voter cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90","typeString":"literal_string \"VoterRewards: voter cannot be the zero address\""}],"id":16282,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9478:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9478:78:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16291,"nodeType":"ExpressionStatement","src":"9478:78:45"},{"assignments":[16294],"declarations":[{"constant":false,"id":16294,"mutability":"mutable","name":"$","nameLocation":"9591:1:45","nodeType":"VariableDeclaration","scope":16363,"src":"9563:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16293,"nodeType":"UserDefinedTypeName","pathNode":{"id":16292,"name":"VoterRewardsStorage","nameLocations":["9563:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"9563:19:45"},"referencedDeclaration":16022,"src":"9563:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16297,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16295,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"9595:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9595:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9563:57:45"},{"assignments":[16299],"declarations":[{"constant":false,"id":16299,"mutability":"mutable","name":"cycle","nameLocation":"9672:5:45","nodeType":"VariableDeclaration","scope":16363,"src":"9664:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16298,"name":"uint256","nodeType":"ElementaryTypeName","src":"9664:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16304,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":16300,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16294,"src":"9680:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9682:9:45","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":16007,"src":"9680:11:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":16302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9692:15:45","memberName":"getCurrentCycle","nodeType":"MemberAccess","referencedDeclaration":64186,"src":"9680:27:45","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":16303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9680:29:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9664:45:45"},{"assignments":[16306],"declarations":[{"constant":false,"id":16306,"mutability":"mutable","name":"gmNftLevel","nameLocation":"9829:10:45","nodeType":"VariableDeclaration","scope":16363,"src":"9821:18:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16305,"name":"uint256","nodeType":"ElementaryTypeName","src":"9821:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16313,"initialValue":{"arguments":[{"id":16310,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16259,"src":"9877:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16311,"name":"proposalStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16257,"src":"9884:13:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":16307,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16294,"src":"9842:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9844:12:45","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":16001,"src":"9842:14:45","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"id":16309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9857:19:45","memberName":"getPastHighestLevel","nodeType":"MemberAccess","referencedDeclaration":17126,"src":"9842:34:45","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":16312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9842:56:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9821:77:45"},{"assignments":[16315],"declarations":[{"constant":false,"id":16315,"mutability":"mutable","name":"multiplier","nameLocation":"9979:10:45","nodeType":"VariableDeclaration","scope":16363,"src":"9971:18:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16314,"name":"uint256","nodeType":"ElementaryTypeName","src":"9971:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16320,"initialValue":{"baseExpression":{"expression":{"id":16316,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16294,"src":"9992:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9994:17:45","memberName":"levelToMultiplier","nodeType":"MemberAccess","referencedDeclaration":16011,"src":"9992:19:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":16319,"indexExpression":{"id":16318,"name":"gmNftLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16306,"src":"10012:10:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9992:31:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9971:52:45"},{"assignments":[16322],"declarations":[{"constant":false,"id":16322,"mutability":"mutable","name":"scaledVotePower","nameLocation":"10171:15:45","nodeType":"VariableDeclaration","scope":16363,"src":"10163:23:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16321,"name":"uint256","nodeType":"ElementaryTypeName","src":"10163:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16326,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16323,"name":"votePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16263,"src":"10189:9:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316539","id":16324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10201:3:45","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"10189:15:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10163:41:45"},{"assignments":[16328],"declarations":[{"constant":false,"id":16328,"mutability":"mutable","name":"rewardWeightedVote","nameLocation":"10401:18:45","nodeType":"VariableDeclaration","scope":16363,"src":"10393:26:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16327,"name":"uint256","nodeType":"ElementaryTypeName","src":"10393:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16337,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16329,"name":"scaledVotePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16322,"src":"10422:15:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16330,"name":"scaledVotePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16322,"src":"10441:15:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":16331,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16315,"src":"10459:10:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10441:28:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":16333,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10440:30:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":16334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10473:3:45","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"10440:36:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10422:54:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10393:83:45"},{"expression":{"id":16344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":16338,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16294,"src":"10596:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16341,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10598:12:45","memberName":"cycleToTotal","nodeType":"MemberAccess","referencedDeclaration":16015,"src":"10596:14:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":16342,"indexExpression":{"id":16340,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16299,"src":"10611:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10596:21:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":16343,"name":"rewardWeightedVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16328,"src":"10621:18:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10596:43:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16345,"nodeType":"ExpressionStatement","src":"10596:43:45"},{"expression":{"id":16354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":16346,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16294,"src":"10719:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10721:19:45","memberName":"cycleToVoterToTotal","nodeType":"MemberAccess","referencedDeclaration":16021,"src":"10719:21:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":16351,"indexExpression":{"id":16348,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16299,"src":"10741:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10719:28:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":16352,"indexExpression":{"id":16349,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16259,"src":"10748:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10719:35:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":16353,"name":"rewardWeightedVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16328,"src":"10758:18:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10719:57:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16355,"nodeType":"ExpressionStatement","src":"10719:57:45"},{"eventCall":{"arguments":[{"id":16357,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16299,"src":"10862:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16358,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16259,"src":"10869:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16359,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16261,"src":"10876:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16360,"name":"rewardWeightedVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16328,"src":"10883:18:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16356,"name":"VoteRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16045,"src":"10847:14:45","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256,uint256)"}},"id":16361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10847:55:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16362,"nodeType":"EmitStatement","src":"10842:60:45"}]},"documentation":{"id":16255,"nodeType":"StructuredDocumentation","src":"8560:459:45","text":"@notice Register the votes of a user for rewards calculation.\n @dev Quadratic rewarding is used to reward users with quadratic-weight based on their voting power and the level of their Galaxy Member NFT.\n @param proposalStart - The start time of the proposal.\n @param voter - The address of the voter.\n @param votes - The number of votes cast by the voter.\n @param votePower - The square root of the total votes cast by the voter."},"functionSelector":"2f18339d","id":16364,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":16266,"name":"VOTE_REGISTRAR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15981,"src":"9154:19:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":16267,"kind":"modifierInvocation","modifierName":{"id":16265,"name":"onlyRole","nameLocations":["9145:8:45"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9145:8:45"},"nodeType":"ModifierInvocation","src":"9145:29:45"}],"name":"registerVote","nameLocation":"9031:12:45","nodeType":"FunctionDefinition","parameters":{"id":16264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16257,"mutability":"mutable","name":"proposalStart","nameLocation":"9057:13:45","nodeType":"VariableDeclaration","scope":16364,"src":"9049:21:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16256,"name":"uint256","nodeType":"ElementaryTypeName","src":"9049:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16259,"mutability":"mutable","name":"voter","nameLocation":"9084:5:45","nodeType":"VariableDeclaration","scope":16364,"src":"9076:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16258,"name":"address","nodeType":"ElementaryTypeName","src":"9076:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16261,"mutability":"mutable","name":"votes","nameLocation":"9103:5:45","nodeType":"VariableDeclaration","scope":16364,"src":"9095:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16260,"name":"uint256","nodeType":"ElementaryTypeName","src":"9095:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16263,"mutability":"mutable","name":"votePower","nameLocation":"9122:9:45","nodeType":"VariableDeclaration","scope":16364,"src":"9114:17:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16262,"name":"uint256","nodeType":"ElementaryTypeName","src":"9114:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9043:92:45"},"returnParameters":{"id":16268,"nodeType":"ParameterList","parameters":[],"src":"9175:0:45"},"scope":16783,"src":"9022:1885:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":16460,"nodeType":"Block","src":"11256:988:45","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16375,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16367,"src":"11270:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11278:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11270:9:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206379636c65206d7573742062652067726561746572207468616e2030","id":16378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11281:44:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a","typeString":"literal_string \"VoterRewards: cycle must be greater than 0\""},"value":"VoterRewards: cycle must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a","typeString":"literal_string \"VoterRewards: cycle must be greater than 0\""}],"id":16374,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11262:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11262:64:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16380,"nodeType":"ExpressionStatement","src":"11262:64:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16382,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16369,"src":"11340:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11357:1:45","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":16384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11349:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16383,"name":"address","nodeType":"ElementaryTypeName","src":"11349:7:45","typeDescriptions":{}}},"id":16386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11349:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11340:19:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20766f7465722063616e6e6f7420626520746865207a65726f2061646472657373","id":16388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11361:48:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90","typeString":"literal_string \"VoterRewards: voter cannot be the zero address\""},"value":"VoterRewards: voter cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90","typeString":"literal_string \"VoterRewards: voter cannot be the zero address\""}],"id":16381,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11332:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11332:78:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16390,"nodeType":"ExpressionStatement","src":"11332:78:45"},{"assignments":[16393],"declarations":[{"constant":false,"id":16393,"mutability":"mutable","name":"$","nameLocation":"11444:1:45","nodeType":"VariableDeclaration","scope":16460,"src":"11416:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16392,"nodeType":"UserDefinedTypeName","pathNode":{"id":16391,"name":"VoterRewardsStorage","nameLocations":["11416:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"11416:19:45"},"referencedDeclaration":16022,"src":"11416:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16396,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16394,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"11448:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11448:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11416:57:45"},{"expression":{"arguments":[{"arguments":[{"id":16401,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16367,"src":"11574:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":16398,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16393,"src":"11549:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11551:9:45","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":16007,"src":"11549:11:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":16400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11561:12:45","memberName":"isCycleEnded","nodeType":"MemberAccess","referencedDeclaration":64277,"src":"11549:24:45","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":16402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11549:31:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206379636c65206d75737420626520656e646564","id":16403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11582:35:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d","typeString":"literal_string \"VoterRewards: cycle must be ended\""},"value":"VoterRewards: cycle must be ended"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d","typeString":"literal_string \"VoterRewards: cycle must be ended\""}],"id":16397,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11541:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11541:77:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16405,"nodeType":"ExpressionStatement","src":"11541:77:45"},{"assignments":[16407],"declarations":[{"constant":false,"id":16407,"mutability":"mutable","name":"reward","nameLocation":"11683:6:45","nodeType":"VariableDeclaration","scope":16460,"src":"11675:14:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16406,"name":"uint256","nodeType":"ElementaryTypeName","src":"11675:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16412,"initialValue":{"arguments":[{"id":16409,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16367,"src":"11702:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16410,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16369,"src":"11709:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16408,"name":"getReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16527,"src":"11692:9:45","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":16411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11692:23:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11675:40:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16414,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16407,"src":"11730:6:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11739:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11730:10:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20726577617264206d7573742062652067726561746572207468616e2030","id":16417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11742:45:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98","typeString":"literal_string \"VoterRewards: reward must be greater than 0\""},"value":"VoterRewards: reward must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98","typeString":"literal_string \"VoterRewards: reward must be greater than 0\""}],"id":16413,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11722:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11722:66:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16419,"nodeType":"ExpressionStatement","src":"11722:66:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":16426,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11827:4:45","typeDescriptions":{"typeIdentifier":"t_contract$_VoterRewardsV1_$16783","typeString":"contract VoterRewardsV1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_VoterRewardsV1_$16783","typeString":"contract VoterRewardsV1"}],"id":16425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11819:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16424,"name":"address","nodeType":"ElementaryTypeName","src":"11819:7:45","typeDescriptions":{}}},"id":16427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11819:13:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":16421,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16393,"src":"11802:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11804:4:45","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":16004,"src":"11802:6:45","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":16423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11809:9:45","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"11802:16:45","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":16428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11802:31:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":16429,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16407,"src":"11837:6:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11802:41:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206e6f7420656e6f756768204233545220696e2074686520636f6e747261637420746f2070617920726577617264","id":16431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11845:61:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2","typeString":"literal_string \"VoterRewards: not enough B3TR in the contract to pay reward\""},"value":"VoterRewards: not enough B3TR in the contract to pay reward"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2","typeString":"literal_string \"VoterRewards: not enough B3TR in the contract to pay reward\""}],"id":16420,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11794:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11794:113:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16433,"nodeType":"ExpressionStatement","src":"11794:113:45"},{"expression":{"id":16442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":16434,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16393,"src":"11981:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11983:19:45","memberName":"cycleToVoterToTotal","nodeType":"MemberAccess","referencedDeclaration":16021,"src":"11981:21:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":16439,"indexExpression":{"id":16436,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16367,"src":"12003:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11981:28:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":16440,"indexExpression":{"id":16437,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16369,"src":"12010:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11981:35:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":16441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12019:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11981:39:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16443,"nodeType":"ExpressionStatement","src":"11981:39:45"},{"expression":{"arguments":[{"arguments":[{"id":16448,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16369,"src":"12083:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16449,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16407,"src":"12090:6:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":16445,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16393,"src":"12067:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12069:4:45","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":16004,"src":"12067:6:45","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":16447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12074:8:45","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":62873,"src":"12067:15:45","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":16450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12067:30:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a207472616e73666572206661696c6564","id":16451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12099:31:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b","typeString":"literal_string \"VoterRewards: transfer failed\""},"value":"VoterRewards: transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b","typeString":"literal_string \"VoterRewards: transfer failed\""}],"id":16444,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12059:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12059:72:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16453,"nodeType":"ExpressionStatement","src":"12059:72:45"},{"eventCall":{"arguments":[{"id":16455,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16367,"src":"12218:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16456,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16369,"src":"12225:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16457,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16407,"src":"12232:6:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16454,"name":"RewardClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16054,"src":"12204:13:45","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":16458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12204:35:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16459,"nodeType":"EmitStatement","src":"12199:40:45"}]},"documentation":{"id":16365,"nodeType":"StructuredDocumentation","src":"10911:269:45","text":"@notice Claim the rewards for a user in a specific cycle.\n @dev The rewards are claimed based on the reward-weighted votes of the user in the cycle.\n @param cycle - The cycle in which the rewards are claimed.\n @param voter - The address of the voter."},"functionSelector":"e70eb392","id":16461,"implemented":true,"kind":"function","modifiers":[{"id":16372,"kind":"modifierInvocation","modifierName":{"id":16371,"name":"nonReentrant","nameLocations":["11243:12:45"],"nodeType":"IdentifierPath","referencedDeclaration":4232,"src":"11243:12:45"},"nodeType":"ModifierInvocation","src":"11243:12:45"}],"name":"claimReward","nameLocation":"11192:11:45","nodeType":"FunctionDefinition","parameters":{"id":16370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16367,"mutability":"mutable","name":"cycle","nameLocation":"11212:5:45","nodeType":"VariableDeclaration","scope":16461,"src":"11204:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16366,"name":"uint256","nodeType":"ElementaryTypeName","src":"11204:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16369,"mutability":"mutable","name":"voter","nameLocation":"11227:5:45","nodeType":"VariableDeclaration","scope":16461,"src":"11219:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16368,"name":"address","nodeType":"ElementaryTypeName","src":"11219:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11203:30:45"},"returnParameters":{"id":16373,"nodeType":"ParameterList","parameters":[],"src":"11256:0:45"},"scope":16783,"src":"11183:1061:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":16526,"nodeType":"Block","src":"12553:852:45","statements":[{"assignments":[16473],"declarations":[{"constant":false,"id":16473,"mutability":"mutable","name":"$","nameLocation":"12587:1:45","nodeType":"VariableDeclaration","scope":16526,"src":"12559:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16472,"nodeType":"UserDefinedTypeName","pathNode":{"id":16471,"name":"VoterRewardsStorage","nameLocations":["12559:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"12559:19:45"},"referencedDeclaration":16022,"src":"12559:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16476,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16474,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"12591:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12591:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12559:57:45"},{"assignments":[16478],"declarations":[{"constant":false,"id":16478,"mutability":"mutable","name":"total","nameLocation":"12702:5:45","nodeType":"VariableDeclaration","scope":16526,"src":"12694:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16477,"name":"uint256","nodeType":"ElementaryTypeName","src":"12694:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16485,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":16479,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16473,"src":"12710:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12712:19:45","memberName":"cycleToVoterToTotal","nodeType":"MemberAccess","referencedDeclaration":16021,"src":"12710:21:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":16482,"indexExpression":{"id":16481,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16464,"src":"12732:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12710:28:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":16484,"indexExpression":{"id":16483,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16466,"src":"12739:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12710:35:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12694:51:45"},{"assignments":[16487],"declarations":[{"constant":false,"id":16487,"mutability":"mutable","name":"totalCycle","nameLocation":"12817:10:45","nodeType":"VariableDeclaration","scope":16526,"src":"12809:18:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16486,"name":"uint256","nodeType":"ElementaryTypeName","src":"12809:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16492,"initialValue":{"baseExpression":{"expression":{"id":16488,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16473,"src":"12830:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12832:12:45","memberName":"cycleToTotal","nodeType":"MemberAccess","referencedDeclaration":16015,"src":"12830:14:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":16491,"indexExpression":{"id":16490,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16464,"src":"12845:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12830:21:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12809:42:45"},{"assignments":[16494],"declarations":[{"constant":false,"id":16494,"mutability":"mutable","name":"emissionsAmount","nameLocation":"12923:15:45","nodeType":"VariableDeclaration","scope":16526,"src":"12915:23:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16493,"name":"uint256","nodeType":"ElementaryTypeName","src":"12915:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16500,"initialValue":{"arguments":[{"id":16498,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16464,"src":"12972:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":16495,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16473,"src":"12941:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12943:9:45","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":16007,"src":"12941:11:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":16497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12953:18:45","memberName":"getVote2EarnAmount","nodeType":"MemberAccess","referencedDeclaration":64217,"src":"12941:30:45","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":16499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12941:37:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12915:63:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16502,"name":"emissionsAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16494,"src":"12992:15:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13010:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12992:19:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20656d697373696f6e73416d6f756e74206d7573742062652067726561746572207468616e2030","id":16505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13013:54:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_c1a7b54113d4ba24d564beb13df6f5f943af2a39f60bed4f3b8f78d1613110ef","typeString":"literal_string \"VoterRewards: emissionsAmount must be greater than 0\""},"value":"VoterRewards: emissionsAmount must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c1a7b54113d4ba24d564beb13df6f5f943af2a39f60bed4f3b8f78d1613110ef","typeString":"literal_string \"VoterRewards: emissionsAmount must be greater than 0\""}],"id":16501,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12984:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12984:84:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16507,"nodeType":"ExpressionStatement","src":"12984:84:45"},{"assignments":[16509],"declarations":[{"constant":false,"id":16509,"mutability":"mutable","name":"scaledNumerator","nameLocation":"13150:15:45","nodeType":"VariableDeclaration","scope":16526,"src":"13142:23:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16508,"name":"uint256","nodeType":"ElementaryTypeName","src":"13142:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16515,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16510,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16478,"src":"13168:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":16511,"name":"emissionsAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16494,"src":"13176:15:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13168:23:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":16513,"name":"SCALING_FACTOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15997,"src":"13194:14:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13168:40:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13142:66:45"},{"assignments":[16517],"declarations":[{"constant":false,"id":16517,"mutability":"mutable","name":"reward","nameLocation":"13275:6:45","nodeType":"VariableDeclaration","scope":16526,"src":"13267:14:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16516,"name":"uint256","nodeType":"ElementaryTypeName","src":"13267:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":16521,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16518,"name":"scaledNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16509,"src":"13284:15:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":16519,"name":"totalCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16487,"src":"13302:10:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13284:28:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13267:45:45"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16522,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16517,"src":"13377:6:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":16523,"name":"SCALING_FACTOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15997,"src":"13386:14:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13377:23:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":16470,"id":16525,"nodeType":"Return","src":"13370:30:45"}]},"documentation":{"id":16462,"nodeType":"StructuredDocumentation","src":"12301:170:45","text":"@notice Get the reward for a user in a specific cycle.\n @param cycle - The cycle in which the rewards are claimed.\n @param voter - The address of the voter."},"functionSelector":"008f33d7","id":16527,"implemented":true,"kind":"function","modifiers":[],"name":"getReward","nameLocation":"12483:9:45","nodeType":"FunctionDefinition","parameters":{"id":16467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16464,"mutability":"mutable","name":"cycle","nameLocation":"12501:5:45","nodeType":"VariableDeclaration","scope":16527,"src":"12493:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16463,"name":"uint256","nodeType":"ElementaryTypeName","src":"12493:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16466,"mutability":"mutable","name":"voter","nameLocation":"12516:5:45","nodeType":"VariableDeclaration","scope":16527,"src":"12508:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16465,"name":"address","nodeType":"ElementaryTypeName","src":"12508:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12492:30:45"},"returnParameters":{"id":16470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16469,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16527,"src":"12544:7:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16468,"name":"uint256","nodeType":"ElementaryTypeName","src":"12544:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12543:9:45"},"scope":16783,"src":"12474:931:45","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":16550,"nodeType":"Block","src":"13694:116:45","statements":[{"assignments":[16539],"declarations":[{"constant":false,"id":16539,"mutability":"mutable","name":"$","nameLocation":"13728:1:45","nodeType":"VariableDeclaration","scope":16550,"src":"13700:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16538,"nodeType":"UserDefinedTypeName","pathNode":{"id":16537,"name":"VoterRewardsStorage","nameLocations":["13700:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"13700:19:45"},"referencedDeclaration":16022,"src":"13700:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16542,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16540,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"13732:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13732:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13700:57:45"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":16543,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16539,"src":"13770:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13772:19:45","memberName":"cycleToVoterToTotal","nodeType":"MemberAccess","referencedDeclaration":16021,"src":"13770:21:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":16546,"indexExpression":{"id":16545,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16530,"src":"13792:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13770:28:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":16548,"indexExpression":{"id":16547,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16532,"src":"13799:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13770:35:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":16536,"id":16549,"nodeType":"Return","src":"13763:42:45"}]},"documentation":{"id":16528,"nodeType":"StructuredDocumentation","src":"13409:191:45","text":"@notice Get the total reward-weighted votes for a user in a specific cycle.\n @param cycle - The cycle in which the rewards are claimed.\n @param voter - The address of the voter."},"functionSelector":"105fe500","id":16551,"implemented":true,"kind":"function","modifiers":[],"name":"cycleToVoterToTotal","nameLocation":"13612:19:45","nodeType":"FunctionDefinition","parameters":{"id":16533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16530,"mutability":"mutable","name":"cycle","nameLocation":"13640:5:45","nodeType":"VariableDeclaration","scope":16551,"src":"13632:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16529,"name":"uint256","nodeType":"ElementaryTypeName","src":"13632:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16532,"mutability":"mutable","name":"voter","nameLocation":"13655:5:45","nodeType":"VariableDeclaration","scope":16551,"src":"13647:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16531,"name":"address","nodeType":"ElementaryTypeName","src":"13647:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13631:30:45"},"returnParameters":{"id":16536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16535,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16551,"src":"13685:7:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16534,"name":"uint256","nodeType":"ElementaryTypeName","src":"13685:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13684:9:45"},"scope":16783,"src":"13603:207:45","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":16570,"nodeType":"Block","src":"14019:102:45","statements":[{"assignments":[16561],"declarations":[{"constant":false,"id":16561,"mutability":"mutable","name":"$","nameLocation":"14053:1:45","nodeType":"VariableDeclaration","scope":16570,"src":"14025:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16560,"nodeType":"UserDefinedTypeName","pathNode":{"id":16559,"name":"VoterRewardsStorage","nameLocations":["14025:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"14025:19:45"},"referencedDeclaration":16022,"src":"14025:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16564,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16562,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"14057:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14057:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14025:57:45"},{"expression":{"baseExpression":{"expression":{"id":16565,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16561,"src":"14095:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16566,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14097:12:45","memberName":"cycleToTotal","nodeType":"MemberAccess","referencedDeclaration":16015,"src":"14095:14:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":16568,"indexExpression":{"id":16567,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16554,"src":"14110:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14095:21:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":16558,"id":16569,"nodeType":"Return","src":"14088:28:45"}]},"documentation":{"id":16552,"nodeType":"StructuredDocumentation","src":"13814:133:45","text":"@notice Get the total reward-weighted votes in a specific cycle.\n @param cycle - The cycle in which the rewards are claimed."},"functionSelector":"c208b4e7","id":16571,"implemented":true,"kind":"function","modifiers":[],"name":"cycleToTotal","nameLocation":"13959:12:45","nodeType":"FunctionDefinition","parameters":{"id":16555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16554,"mutability":"mutable","name":"cycle","nameLocation":"13980:5:45","nodeType":"VariableDeclaration","scope":16571,"src":"13972:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16553,"name":"uint256","nodeType":"ElementaryTypeName","src":"13972:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13971:15:45"},"returnParameters":{"id":16558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16571,"src":"14010:7:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16556,"name":"uint256","nodeType":"ElementaryTypeName","src":"14010:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14009:9:45"},"scope":16783,"src":"13950:171:45","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":16590,"nodeType":"Block","src":"14343:107:45","statements":[{"assignments":[16581],"declarations":[{"constant":false,"id":16581,"mutability":"mutable","name":"$","nameLocation":"14377:1:45","nodeType":"VariableDeclaration","scope":16590,"src":"14349:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16580,"nodeType":"UserDefinedTypeName","pathNode":{"id":16579,"name":"VoterRewardsStorage","nameLocations":["14349:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"14349:19:45"},"referencedDeclaration":16022,"src":"14349:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16584,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16582,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"14381:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14381:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14349:57:45"},{"expression":{"baseExpression":{"expression":{"id":16585,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16581,"src":"14419:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14421:17:45","memberName":"levelToMultiplier","nodeType":"MemberAccess","referencedDeclaration":16011,"src":"14419:19:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":16588,"indexExpression":{"id":16587,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16574,"src":"14439:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14419:26:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":16578,"id":16589,"nodeType":"Return","src":"14412:33:45"}]},"documentation":{"id":16572,"nodeType":"StructuredDocumentation","src":"14125:141:45","text":"@notice Get the reward multiplier for a specific level of the Galaxy Member NFT.\n @param level - The level of the Galaxy Member NFT."},"functionSelector":"5fdc1752","id":16591,"implemented":true,"kind":"function","modifiers":[],"name":"levelToMultiplier","nameLocation":"14278:17:45","nodeType":"FunctionDefinition","parameters":{"id":16575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16574,"mutability":"mutable","name":"level","nameLocation":"14304:5:45","nodeType":"VariableDeclaration","scope":16591,"src":"14296:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16573,"name":"uint256","nodeType":"ElementaryTypeName","src":"14296:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14295:15:45"},"returnParameters":{"id":16578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16591,"src":"14334:7:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16576,"name":"uint256","nodeType":"ElementaryTypeName","src":"14334:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14333:9:45"},"scope":16783,"src":"14269:181:45","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":16607,"nodeType":"Block","src":"14564:95:45","statements":[{"assignments":[16600],"declarations":[{"constant":false,"id":16600,"mutability":"mutable","name":"$","nameLocation":"14598:1:45","nodeType":"VariableDeclaration","scope":16607,"src":"14570:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16599,"nodeType":"UserDefinedTypeName","pathNode":{"id":16598,"name":"VoterRewardsStorage","nameLocations":["14570:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"14570:19:45"},"referencedDeclaration":16022,"src":"14570:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16603,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16601,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"14602:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14602:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14570:57:45"},{"expression":{"expression":{"id":16604,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16600,"src":"14640:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14642:12:45","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":16001,"src":"14640:14:45","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"functionReturnParameters":16597,"id":16606,"nodeType":"Return","src":"14633:21:45"}]},"documentation":{"id":16592,"nodeType":"StructuredDocumentation","src":"14454:43:45","text":"@notice Get the Galaxy Member contract."},"functionSelector":"2325e4b9","id":16608,"implemented":true,"kind":"function","modifiers":[],"name":"galaxyMember","nameLocation":"14509:12:45","nodeType":"FunctionDefinition","parameters":{"id":16593,"nodeType":"ParameterList","parameters":[],"src":"14521:2:45"},"returnParameters":{"id":16597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16596,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16608,"src":"14547:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"},"typeName":{"id":16595,"nodeType":"UserDefinedTypeName","pathNode":{"id":16594,"name":"IGalaxyMemberV1","nameLocations":["14547:15:45"],"nodeType":"IdentifierPath","referencedDeclaration":17385,"src":"14547:15:45"},"referencedDeclaration":17385,"src":"14547:15:45","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"visibility":"internal"}],"src":"14546:17:45"},"scope":16783,"src":"14500:159:45","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":16624,"nodeType":"Block","src":"14761:92:45","statements":[{"assignments":[16617],"declarations":[{"constant":false,"id":16617,"mutability":"mutable","name":"$","nameLocation":"14795:1:45","nodeType":"VariableDeclaration","scope":16624,"src":"14767:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16616,"nodeType":"UserDefinedTypeName","pathNode":{"id":16615,"name":"VoterRewardsStorage","nameLocations":["14767:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"14767:19:45"},"referencedDeclaration":16022,"src":"14767:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16620,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16618,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"14799:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14799:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14767:57:45"},{"expression":{"expression":{"id":16621,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16617,"src":"14837:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14839:9:45","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":16007,"src":"14837:11:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"functionReturnParameters":16614,"id":16623,"nodeType":"Return","src":"14830:18:45"}]},"documentation":{"id":16609,"nodeType":"StructuredDocumentation","src":"14663:39:45","text":"@notice Get the Emissions contract."},"functionSelector":"2267716c","id":16625,"implemented":true,"kind":"function","modifiers":[],"name":"emissions","nameLocation":"14714:9:45","nodeType":"FunctionDefinition","parameters":{"id":16610,"nodeType":"ParameterList","parameters":[],"src":"14723:2:45"},"returnParameters":{"id":16614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16625,"src":"14749:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":16612,"nodeType":"UserDefinedTypeName","pathNode":{"id":16611,"name":"IEmissions","nameLocations":["14749:10:45"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"14749:10:45"},"referencedDeclaration":64454,"src":"14749:10:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"14748:12:45"},"scope":16783,"src":"14705:148:45","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":16641,"nodeType":"Block","src":"14946:87:45","statements":[{"assignments":[16634],"declarations":[{"constant":false,"id":16634,"mutability":"mutable","name":"$","nameLocation":"14980:1:45","nodeType":"VariableDeclaration","scope":16641,"src":"14952:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16633,"nodeType":"UserDefinedTypeName","pathNode":{"id":16632,"name":"VoterRewardsStorage","nameLocations":["14952:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"14952:19:45"},"referencedDeclaration":16022,"src":"14952:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16637,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16635,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"14984:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14984:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14952:57:45"},{"expression":{"expression":{"id":16638,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16634,"src":"15022:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15024:4:45","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":16004,"src":"15022:6:45","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"functionReturnParameters":16631,"id":16640,"nodeType":"Return","src":"15015:13:45"}]},"documentation":{"id":16626,"nodeType":"StructuredDocumentation","src":"14857:40:45","text":"@notice Get the B3TR token contract."},"functionSelector":"582a486a","id":16642,"implemented":true,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"14909:4:45","nodeType":"FunctionDefinition","parameters":{"id":16627,"nodeType":"ParameterList","parameters":[],"src":"14913:2:45"},"returnParameters":{"id":16631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16630,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16642,"src":"14939:5:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":16629,"nodeType":"UserDefinedTypeName","pathNode":{"id":16628,"name":"IB3TR","nameLocations":["14939:5:45"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"14939:5:45"},"referencedDeclaration":62888,"src":"14939:5:45","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"14938:7:45"},"scope":16783,"src":"14900:133:45","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":16684,"nodeType":"Block","src":"15306:301:45","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16652,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16645,"src":"15320:13:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15345:1:45","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":16654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15337:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16653,"name":"address","nodeType":"ElementaryTypeName","src":"15337:7:45","typeDescriptions":{}}},"id":16656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15337:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15320:27:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a205f67616c6178794d656d6265722063616e6e6f7420626520746865207a65726f2061646472657373","id":16658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15349:56:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d","typeString":"literal_string \"VoterRewards: _galaxyMember cannot be the zero address\""},"value":"VoterRewards: _galaxyMember cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d","typeString":"literal_string \"VoterRewards: _galaxyMember cannot be the zero address\""}],"id":16651,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15312:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15312:94:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16660,"nodeType":"ExpressionStatement","src":"15312:94:45"},{"assignments":[16663],"declarations":[{"constant":false,"id":16663,"mutability":"mutable","name":"$","nameLocation":"15441:1:45","nodeType":"VariableDeclaration","scope":16684,"src":"15413:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16662,"nodeType":"UserDefinedTypeName","pathNode":{"id":16661,"name":"VoterRewardsStorage","nameLocations":["15413:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"15413:19:45"},"referencedDeclaration":16022,"src":"15413:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16666,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16664,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"15445:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15413:57:45"},{"eventCall":{"arguments":[{"id":16668,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16645,"src":"15509:13:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":16671,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16663,"src":"15532:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15534:12:45","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":16001,"src":"15532:14:45","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}],"id":16670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15524:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16669,"name":"address","nodeType":"ElementaryTypeName","src":"15524:7:45","typeDescriptions":{}}},"id":16673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15524:23:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16667,"name":"GalaxyMemberAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16061,"src":"15482:26:45","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":16674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15482:66:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16675,"nodeType":"EmitStatement","src":"15477:71:45"},{"expression":{"id":16682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":16676,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16663,"src":"15555:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16678,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15557:12:45","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":16001,"src":"15555:14:45","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16680,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16645,"src":"15588:13:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":16679,"name":"IGalaxyMemberV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17385,"src":"15572:15:45","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGalaxyMemberV1_$17385_$","typeString":"type(contract IGalaxyMemberV1)"}},"id":16681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15572:30:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"src":"15555:47:45","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV1_$17385","typeString":"contract IGalaxyMemberV1"}},"id":16683,"nodeType":"ExpressionStatement","src":"15555:47:45"}]},"documentation":{"id":16643,"nodeType":"StructuredDocumentation","src":"15090:115:45","text":"@notice Set the Galaxy Member contract.\n @param _galaxyMember - The address of the Galaxy Member contract."},"functionSelector":"ae0b8da8","id":16685,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":16648,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15993,"src":"15274:30:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":16649,"kind":"modifierInvocation","modifierName":{"id":16647,"name":"onlyRole","nameLocations":["15265:8:45"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"15265:8:45"},"nodeType":"ModifierInvocation","src":"15265:40:45"}],"name":"setGalaxyMember","nameLocation":"15217:15:45","nodeType":"FunctionDefinition","parameters":{"id":16646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16645,"mutability":"mutable","name":"_galaxyMember","nameLocation":"15241:13:45","nodeType":"VariableDeclaration","scope":16685,"src":"15233:21:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16644,"name":"address","nodeType":"ElementaryTypeName","src":"15233:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15232:23:45"},"returnParameters":{"id":16650,"nodeType":"ParameterList","parameters":[],"src":"15306:0:45"},"scope":16783,"src":"15208:399:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":16729,"nodeType":"Block","src":"15928:315:45","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16697,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16688,"src":"15942:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15950:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15942:9:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206c6576656c206d7573742062652067726561746572207468616e2030","id":16700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15953:44:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642","typeString":"literal_string \"VoterRewards: level must be greater than 0\""},"value":"VoterRewards: level must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642","typeString":"literal_string \"VoterRewards: level must be greater than 0\""}],"id":16696,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15934:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15934:64:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16702,"nodeType":"ExpressionStatement","src":"15934:64:45"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":16706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16704,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16690,"src":"16012:10:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":16705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16025:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16012:14:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206d756c7469706c696572206d7573742062652067726561746572207468616e2030","id":16707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16028:49:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38","typeString":"literal_string \"VoterRewards: multiplier must be greater than 0\""},"value":"VoterRewards: multiplier must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38","typeString":"literal_string \"VoterRewards: multiplier must be greater than 0\""}],"id":16703,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16004:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16004:74:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16709,"nodeType":"ExpressionStatement","src":"16004:74:45"},{"assignments":[16712],"declarations":[{"constant":false,"id":16712,"mutability":"mutable","name":"$","nameLocation":"16113:1:45","nodeType":"VariableDeclaration","scope":16729,"src":"16085:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16711,"nodeType":"UserDefinedTypeName","pathNode":{"id":16710,"name":"VoterRewardsStorage","nameLocations":["16085:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"16085:19:45"},"referencedDeclaration":16022,"src":"16085:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16715,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16713,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"16117:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16117:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16085:57:45"},{"expression":{"id":16722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":16716,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16712,"src":"16148:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16719,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16150:17:45","memberName":"levelToMultiplier","nodeType":"MemberAccess","referencedDeclaration":16011,"src":"16148:19:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":16720,"indexExpression":{"id":16718,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16688,"src":"16168:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16148:26:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":16721,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16690,"src":"16177:10:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16148:39:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16723,"nodeType":"ExpressionStatement","src":"16148:39:45"},{"eventCall":{"arguments":[{"id":16725,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16688,"src":"16220:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16726,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16690,"src":"16227:10:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":16724,"name":"LevelToMultiplierSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16075,"src":"16199:20:45","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":16727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16199:39:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16728,"nodeType":"EmitStatement","src":"16194:44:45"}]},"documentation":{"id":16686,"nodeType":"StructuredDocumentation","src":"15611:211:45","text":"@notice Set the Galaxy Member level to multiplier mapping.\n @param level - The level of the Galaxy Member NFT.\n @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT."},"functionSelector":"b0b3de89","id":16730,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":16693,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"15908:18:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":16694,"kind":"modifierInvocation","modifierName":{"id":16692,"name":"onlyRole","nameLocations":["15899:8:45"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"15899:8:45"},"nodeType":"ModifierInvocation","src":"15899:28:45"}],"name":"setLevelToMultiplier","nameLocation":"15834:20:45","nodeType":"FunctionDefinition","parameters":{"id":16691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16688,"mutability":"mutable","name":"level","nameLocation":"15863:5:45","nodeType":"VariableDeclaration","scope":16730,"src":"15855:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16687,"name":"uint256","nodeType":"ElementaryTypeName","src":"15855:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16690,"mutability":"mutable","name":"multiplier","nameLocation":"15878:10:45","nodeType":"VariableDeclaration","scope":16730,"src":"15870:18:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16689,"name":"uint256","nodeType":"ElementaryTypeName","src":"15870:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15854:35:45"},"returnParameters":{"id":16695,"nodeType":"ParameterList","parameters":[],"src":"15928:0:45"},"scope":16783,"src":"15825:418:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":16772,"nodeType":"Block","src":"16447:274:45","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":16745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":16740,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16733,"src":"16461:10:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16483:1:45","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":16742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16475:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16741,"name":"address","nodeType":"ElementaryTypeName","src":"16475:7:45","typeDescriptions":{}}},"id":16744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16475:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16461:24:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20656d697373696f6e732063616e6e6f7420626520746865207a65726f2061646472657373","id":16746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16487:52:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001","typeString":"literal_string \"VoterRewards: emissions cannot be the zero address\""},"value":"VoterRewards: emissions cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001","typeString":"literal_string \"VoterRewards: emissions cannot be the zero address\""}],"id":16739,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16453:7:45","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":16747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16453:87:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16748,"nodeType":"ExpressionStatement","src":"16453:87:45"},{"assignments":[16751],"declarations":[{"constant":false,"id":16751,"mutability":"mutable","name":"$","nameLocation":"16575:1:45","nodeType":"VariableDeclaration","scope":16772,"src":"16547:29:45","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"},"typeName":{"id":16750,"nodeType":"UserDefinedTypeName","pathNode":{"id":16749,"name":"VoterRewardsStorage","nameLocations":["16547:19:45"],"nodeType":"IdentifierPath","referencedDeclaration":16022,"src":"16547:19:45"},"referencedDeclaration":16022,"src":"16547:19:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage"}},"visibility":"internal"}],"id":16754,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":16752,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16034,"src":"16579:23:45","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$16022_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV1.VoterRewardsStorage storage pointer)"}},"id":16753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16579:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16547:57:45"},{"eventCall":{"arguments":[{"id":16756,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16733,"src":"16640:10:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":16759,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16751,"src":"16660:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16760,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16662:9:45","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":16007,"src":"16660:11:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":16758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16652:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":16757,"name":"address","nodeType":"ElementaryTypeName","src":"16652:7:45","typeDescriptions":{}}},"id":16761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16652:20:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":16755,"name":"EmissionsAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16068,"src":"16616:23:45","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":16762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16616:57:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16763,"nodeType":"EmitStatement","src":"16611:62:45"},{"expression":{"id":16770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":16764,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16751,"src":"16680:1:45","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$16022_storage_ptr","typeString":"struct VoterRewardsV1.VoterRewardsStorage storage pointer"}},"id":16766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16682:9:45","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":16007,"src":"16680:11:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":16768,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16733,"src":"16705:10:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":16767,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"16694:10:45","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IEmissions_$64454_$","typeString":"type(contract IEmissions)"}},"id":16769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16694:22:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"16680:36:45","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":16771,"nodeType":"ExpressionStatement","src":"16680:36:45"}]},"documentation":{"id":16731,"nodeType":"StructuredDocumentation","src":"16247:105:45","text":"@notice Set the Emmissions contract.\n @param _emissions - The address of the emissions contract."},"functionSelector":"08834ee7","id":16773,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":16736,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15993,"src":"16415:30:45","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":16737,"kind":"modifierInvocation","modifierName":{"id":16735,"name":"onlyRole","nameLocations":["16406:8:45"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"16406:8:45"},"nodeType":"ModifierInvocation","src":"16406:40:45"}],"name":"setEmissions","nameLocation":"16364:12:45","nodeType":"FunctionDefinition","parameters":{"id":16734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16733,"mutability":"mutable","name":"_emissions","nameLocation":"16385:10:45","nodeType":"VariableDeclaration","scope":16773,"src":"16377:18:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16732,"name":"address","nodeType":"ElementaryTypeName","src":"16377:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16376:20:45"},"returnParameters":{"id":16738,"nodeType":"ParameterList","parameters":[],"src":"16447:0:45"},"scope":16783,"src":"16355:366:45","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":16781,"nodeType":"Block","src":"16978:21:45","statements":[{"expression":{"hexValue":"31","id":16779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16991:3:45","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"},"functionReturnParameters":16778,"id":16780,"nodeType":"Return","src":"16984:10:45"}]},"documentation":{"id":16774,"nodeType":"StructuredDocumentation","src":"16725:185:45","text":"@notice Returns the version of the contract\n @dev This should be updated every time a new version of implementation is deployed\n @return string The version of the contract"},"functionSelector":"54fd4d50","id":16782,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"16922:7:45","nodeType":"FunctionDefinition","parameters":{"id":16775,"nodeType":"ParameterList","parameters":[],"src":"16929:2:45"},"returnParameters":{"id":16778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16782,"src":"16963:13:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16776,"name":"string","nodeType":"ElementaryTypeName","src":"16963:6:45","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16962:15:45"},"scope":16783,"src":"16913:86:45","stateMutability":"pure","virtual":true,"visibility":"external"}],"scope":16784,"src":"2643:14358:45","usedErrors":[1495,1498,1759,1764,4194,4342,4345,4738,4751,5344,5347],"usedEvents":[1503,4354,4363,4372,4717,16045,16054,16061,16068,16075]}],"src":"1195:15807:45"},"id":45},"contracts/deprecated/V1/interfaces/IGalaxyMemberV1.sol":{"ast":{"absolutePath":"contracts/deprecated/V1/interfaces/IGalaxyMemberV1.sol","exportedSymbols":{"Checkpoints":[10447],"IGalaxyMemberV1":[17385],"Math":[7015]},"id":17386,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":16785,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:46"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":16786,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17386,"sourceUnit":10448,"src":"58:63:46","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IGalaxyMemberV1","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":17385,"linearizedBaseContracts":[17385],"name":"IGalaxyMemberV1","nameLocation":"133:15:46","nodeType":"ContractDefinition","nodes":[{"errorSelector":"6697b232","id":16788,"name":"AccessControlBadConfirmation","nameLocation":"159:28:46","nodeType":"ErrorDefinition","parameters":{"id":16787,"nodeType":"ParameterList","parameters":[],"src":"187:2:46"},"src":"153:37:46"},{"errorSelector":"e2517d3f","id":16794,"name":"AccessControlUnauthorizedAccount","nameLocation":"200:32:46","nodeType":"ErrorDefinition","parameters":{"id":16793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16790,"mutability":"mutable","name":"account","nameLocation":"241:7:46","nodeType":"VariableDeclaration","scope":16794,"src":"233:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16789,"name":"address","nodeType":"ElementaryTypeName","src":"233:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16792,"mutability":"mutable","name":"neededRole","nameLocation":"258:10:46","nodeType":"VariableDeclaration","scope":16794,"src":"250:18:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16791,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"232:37:46"},"src":"194:76:46"},{"errorSelector":"9996b315","id":16798,"name":"AddressEmptyCode","nameLocation":"280:16:46","nodeType":"ErrorDefinition","parameters":{"id":16797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16796,"mutability":"mutable","name":"target","nameLocation":"305:6:46","nodeType":"VariableDeclaration","scope":16798,"src":"297:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16795,"name":"address","nodeType":"ElementaryTypeName","src":"297:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"296:16:46"},"src":"274:39:46"},{"errorSelector":"2520601d","id":16800,"name":"CheckpointUnorderedInsertion","nameLocation":"323:28:46","nodeType":"ErrorDefinition","parameters":{"id":16799,"nodeType":"ParameterList","parameters":[],"src":"351:2:46"},"src":"317:37:46"},{"errorSelector":"4c9c8ce3","id":16804,"name":"ERC1967InvalidImplementation","nameLocation":"364:28:46","nodeType":"ErrorDefinition","parameters":{"id":16803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16802,"mutability":"mutable","name":"implementation","nameLocation":"401:14:46","nodeType":"VariableDeclaration","scope":16804,"src":"393:22:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16801,"name":"address","nodeType":"ElementaryTypeName","src":"393:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"392:24:46"},"src":"358:59:46"},{"errorSelector":"b398979f","id":16806,"name":"ERC1967NonPayable","nameLocation":"427:17:46","nodeType":"ErrorDefinition","parameters":{"id":16805,"nodeType":"ParameterList","parameters":[],"src":"444:2:46"},"src":"421:26:46"},{"errorSelector":"ecd3f81e","id":16812,"name":"ERC5805FutureLookup","nameLocation":"457:19:46","nodeType":"ErrorDefinition","parameters":{"id":16811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16808,"mutability":"mutable","name":"timepoint","nameLocation":"485:9:46","nodeType":"VariableDeclaration","scope":16812,"src":"477:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16807,"name":"uint256","nodeType":"ElementaryTypeName","src":"477:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16810,"mutability":"mutable","name":"clock","nameLocation":"503:5:46","nodeType":"VariableDeclaration","scope":16812,"src":"496:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":16809,"name":"uint48","nodeType":"ElementaryTypeName","src":"496:6:46","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"476:33:46"},"src":"451:59:46"},{"errorSelector":"6ff07140","id":16814,"name":"ERC6372InconsistentClock","nameLocation":"520:24:46","nodeType":"ErrorDefinition","parameters":{"id":16813,"nodeType":"ParameterList","parameters":[],"src":"544:2:46"},"src":"514:33:46"},{"errorSelector":"59171fc1","id":16816,"name":"ERC721EnumerableForbiddenBatchMint","nameLocation":"557:34:46","nodeType":"ErrorDefinition","parameters":{"id":16815,"nodeType":"ParameterList","parameters":[],"src":"591:2:46"},"src":"551:43:46"},{"errorSelector":"64283d7b","id":16824,"name":"ERC721IncorrectOwner","nameLocation":"604:20:46","nodeType":"ErrorDefinition","parameters":{"id":16823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16818,"mutability":"mutable","name":"sender","nameLocation":"633:6:46","nodeType":"VariableDeclaration","scope":16824,"src":"625:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16817,"name":"address","nodeType":"ElementaryTypeName","src":"625:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16820,"mutability":"mutable","name":"tokenId","nameLocation":"649:7:46","nodeType":"VariableDeclaration","scope":16824,"src":"641:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16819,"name":"uint256","nodeType":"ElementaryTypeName","src":"641:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16822,"mutability":"mutable","name":"owner","nameLocation":"666:5:46","nodeType":"VariableDeclaration","scope":16824,"src":"658:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16821,"name":"address","nodeType":"ElementaryTypeName","src":"658:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"624:48:46"},"src":"598:75:46"},{"errorSelector":"177e802f","id":16830,"name":"ERC721InsufficientApproval","nameLocation":"683:26:46","nodeType":"ErrorDefinition","parameters":{"id":16829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16826,"mutability":"mutable","name":"operator","nameLocation":"718:8:46","nodeType":"VariableDeclaration","scope":16830,"src":"710:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16825,"name":"address","nodeType":"ElementaryTypeName","src":"710:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16828,"mutability":"mutable","name":"tokenId","nameLocation":"736:7:46","nodeType":"VariableDeclaration","scope":16830,"src":"728:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16827,"name":"uint256","nodeType":"ElementaryTypeName","src":"728:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"709:35:46"},"src":"677:68:46"},{"errorSelector":"a9fbf51f","id":16834,"name":"ERC721InvalidApprover","nameLocation":"755:21:46","nodeType":"ErrorDefinition","parameters":{"id":16833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16832,"mutability":"mutable","name":"approver","nameLocation":"785:8:46","nodeType":"VariableDeclaration","scope":16834,"src":"777:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16831,"name":"address","nodeType":"ElementaryTypeName","src":"777:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"776:18:46"},"src":"749:46:46"},{"errorSelector":"5b08ba18","id":16838,"name":"ERC721InvalidOperator","nameLocation":"805:21:46","nodeType":"ErrorDefinition","parameters":{"id":16837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16836,"mutability":"mutable","name":"operator","nameLocation":"835:8:46","nodeType":"VariableDeclaration","scope":16838,"src":"827:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16835,"name":"address","nodeType":"ElementaryTypeName","src":"827:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"826:18:46"},"src":"799:46:46"},{"errorSelector":"89c62b64","id":16842,"name":"ERC721InvalidOwner","nameLocation":"855:18:46","nodeType":"ErrorDefinition","parameters":{"id":16841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16840,"mutability":"mutable","name":"owner","nameLocation":"882:5:46","nodeType":"VariableDeclaration","scope":16842,"src":"874:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16839,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"873:15:46"},"src":"849:40:46"},{"errorSelector":"64a0ae92","id":16846,"name":"ERC721InvalidReceiver","nameLocation":"899:21:46","nodeType":"ErrorDefinition","parameters":{"id":16845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16844,"mutability":"mutable","name":"receiver","nameLocation":"929:8:46","nodeType":"VariableDeclaration","scope":16846,"src":"921:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16843,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"920:18:46"},"src":"893:46:46"},{"errorSelector":"73c6ac6e","id":16850,"name":"ERC721InvalidSender","nameLocation":"949:19:46","nodeType":"ErrorDefinition","parameters":{"id":16849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16848,"mutability":"mutable","name":"sender","nameLocation":"977:6:46","nodeType":"VariableDeclaration","scope":16850,"src":"969:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16847,"name":"address","nodeType":"ElementaryTypeName","src":"969:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"968:16:46"},"src":"943:42:46"},{"errorSelector":"7e273289","id":16854,"name":"ERC721NonexistentToken","nameLocation":"995:22:46","nodeType":"ErrorDefinition","parameters":{"id":16853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16852,"mutability":"mutable","name":"tokenId","nameLocation":"1026:7:46","nodeType":"VariableDeclaration","scope":16854,"src":"1018:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16851,"name":"uint256","nodeType":"ElementaryTypeName","src":"1018:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1017:17:46"},"src":"989:46:46"},{"errorSelector":"a57d13dc","id":16860,"name":"ERC721OutOfBoundsIndex","nameLocation":"1045:22:46","nodeType":"ErrorDefinition","parameters":{"id":16859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16856,"mutability":"mutable","name":"owner","nameLocation":"1076:5:46","nodeType":"VariableDeclaration","scope":16860,"src":"1068:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16855,"name":"address","nodeType":"ElementaryTypeName","src":"1068:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16858,"mutability":"mutable","name":"index","nameLocation":"1091:5:46","nodeType":"VariableDeclaration","scope":16860,"src":"1083:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16857,"name":"uint256","nodeType":"ElementaryTypeName","src":"1083:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1067:30:46"},"src":"1039:59:46"},{"errorSelector":"d93c0665","id":16862,"name":"EnforcedPause","nameLocation":"1108:13:46","nodeType":"ErrorDefinition","parameters":{"id":16861,"nodeType":"ParameterList","parameters":[],"src":"1121:2:46"},"src":"1102:22:46"},{"errorSelector":"8dfc202b","id":16864,"name":"ExpectedPause","nameLocation":"1134:13:46","nodeType":"ErrorDefinition","parameters":{"id":16863,"nodeType":"ParameterList","parameters":[],"src":"1147:2:46"},"src":"1128:22:46"},{"errorSelector":"1425ea42","id":16866,"name":"FailedInnerCall","nameLocation":"1160:15:46","nodeType":"ErrorDefinition","parameters":{"id":16865,"nodeType":"ParameterList","parameters":[],"src":"1175:2:46"},"src":"1154:24:46"},{"errorSelector":"f92ee8a9","id":16868,"name":"InvalidInitialization","nameLocation":"1188:21:46","nodeType":"ErrorDefinition","parameters":{"id":16867,"nodeType":"ParameterList","parameters":[],"src":"1209:2:46"},"src":"1182:30:46"},{"errorSelector":"d7e6bcf8","id":16870,"name":"NotInitializing","nameLocation":"1222:15:46","nodeType":"ErrorDefinition","parameters":{"id":16869,"nodeType":"ParameterList","parameters":[],"src":"1237:2:46"},"src":"1216:24:46"},{"errorSelector":"3ee5aeb5","id":16872,"name":"ReentrancyGuardReentrantCall","nameLocation":"1250:28:46","nodeType":"ErrorDefinition","parameters":{"id":16871,"nodeType":"ParameterList","parameters":[],"src":"1278:2:46"},"src":"1244:37:46"},{"errorSelector":"6dfcc650","id":16878,"name":"SafeCastOverflowedUintDowncast","nameLocation":"1291:30:46","nodeType":"ErrorDefinition","parameters":{"id":16877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16874,"mutability":"mutable","name":"bits","nameLocation":"1328:4:46","nodeType":"VariableDeclaration","scope":16878,"src":"1322:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":16873,"name":"uint8","nodeType":"ElementaryTypeName","src":"1322:5:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":16876,"mutability":"mutable","name":"value","nameLocation":"1342:5:46","nodeType":"VariableDeclaration","scope":16878,"src":"1334:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16875,"name":"uint256","nodeType":"ElementaryTypeName","src":"1334:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1321:27:46"},"src":"1285:64:46"},{"errorSelector":"e07c8dba","id":16880,"name":"UUPSUnauthorizedCallContext","nameLocation":"1359:27:46","nodeType":"ErrorDefinition","parameters":{"id":16879,"nodeType":"ParameterList","parameters":[],"src":"1386:2:46"},"src":"1353:36:46"},{"errorSelector":"aa1d49a4","id":16884,"name":"UUPSUnsupportedProxiableUUID","nameLocation":"1399:28:46","nodeType":"ErrorDefinition","parameters":{"id":16883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16882,"mutability":"mutable","name":"slot","nameLocation":"1436:4:46","nodeType":"VariableDeclaration","scope":16884,"src":"1428:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16881,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1428:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1427:14:46"},"src":"1393:49:46"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":16892,"name":"Approval","nameLocation":"1452:8:46","nodeType":"EventDefinition","parameters":{"id":16891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16886,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"1477:5:46","nodeType":"VariableDeclaration","scope":16892,"src":"1461:21:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16885,"name":"address","nodeType":"ElementaryTypeName","src":"1461:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16888,"indexed":true,"mutability":"mutable","name":"approved","nameLocation":"1500:8:46","nodeType":"VariableDeclaration","scope":16892,"src":"1484:24:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16887,"name":"address","nodeType":"ElementaryTypeName","src":"1484:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16890,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"1526:7:46","nodeType":"VariableDeclaration","scope":16892,"src":"1510:23:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16889,"name":"uint256","nodeType":"ElementaryTypeName","src":"1510:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1460:74:46"},"src":"1446:89:46"},{"anonymous":false,"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","id":16900,"name":"ApprovalForAll","nameLocation":"1545:14:46","nodeType":"EventDefinition","parameters":{"id":16899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16894,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"1576:5:46","nodeType":"VariableDeclaration","scope":16900,"src":"1560:21:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16893,"name":"address","nodeType":"ElementaryTypeName","src":"1560:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16896,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"1599:8:46","nodeType":"VariableDeclaration","scope":16900,"src":"1583:24:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16895,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16898,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"1614:8:46","nodeType":"VariableDeclaration","scope":16900,"src":"1609:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16897,"name":"bool","nodeType":"ElementaryTypeName","src":"1609:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1559:64:46"},"src":"1539:85:46"},{"anonymous":false,"eventSelector":"c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2","id":16904,"name":"Initialized","nameLocation":"1634:11:46","nodeType":"EventDefinition","parameters":{"id":16903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16902,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"1653:7:46","nodeType":"VariableDeclaration","scope":16904,"src":"1646:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16901,"name":"uint64","nodeType":"ElementaryTypeName","src":"1646:6:46","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1645:16:46"},"src":"1628:34:46"},{"anonymous":false,"eventSelector":"62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258","id":16908,"name":"Paused","nameLocation":"1672:6:46","nodeType":"EventDefinition","parameters":{"id":16907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16906,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"1687:7:46","nodeType":"VariableDeclaration","scope":16908,"src":"1679:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16905,"name":"address","nodeType":"ElementaryTypeName","src":"1679:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1678:17:46"},"src":"1666:30:46"},{"anonymous":false,"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":16916,"name":"RoleAdminChanged","nameLocation":"1706:16:46","nodeType":"EventDefinition","parameters":{"id":16915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16910,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1739:4:46","nodeType":"VariableDeclaration","scope":16916,"src":"1723:20:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1723:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16912,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"1761:17:46","nodeType":"VariableDeclaration","scope":16916,"src":"1745:33:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1745:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16914,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"1796:12:46","nodeType":"VariableDeclaration","scope":16916,"src":"1780:28:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1780:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1722:87:46"},"src":"1700:110:46"},{"anonymous":false,"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":16924,"name":"RoleGranted","nameLocation":"1820:11:46","nodeType":"EventDefinition","parameters":{"id":16923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16918,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1848:4:46","nodeType":"VariableDeclaration","scope":16924,"src":"1832:20:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1832:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16920,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1870:7:46","nodeType":"VariableDeclaration","scope":16924,"src":"1854:23:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16919,"name":"address","nodeType":"ElementaryTypeName","src":"1854:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16922,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1895:6:46","nodeType":"VariableDeclaration","scope":16924,"src":"1879:22:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16921,"name":"address","nodeType":"ElementaryTypeName","src":"1879:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1831:71:46"},"src":"1814:89:46"},{"anonymous":false,"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":16932,"name":"RoleRevoked","nameLocation":"1913:11:46","nodeType":"EventDefinition","parameters":{"id":16931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16926,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1941:4:46","nodeType":"VariableDeclaration","scope":16932,"src":"1925:20:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1925:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16928,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1963:7:46","nodeType":"VariableDeclaration","scope":16932,"src":"1947:23:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16927,"name":"address","nodeType":"ElementaryTypeName","src":"1947:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16930,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1988:6:46","nodeType":"VariableDeclaration","scope":16932,"src":"1972:22:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16929,"name":"address","nodeType":"ElementaryTypeName","src":"1972:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1924:71:46"},"src":"1907:89:46"},{"anonymous":false,"eventSelector":"d3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc","id":16938,"name":"Selected","nameLocation":"2006:8:46","nodeType":"EventDefinition","parameters":{"id":16937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16934,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"2031:5:46","nodeType":"VariableDeclaration","scope":16938,"src":"2015:21:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16933,"name":"address","nodeType":"ElementaryTypeName","src":"2015:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16936,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"2046:7:46","nodeType":"VariableDeclaration","scope":16938,"src":"2038:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16935,"name":"uint256","nodeType":"ElementaryTypeName","src":"2038:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2014:40:46"},"src":"2000:55:46"},{"anonymous":false,"eventSelector":"13c176ea972a95c2e9d4fac2a9ba6d6945e1b9c80eb17e26bd04bd9a3e229edf","id":16946,"name":"SelectedLevel","nameLocation":"2065:13:46","nodeType":"EventDefinition","parameters":{"id":16945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16940,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"2095:5:46","nodeType":"VariableDeclaration","scope":16946,"src":"2079:21:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16939,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16942,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"2110:8:46","nodeType":"VariableDeclaration","scope":16946,"src":"2102:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16941,"name":"uint256","nodeType":"ElementaryTypeName","src":"2102:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16944,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"2128:8:46","nodeType":"VariableDeclaration","scope":16946,"src":"2120:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16943,"name":"uint256","nodeType":"ElementaryTypeName","src":"2120:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2078:59:46"},"src":"2059:79:46"},{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":16954,"name":"Transfer","nameLocation":"2148:8:46","nodeType":"EventDefinition","parameters":{"id":16953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16948,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"2173:4:46","nodeType":"VariableDeclaration","scope":16954,"src":"2157:20:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16947,"name":"address","nodeType":"ElementaryTypeName","src":"2157:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16950,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"2195:2:46","nodeType":"VariableDeclaration","scope":16954,"src":"2179:18:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16949,"name":"address","nodeType":"ElementaryTypeName","src":"2179:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16952,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2215:7:46","nodeType":"VariableDeclaration","scope":16954,"src":"2199:23:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16951,"name":"uint256","nodeType":"ElementaryTypeName","src":"2199:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2156:67:46"},"src":"2142:82:46"},{"anonymous":false,"eventSelector":"5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa","id":16958,"name":"Unpaused","nameLocation":"2234:8:46","nodeType":"EventDefinition","parameters":{"id":16957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16956,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"2251:7:46","nodeType":"VariableDeclaration","scope":16958,"src":"2243:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16955,"name":"address","nodeType":"ElementaryTypeName","src":"2243:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2242:17:46"},"src":"2228:32:46"},{"anonymous":false,"eventSelector":"bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","id":16962,"name":"Upgraded","nameLocation":"2270:8:46","nodeType":"EventDefinition","parameters":{"id":16961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16960,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"2295:14:46","nodeType":"VariableDeclaration","scope":16962,"src":"2279:30:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16959,"name":"address","nodeType":"ElementaryTypeName","src":"2279:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2278:32:46"},"src":"2264:47:46"},{"anonymous":false,"eventSelector":"936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854","id":16970,"name":"Upgraded","nameLocation":"2321:8:46","nodeType":"EventDefinition","parameters":{"id":16969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16964,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2346:7:46","nodeType":"VariableDeclaration","scope":16970,"src":"2330:23:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16963,"name":"uint256","nodeType":"ElementaryTypeName","src":"2330:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16966,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"2363:8:46","nodeType":"VariableDeclaration","scope":16970,"src":"2355:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16965,"name":"uint256","nodeType":"ElementaryTypeName","src":"2355:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16968,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"2381:8:46","nodeType":"VariableDeclaration","scope":16970,"src":"2373:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16967,"name":"uint256","nodeType":"ElementaryTypeName","src":"2373:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2329:61:46"},"src":"2315:76:46"},{"anonymous":false,"eventSelector":"53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450","id":16976,"name":"MaxLevelUpdated","nameLocation":"2401:15:46","nodeType":"EventDefinition","parameters":{"id":16975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16972,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"2425:8:46","nodeType":"VariableDeclaration","scope":16976,"src":"2417:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16971,"name":"uint256","nodeType":"ElementaryTypeName","src":"2417:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16974,"indexed":true,"mutability":"mutable","name":"newLevel","nameLocation":"2451:8:46","nodeType":"VariableDeclaration","scope":16976,"src":"2435:24:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16973,"name":"uint256","nodeType":"ElementaryTypeName","src":"2435:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2416:44:46"},"src":"2395:66:46"},{"anonymous":false,"eventSelector":"d9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af129","id":16982,"name":"XAllocationsGovernorAddressUpdated","nameLocation":"2471:34:46","nodeType":"EventDefinition","parameters":{"id":16981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16978,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"2522:10:46","nodeType":"VariableDeclaration","scope":16982,"src":"2506:26:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16977,"name":"address","nodeType":"ElementaryTypeName","src":"2506:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16980,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"2550:10:46","nodeType":"VariableDeclaration","scope":16982,"src":"2534:26:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16979,"name":"address","nodeType":"ElementaryTypeName","src":"2534:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2505:56:46"},"src":"2465:97:46"},{"anonymous":false,"eventSelector":"95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a8270","id":16988,"name":"B3trGovernorAddressUpdated","nameLocation":"2572:26:46","nodeType":"EventDefinition","parameters":{"id":16987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16984,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"2615:10:46","nodeType":"VariableDeclaration","scope":16988,"src":"2599:26:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16983,"name":"address","nodeType":"ElementaryTypeName","src":"2599:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16986,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"2643:10:46","nodeType":"VariableDeclaration","scope":16988,"src":"2627:26:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16985,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2598:56:46"},"src":"2566:89:46"},{"anonymous":false,"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":16994,"name":"BaseURIUpdated","nameLocation":"2665:14:46","nodeType":"EventDefinition","parameters":{"id":16993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16990,"indexed":true,"mutability":"mutable","name":"newBaseURI","nameLocation":"2695:10:46","nodeType":"VariableDeclaration","scope":16994,"src":"2680:25:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16989,"name":"string","nodeType":"ElementaryTypeName","src":"2680:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16992,"indexed":true,"mutability":"mutable","name":"oldBaseURI","nameLocation":"2722:10:46","nodeType":"VariableDeclaration","scope":16994,"src":"2707:25:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16991,"name":"string","nodeType":"ElementaryTypeName","src":"2707:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2679:54:46"},"src":"2659:75:46"},{"anonymous":false,"eventSelector":"0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf870","id":16999,"name":"B3TRtoUpgradeToLevelUpdated","nameLocation":"2744:27:46","nodeType":"EventDefinition","parameters":{"id":16998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16997,"indexed":true,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"2790:20:46","nodeType":"VariableDeclaration","scope":16999,"src":"2772:38:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16995,"name":"uint256","nodeType":"ElementaryTypeName","src":"2772:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16996,"nodeType":"ArrayTypeName","src":"2772:9:46","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2771:40:46"},"src":"2738:74:46"},{"anonymous":false,"eventSelector":"5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe","id":17003,"name":"PublicMintingPaused","nameLocation":"2822:19:46","nodeType":"EventDefinition","parameters":{"id":17002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17001,"indexed":false,"mutability":"mutable","name":"isPaused","nameLocation":"2847:8:46","nodeType":"VariableDeclaration","scope":17003,"src":"2842:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17000,"name":"bool","nodeType":"ElementaryTypeName","src":"2842:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2841:15:46"},"src":"2816:41:46"},{"functionSelector":"4bf5d7e9","id":17008,"implemented":false,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"2870:10:46","nodeType":"FunctionDefinition","parameters":{"id":17004,"nodeType":"ParameterList","parameters":[],"src":"2880:2:46"},"returnParameters":{"id":17007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17008,"src":"2906:13:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17005,"name":"string","nodeType":"ElementaryTypeName","src":"2906:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2905:15:46"},"scope":17385,"src":"2861:60:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a217fddf","id":17013,"implemented":false,"kind":"function","modifiers":[],"name":"DEFAULT_ADMIN_ROLE","nameLocation":"2934:18:46","nodeType":"FunctionDefinition","parameters":{"id":17009,"nodeType":"ParameterList","parameters":[],"src":"2952:2:46"},"returnParameters":{"id":17012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17011,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17013,"src":"2978:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2978:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2977:9:46"},"scope":17385,"src":"2925:62:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a49062d4","id":17018,"implemented":false,"kind":"function","modifiers":[],"name":"MAX_LEVEL","nameLocation":"3000:9:46","nodeType":"FunctionDefinition","parameters":{"id":17014,"nodeType":"ParameterList","parameters":[],"src":"3009:2:46"},"returnParameters":{"id":17017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17018,"src":"3035:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17015,"name":"uint256","nodeType":"ElementaryTypeName","src":"3035:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3034:9:46"},"scope":17385,"src":"2991:53:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f72c0d8b","id":17023,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADER_ROLE","nameLocation":"3057:13:46","nodeType":"FunctionDefinition","parameters":{"id":17019,"nodeType":"ParameterList","parameters":[],"src":"3070:2:46"},"returnParameters":{"id":17022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17021,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17023,"src":"3096:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17020,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3096:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3095:9:46"},"scope":17385,"src":"3048:57:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ad3cb1cc","id":17028,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADE_INTERFACE_VERSION","nameLocation":"3118:25:46","nodeType":"FunctionDefinition","parameters":{"id":17024,"nodeType":"ParameterList","parameters":[],"src":"3143:2:46"},"returnParameters":{"id":17027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17028,"src":"3169:13:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17025,"name":"string","nodeType":"ElementaryTypeName","src":"3169:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3168:15:46"},"scope":17385,"src":"3109:75:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"095ea7b3","id":17035,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3197:7:46","nodeType":"FunctionDefinition","parameters":{"id":17033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17030,"mutability":"mutable","name":"to","nameLocation":"3213:2:46","nodeType":"VariableDeclaration","scope":17035,"src":"3205:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17029,"name":"address","nodeType":"ElementaryTypeName","src":"3205:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17032,"mutability":"mutable","name":"tokenId","nameLocation":"3225:7:46","nodeType":"VariableDeclaration","scope":17035,"src":"3217:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17031,"name":"uint256","nodeType":"ElementaryTypeName","src":"3217:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3204:29:46"},"returnParameters":{"id":17034,"nodeType":"ParameterList","parameters":[],"src":"3242:0:46"},"scope":17385,"src":"3188:55:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"582a486a","id":17040,"implemented":false,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"3256:4:46","nodeType":"FunctionDefinition","parameters":{"id":17036,"nodeType":"ParameterList","parameters":[],"src":"3260:2:46"},"returnParameters":{"id":17039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17040,"src":"3286:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17037,"name":"address","nodeType":"ElementaryTypeName","src":"3286:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3285:9:46"},"scope":17385,"src":"3247:48:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"7893d736","id":17045,"implemented":false,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"3308:12:46","nodeType":"FunctionDefinition","parameters":{"id":17041,"nodeType":"ParameterList","parameters":[],"src":"3320:2:46"},"returnParameters":{"id":17044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17043,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17045,"src":"3346:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17042,"name":"address","nodeType":"ElementaryTypeName","src":"3346:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3345:9:46"},"scope":17385,"src":"3299:56:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"70a08231","id":17052,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3368:9:46","nodeType":"FunctionDefinition","parameters":{"id":17048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17047,"mutability":"mutable","name":"owner","nameLocation":"3386:5:46","nodeType":"VariableDeclaration","scope":17052,"src":"3378:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17046,"name":"address","nodeType":"ElementaryTypeName","src":"3378:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3377:15:46"},"returnParameters":{"id":17051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17050,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17052,"src":"3416:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17049,"name":"uint256","nodeType":"ElementaryTypeName","src":"3416:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3415:9:46"},"scope":17385,"src":"3359:66:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6c0360eb","id":17057,"implemented":false,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"3438:7:46","nodeType":"FunctionDefinition","parameters":{"id":17053,"nodeType":"ParameterList","parameters":[],"src":"3445:2:46"},"returnParameters":{"id":17056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17057,"src":"3471:13:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17054,"name":"string","nodeType":"ElementaryTypeName","src":"3471:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3470:15:46"},"scope":17385,"src":"3429:57:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f1127ed8","id":17067,"implemented":false,"kind":"function","modifiers":[],"name":"checkpoints","nameLocation":"3499:11:46","nodeType":"FunctionDefinition","parameters":{"id":17062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17059,"mutability":"mutable","name":"account","nameLocation":"3519:7:46","nodeType":"VariableDeclaration","scope":17067,"src":"3511:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17058,"name":"address","nodeType":"ElementaryTypeName","src":"3511:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17061,"mutability":"mutable","name":"pos","nameLocation":"3535:3:46","nodeType":"VariableDeclaration","scope":17067,"src":"3528:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":17060,"name":"uint32","nodeType":"ElementaryTypeName","src":"3528:6:46","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"3510:29:46"},"returnParameters":{"id":17066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17067,"src":"3563:32:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":17064,"nodeType":"UserDefinedTypeName","pathNode":{"id":17063,"name":"Checkpoints.Checkpoint208","nameLocations":["3563:11:46","3575:13:46"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"3563:25:46"},"referencedDeclaration":9414,"src":"3563:25:46","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"src":"3562:34:46"},"scope":17385,"src":"3490:107:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"91ddadf4","id":17072,"implemented":false,"kind":"function","modifiers":[],"name":"clock","nameLocation":"3610:5:46","nodeType":"FunctionDefinition","parameters":{"id":17068,"nodeType":"ParameterList","parameters":[],"src":"3615:2:46"},"returnParameters":{"id":17071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17072,"src":"3641:6:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":17069,"name":"uint48","nodeType":"ElementaryTypeName","src":"3641:6:46","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3640:8:46"},"scope":17385,"src":"3601:48:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5b70ea9f","id":17075,"implemented":false,"kind":"function","modifiers":[],"name":"freeMint","nameLocation":"3662:8:46","nodeType":"FunctionDefinition","parameters":{"id":17073,"nodeType":"ParameterList","parameters":[],"src":"3670:2:46"},"returnParameters":{"id":17074,"nodeType":"ParameterList","parameters":[],"src":"3681:0:46"},"scope":17385,"src":"3653:29:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"081812fc","id":17082,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"3695:11:46","nodeType":"FunctionDefinition","parameters":{"id":17078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17077,"mutability":"mutable","name":"tokenId","nameLocation":"3715:7:46","nodeType":"VariableDeclaration","scope":17082,"src":"3707:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17076,"name":"uint256","nodeType":"ElementaryTypeName","src":"3707:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3706:17:46"},"returnParameters":{"id":17081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17080,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17082,"src":"3747:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17079,"name":"address","nodeType":"ElementaryTypeName","src":"3747:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3746:9:46"},"scope":17385,"src":"3686:70:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a51d2e0b","id":17089,"implemented":false,"kind":"function","modifiers":[],"name":"getB3TRtoUpgrade","nameLocation":"3769:16:46","nodeType":"FunctionDefinition","parameters":{"id":17085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17084,"mutability":"mutable","name":"tokenId","nameLocation":"3794:7:46","nodeType":"VariableDeclaration","scope":17089,"src":"3786:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17083,"name":"uint256","nodeType":"ElementaryTypeName","src":"3786:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3785:17:46"},"returnParameters":{"id":17088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17087,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17089,"src":"3826:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17086,"name":"uint256","nodeType":"ElementaryTypeName","src":"3826:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3825:9:46"},"scope":17385,"src":"3760:75:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"2b42df38","id":17096,"implemented":false,"kind":"function","modifiers":[],"name":"getB3TRtoUpgradeToLevel","nameLocation":"3848:23:46","nodeType":"FunctionDefinition","parameters":{"id":17092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17091,"mutability":"mutable","name":"level","nameLocation":"3880:5:46","nodeType":"VariableDeclaration","scope":17096,"src":"3872:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17090,"name":"uint256","nodeType":"ElementaryTypeName","src":"3872:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3871:15:46"},"returnParameters":{"id":17095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17096,"src":"3910:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17093,"name":"uint256","nodeType":"ElementaryTypeName","src":"3910:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3909:9:46"},"scope":17385,"src":"3839:80:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"860f22e6","id":17103,"implemented":false,"kind":"function","modifiers":[],"name":"getHighestLevel","nameLocation":"3932:15:46","nodeType":"FunctionDefinition","parameters":{"id":17099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17098,"mutability":"mutable","name":"owner","nameLocation":"3956:5:46","nodeType":"VariableDeclaration","scope":17103,"src":"3948:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17097,"name":"address","nodeType":"ElementaryTypeName","src":"3948:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3947:15:46"},"returnParameters":{"id":17102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17101,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17103,"src":"3986:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17100,"name":"uint256","nodeType":"ElementaryTypeName","src":"3986:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3985:9:46"},"scope":17385,"src":"3923:72:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"d45417f4","id":17110,"implemented":false,"kind":"function","modifiers":[],"name":"getMaxMintableLevelOfXNode","nameLocation":"4008:26:46","nodeType":"FunctionDefinition","parameters":{"id":17106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17105,"mutability":"mutable","name":"xNodeType","nameLocation":"4041:9:46","nodeType":"VariableDeclaration","scope":17110,"src":"4035:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":17104,"name":"uint8","nodeType":"ElementaryTypeName","src":"4035:5:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4034:17:46"},"returnParameters":{"id":17109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17110,"src":"4075:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17107,"name":"uint256","nodeType":"ElementaryTypeName","src":"4075:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4074:9:46"},"scope":17385,"src":"3999:85:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"32611869","id":17117,"implemented":false,"kind":"function","modifiers":[],"name":"getNextLevel","nameLocation":"4097:12:46","nodeType":"FunctionDefinition","parameters":{"id":17113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17112,"mutability":"mutable","name":"tokenId","nameLocation":"4118:7:46","nodeType":"VariableDeclaration","scope":17117,"src":"4110:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17111,"name":"uint256","nodeType":"ElementaryTypeName","src":"4110:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4109:17:46"},"returnParameters":{"id":17116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17115,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17117,"src":"4150:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17114,"name":"uint256","nodeType":"ElementaryTypeName","src":"4150:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4149:9:46"},"scope":17385,"src":"4088:71:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"d325d4ed","id":17126,"implemented":false,"kind":"function","modifiers":[],"name":"getPastHighestLevel","nameLocation":"4172:19:46","nodeType":"FunctionDefinition","parameters":{"id":17122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17119,"mutability":"mutable","name":"owner","nameLocation":"4200:5:46","nodeType":"VariableDeclaration","scope":17126,"src":"4192:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17118,"name":"address","nodeType":"ElementaryTypeName","src":"4192:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17121,"mutability":"mutable","name":"timepoint","nameLocation":"4215:9:46","nodeType":"VariableDeclaration","scope":17126,"src":"4207:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17120,"name":"uint256","nodeType":"ElementaryTypeName","src":"4207:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4191:34:46"},"returnParameters":{"id":17125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17126,"src":"4249:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17123,"name":"uint256","nodeType":"ElementaryTypeName","src":"4249:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4248:9:46"},"scope":17385,"src":"4163:95:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"248a9ca3","id":17133,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"4271:12:46","nodeType":"FunctionDefinition","parameters":{"id":17129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17128,"mutability":"mutable","name":"role","nameLocation":"4292:4:46","nodeType":"VariableDeclaration","scope":17133,"src":"4284:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4284:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4283:14:46"},"returnParameters":{"id":17132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17131,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17133,"src":"4321:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4321:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4320:9:46"},"scope":17385,"src":"4262:68:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"2f2ff15d","id":17140,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"4343:9:46","nodeType":"FunctionDefinition","parameters":{"id":17138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17135,"mutability":"mutable","name":"role","nameLocation":"4361:4:46","nodeType":"VariableDeclaration","scope":17140,"src":"4353:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4353:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":17137,"mutability":"mutable","name":"account","nameLocation":"4375:7:46","nodeType":"VariableDeclaration","scope":17140,"src":"4367:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17136,"name":"address","nodeType":"ElementaryTypeName","src":"4367:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4352:31:46"},"returnParameters":{"id":17139,"nodeType":"ParameterList","parameters":[],"src":"4392:0:46"},"scope":17385,"src":"4334:59:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"91d14854","id":17149,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"4406:7:46","nodeType":"FunctionDefinition","parameters":{"id":17145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17142,"mutability":"mutable","name":"role","nameLocation":"4422:4:46","nodeType":"VariableDeclaration","scope":17149,"src":"4414:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4414:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":17144,"mutability":"mutable","name":"account","nameLocation":"4436:7:46","nodeType":"VariableDeclaration","scope":17149,"src":"4428:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17143,"name":"address","nodeType":"ElementaryTypeName","src":"4428:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4413:31:46"},"returnParameters":{"id":17148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17147,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17149,"src":"4468:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17146,"name":"bool","nodeType":"ElementaryTypeName","src":"4468:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4467:6:46"},"scope":17385,"src":"4397:77:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"d0ca2def","id":17174,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"4487:10:46","nodeType":"FunctionDefinition","parameters":{"id":17172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17151,"mutability":"mutable","name":"name","nameLocation":"4517:4:46","nodeType":"VariableDeclaration","scope":17174,"src":"4503:18:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17150,"name":"string","nodeType":"ElementaryTypeName","src":"4503:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17153,"mutability":"mutable","name":"symbol","nameLocation":"4541:6:46","nodeType":"VariableDeclaration","scope":17174,"src":"4527:20:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17152,"name":"string","nodeType":"ElementaryTypeName","src":"4527:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17155,"mutability":"mutable","name":"admin","nameLocation":"4561:5:46","nodeType":"VariableDeclaration","scope":17174,"src":"4553:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17154,"name":"address","nodeType":"ElementaryTypeName","src":"4553:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17157,"mutability":"mutable","name":"upgrader","nameLocation":"4580:8:46","nodeType":"VariableDeclaration","scope":17174,"src":"4572:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17156,"name":"address","nodeType":"ElementaryTypeName","src":"4572:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17159,"mutability":"mutable","name":"maxLevel","nameLocation":"4602:8:46","nodeType":"VariableDeclaration","scope":17174,"src":"4594:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17158,"name":"uint256","nodeType":"ElementaryTypeName","src":"4594:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17161,"mutability":"mutable","name":"baseTokenURI","nameLocation":"4630:12:46","nodeType":"VariableDeclaration","scope":17174,"src":"4616:26:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17160,"name":"string","nodeType":"ElementaryTypeName","src":"4616:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17164,"mutability":"mutable","name":"xNodeMaxMintableLevels","nameLocation":"4665:22:46","nodeType":"VariableDeclaration","scope":17174,"src":"4648:39:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17162,"name":"uint256","nodeType":"ElementaryTypeName","src":"4648:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17163,"nodeType":"ArrayTypeName","src":"4648:9:46","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":17167,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"4710:20:46","nodeType":"VariableDeclaration","scope":17174,"src":"4693:37:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17165,"name":"uint256","nodeType":"ElementaryTypeName","src":"4693:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17166,"nodeType":"ArrayTypeName","src":"4693:9:46","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":17169,"mutability":"mutable","name":"_b3tr","nameLocation":"4744:5:46","nodeType":"VariableDeclaration","scope":17174,"src":"4736:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17168,"name":"address","nodeType":"ElementaryTypeName","src":"4736:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17171,"mutability":"mutable","name":"_treasury","nameLocation":"4763:9:46","nodeType":"VariableDeclaration","scope":17174,"src":"4755:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17170,"name":"address","nodeType":"ElementaryTypeName","src":"4755:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4497:279:46"},"returnParameters":{"id":17173,"nodeType":"ParameterList","parameters":[],"src":"4785:0:46"},"scope":17385,"src":"4478:308:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"e985e9c5","id":17183,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4799:16:46","nodeType":"FunctionDefinition","parameters":{"id":17179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17176,"mutability":"mutable","name":"owner","nameLocation":"4824:5:46","nodeType":"VariableDeclaration","scope":17183,"src":"4816:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17175,"name":"address","nodeType":"ElementaryTypeName","src":"4816:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17178,"mutability":"mutable","name":"operator","nameLocation":"4839:8:46","nodeType":"VariableDeclaration","scope":17183,"src":"4831:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17177,"name":"address","nodeType":"ElementaryTypeName","src":"4831:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4815:33:46"},"returnParameters":{"id":17182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17183,"src":"4872:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17180,"name":"bool","nodeType":"ElementaryTypeName","src":"4872:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4871:6:46"},"scope":17385,"src":"4790:88:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6d5e3032","id":17190,"implemented":false,"kind":"function","modifiers":[],"name":"levelOf","nameLocation":"4891:7:46","nodeType":"FunctionDefinition","parameters":{"id":17186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17185,"mutability":"mutable","name":"tokenId","nameLocation":"4907:7:46","nodeType":"VariableDeclaration","scope":17190,"src":"4899:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17184,"name":"uint256","nodeType":"ElementaryTypeName","src":"4899:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4898:17:46"},"returnParameters":{"id":17189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17190,"src":"4939:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17187,"name":"uint256","nodeType":"ElementaryTypeName","src":"4939:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4938:9:46"},"scope":17385,"src":"4882:66:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"06fdde03","id":17195,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"4961:4:46","nodeType":"FunctionDefinition","parameters":{"id":17191,"nodeType":"ParameterList","parameters":[],"src":"4965:2:46"},"returnParameters":{"id":17194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17195,"src":"4991:13:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17192,"name":"string","nodeType":"ElementaryTypeName","src":"4991:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4990:15:46"},"scope":17385,"src":"4952:54:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6fcfff45","id":17202,"implemented":false,"kind":"function","modifiers":[],"name":"numCheckpoints","nameLocation":"5019:14:46","nodeType":"FunctionDefinition","parameters":{"id":17198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17197,"mutability":"mutable","name":"account","nameLocation":"5042:7:46","nodeType":"VariableDeclaration","scope":17202,"src":"5034:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17196,"name":"address","nodeType":"ElementaryTypeName","src":"5034:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5033:17:46"},"returnParameters":{"id":17201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17202,"src":"5074:6:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":17199,"name":"uint32","nodeType":"ElementaryTypeName","src":"5074:6:46","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"5073:8:46"},"scope":17385,"src":"5010:72:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6352211e","id":17209,"implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"5095:7:46","nodeType":"FunctionDefinition","parameters":{"id":17205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17204,"mutability":"mutable","name":"tokenId","nameLocation":"5111:7:46","nodeType":"VariableDeclaration","scope":17209,"src":"5103:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17203,"name":"uint256","nodeType":"ElementaryTypeName","src":"5103:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5102:17:46"},"returnParameters":{"id":17208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17207,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17209,"src":"5143:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17206,"name":"address","nodeType":"ElementaryTypeName","src":"5143:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5142:9:46"},"scope":17385,"src":"5086:66:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"8c5b76fb","id":17216,"implemented":false,"kind":"function","modifiers":[],"name":"participatedInGovernance","nameLocation":"5165:24:46","nodeType":"FunctionDefinition","parameters":{"id":17212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17211,"mutability":"mutable","name":"user","nameLocation":"5198:4:46","nodeType":"VariableDeclaration","scope":17216,"src":"5190:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17210,"name":"address","nodeType":"ElementaryTypeName","src":"5190:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5189:14:46"},"returnParameters":{"id":17215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17214,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17216,"src":"5227:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17213,"name":"bool","nodeType":"ElementaryTypeName","src":"5227:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5226:6:46"},"scope":17385,"src":"5156:77:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"8456cb59","id":17219,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"5246:5:46","nodeType":"FunctionDefinition","parameters":{"id":17217,"nodeType":"ParameterList","parameters":[],"src":"5251:2:46"},"returnParameters":{"id":17218,"nodeType":"ParameterList","parameters":[],"src":"5262:0:46"},"scope":17385,"src":"5237:26:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"5c975abb","id":17224,"implemented":false,"kind":"function","modifiers":[],"name":"paused","nameLocation":"5276:6:46","nodeType":"FunctionDefinition","parameters":{"id":17220,"nodeType":"ParameterList","parameters":[],"src":"5282:2:46"},"returnParameters":{"id":17223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17224,"src":"5308:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17221,"name":"bool","nodeType":"ElementaryTypeName","src":"5308:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5307:6:46"},"scope":17385,"src":"5267:47:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"52d1902d","id":17229,"implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"5327:13:46","nodeType":"FunctionDefinition","parameters":{"id":17225,"nodeType":"ParameterList","parameters":[],"src":"5340:2:46"},"returnParameters":{"id":17228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17229,"src":"5366:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5366:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5365:9:46"},"scope":17385,"src":"5318:57:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"36568abe","id":17236,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"5388:12:46","nodeType":"FunctionDefinition","parameters":{"id":17234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17231,"mutability":"mutable","name":"role","nameLocation":"5409:4:46","nodeType":"VariableDeclaration","scope":17236,"src":"5401:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5401:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":17233,"mutability":"mutable","name":"callerConfirmation","nameLocation":"5423:18:46","nodeType":"VariableDeclaration","scope":17236,"src":"5415:26:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17232,"name":"address","nodeType":"ElementaryTypeName","src":"5415:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5400:42:46"},"returnParameters":{"id":17235,"nodeType":"ParameterList","parameters":[],"src":"5451:0:46"},"scope":17385,"src":"5379:73:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"d547741f","id":17243,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"5465:10:46","nodeType":"FunctionDefinition","parameters":{"id":17241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17238,"mutability":"mutable","name":"role","nameLocation":"5484:4:46","nodeType":"VariableDeclaration","scope":17243,"src":"5476:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5476:7:46","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":17240,"mutability":"mutable","name":"account","nameLocation":"5498:7:46","nodeType":"VariableDeclaration","scope":17243,"src":"5490:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17239,"name":"address","nodeType":"ElementaryTypeName","src":"5490:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5475:31:46"},"returnParameters":{"id":17242,"nodeType":"ParameterList","parameters":[],"src":"5515:0:46"},"scope":17385,"src":"5456:60:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"42842e0e","id":17252,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"5529:16:46","nodeType":"FunctionDefinition","parameters":{"id":17250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17245,"mutability":"mutable","name":"from","nameLocation":"5554:4:46","nodeType":"VariableDeclaration","scope":17252,"src":"5546:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17244,"name":"address","nodeType":"ElementaryTypeName","src":"5546:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17247,"mutability":"mutable","name":"to","nameLocation":"5568:2:46","nodeType":"VariableDeclaration","scope":17252,"src":"5560:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17246,"name":"address","nodeType":"ElementaryTypeName","src":"5560:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17249,"mutability":"mutable","name":"tokenId","nameLocation":"5580:7:46","nodeType":"VariableDeclaration","scope":17252,"src":"5572:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17248,"name":"uint256","nodeType":"ElementaryTypeName","src":"5572:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5545:43:46"},"returnParameters":{"id":17251,"nodeType":"ParameterList","parameters":[],"src":"5597:0:46"},"scope":17385,"src":"5520:78:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"b88d4fde","id":17263,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"5611:16:46","nodeType":"FunctionDefinition","parameters":{"id":17261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17254,"mutability":"mutable","name":"from","nameLocation":"5636:4:46","nodeType":"VariableDeclaration","scope":17263,"src":"5628:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17253,"name":"address","nodeType":"ElementaryTypeName","src":"5628:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17256,"mutability":"mutable","name":"to","nameLocation":"5650:2:46","nodeType":"VariableDeclaration","scope":17263,"src":"5642:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17255,"name":"address","nodeType":"ElementaryTypeName","src":"5642:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17258,"mutability":"mutable","name":"tokenId","nameLocation":"5662:7:46","nodeType":"VariableDeclaration","scope":17263,"src":"5654:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17257,"name":"uint256","nodeType":"ElementaryTypeName","src":"5654:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17260,"mutability":"mutable","name":"data","nameLocation":"5684:4:46","nodeType":"VariableDeclaration","scope":17263,"src":"5671:17:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17259,"name":"bytes","nodeType":"ElementaryTypeName","src":"5671:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5627:62:46"},"returnParameters":{"id":17262,"nodeType":"ParameterList","parameters":[],"src":"5698:0:46"},"scope":17385,"src":"5602:97:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"05bca0b0","id":17266,"implemented":false,"kind":"function","modifiers":[],"name":"selectHighestLevel","nameLocation":"5712:18:46","nodeType":"FunctionDefinition","parameters":{"id":17264,"nodeType":"ParameterList","parameters":[],"src":"5730:2:46"},"returnParameters":{"id":17265,"nodeType":"ParameterList","parameters":[],"src":"5741:0:46"},"scope":17385,"src":"5703:39:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"a22cb465","id":17273,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"5755:17:46","nodeType":"FunctionDefinition","parameters":{"id":17271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17268,"mutability":"mutable","name":"operator","nameLocation":"5781:8:46","nodeType":"VariableDeclaration","scope":17273,"src":"5773:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17267,"name":"address","nodeType":"ElementaryTypeName","src":"5773:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17270,"mutability":"mutable","name":"approved","nameLocation":"5796:8:46","nodeType":"VariableDeclaration","scope":17273,"src":"5791:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17269,"name":"bool","nodeType":"ElementaryTypeName","src":"5791:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5772:33:46"},"returnParameters":{"id":17272,"nodeType":"ParameterList","parameters":[],"src":"5814:0:46"},"scope":17385,"src":"5746:69:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"b1ccbd2c","id":17279,"implemented":false,"kind":"function","modifiers":[],"name":"setB3TRtoUpgradeToLevel","nameLocation":"5828:23:46","nodeType":"FunctionDefinition","parameters":{"id":17277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17276,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"5869:20:46","nodeType":"VariableDeclaration","scope":17279,"src":"5852:37:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17274,"name":"uint256","nodeType":"ElementaryTypeName","src":"5852:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17275,"nodeType":"ArrayTypeName","src":"5852:9:46","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5851:39:46"},"returnParameters":{"id":17278,"nodeType":"ParameterList","parameters":[],"src":"5899:0:46"},"scope":17385,"src":"5819:81:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"ddd8634d","id":17284,"implemented":false,"kind":"function","modifiers":[],"name":"setB3trGovernorAddress","nameLocation":"5913:22:46","nodeType":"FunctionDefinition","parameters":{"id":17282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17281,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"5944:13:46","nodeType":"VariableDeclaration","scope":17284,"src":"5936:21:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17280,"name":"address","nodeType":"ElementaryTypeName","src":"5936:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5935:23:46"},"returnParameters":{"id":17283,"nodeType":"ParameterList","parameters":[],"src":"5967:0:46"},"scope":17385,"src":"5904:64:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"55f804b3","id":17289,"implemented":false,"kind":"function","modifiers":[],"name":"setBaseURI","nameLocation":"5981:10:46","nodeType":"FunctionDefinition","parameters":{"id":17287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17286,"mutability":"mutable","name":"baseTokenURI","nameLocation":"6006:12:46","nodeType":"VariableDeclaration","scope":17289,"src":"5992:26:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17285,"name":"string","nodeType":"ElementaryTypeName","src":"5992:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5991:28:46"},"returnParameters":{"id":17288,"nodeType":"ParameterList","parameters":[],"src":"6028:0:46"},"scope":17385,"src":"5972:57:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"344f1ba5","id":17294,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxLevel","nameLocation":"6042:11:46","nodeType":"FunctionDefinition","parameters":{"id":17292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17291,"mutability":"mutable","name":"level","nameLocation":"6062:5:46","nodeType":"VariableDeclaration","scope":17294,"src":"6054:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17290,"name":"uint256","nodeType":"ElementaryTypeName","src":"6054:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6053:15:46"},"returnParameters":{"id":17293,"nodeType":"ParameterList","parameters":[],"src":"6077:0:46"},"scope":17385,"src":"6033:45:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"9c7abf28","id":17300,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxMintableLevels","nameLocation":"6091:20:46","nodeType":"FunctionDefinition","parameters":{"id":17298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17297,"mutability":"mutable","name":"maxMintableLevels","nameLocation":"6127:17:46","nodeType":"VariableDeclaration","scope":17300,"src":"6112:32:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":17295,"name":"uint8","nodeType":"ElementaryTypeName","src":"6112:5:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":17296,"nodeType":"ArrayTypeName","src":"6112:7:46","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"6111:34:46"},"returnParameters":{"id":17299,"nodeType":"ParameterList","parameters":[],"src":"6154:0:46"},"scope":17385,"src":"6082:73:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"3af03ea8","id":17305,"implemented":false,"kind":"function","modifiers":[],"name":"setXAllocationsGovernorAddress","nameLocation":"6168:30:46","nodeType":"FunctionDefinition","parameters":{"id":17303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17302,"mutability":"mutable","name":"_xAllocationsGovernor","nameLocation":"6207:21:46","nodeType":"VariableDeclaration","scope":17305,"src":"6199:29:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17301,"name":"address","nodeType":"ElementaryTypeName","src":"6199:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6198:31:46"},"returnParameters":{"id":17304,"nodeType":"ParameterList","parameters":[],"src":"6238:0:46"},"scope":17385,"src":"6159:80:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"01ffc9a7","id":17312,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"6252:17:46","nodeType":"FunctionDefinition","parameters":{"id":17308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17307,"mutability":"mutable","name":"interfaceId","nameLocation":"6277:11:46","nodeType":"VariableDeclaration","scope":17312,"src":"6270:18:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17306,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6270:6:46","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6269:20:46"},"returnParameters":{"id":17311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17312,"src":"6313:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17309,"name":"bool","nodeType":"ElementaryTypeName","src":"6313:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6312:6:46"},"scope":17385,"src":"6243:76:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"95d89b41","id":17317,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"6332:6:46","nodeType":"FunctionDefinition","parameters":{"id":17313,"nodeType":"ParameterList","parameters":[],"src":"6338:2:46"},"returnParameters":{"id":17316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17315,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17317,"src":"6364:13:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17314,"name":"string","nodeType":"ElementaryTypeName","src":"6364:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6363:15:46"},"scope":17385,"src":"6323:56:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4f6ccce7","id":17324,"implemented":false,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"6392:12:46","nodeType":"FunctionDefinition","parameters":{"id":17320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17319,"mutability":"mutable","name":"index","nameLocation":"6413:5:46","nodeType":"VariableDeclaration","scope":17324,"src":"6405:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17318,"name":"uint256","nodeType":"ElementaryTypeName","src":"6405:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6404:15:46"},"returnParameters":{"id":17323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17324,"src":"6443:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17321,"name":"uint256","nodeType":"ElementaryTypeName","src":"6443:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6442:9:46"},"scope":17385,"src":"6383:69:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"2f745c59","id":17333,"implemented":false,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"6465:19:46","nodeType":"FunctionDefinition","parameters":{"id":17329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17326,"mutability":"mutable","name":"owner","nameLocation":"6493:5:46","nodeType":"VariableDeclaration","scope":17333,"src":"6485:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17325,"name":"address","nodeType":"ElementaryTypeName","src":"6485:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17328,"mutability":"mutable","name":"index","nameLocation":"6508:5:46","nodeType":"VariableDeclaration","scope":17333,"src":"6500:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17327,"name":"uint256","nodeType":"ElementaryTypeName","src":"6500:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6484:30:46"},"returnParameters":{"id":17332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17333,"src":"6538:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17330,"name":"uint256","nodeType":"ElementaryTypeName","src":"6538:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6537:9:46"},"scope":17385,"src":"6456:91:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"c87b56dd","id":17340,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"6560:8:46","nodeType":"FunctionDefinition","parameters":{"id":17336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17335,"mutability":"mutable","name":"tokenId","nameLocation":"6577:7:46","nodeType":"VariableDeclaration","scope":17340,"src":"6569:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17334,"name":"uint256","nodeType":"ElementaryTypeName","src":"6569:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6568:17:46"},"returnParameters":{"id":17339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17340,"src":"6609:13:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17337,"name":"string","nodeType":"ElementaryTypeName","src":"6609:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6608:15:46"},"scope":17385,"src":"6551:73:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"18160ddd","id":17345,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"6637:11:46","nodeType":"FunctionDefinition","parameters":{"id":17341,"nodeType":"ParameterList","parameters":[],"src":"6648:2:46"},"returnParameters":{"id":17344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17345,"src":"6674:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17342,"name":"uint256","nodeType":"ElementaryTypeName","src":"6674:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6673:9:46"},"scope":17385,"src":"6628:55:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"23b872dd","id":17354,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"6696:12:46","nodeType":"FunctionDefinition","parameters":{"id":17352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17347,"mutability":"mutable","name":"from","nameLocation":"6717:4:46","nodeType":"VariableDeclaration","scope":17354,"src":"6709:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17346,"name":"address","nodeType":"ElementaryTypeName","src":"6709:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17349,"mutability":"mutable","name":"to","nameLocation":"6731:2:46","nodeType":"VariableDeclaration","scope":17354,"src":"6723:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17348,"name":"address","nodeType":"ElementaryTypeName","src":"6723:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17351,"mutability":"mutable","name":"tokenId","nameLocation":"6743:7:46","nodeType":"VariableDeclaration","scope":17354,"src":"6735:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6735:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6708:43:46"},"returnParameters":{"id":17353,"nodeType":"ParameterList","parameters":[],"src":"6760:0:46"},"scope":17385,"src":"6687:74:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"61d027b3","id":17359,"implemented":false,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"6774:8:46","nodeType":"FunctionDefinition","parameters":{"id":17355,"nodeType":"ParameterList","parameters":[],"src":"6782:2:46"},"returnParameters":{"id":17358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17359,"src":"6808:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17356,"name":"address","nodeType":"ElementaryTypeName","src":"6808:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6807:9:46"},"scope":17385,"src":"6765:52:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3f4ba83a","id":17362,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"6830:7:46","nodeType":"FunctionDefinition","parameters":{"id":17360,"nodeType":"ParameterList","parameters":[],"src":"6837:2:46"},"returnParameters":{"id":17361,"nodeType":"ParameterList","parameters":[],"src":"6848:0:46"},"scope":17385,"src":"6821:28:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"45977d03","id":17367,"implemented":false,"kind":"function","modifiers":[],"name":"upgrade","nameLocation":"6862:7:46","nodeType":"FunctionDefinition","parameters":{"id":17365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17364,"mutability":"mutable","name":"tokenId","nameLocation":"6878:7:46","nodeType":"VariableDeclaration","scope":17367,"src":"6870:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17363,"name":"uint256","nodeType":"ElementaryTypeName","src":"6870:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6869:17:46"},"returnParameters":{"id":17366,"nodeType":"ParameterList","parameters":[],"src":"6895:0:46"},"scope":17385,"src":"6853:43:46","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"4f1ef286","id":17374,"implemented":false,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"6909:16:46","nodeType":"FunctionDefinition","parameters":{"id":17372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17369,"mutability":"mutable","name":"newImplementation","nameLocation":"6934:17:46","nodeType":"VariableDeclaration","scope":17374,"src":"6926:25:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17368,"name":"address","nodeType":"ElementaryTypeName","src":"6926:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17371,"mutability":"mutable","name":"data","nameLocation":"6966:4:46","nodeType":"VariableDeclaration","scope":17374,"src":"6953:17:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17370,"name":"bytes","nodeType":"ElementaryTypeName","src":"6953:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6925:46:46"},"returnParameters":{"id":17373,"nodeType":"ParameterList","parameters":[],"src":"6988:0:46"},"scope":17385,"src":"6900:89:46","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"5ecf68e9","id":17379,"implemented":false,"kind":"function","modifiers":[],"name":"xAllocationsGovernor","nameLocation":"7002:20:46","nodeType":"FunctionDefinition","parameters":{"id":17375,"nodeType":"ParameterList","parameters":[],"src":"7022:2:46"},"returnParameters":{"id":17378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17379,"src":"7048:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17376,"name":"address","nodeType":"ElementaryTypeName","src":"7048:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7047:9:46"},"scope":17385,"src":"6993:64:46","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"54fd4d50","id":17384,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"7070:7:46","nodeType":"FunctionDefinition","parameters":{"id":17380,"nodeType":"ParameterList","parameters":[],"src":"7077:2:46"},"returnParameters":{"id":17383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17384,"src":"7103:13:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17381,"name":"string","nodeType":"ElementaryTypeName","src":"7103:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7102:15:46"},"scope":17385,"src":"7061:57:46","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":17386,"src":"123:6997:46","usedErrors":[16788,16794,16798,16800,16804,16806,16812,16814,16816,16824,16830,16834,16838,16842,16846,16850,16854,16860,16862,16864,16866,16868,16870,16872,16878,16880,16884],"usedEvents":[16892,16900,16904,16908,16916,16924,16932,16938,16946,16954,16958,16962,16970,16976,16982,16988,16994,16999,17003]}],"src":"33:7088:46"},"id":46},"contracts/deprecated/V1/interfaces/INodeManagementV1.sol":{"ast":{"absolutePath":"contracts/deprecated/V1/interfaces/INodeManagementV1.sol","exportedSymbols":{"INodeManagementV1":[17497],"VechainNodesDataTypes":[32697]},"id":17498,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":17387,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:47"},{"absolutePath":"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol","file":"../../V2/node-management-libraries/VechainNodesDataTypes.sol","id":17389,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17498,"sourceUnit":32698,"src":"58:101:47","symbolAliases":[{"foreign":{"id":17388,"name":"VechainNodesDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32697,"src":"67:21:47","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"INodeManagementV1","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":17497,"linearizedBaseContracts":[17497],"name":"INodeManagementV1","nameLocation":"171:17:47","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":17390,"nodeType":"StructuredDocumentation","src":"193:76:47","text":" @notice Error indicating that the caller does not own a node."},"errorSelector":"fec8382d","id":17392,"name":"NodeManagementNonNodeHolder","nameLocation":"278:27:47","nodeType":"ErrorDefinition","parameters":{"id":17391,"nodeType":"ParameterList","parameters":[],"src":"305:2:47"},"src":"272:36:47"},{"documentation":{"id":17393,"nodeType":"StructuredDocumentation","src":"312:81:47","text":" @notice Error indicating that the node is not currently delegated."},"errorSelector":"dfdadbf3","id":17395,"name":"NodeManagementNodeNotDelegated","nameLocation":"402:30:47","nodeType":"ErrorDefinition","parameters":{"id":17394,"nodeType":"ParameterList","parameters":[],"src":"432:2:47"},"src":"396:39:47"},{"documentation":{"id":17396,"nodeType":"StructuredDocumentation","src":"439:89:47","text":" @notice Error indicating that an address is being set to the zero address."},"errorSelector":"b772cd5b","id":17398,"name":"NodeManagementZeroAddress","nameLocation":"537:25:47","nodeType":"ErrorDefinition","parameters":{"id":17397,"nodeType":"ParameterList","parameters":[],"src":"562:2:47"},"src":"531:34:47"},{"documentation":{"id":17399,"nodeType":"StructuredDocumentation","src":"569:89:47","text":" @notice Error indicating that an address is being set to the zero address."},"errorSelector":"eb6f110e","id":17401,"name":"NodeManagementSelfDelegation","nameLocation":"667:28:47","nodeType":"ErrorDefinition","parameters":{"id":17400,"nodeType":"ParameterList","parameters":[],"src":"695:2:47"},"src":"661:37:47"},{"documentation":{"id":17402,"nodeType":"StructuredDocumentation","src":"702:216:47","text":" @notice Error indicating that the node is already delegated to another user.\n @param nodeId The ID of the node that is already delegated.\n @param delegatee The address of the current delegatee."},"errorSelector":"03dcf91e","id":17408,"name":"NodeManagementNodeAlreadyDelegated","nameLocation":"927:34:47","nodeType":"ErrorDefinition","parameters":{"id":17407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17404,"mutability":"mutable","name":"nodeId","nameLocation":"970:6:47","nodeType":"VariableDeclaration","scope":17408,"src":"962:14:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17403,"name":"uint256","nodeType":"ElementaryTypeName","src":"962:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17406,"mutability":"mutable","name":"delegatee","nameLocation":"986:9:47","nodeType":"VariableDeclaration","scope":17408,"src":"978:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17405,"name":"address","nodeType":"ElementaryTypeName","src":"978:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"961:35:47"},"src":"921:76:47"},{"anonymous":false,"documentation":{"id":17409,"nodeType":"StructuredDocumentation","src":"1001:403:47","text":" @notice Event emitted when a node is delegated or the delegation is removed.\n @param nodeId The ID of the node being delegated or having its delegation removed.\n @param delegatee The address to which the node is delegated or from which the delegation is removed.\n @param delegated A boolean indicating whether the node is delegated (true) or the delegation is removed (false)."},"eventSelector":"9d779bef74377ebed4cc811ab6a0971e9f183847056487e78a11882694d53cec","id":17417,"name":"NodeDelegated","nameLocation":"1413:13:47","nodeType":"EventDefinition","parameters":{"id":17416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17411,"indexed":true,"mutability":"mutable","name":"nodeId","nameLocation":"1443:6:47","nodeType":"VariableDeclaration","scope":17417,"src":"1427:22:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17410,"name":"uint256","nodeType":"ElementaryTypeName","src":"1427:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17413,"indexed":true,"mutability":"mutable","name":"delegatee","nameLocation":"1467:9:47","nodeType":"VariableDeclaration","scope":17417,"src":"1451:25:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17412,"name":"address","nodeType":"ElementaryTypeName","src":"1451:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17415,"indexed":false,"mutability":"mutable","name":"delegated","nameLocation":"1483:9:47","nodeType":"VariableDeclaration","scope":17417,"src":"1478:14:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17414,"name":"bool","nodeType":"ElementaryTypeName","src":"1478:4:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1426:67:47"},"src":"1407:87:47"},{"anonymous":false,"documentation":{"id":17418,"nodeType":"StructuredDocumentation","src":"1498:82:47","text":"  @dev Emit when the vechain node contract address is set or updated"},"eventSelector":"74dd84f988c93e13e3e1c4bc4661d03c04b202314e983cf17537bfe04b86fdf2","id":17424,"name":"VechainNodeContractSet","nameLocation":"1589:22:47","nodeType":"EventDefinition","parameters":{"id":17423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17420,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1620:18:47","nodeType":"VariableDeclaration","scope":17424,"src":"1612:26:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17419,"name":"address","nodeType":"ElementaryTypeName","src":"1612:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17422,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1648:18:47","nodeType":"VariableDeclaration","scope":17424,"src":"1640:26:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17421,"name":"address","nodeType":"ElementaryTypeName","src":"1640:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1611:56:47"},"src":"1583:85:47"},{"documentation":{"id":17425,"nodeType":"StructuredDocumentation","src":"1672:330:47","text":" @notice Initialize the contract with the specified VeChain Nodes contract, admin, and upgrader addresses.\n @param vechainNodesContract The address of the VeChain Nodes contract.\n @param admin The address to be granted the default admin role.\n @param upgrader The address to be granted the upgrader role."},"functionSelector":"c0c53b8b","id":17434,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2014:10:47","nodeType":"FunctionDefinition","parameters":{"id":17432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17427,"mutability":"mutable","name":"vechainNodesContract","nameLocation":"2033:20:47","nodeType":"VariableDeclaration","scope":17434,"src":"2025:28:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17426,"name":"address","nodeType":"ElementaryTypeName","src":"2025:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17429,"mutability":"mutable","name":"admin","nameLocation":"2063:5:47","nodeType":"VariableDeclaration","scope":17434,"src":"2055:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17428,"name":"address","nodeType":"ElementaryTypeName","src":"2055:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17431,"mutability":"mutable","name":"upgrader","nameLocation":"2078:8:47","nodeType":"VariableDeclaration","scope":17434,"src":"2070:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17430,"name":"address","nodeType":"ElementaryTypeName","src":"2070:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2024:63:47"},"returnParameters":{"id":17433,"nodeType":"ParameterList","parameters":[],"src":"2096:0:47"},"scope":17497,"src":"2005:92:47","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":17435,"nodeType":"StructuredDocumentation","src":"2101:149:47","text":" @notice Set the address of the VeChain Nodes contract.\n @param vechainNodesContract The new address of the VeChain Nodes contract."},"functionSelector":"0df9dff8","id":17440,"implemented":false,"kind":"function","modifiers":[],"name":"setVechainNodesContract","nameLocation":"2262:23:47","nodeType":"FunctionDefinition","parameters":{"id":17438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17437,"mutability":"mutable","name":"vechainNodesContract","nameLocation":"2294:20:47","nodeType":"VariableDeclaration","scope":17440,"src":"2286:28:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17436,"name":"address","nodeType":"ElementaryTypeName","src":"2286:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2285:30:47"},"returnParameters":{"id":17439,"nodeType":"ParameterList","parameters":[],"src":"2324:0:47"},"scope":17497,"src":"2253:72:47","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":17441,"nodeType":"StructuredDocumentation","src":"2329:117:47","text":" @notice Delegate a node to another address.\n @param delegatee The address to delegate the node to."},"functionSelector":"57409f6a","id":17446,"implemented":false,"kind":"function","modifiers":[],"name":"delegateNode","nameLocation":"2458:12:47","nodeType":"FunctionDefinition","parameters":{"id":17444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17443,"mutability":"mutable","name":"delegatee","nameLocation":"2479:9:47","nodeType":"VariableDeclaration","scope":17446,"src":"2471:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17442,"name":"address","nodeType":"ElementaryTypeName","src":"2471:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2470:19:47"},"returnParameters":{"id":17445,"nodeType":"ParameterList","parameters":[],"src":"2498:0:47"},"scope":17497,"src":"2449:50:47","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":17447,"nodeType":"StructuredDocumentation","src":"2503:55:47","text":" @notice Remove the delegation of a node."},"functionSelector":"09fe15cd","id":17450,"implemented":false,"kind":"function","modifiers":[],"name":"removeNodeDelegation","nameLocation":"2570:20:47","nodeType":"FunctionDefinition","parameters":{"id":17448,"nodeType":"ParameterList","parameters":[],"src":"2590:2:47"},"returnParameters":{"id":17449,"nodeType":"ParameterList","parameters":[],"src":"2601:0:47"},"scope":17497,"src":"2561:41:47","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":17451,"nodeType":"StructuredDocumentation","src":"2606:224:47","text":" @notice Retrieve the node ID associated with a user, either through direct ownership or delegation.\n @param user The address of the user to check.\n @return uint256 The node ID associated with the user."},"functionSelector":"2e4e2531","id":17459,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeIds","nameLocation":"2842:10:47","nodeType":"FunctionDefinition","parameters":{"id":17454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17453,"mutability":"mutable","name":"user","nameLocation":"2861:4:47","nodeType":"VariableDeclaration","scope":17459,"src":"2853:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17452,"name":"address","nodeType":"ElementaryTypeName","src":"2853:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2852:14:47"},"returnParameters":{"id":17458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17459,"src":"2890:16:47","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17455,"name":"uint256","nodeType":"ElementaryTypeName","src":"2890:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17456,"nodeType":"ArrayTypeName","src":"2890:9:47","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2889:18:47"},"scope":17497,"src":"2833:75:47","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":17460,"nodeType":"StructuredDocumentation","src":"2912:288:47","text":" @notice Retrieves the address of the user managing the node ID endorsement either through ownership or delegation.\n @param nodeId The ID of the node for which the manager address is being retrieved.\n @return address The address of the manager of the specified node."},"functionSelector":"9e2c2f3e","id":17467,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeManager","nameLocation":"3212:14:47","nodeType":"FunctionDefinition","parameters":{"id":17463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17462,"mutability":"mutable","name":"nodeId","nameLocation":"3235:6:47","nodeType":"VariableDeclaration","scope":17467,"src":"3227:14:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17461,"name":"uint256","nodeType":"ElementaryTypeName","src":"3227:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3226:16:47"},"returnParameters":{"id":17466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17467,"src":"3266:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17464,"name":"address","nodeType":"ElementaryTypeName","src":"3266:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3265:9:47"},"scope":17497,"src":"3203:72:47","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":17468,"nodeType":"StructuredDocumentation","src":"3279:285:47","text":" @notice Check if a user is holding a specific node ID either directly or through delegation.\n @param user The address of the user to check.\n @param nodeId The node ID to check for.\n @return bool True if the user is holding the node ID and it is a valid node."},"functionSelector":"3258cc2f","id":17477,"implemented":false,"kind":"function","modifiers":[],"name":"isNodeManager","nameLocation":"3576:13:47","nodeType":"FunctionDefinition","parameters":{"id":17473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17470,"mutability":"mutable","name":"user","nameLocation":"3598:4:47","nodeType":"VariableDeclaration","scope":17477,"src":"3590:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17469,"name":"address","nodeType":"ElementaryTypeName","src":"3590:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17472,"mutability":"mutable","name":"nodeId","nameLocation":"3612:6:47","nodeType":"VariableDeclaration","scope":17477,"src":"3604:14:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17471,"name":"uint256","nodeType":"ElementaryTypeName","src":"3604:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3589:30:47"},"returnParameters":{"id":17476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17477,"src":"3643:4:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17474,"name":"bool","nodeType":"ElementaryTypeName","src":"3643:4:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3642:6:47"},"scope":17497,"src":"3567:82:47","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":17478,"nodeType":"StructuredDocumentation","src":"3653:217:47","text":" @notice Retrieves the node level of a given node ID.\n @param nodeId The token ID of the endorsing node.\n @return VechainNodesDataTypes.NodeStrengthLevel The node level of the specified token ID."},"functionSelector":"1ceae42f","id":17486,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeLevel","nameLocation":"3882:12:47","nodeType":"FunctionDefinition","parameters":{"id":17481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17480,"mutability":"mutable","name":"nodeId","nameLocation":"3903:6:47","nodeType":"VariableDeclaration","scope":17486,"src":"3895:14:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17479,"name":"uint256","nodeType":"ElementaryTypeName","src":"3895:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3894:16:47"},"returnParameters":{"id":17485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17486,"src":"3934:39:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_NodeStrengthLevel_$32680","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel"},"typeName":{"id":17483,"nodeType":"UserDefinedTypeName","pathNode":{"id":17482,"name":"VechainNodesDataTypes.NodeStrengthLevel","nameLocations":["3934:21:47","3956:17:47"],"nodeType":"IdentifierPath","referencedDeclaration":32680,"src":"3934:39:47"},"referencedDeclaration":32680,"src":"3934:39:47","typeDescriptions":{"typeIdentifier":"t_enum$_NodeStrengthLevel_$32680","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel"}},"visibility":"internal"}],"src":"3933:41:47"},"scope":17497,"src":"3873:102:47","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":17487,"nodeType":"StructuredDocumentation","src":"3979:234:47","text":" @notice Retrieves the node level of a user's managed node.\n @param user The address of the user managing the node.\n @return VechainNodesDataTypes.NodeStrengthLevel The node level of the node managed by the user."},"functionSelector":"d466d80b","id":17496,"implemented":false,"kind":"function","modifiers":[],"name":"getUsersNodeLevels","nameLocation":"4225:18:47","nodeType":"FunctionDefinition","parameters":{"id":17490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17489,"mutability":"mutable","name":"user","nameLocation":"4252:4:47","nodeType":"VariableDeclaration","scope":17496,"src":"4244:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17488,"name":"address","nodeType":"ElementaryTypeName","src":"4244:7:47","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4243:14:47"},"returnParameters":{"id":17495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17496,"src":"4281:48:47","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_NodeStrengthLevel_$32680_$dyn_memory_ptr","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel[]"},"typeName":{"baseType":{"id":17492,"nodeType":"UserDefinedTypeName","pathNode":{"id":17491,"name":"VechainNodesDataTypes.NodeStrengthLevel","nameLocations":["4281:21:47","4303:17:47"],"nodeType":"IdentifierPath","referencedDeclaration":32680,"src":"4281:39:47"},"referencedDeclaration":32680,"src":"4281:39:47","typeDescriptions":{"typeIdentifier":"t_enum$_NodeStrengthLevel_$32680","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel"}},"id":17493,"nodeType":"ArrayTypeName","src":"4281:41:47","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_NodeStrengthLevel_$32680_$dyn_storage_ptr","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel[]"}},"visibility":"internal"}],"src":"4280:50:47"},"scope":17497,"src":"4216:115:47","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":17498,"src":"161:4172:47","usedErrors":[17392,17395,17398,17401,17408],"usedEvents":[17417,17424]}],"src":"33:4301:47"},"id":47},"contracts/deprecated/V10/B3TRGovernorV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/B3TRGovernorV10.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Address":[5584],"B3TRGovernorV10":[19538],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"GovernorClockLogicV10":[19614],"GovernorConfiguratorV10":[20674],"GovernorDepositLogicV10":[21225],"GovernorFunctionRestrictionsLogicV10":[21456],"GovernorGovernanceLogicV10":[21563],"GovernorProposalLogicV10":[23874],"GovernorQuorumLogicV10":[24381],"GovernorStateLogicV10":[24718],"GovernorStorageTypesV10":[24892],"GovernorTypesV10":[25022],"GovernorVotesLogicV10":[26208],"IAccessControl":[4415],"IB3TR":[62888],"IB3TRGovernorV10":[27080],"IERC1155Receiver":[5058],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC721Receiver":[5271],"IGalaxyMember":[65196],"IGrantsManager":[65639],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"IVOT3":[67719],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"PausableUpgradeable":[4163],"TimelockControllerUpgradeable":[1478],"UUPSUpgradeable":[1914]},"id":19539,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":17499,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1194:23:48"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","file":"./governance/libraries/GovernorProposalLogicV10.sol","id":17501,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":23875,"src":"1219:95:48","symbolAliases":[{"foreign":{"id":17500,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"1228:24:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol","file":"./governance/libraries/GovernorStateLogicV10.sol","id":17503,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":24719,"src":"1315:89:48","symbolAliases":[{"foreign":{"id":17502,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"1324:21:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol","file":"./governance/libraries/GovernorVotesLogicV10.sol","id":17505,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":26209,"src":"1405:89:48","symbolAliases":[{"foreign":{"id":17504,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"1414:21:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol","file":"./governance/libraries/GovernorQuorumLogicV10.sol","id":17507,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":24382,"src":"1495:91:48","symbolAliases":[{"foreign":{"id":17506,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"1504:22:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol","file":"./governance/libraries/GovernorDepositLogicV10.sol","id":17509,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":21226,"src":"1587:93:48","symbolAliases":[{"foreign":{"id":17508,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"1596:23:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./governance/libraries/GovernorStorageTypesV10.sol","id":17511,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":24893,"src":"1681:93:48","symbolAliases":[{"foreign":{"id":17510,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1690:23:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol","file":"./governance/libraries/GovernorClockLogicV10.sol","id":17513,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":19615,"src":"1775:89:48","symbolAliases":[{"foreign":{"id":17512,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"1784:21:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol","file":"./governance/libraries/GovernorFunctionRestrictionsLogicV10.sol","id":17515,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":21457,"src":"1865:119:48","symbolAliases":[{"foreign":{"id":17514,"name":"GovernorFunctionRestrictionsLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21456,"src":"1874:36:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol","file":"./governance/libraries/GovernorGovernanceLogicV10.sol","id":17517,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":21564,"src":"1985:99:48","symbolAliases":[{"foreign":{"id":17516,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"1994:26:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol","file":"./governance/libraries/GovernorConfiguratorV10.sol","id":17519,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":20675,"src":"2085:93:48","symbolAliases":[{"foreign":{"id":17518,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"2094:23:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","file":"./governance/libraries/GovernorTypesV10.sol","id":17521,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":25023,"src":"2179:79:48","symbolAliases":[{"foreign":{"id":17520,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"2188:16:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../interfaces/IVoterRewards.sol","id":17523,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":69093,"src":"2259:67:48","symbolAliases":[{"foreign":{"id":17522,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"2268:13:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../../interfaces/IVOT3.sol","id":17525,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":67720,"src":"2327:51:48","symbolAliases":[{"foreign":{"id":17524,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"2336:5:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":17527,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":62889,"src":"2379:51:48","symbolAliases":[{"foreign":{"id":17526,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"2388:5:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/interfaces/IB3TRGovernorV10.sol","file":"./interfaces/IB3TRGovernorV10.sol","id":17529,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":27081,"src":"2431:69:48","symbolAliases":[{"foreign":{"id":17528,"name":"IB3TRGovernorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27080,"src":"2440:16:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":17531,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":71125,"src":"2501:93:48","symbolAliases":[{"foreign":{"id":17530,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"2510:26:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","id":17533,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":1479,"src":"2595:129:48","symbolAliases":[{"foreign":{"id":17532,"name":"TimelockControllerUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1478,"src":"2604:29:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":17535,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":5962,"src":"2725:82:48","symbolAliases":[{"foreign":{"id":17534,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"2734:7:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","file":"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","id":17537,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":5059,"src":"2808:94:48","symbolAliases":[{"foreign":{"id":17536,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5058,"src":"2817:16:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","id":17539,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":5272,"src":"2903:91:48","symbolAliases":[{"foreign":{"id":17538,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5271,"src":"2912:15:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","file":"@openzeppelin/contracts/utils/Address.sol","id":17541,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":5585,"src":"2995:68:48","symbolAliases":[{"foreign":{"id":17540,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"3004:7:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","id":17542,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":4164,"src":"3064:75:48","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":17543,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":363,"src":"3140:81:48","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":17544,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":1915,"src":"3222:77:48","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../interfaces/IVeBetterPassport.sol","id":17546,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":68602,"src":"3300:75:48","symbolAliases":[{"foreign":{"id":17545,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"3309:17:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../interfaces/IGrantsManager.sol","id":17548,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":65640,"src":"3376:69:48","symbolAliases":[{"foreign":{"id":17547,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"3385:14:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../../interfaces/IGalaxyMember.sol","id":17550,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":65197,"src":"3446:67:48","symbolAliases":[{"foreign":{"id":17549,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"3455:13:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../../interfaces/INavigatorRegistry.sol","id":17552,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":66639,"src":"3514:77:48","symbolAliases":[{"foreign":{"id":17551,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"3523:18:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../interfaces/IRelayerRewardsPool.sol","id":17554,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19539,"sourceUnit":67118,"src":"3592:79:48","symbolAliases":[{"foreign":{"id":17553,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"3601:19:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":17556,"name":"IB3TRGovernorV10","nameLocations":["7747:16:48"],"nodeType":"IdentifierPath","referencedDeclaration":27080,"src":"7747:16:48"},"id":17557,"nodeType":"InheritanceSpecifier","src":"7747:16:48"},{"baseName":{"id":17558,"name":"AccessControlUpgradeable","nameLocations":["7765:24:48"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"7765:24:48"},"id":17559,"nodeType":"InheritanceSpecifier","src":"7765:24:48"},{"baseName":{"id":17560,"name":"UUPSUpgradeable","nameLocations":["7791:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"7791:15:48"},"id":17561,"nodeType":"InheritanceSpecifier","src":"7791:15:48"},{"baseName":{"id":17562,"name":"PausableUpgradeable","nameLocations":["7808:19:48"],"nodeType":"IdentifierPath","referencedDeclaration":4163,"src":"7808:19:48"},"id":17563,"nodeType":"InheritanceSpecifier","src":"7808:19:48"}],"canonicalName":"B3TRGovernorV10","contractDependencies":[],"contractKind":"contract","documentation":{"id":17555,"nodeType":"StructuredDocumentation","src":"3673:4045:48","text":" @title B3TRGovernorV10\n @notice This contract is the main governance contract for the VeBetterDAO ecosystem.\n Anyone can create a proposal to both change the state of the contract, to execute a transaction\n on the timelock or to ask for a vote from the community without performing any onchain action.\n In order for the proposal to become active, the community needs to deposit a certain amount of VOT3 tokens.\n This is used as a heat check for the proposal, and funds are returned to the depositors after vote is concluded.\n Votes for proposals start periodically, based on the allocation rounds (see xAllocationVoting contract), and the round\n in which the proposal should be active is specified by the proposer during the proposal creation.\n A minimum amount of voting power is required in order to vote on a proposal.\n The voting power is calculated through the quadratic vote formula based on the amount of VOT3 tokens held by the\n voter at the block when the proposal becomes active.\n Once a proposal succeeds, it can be queued and executed. The execution is done through the timelock contract.\n The contract is upgradeable and uses the UUPS pattern.\n @dev The contract is upgradeable and uses the UUPS pattern. All logic is stored in libraries.\n ------------------ VERSION 2 ------------------\n - Replaced onlyGovernance modifier with onlyRoleOrGovernance which checks if the caller has the DEFAULT_ADMIN_ROLE role or if the function is called through a governance proposal\n ------------------ VERSION 3 ------------------\n - Added the ability to toggle the quadratic voting mechanism on and off\n ------------------ VERSION 4 ------------------\n - Integrated VeBetterPassport contract\n ------------------ VERSION 5 ------------------\n - Difference from V4: Updated all libraries to use new version of IVoterRewards that supports GM Upgrades.\n ------------------ VERSION 6 ------------------\n - Updated all libraries to use new version of IVoterRewards that supports GM Rewards Pool.\n ------------------ VERSION 7 ------------------\n - Added proposal type concept, STANDARD (0n) for existing proposals and GRANT (1n) for new grants proposals.\n - Added deposit threshold cap based on proposal type.\n ------------------ VERSION 8 ------------------\n - No changes from V7 (placeholder for future reference).\n ------------------ VERSION 9 ------------------\n - Added reason parameter to cancel function for providing cancellation rationale.\n - Added ProposalCanceledWithReason event.\n ------------------ VERSION 10 ------------------\n - Refactored from module inheritance to library architecture for contract size optimization\n - Added navigator delegation voting via castNavigatorVote(proposalId, citizen)\n - New storage: GovernorStorage.navigatorRegistry (INavigatorRegistry), relayerRewardsPool (IRelayerRewardsPool),\n   proposalsForRound mapping (round-indexed proposal tracking for relayer expected-actions)\n - New events: NavigatorGovernanceVoteCast\n - New errors: NotDelegatedToNavigator, NavigatorDecisionNotSet (in GovernorVotesLogicV10)\n - New initializer: initializeV10(INavigatorRegistry, IRelayerRewardsPool, uint256 governanceSkipWindowBlocks) — reinitializer(8)\n - governanceSkipWindowBlocks moved from constant to storage (GovernorStorage), configurable per env\n - setGovernanceSkipWindowBlocks(uint256) setter via GovernorConfiguratorV10\n - setNavigatorRegistry() / setRelayerRewardsPool() setters via GovernorConfiguratorV10\n - GovernorVotesLogicV10.getVotes() returns delegated amount when citizen has active navigator at snapshot\n - Dead navigator (deactivated/exiting) = delegation void, returns full VOT3 balance\n - castNavigatorVote uses snapshot-based navigator lookup (getNavigatorAtTimepoint)\n - castVote double-vote prevention: blocks manual voting if delegated at proposal snapshot with alive navigator\n - Uses checkpointed citizenToNavigator and isDeactivatedAtTimepoint for snapshot consistency"},"fullyImplemented":true,"id":19538,"linearizedBaseContracts":[19538,4163,1914,4566,362,4332,27080,4552,5961,4415,3987,1732],"name":"B3TRGovernorV10","nameLocation":"7728:15:48","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":17564,"nodeType":"StructuredDocumentation","src":"7832:81:48","text":"@notice The role that can whitelist allowed functions in the propose function"},"functionSelector":"bd5aefea","id":17569,"mutability":"constant","name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","nameLocation":"7940:32:48","nodeType":"VariableDeclaration","scope":19538,"src":"7916:104:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7916:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"474f5645524e4f525f46554e4354494f4e535f53455454494e47535f524f4c45","id":17567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7985:34:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_87e72189a3ea069796dab5c7d3826581f957cb5c882c1e6dae7acacec49ca48e","typeString":"literal_string \"GOVERNOR_FUNCTIONS_SETTINGS_ROLE\""},"value":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_87e72189a3ea069796dab5c7d3826581f957cb5c882c1e6dae7acacec49ca48e","typeString":"literal_string \"GOVERNOR_FUNCTIONS_SETTINGS_ROLE\""}],"id":17566,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7975:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":17568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7975:45:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":17570,"nodeType":"StructuredDocumentation","src":"8024:48:48","text":"@notice The role that can pause the contract"},"functionSelector":"e63ab1e9","id":17575,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"8099:11:48","nodeType":"VariableDeclaration","scope":19538,"src":"8075:62:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8075:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":17573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8123:13:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":17572,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8113:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":17574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8113:24:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":17576,"nodeType":"StructuredDocumentation","src":"8141:62:48","text":"@notice The role that can set external contracts addresses"},"functionSelector":"952f2133","id":17581,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"8230:30:48","nodeType":"VariableDeclaration","scope":19538,"src":"8206:100:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8206:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":17579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8273:32:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":17578,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8263:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":17580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8263:43:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":17582,"nodeType":"StructuredDocumentation","src":"8310:48:48","text":"@notice The role that can execute a proposal"},"functionSelector":"36d23a4c","id":17587,"mutability":"constant","name":"PROPOSAL_EXECUTOR_ROLE","nameLocation":"8385:22:48","nodeType":"VariableDeclaration","scope":19538,"src":"8361:84:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8361:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"50524f504f53414c5f4558454355544f525f524f4c45","id":17585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8420:24:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_6575630003027b0b2fc4a48bc39dbc3eba9cf56588c696a6f5717e167a0ce731","typeString":"literal_string \"PROPOSAL_EXECUTOR_ROLE\""},"value":"PROPOSAL_EXECUTOR_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6575630003027b0b2fc4a48bc39dbc3eba9cf56588c696a6f5717e167a0ce731","typeString":"literal_string \"PROPOSAL_EXECUTOR_ROLE\""}],"id":17584,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8410:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":17586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8410:35:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":17588,"nodeType":"StructuredDocumentation","src":"8449:76:48","text":"@notice The role that can mark a proposal in development/completed state"},"functionSelector":"fd4fd6e1","id":17593,"mutability":"constant","name":"PROPOSAL_STATE_MANAGER_ROLE","nameLocation":"8552:27:48","nodeType":"VariableDeclaration","scope":19538,"src":"8528:94:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8528:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"50524f504f53414c5f53544154455f4d414e414745525f524f4c45","id":17591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8592:29:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_320cc91c16c42272679cab4152f867e0cd4a98f53556da2d53b4e515be8c7796","typeString":"literal_string \"PROPOSAL_STATE_MANAGER_ROLE\""},"value":"PROPOSAL_STATE_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_320cc91c16c42272679cab4152f867e0cd4a98f53556da2d53b4e515be8c7796","typeString":"literal_string \"PROPOSAL_STATE_MANAGER_ROLE\""}],"id":17590,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8582:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":17592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8582:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"body":{"id":17600,"nodeType":"Block","src":"8692:33:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":17597,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"8698:20:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":17598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8698:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17599,"nodeType":"ExpressionStatement","src":"8698:22:48"}]},"documentation":{"id":17594,"nodeType":"StructuredDocumentation","src":"8627:48:48","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":17601,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":17595,"nodeType":"ParameterList","parameters":[],"src":"8689:2:48"},"returnParameters":{"id":17596,"nodeType":"ParameterList","parameters":[],"src":"8692:0:48"},"scope":19538,"src":"8678:47:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":17663,"nodeType":"Block","src":"9052:444:48","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":17622,"name":"_navigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17605,"src":"9074:18:48","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":17621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9066:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17620,"name":"address","nodeType":"ElementaryTypeName","src":"9066:7:48","typeDescriptions":{}}},"id":17623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9066:27:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":17626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9105:1:48","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":17625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9097:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17624,"name":"address","nodeType":"ElementaryTypeName","src":"9097:7:48","typeDescriptions":{}}},"id":17627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9097:10:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9066:41:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f725631303a20696e76616c6964206e6176696761746f72207265676973747279","id":17629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9109:45:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_096ae311bbf883441d1e958bdfda57bb077dea240bf7202223551a9a4647baf8","typeString":"literal_string \"B3TRGovernorV10: invalid navigator registry\""},"value":"B3TRGovernorV10: invalid navigator registry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_096ae311bbf883441d1e958bdfda57bb077dea240bf7202223551a9a4647baf8","typeString":"literal_string \"B3TRGovernorV10: invalid navigator registry\""}],"id":17619,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9058:7:48","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9058:97:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17631,"nodeType":"ExpressionStatement","src":"9058:97:48"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":17635,"name":"_relayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"9177:19:48","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":17634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9169:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17633,"name":"address","nodeType":"ElementaryTypeName","src":"9169:7:48","typeDescriptions":{}}},"id":17636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9169:28:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":17639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9209:1:48","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":17638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9201:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17637,"name":"address","nodeType":"ElementaryTypeName","src":"9201:7:48","typeDescriptions":{}}},"id":17640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9201:10:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9169:42:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f725631303a20696e76616c69642072656c61796572207265776172647320706f6f6c","id":17642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9213:47:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_eaea7d257a822205258705325c1b0de9934deb59acc46f41876c156fe96e7b0b","typeString":"literal_string \"B3TRGovernorV10: invalid relayer rewards pool\""},"value":"B3TRGovernorV10: invalid relayer rewards pool"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_eaea7d257a822205258705325c1b0de9934deb59acc46f41876c156fe96e7b0b","typeString":"literal_string \"B3TRGovernorV10: invalid relayer rewards pool\""}],"id":17632,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9161:7:48","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":17643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9161:100:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17644,"nodeType":"ExpressionStatement","src":"9161:100:48"},{"expression":{"arguments":[{"id":17648,"name":"_navigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17605,"src":"9312:18:48","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"expression":{"id":17645,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"9267:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":17647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9291:20:48","memberName":"setNavigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":19830,"src":"9267:44:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_INavigatorRegistry_$66638_$returns$__$","typeString":"function (contract INavigatorRegistry)"}},"id":17649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9267:64:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17650,"nodeType":"ExpressionStatement","src":"9267:64:48"},{"expression":{"arguments":[{"id":17654,"name":"_relayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"9383:19:48","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"expression":{"id":17651,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"9337:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":17653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9361:21:48","memberName":"setRelayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":19878,"src":"9337:45:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IRelayerRewardsPool_$67117_$returns$__$","typeString":"function (contract IRelayerRewardsPool)"}},"id":17655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9337:66:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17656,"nodeType":"ExpressionStatement","src":"9337:66:48"},{"expression":{"arguments":[{"id":17660,"name":"_governanceSkipWindowBlocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17610,"src":"9463:27:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17657,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"9409:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":17659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9433:29:48","memberName":"setGovernanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":19913,"src":"9409:53:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":17661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9409:82:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17662,"nodeType":"ExpressionStatement","src":"9409:82:48"}]},"documentation":{"id":17602,"nodeType":"StructuredDocumentation","src":"8729:97:48","text":"@notice Initialize V10: set NavigatorRegistry, RelayerRewardsPool, and governance skip window"},"functionSelector":"a832918c","id":17664,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":17613,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"9015:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":17614,"kind":"modifierInvocation","modifierName":{"id":17612,"name":"onlyRoleOrGovernance","nameLocations":["8994:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"8994:20:48"},"nodeType":"ModifierInvocation","src":"8994:40:48"},{"arguments":[{"hexValue":"38","id":17616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9049:1:48","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"}],"id":17617,"kind":"modifierInvocation","modifierName":{"id":17615,"name":"reinitializer","nameLocations":["9035:13:48"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"9035:13:48"},"nodeType":"ModifierInvocation","src":"9035:16:48"}],"name":"initializeV10","nameLocation":"8838:13:48","nodeType":"FunctionDefinition","parameters":{"id":17611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17605,"mutability":"mutable","name":"_navigatorRegistry","nameLocation":"8876:18:48","nodeType":"VariableDeclaration","scope":17664,"src":"8857:37:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":17604,"nodeType":"UserDefinedTypeName","pathNode":{"id":17603,"name":"INavigatorRegistry","nameLocations":["8857:18:48"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"8857:18:48"},"referencedDeclaration":66638,"src":"8857:18:48","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"},{"constant":false,"id":17608,"mutability":"mutable","name":"_relayerRewardsPool","nameLocation":"8920:19:48","nodeType":"VariableDeclaration","scope":17664,"src":"8900:39:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":17607,"nodeType":"UserDefinedTypeName","pathNode":{"id":17606,"name":"IRelayerRewardsPool","nameLocations":["8900:19:48"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"8900:19:48"},"referencedDeclaration":67117,"src":"8900:19:48","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"},{"constant":false,"id":17610,"mutability":"mutable","name":"_governanceSkipWindowBlocks","nameLocation":"8953:27:48","nodeType":"VariableDeclaration","scope":17664,"src":"8945:35:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17609,"name":"uint256","nodeType":"ElementaryTypeName","src":"8945:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8851:133:48"},"returnParameters":{"id":17618,"nodeType":"ParameterList","parameters":[],"src":"9052:0:48"},"scope":19538,"src":"8829:667:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":17681,"nodeType":"Block","src":"10244:101:48","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":17670,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"10293:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":17671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10293:12:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":17672,"name":"_msgData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"10307:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes_calldata_ptr_$","typeString":"function () view returns (bytes calldata)"}},"id":17673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10307:10:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"arguments":[{"id":17676,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10327:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}],"id":17675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10319:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17674,"name":"address","nodeType":"ElementaryTypeName","src":"10319:7:48","typeDescriptions":{}}},"id":17677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10319:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17667,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"10250:26:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":17669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10277:15:48","memberName":"checkGovernance","nodeType":"MemberAccess","referencedDeclaration":21562,"src":"10250:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_calldata_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes calldata,address)"}},"id":17678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10250:83:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17679,"nodeType":"ExpressionStatement","src":"10250:83:48"},{"id":17680,"nodeType":"PlaceholderStatement","src":"10339:1:48"}]},"documentation":{"id":17665,"nodeType":"StructuredDocumentation","src":"9500:715:48","text":" @dev Restricts a function so it can only be executed through governance proposals. For example, governance\n parameter setters in {GovernorSettings} are protected using this modifier.\n The governance executing address may be different from the Governor's own address, for example it could be a\n timelock. This can be customized by modules by overriding {_executor}. The executor is only able to invoke these\n functions during the execution of the governor's {execute} function, and not under any other circumstances. Thus,\n for example, additional timelock proposers are not able to change governance parameters without going through the\n governance protocol (since v4.6)."},"id":17682,"name":"onlyGovernance","nameLocation":"10227:14:48","nodeType":"ModifierDefinition","parameters":{"id":17666,"nodeType":"ParameterList","parameters":[],"src":"10241:2:48"},"src":"10218:127:48","virtual":false,"visibility":"internal"},{"body":{"id":17708,"nodeType":"Block","src":"10575:135:48","statements":[{"condition":{"id":17692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10585:28:48","subExpression":{"arguments":[{"id":17688,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17685,"src":"10594:4:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":17689,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"10600:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":17690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10600:12:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":17687,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"10586:7:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":17691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10586:27:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17706,"nodeType":"IfStatement","src":"10581:117:48","trueBody":{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":17696,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"10658:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":17697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10658:12:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":17698,"name":"_msgData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"10672:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes_calldata_ptr_$","typeString":"function () view returns (bytes calldata)"}},"id":17699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10672:10:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"arguments":[{"id":17702,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10692:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}],"id":17701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10684:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17700,"name":"address","nodeType":"ElementaryTypeName","src":"10684:7:48","typeDescriptions":{}}},"id":17703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10684:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17693,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"10615:26:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":17695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10642:15:48","memberName":"checkGovernance","nodeType":"MemberAccess","referencedDeclaration":21562,"src":"10615:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_calldata_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes calldata,address)"}},"id":17704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10615:83:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17705,"nodeType":"ExpressionStatement","src":"10615:83:48"}},{"id":17707,"nodeType":"PlaceholderStatement","src":"10704:1:48"}]},"documentation":{"id":17683,"nodeType":"StructuredDocumentation","src":"10349:179:48","text":" @notice Modifier to check if the caller has the specified role or if the function is called through a governance proposal\n @param role The role to check against"},"id":17709,"name":"onlyRoleOrGovernance","nameLocation":"10540:20:48","nodeType":"ModifierDefinition","parameters":{"id":17686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17685,"mutability":"mutable","name":"role","nameLocation":"10569:4:48","nodeType":"VariableDeclaration","scope":17709,"src":"10561:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17684,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10561:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10560:14:48"},"src":"10531:179:48","virtual":false,"visibility":"internal"},{"body":{"id":17731,"nodeType":"Block","src":"11020:94:48","statements":[{"condition":{"id":17721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11030:26:48","subExpression":{"arguments":[{"id":17715,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17712,"src":"11039:4:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":17718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11053:1:48","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":17717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11045:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17716,"name":"address","nodeType":"ElementaryTypeName","src":"11045:7:48","typeDescriptions":{}}},"id":17719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11045:10:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":17714,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"11031:7:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":17720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11031:25:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17729,"nodeType":"IfStatement","src":"11026:77:48","trueBody":{"id":17728,"nodeType":"Block","src":"11058:45:48","statements":[{"expression":{"arguments":[{"id":17723,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17712,"src":"11077:4:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":17724,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"11083:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":17725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11083:12:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":17722,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[129,150],"referencedDeclaration":150,"src":"11066:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) view"}},"id":17726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11066:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17727,"nodeType":"ExpressionStatement","src":"11066:30:48"}]}},{"id":17730,"nodeType":"PlaceholderStatement","src":"11108:1:48"}]},"documentation":{"id":17710,"nodeType":"StructuredDocumentation","src":"10714:261:48","text":" @dev Modifier to make a function callable only by a certain role. In\n addition to checking the sender's role, `address(0)` 's role is also\n considered. Granting a role to `address(0)` is equivalent to enabling\n this role for everyone."},"id":17732,"name":"onlyRoleOrOpenRole","nameLocation":"10987:18:48","nodeType":"ModifierDefinition","parameters":{"id":17713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17712,"mutability":"mutable","name":"role","nameLocation":"11014:4:48","nodeType":"VariableDeclaration","scope":17732,"src":"11006:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11006:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11005:14:48"},"src":"10978:136:48","virtual":false,"visibility":"internal"},{"body":{"id":17749,"nodeType":"Block","src":"11285:117:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":17743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":17736,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"11295:26:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":17737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11322:8:48","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":21512,"src":"11295:35:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":17738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11295:37:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":17741,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11344:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}],"id":17740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11336:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17739,"name":"address","nodeType":"ElementaryTypeName","src":"11336:7:48","typeDescriptions":{}}},"id":17742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11336:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11295:54:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17748,"nodeType":"IfStatement","src":"11291:107:48","trueBody":{"id":17747,"nodeType":"Block","src":"11351:47:48","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":17744,"name":"GovernorDisabledDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26252,"src":"11366:23:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":17745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11366:25:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17746,"nodeType":"RevertStatement","src":"11359:32:48"}]}}]},"documentation":{"id":17733,"nodeType":"StructuredDocumentation","src":"11118:129:48","text":" @dev Function to receive VET that will be handled by the governor (disabled if executor is a third party contract)"},"id":17750,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":17734,"nodeType":"ParameterList","parameters":[],"src":"11257:2:48"},"returnParameters":{"id":17735,"nodeType":"ParameterList","parameters":[],"src":"11285:0:48"},"scope":19538,"src":"11250:152:48","stateMutability":"payable","virtual":true,"visibility":"external"},{"body":{"id":17781,"nodeType":"Block","src":"12125:137:48","statements":[{"assignments":[17764,17766],"declarations":[{"constant":false,"id":17764,"mutability":"mutable","name":"success","nameLocation":"12137:7:48","nodeType":"VariableDeclaration","scope":17781,"src":"12132:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17763,"name":"bool","nodeType":"ElementaryTypeName","src":"12132:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17766,"mutability":"mutable","name":"returndata","nameLocation":"12159:10:48","nodeType":"VariableDeclaration","scope":17781,"src":"12146:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17765,"name":"bytes","nodeType":"ElementaryTypeName","src":"12146:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":17773,"initialValue":{"arguments":[{"id":17771,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17757,"src":"12201:4:48","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":17767,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17753,"src":"12173:6:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12180:4:48","memberName":"call","nodeType":"MemberAccess","src":"12173:11:48","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":17770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":17769,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17755,"src":"12193:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"12173:27:48","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":17772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12173:33:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12131:75:48"},{"expression":{"arguments":[{"id":17777,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17764,"src":"12237:7:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17778,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17766,"src":"12246:10:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":17774,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"12212:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$5584_$","typeString":"type(library Address)"}},"id":17776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12220:16:48","memberName":"verifyCallResult","nodeType":"MemberAccess","referencedDeclaration":5565,"src":"12212:24:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bool,bytes memory) pure returns (bytes memory)"}},"id":17779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12212:45:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":17780,"nodeType":"ExpressionStatement","src":"12212:45:48"}]},"documentation":{"id":17751,"nodeType":"StructuredDocumentation","src":"11406:567:48","text":" @notice Relays a transaction or function call to an arbitrary target. In cases where the governance executor\n is some contract other than the governor itself, like when using a timelock, this function can be invoked\n in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake.\n Note that if the executor is simply the governor itself, use of `relay` is redundant.\n @param target The target address\n @param value The amount of ether to send\n @param data The data to call the target with"},"functionSelector":"c28bc2fa","id":17782,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":17760,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"12105:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":17761,"kind":"modifierInvocation","modifierName":{"id":17759,"name":"onlyRoleOrGovernance","nameLocations":["12084:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"12084:20:48"},"nodeType":"ModifierInvocation","src":"12084:40:48"}],"name":"relay","nameLocation":"11985:5:48","nodeType":"FunctionDefinition","parameters":{"id":17758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17753,"mutability":"mutable","name":"target","nameLocation":"12004:6:48","nodeType":"VariableDeclaration","scope":17782,"src":"11996:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17752,"name":"address","nodeType":"ElementaryTypeName","src":"11996:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17755,"mutability":"mutable","name":"value","nameLocation":"12024:5:48","nodeType":"VariableDeclaration","scope":17782,"src":"12016:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17754,"name":"uint256","nodeType":"ElementaryTypeName","src":"12016:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17757,"mutability":"mutable","name":"data","nameLocation":"12050:4:48","nodeType":"VariableDeclaration","scope":17782,"src":"12035:19:48","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17756,"name":"bytes","nodeType":"ElementaryTypeName","src":"12035:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11990:68:48"},"returnParameters":{"id":17762,"nodeType":"ParameterList","parameters":[],"src":"12125:0:48"},"scope":19538,"src":"11976:286:48","stateMutability":"payable","virtual":true,"visibility":"external"},{"baseFunctions":[26748],"body":{"id":17795,"nodeType":"Block","src":"12875:75:48","statements":[{"expression":{"arguments":[{"id":17792,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17785,"src":"12934:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17790,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"12888:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":17791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12913:20:48","memberName":"proposalNeedsQueuing","nodeType":"MemberAccess","referencedDeclaration":22260,"src":"12888:45:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":17793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12888:57:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":17789,"id":17794,"nodeType":"Return","src":"12881:64:48"}]},"documentation":{"id":17783,"nodeType":"StructuredDocumentation","src":"12321:472:48","text":" @notice Function to know if a proposal is executable or not.\n If the proposal was created without any targets, values, or calldatas, it is not executable.\n to check if the proposal is executable.\n @dev If no calldatas or targets then it's not executable, otherwise it will check if the governance can execute transactions or not.\n @param proposalId The id of the proposal\n @return bool True if the proposal needs queuing, false otherwise"},"functionSelector":"a9a95294","id":17796,"implemented":true,"kind":"function","modifiers":[],"name":"proposalNeedsQueuing","nameLocation":"12805:20:48","nodeType":"FunctionDefinition","parameters":{"id":17786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17785,"mutability":"mutable","name":"proposalId","nameLocation":"12834:10:48","nodeType":"VariableDeclaration","scope":17796,"src":"12826:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17784,"name":"uint256","nodeType":"ElementaryTypeName","src":"12826:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12825:20:48"},"returnParameters":{"id":17789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17788,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17796,"src":"12869:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17787,"name":"bool","nodeType":"ElementaryTypeName","src":"12869:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12868:6:48"},"scope":19538,"src":"12796:154:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26647],"body":{"id":17813,"nodeType":"Block","src":"13217:89:48","statements":[{"expression":{"arguments":[{"arguments":[{"id":17809,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17799,"src":"13289:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17807,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"13261:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":17808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13283:5:48","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":24451,"src":"13261:27:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":17810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13261:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":17805,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"13230:16:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":17806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13247:13:48","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"13230:30:48","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":17811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13230:71:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":17804,"id":17812,"nodeType":"Return","src":"13223:78:48"}]},"documentation":{"id":17797,"nodeType":"StructuredDocumentation","src":"12954:170:48","text":" @notice Returns the state of a proposal\n @param proposalId The id of the proposal\n @return GovernorTypesV10.ProposalState The state of the proposal"},"functionSelector":"3e4f49e6","id":17814,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"13136:5:48","nodeType":"FunctionDefinition","parameters":{"id":17800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17799,"mutability":"mutable","name":"proposalId","nameLocation":"13150:10:48","nodeType":"VariableDeclaration","scope":17814,"src":"13142:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17798,"name":"uint256","nodeType":"ElementaryTypeName","src":"13142:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13141:20:48"},"returnParameters":{"id":17804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17803,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17814,"src":"13185:30:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"typeName":{"id":17802,"nodeType":"UserDefinedTypeName","pathNode":{"id":17801,"name":"GovernorTypesV10.ProposalState","nameLocations":["13185:16:48","13202:13:48"],"nodeType":"IdentifierPath","referencedDeclaration":24992,"src":"13185:30:48"},"referencedDeclaration":24992,"src":"13185:30:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"visibility":"internal"}],"src":"13184:32:48"},"scope":19538,"src":"13127:179:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26935],"body":{"id":17824,"nodeType":"Block","src":"13535:72:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":17820,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"13548:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":17821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13573:27:48","memberName":"canProposalStartInNextRound","nodeType":"MemberAccess","referencedDeclaration":21863,"src":"13548:52:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":17822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13548:54:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":17819,"id":17823,"nodeType":"Return","src":"13541:61:48"}]},"documentation":{"id":17815,"nodeType":"StructuredDocumentation","src":"13310:156:48","text":" @notice Check if the proposal can start in the next round\n @return bool True if the proposal can start in the next round, false otherwise"},"functionSelector":"81ab2353","id":17825,"implemented":true,"kind":"function","modifiers":[],"name":"canProposalStartInNextRound","nameLocation":"13478:27:48","nodeType":"FunctionDefinition","parameters":{"id":17816,"nodeType":"ParameterList","parameters":[],"src":"13505:2:48"},"returnParameters":{"id":17819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17825,"src":"13529:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17817,"name":"bool","nodeType":"ElementaryTypeName","src":"13529:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13528:6:48"},"scope":19538,"src":"13469:138:48","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[26732],"body":{"id":17838,"nodeType":"Block","src":"13856:71:48","statements":[{"expression":{"arguments":[{"id":17835,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17828,"src":"13911:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17833,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"13869:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":17834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13894:16:48","memberName":"proposalProposer","nodeType":"MemberAccess","referencedDeclaration":21779,"src":"13869:41:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":17836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13869:53:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":17832,"id":17837,"nodeType":"Return","src":"13862:60:48"}]},"documentation":{"id":17826,"nodeType":"StructuredDocumentation","src":"13611:158:48","text":" @notice See {IB3TRGovernorV10-proposalProposer}.\n @param proposalId The id of the proposal\n @return address The address of the proposer"},"functionSelector":"143489d0","id":17839,"implemented":true,"kind":"function","modifiers":[],"name":"proposalProposer","nameLocation":"13781:16:48","nodeType":"FunctionDefinition","parameters":{"id":17829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17828,"mutability":"mutable","name":"proposalId","nameLocation":"13806:10:48","nodeType":"VariableDeclaration","scope":17839,"src":"13798:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17827,"name":"uint256","nodeType":"ElementaryTypeName","src":"13798:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13797:20:48"},"returnParameters":{"id":17832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17839,"src":"13847:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17830,"name":"address","nodeType":"ElementaryTypeName","src":"13847:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13846:9:48"},"scope":19538,"src":"13772:155:48","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[26740],"body":{"id":17852,"nodeType":"Block","src":"14162:66:48","statements":[{"expression":{"arguments":[{"id":17849,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17842,"src":"14212:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17847,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"14175:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":17848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14200:11:48","memberName":"proposalEta","nodeType":"MemberAccess","referencedDeclaration":21803,"src":"14175:36:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":17850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14175:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17846,"id":17851,"nodeType":"Return","src":"14168:55:48"}]},"documentation":{"id":17840,"nodeType":"StructuredDocumentation","src":"13931:149:48","text":" @notice See {IB3TRGovernorV10-proposalEta}.\n @param proposalId The id of the proposal\n @return uint256 The ETA of the proposal"},"functionSelector":"ab58fb8e","id":17853,"implemented":true,"kind":"function","modifiers":[],"name":"proposalEta","nameLocation":"14092:11:48","nodeType":"FunctionDefinition","parameters":{"id":17843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17842,"mutability":"mutable","name":"proposalId","nameLocation":"14112:10:48","nodeType":"VariableDeclaration","scope":17853,"src":"14104:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17841,"name":"uint256","nodeType":"ElementaryTypeName","src":"14104:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14103:20:48"},"returnParameters":{"id":17846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17853,"src":"14153:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17844,"name":"uint256","nodeType":"ElementaryTypeName","src":"14153:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14152:9:48"},"scope":19538,"src":"14083:145:48","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[26929],"body":{"id":17866,"nodeType":"Block","src":"14476:73:48","statements":[{"expression":{"arguments":[{"id":17863,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17856,"src":"14533:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17861,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"14489:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":17862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14514:18:48","memberName":"proposalStartRound","nodeType":"MemberAccess","referencedDeclaration":21827,"src":"14489:43:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":17864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14489:55:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17860,"id":17865,"nodeType":"Return","src":"14482:62:48"}]},"documentation":{"id":17854,"nodeType":"StructuredDocumentation","src":"14232:163:48","text":" @notice See {IB3TRGovernorV10-proposalStartRound}\n @param proposalId The id of the proposal\n @return uint256 The start round of the proposal"},"functionSelector":"8ced2a11","id":17867,"implemented":true,"kind":"function","modifiers":[],"name":"proposalStartRound","nameLocation":"14407:18:48","nodeType":"FunctionDefinition","parameters":{"id":17857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17856,"mutability":"mutable","name":"proposalId","nameLocation":"14434:10:48","nodeType":"VariableDeclaration","scope":17867,"src":"14426:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17855,"name":"uint256","nodeType":"ElementaryTypeName","src":"14426:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14425:20:48"},"returnParameters":{"id":17860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17859,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17867,"src":"14467:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17858,"name":"uint256","nodeType":"ElementaryTypeName","src":"14467:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14466:9:48"},"scope":19538,"src":"14398:151:48","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[26716],"body":{"id":17880,"nodeType":"Block","src":"15073:71:48","statements":[{"expression":{"arguments":[{"id":17877,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17870,"src":"15128:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17875,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"15086:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":17876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15111:16:48","memberName":"proposalSnapshot","nodeType":"MemberAccess","referencedDeclaration":21840,"src":"15086:41:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":17878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15086:53:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17874,"id":17879,"nodeType":"Return","src":"15079:60:48"}]},"documentation":{"id":17868,"nodeType":"StructuredDocumentation","src":"14553:439:48","text":" @notice See {IB3TRGovernorV10-proposalSnapshot}.\n We take for granted that the round starts the block after it ends. But it can happen that the round is not started yet for whatever reason.\n Knowing this, if the proposal starts 4 rounds in the future we need to consider also those extra blocks used to start the rounds.\n @param proposalId The id of the proposal\n @return uint256 The snapshot of the proposal"},"functionSelector":"2d63f693","id":17881,"implemented":true,"kind":"function","modifiers":[],"name":"proposalSnapshot","nameLocation":"15004:16:48","nodeType":"FunctionDefinition","parameters":{"id":17871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17870,"mutability":"mutable","name":"proposalId","nameLocation":"15029:10:48","nodeType":"VariableDeclaration","scope":17881,"src":"15021:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17869,"name":"uint256","nodeType":"ElementaryTypeName","src":"15021:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15020:20:48"},"returnParameters":{"id":17874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17873,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17881,"src":"15064:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17872,"name":"uint256","nodeType":"ElementaryTypeName","src":"15064:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15063:9:48"},"scope":19538,"src":"14995:149:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26724],"body":{"id":17894,"nodeType":"Block","src":"15388:71:48","statements":[{"expression":{"arguments":[{"id":17891,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17884,"src":"15443:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17889,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"15401:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":17890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15426:16:48","memberName":"proposalDeadline","nodeType":"MemberAccess","referencedDeclaration":21853,"src":"15401:41:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":17892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15401:53:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17888,"id":17893,"nodeType":"Return","src":"15394:60:48"}]},"documentation":{"id":17882,"nodeType":"StructuredDocumentation","src":"15148:159:48","text":" @notice See {IB3TRGovernorV10-proposalDeadline}.\n @param proposalId The id of the proposal\n @return uint256 The deadline of the proposal"},"functionSelector":"c01f9e37","id":17895,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDeadline","nameLocation":"15319:16:48","nodeType":"FunctionDefinition","parameters":{"id":17885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17884,"mutability":"mutable","name":"proposalId","nameLocation":"15344:10:48","nodeType":"VariableDeclaration","scope":17895,"src":"15336:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17883,"name":"uint256","nodeType":"ElementaryTypeName","src":"15336:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15335:20:48"},"returnParameters":{"id":17888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17887,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17895,"src":"15379:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17886,"name":"uint256","nodeType":"ElementaryTypeName","src":"15379:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15378:9:48"},"scope":19538,"src":"15310:149:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26708],"body":{"id":17918,"nodeType":"Block","src":"15754:168:48","statements":[{"assignments":[17908],"declarations":[{"constant":false,"id":17908,"mutability":"mutable","name":"$","nameLocation":"15808:1:48","nodeType":"VariableDeclaration","scope":17918,"src":"15760:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":17907,"nodeType":"UserDefinedTypeName","pathNode":{"id":17906,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["15760:23:48","15784:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"15760:39:48"},"referencedDeclaration":24891,"src":"15760:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":17912,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":17909,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"15812:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":17910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15836:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"15812:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":17911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15812:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15760:96:48"},{"expression":{"baseExpression":{"expression":{"id":17913,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17908,"src":"15869:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":17914,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15871:27:48","memberName":"proposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":24845,"src":"15869:29:48","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":17916,"indexExpression":{"id":17915,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17899,"src":"15899:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15869:48:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17903,"id":17917,"nodeType":"Return","src":"15862:55:48"}]},"documentation":{"id":17896,"nodeType":"StructuredDocumentation","src":"15463:168:48","text":" @notice Returns the voting threshold for a proposal type\n @param proposalTypeValue The type of the proposal\n @return uint256 The voting threshold"},"functionSelector":"1caf3474","id":17919,"implemented":true,"kind":"function","modifiers":[],"name":"votingThresholdByProposalType","nameLocation":"15643:29:48","nodeType":"FunctionDefinition","parameters":{"id":17900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17899,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"15703:17:48","nodeType":"VariableDeclaration","scope":17919,"src":"15673:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":17898,"nodeType":"UserDefinedTypeName","pathNode":{"id":17897,"name":"GovernorTypesV10.ProposalType","nameLocations":["15673:16:48","15690:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"15673:29:48"},"referencedDeclaration":25017,"src":"15673:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"15672:49:48"},"returnParameters":{"id":17903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17902,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17919,"src":"15745:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17901,"name":"uint256","nodeType":"ElementaryTypeName","src":"15745:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15744:9:48"},"scope":19538,"src":"15634:288:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26772],"body":{"id":17935,"nodeType":"Block","src":"16214:68:48","statements":[{"expression":{"arguments":[{"id":17931,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17922,"src":"16258:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17932,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17924,"src":"16267:9:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17929,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"16227:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":17930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16249:8:48","memberName":"getVotes","nodeType":"MemberAccess","referencedDeclaration":25381,"src":"16227:30:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":17933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16227:50:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17928,"id":17934,"nodeType":"Return","src":"16220:57:48"}]},"documentation":{"id":17920,"nodeType":"StructuredDocumentation","src":"15926:199:48","text":" @notice See {IB3TRGovernorV10-getVotes}.\n @param account The address of the account\n @param timepoint The timepoint to get the votes at\n @return uint256 The number of votes"},"functionSelector":"eb9019d4","id":17936,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"16137:8:48","nodeType":"FunctionDefinition","parameters":{"id":17925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17922,"mutability":"mutable","name":"account","nameLocation":"16154:7:48","nodeType":"VariableDeclaration","scope":17936,"src":"16146:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17921,"name":"address","nodeType":"ElementaryTypeName","src":"16146:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17924,"mutability":"mutable","name":"timepoint","nameLocation":"16171:9:48","nodeType":"VariableDeclaration","scope":17936,"src":"16163:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17923,"name":"uint256","nodeType":"ElementaryTypeName","src":"16163:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16145:36:48"},"returnParameters":{"id":17928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17936,"src":"16205:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17926,"name":"uint256","nodeType":"ElementaryTypeName","src":"16205:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16204:9:48"},"scope":19538,"src":"16128:154:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26782],"body":{"id":17952,"nodeType":"Block","src":"16674:83:48","statements":[{"expression":{"arguments":[{"id":17948,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17939,"src":"16733:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17949,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17941,"src":"16742:9:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17946,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"16687:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":17947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16709:23:48","memberName":"getQuadraticVotingPower","nodeType":"MemberAccess","referencedDeclaration":25402,"src":"16687:45:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":17950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16687:65:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17945,"id":17951,"nodeType":"Return","src":"16680:72:48"}]},"documentation":{"id":17937,"nodeType":"StructuredDocumentation","src":"16286:284:48","text":" @notice Returns the quadratic voting power that `account` has.  See {IB3TRGovernorV10-getQuadraticVotingPower}.\n @param account The address of the account\n @param timepoint The timepoint to get the voting power at\n @return uint256 The quadratic voting power"},"functionSelector":"b69d417b","id":17953,"implemented":true,"kind":"function","modifiers":[],"name":"getQuadraticVotingPower","nameLocation":"16582:23:48","nodeType":"FunctionDefinition","parameters":{"id":17942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17939,"mutability":"mutable","name":"account","nameLocation":"16614:7:48","nodeType":"VariableDeclaration","scope":17953,"src":"16606:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17938,"name":"address","nodeType":"ElementaryTypeName","src":"16606:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17941,"mutability":"mutable","name":"timepoint","nameLocation":"16631:9:48","nodeType":"VariableDeclaration","scope":17953,"src":"16623:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17940,"name":"uint256","nodeType":"ElementaryTypeName","src":"16623:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16605:36:48"},"returnParameters":{"id":17945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17944,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17953,"src":"16665:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17943,"name":"uint256","nodeType":"ElementaryTypeName","src":"16665:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16664:9:48"},"scope":19538,"src":"16573:184:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[4545],"body":{"id":17963,"nodeType":"Block","src":"17018:47:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":17959,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"17031:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":17960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17053:5:48","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"17031:27:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":17961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17031:29:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":17958,"id":17962,"nodeType":"Return","src":"17024:36:48"}]},"documentation":{"id":17954,"nodeType":"StructuredDocumentation","src":"16761:206:48","text":" @notice Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token\n does not implement EIP-6372.\n @return uint48 The current clock time"},"functionSelector":"91ddadf4","id":17964,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"16979:5:48","nodeType":"FunctionDefinition","parameters":{"id":17955,"nodeType":"ParameterList","parameters":[],"src":"16984:2:48"},"returnParameters":{"id":17958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17964,"src":"17010:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":17956,"name":"uint48","nodeType":"ElementaryTypeName","src":"17010:6:48","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"17009:8:48"},"scope":19538,"src":"16970:95:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[4551],"body":{"id":17974,"nodeType":"Block","src":"17308:52:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":17970,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"17321:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":17971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17343:10:48","memberName":"CLOCK_MODE","nodeType":"MemberAccess","referencedDeclaration":19613,"src":"17321:32:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":17972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17321:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17969,"id":17973,"nodeType":"Return","src":"17314:41:48"}]},"documentation":{"id":17965,"nodeType":"StructuredDocumentation","src":"17069:125:48","text":" @notice Machine-readable description of the clock as specified in EIP-6372.\n @return string The clock mode"},"functionSelector":"4bf5d7e9","id":17975,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"17257:10:48","nodeType":"FunctionDefinition","parameters":{"id":17966,"nodeType":"ParameterList","parameters":[],"src":"17267:2:48"},"returnParameters":{"id":17969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17975,"src":"17293:13:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17967,"name":"string","nodeType":"ElementaryTypeName","src":"17293:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17292:15:48"},"scope":19538,"src":"17248:112:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":17994,"nodeType":"Block","src":"17517:126:48","statements":[{"assignments":[17986],"declarations":[{"constant":false,"id":17986,"mutability":"mutable","name":"$","nameLocation":"17571:1:48","nodeType":"VariableDeclaration","scope":17994,"src":"17523:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":17985,"nodeType":"UserDefinedTypeName","pathNode":{"id":17984,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["17523:23:48","17547:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"17523:39:48"},"referencedDeclaration":24891,"src":"17523:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":17990,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":17987,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"17575:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":17988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17599:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"17575:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":17989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17575:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17523:96:48"},{"expression":{"expression":{"id":17991,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17986,"src":"17632:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":17992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17634:4:48","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"17632:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"functionReturnParameters":17981,"id":17993,"nodeType":"Return","src":"17625:13:48"}]},"documentation":{"id":17976,"nodeType":"StructuredDocumentation","src":"17364:103:48","text":" @notice The token that voting power is sourced from.\n @return IVOT3 The voting token"},"functionSelector":"fc0c546a","id":17995,"implemented":true,"kind":"function","modifiers":[],"name":"token","nameLocation":"17479:5:48","nodeType":"FunctionDefinition","parameters":{"id":17977,"nodeType":"ParameterList","parameters":[],"src":"17484:2:48"},"returnParameters":{"id":17981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17980,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17995,"src":"17510:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"},"typeName":{"id":17979,"nodeType":"UserDefinedTypeName","pathNode":{"id":17978,"name":"IVOT3","nameLocations":["17510:5:48"],"nodeType":"IdentifierPath","referencedDeclaration":67719,"src":"17510:5:48"},"referencedDeclaration":67719,"src":"17510:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"visibility":"internal"}],"src":"17509:7:48"},"scope":19538,"src":"17470:173:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26762],"body":{"id":18008,"nodeType":"Block","src":"17937:60:48","statements":[{"expression":{"arguments":[{"id":18005,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17998,"src":"17980:11:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18003,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"17950:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":18004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17973:6:48","memberName":"quorum","nodeType":"MemberAccess","referencedDeclaration":24130,"src":"17950:29:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":18006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17950:42:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18002,"id":18007,"nodeType":"Return","src":"17943:49:48"}]},"documentation":{"id":17996,"nodeType":"StructuredDocumentation","src":"17647:218:48","text":" @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n @param blockNumber The block number to get the quorum for\n @return uint256 The quorum"},"functionSelector":"f8ce560a","id":18009,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"17877:6:48","nodeType":"FunctionDefinition","parameters":{"id":17999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17998,"mutability":"mutable","name":"blockNumber","nameLocation":"17892:11:48","nodeType":"VariableDeclaration","scope":18009,"src":"17884:19:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17997,"name":"uint256","nodeType":"ElementaryTypeName","src":"17884:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17883:21:48"},"returnParameters":{"id":18002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18001,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18009,"src":"17928:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18000,"name":"uint256","nodeType":"ElementaryTypeName","src":"17928:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17927:9:48"},"scope":19538,"src":"17868:129:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18019,"nodeType":"Block","src":"18198:58:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18015,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"18211:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":18016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18234:15:48","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":24057,"src":"18211:38:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":18017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18211:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18014,"id":18018,"nodeType":"Return","src":"18204:47:48"}]},"documentation":{"id":18010,"nodeType":"StructuredDocumentation","src":"18001:135:48","text":" @notice Returns the current quorum numerator. See {quorumDenominator}.\n @return uint256 The current quorum numerator"},"functionSelector":"a7713a70","id":18020,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"18148:15:48","nodeType":"FunctionDefinition","parameters":{"id":18011,"nodeType":"ParameterList","parameters":[],"src":"18163:2:48"},"returnParameters":{"id":18014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18020,"src":"18189:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18012,"name":"uint256","nodeType":"ElementaryTypeName","src":"18189:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18188:9:48"},"scope":19538,"src":"18139:117:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18033,"nodeType":"Block","src":"18589:67:48","statements":[{"expression":{"arguments":[{"id":18030,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18023,"src":"18641:9:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18028,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"18602:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":18029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18625:15:48","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":24006,"src":"18602:38:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":18031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18602:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18027,"id":18032,"nodeType":"Return","src":"18595:56:48"}]},"documentation":{"id":18021,"nodeType":"StructuredDocumentation","src":"18260:250:48","text":" @notice Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\n @param timepoint The timepoint to get the quorum numerator for\n @return uint256 The quorum numerator at the given timepoint"},"functionSelector":"60c4247f","id":18034,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"18522:15:48","nodeType":"FunctionDefinition","parameters":{"id":18024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18023,"mutability":"mutable","name":"timepoint","nameLocation":"18546:9:48","nodeType":"VariableDeclaration","scope":18034,"src":"18538:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18022,"name":"uint256","nodeType":"ElementaryTypeName","src":"18538:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18537:19:48"},"returnParameters":{"id":18027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18034,"src":"18580:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18025,"name":"uint256","nodeType":"ElementaryTypeName","src":"18580:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18579:9:48"},"scope":19538,"src":"18513:143:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18044,"nodeType":"Block","src":"18903:60:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18040,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"18916:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":18041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18939:17:48","memberName":"quorumDenominator","nodeType":"MemberAccess","referencedDeclaration":23927,"src":"18916:40:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":18042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18916:42:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18039,"id":18043,"nodeType":"Return","src":"18909:49:48"}]},"documentation":{"id":18035,"nodeType":"StructuredDocumentation","src":"18660:179:48","text":" @notice Returns the quorum denominator using the GovernorQuorumFraction library. Defaults to 100, but may be overridden.\n @return uint256 The quorum denominator"},"functionSelector":"97c3d334","id":18045,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"18851:17:48","nodeType":"FunctionDefinition","parameters":{"id":18036,"nodeType":"ParameterList","parameters":[],"src":"18868:2:48"},"returnParameters":{"id":18039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18045,"src":"18894:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18037,"name":"uint256","nodeType":"ElementaryTypeName","src":"18894:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18893:9:48"},"scope":19538,"src":"18842:121:48","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":18061,"nodeType":"Block","src":"19312:102:48","statements":[{"expression":{"arguments":[{"id":18057,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18048,"src":"19384:6:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18058,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18050,"src":"19392:16:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":18055,"name":"GovernorFunctionRestrictionsLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21456,"src":"19325:36:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogicV10_$21456_$","typeString":"type(library GovernorFunctionRestrictionsLogicV10)"}},"id":18056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19362:21:48","memberName":"isFunctionWhitelisted","nodeType":"MemberAccess","referencedDeclaration":21373,"src":"19325:58:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":18059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19325:84:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":18054,"id":18060,"nodeType":"Return","src":"19318:91:48"}]},"documentation":{"id":18046,"nodeType":"StructuredDocumentation","src":"18967:241:48","text":" @notice Check if a function is restricted by the governor\n @param target The address of the contract\n @param functionSelector The function selector\n @return bool True if the function is whitelisted, false otherwise"},"functionSelector":"74a55a51","id":18062,"implemented":true,"kind":"function","modifiers":[],"name":"isFunctionWhitelisted","nameLocation":"19220:21:48","nodeType":"FunctionDefinition","parameters":{"id":18051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18048,"mutability":"mutable","name":"target","nameLocation":"19250:6:48","nodeType":"VariableDeclaration","scope":18062,"src":"19242:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18047,"name":"address","nodeType":"ElementaryTypeName","src":"19242:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18050,"mutability":"mutable","name":"functionSelector","nameLocation":"19265:16:48","nodeType":"VariableDeclaration","scope":18062,"src":"19258:23:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18049,"name":"bytes4","nodeType":"ElementaryTypeName","src":"19258:6:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"19241:41:48"},"returnParameters":{"id":18054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18062,"src":"19306:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18052,"name":"bool","nodeType":"ElementaryTypeName","src":"19306:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19305:6:48"},"scope":19538,"src":"19211:203:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26653],"body":{"id":18080,"nodeType":"Block","src":"19585:136:48","statements":[{"assignments":[18072],"declarations":[{"constant":false,"id":18072,"mutability":"mutable","name":"$","nameLocation":"19639:1:48","nodeType":"VariableDeclaration","scope":18080,"src":"19591:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":18071,"nodeType":"UserDefinedTypeName","pathNode":{"id":18070,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["19591:23:48","19615:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"19591:39:48"},"referencedDeclaration":24891,"src":"19591:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":18076,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18073,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"19643:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19667:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"19643:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19643:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19591:96:48"},{"expression":{"expression":{"id":18077,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18072,"src":"19700:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18078,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19702:14:48","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":24771,"src":"19700:16:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18067,"id":18079,"nodeType":"Return","src":"19693:23:48"}]},"documentation":{"id":18063,"nodeType":"StructuredDocumentation","src":"19418:106:48","text":" @notice See {B3TRGovernorV10-minVotingDelay}.\n @return uint256 The minimum voting delay"},"functionSelector":"c40ffbf6","id":18081,"implemented":true,"kind":"function","modifiers":[],"name":"minVotingDelay","nameLocation":"19536:14:48","nodeType":"FunctionDefinition","parameters":{"id":18064,"nodeType":"ParameterList","parameters":[],"src":"19550:2:48"},"returnParameters":{"id":18067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18081,"src":"19576:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18065,"name":"uint256","nodeType":"ElementaryTypeName","src":"19576:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19575:9:48"},"scope":19538,"src":"19527:194:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26754],"body":{"id":18101,"nodeType":"Block","src":"19882:154:48","statements":[{"assignments":[18091],"declarations":[{"constant":false,"id":18091,"mutability":"mutable","name":"$","nameLocation":"19936:1:48","nodeType":"VariableDeclaration","scope":18101,"src":"19888:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":18090,"nodeType":"UserDefinedTypeName","pathNode":{"id":18089,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["19888:23:48","19912:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"19888:39:48"},"referencedDeclaration":24891,"src":"19888:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":18095,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18092,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"19940:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19964:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"19940:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19940:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19888:96:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":18096,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18091,"src":"19997:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18097,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19999:17:48","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"19997:19:48","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":18098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20017:12:48","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":70868,"src":"19997:32:48","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":18099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19997:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18086,"id":18100,"nodeType":"Return","src":"19990:41:48"}]},"documentation":{"id":18082,"nodeType":"StructuredDocumentation","src":"19725:98:48","text":" @notice See {IB3TRGovernorV10-votingPeriod}.\n @return uint256 The voting period"},"functionSelector":"02a251a3","id":18102,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"19835:12:48","nodeType":"FunctionDefinition","parameters":{"id":18083,"nodeType":"ParameterList","parameters":[],"src":"19847:2:48"},"returnParameters":{"id":18086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18085,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18102,"src":"19873:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18084,"name":"uint256","nodeType":"ElementaryTypeName","src":"19873:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19872:9:48"},"scope":19538,"src":"19826:210:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26921],"body":{"id":18115,"nodeType":"Block","src":"20323:59:48","statements":[{"expression":{"arguments":[{"id":18112,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18105,"src":"20372:4:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18110,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"20336:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":18111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20358:13:48","memberName":"userVotedOnce","nodeType":"MemberAccess","referencedDeclaration":25493,"src":"20336:35:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":18113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20336:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":18109,"id":18114,"nodeType":"Return","src":"20329:48:48"}]},"documentation":{"id":18103,"nodeType":"StructuredDocumentation","src":"20040:215:48","text":" @notice Check if a user has voted at least one time.\n @param user The address of the user to check if has voted at least one time\n @return bool True if the user has voted once, false otherwise"},"functionSelector":"9aeb962b","id":18116,"implemented":true,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"20267:12:48","nodeType":"FunctionDefinition","parameters":{"id":18106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18105,"mutability":"mutable","name":"user","nameLocation":"20288:4:48","nodeType":"VariableDeclaration","scope":18116,"src":"20280:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18104,"name":"address","nodeType":"ElementaryTypeName","src":"20280:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20279:14:48"},"returnParameters":{"id":18109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18116,"src":"20317:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18107,"name":"bool","nodeType":"ElementaryTypeName","src":"20317:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20316:6:48"},"scope":19538,"src":"20258:124:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18129,"nodeType":"Block","src":"20628:68:48","statements":[{"expression":{"arguments":[{"id":18126,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18119,"src":"20680:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18124,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"20641:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":18125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20664:15:48","memberName":"isQuorumReached","nodeType":"MemberAccess","referencedDeclaration":24098,"src":"20641:38:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":18127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20641:50:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":18123,"id":18128,"nodeType":"Return","src":"20634:57:48"}]},"documentation":{"id":18117,"nodeType":"StructuredDocumentation","src":"20386:167:48","text":" @notice Returns if quorum was reached or not\n @param proposalId The id of the proposal\n @return bool True if quorum was reached, false otherwise"},"functionSelector":"d4a8dd98","id":18130,"implemented":true,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"20565:13:48","nodeType":"FunctionDefinition","parameters":{"id":18120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18119,"mutability":"mutable","name":"proposalId","nameLocation":"20587:10:48","nodeType":"VariableDeclaration","scope":18130,"src":"20579:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18118,"name":"uint256","nodeType":"ElementaryTypeName","src":"20579:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20578:20:48"},"returnParameters":{"id":18123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18130,"src":"20622:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18121,"name":"bool","nodeType":"ElementaryTypeName","src":"20622:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20621:6:48"},"scope":19538,"src":"20556:140:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18152,"nodeType":"Block","src":"20944:152:48","statements":[{"assignments":[18142],"declarations":[{"constant":false,"id":18142,"mutability":"mutable","name":"$","nameLocation":"20998:1:48","nodeType":"VariableDeclaration","scope":18152,"src":"20950:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":18141,"nodeType":"UserDefinedTypeName","pathNode":{"id":18140,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["20950:23:48","20974:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"20950:39:48"},"referencedDeclaration":24891,"src":"20950:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":18146,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18143,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"21002:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21026:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"21002:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21002:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20950:96:48"},{"expression":{"baseExpression":{"expression":{"id":18147,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18142,"src":"21059:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21061:18:48","memberName":"proposalTotalVotes","nodeType":"MemberAccess","referencedDeclaration":24822,"src":"21059:20:48","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":18150,"indexExpression":{"id":18149,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18133,"src":"21080:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21059:32:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18137,"id":18151,"nodeType":"Return","src":"21052:39:48"}]},"documentation":{"id":18131,"nodeType":"StructuredDocumentation","src":"20700:161:48","text":" @notice Returns the total votes for a proposal\n @param proposalId The id of the proposal\n @return uint256 The total votes for the proposal"},"functionSelector":"60463d68","id":18153,"implemented":true,"kind":"function","modifiers":[],"name":"proposalTotalVotes","nameLocation":"20873:18:48","nodeType":"FunctionDefinition","parameters":{"id":18134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18133,"mutability":"mutable","name":"proposalId","nameLocation":"20900:10:48","nodeType":"VariableDeclaration","scope":18153,"src":"20892:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18132,"name":"uint256","nodeType":"ElementaryTypeName","src":"20892:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20891:20:48"},"returnParameters":{"id":18137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18153,"src":"20935:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18135,"name":"uint256","nodeType":"ElementaryTypeName","src":"20935:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20934:9:48"},"scope":19538,"src":"20864:232:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18170,"nodeType":"Block","src":"21535:68:48","statements":[{"expression":{"arguments":[{"id":18167,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18156,"src":"21587:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18165,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"21548:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":18166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21570:16:48","memberName":"getProposalVotes","nodeType":"MemberAccess","referencedDeclaration":25470,"src":"21548:38:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view returns (uint256,uint256,uint256)"}},"id":18168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21548:50:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256)"}},"functionReturnParameters":18164,"id":18169,"nodeType":"Return","src":"21541:57:48"}]},"documentation":{"id":18154,"nodeType":"StructuredDocumentation","src":"21100:296:48","text":" @notice Accessor to the internal vote counts, in terms of vote power.\n @param proposalId The id of the proposal\n @return againstVotes The votes against the proposal\n @return forVotes The votes for the proposal\n @return abstainVotes The votes abstaining the proposal"},"functionSelector":"544ffc9c","id":18171,"implemented":true,"kind":"function","modifiers":[],"name":"proposalVotes","nameLocation":"21408:13:48","nodeType":"FunctionDefinition","parameters":{"id":18157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18156,"mutability":"mutable","name":"proposalId","nameLocation":"21435:10:48","nodeType":"VariableDeclaration","scope":18171,"src":"21427:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18155,"name":"uint256","nodeType":"ElementaryTypeName","src":"21427:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21421:28:48"},"returnParameters":{"id":18164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18159,"mutability":"mutable","name":"againstVotes","nameLocation":"21481:12:48","nodeType":"VariableDeclaration","scope":18171,"src":"21473:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18158,"name":"uint256","nodeType":"ElementaryTypeName","src":"21473:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18161,"mutability":"mutable","name":"forVotes","nameLocation":"21503:8:48","nodeType":"VariableDeclaration","scope":18171,"src":"21495:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18160,"name":"uint256","nodeType":"ElementaryTypeName","src":"21495:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18163,"mutability":"mutable","name":"abstainVotes","nameLocation":"21521:12:48","nodeType":"VariableDeclaration","scope":18171,"src":"21513:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18162,"name":"uint256","nodeType":"ElementaryTypeName","src":"21513:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21472:62:48"},"scope":19538,"src":"21399:204:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26621],"body":{"id":18179,"nodeType":"Block","src":"21810:60:48","statements":[{"expression":{"hexValue":"737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e2c616761696e7374","id":18177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21823:42:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec706abc71a3b4385eae5e65960f998ba103536c016ce32da55aef1746ebb136","typeString":"literal_string \"support=bravo&quorum=for,abstain,against\""},"value":"support=bravo&quorum=for,abstain,against"},"functionReturnParameters":18176,"id":18178,"nodeType":"Return","src":"21816:49:48"}]},"documentation":{"id":18172,"nodeType":"StructuredDocumentation","src":"21607:86:48","text":" @notice Returns the counting mode\n @return string The counting mode"},"functionSelector":"dd4e2ba5","id":18180,"implemented":true,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"21756:13:48","nodeType":"FunctionDefinition","parameters":{"id":18173,"nodeType":"ParameterList","parameters":[],"src":"21769:2:48"},"returnParameters":{"id":18176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18175,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18180,"src":"21795:13:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18174,"name":"string","nodeType":"ElementaryTypeName","src":"21795:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21794:15:48"},"scope":19538,"src":"21747:123:48","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[26792],"body":{"id":18196,"nodeType":"Block","src":"22174:69:48","statements":[{"expression":{"arguments":[{"id":18192,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18183,"src":"22218:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18193,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18185,"src":"22230:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18190,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"22187:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":18191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22209:8:48","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":25430,"src":"22187:30:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":18194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22187:51:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":18189,"id":18195,"nodeType":"Return","src":"22180:58:48"}]},"documentation":{"id":18181,"nodeType":"StructuredDocumentation","src":"21874:213:48","text":" @notice See {IB3TRGovernorV10-hasVoted}.\n @param proposalId The id of the proposal\n @param account The address of the account\n @return bool True if the account has voted, false otherwise"},"functionSelector":"43859632","id":18197,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"22099:8:48","nodeType":"FunctionDefinition","parameters":{"id":18186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18183,"mutability":"mutable","name":"proposalId","nameLocation":"22116:10:48","nodeType":"VariableDeclaration","scope":18197,"src":"22108:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18182,"name":"uint256","nodeType":"ElementaryTypeName","src":"22108:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18185,"mutability":"mutable","name":"account","nameLocation":"22136:7:48","nodeType":"VariableDeclaration","scope":18197,"src":"22128:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18184,"name":"address","nodeType":"ElementaryTypeName","src":"22128:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22107:37:48"},"returnParameters":{"id":18189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18197,"src":"22168:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18187,"name":"bool","nodeType":"ElementaryTypeName","src":"22168:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22167:6:48"},"scope":19538,"src":"22090:153:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26959],"body":{"id":18210,"nodeType":"Block","src":"22495:73:48","statements":[{"expression":{"arguments":[{"id":18207,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18200,"src":"22552:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18205,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"22508:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":18206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22532:19:48","memberName":"getProposalDeposits","nodeType":"MemberAccess","referencedDeclaration":21093,"src":"22508:43:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":18208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22508:55:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18204,"id":18209,"nodeType":"Return","src":"22501:62:48"}]},"documentation":{"id":18198,"nodeType":"StructuredDocumentation","src":"22247:164:48","text":" @notice Returns the amount of deposits made to a proposal.\n @param proposalId The id of the proposal.\n @return uint256 The amount of deposits"},"functionSelector":"c220f2f5","id":18211,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalDeposits","nameLocation":"22423:19:48","nodeType":"FunctionDefinition","parameters":{"id":18201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18200,"mutability":"mutable","name":"proposalId","nameLocation":"22451:10:48","nodeType":"VariableDeclaration","scope":18211,"src":"22443:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18199,"name":"uint256","nodeType":"ElementaryTypeName","src":"22443:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22442:20:48"},"returnParameters":{"id":18204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18211,"src":"22486:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18202,"name":"uint256","nodeType":"ElementaryTypeName","src":"22486:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22485:9:48"},"scope":19538,"src":"22414:154:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26967],"body":{"id":18224,"nodeType":"Block","src":"22882:76:48","statements":[{"expression":{"arguments":[{"id":18221,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18214,"src":"22942:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18219,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"22895:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":18220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22919:22:48","memberName":"proposalDepositReached","nodeType":"MemberAccess","referencedDeclaration":21127,"src":"22895:46:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":18222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22895:58:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":18218,"id":18223,"nodeType":"Return","src":"22888:65:48"}]},"documentation":{"id":18212,"nodeType":"StructuredDocumentation","src":"22572:226:48","text":" @notice Returns true if the threshold of deposits required to reach a proposal has been reached.\n @param proposalId The id of the proposal.\n @return bool True if the threshold is reached, false otherwise"},"functionSelector":"8d5a3f67","id":18225,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDepositReached","nameLocation":"22810:22:48","nodeType":"FunctionDefinition","parameters":{"id":18215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18214,"mutability":"mutable","name":"proposalId","nameLocation":"22841:10:48","nodeType":"VariableDeclaration","scope":18225,"src":"22833:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18213,"name":"uint256","nodeType":"ElementaryTypeName","src":"22833:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22832:20:48"},"returnParameters":{"id":18218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18225,"src":"22876:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18216,"name":"bool","nodeType":"ElementaryTypeName","src":"22876:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22875:6:48"},"scope":19538,"src":"22801:157:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18238,"nodeType":"Block","src":"23227:78:48","statements":[{"expression":{"arguments":[{"id":18235,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18228,"src":"23289:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18233,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"23240:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":18234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23264:24:48","memberName":"proposalDepositThreshold","nodeType":"MemberAccess","referencedDeclaration":21069,"src":"23240:48:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":18236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23240:60:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18232,"id":18237,"nodeType":"Return","src":"23233:67:48"}]},"documentation":{"id":18226,"nodeType":"StructuredDocumentation","src":"22962:176:48","text":" @notice Returns the deposit threshold for a proposal.\n @param proposalId The id of the proposal.\n @return uint256 The deposit threshold for the proposal."},"functionSelector":"88fb07a5","id":18239,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDepositThreshold","nameLocation":"23150:24:48","nodeType":"FunctionDefinition","parameters":{"id":18229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18228,"mutability":"mutable","name":"proposalId","nameLocation":"23183:10:48","nodeType":"VariableDeclaration","scope":18239,"src":"23175:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18227,"name":"uint256","nodeType":"ElementaryTypeName","src":"23175:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23174:20:48"},"returnParameters":{"id":18232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18231,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18239,"src":"23218:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18230,"name":"uint256","nodeType":"ElementaryTypeName","src":"23218:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23217:9:48"},"scope":19538,"src":"23141:164:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18252,"nodeType":"Block","src":"23549:68:48","statements":[{"expression":{"arguments":[{"id":18249,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18242,"src":"23601:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18247,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"23562:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":18248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23587:13:48","memberName":"getTimelockId","nodeType":"MemberAccess","referencedDeclaration":21909,"src":"23562:38:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":18250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23562:50:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":18246,"id":18251,"nodeType":"Return","src":"23555:57:48"}]},"documentation":{"id":18240,"nodeType":"StructuredDocumentation","src":"23309:164:48","text":" @notice Public endpoint to retrieve the timelock id of a proposal.\n @param proposalId The id of the proposal\n @return bytes32 The timelock id"},"functionSelector":"f744f119","id":18253,"implemented":true,"kind":"function","modifiers":[],"name":"getTimelockId","nameLocation":"23485:13:48","nodeType":"FunctionDefinition","parameters":{"id":18243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18242,"mutability":"mutable","name":"proposalId","nameLocation":"23507:10:48","nodeType":"VariableDeclaration","scope":18253,"src":"23499:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18241,"name":"uint256","nodeType":"ElementaryTypeName","src":"23499:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23498:20:48"},"returnParameters":{"id":18246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18253,"src":"23540:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23540:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"23539:9:48"},"scope":19538,"src":"23476:141:48","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[26977],"body":{"id":18269,"nodeType":"Block","src":"23963:74:48","statements":[{"expression":{"arguments":[{"id":18265,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18256,"src":"24015:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18266,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18258,"src":"24027:4:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18263,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"23976:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":18264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24000:14:48","memberName":"getUserDeposit","nodeType":"MemberAccess","referencedDeclaration":21045,"src":"23976:38:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":18267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23976:56:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18262,"id":18268,"nodeType":"Return","src":"23969:63:48"}]},"documentation":{"id":18254,"nodeType":"StructuredDocumentation","src":"23621:249:48","text":" @notice Returns the amount of tokens a specific user has deposited to a proposal.\n @param proposalId The id of the proposal.\n @param user The address of the user.\n @return uint256 The amount of tokens deposited by the user"},"functionSelector":"4e055244","id":18270,"implemented":true,"kind":"function","modifiers":[],"name":"getUserDeposit","nameLocation":"23882:14:48","nodeType":"FunctionDefinition","parameters":{"id":18259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18256,"mutability":"mutable","name":"proposalId","nameLocation":"23905:10:48","nodeType":"VariableDeclaration","scope":18270,"src":"23897:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18255,"name":"uint256","nodeType":"ElementaryTypeName","src":"23897:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18258,"mutability":"mutable","name":"user","nameLocation":"23925:4:48","nodeType":"VariableDeclaration","scope":18270,"src":"23917:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18257,"name":"address","nodeType":"ElementaryTypeName","src":"23917:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23896:34:48"},"returnParameters":{"id":18262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18270,"src":"23954:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18260,"name":"uint256","nodeType":"ElementaryTypeName","src":"23954:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23953:9:48"},"scope":19538,"src":"23873:164:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26609],"body":{"id":18288,"nodeType":"Block","src":"24194:126:48","statements":[{"assignments":[18280],"declarations":[{"constant":false,"id":18280,"mutability":"mutable","name":"$","nameLocation":"24248:1:48","nodeType":"VariableDeclaration","scope":18288,"src":"24200:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":18279,"nodeType":"UserDefinedTypeName","pathNode":{"id":18278,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["24200:23:48","24224:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"24200:39:48"},"referencedDeclaration":24891,"src":"24200:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":18284,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18281,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"24252:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24276:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"24252:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24252:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24200:96:48"},{"expression":{"expression":{"id":18285,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18280,"src":"24309:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24311:4:48","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":24761,"src":"24309:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":18275,"id":18287,"nodeType":"Return","src":"24302:13:48"}]},"documentation":{"id":18271,"nodeType":"StructuredDocumentation","src":"24041:96:48","text":" @notice See {IB3TRGovernorV10-name}.\n @return string The name of the governor"},"functionSelector":"06fdde03","id":18289,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"24149:4:48","nodeType":"FunctionDefinition","parameters":{"id":18272,"nodeType":"ParameterList","parameters":[],"src":"24153:2:48"},"returnParameters":{"id":18275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18289,"src":"24179:13:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18273,"name":"string","nodeType":"ElementaryTypeName","src":"24179:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24178:15:48"},"scope":19538,"src":"24140:180:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18299,"nodeType":"Block","src":"24559:82:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18295,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"24572:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":18296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24594:40:48","memberName":"isQuadraticVotingDisabledForCurrentRound","nodeType":"MemberAccess","referencedDeclaration":26101,"src":"24572:62:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":18297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24572:64:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":18294,"id":18298,"nodeType":"Return","src":"24565:71:48"}]},"documentation":{"id":18290,"nodeType":"StructuredDocumentation","src":"24324:151:48","text":" @notice Check if quadratic voting is disabled for the current round.\n @return true if quadratic voting is disabled, false otherwise."},"functionSelector":"81c0d6df","id":18300,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticVotingDisabledForCurrentRound","nameLocation":"24487:40:48","nodeType":"FunctionDefinition","parameters":{"id":18291,"nodeType":"ParameterList","parameters":[],"src":"24527:2:48"},"returnParameters":{"id":18294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18300,"src":"24553:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18292,"name":"bool","nodeType":"ElementaryTypeName","src":"24553:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24552:6:48"},"scope":19538,"src":"24478:163:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18313,"nodeType":"Block","src":"24973:82:48","statements":[{"expression":{"arguments":[{"id":18310,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18303,"src":"25042:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18308,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"24986:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":18309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25008:33:48","memberName":"isQuadraticVotingDisabledForRound","nodeType":"MemberAccess","referencedDeclaration":26067,"src":"24986:55:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":18311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24986:64:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":18307,"id":18312,"nodeType":"Return","src":"24979:71:48"}]},"documentation":{"id":18301,"nodeType":"StructuredDocumentation","src":"24645:236:48","text":" @notice Check if quadratic voting is disabled at a specific round.\n @param roundId - The round ID for which to check if quadratic voting is disabled.\n @return true if quadratic voting is disabled, false otherwise."},"functionSelector":"a45aa313","id":18314,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticVotingDisabledForRound","nameLocation":"24893:33:48","nodeType":"FunctionDefinition","parameters":{"id":18304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18303,"mutability":"mutable","name":"roundId","nameLocation":"24935:7:48","nodeType":"VariableDeclaration","scope":18314,"src":"24927:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18302,"name":"uint256","nodeType":"ElementaryTypeName","src":"24927:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24926:17:48"},"returnParameters":{"id":18307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18314,"src":"24967:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18305,"name":"bool","nodeType":"ElementaryTypeName","src":"24967:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24966:6:48"},"scope":19538,"src":"24884:171:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26615],"body":{"id":18322,"nodeType":"Block","src":"25221:22:48","statements":[{"expression":{"hexValue":"3130","id":18320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25234:4:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_1a192fabce13988b84994d4296e6cdc418d55e2f1d7f942188d4040b94fc57ac","typeString":"literal_string \"10\""},"value":"10"},"functionReturnParameters":18319,"id":18321,"nodeType":"Return","src":"25227:11:48"}]},"documentation":{"id":18315,"nodeType":"StructuredDocumentation","src":"25059:102:48","text":" @notice See {IB3TRGovernorV10-version}.\n @return string The version of the governor"},"functionSelector":"54fd4d50","id":18323,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"25173:7:48","nodeType":"FunctionDefinition","parameters":{"id":18316,"nodeType":"ParameterList","parameters":[],"src":"25180:2:48"},"returnParameters":{"id":18319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18318,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18323,"src":"25206:13:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18317,"name":"string","nodeType":"ElementaryTypeName","src":"25206:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25205:15:48"},"scope":19538,"src":"25164:79:48","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[26638],"body":{"id":18348,"nodeType":"Block","src":"26566:100:48","statements":[{"expression":{"arguments":[{"id":18342,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18327,"src":"26617:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":18343,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18330,"src":"26626:6:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":18344,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18333,"src":"26634:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":18345,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18335,"src":"26645:15:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":18340,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"26579:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":18341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26604:12:48","memberName":"hashProposal","nodeType":"MemberAccess","referencedDeclaration":21755,"src":"26579:37:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":18346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26579:82:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18339,"id":18347,"nodeType":"Return","src":"26572:89:48"}]},"documentation":{"id":18324,"nodeType":"StructuredDocumentation","src":"25247:1142:48","text":" @notice See {IB3TRGovernorV10-hashProposal}.\n The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array\n and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id\n can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in\n advance, before the proposal is submitted.\n Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the\n same proposal (with same operation and same description) will have the same id if submitted on multiple governors\n across multiple networks. This also means that in order to execute the same operation twice (on the same\n governor) the proposer will have to change the description in order to avoid proposal id conflicts.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param descriptionHash The hash of the description\n @return uint256 The proposal id"},"functionSelector":"c59057e4","id":18349,"implemented":true,"kind":"function","modifiers":[],"name":"hashProposal","nameLocation":"26401:12:48","nodeType":"FunctionDefinition","parameters":{"id":18336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18327,"mutability":"mutable","name":"targets","nameLocation":"26436:7:48","nodeType":"VariableDeclaration","scope":18349,"src":"26419:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":18325,"name":"address","nodeType":"ElementaryTypeName","src":"26419:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":18326,"nodeType":"ArrayTypeName","src":"26419:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":18330,"mutability":"mutable","name":"values","nameLocation":"26466:6:48","nodeType":"VariableDeclaration","scope":18349,"src":"26449:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":18328,"name":"uint256","nodeType":"ElementaryTypeName","src":"26449:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18329,"nodeType":"ArrayTypeName","src":"26449:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":18333,"mutability":"mutable","name":"calldatas","nameLocation":"26493:9:48","nodeType":"VariableDeclaration","scope":18349,"src":"26478:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":18331,"name":"bytes","nodeType":"ElementaryTypeName","src":"26478:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":18332,"nodeType":"ArrayTypeName","src":"26478:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":18335,"mutability":"mutable","name":"descriptionHash","nameLocation":"26516:15:48","nodeType":"VariableDeclaration","scope":18349,"src":"26508:23:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26508:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26413:122:48"},"returnParameters":{"id":18339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18349,"src":"26557:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18337,"name":"uint256","nodeType":"ElementaryTypeName","src":"26557:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26556:9:48"},"scope":19538,"src":"26392:274:48","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":18366,"nodeType":"Block","src":"26934:89:48","statements":[{"expression":{"arguments":[{"id":18359,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18352,"src":"26987:15:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":18362,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"27012:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}],"id":18361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27004:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18360,"name":"address","nodeType":"ElementaryTypeName","src":"27004:7:48","typeDescriptions":{}}},"id":18363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27004:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18357,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"26947:26:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":18358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26974:12:48","memberName":"timelockSalt","nodeType":"MemberAccess","referencedDeclaration":21490,"src":"26947:39:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) pure returns (bytes32)"}},"id":18364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26947:71:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":18356,"id":18365,"nodeType":"Return","src":"26940:78:48"}]},"documentation":{"id":18350,"nodeType":"StructuredDocumentation","src":"26670:182:48","text":" @notice Public endpoint to get the salt used for the timelock operation.\n @param descriptionHash The hash of the description\n @return bytes32 The timelock salt"},"functionSelector":"5c573d44","id":18367,"implemented":true,"kind":"function","modifiers":[],"name":"timelockSalt","nameLocation":"26864:12:48","nodeType":"FunctionDefinition","parameters":{"id":18353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18352,"mutability":"mutable","name":"descriptionHash","nameLocation":"26885:15:48","nodeType":"VariableDeclaration","scope":18367,"src":"26877:23:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26877:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26876:25:48"},"returnParameters":{"id":18356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18355,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18367,"src":"26925:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26925:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26924:9:48"},"scope":19538,"src":"26855:168:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26667],"body":{"id":18379,"nodeType":"Block","src":"27198:75:48","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18374,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"27211:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27235:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"27211:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27211:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27256:12:48","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":24792,"src":"27211:57:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"functionReturnParameters":18373,"id":18378,"nodeType":"Return","src":"27204:64:48"}]},"documentation":{"id":18368,"nodeType":"StructuredDocumentation","src":"27027:106:48","text":" @notice The voter rewards contract.\n @return IVoterRewardsV2 The voter rewards contract"},"functionSelector":"a3844e11","id":18380,"implemented":true,"kind":"function","modifiers":[],"name":"voterRewards","nameLocation":"27145:12:48","nodeType":"FunctionDefinition","parameters":{"id":18369,"nodeType":"ParameterList","parameters":[],"src":"27157:2:48"},"returnParameters":{"id":18373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18380,"src":"27183:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":18371,"nodeType":"UserDefinedTypeName","pathNode":{"id":18370,"name":"IVoterRewards","nameLocations":["27183:13:48"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"27183:13:48"},"referencedDeclaration":69092,"src":"27183:13:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"27182:15:48"},"scope":19538,"src":"27136:137:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26674],"body":{"id":18392,"nodeType":"Block","src":"27501:80:48","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18387,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"27514:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27538:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"27514:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27514:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18390,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27559:17:48","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"27514:62:48","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"functionReturnParameters":18386,"id":18391,"nodeType":"Return","src":"27507:69:48"}]},"documentation":{"id":18381,"nodeType":"StructuredDocumentation","src":"27277:141:48","text":" @notice The XAllocationVotingGovernor contract.\n @return IXAllocationVotingGovernor The XAllocationVotingGovernor contract"},"functionSelector":"e205aeb0","id":18393,"implemented":true,"kind":"function","modifiers":[],"name":"xAllocationVoting","nameLocation":"27430:17:48","nodeType":"FunctionDefinition","parameters":{"id":18382,"nodeType":"ParameterList","parameters":[],"src":"27447:2:48"},"returnParameters":{"id":18386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18393,"src":"27473:26:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":18384,"nodeType":"UserDefinedTypeName","pathNode":{"id":18383,"name":"IXAllocationVotingGovernor","nameLocations":["27473:26:48"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"27473:26:48"},"referencedDeclaration":71124,"src":"27473:26:48","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"27472:28:48"},"scope":19538,"src":"27421:160:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26660],"body":{"id":18405,"nodeType":"Block","src":"27721:67:48","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18400,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"27734:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27758:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"27734:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27734:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27779:4:48","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":24798,"src":"27734:49:48","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"functionReturnParameters":18399,"id":18404,"nodeType":"Return","src":"27727:56:48"}]},"documentation":{"id":18394,"nodeType":"StructuredDocumentation","src":"27585:87:48","text":" @notice See {B3TRGovernorV10-b3tr}.\n @return IB3TR The B3TR contract"},"functionSelector":"582a486a","id":18406,"implemented":true,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"27684:4:48","nodeType":"FunctionDefinition","parameters":{"id":18395,"nodeType":"ParameterList","parameters":[],"src":"27688:2:48"},"returnParameters":{"id":18399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18406,"src":"27714:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":18397,"nodeType":"UserDefinedTypeName","pathNode":{"id":18396,"name":"IB3TR","nameLocations":["27714:5:48"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"27714:5:48"},"referencedDeclaration":62888,"src":"27714:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"27713:7:48"},"scope":19538,"src":"27675:113:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18427,"nodeType":"Block","src":"27979:139:48","statements":[{"assignments":[18416],"declarations":[{"constant":false,"id":18416,"mutability":"mutable","name":"$","nameLocation":"28033:1:48","nodeType":"VariableDeclaration","scope":18427,"src":"27985:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":18415,"nodeType":"UserDefinedTypeName","pathNode":{"id":18414,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["27985:23:48","28009:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"27985:39:48"},"referencedDeclaration":24891,"src":"27985:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":18420,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18417,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"28037:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28061:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"28037:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28037:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"27985:96:48"},{"expression":{"arguments":[{"expression":{"id":18423,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18416,"src":"28102:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18424,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28104:8:48","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"28102:10:48","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":18422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28094:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18421,"name":"address","nodeType":"ElementaryTypeName","src":"28094:7:48","typeDescriptions":{}}},"id":18425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28094:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":18411,"id":18426,"nodeType":"Return","src":"28087:26:48"}]},"documentation":{"id":18407,"nodeType":"StructuredDocumentation","src":"27792:124:48","text":" @notice Public accessor to check the address of the timelock\n @return address The address of the timelock"},"functionSelector":"d33219b4","id":18428,"implemented":true,"kind":"function","modifiers":[],"name":"timelock","nameLocation":"27928:8:48","nodeType":"FunctionDefinition","parameters":{"id":18408,"nodeType":"ParameterList","parameters":[],"src":"27936:2:48"},"returnParameters":{"id":18411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18410,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18428,"src":"27970:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18409,"name":"address","nodeType":"ElementaryTypeName","src":"27970:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27969:9:48"},"scope":19538,"src":"27919:199:48","stateMutability":"view","virtual":true,"visibility":"external"},{"baseFunctions":[26984],"body":{"id":18440,"nodeType":"Block","src":"28308:79:48","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18435,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"28321:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28345:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"28321:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28321:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28366:16:48","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":24830,"src":"28321:61:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"functionReturnParameters":18434,"id":18439,"nodeType":"Return","src":"28314:68:48"}]},"documentation":{"id":18429,"nodeType":"StructuredDocumentation","src":"28122:113:48","text":" @notice Returns the VeBetterPassport contract.\n @return The current VeBetterPassport contract."},"functionSelector":"0050ea6f","id":18441,"implemented":true,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"28247:16:48","nodeType":"FunctionDefinition","parameters":{"id":18430,"nodeType":"ParameterList","parameters":[],"src":"28263:2:48"},"returnParameters":{"id":18434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18433,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18441,"src":"28289:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":18432,"nodeType":"UserDefinedTypeName","pathNode":{"id":18431,"name":"IVeBetterPassport","nameLocations":["28289:17:48"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"28289:17:48"},"referencedDeclaration":68601,"src":"28289:17:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"28288:19:48"},"scope":19538,"src":"28238:149:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18453,"nodeType":"Block","src":"28591:80:48","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18448,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"28604:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28628:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"28604:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28604:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28649:17:48","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"28604:62:48","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"functionReturnParameters":18447,"id":18452,"nodeType":"Return","src":"28597:69:48"}]},"documentation":{"id":18442,"nodeType":"StructuredDocumentation","src":"28391:125:48","text":" @notice Returns the NavigatorRegistry contract.\n @return INavigatorRegistry The NavigatorRegistry contract"},"functionSelector":"e125f74e","id":18454,"implemented":true,"kind":"function","modifiers":[],"name":"navigatorRegistry","nameLocation":"28528:17:48","nodeType":"FunctionDefinition","parameters":{"id":18443,"nodeType":"ParameterList","parameters":[],"src":"28545:2:48"},"returnParameters":{"id":18447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18454,"src":"28571:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":18445,"nodeType":"UserDefinedTypeName","pathNode":{"id":18444,"name":"INavigatorRegistry","nameLocations":["28571:18:48"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"28571:18:48"},"referencedDeclaration":66638,"src":"28571:18:48","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"28570:20:48"},"scope":19538,"src":"28519:152:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26681],"body":{"id":18466,"nodeType":"Block","src":"28815:81:48","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18461,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"28828:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28852:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"28828:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28828:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28873:18:48","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"28828:63:48","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"functionReturnParameters":18460,"id":18465,"nodeType":"Return","src":"28821:70:48"}]},"documentation":{"id":18455,"nodeType":"StructuredDocumentation","src":"28675:63:48","text":" @notice Returns the RelayerRewardsPool contract."},"functionSelector":"6e8a1823","id":18467,"implemented":true,"kind":"function","modifiers":[],"name":"relayerRewardsPool","nameLocation":"28750:18:48","nodeType":"FunctionDefinition","parameters":{"id":18456,"nodeType":"ParameterList","parameters":[],"src":"28768:2:48"},"returnParameters":{"id":18460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18467,"src":"28794:19:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":18458,"nodeType":"UserDefinedTypeName","pathNode":{"id":18457,"name":"IRelayerRewardsPool","nameLocations":["28794:19:48"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"28794:19:48"},"referencedDeclaration":67117,"src":"28794:19:48","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"28793:21:48"},"scope":19538,"src":"28741:155:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18477,"nodeType":"Block","src":"29041:70:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18473,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"29054:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":18474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29078:26:48","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":20610,"src":"29054:50:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":18475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29054:52:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18472,"id":18476,"nodeType":"Return","src":"29047:59:48"}]},"documentation":{"id":18468,"nodeType":"StructuredDocumentation","src":"28900:68:48","text":" @notice Returns the governance skip window in blocks."},"functionSelector":"ee8a948b","id":18478,"implemented":true,"kind":"function","modifiers":[],"name":"governanceSkipWindowBlocks","nameLocation":"28980:26:48","nodeType":"FunctionDefinition","parameters":{"id":18469,"nodeType":"ParameterList","parameters":[],"src":"29006:2:48"},"returnParameters":{"id":18472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18478,"src":"29032:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18470,"name":"uint256","nodeType":"ElementaryTypeName","src":"29032:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29031:9:48"},"scope":19538,"src":"28971:140:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[27079],"body":{"id":18489,"nodeType":"Block","src":"29250:63:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18485,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"29263:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":18486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29288:18:48","memberName":"getActiveProposals","nodeType":"MemberAccess","referencedDeclaration":22056,"src":"29263:43:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function () view returns (uint256[] memory)"}},"id":18487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29263:45:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":18484,"id":18488,"nodeType":"Return","src":"29256:52:48"}]},"documentation":{"id":18479,"nodeType":"StructuredDocumentation","src":"29115:61:48","text":" @notice Returns currently active proposal IDs."},"functionSelector":"5584c4f9","id":18490,"implemented":true,"kind":"function","modifiers":[],"name":"getActiveProposals","nameLocation":"29188:18:48","nodeType":"FunctionDefinition","parameters":{"id":18480,"nodeType":"ParameterList","parameters":[],"src":"29206:2:48"},"returnParameters":{"id":18484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18490,"src":"29232:16:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":18481,"name":"uint256","nodeType":"ElementaryTypeName","src":"29232:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18482,"nodeType":"ArrayTypeName","src":"29232:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"29231:18:48"},"scope":19538,"src":"29179:134:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[27000],"body":{"id":18507,"nodeType":"Block","src":"29586:98:48","statements":[{"expression":{"arguments":[{"arguments":[{"id":18503,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18493,"src":"29667:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18501,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"29629:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":18502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29654:12:48","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":21935,"src":"29629:37:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":18504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29629:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":18499,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"29599:16:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":18500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29616:12:48","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"29599:29:48","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":18505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29599:80:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"functionReturnParameters":18498,"id":18506,"nodeType":"Return","src":"29592:87:48"}]},"documentation":{"id":18491,"nodeType":"StructuredDocumentation","src":"29317:170:48","text":" @notice Returns the proposal type of a proposal.\n @param proposalId The id of the proposal\n @return GovernorTypesV10.ProposalType The proposal type"},"functionSelector":"2a09c772","id":18508,"implemented":true,"kind":"function","modifiers":[],"name":"proposalType","nameLocation":"29499:12:48","nodeType":"FunctionDefinition","parameters":{"id":18494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18493,"mutability":"mutable","name":"proposalId","nameLocation":"29520:10:48","nodeType":"VariableDeclaration","scope":18508,"src":"29512:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18492,"name":"uint256","nodeType":"ElementaryTypeName","src":"29512:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29511:20:48"},"returnParameters":{"id":18498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18497,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18508,"src":"29555:29:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":18496,"nodeType":"UserDefinedTypeName","pathNode":{"id":18495,"name":"GovernorTypesV10.ProposalType","nameLocations":["29555:16:48","29572:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"29555:29:48"},"referencedDeclaration":25017,"src":"29555:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"29554:31:48"},"scope":19538,"src":"29490:194:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26690],"body":{"id":18525,"nodeType":"Block","src":"30011:98:48","statements":[{"expression":{"arguments":[{"arguments":[{"id":18521,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18512,"src":"30085:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":18520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30079:5:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":18519,"name":"uint8","nodeType":"ElementaryTypeName","src":"30079:5:48","typeDescriptions":{}}},"id":18522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30079:24:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":18517,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"30024:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":18518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30048:30:48","memberName":"depositThresholdByProposalType","nodeType":"MemberAccess","referencedDeclaration":21193,"src":"30024:54:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":18523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30024:80:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18516,"id":18524,"nodeType":"Return","src":"30017:87:48"}]},"documentation":{"id":18509,"nodeType":"StructuredDocumentation","src":"29688:191:48","text":" @notice Returns the deposit threshold for a proposal type.\n @param proposalTypeValue The type of proposal.\n @return uint256 The deposit threshold for the proposal type."},"functionSelector":"6b6a0704","id":18526,"implemented":true,"kind":"function","modifiers":[],"name":"depositThresholdByProposalType","nameLocation":"29891:30:48","nodeType":"FunctionDefinition","parameters":{"id":18513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18512,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"29957:17:48","nodeType":"VariableDeclaration","scope":18526,"src":"29927:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":18511,"nodeType":"UserDefinedTypeName","pathNode":{"id":18510,"name":"GovernorTypesV10.ProposalType","nameLocations":["29927:16:48","29944:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"29927:29:48"},"referencedDeclaration":25017,"src":"29927:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"29921:57:48"},"returnParameters":{"id":18516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18515,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18526,"src":"30002:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18514,"name":"uint256","nodeType":"ElementaryTypeName","src":"30002:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30001:9:48"},"scope":19538,"src":"29882:227:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[26699],"body":{"id":18540,"nodeType":"Block","src":"30468:90:48","statements":[{"expression":{"arguments":[{"id":18537,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18530,"src":"30535:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":18535,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"30481:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":18536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30505:29:48","memberName":"getDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":20474,"src":"30481:53:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (enum GovernorTypesV10.ProposalType) view returns (uint256)"}},"id":18538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30481:72:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18534,"id":18539,"nodeType":"Return","src":"30474:79:48"}]},"documentation":{"id":18527,"nodeType":"StructuredDocumentation","src":"30113:213:48","text":" @notice Returns the deposit threshold percentage for a proposal type.\n @param proposalTypeValue The type of proposal.\n @return uint256 The deposit threshold percentage for the proposal type."},"functionSelector":"542d6db5","id":18541,"implemented":true,"kind":"function","modifiers":[],"name":"depositThresholdPercentageByProposalType","nameLocation":"30338:40:48","nodeType":"FunctionDefinition","parameters":{"id":18531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18530,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"30414:17:48","nodeType":"VariableDeclaration","scope":18541,"src":"30384:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":18529,"nodeType":"UserDefinedTypeName","pathNode":{"id":18528,"name":"GovernorTypesV10.ProposalType","nameLocations":["30384:16:48","30401:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"30384:29:48"},"referencedDeclaration":25017,"src":"30384:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"30378:57:48"},"returnParameters":{"id":18534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18533,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18541,"src":"30459:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18532,"name":"uint256","nodeType":"ElementaryTypeName","src":"30459:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30458:9:48"},"scope":19538,"src":"30329:229:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18561,"nodeType":"Block","src":"30978:100:48","statements":[{"expression":{"arguments":[{"id":18554,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18544,"src":"31035:11:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":18557,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18547,"src":"31054:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":18556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31048:5:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":18555,"name":"uint8","nodeType":"ElementaryTypeName","src":"31048:5:48","typeDescriptions":{}}},"id":18558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31048:24:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":18552,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"30991:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":18553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31014:20:48","memberName":"quorumByProposalType","nodeType":"MemberAccess","referencedDeclaration":24165,"src":"30991:43:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint8) view returns (uint256)"}},"id":18559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30991:82:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18551,"id":18560,"nodeType":"Return","src":"30984:89:48"}]},"documentation":{"id":18542,"nodeType":"StructuredDocumentation","src":"30562:269:48","text":" @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n @param blockNumber The block number to get the quorum for\n @param proposalTypeValue The type of proposal\n @return uint256 The quorum"},"functionSelector":"026865cc","id":18562,"implemented":true,"kind":"function","modifiers":[],"name":"quorumByProposalType","nameLocation":"30843:20:48","nodeType":"FunctionDefinition","parameters":{"id":18548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18544,"mutability":"mutable","name":"blockNumber","nameLocation":"30877:11:48","nodeType":"VariableDeclaration","scope":18562,"src":"30869:19:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18543,"name":"uint256","nodeType":"ElementaryTypeName","src":"30869:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18547,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"30924:17:48","nodeType":"VariableDeclaration","scope":18562,"src":"30894:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":18546,"nodeType":"UserDefinedTypeName","pathNode":{"id":18545,"name":"GovernorTypesV10.ProposalType","nameLocations":["30894:16:48","30911:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"30894:29:48"},"referencedDeclaration":25017,"src":"30894:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"30863:82:48"},"returnParameters":{"id":18551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18550,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18562,"src":"30969:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18549,"name":"uint256","nodeType":"ElementaryTypeName","src":"30969:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30968:9:48"},"scope":19538,"src":"30834:244:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18579,"nodeType":"Block","src":"31379:96:48","statements":[{"expression":{"arguments":[{"arguments":[{"id":18575,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18566,"src":"31451:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":18574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31445:5:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":18573,"name":"uint8","nodeType":"ElementaryTypeName","src":"31445:5:48","typeDescriptions":{}}},"id":18576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31445:24:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":18571,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"31392:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":18572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31415:29:48","memberName":"quorumNumeratorByProposalType","nodeType":"MemberAccess","referencedDeclaration":24085,"src":"31392:52:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":18577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31392:78:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18570,"id":18578,"nodeType":"Return","src":"31385:85:48"}]},"documentation":{"id":18563,"nodeType":"StructuredDocumentation","src":"31082:174:48","text":" @notice Returns the quorum numerator for a specific proposal type.\n @param proposalTypeValue The type of proposal\n @return uint256 The quorum numerator"},"functionSelector":"0eddee30","id":18580,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumeratorByProposalType","nameLocation":"31268:29:48","nodeType":"FunctionDefinition","parameters":{"id":18567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18566,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"31328:17:48","nodeType":"VariableDeclaration","scope":18580,"src":"31298:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":18565,"nodeType":"UserDefinedTypeName","pathNode":{"id":18564,"name":"GovernorTypesV10.ProposalType","nameLocations":["31298:16:48","31315:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"31298:29:48"},"referencedDeclaration":25017,"src":"31298:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"31297:49:48"},"returnParameters":{"id":18570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18569,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18580,"src":"31370:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18568,"name":"uint256","nodeType":"ElementaryTypeName","src":"31370:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31369:9:48"},"scope":19538,"src":"31259:216:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18600,"nodeType":"Block","src":"31883:107:48","statements":[{"expression":{"arguments":[{"id":18593,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18583,"src":"31949:9:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":18596,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18586,"src":"31966:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":18595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31960:5:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":18594,"name":"uint8","nodeType":"ElementaryTypeName","src":"31960:5:48","typeDescriptions":{}}},"id":18597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31960:24:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":18591,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"31896:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":18592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31919:29:48","memberName":"quorumNumeratorByProposalType","nodeType":"MemberAccess","referencedDeclaration":24025,"src":"31896:52:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint8) view returns (uint256)"}},"id":18598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31896:89:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18590,"id":18599,"nodeType":"Return","src":"31889:96:48"}]},"documentation":{"id":18581,"nodeType":"StructuredDocumentation","src":"31479:250:48","text":" @notice Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\n @param timepoint The timepoint to get the quorum numerator for\n @return uint256 The quorum numerator at the given timepoint"},"functionSelector":"5273e74b","id":18601,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumeratorByProposalType","nameLocation":"31741:29:48","nodeType":"FunctionDefinition","parameters":{"id":18587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18583,"mutability":"mutable","name":"timepoint","nameLocation":"31784:9:48","nodeType":"VariableDeclaration","scope":18601,"src":"31776:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18582,"name":"uint256","nodeType":"ElementaryTypeName","src":"31776:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18586,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"31829:17:48","nodeType":"VariableDeclaration","scope":18601,"src":"31799:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":18585,"nodeType":"UserDefinedTypeName","pathNode":{"id":18584,"name":"GovernorTypesV10.ProposalType","nameLocations":["31799:16:48","31816:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"31799:29:48"},"referencedDeclaration":25017,"src":"31799:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"31770:80:48"},"returnParameters":{"id":18590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18589,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18601,"src":"31874:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18588,"name":"uint256","nodeType":"ElementaryTypeName","src":"31874:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31873:9:48"},"scope":19538,"src":"31732:258:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[27062],"body":{"id":18615,"nodeType":"Block","src":"32328:83:48","statements":[{"expression":{"arguments":[{"id":18612,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18605,"src":"32388:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":18610,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"32341:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":18611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32365:22:48","memberName":"getDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":20526,"src":"32341:46:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (enum GovernorTypesV10.ProposalType) view returns (uint256)"}},"id":18613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32341:65:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18609,"id":18614,"nodeType":"Return","src":"32334:72:48"}]},"documentation":{"id":18602,"nodeType":"StructuredDocumentation","src":"31994:199:48","text":" @notice Returns the deposit threshold cap for a proposal type.\n @param proposalTypeValue The type of proposal.\n @return uint256 The deposit threshold cap for the proposal type."},"functionSelector":"e4ec85d4","id":18616,"implemented":true,"kind":"function","modifiers":[],"name":"depositThresholdCapByProposalType","nameLocation":"32205:33:48","nodeType":"FunctionDefinition","parameters":{"id":18606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18605,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"32274:17:48","nodeType":"VariableDeclaration","scope":18616,"src":"32244:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":18604,"nodeType":"UserDefinedTypeName","pathNode":{"id":18603,"name":"GovernorTypesV10.ProposalType","nameLocations":["32244:16:48","32261:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"32244:29:48"},"referencedDeclaration":25017,"src":"32244:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"32238:57:48"},"returnParameters":{"id":18609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18608,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18616,"src":"32319:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18607,"name":"uint256","nodeType":"ElementaryTypeName","src":"32319:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32318:9:48"},"scope":19538,"src":"32196:215:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[27014],"body":{"id":18635,"nodeType":"Block","src":"32590:134:48","statements":[{"assignments":[18627],"declarations":[{"constant":false,"id":18627,"mutability":"mutable","name":"$","nameLocation":"32644:1:48","nodeType":"VariableDeclaration","scope":18635,"src":"32596:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":18626,"nodeType":"UserDefinedTypeName","pathNode":{"id":18625,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["32596:23:48","32620:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"32596:39:48"},"referencedDeclaration":24891,"src":"32596:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":18631,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18628,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"32648:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32672:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"32648:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32648:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"32596:96:48"},{"expression":{"expression":{"id":18632,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18627,"src":"32705:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18633,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32707:12:48","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":24862,"src":"32705:14:48","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"functionReturnParameters":18622,"id":18634,"nodeType":"Return","src":"32698:21:48"}]},"documentation":{"id":18617,"nodeType":"StructuredDocumentation","src":"32415:99:48","text":" @notice Get the GalaxyMember contract\n @return The current GalaxyMember contract"},"functionSelector":"f03a98d5","id":18636,"implemented":true,"kind":"function","modifiers":[],"name":"getGalaxyMemberContract","nameLocation":"32526:23:48","nodeType":"FunctionDefinition","parameters":{"id":18618,"nodeType":"ParameterList","parameters":[],"src":"32549:2:48"},"returnParameters":{"id":18622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18621,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18636,"src":"32575:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":18620,"nodeType":"UserDefinedTypeName","pathNode":{"id":18619,"name":"IGalaxyMember","nameLocations":["32575:13:48"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"32575:13:48"},"referencedDeclaration":65196,"src":"32575:13:48","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"32574:15:48"},"scope":19538,"src":"32517:207:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[27035],"body":{"id":18655,"nodeType":"Block","src":"32907:135:48","statements":[{"assignments":[18647],"declarations":[{"constant":false,"id":18647,"mutability":"mutable","name":"$","nameLocation":"32961:1:48","nodeType":"VariableDeclaration","scope":18655,"src":"32913:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":18646,"nodeType":"UserDefinedTypeName","pathNode":{"id":18645,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["32913:23:48","32937:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"32913:39:48"},"referencedDeclaration":24891,"src":"32913:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":18651,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18648,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"32965:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32989:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"32965:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32965:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"32913:96:48"},{"expression":{"expression":{"id":18652,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18647,"src":"33022:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33024:13:48","memberName":"grantsManager","nodeType":"MemberAccess","referencedDeclaration":24859,"src":"33022:15:48","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"functionReturnParameters":18642,"id":18654,"nodeType":"Return","src":"33015:22:48"}]},"documentation":{"id":18637,"nodeType":"StructuredDocumentation","src":"32728:101:48","text":" @notice Get the GrantsManager contract\n @return The current GrantsManager contract"},"functionSelector":"cf09f8bf","id":18656,"implemented":true,"kind":"function","modifiers":[],"name":"getGrantsManagerContract","nameLocation":"32841:24:48","nodeType":"FunctionDefinition","parameters":{"id":18638,"nodeType":"ParameterList","parameters":[],"src":"32865:2:48"},"returnParameters":{"id":18642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18656,"src":"32891:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":18640,"nodeType":"UserDefinedTypeName","pathNode":{"id":18639,"name":"IGrantsManager","nameLocations":["32891:14:48"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"32891:14:48"},"referencedDeclaration":65639,"src":"32891:14:48","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"32890:16:48"},"scope":19538,"src":"32832:210:48","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[27044],"body":{"id":18679,"nodeType":"Block","src":"33344:170:48","statements":[{"assignments":[18669],"declarations":[{"constant":false,"id":18669,"mutability":"mutable","name":"$","nameLocation":"33398:1:48","nodeType":"VariableDeclaration","scope":18679,"src":"33350:49:48","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":18668,"nodeType":"UserDefinedTypeName","pathNode":{"id":18667,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["33350:23:48","33374:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"33350:39:48"},"referencedDeclaration":24891,"src":"33350:39:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":18673,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18670,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"33402:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":18671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33426:18:48","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"33402:42:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":18672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33402:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"33350:96:48"},{"expression":{"baseExpression":{"expression":{"id":18674,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18669,"src":"33459:1:48","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":18675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33461:29:48","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":24867,"src":"33459:31:48","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":18677,"indexExpression":{"id":18676,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18660,"src":"33491:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33459:50:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18664,"id":18678,"nodeType":"Return","src":"33452:57:48"}]},"documentation":{"id":18657,"nodeType":"StructuredDocumentation","src":"33046:164:48","text":" @notice Get the GM weight for a proposal type\n @param proposalTypeValue The type of the proposal\n @return The GM weight for the proposal type"},"functionSelector":"6dd139be","id":18680,"implemented":true,"kind":"function","modifiers":[],"name":"getRequiredGMLevelByProposalType","nameLocation":"33222:32:48","nodeType":"FunctionDefinition","parameters":{"id":18661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18660,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"33290:17:48","nodeType":"VariableDeclaration","scope":18680,"src":"33260:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":18659,"nodeType":"UserDefinedTypeName","pathNode":{"id":18658,"name":"GovernorTypesV10.ProposalType","nameLocations":["33260:16:48","33277:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"33260:29:48"},"referencedDeclaration":25017,"src":"33260:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"33254:57:48"},"returnParameters":{"id":18664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18680,"src":"33335:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18662,"name":"uint256","nodeType":"ElementaryTypeName","src":"33335:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33334:9:48"},"scope":19538,"src":"33213:301:48","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":18690,"nodeType":"Block","src":"33665:19:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":18687,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"33671:6:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":18688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33671:8:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18689,"nodeType":"ExpressionStatement","src":"33671:8:48"}]},"documentation":{"id":18681,"nodeType":"StructuredDocumentation","src":"33573:41:48","text":" @notice Pause the contract"},"functionSelector":"8456cb59","id":18691,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":18684,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17575,"src":"33652:11:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":18685,"kind":"modifierInvocation","modifierName":{"id":18683,"name":"onlyRole","nameLocations":["33643:8:48"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"33643:8:48"},"nodeType":"ModifierInvocation","src":"33643:21:48"}],"name":"pause","nameLocation":"33626:5:48","nodeType":"FunctionDefinition","parameters":{"id":18682,"nodeType":"ParameterList","parameters":[],"src":"33631:2:48"},"returnParameters":{"id":18686,"nodeType":"ParameterList","parameters":[],"src":"33665:0:48"},"scope":19538,"src":"33617:67:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":18701,"nodeType":"Block","src":"33784:21:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":18698,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"33790:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":18699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33790:10:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18700,"nodeType":"ExpressionStatement","src":"33790:10:48"}]},"documentation":{"id":18692,"nodeType":"StructuredDocumentation","src":"33688:43:48","text":" @notice Unpause the contract"},"functionSelector":"3f4ba83a","id":18702,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":18695,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17575,"src":"33771:11:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":18696,"kind":"modifierInvocation","modifierName":{"id":18694,"name":"onlyRole","nameLocations":["33762:8:48"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"33762:8:48"},"nodeType":"ModifierInvocation","src":"33762:21:48"}],"name":"unpause","nameLocation":"33743:7:48","nodeType":"FunctionDefinition","parameters":{"id":18693,"nodeType":"ParameterList","parameters":[],"src":"33750:2:48"},"returnParameters":{"id":18697,"nodeType":"ParameterList","parameters":[],"src":"33784:0:48"},"scope":19538,"src":"33734:71:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[26813],"body":{"id":18735,"nodeType":"Block","src":"34509:120:48","statements":[{"expression":{"arguments":[{"id":18727,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18706,"src":"34555:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":18728,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18709,"src":"34564:6:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":18729,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18712,"src":"34572:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":18730,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18714,"src":"34583:11:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18731,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18716,"src":"34596:12:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18732,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18718,"src":"34610:13:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18725,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"34522:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":18726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34547:7:48","memberName":"propose","nodeType":"MemberAccess","referencedDeclaration":22124,"src":"34522:32:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256) returns (uint256)"}},"id":18733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34522:102:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18724,"id":18734,"nodeType":"Return","src":"34515:109:48"}]},"documentation":{"id":18703,"nodeType":"StructuredDocumentation","src":"33809:462:48","text":" @notice See {IB3TRGovernorV10-propose}.\n Callable only when contract is not paused.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param description The proposal description\n @param startRoundId The round in which the proposal should start\n @param depositAmount The amount of deposit for the proposal\n @return uint256 The proposal id"},"functionSelector":"58c839bc","id":18736,"implemented":true,"kind":"function","modifiers":[{"id":18721,"kind":"modifierInvocation","modifierName":{"id":18720,"name":"whenNotPaused","nameLocations":["34477:13:48"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"34477:13:48"},"nodeType":"ModifierInvocation","src":"34477:13:48"}],"name":"propose","nameLocation":"34283:7:48","nodeType":"FunctionDefinition","parameters":{"id":18719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18706,"mutability":"mutable","name":"targets","nameLocation":"34313:7:48","nodeType":"VariableDeclaration","scope":18736,"src":"34296:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":18704,"name":"address","nodeType":"ElementaryTypeName","src":"34296:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":18705,"nodeType":"ArrayTypeName","src":"34296:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":18709,"mutability":"mutable","name":"values","nameLocation":"34343:6:48","nodeType":"VariableDeclaration","scope":18736,"src":"34326:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":18707,"name":"uint256","nodeType":"ElementaryTypeName","src":"34326:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18708,"nodeType":"ArrayTypeName","src":"34326:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":18712,"mutability":"mutable","name":"calldatas","nameLocation":"34370:9:48","nodeType":"VariableDeclaration","scope":18736,"src":"34355:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":18710,"name":"bytes","nodeType":"ElementaryTypeName","src":"34355:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":18711,"nodeType":"ArrayTypeName","src":"34355:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":18714,"mutability":"mutable","name":"description","nameLocation":"34399:11:48","nodeType":"VariableDeclaration","scope":18736,"src":"34385:25:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18713,"name":"string","nodeType":"ElementaryTypeName","src":"34385:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18716,"mutability":"mutable","name":"startRoundId","nameLocation":"34424:12:48","nodeType":"VariableDeclaration","scope":18736,"src":"34416:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18715,"name":"uint256","nodeType":"ElementaryTypeName","src":"34416:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18718,"mutability":"mutable","name":"depositAmount","nameLocation":"34450:13:48","nodeType":"VariableDeclaration","scope":18736,"src":"34442:21:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18717,"name":"uint256","nodeType":"ElementaryTypeName","src":"34442:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34290:177:48"},"returnParameters":{"id":18724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18736,"src":"34500:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18722,"name":"uint256","nodeType":"ElementaryTypeName","src":"34500:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34499:9:48"},"scope":19538,"src":"34274:355:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[26855],"body":{"id":18767,"nodeType":"Block","src":"35146:108:48","statements":[{"expression":{"arguments":[{"arguments":[{"id":18759,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"35198:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}],"id":18758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35190:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18757,"name":"address","nodeType":"ElementaryTypeName","src":"35190:7:48","typeDescriptions":{}}},"id":18760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35190:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18761,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18740,"src":"35205:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":18762,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18743,"src":"35214:6:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":18763,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18746,"src":"35222:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":18764,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18748,"src":"35233:15:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":18755,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"35159:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":18756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35184:5:48","memberName":"queue","nodeType":"MemberAccess","referencedDeclaration":22346,"src":"35159:30:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)"}},"id":18765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35159:90:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18754,"id":18766,"nodeType":"Return","src":"35152:97:48"}]},"documentation":{"id":18737,"nodeType":"StructuredDocumentation","src":"34633:332:48","text":" @notice See {IB3TRGovernorV10-queue}.\n Callable only when contract is not paused.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param descriptionHash The hash of the description\n @return uint256 The proposal id"},"functionSelector":"160cbed7","id":18768,"implemented":true,"kind":"function","modifiers":[{"id":18751,"kind":"modifierInvocation","modifierName":{"id":18750,"name":"whenNotPaused","nameLocations":["35114:13:48"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"35114:13:48"},"nodeType":"ModifierInvocation","src":"35114:13:48"}],"name":"queue","nameLocation":"34977:5:48","nodeType":"FunctionDefinition","parameters":{"id":18749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18740,"mutability":"mutable","name":"targets","nameLocation":"35005:7:48","nodeType":"VariableDeclaration","scope":18768,"src":"34988:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":18738,"name":"address","nodeType":"ElementaryTypeName","src":"34988:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":18739,"nodeType":"ArrayTypeName","src":"34988:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":18743,"mutability":"mutable","name":"values","nameLocation":"35035:6:48","nodeType":"VariableDeclaration","scope":18768,"src":"35018:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":18741,"name":"uint256","nodeType":"ElementaryTypeName","src":"35018:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18742,"nodeType":"ArrayTypeName","src":"35018:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":18746,"mutability":"mutable","name":"calldatas","nameLocation":"35062:9:48","nodeType":"VariableDeclaration","scope":18768,"src":"35047:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":18744,"name":"bytes","nodeType":"ElementaryTypeName","src":"35047:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":18745,"nodeType":"ArrayTypeName","src":"35047:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":18748,"mutability":"mutable","name":"descriptionHash","nameLocation":"35085:15:48","nodeType":"VariableDeclaration","scope":18768,"src":"35077:23:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35077:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34982:122:48"},"returnParameters":{"id":18754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18768,"src":"35137:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18752,"name":"uint256","nodeType":"ElementaryTypeName","src":"35137:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35136:9:48"},"scope":19538,"src":"34968:286:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[26872],"body":{"id":18802,"nodeType":"Block","src":"35826:110:48","statements":[{"expression":{"arguments":[{"arguments":[{"id":18794,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"35880:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}],"id":18793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35872:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18792,"name":"address","nodeType":"ElementaryTypeName","src":"35872:7:48","typeDescriptions":{}}},"id":18795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35872:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18796,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18772,"src":"35887:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":18797,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18775,"src":"35896:6:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":18798,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18778,"src":"35904:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":18799,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18780,"src":"35915:15:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":18790,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"35839:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":18791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35864:7:48","memberName":"execute","nodeType":"MemberAccess","referencedDeclaration":22488,"src":"35839:32:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)"}},"id":18800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35839:92:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18789,"id":18801,"nodeType":"Return","src":"35832:99:48"}]},"documentation":{"id":18769,"nodeType":"StructuredDocumentation","src":"35258:334:48","text":" @notice See {IB3TRGovernorV10-execute}.\n Callable only when contract is not paused.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param descriptionHash The hash of the description\n @return uint256 The proposal id"},"functionSelector":"2656227d","id":18803,"implemented":true,"kind":"function","modifiers":[{"id":18783,"kind":"modifierInvocation","modifierName":{"id":18782,"name":"whenNotPaused","nameLocations":["35751:13:48"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"35751:13:48"},"nodeType":"ModifierInvocation","src":"35751:13:48"},{"arguments":[{"id":18785,"name":"PROPOSAL_EXECUTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17587,"src":"35784:22:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":18786,"kind":"modifierInvocation","modifierName":{"id":18784,"name":"onlyRoleOrOpenRole","nameLocations":["35765:18:48"],"nodeType":"IdentifierPath","referencedDeclaration":17732,"src":"35765:18:48"},"nodeType":"ModifierInvocation","src":"35765:42:48"}],"name":"execute","nameLocation":"35604:7:48","nodeType":"FunctionDefinition","parameters":{"id":18781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18772,"mutability":"mutable","name":"targets","nameLocation":"35634:7:48","nodeType":"VariableDeclaration","scope":18803,"src":"35617:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":18770,"name":"address","nodeType":"ElementaryTypeName","src":"35617:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":18771,"nodeType":"ArrayTypeName","src":"35617:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":18775,"mutability":"mutable","name":"values","nameLocation":"35664:6:48","nodeType":"VariableDeclaration","scope":18803,"src":"35647:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":18773,"name":"uint256","nodeType":"ElementaryTypeName","src":"35647:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18774,"nodeType":"ArrayTypeName","src":"35647:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":18778,"mutability":"mutable","name":"calldatas","nameLocation":"35691:9:48","nodeType":"VariableDeclaration","scope":18803,"src":"35676:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":18776,"name":"bytes","nodeType":"ElementaryTypeName","src":"35676:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":18777,"nodeType":"ArrayTypeName","src":"35676:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":18780,"mutability":"mutable","name":"descriptionHash","nameLocation":"35714:15:48","nodeType":"VariableDeclaration","scope":18803,"src":"35706:23:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35706:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"35611:122:48"},"returnParameters":{"id":18789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18788,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18803,"src":"35817:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18787,"name":"uint256","nodeType":"ElementaryTypeName","src":"35817:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35816:9:48"},"scope":19538,"src":"35595:341:48","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[26891],"body":{"id":18838,"nodeType":"Block","src":"36468:229:48","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":18824,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"36528:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36528:12:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":18827,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"36558:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":18828,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"36578:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36578:12:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":18826,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"36550:7:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":18830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36550:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18831,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18807,"src":"36601:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":18832,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18810,"src":"36618:6:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":18833,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18813,"src":"36634:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":18834,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18815,"src":"36653:15:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":18835,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18817,"src":"36678:6:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18822,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"36487:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":18823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36512:6:48","memberName":"cancel","nodeType":"MemberAccess","referencedDeclaration":22645,"src":"36487:31:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_bool_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,bool,address[] memory,uint256[] memory,bytes memory[] memory,bytes32,string memory) returns (uint256)"}},"id":18836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36487:205:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18821,"id":18837,"nodeType":"Return","src":"36474:218:48"}]},"documentation":{"id":18804,"nodeType":"StructuredDocumentation","src":"35940:334:48","text":" @notice See {Governor-cancel}.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param descriptionHash The hash of the description\n @param reason The reason for canceling the proposal\n @return uint256 The proposal id"},"functionSelector":"de65f41a","id":18839,"implemented":true,"kind":"function","modifiers":[],"name":"cancel","nameLocation":"36286:6:48","nodeType":"FunctionDefinition","parameters":{"id":18818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18807,"mutability":"mutable","name":"targets","nameLocation":"36315:7:48","nodeType":"VariableDeclaration","scope":18839,"src":"36298:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":18805,"name":"address","nodeType":"ElementaryTypeName","src":"36298:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":18806,"nodeType":"ArrayTypeName","src":"36298:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":18810,"mutability":"mutable","name":"values","nameLocation":"36345:6:48","nodeType":"VariableDeclaration","scope":18839,"src":"36328:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":18808,"name":"uint256","nodeType":"ElementaryTypeName","src":"36328:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18809,"nodeType":"ArrayTypeName","src":"36328:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":18813,"mutability":"mutable","name":"calldatas","nameLocation":"36372:9:48","nodeType":"VariableDeclaration","scope":18839,"src":"36357:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":18811,"name":"bytes","nodeType":"ElementaryTypeName","src":"36357:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":18812,"nodeType":"ArrayTypeName","src":"36357:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":18815,"mutability":"mutable","name":"descriptionHash","nameLocation":"36395:15:48","nodeType":"VariableDeclaration","scope":18839,"src":"36387:23:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36387:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18817,"mutability":"mutable","name":"reason","nameLocation":"36430:6:48","nodeType":"VariableDeclaration","scope":18839,"src":"36416:20:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18816,"name":"string","nodeType":"ElementaryTypeName","src":"36416:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36292:148:48"},"returnParameters":{"id":18821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18820,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18839,"src":"36459:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18819,"name":"uint256","nodeType":"ElementaryTypeName","src":"36459:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36458:9:48"},"scope":19538,"src":"36277:420:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[26901],"body":{"id":18858,"nodeType":"Block","src":"36997:87:48","statements":[{"expression":{"arguments":[{"id":18851,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18842,"src":"37041:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":18852,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"37053:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37053:12:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18854,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18844,"src":"37067:7:48","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"hexValue":"","id":18855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37076:2:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":18849,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"37010:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":18850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37032:8:48","memberName":"castVote","nodeType":"MemberAccess","referencedDeclaration":25650,"src":"37010:30:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory) returns (uint256)"}},"id":18856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37010:69:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18848,"id":18857,"nodeType":"Return","src":"37003:76:48"}]},"documentation":{"id":18840,"nodeType":"StructuredDocumentation","src":"36701:213:48","text":" @notice See {IB3TRGovernorV10-castVote}.\n @param proposalId The id of the proposal\n @param support The support value (0 = against, 1 = for, 2 = abstain)\n @return uint256 The voting power"},"functionSelector":"56781388","id":18859,"implemented":true,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"36926:8:48","nodeType":"FunctionDefinition","parameters":{"id":18845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18842,"mutability":"mutable","name":"proposalId","nameLocation":"36943:10:48","nodeType":"VariableDeclaration","scope":18859,"src":"36935:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18841,"name":"uint256","nodeType":"ElementaryTypeName","src":"36935:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18844,"mutability":"mutable","name":"support","nameLocation":"36961:7:48","nodeType":"VariableDeclaration","scope":18859,"src":"36955:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":18843,"name":"uint8","nodeType":"ElementaryTypeName","src":"36955:5:48","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"36934:35:48"},"returnParameters":{"id":18848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18859,"src":"36988:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18846,"name":"uint256","nodeType":"ElementaryTypeName","src":"36988:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36987:9:48"},"scope":19538,"src":"36917:167:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[26913],"body":{"id":18880,"nodeType":"Block","src":"37471:91:48","statements":[{"expression":{"arguments":[{"id":18873,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18862,"src":"37515:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":18874,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"37527:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":18875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37527:12:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18876,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18864,"src":"37541:7:48","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":18877,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18866,"src":"37550:6:48","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"expression":{"id":18871,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"37484:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":18872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37506:8:48","memberName":"castVote","nodeType":"MemberAccess","referencedDeclaration":25650,"src":"37484:30:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory) returns (uint256)"}},"id":18878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37484:73:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18870,"id":18879,"nodeType":"Return","src":"37477:80:48"}]},"documentation":{"id":18860,"nodeType":"StructuredDocumentation","src":"37088:266:48","text":" @notice See {IB3TRGovernorV10-castVoteWithReason}.\n @param proposalId The id of the proposal\n @param support The support value (0 = against, 1 = for, 2 = abstain)\n @param reason The reason for the vote\n @return uint256 The voting power"},"functionSelector":"7b3c71d3","id":18881,"implemented":true,"kind":"function","modifiers":[],"name":"castVoteWithReason","nameLocation":"37366:18:48","nodeType":"FunctionDefinition","parameters":{"id":18867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18862,"mutability":"mutable","name":"proposalId","nameLocation":"37393:10:48","nodeType":"VariableDeclaration","scope":18881,"src":"37385:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18861,"name":"uint256","nodeType":"ElementaryTypeName","src":"37385:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18864,"mutability":"mutable","name":"support","nameLocation":"37411:7:48","nodeType":"VariableDeclaration","scope":18881,"src":"37405:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":18863,"name":"uint8","nodeType":"ElementaryTypeName","src":"37405:5:48","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":18866,"mutability":"mutable","name":"reason","nameLocation":"37436:6:48","nodeType":"VariableDeclaration","scope":18881,"src":"37420:22:48","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18865,"name":"string","nodeType":"ElementaryTypeName","src":"37420:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37384:59:48"},"returnParameters":{"id":18870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18881,"src":"37462:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18868,"name":"uint256","nodeType":"ElementaryTypeName","src":"37462:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37461:9:48"},"scope":19538,"src":"37357:205:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":18897,"nodeType":"Block","src":"37913:78:48","statements":[{"expression":{"arguments":[{"id":18893,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18884,"src":"37966:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18894,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18886,"src":"37978:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18891,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"37926:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":18892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37948:17:48","memberName":"castNavigatorVote","nodeType":"MemberAccess","referencedDeclaration":25954,"src":"37926:39:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) returns (uint256)"}},"id":18895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37926:60:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18890,"id":18896,"nodeType":"Return","src":"37919:67:48"}]},"documentation":{"id":18882,"nodeType":"StructuredDocumentation","src":"37566:253:48","text":" @notice Cast a governance vote on behalf of a citizen delegated to a navigator.\n @param proposalId The id of the proposal\n @param citizen The delegated citizen whose voting power is used\n @return uint256 The voting weight used"},"functionSelector":"b6e9eff4","id":18898,"implemented":true,"kind":"function","modifiers":[],"name":"castNavigatorVote","nameLocation":"37831:17:48","nodeType":"FunctionDefinition","parameters":{"id":18887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18884,"mutability":"mutable","name":"proposalId","nameLocation":"37857:10:48","nodeType":"VariableDeclaration","scope":18898,"src":"37849:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18883,"name":"uint256","nodeType":"ElementaryTypeName","src":"37849:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18886,"mutability":"mutable","name":"citizen","nameLocation":"37877:7:48","nodeType":"VariableDeclaration","scope":18898,"src":"37869:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18885,"name":"address","nodeType":"ElementaryTypeName","src":"37869:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37848:37:48"},"returnParameters":{"id":18890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18898,"src":"37904:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18888,"name":"uint256","nodeType":"ElementaryTypeName","src":"37904:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37903:9:48"},"scope":19538,"src":"37822:169:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[26951],"body":{"id":18913,"nodeType":"Block","src":"38226:66:48","statements":[{"expression":{"arguments":[{"id":18909,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18901,"src":"38265:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18910,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18903,"src":"38277:9:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18906,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"38232:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":18908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38256:8:48","memberName":"withdraw","nodeType":"MemberAccess","referencedDeclaration":20935,"src":"38232:32:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":18911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38232:55:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18912,"nodeType":"ExpressionStatement","src":"38232:55:48"}]},"documentation":{"id":18899,"nodeType":"StructuredDocumentation","src":"37995:162:48","text":" @notice Withdraws deposits for a specific proposal\n @param proposalId The id of the proposal\n @param depositor The address of the depositor"},"functionSelector":"00f714ce","id":18914,"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"38169:8:48","nodeType":"FunctionDefinition","parameters":{"id":18904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18901,"mutability":"mutable","name":"proposalId","nameLocation":"38186:10:48","nodeType":"VariableDeclaration","scope":18914,"src":"38178:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18900,"name":"uint256","nodeType":"ElementaryTypeName","src":"38178:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18903,"mutability":"mutable","name":"depositor","nameLocation":"38206:9:48","nodeType":"VariableDeclaration","scope":18914,"src":"38198:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18902,"name":"address","nodeType":"ElementaryTypeName","src":"38198:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38177:39:48"},"returnParameters":{"id":18905,"nodeType":"ParameterList","parameters":[],"src":"38226:0:48"},"scope":19538,"src":"38160:132:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[26943],"body":{"id":18929,"nodeType":"Block","src":"38520:62:48","statements":[{"expression":{"arguments":[{"id":18925,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18917,"src":"38558:6:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18926,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18919,"src":"38566:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18922,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"38526:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":18924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38550:7:48","memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":20824,"src":"38526:31:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":18927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38526:51:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18928,"nodeType":"ExpressionStatement","src":"38526:51:48"}]},"documentation":{"id":18915,"nodeType":"StructuredDocumentation","src":"38296:159:48","text":" @notice Deposits tokens for a specific proposal\n @param amount The amount of tokens to deposit\n @param proposalId The id of the proposal"},"functionSelector":"e2bbb158","id":18930,"implemented":true,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"38467:7:48","nodeType":"FunctionDefinition","parameters":{"id":18920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18917,"mutability":"mutable","name":"amount","nameLocation":"38483:6:48","nodeType":"VariableDeclaration","scope":18930,"src":"38475:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18916,"name":"uint256","nodeType":"ElementaryTypeName","src":"38475:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18919,"mutability":"mutable","name":"proposalId","nameLocation":"38499:10:48","nodeType":"VariableDeclaration","scope":18930,"src":"38491:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18918,"name":"uint256","nodeType":"ElementaryTypeName","src":"38491:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38474:36:48"},"returnParameters":{"id":18921,"nodeType":"ParameterList","parameters":[],"src":"38520:0:48"},"scope":19538,"src":"38458:124:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":18945,"nodeType":"Block","src":"38924:75:48","statements":[{"expression":{"arguments":[{"id":18942,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18933,"src":"38975:18:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18939,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"38930:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":18941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38953:21:48","memberName":"updateQuorumNumerator","nodeType":"MemberAccess","referencedDeclaration":24179,"src":"38930:44:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":18943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38930:64:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18944,"nodeType":"ExpressionStatement","src":"38930:64:48"}]},"documentation":{"id":18931,"nodeType":"StructuredDocumentation","src":"38586:226:48","text":" @notice Changes the quorum numerator.\n This operation can only be performed through a governance proposal.\n Emits a {QuorumNumeratorUpdated} event.\n @param newQuorumNumerator The new quorum numerator"},"functionSelector":"06f3f9e6","id":18946,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":18936,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"38904:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":18937,"kind":"modifierInvocation","modifierName":{"id":18935,"name":"onlyRoleOrGovernance","nameLocations":["38883:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"38883:20:48"},"nodeType":"ModifierInvocation","src":"38883:40:48"}],"name":"updateQuorumNumerator","nameLocation":"38824:21:48","nodeType":"FunctionDefinition","parameters":{"id":18934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18933,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"38854:18:48","nodeType":"VariableDeclaration","scope":18946,"src":"38846:26:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18932,"name":"uint256","nodeType":"ElementaryTypeName","src":"38846:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38845:28:48"},"returnParameters":{"id":18938,"nodeType":"ParameterList","parameters":[],"src":"38924:0:48"},"scope":19538,"src":"38815:184:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":18958,"nodeType":"Block","src":"39330:56:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":18953,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"39336:21:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":18955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39358:21:48","memberName":"toggleQuadraticVoting","nodeType":"MemberAccess","referencedDeclaration":26030,"src":"39336:43:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$__$returns$__$","typeString":"function ()"}},"id":18956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39336:45:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18957,"nodeType":"ExpressionStatement","src":"39336:45:48"}]},"documentation":{"id":18947,"nodeType":"StructuredDocumentation","src":"39003:241:48","text":" @notice Toggle quadratic voting for next round.\n @dev This function toggles the state of quadratic votingstarting from the next round.\n The state will flip between enabled and disabled each time the function is called."},"functionSelector":"9c17e7b3","id":18959,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":18950,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"39310:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":18951,"kind":"modifierInvocation","modifierName":{"id":18949,"name":"onlyRoleOrGovernance","nameLocations":["39289:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"39289:20:48"},"nodeType":"ModifierInvocation","src":"39289:40:48"}],"name":"toggleQuadraticVoting","nameLocation":"39256:21:48","nodeType":"FunctionDefinition","parameters":{"id":18948,"nodeType":"ParameterList","parameters":[],"src":"39277:2:48"},"returnParameters":{"id":18952,"nodeType":"ParameterList","parameters":[],"src":"39330:0:48"},"scope":19538,"src":"39247:139:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":18980,"nodeType":"Block","src":"39869:109:48","statements":[{"expression":{"arguments":[{"id":18975,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18962,"src":"39933:6:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18976,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18964,"src":"39941:16:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":18977,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18966,"src":"39959:13:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18972,"name":"GovernorFunctionRestrictionsLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21456,"src":"39875:36:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogicV10_$21456_$","typeString":"type(library GovernorFunctionRestrictionsLogicV10)"}},"id":18974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39912:20:48","memberName":"setWhitelistFunction","nodeType":"MemberAccess","referencedDeclaration":21295,"src":"39875:57:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_bytes4_$_t_bool_$returns$__$","typeString":"function (address,bytes4,bool)"}},"id":18978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39875:98:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18979,"nodeType":"ExpressionStatement","src":"39875:98:48"}]},"documentation":{"id":18960,"nodeType":"StructuredDocumentation","src":"39390:307:48","text":" @notice Method that allows to restrict functions that can be called by proposals for a single function selector\n @param target The address of the contract\n @param functionSelector The function selector\n @param isWhitelisted Bool indicating if function is whitelisted for proposals"},"functionSelector":"be9bd92b","id":18981,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":18969,"name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17569,"src":"39835:32:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":18970,"kind":"modifierInvocation","modifierName":{"id":18968,"name":"onlyRoleOrGovernance","nameLocations":["39814:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"39814:20:48"},"nodeType":"ModifierInvocation","src":"39814:54:48"}],"name":"setWhitelistFunction","nameLocation":"39709:20:48","nodeType":"FunctionDefinition","parameters":{"id":18967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18962,"mutability":"mutable","name":"target","nameLocation":"39743:6:48","nodeType":"VariableDeclaration","scope":18981,"src":"39735:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18961,"name":"address","nodeType":"ElementaryTypeName","src":"39735:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18964,"mutability":"mutable","name":"functionSelector","nameLocation":"39762:16:48","nodeType":"VariableDeclaration","scope":18981,"src":"39755:23:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18963,"name":"bytes4","nodeType":"ElementaryTypeName","src":"39755:6:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":18966,"mutability":"mutable","name":"isWhitelisted","nameLocation":"39789:13:48","nodeType":"VariableDeclaration","scope":18981,"src":"39784:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18965,"name":"bool","nodeType":"ElementaryTypeName","src":"39784:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39729:77:48"},"returnParameters":{"id":18971,"nodeType":"ParameterList","parameters":[],"src":"39869:0:48"},"scope":19538,"src":"39700:278:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19003,"nodeType":"Block","src":"40488:111:48","statements":[{"expression":{"arguments":[{"id":18998,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18984,"src":"40553:6:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18999,"name":"functionSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18987,"src":"40561:17:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},{"id":19000,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18989,"src":"40580:13:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18995,"name":"GovernorFunctionRestrictionsLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21456,"src":"40494:36:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogicV10_$21456_$","typeString":"type(library GovernorFunctionRestrictionsLogicV10)"}},"id":18997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40531:21:48","memberName":"setWhitelistFunctions","nodeType":"MemberAccess","referencedDeclaration":21326,"src":"40494:58:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_array$_t_bytes4_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes4[] memory,bool)"}},"id":19001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40494:100:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19002,"nodeType":"ExpressionStatement","src":"40494:100:48"}]},"documentation":{"id":18982,"nodeType":"StructuredDocumentation","src":"39982:323:48","text":" @notice Method that allows to restrict functions that can be called by proposals for multiple function selectors at once\n @param target The address of the contract\n @param functionSelectors Array of function selectors\n @param isWhitelisted Bool indicating if function is whitelisted for proposals"},"functionSelector":"8e828cb4","id":19004,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":18992,"name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17569,"src":"40454:32:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":18993,"kind":"modifierInvocation","modifierName":{"id":18991,"name":"onlyRoleOrGovernance","nameLocations":["40433:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"40433:20:48"},"nodeType":"ModifierInvocation","src":"40433:54:48"}],"name":"setWhitelistFunctions","nameLocation":"40317:21:48","nodeType":"FunctionDefinition","parameters":{"id":18990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18984,"mutability":"mutable","name":"target","nameLocation":"40352:6:48","nodeType":"VariableDeclaration","scope":19004,"src":"40344:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18983,"name":"address","nodeType":"ElementaryTypeName","src":"40344:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18987,"mutability":"mutable","name":"functionSelectors","nameLocation":"40380:17:48","nodeType":"VariableDeclaration","scope":19004,"src":"40364:33:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":18985,"name":"bytes4","nodeType":"ElementaryTypeName","src":"40364:6:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":18986,"nodeType":"ArrayTypeName","src":"40364:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"},{"constant":false,"id":18989,"mutability":"mutable","name":"isWhitelisted","nameLocation":"40408:13:48","nodeType":"VariableDeclaration","scope":19004,"src":"40403:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18988,"name":"bool","nodeType":"ElementaryTypeName","src":"40403:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40338:87:48"},"returnParameters":{"id":18994,"nodeType":"ParameterList","parameters":[],"src":"40488:0:48"},"scope":19538,"src":"40308:291:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19019,"nodeType":"Block","src":"40882:90:48","statements":[{"expression":{"arguments":[{"id":19016,"name":"isEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19007,"src":"40957:9:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19013,"name":"GovernorFunctionRestrictionsLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21456,"src":"40888:36:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogicV10_$21456_$","typeString":"type(library GovernorFunctionRestrictionsLogicV10)"}},"id":19015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40925:31:48","memberName":"setIsFunctionRestrictionEnabled","nodeType":"MemberAccess","referencedDeclaration":21347,"src":"40888:68:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":19017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40888:79:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19018,"nodeType":"ExpressionStatement","src":"40888:79:48"}]},"documentation":{"id":19005,"nodeType":"StructuredDocumentation","src":"40603:149:48","text":" @notice Method that allows to toggle the function restriction on/off\n @param isEnabled Flag to enable/disable function restriction"},"functionSelector":"4c5ead08","id":19020,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19010,"name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17569,"src":"40848:32:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19011,"kind":"modifierInvocation","modifierName":{"id":19009,"name":"onlyRoleOrGovernance","nameLocations":["40827:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"40827:20:48"},"nodeType":"ModifierInvocation","src":"40827:54:48"}],"name":"setIsFunctionRestrictionEnabled","nameLocation":"40764:31:48","nodeType":"FunctionDefinition","parameters":{"id":19008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19007,"mutability":"mutable","name":"isEnabled","nameLocation":"40806:9:48","nodeType":"VariableDeclaration","scope":19020,"src":"40801:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19006,"name":"bool","nodeType":"ElementaryTypeName","src":"40801:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40795:24:48"},"returnParameters":{"id":19012,"nodeType":"ParameterList","parameters":[],"src":"40882:0:48"},"scope":19538,"src":"40755:217:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19035,"nodeType":"Block","src":"41326:71:48","statements":[{"expression":{"arguments":[{"id":19032,"name":"newMinVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19023,"src":"41374:17:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19029,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"41332:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41356:17:48","memberName":"setMinVotingDelay","nodeType":"MemberAccess","referencedDeclaration":19941,"src":"41332:41:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":19033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41332:60:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19034,"nodeType":"ExpressionStatement","src":"41332:60:48"}]},"documentation":{"id":19021,"nodeType":"StructuredDocumentation","src":"40976:245:48","text":" @notice Update the min voting delay before vote can start.\n This operation can only be performed through a governance proposal.\n Emits a {MinVotingDelaySet} event.\n @param newMinVotingDelay The new minimum voting delay"},"functionSelector":"b26a9509","id":19036,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19026,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"41306:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19027,"kind":"modifierInvocation","modifierName":{"id":19025,"name":"onlyRoleOrGovernance","nameLocations":["41285:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"41285:20:48"},"nodeType":"ModifierInvocation","src":"41285:40:48"}],"name":"setMinVotingDelay","nameLocation":"41233:17:48","nodeType":"FunctionDefinition","parameters":{"id":19024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19023,"mutability":"mutable","name":"newMinVotingDelay","nameLocation":"41259:17:48","nodeType":"VariableDeclaration","scope":19036,"src":"41251:25:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19022,"name":"uint256","nodeType":"ElementaryTypeName","src":"41251:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41250:27:48"},"returnParameters":{"id":19028,"nodeType":"ParameterList","parameters":[],"src":"41326:0:48"},"scope":19538,"src":"41224:173:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19051,"nodeType":"Block","src":"41686:74:48","statements":[{"expression":{"arguments":[{"id":19048,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19039,"src":"41746:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19045,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"41692:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41716:29:48","memberName":"setGovernanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":19913,"src":"41692:53:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":19049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41692:63:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19050,"nodeType":"ExpressionStatement","src":"41692:63:48"}]},"documentation":{"id":19037,"nodeType":"StructuredDocumentation","src":"41401:177:48","text":" @notice Set the governance skip window (blocks before proposal deadline when relayers can skip navigator votes)\n @param newValue The new skip window in blocks"},"functionSelector":"3397d78d","id":19052,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19042,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"41666:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19043,"kind":"modifierInvocation","modifierName":{"id":19041,"name":"onlyRoleOrGovernance","nameLocations":["41645:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"41645:20:48"},"nodeType":"ModifierInvocation","src":"41645:40:48"}],"name":"setGovernanceSkipWindowBlocks","nameLocation":"41590:29:48","nodeType":"FunctionDefinition","parameters":{"id":19040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19039,"mutability":"mutable","name":"newValue","nameLocation":"41628:8:48","nodeType":"VariableDeclaration","scope":19052,"src":"41620:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19038,"name":"uint256","nodeType":"ElementaryTypeName","src":"41620:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41619:18:48"},"returnParameters":{"id":19044,"nodeType":"ParameterList","parameters":[],"src":"41686:0:48"},"scope":19538,"src":"41581:179:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19068,"nodeType":"Block","src":"42101:67:48","statements":[{"expression":{"arguments":[{"id":19065,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19056,"src":"42147:15:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"expression":{"id":19062,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"42107:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42131:15:48","memberName":"setVoterRewards","nodeType":"MemberAccess","referencedDeclaration":19989,"src":"42107:39:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IVoterRewards)"}},"id":19066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42107:56:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19067,"nodeType":"ExpressionStatement","src":"42107:56:48"}]},"documentation":{"id":19053,"nodeType":"StructuredDocumentation","src":"41764:218:48","text":" @notice Set the voter rewards contract\n This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\n @param newVoterRewards The new voter rewards contract"},"functionSelector":"7a4cce6d","id":19069,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19059,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17581,"src":"42069:30:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19060,"kind":"modifierInvocation","modifierName":{"id":19058,"name":"onlyRoleOrGovernance","nameLocations":["42048:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"42048:20:48"},"nodeType":"ModifierInvocation","src":"42048:52:48"}],"name":"setVoterRewards","nameLocation":"41994:15:48","nodeType":"FunctionDefinition","parameters":{"id":19057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19056,"mutability":"mutable","name":"newVoterRewards","nameLocation":"42024:15:48","nodeType":"VariableDeclaration","scope":19069,"src":"42010:29:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":19055,"nodeType":"UserDefinedTypeName","pathNode":{"id":19054,"name":"IVoterRewards","nameLocations":["42010:13:48"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"42010:13:48"},"referencedDeclaration":69092,"src":"42010:13:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"42009:31:48"},"returnParameters":{"id":19061,"nodeType":"ParameterList","parameters":[],"src":"42101:0:48"},"scope":19538,"src":"41985:183:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19085,"nodeType":"Block","src":"42553:77:48","statements":[{"expression":{"arguments":[{"id":19082,"name":"newXAllocationVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19073,"src":"42604:20:48","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"expression":{"id":19079,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"42559:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42583:20:48","memberName":"setXAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":20037,"src":"42559:44:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IXAllocationVotingGovernor_$71124_$returns$__$","typeString":"function (contract IXAllocationVotingGovernor)"}},"id":19083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42559:66:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19084,"nodeType":"ExpressionStatement","src":"42559:66:48"}]},"documentation":{"id":19070,"nodeType":"StructuredDocumentation","src":"42172:231:48","text":" @notice Set the xAllocationVoting contract\n This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\n @param newXAllocationVoting The new xAllocationVoting contract"},"functionSelector":"3d47fe94","id":19086,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19076,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17581,"src":"42521:30:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19077,"kind":"modifierInvocation","modifierName":{"id":19075,"name":"onlyRoleOrGovernance","nameLocations":["42500:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"42500:20:48"},"nodeType":"ModifierInvocation","src":"42500:52:48"}],"name":"setXAllocationVoting","nameLocation":"42415:20:48","nodeType":"FunctionDefinition","parameters":{"id":19074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19073,"mutability":"mutable","name":"newXAllocationVoting","nameLocation":"42468:20:48","nodeType":"VariableDeclaration","scope":19086,"src":"42441:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":19072,"nodeType":"UserDefinedTypeName","pathNode":{"id":19071,"name":"IXAllocationVotingGovernor","nameLocations":["42441:26:48"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"42441:26:48"},"referencedDeclaration":71124,"src":"42441:26:48","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"42435:57:48"},"returnParameters":{"id":19078,"nodeType":"ParameterList","parameters":[],"src":"42553:0:48"},"scope":19538,"src":"42406:224:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19102,"nodeType":"Block","src":"43137:62:48","statements":[{"expression":{"arguments":[{"id":19099,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19090,"src":"43182:11:48","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"expression":{"id":19096,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"43143:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43167:14:48","memberName":"updateTimelock","nodeType":"MemberAccess","referencedDeclaration":20085,"src":"43143:38:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_TimelockControllerUpgradeable_$1478_$returns$__$","typeString":"function (contract TimelockControllerUpgradeable)"}},"id":19100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43143:51:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19101,"nodeType":"ExpressionStatement","src":"43143:51:48"}]},"documentation":{"id":19087,"nodeType":"StructuredDocumentation","src":"42634:367:48","text":" @notice Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n must be proposed, scheduled, and executed through governance proposals.\n CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\n @param newTimelock The new timelock controller"},"functionSelector":"a890c910","id":19103,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19093,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"43117:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19094,"kind":"modifierInvocation","modifierName":{"id":19092,"name":"onlyRoleOrGovernance","nameLocations":["43096:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"43096:20:48"},"nodeType":"ModifierInvocation","src":"43096:40:48"}],"name":"updateTimelock","nameLocation":"43013:14:48","nodeType":"FunctionDefinition","parameters":{"id":19091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19090,"mutability":"mutable","name":"newTimelock","nameLocation":"43063:11:48","nodeType":"VariableDeclaration","scope":19103,"src":"43033:41:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"},"typeName":{"id":19089,"nodeType":"UserDefinedTypeName","pathNode":{"id":19088,"name":"TimelockControllerUpgradeable","nameLocations":["43033:29:48"],"nodeType":"IdentifierPath","referencedDeclaration":1478,"src":"43033:29:48"},"referencedDeclaration":1478,"src":"43033:29:48","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"visibility":"internal"}],"src":"43027:51:48"},"returnParameters":{"id":19095,"nodeType":"ParameterList","parameters":[],"src":"43137:0:48"},"scope":19538,"src":"43004:195:48","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"baseFunctions":[26991],"body":{"id":19119,"nodeType":"Block","src":"43464:75:48","statements":[{"expression":{"arguments":[{"id":19116,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19107,"src":"43514:19:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"expression":{"id":19113,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"43470:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43494:19:48","memberName":"setVeBetterPassport","nodeType":"MemberAccess","referencedDeclaration":19795,"src":"43470:43:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IVeBetterPassport_$68601_$returns$__$","typeString":"function (contract IVeBetterPassport)"}},"id":19117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43470:64:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19118,"nodeType":"ExpressionStatement","src":"43470:64:48"}]},"documentation":{"id":19104,"nodeType":"StructuredDocumentation","src":"43203:122:48","text":" @notice Set the VeBetterPassport contract\n @param newVeBetterPassport The new VeBetterPassport contract"},"functionSelector":"b3c93dab","id":19120,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19110,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17581,"src":"43432:30:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19111,"kind":"modifierInvocation","modifierName":{"id":19109,"name":"onlyRoleOrGovernance","nameLocations":["43411:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"43411:20:48"},"nodeType":"ModifierInvocation","src":"43411:52:48"}],"name":"setVeBetterPassport","nameLocation":"43337:19:48","nodeType":"FunctionDefinition","parameters":{"id":19108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19107,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"43380:19:48","nodeType":"VariableDeclaration","scope":19120,"src":"43362:37:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":19106,"nodeType":"UserDefinedTypeName","pathNode":{"id":19105,"name":"IVeBetterPassport","nameLocations":["43362:17:48"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"43362:17:48"},"referencedDeclaration":68601,"src":"43362:17:48","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"43356:47:48"},"returnParameters":{"id":19112,"nodeType":"ParameterList","parameters":[],"src":"43464:0:48"},"scope":19538,"src":"43328:211:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19136,"nodeType":"Block","src":"43810:77:48","statements":[{"expression":{"arguments":[{"id":19133,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19124,"src":"43861:20:48","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"expression":{"id":19130,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"43816:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43840:20:48","memberName":"setNavigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":19830,"src":"43816:44:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_INavigatorRegistry_$66638_$returns$__$","typeString":"function (contract INavigatorRegistry)"}},"id":19134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43816:66:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19135,"nodeType":"ExpressionStatement","src":"43816:66:48"}]},"documentation":{"id":19121,"nodeType":"StructuredDocumentation","src":"43543:125:48","text":" @notice Set the NavigatorRegistry contract\n @param newNavigatorRegistry The new NavigatorRegistry contract"},"functionSelector":"f530108f","id":19137,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19127,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17581,"src":"43778:30:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19128,"kind":"modifierInvocation","modifierName":{"id":19126,"name":"onlyRoleOrGovernance","nameLocations":["43757:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"43757:20:48"},"nodeType":"ModifierInvocation","src":"43757:52:48"}],"name":"setNavigatorRegistry","nameLocation":"43680:20:48","nodeType":"FunctionDefinition","parameters":{"id":19125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19124,"mutability":"mutable","name":"newNavigatorRegistry","nameLocation":"43725:20:48","nodeType":"VariableDeclaration","scope":19137,"src":"43706:39:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":19123,"nodeType":"UserDefinedTypeName","pathNode":{"id":19122,"name":"INavigatorRegistry","nameLocations":["43706:18:48"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"43706:18:48"},"referencedDeclaration":66638,"src":"43706:18:48","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"43700:49:48"},"returnParameters":{"id":19129,"nodeType":"ParameterList","parameters":[],"src":"43810:0:48"},"scope":19538,"src":"43671:216:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[27028],"body":{"id":19153,"nodeType":"Block","src":"44164:79:48","statements":[{"expression":{"arguments":[{"id":19150,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19141,"src":"44216:21:48","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"expression":{"id":19147,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"44170:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44194:21:48","memberName":"setRelayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":19878,"src":"44170:45:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IRelayerRewardsPool_$67117_$returns$__$","typeString":"function (contract IRelayerRewardsPool)"}},"id":19151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44170:68:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19152,"nodeType":"ExpressionStatement","src":"44170:68:48"}]},"documentation":{"id":19138,"nodeType":"StructuredDocumentation","src":"43891:128:48","text":" @notice Set the RelayerRewardsPool contract\n @param newRelayerRewardsPool The new RelayerRewardsPool contract"},"functionSelector":"0dd8614c","id":19154,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19144,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17581,"src":"44132:30:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19145,"kind":"modifierInvocation","modifierName":{"id":19143,"name":"onlyRoleOrGovernance","nameLocations":["44111:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"44111:20:48"},"nodeType":"ModifierInvocation","src":"44111:52:48"}],"name":"setRelayerRewardsPool","nameLocation":"44031:21:48","nodeType":"FunctionDefinition","parameters":{"id":19142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19141,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"44078:21:48","nodeType":"VariableDeclaration","scope":19154,"src":"44058:41:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":19140,"nodeType":"UserDefinedTypeName","pathNode":{"id":19139,"name":"IRelayerRewardsPool","nameLocations":["44058:19:48"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"44058:19:48"},"referencedDeclaration":67117,"src":"44058:19:48","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"44052:51:48"},"returnParameters":{"id":19146,"nodeType":"ParameterList","parameters":[],"src":"44164:0:48"},"scope":19538,"src":"44022:221:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[26838],"body":{"id":19191,"nodeType":"Block","src":"45098:249:48","statements":[{"expression":{"arguments":[{"id":19181,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19158,"src":"45164:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":19182,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19161,"src":"45181:6:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":19183,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19164,"src":"45197:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":19184,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19166,"src":"45216:11:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19185,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19168,"src":"45237:12:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19186,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19170,"src":"45259:13:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19187,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19172,"src":"45282:14:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19188,"name":"milestonesDetailsMetadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19174,"src":"45306:28:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19179,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"45117:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":19180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45142:12:48","memberName":"proposeGrant","nodeType":"MemberAccess","referencedDeclaration":22215,"src":"45117:37:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256,address,string memory) returns (uint256)"}},"id":19189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45117:225:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":19178,"id":19190,"nodeType":"Return","src":"45104:238:48"}]},"documentation":{"id":19155,"nodeType":"StructuredDocumentation","src":"44247:546:48","text":" @notice Propose a grant\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param description The proposal description\n @param startRoundId The round in which the proposal should start\n @param depositAmount The amount of deposit for the proposal\n @param grantsReceiver The address of the grants receiver\n @param milestonesDetailsMetadataURI The IPFS hash containing the milestones descriptions\n @return The proposal id"},"functionSelector":"013b1088","id":19192,"implemented":true,"kind":"function","modifiers":[],"name":"proposeGrant","nameLocation":"44805:12:48","nodeType":"FunctionDefinition","parameters":{"id":19175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19158,"mutability":"mutable","name":"targets","nameLocation":"44840:7:48","nodeType":"VariableDeclaration","scope":19192,"src":"44823:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":19156,"name":"address","nodeType":"ElementaryTypeName","src":"44823:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":19157,"nodeType":"ArrayTypeName","src":"44823:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":19161,"mutability":"mutable","name":"values","nameLocation":"44870:6:48","nodeType":"VariableDeclaration","scope":19192,"src":"44853:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":19159,"name":"uint256","nodeType":"ElementaryTypeName","src":"44853:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19160,"nodeType":"ArrayTypeName","src":"44853:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":19164,"mutability":"mutable","name":"calldatas","nameLocation":"44897:9:48","nodeType":"VariableDeclaration","scope":19192,"src":"44882:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":19162,"name":"bytes","nodeType":"ElementaryTypeName","src":"44882:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":19163,"nodeType":"ArrayTypeName","src":"44882:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":19166,"mutability":"mutable","name":"description","nameLocation":"44926:11:48","nodeType":"VariableDeclaration","scope":19192,"src":"44912:25:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19165,"name":"string","nodeType":"ElementaryTypeName","src":"44912:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19168,"mutability":"mutable","name":"startRoundId","nameLocation":"44951:12:48","nodeType":"VariableDeclaration","scope":19192,"src":"44943:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19167,"name":"uint256","nodeType":"ElementaryTypeName","src":"44943:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19170,"mutability":"mutable","name":"depositAmount","nameLocation":"44977:13:48","nodeType":"VariableDeclaration","scope":19192,"src":"44969:21:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19169,"name":"uint256","nodeType":"ElementaryTypeName","src":"44969:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19172,"mutability":"mutable","name":"grantsReceiver","nameLocation":"45004:14:48","nodeType":"VariableDeclaration","scope":19192,"src":"44996:22:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19171,"name":"address","nodeType":"ElementaryTypeName","src":"44996:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19174,"mutability":"mutable","name":"milestonesDetailsMetadataURI","nameLocation":"45038:28:48","nodeType":"VariableDeclaration","scope":19192,"src":"45024:42:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19173,"name":"string","nodeType":"ElementaryTypeName","src":"45024:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44817:253:48"},"returnParameters":{"id":19178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19177,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19192,"src":"45089:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19176,"name":"uint256","nodeType":"ElementaryTypeName","src":"45089:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45088:9:48"},"scope":19538,"src":"44796:551:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":19207,"nodeType":"Block","src":"45747:69:48","statements":[{"expression":{"arguments":[{"id":19204,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19195,"src":"45800:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19201,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"45753:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":19203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45778:21:48","memberName":"resetDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":22857,"src":"45753:46:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":19205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45753:58:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19206,"nodeType":"ExpressionStatement","src":"45753:58:48"}]},"documentation":{"id":19193,"nodeType":"StructuredDocumentation","src":"45351:297:48","text":" @notice Reset the development state of a proposal back to pending development\n @param proposalId The id of the proposal\n @dev This should reset the enum state back to the original one,\n since pending development is not tracked in {GovernorStateLogicV10._state} condition"},"functionSelector":"c429bd82","id":19208,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19198,"name":"PROPOSAL_STATE_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17593,"src":"45718:27:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19199,"kind":"modifierInvocation","modifierName":{"id":19197,"name":"onlyRole","nameLocations":["45709:8:48"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"45709:8:48"},"nodeType":"ModifierInvocation","src":"45709:37:48"}],"name":"resetDevelopmentState","nameLocation":"45660:21:48","nodeType":"FunctionDefinition","parameters":{"id":19196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19195,"mutability":"mutable","name":"proposalId","nameLocation":"45690:10:48","nodeType":"VariableDeclaration","scope":19208,"src":"45682:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19194,"name":"uint256","nodeType":"ElementaryTypeName","src":"45682:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45681:20:48"},"returnParameters":{"id":19200,"nodeType":"ParameterList","parameters":[],"src":"45747:0:48"},"scope":19538,"src":"45651:165:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19223,"nodeType":"Block","src":"46019:67:48","statements":[{"expression":{"arguments":[{"id":19220,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19211,"src":"46070:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19217,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"46025:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":19219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46050:19:48","memberName":"markAsInDevelopment","nodeType":"MemberAccess","referencedDeclaration":22744,"src":"46025:44:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":19221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46025:56:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19222,"nodeType":"ExpressionStatement","src":"46025:56:48"}]},"documentation":{"id":19209,"nodeType":"StructuredDocumentation","src":"45820:102:48","text":" @notice Mark a proposal as in development\n @param proposalId The id of the proposal"},"functionSelector":"1e6b4992","id":19224,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19214,"name":"PROPOSAL_STATE_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17593,"src":"45990:27:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19215,"kind":"modifierInvocation","modifierName":{"id":19213,"name":"onlyRole","nameLocations":["45981:8:48"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"45981:8:48"},"nodeType":"ModifierInvocation","src":"45981:37:48"}],"name":"markAsInDevelopment","nameLocation":"45934:19:48","nodeType":"FunctionDefinition","parameters":{"id":19212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19211,"mutability":"mutable","name":"proposalId","nameLocation":"45962:10:48","nodeType":"VariableDeclaration","scope":19224,"src":"45954:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19210,"name":"uint256","nodeType":"ElementaryTypeName","src":"45954:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45953:20:48"},"returnParameters":{"id":19216,"nodeType":"ParameterList","parameters":[],"src":"46019:0:48"},"scope":19538,"src":"45925:161:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19239,"nodeType":"Block","src":"46280:63:48","statements":[{"expression":{"arguments":[{"id":19236,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19227,"src":"46327:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19233,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"46286:24:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":19235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46311:15:48","memberName":"markAsCompleted","nodeType":"MemberAccess","referencedDeclaration":22808,"src":"46286:40:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":19237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46286:52:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19238,"nodeType":"ExpressionStatement","src":"46286:52:48"}]},"documentation":{"id":19225,"nodeType":"StructuredDocumentation","src":"46090:97:48","text":" @notice Mark a proposal as completed\n @param proposalId The id of the proposal"},"functionSelector":"c0a6026c","id":19240,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19230,"name":"PROPOSAL_STATE_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17593,"src":"46251:27:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19231,"kind":"modifierInvocation","modifierName":{"id":19229,"name":"onlyRole","nameLocations":["46242:8:48"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"46242:8:48"},"nodeType":"ModifierInvocation","src":"46242:37:48"}],"name":"markAsCompleted","nameLocation":"46199:15:48","nodeType":"FunctionDefinition","parameters":{"id":19228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19227,"mutability":"mutable","name":"proposalId","nameLocation":"46223:10:48","nodeType":"VariableDeclaration","scope":19240,"src":"46215:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19226,"name":"uint256","nodeType":"ElementaryTypeName","src":"46215:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46214:20:48"},"returnParameters":{"id":19232,"nodeType":"ParameterList","parameters":[],"src":"46280:0:48"},"scope":19538,"src":"46190:153:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19259,"nodeType":"Block","src":"46835:100:48","statements":[{"expression":{"arguments":[{"id":19255,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19243,"src":"46892:18:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19256,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19246,"src":"46912:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":19252,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"46841:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":19254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46864:27:48","memberName":"updateQuorumNumeratorByType","nodeType":"MemberAccess","referencedDeclaration":24194,"src":"46841:50:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType)"}},"id":19257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46841:89:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19258,"nodeType":"ExpressionStatement","src":"46841:89:48"}]},"documentation":{"id":19241,"nodeType":"StructuredDocumentation","src":"46347:309:48","text":" @notice Changes the quorum numerator for a specific proposal type.\n This operation can only be performed through a governance proposal.\n Emits a {QuorumNumeratorUpdatedByType} event.\n @param newQuorumNumerator The new quorum numerator\n @param proposalTypeValue The proposal type"},"functionSelector":"3d1ac63e","id":19260,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19249,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"46815:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19250,"kind":"modifierInvocation","modifierName":{"id":19248,"name":"onlyRoleOrGovernance","nameLocations":["46794:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"46794:20:48"},"nodeType":"ModifierInvocation","src":"46794:40:48"}],"name":"updateQuorumNumeratorByType","nameLocation":"46668:27:48","nodeType":"FunctionDefinition","parameters":{"id":19247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19243,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"46709:18:48","nodeType":"VariableDeclaration","scope":19260,"src":"46701:26:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19242,"name":"uint256","nodeType":"ElementaryTypeName","src":"46701:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19246,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"46763:17:48","nodeType":"VariableDeclaration","scope":19260,"src":"46733:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":19245,"nodeType":"UserDefinedTypeName","pathNode":{"id":19244,"name":"GovernorTypesV10.ProposalType","nameLocations":["46733:16:48","46750:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"46733:29:48"},"referencedDeclaration":25017,"src":"46733:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"46695:89:48"},"returnParameters":{"id":19251,"nodeType":"ParameterList","parameters":[],"src":"46835:0:48"},"scope":19538,"src":"46659:276:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":19279,"nodeType":"Block","src":"47421:116:48","statements":[{"expression":{"arguments":[{"id":19275,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19266,"src":"47493:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"id":19276,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19263,"src":"47512:19:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19272,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"47427:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47451:41:48","memberName":"setProposalTypeDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":20117,"src":"47427:65:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256)"}},"id":19277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47427:105:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19278,"nodeType":"ExpressionStatement","src":"47427:105:48"}]},"documentation":{"id":19261,"nodeType":"StructuredDocumentation","src":"46939:290:48","text":" @notice Update the deposit threshold for a proposal type. This operation can only be performed through a governance proposal.\n Emits a {DepositThresholdSetV2} event.\n @param newDepositThreshold The new deposit threshold\n @param proposalTypeValue The proposal type"},"functionSelector":"726da5fd","id":19280,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19269,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"47401:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19270,"kind":"modifierInvocation","modifierName":{"id":19268,"name":"onlyRoleOrGovernance","nameLocations":["47380:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"47380:20:48"},"nodeType":"ModifierInvocation","src":"47380:40:48"}],"name":"setProposalTypeDepositThresholdPercentage","nameLocation":"47241:41:48","nodeType":"FunctionDefinition","parameters":{"id":19267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19263,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"47296:19:48","nodeType":"VariableDeclaration","scope":19280,"src":"47288:27:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19262,"name":"uint256","nodeType":"ElementaryTypeName","src":"47288:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19266,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"47351:17:48","nodeType":"VariableDeclaration","scope":19280,"src":"47321:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":19265,"nodeType":"UserDefinedTypeName","pathNode":{"id":19264,"name":"GovernorTypesV10.ProposalType","nameLocations":["47321:16:48","47338:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"47321:29:48"},"referencedDeclaration":25017,"src":"47321:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"47282:90:48"},"returnParameters":{"id":19271,"nodeType":"ParameterList","parameters":[],"src":"47421:0:48"},"scope":19538,"src":"47232:305:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19299,"nodeType":"Block","src":"48007:104:48","statements":[{"expression":{"arguments":[{"id":19295,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19286,"src":"48068:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"id":19296,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19283,"src":"48087:18:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19292,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"48013:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48037:30:48","memberName":"setProposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":20176,"src":"48013:54:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256)"}},"id":19297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48013:93:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19298,"nodeType":"ExpressionStatement","src":"48013:93:48"}]},"documentation":{"id":19281,"nodeType":"StructuredDocumentation","src":"47541:286:48","text":" @notice Update the voting threshold for a proposal type. This operation can only be performed through a governance proposal.\n Emits a {VotingThresholdSetV2} event.\n @param newVotingThreshold The new voting threshold\n @param proposalTypeValue The proposal type"},"functionSelector":"038f9b65","id":19300,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19289,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"47987:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19290,"kind":"modifierInvocation","modifierName":{"id":19288,"name":"onlyRoleOrGovernance","nameLocations":["47966:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"47966:20:48"},"nodeType":"ModifierInvocation","src":"47966:40:48"}],"name":"setProposalTypeVotingThreshold","nameLocation":"47839:30:48","nodeType":"FunctionDefinition","parameters":{"id":19287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19283,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"47883:18:48","nodeType":"VariableDeclaration","scope":19300,"src":"47875:26:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19282,"name":"uint256","nodeType":"ElementaryTypeName","src":"47875:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19286,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"47937:17:48","nodeType":"VariableDeclaration","scope":19300,"src":"47907:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":19285,"nodeType":"UserDefinedTypeName","pathNode":{"id":19284,"name":"GovernorTypesV10.ProposalType","nameLocations":["47907:16:48","47924:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"47907:29:48"},"referencedDeclaration":25017,"src":"47907:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"47869:89:48"},"returnParameters":{"id":19291,"nodeType":"ParameterList","parameters":[],"src":"48007:0:48"},"scope":19538,"src":"47830:281:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":19319,"nodeType":"Block","src":"48633:112:48","statements":[{"expression":{"arguments":[{"id":19315,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19306,"src":"48698:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"id":19316,"name":"newDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19303,"src":"48717:22:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19312,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"48639:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48663:34:48","memberName":"setProposalTypeDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":20235,"src":"48639:58:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256)"}},"id":19317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48639:101:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19318,"nodeType":"ExpressionStatement","src":"48639:101:48"}]},"documentation":{"id":19301,"nodeType":"StructuredDocumentation","src":"48115:330:48","text":" @notice Update the deposit threshold cap for a proposal type. This operation can only be performed through a governance proposal or by the DEFAULT_ADMIN_ROLE\n Emits a {DepositThresholdCapSet} event.\n @param newDepositThresholdCap The new deposit threshold cap\n @param proposalTypeValue The proposal type"},"functionSelector":"e09c8d44","id":19320,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19309,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"48613:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19310,"kind":"modifierInvocation","modifierName":{"id":19308,"name":"onlyRoleOrGovernance","nameLocations":["48592:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"48592:20:48"},"nodeType":"ModifierInvocation","src":"48592:40:48"}],"name":"setProposalTypeDepositThresholdCap","nameLocation":"48457:34:48","nodeType":"FunctionDefinition","parameters":{"id":19307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19303,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"48505:22:48","nodeType":"VariableDeclaration","scope":19320,"src":"48497:30:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19302,"name":"uint256","nodeType":"ElementaryTypeName","src":"48497:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19306,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"48563:17:48","nodeType":"VariableDeclaration","scope":19320,"src":"48533:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":19305,"nodeType":"UserDefinedTypeName","pathNode":{"id":19304,"name":"GovernorTypesV10.ProposalType","nameLocations":["48533:16:48","48550:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"48533:29:48"},"referencedDeclaration":25017,"src":"48533:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"48491:93:48"},"returnParameters":{"id":19311,"nodeType":"ParameterList","parameters":[],"src":"48633:0:48"},"scope":19538,"src":"48448:297:48","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[27007],"body":{"id":19336,"nodeType":"Block","src":"48988:75:48","statements":[{"expression":{"arguments":[{"id":19333,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19324,"src":"49042:15:48","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}],"expression":{"id":19330,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"48994:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49018:23:48","memberName":"setGalaxyMemberContract","nodeType":"MemberAccess","referencedDeclaration":20295,"src":"48994:47:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IGalaxyMember_$65196_$returns$__$","typeString":"function (contract IGalaxyMember)"}},"id":19334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48994:64:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19335,"nodeType":"ExpressionStatement","src":"48994:64:48"}]},"documentation":{"id":19321,"nodeType":"StructuredDocumentation","src":"48749:110:48","text":" @notice Set the GalaxyMember contract\n @param newGalaxyMember The new GalaxyMember contract"},"functionSelector":"ae0b8da8","id":19337,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19327,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17581,"src":"48956:30:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19328,"kind":"modifierInvocation","modifierName":{"id":19326,"name":"onlyRoleOrGovernance","nameLocations":["48935:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"48935:20:48"},"nodeType":"ModifierInvocation","src":"48935:52:48"}],"name":"setGalaxyMember","nameLocation":"48871:15:48","nodeType":"FunctionDefinition","parameters":{"id":19325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19324,"mutability":"mutable","name":"newGalaxyMember","nameLocation":"48906:15:48","nodeType":"VariableDeclaration","scope":19337,"src":"48892:29:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":19323,"nodeType":"UserDefinedTypeName","pathNode":{"id":19322,"name":"IGalaxyMember","nameLocations":["48892:13:48"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"48892:13:48"},"referencedDeclaration":65196,"src":"48892:13:48","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"48886:39:48"},"returnParameters":{"id":19329,"nodeType":"ParameterList","parameters":[],"src":"48988:0:48"},"scope":19538,"src":"48862:201:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[27021],"body":{"id":19353,"nodeType":"Block","src":"49312:77:48","statements":[{"expression":{"arguments":[{"id":19350,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19341,"src":"49367:16:48","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"expression":{"id":19347,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"49318:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49342:24:48","memberName":"setGrantsManagerContract","nodeType":"MemberAccess","referencedDeclaration":20355,"src":"49318:48:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IGrantsManager_$65639_$returns$__$","typeString":"function (contract IGrantsManager)"}},"id":19351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49318:66:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19352,"nodeType":"ExpressionStatement","src":"49318:66:48"}]},"documentation":{"id":19338,"nodeType":"StructuredDocumentation","src":"49067:113:48","text":" @notice Set the GrantsManager contract\n @param newGrantsManager The new GrantsManager contract"},"functionSelector":"d53c74c1","id":19354,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19344,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17581,"src":"49280:30:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19345,"kind":"modifierInvocation","modifierName":{"id":19343,"name":"onlyRoleOrGovernance","nameLocations":["49259:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"49259:20:48"},"nodeType":"ModifierInvocation","src":"49259:52:48"}],"name":"setGrantsManager","nameLocation":"49192:16:48","nodeType":"FunctionDefinition","parameters":{"id":19342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19341,"mutability":"mutable","name":"newGrantsManager","nameLocation":"49229:16:48","nodeType":"VariableDeclaration","scope":19354,"src":"49214:31:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":19340,"nodeType":"UserDefinedTypeName","pathNode":{"id":19339,"name":"IGrantsManager","nameLocations":["49214:14:48"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"49214:14:48"},"referencedDeclaration":65639,"src":"49214:14:48","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"49208:41:48"},"returnParameters":{"id":19346,"nodeType":"ParameterList","parameters":[],"src":"49312:0:48"},"scope":19538,"src":"49183:206:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[27053],"body":{"id":19373,"nodeType":"Block","src":"49861:99:48","statements":[{"expression":{"arguments":[{"id":19369,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19358,"src":"49924:17:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"id":19370,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19360,"src":"49943:11:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19366,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"49867:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":19368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49891:32:48","memberName":"setRequiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":20673,"src":"49867:56:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256)"}},"id":19371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49867:88:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19372,"nodeType":"ExpressionStatement","src":"49867:88:48"}]},"documentation":{"id":19355,"nodeType":"StructuredDocumentation","src":"49393:291:48","text":" @notice Set the GM weight for a proposal type\n @param proposalTypeValue The type of the proposal\n @param newGMWeight The new GM weight for the proposal type\n @notice e.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal"},"functionSelector":"406ced84","id":19374,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19363,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"49841:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19364,"kind":"modifierInvocation","modifierName":{"id":19362,"name":"onlyRoleOrGovernance","nameLocations":["49820:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"49820:20:48"},"nodeType":"ModifierInvocation","src":"49820:40:48"}],"name":"setRequiredGMLevelByProposalType","nameLocation":"49696:32:48","nodeType":"FunctionDefinition","parameters":{"id":19361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19358,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"49764:17:48","nodeType":"VariableDeclaration","scope":19374,"src":"49734:47:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":19357,"nodeType":"UserDefinedTypeName","pathNode":{"id":19356,"name":"GovernorTypesV10.ProposalType","nameLocations":["49734:16:48","49751:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"49734:29:48"},"referencedDeclaration":25017,"src":"49734:29:48","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":19360,"mutability":"mutable","name":"newGMWeight","nameLocation":"49795:11:48","nodeType":"VariableDeclaration","scope":19374,"src":"49787:19:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19359,"name":"uint256","nodeType":"ElementaryTypeName","src":"49787:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49728:82:48"},"returnParameters":{"id":19365,"nodeType":"ParameterList","parameters":[],"src":"49861:0:48"},"scope":19538,"src":"49687:273:48","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[27072],"body":{"id":19390,"nodeType":"Block","src":"50277:83:48","statements":[{"expression":{"arguments":[{"id":19386,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19377,"src":"50336:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19387,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19379,"src":"50345:9:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19384,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"50290:23:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":19385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50314:21:48","memberName":"getDepositVotingPower","nodeType":"MemberAccess","referencedDeclaration":21224,"src":"50290:45:48","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":19388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50290:65:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":19383,"id":19389,"nodeType":"Return","src":"50283:72:48"}]},"documentation":{"id":19375,"nodeType":"StructuredDocumentation","src":"49964:213:48","text":" @notice Get the deposit voting power for a given account at a given timepoint\n @param account The address of the account\n @param timepoint The timepoint\n @return The deposit voting power"},"functionSelector":"a56b5765","id":19391,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"50189:21:48","nodeType":"FunctionDefinition","parameters":{"id":19380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19377,"mutability":"mutable","name":"account","nameLocation":"50219:7:48","nodeType":"VariableDeclaration","scope":19391,"src":"50211:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19376,"name":"address","nodeType":"ElementaryTypeName","src":"50211:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19379,"mutability":"mutable","name":"timepoint","nameLocation":"50236:9:48","nodeType":"VariableDeclaration","scope":19391,"src":"50228:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19378,"name":"uint256","nodeType":"ElementaryTypeName","src":"50228:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50210:36:48"},"returnParameters":{"id":19383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19391,"src":"50268:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19381,"name":"uint256","nodeType":"ElementaryTypeName","src":"50268:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50267:9:48"},"scope":19538,"src":"50180:180:48","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[1868],"body":{"id":19401,"nodeType":"Block","src":"50670:2:48","statements":[]},"documentation":{"id":19392,"nodeType":"StructuredDocumentation","src":"50421:133:48","text":" @notice Authorizes upgrade to a new implementation\n @param newImplementation The address of the new implementation"},"id":19402,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":19398,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"50650:18:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":19399,"kind":"modifierInvocation","modifierName":{"id":19397,"name":"onlyRoleOrGovernance","nameLocations":["50629:20:48"],"nodeType":"IdentifierPath","referencedDeclaration":17709,"src":"50629:20:48"},"nodeType":"ModifierInvocation","src":"50629:40:48"}],"name":"_authorizeUpgrade","nameLocation":"50566:17:48","nodeType":"FunctionDefinition","overrides":{"id":19396,"nodeType":"OverrideSpecifier","overrides":[],"src":"50620:8:48"},"parameters":{"id":19395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19394,"mutability":"mutable","name":"newImplementation","nameLocation":"50592:17:48","nodeType":"VariableDeclaration","scope":19402,"src":"50584:25:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19393,"name":"address","nodeType":"ElementaryTypeName","src":"50584:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50583:27:48"},"returnParameters":{"id":19400,"nodeType":"ParameterList","parameters":[],"src":"50670:0:48"},"scope":19538,"src":"50557:115:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[91,5960],"body":{"id":19434,"nodeType":"Block","src":"51000:182:48","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":19432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":19425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":19418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19413,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19405,"src":"51019:11:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":19415,"name":"IB3TRGovernorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27080,"src":"51039:16:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernorV10_$27080_$","typeString":"type(contract IB3TRGovernorV10)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernorV10_$27080_$","typeString":"type(contract IB3TRGovernorV10)"}],"id":19414,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"51034:4:48","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":19416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51034:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IB3TRGovernorV10_$27080","typeString":"type(contract IB3TRGovernorV10)"}},"id":19417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51057:11:48","memberName":"interfaceId","nodeType":"MemberAccess","src":"51034:34:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"51019:49:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":19424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19419,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19405,"src":"51078:11:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":19421,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5058,"src":"51098:16:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$5058_$","typeString":"type(contract IERC1155Receiver)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$5058_$","typeString":"type(contract IERC1155Receiver)"}],"id":19420,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"51093:4:48","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":19422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51093:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC1155Receiver_$5058","typeString":"type(contract IERC1155Receiver)"}},"id":19423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51116:11:48","memberName":"interfaceId","nodeType":"MemberAccess","src":"51093:34:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"51078:49:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"51019:108:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":19431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19426,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19405,"src":"51137:11:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":19428,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"51157:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$5961_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$5961_$","typeString":"type(contract IERC165)"}],"id":19427,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"51152:4:48","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":19429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51152:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$5961","typeString":"type(contract IERC165)"}},"id":19430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51166:11:48","memberName":"interfaceId","nodeType":"MemberAccess","src":"51152:25:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"51137:40:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"51019:158:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":19412,"id":19433,"nodeType":"Return","src":"51006:171:48"}]},"documentation":{"id":19403,"nodeType":"StructuredDocumentation","src":"50676:195:48","text":" @notice Checks if the contract supports a specific interface\n @param interfaceId The interface id to check\n @return bool True if the interface is supported, false otherwise"},"functionSelector":"01ffc9a7","id":19435,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"50883:17:48","nodeType":"FunctionDefinition","overrides":{"id":19409,"nodeType":"OverrideSpecifier","overrides":[{"id":19407,"name":"IERC165","nameLocations":["50950:7:48"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"50950:7:48"},{"id":19408,"name":"AccessControlUpgradeable","nameLocations":["50959:24:48"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"50959:24:48"}],"src":"50941:43:48"},"parameters":{"id":19406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19405,"mutability":"mutable","name":"interfaceId","nameLocation":"50913:11:48","nodeType":"VariableDeclaration","scope":19435,"src":"50906:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":19404,"name":"bytes4","nodeType":"ElementaryTypeName","src":"50906:6:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"50900:28:48"},"returnParameters":{"id":19412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19435,"src":"50994:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19410,"name":"bool","nodeType":"ElementaryTypeName","src":"50994:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50993:6:48"},"scope":19538,"src":"50874:308:48","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":19468,"nodeType":"Block","src":"51540:161:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19451,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"51550:26:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":19452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51577:8:48","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":21512,"src":"51550:35:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51550:37:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":19456,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"51599:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}],"id":19455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"51591:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19454,"name":"address","nodeType":"ElementaryTypeName","src":"51591:7:48","typeDescriptions":{}}},"id":19457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51591:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"51550:54:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19463,"nodeType":"IfStatement","src":"51546:107:48","trueBody":{"id":19462,"nodeType":"Block","src":"51606:47:48","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":19459,"name":"GovernorDisabledDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26252,"src":"51621:23:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":19460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51621:25:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19461,"nodeType":"RevertStatement","src":"51614:32:48"}]}},{"expression":{"expression":{"expression":{"id":19464,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"51665:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}},"id":19465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51670:17:48","memberName":"onERC1155Received","nodeType":"MemberAccess","referencedDeclaration":19469,"src":"51665:22:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"}},"id":19466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51688:8:48","memberName":"selector","nodeType":"MemberAccess","src":"51665:31:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":19450,"id":19467,"nodeType":"Return","src":"51658:38:48"}]},"documentation":{"id":19436,"nodeType":"StructuredDocumentation","src":"51186:242:48","text":" @notice See {IERC1155Receiver-onERC1155Received}.\n Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n @return bytes4 The selector of the function"},"functionSelector":"f23a6e61","id":19469,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155Received","nameLocation":"51440:17:48","nodeType":"FunctionDefinition","parameters":{"id":19447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19469,"src":"51458:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19437,"name":"address","nodeType":"ElementaryTypeName","src":"51458:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19469,"src":"51467:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19439,"name":"address","nodeType":"ElementaryTypeName","src":"51467:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19442,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19469,"src":"51476:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19441,"name":"uint256","nodeType":"ElementaryTypeName","src":"51476:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19444,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19469,"src":"51485:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19443,"name":"uint256","nodeType":"ElementaryTypeName","src":"51485:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19469,"src":"51494:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19445,"name":"bytes","nodeType":"ElementaryTypeName","src":"51494:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"51457:50:48"},"returnParameters":{"id":19450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19449,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19469,"src":"51532:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":19448,"name":"bytes4","nodeType":"ElementaryTypeName","src":"51532:6:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"51531:8:48"},"scope":19538,"src":"51431:270:48","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":19500,"nodeType":"Block","src":"52047:160:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19483,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"52057:26:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":19484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52084:8:48","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":21512,"src":"52057:35:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52057:37:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":19488,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"52106:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}],"id":19487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52098:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19486,"name":"address","nodeType":"ElementaryTypeName","src":"52098:7:48","typeDescriptions":{}}},"id":19489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52098:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52057:54:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19495,"nodeType":"IfStatement","src":"52053:107:48","trueBody":{"id":19494,"nodeType":"Block","src":"52113:47:48","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":19491,"name":"GovernorDisabledDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26252,"src":"52128:23:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":19492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52128:25:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19493,"nodeType":"RevertStatement","src":"52121:32:48"}]}},{"expression":{"expression":{"expression":{"id":19496,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"52172:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}},"id":19497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52177:16:48","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":19501,"src":"52172:21:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":19498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52194:8:48","memberName":"selector","nodeType":"MemberAccess","src":"52172:30:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":19482,"id":19499,"nodeType":"Return","src":"52165:37:48"}]},"documentation":{"id":19470,"nodeType":"StructuredDocumentation","src":"51705:240:48","text":" @notice See {IERC721Receiver-onERC721Received}.\n Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n @return bytes4 The selector of the function"},"functionSelector":"150b7a02","id":19501,"implemented":true,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"51957:16:48","nodeType":"FunctionDefinition","parameters":{"id":19479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19501,"src":"51974:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19471,"name":"address","nodeType":"ElementaryTypeName","src":"51974:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19501,"src":"51983:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19473,"name":"address","nodeType":"ElementaryTypeName","src":"51983:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19501,"src":"51992:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19475,"name":"uint256","nodeType":"ElementaryTypeName","src":"51992:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19478,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19501,"src":"52001:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19477,"name":"bytes","nodeType":"ElementaryTypeName","src":"52001:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"51973:41:48"},"returnParameters":{"id":19482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19501,"src":"52039:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":19480,"name":"bytes4","nodeType":"ElementaryTypeName","src":"52039:6:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"52038:8:48"},"scope":19538,"src":"51948:259:48","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":19536,"nodeType":"Block","src":"52617:166:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19519,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"52627:26:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":19520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52654:8:48","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":21512,"src":"52627:35:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52627:37:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":19524,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"52676:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}],"id":19523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52668:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19522,"name":"address","nodeType":"ElementaryTypeName","src":"52668:7:48","typeDescriptions":{}}},"id":19525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52668:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52627:54:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19531,"nodeType":"IfStatement","src":"52623:107:48","trueBody":{"id":19530,"nodeType":"Block","src":"52683:47:48","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":19527,"name":"GovernorDisabledDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26252,"src":"52698:23:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":19528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52698:25:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19529,"nodeType":"RevertStatement","src":"52691:32:48"}]}},{"expression":{"expression":{"expression":{"id":19532,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"52742:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernorV10_$19538","typeString":"contract B3TRGovernorV10"}},"id":19533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52747:22:48","memberName":"onERC1155BatchReceived","nodeType":"MemberAccess","referencedDeclaration":19537,"src":"52742:27:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"}},"id":19534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52770:8:48","memberName":"selector","nodeType":"MemberAccess","src":"52742:36:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":19518,"id":19535,"nodeType":"Return","src":"52735:43:48"}]},"documentation":{"id":19502,"nodeType":"StructuredDocumentation","src":"52211:247:48","text":" @notice See {IERC1155Receiver-onERC1155BatchReceived}.\n Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n @return bytes4 The selector of the function"},"functionSelector":"bc197c81","id":19537,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155BatchReceived","nameLocation":"52470:22:48","nodeType":"FunctionDefinition","parameters":{"id":19515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19537,"src":"52498:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19503,"name":"address","nodeType":"ElementaryTypeName","src":"52498:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19506,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19537,"src":"52511:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19505,"name":"address","nodeType":"ElementaryTypeName","src":"52511:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19509,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19537,"src":"52524:16:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":19507,"name":"uint256","nodeType":"ElementaryTypeName","src":"52524:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19508,"nodeType":"ArrayTypeName","src":"52524:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":19512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19537,"src":"52546:16:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":19510,"name":"uint256","nodeType":"ElementaryTypeName","src":"52546:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19511,"nodeType":"ArrayTypeName","src":"52546:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":19514,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19537,"src":"52568:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19513,"name":"bytes","nodeType":"ElementaryTypeName","src":"52568:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"52492:92:48"},"returnParameters":{"id":19518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19517,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19537,"src":"52609:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":19516,"name":"bytes4","nodeType":"ElementaryTypeName","src":"52609:6:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"52608:8:48"},"scope":19538,"src":"52461:322:48","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":19539,"src":"7719:45066:48","usedErrors":[1495,1498,1759,1764,4026,4029,4342,4345,4738,4751,5344,5347,10453,19720,21472,26244,26249,26252,26257,26264,26269,26274,26279,26286,26293,26300,26310,26315,26324,26329,26332,26335,26340,26345,26350,26357,26360,26365,26370,26375,26383,26388,26393,26398,26405],"usedEvents":[1503,4018,4023,4354,4363,4372,4717,19760,26430,26437,26442,26447,26456,26463,26470,26479,26494,26499,26508,26515,26523,26533,26543,26553,26563,26570,26579,26584,26589,26594,26603]}],"src":"1194:51592:48"},"id":48},"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol","exportedSymbols":{"GovernorClockLogicV10":[19614],"GovernorStorageTypesV10":[24892],"IVOT3":[67719],"Time":[11669]},"id":19615,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":19540,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:49"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./GovernorStorageTypesV10.sol","id":19542,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19615,"sourceUnit":24893,"src":"1220:72:49","symbolAliases":[{"foreign":{"id":19541,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1229:23:49","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../../../../interfaces/IVOT3.sol","id":19544,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19615,"sourceUnit":67720,"src":"1293:57:49","symbolAliases":[{"foreign":{"id":19543,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"1302:5:49","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":19546,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":19615,"sourceUnit":11670,"src":"1351:68:49","symbolAliases":[{"foreign":{"id":19545,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"1360:4:49","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorClockLogicV10","contractDependencies":[],"contractKind":"library","documentation":{"id":19547,"nodeType":"StructuredDocumentation","src":"1421:236:49","text":"@title GovernorClockLogicV10 Library\n @notice Library for managing the clock logic as specified in EIP-6372, with fallback to block numbers.\n @dev This library interacts with the IVOT3 interface to get the clock time or mode."},"fullyImplemented":true,"id":19614,"linearizedBaseContracts":[19614],"name":"GovernorClockLogicV10","nameLocation":"1665:21:49","nodeType":"ContractDefinition","nodes":[{"body":{"id":19580,"nodeType":"Block","src":"2061:236:49","statements":[{"assignments":[19557],"declarations":[{"constant":false,"id":19557,"mutability":"mutable","name":"$","nameLocation":"2115:1:49","nodeType":"VariableDeclaration","scope":19580,"src":"2067:49:49","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":19556,"nodeType":"UserDefinedTypeName","pathNode":{"id":19555,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["2067:23:49","2091:15:49"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"2067:39:49"},"referencedDeclaration":24891,"src":"2067:39:49","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":19561,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19558,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"2119:23:49","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":19559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2143:18:49","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"2119:42:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":19560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2119:44:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2067:96:49"},{"clauses":[{"block":{"id":19571,"nodeType":"Block","src":"2215:31:49","statements":[{"expression":{"id":19569,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19567,"src":"2230:9:49","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":19552,"id":19570,"nodeType":"Return","src":"2223:16:49"}]},"errorName":"","id":19572,"nodeType":"TryCatchClause","parameters":{"id":19568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19567,"mutability":"mutable","name":"timepoint","nameLocation":"2204:9:49","nodeType":"VariableDeclaration","scope":19572,"src":"2197:16:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":19566,"name":"uint48","nodeType":"ElementaryTypeName","src":"2197:6:49","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2196:18:49"},"src":"2188:58:49"},{"block":{"id":19577,"nodeType":"Block","src":"2253:40:49","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19573,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"2268:4:49","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":19574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2273:11:49","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"2268:16:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":19575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2268:18:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":19552,"id":19576,"nodeType":"Return","src":"2261:25:49"}]},"errorName":"","id":19578,"nodeType":"TryCatchClause","src":"2247:46:49"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":19562,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19557,"src":"2173:1:49","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19563,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2175:4:49","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"2173:6:49","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":19564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2180:5:49","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":67472,"src":"2173:12:49","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint48_$","typeString":"function () view external returns (uint48)"}},"id":19565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:14:49","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":19579,"nodeType":"TryStatement","src":"2169:124:49"}]},"documentation":{"id":19548,"nodeType":"StructuredDocumentation","src":"1691:319:49","text":" @notice Returns the current timepoint from the token's clock, falling back to the current block number if the token does not implement EIP-6372.\n @dev Tries to get the timepoint from the vot3 clock. If it fails, it returns the current block number.\n @return The current timepoint or block number."},"functionSelector":"91ddadf4","id":19581,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"2022:5:49","nodeType":"FunctionDefinition","parameters":{"id":19549,"nodeType":"ParameterList","parameters":[],"src":"2027:2:49"},"returnParameters":{"id":19552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19581,"src":"2053:6:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":19550,"name":"uint48","nodeType":"ElementaryTypeName","src":"2053:6:49","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2052:8:49"},"scope":19614,"src":"2013:284:49","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":19612,"nodeType":"Block","src":"2681:261:49","statements":[{"assignments":[19591],"declarations":[{"constant":false,"id":19591,"mutability":"mutable","name":"$","nameLocation":"2735:1:49","nodeType":"VariableDeclaration","scope":19612,"src":"2687:49:49","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":19590,"nodeType":"UserDefinedTypeName","pathNode":{"id":19589,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["2687:23:49","2711:15:49"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"2687:39:49"},"referencedDeclaration":24891,"src":"2687:39:49","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":19595,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19592,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"2739:23:49","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":19593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2763:18:49","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"2739:42:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":19594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2739:44:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2687:96:49"},{"clauses":[{"block":{"id":19605,"nodeType":"Block","src":"2847:31:49","statements":[{"expression":{"id":19603,"name":"clockmode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19601,"src":"2862:9:49","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":19586,"id":19604,"nodeType":"Return","src":"2855:16:49"}]},"errorName":"","id":19606,"nodeType":"TryCatchClause","parameters":{"id":19602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19601,"mutability":"mutable","name":"clockmode","nameLocation":"2836:9:49","nodeType":"VariableDeclaration","scope":19606,"src":"2822:23:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19600,"name":"string","nodeType":"ElementaryTypeName","src":"2822:6:49","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2821:25:49"},"src":"2813:65:49"},{"block":{"id":19609,"nodeType":"Block","src":"2885:53:49","statements":[{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":19607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2900:31:49","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":19586,"id":19608,"nodeType":"Return","src":"2893:38:49"}]},"errorName":"","id":19610,"nodeType":"TryCatchClause","src":"2879:59:49"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":19596,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19591,"src":"2793:1:49","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2795:4:49","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"2793:6:49","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":19598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2800:10:49","memberName":"CLOCK_MODE","nodeType":"MemberAccess","referencedDeclaration":67417,"src":"2793:17:49","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view external returns (string memory)"}},"id":19599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2793:19:49","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":19611,"nodeType":"TryStatement","src":"2789:149:49"}]},"documentation":{"id":19582,"nodeType":"StructuredDocumentation","src":"2301:266:49","text":" @notice Returns the machine-readable description of the clock mode as specified in EIP-6372.\n @dev Tries to get the clock mode from the vot3 interface. If it fails, it returns the default block number mode.\n @return The clock mode as a string."},"functionSelector":"4bf5d7e9","id":19613,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"2630:10:49","nodeType":"FunctionDefinition","parameters":{"id":19583,"nodeType":"ParameterList","parameters":[],"src":"2640:2:49"},"returnParameters":{"id":19586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19613,"src":"2666:13:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19584,"name":"string","nodeType":"ElementaryTypeName","src":"2666:6:49","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2665:15:49"},"scope":19614,"src":"2621:321:49","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":19615,"src":"1657:1287:49","usedErrors":[7025],"usedEvents":[]}],"src":"1195:1750:49"},"id":49},"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol","exportedSymbols":{"GovernorConfiguratorV10":[20674],"GovernorProposalLogicV10":[23874],"GovernorStorageTypesV10":[24892],"GovernorTypesV10":[25022],"IB3TR":[62888],"IGalaxyMember":[65196],"IGrantsManager":[65639],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"IVOT3":[67719],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"TimelockControllerUpgradeable":[1478]},"id":20675,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":19616,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:50"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./GovernorStorageTypesV10.sol","id":19618,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":24893,"src":"1220:72:50","symbolAliases":[{"foreign":{"id":19617,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1229:23:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../../../../interfaces/IVOT3.sol","id":19620,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":67720,"src":"1293:57:50","symbolAliases":[{"foreign":{"id":19619,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"1302:5:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../../interfaces/IVoterRewards.sol","id":19622,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":69093,"src":"1351:73:50","symbolAliases":[{"foreign":{"id":19621,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1360:13:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../../../interfaces/IXAllocationVotingGovernor.sol","id":19624,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":71125,"src":"1425:99:50","symbolAliases":[{"foreign":{"id":19623,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1434:26:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","id":19626,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":1479,"src":"1525:129:50","symbolAliases":[{"foreign":{"id":19625,"name":"TimelockControllerUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1478,"src":"1534:29:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../../../interfaces/IB3TR.sol","id":19628,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":62889,"src":"1655:57:50","symbolAliases":[{"foreign":{"id":19627,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"1664:5:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../../../interfaces/IVeBetterPassport.sol","id":19630,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":68602,"src":"1713:81:50","symbolAliases":[{"foreign":{"id":19629,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"1722:17:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","file":"./GovernorProposalLogicV10.sol","id":19632,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":23875,"src":"1795:74:50","symbolAliases":[{"foreign":{"id":19631,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"1804:24:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","file":"./GovernorTypesV10.sol","id":19634,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":25023,"src":"1870:58:50","symbolAliases":[{"foreign":{"id":19633,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"1879:16:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../../../../interfaces/IGalaxyMember.sol","id":19636,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":65197,"src":"1929:73:50","symbolAliases":[{"foreign":{"id":19635,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"1938:13:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../../../interfaces/IGrantsManager.sol","id":19638,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":65640,"src":"2003:75:50","symbolAliases":[{"foreign":{"id":19637,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"2012:14:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../../../../interfaces/INavigatorRegistry.sol","id":19640,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":66639,"src":"2079:83:50","symbolAliases":[{"foreign":{"id":19639,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"2088:18:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../../../interfaces/IRelayerRewardsPool.sol","id":19642,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":20675,"sourceUnit":67118,"src":"2163:85:50","symbolAliases":[{"foreign":{"id":19641,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"2172:19:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorConfiguratorV10","contractDependencies":[],"contractKind":"library","documentation":{"id":19643,"nodeType":"StructuredDocumentation","src":"2250:252:50","text":"@title GovernorConfiguratorV10 Library\n @notice Library for managing the configuration of a Governor contract.\n @dev This library provides functions to set and get various configuration parameters and contracts used by the Governor contract."},"fullyImplemented":true,"id":20674,"linearizedBaseContracts":[20674],"name":"GovernorConfiguratorV10","nameLocation":"2510:23:50","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":19644,"nodeType":"StructuredDocumentation","src":"2538:51:50","text":"@dev Emitted when the `votingThreshold` is set."},"eventSelector":"a5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05","id":19650,"name":"VotingThresholdSet","nameLocation":"2598:18:50","nodeType":"EventDefinition","parameters":{"id":19649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19646,"indexed":false,"mutability":"mutable","name":"oldVotingThreshold","nameLocation":"2625:18:50","nodeType":"VariableDeclaration","scope":19650,"src":"2617:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19645,"name":"uint256","nodeType":"ElementaryTypeName","src":"2617:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19648,"indexed":false,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"2653:18:50","nodeType":"VariableDeclaration","scope":19650,"src":"2645:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19647,"name":"uint256","nodeType":"ElementaryTypeName","src":"2645:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2616:56:50"},"src":"2592:81:50"},{"anonymous":false,"documentation":{"id":19651,"nodeType":"StructuredDocumentation","src":"2677:66:50","text":"@dev Emitted when the minimum delay before vote starts is set."},"eventSelector":"d5fa2027382834080d1e011cda04312db2805a2069bb13475f4376e8d7c64668","id":19657,"name":"MinVotingDelaySet","nameLocation":"2752:17:50","nodeType":"EventDefinition","parameters":{"id":19656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19653,"indexed":false,"mutability":"mutable","name":"oldMinMinVotingDelay","nameLocation":"2778:20:50","nodeType":"VariableDeclaration","scope":19657,"src":"2770:28:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19652,"name":"uint256","nodeType":"ElementaryTypeName","src":"2770:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19655,"indexed":false,"mutability":"mutable","name":"newMinVotingDelay","nameLocation":"2808:17:50","nodeType":"VariableDeclaration","scope":19657,"src":"2800:25:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19654,"name":"uint256","nodeType":"ElementaryTypeName","src":"2800:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2769:57:50"},"src":"2746:81:50"},{"anonymous":false,"documentation":{"id":19658,"nodeType":"StructuredDocumentation","src":"2831:62:50","text":"@dev Emitted when the deposit threshold percentage is set."},"eventSelector":"4adda057a4d6f602c2963e19f830c187c77643eed431c07706d9dd8209ef5426","id":19664,"name":"DepositThresholdSet","nameLocation":"2902:19:50","nodeType":"EventDefinition","parameters":{"id":19663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19660,"indexed":false,"mutability":"mutable","name":"oldDepositThreshold","nameLocation":"2930:19:50","nodeType":"VariableDeclaration","scope":19664,"src":"2922:27:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19659,"name":"uint256","nodeType":"ElementaryTypeName","src":"2922:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19662,"indexed":false,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"2959:19:50","nodeType":"VariableDeclaration","scope":19664,"src":"2951:27:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19661,"name":"uint256","nodeType":"ElementaryTypeName","src":"2951:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2921:58:50"},"src":"2896:84:50"},{"anonymous":false,"documentation":{"id":19665,"nodeType":"StructuredDocumentation","src":"2984:56:50","text":"@dev Emitted when the voter rewards contract is set."},"eventSelector":"285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c4","id":19671,"name":"VoterRewardsSet","nameLocation":"3049:15:50","nodeType":"EventDefinition","parameters":{"id":19670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19667,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3073:18:50","nodeType":"VariableDeclaration","scope":19671,"src":"3065:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19666,"name":"address","nodeType":"ElementaryTypeName","src":"3065:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19669,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3101:18:50","nodeType":"VariableDeclaration","scope":19671,"src":"3093:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19668,"name":"address","nodeType":"ElementaryTypeName","src":"3093:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3064:56:50"},"src":"3043:78:50"},{"anonymous":false,"documentation":{"id":19672,"nodeType":"StructuredDocumentation","src":"3125:68:50","text":"@dev Emitted when the XAllocationVotingGovernor contract is set."},"eventSelector":"71004d26dc692e8d5005fb307953a5ce05000120035aa3f83615abc6c6fbba2e","id":19678,"name":"XAllocationVotingSet","nameLocation":"3202:20:50","nodeType":"EventDefinition","parameters":{"id":19677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19674,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3231:18:50","nodeType":"VariableDeclaration","scope":19678,"src":"3223:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19673,"name":"address","nodeType":"ElementaryTypeName","src":"3223:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19676,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3259:18:50","nodeType":"VariableDeclaration","scope":19678,"src":"3251:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19675,"name":"address","nodeType":"ElementaryTypeName","src":"3251:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3222:56:50"},"src":"3196:83:50"},{"anonymous":false,"documentation":{"id":19679,"nodeType":"StructuredDocumentation","src":"3283:86:50","text":"@dev Emitted when the timelock controller used for proposal execution is modified."},"eventSelector":"08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401","id":19685,"name":"TimelockChange","nameLocation":"3378:14:50","nodeType":"EventDefinition","parameters":{"id":19684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19681,"indexed":false,"mutability":"mutable","name":"oldTimelock","nameLocation":"3401:11:50","nodeType":"VariableDeclaration","scope":19685,"src":"3393:19:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19680,"name":"address","nodeType":"ElementaryTypeName","src":"3393:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19683,"indexed":false,"mutability":"mutable","name":"newTimelock","nameLocation":"3422:11:50","nodeType":"VariableDeclaration","scope":19685,"src":"3414:19:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19682,"name":"address","nodeType":"ElementaryTypeName","src":"3414:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3392:42:50"},"src":"3372:63:50"},{"anonymous":false,"documentation":{"id":19686,"nodeType":"StructuredDocumentation","src":"3439:59:50","text":"@dev Emitted when the VeBetterPassport contract is set."},"eventSelector":"1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160","id":19692,"name":"VeBetterPassportSet","nameLocation":"3507:19:50","nodeType":"EventDefinition","parameters":{"id":19691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19688,"indexed":false,"mutability":"mutable","name":"oldVeBetterPassport","nameLocation":"3535:19:50","nodeType":"VariableDeclaration","scope":19692,"src":"3527:27:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19687,"name":"address","nodeType":"ElementaryTypeName","src":"3527:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19690,"indexed":false,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"3564:19:50","nodeType":"VariableDeclaration","scope":19692,"src":"3556:27:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19689,"name":"address","nodeType":"ElementaryTypeName","src":"3556:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3526:58:50"},"src":"3501:84:50"},{"anonymous":false,"eventSelector":"072ec7147cbb6a8d38bd6caa7fdf26b9987bb2ec536bbc5288c4a4c335c58c80","id":19698,"name":"NavigatorRegistrySet","nameLocation":"3594:20:50","nodeType":"EventDefinition","parameters":{"id":19697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19694,"indexed":false,"mutability":"mutable","name":"oldNavigatorRegistry","nameLocation":"3623:20:50","nodeType":"VariableDeclaration","scope":19698,"src":"3615:28:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19693,"name":"address","nodeType":"ElementaryTypeName","src":"3615:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19696,"indexed":false,"mutability":"mutable","name":"newNavigatorRegistry","nameLocation":"3653:20:50","nodeType":"VariableDeclaration","scope":19698,"src":"3645:28:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19695,"name":"address","nodeType":"ElementaryTypeName","src":"3645:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3614:60:50"},"src":"3588:87:50"},{"anonymous":false,"eventSelector":"1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e","id":19704,"name":"RelayerRewardsPoolSet","nameLocation":"3684:21:50","nodeType":"EventDefinition","parameters":{"id":19703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19700,"indexed":false,"mutability":"mutable","name":"oldRelayerRewardsPool","nameLocation":"3714:21:50","nodeType":"VariableDeclaration","scope":19704,"src":"3706:29:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19699,"name":"address","nodeType":"ElementaryTypeName","src":"3706:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19702,"indexed":false,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"3745:21:50","nodeType":"VariableDeclaration","scope":19704,"src":"3737:29:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19701,"name":"address","nodeType":"ElementaryTypeName","src":"3737:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3705:62:50"},"src":"3678:90:50"},{"anonymous":false,"eventSelector":"b04bf299a74179f455d40e5f5f5c3192123bf6a22ca8e4698e79aa526a6f07a3","id":19710,"name":"GovernanceSkipWindowBlocksSet","nameLocation":"3777:29:50","nodeType":"EventDefinition","parameters":{"id":19709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19706,"indexed":false,"mutability":"mutable","name":"oldValue","nameLocation":"3815:8:50","nodeType":"VariableDeclaration","scope":19710,"src":"3807:16:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19705,"name":"uint256","nodeType":"ElementaryTypeName","src":"3807:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19708,"indexed":false,"mutability":"mutable","name":"newValue","nameLocation":"3833:8:50","nodeType":"VariableDeclaration","scope":19710,"src":"3825:16:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19707,"name":"uint256","nodeType":"ElementaryTypeName","src":"3825:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3806:36:50"},"src":"3771:72:50"},{"documentation":{"id":19711,"nodeType":"StructuredDocumentation","src":"3847:85:50","text":"@dev The deposit threshold is not in the valid range for a percentage - 0 to 100."},"errorSelector":"3e09bbca","id":19715,"name":"GovernorDepositThresholdNotInRange","nameLocation":"3941:34:50","nodeType":"ErrorDefinition","parameters":{"id":19714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19713,"mutability":"mutable","name":"depositThreshold","nameLocation":"3984:16:50","nodeType":"VariableDeclaration","scope":19715,"src":"3976:24:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19712,"name":"uint256","nodeType":"ElementaryTypeName","src":"3976:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3975:26:50"},"src":"3935:67:50"},{"documentation":{"id":19716,"nodeType":"StructuredDocumentation","src":"4006:65:50","text":"@dev The GM level is not in the valid range - 0 to max level."},"errorSelector":"ef00c8fe","id":19720,"name":"GMLevelAboveMaxLevel","nameLocation":"4080:20:50","nodeType":"ErrorDefinition","parameters":{"id":19719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19718,"mutability":"mutable","name":"gmLevel","nameLocation":"4109:7:50","nodeType":"VariableDeclaration","scope":19720,"src":"4101:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19717,"name":"uint256","nodeType":"ElementaryTypeName","src":"4101:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4100:17:50"},"src":"4074:44:50"},{"anonymous":false,"documentation":{"id":19721,"nodeType":"StructuredDocumentation","src":"4122:71:50","text":"@dev Emitted when the `votingThreshold` for a proposal type is set."},"eventSelector":"1e44e875a8ec5300a305e63ca083de2b0e62e333df633bde0e680a9ff64e3c21","id":19730,"name":"VotingThresholdSetV2","nameLocation":"4202:20:50","nodeType":"EventDefinition","parameters":{"id":19729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19724,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"4258:12:50","nodeType":"VariableDeclaration","scope":19730,"src":"4228:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":19723,"nodeType":"UserDefinedTypeName","pathNode":{"id":19722,"name":"GovernorTypesV10.ProposalType","nameLocations":["4228:16:50","4245:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"4228:29:50"},"referencedDeclaration":25017,"src":"4228:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":19726,"indexed":false,"mutability":"mutable","name":"oldVotingThreshold","nameLocation":"4284:18:50","nodeType":"VariableDeclaration","scope":19730,"src":"4276:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19725,"name":"uint256","nodeType":"ElementaryTypeName","src":"4276:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19728,"indexed":false,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"4316:18:50","nodeType":"VariableDeclaration","scope":19730,"src":"4308:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19727,"name":"uint256","nodeType":"ElementaryTypeName","src":"4308:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4222:116:50"},"src":"4196:143:50"},{"anonymous":false,"documentation":{"id":19731,"nodeType":"StructuredDocumentation","src":"4343:82:50","text":"@dev Emitted when the deposit threshold percentage for a proposal type is set."},"eventSelector":"d7f4fd38ed535300fc72a5de4a35264cf0638081fc06ba63a6c1025b9993b0f3","id":19740,"name":"DepositThresholdSetV2","nameLocation":"4434:21:50","nodeType":"EventDefinition","parameters":{"id":19739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19734,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"4491:12:50","nodeType":"VariableDeclaration","scope":19740,"src":"4461:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":19733,"nodeType":"UserDefinedTypeName","pathNode":{"id":19732,"name":"GovernorTypesV10.ProposalType","nameLocations":["4461:16:50","4478:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"4461:29:50"},"referencedDeclaration":25017,"src":"4461:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":19736,"indexed":false,"mutability":"mutable","name":"oldDepositThreshold","nameLocation":"4517:19:50","nodeType":"VariableDeclaration","scope":19740,"src":"4509:27:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19735,"name":"uint256","nodeType":"ElementaryTypeName","src":"4509:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19738,"indexed":false,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"4550:19:50","nodeType":"VariableDeclaration","scope":19740,"src":"4542:27:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19737,"name":"uint256","nodeType":"ElementaryTypeName","src":"4542:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4455:118:50"},"src":"4428:146:50"},{"anonymous":false,"documentation":{"id":19741,"nodeType":"StructuredDocumentation","src":"4577:75:50","text":"@dev Emitted when the deposit threshold cap for a proposal type is set."},"eventSelector":"bab71752ceaca29a72caf93b1099d9bfcf0e836a02c01a567d4e7365ae2242c2","id":19750,"name":"DepositThresholdCapSet","nameLocation":"4661:22:50","nodeType":"EventDefinition","parameters":{"id":19749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19744,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"4719:12:50","nodeType":"VariableDeclaration","scope":19750,"src":"4689:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":19743,"nodeType":"UserDefinedTypeName","pathNode":{"id":19742,"name":"GovernorTypesV10.ProposalType","nameLocations":["4689:16:50","4706:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"4689:29:50"},"referencedDeclaration":25017,"src":"4689:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":19746,"indexed":false,"mutability":"mutable","name":"oldDepositThresholdCap","nameLocation":"4745:22:50","nodeType":"VariableDeclaration","scope":19750,"src":"4737:30:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19745,"name":"uint256","nodeType":"ElementaryTypeName","src":"4737:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19748,"indexed":false,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"4781:22:50","nodeType":"VariableDeclaration","scope":19750,"src":"4773:30:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19747,"name":"uint256","nodeType":"ElementaryTypeName","src":"4773:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4683:124:50"},"src":"4655:153:50"},{"anonymous":false,"documentation":{"id":19751,"nodeType":"StructuredDocumentation","src":"4812:71:50","text":"@dev Emitted when the required GM level for a proposal type is set."},"eventSelector":"b1b75318956f66fa2b8b148bc3b2520c6e22133a50ac6069d38f97ed462b487a","id":19760,"name":"RequiredGMLevelSet","nameLocation":"4892:18:50","nodeType":"EventDefinition","parameters":{"id":19759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19754,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"4946:12:50","nodeType":"VariableDeclaration","scope":19760,"src":"4916:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":19753,"nodeType":"UserDefinedTypeName","pathNode":{"id":19752,"name":"GovernorTypesV10.ProposalType","nameLocations":["4916:16:50","4933:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"4916:29:50"},"referencedDeclaration":25017,"src":"4916:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":19756,"indexed":false,"mutability":"mutable","name":"oldRequiredGMLevel","nameLocation":"4972:18:50","nodeType":"VariableDeclaration","scope":19760,"src":"4964:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19755,"name":"uint256","nodeType":"ElementaryTypeName","src":"4964:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19758,"indexed":false,"mutability":"mutable","name":"newRequiredGMLevel","nameLocation":"5004:18:50","nodeType":"VariableDeclaration","scope":19760,"src":"4996:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19757,"name":"uint256","nodeType":"ElementaryTypeName","src":"4996:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4910:116:50"},"src":"4886:141:50"},{"body":{"id":19794,"nodeType":"Block","src":"5379:242:50","statements":[{"assignments":[19771],"declarations":[{"constant":false,"id":19771,"mutability":"mutable","name":"$","nameLocation":"5433:1:50","nodeType":"VariableDeclaration","scope":19794,"src":"5385:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":19770,"nodeType":"UserDefinedTypeName","pathNode":{"id":19769,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["5385:23:50","5409:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"5385:39:50"},"referencedDeclaration":24891,"src":"5385:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":19775,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19772,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"5437:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":19773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5461:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"5437:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":19774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5437:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5385:96:50"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":19779,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19771,"src":"5520:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5522:16:50","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":24830,"src":"5520:18:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":19778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5512:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19777,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:50","typeDescriptions":{}}},"id":19781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5512:27:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":19784,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19764,"src":"5549:19:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":19783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5541:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19782,"name":"address","nodeType":"ElementaryTypeName","src":"5541:7:50","typeDescriptions":{}}},"id":19785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5541:28:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":19776,"name":"VeBetterPassportSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19692,"src":"5492:19:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":19786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5492:78:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19787,"nodeType":"EmitStatement","src":"5487:83:50"},{"expression":{"id":19792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":19788,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19771,"src":"5576:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5578:16:50","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":24830,"src":"5576:18:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":19791,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19764,"src":"5597:19:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"src":"5576:40:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":19793,"nodeType":"ExpressionStatement","src":"5576:40:50"}]},"documentation":{"id":19761,"nodeType":"StructuredDocumentation","src":"5086:213:50","text":" @notice Sets the VeBetterPassport contract.\n @dev Sets a new VeBetterPassport contract and emits a {VeBetterPassportSet} event.\n @param newVeBetterPassport The new VeBetterPassport contract."},"functionSelector":"4784a113","id":19795,"implemented":true,"kind":"function","modifiers":[],"name":"setVeBetterPassport","nameLocation":"5311:19:50","nodeType":"FunctionDefinition","parameters":{"id":19765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19764,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"5349:19:50","nodeType":"VariableDeclaration","scope":19795,"src":"5331:37:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":19763,"nodeType":"UserDefinedTypeName","pathNode":{"id":19762,"name":"IVeBetterPassport","nameLocations":["5331:17:50"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"5331:17:50"},"referencedDeclaration":68601,"src":"5331:17:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"5330:39:50"},"returnParameters":{"id":19766,"nodeType":"ParameterList","parameters":[],"src":"5379:0:50"},"scope":20674,"src":"5302:319:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":19829,"nodeType":"Block","src":"5836:247:50","statements":[{"assignments":[19806],"declarations":[{"constant":false,"id":19806,"mutability":"mutable","name":"$","nameLocation":"5890:1:50","nodeType":"VariableDeclaration","scope":19829,"src":"5842:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":19805,"nodeType":"UserDefinedTypeName","pathNode":{"id":19804,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["5842:23:50","5866:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"5842:39:50"},"referencedDeclaration":24891,"src":"5842:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":19810,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19807,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"5894:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":19808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5918:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"5894:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":19809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5894:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5842:96:50"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":19814,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19806,"src":"5978:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19815,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5980:17:50","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"5978:19:50","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":19813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5970:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19812,"name":"address","nodeType":"ElementaryTypeName","src":"5970:7:50","typeDescriptions":{}}},"id":19816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5970:28:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":19819,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19799,"src":"6008:20:50","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":19818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6000:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19817,"name":"address","nodeType":"ElementaryTypeName","src":"6000:7:50","typeDescriptions":{}}},"id":19820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6000:29:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":19811,"name":"NavigatorRegistrySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19698,"src":"5949:20:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":19821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5949:81:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19822,"nodeType":"EmitStatement","src":"5944:86:50"},{"expression":{"id":19827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":19823,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19806,"src":"6036:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19825,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6038:17:50","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"6036:19:50","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":19826,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19799,"src":"6058:20:50","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"src":"6036:42:50","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":19828,"nodeType":"ExpressionStatement","src":"6036:42:50"}]},"documentation":{"id":19796,"nodeType":"StructuredDocumentation","src":"5625:128:50","text":" @notice Sets the NavigatorRegistry contract.\n @param newNavigatorRegistry The new NavigatorRegistry contract."},"functionSelector":"ce396b1f","id":19830,"implemented":true,"kind":"function","modifiers":[],"name":"setNavigatorRegistry","nameLocation":"5765:20:50","nodeType":"FunctionDefinition","parameters":{"id":19800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19799,"mutability":"mutable","name":"newNavigatorRegistry","nameLocation":"5805:20:50","nodeType":"VariableDeclaration","scope":19830,"src":"5786:39:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":19798,"nodeType":"UserDefinedTypeName","pathNode":{"id":19797,"name":"INavigatorRegistry","nameLocations":["5786:18:50"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"5786:18:50"},"referencedDeclaration":66638,"src":"5786:18:50","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"5785:41:50"},"returnParameters":{"id":19801,"nodeType":"ParameterList","parameters":[],"src":"5836:0:50"},"scope":20674,"src":"5756:327:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":19877,"nodeType":"Block","src":"6304:401:50","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":19840,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19834,"src":"6333:21:50","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":19839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6325:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19838,"name":"address","nodeType":"ElementaryTypeName","src":"6325:7:50","typeDescriptions":{}}},"id":19841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6325:30:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6367:1:50","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":19843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6359:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19842,"name":"address","nodeType":"ElementaryTypeName","src":"6359:7:50","typeDescriptions":{}}},"id":19845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6359:10:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6325:44:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a2072656c61796572207265776172647320706f6f6c20616464726573732063616e6e6f74206265207a65726f","id":19847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6377:70:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_7ec0aa00e37bc9d9cc5837e6d330719da08c63d05429f0d95ac7b9767bb62391","typeString":"literal_string \"GovernorConfiguratorV10: relayer rewards pool address cannot be zero\""},"value":"GovernorConfiguratorV10: relayer rewards pool address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7ec0aa00e37bc9d9cc5837e6d330719da08c63d05429f0d95ac7b9767bb62391","typeString":"literal_string \"GovernorConfiguratorV10: relayer rewards pool address cannot be zero\""}],"id":19837,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6310:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6310:143:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19849,"nodeType":"ExpressionStatement","src":"6310:143:50"},{"assignments":[19854],"declarations":[{"constant":false,"id":19854,"mutability":"mutable","name":"$","nameLocation":"6507:1:50","nodeType":"VariableDeclaration","scope":19877,"src":"6459:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":19853,"nodeType":"UserDefinedTypeName","pathNode":{"id":19852,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["6459:23:50","6483:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"6459:39:50"},"referencedDeclaration":24891,"src":"6459:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":19858,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19855,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"6511:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":19856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6535:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"6511:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":19857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6511:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6459:96:50"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":19862,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19854,"src":"6596:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19863,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6598:18:50","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"6596:20:50","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":19861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6588:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19860,"name":"address","nodeType":"ElementaryTypeName","src":"6588:7:50","typeDescriptions":{}}},"id":19864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6588:29:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":19867,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19834,"src":"6627:21:50","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":19866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6619:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19865,"name":"address","nodeType":"ElementaryTypeName","src":"6619:7:50","typeDescriptions":{}}},"id":19868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6619:30:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":19859,"name":"RelayerRewardsPoolSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19704,"src":"6566:21:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":19869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6566:84:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19870,"nodeType":"EmitStatement","src":"6561:89:50"},{"expression":{"id":19875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":19871,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19854,"src":"6656:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6658:18:50","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"6656:20:50","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":19874,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19834,"src":"6679:21:50","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"src":"6656:44:50","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":19876,"nodeType":"ExpressionStatement","src":"6656:44:50"}]},"documentation":{"id":19831,"nodeType":"StructuredDocumentation","src":"6087:131:50","text":" @notice Sets the RelayerRewardsPool contract.\n @param newRelayerRewardsPool The new RelayerRewardsPool contract."},"functionSelector":"382fa8ec","id":19878,"implemented":true,"kind":"function","modifiers":[],"name":"setRelayerRewardsPool","nameLocation":"6230:21:50","nodeType":"FunctionDefinition","parameters":{"id":19835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19834,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"6272:21:50","nodeType":"VariableDeclaration","scope":19878,"src":"6252:41:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":19833,"nodeType":"UserDefinedTypeName","pathNode":{"id":19832,"name":"IRelayerRewardsPool","nameLocations":["6252:19:50"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"6252:19:50"},"referencedDeclaration":67117,"src":"6252:19:50","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"6251:43:50"},"returnParameters":{"id":19836,"nodeType":"ParameterList","parameters":[],"src":"6304:0:50"},"scope":20674,"src":"6221:484:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":19912,"nodeType":"Block","src":"6909:311:50","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":19887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19885,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19881,"src":"6923:8:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":19886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6934:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6923:12:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20736b69702077696e646f77206d757374206265203e2030","id":19888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6937:50:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0ce779e4f300464038f11e9036612e9aaabc9c04f3f103921bc58d2785dccea","typeString":"literal_string \"GovernorConfiguratorV10: skip window must be > 0\""},"value":"GovernorConfiguratorV10: skip window must be > 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b0ce779e4f300464038f11e9036612e9aaabc9c04f3f103921bc58d2785dccea","typeString":"literal_string \"GovernorConfiguratorV10: skip window must be > 0\""}],"id":19884,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6915:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6915:73:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19890,"nodeType":"ExpressionStatement","src":"6915:73:50"},{"assignments":[19895],"declarations":[{"constant":false,"id":19895,"mutability":"mutable","name":"$","nameLocation":"7042:1:50","nodeType":"VariableDeclaration","scope":19912,"src":"6994:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":19894,"nodeType":"UserDefinedTypeName","pathNode":{"id":19893,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["6994:23:50","7018:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"6994:39:50"},"referencedDeclaration":24891,"src":"6994:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":19899,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19896,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"7046:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":19897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7070:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"7046:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":19898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7046:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6994:96:50"},{"eventCall":{"arguments":[{"expression":{"id":19901,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19895,"src":"7131:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7133:26:50","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":24890,"src":"7131:28:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19903,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19881,"src":"7161:8:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19900,"name":"GovernanceSkipWindowBlocksSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19710,"src":"7101:29:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":19904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7101:69:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19905,"nodeType":"EmitStatement","src":"7096:74:50"},{"expression":{"id":19910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":19906,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19895,"src":"7176:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7178:26:50","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":24890,"src":"7176:28:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":19909,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19881,"src":"7207:8:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7176:39:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19911,"nodeType":"ExpressionStatement","src":"7176:39:50"}]},"documentation":{"id":19879,"nodeType":"StructuredDocumentation","src":"6709:131:50","text":" @notice Sets the governance skip window in blocks.\n @param newValue The new skip window in blocks (must be > 0)."},"functionSelector":"3397d78d","id":19913,"implemented":true,"kind":"function","modifiers":[],"name":"setGovernanceSkipWindowBlocks","nameLocation":"6852:29:50","nodeType":"FunctionDefinition","parameters":{"id":19882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19881,"mutability":"mutable","name":"newValue","nameLocation":"6890:8:50","nodeType":"VariableDeclaration","scope":19913,"src":"6882:16:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19880,"name":"uint256","nodeType":"ElementaryTypeName","src":"6882:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6881:18:50"},"returnParameters":{"id":19883,"nodeType":"ParameterList","parameters":[],"src":"6909:0:50"},"scope":20674,"src":"6843:377:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":19940,"nodeType":"Block","src":"7496:214:50","statements":[{"assignments":[19923],"declarations":[{"constant":false,"id":19923,"mutability":"mutable","name":"$","nameLocation":"7550:1:50","nodeType":"VariableDeclaration","scope":19940,"src":"7502:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":19922,"nodeType":"UserDefinedTypeName","pathNode":{"id":19921,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["7502:23:50","7526:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"7502:39:50"},"referencedDeclaration":24891,"src":"7502:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":19927,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19924,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"7554:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":19925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7578:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"7554:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":19926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7554:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7502:96:50"},{"eventCall":{"arguments":[{"expression":{"id":19929,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19923,"src":"7627:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7629:14:50","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":24771,"src":"7627:16:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19931,"name":"newMinVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19916,"src":"7645:17:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":19928,"name":"MinVotingDelaySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19657,"src":"7609:17:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":19932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7609:54:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19933,"nodeType":"EmitStatement","src":"7604:59:50"},{"expression":{"id":19938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":19934,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19923,"src":"7669:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7671:14:50","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":24771,"src":"7669:16:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":19937,"name":"newMinVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19916,"src":"7688:17:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7669:36:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19939,"nodeType":"ExpressionStatement","src":"7669:36:50"}]},"documentation":{"id":19914,"nodeType":"StructuredDocumentation","src":"7224:206:50","text":" @notice Sets the minimum delay before vote starts.\n @dev Sets a new minimum voting delay and emits a {MinVotingDelaySet} event.\n @param newMinVotingDelay The new minimum voting delay."},"functionSelector":"b26a9509","id":19941,"implemented":true,"kind":"function","modifiers":[],"name":"setMinVotingDelay","nameLocation":"7442:17:50","nodeType":"FunctionDefinition","parameters":{"id":19917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19916,"mutability":"mutable","name":"newMinVotingDelay","nameLocation":"7468:17:50","nodeType":"VariableDeclaration","scope":19941,"src":"7460:25:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19915,"name":"uint256","nodeType":"ElementaryTypeName","src":"7460:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7459:27:50"},"returnParameters":{"id":19918,"nodeType":"ParameterList","parameters":[],"src":"7496:0:50"},"scope":20674,"src":"7433:277:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":19988,"nodeType":"Block","src":"7978:339:50","statements":[{"assignments":[19952],"declarations":[{"constant":false,"id":19952,"mutability":"mutable","name":"$","nameLocation":"8032:1:50","nodeType":"VariableDeclaration","scope":19988,"src":"7984:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":19951,"nodeType":"UserDefinedTypeName","pathNode":{"id":19950,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["7984:23:50","8008:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"7984:39:50"},"referencedDeclaration":24891,"src":"7984:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":19956,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":19953,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"8036:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":19954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8060:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"8036:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":19955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8036:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7984:96:50"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":19966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":19960,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19945,"src":"8102:15:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":19959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8094:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19958,"name":"address","nodeType":"ElementaryTypeName","src":"8094:7:50","typeDescriptions":{}}},"id":19961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8094:24:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":19964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8130:1:50","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":19963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8122:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19962,"name":"address","nodeType":"ElementaryTypeName","src":"8122:7:50","typeDescriptions":{}}},"id":19965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8122:10:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8094:38:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20766f7465725265776172647320616464726573732063616e6e6f74206265207a65726f","id":19967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8134:62:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab7dbd3a9259caa7b7bb2a0e1123ee83f1cb75cffc874e0cb99b40e3ce6b7879","typeString":"literal_string \"GovernorConfiguratorV10: voterRewards address cannot be zero\""},"value":"GovernorConfiguratorV10: voterRewards address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ab7dbd3a9259caa7b7bb2a0e1123ee83f1cb75cffc874e0cb99b40e3ce6b7879","typeString":"literal_string \"GovernorConfiguratorV10: voterRewards address cannot be zero\""}],"id":19957,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8086:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":19968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8086:111:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19969,"nodeType":"ExpressionStatement","src":"8086:111:50"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":19973,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19952,"src":"8232:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8234:12:50","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":24792,"src":"8232:14:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":19972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8224:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19971,"name":"address","nodeType":"ElementaryTypeName","src":"8224:7:50","typeDescriptions":{}}},"id":19975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8224:23:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":19978,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19945,"src":"8257:15:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":19977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8249:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":19976,"name":"address","nodeType":"ElementaryTypeName","src":"8249:7:50","typeDescriptions":{}}},"id":19979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8249:24:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":19970,"name":"VoterRewardsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19671,"src":"8208:15:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":19980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8208:66:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19981,"nodeType":"EmitStatement","src":"8203:71:50"},{"expression":{"id":19986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":19982,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19952,"src":"8280:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":19984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8282:12:50","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":24792,"src":"8280:14:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":19985,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19945,"src":"8297:15:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"src":"8280:32:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":19987,"nodeType":"ExpressionStatement","src":"8280:32:50"}]},"documentation":{"id":19942,"nodeType":"StructuredDocumentation","src":"7714:196:50","text":" @notice Sets the voter rewards contract.\n @dev Sets a new voter rewards contract and emits a {VoterRewardsSet} event.\n @param newVoterRewards The new voter rewards contract."},"functionSelector":"d639f65c","id":19989,"implemented":true,"kind":"function","modifiers":[],"name":"setVoterRewards","nameLocation":"7922:15:50","nodeType":"FunctionDefinition","parameters":{"id":19946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19945,"mutability":"mutable","name":"newVoterRewards","nameLocation":"7952:15:50","nodeType":"VariableDeclaration","scope":19989,"src":"7938:29:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":19944,"nodeType":"UserDefinedTypeName","pathNode":{"id":19943,"name":"IVoterRewards","nameLocations":["7938:13:50"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"7938:13:50"},"referencedDeclaration":69092,"src":"7938:13:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"7937:31:50"},"returnParameters":{"id":19947,"nodeType":"ParameterList","parameters":[],"src":"7978:0:50"},"scope":20674,"src":"7913:404:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":20036,"nodeType":"Block","src":"8654:392:50","statements":[{"assignments":[20000],"declarations":[{"constant":false,"id":20000,"mutability":"mutable","name":"$","nameLocation":"8708:1:50","nodeType":"VariableDeclaration","scope":20036,"src":"8660:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":19999,"nodeType":"UserDefinedTypeName","pathNode":{"id":19998,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["8660:23:50","8684:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"8660:39:50"},"referencedDeclaration":24891,"src":"8660:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20004,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20001,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"8712:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8736:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"8712:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8712:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8660:96:50"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":20008,"name":"newXAllocationVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19993,"src":"8785:20:50","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":20007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8777:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20006,"name":"address","nodeType":"ElementaryTypeName","src":"8777:7:50","typeDescriptions":{}}},"id":20009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8777:29:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":20012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8818:1:50","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":20011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8810:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20010,"name":"address","nodeType":"ElementaryTypeName","src":"8810:7:50","typeDescriptions":{}}},"id":20013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8810:10:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8777:43:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a2078416c6c6f636174696f6e566f74696e6720616464726573732063616e6e6f74206265207a65726f","id":20015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8828:67:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_10cf72132195a06702535125676557fc885b67ca26fc9e03622a5be594288cb8","typeString":"literal_string \"GovernorConfiguratorV10: xAllocationVoting address cannot be zero\""},"value":"GovernorConfiguratorV10: xAllocationVoting address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_10cf72132195a06702535125676557fc885b67ca26fc9e03622a5be594288cb8","typeString":"literal_string \"GovernorConfiguratorV10: xAllocationVoting address cannot be zero\""}],"id":20005,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8762:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8762:139:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20017,"nodeType":"ExpressionStatement","src":"8762:139:50"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":20021,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20000,"src":"8941:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8943:17:50","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"8941:19:50","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":20020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8933:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20019,"name":"address","nodeType":"ElementaryTypeName","src":"8933:7:50","typeDescriptions":{}}},"id":20023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8933:28:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":20026,"name":"newXAllocationVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19993,"src":"8971:20:50","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":20025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8963:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20024,"name":"address","nodeType":"ElementaryTypeName","src":"8963:7:50","typeDescriptions":{}}},"id":20027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8963:29:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":20018,"name":"XAllocationVotingSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19678,"src":"8912:20:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":20028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8912:81:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20029,"nodeType":"EmitStatement","src":"8907:86:50"},{"expression":{"id":20034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":20030,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20000,"src":"8999:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9001:17:50","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"8999:19:50","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20033,"name":"newXAllocationVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19993,"src":"9021:20:50","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"8999:42:50","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":20035,"nodeType":"ExpressionStatement","src":"8999:42:50"}]},"documentation":{"id":19990,"nodeType":"StructuredDocumentation","src":"8321:242:50","text":" @notice Sets the XAllocationVotingGovernor contract.\n @dev Sets a new XAllocationVotingGovernor contract and emits a {XAllocationVotingSet} event.\n @param newXAllocationVoting The new XAllocationVotingGovernor contract."},"functionSelector":"83833a00","id":20037,"implemented":true,"kind":"function","modifiers":[],"name":"setXAllocationVoting","nameLocation":"8575:20:50","nodeType":"FunctionDefinition","parameters":{"id":19994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19993,"mutability":"mutable","name":"newXAllocationVoting","nameLocation":"8623:20:50","nodeType":"VariableDeclaration","scope":20037,"src":"8596:47:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":19992,"nodeType":"UserDefinedTypeName","pathNode":{"id":19991,"name":"IXAllocationVotingGovernor","nameLocations":["8596:26:50"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"8596:26:50"},"referencedDeclaration":71124,"src":"8596:26:50","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"8595:49:50"},"returnParameters":{"id":19995,"nodeType":"ParameterList","parameters":[],"src":"8654:0:50"},"scope":20674,"src":"8566:480:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":20084,"nodeType":"Block","src":"9314:314:50","statements":[{"assignments":[20048],"declarations":[{"constant":false,"id":20048,"mutability":"mutable","name":"$","nameLocation":"9368:1:50","nodeType":"VariableDeclaration","scope":20084,"src":"9320:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20047,"nodeType":"UserDefinedTypeName","pathNode":{"id":20046,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["9320:23:50","9344:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"9320:39:50"},"referencedDeclaration":24891,"src":"9320:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20052,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20049,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"9372:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9396:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"9372:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9372:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9320:96:50"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":20056,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20041,"src":"9438:11:50","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":20055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9430:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20054,"name":"address","nodeType":"ElementaryTypeName","src":"9430:7:50","typeDescriptions":{}}},"id":20057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9430:20:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":20060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9462:1:50","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":20059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9454:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20058,"name":"address","nodeType":"ElementaryTypeName","src":"9454:7:50","typeDescriptions":{}}},"id":20061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9454:10:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9430:34:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a2074696d656c6f636b20616464726573732063616e6e6f74206265207a65726f","id":20063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9466:58:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8b9112138e63e4dc03339e9a786896af9a2e43f14f0c8efd86beea4e20b8ee2","typeString":"literal_string \"GovernorConfiguratorV10: timelock address cannot be zero\""},"value":"GovernorConfiguratorV10: timelock address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e8b9112138e63e4dc03339e9a786896af9a2e43f14f0c8efd86beea4e20b8ee2","typeString":"literal_string \"GovernorConfiguratorV10: timelock address cannot be zero\""}],"id":20053,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9422:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9422:103:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20065,"nodeType":"ExpressionStatement","src":"9422:103:50"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":20069,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20048,"src":"9559:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9561:8:50","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"9559:10:50","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":20068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9551:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20067,"name":"address","nodeType":"ElementaryTypeName","src":"9551:7:50","typeDescriptions":{}}},"id":20071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9551:19:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":20074,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20041,"src":"9580:11:50","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":20073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9572:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20072,"name":"address","nodeType":"ElementaryTypeName","src":"9572:7:50","typeDescriptions":{}}},"id":20075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9572:20:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":20066,"name":"TimelockChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19685,"src":"9536:14:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":20076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9536:57:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20077,"nodeType":"EmitStatement","src":"9531:62:50"},{"expression":{"id":20082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":20078,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20048,"src":"9599:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20080,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9601:8:50","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"9599:10:50","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20081,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20041,"src":"9612:11:50","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"src":"9599:24:50","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":20083,"nodeType":"ExpressionStatement","src":"9599:24:50"}]},"documentation":{"id":20038,"nodeType":"StructuredDocumentation","src":"9050:185:50","text":" @notice Updates the timelock controller.\n @dev Sets a new timelock controller and emits a {TimelockChange} event.\n @param newTimelock The new timelock controller."},"functionSelector":"b2b84a74","id":20085,"implemented":true,"kind":"function","modifiers":[],"name":"updateTimelock","nameLocation":"9247:14:50","nodeType":"FunctionDefinition","parameters":{"id":20042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20041,"mutability":"mutable","name":"newTimelock","nameLocation":"9292:11:50","nodeType":"VariableDeclaration","scope":20085,"src":"9262:41:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"},"typeName":{"id":20040,"nodeType":"UserDefinedTypeName","pathNode":{"id":20039,"name":"TimelockControllerUpgradeable","nameLocations":["9262:29:50"],"nodeType":"IdentifierPath","referencedDeclaration":1478,"src":"9262:29:50"},"referencedDeclaration":1478,"src":"9262:29:50","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"visibility":"internal"}],"src":"9261:43:50"},"returnParameters":{"id":20043,"nodeType":"ParameterList","parameters":[],"src":"9314:0:50"},"scope":20674,"src":"9238:390:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":20116,"nodeType":"Block","src":"10086:327:50","statements":[{"expression":{"arguments":[{"arguments":[{"id":20097,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20089,"src":"10145:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":20095,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"10100:24:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":20096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10125:19:50","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":23804,"src":"10100:44:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$25017_$returns$_t_bool_$","typeString":"function (enum GovernorTypesV10.ProposalType) pure returns (bool)"}},"id":20098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10100:58:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c69642070726f706f73616c2074797065","id":20099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10160:48:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""},"value":"GovernorConfiguratorV10: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""}],"id":20094,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10092:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10092:117:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20101,"nodeType":"ExpressionStatement","src":"10092:117:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20102,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20091,"src":"10219:19:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"313030","id":20103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10241:3:50","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"10219:25:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20110,"nodeType":"IfStatement","src":"10215:108:50","trueBody":{"id":20109,"nodeType":"Block","src":"10246:77:50","statements":[{"errorCall":{"arguments":[{"id":20106,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20091,"src":"10296:19:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20105,"name":"GovernorDepositThresholdNotInRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19715,"src":"10261:34:50","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":20107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10261:55:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20108,"nodeType":"RevertStatement","src":"10254:62:50"}]}},{"expression":{"arguments":[{"id":20112,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20089,"src":"10371:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"id":20113,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20091,"src":"10385:19:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20111,"name":"_setProposalTypeDepositThresholdPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20153,"src":"10328:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256)"}},"id":20114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10328:77:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20115,"nodeType":"ExpressionStatement","src":"10328:77:50"}]},"documentation":{"id":20086,"nodeType":"StructuredDocumentation","src":"9632:306:50","text":" @notice Sets the deposit threshold percentage for a proposal type.\n @dev Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\n @param proposalType The proposal type.\n @param newDepositThreshold The new deposit threshold percentage."},"functionSelector":"9eb587e9","id":20117,"implemented":true,"kind":"function","modifiers":[],"name":"setProposalTypeDepositThresholdPercentage","nameLocation":"9950:41:50","nodeType":"FunctionDefinition","parameters":{"id":20092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20089,"mutability":"mutable","name":"proposalType","nameLocation":"10027:12:50","nodeType":"VariableDeclaration","scope":20117,"src":"9997:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20088,"nodeType":"UserDefinedTypeName","pathNode":{"id":20087,"name":"GovernorTypesV10.ProposalType","nameLocations":["9997:16:50","10014:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"9997:29:50"},"referencedDeclaration":25017,"src":"9997:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":20091,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"10053:19:50","nodeType":"VariableDeclaration","scope":20117,"src":"10045:27:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20090,"name":"uint256","nodeType":"ElementaryTypeName","src":"10045:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9991:85:50"},"returnParameters":{"id":20093,"nodeType":"ParameterList","parameters":[],"src":"10086:0:50"},"scope":20674,"src":"9941:472:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":20152,"nodeType":"Block","src":"10872:336:50","statements":[{"assignments":[20130],"declarations":[{"constant":false,"id":20130,"mutability":"mutable","name":"$","nameLocation":"10926:1:50","nodeType":"VariableDeclaration","scope":20152,"src":"10878:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20129,"nodeType":"UserDefinedTypeName","pathNode":{"id":20128,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["10878:23:50","10902:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"10878:39:50"},"referencedDeclaration":24891,"src":"10878:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20134,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20131,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"10930:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10954:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"10930:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10930:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10878:96:50"},{"eventCall":{"arguments":[{"id":20136,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20121,"src":"11014:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"baseExpression":{"expression":{"id":20137,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20130,"src":"11034:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11036:38:50","memberName":"proposalTypeDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":24840,"src":"11034:40:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20140,"indexExpression":{"id":20139,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20121,"src":"11075:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11034:54:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20141,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20123,"src":"11096:19:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20135,"name":"DepositThresholdSetV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19740,"src":"10985:21:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256,uint256)"}},"id":20142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10985:136:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20143,"nodeType":"EmitStatement","src":"10980:141:50"},{"expression":{"id":20150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":20144,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20130,"src":"11127:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11129:38:50","memberName":"proposalTypeDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":24840,"src":"11127:40:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20148,"indexExpression":{"id":20146,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20121,"src":"11168:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11127:54:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20149,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20123,"src":"11184:19:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11127:76:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20151,"nodeType":"ExpressionStatement","src":"11127:76:50"}]},"documentation":{"id":20118,"nodeType":"StructuredDocumentation","src":"10417:306:50","text":" @notice Sets the deposit threshold percentage for a proposal type.\n @dev Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\n @param proposalType The proposal type.\n @param newDepositThreshold The new deposit threshold percentage."},"id":20153,"implemented":true,"kind":"function","modifiers":[],"name":"_setProposalTypeDepositThresholdPercentage","nameLocation":"10735:42:50","nodeType":"FunctionDefinition","parameters":{"id":20124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20121,"mutability":"mutable","name":"proposalType","nameLocation":"10813:12:50","nodeType":"VariableDeclaration","scope":20153,"src":"10783:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20120,"nodeType":"UserDefinedTypeName","pathNode":{"id":20119,"name":"GovernorTypesV10.ProposalType","nameLocations":["10783:16:50","10800:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"10783:29:50"},"referencedDeclaration":25017,"src":"10783:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":20123,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"10839:19:50","nodeType":"VariableDeclaration","scope":20153,"src":"10831:27:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20122,"name":"uint256","nodeType":"ElementaryTypeName","src":"10831:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10777:85:50"},"returnParameters":{"id":20125,"nodeType":"ParameterList","parameters":[],"src":"10872:0:50"},"scope":20674,"src":"10726:482:50","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20175,"nodeType":"Block","src":"11616:199:50","statements":[{"expression":{"arguments":[{"arguments":[{"id":20165,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20157,"src":"11675:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":20163,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"11630:24:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":20164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11655:19:50","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":23804,"src":"11630:44:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$25017_$returns$_t_bool_$","typeString":"function (enum GovernorTypesV10.ProposalType) pure returns (bool)"}},"id":20166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11630:58:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c69642070726f706f73616c2074797065","id":20167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11690:48:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""},"value":"GovernorConfiguratorV10: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""}],"id":20162,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11622:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11622:117:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20169,"nodeType":"ExpressionStatement","src":"11622:117:50"},{"expression":{"arguments":[{"id":20171,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20157,"src":"11777:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"id":20172,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20159,"src":"11791:18:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20170,"name":"_setProposalTypeVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20212,"src":"11745:31:50","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256)"}},"id":20173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11745:65:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20174,"nodeType":"ExpressionStatement","src":"11745:65:50"}]},"documentation":{"id":20154,"nodeType":"StructuredDocumentation","src":"11212:268:50","text":" @notice Sets the voting threshold for a proposal type.\n @dev Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\n @param proposalType The proposal type.\n @param newVotingThreshold The new voting threshold."},"functionSelector":"3ecc274a","id":20176,"implemented":true,"kind":"function","modifiers":[],"name":"setProposalTypeVotingThreshold","nameLocation":"11492:30:50","nodeType":"FunctionDefinition","parameters":{"id":20160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20157,"mutability":"mutable","name":"proposalType","nameLocation":"11558:12:50","nodeType":"VariableDeclaration","scope":20176,"src":"11528:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20156,"nodeType":"UserDefinedTypeName","pathNode":{"id":20155,"name":"GovernorTypesV10.ProposalType","nameLocations":["11528:16:50","11545:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"11528:29:50"},"referencedDeclaration":25017,"src":"11528:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":20159,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"11584:18:50","nodeType":"VariableDeclaration","scope":20176,"src":"11576:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20158,"name":"uint256","nodeType":"ElementaryTypeName","src":"11576:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11522:84:50"},"returnParameters":{"id":20161,"nodeType":"ParameterList","parameters":[],"src":"11616:0:50"},"scope":20674,"src":"11483:332:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":20211,"nodeType":"Block","src":"12224:287:50","statements":[{"assignments":[20189],"declarations":[{"constant":false,"id":20189,"mutability":"mutable","name":"$","nameLocation":"12278:1:50","nodeType":"VariableDeclaration","scope":20211,"src":"12230:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20188,"nodeType":"UserDefinedTypeName","pathNode":{"id":20187,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["12230:23:50","12254:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"12230:39:50"},"referencedDeclaration":24891,"src":"12230:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20193,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20190,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"12282:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12306:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"12282:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12230:96:50"},{"eventCall":{"arguments":[{"id":20195,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20180,"src":"12358:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"baseExpression":{"expression":{"id":20196,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20189,"src":"12372:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12374:27:50","memberName":"proposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":24845,"src":"12372:29:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20199,"indexExpression":{"id":20198,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20180,"src":"12402:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12372:43:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20200,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20182,"src":"12417:18:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20194,"name":"VotingThresholdSetV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19730,"src":"12337:20:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256,uint256)"}},"id":20201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12337:99:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20202,"nodeType":"EmitStatement","src":"12332:104:50"},{"expression":{"id":20209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":20203,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20189,"src":"12442:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12444:27:50","memberName":"proposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":24845,"src":"12442:29:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20207,"indexExpression":{"id":20205,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20180,"src":"12472:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12442:43:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20208,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20182,"src":"12488:18:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12442:64:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20210,"nodeType":"ExpressionStatement","src":"12442:64:50"}]},"documentation":{"id":20177,"nodeType":"StructuredDocumentation","src":"11819:268:50","text":" @notice Sets the voting threshold for a proposal type.\n @dev Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\n @param proposalType The proposal type.\n @param newVotingThreshold The new voting threshold."},"id":20212,"implemented":true,"kind":"function","modifiers":[],"name":"_setProposalTypeVotingThreshold","nameLocation":"12099:31:50","nodeType":"FunctionDefinition","parameters":{"id":20183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20180,"mutability":"mutable","name":"proposalType","nameLocation":"12166:12:50","nodeType":"VariableDeclaration","scope":20212,"src":"12136:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20179,"nodeType":"UserDefinedTypeName","pathNode":{"id":20178,"name":"GovernorTypesV10.ProposalType","nameLocations":["12136:16:50","12153:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"12136:29:50"},"referencedDeclaration":25017,"src":"12136:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":20182,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"12192:18:50","nodeType":"VariableDeclaration","scope":20212,"src":"12184:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20181,"name":"uint256","nodeType":"ElementaryTypeName","src":"12184:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12130:84:50"},"returnParameters":{"id":20184,"nodeType":"ParameterList","parameters":[],"src":"12224:0:50"},"scope":20674,"src":"12090:421:50","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20234,"nodeType":"Block","src":"12950:207:50","statements":[{"expression":{"arguments":[{"arguments":[{"id":20224,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20216,"src":"13009:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":20222,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"12964:24:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":20223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12989:19:50","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":23804,"src":"12964:44:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$25017_$returns$_t_bool_$","typeString":"function (enum GovernorTypesV10.ProposalType) pure returns (bool)"}},"id":20225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12964:58:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c69642070726f706f73616c2074797065","id":20226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13024:48:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""},"value":"GovernorConfiguratorV10: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""}],"id":20221,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12956:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12956:117:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20228,"nodeType":"ExpressionStatement","src":"12956:117:50"},{"expression":{"arguments":[{"id":20230,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20216,"src":"13115:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"id":20231,"name":"newDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20218,"src":"13129:22:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20229,"name":"_setProposalTypeDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20271,"src":"13079:35:50","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256)"}},"id":20232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13079:73:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20233,"nodeType":"ExpressionStatement","src":"13079:73:50"}]},"documentation":{"id":20213,"nodeType":"StructuredDocumentation","src":"12515:291:50","text":" @notice Sets the deposit threshold cap for a proposal type.\n @dev Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\n @param proposalType The proposal type.\n @param newDepositThresholdCap The new deposit threshold cap."},"functionSelector":"b4ab342c","id":20235,"implemented":true,"kind":"function","modifiers":[],"name":"setProposalTypeDepositThresholdCap","nameLocation":"12818:34:50","nodeType":"FunctionDefinition","parameters":{"id":20219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20216,"mutability":"mutable","name":"proposalType","nameLocation":"12888:12:50","nodeType":"VariableDeclaration","scope":20235,"src":"12858:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20215,"nodeType":"UserDefinedTypeName","pathNode":{"id":20214,"name":"GovernorTypesV10.ProposalType","nameLocations":["12858:16:50","12875:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"12858:29:50"},"referencedDeclaration":25017,"src":"12858:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":20218,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"12914:22:50","nodeType":"VariableDeclaration","scope":20235,"src":"12906:30:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20217,"name":"uint256","nodeType":"ElementaryTypeName","src":"12906:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12852:88:50"},"returnParameters":{"id":20220,"nodeType":"ParameterList","parameters":[],"src":"12950:0:50"},"scope":20674,"src":"12809:348:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":20270,"nodeType":"Block","src":"13597:305:50","statements":[{"assignments":[20248],"declarations":[{"constant":false,"id":20248,"mutability":"mutable","name":"$","nameLocation":"13651:1:50","nodeType":"VariableDeclaration","scope":20270,"src":"13603:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20247,"nodeType":"UserDefinedTypeName","pathNode":{"id":20246,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["13603:23:50","13627:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"13603:39:50"},"referencedDeclaration":24891,"src":"13603:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20252,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20249,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"13655:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13679:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"13655:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13655:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13603:96:50"},{"eventCall":{"arguments":[{"id":20254,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20239,"src":"13733:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"baseExpression":{"expression":{"id":20255,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20248,"src":"13747:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:31:50","memberName":"proposalTypeDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":24856,"src":"13747:33:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20258,"indexExpression":{"id":20257,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20239,"src":"13781:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13747:47:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20259,"name":"newDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20241,"src":"13796:22:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20253,"name":"DepositThresholdCapSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19750,"src":"13710:22:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256,uint256)"}},"id":20260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13710:109:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20261,"nodeType":"EmitStatement","src":"13705:114:50"},{"expression":{"id":20268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":20262,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20248,"src":"13825:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13827:31:50","memberName":"proposalTypeDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":24856,"src":"13825:33:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20266,"indexExpression":{"id":20264,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20239,"src":"13859:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13825:47:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20267,"name":"newDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20241,"src":"13875:22:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13825:72:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20269,"nodeType":"ExpressionStatement","src":"13825:72:50"}]},"documentation":{"id":20236,"nodeType":"StructuredDocumentation","src":"13161:291:50","text":" @notice Sets the deposit threshold cap for a proposal type.\n @dev Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\n @param proposalType The proposal type.\n @param newDepositThresholdCap The new deposit threshold cap."},"id":20271,"implemented":true,"kind":"function","modifiers":[],"name":"_setProposalTypeDepositThresholdCap","nameLocation":"13464:35:50","nodeType":"FunctionDefinition","parameters":{"id":20242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20239,"mutability":"mutable","name":"proposalType","nameLocation":"13535:12:50","nodeType":"VariableDeclaration","scope":20271,"src":"13505:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20238,"nodeType":"UserDefinedTypeName","pathNode":{"id":20237,"name":"GovernorTypesV10.ProposalType","nameLocations":["13505:16:50","13522:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"13505:29:50"},"referencedDeclaration":25017,"src":"13505:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":20241,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"13561:22:50","nodeType":"VariableDeclaration","scope":20271,"src":"13553:30:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20240,"name":"uint256","nodeType":"ElementaryTypeName","src":"13553:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13499:88:50"},"returnParameters":{"id":20243,"nodeType":"ParameterList","parameters":[],"src":"13597:0:50"},"scope":20674,"src":"13455:447:50","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20294,"nodeType":"Block","src":"13979:169:50","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":20280,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20274,"src":"14001:15:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}],"id":20279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13993:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20278,"name":"address","nodeType":"ElementaryTypeName","src":"13993:7:50","typeDescriptions":{}}},"id":20281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13993:24:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":20284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14029:1:50","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":20283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14021:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20282,"name":"address","nodeType":"ElementaryTypeName","src":"14021:7:50","typeDescriptions":{}}},"id":20285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14021:10:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13993:38:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a2047616c6178794d656d62657220616464726573732063616e6e6f74206265207a65726f","id":20287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14033:62:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_dde75adcaffbcdca0a184f0355d9560fef92040258a0f4986426f1ddc3a717b7","typeString":"literal_string \"GovernorConfiguratorV10: GalaxyMember address cannot be zero\""},"value":"GovernorConfiguratorV10: GalaxyMember address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dde75adcaffbcdca0a184f0355d9560fef92040258a0f4986426f1ddc3a717b7","typeString":"literal_string \"GovernorConfiguratorV10: GalaxyMember address cannot be zero\""}],"id":20277,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13985:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13985:111:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20289,"nodeType":"ExpressionStatement","src":"13985:111:50"},{"expression":{"arguments":[{"id":20291,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20274,"src":"14127:15:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}],"id":20290,"name":"_setGalaxyMemberContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20331,"src":"14102:24:50","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IGalaxyMember_$65196_$returns$__$","typeString":"function (contract IGalaxyMember)"}},"id":20292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14102:41:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20293,"nodeType":"ExpressionStatement","src":"14102:41:50"}]},"functionSelector":"4f49d9ba","id":20295,"implemented":true,"kind":"function","modifiers":[],"name":"setGalaxyMemberContract","nameLocation":"13915:23:50","nodeType":"FunctionDefinition","parameters":{"id":20275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20274,"mutability":"mutable","name":"newGalaxyMember","nameLocation":"13953:15:50","nodeType":"VariableDeclaration","scope":20295,"src":"13939:29:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":20273,"nodeType":"UserDefinedTypeName","pathNode":{"id":20272,"name":"IGalaxyMember","nameLocations":["13939:13:50"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"13939:13:50"},"referencedDeclaration":65196,"src":"13939:13:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"13938:31:50"},"returnParameters":{"id":20276,"nodeType":"ParameterList","parameters":[],"src":"13979:0:50"},"scope":20674,"src":"13906:242:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":20330,"nodeType":"Block","src":"14342:262:50","statements":[{"assignments":[20306],"declarations":[{"constant":false,"id":20306,"mutability":"mutable","name":"$","nameLocation":"14396:1:50","nodeType":"VariableDeclaration","scope":20330,"src":"14348:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20305,"nodeType":"UserDefinedTypeName","pathNode":{"id":20304,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["14348:23:50","14372:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"14348:39:50"},"referencedDeclaration":24891,"src":"14348:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20310,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20307,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"14400:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14424:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"14400:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14400:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14348:96:50"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":20314,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20299,"src":"14466:15:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}],"id":20313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14458:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20312,"name":"address","nodeType":"ElementaryTypeName","src":"14458:7:50","typeDescriptions":{}}},"id":20315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14458:24:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":20318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14494:1:50","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":20317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14486:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20316,"name":"address","nodeType":"ElementaryTypeName","src":"14486:7:50","typeDescriptions":{}}},"id":20319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14486:10:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14458:38:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a2047616c6178794d656d62657220616464726573732063616e6e6f74206265207a65726f","id":20321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14498:62:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_dde75adcaffbcdca0a184f0355d9560fef92040258a0f4986426f1ddc3a717b7","typeString":"literal_string \"GovernorConfiguratorV10: GalaxyMember address cannot be zero\""},"value":"GovernorConfiguratorV10: GalaxyMember address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dde75adcaffbcdca0a184f0355d9560fef92040258a0f4986426f1ddc3a717b7","typeString":"literal_string \"GovernorConfiguratorV10: GalaxyMember address cannot be zero\""}],"id":20311,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14450:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14450:111:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20323,"nodeType":"ExpressionStatement","src":"14450:111:50"},{"expression":{"id":20328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":20324,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20306,"src":"14567:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14569:12:50","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":24862,"src":"14567:14:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20327,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20299,"src":"14584:15:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"src":"14567:32:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"id":20329,"nodeType":"ExpressionStatement","src":"14567:32:50"}]},"documentation":{"id":20296,"nodeType":"StructuredDocumentation","src":"14152:113:50","text":" @notice Sets the GalaxyMember contract.\n @param newGalaxyMember The new GalaxyMember contract."},"id":20331,"implemented":true,"kind":"function","modifiers":[],"name":"_setGalaxyMemberContract","nameLocation":"14277:24:50","nodeType":"FunctionDefinition","parameters":{"id":20300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20299,"mutability":"mutable","name":"newGalaxyMember","nameLocation":"14316:15:50","nodeType":"VariableDeclaration","scope":20331,"src":"14302:29:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":20298,"nodeType":"UserDefinedTypeName","pathNode":{"id":20297,"name":"IGalaxyMember","nameLocations":["14302:13:50"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"14302:13:50"},"referencedDeclaration":65196,"src":"14302:13:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"14301:31:50"},"returnParameters":{"id":20301,"nodeType":"ParameterList","parameters":[],"src":"14342:0:50"},"scope":20674,"src":"14268:336:50","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20354,"nodeType":"Block","src":"14684:173:50","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":20340,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20334,"src":"14706:16:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"id":20339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14698:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20338,"name":"address","nodeType":"ElementaryTypeName","src":"14698:7:50","typeDescriptions":{}}},"id":20341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14698:25:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":20344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14735:1:50","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":20343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14727:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20342,"name":"address","nodeType":"ElementaryTypeName","src":"14727:7:50","typeDescriptions":{}}},"id":20345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14727:10:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14698:39:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a204772616e74734d616e6167657220616464726573732063616e6e6f74206265207a65726f","id":20347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14739:63:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_31ed313b40be510024b0ac57d03b0f727a335d0a3f63fae09fdea41991af4591","typeString":"literal_string \"GovernorConfiguratorV10: GrantsManager address cannot be zero\""},"value":"GovernorConfiguratorV10: GrantsManager address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_31ed313b40be510024b0ac57d03b0f727a335d0a3f63fae09fdea41991af4591","typeString":"literal_string \"GovernorConfiguratorV10: GrantsManager address cannot be zero\""}],"id":20337,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14690:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14690:113:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20349,"nodeType":"ExpressionStatement","src":"14690:113:50"},{"expression":{"arguments":[{"id":20351,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20334,"src":"14835:16:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"id":20350,"name":"_setGrantsManagerContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20391,"src":"14809:25:50","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IGrantsManager_$65639_$returns$__$","typeString":"function (contract IGrantsManager)"}},"id":20352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14809:43:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20353,"nodeType":"ExpressionStatement","src":"14809:43:50"}]},"functionSelector":"d2eee54a","id":20355,"implemented":true,"kind":"function","modifiers":[],"name":"setGrantsManagerContract","nameLocation":"14617:24:50","nodeType":"FunctionDefinition","parameters":{"id":20335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20334,"mutability":"mutable","name":"newGrantsManager","nameLocation":"14657:16:50","nodeType":"VariableDeclaration","scope":20355,"src":"14642:31:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":20333,"nodeType":"UserDefinedTypeName","pathNode":{"id":20332,"name":"IGrantsManager","nameLocations":["14642:14:50"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"14642:14:50"},"referencedDeclaration":65639,"src":"14642:14:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"14641:33:50"},"returnParameters":{"id":20336,"nodeType":"ParameterList","parameters":[],"src":"14684:0:50"},"scope":20674,"src":"14608:249:50","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":20390,"nodeType":"Block","src":"15057:266:50","statements":[{"assignments":[20366],"declarations":[{"constant":false,"id":20366,"mutability":"mutable","name":"$","nameLocation":"15111:1:50","nodeType":"VariableDeclaration","scope":20390,"src":"15063:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20365,"nodeType":"UserDefinedTypeName","pathNode":{"id":20364,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["15063:23:50","15087:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"15063:39:50"},"referencedDeclaration":24891,"src":"15063:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20370,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20367,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"15115:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15139:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"15115:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15115:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15063:96:50"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":20374,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20359,"src":"15181:16:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"id":20373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15173:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20372,"name":"address","nodeType":"ElementaryTypeName","src":"15173:7:50","typeDescriptions":{}}},"id":20375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15173:25:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":20378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15210:1:50","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":20377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15202:7:50","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20376,"name":"address","nodeType":"ElementaryTypeName","src":"15202:7:50","typeDescriptions":{}}},"id":20379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15202:10:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15173:39:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a204772616e74734d616e6167657220616464726573732063616e6e6f74206265207a65726f","id":20381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15214:63:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_31ed313b40be510024b0ac57d03b0f727a335d0a3f63fae09fdea41991af4591","typeString":"literal_string \"GovernorConfiguratorV10: GrantsManager address cannot be zero\""},"value":"GovernorConfiguratorV10: GrantsManager address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_31ed313b40be510024b0ac57d03b0f727a335d0a3f63fae09fdea41991af4591","typeString":"literal_string \"GovernorConfiguratorV10: GrantsManager address cannot be zero\""}],"id":20371,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15165:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15165:113:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20383,"nodeType":"ExpressionStatement","src":"15165:113:50"},{"expression":{"id":20388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":20384,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20366,"src":"15284:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15286:13:50","memberName":"grantsManager","nodeType":"MemberAccess","referencedDeclaration":24859,"src":"15284:15:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20387,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20359,"src":"15302:16:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"src":"15284:34:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"id":20389,"nodeType":"ExpressionStatement","src":"15284:34:50"}]},"documentation":{"id":20356,"nodeType":"StructuredDocumentation","src":"14861:116:50","text":" @notice Sets the GrantsManager contract.\n @param newGrantsManager The new GrantsManager contract."},"id":20391,"implemented":true,"kind":"function","modifiers":[],"name":"_setGrantsManagerContract","nameLocation":"14989:25:50","nodeType":"FunctionDefinition","parameters":{"id":20360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20359,"mutability":"mutable","name":"newGrantsManager","nameLocation":"15030:16:50","nodeType":"VariableDeclaration","scope":20391,"src":"15015:31:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":20358,"nodeType":"UserDefinedTypeName","pathNode":{"id":20357,"name":"IGrantsManager","nameLocations":["15015:14:50"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"15015:14:50"},"referencedDeclaration":65639,"src":"15015:14:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"15014:33:50"},"returnParameters":{"id":20361,"nodeType":"ParameterList","parameters":[],"src":"15057:0:50"},"scope":20674,"src":"14980:343:50","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":20422,"nodeType":"Block","src":"15627:286:50","statements":[{"assignments":[20404],"declarations":[{"constant":false,"id":20404,"mutability":"mutable","name":"$","nameLocation":"15681:1:50","nodeType":"VariableDeclaration","scope":20422,"src":"15633:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20403,"nodeType":"UserDefinedTypeName","pathNode":{"id":20402,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["15633:23:50","15657:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"15633:39:50"},"referencedDeclaration":24891,"src":"15633:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20408,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20405,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"15685:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15709:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"15685:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15685:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15633:96:50"},{"expression":{"arguments":[{"arguments":[{"id":20412,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20395,"src":"15788:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":20410,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"15743:24:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":20411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15768:19:50","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":23804,"src":"15743:44:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$25017_$returns$_t_bool_$","typeString":"function (enum GovernorTypesV10.ProposalType) pure returns (bool)"}},"id":20413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15743:58:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c69642070726f706f73616c2074797065","id":20414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15803:48:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""},"value":"GovernorConfiguratorV10: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""}],"id":20409,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15735:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15735:117:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20416,"nodeType":"ExpressionStatement","src":"15735:117:50"},{"expression":{"baseExpression":{"expression":{"id":20417,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20404,"src":"15865:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20418,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15867:27:50","memberName":"proposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":24845,"src":"15865:29:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20420,"indexExpression":{"id":20419,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20395,"src":"15895:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15865:43:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":20399,"id":20421,"nodeType":"Return","src":"15858:50:50"}]},"documentation":{"id":20392,"nodeType":"StructuredDocumentation","src":"15381:139:50","text":" @notice Returns the voting threshold.\n @param proposalType The proposal type.\n @return The current voting threshold."},"id":20423,"implemented":true,"kind":"function","modifiers":[],"name":"getVotingThreshold","nameLocation":"15532:18:50","nodeType":"FunctionDefinition","parameters":{"id":20396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20395,"mutability":"mutable","name":"proposalType","nameLocation":"15581:12:50","nodeType":"VariableDeclaration","scope":20423,"src":"15551:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20394,"nodeType":"UserDefinedTypeName","pathNode":{"id":20393,"name":"GovernorTypesV10.ProposalType","nameLocations":["15551:16:50","15568:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"15551:29:50"},"referencedDeclaration":25017,"src":"15551:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"15550:44:50"},"returnParameters":{"id":20399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20423,"src":"15618:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20397,"name":"uint256","nodeType":"ElementaryTypeName","src":"15618:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15617:9:50"},"scope":20674,"src":"15523:390:50","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20441,"nodeType":"Block","src":"16096:136:50","statements":[{"assignments":[20433],"declarations":[{"constant":false,"id":20433,"mutability":"mutable","name":"$","nameLocation":"16150:1:50","nodeType":"VariableDeclaration","scope":20441,"src":"16102:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20432,"nodeType":"UserDefinedTypeName","pathNode":{"id":20431,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["16102:23:50","16126:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"16102:39:50"},"referencedDeclaration":24891,"src":"16102:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20437,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20434,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"16154:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16178:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"16154:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16154:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16102:96:50"},{"expression":{"expression":{"id":20438,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20433,"src":"16211:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16213:14:50","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":24771,"src":"16211:16:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":20428,"id":20440,"nodeType":"Return","src":"16204:23:50"}]},"documentation":{"id":20424,"nodeType":"StructuredDocumentation","src":"15917:115:50","text":" @notice Returns the minimum delay before vote starts.\n @return The current minimum voting delay."},"id":20442,"implemented":true,"kind":"function","modifiers":[],"name":"getMinVotingDelay","nameLocation":"16044:17:50","nodeType":"FunctionDefinition","parameters":{"id":20425,"nodeType":"ParameterList","parameters":[],"src":"16061:2:50"},"returnParameters":{"id":20428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20442,"src":"16087:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20426,"name":"uint256","nodeType":"ElementaryTypeName","src":"16087:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16086:9:50"},"scope":20674,"src":"16035:197:50","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20473,"nodeType":"Block","src":"16517:297:50","statements":[{"assignments":[20455],"declarations":[{"constant":false,"id":20455,"mutability":"mutable","name":"$","nameLocation":"16571:1:50","nodeType":"VariableDeclaration","scope":20473,"src":"16523:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20454,"nodeType":"UserDefinedTypeName","pathNode":{"id":20453,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["16523:23:50","16547:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"16523:39:50"},"referencedDeclaration":24891,"src":"16523:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20459,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20456,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"16575:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16599:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"16575:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16575:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16523:96:50"},{"expression":{"arguments":[{"arguments":[{"id":20463,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20446,"src":"16678:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":20461,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"16633:24:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":20462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16658:19:50","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":23804,"src":"16633:44:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$25017_$returns$_t_bool_$","typeString":"function (enum GovernorTypesV10.ProposalType) pure returns (bool)"}},"id":20464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16633:58:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c69642070726f706f73616c2074797065","id":20465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16693:48:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""},"value":"GovernorConfiguratorV10: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""}],"id":20460,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16625:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16625:117:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20467,"nodeType":"ExpressionStatement","src":"16625:117:50"},{"expression":{"baseExpression":{"expression":{"id":20468,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20455,"src":"16755:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16757:38:50","memberName":"proposalTypeDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":24840,"src":"16755:40:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20471,"indexExpression":{"id":20470,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20446,"src":"16796:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16755:54:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":20450,"id":20472,"nodeType":"Return","src":"16748:61:50"}]},"documentation":{"id":20443,"nodeType":"StructuredDocumentation","src":"16236:163:50","text":" @notice Returns the deposit threshold percentage.\n @param proposalType The proposal type.\n @return The current deposit threshold percentage."},"id":20474,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositThresholdPercentage","nameLocation":"16411:29:50","nodeType":"FunctionDefinition","parameters":{"id":20447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20446,"mutability":"mutable","name":"proposalType","nameLocation":"16471:12:50","nodeType":"VariableDeclaration","scope":20474,"src":"16441:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20445,"nodeType":"UserDefinedTypeName","pathNode":{"id":20444,"name":"GovernorTypesV10.ProposalType","nameLocations":["16441:16:50","16458:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"16441:29:50"},"referencedDeclaration":25017,"src":"16441:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"16440:44:50"},"returnParameters":{"id":20450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20449,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20474,"src":"16508:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20448,"name":"uint256","nodeType":"ElementaryTypeName","src":"16508:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16507:9:50"},"scope":20674,"src":"16402:412:50","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20493,"nodeType":"Block","src":"17004:138:50","statements":[{"assignments":[20485],"declarations":[{"constant":false,"id":20485,"mutability":"mutable","name":"$","nameLocation":"17058:1:50","nodeType":"VariableDeclaration","scope":20493,"src":"17010:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20484,"nodeType":"UserDefinedTypeName","pathNode":{"id":20483,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["17010:23:50","17034:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"17010:39:50"},"referencedDeclaration":24891,"src":"17010:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20489,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20486,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"17062:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17086:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"17062:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17062:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17010:96:50"},{"expression":{"expression":{"id":20490,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20485,"src":"17119:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17121:16:50","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":24830,"src":"17119:18:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"functionReturnParameters":20480,"id":20492,"nodeType":"Return","src":"17112:25:50"}]},"documentation":{"id":20475,"nodeType":"StructuredDocumentation","src":"16818:113:50","text":" @notice Returns the VeBetterPassport contract.\n @return The current VeBetterPassport contract."},"id":20494,"implemented":true,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"16943:16:50","nodeType":"FunctionDefinition","parameters":{"id":20476,"nodeType":"ParameterList","parameters":[],"src":"16959:2:50"},"returnParameters":{"id":20480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20479,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20494,"src":"16985:17:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":20478,"nodeType":"UserDefinedTypeName","pathNode":{"id":20477,"name":"IVeBetterPassport","nameLocations":["16985:17:50"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"16985:17:50"},"referencedDeclaration":68601,"src":"16985:17:50","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"16984:19:50"},"scope":20674,"src":"16934:208:50","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20525,"nodeType":"Block","src":"17426:290:50","statements":[{"assignments":[20507],"declarations":[{"constant":false,"id":20507,"mutability":"mutable","name":"$","nameLocation":"17480:1:50","nodeType":"VariableDeclaration","scope":20525,"src":"17432:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20506,"nodeType":"UserDefinedTypeName","pathNode":{"id":20505,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["17432:23:50","17456:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"17432:39:50"},"referencedDeclaration":24891,"src":"17432:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20511,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20508,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"17484:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17508:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"17484:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17484:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17432:96:50"},{"expression":{"arguments":[{"arguments":[{"id":20515,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20498,"src":"17587:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":20513,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"17542:24:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":20514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17567:19:50","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":23804,"src":"17542:44:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$25017_$returns$_t_bool_$","typeString":"function (enum GovernorTypesV10.ProposalType) pure returns (bool)"}},"id":20516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17542:58:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c69642070726f706f73616c2074797065","id":20517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17602:48:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""},"value":"GovernorConfiguratorV10: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""}],"id":20512,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17534:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17534:117:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20519,"nodeType":"ExpressionStatement","src":"17534:117:50"},{"expression":{"baseExpression":{"expression":{"id":20520,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20507,"src":"17664:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20521,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17666:31:50","memberName":"proposalTypeDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":24856,"src":"17664:33:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20523,"indexExpression":{"id":20522,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20498,"src":"17698:12:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17664:47:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":20502,"id":20524,"nodeType":"Return","src":"17657:54:50"}]},"documentation":{"id":20495,"nodeType":"StructuredDocumentation","src":"17146:169:50","text":" @notice Returns the deposit threshold cap for a proposal type.\n @param proposalType The proposal type.\n @return The current deposit threshold cap."},"id":20526,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositThresholdCap","nameLocation":"17327:22:50","nodeType":"FunctionDefinition","parameters":{"id":20499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20498,"mutability":"mutable","name":"proposalType","nameLocation":"17380:12:50","nodeType":"VariableDeclaration","scope":20526,"src":"17350:42:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20497,"nodeType":"UserDefinedTypeName","pathNode":{"id":20496,"name":"GovernorTypesV10.ProposalType","nameLocations":["17350:16:50","17367:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"17350:29:50"},"referencedDeclaration":25017,"src":"17350:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"17349:44:50"},"returnParameters":{"id":20502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20526,"src":"17417:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20500,"name":"uint256","nodeType":"ElementaryTypeName","src":"17417:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17416:9:50"},"scope":20674,"src":"17318:398:50","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20545,"nodeType":"Block","src":"17901:134:50","statements":[{"assignments":[20537],"declarations":[{"constant":false,"id":20537,"mutability":"mutable","name":"$","nameLocation":"17955:1:50","nodeType":"VariableDeclaration","scope":20545,"src":"17907:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20536,"nodeType":"UserDefinedTypeName","pathNode":{"id":20535,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["17907:23:50","17931:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"17907:39:50"},"referencedDeclaration":24891,"src":"17907:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20541,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20538,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"17959:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17983:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"17959:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17959:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17907:96:50"},{"expression":{"expression":{"id":20542,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20537,"src":"18016:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18018:12:50","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":24862,"src":"18016:14:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"functionReturnParameters":20532,"id":20544,"nodeType":"Return","src":"18009:21:50"}]},"documentation":{"id":20527,"nodeType":"StructuredDocumentation","src":"17720:105:50","text":" @notice Returns the GalaxyMember contract.\n @return The current GalaxyMember contract."},"id":20546,"implemented":true,"kind":"function","modifiers":[],"name":"getGalaxyMemberContract","nameLocation":"17837:23:50","nodeType":"FunctionDefinition","parameters":{"id":20528,"nodeType":"ParameterList","parameters":[],"src":"17860:2:50"},"returnParameters":{"id":20532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20546,"src":"17886:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":20530,"nodeType":"UserDefinedTypeName","pathNode":{"id":20529,"name":"IGalaxyMember","nameLocations":["17886:13:50"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"17886:13:50"},"referencedDeclaration":65196,"src":"17886:13:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"17885:15:50"},"scope":20674,"src":"17828:207:50","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20565,"nodeType":"Block","src":"18224:135:50","statements":[{"assignments":[20557],"declarations":[{"constant":false,"id":20557,"mutability":"mutable","name":"$","nameLocation":"18278:1:50","nodeType":"VariableDeclaration","scope":20565,"src":"18230:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20556,"nodeType":"UserDefinedTypeName","pathNode":{"id":20555,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["18230:23:50","18254:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"18230:39:50"},"referencedDeclaration":24891,"src":"18230:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20561,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20558,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"18282:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18306:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"18282:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18282:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18230:96:50"},{"expression":{"expression":{"id":20562,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20557,"src":"18339:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20563,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18341:13:50","memberName":"grantsManager","nodeType":"MemberAccess","referencedDeclaration":24859,"src":"18339:15:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"functionReturnParameters":20552,"id":20564,"nodeType":"Return","src":"18332:22:50"}]},"documentation":{"id":20547,"nodeType":"StructuredDocumentation","src":"18039:107:50","text":" @notice Returns the GrantsManager contract.\n @return The current GrantsManager contract."},"id":20566,"implemented":true,"kind":"function","modifiers":[],"name":"getGrantsManagerContract","nameLocation":"18158:24:50","nodeType":"FunctionDefinition","parameters":{"id":20548,"nodeType":"ParameterList","parameters":[],"src":"18182:2:50"},"returnParameters":{"id":20552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20566,"src":"18208:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":20550,"nodeType":"UserDefinedTypeName","pathNode":{"id":20549,"name":"IGrantsManager","nameLocations":["18208:14:50"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"18208:14:50"},"referencedDeclaration":65639,"src":"18208:14:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"18207:16:50"},"scope":20674,"src":"18149:210:50","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20597,"nodeType":"Block","src":"18669:316:50","statements":[{"assignments":[20579],"declarations":[{"constant":false,"id":20579,"mutability":"mutable","name":"$","nameLocation":"18723:1:50","nodeType":"VariableDeclaration","scope":20597,"src":"18675:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20578,"nodeType":"UserDefinedTypeName","pathNode":{"id":20577,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["18675:23:50","18699:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"18675:39:50"},"referencedDeclaration":24891,"src":"18675:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20583,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20580,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"18727:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18751:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"18727:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18727:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18675:96:50"},{"expression":{"arguments":[{"arguments":[{"id":20587,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20570,"src":"18837:17:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":20585,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"18792:24:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":20586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18817:19:50","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":23804,"src":"18792:44:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$25017_$returns$_t_bool_$","typeString":"function (enum GovernorTypesV10.ProposalType) pure returns (bool)"}},"id":20588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18792:63:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c69642070726f706f73616c2074797065","id":20589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18863:48:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""},"value":"GovernorConfiguratorV10: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""}],"id":20584,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18777:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18777:140:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20591,"nodeType":"ExpressionStatement","src":"18777:140:50"},{"expression":{"baseExpression":{"expression":{"id":20592,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20579,"src":"18930:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18932:29:50","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":24867,"src":"18930:31:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20595,"indexExpression":{"id":20594,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20570,"src":"18962:17:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18930:50:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":20574,"id":20596,"nodeType":"Return","src":"18923:57:50"}]},"documentation":{"id":20567,"nodeType":"StructuredDocumentation","src":"18363:172:50","text":" @notice Returns the GM weight for a proposal type.\n @param proposalTypeValue The proposal type.\n @return The current GM weight for the proposal type."},"id":20598,"implemented":true,"kind":"function","modifiers":[],"name":"getRequiredGMLevelByProposalType","nameLocation":"18547:32:50","nodeType":"FunctionDefinition","parameters":{"id":20571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20570,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"18615:17:50","nodeType":"VariableDeclaration","scope":20598,"src":"18585:47:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20569,"nodeType":"UserDefinedTypeName","pathNode":{"id":20568,"name":"GovernorTypesV10.ProposalType","nameLocations":["18585:16:50","18602:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"18585:29:50"},"referencedDeclaration":25017,"src":"18585:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"18579:57:50"},"returnParameters":{"id":20574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20598,"src":"18660:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20572,"name":"uint256","nodeType":"ElementaryTypeName","src":"18660:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18659:9:50"},"scope":20674,"src":"18538:447:50","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20609,"nodeType":"Block","src":"19360:89:50","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20604,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"19373:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19397:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"19373:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19373:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19418:26:50","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":24890,"src":"19373:71:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":20603,"id":20608,"nodeType":"Return","src":"19366:78:50"}]},"documentation":{"id":20599,"nodeType":"StructuredDocumentation","src":"19168:119:50","text":" @notice Returns the governance skip window in blocks.\n @return The governance skip window in blocks."},"id":20610,"implemented":true,"kind":"function","modifiers":[],"name":"governanceSkipWindowBlocks","nameLocation":"19299:26:50","nodeType":"FunctionDefinition","parameters":{"id":20600,"nodeType":"ParameterList","parameters":[],"src":"19325:2:50"},"returnParameters":{"id":20603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20602,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20610,"src":"19351:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20601,"name":"uint256","nodeType":"ElementaryTypeName","src":"19351:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19350:9:50"},"scope":20674,"src":"19290:159:50","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":20672,"nodeType":"Block","src":"19586:635:50","statements":[{"assignments":[20622],"declarations":[{"constant":false,"id":20622,"mutability":"mutable","name":"$","nameLocation":"19640:1:50","nodeType":"VariableDeclaration","scope":20672,"src":"19592:49:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20621,"nodeType":"UserDefinedTypeName","pathNode":{"id":20620,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["19592:23:50","19616:15:50"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"19592:39:50"},"referencedDeclaration":24891,"src":"19592:39:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20626,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20623,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"19644:23:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19668:18:50","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"19644:42:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19644:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19592:96:50"},{"assignments":[20628],"declarations":[{"constant":false,"id":20628,"mutability":"mutable","name":"maxGMWeight","nameLocation":"19702:11:50","nodeType":"VariableDeclaration","scope":20672,"src":"19694:19:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20627,"name":"uint256","nodeType":"ElementaryTypeName","src":"19694:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20633,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":20629,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20622,"src":"19716:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19718:12:50","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":24862,"src":"19716:14:50","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"id":20631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19731:9:50","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":64711,"src":"19716:24:50","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":20632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19716:26:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19694:48:50"},{"assignments":[20635],"declarations":[{"constant":false,"id":20635,"mutability":"mutable","name":"oldRequiredGMLevel","nameLocation":"19756:18:50","nodeType":"VariableDeclaration","scope":20672,"src":"19748:26:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20634,"name":"uint256","nodeType":"ElementaryTypeName","src":"19748:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20640,"initialValue":{"baseExpression":{"expression":{"id":20636,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20622,"src":"19777:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19779:29:50","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":24867,"src":"19777:31:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20639,"indexExpression":{"id":20638,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20613,"src":"19809:17:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19777:50:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19748:79:50"},{"expression":{"arguments":[{"arguments":[{"id":20644,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20613,"src":"19893:17:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":20642,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"19848:24:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":20643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19873:19:50","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":23804,"src":"19848:44:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$25017_$returns$_t_bool_$","typeString":"function (enum GovernorTypesV10.ProposalType) pure returns (bool)"}},"id":20645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19848:63:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c69642070726f706f73616c2074797065","id":20646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19919:48:50","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""},"value":"GovernorConfiguratorV10: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1","typeString":"literal_string \"GovernorConfiguratorV10: invalid proposal type\""}],"id":20641,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19833:7:50","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19833:140:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20648,"nodeType":"ExpressionStatement","src":"19833:140:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20649,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20615,"src":"19984:11:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":20650,"name":"maxGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20628,"src":"19998:11:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19984:25:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20657,"nodeType":"IfStatement","src":"19980:86:50","trueBody":{"id":20656,"nodeType":"Block","src":"20011:55:50","statements":[{"errorCall":{"arguments":[{"id":20653,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20615,"src":"20047:11:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20652,"name":"GMLevelAboveMaxLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19720,"src":"20026:20:50","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":20654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20026:33:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20655,"nodeType":"RevertStatement","src":"20019:40:50"}]}},{"eventCall":{"arguments":[{"id":20659,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20613,"src":"20095:17:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},{"id":20660,"name":"oldRequiredGMLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20635,"src":"20114:18:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20661,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20615,"src":"20134:11:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20658,"name":"RequiredGMLevelSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19760,"src":"20076:18:50","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_enum$_ProposalType_$25017_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType,uint256,uint256)"}},"id":20662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20076:70:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20663,"nodeType":"EmitStatement","src":"20071:75:50"},{"expression":{"id":20670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":20664,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20622,"src":"20152:1:50","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20154:29:50","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":24867,"src":"20152:31:50","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":20668,"indexExpression":{"id":20666,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20613,"src":"20184:17:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20152:50:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":20669,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20615,"src":"20205:11:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20152:64:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20671,"nodeType":"ExpressionStatement","src":"20152:64:50"}]},"id":20673,"implemented":true,"kind":"function","modifiers":[],"name":"setRequiredGMLevelByProposalType","nameLocation":"19462:32:50","nodeType":"FunctionDefinition","parameters":{"id":20616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20613,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"19530:17:50","nodeType":"VariableDeclaration","scope":20673,"src":"19500:47:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":20612,"nodeType":"UserDefinedTypeName","pathNode":{"id":20611,"name":"GovernorTypesV10.ProposalType","nameLocations":["19500:16:50","19517:12:50"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"19500:29:50"},"referencedDeclaration":25017,"src":"19500:29:50","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":20615,"mutability":"mutable","name":"newGMWeight","nameLocation":"19561:11:50","nodeType":"VariableDeclaration","scope":20673,"src":"19553:19:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20614,"name":"uint256","nodeType":"ElementaryTypeName","src":"19553:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19494:82:50"},"returnParameters":{"id":20617,"nodeType":"ParameterList","parameters":[],"src":"19586:0:50"},"scope":20674,"src":"19453:768:50","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":20675,"src":"2502:17721:50","usedErrors":[19715,19720],"usedEvents":[19650,19657,19664,19671,19678,19685,19692,19698,19704,19710,19730,19740,19750,19760]}],"src":"1195:19029:50"},"id":50},"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol","exportedSymbols":{"Checkpoints":[10447],"GovernorClockLogicV10":[19614],"GovernorConfiguratorV10":[20674],"GovernorDepositLogicV10":[21225],"GovernorStateLogicV10":[24718],"GovernorStorageTypesV10":[24892],"GovernorTypesV10":[25022],"SafeCast":[8770]},"id":21226,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":20676,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:51"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./GovernorStorageTypesV10.sol","id":20678,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21226,"sourceUnit":24893,"src":"1220:72:51","symbolAliases":[{"foreign":{"id":20677,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1229:23:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol","file":"./GovernorStateLogicV10.sol","id":20680,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21226,"sourceUnit":24719,"src":"1293:68:51","symbolAliases":[{"foreign":{"id":20679,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"1302:21:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","file":"./GovernorTypesV10.sol","id":20682,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21226,"sourceUnit":25023,"src":"1362:58:51","symbolAliases":[{"foreign":{"id":20681,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"1371:16:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol","file":"./GovernorConfiguratorV10.sol","id":20684,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21226,"sourceUnit":20675,"src":"1421:72:51","symbolAliases":[{"foreign":{"id":20683,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"1430:23:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":20686,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21226,"sourceUnit":10448,"src":"1494:84:51","symbolAliases":[{"foreign":{"id":20685,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1503:11:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":20688,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21226,"sourceUnit":8771,"src":"1579:75:51","symbolAliases":[{"foreign":{"id":20687,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1588:8:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol","file":"./GovernorClockLogicV10.sol","id":20690,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21226,"sourceUnit":19615,"src":"1655:68:51","symbolAliases":[{"foreign":{"id":20689,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"1664:21:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorDepositLogicV10","contractDependencies":[],"contractKind":"library","documentation":{"id":20691,"nodeType":"StructuredDocumentation","src":"1724:259:51","text":"@title GovernorDepositLogicV10 Library\n @notice Library for managing deposits related to proposals in the Governor contract.\n @dev This library provides functions to deposit and withdraw tokens for proposals, and to get deposit-related information."},"fullyImplemented":true,"id":21225,"linearizedBaseContracts":[21225],"name":"GovernorDepositLogicV10","nameLocation":"1991:23:51","nodeType":"ContractDefinition","nodes":[{"global":false,"id":20695,"libraryName":{"id":20692,"name":"Checkpoints","nameLocations":["2025:11:51"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"2025:11:51"},"nodeType":"UsingForDirective","src":"2019:43:51","typeName":{"id":20694,"nodeType":"UserDefinedTypeName","pathNode":{"id":20693,"name":"Checkpoints.Trace208","nameLocations":["2041:11:51","2053:8:51"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"2041:20:51"},"referencedDeclaration":9409,"src":"2041:20:51","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"anonymous":false,"documentation":{"id":20696,"nodeType":"StructuredDocumentation","src":"2065:54:51","text":"@dev Emitted when a deposit is made to a proposal."},"eventSelector":"65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c","id":20704,"name":"ProposalDeposit","nameLocation":"2128:15:51","nodeType":"EventDefinition","parameters":{"id":20703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20698,"indexed":true,"mutability":"mutable","name":"depositor","nameLocation":"2160:9:51","nodeType":"VariableDeclaration","scope":20704,"src":"2144:25:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20697,"name":"address","nodeType":"ElementaryTypeName","src":"2144:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20700,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2187:10:51","nodeType":"VariableDeclaration","scope":20704,"src":"2171:26:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20699,"name":"uint256","nodeType":"ElementaryTypeName","src":"2171:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20702,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2207:6:51","nodeType":"VariableDeclaration","scope":20704,"src":"2199:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2199:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2143:71:51"},"src":"2122:93:51"},{"anonymous":false,"documentation":{"id":20705,"nodeType":"StructuredDocumentation","src":"2219:61:51","text":"@dev Emitted when a deposit is withdrawn from a proposal."},"eventSelector":"fbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1","id":20713,"name":"ProposalWithdraw","nameLocation":"2289:16:51","nodeType":"EventDefinition","parameters":{"id":20712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20707,"indexed":true,"mutability":"mutable","name":"withdrawer","nameLocation":"2322:10:51","nodeType":"VariableDeclaration","scope":20713,"src":"2306:26:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20706,"name":"address","nodeType":"ElementaryTypeName","src":"2306:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20709,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2350:10:51","nodeType":"VariableDeclaration","scope":20713,"src":"2334:26:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20708,"name":"uint256","nodeType":"ElementaryTypeName","src":"2334:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20711,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2370:6:51","nodeType":"VariableDeclaration","scope":20713,"src":"2362:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20710,"name":"uint256","nodeType":"ElementaryTypeName","src":"2362:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2305:72:51"},"src":"2283:95:51"},{"documentation":{"id":20714,"nodeType":"StructuredDocumentation","src":"2382:53:51","text":"@dev Thrown when there is no deposit to withdraw."},"errorSelector":"15fb458d","id":20720,"name":"GovernorNoDepositToWithdraw","nameLocation":"2444:27:51","nodeType":"ErrorDefinition","parameters":{"id":20719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20716,"mutability":"mutable","name":"proposalId","nameLocation":"2480:10:51","nodeType":"VariableDeclaration","scope":20720,"src":"2472:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20715,"name":"uint256","nodeType":"ElementaryTypeName","src":"2472:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20718,"mutability":"mutable","name":"depositer","nameLocation":"2500:9:51","nodeType":"VariableDeclaration","scope":20720,"src":"2492:17:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20717,"name":"address","nodeType":"ElementaryTypeName","src":"2492:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2471:39:51"},"src":"2438:73:51"},{"documentation":{"id":20721,"nodeType":"StructuredDocumentation","src":"2515:76:51","text":"@dev Thrown when the deposit amount is invalid (must be greater than 0)."},"errorSelector":"c22b340f","id":20723,"name":"GovernorInvalidDepositAmount","nameLocation":"2600:28:51","nodeType":"ErrorDefinition","parameters":{"id":20722,"nodeType":"ParameterList","parameters":[],"src":"2628:2:51"},"src":"2594:37:51"},{"documentation":{"id":20724,"nodeType":"StructuredDocumentation","src":"2635:52:51","text":"@dev Thrown when the proposal ID does not exist."},"errorSelector":"6ad06075","id":20728,"name":"GovernorNonexistentProposal","nameLocation":"2696:27:51","nodeType":"ErrorDefinition","parameters":{"id":20727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20726,"mutability":"mutable","name":"proposalId","nameLocation":"2732:10:51","nodeType":"VariableDeclaration","scope":20728,"src":"2724:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20725,"name":"uint256","nodeType":"ElementaryTypeName","src":"2724:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2723:20:51"},"src":"2690:54:51"},{"documentation":{"id":20729,"nodeType":"StructuredDocumentation","src":"2748:70:51","text":"@dev Thrown when the grantee tries to deposit for their own grant."},"errorSelector":"784751ae","id":20733,"name":"GranteeCannotDepositOwnGrant","nameLocation":"2827:28:51","nodeType":"ErrorDefinition","parameters":{"id":20732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20731,"mutability":"mutable","name":"proposalId","nameLocation":"2864:10:51","nodeType":"VariableDeclaration","scope":20733,"src":"2856:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20730,"name":"uint256","nodeType":"ElementaryTypeName","src":"2856:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2855:20:51"},"src":"2821:55:51"},{"body":{"id":20823,"nodeType":"Block","src":"3430:786:51","statements":[{"assignments":[20745],"declarations":[{"constant":false,"id":20745,"mutability":"mutable","name":"$","nameLocation":"3484:1:51","nodeType":"VariableDeclaration","scope":20823,"src":"3436:49:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20744,"nodeType":"UserDefinedTypeName","pathNode":{"id":20743,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["3436:23:51","3460:15:51"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"3436:39:51"},"referencedDeclaration":24891,"src":"3436:39:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20749,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20746,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"3488:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3512:18:51","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"3488:42:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3488:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3436:96:51"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20750,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20736,"src":"3542:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":20751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3552:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3542:11:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20757,"nodeType":"IfStatement","src":"3538:69:51","trueBody":{"id":20756,"nodeType":"Block","src":"3555:52:51","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":20753,"name":"GovernorInvalidDepositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20723,"src":"3570:28:51","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":20754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:30:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20755,"nodeType":"RevertStatement","src":"3563:37:51"}]}},{"assignments":[20762],"declarations":[{"constant":false,"id":20762,"mutability":"mutable","name":"proposal","nameLocation":"3651:8:51","nodeType":"VariableDeclaration","scope":20823,"src":"3613:46:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"},"typeName":{"id":20761,"nodeType":"UserDefinedTypeName","pathNode":{"id":20760,"name":"GovernorTypesV10.ProposalCore","nameLocations":["3613:16:51","3630:12:51"],"nodeType":"IdentifierPath","referencedDeclaration":24981,"src":"3613:29:51"},"referencedDeclaration":24981,"src":"3613:29:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"}},"visibility":"internal"}],"id":20767,"initialValue":{"baseExpression":{"expression":{"id":20763,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20745,"src":"3662:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3664:9:51","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"3662:11:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":20766,"indexExpression":{"id":20765,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20738,"src":"3674:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3662:23:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3613:72:51"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":20768,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20762,"src":"3696:8:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":20769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3705:16:51","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"3696:25:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":20770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3725:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3696:30:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20777,"nodeType":"IfStatement","src":"3692:97:51","trueBody":{"id":20776,"nodeType":"Block","src":"3728:61:51","statements":[{"errorCall":{"arguments":[{"id":20773,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20738,"src":"3771:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20772,"name":"GovernorNonexistentProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20728,"src":"3743:27:51","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":20774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3743:39:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20775,"nodeType":"RevertStatement","src":"3736:46:51"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":20791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":20782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":20778,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20762,"src":"3799:8:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":20779,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3808:8:51","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":24964,"src":"3799:17:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":20780,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3820:3:51","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":20781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3824:6:51","memberName":"sender","nodeType":"MemberAccess","src":"3820:10:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3799:31:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"id":20790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":20783,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20745,"src":"3834:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3836:12:51","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":24835,"src":"3834:14:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$25017_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalType)"}},"id":20786,"indexExpression":{"id":20785,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20738,"src":"3849:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3834:26:51","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":20787,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"3864:16:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":20788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3881:12:51","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"3864:29:51","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":20789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3894:5:51","memberName":"Grant","nodeType":"MemberAccess","referencedDeclaration":25016,"src":"3864:35:51","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"src":"3834:65:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3799:100:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20797,"nodeType":"IfStatement","src":"3795:168:51","trueBody":{"id":20796,"nodeType":"Block","src":"3901:62:51","statements":[{"errorCall":{"arguments":[{"id":20793,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20738,"src":"3945:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20792,"name":"GranteeCannotDepositOwnGrant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20733,"src":"3916:28:51","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":20794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3916:40:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20795,"nodeType":"RevertStatement","src":"3909:47:51"}]}},{"expression":{"arguments":[{"id":20801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20738,"src":"4018:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":20804,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"4076:16:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":20805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4093:13:51","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"4076:30:51","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":20806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4107:7:51","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":24982,"src":"4076:38:51","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":20802,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"4036:21:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":20803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4058:17:51","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"4036:39:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":20807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:79:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":20798,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"3969:21:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":20800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3991:19:51","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"3969:41:51","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":20808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3969:152:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":20809,"nodeType":"ExpressionStatement","src":"3969:152:51"},{"expression":{"id":20814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":20810,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20762,"src":"4128:8:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":20812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4137:13:51","memberName":"depositAmount","nodeType":"MemberAccess","referencedDeclaration":24978,"src":"4128:22:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":20813,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20736,"src":"4154:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4128:32:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20815,"nodeType":"ExpressionStatement","src":"4128:32:51"},{"expression":{"arguments":[{"id":20817,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20736,"src":"4180:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":20818,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4188:3:51","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":20819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4192:6:51","memberName":"sender","nodeType":"MemberAccess","src":"4188:10:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20820,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20738,"src":"4200:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20816,"name":"depositFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21018,"src":"4167:12:51","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":20821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4167:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20822,"nodeType":"ExpressionStatement","src":"4167:44:51"}]},"documentation":{"id":20734,"nodeType":"StructuredDocumentation","src":"2925:440:51","text":" @notice Deposits tokens for a proposal.\n @dev Proposer and proposal sponsors can contribute towards a proposal's deposit using this function. The proposal must be in the Pending state to make a deposit. The amount deposited from an address is tracked and can be withdrawn by the same address when the voting round is over.\n @param amount The amount of tokens to deposit.\n @param proposalId The ID of the proposal."},"functionSelector":"e2bbb158","id":20824,"implemented":true,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"3377:7:51","nodeType":"FunctionDefinition","parameters":{"id":20739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20736,"mutability":"mutable","name":"amount","nameLocation":"3393:6:51","nodeType":"VariableDeclaration","scope":20824,"src":"3385:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20735,"name":"uint256","nodeType":"ElementaryTypeName","src":"3385:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20738,"mutability":"mutable","name":"proposalId","nameLocation":"3409:10:51","nodeType":"VariableDeclaration","scope":20824,"src":"3401:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20737,"name":"uint256","nodeType":"ElementaryTypeName","src":"3401:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3384:36:51"},"returnParameters":{"id":20740,"nodeType":"ParameterList","parameters":[],"src":"3430:0:51"},"scope":21225,"src":"3368:848:51","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":20934,"nodeType":"Block","src":"4798:926:51","statements":[{"assignments":[20836],"declarations":[{"constant":false,"id":20836,"mutability":"mutable","name":"$","nameLocation":"4852:1:51","nodeType":"VariableDeclaration","scope":20934,"src":"4804:49:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20835,"nodeType":"UserDefinedTypeName","pathNode":{"id":20834,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["4804:23:51","4828:15:51"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"4804:39:51"},"referencedDeclaration":24891,"src":"4804:39:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20840,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20837,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"4856:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4880:18:51","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"4856:42:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4856:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4804:96:51"},{"assignments":[20842],"declarations":[{"constant":false,"id":20842,"mutability":"mutable","name":"amount","nameLocation":"4914:6:51","nodeType":"VariableDeclaration","scope":20934,"src":"4906:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20841,"name":"uint256","nodeType":"ElementaryTypeName","src":"4906:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20849,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":20843,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20836,"src":"4923:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20844,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4925:8:51","memberName":"deposits","nodeType":"MemberAccess","referencedDeclaration":24807,"src":"4923:10:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":20846,"indexExpression":{"id":20845,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20827,"src":"4934:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4923:22:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":20848,"indexExpression":{"id":20847,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20829,"src":"4946:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4923:33:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4906:50:51"},{"expression":{"arguments":[{"id":20853,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20827,"src":"5012:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":20862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":20854,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"5030:21:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":20855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5052:26:51","memberName":"ALL_PROPOSAL_STATES_BITMAP","nodeType":"MemberAccess","referencedDeclaration":24420,"src":"5030:48:51","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":20858,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5129:16:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":20859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5146:13:51","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"5129:30:51","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":20860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5160:7:51","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":24982,"src":"5129:38:51","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":20856,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"5089:21:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":20857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5111:17:51","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"5089:39:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":20861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5089:79:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5030:138:51","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":20850,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"4963:21:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":20852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4985:19:51","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"4963:41:51","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":20863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4963:211:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":20864,"nodeType":"ExpressionStatement","src":"4963:211:51"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20865,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20842,"src":"5185:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":20866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5195:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5185:11:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20874,"nodeType":"IfStatement","src":"5181:89:51","trueBody":{"id":20873,"nodeType":"Block","src":"5198:72:51","statements":[{"errorCall":{"arguments":[{"id":20869,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20827,"src":"5241:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20870,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20829,"src":"5253:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":20868,"name":"GovernorNoDepositToWithdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20720,"src":"5213:27:51","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) pure"}},"id":20871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5213:50:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20872,"nodeType":"RevertStatement","src":"5206:57:51"}]}},{"expression":{"id":20883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":20875,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20836,"src":"5276:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20879,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5278:8:51","memberName":"deposits","nodeType":"MemberAccess","referencedDeclaration":24807,"src":"5276:10:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":20880,"indexExpression":{"id":20877,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20827,"src":"5287:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5276:22:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":20881,"indexExpression":{"id":20878,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20829,"src":"5299:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5276:33:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":20882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5312:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5276:37:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20884,"nodeType":"ExpressionStatement","src":"5276:37:51"},{"assignments":[20886],"declarations":[{"constant":false,"id":20886,"mutability":"mutable","name":"currentVotes","nameLocation":"5328:12:51","nodeType":"VariableDeclaration","scope":20934,"src":"5320:20:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":20885,"name":"uint208","nodeType":"ElementaryTypeName","src":"5320:7:51","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":20896,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20892,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"5394:21:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":20893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5416:5:51","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"5394:27:51","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":20894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5394:29:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":20887,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20836,"src":"5343:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20888,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5345:19:51","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":24872,"src":"5343:21:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":20890,"indexExpression":{"id":20889,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20829,"src":"5365:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5343:32:51","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":20891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5376:17:51","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"5343:50:51","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":20895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5343:81:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"5320:104:51"},{"assignments":[20898],"declarations":[{"constant":false,"id":20898,"mutability":"mutable","name":"newVotes","nameLocation":"5438:8:51","nodeType":"VariableDeclaration","scope":20934,"src":"5430:16:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":20897,"name":"uint208","nodeType":"ElementaryTypeName","src":"5430:7:51","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":20905,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":20903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20901,"name":"currentVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20886,"src":"5468:12:51","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":20902,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20842,"src":"5483:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5468:21:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20899,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"5449:8:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":20900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5458:9:51","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"5449:18:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":20904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5449:41:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"5430:60:51"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20912,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"5534:21:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":20913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5556:5:51","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"5534:27:51","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":20914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5534:29:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":20915,"name":"newVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20898,"src":"5565:8:51","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":20906,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20836,"src":"5496:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20909,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5498:19:51","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":24872,"src":"5496:21:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":20910,"indexExpression":{"id":20908,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20829,"src":"5518:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5496:32:51","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":20911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5529:4:51","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"5496:37:51","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":20916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5496:78:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":20917,"nodeType":"ExpressionStatement","src":"5496:78:51"},{"expression":{"arguments":[{"arguments":[{"id":20922,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20829,"src":"5605:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20923,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20842,"src":"5616:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":20919,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20836,"src":"5589:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5591:4:51","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"5589:6:51","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":20921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5596:8:51","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":67664,"src":"5589:15:51","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":20924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5589:34:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f725631303a207472616e73666572206661696c6564","id":20925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5625:34:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581","typeString":"literal_string \"B3TRGovernorV10: transfer failed\""},"value":"B3TRGovernorV10: transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581","typeString":"literal_string \"B3TRGovernorV10: transfer failed\""}],"id":20918,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5581:7:51","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5581:79:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20927,"nodeType":"ExpressionStatement","src":"5581:79:51"},{"eventCall":{"arguments":[{"id":20929,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20829,"src":"5689:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20930,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20827,"src":"5700:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20931,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20842,"src":"5712:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":20928,"name":"ProposalWithdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20713,"src":"5672:16:51","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":20932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5672:47:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20933,"nodeType":"EmitStatement","src":"5667:52:51"}]},"documentation":{"id":20825,"nodeType":"StructuredDocumentation","src":"4220:509:51","text":" @notice Withdraws tokens previously deposited to a proposal.\n @dev A depositor can only withdraw their tokens once the proposal is no longer Pending or Active. Each address can only withdraw once per proposal. Reverts if no deposits are available to withdraw or if the deposits have already been withdrawn by the message sender. Reverts if the token transfer fails.\n @param proposalId The ID of the proposal to withdraw deposits from.\n @param depositer The address of the depositor."},"functionSelector":"00f714ce","id":20935,"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"4741:8:51","nodeType":"FunctionDefinition","parameters":{"id":20830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20827,"mutability":"mutable","name":"proposalId","nameLocation":"4758:10:51","nodeType":"VariableDeclaration","scope":20935,"src":"4750:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20826,"name":"uint256","nodeType":"ElementaryTypeName","src":"4750:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20829,"mutability":"mutable","name":"depositer","nameLocation":"4778:9:51","nodeType":"VariableDeclaration","scope":20935,"src":"4770:17:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20828,"name":"address","nodeType":"ElementaryTypeName","src":"4770:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4749:39:51"},"returnParameters":{"id":20831,"nodeType":"ParameterList","parameters":[],"src":"4798:0:51"},"scope":21225,"src":"4732:992:51","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":21017,"nodeType":"Block","src":"6149:580:51","statements":[{"assignments":[20949],"declarations":[{"constant":false,"id":20949,"mutability":"mutable","name":"$","nameLocation":"6203:1:51","nodeType":"VariableDeclaration","scope":21017,"src":"6155:49:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":20948,"nodeType":"UserDefinedTypeName","pathNode":{"id":20947,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["6155:23:51","6179:15:51"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"6155:39:51"},"referencedDeclaration":24891,"src":"6155:39:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":20953,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20950,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"6207:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":20951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6231:18:51","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"6207:42:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":20952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6207:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6155:96:51"},{"expression":{"arguments":[{"arguments":[{"id":20958,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20940,"src":"6285:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":20961,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6304:4:51","typeDescriptions":{"typeIdentifier":"t_contract$_GovernorDepositLogicV10_$21225","typeString":"library GovernorDepositLogicV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GovernorDepositLogicV10_$21225","typeString":"library GovernorDepositLogicV10"}],"id":20960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6296:7:51","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20959,"name":"address","nodeType":"ElementaryTypeName","src":"6296:7:51","typeDescriptions":{}}},"id":20962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6296:13:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20963,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20938,"src":"6311:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":20955,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20949,"src":"6265:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6267:4:51","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"6265:6:51","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":20957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6272:12:51","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":67675,"src":"6265:19:51","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":20964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6265:53:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f725631303a207472616e73666572206661696c6564","id":20965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6320:34:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581","typeString":"literal_string \"B3TRGovernorV10: transfer failed\""},"value":"B3TRGovernorV10: transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581","typeString":"literal_string \"B3TRGovernorV10: transfer failed\""}],"id":20954,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6257:7:51","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6257:98:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20967,"nodeType":"ExpressionStatement","src":"6257:98:51"},{"expression":{"id":20976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":20968,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20949,"src":"6362:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20972,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6364:8:51","memberName":"deposits","nodeType":"MemberAccess","referencedDeclaration":24807,"src":"6362:10:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":20973,"indexExpression":{"id":20970,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20942,"src":"6373:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6362:22:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":20974,"indexExpression":{"id":20971,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20940,"src":"6385:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6362:33:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":20975,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20938,"src":"6399:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6362:43:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20977,"nodeType":"ExpressionStatement","src":"6362:43:51"},{"assignments":[20979],"declarations":[{"constant":false,"id":20979,"mutability":"mutable","name":"currentVotes","nameLocation":"6420:12:51","nodeType":"VariableDeclaration","scope":21017,"src":"6412:20:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":20978,"name":"uint208","nodeType":"ElementaryTypeName","src":"6412:7:51","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":20989,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":20985,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"6486:21:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":20986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6508:5:51","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"6486:27:51","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":20987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6486:29:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":20980,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20949,"src":"6435:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":20981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6437:19:51","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":24872,"src":"6435:21:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":20983,"indexExpression":{"id":20982,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20940,"src":"6457:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6435:32:51","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":20984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6468:17:51","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"6435:50:51","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":20988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6435:81:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"6412:104:51"},{"assignments":[20991],"declarations":[{"constant":false,"id":20991,"mutability":"mutable","name":"newVotes","nameLocation":"6530:8:51","nodeType":"VariableDeclaration","scope":21017,"src":"6522:16:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":20990,"name":"uint208","nodeType":"ElementaryTypeName","src":"6522:7:51","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":20998,"initialValue":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":20997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":20992,"name":"currentVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20979,"src":"6541:12:51","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":20995,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20938,"src":"6575:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20993,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"6556:8:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":20994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6565:9:51","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"6556:18:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":20996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6556:26:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"6541:41:51","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"6522:60:51"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21005,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"6626:21:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":21006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6648:5:51","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"6626:27:51","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":21007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6626:29:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":21008,"name":"newVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20991,"src":"6657:8:51","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":20999,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20949,"src":"6588:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6590:19:51","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":24872,"src":"6588:21:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":21003,"indexExpression":{"id":21001,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20940,"src":"6610:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6588:32:51","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":21004,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6621:4:51","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"6588:37:51","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":21009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6588:78:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":21010,"nodeType":"ExpressionStatement","src":"6588:78:51"},{"eventCall":{"arguments":[{"id":21012,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20940,"src":"6694:9:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21013,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20942,"src":"6705:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21014,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20938,"src":"6717:6:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21011,"name":"ProposalDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20704,"src":"6678:15:51","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":21015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6678:46:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21016,"nodeType":"EmitStatement","src":"6673:51:51"}]},"documentation":{"id":20936,"nodeType":"StructuredDocumentation","src":"5728:316:51","text":" @notice Internal function to deposit tokens to a proposal and store the deposit in the deposits checkpoint.\n @dev Emits a {ProposalDeposit} event.\n @param amount The amount of tokens to deposit.\n @param depositor The address of the depositor.\n @param proposalId The ID of the proposal."},"id":21018,"implemented":true,"kind":"function","modifiers":[],"name":"depositFunds","nameLocation":"6056:12:51","nodeType":"FunctionDefinition","parameters":{"id":20943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20938,"mutability":"mutable","name":"amount","nameLocation":"6082:6:51","nodeType":"VariableDeclaration","scope":21018,"src":"6074:14:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20937,"name":"uint256","nodeType":"ElementaryTypeName","src":"6074:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20940,"mutability":"mutable","name":"depositor","nameLocation":"6102:9:51","nodeType":"VariableDeclaration","scope":21018,"src":"6094:17:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20939,"name":"address","nodeType":"ElementaryTypeName","src":"6094:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20942,"mutability":"mutable","name":"proposalId","nameLocation":"6125:10:51","nodeType":"VariableDeclaration","scope":21018,"src":"6117:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20941,"name":"uint256","nodeType":"ElementaryTypeName","src":"6117:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6068:71:51"},"returnParameters":{"id":20944,"nodeType":"ParameterList","parameters":[],"src":"6149:0:51"},"scope":21225,"src":"6047:682:51","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":21044,"nodeType":"Block","src":"7124:148:51","statements":[{"assignments":[21032],"declarations":[{"constant":false,"id":21032,"mutability":"mutable","name":"$","nameLocation":"7178:1:51","nodeType":"VariableDeclaration","scope":21044,"src":"7130:49:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21031,"nodeType":"UserDefinedTypeName","pathNode":{"id":21030,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["7130:23:51","7154:15:51"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"7130:39:51"},"referencedDeclaration":24891,"src":"7130:39:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21036,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21033,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"7182:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7206:18:51","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"7182:42:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7182:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7130:96:51"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":21037,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21032,"src":"7239:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7241:8:51","memberName":"deposits","nodeType":"MemberAccess","referencedDeclaration":24807,"src":"7239:10:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":21040,"indexExpression":{"id":21039,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21021,"src":"7250:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7239:22:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":21042,"indexExpression":{"id":21041,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21023,"src":"7262:4:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7239:28:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21027,"id":21043,"nodeType":"Return","src":"7232:35:51"}]},"documentation":{"id":21019,"nodeType":"StructuredDocumentation","src":"6778:241:51","text":" @notice Returns the amount of tokens deposited by a user for a proposal.\n @param proposalId The ID of the proposal.\n @param user The address of the user.\n @return uint256 The amount of tokens deposited by the user."},"id":21045,"implemented":true,"kind":"function","modifiers":[],"name":"getUserDeposit","nameLocation":"7031:14:51","nodeType":"FunctionDefinition","parameters":{"id":21024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21021,"mutability":"mutable","name":"proposalId","nameLocation":"7059:10:51","nodeType":"VariableDeclaration","scope":21045,"src":"7051:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21020,"name":"uint256","nodeType":"ElementaryTypeName","src":"7051:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21023,"mutability":"mutable","name":"user","nameLocation":"7083:4:51","nodeType":"VariableDeclaration","scope":21045,"src":"7075:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21022,"name":"address","nodeType":"ElementaryTypeName","src":"7075:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7045:46:51"},"returnParameters":{"id":21027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21045,"src":"7115:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21025,"name":"uint256","nodeType":"ElementaryTypeName","src":"7115:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7114:9:51"},"scope":21225,"src":"7022:250:51","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21068,"nodeType":"Block","src":"7549:160:51","statements":[{"assignments":[21057],"declarations":[{"constant":false,"id":21057,"mutability":"mutable","name":"$","nameLocation":"7603:1:51","nodeType":"VariableDeclaration","scope":21068,"src":"7555:49:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21056,"nodeType":"UserDefinedTypeName","pathNode":{"id":21055,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["7555:23:51","7579:15:51"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"7555:39:51"},"referencedDeclaration":24891,"src":"7555:39:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21061,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21058,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"7607:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7631:18:51","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"7607:42:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7607:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7555:96:51"},{"expression":{"expression":{"baseExpression":{"expression":{"id":21062,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21057,"src":"7664:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21063,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7666:9:51","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"7664:11:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":21065,"indexExpression":{"id":21064,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21048,"src":"7676:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7664:23:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":21066,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7688:16:51","memberName":"depositThreshold","nodeType":"MemberAccess","referencedDeclaration":24980,"src":"7664:40:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21052,"id":21067,"nodeType":"Return","src":"7657:47:51"}]},"documentation":{"id":21046,"nodeType":"StructuredDocumentation","src":"7276:176:51","text":" @notice Returns the deposit threshold for a proposal.\n @param proposalId The ID of the proposal.\n @return uint256 The deposit threshold for the proposal."},"id":21069,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDepositThreshold","nameLocation":"7464:24:51","nodeType":"FunctionDefinition","parameters":{"id":21049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21048,"mutability":"mutable","name":"proposalId","nameLocation":"7502:10:51","nodeType":"VariableDeclaration","scope":21069,"src":"7494:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21047,"name":"uint256","nodeType":"ElementaryTypeName","src":"7494:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7488:28:51"},"returnParameters":{"id":21052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21069,"src":"7540:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21050,"name":"uint256","nodeType":"ElementaryTypeName","src":"7540:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7539:9:51"},"scope":21225,"src":"7455:254:51","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21092,"nodeType":"Block","src":"8003:157:51","statements":[{"assignments":[21081],"declarations":[{"constant":false,"id":21081,"mutability":"mutable","name":"$","nameLocation":"8057:1:51","nodeType":"VariableDeclaration","scope":21092,"src":"8009:49:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21080,"nodeType":"UserDefinedTypeName","pathNode":{"id":21079,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["8009:23:51","8033:15:51"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"8009:39:51"},"referencedDeclaration":24891,"src":"8009:39:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21085,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21082,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"8061:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8085:18:51","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"8061:42:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8061:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8009:96:51"},{"expression":{"expression":{"baseExpression":{"expression":{"id":21086,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21081,"src":"8118:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8120:9:51","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"8118:11:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":21089,"indexExpression":{"id":21088,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21072,"src":"8130:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8118:23:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":21090,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8142:13:51","memberName":"depositAmount","nodeType":"MemberAccess","referencedDeclaration":24978,"src":"8118:37:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21076,"id":21091,"nodeType":"Return","src":"8111:44:51"}]},"documentation":{"id":21070,"nodeType":"StructuredDocumentation","src":"7713:198:51","text":" @notice Returns the total amount of deposits made to a proposal.\n @param proposalId The ID of the proposal.\n @return uint256 The total amount of deposits made to the proposal."},"id":21093,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalDeposits","nameLocation":"7923:19:51","nodeType":"FunctionDefinition","parameters":{"id":21073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21072,"mutability":"mutable","name":"proposalId","nameLocation":"7956:10:51","nodeType":"VariableDeclaration","scope":21093,"src":"7948:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21071,"name":"uint256","nodeType":"ElementaryTypeName","src":"7948:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7942:28:51"},"returnParameters":{"id":21076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21075,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21093,"src":"7994:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21074,"name":"uint256","nodeType":"ElementaryTypeName","src":"7994:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7993:9:51"},"scope":21225,"src":"7914:246:51","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21126,"nodeType":"Block","src":"8492:249:51","statements":[{"assignments":[21105],"declarations":[{"constant":false,"id":21105,"mutability":"mutable","name":"$","nameLocation":"8546:1:51","nodeType":"VariableDeclaration","scope":21126,"src":"8498:49:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21104,"nodeType":"UserDefinedTypeName","pathNode":{"id":21103,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["8498:23:51","8522:15:51"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"8498:39:51"},"referencedDeclaration":24891,"src":"8498:39:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21109,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21106,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"8550:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8574:18:51","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"8550:42:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8550:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8498:96:51"},{"assignments":[21114],"declarations":[{"constant":false,"id":21114,"mutability":"mutable","name":"proposal","nameLocation":"8638:8:51","nodeType":"VariableDeclaration","scope":21126,"src":"8600:46:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"},"typeName":{"id":21113,"nodeType":"UserDefinedTypeName","pathNode":{"id":21112,"name":"GovernorTypesV10.ProposalCore","nameLocations":["8600:16:51","8617:12:51"],"nodeType":"IdentifierPath","referencedDeclaration":24981,"src":"8600:29:51"},"referencedDeclaration":24981,"src":"8600:29:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"}},"visibility":"internal"}],"id":21119,"initialValue":{"baseExpression":{"expression":{"id":21115,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21105,"src":"8649:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8651:9:51","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"8649:11:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":21118,"indexExpression":{"id":21117,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21096,"src":"8661:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8649:23:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8600:72:51"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":21120,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21114,"src":"8685:8:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":21121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8694:13:51","memberName":"depositAmount","nodeType":"MemberAccess","referencedDeclaration":24978,"src":"8685:22:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":21122,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21114,"src":"8711:8:51","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":21123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8720:16:51","memberName":"depositThreshold","nodeType":"MemberAccess","referencedDeclaration":24980,"src":"8711:25:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8685:51:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":21100,"id":21125,"nodeType":"Return","src":"8678:58:51"}]},"documentation":{"id":21094,"nodeType":"StructuredDocumentation","src":"8164:236:51","text":" @notice Returns true if the threshold of deposits required to reach a proposal has been reached.\n @param proposalId The ID of the proposal.\n @return True if the deposit threshold has been reached, false otherwise."},"id":21127,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDepositReached","nameLocation":"8412:22:51","nodeType":"FunctionDefinition","parameters":{"id":21097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21096,"mutability":"mutable","name":"proposalId","nameLocation":"8448:10:51","nodeType":"VariableDeclaration","scope":21127,"src":"8440:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21095,"name":"uint256","nodeType":"ElementaryTypeName","src":"8440:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8434:28:51"},"returnParameters":{"id":21100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21099,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21127,"src":"8486:4:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21098,"name":"bool","nodeType":"ElementaryTypeName","src":"8486:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8485:6:51"},"scope":21225,"src":"8403:338:51","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21176,"nodeType":"Block","src":"9248:464:51","statements":[{"assignments":[21140],"declarations":[{"constant":false,"id":21140,"mutability":"mutable","name":"$","nameLocation":"9302:1:51","nodeType":"VariableDeclaration","scope":21176,"src":"9254:49:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21139,"nodeType":"UserDefinedTypeName","pathNode":{"id":21138,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["9254:23:51","9278:15:51"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"9254:39:51"},"referencedDeclaration":24891,"src":"9254:39:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21144,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21141,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"9306:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9330:18:51","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"9306:42:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9254:96:51"},{"assignments":[21146],"declarations":[{"constant":false,"id":21146,"mutability":"mutable","name":"percentageBasedThreshold","nameLocation":"9364:24:51","nodeType":"VariableDeclaration","scope":21176,"src":"9356:32:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21145,"name":"uint256","nodeType":"ElementaryTypeName","src":"9356:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21159,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":21149,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21131,"src":"9446:12:51","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":21147,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"9392:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":21148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9416:29:51","memberName":"getDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":20474,"src":"9392:53:51","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (enum GovernorTypesV10.ProposalType) view returns (uint256)"}},"id":21150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9392:67:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":21151,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21140,"src":"9468:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9470:4:51","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":24798,"src":"9468:6:51","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":21153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9475:11:51","memberName":"totalSupply","nodeType":"MemberAccess","referencedDeclaration":62864,"src":"9468:18:51","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":21154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9468:20:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9392:96:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":21156,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9391:98:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":21157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9492:3:51","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9391:104:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9356:139:51"},{"assignments":[21161],"declarations":[{"constant":false,"id":21161,"mutability":"mutable","name":"maxThreshold","nameLocation":"9509:12:51","nodeType":"VariableDeclaration","scope":21176,"src":"9501:20:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21160,"name":"uint256","nodeType":"ElementaryTypeName","src":"9501:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21166,"initialValue":{"arguments":[{"id":21164,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21131,"src":"9571:12:51","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":21162,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"9524:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":21163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9548:22:51","memberName":"getDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":20526,"src":"9524:46:51","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (enum GovernorTypesV10.ProposalType) view returns (uint256)"}},"id":21165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9524:60:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9501:83:51"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21167,"name":"percentageBasedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21146,"src":"9595:24:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":21168,"name":"maxThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21161,"src":"9622:12:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9595:39:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21173,"nodeType":"IfStatement","src":"9591:79:51","trueBody":{"id":21172,"nodeType":"Block","src":"9636:34:51","statements":[{"expression":{"id":21170,"name":"maxThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21161,"src":"9651:12:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21135,"id":21171,"nodeType":"Return","src":"9644:19:51"}]}},{"expression":{"id":21174,"name":"percentageBasedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21146,"src":"9683:24:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21135,"id":21175,"nodeType":"Return","src":"9676:31:51"}]},"documentation":{"id":21128,"nodeType":"StructuredDocumentation","src":"8745:375:51","text":" @notice Internal function to calculate the deposit threshold for a proposal type as a percentage of the total supply of B3TR tokens.\n @dev In case the percentage based threshold is greater than the max threshold, the max threshold is returned.\n @param proposalType The type of proposal.\n @return uint256 The deposit threshold for the proposal type."},"id":21177,"implemented":true,"kind":"function","modifiers":[],"name":"_depositThresholdByProposalType","nameLocation":"9132:31:51","nodeType":"FunctionDefinition","parameters":{"id":21132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21131,"mutability":"mutable","name":"proposalType","nameLocation":"9199:12:51","nodeType":"VariableDeclaration","scope":21177,"src":"9169:42:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":21130,"nodeType":"UserDefinedTypeName","pathNode":{"id":21129,"name":"GovernorTypesV10.ProposalType","nameLocations":["9169:16:51","9186:12:51"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"9169:29:51"},"referencedDeclaration":25017,"src":"9169:29:51","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"9163:52:51"},"returnParameters":{"id":21135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21177,"src":"9239:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21133,"name":"uint256","nodeType":"ElementaryTypeName","src":"9239:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9238:9:51"},"scope":21225,"src":"9123:589:51","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21192,"nodeType":"Block","src":"10035:99:51","statements":[{"expression":{"arguments":[{"arguments":[{"id":21188,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21180,"src":"10110:17:51","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":21186,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"10080:16:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":21187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10097:12:51","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"10080:29:51","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":21189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10080:48:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":21185,"name":"_depositThresholdByProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21177,"src":"10048:31:51","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (enum GovernorTypesV10.ProposalType) view returns (uint256)"}},"id":21190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10048:81:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21184,"id":21191,"nodeType":"Return","src":"10041:88:51"}]},"documentation":{"id":21178,"nodeType":"StructuredDocumentation","src":"9715:212:51","text":" @notice Returns the deposit threshold for a proposal type.\n @param proposalTypeValue The type of proposal (uint8-encoded enum).\n @return uint256 The deposit threshold for the proposal type."},"functionSelector":"6b6a0704","id":21193,"implemented":true,"kind":"function","modifiers":[],"name":"depositThresholdByProposalType","nameLocation":"9939:30:51","nodeType":"FunctionDefinition","parameters":{"id":21181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21180,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"9981:17:51","nodeType":"VariableDeclaration","scope":21193,"src":"9975:23:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":21179,"name":"uint8","nodeType":"ElementaryTypeName","src":"9975:5:51","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9969:33:51"},"returnParameters":{"id":21184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21183,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21193,"src":"10026:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21182,"name":"uint256","nodeType":"ElementaryTypeName","src":"10026:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10025:9:51"},"scope":21225,"src":"9930:204:51","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":21223,"nodeType":"Block","src":"10471:198:51","statements":[{"assignments":[21207],"declarations":[{"constant":false,"id":21207,"mutability":"mutable","name":"$","nameLocation":"10525:1:51","nodeType":"VariableDeclaration","scope":21223,"src":"10477:49:51","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21206,"nodeType":"UserDefinedTypeName","pathNode":{"id":21205,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["10477:23:51","10501:15:51"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"10477:39:51"},"referencedDeclaration":24891,"src":"10477:39:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21211,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21208,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"10529:23:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10553:18:51","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"10529:42:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10529:44:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10477:96:51"},{"expression":{"arguments":[{"arguments":[{"id":21219,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21198,"src":"10653:9:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21217,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"10635:8:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":21218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10644:8:51","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"10635:17:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":21220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10635:28:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":21212,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21207,"src":"10586:1:51","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10588:19:51","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":24872,"src":"10586:21:51","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":21215,"indexExpression":{"id":21214,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21196,"src":"10608:7:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10586:30:51","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":21216,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10617:17:51","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"10586:48:51","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":21221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10586:78:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":21202,"id":21222,"nodeType":"Return","src":"10579:85:51"}]},"documentation":{"id":21194,"nodeType":"StructuredDocumentation","src":"10138:221:51","text":" @notice Returns the deposit voting power for a given account at a given timepoint.\n @param account The address of the account.\n @param timepoint The timepoint.\n @return The deposit voting power."},"functionSelector":"a56b5765","id":21224,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"10371:21:51","nodeType":"FunctionDefinition","parameters":{"id":21199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21196,"mutability":"mutable","name":"account","nameLocation":"10406:7:51","nodeType":"VariableDeclaration","scope":21224,"src":"10398:15:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21195,"name":"address","nodeType":"ElementaryTypeName","src":"10398:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21198,"mutability":"mutable","name":"timepoint","nameLocation":"10427:9:51","nodeType":"VariableDeclaration","scope":21224,"src":"10419:17:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21197,"name":"uint256","nodeType":"ElementaryTypeName","src":"10419:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10392:48:51"},"returnParameters":{"id":21202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21224,"src":"10462:7:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21200,"name":"uint256","nodeType":"ElementaryTypeName","src":"10462:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10461:9:51"},"scope":21225,"src":"10362:307:51","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":21226,"src":"1983:8688:51","usedErrors":[7025,8883,20720,20723,20728,20733,24425,24435],"usedEvents":[20704,20713]}],"src":"1195:9477:51"},"id":51},"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol","exportedSymbols":{"GovernorFunctionRestrictionsLogicV10":[21456],"GovernorStorageTypesV10":[24892]},"id":21457,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":21227,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:52"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./GovernorStorageTypesV10.sol","id":21229,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21457,"sourceUnit":24893,"src":"1220:72:52","symbolAliases":[{"foreign":{"id":21228,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1229:23:52","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorFunctionRestrictionsLogicV10","contractDependencies":[],"contractKind":"library","documentation":{"id":21230,"nodeType":"StructuredDocumentation","src":"1294:242:52","text":"@title GovernorFunctionRestrictionsLogicV10\n @notice Library for managing function restrictions within the Governor contract.\n @dev This library provides functions to whitelist or restrict functions that can be called by proposals."},"fullyImplemented":true,"id":21456,"linearizedBaseContracts":[21456],"name":"GovernorFunctionRestrictionsLogicV10","nameLocation":"1544:36:52","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":21231,"nodeType":"StructuredDocumentation","src":"1585:148:52","text":"@notice Error message for when a function is restricted by the governor.\n @param functionSelector The function selector that is restricted."},"errorSelector":"a50203dc","id":21235,"name":"GovernorRestrictedFunction","nameLocation":"1742:26:52","nodeType":"ErrorDefinition","parameters":{"id":21234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21233,"mutability":"mutable","name":"functionSelector","nameLocation":"1776:16:52","nodeType":"VariableDeclaration","scope":21235,"src":"1769:23:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":21232,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1769:6:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1768:25:52"},"src":"1736:58:52"},{"documentation":{"id":21236,"nodeType":"StructuredDocumentation","src":"1798:127:52","text":"@notice Error message for when a function selector is invalid.\n @param selector The function selector that is invalid."},"errorSelector":"1a800fb0","id":21240,"name":"GovernorFunctionInvalidSelector","nameLocation":"1934:31:52","nodeType":"ErrorDefinition","parameters":{"id":21239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21238,"mutability":"mutable","name":"selector","nameLocation":"1972:8:52","nodeType":"VariableDeclaration","scope":21240,"src":"1966:14:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":21237,"name":"bytes","nodeType":"ElementaryTypeName","src":"1966:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1965:16:52"},"src":"1928:54:52"},{"anonymous":false,"documentation":{"id":21241,"nodeType":"StructuredDocumentation","src":"1986:247:52","text":"@notice Emitted when a function is whitelisted by the governor.\n @param target The address of the contract.\n @param functionSelector The function selector.\n @param isWhitelisted Boolean indicating if the function is whitelisted."},"eventSelector":"5da7b78f7dccc6b378e3f55a7e57f9363d3c15686c0d82f85e45130393c9c970","id":21249,"name":"FunctionWhitelisted","nameLocation":"2242:19:52","nodeType":"EventDefinition","parameters":{"id":21248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21243,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"2278:6:52","nodeType":"VariableDeclaration","scope":21249,"src":"2262:22:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21242,"name":"address","nodeType":"ElementaryTypeName","src":"2262:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21245,"indexed":true,"mutability":"mutable","name":"functionSelector","nameLocation":"2301:16:52","nodeType":"VariableDeclaration","scope":21249,"src":"2286:31:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":21244,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2286:6:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":21247,"indexed":false,"mutability":"mutable","name":"isWhitelisted","nameLocation":"2324:13:52","nodeType":"VariableDeclaration","scope":21249,"src":"2319:18:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21246,"name":"bool","nodeType":"ElementaryTypeName","src":"2319:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2261:77:52"},"src":"2236:103:52"},{"body":{"id":21294,"nodeType":"Block","src":"2887:351:52","statements":[{"assignments":[21263],"declarations":[{"constant":false,"id":21263,"mutability":"mutable","name":"$","nameLocation":"2941:1:52","nodeType":"VariableDeclaration","scope":21294,"src":"2893:49:52","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21262,"nodeType":"UserDefinedTypeName","pathNode":{"id":21261,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["2893:23:52","2917:15:52"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"2893:39:52"},"referencedDeclaration":24891,"src":"2893:39:52","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21267,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21264,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"2945:23:52","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2969:18:52","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"2945:42:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2945:44:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2893:96:52"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":21274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21269,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21252,"src":"3003:6:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":21272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3021:1:52","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":21271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3013:7:52","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":21270,"name":"address","nodeType":"ElementaryTypeName","src":"3013:7:52","typeDescriptions":{}}},"id":21273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3013:10:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3003:20:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f7246756e6374696f6e5265737472696374696f6e734c6f6769635631303a2074617267657420697320746865207a65726f2061646472657373","id":21275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3025:66:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_3333b5ca7771ef9fe774e24fd2d1614cdb7b854735f2234df33c9eecba61a294","typeString":"literal_string \"GovernorFunctionRestrictionsLogicV10: target is the zero address\""},"value":"GovernorFunctionRestrictionsLogicV10: target is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3333b5ca7771ef9fe774e24fd2d1614cdb7b854735f2234df33c9eecba61a294","typeString":"literal_string \"GovernorFunctionRestrictionsLogicV10: target is the zero address\""}],"id":21268,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2995:7:52","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":21276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2995:97:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21277,"nodeType":"ExpressionStatement","src":"2995:97:52"},{"expression":{"id":21286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":21278,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21263,"src":"3098:1:52","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3100:20:52","memberName":"whitelistedFunctions","nodeType":"MemberAccess","referencedDeclaration":24787,"src":"3098:22:52","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"}},"id":21283,"indexExpression":{"id":21280,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21252,"src":"3121:6:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3098:30:52","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":21284,"indexExpression":{"id":21281,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21254,"src":"3129:16:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3098:48:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":21285,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21256,"src":"3149:13:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3098:64:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21287,"nodeType":"ExpressionStatement","src":"3098:64:52"},{"eventCall":{"arguments":[{"id":21289,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21252,"src":"3193:6:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21290,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21254,"src":"3201:16:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":21291,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21256,"src":"3219:13:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":21288,"name":"FunctionWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21249,"src":"3173:19:52","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bool_$returns$__$","typeString":"function (address,bytes4,bool)"}},"id":21292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3173:60:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21293,"nodeType":"EmitStatement","src":"3168:65:52"}]},"documentation":{"id":21250,"nodeType":"StructuredDocumentation","src":"2388:382:52","text":" @notice Set the whitelist status of a function for proposals.\n @dev This method allows restricting functions that can be called by proposals for a single function selector.\n @param target The address of the contract.\n @param functionSelector The function selector.\n @param isWhitelisted Boolean indicating if the function is whitelisted for proposals."},"functionSelector":"be9bd92b","id":21295,"implemented":true,"kind":"function","modifiers":[],"name":"setWhitelistFunction","nameLocation":"2782:20:52","nodeType":"FunctionDefinition","parameters":{"id":21257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21252,"mutability":"mutable","name":"target","nameLocation":"2816:6:52","nodeType":"VariableDeclaration","scope":21295,"src":"2808:14:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21251,"name":"address","nodeType":"ElementaryTypeName","src":"2808:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21254,"mutability":"mutable","name":"functionSelector","nameLocation":"2835:16:52","nodeType":"VariableDeclaration","scope":21295,"src":"2828:23:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":21253,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2828:6:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":21256,"mutability":"mutable","name":"isWhitelisted","nameLocation":"2862:13:52","nodeType":"VariableDeclaration","scope":21295,"src":"2857:18:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21255,"name":"bool","nodeType":"ElementaryTypeName","src":"2857:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2802:77:52"},"returnParameters":{"id":21258,"nodeType":"ParameterList","parameters":[],"src":"2887:0:52"},"scope":21456,"src":"2773:465:52","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":21325,"nodeType":"Block","src":"3369:141:52","statements":[{"body":{"id":21323,"nodeType":"Block","src":"3426:80:52","statements":[{"expression":{"arguments":[{"id":21316,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21297,"src":"3455:6:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":21317,"name":"functionSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21300,"src":"3463:17:52","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":21319,"indexExpression":{"id":21318,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21306,"src":"3481:1:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3463:20:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":21320,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21302,"src":"3485:13:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":21315,"name":"setWhitelistFunction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21295,"src":"3434:20:52","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes4_$_t_bool_$returns$__$","typeString":"function (address,bytes4,bool)"}},"id":21321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3434:65:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21322,"nodeType":"ExpressionStatement","src":"3434:65:52"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21308,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21306,"src":"3391:1:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":21309,"name":"functionSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21300,"src":"3395:17:52","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":21310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3413:6:52","memberName":"length","nodeType":"MemberAccess","src":"3395:24:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3391:28:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21324,"initializationExpression":{"assignments":[21306],"declarations":[{"constant":false,"id":21306,"mutability":"mutable","name":"i","nameLocation":"3388:1:52","nodeType":"VariableDeclaration","scope":21324,"src":"3380:9:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21305,"name":"uint256","nodeType":"ElementaryTypeName","src":"3380:7:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21307,"nodeType":"VariableDeclarationStatement","src":"3380:9:52"},"loopExpression":{"expression":{"id":21313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3421:3:52","subExpression":{"id":21312,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21306,"src":"3421:1:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21314,"nodeType":"ExpressionStatement","src":"3421:3:52"},"nodeType":"ForStatement","src":"3375:131:52"}]},"functionSelector":"8e828cb4","id":21326,"implemented":true,"kind":"function","modifiers":[],"name":"setWhitelistFunctions","nameLocation":"3251:21:52","nodeType":"FunctionDefinition","parameters":{"id":21303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21297,"mutability":"mutable","name":"target","nameLocation":"3286:6:52","nodeType":"VariableDeclaration","scope":21326,"src":"3278:14:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21296,"name":"address","nodeType":"ElementaryTypeName","src":"3278:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21300,"mutability":"mutable","name":"functionSelectors","nameLocation":"3314:17:52","nodeType":"VariableDeclaration","scope":21326,"src":"3298:33:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":21298,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3298:6:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":21299,"nodeType":"ArrayTypeName","src":"3298:8:52","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"},{"constant":false,"id":21302,"mutability":"mutable","name":"isWhitelisted","nameLocation":"3342:13:52","nodeType":"VariableDeclaration","scope":21326,"src":"3337:18:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21301,"name":"bool","nodeType":"ElementaryTypeName","src":"3337:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3272:87:52"},"returnParameters":{"id":21304,"nodeType":"ParameterList","parameters":[],"src":"3369:0:52"},"scope":21456,"src":"3242:268:52","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":21346,"nodeType":"Block","src":"3580:155:52","statements":[{"assignments":[21335],"declarations":[{"constant":false,"id":21335,"mutability":"mutable","name":"$","nameLocation":"3634:1:52","nodeType":"VariableDeclaration","scope":21346,"src":"3586:49:52","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21334,"nodeType":"UserDefinedTypeName","pathNode":{"id":21333,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["3586:23:52","3610:15:52"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"3586:39:52"},"referencedDeclaration":24891,"src":"3586:39:52","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21339,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21336,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"3638:23:52","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3662:18:52","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"3638:42:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3638:44:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3586:96:52"},{"expression":{"id":21344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":21340,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21335,"src":"3688:1:52","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3690:28:52","memberName":"isFunctionRestrictionEnabled","nodeType":"MemberAccess","referencedDeclaration":24789,"src":"3688:30:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":21343,"name":"isEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21328,"src":"3721:9:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3688:42:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21345,"nodeType":"ExpressionStatement","src":"3688:42:52"}]},"functionSelector":"4c5ead08","id":21347,"implemented":true,"kind":"function","modifiers":[],"name":"setIsFunctionRestrictionEnabled","nameLocation":"3523:31:52","nodeType":"FunctionDefinition","parameters":{"id":21329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21328,"mutability":"mutable","name":"isEnabled","nameLocation":"3560:9:52","nodeType":"VariableDeclaration","scope":21347,"src":"3555:14:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21327,"name":"bool","nodeType":"ElementaryTypeName","src":"3555:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3554:16:52"},"returnParameters":{"id":21330,"nodeType":"ParameterList","parameters":[],"src":"3580:0:52"},"scope":21456,"src":"3514:221:52","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":21372,"nodeType":"Block","src":"3897:168:52","statements":[{"assignments":[21360],"declarations":[{"constant":false,"id":21360,"mutability":"mutable","name":"$","nameLocation":"3951:1:52","nodeType":"VariableDeclaration","scope":21372,"src":"3903:49:52","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21359,"nodeType":"UserDefinedTypeName","pathNode":{"id":21358,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["3903:23:52","3927:15:52"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"3903:39:52"},"referencedDeclaration":24891,"src":"3903:39:52","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21364,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21361,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"3955:23:52","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3979:18:52","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"3955:42:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3955:44:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3903:96:52"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":21365,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21360,"src":"4012:1:52","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4014:20:52","memberName":"whitelistedFunctions","nodeType":"MemberAccess","referencedDeclaration":24787,"src":"4012:22:52","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"}},"id":21368,"indexExpression":{"id":21367,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21349,"src":"4035:6:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4012:30:52","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":21370,"indexExpression":{"id":21369,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21351,"src":"4043:16:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4012:48:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":21355,"id":21371,"nodeType":"Return","src":"4005:55:52"}]},"id":21373,"implemented":true,"kind":"function","modifiers":[],"name":"isFunctionWhitelisted","nameLocation":"3793:21:52","nodeType":"FunctionDefinition","parameters":{"id":21352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21349,"mutability":"mutable","name":"target","nameLocation":"3828:6:52","nodeType":"VariableDeclaration","scope":21373,"src":"3820:14:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21348,"name":"address","nodeType":"ElementaryTypeName","src":"3820:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21351,"mutability":"mutable","name":"functionSelector","nameLocation":"3847:16:52","nodeType":"VariableDeclaration","scope":21373,"src":"3840:23:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":21350,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3840:6:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3814:53:52"},"returnParameters":{"id":21355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21373,"src":"3891:4:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21353,"name":"bool","nodeType":"ElementaryTypeName","src":"3891:4:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3890:6:52"},"scope":21456,"src":"3784:281:52","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21430,"nodeType":"Block","src":"4182:427:52","statements":[{"assignments":[21386],"declarations":[{"constant":false,"id":21386,"mutability":"mutable","name":"$","nameLocation":"4236:1:52","nodeType":"VariableDeclaration","scope":21430,"src":"4188:49:52","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21385,"nodeType":"UserDefinedTypeName","pathNode":{"id":21384,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["4188:23:52","4212:15:52"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"4188:39:52"},"referencedDeclaration":24891,"src":"4188:39:52","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21390,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21387,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"4240:23:52","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4264:18:52","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"4240:42:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4240:44:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4188:96:52"},{"condition":{"expression":{"id":21391,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21386,"src":"4294:1:52","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4296:28:52","memberName":"isFunctionRestrictionEnabled","nodeType":"MemberAccess","referencedDeclaration":24789,"src":"4294:30:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21429,"nodeType":"IfStatement","src":"4290:315:52","trueBody":{"id":21428,"nodeType":"Block","src":"4326:279:52","statements":[{"body":{"id":21426,"nodeType":"Block","src":"4375:224:52","statements":[{"assignments":[21404],"declarations":[{"constant":false,"id":21404,"mutability":"mutable","name":"functionSelector","nameLocation":"4392:16:52","nodeType":"VariableDeclaration","scope":21426,"src":"4385:23:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":21403,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4385:6:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":21410,"initialValue":{"arguments":[{"baseExpression":{"id":21406,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21379,"src":"4435:9:52","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":21408,"indexExpression":{"id":21407,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21394,"src":"4445:1:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4435:12:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21405,"name":"extractFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21455,"src":"4411:23:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (bytes memory) pure returns (bytes4)"}},"id":21409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4411:37:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4385:63:52"},{"condition":{"id":21419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4462:53:52","subExpression":{"baseExpression":{"baseExpression":{"expression":{"id":21411,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21386,"src":"4463:1:52","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4465:20:52","memberName":"whitelistedFunctions","nodeType":"MemberAccess","referencedDeclaration":24787,"src":"4463:22:52","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"}},"id":21416,"indexExpression":{"baseExpression":{"id":21413,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21376,"src":"4486:7:52","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":21415,"indexExpression":{"id":21414,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21394,"src":"4494:1:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4486:10:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4463:34:52","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":21418,"indexExpression":{"id":21417,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21404,"src":"4498:16:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4463:52:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21425,"nodeType":"IfStatement","src":"4458:133:52","trueBody":{"id":21424,"nodeType":"Block","src":"4517:74:52","statements":[{"errorCall":{"arguments":[{"id":21421,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21404,"src":"4563:16:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":21420,"name":"GovernorRestrictedFunction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21235,"src":"4536:26:52","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes4_$returns$__$","typeString":"function (bytes4) pure"}},"id":21422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4536:44:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21423,"nodeType":"RevertStatement","src":"4529:51:52"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21396,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21394,"src":"4350:1:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":21397,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21376,"src":"4354:7:52","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":21398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4362:6:52","memberName":"length","nodeType":"MemberAccess","src":"4354:14:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4350:18:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21427,"initializationExpression":{"assignments":[21394],"declarations":[{"constant":false,"id":21394,"mutability":"mutable","name":"i","nameLocation":"4347:1:52","nodeType":"VariableDeclaration","scope":21427,"src":"4339:9:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21393,"name":"uint256","nodeType":"ElementaryTypeName","src":"4339:7:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21395,"nodeType":"VariableDeclarationStatement","src":"4339:9:52"},"loopExpression":{"expression":{"id":21401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4370:3:52","subExpression":{"id":21400,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21394,"src":"4370:1:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21402,"nodeType":"ExpressionStatement","src":"4370:3:52"},"nodeType":"ForStatement","src":"4334:265:52"}]}}]},"id":21431,"implemented":true,"kind":"function","modifiers":[],"name":"checkFunctionsRestriction","nameLocation":"4078:25:52","nodeType":"FunctionDefinition","parameters":{"id":21380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21376,"mutability":"mutable","name":"targets","nameLocation":"4126:7:52","nodeType":"VariableDeclaration","scope":21431,"src":"4109:24:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21374,"name":"address","nodeType":"ElementaryTypeName","src":"4109:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21375,"nodeType":"ArrayTypeName","src":"4109:9:52","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":21379,"mutability":"mutable","name":"calldatas","nameLocation":"4154:9:52","nodeType":"VariableDeclaration","scope":21431,"src":"4139:24:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21377,"name":"bytes","nodeType":"ElementaryTypeName","src":"4139:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21378,"nodeType":"ArrayTypeName","src":"4139:7:52","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"4103:64:52"},"returnParameters":{"id":21381,"nodeType":"ParameterList","parameters":[],"src":"4182:0:52"},"scope":21456,"src":"4069:540:52","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21454,"nodeType":"Block","src":"5037:163:52","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":21439,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21434,"src":"5047:4:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":21440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5052:6:52","memberName":"length","nodeType":"MemberAccess","src":"5047:11:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"34","id":21441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5061:1:52","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"5047:15:52","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21447,"nodeType":"IfStatement","src":"5043:65:52","trueBody":{"errorCall":{"arguments":[{"id":21444,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21434,"src":"5103:4:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21443,"name":"GovernorFunctionInvalidSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21240,"src":"5071:31:52","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5071:37:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21446,"nodeType":"RevertStatement","src":"5064:44:52"}},{"assignments":[21449],"declarations":[{"constant":false,"id":21449,"mutability":"mutable","name":"sig","nameLocation":"5121:3:52","nodeType":"VariableDeclaration","scope":21454,"src":"5114:10:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":21448,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5114:6:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":21450,"nodeType":"VariableDeclarationStatement","src":"5114:10:52"},{"AST":{"nodeType":"YulBlock","src":"5139:41:52","statements":[{"nodeType":"YulAssignment","src":"5147:27:52","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"5164:4:52"},{"kind":"number","nodeType":"YulLiteral","src":"5170:2:52","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5160:3:52"},"nodeType":"YulFunctionCall","src":"5160:13:52"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5154:5:52"},"nodeType":"YulFunctionCall","src":"5154:20:52"},"variableNames":[{"name":"sig","nodeType":"YulIdentifier","src":"5147:3:52"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":21434,"isOffset":false,"isSlot":false,"src":"5164:4:52","valueSize":1},{"declaration":21449,"isOffset":false,"isSlot":false,"src":"5147:3:52","valueSize":1}],"id":21451,"nodeType":"InlineAssembly","src":"5130:50:52"},{"expression":{"id":21452,"name":"sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21449,"src":"5192:3:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":21438,"id":21453,"nodeType":"Return","src":"5185:10:52"}]},"documentation":{"id":21432,"nodeType":"StructuredDocumentation","src":"4668:284:52","text":" @notice Extract the function selector from the calldata.\n @dev Internal pure function to extract the function selector from the calldata.\n @param data The calldata from which to extract the function selector.\n @return bytes4 The extracted function selector."},"id":21455,"implemented":true,"kind":"function","modifiers":[],"name":"extractFunctionSelector","nameLocation":"4964:23:52","nodeType":"FunctionDefinition","parameters":{"id":21435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21434,"mutability":"mutable","name":"data","nameLocation":"5001:4:52","nodeType":"VariableDeclaration","scope":21455,"src":"4988:17:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":21433,"name":"bytes","nodeType":"ElementaryTypeName","src":"4988:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4987:19:52"},"returnParameters":{"id":21438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21455,"src":"5029:6:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":21436,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5029:6:52","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"5028:8:52"},"scope":21456,"src":"4955:245:52","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":21457,"src":"1536:3666:52","usedErrors":[21235,21240],"usedEvents":[21249]}],"src":"1195:4008:52"},"id":52},"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol","exportedSymbols":{"DoubleEndedQueue":[10781],"GovernorGovernanceLogicV10":[21563],"GovernorStorageTypesV10":[24892]},"id":21564,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":21458,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:53"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./GovernorStorageTypesV10.sol","id":21460,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21564,"sourceUnit":24893,"src":"1220:72:53","symbolAliases":[{"foreign":{"id":21459,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1229:23:53","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","file":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","id":21462,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":21564,"sourceUnit":10782,"src":"1293:94:53","symbolAliases":[{"foreign":{"id":21461,"name":"DoubleEndedQueue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10781,"src":"1302:16:53","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorGovernanceLogicV10","contractDependencies":[],"contractKind":"library","documentation":{"id":21463,"nodeType":"StructuredDocumentation","src":"1389:269:53","text":"@title GovernorGovernanceLogicV10\n @notice Library for validating descriptions in governance proposals based on the proposer's address suffix.\n @dev This library provides functions to manage the governance execution flow and validate the governance executor."},"fullyImplemented":true,"id":21563,"linearizedBaseContracts":[21563],"name":"GovernorGovernanceLogicV10","nameLocation":"1666:26:53","nodeType":"ContractDefinition","nodes":[{"global":false,"id":21467,"libraryName":{"id":21464,"name":"DoubleEndedQueue","nameLocations":["1703:16:53"],"nodeType":"IdentifierPath","referencedDeclaration":10781,"src":"1703:16:53"},"nodeType":"UsingForDirective","src":"1697:57:53","typeName":{"id":21466,"nodeType":"UserDefinedTypeName","pathNode":{"id":21465,"name":"DoubleEndedQueue.Bytes32Deque","nameLocations":["1724:16:53","1741:12:53"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"1724:29:53"},"referencedDeclaration":10469,"src":"1724:29:53","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}}},{"documentation":{"id":21468,"nodeType":"StructuredDocumentation","src":"1758:139:53","text":"@dev Thrown when the `account` is not the governance executor.\n @param account The address that attempted the unauthorized action."},"errorSelector":"47096e47","id":21472,"name":"GovernorOnlyExecutor","nameLocation":"1906:20:53","nodeType":"ErrorDefinition","parameters":{"id":21471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21470,"mutability":"mutable","name":"account","nameLocation":"1935:7:53","nodeType":"VariableDeclaration","scope":21472,"src":"1927:15:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21469,"name":"address","nodeType":"ElementaryTypeName","src":"1927:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1926:17:53"},"src":"1900:44:53"},{"body":{"id":21489,"nodeType":"Block","src":"2405:60:53","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":21487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":21484,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21477,"src":"2426:15:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":21483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2418:7:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":21482,"name":"bytes20","nodeType":"ElementaryTypeName","src":"2418:7:53","typeDescriptions":{}}},"id":21485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2418:24:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":21486,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21475,"src":"2445:15:53","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2418:42:53","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":21481,"id":21488,"nodeType":"Return","src":"2411:49:53"}]},"documentation":{"id":21473,"nodeType":"StructuredDocumentation","src":"1948:350:53","text":" @notice Get the salt used for the timelock operation.\n @dev Combines the contract address and description hash to generate a unique salt.\n @param descriptionHash The hash of the proposal description.\n @param contractAddress The address of the calling governance contract.\n @return The generated salt as a bytes32 value."},"id":21490,"implemented":true,"kind":"function","modifiers":[],"name":"timelockSalt","nameLocation":"2310:12:53","nodeType":"FunctionDefinition","parameters":{"id":21478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21475,"mutability":"mutable","name":"descriptionHash","nameLocation":"2331:15:53","nodeType":"VariableDeclaration","scope":21490,"src":"2323:23:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2323:7:53","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":21477,"mutability":"mutable","name":"contractAddress","nameLocation":"2356:15:53","nodeType":"VariableDeclaration","scope":21490,"src":"2348:23:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21476,"name":"address","nodeType":"ElementaryTypeName","src":"2348:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2322:50:53"},"returnParameters":{"id":21481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21490,"src":"2396:7:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2396:7:53","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2395:9:53"},"scope":21563,"src":"2301:164:53","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21511,"nodeType":"Block","src":"2703:139:53","statements":[{"assignments":[21500],"declarations":[{"constant":false,"id":21500,"mutability":"mutable","name":"$","nameLocation":"2757:1:53","nodeType":"VariableDeclaration","scope":21511,"src":"2709:49:53","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21499,"nodeType":"UserDefinedTypeName","pathNode":{"id":21498,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["2709:23:53","2733:15:53"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"2709:39:53"},"referencedDeclaration":24891,"src":"2709:39:53","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21504,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21501,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"2761:23:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2785:18:53","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"2761:42:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:44:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2709:96:53"},{"expression":{"arguments":[{"expression":{"id":21507,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21500,"src":"2826:1:53","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2828:8:53","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"2826:10:53","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":21506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2818:7:53","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":21505,"name":"address","nodeType":"ElementaryTypeName","src":"2818:7:53","typeDescriptions":{}}},"id":21509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2818:19:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":21495,"id":21510,"nodeType":"Return","src":"2811:26:53"}]},"documentation":{"id":21491,"nodeType":"StructuredDocumentation","src":"2469:179:53","text":" @notice Get the address through which the governor executes actions.\n @dev Returns the timelock address used by the governor.\n @return The executor address."},"id":21512,"implemented":true,"kind":"function","modifiers":[],"name":"executor","nameLocation":"2660:8:53","nodeType":"FunctionDefinition","parameters":{"id":21492,"nodeType":"ParameterList","parameters":[],"src":"2668:2:53"},"returnParameters":{"id":21495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21512,"src":"2694:7:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21493,"name":"address","nodeType":"ElementaryTypeName","src":"2694:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2693:9:53"},"scope":21563,"src":"2651:191:53","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21561,"nodeType":"Block","src":"3360:444:53","statements":[{"assignments":[21526],"declarations":[{"constant":false,"id":21526,"mutability":"mutable","name":"$","nameLocation":"3414:1:53","nodeType":"VariableDeclaration","scope":21561,"src":"3366:49:53","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21525,"nodeType":"UserDefinedTypeName","pathNode":{"id":21524,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["3366:23:53","3390:15:53"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"3366:39:53"},"referencedDeclaration":24891,"src":"3366:39:53","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21530,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21527,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"3418:23:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3442:18:53","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"3418:42:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3418:44:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3366:96:53"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":21534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":21531,"name":"executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21512,"src":"3472:8:53","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":21532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3472:10:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":21533,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21515,"src":"3486:6:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3472:20:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21540,"nodeType":"IfStatement","src":"3468:76:53","trueBody":{"id":21539,"nodeType":"Block","src":"3494:50:53","statements":[{"errorCall":{"arguments":[{"id":21536,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21515,"src":"3530:6:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":21535,"name":"GovernorOnlyExecutor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21472,"src":"3509:20:53","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":21537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:28:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21538,"nodeType":"RevertStatement","src":"3502:35:53"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":21544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":21541,"name":"executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21512,"src":"3553:8:53","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":21542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3553:10:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":21543,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21519,"src":"3567:15:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3553:29:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21560,"nodeType":"IfStatement","src":"3549:251:53","trueBody":{"id":21559,"nodeType":"Block","src":"3584:216:53","statements":[{"assignments":[21546],"declarations":[{"constant":false,"id":21546,"mutability":"mutable","name":"msgDataHash","nameLocation":"3600:11:53","nodeType":"VariableDeclaration","scope":21559,"src":"3592:19:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3592:7:53","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":21550,"initialValue":{"arguments":[{"id":21548,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21517,"src":"3624:4:53","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":21547,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3614:9:53","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":21549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3614:15:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3592:37:53"},{"body":{"id":21557,"nodeType":"Block","src":"3792:2:53","statements":[]},"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":21556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":21551,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21526,"src":"3748:1:53","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3750:14:53","memberName":"governanceCall","nodeType":"MemberAccess","referencedDeclaration":24769,"src":"3748:16:53","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":21553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3765:8:53","memberName":"popFront","nodeType":"MemberAccess","referencedDeclaration":10642,"src":"3748:25:53","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$10469_storage_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Bytes32Deque_$10469_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) returns (bytes32)"}},"id":21554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3748:27:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":21555,"name":"msgDataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21546,"src":"3779:11:53","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3748:42:53","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21558,"nodeType":"WhileStatement","src":"3741:53:53"}]}}]},"documentation":{"id":21513,"nodeType":"StructuredDocumentation","src":"2846:399:53","text":" @notice Validates that the `msg.sender` is the executor.\n @dev Reverts if the `msg.sender` is not the executor. If the executor is not the calling contract itself, it verifies that the `msg.data` is whitelisted.\n @param sender The address of the sender.\n @param data The calldata to be validated.\n @param contractAddress The address of the calling governance contract."},"id":21562,"implemented":true,"kind":"function","modifiers":[],"name":"checkGovernance","nameLocation":"3257:15:53","nodeType":"FunctionDefinition","parameters":{"id":21520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21515,"mutability":"mutable","name":"sender","nameLocation":"3286:6:53","nodeType":"VariableDeclaration","scope":21562,"src":"3278:14:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21514,"name":"address","nodeType":"ElementaryTypeName","src":"3278:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21517,"mutability":"mutable","name":"data","nameLocation":"3313:4:53","nodeType":"VariableDeclaration","scope":21562,"src":"3298:19:53","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":21516,"name":"bytes","nodeType":"ElementaryTypeName","src":"3298:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":21519,"mutability":"mutable","name":"contractAddress","nameLocation":"3331:15:53","nodeType":"VariableDeclaration","scope":21562,"src":"3323:23:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21518,"name":"address","nodeType":"ElementaryTypeName","src":"3323:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3272:78:53"},"returnParameters":{"id":21521,"nodeType":"ParameterList","parameters":[],"src":"3360:0:53"},"scope":21563,"src":"3248:556:53","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":21564,"src":"1658:2148:53","usedErrors":[21472],"usedEvents":[]}],"src":"1195:2612:53"},"id":53},"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","exportedSymbols":{"Address":[5584],"DoubleEndedQueue":[10781],"GovernorClockLogicV10":[19614],"GovernorDepositLogicV10":[21225],"GovernorFunctionRestrictionsLogicV10":[21456],"GovernorGovernanceLogicV10":[21563],"GovernorProposalLogicV10":[23874],"GovernorStateLogicV10":[24718],"GovernorStorageTypesV10":[24892],"GovernorTypesV10":[25022],"IGrantsManager":[65639],"SafeCast":[8770]},"id":23875,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":21565,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:54"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./GovernorStorageTypesV10.sol","id":21567,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":24893,"src":"1220:72:54","symbolAliases":[{"foreign":{"id":21566,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1229:23:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","file":"./GovernorTypesV10.sol","id":21569,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":25023,"src":"1293:58:54","symbolAliases":[{"foreign":{"id":21568,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"1302:16:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol","file":"./GovernorStateLogicV10.sol","id":21571,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":24719,"src":"1352:68:54","symbolAliases":[{"foreign":{"id":21570,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"1361:21:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol","file":"./GovernorClockLogicV10.sol","id":21573,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":19615,"src":"1421:68:54","symbolAliases":[{"foreign":{"id":21572,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"1430:21:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol","file":"./GovernorDepositLogicV10.sol","id":21575,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":21226,"src":"1490:72:54","symbolAliases":[{"foreign":{"id":21574,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"1499:23:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol","file":"./GovernorGovernanceLogicV10.sol","id":21577,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":21564,"src":"1563:78:54","symbolAliases":[{"foreign":{"id":21576,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"1572:26:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol","file":"./GovernorFunctionRestrictionsLogicV10.sol","id":21579,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":21457,"src":"1642:98:54","symbolAliases":[{"foreign":{"id":21578,"name":"GovernorFunctionRestrictionsLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21456,"src":"1651:36:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":21581,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":8771,"src":"1741:75:54","symbolAliases":[{"foreign":{"id":21580,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1750:8:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","file":"@openzeppelin/contracts/utils/Address.sol","id":21583,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":5585,"src":"1817:68:54","symbolAliases":[{"foreign":{"id":21582,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"1826:7:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","file":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","id":21585,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":10782,"src":"1886:94:54","symbolAliases":[{"foreign":{"id":21584,"name":"DoubleEndedQueue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10781,"src":"1895:16:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../../../interfaces/IGrantsManager.sol","id":21587,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":23875,"sourceUnit":65640,"src":"1981:75:54","symbolAliases":[{"foreign":{"id":21586,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"1990:14:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorProposalLogicV10","contractDependencies":[],"contractKind":"library","documentation":{"id":21588,"nodeType":"StructuredDocumentation","src":"2058:198:54","text":"@title GovernorProposalLogicV10\n @notice Library for managing proposals in the Governor contract.\n @dev This library provides functions to create, cancel, execute, and validate proposals."},"fullyImplemented":true,"id":23874,"linearizedBaseContracts":[23874],"name":"GovernorProposalLogicV10","nameLocation":"2264:24:54","nodeType":"ContractDefinition","nodes":[{"global":false,"id":21592,"libraryName":{"id":21589,"name":"DoubleEndedQueue","nameLocations":["2299:16:54"],"nodeType":"IdentifierPath","referencedDeclaration":10781,"src":"2299:16:54"},"nodeType":"UsingForDirective","src":"2293:57:54","typeName":{"id":21591,"nodeType":"UserDefinedTypeName","pathNode":{"id":21590,"name":"DoubleEndedQueue.Bytes32Deque","nameLocations":["2320:16:54","2337:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"2320:29:54"},"referencedDeclaration":10469,"src":"2320:29:54","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}}},{"anonymous":false,"documentation":{"id":21593,"nodeType":"StructuredDocumentation","src":"2354:56:54","text":" @dev Emitted when a proposal is canceled."},"eventSelector":"789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c","id":21597,"name":"ProposalCanceled","nameLocation":"2419:16:54","nodeType":"EventDefinition","parameters":{"id":21596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21595,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"2444:10:54","nodeType":"VariableDeclaration","scope":21597,"src":"2436:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21594,"name":"uint256","nodeType":"ElementaryTypeName","src":"2436:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2435:20:54"},"src":"2413:43:54"},{"anonymous":false,"documentation":{"id":21598,"nodeType":"StructuredDocumentation","src":"2460:70:54","text":" @dev Emitted when a proposal is canceled with a reason."},"eventSelector":"93bcf40b1de68d22878e9394837dd4b08dae46ee73bc722cccffecdadbe44145","id":21606,"name":"ProposalCanceledWithReason","nameLocation":"2539:26:54","nodeType":"EventDefinition","parameters":{"id":21605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21600,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2582:10:54","nodeType":"VariableDeclaration","scope":21606,"src":"2566:26:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21599,"name":"uint256","nodeType":"ElementaryTypeName","src":"2566:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21602,"indexed":true,"mutability":"mutable","name":"canceler","nameLocation":"2610:8:54","nodeType":"VariableDeclaration","scope":21606,"src":"2594:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21601,"name":"address","nodeType":"ElementaryTypeName","src":"2594:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21604,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"2627:6:54","nodeType":"VariableDeclaration","scope":21606,"src":"2620:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21603,"name":"string","nodeType":"ElementaryTypeName","src":"2620:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2565:69:54"},"src":"2533:102:54"},{"anonymous":false,"documentation":{"id":21607,"nodeType":"StructuredDocumentation","src":"2639:55:54","text":" @dev Emitted when a proposal is created."},"eventSelector":"9c2b0d68f5edfd1bf6158a1867aced894efcfcf77c7a7603cb571e18ce89ae76","id":21631,"name":"ProposalCreated","nameLocation":"2703:15:54","nodeType":"EventDefinition","parameters":{"id":21630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21609,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2740:10:54","nodeType":"VariableDeclaration","scope":21631,"src":"2724:26:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21608,"name":"uint256","nodeType":"ElementaryTypeName","src":"2724:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21611,"indexed":true,"mutability":"mutable","name":"proposer","nameLocation":"2772:8:54","nodeType":"VariableDeclaration","scope":21631,"src":"2756:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21610,"name":"address","nodeType":"ElementaryTypeName","src":"2756:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21614,"indexed":false,"mutability":"mutable","name":"targets","nameLocation":"2796:7:54","nodeType":"VariableDeclaration","scope":21631,"src":"2786:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21612,"name":"address","nodeType":"ElementaryTypeName","src":"2786:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21613,"nodeType":"ArrayTypeName","src":"2786:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":21617,"indexed":false,"mutability":"mutable","name":"values","nameLocation":"2819:6:54","nodeType":"VariableDeclaration","scope":21631,"src":"2809:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21615,"name":"uint256","nodeType":"ElementaryTypeName","src":"2809:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21616,"nodeType":"ArrayTypeName","src":"2809:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":21620,"indexed":false,"mutability":"mutable","name":"signatures","nameLocation":"2840:10:54","nodeType":"VariableDeclaration","scope":21631,"src":"2831:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":21618,"name":"string","nodeType":"ElementaryTypeName","src":"2831:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21619,"nodeType":"ArrayTypeName","src":"2831:8:54","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":21623,"indexed":false,"mutability":"mutable","name":"calldatas","nameLocation":"2864:9:54","nodeType":"VariableDeclaration","scope":21631,"src":"2856:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21621,"name":"bytes","nodeType":"ElementaryTypeName","src":"2856:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21622,"nodeType":"ArrayTypeName","src":"2856:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":21625,"indexed":false,"mutability":"mutable","name":"description","nameLocation":"2886:11:54","nodeType":"VariableDeclaration","scope":21631,"src":"2879:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21624,"name":"string","nodeType":"ElementaryTypeName","src":"2879:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21627,"indexed":true,"mutability":"mutable","name":"roundIdVoteStart","nameLocation":"2919:16:54","nodeType":"VariableDeclaration","scope":21631,"src":"2903:32:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21626,"name":"uint256","nodeType":"ElementaryTypeName","src":"2903:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21629,"indexed":false,"mutability":"mutable","name":"depositThreshold","nameLocation":"2949:16:54","nodeType":"VariableDeclaration","scope":21631,"src":"2941:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21628,"name":"uint256","nodeType":"ElementaryTypeName","src":"2941:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2718:251:54"},"src":"2697:273:54"},{"anonymous":false,"documentation":{"id":21632,"nodeType":"StructuredDocumentation","src":"2974:77:54","text":" @dev Emitted when a proposal is created with type information."},"eventSelector":"6d04097725b4d82fbe72e4fd0fd1798c60a7b1bbc328842680c83ac06b1b0ada","id":21639,"name":"ProposalCreatedWithType","nameLocation":"3060:23:54","nodeType":"EventDefinition","parameters":{"id":21638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21634,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3100:10:54","nodeType":"VariableDeclaration","scope":21639,"src":"3084:26:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21633,"name":"uint256","nodeType":"ElementaryTypeName","src":"3084:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21637,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"3142:12:54","nodeType":"VariableDeclaration","scope":21639,"src":"3112:42:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":21636,"nodeType":"UserDefinedTypeName","pathNode":{"id":21635,"name":"GovernorTypesV10.ProposalType","nameLocations":["3112:16:54","3129:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"3112:29:54"},"referencedDeclaration":25017,"src":"3112:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"3083:72:54"},"src":"3054:102:54"},{"anonymous":false,"documentation":{"id":21640,"nodeType":"StructuredDocumentation","src":"3160:56:54","text":" @dev Emitted when a proposal is executed."},"eventSelector":"712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f","id":21644,"name":"ProposalExecuted","nameLocation":"3225:16:54","nodeType":"EventDefinition","parameters":{"id":21643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21642,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3250:10:54","nodeType":"VariableDeclaration","scope":21644,"src":"3242:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21641,"name":"uint256","nodeType":"ElementaryTypeName","src":"3242:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3241:20:54"},"src":"3219:43:54"},{"anonymous":false,"documentation":{"id":21645,"nodeType":"StructuredDocumentation","src":"3266:54:54","text":" @dev Emitted when a proposal is queued."},"eventSelector":"9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892","id":21651,"name":"ProposalQueued","nameLocation":"3329:14:54","nodeType":"EventDefinition","parameters":{"id":21650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21647,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3352:10:54","nodeType":"VariableDeclaration","scope":21651,"src":"3344:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21646,"name":"uint256","nodeType":"ElementaryTypeName","src":"3344:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21649,"indexed":false,"mutability":"mutable","name":"etaSeconds","nameLocation":"3372:10:54","nodeType":"VariableDeclaration","scope":21651,"src":"3364:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21648,"name":"uint256","nodeType":"ElementaryTypeName","src":"3364:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3343:40:54"},"src":"3323:61:54"},{"anonymous":false,"documentation":{"id":21652,"nodeType":"StructuredDocumentation","src":"3388:72:54","text":" @dev Emitted when a proposal is marked as in development."},"eventSelector":"ae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0","id":21656,"name":"ProposalInDevelopment","nameLocation":"3469:21:54","nodeType":"EventDefinition","parameters":{"id":21655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21654,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3499:10:54","nodeType":"VariableDeclaration","scope":21656,"src":"3491:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21653,"name":"uint256","nodeType":"ElementaryTypeName","src":"3491:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3490:20:54"},"src":"3463:48:54"},{"anonymous":false,"documentation":{"id":21657,"nodeType":"StructuredDocumentation","src":"3515:67:54","text":" @dev Emitted when a proposal is marked as completed."},"eventSelector":"71611adb0c8d2eea43359b2e41e5fdf96309ce734ed1eb78ceb763198c1b8967","id":21661,"name":"ProposalCompleted","nameLocation":"3591:17:54","nodeType":"EventDefinition","parameters":{"id":21660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21659,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3617:10:54","nodeType":"VariableDeclaration","scope":21661,"src":"3609:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21658,"name":"uint256","nodeType":"ElementaryTypeName","src":"3609:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3608:20:54"},"src":"3585:44:54"},{"anonymous":false,"documentation":{"id":21662,"nodeType":"StructuredDocumentation","src":"3633:106:54","text":" @dev Emitted when the development state of a proposal is reset back to pending development."},"eventSelector":"89e9abefcace5d0e37429f32023df3d73c9a310923f6383fa778ec40c629df0e","id":21666,"name":"ProposalDevelopmentStateReset","nameLocation":"3748:29:54","nodeType":"EventDefinition","parameters":{"id":21665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21664,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3786:10:54","nodeType":"VariableDeclaration","scope":21666,"src":"3778:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21663,"name":"uint256","nodeType":"ElementaryTypeName","src":"3778:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3777:20:54"},"src":"3742:56:54"},{"documentation":{"id":21667,"nodeType":"StructuredDocumentation","src":"3802:107:54","text":" @dev Thrown when the current state of a proposal is not the expected state for an operation."},"errorSelector":"31b75e4d","id":21676,"name":"GovernorUnexpectedProposalState","nameLocation":"3918:31:54","nodeType":"ErrorDefinition","parameters":{"id":21675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21669,"mutability":"mutable","name":"proposalId","nameLocation":"3963:10:54","nodeType":"VariableDeclaration","scope":21676,"src":"3955:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21668,"name":"uint256","nodeType":"ElementaryTypeName","src":"3955:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21672,"mutability":"mutable","name":"current","nameLocation":"4010:7:54","nodeType":"VariableDeclaration","scope":21676,"src":"3979:38:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"typeName":{"id":21671,"nodeType":"UserDefinedTypeName","pathNode":{"id":21670,"name":"GovernorTypesV10.ProposalState","nameLocations":["3979:16:54","3996:13:54"],"nodeType":"IdentifierPath","referencedDeclaration":24992,"src":"3979:30:54"},"referencedDeclaration":24992,"src":"3979:30:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"visibility":"internal"},{"constant":false,"id":21674,"mutability":"mutable","name":"expectedStates","nameLocation":"4031:14:54","nodeType":"VariableDeclaration","scope":21676,"src":"4023:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4023:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3949:100:54"},"src":"3912:138:54"},{"documentation":{"id":21677,"nodeType":"StructuredDocumentation","src":"4054:78:54","text":" @dev Thrown when a user is not authorized to perform an action."},"errorSelector":"dccef964","id":21681,"name":"UnauthorizedAccess","nameLocation":"4141:18:54","nodeType":"ErrorDefinition","parameters":{"id":21680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21679,"mutability":"mutable","name":"user","nameLocation":"4168:4:54","nodeType":"VariableDeclaration","scope":21681,"src":"4160:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21678,"name":"address","nodeType":"ElementaryTypeName","src":"4160:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4159:14:54"},"src":"4135:39:54"},{"documentation":{"id":21682,"nodeType":"StructuredDocumentation","src":"4178:72:54","text":" @dev Thrown when the round for proposal start is invalid."},"errorSelector":"7a5d07d3","id":21686,"name":"GovernorInvalidStartRound","nameLocation":"4259:25:54","nodeType":"ErrorDefinition","parameters":{"id":21685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21684,"mutability":"mutable","name":"roundId","nameLocation":"4293:7:54","nodeType":"VariableDeclaration","scope":21686,"src":"4285:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21683,"name":"uint256","nodeType":"ElementaryTypeName","src":"4285:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4284:17:54"},"src":"4253:49:54"},{"documentation":{"id":21687,"nodeType":"StructuredDocumentation","src":"4306:69:54","text":" @dev Thrown when a queue operation is not implemented."},"errorSelector":"90884a46","id":21689,"name":"GovernorQueueNotImplemented","nameLocation":"4384:27:54","nodeType":"ErrorDefinition","parameters":{"id":21688,"nodeType":"ParameterList","parameters":[],"src":"4411:2:54"},"src":"4378:36:54"},{"documentation":{"id":21690,"nodeType":"StructuredDocumentation","src":"4418:119:54","text":" @dev Thrown when there is an empty proposal or a mismatch between parameters length for a proposal call."},"errorSelector":"447b05d0","id":21698,"name":"GovernorInvalidProposalLength","nameLocation":"4546:29:54","nodeType":"ErrorDefinition","parameters":{"id":21697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21692,"mutability":"mutable","name":"targets","nameLocation":"4584:7:54","nodeType":"VariableDeclaration","scope":21698,"src":"4576:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21691,"name":"uint256","nodeType":"ElementaryTypeName","src":"4576:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21694,"mutability":"mutable","name":"calldatas","nameLocation":"4601:9:54","nodeType":"VariableDeclaration","scope":21698,"src":"4593:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21693,"name":"uint256","nodeType":"ElementaryTypeName","src":"4593:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21696,"mutability":"mutable","name":"values","nameLocation":"4620:6:54","nodeType":"VariableDeclaration","scope":21698,"src":"4612:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21695,"name":"uint256","nodeType":"ElementaryTypeName","src":"4612:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4575:52:54"},"src":"4540:88:54"},{"documentation":{"id":21699,"nodeType":"StructuredDocumentation","src":"4632:81:54","text":" @dev Thrown when the proposer is not allowed to create a proposal."},"errorSelector":"d9b39557","id":21703,"name":"GovernorRestrictedProposer","nameLocation":"4722:26:54","nodeType":"ErrorDefinition","parameters":{"id":21702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21701,"mutability":"mutable","name":"proposer","nameLocation":"4757:8:54","nodeType":"VariableDeclaration","scope":21703,"src":"4749:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21700,"name":"address","nodeType":"ElementaryTypeName","src":"4749:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4748:18:54"},"src":"4716:51:54"},{"documentation":{"id":21704,"nodeType":"StructuredDocumentation","src":"4771:61:54","text":" @dev Thrown when the proposal type is invalid."},"errorSelector":"7c977c32","id":21709,"name":"GovernorInvalidProposalType","nameLocation":"4841:27:54","nodeType":"ErrorDefinition","parameters":{"id":21708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21707,"mutability":"mutable","name":"proposalType","nameLocation":"4899:12:54","nodeType":"VariableDeclaration","scope":21709,"src":"4869:42:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":21706,"nodeType":"UserDefinedTypeName","pathNode":{"id":21705,"name":"GovernorTypesV10.ProposalType","nameLocations":["4869:16:54","4886:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"4869:29:54"},"referencedDeclaration":25017,"src":"4869:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"4868:44:54"},"src":"4835:78:54"},{"documentation":{"id":21710,"nodeType":"StructuredDocumentation","src":"4917:89:54","text":" @dev Thrown when the proposer does not fit the requirement (GM weight ATM)"},"errorSelector":"25b073c8","id":21716,"name":"GovernorInvalidProposer","nameLocation":"5015:23:54","nodeType":"ErrorDefinition","parameters":{"id":21715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21712,"mutability":"mutable","name":"proposer","nameLocation":"5047:8:54","nodeType":"VariableDeclaration","scope":21716,"src":"5039:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21711,"name":"address","nodeType":"ElementaryTypeName","src":"5039:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21714,"mutability":"mutable","name":"requiredWeight","nameLocation":"5065:14:54","nodeType":"VariableDeclaration","scope":21716,"src":"5057:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21713,"name":"uint256","nodeType":"ElementaryTypeName","src":"5057:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5038:42:54"},"src":"5009:72:54"},{"documentation":{"id":21717,"nodeType":"StructuredDocumentation","src":"5085:280:54","text":" @dev Thrown when a proposal is not allowed to perform a specific action.\n Some actions are restricted to Standard proposals only, others to Grant proposals only.\n eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded."},"errorSelector":"44b7587b","id":21724,"name":"GovernorRestrictedProposal","nameLocation":"5374:26:54","nodeType":"ErrorDefinition","parameters":{"id":21723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21719,"mutability":"mutable","name":"proposalId","nameLocation":"5409:10:54","nodeType":"VariableDeclaration","scope":21724,"src":"5401:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21718,"name":"uint256","nodeType":"ElementaryTypeName","src":"5401:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21722,"mutability":"mutable","name":"proposalType","nameLocation":"5451:12:54","nodeType":"VariableDeclaration","scope":21724,"src":"5421:42:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":21721,"nodeType":"UserDefinedTypeName","pathNode":{"id":21720,"name":"GovernorTypesV10.ProposalType","nameLocations":["5421:16:54","5438:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"5421:29:54"},"referencedDeclaration":25017,"src":"5421:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"5400:64:54"},"src":"5368:97:54"},{"body":{"id":21754,"nodeType":"Block","src":"6106:93:54","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":21746,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21728,"src":"6148:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":21747,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21731,"src":"6157:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":21748,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21734,"src":"6165:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":21749,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21736,"src":"6176:15:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":21744,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6137:3:54","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6141:6:54","memberName":"encode","nodeType":"MemberAccess","src":"6137:10:54","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":21750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6137:55:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21743,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6127:9:54","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":21751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6127:66:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":21742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6119:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":21741,"name":"uint256","nodeType":"ElementaryTypeName","src":"6119:7:54","typeDescriptions":{}}},"id":21752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6119:75:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21740,"id":21753,"nodeType":"Return","src":"6112:82:54"}]},"documentation":{"id":21725,"nodeType":"StructuredDocumentation","src":"5526:401:54","text":" @notice Returns the hash of a proposal.\n @dev Hashes the proposal parameters to produce a unique proposal id.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @return The proposal id."},"id":21755,"implemented":true,"kind":"function","modifiers":[],"name":"hashProposal","nameLocation":"5939:12:54","nodeType":"FunctionDefinition","parameters":{"id":21737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21728,"mutability":"mutable","name":"targets","nameLocation":"5974:7:54","nodeType":"VariableDeclaration","scope":21755,"src":"5957:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21726,"name":"address","nodeType":"ElementaryTypeName","src":"5957:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21727,"nodeType":"ArrayTypeName","src":"5957:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":21731,"mutability":"mutable","name":"values","nameLocation":"6004:6:54","nodeType":"VariableDeclaration","scope":21755,"src":"5987:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21729,"name":"uint256","nodeType":"ElementaryTypeName","src":"5987:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21730,"nodeType":"ArrayTypeName","src":"5987:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":21734,"mutability":"mutable","name":"calldatas","nameLocation":"6031:9:54","nodeType":"VariableDeclaration","scope":21755,"src":"6016:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21732,"name":"bytes","nodeType":"ElementaryTypeName","src":"6016:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21733,"nodeType":"ArrayTypeName","src":"6016:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":21736,"mutability":"mutable","name":"descriptionHash","nameLocation":"6054:15:54","nodeType":"VariableDeclaration","scope":21755,"src":"6046:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6046:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5951:122:54"},"returnParameters":{"id":21740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21755,"src":"6097:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21738,"name":"uint256","nodeType":"ElementaryTypeName","src":"6097:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6096:9:54"},"scope":23874,"src":"5930:269:54","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21778,"nodeType":"Block","src":"6439:152:54","statements":[{"assignments":[21767],"declarations":[{"constant":false,"id":21767,"mutability":"mutable","name":"$","nameLocation":"6493:1:54","nodeType":"VariableDeclaration","scope":21778,"src":"6445:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21766,"nodeType":"UserDefinedTypeName","pathNode":{"id":21765,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["6445:23:54","6469:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"6445:39:54"},"referencedDeclaration":24891,"src":"6445:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21771,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21768,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"6497:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6521:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"6497:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6497:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6445:96:54"},{"expression":{"expression":{"baseExpression":{"expression":{"id":21772,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21767,"src":"6554:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6556:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"6554:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":21775,"indexExpression":{"id":21774,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21758,"src":"6566:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6554:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":21776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6578:8:54","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":24964,"src":"6554:32:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":21762,"id":21777,"nodeType":"Return","src":"6547:39:54"}]},"documentation":{"id":21756,"nodeType":"StructuredDocumentation","src":"6203:147:54","text":" @notice Returns the proposer of a proposal.\n @param proposalId The id of the proposal.\n @return The address of the proposer."},"id":21779,"implemented":true,"kind":"function","modifiers":[],"name":"proposalProposer","nameLocation":"6362:16:54","nodeType":"FunctionDefinition","parameters":{"id":21759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21758,"mutability":"mutable","name":"proposalId","nameLocation":"6392:10:54","nodeType":"VariableDeclaration","scope":21779,"src":"6384:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21757,"name":"uint256","nodeType":"ElementaryTypeName","src":"6384:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6378:28:54"},"returnParameters":{"id":21762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21779,"src":"6430:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21760,"name":"address","nodeType":"ElementaryTypeName","src":"6430:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6429:9:54"},"scope":23874,"src":"6353:238:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21802,"nodeType":"Block","src":"6840:154:54","statements":[{"assignments":[21791],"declarations":[{"constant":false,"id":21791,"mutability":"mutable","name":"$","nameLocation":"6894:1:54","nodeType":"VariableDeclaration","scope":21802,"src":"6846:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21790,"nodeType":"UserDefinedTypeName","pathNode":{"id":21789,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["6846:23:54","6870:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"6846:39:54"},"referencedDeclaration":24891,"src":"6846:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21795,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21792,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"6898:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6922:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"6898:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6898:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6846:96:54"},{"expression":{"expression":{"baseExpression":{"expression":{"id":21796,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21791,"src":"6955:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6957:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"6955:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":21799,"indexExpression":{"id":21798,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21782,"src":"6967:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6955:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":21800,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6979:10:54","memberName":"etaSeconds","nodeType":"MemberAccess","referencedDeclaration":24976,"src":"6955:34:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":21786,"id":21801,"nodeType":"Return","src":"6948:41:54"}]},"documentation":{"id":21780,"nodeType":"StructuredDocumentation","src":"6595:161:54","text":" @notice Returns the eta (estimated time of arrival) of a proposal.\n @param proposalId The id of the proposal.\n @return The eta in seconds."},"id":21803,"implemented":true,"kind":"function","modifiers":[],"name":"proposalEta","nameLocation":"6768:11:54","nodeType":"FunctionDefinition","parameters":{"id":21783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21782,"mutability":"mutable","name":"proposalId","nameLocation":"6793:10:54","nodeType":"VariableDeclaration","scope":21803,"src":"6785:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21781,"name":"uint256","nodeType":"ElementaryTypeName","src":"6785:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6779:28:54"},"returnParameters":{"id":21786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21785,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21803,"src":"6831:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21784,"name":"uint256","nodeType":"ElementaryTypeName","src":"6831:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6830:9:54"},"scope":23874,"src":"6759:235:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21826,"nodeType":"Block","src":"7230:160:54","statements":[{"assignments":[21815],"declarations":[{"constant":false,"id":21815,"mutability":"mutable","name":"$","nameLocation":"7284:1:54","nodeType":"VariableDeclaration","scope":21826,"src":"7236:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21814,"nodeType":"UserDefinedTypeName","pathNode":{"id":21813,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["7236:23:54","7260:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"7236:39:54"},"referencedDeclaration":24891,"src":"7236:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21819,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21816,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"7288:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7312:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"7288:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7288:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7236:96:54"},{"expression":{"expression":{"baseExpression":{"expression":{"id":21820,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21815,"src":"7345:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7347:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"7345:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":21823,"indexExpression":{"id":21822,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21806,"src":"7357:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7345:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":21824,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7369:16:54","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"7345:40:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21810,"id":21825,"nodeType":"Return","src":"7338:47:54"}]},"documentation":{"id":21804,"nodeType":"StructuredDocumentation","src":"6998:141:54","text":" @notice Returns the start round of a proposal.\n @param proposalId The id of the proposal.\n @return The start round id."},"id":21827,"implemented":true,"kind":"function","modifiers":[],"name":"proposalStartRound","nameLocation":"7151:18:54","nodeType":"FunctionDefinition","parameters":{"id":21807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21806,"mutability":"mutable","name":"proposalId","nameLocation":"7183:10:54","nodeType":"VariableDeclaration","scope":21827,"src":"7175:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21805,"name":"uint256","nodeType":"ElementaryTypeName","src":"7175:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7169:28:54"},"returnParameters":{"id":21810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21827,"src":"7221:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21808,"name":"uint256","nodeType":"ElementaryTypeName","src":"7221:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7220:9:54"},"scope":23874,"src":"7142:248:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21839,"nodeType":"Block","src":"7708:47:54","statements":[{"expression":{"arguments":[{"id":21836,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21830,"src":"7739:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21835,"name":"_proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23632,"src":"7721:17:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":21837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7721:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21834,"id":21838,"nodeType":"Return","src":"7714:36:54"}]},"documentation":{"id":21828,"nodeType":"StructuredDocumentation","src":"7394:225:54","text":" @notice Returns the snapshot block of a proposal.\n @dev Determines the block number at which the proposal was snapshot.\n @param proposalId The id of the proposal.\n @return The snapshot block number."},"functionSelector":"2d63f693","id":21840,"implemented":true,"kind":"function","modifiers":[],"name":"proposalSnapshot","nameLocation":"7631:16:54","nodeType":"FunctionDefinition","parameters":{"id":21831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21830,"mutability":"mutable","name":"proposalId","nameLocation":"7661:10:54","nodeType":"VariableDeclaration","scope":21840,"src":"7653:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21829,"name":"uint256","nodeType":"ElementaryTypeName","src":"7653:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7647:28:54"},"returnParameters":{"id":21834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21840,"src":"7699:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21832,"name":"uint256","nodeType":"ElementaryTypeName","src":"7699:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7698:9:54"},"scope":23874,"src":"7622:133:54","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":21852,"nodeType":"Block","src":"8087:47:54","statements":[{"expression":{"arguments":[{"id":21849,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21843,"src":"8118:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21848,"name":"_proposalDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23690,"src":"8100:17:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":21850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8100:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21847,"id":21851,"nodeType":"Return","src":"8093:36:54"}]},"documentation":{"id":21841,"nodeType":"StructuredDocumentation","src":"7759:239:54","text":" @notice Returns the deadline block of a proposal.\n @dev Determines the block number at which the proposal will be considered expired.\n @param proposalId The id of the proposal.\n @return The deadline block number."},"functionSelector":"c01f9e37","id":21853,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDeadline","nameLocation":"8010:16:54","nodeType":"FunctionDefinition","parameters":{"id":21844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21843,"mutability":"mutable","name":"proposalId","nameLocation":"8040:10:54","nodeType":"VariableDeclaration","scope":21853,"src":"8032:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21842,"name":"uint256","nodeType":"ElementaryTypeName","src":"8032:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8026:28:54"},"returnParameters":{"id":21847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21846,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21853,"src":"8078:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21845,"name":"uint256","nodeType":"ElementaryTypeName","src":"8078:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8077:9:54"},"scope":23874,"src":"8001:133:54","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":21862,"nodeType":"Block","src":"8367:48:54","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":21859,"name":"_canProposalStartInNextRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23532,"src":"8380:28:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":21860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8380:30:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":21858,"id":21861,"nodeType":"Return","src":"8373:37:54"}]},"documentation":{"id":21854,"nodeType":"StructuredDocumentation","src":"8138:158:54","text":" @notice Returns whether a proposal can start in the next round.\n @return True if the proposal can start in the next round, false otherwise."},"functionSelector":"81ab2353","id":21863,"implemented":true,"kind":"function","modifiers":[],"name":"canProposalStartInNextRound","nameLocation":"8308:27:54","nodeType":"FunctionDefinition","parameters":{"id":21855,"nodeType":"ParameterList","parameters":[],"src":"8335:2:54"},"returnParameters":{"id":21858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21863,"src":"8361:4:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21856,"name":"bool","nodeType":"ElementaryTypeName","src":"8361:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8360:6:54"},"scope":23874,"src":"8299:116:54","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":21885,"nodeType":"Block","src":"8669:152:54","statements":[{"assignments":[21875],"declarations":[{"constant":false,"id":21875,"mutability":"mutable","name":"$","nameLocation":"8723:1:54","nodeType":"VariableDeclaration","scope":21885,"src":"8675:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21874,"nodeType":"UserDefinedTypeName","pathNode":{"id":21873,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["8675:23:54","8699:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"8675:39:54"},"referencedDeclaration":24891,"src":"8675:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21879,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21876,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"8727:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8751:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"8727:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8727:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8675:96:54"},{"expression":{"baseExpression":{"expression":{"id":21880,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21875,"src":"8784:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8786:18:54","memberName":"proposalTotalVotes","nodeType":"MemberAccess","referencedDeclaration":24822,"src":"8784:20:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":21883,"indexExpression":{"id":21882,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21866,"src":"8805:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8784:32:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":21870,"id":21884,"nodeType":"Return","src":"8777:39:54"}]},"documentation":{"id":21864,"nodeType":"StructuredDocumentation","src":"8419:156:54","text":" @notice Returns the total votes for a proposal.\n @param proposalId The id of the proposal.\n @return The total votes for the proposal."},"id":21886,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalTotalVotes","nameLocation":"8587:21:54","nodeType":"FunctionDefinition","parameters":{"id":21867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21866,"mutability":"mutable","name":"proposalId","nameLocation":"8622:10:54","nodeType":"VariableDeclaration","scope":21886,"src":"8614:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21865,"name":"uint256","nodeType":"ElementaryTypeName","src":"8614:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8608:28:54"},"returnParameters":{"id":21870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21886,"src":"8660:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21868,"name":"uint256","nodeType":"ElementaryTypeName","src":"8660:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8659:9:54"},"scope":23874,"src":"8578:243:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21908,"nodeType":"Block","src":"9065:145:54","statements":[{"assignments":[21898],"declarations":[{"constant":false,"id":21898,"mutability":"mutable","name":"$","nameLocation":"9119:1:54","nodeType":"VariableDeclaration","scope":21908,"src":"9071:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21897,"nodeType":"UserDefinedTypeName","pathNode":{"id":21896,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["9071:23:54","9095:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"9071:39:54"},"referencedDeclaration":24891,"src":"9071:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21902,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21899,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"9123:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9147:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"9123:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9123:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9071:96:54"},{"expression":{"baseExpression":{"expression":{"id":21903,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21898,"src":"9180:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9182:11:54","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":24781,"src":"9180:13:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":21906,"indexExpression":{"id":21905,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21889,"src":"9194:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9180:25:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":21893,"id":21907,"nodeType":"Return","src":"9173:32:54"}]},"documentation":{"id":21887,"nodeType":"StructuredDocumentation","src":"8825:154:54","text":" @notice Returns the timelock id of a proposal.\n @param proposalId The id of the proposal.\n @return The timelock id of the proposal."},"id":21909,"implemented":true,"kind":"function","modifiers":[],"name":"getTimelockId","nameLocation":"8991:13:54","nodeType":"FunctionDefinition","parameters":{"id":21890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21889,"mutability":"mutable","name":"proposalId","nameLocation":"9018:10:54","nodeType":"VariableDeclaration","scope":21909,"src":"9010:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21888,"name":"uint256","nodeType":"ElementaryTypeName","src":"9010:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9004:28:54"},"returnParameters":{"id":21893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21892,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21909,"src":"9056:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9056:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9055:9:54"},"scope":23874,"src":"8982:228:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":21934,"nodeType":"Block","src":"9439:153:54","statements":[{"assignments":[21921],"declarations":[{"constant":false,"id":21921,"mutability":"mutable","name":"$","nameLocation":"9493:1:54","nodeType":"VariableDeclaration","scope":21934,"src":"9445:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21920,"nodeType":"UserDefinedTypeName","pathNode":{"id":21919,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["9445:23:54","9469:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"9445:39:54"},"referencedDeclaration":24891,"src":"9445:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21925,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21922,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"9497:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9521:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"9497:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9497:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9445:96:54"},{"expression":{"arguments":[{"baseExpression":{"expression":{"id":21928,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21921,"src":"9560:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9562:12:54","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":24835,"src":"9560:14:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$25017_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalType)"}},"id":21931,"indexExpression":{"id":21930,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21912,"src":"9575:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9560:26:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":21927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9554:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":21926,"name":"uint8","nodeType":"ElementaryTypeName","src":"9554:5:54","typeDescriptions":{}}},"id":21932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9554:33:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":21916,"id":21933,"nodeType":"Return","src":"9547:40:54"}]},"documentation":{"id":21910,"nodeType":"StructuredDocumentation","src":"9214:142:54","text":" @notice Returns the proposal type of a proposal.\n @param proposalId The id of the proposal.\n @return The proposal type."},"functionSelector":"2a09c772","id":21935,"implemented":true,"kind":"function","modifiers":[],"name":"proposalType","nameLocation":"9368:12:54","nodeType":"FunctionDefinition","parameters":{"id":21913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21912,"mutability":"mutable","name":"proposalId","nameLocation":"9394:10:54","nodeType":"VariableDeclaration","scope":21935,"src":"9386:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21911,"name":"uint256","nodeType":"ElementaryTypeName","src":"9386:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9380:28:54"},"returnParameters":{"id":21916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21915,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21935,"src":"9432:5:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":21914,"name":"uint8","nodeType":"ElementaryTypeName","src":"9432:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9431:7:54"},"scope":23874,"src":"9359:233:54","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":22055,"nodeType":"Block","src":"9891:817:54","statements":[{"assignments":[21946],"declarations":[{"constant":false,"id":21946,"mutability":"mutable","name":"$","nameLocation":"9945:1:54","nodeType":"VariableDeclaration","scope":22055,"src":"9897:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":21945,"nodeType":"UserDefinedTypeName","pathNode":{"id":21944,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["9897:23:54","9921:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"9897:39:54"},"referencedDeclaration":24891,"src":"9897:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":21950,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":21947,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"9949:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":21948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9973:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"9949:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":21949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9897:96:54"},{"assignments":[21952],"declarations":[{"constant":false,"id":21952,"mutability":"mutable","name":"currentRoundId","nameLocation":"10007:14:54","nodeType":"VariableDeclaration","scope":22055,"src":"9999:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21951,"name":"uint256","nodeType":"ElementaryTypeName","src":"9999:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21957,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":21953,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21946,"src":"10024:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21954,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10026:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"10024:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":21955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10044:14:54","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"10024:34:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":21956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10024:36:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9999:61:54"},{"assignments":[21962],"declarations":[{"constant":false,"id":21962,"mutability":"mutable","name":"roundProposals","nameLocation":"10084:14:54","nodeType":"VariableDeclaration","scope":22055,"src":"10066:32:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21960,"name":"uint256","nodeType":"ElementaryTypeName","src":"10066:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21961,"nodeType":"ArrayTypeName","src":"10066:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":21967,"initialValue":{"baseExpression":{"expression":{"id":21963,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21946,"src":"10101:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":21964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10103:17:54","memberName":"proposalsForRound","nodeType":"MemberAccess","referencedDeclaration":24888,"src":"10101:19:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[] storage ref)"}},"id":21966,"indexExpression":{"id":21965,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21952,"src":"10121:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10101:35:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10066:70:54"},{"assignments":[21969],"declarations":[{"constant":false,"id":21969,"mutability":"mutable","name":"len","nameLocation":"10150:3:54","nodeType":"VariableDeclaration","scope":22055,"src":"10142:11:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21968,"name":"uint256","nodeType":"ElementaryTypeName","src":"10142:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21972,"initialValue":{"expression":{"id":21970,"name":"roundProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21962,"src":"10156:14:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":21971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10171:6:54","memberName":"length","nodeType":"MemberAccess","src":"10156:21:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10142:35:54"},{"assignments":[21977],"declarations":[{"constant":false,"id":21977,"mutability":"mutable","name":"activeProposalIds","nameLocation":"10200:17:54","nodeType":"VariableDeclaration","scope":22055,"src":"10183:34:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21975,"name":"uint256","nodeType":"ElementaryTypeName","src":"10183:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21976,"nodeType":"ArrayTypeName","src":"10183:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":21983,"initialValue":{"arguments":[{"id":21981,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21969,"src":"10234:3:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":21980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10220:13:54","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":21978,"name":"uint256","nodeType":"ElementaryTypeName","src":"10224:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21979,"nodeType":"ArrayTypeName","src":"10224:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":21982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10220:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10183:55:54"},{"assignments":[21985],"declarations":[{"constant":false,"id":21985,"mutability":"mutable","name":"activeCount","nameLocation":"10252:11:54","nodeType":"VariableDeclaration","scope":22055,"src":"10244:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21984,"name":"uint256","nodeType":"ElementaryTypeName","src":"10244:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21986,"nodeType":"VariableDeclarationStatement","src":"10244:19:54"},{"body":{"id":22021,"nodeType":"Block","src":"10300:232:54","statements":[{"assignments":[21997],"declarations":[{"constant":false,"id":21997,"mutability":"mutable","name":"proposalId","nameLocation":"10316:10:54","nodeType":"VariableDeclaration","scope":22021,"src":"10308:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21996,"name":"uint256","nodeType":"ElementaryTypeName","src":"10308:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22001,"initialValue":{"baseExpression":{"id":21998,"name":"roundProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21962,"src":"10329:14:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":22000,"indexExpression":{"id":21999,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21988,"src":"10344:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10329:17:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10308:38:54"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"id":22009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":22004,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21997,"src":"10387:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22002,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"10358:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10380:6:54","memberName":"_state","nodeType":"MemberAccess","referencedDeclaration":24717,"src":"10358:28:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256) view returns (enum GovernorTypesV10.ProposalState)"}},"id":22005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10358:40:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":22006,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"10402:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10419:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"10402:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10433:6:54","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":24983,"src":"10402:37:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"src":"10358:81:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22020,"nodeType":"IfStatement","src":"10354:172:54","trueBody":{"id":22019,"nodeType":"Block","src":"10441:85:54","statements":[{"expression":{"id":22014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":22010,"name":"activeProposalIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21977,"src":"10451:17:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":22012,"indexExpression":{"id":22011,"name":"activeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21985,"src":"10469:11:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10451:30:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":22013,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21997,"src":"10484:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10451:43:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22015,"nodeType":"ExpressionStatement","src":"10451:43:54"},{"expression":{"id":22017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10504:13:54","subExpression":{"id":22016,"name":"activeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21985,"src":"10504:11:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22018,"nodeType":"ExpressionStatement","src":"10504:13:54"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":21990,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21988,"src":"10286:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":21991,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21969,"src":"10290:3:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10286:7:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22022,"initializationExpression":{"assignments":[21988],"declarations":[{"constant":false,"id":21988,"mutability":"mutable","name":"i","nameLocation":"10283:1:54","nodeType":"VariableDeclaration","scope":22022,"src":"10275:9:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21987,"name":"uint256","nodeType":"ElementaryTypeName","src":"10275:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":21989,"nodeType":"VariableDeclarationStatement","src":"10275:9:54"},"loopExpression":{"expression":{"id":21994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10295:3:54","subExpression":{"id":21993,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21988,"src":"10295:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21995,"nodeType":"ExpressionStatement","src":"10295:3:54"},"nodeType":"ForStatement","src":"10270:262:54"},{"assignments":[22027],"declarations":[{"constant":false,"id":22027,"mutability":"mutable","name":"trimmed","nameLocation":"10555:7:54","nodeType":"VariableDeclaration","scope":22055,"src":"10538:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":22025,"name":"uint256","nodeType":"ElementaryTypeName","src":"10538:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22026,"nodeType":"ArrayTypeName","src":"10538:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":22033,"initialValue":{"arguments":[{"id":22031,"name":"activeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21985,"src":"10579:11:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10565:13:54","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":22028,"name":"uint256","nodeType":"ElementaryTypeName","src":"10569:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22029,"nodeType":"ArrayTypeName","src":"10569:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":22032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10565:26:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10538:53:54"},{"body":{"id":22051,"nodeType":"Block","src":"10635:48:54","statements":[{"expression":{"id":22049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":22043,"name":"trimmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22027,"src":"10643:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":22045,"indexExpression":{"id":22044,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22035,"src":"10651:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10643:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":22046,"name":"activeProposalIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21977,"src":"10656:17:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":22048,"indexExpression":{"id":22047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22035,"src":"10674:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10656:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10643:33:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22050,"nodeType":"ExpressionStatement","src":"10643:33:54"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22035,"src":"10613:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":22038,"name":"activeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21985,"src":"10617:11:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10613:15:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22052,"initializationExpression":{"assignments":[22035],"declarations":[{"constant":false,"id":22035,"mutability":"mutable","name":"i","nameLocation":"10610:1:54","nodeType":"VariableDeclaration","scope":22052,"src":"10602:9:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22034,"name":"uint256","nodeType":"ElementaryTypeName","src":"10602:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22036,"nodeType":"VariableDeclarationStatement","src":"10602:9:54"},"loopExpression":{"expression":{"id":22041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10630:3:54","subExpression":{"id":22040,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22035,"src":"10630:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22042,"nodeType":"ExpressionStatement","src":"10630:3:54"},"nodeType":"ForStatement","src":"10597:86:54"},{"expression":{"id":22053,"name":"trimmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22027,"src":"10696:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":21941,"id":22054,"nodeType":"Return","src":"10689:14:54"}]},"documentation":{"id":21936,"nodeType":"StructuredDocumentation","src":"9596:221:54","text":" @notice Returns proposal IDs that are currently active.\n @dev Iterates proposals registered for the current round and filters by Active state.\n      Bounded by proposals-per-round (0-3 in practice)."},"functionSelector":"5584c4f9","id":22056,"implemented":true,"kind":"function","modifiers":[],"name":"getActiveProposals","nameLocation":"9829:18:54","nodeType":"FunctionDefinition","parameters":{"id":21937,"nodeType":"ParameterList","parameters":[],"src":"9847:2:54"},"returnParameters":{"id":21941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21940,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22056,"src":"9873:16:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21938,"name":"uint256","nodeType":"ElementaryTypeName","src":"9873:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21939,"nodeType":"ArrayTypeName","src":"9873:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"9872:18:54"},"scope":23874,"src":"9820:888:54","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":22123,"nodeType":"Block","src":"11540:578:54","statements":[{"assignments":[22078],"declarations":[{"constant":false,"id":22078,"mutability":"mutable","name":"proposer","nameLocation":"11554:8:54","nodeType":"VariableDeclaration","scope":22123,"src":"11546:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22077,"name":"address","nodeType":"ElementaryTypeName","src":"11546:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":22081,"initialValue":{"expression":{"id":22079,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11565:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":22080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11569:6:54","memberName":"sender","nodeType":"MemberAccess","src":"11565:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11546:29:54"},{"assignments":[22083],"declarations":[{"constant":false,"id":22083,"mutability":"mutable","name":"proposalId","nameLocation":"11590:10:54","nodeType":"VariableDeclaration","scope":22123,"src":"11582:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22082,"name":"uint256","nodeType":"ElementaryTypeName","src":"11582:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22095,"initialValue":{"arguments":[{"id":22085,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22060,"src":"11616:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22086,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22063,"src":"11625:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22087,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22066,"src":"11633:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"arguments":[{"arguments":[{"id":22091,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22068,"src":"11660:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":22090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11654:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":22089,"name":"bytes","nodeType":"ElementaryTypeName","src":"11654:5:54","typeDescriptions":{}}},"id":22092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11654:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22088,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"11644:9:54","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":22093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11644:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":22084,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21755,"src":"11603:12:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":22094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11603:71:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11582:92:54"},{"expression":{"arguments":[{"id":22097,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22078,"src":"11710:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22098,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22070,"src":"11726:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22099,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22068,"src":"11746:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22100,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22060,"src":"11765:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22101,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22063,"src":"11780:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22102,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22066,"src":"11794:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22103,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22083,"src":"11811:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":22104,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"11829:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11846:12:54","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"11829:29:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":22106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11859:8:54","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":25015,"src":"11829:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22096,"name":"validateProposeParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23154,"src":"11681:21:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (address,uint256,string memory,address[] memory,uint256[] memory,bytes memory[] memory,uint256,enum GovernorTypesV10.ProposalType) view"}},"id":22107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11681:192:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22108,"nodeType":"ExpressionStatement","src":"11681:192:54"},{"expression":{"arguments":[{"id":22110,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22078,"src":"11911:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22111,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22083,"src":"11929:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22112,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22060,"src":"11949:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22113,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22063,"src":"11966:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22114,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22066,"src":"11982:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22115,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22068,"src":"12001:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22116,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22070,"src":"12022:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22117,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22072,"src":"12044:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":22118,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"12067:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12084:12:54","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"12067:29:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":22120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12097:8:54","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":25015,"src":"12067:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22109,"name":"_propose","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22962,"src":"11893:8:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256,enum GovernorTypesV10.ProposalType) returns (uint256)"}},"id":22121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11893:220:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22076,"id":22122,"nodeType":"Return","src":"11880:233:54"}]},"documentation":{"id":22057,"nodeType":"StructuredDocumentation","src":"10769:547:54","text":" @notice Proposes a new governance action.\n @dev Creates a new proposal and validates the proposal parameters.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param description The description of the proposal.\n @param startRoundId The round in which the proposal should be active.\n @param depositAmount The amount of tokens the proposer intends to deposit.\n @return The proposal id."},"functionSelector":"58c839bc","id":22124,"implemented":true,"kind":"function","modifiers":[],"name":"propose","nameLocation":"11328:7:54","nodeType":"FunctionDefinition","parameters":{"id":22073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22060,"mutability":"mutable","name":"targets","nameLocation":"11358:7:54","nodeType":"VariableDeclaration","scope":22124,"src":"11341:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":22058,"name":"address","nodeType":"ElementaryTypeName","src":"11341:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22059,"nodeType":"ArrayTypeName","src":"11341:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":22063,"mutability":"mutable","name":"values","nameLocation":"11388:6:54","nodeType":"VariableDeclaration","scope":22124,"src":"11371:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":22061,"name":"uint256","nodeType":"ElementaryTypeName","src":"11371:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22062,"nodeType":"ArrayTypeName","src":"11371:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":22066,"mutability":"mutable","name":"calldatas","nameLocation":"11415:9:54","nodeType":"VariableDeclaration","scope":22124,"src":"11400:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22064,"name":"bytes","nodeType":"ElementaryTypeName","src":"11400:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22065,"nodeType":"ArrayTypeName","src":"11400:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":22068,"mutability":"mutable","name":"description","nameLocation":"11444:11:54","nodeType":"VariableDeclaration","scope":22124,"src":"11430:25:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22067,"name":"string","nodeType":"ElementaryTypeName","src":"11430:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22070,"mutability":"mutable","name":"startRoundId","nameLocation":"11469:12:54","nodeType":"VariableDeclaration","scope":22124,"src":"11461:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22069,"name":"uint256","nodeType":"ElementaryTypeName","src":"11461:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22072,"mutability":"mutable","name":"depositAmount","nameLocation":"11495:13:54","nodeType":"VariableDeclaration","scope":22124,"src":"11487:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22071,"name":"uint256","nodeType":"ElementaryTypeName","src":"11487:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11335:177:54"},"returnParameters":{"id":22076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22075,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22124,"src":"11531:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22074,"name":"uint256","nodeType":"ElementaryTypeName","src":"11531:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11530:9:54"},"scope":23874,"src":"11319:799:54","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":22214,"nodeType":"Block","src":"13124:931:54","statements":[{"assignments":[22153],"declarations":[{"constant":false,"id":22153,"mutability":"mutable","name":"$","nameLocation":"13178:1:54","nodeType":"VariableDeclaration","scope":22214,"src":"13130:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":22152,"nodeType":"UserDefinedTypeName","pathNode":{"id":22151,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["13130:23:54","13154:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"13130:39:54"},"referencedDeclaration":24891,"src":"13130:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":22157,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22154,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"13182:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":22155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13206:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"13182:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":22156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13130:96:54"},{"assignments":[22159],"declarations":[{"constant":false,"id":22159,"mutability":"mutable","name":"proposalId","nameLocation":"13240:10:54","nodeType":"VariableDeclaration","scope":22214,"src":"13232:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22158,"name":"uint256","nodeType":"ElementaryTypeName","src":"13232:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22171,"initialValue":{"arguments":[{"id":22161,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22128,"src":"13266:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22162,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22131,"src":"13275:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22163,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22134,"src":"13283:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"arguments":[{"arguments":[{"id":22167,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22136,"src":"13310:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":22166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13304:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":22165,"name":"bytes","nodeType":"ElementaryTypeName","src":"13304:5:54","typeDescriptions":{}}},"id":22168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13304:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22164,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"13294:9:54","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":22169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13294:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":22160,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21755,"src":"13253:12:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":22170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13253:71:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13232:92:54"},{"expression":{"arguments":[{"expression":{"id":22173,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13360:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":22174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13364:6:54","memberName":"sender","nodeType":"MemberAccess","src":"13360:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22175,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22138,"src":"13389:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22176,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22136,"src":"13409:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22177,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22128,"src":"13428:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22178,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22131,"src":"13443:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22179,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22134,"src":"13457:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22180,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22159,"src":"13474:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":22181,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"13492:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13509:12:54","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"13492:29:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":22183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13522:5:54","memberName":"Grant","nodeType":"MemberAccess","referencedDeclaration":25016,"src":"13492:35:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22172,"name":"validateProposeParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23154,"src":"13331:21:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (address,uint256,string memory,address[] memory,uint256[] memory,bytes memory[] memory,uint256,enum GovernorTypesV10.ProposalType) view"}},"id":22184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13331:202:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22185,"nodeType":"ExpressionStatement","src":"13331:202:54"},{"expression":{"arguments":[{"id":22191,"name":"milestonesDetailsMetadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22144,"src":"13680:28:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22192,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22159,"src":"13716:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":22193,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13734:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":22194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13738:6:54","memberName":"sender","nodeType":"MemberAccess","src":"13734:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22195,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22142,"src":"13763:14:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22196,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22134,"src":"13785:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"arguments":[{"expression":{"id":22187,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22153,"src":"13639:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13641:13:54","memberName":"grantsManager","nodeType":"MemberAccess","referencedDeclaration":24859,"src":"13639:15:54","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"id":22186,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"13624:14:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGrantsManager_$65639_$","typeString":"type(contract IGrantsManager)"}},"id":22189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13624:31:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"id":22190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13656:16:54","memberName":"createMilestones","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"13624:48:54","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_address_$_t_address_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,uint256,address,address,bytes memory[] memory) external"}},"id":22197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13624:176:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22198,"nodeType":"ExpressionStatement","src":"13624:176:54"},{"expression":{"arguments":[{"expression":{"id":22200,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13838:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":22201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13842:6:54","memberName":"sender","nodeType":"MemberAccess","src":"13838:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22202,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22159,"src":"13869:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22203,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22128,"src":"13889:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22204,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22131,"src":"13906:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22205,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22134,"src":"13922:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22206,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22136,"src":"13941:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22207,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22138,"src":"13962:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22208,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22140,"src":"13984:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":22209,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"14007:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14024:12:54","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"14007:29:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":22211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14037:5:54","memberName":"Grant","nodeType":"MemberAccess","referencedDeclaration":25016,"src":"14007:35:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22199,"name":"_propose","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22962,"src":"13820:8:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256,enum GovernorTypesV10.ProposalType) returns (uint256)"}},"id":22212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13820:230:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22148,"id":22213,"nodeType":"Return","src":"13807:243:54"}]},"documentation":{"id":22125,"nodeType":"StructuredDocumentation","src":"12122:697:54","text":" @notice Proposes a new grant proposal.\n @dev Creates a new proposal and validates the proposal parameters.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param description The description of the proposal.\n @param startRoundId The round in which the proposal should be active.\n @param depositAmount The amount of tokens the proposer intends to deposit.\n @param grantsReceiver The address of the grants receiver\n @param milestonesDetailsMetadataURI The IPFS hash containing the milestones ipfs hash\n @return The proposal id."},"functionSelector":"013b1088","id":22215,"implemented":true,"kind":"function","modifiers":[],"name":"proposeGrant","nameLocation":"12831:12:54","nodeType":"FunctionDefinition","parameters":{"id":22145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22128,"mutability":"mutable","name":"targets","nameLocation":"12866:7:54","nodeType":"VariableDeclaration","scope":22215,"src":"12849:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":22126,"name":"address","nodeType":"ElementaryTypeName","src":"12849:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22127,"nodeType":"ArrayTypeName","src":"12849:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":22131,"mutability":"mutable","name":"values","nameLocation":"12896:6:54","nodeType":"VariableDeclaration","scope":22215,"src":"12879:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":22129,"name":"uint256","nodeType":"ElementaryTypeName","src":"12879:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22130,"nodeType":"ArrayTypeName","src":"12879:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":22134,"mutability":"mutable","name":"calldatas","nameLocation":"12923:9:54","nodeType":"VariableDeclaration","scope":22215,"src":"12908:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22132,"name":"bytes","nodeType":"ElementaryTypeName","src":"12908:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22133,"nodeType":"ArrayTypeName","src":"12908:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":22136,"mutability":"mutable","name":"description","nameLocation":"12952:11:54","nodeType":"VariableDeclaration","scope":22215,"src":"12938:25:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22135,"name":"string","nodeType":"ElementaryTypeName","src":"12938:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22138,"mutability":"mutable","name":"startRoundId","nameLocation":"12977:12:54","nodeType":"VariableDeclaration","scope":22215,"src":"12969:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22137,"name":"uint256","nodeType":"ElementaryTypeName","src":"12969:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22140,"mutability":"mutable","name":"depositAmount","nameLocation":"13003:13:54","nodeType":"VariableDeclaration","scope":22215,"src":"12995:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22139,"name":"uint256","nodeType":"ElementaryTypeName","src":"12995:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22142,"mutability":"mutable","name":"grantsReceiver","nameLocation":"13030:14:54","nodeType":"VariableDeclaration","scope":22215,"src":"13022:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22141,"name":"address","nodeType":"ElementaryTypeName","src":"13022:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22144,"mutability":"mutable","name":"milestonesDetailsMetadataURI","nameLocation":"13064:28:54","nodeType":"VariableDeclaration","scope":22215,"src":"13050:42:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22143,"name":"string","nodeType":"ElementaryTypeName","src":"13050:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12843:253:54"},"returnParameters":{"id":22148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22147,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22215,"src":"13115:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22146,"name":"uint256","nodeType":"ElementaryTypeName","src":"13115:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13114:9:54"},"scope":23874,"src":"12822:1233:54","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":22259,"nodeType":"Block","src":"14414:345:54","statements":[{"assignments":[22227],"declarations":[{"constant":false,"id":22227,"mutability":"mutable","name":"$","nameLocation":"14468:1:54","nodeType":"VariableDeclaration","scope":22259,"src":"14420:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":22226,"nodeType":"UserDefinedTypeName","pathNode":{"id":22225,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["14420:23:54","14444:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"14420:39:54"},"referencedDeclaration":24891,"src":"14420:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":22231,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22228,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"14472:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":22229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14496:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"14472:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":22230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14472:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14420:96:54"},{"assignments":[22236],"declarations":[{"constant":false,"id":22236,"mutability":"mutable","name":"proposal","nameLocation":"14560:8:54","nodeType":"VariableDeclaration","scope":22259,"src":"14522:46:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"},"typeName":{"id":22235,"nodeType":"UserDefinedTypeName","pathNode":{"id":22234,"name":"GovernorTypesV10.ProposalCore","nameLocations":["14522:16:54","14539:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":24981,"src":"14522:29:54"},"referencedDeclaration":24981,"src":"14522:29:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"}},"visibility":"internal"}],"id":22241,"initialValue":{"baseExpression":{"expression":{"id":22237,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22227,"src":"14571:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14573:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"14571:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":22240,"indexExpression":{"id":22239,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22218,"src":"14583:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14571:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14522:72:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22242,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22236,"src":"14604:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":22243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14613:16:54","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"14604:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":22244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14633:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14604:30:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22249,"nodeType":"IfStatement","src":"14600:63:54","trueBody":{"id":22248,"nodeType":"Block","src":"14636:27:54","statements":[{"expression":{"hexValue":"66616c7365","id":22246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14651:5:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":22222,"id":22247,"nodeType":"Return","src":"14644:12:54"}]}},{"condition":{"expression":{"id":22250,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22236,"src":"14673:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":22251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14682:12:54","memberName":"isExecutable","nodeType":"MemberAccess","referencedDeclaration":24970,"src":"14673:21:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":22257,"nodeType":"Block","src":"14728:27:54","statements":[{"expression":{"hexValue":"66616c7365","id":22255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14743:5:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":22222,"id":22256,"nodeType":"Return","src":"14736:12:54"}]},"id":22258,"nodeType":"IfStatement","src":"14669:86:54","trueBody":{"id":22254,"nodeType":"Block","src":"14696:26:54","statements":[{"expression":{"hexValue":"74727565","id":22252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14711:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":22222,"id":22253,"nodeType":"Return","src":"14704:11:54"}]}}]},"documentation":{"id":22216,"nodeType":"StructuredDocumentation","src":"14059:265:54","text":" @dev Function to know if a proposal is executable or not.\n If the proposal was creted without any targets, values, or calldatas, it is not executable.\n to check if the proposal is executable.\n @param proposalId The id of the proposal"},"functionSelector":"a9a95294","id":22260,"implemented":true,"kind":"function","modifiers":[],"name":"proposalNeedsQueuing","nameLocation":"14336:20:54","nodeType":"FunctionDefinition","parameters":{"id":22219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22218,"mutability":"mutable","name":"proposalId","nameLocation":"14370:10:54","nodeType":"VariableDeclaration","scope":22260,"src":"14362:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22217,"name":"uint256","nodeType":"ElementaryTypeName","src":"14362:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14356:28:54"},"returnParameters":{"id":22222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22260,"src":"14408:4:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22220,"name":"bool","nodeType":"ElementaryTypeName","src":"14408:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14407:6:54"},"scope":23874,"src":"14327:432:54","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":22345,"nodeType":"Block","src":"15434:732:54","statements":[{"assignments":[22283],"declarations":[{"constant":false,"id":22283,"mutability":"mutable","name":"$","nameLocation":"15488:1:54","nodeType":"VariableDeclaration","scope":22345,"src":"15440:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":22282,"nodeType":"UserDefinedTypeName","pathNode":{"id":22281,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["15440:23:54","15464:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"15440:39:54"},"referencedDeclaration":24891,"src":"15440:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":22287,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22284,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"15492:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":22285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15516:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"15492:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":22286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15492:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15440:96:54"},{"assignments":[22289],"declarations":[{"constant":false,"id":22289,"mutability":"mutable","name":"proposalId","nameLocation":"15550:10:54","nodeType":"VariableDeclaration","scope":22345,"src":"15542:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22288,"name":"uint256","nodeType":"ElementaryTypeName","src":"15542:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22296,"initialValue":{"arguments":[{"id":22291,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22266,"src":"15576:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22292,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22269,"src":"15585:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22293,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22272,"src":"15593:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22294,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22274,"src":"15604:15:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":22290,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21755,"src":"15563:12:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":22295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15563:57:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15542:78:54"},{"expression":{"arguments":[{"id":22300,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22289,"src":"15676:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":22303,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"15734:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15751:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"15734:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15765:9:54","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":24986,"src":"15734:40:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22301,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"15694:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15716:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"15694:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15694:81:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":22297,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"15627:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15649:19:54","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"15627:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":22307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15627:154:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":22308,"nodeType":"ExpressionStatement","src":"15627:154:54"},{"assignments":[22310],"declarations":[{"constant":false,"id":22310,"mutability":"mutable","name":"etaSeconds","nameLocation":"15795:10:54","nodeType":"VariableDeclaration","scope":22345,"src":"15788:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":22309,"name":"uint48","nodeType":"ElementaryTypeName","src":"15788:6:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":22319,"initialValue":{"arguments":[{"id":22312,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22263,"src":"15832:15:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22313,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22289,"src":"15855:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22314,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22266,"src":"15873:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22315,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22269,"src":"15888:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22316,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22272,"src":"15902:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22317,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22274,"src":"15919:15:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":22311,"name":"_queueOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23433,"src":"15808:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint48_$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint48)"}},"id":22318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15808:132:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"15788:152:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":22322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22320,"name":"etaSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22310,"src":"15951:10:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":22321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15965:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15951:15:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":22341,"nodeType":"Block","src":"16087:51:54","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":22338,"name":"GovernorQueueNotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21689,"src":"16102:27:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":22339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16102:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22340,"nodeType":"RevertStatement","src":"16095:36:54"}]},"id":22342,"nodeType":"IfStatement","src":"15947:191:54","trueBody":{"id":22337,"nodeType":"Block","src":"15968:113:54","statements":[{"expression":{"id":22330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":22323,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22283,"src":"15976:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15978:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"15976:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":22327,"indexExpression":{"id":22325,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22289,"src":"15988:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15976:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":22328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16000:10:54","memberName":"etaSeconds","nodeType":"MemberAccess","referencedDeclaration":24976,"src":"15976:34:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":22329,"name":"etaSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22310,"src":"16013:10:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"15976:47:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":22331,"nodeType":"ExpressionStatement","src":"15976:47:54"},{"eventCall":{"arguments":[{"id":22333,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22289,"src":"16051:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22334,"name":"etaSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22310,"src":"16063:10:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":22332,"name":"ProposalQueued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21651,"src":"16036:14:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":22335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16036:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22336,"nodeType":"EmitStatement","src":"16031:43:54"}]}},{"expression":{"id":22343,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22289,"src":"16151:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22278,"id":22344,"nodeType":"Return","src":"16144:17:54"}]},"documentation":{"id":22261,"nodeType":"StructuredDocumentation","src":"14763:440:54","text":" @notice Queues a proposal for execution.\n @dev Queues the proposal in the timelock.\n @param contractAddress The address of the calling contract.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @return The proposal id."},"functionSelector":"01957cc7","id":22346,"implemented":true,"kind":"function","modifiers":[],"name":"queue","nameLocation":"15215:5:54","nodeType":"FunctionDefinition","parameters":{"id":22275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22263,"mutability":"mutable","name":"contractAddress","nameLocation":"15234:15:54","nodeType":"VariableDeclaration","scope":22346,"src":"15226:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22262,"name":"address","nodeType":"ElementaryTypeName","src":"15226:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22266,"mutability":"mutable","name":"targets","nameLocation":"15307:7:54","nodeType":"VariableDeclaration","scope":22346,"src":"15290:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":22264,"name":"address","nodeType":"ElementaryTypeName","src":"15290:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22265,"nodeType":"ArrayTypeName","src":"15290:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":22269,"mutability":"mutable","name":"values","nameLocation":"15337:6:54","nodeType":"VariableDeclaration","scope":22346,"src":"15320:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":22267,"name":"uint256","nodeType":"ElementaryTypeName","src":"15320:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22268,"nodeType":"ArrayTypeName","src":"15320:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":22272,"mutability":"mutable","name":"calldatas","nameLocation":"15364:9:54","nodeType":"VariableDeclaration","scope":22346,"src":"15349:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22270,"name":"bytes","nodeType":"ElementaryTypeName","src":"15349:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22271,"nodeType":"ArrayTypeName","src":"15349:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":22274,"mutability":"mutable","name":"descriptionHash","nameLocation":"15387:15:54","nodeType":"VariableDeclaration","scope":22346,"src":"15379:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15379:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15220:186:54"},"returnParameters":{"id":22278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22277,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22346,"src":"15425:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22276,"name":"uint256","nodeType":"ElementaryTypeName","src":"15425:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15424:9:54"},"scope":23874,"src":"15206:960:54","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":22487,"nodeType":"Block","src":"16840:1201:54","statements":[{"assignments":[22369],"declarations":[{"constant":false,"id":22369,"mutability":"mutable","name":"$","nameLocation":"16894:1:54","nodeType":"VariableDeclaration","scope":22487,"src":"16846:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":22368,"nodeType":"UserDefinedTypeName","pathNode":{"id":22367,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["16846:23:54","16870:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"16846:39:54"},"referencedDeclaration":24891,"src":"16846:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":22373,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22370,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"16898:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":22371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16922:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"16898:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":22372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16898:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16846:96:54"},{"assignments":[22375],"declarations":[{"constant":false,"id":22375,"mutability":"mutable","name":"proposalId","nameLocation":"16956:10:54","nodeType":"VariableDeclaration","scope":22487,"src":"16948:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22374,"name":"uint256","nodeType":"ElementaryTypeName","src":"16948:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22382,"initialValue":{"arguments":[{"id":22377,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22352,"src":"16982:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22378,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22355,"src":"16991:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22379,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22358,"src":"16999:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22380,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22360,"src":"17010:15:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":22376,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21755,"src":"16969:12:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":22381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16969:57:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16948:78:54"},{"expression":{"arguments":[{"id":22386,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22375,"src":"17082:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"expression":{"id":22389,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"17140:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17157:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"17140:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17171:9:54","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":24986,"src":"17140:40:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22387,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"17100:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17122:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"17100:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17100:81:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"expression":{"expression":{"id":22395,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"17232:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17249:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"17232:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17263:6:54","memberName":"Queued","nodeType":"MemberAccess","referencedDeclaration":24987,"src":"17232:37:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22393,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"17192:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17214:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"17192:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17192:78:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"17100:170:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":22383,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"17033:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17055:19:54","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"17033:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":22400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17033:243:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":22401,"nodeType":"ExpressionStatement","src":"17033:243:54"},{"expression":{"id":22409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":22402,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22369,"src":"17340:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17342:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"17340:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":22406,"indexExpression":{"id":22404,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22375,"src":"17352:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17340:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":22407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17364:8:54","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":24972,"src":"17340:32:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":22408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17375:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"17340:39:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22410,"nodeType":"ExpressionStatement","src":"17340:39:54"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":22415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22411,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"17448:26:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":22412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17475:8:54","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":21512,"src":"17448:35:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":22413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17448:37:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":22414,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22349,"src":"17489:15:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17448:56:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22451,"nodeType":"IfStatement","src":"17444:241:54","trueBody":{"id":22450,"nodeType":"Block","src":"17506:179:54","statements":[{"body":{"id":22448,"nodeType":"Block","src":"17555:124:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":22433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":22426,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22352,"src":"17569:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":22428,"indexExpression":{"id":22427,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22417,"src":"17577:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17569:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":22431,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17591:4:54","typeDescriptions":{"typeIdentifier":"t_contract$_GovernorProposalLogicV10_$23874","typeString":"library GovernorProposalLogicV10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GovernorProposalLogicV10_$23874","typeString":"library GovernorProposalLogicV10"}],"id":22430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17583:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":22429,"name":"address","nodeType":"ElementaryTypeName","src":"17583:7:54","typeDescriptions":{}}},"id":22432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17583:13:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17569:27:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22447,"nodeType":"IfStatement","src":"17565:106:54","trueBody":{"id":22446,"nodeType":"Block","src":"17598:73:54","statements":[{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":22440,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22358,"src":"17646:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":22442,"indexExpression":{"id":22441,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22417,"src":"17656:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17646:12:54","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22439,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"17636:9:54","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":22443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17636:23:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":22434,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22369,"src":"17610:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17612:14:54","memberName":"governanceCall","nodeType":"MemberAccess","referencedDeclaration":24769,"src":"17610:16:54","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":22438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17627:8:54","memberName":"pushBack","nodeType":"MemberAccess","referencedDeclaration":10511,"src":"17610:25:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$10469_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_struct$_Bytes32Deque_$10469_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer,bytes32)"}},"id":22444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17610:50:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22445,"nodeType":"ExpressionStatement","src":"17610:50:54"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22419,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22417,"src":"17530:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":22420,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22352,"src":"17534:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":22421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17542:6:54","memberName":"length","nodeType":"MemberAccess","src":"17534:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17530:18:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22449,"initializationExpression":{"assignments":[22417],"declarations":[{"constant":false,"id":22417,"mutability":"mutable","name":"i","nameLocation":"17527:1:54","nodeType":"VariableDeclaration","scope":22449,"src":"17519:9:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22416,"name":"uint256","nodeType":"ElementaryTypeName","src":"17519:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22418,"nodeType":"VariableDeclarationStatement","src":"17519:9:54"},"loopExpression":{"expression":{"id":22424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17550:3:54","subExpression":{"id":22423,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22417,"src":"17552:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22425,"nodeType":"ExpressionStatement","src":"17550:3:54"},"nodeType":"ForStatement","src":"17514:165:54"}]}},{"expression":{"arguments":[{"id":22453,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22349,"src":"17710:15:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22454,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22375,"src":"17727:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22455,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22352,"src":"17739:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22456,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22355,"src":"17748:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22457,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22358,"src":"17756:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22458,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22360,"src":"17767:15:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":22452,"name":"_executeOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23350,"src":"17691:18:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32)"}},"id":22459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17691:92:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22460,"nodeType":"ExpressionStatement","src":"17691:92:54"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":22471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":22465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22461,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"17847:26:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":22462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17874:8:54","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":21512,"src":"17847:35:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":22463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17847:37:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":22464,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22349,"src":"17888:15:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17847:56:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":22470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17907:25:54","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":22466,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22369,"src":"17908:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17910:14:54","memberName":"governanceCall","nodeType":"MemberAccess","referencedDeclaration":24769,"src":"17908:16:54","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":22468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17925:5:54","memberName":"empty","nodeType":"MemberAccess","referencedDeclaration":10780,"src":"17908:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$10469_storage_ptr_$returns$_t_bool_$attached_to$_t_struct$_Bytes32Deque_$10469_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)"}},"id":22469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17908:24:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17847:85:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22480,"nodeType":"IfStatement","src":"17843:130:54","trueBody":{"id":22479,"nodeType":"Block","src":"17934:39:54","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":22472,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22369,"src":"17942:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22475,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17944:14:54","memberName":"governanceCall","nodeType":"MemberAccess","referencedDeclaration":24769,"src":"17942:16:54","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":22476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17959:5:54","memberName":"clear","nodeType":"MemberAccess","referencedDeclaration":10744,"src":"17942:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$10469_storage_ptr_$returns$__$attached_to$_t_struct$_Bytes32Deque_$10469_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer)"}},"id":22477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17942:24:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22478,"nodeType":"ExpressionStatement","src":"17942:24:54"}]}},{"eventCall":{"arguments":[{"id":22482,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22375,"src":"18001:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22481,"name":"ProposalExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21644,"src":"17984:16:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":22483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17984:28:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22484,"nodeType":"EmitStatement","src":"17979:33:54"},{"expression":{"id":22485,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22375,"src":"18026:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22364,"id":22486,"nodeType":"Return","src":"18019:17:54"}]},"documentation":{"id":22347,"nodeType":"StructuredDocumentation","src":"16170:437:54","text":" @notice Executes a queued proposal.\n @dev Executes the proposal in the timelock.\n @param contractAddress The address of the calling contract.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @return The proposal id."},"functionSelector":"fcadd1f7","id":22488,"implemented":true,"kind":"function","modifiers":[],"name":"execute","nameLocation":"16619:7:54","nodeType":"FunctionDefinition","parameters":{"id":22361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22349,"mutability":"mutable","name":"contractAddress","nameLocation":"16640:15:54","nodeType":"VariableDeclaration","scope":22488,"src":"16632:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22348,"name":"address","nodeType":"ElementaryTypeName","src":"16632:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22352,"mutability":"mutable","name":"targets","nameLocation":"16713:7:54","nodeType":"VariableDeclaration","scope":22488,"src":"16696:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":22350,"name":"address","nodeType":"ElementaryTypeName","src":"16696:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22351,"nodeType":"ArrayTypeName","src":"16696:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":22355,"mutability":"mutable","name":"values","nameLocation":"16743:6:54","nodeType":"VariableDeclaration","scope":22488,"src":"16726:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":22353,"name":"uint256","nodeType":"ElementaryTypeName","src":"16726:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22354,"nodeType":"ArrayTypeName","src":"16726:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":22358,"mutability":"mutable","name":"calldatas","nameLocation":"16770:9:54","nodeType":"VariableDeclaration","scope":22488,"src":"16755:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22356,"name":"bytes","nodeType":"ElementaryTypeName","src":"16755:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22357,"nodeType":"ArrayTypeName","src":"16755:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":22360,"mutability":"mutable","name":"descriptionHash","nameLocation":"16793:15:54","nodeType":"VariableDeclaration","scope":22488,"src":"16785:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16785:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16626:186:54"},"returnParameters":{"id":22364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22488,"src":"16831:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22362,"name":"uint256","nodeType":"ElementaryTypeName","src":"16831:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16830:9:54"},"scope":23874,"src":"16610:1431:54","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":22644,"nodeType":"Block","src":"18834:1447:54","statements":[{"assignments":[22515],"declarations":[{"constant":false,"id":22515,"mutability":"mutable","name":"$","nameLocation":"18888:1:54","nodeType":"VariableDeclaration","scope":22644,"src":"18840:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":22514,"nodeType":"UserDefinedTypeName","pathNode":{"id":22513,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["18840:23:54","18864:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"18840:39:54"},"referencedDeclaration":24891,"src":"18840:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":22519,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22516,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"18892:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":22517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18916:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"18892:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":22518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18892:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18840:96:54"},{"assignments":[22521],"declarations":[{"constant":false,"id":22521,"mutability":"mutable","name":"proposalId","nameLocation":"18950:10:54","nodeType":"VariableDeclaration","scope":22644,"src":"18942:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22520,"name":"uint256","nodeType":"ElementaryTypeName","src":"18942:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22528,"initialValue":{"arguments":[{"id":22523,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22496,"src":"18976:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22524,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22499,"src":"18985:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22525,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22502,"src":"18993:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22526,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22504,"src":"19004:15:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":22522,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21755,"src":"18963:12:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":22527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18963:57:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18942:78:54"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":22536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":22533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22529,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22491,"src":"19031:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":22531,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22521,"src":"19059:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22530,"name":"proposalProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21779,"src":"19042:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":22532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19042:28:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19031:39:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":22535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19074:6:54","subExpression":{"id":22534,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22493,"src":"19075:5:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19031:49:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22542,"nodeType":"IfStatement","src":"19027:104:54","trueBody":{"id":22541,"nodeType":"Block","src":"19082:49:54","statements":[{"errorCall":{"arguments":[{"id":22538,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22491,"src":"19116:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":22537,"name":"UnauthorizedAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21681,"src":"19097:18:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":22539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19097:27:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22540,"nodeType":"RevertStatement","src":"19090:34:54"}]}},{"expression":{"arguments":[{"id":22546,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22521,"src":"19186:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22547,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"19204:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19226:26:54","memberName":"ALL_PROPOSAL_STATES_BITMAP","nodeType":"MemberAccess","referencedDeclaration":24420,"src":"19204:48:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":22551,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"19303:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19320:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"19303:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19334:8:54","memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":24984,"src":"19303:39:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22549,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"19263:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19285:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"19263:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19263:80:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19204:139:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":22558,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"19394:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19411:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"19394:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19425:8:54","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":24988,"src":"19394:39:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22556,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"19354:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19376:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"19354:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19354:80:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19204:230:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":22565,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"19485:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19502:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"19485:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19516:13:54","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":24990,"src":"19485:44:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22563,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"19445:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19467:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"19445:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19445:85:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19204:326:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":22572,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"19581:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19598:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"19581:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19612:9:54","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":24991,"src":"19581:40:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22570,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"19541:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19563:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"19541:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19541:81:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19204:418:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":22579,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"19673:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19690:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"19673:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19704:13:54","memberName":"DepositNotMet","nodeType":"MemberAccess","referencedDeclaration":24989,"src":"19673:44:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22577,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"19633:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19655:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"19633:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19633:85:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19204:514:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":22586,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"19769:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19786:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"19769:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19800:8:54","memberName":"Defeated","nodeType":"MemberAccess","referencedDeclaration":24985,"src":"19769:39:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22584,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"19729:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19751:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"19729:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19729:80:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19204:605:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":22543,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"19137:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19159:19:54","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"19137:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":22591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19137:678:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":22592,"nodeType":"ExpressionStatement","src":"19137:678:54"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":22597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22593,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22491,"src":"19826:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":22595,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22521,"src":"19854:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22594,"name":"proposalProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21779,"src":"19837:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":22596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19837:28:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19826:39:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22611,"nodeType":"IfStatement","src":"19822:209:54","trueBody":{"id":22610,"nodeType":"Block","src":"19867:164:54","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"id":22606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":22601,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22521,"src":"19921:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22599,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"19892:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19914:6:54","memberName":"_state","nodeType":"MemberAccess","referencedDeclaration":24717,"src":"19892:28:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256) view returns (enum GovernorTypesV10.ProposalState)"}},"id":22602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19892:40:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":22603,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"19936:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19953:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"19936:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19967:7:54","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":24982,"src":"19936:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"src":"19892:82:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a2070726f706f73616c206e6f742070656e64696e67","id":22607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19984:32:54","typeDescriptions":{"typeIdentifier":"t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837","typeString":"literal_string \"Governor: proposal not pending\""},"value":"Governor: proposal not pending"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837","typeString":"literal_string \"Governor: proposal not pending\""}],"id":22598,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19875:7:54","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":22608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19875:149:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22609,"nodeType":"ExpressionStatement","src":"19875:149:54"}]}},{"assignments":[22613],"declarations":[{"constant":false,"id":22613,"mutability":"mutable","name":"timelockId","nameLocation":"20045:10:54","nodeType":"VariableDeclaration","scope":22644,"src":"20037:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20037:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":22618,"initialValue":{"baseExpression":{"expression":{"id":22614,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22515,"src":"20058:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20060:11:54","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":24781,"src":"20058:13:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":22617,"indexExpression":{"id":22616,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22521,"src":"20072:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20058:25:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"20037:46:54"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22619,"name":"timelockId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22613,"src":"20093:10:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":22620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20107:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20093:15:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22637,"nodeType":"IfStatement","src":"20089:138:54","trueBody":{"id":22636,"nodeType":"Block","src":"20110:117:54","statements":[{"expression":{"arguments":[{"id":22627,"name":"timelockId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22613,"src":"20152:10:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":22622,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22515,"src":"20134:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22625,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20136:8:54","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"20134:10:54","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":22626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20145:6:54","memberName":"cancel","nodeType":"MemberAccess","referencedDeclaration":1153,"src":"20134:17:54","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32) external"}},"id":22628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20134:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22629,"nodeType":"ExpressionStatement","src":"20134:29:54"},{"expression":{"id":22634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"20188:32:54","subExpression":{"baseExpression":{"expression":{"id":22630,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22515,"src":"20195:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20197:11:54","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":24781,"src":"20195:13:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":22633,"indexExpression":{"id":22632,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22521,"src":"20209:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20195:25:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22635,"nodeType":"ExpressionStatement","src":"20188:32:54"}]}},{"expression":{"arguments":[{"id":22639,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22521,"src":"20248:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22640,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22491,"src":"20260:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22641,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22506,"src":"20269:6:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":22638,"name":"_cancel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23476,"src":"20240:7:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,string memory) returns (uint256)"}},"id":22642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20240:36:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22510,"id":22643,"nodeType":"Return","src":"20233:43:54"}]},"documentation":{"id":22489,"nodeType":"StructuredDocumentation","src":"18045:558:54","text":" @notice Cancels a proposal.\n @dev Cancels a proposal in any state other than Canceled or Executed.\n @param account The account canceling the proposal.\n @param admin Whether the account has admin role.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @param reason The reason for canceling the proposal.\n @return The proposal id."},"functionSelector":"badecd76","id":22645,"implemented":true,"kind":"function","modifiers":[],"name":"cancel","nameLocation":"18615:6:54","nodeType":"FunctionDefinition","parameters":{"id":22507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22491,"mutability":"mutable","name":"account","nameLocation":"18635:7:54","nodeType":"VariableDeclaration","scope":22645,"src":"18627:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22490,"name":"address","nodeType":"ElementaryTypeName","src":"18627:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22493,"mutability":"mutable","name":"admin","nameLocation":"18653:5:54","nodeType":"VariableDeclaration","scope":22645,"src":"18648:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22492,"name":"bool","nodeType":"ElementaryTypeName","src":"18648:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22496,"mutability":"mutable","name":"targets","nameLocation":"18681:7:54","nodeType":"VariableDeclaration","scope":22645,"src":"18664:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":22494,"name":"address","nodeType":"ElementaryTypeName","src":"18664:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22495,"nodeType":"ArrayTypeName","src":"18664:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":22499,"mutability":"mutable","name":"values","nameLocation":"18711:6:54","nodeType":"VariableDeclaration","scope":22645,"src":"18694:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":22497,"name":"uint256","nodeType":"ElementaryTypeName","src":"18694:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22498,"nodeType":"ArrayTypeName","src":"18694:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":22502,"mutability":"mutable","name":"calldatas","nameLocation":"18738:9:54","nodeType":"VariableDeclaration","scope":22645,"src":"18723:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22500,"name":"bytes","nodeType":"ElementaryTypeName","src":"18723:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22501,"nodeType":"ArrayTypeName","src":"18723:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":22504,"mutability":"mutable","name":"descriptionHash","nameLocation":"18761:15:54","nodeType":"VariableDeclaration","scope":22645,"src":"18753:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18753:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22506,"mutability":"mutable","name":"reason","nameLocation":"18796:6:54","nodeType":"VariableDeclaration","scope":22645,"src":"18782:20:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22505,"name":"string","nodeType":"ElementaryTypeName","src":"18782:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18621:185:54"},"returnParameters":{"id":22510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22509,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22645,"src":"18825:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22508,"name":"uint256","nodeType":"ElementaryTypeName","src":"18825:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18824:9:54"},"scope":23874,"src":"18606:1675:54","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":22743,"nodeType":"Block","src":"20951:1241:54","statements":[{"assignments":[22655],"declarations":[{"constant":false,"id":22655,"mutability":"mutable","name":"$","nameLocation":"21005:1:54","nodeType":"VariableDeclaration","scope":22743,"src":"20957:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":22654,"nodeType":"UserDefinedTypeName","pathNode":{"id":22653,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["20957:23:54","20981:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"20957:39:54"},"referencedDeclaration":24891,"src":"20957:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":22659,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22656,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"21009:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":22657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21033:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"21009:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":22658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21009:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20957:96:54"},{"assignments":[22664],"declarations":[{"constant":false,"id":22664,"mutability":"mutable","name":"proposalType","nameLocation":"21089:12:54","nodeType":"VariableDeclaration","scope":22743,"src":"21059:42:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":22663,"nodeType":"UserDefinedTypeName","pathNode":{"id":22662,"name":"GovernorTypesV10.ProposalType","nameLocations":["21059:16:54","21076:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"21059:29:54"},"referencedDeclaration":25017,"src":"21059:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"id":22669,"initialValue":{"baseExpression":{"expression":{"id":22665,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22655,"src":"21104:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21106:12:54","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":24835,"src":"21104:14:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$25017_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalType)"}},"id":22668,"indexExpression":{"id":22667,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22648,"src":"21119:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21104:26:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"21059:71:54"},{"assignments":[22674],"declarations":[{"constant":false,"id":22674,"mutability":"mutable","name":"proposal","nameLocation":"21174:8:54","nodeType":"VariableDeclaration","scope":22743,"src":"21136:46:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"},"typeName":{"id":22673,"nodeType":"UserDefinedTypeName","pathNode":{"id":22672,"name":"GovernorTypesV10.ProposalCore","nameLocations":["21136:16:54","21153:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":24981,"src":"21136:29:54"},"referencedDeclaration":24981,"src":"21136:29:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"}},"visibility":"internal"}],"id":22679,"initialValue":{"baseExpression":{"expression":{"id":22675,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22655,"src":"21185:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22676,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21187:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"21185:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":22678,"indexExpression":{"id":22677,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22648,"src":"21197:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21185:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21136:72:54"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"id":22684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22680,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22664,"src":"21372:12:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":22681,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"21388:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21405:12:54","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"21388:29:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":22683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21418:8:54","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":25015,"src":"21388:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"src":"21372:54:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22691,"nodeType":"IfStatement","src":"21368:134:54","trueBody":{"id":22690,"nodeType":"Block","src":"21428:74:54","statements":[{"errorCall":{"arguments":[{"id":22686,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22648,"src":"21470:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22687,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22664,"src":"21482:12:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22685,"name":"GovernorRestrictedProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21724,"src":"21443:26:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType) pure"}},"id":22688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21443:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22689,"nodeType":"RevertStatement","src":"21436:59:54"}]}},{"expression":{"arguments":[{"id":22695,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22648,"src":"21633:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"expression":{"id":22698,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"21691:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21708:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"21691:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21722:8:54","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":24988,"src":"21691:39:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22696,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"21651:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21673:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"21651:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21651:80:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"expression":{"expression":{"id":22704,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"21782:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21799:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"21782:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21813:9:54","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":24986,"src":"21782:40:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22702,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"21742:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21764:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"21742:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21742:81:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"21651:172:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":22692,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"21584:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21606:19:54","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"21584:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":22709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21584:245:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":22710,"nodeType":"ExpressionStatement","src":"21584:245:54"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":22721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22711,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22674,"src":"21839:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":22712,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21848:12:54","memberName":"isExecutable","nodeType":"MemberAccess","referencedDeclaration":24970,"src":"21839:21:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"id":22720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":22715,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22648,"src":"21893:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22713,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"21864:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21886:6:54","memberName":"_state","nodeType":"MemberAccess","referencedDeclaration":24717,"src":"21864:28:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256) view returns (enum GovernorTypesV10.ProposalState)"}},"id":22716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21864:40:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":22717,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"21908:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21925:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"21908:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21939:9:54","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":24986,"src":"21908:40:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"src":"21864:84:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21839:109:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22728,"nodeType":"IfStatement","src":"21835:189:54","trueBody":{"id":22727,"nodeType":"Block","src":"21950:74:54","statements":[{"errorCall":{"arguments":[{"id":22723,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22648,"src":"21992:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22724,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22664,"src":"22004:12:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22722,"name":"GovernorRestrictedProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21724,"src":"21965:26:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType) pure"}},"id":22725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21965:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22726,"nodeType":"RevertStatement","src":"21958:59:54"}]}},{"expression":{"id":22737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":22729,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22655,"src":"22030:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22732,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22032:24:54","memberName":"proposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":24877,"src":"22030:26:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalDevelopmentState)"}},"id":22733,"indexExpression":{"id":22731,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22648,"src":"22057:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22030:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":22734,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"22071:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22088:24:54","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":25021,"src":"22071:41:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"type(enum GovernorTypesV10.ProposalDevelopmentState)"}},"id":22736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22113:13:54","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":25019,"src":"22071:55:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"src":"22030:96:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"id":22738,"nodeType":"ExpressionStatement","src":"22030:96:54"},{"eventCall":{"arguments":[{"id":22740,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22648,"src":"22176:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22739,"name":"ProposalInDevelopment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21656,"src":"22154:21:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":22741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22154:33:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22742,"nodeType":"EmitStatement","src":"22149:38:54"}]},"documentation":{"id":22646,"nodeType":"StructuredDocumentation","src":"20285:605:54","text":" @notice Mark a proposal as in development\n @param proposalId The id of the proposal.\n @dev This should be only callable by authorized wallet that has the PROPOSAL_STATE_MANAGER_ROLE role\n - Only Standard proposals are allowed here.\n - Can only mark as in development if proposal is executed or succeeded\n - If the proposal is executable and the state is succeeded, it cannot be marked as in development\n - Otherwise could skip the queue + execution steps\n - The proposal development state is set to InDevelopment\n - The event ProposalInDevelopment is emitted"},"functionSelector":"1e6b4992","id":22744,"implemented":true,"kind":"function","modifiers":[],"name":"markAsInDevelopment","nameLocation":"20902:19:54","nodeType":"FunctionDefinition","parameters":{"id":22649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22648,"mutability":"mutable","name":"proposalId","nameLocation":"20930:10:54","nodeType":"VariableDeclaration","scope":22744,"src":"20922:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22647,"name":"uint256","nodeType":"ElementaryTypeName","src":"20922:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20921:20:54"},"returnParameters":{"id":22650,"nodeType":"ParameterList","parameters":[],"src":"20951:0:54"},"scope":23874,"src":"20893:1299:54","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":22807,"nodeType":"Block","src":"22674:861:54","statements":[{"assignments":[22754],"declarations":[{"constant":false,"id":22754,"mutability":"mutable","name":"$","nameLocation":"22728:1:54","nodeType":"VariableDeclaration","scope":22807,"src":"22680:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":22753,"nodeType":"UserDefinedTypeName","pathNode":{"id":22752,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["22680:23:54","22704:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"22680:39:54"},"referencedDeclaration":24891,"src":"22680:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":22758,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22755,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"22732:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":22756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22756:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"22732:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":22757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22732:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22680:96:54"},{"assignments":[22763],"declarations":[{"constant":false,"id":22763,"mutability":"mutable","name":"proposalType","nameLocation":"22812:12:54","nodeType":"VariableDeclaration","scope":22807,"src":"22782:42:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":22762,"nodeType":"UserDefinedTypeName","pathNode":{"id":22761,"name":"GovernorTypesV10.ProposalType","nameLocations":["22782:16:54","22799:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"22782:29:54"},"referencedDeclaration":25017,"src":"22782:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"id":22768,"initialValue":{"baseExpression":{"expression":{"id":22764,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22754,"src":"22827:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22829:12:54","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":24835,"src":"22827:14:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$25017_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalType)"}},"id":22767,"indexExpression":{"id":22766,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22747,"src":"22842:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22827:26:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"22782:71:54"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"id":22773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22769,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22763,"src":"23017:12:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":22770,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"23033:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23050:12:54","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"23033:29:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":22772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23063:8:54","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":25015,"src":"23033:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"src":"23017:54:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22780,"nodeType":"IfStatement","src":"23013:134:54","trueBody":{"id":22779,"nodeType":"Block","src":"23073:74:54","statements":[{"errorCall":{"arguments":[{"id":22775,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22747,"src":"23115:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22776,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22763,"src":"23127:12:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22774,"name":"GovernorRestrictedProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21724,"src":"23088:26:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType) pure"}},"id":22777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23088:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22778,"nodeType":"RevertStatement","src":"23081:59:54"}]}},{"expression":{"arguments":[{"id":22784,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22747,"src":"23266:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":22787,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"23324:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23341:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"23324:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23355:13:54","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":24990,"src":"23324:44:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22785,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"23284:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23306:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"23284:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23284:85:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":22781,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"23217:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23239:19:54","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"23217:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":22791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23217:158:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":22792,"nodeType":"ExpressionStatement","src":"23217:158:54"},{"expression":{"id":22801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":22793,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22754,"src":"23381:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23383:24:54","memberName":"proposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":24877,"src":"23381:26:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalDevelopmentState)"}},"id":22797,"indexExpression":{"id":22795,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22747,"src":"23408:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23381:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":22798,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"23422:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23439:24:54","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":25021,"src":"23422:41:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"type(enum GovernorTypesV10.ProposalDevelopmentState)"}},"id":22800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23464:9:54","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":25020,"src":"23422:51:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"src":"23381:92:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"id":22802,"nodeType":"ExpressionStatement","src":"23381:92:54"},{"eventCall":{"arguments":[{"id":22804,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22747,"src":"23519:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22803,"name":"ProposalCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21661,"src":"23501:17:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":22805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23501:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22806,"nodeType":"EmitStatement","src":"23496:34:54"}]},"documentation":{"id":22745,"nodeType":"StructuredDocumentation","src":"22196:421:54","text":" @notice Mark a proposal as completed\n @param proposalId The id of the proposal.\n @dev This should be only callable by authorized wallet that has the PROPOSAL_STATE_MANAGER_ROLE role\n - Only Standard proposals are allowed here.\n - Can only mark as completed if proposal is in development\n - The proposal development state is set to Completed\n - The event ProposalCompleted is emitted"},"functionSelector":"c0a6026c","id":22808,"implemented":true,"kind":"function","modifiers":[],"name":"markAsCompleted","nameLocation":"22629:15:54","nodeType":"FunctionDefinition","parameters":{"id":22748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22747,"mutability":"mutable","name":"proposalId","nameLocation":"22653:10:54","nodeType":"VariableDeclaration","scope":22808,"src":"22645:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22746,"name":"uint256","nodeType":"ElementaryTypeName","src":"22645:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22644:20:54"},"returnParameters":{"id":22749,"nodeType":"ParameterList","parameters":[],"src":"22674:0:54"},"scope":23874,"src":"22620:915:54","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":22856,"nodeType":"Block","src":"23899:539:54","statements":[{"assignments":[22818],"declarations":[{"constant":false,"id":22818,"mutability":"mutable","name":"$","nameLocation":"23953:1:54","nodeType":"VariableDeclaration","scope":22856,"src":"23905:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":22817,"nodeType":"UserDefinedTypeName","pathNode":{"id":22816,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["23905:23:54","23929:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"23905:39:54"},"referencedDeclaration":24891,"src":"23905:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":22822,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22819,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"23957:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":22820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23981:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"23957:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":22821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23957:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"23905:96:54"},{"expression":{"arguments":[{"id":22826,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22811,"src":"24056:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":22839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"expression":{"id":22829,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"24114:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24131:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"24114:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24145:13:54","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":24990,"src":"24114:44:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22827,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"24074:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24096:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"24074:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24074:85:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"expression":{"expression":{"id":22835,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"24210:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24227:13:54","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"24210:30:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":22837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24241:9:54","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":24991,"src":"24210:40:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":22833,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"24170:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24192:17:54","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"24170:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":22838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24170:81:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"24074:177:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":22823,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"24007:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":22825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24029:19:54","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"24007:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":22840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24007:250:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":22841,"nodeType":"ExpressionStatement","src":"24007:250:54"},{"expression":{"id":22850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":22842,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22818,"src":"24263:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22845,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24265:24:54","memberName":"proposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":24877,"src":"24263:26:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalDevelopmentState)"}},"id":22846,"indexExpression":{"id":22844,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22811,"src":"24290:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24263:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":22847,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"24304:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":22848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24321:24:54","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":25021,"src":"24304:41:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"type(enum GovernorTypesV10.ProposalDevelopmentState)"}},"id":22849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24346:18:54","memberName":"PendingDevelopment","nodeType":"MemberAccess","referencedDeclaration":25018,"src":"24304:60:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"src":"24263:101:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"id":22851,"nodeType":"ExpressionStatement","src":"24263:101:54"},{"eventCall":{"arguments":[{"id":22853,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22811,"src":"24422:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22852,"name":"ProposalDevelopmentStateReset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21666,"src":"24392:29:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":22854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24392:41:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22855,"nodeType":"EmitStatement","src":"24387:46:54"}]},"documentation":{"id":22809,"nodeType":"StructuredDocumentation","src":"23539:297:54","text":" @notice Reset the development state of a proposal back to pending development\n @param proposalId The id of the proposal\n @dev This should reset the enum state back to the original one,\n since pending development is not tracked in {GovernorStateLogicV10._state} condition"},"functionSelector":"c429bd82","id":22857,"implemented":true,"kind":"function","modifiers":[],"name":"resetDevelopmentState","nameLocation":"23848:21:54","nodeType":"FunctionDefinition","parameters":{"id":22812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22811,"mutability":"mutable","name":"proposalId","nameLocation":"23878:10:54","nodeType":"VariableDeclaration","scope":22857,"src":"23870:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22810,"name":"uint256","nodeType":"ElementaryTypeName","src":"23870:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23869:20:54"},"returnParameters":{"id":22813,"nodeType":"ParameterList","parameters":[],"src":"23899:0:54"},"scope":23874,"src":"23839:599:54","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":22961,"nodeType":"Block","src":"25478:947:54","statements":[{"assignments":[22889],"declarations":[{"constant":false,"id":22889,"mutability":"mutable","name":"$","nameLocation":"25532:1:54","nodeType":"VariableDeclaration","scope":22961,"src":"25484:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":22888,"nodeType":"UserDefinedTypeName","pathNode":{"id":22887,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["25484:23:54","25508:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"25484:39:54"},"referencedDeclaration":24891,"src":"25484:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":22893,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":22890,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"25536:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":22891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25560:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"25536:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":22892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25536:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"25484:96:54"},{"assignments":[22895],"declarations":[{"constant":false,"id":22895,"mutability":"mutable","name":"depositThresholdAmount","nameLocation":"25594:22:54","nodeType":"VariableDeclaration","scope":22961,"src":"25586:30:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22894,"name":"uint256","nodeType":"ElementaryTypeName","src":"25586:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":22900,"initialValue":{"arguments":[{"id":22898,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22880,"src":"25675:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":22896,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"25619:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":22897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25643:31:54","memberName":"_depositThresholdByProposalType","nodeType":"MemberAccess","referencedDeclaration":21177,"src":"25619:55:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (enum GovernorTypesV10.ProposalType) view returns (uint256)"}},"id":22899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25619:74:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25586:107:54"},{"assignments":[22902],"declarations":[{"constant":false,"id":22902,"mutability":"mutable","name":"votingPeriod","nameLocation":"25706:12:54","nodeType":"VariableDeclaration","scope":22961,"src":"25699:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":22901,"name":"uint32","nodeType":"ElementaryTypeName","src":"25699:6:54","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":22910,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":22905,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22889,"src":"25739:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":22906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25741:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"25739:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":22907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25759:12:54","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":70868,"src":"25739:32:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":22908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25739:34:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22903,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"25721:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":22904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25730:8:54","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":7826,"src":"25721:17:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":22909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25721:53:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"25699:75:54"},{"assignments":[22912],"declarations":[{"constant":false,"id":22912,"mutability":"mutable","name":"isExecutable","nameLocation":"25785:12:54","nodeType":"VariableDeclaration","scope":22961,"src":"25780:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22911,"name":"bool","nodeType":"ElementaryTypeName","src":"25780:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":22917,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":22913,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22865,"src":"25800:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":22914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25808:6:54","memberName":"length","nodeType":"MemberAccess","src":"25800:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":22915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25817:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25800:18:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"25780:38:54"},{"expression":{"arguments":[{"id":22919,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22860,"src":"25843:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22920,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22880,"src":"25853:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22918,"name":"_validateProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23296,"src":"25825:17:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (address,enum GovernorTypesV10.ProposalType) view"}},"id":22921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25825:46:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22922,"nodeType":"ExpressionStatement","src":"25825:46:54"},{"expression":{"arguments":[{"id":22924,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22862,"src":"25898:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22925,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22860,"src":"25916:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22926,"name":"votingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22902,"src":"25932:12:54","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":22927,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22875,"src":"25952:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22928,"name":"isExecutable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22912,"src":"25972:12:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22929,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22877,"src":"25992:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22930,"name":"depositThresholdAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22895,"src":"26013:22:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22931,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22880,"src":"26043:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22923,"name":"_setProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23248,"src":"25878:12:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint32_$_t_uint256_$_t_bool_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,address,uint32,uint256,bool,uint256,uint256,enum GovernorTypesV10.ProposalType)"}},"id":22932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25878:188:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22933,"nodeType":"ExpressionStatement","src":"25878:188:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":22936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":22934,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22877,"src":"26077:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":22935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26093:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26077:17:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22946,"nodeType":"IfStatement","src":"26073:111:54","trueBody":{"id":22945,"nodeType":"Block","src":"26096:88:54","statements":[{"expression":{"arguments":[{"id":22940,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22877,"src":"26141:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22941,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22860,"src":"26156:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22942,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22862,"src":"26166:10:54","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":22937,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"26104:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":22939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26128:12:54","memberName":"depositFunds","nodeType":"MemberAccess","referencedDeclaration":21018,"src":"26104:36:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":22943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26104:73:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22944,"nodeType":"ExpressionStatement","src":"26104:73:54"}]}},{"expression":{"arguments":[{"id":22948,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22860,"src":"26224:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22949,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22862,"src":"26240:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22950,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22865,"src":"26258:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22951,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22868,"src":"26273:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":22952,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22871,"src":"26287:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":22953,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22873,"src":"26304:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22954,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22875,"src":"26323:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22955,"name":"depositThresholdAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22895,"src":"26343:22:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22956,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22880,"src":"26373:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":22947,"name":"_emitProposalCreatedEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23011,"src":"26190:26:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256,enum GovernorTypesV10.ProposalType)"}},"id":22957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26190:206:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22958,"nodeType":"ExpressionStatement","src":"26190:206:54"},{"expression":{"id":22959,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22862,"src":"26410:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":22884,"id":22960,"nodeType":"Return","src":"26403:17:54"}]},"documentation":{"id":22858,"nodeType":"StructuredDocumentation","src":"24510:645:54","text":" @dev Internal function to propose a new governance action.\n @param proposer The address of the proposer.\n @param proposalId The id of the proposal.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param description The description of the proposal.\n @param startRoundId The round in which the proposal should be active.\n @param depositAmount The amount of tokens the proposer intends to deposit.\n @param proposalTypeValue The type of the proposal.\n @return The proposal id."},"id":22962,"implemented":true,"kind":"function","modifiers":[],"name":"_propose","nameLocation":"25167:8:54","nodeType":"FunctionDefinition","parameters":{"id":22881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22860,"mutability":"mutable","name":"proposer","nameLocation":"25189:8:54","nodeType":"VariableDeclaration","scope":22962,"src":"25181:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22859,"name":"address","nodeType":"ElementaryTypeName","src":"25181:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22862,"mutability":"mutable","name":"proposalId","nameLocation":"25211:10:54","nodeType":"VariableDeclaration","scope":22962,"src":"25203:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22861,"name":"uint256","nodeType":"ElementaryTypeName","src":"25203:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22865,"mutability":"mutable","name":"targets","nameLocation":"25244:7:54","nodeType":"VariableDeclaration","scope":22962,"src":"25227:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":22863,"name":"address","nodeType":"ElementaryTypeName","src":"25227:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22864,"nodeType":"ArrayTypeName","src":"25227:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":22868,"mutability":"mutable","name":"values","nameLocation":"25274:6:54","nodeType":"VariableDeclaration","scope":22962,"src":"25257:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":22866,"name":"uint256","nodeType":"ElementaryTypeName","src":"25257:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22867,"nodeType":"ArrayTypeName","src":"25257:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":22871,"mutability":"mutable","name":"calldatas","nameLocation":"25301:9:54","nodeType":"VariableDeclaration","scope":22962,"src":"25286:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22869,"name":"bytes","nodeType":"ElementaryTypeName","src":"25286:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22870,"nodeType":"ArrayTypeName","src":"25286:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":22873,"mutability":"mutable","name":"description","nameLocation":"25330:11:54","nodeType":"VariableDeclaration","scope":22962,"src":"25316:25:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22872,"name":"string","nodeType":"ElementaryTypeName","src":"25316:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22875,"mutability":"mutable","name":"startRoundId","nameLocation":"25355:12:54","nodeType":"VariableDeclaration","scope":22962,"src":"25347:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22874,"name":"uint256","nodeType":"ElementaryTypeName","src":"25347:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22877,"mutability":"mutable","name":"depositAmount","nameLocation":"25381:13:54","nodeType":"VariableDeclaration","scope":22962,"src":"25373:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22876,"name":"uint256","nodeType":"ElementaryTypeName","src":"25373:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22880,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"25430:17:54","nodeType":"VariableDeclaration","scope":22962,"src":"25400:47:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":22879,"nodeType":"UserDefinedTypeName","pathNode":{"id":22878,"name":"GovernorTypesV10.ProposalType","nameLocations":["25400:16:54","25417:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"25400:29:54"},"referencedDeclaration":25017,"src":"25400:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"25175:276:54"},"returnParameters":{"id":22884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22883,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22962,"src":"25469:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22882,"name":"uint256","nodeType":"ElementaryTypeName","src":"25469:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25468:9:54"},"scope":23874,"src":"25158:1267:54","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":23010,"nodeType":"Block","src":"26992:387:54","statements":[{"eventCall":{"arguments":[{"id":22989,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22967,"src":"27080:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22990,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22965,"src":"27098:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22991,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22970,"src":"27114:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":22992,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22973,"src":"27129:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"arguments":[{"expression":{"id":22996,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22970,"src":"27156:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":22997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27164:6:54","memberName":"length","nodeType":"MemberAccess","src":"27156:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22995,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"27143:12:54","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":22993,"name":"string","nodeType":"ElementaryTypeName","src":"27147:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":22994,"nodeType":"ArrayTypeName","src":"27147:8:54","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":22998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27143:28:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":22999,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22976,"src":"27179:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":23000,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22978,"src":"27196:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23001,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22980,"src":"27215:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23002,"name":"depositThresholdAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22982,"src":"27235:22:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":22988,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21631,"src":"27057:15:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address[] memory,uint256[] memory,string memory[] memory,bytes memory[] memory,string memory,uint256,uint256)"}},"id":23003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27057:206:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23004,"nodeType":"EmitStatement","src":"27052:211:54"},{"eventCall":{"arguments":[{"id":23006,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22967,"src":"27344:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23007,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22985,"src":"27356:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":23005,"name":"ProposalCreatedWithType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21639,"src":"27320:23:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType)"}},"id":23008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27320:54:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23009,"nodeType":"EmitStatement","src":"27315:59:54"}]},"documentation":{"id":22963,"nodeType":"StructuredDocumentation","src":"26429:231:54","text":" @dev Internal function to emit the proposal created events.\n @param proposer The address of the proposer.\n @param proposalId The id of the proposal.\n @param targets The addresses of the contracts to call."},"id":23011,"implemented":true,"kind":"function","modifiers":[],"name":"_emitProposalCreatedEvents","nameLocation":"26672:26:54","nodeType":"FunctionDefinition","parameters":{"id":22986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22965,"mutability":"mutable","name":"proposer","nameLocation":"26712:8:54","nodeType":"VariableDeclaration","scope":23011,"src":"26704:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22964,"name":"address","nodeType":"ElementaryTypeName","src":"26704:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22967,"mutability":"mutable","name":"proposalId","nameLocation":"26734:10:54","nodeType":"VariableDeclaration","scope":23011,"src":"26726:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22966,"name":"uint256","nodeType":"ElementaryTypeName","src":"26726:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22970,"mutability":"mutable","name":"targets","nameLocation":"26767:7:54","nodeType":"VariableDeclaration","scope":23011,"src":"26750:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":22968,"name":"address","nodeType":"ElementaryTypeName","src":"26750:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22969,"nodeType":"ArrayTypeName","src":"26750:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":22973,"mutability":"mutable","name":"values","nameLocation":"26797:6:54","nodeType":"VariableDeclaration","scope":23011,"src":"26780:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":22971,"name":"uint256","nodeType":"ElementaryTypeName","src":"26780:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22972,"nodeType":"ArrayTypeName","src":"26780:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":22976,"mutability":"mutable","name":"calldatas","nameLocation":"26824:9:54","nodeType":"VariableDeclaration","scope":23011,"src":"26809:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22974,"name":"bytes","nodeType":"ElementaryTypeName","src":"26809:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22975,"nodeType":"ArrayTypeName","src":"26809:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":22978,"mutability":"mutable","name":"description","nameLocation":"26853:11:54","nodeType":"VariableDeclaration","scope":23011,"src":"26839:25:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22977,"name":"string","nodeType":"ElementaryTypeName","src":"26839:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22980,"mutability":"mutable","name":"startRoundId","nameLocation":"26878:12:54","nodeType":"VariableDeclaration","scope":23011,"src":"26870:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22979,"name":"uint256","nodeType":"ElementaryTypeName","src":"26870:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22982,"mutability":"mutable","name":"depositThresholdAmount","nameLocation":"26904:22:54","nodeType":"VariableDeclaration","scope":23011,"src":"26896:30:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22981,"name":"uint256","nodeType":"ElementaryTypeName","src":"26896:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22985,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"26962:17:54","nodeType":"VariableDeclaration","scope":23011,"src":"26932:47:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":22984,"nodeType":"UserDefinedTypeName","pathNode":{"id":22983,"name":"GovernorTypesV10.ProposalType","nameLocations":["26932:16:54","26949:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"26932:29:54"},"referencedDeclaration":25017,"src":"26932:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"26698:285:54"},"returnParameters":{"id":22987,"nodeType":"ParameterList","parameters":[],"src":"26992:0:54"},"scope":23874,"src":"26663:716:54","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":23153,"nodeType":"Block","src":"28166:1400:54","statements":[{"assignments":[23039],"declarations":[{"constant":false,"id":23039,"mutability":"mutable","name":"$","nameLocation":"28220:1:54","nodeType":"VariableDeclaration","scope":23153,"src":"28172:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23038,"nodeType":"UserDefinedTypeName","pathNode":{"id":23037,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["28172:23:54","28196:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"28172:39:54"},"referencedDeclaration":24891,"src":"28172:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23043,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23040,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"28224:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28248:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"28224:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28224:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28172:96:54"},{"condition":{"id":23047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28312:39:54","subExpression":{"arguments":[{"id":23045,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23032,"src":"28333:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":23044,"name":"isValidProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23804,"src":"28313:19:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$25017_$returns$_t_bool_$","typeString":"function (enum GovernorTypesV10.ProposalType) pure returns (bool)"}},"id":23046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28313:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23053,"nodeType":"IfStatement","src":"28308:113:54","trueBody":{"id":23052,"nodeType":"Block","src":"28353:68:54","statements":[{"errorCall":{"arguments":[{"id":23049,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23032,"src":"28396:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":23048,"name":"GovernorInvalidProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21709,"src":"28368:27:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (enum GovernorTypesV10.ProposalType) pure"}},"id":23050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28368:46:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23051,"nodeType":"RevertStatement","src":"28361:53:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23054,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23016,"src":"28466:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23055,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23039,"src":"28482:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28484:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"28482:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28502:14:54","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"28482:34:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28482:36:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28466:52:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23065,"nodeType":"IfStatement","src":"28462:119:54","trueBody":{"id":23064,"nodeType":"Block","src":"28520:61:54","statements":[{"errorCall":{"arguments":[{"id":23061,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23016,"src":"28561:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":23060,"name":"GovernorInvalidStartRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21686,"src":"28535:25:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":23062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28535:39:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23063,"nodeType":"RevertStatement","src":"28528:46:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23066,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23016,"src":"28667:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23067,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23039,"src":"28683:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28685:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"28683:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28703:14:54","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"28683:34:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28683:36:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":23071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28722:1:54","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"28683:40:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28667:56:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23084,"nodeType":"IfStatement","src":"28663:178:54","trueBody":{"id":23083,"nodeType":"Block","src":"28725:116:54","statements":[{"condition":{"id":23076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28737:31:54","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":23074,"name":"_canProposalStartInNextRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23532,"src":"28738:28:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":23075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28738:30:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23082,"nodeType":"IfStatement","src":"28733:102:54","trueBody":{"id":23081,"nodeType":"Block","src":"28770:65:54","statements":[{"errorCall":{"arguments":[{"id":23078,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23016,"src":"28813:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":23077,"name":"GovernorInvalidStartRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21686,"src":"28787:25:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":23079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28787:39:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23080,"nodeType":"RevertStatement","src":"28780:46:54"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"id":23089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23085,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23032,"src":"28887:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":23086,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"28908:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":23087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28925:12:54","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"28908:29:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":23088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28938:8:54","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":25015,"src":"28908:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"src":"28887:59:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23102,"nodeType":"IfStatement","src":"28883:200:54","trueBody":{"id":23101,"nodeType":"Block","src":"28948:135:54","statements":[{"condition":{"id":23094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28960:53:54","subExpression":{"arguments":[{"id":23091,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23014,"src":"28991:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23092,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23018,"src":"29001:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":23090,"name":"isValidDescriptionForProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23782,"src":"28961:29:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (address,string memory) pure returns (bool)"}},"id":23093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28961:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23100,"nodeType":"IfStatement","src":"28956:121:54","trueBody":{"id":23099,"nodeType":"Block","src":"29015:62:54","statements":[{"errorCall":{"arguments":[{"id":23096,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23014,"src":"29059:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":23095,"name":"GovernorRestrictedProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21703,"src":"29032:26:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":23097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29032:36:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23098,"nodeType":"RevertStatement","src":"29025:43:54"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":23113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":23103,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23021,"src":"29093:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":23104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29101:6:54","memberName":"length","nodeType":"MemberAccess","src":"29093:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":23105,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23024,"src":"29111:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":23106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29118:6:54","memberName":"length","nodeType":"MemberAccess","src":"29111:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29093:31:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":23108,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23021,"src":"29128:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":23109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29136:6:54","memberName":"length","nodeType":"MemberAccess","src":"29128:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":23110,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23027,"src":"29146:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":23111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29156:6:54","memberName":"length","nodeType":"MemberAccess","src":"29146:16:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29128:34:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29093:69:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23124,"nodeType":"IfStatement","src":"29089:175:54","trueBody":{"id":23123,"nodeType":"Block","src":"29164:100:54","statements":[{"errorCall":{"arguments":[{"expression":{"id":23115,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23021,"src":"29209:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":23116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29217:6:54","memberName":"length","nodeType":"MemberAccess","src":"29209:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":23117,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23027,"src":"29225:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":23118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29235:6:54","memberName":"length","nodeType":"MemberAccess","src":"29225:16:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":23119,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23024,"src":"29243:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":23120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29250:6:54","memberName":"length","nodeType":"MemberAccess","src":"29243:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":23114,"name":"GovernorInvalidProposalLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21698,"src":"29179:29:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":23121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29179:78:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23122,"nodeType":"RevertStatement","src":"29172:85:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":23125,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23039,"src":"29274:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29276:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"29274:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":23128,"indexExpression":{"id":23127,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23029,"src":"29286:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29274:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":23129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29298:16:54","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"29274:40:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":23130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29318:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29274:45:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23145,"nodeType":"IfStatement","src":"29270:203:54","trueBody":{"id":23144,"nodeType":"Block","src":"29321:152:54","statements":[{"errorCall":{"arguments":[{"id":23133,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23029,"src":"29401:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":23136,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23029,"src":"29442:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23134,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"29413:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":23135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29435:6:54","memberName":"_state","nodeType":"MemberAccess","referencedDeclaration":24717,"src":"29413:28:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256) view returns (enum GovernorTypesV10.ProposalState)"}},"id":23137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29413:40:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},{"arguments":[{"hexValue":"30","id":23140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29463:1:54","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":23139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29455:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":23138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29455:7:54","typeDescriptions":{}}},"id":23141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29455:10:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":23132,"name":"GovernorUnexpectedProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21676,"src":"29369:31:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalState_$24992_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalState,bytes32) pure"}},"id":23142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29369:97:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23143,"nodeType":"RevertStatement","src":"29362:104:54"}]}},{"expression":{"arguments":[{"id":23149,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23021,"src":"29542:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":23150,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23027,"src":"29551:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":23146,"name":"GovernorFunctionRestrictionsLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21456,"src":"29479:36:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogicV10_$21456_$","typeString":"type(library GovernorFunctionRestrictionsLogicV10)"}},"id":23148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29516:25:54","memberName":"checkFunctionsRestriction","nodeType":"MemberAccess","referencedDeclaration":21431,"src":"29479:62:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,bytes memory[] memory) view"}},"id":23151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29479:82:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23152,"nodeType":"ExpressionStatement","src":"29479:82:54"}]},"documentation":{"id":23012,"nodeType":"StructuredDocumentation","src":"27383:487:54","text":" @dev Internal function to validate the parameters of a proposal.\n @param proposer The address of the proposer.\n @param startRoundId The round in which the proposal should be active.\n @param description The description of the proposal.si\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param proposalId The id of the proposal."},"id":23154,"implemented":true,"kind":"function","modifiers":[],"name":"validateProposeParams","nameLocation":"27882:21:54","nodeType":"FunctionDefinition","parameters":{"id":23033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23014,"mutability":"mutable","name":"proposer","nameLocation":"27917:8:54","nodeType":"VariableDeclaration","scope":23154,"src":"27909:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23013,"name":"address","nodeType":"ElementaryTypeName","src":"27909:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23016,"mutability":"mutable","name":"startRoundId","nameLocation":"27939:12:54","nodeType":"VariableDeclaration","scope":23154,"src":"27931:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23015,"name":"uint256","nodeType":"ElementaryTypeName","src":"27931:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23018,"mutability":"mutable","name":"description","nameLocation":"27971:11:54","nodeType":"VariableDeclaration","scope":23154,"src":"27957:25:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23017,"name":"string","nodeType":"ElementaryTypeName","src":"27957:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23021,"mutability":"mutable","name":"targets","nameLocation":"28005:7:54","nodeType":"VariableDeclaration","scope":23154,"src":"27988:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":23019,"name":"address","nodeType":"ElementaryTypeName","src":"27988:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":23020,"nodeType":"ArrayTypeName","src":"27988:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":23024,"mutability":"mutable","name":"values","nameLocation":"28035:6:54","nodeType":"VariableDeclaration","scope":23154,"src":"28018:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":23022,"name":"uint256","nodeType":"ElementaryTypeName","src":"28018:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23023,"nodeType":"ArrayTypeName","src":"28018:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":23027,"mutability":"mutable","name":"calldatas","nameLocation":"28062:9:54","nodeType":"VariableDeclaration","scope":23154,"src":"28047:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":23025,"name":"bytes","nodeType":"ElementaryTypeName","src":"28047:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":23026,"nodeType":"ArrayTypeName","src":"28047:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":23029,"mutability":"mutable","name":"proposalId","nameLocation":"28085:10:54","nodeType":"VariableDeclaration","scope":23154,"src":"28077:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23028,"name":"uint256","nodeType":"ElementaryTypeName","src":"28077:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23032,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"28131:17:54","nodeType":"VariableDeclaration","scope":23154,"src":"28101:47:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":23031,"nodeType":"UserDefinedTypeName","pathNode":{"id":23030,"name":"GovernorTypesV10.ProposalType","nameLocations":["28101:16:54","28118:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"28101:29:54"},"referencedDeclaration":25017,"src":"28101:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"27903:249:54"},"returnParameters":{"id":23034,"nodeType":"ParameterList","parameters":[],"src":"28166:0:54"},"scope":23874,"src":"27873:1693:54","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":23247,"nodeType":"Block","src":"30429:597:54","statements":[{"assignments":[23179],"declarations":[{"constant":false,"id":23179,"mutability":"mutable","name":"$","nameLocation":"30483:1:54","nodeType":"VariableDeclaration","scope":23247,"src":"30435:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23178,"nodeType":"UserDefinedTypeName","pathNode":{"id":23177,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["30435:23:54","30459:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"30435:39:54"},"referencedDeclaration":24891,"src":"30435:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23183,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23180,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"30487:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30511:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"30487:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30487:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30435:96:54"},{"assignments":[23188],"declarations":[{"constant":false,"id":23188,"mutability":"mutable","name":"proposal","nameLocation":"30575:8:54","nodeType":"VariableDeclaration","scope":23247,"src":"30537:46:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"},"typeName":{"id":23187,"nodeType":"UserDefinedTypeName","pathNode":{"id":23186,"name":"GovernorTypesV10.ProposalCore","nameLocations":["30537:16:54","30554:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":24981,"src":"30537:29:54"},"referencedDeclaration":24981,"src":"30537:29:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"}},"visibility":"internal"}],"id":23193,"initialValue":{"baseExpression":{"expression":{"id":23189,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23179,"src":"30586:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23190,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30588:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"30586:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":23192,"indexExpression":{"id":23191,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23157,"src":"30598:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30586:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30537:72:54"},{"expression":{"id":23198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":23194,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23188,"src":"30616:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":23196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30625:8:54","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":24964,"src":"30616:17:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23197,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23159,"src":"30636:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30616:28:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":23199,"nodeType":"ExpressionStatement","src":"30616:28:54"},{"expression":{"id":23204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":23200,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23188,"src":"30650:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":23202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30659:16:54","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"30650:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23203,"name":"roundIdVoteStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23163,"src":"30678:16:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30650:44:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23205,"nodeType":"ExpressionStatement","src":"30650:44:54"},{"expression":{"id":23210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":23206,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23188,"src":"30700:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":23208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30709:12:54","memberName":"voteDuration","nodeType":"MemberAccess","referencedDeclaration":24968,"src":"30700:21:54","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23209,"name":"voteDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23161,"src":"30724:12:54","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"30700:36:54","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":23211,"nodeType":"ExpressionStatement","src":"30700:36:54"},{"expression":{"id":23216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":23212,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23188,"src":"30742:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":23214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30751:12:54","memberName":"isExecutable","nodeType":"MemberAccess","referencedDeclaration":24970,"src":"30742:21:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23215,"name":"isExecutable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23165,"src":"30766:12:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30742:36:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23217,"nodeType":"ExpressionStatement","src":"30742:36:54"},{"expression":{"id":23222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":23218,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23188,"src":"30784:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":23220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30793:13:54","memberName":"depositAmount","nodeType":"MemberAccess","referencedDeclaration":24978,"src":"30784:22:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23221,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23167,"src":"30809:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30784:38:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23223,"nodeType":"ExpressionStatement","src":"30784:38:54"},{"expression":{"id":23228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":23224,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23188,"src":"30828:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":23226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30837:16:54","memberName":"depositThreshold","nodeType":"MemberAccess","referencedDeclaration":24980,"src":"30828:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23227,"name":"proposalDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23169,"src":"30856:24:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30828:52:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23229,"nodeType":"ExpressionStatement","src":"30828:52:54"},{"expression":{"id":23236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":23230,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23179,"src":"30915:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30917:12:54","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":24835,"src":"30915:14:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$25017_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalType)"}},"id":23234,"indexExpression":{"id":23232,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23157,"src":"30930:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30915:26:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23235,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23172,"src":"30944:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"src":"30915:46:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"id":23237,"nodeType":"ExpressionStatement","src":"30915:46:54"},{"expression":{"arguments":[{"id":23244,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23157,"src":"31010:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"expression":{"id":23238,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23179,"src":"30967:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30969:17:54","memberName":"proposalsForRound","nodeType":"MemberAccess","referencedDeclaration":24888,"src":"30967:19:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[] storage ref)"}},"id":23242,"indexExpression":{"id":23240,"name":"roundIdVoteStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23163,"src":"30987:16:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30967:37:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":23243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31005:4:54","memberName":"push","nodeType":"MemberAccess","src":"30967:42:54","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":23245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30967:54:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23246,"nodeType":"ExpressionStatement","src":"30967:54:54"}]},"documentation":{"id":23155,"nodeType":"StructuredDocumentation","src":"29570:580:54","text":" @dev Internal function to set the data of a proposal in storage.\n @param proposalId The id of the proposal.\n @param proposer The address of the proposer.\n @param voteDuration The duration of the vote.\n @param roundIdVoteStart The round in which the proposal should be active.\n @param isExecutable Whether the proposal is executable.\n @param depositAmount The amount of tokens the proposer intends to deposit.\n @param proposalDepositThreshold The deposit threshold for the proposal.\n @param proposalTypeValue The type of the proposal."},"id":23248,"implemented":true,"kind":"function","modifiers":[],"name":"_setProposal","nameLocation":"30162:12:54","nodeType":"FunctionDefinition","parameters":{"id":23173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23157,"mutability":"mutable","name":"proposalId","nameLocation":"30188:10:54","nodeType":"VariableDeclaration","scope":23248,"src":"30180:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23156,"name":"uint256","nodeType":"ElementaryTypeName","src":"30180:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23159,"mutability":"mutable","name":"proposer","nameLocation":"30212:8:54","nodeType":"VariableDeclaration","scope":23248,"src":"30204:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23158,"name":"address","nodeType":"ElementaryTypeName","src":"30204:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23161,"mutability":"mutable","name":"voteDuration","nameLocation":"30233:12:54","nodeType":"VariableDeclaration","scope":23248,"src":"30226:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":23160,"name":"uint32","nodeType":"ElementaryTypeName","src":"30226:6:54","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":23163,"mutability":"mutable","name":"roundIdVoteStart","nameLocation":"30259:16:54","nodeType":"VariableDeclaration","scope":23248,"src":"30251:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23162,"name":"uint256","nodeType":"ElementaryTypeName","src":"30251:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23165,"mutability":"mutable","name":"isExecutable","nameLocation":"30286:12:54","nodeType":"VariableDeclaration","scope":23248,"src":"30281:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23164,"name":"bool","nodeType":"ElementaryTypeName","src":"30281:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23167,"mutability":"mutable","name":"depositAmount","nameLocation":"30312:13:54","nodeType":"VariableDeclaration","scope":23248,"src":"30304:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23166,"name":"uint256","nodeType":"ElementaryTypeName","src":"30304:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23169,"mutability":"mutable","name":"proposalDepositThreshold","nameLocation":"30339:24:54","nodeType":"VariableDeclaration","scope":23248,"src":"30331:32:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23168,"name":"uint256","nodeType":"ElementaryTypeName","src":"30331:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23172,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"30399:17:54","nodeType":"VariableDeclaration","scope":23248,"src":"30369:47:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":23171,"nodeType":"UserDefinedTypeName","pathNode":{"id":23170,"name":"GovernorTypesV10.ProposalType","nameLocations":["30369:16:54","30386:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"30369:29:54"},"referencedDeclaration":25017,"src":"30369:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"30174:246:54"},"returnParameters":{"id":23174,"nodeType":"ParameterList","parameters":[],"src":"30429:0:54"},"scope":23874,"src":"30153:873:54","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":23295,"nodeType":"Block","src":"31321:396:54","statements":[{"assignments":[23261],"declarations":[{"constant":false,"id":23261,"mutability":"mutable","name":"$","nameLocation":"31375:1:54","nodeType":"VariableDeclaration","scope":23295,"src":"31327:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23260,"nodeType":"UserDefinedTypeName","pathNode":{"id":23259,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["31327:23:54","31351:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"31327:39:54"},"referencedDeclaration":24891,"src":"31327:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23265,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23262,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"31379:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31403:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"31379:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31379:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31327:96:54"},{"assignments":[23267],"declarations":[{"constant":false,"id":23267,"mutability":"mutable","name":"requiredWeight","nameLocation":"31437:14:54","nodeType":"VariableDeclaration","scope":23295,"src":"31429:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23266,"name":"uint256","nodeType":"ElementaryTypeName","src":"31429:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23272,"initialValue":{"baseExpression":{"expression":{"id":23268,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23261,"src":"31454:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31456:29:54","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":24867,"src":"31454:31:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"}},"id":23271,"indexExpression":{"id":23270,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23254,"src":"31486:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31454:50:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31429:75:54"},{"assignments":[23274],"declarations":[{"constant":false,"id":23274,"mutability":"mutable","name":"level","nameLocation":"31518:5:54","nodeType":"VariableDeclaration","scope":23295,"src":"31510:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23273,"name":"uint256","nodeType":"ElementaryTypeName","src":"31510:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23284,"initialValue":{"arguments":[{"arguments":[{"id":23281,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23251,"src":"31583:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":23278,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23261,"src":"31549:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31551:12:54","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":24862,"src":"31549:14:54","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"id":23280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31564:18:54","memberName":"getSelectedTokenId","nodeType":"MemberAccess","referencedDeclaration":64899,"src":"31549:33:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":23282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31549:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":23275,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23261,"src":"31526:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31528:12:54","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":24862,"src":"31526:14:54","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"id":23277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31541:7:54","memberName":"levelOf","nodeType":"MemberAccess","referencedDeclaration":64956,"src":"31526:22:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":23283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31526:67:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31510:83:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23285,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23274,"src":"31618:5:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23286,"name":"requiredWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23267,"src":"31626:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31618:22:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23294,"nodeType":"IfStatement","src":"31614:99:54","trueBody":{"id":23293,"nodeType":"Block","src":"31642:71:54","statements":[{"errorCall":{"arguments":[{"id":23289,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23251,"src":"31681:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23290,"name":"requiredWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23267,"src":"31691:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":23288,"name":"GovernorInvalidProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21716,"src":"31657:23:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":23291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31657:49:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23292,"nodeType":"RevertStatement","src":"31650:56:54"}]}}]},"documentation":{"id":23249,"nodeType":"StructuredDocumentation","src":"31030:169:54","text":" @dev Internal function to validate the proposer.\n @param proposer The address of the proposer.\n @param proposalTypeValue The type of the proposal."},"id":23296,"implemented":true,"kind":"function","modifiers":[],"name":"_validateProposer","nameLocation":"31211:17:54","nodeType":"FunctionDefinition","parameters":{"id":23255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23251,"mutability":"mutable","name":"proposer","nameLocation":"31242:8:54","nodeType":"VariableDeclaration","scope":23296,"src":"31234:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23250,"name":"address","nodeType":"ElementaryTypeName","src":"31234:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23254,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"31286:17:54","nodeType":"VariableDeclaration","scope":23296,"src":"31256:47:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":23253,"nodeType":"UserDefinedTypeName","pathNode":{"id":23252,"name":"GovernorTypesV10.ProposalType","nameLocations":["31256:16:54","31273:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"31256:29:54"},"referencedDeclaration":25017,"src":"31256:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"31228:79:54"},"returnParameters":{"id":23256,"nodeType":"ParameterList","parameters":[],"src":"31321:0:54"},"scope":23874,"src":"31202:515:54","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":23349,"nodeType":"Block","src":"32399:393:54","statements":[{"assignments":[23319],"declarations":[{"constant":false,"id":23319,"mutability":"mutable","name":"$","nameLocation":"32453:1:54","nodeType":"VariableDeclaration","scope":23349,"src":"32405:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23318,"nodeType":"UserDefinedTypeName","pathNode":{"id":23317,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["32405:23:54","32429:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"32405:39:54"},"referencedDeclaration":24891,"src":"32405:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23323,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23320,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"32457:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32481:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"32457:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32457:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"32405:96:54"},{"expression":{"arguments":[{"id":23332,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23304,"src":"32588:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":23333,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23307,"src":"32603:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":23334,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23310,"src":"32617:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"hexValue":"30","id":23335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32634:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"id":23338,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23312,"src":"32683:15:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23339,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23299,"src":"32700:15:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23336,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"32643:26:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":23337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32670:12:54","memberName":"timelockSalt","nodeType":"MemberAccess","referencedDeclaration":21490,"src":"32643:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) pure returns (bytes32)"}},"id":23340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32643:73:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":23324,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23319,"src":"32537:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23327,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32539:8:54","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"32537:10:54","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":23328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32548:12:54","memberName":"executeBatch","nodeType":"MemberAccess","referencedDeclaration":1311,"src":"32537:23:54","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) payable external"}},"id":23331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":23329,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"32569:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":23330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32573:5:54","memberName":"value","nodeType":"MemberAccess","src":"32569:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"32537:43:54","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$__$value","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) payable external"}},"id":23341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32537:185:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23342,"nodeType":"ExpressionStatement","src":"32537:185:54"},{"expression":{"id":23347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"32755:32:54","subExpression":{"baseExpression":{"expression":{"id":23343,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23319,"src":"32762:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32764:11:54","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":24781,"src":"32762:13:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":23346,"indexExpression":{"id":23345,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"32776:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32762:25:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23348,"nodeType":"ExpressionStatement","src":"32755:32:54"}]},"documentation":{"id":23297,"nodeType":"StructuredDocumentation","src":"31721:429:54","text":" @dev Internal function to execute operations of a proposal.\n @param contractAddress The address of the calling contract.\n @param proposalId The id of the proposal.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description."},"id":23350,"implemented":true,"kind":"function","modifiers":[],"name":"_executeOperations","nameLocation":"32162:18:54","nodeType":"FunctionDefinition","parameters":{"id":23313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23299,"mutability":"mutable","name":"contractAddress","nameLocation":"32194:15:54","nodeType":"VariableDeclaration","scope":23350,"src":"32186:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23298,"name":"address","nodeType":"ElementaryTypeName","src":"32186:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23301,"mutability":"mutable","name":"proposalId","nameLocation":"32258:10:54","nodeType":"VariableDeclaration","scope":23350,"src":"32250:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23300,"name":"uint256","nodeType":"ElementaryTypeName","src":"32250:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23304,"mutability":"mutable","name":"targets","nameLocation":"32291:7:54","nodeType":"VariableDeclaration","scope":23350,"src":"32274:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":23302,"name":"address","nodeType":"ElementaryTypeName","src":"32274:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":23303,"nodeType":"ArrayTypeName","src":"32274:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":23307,"mutability":"mutable","name":"values","nameLocation":"32321:6:54","nodeType":"VariableDeclaration","scope":23350,"src":"32304:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":23305,"name":"uint256","nodeType":"ElementaryTypeName","src":"32304:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23306,"nodeType":"ArrayTypeName","src":"32304:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":23310,"mutability":"mutable","name":"calldatas","nameLocation":"32348:9:54","nodeType":"VariableDeclaration","scope":23350,"src":"32333:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":23308,"name":"bytes","nodeType":"ElementaryTypeName","src":"32333:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":23309,"nodeType":"ArrayTypeName","src":"32333:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":23312,"mutability":"mutable","name":"descriptionHash","nameLocation":"32371:15:54","nodeType":"VariableDeclaration","scope":23350,"src":"32363:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32363:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"32180:210:54"},"returnParameters":{"id":23314,"nodeType":"ParameterList","parameters":[],"src":"32399:0:54"},"scope":23874,"src":"32153:639:54","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":23432,"nodeType":"Block","src":"33564:478:54","statements":[{"assignments":[23375],"declarations":[{"constant":false,"id":23375,"mutability":"mutable","name":"$","nameLocation":"33618:1:54","nodeType":"VariableDeclaration","scope":23432,"src":"33570:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23374,"nodeType":"UserDefinedTypeName","pathNode":{"id":23373,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["33570:23:54","33594:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"33570:39:54"},"referencedDeclaration":24891,"src":"33570:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23379,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23376,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"33622:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33646:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"33622:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33622:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"33570:96:54"},{"assignments":[23381],"declarations":[{"constant":false,"id":23381,"mutability":"mutable","name":"delay","nameLocation":"33680:5:54","nodeType":"VariableDeclaration","scope":23432,"src":"33672:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23380,"name":"uint256","nodeType":"ElementaryTypeName","src":"33672:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23386,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23382,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23375,"src":"33688:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33690:8:54","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"33688:10:54","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":23384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33699:11:54","memberName":"getMinDelay","nodeType":"MemberAccess","referencedDeclaration":835,"src":"33688:22:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33688:24:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33672:40:54"},{"assignments":[23388],"declarations":[{"constant":false,"id":23388,"mutability":"mutable","name":"salt","nameLocation":"33727:4:54","nodeType":"VariableDeclaration","scope":23432,"src":"33719:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33719:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":23394,"initialValue":{"arguments":[{"id":23391,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23366,"src":"33774:15:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23392,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23353,"src":"33791:15:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23389,"name":"GovernorGovernanceLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21563,"src":"33734:26:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogicV10_$21563_$","typeString":"type(library GovernorGovernanceLogicV10)"}},"id":23390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33761:12:54","memberName":"timelockSalt","nodeType":"MemberAccess","referencedDeclaration":21490,"src":"33734:39:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) pure returns (bytes32)"}},"id":23393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33734:73:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"33719:88:54"},{"expression":{"id":23409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":23395,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23375,"src":"33813:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33815:11:54","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":24781,"src":"33813:13:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":23399,"indexExpression":{"id":23397,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23355,"src":"33827:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33813:25:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":23403,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23358,"src":"33871:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":23404,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23361,"src":"33880:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":23405,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23364,"src":"33888:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"hexValue":"30","id":23406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33899:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":23407,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23388,"src":"33902:4:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":23400,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23375,"src":"33841:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33843:8:54","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"33841:10:54","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":23402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33852:18:54","memberName":"hashOperationBatch","nodeType":"MemberAccess","referencedDeclaration":894,"src":"33841:29:54","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) pure external returns (bytes32)"}},"id":23408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33841:66:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"33813:94:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":23410,"nodeType":"ExpressionStatement","src":"33813:94:54"},{"expression":{"arguments":[{"id":23416,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23358,"src":"33938:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":23417,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23361,"src":"33947:6:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":23418,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23364,"src":"33955:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"hexValue":"30","id":23419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33966:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":23420,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23388,"src":"33969:4:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":23421,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23381,"src":"33975:5:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":23411,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23375,"src":"33913:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33915:8:54","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"33913:10:54","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":23415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33924:13:54","memberName":"scheduleBatch","nodeType":"MemberAccess","referencedDeclaration":1054,"src":"33913:24:54","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32,uint256) external"}},"id":23422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33913:68:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23423,"nodeType":"ExpressionStatement","src":"33913:68:54"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":23426,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"34013:5:54","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":23427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34019:9:54","memberName":"timestamp","nodeType":"MemberAccess","src":"34013:15:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":23428,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23381,"src":"34031:5:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34013:23:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23424,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"33995:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":23425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34004:8:54","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"33995:17:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":23430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33995:42:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":23370,"id":23431,"nodeType":"Return","src":"33988:49:54"}]},"documentation":{"id":23351,"nodeType":"StructuredDocumentation","src":"32796:504:54","text":" @dev Internal function to queue operations of a proposal in the timelock.\n @param contractAddress The address of the calling contract.\n @param proposalId The id of the proposal.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @return The eta (estimated time of arrival) in seconds."},"id":23433,"implemented":true,"kind":"function","modifiers":[],"name":"_queueOperations","nameLocation":"33312:16:54","nodeType":"FunctionDefinition","parameters":{"id":23367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23353,"mutability":"mutable","name":"contractAddress","nameLocation":"33342:15:54","nodeType":"VariableDeclaration","scope":23433,"src":"33334:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23352,"name":"address","nodeType":"ElementaryTypeName","src":"33334:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23355,"mutability":"mutable","name":"proposalId","nameLocation":"33406:10:54","nodeType":"VariableDeclaration","scope":23433,"src":"33398:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23354,"name":"uint256","nodeType":"ElementaryTypeName","src":"33398:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23358,"mutability":"mutable","name":"targets","nameLocation":"33439:7:54","nodeType":"VariableDeclaration","scope":23433,"src":"33422:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":23356,"name":"address","nodeType":"ElementaryTypeName","src":"33422:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":23357,"nodeType":"ArrayTypeName","src":"33422:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":23361,"mutability":"mutable","name":"values","nameLocation":"33469:6:54","nodeType":"VariableDeclaration","scope":23433,"src":"33452:23:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":23359,"name":"uint256","nodeType":"ElementaryTypeName","src":"33452:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23360,"nodeType":"ArrayTypeName","src":"33452:9:54","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":23364,"mutability":"mutable","name":"calldatas","nameLocation":"33496:9:54","nodeType":"VariableDeclaration","scope":23433,"src":"33481:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":23362,"name":"bytes","nodeType":"ElementaryTypeName","src":"33481:5:54","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":23363,"nodeType":"ArrayTypeName","src":"33481:7:54","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":23366,"mutability":"mutable","name":"descriptionHash","nameLocation":"33519:15:54","nodeType":"VariableDeclaration","scope":23433,"src":"33511:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33511:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"33328:210:54"},"returnParameters":{"id":23370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23433,"src":"33556:6:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":23368,"name":"uint48","nodeType":"ElementaryTypeName","src":"33556:6:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"33555:8:54"},"scope":23874,"src":"33303:739:54","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":23475,"nodeType":"Block","src":"34434:282:54","statements":[{"assignments":[23449],"declarations":[{"constant":false,"id":23449,"mutability":"mutable","name":"$","nameLocation":"34488:1:54","nodeType":"VariableDeclaration","scope":23475,"src":"34440:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23448,"nodeType":"UserDefinedTypeName","pathNode":{"id":23447,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["34440:23:54","34464:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"34440:39:54"},"referencedDeclaration":24891,"src":"34440:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23453,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23450,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"34492:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34516:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"34492:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34492:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"34440:96:54"},{"expression":{"id":23461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":23454,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23449,"src":"34542:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34544:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"34542:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":23458,"indexExpression":{"id":23456,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23436,"src":"34554:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34542:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":23459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34566:8:54","memberName":"canceled","nodeType":"MemberAccess","referencedDeclaration":24974,"src":"34542:32:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":23460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34577:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"34542:39:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23462,"nodeType":"ExpressionStatement","src":"34542:39:54"},{"eventCall":{"arguments":[{"id":23464,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23436,"src":"34609:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":23463,"name":"ProposalCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21597,"src":"34592:16:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":23465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34592:28:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23466,"nodeType":"EmitStatement","src":"34587:33:54"},{"eventCall":{"arguments":[{"id":23468,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23436,"src":"34658:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23469,"name":"canceler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23438,"src":"34670:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23470,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23440,"src":"34680:6:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":23467,"name":"ProposalCanceledWithReason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21606,"src":"34631:26:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,address,string memory)"}},"id":23471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34631:56:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23472,"nodeType":"EmitStatement","src":"34626:61:54"},{"expression":{"id":23473,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23436,"src":"34701:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":23444,"id":23474,"nodeType":"Return","src":"34694:17:54"}]},"documentation":{"id":23434,"nodeType":"StructuredDocumentation","src":"34046:266:54","text":" @dev Internal function to cancel a proposal.\n @param proposalId The id of the proposal.\n @param canceler The address of the account canceling the proposal.\n @param reason The reason for canceling the proposal.\n @return The proposal id."},"id":23476,"implemented":true,"kind":"function","modifiers":[],"name":"_cancel","nameLocation":"34324:7:54","nodeType":"FunctionDefinition","parameters":{"id":23441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23436,"mutability":"mutable","name":"proposalId","nameLocation":"34345:10:54","nodeType":"VariableDeclaration","scope":23476,"src":"34337:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23435,"name":"uint256","nodeType":"ElementaryTypeName","src":"34337:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23438,"mutability":"mutable","name":"canceler","nameLocation":"34369:8:54","nodeType":"VariableDeclaration","scope":23476,"src":"34361:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23437,"name":"address","nodeType":"ElementaryTypeName","src":"34361:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23440,"mutability":"mutable","name":"reason","nameLocation":"34397:6:54","nodeType":"VariableDeclaration","scope":23476,"src":"34383:20:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23439,"name":"string","nodeType":"ElementaryTypeName","src":"34383:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34331:76:54"},"returnParameters":{"id":23444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23476,"src":"34425:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23442,"name":"uint256","nodeType":"ElementaryTypeName","src":"34425:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34424:9:54"},"scope":23874,"src":"34315:401:54","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":23531,"nodeType":"Block","src":"34967:668:54","statements":[{"assignments":[23486],"declarations":[{"constant":false,"id":23486,"mutability":"mutable","name":"$","nameLocation":"35021:1:54","nodeType":"VariableDeclaration","scope":23531,"src":"34973:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23485,"nodeType":"UserDefinedTypeName","pathNode":{"id":23484,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["34973:23:54","34997:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"34973:39:54"},"referencedDeclaration":24891,"src":"34973:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23490,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23487,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"35025:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35049:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"35025:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35025:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"34973:96:54"},{"assignments":[23492],"declarations":[{"constant":false,"id":23492,"mutability":"mutable","name":"currentRoundId","nameLocation":"35083:14:54","nodeType":"VariableDeclaration","scope":23531,"src":"35075:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23491,"name":"uint256","nodeType":"ElementaryTypeName","src":"35075:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23497,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23493,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23486,"src":"35100:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35102:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"35100:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35120:14:54","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"35100:34:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35100:36:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35075:61:54"},{"assignments":[23499],"declarations":[{"constant":false,"id":23499,"mutability":"mutable","name":"currentRoundDeadline","nameLocation":"35150:20:54","nodeType":"VariableDeclaration","scope":23531,"src":"35142:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23498,"name":"uint256","nodeType":"ElementaryTypeName","src":"35142:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23505,"initialValue":{"arguments":[{"id":23503,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23492,"src":"35207:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":23500,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23486,"src":"35173:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23501,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35175:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"35173:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35193:13:54","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":70862,"src":"35173:33:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":23504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35173:49:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35142:80:54"},{"assignments":[23507],"declarations":[{"constant":false,"id":23507,"mutability":"mutable","name":"currentBlock","nameLocation":"35235:12:54","nodeType":"VariableDeclaration","scope":23531,"src":"35228:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":23506,"name":"uint48","nodeType":"ElementaryTypeName","src":"35228:6:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":23511,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23508,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"35250:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":23509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35272:5:54","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"35250:27:54","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":23510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35250:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"35228:51:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23512,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23499,"src":"35367:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":23513,"name":"currentBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23507,"src":"35391:12:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"35367:36:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23518,"nodeType":"IfStatement","src":"35363:69:54","trueBody":{"id":23517,"nodeType":"Block","src":"35405:27:54","statements":[{"expression":{"hexValue":"66616c7365","id":23515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35420:5:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":23481,"id":23516,"nodeType":"Return","src":"35413:12:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":23519,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23486,"src":"35530:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35532:14:54","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":24771,"src":"35530:16:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23521,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23499,"src":"35549:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":23522,"name":"currentBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23507,"src":"35572:12:54","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"35549:35:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35530:54:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23528,"nodeType":"IfStatement","src":"35526:87:54","trueBody":{"id":23527,"nodeType":"Block","src":"35586:27:54","statements":[{"expression":{"hexValue":"66616c7365","id":23525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35601:5:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":23481,"id":23526,"nodeType":"Return","src":"35594:12:54"}]}},{"expression":{"hexValue":"74727565","id":23529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35626:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":23481,"id":23530,"nodeType":"Return","src":"35619:11:54"}]},"documentation":{"id":23477,"nodeType":"StructuredDocumentation","src":"34720:172:54","text":" @dev Internal function to validate if a proposal can start in the next round.\n @return True if the proposal can start in the next round, false otherwise."},"id":23532,"implemented":true,"kind":"function","modifiers":[],"name":"_canProposalStartInNextRound","nameLocation":"34904:28:54","nodeType":"FunctionDefinition","parameters":{"id":23478,"nodeType":"ParameterList","parameters":[],"src":"34932:5:54"},"returnParameters":{"id":23481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23532,"src":"34961:4:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23479,"name":"bool","nodeType":"ElementaryTypeName","src":"34961:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34960:6:54"},"scope":23874,"src":"34895:740:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":23631,"nodeType":"Block","src":"35894:1076:54","statements":[{"assignments":[23544],"declarations":[{"constant":false,"id":23544,"mutability":"mutable","name":"$","nameLocation":"35948:1:54","nodeType":"VariableDeclaration","scope":23631,"src":"35900:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23543,"nodeType":"UserDefinedTypeName","pathNode":{"id":23542,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["35900:23:54","35924:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"35900:39:54"},"referencedDeclaration":24891,"src":"35900:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23548,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23545,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"35952:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35976:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"35952:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35952:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"35900:96:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23549,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23544,"src":"36069:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36071:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"36069:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36089:14:54","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"36069:34:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36069:36:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"baseExpression":{"expression":{"id":23553,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23544,"src":"36109:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23554,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36111:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"36109:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":23556,"indexExpression":{"id":23555,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23535,"src":"36121:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36109:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":23557,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36133:16:54","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"36109:40:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36069:80:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23579,"nodeType":"IfStatement","src":"36065:285:54","trueBody":{"id":23578,"nodeType":"Block","src":"36151:199:54","statements":[{"assignments":[23563],"declarations":[{"constant":false,"id":23563,"mutability":"mutable","name":"$","nameLocation":"36205:1:54","nodeType":"VariableDeclaration","scope":23578,"src":"36157:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23562,"nodeType":"UserDefinedTypeName","pathNode":{"id":23561,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["36157:23:54","36181:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"36157:39:54"},"referencedDeclaration":24891,"src":"36157:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23567,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23564,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"36209:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36233:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"36209:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36209:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"36157:96:54"},{"expression":{"arguments":[{"expression":{"baseExpression":{"expression":{"id":23571,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23563,"src":"36302:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36304:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"36302:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":23574,"indexExpression":{"id":23573,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23535,"src":"36314:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36302:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":23575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36326:16:54","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"36302:40:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":23568,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23563,"src":"36268:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36270:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"36268:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36288:13:54","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":70854,"src":"36268:33:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":23576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36268:75:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":23539,"id":23577,"nodeType":"Return","src":"36261:82:54"}]}},{"assignments":[23581],"declarations":[{"constant":false,"id":23581,"mutability":"mutable","name":"amountOfRoundsLeft","nameLocation":"36364:18:54","nodeType":"VariableDeclaration","scope":23631,"src":"36356:26:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23580,"name":"uint256","nodeType":"ElementaryTypeName","src":"36356:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23592,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":23582,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23544,"src":"36385:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23583,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36387:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"36385:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":23585,"indexExpression":{"id":23584,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23535,"src":"36397:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36385:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":23586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36409:16:54","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"36385:40:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23587,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23544,"src":"36428:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36430:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"36428:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36448:14:54","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"36428:34:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36428:36:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36385:79:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36356:108:54"},{"assignments":[23594],"declarations":[{"constant":false,"id":23594,"mutability":"mutable","name":"roundsDurationLeft","nameLocation":"36478:18:54","nodeType":"VariableDeclaration","scope":23631,"src":"36470:26:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23593,"name":"uint256","nodeType":"ElementaryTypeName","src":"36470:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23604,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23595,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23544,"src":"36499:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36501:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"36499:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36519:12:54","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":70868,"src":"36499:32:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36499:34:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23599,"name":"amountOfRoundsLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23581,"src":"36537:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":23600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36558:1:54","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"36537:22:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":23602,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36536:24:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36499:61:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36470:90:54"},{"assignments":[23606],"declarations":[{"constant":false,"id":23606,"mutability":"mutable","name":"currentRoundDeadline","nameLocation":"36630:20:54","nodeType":"VariableDeclaration","scope":23631,"src":"36622:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23605,"name":"uint256","nodeType":"ElementaryTypeName","src":"36622:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23611,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23607,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23544,"src":"36653:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23608,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36655:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"36653:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36673:20:54","memberName":"currentRoundDeadline","nodeType":"MemberAccess","referencedDeclaration":71032,"src":"36653:40:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36653:42:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36622:73:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23612,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23606,"src":"36768:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23613,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"36792:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":23614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36814:5:54","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"36792:27:54","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":23615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36792:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"36768:53:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23624,"nodeType":"IfStatement","src":"36764:126:54","trueBody":{"id":23623,"nodeType":"Block","src":"36823:67:54","statements":[{"expression":{"id":23621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23617,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23606,"src":"36831:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23618,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"36854:21:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":23619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36876:5:54","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"36854:27:54","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":23620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36854:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"36831:52:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23622,"nodeType":"ExpressionStatement","src":"36831:52:54"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23625,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23606,"src":"36903:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":23626,"name":"roundsDurationLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23594,"src":"36926:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36903:41:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":23628,"name":"amountOfRoundsLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23581,"src":"36947:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36903:62:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":23539,"id":23630,"nodeType":"Return","src":"36896:69:54"}]},"documentation":{"id":23533,"nodeType":"StructuredDocumentation","src":"35639:165:54","text":" @dev Internal function to get the snapshot block of a proposal.\n @param proposalId The id of the proposal.\n @return The snapshot block number."},"id":23632,"implemented":true,"kind":"function","modifiers":[],"name":"_proposalSnapshot","nameLocation":"35816:17:54","nodeType":"FunctionDefinition","parameters":{"id":23536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23535,"mutability":"mutable","name":"proposalId","nameLocation":"35847:10:54","nodeType":"VariableDeclaration","scope":23632,"src":"35839:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23534,"name":"uint256","nodeType":"ElementaryTypeName","src":"35839:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35833:28:54"},"returnParameters":{"id":23539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23632,"src":"35885:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23537,"name":"uint256","nodeType":"ElementaryTypeName","src":"35885:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35884:9:54"},"scope":23874,"src":"35807:1163:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":23689,"nodeType":"Block","src":"37229:682:54","statements":[{"assignments":[23644],"declarations":[{"constant":false,"id":23644,"mutability":"mutable","name":"$","nameLocation":"37283:1:54","nodeType":"VariableDeclaration","scope":23689,"src":"37235:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23643,"nodeType":"UserDefinedTypeName","pathNode":{"id":23642,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["37235:23:54","37259:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"37235:39:54"},"referencedDeclaration":24891,"src":"37235:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23648,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23645,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"37287:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37311:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"37287:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37287:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"37235:96:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23649,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23644,"src":"37434:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37436:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"37434:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37454:14:54","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"37434:34:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37434:36:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"baseExpression":{"expression":{"id":23653,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23644,"src":"37474:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23654,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37476:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"37474:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":23656,"indexExpression":{"id":23655,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23635,"src":"37486:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37474:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":23657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37498:16:54","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"37474:40:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37434:80:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23679,"nodeType":"IfStatement","src":"37430:285:54","trueBody":{"id":23678,"nodeType":"Block","src":"37516:199:54","statements":[{"assignments":[23663],"declarations":[{"constant":false,"id":23663,"mutability":"mutable","name":"$","nameLocation":"37570:1:54","nodeType":"VariableDeclaration","scope":23678,"src":"37522:49:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23662,"nodeType":"UserDefinedTypeName","pathNode":{"id":23661,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["37522:23:54","37546:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"37522:39:54"},"referencedDeclaration":24891,"src":"37522:39:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23667,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23664,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"37574:23:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37598:18:54","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"37574:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37574:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"37522:96:54"},{"expression":{"arguments":[{"expression":{"baseExpression":{"expression":{"id":23671,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23663,"src":"37667:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37669:9:54","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"37667:11:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":23674,"indexExpression":{"id":23673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23635,"src":"37679:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37667:23:54","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":23675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37691:16:54","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"37667:40:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":23668,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23663,"src":"37633:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37635:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"37633:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37653:13:54","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":70862,"src":"37633:33:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":23676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37633:75:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":23639,"id":23677,"nodeType":"Return","src":"37626:82:54"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":23681,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23635,"src":"37858:10:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":23680,"name":"_proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23632,"src":"37840:17:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":23682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37840:29:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":23683,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23644,"src":"37872:1:54","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23684,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37874:17:54","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"37872:19:54","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":23685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37892:12:54","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":70868,"src":"37872:32:54","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":23686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37872:34:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37840:66:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":23639,"id":23688,"nodeType":"Return","src":"37833:73:54"}]},"documentation":{"id":23633,"nodeType":"StructuredDocumentation","src":"36974:165:54","text":" @dev Internal function to get the deadline block of a proposal.\n @param proposalId The id of the proposal.\n @return The deadline block number."},"id":23690,"implemented":true,"kind":"function","modifiers":[],"name":"_proposalDeadline","nameLocation":"37151:17:54","nodeType":"FunctionDefinition","parameters":{"id":23636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23635,"mutability":"mutable","name":"proposalId","nameLocation":"37182:10:54","nodeType":"VariableDeclaration","scope":23690,"src":"37174:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23634,"name":"uint256","nodeType":"ElementaryTypeName","src":"37174:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37168:28:54"},"returnParameters":{"id":23639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23638,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23690,"src":"37220:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23637,"name":"uint256","nodeType":"ElementaryTypeName","src":"37220:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37219:9:54"},"scope":23874,"src":"37142:769:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":23781,"nodeType":"Block","src":"38401:1167:54","statements":[{"assignments":[23701],"declarations":[{"constant":false,"id":23701,"mutability":"mutable","name":"len","nameLocation":"38415:3:54","nodeType":"VariableDeclaration","scope":23781,"src":"38407:11:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23700,"name":"uint256","nodeType":"ElementaryTypeName","src":"38407:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23707,"initialValue":{"expression":{"arguments":[{"id":23704,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23695,"src":"38427:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":23703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38421:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":23702,"name":"bytes","nodeType":"ElementaryTypeName","src":"38421:5:54","typeDescriptions":{}}},"id":23705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38421:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":23706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38440:6:54","memberName":"length","nodeType":"MemberAccess","src":"38421:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38407:39:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23708,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23701,"src":"38519:3:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3532","id":23709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38525:2:54","typeDescriptions":{"typeIdentifier":"t_rational_52_by_1","typeString":"int_const 52"},"value":"52"},"src":"38519:8:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23714,"nodeType":"IfStatement","src":"38515:40:54","trueBody":{"id":23713,"nodeType":"Block","src":"38529:26:54","statements":[{"expression":{"hexValue":"74727565","id":23711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"38544:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":23699,"id":23712,"nodeType":"Return","src":"38537:11:54"}]}},{"assignments":[23716],"declarations":[{"constant":false,"id":23716,"mutability":"mutable","name":"marker","nameLocation":"38645:6:54","nodeType":"VariableDeclaration","scope":23781,"src":"38637:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":23715,"name":"bytes12","nodeType":"ElementaryTypeName","src":"38637:7:54","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"id":23717,"nodeType":"VariableDeclarationStatement","src":"38637:14:54"},{"AST":{"nodeType":"YulBlock","src":"38666:326:54","statements":[{"nodeType":"YulAssignment","src":"38939:47:54","value":{"arguments":[{"arguments":[{"name":"description","nodeType":"YulIdentifier","src":"38959:11:54"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"38976:3:54"},{"kind":"number","nodeType":"YulLiteral","src":"38981:2:54","type":"","value":"20"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38972:3:54"},"nodeType":"YulFunctionCall","src":"38972:12:54"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38955:3:54"},"nodeType":"YulFunctionCall","src":"38955:30:54"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38949:5:54"},"nodeType":"YulFunctionCall","src":"38949:37:54"},"variableNames":[{"name":"marker","nodeType":"YulIdentifier","src":"38939:6:54"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":23695,"isOffset":false,"isSlot":false,"src":"38959:11:54","valueSize":1},{"declaration":23701,"isOffset":false,"isSlot":false,"src":"38976:3:54","valueSize":1},{"declaration":23716,"isOffset":false,"isSlot":false,"src":"38939:6:54","valueSize":1}],"id":23718,"nodeType":"InlineAssembly","src":"38657:335:54"},{"condition":{"commonType":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"id":23724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23719,"name":"marker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23716,"src":"39074:6:54","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"2370726f706f7365723d3078","id":23722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39092:14:54","typeDescriptions":{"typeIdentifier":"t_stringliteral_c71b7ddeea4f156000856aeb51f48432dbda80a33f6e5955e4909d9caf2ade73","typeString":"literal_string \"#proposer=0x\""},"value":"#proposer=0x"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c71b7ddeea4f156000856aeb51f48432dbda80a33f6e5955e4909d9caf2ade73","typeString":"literal_string \"#proposer=0x\""}],"id":23721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39084:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes12_$","typeString":"type(bytes12)"},"typeName":{"id":23720,"name":"bytes12","nodeType":"ElementaryTypeName","src":"39084:7:54","typeDescriptions":{}}},"id":23723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39084:23:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"src":"39074:33:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23728,"nodeType":"IfStatement","src":"39070:65:54","trueBody":{"id":23727,"nodeType":"Block","src":"39109:26:54","statements":[{"expression":{"hexValue":"74727565","id":23725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"39124:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":23699,"id":23726,"nodeType":"Return","src":"39117:11:54"}]}},{"assignments":[23730],"declarations":[{"constant":false,"id":23730,"mutability":"mutable","name":"recovered","nameLocation":"39212:9:54","nodeType":"VariableDeclaration","scope":23781,"src":"39204:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":23729,"name":"uint160","nodeType":"ElementaryTypeName","src":"39204:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"id":23731,"nodeType":"VariableDeclarationStatement","src":"39204:17:54"},{"body":{"id":23772,"nodeType":"Block","src":"39268:252:54","statements":[{"assignments":[23745,23747],"declarations":[{"constant":false,"id":23745,"mutability":"mutable","name":"isHex","nameLocation":"39282:5:54","nodeType":"VariableDeclaration","scope":23772,"src":"39277:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23744,"name":"bool","nodeType":"ElementaryTypeName","src":"39277:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23747,"mutability":"mutable","name":"value","nameLocation":"39295:5:54","nodeType":"VariableDeclaration","scope":23772,"src":"39289:11:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23746,"name":"uint8","nodeType":"ElementaryTypeName","src":"39289:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":23756,"initialValue":{"arguments":[{"baseExpression":{"arguments":[{"id":23751,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23695,"src":"39323:11:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":23750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39317:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":23749,"name":"bytes","nodeType":"ElementaryTypeName","src":"39317:5:54","typeDescriptions":{}}},"id":23752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39317:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":23754,"indexExpression":{"id":23753,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23733,"src":"39336:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39317:21:54","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":23748,"name":"tryHexToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23873,"src":"39304:12:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$returns$_t_bool_$_t_uint8_$","typeString":"function (bytes1) pure returns (bool,uint8)"}},"id":23755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39304:35:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"nodeType":"VariableDeclarationStatement","src":"39276:63:54"},{"condition":{"id":23758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"39432:6:54","subExpression":{"id":23757,"name":"isHex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23745,"src":"39433:5:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23762,"nodeType":"IfStatement","src":"39428:42:54","trueBody":{"id":23761,"nodeType":"Block","src":"39440:30:54","statements":[{"expression":{"hexValue":"74727565","id":23759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"39457:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":23699,"id":23760,"nodeType":"Return","src":"39450:11:54"}]}},{"expression":{"id":23770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":23763,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23730,"src":"39477:9:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":23769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":23766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23764,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23730,"src":"39490:9:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":23765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39503:1:54","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"39490:14:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":23767,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39489:16:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"id":23768,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23747,"src":"39508:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"39489:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"39477:36:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":23771,"nodeType":"ExpressionStatement","src":"39477:36:54"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23738,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23733,"src":"39254:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23739,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23701,"src":"39258:3:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39254:7:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23773,"initializationExpression":{"assignments":[23733],"declarations":[{"constant":false,"id":23733,"mutability":"mutable","name":"i","nameLocation":"39240:1:54","nodeType":"VariableDeclaration","scope":23773,"src":"39232:9:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23732,"name":"uint256","nodeType":"ElementaryTypeName","src":"39232:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23737,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23734,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23701,"src":"39244:3:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3430","id":23735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39250:2:54","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"src":"39244:8:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39232:20:54"},"loopExpression":{"expression":{"id":23742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"39263:3:54","subExpression":{"id":23741,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23733,"src":"39265:1:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":23743,"nodeType":"ExpressionStatement","src":"39263:3:54"},"nodeType":"ForStatement","src":"39227:293:54"},{"expression":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":23779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23774,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23730,"src":"39533:9:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":23777,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23693,"src":"39554:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":23776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39546:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":23775,"name":"uint160","nodeType":"ElementaryTypeName","src":"39546:7:54","typeDescriptions":{}}},"id":23778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39546:17:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"39533:30:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":23699,"id":23780,"nodeType":"Return","src":"39526:37:54"}]},"documentation":{"id":23691,"nodeType":"StructuredDocumentation","src":"37982:304:54","text":" @dev Checks if the description string ends with a proposer's address suffix.\n @param proposer The address of the proposer.\n @param description The description of the proposal.\n @return True if the suffix matches the proposer's address or if there is no suffix, false otherwise."},"id":23782,"implemented":true,"kind":"function","modifiers":[],"name":"isValidDescriptionForProposer","nameLocation":"38298:29:54","nodeType":"FunctionDefinition","parameters":{"id":23696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23693,"mutability":"mutable","name":"proposer","nameLocation":"38336:8:54","nodeType":"VariableDeclaration","scope":23782,"src":"38328:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23692,"name":"address","nodeType":"ElementaryTypeName","src":"38328:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23695,"mutability":"mutable","name":"description","nameLocation":"38360:11:54","nodeType":"VariableDeclaration","scope":23782,"src":"38346:25:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23694,"name":"string","nodeType":"ElementaryTypeName","src":"38346:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38327:45:54"},"returnParameters":{"id":23699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23698,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23782,"src":"38395:4:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23697,"name":"bool","nodeType":"ElementaryTypeName","src":"38395:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38394:6:54"},"scope":23874,"src":"38289:1279:54","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":23803,"nodeType":"Block","src":"39861:143:54","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":23801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"id":23795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23791,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23786,"src":"39880:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":23792,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"39901:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":23793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39918:12:54","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"39901:29:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":23794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39931:8:54","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":25015,"src":"39901:38:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"src":"39880:59:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"id":23800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23796,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23786,"src":"39943:17:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":23797,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"39964:16:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":23798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39981:12:54","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"39964:29:54","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":23799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39994:5:54","memberName":"Grant","nodeType":"MemberAccess","referencedDeclaration":25016,"src":"39964:35:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"src":"39943:56:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"39880:119:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":23790,"id":23802,"nodeType":"Return","src":"39867:132:54"}]},"documentation":{"id":23783,"nodeType":"StructuredDocumentation","src":"39572:179:54","text":" @dev Checks if the proposal type is valid.\n @param proposalTypeValue The type of the proposal.\n @return True if the proposal type is valid, false otherwise."},"id":23804,"implemented":true,"kind":"function","modifiers":[],"name":"isValidProposalType","nameLocation":"39763:19:54","nodeType":"FunctionDefinition","parameters":{"id":23787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23786,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"39813:17:54","nodeType":"VariableDeclaration","scope":23804,"src":"39783:47:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":23785,"nodeType":"UserDefinedTypeName","pathNode":{"id":23784,"name":"GovernorTypesV10.ProposalType","nameLocations":["39783:16:54","39800:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"39783:29:54"},"referencedDeclaration":25017,"src":"39783:29:54","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"39782:49:54"},"returnParameters":{"id":23790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23789,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23804,"src":"39855:4:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23788,"name":"bool","nodeType":"ElementaryTypeName","src":"39855:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39854:6:54"},"scope":23874,"src":"39754:250:54","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23872,"nodeType":"Block","src":"40319:404:54","statements":[{"assignments":[23815],"declarations":[{"constant":false,"id":23815,"mutability":"mutable","name":"c","nameLocation":"40331:1:54","nodeType":"VariableDeclaration","scope":23872,"src":"40325:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23814,"name":"uint8","nodeType":"ElementaryTypeName","src":"40325:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":23820,"initialValue":{"arguments":[{"id":23818,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23807,"src":"40341:4:54","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":23817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40335:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":23816,"name":"uint8","nodeType":"ElementaryTypeName","src":"40335:5:54","typeDescriptions":{}}},"id":23819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40335:11:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"40325:21:54"},{"id":23871,"nodeType":"UncheckedBlock","src":"40352:367:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":23827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":23823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3437","id":23821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40392:2:54","typeDescriptions":{"typeIdentifier":"t_rational_47_by_1","typeString":"int_const 47"},"value":"47"},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23822,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23815,"src":"40397:1:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"40392:6:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":23826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23824,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23815,"src":"40402:1:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3538","id":23825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40406:2:54","typeDescriptions":{"typeIdentifier":"t_rational_58_by_1","typeString":"int_const 58"},"value":"58"},"src":"40402:6:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"40392:16:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":23841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":23837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3634","id":23835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40484:2:54","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23836,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23815,"src":"40489:1:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"40484:6:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":23840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23838,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23815,"src":"40494:1:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3731","id":23839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40498:2:54","typeDescriptions":{"typeIdentifier":"t_rational_71_by_1","typeString":"int_const 71"},"value":"71"},"src":"40494:6:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"40484:16:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":23855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":23851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3936","id":23849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40576:2:54","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":23850,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23815,"src":"40581:1:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"40576:6:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":23854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23852,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23815,"src":"40586:1:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313033","id":23853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40590:3:54","typeDescriptions":{"typeIdentifier":"t_rational_103_by_1","typeString":"int_const 103"},"value":"103"},"src":"40586:7:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"40576:17:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":23867,"nodeType":"Block","src":"40677:36:54","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":23863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"40695:5:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":23864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40702:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":23865,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"40694:10:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":23813,"id":23866,"nodeType":"Return","src":"40687:17:54"}]},"id":23868,"nodeType":"IfStatement","src":"40572:141:54","trueBody":{"id":23862,"nodeType":"Block","src":"40595:40:54","statements":[{"expression":{"components":[{"hexValue":"74727565","id":23856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"40613:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":23859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23857,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23815,"src":"40619:1:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3837","id":23858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40623:2:54","typeDescriptions":{"typeIdentifier":"t_rational_87_by_1","typeString":"int_const 87"},"value":"87"},"src":"40619:6:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":23860,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40612:14:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"functionReturnParameters":23813,"id":23861,"nodeType":"Return","src":"40605:21:54"}]}},"id":23869,"nodeType":"IfStatement","src":"40480:233:54","trueBody":{"id":23848,"nodeType":"Block","src":"40502:40:54","statements":[{"expression":{"components":[{"hexValue":"74727565","id":23842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"40520:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":23845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23843,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23815,"src":"40526:1:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3535","id":23844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40530:2:54","typeDescriptions":{"typeIdentifier":"t_rational_55_by_1","typeString":"int_const 55"},"value":"55"},"src":"40526:6:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":23846,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40519:14:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"functionReturnParameters":23813,"id":23847,"nodeType":"Return","src":"40512:21:54"}]}},"id":23870,"nodeType":"IfStatement","src":"40388:325:54","trueBody":{"id":23834,"nodeType":"Block","src":"40410:40:54","statements":[{"expression":{"components":[{"hexValue":"74727565","id":23828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"40428:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":23831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23829,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23815,"src":"40434:1:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3438","id":23830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40438:2:54","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"40434:6:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":23832,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40427:14:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"functionReturnParameters":23813,"id":23833,"nodeType":"Return","src":"40420:21:54"}]}}]}]},"documentation":{"id":23805,"nodeType":"StructuredDocumentation","src":"40008:238:54","text":" @dev Tries to parse a character from a string as a hex value.\n @param char The character to parse.\n @return isHex True if the character is a valid hex digit, false otherwise.\n @return value The parsed hex value."},"id":23873,"implemented":true,"kind":"function","modifiers":[],"name":"tryHexToUint","nameLocation":"40258:12:54","nodeType":"FunctionDefinition","parameters":{"id":23808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23807,"mutability":"mutable","name":"char","nameLocation":"40278:4:54","nodeType":"VariableDeclaration","scope":23873,"src":"40271:11:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":23806,"name":"bytes1","nodeType":"ElementaryTypeName","src":"40271:6:54","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"40270:13:54"},"returnParameters":{"id":23813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23873,"src":"40306:4:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23809,"name":"bool","nodeType":"ElementaryTypeName","src":"40306:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23812,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23873,"src":"40312:5:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23811,"name":"uint8","nodeType":"ElementaryTypeName","src":"40312:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"40305:13:54"},"scope":23874,"src":"40249:474:54","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":23875,"src":"2256:38470:54","usedErrors":[7025,8883,10456,21235,21240,21676,21681,21686,21689,21698,21703,21709,21716,21724,24425,24435],"usedEvents":[20704,21597,21606,21631,21639,21644,21651,21656,21661,21666]}],"src":"1195:39532:54"},"id":54},"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol","exportedSymbols":{"Checkpoints":[10447],"GovernorClockLogicV10":[19614],"GovernorProposalLogicV10":[23874],"GovernorQuorumLogicV10":[24381],"GovernorStorageTypesV10":[24892],"GovernorTypesV10":[25022],"GovernorVotesLogicV10":[26208],"SafeCast":[8770]},"id":24382,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":23876,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:55"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./GovernorStorageTypesV10.sol","id":23878,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24382,"sourceUnit":24893,"src":"1220:72:55","symbolAliases":[{"foreign":{"id":23877,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1229:23:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol","file":"./GovernorClockLogicV10.sol","id":23880,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24382,"sourceUnit":19615,"src":"1293:68:55","symbolAliases":[{"foreign":{"id":23879,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"1302:21:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol","file":"./GovernorVotesLogicV10.sol","id":23882,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24382,"sourceUnit":26209,"src":"1362:68:55","symbolAliases":[{"foreign":{"id":23881,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"1371:21:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","file":"./GovernorProposalLogicV10.sol","id":23884,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24382,"sourceUnit":23875,"src":"1431:74:55","symbolAliases":[{"foreign":{"id":23883,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"1440:24:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":23885,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24382,"sourceUnit":8771,"src":"1506:57:55","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":23887,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24382,"sourceUnit":10448,"src":"1564:84:55","symbolAliases":[{"foreign":{"id":23886,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1573:11:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","file":"./GovernorTypesV10.sol","id":23889,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24382,"sourceUnit":25023,"src":"1649:58:55","symbolAliases":[{"foreign":{"id":23888,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"1658:16:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorQuorumLogicV10","contractDependencies":[],"contractKind":"library","documentation":{"id":23890,"nodeType":"StructuredDocumentation","src":"1709:121:55","text":"@title GovernorQuorumLogicV10\n @notice Library for managing quorum numerators using checkpointed data structures."},"fullyImplemented":true,"id":24381,"linearizedBaseContracts":[24381],"name":"GovernorQuorumLogicV10","nameLocation":"1838:22:55","nodeType":"ContractDefinition","nodes":[{"global":false,"id":23894,"libraryName":{"id":23891,"name":"Checkpoints","nameLocations":["1871:11:55"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"1871:11:55"},"nodeType":"UsingForDirective","src":"1865:43:55","typeName":{"id":23893,"nodeType":"UserDefinedTypeName","pathNode":{"id":23892,"name":"Checkpoints.Trace208","nameLocations":["1887:11:55","1899:8:55"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"1887:20:55"},"referencedDeclaration":9409,"src":"1887:20:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"documentation":{"id":23895,"nodeType":"StructuredDocumentation","src":"1912:257:55","text":"@notice Error that is thrown when the new quorum numerator exceeds the denominator.\n @param quorumNumerator The attempted new numerator that failed the update.\n @param quorumDenominator The denominator against which the numerator was compared."},"errorSelector":"243e5445","id":23901,"name":"GovernorInvalidQuorumFraction","nameLocation":"2178:29:55","nodeType":"ErrorDefinition","parameters":{"id":23900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23897,"mutability":"mutable","name":"quorumNumerator","nameLocation":"2216:15:55","nodeType":"VariableDeclaration","scope":23901,"src":"2208:23:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23896,"name":"uint256","nodeType":"ElementaryTypeName","src":"2208:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23899,"mutability":"mutable","name":"quorumDenominator","nameLocation":"2241:17:55","nodeType":"VariableDeclaration","scope":23901,"src":"2233:25:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23898,"name":"uint256","nodeType":"ElementaryTypeName","src":"2233:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2207:52:55"},"src":"2172:88:55"},{"anonymous":false,"documentation":{"id":23902,"nodeType":"StructuredDocumentation","src":"2264:174:55","text":"@notice Emitted when the quorum numerator is updated.\n @param oldNumerator The numerator before the update.\n @param newNumerator The numerator after the update."},"eventSelector":"0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997","id":23908,"name":"QuorumNumeratorUpdated","nameLocation":"2447:22:55","nodeType":"EventDefinition","parameters":{"id":23907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23904,"indexed":false,"mutability":"mutable","name":"oldNumerator","nameLocation":"2478:12:55","nodeType":"VariableDeclaration","scope":23908,"src":"2470:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23903,"name":"uint256","nodeType":"ElementaryTypeName","src":"2470:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23906,"indexed":false,"mutability":"mutable","name":"newNumerator","nameLocation":"2500:12:55","nodeType":"VariableDeclaration","scope":23908,"src":"2492:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23905,"name":"uint256","nodeType":"ElementaryTypeName","src":"2492:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2469:44:55"},"src":"2441:73:55"},{"anonymous":false,"documentation":{"id":23909,"nodeType":"StructuredDocumentation","src":"2518:251:55","text":"@notice Emitted when the quorum numerator for a specific proposal type is updated.\n @param oldNumerator The numerator before the update.\n @param newNumerator The numerator after the update.\n @param proposalType The type of proposal."},"eventSelector":"a887ac6363633c0ce6f205a5a5e196934dd309db93895e5751862be24465171d","id":23918,"name":"QuorumNumeratorUpdatedByType","nameLocation":"2778:28:55","nodeType":"EventDefinition","parameters":{"id":23917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23911,"indexed":false,"mutability":"mutable","name":"oldNumerator","nameLocation":"2820:12:55","nodeType":"VariableDeclaration","scope":23918,"src":"2812:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23910,"name":"uint256","nodeType":"ElementaryTypeName","src":"2812:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23913,"indexed":false,"mutability":"mutable","name":"newNumerator","nameLocation":"2846:12:55","nodeType":"VariableDeclaration","scope":23918,"src":"2838:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23912,"name":"uint256","nodeType":"ElementaryTypeName","src":"2838:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23916,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"2894:12:55","nodeType":"VariableDeclaration","scope":23918,"src":"2864:42:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":23915,"nodeType":"UserDefinedTypeName","pathNode":{"id":23914,"name":"GovernorTypesV10.ProposalType","nameLocations":["2864:16:55","2881:12:55"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"2864:29:55"},"referencedDeclaration":25017,"src":"2864:29:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"2806:104:55"},"src":"2772:139:55"},{"body":{"id":23926,"nodeType":"Block","src":"3186:21:55","statements":[{"expression":{"hexValue":"313030","id":23924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3199:3:55","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"functionReturnParameters":23923,"id":23925,"nodeType":"Return","src":"3192:10:55"}]},"documentation":{"id":23919,"nodeType":"StructuredDocumentation","src":"2971:151:55","text":"@notice Retrieves the quorum denominator, which is a constant in this implementation.\n @return The quorum denominator (constant value of 100)."},"id":23927,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"3134:17:55","nodeType":"FunctionDefinition","parameters":{"id":23920,"nodeType":"ParameterList","parameters":[],"src":"3151:2:55"},"returnParameters":{"id":23923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23927,"src":"3177:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23921,"name":"uint256","nodeType":"ElementaryTypeName","src":"3177:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3176:9:55"},"scope":24381,"src":"3125:82:55","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24005,"nodeType":"Block","src":"3524:714:55","statements":[{"assignments":[23939],"declarations":[{"constant":false,"id":23939,"mutability":"mutable","name":"$","nameLocation":"3578:1:55","nodeType":"VariableDeclaration","scope":24005,"src":"3530:49:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":23938,"nodeType":"UserDefinedTypeName","pathNode":{"id":23937,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["3530:23:55","3554:15:55"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"3530:39:55"},"referencedDeclaration":24891,"src":"3530:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":23943,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":23940,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"3582:23:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":23941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3606:18:55","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"3582:42:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":23942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3582:44:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3530:96:55"},{"assignments":[23948],"declarations":[{"constant":false,"id":23948,"mutability":"mutable","name":"proposalType","nameLocation":"3662:12:55","nodeType":"VariableDeclaration","scope":24005,"src":"3632:42:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":23947,"nodeType":"UserDefinedTypeName","pathNode":{"id":23946,"name":"GovernorTypesV10.ProposalType","nameLocations":["3632:16:55","3649:12:55"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"3632:29:55"},"referencedDeclaration":25017,"src":"3632:29:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"id":23952,"initialValue":{"expression":{"expression":{"id":23949,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"3677:16:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":23950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3694:12:55","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"3677:29:55","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":23951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3707:8:55","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":25015,"src":"3677:38:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"3632:83:55"},{"assignments":[23954],"declarations":[{"constant":false,"id":23954,"mutability":"mutable","name":"length","nameLocation":"3729:6:55","nodeType":"VariableDeclaration","scope":24005,"src":"3721:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23953,"name":"uint256","nodeType":"ElementaryTypeName","src":"3721:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":23961,"initialValue":{"expression":{"expression":{"baseExpression":{"expression":{"id":23955,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23939,"src":"3738:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3740:18:55","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":24851,"src":"3738:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":23958,"indexExpression":{"id":23957,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23948,"src":"3759:12:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3738:34:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":23959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3773:12:55","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"3738:47:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":23960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3786:6:55","memberName":"length","nodeType":"MemberAccess","src":"3738:54:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3721:71:55"},{"assignments":[23966],"declarations":[{"constant":false,"id":23966,"mutability":"mutable","name":"latest","nameLocation":"3887:6:55","nodeType":"VariableDeclaration","scope":24005,"src":"3853:40:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":23965,"nodeType":"UserDefinedTypeName","pathNode":{"id":23964,"name":"Checkpoints.Checkpoint208","nameLocations":["3853:11:55","3865:13:55"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"3853:25:55"},"referencedDeclaration":9414,"src":"3853:25:55","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":23976,"initialValue":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":23967,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23939,"src":"3896:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3898:18:55","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":24851,"src":"3896:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":23970,"indexExpression":{"id":23969,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23948,"src":"3917:12:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3896:34:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":23971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3931:12:55","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"3896:47:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":23975,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23972,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23954,"src":"3944:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":23973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3953:1:55","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3944:10:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3896:59:55","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3853:102:55"},{"assignments":[23978],"declarations":[{"constant":false,"id":23978,"mutability":"mutable","name":"latestKey","nameLocation":"3968:9:55","nodeType":"VariableDeclaration","scope":24005,"src":"3961:16:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":23977,"name":"uint48","nodeType":"ElementaryTypeName","src":"3961:6:55","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":23981,"initialValue":{"expression":{"id":23979,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23966,"src":"3980:6:55","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":23980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3987:4:55","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"3980:11:55","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"3961:30:55"},{"assignments":[23983],"declarations":[{"constant":false,"id":23983,"mutability":"mutable","name":"latestValue","nameLocation":"4005:11:55","nodeType":"VariableDeclaration","scope":24005,"src":"3997:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":23982,"name":"uint208","nodeType":"ElementaryTypeName","src":"3997:7:55","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":23986,"initialValue":{"expression":{"id":23984,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23966,"src":"4019:6:55","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":23985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4026:6:55","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"4019:13:55","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"3997:35:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":23987,"name":"latestKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23978,"src":"4042:9:55","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":23988,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23930,"src":"4055:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4042:22:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":23993,"nodeType":"IfStatement","src":"4038:61:55","trueBody":{"id":23992,"nodeType":"Block","src":"4066:33:55","statements":[{"expression":{"id":23990,"name":"latestValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23983,"src":"4081:11:55","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":23934,"id":23991,"nodeType":"Return","src":"4074:18:55"}]}},{"expression":{"arguments":[{"arguments":[{"id":24001,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23930,"src":"4222:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23999,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4204:8:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":24000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4213:8:55","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"4204:17:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":24002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4204:28:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":23994,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23939,"src":"4151:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":23995,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4153:18:55","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":24851,"src":"4151:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":23997,"indexExpression":{"id":23996,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23948,"src":"4172:12:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4151:34:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":23998,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4186:17:55","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"4151:52:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":24003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4151:82:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":23934,"id":24004,"nodeType":"Return","src":"4144:89:55"}]},"documentation":{"id":23928,"nodeType":"StructuredDocumentation","src":"3211:228:55","text":"@notice Retrieves the quorum numerator at a specific timepoint using checkpoint data.\n @param timepoint The specific timepoint for which to fetch the numerator.\n @return The quorum numerator at the given timepoint."},"functionSelector":"60c4247f","id":24006,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"3451:15:55","nodeType":"FunctionDefinition","parameters":{"id":23931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23930,"mutability":"mutable","name":"timepoint","nameLocation":"3480:9:55","nodeType":"VariableDeclaration","scope":24006,"src":"3472:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23929,"name":"uint256","nodeType":"ElementaryTypeName","src":"3472:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3466:27:55"},"returnParameters":{"id":23934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24006,"src":"3515:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23932,"name":"uint256","nodeType":"ElementaryTypeName","src":"3515:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3514:9:55"},"scope":24381,"src":"3442:796:55","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":24024,"nodeType":"Block","src":"4597:109:55","statements":[{"expression":{"arguments":[{"id":24017,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24009,"src":"4641:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":24020,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24011,"src":"4682:17:55","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":24018,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"4652:16:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4669:12:55","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"4652:29:55","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":24021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4652:48:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":24016,"name":"_quorumNumeratorByProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24311,"src":"4610:30:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType) view returns (uint256)"}},"id":24022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4610:91:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24015,"id":24023,"nodeType":"Return","src":"4603:98:55"}]},"documentation":{"id":24007,"nodeType":"StructuredDocumentation","src":"4241:228:55","text":"@notice Retrieves the quorum numerator at a specific timepoint using checkpoint data.\n @param timepoint The specific timepoint for which to fetch the numerator.\n @return The quorum numerator at the given timepoint."},"functionSelector":"5273e74b","id":24025,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumeratorByProposalType","nameLocation":"4481:29:55","nodeType":"FunctionDefinition","parameters":{"id":24012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24009,"mutability":"mutable","name":"timepoint","nameLocation":"4524:9:55","nodeType":"VariableDeclaration","scope":24025,"src":"4516:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24008,"name":"uint256","nodeType":"ElementaryTypeName","src":"4516:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24011,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"4545:17:55","nodeType":"VariableDeclaration","scope":24025,"src":"4539:23:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":24010,"name":"uint8","nodeType":"ElementaryTypeName","src":"4539:5:55","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4510:56:55"},"returnParameters":{"id":24015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24025,"src":"4588:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24013,"name":"uint256","nodeType":"ElementaryTypeName","src":"4588:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4587:9:55"},"scope":24381,"src":"4472:234:55","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":24056,"nodeType":"Block","src":"4903:252:55","statements":[{"assignments":[24035],"declarations":[{"constant":false,"id":24035,"mutability":"mutable","name":"$","nameLocation":"4957:1:55","nodeType":"VariableDeclaration","scope":24056,"src":"4909:49:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":24034,"nodeType":"UserDefinedTypeName","pathNode":{"id":24033,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["4909:23:55","4933:15:55"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"4909:39:55"},"referencedDeclaration":24891,"src":"4909:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":24039,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24036,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"4961:23:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":24037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4985:18:55","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"4961:42:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":24038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4961:44:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4909:96:55"},{"assignments":[24044],"declarations":[{"constant":false,"id":24044,"mutability":"mutable","name":"proposalType","nameLocation":"5041:12:55","nodeType":"VariableDeclaration","scope":24056,"src":"5011:42:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":24043,"nodeType":"UserDefinedTypeName","pathNode":{"id":24042,"name":"GovernorTypesV10.ProposalType","nameLocations":["5011:16:55","5028:12:55"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"5011:29:55"},"referencedDeclaration":25017,"src":"5011:29:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"id":24048,"initialValue":{"expression":{"expression":{"id":24045,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5056:16:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5073:12:55","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"5056:29:55","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":24047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5086:8:55","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":25015,"src":"5056:38:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"5011:83:55"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":24049,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24035,"src":"5107:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24050,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5109:18:55","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":24851,"src":"5107:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":24052,"indexExpression":{"id":24051,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24044,"src":"5128:12:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5107:34:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":24053,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5142:6:55","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"5107:41:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":24054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5107:43:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":24030,"id":24055,"nodeType":"Return","src":"5100:50:55"}]},"documentation":{"id":24026,"nodeType":"StructuredDocumentation","src":"4710:133:55","text":"@notice Retrieves the latest quorum numerator using the GovernorClockLogicV10 library.\n @return The latest quorum numerator."},"functionSelector":"a7713a70","id":24057,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"4855:15:55","nodeType":"FunctionDefinition","parameters":{"id":24027,"nodeType":"ParameterList","parameters":[],"src":"4870:2:55"},"returnParameters":{"id":24030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24029,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24057,"src":"4894:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24028,"name":"uint256","nodeType":"ElementaryTypeName","src":"4894:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4893:9:55"},"scope":24381,"src":"4846:309:55","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":24084,"nodeType":"Block","src":"5470:199:55","statements":[{"assignments":[24069],"declarations":[{"constant":false,"id":24069,"mutability":"mutable","name":"$","nameLocation":"5524:1:55","nodeType":"VariableDeclaration","scope":24084,"src":"5476:49:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":24068,"nodeType":"UserDefinedTypeName","pathNode":{"id":24067,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["5476:23:55","5500:15:55"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"5476:39:55"},"referencedDeclaration":24891,"src":"5476:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":24073,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24070,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"5528:23:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":24071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5552:18:55","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"5528:42:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":24072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5528:44:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5476:96:55"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":24074,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24069,"src":"5585:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5587:18:55","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":24851,"src":"5585:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":24080,"indexExpression":{"arguments":[{"id":24078,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24060,"src":"5636:17:55","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":24076,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5606:16:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5623:12:55","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"5606:29:55","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":24079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5606:48:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5585:70:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":24081,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5656:6:55","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"5585:77:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":24082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5585:79:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":24064,"id":24083,"nodeType":"Return","src":"5578:86:55"}]},"documentation":{"id":24058,"nodeType":"StructuredDocumentation","src":"5159:206:55","text":" @notice Retrieves the latest quorum numerator for a specific proposal type.\n @param proposalTypeValue The type of proposal.\n @return The latest quorum numerator for the proposal type."},"functionSelector":"0eddee30","id":24085,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumeratorByProposalType","nameLocation":"5377:29:55","nodeType":"FunctionDefinition","parameters":{"id":24061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24060,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"5418:17:55","nodeType":"VariableDeclaration","scope":24085,"src":"5412:23:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":24059,"name":"uint8","nodeType":"ElementaryTypeName","src":"5412:5:55","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"5406:33:55"},"returnParameters":{"id":24064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24085,"src":"5461:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24062,"name":"uint256","nodeType":"ElementaryTypeName","src":"5461:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5460:9:55"},"scope":24381,"src":"5368:301:55","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":24097,"nodeType":"Block","src":"5948:43:55","statements":[{"expression":{"arguments":[{"id":24094,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24088,"src":"5975:10:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24093,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24238,"src":"5961:13:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":24095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5961:25:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":24092,"id":24096,"nodeType":"Return","src":"5954:32:55"}]},"documentation":{"id":24086,"nodeType":"StructuredDocumentation","src":"5673:190:55","text":" @notice Checks if the quorum has been reached for a proposal.\n @param proposalId The ID of the proposal.\n @return True if the quorum has been reached, false otherwise."},"functionSelector":"9079991f","id":24098,"implemented":true,"kind":"function","modifiers":[],"name":"isQuorumReached","nameLocation":"5875:15:55","nodeType":"FunctionDefinition","parameters":{"id":24089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24088,"mutability":"mutable","name":"proposalId","nameLocation":"5904:10:55","nodeType":"VariableDeclaration","scope":24098,"src":"5896:18:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24087,"name":"uint256","nodeType":"ElementaryTypeName","src":"5896:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5890:28:55"},"returnParameters":{"id":24092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24098,"src":"5942:4:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24090,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:55"},"scope":24381,"src":"5866:125:55","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":24129,"nodeType":"Block","src":"6224:209:55","statements":[{"assignments":[24110],"declarations":[{"constant":false,"id":24110,"mutability":"mutable","name":"$","nameLocation":"6278:1:55","nodeType":"VariableDeclaration","scope":24129,"src":"6230:49:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":24109,"nodeType":"UserDefinedTypeName","pathNode":{"id":24108,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["6230:23:55","6254:15:55"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"6230:39:55"},"referencedDeclaration":24891,"src":"6230:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":24114,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24111,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"6282:23:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":24112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6306:18:55","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"6282:42:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":24113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6282:44:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6230:96:55"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":24118,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24101,"src":"6366:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":24115,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24110,"src":"6340:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6342:4:55","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"6340:6:55","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":24117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6347:18:55","memberName":"getPastTotalSupply","nodeType":"MemberAccess","referencedDeclaration":67529,"src":"6340:25:55","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":24119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6340:36:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":24121,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24101,"src":"6395:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24120,"name":"quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[24006,24057],"referencedDeclaration":24006,"src":"6379:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":24122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6379:26:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6340:65:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":24124,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6339:67:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":24125,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23927,"src":"6409:17:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":24126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6409:19:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6339:89:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24105,"id":24128,"nodeType":"Return","src":"6332:96:55"}]},"documentation":{"id":24099,"nodeType":"StructuredDocumentation","src":"5995:161:55","text":" @notice Returns the quorum for a specific timepoint.\n @param timepoint The specific timepoint.\n @return The quorum at the given timepoint."},"functionSelector":"f8ce560a","id":24130,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"6168:6:55","nodeType":"FunctionDefinition","parameters":{"id":24102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24101,"mutability":"mutable","name":"timepoint","nameLocation":"6183:9:55","nodeType":"VariableDeclaration","scope":24130,"src":"6175:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24100,"name":"uint256","nodeType":"ElementaryTypeName","src":"6175:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6174:19:55"},"returnParameters":{"id":24105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24104,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24130,"src":"6215:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24103,"name":"uint256","nodeType":"ElementaryTypeName","src":"6215:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6214:9:55"},"scope":24381,"src":"6159:274:55","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":24164,"nodeType":"Block","src":"6804:254:55","statements":[{"assignments":[24144],"declarations":[{"constant":false,"id":24144,"mutability":"mutable","name":"$","nameLocation":"6858:1:55","nodeType":"VariableDeclaration","scope":24164,"src":"6810:49:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":24143,"nodeType":"UserDefinedTypeName","pathNode":{"id":24142,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["6810:23:55","6834:15:55"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"6810:39:55"},"referencedDeclaration":24891,"src":"6810:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":24148,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24145,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"6862:23:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":24146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6886:18:55","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"6862:42:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":24147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6862:44:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6810:96:55"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":24152,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24133,"src":"6952:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":24149,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24144,"src":"6926:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6928:4:55","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"6926:6:55","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":24151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6933:18:55","memberName":"getPastTotalSupply","nodeType":"MemberAccess","referencedDeclaration":67529,"src":"6926:25:55","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":24153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6926:36:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":24155,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24133,"src":"6995:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24156,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24135,"src":"7006:17:55","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":24154,"name":"quorumNumeratorByProposalType","nodeType":"Identifier","overloadedDeclarations":[24025,24085],"referencedDeclaration":24025,"src":"6965:29:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint8) view returns (uint256)"}},"id":24157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6965:59:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6926:98:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":24159,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6925:100:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":24160,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23927,"src":"7034:17:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":24161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7034:19:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6925:128:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24139,"id":24163,"nodeType":"Return","src":"6912:141:55"}]},"documentation":{"id":24131,"nodeType":"StructuredDocumentation","src":"6436:249:55","text":" @notice Returns the quorum for a specific timepoint and proposal type.\n @param timepoint The specific timepoint.\n @param proposalTypeValue The type of proposal.\n @return The quorum at the given timepoint and proposal type."},"functionSelector":"026865cc","id":24165,"implemented":true,"kind":"function","modifiers":[],"name":"quorumByProposalType","nameLocation":"6697:20:55","nodeType":"FunctionDefinition","parameters":{"id":24136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24133,"mutability":"mutable","name":"timepoint","nameLocation":"6731:9:55","nodeType":"VariableDeclaration","scope":24165,"src":"6723:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24132,"name":"uint256","nodeType":"ElementaryTypeName","src":"6723:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24135,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"6752:17:55","nodeType":"VariableDeclaration","scope":24165,"src":"6746:23:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":24134,"name":"uint8","nodeType":"ElementaryTypeName","src":"6746:5:55","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"6717:56:55"},"returnParameters":{"id":24139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24138,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24165,"src":"6795:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24137,"name":"uint256","nodeType":"ElementaryTypeName","src":"6795:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6794:9:55"},"scope":24381,"src":"6688:370:55","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":24178,"nodeType":"Block","src":"7559:99:55","statements":[{"expression":{"arguments":[{"id":24172,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24168,"src":"7594:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":24173,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"7614:16:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7631:12:55","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"7614:29:55","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":24175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7644:8:55","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":25015,"src":"7614:38:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":24171,"name":"_updateQuorumNumeratorByType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24380,"src":"7565:28:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType)"}},"id":24176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7565:88:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24177,"nodeType":"ExpressionStatement","src":"7565:88:55"}]},"documentation":{"id":24166,"nodeType":"StructuredDocumentation","src":"7119:361:55","text":" @notice Updates the quorum numerator to a new value at a specified time, emitting an event upon success.\n @dev This function should only be called from governance actions where numerators need updating.\n @dev New numerator must be smaller or equal to the denominator.\n @param newQuorumNumerator The new value for the quorum numerator."},"functionSelector":"06f3f9e6","id":24179,"implemented":true,"kind":"function","modifiers":[],"name":"updateQuorumNumerator","nameLocation":"7492:21:55","nodeType":"FunctionDefinition","parameters":{"id":24169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24168,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"7527:18:55","nodeType":"VariableDeclaration","scope":24179,"src":"7519:26:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24167,"name":"uint256","nodeType":"ElementaryTypeName","src":"7519:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7513:36:55"},"returnParameters":{"id":24170,"nodeType":"ParameterList","parameters":[],"src":"7559:0:55"},"scope":24381,"src":"7483:175:55","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":24193,"nodeType":"Block","src":"8241:78:55","statements":[{"expression":{"arguments":[{"id":24189,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24182,"src":"8276:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24190,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24185,"src":"8296:17:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":24188,"name":"_updateQuorumNumeratorByType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24380,"src":"8247:28:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType)"}},"id":24191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8247:67:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24192,"nodeType":"ExpressionStatement","src":"8247:67:55"}]},"documentation":{"id":24180,"nodeType":"StructuredDocumentation","src":"7661:442:55","text":" @notice Updates the quorum numerator for a specific proposal type to a new value at a specified time, emitting an event upon success.\n @dev This function should only be called from governance actions where numerators need updating.\n @dev New numerator must be smaller or equal to the denominator.\n @param newQuorumNumerator The new value for the quorum numerator.\n @param proposalTypeValue The type of proposal."},"functionSelector":"e4207db4","id":24194,"implemented":true,"kind":"function","modifiers":[],"name":"updateQuorumNumeratorByType","nameLocation":"8115:27:55","nodeType":"FunctionDefinition","parameters":{"id":24186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24182,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"8156:18:55","nodeType":"VariableDeclaration","scope":24194,"src":"8148:26:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24181,"name":"uint256","nodeType":"ElementaryTypeName","src":"8148:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24185,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"8210:17:55","nodeType":"VariableDeclaration","scope":24194,"src":"8180:47:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":24184,"nodeType":"UserDefinedTypeName","pathNode":{"id":24183,"name":"GovernorTypesV10.ProposalType","nameLocations":["8180:16:55","8197:12:55"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"8180:29:55"},"referencedDeclaration":25017,"src":"8180:29:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"8142:89:55"},"returnParameters":{"id":24187,"nodeType":"ParameterList","parameters":[],"src":"8241:0:55"},"scope":24381,"src":"8106:213:55","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":24237,"nodeType":"Block","src":"8681:343:55","statements":[{"assignments":[24206],"declarations":[{"constant":false,"id":24206,"mutability":"mutable","name":"$","nameLocation":"8735:1:55","nodeType":"VariableDeclaration","scope":24237,"src":"8687:49:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":24205,"nodeType":"UserDefinedTypeName","pathNode":{"id":24204,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["8687:23:55","8711:15:55"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"8687:39:55"},"referencedDeclaration":24891,"src":"8687:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":24210,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24207,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"8739:23:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":24208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8763:18:55","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"8739:42:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":24209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8739:44:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8687:96:55"},{"assignments":[24215],"declarations":[{"constant":false,"id":24215,"mutability":"mutable","name":"proposalType","nameLocation":"8819:12:55","nodeType":"VariableDeclaration","scope":24237,"src":"8789:42:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":24214,"nodeType":"UserDefinedTypeName","pathNode":{"id":24213,"name":"GovernorTypesV10.ProposalType","nameLocations":["8789:16:55","8806:12:55"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"8789:29:55"},"referencedDeclaration":25017,"src":"8789:29:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"id":24220,"initialValue":{"baseExpression":{"expression":{"id":24216,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24206,"src":"8834:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8836:12:55","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":24835,"src":"8834:14:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$25017_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalType)"}},"id":24219,"indexExpression":{"id":24218,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24197,"src":"8849:10:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8834:26:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"8789:71:55"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":24224,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24197,"src":"8944:10:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24222,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"8901:24:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":24223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8926:17:55","memberName":"_proposalSnapshot","nodeType":"MemberAccess","referencedDeclaration":23632,"src":"8901:42:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":24225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8901:54:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":24228,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24215,"src":"8963:12:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":24227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8957:5:55","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":24226,"name":"uint8","nodeType":"ElementaryTypeName","src":"8957:5:55","typeDescriptions":{}}},"id":24229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8957:19:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":24221,"name":"quorumByProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24165,"src":"8880:20:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint8) view returns (uint256)"}},"id":24230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8880:97:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"baseExpression":{"expression":{"id":24231,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24206,"src":"8987:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24232,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8989:18:55","memberName":"proposalTotalVotes","nodeType":"MemberAccess","referencedDeclaration":24822,"src":"8987:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":24234,"indexExpression":{"id":24233,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24197,"src":"9008:10:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8987:32:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8880:139:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":24201,"id":24236,"nodeType":"Return","src":"8867:152:55"}]},"documentation":{"id":24195,"nodeType":"StructuredDocumentation","src":"8391:207:55","text":" @dev Internal function to check if the quorum has been reached for a proposal.\n @param proposalId The ID of the proposal.\n @return True if the quorum has been reached, false otherwise."},"id":24238,"implemented":true,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"8610:13:55","nodeType":"FunctionDefinition","parameters":{"id":24198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24197,"mutability":"mutable","name":"proposalId","nameLocation":"8637:10:55","nodeType":"VariableDeclaration","scope":24238,"src":"8629:18:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24196,"name":"uint256","nodeType":"ElementaryTypeName","src":"8629:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8623:28:55"},"returnParameters":{"id":24201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24238,"src":"8675:4:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24199,"name":"bool","nodeType":"ElementaryTypeName","src":"8675:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8674:6:55"},"scope":24381,"src":"8601:423:55","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":24310,"nodeType":"Block","src":"9527:640:55","statements":[{"assignments":[24253],"declarations":[{"constant":false,"id":24253,"mutability":"mutable","name":"$","nameLocation":"9581:1:55","nodeType":"VariableDeclaration","scope":24310,"src":"9533:49:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":24252,"nodeType":"UserDefinedTypeName","pathNode":{"id":24251,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["9533:23:55","9557:15:55"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"9533:39:55"},"referencedDeclaration":24891,"src":"9533:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":24257,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24254,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"9585:23:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":24255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9609:18:55","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"9585:42:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":24256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9585:44:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9533:96:55"},{"assignments":[24259],"declarations":[{"constant":false,"id":24259,"mutability":"mutable","name":"length","nameLocation":"9643:6:55","nodeType":"VariableDeclaration","scope":24310,"src":"9635:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24258,"name":"uint256","nodeType":"ElementaryTypeName","src":"9635:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24266,"initialValue":{"expression":{"expression":{"baseExpression":{"expression":{"id":24260,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24253,"src":"9652:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9654:18:55","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":24851,"src":"9652:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":24263,"indexExpression":{"id":24262,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24244,"src":"9673:17:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9652:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":24264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9692:12:55","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"9652:52:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":24265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9705:6:55","memberName":"length","nodeType":"MemberAccess","src":"9652:59:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9635:76:55"},{"assignments":[24271],"declarations":[{"constant":false,"id":24271,"mutability":"mutable","name":"latest","nameLocation":"9806:6:55","nodeType":"VariableDeclaration","scope":24310,"src":"9772:40:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":24270,"nodeType":"UserDefinedTypeName","pathNode":{"id":24269,"name":"Checkpoints.Checkpoint208","nameLocations":["9772:11:55","9784:13:55"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"9772:25:55"},"referencedDeclaration":9414,"src":"9772:25:55","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":24281,"initialValue":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":24272,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24253,"src":"9815:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9817:18:55","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":24851,"src":"9815:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":24275,"indexExpression":{"id":24274,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24244,"src":"9836:17:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9815:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":24276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9855:12:55","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"9815:52:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":24280,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24277,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24259,"src":"9868:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":24278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9877:1:55","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9868:10:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9815:64:55","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9772:107:55"},{"assignments":[24283],"declarations":[{"constant":false,"id":24283,"mutability":"mutable","name":"latestKey","nameLocation":"9892:9:55","nodeType":"VariableDeclaration","scope":24310,"src":"9885:16:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":24282,"name":"uint48","nodeType":"ElementaryTypeName","src":"9885:6:55","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":24286,"initialValue":{"expression":{"id":24284,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24271,"src":"9904:6:55","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":24285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9911:4:55","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"9904:11:55","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"9885:30:55"},{"assignments":[24288],"declarations":[{"constant":false,"id":24288,"mutability":"mutable","name":"latestValue","nameLocation":"9929:11:55","nodeType":"VariableDeclaration","scope":24310,"src":"9921:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":24287,"name":"uint208","nodeType":"ElementaryTypeName","src":"9921:7:55","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":24291,"initialValue":{"expression":{"id":24289,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24271,"src":"9943:6:55","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":24290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9950:6:55","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"9943:13:55","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"9921:35:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24292,"name":"latestKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24283,"src":"9966:9:55","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":24293,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24241,"src":"9979:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9966:22:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24298,"nodeType":"IfStatement","src":"9962:61:55","trueBody":{"id":24297,"nodeType":"Block","src":"9990:33:55","statements":[{"expression":{"id":24295,"name":"latestValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24288,"src":"10005:11:55","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":24248,"id":24296,"nodeType":"Return","src":"9998:18:55"}]}},{"expression":{"arguments":[{"arguments":[{"id":24306,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24241,"src":"10151:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24304,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"10133:8:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":24305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10142:8:55","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"10133:17:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":24307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10133:28:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":24299,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24253,"src":"10075:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10077:18:55","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":24851,"src":"10075:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":24302,"indexExpression":{"id":24301,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24244,"src":"10096:17:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10075:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":24303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10115:17:55","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"10075:57:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":24308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10075:87:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":24248,"id":24309,"nodeType":"Return","src":"10068:94:55"}]},"documentation":{"id":24239,"nodeType":"StructuredDocumentation","src":"9027:345:55","text":" @notice Internal function to retrieve the quorum numerator for a specific proposal type at a given timepoint.\n @param timepoint The specific timepoint for which to fetch the numerator.\n @param proposalTypeValue The type of proposal.\n @return The quorum numerator at the given timepoint for the specified proposal type."},"id":24311,"implemented":true,"kind":"function","modifiers":[],"name":"_quorumNumeratorByProposalType","nameLocation":"9384:30:55","nodeType":"FunctionDefinition","parameters":{"id":24245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24241,"mutability":"mutable","name":"timepoint","nameLocation":"9428:9:55","nodeType":"VariableDeclaration","scope":24311,"src":"9420:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24240,"name":"uint256","nodeType":"ElementaryTypeName","src":"9420:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24244,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"9473:17:55","nodeType":"VariableDeclaration","scope":24311,"src":"9443:47:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":24243,"nodeType":"UserDefinedTypeName","pathNode":{"id":24242,"name":"GovernorTypesV10.ProposalType","nameLocations":["9443:16:55","9460:12:55"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"9443:29:55"},"referencedDeclaration":25017,"src":"9443:29:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"9414:80:55"},"returnParameters":{"id":24248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24247,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24311,"src":"9518:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24246,"name":"uint256","nodeType":"ElementaryTypeName","src":"9518:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9517:9:55"},"scope":24381,"src":"9375:792:55","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":24379,"nodeType":"Block","src":"10704:683:55","statements":[{"assignments":[24324],"declarations":[{"constant":false,"id":24324,"mutability":"mutable","name":"$","nameLocation":"10758:1:55","nodeType":"VariableDeclaration","scope":24379,"src":"10710:49:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":24323,"nodeType":"UserDefinedTypeName","pathNode":{"id":24322,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["10710:23:55","10734:15:55"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"10710:39:55"},"referencedDeclaration":24891,"src":"10710:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":24328,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24325,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"10762:23:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":24326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10786:18:55","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"10762:42:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":24327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10762:44:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10710:96:55"},{"assignments":[24330],"declarations":[{"constant":false,"id":24330,"mutability":"mutable","name":"denominator","nameLocation":"10820:11:55","nodeType":"VariableDeclaration","scope":24379,"src":"10812:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24329,"name":"uint256","nodeType":"ElementaryTypeName","src":"10812:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24333,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":24331,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23927,"src":"10834:17:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":24332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10834:19:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10812:41:55"},{"assignments":[24335],"declarations":[{"constant":false,"id":24335,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"10867:18:55","nodeType":"VariableDeclaration","scope":24379,"src":"10859:26:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24334,"name":"uint256","nodeType":"ElementaryTypeName","src":"10859:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24342,"initialValue":{"arguments":[{"arguments":[{"id":24339,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24317,"src":"10924:17:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":24338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10918:5:55","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":24337,"name":"uint8","nodeType":"ElementaryTypeName","src":"10918:5:55","typeDescriptions":{}}},"id":24340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10918:24:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":24336,"name":"quorumNumeratorByProposalType","nodeType":"Identifier","overloadedDeclarations":[24025,24085],"referencedDeclaration":24085,"src":"10888:29:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":24341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10888:55:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10859:84:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24343,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24314,"src":"10954:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":24344,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24330,"src":"10975:11:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10954:32:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24352,"nodeType":"IfStatement","src":"10950:122:55","trueBody":{"id":24351,"nodeType":"Block","src":"10988:84:55","statements":[{"errorCall":{"arguments":[{"id":24347,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24314,"src":"11033:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24348,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24330,"src":"11053:11:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24346,"name":"GovernorInvalidQuorumFraction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23901,"src":"11003:29:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":24349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11003:62:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24350,"nodeType":"RevertStatement","src":"10996:69:55"}]}},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24359,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"11130:21:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":24360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11152:5:55","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"11130:27:55","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":24361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11130:29:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":24364,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24314,"src":"11186:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24362,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"11167:8:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":24363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11176:9:55","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"11167:18:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":24365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11167:38:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":24353,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24324,"src":"11078:1:55","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11080:18:55","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":24851,"src":"11078:20:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":24357,"indexExpression":{"id":24355,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24317,"src":"11099:17:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11078:39:55","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":24358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11118:4:55","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"11078:44:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":24366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11078:133:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":24367,"nodeType":"ExpressionStatement","src":"11078:133:55"},{"eventCall":{"arguments":[{"id":24369,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24335,"src":"11245:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24370,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24314,"src":"11265:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24368,"name":"QuorumNumeratorUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23908,"src":"11222:22:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":24371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11222:62:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24372,"nodeType":"EmitStatement","src":"11217:67:55"},{"eventCall":{"arguments":[{"id":24374,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24335,"src":"11324:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24375,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24314,"src":"11344:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24376,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24317,"src":"11364:17:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":24373,"name":"QuorumNumeratorUpdatedByType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23918,"src":"11295:28:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,uint256,enum GovernorTypesV10.ProposalType)"}},"id":24377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11295:87:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24378,"nodeType":"EmitStatement","src":"11290:92:55"}]},"documentation":{"id":24312,"nodeType":"StructuredDocumentation","src":"10170:395:55","text":" @notice Internal function to update the quorum numerator for a specific proposal type.\n @dev This function should only be called from governance actions where numerators need updating.\n @dev New numerator must be smaller or equal to the denominator.\n @param newQuorumNumerator The new value for the quorum numerator.\n @param proposalTypeValue The type of proposal."},"id":24380,"implemented":true,"kind":"function","modifiers":[],"name":"_updateQuorumNumeratorByType","nameLocation":"10577:28:55","nodeType":"FunctionDefinition","parameters":{"id":24318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24314,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"10619:18:55","nodeType":"VariableDeclaration","scope":24380,"src":"10611:26:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24313,"name":"uint256","nodeType":"ElementaryTypeName","src":"10611:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24317,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"10673:17:55","nodeType":"VariableDeclaration","scope":24380,"src":"10643:47:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":24316,"nodeType":"UserDefinedTypeName","pathNode":{"id":24315,"name":"GovernorTypesV10.ProposalType","nameLocations":["10643:16:55","10660:12:55"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"10643:29:55"},"referencedDeclaration":25017,"src":"10643:29:55","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"10605:89:55"},"returnParameters":{"id":24319,"nodeType":"ParameterList","parameters":[],"src":"10704:0:55"},"scope":24381,"src":"10568:819:55","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":24382,"src":"1830:9559:55","usedErrors":[7025,8883,23901],"usedEvents":[23908,23918]}],"src":"1195:10195:55"},"id":55},"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol","exportedSymbols":{"GovernorClockLogicV10":[19614],"GovernorDepositLogicV10":[21225],"GovernorProposalLogicV10":[23874],"GovernorQuorumLogicV10":[24381],"GovernorStateLogicV10":[24718],"GovernorStorageTypesV10":[24892],"GovernorTypesV10":[25022],"GovernorVotesLogicV10":[26208]},"id":24719,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24383,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:56"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","file":"./GovernorTypesV10.sol","id":24385,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24719,"sourceUnit":25023,"src":"1220:58:56","symbolAliases":[{"foreign":{"id":24384,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"1229:16:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./GovernorStorageTypesV10.sol","id":24387,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24719,"sourceUnit":24893,"src":"1279:72:56","symbolAliases":[{"foreign":{"id":24386,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1288:23:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","file":"./GovernorProposalLogicV10.sol","id":24389,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24719,"sourceUnit":23875,"src":"1352:74:56","symbolAliases":[{"foreign":{"id":24388,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"1361:24:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol","file":"./GovernorVotesLogicV10.sol","id":24391,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24719,"sourceUnit":26209,"src":"1427:68:56","symbolAliases":[{"foreign":{"id":24390,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"1436:21:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol","file":"./GovernorQuorumLogicV10.sol","id":24393,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24719,"sourceUnit":24382,"src":"1496:70:56","symbolAliases":[{"foreign":{"id":24392,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"1505:22:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol","file":"./GovernorClockLogicV10.sol","id":24395,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24719,"sourceUnit":19615,"src":"1567:68:56","symbolAliases":[{"foreign":{"id":24394,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"1576:21:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol","file":"./GovernorDepositLogicV10.sol","id":24397,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24719,"sourceUnit":21226,"src":"1636:72:56","symbolAliases":[{"foreign":{"id":24396,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"1645:23:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorStateLogicV10","contractDependencies":[],"contractKind":"library","documentation":{"id":24398,"nodeType":"StructuredDocumentation","src":"1710:151:56","text":"@title GovernorStateLogicV10\n @notice Library for Governor state logic, managing the state transitions and validations of governance proposals."},"fullyImplemented":true,"id":24718,"linearizedBaseContracts":[24718],"name":"GovernorStateLogicV10","nameLocation":"1869:21:56","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":24399,"nodeType":"StructuredDocumentation","src":"1895:61:56","text":"@notice Bitmap representing all possible proposal states."},"id":24420,"mutability":"constant","name":"ALL_PROPOSAL_STATES_BITMAP","nameLocation":"1985:26:56","nodeType":"VariableDeclaration","scope":24718,"src":"1959:132:56","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24400,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1959:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":24403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2027:1:56","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":24413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"arguments":[{"expression":{"id":24407,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"2044:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2061:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"2044:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}],"id":24406,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2039:4:56","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":24409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2039:36:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_enum$_ProposalState_$24992","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2076:3:56","memberName":"max","nodeType":"MemberAccess","src":"2039:40:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"id":24405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2033:5:56","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":24404,"name":"uint8","nodeType":"ElementaryTypeName","src":"2033:5:56","typeDescriptions":{}}},"id":24411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2033:47:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":24412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2083:1:56","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2033:51:56","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":24414,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2032:53:56","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2027:58:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":24416,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2026:60:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":24417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2089:1:56","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2026:64:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2018:7:56","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":24401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2018:7:56","typeDescriptions":{}}},"id":24419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2018:73:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"documentation":{"id":24421,"nodeType":"StructuredDocumentation","src":"2096:121:56","text":"@dev Thrown when the `proposalId` does not exist.\n @param proposalId The ID of the proposal that does not exist."},"errorSelector":"6ad06075","id":24425,"name":"GovernorNonexistentProposal","nameLocation":"2226:27:56","nodeType":"ErrorDefinition","parameters":{"id":24424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24423,"mutability":"mutable","name":"proposalId","nameLocation":"2262:10:56","nodeType":"VariableDeclaration","scope":24425,"src":"2254:18:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24422,"name":"uint256","nodeType":"ElementaryTypeName","src":"2254:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2253:20:56"},"src":"2220:54:56"},{"documentation":{"id":24426,"nodeType":"StructuredDocumentation","src":"2278:269:56","text":"@dev Thrown when the current state of a proposal does not match the expected states.\n @param proposalId The ID of the proposal.\n @param current The current state of the proposal.\n @param expectedStates The expected states of the proposal as a bitmap."},"errorSelector":"31b75e4d","id":24435,"name":"GovernorUnexpectedProposalState","nameLocation":"2556:31:56","nodeType":"ErrorDefinition","parameters":{"id":24434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24428,"mutability":"mutable","name":"proposalId","nameLocation":"2601:10:56","nodeType":"VariableDeclaration","scope":24435,"src":"2593:18:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24427,"name":"uint256","nodeType":"ElementaryTypeName","src":"2593:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24431,"mutability":"mutable","name":"current","nameLocation":"2648:7:56","nodeType":"VariableDeclaration","scope":24435,"src":"2617:38:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"typeName":{"id":24430,"nodeType":"UserDefinedTypeName","pathNode":{"id":24429,"name":"GovernorTypesV10.ProposalState","nameLocations":["2617:16:56","2634:13:56"],"nodeType":"IdentifierPath","referencedDeclaration":24992,"src":"2617:30:56"},"referencedDeclaration":24992,"src":"2617:30:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"visibility":"internal"},{"constant":false,"id":24433,"mutability":"mutable","name":"expectedStates","nameLocation":"2669:14:56","nodeType":"VariableDeclaration","scope":24435,"src":"2661:22:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24432,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2661:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2587:100:56"},"src":"2550:138:56"},{"body":{"id":24450,"nodeType":"Block","src":"2985:43:56","statements":[{"expression":{"arguments":[{"arguments":[{"id":24446,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24438,"src":"3011:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24445,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24717,"src":"3004:6:56","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256) view returns (enum GovernorTypesV10.ProposalState)"}},"id":24447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3004:18:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"id":24444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2998:5:56","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":24443,"name":"uint8","nodeType":"ElementaryTypeName","src":"2998:5:56","typeDescriptions":{}}},"id":24448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2998:25:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":24442,"id":24449,"nodeType":"Return","src":"2991:32:56"}]},"documentation":{"id":24436,"nodeType":"StructuredDocumentation","src":"2749:160:56","text":" @notice Retrieves the current state of a proposal.\n @param proposalId The ID of the proposal.\n @return The current state of the proposal."},"functionSelector":"3e4f49e6","id":24451,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"2921:5:56","nodeType":"FunctionDefinition","parameters":{"id":24439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24438,"mutability":"mutable","name":"proposalId","nameLocation":"2940:10:56","nodeType":"VariableDeclaration","scope":24451,"src":"2932:18:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24437,"name":"uint256","nodeType":"ElementaryTypeName","src":"2932:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2926:28:56"},"returnParameters":{"id":24442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24451,"src":"2978:5:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":24440,"name":"uint8","nodeType":"ElementaryTypeName","src":"2978:5:56","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2977:7:56"},"scope":24718,"src":"2912:116:56","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":24491,"nodeType":"Block","src":"3499:266:56","statements":[{"assignments":[24466],"declarations":[{"constant":false,"id":24466,"mutability":"mutable","name":"currentState","nameLocation":"3536:12:56","nodeType":"VariableDeclaration","scope":24491,"src":"3505:43:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"typeName":{"id":24465,"nodeType":"UserDefinedTypeName","pathNode":{"id":24464,"name":"GovernorTypesV10.ProposalState","nameLocations":["3505:16:56","3522:13:56"],"nodeType":"IdentifierPath","referencedDeclaration":24992,"src":"3505:30:56"},"referencedDeclaration":24992,"src":"3505:30:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"visibility":"internal"}],"id":24470,"initialValue":{"arguments":[{"id":24468,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24454,"src":"3558:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24467,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24717,"src":"3551:6:56","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256) view returns (enum GovernorTypesV10.ProposalState)"}},"id":24469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3551:18:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"3505:64:56"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":24480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":24475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":24472,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24466,"src":"3597:12:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"id":24471,"name":"encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24512,"src":"3579:17:56","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":24473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3579:31:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":24474,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24456,"src":"3613:13:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3579:47:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":24478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3638:1:56","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":24477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3630:7:56","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":24476,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3630:7:56","typeDescriptions":{}}},"id":24479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3630:10:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3579:61:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24488,"nodeType":"IfStatement","src":"3575:161:56","trueBody":{"id":24487,"nodeType":"Block","src":"3642:94:56","statements":[{"errorCall":{"arguments":[{"id":24482,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24454,"src":"3689:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24483,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24466,"src":"3701:12:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},{"id":24484,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24456,"src":"3715:13:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":24481,"name":"GovernorUnexpectedProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24435,"src":"3657:31:56","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalState_$24992_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalState,bytes32) pure"}},"id":24485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3657:72:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24486,"nodeType":"RevertStatement","src":"3650:79:56"}]}},{"expression":{"id":24489,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24466,"src":"3748:12:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24461,"id":24490,"nodeType":"Return","src":"3741:19:56"}]},"documentation":{"id":24452,"nodeType":"StructuredDocumentation","src":"3100:257:56","text":" @dev Internal function to validate the current state of a proposal against expected states.\n @param proposalId The ID of the proposal.\n @param allowedStates The bitmap of allowed states.\n @return The current state of the proposal."},"id":24492,"implemented":true,"kind":"function","modifiers":[],"name":"validateStateBitmap","nameLocation":"3369:19:56","nodeType":"FunctionDefinition","parameters":{"id":24457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24454,"mutability":"mutable","name":"proposalId","nameLocation":"3402:10:56","nodeType":"VariableDeclaration","scope":24492,"src":"3394:18:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24453,"name":"uint256","nodeType":"ElementaryTypeName","src":"3394:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24456,"mutability":"mutable","name":"allowedStates","nameLocation":"3426:13:56","nodeType":"VariableDeclaration","scope":24492,"src":"3418:21:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3418:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3388:55:56"},"returnParameters":{"id":24461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24492,"src":"3467:30:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"typeName":{"id":24459,"nodeType":"UserDefinedTypeName","pathNode":{"id":24458,"name":"GovernorTypesV10.ProposalState","nameLocations":["3467:16:56","3484:13:56"],"nodeType":"IdentifierPath","referencedDeclaration":24992,"src":"3467:30:56"},"referencedDeclaration":24992,"src":"3467:30:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"visibility":"internal"}],"src":"3466:32:56"},"scope":24718,"src":"3360:405:56","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":24511,"nodeType":"Block","src":"4131:52:56","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":24503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4152:1:56","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"id":24506,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24496,"src":"4163:13:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"id":24505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4157:5:56","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":24504,"name":"uint8","nodeType":"ElementaryTypeName","src":"4157:5:56","typeDescriptions":{}}},"id":24507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4157:20:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4152:25:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4144:7:56","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":24501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4144:7:56","typeDescriptions":{}}},"id":24509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4144:34:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":24500,"id":24510,"nodeType":"Return","src":"4137:41:56"}]},"documentation":{"id":24493,"nodeType":"StructuredDocumentation","src":"3769:254:56","text":" @dev Encodes a `ProposalState` into a `bytes32` representation where each bit enabled corresponds to the underlying position in the `ProposalState` enum.\n @param proposalState The state to encode.\n @return The encoded state bitmap."},"id":24512,"implemented":true,"kind":"function","modifiers":[],"name":"encodeStateBitmap","nameLocation":"4035:17:56","nodeType":"FunctionDefinition","parameters":{"id":24497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24496,"mutability":"mutable","name":"proposalState","nameLocation":"4084:13:56","nodeType":"VariableDeclaration","scope":24512,"src":"4053:44:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"typeName":{"id":24495,"nodeType":"UserDefinedTypeName","pathNode":{"id":24494,"name":"GovernorTypesV10.ProposalState","nameLocations":["4053:16:56","4070:13:56"],"nodeType":"IdentifierPath","referencedDeclaration":24992,"src":"4053:30:56"},"referencedDeclaration":24992,"src":"4053:30:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"visibility":"internal"}],"src":"4052:46:56"},"returnParameters":{"id":24500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24512,"src":"4122:7:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4122:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4121:9:56"},"scope":24718,"src":"4026:157:56","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24716,"nodeType":"Block","src":"4489:2252:56","statements":[{"assignments":[24525],"declarations":[{"constant":false,"id":24525,"mutability":"mutable","name":"$","nameLocation":"4543:1:56","nodeType":"VariableDeclaration","scope":24716,"src":"4495:49:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":24524,"nodeType":"UserDefinedTypeName","pathNode":{"id":24523,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["4495:23:56","4519:15:56"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"4495:39:56"},"referencedDeclaration":24891,"src":"4495:39:56","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":24529,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24526,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"4547:23:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":24527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4571:18:56","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"4547:42:56","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":24528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:44:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4495:96:56"},{"assignments":[24534],"declarations":[{"constant":false,"id":24534,"mutability":"mutable","name":"proposal","nameLocation":"4672:8:56","nodeType":"VariableDeclaration","scope":24716,"src":"4634:46:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"},"typeName":{"id":24533,"nodeType":"UserDefinedTypeName","pathNode":{"id":24532,"name":"GovernorTypesV10.ProposalCore","nameLocations":["4634:16:56","4651:12:56"],"nodeType":"IdentifierPath","referencedDeclaration":24981,"src":"4634:29:56"},"referencedDeclaration":24981,"src":"4634:29:56","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"}},"visibility":"internal"}],"id":24539,"initialValue":{"baseExpression":{"expression":{"id":24535,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24525,"src":"4683:1:56","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24536,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4685:9:56","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"4683:11:56","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":24538,"indexExpression":{"id":24537,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24515,"src":"4695:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4683:23:56","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4634:72:56"},{"assignments":[24544],"declarations":[{"constant":false,"id":24544,"mutability":"mutable","name":"proposalDevelopmentState","nameLocation":"4754:24:56","nodeType":"VariableDeclaration","scope":24716,"src":"4712:66:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"},"typeName":{"id":24543,"nodeType":"UserDefinedTypeName","pathNode":{"id":24542,"name":"GovernorTypesV10.ProposalDevelopmentState","nameLocations":["4712:16:56","4729:24:56"],"nodeType":"IdentifierPath","referencedDeclaration":25021,"src":"4712:41:56"},"referencedDeclaration":25021,"src":"4712:41:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"visibility":"internal"}],"id":24549,"initialValue":{"baseExpression":{"expression":{"id":24545,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24525,"src":"4781:1:56","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24546,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4783:24:56","memberName":"proposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":24877,"src":"4781:26:56","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalDevelopmentState)"}},"id":24548,"indexExpression":{"id":24547,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24515,"src":"4808:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4781:38:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"nodeType":"VariableDeclarationStatement","src":"4712:107:56"},{"assignments":[24551],"declarations":[{"constant":false,"id":24551,"mutability":"mutable","name":"proposalExecuted","nameLocation":"4830:16:56","nodeType":"VariableDeclaration","scope":24716,"src":"4825:21:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24550,"name":"bool","nodeType":"ElementaryTypeName","src":"4825:4:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":24554,"initialValue":{"expression":{"id":24552,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24534,"src":"4849:8:56","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":24553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4858:8:56","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":24972,"src":"4849:17:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4825:41:56"},{"assignments":[24556],"declarations":[{"constant":false,"id":24556,"mutability":"mutable","name":"proposalCanceled","nameLocation":"4877:16:56","nodeType":"VariableDeclaration","scope":24716,"src":"4872:21:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24555,"name":"bool","nodeType":"ElementaryTypeName","src":"4872:4:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":24559,"initialValue":{"expression":{"id":24557,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24534,"src":"4896:8:56","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":24558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4905:8:56","memberName":"canceled","nodeType":"MemberAccess","referencedDeclaration":24974,"src":"4896:17:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4872:41:56"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"},"id":24564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24560,"name":"proposalDevelopmentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24544,"src":"4924:24:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":24561,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"4952:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4969:24:56","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":25021,"src":"4952:41:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"type(enum GovernorTypesV10.ProposalDevelopmentState)"}},"id":24563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4994:13:56","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":25019,"src":"4952:55:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"src":"4924:83:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24570,"nodeType":"IfStatement","src":"4920:155:56","trueBody":{"id":24569,"nodeType":"Block","src":"5009:66:56","statements":[{"expression":{"expression":{"expression":{"id":24565,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5024:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5041:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"5024:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5055:13:56","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":24990,"src":"5024:44:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24568,"nodeType":"Return","src":"5017:51:56"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"},"id":24575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24571,"name":"proposalDevelopmentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24544,"src":"5085:24:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":24572,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5113:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5130:24:56","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":25021,"src":"5113:41:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"type(enum GovernorTypesV10.ProposalDevelopmentState)"}},"id":24574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5155:9:56","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":25020,"src":"5113:51:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}},"src":"5085:79:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24581,"nodeType":"IfStatement","src":"5081:147:56","trueBody":{"id":24580,"nodeType":"Block","src":"5166:62:56","statements":[{"expression":{"expression":{"expression":{"id":24576,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5181:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5198:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"5181:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5212:9:56","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":24991,"src":"5181:40:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24579,"nodeType":"Return","src":"5174:47:56"}]}},{"condition":{"id":24582,"name":"proposalExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24551,"src":"5238:16:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24588,"nodeType":"IfStatement","src":"5234:83:56","trueBody":{"id":24587,"nodeType":"Block","src":"5256:61:56","statements":[{"expression":{"expression":{"expression":{"id":24583,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5271:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5288:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"5271:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5302:8:56","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":24988,"src":"5271:39:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24586,"nodeType":"Return","src":"5264:46:56"}]}},{"condition":{"id":24589,"name":"proposalCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24556,"src":"5327:16:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24595,"nodeType":"IfStatement","src":"5323:83:56","trueBody":{"id":24594,"nodeType":"Block","src":"5345:61:56","statements":[{"expression":{"expression":{"expression":{"id":24590,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5360:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5377:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"5360:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5391:8:56","memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":24984,"src":"5360:39:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24593,"nodeType":"Return","src":"5353:46:56"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":24596,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24534,"src":"5416:8:56","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":24597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5425:16:56","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"5416:25:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":24598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5445:1:56","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5416:30:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24605,"nodeType":"IfStatement","src":"5412:97:56","trueBody":{"id":24604,"nodeType":"Block","src":"5448:61:56","statements":[{"errorCall":{"arguments":[{"id":24601,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24515,"src":"5491:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":24600,"name":"GovernorNonexistentProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24425,"src":"5463:27:56","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":24602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5463:39:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24603,"nodeType":"RevertStatement","src":"5456:46:56"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":24606,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24525,"src":"5559:1:56","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5561:17:56","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"5559:19:56","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":24608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5579:14:56","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"5559:34:56","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":24609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5559:36:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":24610,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24534,"src":"5598:8:56","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore storage pointer"}},"id":24611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5607:16:56","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"5598:25:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5559:64:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24618,"nodeType":"IfStatement","src":"5555:130:56","trueBody":{"id":24617,"nodeType":"Block","src":"5625:60:56","statements":[{"expression":{"expression":{"expression":{"id":24613,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5640:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5657:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"5640:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5671:7:56","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":24982,"src":"5640:38:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24616,"nodeType":"Return","src":"5633:45:56"}]}},{"assignments":[24620],"declarations":[{"constant":false,"id":24620,"mutability":"mutable","name":"currentTimepoint","nameLocation":"5699:16:56","nodeType":"VariableDeclaration","scope":24716,"src":"5691:24:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24619,"name":"uint256","nodeType":"ElementaryTypeName","src":"5691:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24624,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":24621,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"5718:21:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":24622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5740:5:56","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"5718:27:56","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":24623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5718:29:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"5691:56:56"},{"assignments":[24626],"declarations":[{"constant":false,"id":24626,"mutability":"mutable","name":"deadline","nameLocation":"5761:8:56","nodeType":"VariableDeclaration","scope":24716,"src":"5753:16:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24625,"name":"uint256","nodeType":"ElementaryTypeName","src":"5753:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":24631,"initialValue":{"arguments":[{"id":24629,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24515,"src":"5815:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24627,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"5772:24:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":24628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5797:17:56","memberName":"_proposalDeadline","nodeType":"MemberAccess","referencedDeclaration":23690,"src":"5772:42:56","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":24630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5772:54:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5753:73:56"},{"condition":{"id":24636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5837:59:56","subExpression":{"arguments":[{"id":24634,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24515,"src":"5885:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24632,"name":"GovernorDepositLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"5838:23:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogicV10_$21225_$","typeString":"type(library GovernorDepositLogicV10)"}},"id":24633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5862:22:56","memberName":"proposalDepositReached","nodeType":"MemberAccess","referencedDeclaration":21127,"src":"5838:46:56","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":24635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5838:58:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":24642,"nodeType":"IfStatement","src":"5833:131:56","trueBody":{"id":24641,"nodeType":"Block","src":"5898:66:56","statements":[{"expression":{"expression":{"expression":{"id":24637,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5913:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5930:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"5913:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5944:13:56","memberName":"DepositNotMet","nodeType":"MemberAccess","referencedDeclaration":24989,"src":"5913:44:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24640,"nodeType":"Return","src":"5906:51:56"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24643,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24626,"src":"5974:8:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":24644,"name":"currentTimepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24620,"src":"5986:16:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5974:28:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":24661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":24655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6080:49:56","subExpression":{"arguments":[{"id":24653,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24515,"src":"6118:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24651,"name":"GovernorQuorumLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"6081:22:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogicV10_$24381_$","typeString":"type(library GovernorQuorumLogicV10)"}},"id":24652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6104:13:56","memberName":"quorumReached","nodeType":"MemberAccess","referencedDeclaration":24238,"src":"6081:36:56","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":24654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6081:48:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":24660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6133:48:56","subExpression":{"arguments":[{"id":24658,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24515,"src":"6170:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24656,"name":"GovernorVotesLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26208,"src":"6134:21:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogicV10_$26208_$","typeString":"type(library GovernorVotesLogicV10)"}},"id":24657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6156:13:56","memberName":"voteSucceeded","nodeType":"MemberAccess","referencedDeclaration":25308,"src":"6134:35:56","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":24659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6134:47:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6080:101:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":24672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":24669,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24515,"src":"6296:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24667,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"6259:24:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":24668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6284:11:56","memberName":"proposalEta","nodeType":"MemberAccess","referencedDeclaration":21803,"src":"6259:36:56","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":24670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6259:48:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":24671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6311:1:56","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6259:53:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":24712,"nodeType":"Block","src":"6382:355:56","statements":[{"assignments":[24679],"declarations":[{"constant":false,"id":24679,"mutability":"mutable","name":"queueid","nameLocation":"6398:7:56","nodeType":"VariableDeclaration","scope":24712,"src":"6390:15:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6390:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":24684,"initialValue":{"baseExpression":{"expression":{"id":24680,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24525,"src":"6408:1:56","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6410:11:56","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":24781,"src":"6408:13:56","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":24683,"indexExpression":{"id":24682,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24515,"src":"6422:10:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6408:25:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6390:43:56"},{"condition":{"arguments":[{"id":24688,"name":"queueid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24679,"src":"6475:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":24685,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24525,"src":"6445:1:56","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24686,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6447:8:56","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"6445:10:56","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":24687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6456:18:56","memberName":"isOperationPending","nodeType":"MemberAccess","referencedDeclaration":722,"src":"6445:29:56","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":24689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6445:38:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"id":24698,"name":"queueid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24679,"src":"6585:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":24695,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24525,"src":"6558:1:56","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":24696,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6560:8:56","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":24777,"src":"6558:10:56","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":24697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6569:15:56","memberName":"isOperationDone","nodeType":"MemberAccess","referencedDeclaration":754,"src":"6558:26:56","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":24699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6558:35:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":24709,"nodeType":"Block","src":"6666:65:56","statements":[{"expression":{"expression":{"expression":{"id":24705,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"6683:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6700:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"6683:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6714:8:56","memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":24984,"src":"6683:39:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24708,"nodeType":"Return","src":"6676:46:56"}]},"id":24710,"nodeType":"IfStatement","src":"6554:177:56","trueBody":{"id":24704,"nodeType":"Block","src":"6595:65:56","statements":[{"expression":{"expression":{"expression":{"id":24700,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"6612:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6629:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"6612:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6643:8:56","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":24988,"src":"6612:39:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24703,"nodeType":"Return","src":"6605:46:56"}]}},"id":24711,"nodeType":"IfStatement","src":"6441:290:56","trueBody":{"id":24694,"nodeType":"Block","src":"6485:63:56","statements":[{"expression":{"expression":{"expression":{"id":24690,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"6502:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6519:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"6502:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6533:6:56","memberName":"Queued","nodeType":"MemberAccess","referencedDeclaration":24987,"src":"6502:37:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24693,"nodeType":"Return","src":"6495:44:56"}]}}]},"id":24713,"nodeType":"IfStatement","src":"6255:482:56","trueBody":{"id":24677,"nodeType":"Block","src":"6314:62:56","statements":[{"expression":{"expression":{"expression":{"id":24673,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"6329:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6346:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"6329:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6360:9:56","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":24986,"src":"6329:40:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24676,"nodeType":"Return","src":"6322:47:56"}]}},"id":24714,"nodeType":"IfStatement","src":"6069:668:56","trueBody":{"id":24666,"nodeType":"Block","src":"6188:61:56","statements":[{"expression":{"expression":{"expression":{"id":24662,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"6203:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6220:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"6203:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6234:8:56","memberName":"Defeated","nodeType":"MemberAccess","referencedDeclaration":24985,"src":"6203:39:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24665,"nodeType":"Return","src":"6196:46:56"}]}},"id":24715,"nodeType":"IfStatement","src":"5970:767:56","trueBody":{"id":24650,"nodeType":"Block","src":"6004:59:56","statements":[{"expression":{"expression":{"expression":{"id":24646,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"6019:16:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":24647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6036:13:56","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"6019:30:56","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":24648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6050:6:56","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":24983,"src":"6019:37:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"functionReturnParameters":24520,"id":24649,"nodeType":"Return","src":"6012:44:56"}]}}]},"documentation":{"id":24513,"nodeType":"StructuredDocumentation","src":"4187:200:56","text":" @notice Retrieves the current state of a proposal.\n @dev See {IB3TRGovernorV10-state}.\n @param proposalId The ID of the proposal.\n @return The current state of the proposal."},"id":24717,"implemented":true,"kind":"function","modifiers":[],"name":"_state","nameLocation":"4399:6:56","nodeType":"FunctionDefinition","parameters":{"id":24516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24515,"mutability":"mutable","name":"proposalId","nameLocation":"4419:10:56","nodeType":"VariableDeclaration","scope":24717,"src":"4411:18:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24514,"name":"uint256","nodeType":"ElementaryTypeName","src":"4411:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4405:28:56"},"returnParameters":{"id":24520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24717,"src":"4457:30:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"typeName":{"id":24518,"nodeType":"UserDefinedTypeName","pathNode":{"id":24517,"name":"GovernorTypesV10.ProposalState","nameLocations":["4457:16:56","4474:13:56"],"nodeType":"IdentifierPath","referencedDeclaration":24992,"src":"4457:30:56"},"referencedDeclaration":24992,"src":"4457:30:56","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"visibility":"internal"}],"src":"4456:32:56"},"scope":24718,"src":"4390:2351:56","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":24719,"src":"1861:4882:56","usedErrors":[7025,24425,24435],"usedEvents":[]}],"src":"1195:5549:56"},"id":56},"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","exportedSymbols":{"Checkpoints":[10447],"DoubleEndedQueue":[10781],"GovernorStorageTypesV10":[24892],"GovernorTypesV10":[25022],"IB3TR":[62888],"IGalaxyMember":[65196],"IGrantsManager":[65639],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"IVOT3":[67719],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"TimelockControllerUpgradeable":[1478]},"id":24893,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24720,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:57"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","file":"./GovernorTypesV10.sol","id":24722,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":25023,"src":"1220:58:57","symbolAliases":[{"foreign":{"id":24721,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"1229:16:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../../interfaces/IVoterRewards.sol","id":24724,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":69093,"src":"1279:73:57","symbolAliases":[{"foreign":{"id":24723,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1288:13:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../../../interfaces/IXAllocationVotingGovernor.sol","id":24726,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":71125,"src":"1353:99:57","symbolAliases":[{"foreign":{"id":24725,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1362:26:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../../../interfaces/IB3TR.sol","id":24728,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":62889,"src":"1453:57:57","symbolAliases":[{"foreign":{"id":24727,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"1462:5:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../../../../interfaces/IVOT3.sol","id":24730,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":67720,"src":"1511:57:57","symbolAliases":[{"foreign":{"id":24729,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"1520:5:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","file":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","id":24732,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":10782,"src":"1569:94:57","symbolAliases":[{"foreign":{"id":24731,"name":"DoubleEndedQueue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10781,"src":"1578:16:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","id":24734,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":1479,"src":"1664:129:57","symbolAliases":[{"foreign":{"id":24733,"name":"TimelockControllerUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1478,"src":"1673:29:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":24736,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":10448,"src":"1794:84:57","symbolAliases":[{"foreign":{"id":24735,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1803:11:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../../../interfaces/IVeBetterPassport.sol","id":24738,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":68602,"src":"1879:81:57","symbolAliases":[{"foreign":{"id":24737,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"1888:17:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../../../interfaces/IGrantsManager.sol","id":24740,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":65640,"src":"1961:75:57","symbolAliases":[{"foreign":{"id":24739,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"1970:14:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../../../../interfaces/IGalaxyMember.sol","id":24742,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":65197,"src":"2037:73:57","symbolAliases":[{"foreign":{"id":24741,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"2046:13:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../../../../interfaces/INavigatorRegistry.sol","id":24744,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":66639,"src":"2111:83:57","symbolAliases":[{"foreign":{"id":24743,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"2120:18:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../../../interfaces/IRelayerRewardsPool.sol","id":24746,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":24893,"sourceUnit":67118,"src":"2195:85:57","symbolAliases":[{"foreign":{"id":24745,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"2204:19:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorStorageTypesV10","contractDependencies":[],"contractKind":"library","documentation":{"id":24747,"nodeType":"StructuredDocumentation","src":"2282:113:57","text":"@title GovernorStorageTypesV10\n @notice Library for defining storage types used in the Governor contract."},"fullyImplemented":true,"id":24892,"linearizedBaseContracts":[24892],"name":"GovernorStorageTypesV10","nameLocation":"2403:23:57","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":24750,"mutability":"constant","name":"GovernorStorageLocation","nameLocation":"2560:23:57","nodeType":"VariableDeclaration","scope":24892,"src":"2535:117:57","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":24748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2535:7:57","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307864303961306161663461623330383762616537666132356566373464646434653561343935303938303930336365343137653636323238636637646337623030","id":24749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2586:66:57","typeDescriptions":{"typeIdentifier":"t_rational_94353240696616174169687007378791076814963636177804774402586331459722613127936_by_1","typeString":"int_const 9435...(69 digits omitted)...7936"},"value":"0xd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b00"},"visibility":"private"},{"body":{"id":24758,"nodeType":"Block","src":"2783:66:57","statements":[{"AST":{"nodeType":"YulBlock","src":"2798:47:57","statements":[{"nodeType":"YulAssignment","src":"2806:33:57","value":{"name":"GovernorStorageLocation","nodeType":"YulIdentifier","src":"2816:23:57"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2806:6:57"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24755,"isOffset":false,"isSlot":true,"src":"2806:6:57","suffix":"slot","valueSize":1},{"declaration":24750,"isOffset":false,"isSlot":false,"src":"2816:23:57","valueSize":1}],"id":24757,"nodeType":"InlineAssembly","src":"2789:56:57"}]},"documentation":{"id":24751,"nodeType":"StructuredDocumentation","src":"2657:43:57","text":"@dev Returns the governor storage slot."},"id":24759,"implemented":true,"kind":"function","modifiers":[],"name":"getGovernorStorage","nameLocation":"2712:18:57","nodeType":"FunctionDefinition","parameters":{"id":24752,"nodeType":"ParameterList","parameters":[],"src":"2730:2:57"},"returnParameters":{"id":24756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24755,"mutability":"mutable","name":"$","nameLocation":"2780:1:57","nodeType":"VariableDeclaration","scope":24759,"src":"2756:25:57","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":24754,"nodeType":"UserDefinedTypeName","pathNode":{"id":24753,"name":"GovernorStorage","nameLocations":["2756:15:57"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"2756:15:57"},"referencedDeclaration":24891,"src":"2756:15:57","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"src":"2755:27:57"},"scope":24892,"src":"2703:146:57","stateMutability":"pure","virtual":false,"visibility":"internal"},{"canonicalName":"GovernorStorageTypesV10.GovernorStorage","id":24891,"members":[{"constant":false,"id":24761,"mutability":"mutable","name":"name","nameLocation":"3058:4:57","nodeType":"VariableDeclaration","scope":24891,"src":"3051:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":24760,"name":"string","nodeType":"ElementaryTypeName","src":"3051:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24766,"mutability":"mutable","name":"proposals","nameLocation":"3153:9:57","nodeType":"VariableDeclaration","scope":24891,"src":"3092:70:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore)"},"typeName":{"id":24765,"keyName":"proposalId","keyNameLocation":"3108:10:57","keyType":{"id":24762,"name":"uint256","nodeType":"ElementaryTypeName","src":"3100:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3092:60:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24764,"nodeType":"UserDefinedTypeName","pathNode":{"id":24763,"name":"GovernorTypesV10.ProposalCore","nameLocations":["3122:16:57","3139:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":24981,"src":"3122:29:57"},"referencedDeclaration":24981,"src":"3122:29:57","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage_ptr","typeString":"struct GovernorTypesV10.ProposalCore"}}},"visibility":"internal"},{"constant":false,"id":24769,"mutability":"mutable","name":"governanceCall","nameLocation":"3641:14:57","nodeType":"VariableDeclaration","scope":24891,"src":"3611:44:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":24768,"nodeType":"UserDefinedTypeName","pathNode":{"id":24767,"name":"DoubleEndedQueue.Bytes32Deque","nameLocations":["3611:16:57","3628:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"3611:29:57"},"referencedDeclaration":10469,"src":"3611:29:57","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"},{"constant":false,"id":24771,"mutability":"mutable","name":"minVotingDelay","nameLocation":"3710:14:57","nodeType":"VariableDeclaration","scope":24891,"src":"3702:22:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24770,"name":"uint256","nodeType":"ElementaryTypeName","src":"3702:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24774,"mutability":"mutable","name":"quorumNumeratorHistory_DEPRECATED","nameLocation":"3971:33:57","nodeType":"VariableDeclaration","scope":24891,"src":"3950:54:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":24773,"nodeType":"UserDefinedTypeName","pathNode":{"id":24772,"name":"Checkpoints.Trace208","nameLocations":["3950:11:57","3962:8:57"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"3950:20:57"},"referencedDeclaration":9409,"src":"3950:20:57","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":24777,"mutability":"mutable","name":"timelock","nameLocation":"4153:8:57","nodeType":"VariableDeclaration","scope":24891,"src":"4123:38:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"},"typeName":{"id":24776,"nodeType":"UserDefinedTypeName","pathNode":{"id":24775,"name":"TimelockControllerUpgradeable","nameLocations":["4123:29:57"],"nodeType":"IdentifierPath","referencedDeclaration":1478,"src":"4123:29:57"},"referencedDeclaration":1478,"src":"4123:29:57","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"visibility":"internal"},{"constant":false,"id":24781,"mutability":"mutable","name":"timelockIds","nameLocation":"4249:11:57","nodeType":"VariableDeclaration","scope":24891,"src":"4210:50:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"typeName":{"id":24780,"keyName":"proposalId","keyNameLocation":"4226:10:57","keyType":{"id":24778,"name":"uint256","nodeType":"ElementaryTypeName","src":"4218:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4210:38:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4240:7:57","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"internal"},{"constant":false,"id":24787,"mutability":"mutable","name":"whitelistedFunctions","nameLocation":"4524:20:57","nodeType":"VariableDeclaration","scope":24891,"src":"4480:64:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"},"typeName":{"id":24786,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24782,"name":"address","nodeType":"ElementaryTypeName","src":"4488:7:57","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4480:43:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24785,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24783,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4507:6:57","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"4499:23:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24784,"name":"bool","nodeType":"ElementaryTypeName","src":"4517:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"},{"constant":false,"id":24789,"mutability":"mutable","name":"isFunctionRestrictionEnabled","nameLocation":"4607:28:57","nodeType":"VariableDeclaration","scope":24891,"src":"4602:33:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24788,"name":"bool","nodeType":"ElementaryTypeName","src":"4602:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24792,"mutability":"mutable","name":"voterRewards","nameLocation":"4783:12:57","nodeType":"VariableDeclaration","scope":24891,"src":"4769:26:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":24791,"nodeType":"UserDefinedTypeName","pathNode":{"id":24790,"name":"IVoterRewards","nameLocations":["4769:13:57"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"4769:13:57"},"referencedDeclaration":69092,"src":"4769:13:57","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"},{"constant":false,"id":24795,"mutability":"mutable","name":"xAllocationVoting","nameLocation":"4870:17:57","nodeType":"VariableDeclaration","scope":24891,"src":"4843:44:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":24794,"nodeType":"UserDefinedTypeName","pathNode":{"id":24793,"name":"IXAllocationVotingGovernor","nameLocations":["4843:26:57"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"4843:26:57"},"referencedDeclaration":71124,"src":"4843:26:57","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":24798,"mutability":"mutable","name":"b3tr","nameLocation":"4920:4:57","nodeType":"VariableDeclaration","scope":24891,"src":"4914:10:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":24797,"nodeType":"UserDefinedTypeName","pathNode":{"id":24796,"name":"IB3TR","nameLocations":["4914:5:57"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"4914:5:57"},"referencedDeclaration":62888,"src":"4914:5:57","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":24801,"mutability":"mutable","name":"vot3","nameLocation":"4957:4:57","nodeType":"VariableDeclaration","scope":24891,"src":"4951:10:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"},"typeName":{"id":24800,"nodeType":"UserDefinedTypeName","pathNode":{"id":24799,"name":"IVOT3","nameLocations":["4951:5:57"],"nodeType":"IdentifierPath","referencedDeclaration":67719,"src":"4951:5:57"},"referencedDeclaration":67719,"src":"4951:5:57","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"visibility":"internal"},{"constant":false,"id":24807,"mutability":"mutable","name":"deposits","nameLocation":"5189:8:57","nodeType":"VariableDeclaration","scope":24891,"src":"5118:79:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"typeName":{"id":24806,"keyName":"proposalId","keyNameLocation":"5134:10:57","keyType":{"id":24802,"name":"uint256","nodeType":"ElementaryTypeName","src":"5126:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5118:70:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24805,"keyName":"user","keyNameLocation":"5164:4:57","keyType":{"id":24803,"name":"address","nodeType":"ElementaryTypeName","src":"5156:7:57","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5148:39:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"amount","valueNameLocation":"5180:6:57","valueType":{"id":24804,"name":"uint256","nodeType":"ElementaryTypeName","src":"5172:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":24809,"mutability":"mutable","name":"depositThresholdPercentage_DEPRECATED","nameLocation":"5445:37:57","nodeType":"VariableDeclaration","scope":24891,"src":"5437:45:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24808,"name":"uint256","nodeType":"ElementaryTypeName","src":"5437:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24814,"mutability":"mutable","name":"proposalVotes","nameLocation":"5673:13:57","nodeType":"VariableDeclaration","scope":24891,"src":"5623:63:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$24962_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalVote)"},"typeName":{"id":24813,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24810,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5623:49:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$24962_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalVote)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24812,"nodeType":"UserDefinedTypeName","pathNode":{"id":24811,"name":"GovernorTypesV10.ProposalVote","nameLocations":["5642:16:57","5659:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":24962,"src":"5642:29:57"},"referencedDeclaration":24962,"src":"5642:29:57","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote"}}},"visibility":"internal"},{"constant":false,"id":24818,"mutability":"mutable","name":"hasVotedOnce","nameLocation":"5781:12:57","nodeType":"VariableDeclaration","scope":24891,"src":"5756:37:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":24817,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24815,"name":"address","nodeType":"ElementaryTypeName","src":"5764:7:57","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5756:24:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24816,"name":"bool","nodeType":"ElementaryTypeName","src":"5775:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":24822,"mutability":"mutable","name":"proposalTotalVotes","nameLocation":"5882:18:57","nodeType":"VariableDeclaration","scope":24891,"src":"5854:46:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":24821,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24819,"name":"uint256","nodeType":"ElementaryTypeName","src":"5862:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5854:27:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24820,"name":"uint256","nodeType":"ElementaryTypeName","src":"5873:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":24824,"mutability":"mutable","name":"votingThreshold_DEPRECATED","nameLocation":"6071:26:57","nodeType":"VariableDeclaration","scope":24891,"src":"6063:34:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24823,"name":"uint256","nodeType":"ElementaryTypeName","src":"6063:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24827,"mutability":"mutable","name":"quadraticVotingDisabled","nameLocation":"6358:23:57","nodeType":"VariableDeclaration","scope":24891,"src":"6337:44:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":24826,"nodeType":"UserDefinedTypeName","pathNode":{"id":24825,"name":"Checkpoints.Trace208","nameLocations":["6337:11:57","6349:8:57"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"6337:20:57"},"referencedDeclaration":9409,"src":"6337:20:57","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":24830,"mutability":"mutable","name":"veBetterPassport","nameLocation":"6567:16:57","nodeType":"VariableDeclaration","scope":24891,"src":"6549:34:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":24829,"nodeType":"UserDefinedTypeName","pathNode":{"id":24828,"name":"IVeBetterPassport","nameLocations":["6549:17:57"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"6549:17:57"},"referencedDeclaration":68601,"src":"6549:17:57","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"},{"constant":false,"id":24835,"mutability":"mutable","name":"proposalType","nameLocation":"6781:12:57","nodeType":"VariableDeclaration","scope":24891,"src":"6731:62:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$25017_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalType)"},"typeName":{"id":24834,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24831,"name":"uint256","nodeType":"ElementaryTypeName","src":"6739:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6731:49:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$25017_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalType)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24833,"nodeType":"UserDefinedTypeName","pathNode":{"id":24832,"name":"GovernorTypesV10.ProposalType","nameLocations":["6750:16:57","6767:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"6750:29:57"},"referencedDeclaration":25017,"src":"6750:29:57","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}},"visibility":"internal"},{"constant":false,"id":24840,"mutability":"mutable","name":"proposalTypeDepositThresholdPercentage","nameLocation":"6929:38:57","nodeType":"VariableDeclaration","scope":24891,"src":"6879:88:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"},"typeName":{"id":24839,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24837,"nodeType":"UserDefinedTypeName","pathNode":{"id":24836,"name":"GovernorTypesV10.ProposalType","nameLocations":["6887:16:57","6904:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"6887:29:57"},"referencedDeclaration":25017,"src":"6887:29:57","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"Mapping","src":"6879:49:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24838,"name":"uint256","nodeType":"ElementaryTypeName","src":"6920:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":24845,"mutability":"mutable","name":"proposalTypeVotingThreshold","nameLocation":"7091:27:57","nodeType":"VariableDeclaration","scope":24891,"src":"7041:77:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"},"typeName":{"id":24844,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24842,"nodeType":"UserDefinedTypeName","pathNode":{"id":24841,"name":"GovernorTypesV10.ProposalType","nameLocations":["7049:16:57","7066:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"7049:29:57"},"referencedDeclaration":25017,"src":"7049:29:57","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"Mapping","src":"7041:49:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24843,"name":"uint256","nodeType":"ElementaryTypeName","src":"7082:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":24851,"mutability":"mutable","name":"proposalTypeQuorum","nameLocation":"7253:18:57","nodeType":"VariableDeclaration","scope":24891,"src":"7190:81:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208)"},"typeName":{"id":24850,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24847,"nodeType":"UserDefinedTypeName","pathNode":{"id":24846,"name":"GovernorTypesV10.ProposalType","nameLocations":["7198:16:57","7215:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"7198:29:57"},"referencedDeclaration":25017,"src":"7198:29:57","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"Mapping","src":"7190:62:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24849,"nodeType":"UserDefinedTypeName","pathNode":{"id":24848,"name":"Checkpoints.Trace208","nameLocations":["7231:11:57","7243:8:57"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"7231:20:57"},"referencedDeclaration":9409,"src":"7231:20:57","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":24856,"mutability":"mutable","name":"proposalTypeDepositThresholdCap","nameLocation":"7400:31:57","nodeType":"VariableDeclaration","scope":24891,"src":"7350:81:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"},"typeName":{"id":24855,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24853,"nodeType":"UserDefinedTypeName","pathNode":{"id":24852,"name":"GovernorTypesV10.ProposalType","nameLocations":["7358:16:57","7375:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"7358:29:57"},"referencedDeclaration":25017,"src":"7358:29:57","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"Mapping","src":"7350:49:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24854,"name":"uint256","nodeType":"ElementaryTypeName","src":"7391:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":24859,"mutability":"mutable","name":"grantsManager","nameLocation":"7482:13:57","nodeType":"VariableDeclaration","scope":24891,"src":"7467:28:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":24858,"nodeType":"UserDefinedTypeName","pathNode":{"id":24857,"name":"IGrantsManager","nameLocations":["7467:14:57"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"7467:14:57"},"referencedDeclaration":65639,"src":"7467:14:57","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"},{"constant":false,"id":24862,"mutability":"mutable","name":"galaxyMember","nameLocation":"7544:12:57","nodeType":"VariableDeclaration","scope":24891,"src":"7530:26:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":24861,"nodeType":"UserDefinedTypeName","pathNode":{"id":24860,"name":"IGalaxyMember","nameLocations":["7530:13:57"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"7530:13:57"},"referencedDeclaration":65196,"src":"7530:13:57","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"},{"constant":false,"id":24867,"mutability":"mutable","name":"requiredGMLevelByProposalType","nameLocation":"7682:29:57","nodeType":"VariableDeclaration","scope":24891,"src":"7632:79:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"},"typeName":{"id":24866,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24864,"nodeType":"UserDefinedTypeName","pathNode":{"id":24863,"name":"GovernorTypesV10.ProposalType","nameLocations":["7640:16:57","7657:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"7640:29:57"},"referencedDeclaration":25017,"src":"7640:29:57","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"Mapping","src":"7632:49:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$25017_$_t_uint256_$","typeString":"mapping(enum GovernorTypesV10.ProposalType => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24865,"name":"uint256","nodeType":"ElementaryTypeName","src":"7673:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":24872,"mutability":"mutable","name":"depositsVotingPower","nameLocation":"7819:19:57","nodeType":"VariableDeclaration","scope":24891,"src":"7763:75:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":24871,"keyName":"user","keyNameLocation":"7779:4:57","keyType":{"id":24868,"name":"address","nodeType":"ElementaryTypeName","src":"7771:7:57","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7763:55:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"timepoint","valueNameLocation":"7808:9:57","valueType":{"id":24870,"nodeType":"UserDefinedTypeName","pathNode":{"id":24869,"name":"Checkpoints.Trace208","nameLocations":["7787:11:57","7799:8:57"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"7787:20:57"},"referencedDeclaration":9409,"src":"7787:20:57","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":24877,"mutability":"mutable","name":"proposalDevelopmentState","nameLocation":"8335:24:57","nodeType":"VariableDeclaration","scope":24891,"src":"8262:97:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalDevelopmentState)"},"typeName":{"id":24876,"keyName":"proposalId","keyNameLocation":"8278:10:57","keyType":{"id":24873,"name":"uint256","nodeType":"ElementaryTypeName","src":"8270:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"8262:72:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$25021_$","typeString":"mapping(uint256 => enum GovernorTypesV10.ProposalDevelopmentState)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24875,"nodeType":"UserDefinedTypeName","pathNode":{"id":24874,"name":"GovernorTypesV10.ProposalDevelopmentState","nameLocations":["8292:16:57","8309:24:57"],"nodeType":"IdentifierPath","referencedDeclaration":25021,"src":"8292:41:57"},"referencedDeclaration":25021,"src":"8292:41:57","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$25021","typeString":"enum GovernorTypesV10.ProposalDevelopmentState"}}},"visibility":"internal"},{"constant":false,"id":24880,"mutability":"mutable","name":"navigatorRegistry","nameLocation":"8613:17:57","nodeType":"VariableDeclaration","scope":24891,"src":"8594:36:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":24879,"nodeType":"UserDefinedTypeName","pathNode":{"id":24878,"name":"INavigatorRegistry","nameLocations":["8594:18:57"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"8594:18:57"},"referencedDeclaration":66638,"src":"8594:18:57","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"},{"constant":false,"id":24883,"mutability":"mutable","name":"relayerRewardsPool","nameLocation":"8656:18:57","nodeType":"VariableDeclaration","scope":24891,"src":"8636:38:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":24882,"nodeType":"UserDefinedTypeName","pathNode":{"id":24881,"name":"IRelayerRewardsPool","nameLocations":["8636:19:57"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"8636:19:57"},"referencedDeclaration":67117,"src":"8636:19:57","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"},{"constant":false,"id":24888,"mutability":"mutable","name":"proposalsForRound","nameLocation":"8789:17:57","nodeType":"VariableDeclaration","scope":24891,"src":"8759:47:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[])"},"typeName":{"id":24887,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24884,"name":"uint256","nodeType":"ElementaryTypeName","src":"8767:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"8759:29:57","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":24885,"name":"uint256","nodeType":"ElementaryTypeName","src":"8778:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24886,"nodeType":"ArrayTypeName","src":"8778:9:57","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"internal"},{"constant":false,"id":24890,"mutability":"mutable","name":"governanceSkipWindowBlocks","nameLocation":"8930:26:57","nodeType":"VariableDeclaration","scope":24891,"src":"8922:34:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24889,"name":"uint256","nodeType":"ElementaryTypeName","src":"8922:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"GovernorStorage","nameLocation":"2860:15:57","nodeType":"StructDefinition","scope":24892,"src":"2853:6108:57","visibility":"public"}],"scope":24893,"src":"2395:6568:57","usedErrors":[],"usedEvents":[]}],"src":"1195:7769:57"},"id":57},"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","exportedSymbols":{"GovernorTypesV10":[25022],"IB3TR":[62888],"IGalaxyMember":[65196],"IGrantsManager":[65639],"IVOT3":[67719],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"TimelockControllerUpgradeable":[1478]},"id":25023,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":24894,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:58"},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../../interfaces/IVoterRewards.sol","id":24896,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":25023,"sourceUnit":69093,"src":"1220:73:58","symbolAliases":[{"foreign":{"id":24895,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1229:13:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../../../interfaces/IXAllocationVotingGovernor.sol","id":24898,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":25023,"sourceUnit":71125,"src":"1294:99:58","symbolAliases":[{"foreign":{"id":24897,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1303:26:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../../../interfaces/IB3TR.sol","id":24900,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":25023,"sourceUnit":62889,"src":"1394:57:58","symbolAliases":[{"foreign":{"id":24899,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"1403:5:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../../../../interfaces/IVOT3.sol","id":24902,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":25023,"sourceUnit":67720,"src":"1452:57:58","symbolAliases":[{"foreign":{"id":24901,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"1461:5:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","id":24904,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":25023,"sourceUnit":1479,"src":"1510:129:58","symbolAliases":[{"foreign":{"id":24903,"name":"TimelockControllerUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1478,"src":"1519:29:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../../../../interfaces/IGalaxyMember.sol","id":24906,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":25023,"sourceUnit":65197,"src":"1640:73:58","symbolAliases":[{"foreign":{"id":24905,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"1649:13:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../../../interfaces/IGrantsManager.sol","id":24908,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":25023,"sourceUnit":65640,"src":"1714:75:58","symbolAliases":[{"foreign":{"id":24907,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"1723:14:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorTypesV10","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":25022,"linearizedBaseContracts":[25022],"name":"GovernorTypesV10","nameLocation":"1799:16:58","nodeType":"ContractDefinition","nodes":[{"canonicalName":"GovernorTypesV10.InitializationData","documentation":{"id":24909,"nodeType":"StructuredDocumentation","src":"1820:775:58","text":" @dev Struct containing data to initialize the contract\n @param vot3Token The address of the Vot3 token used for voting\n @param timelock The address of the Timelock\n @param xAllocationVoting The address of the xAllocationVoting\n @param quorumPercentage quorum as a percentage of the total supply of VOT3 tokens\n @param initialDepositThreshold The Deposit Threshold for a proposal to be active\n @param initialMinVotingDelay The minimum amount of blocks a proposal needs to wait before it can start\n @param initialVotingThreshold The minimum amount of voting power needed in order to vote\n @param voterRewards The address of the voter rewards contract\n @param isFunctionRestrictionEnabled If the function restriction is enabled"},"id":24935,"members":[{"constant":false,"id":24912,"mutability":"mutable","name":"vot3Token","nameLocation":"2636:9:58","nodeType":"VariableDeclaration","scope":24935,"src":"2630:15:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"},"typeName":{"id":24911,"nodeType":"UserDefinedTypeName","pathNode":{"id":24910,"name":"IVOT3","nameLocations":["2630:5:58"],"nodeType":"IdentifierPath","referencedDeclaration":67719,"src":"2630:5:58"},"referencedDeclaration":67719,"src":"2630:5:58","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"visibility":"internal"},{"constant":false,"id":24915,"mutability":"mutable","name":"timelock","nameLocation":"2681:8:58","nodeType":"VariableDeclaration","scope":24935,"src":"2651:38:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"},"typeName":{"id":24914,"nodeType":"UserDefinedTypeName","pathNode":{"id":24913,"name":"TimelockControllerUpgradeable","nameLocations":["2651:29:58"],"nodeType":"IdentifierPath","referencedDeclaration":1478,"src":"2651:29:58"},"referencedDeclaration":1478,"src":"2651:29:58","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"visibility":"internal"},{"constant":false,"id":24918,"mutability":"mutable","name":"xAllocationVoting","nameLocation":"2722:17:58","nodeType":"VariableDeclaration","scope":24935,"src":"2695:44:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":24917,"nodeType":"UserDefinedTypeName","pathNode":{"id":24916,"name":"IXAllocationVotingGovernor","nameLocations":["2695:26:58"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"2695:26:58"},"referencedDeclaration":71124,"src":"2695:26:58","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":24921,"mutability":"mutable","name":"b3tr","nameLocation":"2751:4:58","nodeType":"VariableDeclaration","scope":24935,"src":"2745:10:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":24920,"nodeType":"UserDefinedTypeName","pathNode":{"id":24919,"name":"IB3TR","nameLocations":["2745:5:58"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"2745:5:58"},"referencedDeclaration":62888,"src":"2745:5:58","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":24923,"mutability":"mutable","name":"quorumPercentage","nameLocation":"2769:16:58","nodeType":"VariableDeclaration","scope":24935,"src":"2761:24:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24922,"name":"uint256","nodeType":"ElementaryTypeName","src":"2761:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24925,"mutability":"mutable","name":"initialDepositThreshold","nameLocation":"2799:23:58","nodeType":"VariableDeclaration","scope":24935,"src":"2791:31:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24924,"name":"uint256","nodeType":"ElementaryTypeName","src":"2791:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24927,"mutability":"mutable","name":"initialMinVotingDelay","nameLocation":"2836:21:58","nodeType":"VariableDeclaration","scope":24935,"src":"2828:29:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24926,"name":"uint256","nodeType":"ElementaryTypeName","src":"2828:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24929,"mutability":"mutable","name":"initialVotingThreshold","nameLocation":"2871:22:58","nodeType":"VariableDeclaration","scope":24935,"src":"2863:30:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24928,"name":"uint256","nodeType":"ElementaryTypeName","src":"2863:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24932,"mutability":"mutable","name":"voterRewards","nameLocation":"2913:12:58","nodeType":"VariableDeclaration","scope":24935,"src":"2899:26:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":24931,"nodeType":"UserDefinedTypeName","pathNode":{"id":24930,"name":"IVoterRewards","nameLocations":["2899:13:58"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"2899:13:58"},"referencedDeclaration":69092,"src":"2899:13:58","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"},{"constant":false,"id":24934,"mutability":"mutable","name":"isFunctionRestrictionEnabled","nameLocation":"2936:28:58","nodeType":"VariableDeclaration","scope":24935,"src":"2931:33:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24933,"name":"bool","nodeType":"ElementaryTypeName","src":"2931:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"2605:18:58","nodeType":"StructDefinition","scope":25022,"src":"2598:371:58","visibility":"public"},{"canonicalName":"GovernorTypesV10.InitializationRolesData","documentation":{"id":24936,"nodeType":"StructuredDocumentation","src":"2973:417:58","text":" @param governorAdmin The address of the governor admin\n @param pauser The address of the pauser\n @param contractsAddressManager The address of the contracts address manager\n @param proposalExecutor The address that should be set as executor and have the PROPOSAL_EXECUTOR_ROLE\n @param governorFunctionSettingsRoleAddress The address that should have the GOVERNOR_FUNCTIONS_SETTINGS_ROLE"},"id":24947,"members":[{"constant":false,"id":24938,"mutability":"mutable","name":"governorAdmin","nameLocation":"3438:13:58","nodeType":"VariableDeclaration","scope":24947,"src":"3430:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24937,"name":"address","nodeType":"ElementaryTypeName","src":"3430:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24940,"mutability":"mutable","name":"pauser","nameLocation":"3465:6:58","nodeType":"VariableDeclaration","scope":24947,"src":"3457:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24939,"name":"address","nodeType":"ElementaryTypeName","src":"3457:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24942,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"3485:23:58","nodeType":"VariableDeclaration","scope":24947,"src":"3477:31:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24941,"name":"address","nodeType":"ElementaryTypeName","src":"3477:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24944,"mutability":"mutable","name":"proposalExecutor","nameLocation":"3522:16:58","nodeType":"VariableDeclaration","scope":24947,"src":"3514:24:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24943,"name":"address","nodeType":"ElementaryTypeName","src":"3514:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24946,"mutability":"mutable","name":"governorFunctionSettingsRoleAddress","nameLocation":"3552:35:58","nodeType":"VariableDeclaration","scope":24947,"src":"3544:43:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24945,"name":"address","nodeType":"ElementaryTypeName","src":"3544:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializationRolesData","nameLocation":"3400:23:58","nodeType":"StructDefinition","scope":25022,"src":"3393:199:58","visibility":"public"},{"canonicalName":"GovernorTypesV10.VoteType","id":24951,"members":[{"id":24948,"name":"Against","nameLocation":"3641:7:58","nodeType":"EnumValue","src":"3641:7:58"},{"id":24949,"name":"For","nameLocation":"3654:3:58","nodeType":"EnumValue","src":"3654:3:58"},{"id":24950,"name":"Abstain","nameLocation":"3663:7:58","nodeType":"EnumValue","src":"3663:7:58"}],"name":"VoteType","nameLocation":"3626:8:58","nodeType":"EnumDefinition","src":"3621:53:58"},{"canonicalName":"GovernorTypesV10.ProposalVote","id":24962,"members":[{"constant":false,"id":24953,"mutability":"mutable","name":"againstVotes","nameLocation":"3771:12:58","nodeType":"VariableDeclaration","scope":24962,"src":"3763:20:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24952,"name":"uint256","nodeType":"ElementaryTypeName","src":"3763:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24955,"mutability":"mutable","name":"forVotes","nameLocation":"3797:8:58","nodeType":"VariableDeclaration","scope":24962,"src":"3789:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24954,"name":"uint256","nodeType":"ElementaryTypeName","src":"3789:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24957,"mutability":"mutable","name":"abstainVotes","nameLocation":"3819:12:58","nodeType":"VariableDeclaration","scope":24962,"src":"3811:20:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24956,"name":"uint256","nodeType":"ElementaryTypeName","src":"3811:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24961,"mutability":"mutable","name":"hasVoted","nameLocation":"3862:8:58","nodeType":"VariableDeclaration","scope":24962,"src":"3837:33:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":24960,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":24958,"name":"address","nodeType":"ElementaryTypeName","src":"3845:7:58","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3837:24:58","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24959,"name":"bool","nodeType":"ElementaryTypeName","src":"3856:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"ProposalVote","nameLocation":"3744:12:58","nodeType":"StructDefinition","scope":25022,"src":"3737:138:58","visibility":"public"},{"canonicalName":"GovernorTypesV10.ProposalCore","id":24981,"members":[{"constant":false,"id":24964,"mutability":"mutable","name":"proposer","nameLocation":"3976:8:58","nodeType":"VariableDeclaration","scope":24981,"src":"3968:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24963,"name":"address","nodeType":"ElementaryTypeName","src":"3968:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24966,"mutability":"mutable","name":"roundIdVoteStart","nameLocation":"3998:16:58","nodeType":"VariableDeclaration","scope":24981,"src":"3990:24:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24965,"name":"uint256","nodeType":"ElementaryTypeName","src":"3990:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24968,"mutability":"mutable","name":"voteDuration","nameLocation":"4027:12:58","nodeType":"VariableDeclaration","scope":24981,"src":"4020:19:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":24967,"name":"uint32","nodeType":"ElementaryTypeName","src":"4020:6:58","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":24970,"mutability":"mutable","name":"isExecutable","nameLocation":"4050:12:58","nodeType":"VariableDeclaration","scope":24981,"src":"4045:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24969,"name":"bool","nodeType":"ElementaryTypeName","src":"4045:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24972,"mutability":"mutable","name":"executed","nameLocation":"4073:8:58","nodeType":"VariableDeclaration","scope":24981,"src":"4068:13:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24971,"name":"bool","nodeType":"ElementaryTypeName","src":"4068:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24974,"mutability":"mutable","name":"canceled","nameLocation":"4092:8:58","nodeType":"VariableDeclaration","scope":24981,"src":"4087:13:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24973,"name":"bool","nodeType":"ElementaryTypeName","src":"4087:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24976,"mutability":"mutable","name":"etaSeconds","nameLocation":"4113:10:58","nodeType":"VariableDeclaration","scope":24981,"src":"4106:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":24975,"name":"uint48","nodeType":"ElementaryTypeName","src":"4106:6:58","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":24978,"mutability":"mutable","name":"depositAmount","nameLocation":"4137:13:58","nodeType":"VariableDeclaration","scope":24981,"src":"4129:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24977,"name":"uint256","nodeType":"ElementaryTypeName","src":"4129:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24980,"mutability":"mutable","name":"depositThreshold","nameLocation":"4164:16:58","nodeType":"VariableDeclaration","scope":24981,"src":"4156:24:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24979,"name":"uint256","nodeType":"ElementaryTypeName","src":"4156:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ProposalCore","nameLocation":"3949:12:58","nodeType":"StructDefinition","scope":25022,"src":"3942:243:58","visibility":"public"},{"canonicalName":"GovernorTypesV10.ProposalState","id":24992,"members":[{"id":24982,"name":"Pending","nameLocation":"4271:7:58","nodeType":"EnumValue","src":"4271:7:58"},{"id":24983,"name":"Active","nameLocation":"4284:6:58","nodeType":"EnumValue","src":"4284:6:58"},{"id":24984,"name":"Canceled","nameLocation":"4296:8:58","nodeType":"EnumValue","src":"4296:8:58"},{"id":24985,"name":"Defeated","nameLocation":"4310:8:58","nodeType":"EnumValue","src":"4310:8:58"},{"id":24986,"name":"Succeeded","nameLocation":"4324:9:58","nodeType":"EnumValue","src":"4324:9:58"},{"id":24987,"name":"Queued","nameLocation":"4339:6:58","nodeType":"EnumValue","src":"4339:6:58"},{"id":24988,"name":"Executed","nameLocation":"4351:8:58","nodeType":"EnumValue","src":"4351:8:58"},{"id":24989,"name":"DepositNotMet","nameLocation":"4365:13:58","nodeType":"EnumValue","src":"4365:13:58"},{"id":24990,"name":"InDevelopment","nameLocation":"4384:13:58","nodeType":"EnumValue","src":"4384:13:58"},{"id":24991,"name":"Completed","nameLocation":"4403:9:58","nodeType":"EnumValue","src":"4403:9:58"}],"name":"ProposalState","nameLocation":"4251:13:58","nodeType":"EnumDefinition","src":"4246:170:58"},{"canonicalName":"GovernorTypesV10.InitializationDataV7","documentation":{"id":24993,"nodeType":"StructuredDocumentation","src":"4420:291:58","text":" @dev Struct containing data for v7 initialization\n @param grantDepositThreshold The deposit threshold percentage for grant proposals\n @param grantVotingThreshold The voting threshold for grant proposals\n @param grantQuorum The quorum percentage for grant proposals"},"id":25014,"members":[{"constant":false,"id":24995,"mutability":"mutable","name":"grantDepositThreshold","nameLocation":"4756:21:58","nodeType":"VariableDeclaration","scope":25014,"src":"4748:29:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24994,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24997,"mutability":"mutable","name":"grantVotingThreshold","nameLocation":"4791:20:58","nodeType":"VariableDeclaration","scope":25014,"src":"4783:28:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24996,"name":"uint256","nodeType":"ElementaryTypeName","src":"4783:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24999,"mutability":"mutable","name":"grantQuorum","nameLocation":"4825:11:58","nodeType":"VariableDeclaration","scope":25014,"src":"4817:19:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24998,"name":"uint256","nodeType":"ElementaryTypeName","src":"4817:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25001,"mutability":"mutable","name":"grantDepositThresholdCap","nameLocation":"4850:24:58","nodeType":"VariableDeclaration","scope":25014,"src":"4842:32:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25000,"name":"uint256","nodeType":"ElementaryTypeName","src":"4842:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25003,"mutability":"mutable","name":"standardDepositThresholdCap","nameLocation":"4888:27:58","nodeType":"VariableDeclaration","scope":25014,"src":"4880:35:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25002,"name":"uint256","nodeType":"ElementaryTypeName","src":"4880:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25005,"mutability":"mutable","name":"standardGMWeight","nameLocation":"4929:16:58","nodeType":"VariableDeclaration","scope":25014,"src":"4921:24:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25004,"name":"uint256","nodeType":"ElementaryTypeName","src":"4921:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25007,"mutability":"mutable","name":"grantGMWeight","nameLocation":"4959:13:58","nodeType":"VariableDeclaration","scope":25014,"src":"4951:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25006,"name":"uint256","nodeType":"ElementaryTypeName","src":"4951:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25010,"mutability":"mutable","name":"galaxyMember","nameLocation":"4992:12:58","nodeType":"VariableDeclaration","scope":25014,"src":"4978:26:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":25009,"nodeType":"UserDefinedTypeName","pathNode":{"id":25008,"name":"IGalaxyMember","nameLocations":["4978:13:58"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"4978:13:58"},"referencedDeclaration":65196,"src":"4978:13:58","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"},{"constant":false,"id":25013,"mutability":"mutable","name":"grantsManager","nameLocation":"5025:13:58","nodeType":"VariableDeclaration","scope":25014,"src":"5010:28:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":25012,"nodeType":"UserDefinedTypeName","pathNode":{"id":25011,"name":"IGrantsManager","nameLocations":["5010:14:58"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"5010:14:58"},"referencedDeclaration":65639,"src":"5010:14:58","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"name":"InitializationDataV7","nameLocation":"4721:20:58","nodeType":"StructDefinition","scope":25022,"src":"4714:329:58","visibility":"public"},{"canonicalName":"GovernorTypesV10.ProposalType","id":25017,"members":[{"id":25015,"name":"Standard","nameLocation":"5146:8:58","nodeType":"EnumValue","src":"5146:8:58"},{"id":25016,"name":"Grant","nameLocation":"5160:5:58","nodeType":"EnumValue","src":"5160:5:58"}],"name":"ProposalType","nameLocation":"5127:12:58","nodeType":"EnumDefinition","src":"5122:47:58"},{"canonicalName":"GovernorTypesV10.ProposalDevelopmentState","id":25021,"members":[{"id":25018,"name":"PendingDevelopment","nameLocation":"5241:18:58","nodeType":"EnumValue","src":"5241:18:58"},{"id":25019,"name":"InDevelopment","nameLocation":"5265:13:58","nodeType":"EnumValue","src":"5265:13:58"},{"id":25020,"name":"Completed","nameLocation":"5284:9:58","nodeType":"EnumValue","src":"5284:9:58"}],"name":"ProposalDevelopmentState","nameLocation":"5210:24:58","nodeType":"EnumDefinition","src":"5205:92:58"}],"scope":25023,"src":"1791:3508:58","usedErrors":[],"usedEvents":[]}],"src":"1195:4105:58"},"id":58},"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol","exportedSymbols":{"Checkpoints":[10447],"GovernorClockLogicV10":[19614],"GovernorConfiguratorV10":[20674],"GovernorProposalLogicV10":[23874],"GovernorStateLogicV10":[24718],"GovernorStorageTypesV10":[24892],"GovernorTypesV10":[25022],"GovernorVotesLogicV10":[26208],"IVoterRewards":[69092],"Math":[7015],"RelayerAction":[66644],"SafeCast":[8770]},"id":26209,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":25024,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:59"},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol","file":"./GovernorStorageTypesV10.sol","id":25026,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":24893,"src":"1220:72:59","symbolAliases":[{"foreign":{"id":25025,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"1229:23:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","file":"./GovernorTypesV10.sol","id":25028,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":25023,"src":"1293:58:59","symbolAliases":[{"foreign":{"id":25027,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"1302:16:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol","file":"./GovernorStateLogicV10.sol","id":25030,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":24719,"src":"1352:68:59","symbolAliases":[{"foreign":{"id":25029,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"1361:21:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol","file":"./GovernorConfiguratorV10.sol","id":25032,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":20675,"src":"1421:72:59","symbolAliases":[{"foreign":{"id":25031,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"1430:23:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol","file":"./GovernorProposalLogicV10.sol","id":25034,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":23875,"src":"1494:74:59","symbolAliases":[{"foreign":{"id":25033,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"1503:24:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol","file":"./GovernorClockLogicV10.sol","id":25036,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":19615,"src":"1569:68:59","symbolAliases":[{"foreign":{"id":25035,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"1578:21:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","id":25038,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":7016,"src":"1638:67:59","symbolAliases":[{"foreign":{"id":25037,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"1647:4:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":25040,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":10448,"src":"1706:84:59","symbolAliases":[{"foreign":{"id":25039,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1715:11:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":25042,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":8771,"src":"1791:75:59","symbolAliases":[{"foreign":{"id":25041,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1800:8:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../../interfaces/IVoterRewards.sol","id":25044,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":69093,"src":"1867:73:59","symbolAliases":[{"foreign":{"id":25043,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1876:13:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../../../interfaces/IRelayerRewardsPool.sol","id":25046,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":26209,"sourceUnit":67118,"src":"1941:79:59","symbolAliases":[{"foreign":{"id":25045,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"1950:13:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorVotesLogicV10","contractDependencies":[],"contractKind":"library","documentation":{"id":25047,"nodeType":"StructuredDocumentation","src":"2022:230:59","text":"@title GovernorVotesLogicV10\n @notice Library for handling voting logic in the Governor contract.\n @dev Difference from V1: `proposalId` is passed as an argument to `registerVote` function instead of `proposalSnapshot`."},"fullyImplemented":true,"id":26208,"linearizedBaseContracts":[26208],"name":"GovernorVotesLogicV10","nameLocation":"2260:21:59","nodeType":"ContractDefinition","nodes":[{"global":false,"id":25051,"libraryName":{"id":25048,"name":"Checkpoints","nameLocations":["2292:11:59"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"2292:11:59"},"nodeType":"UsingForDirective","src":"2286:43:59","typeName":{"id":25050,"nodeType":"UserDefinedTypeName","pathNode":{"id":25049,"name":"Checkpoints.Trace208","nameLocations":["2308:11:59","2320:8:59"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"2308:20:59"},"referencedDeclaration":9409,"src":"2308:20:59","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"documentation":{"id":25052,"nodeType":"StructuredDocumentation","src":"2333:132:59","text":"@dev Thrown when a vote has already been cast by the voter.\n @param voter The address of the voter who already cast a vote."},"errorSelector":"71c6af49","id":25056,"name":"GovernorAlreadyCastVote","nameLocation":"2474:23:59","nodeType":"ErrorDefinition","parameters":{"id":25055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25054,"mutability":"mutable","name":"voter","nameLocation":"2506:5:59","nodeType":"VariableDeclaration","scope":25056,"src":"2498:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25053,"name":"address","nodeType":"ElementaryTypeName","src":"2498:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2497:15:59"},"src":"2468:45:59"},{"documentation":{"id":25057,"nodeType":"StructuredDocumentation","src":"2517:50:59","text":"@dev Thrown when an invalid vote type is used."},"errorSelector":"06b337c2","id":25059,"name":"GovernorInvalidVoteType","nameLocation":"2576:23:59","nodeType":"ErrorDefinition","parameters":{"id":25058,"nodeType":"ParameterList","parameters":[],"src":"2599:2:59"},"src":"2570:32:59"},{"documentation":{"id":25060,"nodeType":"StructuredDocumentation","src":"2606:153:59","text":"@dev Thrown when the voting threshold is not met.\n @param threshold The required voting threshold.\n @param votes The actual votes received."},"errorSelector":"742f62c3","id":25066,"name":"GovernorVotingThresholdNotMet","nameLocation":"2768:29:59","nodeType":"ErrorDefinition","parameters":{"id":25065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25062,"mutability":"mutable","name":"threshold","nameLocation":"2806:9:59","nodeType":"VariableDeclaration","scope":25066,"src":"2798:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25061,"name":"uint256","nodeType":"ElementaryTypeName","src":"2798:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25064,"mutability":"mutable","name":"votes","nameLocation":"2825:5:59","nodeType":"VariableDeclaration","scope":25066,"src":"2817:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25063,"name":"uint256","nodeType":"ElementaryTypeName","src":"2817:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2797:34:59"},"src":"2762:70:59"},{"documentation":{"id":25067,"nodeType":"StructuredDocumentation","src":"2836:153:59","text":"@dev Thrown when the personhood verification fails.\n @param voter The address of the voter.\n @param explanation The reason for the failure."},"errorSelector":"44c45349","id":25073,"name":"GovernorPersonhoodVerificationFailed","nameLocation":"2998:36:59","nodeType":"ErrorDefinition","parameters":{"id":25072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25069,"mutability":"mutable","name":"voter","nameLocation":"3043:5:59","nodeType":"VariableDeclaration","scope":25073,"src":"3035:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25068,"name":"address","nodeType":"ElementaryTypeName","src":"3035:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25071,"mutability":"mutable","name":"explanation","nameLocation":"3057:11:59","nodeType":"VariableDeclaration","scope":25073,"src":"3050:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25070,"name":"string","nodeType":"ElementaryTypeName","src":"3050:6:59","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3034:35:59"},"src":"2992:78:59"},{"anonymous":false,"documentation":{"id":25074,"nodeType":"StructuredDocumentation","src":"3074:358:59","text":"@notice Emitted when a vote is cast without parameters.\n @param voter The address of the voter.\n @param proposalId The ID of the proposal being voted on.\n @param support The support value of the vote.\n @param weight The weight of the vote.\n @param power The voting power of the voter.\n @param reason The reason for the vote."},"eventSelector":"aec5ebd9cfb5e0fa9ec893c112b6f15c366248db781323babe6909c0e0770397","id":25088,"name":"VoteCast","nameLocation":"3441:8:59","nodeType":"EventDefinition","parameters":{"id":25087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25076,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"3471:5:59","nodeType":"VariableDeclaration","scope":25088,"src":"3455:21:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25075,"name":"address","nodeType":"ElementaryTypeName","src":"3455:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25078,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3498:10:59","nodeType":"VariableDeclaration","scope":25088,"src":"3482:26:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25077,"name":"uint256","nodeType":"ElementaryTypeName","src":"3482:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25080,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"3520:7:59","nodeType":"VariableDeclaration","scope":25088,"src":"3514:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":25079,"name":"uint8","nodeType":"ElementaryTypeName","src":"3514:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":25082,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"3541:6:59","nodeType":"VariableDeclaration","scope":25088,"src":"3533:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25081,"name":"uint256","nodeType":"ElementaryTypeName","src":"3533:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25084,"indexed":false,"mutability":"mutable","name":"power","nameLocation":"3561:5:59","nodeType":"VariableDeclaration","scope":25088,"src":"3553:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25083,"name":"uint256","nodeType":"ElementaryTypeName","src":"3553:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25086,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"3579:6:59","nodeType":"VariableDeclaration","scope":25088,"src":"3572:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25085,"name":"string","nodeType":"ElementaryTypeName","src":"3572:6:59","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3449:140:59"},"src":"3435:155:59"},{"anonymous":false,"documentation":{"id":25089,"nodeType":"StructuredDocumentation","src":"3594:99:59","text":"@notice Emitted when a navigator governance vote is skipped (navigator dead or no decision set)"},"eventSelector":"8b34402b007625b875ac624bea888f2cd3b6896eb9b8f2a2a278bbf3b5dd9b4d","id":25097,"name":"NavigatorGovernanceVoteSkipped","nameLocation":"3702:30:59","nodeType":"EventDefinition","parameters":{"id":25096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25091,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"3749:7:59","nodeType":"VariableDeclaration","scope":25097,"src":"3733:23:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25090,"name":"address","nodeType":"ElementaryTypeName","src":"3733:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25093,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"3774:9:59","nodeType":"VariableDeclaration","scope":25097,"src":"3758:25:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25092,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25095,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3801:10:59","nodeType":"VariableDeclaration","scope":25097,"src":"3785:26:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25094,"name":"uint256","nodeType":"ElementaryTypeName","src":"3785:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3732:80:59"},"src":"3696:117:59"},{"anonymous":false,"documentation":{"id":25098,"nodeType":"StructuredDocumentation","src":"3817:82:59","text":"@notice Emitted when a navigator casts a vote on behalf of a delegated citizen"},"eventSelector":"e5aba2374a4ff3b54ee59beb7eabaae209c8a3e5d31185fd429458c2f887c21a","id":25112,"name":"NavigatorGovernanceVoteCast","nameLocation":"3908:27:59","nodeType":"EventDefinition","parameters":{"id":25111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25100,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"3957:7:59","nodeType":"VariableDeclaration","scope":25112,"src":"3941:23:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25099,"name":"address","nodeType":"ElementaryTypeName","src":"3941:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25102,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"3986:9:59","nodeType":"VariableDeclaration","scope":25112,"src":"3970:25:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25101,"name":"address","nodeType":"ElementaryTypeName","src":"3970:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25104,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"4017:10:59","nodeType":"VariableDeclaration","scope":25112,"src":"4001:26:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25103,"name":"uint256","nodeType":"ElementaryTypeName","src":"4001:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25106,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"4039:7:59","nodeType":"VariableDeclaration","scope":25112,"src":"4033:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":25105,"name":"uint8","nodeType":"ElementaryTypeName","src":"4033:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":25108,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"4060:6:59","nodeType":"VariableDeclaration","scope":25112,"src":"4052:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25107,"name":"uint256","nodeType":"ElementaryTypeName","src":"4052:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25110,"indexed":false,"mutability":"mutable","name":"power","nameLocation":"4080:5:59","nodeType":"VariableDeclaration","scope":25112,"src":"4072:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25109,"name":"uint256","nodeType":"ElementaryTypeName","src":"4072:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3935:154:59"},"src":"3902:188:59"},{"documentation":{"id":25113,"nodeType":"StructuredDocumentation","src":"4094:62:59","text":"@dev Thrown when citizen is not delegated to any navigator"},"errorSelector":"68e4d5d8","id":25117,"name":"NotDelegatedToNavigator","nameLocation":"4165:23:59","nodeType":"ErrorDefinition","parameters":{"id":25116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25115,"mutability":"mutable","name":"citizen","nameLocation":"4197:7:59","nodeType":"VariableDeclaration","scope":25117,"src":"4189:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25114,"name":"address","nodeType":"ElementaryTypeName","src":"4189:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4188:17:59"},"src":"4159:47:59"},{"documentation":{"id":25118,"nodeType":"StructuredDocumentation","src":"4210:81:59","text":"@dev Thrown when citizen is delegated to a navigator and cannot vote manually"},"errorSelector":"640ed183","id":25122,"name":"DelegatedToNavigator","nameLocation":"4300:20:59","nodeType":"ErrorDefinition","parameters":{"id":25121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25120,"mutability":"mutable","name":"citizen","nameLocation":"4329:7:59","nodeType":"VariableDeclaration","scope":25122,"src":"4321:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25119,"name":"address","nodeType":"ElementaryTypeName","src":"4321:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4320:17:59"},"src":"4294:44:59"},{"documentation":{"id":25123,"nodeType":"StructuredDocumentation","src":"4342:70:59","text":"@dev Thrown when navigator has not set a decision for the proposal"},"errorSelector":"ee3101ec","id":25129,"name":"NavigatorDecisionNotSet","nameLocation":"4421:23:59","nodeType":"ErrorDefinition","parameters":{"id":25128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25125,"mutability":"mutable","name":"navigator","nameLocation":"4453:9:59","nodeType":"VariableDeclaration","scope":25129,"src":"4445:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25124,"name":"address","nodeType":"ElementaryTypeName","src":"4445:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25127,"mutability":"mutable","name":"proposalId","nameLocation":"4472:10:59","nodeType":"VariableDeclaration","scope":25129,"src":"4464:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25126,"name":"uint256","nodeType":"ElementaryTypeName","src":"4464:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4444:39:59"},"src":"4415:69:59"},{"documentation":{"id":25130,"nodeType":"StructuredDocumentation","src":"4488:60:59","text":"@dev The governance skip window has not been reached yet"},"errorSelector":"490a565e","id":25134,"name":"GovernanceSkipWindowNotReached","nameLocation":"4557:30:59","nodeType":"ErrorDefinition","parameters":{"id":25133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25132,"mutability":"mutable","name":"proposalId","nameLocation":"4596:10:59","nodeType":"VariableDeclaration","scope":25134,"src":"4588:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25131,"name":"uint256","nodeType":"ElementaryTypeName","src":"4588:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4587:20:59"},"src":"4551:57:59"},{"anonymous":false,"documentation":{"id":25135,"nodeType":"StructuredDocumentation","src":"4612:144:59","text":"@notice Emits true if quadratic voting is disabled, false otherwise.\n @param disabled - The flag to enable or disable quadratic voting."},"eventSelector":"e782263e17b994d34e64f19af2397c26081a1f4c26c604acb8fb3db6bafc903e","id":25139,"name":"QuadraticVotingToggled","nameLocation":"4765:22:59","nodeType":"EventDefinition","parameters":{"id":25138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25137,"indexed":true,"mutability":"mutable","name":"disabled","nameLocation":"4801:8:59","nodeType":"VariableDeclaration","scope":25139,"src":"4788:21:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25136,"name":"bool","nodeType":"ElementaryTypeName","src":"4788:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4787:23:59"},"src":"4759:52:59"},{"body":{"id":25273,"nodeType":"Block","src":"5302:1076:59","statements":[{"assignments":[25157],"declarations":[{"constant":false,"id":25157,"mutability":"mutable","name":"$","nameLocation":"5356:1:59","nodeType":"VariableDeclaration","scope":25273,"src":"5308:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":25156,"nodeType":"UserDefinedTypeName","pathNode":{"id":25155,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["5308:23:59","5332:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"5308:39:59"},"referencedDeclaration":24891,"src":"5308:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":25161,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25158,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"5360:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":25159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5384:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"5360:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":25160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5360:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5308:96:59"},{"assignments":[25166],"declarations":[{"constant":false,"id":25166,"mutability":"mutable","name":"proposalVote","nameLocation":"5448:12:59","nodeType":"VariableDeclaration","scope":25273,"src":"5410:50:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote"},"typeName":{"id":25165,"nodeType":"UserDefinedTypeName","pathNode":{"id":25164,"name":"GovernorTypesV10.ProposalVote","nameLocations":["5410:16:59","5427:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":24962,"src":"5410:29:59"},"referencedDeclaration":24962,"src":"5410:29:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote"}},"visibility":"internal"}],"id":25171,"initialValue":{"baseExpression":{"expression":{"id":25167,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25157,"src":"5463:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5465:13:59","memberName":"proposalVotes","nodeType":"MemberAccess","referencedDeclaration":24814,"src":"5463:15:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$24962_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalVote storage ref)"}},"id":25170,"indexExpression":{"id":25169,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25142,"src":"5479:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5463:27:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage","typeString":"struct GovernorTypesV10.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5410:80:59"},{"condition":{"baseExpression":{"expression":{"id":25172,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25166,"src":"5501:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5514:8:59","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":24961,"src":"5501:21:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":25175,"indexExpression":{"id":25174,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25144,"src":"5523:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5501:30:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25181,"nodeType":"IfStatement","src":"5497:90:59","trueBody":{"id":25180,"nodeType":"Block","src":"5533:54:59","statements":[{"errorCall":{"arguments":[{"id":25177,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25144,"src":"5572:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":25176,"name":"GovernorAlreadyCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25056,"src":"5548:23:59","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":25178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5548:32:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25179,"nodeType":"RevertStatement","src":"5541:39:59"}]}},{"expression":{"id":25188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":25182,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25166,"src":"5592:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5605:8:59","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":24961,"src":"5592:21:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":25186,"indexExpression":{"id":25184,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25144,"src":"5614:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5592:30:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":25187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5625:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5592:37:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25189,"nodeType":"ExpressionStatement","src":"5592:37:59"},{"assignments":[25191],"declarations":[{"constant":false,"id":25191,"mutability":"mutable","name":"vote","nameLocation":"5747:4:59","nodeType":"VariableDeclaration","scope":25273,"src":"5739:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25190,"name":"uint256","nodeType":"ElementaryTypeName","src":"5739:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25197,"initialValue":{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":25192,"name":"isQuadraticVotingDisabledForCurrentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26101,"src":"5754:40:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":25193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5754:42:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":25195,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25150,"src":"5808:5:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5754:59:59","trueExpression":{"id":25194,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25148,"src":"5799:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5739:74:59"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":25205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25198,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25146,"src":"5824:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"expression":{"id":25201,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5841:16:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":25202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5858:8:59","memberName":"VoteType","nodeType":"MemberAccess","referencedDeclaration":24951,"src":"5841:25:59","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$24951_$","typeString":"type(enum GovernorTypesV10.VoteType)"}},"id":25203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5867:7:59","memberName":"Against","nodeType":"MemberAccess","referencedDeclaration":24948,"src":"5841:33:59","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$24951","typeString":"enum GovernorTypesV10.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$24951","typeString":"enum GovernorTypesV10.VoteType"}],"id":25200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5835:5:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":25199,"name":"uint8","nodeType":"ElementaryTypeName","src":"5835:5:59","typeDescriptions":{}}},"id":25204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5835:40:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5824:51:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":25220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25213,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25146,"src":"5935:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"expression":{"id":25216,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"5952:16:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":25217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5969:8:59","memberName":"VoteType","nodeType":"MemberAccess","referencedDeclaration":24951,"src":"5952:25:59","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$24951_$","typeString":"type(enum GovernorTypesV10.VoteType)"}},"id":25218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5978:3:59","memberName":"For","nodeType":"MemberAccess","referencedDeclaration":24949,"src":"5952:29:59","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$24951","typeString":"enum GovernorTypesV10.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$24951","typeString":"enum GovernorTypesV10.VoteType"}],"id":25215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5946:5:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":25214,"name":"uint8","nodeType":"ElementaryTypeName","src":"5946:5:59","typeDescriptions":{}}},"id":25219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5946:36:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5935:47:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":25235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25228,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25146,"src":"6038:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"expression":{"id":25231,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"6055:16:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":25232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6072:8:59","memberName":"VoteType","nodeType":"MemberAccess","referencedDeclaration":24951,"src":"6055:25:59","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$24951_$","typeString":"type(enum GovernorTypesV10.VoteType)"}},"id":25233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6081:7:59","memberName":"Abstain","nodeType":"MemberAccess","referencedDeclaration":24950,"src":"6055:33:59","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$24951","typeString":"enum GovernorTypesV10.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$24951","typeString":"enum GovernorTypesV10.VoteType"}],"id":25230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6049:5:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":25229,"name":"uint8","nodeType":"ElementaryTypeName","src":"6049:5:59","typeDescriptions":{}}},"id":25234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6049:40:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"6038:51:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":25246,"nodeType":"Block","src":"6145:47:59","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":25243,"name":"GovernorInvalidVoteType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25059,"src":"6160:23:59","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":25244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6160:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25245,"nodeType":"RevertStatement","src":"6153:32:59"}]},"id":25247,"nodeType":"IfStatement","src":"6034:158:59","trueBody":{"id":25242,"nodeType":"Block","src":"6091:48:59","statements":[{"expression":{"id":25240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":25236,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25166,"src":"6099:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6112:12:59","memberName":"abstainVotes","nodeType":"MemberAccess","referencedDeclaration":24957,"src":"6099:25:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":25239,"name":"vote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25191,"src":"6128:4:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6099:33:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25241,"nodeType":"ExpressionStatement","src":"6099:33:59"}]}},"id":25248,"nodeType":"IfStatement","src":"5931:261:59","trueBody":{"id":25227,"nodeType":"Block","src":"5984:44:59","statements":[{"expression":{"id":25225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":25221,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25166,"src":"5992:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6005:8:59","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":24955,"src":"5992:21:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":25224,"name":"vote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25191,"src":"6017:4:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5992:29:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25226,"nodeType":"ExpressionStatement","src":"5992:29:59"}]}},"id":25249,"nodeType":"IfStatement","src":"5820:372:59","trueBody":{"id":25212,"nodeType":"Block","src":"5877:48:59","statements":[{"expression":{"id":25210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":25206,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25166,"src":"5885:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5898:12:59","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":24953,"src":"5885:25:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":25209,"name":"vote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25191,"src":"5914:4:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5885:33:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25211,"nodeType":"ExpressionStatement","src":"5885:33:59"}]}},{"expression":{"id":25256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":25250,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25157,"src":"6198:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6200:18:59","memberName":"proposalTotalVotes","nodeType":"MemberAccess","referencedDeclaration":24822,"src":"6198:20:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":25254,"indexExpression":{"id":25252,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25142,"src":"6219:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6198:32:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":25255,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25148,"src":"6234:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6198:42:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25257,"nodeType":"ExpressionStatement","src":"6198:42:59"},{"condition":{"id":25262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6303:24:59","subExpression":{"baseExpression":{"expression":{"id":25258,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25157,"src":"6304:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6306:12:59","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":24818,"src":"6304:14:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":25261,"indexExpression":{"id":25260,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25144,"src":"6319:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6304:23:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25272,"nodeType":"IfStatement","src":"6299:75:59","trueBody":{"id":25271,"nodeType":"Block","src":"6329:45:59","statements":[{"expression":{"id":25269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":25263,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25157,"src":"6337:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6339:12:59","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":24818,"src":"6337:14:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":25267,"indexExpression":{"id":25265,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25144,"src":"6352:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6337:23:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":25268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6363:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6337:30:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25270,"nodeType":"ExpressionStatement","src":"6337:30:59"}]}}]},"documentation":{"id":25140,"nodeType":"StructuredDocumentation","src":"4883:305:59","text":" @dev Internal function to count a vote for a proposal.\n @param proposalId The ID of the proposal.\n @param account The address of the voter.\n @param support The support value of the vote.\n @param weight The weight of the vote.\n @param power The voting power of the voter."},"id":25274,"implemented":true,"kind":"function","modifiers":[],"name":"_countVote","nameLocation":"5200:10:59","nodeType":"FunctionDefinition","parameters":{"id":25151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25142,"mutability":"mutable","name":"proposalId","nameLocation":"5219:10:59","nodeType":"VariableDeclaration","scope":25274,"src":"5211:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25141,"name":"uint256","nodeType":"ElementaryTypeName","src":"5211:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25144,"mutability":"mutable","name":"account","nameLocation":"5239:7:59","nodeType":"VariableDeclaration","scope":25274,"src":"5231:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25143,"name":"address","nodeType":"ElementaryTypeName","src":"5231:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25146,"mutability":"mutable","name":"support","nameLocation":"5254:7:59","nodeType":"VariableDeclaration","scope":25274,"src":"5248:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":25145,"name":"uint8","nodeType":"ElementaryTypeName","src":"5248:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":25148,"mutability":"mutable","name":"weight","nameLocation":"5271:6:59","nodeType":"VariableDeclaration","scope":25274,"src":"5263:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25147,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25150,"mutability":"mutable","name":"power","nameLocation":"5287:5:59","nodeType":"VariableDeclaration","scope":25274,"src":"5279:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25149,"name":"uint256","nodeType":"ElementaryTypeName","src":"5279:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5210:83:59"},"returnParameters":{"id":25152,"nodeType":"ParameterList","parameters":[],"src":"5302:0:59"},"scope":26208,"src":"5191:1187:59","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":25307,"nodeType":"Block","src":"6631:255:59","statements":[{"assignments":[25286],"declarations":[{"constant":false,"id":25286,"mutability":"mutable","name":"$","nameLocation":"6685:1:59","nodeType":"VariableDeclaration","scope":25307,"src":"6637:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":25285,"nodeType":"UserDefinedTypeName","pathNode":{"id":25284,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["6637:23:59","6661:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"6637:39:59"},"referencedDeclaration":24891,"src":"6637:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":25290,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25287,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"6689:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":25288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6713:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"6689:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":25289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6689:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6637:96:59"},{"assignments":[25295],"declarations":[{"constant":false,"id":25295,"mutability":"mutable","name":"proposalVote","nameLocation":"6777:12:59","nodeType":"VariableDeclaration","scope":25307,"src":"6739:50:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote"},"typeName":{"id":25294,"nodeType":"UserDefinedTypeName","pathNode":{"id":25293,"name":"GovernorTypesV10.ProposalVote","nameLocations":["6739:16:59","6756:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":24962,"src":"6739:29:59"},"referencedDeclaration":24962,"src":"6739:29:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote"}},"visibility":"internal"}],"id":25300,"initialValue":{"baseExpression":{"expression":{"id":25296,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25286,"src":"6792:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6794:13:59","memberName":"proposalVotes","nodeType":"MemberAccess","referencedDeclaration":24814,"src":"6792:15:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$24962_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalVote storage ref)"}},"id":25299,"indexExpression":{"id":25298,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25277,"src":"6808:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6792:27:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage","typeString":"struct GovernorTypesV10.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6739:80:59"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":25301,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25295,"src":"6832:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25302,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6845:8:59","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":24955,"src":"6832:21:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":25303,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25295,"src":"6856:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6869:12:59","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":24953,"src":"6856:25:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6832:49:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":25281,"id":25306,"nodeType":"Return","src":"6825:56:59"}]},"documentation":{"id":25275,"nodeType":"StructuredDocumentation","src":"6382:174:59","text":" @dev Internal function to check if the vote succeeded.\n @param proposalId The ID of the proposal.\n @return True if the vote succeeded, false otherwise."},"id":25308,"implemented":true,"kind":"function","modifiers":[],"name":"voteSucceeded","nameLocation":"6568:13:59","nodeType":"FunctionDefinition","parameters":{"id":25278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25277,"mutability":"mutable","name":"proposalId","nameLocation":"6590:10:59","nodeType":"VariableDeclaration","scope":25308,"src":"6582:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25276,"name":"uint256","nodeType":"ElementaryTypeName","src":"6582:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6581:20:59"},"returnParameters":{"id":25281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25280,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25308,"src":"6625:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25279,"name":"bool","nodeType":"ElementaryTypeName","src":"6625:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6624:6:59"},"scope":26208,"src":"6559:327:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":25380,"nodeType":"Block","src":"7779:760:59","statements":[{"assignments":[25322],"declarations":[{"constant":false,"id":25322,"mutability":"mutable","name":"$","nameLocation":"7833:1:59","nodeType":"VariableDeclaration","scope":25380,"src":"7785:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":25321,"nodeType":"UserDefinedTypeName","pathNode":{"id":25320,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["7785:23:59","7809:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"7785:39:59"},"referencedDeclaration":24891,"src":"7785:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":25326,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25323,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"7837:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":25324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7861:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"7837:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":25325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7837:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7785:96:59"},{"assignments":[25328],"declarations":[{"constant":false,"id":25328,"mutability":"mutable","name":"totalVotes","nameLocation":"7895:10:59","nodeType":"VariableDeclaration","scope":25380,"src":"7887:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25327,"name":"uint256","nodeType":"ElementaryTypeName","src":"7887:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25335,"initialValue":{"arguments":[{"id":25332,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25311,"src":"7928:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25333,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25313,"src":"7937:9:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25329,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25322,"src":"7908:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7910:4:59","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":24801,"src":"7908:6:59","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":25331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7915:12:59","memberName":"getPastVotes","nodeType":"MemberAccess","referencedDeclaration":67538,"src":"7908:19:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":25334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7908:39:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7887:60:59"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":25345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":25338,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25322,"src":"7966:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7968:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"7966:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":25337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7958:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25336,"name":"address","nodeType":"ElementaryTypeName","src":"7958:7:59","typeDescriptions":{}}},"id":25340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7958:28:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":25343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7998:1:59","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":25342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7990:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25341,"name":"address","nodeType":"ElementaryTypeName","src":"7990:7:59","typeDescriptions":{}}},"id":25344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7958:42:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25348,"nodeType":"IfStatement","src":"7954:65:59","trueBody":{"expression":{"id":25346,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25328,"src":"8009:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25317,"id":25347,"nodeType":"Return","src":"8002:17:59"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":25359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":25352,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25311,"src":"8162:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25353,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25313,"src":"8171:9:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25349,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25322,"src":"8118:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8120:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"8118:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":25351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8138:23:59","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"8118:43:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":25354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8118:63:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":25357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8193:1:59","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":25356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8185:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25355,"name":"address","nodeType":"ElementaryTypeName","src":"8185:7:59","typeDescriptions":{}}},"id":25358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8185:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8118:77:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25368,"nodeType":"IfStatement","src":"8114:174:59","trueBody":{"id":25367,"nodeType":"Block","src":"8197:91:59","statements":[{"expression":{"arguments":[{"id":25363,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25311,"src":"8262:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25364,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25313,"src":"8271:9:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25360,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25322,"src":"8212:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25361,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8214:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"8212:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":25362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8232:29:59","memberName":"getDelegatedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66409,"src":"8212:49:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":25365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8212:69:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25317,"id":25366,"nodeType":"Return","src":"8205:76:59"}]}},{"expression":{"id":25376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25369,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25328,"src":"8431:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":25373,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25311,"src":"8492:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25374,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25313,"src":"8501:9:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25370,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25322,"src":"8445:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25371,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8447:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"8445:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":25372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8465:26:59","memberName":"getStakedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66321,"src":"8445:46:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":25375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8445:66:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8431:80:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":25377,"nodeType":"ExpressionStatement","src":"8431:80:59"},{"expression":{"id":25378,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25328,"src":"8524:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25317,"id":25379,"nodeType":"Return","src":"8517:17:59"}]},"documentation":{"id":25309,"nodeType":"StructuredDocumentation","src":"6947:743:59","text":" @notice Retrieves the effective voting power for an account at a given timepoint.\n @dev If citizen had a navigator at the snapshot and that navigator is still alive (not deactivated/exiting),\n      returns the delegated amount (their effective participation via navigator).\n      If navigator is dead, delegation is void and citizen has full VOT3 balance.\n      If not delegated, returns full VOT3 balance + staked B3TR (converted to VOT3) for navigators.\n      The staked amount is checkpointed in NavigatorRegistry and returns 0 for non-navigators.\n @param account The address of the account.\n @param timepoint The specific timepoint.\n @return The effective voting power at the given timepoint."},"id":25381,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"7702:8:59","nodeType":"FunctionDefinition","parameters":{"id":25314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25311,"mutability":"mutable","name":"account","nameLocation":"7719:7:59","nodeType":"VariableDeclaration","scope":25381,"src":"7711:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25310,"name":"address","nodeType":"ElementaryTypeName","src":"7711:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25313,"mutability":"mutable","name":"timepoint","nameLocation":"7736:9:59","nodeType":"VariableDeclaration","scope":25381,"src":"7728:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25312,"name":"uint256","nodeType":"ElementaryTypeName","src":"7728:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7710:36:59"},"returnParameters":{"id":25317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25381,"src":"7770:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25315,"name":"uint256","nodeType":"ElementaryTypeName","src":"7770:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7769:9:59"},"scope":26208,"src":"7693:846:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":25401,"nodeType":"Block","src":"8892:129:59","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":25394,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25384,"src":"8990:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25395,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25386,"src":"8999:9:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25393,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25381,"src":"8981:8:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":25396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8981:28:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25391,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"8971:4:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":25392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8976:4:59","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"8971:9:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":25397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8971:39:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316539","id":25398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9013:3:59","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"8971:45:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25390,"id":25400,"nodeType":"Return","src":"8964:52:59"}]},"documentation":{"id":25382,"nodeType":"StructuredDocumentation","src":"8543:245:59","text":" @notice Retrieves the quadratic voting power of an account at a given timepoint.\n @param account The address of the account.\n @param timepoint The specific timepoint.\n @return The quadratic voting power of the account."},"functionSelector":"b69d417b","id":25402,"implemented":true,"kind":"function","modifiers":[],"name":"getQuadraticVotingPower","nameLocation":"8800:23:59","nodeType":"FunctionDefinition","parameters":{"id":25387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25384,"mutability":"mutable","name":"account","nameLocation":"8832:7:59","nodeType":"VariableDeclaration","scope":25402,"src":"8824:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25383,"name":"address","nodeType":"ElementaryTypeName","src":"8824:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25386,"mutability":"mutable","name":"timepoint","nameLocation":"8849:9:59","nodeType":"VariableDeclaration","scope":25402,"src":"8841:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25385,"name":"uint256","nodeType":"ElementaryTypeName","src":"8841:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8823:36:59"},"returnParameters":{"id":25390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25402,"src":"8883:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25388,"name":"uint256","nodeType":"ElementaryTypeName","src":"8883:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8882:9:59"},"scope":26208,"src":"8791:230:59","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":25429,"nodeType":"Block","src":"9345:165:59","statements":[{"assignments":[25416],"declarations":[{"constant":false,"id":25416,"mutability":"mutable","name":"$","nameLocation":"9399:1:59","nodeType":"VariableDeclaration","scope":25429,"src":"9351:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":25415,"nodeType":"UserDefinedTypeName","pathNode":{"id":25414,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["9351:23:59","9375:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"9351:39:59"},"referencedDeclaration":24891,"src":"9351:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":25420,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25417,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"9403:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":25418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9427:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"9403:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":25419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9403:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9351:96:59"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":25421,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25416,"src":"9460:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9462:13:59","memberName":"proposalVotes","nodeType":"MemberAccess","referencedDeclaration":24814,"src":"9460:15:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$24962_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalVote storage ref)"}},"id":25424,"indexExpression":{"id":25423,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25405,"src":"9476:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9460:27:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage","typeString":"struct GovernorTypesV10.ProposalVote storage ref"}},"id":25425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9488:8:59","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":24961,"src":"9460:36:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":25427,"indexExpression":{"id":25426,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25407,"src":"9497:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9460:45:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":25411,"id":25428,"nodeType":"Return","src":"9453:52:59"}]},"documentation":{"id":25403,"nodeType":"StructuredDocumentation","src":"9025:233:59","text":" @notice Checks if an account has voted on a specific proposal.\n @param proposalId The ID of the proposal.\n @param account The address of the account.\n @return True if the account has voted, false otherwise."},"id":25430,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"9270:8:59","nodeType":"FunctionDefinition","parameters":{"id":25408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25405,"mutability":"mutable","name":"proposalId","nameLocation":"9287:10:59","nodeType":"VariableDeclaration","scope":25430,"src":"9279:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25404,"name":"uint256","nodeType":"ElementaryTypeName","src":"9279:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25407,"mutability":"mutable","name":"account","nameLocation":"9307:7:59","nodeType":"VariableDeclaration","scope":25430,"src":"9299:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25406,"name":"address","nodeType":"ElementaryTypeName","src":"9299:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9278:37:59"},"returnParameters":{"id":25411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25410,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25430,"src":"9339:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25409,"name":"bool","nodeType":"ElementaryTypeName","src":"9339:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9338:6:59"},"scope":26208,"src":"9261:249:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":25469,"nodeType":"Block","src":"9944:283:59","statements":[{"assignments":[25446],"declarations":[{"constant":false,"id":25446,"mutability":"mutable","name":"$","nameLocation":"9998:1:59","nodeType":"VariableDeclaration","scope":25469,"src":"9950:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":25445,"nodeType":"UserDefinedTypeName","pathNode":{"id":25444,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["9950:23:59","9974:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"9950:39:59"},"referencedDeclaration":24891,"src":"9950:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":25450,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25447,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"10002:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":25448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10026:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"10002:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":25449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10002:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9950:96:59"},{"assignments":[25455],"declarations":[{"constant":false,"id":25455,"mutability":"mutable","name":"proposalVote","nameLocation":"10090:12:59","nodeType":"VariableDeclaration","scope":25469,"src":"10052:50:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote"},"typeName":{"id":25454,"nodeType":"UserDefinedTypeName","pathNode":{"id":25453,"name":"GovernorTypesV10.ProposalVote","nameLocations":["10052:16:59","10069:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":24962,"src":"10052:29:59"},"referencedDeclaration":24962,"src":"10052:29:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote"}},"visibility":"internal"}],"id":25460,"initialValue":{"baseExpression":{"expression":{"id":25456,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25446,"src":"10105:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10107:13:59","memberName":"proposalVotes","nodeType":"MemberAccess","referencedDeclaration":24814,"src":"10105:15:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$24962_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalVote storage ref)"}},"id":25459,"indexExpression":{"id":25458,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25433,"src":"10121:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10105:27:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage","typeString":"struct GovernorTypesV10.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10052:80:59"},{"expression":{"components":[{"expression":{"id":25461,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25455,"src":"10146:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25462,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10159:12:59","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":24953,"src":"10146:25:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":25463,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25455,"src":"10173:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10186:8:59","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":24955,"src":"10173:21:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":25465,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25455,"src":"10196:12:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$24962_storage_ptr","typeString":"struct GovernorTypesV10.ProposalVote storage pointer"}},"id":25466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10209:12:59","memberName":"abstainVotes","nodeType":"MemberAccess","referencedDeclaration":24957,"src":"10196:25:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":25467,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10145:77:59","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256)"}},"functionReturnParameters":25441,"id":25468,"nodeType":"Return","src":"10138:84:59"}]},"documentation":{"id":25431,"nodeType":"StructuredDocumentation","src":"9514:288:59","text":" @notice Retrieves the votes for a proposal.\n @param proposalId The ID of the proposal.\n @return againstVotes The number of votes against the proposal.\n @return forVotes The number of votes for the proposal.\n @return abstainVotes The number of abstain votes."},"id":25470,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalVotes","nameLocation":"9814:16:59","nodeType":"FunctionDefinition","parameters":{"id":25434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25433,"mutability":"mutable","name":"proposalId","nameLocation":"9844:10:59","nodeType":"VariableDeclaration","scope":25470,"src":"9836:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25432,"name":"uint256","nodeType":"ElementaryTypeName","src":"9836:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9830:28:59"},"returnParameters":{"id":25441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25436,"mutability":"mutable","name":"againstVotes","nameLocation":"9890:12:59","nodeType":"VariableDeclaration","scope":25470,"src":"9882:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25435,"name":"uint256","nodeType":"ElementaryTypeName","src":"9882:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25438,"mutability":"mutable","name":"forVotes","nameLocation":"9912:8:59","nodeType":"VariableDeclaration","scope":25470,"src":"9904:16:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25437,"name":"uint256","nodeType":"ElementaryTypeName","src":"9904:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25440,"mutability":"mutable","name":"abstainVotes","nameLocation":"9930:12:59","nodeType":"VariableDeclaration","scope":25470,"src":"9922:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25439,"name":"uint256","nodeType":"ElementaryTypeName","src":"9922:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9881:62:59"},"scope":26208,"src":"9805:422:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":25492,"nodeType":"Block","src":"10469:140:59","statements":[{"assignments":[25482],"declarations":[{"constant":false,"id":25482,"mutability":"mutable","name":"$","nameLocation":"10523:1:59","nodeType":"VariableDeclaration","scope":25492,"src":"10475:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":25481,"nodeType":"UserDefinedTypeName","pathNode":{"id":25480,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["10475:23:59","10499:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"10475:39:59"},"referencedDeclaration":24891,"src":"10475:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":25486,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25483,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"10527:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":25484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10551:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"10527:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":25485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10527:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10475:96:59"},{"expression":{"baseExpression":{"expression":{"id":25487,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25482,"src":"10584:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25488,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10586:12:59","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":24818,"src":"10584:14:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":25490,"indexExpression":{"id":25489,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25473,"src":"10599:4:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10584:20:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":25477,"id":25491,"nodeType":"Return","src":"10577:27:59"}]},"documentation":{"id":25471,"nodeType":"StructuredDocumentation","src":"10231:169:59","text":" @notice Checks if a user has voted at least once.\n @param user The address of the user.\n @return True if the user has voted once, false otherwise."},"id":25493,"implemented":true,"kind":"function","modifiers":[],"name":"userVotedOnce","nameLocation":"10412:13:59","nodeType":"FunctionDefinition","parameters":{"id":25474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25473,"mutability":"mutable","name":"user","nameLocation":"10434:4:59","nodeType":"VariableDeclaration","scope":25493,"src":"10426:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25472,"name":"address","nodeType":"ElementaryTypeName","src":"10426:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10425:14:59"},"returnParameters":{"id":25477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25493,"src":"10463:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25475,"name":"bool","nodeType":"ElementaryTypeName","src":"10463:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10462:6:59"},"scope":26208,"src":"10403:206:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":25649,"nodeType":"Block","src":"11096:1692:59","statements":[{"assignments":[25511],"declarations":[{"constant":false,"id":25511,"mutability":"mutable","name":"$","nameLocation":"11150:1:59","nodeType":"VariableDeclaration","scope":25649,"src":"11102:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":25510,"nodeType":"UserDefinedTypeName","pathNode":{"id":25509,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["11102:23:59","11126:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"11102:39:59"},"referencedDeclaration":24891,"src":"11102:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":25515,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25512,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"11154:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":25513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11178:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"11154:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":25514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11154:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11102:96:59"},{"expression":{"arguments":[{"id":25519,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25496,"src":"11253:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":25522,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"11311:16:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":25523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11328:13:59","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"11311:30:59","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":25524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11342:6:59","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":24983,"src":"11311:37:59","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":25520,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"11271:21:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":25521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11293:17:59","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"11271:39:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":25525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11271:78:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":25516,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"11204:21:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":25518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11226:19:59","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"11204:41:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":25526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11204:151:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":25527,"nodeType":"ExpressionStatement","src":"11204:151:59"},{"assignments":[25529],"declarations":[{"constant":false,"id":25529,"mutability":"mutable","name":"proposalSnapshot","nameLocation":"11370:16:59","nodeType":"VariableDeclaration","scope":25649,"src":"11362:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25528,"name":"uint256","nodeType":"ElementaryTypeName","src":"11362:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25534,"initialValue":{"arguments":[{"id":25532,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25496,"src":"11432:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25530,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"11389:24:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":25531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11414:17:59","memberName":"_proposalSnapshot","nodeType":"MemberAccess","referencedDeclaration":23632,"src":"11389:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":25533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11389:54:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11362:81:59"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":25544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":25537,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25511,"src":"11556:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11558:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"11556:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":25536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11548:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25535,"name":"address","nodeType":"ElementaryTypeName","src":"11548:7:59","typeDescriptions":{}}},"id":25539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11548:28:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":25542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11588:1:59","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":25541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11580:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25540,"name":"address","nodeType":"ElementaryTypeName","src":"11580:7:59","typeDescriptions":{}}},"id":25543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11580:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11548:42:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25563,"nodeType":"IfStatement","src":"11544:203:59","trueBody":{"id":25562,"nodeType":"Block","src":"11592:155:59","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":25555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":25548,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25498,"src":"11648:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25549,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25529,"src":"11655:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25545,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25511,"src":"11604:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25546,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11606:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"11604:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":25547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11624:23:59","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"11604:43:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":25550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11604:68:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":25553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11684:1:59","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":25552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11676:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25551,"name":"address","nodeType":"ElementaryTypeName","src":"11676:7:59","typeDescriptions":{}}},"id":25554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11676:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11604:82:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25561,"nodeType":"IfStatement","src":"11600:141:59","trueBody":{"id":25560,"nodeType":"Block","src":"11688:53:59","statements":[{"errorCall":{"arguments":[{"id":25557,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25498,"src":"11726:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":25556,"name":"DelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25122,"src":"11705:20:59","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":25558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11705:27:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25559,"nodeType":"RevertStatement","src":"11698:34:59"}]}}]}},{"assignments":[25565,25567],"declarations":[{"constant":false,"id":25565,"mutability":"mutable","name":"isPerson","nameLocation":"11759:8:59","nodeType":"VariableDeclaration","scope":25649,"src":"11754:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25564,"name":"bool","nodeType":"ElementaryTypeName","src":"11754:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25567,"mutability":"mutable","name":"explanation","nameLocation":"11783:11:59","nodeType":"VariableDeclaration","scope":25649,"src":"11769:25:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25566,"name":"string","nodeType":"ElementaryTypeName","src":"11769:6:59","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":25577,"initialValue":{"arguments":[{"id":25571,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25498,"src":"11844:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":25574,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25529,"src":"11875:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25572,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"11857:8:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":25573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11866:8:59","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"11857:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":25575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11857:35:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":25568,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25511,"src":"11798:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11800:16:59","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":24830,"src":"11798:18:59","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":25570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11817:19:59","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"11798:38:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":25576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11798:100:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"11753:145:59"},{"condition":{"id":25579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12027:9:59","subExpression":{"id":25578,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25565,"src":"12028:8:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25586,"nodeType":"IfStatement","src":"12023:93:59","trueBody":{"id":25585,"nodeType":"Block","src":"12038:78:59","statements":[{"errorCall":{"arguments":[{"id":25581,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25498,"src":"12090:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25582,"name":"explanation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25567,"src":"12097:11:59","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":25580,"name":"GovernorPersonhoodVerificationFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25073,"src":"12053:36:59","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) pure"}},"id":25583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12053:56:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25584,"nodeType":"RevertStatement","src":"12046:63:59"}]}},{"assignments":[25588],"declarations":[{"constant":false,"id":25588,"mutability":"mutable","name":"weight","nameLocation":"12130:6:59","nodeType":"VariableDeclaration","scope":25649,"src":"12122:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25587,"name":"uint256","nodeType":"ElementaryTypeName","src":"12122:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25593,"initialValue":{"arguments":[{"id":25590,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25498,"src":"12148:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25591,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25529,"src":"12155:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25589,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25381,"src":"12139:8:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":25592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12139:33:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12122:50:59"},{"assignments":[25595],"declarations":[{"constant":false,"id":25595,"mutability":"mutable","name":"power","nameLocation":"12239:5:59","nodeType":"VariableDeclaration","scope":25649,"src":"12231:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25594,"name":"uint256","nodeType":"ElementaryTypeName","src":"12231:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25602,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":25598,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25588,"src":"12257:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25596,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"12247:4:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":25597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12252:4:59","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"12247:9:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":25599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12247:17:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316539","id":25600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12267:3:59","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"12247:23:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12231:39:59"},{"assignments":[25607],"declarations":[{"constant":false,"id":25607,"mutability":"mutable","name":"proposalType","nameLocation":"12306:12:59","nodeType":"VariableDeclaration","scope":25649,"src":"12276:42:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":25606,"nodeType":"UserDefinedTypeName","pathNode":{"id":25605,"name":"GovernorTypesV10.ProposalType","nameLocations":["12276:16:59","12293:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"12276:29:59"},"referencedDeclaration":25017,"src":"12276:29:59","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"id":25615,"initialValue":{"arguments":[{"arguments":[{"id":25612,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25496,"src":"12396:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25610,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"12358:24:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":25611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12383:12:59","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":21935,"src":"12358:37:59","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":25613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12358:49:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":25608,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"12321:16:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":25609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12338:12:59","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"12321:29:59","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":25614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12321:92:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"12276:137:59"},{"expression":{"arguments":[{"id":25617,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25588,"src":"12442:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25618,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25607,"src":"12450:12:59","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":25616,"name":"_checkVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25981,"src":"12420:21:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType) view"}},"id":25619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12420:43:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25620,"nodeType":"ExpressionStatement","src":"12420:43:59"},{"expression":{"arguments":[{"id":25622,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25496,"src":"12481:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25623,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25498,"src":"12493:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25624,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25500,"src":"12500:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":25625,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25588,"src":"12509:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25626,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25595,"src":"12517:5:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25621,"name":"_countVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25274,"src":"12470:10:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint8,uint256,uint256)"}},"id":25627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12470:53:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25628,"nodeType":"ExpressionStatement","src":"12470:53:59"},{"expression":{"arguments":[{"id":25630,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25511,"src":"12636:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},{"id":25631,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25496,"src":"12639:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25632,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25498,"src":"12651:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25633,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25588,"src":"12658:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25634,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25500,"src":"12666:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":25635,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25529,"src":"12675:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25629,"name":"_registerVoteWithIntentMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26167,"src":"12602:33:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_GovernorStorage_$24891_storage_ptr_$_t_uint256_$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (struct GovernorStorageTypesV10.GovernorStorage storage pointer,uint256,address,uint256,uint8,uint256)"}},"id":25636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12602:90:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25637,"nodeType":"ExpressionStatement","src":"12602:90:59"},{"eventCall":{"arguments":[{"id":25639,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25498,"src":"12713:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25640,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25496,"src":"12720:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25641,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25500,"src":"12732:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":25642,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25588,"src":"12741:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25643,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25595,"src":"12749:5:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25644,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25502,"src":"12756:6:59","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":25638,"name":"VoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25088,"src":"12704:8:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,uint8,uint256,uint256,string memory)"}},"id":25645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12704:59:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25646,"nodeType":"EmitStatement","src":"12699:64:59"},{"expression":{"id":25647,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25588,"src":"12777:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25506,"id":25648,"nodeType":"Return","src":"12770:13:59"}]},"documentation":{"id":25494,"nodeType":"StructuredDocumentation","src":"10681:273:59","text":" @notice Casts a vote on a proposal.\n @param proposalId The ID of the proposal.\n @param voter The address of the voter.\n @param support The support value of the vote.\n @param reason The reason for the vote.\n @return The weight of the vote."},"functionSelector":"dd063f90","id":25650,"implemented":true,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"10966:8:59","nodeType":"FunctionDefinition","parameters":{"id":25503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25496,"mutability":"mutable","name":"proposalId","nameLocation":"10988:10:59","nodeType":"VariableDeclaration","scope":25650,"src":"10980:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25495,"name":"uint256","nodeType":"ElementaryTypeName","src":"10980:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25498,"mutability":"mutable","name":"voter","nameLocation":"11012:5:59","nodeType":"VariableDeclaration","scope":25650,"src":"11004:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25497,"name":"address","nodeType":"ElementaryTypeName","src":"11004:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25500,"mutability":"mutable","name":"support","nameLocation":"11029:7:59","nodeType":"VariableDeclaration","scope":25650,"src":"11023:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":25499,"name":"uint8","nodeType":"ElementaryTypeName","src":"11023:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":25502,"mutability":"mutable","name":"reason","nameLocation":"11058:6:59","nodeType":"VariableDeclaration","scope":25650,"src":"11042:22:59","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":25501,"name":"string","nodeType":"ElementaryTypeName","src":"11042:6:59","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10974:94:59"},"returnParameters":{"id":25506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25650,"src":"11087:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25504,"name":"uint256","nodeType":"ElementaryTypeName","src":"11087:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11086:9:59"},"scope":26208,"src":"10957:1831:59","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":25953,"nodeType":"Block","src":"13586:3138:59","statements":[{"assignments":[25664],"declarations":[{"constant":false,"id":25664,"mutability":"mutable","name":"$","nameLocation":"13640:1:59","nodeType":"VariableDeclaration","scope":25953,"src":"13592:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":25663,"nodeType":"UserDefinedTypeName","pathNode":{"id":25662,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["13592:23:59","13616:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"13592:39:59"},"referencedDeclaration":24891,"src":"13592:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":25668,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25665,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"13644:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":25666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13668:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"13644:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":25667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13644:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13592:96:59"},{"expression":{"arguments":[{"id":25672,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"13743:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":25675,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"13801:16:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":25676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13818:13:59","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":24992,"src":"13801:30:59","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$24992_$","typeString":"type(enum GovernorTypesV10.ProposalState)"}},"id":25677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13832:6:59","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":24983,"src":"13801:37:59","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}],"expression":{"id":25673,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"13761:21:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":25674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13783:17:59","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24512,"src":"13761:39:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$24992_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypesV10.ProposalState) pure returns (bytes32)"}},"id":25678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13761:78:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":25669,"name":"GovernorStateLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24718,"src":"13694:21:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogicV10_$24718_$","typeString":"type(library GovernorStateLogicV10)"}},"id":25671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13716:19:59","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":24492,"src":"13694:41:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$24992_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypesV10.ProposalState)"}},"id":25679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13694:151:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"id":25680,"nodeType":"ExpressionStatement","src":"13694:151:59"},{"assignments":[25682],"declarations":[{"constant":false,"id":25682,"mutability":"mutable","name":"proposalSnapshot","nameLocation":"13860:16:59","nodeType":"VariableDeclaration","scope":25953,"src":"13852:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25681,"name":"uint256","nodeType":"ElementaryTypeName","src":"13852:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25687,"initialValue":{"arguments":[{"id":25685,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"13922:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25683,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"13879:24:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":25684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13904:17:59","memberName":"_proposalSnapshot","nodeType":"MemberAccess","referencedDeclaration":23632,"src":"13879:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":25686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13879:54:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13852:81:59"},{"assignments":[25689],"declarations":[{"constant":false,"id":25689,"mutability":"mutable","name":"navigator","nameLocation":"13947:9:59","nodeType":"VariableDeclaration","scope":25953,"src":"13939:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25688,"name":"address","nodeType":"ElementaryTypeName","src":"13939:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":25696,"initialValue":{"arguments":[{"id":25693,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"14003:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25694,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25682,"src":"14012:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25690,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"13959:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13961:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"13959:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":25692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13979:23:59","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"13959:43:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":25695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13959:70:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13939:90:59"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":25702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25697,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25689,"src":"14039:9:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":25700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14060:1:59","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":25699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14052:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25698,"name":"address","nodeType":"ElementaryTypeName","src":"14052:7:59","typeDescriptions":{}}},"id":25701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14052:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14039:23:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25707,"nodeType":"IfStatement","src":"14035:68:59","trueBody":{"errorCall":{"arguments":[{"id":25704,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"14095:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":25703,"name":"NotDelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25117,"src":"14071:23:59","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":25705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14071:32:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25706,"nodeType":"RevertStatement","src":"14064:39:59"}},{"assignments":[25709],"declarations":[{"constant":false,"id":25709,"mutability":"mutable","name":"roundId","nameLocation":"14118:7:59","nodeType":"VariableDeclaration","scope":25953,"src":"14110:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25708,"name":"uint256","nodeType":"ElementaryTypeName","src":"14110:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25715,"initialValue":{"expression":{"baseExpression":{"expression":{"id":25710,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"14128:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25711,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14130:9:59","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"14128:11:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":25713,"indexExpression":{"id":25712,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"14140:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14128:23:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":25714,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14152:16:59","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"14128:40:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14110:58:59"},{"condition":{"arguments":[{"id":25719,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25689,"src":"14301:9:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":25716,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"14267:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25717,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14269:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"14267:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":25718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14287:13:59","memberName":"isDeactivated","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"14267:33:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":25720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14267:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25752,"nodeType":"IfStatement","src":"14263:298:59","trueBody":{"id":25751,"nodeType":"Block","src":"14313:248:59","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":25730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":25723,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"14333:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14335:18:59","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"14333:20:59","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":25722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14325:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25721,"name":"address","nodeType":"ElementaryTypeName","src":"14325:7:59","typeDescriptions":{}}},"id":25725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14325:29:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":25728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14366:1:59","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":25727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14358:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25726,"name":"address","nodeType":"ElementaryTypeName","src":"14358:7:59","typeDescriptions":{}}},"id":25729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14358:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14325:43:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25742,"nodeType":"IfStatement","src":"14321:143:59","trueBody":{"id":25741,"nodeType":"Block","src":"14370:94:59","statements":[{"expression":{"arguments":[{"id":25736,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25709,"src":"14426:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25737,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"14435:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25738,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"14444:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25731,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"14380:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14382:18:59","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"14380:20:59","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":25735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14401:24:59","memberName":"reduceUserGovernanceVote","nodeType":"MemberAccess","referencedDeclaration":67067,"src":"14380:45:59","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":25739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14380:75:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25740,"nodeType":"ExpressionStatement","src":"14380:75:59"}]}},{"eventCall":{"arguments":[{"id":25744,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"14507:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25745,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25689,"src":"14516:9:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25746,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"14527:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25743,"name":"NavigatorGovernanceVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25097,"src":"14476:30:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":25747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14476:62:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25748,"nodeType":"EmitStatement","src":"14471:67:59"},{"expression":{"hexValue":"30","id":25749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14553:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":25659,"id":25750,"nodeType":"Return","src":"14546:8:59"}]}},{"condition":{"id":25759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14613:58:59","subExpression":{"arguments":[{"id":25756,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25689,"src":"14649:9:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25757,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"14660:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25753,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"14614:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25754,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14616:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"14614:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":25755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14634:14:59","memberName":"hasSetDecision","nodeType":"MemberAccess","referencedDeclaration":66473,"src":"14614:34:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view external returns (bool)"}},"id":25758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14614:57:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25812,"nodeType":"IfStatement","src":"14609:653:59","trueBody":{"id":25811,"nodeType":"Block","src":"14673:589:59","statements":[{"assignments":[25761],"declarations":[{"constant":false,"id":25761,"mutability":"mutable","name":"deadline","nameLocation":"14790:8:59","nodeType":"VariableDeclaration","scope":25811,"src":"14782:16:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25760,"name":"uint256","nodeType":"ElementaryTypeName","src":"14782:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25766,"initialValue":{"arguments":[{"id":25764,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"14844:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25762,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"14801:24:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":25763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14826:17:59","memberName":"_proposalDeadline","nodeType":"MemberAccess","referencedDeclaration":23690,"src":"14801:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":25765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14801:54:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14782:73:59"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":25767,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"14867:5:59","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":25768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14873:6:59","memberName":"number","nodeType":"MemberAccess","src":"14867:12:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25769,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"14882:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":25770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14906:26:59","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":20610,"src":"14882:50:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":25771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14882:52:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14867:67:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":25773,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25761,"src":"14937:8:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14867:78:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25780,"nodeType":"IfStatement","src":"14863:152:59","trueBody":{"id":25779,"nodeType":"Block","src":"14947:68:59","statements":[{"errorCall":{"arguments":[{"id":25776,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"14995:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25775,"name":"GovernanceSkipWindowNotReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25134,"src":"14964:30:59","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":25777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14964:42:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25778,"nodeType":"RevertStatement","src":"14957:49:59"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":25790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":25783,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"15034:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15036:18:59","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"15034:20:59","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":25782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15026:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25781,"name":"address","nodeType":"ElementaryTypeName","src":"15026:7:59","typeDescriptions":{}}},"id":25785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15026:29:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":25788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15067:1:59","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":25787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15059:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25786,"name":"address","nodeType":"ElementaryTypeName","src":"15059:7:59","typeDescriptions":{}}},"id":25789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15059:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15026:43:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25802,"nodeType":"IfStatement","src":"15022:143:59","trueBody":{"id":25801,"nodeType":"Block","src":"15071:94:59","statements":[{"expression":{"arguments":[{"id":25796,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25709,"src":"15127:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25797,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"15136:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25798,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"15145:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25791,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"15081:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15083:18:59","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"15081:20:59","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":25795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15102:24:59","memberName":"reduceUserGovernanceVote","nodeType":"MemberAccess","referencedDeclaration":67067,"src":"15081:45:59","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":25799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15081:75:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25800,"nodeType":"ExpressionStatement","src":"15081:75:59"}]}},{"eventCall":{"arguments":[{"id":25804,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"15208:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25805,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25689,"src":"15217:9:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25806,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"15228:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25803,"name":"NavigatorGovernanceVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25097,"src":"15177:30:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":25807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15177:62:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25808,"nodeType":"EmitStatement","src":"15172:67:59"},{"expression":{"hexValue":"30","id":25809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15254:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":25659,"id":25810,"nodeType":"Return","src":"15247:8:59"}]}},{"assignments":[25814,null],"declarations":[{"constant":false,"id":25814,"mutability":"mutable","name":"isPerson","nameLocation":"15346:8:59","nodeType":"VariableDeclaration","scope":25953,"src":"15341:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25813,"name":"bool","nodeType":"ElementaryTypeName","src":"15341:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":25824,"initialValue":{"arguments":[{"id":25818,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"15399:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":25821,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25682,"src":"15426:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25819,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"15408:8:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":25820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15417:8:59","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"15408:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":25822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15408:35:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":25815,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"15360:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15362:16:59","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":24830,"src":"15360:18:59","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":25817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15379:19:59","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"15360:38:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":25823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15360:84:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"15340:104:59"},{"condition":{"id":25826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15454:9:59","subExpression":{"id":25825,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25814,"src":"15455:8:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25858,"nodeType":"IfStatement","src":"15450:263:59","trueBody":{"id":25857,"nodeType":"Block","src":"15465:248:59","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":25836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":25829,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"15485:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15487:18:59","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"15485:20:59","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":25828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15477:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25827,"name":"address","nodeType":"ElementaryTypeName","src":"15477:7:59","typeDescriptions":{}}},"id":25831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15477:29:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":25834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15518:1:59","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":25833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15510:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25832,"name":"address","nodeType":"ElementaryTypeName","src":"15510:7:59","typeDescriptions":{}}},"id":25835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15510:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15477:43:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25848,"nodeType":"IfStatement","src":"15473:143:59","trueBody":{"id":25847,"nodeType":"Block","src":"15522:94:59","statements":[{"expression":{"arguments":[{"id":25842,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25709,"src":"15578:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25843,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"15587:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25844,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"15596:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25837,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"15532:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25840,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15534:18:59","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"15532:20:59","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":25841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15553:24:59","memberName":"reduceUserGovernanceVote","nodeType":"MemberAccess","referencedDeclaration":67067,"src":"15532:45:59","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":25845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15532:75:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25846,"nodeType":"ExpressionStatement","src":"15532:75:59"}]}},{"eventCall":{"arguments":[{"id":25850,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"15659:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25851,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25689,"src":"15668:9:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25852,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"15679:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25849,"name":"NavigatorGovernanceVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25097,"src":"15628:30:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":25853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15628:62:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25854,"nodeType":"EmitStatement","src":"15623:67:59"},{"expression":{"hexValue":"30","id":25855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15705:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":25659,"id":25856,"nodeType":"Return","src":"15698:8:59"}]}},{"assignments":[25860],"declarations":[{"constant":false,"id":25860,"mutability":"mutable","name":"decision","nameLocation":"15863:8:59","nodeType":"VariableDeclaration","scope":25953,"src":"15857:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":25859,"name":"uint8","nodeType":"ElementaryTypeName","src":"15857:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":25867,"initialValue":{"arguments":[{"id":25864,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25689,"src":"15914:9:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25865,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"15925:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25861,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"15874:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15876:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"15874:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":25863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15894:19:59","memberName":"getProposalDecision","nodeType":"MemberAccess","referencedDeclaration":66463,"src":"15874:39:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint8_$","typeString":"function (address,uint256) view external returns (uint8)"}},"id":25866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15874:62:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"15857:79:59"},{"assignments":[25869],"declarations":[{"constant":false,"id":25869,"mutability":"mutable","name":"support","nameLocation":"15948:7:59","nodeType":"VariableDeclaration","scope":25953,"src":"15942:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":25868,"name":"uint8","nodeType":"ElementaryTypeName","src":"15942:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":25873,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":25872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25870,"name":"decision","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25860,"src":"15958:8:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":25871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15969:1:59","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15958:12:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"15942:28:59"},{"assignments":[25875],"declarations":[{"constant":false,"id":25875,"mutability":"mutable","name":"weight","nameLocation":"15985:6:59","nodeType":"VariableDeclaration","scope":25953,"src":"15977:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25874,"name":"uint256","nodeType":"ElementaryTypeName","src":"15977:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25882,"initialValue":{"arguments":[{"id":25879,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"16044:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25880,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25682,"src":"16053:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":25876,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"15994:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25877,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15996:17:59","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":24880,"src":"15994:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":25878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16014:29:59","memberName":"getDelegatedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66409,"src":"15994:49:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":25881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15994:76:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15977:93:59"},{"assignments":[25884],"declarations":[{"constant":false,"id":25884,"mutability":"mutable","name":"power","nameLocation":"16084:5:59","nodeType":"VariableDeclaration","scope":25953,"src":"16076:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25883,"name":"uint256","nodeType":"ElementaryTypeName","src":"16076:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25891,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":25887,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25875,"src":"16102:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25885,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"16092:4:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":25886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16097:4:59","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"16092:9:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":25888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16092:17:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316539","id":25889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16112:3:59","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"16092:23:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16076:39:59"},{"assignments":[25896],"declarations":[{"constant":false,"id":25896,"mutability":"mutable","name":"proposalType","nameLocation":"16151:12:59","nodeType":"VariableDeclaration","scope":25953,"src":"16121:42:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":25895,"nodeType":"UserDefinedTypeName","pathNode":{"id":25894,"name":"GovernorTypesV10.ProposalType","nameLocations":["16121:16:59","16138:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"16121:29:59"},"referencedDeclaration":25017,"src":"16121:29:59","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"id":25904,"initialValue":{"arguments":[{"arguments":[{"id":25901,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"16241:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25899,"name":"GovernorProposalLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"16203:24:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogicV10_$23874_$","typeString":"type(library GovernorProposalLogicV10)"}},"id":25900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16228:12:59","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":21935,"src":"16203:37:59","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":25902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16203:49:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":25897,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"16166:16:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypesV10_$25022_$","typeString":"type(library GovernorTypesV10)"}},"id":25898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16183:12:59","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":25017,"src":"16166:29:59","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$25017_$","typeString":"type(enum GovernorTypesV10.ProposalType)"}},"id":25903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16166:92:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"16121:137:59"},{"expression":{"arguments":[{"id":25906,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25875,"src":"16287:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25907,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25896,"src":"16295:12:59","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"id":25905,"name":"_checkVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25981,"src":"16265:21:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_ProposalType_$25017_$returns$__$","typeString":"function (uint256,enum GovernorTypesV10.ProposalType) view"}},"id":25908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16265:43:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25909,"nodeType":"ExpressionStatement","src":"16265:43:59"},{"expression":{"arguments":[{"id":25911,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"16325:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25912,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"16337:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25913,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25869,"src":"16346:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":25914,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25875,"src":"16355:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25915,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25884,"src":"16363:5:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25910,"name":"_countVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25274,"src":"16314:10:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint8,uint256,uint256)"}},"id":25916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16314:55:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25917,"nodeType":"ExpressionStatement","src":"16314:55:59"},{"expression":{"arguments":[{"id":25919,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"16410:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},{"id":25920,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"16413:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25921,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"16425:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25922,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25875,"src":"16434:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25923,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25869,"src":"16442:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":25924,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25682,"src":"16451:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25918,"name":"_registerVoteWithIntentMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26167,"src":"16376:33:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_GovernorStorage_$24891_storage_ptr_$_t_uint256_$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (struct GovernorStorageTypesV10.GovernorStorage storage pointer,uint256,address,uint256,uint8,uint256)"}},"id":25925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16376:92:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25926,"nodeType":"ExpressionStatement","src":"16376:92:59"},{"expression":{"arguments":[{"id":25928,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"16513:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},{"id":25929,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"16516:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25930,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"16528:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":25927,"name":"_registerRelayerActionForNavigatorVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26207,"src":"16474:38:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_GovernorStorage_$24891_storage_ptr_$_t_uint256_$_t_address_$returns$__$","typeString":"function (struct GovernorStorageTypesV10.GovernorStorage storage pointer,uint256,address)"}},"id":25931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16474:62:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25932,"nodeType":"ExpressionStatement","src":"16474:62:59"},{"eventCall":{"arguments":[{"id":25934,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"16576:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25935,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25689,"src":"16585:9:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25936,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"16596:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25937,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25869,"src":"16608:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":25938,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25875,"src":"16617:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25939,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25884,"src":"16625:5:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25933,"name":"NavigatorGovernanceVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25112,"src":"16548:27:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint8,uint256,uint256)"}},"id":25940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16548:83:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25941,"nodeType":"EmitStatement","src":"16543:88:59"},{"eventCall":{"arguments":[{"id":25943,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25655,"src":"16651:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25944,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25653,"src":"16660:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25945,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25869,"src":"16672:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":25946,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25875,"src":"16681:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25947,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25884,"src":"16689:5:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":25948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16696:2:59","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":25942,"name":"VoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25088,"src":"16642:8:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,uint8,uint256,uint256,string memory)"}},"id":25949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16642:57:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25950,"nodeType":"EmitStatement","src":"16637:62:59"},{"expression":{"id":25951,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25875,"src":"16713:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":25659,"id":25952,"nodeType":"Return","src":"16706:13:59"}]},"documentation":{"id":25651,"nodeType":"StructuredDocumentation","src":"12792:700:59","text":" @notice Cast a governance vote on behalf of a citizen delegated to a navigator,\n         or auto-skip if the navigator is dead / has not set a decision (after skip window).\n Decision flow:\n   1. Navigator dead at snapshot → revert (citizen not delegated)\n   2. Navigator dead NOW → skip immediately, reduce governance vote expectation\n   3. Navigator alive + no decision + skip window NOT reached → revert (relayer retries later)\n   4. Navigator alive + no decision + skip window reached → skip\n   5. Navigator alive + decision set + citizen not a person → skip\n   6. Navigator alive + decision set + citizen is a person → vote normally"},"functionSelector":"b6e9eff4","id":25954,"implemented":true,"kind":"function","modifiers":[],"name":"castNavigatorVote","nameLocation":"13504:17:59","nodeType":"FunctionDefinition","parameters":{"id":25656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25653,"mutability":"mutable","name":"proposalId","nameLocation":"13530:10:59","nodeType":"VariableDeclaration","scope":25954,"src":"13522:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25652,"name":"uint256","nodeType":"ElementaryTypeName","src":"13522:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25655,"mutability":"mutable","name":"citizen","nameLocation":"13550:7:59","nodeType":"VariableDeclaration","scope":25954,"src":"13542:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25654,"name":"address","nodeType":"ElementaryTypeName","src":"13542:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13521:37:59"},"returnParameters":{"id":25659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25954,"src":"13577:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25657,"name":"uint256","nodeType":"ElementaryTypeName","src":"13577:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13576:9:59"},"scope":26208,"src":"13495:3229:59","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":25980,"nodeType":"Block","src":"16990:186:59","statements":[{"assignments":[25964],"declarations":[{"constant":false,"id":25964,"mutability":"mutable","name":"threshold","nameLocation":"17004:9:59","nodeType":"VariableDeclaration","scope":25980,"src":"16996:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25963,"name":"uint256","nodeType":"ElementaryTypeName","src":"16996:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":25969,"initialValue":{"arguments":[{"id":25967,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25960,"src":"17059:12:59","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}],"expression":{"id":25965,"name":"GovernorConfiguratorV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20674,"src":"17016:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfiguratorV10_$20674_$","typeString":"type(library GovernorConfiguratorV10)"}},"id":25966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17040:18:59","memberName":"getVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":20423,"src":"17016:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$25017_$returns$_t_uint256_$","typeString":"function (enum GovernorTypesV10.ProposalType) view returns (uint256)"}},"id":25968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17016:56:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16996:76:59"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25970,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25957,"src":"17082:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":25971,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25964,"src":"17091:9:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17082:18:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":25979,"nodeType":"IfStatement","src":"17078:94:59","trueBody":{"id":25978,"nodeType":"Block","src":"17102:70:59","statements":[{"errorCall":{"arguments":[{"id":25974,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25964,"src":"17147:9:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25975,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25957,"src":"17158:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25973,"name":"GovernorVotingThresholdNotMet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25066,"src":"17117:29:59","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":25976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17117:48:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25977,"nodeType":"RevertStatement","src":"17110:55:59"}]}}]},"documentation":{"id":25955,"nodeType":"StructuredDocumentation","src":"16728:155:59","text":" @notice Checks if the voting threshold is met.\n @param weight - The weight of the vote.\n @param proposalType - The type of proposal."},"id":25981,"implemented":true,"kind":"function","modifiers":[],"name":"_checkVotingThreshold","nameLocation":"16895:21:59","nodeType":"FunctionDefinition","parameters":{"id":25961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25957,"mutability":"mutable","name":"weight","nameLocation":"16925:6:59","nodeType":"VariableDeclaration","scope":25981,"src":"16917:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25956,"name":"uint256","nodeType":"ElementaryTypeName","src":"16917:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25960,"mutability":"mutable","name":"proposalType","nameLocation":"16963:12:59","nodeType":"VariableDeclaration","scope":25981,"src":"16933:42:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":25959,"nodeType":"UserDefinedTypeName","pathNode":{"id":25958,"name":"GovernorTypesV10.ProposalType","nameLocations":["16933:16:59","16950:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"16933:29:59"},"referencedDeclaration":25017,"src":"16933:29:59","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"16916:60:59"},"returnParameters":{"id":25962,"nodeType":"ParameterList","parameters":[],"src":"16990:0:59"},"scope":26208,"src":"16886:290:59","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":26029,"nodeType":"Block","src":"17465:649:59","statements":[{"assignments":[25989],"declarations":[{"constant":false,"id":25989,"mutability":"mutable","name":"$","nameLocation":"17519:1:59","nodeType":"VariableDeclaration","scope":26029,"src":"17471:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":25988,"nodeType":"UserDefinedTypeName","pathNode":{"id":25987,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["17471:23:59","17495:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"17471:39:59"},"referencedDeclaration":24891,"src":"17471:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":25993,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25990,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"17523:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":25991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17547:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"17523:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":25992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17523:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17471:96:59"},{"assignments":[25995],"declarations":[{"constant":false,"id":25995,"mutability":"mutable","name":"isQuadraticDisabled","nameLocation":"17578:19:59","nodeType":"VariableDeclaration","scope":26029,"src":"17573:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25994,"name":"bool","nodeType":"ElementaryTypeName","src":"17573:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":26005,"initialValue":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":26004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25999,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"17644:21:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":26000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17666:5:59","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"17644:27:59","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":26001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17644:29:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":25996,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25989,"src":"17600:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":25997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17602:23:59","memberName":"quadraticVotingDisabled","nodeType":"MemberAccess","referencedDeclaration":24827,"src":"17600:25:59","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":25998,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17626:17:59","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"17600:43:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":26002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17600:74:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":26003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17678:1:59","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17600:79:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"17573:106:59"},{"assignments":[26007],"declarations":[{"constant":false,"id":26007,"mutability":"mutable","name":"newStatus","nameLocation":"17822:9:59","nodeType":"VariableDeclaration","scope":26029,"src":"17814:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":26006,"name":"uint208","nodeType":"ElementaryTypeName","src":"17814:7:59","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":26012,"initialValue":{"condition":{"id":26008,"name":"isQuadraticDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25995,"src":"17834:19:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"31","id":26010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17860:1:59","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"id":26011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"17834:27:59","trueExpression":{"hexValue":"30","id":26009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17856:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"17814:47:59"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":26018,"name":"GovernorClockLogicV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"17951:21:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogicV10_$19614_$","typeString":"type(library GovernorClockLogicV10)"}},"id":26019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17973:5:59","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":19581,"src":"17951:27:59","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":26020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17951:29:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":26021,"name":"newStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26007,"src":"17982:9:59","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"expression":{"id":26013,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25989,"src":"17920:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26016,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17922:23:59","memberName":"quadraticVotingDisabled","nodeType":"MemberAccess","referencedDeclaration":24827,"src":"17920:25:59","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":26017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17946:4:59","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"17920:30:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":26022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17920:72:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":26023,"nodeType":"ExpressionStatement","src":"17920:72:59"},{"eventCall":{"arguments":[{"id":26026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18088:20:59","subExpression":{"id":26025,"name":"isQuadraticDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25995,"src":"18089:19:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":26024,"name":"QuadraticVotingToggled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25139,"src":"18065:22:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":26027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18065:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26028,"nodeType":"EmitStatement","src":"18060:49:59"}]},"documentation":{"id":25982,"nodeType":"StructuredDocumentation","src":"17180:240:59","text":" @notice Toggle quadratic voting for a specific cycle.\n @dev This function toggles the state of quadratic voting for a specific cycle.\n The state will flip between enabled and disabled each time the function is called."},"functionSelector":"9c17e7b3","id":26030,"implemented":true,"kind":"function","modifiers":[],"name":"toggleQuadraticVoting","nameLocation":"17432:21:59","nodeType":"FunctionDefinition","parameters":{"id":25983,"nodeType":"ParameterList","parameters":[],"src":"17453:2:59"},"returnParameters":{"id":25984,"nodeType":"ParameterList","parameters":[],"src":"17465:0:59"},"scope":26208,"src":"17423:691:59","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":26066,"nodeType":"Block","src":"18551:421:59","statements":[{"assignments":[26042],"declarations":[{"constant":false,"id":26042,"mutability":"mutable","name":"$","nameLocation":"18605:1:59","nodeType":"VariableDeclaration","scope":26066,"src":"18557:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":26041,"nodeType":"UserDefinedTypeName","pathNode":{"id":26040,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["18557:23:59","18581:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"18557:39:59"},"referencedDeclaration":24891,"src":"18557:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":26046,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":26043,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"18609:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":26044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18633:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"18609:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":26045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18609:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18557:96:59"},{"assignments":[26048],"declarations":[{"constant":false,"id":26048,"mutability":"mutable","name":"blockNumber","nameLocation":"18713:11:59","nodeType":"VariableDeclaration","scope":26066,"src":"18706:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":26047,"name":"uint48","nodeType":"ElementaryTypeName","src":"18706:6:59","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":26057,"initialValue":{"arguments":[{"arguments":[{"id":26054,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26033,"src":"18779:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":26051,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26042,"src":"18745:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18747:17:59","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"18745:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":26053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18765:13:59","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":70854,"src":"18745:33:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":26055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18745:42:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26049,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"18727:8:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":26050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18736:8:59","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"18727:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":26056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18727:61:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"18706:82:59"},{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":26064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":26061,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26048,"src":"18923:11:59","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":26058,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26042,"src":"18879:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18881:23:59","memberName":"quadraticVotingDisabled","nodeType":"MemberAccess","referencedDeclaration":24827,"src":"18879:25:59","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":26060,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18905:17:59","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"18879:43:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":26062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18879:56:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":26063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18939:1:59","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18879:61:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":26037,"id":26065,"nodeType":"Return","src":"18872:68:59"}]},"documentation":{"id":26031,"nodeType":"StructuredDocumentation","src":"18118:341:59","text":" @notice Check if quadratic voting is disabled at a specific round.\n @dev To check if quadratic voting was disabled for a round, use the block number the round started.\n @param roundId - The round ID for which to check if quadratic voting is disabled.\n @return true if quadratic voting is disabled, false otherwise."},"functionSelector":"a45aa313","id":26067,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticVotingDisabledForRound","nameLocation":"18471:33:59","nodeType":"FunctionDefinition","parameters":{"id":26034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26033,"mutability":"mutable","name":"roundId","nameLocation":"18513:7:59","nodeType":"VariableDeclaration","scope":26067,"src":"18505:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26032,"name":"uint256","nodeType":"ElementaryTypeName","src":"18505:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18504:17:59"},"returnParameters":{"id":26037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26036,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26067,"src":"18545:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26035,"name":"bool","nodeType":"ElementaryTypeName","src":"18545:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18544:6:59"},"scope":26208,"src":"18462:510:59","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":26100,"nodeType":"Block","src":"19209:441:59","statements":[{"assignments":[26077],"declarations":[{"constant":false,"id":26077,"mutability":"mutable","name":"$","nameLocation":"19263:1:59","nodeType":"VariableDeclaration","scope":26100,"src":"19215:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":26076,"nodeType":"UserDefinedTypeName","pathNode":{"id":26075,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["19215:23:59","19239:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"19215:39:59"},"referencedDeclaration":24891,"src":"19215:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"}],"id":26081,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":26078,"name":"GovernorStorageTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"19267:23:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypesV10_$24892_$","typeString":"type(library GovernorStorageTypesV10)"}},"id":26079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19291:18:59","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":24759,"src":"19267:42:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$24891_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypesV10.GovernorStorage storage pointer)"}},"id":26080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19267:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19215:96:59"},{"assignments":[26083],"declarations":[{"constant":false,"id":26083,"mutability":"mutable","name":"roundStartBlock","nameLocation":"19381:15:59","nodeType":"VariableDeclaration","scope":26100,"src":"19373:23:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26082,"name":"uint256","nodeType":"ElementaryTypeName","src":"19373:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":26088,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":26084,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26077,"src":"19399:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26085,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19401:17:59","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":24795,"src":"19399:19:59","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":26086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19419:20:59","memberName":"currentRoundSnapshot","nodeType":"MemberAccess","referencedDeclaration":71026,"src":"19399:40:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":26087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19399:42:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19373:68:59"},{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":26098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":26094,"name":"roundStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26083,"src":"19596:15:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26092,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"19578:8:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":26093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19587:8:59","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"19578:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":26095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19578:34:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":26089,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26077,"src":"19534:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26090,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19536:23:59","memberName":"quadraticVotingDisabled","nodeType":"MemberAccess","referencedDeclaration":24827,"src":"19534:25:59","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":26091,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19560:17:59","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"19534:43:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":26096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19534:79:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":26097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19617:1:59","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19534:84:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":26072,"id":26099,"nodeType":"Return","src":"19527:91:59"}]},"documentation":{"id":26068,"nodeType":"StructuredDocumentation","src":"18976:151:59","text":" @notice Check if quadratic voting is disabled for the current round.\n @return true if quadratic voting is disabled, false otherwise."},"functionSelector":"81c0d6df","id":26101,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticVotingDisabledForCurrentRound","nameLocation":"19139:40:59","nodeType":"FunctionDefinition","parameters":{"id":26069,"nodeType":"ParameterList","parameters":[],"src":"19179:2:59"},"returnParameters":{"id":26072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26101,"src":"19203:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26070,"name":"bool","nodeType":"ElementaryTypeName","src":"19203:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19202:6:59"},"scope":26208,"src":"19130:520:59","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":26166,"nodeType":"Block","src":"20290:507:59","statements":[{"assignments":[26119,26121],"declarations":[{"constant":false,"id":26119,"mutability":"mutable","name":"forAgainstMultiplier","nameLocation":"20411:20:59","nodeType":"VariableDeclaration","scope":26166,"src":"20403:28:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26118,"name":"uint256","nodeType":"ElementaryTypeName","src":"20403:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26121,"mutability":"mutable","name":"abstainMultiplier","nameLocation":"20441:17:59","nodeType":"VariableDeclaration","scope":26166,"src":"20433:25:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26120,"name":"uint256","nodeType":"ElementaryTypeName","src":"20433:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":26132,"initialValue":{"arguments":[{"id":26130,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26115,"src":"20529:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"expression":{"id":26125,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26105,"src":"20484:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20486:12:59","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":24792,"src":"20484:14:59","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":26124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20476:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":26123,"name":"address","nodeType":"ElementaryTypeName","src":"20476:7:59","typeDescriptions":{}}},"id":26127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20476:23:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":26122,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"20462:13:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IVoterRewards_$69092_$","typeString":"type(contract IVoterRewards)"}},"id":26128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20462:38:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":26129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20508:20:59","memberName":"getIntentMultipliers","nodeType":"MemberAccess","referencedDeclaration":69085,"src":"20462:66:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (uint256,uint256)"}},"id":26131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20462:84:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"20402:144:59"},{"assignments":[26134],"declarations":[{"constant":false,"id":26134,"mutability":"mutable","name":"intentMultiplier","nameLocation":"20560:16:59","nodeType":"VariableDeclaration","scope":26166,"src":"20552:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26133,"name":"uint256","nodeType":"ElementaryTypeName","src":"20552:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":26142,"initialValue":{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":26137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26135,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26113,"src":"20580:7:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":26136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20591:1:59","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"20580:12:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":26138,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20579:14:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":26140,"name":"forAgainstMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26119,"src":"20616:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":26141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"20579:57:59","trueExpression":{"id":26139,"name":"abstainMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26121,"src":"20596:17:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20552:84:59"},{"assignments":[26144],"declarations":[{"constant":false,"id":26144,"mutability":"mutable","name":"rewardWeight","nameLocation":"20650:12:59","nodeType":"VariableDeclaration","scope":26166,"src":"20642:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26143,"name":"uint256","nodeType":"ElementaryTypeName","src":"20642:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":26151,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26145,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26111,"src":"20666:6:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":26146,"name":"intentMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26134,"src":"20675:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20666:25:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":26148,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20665:27:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3130303030","id":26149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20695:5:59","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10000"},"src":"20665:35:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20642:58:59"},{"expression":{"arguments":[{"id":26157,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26107,"src":"20735:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26158,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26109,"src":"20747:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26159,"name":"rewardWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26144,"src":"20754:12:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":26162,"name":"rewardWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26144,"src":"20778:12:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26160,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"20768:4:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":26161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20773:4:59","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"20768:9:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":26163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20768:23:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":26152,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26105,"src":"20707:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20709:12:59","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":24792,"src":"20707:14:59","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":26156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20722:12:59","memberName":"registerVote","nodeType":"MemberAccess","referencedDeclaration":68931,"src":"20707:27:59","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256,uint256) external"}},"id":26164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20707:85:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26165,"nodeType":"ExpressionStatement","src":"20707:85:59"}]},"documentation":{"id":26102,"nodeType":"StructuredDocumentation","src":"19654:411:59","text":"@dev Register a vote with governance intent multiplier applied to reward weight\n @param $ The governor storage\n @param proposalId The proposal ID\n @param voter The voter address\n @param weight The raw voting weight (unmultiplied)\n @param support The vote support value (0=Against, 1=For, 2=Abstain)\n @param proposalSnapshot The proposal snapshot timepoint for multiplier lookup"},"id":26167,"implemented":true,"kind":"function","modifiers":[],"name":"_registerVoteWithIntentMultiplier","nameLocation":"20077:33:59","nodeType":"FunctionDefinition","parameters":{"id":26116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26105,"mutability":"mutable","name":"$","nameLocation":"20164:1:59","nodeType":"VariableDeclaration","scope":26167,"src":"20116:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":26104,"nodeType":"UserDefinedTypeName","pathNode":{"id":26103,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["20116:23:59","20140:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"20116:39:59"},"referencedDeclaration":24891,"src":"20116:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"},{"constant":false,"id":26107,"mutability":"mutable","name":"proposalId","nameLocation":"20179:10:59","nodeType":"VariableDeclaration","scope":26167,"src":"20171:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26106,"name":"uint256","nodeType":"ElementaryTypeName","src":"20171:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26109,"mutability":"mutable","name":"voter","nameLocation":"20203:5:59","nodeType":"VariableDeclaration","scope":26167,"src":"20195:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26108,"name":"address","nodeType":"ElementaryTypeName","src":"20195:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26111,"mutability":"mutable","name":"weight","nameLocation":"20222:6:59","nodeType":"VariableDeclaration","scope":26167,"src":"20214:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26110,"name":"uint256","nodeType":"ElementaryTypeName","src":"20214:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26113,"mutability":"mutable","name":"support","nameLocation":"20240:7:59","nodeType":"VariableDeclaration","scope":26167,"src":"20234:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":26112,"name":"uint8","nodeType":"ElementaryTypeName","src":"20234:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":26115,"mutability":"mutable","name":"proposalSnapshot","nameLocation":"20261:16:59","nodeType":"VariableDeclaration","scope":26167,"src":"20253:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26114,"name":"uint256","nodeType":"ElementaryTypeName","src":"20253:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20110:171:59"},"returnParameters":{"id":26117,"nodeType":"ParameterList","parameters":[],"src":"20290:0:59"},"scope":26208,"src":"20068:729:59","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":26206,"nodeType":"Block","src":"20961:227:59","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":26186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":26179,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26170,"src":"20979:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20981:18:59","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"20979:20:59","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":26178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20971:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":26177,"name":"address","nodeType":"ElementaryTypeName","src":"20971:7:59","typeDescriptions":{}}},"id":26181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20971:29:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":26184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21012:1:59","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":26183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21004:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":26182,"name":"address","nodeType":"ElementaryTypeName","src":"21004:7:59","typeDescriptions":{}}},"id":26185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21004:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20971:43:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":26188,"nodeType":"IfStatement","src":"20967:56:59","trueBody":{"functionReturnParameters":26176,"id":26187,"nodeType":"Return","src":"21016:7:59"}},{"expression":{"arguments":[{"expression":{"id":26194,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21078:3:59","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":26195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21082:6:59","memberName":"sender","nodeType":"MemberAccess","src":"21078:10:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26196,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26174,"src":"21096:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"expression":{"id":26197,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26170,"src":"21111:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21113:9:59","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":24766,"src":"21111:11:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$24981_storage_$","typeString":"mapping(uint256 => struct GovernorTypesV10.ProposalCore storage ref)"}},"id":26200,"indexExpression":{"id":26199,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26172,"src":"21123:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21111:23:59","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$24981_storage","typeString":"struct GovernorTypesV10.ProposalCore storage ref"}},"id":26201,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21135:16:59","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":24966,"src":"21111:40:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":26202,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"21159:13:59","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RelayerAction_$66644_$","typeString":"type(enum RelayerAction)"}},"id":26203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21173:4:59","memberName":"VOTE","nodeType":"MemberAccess","referencedDeclaration":66642,"src":"21159:18:59","typeDescriptions":{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}],"expression":{"expression":{"id":26189,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26170,"src":"21028:1:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage storage pointer"}},"id":26192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21030:18:59","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":24883,"src":"21028:20:59","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":26193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21049:21:59","memberName":"registerRelayerAction","nodeType":"MemberAccess","referencedDeclaration":67080,"src":"21028:42:59","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_RelayerAction_$66644_$returns$__$","typeString":"function (address,address,uint256,enum RelayerAction) external"}},"id":26204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21028:155:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26205,"nodeType":"ExpressionStatement","src":"21028:155:59"}]},"id":26207,"implemented":true,"kind":"function","modifiers":[],"name":"_registerRelayerActionForNavigatorVote","nameLocation":"20810:38:59","nodeType":"FunctionDefinition","parameters":{"id":26175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26170,"mutability":"mutable","name":"$","nameLocation":"20902:1:59","nodeType":"VariableDeclaration","scope":26207,"src":"20854:49:59","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"},"typeName":{"id":26169,"nodeType":"UserDefinedTypeName","pathNode":{"id":26168,"name":"GovernorStorageTypesV10.GovernorStorage","nameLocations":["20854:23:59","20878:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":24891,"src":"20854:39:59"},"referencedDeclaration":24891,"src":"20854:39:59","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$24891_storage_ptr","typeString":"struct GovernorStorageTypesV10.GovernorStorage"}},"visibility":"internal"},{"constant":false,"id":26172,"mutability":"mutable","name":"proposalId","nameLocation":"20917:10:59","nodeType":"VariableDeclaration","scope":26207,"src":"20909:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26171,"name":"uint256","nodeType":"ElementaryTypeName","src":"20909:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26174,"mutability":"mutable","name":"citizen","nameLocation":"20941:7:59","nodeType":"VariableDeclaration","scope":26207,"src":"20933:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26173,"name":"address","nodeType":"ElementaryTypeName","src":"20933:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20848:104:59"},"returnParameters":{"id":26176,"nodeType":"ParameterList","parameters":[],"src":"20961:0:59"},"scope":26208,"src":"20801:387:59","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":26209,"src":"2252:18938:59","usedErrors":[7025,8883,24425,24435,25056,25059,25066,25073,25117,25122,25129,25134],"usedEvents":[25088,25097,25112,25139]}],"src":"1195:19996:59"},"id":59},"contracts/deprecated/V10/interfaces/IB3TRGovernorV10.sol":{"ast":{"absolutePath":"contracts/deprecated/V10/interfaces/IB3TRGovernorV10.sol","exportedSymbols":{"GovernorTypesV10":[25022],"IB3TR":[62888],"IB3TRGovernorV10":[27080],"IERC165":[5961],"IERC6372":[4552],"IGalaxyMember":[65196],"IGrantsManager":[65639],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124]},"id":27081,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":26210,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"120:23:60"},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","file":"@openzeppelin/contracts/interfaces/IERC165.sol","id":26212,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":4503,"src":"145:73:60","symbolAliases":[{"foreign":{"id":26211,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"154:7:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC6372.sol","file":"@openzeppelin/contracts/interfaces/IERC6372.sol","id":26214,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":4553,"src":"219:75:60","symbolAliases":[{"foreign":{"id":26213,"name":"IERC6372","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4552,"src":"228:8:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../../interfaces/IB3TR.sol","id":26216,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":62889,"src":"295:54:60","symbolAliases":[{"foreign":{"id":26215,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"304:5:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../interfaces/IVoterRewards.sol","id":26218,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":69093,"src":"350:70:60","symbolAliases":[{"foreign":{"id":26217,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"359:13:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../../interfaces/IXAllocationVotingGovernor.sol","id":26220,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":71125,"src":"421:96:60","symbolAliases":[{"foreign":{"id":26219,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"430:26:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol","file":"../governance/libraries/GovernorTypesV10.sol","id":26222,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":25023,"src":"518:80:60","symbolAliases":[{"foreign":{"id":26221,"name":"GovernorTypesV10","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"527:16:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../../interfaces/IVeBetterPassport.sol","id":26224,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":68602,"src":"599:78:60","symbolAliases":[{"foreign":{"id":26223,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"608:17:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../../../interfaces/IGalaxyMember.sol","id":26226,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":65197,"src":"678:70:60","symbolAliases":[{"foreign":{"id":26225,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"687:13:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../../interfaces/IGrantsManager.sol","id":26228,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":65640,"src":"749:72:60","symbolAliases":[{"foreign":{"id":26227,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"758:14:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../../interfaces/IRelayerRewardsPool.sol","id":26230,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":27081,"sourceUnit":67118,"src":"822:82:60","symbolAliases":[{"foreign":{"id":26229,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"831:19:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":26232,"name":"IERC165","nameLocations":["1642:7:60"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"1642:7:60"},"id":26233,"nodeType":"InheritanceSpecifier","src":"1642:7:60"},{"baseName":{"id":26234,"name":"IERC6372","nameLocations":["1651:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":4552,"src":"1651:8:60"},"id":26235,"nodeType":"InheritanceSpecifier","src":"1651:8:60"}],"canonicalName":"IB3TRGovernorV10","contractDependencies":[],"contractKind":"interface","documentation":{"id":26231,"nodeType":"StructuredDocumentation","src":"906:705:60","text":" @dev Interface of the {B3TRGovernorV10} core.\n Modifications to original forked contract from OZ:\n - Removed votingDelay()\n - Removed the possibility to cast vote with params and with signature\n - Updated propose() and ProposalCreated event to accept the x allocation round id as param when proposal should become active\n - Added proposalStartRound() to get the round when the proposal should become active\n - Added canProposalStartInNextRound() to check if the proposal can start in the next allocation round\n - Added new state `DepositNotMet` to ProposalState enum\n - Added depositThreshold() to get the minimum required deposit for a proposal and removed proposalThreshold"},"fullyImplemented":false,"id":27080,"linearizedBaseContracts":[27080,4552,5961],"name":"IB3TRGovernorV10","nameLocation":"1622:16:60","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":26236,"nodeType":"StructuredDocumentation","src":"1664:99:60","text":" @dev Empty proposal or a mismatch between the parameters length for a proposal call."},"errorSelector":"447b05d0","id":26244,"name":"GovernorInvalidProposalLength","nameLocation":"1772:29:60","nodeType":"ErrorDefinition","parameters":{"id":26243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26238,"mutability":"mutable","name":"targets","nameLocation":"1810:7:60","nodeType":"VariableDeclaration","scope":26244,"src":"1802:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26237,"name":"uint256","nodeType":"ElementaryTypeName","src":"1802:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26240,"mutability":"mutable","name":"calldatas","nameLocation":"1827:9:60","nodeType":"VariableDeclaration","scope":26244,"src":"1819:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26239,"name":"uint256","nodeType":"ElementaryTypeName","src":"1819:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26242,"mutability":"mutable","name":"values","nameLocation":"1846:6:60","nodeType":"VariableDeclaration","scope":26244,"src":"1838:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26241,"name":"uint256","nodeType":"ElementaryTypeName","src":"1838:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1801:52:60"},"src":"1766:88:60"},{"documentation":{"id":26245,"nodeType":"StructuredDocumentation","src":"1858:46:60","text":" @dev The vote was already cast."},"errorSelector":"71c6af49","id":26249,"name":"GovernorAlreadyCastVote","nameLocation":"1913:23:60","nodeType":"ErrorDefinition","parameters":{"id":26248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26247,"mutability":"mutable","name":"voter","nameLocation":"1945:5:60","nodeType":"VariableDeclaration","scope":26249,"src":"1937:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26246,"name":"address","nodeType":"ElementaryTypeName","src":"1937:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1936:15:60"},"src":"1907:45:60"},{"documentation":{"id":26250,"nodeType":"StructuredDocumentation","src":"1956:65:60","text":" @dev Token deposits are disabled in this contract."},"errorSelector":"e90a651e","id":26252,"name":"GovernorDisabledDeposit","nameLocation":"2030:23:60","nodeType":"ErrorDefinition","parameters":{"id":26251,"nodeType":"ParameterList","parameters":[],"src":"2053:2:60"},"src":"2024:32:60"},{"documentation":{"id":26253,"nodeType":"StructuredDocumentation","src":"2060:89:60","text":" @dev Thrown when the proposer does not fit the requirement (GM weight ATM)"},"errorSelector":"ef00c8fe","id":26257,"name":"GMLevelAboveMaxLevel","nameLocation":"2158:20:60","nodeType":"ErrorDefinition","parameters":{"id":26256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26255,"mutability":"mutable","name":"gmLevel","nameLocation":"2187:7:60","nodeType":"VariableDeclaration","scope":26257,"src":"2179:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26254,"name":"uint256","nodeType":"ElementaryTypeName","src":"2179:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2178:17:60"},"src":"2152:44:60"},{"documentation":{"id":26258,"nodeType":"StructuredDocumentation","src":"2200:76:60","text":" @dev The GM level is not in the valid range - 0 to max level."},"errorSelector":"25b073c8","id":26264,"name":"GovernorInvalidProposer","nameLocation":"2285:23:60","nodeType":"ErrorDefinition","parameters":{"id":26263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26260,"mutability":"mutable","name":"proposer","nameLocation":"2317:8:60","nodeType":"VariableDeclaration","scope":26264,"src":"2309:16:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26259,"name":"address","nodeType":"ElementaryTypeName","src":"2309:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26262,"mutability":"mutable","name":"requiredWeight","nameLocation":"2335:14:60","nodeType":"VariableDeclaration","scope":26264,"src":"2327:22:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26261,"name":"uint256","nodeType":"ElementaryTypeName","src":"2327:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2308:42:60"},"src":"2279:72:60"},{"documentation":{"id":26265,"nodeType":"StructuredDocumentation","src":"2355:52:60","text":" @dev The `account` is not a proposer."},"errorSelector":"233d98e3","id":26269,"name":"GovernorOnlyProposer","nameLocation":"2416:20:60","nodeType":"ErrorDefinition","parameters":{"id":26268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26267,"mutability":"mutable","name":"account","nameLocation":"2445:7:60","nodeType":"VariableDeclaration","scope":26269,"src":"2437:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26266,"name":"address","nodeType":"ElementaryTypeName","src":"2437:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2436:17:60"},"src":"2410:44:60"},{"documentation":{"id":26270,"nodeType":"StructuredDocumentation","src":"2458:65:60","text":" @dev The `account` is not the governance executor."},"errorSelector":"47096e47","id":26274,"name":"GovernorOnlyExecutor","nameLocation":"2532:20:60","nodeType":"ErrorDefinition","parameters":{"id":26273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26272,"mutability":"mutable","name":"account","nameLocation":"2561:7:60","nodeType":"VariableDeclaration","scope":26274,"src":"2553:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26271,"name":"address","nodeType":"ElementaryTypeName","src":"2553:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2552:17:60"},"src":"2526:44:60"},{"documentation":{"id":26275,"nodeType":"StructuredDocumentation","src":"2574:51:60","text":" @dev The `proposalId` doesn't exist."},"errorSelector":"6ad06075","id":26279,"name":"GovernorNonexistentProposal","nameLocation":"2634:27:60","nodeType":"ErrorDefinition","parameters":{"id":26278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26277,"mutability":"mutable","name":"proposalId","nameLocation":"2670:10:60","nodeType":"VariableDeclaration","scope":26279,"src":"2662:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26276,"name":"uint256","nodeType":"ElementaryTypeName","src":"2662:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2661:20:60"},"src":"2628:54:60"},{"documentation":{"id":26280,"nodeType":"StructuredDocumentation","src":"2686:53:60","text":" @dev The `votingThreshold` is not met."},"errorSelector":"742f62c3","id":26286,"name":"GovernorVotingThresholdNotMet","nameLocation":"2748:29:60","nodeType":"ErrorDefinition","parameters":{"id":26285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26282,"mutability":"mutable","name":"threshold","nameLocation":"2786:9:60","nodeType":"VariableDeclaration","scope":26286,"src":"2778:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26281,"name":"uint256","nodeType":"ElementaryTypeName","src":"2778:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26284,"mutability":"mutable","name":"votes","nameLocation":"2805:5:60","nodeType":"VariableDeclaration","scope":26286,"src":"2797:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26283,"name":"uint256","nodeType":"ElementaryTypeName","src":"2797:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2777:34:60"},"src":"2742:70:60"},{"documentation":{"id":26287,"nodeType":"StructuredDocumentation","src":"2816:80:60","text":" @dev The quorum numerator is greater than the quorum denominator."},"errorSelector":"243e5445","id":26293,"name":"GovernorInvalidQuorumFraction","nameLocation":"2905:29:60","nodeType":"ErrorDefinition","parameters":{"id":26292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26289,"mutability":"mutable","name":"quorumNumerator","nameLocation":"2943:15:60","nodeType":"VariableDeclaration","scope":26293,"src":"2935:23:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26288,"name":"uint256","nodeType":"ElementaryTypeName","src":"2935:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26291,"mutability":"mutable","name":"quorumDenominator","nameLocation":"2968:17:60","nodeType":"VariableDeclaration","scope":26293,"src":"2960:25:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26290,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2934:52:60"},"src":"2899:88:60"},{"documentation":{"id":26294,"nodeType":"StructuredDocumentation","src":"2991:162:60","text":" @dev Thrown when the personhood verification fails.\n @param voter The address of the voter.\n @param explanation The reason for the failure."},"errorSelector":"44c45349","id":26300,"name":"GovernorPersonhoodVerificationFailed","nameLocation":"3162:36:60","nodeType":"ErrorDefinition","parameters":{"id":26299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26296,"mutability":"mutable","name":"voter","nameLocation":"3207:5:60","nodeType":"VariableDeclaration","scope":26300,"src":"3199:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26295,"name":"address","nodeType":"ElementaryTypeName","src":"3199:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26298,"mutability":"mutable","name":"explanation","nameLocation":"3221:11:60","nodeType":"VariableDeclaration","scope":26300,"src":"3214:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26297,"name":"string","nodeType":"ElementaryTypeName","src":"3214:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3198:35:60"},"src":"3156:78:60"},{"documentation":{"id":26301,"nodeType":"StructuredDocumentation","src":"3238:512:60","text":" @dev The current state of a proposal is not the required for performing an operation.\n The `expectedStates` is a bitmap with the bits enabled for each ProposalState enum position\n counting from right to left.\n NOTE: If `expectedState` is `bytes32(0)`, the proposal is expected to not be in any state (i.e. not exist).\n This is the case when a proposal that is expected to be unset is already initiated (the proposal is duplicated).\n See {Governor-_encodeStateBitmap}."},"errorSelector":"31b75e4d","id":26310,"name":"GovernorUnexpectedProposalState","nameLocation":"3759:31:60","nodeType":"ErrorDefinition","parameters":{"id":26309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26303,"mutability":"mutable","name":"proposalId","nameLocation":"3804:10:60","nodeType":"VariableDeclaration","scope":26310,"src":"3796:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26302,"name":"uint256","nodeType":"ElementaryTypeName","src":"3796:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26306,"mutability":"mutable","name":"current","nameLocation":"3851:7:60","nodeType":"VariableDeclaration","scope":26310,"src":"3820:38:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"typeName":{"id":26305,"nodeType":"UserDefinedTypeName","pathNode":{"id":26304,"name":"GovernorTypesV10.ProposalState","nameLocations":["3820:16:60","3837:13:60"],"nodeType":"IdentifierPath","referencedDeclaration":24992,"src":"3820:30:60"},"referencedDeclaration":24992,"src":"3820:30:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"visibility":"internal"},{"constant":false,"id":26308,"mutability":"mutable","name":"expectedStates","nameLocation":"3872:14:60","nodeType":"VariableDeclaration","scope":26310,"src":"3864:22:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3864:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3790:100:60"},"src":"3753:138:60"},{"documentation":{"id":26311,"nodeType":"StructuredDocumentation","src":"3895:64:60","text":" @dev The voting period set is not a valid period."},"errorSelector":"f1cfbf05","id":26315,"name":"GovernorInvalidVotingPeriod","nameLocation":"3968:27:60","nodeType":"ErrorDefinition","parameters":{"id":26314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26313,"mutability":"mutable","name":"votingPeriod","nameLocation":"4004:12:60","nodeType":"VariableDeclaration","scope":26315,"src":"3996:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26312,"name":"uint256","nodeType":"ElementaryTypeName","src":"3996:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3995:22:60"},"src":"3962:56:60"},{"documentation":{"id":26316,"nodeType":"StructuredDocumentation","src":"4022:89:60","text":" @dev The `proposer` does not have the required votes to create a proposal."},"errorSelector":"c242ee16","id":26324,"name":"GovernorInsufficientProposerVotes","nameLocation":"4120:33:60","nodeType":"ErrorDefinition","parameters":{"id":26323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26318,"mutability":"mutable","name":"proposer","nameLocation":"4162:8:60","nodeType":"VariableDeclaration","scope":26324,"src":"4154:16:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26317,"name":"address","nodeType":"ElementaryTypeName","src":"4154:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26320,"mutability":"mutable","name":"votes","nameLocation":"4180:5:60","nodeType":"VariableDeclaration","scope":26324,"src":"4172:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26319,"name":"uint256","nodeType":"ElementaryTypeName","src":"4172:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26322,"mutability":"mutable","name":"threshold","nameLocation":"4195:9:60","nodeType":"VariableDeclaration","scope":26324,"src":"4187:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26321,"name":"uint256","nodeType":"ElementaryTypeName","src":"4187:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4153:52:60"},"src":"4114:92:60"},{"documentation":{"id":26325,"nodeType":"StructuredDocumentation","src":"4210:71:60","text":" @dev The `proposer` is not allowed to create a proposal."},"errorSelector":"d9b39557","id":26329,"name":"GovernorRestrictedProposer","nameLocation":"4290:26:60","nodeType":"ErrorDefinition","parameters":{"id":26328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26327,"mutability":"mutable","name":"proposer","nameLocation":"4325:8:60","nodeType":"VariableDeclaration","scope":26329,"src":"4317:16:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26326,"name":"address","nodeType":"ElementaryTypeName","src":"4317:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4316:18:60"},"src":"4284:51:60"},{"documentation":{"id":26330,"nodeType":"StructuredDocumentation","src":"4339:90:60","text":" @dev The vote type used is not valid for the corresponding counting module."},"errorSelector":"06b337c2","id":26332,"name":"GovernorInvalidVoteType","nameLocation":"4438:23:60","nodeType":"ErrorDefinition","parameters":{"id":26331,"nodeType":"ParameterList","parameters":[],"src":"4461:2:60"},"src":"4432:32:60"},{"documentation":{"id":26333,"nodeType":"StructuredDocumentation","src":"4468:108:60","text":" @dev Queue operation is not implemented for this governor. Execute should be called directly."},"errorSelector":"90884a46","id":26335,"name":"GovernorQueueNotImplemented","nameLocation":"4585:27:60","nodeType":"ErrorDefinition","parameters":{"id":26334,"nodeType":"ParameterList","parameters":[],"src":"4612:2:60"},"src":"4579:36:60"},{"documentation":{"id":26336,"nodeType":"StructuredDocumentation","src":"4619:56:60","text":" @dev The proposal hasn't been queued yet."},"errorSelector":"d5ddb825","id":26340,"name":"GovernorNotQueuedProposal","nameLocation":"4684:25:60","nodeType":"ErrorDefinition","parameters":{"id":26339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26338,"mutability":"mutable","name":"proposalId","nameLocation":"4718:10:60","nodeType":"VariableDeclaration","scope":26340,"src":"4710:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26337,"name":"uint256","nodeType":"ElementaryTypeName","src":"4710:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4709:20:60"},"src":"4678:52:60"},{"documentation":{"id":26341,"nodeType":"StructuredDocumentation","src":"4734:57:60","text":" @dev The proposal has already been queued."},"errorSelector":"f20e7d37","id":26345,"name":"GovernorAlreadyQueuedProposal","nameLocation":"4800:29:60","nodeType":"ErrorDefinition","parameters":{"id":26344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26343,"mutability":"mutable","name":"proposalId","nameLocation":"4838:10:60","nodeType":"VariableDeclaration","scope":26345,"src":"4830:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26342,"name":"uint256","nodeType":"ElementaryTypeName","src":"4830:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4829:20:60"},"src":"4794:56:60"},{"documentation":{"id":26346,"nodeType":"StructuredDocumentation","src":"4854:70:60","text":" @dev The round when proposal should start is not valid."},"errorSelector":"7a5d07d3","id":26350,"name":"GovernorInvalidStartRound","nameLocation":"4933:25:60","nodeType":"ErrorDefinition","parameters":{"id":26349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26348,"mutability":"mutable","name":"roundId","nameLocation":"4967:7:60","nodeType":"VariableDeclaration","scope":26350,"src":"4959:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26347,"name":"uint256","nodeType":"ElementaryTypeName","src":"4959:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4958:17:60"},"src":"4927:49:60"},{"documentation":{"id":26351,"nodeType":"StructuredDocumentation","src":"4980:52:60","text":" @dev There is no deposit to withdraw."},"errorSelector":"15fb458d","id":26357,"name":"GovernorNoDepositToWithdraw","nameLocation":"5041:27:60","nodeType":"ErrorDefinition","parameters":{"id":26356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26353,"mutability":"mutable","name":"proposalId","nameLocation":"5077:10:60","nodeType":"VariableDeclaration","scope":26357,"src":"5069:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26352,"name":"uint256","nodeType":"ElementaryTypeName","src":"5069:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26355,"mutability":"mutable","name":"depositer","nameLocation":"5097:9:60","nodeType":"VariableDeclaration","scope":26357,"src":"5089:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26354,"name":"address","nodeType":"ElementaryTypeName","src":"5089:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5068:39:60"},"src":"5035:73:60"},{"documentation":{"id":26358,"nodeType":"StructuredDocumentation","src":"5112:62:60","text":" @dev The deposit amount must be greater than 0."},"errorSelector":"c22b340f","id":26360,"name":"GovernorInvalidDepositAmount","nameLocation":"5183:28:60","nodeType":"ErrorDefinition","parameters":{"id":26359,"nodeType":"ParameterList","parameters":[],"src":"5211:2:60"},"src":"5177:37:60"},{"documentation":{"id":26361,"nodeType":"StructuredDocumentation","src":"5218:96:60","text":" @dev The deposit threshold is not in the valid range for a percentage - 0 to 100."},"errorSelector":"3e09bbca","id":26365,"name":"GovernorDepositThresholdNotInRange","nameLocation":"5323:34:60","nodeType":"ErrorDefinition","parameters":{"id":26364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26363,"mutability":"mutable","name":"depositThreshold","nameLocation":"5366:16:60","nodeType":"VariableDeclaration","scope":26365,"src":"5358:24:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26362,"name":"uint256","nodeType":"ElementaryTypeName","src":"5358:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5357:26:60"},"src":"5317:67:60"},{"documentation":{"id":26366,"nodeType":"StructuredDocumentation","src":"5388:65:60","text":" @dev User is not authorized to perform the action."},"errorSelector":"dccef964","id":26370,"name":"UnauthorizedAccess","nameLocation":"5462:18:60","nodeType":"ErrorDefinition","parameters":{"id":26369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26368,"mutability":"mutable","name":"user","nameLocation":"5489:4:60","nodeType":"VariableDeclaration","scope":26370,"src":"5481:12:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26367,"name":"address","nodeType":"ElementaryTypeName","src":"5481:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5480:14:60"},"src":"5456:39:60"},{"documentation":{"id":26371,"nodeType":"StructuredDocumentation","src":"5499:67:60","text":" @dev The grantee cannot deposit for their own grant."},"errorSelector":"784751ae","id":26375,"name":"GranteeCannotDepositOwnGrant","nameLocation":"5575:28:60","nodeType":"ErrorDefinition","parameters":{"id":26374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26373,"mutability":"mutable","name":"proposalId","nameLocation":"5612:10:60","nodeType":"VariableDeclaration","scope":26375,"src":"5604:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26372,"name":"uint256","nodeType":"ElementaryTypeName","src":"5604:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5603:20:60"},"src":"5569:55:60"},{"documentation":{"id":26376,"nodeType":"StructuredDocumentation","src":"5628:280:60","text":" @dev Thrown when a proposal is not allowed to perform a specific action.\n Some actions are restricted to Standard proposals only, others to Grant proposals only.\n eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded."},"errorSelector":"44b7587b","id":26383,"name":"GovernorRestrictedProposal","nameLocation":"5917:26:60","nodeType":"ErrorDefinition","parameters":{"id":26382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26378,"mutability":"mutable","name":"proposalId","nameLocation":"5952:10:60","nodeType":"VariableDeclaration","scope":26383,"src":"5944:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26377,"name":"uint256","nodeType":"ElementaryTypeName","src":"5944:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26381,"mutability":"mutable","name":"proposalType","nameLocation":"5994:12:60","nodeType":"VariableDeclaration","scope":26383,"src":"5964:42:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26380,"nodeType":"UserDefinedTypeName","pathNode":{"id":26379,"name":"GovernorTypesV10.ProposalType","nameLocations":["5964:16:60","5981:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"5964:29:60"},"referencedDeclaration":25017,"src":"5964:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"5943:64:60"},"src":"5911:97:60"},{"documentation":{"id":26384,"nodeType":"StructuredDocumentation","src":"6012:60:60","text":"@dev The governance skip window has not been reached yet"},"errorSelector":"490a565e","id":26388,"name":"GovernanceSkipWindowNotReached","nameLocation":"6081:30:60","nodeType":"ErrorDefinition","parameters":{"id":26387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26386,"mutability":"mutable","name":"proposalId","nameLocation":"6120:10:60","nodeType":"VariableDeclaration","scope":26388,"src":"6112:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26385,"name":"uint256","nodeType":"ElementaryTypeName","src":"6112:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6111:20:60"},"src":"6075:57:60"},{"documentation":{"id":26389,"nodeType":"StructuredDocumentation","src":"6136:62:60","text":"@dev Thrown when citizen is not delegated to any navigator"},"errorSelector":"68e4d5d8","id":26393,"name":"NotDelegatedToNavigator","nameLocation":"6207:23:60","nodeType":"ErrorDefinition","parameters":{"id":26392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26391,"mutability":"mutable","name":"citizen","nameLocation":"6239:7:60","nodeType":"VariableDeclaration","scope":26393,"src":"6231:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26390,"name":"address","nodeType":"ElementaryTypeName","src":"6231:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6230:17:60"},"src":"6201:47:60"},{"documentation":{"id":26394,"nodeType":"StructuredDocumentation","src":"6252:81:60","text":"@dev Thrown when citizen is delegated to a navigator and cannot vote manually"},"errorSelector":"640ed183","id":26398,"name":"DelegatedToNavigator","nameLocation":"6342:20:60","nodeType":"ErrorDefinition","parameters":{"id":26397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26396,"mutability":"mutable","name":"citizen","nameLocation":"6371:7:60","nodeType":"VariableDeclaration","scope":26398,"src":"6363:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26395,"name":"address","nodeType":"ElementaryTypeName","src":"6363:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6362:17:60"},"src":"6336:44:60"},{"documentation":{"id":26399,"nodeType":"StructuredDocumentation","src":"6384:70:60","text":"@dev Thrown when navigator has not set a decision for the proposal"},"errorSelector":"ee3101ec","id":26405,"name":"NavigatorDecisionNotSet","nameLocation":"6463:23:60","nodeType":"ErrorDefinition","parameters":{"id":26404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26401,"mutability":"mutable","name":"navigator","nameLocation":"6495:9:60","nodeType":"VariableDeclaration","scope":26405,"src":"6487:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26400,"name":"address","nodeType":"ElementaryTypeName","src":"6487:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26403,"mutability":"mutable","name":"proposalId","nameLocation":"6514:10:60","nodeType":"VariableDeclaration","scope":26405,"src":"6506:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26402,"name":"uint256","nodeType":"ElementaryTypeName","src":"6506:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6486:39:60"},"src":"6457:69:60"},{"anonymous":false,"documentation":{"id":26406,"nodeType":"StructuredDocumentation","src":"6530:54:60","text":" @dev Emitted when a proposal is created"},"eventSelector":"9c2b0d68f5edfd1bf6158a1867aced894efcfcf77c7a7603cb571e18ce89ae76","id":26430,"name":"ProposalCreated","nameLocation":"6593:15:60","nodeType":"EventDefinition","parameters":{"id":26429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26408,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"6630:10:60","nodeType":"VariableDeclaration","scope":26430,"src":"6614:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26407,"name":"uint256","nodeType":"ElementaryTypeName","src":"6614:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26410,"indexed":true,"mutability":"mutable","name":"proposer","nameLocation":"6662:8:60","nodeType":"VariableDeclaration","scope":26430,"src":"6646:24:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26409,"name":"address","nodeType":"ElementaryTypeName","src":"6646:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26413,"indexed":false,"mutability":"mutable","name":"targets","nameLocation":"6686:7:60","nodeType":"VariableDeclaration","scope":26430,"src":"6676:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":26411,"name":"address","nodeType":"ElementaryTypeName","src":"6676:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":26412,"nodeType":"ArrayTypeName","src":"6676:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":26416,"indexed":false,"mutability":"mutable","name":"values","nameLocation":"6709:6:60","nodeType":"VariableDeclaration","scope":26430,"src":"6699:16:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":26414,"name":"uint256","nodeType":"ElementaryTypeName","src":"6699:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":26415,"nodeType":"ArrayTypeName","src":"6699:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":26419,"indexed":false,"mutability":"mutable","name":"signatures","nameLocation":"6730:10:60","nodeType":"VariableDeclaration","scope":26430,"src":"6721:19:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":26417,"name":"string","nodeType":"ElementaryTypeName","src":"6721:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":26418,"nodeType":"ArrayTypeName","src":"6721:8:60","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":26422,"indexed":false,"mutability":"mutable","name":"calldatas","nameLocation":"6754:9:60","nodeType":"VariableDeclaration","scope":26430,"src":"6746:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":26420,"name":"bytes","nodeType":"ElementaryTypeName","src":"6746:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":26421,"nodeType":"ArrayTypeName","src":"6746:7:60","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":26424,"indexed":false,"mutability":"mutable","name":"description","nameLocation":"6776:11:60","nodeType":"VariableDeclaration","scope":26430,"src":"6769:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26423,"name":"string","nodeType":"ElementaryTypeName","src":"6769:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26426,"indexed":true,"mutability":"mutable","name":"roundIdVoteStart","nameLocation":"6809:16:60","nodeType":"VariableDeclaration","scope":26430,"src":"6793:32:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26425,"name":"uint256","nodeType":"ElementaryTypeName","src":"6793:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26428,"indexed":false,"mutability":"mutable","name":"depositThreshold","nameLocation":"6839:16:60","nodeType":"VariableDeclaration","scope":26430,"src":"6831:24:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26427,"name":"uint256","nodeType":"ElementaryTypeName","src":"6831:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6608:251:60"},"src":"6587:273:60"},{"anonymous":false,"documentation":{"id":26431,"nodeType":"StructuredDocumentation","src":"6864:54:60","text":" @dev Emitted when a proposal is queued."},"eventSelector":"9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892","id":26437,"name":"ProposalQueued","nameLocation":"6927:14:60","nodeType":"EventDefinition","parameters":{"id":26436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26433,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6950:10:60","nodeType":"VariableDeclaration","scope":26437,"src":"6942:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26432,"name":"uint256","nodeType":"ElementaryTypeName","src":"6942:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26435,"indexed":false,"mutability":"mutable","name":"etaSeconds","nameLocation":"6970:10:60","nodeType":"VariableDeclaration","scope":26437,"src":"6962:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26434,"name":"uint256","nodeType":"ElementaryTypeName","src":"6962:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6941:40:60"},"src":"6921:61:60"},{"anonymous":false,"documentation":{"id":26438,"nodeType":"StructuredDocumentation","src":"6986:56:60","text":" @dev Emitted when a proposal is executed."},"eventSelector":"712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f","id":26442,"name":"ProposalExecuted","nameLocation":"7051:16:60","nodeType":"EventDefinition","parameters":{"id":26441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26440,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7076:10:60","nodeType":"VariableDeclaration","scope":26442,"src":"7068:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26439,"name":"uint256","nodeType":"ElementaryTypeName","src":"7068:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7067:20:60"},"src":"7045:43:60"},{"anonymous":false,"documentation":{"id":26443,"nodeType":"StructuredDocumentation","src":"7092:56:60","text":" @dev Emitted when a proposal is canceled."},"eventSelector":"789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c","id":26447,"name":"ProposalCanceled","nameLocation":"7157:16:60","nodeType":"EventDefinition","parameters":{"id":26446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26445,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7182:10:60","nodeType":"VariableDeclaration","scope":26447,"src":"7174:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26444,"name":"uint256","nodeType":"ElementaryTypeName","src":"7174:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7173:20:60"},"src":"7151:43:60"},{"anonymous":false,"documentation":{"id":26448,"nodeType":"StructuredDocumentation","src":"7198:70:60","text":" @dev Emitted when a proposal is canceled with a reason."},"eventSelector":"93bcf40b1de68d22878e9394837dd4b08dae46ee73bc722cccffecdadbe44145","id":26456,"name":"ProposalCanceledWithReason","nameLocation":"7277:26:60","nodeType":"EventDefinition","parameters":{"id":26455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26450,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"7320:10:60","nodeType":"VariableDeclaration","scope":26456,"src":"7304:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26449,"name":"uint256","nodeType":"ElementaryTypeName","src":"7304:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26452,"indexed":true,"mutability":"mutable","name":"canceler","nameLocation":"7348:8:60","nodeType":"VariableDeclaration","scope":26456,"src":"7332:24:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26451,"name":"address","nodeType":"ElementaryTypeName","src":"7332:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26454,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"7365:6:60","nodeType":"VariableDeclaration","scope":26456,"src":"7358:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26453,"name":"string","nodeType":"ElementaryTypeName","src":"7358:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7303:69:60"},"src":"7271:102:60"},{"anonymous":false,"documentation":{"id":26457,"nodeType":"StructuredDocumentation","src":"7377:65:60","text":" @dev Emitted when the quorum numerator is updated."},"eventSelector":"0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997","id":26463,"name":"QuorumNumeratorUpdated","nameLocation":"7451:22:60","nodeType":"EventDefinition","parameters":{"id":26462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26459,"indexed":false,"mutability":"mutable","name":"oldNumerator","nameLocation":"7482:12:60","nodeType":"VariableDeclaration","scope":26463,"src":"7474:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26458,"name":"uint256","nodeType":"ElementaryTypeName","src":"7474:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26461,"indexed":false,"mutability":"mutable","name":"newNumerator","nameLocation":"7504:12:60","nodeType":"VariableDeclaration","scope":26463,"src":"7496:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26460,"name":"uint256","nodeType":"ElementaryTypeName","src":"7496:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7473:44:60"},"src":"7445:73:60"},{"anonymous":false,"documentation":{"id":26464,"nodeType":"StructuredDocumentation","src":"7522:97:60","text":" @dev Emitted when the timelock controller used for proposal execution is modified."},"eventSelector":"08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401","id":26470,"name":"TimelockChange","nameLocation":"7628:14:60","nodeType":"EventDefinition","parameters":{"id":26469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26466,"indexed":false,"mutability":"mutable","name":"oldTimelock","nameLocation":"7651:11:60","nodeType":"VariableDeclaration","scope":26470,"src":"7643:19:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26465,"name":"address","nodeType":"ElementaryTypeName","src":"7643:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26468,"indexed":false,"mutability":"mutable","name":"newTimelock","nameLocation":"7672:11:60","nodeType":"VariableDeclaration","scope":26470,"src":"7664:19:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26467,"name":"address","nodeType":"ElementaryTypeName","src":"7664:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7642:42:60"},"src":"7622:63:60"},{"anonymous":false,"documentation":{"id":26471,"nodeType":"StructuredDocumentation","src":"7689:89:60","text":" @dev Emitted when a function is whitelisted or restricted by the governor."},"eventSelector":"5da7b78f7dccc6b378e3f55a7e57f9363d3c15686c0d82f85e45130393c9c970","id":26479,"name":"FunctionWhitelisted","nameLocation":"7787:19:60","nodeType":"EventDefinition","parameters":{"id":26478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26473,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"7823:6:60","nodeType":"VariableDeclaration","scope":26479,"src":"7807:22:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26472,"name":"address","nodeType":"ElementaryTypeName","src":"7807:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26475,"indexed":true,"mutability":"mutable","name":"functionSelector","nameLocation":"7846:16:60","nodeType":"VariableDeclaration","scope":26479,"src":"7831:31:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":26474,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7831:6:60","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":26477,"indexed":false,"mutability":"mutable","name":"isWhitelisted","nameLocation":"7869:13:60","nodeType":"VariableDeclaration","scope":26479,"src":"7864:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26476,"name":"bool","nodeType":"ElementaryTypeName","src":"7864:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7806:77:60"},"src":"7781:103:60"},{"anonymous":false,"documentation":{"id":26480,"nodeType":"StructuredDocumentation","src":"7888:179:60","text":" @dev Emitted when a vote is cast without params.\n Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used."},"eventSelector":"aec5ebd9cfb5e0fa9ec893c112b6f15c366248db781323babe6909c0e0770397","id":26494,"name":"VoteCast","nameLocation":"8076:8:60","nodeType":"EventDefinition","parameters":{"id":26493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26482,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"8106:5:60","nodeType":"VariableDeclaration","scope":26494,"src":"8090:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26481,"name":"address","nodeType":"ElementaryTypeName","src":"8090:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26484,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"8133:10:60","nodeType":"VariableDeclaration","scope":26494,"src":"8117:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26483,"name":"uint256","nodeType":"ElementaryTypeName","src":"8117:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26486,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"8155:7:60","nodeType":"VariableDeclaration","scope":26494,"src":"8149:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":26485,"name":"uint8","nodeType":"ElementaryTypeName","src":"8149:5:60","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":26488,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"8176:6:60","nodeType":"VariableDeclaration","scope":26494,"src":"8168:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26487,"name":"uint256","nodeType":"ElementaryTypeName","src":"8168:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26490,"indexed":false,"mutability":"mutable","name":"power","nameLocation":"8196:5:60","nodeType":"VariableDeclaration","scope":26494,"src":"8188:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26489,"name":"uint256","nodeType":"ElementaryTypeName","src":"8188:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26492,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"8214:6:60","nodeType":"VariableDeclaration","scope":26494,"src":"8207:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26491,"name":"string","nodeType":"ElementaryTypeName","src":"8207:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8084:140:60"},"src":"8070:155:60"},{"anonymous":false,"documentation":{"id":26495,"nodeType":"StructuredDocumentation","src":"8229:154:60","text":" @notice Emits true if quadratic voting is disabled, false otherwise.\n @param disabled - The flag to enable or disable quadratic voting."},"eventSelector":"e782263e17b994d34e64f19af2397c26081a1f4c26c604acb8fb3db6bafc903e","id":26499,"name":"QuadraticVotingToggled","nameLocation":"8392:22:60","nodeType":"EventDefinition","parameters":{"id":26498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26497,"indexed":true,"mutability":"mutable","name":"disabled","nameLocation":"8428:8:60","nodeType":"VariableDeclaration","scope":26499,"src":"8415:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26496,"name":"bool","nodeType":"ElementaryTypeName","src":"8415:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8414:23:60"},"src":"8386:52:60"},{"anonymous":false,"documentation":{"id":26500,"nodeType":"StructuredDocumentation","src":"8442:65:60","text":" @dev Emitted when a deposit is made to a proposal."},"eventSelector":"65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c","id":26508,"name":"ProposalDeposit","nameLocation":"8516:15:60","nodeType":"EventDefinition","parameters":{"id":26507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26502,"indexed":true,"mutability":"mutable","name":"depositor","nameLocation":"8548:9:60","nodeType":"VariableDeclaration","scope":26508,"src":"8532:25:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26501,"name":"address","nodeType":"ElementaryTypeName","src":"8532:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26504,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"8575:10:60","nodeType":"VariableDeclaration","scope":26508,"src":"8559:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26503,"name":"uint256","nodeType":"ElementaryTypeName","src":"8559:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26506,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"8595:6:60","nodeType":"VariableDeclaration","scope":26508,"src":"8587:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26505,"name":"uint256","nodeType":"ElementaryTypeName","src":"8587:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8531:71:60"},"src":"8510:93:60"},{"anonymous":false,"documentation":{"id":26509,"nodeType":"StructuredDocumentation","src":"8607:70:60","text":" @dev Emitted when the VeBetterPassport contract is set."},"eventSelector":"1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160","id":26515,"name":"VeBetterPassportSet","nameLocation":"8686:19:60","nodeType":"EventDefinition","parameters":{"id":26514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26511,"indexed":true,"mutability":"mutable","name":"oldVeBetterPassport","nameLocation":"8722:19:60","nodeType":"VariableDeclaration","scope":26515,"src":"8706:35:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26510,"name":"address","nodeType":"ElementaryTypeName","src":"8706:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26513,"indexed":true,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"8759:19:60","nodeType":"VariableDeclaration","scope":26515,"src":"8743:35:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26512,"name":"address","nodeType":"ElementaryTypeName","src":"8743:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8705:74:60"},"src":"8680:100:60"},{"anonymous":false,"documentation":{"id":26516,"nodeType":"StructuredDocumentation","src":"8784:77:60","text":" @dev Emitted when a proposal is created with type information."},"eventSelector":"6d04097725b4d82fbe72e4fd0fd1798c60a7b1bbc328842680c83ac06b1b0ada","id":26523,"name":"ProposalCreatedWithType","nameLocation":"8870:23:60","nodeType":"EventDefinition","parameters":{"id":26522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26518,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"8910:10:60","nodeType":"VariableDeclaration","scope":26523,"src":"8894:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26517,"name":"uint256","nodeType":"ElementaryTypeName","src":"8894:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26521,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"8952:12:60","nodeType":"VariableDeclaration","scope":26523,"src":"8922:42:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26520,"nodeType":"UserDefinedTypeName","pathNode":{"id":26519,"name":"GovernorTypesV10.ProposalType","nameLocations":["8922:16:60","8939:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"8922:29:60"},"referencedDeclaration":25017,"src":"8922:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"8893:72:60"},"src":"8864:102:60"},{"anonymous":false,"documentation":{"id":26524,"nodeType":"StructuredDocumentation","src":"8970:94:60","text":" @dev Emitted when the quorum numerator for a specific proposal type is updated."},"eventSelector":"a887ac6363633c0ce6f205a5a5e196934dd309db93895e5751862be24465171d","id":26533,"name":"QuorumNumeratorUpdatedByType","nameLocation":"9073:28:60","nodeType":"EventDefinition","parameters":{"id":26532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26526,"indexed":false,"mutability":"mutable","name":"oldNumerator","nameLocation":"9115:12:60","nodeType":"VariableDeclaration","scope":26533,"src":"9107:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26525,"name":"uint256","nodeType":"ElementaryTypeName","src":"9107:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26528,"indexed":false,"mutability":"mutable","name":"newNumerator","nameLocation":"9141:12:60","nodeType":"VariableDeclaration","scope":26533,"src":"9133:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26527,"name":"uint256","nodeType":"ElementaryTypeName","src":"9133:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26531,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"9189:12:60","nodeType":"VariableDeclaration","scope":26533,"src":"9159:42:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26530,"nodeType":"UserDefinedTypeName","pathNode":{"id":26529,"name":"GovernorTypesV10.ProposalType","nameLocations":["9159:16:60","9176:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"9159:29:60"},"referencedDeclaration":25017,"src":"9159:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"9101:104:60"},"src":"9067:139:60"},{"anonymous":false,"documentation":{"id":26534,"nodeType":"StructuredDocumentation","src":"9209:82:60","text":" @dev Emitted when the `votingThreshold` for a proposal type is set."},"eventSelector":"1e44e875a8ec5300a305e63ca083de2b0e62e333df633bde0e680a9ff64e3c21","id":26543,"name":"VotingThresholdSetV2","nameLocation":"9300:20:60","nodeType":"EventDefinition","parameters":{"id":26542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26537,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"9356:12:60","nodeType":"VariableDeclaration","scope":26543,"src":"9326:42:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26536,"nodeType":"UserDefinedTypeName","pathNode":{"id":26535,"name":"GovernorTypesV10.ProposalType","nameLocations":["9326:16:60","9343:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"9326:29:60"},"referencedDeclaration":25017,"src":"9326:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":26539,"indexed":false,"mutability":"mutable","name":"oldVotingThreshold","nameLocation":"9382:18:60","nodeType":"VariableDeclaration","scope":26543,"src":"9374:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26538,"name":"uint256","nodeType":"ElementaryTypeName","src":"9374:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26541,"indexed":false,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"9414:18:60","nodeType":"VariableDeclaration","scope":26543,"src":"9406:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26540,"name":"uint256","nodeType":"ElementaryTypeName","src":"9406:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9320:116:60"},"src":"9294:143:60"},{"anonymous":false,"documentation":{"id":26544,"nodeType":"StructuredDocumentation","src":"9441:93:60","text":" @dev Emitted when the deposit threshold percentage for a proposal type is set."},"eventSelector":"d7f4fd38ed535300fc72a5de4a35264cf0638081fc06ba63a6c1025b9993b0f3","id":26553,"name":"DepositThresholdSetV2","nameLocation":"9543:21:60","nodeType":"EventDefinition","parameters":{"id":26552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26547,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"9600:12:60","nodeType":"VariableDeclaration","scope":26553,"src":"9570:42:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26546,"nodeType":"UserDefinedTypeName","pathNode":{"id":26545,"name":"GovernorTypesV10.ProposalType","nameLocations":["9570:16:60","9587:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"9570:29:60"},"referencedDeclaration":25017,"src":"9570:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":26549,"indexed":false,"mutability":"mutable","name":"oldDepositThreshold","nameLocation":"9626:19:60","nodeType":"VariableDeclaration","scope":26553,"src":"9618:27:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26548,"name":"uint256","nodeType":"ElementaryTypeName","src":"9618:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26551,"indexed":false,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"9659:19:60","nodeType":"VariableDeclaration","scope":26553,"src":"9651:27:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26550,"name":"uint256","nodeType":"ElementaryTypeName","src":"9651:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9564:118:60"},"src":"9537:146:60"},{"anonymous":false,"documentation":{"id":26554,"nodeType":"StructuredDocumentation","src":"9686:86:60","text":" @dev Emitted when the deposit threshold cap for a proposal type is set."},"eventSelector":"bab71752ceaca29a72caf93b1099d9bfcf0e836a02c01a567d4e7365ae2242c2","id":26563,"name":"DepositThresholdCapSet","nameLocation":"9781:22:60","nodeType":"EventDefinition","parameters":{"id":26562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26557,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"9839:12:60","nodeType":"VariableDeclaration","scope":26563,"src":"9809:42:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26556,"nodeType":"UserDefinedTypeName","pathNode":{"id":26555,"name":"GovernorTypesV10.ProposalType","nameLocations":["9809:16:60","9826:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"9809:29:60"},"referencedDeclaration":25017,"src":"9809:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":26559,"indexed":false,"mutability":"mutable","name":"oldDepositThresholdCap","nameLocation":"9865:22:60","nodeType":"VariableDeclaration","scope":26563,"src":"9857:30:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26558,"name":"uint256","nodeType":"ElementaryTypeName","src":"9857:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26561,"indexed":false,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"9901:22:60","nodeType":"VariableDeclaration","scope":26563,"src":"9893:30:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26560,"name":"uint256","nodeType":"ElementaryTypeName","src":"9893:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9803:124:60"},"src":"9775:153:60"},{"anonymous":false,"documentation":{"id":26564,"nodeType":"StructuredDocumentation","src":"9932:49:60","text":"@dev Emitted when the voting power is seeded."},"eventSelector":"77fca3a31b988e2a61e5a040c7f968cfa40a144808ce31fda0ed7a0a5fb5cc04","id":26570,"name":"VotingPowerSeeded","nameLocation":"9990:17:60","nodeType":"EventDefinition","parameters":{"id":26569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26566,"indexed":true,"mutability":"mutable","name":"walletAddress","nameLocation":"10024:13:60","nodeType":"VariableDeclaration","scope":26570,"src":"10008:29:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26565,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26568,"indexed":true,"mutability":"mutable","name":"deposit","nameLocation":"10055:7:60","nodeType":"VariableDeclaration","scope":26570,"src":"10039:23:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26567,"name":"uint256","nodeType":"ElementaryTypeName","src":"10039:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10007:56:60"},"src":"9984:80:60"},{"anonymous":false,"documentation":{"id":26571,"nodeType":"StructuredDocumentation","src":"10068:61:60","text":"@dev Emitted when a deposit is withdrawn from a proposal."},"eventSelector":"fbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1","id":26579,"name":"ProposalWithdraw","nameLocation":"10138:16:60","nodeType":"EventDefinition","parameters":{"id":26578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26573,"indexed":true,"mutability":"mutable","name":"withdrawer","nameLocation":"10171:10:60","nodeType":"VariableDeclaration","scope":26579,"src":"10155:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26572,"name":"address","nodeType":"ElementaryTypeName","src":"10155:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26575,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"10199:10:60","nodeType":"VariableDeclaration","scope":26579,"src":"10183:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26574,"name":"uint256","nodeType":"ElementaryTypeName","src":"10183:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26577,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"10219:6:60","nodeType":"VariableDeclaration","scope":26579,"src":"10211:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26576,"name":"uint256","nodeType":"ElementaryTypeName","src":"10211:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10154:72:60"},"src":"10132:95:60"},{"anonymous":false,"documentation":{"id":26580,"nodeType":"StructuredDocumentation","src":"10231:72:60","text":" @dev Emitted when a proposal is marked as in development."},"eventSelector":"ae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0","id":26584,"name":"ProposalInDevelopment","nameLocation":"10312:21:60","nodeType":"EventDefinition","parameters":{"id":26583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26582,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"10342:10:60","nodeType":"VariableDeclaration","scope":26584,"src":"10334:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26581,"name":"uint256","nodeType":"ElementaryTypeName","src":"10334:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10333:20:60"},"src":"10306:48:60"},{"anonymous":false,"documentation":{"id":26585,"nodeType":"StructuredDocumentation","src":"10358:67:60","text":" @dev Emitted when a proposal is marked as completed."},"eventSelector":"71611adb0c8d2eea43359b2e41e5fdf96309ce734ed1eb78ceb763198c1b8967","id":26589,"name":"ProposalCompleted","nameLocation":"10434:17:60","nodeType":"EventDefinition","parameters":{"id":26588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26587,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"10460:10:60","nodeType":"VariableDeclaration","scope":26589,"src":"10452:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26586,"name":"uint256","nodeType":"ElementaryTypeName","src":"10452:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10451:20:60"},"src":"10428:44:60"},{"anonymous":false,"documentation":{"id":26590,"nodeType":"StructuredDocumentation","src":"10476:106:60","text":" @dev Emitted when the development state of a proposal is reset back to pending development."},"eventSelector":"89e9abefcace5d0e37429f32023df3d73c9a310923f6383fa778ec40c629df0e","id":26594,"name":"ProposalDevelopmentStateReset","nameLocation":"10591:29:60","nodeType":"EventDefinition","parameters":{"id":26593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26592,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"10629:10:60","nodeType":"VariableDeclaration","scope":26594,"src":"10621:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26591,"name":"uint256","nodeType":"ElementaryTypeName","src":"10621:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10620:20:60"},"src":"10585:56:60"},{"anonymous":false,"documentation":{"id":26595,"nodeType":"StructuredDocumentation","src":"10645:99:60","text":"@notice Emitted when a navigator governance vote is skipped (navigator dead or no decision set)"},"eventSelector":"8b34402b007625b875ac624bea888f2cd3b6896eb9b8f2a2a278bbf3b5dd9b4d","id":26603,"name":"NavigatorGovernanceVoteSkipped","nameLocation":"10753:30:60","nodeType":"EventDefinition","parameters":{"id":26602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26597,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"10800:7:60","nodeType":"VariableDeclaration","scope":26603,"src":"10784:23:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26596,"name":"address","nodeType":"ElementaryTypeName","src":"10784:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26599,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"10825:9:60","nodeType":"VariableDeclaration","scope":26603,"src":"10809:25:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26598,"name":"address","nodeType":"ElementaryTypeName","src":"10809:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26601,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"10852:10:60","nodeType":"VariableDeclaration","scope":26603,"src":"10836:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26600,"name":"uint256","nodeType":"ElementaryTypeName","src":"10836:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10783:80:60"},"src":"10747:117:60"},{"documentation":{"id":26604,"nodeType":"StructuredDocumentation","src":"10868:122:60","text":" @notice module:core\n @dev Name of the governor instance (used in building the ERC712 domain separator)."},"functionSelector":"06fdde03","id":26609,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"11002:4:60","nodeType":"FunctionDefinition","parameters":{"id":26605,"nodeType":"ParameterList","parameters":[],"src":"11006:2:60"},"returnParameters":{"id":26608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26609,"src":"11032:13:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26606,"name":"string","nodeType":"ElementaryTypeName","src":"11032:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11031:15:60"},"scope":27080,"src":"10993:54:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26610,"nodeType":"StructuredDocumentation","src":"11051:138:60","text":" @notice module:core\n @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\""},"functionSelector":"54fd4d50","id":26615,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"11201:7:60","nodeType":"FunctionDefinition","parameters":{"id":26611,"nodeType":"ParameterList","parameters":[],"src":"11208:2:60"},"returnParameters":{"id":26614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26615,"src":"11234:13:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26612,"name":"string","nodeType":"ElementaryTypeName","src":"11234:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11233:15:60"},"scope":27080,"src":"11192:57:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26616,"nodeType":"StructuredDocumentation","src":"11253:1273:60","text":" @notice module:voting\n @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n There are 2 standard keys: `support` and `quorum`.\n - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n - `quorum=bravo` means that only For votes are counted towards quorum.\n - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique\n name that describes the behavior. For example:\n - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n NOTE: The string can be decoded by the standard\n https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n JavaScript class."},"functionSelector":"dd4e2ba5","id":26621,"implemented":false,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"12589:13:60","nodeType":"FunctionDefinition","parameters":{"id":26617,"nodeType":"ParameterList","parameters":[],"src":"12602:2:60"},"returnParameters":{"id":26620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26621,"src":"12628:13:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26618,"name":"string","nodeType":"ElementaryTypeName","src":"12628:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12627:15:60"},"scope":27080,"src":"12580:63:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26622,"nodeType":"StructuredDocumentation","src":"12647:123:60","text":" @notice module:core\n @dev Hashing function used to (re)build the proposal id from the proposal details.."},"functionSelector":"c59057e4","id":26638,"implemented":false,"kind":"function","modifiers":[],"name":"hashProposal","nameLocation":"12782:12:60","nodeType":"FunctionDefinition","parameters":{"id":26634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26625,"mutability":"mutable","name":"targets","nameLocation":"12817:7:60","nodeType":"VariableDeclaration","scope":26638,"src":"12800:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":26623,"name":"address","nodeType":"ElementaryTypeName","src":"12800:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":26624,"nodeType":"ArrayTypeName","src":"12800:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":26628,"mutability":"mutable","name":"values","nameLocation":"12847:6:60","nodeType":"VariableDeclaration","scope":26638,"src":"12830:23:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":26626,"name":"uint256","nodeType":"ElementaryTypeName","src":"12830:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":26627,"nodeType":"ArrayTypeName","src":"12830:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":26631,"mutability":"mutable","name":"calldatas","nameLocation":"12874:9:60","nodeType":"VariableDeclaration","scope":26638,"src":"12859:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":26629,"name":"bytes","nodeType":"ElementaryTypeName","src":"12859:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":26630,"nodeType":"ArrayTypeName","src":"12859:7:60","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":26633,"mutability":"mutable","name":"descriptionHash","nameLocation":"12897:15:60","nodeType":"VariableDeclaration","scope":26638,"src":"12889:23:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12889:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12794:122:60"},"returnParameters":{"id":26637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26638,"src":"12940:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26635,"name":"uint256","nodeType":"ElementaryTypeName","src":"12940:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12939:9:60"},"scope":27080,"src":"12773:176:60","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":26639,"nodeType":"StructuredDocumentation","src":"12953:105:60","text":" @notice module:core\n @dev Current state of a proposal, following Compound's convention"},"functionSelector":"3e4f49e6","id":26647,"implemented":false,"kind":"function","modifiers":[],"name":"state","nameLocation":"13070:5:60","nodeType":"FunctionDefinition","parameters":{"id":26642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26641,"mutability":"mutable","name":"proposalId","nameLocation":"13084:10:60","nodeType":"VariableDeclaration","scope":26647,"src":"13076:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26640,"name":"uint256","nodeType":"ElementaryTypeName","src":"13076:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13075:20:60"},"returnParameters":{"id":26646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26645,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26647,"src":"13119:30:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"},"typeName":{"id":26644,"nodeType":"UserDefinedTypeName","pathNode":{"id":26643,"name":"GovernorTypesV10.ProposalState","nameLocations":["13119:16:60","13136:13:60"],"nodeType":"IdentifierPath","referencedDeclaration":24992,"src":"13119:30:60"},"referencedDeclaration":24992,"src":"13119:30:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$24992","typeString":"enum GovernorTypesV10.ProposalState"}},"visibility":"internal"}],"src":"13118:32:60"},"scope":27080,"src":"13061:90:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26648,"nodeType":"StructuredDocumentation","src":"13155:136:60","text":" @notice module:core\n @dev Get the minimum required delay between proposal cretion and start when creating a proposal."},"functionSelector":"c40ffbf6","id":26653,"implemented":false,"kind":"function","modifiers":[],"name":"minVotingDelay","nameLocation":"13303:14:60","nodeType":"FunctionDefinition","parameters":{"id":26649,"nodeType":"ParameterList","parameters":[],"src":"13317:2:60"},"returnParameters":{"id":26652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26651,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26653,"src":"13343:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26650,"name":"uint256","nodeType":"ElementaryTypeName","src":"13343:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13342:9:60"},"scope":27080,"src":"13294:58:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26654,"nodeType":"StructuredDocumentation","src":"13356:70:60","text":" @notice module:core\n @dev The B3TR contract address"},"functionSelector":"582a486a","id":26660,"implemented":false,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"13438:4:60","nodeType":"FunctionDefinition","parameters":{"id":26655,"nodeType":"ParameterList","parameters":[],"src":"13442:2:60"},"returnParameters":{"id":26659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26660,"src":"13468:5:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":26657,"nodeType":"UserDefinedTypeName","pathNode":{"id":26656,"name":"IB3TR","nameLocations":["13468:5:60"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"13468:5:60"},"referencedDeclaration":62888,"src":"13468:5:60","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"13467:7:60"},"scope":27080,"src":"13429:46:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26661,"nodeType":"StructuredDocumentation","src":"13479:81:60","text":" @notice module:core\n @dev Getter for the VoterRewards contract"},"functionSelector":"a3844e11","id":26667,"implemented":false,"kind":"function","modifiers":[],"name":"voterRewards","nameLocation":"13572:12:60","nodeType":"FunctionDefinition","parameters":{"id":26662,"nodeType":"ParameterList","parameters":[],"src":"13584:2:60"},"returnParameters":{"id":26666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26665,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26667,"src":"13610:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":26664,"nodeType":"UserDefinedTypeName","pathNode":{"id":26663,"name":"IVoterRewards","nameLocations":["13610:13:60"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"13610:13:60"},"referencedDeclaration":69092,"src":"13610:13:60","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"13609:15:60"},"scope":27080,"src":"13563:62:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26668,"nodeType":"StructuredDocumentation","src":"13629:86:60","text":" @notice module:core\n @dev Getter for the XAllocationVoting contract"},"functionSelector":"e205aeb0","id":26674,"implemented":false,"kind":"function","modifiers":[],"name":"xAllocationVoting","nameLocation":"13727:17:60","nodeType":"FunctionDefinition","parameters":{"id":26669,"nodeType":"ParameterList","parameters":[],"src":"13744:2:60"},"returnParameters":{"id":26673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26674,"src":"13770:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":26671,"nodeType":"UserDefinedTypeName","pathNode":{"id":26670,"name":"IXAllocationVotingGovernor","nameLocations":["13770:26:60"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"13770:26:60"},"referencedDeclaration":71124,"src":"13770:26:60","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"13769:28:60"},"scope":27080,"src":"13718:80:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26675,"nodeType":"StructuredDocumentation","src":"13802:87:60","text":" @notice module:core\n @dev Getter for the RelayerRewardsPool contract"},"functionSelector":"6e8a1823","id":26681,"implemented":false,"kind":"function","modifiers":[],"name":"relayerRewardsPool","nameLocation":"13901:18:60","nodeType":"FunctionDefinition","parameters":{"id":26676,"nodeType":"ParameterList","parameters":[],"src":"13919:2:60"},"returnParameters":{"id":26680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26679,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26681,"src":"13945:19:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":26678,"nodeType":"UserDefinedTypeName","pathNode":{"id":26677,"name":"IRelayerRewardsPool","nameLocations":["13945:19:60"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"13945:19:60"},"referencedDeclaration":67117,"src":"13945:19:60","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"13944:21:60"},"scope":27080,"src":"13892:74:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26682,"nodeType":"StructuredDocumentation","src":"13970:140:60","text":" @notice module:core\n @dev The number of votes in support of a proposal required in order for a proposal to become active."},"functionSelector":"6b6a0704","id":26690,"implemented":false,"kind":"function","modifiers":[],"name":"depositThresholdByProposalType","nameLocation":"14122:30:60","nodeType":"FunctionDefinition","parameters":{"id":26686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26685,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"14183:17:60","nodeType":"VariableDeclaration","scope":26690,"src":"14153:47:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26684,"nodeType":"UserDefinedTypeName","pathNode":{"id":26683,"name":"GovernorTypesV10.ProposalType","nameLocations":["14153:16:60","14170:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"14153:29:60"},"referencedDeclaration":25017,"src":"14153:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"14152:49:60"},"returnParameters":{"id":26689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26688,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26690,"src":"14225:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26687,"name":"uint256","nodeType":"ElementaryTypeName","src":"14225:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14224:9:60"},"scope":27080,"src":"14113:121:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26691,"nodeType":"StructuredDocumentation","src":"14238:103:60","text":" @notice module:core\n @dev The proposal Threshold Percentage for all type of proposal"},"functionSelector":"542d6db5","id":26699,"implemented":false,"kind":"function","modifiers":[],"name":"depositThresholdPercentageByProposalType","nameLocation":"14353:40:60","nodeType":"FunctionDefinition","parameters":{"id":26695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26694,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"14429:17:60","nodeType":"VariableDeclaration","scope":26699,"src":"14399:47:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26693,"nodeType":"UserDefinedTypeName","pathNode":{"id":26692,"name":"GovernorTypesV10.ProposalType","nameLocations":["14399:16:60","14416:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"14399:29:60"},"referencedDeclaration":25017,"src":"14399:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"14393:57:60"},"returnParameters":{"id":26698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26699,"src":"14474:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26696,"name":"uint256","nodeType":"ElementaryTypeName","src":"14474:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14473:9:60"},"scope":27080,"src":"14344:139:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26700,"nodeType":"StructuredDocumentation","src":"14487:85:60","text":" @notice module:core\n @dev The voting threshold for a proposal type"},"functionSelector":"1caf3474","id":26708,"implemented":false,"kind":"function","modifiers":[],"name":"votingThresholdByProposalType","nameLocation":"14584:29:60","nodeType":"FunctionDefinition","parameters":{"id":26704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26703,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"14644:17:60","nodeType":"VariableDeclaration","scope":26708,"src":"14614:47:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26702,"nodeType":"UserDefinedTypeName","pathNode":{"id":26701,"name":"GovernorTypesV10.ProposalType","nameLocations":["14614:16:60","14631:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"14614:29:60"},"referencedDeclaration":25017,"src":"14614:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"14613:49:60"},"returnParameters":{"id":26707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26706,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26708,"src":"14686:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26705,"name":"uint256","nodeType":"ElementaryTypeName","src":"14686:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14685:9:60"},"scope":27080,"src":"14575:120:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26709,"nodeType":"StructuredDocumentation","src":"14699:286:60","text":" @notice module:core\n @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the\n following block."},"functionSelector":"2d63f693","id":26716,"implemented":false,"kind":"function","modifiers":[],"name":"proposalSnapshot","nameLocation":"14997:16:60","nodeType":"FunctionDefinition","parameters":{"id":26712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26711,"mutability":"mutable","name":"proposalId","nameLocation":"15022:10:60","nodeType":"VariableDeclaration","scope":26716,"src":"15014:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26710,"name":"uint256","nodeType":"ElementaryTypeName","src":"15014:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15013:20:60"},"returnParameters":{"id":26715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26716,"src":"15057:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26713,"name":"uint256","nodeType":"ElementaryTypeName","src":"15057:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15056:9:60"},"scope":27080,"src":"14988:78:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26717,"nodeType":"StructuredDocumentation","src":"15070:194:60","text":" @notice module:core\n @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n possible to cast a vote during this block."},"functionSelector":"c01f9e37","id":26724,"implemented":false,"kind":"function","modifiers":[],"name":"proposalDeadline","nameLocation":"15276:16:60","nodeType":"FunctionDefinition","parameters":{"id":26720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26719,"mutability":"mutable","name":"proposalId","nameLocation":"15301:10:60","nodeType":"VariableDeclaration","scope":26724,"src":"15293:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26718,"name":"uint256","nodeType":"ElementaryTypeName","src":"15293:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15292:20:60"},"returnParameters":{"id":26723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26722,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26724,"src":"15336:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26721,"name":"uint256","nodeType":"ElementaryTypeName","src":"15336:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15335:9:60"},"scope":27080,"src":"15267:78:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26725,"nodeType":"StructuredDocumentation","src":"15349:81:60","text":" @notice module:core\n @dev The account that created a proposal."},"functionSelector":"143489d0","id":26732,"implemented":false,"kind":"function","modifiers":[],"name":"proposalProposer","nameLocation":"15442:16:60","nodeType":"FunctionDefinition","parameters":{"id":26728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26727,"mutability":"mutable","name":"proposalId","nameLocation":"15467:10:60","nodeType":"VariableDeclaration","scope":26732,"src":"15459:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26726,"name":"uint256","nodeType":"ElementaryTypeName","src":"15459:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15458:20:60"},"returnParameters":{"id":26731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26730,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26732,"src":"15502:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26729,"name":"address","nodeType":"ElementaryTypeName","src":"15502:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15501:9:60"},"scope":27080,"src":"15433:78:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26733,"nodeType":"StructuredDocumentation","src":"15515:308:60","text":" @notice module:core\n @dev The time when a queued proposal becomes executable (\"ETA\"). Unlike {proposalSnapshot} and\n {proposalDeadline}, this doesn't use the governor clock, and instead relies on the executor's clock which may be\n different. In most cases this will be a timestamp."},"functionSelector":"ab58fb8e","id":26740,"implemented":false,"kind":"function","modifiers":[],"name":"proposalEta","nameLocation":"15835:11:60","nodeType":"FunctionDefinition","parameters":{"id":26736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26735,"mutability":"mutable","name":"proposalId","nameLocation":"15855:10:60","nodeType":"VariableDeclaration","scope":26740,"src":"15847:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26734,"name":"uint256","nodeType":"ElementaryTypeName","src":"15847:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15846:20:60"},"returnParameters":{"id":26739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26740,"src":"15890:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26737,"name":"uint256","nodeType":"ElementaryTypeName","src":"15890:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15889:9:60"},"scope":27080,"src":"15826:73:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26741,"nodeType":"StructuredDocumentation","src":"15903:100:60","text":" @notice module:core\n @dev Whether a proposal needs to be queued before execution."},"functionSelector":"a9a95294","id":26748,"implemented":false,"kind":"function","modifiers":[],"name":"proposalNeedsQueuing","nameLocation":"16015:20:60","nodeType":"FunctionDefinition","parameters":{"id":26744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26743,"mutability":"mutable","name":"proposalId","nameLocation":"16044:10:60","nodeType":"VariableDeclaration","scope":26748,"src":"16036:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26742,"name":"uint256","nodeType":"ElementaryTypeName","src":"16036:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16035:20:60"},"returnParameters":{"id":26747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26746,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26748,"src":"16079:4:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26745,"name":"bool","nodeType":"ElementaryTypeName","src":"16079:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16078:6:60"},"scope":27080,"src":"16006:79:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26749,"nodeType":"StructuredDocumentation","src":"16089:664:60","text":" @notice module:user-config\n @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n (see EIP-6372) this contract uses.\n NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting\n duration compared to the voting delay.\n NOTE: This value is stored when the proposal is submitted so that possible changes to the value do not affect\n proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n interface returns a uint256, the value it returns should fit in a uint32."},"functionSelector":"02a251a3","id":26754,"implemented":false,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"16765:12:60","nodeType":"FunctionDefinition","parameters":{"id":26750,"nodeType":"ParameterList","parameters":[],"src":"16777:2:60"},"returnParameters":{"id":26753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26754,"src":"16803:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26751,"name":"uint256","nodeType":"ElementaryTypeName","src":"16803:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16802:9:60"},"scope":27080,"src":"16756:56:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26755,"nodeType":"StructuredDocumentation","src":"16816:346:60","text":" @notice module:user-config\n @dev Minimum number of cast voted required for a proposal to be successful.\n NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes})."},"functionSelector":"f8ce560a","id":26762,"implemented":false,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"17174:6:60","nodeType":"FunctionDefinition","parameters":{"id":26758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26757,"mutability":"mutable","name":"timepoint","nameLocation":"17189:9:60","nodeType":"VariableDeclaration","scope":26762,"src":"17181:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26756,"name":"uint256","nodeType":"ElementaryTypeName","src":"17181:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17180:19:60"},"returnParameters":{"id":26761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26760,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26762,"src":"17223:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26759,"name":"uint256","nodeType":"ElementaryTypeName","src":"17223:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17222:9:60"},"scope":27080,"src":"17165:67:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26763,"nodeType":"StructuredDocumentation","src":"17236:262:60","text":" @notice module:reputation\n @dev Voting power of an `account` at a specific `timepoint`.\n Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n multiple), {ERC20Votes} tokens."},"functionSelector":"eb9019d4","id":26772,"implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"17510:8:60","nodeType":"FunctionDefinition","parameters":{"id":26768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26765,"mutability":"mutable","name":"account","nameLocation":"17527:7:60","nodeType":"VariableDeclaration","scope":26772,"src":"17519:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26764,"name":"address","nodeType":"ElementaryTypeName","src":"17519:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26767,"mutability":"mutable","name":"timepoint","nameLocation":"17544:9:60","nodeType":"VariableDeclaration","scope":26772,"src":"17536:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26766,"name":"uint256","nodeType":"ElementaryTypeName","src":"17536:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17518:36:60"},"returnParameters":{"id":26771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26772,"src":"17578:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26769,"name":"uint256","nodeType":"ElementaryTypeName","src":"17578:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17577:9:60"},"scope":27080,"src":"17501:86:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26773,"nodeType":"StructuredDocumentation","src":"17591:134:60","text":" @notice module:reputation\n @dev Voting power using quadratic voting of an `account` at a specific `timepoint`."},"functionSelector":"b69d417b","id":26782,"implemented":false,"kind":"function","modifiers":[],"name":"getQuadraticVotingPower","nameLocation":"17737:23:60","nodeType":"FunctionDefinition","parameters":{"id":26778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26775,"mutability":"mutable","name":"account","nameLocation":"17769:7:60","nodeType":"VariableDeclaration","scope":26782,"src":"17761:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26774,"name":"address","nodeType":"ElementaryTypeName","src":"17761:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26777,"mutability":"mutable","name":"timepoint","nameLocation":"17786:9:60","nodeType":"VariableDeclaration","scope":26782,"src":"17778:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26776,"name":"uint256","nodeType":"ElementaryTypeName","src":"17778:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17760:36:60"},"returnParameters":{"id":26781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26782,"src":"17820:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26779,"name":"uint256","nodeType":"ElementaryTypeName","src":"17820:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17819:9:60"},"scope":27080,"src":"17728:101:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26783,"nodeType":"StructuredDocumentation","src":"17833:105:60","text":" @notice module:voting\n @dev Returns whether `account` has cast a vote on `proposalId`."},"functionSelector":"43859632","id":26792,"implemented":false,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"17950:8:60","nodeType":"FunctionDefinition","parameters":{"id":26788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26785,"mutability":"mutable","name":"proposalId","nameLocation":"17967:10:60","nodeType":"VariableDeclaration","scope":26792,"src":"17959:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26784,"name":"uint256","nodeType":"ElementaryTypeName","src":"17959:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26787,"mutability":"mutable","name":"account","nameLocation":"17987:7:60","nodeType":"VariableDeclaration","scope":26792,"src":"17979:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26786,"name":"address","nodeType":"ElementaryTypeName","src":"17979:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17958:37:60"},"returnParameters":{"id":26791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26792,"src":"18019:4:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26789,"name":"bool","nodeType":"ElementaryTypeName","src":"18019:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18018:6:60"},"scope":27080,"src":"17941:84:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26793,"nodeType":"StructuredDocumentation","src":"18029:236:60","text":" @dev Create a new proposal. Specify the allocation round when vote should become active.\n The duration is specified by {IGovernor-votingPeriod}.\n Emits a {ProposalCreated} and {ProposalCreatedWithType} event."},"functionSelector":"58c839bc","id":26813,"implemented":false,"kind":"function","modifiers":[],"name":"propose","nameLocation":"18277:7:60","nodeType":"FunctionDefinition","parameters":{"id":26809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26796,"mutability":"mutable","name":"targets","nameLocation":"18307:7:60","nodeType":"VariableDeclaration","scope":26813,"src":"18290:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":26794,"name":"address","nodeType":"ElementaryTypeName","src":"18290:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":26795,"nodeType":"ArrayTypeName","src":"18290:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":26799,"mutability":"mutable","name":"values","nameLocation":"18337:6:60","nodeType":"VariableDeclaration","scope":26813,"src":"18320:23:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":26797,"name":"uint256","nodeType":"ElementaryTypeName","src":"18320:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":26798,"nodeType":"ArrayTypeName","src":"18320:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":26802,"mutability":"mutable","name":"calldatas","nameLocation":"18364:9:60","nodeType":"VariableDeclaration","scope":26813,"src":"18349:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":26800,"name":"bytes","nodeType":"ElementaryTypeName","src":"18349:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":26801,"nodeType":"ArrayTypeName","src":"18349:7:60","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":26804,"mutability":"mutable","name":"description","nameLocation":"18393:11:60","nodeType":"VariableDeclaration","scope":26813,"src":"18379:25:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26803,"name":"string","nodeType":"ElementaryTypeName","src":"18379:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26806,"mutability":"mutable","name":"startRoundId","nameLocation":"18418:12:60","nodeType":"VariableDeclaration","scope":26813,"src":"18410:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26805,"name":"uint256","nodeType":"ElementaryTypeName","src":"18410:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26808,"mutability":"mutable","name":"depositAmount","nameLocation":"18444:13:60","nodeType":"VariableDeclaration","scope":26813,"src":"18436:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26807,"name":"uint256","nodeType":"ElementaryTypeName","src":"18436:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18284:177:60"},"returnParameters":{"id":26812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26811,"mutability":"mutable","name":"proposalId","nameLocation":"18488:10:60","nodeType":"VariableDeclaration","scope":26813,"src":"18480:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26810,"name":"uint256","nodeType":"ElementaryTypeName","src":"18480:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18479:20:60"},"scope":27080,"src":"18268:232:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":26814,"nodeType":"StructuredDocumentation","src":"18504:87:60","text":" @dev Create a grant proposal. Grantee cannot deposit for it's own grant."},"functionSelector":"013b1088","id":26838,"implemented":false,"kind":"function","modifiers":[],"name":"proposeGrant","nameLocation":"18603:12:60","nodeType":"FunctionDefinition","parameters":{"id":26834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26817,"mutability":"mutable","name":"targets","nameLocation":"18638:7:60","nodeType":"VariableDeclaration","scope":26838,"src":"18621:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":26815,"name":"address","nodeType":"ElementaryTypeName","src":"18621:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":26816,"nodeType":"ArrayTypeName","src":"18621:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":26820,"mutability":"mutable","name":"values","nameLocation":"18668:6:60","nodeType":"VariableDeclaration","scope":26838,"src":"18651:23:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":26818,"name":"uint256","nodeType":"ElementaryTypeName","src":"18651:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":26819,"nodeType":"ArrayTypeName","src":"18651:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":26823,"mutability":"mutable","name":"calldatas","nameLocation":"18695:9:60","nodeType":"VariableDeclaration","scope":26838,"src":"18680:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":26821,"name":"bytes","nodeType":"ElementaryTypeName","src":"18680:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":26822,"nodeType":"ArrayTypeName","src":"18680:7:60","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":26825,"mutability":"mutable","name":"description","nameLocation":"18724:11:60","nodeType":"VariableDeclaration","scope":26838,"src":"18710:25:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26824,"name":"string","nodeType":"ElementaryTypeName","src":"18710:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26827,"mutability":"mutable","name":"startRoundId","nameLocation":"18749:12:60","nodeType":"VariableDeclaration","scope":26838,"src":"18741:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26826,"name":"uint256","nodeType":"ElementaryTypeName","src":"18741:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26829,"mutability":"mutable","name":"depositAmount","nameLocation":"18775:13:60","nodeType":"VariableDeclaration","scope":26838,"src":"18767:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26828,"name":"uint256","nodeType":"ElementaryTypeName","src":"18767:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26831,"mutability":"mutable","name":"grantsReceiver","nameLocation":"18802:14:60","nodeType":"VariableDeclaration","scope":26838,"src":"18794:22:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26830,"name":"address","nodeType":"ElementaryTypeName","src":"18794:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26833,"mutability":"mutable","name":"milestonesDetailsMetadataURI","nameLocation":"18836:28:60","nodeType":"VariableDeclaration","scope":26838,"src":"18822:42:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26832,"name":"string","nodeType":"ElementaryTypeName","src":"18822:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18615:253:60"},"returnParameters":{"id":26837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26836,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26838,"src":"18887:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26835,"name":"uint256","nodeType":"ElementaryTypeName","src":"18887:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18886:9:60"},"scope":27080,"src":"18594:302:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":26839,"nodeType":"StructuredDocumentation","src":"18900:335:60","text":" @dev Queue a proposal. Some governors require this step to be performed before execution can happen. If queuing\n is not necessary, this function may revert.\n Queuing a proposal requires the quorum to be reached, the vote to be successful, and the deadline to be reached.\n Emits a {ProposalQueued} event."},"functionSelector":"160cbed7","id":26855,"implemented":false,"kind":"function","modifiers":[],"name":"queue","nameLocation":"19247:5:60","nodeType":"FunctionDefinition","parameters":{"id":26851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26842,"mutability":"mutable","name":"targets","nameLocation":"19275:7:60","nodeType":"VariableDeclaration","scope":26855,"src":"19258:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":26840,"name":"address","nodeType":"ElementaryTypeName","src":"19258:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":26841,"nodeType":"ArrayTypeName","src":"19258:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":26845,"mutability":"mutable","name":"values","nameLocation":"19305:6:60","nodeType":"VariableDeclaration","scope":26855,"src":"19288:23:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":26843,"name":"uint256","nodeType":"ElementaryTypeName","src":"19288:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":26844,"nodeType":"ArrayTypeName","src":"19288:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":26848,"mutability":"mutable","name":"calldatas","nameLocation":"19332:9:60","nodeType":"VariableDeclaration","scope":26855,"src":"19317:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":26846,"name":"bytes","nodeType":"ElementaryTypeName","src":"19317:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":26847,"nodeType":"ArrayTypeName","src":"19317:7:60","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":26850,"mutability":"mutable","name":"descriptionHash","nameLocation":"19355:15:60","nodeType":"VariableDeclaration","scope":26855,"src":"19347:23:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19347:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19252:122:60"},"returnParameters":{"id":26854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26853,"mutability":"mutable","name":"proposalId","nameLocation":"19401:10:60","nodeType":"VariableDeclaration","scope":26855,"src":"19393:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26852,"name":"uint256","nodeType":"ElementaryTypeName","src":"19393:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19392:20:60"},"scope":27080,"src":"19238:175:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":26856,"nodeType":"StructuredDocumentation","src":"19417:430:60","text":" @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the\n deadline to be reached. Depending on the governor it might also be required that the proposal was queued and\n that some delay passed.\n Emits a {ProposalExecuted} event.\n NOTE: Some modules can modify the requirements for execution, for example by adding an additional timelock."},"functionSelector":"2656227d","id":26872,"implemented":false,"kind":"function","modifiers":[],"name":"execute","nameLocation":"19859:7:60","nodeType":"FunctionDefinition","parameters":{"id":26868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26859,"mutability":"mutable","name":"targets","nameLocation":"19889:7:60","nodeType":"VariableDeclaration","scope":26872,"src":"19872:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":26857,"name":"address","nodeType":"ElementaryTypeName","src":"19872:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":26858,"nodeType":"ArrayTypeName","src":"19872:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":26862,"mutability":"mutable","name":"values","nameLocation":"19919:6:60","nodeType":"VariableDeclaration","scope":26872,"src":"19902:23:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":26860,"name":"uint256","nodeType":"ElementaryTypeName","src":"19902:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":26861,"nodeType":"ArrayTypeName","src":"19902:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":26865,"mutability":"mutable","name":"calldatas","nameLocation":"19946:9:60","nodeType":"VariableDeclaration","scope":26872,"src":"19931:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":26863,"name":"bytes","nodeType":"ElementaryTypeName","src":"19931:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":26864,"nodeType":"ArrayTypeName","src":"19931:7:60","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":26867,"mutability":"mutable","name":"descriptionHash","nameLocation":"19969:15:60","nodeType":"VariableDeclaration","scope":26872,"src":"19961:23:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19961:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19866:122:60"},"returnParameters":{"id":26871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26870,"mutability":"mutable","name":"proposalId","nameLocation":"20023:10:60","nodeType":"VariableDeclaration","scope":26872,"src":"20015:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26869,"name":"uint256","nodeType":"ElementaryTypeName","src":"20015:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20014:20:60"},"scope":27080,"src":"19850:185:60","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":26873,"nodeType":"StructuredDocumentation","src":"20039:228:60","text":" @dev Cancel a proposal. A proposal is cancellable by the proposer, but only while it is Pending state, i.e.\n before the vote starts.\n Emits a {ProposalCanceled} and {ProposalCanceledWithReason} event."},"functionSelector":"de65f41a","id":26891,"implemented":false,"kind":"function","modifiers":[],"name":"cancel","nameLocation":"20279:6:60","nodeType":"FunctionDefinition","parameters":{"id":26887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26876,"mutability":"mutable","name":"targets","nameLocation":"20308:7:60","nodeType":"VariableDeclaration","scope":26891,"src":"20291:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":26874,"name":"address","nodeType":"ElementaryTypeName","src":"20291:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":26875,"nodeType":"ArrayTypeName","src":"20291:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":26879,"mutability":"mutable","name":"values","nameLocation":"20338:6:60","nodeType":"VariableDeclaration","scope":26891,"src":"20321:23:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":26877,"name":"uint256","nodeType":"ElementaryTypeName","src":"20321:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":26878,"nodeType":"ArrayTypeName","src":"20321:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":26882,"mutability":"mutable","name":"calldatas","nameLocation":"20365:9:60","nodeType":"VariableDeclaration","scope":26891,"src":"20350:24:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":26880,"name":"bytes","nodeType":"ElementaryTypeName","src":"20350:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":26881,"nodeType":"ArrayTypeName","src":"20350:7:60","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":26884,"mutability":"mutable","name":"descriptionHash","nameLocation":"20388:15:60","nodeType":"VariableDeclaration","scope":26891,"src":"20380:23:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20380:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":26886,"mutability":"mutable","name":"reason","nameLocation":"20423:6:60","nodeType":"VariableDeclaration","scope":26891,"src":"20409:20:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26885,"name":"string","nodeType":"ElementaryTypeName","src":"20409:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20285:148:60"},"returnParameters":{"id":26890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26889,"mutability":"mutable","name":"proposalId","nameLocation":"20460:10:60","nodeType":"VariableDeclaration","scope":26891,"src":"20452:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26888,"name":"uint256","nodeType":"ElementaryTypeName","src":"20452:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20451:20:60"},"scope":27080,"src":"20270:202:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":26892,"nodeType":"StructuredDocumentation","src":"20476:67:60","text":" @dev Cast a vote\n Emits a {VoteCast} event."},"functionSelector":"56781388","id":26901,"implemented":false,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"20555:8:60","nodeType":"FunctionDefinition","parameters":{"id":26897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26894,"mutability":"mutable","name":"proposalId","nameLocation":"20572:10:60","nodeType":"VariableDeclaration","scope":26901,"src":"20564:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26893,"name":"uint256","nodeType":"ElementaryTypeName","src":"20564:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26896,"mutability":"mutable","name":"support","nameLocation":"20590:7:60","nodeType":"VariableDeclaration","scope":26901,"src":"20584:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":26895,"name":"uint8","nodeType":"ElementaryTypeName","src":"20584:5:60","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20563:35:60"},"returnParameters":{"id":26900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26899,"mutability":"mutable","name":"balance","nameLocation":"20625:7:60","nodeType":"VariableDeclaration","scope":26901,"src":"20617:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26898,"name":"uint256","nodeType":"ElementaryTypeName","src":"20617:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20616:17:60"},"scope":27080,"src":"20546:88:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":26902,"nodeType":"StructuredDocumentation","src":"20638:81:60","text":" @dev Cast a vote with a reason\n Emits a {VoteCast} event."},"functionSelector":"7b3c71d3","id":26913,"implemented":false,"kind":"function","modifiers":[],"name":"castVoteWithReason","nameLocation":"20731:18:60","nodeType":"FunctionDefinition","parameters":{"id":26909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26904,"mutability":"mutable","name":"proposalId","nameLocation":"20763:10:60","nodeType":"VariableDeclaration","scope":26913,"src":"20755:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26903,"name":"uint256","nodeType":"ElementaryTypeName","src":"20755:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26906,"mutability":"mutable","name":"support","nameLocation":"20785:7:60","nodeType":"VariableDeclaration","scope":26913,"src":"20779:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":26905,"name":"uint8","nodeType":"ElementaryTypeName","src":"20779:5:60","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":26908,"mutability":"mutable","name":"reason","nameLocation":"20814:6:60","nodeType":"VariableDeclaration","scope":26913,"src":"20798:22:60","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":26907,"name":"string","nodeType":"ElementaryTypeName","src":"20798:6:60","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20749:75:60"},"returnParameters":{"id":26912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26911,"mutability":"mutable","name":"balance","nameLocation":"20851:7:60","nodeType":"VariableDeclaration","scope":26913,"src":"20843:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26910,"name":"uint256","nodeType":"ElementaryTypeName","src":"20843:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20842:17:60"},"scope":27080,"src":"20722:138:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":26914,"nodeType":"StructuredDocumentation","src":"20864:73:60","text":" @dev Check if user has cast vote at least in one proposal."},"functionSelector":"9aeb962b","id":26921,"implemented":false,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"20949:12:60","nodeType":"FunctionDefinition","parameters":{"id":26917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26916,"mutability":"mutable","name":"user","nameLocation":"20970:4:60","nodeType":"VariableDeclaration","scope":26921,"src":"20962:12:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26915,"name":"address","nodeType":"ElementaryTypeName","src":"20962:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20961:14:60"},"returnParameters":{"id":26920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26919,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26921,"src":"20999:4:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26918,"name":"bool","nodeType":"ElementaryTypeName","src":"20999:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20998:6:60"},"scope":27080,"src":"20940:65:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26922,"nodeType":"StructuredDocumentation","src":"21009:65:60","text":" @dev Round when the proposal should become active."},"functionSelector":"8ced2a11","id":26929,"implemented":false,"kind":"function","modifiers":[],"name":"proposalStartRound","nameLocation":"21086:18:60","nodeType":"FunctionDefinition","parameters":{"id":26925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26924,"mutability":"mutable","name":"proposalId","nameLocation":"21113:10:60","nodeType":"VariableDeclaration","scope":26929,"src":"21105:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26923,"name":"uint256","nodeType":"ElementaryTypeName","src":"21105:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21104:20:60"},"returnParameters":{"id":26928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26929,"src":"21148:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26926,"name":"uint256","nodeType":"ElementaryTypeName","src":"21148:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21147:9:60"},"scope":27080,"src":"21077:80:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26930,"nodeType":"StructuredDocumentation","src":"21161:77:60","text":" @dev Check if proposal can start in the next allocation round."},"functionSelector":"81ab2353","id":26935,"implemented":false,"kind":"function","modifiers":[],"name":"canProposalStartInNextRound","nameLocation":"21250:27:60","nodeType":"FunctionDefinition","parameters":{"id":26931,"nodeType":"ParameterList","parameters":[],"src":"21277:2:60"},"returnParameters":{"id":26934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26935,"src":"21303:4:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26932,"name":"bool","nodeType":"ElementaryTypeName","src":"21303:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21302:6:60"},"scope":27080,"src":"21241:68:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26936,"nodeType":"StructuredDocumentation","src":"21313:60:60","text":" @dev Function to deposit tokens to a proposal"},"functionSelector":"e2bbb158","id":26943,"implemented":false,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"21385:7:60","nodeType":"FunctionDefinition","parameters":{"id":26941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26938,"mutability":"mutable","name":"amount","nameLocation":"21401:6:60","nodeType":"VariableDeclaration","scope":26943,"src":"21393:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26937,"name":"uint256","nodeType":"ElementaryTypeName","src":"21393:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26940,"mutability":"mutable","name":"proposalId","nameLocation":"21417:10:60","nodeType":"VariableDeclaration","scope":26943,"src":"21409:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26939,"name":"uint256","nodeType":"ElementaryTypeName","src":"21409:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21392:36:60"},"returnParameters":{"id":26942,"nodeType":"ParameterList","parameters":[],"src":"21437:0:60"},"scope":27080,"src":"21376:62:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":26944,"nodeType":"StructuredDocumentation","src":"21442:63:60","text":" @dev Function to withdraw tokens from a proposal"},"functionSelector":"00f714ce","id":26951,"implemented":false,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"21517:8:60","nodeType":"FunctionDefinition","parameters":{"id":26949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26946,"mutability":"mutable","name":"proposalId","nameLocation":"21534:10:60","nodeType":"VariableDeclaration","scope":26951,"src":"21526:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26945,"name":"uint256","nodeType":"ElementaryTypeName","src":"21526:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26948,"mutability":"mutable","name":"depositer","nameLocation":"21554:9:60","nodeType":"VariableDeclaration","scope":26951,"src":"21546:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26947,"name":"address","nodeType":"ElementaryTypeName","src":"21546:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21525:39:60"},"returnParameters":{"id":26950,"nodeType":"ParameterList","parameters":[],"src":"21573:0:60"},"scope":27080,"src":"21508:66:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":26952,"nodeType":"StructuredDocumentation","src":"21578:89:60","text":" @dev Getter to retrieve the total amount of tokens deposited to a proposal"},"functionSelector":"c220f2f5","id":26959,"implemented":false,"kind":"function","modifiers":[],"name":"getProposalDeposits","nameLocation":"21679:19:60","nodeType":"FunctionDefinition","parameters":{"id":26955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26954,"mutability":"mutable","name":"proposalId","nameLocation":"21707:10:60","nodeType":"VariableDeclaration","scope":26959,"src":"21699:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26953,"name":"uint256","nodeType":"ElementaryTypeName","src":"21699:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21698:20:60"},"returnParameters":{"id":26958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26959,"src":"21742:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26956,"name":"uint256","nodeType":"ElementaryTypeName","src":"21742:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21741:9:60"},"scope":27080,"src":"21670:81:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26960,"nodeType":"StructuredDocumentation","src":"21755:94:60","text":" @dev Function to check if the deposit threshold for a proposal has been reached"},"functionSelector":"8d5a3f67","id":26967,"implemented":false,"kind":"function","modifiers":[],"name":"proposalDepositReached","nameLocation":"21861:22:60","nodeType":"FunctionDefinition","parameters":{"id":26963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26962,"mutability":"mutable","name":"proposalId","nameLocation":"21892:10:60","nodeType":"VariableDeclaration","scope":26967,"src":"21884:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26961,"name":"uint256","nodeType":"ElementaryTypeName","src":"21884:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21883:20:60"},"returnParameters":{"id":26966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26965,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26967,"src":"21927:4:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26964,"name":"bool","nodeType":"ElementaryTypeName","src":"21927:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21926:6:60"},"scope":27080,"src":"21852:81:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26968,"nodeType":"StructuredDocumentation","src":"21937:103:60","text":" @dev Getter to retrieve the amount of tokens a specific user has deposited to a proposal"},"functionSelector":"4e055244","id":26977,"implemented":false,"kind":"function","modifiers":[],"name":"getUserDeposit","nameLocation":"22052:14:60","nodeType":"FunctionDefinition","parameters":{"id":26973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26970,"mutability":"mutable","name":"proposalId","nameLocation":"22075:10:60","nodeType":"VariableDeclaration","scope":26977,"src":"22067:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26969,"name":"uint256","nodeType":"ElementaryTypeName","src":"22067:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26972,"mutability":"mutable","name":"user","nameLocation":"22095:4:60","nodeType":"VariableDeclaration","scope":26977,"src":"22087:12:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26971,"name":"address","nodeType":"ElementaryTypeName","src":"22087:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22066:34:60"},"returnParameters":{"id":26976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26975,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26977,"src":"22124:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26974,"name":"uint256","nodeType":"ElementaryTypeName","src":"22124:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22123:9:60"},"scope":27080,"src":"22043:90:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26978,"nodeType":"StructuredDocumentation","src":"22137:113:60","text":" @notice Returns the VeBetterPassport contract.\n @return The current VeBetterPassport contract."},"functionSelector":"0050ea6f","id":26984,"implemented":false,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"22262:16:60","nodeType":"FunctionDefinition","parameters":{"id":26979,"nodeType":"ParameterList","parameters":[],"src":"22278:2:60"},"returnParameters":{"id":26983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26984,"src":"22304:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":26981,"nodeType":"UserDefinedTypeName","pathNode":{"id":26980,"name":"IVeBetterPassport","nameLocations":["22304:17:60"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"22304:17:60"},"referencedDeclaration":68601,"src":"22304:17:60","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"22303:19:60"},"scope":27080,"src":"22253:70:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":26985,"nodeType":"StructuredDocumentation","src":"22327:122:60","text":" @notice Set the VeBetterPassport contract\n @param newVeBetterPassport The new VeBetterPassport contract"},"functionSelector":"b3c93dab","id":26991,"implemented":false,"kind":"function","modifiers":[],"name":"setVeBetterPassport","nameLocation":"22461:19:60","nodeType":"FunctionDefinition","parameters":{"id":26989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26988,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"22499:19:60","nodeType":"VariableDeclaration","scope":26991,"src":"22481:37:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":26987,"nodeType":"UserDefinedTypeName","pathNode":{"id":26986,"name":"IVeBetterPassport","nameLocations":["22481:17:60"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"22481:17:60"},"referencedDeclaration":68601,"src":"22481:17:60","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"22480:39:60"},"returnParameters":{"id":26990,"nodeType":"ParameterList","parameters":[],"src":"22528:0:60"},"scope":27080,"src":"22452:77:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":26992,"nodeType":"StructuredDocumentation","src":"22533:68:60","text":" @notice module:core\n @dev The type of a proposal."},"functionSelector":"2a09c772","id":27000,"implemented":false,"kind":"function","modifiers":[],"name":"proposalType","nameLocation":"22613:12:60","nodeType":"FunctionDefinition","parameters":{"id":26995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26994,"mutability":"mutable","name":"proposalId","nameLocation":"22634:10:60","nodeType":"VariableDeclaration","scope":27000,"src":"22626:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26993,"name":"uint256","nodeType":"ElementaryTypeName","src":"22626:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22625:20:60"},"returnParameters":{"id":26999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27000,"src":"22669:29:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":26997,"nodeType":"UserDefinedTypeName","pathNode":{"id":26996,"name":"GovernorTypesV10.ProposalType","nameLocations":["22669:16:60","22686:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"22669:29:60"},"referencedDeclaration":25017,"src":"22669:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"22668:31:60"},"scope":27080,"src":"22604:96:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":27001,"nodeType":"StructuredDocumentation","src":"22704:110:60","text":" @notice Set the GalaxyMember contract\n @param newGalaxyMember The new GalaxyMember contract"},"functionSelector":"ae0b8da8","id":27007,"implemented":false,"kind":"function","modifiers":[],"name":"setGalaxyMember","nameLocation":"22826:15:60","nodeType":"FunctionDefinition","parameters":{"id":27005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27004,"mutability":"mutable","name":"newGalaxyMember","nameLocation":"22856:15:60","nodeType":"VariableDeclaration","scope":27007,"src":"22842:29:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":27003,"nodeType":"UserDefinedTypeName","pathNode":{"id":27002,"name":"IGalaxyMember","nameLocations":["22842:13:60"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"22842:13:60"},"referencedDeclaration":65196,"src":"22842:13:60","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"22841:31:60"},"returnParameters":{"id":27006,"nodeType":"ParameterList","parameters":[],"src":"22881:0:60"},"scope":27080,"src":"22817:65:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":27008,"nodeType":"StructuredDocumentation","src":"22886:99:60","text":" @notice Get the GalaxyMember contract\n @return The current GalaxyMember contract"},"functionSelector":"f03a98d5","id":27014,"implemented":false,"kind":"function","modifiers":[],"name":"getGalaxyMemberContract","nameLocation":"22997:23:60","nodeType":"FunctionDefinition","parameters":{"id":27009,"nodeType":"ParameterList","parameters":[],"src":"23020:2:60"},"returnParameters":{"id":27013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27012,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27014,"src":"23046:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":27011,"nodeType":"UserDefinedTypeName","pathNode":{"id":27010,"name":"IGalaxyMember","nameLocations":["23046:13:60"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"23046:13:60"},"referencedDeclaration":65196,"src":"23046:13:60","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"23045:15:60"},"scope":27080,"src":"22988:73:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":27015,"nodeType":"StructuredDocumentation","src":"23065:113:60","text":" @notice Set the GrantsManager contract\n @param newGrantsManager The new GrantsManager contract"},"functionSelector":"d53c74c1","id":27021,"implemented":false,"kind":"function","modifiers":[],"name":"setGrantsManager","nameLocation":"23190:16:60","nodeType":"FunctionDefinition","parameters":{"id":27019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27018,"mutability":"mutable","name":"newGrantsManager","nameLocation":"23222:16:60","nodeType":"VariableDeclaration","scope":27021,"src":"23207:31:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":27017,"nodeType":"UserDefinedTypeName","pathNode":{"id":27016,"name":"IGrantsManager","nameLocations":["23207:14:60"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"23207:14:60"},"referencedDeclaration":65639,"src":"23207:14:60","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"23206:33:60"},"returnParameters":{"id":27020,"nodeType":"ParameterList","parameters":[],"src":"23248:0:60"},"scope":27080,"src":"23181:68:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":27022,"nodeType":"StructuredDocumentation","src":"23253:128:60","text":" @notice Set the RelayerRewardsPool contract\n @param newRelayerRewardsPool The new RelayerRewardsPool contract"},"functionSelector":"0dd8614c","id":27028,"implemented":false,"kind":"function","modifiers":[],"name":"setRelayerRewardsPool","nameLocation":"23393:21:60","nodeType":"FunctionDefinition","parameters":{"id":27026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27025,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"23435:21:60","nodeType":"VariableDeclaration","scope":27028,"src":"23415:41:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":27024,"nodeType":"UserDefinedTypeName","pathNode":{"id":27023,"name":"IRelayerRewardsPool","nameLocations":["23415:19:60"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"23415:19:60"},"referencedDeclaration":67117,"src":"23415:19:60","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"23414:43:60"},"returnParameters":{"id":27027,"nodeType":"ParameterList","parameters":[],"src":"23466:0:60"},"scope":27080,"src":"23384:83:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":27029,"nodeType":"StructuredDocumentation","src":"23471:101:60","text":" @notice Get the GrantsManager contract\n @return The current GrantsManager contract"},"functionSelector":"cf09f8bf","id":27035,"implemented":false,"kind":"function","modifiers":[],"name":"getGrantsManagerContract","nameLocation":"23584:24:60","nodeType":"FunctionDefinition","parameters":{"id":27030,"nodeType":"ParameterList","parameters":[],"src":"23608:2:60"},"returnParameters":{"id":27034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27033,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27035,"src":"23634:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":27032,"nodeType":"UserDefinedTypeName","pathNode":{"id":27031,"name":"IGrantsManager","nameLocations":["23634:14:60"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"23634:14:60"},"referencedDeclaration":65639,"src":"23634:14:60","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"23633:16:60"},"scope":27080,"src":"23575:75:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":27036,"nodeType":"StructuredDocumentation","src":"23654:164:60","text":" @notice Get the GM weight for a proposal type\n @param proposalTypeValue The type of the proposal\n @return The GM weight for the proposal type"},"functionSelector":"6dd139be","id":27044,"implemented":false,"kind":"function","modifiers":[],"name":"getRequiredGMLevelByProposalType","nameLocation":"23830:32:60","nodeType":"FunctionDefinition","parameters":{"id":27040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27039,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"23898:17:60","nodeType":"VariableDeclaration","scope":27044,"src":"23868:47:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":27038,"nodeType":"UserDefinedTypeName","pathNode":{"id":27037,"name":"GovernorTypesV10.ProposalType","nameLocations":["23868:16:60","23885:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"23868:29:60"},"referencedDeclaration":25017,"src":"23868:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"23862:57:60"},"returnParameters":{"id":27043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27042,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27044,"src":"23943:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27041,"name":"uint256","nodeType":"ElementaryTypeName","src":"23943:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23942:9:60"},"scope":27080,"src":"23821:131:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":27045,"nodeType":"StructuredDocumentation","src":"23956:291:60","text":" @notice Set the GM weight for a proposal type\n @param proposalTypeValue The type of the proposal\n @param newGMWeight The new GM weight for the proposal type\n @notice e.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal"},"functionSelector":"406ced84","id":27053,"implemented":false,"kind":"function","modifiers":[],"name":"setRequiredGMLevelByProposalType","nameLocation":"24259:32:60","nodeType":"FunctionDefinition","parameters":{"id":27051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27048,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"24322:17:60","nodeType":"VariableDeclaration","scope":27053,"src":"24292:47:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":27047,"nodeType":"UserDefinedTypeName","pathNode":{"id":27046,"name":"GovernorTypesV10.ProposalType","nameLocations":["24292:16:60","24309:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"24292:29:60"},"referencedDeclaration":25017,"src":"24292:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"},{"constant":false,"id":27050,"mutability":"mutable","name":"newGMWeight","nameLocation":"24349:11:60","nodeType":"VariableDeclaration","scope":27053,"src":"24341:19:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27049,"name":"uint256","nodeType":"ElementaryTypeName","src":"24341:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24291:70:60"},"returnParameters":{"id":27052,"nodeType":"ParameterList","parameters":[],"src":"24370:0:60"},"scope":27080,"src":"24250:121:60","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":27054,"nodeType":"StructuredDocumentation","src":"24375:199:60","text":" @notice Returns the deposit threshold cap for a proposal type.\n @param proposalTypeValue The type of proposal.\n @return uint256 The deposit threshold cap for the proposal type."},"functionSelector":"e4ec85d4","id":27062,"implemented":false,"kind":"function","modifiers":[],"name":"depositThresholdCapByProposalType","nameLocation":"24586:33:60","nodeType":"FunctionDefinition","parameters":{"id":27058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27057,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"24655:17:60","nodeType":"VariableDeclaration","scope":27062,"src":"24625:47:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"},"typeName":{"id":27056,"nodeType":"UserDefinedTypeName","pathNode":{"id":27055,"name":"GovernorTypesV10.ProposalType","nameLocations":["24625:16:60","24642:12:60"],"nodeType":"IdentifierPath","referencedDeclaration":25017,"src":"24625:29:60"},"referencedDeclaration":25017,"src":"24625:29:60","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$25017","typeString":"enum GovernorTypesV10.ProposalType"}},"visibility":"internal"}],"src":"24619:57:60"},"returnParameters":{"id":27061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27062,"src":"24700:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27059,"name":"uint256","nodeType":"ElementaryTypeName","src":"24700:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24699:9:60"},"scope":27080,"src":"24577:132:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":27063,"nodeType":"StructuredDocumentation","src":"24713:213:60","text":" @notice Get the deposit voting power for a given account at a given timepoint\n @param account The address of the account\n @param timepoint The timepoint\n @return The deposit voting power"},"functionSelector":"a56b5765","id":27072,"implemented":false,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"24938:21:60","nodeType":"FunctionDefinition","parameters":{"id":27068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27065,"mutability":"mutable","name":"account","nameLocation":"24968:7:60","nodeType":"VariableDeclaration","scope":27072,"src":"24960:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27064,"name":"address","nodeType":"ElementaryTypeName","src":"24960:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27067,"mutability":"mutable","name":"timepoint","nameLocation":"24985:9:60","nodeType":"VariableDeclaration","scope":27072,"src":"24977:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27066,"name":"uint256","nodeType":"ElementaryTypeName","src":"24977:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24959:36:60"},"returnParameters":{"id":27071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27072,"src":"25019:7:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27069,"name":"uint256","nodeType":"ElementaryTypeName","src":"25019:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25018:9:60"},"scope":27080,"src":"24929:99:60","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":27073,"nodeType":"StructuredDocumentation","src":"25032:61:60","text":" @notice Returns currently active proposal IDs."},"functionSelector":"5584c4f9","id":27079,"implemented":false,"kind":"function","modifiers":[],"name":"getActiveProposals","nameLocation":"25105:18:60","nodeType":"FunctionDefinition","parameters":{"id":27074,"nodeType":"ParameterList","parameters":[],"src":"25123:2:60"},"returnParameters":{"id":27078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27079,"src":"25149:16:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":27075,"name":"uint256","nodeType":"ElementaryTypeName","src":"25149:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27076,"nodeType":"ArrayTypeName","src":"25149:9:60","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"25148:18:60"},"scope":27080,"src":"25096:71:60","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":27081,"src":"1612:23557:60","usedErrors":[26244,26249,26252,26257,26264,26269,26274,26279,26286,26293,26300,26310,26315,26324,26329,26332,26335,26340,26345,26350,26357,26360,26365,26370,26375,26383,26388,26393,26398,26405],"usedEvents":[26430,26437,26442,26447,26456,26463,26470,26479,26494,26499,26508,26515,26523,26533,26543,26553,26563,26570,26579,26584,26589,26594,26603]}],"src":"120:25050:60"},"id":60},"contracts/deprecated/V2/GalaxyMemberV2.sol":{"ast":{"absolutePath":"contracts/deprecated/V2/GalaxyMemberV2.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Checkpoints":[10447],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"ERC721BurnableUpgradeable":[3189],"ERC721EnumerableUpgradeable":[3674],"ERC721PausableUpgradeable":[3728],"ERC721URIStorageUpgradeable":[3898],"ERC721Upgradeable":[3144],"GalaxyMemberV2":[29379],"IAccessControl":[4415],"IB3TR":[62888],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC4906":[4526],"IERC721":[5253],"IERC721Enumerable":[5303],"IERC721Errors":[4656],"IERC721Metadata":[5331],"IERC721Receiver":[5271],"INodeManagementV1":[17497],"ITokenAuction":[73165],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"Math":[7015],"PausableUpgradeable":[4163],"ReentrancyGuardUpgradeable":[4292],"SafeCast":[8770],"SignedMath":[8875],"Strings":[5949],"UUPSUpgradeable":[1914]},"id":29380,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":27082,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:61"},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","id":27083,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":3145,"src":"1220:80:61","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","id":27084,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":3675,"src":"1301:101:61","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","id":27085,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":3899,"src":"1403:101:61","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","id":27086,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":3729,"src":"1505:99:61","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","id":27087,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":3190,"src":"1605:99:61","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":27088,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":363,"src":"1705:81:61","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","id":27089,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":5950,"src":"1787:51:61","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":27090,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":4293,"src":"1839:82:61","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":27092,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":10448,"src":"1922:84:61","symbolAliases":[{"foreign":{"id":27091,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1931:11:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":27094,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":8771,"src":"2007:75:61","symbolAliases":[{"foreign":{"id":27093,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"2016:8:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":27096,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":71125,"src":"2083:93:61","symbolAliases":[{"foreign":{"id":27095,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"2092:26:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":27098,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":63920,"src":"2177:67:61","symbolAliases":[{"foreign":{"id":27097,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2186:13:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":27100,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":62889,"src":"2245:51:61","symbolAliases":[{"foreign":{"id":27099,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"2254:5:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/ITokenAuction.sol","file":"../../mocks/Stargate/interfaces/ITokenAuction.sol","id":27102,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":73166,"src":"2297:82:61","symbolAliases":[{"foreign":{"id":27101,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"2306:13:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V1/interfaces/INodeManagementV1.sol","file":"../V1/interfaces/INodeManagementV1.sol","id":27104,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":17498,"src":"2380:75:61","symbolAliases":[{"foreign":{"id":27103,"name":"INodeManagementV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17497,"src":"2389:17:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":27105,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":29380,"sourceUnit":1915,"src":"2456:77:61","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":27107,"name":"ERC721Upgradeable","nameLocations":["3573:17:61"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"3573:17:61"},"id":27108,"nodeType":"InheritanceSpecifier","src":"3573:17:61"},{"baseName":{"id":27109,"name":"ERC721EnumerableUpgradeable","nameLocations":["3594:27:61"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"3594:27:61"},"id":27110,"nodeType":"InheritanceSpecifier","src":"3594:27:61"},{"baseName":{"id":27111,"name":"ERC721PausableUpgradeable","nameLocations":["3625:25:61"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"3625:25:61"},"id":27112,"nodeType":"InheritanceSpecifier","src":"3625:25:61"},{"baseName":{"id":27113,"name":"ERC721BurnableUpgradeable","nameLocations":["3654:25:61"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"3654:25:61"},"id":27114,"nodeType":"InheritanceSpecifier","src":"3654:25:61"},{"baseName":{"id":27115,"name":"AccessControlUpgradeable","nameLocations":["3683:24:61"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"3683:24:61"},"id":27116,"nodeType":"InheritanceSpecifier","src":"3683:24:61"},{"baseName":{"id":27117,"name":"ReentrancyGuardUpgradeable","nameLocations":["3711:26:61"],"nodeType":"IdentifierPath","referencedDeclaration":4292,"src":"3711:26:61"},"id":27118,"nodeType":"InheritanceSpecifier","src":"3711:26:61"},{"baseName":{"id":27119,"name":"UUPSUpgradeable","nameLocations":["3741:15:61"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"3741:15:61"},"id":27120,"nodeType":"InheritanceSpecifier","src":"3741:15:61"}],"canonicalName":"GalaxyMemberV2","contractDependencies":[],"contractKind":"contract","documentation":{"id":27106,"nodeType":"StructuredDocumentation","src":"2535:1008:61","text":" @title GalaxyMember\n @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n --------------------------------- VERSION ---------------------------------\n - Added Vechain Nodes contract to attach and detach nodes to tokens\n - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n - Added free upgrade levels for each Vechain node level\n - Removed automatic highest level owned selection\n - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n - Core logic functions are now overridable through inheritance\n - B3TRGovernor has been updated to V2 thus pointing to the new interface\n - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too"},"fullyImplemented":true,"id":29379,"linearizedBaseContracts":[29379,1914,4566,4292,362,3189,3728,4163,3674,5303,3144,4656,5331,5253,4332,5961,4415,3987,1732],"name":"GalaxyMemberV2","nameLocation":"3553:14:61","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"f72c0d8b","id":27125,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"3785:13:61","nodeType":"VariableDeclaration","scope":29379,"src":"3761:66:61","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3761:7:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":27123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3811:15:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":27122,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3801:9:61","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":27124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3801:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":27130,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"3855:11:61","nodeType":"VariableDeclaration","scope":29379,"src":"3831:62:61","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3831:7:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":27128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3879:13:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":27127,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3869:9:61","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":27129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3869:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"d5391393","id":27135,"mutability":"constant","name":"MINTER_ROLE","nameLocation":"3921:11:61","nodeType":"VariableDeclaration","scope":29379,"src":"3897:62:61","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3897:7:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4d494e5445525f524f4c45","id":27133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3945:13:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""},"value":"MINTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""}],"id":27132,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3935:9:61","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":27134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3935:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"952f2133","id":27140,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"3987:30:61","nodeType":"VariableDeclaration","scope":29379,"src":"3963:100:61","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3963:7:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":27138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4030:32:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":27137,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4020:9:61","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":27139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4020:43:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"3d6dbee8","id":27145,"mutability":"constant","name":"NODES_MANAGER_ROLE","nameLocation":"4091:18:61","nodeType":"VariableDeclaration","scope":29379,"src":"4067:76:61","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4067:7:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4e4f4445535f4d414e414745525f524f4c45","id":27143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4122:20:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""},"value":"NODES_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""}],"id":27142,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4112:9:61","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":27144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4112:31:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"GalaxyMemberV2.GalaxyMemberStorage","documentation":{"id":27146,"nodeType":"StructuredDocumentation","src":"4148:204:61","text":"@notice Storage structure for GalaxyMember\n @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n @custom:storage-location erc7201:b3tr.storage.GalaxyMember"},"id":27211,"members":[{"constant":false,"id":27149,"mutability":"mutable","name":"xAllocationsGovernor","nameLocation":"4415:20:61","nodeType":"VariableDeclaration","scope":27211,"src":"4388:47:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":27148,"nodeType":"UserDefinedTypeName","pathNode":{"id":27147,"name":"IXAllocationVotingGovernor","nameLocations":["4388:26:61"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"4388:26:61"},"referencedDeclaration":71124,"src":"4388:26:61","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":27152,"mutability":"mutable","name":"b3trGovernor","nameLocation":"4493:12:61","nodeType":"VariableDeclaration","scope":27211,"src":"4479:26:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":27151,"nodeType":"UserDefinedTypeName","pathNode":{"id":27150,"name":"IB3TRGovernor","nameLocations":["4479:13:61"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"4479:13:61"},"referencedDeclaration":63919,"src":"4479:13:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"},{"constant":false,"id":27155,"mutability":"mutable","name":"b3tr","nameLocation":"4542:4:61","nodeType":"VariableDeclaration","scope":27211,"src":"4536:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":27154,"nodeType":"UserDefinedTypeName","pathNode":{"id":27153,"name":"IB3TR","nameLocations":["4536:5:61"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"4536:5:61"},"referencedDeclaration":62888,"src":"4536:5:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":27157,"mutability":"mutable","name":"treasury","nameLocation":"4583:8:61","nodeType":"VariableDeclaration","scope":27211,"src":"4575:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27156,"name":"address","nodeType":"ElementaryTypeName","src":"4575:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27159,"mutability":"mutable","name":"_baseTokenURI","nameLocation":"4633:13:61","nodeType":"VariableDeclaration","scope":27211,"src":"4626:20:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":27158,"name":"string","nodeType":"ElementaryTypeName","src":"4626:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27161,"mutability":"mutable","name":"_nextTokenId","nameLocation":"4686:12:61","nodeType":"VariableDeclaration","scope":27211,"src":"4678:20:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27160,"name":"uint256","nodeType":"ElementaryTypeName","src":"4678:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27163,"mutability":"mutable","name":"MAX_LEVEL","nameLocation":"4742:9:61","nodeType":"VariableDeclaration","scope":27211,"src":"4734:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27162,"name":"uint256","nodeType":"ElementaryTypeName","src":"4734:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27167,"mutability":"mutable","name":"levelOf","nameLocation":"4849:7:61","nodeType":"VariableDeclaration","scope":27211,"src":"4821:35:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":27166,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":27164,"name":"uint256","nodeType":"ElementaryTypeName","src":"4829:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4821:27:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27165,"name":"uint256","nodeType":"ElementaryTypeName","src":"4840:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":27171,"mutability":"mutable","name":"_b3trToUpgradeToLevel","nameLocation":"4937:21:61","nodeType":"VariableDeclaration","scope":27211,"src":"4909:49:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":27170,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":27168,"name":"uint256","nodeType":"ElementaryTypeName","src":"4917:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4909:27:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27169,"name":"uint256","nodeType":"ElementaryTypeName","src":"4928:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":27176,"mutability":"mutable","name":"_selectedLevelCheckpoints","nameLocation":"5075:25:61","nodeType":"VariableDeclaration","scope":27211,"src":"5028:72:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":27175,"keyName":"owner","keyNameLocation":"5044:5:61","keyType":{"id":27172,"name":"address","nodeType":"ElementaryTypeName","src":"5036:7:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5028:46:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27174,"nodeType":"UserDefinedTypeName","pathNode":{"id":27173,"name":"Checkpoints.Trace208","nameLocations":["5053:11:61","5065:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"5053:20:61"},"referencedDeclaration":9409,"src":"5053:20:61","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":27182,"mutability":"mutable","name":"_ownedLevels","nameLocation":"5200:12:61","nodeType":"VariableDeclaration","scope":27211,"src":"5152:60:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":27181,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":27177,"name":"address","nodeType":"ElementaryTypeName","src":"5160:7:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5152:47:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27180,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":27178,"name":"uint256","nodeType":"ElementaryTypeName","src":"5179:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5171:27:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27179,"name":"uint256","nodeType":"ElementaryTypeName","src":"5190:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":27184,"mutability":"mutable","name":"isPublicMintingPaused","nameLocation":"5277:21:61","nodeType":"VariableDeclaration","scope":27211,"src":"5272:26:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27183,"name":"bool","nodeType":"ElementaryTypeName","src":"5272:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27187,"mutability":"mutable","name":"vechainNodes","nameLocation":"5429:12:61","nodeType":"VariableDeclaration","scope":27211,"src":"5415:26:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"},"typeName":{"id":27186,"nodeType":"UserDefinedTypeName","pathNode":{"id":27185,"name":"ITokenAuction","nameLocations":["5415:13:61"],"nodeType":"IdentifierPath","referencedDeclaration":73165,"src":"5415:13:61"},"referencedDeclaration":73165,"src":"5415:13:61","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"visibility":"internal"},{"constant":false,"id":27190,"mutability":"mutable","name":"nodeManagement","nameLocation":"5491:14:61","nodeType":"VariableDeclaration","scope":27211,"src":"5473:32:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV1_$17497","typeString":"contract INodeManagementV1"},"typeName":{"id":27189,"nodeType":"UserDefinedTypeName","pathNode":{"id":27188,"name":"INodeManagementV1","nameLocations":["5473:17:61"],"nodeType":"IdentifierPath","referencedDeclaration":17497,"src":"5473:17:61"},"referencedDeclaration":17497,"src":"5473:17:61","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV1_$17497","typeString":"contract INodeManagementV1"}},"visibility":"internal"},{"constant":false,"id":27194,"mutability":"mutable","name":"_nodeToTokenId","nameLocation":"5567:14:61","nodeType":"VariableDeclaration","scope":27211,"src":"5539:42:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":27193,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":27191,"name":"uint256","nodeType":"ElementaryTypeName","src":"5547:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5539:27:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27192,"name":"uint256","nodeType":"ElementaryTypeName","src":"5558:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":27198,"mutability":"mutable","name":"_tokenIdToNode","nameLocation":"5721:14:61","nodeType":"VariableDeclaration","scope":27211,"src":"5693:42:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":27197,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":27195,"name":"uint256","nodeType":"ElementaryTypeName","src":"5701:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5693:27:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27196,"name":"uint256","nodeType":"ElementaryTypeName","src":"5712:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":27202,"mutability":"mutable","name":"_nodeToFreeUpgradeLevel","nameLocation":"5882:23:61","nodeType":"VariableDeclaration","scope":27211,"src":"5856:49:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"typeName":{"id":27201,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":27199,"name":"uint8","nodeType":"ElementaryTypeName","src":"5864:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"5856:25:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27200,"name":"uint256","nodeType":"ElementaryTypeName","src":"5873:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":27206,"mutability":"mutable","name":"_tokenIdToB3TRdonated","nameLocation":"6085:21:61","nodeType":"VariableDeclaration","scope":27211,"src":"6057:49:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":27205,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":27203,"name":"uint256","nodeType":"ElementaryTypeName","src":"6065:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6057:27:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27204,"name":"uint256","nodeType":"ElementaryTypeName","src":"6076:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":27210,"mutability":"mutable","name":"_selectedTokenID","nameLocation":"6198:16:61","nodeType":"VariableDeclaration","scope":27211,"src":"6170:44:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":27209,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":27207,"name":"address","nodeType":"ElementaryTypeName","src":"6178:7:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6170:27:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":27208,"name":"uint256","nodeType":"ElementaryTypeName","src":"6189:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"GalaxyMemberStorage","nameLocation":"4362:19:61","nodeType":"StructDefinition","scope":29379,"src":"4355:1917:61","visibility":"public"},{"constant":true,"documentation":{"id":27212,"nodeType":"StructuredDocumentation","src":"6276:160:61","text":"@notice Storage slot for GalaxyMemberStorage\n @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))"},"id":27215,"mutability":"constant","name":"GalaxyMemberStorageLocation","nameLocation":"6464:27:61","nodeType":"VariableDeclaration","scope":29379,"src":"6439:125:61","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6439:7:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613739653436383434656430343431316534353739633762633439643035336535396230383534666134653961386466336435613035393763653435323030","id":27214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6498:66:61","typeDescriptions":{"typeIdentifier":"t_rational_55397532431256944332624412610074443018145280775219256269508870897919582294528_by_1","typeString":"int_const 5539...(69 digits omitted)...4528"},"value":"0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200"},"visibility":"private"},{"body":{"id":27223,"nodeType":"Block","src":"6733:70:61","statements":[{"AST":{"nodeType":"YulBlock","src":"6748:51:61","statements":[{"nodeType":"YulAssignment","src":"6756:37:61","value":{"name":"GalaxyMemberStorageLocation","nodeType":"YulIdentifier","src":"6766:27:61"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"6756:6:61"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":27220,"isOffset":false,"isSlot":true,"src":"6756:6:61","suffix":"slot","valueSize":1},{"declaration":27215,"isOffset":false,"isSlot":false,"src":"6766:27:61","valueSize":1}],"id":27222,"nodeType":"InlineAssembly","src":"6739:60:61"}]},"documentation":{"id":27216,"nodeType":"StructuredDocumentation","src":"6569:73:61","text":"@dev Retrieves the current state from the GalaxyMemberStorage mapping"},"id":27224,"implemented":true,"kind":"function","modifiers":[],"name":"_getGalaxyMemberStorage","nameLocation":"6654:23:61","nodeType":"FunctionDefinition","parameters":{"id":27217,"nodeType":"ParameterList","parameters":[],"src":"6677:2:61"},"returnParameters":{"id":27221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27220,"mutability":"mutable","name":"$","nameLocation":"6730:1:61","nodeType":"VariableDeclaration","scope":27224,"src":"6702:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":27219,"nodeType":"UserDefinedTypeName","pathNode":{"id":27218,"name":"GalaxyMemberStorage","nameLocations":["6702:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"6702:19:61"},"referencedDeclaration":27211,"src":"6702:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"src":"6701:31:61"},"scope":29379,"src":"6645:158:61","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"documentation":{"id":27225,"nodeType":"StructuredDocumentation","src":"6807:79:61","text":"@dev Emitted when an account changes the selected token for voting rewards."},"eventSelector":"d3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc","id":27231,"name":"Selected","nameLocation":"6895:8:61","nodeType":"EventDefinition","parameters":{"id":27230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27227,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"6920:5:61","nodeType":"VariableDeclaration","scope":27231,"src":"6904:21:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27226,"name":"address","nodeType":"ElementaryTypeName","src":"6904:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27229,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"6935:7:61","nodeType":"VariableDeclaration","scope":27231,"src":"6927:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27228,"name":"uint256","nodeType":"ElementaryTypeName","src":"6927:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6903:40:61"},"src":"6889:55:61"},{"anonymous":false,"documentation":{"id":27232,"nodeType":"StructuredDocumentation","src":"6948:42:61","text":"@dev Emitted when a token is upgraded."},"eventSelector":"936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854","id":27240,"name":"Upgraded","nameLocation":"6999:8:61","nodeType":"EventDefinition","parameters":{"id":27239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27234,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"7024:7:61","nodeType":"VariableDeclaration","scope":27240,"src":"7008:23:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27233,"name":"uint256","nodeType":"ElementaryTypeName","src":"7008:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27236,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"7041:8:61","nodeType":"VariableDeclaration","scope":27240,"src":"7033:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27235,"name":"uint256","nodeType":"ElementaryTypeName","src":"7033:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27238,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"7059:8:61","nodeType":"VariableDeclaration","scope":27240,"src":"7051:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27237,"name":"uint256","nodeType":"ElementaryTypeName","src":"7051:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7007:61:61"},"src":"6993:76:61"},{"anonymous":false,"documentation":{"id":27241,"nodeType":"StructuredDocumentation","src":"7073:47:61","text":"@dev Emitted when the max level is updated."},"eventSelector":"53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450","id":27247,"name":"MaxLevelUpdated","nameLocation":"7129:15:61","nodeType":"EventDefinition","parameters":{"id":27246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27243,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"7153:8:61","nodeType":"VariableDeclaration","scope":27247,"src":"7145:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27242,"name":"uint256","nodeType":"ElementaryTypeName","src":"7145:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27245,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"7171:8:61","nodeType":"VariableDeclaration","scope":27247,"src":"7163:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27244,"name":"uint256","nodeType":"ElementaryTypeName","src":"7163:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7144:36:61"},"src":"7123:58:61"},{"anonymous":false,"documentation":{"id":27248,"nodeType":"StructuredDocumentation","src":"7185:75:61","text":"@dev Emitted when XAllocationVotingGovernor contract address is updated"},"eventSelector":"d9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af129","id":27254,"name":"XAllocationsGovernorAddressUpdated","nameLocation":"7269:34:61","nodeType":"EventDefinition","parameters":{"id":27253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27250,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"7320:10:61","nodeType":"VariableDeclaration","scope":27254,"src":"7304:26:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27249,"name":"address","nodeType":"ElementaryTypeName","src":"7304:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27252,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"7348:10:61","nodeType":"VariableDeclaration","scope":27254,"src":"7332:26:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27251,"name":"address","nodeType":"ElementaryTypeName","src":"7332:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7303:56:61"},"src":"7263:97:61"},{"anonymous":false,"documentation":{"id":27255,"nodeType":"StructuredDocumentation","src":"7364:62:61","text":"@dev Emitted when B3TRGovernor contract address is updated"},"eventSelector":"95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a8270","id":27261,"name":"B3trGovernorAddressUpdated","nameLocation":"7435:26:61","nodeType":"EventDefinition","parameters":{"id":27260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27257,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"7478:10:61","nodeType":"VariableDeclaration","scope":27261,"src":"7462:26:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27256,"name":"address","nodeType":"ElementaryTypeName","src":"7462:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27259,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"7506:10:61","nodeType":"VariableDeclaration","scope":27261,"src":"7490:26:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27258,"name":"address","nodeType":"ElementaryTypeName","src":"7490:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7461:56:61"},"src":"7429:89:61"},{"anonymous":false,"documentation":{"id":27262,"nodeType":"StructuredDocumentation","src":"7522:41:61","text":"@dev Emitted when base URI is updated"},"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":27268,"name":"BaseURIUpdated","nameLocation":"7572:14:61","nodeType":"EventDefinition","parameters":{"id":27267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27264,"indexed":true,"mutability":"mutable","name":"newBaseURI","nameLocation":"7602:10:61","nodeType":"VariableDeclaration","scope":27268,"src":"7587:25:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27263,"name":"string","nodeType":"ElementaryTypeName","src":"7587:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27266,"indexed":true,"mutability":"mutable","name":"oldBaseURI","nameLocation":"7629:10:61","nodeType":"VariableDeclaration","scope":27268,"src":"7614:25:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27265,"name":"string","nodeType":"ElementaryTypeName","src":"7614:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7586:54:61"},"src":"7566:75:61"},{"anonymous":false,"documentation":{"id":27269,"nodeType":"StructuredDocumentation","src":"7645:71:61","text":"@dev Emitted when B3TR required to upgrade to each level is updated"},"eventSelector":"0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf870","id":27274,"name":"B3TRtoUpgradeToLevelUpdated","nameLocation":"7725:27:61","nodeType":"EventDefinition","parameters":{"id":27273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27272,"indexed":true,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"7771:20:61","nodeType":"VariableDeclaration","scope":27274,"src":"7753:38:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":27270,"name":"uint256","nodeType":"ElementaryTypeName","src":"7753:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27271,"nodeType":"ArrayTypeName","src":"7753:9:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7752:40:61"},"src":"7719:74:61"},{"anonymous":false,"documentation":{"id":27275,"nodeType":"StructuredDocumentation","src":"7797:46:61","text":"@dev Emitted when public minting is paused"},"eventSelector":"5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe","id":27279,"name":"PublicMintingPaused","nameLocation":"7852:19:61","nodeType":"EventDefinition","parameters":{"id":27278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27277,"indexed":false,"mutability":"mutable","name":"isPaused","nameLocation":"7877:8:61","nodeType":"VariableDeclaration","scope":27279,"src":"7872:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27276,"name":"bool","nodeType":"ElementaryTypeName","src":"7872:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7871:15:61"},"src":"7846:41:61"},{"anonymous":false,"documentation":{"id":27280,"nodeType":"StructuredDocumentation","src":"7891:51:61","text":"@dev Emitted when a node is attached to a token"},"eventSelector":"b7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f","id":27286,"name":"NodeAttached","nameLocation":"7951:12:61","nodeType":"EventDefinition","parameters":{"id":27285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27282,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"7980:11:61","nodeType":"VariableDeclaration","scope":27286,"src":"7964:27:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27281,"name":"uint256","nodeType":"ElementaryTypeName","src":"7964:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27284,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"8009:7:61","nodeType":"VariableDeclaration","scope":27286,"src":"7993:23:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27283,"name":"uint256","nodeType":"ElementaryTypeName","src":"7993:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7963:54:61"},"src":"7945:73:61"},{"anonymous":false,"documentation":{"id":27287,"nodeType":"StructuredDocumentation","src":"8022:53:61","text":"@dev Emitted when a node is detached from a token"},"eventSelector":"d391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d708","id":27293,"name":"NodeDetached","nameLocation":"8084:12:61","nodeType":"EventDefinition","parameters":{"id":27292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27289,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"8113:11:61","nodeType":"VariableDeclaration","scope":27293,"src":"8097:27:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27288,"name":"uint256","nodeType":"ElementaryTypeName","src":"8097:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27291,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"8142:7:61","nodeType":"VariableDeclaration","scope":27293,"src":"8126:23:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27290,"name":"uint256","nodeType":"ElementaryTypeName","src":"8126:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8096:54:61"},"src":"8078:73:61"},{"body":{"id":27310,"nodeType":"Block","src":"8257:157:61","statements":[{"assignments":[27298],"declarations":[{"constant":false,"id":27298,"mutability":"mutable","name":"$","nameLocation":"8291:1:61","nodeType":"VariableDeclaration","scope":27310,"src":"8263:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":27297,"nodeType":"UserDefinedTypeName","pathNode":{"id":27296,"name":"GalaxyMemberStorage","nameLocations":["8263:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"8263:19:61"},"referencedDeclaration":27211,"src":"8263:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":27301,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":27299,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"8295:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":27300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8295:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8263:57:61"},{"expression":{"arguments":[{"id":27305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8334:24:61","subExpression":{"expression":{"id":27303,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27298,"src":"8335:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8337:21:61","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":27184,"src":"8335:23:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e6720697320706175736564","id":27306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8360:41:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""},"value":"Galaxy Member: Public minting is paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""}],"id":27302,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8326:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8326:76:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27308,"nodeType":"ExpressionStatement","src":"8326:76:61"},{"id":27309,"nodeType":"PlaceholderStatement","src":"8408:1:61"}]},"documentation":{"id":27294,"nodeType":"StructuredDocumentation","src":"8155:61:61","text":"@notice Modifier to check if public minting is not paused"},"id":27311,"name":"whenPublicMintingNotPaused","nameLocation":"8228:26:61","nodeType":"ModifierDefinition","parameters":{"id":27295,"nodeType":"ParameterList","parameters":[],"src":"8254:2:61"},"src":"8219:195:61","virtual":false,"visibility":"internal"},{"body":{"id":27318,"nodeType":"Block","src":"8566:33:61","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":27315,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"8572:20:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":27316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8572:22:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27317,"nodeType":"ExpressionStatement","src":"8572:22:61"}]},"documentation":{"id":27312,"nodeType":"StructuredDocumentation","src":"8418:131:61","text":"@notice Ensures only initializer functions are called when deploying a proxy\n @custom:oz-upgrades-unsafe-allow constructor"},"id":27319,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":27313,"nodeType":"ParameterList","parameters":[],"src":"8563:2:61"},"returnParameters":{"id":27314,"nodeType":"ParameterList","parameters":[],"src":"8566:0:61"},"scope":29379,"src":"8552:47:61","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"canonicalName":"GalaxyMemberV2.InitializationData","documentation":{"id":27320,"nodeType":"StructuredDocumentation","src":"8603:720:61","text":"@notice Data for initializing the contract\n @param name Name of the ERC721 token\n @param symbol Symbol of the ERC721 token\n @param admin Address to grant the admin role\n @param upgrader Address to grant the upgrader role\n @param pauser Address to grant the pauser role\n @param minter Address to grant the minter role\n @param contractsAddressManager Address that can update external contracts address\n @param maxLevel Maximum level tokens can achieve\n @param baseTokenURI Base URI for computing {tokenURI}\n @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n @param _b3tr B3TR token contract address\n @param _treasury Address of the treasury"},"id":27346,"members":[{"constant":false,"id":27322,"mutability":"mutable","name":"name","nameLocation":"9365:4:61","nodeType":"VariableDeclaration","scope":27346,"src":"9358:11:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":27321,"name":"string","nodeType":"ElementaryTypeName","src":"9358:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27324,"mutability":"mutable","name":"symbol","nameLocation":"9382:6:61","nodeType":"VariableDeclaration","scope":27346,"src":"9375:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":27323,"name":"string","nodeType":"ElementaryTypeName","src":"9375:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27326,"mutability":"mutable","name":"admin","nameLocation":"9402:5:61","nodeType":"VariableDeclaration","scope":27346,"src":"9394:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27325,"name":"address","nodeType":"ElementaryTypeName","src":"9394:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27328,"mutability":"mutable","name":"upgrader","nameLocation":"9421:8:61","nodeType":"VariableDeclaration","scope":27346,"src":"9413:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27327,"name":"address","nodeType":"ElementaryTypeName","src":"9413:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27330,"mutability":"mutable","name":"pauser","nameLocation":"9443:6:61","nodeType":"VariableDeclaration","scope":27346,"src":"9435:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27329,"name":"address","nodeType":"ElementaryTypeName","src":"9435:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27332,"mutability":"mutable","name":"minter","nameLocation":"9463:6:61","nodeType":"VariableDeclaration","scope":27346,"src":"9455:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27331,"name":"address","nodeType":"ElementaryTypeName","src":"9455:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27334,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"9483:23:61","nodeType":"VariableDeclaration","scope":27346,"src":"9475:31:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27333,"name":"address","nodeType":"ElementaryTypeName","src":"9475:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27336,"mutability":"mutable","name":"maxLevel","nameLocation":"9520:8:61","nodeType":"VariableDeclaration","scope":27346,"src":"9512:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27335,"name":"uint256","nodeType":"ElementaryTypeName","src":"9512:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27338,"mutability":"mutable","name":"baseTokenURI","nameLocation":"9541:12:61","nodeType":"VariableDeclaration","scope":27346,"src":"9534:19:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":27337,"name":"string","nodeType":"ElementaryTypeName","src":"9534:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27341,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"9569:20:61","nodeType":"VariableDeclaration","scope":27346,"src":"9559:30:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":27339,"name":"uint256","nodeType":"ElementaryTypeName","src":"9559:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27340,"nodeType":"ArrayTypeName","src":"9559:9:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":27343,"mutability":"mutable","name":"b3tr","nameLocation":"9603:4:61","nodeType":"VariableDeclaration","scope":27346,"src":"9595:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27342,"name":"address","nodeType":"ElementaryTypeName","src":"9595:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27345,"mutability":"mutable","name":"treasury","nameLocation":"9621:8:61","nodeType":"VariableDeclaration","scope":27346,"src":"9613:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27344,"name":"address","nodeType":"ElementaryTypeName","src":"9613:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"9333:18:61","nodeType":"StructDefinition","scope":29379,"src":"9326:308:61","visibility":"public"},{"body":{"id":27548,"nodeType":"Block","src":"9905:1615:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":27356,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"9919:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9924:8:61","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":27336,"src":"9919:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":27358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9935:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9919:17:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d7573742062652067726561746572207468616e2030","id":27360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9938:49:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f","typeString":"literal_string \"Galaxy Member: Max level must be greater than 0\""},"value":"Galaxy Member: Max level must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f","typeString":"literal_string \"Galaxy Member: Max level must be greater than 0\""}],"id":27355,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9911:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9911:77:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27362,"nodeType":"ExpressionStatement","src":"9911:77:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":27366,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10008:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27367,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10013:12:61","memberName":"baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":27338,"src":"10008:17:61","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":27365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10002:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":27364,"name":"bytes","nodeType":"ElementaryTypeName","src":"10002:5:61","typeDescriptions":{}}},"id":27368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10002:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":27369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10027:6:61","memberName":"length","nodeType":"MemberAccess","src":"10002:31:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":27370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10036:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10002:35:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520736574","id":27372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10039:37:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""},"value":"Galaxy Member: Base URI must be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""}],"id":27363,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9994:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9994:83:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27374,"nodeType":"ExpressionStatement","src":"9994:83:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":27376,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10091:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10096:4:61","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":27343,"src":"10091:9:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":27380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10112:1:61","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":27379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10104:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":27378,"name":"address","nodeType":"ElementaryTypeName","src":"10104:7:61","typeDescriptions":{}}},"id":27381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10104:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10091:23:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f6b656e20616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":27383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10116:62:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d","typeString":"literal_string \"Galaxy Member: B3TR token address cannot be the zero address\""},"value":"Galaxy Member: B3TR token address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d","typeString":"literal_string \"Galaxy Member: B3TR token address cannot be the zero address\""}],"id":27375,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10083:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10083:96:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27385,"nodeType":"ExpressionStatement","src":"10083:96:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":27387,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10193:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27388,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10198:8:61","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":27345,"src":"10193:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":27391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10218:1:61","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":27390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10210:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":27389,"name":"address","nodeType":"ElementaryTypeName","src":"10210:7:61","typeDescriptions":{}}},"id":27392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10210:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10193:27:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20547265617375727920616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":27394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10222:60:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96","typeString":"literal_string \"Galaxy Member: Treasury address cannot be the zero address\""},"value":"Galaxy Member: Treasury address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96","typeString":"literal_string \"Galaxy Member: Treasury address cannot be the zero address\""}],"id":27386,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10185:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10185:98:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27396,"nodeType":"ExpressionStatement","src":"10185:98:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":27398,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10304:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10309:20:61","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27341,"src":"10304:25:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":27400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10330:6:61","memberName":"length","nodeType":"MemberAccess","src":"10304:32:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":27401,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10340:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27402,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10345:8:61","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":27336,"src":"10340:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":27403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10356:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10340:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10304:53:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656c73","id":27406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10365:68:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\""},"value":"Galaxy Member: B3TR to upgrade must be set for all unlocked levels"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\""}],"id":27397,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10289:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10289:150:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27408,"nodeType":"ExpressionStatement","src":"10289:150:61"},{"expression":{"arguments":[{"expression":{"id":27410,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10460:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10465:4:61","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":27322,"src":"10460:9:61","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":27412,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10471:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10476:6:61","memberName":"symbol","nodeType":"MemberAccess","referencedDeclaration":27324,"src":"10471:11:61","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":27409,"name":"__ERC721_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2099,"src":"10446:13:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":27414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10446:37:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27415,"nodeType":"ExpressionStatement","src":"10446:37:61"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":27416,"name":"__ERC721Enumerable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3252,"src":"10489:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":27417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10489:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27418,"nodeType":"ExpressionStatement","src":"10489:25:61"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":27419,"name":"__ERC721Pausable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3698,"src":"10520:21:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":27420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10520:23:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27421,"nodeType":"ExpressionStatement","src":"10520:23:61"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":27422,"name":"__ERC721Burnable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"10549:21:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":27423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10549:23:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27424,"nodeType":"ExpressionStatement","src":"10549:23:61"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":27425,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"10578:20:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":27426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10578:22:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27427,"nodeType":"ExpressionStatement","src":"10578:22:61"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":27428,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4203,"src":"10606:22:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":27429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10606:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27430,"nodeType":"ExpressionStatement","src":"10606:24:61"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":27431,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"10636:22:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":27432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10636:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27433,"nodeType":"ExpressionStatement","src":"10636:24:61"},{"assignments":[27436],"declarations":[{"constant":false,"id":27436,"mutability":"mutable","name":"$","nameLocation":"10695:1:61","nodeType":"VariableDeclaration","scope":27548,"src":"10667:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":27435,"nodeType":"UserDefinedTypeName","pathNode":{"id":27434,"name":"GalaxyMemberStorage","nameLocations":["10667:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"10667:19:61"},"referencedDeclaration":27211,"src":"10667:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":27439,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":27437,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"10699:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":27438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10699:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10667:57:61"},{"expression":{"id":27445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27440,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27436,"src":"10731:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27442,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10733:13:61","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":27159,"src":"10731:15:61","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":27443,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10749:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10754:12:61","memberName":"baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":27338,"src":"10749:17:61","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10731:35:61","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":27446,"nodeType":"ExpressionStatement","src":"10731:35:61"},{"body":{"id":27482,"nodeType":"Block","src":"10836:227:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":27460,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10852:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27461,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10857:20:61","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27341,"src":"10852:25:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":27463,"indexExpression":{"id":27462,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27448,"src":"10878:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10852:28:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":27464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10883:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10852:32:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652067726561746572207468616e2030","id":27466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10886:55:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""},"value":"Galaxy Member: B3TR to upgrade must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""}],"id":27459,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10844:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10844:98:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27468,"nodeType":"ExpressionStatement","src":"10844:98:61"},{"expression":{"id":27480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27469,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27436,"src":"10950:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10952:21:61","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27171,"src":"10950:23:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":27475,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27471,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27448,"src":"10974:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":27472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10978:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10974:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10950:30:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":27476,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10983:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10988:20:61","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27341,"src":"10983:25:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":27479,"indexExpression":{"id":27478,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27448,"src":"11009:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10983:28:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10950:61:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27481,"nodeType":"ExpressionStatement","src":"10950:61:61"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27451,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27448,"src":"10793:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":27452,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"10797:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10802:20:61","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27341,"src":"10797:25:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":27454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10823:6:61","memberName":"length","nodeType":"MemberAccess","src":"10797:32:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10793:36:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27483,"initializationExpression":{"assignments":[27448],"declarations":[{"constant":false,"id":27448,"mutability":"mutable","name":"i","nameLocation":"10786:1:61","nodeType":"VariableDeclaration","scope":27483,"src":"10778:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27447,"name":"uint256","nodeType":"ElementaryTypeName","src":"10778:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27450,"initialValue":{"hexValue":"30","id":27449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10790:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10778:13:61"},"loopExpression":{"expression":{"id":27457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10831:3:61","subExpression":{"id":27456,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27448,"src":"10831:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27458,"nodeType":"ExpressionStatement","src":"10831:3:61"},"nodeType":"ForStatement","src":"10773:290:61"},{"expression":{"id":27489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27484,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27436,"src":"11069:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11071:9:61","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":27163,"src":"11069:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":27487,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"11083:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27488,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11088:8:61","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":27336,"src":"11083:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11069:27:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27490,"nodeType":"ExpressionStatement","src":"11069:27:61"},{"expression":{"id":27498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27491,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27436,"src":"11103:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11105:4:61","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":27155,"src":"11103:6:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":27495,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"11118:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11123:4:61","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":27343,"src":"11118:9:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":27494,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"11112:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":27497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11112:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"11103:25:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":27499,"nodeType":"ExpressionStatement","src":"11103:25:61"},{"expression":{"id":27505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27500,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27436,"src":"11134:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27502,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11136:8:61","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":27157,"src":"11134:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":27503,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"11147:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11152:8:61","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":27345,"src":"11147:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11134:26:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":27506,"nodeType":"ExpressionStatement","src":"11134:26:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":27508,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"11175:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27509,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11180:5:61","memberName":"admin","nodeType":"MemberAccess","referencedDeclaration":27326,"src":"11175:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":27512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11197:1:61","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":27511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11189:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":27510,"name":"address","nodeType":"ElementaryTypeName","src":"11189:7:61","typeDescriptions":{}}},"id":27513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11189:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11175:24:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2041646d696e20616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":27515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11201:57:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4","typeString":"literal_string \"Galaxy Member: Admin address cannot be the zero address\""},"value":"Galaxy Member: Admin address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4","typeString":"literal_string \"Galaxy Member: Admin address cannot be the zero address\""}],"id":27507,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11167:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11167:92:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27517,"nodeType":"ExpressionStatement","src":"11167:92:61"},{"expression":{"arguments":[{"id":27519,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"11276:18:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":27520,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"11296:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27521,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11301:5:61","memberName":"admin","nodeType":"MemberAccess","referencedDeclaration":27326,"src":"11296:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":27518,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"11265:10:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":27522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11265:42:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27523,"nodeType":"ExpressionStatement","src":"11265:42:61"},{"expression":{"arguments":[{"id":27525,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27125,"src":"11324:13:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":27526,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"11339:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11344:8:61","memberName":"upgrader","nodeType":"MemberAccess","referencedDeclaration":27328,"src":"11339:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":27524,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"11313:10:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":27528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11313:40:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27529,"nodeType":"ExpressionStatement","src":"11313:40:61"},{"expression":{"arguments":[{"id":27531,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27130,"src":"11370:11:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":27532,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"11383:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11388:6:61","memberName":"pauser","nodeType":"MemberAccess","referencedDeclaration":27330,"src":"11383:11:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":27530,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"11359:10:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":27534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11359:36:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27535,"nodeType":"ExpressionStatement","src":"11359:36:61"},{"expression":{"arguments":[{"id":27537,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27135,"src":"11412:11:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":27538,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"11425:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11430:6:61","memberName":"minter","nodeType":"MemberAccess","referencedDeclaration":27332,"src":"11425:11:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":27536,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"11401:10:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":27540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11401:36:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27541,"nodeType":"ExpressionStatement","src":"11401:36:61"},{"expression":{"arguments":[{"id":27543,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27140,"src":"11454:30:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":27544,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"11486:4:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData memory"}},"id":27545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11491:23:61","memberName":"contractsAddressManager","nodeType":"MemberAccess","referencedDeclaration":27334,"src":"11486:28:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":27542,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"11443:10:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":27546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11443:72:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27547,"nodeType":"ExpressionStatement","src":"11443:72:61"}]},"documentation":{"id":27347,"nodeType":"StructuredDocumentation","src":"9638:191:61","text":"@notice Initializes a new GalaxyMember contract\n @dev Sets initial values for all relevant contract properties and state variables.\n @custom:oz-upgrades-unsafe-allow constructor"},"functionSelector":"5f4e42ca","id":27549,"implemented":true,"kind":"function","modifiers":[{"id":27353,"kind":"modifierInvocation","modifierName":{"id":27352,"name":"initializer","nameLocations":["9893:11:61"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"9893:11:61"},"nodeType":"ModifierInvocation","src":"9893:11:61"}],"name":"initialize","nameLocation":"9841:10:61","nodeType":"FunctionDefinition","parameters":{"id":27351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27350,"mutability":"mutable","name":"data","nameLocation":"9878:4:61","nodeType":"VariableDeclaration","scope":27549,"src":"9852:30:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_memory_ptr","typeString":"struct GalaxyMemberV2.InitializationData"},"typeName":{"id":27349,"nodeType":"UserDefinedTypeName","pathNode":{"id":27348,"name":"InitializationData","nameLocations":["9852:18:61"],"nodeType":"IdentifierPath","referencedDeclaration":27346,"src":"9852:18:61"},"referencedDeclaration":27346,"src":"9852:18:61","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$27346_storage_ptr","typeString":"struct GalaxyMemberV2.InitializationData"}},"visibility":"internal"}],"src":"9851:32:61"},"returnParameters":{"id":27354,"nodeType":"ParameterList","parameters":[],"src":"9905:0:61"},"scope":29379,"src":"9832:1688:61","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":27664,"nodeType":"Block","src":"11890:801:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":27566,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27559,"src":"11904:15:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":27567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11920:6:61","memberName":"length","nodeType":"MemberAccess","src":"11904:22:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"38","id":27568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11930:1:61","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11904:27:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f64652066726565206c6576656c732e204d7573742062652037206c6576656c73","id":27570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11933:58:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051","typeString":"literal_string \"GalaxyMember: invalid node free levels. Must be 7 levels\""},"value":"GalaxyMember: invalid node free levels. Must be 7 levels"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051","typeString":"literal_string \"GalaxyMember: invalid node free levels. Must be 7 levels\""}],"id":27565,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11896:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11896:96:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27572,"nodeType":"ExpressionStatement","src":"11896:96:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27574,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27552,"src":"12006:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":27577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12031:1:61","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":27576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12023:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":27575,"name":"address","nodeType":"ElementaryTypeName","src":"12023:7:61","typeDescriptions":{}}},"id":27578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12023:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12006:27:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6f7420626520746865207a65726f2061646472657373","id":27580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12035:56:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""},"value":"GalaxyMember: _vechainNodes cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""}],"id":27573,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11998:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11998:94:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27582,"nodeType":"ExpressionStatement","src":"11998:94:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27584,"name":"_nodesMangaement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27554,"src":"12106:16:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":27587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12134:1:61","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":27586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12126:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":27585,"name":"address","nodeType":"ElementaryTypeName","src":"12126:7:61","typeDescriptions":{}}},"id":27588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12126:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12106:30:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063616e6e6f7420626520746865207a65726f2061646472657373","id":27590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12138:59:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd","typeString":"literal_string \"GalaxyMember: _nodesMangaement cannot be the zero address\""},"value":"GalaxyMember: _nodesMangaement cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd","typeString":"literal_string \"GalaxyMember: _nodesMangaement cannot be the zero address\""}],"id":27583,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12098:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12098:100:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27592,"nodeType":"ExpressionStatement","src":"12098:100:61"},{"assignments":[27595],"declarations":[{"constant":false,"id":27595,"mutability":"mutable","name":"$","nameLocation":"12233:1:61","nodeType":"VariableDeclaration","scope":27664,"src":"12205:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":27594,"nodeType":"UserDefinedTypeName","pathNode":{"id":27593,"name":"GalaxyMemberStorage","nameLocations":["12205:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"12205:19:61"},"referencedDeclaration":27211,"src":"12205:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":27598,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":27596,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"12237:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":27597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12237:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12205:57:61"},{"expression":{"id":27605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27599,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27595,"src":"12269:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12271:12:61","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":27187,"src":"12269:14:61","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27603,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27552,"src":"12300:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":27602,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"12286:13:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITokenAuction_$73165_$","typeString":"type(contract ITokenAuction)"}},"id":27604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12286:28:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"src":"12269:45:61","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":27606,"nodeType":"ExpressionStatement","src":"12269:45:61"},{"expression":{"id":27613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27607,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27595,"src":"12320:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12322:14:61","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":27190,"src":"12320:16:61","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV1_$17497","typeString":"contract INodeManagementV1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":27611,"name":"_nodesMangaement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27554,"src":"12357:16:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":27610,"name":"INodeManagementV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17497,"src":"12339:17:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_INodeManagementV1_$17497_$","typeString":"type(contract INodeManagementV1)"}},"id":27612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12339:35:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV1_$17497","typeString":"contract INodeManagementV1"}},"src":"12320:54:61","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV1_$17497","typeString":"contract INodeManagementV1"}},"id":27614,"nodeType":"ExpressionStatement","src":"12320:54:61"},{"expression":{"id":27626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":27615,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27595,"src":"12381:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12383:12:61","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":27161,"src":"12381:14:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":27618,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27595,"src":"12398:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12400:12:61","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":27161,"src":"12398:14:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":27620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12416:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12398:19:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":27623,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27595,"src":"12424:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12426:12:61","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":27161,"src":"12424:14:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12398:40:61","trueExpression":{"hexValue":"31","id":27622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12420:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12381:57:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27627,"nodeType":"ExpressionStatement","src":"12381:57:61"},{"body":{"id":27657,"nodeType":"Block","src":"12492:145:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":27639,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27559,"src":"12508:15:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":27641,"indexExpression":{"id":27640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27629,"src":"12524:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12508:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":27642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12530:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12508:23:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f64652066726565206c6576656c","id":27644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12533:39:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4","typeString":"literal_string \"GalaxyMember: invalid node free level\""},"value":"GalaxyMember: invalid node free level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4","typeString":"literal_string \"GalaxyMember: invalid node free level\""}],"id":27638,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12500:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12500:73:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27646,"nodeType":"ExpressionStatement","src":"12500:73:61"},{"expression":{"id":27655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27647,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27595,"src":"12581:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12583:23:61","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":27202,"src":"12581:25:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":27651,"indexExpression":{"id":27649,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27629,"src":"12607:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12581:28:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":27652,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27559,"src":"12612:15:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":27654,"indexExpression":{"id":27653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27629,"src":"12628:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12612:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12581:49:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27656,"nodeType":"ExpressionStatement","src":"12581:49:61"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27631,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27629,"src":"12459:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":27632,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27559,"src":"12463:15:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":27633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12479:6:61","memberName":"length","nodeType":"MemberAccess","src":"12463:22:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12459:26:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27658,"initializationExpression":{"assignments":[27629],"declarations":[{"constant":false,"id":27629,"mutability":"mutable","name":"i","nameLocation":"12456:1:61","nodeType":"VariableDeclaration","scope":27658,"src":"12450:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":27628,"name":"uint8","nodeType":"ElementaryTypeName","src":"12450:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":27630,"nodeType":"VariableDeclarationStatement","src":"12450:7:61"},"loopExpression":{"expression":{"id":27636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12487:3:61","subExpression":{"id":27635,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27629,"src":"12487:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":27637,"nodeType":"ExpressionStatement","src":"12487:3:61"},"nodeType":"ForStatement","src":"12445:192:61"},{"expression":{"arguments":[{"id":27660,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27145,"src":"12654:18:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":27661,"name":"_nodesAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27556,"src":"12674:11:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":27659,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12643:10:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":27662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12643:43:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":27663,"nodeType":"ExpressionStatement","src":"12643:43:61"}]},"documentation":{"id":27550,"nodeType":"StructuredDocumentation","src":"11524:191:61","text":"@notice Initializes a new GalaxyMember contract\n @dev Sets initial values for all relevant contract properties and state variables.\n @custom:oz-upgrades-unsafe-allow constructor"},"functionSelector":"c190eb3a","id":27665,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":27562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11887:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":27563,"kind":"modifierInvocation","modifierName":{"id":27561,"name":"reinitializer","nameLocations":["11873:13:61"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"11873:13:61"},"nodeType":"ModifierInvocation","src":"11873:16:61"}],"name":"initializeV2","nameLocation":"11727:12:61","nodeType":"FunctionDefinition","parameters":{"id":27560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27552,"mutability":"mutable","name":"_vechainNodes","nameLocation":"11753:13:61","nodeType":"VariableDeclaration","scope":27665,"src":"11745:21:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27551,"name":"address","nodeType":"ElementaryTypeName","src":"11745:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27554,"mutability":"mutable","name":"_nodesMangaement","nameLocation":"11780:16:61","nodeType":"VariableDeclaration","scope":27665,"src":"11772:24:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27553,"name":"address","nodeType":"ElementaryTypeName","src":"11772:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27556,"mutability":"mutable","name":"_nodesAdmin","nameLocation":"11810:11:61","nodeType":"VariableDeclaration","scope":27665,"src":"11802:19:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27555,"name":"address","nodeType":"ElementaryTypeName","src":"11802:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27559,"mutability":"mutable","name":"_nodeFreeLevels","nameLocation":"11844:15:61","nodeType":"VariableDeclaration","scope":27665,"src":"11827:32:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":27557,"name":"uint256","nodeType":"ElementaryTypeName","src":"11827:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27558,"nodeType":"ArrayTypeName","src":"11827:9:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"11739:124:61"},"returnParameters":{"id":27564,"nodeType":"ParameterList","parameters":[],"src":"11890:0:61"},"scope":29379,"src":"11718:973:61","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":27675,"nodeType":"Block","src":"13003:2:61","statements":[]},"documentation":{"id":27666,"nodeType":"StructuredDocumentation","src":"12695:209:61","text":"@notice Internal function to authorize contract upgrades\n @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n @param newImplementation Address of the new contract implementation"},"id":27676,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":27672,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27125,"src":"12988:13:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":27673,"kind":"modifierInvocation","modifierName":{"id":27671,"name":"onlyRole","nameLocations":["12979:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"12979:8:61"},"nodeType":"ModifierInvocation","src":"12979:23:61"}],"name":"_authorizeUpgrade","nameLocation":"12916:17:61","nodeType":"FunctionDefinition","overrides":{"id":27670,"nodeType":"OverrideSpecifier","overrides":[],"src":"12970:8:61"},"parameters":{"id":27669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27668,"mutability":"mutable","name":"newImplementation","nameLocation":"12942:17:61","nodeType":"VariableDeclaration","scope":27676,"src":"12934:25:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27667,"name":"address","nodeType":"ElementaryTypeName","src":"12934:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12933:27:61"},"returnParameters":{"id":27674,"nodeType":"ParameterList","parameters":[],"src":"13003:0:61"},"scope":29379,"src":"12907:98:61","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":27686,"nodeType":"Block","src":"13247:19:61","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":27683,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"13253:6:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":27684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13253:8:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27685,"nodeType":"ExpressionStatement","src":"13253:8:61"}]},"documentation":{"id":27677,"nodeType":"StructuredDocumentation","src":"13009:181:61","text":"@notice Pauses the Galaxy Member contract\n @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n @dev Only callable by the pauser role"},"functionSelector":"8456cb59","id":27687,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":27680,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27130,"src":"13234:11:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":27681,"kind":"modifierInvocation","modifierName":{"id":27679,"name":"onlyRole","nameLocations":["13225:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"13225:8:61"},"nodeType":"ModifierInvocation","src":"13225:21:61"}],"name":"pause","nameLocation":"13202:5:61","nodeType":"FunctionDefinition","parameters":{"id":27678,"nodeType":"ParameterList","parameters":[],"src":"13207:2:61"},"returnParameters":{"id":27682,"nodeType":"ParameterList","parameters":[],"src":"13247:0:61"},"scope":29379,"src":"13193:73:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":27697,"nodeType":"Block","src":"13420:21:61","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":27694,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"13426:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":27695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13426:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27696,"nodeType":"ExpressionStatement","src":"13426:10:61"}]},"documentation":{"id":27688,"nodeType":"StructuredDocumentation","src":"13270:91:61","text":"@notice Unpauses the Galaxy Member contract\n @dev Only callable by the pauser role"},"functionSelector":"3f4ba83a","id":27698,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":27691,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27130,"src":"13407:11:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":27692,"kind":"modifierInvocation","modifierName":{"id":27690,"name":"onlyRole","nameLocations":["13398:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"13398:8:61"},"nodeType":"ModifierInvocation","src":"13398:21:61"}],"name":"unpause","nameLocation":"13373:7:61","nodeType":"FunctionDefinition","parameters":{"id":27689,"nodeType":"ParameterList","parameters":[],"src":"13380:2:61"},"returnParameters":{"id":27693,"nodeType":"ParameterList","parameters":[],"src":"13420:0:61"},"scope":29379,"src":"13364:77:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":27717,"nodeType":"Block","src":"13686:141:61","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":27706,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13725:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13729:6:61","memberName":"sender","nodeType":"MemberAccess","src":"13725:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":27705,"name":"participatedInGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28761,"src":"13700:24:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":27708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13700:36:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274696369706174656420696e20676f7665726e616e6365","id":27709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13738:56:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""},"value":"Galaxy Member: User has not participated in governance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""}],"id":27704,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13692:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13692:103:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27711,"nodeType":"ExpressionStatement","src":"13692:103:61"},{"expression":{"arguments":[{"expression":{"id":27713,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13811:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13815:6:61","memberName":"sender","nodeType":"MemberAccess","src":"13811:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":27712,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28077,"src":"13802:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":27715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13802:20:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27716,"nodeType":"ExpressionStatement","src":"13802:20:61"}]},"documentation":{"id":27699,"nodeType":"StructuredDocumentation","src":"13445:176:61","text":"@notice Allows a user to freely mint a token if they have participated in governance\n @dev Mints a token with level 1 and ensures that the public minting is not paused"},"functionSelector":"5b70ea9f","id":27718,"implemented":true,"kind":"function","modifiers":[{"id":27702,"kind":"modifierInvocation","modifierName":{"id":27701,"name":"whenPublicMintingNotPaused","nameLocations":["13659:26:61"],"nodeType":"IdentifierPath","referencedDeclaration":27311,"src":"13659:26:61"},"nodeType":"ModifierInvocation","src":"13659:26:61"}],"name":"freeMint","nameLocation":"13633:8:61","nodeType":"FunctionDefinition","parameters":{"id":27700,"nodeType":"ParameterList","parameters":[],"src":"13641:2:61"},"returnParameters":{"id":27703,"nodeType":"ParameterList","parameters":[],"src":"13686:0:61"},"scope":29379,"src":"13624:203:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":27821,"nodeType":"Block","src":"14108:836:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27730,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27721,"src":"14130:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27729,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"14122:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":27731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14122:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":27732,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14142:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14146:6:61","memberName":"sender","nodeType":"MemberAccess","src":"14142:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14122:30:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520546f6b656e20746f2075706772616465206974","id":27735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14154:53:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""},"value":"Galaxy Member: you must own the Token to upgrade it"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""}],"id":27728,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14114:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14114:94:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27737,"nodeType":"ExpressionStatement","src":"14114:94:61"},{"assignments":[27740],"declarations":[{"constant":false,"id":27740,"mutability":"mutable","name":"$","nameLocation":"14242:1:61","nodeType":"VariableDeclaration","scope":27821,"src":"14214:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":27739,"nodeType":"UserDefinedTypeName","pathNode":{"id":27738,"name":"GalaxyMemberStorage","nameLocations":["14214:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"14214:19:61"},"referencedDeclaration":27211,"src":"14214:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":27743,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":27741,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"14246:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":27742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14246:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14214:57:61"},{"assignments":[27745],"declarations":[{"constant":false,"id":27745,"mutability":"mutable","name":"currentLevel","nameLocation":"14286:12:61","nodeType":"VariableDeclaration","scope":27821,"src":"14278:20:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27744,"name":"uint256","nodeType":"ElementaryTypeName","src":"14278:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27749,"initialValue":{"arguments":[{"id":27747,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27721,"src":"14309:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27746,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28453,"src":"14301:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":27748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14301:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14278:39:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27751,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27745,"src":"14332:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":27752,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28919,"src":"14347:9:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":27753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14347:11:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14332:26:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c7265616479206174206d6178206c6576656c","id":27755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14360:46:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""},"value":"Galaxy Member: Token is already at max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""}],"id":27750,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14324:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14324:83:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27757,"nodeType":"ExpressionStatement","src":"14324:83:61"},{"assignments":[27759],"declarations":[{"constant":false,"id":27759,"mutability":"mutable","name":"b3trRequired","nameLocation":"14422:12:61","nodeType":"VariableDeclaration","scope":27821,"src":"14414:20:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27758,"name":"uint256","nodeType":"ElementaryTypeName","src":"14414:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27763,"initialValue":{"arguments":[{"id":27761,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27721,"src":"14454:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27760,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28504,"src":"14437:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":27762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14437:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14414:48:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":27768,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14494:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14498:6:61","memberName":"sender","nodeType":"MemberAccess","src":"14494:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":27765,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27740,"src":"14477:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14479:4:61","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":27155,"src":"14477:6:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":27767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14484:9:61","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"14477:16:61","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":27770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14477:28:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":27771,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27759,"src":"14509:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14477:44:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c616e636520746f2075706772616465","id":27773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14523:48:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""},"value":"Galaxy Member: Insufficient balance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""}],"id":27764,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14469:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14469:103:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27775,"nodeType":"ExpressionStatement","src":"14469:103:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":27780,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14611:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14615:6:61","memberName":"sender","nodeType":"MemberAccess","src":"14611:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":27784,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14631:4:61","typeDescriptions":{"typeIdentifier":"t_contract$_GalaxyMemberV2_$29379","typeString":"contract GalaxyMemberV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GalaxyMemberV2_$29379","typeString":"contract GalaxyMemberV2"}],"id":27783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14623:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":27782,"name":"address","nodeType":"ElementaryTypeName","src":"14623:7:61","typeDescriptions":{}}},"id":27785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14623:13:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":27777,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27740,"src":"14594:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14596:4:61","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":27155,"src":"14594:6:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":27779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14601:9:61","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":62751,"src":"14594:16:61","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":27786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14594:43:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":27787,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27759,"src":"14641:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14594:59:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f77616e636520746f2075706772616465","id":27789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14661:50:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""},"value":"Galaxy Member: Insufficient allowance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""}],"id":27776,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14579:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14579:138:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27791,"nodeType":"ExpressionStatement","src":"14579:138:61"},{"expression":{"id":27798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27792,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27740,"src":"14724:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14726:21:61","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":27206,"src":"14724:23:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":27796,"indexExpression":{"id":27794,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27721,"src":"14748:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14724:32:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":27797,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27759,"src":"14760:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14724:48:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27799,"nodeType":"ExpressionStatement","src":"14724:48:61"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":27804,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14807:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14811:6:61","memberName":"sender","nodeType":"MemberAccess","src":"14807:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":27806,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27740,"src":"14819:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14821:8:61","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":27157,"src":"14819:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27808,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27759,"src":"14831:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":27801,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27740,"src":"14787:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14789:4:61","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":27155,"src":"14787:6:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":27803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14794:12:61","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":62884,"src":"14787:19:61","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":27809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14787:57:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","id":27810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14846:31:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""},"value":"GalaxyMember: Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""}],"id":27800,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14779:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14779:99:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27812,"nodeType":"ExpressionStatement","src":"14779:99:61"},{"eventCall":{"arguments":[{"id":27814,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27721,"src":"14899:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27815,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27745,"src":"14908:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":27817,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27721,"src":"14930:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27816,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28453,"src":"14922:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":27818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14922:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27813,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27240,"src":"14890:8:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":27819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14890:49:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27820,"nodeType":"EmitStatement","src":"14885:54:61"}]},"documentation":{"id":27719,"nodeType":"StructuredDocumentation","src":"13831:198:61","text":"@notice Upgrades a token to the next level\n @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n @param tokenId Token ID to upgrade"},"functionSelector":"45977d03","id":27822,"implemented":true,"kind":"function","modifiers":[{"id":27724,"kind":"modifierInvocation","modifierName":{"id":27723,"name":"nonReentrant","nameLocations":["14081:12:61"],"nodeType":"IdentifierPath","referencedDeclaration":4232,"src":"14081:12:61"},"nodeType":"ModifierInvocation","src":"14081:12:61"},{"id":27726,"kind":"modifierInvocation","modifierName":{"id":27725,"name":"whenNotPaused","nameLocations":["14094:13:61"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"14094:13:61"},"nodeType":"ModifierInvocation","src":"14094:13:61"}],"name":"upgrade","nameLocation":"14041:7:61","nodeType":"FunctionDefinition","parameters":{"id":27722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27721,"mutability":"mutable","name":"tokenId","nameLocation":"14057:7:61","nodeType":"VariableDeclaration","scope":27822,"src":"14049:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27720,"name":"uint256","nodeType":"ElementaryTypeName","src":"14049:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14048:17:61"},"returnParameters":{"id":27727,"nodeType":"ParameterList","parameters":[],"src":"14108:0:61"},"scope":29379,"src":"14032:912:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":27834,"nodeType":"Block","src":"15114:39:61","statements":[{"expression":{"arguments":[{"expression":{"id":27829,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15128:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15132:6:61","memberName":"sender","nodeType":"MemberAccess","src":"15128:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27831,"name":"tokenID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27825,"src":"15140:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27828,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27872,"src":"15120:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":27832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15120:28:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27833,"nodeType":"ExpressionStatement","src":"15120:28:61"}]},"documentation":{"id":27823,"nodeType":"StructuredDocumentation","src":"14948:115:61","text":"@notice Allows the user to select a token for voting rewards multiplier\n @param tokenID Token ID to select"},"functionSelector":"839a19d9","id":27835,"implemented":true,"kind":"function","modifiers":[],"name":"select","nameLocation":"15075:6:61","nodeType":"FunctionDefinition","parameters":{"id":27826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27825,"mutability":"mutable","name":"tokenID","nameLocation":"15090:7:61","nodeType":"VariableDeclaration","scope":27835,"src":"15082:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27824,"name":"uint256","nodeType":"ElementaryTypeName","src":"15082:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15081:17:61"},"returnParameters":{"id":27827,"nodeType":"ParameterList","parameters":[],"src":"15114:0:61"},"scope":29379,"src":"15066:87:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":27871,"nodeType":"Block","src":"15375:242:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27845,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27840,"src":"15397:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27844,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"15389:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":27846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15389:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":27847,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27838,"src":"15409:5:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15389:25:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":27849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15416:53:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":27843,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15381:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15381:89:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27851,"nodeType":"ExpressionStatement","src":"15381:89:61"},{"assignments":[27854],"declarations":[{"constant":false,"id":27854,"mutability":"mutable","name":"$","nameLocation":"15505:1:61","nodeType":"VariableDeclaration","scope":27871,"src":"15477:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":27853,"nodeType":"UserDefinedTypeName","pathNode":{"id":27852,"name":"GalaxyMemberStorage","nameLocations":["15477:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"15477:19:61"},"referencedDeclaration":27211,"src":"15477:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":27857,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":27855,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"15509:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":27856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15509:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15477:57:61"},{"expression":{"id":27864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27858,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27854,"src":"15541:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15543:16:61","memberName":"_selectedTokenID","nodeType":"MemberAccess","referencedDeclaration":27210,"src":"15541:18:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":27862,"indexExpression":{"id":27860,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27838,"src":"15560:5:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15541:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":27863,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27840,"src":"15569:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15541:35:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27865,"nodeType":"ExpressionStatement","src":"15541:35:61"},{"eventCall":{"arguments":[{"id":27867,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27838,"src":"15597:5:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27868,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27840,"src":"15604:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27866,"name":"Selected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27231,"src":"15588:8:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":27869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15588:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27870,"nodeType":"EmitStatement","src":"15583:29:61"}]},"documentation":{"id":27836,"nodeType":"StructuredDocumentation","src":"15157:149:61","text":"@notice selects the specified token for the user\n @param owner The address of the owner to check\n @param tokenId the token ID to select"},"id":27872,"implemented":true,"kind":"function","modifiers":[],"name":"_select","nameLocation":"15318:7:61","nodeType":"FunctionDefinition","parameters":{"id":27841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27838,"mutability":"mutable","name":"owner","nameLocation":"15334:5:61","nodeType":"VariableDeclaration","scope":27872,"src":"15326:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27837,"name":"address","nodeType":"ElementaryTypeName","src":"15326:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27840,"mutability":"mutable","name":"tokenId","nameLocation":"15349:7:61","nodeType":"VariableDeclaration","scope":27872,"src":"15341:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27839,"name":"uint256","nodeType":"ElementaryTypeName","src":"15341:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15325:32:61"},"returnParameters":{"id":27842,"nodeType":"ParameterList","parameters":[],"src":"15375:0:61"},"scope":29379,"src":"15309:308:61","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[3188],"body":{"id":27896,"nodeType":"Block","src":"15890:131:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27882,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27875,"src":"15912:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27881,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"15904:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":27883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15904:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":27884,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15924:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15928:6:61","memberName":"sender","nodeType":"MemberAccess","src":"15924:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15904:30:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":27887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15936:53:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":27880,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15896:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15896:94:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27889,"nodeType":"ExpressionStatement","src":"15896:94:61"},{"expression":{"arguments":[{"id":27893,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27875,"src":"16008:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27890,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"15997:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV2_$29379_$","typeString":"type(contract super GalaxyMemberV2)"}},"id":27892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16003:4:61","memberName":"burn","nodeType":"MemberAccess","referencedDeclaration":3188,"src":"15997:10:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":27894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15997:19:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27895,"nodeType":"ExpressionStatement","src":"15997:19:61"}]},"documentation":{"id":27873,"nodeType":"StructuredDocumentation","src":"15621:184:61","text":"@notice Allows the token owner to burn their token\n @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n @param tokenId Token ID to burn"},"functionSelector":"42966c68","id":27897,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"15817:4:61","nodeType":"FunctionDefinition","overrides":{"id":27878,"nodeType":"OverrideSpecifier","overrides":[{"id":27877,"name":"ERC721BurnableUpgradeable","nameLocations":["15863:25:61"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"15863:25:61"}],"src":"15854:35:61"},"parameters":{"id":27876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27875,"mutability":"mutable","name":"tokenId","nameLocation":"15830:7:61","nodeType":"VariableDeclaration","scope":27897,"src":"15822:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27874,"name":"uint256","nodeType":"ElementaryTypeName","src":"15822:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15821:17:61"},"returnParameters":{"id":27879,"nodeType":"ParameterList","parameters":[],"src":"15890:0:61"},"scope":29379,"src":"15808:213:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":27973,"nodeType":"Block","src":"16209:644:61","statements":[{"assignments":[27908],"declarations":[{"constant":false,"id":27908,"mutability":"mutable","name":"$","nameLocation":"16243:1:61","nodeType":"VariableDeclaration","scope":27973,"src":"16215:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":27907,"nodeType":"UserDefinedTypeName","pathNode":{"id":27906,"name":"GalaxyMemberStorage","nameLocations":["16215:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"16215:19:61"},"referencedDeclaration":27211,"src":"16215:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":27911,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":27909,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"16247:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":27910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16247:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16215:57:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27914,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27901,"src":"16295:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27913,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"16287:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":27915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16287:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":27916,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16307:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16311:6:61","memberName":"sender","nodeType":"MemberAccess","src":"16307:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16287:30:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062792063616c6c6572","id":27919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16319:41:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""},"value":"GalaxyMember: token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""}],"id":27912,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16279:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16279:82:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27921,"nodeType":"ExpressionStatement","src":"16279:82:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27926,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27899,"src":"16414:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":27923,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27908,"src":"16382:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16384:14:61","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":27190,"src":"16382:16:61","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV1_$17497","typeString":"contract INodeManagementV1"}},"id":27925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16399:14:61","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":17467,"src":"16382:31:61","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":27927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16382:44:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":27928,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16430:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16434:6:61","memberName":"sender","nodeType":"MemberAccess","src":"16430:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16382:58:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572","id":27931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16448:59:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller\""},"value":"GalaxyMember: vechain node not owned or managed by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller\""}],"id":27922,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16367:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16367:146:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27933,"nodeType":"ExpressionStatement","src":"16367:146:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27936,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27899,"src":"16547:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27935,"name":"getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28934,"src":"16527:19:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":27937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16527:32:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":27938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16563:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16527:37:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c726561647920617474616368656420746f206120746f6b656e","id":27940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16566:48:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""},"value":"GalaxyMember: node already attached to a token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""}],"id":27934,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16519:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16519:96:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27942,"nodeType":"ExpressionStatement","src":"16519:96:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27945,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27901,"src":"16647:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27944,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28949,"src":"16629:17:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":27946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16629:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":27947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16659:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16629:31:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c726561647920617474616368656420746f2061206e6f6465","id":27949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16662:48:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""},"value":"GalaxyMember: token already attached to a node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""}],"id":27943,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16621:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":27950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16621:90:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27951,"nodeType":"ExpressionStatement","src":"16621:90:61"},{"expression":{"id":27958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27952,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27908,"src":"16718:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16720:14:61","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":27194,"src":"16718:16:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":27956,"indexExpression":{"id":27954,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27899,"src":"16735:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16718:29:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":27957,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27901,"src":"16750:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16718:39:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27959,"nodeType":"ExpressionStatement","src":"16718:39:61"},{"expression":{"id":27966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":27960,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27908,"src":"16763:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16765:14:61","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":27198,"src":"16763:16:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":27964,"indexExpression":{"id":27962,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27901,"src":"16780:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16763:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":27965,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27899,"src":"16791:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16763:39:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27967,"nodeType":"ExpressionStatement","src":"16763:39:61"},{"eventCall":{"arguments":[{"id":27969,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27899,"src":"16827:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27970,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27901,"src":"16840:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27968,"name":"NodeAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27286,"src":"16814:12:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":27971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16814:34:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27972,"nodeType":"EmitStatement","src":"16809:39:61"}]},"functionSelector":"88371110","id":27974,"implemented":true,"kind":"function","modifiers":[{"id":27904,"kind":"modifierInvocation","modifierName":{"id":27903,"name":"whenNotPaused","nameLocations":["16195:13:61"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"16195:13:61"},"nodeType":"ModifierInvocation","src":"16195:13:61"}],"name":"attachNode","nameLocation":"16131:10:61","nodeType":"FunctionDefinition","parameters":{"id":27902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27899,"mutability":"mutable","name":"nodeTokenId","nameLocation":"16150:11:61","nodeType":"VariableDeclaration","scope":27974,"src":"16142:19:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27898,"name":"uint256","nodeType":"ElementaryTypeName","src":"16142:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27901,"mutability":"mutable","name":"tokenId","nameLocation":"16171:7:61","nodeType":"VariableDeclaration","scope":27974,"src":"16163:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27900,"name":"uint256","nodeType":"ElementaryTypeName","src":"16163:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16141:38:61"},"returnParameters":{"id":27905,"nodeType":"ParameterList","parameters":[],"src":"16209:0:61"},"scope":29379,"src":"16122:731:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28052,"nodeType":"Block","src":"16944:692:61","statements":[{"assignments":[27985],"declarations":[{"constant":false,"id":27985,"mutability":"mutable","name":"$","nameLocation":"16978:1:61","nodeType":"VariableDeclaration","scope":28052,"src":"16950:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":27984,"nodeType":"UserDefinedTypeName","pathNode":{"id":27983,"name":"GalaxyMemberStorage","nameLocations":["16950:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"16950:19:61"},"referencedDeclaration":27211,"src":"16950:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":27988,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":27986,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"16982:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":27987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16982:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16950:57:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":28013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":28004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":27995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27991,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27978,"src":"17037:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27990,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"17029:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":27992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17029:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":27993,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17049:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17053:6:61","memberName":"sender","nodeType":"MemberAccess","src":"17049:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17029:30:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":28003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":27999,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27976,"src":"17103:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":27996,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27985,"src":"17071:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":27997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17073:14:61","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":27190,"src":"17071:16:61","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV1_$17497","typeString":"contract INodeManagementV1"}},"id":27998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17088:14:61","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":17467,"src":"17071:31:61","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":28000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17071:44:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":28001,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17119:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":28002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17123:6:61","memberName":"sender","nodeType":"MemberAccess","src":"17119:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17071:58:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17029:100:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":28012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":28008,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27976,"src":"17166:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":28005,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27985,"src":"17141:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28006,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17143:12:61","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":27187,"src":"17141:14:61","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":28007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17156:9:61","memberName":"idToOwner","nodeType":"MemberAccess","referencedDeclaration":73116,"src":"17141:24:61","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":28009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17141:37:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":28010,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17182:3:61","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":28011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17186:6:61","memberName":"sender","nodeType":"MemberAccess","src":"17182:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17141:51:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17029:163:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b656e206e6f74206f776e65642062792063616c6c6572","id":28014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17200:88:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\""},"value":"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\""}],"id":27989,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17014:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17014:280:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28016,"nodeType":"ExpressionStatement","src":"17014:280:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":28019,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27976,"src":"17328:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28018,"name":"getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28934,"src":"17308:19:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":28020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17308:32:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":28021,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27978,"src":"17344:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17308:43:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420746f2074686520746f6b656e","id":28023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17353:46:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""},"value":"GalaxyMember: node not attached to the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""}],"id":28017,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17300:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17300:100:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28025,"nodeType":"ExpressionStatement","src":"17300:100:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":28028,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27978,"src":"17432:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28027,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28949,"src":"17414:17:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":28029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17414:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":28030,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27976,"src":"17444:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17414:41:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656420746f20746865206e6f6465","id":28032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17457:46:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""},"value":"GalaxyMember: token not attached to the node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""}],"id":28026,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17406:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17406:98:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28034,"nodeType":"ExpressionStatement","src":"17406:98:61"},{"expression":{"id":28039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"17511:36:61","subExpression":{"baseExpression":{"expression":{"id":28035,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27985,"src":"17518:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17520:14:61","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":27194,"src":"17518:16:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28038,"indexExpression":{"id":28037,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27976,"src":"17535:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17518:29:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28040,"nodeType":"ExpressionStatement","src":"17511:36:61"},{"expression":{"id":28045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"17553:32:61","subExpression":{"baseExpression":{"expression":{"id":28041,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27985,"src":"17560:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17562:14:61","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":27198,"src":"17560:16:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28044,"indexExpression":{"id":28043,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27978,"src":"17577:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17560:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28046,"nodeType":"ExpressionStatement","src":"17553:32:61"},{"eventCall":{"arguments":[{"id":28048,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27976,"src":"17610:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28049,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27978,"src":"17623:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28047,"name":"NodeDetached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27293,"src":"17597:12:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":28050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17597:34:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28051,"nodeType":"EmitStatement","src":"17592:39:61"}]},"functionSelector":"4a6565e1","id":28053,"implemented":true,"kind":"function","modifiers":[{"id":27981,"kind":"modifierInvocation","modifierName":{"id":27980,"name":"whenNotPaused","nameLocations":["16930:13:61"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"16930:13:61"},"nodeType":"ModifierInvocation","src":"16930:13:61"}],"name":"detachNode","nameLocation":"16866:10:61","nodeType":"FunctionDefinition","parameters":{"id":27979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27976,"mutability":"mutable","name":"nodeTokenId","nameLocation":"16885:11:61","nodeType":"VariableDeclaration","scope":28053,"src":"16877:19:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27975,"name":"uint256","nodeType":"ElementaryTypeName","src":"16877:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27978,"mutability":"mutable","name":"tokenId","nameLocation":"16906:7:61","nodeType":"VariableDeclaration","scope":28053,"src":"16898:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27977,"name":"uint256","nodeType":"ElementaryTypeName","src":"16898:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16876:38:61"},"returnParameters":{"id":27982,"nodeType":"ParameterList","parameters":[],"src":"16944:0:61"},"scope":29379,"src":"16857:779:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28076,"nodeType":"Block","src":"17946:137:61","statements":[{"assignments":[28061],"declarations":[{"constant":false,"id":28061,"mutability":"mutable","name":"$","nameLocation":"17980:1:61","nodeType":"VariableDeclaration","scope":28076,"src":"17952:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28060,"nodeType":"UserDefinedTypeName","pathNode":{"id":28059,"name":"GalaxyMemberStorage","nameLocations":["17952:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"17952:19:61"},"referencedDeclaration":27211,"src":"17952:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28064,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28062,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"17984:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17984:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17952:57:61"},{"assignments":[28066],"declarations":[{"constant":false,"id":28066,"mutability":"mutable","name":"tokenId","nameLocation":"18024:7:61","nodeType":"VariableDeclaration","scope":28076,"src":"18016:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28065,"name":"uint256","nodeType":"ElementaryTypeName","src":"18016:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28070,"initialValue":{"id":28069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18034:16:61","subExpression":{"expression":{"id":28067,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28061,"src":"18034:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18036:12:61","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":27161,"src":"18034:14:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18016:34:61"},{"expression":{"arguments":[{"id":28072,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28056,"src":"18066:2:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28073,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28066,"src":"18070:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28071,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[2750,2776],"referencedDeclaration":2750,"src":"18056:9:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":28074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18056:22:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28075,"nodeType":"ExpressionStatement","src":"18056:22:61"}]},"documentation":{"id":28054,"nodeType":"StructuredDocumentation","src":"17692:204:61","text":"@notice Internal function to safely mint a token\n @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n @param to Address to mint the token to"},"id":28077,"implemented":true,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"17908:8:61","nodeType":"FunctionDefinition","parameters":{"id":28057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28056,"mutability":"mutable","name":"to","nameLocation":"17925:2:61","nodeType":"VariableDeclaration","scope":28077,"src":"17917:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28055,"name":"address","nodeType":"ElementaryTypeName","src":"17917:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17916:12:61"},"returnParameters":{"id":28058,"nodeType":"ParameterList","parameters":[],"src":"17946:0:61"},"scope":29379,"src":"17899:184:61","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":28138,"nodeType":"Block","src":"18327:568:61","statements":[{"assignments":[28088],"declarations":[{"constant":false,"id":28088,"mutability":"mutable","name":"$","nameLocation":"18361:1:61","nodeType":"VariableDeclaration","scope":28138,"src":"18333:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28087,"nodeType":"UserDefinedTypeName","pathNode":{"id":28086,"name":"GalaxyMemberStorage","nameLocations":["18333:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"18333:19:61"},"referencedDeclaration":27211,"src":"18333:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28091,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28089,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"18365:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18365:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18333:57:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28093,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28080,"src":"18405:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":28094,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28088,"src":"18413:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18415:9:61","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":27163,"src":"18413:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18405:19:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d7573742062652067726561746572207468616e207468652063757272656e74206d6178206c6576656c","id":28097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18426:69:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""},"value":"Galaxy Member: Max level must be greater than the current max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""}],"id":28092,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18397:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18397:99:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28099,"nodeType":"ExpressionStatement","src":"18397:99:61"},{"body":{"id":28120,"nodeType":"Block","src":"18589:195:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":28111,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28088,"src":"18605:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18607:21:61","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27171,"src":"18605:23:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28114,"indexExpression":{"id":28113,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28101,"src":"18629:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18605:26:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":28115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18634:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18605:30:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b6564","id":28117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18637:68:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""},"value":"Galaxy Member: B3TR to upgrade must be set for all levels unlocked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""}],"id":28110,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18597:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18597:109:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28119,"nodeType":"ExpressionStatement","src":"18597:109:61"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28104,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28101,"src":"18572:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":28105,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28080,"src":"18577:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18572:10:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28121,"initializationExpression":{"assignments":[28101],"declarations":[{"constant":false,"id":28101,"mutability":"mutable","name":"i","nameLocation":"18565:1:61","nodeType":"VariableDeclaration","scope":28121,"src":"18557:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28100,"name":"uint256","nodeType":"ElementaryTypeName","src":"18557:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28103,"initialValue":{"hexValue":"32","id":28102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18569:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"18557:13:61"},"loopExpression":{"expression":{"id":28108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18584:3:61","subExpression":{"id":28107,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28101,"src":"18584:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28109,"nodeType":"ExpressionStatement","src":"18584:3:61"},"nodeType":"ForStatement","src":"18552:232:61"},{"assignments":[28123],"declarations":[{"constant":false,"id":28123,"mutability":"mutable","name":"oldLevel","nameLocation":"18798:8:61","nodeType":"VariableDeclaration","scope":28138,"src":"18790:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28122,"name":"uint256","nodeType":"ElementaryTypeName","src":"18790:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28126,"initialValue":{"expression":{"id":28124,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28088,"src":"18809:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18811:9:61","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":27163,"src":"18809:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18790:30:61"},{"expression":{"id":28131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":28127,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28088,"src":"18827:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18829:9:61","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":27163,"src":"18827:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28130,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28080,"src":"18841:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18827:19:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28132,"nodeType":"ExpressionStatement","src":"18827:19:61"},{"eventCall":{"arguments":[{"id":28134,"name":"oldLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28123,"src":"18874:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28135,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28080,"src":"18884:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28133,"name":"MaxLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27247,"src":"18858:15:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":28136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18858:32:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28137,"nodeType":"EmitStatement","src":"18853:37:61"}]},"documentation":{"id":28078,"nodeType":"StructuredDocumentation","src":"18126:118:61","text":"@notice Sets the maximum level that tokens can be minted or upgraded to\n @dev Only callable by the admin role"},"functionSelector":"344f1ba5","id":28139,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":28083,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"18307:18:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28084,"kind":"modifierInvocation","modifierName":{"id":28082,"name":"onlyRole","nameLocations":["18298:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"18298:8:61"},"nodeType":"ModifierInvocation","src":"18298:28:61"}],"name":"setMaxLevel","nameLocation":"18256:11:61","nodeType":"FunctionDefinition","parameters":{"id":28081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28080,"mutability":"mutable","name":"level","nameLocation":"18276:5:61","nodeType":"VariableDeclaration","scope":28139,"src":"18268:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28079,"name":"uint256","nodeType":"ElementaryTypeName","src":"18268:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18267:15:61"},"returnParameters":{"id":28085,"nodeType":"ParameterList","parameters":[],"src":"18327:0:61"},"scope":29379,"src":"18247:648:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28181,"nodeType":"Block","src":"19239:367:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":28154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28149,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28142,"src":"19253:21:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":28152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19286:1:61","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":28151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19278:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28150,"name":"address","nodeType":"ElementaryTypeName","src":"19278:7:61","typeDescriptions":{}}},"id":28153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19278:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19253:35:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":28155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19290:65:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""},"value":"Galaxy Member: _xAllocationsGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""}],"id":28148,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19245:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19245:111:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28157,"nodeType":"ExpressionStatement","src":"19245:111:61"},{"assignments":[28160],"declarations":[{"constant":false,"id":28160,"mutability":"mutable","name":"$","nameLocation":"19390:1:61","nodeType":"VariableDeclaration","scope":28181,"src":"19362:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28159,"nodeType":"UserDefinedTypeName","pathNode":{"id":28158,"name":"GalaxyMemberStorage","nameLocations":["19362:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"19362:19:61"},"referencedDeclaration":27211,"src":"19362:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28163,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28161,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"19394:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19394:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19362:57:61"},{"eventCall":{"arguments":[{"id":28165,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28142,"src":"19466:21:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":28168,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28160,"src":"19497:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19499:20:61","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":27149,"src":"19497:22:61","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":28167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19489:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28166,"name":"address","nodeType":"ElementaryTypeName","src":"19489:7:61","typeDescriptions":{}}},"id":28170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19489:31:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":28164,"name":"XAllocationsGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27254,"src":"19431:34:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":28171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19431:90:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28172,"nodeType":"EmitStatement","src":"19426:95:61"},{"expression":{"id":28179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":28173,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28160,"src":"19527:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28175,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19529:20:61","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":27149,"src":"19527:22:61","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28177,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28142,"src":"19579:21:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":28176,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"19552:26:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":28178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19552:49:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"19527:74:61","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":28180,"nodeType":"ExpressionStatement","src":"19527:74:61"}]},"documentation":{"id":28140,"nodeType":"StructuredDocumentation","src":"18899:202:61","text":"@notice Sets the XAllocationVotingGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _xAllocationsGovernor XAllocationVotingGovernor contract address"},"functionSelector":"3af03ea8","id":28182,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":28145,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27140,"src":"19207:30:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28146,"kind":"modifierInvocation","modifierName":{"id":28144,"name":"onlyRole","nameLocations":["19198:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"19198:8:61"},"nodeType":"ModifierInvocation","src":"19198:40:61"}],"name":"setXAllocationsGovernorAddress","nameLocation":"19113:30:61","nodeType":"FunctionDefinition","parameters":{"id":28143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28142,"mutability":"mutable","name":"_xAllocationsGovernor","nameLocation":"19157:21:61","nodeType":"VariableDeclaration","scope":28182,"src":"19149:29:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28141,"name":"address","nodeType":"ElementaryTypeName","src":"19149:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19143:39:61"},"returnParameters":{"id":28147,"nodeType":"ParameterList","parameters":[],"src":"19239:0:61"},"scope":29379,"src":"19104:502:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28227,"nodeType":"Block","src":"19892:307:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":28197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28192,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28185,"src":"19906:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":28195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19931:1:61","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":28194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19923:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28193,"name":"address","nodeType":"ElementaryTypeName","src":"19923:7:61","typeDescriptions":{}}},"id":28196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19923:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19906:27:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":28198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19935:57:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""},"value":"Galaxy Member: _b3trGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""}],"id":28191,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19898:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19898:95:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28200,"nodeType":"ExpressionStatement","src":"19898:95:61"},{"assignments":[28203],"declarations":[{"constant":false,"id":28203,"mutability":"mutable","name":"$","nameLocation":"20027:1:61","nodeType":"VariableDeclaration","scope":28227,"src":"19999:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28202,"nodeType":"UserDefinedTypeName","pathNode":{"id":28201,"name":"GalaxyMemberStorage","nameLocations":["19999:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"19999:19:61"},"referencedDeclaration":27211,"src":"19999:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28206,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28204,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"20031:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20031:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19999:57:61"},{"eventCall":{"arguments":[{"id":28208,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28185,"src":"20095:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":28211,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28203,"src":"20118:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20120:12:61","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":27152,"src":"20118:14:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":28210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20110:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28209,"name":"address","nodeType":"ElementaryTypeName","src":"20110:7:61","typeDescriptions":{}}},"id":28213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20110:23:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":28207,"name":"B3trGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27261,"src":"20068:26:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":28214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20068:66:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28215,"nodeType":"EmitStatement","src":"20063:71:61"},{"expression":{"id":28225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":28216,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28203,"src":"20140:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20142:12:61","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":27152,"src":"20140:14:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":28222,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28185,"src":"20179:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":28221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20171:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":28220,"name":"address","nodeType":"ElementaryTypeName","src":"20171:8:61","stateMutability":"payable","typeDescriptions":{}}},"id":28223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20171:22:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":28219,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"20157:13:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":28224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20157:37:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"20140:54:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":28226,"nodeType":"ExpressionStatement","src":"20140:54:61"}]},"documentation":{"id":28183,"nodeType":"StructuredDocumentation","src":"19610:168:61","text":"@notice Sets the B3TRGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _b3trGovernor B3TRGovernor contract address"},"functionSelector":"ddd8634d","id":28228,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":28188,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27140,"src":"19860:30:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28189,"kind":"modifierInvocation","modifierName":{"id":28187,"name":"onlyRole","nameLocations":["19851:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"19851:8:61"},"nodeType":"ModifierInvocation","src":"19851:40:61"}],"name":"setB3trGovernorAddress","nameLocation":"19790:22:61","nodeType":"FunctionDefinition","parameters":{"id":28186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28185,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"19821:13:61","nodeType":"VariableDeclaration","scope":28228,"src":"19813:21:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28184,"name":"address","nodeType":"ElementaryTypeName","src":"19813:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19812:23:61"},"returnParameters":{"id":28190,"nodeType":"ParameterList","parameters":[],"src":"19892:0:61"},"scope":29379,"src":"19781:418:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28266,"nodeType":"Block","src":"20446:244:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":28240,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28231,"src":"20466:12:61","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":28239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20460:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":28238,"name":"bytes","nodeType":"ElementaryTypeName","src":"20460:5:61","typeDescriptions":{}}},"id":28241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20460:19:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20480:6:61","memberName":"length","nodeType":"MemberAccess","src":"20460:26:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":28243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20489:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20460:30:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520736574","id":28245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20492:37:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""},"value":"Galaxy Member: Base URI must be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""}],"id":28237,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20452:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20452:78:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28247,"nodeType":"ExpressionStatement","src":"20452:78:61"},{"assignments":[28250],"declarations":[{"constant":false,"id":28250,"mutability":"mutable","name":"$","nameLocation":"20564:1:61","nodeType":"VariableDeclaration","scope":28266,"src":"20536:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28249,"nodeType":"UserDefinedTypeName","pathNode":{"id":28248,"name":"GalaxyMemberStorage","nameLocations":["20536:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"20536:19:61"},"referencedDeclaration":27211,"src":"20536:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28253,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28251,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"20568:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20568:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20536:57:61"},{"eventCall":{"arguments":[{"id":28255,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28231,"src":"20619:12:61","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":28256,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28250,"src":"20633:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28257,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20635:13:61","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":27159,"src":"20633:15:61","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":28254,"name":"BaseURIUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27268,"src":"20604:14:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":28258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20604:45:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28259,"nodeType":"EmitStatement","src":"20599:50:61"},{"expression":{"id":28264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":28260,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28250,"src":"20655:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20657:13:61","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":27159,"src":"20655:15:61","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28263,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28231,"src":"20673:12:61","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"20655:30:61","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":28265,"nodeType":"ExpressionStatement","src":"20655:30:61"}]},"documentation":{"id":28229,"nodeType":"StructuredDocumentation","src":"20203:148:61","text":"@notice Sets the base URI for computing the tokenURI\n @dev Only callable by the admin role\n @param baseTokenURI Base URI for the Token"},"functionSelector":"55f804b3","id":28267,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":28234,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"20426:18:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28235,"kind":"modifierInvocation","modifierName":{"id":28233,"name":"onlyRole","nameLocations":["20417:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"20417:8:61"},"nodeType":"ModifierInvocation","src":"20417:28:61"}],"name":"setBaseURI","nameLocation":"20363:10:61","nodeType":"FunctionDefinition","parameters":{"id":28232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28231,"mutability":"mutable","name":"baseTokenURI","nameLocation":"20388:12:61","nodeType":"VariableDeclaration","scope":28267,"src":"20374:26:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28230,"name":"string","nodeType":"ElementaryTypeName","src":"20374:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20373:28:61"},"returnParameters":{"id":28236,"nodeType":"ParameterList","parameters":[],"src":"20446:0:61"},"scope":29379,"src":"20354:336:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28320,"nodeType":"Block","src":"20998:404:61","statements":[{"assignments":[28279],"declarations":[{"constant":false,"id":28279,"mutability":"mutable","name":"$","nameLocation":"21032:1:61","nodeType":"VariableDeclaration","scope":28320,"src":"21004:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28278,"nodeType":"UserDefinedTypeName","pathNode":{"id":28277,"name":"GalaxyMemberStorage","nameLocations":["21004:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"21004:19:61"},"referencedDeclaration":27211,"src":"21004:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28282,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28280,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"21036:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21036:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21004:57:61"},{"body":{"id":28314,"nodeType":"Block","src":"21121:217:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":28294,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28271,"src":"21137:20:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":28296,"indexExpression":{"id":28295,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28284,"src":"21158:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21137:23:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":28297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21163:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21137:27:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652067726561746572207468616e2030","id":28299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21166:55:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""},"value":"Galaxy Member: B3TR to upgrade must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""}],"id":28293,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21129:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21129:93:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28301,"nodeType":"ExpressionStatement","src":"21129:93:61"},{"expression":{"id":28312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":28302,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28279,"src":"21230:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28307,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21232:21:61","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27171,"src":"21230:23:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28308,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28304,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28284,"src":"21254:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":28305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21258:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"21254:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21230:30:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":28309,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28271,"src":"21263:20:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":28311,"indexExpression":{"id":28310,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28284,"src":"21284:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21263:23:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21230:56:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28313,"nodeType":"ExpressionStatement","src":"21230:56:61"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28286,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28284,"src":"21083:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":28287,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28271,"src":"21087:20:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":28288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21108:6:61","memberName":"length","nodeType":"MemberAccess","src":"21087:27:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21083:31:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28315,"initializationExpression":{"assignments":[28284],"declarations":[{"constant":false,"id":28284,"mutability":"mutable","name":"i","nameLocation":"21080:1:61","nodeType":"VariableDeclaration","scope":28315,"src":"21072:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28283,"name":"uint256","nodeType":"ElementaryTypeName","src":"21072:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28285,"nodeType":"VariableDeclarationStatement","src":"21072:9:61"},"loopExpression":{"expression":{"id":28291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"21116:3:61","subExpression":{"id":28290,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28284,"src":"21116:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28292,"nodeType":"ExpressionStatement","src":"21116:3:61"},"nodeType":"ForStatement","src":"21067:271:61"},{"eventCall":{"arguments":[{"id":28317,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28271,"src":"21376:20:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":28316,"name":"B3TRtoUpgradeToLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27274,"src":"21348:27:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory)"}},"id":28318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21348:49:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28319,"nodeType":"EmitStatement","src":"21343:54:61"}]},"documentation":{"id":28268,"nodeType":"StructuredDocumentation","src":"20694:185:61","text":"@notice Sets the amount of B3TR required to upgrade to each level\n @dev Only callable by the admin role\n @param b3trToUpgradeToLevel Mapping of B3TR requirements per level"},"functionSelector":"b1ccbd2c","id":28321,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":28274,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"20978:18:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28275,"kind":"modifierInvocation","modifierName":{"id":28273,"name":"onlyRole","nameLocations":["20969:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"20969:8:61"},"nodeType":"ModifierInvocation","src":"20969:28:61"}],"name":"setB3TRtoUpgradeToLevel","nameLocation":"20891:23:61","nodeType":"FunctionDefinition","parameters":{"id":28272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28271,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"20932:20:61","nodeType":"VariableDeclaration","scope":28321,"src":"20915:37:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":28269,"name":"uint256","nodeType":"ElementaryTypeName","src":"20915:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28270,"nodeType":"ArrayTypeName","src":"20915:9:61","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"20914:39:61"},"returnParameters":{"id":28276,"nodeType":"ParameterList","parameters":[],"src":"20998:0:61"},"scope":29379,"src":"20882:520:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28346,"nodeType":"Block","src":"21640:148:61","statements":[{"assignments":[28332],"declarations":[{"constant":false,"id":28332,"mutability":"mutable","name":"$","nameLocation":"21674:1:61","nodeType":"VariableDeclaration","scope":28346,"src":"21646:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28331,"nodeType":"UserDefinedTypeName","pathNode":{"id":28330,"name":"GalaxyMemberStorage","nameLocations":["21646:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"21646:19:61"},"referencedDeclaration":27211,"src":"21646:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28335,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28333,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"21678:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21678:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21646:57:61"},{"eventCall":{"arguments":[{"id":28337,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28324,"src":"21734:8:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":28336,"name":"PublicMintingPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27279,"src":"21714:19:61","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":28338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21714:29:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28339,"nodeType":"EmitStatement","src":"21709:34:61"},{"expression":{"id":28344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":28340,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28332,"src":"21749:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21751:21:61","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":27184,"src":"21749:23:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28343,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28324,"src":"21775:8:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21749:34:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28345,"nodeType":"ExpressionStatement","src":"21749:34:61"}]},"documentation":{"id":28322,"nodeType":"StructuredDocumentation","src":"21406:138:61","text":"@notice Pauses public minting\n @dev Only callable by the admin role\n @param isPaused Flag to pause or unpause public minting"},"functionSelector":"5b5da514","id":28347,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":28327,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"21620:18:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28328,"kind":"modifierInvocation","modifierName":{"id":28326,"name":"onlyRole","nameLocations":["21611:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21611:8:61"},"nodeType":"ModifierInvocation","src":"21611:28:61"}],"name":"setIsPublicMintingPaused","nameLocation":"21556:24:61","nodeType":"FunctionDefinition","parameters":{"id":28325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28324,"mutability":"mutable","name":"isPaused","nameLocation":"21586:8:61","nodeType":"VariableDeclaration","scope":28347,"src":"21581:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28323,"name":"bool","nodeType":"ElementaryTypeName","src":"21581:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21580:15:61"},"returnParameters":{"id":28329,"nodeType":"ParameterList","parameters":[],"src":"21640:0:61"},"scope":29379,"src":"21547:241:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28380,"nodeType":"Block","src":"21996:219:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":28362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28357,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28350,"src":"22010:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":28360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22035:1:61","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":28359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22027:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28358,"name":"address","nodeType":"ElementaryTypeName","src":"22027:7:61","typeDescriptions":{}}},"id":28361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22027:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22010:27:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6f7420626520746865207a65726f2061646472657373","id":28363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22039:56:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""},"value":"GalaxyMember: _vechainNodes cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""}],"id":28356,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22002:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22002:94:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28365,"nodeType":"ExpressionStatement","src":"22002:94:61"},{"assignments":[28368],"declarations":[{"constant":false,"id":28368,"mutability":"mutable","name":"$","nameLocation":"22130:1:61","nodeType":"VariableDeclaration","scope":28380,"src":"22102:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28367,"nodeType":"UserDefinedTypeName","pathNode":{"id":28366,"name":"GalaxyMemberStorage","nameLocations":["22102:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"22102:19:61"},"referencedDeclaration":27211,"src":"22102:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28371,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28369,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"22134:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22134:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22102:57:61"},{"expression":{"id":28378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":28372,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28368,"src":"22165:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22167:12:61","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":27187,"src":"22165:14:61","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28376,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28350,"src":"22196:13:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":28375,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"22182:13:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITokenAuction_$73165_$","typeString":"type(contract ITokenAuction)"}},"id":28377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22182:28:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"src":"22165:45:61","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":28379,"nodeType":"ExpressionStatement","src":"22165:45:61"}]},"documentation":{"id":28348,"nodeType":"StructuredDocumentation","src":"21792:109:61","text":"@notice Sets the Vechain Nodes contract address\n @param _vechainNodes Vechain Nodes contract address"},"functionSelector":"5ffaa59a","id":28381,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":28353,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27145,"src":"21976:18:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28354,"kind":"modifierInvocation","modifierName":{"id":28352,"name":"onlyRole","nameLocations":["21967:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21967:8:61"},"nodeType":"ModifierInvocation","src":"21967:28:61"}],"name":"setVechainNodes","nameLocation":"21913:15:61","nodeType":"FunctionDefinition","parameters":{"id":28351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28350,"mutability":"mutable","name":"_vechainNodes","nameLocation":"21937:13:61","nodeType":"VariableDeclaration","scope":28381,"src":"21929:21:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28349,"name":"address","nodeType":"ElementaryTypeName","src":"21929:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21928:23:61"},"returnParameters":{"id":28355,"nodeType":"ParameterList","parameters":[],"src":"21996:0:61"},"scope":29379,"src":"21904:311:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28428,"nodeType":"Block","src":"22564:340:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28393,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28386,"src":"22578:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":28394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22587:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"22578:10:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","id":28396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22590:29:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""},"value":"GalaxyMember: invalid level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""}],"id":28392,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22570:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22570:50:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28398,"nodeType":"ExpressionStatement","src":"22570:50:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":28402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28400,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28384,"src":"22634:9:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":28401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22647:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"22634:14:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","id":28403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22650:34:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""},"value":"GalaxyMember: invalid node level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""}],"id":28399,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22626:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22626:59:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28405,"nodeType":"ExpressionStatement","src":"22626:59:61"},{"assignments":[28408],"declarations":[{"constant":false,"id":28408,"mutability":"mutable","name":"$","nameLocation":"22720:1:61","nodeType":"VariableDeclaration","scope":28428,"src":"22692:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28407,"nodeType":"UserDefinedTypeName","pathNode":{"id":28406,"name":"GalaxyMemberStorage","nameLocations":["22692:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"22692:19:61"},"referencedDeclaration":27211,"src":"22692:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28411,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28409,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"22724:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22724:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22692:57:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28413,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28386,"src":"22764:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":28414,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28408,"src":"22773:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22775:9:61","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":27163,"src":"22773:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22764:20:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373207468616e206f7220657175616c20746f204d41585f4c4556454c","id":28417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22786:61:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""},"value":"GalaxyMember: level must be less than or equal to MAX_LEVEL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""}],"id":28412,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22756:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22756:92:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28419,"nodeType":"ExpressionStatement","src":"22756:92:61"},{"expression":{"id":28426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":28420,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28408,"src":"22855:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22857:23:61","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":27202,"src":"22855:25:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":28424,"indexExpression":{"id":28422,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28384,"src":"22881:9:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22855:36:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28425,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28386,"src":"22894:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22855:44:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28427,"nodeType":"ExpressionStatement","src":"22855:44:61"}]},"documentation":{"id":28382,"nodeType":"StructuredDocumentation","src":"22219:231:61","text":"@notice Sets the treasury contract address\n @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n @param level new free upgrade level"},"functionSelector":"001db0dd","id":28429,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":28389,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27145,"src":"22544:18:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":28390,"kind":"modifierInvocation","modifierName":{"id":28388,"name":"onlyRole","nameLocations":["22535:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22535:8:61"},"nodeType":"ModifierInvocation","src":"22535:28:61"}],"name":"setNodeToFreeUpgradeLevel","nameLocation":"22462:25:61","nodeType":"FunctionDefinition","parameters":{"id":28387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28384,"mutability":"mutable","name":"nodeLevel","nameLocation":"22494:9:61","nodeType":"VariableDeclaration","scope":28429,"src":"22488:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":28383,"name":"uint8","nodeType":"ElementaryTypeName","src":"22488:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":28386,"mutability":"mutable","name":"level","nameLocation":"22513:5:61","nodeType":"VariableDeclaration","scope":28429,"src":"22505:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28385,"name":"uint256","nodeType":"ElementaryTypeName","src":"22505:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22487:32:61"},"returnParameters":{"id":28391,"nodeType":"ParameterList","parameters":[],"src":"22564:0:61"},"scope":29379,"src":"22453:451:61","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":28452,"nodeType":"Block","src":"23103:139:61","statements":[{"assignments":[28438],"declarations":[{"constant":false,"id":28438,"mutability":"mutable","name":"nodeId","nameLocation":"23117:6:61","nodeType":"VariableDeclaration","scope":28452,"src":"23109:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28437,"name":"uint256","nodeType":"ElementaryTypeName","src":"23109:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28442,"initialValue":{"arguments":[{"id":28440,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28432,"src":"23144:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28439,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28949,"src":"23126:17:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":28441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23126:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23109:43:61"},{"assignments":[28444,null],"declarations":[{"constant":false,"id":28444,"mutability":"mutable","name":"level","nameLocation":"23168:5:61","nodeType":"VariableDeclaration","scope":28452,"src":"23160:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28443,"name":"uint256","nodeType":"ElementaryTypeName","src":"23160:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":28449,"initialValue":{"arguments":[{"id":28446,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28432,"src":"23202:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28447,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28438,"src":"23211:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28445,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28617,"src":"23179:22:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":28448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23179:39:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"23159:59:61"},{"expression":{"id":28450,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28444,"src":"23232:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28436,"id":28451,"nodeType":"Return","src":"23225:12:61"}]},"documentation":{"id":28430,"nodeType":"StructuredDocumentation","src":"22947:81:61","text":"@notice Gets the level of the GM token\n @param tokenId Token ID to check"},"functionSelector":"6d5e3032","id":28453,"implemented":true,"kind":"function","modifiers":[],"name":"levelOf","nameLocation":"23040:7:61","nodeType":"FunctionDefinition","parameters":{"id":28433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28432,"mutability":"mutable","name":"tokenId","nameLocation":"23056:7:61","nodeType":"VariableDeclaration","scope":28453,"src":"23048:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28431,"name":"uint256","nodeType":"ElementaryTypeName","src":"23048:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23047:17:61"},"returnParameters":{"id":28436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28435,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28453,"src":"23094:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28434,"name":"uint256","nodeType":"ElementaryTypeName","src":"23094:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23093:9:61"},"scope":29379,"src":"23031:211:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28503,"nodeType":"Block","src":"23432:610:61","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":28468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":28462,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28456,"src":"23451:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28461,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"23442:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":28463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23442:17:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":28466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23471:1:61","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":28465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23463:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28464,"name":"address","nodeType":"ElementaryTypeName","src":"23463:7:61","typeDescriptions":{}}},"id":28467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23463:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23442:31:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28471,"nodeType":"IfStatement","src":"23438:45:61","trueBody":{"expression":{"hexValue":"30","id":28469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23482:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":28460,"id":28470,"nodeType":"Return","src":"23475:8:61"}},{"assignments":[28473],"declarations":[{"constant":false,"id":28473,"mutability":"mutable","name":"nodeId","nameLocation":"23498:6:61","nodeType":"VariableDeclaration","scope":28503,"src":"23490:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28472,"name":"uint256","nodeType":"ElementaryTypeName","src":"23490:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28477,"initialValue":{"arguments":[{"id":28475,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28456,"src":"23525:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28474,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28949,"src":"23507:17:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":28476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23507:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23490:43:61"},{"assignments":[28479,28481],"declarations":[{"constant":false,"id":28479,"mutability":"mutable","name":"currentLevel","nameLocation":"23620:12:61","nodeType":"VariableDeclaration","scope":28503,"src":"23612:20:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28478,"name":"uint256","nodeType":"ElementaryTypeName","src":"23612:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28481,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"23642:15:61","nodeType":"VariableDeclaration","scope":28503,"src":"23634:23:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28480,"name":"uint256","nodeType":"ElementaryTypeName","src":"23634:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28486,"initialValue":{"arguments":[{"id":28483,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28456,"src":"23684:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28484,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28473,"src":"23693:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28482,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28617,"src":"23661:22:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":28485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23661:39:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"23611:89:61"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28487,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28479,"src":"23766:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":28488,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28919,"src":"23782:9:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":28489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23782:11:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23766:27:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28494,"nodeType":"IfStatement","src":"23762:56:61","trueBody":{"id":28493,"nodeType":"Block","src":"23795:23:61","statements":[{"expression":{"hexValue":"30","id":28491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23810:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":28460,"id":28492,"nodeType":"Return","src":"23803:8:61"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28496,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28479,"src":"24002:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":28497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24017:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24002:16:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28495,"name":"getB3TRtoUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28791,"src":"23978:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":28499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23978:41:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":28500,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28481,"src":"24022:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23978:59:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28460,"id":28502,"nodeType":"Return","src":"23971:66:61"}]},"documentation":{"id":28454,"nodeType":"StructuredDocumentation","src":"23246:102:61","text":"@notice Gets the B3TR required to upgrade to the next level\n @param tokenId Token ID to check"},"functionSelector":"a51d2e0b","id":28504,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgrade","nameLocation":"23360:16:61","nodeType":"FunctionDefinition","parameters":{"id":28457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28456,"mutability":"mutable","name":"tokenId","nameLocation":"23385:7:61","nodeType":"VariableDeclaration","scope":28504,"src":"23377:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28455,"name":"uint256","nodeType":"ElementaryTypeName","src":"23377:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23376:17:61"},"returnParameters":{"id":28460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28504,"src":"23423:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28458,"name":"uint256","nodeType":"ElementaryTypeName","src":"23423:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23422:9:61"},"scope":29379,"src":"23351:691:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28616,"nodeType":"Block","src":"24387:1637:61","statements":[{"assignments":[28518],"declarations":[{"constant":false,"id":28518,"mutability":"mutable","name":"$","nameLocation":"24421:1:61","nodeType":"VariableDeclaration","scope":28616,"src":"24393:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28517,"nodeType":"UserDefinedTypeName","pathNode":{"id":28516,"name":"GalaxyMemberStorage","nameLocations":["24393:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"24393:19:61"},"referencedDeclaration":27211,"src":"24393:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28521,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28519,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"24425:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24425:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24393:57:61"},{"assignments":[28523],"declarations":[{"constant":false,"id":28523,"mutability":"mutable","name":"level","nameLocation":"24565:5:61","nodeType":"VariableDeclaration","scope":28616,"src":"24557:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28522,"name":"uint256","nodeType":"ElementaryTypeName","src":"24557:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28525,"initialValue":{"hexValue":"31","id":28524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24573:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"24557:17:61"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":28538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28526,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28509,"src":"24665:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":28527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24675:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24665:11:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":28537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":28532,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28509,"src":"24712:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":28529,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28518,"src":"24680:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24682:14:61","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":27190,"src":"24680:16:61","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV1_$17497","typeString":"contract INodeManagementV1"}},"id":28531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24697:14:61","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":17467,"src":"24680:31:61","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":28533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24680:39:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":28535,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28507,"src":"24731:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28534,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"24723:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":28536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24723:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24680:59:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24665:74:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28568,"nodeType":"IfStatement","src":"24661:652:61","trueBody":{"id":28567,"nodeType":"Block","src":"24741:572:61","statements":[{"assignments":[28540],"declarations":[{"constant":false,"id":28540,"mutability":"mutable","name":"nodeLevel","nameLocation":"24865:9:61","nodeType":"VariableDeclaration","scope":28567,"src":"24859:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":28539,"name":"uint8","nodeType":"ElementaryTypeName","src":"24859:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":28544,"initialValue":{"arguments":[{"id":28542,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28509,"src":"24892:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28541,"name":"getNodeLevelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28642,"src":"24877:14:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":28543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24877:22:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"24859:40:61"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":28547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28545,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28540,"src":"24961:9:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":28546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24974:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24961:14:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28566,"nodeType":"IfStatement","src":"24957:350:61","trueBody":{"id":28565,"nodeType":"Block","src":"24977:330:61","statements":[{"assignments":[28549],"declarations":[{"constant":false,"id":28549,"mutability":"mutable","name":"nodeToFreeLevel","nameLocation":"25063:15:61","nodeType":"VariableDeclaration","scope":28565,"src":"25055:23:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28548,"name":"uint256","nodeType":"ElementaryTypeName","src":"25055:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28553,"initialValue":{"arguments":[{"id":28551,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28540,"src":"25100:9:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":28550,"name":"getNodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28964,"src":"25081:18:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":28552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25081:29:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25055:55:61"},{"expression":{"id":28563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28554,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28523,"src":"25228:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28555,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28549,"src":"25236:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":28556,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28518,"src":"25255:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28557,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25257:9:61","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":27163,"src":"25255:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25236:30:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":28560,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28518,"src":"25287:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25289:9:61","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":27163,"src":"25287:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25236:62:61","trueExpression":{"id":28559,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28549,"src":"25269:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25228:70:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28564,"nodeType":"ExpressionStatement","src":"25228:70:61"}]}}]}},{"assignments":[28570],"declarations":[{"constant":false,"id":28570,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"25423:15:61","nodeType":"VariableDeclaration","scope":28616,"src":"25415:23:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28569,"name":"uint256","nodeType":"ElementaryTypeName","src":"25415:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28575,"initialValue":{"baseExpression":{"expression":{"id":28571,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28518,"src":"25441:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25443:21:61","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":27206,"src":"25441:23:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28574,"indexExpression":{"id":28573,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28507,"src":"25465:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25441:32:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25415:58:61"},{"body":{"id":28610,"nodeType":"Block","src":"25663:268:61","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28589,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28570,"src":"25675:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"baseExpression":{"expression":{"id":28590,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28518,"src":"25694:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28591,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25696:21:61","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27171,"src":"25694:23:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28593,"indexExpression":{"id":28592,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28577,"src":"25718:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25694:26:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25675:45:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":28608,"nodeType":"Block","src":"25811:114:61","statements":[{"id":28607,"nodeType":"Break","src":"25911:5:61"}]},"id":28609,"nodeType":"IfStatement","src":"25671:254:61","trueBody":{"id":28606,"nodeType":"Block","src":"25722:83:61","statements":[{"expression":{"id":28597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28595,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28523,"src":"25732:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28596,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28577,"src":"25740:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25732:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28598,"nodeType":"ExpressionStatement","src":"25732:9:61"},{"expression":{"id":28604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28599,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28570,"src":"25751:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"baseExpression":{"expression":{"id":28600,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28518,"src":"25770:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25772:21:61","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27171,"src":"25770:23:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28603,"indexExpression":{"id":28602,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28577,"src":"25794:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25770:26:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25751:45:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28605,"nodeType":"ExpressionStatement","src":"25751:45:61"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28582,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28577,"src":"25640:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":28583,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28518,"src":"25645:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25647:9:61","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":27163,"src":"25645:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25640:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28611,"initializationExpression":{"assignments":[28577],"declarations":[{"constant":false,"id":28577,"mutability":"mutable","name":"i","nameLocation":"25625:1:61","nodeType":"VariableDeclaration","scope":28611,"src":"25617:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28576,"name":"uint256","nodeType":"ElementaryTypeName","src":"25617:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28581,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28578,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28523,"src":"25629:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":28579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25637:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25629:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25617:21:61"},"loopExpression":{"expression":{"id":28587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"25658:3:61","subExpression":{"id":28586,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28577,"src":"25658:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28588,"nodeType":"ExpressionStatement","src":"25658:3:61"},"nodeType":"ForStatement","src":"25612:319:61"},{"expression":{"components":[{"id":28612,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28523,"src":"25996:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28613,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28570,"src":"26003:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28614,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25995:24:61","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"functionReturnParameters":28515,"id":28615,"nodeType":"Return","src":"25988:31:61"}]},"documentation":{"id":28505,"nodeType":"StructuredDocumentation","src":"24046:224:61","text":"@notice Gets the level of the GM token and the B3TR Donated left to upgrade\n @param tokenId Token ID to check\n @return level The level of the token\n @return b3trDonatedLeft The B3TR donated left to upgrade"},"id":28617,"implemented":true,"kind":"function","modifiers":[],"name":"_getLevelOfAndB3TRleft","nameLocation":"24282:22:61","nodeType":"FunctionDefinition","parameters":{"id":28510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28507,"mutability":"mutable","name":"tokenId","nameLocation":"24313:7:61","nodeType":"VariableDeclaration","scope":28617,"src":"24305:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28506,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28509,"mutability":"mutable","name":"nodeId","nameLocation":"24330:6:61","nodeType":"VariableDeclaration","scope":28617,"src":"24322:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28508,"name":"uint256","nodeType":"ElementaryTypeName","src":"24322:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24304:33:61"},"returnParameters":{"id":28515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28617,"src":"24369:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28511,"name":"uint256","nodeType":"ElementaryTypeName","src":"24369:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28514,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28617,"src":"24378:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28513,"name":"uint256","nodeType":"ElementaryTypeName","src":"24378:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24368:18:61"},"scope":29379,"src":"24273:1751:61","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":28641,"nodeType":"Block","src":"26204:164:61","statements":[{"assignments":[28627],"declarations":[{"constant":false,"id":28627,"mutability":"mutable","name":"$","nameLocation":"26238:1:61","nodeType":"VariableDeclaration","scope":28641,"src":"26210:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28626,"nodeType":"UserDefinedTypeName","pathNode":{"id":28625,"name":"GalaxyMemberStorage","nameLocations":["26210:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"26210:19:61"},"referencedDeclaration":27211,"src":"26210:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28630,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28628,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"26242:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26242:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"26210:57:61"},{"assignments":[null,28632,null,null,null,null,null],"declarations":[null,{"constant":false,"id":28632,"mutability":"mutable","name":"nodeLevel","nameLocation":"26283:9:61","nodeType":"VariableDeclaration","scope":28641,"src":"26277:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":28631,"name":"uint8","nodeType":"ElementaryTypeName","src":"26277:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},null,null,null,null,null],"id":28638,"initialValue":{"arguments":[{"id":28636,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28620,"src":"26333:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":28633,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28627,"src":"26306:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26308:12:61","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":27187,"src":"26306:14:61","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":28635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26321:11:61","memberName":"getMetadata","nodeType":"MemberAccess","referencedDeclaration":73069,"src":"26306:26:61","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_uint8_$_t_bool_$_t_bool_$_t_uint64_$_t_uint64_$_t_uint64_$","typeString":"function (uint256) view external returns (address,uint8,bool,bool,uint64,uint64,uint64)"}},"id":28637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26306:34:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint8_$_t_bool_$_t_bool_$_t_uint64_$_t_uint64_$_t_uint64_$","typeString":"tuple(address,uint8,bool,bool,uint64,uint64,uint64)"}},"nodeType":"VariableDeclarationStatement","src":"26274:66:61"},{"expression":{"id":28639,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28632,"src":"26354:9:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":28624,"id":28640,"nodeType":"Return","src":"26347:16:61"}]},"documentation":{"id":28618,"nodeType":"StructuredDocumentation","src":"26028:97:61","text":"@notice Gets the strength level of the Vechain node\n @param nodeId Vechain Node Token ID"},"functionSelector":"3ff453af","id":28642,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeLevelOf","nameLocation":"26137:14:61","nodeType":"FunctionDefinition","parameters":{"id":28621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28620,"mutability":"mutable","name":"nodeId","nameLocation":"26160:6:61","nodeType":"VariableDeclaration","scope":28642,"src":"26152:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28619,"name":"uint256","nodeType":"ElementaryTypeName","src":"26152:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26151:16:61"},"returnParameters":{"id":28624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28623,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28642,"src":"26197:5:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":28622,"name":"uint8","nodeType":"ElementaryTypeName","src":"26197:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"26196:7:61"},"scope":29379,"src":"26128:240:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28661,"nodeType":"Block","src":"26560:106:61","statements":[{"assignments":[28652],"declarations":[{"constant":false,"id":28652,"mutability":"mutable","name":"$","nameLocation":"26594:1:61","nodeType":"VariableDeclaration","scope":28661,"src":"26566:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28651,"nodeType":"UserDefinedTypeName","pathNode":{"id":28650,"name":"GalaxyMemberStorage","nameLocations":["26566:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"26566:19:61"},"referencedDeclaration":27211,"src":"26566:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28655,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28653,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"26598:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26598:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"26566:57:61"},{"expression":{"baseExpression":{"expression":{"id":28656,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28652,"src":"26636:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26638:16:61","memberName":"_selectedTokenID","nodeType":"MemberAccess","referencedDeclaration":27210,"src":"26636:18:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":28659,"indexExpression":{"id":28658,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28645,"src":"26655:5:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26636:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28649,"id":28660,"nodeType":"Return","src":"26629:32:61"}]},"documentation":{"id":28643,"nodeType":"StructuredDocumentation","src":"26372:104:61","text":"@notice Gets the selected token ID for the user\n @param owner The address of the owner to check"},"functionSelector":"d206885d","id":28662,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenId","nameLocation":"26488:18:61","nodeType":"FunctionDefinition","parameters":{"id":28646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28645,"mutability":"mutable","name":"owner","nameLocation":"26515:5:61","nodeType":"VariableDeclaration","scope":28662,"src":"26507:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28644,"name":"address","nodeType":"ElementaryTypeName","src":"26507:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26506:15:61"},"returnParameters":{"id":28649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28648,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28662,"src":"26551:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28647,"name":"uint256","nodeType":"ElementaryTypeName","src":"26551:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26550:9:61"},"scope":29379,"src":"26479:187:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28681,"nodeType":"Block","src":"26931:94:61","statements":[{"assignments":[28673,null],"declarations":[{"constant":false,"id":28673,"mutability":"mutable","name":"level","nameLocation":"26946:5:61","nodeType":"VariableDeclaration","scope":28681,"src":"26938:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28672,"name":"uint256","nodeType":"ElementaryTypeName","src":"26938:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":28678,"initialValue":{"arguments":[{"id":28675,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28665,"src":"26980:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28676,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28667,"src":"26989:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28674,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28617,"src":"26957:22:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":28677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26957:44:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"26937:64:61"},{"expression":{"id":28679,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28673,"src":"27015:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28671,"id":28680,"nodeType":"Return","src":"27008:12:61"}]},"documentation":{"id":28663,"nodeType":"StructuredDocumentation","src":"26670:146:61","text":"@notice Gets the level of the token after attaching a node\n @param tokenId - GM Token ID\n @param nodeTokenId - Vechain Node Token ID"},"functionSelector":"a1843bd0","id":28682,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterAttachingNode","nameLocation":"26828:26:61","nodeType":"FunctionDefinition","parameters":{"id":28668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28665,"mutability":"mutable","name":"tokenId","nameLocation":"26863:7:61","nodeType":"VariableDeclaration","scope":28682,"src":"26855:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28664,"name":"uint256","nodeType":"ElementaryTypeName","src":"26855:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28667,"mutability":"mutable","name":"nodeTokenId","nameLocation":"26880:11:61","nodeType":"VariableDeclaration","scope":28682,"src":"26872:19:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28666,"name":"uint256","nodeType":"ElementaryTypeName","src":"26872:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26854:38:61"},"returnParameters":{"id":28671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28670,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28682,"src":"26922:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28669,"name":"uint256","nodeType":"ElementaryTypeName","src":"26922:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26921:9:61"},"scope":29379,"src":"26819:206:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28699,"nodeType":"Block","src":"27220:84:61","statements":[{"assignments":[28691,null],"declarations":[{"constant":false,"id":28691,"mutability":"mutable","name":"level","nameLocation":"27235:5:61","nodeType":"VariableDeclaration","scope":28699,"src":"27227:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28690,"name":"uint256","nodeType":"ElementaryTypeName","src":"27227:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":28696,"initialValue":{"arguments":[{"id":28693,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28685,"src":"27269:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":28694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27278:1:61","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":28692,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28617,"src":"27246:22:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":28695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27246:34:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"27226:54:61"},{"expression":{"id":28697,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28691,"src":"27294:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28689,"id":28698,"nodeType":"Return","src":"27287:12:61"}]},"documentation":{"id":28683,"nodeType":"StructuredDocumentation","src":"27029:97:61","text":"@notice Gets the level of the token after detaching a node\n @param tokenId - GM Token ID"},"functionSelector":"cc421d07","id":28700,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterDetachingNode","nameLocation":"27138:26:61","nodeType":"FunctionDefinition","parameters":{"id":28686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28685,"mutability":"mutable","name":"tokenId","nameLocation":"27173:7:61","nodeType":"VariableDeclaration","scope":28700,"src":"27165:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28684,"name":"uint256","nodeType":"ElementaryTypeName","src":"27165:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27164:17:61"},"returnParameters":{"id":28689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28688,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28700,"src":"27211:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28687,"name":"uint256","nodeType":"ElementaryTypeName","src":"27211:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27210:9:61"},"scope":29379,"src":"27129:175:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28760,"nodeType":"Block","src":"27509:458:61","statements":[{"assignments":[28710],"declarations":[{"constant":false,"id":28710,"mutability":"mutable","name":"$","nameLocation":"27543:1:61","nodeType":"VariableDeclaration","scope":28760,"src":"27515:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28709,"nodeType":"UserDefinedTypeName","pathNode":{"id":28708,"name":"GalaxyMemberStorage","nameLocations":["27515:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"27515:19:61"},"referencedDeclaration":27211,"src":"27515:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28713,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28711,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"27547:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27547:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"27515:57:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"id":28723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28715,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28710,"src":"27593:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27595:20:61","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":27149,"src":"27593:22:61","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":28720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27654:1:61","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":28719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27646:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28718,"name":"address","nodeType":"ElementaryTypeName","src":"27646:7:61","typeDescriptions":{}}},"id":28721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27646:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":28717,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"27619:26:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":28722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27619:38:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"27593:64:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67476f7665726e6f72206e6f7420736574","id":28724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27665:50:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""},"value":"Galaxy Member: XAllocationVotingGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""}],"id":28714,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"27578:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27578:143:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28726,"nodeType":"ExpressionStatement","src":"27578:143:61"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"id":28739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28728,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28710,"src":"27735:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28729,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27737:12:61","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":27152,"src":"27735:14:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":28735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27783:1:61","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":28734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27775:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28733,"name":"address","nodeType":"ElementaryTypeName","src":"27775:7:61","typeDescriptions":{}}},"id":28736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27775:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":28732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27767:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":28731,"name":"address","nodeType":"ElementaryTypeName","src":"27767:8:61","stateMutability":"payable","typeDescriptions":{}}},"id":28737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27767:19:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":28730,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"27753:13:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":28738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27753:34:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"27735:52:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420736574","id":28740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27789:37:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""},"value":"Galaxy Member: B3TRGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""}],"id":28727,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"27727:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27727:100:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28742,"nodeType":"ExpressionStatement","src":"27727:100:61"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":28753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":28746,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28703,"src":"27874:4:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":28743,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28710,"src":"27838:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27840:20:61","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":27149,"src":"27838:22:61","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":28745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27861:12:61","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":71083,"src":"27838:35:61","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":28747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27838:41:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":28751,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28703,"src":"27911:4:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":28748,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28710,"src":"27883:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28749,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27885:12:61","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":27152,"src":"27883:14:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":28750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27898:12:61","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":63603,"src":"27883:27:61","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":28752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27883:33:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27838:78:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28757,"nodeType":"IfStatement","src":"27834:110:61","trueBody":{"id":28756,"nodeType":"Block","src":"27918:26:61","statements":[{"expression":{"hexValue":"74727565","id":28754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27933:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":28707,"id":28755,"nodeType":"Return","src":"27926:11:61"}]}},{"expression":{"hexValue":"66616c7365","id":28758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27957:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":28707,"id":28759,"nodeType":"Return","src":"27950:12:61"}]},"documentation":{"id":28701,"nodeType":"StructuredDocumentation","src":"27308:115:61","text":"@notice Gets whether the user has participated in governance\n @param user The address of the user to check"},"functionSelector":"8c5b76fb","id":28761,"implemented":true,"kind":"function","modifiers":[],"name":"participatedInGovernance","nameLocation":"27435:24:61","nodeType":"FunctionDefinition","parameters":{"id":28704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28703,"mutability":"mutable","name":"user","nameLocation":"27468:4:61","nodeType":"VariableDeclaration","scope":28761,"src":"27460:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28702,"name":"address","nodeType":"ElementaryTypeName","src":"27460:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27459:14:61"},"returnParameters":{"id":28707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28706,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28761,"src":"27503:4:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28705,"name":"bool","nodeType":"ElementaryTypeName","src":"27503:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27502:6:61"},"scope":29379,"src":"27426:541:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28770,"nodeType":"Block","src":"28093:28:61","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":28767,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[29378],"referencedDeclaration":29378,"src":"28106:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":28768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28106:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":28766,"id":28769,"nodeType":"Return","src":"28099:17:61"}]},"documentation":{"id":28762,"nodeType":"StructuredDocumentation","src":"27971:56:61","text":"@notice Gets the base URI for computing the tokenURI"},"functionSelector":"6c0360eb","id":28771,"implemented":true,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"28039:7:61","nodeType":"FunctionDefinition","parameters":{"id":28763,"nodeType":"ParameterList","parameters":[],"src":"28046:2:61"},"returnParameters":{"id":28766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28765,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28771,"src":"28078:13:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28764,"name":"string","nodeType":"ElementaryTypeName","src":"28078:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28077:15:61"},"scope":29379,"src":"28030:91:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28790,"nodeType":"Block","src":"28318:111:61","statements":[{"assignments":[28781],"declarations":[{"constant":false,"id":28781,"mutability":"mutable","name":"$","nameLocation":"28352:1:61","nodeType":"VariableDeclaration","scope":28790,"src":"28324:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28780,"nodeType":"UserDefinedTypeName","pathNode":{"id":28779,"name":"GalaxyMemberStorage","nameLocations":["28324:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"28324:19:61"},"referencedDeclaration":27211,"src":"28324:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28784,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28782,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"28356:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28356:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28324:57:61"},{"expression":{"baseExpression":{"expression":{"id":28785,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28781,"src":"28394:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28396:21:61","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":27171,"src":"28394:23:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28788,"indexExpression":{"id":28787,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28774,"src":"28418:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28394:30:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28778,"id":28789,"nodeType":"Return","src":"28387:37:61"}]},"documentation":{"id":28772,"nodeType":"StructuredDocumentation","src":"28125:104:61","text":"@notice Gets the B3TR required to upgrade to a specific level\n @param level Level to upgrade to"},"functionSelector":"2b42df38","id":28791,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgradeToLevel","nameLocation":"28241:23:61","nodeType":"FunctionDefinition","parameters":{"id":28775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28774,"mutability":"mutable","name":"level","nameLocation":"28273:5:61","nodeType":"VariableDeclaration","scope":28791,"src":"28265:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28773,"name":"uint256","nodeType":"ElementaryTypeName","src":"28265:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28264:15:61"},"returnParameters":{"id":28778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28791,"src":"28309:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28776,"name":"uint256","nodeType":"ElementaryTypeName","src":"28309:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28308:9:61"},"scope":29379,"src":"28232:197:61","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2274],"body":{"id":28835,"nodeType":"Block","src":"28726:205:61","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":28808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":28802,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28794,"src":"28745:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28801,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"28736:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":28803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28736:17:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":28806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28765:1:61","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":28805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28757:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28804,"name":"address","nodeType":"ElementaryTypeName","src":"28757:7:61","typeDescriptions":{}}},"id":28807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28757:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"28736:31:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28811,"nodeType":"IfStatement","src":"28732:46:61","trueBody":{"expression":{"hexValue":"","id":28809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28776:2:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":28800,"id":28810,"nodeType":"Return","src":"28769:9:61"}},{"assignments":[28813],"declarations":[{"constant":false,"id":28813,"mutability":"mutable","name":"levelOfToken","nameLocation":"28793:12:61","nodeType":"VariableDeclaration","scope":28835,"src":"28785:20:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28812,"name":"uint256","nodeType":"ElementaryTypeName","src":"28785:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28817,"initialValue":{"arguments":[{"id":28815,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28794,"src":"28816:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28814,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28453,"src":"28808:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":28816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28808:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28785:39:61"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28818,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28813,"src":"28837:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":28819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28852:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28837:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":28832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28924:2:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":28833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"28837:89:61","trueExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":28824,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28771,"src":"28870:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":28825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28870:9:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":28828,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28813,"src":"28898:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":28826,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"28881:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":28827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28889:8:61","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"28881:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":28829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28881:30:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6a736f6e","id":28830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28913:7:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":28822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28856:6:61","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":28821,"name":"string","nodeType":"ElementaryTypeName","src":"28856:6:61","typeDescriptions":{}}},"id":28823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28863:6:61","memberName":"concat","nodeType":"MemberAccess","src":"28856:13:61","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":28831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28856:65:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":28800,"id":28834,"nodeType":"Return","src":"28830:96:61"}]},"documentation":{"id":28792,"nodeType":"StructuredDocumentation","src":"28433:183:61","text":"@notice gets the token URI for a specific token\n @dev computes the token URI based on the base URI and the level of the token\n @param tokenId Token ID to get the URI for"},"functionSelector":"c87b56dd","id":28836,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"28628:8:61","nodeType":"FunctionDefinition","overrides":{"id":28797,"nodeType":"OverrideSpecifier","overrides":[{"id":28796,"name":"ERC721Upgradeable","nameLocations":["28683:17:61"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"28683:17:61"}],"src":"28674:27:61"},"parameters":{"id":28795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28794,"mutability":"mutable","name":"tokenId","nameLocation":"28645:7:61","nodeType":"VariableDeclaration","scope":28836,"src":"28637:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28793,"name":"uint256","nodeType":"ElementaryTypeName","src":"28637:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28636:17:61"},"returnParameters":{"id":28800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28836,"src":"28711:13:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28798,"name":"string","nodeType":"ElementaryTypeName","src":"28711:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28710:15:61"},"scope":29379,"src":"28619:312:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28852,"nodeType":"Block","src":"29079:103:61","statements":[{"assignments":[28845],"declarations":[{"constant":false,"id":28845,"mutability":"mutable","name":"$","nameLocation":"29113:1:61","nodeType":"VariableDeclaration","scope":28852,"src":"29085:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28844,"nodeType":"UserDefinedTypeName","pathNode":{"id":28843,"name":"GalaxyMemberStorage","nameLocations":["29085:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"29085:19:61"},"referencedDeclaration":27211,"src":"29085:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28848,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28846,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"29117:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29117:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29085:57:61"},{"expression":{"expression":{"id":28849,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28845,"src":"29155:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29157:20:61","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":27149,"src":"29155:22:61","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"functionReturnParameters":28842,"id":28851,"nodeType":"Return","src":"29148:29:61"}]},"documentation":{"id":28837,"nodeType":"StructuredDocumentation","src":"28935:58:61","text":"@notice Gets the xAllocationsGovernor contract address"},"functionSelector":"5ecf68e9","id":28853,"implemented":true,"kind":"function","modifiers":[],"name":"xAllocationsGovernor","nameLocation":"29005:20:61","nodeType":"FunctionDefinition","parameters":{"id":28838,"nodeType":"ParameterList","parameters":[],"src":"29025:2:61"},"returnParameters":{"id":28842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28853,"src":"29051:26:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":28840,"nodeType":"UserDefinedTypeName","pathNode":{"id":28839,"name":"IXAllocationVotingGovernor","nameLocations":["29051:26:61"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"29051:26:61"},"referencedDeclaration":71124,"src":"29051:26:61","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"29050:28:61"},"scope":29379,"src":"28996:186:61","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":28869,"nodeType":"Block","src":"29301:95:61","statements":[{"assignments":[28862],"declarations":[{"constant":false,"id":28862,"mutability":"mutable","name":"$","nameLocation":"29335:1:61","nodeType":"VariableDeclaration","scope":28869,"src":"29307:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28861,"nodeType":"UserDefinedTypeName","pathNode":{"id":28860,"name":"GalaxyMemberStorage","nameLocations":["29307:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"29307:19:61"},"referencedDeclaration":27211,"src":"29307:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28865,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28863,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"29339:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29339:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29307:57:61"},{"expression":{"expression":{"id":28866,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28862,"src":"29377:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28867,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29379:12:61","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":27152,"src":"29377:14:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"functionReturnParameters":28859,"id":28868,"nodeType":"Return","src":"29370:21:61"}]},"documentation":{"id":28854,"nodeType":"StructuredDocumentation","src":"29186:50:61","text":"@notice Gets the b3trGovernor contract address"},"functionSelector":"7893d736","id":28870,"implemented":true,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"29248:12:61","nodeType":"FunctionDefinition","parameters":{"id":28855,"nodeType":"ParameterList","parameters":[],"src":"29260:2:61"},"returnParameters":{"id":28859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28870,"src":"29286:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":28857,"nodeType":"UserDefinedTypeName","pathNode":{"id":28856,"name":"IB3TRGovernor","nameLocations":["29286:13:61"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"29286:13:61"},"referencedDeclaration":63919,"src":"29286:13:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"29285:15:61"},"scope":29379,"src":"29239:157:61","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":28886,"nodeType":"Block","src":"29497:87:61","statements":[{"assignments":[28879],"declarations":[{"constant":false,"id":28879,"mutability":"mutable","name":"$","nameLocation":"29531:1:61","nodeType":"VariableDeclaration","scope":28886,"src":"29503:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28878,"nodeType":"UserDefinedTypeName","pathNode":{"id":28877,"name":"GalaxyMemberStorage","nameLocations":["29503:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"29503:19:61"},"referencedDeclaration":27211,"src":"29503:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28882,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28880,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"29535:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29535:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29503:57:61"},{"expression":{"expression":{"id":28883,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28879,"src":"29573:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29575:4:61","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":27155,"src":"29573:6:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"functionReturnParameters":28876,"id":28885,"nodeType":"Return","src":"29566:13:61"}]},"documentation":{"id":28871,"nodeType":"StructuredDocumentation","src":"29400:48:61","text":"@notice Gets the B3TR token contract address"},"functionSelector":"582a486a","id":28887,"implemented":true,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"29460:4:61","nodeType":"FunctionDefinition","parameters":{"id":28872,"nodeType":"ParameterList","parameters":[],"src":"29464:2:61"},"returnParameters":{"id":28876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28875,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28887,"src":"29490:5:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":28874,"nodeType":"UserDefinedTypeName","pathNode":{"id":28873,"name":"IB3TR","nameLocations":["29490:5:61"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"29490:5:61"},"referencedDeclaration":62888,"src":"29490:5:61","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"29489:7:61"},"scope":29379,"src":"29451:133:61","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":28902,"nodeType":"Block","src":"29689:91:61","statements":[{"assignments":[28895],"declarations":[{"constant":false,"id":28895,"mutability":"mutable","name":"$","nameLocation":"29723:1:61","nodeType":"VariableDeclaration","scope":28902,"src":"29695:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28894,"nodeType":"UserDefinedTypeName","pathNode":{"id":28893,"name":"GalaxyMemberStorage","nameLocations":["29695:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"29695:19:61"},"referencedDeclaration":27211,"src":"29695:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28898,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28896,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"29727:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29727:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29695:57:61"},{"expression":{"expression":{"id":28899,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28895,"src":"29765:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28900,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29767:8:61","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":27157,"src":"29765:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":28892,"id":28901,"nodeType":"Return","src":"29758:17:61"}]},"documentation":{"id":28888,"nodeType":"StructuredDocumentation","src":"29588:46:61","text":"@notice Gets the treasury contract address"},"functionSelector":"61d027b3","id":28903,"implemented":true,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"29646:8:61","nodeType":"FunctionDefinition","parameters":{"id":28889,"nodeType":"ParameterList","parameters":[],"src":"29654:2:61"},"returnParameters":{"id":28892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28891,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28903,"src":"29680:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28890,"name":"address","nodeType":"ElementaryTypeName","src":"29680:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29679:9:61"},"scope":29379,"src":"29637:143:61","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":28918,"nodeType":"Block","src":"29921:92:61","statements":[{"assignments":[28911],"declarations":[{"constant":false,"id":28911,"mutability":"mutable","name":"$","nameLocation":"29955:1:61","nodeType":"VariableDeclaration","scope":28918,"src":"29927:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":28910,"nodeType":"UserDefinedTypeName","pathNode":{"id":28909,"name":"GalaxyMemberStorage","nameLocations":["29927:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"29927:19:61"},"referencedDeclaration":27211,"src":"29927:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":28914,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":28912,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"29959:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29959:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29927:57:61"},{"expression":{"expression":{"id":28915,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28911,"src":"29997:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28916,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29999:9:61","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":27163,"src":"29997:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28908,"id":28917,"nodeType":"Return","src":"29990:18:61"}]},"documentation":{"id":28904,"nodeType":"StructuredDocumentation","src":"29784:75:61","text":"@notice Gets the maximum level that tokens can be minted or upgraded to"},"functionSelector":"a49062d4","id":28919,"implemented":true,"kind":"function","modifiers":[],"name":"MAX_LEVEL","nameLocation":"29871:9:61","nodeType":"FunctionDefinition","parameters":{"id":28905,"nodeType":"ParameterList","parameters":[],"src":"29880:2:61"},"returnParameters":{"id":28908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28907,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28919,"src":"29912:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28906,"name":"uint256","nodeType":"ElementaryTypeName","src":"29912:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29911:9:61"},"scope":29379,"src":"29862:151:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28933,"nodeType":"Block","src":"30214:66:61","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":28927,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"30227:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30227:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30253:14:61","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":27194,"src":"30227:40:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28931,"indexExpression":{"id":28930,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28922,"src":"30268:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30227:48:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28926,"id":28932,"nodeType":"Return","src":"30220:55:61"}]},"documentation":{"id":28920,"nodeType":"StructuredDocumentation","src":"30017:111:61","text":"@notice Get the GM Token ID attached to the Vechain Node Token ID\n @param nodeId Vechain node Token ID"},"functionSelector":"51c438d1","id":28934,"implemented":true,"kind":"function","modifiers":[],"name":"getIdAttachedToNode","nameLocation":"30140:19:61","nodeType":"FunctionDefinition","parameters":{"id":28923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28922,"mutability":"mutable","name":"nodeId","nameLocation":"30168:6:61","nodeType":"VariableDeclaration","scope":28934,"src":"30160:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28921,"name":"uint256","nodeType":"ElementaryTypeName","src":"30160:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30159:16:61"},"returnParameters":{"id":28926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28934,"src":"30205:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28924,"name":"uint256","nodeType":"ElementaryTypeName","src":"30205:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30204:9:61"},"scope":29379,"src":"30131:149:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28948,"nodeType":"Block","src":"30471:67:61","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":28942,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"30484:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30484:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28944,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30510:14:61","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":27198,"src":"30484:40:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28946,"indexExpression":{"id":28945,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28937,"src":"30525:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30484:49:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28941,"id":28947,"nodeType":"Return","src":"30477:56:61"}]},"documentation":{"id":28935,"nodeType":"StructuredDocumentation","src":"30284:102:61","text":"@notice Get the Vechain Node Token ID attached to the GM Token ID\n @param tokenId GM Token ID"},"functionSelector":"958fc97d","id":28949,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeIdAttached","nameLocation":"30398:17:61","nodeType":"FunctionDefinition","parameters":{"id":28938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28937,"mutability":"mutable","name":"tokenId","nameLocation":"30424:7:61","nodeType":"VariableDeclaration","scope":28949,"src":"30416:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28936,"name":"uint256","nodeType":"ElementaryTypeName","src":"30416:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30415:17:61"},"returnParameters":{"id":28941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28940,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28949,"src":"30462:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28939,"name":"uint256","nodeType":"ElementaryTypeName","src":"30462:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30461:9:61"},"scope":29379,"src":"30389:149:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28963,"nodeType":"Block","src":"30759:78:61","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":28957,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"30772:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30772:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30798:23:61","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":27202,"src":"30772:49:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":28961,"indexExpression":{"id":28960,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28952,"src":"30822:9:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30772:60:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28956,"id":28962,"nodeType":"Return","src":"30765:67:61"}]},"documentation":{"id":28950,"nodeType":"StructuredDocumentation","src":"30542:131:61","text":"@notice Get the GM level that can be upgraded for free for a given Vechain node level\n @param nodeLevel Vechain node level"},"functionSelector":"e617e49f","id":28964,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeToFreeLevel","nameLocation":"30685:18:61","nodeType":"FunctionDefinition","parameters":{"id":28953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28952,"mutability":"mutable","name":"nodeLevel","nameLocation":"30710:9:61","nodeType":"VariableDeclaration","scope":28964,"src":"30704:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":28951,"name":"uint8","nodeType":"ElementaryTypeName","src":"30704:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"30703:17:61"},"returnParameters":{"id":28956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28964,"src":"30750:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28954,"name":"uint256","nodeType":"ElementaryTypeName","src":"30750:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30749:9:61"},"scope":29379,"src":"30676:161:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28978,"nodeType":"Block","src":"31016:74:61","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":28972,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"31029:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":28973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31029:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":28974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31055:21:61","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":27206,"src":"31029:47:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28976,"indexExpression":{"id":28975,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28967,"src":"31077:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31029:56:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28971,"id":28977,"nodeType":"Return","src":"31022:63:61"}]},"documentation":{"id":28965,"nodeType":"StructuredDocumentation","src":"30841:93:61","text":"@notice Get the B3TR donated for upgrading a token\n @param tokenId Token ID to check"},"functionSelector":"865c380b","id":28979,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRdonated","nameLocation":"30946:14:61","nodeType":"FunctionDefinition","parameters":{"id":28968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28967,"mutability":"mutable","name":"tokenId","nameLocation":"30969:7:61","nodeType":"VariableDeclaration","scope":28979,"src":"30961:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28966,"name":"uint256","nodeType":"ElementaryTypeName","src":"30961:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30960:17:61"},"returnParameters":{"id":28971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28970,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28979,"src":"31007:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28969,"name":"uint256","nodeType":"ElementaryTypeName","src":"31007:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31006:9:61"},"scope":29379,"src":"30937:153:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":28987,"nodeType":"Block","src":"31383:21:61","statements":[{"expression":{"hexValue":"32","id":28985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31396:3:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a5","typeString":"literal_string \"2\""},"value":"2"},"functionReturnParameters":28984,"id":28986,"nodeType":"Return","src":"31389:10:61"}]},"documentation":{"id":28980,"nodeType":"StructuredDocumentation","src":"31094:221:61","text":"@notice Retrieves the current version of the contract\n @dev This function is used to identify the version of the contract and should be updated in each new version\n @return string The version of the contract"},"functionSelector":"54fd4d50","id":28988,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"31327:7:61","nodeType":"FunctionDefinition","parameters":{"id":28981,"nodeType":"ParameterList","parameters":[],"src":"31334:2:61"},"returnParameters":{"id":28984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28983,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28988,"src":"31368:13:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28982,"name":"string","nodeType":"ElementaryTypeName","src":"31368:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31367:15:61"},"scope":29379,"src":"31318:86:61","stateMutability":"pure","virtual":true,"visibility":"external"},{"canonicalName":"GalaxyMemberV2.TokenInfo","id":28997,"members":[{"constant":false,"id":28990,"mutability":"mutable","name":"tokenId","nameLocation":"31439:7:61","nodeType":"VariableDeclaration","scope":28997,"src":"31431:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28989,"name":"uint256","nodeType":"ElementaryTypeName","src":"31431:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28992,"mutability":"mutable","name":"tokenURI","nameLocation":"31459:8:61","nodeType":"VariableDeclaration","scope":28997,"src":"31452:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":28991,"name":"string","nodeType":"ElementaryTypeName","src":"31452:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28994,"mutability":"mutable","name":"tokenLevel","nameLocation":"31481:10:61","nodeType":"VariableDeclaration","scope":28997,"src":"31473:18:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28993,"name":"uint256","nodeType":"ElementaryTypeName","src":"31473:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28996,"mutability":"mutable","name":"b3trToUpgrade","nameLocation":"31505:13:61","nodeType":"VariableDeclaration","scope":28997,"src":"31497:21:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28995,"name":"uint256","nodeType":"ElementaryTypeName","src":"31497:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TokenInfo","nameLocation":"31415:9:61","nodeType":"StructDefinition","scope":29379,"src":"31408:115:61","visibility":"public"},{"body":{"id":29054,"nodeType":"Block","src":"31757:360:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":29008,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29000,"src":"31816:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29007,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"31807:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":29009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31807:17:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":29012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31836:1:61","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":29011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31828:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29010,"name":"address","nodeType":"ElementaryTypeName","src":"31828:7:61","typeDescriptions":{}}},"id":29013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31828:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"31807:31:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578697374","id":29015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31840:37:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""},"value":"GalaxyMember: tokenId doesn't exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""}],"id":29006,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"31799:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31799:79:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29017,"nodeType":"ExpressionStatement","src":"31799:79:61"},{"assignments":[29020],"declarations":[{"constant":false,"id":29020,"mutability":"mutable","name":"tokenInfo","nameLocation":"31902:9:61","nodeType":"VariableDeclaration","scope":29054,"src":"31885:26:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"},"typeName":{"id":29019,"nodeType":"UserDefinedTypeName","pathNode":{"id":29018,"name":"TokenInfo","nameLocations":["31885:9:61"],"nodeType":"IdentifierPath","referencedDeclaration":28997,"src":"31885:9:61"},"referencedDeclaration":28997,"src":"31885:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"}},"visibility":"internal"}],"id":29021,"nodeType":"VariableDeclarationStatement","src":"31885:26:61"},{"expression":{"id":29026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29022,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29020,"src":"31917:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory"}},"id":29024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"31927:7:61","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":28990,"src":"31917:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29025,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29000,"src":"31937:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31917:27:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29027,"nodeType":"ExpressionStatement","src":"31917:27:61"},{"expression":{"id":29034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29028,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29020,"src":"31950:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory"}},"id":29030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"31960:8:61","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":28992,"src":"31950:18:61","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29032,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29000,"src":"31980:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29031,"name":"tokenURI","nodeType":"Identifier","overloadedDeclarations":[28836],"referencedDeclaration":28836,"src":"31971:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":29033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31971:17:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"31950:38:61","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":29035,"nodeType":"ExpressionStatement","src":"31950:38:61"},{"expression":{"id":29042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29036,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29020,"src":"31994:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory"}},"id":29038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32004:10:61","memberName":"tokenLevel","nodeType":"MemberAccess","referencedDeclaration":28994,"src":"31994:20:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29040,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29000,"src":"32025:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29039,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28453,"src":"32017:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":29041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32017:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31994:39:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29043,"nodeType":"ExpressionStatement","src":"31994:39:61"},{"expression":{"id":29050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29044,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29020,"src":"32039:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory"}},"id":29046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32049:13:61","memberName":"b3trToUpgrade","nodeType":"MemberAccess","referencedDeclaration":28996,"src":"32039:23:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29048,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29000,"src":"32082:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29047,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28504,"src":"32065:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":29049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32065:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32039:51:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29051,"nodeType":"ExpressionStatement","src":"32039:51:61"},{"expression":{"id":29052,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29020,"src":"32103:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory"}},"functionReturnParameters":29005,"id":29053,"nodeType":"Return","src":"32096:16:61"}]},"documentation":{"id":28998,"nodeType":"StructuredDocumentation","src":"31527:132:61","text":"@notice Gets the token info by token ID\n @param tokenId Token ID to get the info for\n @return TokenInfo The token info"},"functionSelector":"643ce418","id":29055,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenInfoByTokenId","nameLocation":"31671:21:61","nodeType":"FunctionDefinition","parameters":{"id":29001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29000,"mutability":"mutable","name":"tokenId","nameLocation":"31701:7:61","nodeType":"VariableDeclaration","scope":29055,"src":"31693:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28999,"name":"uint256","nodeType":"ElementaryTypeName","src":"31693:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31692:17:61"},"returnParameters":{"id":29005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29055,"src":"31739:16:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"},"typeName":{"id":29003,"nodeType":"UserDefinedTypeName","pathNode":{"id":29002,"name":"TokenInfo","nameLocations":["31739:9:61"],"nodeType":"IdentifierPath","referencedDeclaration":28997,"src":"31739:9:61"},"referencedDeclaration":28997,"src":"31739:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"}},"visibility":"internal"}],"src":"31738:18:61"},"scope":29379,"src":"31662:455:61","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":29074,"nodeType":"Block","src":"32371:97:61","statements":[{"assignments":[29065],"declarations":[{"constant":false,"id":29065,"mutability":"mutable","name":"tokenId","nameLocation":"32385:7:61","nodeType":"VariableDeclaration","scope":29074,"src":"32377:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29064,"name":"uint256","nodeType":"ElementaryTypeName","src":"32377:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29069,"initialValue":{"arguments":[{"id":29067,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29058,"src":"32414:5:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29066,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28662,"src":"32395:18:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":29068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32395:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32377:43:61"},{"expression":{"arguments":[{"id":29071,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29065,"src":"32455:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29070,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29055,"src":"32433:21:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$28997_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMemberV2.TokenInfo memory)"}},"id":29072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32433:30:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory"}},"functionReturnParameters":29063,"id":29073,"nodeType":"Return","src":"32426:37:61"}]},"documentation":{"id":29056,"nodeType":"StructuredDocumentation","src":"32121:156:61","text":"@notice Gets the selected token info for an address\n @param owner The address of the owner to check\n @return TokenInfo The selected token info"},"functionSelector":"de4983a2","id":29075,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenInfoByOwner","nameLocation":"32289:27:61","nodeType":"FunctionDefinition","parameters":{"id":29059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29058,"mutability":"mutable","name":"owner","nameLocation":"32325:5:61","nodeType":"VariableDeclaration","scope":29075,"src":"32317:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29057,"name":"address","nodeType":"ElementaryTypeName","src":"32317:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32316:15:61"},"returnParameters":{"id":29063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29075,"src":"32353:16:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"},"typeName":{"id":29061,"nodeType":"UserDefinedTypeName","pathNode":{"id":29060,"name":"TokenInfo","nameLocations":["32353:9:61"],"nodeType":"IdentifierPath","referencedDeclaration":28997,"src":"32353:9:61"},"referencedDeclaration":28997,"src":"32353:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"}},"visibility":"internal"}],"src":"32352:18:61"},"scope":29379,"src":"32280:188:61","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":29213,"nodeType":"Block","src":"32858:1376:61","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29089,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29082,"src":"32896:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":29090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32904:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32896:9:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29097,"nodeType":"IfStatement","src":"32892:79:61","trueBody":{"id":29096,"nodeType":"Block","src":"32907:64:61","statements":[{"expression":{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652030","id":29093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32922:41:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""},"value":"GalaxyMember: Invalid size, cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""}],"id":29092,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"32915:6:61","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":29094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32915:49:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29095,"nodeType":"ExpressionStatement","src":"32915:49:61"}]}},{"assignments":[29099],"declarations":[{"constant":false,"id":29099,"mutability":"mutable","name":"MAX_PAGINATION_SIZE","nameLocation":"33035:19:61","nodeType":"VariableDeclaration","scope":29213,"src":"33027:27:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29098,"name":"uint256","nodeType":"ElementaryTypeName","src":"33027:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29101,"initialValue":{"hexValue":"313030","id":29100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33057:3:61","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"33027:33:61"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29102,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29082,"src":"33136:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":29103,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29099,"src":"33143:19:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33136:26:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29120,"nodeType":"IfStatement","src":"33132:209:61","trueBody":{"id":29119,"nodeType":"Block","src":"33164:177:61","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652067726561746572207468616e20","id":29110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33223:53:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},"value":"GalaxyMember: Invalid size, cannot be greater than "},{"arguments":[{"id":29113,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29099,"src":"33295:19:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":29111,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"33278:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":29112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33286:8:61","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"33278:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":29114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33278:37:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":29108,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33206:3:61","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33210:12:61","memberName":"encodePacked","nodeType":"MemberAccess","src":"33206:16:61","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":29115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33206:110:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33188:6:61","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":29106,"name":"string","nodeType":"ElementaryTypeName","src":"33188:6:61","typeDescriptions":{}}},"id":29116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33188:138:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":29105,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"33172:6:61","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":29117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33172:162:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29118,"nodeType":"ExpressionStatement","src":"33172:162:61"}]}},{"assignments":[29122],"declarations":[{"constant":false,"id":29122,"mutability":"mutable","name":"balance","nameLocation":"33355:7:61","nodeType":"VariableDeclaration","scope":29213,"src":"33347:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29121,"name":"uint256","nodeType":"ElementaryTypeName","src":"33347:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29126,"initialValue":{"arguments":[{"id":29124,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29078,"src":"33375:5:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29123,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"33365:9:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":29125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33365:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33347:34:61"},{"assignments":[29128],"declarations":[{"constant":false,"id":29128,"mutability":"mutable","name":"start","nameLocation":"33502:5:61","nodeType":"VariableDeclaration","scope":29213,"src":"33494:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29127,"name":"uint256","nodeType":"ElementaryTypeName","src":"33494:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29132,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29129,"name":"page","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29080,"src":"33510:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":29130,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29082,"src":"33517:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33510:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33494:27:61"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29133,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29128,"src":"33613:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":29134,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29122,"src":"33622:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33613:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29144,"nodeType":"IfStatement","src":"33609:62:61","trueBody":{"id":29143,"nodeType":"Block","src":"33631:40:61","statements":[{"expression":{"arguments":[{"hexValue":"30","id":29140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33662:1:61","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":29139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33646:15:61","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMemberV2.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":29137,"nodeType":"UserDefinedTypeName","pathNode":{"id":29136,"name":"TokenInfo","nameLocations":["33650:9:61"],"nodeType":"IdentifierPath","referencedDeclaration":28997,"src":"33650:9:61"},"referencedDeclaration":28997,"src":"33650:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"}},"id":29138,"nodeType":"ArrayTypeName","src":"33650:11:61","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo[]"}}},"id":29141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33646:18:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory[] memory"}},"functionReturnParameters":29088,"id":29142,"nodeType":"Return","src":"33639:25:61"}]}},{"assignments":[29146],"declarations":[{"constant":false,"id":29146,"mutability":"mutable","name":"end","nameLocation":"33728:3:61","nodeType":"VariableDeclaration","scope":29213,"src":"33720:11:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29145,"name":"uint256","nodeType":"ElementaryTypeName","src":"33720:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29150,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29147,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29128,"src":"33734:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":29148,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29082,"src":"33742:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33734:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33720:26:61"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29151,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29146,"src":"33756:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":29152,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29122,"src":"33762:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33756:13:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29159,"nodeType":"IfStatement","src":"33752:106:61","trueBody":{"id":29158,"nodeType":"Block","src":"33771:87:61","statements":[{"expression":{"id":29156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29154,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29146,"src":"33779:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29155,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29122,"src":"33785:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33779:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29157,"nodeType":"ExpressionStatement","src":"33779:13:61"}]}},{"assignments":[29161],"declarations":[{"constant":false,"id":29161,"mutability":"mutable","name":"numTokens","nameLocation":"33920:9:61","nodeType":"VariableDeclaration","scope":29213,"src":"33912:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29160,"name":"uint256","nodeType":"ElementaryTypeName","src":"33912:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29165,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29162,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29146,"src":"33932:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":29163,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29128,"src":"33938:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33932:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33912:31:61"},{"assignments":[29170],"declarations":[{"constant":false,"id":29170,"mutability":"mutable","name":"tokens","nameLocation":"33969:6:61","nodeType":"VariableDeclaration","scope":29213,"src":"33950:25:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo[]"},"typeName":{"baseType":{"id":29168,"nodeType":"UserDefinedTypeName","pathNode":{"id":29167,"name":"TokenInfo","nameLocations":["33950:9:61"],"nodeType":"IdentifierPath","referencedDeclaration":28997,"src":"33950:9:61"},"referencedDeclaration":28997,"src":"33950:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"}},"id":29169,"nodeType":"ArrayTypeName","src":"33950:11:61","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo[]"}},"visibility":"internal"}],"id":29177,"initialValue":{"arguments":[{"id":29175,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29161,"src":"33994:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33978:15:61","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMemberV2.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":29172,"nodeType":"UserDefinedTypeName","pathNode":{"id":29171,"name":"TokenInfo","nameLocations":["33982:9:61"],"nodeType":"IdentifierPath","referencedDeclaration":28997,"src":"33982:9:61"},"referencedDeclaration":28997,"src":"33982:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"}},"id":29173,"nodeType":"ArrayTypeName","src":"33982:11:61","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo[]"}}},"id":29176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33978:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"33950:54:61"},{"body":{"id":29209,"nodeType":"Block","src":"34051:159:61","statements":[{"assignments":[29189],"declarations":[{"constant":false,"id":29189,"mutability":"mutable","name":"tokenIndex","nameLocation":"34067:10:61","nodeType":"VariableDeclaration","scope":29209,"src":"34059:18:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29188,"name":"uint256","nodeType":"ElementaryTypeName","src":"34059:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29193,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29190,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29128,"src":"34080:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":29191,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29179,"src":"34088:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34080:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34059:30:61"},{"assignments":[29195],"declarations":[{"constant":false,"id":29195,"mutability":"mutable","name":"tokenId","nameLocation":"34105:7:61","nodeType":"VariableDeclaration","scope":29209,"src":"34097:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29194,"name":"uint256","nodeType":"ElementaryTypeName","src":"34097:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29200,"initialValue":{"arguments":[{"id":29197,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29078,"src":"34135:5:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29198,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29189,"src":"34142:10:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29196,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"34115:19:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":29199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34115:38:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34097:56:61"},{"expression":{"id":29207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":29201,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29170,"src":"34161:6:61","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory[] memory"}},"id":29203,"indexExpression":{"id":29202,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29179,"src":"34168:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34161:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29205,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29195,"src":"34195:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29204,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29055,"src":"34173:21:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$28997_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMemberV2.TokenInfo memory)"}},"id":29206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34173:30:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory"}},"src":"34161:42:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory"}},"id":29208,"nodeType":"ExpressionStatement","src":"34161:42:61"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29182,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29179,"src":"34031:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":29183,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29161,"src":"34035:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34031:13:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29210,"initializationExpression":{"assignments":[29179],"declarations":[{"constant":false,"id":29179,"mutability":"mutable","name":"i","nameLocation":"34024:1:61","nodeType":"VariableDeclaration","scope":29210,"src":"34016:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29178,"name":"uint256","nodeType":"ElementaryTypeName","src":"34016:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29181,"initialValue":{"hexValue":"30","id":29180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34028:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34016:13:61"},"loopExpression":{"expression":{"id":29186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34046:3:61","subExpression":{"id":29185,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29179,"src":"34046:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29187,"nodeType":"ExpressionStatement","src":"34046:3:61"},"nodeType":"ForStatement","src":"34011:199:61"},{"expression":{"id":29211,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29170,"src":"34223:6:61","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo memory[] memory"}},"functionReturnParameters":29088,"id":29212,"nodeType":"Return","src":"34216:13:61"}]},"documentation":{"id":29076,"nodeType":"StructuredDocumentation","src":"32472:269:61","text":"@notice Gets the tokens owned by an address\n @param owner The address of the owner to check\n @param page The page number to fetch\n @param size The number of tokens to fetch (cannot exceed 100)\n @return TokenInfo[] The tokens owned by the address"},"functionSelector":"851f738e","id":29214,"implemented":true,"kind":"function","modifiers":[],"name":"getTokensInfoByOwner","nameLocation":"32753:20:61","nodeType":"FunctionDefinition","parameters":{"id":29083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29078,"mutability":"mutable","name":"owner","nameLocation":"32782:5:61","nodeType":"VariableDeclaration","scope":29214,"src":"32774:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29077,"name":"address","nodeType":"ElementaryTypeName","src":"32774:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29080,"mutability":"mutable","name":"page","nameLocation":"32797:4:61","nodeType":"VariableDeclaration","scope":29214,"src":"32789:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29079,"name":"uint256","nodeType":"ElementaryTypeName","src":"32789:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29082,"mutability":"mutable","name":"size","nameLocation":"32811:4:61","nodeType":"VariableDeclaration","scope":29214,"src":"32803:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29081,"name":"uint256","nodeType":"ElementaryTypeName","src":"32803:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32773:43:61"},"returnParameters":{"id":29088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29087,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29214,"src":"32838:18:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV2.TokenInfo[]"},"typeName":{"baseType":{"id":29085,"nodeType":"UserDefinedTypeName","pathNode":{"id":29084,"name":"TokenInfo","nameLocations":["32838:9:61"],"nodeType":"IdentifierPath","referencedDeclaration":28997,"src":"32838:9:61"},"referencedDeclaration":28997,"src":"32838:9:61","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$28997_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo"}},"id":29086,"nodeType":"ArrayTypeName","src":"32838:11:61","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$28997_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV2.TokenInfo[]"}},"visibility":"internal"}],"src":"32837:20:61"},"scope":29379,"src":"32744:1490:61","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[2685,3438,3727],"body":{"id":29323,"nodeType":"Block","src":"34795:876:61","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":29234,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29219,"src":"34827:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29233,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28949,"src":"34809:17:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":29235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34809:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":29236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34839:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34809:31:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2061206e6f64652c20646574616368206265666f7265207472616e73666572","id":29238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34842:64:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""},"value":"GalaxyMember: token attached to a node, detach before transfer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""}],"id":29232,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"34801:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34801:106:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29240,"nodeType":"ExpressionStatement","src":"34801:106:61"},{"assignments":[29242],"declarations":[{"constant":false,"id":29242,"mutability":"mutable","name":"_previousOwner","nameLocation":"34922:14:61","nodeType":"VariableDeclaration","scope":29323,"src":"34914:22:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29241,"name":"address","nodeType":"ElementaryTypeName","src":"34914:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":29249,"initialValue":{"arguments":[{"id":29245,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29217,"src":"34953:2:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29246,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29219,"src":"34957:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29247,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29221,"src":"34966:4:61","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":29243,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"34939:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV2_$29379_$","typeString":"type(contract super GalaxyMemberV2)"}},"id":29244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34945:7:61","memberName":"_update","nodeType":"MemberAccess","referencedDeclaration":3727,"src":"34939:13:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":29248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34939:32:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"34914:57:61"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":29261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29250,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29242,"src":"35040:14:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":29253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35066:1:61","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":29252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35058:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29251,"name":"address","nodeType":"ElementaryTypeName","src":"35058:7:61","typeDescriptions":{}}},"id":29254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35058:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"35040:28:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":29257,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29242,"src":"35082:14:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29256,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"35072:9:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":29258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35072:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":29259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35101:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35072:30:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"35040:62:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29270,"nodeType":"IfStatement","src":"35036:148:61","trueBody":{"id":29269,"nodeType":"Block","src":"35104:80:61","statements":[{"expression":{"id":29267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"35112:65:61","subExpression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":29262,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"35119:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":29263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35119:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":29264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35145:16:61","memberName":"_selectedTokenID","nodeType":"MemberAccess","referencedDeclaration":27210,"src":"35119:42:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":29266,"indexExpression":{"id":29265,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29242,"src":"35162:14:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35119:58:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29268,"nodeType":"ExpressionStatement","src":"35112:65:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":29288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":29282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29271,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29242,"src":"35286:14:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":29274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35312:1:61","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":29273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35304:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29272,"name":"address","nodeType":"ElementaryTypeName","src":"35304:7:61","typeDescriptions":{}}},"id":29275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35304:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"35286:28:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":29278,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29242,"src":"35337:14:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29277,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28662,"src":"35318:18:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":29279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35318:34:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":29280,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29219,"src":"35356:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35318:45:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"35286:77:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":29284,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29242,"src":"35377:14:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29283,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"35367:9:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":29285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35367:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":29286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35395:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35367:29:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"35286:110:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29298,"nodeType":"IfStatement","src":"35275:206:61","trueBody":{"id":29297,"nodeType":"Block","src":"35403:78:61","statements":[{"expression":{"arguments":[{"id":29290,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29242,"src":"35419:14:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":29292,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29242,"src":"35455:14:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":29293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35471:1:61","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"}],"id":29291,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"35435:19:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":29294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35435:38:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29289,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27872,"src":"35411:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":29295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35411:63:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29296,"nodeType":"ExpressionStatement","src":"35411:63:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":29310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29299,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29217,"src":"35545:2:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":29302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35559:1:61","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":29301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35551:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29300,"name":"address","nodeType":"ElementaryTypeName","src":"35551:7:61","typeDescriptions":{}}},"id":29303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35551:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"35545:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":29306,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29217,"src":"35575:2:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29305,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"35565:9:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":29307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35565:13:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":29308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35582:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35565:18:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"35545:38:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29320,"nodeType":"IfStatement","src":"35541:98:61","trueBody":{"id":29319,"nodeType":"Block","src":"35585:54:61","statements":[{"expression":{"arguments":[{"id":29312,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29217,"src":"35601:2:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":29314,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29217,"src":"35625:2:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":29315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35629:1:61","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"}],"id":29313,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"35605:19:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":29316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35605:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29311,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27872,"src":"35593:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":29317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35593:39:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29318,"nodeType":"ExpressionStatement","src":"35593:39:61"}]}},{"expression":{"id":29321,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29242,"src":"35652:14:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":29231,"id":29322,"nodeType":"Return","src":"35645:21:61"}]},"documentation":{"id":29215,"nodeType":"StructuredDocumentation","src":"34279:294:61","text":"@notice Performs automatic level updating upon token updates\n @dev Overrides the _update function to update the highest level owned by the owner\n @param to The address to transfer the token to\n @param tokenId The token ID to update\n @param auth The address of the sender"},"id":29324,"implemented":true,"kind":"function","modifiers":[{"id":29228,"kind":"modifierInvocation","modifierName":{"id":29227,"name":"whenNotPaused","nameLocations":["34757:13:61"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"34757:13:61"},"nodeType":"ModifierInvocation","src":"34757:13:61"}],"name":"_update","nameLocation":"34585:7:61","nodeType":"FunctionDefinition","overrides":{"id":29226,"nodeType":"OverrideSpecifier","overrides":[{"id":29223,"name":"ERC721Upgradeable","nameLocations":["34678:17:61"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"34678:17:61"},{"id":29224,"name":"ERC721EnumerableUpgradeable","nameLocations":["34697:27:61"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"34697:27:61"},{"id":29225,"name":"ERC721PausableUpgradeable","nameLocations":["34726:25:61"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"34726:25:61"}],"src":"34669:83:61"},"parameters":{"id":29222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29217,"mutability":"mutable","name":"to","nameLocation":"34606:2:61","nodeType":"VariableDeclaration","scope":29324,"src":"34598:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29216,"name":"address","nodeType":"ElementaryTypeName","src":"34598:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29219,"mutability":"mutable","name":"tokenId","nameLocation":"34622:7:61","nodeType":"VariableDeclaration","scope":29324,"src":"34614:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29218,"name":"uint256","nodeType":"ElementaryTypeName","src":"34614:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29221,"mutability":"mutable","name":"auth","nameLocation":"34643:4:61","nodeType":"VariableDeclaration","scope":29324,"src":"34635:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29220,"name":"address","nodeType":"ElementaryTypeName","src":"34635:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34592:59:61"},"returnParameters":{"id":29231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29324,"src":"34784:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29229,"name":"address","nodeType":"ElementaryTypeName","src":"34784:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34783:9:61"},"scope":29379,"src":"34576:1095:61","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[2583,3673],"body":{"id":29342,"nodeType":"Block","src":"35907:49:61","statements":[{"expression":{"arguments":[{"id":29338,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29327,"src":"35936:7:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29339,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29329,"src":"35945:5:61","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":29335,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"35913:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV2_$29379_$","typeString":"type(contract super GalaxyMemberV2)"}},"id":29337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35919:16:61","memberName":"_increaseBalance","nodeType":"MemberAccess","referencedDeclaration":3673,"src":"35913:22:61","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint128_$returns$__$","typeString":"function (address,uint128)"}},"id":29340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35913:38:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29341,"nodeType":"ExpressionStatement","src":"35913:38:61"}]},"documentation":{"id":29325,"nodeType":"StructuredDocumentation","src":"35675:93:61","text":"@dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable"},"id":29343,"implemented":true,"kind":"function","modifiers":[],"name":"_increaseBalance","nameLocation":"35780:16:61","nodeType":"FunctionDefinition","overrides":{"id":29333,"nodeType":"OverrideSpecifier","overrides":[{"id":29331,"name":"ERC721Upgradeable","nameLocations":["35859:17:61"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"35859:17:61"},{"id":29332,"name":"ERC721EnumerableUpgradeable","nameLocations":["35878:27:61"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"35878:27:61"}],"src":"35850:56:61"},"parameters":{"id":29330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29327,"mutability":"mutable","name":"account","nameLocation":"35810:7:61","nodeType":"VariableDeclaration","scope":29343,"src":"35802:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29326,"name":"address","nodeType":"ElementaryTypeName","src":"35802:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29329,"mutability":"mutable","name":"value","nameLocation":"35831:5:61","nodeType":"VariableDeclaration","scope":29343,"src":"35823:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":29328,"name":"uint128","nodeType":"ElementaryTypeName","src":"35823:7:61","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"35796:44:61"},"returnParameters":{"id":29334,"nodeType":"ParameterList","parameters":[],"src":"35907:0:61"},"scope":29379,"src":"35771:185:61","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[91,2158,3282],"body":{"id":29360,"nodeType":"Block","src":"36249:54:61","statements":[{"expression":{"arguments":[{"id":29357,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29346,"src":"36286:11:61","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":29355,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"36262:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV2_$29379_$","typeString":"type(contract super GalaxyMemberV2)"}},"id":29356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36268:17:61","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":91,"src":"36262:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":29358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36262:36:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29354,"id":29359,"nodeType":"Return","src":"36255:43:61"}]},"documentation":{"id":29344,"nodeType":"StructuredDocumentation","src":"35960:121:61","text":"@dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable"},"functionSelector":"01ffc9a7","id":29361,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"36093:17:61","nodeType":"FunctionDefinition","overrides":{"id":29351,"nodeType":"OverrideSpecifier","overrides":[{"id":29348,"name":"ERC721Upgradeable","nameLocations":["36160:17:61"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"36160:17:61"},{"id":29349,"name":"ERC721EnumerableUpgradeable","nameLocations":["36179:27:61"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"36179:27:61"},{"id":29350,"name":"AccessControlUpgradeable","nameLocations":["36208:24:61"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"36208:24:61"}],"src":"36151:82:61"},"parameters":{"id":29347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29346,"mutability":"mutable","name":"interfaceId","nameLocation":"36123:11:61","nodeType":"VariableDeclaration","scope":29361,"src":"36116:18:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29345,"name":"bytes4","nodeType":"ElementaryTypeName","src":"36116:6:61","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"36110:28:61"},"returnParameters":{"id":29354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29353,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29361,"src":"36243:4:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29352,"name":"bool","nodeType":"ElementaryTypeName","src":"36243:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36242:6:61"},"scope":29379,"src":"36084:219:61","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[2283],"body":{"id":29377,"nodeType":"Block","src":"36440:96:61","statements":[{"assignments":[29370],"declarations":[{"constant":false,"id":29370,"mutability":"mutable","name":"$","nameLocation":"36474:1:61","nodeType":"VariableDeclaration","scope":29377,"src":"36446:29:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"},"typeName":{"id":29369,"nodeType":"UserDefinedTypeName","pathNode":{"id":29368,"name":"GalaxyMemberStorage","nameLocations":["36446:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":27211,"src":"36446:19:61"},"referencedDeclaration":27211,"src":"36446:19:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage"}},"visibility":"internal"}],"id":29373,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29371,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27224,"src":"36478:23:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$27211_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV2.GalaxyMemberStorage storage pointer)"}},"id":29372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36478:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"36446:57:61"},{"expression":{"expression":{"id":29374,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29370,"src":"36516:1:61","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$27211_storage_ptr","typeString":"struct GalaxyMemberV2.GalaxyMemberStorage storage pointer"}},"id":29375,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36518:13:61","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":27159,"src":"36516:15:61","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":29367,"id":29376,"nodeType":"Return","src":"36509:22:61"}]},"documentation":{"id":29362,"nodeType":"StructuredDocumentation","src":"36307:63:61","text":"@dev Overrides the _baseURI for ERC721URIStorageUpgradeable"},"id":29378,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"36382:8:61","nodeType":"FunctionDefinition","overrides":{"id":29364,"nodeType":"OverrideSpecifier","overrides":[],"src":"36407:8:61"},"parameters":{"id":29363,"nodeType":"ParameterList","parameters":[],"src":"36390:2:61"},"returnParameters":{"id":29367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29378,"src":"36425:13:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29365,"name":"string","nodeType":"ElementaryTypeName","src":"36425:6:61","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36424:15:61"},"scope":29379,"src":"36373:163:61","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":29380,"src":"3544:32994:61","usedErrors":[1495,1498,1759,1764,3243,3246,4026,4029,4194,4342,4345,4614,4619,4628,4633,4638,4645,4650,4655,4738,4751,5344,5347],"usedEvents":[1503,4018,4023,4354,4363,4372,4717,5152,5161,5170,27231,27240,27247,27254,27261,27268,27274,27279,27286,27293]}],"src":"1195:35344:61"},"id":61},"contracts/deprecated/V2/GrantsManagerV2.sol":{"ast":{"absolutePath":"contracts/deprecated/V2/GrantsManagerV2.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"GovernorProposalLogic":[60252],"GovernorStateLogic":[61096],"GovernorTypes":[61442],"GrantsManagerV2":[31377],"IB3TR":[62888],"IB3TRGovernor":[63919],"IGrantsManagerV2":[32524],"ITreasury":[67241],"PausableUpgradeable":[4163],"ReentrancyGuardUpgradeable":[4292],"UUPSUpgradeable":[1914]},"id":31378,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":29381,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:62"},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":29383,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":63920,"src":"1220:67:62","symbolAliases":[{"foreign":{"id":29382,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"1229:13:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/ITreasury.sol","file":"../../interfaces/ITreasury.sol","id":29385,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":67242,"src":"1288:59:62","symbolAliases":[{"foreign":{"id":29384,"name":"ITreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67241,"src":"1297:9:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":29387,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":62889,"src":"1348:51:62","symbolAliases":[{"foreign":{"id":29386,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"1357:5:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V2/interfaces/IGrantsManagerV2.sol","file":"./interfaces/IGrantsManagerV2.sol","id":29389,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":32525,"src":"1400:69:62","symbolAliases":[{"foreign":{"id":29388,"name":"IGrantsManagerV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32524,"src":"1409:16:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":29391,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":363,"src":"1470:115:62","symbolAliases":[{"foreign":{"id":29390,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"1479:24:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","id":29393,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":4164,"src":"1586:104:62","symbolAliases":[{"foreign":{"id":29392,"name":"PausableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4163,"src":"1595:19:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":29395,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":4293,"src":"1691:118:62","symbolAliases":[{"foreign":{"id":29394,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4292,"src":"1700:26:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":29397,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":1915,"src":"1810:102:62","symbolAliases":[{"foreign":{"id":29396,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1914,"src":"1819:15:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStateLogic.sol","file":"../../governance/libraries/GovernorStateLogic.sol","id":29399,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":61097,"src":"1913:87:62","symbolAliases":[{"foreign":{"id":29398,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"1922:18:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorProposalLogic.sol","file":"../../governance/libraries/GovernorProposalLogic.sol","id":29401,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":60253,"src":"2001:93:62","symbolAliases":[{"foreign":{"id":29400,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"2010:21:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"../../governance/libraries/GovernorTypes.sol","id":29403,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31378,"sourceUnit":61443,"src":"2095:77:62","symbolAliases":[{"foreign":{"id":29402,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"2104:13:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":29405,"name":"IGrantsManagerV2","nameLocations":["2328:16:62"],"nodeType":"IdentifierPath","referencedDeclaration":32524,"src":"2328:16:62"},"id":29406,"nodeType":"InheritanceSpecifier","src":"2328:16:62"},{"baseName":{"id":29407,"name":"AccessControlUpgradeable","nameLocations":["2348:24:62"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"2348:24:62"},"id":29408,"nodeType":"InheritanceSpecifier","src":"2348:24:62"},{"baseName":{"id":29409,"name":"PausableUpgradeable","nameLocations":["2376:19:62"],"nodeType":"IdentifierPath","referencedDeclaration":4163,"src":"2376:19:62"},"id":29410,"nodeType":"InheritanceSpecifier","src":"2376:19:62"},{"baseName":{"id":29411,"name":"ReentrancyGuardUpgradeable","nameLocations":["2399:26:62"],"nodeType":"IdentifierPath","referencedDeclaration":4292,"src":"2399:26:62"},"id":29412,"nodeType":"InheritanceSpecifier","src":"2399:26:62"},{"baseName":{"id":29413,"name":"UUPSUpgradeable","nameLocations":["2429:15:62"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"2429:15:62"},"id":29414,"nodeType":"InheritanceSpecifier","src":"2429:15:62"}],"canonicalName":"GrantsManagerV2","contractDependencies":[],"contractKind":"contract","documentation":{"id":29404,"nodeType":"StructuredDocumentation","src":"2173:124:62","text":" @title GrantsManagerV2\n @notice Frozen copy of GrantsManager at version 2 — preserved for upgrade tests only."},"fullyImplemented":true,"id":31377,"linearizedBaseContracts":[31377,1914,4566,4292,4163,362,4332,5961,4415,3987,1732,32524],"name":"GrantsManagerV2","nameLocation":"2307:15:62","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"f36c8f5c","id":29419,"mutability":"constant","name":"GOVERNANCE_ROLE","nameLocation":"2525:15:62","nodeType":"VariableDeclaration","scope":31377,"src":"2501:70:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2501:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"474f5645524e414e43455f524f4c45","id":29417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2553:17:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""},"value":"GOVERNANCE_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""}],"id":29416,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2543:9:62","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2543:28:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"f72c0d8b","id":29424,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"2599:13:62","nodeType":"VariableDeclaration","scope":31377,"src":"2575:66:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2575:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":29422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2625:15:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":29421,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2615:9:62","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2615:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"3f36cd7f","id":29429,"mutability":"constant","name":"GRANTS_APPROVER_ROLE","nameLocation":"2669:20:62","nodeType":"VariableDeclaration","scope":31377,"src":"2645:80:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2645:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4752414e54535f415050524f5645525f524f4c45","id":29427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2702:22:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_47aa345c1c0453f4ea63d2f908a9cb372d89b5a419b982b903f655cfc8fb9956","typeString":"literal_string \"GRANTS_APPROVER_ROLE\""},"value":"GRANTS_APPROVER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_47aa345c1c0453f4ea63d2f908a9cb372d89b5a419b982b903f655cfc8fb9956","typeString":"literal_string \"GRANTS_APPROVER_ROLE\""}],"id":29426,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2692:9:62","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2692:33:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"21afd1f6","id":29434,"mutability":"constant","name":"GRANTS_REJECTOR_ROLE","nameLocation":"2753:20:62","nodeType":"VariableDeclaration","scope":31377,"src":"2729:80:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29430,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2729:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4752414e54535f52454a4543544f525f524f4c45","id":29432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2786:22:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_c30f7ed76aad52e1db9d4574c81f8eeb708f6974b7f45424a3f1b7394c2885e1","typeString":"literal_string \"GRANTS_REJECTOR_ROLE\""},"value":"GRANTS_REJECTOR_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c30f7ed76aad52e1db9d4574c81f8eeb708f6974b7f45424a3f1b7394c2885e1","typeString":"literal_string \"GRANTS_REJECTOR_ROLE\""}],"id":29431,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2776:9:62","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2776:33:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":29439,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"2837:11:62","nodeType":"VariableDeclaration","scope":31377,"src":"2813:62:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29435,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2813:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":29437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2861:13:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":29436,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2851:9:62","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2851:24:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"GrantsManagerV2.GrantsManagerStorage","documentation":{"id":29440,"nodeType":"StructuredDocumentation","src":"2945:113:62","text":"@notice Storage structure for GrantsManager\n @custom:storage-location erc7201:b3tr.storage.GrantsManager"},"id":29457,"members":[{"constant":false,"id":29445,"mutability":"mutable","name":"grant","nameLocation":"3154:5:62","nodeType":"VariableDeclaration","scope":29457,"src":"3095:64:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal)"},"typeName":{"id":29444,"keyName":"proposalId","keyNameLocation":"3111:10:62","keyType":{"id":29441,"name":"uint256","nodeType":"ElementaryTypeName","src":"3103:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3095:58:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal)"},"valueName":"grantProposal","valueNameLocation":"3139:13:62","valueType":{"id":29443,"nodeType":"UserDefinedTypeName","pathNode":{"id":29442,"name":"GrantProposal","nameLocations":["3125:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"3125:13:62"},"referencedDeclaration":32304,"src":"3125:13:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}}},"visibility":"internal"},{"constant":false,"id":29448,"mutability":"mutable","name":"governor","nameLocation":"3179:8:62","nodeType":"VariableDeclaration","scope":29457,"src":"3165:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":29447,"nodeType":"UserDefinedTypeName","pathNode":{"id":29446,"name":"IB3TRGovernor","nameLocations":["3165:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"3165:13:62"},"referencedDeclaration":63919,"src":"3165:13:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"},{"constant":false,"id":29451,"mutability":"mutable","name":"treasury","nameLocation":"3203:8:62","nodeType":"VariableDeclaration","scope":29457,"src":"3193:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"},"typeName":{"id":29450,"nodeType":"UserDefinedTypeName","pathNode":{"id":29449,"name":"ITreasury","nameLocations":["3193:9:62"],"nodeType":"IdentifierPath","referencedDeclaration":67241,"src":"3193:9:62"},"referencedDeclaration":67241,"src":"3193:9:62","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"visibility":"internal"},{"constant":false,"id":29454,"mutability":"mutable","name":"b3tr","nameLocation":"3223:4:62","nodeType":"VariableDeclaration","scope":29457,"src":"3217:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":29453,"nodeType":"UserDefinedTypeName","pathNode":{"id":29452,"name":"IB3TR","nameLocations":["3217:5:62"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"3217:5:62"},"referencedDeclaration":62888,"src":"3217:5:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":29456,"mutability":"mutable","name":"minimumMilestoneCount","nameLocation":"3241:21:62","nodeType":"VariableDeclaration","scope":29457,"src":"3233:29:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29455,"name":"uint256","nodeType":"ElementaryTypeName","src":"3233:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"GrantsManagerStorage","nameLocation":"3068:20:62","nodeType":"StructDefinition","scope":31377,"src":"3061:206:62","visibility":"public"},{"constant":true,"id":29460,"mutability":"constant","name":"GrantsManagerStorageLocation","nameLocation":"3403:28:62","nodeType":"VariableDeclaration","scope":31377,"src":"3378:126:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3378:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307838323765663761353836333430613061666439646634643130646364343765333565653230353732646263393538333033313166636238323834363036643030","id":29459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3438:66:62","typeDescriptions":{"typeIdentifier":"t_rational_59025002239858819044372668613102776958087395528514654209242387424769331981568_by_1","typeString":"int_const 5902...(69 digits omitted)...1568"},"value":"0x827ef7a586340a0afd9df4d10dcd47e35ee20572dbc95830311fcb8284606d00"},"visibility":"private"},{"body":{"id":29467,"nodeType":"Block","src":"3599:71:62","statements":[{"AST":{"nodeType":"YulBlock","src":"3614:52:62","statements":[{"nodeType":"YulAssignment","src":"3622:38:62","value":{"name":"GrantsManagerStorageLocation","nodeType":"YulIdentifier","src":"3632:28:62"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"3622:6:62"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":29464,"isOffset":false,"isSlot":true,"src":"3622:6:62","suffix":"slot","valueSize":1},{"declaration":29460,"isOffset":false,"isSlot":false,"src":"3632:28:62","valueSize":1}],"id":29466,"nodeType":"InlineAssembly","src":"3605:61:62"}]},"id":29468,"implemented":true,"kind":"function","modifiers":[],"name":"_getGrantsManagerStorage","nameLocation":"3518:24:62","nodeType":"FunctionDefinition","parameters":{"id":29461,"nodeType":"ParameterList","parameters":[],"src":"3542:2:62"},"returnParameters":{"id":29465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29464,"mutability":"mutable","name":"$","nameLocation":"3596:1:62","nodeType":"VariableDeclaration","scope":29468,"src":"3567:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":29463,"nodeType":"UserDefinedTypeName","pathNode":{"id":29462,"name":"GrantsManagerStorage","nameLocations":["3567:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"3567:20:62"},"referencedDeclaration":29457,"src":"3567:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"src":"3566:32:62"},"scope":31377,"src":"3509:161:62","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":29475,"nodeType":"Block","src":"3800:33:62","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":29472,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"3806:20:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":29473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3806:22:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29474,"nodeType":"ExpressionStatement","src":"3806:22:62"}]},"documentation":{"id":29469,"nodeType":"StructuredDocumentation","src":"3735:48:62","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":29476,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":29470,"nodeType":"ParameterList","parameters":[],"src":"3797:2:62"},"returnParameters":{"id":29471,"nodeType":"ParameterList","parameters":[],"src":"3800:0:62"},"scope":31377,"src":"3786:47:62","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":29596,"nodeType":"Block","src":"4009:801:62","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29492,"name":"_governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29478,"src":"4023:9:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":29495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4044:1:62","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":29494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4036:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29493,"name":"address","nodeType":"ElementaryTypeName","src":"4036:7:62","typeDescriptions":{}}},"id":29496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:10:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4023:23:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f7220616464726573732063616e6e6f742062652030","id":29498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4048:30:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6","typeString":"literal_string \"Governor address cannot be 0\""},"value":"Governor address cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6","typeString":"literal_string \"Governor address cannot be 0\""}],"id":29491,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4015:7:62","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4015:64:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29500,"nodeType":"ExpressionStatement","src":"4015:64:62"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29502,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29480,"src":"4093:9:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":29505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4114:1:62","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":29504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4106:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29503,"name":"address","nodeType":"ElementaryTypeName","src":"4106:7:62","typeDescriptions":{}}},"id":29506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4106:10:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4093:23:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"547265617375727920616464726573732063616e6e6f742062652030","id":29508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4118:30:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8","typeString":"literal_string \"Treasury address cannot be 0\""},"value":"Treasury address cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8","typeString":"literal_string \"Treasury address cannot be 0\""}],"id":29501,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4085:7:62","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4085:64:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29510,"nodeType":"ExpressionStatement","src":"4085:64:62"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29512,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29484,"src":"4163:5:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":29515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4180:1:62","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":29514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4172:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29513,"name":"address","nodeType":"ElementaryTypeName","src":"4172:7:62","typeDescriptions":{}}},"id":29516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:10:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4163:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4233545220616464726573732063616e6e6f742062652030","id":29518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4184:26:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a","typeString":"literal_string \"B3TR address cannot be 0\""},"value":"B3TR address cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a","typeString":"literal_string \"B3TR address cannot be 0\""}],"id":29511,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4155:7:62","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4155:56:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29520,"nodeType":"ExpressionStatement","src":"4155:56:62"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29522,"name":"defaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29482,"src":"4225:12:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":29525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4249:1:62","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":29524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4241:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29523,"name":"address","nodeType":"ElementaryTypeName","src":"4241:7:62","typeDescriptions":{}}},"id":29526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4241:10:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4225:26:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"44656661756c742061646d696e20616464726573732063616e6e6f742062652030","id":29528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4253:35:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b","typeString":"literal_string \"Default admin address cannot be 0\""},"value":"Default admin address cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b","typeString":"literal_string \"Default admin address cannot be 0\""}],"id":29521,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4217:7:62","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4217:72:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29530,"nodeType":"ExpressionStatement","src":"4217:72:62"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29532,"name":"_minimumMilestoneCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29486,"src":"4303:22:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":29533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4328:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4303:26:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d696e696d756d206d696c6573746f6e6520636f756e742063616e6e6f742062652030","id":29535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4331:37:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700","typeString":"literal_string \"Minimum milestone count cannot be 0\""},"value":"Minimum milestone count cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700","typeString":"literal_string \"Minimum milestone count cannot be 0\""}],"id":29531,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4295:7:62","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4295:74:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29537,"nodeType":"ExpressionStatement","src":"4295:74:62"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":29538,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"4376:22:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":29539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4376:24:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29540,"nodeType":"ExpressionStatement","src":"4376:24:62"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":29541,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"4406:20:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":29542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4406:22:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29543,"nodeType":"ExpressionStatement","src":"4406:22:62"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":29544,"name":"__Pausable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4039,"src":"4434:15:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":29545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4434:17:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29546,"nodeType":"ExpressionStatement","src":"4434:17:62"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":29547,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4203,"src":"4457:22:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":29548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4457:24:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29549,"nodeType":"ExpressionStatement","src":"4457:24:62"},{"expression":{"arguments":[{"id":29551,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"4499:18:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":29552,"name":"defaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29482,"src":"4519:12:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29550,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"4488:10:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":29553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4488:44:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29554,"nodeType":"ExpressionStatement","src":"4488:44:62"},{"expression":{"arguments":[{"id":29556,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29419,"src":"4549:15:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":29557,"name":"_governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29478,"src":"4566:9:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29555,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"4538:10:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":29558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:38:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29559,"nodeType":"ExpressionStatement","src":"4538:38:62"},{"assignments":[29562],"declarations":[{"constant":false,"id":29562,"mutability":"mutable","name":"$","nameLocation":"4612:1:62","nodeType":"VariableDeclaration","scope":29596,"src":"4583:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":29561,"nodeType":"UserDefinedTypeName","pathNode":{"id":29560,"name":"GrantsManagerStorage","nameLocations":["4583:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"4583:20:62"},"referencedDeclaration":29457,"src":"4583:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":29565,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29563,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"4616:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":29564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4616:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4583:59:62"},{"expression":{"id":29572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29566,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29562,"src":"4648:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":29568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4650:8:62","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":29448,"src":"4648:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29570,"name":"_governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29478,"src":"4675:9:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29569,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"4661:13:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":29571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4661:24:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"4648:37:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":29573,"nodeType":"ExpressionStatement","src":"4648:37:62"},{"expression":{"id":29580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29574,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29562,"src":"4691:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":29576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4693:8:62","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":29451,"src":"4691:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29578,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29480,"src":"4714:9:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29577,"name":"ITreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67241,"src":"4704:9:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITreasury_$67241_$","typeString":"type(contract ITreasury)"}},"id":29579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4704:20:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"src":"4691:33:62","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"id":29581,"nodeType":"ExpressionStatement","src":"4691:33:62"},{"expression":{"id":29588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29582,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29562,"src":"4730:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":29584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4732:4:62","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":29454,"src":"4730:6:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29586,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29484,"src":"4745:5:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29585,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"4739:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":29587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4739:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"4730:21:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":29589,"nodeType":"ExpressionStatement","src":"4730:21:62"},{"expression":{"id":29594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29590,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29562,"src":"4757:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":29592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4759:21:62","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":29456,"src":"4757:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29593,"name":"_minimumMilestoneCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29486,"src":"4783:22:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4757:48:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29595,"nodeType":"ExpressionStatement","src":"4757:48:62"}]},"functionSelector":"f7013ef6","id":29597,"implemented":true,"kind":"function","modifiers":[{"id":29489,"kind":"modifierInvocation","modifierName":{"id":29488,"name":"initializer","nameLocations":["3997:11:62"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"3997:11:62"},"nodeType":"ModifierInvocation","src":"3997:11:62"}],"name":"initialize","nameLocation":"3846:10:62","nodeType":"FunctionDefinition","parameters":{"id":29487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29478,"mutability":"mutable","name":"_governor","nameLocation":"3870:9:62","nodeType":"VariableDeclaration","scope":29597,"src":"3862:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29477,"name":"address","nodeType":"ElementaryTypeName","src":"3862:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29480,"mutability":"mutable","name":"_treasury","nameLocation":"3893:9:62","nodeType":"VariableDeclaration","scope":29597,"src":"3885:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29479,"name":"address","nodeType":"ElementaryTypeName","src":"3885:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29482,"mutability":"mutable","name":"defaultAdmin","nameLocation":"3916:12:62","nodeType":"VariableDeclaration","scope":29597,"src":"3908:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29481,"name":"address","nodeType":"ElementaryTypeName","src":"3908:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29484,"mutability":"mutable","name":"_b3tr","nameLocation":"3942:5:62","nodeType":"VariableDeclaration","scope":29597,"src":"3934:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29483,"name":"address","nodeType":"ElementaryTypeName","src":"3934:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29486,"mutability":"mutable","name":"_minimumMilestoneCount","nameLocation":"3961:22:62","nodeType":"VariableDeclaration","scope":29597,"src":"3953:30:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29485,"name":"uint256","nodeType":"ElementaryTypeName","src":"3953:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3856:131:62"},"returnParameters":{"id":29490,"nodeType":"ParameterList","parameters":[],"src":"4009:0:62"},"scope":31377,"src":"3837:973:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":29624,"nodeType":"Block","src":"4907:211:62","statements":[{"assignments":[29601],"declarations":[{"constant":false,"id":29601,"mutability":"mutable","name":"$","nameLocation":"4942:1:62","nodeType":"VariableDeclaration","scope":29624,"src":"4913:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":29600,"nodeType":"UserDefinedTypeName","pathNode":{"id":29599,"name":"GrantsManagerStorage","nameLocations":["4913:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"4913:20:62"},"referencedDeclaration":29457,"src":"4913:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":29604,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29602,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"4946:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":29603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4946:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4913:59:62"},{"condition":{"id":29617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4982:86:62","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":29615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":29606,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"4992:18:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":29607,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5012:10:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":29608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5012:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29605,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"4984:7:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":29609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4984:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":29611,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29419,"src":"5037:15:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":29612,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5054:10:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":29613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5054:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29610,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5029:7:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":29614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5029:38:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4984:83:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":29616,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4983:85:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29622,"nodeType":"IfStatement","src":"4978:129:62","trueBody":{"id":29621,"nodeType":"Block","src":"5070:37:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":29618,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32204,"src":"5085:13:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":29619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5085:15:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29620,"nodeType":"RevertStatement","src":"5078:22:62"}]}},{"id":29623,"nodeType":"PlaceholderStatement","src":"5112:1:62"}]},"id":29625,"name":"onlyAdminOrGovernanceRole","nameLocation":"4879:25:62","nodeType":"ModifierDefinition","parameters":{"id":29598,"nodeType":"ParameterList","parameters":[],"src":"4904:2:62"},"src":"4870:248:62","virtual":false,"visibility":"internal"},{"body":{"id":29654,"nodeType":"Block","src":"5166:197:62","statements":[{"assignments":[29631],"declarations":[{"constant":false,"id":29631,"mutability":"mutable","name":"$","nameLocation":"5201:1:62","nodeType":"VariableDeclaration","scope":29654,"src":"5172:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":29630,"nodeType":"UserDefinedTypeName","pathNode":{"id":29629,"name":"GrantsManagerStorage","nameLocations":["5172:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"5172:20:62"},"referencedDeclaration":29457,"src":"5172:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":29634,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29632,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"5205:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":29633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5205:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5172:59:62"},{"condition":{"id":29647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5241:72:62","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":29645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":29636,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29627,"src":"5251:4:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":29637,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5257:10:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":29638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5257:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29635,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5243:7:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":29639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5243:27:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":29641,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29419,"src":"5282:15:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":29642,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5299:10:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":29643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5299:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29640,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5274:7:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":29644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5274:38:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5243:69:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":29646,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5242:71:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29652,"nodeType":"IfStatement","src":"5237:115:62","trueBody":{"id":29651,"nodeType":"Block","src":"5315:37:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":29648,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32204,"src":"5330:13:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":29649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5330:15:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29650,"nodeType":"RevertStatement","src":"5323:22:62"}]}},{"id":29653,"nodeType":"PlaceholderStatement","src":"5357:1:62"}]},"id":29655,"name":"onlyRoleOrGovernance","nameLocation":"5131:20:62","nodeType":"ModifierDefinition","parameters":{"id":29628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29627,"mutability":"mutable","name":"role","nameLocation":"5160:4:62","nodeType":"VariableDeclaration","scope":29655,"src":"5152:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5152:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5151:14:62"},"src":"5122:241:62","virtual":false,"visibility":"internal"},{"body":{"id":29676,"nodeType":"Block","src":"5391:166:62","statements":[{"assignments":[29659],"declarations":[{"constant":false,"id":29659,"mutability":"mutable","name":"$","nameLocation":"5426:1:62","nodeType":"VariableDeclaration","scope":29676,"src":"5397:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":29658,"nodeType":"UserDefinedTypeName","pathNode":{"id":29657,"name":"GrantsManagerStorage","nameLocations":["5397:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"5397:20:62"},"referencedDeclaration":29457,"src":"5397:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":29662,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29660,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"5430:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":29661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5430:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5397:59:62"},{"condition":{"id":29669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5466:41:62","subExpression":{"components":[{"arguments":[{"id":29664,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29419,"src":"5476:15:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":29665,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5493:10:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":29666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5493:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29663,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5468:7:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":29667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5468:38:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":29668,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5467:40:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29674,"nodeType":"IfStatement","src":"5462:84:62","trueBody":{"id":29673,"nodeType":"Block","src":"5509:37:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":29670,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32204,"src":"5524:13:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":29671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5524:15:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29672,"nodeType":"RevertStatement","src":"5517:22:62"}]}},{"id":29675,"nodeType":"PlaceholderStatement","src":"5551:1:62"}]},"id":29677,"name":"onlyGovernor","nameLocation":"5376:12:62","nodeType":"ModifierDefinition","parameters":{"id":29656,"nodeType":"ParameterList","parameters":[],"src":"5388:2:62"},"src":"5367:190:62","virtual":false,"visibility":"internal"},{"body":{"id":29709,"nodeType":"Block","src":"5620:220:62","statements":[{"assignments":[29683],"declarations":[{"constant":false,"id":29683,"mutability":"mutable","name":"$","nameLocation":"5655:1:62","nodeType":"VariableDeclaration","scope":29709,"src":"5626:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":29682,"nodeType":"UserDefinedTypeName","pathNode":{"id":29681,"name":"GrantsManagerStorage","nameLocations":["5626:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"5626:20:62"},"referencedDeclaration":29457,"src":"5626:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":29686,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29684,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"5659:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":29685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5659:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5626:59:62"},{"condition":{"id":29702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5695:95:62","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":29700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":29688,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29419,"src":"5705:15:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":29689,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5722:10:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":29690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5722:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29687,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"5697:7:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":29691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:38:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":29692,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5739:10:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":29693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5739:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"expression":{"id":29694,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29683,"src":"5755:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":29695,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5757:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"5755:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":29697,"indexExpression":{"id":29696,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29679,"src":"5763:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5755:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":29698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5775:14:62","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":32297,"src":"5755:34:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5739:50:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5697:92:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":29701,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5696:94:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29707,"nodeType":"IfStatement","src":"5691:138:62","trueBody":{"id":29706,"nodeType":"Block","src":"5792:37:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":29703,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32204,"src":"5807:13:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":29704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5807:15:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29705,"nodeType":"RevertStatement","src":"5800:22:62"}]}},{"id":29708,"nodeType":"PlaceholderStatement","src":"5834:1:62"}]},"id":29710,"name":"onlyGrantsReceiverOrGovernance","nameLocation":"5569:30:62","nodeType":"ModifierDefinition","parameters":{"id":29680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29679,"mutability":"mutable","name":"proposalId","nameLocation":"5608:10:62","nodeType":"VariableDeclaration","scope":29710,"src":"5600:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29678,"name":"uint256","nodeType":"ElementaryTypeName","src":"5600:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5599:20:62"},"src":"5560:280:62","virtual":false,"visibility":"internal"},{"baseFunctions":[32319],"body":{"id":29919,"nodeType":"Block","src":"6429:1485:62","statements":[{"assignments":[29731],"declarations":[{"constant":false,"id":29731,"mutability":"mutable","name":"$","nameLocation":"6464:1:62","nodeType":"VariableDeclaration","scope":29919,"src":"6435:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":29730,"nodeType":"UserDefinedTypeName","pathNode":{"id":29729,"name":"GrantsManagerStorage","nameLocations":["6435:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"6435:20:62"},"referencedDeclaration":29457,"src":"6435:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":29734,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29732,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"6468:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":29733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6468:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6435:59:62"},{"assignments":[29737],"declarations":[{"constant":false,"id":29737,"mutability":"mutable","name":"m","nameLocation":"6523:1:62","nodeType":"VariableDeclaration","scope":29919,"src":"6501:23:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"},"typeName":{"id":29736,"nodeType":"UserDefinedTypeName","pathNode":{"id":29735,"name":"GrantProposal","nameLocations":["6501:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"6501:13:62"},"referencedDeclaration":32304,"src":"6501:13:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}},"visibility":"internal"}],"id":29742,"initialValue":{"baseExpression":{"expression":{"id":29738,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"6527:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":29739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6529:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"6527:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":29741,"indexExpression":{"id":29740,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29715,"src":"6535:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6527:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6501:45:62"},{"assignments":[29744],"declarations":[{"constant":false,"id":29744,"mutability":"mutable","name":"totalAmount","nameLocation":"6560:11:62","nodeType":"VariableDeclaration","scope":29919,"src":"6552:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29743,"name":"uint256","nodeType":"ElementaryTypeName","src":"6552:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29746,"initialValue":{"hexValue":"30","id":29745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6574:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6552:23:62"},{"body":{"id":29869,"nodeType":"Block","src":"6629:933:62","statements":[{"assignments":[29759],"declarations":[{"constant":false,"id":29759,"mutability":"mutable","name":"data","nameLocation":"6650:4:62","nodeType":"VariableDeclaration","scope":29869,"src":"6637:17:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":29758,"name":"bytes","nodeType":"ElementaryTypeName","src":"6637:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":29763,"initialValue":{"baseExpression":{"id":29760,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29722,"src":"6657:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":29762,"indexExpression":{"id":29761,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29748,"src":"6667:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6657:12:62","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6637:32:62"},{"assignments":[29765],"declarations":[{"constant":false,"id":29765,"mutability":"mutable","name":"selector","nameLocation":"6728:8:62","nodeType":"VariableDeclaration","scope":29869,"src":"6721:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29764,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6721:6:62","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":29766,"nodeType":"VariableDeclarationStatement","src":"6721:15:62"},{"AST":{"nodeType":"YulBlock","src":"6753:50:62","statements":[{"nodeType":"YulAssignment","src":"6763:32:62","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6785:4:62"},{"kind":"number","nodeType":"YulLiteral","src":"6791:2:62","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6781:3:62"},"nodeType":"YulFunctionCall","src":"6781:13:62"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6775:5:62"},"nodeType":"YulFunctionCall","src":"6775:20:62"},"variableNames":[{"name":"selector","nodeType":"YulIdentifier","src":"6763:8:62"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":29759,"isOffset":false,"isSlot":false,"src":"6785:4:62","valueSize":1},{"declaration":29765,"isOffset":false,"isSlot":false,"src":"6763:8:62","valueSize":1}],"id":29767,"nodeType":"InlineAssembly","src":"6744:59:62"},{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":29775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29768,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"6814:8:62","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"7472616e736665724233545228616464726573732c75696e7432353629","id":29772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6843:31:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e184b3fd9364f3d451880a8b42a2fd0a4ba829d3d97cf9497153ea07be96192","typeString":"literal_string \"transferB3TR(address,uint256)\""},"value":"transferB3TR(address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e184b3fd9364f3d451880a8b42a2fd0a4ba829d3d97cf9497153ea07be96192","typeString":"literal_string \"transferB3TR(address,uint256)\""}],"id":29771,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6833:9:62","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6833:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6826:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29769,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6826:6:62","typeDescriptions":{}}},"id":29774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6826:50:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"6814:62:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29781,"nodeType":"IfStatement","src":"6810:127:62","trueBody":{"id":29780,"nodeType":"Block","src":"6878:59:62","statements":[{"errorCall":{"arguments":[{"id":29777,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"6919:8:62","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":29776,"name":"InvalidFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32152,"src":"6895:23:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes4_$returns$__$","typeString":"function (bytes4) pure"}},"id":29778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6895:33:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29779,"nodeType":"RevertStatement","src":"6888:40:62"}]}},{"assignments":[29783],"declarations":[{"constant":false,"id":29783,"mutability":"mutable","name":"slicedData","nameLocation":"6957:10:62","nodeType":"VariableDeclaration","scope":29869,"src":"6944:23:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":29782,"name":"bytes","nodeType":"ElementaryTypeName","src":"6944:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":29791,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":29786,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"6980:4:62","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":29787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6985:6:62","memberName":"length","nodeType":"MemberAccess","src":"6980:11:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"34","id":29788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6994:1:62","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"6980:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6970:9:62","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":29784,"name":"bytes","nodeType":"ElementaryTypeName","src":"6974:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":29790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6970:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6944:52:62"},{"body":{"id":29813,"nodeType":"Block","src":"7052:46:62","statements":[{"expression":{"id":29811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":29803,"name":"slicedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29783,"src":"7062:10:62","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":29805,"indexExpression":{"id":29804,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29793,"src":"7073:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7062:13:62","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":29806,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"7078:4:62","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":29810,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29807,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29793,"src":"7083:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"34","id":29808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7087:1:62","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"7083:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7078:11:62","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"7062:27:62","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":29812,"nodeType":"ExpressionStatement","src":"7062:27:62"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29796,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29793,"src":"7024:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":29797,"name":"slicedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29783,"src":"7028:10:62","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":29798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7039:6:62","memberName":"length","nodeType":"MemberAccess","src":"7028:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7024:21:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29814,"initializationExpression":{"assignments":[29793],"declarations":[{"constant":false,"id":29793,"mutability":"mutable","name":"j","nameLocation":"7017:1:62","nodeType":"VariableDeclaration","scope":29814,"src":"7009:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29792,"name":"uint256","nodeType":"ElementaryTypeName","src":"7009:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29795,"initialValue":{"hexValue":"30","id":29794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7021:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7009:13:62"},"loopExpression":{"expression":{"id":29801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7047:3:62","subExpression":{"id":29800,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29793,"src":"7047:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29802,"nodeType":"ExpressionStatement","src":"7047:3:62"},"nodeType":"ForStatement","src":"7004:94:62"},{"assignments":[29816,29818],"declarations":[{"constant":false,"id":29816,"mutability":"mutable","name":"recipient","nameLocation":"7141:9:62","nodeType":"VariableDeclaration","scope":29869,"src":"7133:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29815,"name":"address","nodeType":"ElementaryTypeName","src":"7133:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29818,"mutability":"mutable","name":"amount","nameLocation":"7160:6:62","nodeType":"VariableDeclaration","scope":29869,"src":"7152:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29817,"name":"uint256","nodeType":"ElementaryTypeName","src":"7152:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29828,"initialValue":{"arguments":[{"id":29821,"name":"slicedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29783,"src":"7181:10:62","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":29823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7194:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29822,"name":"address","nodeType":"ElementaryTypeName","src":"7194:7:62","typeDescriptions":{}}},{"id":29825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7203:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29824,"name":"uint256","nodeType":"ElementaryTypeName","src":"7203:7:62","typeDescriptions":{}}}],"id":29826,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7193:18:62","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}],"expression":{"id":29819,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7170:3:62","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7174:6:62","memberName":"decode","nodeType":"MemberAccess","src":"7170:10:62","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":29827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7170:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_uint256_$","typeString":"tuple(address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7132:80:62"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29829,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29816,"src":"7225:9:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":29832,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7246:4:62","typeDescriptions":{"typeIdentifier":"t_contract$_GrantsManagerV2_$31377","typeString":"contract GrantsManagerV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GrantsManagerV2_$31377","typeString":"contract GrantsManagerV2"}],"id":29831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7238:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29830,"name":"address","nodeType":"ElementaryTypeName","src":"7238:7:62","typeDescriptions":{}}},"id":29833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7238:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7225:26:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29840,"nodeType":"IfStatement","src":"7221:82:62","trueBody":{"id":29839,"nodeType":"Block","src":"7253:50:62","statements":[{"errorCall":{"arguments":[{"id":29836,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29816,"src":"7284:9:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29835,"name":"InvalidTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32144,"src":"7270:13:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":29837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7270:24:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29838,"nodeType":"RevertStatement","src":"7263:31:62"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29841,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29818,"src":"7314:6:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":29842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7324:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7314:11:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29848,"nodeType":"IfStatement","src":"7310:58:62","trueBody":{"id":29847,"nodeType":"Block","src":"7327:41:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":29844,"name":"InvalidAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32147,"src":"7344:13:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":29845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7344:15:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29846,"nodeType":"RevertStatement","src":"7337:22:62"}]}},{"expression":{"id":29851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29849,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29744,"src":"7376:11:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":29850,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29818,"src":"7391:6:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7376:21:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29852,"nodeType":"ExpressionStatement","src":"7376:21:62"},{"expression":{"arguments":[{"arguments":[{"id":29861,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29818,"src":"7470:6:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":29862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7489:5:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":29863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7508:5:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":29864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7527:5:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"","id":29865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7542:2:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":29860,"name":"Milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32286,"src":"7450:9:62","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Milestone_$32286_storage_ptr_$","typeString":"type(struct IGrantsManagerV2.Milestone storage pointer)"}},"id":29866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7462:6:62","7478:9:62","7496:10:62","7515:10:62","7534:6:62"],"names":["amount","isClaimed","isApproved","isRejected","reason"],"nodeType":"FunctionCall","src":"7450:97:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}],"expression":{"expression":{"baseExpression":{"expression":{"id":29853,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"7405:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":29856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7407:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"7405:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":29857,"indexExpression":{"id":29855,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29715,"src":"7413:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7405:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":29858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7425:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"7405:30:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"id":29859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7436:4:62","memberName":"push","nodeType":"MemberAccess","src":"7405:35:62","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage_ptr_$_t_struct$_Milestone_$32286_storage_$returns$__$attached_to$_t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage_ptr_$","typeString":"function (struct IGrantsManagerV2.Milestone storage ref[] storage pointer,struct IGrantsManagerV2.Milestone storage ref)"}},"id":29867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7405:150:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29868,"nodeType":"ExpressionStatement","src":"7405:150:62"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29748,"src":"6602:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":29752,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29722,"src":"6606:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":29753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6616:6:62","memberName":"length","nodeType":"MemberAccess","src":"6606:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6602:20:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29870,"initializationExpression":{"assignments":[29748],"declarations":[{"constant":false,"id":29748,"mutability":"mutable","name":"i","nameLocation":"6595:1:62","nodeType":"VariableDeclaration","scope":29870,"src":"6587:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29747,"name":"uint256","nodeType":"ElementaryTypeName","src":"6587:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29750,"initialValue":{"hexValue":"30","id":29749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6599:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6587:13:62"},"loopExpression":{"expression":{"id":29756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6624:3:62","subExpression":{"id":29755,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29748,"src":"6624:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29757,"nodeType":"ExpressionStatement","src":"6624:3:62"},"nodeType":"ForStatement","src":"6582:980:62"},{"expression":{"id":29875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29871,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29737,"src":"7568:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":29873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7570:2:62","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":32289,"src":"7568:4:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29874,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29715,"src":"7575:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7568:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29876,"nodeType":"ExpressionStatement","src":"7568:17:62"},{"expression":{"id":29881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29877,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29737,"src":"7591:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":29879,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7593:8:62","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":32295,"src":"7591:10:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29880,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29717,"src":"7604:8:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7591:21:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29882,"nodeType":"ExpressionStatement","src":"7591:21:62"},{"expression":{"id":29887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29883,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29737,"src":"7618:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":29885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7620:11:62","memberName":"metadataURI","nodeType":"MemberAccess","referencedDeclaration":32303,"src":"7618:13:62","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29886,"name":"metadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29713,"src":"7634:11:62","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7618:27:62","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":29888,"nodeType":"ExpressionStatement","src":"7618:27:62"},{"expression":{"id":29893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29889,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29737,"src":"7651:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":29891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7653:11:62","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":32291,"src":"7651:13:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29892,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29744,"src":"7667:11:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7651:27:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29894,"nodeType":"ExpressionStatement","src":"7651:27:62"},{"expression":{"id":29899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29895,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29737,"src":"7684:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":29897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7686:13:62","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":32293,"src":"7684:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":29898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7702:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7684:19:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29900,"nodeType":"ExpressionStatement","src":"7684:19:62"},{"expression":{"id":29905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":29901,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29737,"src":"7755:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":29903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7757:14:62","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":32297,"src":"7755:16:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":29904,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29719,"src":"7774:14:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7755:33:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29906,"nodeType":"ExpressionStatement","src":"7755:33:62"},{"expression":{"arguments":[{"id":29908,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29737,"src":"7815:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}],"id":29907,"name":"_validateMilestones","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31223,"src":"7795:19:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_GrantProposal_$32304_memory_ptr_$returns$__$","typeString":"function (struct IGrantsManagerV2.GrantProposal memory) view"}},"id":29909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7795:22:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29910,"nodeType":"ExpressionStatement","src":"7795:22:62"},{"eventCall":{"arguments":[{"id":29912,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29715,"src":"7846:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29913,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29717,"src":"7858:8:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29914,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29719,"src":"7868:14:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29915,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29744,"src":"7884:11:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29916,"name":"metadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29713,"src":"7897:11:62","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":29911,"name":"MilestonesCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32134,"src":"7828:17:62","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,uint256,string memory)"}},"id":29917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7828:81:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29918,"nodeType":"EmitStatement","src":"7823:86:62"}]},"documentation":{"id":29711,"nodeType":"StructuredDocumentation","src":"5925:300:62","text":" @dev Internal function to create milestones for a proposal.\n @param metadataURI The IPFS hash containing the milestones descriptions\n @param proposalId The ID of the proposal\n @param proposer The address of the proposer\n @param calldatas The calldatas of the milestones"},"functionSelector":"808860a5","id":29920,"implemented":true,"kind":"function","modifiers":[{"id":29725,"kind":"modifierInvocation","modifierName":{"id":29724,"name":"onlyGovernor","nameLocations":["6402:12:62"],"nodeType":"IdentifierPath","referencedDeclaration":29677,"src":"6402:12:62"},"nodeType":"ModifierInvocation","src":"6402:12:62"},{"id":29727,"kind":"modifierInvocation","modifierName":{"id":29726,"name":"whenNotPaused","nameLocations":["6415:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"6415:13:62"},"nodeType":"ModifierInvocation","src":"6415:13:62"}],"name":"createMilestones","nameLocation":"6237:16:62","nodeType":"FunctionDefinition","parameters":{"id":29723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29713,"mutability":"mutable","name":"metadataURI","nameLocation":"6273:11:62","nodeType":"VariableDeclaration","scope":29920,"src":"6259:25:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29712,"name":"string","nodeType":"ElementaryTypeName","src":"6259:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29715,"mutability":"mutable","name":"proposalId","nameLocation":"6298:10:62","nodeType":"VariableDeclaration","scope":29920,"src":"6290:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29714,"name":"uint256","nodeType":"ElementaryTypeName","src":"6290:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29717,"mutability":"mutable","name":"proposer","nameLocation":"6322:8:62","nodeType":"VariableDeclaration","scope":29920,"src":"6314:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29716,"name":"address","nodeType":"ElementaryTypeName","src":"6314:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29719,"mutability":"mutable","name":"grantsReceiver","nameLocation":"6344:14:62","nodeType":"VariableDeclaration","scope":29920,"src":"6336:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29718,"name":"address","nodeType":"ElementaryTypeName","src":"6336:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29722,"mutability":"mutable","name":"calldatas","nameLocation":"6379:9:62","nodeType":"VariableDeclaration","scope":29920,"src":"6364:24:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":29720,"name":"bytes","nodeType":"ElementaryTypeName","src":"6364:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":29721,"nodeType":"ArrayTypeName","src":"6364:7:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6253:139:62"},"returnParameters":{"id":29728,"nodeType":"ParameterList","parameters":[],"src":"6429:0:62"},"scope":31377,"src":"6228:1686:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32330],"body":{"id":29945,"nodeType":"Block","src":"8223:130:62","statements":[{"assignments":[29933],"declarations":[{"constant":false,"id":29933,"mutability":"mutable","name":"$","nameLocation":"8258:1:62","nodeType":"VariableDeclaration","scope":29945,"src":"8229:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":29932,"nodeType":"UserDefinedTypeName","pathNode":{"id":29931,"name":"GrantsManagerStorage","nameLocations":["8229:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"8229:20:62"},"referencedDeclaration":29457,"src":"8229:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":29936,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29934,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"8262:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":29935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8262:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8229:59:62"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":29937,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29933,"src":"8302:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":29938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8304:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"8302:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":29940,"indexExpression":{"id":29939,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29923,"src":"8310:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8302:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":29941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8322:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"8302:30:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"id":29943,"indexExpression":{"id":29942,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29925,"src":"8333:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8302:46:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref"}},"functionReturnParameters":29930,"id":29944,"nodeType":"Return","src":"8295:53:62"}]},"documentation":{"id":29921,"nodeType":"StructuredDocumentation","src":"7918:195:62","text":" @notice Returns a milestone for a proposal.\n @param proposalId The id of the proposal\n @param milestoneIndex The index of the milestone\n @return Milestone The milestone"},"functionSelector":"8ed9895c","id":29946,"implemented":true,"kind":"function","modifiers":[],"name":"getMilestone","nameLocation":"8125:12:62","nodeType":"FunctionDefinition","parameters":{"id":29926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29923,"mutability":"mutable","name":"proposalId","nameLocation":"8146:10:62","nodeType":"VariableDeclaration","scope":29946,"src":"8138:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29922,"name":"uint256","nodeType":"ElementaryTypeName","src":"8138:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29925,"mutability":"mutable","name":"milestoneIndex","nameLocation":"8166:14:62","nodeType":"VariableDeclaration","scope":29946,"src":"8158:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29924,"name":"uint256","nodeType":"ElementaryTypeName","src":"8158:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8137:44:62"},"returnParameters":{"id":29930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29946,"src":"8205:16:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone"},"typeName":{"id":29928,"nodeType":"UserDefinedTypeName","pathNode":{"id":29927,"name":"Milestone","nameLocations":["8205:9:62"],"nodeType":"IdentifierPath","referencedDeclaration":32286,"src":"8205:9:62"},"referencedDeclaration":32286,"src":"8205:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone"}},"visibility":"internal"}],"src":"8204:18:62"},"scope":31377,"src":"8116:237:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32423],"body":{"id":29993,"nodeType":"Block","src":"8745:281:62","statements":[{"assignments":[29956],"declarations":[{"constant":false,"id":29956,"mutability":"mutable","name":"$","nameLocation":"8780:1:62","nodeType":"VariableDeclaration","scope":29993,"src":"8751:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":29955,"nodeType":"UserDefinedTypeName","pathNode":{"id":29954,"name":"GrantsManagerStorage","nameLocations":["8751:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"8751:20:62"},"referencedDeclaration":29457,"src":"8751:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":29959,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29957,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"8784:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":29958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8784:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8751:59:62"},{"assignments":[29962],"declarations":[{"constant":false,"id":29962,"mutability":"mutable","name":"grant","nameLocation":"8837:5:62","nodeType":"VariableDeclaration","scope":29993,"src":"8816:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"},"typeName":{"id":29961,"nodeType":"UserDefinedTypeName","pathNode":{"id":29960,"name":"GrantProposal","nameLocations":["8816:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"8816:13:62"},"referencedDeclaration":32304,"src":"8816:13:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}},"visibility":"internal"}],"id":29967,"initialValue":{"baseExpression":{"expression":{"id":29963,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29956,"src":"8845:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":29964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8847:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"8845:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":29966,"indexExpression":{"id":29965,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29949,"src":"8853:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8845:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8816:48:62"},{"body":{"id":29989,"nodeType":"Block","src":"8924:80:62","statements":[{"condition":{"expression":{"baseExpression":{"expression":{"id":29980,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29962,"src":"8936:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":29981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8942:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"8936:16:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":29983,"indexExpression":{"id":29982,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29969,"src":"8953:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8936:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":29984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8956:10:62","memberName":"isRejected","nodeType":"MemberAccess","referencedDeclaration":32283,"src":"8936:30:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29988,"nodeType":"IfStatement","src":"8932:66:62","trueBody":{"id":29987,"nodeType":"Block","src":"8968:30:62","statements":[{"expression":{"hexValue":"74727565","id":29985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8985:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":29953,"id":29986,"nodeType":"Return","src":"8978:11:62"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29972,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29969,"src":"8890:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":29973,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29962,"src":"8894:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":29974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8900:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"8894:16:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":29975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8911:6:62","memberName":"length","nodeType":"MemberAccess","src":"8894:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8890:27:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29990,"initializationExpression":{"assignments":[29969],"declarations":[{"constant":false,"id":29969,"mutability":"mutable","name":"i","nameLocation":"8883:1:62","nodeType":"VariableDeclaration","scope":29990,"src":"8875:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29968,"name":"uint256","nodeType":"ElementaryTypeName","src":"8875:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29971,"initialValue":{"hexValue":"30","id":29970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8887:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8875:13:62"},"loopExpression":{"expression":{"id":29978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8919:3:62","subExpression":{"id":29977,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29969,"src":"8919:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29979,"nodeType":"ExpressionStatement","src":"8919:3:62"},"nodeType":"ForStatement","src":"8870:134:62"},{"expression":{"hexValue":"66616c7365","id":29991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9016:5:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":29953,"id":29992,"nodeType":"Return","src":"9009:12:62"}]},"documentation":{"id":29947,"nodeType":"StructuredDocumentation","src":"8430:240:62","text":" @notice Returns if a proposal is rejected\n @param proposalId The id of the proposal\n @return bool True if the proposal is rejected, false otherwise\n @dev A grant is rejected when at least one milestone is rejected"},"functionSelector":"7da17bf3","id":29994,"implemented":true,"kind":"function","modifiers":[],"name":"isGrantRejected","nameLocation":"8682:15:62","nodeType":"FunctionDefinition","parameters":{"id":29950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29949,"mutability":"mutable","name":"proposalId","nameLocation":"8706:10:62","nodeType":"VariableDeclaration","scope":29994,"src":"8698:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29948,"name":"uint256","nodeType":"ElementaryTypeName","src":"8698:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8697:20:62"},"returnParameters":{"id":29953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29994,"src":"8739:4:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29951,"name":"bool","nodeType":"ElementaryTypeName","src":"8739:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8738:6:62"},"scope":31377,"src":"8673:353:62","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[32415],"body":{"id":30080,"nodeType":"Block","src":"9425:753:62","statements":[{"assignments":[30004],"declarations":[{"constant":false,"id":30004,"mutability":"mutable","name":"$","nameLocation":"9460:1:62","nodeType":"VariableDeclaration","scope":30080,"src":"9431:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30003,"nodeType":"UserDefinedTypeName","pathNode":{"id":30002,"name":"GrantsManagerStorage","nameLocations":["9431:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"9431:20:62"},"referencedDeclaration":29457,"src":"9431:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30007,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30005,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"9464:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9464:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9431:59:62"},{"assignments":[30010],"declarations":[{"constant":false,"id":30010,"mutability":"mutable","name":"grant","nameLocation":"9517:5:62","nodeType":"VariableDeclaration","scope":30080,"src":"9496:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"},"typeName":{"id":30009,"nodeType":"UserDefinedTypeName","pathNode":{"id":30008,"name":"GrantProposal","nameLocations":["9496:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"9496:13:62"},"referencedDeclaration":32304,"src":"9496:13:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}},"visibility":"internal"}],"id":30015,"initialValue":{"baseExpression":{"expression":{"id":30011,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"9525:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9527:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"9525:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30014,"indexExpression":{"id":30013,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29997,"src":"9533:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9525:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9496:48:62"},{"assignments":[30020],"declarations":[{"constant":false,"id":30020,"mutability":"mutable","name":"proposalState","nameLocation":"9578:13:62","nodeType":"VariableDeclaration","scope":30080,"src":"9550:41:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":30019,"nodeType":"UserDefinedTypeName","pathNode":{"id":30018,"name":"GovernorTypes.ProposalState","nameLocations":["9550:13:62","9564:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"9550:27:62"},"referencedDeclaration":61406,"src":"9550:27:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"id":30026,"initialValue":{"arguments":[{"id":30024,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29997,"src":"9611:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":30021,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"9594:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9596:8:62","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":29448,"src":"9594:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":30023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9605:5:62","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":63327,"src":"9594:16:62","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view external returns (enum GovernorTypes.ProposalState)"}},"id":30025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9594:28:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"9550:72:62"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":30043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":30037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":30031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30027,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30020,"src":"9712:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":30028,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"9729:13:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":30029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9743:13:62","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"9729:27:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":30030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9757:8:62","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"9729:36:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"9712:53:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":30036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30032,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30020,"src":"9775:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":30033,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"9792:13:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":30034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9806:13:62","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"9792:27:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":30035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9820:13:62","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61404,"src":"9792:41:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"9775:58:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9712:121:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":30042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30038,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30020,"src":"9843:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":30039,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"9860:13:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":30040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9874:13:62","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"9860:27:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":30041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9888:9:62","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61405,"src":"9860:37:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"9843:54:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9712:185:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30047,"nodeType":"IfStatement","src":"9701:230:62","trueBody":{"id":30046,"nodeType":"Block","src":"9904:27:62","statements":[{"expression":{"hexValue":"66616c7365","id":30044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9919:5:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":30001,"id":30045,"nodeType":"Return","src":"9912:12:62"}]}},{"body":{"id":30076,"nodeType":"Block","src":"9991:165:62","statements":[{"assignments":[30062],"declarations":[{"constant":false,"id":30062,"mutability":"mutable","name":"_milestoneState","nameLocation":"10014:15:62","nodeType":"VariableDeclaration","scope":30076,"src":"9999:30:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":30061,"nodeType":"UserDefinedTypeName","pathNode":{"id":30060,"name":"MilestoneState","nameLocations":["9999:14:62"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"9999:14:62"},"referencedDeclaration":32274,"src":"9999:14:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"id":30067,"initialValue":{"arguments":[{"id":30064,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29997,"src":"10051:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30065,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30049,"src":"10063:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30063,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"10032:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$32274_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManagerV2.MilestoneState)"}},"id":30066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10032:33:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"9999:66:62"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30068,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30062,"src":"10077:15:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":30069,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"10096:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10111:7:62","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":32270,"src":"10096:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"10077:41:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30075,"nodeType":"IfStatement","src":"10073:77:62","trueBody":{"id":30074,"nodeType":"Block","src":"10120:30:62","statements":[{"expression":{"hexValue":"74727565","id":30072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10137:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":30001,"id":30073,"nodeType":"Return","src":"10130:11:62"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30052,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30049,"src":"9957:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":30053,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30010,"src":"9961:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":30054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9967:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"9961:16:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":30055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9978:6:62","memberName":"length","nodeType":"MemberAccess","src":"9961:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9957:27:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30077,"initializationExpression":{"assignments":[30049],"declarations":[{"constant":false,"id":30049,"mutability":"mutable","name":"i","nameLocation":"9950:1:62","nodeType":"VariableDeclaration","scope":30077,"src":"9942:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30048,"name":"uint256","nodeType":"ElementaryTypeName","src":"9942:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":30051,"initialValue":{"hexValue":"30","id":30050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9954:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9942:13:62"},"loopExpression":{"expression":{"id":30058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9986:3:62","subExpression":{"id":30057,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30049,"src":"9986:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":30059,"nodeType":"ExpressionStatement","src":"9986:3:62"},"nodeType":"ForStatement","src":"9937:219:62"},{"expression":{"hexValue":"66616c7365","id":30078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10168:5:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":30001,"id":30079,"nodeType":"Return","src":"10161:12:62"}]},"documentation":{"id":29995,"nodeType":"StructuredDocumentation","src":"9030:315:62","text":" @notice Returns if a proposal is in development\n @param proposalId The id of the proposal\n @return bool True if the proposal is in development, false otherwise\n @dev A grant is in development when:\n 1. The proposal has been executed AND\n 2. At least one milestone is still pending"},"functionSelector":"9b154087","id":30081,"implemented":true,"kind":"function","modifiers":[],"name":"isGrantInDevelopment","nameLocation":"9357:20:62","nodeType":"FunctionDefinition","parameters":{"id":29998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29997,"mutability":"mutable","name":"proposalId","nameLocation":"9386:10:62","nodeType":"VariableDeclaration","scope":30081,"src":"9378:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29996,"name":"uint256","nodeType":"ElementaryTypeName","src":"9378:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9377:20:62"},"returnParameters":{"id":30001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30000,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30081,"src":"9419:4:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29999,"name":"bool","nodeType":"ElementaryTypeName","src":"9419:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9418:6:62"},"scope":31377,"src":"9348:830:62","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[32407],"body":{"id":30162,"nodeType":"Block","src":"10545:801:62","statements":[{"assignments":[30091],"declarations":[{"constant":false,"id":30091,"mutability":"mutable","name":"$","nameLocation":"10580:1:62","nodeType":"VariableDeclaration","scope":30162,"src":"10551:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30090,"nodeType":"UserDefinedTypeName","pathNode":{"id":30089,"name":"GrantsManagerStorage","nameLocations":["10551:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"10551:20:62"},"referencedDeclaration":29457,"src":"10551:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30094,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30092,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"10584:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10584:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10551:59:62"},{"assignments":[30097],"declarations":[{"constant":false,"id":30097,"mutability":"mutable","name":"grant","nameLocation":"10637:5:62","nodeType":"VariableDeclaration","scope":30162,"src":"10616:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"},"typeName":{"id":30096,"nodeType":"UserDefinedTypeName","pathNode":{"id":30095,"name":"GrantProposal","nameLocations":["10616:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"10616:13:62"},"referencedDeclaration":32304,"src":"10616:13:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}},"visibility":"internal"}],"id":30102,"initialValue":{"baseExpression":{"expression":{"id":30098,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30091,"src":"10645:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10647:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"10645:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30101,"indexExpression":{"id":30100,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30084,"src":"10653:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10645:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10616:48:62"},{"assignments":[30107],"declarations":[{"constant":false,"id":30107,"mutability":"mutable","name":"proposalState","nameLocation":"10698:13:62","nodeType":"VariableDeclaration","scope":30162,"src":"10670:41:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":30106,"nodeType":"UserDefinedTypeName","pathNode":{"id":30105,"name":"GovernorTypes.ProposalState","nameLocations":["10670:13:62","10684:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"10670:27:62"},"referencedDeclaration":61406,"src":"10670:27:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"id":30113,"initialValue":{"arguments":[{"id":30111,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30084,"src":"10731:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":30108,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30091,"src":"10714:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10716:8:62","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":29448,"src":"10714:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":30110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10725:5:62","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":63327,"src":"10714:16:62","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view external returns (enum GovernorTypes.ProposalState)"}},"id":30112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10714:28:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"10670:72:62"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":30130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":30124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":30118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30114,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30107,"src":"10823:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":30115,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"10840:13:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":30116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10854:13:62","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"10840:27:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":30117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10868:8:62","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"10840:36:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"10823:53:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":30123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30119,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30107,"src":"10886:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":30120,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"10903:13:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":30121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10917:13:62","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"10903:27:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":30122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10931:13:62","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61404,"src":"10903:41:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"10886:58:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10823:121:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":30129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30125,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30107,"src":"10954:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":30126,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"10971:13:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":30127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10985:13:62","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"10971:27:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":30128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10999:9:62","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61405,"src":"10971:37:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"10954:54:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10823:185:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30134,"nodeType":"IfStatement","src":"10812:230:62","trueBody":{"id":30133,"nodeType":"Block","src":"11015:27:62","statements":[{"expression":{"hexValue":"66616c7365","id":30131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11030:5:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":30088,"id":30132,"nodeType":"Return","src":"11023:12:62"}]}},{"assignments":[30137],"declarations":[{"constant":false,"id":30137,"mutability":"mutable","name":"lastState","nameLocation":"11139:9:62","nodeType":"VariableDeclaration","scope":30162,"src":"11124:24:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":30136,"nodeType":"UserDefinedTypeName","pathNode":{"id":30135,"name":"MilestoneState","nameLocations":["11124:14:62"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"11124:14:62"},"referencedDeclaration":32274,"src":"11124:14:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"id":30146,"initialValue":{"arguments":[{"id":30139,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30084,"src":"11170:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":30140,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30097,"src":"11182:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":30141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11188:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"11182:16:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":30142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11199:6:62","memberName":"length","nodeType":"MemberAccess","src":"11182:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":30143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11208:1:62","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11182:27:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30138,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"11151:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$32274_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManagerV2.MilestoneState)"}},"id":30145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11151:59:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"11124:86:62"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":30155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30147,"name":"lastState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30137,"src":"11220:9:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":30148,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"11233:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11248:7:62","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":32270,"src":"11233:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"11220:35:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30151,"name":"lastState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30137,"src":"11259:9:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":30152,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"11272:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11287:8:62","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":32273,"src":"11272:23:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"11259:36:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11220:75:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30159,"nodeType":"IfStatement","src":"11216:108:62","trueBody":{"id":30158,"nodeType":"Block","src":"11297:27:62","statements":[{"expression":{"hexValue":"66616c7365","id":30156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11312:5:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":30088,"id":30157,"nodeType":"Return","src":"11305:12:62"}]}},{"expression":{"hexValue":"74727565","id":30160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11337:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":30088,"id":30161,"nodeType":"Return","src":"11330:11:62"}]},"documentation":{"id":30082,"nodeType":"StructuredDocumentation","src":"10182:287:62","text":" @notice Returns if a proposal is completed\n @param proposalId The id of the proposal\n @return bool True if the proposal is completed, false otherwise\n @dev Ascending order status of the milestones, so last one is the one that determines the status of the grant"},"functionSelector":"c2249389","id":30163,"implemented":true,"kind":"function","modifiers":[],"name":"isGrantCompleted","nameLocation":"10481:16:62","nodeType":"FunctionDefinition","parameters":{"id":30085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30084,"mutability":"mutable","name":"proposalId","nameLocation":"10506:10:62","nodeType":"VariableDeclaration","scope":30163,"src":"10498:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30083,"name":"uint256","nodeType":"ElementaryTypeName","src":"10498:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10497:20:62"},"returnParameters":{"id":30088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30087,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30163,"src":"10539:4:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30086,"name":"bool","nodeType":"ElementaryTypeName","src":"10539:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10538:6:62"},"scope":31377,"src":"10472:874:62","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":30220,"nodeType":"Block","src":"11722:456:62","statements":[{"assignments":[30176],"declarations":[{"constant":false,"id":30176,"mutability":"mutable","name":"$","nameLocation":"11757:1:62","nodeType":"VariableDeclaration","scope":30220,"src":"11728:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30175,"nodeType":"UserDefinedTypeName","pathNode":{"id":30174,"name":"GrantsManagerStorage","nameLocations":["11728:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"11728:20:62"},"referencedDeclaration":29457,"src":"11728:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30179,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30177,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"11761:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11761:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11728:59:62"},{"assignments":[30182],"declarations":[{"constant":false,"id":30182,"mutability":"mutable","name":"grant","nameLocation":"11814:5:62","nodeType":"VariableDeclaration","scope":30220,"src":"11793:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"},"typeName":{"id":30181,"nodeType":"UserDefinedTypeName","pathNode":{"id":30180,"name":"GrantProposal","nameLocations":["11793:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"11793:13:62"},"referencedDeclaration":32304,"src":"11793:13:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}},"visibility":"internal"}],"id":30187,"initialValue":{"baseExpression":{"expression":{"id":30183,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30176,"src":"11822:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11824:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"11822:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30186,"indexExpression":{"id":30185,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30166,"src":"11830:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11822:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11793:48:62"},{"assignments":[30190],"declarations":[{"constant":false,"id":30190,"mutability":"mutable","name":"milestone","nameLocation":"11864:9:62","nodeType":"VariableDeclaration","scope":30220,"src":"11847:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone"},"typeName":{"id":30189,"nodeType":"UserDefinedTypeName","pathNode":{"id":30188,"name":"Milestone","nameLocations":["11847:9:62"],"nodeType":"IdentifierPath","referencedDeclaration":32286,"src":"11847:9:62"},"referencedDeclaration":32286,"src":"11847:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone"}},"visibility":"internal"}],"id":30195,"initialValue":{"baseExpression":{"expression":{"id":30191,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30182,"src":"11876:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":30192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11882:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"11876:16:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":30194,"indexExpression":{"id":30193,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30168,"src":"11893:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11876:32:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"nodeType":"VariableDeclarationStatement","src":"11847:61:62"},{"condition":{"expression":{"id":30196,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30190,"src":"11919:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":30197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11929:10:62","memberName":"isRejected","nodeType":"MemberAccess","referencedDeclaration":32283,"src":"11919:20:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30202,"nodeType":"IfStatement","src":"11915:71:62","trueBody":{"id":30201,"nodeType":"Block","src":"11941:45:62","statements":[{"expression":{"expression":{"id":30198,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"11956:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11971:8:62","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":32273,"src":"11956:23:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"functionReturnParameters":30173,"id":30200,"nodeType":"Return","src":"11949:30:62"}]}},{"condition":{"expression":{"id":30203,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30190,"src":"11996:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":30204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12006:9:62","memberName":"isClaimed","nodeType":"MemberAccess","referencedDeclaration":32279,"src":"11996:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30209,"nodeType":"IfStatement","src":"11992:69:62","trueBody":{"id":30208,"nodeType":"Block","src":"12017:44:62","statements":[{"expression":{"expression":{"id":30205,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"12032:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12047:7:62","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":32272,"src":"12032:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"functionReturnParameters":30173,"id":30207,"nodeType":"Return","src":"12025:29:62"}]}},{"condition":{"expression":{"id":30210,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30190,"src":"12071:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":30211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12081:10:62","memberName":"isApproved","nodeType":"MemberAccess","referencedDeclaration":32281,"src":"12071:20:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30216,"nodeType":"IfStatement","src":"12067:71:62","trueBody":{"id":30215,"nodeType":"Block","src":"12093:45:62","statements":[{"expression":{"expression":{"id":30212,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"12108:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12123:8:62","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":32271,"src":"12108:23:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"functionReturnParameters":30173,"id":30214,"nodeType":"Return","src":"12101:30:62"}]}},{"expression":{"expression":{"id":30217,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"12151:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12166:7:62","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":32270,"src":"12151:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"functionReturnParameters":30173,"id":30219,"nodeType":"Return","src":"12144:29:62"}]},"documentation":{"id":30164,"nodeType":"StructuredDocumentation","src":"11350:239:62","text":" @notice Returns the state of a milestone\n @param proposalId The id of the proposal\n @param milestoneIndex The index of the milestone\n @return status The state of the milestone {see IGrantsManager:MilestoneState }"},"id":30221,"implemented":true,"kind":"function","modifiers":[],"name":"_getMilestoneState","nameLocation":"11601:18:62","nodeType":"FunctionDefinition","parameters":{"id":30169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30166,"mutability":"mutable","name":"proposalId","nameLocation":"11633:10:62","nodeType":"VariableDeclaration","scope":30221,"src":"11625:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30165,"name":"uint256","nodeType":"ElementaryTypeName","src":"11625:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30168,"mutability":"mutable","name":"milestoneIndex","nameLocation":"11657:14:62","nodeType":"VariableDeclaration","scope":30221,"src":"11649:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30167,"name":"uint256","nodeType":"ElementaryTypeName","src":"11649:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11619:56:62"},"returnParameters":{"id":30173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30172,"mutability":"mutable","name":"status","nameLocation":"11714:6:62","nodeType":"VariableDeclaration","scope":30221,"src":"11699:21:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":30171,"nodeType":"UserDefinedTypeName","pathNode":{"id":30170,"name":"MilestoneState","nameLocations":["11699:14:62"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"11699:14:62"},"referencedDeclaration":32274,"src":"11699:14:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"src":"11698:23:62"},"scope":31377,"src":"11592:586:62","stateMutability":"view","virtual":false,"visibility":"internal"},{"baseFunctions":[32349],"body":{"id":30243,"nodeType":"Block","src":"12437:113:62","statements":[{"assignments":[30233],"declarations":[{"constant":false,"id":30233,"mutability":"mutable","name":"$","nameLocation":"12472:1:62","nodeType":"VariableDeclaration","scope":30243,"src":"12443:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30232,"nodeType":"UserDefinedTypeName","pathNode":{"id":30231,"name":"GrantsManagerStorage","nameLocations":["12443:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"12443:20:62"},"referencedDeclaration":29457,"src":"12443:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30236,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30234,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"12476:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12476:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12443:59:62"},{"expression":{"expression":{"baseExpression":{"expression":{"id":30237,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30233,"src":"12515:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12517:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"12515:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30240,"indexExpression":{"id":30239,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30224,"src":"12523:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12515:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":30241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12535:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"12515:30:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"functionReturnParameters":30230,"id":30242,"nodeType":"Return","src":"12508:37:62"}]},"documentation":{"id":30222,"nodeType":"StructuredDocumentation","src":"12182:166:62","text":" @notice Returns the milestones for a proposal.\n @param proposalId The id of the proposal\n @return GrantProposal The milestones for the proposal"},"functionSelector":"42c549c0","id":30244,"implemented":true,"kind":"function","modifiers":[],"name":"getMilestones","nameLocation":"12360:13:62","nodeType":"FunctionDefinition","parameters":{"id":30225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30224,"mutability":"mutable","name":"proposalId","nameLocation":"12382:10:62","nodeType":"VariableDeclaration","scope":30244,"src":"12374:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30223,"name":"uint256","nodeType":"ElementaryTypeName","src":"12374:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12373:20:62"},"returnParameters":{"id":30230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30229,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30244,"src":"12417:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone[]"},"typeName":{"baseType":{"id":30227,"nodeType":"UserDefinedTypeName","pathNode":{"id":30226,"name":"Milestone","nameLocations":["12417:9:62"],"nodeType":"IdentifierPath","referencedDeclaration":32286,"src":"12417:9:62"},"referencedDeclaration":32286,"src":"12417:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone"}},"id":30228,"nodeType":"ArrayTypeName","src":"12417:11:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone[]"}},"visibility":"internal"}],"src":"12416:20:62"},"scope":31377,"src":"12351:199:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32339],"body":{"id":30264,"nodeType":"Block","src":"12822:102:62","statements":[{"assignments":[30255],"declarations":[{"constant":false,"id":30255,"mutability":"mutable","name":"$","nameLocation":"12857:1:62","nodeType":"VariableDeclaration","scope":30264,"src":"12828:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30254,"nodeType":"UserDefinedTypeName","pathNode":{"id":30253,"name":"GrantsManagerStorage","nameLocations":["12828:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"12828:20:62"},"referencedDeclaration":29457,"src":"12828:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30258,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30256,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"12861:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12861:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12828:59:62"},{"expression":{"baseExpression":{"expression":{"id":30259,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30255,"src":"12900:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12902:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"12900:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30262,"indexExpression":{"id":30261,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30247,"src":"12908:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12900:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"functionReturnParameters":30252,"id":30263,"nodeType":"Return","src":"12893:26:62"}]},"documentation":{"id":30245,"nodeType":"StructuredDocumentation","src":"12554:174:62","text":" @notice Returns the grant proposal for a proposal.\n @param proposalId The id of the proposal\n @return GrantProposal The grant proposal for the proposal"},"functionSelector":"24ad94cd","id":30265,"implemented":true,"kind":"function","modifiers":[],"name":"getGrantProposal","nameLocation":"12740:16:62","nodeType":"FunctionDefinition","parameters":{"id":30248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30247,"mutability":"mutable","name":"proposalId","nameLocation":"12765:10:62","nodeType":"VariableDeclaration","scope":30265,"src":"12757:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30246,"name":"uint256","nodeType":"ElementaryTypeName","src":"12757:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12756:20:62"},"returnParameters":{"id":30252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30251,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30265,"src":"12800:20:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"},"typeName":{"id":30250,"nodeType":"UserDefinedTypeName","pathNode":{"id":30249,"name":"GrantProposal","nameLocations":["12800:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"12800:13:62"},"referencedDeclaration":32304,"src":"12800:13:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}},"visibility":"internal"}],"src":"12799:22:62"},"scope":31377,"src":"12731:193:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32357],"body":{"id":30341,"nodeType":"Block","src":"13209:658:62","statements":[{"assignments":[30278],"declarations":[{"constant":false,"id":30278,"mutability":"mutable","name":"$","nameLocation":"13244:1:62","nodeType":"VariableDeclaration","scope":30341,"src":"13215:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30277,"nodeType":"UserDefinedTypeName","pathNode":{"id":30276,"name":"GrantsManagerStorage","nameLocations":["13215:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"13215:20:62"},"referencedDeclaration":29457,"src":"13215:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30281,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30279,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"13248:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13248:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13215:59:62"},{"expression":{"arguments":[{"id":30283,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30268,"src":"13301:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30282,"name":"_checkProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31329,"src":"13281:19:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":30284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13281:31:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30285,"nodeType":"ExpressionStatement","src":"13281:31:62"},{"expression":{"arguments":[{"id":30287,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30268,"src":"13339:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30288,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30270,"src":"13351:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30286,"name":"_checkMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31356,"src":"13318:20:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"}},"id":30289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13318:48:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30290,"nodeType":"ExpressionStatement","src":"13318:48:62"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30291,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30270,"src":"13437:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":30292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13454:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13437:18:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30323,"nodeType":"IfStatement","src":"13433:302:62","trueBody":{"id":30322,"nodeType":"Block","src":"13457:278:62","statements":[{"assignments":[30296],"declarations":[{"constant":false,"id":30296,"mutability":"mutable","name":"previousState","nameLocation":"13480:13:62","nodeType":"VariableDeclaration","scope":30322,"src":"13465:28:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":30295,"nodeType":"UserDefinedTypeName","pathNode":{"id":30294,"name":"MilestoneState","nameLocations":["13465:14:62"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"13465:14:62"},"referencedDeclaration":32274,"src":"13465:14:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"id":30303,"initialValue":{"arguments":[{"id":30298,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30268,"src":"13515:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30299,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30270,"src":"13527:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":30300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13544:1:62","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13527:18:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30297,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"13496:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$32274_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManagerV2.MilestoneState)"}},"id":30302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13496:50:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"13465:81:62"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":30312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30304,"name":"previousState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30296,"src":"13558:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":30305,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"13575:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13590:8:62","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":32271,"src":"13575:23:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"13558:40:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30308,"name":"previousState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30296,"src":"13602:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":30309,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"13619:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13634:7:62","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":32272,"src":"13619:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"13602:39:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13558:83:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30321,"nodeType":"IfStatement","src":"13554:175:62","trueBody":{"id":30320,"nodeType":"Block","src":"13643:86:62","statements":[{"errorCall":{"arguments":[{"id":30314,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30268,"src":"13689:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30315,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30270,"src":"13701:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":30316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13718:1:62","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13701:18:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30313,"name":"PreviousMilestoneNotApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32194,"src":"13660:28:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13660:60:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30319,"nodeType":"RevertStatement","src":"13653:67:62"}]}}]}},{"expression":{"id":30334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":30324,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30278,"src":"13741:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30327,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13743:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"13741:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30328,"indexExpression":{"id":30326,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30268,"src":"13749:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13741:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":30329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13761:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"13741:30:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"id":30331,"indexExpression":{"id":30330,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30270,"src":"13772:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13741:46:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref"}},"id":30332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13788:10:62","memberName":"isApproved","nodeType":"MemberAccess","referencedDeclaration":32281,"src":"13741:57:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":30333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13801:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13741:64:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30335,"nodeType":"ExpressionStatement","src":"13741:64:62"},{"eventCall":{"arguments":[{"id":30337,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30268,"src":"13835:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30338,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30270,"src":"13847:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30336,"name":"MilestoneValidated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32091,"src":"13816:18:62","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13816:46:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30340,"nodeType":"EmitStatement","src":"13811:51:62"}]},"documentation":{"id":30266,"nodeType":"StructuredDocumentation","src":"12928:143:62","text":" @notice Approves a milestone\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"functionSelector":"767b1602","id":30342,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":30273,"name":"GRANTS_APPROVER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29429,"src":"13187:20:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":30274,"kind":"modifierInvocation","modifierName":{"id":30272,"name":"onlyRoleOrGovernance","nameLocations":["13166:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29655,"src":"13166:20:62"},"nodeType":"ModifierInvocation","src":"13166:42:62"}],"name":"approveMilestones","nameLocation":"13083:17:62","nodeType":"FunctionDefinition","parameters":{"id":30271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30268,"mutability":"mutable","name":"proposalId","nameLocation":"13114:10:62","nodeType":"VariableDeclaration","scope":30342,"src":"13106:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30267,"name":"uint256","nodeType":"ElementaryTypeName","src":"13106:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30270,"mutability":"mutable","name":"milestoneIndex","nameLocation":"13138:14:62","nodeType":"VariableDeclaration","scope":30342,"src":"13130:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30269,"name":"uint256","nodeType":"ElementaryTypeName","src":"13130:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13100:56:62"},"returnParameters":{"id":30275,"nodeType":"ParameterList","parameters":[],"src":"13209:0:62"},"scope":31377,"src":"13074:793:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32367],"body":{"id":30432,"nodeType":"Block","src":"14259:726:62","statements":[{"assignments":[30357],"declarations":[{"constant":false,"id":30357,"mutability":"mutable","name":"$","nameLocation":"14294:1:62","nodeType":"VariableDeclaration","scope":30432,"src":"14265:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30356,"nodeType":"UserDefinedTypeName","pathNode":{"id":30355,"name":"GrantsManagerStorage","nameLocations":["14265:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"14265:20:62"},"referencedDeclaration":29457,"src":"14265:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30360,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30358,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"14298:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14298:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14265:59:62"},{"expression":{"arguments":[{"id":30362,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30345,"src":"14351:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30361,"name":"_checkProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31329,"src":"14331:19:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":30363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14331:31:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30364,"nodeType":"ExpressionStatement","src":"14331:31:62"},{"expression":{"arguments":[{"id":30366,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30345,"src":"14389:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30367,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30347,"src":"14401:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30365,"name":"_checkMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31356,"src":"14368:20:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"}},"id":30368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14368:48:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30369,"nodeType":"ExpressionStatement","src":"14368:48:62"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30370,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30347,"src":"14487:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":30371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14504:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14487:18:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30402,"nodeType":"IfStatement","src":"14483:302:62","trueBody":{"id":30401,"nodeType":"Block","src":"14507:278:62","statements":[{"assignments":[30375],"declarations":[{"constant":false,"id":30375,"mutability":"mutable","name":"previousState","nameLocation":"14530:13:62","nodeType":"VariableDeclaration","scope":30401,"src":"14515:28:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":30374,"nodeType":"UserDefinedTypeName","pathNode":{"id":30373,"name":"MilestoneState","nameLocations":["14515:14:62"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"14515:14:62"},"referencedDeclaration":32274,"src":"14515:14:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"id":30382,"initialValue":{"arguments":[{"id":30377,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30345,"src":"14565:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30378,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30347,"src":"14577:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":30379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14594:1:62","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14577:18:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30376,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"14546:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$32274_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManagerV2.MilestoneState)"}},"id":30381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14546:50:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"14515:81:62"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":30391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30383,"name":"previousState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30375,"src":"14608:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":30384,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"14625:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14640:8:62","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":32271,"src":"14625:23:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"14608:40:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30387,"name":"previousState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30375,"src":"14652:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":30388,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"14669:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14684:7:62","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":32272,"src":"14669:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"14652:39:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14608:83:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30400,"nodeType":"IfStatement","src":"14604:175:62","trueBody":{"id":30399,"nodeType":"Block","src":"14693:86:62","statements":[{"errorCall":{"arguments":[{"id":30393,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30345,"src":"14739:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30394,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30347,"src":"14751:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":30395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14768:1:62","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14751:18:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30392,"name":"PreviousMilestoneNotApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32194,"src":"14710:28:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14710:60:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30398,"nodeType":"RevertStatement","src":"14703:67:62"}]}}]}},{"expression":{"id":30413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":30403,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30357,"src":"14791:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30406,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14793:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"14791:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30407,"indexExpression":{"id":30405,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30345,"src":"14799:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14791:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":30408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14811:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"14791:30:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"id":30410,"indexExpression":{"id":30409,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30347,"src":"14822:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14791:46:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref"}},"id":30411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14838:10:62","memberName":"isApproved","nodeType":"MemberAccess","referencedDeclaration":32281,"src":"14791:57:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":30412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14851:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14791:64:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30414,"nodeType":"ExpressionStatement","src":"14791:64:62"},{"expression":{"id":30425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":30415,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30357,"src":"14861:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30418,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14863:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"14861:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30419,"indexExpression":{"id":30417,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30345,"src":"14869:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14861:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":30420,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14881:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"14861:30:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"id":30422,"indexExpression":{"id":30421,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30347,"src":"14892:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14861:46:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref"}},"id":30423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14908:6:62","memberName":"reason","nodeType":"MemberAccess","referencedDeclaration":32285,"src":"14861:53:62","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":30424,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30349,"src":"14917:6:62","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14861:62:62","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":30426,"nodeType":"ExpressionStatement","src":"14861:62:62"},{"eventCall":{"arguments":[{"id":30428,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30345,"src":"14953:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30429,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30347,"src":"14965:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30427,"name":"MilestoneValidated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32091,"src":"14934:18:62","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14934:46:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30431,"nodeType":"EmitStatement","src":"14929:51:62"}]},"documentation":{"id":30343,"nodeType":"StructuredDocumentation","src":"13871:215:62","text":" @notice Approves a milestone with a reason\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @param reason The reason for approving the milestone"},"functionSelector":"b3396778","id":30433,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":30352,"name":"GRANTS_APPROVER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29429,"src":"14237:20:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":30353,"kind":"modifierInvocation","modifierName":{"id":30351,"name":"onlyRoleOrGovernance","nameLocations":["14216:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29655,"src":"14216:20:62"},"nodeType":"ModifierInvocation","src":"14216:42:62"}],"name":"approveMilestoneWithReason","nameLocation":"14098:26:62","nodeType":"FunctionDefinition","parameters":{"id":30350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30345,"mutability":"mutable","name":"proposalId","nameLocation":"14138:10:62","nodeType":"VariableDeclaration","scope":30433,"src":"14130:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30344,"name":"uint256","nodeType":"ElementaryTypeName","src":"14130:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30347,"mutability":"mutable","name":"milestoneIndex","nameLocation":"14162:14:62","nodeType":"VariableDeclaration","scope":30433,"src":"14154:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30346,"name":"uint256","nodeType":"ElementaryTypeName","src":"14154:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30349,"mutability":"mutable","name":"reason","nameLocation":"14196:6:62","nodeType":"VariableDeclaration","scope":30433,"src":"14182:20:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30348,"name":"string","nodeType":"ElementaryTypeName","src":"14182:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14124:82:62"},"returnParameters":{"id":30354,"nodeType":"ParameterList","parameters":[],"src":"14259:0:62"},"scope":31377,"src":"14089:896:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32373],"body":{"id":30454,"nodeType":"Block","src":"15238:123:62","statements":[{"assignments":[30444],"declarations":[{"constant":false,"id":30444,"mutability":"mutable","name":"$","nameLocation":"15273:1:62","nodeType":"VariableDeclaration","scope":30454,"src":"15244:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30443,"nodeType":"UserDefinedTypeName","pathNode":{"id":30442,"name":"GrantsManagerStorage","nameLocations":["15244:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"15244:20:62"},"referencedDeclaration":29457,"src":"15244:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30447,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30445,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"15277:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15277:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15244:59:62"},{"expression":{"id":30452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":30448,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30444,"src":"15309:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15311:21:62","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":29456,"src":"15309:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":30451,"name":"minimumMilestoneCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30436,"src":"15335:21:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15309:47:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":30453,"nodeType":"ExpressionStatement","src":"15309:47:62"}]},"documentation":{"id":30434,"nodeType":"StructuredDocumentation","src":"14989:143:62","text":" @notice Sets the minimum number of milestones for a grant proposal\n @param minimumMilestoneCount The minimum milestone count"},"functionSelector":"b2a2eef9","id":30455,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":30439,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"15218:18:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":30440,"kind":"modifierInvocation","modifierName":{"id":30438,"name":"onlyRole","nameLocations":["15209:8:62"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"15209:8:62"},"nodeType":"ModifierInvocation","src":"15209:28:62"}],"name":"setMinimumMilestoneCount","nameLocation":"15144:24:62","nodeType":"FunctionDefinition","parameters":{"id":30437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30436,"mutability":"mutable","name":"minimumMilestoneCount","nameLocation":"15177:21:62","nodeType":"VariableDeclaration","scope":30455,"src":"15169:29:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30435,"name":"uint256","nodeType":"ElementaryTypeName","src":"15169:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15168:31:62"},"returnParameters":{"id":30441,"nodeType":"ParameterList","parameters":[],"src":"15238:0:62"},"scope":31377,"src":"15135:226:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32379],"body":{"id":30470,"nodeType":"Block","src":"15560:106:62","statements":[{"assignments":[30463],"declarations":[{"constant":false,"id":30463,"mutability":"mutable","name":"$","nameLocation":"15595:1:62","nodeType":"VariableDeclaration","scope":30470,"src":"15566:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30462,"nodeType":"UserDefinedTypeName","pathNode":{"id":30461,"name":"GrantsManagerStorage","nameLocations":["15566:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"15566:20:62"},"referencedDeclaration":29457,"src":"15566:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30466,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30464,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"15599:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15566:59:62"},{"expression":{"expression":{"id":30467,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30463,"src":"15638:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15640:21:62","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":29456,"src":"15638:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":30460,"id":30469,"nodeType":"Return","src":"15631:30:62"}]},"documentation":{"id":30456,"nodeType":"StructuredDocumentation","src":"15365:124:62","text":" @notice Returns the minimum milestone count for a proposal.\n @return uint256 The minimum milestone count."},"functionSelector":"01294764","id":30471,"implemented":true,"kind":"function","modifiers":[],"name":"getMinimumMilestoneCount","nameLocation":"15501:24:62","nodeType":"FunctionDefinition","parameters":{"id":30457,"nodeType":"ParameterList","parameters":[],"src":"15525:2:62"},"returnParameters":{"id":30460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30471,"src":"15551:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30458,"name":"uint256","nodeType":"ElementaryTypeName","src":"15551:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15550:9:62"},"scope":31377,"src":"15492:174:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32390],"body":{"id":30487,"nodeType":"Block","src":"15990:64:62","statements":[{"expression":{"arguments":[{"id":30483,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30474,"src":"16022:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30484,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30476,"src":"16034:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30482,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"16003:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$32274_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManagerV2.MilestoneState)"}},"id":30485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16003:46:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"functionReturnParameters":30481,"id":30486,"nodeType":"Return","src":"15996:53:62"}]},"documentation":{"id":30472,"nodeType":"StructuredDocumentation","src":"15670:210:62","text":" @notice Returns the state of a milestone\n @param proposalId The id of the proposal\n @param milestoneIndex The index of the milestone\n @return MilestoneState The state of the milestone"},"functionSelector":"e9af5d1b","id":30488,"implemented":true,"kind":"function","modifiers":[],"name":"milestoneState","nameLocation":"15892:14:62","nodeType":"FunctionDefinition","parameters":{"id":30477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30474,"mutability":"mutable","name":"proposalId","nameLocation":"15915:10:62","nodeType":"VariableDeclaration","scope":30488,"src":"15907:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30473,"name":"uint256","nodeType":"ElementaryTypeName","src":"15907:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30476,"mutability":"mutable","name":"milestoneIndex","nameLocation":"15935:14:62","nodeType":"VariableDeclaration","scope":30488,"src":"15927:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30475,"name":"uint256","nodeType":"ElementaryTypeName","src":"15927:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15906:44:62"},"returnParameters":{"id":30481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30488,"src":"15974:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":30479,"nodeType":"UserDefinedTypeName","pathNode":{"id":30478,"name":"MilestoneState","nameLocations":["15974:14:62"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"15974:14:62"},"referencedDeclaration":32274,"src":"15974:14:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"src":"15973:16:62"},"scope":31377,"src":"15883:171:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32429],"body":{"id":30574,"nodeType":"Block","src":"16247:739:62","statements":[{"assignments":[30499],"declarations":[{"constant":false,"id":30499,"mutability":"mutable","name":"$","nameLocation":"16282:1:62","nodeType":"VariableDeclaration","scope":30574,"src":"16253:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30498,"nodeType":"UserDefinedTypeName","pathNode":{"id":30497,"name":"GrantsManagerStorage","nameLocations":["16253:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"16253:20:62"},"referencedDeclaration":29457,"src":"16253:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30502,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30500,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"16286:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16286:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16253:59:62"},{"assignments":[30507],"declarations":[{"constant":false,"id":30507,"mutability":"mutable","name":"milestones","nameLocation":"16337:10:62","nodeType":"VariableDeclaration","scope":30574,"src":"16318:29:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone[]"},"typeName":{"baseType":{"id":30505,"nodeType":"UserDefinedTypeName","pathNode":{"id":30504,"name":"Milestone","nameLocations":["16318:9:62"],"nodeType":"IdentifierPath","referencedDeclaration":32286,"src":"16318:9:62"},"referencedDeclaration":32286,"src":"16318:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone"}},"id":30506,"nodeType":"ArrayTypeName","src":"16318:11:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone[]"}},"visibility":"internal"}],"id":30513,"initialValue":{"expression":{"baseExpression":{"expression":{"id":30508,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30499,"src":"16350:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30509,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16352:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"16350:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30511,"indexExpression":{"id":30510,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30491,"src":"16358:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16350:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":30512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16370:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"16350:30:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16318:62:62"},{"condition":{"arguments":[{"id":30515,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30491,"src":"16408:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30514,"name":"isGrantCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30163,"src":"16391:16:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":30516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16391:28:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30522,"nodeType":"IfStatement","src":"16387:89:62","trueBody":{"id":30521,"nodeType":"Block","src":"16421:55:62","statements":[{"errorCall":{"arguments":[{"id":30518,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30491,"src":"16458:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30517,"name":"GrantAlreadyCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32251,"src":"16436:21:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":30519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16436:33:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30520,"nodeType":"RevertStatement","src":"16429:40:62"}]}},{"condition":{"arguments":[{"id":30524,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30491,"src":"16501:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30523,"name":"isGrantRejected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29994,"src":"16485:15:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":30525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16485:27:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30531,"nodeType":"IfStatement","src":"16481:87:62","trueBody":{"id":30530,"nodeType":"Block","src":"16514:54:62","statements":[{"errorCall":{"arguments":[{"id":30527,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30491,"src":"16550:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30526,"name":"GrantAlreadyRejected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32256,"src":"16529:20:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":30528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16529:32:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30529,"nodeType":"RevertStatement","src":"16522:39:62"}]}},{"body":{"id":30564,"nodeType":"Block","src":"16659:181:62","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":30544,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30491,"src":"16690:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30545,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30533,"src":"16702:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30543,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"16671:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$32274_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManagerV2.MilestoneState)"}},"id":30546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16671:33:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":30547,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"16708:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16723:7:62","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":32270,"src":"16708:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"16671:59:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30563,"nodeType":"IfStatement","src":"16667:167:62","trueBody":{"id":30562,"nodeType":"Block","src":"16732:102:62","statements":[{"expression":{"id":30560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":30550,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30499,"src":"16774:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16776:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"16774:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30554,"indexExpression":{"id":30552,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30491,"src":"16782:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16774:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":30555,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16794:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"16774:30:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"id":30557,"indexExpression":{"id":30556,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30533,"src":"16805:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16774:33:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref"}},"id":30558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16808:10:62","memberName":"isRejected","nodeType":"MemberAccess","referencedDeclaration":32283,"src":"16774:44:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":30559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16821:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16774:51:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30561,"nodeType":"ExpressionStatement","src":"16774:51:62"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30536,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30533,"src":"16631:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":30537,"name":"milestones","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30507,"src":"16635:10:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":30538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16646:6:62","memberName":"length","nodeType":"MemberAccess","src":"16635:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16631:21:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30565,"initializationExpression":{"assignments":[30533],"declarations":[{"constant":false,"id":30533,"mutability":"mutable","name":"i","nameLocation":"16624:1:62","nodeType":"VariableDeclaration","scope":30565,"src":"16616:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30532,"name":"uint256","nodeType":"ElementaryTypeName","src":"16616:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":30535,"initialValue":{"hexValue":"30","id":30534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16628:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16616:13:62"},"loopExpression":{"expression":{"id":30541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16654:3:62","subExpression":{"id":30540,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30533,"src":"16654:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":30542,"nodeType":"ExpressionStatement","src":"16654:3:62"},"nodeType":"ForStatement","src":"16611:229:62"},{"expression":{"arguments":[{"id":30567,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30491,"src":"16934:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30566,"name":"_transferRemainingAmountToTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31294,"src":"16899:34:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":30568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16899:46:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30569,"nodeType":"ExpressionStatement","src":"16899:46:62"},{"eventCall":{"arguments":[{"id":30571,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30491,"src":"16970:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30570,"name":"GrantCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32139,"src":"16956:13:62","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":30572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16956:25:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30573,"nodeType":"EmitStatement","src":"16951:30:62"}]},"documentation":{"id":30489,"nodeType":"StructuredDocumentation","src":"16058:88:62","text":" @notice Rejects a milestone\n @param proposalId The ID of the proposal"},"functionSelector":"f23e227b","id":30575,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":30494,"name":"GRANTS_REJECTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29434,"src":"16225:20:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":30495,"kind":"modifierInvocation","modifierName":{"id":30493,"name":"onlyRoleOrGovernance","nameLocations":["16204:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29655,"src":"16204:20:62"},"nodeType":"ModifierInvocation","src":"16204:42:62"}],"name":"rejectMilestones","nameLocation":"16158:16:62","nodeType":"FunctionDefinition","parameters":{"id":30492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30491,"mutability":"mutable","name":"proposalId","nameLocation":"16183:10:62","nodeType":"VariableDeclaration","scope":30575,"src":"16175:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30490,"name":"uint256","nodeType":"ElementaryTypeName","src":"16175:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16174:20:62"},"returnParameters":{"id":30496,"nodeType":"ParameterList","parameters":[],"src":"16247:0:62"},"scope":31377,"src":"16149:837:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32437],"body":{"id":30595,"nodeType":"Block","src":"17242:115:62","statements":[{"assignments":[30585],"declarations":[{"constant":false,"id":30585,"mutability":"mutable","name":"$","nameLocation":"17277:1:62","nodeType":"VariableDeclaration","scope":30595,"src":"17248:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30584,"nodeType":"UserDefinedTypeName","pathNode":{"id":30583,"name":"GrantsManagerStorage","nameLocations":["17248:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"17248:20:62"},"referencedDeclaration":29457,"src":"17248:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30588,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30586,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"17281:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17281:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17248:59:62"},{"expression":{"expression":{"baseExpression":{"expression":{"id":30589,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30585,"src":"17320:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30590,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17322:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"17320:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30592,"indexExpression":{"id":30591,"name":"milestoneId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30578,"src":"17328:11:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17320:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":30593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17341:11:62","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":32291,"src":"17320:32:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":30582,"id":30594,"nodeType":"Return","src":"17313:39:62"}]},"documentation":{"id":30576,"nodeType":"StructuredDocumentation","src":"16990:159:62","text":" @notice Returns the total amount for milestones\n @param milestoneId The ID of the milestone\n @return The total amount for the milestones"},"functionSelector":"5ade3874","id":30596,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAmountForMilestones","nameLocation":"17161:27:62","nodeType":"FunctionDefinition","parameters":{"id":30579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30578,"mutability":"mutable","name":"milestoneId","nameLocation":"17197:11:62","nodeType":"VariableDeclaration","scope":30596,"src":"17189:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30577,"name":"uint256","nodeType":"ElementaryTypeName","src":"17189:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17188:21:62"},"returnParameters":{"id":30582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30581,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30596,"src":"17233:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30580,"name":"uint256","nodeType":"ElementaryTypeName","src":"17233:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17232:9:62"},"scope":31377,"src":"17152:205:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32445],"body":{"id":30760,"nodeType":"Block","src":"17721:1696:62","statements":[{"assignments":[30610],"declarations":[{"constant":false,"id":30610,"mutability":"mutable","name":"$","nameLocation":"17756:1:62","nodeType":"VariableDeclaration","scope":30760,"src":"17727:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30609,"nodeType":"UserDefinedTypeName","pathNode":{"id":30608,"name":"GrantsManagerStorage","nameLocations":["17727:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"17727:20:62"},"referencedDeclaration":29457,"src":"17727:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30613,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30611,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"17760:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17760:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17727:59:62"},{"assignments":[30616],"declarations":[{"constant":false,"id":30616,"mutability":"mutable","name":"m","nameLocation":"17815:1:62","nodeType":"VariableDeclaration","scope":30760,"src":"17793:23:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"},"typeName":{"id":30615,"nodeType":"UserDefinedTypeName","pathNode":{"id":30614,"name":"GrantProposal","nameLocations":["17793:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"17793:13:62"},"referencedDeclaration":32304,"src":"17793:13:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}},"visibility":"internal"}],"id":30621,"initialValue":{"baseExpression":{"expression":{"id":30617,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30610,"src":"17819:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17821:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"17819:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30620,"indexExpression":{"id":30619,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30599,"src":"17827:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17819:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"17793:45:62"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30622,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30601,"src":"17848:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"expression":{"id":30623,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30616,"src":"17866:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":30624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17868:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"17866:12:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"id":30625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17879:6:62","memberName":"length","nodeType":"MemberAccess","src":"17866:19:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17848:37:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30633,"nodeType":"IfStatement","src":"17844:114:62","trueBody":{"id":30632,"nodeType":"Block","src":"17887:71:62","statements":[{"errorCall":{"arguments":[{"id":30628,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30599,"src":"17924:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30629,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30601,"src":"17936:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30627,"name":"InvalidMilestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32218,"src":"17902:21:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17902:49:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30631,"nodeType":"RevertStatement","src":"17895:56:62"}]}},{"assignments":[30635],"declarations":[{"constant":false,"id":30635,"mutability":"mutable","name":"grantsReceiver","nameLocation":"17972:14:62","nodeType":"VariableDeclaration","scope":30760,"src":"17964:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30634,"name":"address","nodeType":"ElementaryTypeName","src":"17964:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":30638,"initialValue":{"expression":{"id":30636,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30616,"src":"17989:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":30637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17991:14:62","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":32297,"src":"17989:16:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17964:41:62"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":30642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":30639,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18015:3:62","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":30640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18019:6:62","memberName":"sender","nodeType":"MemberAccess","src":"18015:10:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30641,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30635,"src":"18029:14:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18015:28:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30650,"nodeType":"IfStatement","src":"18011:111:62","trueBody":{"id":30649,"nodeType":"Block","src":"18045:77:62","statements":[{"errorCall":{"arguments":[{"expression":{"id":30644,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18088:3:62","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":30645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18092:6:62","memberName":"sender","nodeType":"MemberAccess","src":"18088:10:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30646,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30635,"src":"18100:14:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":30643,"name":"CallerIsNotTheGrantReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32228,"src":"18060:27:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":30647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18060:55:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30648,"nodeType":"RevertStatement","src":"18053:62:62"}]}},{"assignments":[30653],"declarations":[{"constant":false,"id":30653,"mutability":"mutable","name":"milestone","nameLocation":"18213:9:62","nodeType":"VariableDeclaration","scope":30760,"src":"18196:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone"},"typeName":{"id":30652,"nodeType":"UserDefinedTypeName","pathNode":{"id":30651,"name":"Milestone","nameLocations":["18196:9:62"],"nodeType":"IdentifierPath","referencedDeclaration":32286,"src":"18196:9:62"},"referencedDeclaration":32286,"src":"18196:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone"}},"visibility":"internal"}],"id":30658,"initialValue":{"baseExpression":{"expression":{"id":30654,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30616,"src":"18225:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":30655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18227:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"18225:12:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"id":30657,"indexExpression":{"id":30656,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30601,"src":"18238:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18225:28:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref"}},"nodeType":"VariableDeclarationStatement","src":"18196:57:62"},{"assignments":[30661],"declarations":[{"constant":false,"id":30661,"mutability":"mutable","name":"_milestoneState","nameLocation":"18312:15:62","nodeType":"VariableDeclaration","scope":30760,"src":"18297:30:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":30660,"nodeType":"UserDefinedTypeName","pathNode":{"id":30659,"name":"MilestoneState","nameLocations":["18297:14:62"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"18297:14:62"},"referencedDeclaration":32274,"src":"18297:14:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"id":30666,"initialValue":{"arguments":[{"id":30663,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30599,"src":"18349:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30664,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30601,"src":"18361:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30662,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"18330:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$32274_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManagerV2.MilestoneState)"}},"id":30665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18330:46:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"18297:79:62"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":30675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30667,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30661,"src":"18386:15:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":30668,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"18405:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18420:8:62","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":32271,"src":"18405:23:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"18386:42:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30671,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30661,"src":"18432:15:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":30672,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"18451:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18466:7:62","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":32272,"src":"18451:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"18432:41:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18386:87:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30682,"nodeType":"IfStatement","src":"18382:170:62","trueBody":{"id":30681,"nodeType":"Block","src":"18475:77:62","statements":[{"errorCall":{"arguments":[{"id":30677,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30599,"src":"18518:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30678,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30601,"src":"18530:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30676,"name":"MilestoneNotApprovedByAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32211,"src":"18490:27:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18490:55:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30680,"nodeType":"RevertStatement","src":"18483:62:62"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30683,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30661,"src":"18706:15:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":30684,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"18725:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18740:7:62","memberName":"Claimed","nodeType":"MemberAccess","referencedDeclaration":32272,"src":"18725:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"18706:41:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30693,"nodeType":"IfStatement","src":"18702:120:62","trueBody":{"id":30692,"nodeType":"Block","src":"18749:73:62","statements":[{"errorCall":{"arguments":[{"id":30688,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30599,"src":"18788:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30689,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30601,"src":"18800:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30687,"name":"MilestoneAlreadyClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32201,"src":"18764:23:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18764:51:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30691,"nodeType":"RevertStatement","src":"18757:58:62"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":30699,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18906:4:62","typeDescriptions":{"typeIdentifier":"t_contract$_GrantsManagerV2_$31377","typeString":"contract GrantsManagerV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GrantsManagerV2_$31377","typeString":"contract GrantsManagerV2"}],"id":30698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18898:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30697,"name":"address","nodeType":"ElementaryTypeName","src":"18898:7:62","typeDescriptions":{}}},"id":30700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18898:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":30694,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30610,"src":"18881:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30695,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18883:4:62","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":29454,"src":"18881:6:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":30696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18888:9:62","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"18881:16:62","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":30701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18881:31:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":30702,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30653,"src":"18915:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":30703,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18925:6:62","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":32277,"src":"18915:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18881:50:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30719,"nodeType":"IfStatement","src":"18877:146:62","trueBody":{"id":30718,"nodeType":"Block","src":"18933:90:62","statements":[{"errorCall":{"arguments":[{"arguments":[{"arguments":[{"id":30711,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18991:4:62","typeDescriptions":{"typeIdentifier":"t_contract$_GrantsManagerV2_$31377","typeString":"contract GrantsManagerV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GrantsManagerV2_$31377","typeString":"contract GrantsManagerV2"}],"id":30710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18983:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30709,"name":"address","nodeType":"ElementaryTypeName","src":"18983:7:62","typeDescriptions":{}}},"id":30712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18983:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":30706,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30610,"src":"18966:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18968:4:62","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":29454,"src":"18966:6:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":30708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18973:9:62","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"18966:16:62","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":30713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18966:31:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":30714,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30653,"src":"18999:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":30715,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19009:6:62","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":32277,"src":"18999:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30705,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32238,"src":"18948:17:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18948:68:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30717,"nodeType":"RevertStatement","src":"18941:75:62"}]}},{"assignments":[30721],"declarations":[{"constant":false,"id":30721,"mutability":"mutable","name":"success","nameLocation":"19081:7:62","nodeType":"VariableDeclaration","scope":30760,"src":"19076:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30720,"name":"bool","nodeType":"ElementaryTypeName","src":"19076:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":30729,"initialValue":{"arguments":[{"id":30725,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30635,"src":"19107:14:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":30726,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30653,"src":"19123:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":30727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19133:6:62","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":32277,"src":"19123:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":30722,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30610,"src":"19091:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19093:4:62","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":29454,"src":"19091:6:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":30724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19098:8:62","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":62873,"src":"19091:15:62","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":30728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19091:49:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"19076:64:62"},{"condition":{"id":30731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19150:8:62","subExpression":{"id":30730,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30721,"src":"19151:7:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30736,"nodeType":"IfStatement","src":"19146:52:62","trueBody":{"id":30735,"nodeType":"Block","src":"19160:38:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":30732,"name":"TransferFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32231,"src":"19175:14:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":30733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19175:16:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30734,"nodeType":"RevertStatement","src":"19168:23:62"}]}},{"expression":{"id":30744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":30737,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30616,"src":"19253:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":30740,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19255:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"19253:12:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref[] storage ref"}},"id":30741,"indexExpression":{"id":30739,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30601,"src":"19266:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19253:28:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage","typeString":"struct IGrantsManagerV2.Milestone storage ref"}},"id":30742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19282:9:62","memberName":"isClaimed","nodeType":"MemberAccess","referencedDeclaration":32279,"src":"19253:38:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":30743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19294:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19253:45:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30745,"nodeType":"ExpressionStatement","src":"19253:45:62"},{"expression":{"id":30751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":30746,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30616,"src":"19304:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal storage pointer"}},"id":30748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19306:13:62","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":32293,"src":"19304:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"id":30749,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30653,"src":"19323:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":30750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19333:6:62","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":32277,"src":"19323:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19304:35:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":30752,"nodeType":"ExpressionStatement","src":"19304:35:62"},{"eventCall":{"arguments":[{"id":30754,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30599,"src":"19367:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30755,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30601,"src":"19379:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":30756,"name":"milestone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30653,"src":"19395:9:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":30757,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19405:6:62","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":32277,"src":"19395:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30753,"name":"MilestoneClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32100,"src":"19350:16:62","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":30758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19350:62:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30759,"nodeType":"EmitStatement","src":"19345:67:62"}]},"documentation":{"id":30597,"nodeType":"StructuredDocumentation","src":"17438:176:62","text":" @notice Claims funds for a validated milestone\n @param proposalId The ID of the grant proposal\n @param milestoneIndex The index of the milestone to claim"},"functionSelector":"c266aef7","id":30761,"implemented":true,"kind":"function","modifiers":[{"id":30604,"kind":"modifierInvocation","modifierName":{"id":30603,"name":"nonReentrant","nameLocations":["17694:12:62"],"nodeType":"IdentifierPath","referencedDeclaration":4232,"src":"17694:12:62"},"nodeType":"ModifierInvocation","src":"17694:12:62"},{"id":30606,"kind":"modifierInvocation","modifierName":{"id":30605,"name":"whenNotPaused","nameLocations":["17707:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"17707:13:62"},"nodeType":"ModifierInvocation","src":"17707:13:62"}],"name":"claimMilestone","nameLocation":"17626:14:62","nodeType":"FunctionDefinition","parameters":{"id":30602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30599,"mutability":"mutable","name":"proposalId","nameLocation":"17649:10:62","nodeType":"VariableDeclaration","scope":30761,"src":"17641:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30598,"name":"uint256","nodeType":"ElementaryTypeName","src":"17641:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30601,"mutability":"mutable","name":"milestoneIndex","nameLocation":"17669:14:62","nodeType":"VariableDeclaration","scope":30761,"src":"17661:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30600,"name":"uint256","nodeType":"ElementaryTypeName","src":"17661:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17640:44:62"},"returnParameters":{"id":30607,"nodeType":"ParameterList","parameters":[],"src":"17721:0:62"},"scope":31377,"src":"17617:1800:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32455],"body":{"id":30779,"nodeType":"Block","src":"19746:91:62","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":30777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":30772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30764,"src":"19778:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30773,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30766,"src":"19790:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30771,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"19759:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$32274_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManagerV2.MilestoneState)"}},"id":30774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19759:46:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":30775,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"19809:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":30776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19824:8:62","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":32271,"src":"19809:23:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"19759:73:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":30770,"id":30778,"nodeType":"Return","src":"19752:80:62"}]},"documentation":{"id":30762,"nodeType":"StructuredDocumentation","src":"19421:228:62","text":" @notice Returns if a milestone is claimable\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @return bool True if the milestone is claimable, false otherwise"},"functionSelector":"c1a45a6a","id":30780,"implemented":true,"kind":"function","modifiers":[],"name":"isClaimable","nameLocation":"19661:11:62","nodeType":"FunctionDefinition","parameters":{"id":30767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30764,"mutability":"mutable","name":"proposalId","nameLocation":"19681:10:62","nodeType":"VariableDeclaration","scope":30780,"src":"19673:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30763,"name":"uint256","nodeType":"ElementaryTypeName","src":"19673:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30766,"mutability":"mutable","name":"milestoneIndex","nameLocation":"19701:14:62","nodeType":"VariableDeclaration","scope":30780,"src":"19693:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30765,"name":"uint256","nodeType":"ElementaryTypeName","src":"19693:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19672:44:62"},"returnParameters":{"id":30770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30769,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30780,"src":"19740:4:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30768,"name":"bool","nodeType":"ElementaryTypeName","src":"19740:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19739:6:62"},"scope":31377,"src":"19652:185:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32399],"body":{"id":30837,"nodeType":"Block","src":"20096:448:62","statements":[{"assignments":[30791],"declarations":[{"constant":false,"id":30791,"mutability":"mutable","name":"$","nameLocation":"20131:1:62","nodeType":"VariableDeclaration","scope":30837,"src":"20102:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30790,"nodeType":"UserDefinedTypeName","pathNode":{"id":30789,"name":"GrantsManagerStorage","nameLocations":["20102:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"20102:20:62"},"referencedDeclaration":29457,"src":"20102:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30794,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30792,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"20135:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20135:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20102:59:62"},{"assignments":[30799],"declarations":[{"constant":false,"id":30799,"mutability":"mutable","name":"proposalState","nameLocation":"20195:13:62","nodeType":"VariableDeclaration","scope":30837,"src":"20167:41:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":30798,"nodeType":"UserDefinedTypeName","pathNode":{"id":30797,"name":"GovernorTypes.ProposalState","nameLocations":["20167:13:62","20181:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"20167:27:62"},"referencedDeclaration":61406,"src":"20167:27:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"id":30805,"initialValue":{"arguments":[{"id":30803,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30783,"src":"20228:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":30800,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30791,"src":"20211:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20213:8:62","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":29448,"src":"20211:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":30802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20222:5:62","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":63327,"src":"20211:16:62","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view external returns (enum GovernorTypes.ProposalState)"}},"id":30804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20211:28:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"20167:72:62"},{"condition":{"arguments":[{"id":30807,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30783,"src":"20266:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30806,"name":"isGrantRejected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29994,"src":"20250:15:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":30808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20250:27:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30813,"nodeType":"IfStatement","src":"20246:74:62","trueBody":{"id":30812,"nodeType":"Block","src":"20279:41:62","statements":[{"expression":{"expression":{"id":30809,"name":"GrantState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32268,"src":"20294:10:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GrantState_$32268_$","typeString":"type(enum IGrantsManagerV2.GrantState)"}},"id":30810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20305:8:62","memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":32260,"src":"20294:19:62","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$32268","typeString":"enum IGrantsManagerV2.GrantState"}},"functionReturnParameters":30788,"id":30811,"nodeType":"Return","src":"20287:26:62"}]}},{"condition":{"arguments":[{"id":30815,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30783,"src":"20351:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30814,"name":"isGrantInDevelopment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30081,"src":"20330:20:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":30816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20330:32:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30821,"nodeType":"IfStatement","src":"20326:84:62","trueBody":{"id":30820,"nodeType":"Block","src":"20364:46:62","statements":[{"expression":{"expression":{"id":30817,"name":"GrantState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32268,"src":"20379:10:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GrantState_$32268_$","typeString":"type(enum IGrantsManagerV2.GrantState)"}},"id":30818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20390:13:62","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":32266,"src":"20379:24:62","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$32268","typeString":"enum IGrantsManagerV2.GrantState"}},"functionReturnParameters":30788,"id":30819,"nodeType":"Return","src":"20372:31:62"}]}},{"condition":{"arguments":[{"id":30823,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30783,"src":"20437:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30822,"name":"isGrantCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30163,"src":"20420:16:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":30824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20420:28:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30829,"nodeType":"IfStatement","src":"20416:76:62","trueBody":{"id":30828,"nodeType":"Block","src":"20450:42:62","statements":[{"expression":{"expression":{"id":30825,"name":"GrantState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32268,"src":"20465:10:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GrantState_$32268_$","typeString":"type(enum IGrantsManagerV2.GrantState)"}},"id":30826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20476:9:62","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":32267,"src":"20465:20:62","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$32268","typeString":"enum IGrantsManagerV2.GrantState"}},"functionReturnParameters":30788,"id":30827,"nodeType":"Return","src":"20458:27:62"}]}},{"expression":{"arguments":[{"arguments":[{"id":30833,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30799,"src":"20524:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"id":30832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20516:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":30831,"name":"uint256","nodeType":"ElementaryTypeName","src":"20516:7:62","typeDescriptions":{}}},"id":30834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20516:22:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30830,"name":"GrantState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32268,"src":"20505:10:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GrantState_$32268_$","typeString":"type(enum IGrantsManagerV2.GrantState)"}},"id":30835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20505:34:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$32268","typeString":"enum IGrantsManagerV2.GrantState"}},"functionReturnParameters":30788,"id":30836,"nodeType":"Return","src":"20498:41:62"}]},"documentation":{"id":30781,"nodeType":"StructuredDocumentation","src":"19841:177:62","text":" @notice Returns the state of a grant {see IGrantsManager:GrantState }\n @param proposalId The id of the proposal\n @return GrantState The state of the grant"},"functionSelector":"bfda4e7c","id":30838,"implemented":true,"kind":"function","modifiers":[],"name":"grantState","nameLocation":"20030:10:62","nodeType":"FunctionDefinition","parameters":{"id":30784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30783,"mutability":"mutable","name":"proposalId","nameLocation":"20049:10:62","nodeType":"VariableDeclaration","scope":30838,"src":"20041:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30782,"name":"uint256","nodeType":"ElementaryTypeName","src":"20041:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20040:20:62"},"returnParameters":{"id":30788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30787,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30838,"src":"20084:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$32268","typeString":"enum IGrantsManagerV2.GrantState"},"typeName":{"id":30786,"nodeType":"UserDefinedTypeName","pathNode":{"id":30785,"name":"GrantState","nameLocations":["20084:10:62"],"nodeType":"IdentifierPath","referencedDeclaration":32268,"src":"20084:10:62"},"referencedDeclaration":32268,"src":"20084:10:62","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$32268","typeString":"enum IGrantsManagerV2.GrantState"}},"visibility":"internal"}],"src":"20083:12:62"},"scope":31377,"src":"20021:523:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32461],"body":{"id":30861,"nodeType":"Block","src":"20825:113:62","statements":[{"assignments":[30849],"declarations":[{"constant":false,"id":30849,"mutability":"mutable","name":"$","nameLocation":"20860:1:62","nodeType":"VariableDeclaration","scope":30861,"src":"20831:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30848,"nodeType":"UserDefinedTypeName","pathNode":{"id":30847,"name":"GrantsManagerStorage","nameLocations":["20831:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"20831:20:62"},"referencedDeclaration":29457,"src":"20831:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30852,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30850,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"20864:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20864:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20831:59:62"},{"expression":{"id":30859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":30853,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30849,"src":"20896:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30855,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20898:8:62","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":29448,"src":"20896:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":30857,"name":"_governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30841,"src":"20923:9:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":30856,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"20909:13:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":30858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20909:24:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"20896:37:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":30860,"nodeType":"ExpressionStatement","src":"20896:37:62"}]},"documentation":{"id":30839,"nodeType":"StructuredDocumentation","src":"20628:108:62","text":" @notice Sets the governor contract\n @param _governor The address of the governor contract"},"functionSelector":"06c49822","id":30862,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":30844,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"20805:18:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":30845,"kind":"modifierInvocation","modifierName":{"id":30843,"name":"onlyRole","nameLocations":["20796:8:62"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"20796:8:62"},"nodeType":"ModifierInvocation","src":"20796:28:62"}],"name":"setGovernorContract","nameLocation":"20748:19:62","nodeType":"FunctionDefinition","parameters":{"id":30842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30841,"mutability":"mutable","name":"_governor","nameLocation":"20776:9:62","nodeType":"VariableDeclaration","scope":30862,"src":"20768:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30840,"name":"address","nodeType":"ElementaryTypeName","src":"20768:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20767:19:62"},"returnParameters":{"id":30846,"nodeType":"ParameterList","parameters":[],"src":"20825:0:62"},"scope":31377,"src":"20739:199:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32473],"body":{"id":30880,"nodeType":"Block","src":"21110:102:62","statements":[{"assignments":[30870],"declarations":[{"constant":false,"id":30870,"mutability":"mutable","name":"$","nameLocation":"21145:1:62","nodeType":"VariableDeclaration","scope":30880,"src":"21116:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30869,"nodeType":"UserDefinedTypeName","pathNode":{"id":30868,"name":"GrantsManagerStorage","nameLocations":["21116:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"21116:20:62"},"referencedDeclaration":29457,"src":"21116:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30873,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30871,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"21149:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21149:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21116:59:62"},{"expression":{"arguments":[{"expression":{"id":30876,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30870,"src":"21196:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30877,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21198:8:62","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":29448,"src":"21196:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":30875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21188:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30874,"name":"address","nodeType":"ElementaryTypeName","src":"21188:7:62","typeDescriptions":{}}},"id":30878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21188:19:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":30867,"id":30879,"nodeType":"Return","src":"21181:26:62"}]},"documentation":{"id":30863,"nodeType":"StructuredDocumentation","src":"20942:102:62","text":" @notice Returns the governor contract\n @return The address of the governor contract"},"functionSelector":"0019cce6","id":30881,"implemented":true,"kind":"function","modifiers":[],"name":"getGovernorContract","nameLocation":"21056:19:62","nodeType":"FunctionDefinition","parameters":{"id":30864,"nodeType":"ParameterList","parameters":[],"src":"21075:2:62"},"returnParameters":{"id":30867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30881,"src":"21101:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30865,"name":"address","nodeType":"ElementaryTypeName","src":"21101:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21100:9:62"},"scope":31377,"src":"21047:165:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32499],"body":{"id":30912,"nodeType":"Block","src":"21626:193:62","statements":[{"assignments":[30894],"declarations":[{"constant":false,"id":30894,"mutability":"mutable","name":"$","nameLocation":"21661:1:62","nodeType":"VariableDeclaration","scope":30912,"src":"21632:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30893,"nodeType":"UserDefinedTypeName","pathNode":{"id":30892,"name":"GrantsManagerStorage","nameLocations":["21632:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"21632:20:62"},"referencedDeclaration":29457,"src":"21632:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30897,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30895,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"21665:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21665:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21632:59:62"},{"expression":{"id":30905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":30898,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30894,"src":"21697:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30901,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21699:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"21697:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30902,"indexExpression":{"id":30900,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30884,"src":"21705:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21697:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":30903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21717:14:62","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":32297,"src":"21697:34:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":30904,"name":"newGrantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30886,"src":"21734:17:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21697:54:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":30906,"nodeType":"ExpressionStatement","src":"21697:54:62"},{"eventCall":{"arguments":[{"id":30908,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30884,"src":"21784:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30909,"name":"newGrantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30886,"src":"21796:17:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":30907,"name":"GrantsReceiverUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32121,"src":"21762:21:62","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":30910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21762:52:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30911,"nodeType":"EmitStatement","src":"21757:57:62"}]},"documentation":{"id":30882,"nodeType":"StructuredDocumentation","src":"21216:266:62","text":" @notice Updates the grants receiver address\n @param proposalId The ID of the proposal\n @param newGrantsReceiver The address of the grants receiver contract\n @dev Only the grants receiver or governance can update the grants receiver address"},"functionSelector":"e03d759b","id":30913,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":30889,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30884,"src":"21614:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":30890,"kind":"modifierInvocation","modifierName":{"id":30888,"name":"onlyGrantsReceiverOrGovernance","nameLocations":["21583:30:62"],"nodeType":"IdentifierPath","referencedDeclaration":29710,"src":"21583:30:62"},"nodeType":"ModifierInvocation","src":"21583:42:62"}],"name":"updateGrantsReceiver","nameLocation":"21494:20:62","nodeType":"FunctionDefinition","parameters":{"id":30887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30884,"mutability":"mutable","name":"proposalId","nameLocation":"21528:10:62","nodeType":"VariableDeclaration","scope":30913,"src":"21520:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30883,"name":"uint256","nodeType":"ElementaryTypeName","src":"21520:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30886,"mutability":"mutable","name":"newGrantsReceiver","nameLocation":"21552:17:62","nodeType":"VariableDeclaration","scope":30913,"src":"21544:25:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30885,"name":"address","nodeType":"ElementaryTypeName","src":"21544:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21514:59:62"},"returnParameters":{"id":30891,"nodeType":"ParameterList","parameters":[],"src":"21626:0:62"},"scope":31377,"src":"21485:334:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32507],"body":{"id":30933,"nodeType":"Block","src":"22064:117:62","statements":[{"assignments":[30923],"declarations":[{"constant":false,"id":30923,"mutability":"mutable","name":"$","nameLocation":"22099:1:62","nodeType":"VariableDeclaration","scope":30933,"src":"22070:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30922,"nodeType":"UserDefinedTypeName","pathNode":{"id":30921,"name":"GrantsManagerStorage","nameLocations":["22070:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"22070:20:62"},"referencedDeclaration":29457,"src":"22070:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30926,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30924,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"22103:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22103:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22070:59:62"},{"expression":{"expression":{"baseExpression":{"expression":{"id":30927,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30923,"src":"22142:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30928,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22144:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"22142:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":30930,"indexExpression":{"id":30929,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30916,"src":"22150:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22142:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":30931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22162:14:62","memberName":"grantsReceiver","nodeType":"MemberAccess","referencedDeclaration":32297,"src":"22142:34:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":30920,"id":30932,"nodeType":"Return","src":"22135:41:62"}]},"documentation":{"id":30914,"nodeType":"StructuredDocumentation","src":"21823:152:62","text":" @notice Returns the grants receiver address\n @param proposalId The ID of the proposal\n @return The address of the grants receiver"},"functionSelector":"da104fac","id":30934,"implemented":true,"kind":"function","modifiers":[],"name":"getGrantsReceiverAddress","nameLocation":"21987:24:62","nodeType":"FunctionDefinition","parameters":{"id":30917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30916,"mutability":"mutable","name":"proposalId","nameLocation":"22020:10:62","nodeType":"VariableDeclaration","scope":30934,"src":"22012:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30915,"name":"uint256","nodeType":"ElementaryTypeName","src":"22012:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22011:20:62"},"returnParameters":{"id":30920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30919,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30934,"src":"22055:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30918,"name":"address","nodeType":"ElementaryTypeName","src":"22055:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22054:9:62"},"scope":31377,"src":"21978:203:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32467],"body":{"id":30957,"nodeType":"Block","src":"22382:109:62","statements":[{"assignments":[30945],"declarations":[{"constant":false,"id":30945,"mutability":"mutable","name":"$","nameLocation":"22417:1:62","nodeType":"VariableDeclaration","scope":30957,"src":"22388:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30944,"nodeType":"UserDefinedTypeName","pathNode":{"id":30943,"name":"GrantsManagerStorage","nameLocations":["22388:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"22388:20:62"},"referencedDeclaration":29457,"src":"22388:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30948,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30946,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"22421:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22421:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22388:59:62"},{"expression":{"id":30955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":30949,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30945,"src":"22453:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30951,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22455:8:62","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":29451,"src":"22453:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":30953,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30937,"src":"22476:9:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":30952,"name":"ITreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67241,"src":"22466:9:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITreasury_$67241_$","typeString":"type(contract ITreasury)"}},"id":30954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22466:20:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"src":"22453:33:62","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"id":30956,"nodeType":"ExpressionStatement","src":"22453:33:62"}]},"documentation":{"id":30935,"nodeType":"StructuredDocumentation","src":"22185:108:62","text":" @notice Sets the treasury contract\n @param _treasury The address of the treasury contract"},"functionSelector":"1ed65110","id":30958,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":30940,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"22362:18:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":30941,"kind":"modifierInvocation","modifierName":{"id":30939,"name":"onlyRole","nameLocations":["22353:8:62"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22353:8:62"},"nodeType":"ModifierInvocation","src":"22353:28:62"}],"name":"setTreasuryContract","nameLocation":"22305:19:62","nodeType":"FunctionDefinition","parameters":{"id":30938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30937,"mutability":"mutable","name":"_treasury","nameLocation":"22333:9:62","nodeType":"VariableDeclaration","scope":30958,"src":"22325:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30936,"name":"address","nodeType":"ElementaryTypeName","src":"22325:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22324:19:62"},"returnParameters":{"id":30942,"nodeType":"ParameterList","parameters":[],"src":"22382:0:62"},"scope":31377,"src":"22296:195:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32479],"body":{"id":30976,"nodeType":"Block","src":"22663:102:62","statements":[{"assignments":[30966],"declarations":[{"constant":false,"id":30966,"mutability":"mutable","name":"$","nameLocation":"22698:1:62","nodeType":"VariableDeclaration","scope":30976,"src":"22669:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30965,"nodeType":"UserDefinedTypeName","pathNode":{"id":30964,"name":"GrantsManagerStorage","nameLocations":["22669:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"22669:20:62"},"referencedDeclaration":29457,"src":"22669:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30969,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30967,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"22702:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22702:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22669:59:62"},{"expression":{"arguments":[{"expression":{"id":30972,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30966,"src":"22749:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22751:8:62","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":29451,"src":"22749:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}],"id":30971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22741:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30970,"name":"address","nodeType":"ElementaryTypeName","src":"22741:7:62","typeDescriptions":{}}},"id":30974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22741:19:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":30963,"id":30975,"nodeType":"Return","src":"22734:26:62"}]},"documentation":{"id":30959,"nodeType":"StructuredDocumentation","src":"22495:102:62","text":" @notice Returns the treasury contract\n @return The address of the treasury contract"},"functionSelector":"26c74fc3","id":30977,"implemented":true,"kind":"function","modifiers":[],"name":"getTreasuryContract","nameLocation":"22609:19:62","nodeType":"FunctionDefinition","parameters":{"id":30960,"nodeType":"ParameterList","parameters":[],"src":"22628:2:62"},"returnParameters":{"id":30963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30977,"src":"22654:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30961,"name":"address","nodeType":"ElementaryTypeName","src":"22654:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22653:9:62"},"scope":31377,"src":"22600:165:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32485],"body":{"id":30995,"nodeType":"Block","src":"22925:98:62","statements":[{"assignments":[30985],"declarations":[{"constant":false,"id":30985,"mutability":"mutable","name":"$","nameLocation":"22960:1:62","nodeType":"VariableDeclaration","scope":30995,"src":"22931:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":30984,"nodeType":"UserDefinedTypeName","pathNode":{"id":30983,"name":"GrantsManagerStorage","nameLocations":["22931:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"22931:20:62"},"referencedDeclaration":29457,"src":"22931:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":30988,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30986,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"22964:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":30987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22964:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22931:59:62"},{"expression":{"arguments":[{"expression":{"id":30991,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30985,"src":"23011:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":30992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23013:4:62","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":29454,"src":"23011:6:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}],"id":30990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23003:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30989,"name":"address","nodeType":"ElementaryTypeName","src":"23003:7:62","typeDescriptions":{}}},"id":30993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23003:15:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":30982,"id":30994,"nodeType":"Return","src":"22996:22:62"}]},"documentation":{"id":30978,"nodeType":"StructuredDocumentation","src":"22769:94:62","text":" @notice Returns the b3tr contract\n @return The address of the b3tr contract"},"functionSelector":"c4ec8f98","id":30996,"implemented":true,"kind":"function","modifiers":[],"name":"getB3trContract","nameLocation":"22875:15:62","nodeType":"FunctionDefinition","parameters":{"id":30979,"nodeType":"ParameterList","parameters":[],"src":"22890:2:62"},"returnParameters":{"id":30982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30981,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":30996,"src":"22916:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30980,"name":"address","nodeType":"ElementaryTypeName","src":"22916:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22915:9:62"},"scope":31377,"src":"22866:157:62","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[32491],"body":{"id":31019,"nodeType":"Block","src":"23204:97:62","statements":[{"assignments":[31007],"declarations":[{"constant":false,"id":31007,"mutability":"mutable","name":"$","nameLocation":"23239:1:62","nodeType":"VariableDeclaration","scope":31019,"src":"23210:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":31006,"nodeType":"UserDefinedTypeName","pathNode":{"id":31005,"name":"GrantsManagerStorage","nameLocations":["23210:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"23210:20:62"},"referencedDeclaration":29457,"src":"23210:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":31010,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":31008,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"23243:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":31009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23243:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"23210:59:62"},{"expression":{"id":31017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":31011,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31007,"src":"23275:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31013,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"23277:4:62","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":29454,"src":"23275:6:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":31015,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30999,"src":"23290:5:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":31014,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"23284:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":31016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23284:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"23275:21:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":31018,"nodeType":"ExpressionStatement","src":"23275:21:62"}]},"documentation":{"id":30997,"nodeType":"StructuredDocumentation","src":"23027:96:62","text":" @notice Sets the b3tr contract\n @param _b3tr The address of the b3tr contract"},"functionSelector":"54b90b7b","id":31020,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":31002,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"23184:18:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":31003,"kind":"modifierInvocation","modifierName":{"id":31001,"name":"onlyRole","nameLocations":["23175:8:62"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"23175:8:62"},"nodeType":"ModifierInvocation","src":"23175:28:62"}],"name":"setB3trContract","nameLocation":"23135:15:62","nodeType":"FunctionDefinition","parameters":{"id":31000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30999,"mutability":"mutable","name":"_b3tr","nameLocation":"23159:5:62","nodeType":"VariableDeclaration","scope":31020,"src":"23151:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30998,"name":"address","nodeType":"ElementaryTypeName","src":"23151:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23150:15:62"},"returnParameters":{"id":31004,"nodeType":"ParameterList","parameters":[],"src":"23204:0:62"},"scope":31377,"src":"23126:175:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":31030,"nodeType":"Block","src":"23520:19:62","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31027,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"23526:6:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23526:8:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31029,"nodeType":"ExpressionStatement","src":"23526:8:62"}]},"documentation":{"id":31021,"nodeType":"StructuredDocumentation","src":"23305:154:62","text":" @notice Pauses all token transfers and minting functions\n @dev Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE"},"functionSelector":"8456cb59","id":31031,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":31024,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29439,"src":"23507:11:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":31025,"kind":"modifierInvocation","modifierName":{"id":31023,"name":"onlyRoleOrGovernance","nameLocations":["23486:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29655,"src":"23486:20:62"},"nodeType":"ModifierInvocation","src":"23486:33:62"}],"name":"pause","nameLocation":"23471:5:62","nodeType":"FunctionDefinition","parameters":{"id":31022,"nodeType":"ParameterList","parameters":[],"src":"23476:2:62"},"returnParameters":{"id":31026,"nodeType":"ParameterList","parameters":[],"src":"23520:0:62"},"scope":31377,"src":"23462:77:62","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":31041,"nodeType":"Block","src":"23771:21:62","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31038,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"23777:8:62","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23777:10:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31040,"nodeType":"ExpressionStatement","src":"23777:10:62"}]},"documentation":{"id":31032,"nodeType":"StructuredDocumentation","src":"23543:165:62","text":" @notice Unpauses the contract to resume token transfers and minting\n @dev Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE"},"functionSelector":"3f4ba83a","id":31042,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":31035,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29439,"src":"23758:11:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":31036,"kind":"modifierInvocation","modifierName":{"id":31034,"name":"onlyRoleOrGovernance","nameLocations":["23737:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29655,"src":"23737:20:62"},"nodeType":"ModifierInvocation","src":"23737:33:62"}],"name":"unpause","nameLocation":"23720:7:62","nodeType":"FunctionDefinition","parameters":{"id":31033,"nodeType":"ParameterList","parameters":[],"src":"23727:2:62"},"returnParameters":{"id":31037,"nodeType":"ParameterList","parameters":[],"src":"23771:0:62"},"scope":31377,"src":"23711:81:62","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[32515],"body":{"id":31083,"nodeType":"Block","src":"24302:299:62","statements":[{"assignments":[31052],"declarations":[{"constant":false,"id":31052,"mutability":"mutable","name":"$","nameLocation":"24337:1:62","nodeType":"VariableDeclaration","scope":31083,"src":"24308:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":31051,"nodeType":"UserDefinedTypeName","pathNode":{"id":31050,"name":"GrantsManagerStorage","nameLocations":["24308:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"24308:20:62"},"referencedDeclaration":29457,"src":"24308:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":31055,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":31053,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"24341:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":31054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24341:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24308:59:62"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":31063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":31056,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24377:3:62","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":31057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24381:6:62","memberName":"sender","nodeType":"MemberAccess","src":"24377:10:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"expression":{"id":31058,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31052,"src":"24391:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24393:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"24391:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":31061,"indexExpression":{"id":31060,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31045,"src":"24399:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24391:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":31062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24411:8:62","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":32295,"src":"24391:28:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24377:42:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31068,"nodeType":"IfStatement","src":"24373:85:62","trueBody":{"id":31067,"nodeType":"Block","src":"24421:37:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":31064,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32204,"src":"24436:13:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":31065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24436:15:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31066,"nodeType":"RevertStatement","src":"24429:22:62"}]}},{"expression":{"id":31076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":31069,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31052,"src":"24463:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24465:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"24463:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":31073,"indexExpression":{"id":31071,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31045,"src":"24471:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24463:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":31074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24483:11:62","memberName":"metadataURI","nodeType":"MemberAccess","referencedDeclaration":32303,"src":"24463:31:62","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":31075,"name":"newMilestoneMetadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31047,"src":"24497:23:62","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"24463:57:62","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":31077,"nodeType":"ExpressionStatement","src":"24463:57:62"},{"eventCall":{"arguments":[{"id":31079,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31045,"src":"24560:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31080,"name":"newMilestoneMetadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31047,"src":"24572:23:62","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31078,"name":"MilestoneMetadataURIUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32114,"src":"24532:27:62","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":31081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24532:64:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31082,"nodeType":"EmitStatement","src":"24527:69:62"}]},"documentation":{"id":31043,"nodeType":"StructuredDocumentation","src":"23862:333:62","text":" @notice Updates the metadata URI for a milestone\n @param proposalId The ID of the proposal\n @param newMilestoneMetadataURI The new IPFS hash containing the updated milestone descriptions\n @notice The JSON is {milestone1: {details: ..., duration: timestamp}, milestone2: {details: ..., duration: timestamp}}"},"functionSelector":"c42433b4","id":31084,"implemented":true,"kind":"function","modifiers":[],"name":"updateMilestoneMetadataURI","nameLocation":"24207:26:62","nodeType":"FunctionDefinition","parameters":{"id":31048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31045,"mutability":"mutable","name":"proposalId","nameLocation":"24242:10:62","nodeType":"VariableDeclaration","scope":31084,"src":"24234:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31044,"name":"uint256","nodeType":"ElementaryTypeName","src":"24234:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31047,"mutability":"mutable","name":"newMilestoneMetadataURI","nameLocation":"24268:23:62","nodeType":"VariableDeclaration","scope":31084,"src":"24254:37:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31046,"name":"string","nodeType":"ElementaryTypeName","src":"24254:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24233:59:62"},"returnParameters":{"id":31049,"nodeType":"ParameterList","parameters":[],"src":"24302:0:62"},"scope":31377,"src":"24198:403:62","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[32523],"body":{"id":31104,"nodeType":"Block","src":"24856:114:62","statements":[{"assignments":[31094],"declarations":[{"constant":false,"id":31094,"mutability":"mutable","name":"$","nameLocation":"24891:1:62","nodeType":"VariableDeclaration","scope":31104,"src":"24862:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":31093,"nodeType":"UserDefinedTypeName","pathNode":{"id":31092,"name":"GrantsManagerStorage","nameLocations":["24862:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"24862:20:62"},"referencedDeclaration":29457,"src":"24862:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":31097,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":31095,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"24895:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":31096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24895:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24862:59:62"},{"expression":{"expression":{"baseExpression":{"expression":{"id":31098,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31094,"src":"24934:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24936:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"24934:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":31101,"indexExpression":{"id":31100,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31087,"src":"24942:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24934:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":31102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24954:11:62","memberName":"metadataURI","nodeType":"MemberAccess","referencedDeclaration":32303,"src":"24934:31:62","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":31091,"id":31103,"nodeType":"Return","src":"24927:38:62"}]},"documentation":{"id":31085,"nodeType":"StructuredDocumentation","src":"24605:157:62","text":" @notice Returns the metadata URI for a milestone\n @param proposalId The ID of the proposal\n @return The metadata URI for the milestone"},"functionSelector":"cff28c70","id":31105,"implemented":true,"kind":"function","modifiers":[],"name":"getMilestoneMetadataURI","nameLocation":"24774:23:62","nodeType":"FunctionDefinition","parameters":{"id":31088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31087,"mutability":"mutable","name":"proposalId","nameLocation":"24806:10:62","nodeType":"VariableDeclaration","scope":31105,"src":"24798:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31086,"name":"uint256","nodeType":"ElementaryTypeName","src":"24798:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24797:20:62"},"returnParameters":{"id":31091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31105,"src":"24841:13:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31089,"name":"string","nodeType":"ElementaryTypeName","src":"24841:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24840:15:62"},"scope":31377,"src":"24765:205:62","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":31222,"nodeType":"Block","src":"25140:1052:62","statements":[{"assignments":[31114],"declarations":[{"constant":false,"id":31114,"mutability":"mutable","name":"$","nameLocation":"25175:1:62","nodeType":"VariableDeclaration","scope":31222,"src":"25146:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":31113,"nodeType":"UserDefinedTypeName","pathNode":{"id":31112,"name":"GrantsManagerStorage","nameLocations":["25146:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"25146:20:62"},"referencedDeclaration":29457,"src":"25146:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":31117,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":31115,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"25179:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":31116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25179:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"25146:59:62"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":31125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":31118,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25216:3:62","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":31119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25220:6:62","memberName":"sender","nodeType":"MemberAccess","src":"25216:10:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":31122,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31114,"src":"25238:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25240:8:62","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":29448,"src":"25238:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":31121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25230:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31120,"name":"address","nodeType":"ElementaryTypeName","src":"25230:7:62","typeDescriptions":{}}},"id":31124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25230:19:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25216:33:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31130,"nodeType":"IfStatement","src":"25212:76:62","trueBody":{"id":31129,"nodeType":"Block","src":"25251:37:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":31126,"name":"NotAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32204,"src":"25266:13:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":31127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25266:15:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31128,"nodeType":"RevertStatement","src":"25259:22:62"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":31137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":31131,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"25324:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25330:8:62","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":32295,"src":"25324:14:62","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":31135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25350:1:62","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":31134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25342:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31133,"name":"address","nodeType":"ElementaryTypeName","src":"25342:7:62","typeDescriptions":{}}},"id":31136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25342:10:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25324:28:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31142,"nodeType":"IfStatement","src":"25320:86:62","trueBody":{"id":31141,"nodeType":"Block","src":"25354:52:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":31138,"name":"MilestoneProposerZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32221,"src":"25369:28:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":31139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25369:30:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31140,"nodeType":"RevertStatement","src":"25362:37:62"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":31145,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"25471:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25477:11:62","memberName":"metadataURI","nodeType":"MemberAccess","referencedDeclaration":32303,"src":"25471:17:62","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25465:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31143,"name":"bytes","nodeType":"ElementaryTypeName","src":"25465:5:62","typeDescriptions":{}}},"id":31147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25465:24:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":31148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25490:6:62","memberName":"length","nodeType":"MemberAccess","src":"25465:31:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":31149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25500:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25465:36:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31155,"nodeType":"IfStatement","src":"25461:98:62","trueBody":{"id":31154,"nodeType":"Block","src":"25503:56:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":31151,"name":"MilestoneDetailsMetadataURIEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32241,"src":"25518:32:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":31152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25518:34:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31153,"nodeType":"RevertStatement","src":"25511:41:62"}]}},{"body":{"id":31181,"nodeType":"Block","src":"25655:99:62","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":31168,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"25667:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25673:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"25667:16:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":31171,"indexExpression":{"id":31170,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31157,"src":"25684:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25667:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory"}},"id":31172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25687:6:62","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":32277,"src":"25667:26:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":31173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25697:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25667:31:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31180,"nodeType":"IfStatement","src":"25663:85:62","trueBody":{"id":31179,"nodeType":"Block","src":"25700:48:62","statements":[{"errorCall":{"arguments":[{"id":31176,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31157,"src":"25737:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31175,"name":"MilestoneAmountZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32164,"src":"25717:19:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":31177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25717:22:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31178,"nodeType":"RevertStatement","src":"25710:29:62"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31160,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31157,"src":"25621:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":31161,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"25625:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25631:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"25625:16:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":31163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25642:6:62","memberName":"length","nodeType":"MemberAccess","src":"25625:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25621:27:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31182,"initializationExpression":{"assignments":[31157],"declarations":[{"constant":false,"id":31157,"mutability":"mutable","name":"i","nameLocation":"25614:1:62","nodeType":"VariableDeclaration","scope":31182,"src":"25606:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31156,"name":"uint256","nodeType":"ElementaryTypeName","src":"25606:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":31159,"initialValue":{"hexValue":"30","id":31158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25618:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"25606:13:62"},"loopExpression":{"expression":{"id":31166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"25650:3:62","subExpression":{"id":31165,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31157,"src":"25650:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":31167,"nodeType":"ExpressionStatement","src":"25650:3:62"},"nodeType":"ForStatement","src":"25601:153:62"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":31183,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"25764:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25770:11:62","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":32291,"src":"25764:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":31185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25785:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25764:22:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31191,"nodeType":"IfStatement","src":"25760:76:62","trueBody":{"id":31190,"nodeType":"Block","src":"25788:48:62","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":31187,"name":"MilestoneTotalAmountZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32167,"src":"25803:24:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":31188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25803:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31189,"nodeType":"RevertStatement","src":"25796:33:62"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":31192,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"25846:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25852:13:62","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":32293,"src":"25846:19:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":31194,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"25868:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25874:11:62","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":32291,"src":"25868:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25846:39:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31205,"nodeType":"IfStatement","src":"25842:147:62","trueBody":{"id":31204,"nodeType":"Block","src":"25887:102:62","statements":[{"errorCall":{"arguments":[{"expression":{"id":31198,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"25943:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31199,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25949:13:62","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":32293,"src":"25943:19:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":31200,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"25964:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31201,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25970:11:62","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":32291,"src":"25964:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31197,"name":"MilestoneClaimedAmountExceedsTotalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32174,"src":"25902:40:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25902:80:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31203,"nodeType":"RevertStatement","src":"25895:87:62"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":31206,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"26040:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26046:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"26040:16:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":31208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26057:6:62","memberName":"length","nodeType":"MemberAccess","src":"26040:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":31209,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31114,"src":"26066:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31210,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26068:21:62","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":29456,"src":"26066:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26040:49:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31221,"nodeType":"IfStatement","src":"26036:152:62","trueBody":{"id":31220,"nodeType":"Block","src":"26091:97:62","statements":[{"errorCall":{"arguments":[{"expression":{"expression":{"id":31213,"name":"grant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31109,"src":"26132:5:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal memory"}},"id":31214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26138:10:62","memberName":"milestones","nodeType":"MemberAccess","referencedDeclaration":32301,"src":"26132:16:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone memory[] memory"}},"id":31215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26149:6:62","memberName":"length","nodeType":"MemberAccess","src":"26132:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":31216,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31114,"src":"26157:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26159:21:62","memberName":"minimumMilestoneCount","nodeType":"MemberAccess","referencedDeclaration":29456,"src":"26157:23:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31212,"name":"InvalidNumberOfMilestones","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32181,"src":"26106:25:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26106:75:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31219,"nodeType":"RevertStatement","src":"26099:82:62"}]}}]},"documentation":{"id":31106,"nodeType":"StructuredDocumentation","src":"24974:92:62","text":" @notice Validates the milestones\n @param grant The milestones to validate"},"id":31223,"implemented":true,"kind":"function","modifiers":[],"name":"_validateMilestones","nameLocation":"25078:19:62","nodeType":"FunctionDefinition","parameters":{"id":31110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31109,"mutability":"mutable","name":"grant","nameLocation":"25119:5:62","nodeType":"VariableDeclaration","scope":31223,"src":"25098:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"},"typeName":{"id":31108,"nodeType":"UserDefinedTypeName","pathNode":{"id":31107,"name":"GrantProposal","nameLocations":["25098:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"25098:13:62"},"referencedDeclaration":32304,"src":"25098:13:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}},"visibility":"internal"}],"src":"25097:28:62"},"returnParameters":{"id":31111,"nodeType":"ParameterList","parameters":[],"src":"25140:0:62"},"scope":31377,"src":"25069:1123:62","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":31293,"nodeType":"Block","src":"26387:601:62","statements":[{"assignments":[31231],"declarations":[{"constant":false,"id":31231,"mutability":"mutable","name":"$","nameLocation":"26422:1:62","nodeType":"VariableDeclaration","scope":31293,"src":"26393:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":31230,"nodeType":"UserDefinedTypeName","pathNode":{"id":31229,"name":"GrantsManagerStorage","nameLocations":["26393:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"26393:20:62"},"referencedDeclaration":29457,"src":"26393:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":31234,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":31232,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"26426:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":31233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26426:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"26393:59:62"},{"assignments":[31236],"declarations":[{"constant":false,"id":31236,"mutability":"mutable","name":"remainingAmount","nameLocation":"26466:15:62","nodeType":"VariableDeclaration","scope":31293,"src":"26458:23:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31235,"name":"uint256","nodeType":"ElementaryTypeName","src":"26458:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":31248,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":31237,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31231,"src":"26484:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26486:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"26484:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":31240,"indexExpression":{"id":31239,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31226,"src":"26492:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26484:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":31241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26504:11:62","memberName":"totalAmount","nodeType":"MemberAccess","referencedDeclaration":32291,"src":"26484:31:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"baseExpression":{"expression":{"id":31242,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31231,"src":"26518:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26520:5:62","memberName":"grant","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"26518:7:62","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_GrantProposal_$32304_storage_$","typeString":"mapping(uint256 => struct IGrantsManagerV2.GrantProposal storage ref)"}},"id":31245,"indexExpression":{"id":31244,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31226,"src":"26526:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26518:19:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage","typeString":"struct IGrantsManagerV2.GrantProposal storage ref"}},"id":31246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26538:13:62","memberName":"claimedAmount","nodeType":"MemberAccess","referencedDeclaration":32293,"src":"26518:33:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26484:67:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26458:93:62"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31249,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31236,"src":"26561:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":31250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26579:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26561:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31287,"nodeType":"IfStatement","src":"26557:344:62","trueBody":{"id":31286,"nodeType":"Block","src":"26582:319:62","statements":[{"assignments":[31253],"declarations":[{"constant":false,"id":31253,"mutability":"mutable","name":"currentBalance","nameLocation":"26663:14:62","nodeType":"VariableDeclaration","scope":31286,"src":"26655:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31252,"name":"uint256","nodeType":"ElementaryTypeName","src":"26655:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":31262,"initialValue":{"arguments":[{"arguments":[{"id":31259,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"26705:4:62","typeDescriptions":{"typeIdentifier":"t_contract$_GrantsManagerV2_$31377","typeString":"contract GrantsManagerV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GrantsManagerV2_$31377","typeString":"contract GrantsManagerV2"}],"id":31258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26697:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31257,"name":"address","nodeType":"ElementaryTypeName","src":"26697:7:62","typeDescriptions":{}}},"id":31260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26697:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":31254,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31231,"src":"26680:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26682:4:62","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":29454,"src":"26680:6:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":31256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26687:9:62","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"26680:16:62","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":31261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26680:31:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26655:56:62"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31263,"name":"currentBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31253,"src":"26723:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":31264,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31236,"src":"26740:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26723:32:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31272,"nodeType":"IfStatement","src":"26719:114:62","trueBody":{"id":31271,"nodeType":"Block","src":"26757:76:62","statements":[{"errorCall":{"arguments":[{"id":31267,"name":"currentBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31253,"src":"26792:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31268,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31236,"src":"26808:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31266,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32238,"src":"26774:17:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26774:50:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31270,"nodeType":"RevertStatement","src":"26767:57:62"}]}},{"expression":{"arguments":[{"arguments":[{"expression":{"id":31280,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31231,"src":"26865:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26867:8:62","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":29451,"src":"26865:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}],"id":31279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26857:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31278,"name":"address","nodeType":"ElementaryTypeName","src":"26857:7:62","typeDescriptions":{}}},"id":31282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26857:19:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31283,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31236,"src":"26878:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":31273,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31231,"src":"26841:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26843:4:62","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":29454,"src":"26841:6:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":31277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26848:8:62","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":62873,"src":"26841:15:62","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":31284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26841:53:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31285,"nodeType":"ExpressionStatement","src":"26841:53:62"}]}},{"eventCall":{"arguments":[{"id":31289,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31226,"src":"26955:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31290,"name":"remainingAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31236,"src":"26967:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31288,"name":"MilestoneRejectedAndFundsReturnedToTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32107,"src":"26911:43:62","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26911:72:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31292,"nodeType":"EmitStatement","src":"26906:77:62"}]},"documentation":{"id":31224,"nodeType":"StructuredDocumentation","src":"26196:115:62","text":" @notice Transfers the remaining amount to the treasury\n @param proposalId The ID of the proposal"},"id":31294,"implemented":true,"kind":"function","modifiers":[],"name":"_transferRemainingAmountToTreasury","nameLocation":"26323:34:62","nodeType":"FunctionDefinition","parameters":{"id":31227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31226,"mutability":"mutable","name":"proposalId","nameLocation":"26366:10:62","nodeType":"VariableDeclaration","scope":31294,"src":"26358:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31225,"name":"uint256","nodeType":"ElementaryTypeName","src":"26358:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26357:20:62"},"returnParameters":{"id":31228,"nodeType":"ParameterList","parameters":[],"src":"26387:0:62"},"scope":31377,"src":"26314:674:62","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":31328,"nodeType":"Block","src":"27167:265:62","statements":[{"assignments":[31302],"declarations":[{"constant":false,"id":31302,"mutability":"mutable","name":"$","nameLocation":"27202:1:62","nodeType":"VariableDeclaration","scope":31328,"src":"27173:30:62","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"},"typeName":{"id":31301,"nodeType":"UserDefinedTypeName","pathNode":{"id":31300,"name":"GrantsManagerStorage","nameLocations":["27173:20:62"],"nodeType":"IdentifierPath","referencedDeclaration":29457,"src":"27173:20:62"},"referencedDeclaration":29457,"src":"27173:20:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage"}},"visibility":"internal"}],"id":31305,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":31303,"name":"_getGrantsManagerStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"27206:24:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GrantsManagerStorage_$29457_storage_ptr_$","typeString":"function () pure returns (struct GrantsManagerV2.GrantsManagerStorage storage pointer)"}},"id":31304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27206:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"27173:59:62"},{"assignments":[31310],"declarations":[{"constant":false,"id":31310,"mutability":"mutable","name":"proposalState","nameLocation":"27266:13:62","nodeType":"VariableDeclaration","scope":31328,"src":"27238:41:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":31309,"nodeType":"UserDefinedTypeName","pathNode":{"id":31308,"name":"GovernorTypes.ProposalState","nameLocations":["27238:13:62","27252:13:62"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"27238:27:62"},"referencedDeclaration":61406,"src":"27238:27:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"id":31316,"initialValue":{"arguments":[{"id":31314,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31297,"src":"27299:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":31311,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31302,"src":"27282:1:62","typeDescriptions":{"typeIdentifier":"t_struct$_GrantsManagerStorage_$29457_storage_ptr","typeString":"struct GrantsManagerV2.GrantsManagerStorage storage pointer"}},"id":31312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27284:8:62","memberName":"governor","nodeType":"MemberAccess","referencedDeclaration":29448,"src":"27282:10:62","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":31313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27293:5:62","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":63327,"src":"27282:16:62","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view external returns (enum GovernorTypes.ProposalState)"}},"id":31315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27282:28:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"27238:72:62"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":31321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31317,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31310,"src":"27320:13:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":31318,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"27337:13:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":31319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27351:13:62","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"27337:27:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":31320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27365:8:62","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"27337:36:62","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"27320:53:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31327,"nodeType":"IfStatement","src":"27316:112:62","trueBody":{"id":31326,"nodeType":"Block","src":"27375:53:62","statements":[{"errorCall":{"arguments":[{"id":31323,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31297,"src":"27410:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31322,"name":"ProposalNotExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32246,"src":"27390:19:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":31324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27390:31:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31325,"nodeType":"RevertStatement","src":"27383:38:62"}]}}]},"documentation":{"id":31295,"nodeType":"StructuredDocumentation","src":"26992:109:62","text":" @notice Checks if the proposal state is executed\n @param proposalId The ID of the proposal"},"id":31329,"implemented":true,"kind":"function","modifiers":[],"name":"_checkProposalState","nameLocation":"27113:19:62","nodeType":"FunctionDefinition","parameters":{"id":31298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31297,"mutability":"mutable","name":"proposalId","nameLocation":"27141:10:62","nodeType":"VariableDeclaration","scope":31329,"src":"27133:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31296,"name":"uint256","nodeType":"ElementaryTypeName","src":"27133:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27132:20:62"},"returnParameters":{"id":31299,"nodeType":"ParameterList","parameters":[],"src":"27167:0:62"},"scope":31377,"src":"27104:328:62","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":31355,"nodeType":"Block","src":"27690:205:62","statements":[{"assignments":[31339],"declarations":[{"constant":false,"id":31339,"mutability":"mutable","name":"_milestoneState","nameLocation":"27711:15:62","nodeType":"VariableDeclaration","scope":31355,"src":"27696:30:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":31338,"nodeType":"UserDefinedTypeName","pathNode":{"id":31337,"name":"MilestoneState","nameLocations":["27696:14:62"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"27696:14:62"},"referencedDeclaration":32274,"src":"27696:14:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"id":31344,"initialValue":{"arguments":[{"id":31341,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31332,"src":"27748:10:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31342,"name":"milestoneIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31334,"src":"27760:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31340,"name":"_getMilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"27729:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_enum$_MilestoneState_$32274_$","typeString":"function (uint256,uint256) view returns (enum IGrantsManagerV2.MilestoneState)"}},"id":31343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27729:46:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"VariableDeclarationStatement","src":"27696:79:62"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"id":31348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31345,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31339,"src":"27785:15:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":31346,"name":"MilestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32274,"src":"27804:14:62","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_MilestoneState_$32274_$","typeString":"type(enum IGrantsManagerV2.MilestoneState)"}},"id":31347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27819:7:62","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":32270,"src":"27804:22:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"src":"27785:41:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31354,"nodeType":"IfStatement","src":"27781:110:62","trueBody":{"id":31353,"nodeType":"Block","src":"27828:63:62","statements":[{"errorCall":{"arguments":[{"id":31350,"name":"_milestoneState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31339,"src":"27868:15:62","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}],"id":31349,"name":"MilestoneStateNotPending","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32187,"src":"27843:24:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_enum$_MilestoneState_$32274_$returns$__$","typeString":"function (enum IGrantsManagerV2.MilestoneState) pure"}},"id":31351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27843:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31352,"nodeType":"RevertStatement","src":"27836:48:62"}]}}]},"documentation":{"id":31330,"nodeType":"StructuredDocumentation","src":"27436:163:62","text":" @notice Checks if the milestone state is pending\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"id":31356,"implemented":true,"kind":"function","modifiers":[],"name":"_checkMilestoneState","nameLocation":"27611:20:62","nodeType":"FunctionDefinition","parameters":{"id":31335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31332,"mutability":"mutable","name":"proposalId","nameLocation":"27640:10:62","nodeType":"VariableDeclaration","scope":31356,"src":"27632:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31331,"name":"uint256","nodeType":"ElementaryTypeName","src":"27632:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31334,"mutability":"mutable","name":"milestoneIndex","nameLocation":"27660:14:62","nodeType":"VariableDeclaration","scope":31356,"src":"27652:22:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31333,"name":"uint256","nodeType":"ElementaryTypeName","src":"27652:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27631:44:62"},"returnParameters":{"id":31336,"nodeType":"ParameterList","parameters":[],"src":"27690:0:62"},"scope":31377,"src":"27602:293:62","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":31364,"nodeType":"Block","src":"28052:19:62","statements":[{"expression":{"hexValue":"32","id":31362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28065:1:62","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"functionReturnParameters":31361,"id":31363,"nodeType":"Return","src":"28058:8:62"}]},"documentation":{"id":31357,"nodeType":"StructuredDocumentation","src":"27899:99:62","text":" @notice Returns the version of the contract\n @return The version of the contract"},"functionSelector":"54fd4d50","id":31365,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"28010:7:62","nodeType":"FunctionDefinition","parameters":{"id":31358,"nodeType":"ParameterList","parameters":[],"src":"28017:2:62"},"returnParameters":{"id":31361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31360,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31365,"src":"28043:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31359,"name":"uint256","nodeType":"ElementaryTypeName","src":"28043:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28042:9:62"},"scope":31377,"src":"28001:70:62","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":31375,"nodeType":"Block","src":"28352:2:62","statements":[]},"documentation":{"id":31366,"nodeType":"StructuredDocumentation","src":"28131:122:62","text":" @notice Authorize upgrade for UUPS\n @dev Only addresses with the UPGRADER_ROLE can upgrade the contract"},"id":31376,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":31372,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29424,"src":"28337:13:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":31373,"kind":"modifierInvocation","modifierName":{"id":31371,"name":"onlyRole","nameLocations":["28328:8:62"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"28328:8:62"},"nodeType":"ModifierInvocation","src":"28328:23:62"}],"name":"_authorizeUpgrade","nameLocation":"28265:17:62","nodeType":"FunctionDefinition","overrides":{"id":31370,"nodeType":"OverrideSpecifier","overrides":[],"src":"28319:8:62"},"parameters":{"id":31369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31368,"mutability":"mutable","name":"newImplementation","nameLocation":"28291:17:62","nodeType":"VariableDeclaration","scope":31376,"src":"28283:25:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31367,"name":"address","nodeType":"ElementaryTypeName","src":"28283:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28282:27:62"},"returnParameters":{"id":31374,"nodeType":"ParameterList","parameters":[],"src":"28352:0:62"},"scope":31377,"src":"28256:98:62","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":31378,"src":"2298:26058:62","usedErrors":[1495,1498,1759,1764,4026,4029,4194,4342,4345,4738,4751,5344,5347,32144,32147,32152,32159,32164,32167,32174,32181,32187,32194,32201,32204,32211,32218,32221,32228,32231,32238,32241,32246,32251,32256],"usedEvents":[1503,4018,4023,4354,4363,4372,4717,32091,32100,32107,32114,32121,32134,32139]}],"src":"1195:27162:62"},"id":62},"contracts/deprecated/V2/interfaces/IGalaxyMemberV2.sol":{"ast":{"absolutePath":"contracts/deprecated/V2/interfaces/IGalaxyMemberV2.sol","exportedSymbols":{"Checkpoints":[10447],"IGalaxyMemberV2":[32081],"Math":[7015]},"id":32082,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":31379,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:63"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":31380,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":32082,"sourceUnit":10448,"src":"58:63:63","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IGalaxyMemberV2","contractDependencies":[],"contractKind":"interface","documentation":{"id":31381,"nodeType":"StructuredDocumentation","src":"123:258:63","text":" @title IGalaxyMember\n @notice Interface for the GalaxyMember contract which handles NFT membership and governance functionality\n @dev Implements ERC721 with additional features for level upgrades, node attachments, and governance participation"},"fullyImplemented":false,"id":32081,"linearizedBaseContracts":[32081],"name":"IGalaxyMemberV2","nameLocation":"392:15:63","nodeType":"ContractDefinition","nodes":[{"errorSelector":"6697b232","id":31383,"name":"AccessControlBadConfirmation","nameLocation":"437:28:63","nodeType":"ErrorDefinition","parameters":{"id":31382,"nodeType":"ParameterList","parameters":[],"src":"465:2:63"},"src":"431:37:63"},{"errorSelector":"e2517d3f","id":31389,"name":"AccessControlUnauthorizedAccount","nameLocation":"477:32:63","nodeType":"ErrorDefinition","parameters":{"id":31388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31385,"mutability":"mutable","name":"account","nameLocation":"518:7:63","nodeType":"VariableDeclaration","scope":31389,"src":"510:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31384,"name":"address","nodeType":"ElementaryTypeName","src":"510:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31387,"mutability":"mutable","name":"neededRole","nameLocation":"535:10:63","nodeType":"VariableDeclaration","scope":31389,"src":"527:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31386,"name":"bytes32","nodeType":"ElementaryTypeName","src":"527:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"509:37:63"},"src":"471:76:63"},{"errorSelector":"9996b315","id":31393,"name":"AddressEmptyCode","nameLocation":"556:16:63","nodeType":"ErrorDefinition","parameters":{"id":31392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31391,"mutability":"mutable","name":"target","nameLocation":"581:6:63","nodeType":"VariableDeclaration","scope":31393,"src":"573:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31390,"name":"address","nodeType":"ElementaryTypeName","src":"573:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"572:16:63"},"src":"550:39:63"},{"errorSelector":"4c9c8ce3","id":31397,"name":"ERC1967InvalidImplementation","nameLocation":"598:28:63","nodeType":"ErrorDefinition","parameters":{"id":31396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31395,"mutability":"mutable","name":"implementation","nameLocation":"635:14:63","nodeType":"VariableDeclaration","scope":31397,"src":"627:22:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31394,"name":"address","nodeType":"ElementaryTypeName","src":"627:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"626:24:63"},"src":"592:59:63"},{"errorSelector":"b398979f","id":31399,"name":"ERC1967NonPayable","nameLocation":"660:17:63","nodeType":"ErrorDefinition","parameters":{"id":31398,"nodeType":"ParameterList","parameters":[],"src":"677:2:63"},"src":"654:26:63"},{"errorSelector":"ecd3f81e","id":31405,"name":"ERC5805FutureLookup","nameLocation":"689:19:63","nodeType":"ErrorDefinition","parameters":{"id":31404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31401,"mutability":"mutable","name":"timepoint","nameLocation":"717:9:63","nodeType":"VariableDeclaration","scope":31405,"src":"709:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31400,"name":"uint256","nodeType":"ElementaryTypeName","src":"709:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31403,"mutability":"mutable","name":"clock","nameLocation":"735:5:63","nodeType":"VariableDeclaration","scope":31405,"src":"728:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":31402,"name":"uint48","nodeType":"ElementaryTypeName","src":"728:6:63","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"708:33:63"},"src":"683:59:63"},{"errorSelector":"6ff07140","id":31407,"name":"ERC6372InconsistentClock","nameLocation":"751:24:63","nodeType":"ErrorDefinition","parameters":{"id":31406,"nodeType":"ParameterList","parameters":[],"src":"775:2:63"},"src":"745:33:63"},{"errorSelector":"59171fc1","id":31409,"name":"ERC721EnumerableForbiddenBatchMint","nameLocation":"787:34:63","nodeType":"ErrorDefinition","parameters":{"id":31408,"nodeType":"ParameterList","parameters":[],"src":"821:2:63"},"src":"781:43:63"},{"errorSelector":"64283d7b","id":31417,"name":"ERC721IncorrectOwner","nameLocation":"833:20:63","nodeType":"ErrorDefinition","parameters":{"id":31416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31411,"mutability":"mutable","name":"sender","nameLocation":"862:6:63","nodeType":"VariableDeclaration","scope":31417,"src":"854:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31410,"name":"address","nodeType":"ElementaryTypeName","src":"854:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31413,"mutability":"mutable","name":"tokenId","nameLocation":"878:7:63","nodeType":"VariableDeclaration","scope":31417,"src":"870:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31412,"name":"uint256","nodeType":"ElementaryTypeName","src":"870:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31415,"mutability":"mutable","name":"owner","nameLocation":"895:5:63","nodeType":"VariableDeclaration","scope":31417,"src":"887:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31414,"name":"address","nodeType":"ElementaryTypeName","src":"887:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"853:48:63"},"src":"827:75:63"},{"errorSelector":"177e802f","id":31423,"name":"ERC721InsufficientApproval","nameLocation":"911:26:63","nodeType":"ErrorDefinition","parameters":{"id":31422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31419,"mutability":"mutable","name":"operator","nameLocation":"946:8:63","nodeType":"VariableDeclaration","scope":31423,"src":"938:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31418,"name":"address","nodeType":"ElementaryTypeName","src":"938:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31421,"mutability":"mutable","name":"tokenId","nameLocation":"964:7:63","nodeType":"VariableDeclaration","scope":31423,"src":"956:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31420,"name":"uint256","nodeType":"ElementaryTypeName","src":"956:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"937:35:63"},"src":"905:68:63"},{"errorSelector":"a9fbf51f","id":31427,"name":"ERC721InvalidApprover","nameLocation":"982:21:63","nodeType":"ErrorDefinition","parameters":{"id":31426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31425,"mutability":"mutable","name":"approver","nameLocation":"1012:8:63","nodeType":"VariableDeclaration","scope":31427,"src":"1004:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31424,"name":"address","nodeType":"ElementaryTypeName","src":"1004:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1003:18:63"},"src":"976:46:63"},{"errorSelector":"5b08ba18","id":31431,"name":"ERC721InvalidOperator","nameLocation":"1031:21:63","nodeType":"ErrorDefinition","parameters":{"id":31430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31429,"mutability":"mutable","name":"operator","nameLocation":"1061:8:63","nodeType":"VariableDeclaration","scope":31431,"src":"1053:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31428,"name":"address","nodeType":"ElementaryTypeName","src":"1053:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1052:18:63"},"src":"1025:46:63"},{"errorSelector":"89c62b64","id":31435,"name":"ERC721InvalidOwner","nameLocation":"1080:18:63","nodeType":"ErrorDefinition","parameters":{"id":31434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31433,"mutability":"mutable","name":"owner","nameLocation":"1107:5:63","nodeType":"VariableDeclaration","scope":31435,"src":"1099:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31432,"name":"address","nodeType":"ElementaryTypeName","src":"1099:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1098:15:63"},"src":"1074:40:63"},{"errorSelector":"64a0ae92","id":31439,"name":"ERC721InvalidReceiver","nameLocation":"1123:21:63","nodeType":"ErrorDefinition","parameters":{"id":31438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31437,"mutability":"mutable","name":"receiver","nameLocation":"1153:8:63","nodeType":"VariableDeclaration","scope":31439,"src":"1145:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31436,"name":"address","nodeType":"ElementaryTypeName","src":"1145:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1144:18:63"},"src":"1117:46:63"},{"errorSelector":"73c6ac6e","id":31443,"name":"ERC721InvalidSender","nameLocation":"1172:19:63","nodeType":"ErrorDefinition","parameters":{"id":31442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31441,"mutability":"mutable","name":"sender","nameLocation":"1200:6:63","nodeType":"VariableDeclaration","scope":31443,"src":"1192:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31440,"name":"address","nodeType":"ElementaryTypeName","src":"1192:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1191:16:63"},"src":"1166:42:63"},{"errorSelector":"7e273289","id":31447,"name":"ERC721NonexistentToken","nameLocation":"1217:22:63","nodeType":"ErrorDefinition","parameters":{"id":31446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31445,"mutability":"mutable","name":"tokenId","nameLocation":"1248:7:63","nodeType":"VariableDeclaration","scope":31447,"src":"1240:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31444,"name":"uint256","nodeType":"ElementaryTypeName","src":"1240:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1239:17:63"},"src":"1211:46:63"},{"errorSelector":"a57d13dc","id":31453,"name":"ERC721OutOfBoundsIndex","nameLocation":"1266:22:63","nodeType":"ErrorDefinition","parameters":{"id":31452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31449,"mutability":"mutable","name":"owner","nameLocation":"1297:5:63","nodeType":"VariableDeclaration","scope":31453,"src":"1289:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31448,"name":"address","nodeType":"ElementaryTypeName","src":"1289:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31451,"mutability":"mutable","name":"index","nameLocation":"1312:5:63","nodeType":"VariableDeclaration","scope":31453,"src":"1304:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31450,"name":"uint256","nodeType":"ElementaryTypeName","src":"1304:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1288:30:63"},"src":"1260:59:63"},{"errorSelector":"d93c0665","id":31455,"name":"EnforcedPause","nameLocation":"1328:13:63","nodeType":"ErrorDefinition","parameters":{"id":31454,"nodeType":"ParameterList","parameters":[],"src":"1341:2:63"},"src":"1322:22:63"},{"errorSelector":"8dfc202b","id":31457,"name":"ExpectedPause","nameLocation":"1353:13:63","nodeType":"ErrorDefinition","parameters":{"id":31456,"nodeType":"ParameterList","parameters":[],"src":"1366:2:63"},"src":"1347:22:63"},{"errorSelector":"1425ea42","id":31459,"name":"FailedInnerCall","nameLocation":"1378:15:63","nodeType":"ErrorDefinition","parameters":{"id":31458,"nodeType":"ParameterList","parameters":[],"src":"1393:2:63"},"src":"1372:24:63"},{"errorSelector":"f92ee8a9","id":31461,"name":"InvalidInitialization","nameLocation":"1405:21:63","nodeType":"ErrorDefinition","parameters":{"id":31460,"nodeType":"ParameterList","parameters":[],"src":"1426:2:63"},"src":"1399:30:63"},{"errorSelector":"d7e6bcf8","id":31463,"name":"NotInitializing","nameLocation":"1438:15:63","nodeType":"ErrorDefinition","parameters":{"id":31462,"nodeType":"ParameterList","parameters":[],"src":"1453:2:63"},"src":"1432:24:63"},{"errorSelector":"3ee5aeb5","id":31465,"name":"ReentrancyGuardReentrantCall","nameLocation":"1465:28:63","nodeType":"ErrorDefinition","parameters":{"id":31464,"nodeType":"ParameterList","parameters":[],"src":"1493:2:63"},"src":"1459:37:63"},{"errorSelector":"e07c8dba","id":31467,"name":"UUPSUnauthorizedCallContext","nameLocation":"1505:27:63","nodeType":"ErrorDefinition","parameters":{"id":31466,"nodeType":"ParameterList","parameters":[],"src":"1532:2:63"},"src":"1499:36:63"},{"errorSelector":"aa1d49a4","id":31471,"name":"UUPSUnsupportedProxiableUUID","nameLocation":"1544:28:63","nodeType":"ErrorDefinition","parameters":{"id":31470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31469,"mutability":"mutable","name":"slot","nameLocation":"1581:4:63","nodeType":"VariableDeclaration","scope":31471,"src":"1573:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1573:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1572:14:63"},"src":"1538:49:63"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":31479,"name":"Approval","nameLocation":"1609:8:63","nodeType":"EventDefinition","parameters":{"id":31478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31473,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"1634:5:63","nodeType":"VariableDeclaration","scope":31479,"src":"1618:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31472,"name":"address","nodeType":"ElementaryTypeName","src":"1618:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31475,"indexed":true,"mutability":"mutable","name":"approved","nameLocation":"1657:8:63","nodeType":"VariableDeclaration","scope":31479,"src":"1641:24:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31474,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31477,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"1683:7:63","nodeType":"VariableDeclaration","scope":31479,"src":"1667:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31476,"name":"uint256","nodeType":"ElementaryTypeName","src":"1667:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1617:74:63"},"src":"1603:89:63"},{"anonymous":false,"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","id":31487,"name":"ApprovalForAll","nameLocation":"1701:14:63","nodeType":"EventDefinition","parameters":{"id":31486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31481,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"1732:5:63","nodeType":"VariableDeclaration","scope":31487,"src":"1716:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31480,"name":"address","nodeType":"ElementaryTypeName","src":"1716:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31483,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"1755:8:63","nodeType":"VariableDeclaration","scope":31487,"src":"1739:24:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31482,"name":"address","nodeType":"ElementaryTypeName","src":"1739:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31485,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"1770:8:63","nodeType":"VariableDeclaration","scope":31487,"src":"1765:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31484,"name":"bool","nodeType":"ElementaryTypeName","src":"1765:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1715:64:63"},"src":"1695:85:63"},{"anonymous":false,"eventSelector":"0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf870","id":31492,"name":"B3TRtoUpgradeToLevelUpdated","nameLocation":"1789:27:63","nodeType":"EventDefinition","parameters":{"id":31491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31490,"indexed":true,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"1835:20:63","nodeType":"VariableDeclaration","scope":31492,"src":"1817:38:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":31488,"name":"uint256","nodeType":"ElementaryTypeName","src":"1817:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":31489,"nodeType":"ArrayTypeName","src":"1817:9:63","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1816:40:63"},"src":"1783:74:63"},{"anonymous":false,"eventSelector":"95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a8270","id":31498,"name":"B3trGovernorAddressUpdated","nameLocation":"1866:26:63","nodeType":"EventDefinition","parameters":{"id":31497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31494,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"1909:10:63","nodeType":"VariableDeclaration","scope":31498,"src":"1893:26:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31493,"name":"address","nodeType":"ElementaryTypeName","src":"1893:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31496,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"1937:10:63","nodeType":"VariableDeclaration","scope":31498,"src":"1921:26:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31495,"name":"address","nodeType":"ElementaryTypeName","src":"1921:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1892:56:63"},"src":"1860:89:63"},{"anonymous":false,"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":31504,"name":"BaseURIUpdated","nameLocation":"1958:14:63","nodeType":"EventDefinition","parameters":{"id":31503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31500,"indexed":true,"mutability":"mutable","name":"newBaseURI","nameLocation":"1988:10:63","nodeType":"VariableDeclaration","scope":31504,"src":"1973:25:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31499,"name":"string","nodeType":"ElementaryTypeName","src":"1973:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31502,"indexed":true,"mutability":"mutable","name":"oldBaseURI","nameLocation":"2015:10:63","nodeType":"VariableDeclaration","scope":31504,"src":"2000:25:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31501,"name":"string","nodeType":"ElementaryTypeName","src":"2000:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1972:54:63"},"src":"1952:75:63"},{"anonymous":false,"eventSelector":"c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2","id":31508,"name":"Initialized","nameLocation":"2036:11:63","nodeType":"EventDefinition","parameters":{"id":31507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31506,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"2055:7:63","nodeType":"VariableDeclaration","scope":31508,"src":"2048:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":31505,"name":"uint64","nodeType":"ElementaryTypeName","src":"2048:6:63","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"2047:16:63"},"src":"2030:34:63"},{"anonymous":false,"eventSelector":"53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450","id":31514,"name":"MaxLevelUpdated","nameLocation":"2073:15:63","nodeType":"EventDefinition","parameters":{"id":31513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31510,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"2097:8:63","nodeType":"VariableDeclaration","scope":31514,"src":"2089:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31509,"name":"uint256","nodeType":"ElementaryTypeName","src":"2089:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31512,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"2115:8:63","nodeType":"VariableDeclaration","scope":31514,"src":"2107:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31511,"name":"uint256","nodeType":"ElementaryTypeName","src":"2107:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2088:36:63"},"src":"2067:58:63"},{"anonymous":false,"eventSelector":"62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258","id":31518,"name":"Paused","nameLocation":"2134:6:63","nodeType":"EventDefinition","parameters":{"id":31517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31516,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"2149:7:63","nodeType":"VariableDeclaration","scope":31518,"src":"2141:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31515,"name":"address","nodeType":"ElementaryTypeName","src":"2141:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2140:17:63"},"src":"2128:30:63"},{"anonymous":false,"eventSelector":"5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe","id":31522,"name":"PublicMintingPaused","nameLocation":"2167:19:63","nodeType":"EventDefinition","parameters":{"id":31521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31520,"indexed":false,"mutability":"mutable","name":"isPaused","nameLocation":"2192:8:63","nodeType":"VariableDeclaration","scope":31522,"src":"2187:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31519,"name":"bool","nodeType":"ElementaryTypeName","src":"2187:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2186:15:63"},"src":"2161:41:63"},{"anonymous":false,"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":31530,"name":"RoleAdminChanged","nameLocation":"2211:16:63","nodeType":"EventDefinition","parameters":{"id":31529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31524,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"2244:4:63","nodeType":"VariableDeclaration","scope":31530,"src":"2228:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2228:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31526,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"2266:17:63","nodeType":"VariableDeclaration","scope":31530,"src":"2250:33:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2250:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31528,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"2301:12:63","nodeType":"VariableDeclaration","scope":31530,"src":"2285:28:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2285:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2227:87:63"},"src":"2205:110:63"},{"anonymous":false,"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":31538,"name":"RoleGranted","nameLocation":"2324:11:63","nodeType":"EventDefinition","parameters":{"id":31537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31532,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"2352:4:63","nodeType":"VariableDeclaration","scope":31538,"src":"2336:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2336:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31534,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2374:7:63","nodeType":"VariableDeclaration","scope":31538,"src":"2358:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31533,"name":"address","nodeType":"ElementaryTypeName","src":"2358:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31536,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"2399:6:63","nodeType":"VariableDeclaration","scope":31538,"src":"2383:22:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31535,"name":"address","nodeType":"ElementaryTypeName","src":"2383:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2335:71:63"},"src":"2318:89:63"},{"anonymous":false,"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":31546,"name":"RoleRevoked","nameLocation":"2416:11:63","nodeType":"EventDefinition","parameters":{"id":31545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31540,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"2444:4:63","nodeType":"VariableDeclaration","scope":31546,"src":"2428:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2428:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31542,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2466:7:63","nodeType":"VariableDeclaration","scope":31546,"src":"2450:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31541,"name":"address","nodeType":"ElementaryTypeName","src":"2450:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31544,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"2491:6:63","nodeType":"VariableDeclaration","scope":31546,"src":"2475:22:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31543,"name":"address","nodeType":"ElementaryTypeName","src":"2475:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2427:71:63"},"src":"2410:89:63"},{"anonymous":false,"eventSelector":"d3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc","id":31552,"name":"Selected","nameLocation":"2508:8:63","nodeType":"EventDefinition","parameters":{"id":31551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31548,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"2533:5:63","nodeType":"VariableDeclaration","scope":31552,"src":"2517:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31547,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31550,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"2548:7:63","nodeType":"VariableDeclaration","scope":31552,"src":"2540:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31549,"name":"uint256","nodeType":"ElementaryTypeName","src":"2540:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2516:40:63"},"src":"2502:55:63"},{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":31560,"name":"Transfer","nameLocation":"2566:8:63","nodeType":"EventDefinition","parameters":{"id":31559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31554,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"2591:4:63","nodeType":"VariableDeclaration","scope":31560,"src":"2575:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31553,"name":"address","nodeType":"ElementaryTypeName","src":"2575:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31556,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"2613:2:63","nodeType":"VariableDeclaration","scope":31560,"src":"2597:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31555,"name":"address","nodeType":"ElementaryTypeName","src":"2597:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31558,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2633:7:63","nodeType":"VariableDeclaration","scope":31560,"src":"2617:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31557,"name":"uint256","nodeType":"ElementaryTypeName","src":"2617:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2574:67:63"},"src":"2560:82:63"},{"anonymous":false,"eventSelector":"5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa","id":31564,"name":"Unpaused","nameLocation":"2651:8:63","nodeType":"EventDefinition","parameters":{"id":31563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31562,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"2668:7:63","nodeType":"VariableDeclaration","scope":31564,"src":"2660:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31561,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2659:17:63"},"src":"2645:32:63"},{"anonymous":false,"eventSelector":"bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","id":31568,"name":"Upgraded","nameLocation":"2686:8:63","nodeType":"EventDefinition","parameters":{"id":31567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31566,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"2711:14:63","nodeType":"VariableDeclaration","scope":31568,"src":"2695:30:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31565,"name":"address","nodeType":"ElementaryTypeName","src":"2695:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2694:32:63"},"src":"2680:47:63"},{"anonymous":false,"eventSelector":"936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854","id":31576,"name":"Upgraded","nameLocation":"2736:8:63","nodeType":"EventDefinition","parameters":{"id":31575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31570,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2761:7:63","nodeType":"VariableDeclaration","scope":31576,"src":"2745:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31569,"name":"uint256","nodeType":"ElementaryTypeName","src":"2745:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31572,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"2778:8:63","nodeType":"VariableDeclaration","scope":31576,"src":"2770:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31571,"name":"uint256","nodeType":"ElementaryTypeName","src":"2770:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31574,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"2796:8:63","nodeType":"VariableDeclaration","scope":31576,"src":"2788:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31573,"name":"uint256","nodeType":"ElementaryTypeName","src":"2788:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2744:61:63"},"src":"2730:76:63"},{"anonymous":false,"eventSelector":"d9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af129","id":31582,"name":"XAllocationsGovernorAddressUpdated","nameLocation":"2815:34:63","nodeType":"EventDefinition","parameters":{"id":31581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31578,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"2866:10:63","nodeType":"VariableDeclaration","scope":31582,"src":"2850:26:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31577,"name":"address","nodeType":"ElementaryTypeName","src":"2850:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31580,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"2894:10:63","nodeType":"VariableDeclaration","scope":31582,"src":"2878:26:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31579,"name":"address","nodeType":"ElementaryTypeName","src":"2878:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2849:56:63"},"src":"2809:97:63"},{"anonymous":false,"eventSelector":"d391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d708","id":31588,"name":"NodeDetached","nameLocation":"2915:12:63","nodeType":"EventDefinition","parameters":{"id":31587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31584,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"2944:11:63","nodeType":"VariableDeclaration","scope":31588,"src":"2928:27:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31583,"name":"uint256","nodeType":"ElementaryTypeName","src":"2928:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31586,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2973:7:63","nodeType":"VariableDeclaration","scope":31588,"src":"2957:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31585,"name":"uint256","nodeType":"ElementaryTypeName","src":"2957:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2927:54:63"},"src":"2909:73:63"},{"anonymous":false,"eventSelector":"b7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f","id":31594,"name":"NodeAttached","nameLocation":"2991:12:63","nodeType":"EventDefinition","parameters":{"id":31593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31590,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"3020:11:63","nodeType":"VariableDeclaration","scope":31594,"src":"3004:27:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31589,"name":"uint256","nodeType":"ElementaryTypeName","src":"3004:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31592,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"3049:7:63","nodeType":"VariableDeclaration","scope":31594,"src":"3033:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31591,"name":"uint256","nodeType":"ElementaryTypeName","src":"3033:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3003:54:63"},"src":"2985:73:63"},{"documentation":{"id":31595,"nodeType":"StructuredDocumentation","src":"3062:69:63","text":"@notice Returns the role identifier for contracts address manager"},"functionSelector":"952f2133","id":31600,"implemented":false,"kind":"function","modifiers":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"3143:30:63","nodeType":"FunctionDefinition","parameters":{"id":31596,"nodeType":"ParameterList","parameters":[],"src":"3173:2:63"},"returnParameters":{"id":31599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31598,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31600,"src":"3199:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3199:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3198:9:63"},"scope":32081,"src":"3134:74:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31601,"nodeType":"StructuredDocumentation","src":"3212:57:63","text":"@notice Returns the role identifier for default admin"},"functionSelector":"a217fddf","id":31606,"implemented":false,"kind":"function","modifiers":[],"name":"DEFAULT_ADMIN_ROLE","nameLocation":"3281:18:63","nodeType":"FunctionDefinition","parameters":{"id":31602,"nodeType":"ParameterList","parameters":[],"src":"3299:2:63"},"returnParameters":{"id":31605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31606,"src":"3325:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3325:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3324:9:63"},"scope":32081,"src":"3272:62:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31607,"nodeType":"StructuredDocumentation","src":"3338:60:63","text":"@notice Returns the maximum level achievable for a token"},"functionSelector":"a49062d4","id":31612,"implemented":false,"kind":"function","modifiers":[],"name":"MAX_LEVEL","nameLocation":"3410:9:63","nodeType":"FunctionDefinition","parameters":{"id":31608,"nodeType":"ParameterList","parameters":[],"src":"3419:2:63"},"returnParameters":{"id":31611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31610,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31612,"src":"3445:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31609,"name":"uint256","nodeType":"ElementaryTypeName","src":"3445:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3444:9:63"},"scope":32081,"src":"3401:53:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31613,"nodeType":"StructuredDocumentation","src":"3458:50:63","text":"@notice Returns the role identifier for minter"},"functionSelector":"d5391393","id":31618,"implemented":false,"kind":"function","modifiers":[],"name":"MINTER_ROLE","nameLocation":"3520:11:63","nodeType":"FunctionDefinition","parameters":{"id":31614,"nodeType":"ParameterList","parameters":[],"src":"3531:2:63"},"returnParameters":{"id":31617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31616,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31618,"src":"3557:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3557:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3556:9:63"},"scope":32081,"src":"3511:55:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31619,"nodeType":"StructuredDocumentation","src":"3570:57:63","text":"@notice Returns the role identifier for nodes manager"},"functionSelector":"3d6dbee8","id":31624,"implemented":false,"kind":"function","modifiers":[],"name":"NODES_MANAGER_ROLE","nameLocation":"3639:18:63","nodeType":"FunctionDefinition","parameters":{"id":31620,"nodeType":"ParameterList","parameters":[],"src":"3657:2:63"},"returnParameters":{"id":31623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31624,"src":"3683:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3683:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3682:9:63"},"scope":32081,"src":"3630:62:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31625,"nodeType":"StructuredDocumentation","src":"3696:50:63","text":"@notice Returns the role identifier for pauser"},"functionSelector":"e63ab1e9","id":31630,"implemented":false,"kind":"function","modifiers":[],"name":"PAUSER_ROLE","nameLocation":"3758:11:63","nodeType":"FunctionDefinition","parameters":{"id":31626,"nodeType":"ParameterList","parameters":[],"src":"3769:2:63"},"returnParameters":{"id":31629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31630,"src":"3795:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3795:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3794:9:63"},"scope":32081,"src":"3749:55:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31631,"nodeType":"StructuredDocumentation","src":"3808:52:63","text":"@notice Returns the role identifier for upgrader"},"functionSelector":"f72c0d8b","id":31636,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADER_ROLE","nameLocation":"3872:13:63","nodeType":"FunctionDefinition","parameters":{"id":31632,"nodeType":"ParameterList","parameters":[],"src":"3885:2:63"},"returnParameters":{"id":31635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31634,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31636,"src":"3911:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3911:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3910:9:63"},"scope":32081,"src":"3863:57:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31637,"nodeType":"StructuredDocumentation","src":"3924:48:63","text":"@notice Returns the interface version string"},"functionSelector":"ad3cb1cc","id":31642,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADE_INTERFACE_VERSION","nameLocation":"3984:25:63","nodeType":"FunctionDefinition","parameters":{"id":31638,"nodeType":"ParameterList","parameters":[],"src":"4009:2:63"},"returnParameters":{"id":31641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31642,"src":"4035:13:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31639,"name":"string","nodeType":"ElementaryTypeName","src":"4035:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4034:15:63"},"scope":32081,"src":"3975:75:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31643,"nodeType":"StructuredDocumentation","src":"4054:151:63","text":"@notice Approves an address to transfer a specific token\n @param to Address to be approved\n @param tokenId ID of the token to be approved"},"functionSelector":"095ea7b3","id":31650,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4217:7:63","nodeType":"FunctionDefinition","parameters":{"id":31648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31645,"mutability":"mutable","name":"to","nameLocation":"4233:2:63","nodeType":"VariableDeclaration","scope":31650,"src":"4225:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31644,"name":"address","nodeType":"ElementaryTypeName","src":"4225:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31647,"mutability":"mutable","name":"tokenId","nameLocation":"4245:7:63","nodeType":"VariableDeclaration","scope":31650,"src":"4237:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31646,"name":"uint256","nodeType":"ElementaryTypeName","src":"4237:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4224:29:63"},"returnParameters":{"id":31649,"nodeType":"ParameterList","parameters":[],"src":"4262:0:63"},"scope":32081,"src":"4208:55:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31651,"nodeType":"StructuredDocumentation","src":"4267:138:63","text":"@notice Attaches a node to a token\n @param nodeTokenId ID of the node to attach\n @param tokenId ID of the token to attach to"},"functionSelector":"88371110","id":31658,"implemented":false,"kind":"function","modifiers":[],"name":"attachNode","nameLocation":"4417:10:63","nodeType":"FunctionDefinition","parameters":{"id":31656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31653,"mutability":"mutable","name":"nodeTokenId","nameLocation":"4436:11:63","nodeType":"VariableDeclaration","scope":31658,"src":"4428:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31652,"name":"uint256","nodeType":"ElementaryTypeName","src":"4428:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31655,"mutability":"mutable","name":"tokenId","nameLocation":"4457:7:63","nodeType":"VariableDeclaration","scope":31658,"src":"4449:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31654,"name":"uint256","nodeType":"ElementaryTypeName","src":"4449:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4427:38:63"},"returnParameters":{"id":31657,"nodeType":"ParameterList","parameters":[],"src":"4474:0:63"},"scope":32081,"src":"4408:67:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31659,"nodeType":"StructuredDocumentation","src":"4479:51:63","text":"@notice Returns the B3TR token contract address"},"functionSelector":"582a486a","id":31664,"implemented":false,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"4542:4:63","nodeType":"FunctionDefinition","parameters":{"id":31660,"nodeType":"ParameterList","parameters":[],"src":"4546:2:63"},"returnParameters":{"id":31663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31662,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31664,"src":"4572:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31661,"name":"address","nodeType":"ElementaryTypeName","src":"4572:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4571:9:63"},"scope":32081,"src":"4533:48:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31665,"nodeType":"StructuredDocumentation","src":"4585:54:63","text":"@notice Returns the B3TR governor contract address"},"functionSelector":"7893d736","id":31670,"implemented":false,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"4651:12:63","nodeType":"FunctionDefinition","parameters":{"id":31666,"nodeType":"ParameterList","parameters":[],"src":"4663:2:63"},"returnParameters":{"id":31669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31668,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31670,"src":"4689:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31667,"name":"address","nodeType":"ElementaryTypeName","src":"4689:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4688:9:63"},"scope":32081,"src":"4642:56:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31671,"nodeType":"StructuredDocumentation","src":"4702:133:63","text":"@notice Returns the number of tokens owned by an address\n @param owner Address to query\n @return Number of tokens owned"},"functionSelector":"70a08231","id":31678,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"4847:9:63","nodeType":"FunctionDefinition","parameters":{"id":31674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31673,"mutability":"mutable","name":"owner","nameLocation":"4865:5:63","nodeType":"VariableDeclaration","scope":31678,"src":"4857:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31672,"name":"address","nodeType":"ElementaryTypeName","src":"4857:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4856:15:63"},"returnParameters":{"id":31677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31676,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31678,"src":"4895:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31675,"name":"uint256","nodeType":"ElementaryTypeName","src":"4895:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4894:9:63"},"scope":32081,"src":"4838:66:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31679,"nodeType":"StructuredDocumentation","src":"4908:51:63","text":"@notice Returns the base URI for token metadata"},"functionSelector":"6c0360eb","id":31684,"implemented":false,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"4971:7:63","nodeType":"FunctionDefinition","parameters":{"id":31680,"nodeType":"ParameterList","parameters":[],"src":"4978:2:63"},"returnParameters":{"id":31683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31682,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31684,"src":"5004:13:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31681,"name":"string","nodeType":"ElementaryTypeName","src":"5004:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5003:15:63"},"scope":32081,"src":"4962:57:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31685,"nodeType":"StructuredDocumentation","src":"5023:79:63","text":"@notice Burns a specific token\n @param tokenId ID of the token to burn"},"functionSelector":"42966c68","id":31690,"implemented":false,"kind":"function","modifiers":[],"name":"burn","nameLocation":"5114:4:63","nodeType":"FunctionDefinition","parameters":{"id":31688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31687,"mutability":"mutable","name":"tokenId","nameLocation":"5127:7:63","nodeType":"VariableDeclaration","scope":31690,"src":"5119:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31686,"name":"uint256","nodeType":"ElementaryTypeName","src":"5119:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5118:17:63"},"returnParameters":{"id":31689,"nodeType":"ParameterList","parameters":[],"src":"5144:0:63"},"scope":32081,"src":"5105:40:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31691,"nodeType":"StructuredDocumentation","src":"5149:142:63","text":"@notice Detaches a node from a token\n @param nodeTokenId ID of the node to detach\n @param tokenId ID of the token to detach from"},"functionSelector":"4a6565e1","id":31698,"implemented":false,"kind":"function","modifiers":[],"name":"detachNode","nameLocation":"5303:10:63","nodeType":"FunctionDefinition","parameters":{"id":31696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31693,"mutability":"mutable","name":"nodeTokenId","nameLocation":"5322:11:63","nodeType":"VariableDeclaration","scope":31698,"src":"5314:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31692,"name":"uint256","nodeType":"ElementaryTypeName","src":"5314:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31695,"mutability":"mutable","name":"tokenId","nameLocation":"5343:7:63","nodeType":"VariableDeclaration","scope":31698,"src":"5335:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31694,"name":"uint256","nodeType":"ElementaryTypeName","src":"5335:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5313:38:63"},"returnParameters":{"id":31697,"nodeType":"ParameterList","parameters":[],"src":"5360:0:63"},"scope":32081,"src":"5294:67:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31699,"nodeType":"StructuredDocumentation","src":"5365:62:63","text":"@notice Allows eligible addresses to mint a token for free"},"functionSelector":"5b70ea9f","id":31702,"implemented":false,"kind":"function","modifiers":[],"name":"freeMint","nameLocation":"5439:8:63","nodeType":"FunctionDefinition","parameters":{"id":31700,"nodeType":"ParameterList","parameters":[],"src":"5447:2:63"},"returnParameters":{"id":31701,"nodeType":"ParameterList","parameters":[],"src":"5458:0:63"},"scope":32081,"src":"5430:29:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31703,"nodeType":"StructuredDocumentation","src":"5463:143:63","text":"@notice Returns the approved address for a token\n @param tokenId ID of the token to query\n @return Address approved for the token"},"functionSelector":"081812fc","id":31710,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"5618:11:63","nodeType":"FunctionDefinition","parameters":{"id":31706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31705,"mutability":"mutable","name":"tokenId","nameLocation":"5638:7:63","nodeType":"VariableDeclaration","scope":31710,"src":"5630:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31704,"name":"uint256","nodeType":"ElementaryTypeName","src":"5630:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5629:17:63"},"returnParameters":{"id":31709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31708,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31710,"src":"5670:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31707,"name":"address","nodeType":"ElementaryTypeName","src":"5670:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5669:9:63"},"scope":32081,"src":"5609:70:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31711,"nodeType":"StructuredDocumentation","src":"5683:141:63","text":"@notice Returns the amount of B3TR donated for a token\n @param tokenId ID of the token to query\n @return Amount of B3TR donated"},"functionSelector":"865c380b","id":31718,"implemented":false,"kind":"function","modifiers":[],"name":"getB3TRdonated","nameLocation":"5836:14:63","nodeType":"FunctionDefinition","parameters":{"id":31714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31713,"mutability":"mutable","name":"tokenId","nameLocation":"5859:7:63","nodeType":"VariableDeclaration","scope":31718,"src":"5851:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31712,"name":"uint256","nodeType":"ElementaryTypeName","src":"5851:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5850:17:63"},"returnParameters":{"id":31717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31716,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31718,"src":"5891:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31715,"name":"uint256","nodeType":"ElementaryTypeName","src":"5891:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5890:9:63"},"scope":32081,"src":"5827:73:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31719,"nodeType":"StructuredDocumentation","src":"5904:146:63","text":"@notice Returns the amount of B3TR needed to upgrade a token\n @param tokenId ID of the token to query\n @return Amount of B3TR needed"},"functionSelector":"a51d2e0b","id":31726,"implemented":false,"kind":"function","modifiers":[],"name":"getB3TRtoUpgrade","nameLocation":"6062:16:63","nodeType":"FunctionDefinition","parameters":{"id":31722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31721,"mutability":"mutable","name":"tokenId","nameLocation":"6087:7:63","nodeType":"VariableDeclaration","scope":31726,"src":"6079:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31720,"name":"uint256","nodeType":"ElementaryTypeName","src":"6079:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6078:17:63"},"returnParameters":{"id":31725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31724,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31726,"src":"6119:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31723,"name":"uint256","nodeType":"ElementaryTypeName","src":"6119:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6118:9:63"},"scope":32081,"src":"6053:75:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31727,"nodeType":"StructuredDocumentation","src":"6132:144:63","text":"@notice Returns the amount of B3TR needed to upgrade to a specific level\n @param level Target level\n @return Amount of B3TR needed"},"functionSelector":"2b42df38","id":31734,"implemented":false,"kind":"function","modifiers":[],"name":"getB3TRtoUpgradeToLevel","nameLocation":"6288:23:63","nodeType":"FunctionDefinition","parameters":{"id":31730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31729,"mutability":"mutable","name":"level","nameLocation":"6320:5:63","nodeType":"VariableDeclaration","scope":31734,"src":"6312:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31728,"name":"uint256","nodeType":"ElementaryTypeName","src":"6312:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6311:15:63"},"returnParameters":{"id":31733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31732,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31734,"src":"6350:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31731,"name":"uint256","nodeType":"ElementaryTypeName","src":"6350:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6349:9:63"},"scope":32081,"src":"6279:80:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31735,"nodeType":"StructuredDocumentation","src":"6363:139:63","text":"@notice Returns the token ID attached to a node\n @param nodeId ID of the node to query\n @return Token ID attached to the node"},"functionSelector":"51c438d1","id":31742,"implemented":false,"kind":"function","modifiers":[],"name":"getIdAttachedToNode","nameLocation":"6514:19:63","nodeType":"FunctionDefinition","parameters":{"id":31738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31737,"mutability":"mutable","name":"nodeId","nameLocation":"6542:6:63","nodeType":"VariableDeclaration","scope":31742,"src":"6534:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31736,"name":"uint256","nodeType":"ElementaryTypeName","src":"6534:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6533:16:63"},"returnParameters":{"id":31741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31742,"src":"6573:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31739,"name":"uint256","nodeType":"ElementaryTypeName","src":"6573:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6572:9:63"},"scope":32081,"src":"6505:77:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31743,"nodeType":"StructuredDocumentation","src":"6586:183:63","text":"@notice Calculates the level after attaching a node\n @param tokenId ID of the token\n @param nodeTokenId ID of the node to attach\n @return New level after attachment"},"functionSelector":"a1843bd0","id":31752,"implemented":false,"kind":"function","modifiers":[],"name":"getLevelAfterAttachingNode","nameLocation":"6781:26:63","nodeType":"FunctionDefinition","parameters":{"id":31748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31745,"mutability":"mutable","name":"tokenId","nameLocation":"6816:7:63","nodeType":"VariableDeclaration","scope":31752,"src":"6808:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31744,"name":"uint256","nodeType":"ElementaryTypeName","src":"6808:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31747,"mutability":"mutable","name":"nodeTokenId","nameLocation":"6833:11:63","nodeType":"VariableDeclaration","scope":31752,"src":"6825:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31746,"name":"uint256","nodeType":"ElementaryTypeName","src":"6825:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6807:38:63"},"returnParameters":{"id":31751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31750,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31752,"src":"6869:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31749,"name":"uint256","nodeType":"ElementaryTypeName","src":"6869:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6868:9:63"},"scope":32081,"src":"6772:106:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31753,"nodeType":"StructuredDocumentation","src":"6882:133:63","text":"@notice Calculates the level after detaching a node\n @param tokenId ID of the token\n @return New level after detachment"},"functionSelector":"cc421d07","id":31760,"implemented":false,"kind":"function","modifiers":[],"name":"getLevelAfterDetachingNode","nameLocation":"7027:26:63","nodeType":"FunctionDefinition","parameters":{"id":31756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31755,"mutability":"mutable","name":"tokenId","nameLocation":"7062:7:63","nodeType":"VariableDeclaration","scope":31760,"src":"7054:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31754,"name":"uint256","nodeType":"ElementaryTypeName","src":"7054:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7053:17:63"},"returnParameters":{"id":31759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31758,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31760,"src":"7094:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31757,"name":"uint256","nodeType":"ElementaryTypeName","src":"7094:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7093:9:63"},"scope":32081,"src":"7018:85:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31761,"nodeType":"StructuredDocumentation","src":"7107:135:63","text":"@notice Returns the node ID attached to a token\n @param tokenId ID of the token to query\n @return ID of the attached node"},"functionSelector":"958fc97d","id":31768,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeIdAttached","nameLocation":"7254:17:63","nodeType":"FunctionDefinition","parameters":{"id":31764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31763,"mutability":"mutable","name":"tokenId","nameLocation":"7280:7:63","nodeType":"VariableDeclaration","scope":31768,"src":"7272:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31762,"name":"uint256","nodeType":"ElementaryTypeName","src":"7272:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7271:17:63"},"returnParameters":{"id":31767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31768,"src":"7312:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31765,"name":"uint256","nodeType":"ElementaryTypeName","src":"7312:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7311:9:63"},"scope":32081,"src":"7245:76:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31769,"nodeType":"StructuredDocumentation","src":"7325:115:63","text":"@notice Returns the level of a node\n @param nodeId ID of the node to query\n @return Level of the node"},"functionSelector":"3ff453af","id":31776,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeLevelOf","nameLocation":"7452:14:63","nodeType":"FunctionDefinition","parameters":{"id":31772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31771,"mutability":"mutable","name":"nodeId","nameLocation":"7475:6:63","nodeType":"VariableDeclaration","scope":31776,"src":"7467:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31770,"name":"uint256","nodeType":"ElementaryTypeName","src":"7467:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7466:16:63"},"returnParameters":{"id":31775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31774,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31776,"src":"7506:5:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":31773,"name":"uint8","nodeType":"ElementaryTypeName","src":"7506:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7505:7:63"},"scope":32081,"src":"7443:70:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31777,"nodeType":"StructuredDocumentation","src":"7517:132:63","text":"@notice Returns the free level granted by a node level\n @param nodeLevel Level of the node\n @return Free level granted"},"functionSelector":"e617e49f","id":31784,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeToFreeLevel","nameLocation":"7661:18:63","nodeType":"FunctionDefinition","parameters":{"id":31780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31779,"mutability":"mutable","name":"nodeLevel","nameLocation":"7686:9:63","nodeType":"VariableDeclaration","scope":31784,"src":"7680:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":31778,"name":"uint8","nodeType":"ElementaryTypeName","src":"7680:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7679:17:63"},"returnParameters":{"id":31783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31782,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31784,"src":"7720:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31781,"name":"uint256","nodeType":"ElementaryTypeName","src":"7720:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7719:9:63"},"scope":32081,"src":"7652:77:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31785,"nodeType":"StructuredDocumentation","src":"7733:108:63","text":"@notice Returns the admin role for a given role\n @param role Role to query\n @return Admin role"},"functionSelector":"248a9ca3","id":31792,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"7853:12:63","nodeType":"FunctionDefinition","parameters":{"id":31788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31787,"mutability":"mutable","name":"role","nameLocation":"7874:4:63","nodeType":"VariableDeclaration","scope":31792,"src":"7866:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7866:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7865:14:63"},"returnParameters":{"id":31791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31792,"src":"7903:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7903:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7902:9:63"},"scope":32081,"src":"7844:68:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31793,"nodeType":"StructuredDocumentation","src":"7916:122:63","text":"@notice Returns the selected token ID for an owner\n @param owner Address to query\n @return Selected token ID"},"functionSelector":"d206885d","id":31800,"implemented":false,"kind":"function","modifiers":[],"name":"getSelectedTokenId","nameLocation":"8050:18:63","nodeType":"FunctionDefinition","parameters":{"id":31796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31795,"mutability":"mutable","name":"owner","nameLocation":"8077:5:63","nodeType":"VariableDeclaration","scope":31800,"src":"8069:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31794,"name":"address","nodeType":"ElementaryTypeName","src":"8069:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8068:15:63"},"returnParameters":{"id":31799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31800,"src":"8107:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31797,"name":"uint256","nodeType":"ElementaryTypeName","src":"8107:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8106:9:63"},"scope":32081,"src":"8041:75:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31801,"nodeType":"StructuredDocumentation","src":"8120:120:63","text":"@notice Grants a role to an account\n @param role Role to grant\n @param account Account to receive the role"},"functionSelector":"2f2ff15d","id":31808,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"8252:9:63","nodeType":"FunctionDefinition","parameters":{"id":31806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31803,"mutability":"mutable","name":"role","nameLocation":"8270:4:63","nodeType":"VariableDeclaration","scope":31808,"src":"8262:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8262:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31805,"mutability":"mutable","name":"account","nameLocation":"8284:7:63","nodeType":"VariableDeclaration","scope":31808,"src":"8276:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31804,"name":"address","nodeType":"ElementaryTypeName","src":"8276:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8261:31:63"},"returnParameters":{"id":31807,"nodeType":"ParameterList","parameters":[],"src":"8301:0:63"},"scope":32081,"src":"8243:59:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31809,"nodeType":"StructuredDocumentation","src":"8306:156:63","text":"@notice Checks if an account has a role\n @param role Role to check\n @param account Account to check\n @return True if account has the role"},"functionSelector":"91d14854","id":31818,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"8474:7:63","nodeType":"FunctionDefinition","parameters":{"id":31814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31811,"mutability":"mutable","name":"role","nameLocation":"8490:4:63","nodeType":"VariableDeclaration","scope":31818,"src":"8482:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31810,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8482:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31813,"mutability":"mutable","name":"account","nameLocation":"8504:7:63","nodeType":"VariableDeclaration","scope":31818,"src":"8496:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31812,"name":"address","nodeType":"ElementaryTypeName","src":"8496:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8481:31:63"},"returnParameters":{"id":31817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31818,"src":"8536:4:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31815,"name":"bool","nodeType":"ElementaryTypeName","src":"8536:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8535:6:63"},"scope":32081,"src":"8465:77:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31819,"nodeType":"StructuredDocumentation","src":"8546:216:63","text":"@notice Initializes the contract V2\n @param _vechainNodes Address of the VeChain nodes contract\n @param _nodesAdmin Address of the nodes admin\n @param _nodeFreeLevels Array of free levels for nodes"},"functionSelector":"fb966e9f","id":31829,"implemented":false,"kind":"function","modifiers":[],"name":"initializeV2","nameLocation":"8774:12:63","nodeType":"FunctionDefinition","parameters":{"id":31827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31821,"mutability":"mutable","name":"_vechainNodes","nameLocation":"8795:13:63","nodeType":"VariableDeclaration","scope":31829,"src":"8787:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31820,"name":"address","nodeType":"ElementaryTypeName","src":"8787:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31823,"mutability":"mutable","name":"_nodesAdmin","nameLocation":"8818:11:63","nodeType":"VariableDeclaration","scope":31829,"src":"8810:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31822,"name":"address","nodeType":"ElementaryTypeName","src":"8810:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31826,"mutability":"mutable","name":"_nodeFreeLevels","nameLocation":"8848:15:63","nodeType":"VariableDeclaration","scope":31829,"src":"8831:32:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":31824,"name":"uint256","nodeType":"ElementaryTypeName","src":"8831:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":31825,"nodeType":"ArrayTypeName","src":"8831:9:63","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"8786:78:63"},"returnParameters":{"id":31828,"nodeType":"ParameterList","parameters":[],"src":"8873:0:63"},"scope":32081,"src":"8765:109:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31830,"nodeType":"StructuredDocumentation","src":"8878:195:63","text":"@notice Checks if an operator is approved for all tokens of an owner\n @param owner Owner address\n @param operator Operator address\n @return True if operator is approved for all"},"functionSelector":"e985e9c5","id":31839,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"9085:16:63","nodeType":"FunctionDefinition","parameters":{"id":31835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31832,"mutability":"mutable","name":"owner","nameLocation":"9110:5:63","nodeType":"VariableDeclaration","scope":31839,"src":"9102:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31831,"name":"address","nodeType":"ElementaryTypeName","src":"9102:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31834,"mutability":"mutable","name":"operator","nameLocation":"9125:8:63","nodeType":"VariableDeclaration","scope":31839,"src":"9117:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31833,"name":"address","nodeType":"ElementaryTypeName","src":"9117:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9101:33:63"},"returnParameters":{"id":31838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31837,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31839,"src":"9158:4:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31836,"name":"bool","nodeType":"ElementaryTypeName","src":"9158:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9157:6:63"},"scope":32081,"src":"9076:88:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31840,"nodeType":"StructuredDocumentation","src":"9168:119:63","text":"@notice Returns the level of a token\n @param tokenId ID of the token to query\n @return Level of the token"},"functionSelector":"6d5e3032","id":31847,"implemented":false,"kind":"function","modifiers":[],"name":"levelOf","nameLocation":"9299:7:63","nodeType":"FunctionDefinition","parameters":{"id":31843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31842,"mutability":"mutable","name":"tokenId","nameLocation":"9315:7:63","nodeType":"VariableDeclaration","scope":31847,"src":"9307:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31841,"name":"uint256","nodeType":"ElementaryTypeName","src":"9307:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9306:17:63"},"returnParameters":{"id":31846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31847,"src":"9347:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31844,"name":"uint256","nodeType":"ElementaryTypeName","src":"9347:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9346:9:63"},"scope":32081,"src":"9290:66:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31848,"nodeType":"StructuredDocumentation","src":"9360:52:63","text":"@notice Returns the name of the token collection"},"functionSelector":"06fdde03","id":31853,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"9424:4:63","nodeType":"FunctionDefinition","parameters":{"id":31849,"nodeType":"ParameterList","parameters":[],"src":"9428:2:63"},"returnParameters":{"id":31852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31853,"src":"9454:13:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31850,"name":"string","nodeType":"ElementaryTypeName","src":"9454:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9453:15:63"},"scope":32081,"src":"9415:54:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31854,"nodeType":"StructuredDocumentation","src":"9473:121:63","text":"@notice Returns the owner of a token\n @param tokenId ID of the token to query\n @return Address of the owner"},"functionSelector":"6352211e","id":31861,"implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"9606:7:63","nodeType":"FunctionDefinition","parameters":{"id":31857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31856,"mutability":"mutable","name":"tokenId","nameLocation":"9622:7:63","nodeType":"VariableDeclaration","scope":31861,"src":"9614:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31855,"name":"uint256","nodeType":"ElementaryTypeName","src":"9614:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9613:17:63"},"returnParameters":{"id":31860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31859,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31861,"src":"9654:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31858,"name":"address","nodeType":"ElementaryTypeName","src":"9654:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9653:9:63"},"scope":32081,"src":"9597:66:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31862,"nodeType":"StructuredDocumentation","src":"9667:138:63","text":"@notice Checks if a user has participated in governance\n @param user Address to check\n @return True if user has participated"},"functionSelector":"8c5b76fb","id":31869,"implemented":false,"kind":"function","modifiers":[],"name":"participatedInGovernance","nameLocation":"9817:24:63","nodeType":"FunctionDefinition","parameters":{"id":31865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31864,"mutability":"mutable","name":"user","nameLocation":"9850:4:63","nodeType":"VariableDeclaration","scope":31869,"src":"9842:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31863,"name":"address","nodeType":"ElementaryTypeName","src":"9842:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9841:14:63"},"returnParameters":{"id":31868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31867,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31869,"src":"9879:4:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31866,"name":"bool","nodeType":"ElementaryTypeName","src":"9879:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9878:6:63"},"scope":32081,"src":"9808:77:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31870,"nodeType":"StructuredDocumentation","src":"9889:38:63","text":"@notice Pauses all token transfers"},"functionSelector":"8456cb59","id":31873,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"9939:5:63","nodeType":"FunctionDefinition","parameters":{"id":31871,"nodeType":"ParameterList","parameters":[],"src":"9944:2:63"},"returnParameters":{"id":31872,"nodeType":"ParameterList","parameters":[],"src":"9955:0:63"},"scope":32081,"src":"9930:26:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31874,"nodeType":"StructuredDocumentation","src":"9960:94:63","text":"@notice Returns the paused status of the contract\n @return True if contract is paused"},"functionSelector":"5c975abb","id":31879,"implemented":false,"kind":"function","modifiers":[],"name":"paused","nameLocation":"10066:6:63","nodeType":"FunctionDefinition","parameters":{"id":31875,"nodeType":"ParameterList","parameters":[],"src":"10072:2:63"},"returnParameters":{"id":31878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31879,"src":"10098:4:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31876,"name":"bool","nodeType":"ElementaryTypeName","src":"10098:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10097:6:63"},"scope":32081,"src":"10057:47:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31880,"nodeType":"StructuredDocumentation","src":"10108:59:63","text":"@notice Returns the storage slot for the implementation"},"functionSelector":"52d1902d","id":31885,"implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"10179:13:63","nodeType":"FunctionDefinition","parameters":{"id":31881,"nodeType":"ParameterList","parameters":[],"src":"10192:2:63"},"returnParameters":{"id":31884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31883,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31885,"src":"10218:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10218:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10217:9:63"},"scope":32081,"src":"10170:57:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31886,"nodeType":"StructuredDocumentation","src":"10231:154:63","text":"@notice Allows an account to renounce a role\n @param role Role to renounce\n @param callerConfirmation Address of the caller for confirmation"},"functionSelector":"36568abe","id":31893,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"10397:12:63","nodeType":"FunctionDefinition","parameters":{"id":31891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31888,"mutability":"mutable","name":"role","nameLocation":"10418:4:63","nodeType":"VariableDeclaration","scope":31893,"src":"10410:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10410:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31890,"mutability":"mutable","name":"callerConfirmation","nameLocation":"10432:18:63","nodeType":"VariableDeclaration","scope":31893,"src":"10424:26:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31889,"name":"address","nodeType":"ElementaryTypeName","src":"10424:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10409:42:63"},"returnParameters":{"id":31892,"nodeType":"ParameterList","parameters":[],"src":"10460:0:63"},"scope":32081,"src":"10388:73:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31894,"nodeType":"StructuredDocumentation","src":"10465:119:63","text":"@notice Revokes a role from an account\n @param role Role to revoke\n @param account Account to revoke from"},"functionSelector":"d547741f","id":31901,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"10596:10:63","nodeType":"FunctionDefinition","parameters":{"id":31899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31896,"mutability":"mutable","name":"role","nameLocation":"10615:4:63","nodeType":"VariableDeclaration","scope":31901,"src":"10607:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10607:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31898,"mutability":"mutable","name":"account","nameLocation":"10629:7:63","nodeType":"VariableDeclaration","scope":31901,"src":"10621:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31897,"name":"address","nodeType":"ElementaryTypeName","src":"10621:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10606:31:63"},"returnParameters":{"id":31900,"nodeType":"ParameterList","parameters":[],"src":"10646:0:63"},"scope":32081,"src":"10587:60:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31902,"nodeType":"StructuredDocumentation","src":"10651:143:63","text":"@notice Safely transfers a token\n @param from Current owner\n @param to New owner\n @param tokenId ID of the token to transfer"},"functionSelector":"42842e0e","id":31911,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"10806:16:63","nodeType":"FunctionDefinition","parameters":{"id":31909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31904,"mutability":"mutable","name":"from","nameLocation":"10831:4:63","nodeType":"VariableDeclaration","scope":31911,"src":"10823:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31903,"name":"address","nodeType":"ElementaryTypeName","src":"10823:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31906,"mutability":"mutable","name":"to","nameLocation":"10845:2:63","nodeType":"VariableDeclaration","scope":31911,"src":"10837:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31905,"name":"address","nodeType":"ElementaryTypeName","src":"10837:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31908,"mutability":"mutable","name":"tokenId","nameLocation":"10857:7:63","nodeType":"VariableDeclaration","scope":31911,"src":"10849:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31907,"name":"uint256","nodeType":"ElementaryTypeName","src":"10849:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10822:43:63"},"returnParameters":{"id":31910,"nodeType":"ParameterList","parameters":[],"src":"10874:0:63"},"scope":32081,"src":"10797:78:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31912,"nodeType":"StructuredDocumentation","src":"10879:198:63","text":"@notice Safely transfers a token with additional data\n @param from Current owner\n @param to New owner\n @param tokenId ID of the token to transfer\n @param data Additional data"},"functionSelector":"b88d4fde","id":31923,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"11089:16:63","nodeType":"FunctionDefinition","parameters":{"id":31921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31914,"mutability":"mutable","name":"from","nameLocation":"11114:4:63","nodeType":"VariableDeclaration","scope":31923,"src":"11106:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31913,"name":"address","nodeType":"ElementaryTypeName","src":"11106:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31916,"mutability":"mutable","name":"to","nameLocation":"11128:2:63","nodeType":"VariableDeclaration","scope":31923,"src":"11120:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31915,"name":"address","nodeType":"ElementaryTypeName","src":"11120:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31918,"mutability":"mutable","name":"tokenId","nameLocation":"11140:7:63","nodeType":"VariableDeclaration","scope":31923,"src":"11132:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31917,"name":"uint256","nodeType":"ElementaryTypeName","src":"11132:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31920,"mutability":"mutable","name":"data","nameLocation":"11162:4:63","nodeType":"VariableDeclaration","scope":31923,"src":"11149:17:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31919,"name":"bytes","nodeType":"ElementaryTypeName","src":"11149:5:63","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11105:62:63"},"returnParameters":{"id":31922,"nodeType":"ParameterList","parameters":[],"src":"11176:0:63"},"scope":32081,"src":"11080:97:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31924,"nodeType":"StructuredDocumentation","src":"11181:87:63","text":"@notice Selects a token for an owner\n @param tokenID ID of the token to select"},"functionSelector":"839a19d9","id":31929,"implemented":false,"kind":"function","modifiers":[],"name":"select","nameLocation":"11280:6:63","nodeType":"FunctionDefinition","parameters":{"id":31927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31926,"mutability":"mutable","name":"tokenID","nameLocation":"11295:7:63","nodeType":"VariableDeclaration","scope":31929,"src":"11287:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31925,"name":"uint256","nodeType":"ElementaryTypeName","src":"11287:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11286:17:63"},"returnParameters":{"id":31928,"nodeType":"ParameterList","parameters":[],"src":"11312:0:63"},"scope":32081,"src":"11271:42:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31930,"nodeType":"StructuredDocumentation","src":"11317:119:63","text":"@notice Sets approval for all tokens\n @param operator Address to approve\n @param approved Approval status"},"functionSelector":"a22cb465","id":31937,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"11448:17:63","nodeType":"FunctionDefinition","parameters":{"id":31935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31932,"mutability":"mutable","name":"operator","nameLocation":"11474:8:63","nodeType":"VariableDeclaration","scope":31937,"src":"11466:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31931,"name":"address","nodeType":"ElementaryTypeName","src":"11466:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31934,"mutability":"mutable","name":"approved","nameLocation":"11489:8:63","nodeType":"VariableDeclaration","scope":31937,"src":"11484:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31933,"name":"bool","nodeType":"ElementaryTypeName","src":"11484:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11465:33:63"},"returnParameters":{"id":31936,"nodeType":"ParameterList","parameters":[],"src":"11507:0:63"},"scope":32081,"src":"11439:69:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31938,"nodeType":"StructuredDocumentation","src":"11512:115:63","text":"@notice Sets the B3TR amounts needed for level upgrades\n @param b3trToUpgradeToLevel Array of B3TR amounts"},"functionSelector":"b1ccbd2c","id":31944,"implemented":false,"kind":"function","modifiers":[],"name":"setB3TRtoUpgradeToLevel","nameLocation":"11639:23:63","nodeType":"FunctionDefinition","parameters":{"id":31942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31941,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"11680:20:63","nodeType":"VariableDeclaration","scope":31944,"src":"11663:37:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":31939,"name":"uint256","nodeType":"ElementaryTypeName","src":"11663:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":31940,"nodeType":"ArrayTypeName","src":"11663:9:63","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"11662:39:63"},"returnParameters":{"id":31943,"nodeType":"ParameterList","parameters":[],"src":"11710:0:63"},"scope":32081,"src":"11630:81:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31945,"nodeType":"StructuredDocumentation","src":"11715:90:63","text":"@notice Sets the B3TR governor address\n @param _b3trGovernor New governor address"},"functionSelector":"ddd8634d","id":31950,"implemented":false,"kind":"function","modifiers":[],"name":"setB3trGovernorAddress","nameLocation":"11817:22:63","nodeType":"FunctionDefinition","parameters":{"id":31948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31947,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"11848:13:63","nodeType":"VariableDeclaration","scope":31950,"src":"11840:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31946,"name":"address","nodeType":"ElementaryTypeName","src":"11840:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11839:23:63"},"returnParameters":{"id":31949,"nodeType":"ParameterList","parameters":[],"src":"11871:0:63"},"scope":32081,"src":"11808:64:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31951,"nodeType":"StructuredDocumentation","src":"11876:87:63","text":"@notice Sets the base URI for token metadata\n @param baseTokenURI New base URI"},"functionSelector":"55f804b3","id":31956,"implemented":false,"kind":"function","modifiers":[],"name":"setBaseURI","nameLocation":"11975:10:63","nodeType":"FunctionDefinition","parameters":{"id":31954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31953,"mutability":"mutable","name":"baseTokenURI","nameLocation":"12000:12:63","nodeType":"VariableDeclaration","scope":31956,"src":"11986:26:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31952,"name":"string","nodeType":"ElementaryTypeName","src":"11986:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11985:28:63"},"returnParameters":{"id":31955,"nodeType":"ParameterList","parameters":[],"src":"12022:0:63"},"scope":32081,"src":"11966:57:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31957,"nodeType":"StructuredDocumentation","src":"12027:87:63","text":"@notice Sets the public minting pause status\n @param isPaused New pause status"},"functionSelector":"5b5da514","id":31962,"implemented":false,"kind":"function","modifiers":[],"name":"setIsPublicMintingPaused","nameLocation":"12126:24:63","nodeType":"FunctionDefinition","parameters":{"id":31960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31959,"mutability":"mutable","name":"isPaused","nameLocation":"12156:8:63","nodeType":"VariableDeclaration","scope":31962,"src":"12151:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31958,"name":"bool","nodeType":"ElementaryTypeName","src":"12151:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12150:15:63"},"returnParameters":{"id":31961,"nodeType":"ParameterList","parameters":[],"src":"12174:0:63"},"scope":32081,"src":"12117:58:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31963,"nodeType":"StructuredDocumentation","src":"12179:71:63","text":"@notice Sets the maximum level\n @param level New maximum level"},"functionSelector":"344f1ba5","id":31968,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxLevel","nameLocation":"12262:11:63","nodeType":"FunctionDefinition","parameters":{"id":31966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31965,"mutability":"mutable","name":"level","nameLocation":"12282:5:63","nodeType":"VariableDeclaration","scope":31968,"src":"12274:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31964,"name":"uint256","nodeType":"ElementaryTypeName","src":"12274:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12273:15:63"},"returnParameters":{"id":31967,"nodeType":"ParameterList","parameters":[],"src":"12297:0:63"},"scope":32081,"src":"12253:45:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31969,"nodeType":"StructuredDocumentation","src":"12302:135:63","text":"@notice Sets the free upgrade level for a node level\n @param nodeLevel Level of the node\n @param level Free upgrade level"},"functionSelector":"001db0dd","id":31976,"implemented":false,"kind":"function","modifiers":[],"name":"setNodeToFreeUpgradeLevel","nameLocation":"12449:25:63","nodeType":"FunctionDefinition","parameters":{"id":31974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31971,"mutability":"mutable","name":"nodeLevel","nameLocation":"12481:9:63","nodeType":"VariableDeclaration","scope":31976,"src":"12475:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":31970,"name":"uint8","nodeType":"ElementaryTypeName","src":"12475:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":31973,"mutability":"mutable","name":"level","nameLocation":"12500:5:63","nodeType":"VariableDeclaration","scope":31976,"src":"12492:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31972,"name":"uint256","nodeType":"ElementaryTypeName","src":"12492:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12474:32:63"},"returnParameters":{"id":31975,"nodeType":"ParameterList","parameters":[],"src":"12515:0:63"},"scope":32081,"src":"12440:76:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31977,"nodeType":"StructuredDocumentation","src":"12520:105:63","text":"@notice Sets the VeChain nodes contract address\n @param _vechainNodes New nodes contract address"},"functionSelector":"5ffaa59a","id":31982,"implemented":false,"kind":"function","modifiers":[],"name":"setVechainNodes","nameLocation":"12637:15:63","nodeType":"FunctionDefinition","parameters":{"id":31980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31979,"mutability":"mutable","name":"_vechainNodes","nameLocation":"12661:13:63","nodeType":"VariableDeclaration","scope":31982,"src":"12653:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31978,"name":"address","nodeType":"ElementaryTypeName","src":"12653:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12652:23:63"},"returnParameters":{"id":31981,"nodeType":"ParameterList","parameters":[],"src":"12684:0:63"},"scope":32081,"src":"12628:57:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31983,"nodeType":"StructuredDocumentation","src":"12689:107:63","text":"@notice Sets the X-Allocations governor address\n @param _xAllocationsGovernor New governor address"},"functionSelector":"3af03ea8","id":31988,"implemented":false,"kind":"function","modifiers":[],"name":"setXAllocationsGovernorAddress","nameLocation":"12808:30:63","nodeType":"FunctionDefinition","parameters":{"id":31986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31985,"mutability":"mutable","name":"_xAllocationsGovernor","nameLocation":"12847:21:63","nodeType":"VariableDeclaration","scope":31988,"src":"12839:29:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31984,"name":"address","nodeType":"ElementaryTypeName","src":"12839:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12838:31:63"},"returnParameters":{"id":31987,"nodeType":"ParameterList","parameters":[],"src":"12878:0:63"},"scope":32081,"src":"12799:80:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":31989,"nodeType":"StructuredDocumentation","src":"12883:147:63","text":"@notice Checks if the contract supports an interface\n @param interfaceId Interface identifier\n @return True if interface is supported"},"functionSelector":"01ffc9a7","id":31996,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"13042:17:63","nodeType":"FunctionDefinition","parameters":{"id":31992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31991,"mutability":"mutable","name":"interfaceId","nameLocation":"13067:11:63","nodeType":"VariableDeclaration","scope":31996,"src":"13060:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":31990,"name":"bytes4","nodeType":"ElementaryTypeName","src":"13060:6:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"13059:20:63"},"returnParameters":{"id":31995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31994,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31996,"src":"13103:4:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31993,"name":"bool","nodeType":"ElementaryTypeName","src":"13103:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13102:6:63"},"scope":32081,"src":"13033:76:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":31997,"nodeType":"StructuredDocumentation","src":"13113:54:63","text":"@notice Returns the symbol of the token collection"},"functionSelector":"95d89b41","id":32002,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"13179:6:63","nodeType":"FunctionDefinition","parameters":{"id":31998,"nodeType":"ParameterList","parameters":[],"src":"13185:2:63"},"returnParameters":{"id":32001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32000,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32002,"src":"13211:13:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31999,"name":"string","nodeType":"ElementaryTypeName","src":"13211:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13210:15:63"},"scope":32081,"src":"13170:56:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32003,"nodeType":"StructuredDocumentation","src":"13230:114:63","text":"@notice Returns a token by its index\n @param index Index of the token\n @return Token ID at the index"},"functionSelector":"4f6ccce7","id":32010,"implemented":false,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"13356:12:63","nodeType":"FunctionDefinition","parameters":{"id":32006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32005,"mutability":"mutable","name":"index","nameLocation":"13377:5:63","nodeType":"VariableDeclaration","scope":32010,"src":"13369:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32004,"name":"uint256","nodeType":"ElementaryTypeName","src":"13369:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13368:15:63"},"returnParameters":{"id":32009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32008,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32010,"src":"13407:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32007,"name":"uint256","nodeType":"ElementaryTypeName","src":"13407:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13406:9:63"},"scope":32081,"src":"13347:69:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32011,"nodeType":"StructuredDocumentation","src":"13420:163:63","text":"@notice Returns a token owned by an address by index\n @param owner Owner address\n @param index Index of the token\n @return Token ID at the index"},"functionSelector":"2f745c59","id":32020,"implemented":false,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"13595:19:63","nodeType":"FunctionDefinition","parameters":{"id":32016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32013,"mutability":"mutable","name":"owner","nameLocation":"13623:5:63","nodeType":"VariableDeclaration","scope":32020,"src":"13615:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32012,"name":"address","nodeType":"ElementaryTypeName","src":"13615:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32015,"mutability":"mutable","name":"index","nameLocation":"13638:5:63","nodeType":"VariableDeclaration","scope":32020,"src":"13630:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32014,"name":"uint256","nodeType":"ElementaryTypeName","src":"13630:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13614:30:63"},"returnParameters":{"id":32019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32020,"src":"13668:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32017,"name":"uint256","nodeType":"ElementaryTypeName","src":"13668:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13667:9:63"},"scope":32081,"src":"13586:91:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32021,"nodeType":"StructuredDocumentation","src":"13681:114:63","text":"@notice Returns the URI for a token's metadata\n @param tokenId ID of the token\n @return Metadata URI"},"functionSelector":"c87b56dd","id":32028,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"13807:8:63","nodeType":"FunctionDefinition","parameters":{"id":32024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32023,"mutability":"mutable","name":"tokenId","nameLocation":"13824:7:63","nodeType":"VariableDeclaration","scope":32028,"src":"13816:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32022,"name":"uint256","nodeType":"ElementaryTypeName","src":"13816:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13815:17:63"},"returnParameters":{"id":32027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32028,"src":"13856:13:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32025,"name":"string","nodeType":"ElementaryTypeName","src":"13856:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13855:15:63"},"scope":32081,"src":"13798:73:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32029,"nodeType":"StructuredDocumentation","src":"13875:83:63","text":"@notice Returns the total supply of tokens\n @return Total number of tokens"},"functionSelector":"18160ddd","id":32034,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"13970:11:63","nodeType":"FunctionDefinition","parameters":{"id":32030,"nodeType":"ParameterList","parameters":[],"src":"13981:2:63"},"returnParameters":{"id":32033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32032,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32034,"src":"14007:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32031,"name":"uint256","nodeType":"ElementaryTypeName","src":"14007:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14006:9:63"},"scope":32081,"src":"13961:55:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32035,"nodeType":"StructuredDocumentation","src":"14020:136:63","text":"@notice Transfers a token\n @param from Current owner\n @param to New owner\n @param tokenId ID of the token to transfer"},"functionSelector":"23b872dd","id":32044,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"14168:12:63","nodeType":"FunctionDefinition","parameters":{"id":32042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32037,"mutability":"mutable","name":"from","nameLocation":"14189:4:63","nodeType":"VariableDeclaration","scope":32044,"src":"14181:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32036,"name":"address","nodeType":"ElementaryTypeName","src":"14181:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32039,"mutability":"mutable","name":"to","nameLocation":"14203:2:63","nodeType":"VariableDeclaration","scope":32044,"src":"14195:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32038,"name":"address","nodeType":"ElementaryTypeName","src":"14195:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32041,"mutability":"mutable","name":"tokenId","nameLocation":"14215:7:63","nodeType":"VariableDeclaration","scope":32044,"src":"14207:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32040,"name":"uint256","nodeType":"ElementaryTypeName","src":"14207:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14180:43:63"},"returnParameters":{"id":32043,"nodeType":"ParameterList","parameters":[],"src":"14232:0:63"},"scope":32081,"src":"14159:74:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32045,"nodeType":"StructuredDocumentation","src":"14237:40:63","text":"@notice Returns the treasury address"},"functionSelector":"61d027b3","id":32050,"implemented":false,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"14289:8:63","nodeType":"FunctionDefinition","parameters":{"id":32046,"nodeType":"ParameterList","parameters":[],"src":"14297:2:63"},"returnParameters":{"id":32049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32048,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32050,"src":"14323:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32047,"name":"address","nodeType":"ElementaryTypeName","src":"14323:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14322:9:63"},"scope":32081,"src":"14280:52:63","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32051,"nodeType":"StructuredDocumentation","src":"14336:40:63","text":"@notice Unpauses all token transfers"},"functionSelector":"3f4ba83a","id":32054,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"14388:7:63","nodeType":"FunctionDefinition","parameters":{"id":32052,"nodeType":"ParameterList","parameters":[],"src":"14395:2:63"},"returnParameters":{"id":32053,"nodeType":"ParameterList","parameters":[],"src":"14406:0:63"},"scope":32081,"src":"14379:28:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32055,"nodeType":"StructuredDocumentation","src":"14411:84:63","text":"@notice Upgrades a token's level\n @param tokenId ID of the token to upgrade"},"functionSelector":"45977d03","id":32060,"implemented":false,"kind":"function","modifiers":[],"name":"upgrade","nameLocation":"14507:7:63","nodeType":"FunctionDefinition","parameters":{"id":32058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32057,"mutability":"mutable","name":"tokenId","nameLocation":"14523:7:63","nodeType":"VariableDeclaration","scope":32060,"src":"14515:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32056,"name":"uint256","nodeType":"ElementaryTypeName","src":"14515:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14514:17:63"},"returnParameters":{"id":32059,"nodeType":"ParameterList","parameters":[],"src":"14540:0:63"},"scope":32081,"src":"14498:43:63","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32061,"nodeType":"StructuredDocumentation","src":"14545:163:63","text":"@notice Upgrades the contract implementation\n @param newImplementation Address of the new implementation\n @param data Additional data for the upgrade"},"functionSelector":"4f1ef286","id":32068,"implemented":false,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"14720:16:63","nodeType":"FunctionDefinition","parameters":{"id":32066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32063,"mutability":"mutable","name":"newImplementation","nameLocation":"14745:17:63","nodeType":"VariableDeclaration","scope":32068,"src":"14737:25:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32062,"name":"address","nodeType":"ElementaryTypeName","src":"14737:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32065,"mutability":"mutable","name":"data","nameLocation":"14777:4:63","nodeType":"VariableDeclaration","scope":32068,"src":"14764:17:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":32064,"name":"bytes","nodeType":"ElementaryTypeName","src":"14764:5:63","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14736:46:63"},"returnParameters":{"id":32067,"nodeType":"ParameterList","parameters":[],"src":"14799:0:63"},"scope":32081,"src":"14711:89:63","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":32069,"nodeType":"StructuredDocumentation","src":"14804:69:63","text":"@notice Returns the contract version\n @return Version string"},"functionSelector":"54fd4d50","id":32074,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"14885:7:63","nodeType":"FunctionDefinition","parameters":{"id":32070,"nodeType":"ParameterList","parameters":[],"src":"14892:2:63"},"returnParameters":{"id":32073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32072,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32074,"src":"14918:13:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32071,"name":"string","nodeType":"ElementaryTypeName","src":"14918:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14917:15:63"},"scope":32081,"src":"14876:57:63","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":32075,"nodeType":"StructuredDocumentation","src":"14937:54:63","text":"@notice Returns the X-Allocations governor address"},"functionSelector":"5ecf68e9","id":32080,"implemented":false,"kind":"function","modifiers":[],"name":"xAllocationsGovernor","nameLocation":"15003:20:63","nodeType":"FunctionDefinition","parameters":{"id":32076,"nodeType":"ParameterList","parameters":[],"src":"15023:2:63"},"returnParameters":{"id":32079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32078,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32080,"src":"15049:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32077,"name":"address","nodeType":"ElementaryTypeName","src":"15049:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15048:9:63"},"scope":32081,"src":"14994:64:63","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":32082,"src":"382:14678:63","usedErrors":[31383,31389,31393,31397,31399,31405,31407,31409,31417,31423,31427,31431,31435,31439,31443,31447,31453,31455,31457,31459,31461,31463,31465,31467,31471],"usedEvents":[31479,31487,31492,31498,31504,31508,31514,31518,31522,31530,31538,31546,31552,31560,31564,31568,31576,31582,31588,31594]}],"src":"33:15028:63"},"id":63},"contracts/deprecated/V2/interfaces/IGrantsManagerV2.sol":{"ast":{"absolutePath":"contracts/deprecated/V2/interfaces/IGrantsManagerV2.sol","exportedSymbols":{"IGrantsManagerV2":[32524]},"id":32525,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":32083,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:64"},{"abstract":false,"baseContracts":[],"canonicalName":"IGrantsManagerV2","contractDependencies":[],"contractKind":"interface","documentation":{"id":32084,"nodeType":"StructuredDocumentation","src":"1220:249:64","text":" @title IGrantsManagerV2\n @notice Interface for the GrantsManager V2 contract that manages grant execution and milestone creation\n @dev This contract handles the execution of approved grant proposals and manages milestone-based funding"},"fullyImplemented":false,"id":32524,"linearizedBaseContracts":[32524],"name":"IGrantsManagerV2","nameLocation":"1480:16:64","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":32085,"nodeType":"StructuredDocumentation","src":"1555:200:64","text":" @notice Emitted when a milestone is validated ( ready to be claimed by the receiver )\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"eventSelector":"345699b3779e7f0f3201b7d9d8c3e2bc3ce9f29696be4e3eebc592beb21727c3","id":32091,"name":"MilestoneValidated","nameLocation":"1764:18:64","nodeType":"EventDefinition","parameters":{"id":32090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32087,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"1799:10:64","nodeType":"VariableDeclaration","scope":32091,"src":"1783:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32086,"name":"uint256","nodeType":"ElementaryTypeName","src":"1783:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32089,"indexed":true,"mutability":"mutable","name":"milestoneIndex","nameLocation":"1827:14:64","nodeType":"VariableDeclaration","scope":32091,"src":"1811:30:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32088,"name":"uint256","nodeType":"ElementaryTypeName","src":"1811:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1782:60:64"},"src":"1758:85:64"},{"anonymous":false,"documentation":{"id":32092,"nodeType":"StructuredDocumentation","src":"1847:205:64","text":" @notice Emitted when a milestone is claimed\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @param amount The amount of the milestone"},"eventSelector":"6ecdb8cbf47483e6e73593d9d08161bd1c750eb1a8b0cfbaabc80317d281adbe","id":32100,"name":"MilestoneClaimed","nameLocation":"2061:16:64","nodeType":"EventDefinition","parameters":{"id":32099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32094,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2094:10:64","nodeType":"VariableDeclaration","scope":32100,"src":"2078:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32093,"name":"uint256","nodeType":"ElementaryTypeName","src":"2078:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32096,"indexed":true,"mutability":"mutable","name":"milestoneIndex","nameLocation":"2122:14:64","nodeType":"VariableDeclaration","scope":32100,"src":"2106:30:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32095,"name":"uint256","nodeType":"ElementaryTypeName","src":"2106:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32098,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2146:6:64","nodeType":"VariableDeclaration","scope":32100,"src":"2138:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32097,"name":"uint256","nodeType":"ElementaryTypeName","src":"2138:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2077:76:64"},"src":"2055:99:64"},{"anonymous":false,"documentation":{"id":32101,"nodeType":"StructuredDocumentation","src":"2158:152:64","text":" @notice Emitted when a milestone is rejected\n @param proposalId The ID of the proposal\n @param amount The amount of the milestone"},"eventSelector":"122fca773bdc90ed7da7c637fa41c96069c5b596f4ebfacfe0787da4ecce8693","id":32107,"name":"MilestoneRejectedAndFundsReturnedToTreasury","nameLocation":"2319:43:64","nodeType":"EventDefinition","parameters":{"id":32106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32103,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2379:10:64","nodeType":"VariableDeclaration","scope":32107,"src":"2363:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32102,"name":"uint256","nodeType":"ElementaryTypeName","src":"2363:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32105,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2399:6:64","nodeType":"VariableDeclaration","scope":32107,"src":"2391:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32104,"name":"uint256","nodeType":"ElementaryTypeName","src":"2391:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2362:44:64"},"src":"2313:94:64"},{"anonymous":false,"documentation":{"id":32108,"nodeType":"StructuredDocumentation","src":"2411:174:64","text":" @notice Emitted when a milestone metadata URI is updated\n @param proposalId The ID of the proposal\n @param newMilestoneMetadataURI The new metadata URI"},"eventSelector":"f54adc4fa88871bb9bb39a4fc2f5dc8b81291d5f344fd26b636ad128e8cab3a4","id":32114,"name":"MilestoneMetadataURIUpdated","nameLocation":"2594:27:64","nodeType":"EventDefinition","parameters":{"id":32113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32110,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2638:10:64","nodeType":"VariableDeclaration","scope":32114,"src":"2622:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32109,"name":"uint256","nodeType":"ElementaryTypeName","src":"2622:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32112,"indexed":false,"mutability":"mutable","name":"newMilestoneMetadataURI","nameLocation":"2657:23:64","nodeType":"VariableDeclaration","scope":32114,"src":"2650:30:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32111,"name":"string","nodeType":"ElementaryTypeName","src":"2650:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2621:60:64"},"src":"2588:94:64"},{"anonymous":false,"documentation":{"id":32115,"nodeType":"StructuredDocumentation","src":"2686:182:64","text":" @notice Emitted when the grants receiver address is updated\n @param proposalId The ID of the proposal\n @param newGrantsReceiver The new grants receiver address"},"eventSelector":"1796595f8b84e72820b0e06df582ff944db24f5e710795c7c8ac5112e6de039e","id":32121,"name":"GrantsReceiverUpdated","nameLocation":"2877:21:64","nodeType":"EventDefinition","parameters":{"id":32120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32117,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2915:10:64","nodeType":"VariableDeclaration","scope":32121,"src":"2899:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32116,"name":"uint256","nodeType":"ElementaryTypeName","src":"2899:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32119,"indexed":false,"mutability":"mutable","name":"newGrantsReceiver","nameLocation":"2935:17:64","nodeType":"VariableDeclaration","scope":32121,"src":"2927:25:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32118,"name":"address","nodeType":"ElementaryTypeName","src":"2927:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2898:55:64"},"src":"2871:83:64"},{"anonymous":false,"documentation":{"id":32122,"nodeType":"StructuredDocumentation","src":"2958:356:64","text":" @notice Emitted when milestones are created for a proposal\n @param proposalId The ID of the proposal\n @param proposer The address of the proposer\n @param grantsReceiver The address of the grants receiver\n @param totalAmount The total amount of all milestones\n @param metadataURI The IPFS hash containing milestone details"},"eventSelector":"4881acb9050bcf1b58cd99d39b4d4497e03c9961e7466fdb95d6e422cd6f9553","id":32134,"name":"MilestonesCreated","nameLocation":"3323:17:64","nodeType":"EventDefinition","parameters":{"id":32133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32124,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3362:10:64","nodeType":"VariableDeclaration","scope":32134,"src":"3346:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32123,"name":"uint256","nodeType":"ElementaryTypeName","src":"3346:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32126,"indexed":true,"mutability":"mutable","name":"proposer","nameLocation":"3394:8:64","nodeType":"VariableDeclaration","scope":32134,"src":"3378:24:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32125,"name":"address","nodeType":"ElementaryTypeName","src":"3378:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32128,"indexed":true,"mutability":"mutable","name":"grantsReceiver","nameLocation":"3424:14:64","nodeType":"VariableDeclaration","scope":32134,"src":"3408:30:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32127,"name":"address","nodeType":"ElementaryTypeName","src":"3408:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32130,"indexed":false,"mutability":"mutable","name":"totalAmount","nameLocation":"3452:11:64","nodeType":"VariableDeclaration","scope":32134,"src":"3444:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32129,"name":"uint256","nodeType":"ElementaryTypeName","src":"3444:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32132,"indexed":false,"mutability":"mutable","name":"metadataURI","nameLocation":"3476:11:64","nodeType":"VariableDeclaration","scope":32134,"src":"3469:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32131,"name":"string","nodeType":"ElementaryTypeName","src":"3469:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3340:151:64"},"src":"3317:175:64"},{"anonymous":false,"documentation":{"id":32135,"nodeType":"StructuredDocumentation","src":"3496:101:64","text":" @notice Emitted when a grant is canceled\n @param proposalId The ID of the proposal"},"eventSelector":"f9125771cfea9a399996ab1f5e54c097b3bf95285fd184c2b05fdcef4dee834b","id":32139,"name":"GrantCanceled","nameLocation":"3606:13:64","nodeType":"EventDefinition","parameters":{"id":32138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32137,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3636:10:64","nodeType":"VariableDeclaration","scope":32139,"src":"3620:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32136,"name":"uint256","nodeType":"ElementaryTypeName","src":"3620:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3619:28:64"},"src":"3600:48:64"},{"documentation":{"id":32140,"nodeType":"StructuredDocumentation","src":"3706:98:64","text":" @notice Error thrown when a target is invalid\n @param target The invalid target"},"errorSelector":"d08525e9","id":32144,"name":"InvalidTarget","nameLocation":"3813:13:64","nodeType":"ErrorDefinition","parameters":{"id":32143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32142,"mutability":"mutable","name":"target","nameLocation":"3835:6:64","nodeType":"VariableDeclaration","scope":32144,"src":"3827:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32141,"name":"address","nodeType":"ElementaryTypeName","src":"3827:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3826:16:64"},"src":"3807:36:64"},{"documentation":{"id":32145,"nodeType":"StructuredDocumentation","src":"3847:70:64","text":" @notice Error thrown when a milestone amount is invalid"},"errorSelector":"2c5211c6","id":32147,"name":"InvalidAmount","nameLocation":"3926:13:64","nodeType":"ErrorDefinition","parameters":{"id":32146,"nodeType":"ParameterList","parameters":[],"src":"3939:2:64"},"src":"3920:22:64"},{"documentation":{"id":32148,"nodeType":"StructuredDocumentation","src":"3946:113:64","text":" @notice Error thrown when a function selector is invalid\n @param selector The invalid selector"},"errorSelector":"432df3c4","id":32152,"name":"InvalidFunctionSelector","nameLocation":"4068:23:64","nodeType":"ErrorDefinition","parameters":{"id":32151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32150,"mutability":"mutable","name":"selector","nameLocation":"4099:8:64","nodeType":"VariableDeclaration","scope":32152,"src":"4092:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":32149,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4092:6:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4091:17:64"},"src":"4062:47:64"},{"documentation":{"id":32153,"nodeType":"StructuredDocumentation","src":"4113:173:64","text":" @notice Error thrown when a milestone is already validated\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"fec7498f","id":32159,"name":"MilestoneAlreadyApproved","nameLocation":"4295:24:64","nodeType":"ErrorDefinition","parameters":{"id":32158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32155,"mutability":"mutable","name":"proposalId","nameLocation":"4328:10:64","nodeType":"VariableDeclaration","scope":32159,"src":"4320:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32154,"name":"uint256","nodeType":"ElementaryTypeName","src":"4320:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32157,"mutability":"mutable","name":"milestoneIndex","nameLocation":"4348:14:64","nodeType":"VariableDeclaration","scope":32159,"src":"4340:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32156,"name":"uint256","nodeType":"ElementaryTypeName","src":"4340:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4319:44:64"},"src":"4289:75:64"},{"documentation":{"id":32160,"nodeType":"StructuredDocumentation","src":"4368:136:64","text":" @notice Error thrown when milestone amount is zero\n @param milestoneIndex The index of the milestone with zero amount"},"errorSelector":"abed7544","id":32164,"name":"MilestoneAmountZero","nameLocation":"4513:19:64","nodeType":"ErrorDefinition","parameters":{"id":32163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32162,"mutability":"mutable","name":"milestoneIndex","nameLocation":"4541:14:64","nodeType":"VariableDeclaration","scope":32164,"src":"4533:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32161,"name":"uint256","nodeType":"ElementaryTypeName","src":"4533:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4532:24:64"},"src":"4507:50:64"},{"documentation":{"id":32165,"nodeType":"StructuredDocumentation","src":"4561:71:64","text":" @notice Error thrown when milestone total amount is zero"},"errorSelector":"565e8112","id":32167,"name":"MilestoneTotalAmountZero","nameLocation":"4641:24:64","nodeType":"ErrorDefinition","parameters":{"id":32166,"nodeType":"ParameterList","parameters":[],"src":"4665:2:64"},"src":"4635:33:64"},{"documentation":{"id":32168,"nodeType":"StructuredDocumentation","src":"4672:182:64","text":" @notice Error thrown when milestone claimed amount exceeds total amount\n @param claimedAmount The amount claimed\n @param totalAmount The total amount available"},"errorSelector":"3b9f12cf","id":32174,"name":"MilestoneClaimedAmountExceedsTotalAmount","nameLocation":"4863:40:64","nodeType":"ErrorDefinition","parameters":{"id":32173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32170,"mutability":"mutable","name":"claimedAmount","nameLocation":"4912:13:64","nodeType":"VariableDeclaration","scope":32174,"src":"4904:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32169,"name":"uint256","nodeType":"ElementaryTypeName","src":"4904:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32172,"mutability":"mutable","name":"totalAmount","nameLocation":"4935:11:64","nodeType":"VariableDeclaration","scope":32174,"src":"4927:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32171,"name":"uint256","nodeType":"ElementaryTypeName","src":"4927:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4903:44:64"},"src":"4857:91:64"},{"documentation":{"id":32175,"nodeType":"StructuredDocumentation","src":"4952:209:64","text":" @notice Error thrown when number of milestones is less than minimum required\n @param provided The number of milestones provided\n @param required The minimum number of milestones required"},"errorSelector":"fd1c0ddb","id":32181,"name":"InvalidNumberOfMilestones","nameLocation":"5170:25:64","nodeType":"ErrorDefinition","parameters":{"id":32180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32177,"mutability":"mutable","name":"provided","nameLocation":"5204:8:64","nodeType":"VariableDeclaration","scope":32181,"src":"5196:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32176,"name":"uint256","nodeType":"ElementaryTypeName","src":"5196:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32179,"mutability":"mutable","name":"required","nameLocation":"5222:8:64","nodeType":"VariableDeclaration","scope":32181,"src":"5214:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32178,"name":"uint256","nodeType":"ElementaryTypeName","src":"5214:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5195:36:64"},"src":"5164:68:64"},{"documentation":{"id":32182,"nodeType":"StructuredDocumentation","src":"5236:126:64","text":" @notice Error thrown when milestone state is not pending\n @param status The current status of the milestone"},"errorSelector":"2367a31d","id":32187,"name":"MilestoneStateNotPending","nameLocation":"5371:24:64","nodeType":"ErrorDefinition","parameters":{"id":32186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32185,"mutability":"mutable","name":"status","nameLocation":"5411:6:64","nodeType":"VariableDeclaration","scope":32187,"src":"5396:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":32184,"nodeType":"UserDefinedTypeName","pathNode":{"id":32183,"name":"MilestoneState","nameLocations":["5396:14:64"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"5396:14:64"},"referencedDeclaration":32274,"src":"5396:14:64","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"src":"5395:23:64"},"src":"5365:54:64"},{"documentation":{"id":32188,"nodeType":"StructuredDocumentation","src":"5423:176:64","text":" @notice Error thrown when previous milestone is not validated\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"414e3ac7","id":32194,"name":"PreviousMilestoneNotApproved","nameLocation":"5608:28:64","nodeType":"ErrorDefinition","parameters":{"id":32193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32190,"mutability":"mutable","name":"proposalId","nameLocation":"5645:10:64","nodeType":"VariableDeclaration","scope":32194,"src":"5637:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32189,"name":"uint256","nodeType":"ElementaryTypeName","src":"5637:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32192,"mutability":"mutable","name":"milestoneIndex","nameLocation":"5665:14:64","nodeType":"VariableDeclaration","scope":32194,"src":"5657:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32191,"name":"uint256","nodeType":"ElementaryTypeName","src":"5657:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5636:44:64"},"src":"5602:79:64"},{"documentation":{"id":32195,"nodeType":"StructuredDocumentation","src":"5685:169:64","text":" @notice Error thrown when milestone is already claimed\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"c4fe487a","id":32201,"name":"MilestoneAlreadyClaimed","nameLocation":"5863:23:64","nodeType":"ErrorDefinition","parameters":{"id":32200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32197,"mutability":"mutable","name":"proposalId","nameLocation":"5895:10:64","nodeType":"VariableDeclaration","scope":32201,"src":"5887:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32196,"name":"uint256","nodeType":"ElementaryTypeName","src":"5887:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32199,"mutability":"mutable","name":"milestoneIndex","nameLocation":"5915:14:64","nodeType":"VariableDeclaration","scope":32201,"src":"5907:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32198,"name":"uint256","nodeType":"ElementaryTypeName","src":"5907:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5886:44:64"},"src":"5857:74:64"},{"documentation":{"id":32202,"nodeType":"StructuredDocumentation","src":"5935:81:64","text":" @notice Error thrown when caller is not an admin or grants manager"},"errorSelector":"ea8e4eb5","id":32204,"name":"NotAuthorized","nameLocation":"6025:13:64","nodeType":"ErrorDefinition","parameters":{"id":32203,"nodeType":"ParameterList","parameters":[],"src":"6038:2:64"},"src":"6019:22:64"},{"documentation":{"id":32205,"nodeType":"StructuredDocumentation","src":"6045:167:64","text":" @notice Error thrown when milestone is not validated\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"6ff77edd","id":32211,"name":"MilestoneNotApprovedByAdmin","nameLocation":"6221:27:64","nodeType":"ErrorDefinition","parameters":{"id":32210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32207,"mutability":"mutable","name":"proposalId","nameLocation":"6257:10:64","nodeType":"VariableDeclaration","scope":32211,"src":"6249:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32206,"name":"uint256","nodeType":"ElementaryTypeName","src":"6249:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32209,"mutability":"mutable","name":"milestoneIndex","nameLocation":"6277:14:64","nodeType":"VariableDeclaration","scope":32211,"src":"6269:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32208,"name":"uint256","nodeType":"ElementaryTypeName","src":"6269:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6248:44:64"},"src":"6215:78:64"},{"documentation":{"id":32212,"nodeType":"StructuredDocumentation","src":"6297:167:64","text":" @notice Error thrown when milestone index is invalid\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"7854fafc","id":32218,"name":"InvalidMilestoneIndex","nameLocation":"6473:21:64","nodeType":"ErrorDefinition","parameters":{"id":32217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32214,"mutability":"mutable","name":"proposalId","nameLocation":"6503:10:64","nodeType":"VariableDeclaration","scope":32218,"src":"6495:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32213,"name":"uint256","nodeType":"ElementaryTypeName","src":"6495:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32216,"mutability":"mutable","name":"milestoneIndex","nameLocation":"6523:14:64","nodeType":"VariableDeclaration","scope":32218,"src":"6515:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32215,"name":"uint256","nodeType":"ElementaryTypeName","src":"6515:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6494:44:64"},"src":"6467:72:64"},{"documentation":{"id":32219,"nodeType":"StructuredDocumentation","src":"6543:75:64","text":" @notice Error thrown when milestone proposer is zero address"},"errorSelector":"65923117","id":32221,"name":"MilestoneProposerZeroAddress","nameLocation":"6627:28:64","nodeType":"ErrorDefinition","parameters":{"id":32220,"nodeType":"ParameterList","parameters":[],"src":"6655:2:64"},"src":"6621:37:64"},{"documentation":{"id":32222,"nodeType":"StructuredDocumentation","src":"6662:169:64","text":" @notice Error thrown when caller is not the grant receiver\n @param caller The address of the caller\n @param recipient The address of the recipient"},"errorSelector":"95efd215","id":32228,"name":"CallerIsNotTheGrantReceiver","nameLocation":"6840:27:64","nodeType":"ErrorDefinition","parameters":{"id":32227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32224,"mutability":"mutable","name":"caller","nameLocation":"6876:6:64","nodeType":"VariableDeclaration","scope":32228,"src":"6868:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32223,"name":"address","nodeType":"ElementaryTypeName","src":"6868:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32226,"mutability":"mutable","name":"recipient","nameLocation":"6892:9:64","nodeType":"VariableDeclaration","scope":32228,"src":"6884:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32225,"name":"address","nodeType":"ElementaryTypeName","src":"6884:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6867:35:64"},"src":"6834:69:64"},{"documentation":{"id":32229,"nodeType":"StructuredDocumentation","src":"6907:55:64","text":" @notice Error thrown when transfer fails"},"errorSelector":"90b8ec18","id":32231,"name":"TransferFailed","nameLocation":"6971:14:64","nodeType":"ErrorDefinition","parameters":{"id":32230,"nodeType":"ParameterList","parameters":[],"src":"6985:2:64"},"src":"6965:23:64"},{"documentation":{"id":32232,"nodeType":"StructuredDocumentation","src":"6992:155:64","text":" @notice Error thrown when funds are insufficient\n @param availableFunds The available funds\n @param requiredFunds The required funds"},"errorSelector":"03eb8b54","id":32238,"name":"InsufficientFunds","nameLocation":"7156:17:64","nodeType":"ErrorDefinition","parameters":{"id":32237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32234,"mutability":"mutable","name":"availableFunds","nameLocation":"7182:14:64","nodeType":"VariableDeclaration","scope":32238,"src":"7174:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32233,"name":"uint256","nodeType":"ElementaryTypeName","src":"7174:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32236,"mutability":"mutable","name":"requiredFunds","nameLocation":"7206:13:64","nodeType":"VariableDeclaration","scope":32238,"src":"7198:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32235,"name":"uint256","nodeType":"ElementaryTypeName","src":"7198:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7173:47:64"},"src":"7150:71:64"},{"documentation":{"id":32239,"nodeType":"StructuredDocumentation","src":"7225:80:64","text":" @notice Error thrown when milestone details metadata URI is empty"},"errorSelector":"436f9d57","id":32241,"name":"MilestoneDetailsMetadataURIEmpty","nameLocation":"7314:32:64","nodeType":"ErrorDefinition","parameters":{"id":32240,"nodeType":"ParameterList","parameters":[],"src":"7346:2:64"},"src":"7308:41:64"},{"documentation":{"id":32242,"nodeType":"StructuredDocumentation","src":"7353:111:64","text":" @notice Error thrown when proposal is not executed\n @param proposalId The ID of the proposal"},"errorSelector":"4d585ff2","id":32246,"name":"ProposalNotExecuted","nameLocation":"7473:19:64","nodeType":"ErrorDefinition","parameters":{"id":32245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32244,"mutability":"mutable","name":"proposalId","nameLocation":"7501:10:64","nodeType":"VariableDeclaration","scope":32246,"src":"7493:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32243,"name":"uint256","nodeType":"ElementaryTypeName","src":"7493:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7492:20:64"},"src":"7467:46:64"},{"documentation":{"id":32247,"nodeType":"StructuredDocumentation","src":"7517:113:64","text":" @notice Error thrown when grant is already completed\n @param proposalId The ID of the proposal"},"errorSelector":"b2e459af","id":32251,"name":"GrantAlreadyCompleted","nameLocation":"7639:21:64","nodeType":"ErrorDefinition","parameters":{"id":32250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32249,"mutability":"mutable","name":"proposalId","nameLocation":"7669:10:64","nodeType":"VariableDeclaration","scope":32251,"src":"7661:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32248,"name":"uint256","nodeType":"ElementaryTypeName","src":"7661:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7660:20:64"},"src":"7633:48:64"},{"documentation":{"id":32252,"nodeType":"StructuredDocumentation","src":"7685:112:64","text":" @notice Error thrown when grant is already rejected\n @param proposalId The ID of the proposal"},"errorSelector":"3dba08ff","id":32256,"name":"GrantAlreadyRejected","nameLocation":"7806:20:64","nodeType":"ErrorDefinition","parameters":{"id":32255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32254,"mutability":"mutable","name":"proposalId","nameLocation":"7835:10:64","nodeType":"VariableDeclaration","scope":32256,"src":"7827:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32253,"name":"uint256","nodeType":"ElementaryTypeName","src":"7827:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7826:20:64"},"src":"7800:47:64"},{"canonicalName":"IGrantsManagerV2.GrantState","documentation":{"id":32257,"nodeType":"StructuredDocumentation","src":"7916:178:64","text":" @notice GrantState enum to store the status of the grant\n @dev This is the same as the ProposalState enum however with InDevelopment and Completed extra states"},"id":32268,"members":[{"id":32258,"name":"Pending","nameLocation":"8119:7:64","nodeType":"EnumValue","src":"8119:7:64"},{"id":32259,"name":"Active","nameLocation":"8137:6:64","nodeType":"EnumValue","src":"8137:6:64"},{"id":32260,"name":"Canceled","nameLocation":"8154:8:64","nodeType":"EnumValue","src":"8154:8:64"},{"id":32261,"name":"Defeated","nameLocation":"8173:8:64","nodeType":"EnumValue","src":"8173:8:64"},{"id":32262,"name":"Succeeded","nameLocation":"8192:9:64","nodeType":"EnumValue","src":"8192:9:64"},{"id":32263,"name":"Queued","nameLocation":"8212:6:64","nodeType":"EnumValue","src":"8212:6:64"},{"id":32264,"name":"Executed","nameLocation":"8229:8:64","nodeType":"EnumValue","src":"8229:8:64"},{"id":32265,"name":"DepositNotMet","nameLocation":"8248:13:64","nodeType":"EnumValue","src":"8248:13:64"},{"id":32266,"name":"InDevelopment","nameLocation":"8272:13:64","nodeType":"EnumValue","src":"8272:13:64"},{"id":32267,"name":"Completed","nameLocation":"8296:9:64","nodeType":"EnumValue","src":"8296:9:64"}],"name":"GrantState","nameLocation":"8102:10:64","nodeType":"EnumDefinition","src":"8097:217:64"},{"canonicalName":"IGrantsManagerV2.MilestoneState","documentation":{"id":32269,"nodeType":"StructuredDocumentation","src":"8318:79:64","text":" @notice MilestoneState enum to store the status of the milestone"},"id":32274,"members":[{"id":32270,"name":"Pending","nameLocation":"8426:7:64","nodeType":"EnumValue","src":"8426:7:64"},{"id":32271,"name":"Approved","nameLocation":"8454:8:64","nodeType":"EnumValue","src":"8454:8:64"},{"id":32272,"name":"Claimed","nameLocation":"8507:7:64","nodeType":"EnumValue","src":"8507:7:64"},{"id":32273,"name":"Rejected","nameLocation":"8554:8:64","nodeType":"EnumValue","src":"8554:8:64"}],"name":"MilestoneState","nameLocation":"8405:14:64","nodeType":"EnumDefinition","src":"8400:187:64"},{"canonicalName":"IGrantsManagerV2.Milestone","documentation":{"id":32275,"nodeType":"StructuredDocumentation","src":"8591:39:64","text":" @notice Milestone struct"},"id":32286,"members":[{"constant":false,"id":32277,"mutability":"mutable","name":"amount","nameLocation":"8664:6:64","nodeType":"VariableDeclaration","scope":32286,"src":"8656:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32276,"name":"uint256","nodeType":"ElementaryTypeName","src":"8656:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32279,"mutability":"mutable","name":"isClaimed","nameLocation":"8681:9:64","nodeType":"VariableDeclaration","scope":32286,"src":"8676:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32278,"name":"bool","nodeType":"ElementaryTypeName","src":"8676:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32281,"mutability":"mutable","name":"isApproved","nameLocation":"8701:10:64","nodeType":"VariableDeclaration","scope":32286,"src":"8696:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32280,"name":"bool","nodeType":"ElementaryTypeName","src":"8696:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32283,"mutability":"mutable","name":"isRejected","nameLocation":"8722:10:64","nodeType":"VariableDeclaration","scope":32286,"src":"8717:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32282,"name":"bool","nodeType":"ElementaryTypeName","src":"8717:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32285,"mutability":"mutable","name":"reason","nameLocation":"8745:6:64","nodeType":"VariableDeclaration","scope":32286,"src":"8738:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32284,"name":"string","nodeType":"ElementaryTypeName","src":"8738:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Milestone","nameLocation":"8640:9:64","nodeType":"StructDefinition","scope":32524,"src":"8633:123:64","visibility":"public"},{"canonicalName":"IGrantsManagerV2.GrantProposal","documentation":{"id":32287,"nodeType":"StructuredDocumentation","src":"8760:43:64","text":" @notice GrantProposal struct"},"id":32304,"members":[{"constant":false,"id":32289,"mutability":"mutable","name":"id","nameLocation":"8841:2:64","nodeType":"VariableDeclaration","scope":32304,"src":"8833:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32288,"name":"uint256","nodeType":"ElementaryTypeName","src":"8833:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32291,"mutability":"mutable","name":"totalAmount","nameLocation":"8857:11:64","nodeType":"VariableDeclaration","scope":32304,"src":"8849:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32290,"name":"uint256","nodeType":"ElementaryTypeName","src":"8849:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32293,"mutability":"mutable","name":"claimedAmount","nameLocation":"8882:13:64","nodeType":"VariableDeclaration","scope":32304,"src":"8874:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32292,"name":"uint256","nodeType":"ElementaryTypeName","src":"8874:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32295,"mutability":"mutable","name":"proposer","nameLocation":"8909:8:64","nodeType":"VariableDeclaration","scope":32304,"src":"8901:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32294,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32297,"mutability":"mutable","name":"grantsReceiver","nameLocation":"8931:14:64","nodeType":"VariableDeclaration","scope":32304,"src":"8923:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32296,"name":"address","nodeType":"ElementaryTypeName","src":"8923:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32301,"mutability":"mutable","name":"milestones","nameLocation":"8963:10:64","nodeType":"VariableDeclaration","scope":32304,"src":"8951:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone[]"},"typeName":{"baseType":{"id":32299,"nodeType":"UserDefinedTypeName","pathNode":{"id":32298,"name":"Milestone","nameLocations":["8951:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":32286,"src":"8951:9:64"},"referencedDeclaration":32286,"src":"8951:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone"}},"id":32300,"nodeType":"ArrayTypeName","src":"8951:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone[]"}},"visibility":"internal"},{"constant":false,"id":32303,"mutability":"mutable","name":"metadataURI","nameLocation":"8986:11:64","nodeType":"VariableDeclaration","scope":32304,"src":"8979:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32302,"name":"string","nodeType":"ElementaryTypeName","src":"8979:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"GrantProposal","nameLocation":"8813:13:64","nodeType":"StructDefinition","scope":32524,"src":"8806:196:64","visibility":"public"},{"documentation":{"id":32305,"nodeType":"StructuredDocumentation","src":"9088:340:64","text":" @notice Creates milestones for a proposal\n @param metadataURI The IPFS hash containing the milestones metadata\n @param proposalId The ID of the proposal\n @param proposer The address of the proposer\n @param grantsReceiver The address of the grants receiver\n @param calldatas The calldatas of the milestones"},"functionSelector":"808860a5","id":32319,"implemented":false,"kind":"function","modifiers":[],"name":"createMilestones","nameLocation":"9440:16:64","nodeType":"FunctionDefinition","parameters":{"id":32317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32307,"mutability":"mutable","name":"metadataURI","nameLocation":"9476:11:64","nodeType":"VariableDeclaration","scope":32319,"src":"9462:25:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32306,"name":"string","nodeType":"ElementaryTypeName","src":"9462:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32309,"mutability":"mutable","name":"proposalId","nameLocation":"9501:10:64","nodeType":"VariableDeclaration","scope":32319,"src":"9493:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32308,"name":"uint256","nodeType":"ElementaryTypeName","src":"9493:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32311,"mutability":"mutable","name":"proposer","nameLocation":"9525:8:64","nodeType":"VariableDeclaration","scope":32319,"src":"9517:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32310,"name":"address","nodeType":"ElementaryTypeName","src":"9517:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32313,"mutability":"mutable","name":"grantsReceiver","nameLocation":"9547:14:64","nodeType":"VariableDeclaration","scope":32319,"src":"9539:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32312,"name":"address","nodeType":"ElementaryTypeName","src":"9539:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32316,"mutability":"mutable","name":"calldatas","nameLocation":"9582:9:64","nodeType":"VariableDeclaration","scope":32319,"src":"9567:24:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":32314,"name":"bytes","nodeType":"ElementaryTypeName","src":"9567:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":32315,"nodeType":"ArrayTypeName","src":"9567:7:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"9456:139:64"},"returnParameters":{"id":32318,"nodeType":"ParameterList","parameters":[],"src":"9604:0:64"},"scope":32524,"src":"9431:174:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32320,"nodeType":"StructuredDocumentation","src":"9609:194:64","text":" @notice Returns a milestone for a proposal\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @return Milestone The milestone"},"functionSelector":"8ed9895c","id":32330,"implemented":false,"kind":"function","modifiers":[],"name":"getMilestone","nameLocation":"9815:12:64","nodeType":"FunctionDefinition","parameters":{"id":32325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32322,"mutability":"mutable","name":"proposalId","nameLocation":"9836:10:64","nodeType":"VariableDeclaration","scope":32330,"src":"9828:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32321,"name":"uint256","nodeType":"ElementaryTypeName","src":"9828:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32324,"mutability":"mutable","name":"milestoneIndex","nameLocation":"9856:14:64","nodeType":"VariableDeclaration","scope":32330,"src":"9848:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32323,"name":"uint256","nodeType":"ElementaryTypeName","src":"9848:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9827:44:64"},"returnParameters":{"id":32329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32330,"src":"9895:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone"},"typeName":{"id":32327,"nodeType":"UserDefinedTypeName","pathNode":{"id":32326,"name":"Milestone","nameLocations":["9895:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":32286,"src":"9895:9:64"},"referencedDeclaration":32286,"src":"9895:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone"}},"visibility":"internal"}],"src":"9894:18:64"},"scope":32524,"src":"9806:107:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32331,"nodeType":"StructuredDocumentation","src":"9917:164:64","text":" @notice Returns the milestones for a proposal\n @param proposalId The ID of the proposal\n @return GrantProposal struct created on proposeGrant"},"functionSelector":"24ad94cd","id":32339,"implemented":false,"kind":"function","modifiers":[],"name":"getGrantProposal","nameLocation":"10093:16:64","nodeType":"FunctionDefinition","parameters":{"id":32334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32333,"mutability":"mutable","name":"proposalId","nameLocation":"10118:10:64","nodeType":"VariableDeclaration","scope":32339,"src":"10110:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32332,"name":"uint256","nodeType":"ElementaryTypeName","src":"10110:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10109:20:64"},"returnParameters":{"id":32338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32337,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32339,"src":"10153:20:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_memory_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"},"typeName":{"id":32336,"nodeType":"UserDefinedTypeName","pathNode":{"id":32335,"name":"GrantProposal","nameLocations":["10153:13:64"],"nodeType":"IdentifierPath","referencedDeclaration":32304,"src":"10153:13:64"},"referencedDeclaration":32304,"src":"10153:13:64","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$32304_storage_ptr","typeString":"struct IGrantsManagerV2.GrantProposal"}},"visibility":"internal"}],"src":"10152:22:64"},"scope":32524,"src":"10084:91:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32340,"nodeType":"StructuredDocumentation","src":"10179:169:64","text":" @notice Returns the milestones for a proposal\n @param proposalId The ID of the proposal\n @return Milestone[] The milestones for the grant proposal"},"functionSelector":"42c549c0","id":32349,"implemented":false,"kind":"function","modifiers":[],"name":"getMilestones","nameLocation":"10360:13:64","nodeType":"FunctionDefinition","parameters":{"id":32343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32342,"mutability":"mutable","name":"proposalId","nameLocation":"10382:10:64","nodeType":"VariableDeclaration","scope":32349,"src":"10374:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32341,"name":"uint256","nodeType":"ElementaryTypeName","src":"10374:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10373:20:64"},"returnParameters":{"id":32348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32349,"src":"10417:18:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManagerV2.Milestone[]"},"typeName":{"baseType":{"id":32345,"nodeType":"UserDefinedTypeName","pathNode":{"id":32344,"name":"Milestone","nameLocations":["10417:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":32286,"src":"10417:9:64"},"referencedDeclaration":32286,"src":"10417:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$32286_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone"}},"id":32346,"nodeType":"ArrayTypeName","src":"10417:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$32286_storage_$dyn_storage_ptr","typeString":"struct IGrantsManagerV2.Milestone[]"}},"visibility":"internal"}],"src":"10416:20:64"},"scope":32524,"src":"10351:86:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32350,"nodeType":"StructuredDocumentation","src":"10441:143:64","text":" @notice Approves a milestone\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"functionSelector":"767b1602","id":32357,"implemented":false,"kind":"function","modifiers":[],"name":"approveMilestones","nameLocation":"10596:17:64","nodeType":"FunctionDefinition","parameters":{"id":32355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32352,"mutability":"mutable","name":"proposalId","nameLocation":"10622:10:64","nodeType":"VariableDeclaration","scope":32357,"src":"10614:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32351,"name":"uint256","nodeType":"ElementaryTypeName","src":"10614:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32354,"mutability":"mutable","name":"milestoneIndex","nameLocation":"10642:14:64","nodeType":"VariableDeclaration","scope":32357,"src":"10634:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32353,"name":"uint256","nodeType":"ElementaryTypeName","src":"10634:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10613:44:64"},"returnParameters":{"id":32356,"nodeType":"ParameterList","parameters":[],"src":"10666:0:64"},"scope":32524,"src":"10587:80:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32358,"nodeType":"StructuredDocumentation","src":"10671:257:64","text":" @notice Approves a milestone with a reason\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @param reason The reason for approving the milestone\n @notice This is used to approve a mi"},"functionSelector":"b3396778","id":32367,"implemented":false,"kind":"function","modifiers":[],"name":"approveMilestoneWithReason","nameLocation":"10940:26:64","nodeType":"FunctionDefinition","parameters":{"id":32365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32360,"mutability":"mutable","name":"proposalId","nameLocation":"10975:10:64","nodeType":"VariableDeclaration","scope":32367,"src":"10967:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32359,"name":"uint256","nodeType":"ElementaryTypeName","src":"10967:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32362,"mutability":"mutable","name":"milestoneIndex","nameLocation":"10995:14:64","nodeType":"VariableDeclaration","scope":32367,"src":"10987:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32361,"name":"uint256","nodeType":"ElementaryTypeName","src":"10987:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32364,"mutability":"mutable","name":"reason","nameLocation":"11025:6:64","nodeType":"VariableDeclaration","scope":32367,"src":"11011:20:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32363,"name":"string","nodeType":"ElementaryTypeName","src":"11011:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10966:66:64"},"returnParameters":{"id":32366,"nodeType":"ParameterList","parameters":[],"src":"11041:0:64"},"scope":32524,"src":"10931:111:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32368,"nodeType":"StructuredDocumentation","src":"11045:117:64","text":" @notice Sets the minimum milestone count\n @param minimumMilestoneCount The minimum milestone count"},"functionSelector":"b2a2eef9","id":32373,"implemented":false,"kind":"function","modifiers":[],"name":"setMinimumMilestoneCount","nameLocation":"11174:24:64","nodeType":"FunctionDefinition","parameters":{"id":32371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32370,"mutability":"mutable","name":"minimumMilestoneCount","nameLocation":"11207:21:64","nodeType":"VariableDeclaration","scope":32373,"src":"11199:29:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32369,"name":"uint256","nodeType":"ElementaryTypeName","src":"11199:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11198:31:64"},"returnParameters":{"id":32372,"nodeType":"ParameterList","parameters":[],"src":"11238:0:64"},"scope":32524,"src":"11165:74:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32374,"nodeType":"StructuredDocumentation","src":"11243:99:64","text":" @notice Returns the minimum milestone count\n @return The minimum milestone count"},"functionSelector":"01294764","id":32379,"implemented":false,"kind":"function","modifiers":[],"name":"getMinimumMilestoneCount","nameLocation":"11354:24:64","nodeType":"FunctionDefinition","parameters":{"id":32375,"nodeType":"ParameterList","parameters":[],"src":"11378:2:64"},"returnParameters":{"id":32378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32379,"src":"11404:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32376,"name":"uint256","nodeType":"ElementaryTypeName","src":"11404:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11403:9:64"},"scope":32524,"src":"11345:68:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32380,"nodeType":"StructuredDocumentation","src":"11417:210:64","text":" @notice Returns the state of a milestone\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @return MilestoneState The state of the milestone"},"functionSelector":"e9af5d1b","id":32390,"implemented":false,"kind":"function","modifiers":[],"name":"milestoneState","nameLocation":"11639:14:64","nodeType":"FunctionDefinition","parameters":{"id":32385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32382,"mutability":"mutable","name":"proposalId","nameLocation":"11662:10:64","nodeType":"VariableDeclaration","scope":32390,"src":"11654:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32381,"name":"uint256","nodeType":"ElementaryTypeName","src":"11654:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32384,"mutability":"mutable","name":"milestoneIndex","nameLocation":"11682:14:64","nodeType":"VariableDeclaration","scope":32390,"src":"11674:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32383,"name":"uint256","nodeType":"ElementaryTypeName","src":"11674:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11653:44:64"},"returnParameters":{"id":32389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32390,"src":"11721:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"},"typeName":{"id":32387,"nodeType":"UserDefinedTypeName","pathNode":{"id":32386,"name":"MilestoneState","nameLocations":["11721:14:64"],"nodeType":"IdentifierPath","referencedDeclaration":32274,"src":"11721:14:64"},"referencedDeclaration":32274,"src":"11721:14:64","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$32274","typeString":"enum IGrantsManagerV2.MilestoneState"}},"visibility":"internal"}],"src":"11720:16:64"},"scope":32524,"src":"11630:107:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32391,"nodeType":"StructuredDocumentation","src":"11741:150:64","text":" @notice Returns the state of a proposal\n @param proposalId The ID of the proposal\n @return GrantState The state of the proposal"},"functionSelector":"bfda4e7c","id":32399,"implemented":false,"kind":"function","modifiers":[],"name":"grantState","nameLocation":"11903:10:64","nodeType":"FunctionDefinition","parameters":{"id":32394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32393,"mutability":"mutable","name":"proposalId","nameLocation":"11922:10:64","nodeType":"VariableDeclaration","scope":32399,"src":"11914:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32392,"name":"uint256","nodeType":"ElementaryTypeName","src":"11914:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11913:20:64"},"returnParameters":{"id":32398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32397,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32399,"src":"11957:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$32268","typeString":"enum IGrantsManagerV2.GrantState"},"typeName":{"id":32396,"nodeType":"UserDefinedTypeName","pathNode":{"id":32395,"name":"GrantState","nameLocations":["11957:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":32268,"src":"11957:10:64"},"referencedDeclaration":32268,"src":"11957:10:64","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$32268","typeString":"enum IGrantsManagerV2.GrantState"}},"visibility":"internal"}],"src":"11956:12:64"},"scope":32524,"src":"11894:75:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32400,"nodeType":"StructuredDocumentation","src":"11973:182:64","text":" @notice Returns if a proposal is in development\n @param proposalId The ID of the proposal\n @return bool True if the proposal is in development, false otherwise"},"functionSelector":"c2249389","id":32407,"implemented":false,"kind":"function","modifiers":[],"name":"isGrantCompleted","nameLocation":"12167:16:64","nodeType":"FunctionDefinition","parameters":{"id":32403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32402,"mutability":"mutable","name":"proposalId","nameLocation":"12192:10:64","nodeType":"VariableDeclaration","scope":32407,"src":"12184:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32401,"name":"uint256","nodeType":"ElementaryTypeName","src":"12184:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12183:20:64"},"returnParameters":{"id":32406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32407,"src":"12227:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32404,"name":"bool","nodeType":"ElementaryTypeName","src":"12227:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12226:6:64"},"scope":32524,"src":"12158:75:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32408,"nodeType":"StructuredDocumentation","src":"12237:182:64","text":" @notice Returns if a proposal is in development\n @param proposalId The ID of the proposal\n @return bool True if the proposal is in development, false otherwise"},"functionSelector":"9b154087","id":32415,"implemented":false,"kind":"function","modifiers":[],"name":"isGrantInDevelopment","nameLocation":"12431:20:64","nodeType":"FunctionDefinition","parameters":{"id":32411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32410,"mutability":"mutable","name":"proposalId","nameLocation":"12460:10:64","nodeType":"VariableDeclaration","scope":32415,"src":"12452:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32409,"name":"uint256","nodeType":"ElementaryTypeName","src":"12452:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12451:20:64"},"returnParameters":{"id":32414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32413,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32415,"src":"12495:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32412,"name":"bool","nodeType":"ElementaryTypeName","src":"12495:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12494:6:64"},"scope":32524,"src":"12422:79:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32416,"nodeType":"StructuredDocumentation","src":"12505:179:64","text":" @notice Returns if a proposal is rejected\n @param proposalId The ID of the proposal\n @return bool True if one of the milestones is rejected, false otherwise"},"functionSelector":"7da17bf3","id":32423,"implemented":false,"kind":"function","modifiers":[],"name":"isGrantRejected","nameLocation":"12696:15:64","nodeType":"FunctionDefinition","parameters":{"id":32419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32418,"mutability":"mutable","name":"proposalId","nameLocation":"12720:10:64","nodeType":"VariableDeclaration","scope":32423,"src":"12712:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32417,"name":"uint256","nodeType":"ElementaryTypeName","src":"12712:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12711:20:64"},"returnParameters":{"id":32422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32423,"src":"12755:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32420,"name":"bool","nodeType":"ElementaryTypeName","src":"12755:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12754:6:64"},"scope":32524,"src":"12687:74:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32424,"nodeType":"StructuredDocumentation","src":"12765:88:64","text":" @notice Rejects a milestone\n @param proposalId The ID of the proposal"},"functionSelector":"f23e227b","id":32429,"implemented":false,"kind":"function","modifiers":[],"name":"rejectMilestones","nameLocation":"12865:16:64","nodeType":"FunctionDefinition","parameters":{"id":32427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32426,"mutability":"mutable","name":"proposalId","nameLocation":"12890:10:64","nodeType":"VariableDeclaration","scope":32429,"src":"12882:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32425,"name":"uint256","nodeType":"ElementaryTypeName","src":"12882:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12881:20:64"},"returnParameters":{"id":32428,"nodeType":"ParameterList","parameters":[],"src":"12910:0:64"},"scope":32524,"src":"12856:55:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32430,"nodeType":"StructuredDocumentation","src":"12915:159:64","text":" @notice Returns the total amount for milestones\n @param milestoneId The ID of the milestone\n @return The total amount for the milestones"},"functionSelector":"5ade3874","id":32437,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalAmountForMilestones","nameLocation":"13086:27:64","nodeType":"FunctionDefinition","parameters":{"id":32433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32432,"mutability":"mutable","name":"milestoneId","nameLocation":"13122:11:64","nodeType":"VariableDeclaration","scope":32437,"src":"13114:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32431,"name":"uint256","nodeType":"ElementaryTypeName","src":"13114:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13113:21:64"},"returnParameters":{"id":32436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32435,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32437,"src":"13158:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32434,"name":"uint256","nodeType":"ElementaryTypeName","src":"13158:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13157:9:64"},"scope":32524,"src":"13077:90:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32438,"nodeType":"StructuredDocumentation","src":"13248:140:64","text":" @notice Claims milestones\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"functionSelector":"c266aef7","id":32445,"implemented":false,"kind":"function","modifiers":[],"name":"claimMilestone","nameLocation":"13400:14:64","nodeType":"FunctionDefinition","parameters":{"id":32443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32440,"mutability":"mutable","name":"proposalId","nameLocation":"13423:10:64","nodeType":"VariableDeclaration","scope":32445,"src":"13415:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32439,"name":"uint256","nodeType":"ElementaryTypeName","src":"13415:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32442,"mutability":"mutable","name":"milestoneIndex","nameLocation":"13443:14:64","nodeType":"VariableDeclaration","scope":32445,"src":"13435:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32441,"name":"uint256","nodeType":"ElementaryTypeName","src":"13435:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13414:44:64"},"returnParameters":{"id":32444,"nodeType":"ParameterList","parameters":[],"src":"13467:0:64"},"scope":32524,"src":"13391:77:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32446,"nodeType":"StructuredDocumentation","src":"13472:228:64","text":" @notice Returns if a milestone is claimable\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @return bool True if the milestone is claimable, false otherwise"},"functionSelector":"c1a45a6a","id":32455,"implemented":false,"kind":"function","modifiers":[],"name":"isClaimable","nameLocation":"13712:11:64","nodeType":"FunctionDefinition","parameters":{"id":32451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32448,"mutability":"mutable","name":"proposalId","nameLocation":"13732:10:64","nodeType":"VariableDeclaration","scope":32455,"src":"13724:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32447,"name":"uint256","nodeType":"ElementaryTypeName","src":"13724:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32450,"mutability":"mutable","name":"milestoneIndex","nameLocation":"13752:14:64","nodeType":"VariableDeclaration","scope":32455,"src":"13744:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32449,"name":"uint256","nodeType":"ElementaryTypeName","src":"13744:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13723:44:64"},"returnParameters":{"id":32454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32455,"src":"13791:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32452,"name":"bool","nodeType":"ElementaryTypeName","src":"13791:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13790:6:64"},"scope":32524,"src":"13703:94:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32456,"nodeType":"StructuredDocumentation","src":"13880:108:64","text":" @notice Sets the governor contract\n @param _governor The address of the governor contract"},"functionSelector":"06c49822","id":32461,"implemented":false,"kind":"function","modifiers":[],"name":"setGovernorContract","nameLocation":"14000:19:64","nodeType":"FunctionDefinition","parameters":{"id":32459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32458,"mutability":"mutable","name":"_governor","nameLocation":"14028:9:64","nodeType":"VariableDeclaration","scope":32461,"src":"14020:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32457,"name":"address","nodeType":"ElementaryTypeName","src":"14020:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14019:19:64"},"returnParameters":{"id":32460,"nodeType":"ParameterList","parameters":[],"src":"14047:0:64"},"scope":32524,"src":"13991:57:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32462,"nodeType":"StructuredDocumentation","src":"14052:108:64","text":" @notice Sets the treasury contract\n @param _treasury The address of the treasury contract"},"functionSelector":"1ed65110","id":32467,"implemented":false,"kind":"function","modifiers":[],"name":"setTreasuryContract","nameLocation":"14172:19:64","nodeType":"FunctionDefinition","parameters":{"id":32465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32464,"mutability":"mutable","name":"_treasury","nameLocation":"14200:9:64","nodeType":"VariableDeclaration","scope":32467,"src":"14192:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32463,"name":"address","nodeType":"ElementaryTypeName","src":"14192:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14191:19:64"},"returnParameters":{"id":32466,"nodeType":"ParameterList","parameters":[],"src":"14219:0:64"},"scope":32524,"src":"14163:57:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32468,"nodeType":"StructuredDocumentation","src":"14224:102:64","text":" @notice Returns the governor contract\n @return The address of the governor contract"},"functionSelector":"0019cce6","id":32473,"implemented":false,"kind":"function","modifiers":[],"name":"getGovernorContract","nameLocation":"14338:19:64","nodeType":"FunctionDefinition","parameters":{"id":32469,"nodeType":"ParameterList","parameters":[],"src":"14357:2:64"},"returnParameters":{"id":32472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32473,"src":"14383:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32470,"name":"address","nodeType":"ElementaryTypeName","src":"14383:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14382:9:64"},"scope":32524,"src":"14329:63:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32474,"nodeType":"StructuredDocumentation","src":"14396:102:64","text":" @notice Returns the treasury contract\n @return The address of the treasury contract"},"functionSelector":"26c74fc3","id":32479,"implemented":false,"kind":"function","modifiers":[],"name":"getTreasuryContract","nameLocation":"14510:19:64","nodeType":"FunctionDefinition","parameters":{"id":32475,"nodeType":"ParameterList","parameters":[],"src":"14529:2:64"},"returnParameters":{"id":32478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32477,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32479,"src":"14555:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32476,"name":"address","nodeType":"ElementaryTypeName","src":"14555:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14554:9:64"},"scope":32524,"src":"14501:63:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32480,"nodeType":"StructuredDocumentation","src":"14568:94:64","text":" @notice Returns the b3tr contract\n @return The address of the b3tr contract"},"functionSelector":"c4ec8f98","id":32485,"implemented":false,"kind":"function","modifiers":[],"name":"getB3trContract","nameLocation":"14674:15:64","nodeType":"FunctionDefinition","parameters":{"id":32481,"nodeType":"ParameterList","parameters":[],"src":"14689:2:64"},"returnParameters":{"id":32484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32485,"src":"14715:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32482,"name":"address","nodeType":"ElementaryTypeName","src":"14715:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14714:9:64"},"scope":32524,"src":"14665:59:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32486,"nodeType":"StructuredDocumentation","src":"14728:96:64","text":" @notice Sets the b3tr contract\n @param _b3tr The address of the b3tr contract"},"functionSelector":"54b90b7b","id":32491,"implemented":false,"kind":"function","modifiers":[],"name":"setB3trContract","nameLocation":"14836:15:64","nodeType":"FunctionDefinition","parameters":{"id":32489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32488,"mutability":"mutable","name":"_b3tr","nameLocation":"14860:5:64","nodeType":"VariableDeclaration","scope":32491,"src":"14852:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32487,"name":"address","nodeType":"ElementaryTypeName","src":"14852:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14851:15:64"},"returnParameters":{"id":32490,"nodeType":"ParameterList","parameters":[],"src":"14875:0:64"},"scope":32524,"src":"14827:49:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32492,"nodeType":"StructuredDocumentation","src":"14880:166:64","text":" @notice Updates the grants receiver address\n @param proposalId The ID of the proposal\n @param newGrantsReceiver The new grants receiver address"},"functionSelector":"e03d759b","id":32499,"implemented":false,"kind":"function","modifiers":[],"name":"updateGrantsReceiver","nameLocation":"15058:20:64","nodeType":"FunctionDefinition","parameters":{"id":32497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32494,"mutability":"mutable","name":"proposalId","nameLocation":"15087:10:64","nodeType":"VariableDeclaration","scope":32499,"src":"15079:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32493,"name":"uint256","nodeType":"ElementaryTypeName","src":"15079:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32496,"mutability":"mutable","name":"newGrantsReceiver","nameLocation":"15107:17:64","nodeType":"VariableDeclaration","scope":32499,"src":"15099:25:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32495,"name":"address","nodeType":"ElementaryTypeName","src":"15099:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15078:47:64"},"returnParameters":{"id":32498,"nodeType":"ParameterList","parameters":[],"src":"15134:0:64"},"scope":32524,"src":"15049:86:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32500,"nodeType":"StructuredDocumentation","src":"15139:152:64","text":" @notice Returns the grants receiver address\n @param proposalId The ID of the proposal\n @return The address of the grants receiver"},"functionSelector":"da104fac","id":32507,"implemented":false,"kind":"function","modifiers":[],"name":"getGrantsReceiverAddress","nameLocation":"15303:24:64","nodeType":"FunctionDefinition","parameters":{"id":32503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32502,"mutability":"mutable","name":"proposalId","nameLocation":"15336:10:64","nodeType":"VariableDeclaration","scope":32507,"src":"15328:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32501,"name":"uint256","nodeType":"ElementaryTypeName","src":"15328:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15327:20:64"},"returnParameters":{"id":32506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32507,"src":"15371:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32504,"name":"address","nodeType":"ElementaryTypeName","src":"15371:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15370:9:64"},"scope":32524,"src":"15294:86:64","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32508,"nodeType":"StructuredDocumentation","src":"15450:212:64","text":" @notice Updates the milestone description metadata URI for a proposal\n @param proposalId The ID of the proposal\n @param newMilestoneMetadataURI The milestone description metadata URI to set"},"functionSelector":"c42433b4","id":32515,"implemented":false,"kind":"function","modifiers":[],"name":"updateMilestoneMetadataURI","nameLocation":"15674:26:64","nodeType":"FunctionDefinition","parameters":{"id":32513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32510,"mutability":"mutable","name":"proposalId","nameLocation":"15709:10:64","nodeType":"VariableDeclaration","scope":32515,"src":"15701:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32509,"name":"uint256","nodeType":"ElementaryTypeName","src":"15701:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32512,"mutability":"mutable","name":"newMilestoneMetadataURI","nameLocation":"15735:23:64","nodeType":"VariableDeclaration","scope":32515,"src":"15721:37:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32511,"name":"string","nodeType":"ElementaryTypeName","src":"15721:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15700:59:64"},"returnParameters":{"id":32514,"nodeType":"ParameterList","parameters":[],"src":"15768:0:64"},"scope":32524,"src":"15665:104:64","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32516,"nodeType":"StructuredDocumentation","src":"15773:177:64","text":" @notice Returns the milestone  metadata URI for a proposal\n @param proposalId The ID of the proposal\n @return The milestone  metadata URI for the proposal"},"functionSelector":"cff28c70","id":32523,"implemented":false,"kind":"function","modifiers":[],"name":"getMilestoneMetadataURI","nameLocation":"15962:23:64","nodeType":"FunctionDefinition","parameters":{"id":32519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32518,"mutability":"mutable","name":"proposalId","nameLocation":"15994:10:64","nodeType":"VariableDeclaration","scope":32523,"src":"15986:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32517,"name":"uint256","nodeType":"ElementaryTypeName","src":"15986:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15985:20:64"},"returnParameters":{"id":32522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32521,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32523,"src":"16029:13:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32520,"name":"string","nodeType":"ElementaryTypeName","src":"16029:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16028:15:64"},"scope":32524,"src":"15953:91:64","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":32525,"src":"1470:14576:64","usedErrors":[32144,32147,32152,32159,32164,32167,32174,32181,32187,32194,32201,32204,32211,32218,32221,32228,32231,32238,32241,32246,32251,32256],"usedEvents":[32091,32100,32107,32114,32121,32134,32139]}],"src":"1195:14852:64"},"id":64},"contracts/deprecated/V2/interfaces/INodeManagementV2.sol":{"ast":{"absolutePath":"contracts/deprecated/V2/interfaces/INodeManagementV2.sol","exportedSymbols":{"INodeManagementV2":[32668],"VechainNodesDataTypes":[32697]},"id":32669,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":32526,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:65"},{"absolutePath":"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol","file":"../node-management-libraries/VechainNodesDataTypes.sol","id":32528,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":32669,"sourceUnit":32698,"src":"58:93:65","symbolAliases":[{"foreign":{"id":32527,"name":"VechainNodesDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32697,"src":"66:21:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"INodeManagementV2","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":32668,"linearizedBaseContracts":[32668],"name":"INodeManagementV2","nameLocation":"163:17:65","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":32529,"nodeType":"StructuredDocumentation","src":"187:80:65","text":" @notice Error indicating that the caller does not own a node."},"errorSelector":"fec8382d","id":32531,"name":"NodeManagementNonNodeHolder","nameLocation":"278:27:65","nodeType":"ErrorDefinition","parameters":{"id":32530,"nodeType":"ParameterList","parameters":[],"src":"305:2:65"},"src":"272:36:65"},{"documentation":{"id":32532,"nodeType":"StructuredDocumentation","src":"314:85:65","text":" @notice Error indicating that the node is not currently delegated."},"errorSelector":"dfdadbf3","id":32534,"name":"NodeManagementNodeNotDelegated","nameLocation":"410:30:65","nodeType":"ErrorDefinition","parameters":{"id":32533,"nodeType":"ParameterList","parameters":[],"src":"440:2:65"},"src":"404:39:65"},{"documentation":{"id":32535,"nodeType":"StructuredDocumentation","src":"449:93:65","text":" @notice Error indicating that an address is being set to the zero address."},"errorSelector":"b772cd5b","id":32537,"name":"NodeManagementZeroAddress","nameLocation":"553:25:65","nodeType":"ErrorDefinition","parameters":{"id":32536,"nodeType":"ParameterList","parameters":[],"src":"578:2:65"},"src":"547:34:65"},{"documentation":{"id":32538,"nodeType":"StructuredDocumentation","src":"587:93:65","text":" @notice Error indicating that an address is being set to the zero address."},"errorSelector":"eb6f110e","id":32540,"name":"NodeManagementSelfDelegation","nameLocation":"691:28:65","nodeType":"ErrorDefinition","parameters":{"id":32539,"nodeType":"ParameterList","parameters":[],"src":"719:2:65"},"src":"685:37:65"},{"documentation":{"id":32541,"nodeType":"StructuredDocumentation","src":"728:224:65","text":" @notice Error indicating that the node is already delegated to another user.\n @param nodeId The ID of the node that is already delegated.\n @param delegatee The address of the current delegatee."},"errorSelector":"03dcf91e","id":32547,"name":"NodeManagementNodeAlreadyDelegated","nameLocation":"963:34:65","nodeType":"ErrorDefinition","parameters":{"id":32546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32543,"mutability":"mutable","name":"nodeId","nameLocation":"1006:6:65","nodeType":"VariableDeclaration","scope":32547,"src":"998:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32542,"name":"uint256","nodeType":"ElementaryTypeName","src":"998:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32545,"mutability":"mutable","name":"delegatee","nameLocation":"1022:9:65","nodeType":"VariableDeclaration","scope":32547,"src":"1014:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32544,"name":"address","nodeType":"ElementaryTypeName","src":"1014:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"997:35:65"},"src":"957:76:65"},{"anonymous":false,"documentation":{"id":32548,"nodeType":"StructuredDocumentation","src":"1039:413:65","text":" @notice Event emitted when a node is delegated or the delegation is removed.\n @param nodeId The ID of the node being delegated or having its delegation removed.\n @param delegatee The address to which the node is delegated or from which the delegation is removed.\n @param delegated A boolean indicating whether the node is delegated (true) or the delegation is removed (false)."},"eventSelector":"9d779bef74377ebed4cc811ab6a0971e9f183847056487e78a11882694d53cec","id":32556,"name":"NodeDelegated","nameLocation":"1463:13:65","nodeType":"EventDefinition","parameters":{"id":32555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32550,"indexed":true,"mutability":"mutable","name":"nodeId","nameLocation":"1493:6:65","nodeType":"VariableDeclaration","scope":32556,"src":"1477:22:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32549,"name":"uint256","nodeType":"ElementaryTypeName","src":"1477:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32552,"indexed":true,"mutability":"mutable","name":"delegatee","nameLocation":"1517:9:65","nodeType":"VariableDeclaration","scope":32556,"src":"1501:25:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32551,"name":"address","nodeType":"ElementaryTypeName","src":"1501:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32554,"indexed":false,"mutability":"mutable","name":"delegated","nameLocation":"1533:9:65","nodeType":"VariableDeclaration","scope":32556,"src":"1528:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32553,"name":"bool","nodeType":"ElementaryTypeName","src":"1528:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1476:67:65"},"src":"1457:87:65"},{"anonymous":false,"documentation":{"id":32557,"nodeType":"StructuredDocumentation","src":"1550:86:65","text":"  @dev Emit when the vechain node contract address is set or updated"},"eventSelector":"74dd84f988c93e13e3e1c4bc4661d03c04b202314e983cf17537bfe04b86fdf2","id":32563,"name":"VechainNodeContractSet","nameLocation":"1647:22:65","nodeType":"EventDefinition","parameters":{"id":32562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32559,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1678:18:65","nodeType":"VariableDeclaration","scope":32563,"src":"1670:26:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32558,"name":"address","nodeType":"ElementaryTypeName","src":"1670:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32561,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1706:18:65","nodeType":"VariableDeclaration","scope":32563,"src":"1698:26:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32560,"name":"address","nodeType":"ElementaryTypeName","src":"1698:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1669:56:65"},"src":"1641:85:65"},{"documentation":{"id":32564,"nodeType":"StructuredDocumentation","src":"1732:340:65","text":" @notice Initialize the contract with the specified VeChain Nodes contract, admin, and upgrader addresses.\n @param vechainNodesContract The address of the VeChain Nodes contract.\n @param admin The address to be granted the default admin role.\n @param upgrader The address to be granted the upgrader role."},"functionSelector":"c0c53b8b","id":32573,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2086:10:65","nodeType":"FunctionDefinition","parameters":{"id":32571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32566,"mutability":"mutable","name":"vechainNodesContract","nameLocation":"2105:20:65","nodeType":"VariableDeclaration","scope":32573,"src":"2097:28:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32565,"name":"address","nodeType":"ElementaryTypeName","src":"2097:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32568,"mutability":"mutable","name":"admin","nameLocation":"2135:5:65","nodeType":"VariableDeclaration","scope":32573,"src":"2127:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32567,"name":"address","nodeType":"ElementaryTypeName","src":"2127:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32570,"mutability":"mutable","name":"upgrader","nameLocation":"2150:8:65","nodeType":"VariableDeclaration","scope":32573,"src":"2142:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32569,"name":"address","nodeType":"ElementaryTypeName","src":"2142:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2096:63:65"},"returnParameters":{"id":32572,"nodeType":"ParameterList","parameters":[],"src":"2168:0:65"},"scope":32668,"src":"2077:92:65","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32574,"nodeType":"StructuredDocumentation","src":"2175:155:65","text":" @notice Set the address of the VeChain Nodes contract.\n @param vechainNodesContract The new address of the VeChain Nodes contract."},"functionSelector":"0df9dff8","id":32579,"implemented":false,"kind":"function","modifiers":[],"name":"setVechainNodesContract","nameLocation":"2344:23:65","nodeType":"FunctionDefinition","parameters":{"id":32577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32576,"mutability":"mutable","name":"vechainNodesContract","nameLocation":"2376:20:65","nodeType":"VariableDeclaration","scope":32579,"src":"2368:28:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32575,"name":"address","nodeType":"ElementaryTypeName","src":"2368:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2367:30:65"},"returnParameters":{"id":32578,"nodeType":"ParameterList","parameters":[],"src":"2406:0:65"},"scope":32668,"src":"2335:72:65","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32580,"nodeType":"StructuredDocumentation","src":"2413:123:65","text":" @notice Delegate a node to another address.\n @param delegatee The address to delegate the node to."},"functionSelector":"57409f6a","id":32585,"implemented":false,"kind":"function","modifiers":[],"name":"delegateNode","nameLocation":"2550:12:65","nodeType":"FunctionDefinition","parameters":{"id":32583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32582,"mutability":"mutable","name":"delegatee","nameLocation":"2571:9:65","nodeType":"VariableDeclaration","scope":32585,"src":"2563:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32581,"name":"address","nodeType":"ElementaryTypeName","src":"2563:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2562:19:65"},"returnParameters":{"id":32584,"nodeType":"ParameterList","parameters":[],"src":"2590:0:65"},"scope":32668,"src":"2541:50:65","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32586,"nodeType":"StructuredDocumentation","src":"2597:59:65","text":" @notice Remove the delegation of a node."},"functionSelector":"09fe15cd","id":32589,"implemented":false,"kind":"function","modifiers":[],"name":"removeNodeDelegation","nameLocation":"2670:20:65","nodeType":"FunctionDefinition","parameters":{"id":32587,"nodeType":"ParameterList","parameters":[],"src":"2690:2:65"},"returnParameters":{"id":32588,"nodeType":"ParameterList","parameters":[],"src":"2701:0:65"},"scope":32668,"src":"2661:41:65","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":32590,"nodeType":"StructuredDocumentation","src":"2708:232:65","text":" @notice Retrieve the node ID associated with a user, either through direct ownership or delegation.\n @param user The address of the user to check.\n @return uint256 The node ID associated with the user."},"functionSelector":"2e4e2531","id":32598,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeIds","nameLocation":"2954:10:65","nodeType":"FunctionDefinition","parameters":{"id":32593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32592,"mutability":"mutable","name":"user","nameLocation":"2973:4:65","nodeType":"VariableDeclaration","scope":32598,"src":"2965:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32591,"name":"address","nodeType":"ElementaryTypeName","src":"2965:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2964:14:65"},"returnParameters":{"id":32597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32596,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32598,"src":"3002:16:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":32594,"name":"uint256","nodeType":"ElementaryTypeName","src":"3002:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32595,"nodeType":"ArrayTypeName","src":"3002:9:65","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3001:18:65"},"scope":32668,"src":"2945:75:65","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32599,"nodeType":"StructuredDocumentation","src":"3026:296:65","text":" @notice Retrieves the address of the user managing the node ID endorsement either through ownership or delegation.\n @param nodeId The ID of the node for which the manager address is being retrieved.\n @return address The address of the manager of the specified node."},"functionSelector":"9e2c2f3e","id":32606,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeManager","nameLocation":"3336:14:65","nodeType":"FunctionDefinition","parameters":{"id":32602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32601,"mutability":"mutable","name":"nodeId","nameLocation":"3359:6:65","nodeType":"VariableDeclaration","scope":32606,"src":"3351:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32600,"name":"uint256","nodeType":"ElementaryTypeName","src":"3351:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3350:16:65"},"returnParameters":{"id":32605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32606,"src":"3390:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32603,"name":"address","nodeType":"ElementaryTypeName","src":"3390:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3389:9:65"},"scope":32668,"src":"3327:72:65","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32607,"nodeType":"StructuredDocumentation","src":"3405:295:65","text":" @notice Check if a user is holding a specific node ID either directly or through delegation.\n @param user The address of the user to check.\n @param nodeId The node ID to check for.\n @return bool True if the user is holding the node ID and it is a valid node."},"functionSelector":"3258cc2f","id":32616,"implemented":false,"kind":"function","modifiers":[],"name":"isNodeManager","nameLocation":"3714:13:65","nodeType":"FunctionDefinition","parameters":{"id":32612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32609,"mutability":"mutable","name":"user","nameLocation":"3736:4:65","nodeType":"VariableDeclaration","scope":32616,"src":"3728:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32608,"name":"address","nodeType":"ElementaryTypeName","src":"3728:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32611,"mutability":"mutable","name":"nodeId","nameLocation":"3750:6:65","nodeType":"VariableDeclaration","scope":32616,"src":"3742:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32610,"name":"uint256","nodeType":"ElementaryTypeName","src":"3742:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3727:30:65"},"returnParameters":{"id":32615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32616,"src":"3781:4:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32613,"name":"bool","nodeType":"ElementaryTypeName","src":"3781:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3780:6:65"},"scope":32668,"src":"3705:82:65","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32617,"nodeType":"StructuredDocumentation","src":"3793:154:65","text":" @notice Check if a node is delegated.\n @param nodeId The node ID to check for.\n @return bool True if the node is delegated."},"functionSelector":"53fff87c","id":32624,"implemented":false,"kind":"function","modifiers":[],"name":"isNodeDelegated","nameLocation":"3961:15:65","nodeType":"FunctionDefinition","parameters":{"id":32620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32619,"mutability":"mutable","name":"nodeId","nameLocation":"3985:6:65","nodeType":"VariableDeclaration","scope":32624,"src":"3977:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32618,"name":"uint256","nodeType":"ElementaryTypeName","src":"3977:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3976:16:65"},"returnParameters":{"id":32623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32624,"src":"4016:4:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32621,"name":"bool","nodeType":"ElementaryTypeName","src":"4016:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4015:6:65"},"scope":32668,"src":"3952:70:65","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32625,"nodeType":"StructuredDocumentation","src":"4028:164:65","text":" @notice Check if a user is a delegator.\n @param user The address of the user to check.\n @return bool True if the user is a delegator."},"functionSelector":"4f444d25","id":32632,"implemented":false,"kind":"function","modifiers":[],"name":"isNodeDelegator","nameLocation":"4206:15:65","nodeType":"FunctionDefinition","parameters":{"id":32628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32627,"mutability":"mutable","name":"user","nameLocation":"4230:4:65","nodeType":"VariableDeclaration","scope":32632,"src":"4222:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32626,"name":"address","nodeType":"ElementaryTypeName","src":"4222:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4221:14:65"},"returnParameters":{"id":32631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32630,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32632,"src":"4259:4:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32629,"name":"bool","nodeType":"ElementaryTypeName","src":"4259:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4258:6:65"},"scope":32668,"src":"4197:68:65","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32633,"nodeType":"StructuredDocumentation","src":"4271:208:65","text":" @notice Check if a user is a node holder (either directly or through delegation).\n @param user The address of the user to check.\n @return bool True if the user is a node holder."},"functionSelector":"beba8408","id":32640,"implemented":false,"kind":"function","modifiers":[],"name":"isNodeHolder","nameLocation":"4493:12:65","nodeType":"FunctionDefinition","parameters":{"id":32636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32635,"mutability":"mutable","name":"user","nameLocation":"4514:4:65","nodeType":"VariableDeclaration","scope":32640,"src":"4506:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32634,"name":"address","nodeType":"ElementaryTypeName","src":"4506:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4505:14:65"},"returnParameters":{"id":32639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32638,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32640,"src":"4543:4:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32637,"name":"bool","nodeType":"ElementaryTypeName","src":"4543:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4542:6:65"},"scope":32668,"src":"4484:65:65","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32641,"nodeType":"StructuredDocumentation","src":"4555:194:65","text":" @notice Check if a user directly owns a node (not delegated).\n @param user The address of the user to check.\n @return uint256 The ID of the owned node (0 if none)."},"functionSelector":"97a4f3c4","id":32648,"implemented":false,"kind":"function","modifiers":[],"name":"getDirectNodeOwnership","nameLocation":"4763:22:65","nodeType":"FunctionDefinition","parameters":{"id":32644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32643,"mutability":"mutable","name":"user","nameLocation":"4794:4:65","nodeType":"VariableDeclaration","scope":32648,"src":"4786:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32642,"name":"address","nodeType":"ElementaryTypeName","src":"4786:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4785:14:65"},"returnParameters":{"id":32647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32646,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32648,"src":"4823:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32645,"name":"uint256","nodeType":"ElementaryTypeName","src":"4823:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4822:9:65"},"scope":32668,"src":"4754:78:65","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32649,"nodeType":"StructuredDocumentation","src":"4838:225:65","text":" @notice Retrieves the node level of a given node ID.\n @param nodeId The token ID of the endorsing node.\n @return VechainNodesDataTypes.NodeStrengthLevel The node level of the specified token ID."},"functionSelector":"1ceae42f","id":32657,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeLevel","nameLocation":"5077:12:65","nodeType":"FunctionDefinition","parameters":{"id":32652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32651,"mutability":"mutable","name":"nodeId","nameLocation":"5107:6:65","nodeType":"VariableDeclaration","scope":32657,"src":"5099:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32650,"name":"uint256","nodeType":"ElementaryTypeName","src":"5099:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5089:30:65"},"returnParameters":{"id":32656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32657,"src":"5143:39:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_NodeStrengthLevel_$32680","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel"},"typeName":{"id":32654,"nodeType":"UserDefinedTypeName","pathNode":{"id":32653,"name":"VechainNodesDataTypes.NodeStrengthLevel","nameLocations":["5143:21:65","5165:17:65"],"nodeType":"IdentifierPath","referencedDeclaration":32680,"src":"5143:39:65"},"referencedDeclaration":32680,"src":"5143:39:65","typeDescriptions":{"typeIdentifier":"t_enum$_NodeStrengthLevel_$32680","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel"}},"visibility":"internal"}],"src":"5142:41:65"},"scope":32668,"src":"5068:116:65","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":32658,"nodeType":"StructuredDocumentation","src":"5190:242:65","text":" @notice Retrieves the node level of a user's managed node.\n @param user The address of the user managing the node.\n @return VechainNodesDataTypes.NodeStrengthLevel The node level of the node managed by the user."},"functionSelector":"d466d80b","id":32667,"implemented":false,"kind":"function","modifiers":[],"name":"getUsersNodeLevels","nameLocation":"5446:18:65","nodeType":"FunctionDefinition","parameters":{"id":32661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32660,"mutability":"mutable","name":"user","nameLocation":"5482:4:65","nodeType":"VariableDeclaration","scope":32667,"src":"5474:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32659,"name":"address","nodeType":"ElementaryTypeName","src":"5474:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5464:28:65"},"returnParameters":{"id":32666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32665,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32667,"src":"5516:48:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_NodeStrengthLevel_$32680_$dyn_memory_ptr","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel[]"},"typeName":{"baseType":{"id":32663,"nodeType":"UserDefinedTypeName","pathNode":{"id":32662,"name":"VechainNodesDataTypes.NodeStrengthLevel","nameLocations":["5516:21:65","5538:17:65"],"nodeType":"IdentifierPath","referencedDeclaration":32680,"src":"5516:39:65"},"referencedDeclaration":32680,"src":"5516:39:65","typeDescriptions":{"typeIdentifier":"t_enum$_NodeStrengthLevel_$32680","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel"}},"id":32664,"nodeType":"ArrayTypeName","src":"5516:41:65","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_NodeStrengthLevel_$32680_$dyn_storage_ptr","typeString":"enum VechainNodesDataTypes.NodeStrengthLevel[]"}},"visibility":"internal"}],"src":"5515:50:65"},"scope":32668,"src":"5437:129:65","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":32669,"src":"153:5415:65","usedErrors":[32531,32534,32537,32540,32547],"usedEvents":[32556,32563]}],"src":"33:5536:65"},"id":65},"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol":{"ast":{"absolutePath":"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol","exportedSymbols":{"VechainNodesDataTypes":[32697]},"id":32698,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":32670,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:66"},{"abstract":false,"baseContracts":[],"canonicalName":"VechainNodesDataTypes","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":32697,"linearizedBaseContracts":[32697],"name":"VechainNodesDataTypes","nameLocation":"65:21:66","nodeType":"ContractDefinition","nodes":[{"canonicalName":"VechainNodesDataTypes.NodeStrengthLevel","documentation":{"id":32671,"nodeType":"StructuredDocumentation","src":"91:52:66","text":" @dev The strength level of each node."},"id":32680,"members":[{"id":32672,"name":"None","nameLocation":"175:4:66","nodeType":"EnumValue","src":"175:4:66"},{"id":32673,"name":"Strength","nameLocation":"205:8:66","nodeType":"EnumValue","src":"205:8:66"},{"id":32674,"name":"Thunder","nameLocation":"219:7:66","nodeType":"EnumValue","src":"219:7:66"},{"id":32675,"name":"Mjolnir","nameLocation":"232:7:66","nodeType":"EnumValue","src":"232:7:66"},{"id":32676,"name":"VeThorX","nameLocation":"260:7:66","nodeType":"EnumValue","src":"260:7:66"},{"id":32677,"name":"StrengthX","nameLocation":"273:9:66","nodeType":"EnumValue","src":"273:9:66"},{"id":32678,"name":"ThunderX","nameLocation":"288:8:66","nodeType":"EnumValue","src":"288:8:66"},{"id":32679,"name":"MjolnirX","nameLocation":"302:8:66","nodeType":"EnumValue","src":"302:8:66"}],"name":"NodeStrengthLevel","nameLocation":"151:17:66","nodeType":"EnumDefinition","src":"146:168:66"},{"canonicalName":"VechainNodesDataTypes.NodeStrengthScores","documentation":{"id":32681,"nodeType":"StructuredDocumentation","src":"318:40:66","text":" @dev The score of a node."},"id":32696,"members":[{"constant":false,"id":32683,"mutability":"mutable","name":"strength","nameLocation":"401:8:66","nodeType":"VariableDeclaration","scope":32696,"src":"393:16:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32682,"name":"uint256","nodeType":"ElementaryTypeName","src":"393:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32685,"mutability":"mutable","name":"thunder","nameLocation":"423:7:66","nodeType":"VariableDeclaration","scope":32696,"src":"415:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32684,"name":"uint256","nodeType":"ElementaryTypeName","src":"415:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32687,"mutability":"mutable","name":"mjolnir","nameLocation":"444:7:66","nodeType":"VariableDeclaration","scope":32696,"src":"436:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32686,"name":"uint256","nodeType":"ElementaryTypeName","src":"436:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32689,"mutability":"mutable","name":"veThorX","nameLocation":"465:7:66","nodeType":"VariableDeclaration","scope":32696,"src":"457:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32688,"name":"uint256","nodeType":"ElementaryTypeName","src":"457:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32691,"mutability":"mutable","name":"strengthX","nameLocation":"486:9:66","nodeType":"VariableDeclaration","scope":32696,"src":"478:17:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32690,"name":"uint256","nodeType":"ElementaryTypeName","src":"478:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32693,"mutability":"mutable","name":"thunderX","nameLocation":"509:8:66","nodeType":"VariableDeclaration","scope":32696,"src":"501:16:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32692,"name":"uint256","nodeType":"ElementaryTypeName","src":"501:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32695,"mutability":"mutable","name":"mjolnirX","nameLocation":"531:8:66","nodeType":"VariableDeclaration","scope":32696,"src":"523:16:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32694,"name":"uint256","nodeType":"ElementaryTypeName","src":"523:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"NodeStrengthScores","nameLocation":"368:18:66","nodeType":"StructDefinition","scope":32697,"src":"361:183:66","visibility":"public"}],"scope":32698,"src":"57:489:66","usedErrors":[],"usedEvents":[]}],"src":"32:515:66"},"id":66},"contracts/deprecated/V3/GalaxyMemberV3.sol":{"ast":{"absolutePath":"contracts/deprecated/V3/GalaxyMemberV3.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Checkpoints":[10447],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"ERC721BurnableUpgradeable":[3189],"ERC721EnumerableUpgradeable":[3674],"ERC721PausableUpgradeable":[3728],"ERC721URIStorageUpgradeable":[3898],"ERC721Upgradeable":[3144],"GalaxyMemberV3":[35081],"IAccessControl":[4415],"IB3TR":[62888],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC4906":[4526],"IERC721":[5253],"IERC721Enumerable":[5303],"IERC721Errors":[4656],"IERC721Metadata":[5331],"IERC721Receiver":[5271],"INodeManagementV2":[32668],"ITokenAuction":[73165],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"Math":[7015],"PausableUpgradeable":[4163],"ReentrancyGuardUpgradeable":[4292],"SafeCast":[8770],"SignedMath":[8875],"Strings":[5949],"Time":[11669],"UUPSUpgradeable":[1914]},"id":35082,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":32699,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:67"},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","id":32700,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":3145,"src":"1220:80:67","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","id":32701,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":3675,"src":"1301:101:67","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","id":32702,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":3899,"src":"1403:101:67","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","id":32703,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":3729,"src":"1505:99:67","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","id":32704,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":3190,"src":"1605:99:67","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":32705,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":363,"src":"1705:81:67","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","id":32706,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":5950,"src":"1787:51:67","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":32707,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":4293,"src":"1839:82:67","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":32709,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":10448,"src":"1922:84:67","symbolAliases":[{"foreign":{"id":32708,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1931:11:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":32711,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":8771,"src":"2007:75:67","symbolAliases":[{"foreign":{"id":32710,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"2016:8:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":32713,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":71125,"src":"2083:93:67","symbolAliases":[{"foreign":{"id":32712,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"2092:26:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":32715,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":63920,"src":"2177:67:67","symbolAliases":[{"foreign":{"id":32714,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2186:13:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":32717,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":62889,"src":"2245:51:67","symbolAliases":[{"foreign":{"id":32716,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"2254:5:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/ITokenAuction.sol","file":"../../mocks/Stargate/interfaces/ITokenAuction.sol","id":32719,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":73166,"src":"2297:82:67","symbolAliases":[{"foreign":{"id":32718,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"2306:13:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V2/interfaces/INodeManagementV2.sol","file":"../V2/interfaces/INodeManagementV2.sol","id":32721,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":32669,"src":"2380:75:67","symbolAliases":[{"foreign":{"id":32720,"name":"INodeManagementV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32668,"src":"2389:17:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":32722,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":1915,"src":"2456:77:67","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":32724,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":35082,"sourceUnit":11670,"src":"2534:68:67","symbolAliases":[{"foreign":{"id":32723,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"2543:4:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":32726,"name":"ERC721Upgradeable","nameLocations":["4055:17:67"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"4055:17:67"},"id":32727,"nodeType":"InheritanceSpecifier","src":"4055:17:67"},{"baseName":{"id":32728,"name":"ERC721EnumerableUpgradeable","nameLocations":["4076:27:67"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"4076:27:67"},"id":32729,"nodeType":"InheritanceSpecifier","src":"4076:27:67"},{"baseName":{"id":32730,"name":"ERC721PausableUpgradeable","nameLocations":["4107:25:67"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"4107:25:67"},"id":32731,"nodeType":"InheritanceSpecifier","src":"4107:25:67"},{"baseName":{"id":32732,"name":"ERC721BurnableUpgradeable","nameLocations":["4136:25:67"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"4136:25:67"},"id":32733,"nodeType":"InheritanceSpecifier","src":"4136:25:67"},{"baseName":{"id":32734,"name":"AccessControlUpgradeable","nameLocations":["4165:24:67"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"4165:24:67"},"id":32735,"nodeType":"InheritanceSpecifier","src":"4165:24:67"},{"baseName":{"id":32736,"name":"ReentrancyGuardUpgradeable","nameLocations":["4193:26:67"],"nodeType":"IdentifierPath","referencedDeclaration":4292,"src":"4193:26:67"},"id":32737,"nodeType":"InheritanceSpecifier","src":"4193:26:67"},{"baseName":{"id":32738,"name":"UUPSUpgradeable","nameLocations":["4223:15:67"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"4223:15:67"},"id":32739,"nodeType":"InheritanceSpecifier","src":"4223:15:67"}],"canonicalName":"GalaxyMemberV3","contractDependencies":[],"contractKind":"contract","documentation":{"id":32725,"nodeType":"StructuredDocumentation","src":"2604:1421:67","text":" @title GalaxyMember\n @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n --------------------------------- VERSION 2 ---------------------------------\n - Added Vechain Nodes contract to attach and detach nodes to tokens\n - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n - Added free upgrade levels for each Vechain node level\n - Removed automatic highest level owned selection\n - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n - Core logic functions are now overridable through inheritance\n - B3TRGovernor has been updated to V2 thus pointing to the new interface\n - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\n --------------------------------- VERSION 3 ---------------------------------\n - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated())\n - Added `selectFor` function to allow the admin to select a token for the user\n - Added checkpoints for the selected token ID of the user\n - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking"},"fullyImplemented":true,"id":35081,"linearizedBaseContracts":[35081,1914,4566,4292,362,3189,3728,4163,3674,5303,3144,4656,5331,5253,4332,5961,4415,3987,1732],"name":"GalaxyMemberV3","nameLocation":"4035:14:67","nodeType":"ContractDefinition","nodes":[{"global":false,"id":32743,"libraryName":{"id":32740,"name":"Checkpoints","nameLocations":["4249:11:67"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"4249:11:67"},"nodeType":"UsingForDirective","src":"4243:43:67","typeName":{"id":32742,"nodeType":"UserDefinedTypeName","pathNode":{"id":32741,"name":"Checkpoints.Trace208","nameLocations":["4265:11:67","4277:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"4265:20:67"},"referencedDeclaration":9409,"src":"4265:20:67","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"constant":true,"functionSelector":"f72c0d8b","id":32748,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"4399:13:67","nodeType":"VariableDeclaration","scope":35081,"src":"4375:66:67","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4375:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":32746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4425:15:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":32745,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4415:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4415:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":32753,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"4469:11:67","nodeType":"VariableDeclaration","scope":35081,"src":"4445:62:67","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4445:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":32751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4493:13:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":32750,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4483:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4483:24:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"d5391393","id":32758,"mutability":"constant","name":"MINTER_ROLE","nameLocation":"4535:11:67","nodeType":"VariableDeclaration","scope":35081,"src":"4511:62:67","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4511:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4d494e5445525f524f4c45","id":32756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4559:13:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""},"value":"MINTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""}],"id":32755,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4549:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4549:24:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"952f2133","id":32763,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"4601:30:67","nodeType":"VariableDeclaration","scope":35081,"src":"4577:100:67","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4577:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":32761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4644:32:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":32760,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4634:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4634:43:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"3d6dbee8","id":32768,"mutability":"constant","name":"NODES_MANAGER_ROLE","nameLocation":"4705:18:67","nodeType":"VariableDeclaration","scope":35081,"src":"4681:76:67","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4681:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4e4f4445535f4d414e414745525f524f4c45","id":32766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4736:20:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""},"value":"NODES_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""}],"id":32765,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4726:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":32767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4726:31:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"GalaxyMemberV3.GalaxyMemberStorage","documentation":{"id":32769,"nodeType":"StructuredDocumentation","src":"4762:204:67","text":"@notice Storage structure for GalaxyMember\n @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n @custom:storage-location erc7201:b3tr.storage.GalaxyMember"},"id":32839,"members":[{"constant":false,"id":32772,"mutability":"mutable","name":"xAllocationsGovernor","nameLocation":"5029:20:67","nodeType":"VariableDeclaration","scope":32839,"src":"5002:47:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":32771,"nodeType":"UserDefinedTypeName","pathNode":{"id":32770,"name":"IXAllocationVotingGovernor","nameLocations":["5002:26:67"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"5002:26:67"},"referencedDeclaration":71124,"src":"5002:26:67","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":32775,"mutability":"mutable","name":"b3trGovernor","nameLocation":"5107:12:67","nodeType":"VariableDeclaration","scope":32839,"src":"5093:26:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":32774,"nodeType":"UserDefinedTypeName","pathNode":{"id":32773,"name":"IB3TRGovernor","nameLocations":["5093:13:67"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"5093:13:67"},"referencedDeclaration":63919,"src":"5093:13:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"},{"constant":false,"id":32778,"mutability":"mutable","name":"b3tr","nameLocation":"5156:4:67","nodeType":"VariableDeclaration","scope":32839,"src":"5150:10:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":32777,"nodeType":"UserDefinedTypeName","pathNode":{"id":32776,"name":"IB3TR","nameLocations":["5150:5:67"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"5150:5:67"},"referencedDeclaration":62888,"src":"5150:5:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":32780,"mutability":"mutable","name":"treasury","nameLocation":"5197:8:67","nodeType":"VariableDeclaration","scope":32839,"src":"5189:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32779,"name":"address","nodeType":"ElementaryTypeName","src":"5189:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32782,"mutability":"mutable","name":"_baseTokenURI","nameLocation":"5247:13:67","nodeType":"VariableDeclaration","scope":32839,"src":"5240:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32781,"name":"string","nodeType":"ElementaryTypeName","src":"5240:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32784,"mutability":"mutable","name":"_nextTokenId","nameLocation":"5300:12:67","nodeType":"VariableDeclaration","scope":32839,"src":"5292:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32783,"name":"uint256","nodeType":"ElementaryTypeName","src":"5292:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32786,"mutability":"mutable","name":"MAX_LEVEL","nameLocation":"5356:9:67","nodeType":"VariableDeclaration","scope":32839,"src":"5348:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32785,"name":"uint256","nodeType":"ElementaryTypeName","src":"5348:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32790,"mutability":"mutable","name":"levelOf","nameLocation":"5463:7:67","nodeType":"VariableDeclaration","scope":32839,"src":"5435:35:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":32789,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32787,"name":"uint256","nodeType":"ElementaryTypeName","src":"5443:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5435:27:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32788,"name":"uint256","nodeType":"ElementaryTypeName","src":"5454:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":32794,"mutability":"mutable","name":"_b3trToUpgradeToLevel","nameLocation":"5551:21:67","nodeType":"VariableDeclaration","scope":32839,"src":"5523:49:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":32793,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32791,"name":"uint256","nodeType":"ElementaryTypeName","src":"5531:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5523:27:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32792,"name":"uint256","nodeType":"ElementaryTypeName","src":"5542:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":32799,"mutability":"mutable","name":"_selectedLevelCheckpoints","nameLocation":"5689:25:67","nodeType":"VariableDeclaration","scope":32839,"src":"5642:72:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":32798,"keyName":"owner","keyNameLocation":"5658:5:67","keyType":{"id":32795,"name":"address","nodeType":"ElementaryTypeName","src":"5650:7:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5642:46:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32797,"nodeType":"UserDefinedTypeName","pathNode":{"id":32796,"name":"Checkpoints.Trace208","nameLocations":["5667:11:67","5679:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"5667:20:67"},"referencedDeclaration":9409,"src":"5667:20:67","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":32805,"mutability":"mutable","name":"_ownedLevels","nameLocation":"5814:12:67","nodeType":"VariableDeclaration","scope":32839,"src":"5766:60:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":32804,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32800,"name":"address","nodeType":"ElementaryTypeName","src":"5774:7:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5766:47:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32803,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32801,"name":"uint256","nodeType":"ElementaryTypeName","src":"5793:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5785:27:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32802,"name":"uint256","nodeType":"ElementaryTypeName","src":"5804:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":32807,"mutability":"mutable","name":"isPublicMintingPaused","nameLocation":"5891:21:67","nodeType":"VariableDeclaration","scope":32839,"src":"5886:26:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32806,"name":"bool","nodeType":"ElementaryTypeName","src":"5886:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32810,"mutability":"mutable","name":"vechainNodes","nameLocation":"6043:12:67","nodeType":"VariableDeclaration","scope":32839,"src":"6029:26:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"},"typeName":{"id":32809,"nodeType":"UserDefinedTypeName","pathNode":{"id":32808,"name":"ITokenAuction","nameLocations":["6029:13:67"],"nodeType":"IdentifierPath","referencedDeclaration":73165,"src":"6029:13:67"},"referencedDeclaration":73165,"src":"6029:13:67","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"visibility":"internal"},{"constant":false,"id":32813,"mutability":"mutable","name":"nodeManagement","nameLocation":"6105:14:67","nodeType":"VariableDeclaration","scope":32839,"src":"6087:32:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"},"typeName":{"id":32812,"nodeType":"UserDefinedTypeName","pathNode":{"id":32811,"name":"INodeManagementV2","nameLocations":["6087:17:67"],"nodeType":"IdentifierPath","referencedDeclaration":32668,"src":"6087:17:67"},"referencedDeclaration":32668,"src":"6087:17:67","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"visibility":"internal"},{"constant":false,"id":32817,"mutability":"mutable","name":"_nodeToTokenId","nameLocation":"6181:14:67","nodeType":"VariableDeclaration","scope":32839,"src":"6153:42:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":32816,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32814,"name":"uint256","nodeType":"ElementaryTypeName","src":"6161:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6153:27:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32815,"name":"uint256","nodeType":"ElementaryTypeName","src":"6172:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":32821,"mutability":"mutable","name":"_tokenIdToNode","nameLocation":"6335:14:67","nodeType":"VariableDeclaration","scope":32839,"src":"6307:42:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":32820,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32818,"name":"uint256","nodeType":"ElementaryTypeName","src":"6315:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6307:27:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32819,"name":"uint256","nodeType":"ElementaryTypeName","src":"6326:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":32825,"mutability":"mutable","name":"_nodeToFreeUpgradeLevel","nameLocation":"6496:23:67","nodeType":"VariableDeclaration","scope":32839,"src":"6470:49:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"typeName":{"id":32824,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32822,"name":"uint8","nodeType":"ElementaryTypeName","src":"6478:5:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"6470:25:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32823,"name":"uint256","nodeType":"ElementaryTypeName","src":"6487:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":32829,"mutability":"mutable","name":"_tokenIdToB3TRdonated","nameLocation":"6699:21:67","nodeType":"VariableDeclaration","scope":32839,"src":"6671:49:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":32828,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32826,"name":"uint256","nodeType":"ElementaryTypeName","src":"6679:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6671:27:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32827,"name":"uint256","nodeType":"ElementaryTypeName","src":"6690:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":32833,"mutability":"mutable","name":"_selectedTokenID_DEPRECATED","nameLocation":"6812:27:67","nodeType":"VariableDeclaration","scope":32839,"src":"6784:55:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":32832,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32830,"name":"address","nodeType":"ElementaryTypeName","src":"6792:7:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6784:27:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32831,"name":"uint256","nodeType":"ElementaryTypeName","src":"6803:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":32838,"mutability":"mutable","name":"_selectedTokenIDCheckpoints","nameLocation":"7056:27:67","nodeType":"VariableDeclaration","scope":32839,"src":"7015:68:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":32837,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":32834,"name":"address","nodeType":"ElementaryTypeName","src":"7023:7:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7015:40:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":32836,"nodeType":"UserDefinedTypeName","pathNode":{"id":32835,"name":"Checkpoints.Trace208","nameLocations":["7034:11:67","7046:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"7034:20:67"},"referencedDeclaration":9409,"src":"7034:20:67","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"}],"name":"GalaxyMemberStorage","nameLocation":"4976:19:67","nodeType":"StructDefinition","scope":35081,"src":"4969:2171:67","visibility":"public"},{"constant":true,"documentation":{"id":32840,"nodeType":"StructuredDocumentation","src":"7144:160:67","text":"@notice Storage slot for GalaxyMemberStorage\n @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))"},"id":32843,"mutability":"constant","name":"GalaxyMemberStorageLocation","nameLocation":"7332:27:67","nodeType":"VariableDeclaration","scope":35081,"src":"7307:125:67","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7307:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613739653436383434656430343431316534353739633762633439643035336535396230383534666134653961386466336435613035393763653435323030","id":32842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7366:66:67","typeDescriptions":{"typeIdentifier":"t_rational_55397532431256944332624412610074443018145280775219256269508870897919582294528_by_1","typeString":"int_const 5539...(69 digits omitted)...4528"},"value":"0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200"},"visibility":"private"},{"body":{"id":32851,"nodeType":"Block","src":"7601:70:67","statements":[{"AST":{"nodeType":"YulBlock","src":"7616:51:67","statements":[{"nodeType":"YulAssignment","src":"7624:37:67","value":{"name":"GalaxyMemberStorageLocation","nodeType":"YulIdentifier","src":"7634:27:67"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"7624:6:67"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":32848,"isOffset":false,"isSlot":true,"src":"7624:6:67","suffix":"slot","valueSize":1},{"declaration":32843,"isOffset":false,"isSlot":false,"src":"7634:27:67","valueSize":1}],"id":32850,"nodeType":"InlineAssembly","src":"7607:60:67"}]},"documentation":{"id":32844,"nodeType":"StructuredDocumentation","src":"7437:73:67","text":"@dev Retrieves the current state from the GalaxyMemberStorage mapping"},"id":32852,"implemented":true,"kind":"function","modifiers":[],"name":"_getGalaxyMemberStorage","nameLocation":"7522:23:67","nodeType":"FunctionDefinition","parameters":{"id":32845,"nodeType":"ParameterList","parameters":[],"src":"7545:2:67"},"returnParameters":{"id":32849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32848,"mutability":"mutable","name":"$","nameLocation":"7598:1:67","nodeType":"VariableDeclaration","scope":32852,"src":"7570:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":32847,"nodeType":"UserDefinedTypeName","pathNode":{"id":32846,"name":"GalaxyMemberStorage","nameLocations":["7570:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"7570:19:67"},"referencedDeclaration":32839,"src":"7570:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"src":"7569:31:67"},"scope":35081,"src":"7513:158:67","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"documentation":{"id":32853,"nodeType":"StructuredDocumentation","src":"7675:79:67","text":"@dev Emitted when an account changes the selected token for voting rewards."},"eventSelector":"d3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc","id":32859,"name":"Selected","nameLocation":"7763:8:67","nodeType":"EventDefinition","parameters":{"id":32858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32855,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"7788:5:67","nodeType":"VariableDeclaration","scope":32859,"src":"7772:21:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32854,"name":"address","nodeType":"ElementaryTypeName","src":"7772:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32857,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"7803:7:67","nodeType":"VariableDeclaration","scope":32859,"src":"7795:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32856,"name":"uint256","nodeType":"ElementaryTypeName","src":"7795:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7771:40:67"},"src":"7757:55:67"},{"anonymous":false,"documentation":{"id":32860,"nodeType":"StructuredDocumentation","src":"7816:42:67","text":"@dev Emitted when a token is upgraded."},"eventSelector":"936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854","id":32868,"name":"Upgraded","nameLocation":"7867:8:67","nodeType":"EventDefinition","parameters":{"id":32867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32862,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"7892:7:67","nodeType":"VariableDeclaration","scope":32868,"src":"7876:23:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32861,"name":"uint256","nodeType":"ElementaryTypeName","src":"7876:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32864,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"7909:8:67","nodeType":"VariableDeclaration","scope":32868,"src":"7901:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32863,"name":"uint256","nodeType":"ElementaryTypeName","src":"7901:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32866,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"7927:8:67","nodeType":"VariableDeclaration","scope":32868,"src":"7919:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32865,"name":"uint256","nodeType":"ElementaryTypeName","src":"7919:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7875:61:67"},"src":"7861:76:67"},{"anonymous":false,"documentation":{"id":32869,"nodeType":"StructuredDocumentation","src":"7941:47:67","text":"@dev Emitted when the max level is updated."},"eventSelector":"53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450","id":32875,"name":"MaxLevelUpdated","nameLocation":"7997:15:67","nodeType":"EventDefinition","parameters":{"id":32874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32871,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"8021:8:67","nodeType":"VariableDeclaration","scope":32875,"src":"8013:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32870,"name":"uint256","nodeType":"ElementaryTypeName","src":"8013:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32873,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"8039:8:67","nodeType":"VariableDeclaration","scope":32875,"src":"8031:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32872,"name":"uint256","nodeType":"ElementaryTypeName","src":"8031:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8012:36:67"},"src":"7991:58:67"},{"anonymous":false,"documentation":{"id":32876,"nodeType":"StructuredDocumentation","src":"8053:75:67","text":"@dev Emitted when XAllocationVotingGovernor contract address is updated"},"eventSelector":"d9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af129","id":32882,"name":"XAllocationsGovernorAddressUpdated","nameLocation":"8137:34:67","nodeType":"EventDefinition","parameters":{"id":32881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32878,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"8188:10:67","nodeType":"VariableDeclaration","scope":32882,"src":"8172:26:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32877,"name":"address","nodeType":"ElementaryTypeName","src":"8172:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32880,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"8216:10:67","nodeType":"VariableDeclaration","scope":32882,"src":"8200:26:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32879,"name":"address","nodeType":"ElementaryTypeName","src":"8200:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8171:56:67"},"src":"8131:97:67"},{"anonymous":false,"documentation":{"id":32883,"nodeType":"StructuredDocumentation","src":"8232:62:67","text":"@dev Emitted when B3TRGovernor contract address is updated"},"eventSelector":"95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a8270","id":32889,"name":"B3trGovernorAddressUpdated","nameLocation":"8303:26:67","nodeType":"EventDefinition","parameters":{"id":32888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32885,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"8346:10:67","nodeType":"VariableDeclaration","scope":32889,"src":"8330:26:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32884,"name":"address","nodeType":"ElementaryTypeName","src":"8330:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32887,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"8374:10:67","nodeType":"VariableDeclaration","scope":32889,"src":"8358:26:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32886,"name":"address","nodeType":"ElementaryTypeName","src":"8358:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8329:56:67"},"src":"8297:89:67"},{"anonymous":false,"documentation":{"id":32890,"nodeType":"StructuredDocumentation","src":"8390:41:67","text":"@dev Emitted when base URI is updated"},"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":32896,"name":"BaseURIUpdated","nameLocation":"8440:14:67","nodeType":"EventDefinition","parameters":{"id":32895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32892,"indexed":true,"mutability":"mutable","name":"newBaseURI","nameLocation":"8470:10:67","nodeType":"VariableDeclaration","scope":32896,"src":"8455:25:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32891,"name":"string","nodeType":"ElementaryTypeName","src":"8455:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32894,"indexed":true,"mutability":"mutable","name":"oldBaseURI","nameLocation":"8497:10:67","nodeType":"VariableDeclaration","scope":32896,"src":"8482:25:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32893,"name":"string","nodeType":"ElementaryTypeName","src":"8482:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8454:54:67"},"src":"8434:75:67"},{"anonymous":false,"documentation":{"id":32897,"nodeType":"StructuredDocumentation","src":"8513:71:67","text":"@dev Emitted when B3TR required to upgrade to each level is updated"},"eventSelector":"0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf870","id":32902,"name":"B3TRtoUpgradeToLevelUpdated","nameLocation":"8593:27:67","nodeType":"EventDefinition","parameters":{"id":32901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32900,"indexed":true,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"8639:20:67","nodeType":"VariableDeclaration","scope":32902,"src":"8621:38:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":32898,"name":"uint256","nodeType":"ElementaryTypeName","src":"8621:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32899,"nodeType":"ArrayTypeName","src":"8621:9:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"8620:40:67"},"src":"8587:74:67"},{"anonymous":false,"documentation":{"id":32903,"nodeType":"StructuredDocumentation","src":"8665:46:67","text":"@dev Emitted when public minting is paused"},"eventSelector":"5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe","id":32907,"name":"PublicMintingPaused","nameLocation":"8720:19:67","nodeType":"EventDefinition","parameters":{"id":32906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32905,"indexed":false,"mutability":"mutable","name":"isPaused","nameLocation":"8745:8:67","nodeType":"VariableDeclaration","scope":32907,"src":"8740:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32904,"name":"bool","nodeType":"ElementaryTypeName","src":"8740:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8739:15:67"},"src":"8714:41:67"},{"anonymous":false,"documentation":{"id":32908,"nodeType":"StructuredDocumentation","src":"8759:51:67","text":"@dev Emitted when a node is attached to a token"},"eventSelector":"b7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f","id":32914,"name":"NodeAttached","nameLocation":"8819:12:67","nodeType":"EventDefinition","parameters":{"id":32913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32910,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"8848:11:67","nodeType":"VariableDeclaration","scope":32914,"src":"8832:27:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32909,"name":"uint256","nodeType":"ElementaryTypeName","src":"8832:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32912,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"8877:7:67","nodeType":"VariableDeclaration","scope":32914,"src":"8861:23:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32911,"name":"uint256","nodeType":"ElementaryTypeName","src":"8861:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8831:54:67"},"src":"8813:73:67"},{"anonymous":false,"documentation":{"id":32915,"nodeType":"StructuredDocumentation","src":"8890:53:67","text":"@dev Emitted when a node is detached from a token"},"eventSelector":"d391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d708","id":32921,"name":"NodeDetached","nameLocation":"8952:12:67","nodeType":"EventDefinition","parameters":{"id":32920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32917,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"8981:11:67","nodeType":"VariableDeclaration","scope":32921,"src":"8965:27:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32916,"name":"uint256","nodeType":"ElementaryTypeName","src":"8965:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32919,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9010:7:67","nodeType":"VariableDeclaration","scope":32921,"src":"8994:23:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32918,"name":"uint256","nodeType":"ElementaryTypeName","src":"8994:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8964:54:67"},"src":"8946:73:67"},{"body":{"id":32938,"nodeType":"Block","src":"9125:157:67","statements":[{"assignments":[32926],"declarations":[{"constant":false,"id":32926,"mutability":"mutable","name":"$","nameLocation":"9159:1:67","nodeType":"VariableDeclaration","scope":32938,"src":"9131:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":32925,"nodeType":"UserDefinedTypeName","pathNode":{"id":32924,"name":"GalaxyMemberStorage","nameLocations":["9131:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"9131:19:67"},"referencedDeclaration":32839,"src":"9131:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":32929,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":32927,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"9163:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":32928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9163:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9131:57:67"},{"expression":{"arguments":[{"id":32933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9202:24:67","subExpression":{"expression":{"id":32931,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32926,"src":"9203:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":32932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9205:21:67","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":32807,"src":"9203:23:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e6720697320706175736564","id":32934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9228:41:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""},"value":"Galaxy Member: Public minting is paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""}],"id":32930,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9194:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":32935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9194:76:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32936,"nodeType":"ExpressionStatement","src":"9194:76:67"},{"id":32937,"nodeType":"PlaceholderStatement","src":"9276:1:67"}]},"documentation":{"id":32922,"nodeType":"StructuredDocumentation","src":"9023:61:67","text":"@notice Modifier to check if public minting is not paused"},"id":32939,"name":"whenPublicMintingNotPaused","nameLocation":"9096:26:67","nodeType":"ModifierDefinition","parameters":{"id":32923,"nodeType":"ParameterList","parameters":[],"src":"9122:2:67"},"src":"9087:195:67","virtual":false,"visibility":"internal"},{"body":{"id":32946,"nodeType":"Block","src":"9434:33:67","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":32943,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"9440:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":32944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9440:22:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32945,"nodeType":"ExpressionStatement","src":"9440:22:67"}]},"documentation":{"id":32940,"nodeType":"StructuredDocumentation","src":"9286:131:67","text":"@notice Ensures only initializer functions are called when deploying a proxy\n @custom:oz-upgrades-unsafe-allow constructor"},"id":32947,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":32941,"nodeType":"ParameterList","parameters":[],"src":"9431:2:67"},"returnParameters":{"id":32942,"nodeType":"ParameterList","parameters":[],"src":"9434:0:67"},"scope":35081,"src":"9420:47:67","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"canonicalName":"GalaxyMemberV3.InitializationData","documentation":{"id":32948,"nodeType":"StructuredDocumentation","src":"9471:720:67","text":"@notice Data for initializing the contract\n @param name Name of the ERC721 token\n @param symbol Symbol of the ERC721 token\n @param admin Address to grant the admin role\n @param upgrader Address to grant the upgrader role\n @param pauser Address to grant the pauser role\n @param minter Address to grant the minter role\n @param contractsAddressManager Address that can update external contracts address\n @param maxLevel Maximum level tokens can achieve\n @param baseTokenURI Base URI for computing {tokenURI}\n @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n @param _b3tr B3TR token contract address\n @param _treasury Address of the treasury"},"id":32974,"members":[{"constant":false,"id":32950,"mutability":"mutable","name":"name","nameLocation":"10233:4:67","nodeType":"VariableDeclaration","scope":32974,"src":"10226:11:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32949,"name":"string","nodeType":"ElementaryTypeName","src":"10226:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32952,"mutability":"mutable","name":"symbol","nameLocation":"10250:6:67","nodeType":"VariableDeclaration","scope":32974,"src":"10243:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32951,"name":"string","nodeType":"ElementaryTypeName","src":"10243:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32954,"mutability":"mutable","name":"admin","nameLocation":"10270:5:67","nodeType":"VariableDeclaration","scope":32974,"src":"10262:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32953,"name":"address","nodeType":"ElementaryTypeName","src":"10262:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32956,"mutability":"mutable","name":"upgrader","nameLocation":"10289:8:67","nodeType":"VariableDeclaration","scope":32974,"src":"10281:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32955,"name":"address","nodeType":"ElementaryTypeName","src":"10281:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32958,"mutability":"mutable","name":"pauser","nameLocation":"10311:6:67","nodeType":"VariableDeclaration","scope":32974,"src":"10303:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32957,"name":"address","nodeType":"ElementaryTypeName","src":"10303:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32960,"mutability":"mutable","name":"minter","nameLocation":"10331:6:67","nodeType":"VariableDeclaration","scope":32974,"src":"10323:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32959,"name":"address","nodeType":"ElementaryTypeName","src":"10323:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32962,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"10351:23:67","nodeType":"VariableDeclaration","scope":32974,"src":"10343:31:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32961,"name":"address","nodeType":"ElementaryTypeName","src":"10343:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32964,"mutability":"mutable","name":"maxLevel","nameLocation":"10388:8:67","nodeType":"VariableDeclaration","scope":32974,"src":"10380:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32963,"name":"uint256","nodeType":"ElementaryTypeName","src":"10380:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32966,"mutability":"mutable","name":"baseTokenURI","nameLocation":"10409:12:67","nodeType":"VariableDeclaration","scope":32974,"src":"10402:19:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":32965,"name":"string","nodeType":"ElementaryTypeName","src":"10402:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":32969,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"10437:20:67","nodeType":"VariableDeclaration","scope":32974,"src":"10427:30:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":32967,"name":"uint256","nodeType":"ElementaryTypeName","src":"10427:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32968,"nodeType":"ArrayTypeName","src":"10427:9:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":32971,"mutability":"mutable","name":"b3tr","nameLocation":"10471:4:67","nodeType":"VariableDeclaration","scope":32974,"src":"10463:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32970,"name":"address","nodeType":"ElementaryTypeName","src":"10463:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32973,"mutability":"mutable","name":"treasury","nameLocation":"10489:8:67","nodeType":"VariableDeclaration","scope":32974,"src":"10481:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32972,"name":"address","nodeType":"ElementaryTypeName","src":"10481:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"10201:18:67","nodeType":"StructDefinition","scope":35081,"src":"10194:308:67","visibility":"public"},{"body":{"id":33176,"nodeType":"Block","src":"10773:1615:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32984,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"10787:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":32985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10792:8:67","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":32964,"src":"10787:13:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":32986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10803:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10787:17:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d7573742062652067726561746572207468616e2030","id":32988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10806:49:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f","typeString":"literal_string \"Galaxy Member: Max level must be greater than 0\""},"value":"Galaxy Member: Max level must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f","typeString":"literal_string \"Galaxy Member: Max level must be greater than 0\""}],"id":32983,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10779:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":32989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10779:77:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32990,"nodeType":"ExpressionStatement","src":"10779:77:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":32994,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"10876:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":32995,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10881:12:67","memberName":"baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":32966,"src":"10876:17:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":32993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10870:5:67","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":32992,"name":"bytes","nodeType":"ElementaryTypeName","src":"10870:5:67","typeDescriptions":{}}},"id":32996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10870:24:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":32997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10895:6:67","memberName":"length","nodeType":"MemberAccess","src":"10870:31:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":32998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10904:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10870:35:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520736574","id":33000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10907:37:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""},"value":"Galaxy Member: Base URI must be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""}],"id":32991,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10862:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10862:83:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33002,"nodeType":"ExpressionStatement","src":"10862:83:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33004,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"10959:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33005,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10964:4:67","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":32971,"src":"10959:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10980:1:67","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":33007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10972:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33006,"name":"address","nodeType":"ElementaryTypeName","src":"10972:7:67","typeDescriptions":{}}},"id":33009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10972:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10959:23:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f6b656e20616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":33011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10984:62:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d","typeString":"literal_string \"Galaxy Member: B3TR token address cannot be the zero address\""},"value":"Galaxy Member: B3TR token address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d","typeString":"literal_string \"Galaxy Member: B3TR token address cannot be the zero address\""}],"id":33003,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10951:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10951:96:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33013,"nodeType":"ExpressionStatement","src":"10951:96:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33015,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11061:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33016,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11066:8:67","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":32973,"src":"11061:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11086:1:67","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":33018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11078:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33017,"name":"address","nodeType":"ElementaryTypeName","src":"11078:7:67","typeDescriptions":{}}},"id":33020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11078:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11061:27:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20547265617375727920616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":33022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11090:60:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96","typeString":"literal_string \"Galaxy Member: Treasury address cannot be the zero address\""},"value":"Galaxy Member: Treasury address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96","typeString":"literal_string \"Galaxy Member: Treasury address cannot be the zero address\""}],"id":33014,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11053:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:98:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33024,"nodeType":"ExpressionStatement","src":"11053:98:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":33026,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11172:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11177:20:67","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32969,"src":"11172:25:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11198:6:67","memberName":"length","nodeType":"MemberAccess","src":"11172:32:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33029,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11208:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11213:8:67","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":32964,"src":"11208:13:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":33031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11224:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11208:17:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11172:53:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656c73","id":33034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11233:68:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\""},"value":"Galaxy Member: B3TR to upgrade must be set for all unlocked levels"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\""}],"id":33025,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11157:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11157:150:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33036,"nodeType":"ExpressionStatement","src":"11157:150:67"},{"expression":{"arguments":[{"expression":{"id":33038,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11328:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33039,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11333:4:67","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":32950,"src":"11328:9:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":33040,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11339:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11344:6:67","memberName":"symbol","nodeType":"MemberAccess","referencedDeclaration":32952,"src":"11339:11:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":33037,"name":"__ERC721_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2099,"src":"11314:13:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":33042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11314:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33043,"nodeType":"ExpressionStatement","src":"11314:37:67"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33044,"name":"__ERC721Enumerable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3252,"src":"11357:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":33045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11357:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33046,"nodeType":"ExpressionStatement","src":"11357:25:67"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33047,"name":"__ERC721Pausable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3698,"src":"11388:21:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":33048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11388:23:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33049,"nodeType":"ExpressionStatement","src":"11388:23:67"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33050,"name":"__ERC721Burnable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"11417:21:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":33051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11417:23:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33052,"nodeType":"ExpressionStatement","src":"11417:23:67"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33053,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"11446:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":33054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11446:22:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33055,"nodeType":"ExpressionStatement","src":"11446:22:67"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33056,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4203,"src":"11474:22:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":33057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11474:24:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33058,"nodeType":"ExpressionStatement","src":"11474:24:67"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33059,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"11504:22:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":33060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11504:24:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33061,"nodeType":"ExpressionStatement","src":"11504:24:67"},{"assignments":[33064],"declarations":[{"constant":false,"id":33064,"mutability":"mutable","name":"$","nameLocation":"11563:1:67","nodeType":"VariableDeclaration","scope":33176,"src":"11535:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33063,"nodeType":"UserDefinedTypeName","pathNode":{"id":33062,"name":"GalaxyMemberStorage","nameLocations":["11535:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"11535:19:67"},"referencedDeclaration":32839,"src":"11535:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33067,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33065,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"11567:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11567:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11535:57:67"},{"expression":{"id":33073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33068,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33064,"src":"11599:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11601:13:67","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":32782,"src":"11599:15:67","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":33071,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11617:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11622:12:67","memberName":"baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":32966,"src":"11617:17:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11599:35:67","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":33074,"nodeType":"ExpressionStatement","src":"11599:35:67"},{"body":{"id":33110,"nodeType":"Block","src":"11704:227:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":33088,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11720:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11725:20:67","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32969,"src":"11720:25:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33091,"indexExpression":{"id":33090,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33076,"src":"11746:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11720:28:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":33092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11751:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11720:32:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652067726561746572207468616e2030","id":33094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11754:55:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""},"value":"Galaxy Member: B3TR to upgrade must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""}],"id":33087,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11712:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11712:98:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33096,"nodeType":"ExpressionStatement","src":"11712:98:67"},{"expression":{"id":33108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":33097,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33064,"src":"11818:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11820:21:67","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32794,"src":"11818:23:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":33103,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33099,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33076,"src":"11842:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":33100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11846:1:67","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11842:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11818:30:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":33104,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11851:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11856:20:67","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32969,"src":"11851:25:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33107,"indexExpression":{"id":33106,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33076,"src":"11877:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11851:28:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11818:61:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33109,"nodeType":"ExpressionStatement","src":"11818:61:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33079,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33076,"src":"11661:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":33080,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11665:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33081,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11670:20:67","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32969,"src":"11665:25:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11691:6:67","memberName":"length","nodeType":"MemberAccess","src":"11665:32:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11661:36:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33111,"initializationExpression":{"assignments":[33076],"declarations":[{"constant":false,"id":33076,"mutability":"mutable","name":"i","nameLocation":"11654:1:67","nodeType":"VariableDeclaration","scope":33111,"src":"11646:9:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33075,"name":"uint256","nodeType":"ElementaryTypeName","src":"11646:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":33078,"initialValue":{"hexValue":"30","id":33077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11658:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11646:13:67"},"loopExpression":{"expression":{"id":33085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11699:3:67","subExpression":{"id":33084,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33076,"src":"11699:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33086,"nodeType":"ExpressionStatement","src":"11699:3:67"},"nodeType":"ForStatement","src":"11641:290:67"},{"expression":{"id":33117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33112,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33064,"src":"11937:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11939:9:67","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":32786,"src":"11937:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":33115,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11951:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11956:8:67","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":32964,"src":"11951:13:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11937:27:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33118,"nodeType":"ExpressionStatement","src":"11937:27:67"},{"expression":{"id":33126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33119,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33064,"src":"11971:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11973:4:67","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":32778,"src":"11971:6:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":33123,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"11986:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11991:4:67","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":32971,"src":"11986:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33122,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"11980:5:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":33125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11980:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"11971:25:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":33127,"nodeType":"ExpressionStatement","src":"11971:25:67"},{"expression":{"id":33133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33128,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33064,"src":"12002:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12004:8:67","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":32780,"src":"12002:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":33131,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"12015:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12020:8:67","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":32973,"src":"12015:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12002:26:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33134,"nodeType":"ExpressionStatement","src":"12002:26:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33136,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"12043:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12048:5:67","memberName":"admin","nodeType":"MemberAccess","referencedDeclaration":32954,"src":"12043:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12065:1:67","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":33139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12057:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33138,"name":"address","nodeType":"ElementaryTypeName","src":"12057:7:67","typeDescriptions":{}}},"id":33141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12057:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12043:24:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2041646d696e20616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":33143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12069:57:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4","typeString":"literal_string \"Galaxy Member: Admin address cannot be the zero address\""},"value":"Galaxy Member: Admin address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4","typeString":"literal_string \"Galaxy Member: Admin address cannot be the zero address\""}],"id":33135,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12035:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12035:92:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33145,"nodeType":"ExpressionStatement","src":"12035:92:67"},{"expression":{"arguments":[{"id":33147,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"12144:18:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":33148,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"12164:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12169:5:67","memberName":"admin","nodeType":"MemberAccess","referencedDeclaration":32954,"src":"12164:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33146,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12133:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":33150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12133:42:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33151,"nodeType":"ExpressionStatement","src":"12133:42:67"},{"expression":{"arguments":[{"id":33153,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32748,"src":"12192:13:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":33154,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"12207:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12212:8:67","memberName":"upgrader","nodeType":"MemberAccess","referencedDeclaration":32956,"src":"12207:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33152,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12181:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":33156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12181:40:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33157,"nodeType":"ExpressionStatement","src":"12181:40:67"},{"expression":{"arguments":[{"id":33159,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32753,"src":"12238:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":33160,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"12251:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12256:6:67","memberName":"pauser","nodeType":"MemberAccess","referencedDeclaration":32958,"src":"12251:11:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33158,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12227:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":33162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12227:36:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33163,"nodeType":"ExpressionStatement","src":"12227:36:67"},{"expression":{"arguments":[{"id":33165,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32758,"src":"12280:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":33166,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"12293:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12298:6:67","memberName":"minter","nodeType":"MemberAccess","referencedDeclaration":32960,"src":"12293:11:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33164,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12269:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":33168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12269:36:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33169,"nodeType":"ExpressionStatement","src":"12269:36:67"},{"expression":{"arguments":[{"id":33171,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32763,"src":"12322:30:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":33172,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32978,"src":"12354:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData memory"}},"id":33173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12359:23:67","memberName":"contractsAddressManager","nodeType":"MemberAccess","referencedDeclaration":32962,"src":"12354:28:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33170,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12311:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":33174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12311:72:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33175,"nodeType":"ExpressionStatement","src":"12311:72:67"}]},"documentation":{"id":32975,"nodeType":"StructuredDocumentation","src":"10506:191:67","text":"@notice Initializes a new GalaxyMember contract\n @dev Sets initial values for all relevant contract properties and state variables.\n @custom:oz-upgrades-unsafe-allow constructor"},"functionSelector":"5f4e42ca","id":33177,"implemented":true,"kind":"function","modifiers":[{"id":32981,"kind":"modifierInvocation","modifierName":{"id":32980,"name":"initializer","nameLocations":["10761:11:67"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"10761:11:67"},"nodeType":"ModifierInvocation","src":"10761:11:67"}],"name":"initialize","nameLocation":"10709:10:67","nodeType":"FunctionDefinition","parameters":{"id":32979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32978,"mutability":"mutable","name":"data","nameLocation":"10746:4:67","nodeType":"VariableDeclaration","scope":33177,"src":"10720:30:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_memory_ptr","typeString":"struct GalaxyMemberV3.InitializationData"},"typeName":{"id":32977,"nodeType":"UserDefinedTypeName","pathNode":{"id":32976,"name":"InitializationData","nameLocations":["10720:18:67"],"nodeType":"IdentifierPath","referencedDeclaration":32974,"src":"10720:18:67"},"referencedDeclaration":32974,"src":"10720:18:67","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$32974_storage_ptr","typeString":"struct GalaxyMemberV3.InitializationData"}},"visibility":"internal"}],"src":"10719:32:67"},"returnParameters":{"id":32982,"nodeType":"ParameterList","parameters":[],"src":"10773:0:67"},"scope":35081,"src":"10700:1688:67","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":33292,"nodeType":"Block","src":"12758:801:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33194,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33187,"src":"12772:15:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12788:6:67","memberName":"length","nodeType":"MemberAccess","src":"12772:22:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"38","id":33196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12798:1:67","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12772:27:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f64652066726565206c6576656c732e204d7573742062652037206c6576656c73","id":33198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12801:58:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051","typeString":"literal_string \"GalaxyMember: invalid node free levels. Must be 7 levels\""},"value":"GalaxyMember: invalid node free levels. Must be 7 levels"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051","typeString":"literal_string \"GalaxyMember: invalid node free levels. Must be 7 levels\""}],"id":33193,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12764:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12764:96:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33200,"nodeType":"ExpressionStatement","src":"12764:96:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33202,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33180,"src":"12874:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12899:1:67","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":33204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12891:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33203,"name":"address","nodeType":"ElementaryTypeName","src":"12891:7:67","typeDescriptions":{}}},"id":33206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12891:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12874:27:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6f7420626520746865207a65726f2061646472657373","id":33208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12903:56:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""},"value":"GalaxyMember: _vechainNodes cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""}],"id":33201,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12866:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12866:94:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33210,"nodeType":"ExpressionStatement","src":"12866:94:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33212,"name":"_nodesMangaement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33182,"src":"12974:16:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13002:1:67","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":33214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12994:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33213,"name":"address","nodeType":"ElementaryTypeName","src":"12994:7:67","typeDescriptions":{}}},"id":33216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12994:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12974:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063616e6e6f7420626520746865207a65726f2061646472657373","id":33218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13006:59:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd","typeString":"literal_string \"GalaxyMember: _nodesMangaement cannot be the zero address\""},"value":"GalaxyMember: _nodesMangaement cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd","typeString":"literal_string \"GalaxyMember: _nodesMangaement cannot be the zero address\""}],"id":33211,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12966:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12966:100:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33220,"nodeType":"ExpressionStatement","src":"12966:100:67"},{"assignments":[33223],"declarations":[{"constant":false,"id":33223,"mutability":"mutable","name":"$","nameLocation":"13101:1:67","nodeType":"VariableDeclaration","scope":33292,"src":"13073:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33222,"nodeType":"UserDefinedTypeName","pathNode":{"id":33221,"name":"GalaxyMemberStorage","nameLocations":["13073:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"13073:19:67"},"referencedDeclaration":32839,"src":"13073:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33226,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33224,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"13105:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13105:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13073:57:67"},{"expression":{"id":33233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33227,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"13137:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13139:12:67","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":32810,"src":"13137:14:67","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":33231,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33180,"src":"13168:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33230,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"13154:13:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITokenAuction_$73165_$","typeString":"type(contract ITokenAuction)"}},"id":33232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13154:28:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"src":"13137:45:67","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":33234,"nodeType":"ExpressionStatement","src":"13137:45:67"},{"expression":{"id":33241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33235,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"13188:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33237,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13190:14:67","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":32813,"src":"13188:16:67","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":33239,"name":"_nodesMangaement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33182,"src":"13225:16:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33238,"name":"INodeManagementV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32668,"src":"13207:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_INodeManagementV2_$32668_$","typeString":"type(contract INodeManagementV2)"}},"id":33240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13207:35:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"src":"13188:54:67","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"id":33242,"nodeType":"ExpressionStatement","src":"13188:54:67"},{"expression":{"id":33254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33243,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"13249:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13251:12:67","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":32784,"src":"13249:14:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33246,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"13266:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13268:12:67","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":32784,"src":"13266:14:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":33248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13284:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13266:19:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":33251,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"13292:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13294:12:67","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":32784,"src":"13292:14:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13266:40:67","trueExpression":{"hexValue":"31","id":33250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13288:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13249:57:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33255,"nodeType":"ExpressionStatement","src":"13249:57:67"},{"body":{"id":33285,"nodeType":"Block","src":"13360:145:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":33267,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33187,"src":"13376:15:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33269,"indexExpression":{"id":33268,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33257,"src":"13392:1:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13376:18:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":33270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13398:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13376:23:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f64652066726565206c6576656c","id":33272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13401:39:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4","typeString":"literal_string \"GalaxyMember: invalid node free level\""},"value":"GalaxyMember: invalid node free level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4","typeString":"literal_string \"GalaxyMember: invalid node free level\""}],"id":33266,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13368:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13368:73:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33274,"nodeType":"ExpressionStatement","src":"13368:73:67"},{"expression":{"id":33283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":33275,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33223,"src":"13449:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13451:23:67","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":32825,"src":"13449:25:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":33279,"indexExpression":{"id":33277,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33257,"src":"13475:1:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13449:28:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":33280,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33187,"src":"13480:15:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33282,"indexExpression":{"id":33281,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33257,"src":"13496:1:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13480:18:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13449:49:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33284,"nodeType":"ExpressionStatement","src":"13449:49:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33259,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33257,"src":"13327:1:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":33260,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33187,"src":"13331:15:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13347:6:67","memberName":"length","nodeType":"MemberAccess","src":"13331:22:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13327:26:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33286,"initializationExpression":{"assignments":[33257],"declarations":[{"constant":false,"id":33257,"mutability":"mutable","name":"i","nameLocation":"13324:1:67","nodeType":"VariableDeclaration","scope":33286,"src":"13318:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":33256,"name":"uint8","nodeType":"ElementaryTypeName","src":"13318:5:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":33258,"nodeType":"VariableDeclarationStatement","src":"13318:7:67"},"loopExpression":{"expression":{"id":33264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13355:3:67","subExpression":{"id":33263,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33257,"src":"13355:1:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":33265,"nodeType":"ExpressionStatement","src":"13355:3:67"},"nodeType":"ForStatement","src":"13313:192:67"},{"expression":{"arguments":[{"id":33288,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32768,"src":"13522:18:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":33289,"name":"_nodesAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33184,"src":"13542:11:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33287,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"13511:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":33290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13511:43:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33291,"nodeType":"ExpressionStatement","src":"13511:43:67"}]},"documentation":{"id":33178,"nodeType":"StructuredDocumentation","src":"12392:191:67","text":"@notice Initializes a new GalaxyMember contract\n @dev Sets initial values for all relevant contract properties and state variables.\n @custom:oz-upgrades-unsafe-allow constructor"},"functionSelector":"c190eb3a","id":33293,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":33190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12755:1:67","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":33191,"kind":"modifierInvocation","modifierName":{"id":33189,"name":"reinitializer","nameLocations":["12741:13:67"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"12741:13:67"},"nodeType":"ModifierInvocation","src":"12741:16:67"}],"name":"initializeV2","nameLocation":"12595:12:67","nodeType":"FunctionDefinition","parameters":{"id":33188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33180,"mutability":"mutable","name":"_vechainNodes","nameLocation":"12621:13:67","nodeType":"VariableDeclaration","scope":33293,"src":"12613:21:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33179,"name":"address","nodeType":"ElementaryTypeName","src":"12613:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33182,"mutability":"mutable","name":"_nodesMangaement","nameLocation":"12648:16:67","nodeType":"VariableDeclaration","scope":33293,"src":"12640:24:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33181,"name":"address","nodeType":"ElementaryTypeName","src":"12640:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33184,"mutability":"mutable","name":"_nodesAdmin","nameLocation":"12678:11:67","nodeType":"VariableDeclaration","scope":33293,"src":"12670:19:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33183,"name":"address","nodeType":"ElementaryTypeName","src":"12670:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33187,"mutability":"mutable","name":"_nodeFreeLevels","nameLocation":"12712:15:67","nodeType":"VariableDeclaration","scope":33293,"src":"12695:32:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":33185,"name":"uint256","nodeType":"ElementaryTypeName","src":"12695:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33186,"nodeType":"ArrayTypeName","src":"12695:9:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"12607:124:67"},"returnParameters":{"id":33192,"nodeType":"ParameterList","parameters":[],"src":"12758:0:67"},"scope":35081,"src":"12586:973:67","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":33303,"nodeType":"Block","src":"13871:2:67","statements":[]},"documentation":{"id":33294,"nodeType":"StructuredDocumentation","src":"13563:209:67","text":"@notice Internal function to authorize contract upgrades\n @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n @param newImplementation Address of the new contract implementation"},"id":33304,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33300,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32748,"src":"13856:13:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33301,"kind":"modifierInvocation","modifierName":{"id":33299,"name":"onlyRole","nameLocations":["13847:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"13847:8:67"},"nodeType":"ModifierInvocation","src":"13847:23:67"}],"name":"_authorizeUpgrade","nameLocation":"13784:17:67","nodeType":"FunctionDefinition","overrides":{"id":33298,"nodeType":"OverrideSpecifier","overrides":[],"src":"13838:8:67"},"parameters":{"id":33297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33296,"mutability":"mutable","name":"newImplementation","nameLocation":"13810:17:67","nodeType":"VariableDeclaration","scope":33304,"src":"13802:25:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33295,"name":"address","nodeType":"ElementaryTypeName","src":"13802:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13801:27:67"},"returnParameters":{"id":33302,"nodeType":"ParameterList","parameters":[],"src":"13871:0:67"},"scope":35081,"src":"13775:98:67","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":33314,"nodeType":"Block","src":"14115:19:67","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33311,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"14121:6:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":33312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14121:8:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33313,"nodeType":"ExpressionStatement","src":"14121:8:67"}]},"documentation":{"id":33305,"nodeType":"StructuredDocumentation","src":"13877:181:67","text":"@notice Pauses the Galaxy Member contract\n @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n @dev Only callable by the pauser role"},"functionSelector":"8456cb59","id":33315,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33308,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32753,"src":"14102:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33309,"kind":"modifierInvocation","modifierName":{"id":33307,"name":"onlyRole","nameLocations":["14093:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"14093:8:67"},"nodeType":"ModifierInvocation","src":"14093:21:67"}],"name":"pause","nameLocation":"14070:5:67","nodeType":"FunctionDefinition","parameters":{"id":33306,"nodeType":"ParameterList","parameters":[],"src":"14075:2:67"},"returnParameters":{"id":33310,"nodeType":"ParameterList","parameters":[],"src":"14115:0:67"},"scope":35081,"src":"14061:73:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33325,"nodeType":"Block","src":"14288:21:67","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":33322,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"14294:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":33323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14294:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33324,"nodeType":"ExpressionStatement","src":"14294:10:67"}]},"documentation":{"id":33316,"nodeType":"StructuredDocumentation","src":"14138:91:67","text":"@notice Unpauses the Galaxy Member contract\n @dev Only callable by the pauser role"},"functionSelector":"3f4ba83a","id":33326,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33319,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32753,"src":"14275:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33320,"kind":"modifierInvocation","modifierName":{"id":33318,"name":"onlyRole","nameLocations":["14266:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"14266:8:67"},"nodeType":"ModifierInvocation","src":"14266:21:67"}],"name":"unpause","nameLocation":"14241:7:67","nodeType":"FunctionDefinition","parameters":{"id":33317,"nodeType":"ParameterList","parameters":[],"src":"14248:2:67"},"returnParameters":{"id":33321,"nodeType":"ParameterList","parameters":[],"src":"14288:0:67"},"scope":35081,"src":"14232:77:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33345,"nodeType":"Block","src":"14554:141:67","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":33334,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14593:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14597:6:67","memberName":"sender","nodeType":"MemberAccess","src":"14593:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33333,"name":"participatedInGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34439,"src":"14568:24:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":33336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14568:36:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274696369706174656420696e20676f7665726e616e6365","id":33337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14606:56:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""},"value":"Galaxy Member: User has not participated in governance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""}],"id":33332,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14560:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14560:103:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33339,"nodeType":"ExpressionStatement","src":"14560:103:67"},{"expression":{"arguments":[{"expression":{"id":33341,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14679:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14683:6:67","memberName":"sender","nodeType":"MemberAccess","src":"14679:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33340,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33728,"src":"14670:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":33343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14670:20:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33344,"nodeType":"ExpressionStatement","src":"14670:20:67"}]},"documentation":{"id":33327,"nodeType":"StructuredDocumentation","src":"14313:176:67","text":"@notice Allows a user to freely mint a token if they have participated in governance\n @dev Mints a token with level 1 and ensures that the public minting is not paused"},"functionSelector":"5b70ea9f","id":33346,"implemented":true,"kind":"function","modifiers":[{"id":33330,"kind":"modifierInvocation","modifierName":{"id":33329,"name":"whenPublicMintingNotPaused","nameLocations":["14527:26:67"],"nodeType":"IdentifierPath","referencedDeclaration":32939,"src":"14527:26:67"},"nodeType":"ModifierInvocation","src":"14527:26:67"}],"name":"freeMint","nameLocation":"14501:8:67","nodeType":"FunctionDefinition","parameters":{"id":33328,"nodeType":"ParameterList","parameters":[],"src":"14509:2:67"},"returnParameters":{"id":33331,"nodeType":"ParameterList","parameters":[],"src":"14554:0:67"},"scope":35081,"src":"14492:203:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33449,"nodeType":"Block","src":"14976:836:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33358,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33349,"src":"14998:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33357,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"14990:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":33359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14990:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":33360,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15010:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15014:6:67","memberName":"sender","nodeType":"MemberAccess","src":"15010:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14990:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520546f6b656e20746f2075706772616465206974","id":33363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15022:53:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""},"value":"Galaxy Member: you must own the Token to upgrade it"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""}],"id":33356,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14982:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14982:94:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33365,"nodeType":"ExpressionStatement","src":"14982:94:67"},{"assignments":[33368],"declarations":[{"constant":false,"id":33368,"mutability":"mutable","name":"$","nameLocation":"15110:1:67","nodeType":"VariableDeclaration","scope":33449,"src":"15082:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33367,"nodeType":"UserDefinedTypeName","pathNode":{"id":33366,"name":"GalaxyMemberStorage","nameLocations":["15082:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"15082:19:67"},"referencedDeclaration":32839,"src":"15082:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33371,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33369,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"15114:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15114:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15082:57:67"},{"assignments":[33373],"declarations":[{"constant":false,"id":33373,"mutability":"mutable","name":"currentLevel","nameLocation":"15154:12:67","nodeType":"VariableDeclaration","scope":33449,"src":"15146:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33372,"name":"uint256","nodeType":"ElementaryTypeName","src":"15146:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":33377,"initialValue":{"arguments":[{"id":33375,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33349,"src":"15177:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33374,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34104,"src":"15169:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":33376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15169:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15146:39:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33379,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33373,"src":"15200:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":33380,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34597,"src":"15215:9:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":33381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15215:11:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15200:26:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c7265616479206174206d6178206c6576656c","id":33383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15228:46:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""},"value":"Galaxy Member: Token is already at max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""}],"id":33378,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15192:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15192:83:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33385,"nodeType":"ExpressionStatement","src":"15192:83:67"},{"assignments":[33387],"declarations":[{"constant":false,"id":33387,"mutability":"mutable","name":"b3trRequired","nameLocation":"15290:12:67","nodeType":"VariableDeclaration","scope":33449,"src":"15282:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33386,"name":"uint256","nodeType":"ElementaryTypeName","src":"15282:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":33391,"initialValue":{"arguments":[{"id":33389,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33349,"src":"15322:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33388,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34155,"src":"15305:16:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":33390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15305:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15282:48:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":33396,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15362:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15366:6:67","memberName":"sender","nodeType":"MemberAccess","src":"15362:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":33393,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33368,"src":"15345:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15347:4:67","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":32778,"src":"15345:6:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":33395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15352:9:67","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"15345:16:67","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":33398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15345:28:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":33399,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33387,"src":"15377:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15345:44:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c616e636520746f2075706772616465","id":33401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15391:48:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""},"value":"Galaxy Member: Insufficient balance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""}],"id":33392,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15337:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15337:103:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33403,"nodeType":"ExpressionStatement","src":"15337:103:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":33408,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15479:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15483:6:67","memberName":"sender","nodeType":"MemberAccess","src":"15479:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":33412,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15499:4:67","typeDescriptions":{"typeIdentifier":"t_contract$_GalaxyMemberV3_$35081","typeString":"contract GalaxyMemberV3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GalaxyMemberV3_$35081","typeString":"contract GalaxyMemberV3"}],"id":33411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15491:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33410,"name":"address","nodeType":"ElementaryTypeName","src":"15491:7:67","typeDescriptions":{}}},"id":33413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15491:13:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":33405,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33368,"src":"15462:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33406,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15464:4:67","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":32778,"src":"15462:6:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":33407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15469:9:67","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":62751,"src":"15462:16:67","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":33414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15462:43:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":33415,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33387,"src":"15509:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15462:59:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f77616e636520746f2075706772616465","id":33417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15529:50:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""},"value":"Galaxy Member: Insufficient allowance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""}],"id":33404,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15447:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15447:138:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33419,"nodeType":"ExpressionStatement","src":"15447:138:67"},{"expression":{"id":33426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":33420,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33368,"src":"15592:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15594:21:67","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":32829,"src":"15592:23:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":33424,"indexExpression":{"id":33422,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33349,"src":"15616:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15592:32:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":33425,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33387,"src":"15628:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15592:48:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33427,"nodeType":"ExpressionStatement","src":"15592:48:67"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":33432,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15675:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15679:6:67","memberName":"sender","nodeType":"MemberAccess","src":"15675:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":33434,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33368,"src":"15687:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15689:8:67","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":32780,"src":"15687:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33436,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33387,"src":"15699:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":33429,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33368,"src":"15655:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15657:4:67","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":32778,"src":"15655:6:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":33431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15662:12:67","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":62884,"src":"15655:19:67","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":33437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15655:57:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","id":33438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15714:31:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""},"value":"GalaxyMember: Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""}],"id":33428,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15647:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15647:99:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33440,"nodeType":"ExpressionStatement","src":"15647:99:67"},{"eventCall":{"arguments":[{"id":33442,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33349,"src":"15767:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33443,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33373,"src":"15776:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":33445,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33349,"src":"15798:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33444,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34104,"src":"15790:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":33446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15790:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33441,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32868,"src":"15758:8:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":33447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15758:49:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33448,"nodeType":"EmitStatement","src":"15753:54:67"}]},"documentation":{"id":33347,"nodeType":"StructuredDocumentation","src":"14699:198:67","text":"@notice Upgrades a token to the next level\n @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n @param tokenId Token ID to upgrade"},"functionSelector":"45977d03","id":33450,"implemented":true,"kind":"function","modifiers":[{"id":33352,"kind":"modifierInvocation","modifierName":{"id":33351,"name":"nonReentrant","nameLocations":["14949:12:67"],"nodeType":"IdentifierPath","referencedDeclaration":4232,"src":"14949:12:67"},"nodeType":"ModifierInvocation","src":"14949:12:67"},{"id":33354,"kind":"modifierInvocation","modifierName":{"id":33353,"name":"whenNotPaused","nameLocations":["14962:13:67"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"14962:13:67"},"nodeType":"ModifierInvocation","src":"14962:13:67"}],"name":"upgrade","nameLocation":"14909:7:67","nodeType":"FunctionDefinition","parameters":{"id":33350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33349,"mutability":"mutable","name":"tokenId","nameLocation":"14925:7:67","nodeType":"VariableDeclaration","scope":33450,"src":"14917:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33348,"name":"uint256","nodeType":"ElementaryTypeName","src":"14917:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14916:17:67"},"returnParameters":{"id":33355,"nodeType":"ParameterList","parameters":[],"src":"14976:0:67"},"scope":35081,"src":"14900:912:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33462,"nodeType":"Block","src":"15982:39:67","statements":[{"expression":{"arguments":[{"expression":{"id":33457,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15996:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16000:6:67","memberName":"sender","nodeType":"MemberAccess","src":"15996:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33459,"name":"tokenID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33453,"src":"16008:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33456,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33523,"src":"15988:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":33460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15988:28:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33461,"nodeType":"ExpressionStatement","src":"15988:28:67"}]},"documentation":{"id":33451,"nodeType":"StructuredDocumentation","src":"15816:115:67","text":"@notice Allows the user to select a token for voting rewards multiplier\n @param tokenID Token ID to select"},"functionSelector":"839a19d9","id":33463,"implemented":true,"kind":"function","modifiers":[],"name":"select","nameLocation":"15943:6:67","nodeType":"FunctionDefinition","parameters":{"id":33454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33453,"mutability":"mutable","name":"tokenID","nameLocation":"15958:7:67","nodeType":"VariableDeclaration","scope":33463,"src":"15950:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33452,"name":"uint256","nodeType":"ElementaryTypeName","src":"15950:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15949:17:67"},"returnParameters":{"id":33455,"nodeType":"ParameterList","parameters":[],"src":"15982:0:67"},"scope":35081,"src":"15934:87:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33479,"nodeType":"Block","src":"16235:34:67","statements":[{"expression":{"arguments":[{"id":33475,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33466,"src":"16249:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33476,"name":"tokenID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33468,"src":"16256:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33474,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33523,"src":"16241:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":33477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16241:23:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33478,"nodeType":"ExpressionStatement","src":"16241:23:67"}]},"documentation":{"id":33464,"nodeType":"StructuredDocumentation","src":"16025:112:67","text":"@notice Allows the admin to select a token for the user\n @param owner The address of the owner to check"},"functionSelector":"aa3491eb","id":33480,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33471,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"16215:18:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33472,"kind":"modifierInvocation","modifierName":{"id":33470,"name":"onlyRole","nameLocations":["16206:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"16206:8:67"},"nodeType":"ModifierInvocation","src":"16206:28:67"}],"name":"selectFor","nameLocation":"16149:9:67","nodeType":"FunctionDefinition","parameters":{"id":33469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33466,"mutability":"mutable","name":"owner","nameLocation":"16167:5:67","nodeType":"VariableDeclaration","scope":33480,"src":"16159:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33465,"name":"address","nodeType":"ElementaryTypeName","src":"16159:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33468,"mutability":"mutable","name":"tokenID","nameLocation":"16182:7:67","nodeType":"VariableDeclaration","scope":33480,"src":"16174:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33467,"name":"uint256","nodeType":"ElementaryTypeName","src":"16174:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16158:32:67"},"returnParameters":{"id":33473,"nodeType":"ParameterList","parameters":[],"src":"16235:0:67"},"scope":35081,"src":"16140:129:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33522,"nodeType":"Block","src":"16491:286:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33490,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33485,"src":"16513:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33489,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"16505:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":33491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16505:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":33492,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33483,"src":"16525:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16505:25:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":33494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16532:53:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":33488,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16497:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16497:89:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33496,"nodeType":"ExpressionStatement","src":"16497:89:67"},{"assignments":[33499],"declarations":[{"constant":false,"id":33499,"mutability":"mutable","name":"$","nameLocation":"16621:1:67","nodeType":"VariableDeclaration","scope":33522,"src":"16593:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33498,"nodeType":"UserDefinedTypeName","pathNode":{"id":33497,"name":"GalaxyMemberStorage","nameLocations":["16593:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"16593:19:67"},"referencedDeclaration":32839,"src":"16593:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33502,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33500,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"16625:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16625:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16593:57:67"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":33509,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34903,"src":"16699:5:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":33510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16699:7:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":33513,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33485,"src":"16727:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":33511,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"16708:8:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":33512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16717:9:67","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"16708:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":33514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16708:27:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":33503,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33499,"src":"16657:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33506,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16659:27:67","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":32838,"src":"16657:29:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":33507,"indexExpression":{"id":33505,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33483,"src":"16687:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16657:36:67","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":33508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16694:4:67","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"16657:41:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":33515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16657:79:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":33516,"nodeType":"ExpressionStatement","src":"16657:79:67"},{"eventCall":{"arguments":[{"id":33518,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33483,"src":"16757:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33519,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33485,"src":"16764:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33517,"name":"Selected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32859,"src":"16748:8:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":33520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16748:24:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33521,"nodeType":"EmitStatement","src":"16743:29:67"}]},"documentation":{"id":33481,"nodeType":"StructuredDocumentation","src":"16273:149:67","text":"@notice selects the specified token for the user\n @param owner The address of the owner to check\n @param tokenId the token ID to select"},"id":33523,"implemented":true,"kind":"function","modifiers":[],"name":"_select","nameLocation":"16434:7:67","nodeType":"FunctionDefinition","parameters":{"id":33486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33483,"mutability":"mutable","name":"owner","nameLocation":"16450:5:67","nodeType":"VariableDeclaration","scope":33523,"src":"16442:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33482,"name":"address","nodeType":"ElementaryTypeName","src":"16442:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33485,"mutability":"mutable","name":"tokenId","nameLocation":"16465:7:67","nodeType":"VariableDeclaration","scope":33523,"src":"16457:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33484,"name":"uint256","nodeType":"ElementaryTypeName","src":"16457:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16441:32:67"},"returnParameters":{"id":33487,"nodeType":"ParameterList","parameters":[],"src":"16491:0:67"},"scope":35081,"src":"16425:352:67","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[3188],"body":{"id":33547,"nodeType":"Block","src":"17050:131:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33533,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33526,"src":"17072:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33532,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"17064:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":33534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17064:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":33535,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17084:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17088:6:67","memberName":"sender","nodeType":"MemberAccess","src":"17084:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17064:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":33538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17096:53:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":33531,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17056:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17056:94:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33540,"nodeType":"ExpressionStatement","src":"17056:94:67"},{"expression":{"arguments":[{"id":33544,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33526,"src":"17168:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":33541,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"17157:5:67","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV3_$35081_$","typeString":"type(contract super GalaxyMemberV3)"}},"id":33543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17163:4:67","memberName":"burn","nodeType":"MemberAccess","referencedDeclaration":3188,"src":"17157:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":33545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17157:19:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33546,"nodeType":"ExpressionStatement","src":"17157:19:67"}]},"documentation":{"id":33524,"nodeType":"StructuredDocumentation","src":"16781:184:67","text":"@notice Allows the token owner to burn their token\n @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n @param tokenId Token ID to burn"},"functionSelector":"42966c68","id":33548,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"16977:4:67","nodeType":"FunctionDefinition","overrides":{"id":33529,"nodeType":"OverrideSpecifier","overrides":[{"id":33528,"name":"ERC721BurnableUpgradeable","nameLocations":["17023:25:67"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"17023:25:67"}],"src":"17014:35:67"},"parameters":{"id":33527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33526,"mutability":"mutable","name":"tokenId","nameLocation":"16990:7:67","nodeType":"VariableDeclaration","scope":33548,"src":"16982:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33525,"name":"uint256","nodeType":"ElementaryTypeName","src":"16982:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16981:17:67"},"returnParameters":{"id":33530,"nodeType":"ParameterList","parameters":[],"src":"17050:0:67"},"scope":35081,"src":"16968:213:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33624,"nodeType":"Block","src":"17369:644:67","statements":[{"assignments":[33559],"declarations":[{"constant":false,"id":33559,"mutability":"mutable","name":"$","nameLocation":"17403:1:67","nodeType":"VariableDeclaration","scope":33624,"src":"17375:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33558,"nodeType":"UserDefinedTypeName","pathNode":{"id":33557,"name":"GalaxyMemberStorage","nameLocations":["17375:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"17375:19:67"},"referencedDeclaration":32839,"src":"17375:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33562,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33560,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"17407:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17407:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17375:57:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33565,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33552,"src":"17455:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33564,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"17447:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":33566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17447:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":33567,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17467:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17471:6:67","memberName":"sender","nodeType":"MemberAccess","src":"17467:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17447:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062792063616c6c6572","id":33570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17479:41:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""},"value":"GalaxyMember: token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""}],"id":33563,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17439:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17439:82:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33572,"nodeType":"ExpressionStatement","src":"17439:82:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33577,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33550,"src":"17574:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":33574,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33559,"src":"17542:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17544:14:67","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":32813,"src":"17542:16:67","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"id":33576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17559:14:67","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":32606,"src":"17542:31:67","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":33578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17542:44:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":33579,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17590:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17594:6:67","memberName":"sender","nodeType":"MemberAccess","src":"17590:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17542:58:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572","id":33582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17608:59:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller\""},"value":"GalaxyMember: vechain node not owned or managed by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller\""}],"id":33573,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17527:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17527:146:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33584,"nodeType":"ExpressionStatement","src":"17527:146:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33587,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33550,"src":"17707:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33586,"name":"getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34612,"src":"17687:19:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":33588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17687:32:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":33589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17723:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17687:37:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c726561647920617474616368656420746f206120746f6b656e","id":33591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17726:48:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""},"value":"GalaxyMember: node already attached to a token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""}],"id":33585,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17679:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17679:96:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33593,"nodeType":"ExpressionStatement","src":"17679:96:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33596,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33552,"src":"17807:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33595,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34627,"src":"17789:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":33597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17789:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":33598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17819:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17789:31:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c726561647920617474616368656420746f2061206e6f6465","id":33600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17822:48:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""},"value":"GalaxyMember: token already attached to a node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""}],"id":33594,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17781:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17781:90:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33602,"nodeType":"ExpressionStatement","src":"17781:90:67"},{"expression":{"id":33609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":33603,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33559,"src":"17878:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33606,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17880:14:67","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":32817,"src":"17878:16:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":33607,"indexExpression":{"id":33605,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33550,"src":"17895:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17878:29:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33608,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33552,"src":"17910:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17878:39:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33610,"nodeType":"ExpressionStatement","src":"17878:39:67"},{"expression":{"id":33617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":33611,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33559,"src":"17923:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17925:14:67","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":32821,"src":"17923:16:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":33615,"indexExpression":{"id":33613,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33552,"src":"17940:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17923:25:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33616,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33550,"src":"17951:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17923:39:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33618,"nodeType":"ExpressionStatement","src":"17923:39:67"},{"eventCall":{"arguments":[{"id":33620,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33550,"src":"17987:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33621,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33552,"src":"18000:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33619,"name":"NodeAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32914,"src":"17974:12:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":33622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17974:34:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33623,"nodeType":"EmitStatement","src":"17969:39:67"}]},"functionSelector":"88371110","id":33625,"implemented":true,"kind":"function","modifiers":[{"id":33555,"kind":"modifierInvocation","modifierName":{"id":33554,"name":"whenNotPaused","nameLocations":["17355:13:67"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"17355:13:67"},"nodeType":"ModifierInvocation","src":"17355:13:67"}],"name":"attachNode","nameLocation":"17291:10:67","nodeType":"FunctionDefinition","parameters":{"id":33553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33550,"mutability":"mutable","name":"nodeTokenId","nameLocation":"17310:11:67","nodeType":"VariableDeclaration","scope":33625,"src":"17302:19:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33549,"name":"uint256","nodeType":"ElementaryTypeName","src":"17302:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33552,"mutability":"mutable","name":"tokenId","nameLocation":"17331:7:67","nodeType":"VariableDeclaration","scope":33625,"src":"17323:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33551,"name":"uint256","nodeType":"ElementaryTypeName","src":"17323:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17301:38:67"},"returnParameters":{"id":33556,"nodeType":"ParameterList","parameters":[],"src":"17369:0:67"},"scope":35081,"src":"17282:731:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33703,"nodeType":"Block","src":"18104:692:67","statements":[{"assignments":[33636],"declarations":[{"constant":false,"id":33636,"mutability":"mutable","name":"$","nameLocation":"18138:1:67","nodeType":"VariableDeclaration","scope":33703,"src":"18110:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33635,"nodeType":"UserDefinedTypeName","pathNode":{"id":33634,"name":"GalaxyMemberStorage","nameLocations":["18110:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"18110:19:67"},"referencedDeclaration":32839,"src":"18110:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33639,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33637,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"18142:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18142:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18110:57:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33642,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33629,"src":"18197:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33641,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"18189:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":33643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18189:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":33644,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18209:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18213:6:67","memberName":"sender","nodeType":"MemberAccess","src":"18209:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18189:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33650,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33627,"src":"18263:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":33647,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33636,"src":"18231:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18233:14:67","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":32813,"src":"18231:16:67","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"id":33649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18248:14:67","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":32606,"src":"18231:31:67","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":33651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18231:44:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":33652,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18279:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18283:6:67","memberName":"sender","nodeType":"MemberAccess","src":"18279:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18231:58:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18189:100:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33659,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33627,"src":"18326:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":33656,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33636,"src":"18301:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18303:12:67","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":32810,"src":"18301:14:67","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":33658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18316:9:67","memberName":"idToOwner","nodeType":"MemberAccess","referencedDeclaration":73116,"src":"18301:24:67","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":33660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18301:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":33661,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18342:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18346:6:67","memberName":"sender","nodeType":"MemberAccess","src":"18342:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18301:51:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18189:163:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b656e206e6f74206f776e65642062792063616c6c6572","id":33665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18360:88:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\""},"value":"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\""}],"id":33640,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18174:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18174:280:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33667,"nodeType":"ExpressionStatement","src":"18174:280:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33670,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33627,"src":"18488:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33669,"name":"getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34612,"src":"18468:19:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":33671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18468:32:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":33672,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33629,"src":"18504:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18468:43:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420746f2074686520746f6b656e","id":33674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18513:46:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""},"value":"GalaxyMember: node not attached to the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""}],"id":33668,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18460:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18460:100:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33676,"nodeType":"ExpressionStatement","src":"18460:100:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":33679,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33629,"src":"18592:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33678,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34627,"src":"18574:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":33680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18574:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":33681,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33627,"src":"18604:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18574:41:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656420746f20746865206e6f6465","id":33683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18617:46:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""},"value":"GalaxyMember: token not attached to the node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""}],"id":33677,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18566:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18566:98:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33685,"nodeType":"ExpressionStatement","src":"18566:98:67"},{"expression":{"id":33690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"18671:36:67","subExpression":{"baseExpression":{"expression":{"id":33686,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33636,"src":"18678:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33687,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18680:14:67","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":32817,"src":"18678:16:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":33689,"indexExpression":{"id":33688,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33627,"src":"18695:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18678:29:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33691,"nodeType":"ExpressionStatement","src":"18671:36:67"},{"expression":{"id":33696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"18713:32:67","subExpression":{"baseExpression":{"expression":{"id":33692,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33636,"src":"18720:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33693,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18722:14:67","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":32821,"src":"18720:16:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":33695,"indexExpression":{"id":33694,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33629,"src":"18737:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18720:25:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33697,"nodeType":"ExpressionStatement","src":"18713:32:67"},{"eventCall":{"arguments":[{"id":33699,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33627,"src":"18770:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33700,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33629,"src":"18783:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33698,"name":"NodeDetached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32921,"src":"18757:12:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":33701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18757:34:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33702,"nodeType":"EmitStatement","src":"18752:39:67"}]},"functionSelector":"4a6565e1","id":33704,"implemented":true,"kind":"function","modifiers":[{"id":33632,"kind":"modifierInvocation","modifierName":{"id":33631,"name":"whenNotPaused","nameLocations":["18090:13:67"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"18090:13:67"},"nodeType":"ModifierInvocation","src":"18090:13:67"}],"name":"detachNode","nameLocation":"18026:10:67","nodeType":"FunctionDefinition","parameters":{"id":33630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33627,"mutability":"mutable","name":"nodeTokenId","nameLocation":"18045:11:67","nodeType":"VariableDeclaration","scope":33704,"src":"18037:19:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33626,"name":"uint256","nodeType":"ElementaryTypeName","src":"18037:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33629,"mutability":"mutable","name":"tokenId","nameLocation":"18066:7:67","nodeType":"VariableDeclaration","scope":33704,"src":"18058:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33628,"name":"uint256","nodeType":"ElementaryTypeName","src":"18058:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18036:38:67"},"returnParameters":{"id":33633,"nodeType":"ParameterList","parameters":[],"src":"18104:0:67"},"scope":35081,"src":"18017:779:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33727,"nodeType":"Block","src":"19106:137:67","statements":[{"assignments":[33712],"declarations":[{"constant":false,"id":33712,"mutability":"mutable","name":"$","nameLocation":"19140:1:67","nodeType":"VariableDeclaration","scope":33727,"src":"19112:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33711,"nodeType":"UserDefinedTypeName","pathNode":{"id":33710,"name":"GalaxyMemberStorage","nameLocations":["19112:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"19112:19:67"},"referencedDeclaration":32839,"src":"19112:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33715,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33713,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"19144:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19144:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19112:57:67"},{"assignments":[33717],"declarations":[{"constant":false,"id":33717,"mutability":"mutable","name":"tokenId","nameLocation":"19184:7:67","nodeType":"VariableDeclaration","scope":33727,"src":"19176:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33716,"name":"uint256","nodeType":"ElementaryTypeName","src":"19176:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":33721,"initialValue":{"id":33720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19194:16:67","subExpression":{"expression":{"id":33718,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33712,"src":"19194:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33719,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19196:12:67","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":32784,"src":"19194:14:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19176:34:67"},{"expression":{"arguments":[{"id":33723,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33707,"src":"19226:2:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33724,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33717,"src":"19230:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33722,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[2750,2776],"referencedDeclaration":2750,"src":"19216:9:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":33725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19216:22:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33726,"nodeType":"ExpressionStatement","src":"19216:22:67"}]},"documentation":{"id":33705,"nodeType":"StructuredDocumentation","src":"18852:204:67","text":"@notice Internal function to safely mint a token\n @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n @param to Address to mint the token to"},"id":33728,"implemented":true,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"19068:8:67","nodeType":"FunctionDefinition","parameters":{"id":33708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33707,"mutability":"mutable","name":"to","nameLocation":"19085:2:67","nodeType":"VariableDeclaration","scope":33728,"src":"19077:10:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33706,"name":"address","nodeType":"ElementaryTypeName","src":"19077:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19076:12:67"},"returnParameters":{"id":33709,"nodeType":"ParameterList","parameters":[],"src":"19106:0:67"},"scope":35081,"src":"19059:184:67","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":33789,"nodeType":"Block","src":"19487:568:67","statements":[{"assignments":[33739],"declarations":[{"constant":false,"id":33739,"mutability":"mutable","name":"$","nameLocation":"19521:1:67","nodeType":"VariableDeclaration","scope":33789,"src":"19493:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33738,"nodeType":"UserDefinedTypeName","pathNode":{"id":33737,"name":"GalaxyMemberStorage","nameLocations":["19493:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"19493:19:67"},"referencedDeclaration":32839,"src":"19493:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33742,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33740,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"19525:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19525:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19493:57:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33744,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33731,"src":"19565:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":33745,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33739,"src":"19573:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19575:9:67","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":32786,"src":"19573:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19565:19:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d7573742062652067726561746572207468616e207468652063757272656e74206d6178206c6576656c","id":33748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19586:69:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""},"value":"Galaxy Member: Max level must be greater than the current max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""}],"id":33743,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19557:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19557:99:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33750,"nodeType":"ExpressionStatement","src":"19557:99:67"},{"body":{"id":33771,"nodeType":"Block","src":"19749:195:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":33762,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33739,"src":"19765:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19767:21:67","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32794,"src":"19765:23:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":33765,"indexExpression":{"id":33764,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33752,"src":"19789:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19765:26:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":33766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19794:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19765:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b6564","id":33768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19797:68:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""},"value":"Galaxy Member: B3TR to upgrade must be set for all levels unlocked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""}],"id":33761,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19757:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19757:109:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33770,"nodeType":"ExpressionStatement","src":"19757:109:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33755,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33752,"src":"19732:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":33756,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33731,"src":"19737:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19732:10:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33772,"initializationExpression":{"assignments":[33752],"declarations":[{"constant":false,"id":33752,"mutability":"mutable","name":"i","nameLocation":"19725:1:67","nodeType":"VariableDeclaration","scope":33772,"src":"19717:9:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33751,"name":"uint256","nodeType":"ElementaryTypeName","src":"19717:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":33754,"initialValue":{"hexValue":"32","id":33753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19729:1:67","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"19717:13:67"},"loopExpression":{"expression":{"id":33759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19744:3:67","subExpression":{"id":33758,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33752,"src":"19744:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33760,"nodeType":"ExpressionStatement","src":"19744:3:67"},"nodeType":"ForStatement","src":"19712:232:67"},{"assignments":[33774],"declarations":[{"constant":false,"id":33774,"mutability":"mutable","name":"oldLevel","nameLocation":"19958:8:67","nodeType":"VariableDeclaration","scope":33789,"src":"19950:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33773,"name":"uint256","nodeType":"ElementaryTypeName","src":"19950:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":33777,"initialValue":{"expression":{"id":33775,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33739,"src":"19969:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19971:9:67","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":32786,"src":"19969:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19950:30:67"},{"expression":{"id":33782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33778,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33739,"src":"19987:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19989:9:67","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":32786,"src":"19987:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33781,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33731,"src":"20001:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19987:19:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33783,"nodeType":"ExpressionStatement","src":"19987:19:67"},{"eventCall":{"arguments":[{"id":33785,"name":"oldLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33774,"src":"20034:8:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33786,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33731,"src":"20044:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33784,"name":"MaxLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32875,"src":"20018:15:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":33787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20018:32:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33788,"nodeType":"EmitStatement","src":"20013:37:67"}]},"documentation":{"id":33729,"nodeType":"StructuredDocumentation","src":"19286:118:67","text":"@notice Sets the maximum level that tokens can be minted or upgraded to\n @dev Only callable by the admin role"},"functionSelector":"344f1ba5","id":33790,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33734,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"19467:18:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33735,"kind":"modifierInvocation","modifierName":{"id":33733,"name":"onlyRole","nameLocations":["19458:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"19458:8:67"},"nodeType":"ModifierInvocation","src":"19458:28:67"}],"name":"setMaxLevel","nameLocation":"19416:11:67","nodeType":"FunctionDefinition","parameters":{"id":33732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33731,"mutability":"mutable","name":"level","nameLocation":"19436:5:67","nodeType":"VariableDeclaration","scope":33790,"src":"19428:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33730,"name":"uint256","nodeType":"ElementaryTypeName","src":"19428:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19427:15:67"},"returnParameters":{"id":33736,"nodeType":"ParameterList","parameters":[],"src":"19487:0:67"},"scope":35081,"src":"19407:648:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33832,"nodeType":"Block","src":"20399:367:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33800,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33793,"src":"20413:21:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20446:1:67","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":33802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20438:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33801,"name":"address","nodeType":"ElementaryTypeName","src":"20438:7:67","typeDescriptions":{}}},"id":33804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20438:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20413:35:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":33806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20450:65:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""},"value":"Galaxy Member: _xAllocationsGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""}],"id":33799,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20405:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20405:111:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33808,"nodeType":"ExpressionStatement","src":"20405:111:67"},{"assignments":[33811],"declarations":[{"constant":false,"id":33811,"mutability":"mutable","name":"$","nameLocation":"20550:1:67","nodeType":"VariableDeclaration","scope":33832,"src":"20522:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33810,"nodeType":"UserDefinedTypeName","pathNode":{"id":33809,"name":"GalaxyMemberStorage","nameLocations":["20522:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"20522:19:67"},"referencedDeclaration":32839,"src":"20522:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33814,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33812,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"20554:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20554:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20522:57:67"},{"eventCall":{"arguments":[{"id":33816,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33793,"src":"20626:21:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":33819,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33811,"src":"20657:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20659:20:67","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":32772,"src":"20657:22:67","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":33818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20649:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33817,"name":"address","nodeType":"ElementaryTypeName","src":"20649:7:67","typeDescriptions":{}}},"id":33821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20649:31:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33815,"name":"XAllocationsGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32882,"src":"20591:34:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":33822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20591:90:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33823,"nodeType":"EmitStatement","src":"20586:95:67"},{"expression":{"id":33830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33824,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33811,"src":"20687:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33826,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20689:20:67","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":32772,"src":"20687:22:67","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":33828,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33793,"src":"20739:21:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33827,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"20712:26:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":33829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20712:49:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"20687:74:67","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":33831,"nodeType":"ExpressionStatement","src":"20687:74:67"}]},"documentation":{"id":33791,"nodeType":"StructuredDocumentation","src":"20059:202:67","text":"@notice Sets the XAllocationVotingGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _xAllocationsGovernor XAllocationVotingGovernor contract address"},"functionSelector":"3af03ea8","id":33833,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33796,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32763,"src":"20367:30:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33797,"kind":"modifierInvocation","modifierName":{"id":33795,"name":"onlyRole","nameLocations":["20358:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"20358:8:67"},"nodeType":"ModifierInvocation","src":"20358:40:67"}],"name":"setXAllocationsGovernorAddress","nameLocation":"20273:30:67","nodeType":"FunctionDefinition","parameters":{"id":33794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33793,"mutability":"mutable","name":"_xAllocationsGovernor","nameLocation":"20317:21:67","nodeType":"VariableDeclaration","scope":33833,"src":"20309:29:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33792,"name":"address","nodeType":"ElementaryTypeName","src":"20309:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20303:39:67"},"returnParameters":{"id":33798,"nodeType":"ParameterList","parameters":[],"src":"20399:0:67"},"scope":35081,"src":"20264:502:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33878,"nodeType":"Block","src":"21052:307:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33843,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33836,"src":"21066:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21091:1:67","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":33845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21083:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33844,"name":"address","nodeType":"ElementaryTypeName","src":"21083:7:67","typeDescriptions":{}}},"id":33847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21083:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21066:27:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":33849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21095:57:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""},"value":"Galaxy Member: _b3trGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""}],"id":33842,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21058:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21058:95:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33851,"nodeType":"ExpressionStatement","src":"21058:95:67"},{"assignments":[33854],"declarations":[{"constant":false,"id":33854,"mutability":"mutable","name":"$","nameLocation":"21187:1:67","nodeType":"VariableDeclaration","scope":33878,"src":"21159:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33853,"nodeType":"UserDefinedTypeName","pathNode":{"id":33852,"name":"GalaxyMemberStorage","nameLocations":["21159:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"21159:19:67"},"referencedDeclaration":32839,"src":"21159:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33857,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33855,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"21191:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21191:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21159:57:67"},{"eventCall":{"arguments":[{"id":33859,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33836,"src":"21255:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":33862,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33854,"src":"21278:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33863,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21280:12:67","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":32775,"src":"21278:14:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":33861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21270:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33860,"name":"address","nodeType":"ElementaryTypeName","src":"21270:7:67","typeDescriptions":{}}},"id":33864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21270:23:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":33858,"name":"B3trGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32889,"src":"21228:26:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":33865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21228:66:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33866,"nodeType":"EmitStatement","src":"21223:71:67"},{"expression":{"id":33876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33867,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33854,"src":"21300:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21302:12:67","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":32775,"src":"21300:14:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":33873,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33836,"src":"21339:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21331:8:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":33871,"name":"address","nodeType":"ElementaryTypeName","src":"21331:8:67","stateMutability":"payable","typeDescriptions":{}}},"id":33874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21331:22:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":33870,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"21317:13:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":33875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21317:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"21300:54:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":33877,"nodeType":"ExpressionStatement","src":"21300:54:67"}]},"documentation":{"id":33834,"nodeType":"StructuredDocumentation","src":"20770:168:67","text":"@notice Sets the B3TRGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _b3trGovernor B3TRGovernor contract address"},"functionSelector":"ddd8634d","id":33879,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33839,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32763,"src":"21020:30:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33840,"kind":"modifierInvocation","modifierName":{"id":33838,"name":"onlyRole","nameLocations":["21011:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21011:8:67"},"nodeType":"ModifierInvocation","src":"21011:40:67"}],"name":"setB3trGovernorAddress","nameLocation":"20950:22:67","nodeType":"FunctionDefinition","parameters":{"id":33837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33836,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"20981:13:67","nodeType":"VariableDeclaration","scope":33879,"src":"20973:21:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33835,"name":"address","nodeType":"ElementaryTypeName","src":"20973:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20972:23:67"},"returnParameters":{"id":33841,"nodeType":"ParameterList","parameters":[],"src":"21052:0:67"},"scope":35081,"src":"20941:418:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33917,"nodeType":"Block","src":"21606:244:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":33891,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33882,"src":"21626:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":33890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21620:5:67","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":33889,"name":"bytes","nodeType":"ElementaryTypeName","src":"21620:5:67","typeDescriptions":{}}},"id":33892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21620:19:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":33893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21640:6:67","memberName":"length","nodeType":"MemberAccess","src":"21620:26:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":33894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21649:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21620:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520736574","id":33896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21652:37:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""},"value":"Galaxy Member: Base URI must be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""}],"id":33888,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21612:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21612:78:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33898,"nodeType":"ExpressionStatement","src":"21612:78:67"},{"assignments":[33901],"declarations":[{"constant":false,"id":33901,"mutability":"mutable","name":"$","nameLocation":"21724:1:67","nodeType":"VariableDeclaration","scope":33917,"src":"21696:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33900,"nodeType":"UserDefinedTypeName","pathNode":{"id":33899,"name":"GalaxyMemberStorage","nameLocations":["21696:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"21696:19:67"},"referencedDeclaration":32839,"src":"21696:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33904,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33902,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"21728:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21728:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21696:57:67"},{"eventCall":{"arguments":[{"id":33906,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33882,"src":"21779:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":33907,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33901,"src":"21793:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21795:13:67","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":32782,"src":"21793:15:67","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":33905,"name":"BaseURIUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32896,"src":"21764:14:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":33909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21764:45:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33910,"nodeType":"EmitStatement","src":"21759:50:67"},{"expression":{"id":33915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33911,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33901,"src":"21815:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21817:13:67","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":32782,"src":"21815:15:67","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33914,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33882,"src":"21833:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"21815:30:67","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":33916,"nodeType":"ExpressionStatement","src":"21815:30:67"}]},"documentation":{"id":33880,"nodeType":"StructuredDocumentation","src":"21363:148:67","text":"@notice Sets the base URI for computing the tokenURI\n @dev Only callable by the admin role\n @param baseTokenURI Base URI for the Token"},"functionSelector":"55f804b3","id":33918,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33885,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"21586:18:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33886,"kind":"modifierInvocation","modifierName":{"id":33884,"name":"onlyRole","nameLocations":["21577:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21577:8:67"},"nodeType":"ModifierInvocation","src":"21577:28:67"}],"name":"setBaseURI","nameLocation":"21523:10:67","nodeType":"FunctionDefinition","parameters":{"id":33883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33882,"mutability":"mutable","name":"baseTokenURI","nameLocation":"21548:12:67","nodeType":"VariableDeclaration","scope":33918,"src":"21534:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33881,"name":"string","nodeType":"ElementaryTypeName","src":"21534:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21533:28:67"},"returnParameters":{"id":33887,"nodeType":"ParameterList","parameters":[],"src":"21606:0:67"},"scope":35081,"src":"21514:336:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33971,"nodeType":"Block","src":"22158:404:67","statements":[{"assignments":[33930],"declarations":[{"constant":false,"id":33930,"mutability":"mutable","name":"$","nameLocation":"22192:1:67","nodeType":"VariableDeclaration","scope":33971,"src":"22164:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33929,"nodeType":"UserDefinedTypeName","pathNode":{"id":33928,"name":"GalaxyMemberStorage","nameLocations":["22164:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"22164:19:67"},"referencedDeclaration":32839,"src":"22164:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33933,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33931,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"22196:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22196:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22164:57:67"},{"body":{"id":33965,"nodeType":"Block","src":"22281:217:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":33945,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33922,"src":"22297:20:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33947,"indexExpression":{"id":33946,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33935,"src":"22318:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22297:23:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":33948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22323:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22297:27:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652067726561746572207468616e2030","id":33950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22326:55:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""},"value":"Galaxy Member: B3TR to upgrade must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""}],"id":33944,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22289:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22289:93:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33952,"nodeType":"ExpressionStatement","src":"22289:93:67"},{"expression":{"id":33963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":33953,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33930,"src":"22390:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22392:21:67","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32794,"src":"22390:23:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":33959,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33955,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33935,"src":"22414:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":33956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22418:1:67","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"22414:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22390:30:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":33960,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33922,"src":"22423:20:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33962,"indexExpression":{"id":33961,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33935,"src":"22444:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22423:23:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22390:56:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33964,"nodeType":"ExpressionStatement","src":"22390:56:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33937,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33935,"src":"22243:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":33938,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33922,"src":"22247:20:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":33939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22268:6:67","memberName":"length","nodeType":"MemberAccess","src":"22247:27:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22243:31:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33966,"initializationExpression":{"assignments":[33935],"declarations":[{"constant":false,"id":33935,"mutability":"mutable","name":"i","nameLocation":"22240:1:67","nodeType":"VariableDeclaration","scope":33966,"src":"22232:9:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33934,"name":"uint256","nodeType":"ElementaryTypeName","src":"22232:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":33936,"nodeType":"VariableDeclarationStatement","src":"22232:9:67"},"loopExpression":{"expression":{"id":33942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"22276:3:67","subExpression":{"id":33941,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33935,"src":"22276:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33943,"nodeType":"ExpressionStatement","src":"22276:3:67"},"nodeType":"ForStatement","src":"22227:271:67"},{"eventCall":{"arguments":[{"id":33968,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33922,"src":"22536:20:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":33967,"name":"B3TRtoUpgradeToLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32902,"src":"22508:27:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory)"}},"id":33969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22508:49:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33970,"nodeType":"EmitStatement","src":"22503:54:67"}]},"documentation":{"id":33919,"nodeType":"StructuredDocumentation","src":"21854:185:67","text":"@notice Sets the amount of B3TR required to upgrade to each level\n @dev Only callable by the admin role\n @param b3trToUpgradeToLevel Mapping of B3TR requirements per level"},"functionSelector":"b1ccbd2c","id":33972,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33925,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"22138:18:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33926,"kind":"modifierInvocation","modifierName":{"id":33924,"name":"onlyRole","nameLocations":["22129:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22129:8:67"},"nodeType":"ModifierInvocation","src":"22129:28:67"}],"name":"setB3TRtoUpgradeToLevel","nameLocation":"22051:23:67","nodeType":"FunctionDefinition","parameters":{"id":33923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33922,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"22092:20:67","nodeType":"VariableDeclaration","scope":33972,"src":"22075:37:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":33920,"name":"uint256","nodeType":"ElementaryTypeName","src":"22075:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33921,"nodeType":"ArrayTypeName","src":"22075:9:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"22074:39:67"},"returnParameters":{"id":33927,"nodeType":"ParameterList","parameters":[],"src":"22158:0:67"},"scope":35081,"src":"22042:520:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":33997,"nodeType":"Block","src":"22800:148:67","statements":[{"assignments":[33983],"declarations":[{"constant":false,"id":33983,"mutability":"mutable","name":"$","nameLocation":"22834:1:67","nodeType":"VariableDeclaration","scope":33997,"src":"22806:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":33982,"nodeType":"UserDefinedTypeName","pathNode":{"id":33981,"name":"GalaxyMemberStorage","nameLocations":["22806:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"22806:19:67"},"referencedDeclaration":32839,"src":"22806:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":33986,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":33984,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"22838:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":33985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22838:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22806:57:67"},{"eventCall":{"arguments":[{"id":33988,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33975,"src":"22894:8:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":33987,"name":"PublicMintingPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32907,"src":"22874:19:67","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":33989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22874:29:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33990,"nodeType":"EmitStatement","src":"22869:34:67"},{"expression":{"id":33995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":33991,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33983,"src":"22909:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":33993,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22911:21:67","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":32807,"src":"22909:23:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33994,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33975,"src":"22935:8:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22909:34:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33996,"nodeType":"ExpressionStatement","src":"22909:34:67"}]},"documentation":{"id":33973,"nodeType":"StructuredDocumentation","src":"22566:138:67","text":"@notice Pauses public minting\n @dev Only callable by the admin role\n @param isPaused Flag to pause or unpause public minting"},"functionSelector":"5b5da514","id":33998,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":33978,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"22780:18:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":33979,"kind":"modifierInvocation","modifierName":{"id":33977,"name":"onlyRole","nameLocations":["22771:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22771:8:67"},"nodeType":"ModifierInvocation","src":"22771:28:67"}],"name":"setIsPublicMintingPaused","nameLocation":"22716:24:67","nodeType":"FunctionDefinition","parameters":{"id":33976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33975,"mutability":"mutable","name":"isPaused","nameLocation":"22746:8:67","nodeType":"VariableDeclaration","scope":33998,"src":"22741:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33974,"name":"bool","nodeType":"ElementaryTypeName","src":"22741:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22740:15:67"},"returnParameters":{"id":33980,"nodeType":"ParameterList","parameters":[],"src":"22800:0:67"},"scope":35081,"src":"22707:241:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":34031,"nodeType":"Block","src":"23156:219:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":34013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34008,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34001,"src":"23170:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":34011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23195:1:67","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":34010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23187:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34009,"name":"address","nodeType":"ElementaryTypeName","src":"23187:7:67","typeDescriptions":{}}},"id":34012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23187:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23170:27:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6f7420626520746865207a65726f2061646472657373","id":34014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23199:56:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""},"value":"GalaxyMember: _vechainNodes cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""}],"id":34007,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23162:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23162:94:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34016,"nodeType":"ExpressionStatement","src":"23162:94:67"},{"assignments":[34019],"declarations":[{"constant":false,"id":34019,"mutability":"mutable","name":"$","nameLocation":"23290:1:67","nodeType":"VariableDeclaration","scope":34031,"src":"23262:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34018,"nodeType":"UserDefinedTypeName","pathNode":{"id":34017,"name":"GalaxyMemberStorage","nameLocations":["23262:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"23262:19:67"},"referencedDeclaration":32839,"src":"23262:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34022,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34020,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"23294:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23294:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"23262:57:67"},{"expression":{"id":34029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":34023,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34019,"src":"23325:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34025,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"23327:12:67","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":32810,"src":"23325:14:67","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":34027,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34001,"src":"23356:13:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34026,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"23342:13:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITokenAuction_$73165_$","typeString":"type(contract ITokenAuction)"}},"id":34028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23342:28:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"src":"23325:45:67","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":34030,"nodeType":"ExpressionStatement","src":"23325:45:67"}]},"documentation":{"id":33999,"nodeType":"StructuredDocumentation","src":"22952:109:67","text":"@notice Sets the Vechain Nodes contract address\n @param _vechainNodes Vechain Nodes contract address"},"functionSelector":"5ffaa59a","id":34032,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":34004,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32768,"src":"23136:18:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":34005,"kind":"modifierInvocation","modifierName":{"id":34003,"name":"onlyRole","nameLocations":["23127:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"23127:8:67"},"nodeType":"ModifierInvocation","src":"23127:28:67"}],"name":"setVechainNodes","nameLocation":"23073:15:67","nodeType":"FunctionDefinition","parameters":{"id":34002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34001,"mutability":"mutable","name":"_vechainNodes","nameLocation":"23097:13:67","nodeType":"VariableDeclaration","scope":34032,"src":"23089:21:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34000,"name":"address","nodeType":"ElementaryTypeName","src":"23089:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23088:23:67"},"returnParameters":{"id":34006,"nodeType":"ParameterList","parameters":[],"src":"23156:0:67"},"scope":35081,"src":"23064:311:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":34079,"nodeType":"Block","src":"23724:340:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34044,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34037,"src":"23738:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":34045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23747:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"23738:10:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","id":34047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23750:29:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""},"value":"GalaxyMember: invalid level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""}],"id":34043,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23730:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23730:50:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34049,"nodeType":"ExpressionStatement","src":"23730:50:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":34053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34051,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34035,"src":"23794:9:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":34052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23807:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"23794:14:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","id":34054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23810:34:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""},"value":"GalaxyMember: invalid node level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""}],"id":34050,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23786:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23786:59:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34056,"nodeType":"ExpressionStatement","src":"23786:59:67"},{"assignments":[34059],"declarations":[{"constant":false,"id":34059,"mutability":"mutable","name":"$","nameLocation":"23880:1:67","nodeType":"VariableDeclaration","scope":34079,"src":"23852:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34058,"nodeType":"UserDefinedTypeName","pathNode":{"id":34057,"name":"GalaxyMemberStorage","nameLocations":["23852:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"23852:19:67"},"referencedDeclaration":32839,"src":"23852:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34062,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34060,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"23884:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23884:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"23852:57:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34064,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34037,"src":"23924:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":34065,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34059,"src":"23933:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34066,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23935:9:67","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":32786,"src":"23933:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23924:20:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373207468616e206f7220657175616c20746f204d41585f4c4556454c","id":34068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23946:61:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""},"value":"GalaxyMember: level must be less than or equal to MAX_LEVEL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""}],"id":34063,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23916:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23916:92:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34070,"nodeType":"ExpressionStatement","src":"23916:92:67"},{"expression":{"id":34077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":34071,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34059,"src":"24015:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24017:23:67","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":32825,"src":"24015:25:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":34075,"indexExpression":{"id":34073,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34035,"src":"24041:9:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24015:36:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":34076,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34037,"src":"24054:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24015:44:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34078,"nodeType":"ExpressionStatement","src":"24015:44:67"}]},"documentation":{"id":34033,"nodeType":"StructuredDocumentation","src":"23379:231:67","text":"@notice Sets the treasury contract address\n @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n @param level new free upgrade level"},"functionSelector":"001db0dd","id":34080,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":34040,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32768,"src":"23704:18:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":34041,"kind":"modifierInvocation","modifierName":{"id":34039,"name":"onlyRole","nameLocations":["23695:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"23695:8:67"},"nodeType":"ModifierInvocation","src":"23695:28:67"}],"name":"setNodeToFreeUpgradeLevel","nameLocation":"23622:25:67","nodeType":"FunctionDefinition","parameters":{"id":34038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34035,"mutability":"mutable","name":"nodeLevel","nameLocation":"23654:9:67","nodeType":"VariableDeclaration","scope":34080,"src":"23648:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":34034,"name":"uint8","nodeType":"ElementaryTypeName","src":"23648:5:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":34037,"mutability":"mutable","name":"level","nameLocation":"23673:5:67","nodeType":"VariableDeclaration","scope":34080,"src":"23665:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34036,"name":"uint256","nodeType":"ElementaryTypeName","src":"23665:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23647:32:67"},"returnParameters":{"id":34042,"nodeType":"ParameterList","parameters":[],"src":"23724:0:67"},"scope":35081,"src":"23613:451:67","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":34103,"nodeType":"Block","src":"24263:139:67","statements":[{"assignments":[34089],"declarations":[{"constant":false,"id":34089,"mutability":"mutable","name":"nodeId","nameLocation":"24277:6:67","nodeType":"VariableDeclaration","scope":34103,"src":"24269:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34088,"name":"uint256","nodeType":"ElementaryTypeName","src":"24269:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34093,"initialValue":{"arguments":[{"id":34091,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34083,"src":"24304:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34090,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34627,"src":"24286:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":34092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24286:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24269:43:67"},{"assignments":[34095,null],"declarations":[{"constant":false,"id":34095,"mutability":"mutable","name":"level","nameLocation":"24328:5:67","nodeType":"VariableDeclaration","scope":34103,"src":"24320:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34094,"name":"uint256","nodeType":"ElementaryTypeName","src":"24320:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":34100,"initialValue":{"arguments":[{"id":34097,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34083,"src":"24362:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":34098,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34089,"src":"24371:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34096,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34268,"src":"24339:22:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":34099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24339:39:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24319:59:67"},{"expression":{"id":34101,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34095,"src":"24392:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34087,"id":34102,"nodeType":"Return","src":"24385:12:67"}]},"documentation":{"id":34081,"nodeType":"StructuredDocumentation","src":"24107:81:67","text":"@notice Gets the level of the GM token\n @param tokenId Token ID to check"},"functionSelector":"6d5e3032","id":34104,"implemented":true,"kind":"function","modifiers":[],"name":"levelOf","nameLocation":"24200:7:67","nodeType":"FunctionDefinition","parameters":{"id":34084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34083,"mutability":"mutable","name":"tokenId","nameLocation":"24216:7:67","nodeType":"VariableDeclaration","scope":34104,"src":"24208:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34082,"name":"uint256","nodeType":"ElementaryTypeName","src":"24208:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24207:17:67"},"returnParameters":{"id":34087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34086,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34104,"src":"24254:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34085,"name":"uint256","nodeType":"ElementaryTypeName","src":"24254:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24253:9:67"},"scope":35081,"src":"24191:211:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34154,"nodeType":"Block","src":"24592:610:67","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":34119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":34113,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34107,"src":"24611:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34112,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"24602:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":34114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24602:17:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":34117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24631:1:67","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":34116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24623:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34115,"name":"address","nodeType":"ElementaryTypeName","src":"24623:7:67","typeDescriptions":{}}},"id":34118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24623:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24602:31:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34122,"nodeType":"IfStatement","src":"24598:45:67","trueBody":{"expression":{"hexValue":"30","id":34120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24642:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":34111,"id":34121,"nodeType":"Return","src":"24635:8:67"}},{"assignments":[34124],"declarations":[{"constant":false,"id":34124,"mutability":"mutable","name":"nodeId","nameLocation":"24658:6:67","nodeType":"VariableDeclaration","scope":34154,"src":"24650:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34123,"name":"uint256","nodeType":"ElementaryTypeName","src":"24650:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34128,"initialValue":{"arguments":[{"id":34126,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34107,"src":"24685:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34125,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34627,"src":"24667:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":34127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24667:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24650:43:67"},{"assignments":[34130,34132],"declarations":[{"constant":false,"id":34130,"mutability":"mutable","name":"currentLevel","nameLocation":"24780:12:67","nodeType":"VariableDeclaration","scope":34154,"src":"24772:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34129,"name":"uint256","nodeType":"ElementaryTypeName","src":"24772:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34132,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"24802:15:67","nodeType":"VariableDeclaration","scope":34154,"src":"24794:23:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34131,"name":"uint256","nodeType":"ElementaryTypeName","src":"24794:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34137,"initialValue":{"arguments":[{"id":34134,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34107,"src":"24844:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":34135,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34124,"src":"24853:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34133,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34268,"src":"24821:22:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":34136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24821:39:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24771:89:67"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34138,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34130,"src":"24926:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":34139,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34597,"src":"24942:9:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":34140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24942:11:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24926:27:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34145,"nodeType":"IfStatement","src":"24922:56:67","trueBody":{"id":34144,"nodeType":"Block","src":"24955:23:67","statements":[{"expression":{"hexValue":"30","id":34142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24970:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":34111,"id":34143,"nodeType":"Return","src":"24963:8:67"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34147,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34130,"src":"25162:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":34148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25177:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25162:16:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34146,"name":"getB3TRtoUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34469,"src":"25138:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":34150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25138:41:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":34151,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34132,"src":"25182:15:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25138:59:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34111,"id":34153,"nodeType":"Return","src":"25131:66:67"}]},"documentation":{"id":34105,"nodeType":"StructuredDocumentation","src":"24406:102:67","text":"@notice Gets the B3TR required to upgrade to the next level\n @param tokenId Token ID to check"},"functionSelector":"a51d2e0b","id":34155,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgrade","nameLocation":"24520:16:67","nodeType":"FunctionDefinition","parameters":{"id":34108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34107,"mutability":"mutable","name":"tokenId","nameLocation":"24545:7:67","nodeType":"VariableDeclaration","scope":34155,"src":"24537:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34106,"name":"uint256","nodeType":"ElementaryTypeName","src":"24537:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24536:17:67"},"returnParameters":{"id":34111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34155,"src":"24583:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34109,"name":"uint256","nodeType":"ElementaryTypeName","src":"24583:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24582:9:67"},"scope":35081,"src":"24511:691:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34267,"nodeType":"Block","src":"25547:1637:67","statements":[{"assignments":[34169],"declarations":[{"constant":false,"id":34169,"mutability":"mutable","name":"$","nameLocation":"25581:1:67","nodeType":"VariableDeclaration","scope":34267,"src":"25553:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34168,"nodeType":"UserDefinedTypeName","pathNode":{"id":34167,"name":"GalaxyMemberStorage","nameLocations":["25553:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"25553:19:67"},"referencedDeclaration":32839,"src":"25553:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34172,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34170,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"25585:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25585:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"25553:57:67"},{"assignments":[34174],"declarations":[{"constant":false,"id":34174,"mutability":"mutable","name":"level","nameLocation":"25725:5:67","nodeType":"VariableDeclaration","scope":34267,"src":"25717:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34173,"name":"uint256","nodeType":"ElementaryTypeName","src":"25717:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34176,"initialValue":{"hexValue":"31","id":34175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25733:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"25717:17:67"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":34189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34177,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34160,"src":"25825:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":34178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25835:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25825:11:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":34188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":34183,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34160,"src":"25872:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":34180,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34169,"src":"25840:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25842:14:67","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":32813,"src":"25840:16:67","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"id":34182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25857:14:67","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":32606,"src":"25840:31:67","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":34184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25840:39:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":34186,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34158,"src":"25891:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34185,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"25883:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":34187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25883:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25840:59:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25825:74:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34219,"nodeType":"IfStatement","src":"25821:652:67","trueBody":{"id":34218,"nodeType":"Block","src":"25901:572:67","statements":[{"assignments":[34191],"declarations":[{"constant":false,"id":34191,"mutability":"mutable","name":"nodeLevel","nameLocation":"26025:9:67","nodeType":"VariableDeclaration","scope":34218,"src":"26019:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":34190,"name":"uint8","nodeType":"ElementaryTypeName","src":"26019:5:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":34195,"initialValue":{"arguments":[{"id":34193,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34160,"src":"26052:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34192,"name":"getNodeLevelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34293,"src":"26037:14:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":34194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26037:22:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"26019:40:67"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":34198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34196,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34191,"src":"26121:9:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":34197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26134:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26121:14:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34217,"nodeType":"IfStatement","src":"26117:350:67","trueBody":{"id":34216,"nodeType":"Block","src":"26137:330:67","statements":[{"assignments":[34200],"declarations":[{"constant":false,"id":34200,"mutability":"mutable","name":"nodeToFreeLevel","nameLocation":"26223:15:67","nodeType":"VariableDeclaration","scope":34216,"src":"26215:23:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34199,"name":"uint256","nodeType":"ElementaryTypeName","src":"26215:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34204,"initialValue":{"arguments":[{"id":34202,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34191,"src":"26260:9:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":34201,"name":"getNodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34642,"src":"26241:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":34203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26241:29:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26215:55:67"},{"expression":{"id":34214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":34205,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34174,"src":"26388:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34206,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34200,"src":"26396:15:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":34207,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34169,"src":"26415:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26417:9:67","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":32786,"src":"26415:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26396:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":34211,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34169,"src":"26447:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26449:9:67","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":32786,"src":"26447:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26396:62:67","trueExpression":{"id":34210,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34200,"src":"26429:15:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26388:70:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34215,"nodeType":"ExpressionStatement","src":"26388:70:67"}]}}]}},{"assignments":[34221],"declarations":[{"constant":false,"id":34221,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"26583:15:67","nodeType":"VariableDeclaration","scope":34267,"src":"26575:23:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34220,"name":"uint256","nodeType":"ElementaryTypeName","src":"26575:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34226,"initialValue":{"baseExpression":{"expression":{"id":34222,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34169,"src":"26601:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26603:21:67","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":32829,"src":"26601:23:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":34225,"indexExpression":{"id":34224,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34158,"src":"26625:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26601:32:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26575:58:67"},{"body":{"id":34261,"nodeType":"Block","src":"26823:268:67","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34240,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34221,"src":"26835:15:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"baseExpression":{"expression":{"id":34241,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34169,"src":"26854:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26856:21:67","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32794,"src":"26854:23:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":34244,"indexExpression":{"id":34243,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34228,"src":"26878:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26854:26:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26835:45:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":34259,"nodeType":"Block","src":"26971:114:67","statements":[{"id":34258,"nodeType":"Break","src":"27071:5:67"}]},"id":34260,"nodeType":"IfStatement","src":"26831:254:67","trueBody":{"id":34257,"nodeType":"Block","src":"26882:83:67","statements":[{"expression":{"id":34248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":34246,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34174,"src":"26892:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":34247,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34228,"src":"26900:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26892:9:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34249,"nodeType":"ExpressionStatement","src":"26892:9:67"},{"expression":{"id":34255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":34250,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34221,"src":"26911:15:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"baseExpression":{"expression":{"id":34251,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34169,"src":"26930:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26932:21:67","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32794,"src":"26930:23:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":34254,"indexExpression":{"id":34253,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34228,"src":"26954:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26930:26:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26911:45:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34256,"nodeType":"ExpressionStatement","src":"26911:45:67"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34233,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34228,"src":"26800:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":34234,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34169,"src":"26805:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26807:9:67","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":32786,"src":"26805:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26800:16:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34262,"initializationExpression":{"assignments":[34228],"declarations":[{"constant":false,"id":34228,"mutability":"mutable","name":"i","nameLocation":"26785:1:67","nodeType":"VariableDeclaration","scope":34262,"src":"26777:9:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34227,"name":"uint256","nodeType":"ElementaryTypeName","src":"26777:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34232,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34229,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34174,"src":"26789:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":34230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26797:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"26789:9:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26777:21:67"},"loopExpression":{"expression":{"id":34238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"26818:3:67","subExpression":{"id":34237,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34228,"src":"26818:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34239,"nodeType":"ExpressionStatement","src":"26818:3:67"},"nodeType":"ForStatement","src":"26772:319:67"},{"expression":{"components":[{"id":34263,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34174,"src":"27156:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":34264,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34221,"src":"27163:15:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":34265,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"27155:24:67","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"functionReturnParameters":34166,"id":34266,"nodeType":"Return","src":"27148:31:67"}]},"documentation":{"id":34156,"nodeType":"StructuredDocumentation","src":"25206:224:67","text":"@notice Gets the level of the GM token and the B3TR Donated left to upgrade\n @param tokenId Token ID to check\n @return level The level of the token\n @return b3trDonatedLeft The B3TR donated left to upgrade"},"id":34268,"implemented":true,"kind":"function","modifiers":[],"name":"_getLevelOfAndB3TRleft","nameLocation":"25442:22:67","nodeType":"FunctionDefinition","parameters":{"id":34161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34158,"mutability":"mutable","name":"tokenId","nameLocation":"25473:7:67","nodeType":"VariableDeclaration","scope":34268,"src":"25465:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34157,"name":"uint256","nodeType":"ElementaryTypeName","src":"25465:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34160,"mutability":"mutable","name":"nodeId","nameLocation":"25490:6:67","nodeType":"VariableDeclaration","scope":34268,"src":"25482:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34159,"name":"uint256","nodeType":"ElementaryTypeName","src":"25482:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25464:33:67"},"returnParameters":{"id":34166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34268,"src":"25529:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34162,"name":"uint256","nodeType":"ElementaryTypeName","src":"25529:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34268,"src":"25538:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34164,"name":"uint256","nodeType":"ElementaryTypeName","src":"25538:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25528:18:67"},"scope":35081,"src":"25433:1751:67","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":34292,"nodeType":"Block","src":"27364:164:67","statements":[{"assignments":[34278],"declarations":[{"constant":false,"id":34278,"mutability":"mutable","name":"$","nameLocation":"27398:1:67","nodeType":"VariableDeclaration","scope":34292,"src":"27370:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34277,"nodeType":"UserDefinedTypeName","pathNode":{"id":34276,"name":"GalaxyMemberStorage","nameLocations":["27370:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"27370:19:67"},"referencedDeclaration":32839,"src":"27370:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34281,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34279,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"27402:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27402:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"27370:57:67"},{"assignments":[null,34283,null,null,null,null,null],"declarations":[null,{"constant":false,"id":34283,"mutability":"mutable","name":"nodeLevel","nameLocation":"27443:9:67","nodeType":"VariableDeclaration","scope":34292,"src":"27437:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":34282,"name":"uint8","nodeType":"ElementaryTypeName","src":"27437:5:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},null,null,null,null,null],"id":34289,"initialValue":{"arguments":[{"id":34287,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34271,"src":"27493:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":34284,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34278,"src":"27466:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27468:12:67","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":32810,"src":"27466:14:67","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":34286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27481:11:67","memberName":"getMetadata","nodeType":"MemberAccess","referencedDeclaration":73069,"src":"27466:26:67","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_uint8_$_t_bool_$_t_bool_$_t_uint64_$_t_uint64_$_t_uint64_$","typeString":"function (uint256) view external returns (address,uint8,bool,bool,uint64,uint64,uint64)"}},"id":34288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27466:34:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint8_$_t_bool_$_t_bool_$_t_uint64_$_t_uint64_$_t_uint64_$","typeString":"tuple(address,uint8,bool,bool,uint64,uint64,uint64)"}},"nodeType":"VariableDeclarationStatement","src":"27434:66:67"},{"expression":{"id":34290,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34283,"src":"27514:9:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":34275,"id":34291,"nodeType":"Return","src":"27507:16:67"}]},"documentation":{"id":34269,"nodeType":"StructuredDocumentation","src":"27188:97:67","text":"@notice Gets the strength level of the Vechain node\n @param nodeId Vechain Node Token ID"},"functionSelector":"3ff453af","id":34293,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeLevelOf","nameLocation":"27297:14:67","nodeType":"FunctionDefinition","parameters":{"id":34272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34271,"mutability":"mutable","name":"nodeId","nameLocation":"27320:6:67","nodeType":"VariableDeclaration","scope":34293,"src":"27312:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34270,"name":"uint256","nodeType":"ElementaryTypeName","src":"27312:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27311:16:67"},"returnParameters":{"id":34275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34293,"src":"27357:5:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":34273,"name":"uint8","nodeType":"ElementaryTypeName","src":"27357:5:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"27356:7:67"},"scope":35081,"src":"27288:240:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34314,"nodeType":"Block","src":"27720:126:67","statements":[{"assignments":[34303],"declarations":[{"constant":false,"id":34303,"mutability":"mutable","name":"$","nameLocation":"27754:1:67","nodeType":"VariableDeclaration","scope":34314,"src":"27726:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34302,"nodeType":"UserDefinedTypeName","pathNode":{"id":34301,"name":"GalaxyMemberStorage","nameLocations":["27726:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"27726:19:67"},"referencedDeclaration":32839,"src":"27726:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34306,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34304,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"27758:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27758:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"27726:57:67"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":34307,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34303,"src":"27796:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27798:27:67","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":32838,"src":"27796:29:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":34310,"indexExpression":{"id":34309,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34296,"src":"27826:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27796:36:67","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":34311,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27833:6:67","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"27796:43:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":34312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27796:45:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":34300,"id":34313,"nodeType":"Return","src":"27789:52:67"}]},"documentation":{"id":34294,"nodeType":"StructuredDocumentation","src":"27532:104:67","text":"@notice Gets the selected token ID for the user\n @param owner The address of the owner to check"},"functionSelector":"d206885d","id":34315,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenId","nameLocation":"27648:18:67","nodeType":"FunctionDefinition","parameters":{"id":34297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34296,"mutability":"mutable","name":"owner","nameLocation":"27675:5:67","nodeType":"VariableDeclaration","scope":34315,"src":"27667:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34295,"name":"address","nodeType":"ElementaryTypeName","src":"27667:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27666:15:67"},"returnParameters":{"id":34300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34315,"src":"27711:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34298,"name":"uint256","nodeType":"ElementaryTypeName","src":"27711:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27710:9:67"},"scope":35081,"src":"27639:207:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34339,"nodeType":"Block","src":"28143:148:67","statements":[{"assignments":[34327],"declarations":[{"constant":false,"id":34327,"mutability":"mutable","name":"$","nameLocation":"28177:1:67","nodeType":"VariableDeclaration","scope":34339,"src":"28149:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34326,"nodeType":"UserDefinedTypeName","pathNode":{"id":34325,"name":"GalaxyMemberStorage","nameLocations":["28149:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"28149:19:67"},"referencedDeclaration":32839,"src":"28149:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34330,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34328,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"28181:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28181:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28149:57:67"},{"expression":{"arguments":[{"id":34336,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34320,"src":"28274:11:67","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":34331,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34327,"src":"28219:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28221:27:67","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":32838,"src":"28219:29:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":34334,"indexExpression":{"id":34333,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34318,"src":"28249:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28219:36:67","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":34335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28256:17:67","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"28219:54:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":34337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28219:67:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":34324,"id":34338,"nodeType":"Return","src":"28212:74:67"}]},"documentation":{"id":34316,"nodeType":"StructuredDocumentation","src":"27850:182:67","text":"@notice Gets the selected token ID for the user in a specific block number\n @param owner The address of the owner to check\n @param blockNumber The block number to check"},"functionSelector":"3c60f55d","id":34340,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenIdAtBlock","nameLocation":"28044:25:67","nodeType":"FunctionDefinition","parameters":{"id":34321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34318,"mutability":"mutable","name":"owner","nameLocation":"28078:5:67","nodeType":"VariableDeclaration","scope":34340,"src":"28070:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34317,"name":"address","nodeType":"ElementaryTypeName","src":"28070:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34320,"mutability":"mutable","name":"blockNumber","nameLocation":"28092:11:67","nodeType":"VariableDeclaration","scope":34340,"src":"28085:18:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":34319,"name":"uint48","nodeType":"ElementaryTypeName","src":"28085:6:67","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"28069:35:67"},"returnParameters":{"id":34324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34340,"src":"28134:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34322,"name":"uint256","nodeType":"ElementaryTypeName","src":"28134:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28133:9:67"},"scope":35081,"src":"28035:256:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34359,"nodeType":"Block","src":"28556:94:67","statements":[{"assignments":[34351,null],"declarations":[{"constant":false,"id":34351,"mutability":"mutable","name":"level","nameLocation":"28571:5:67","nodeType":"VariableDeclaration","scope":34359,"src":"28563:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34350,"name":"uint256","nodeType":"ElementaryTypeName","src":"28563:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":34356,"initialValue":{"arguments":[{"id":34353,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34343,"src":"28605:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":34354,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34345,"src":"28614:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34352,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34268,"src":"28582:22:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":34355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28582:44:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"28562:64:67"},{"expression":{"id":34357,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34351,"src":"28640:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34349,"id":34358,"nodeType":"Return","src":"28633:12:67"}]},"documentation":{"id":34341,"nodeType":"StructuredDocumentation","src":"28295:146:67","text":"@notice Gets the level of the token after attaching a node\n @param tokenId - GM Token ID\n @param nodeTokenId - Vechain Node Token ID"},"functionSelector":"a1843bd0","id":34360,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterAttachingNode","nameLocation":"28453:26:67","nodeType":"FunctionDefinition","parameters":{"id":34346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34343,"mutability":"mutable","name":"tokenId","nameLocation":"28488:7:67","nodeType":"VariableDeclaration","scope":34360,"src":"28480:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34342,"name":"uint256","nodeType":"ElementaryTypeName","src":"28480:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34345,"mutability":"mutable","name":"nodeTokenId","nameLocation":"28505:11:67","nodeType":"VariableDeclaration","scope":34360,"src":"28497:19:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34344,"name":"uint256","nodeType":"ElementaryTypeName","src":"28497:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28479:38:67"},"returnParameters":{"id":34349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34360,"src":"28547:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34347,"name":"uint256","nodeType":"ElementaryTypeName","src":"28547:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28546:9:67"},"scope":35081,"src":"28444:206:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34377,"nodeType":"Block","src":"28845:84:67","statements":[{"assignments":[34369,null],"declarations":[{"constant":false,"id":34369,"mutability":"mutable","name":"level","nameLocation":"28860:5:67","nodeType":"VariableDeclaration","scope":34377,"src":"28852:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34368,"name":"uint256","nodeType":"ElementaryTypeName","src":"28852:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":34374,"initialValue":{"arguments":[{"id":34371,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34363,"src":"28894:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":34372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28903:1:67","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":34370,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34268,"src":"28871:22:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":34373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28871:34:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"28851:54:67"},{"expression":{"id":34375,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34369,"src":"28919:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34367,"id":34376,"nodeType":"Return","src":"28912:12:67"}]},"documentation":{"id":34361,"nodeType":"StructuredDocumentation","src":"28654:97:67","text":"@notice Gets the level of the token after detaching a node\n @param tokenId - GM Token ID"},"functionSelector":"cc421d07","id":34378,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterDetachingNode","nameLocation":"28763:26:67","nodeType":"FunctionDefinition","parameters":{"id":34364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34363,"mutability":"mutable","name":"tokenId","nameLocation":"28798:7:67","nodeType":"VariableDeclaration","scope":34378,"src":"28790:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34362,"name":"uint256","nodeType":"ElementaryTypeName","src":"28790:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28789:17:67"},"returnParameters":{"id":34367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34378,"src":"28836:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34365,"name":"uint256","nodeType":"ElementaryTypeName","src":"28836:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28835:9:67"},"scope":35081,"src":"28754:175:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34438,"nodeType":"Block","src":"29134:458:67","statements":[{"assignments":[34388],"declarations":[{"constant":false,"id":34388,"mutability":"mutable","name":"$","nameLocation":"29168:1:67","nodeType":"VariableDeclaration","scope":34438,"src":"29140:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34387,"nodeType":"UserDefinedTypeName","pathNode":{"id":34386,"name":"GalaxyMemberStorage","nameLocations":["29140:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"29140:19:67"},"referencedDeclaration":32839,"src":"29140:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34391,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34389,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"29172:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29172:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29140:57:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"id":34401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":34393,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34388,"src":"29218:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29220:20:67","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":32772,"src":"29218:22:67","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":34398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29279:1:67","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":34397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29271:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34396,"name":"address","nodeType":"ElementaryTypeName","src":"29271:7:67","typeDescriptions":{}}},"id":34399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29271:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34395,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"29244:26:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":34400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29244:38:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"29218:64:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67476f7665726e6f72206e6f7420736574","id":34402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29290:50:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""},"value":"Galaxy Member: XAllocationVotingGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""}],"id":34392,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"29203:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29203:143:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34404,"nodeType":"ExpressionStatement","src":"29203:143:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"id":34417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":34406,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34388,"src":"29360:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29362:12:67","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":32775,"src":"29360:14:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":34413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29408:1:67","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":34412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29400:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34411,"name":"address","nodeType":"ElementaryTypeName","src":"29400:7:67","typeDescriptions":{}}},"id":34414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29400:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29392:8:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":34409,"name":"address","nodeType":"ElementaryTypeName","src":"29392:8:67","stateMutability":"payable","typeDescriptions":{}}},"id":34415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29392:19:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":34408,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"29378:13:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":34416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29378:34:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"29360:52:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420736574","id":34418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29414:37:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""},"value":"Galaxy Member: B3TRGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""}],"id":34405,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"29352:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29352:100:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34420,"nodeType":"ExpressionStatement","src":"29352:100:67"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":34431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":34424,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34381,"src":"29499:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":34421,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34388,"src":"29463:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29465:20:67","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":32772,"src":"29463:22:67","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":34423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29486:12:67","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":71083,"src":"29463:35:67","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":34425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29463:41:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":34429,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34381,"src":"29536:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":34426,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34388,"src":"29508:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29510:12:67","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":32775,"src":"29508:14:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":34428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29523:12:67","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":63603,"src":"29508:27:67","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":34430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29508:33:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29463:78:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34435,"nodeType":"IfStatement","src":"29459:110:67","trueBody":{"id":34434,"nodeType":"Block","src":"29543:26:67","statements":[{"expression":{"hexValue":"74727565","id":34432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29558:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":34385,"id":34433,"nodeType":"Return","src":"29551:11:67"}]}},{"expression":{"hexValue":"66616c7365","id":34436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29582:5:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":34385,"id":34437,"nodeType":"Return","src":"29575:12:67"}]},"documentation":{"id":34379,"nodeType":"StructuredDocumentation","src":"28933:115:67","text":"@notice Gets whether the user has participated in governance\n @param user The address of the user to check"},"functionSelector":"8c5b76fb","id":34439,"implemented":true,"kind":"function","modifiers":[],"name":"participatedInGovernance","nameLocation":"29060:24:67","nodeType":"FunctionDefinition","parameters":{"id":34382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34381,"mutability":"mutable","name":"user","nameLocation":"29093:4:67","nodeType":"VariableDeclaration","scope":34439,"src":"29085:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34380,"name":"address","nodeType":"ElementaryTypeName","src":"29085:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29084:14:67"},"returnParameters":{"id":34385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34439,"src":"29128:4:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34383,"name":"bool","nodeType":"ElementaryTypeName","src":"29128:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29127:6:67"},"scope":35081,"src":"29051:541:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34448,"nodeType":"Block","src":"29718:28:67","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":34445,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[35080],"referencedDeclaration":35080,"src":"29731:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":34446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29731:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":34444,"id":34447,"nodeType":"Return","src":"29724:17:67"}]},"documentation":{"id":34440,"nodeType":"StructuredDocumentation","src":"29596:56:67","text":"@notice Gets the base URI for computing the tokenURI"},"functionSelector":"6c0360eb","id":34449,"implemented":true,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"29664:7:67","nodeType":"FunctionDefinition","parameters":{"id":34441,"nodeType":"ParameterList","parameters":[],"src":"29671:2:67"},"returnParameters":{"id":34444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34449,"src":"29703:13:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":34442,"name":"string","nodeType":"ElementaryTypeName","src":"29703:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29702:15:67"},"scope":35081,"src":"29655:91:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34468,"nodeType":"Block","src":"29943:111:67","statements":[{"assignments":[34459],"declarations":[{"constant":false,"id":34459,"mutability":"mutable","name":"$","nameLocation":"29977:1:67","nodeType":"VariableDeclaration","scope":34468,"src":"29949:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34458,"nodeType":"UserDefinedTypeName","pathNode":{"id":34457,"name":"GalaxyMemberStorage","nameLocations":["29949:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"29949:19:67"},"referencedDeclaration":32839,"src":"29949:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34462,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34460,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"29981:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29981:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29949:57:67"},{"expression":{"baseExpression":{"expression":{"id":34463,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34459,"src":"30019:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30021:21:67","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":32794,"src":"30019:23:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":34466,"indexExpression":{"id":34465,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34452,"src":"30043:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30019:30:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34456,"id":34467,"nodeType":"Return","src":"30012:37:67"}]},"documentation":{"id":34450,"nodeType":"StructuredDocumentation","src":"29750:104:67","text":"@notice Gets the B3TR required to upgrade to a specific level\n @param level Level to upgrade to"},"functionSelector":"2b42df38","id":34469,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgradeToLevel","nameLocation":"29866:23:67","nodeType":"FunctionDefinition","parameters":{"id":34453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34452,"mutability":"mutable","name":"level","nameLocation":"29898:5:67","nodeType":"VariableDeclaration","scope":34469,"src":"29890:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34451,"name":"uint256","nodeType":"ElementaryTypeName","src":"29890:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29889:15:67"},"returnParameters":{"id":34456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34469,"src":"29934:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34454,"name":"uint256","nodeType":"ElementaryTypeName","src":"29934:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29933:9:67"},"scope":35081,"src":"29857:197:67","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2274],"body":{"id":34513,"nodeType":"Block","src":"30351:205:67","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":34486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":34480,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34472,"src":"30370:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34479,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"30361:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":34481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30361:17:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":34484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30390:1:67","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":34483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30382:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34482,"name":"address","nodeType":"ElementaryTypeName","src":"30382:7:67","typeDescriptions":{}}},"id":34485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30382:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30361:31:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34489,"nodeType":"IfStatement","src":"30357:46:67","trueBody":{"expression":{"hexValue":"","id":34487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30401:2:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":34478,"id":34488,"nodeType":"Return","src":"30394:9:67"}},{"assignments":[34491],"declarations":[{"constant":false,"id":34491,"mutability":"mutable","name":"levelOfToken","nameLocation":"30418:12:67","nodeType":"VariableDeclaration","scope":34513,"src":"30410:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34490,"name":"uint256","nodeType":"ElementaryTypeName","src":"30410:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34495,"initialValue":{"arguments":[{"id":34493,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34472,"src":"30441:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34492,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34104,"src":"30433:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":34494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30433:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30410:39:67"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34496,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34491,"src":"30462:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":34497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30477:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30462:16:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":34510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30549:2:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":34511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"30462:89:67","trueExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":34502,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34449,"src":"30495:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":34503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30495:9:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":34506,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34491,"src":"30523:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":34504,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"30506:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":34505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30514:8:67","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"30506:16:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":34507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30506:30:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6a736f6e","id":34508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30538:7:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":34500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30481:6:67","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":34499,"name":"string","nodeType":"ElementaryTypeName","src":"30481:6:67","typeDescriptions":{}}},"id":34501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30488:6:67","memberName":"concat","nodeType":"MemberAccess","src":"30481:13:67","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":34509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30481:65:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":34478,"id":34512,"nodeType":"Return","src":"30455:96:67"}]},"documentation":{"id":34470,"nodeType":"StructuredDocumentation","src":"30058:183:67","text":"@notice gets the token URI for a specific token\n @dev computes the token URI based on the base URI and the level of the token\n @param tokenId Token ID to get the URI for"},"functionSelector":"c87b56dd","id":34514,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"30253:8:67","nodeType":"FunctionDefinition","overrides":{"id":34475,"nodeType":"OverrideSpecifier","overrides":[{"id":34474,"name":"ERC721Upgradeable","nameLocations":["30308:17:67"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"30308:17:67"}],"src":"30299:27:67"},"parameters":{"id":34473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34472,"mutability":"mutable","name":"tokenId","nameLocation":"30270:7:67","nodeType":"VariableDeclaration","scope":34514,"src":"30262:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34471,"name":"uint256","nodeType":"ElementaryTypeName","src":"30262:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30261:17:67"},"returnParameters":{"id":34478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34477,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34514,"src":"30336:13:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":34476,"name":"string","nodeType":"ElementaryTypeName","src":"30336:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30335:15:67"},"scope":35081,"src":"30244:312:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34530,"nodeType":"Block","src":"30704:103:67","statements":[{"assignments":[34523],"declarations":[{"constant":false,"id":34523,"mutability":"mutable","name":"$","nameLocation":"30738:1:67","nodeType":"VariableDeclaration","scope":34530,"src":"30710:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34522,"nodeType":"UserDefinedTypeName","pathNode":{"id":34521,"name":"GalaxyMemberStorage","nameLocations":["30710:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"30710:19:67"},"referencedDeclaration":32839,"src":"30710:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34526,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34524,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"30742:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30742:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30710:57:67"},{"expression":{"expression":{"id":34527,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34523,"src":"30780:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30782:20:67","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":32772,"src":"30780:22:67","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"functionReturnParameters":34520,"id":34529,"nodeType":"Return","src":"30773:29:67"}]},"documentation":{"id":34515,"nodeType":"StructuredDocumentation","src":"30560:58:67","text":"@notice Gets the xAllocationsGovernor contract address"},"functionSelector":"5ecf68e9","id":34531,"implemented":true,"kind":"function","modifiers":[],"name":"xAllocationsGovernor","nameLocation":"30630:20:67","nodeType":"FunctionDefinition","parameters":{"id":34516,"nodeType":"ParameterList","parameters":[],"src":"30650:2:67"},"returnParameters":{"id":34520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34531,"src":"30676:26:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":34518,"nodeType":"UserDefinedTypeName","pathNode":{"id":34517,"name":"IXAllocationVotingGovernor","nameLocations":["30676:26:67"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"30676:26:67"},"referencedDeclaration":71124,"src":"30676:26:67","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"30675:28:67"},"scope":35081,"src":"30621:186:67","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":34547,"nodeType":"Block","src":"30926:95:67","statements":[{"assignments":[34540],"declarations":[{"constant":false,"id":34540,"mutability":"mutable","name":"$","nameLocation":"30960:1:67","nodeType":"VariableDeclaration","scope":34547,"src":"30932:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34539,"nodeType":"UserDefinedTypeName","pathNode":{"id":34538,"name":"GalaxyMemberStorage","nameLocations":["30932:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"30932:19:67"},"referencedDeclaration":32839,"src":"30932:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34543,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34541,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"30964:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30964:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30932:57:67"},{"expression":{"expression":{"id":34544,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34540,"src":"31002:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31004:12:67","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":32775,"src":"31002:14:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"functionReturnParameters":34537,"id":34546,"nodeType":"Return","src":"30995:21:67"}]},"documentation":{"id":34532,"nodeType":"StructuredDocumentation","src":"30811:50:67","text":"@notice Gets the b3trGovernor contract address"},"functionSelector":"7893d736","id":34548,"implemented":true,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"30873:12:67","nodeType":"FunctionDefinition","parameters":{"id":34533,"nodeType":"ParameterList","parameters":[],"src":"30885:2:67"},"returnParameters":{"id":34537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34536,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34548,"src":"30911:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":34535,"nodeType":"UserDefinedTypeName","pathNode":{"id":34534,"name":"IB3TRGovernor","nameLocations":["30911:13:67"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"30911:13:67"},"referencedDeclaration":63919,"src":"30911:13:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"30910:15:67"},"scope":35081,"src":"30864:157:67","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":34564,"nodeType":"Block","src":"31122:87:67","statements":[{"assignments":[34557],"declarations":[{"constant":false,"id":34557,"mutability":"mutable","name":"$","nameLocation":"31156:1:67","nodeType":"VariableDeclaration","scope":34564,"src":"31128:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34556,"nodeType":"UserDefinedTypeName","pathNode":{"id":34555,"name":"GalaxyMemberStorage","nameLocations":["31128:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"31128:19:67"},"referencedDeclaration":32839,"src":"31128:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34560,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34558,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"31160:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31160:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31128:57:67"},{"expression":{"expression":{"id":34561,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34557,"src":"31198:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31200:4:67","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":32778,"src":"31198:6:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"functionReturnParameters":34554,"id":34563,"nodeType":"Return","src":"31191:13:67"}]},"documentation":{"id":34549,"nodeType":"StructuredDocumentation","src":"31025:48:67","text":"@notice Gets the B3TR token contract address"},"functionSelector":"582a486a","id":34565,"implemented":true,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"31085:4:67","nodeType":"FunctionDefinition","parameters":{"id":34550,"nodeType":"ParameterList","parameters":[],"src":"31089:2:67"},"returnParameters":{"id":34554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34565,"src":"31115:5:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":34552,"nodeType":"UserDefinedTypeName","pathNode":{"id":34551,"name":"IB3TR","nameLocations":["31115:5:67"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"31115:5:67"},"referencedDeclaration":62888,"src":"31115:5:67","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"31114:7:67"},"scope":35081,"src":"31076:133:67","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":34580,"nodeType":"Block","src":"31314:91:67","statements":[{"assignments":[34573],"declarations":[{"constant":false,"id":34573,"mutability":"mutable","name":"$","nameLocation":"31348:1:67","nodeType":"VariableDeclaration","scope":34580,"src":"31320:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34572,"nodeType":"UserDefinedTypeName","pathNode":{"id":34571,"name":"GalaxyMemberStorage","nameLocations":["31320:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"31320:19:67"},"referencedDeclaration":32839,"src":"31320:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34576,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34574,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"31352:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31352:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31320:57:67"},{"expression":{"expression":{"id":34577,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34573,"src":"31390:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34578,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31392:8:67","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":32780,"src":"31390:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":34570,"id":34579,"nodeType":"Return","src":"31383:17:67"}]},"documentation":{"id":34566,"nodeType":"StructuredDocumentation","src":"31213:46:67","text":"@notice Gets the treasury contract address"},"functionSelector":"61d027b3","id":34581,"implemented":true,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"31271:8:67","nodeType":"FunctionDefinition","parameters":{"id":34567,"nodeType":"ParameterList","parameters":[],"src":"31279:2:67"},"returnParameters":{"id":34570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34569,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34581,"src":"31305:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34568,"name":"address","nodeType":"ElementaryTypeName","src":"31305:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31304:9:67"},"scope":35081,"src":"31262:143:67","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":34596,"nodeType":"Block","src":"31546:92:67","statements":[{"assignments":[34589],"declarations":[{"constant":false,"id":34589,"mutability":"mutable","name":"$","nameLocation":"31580:1:67","nodeType":"VariableDeclaration","scope":34596,"src":"31552:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":34588,"nodeType":"UserDefinedTypeName","pathNode":{"id":34587,"name":"GalaxyMemberStorage","nameLocations":["31552:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"31552:19:67"},"referencedDeclaration":32839,"src":"31552:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":34592,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":34590,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"31584:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31584:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31552:57:67"},{"expression":{"expression":{"id":34593,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34589,"src":"31622:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34594,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31624:9:67","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":32786,"src":"31622:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34586,"id":34595,"nodeType":"Return","src":"31615:18:67"}]},"documentation":{"id":34582,"nodeType":"StructuredDocumentation","src":"31409:75:67","text":"@notice Gets the maximum level that tokens can be minted or upgraded to"},"functionSelector":"a49062d4","id":34597,"implemented":true,"kind":"function","modifiers":[],"name":"MAX_LEVEL","nameLocation":"31496:9:67","nodeType":"FunctionDefinition","parameters":{"id":34583,"nodeType":"ParameterList","parameters":[],"src":"31505:2:67"},"returnParameters":{"id":34586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34597,"src":"31537:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34584,"name":"uint256","nodeType":"ElementaryTypeName","src":"31537:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31536:9:67"},"scope":35081,"src":"31487:151:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34611,"nodeType":"Block","src":"31839:66:67","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":34605,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"31852:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31852:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31878:14:67","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":32817,"src":"31852:40:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":34609,"indexExpression":{"id":34608,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34600,"src":"31893:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31852:48:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34604,"id":34610,"nodeType":"Return","src":"31845:55:67"}]},"documentation":{"id":34598,"nodeType":"StructuredDocumentation","src":"31642:111:67","text":"@notice Get the GM Token ID attached to the Vechain Node Token ID\n @param nodeId Vechain node Token ID"},"functionSelector":"51c438d1","id":34612,"implemented":true,"kind":"function","modifiers":[],"name":"getIdAttachedToNode","nameLocation":"31765:19:67","nodeType":"FunctionDefinition","parameters":{"id":34601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34600,"mutability":"mutable","name":"nodeId","nameLocation":"31793:6:67","nodeType":"VariableDeclaration","scope":34612,"src":"31785:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34599,"name":"uint256","nodeType":"ElementaryTypeName","src":"31785:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31784:16:67"},"returnParameters":{"id":34604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34612,"src":"31830:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34602,"name":"uint256","nodeType":"ElementaryTypeName","src":"31830:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31829:9:67"},"scope":35081,"src":"31756:149:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34626,"nodeType":"Block","src":"32096:67:67","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":34620,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"32109:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32109:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32135:14:67","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":32821,"src":"32109:40:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":34624,"indexExpression":{"id":34623,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34615,"src":"32150:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32109:49:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34619,"id":34625,"nodeType":"Return","src":"32102:56:67"}]},"documentation":{"id":34613,"nodeType":"StructuredDocumentation","src":"31909:102:67","text":"@notice Get the Vechain Node Token ID attached to the GM Token ID\n @param tokenId GM Token ID"},"functionSelector":"958fc97d","id":34627,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeIdAttached","nameLocation":"32023:17:67","nodeType":"FunctionDefinition","parameters":{"id":34616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34615,"mutability":"mutable","name":"tokenId","nameLocation":"32049:7:67","nodeType":"VariableDeclaration","scope":34627,"src":"32041:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34614,"name":"uint256","nodeType":"ElementaryTypeName","src":"32041:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32040:17:67"},"returnParameters":{"id":34619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34618,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34627,"src":"32087:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34617,"name":"uint256","nodeType":"ElementaryTypeName","src":"32087:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32086:9:67"},"scope":35081,"src":"32014:149:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34641,"nodeType":"Block","src":"32384:78:67","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":34635,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"32397:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32397:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32423:23:67","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":32825,"src":"32397:49:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":34639,"indexExpression":{"id":34638,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34630,"src":"32447:9:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32397:60:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34634,"id":34640,"nodeType":"Return","src":"32390:67:67"}]},"documentation":{"id":34628,"nodeType":"StructuredDocumentation","src":"32167:131:67","text":"@notice Get the GM level that can be upgraded for free for a given Vechain node level\n @param nodeLevel Vechain node level"},"functionSelector":"e617e49f","id":34642,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeToFreeLevel","nameLocation":"32310:18:67","nodeType":"FunctionDefinition","parameters":{"id":34631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34630,"mutability":"mutable","name":"nodeLevel","nameLocation":"32335:9:67","nodeType":"VariableDeclaration","scope":34642,"src":"32329:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":34629,"name":"uint8","nodeType":"ElementaryTypeName","src":"32329:5:67","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"32328:17:67"},"returnParameters":{"id":34634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34633,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34642,"src":"32375:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34632,"name":"uint256","nodeType":"ElementaryTypeName","src":"32375:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32374:9:67"},"scope":35081,"src":"32301:161:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34656,"nodeType":"Block","src":"32641:74:67","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":34650,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"32654:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32654:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32680:21:67","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":32829,"src":"32654:47:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":34654,"indexExpression":{"id":34653,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34645,"src":"32702:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32654:56:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":34649,"id":34655,"nodeType":"Return","src":"32647:63:67"}]},"documentation":{"id":34643,"nodeType":"StructuredDocumentation","src":"32466:93:67","text":"@notice Get the B3TR donated for upgrading a token\n @param tokenId Token ID to check"},"functionSelector":"865c380b","id":34657,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRdonated","nameLocation":"32571:14:67","nodeType":"FunctionDefinition","parameters":{"id":34646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34645,"mutability":"mutable","name":"tokenId","nameLocation":"32594:7:67","nodeType":"VariableDeclaration","scope":34657,"src":"32586:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34644,"name":"uint256","nodeType":"ElementaryTypeName","src":"32586:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32585:17:67"},"returnParameters":{"id":34649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34648,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34657,"src":"32632:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34647,"name":"uint256","nodeType":"ElementaryTypeName","src":"32632:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32631:9:67"},"scope":35081,"src":"32562:153:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34665,"nodeType":"Block","src":"33008:21:67","statements":[{"expression":{"hexValue":"33","id":34663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33021:3:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a80e1ef1d7842f27f2e6be0972bb708b9a135c38860dbe73c27c3486c34f4de","typeString":"literal_string \"3\""},"value":"3"},"functionReturnParameters":34662,"id":34664,"nodeType":"Return","src":"33014:10:67"}]},"documentation":{"id":34658,"nodeType":"StructuredDocumentation","src":"32719:221:67","text":"@notice Retrieves the current version of the contract\n @dev This function is used to identify the version of the contract and should be updated in each new version\n @return string The version of the contract"},"functionSelector":"54fd4d50","id":34666,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"32952:7:67","nodeType":"FunctionDefinition","parameters":{"id":34659,"nodeType":"ParameterList","parameters":[],"src":"32959:2:67"},"returnParameters":{"id":34662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34661,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34666,"src":"32993:13:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":34660,"name":"string","nodeType":"ElementaryTypeName","src":"32993:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32992:15:67"},"scope":35081,"src":"32943:86:67","stateMutability":"pure","virtual":true,"visibility":"external"},{"canonicalName":"GalaxyMemberV3.TokenInfo","id":34675,"members":[{"constant":false,"id":34668,"mutability":"mutable","name":"tokenId","nameLocation":"33064:7:67","nodeType":"VariableDeclaration","scope":34675,"src":"33056:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34667,"name":"uint256","nodeType":"ElementaryTypeName","src":"33056:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34670,"mutability":"mutable","name":"tokenURI","nameLocation":"33084:8:67","nodeType":"VariableDeclaration","scope":34675,"src":"33077:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":34669,"name":"string","nodeType":"ElementaryTypeName","src":"33077:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":34672,"mutability":"mutable","name":"tokenLevel","nameLocation":"33106:10:67","nodeType":"VariableDeclaration","scope":34675,"src":"33098:18:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34671,"name":"uint256","nodeType":"ElementaryTypeName","src":"33098:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34674,"mutability":"mutable","name":"b3trToUpgrade","nameLocation":"33130:13:67","nodeType":"VariableDeclaration","scope":34675,"src":"33122:21:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34673,"name":"uint256","nodeType":"ElementaryTypeName","src":"33122:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TokenInfo","nameLocation":"33040:9:67","nodeType":"StructDefinition","scope":35081,"src":"33033:115:67","visibility":"public"},{"body":{"id":34732,"nodeType":"Block","src":"33382:360:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":34692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":34686,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34678,"src":"33441:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34685,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"33432:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":34687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33432:17:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":34690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33461:1:67","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":34689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33453:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34688,"name":"address","nodeType":"ElementaryTypeName","src":"33453:7:67","typeDescriptions":{}}},"id":34691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33453:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"33432:31:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578697374","id":34693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33465:37:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""},"value":"GalaxyMember: tokenId doesn't exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""}],"id":34684,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"33424:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33424:79:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34695,"nodeType":"ExpressionStatement","src":"33424:79:67"},{"assignments":[34698],"declarations":[{"constant":false,"id":34698,"mutability":"mutable","name":"tokenInfo","nameLocation":"33527:9:67","nodeType":"VariableDeclaration","scope":34732,"src":"33510:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"},"typeName":{"id":34697,"nodeType":"UserDefinedTypeName","pathNode":{"id":34696,"name":"TokenInfo","nameLocations":["33510:9:67"],"nodeType":"IdentifierPath","referencedDeclaration":34675,"src":"33510:9:67"},"referencedDeclaration":34675,"src":"33510:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"}},"visibility":"internal"}],"id":34699,"nodeType":"VariableDeclarationStatement","src":"33510:26:67"},{"expression":{"id":34704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":34700,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34698,"src":"33542:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory"}},"id":34702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"33552:7:67","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":34668,"src":"33542:17:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":34703,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34678,"src":"33562:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33542:27:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34705,"nodeType":"ExpressionStatement","src":"33542:27:67"},{"expression":{"id":34712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":34706,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34698,"src":"33575:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory"}},"id":34708,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"33585:8:67","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":34670,"src":"33575:18:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":34710,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34678,"src":"33605:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34709,"name":"tokenURI","nodeType":"Identifier","overloadedDeclarations":[34514],"referencedDeclaration":34514,"src":"33596:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":34711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33596:17:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"33575:38:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":34713,"nodeType":"ExpressionStatement","src":"33575:38:67"},{"expression":{"id":34720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":34714,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34698,"src":"33619:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory"}},"id":34716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"33629:10:67","memberName":"tokenLevel","nodeType":"MemberAccess","referencedDeclaration":34672,"src":"33619:20:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":34718,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34678,"src":"33650:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34717,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34104,"src":"33642:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":34719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33642:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33619:39:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34721,"nodeType":"ExpressionStatement","src":"33619:39:67"},{"expression":{"id":34728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":34722,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34698,"src":"33664:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory"}},"id":34724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"33674:13:67","memberName":"b3trToUpgrade","nodeType":"MemberAccess","referencedDeclaration":34674,"src":"33664:23:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":34726,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34678,"src":"33707:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34725,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34155,"src":"33690:16:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":34727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33690:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33664:51:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34729,"nodeType":"ExpressionStatement","src":"33664:51:67"},{"expression":{"id":34730,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34698,"src":"33728:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory"}},"functionReturnParameters":34683,"id":34731,"nodeType":"Return","src":"33721:16:67"}]},"documentation":{"id":34676,"nodeType":"StructuredDocumentation","src":"33152:132:67","text":"@notice Gets the token info by token ID\n @param tokenId Token ID to get the info for\n @return TokenInfo The token info"},"functionSelector":"643ce418","id":34733,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenInfoByTokenId","nameLocation":"33296:21:67","nodeType":"FunctionDefinition","parameters":{"id":34679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34678,"mutability":"mutable","name":"tokenId","nameLocation":"33326:7:67","nodeType":"VariableDeclaration","scope":34733,"src":"33318:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34677,"name":"uint256","nodeType":"ElementaryTypeName","src":"33318:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33317:17:67"},"returnParameters":{"id":34683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34682,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34733,"src":"33364:16:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"},"typeName":{"id":34681,"nodeType":"UserDefinedTypeName","pathNode":{"id":34680,"name":"TokenInfo","nameLocations":["33364:9:67"],"nodeType":"IdentifierPath","referencedDeclaration":34675,"src":"33364:9:67"},"referencedDeclaration":34675,"src":"33364:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"}},"visibility":"internal"}],"src":"33363:18:67"},"scope":35081,"src":"33287:455:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34752,"nodeType":"Block","src":"33996:97:67","statements":[{"assignments":[34743],"declarations":[{"constant":false,"id":34743,"mutability":"mutable","name":"tokenId","nameLocation":"34010:7:67","nodeType":"VariableDeclaration","scope":34752,"src":"34002:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34742,"name":"uint256","nodeType":"ElementaryTypeName","src":"34002:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34747,"initialValue":{"arguments":[{"id":34745,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34736,"src":"34039:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34744,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34315,"src":"34020:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":34746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34020:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34002:43:67"},{"expression":{"arguments":[{"id":34749,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34743,"src":"34080:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34748,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34733,"src":"34058:21:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$34675_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMemberV3.TokenInfo memory)"}},"id":34750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34058:30:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory"}},"functionReturnParameters":34741,"id":34751,"nodeType":"Return","src":"34051:37:67"}]},"documentation":{"id":34734,"nodeType":"StructuredDocumentation","src":"33746:156:67","text":"@notice Gets the selected token info for an address\n @param owner The address of the owner to check\n @return TokenInfo The selected token info"},"functionSelector":"de4983a2","id":34753,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenInfoByOwner","nameLocation":"33914:27:67","nodeType":"FunctionDefinition","parameters":{"id":34737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34736,"mutability":"mutable","name":"owner","nameLocation":"33950:5:67","nodeType":"VariableDeclaration","scope":34753,"src":"33942:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34735,"name":"address","nodeType":"ElementaryTypeName","src":"33942:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33941:15:67"},"returnParameters":{"id":34741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34753,"src":"33978:16:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"},"typeName":{"id":34739,"nodeType":"UserDefinedTypeName","pathNode":{"id":34738,"name":"TokenInfo","nameLocations":["33978:9:67"],"nodeType":"IdentifierPath","referencedDeclaration":34675,"src":"33978:9:67"},"referencedDeclaration":34675,"src":"33978:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"}},"visibility":"internal"}],"src":"33977:18:67"},"scope":35081,"src":"33905:188:67","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":34891,"nodeType":"Block","src":"34483:1376:67","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34767,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34760,"src":"34521:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":34768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34529:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34521:9:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34775,"nodeType":"IfStatement","src":"34517:79:67","trueBody":{"id":34774,"nodeType":"Block","src":"34532:64:67","statements":[{"expression":{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652030","id":34771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34547:41:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""},"value":"GalaxyMember: Invalid size, cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""}],"id":34770,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"34540:6:67","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":34772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34540:49:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34773,"nodeType":"ExpressionStatement","src":"34540:49:67"}]}},{"assignments":[34777],"declarations":[{"constant":false,"id":34777,"mutability":"mutable","name":"MAX_PAGINATION_SIZE","nameLocation":"34660:19:67","nodeType":"VariableDeclaration","scope":34891,"src":"34652:27:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34776,"name":"uint256","nodeType":"ElementaryTypeName","src":"34652:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34779,"initialValue":{"hexValue":"313030","id":34778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34682:3:67","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"34652:33:67"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34780,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34760,"src":"34761:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":34781,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34777,"src":"34768:19:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34761:26:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34798,"nodeType":"IfStatement","src":"34757:209:67","trueBody":{"id":34797,"nodeType":"Block","src":"34789:177:67","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652067726561746572207468616e20","id":34788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34848:53:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},"value":"GalaxyMember: Invalid size, cannot be greater than "},{"arguments":[{"id":34791,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34777,"src":"34920:19:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":34789,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"34903:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":34790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34911:8:67","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"34903:16:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":34792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34903:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":34786,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34831:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":34787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34835:12:67","memberName":"encodePacked","nodeType":"MemberAccess","src":"34831:16:67","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":34793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34831:110:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":34785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34813:6:67","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":34784,"name":"string","nodeType":"ElementaryTypeName","src":"34813:6:67","typeDescriptions":{}}},"id":34794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34813:138:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":34783,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"34797:6:67","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":34795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34797:162:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34796,"nodeType":"ExpressionStatement","src":"34797:162:67"}]}},{"assignments":[34800],"declarations":[{"constant":false,"id":34800,"mutability":"mutable","name":"balance","nameLocation":"34980:7:67","nodeType":"VariableDeclaration","scope":34891,"src":"34972:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34799,"name":"uint256","nodeType":"ElementaryTypeName","src":"34972:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34804,"initialValue":{"arguments":[{"id":34802,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34756,"src":"35000:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34801,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"34990:9:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":34803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34990:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34972:34:67"},{"assignments":[34806],"declarations":[{"constant":false,"id":34806,"mutability":"mutable","name":"start","nameLocation":"35127:5:67","nodeType":"VariableDeclaration","scope":34891,"src":"35119:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34805,"name":"uint256","nodeType":"ElementaryTypeName","src":"35119:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34810,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34807,"name":"page","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34758,"src":"35135:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":34808,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34760,"src":"35142:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35135:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35119:27:67"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34811,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34806,"src":"35238:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":34812,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34800,"src":"35247:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35238:16:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34822,"nodeType":"IfStatement","src":"35234:62:67","trueBody":{"id":34821,"nodeType":"Block","src":"35256:40:67","statements":[{"expression":{"arguments":[{"hexValue":"30","id":34818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35287:1:67","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":34817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35271:15:67","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMemberV3.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":34815,"nodeType":"UserDefinedTypeName","pathNode":{"id":34814,"name":"TokenInfo","nameLocations":["35275:9:67"],"nodeType":"IdentifierPath","referencedDeclaration":34675,"src":"35275:9:67"},"referencedDeclaration":34675,"src":"35275:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"}},"id":34816,"nodeType":"ArrayTypeName","src":"35275:11:67","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo[]"}}},"id":34819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35271:18:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory[] memory"}},"functionReturnParameters":34766,"id":34820,"nodeType":"Return","src":"35264:25:67"}]}},{"assignments":[34824],"declarations":[{"constant":false,"id":34824,"mutability":"mutable","name":"end","nameLocation":"35353:3:67","nodeType":"VariableDeclaration","scope":34891,"src":"35345:11:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34823,"name":"uint256","nodeType":"ElementaryTypeName","src":"35345:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34828,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34825,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34806,"src":"35359:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":34826,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34760,"src":"35367:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35359:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35345:26:67"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34829,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34824,"src":"35381:3:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":34830,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34800,"src":"35387:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35381:13:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34837,"nodeType":"IfStatement","src":"35377:106:67","trueBody":{"id":34836,"nodeType":"Block","src":"35396:87:67","statements":[{"expression":{"id":34834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":34832,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34824,"src":"35404:3:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":34833,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34800,"src":"35410:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35404:13:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34835,"nodeType":"ExpressionStatement","src":"35404:13:67"}]}},{"assignments":[34839],"declarations":[{"constant":false,"id":34839,"mutability":"mutable","name":"numTokens","nameLocation":"35545:9:67","nodeType":"VariableDeclaration","scope":34891,"src":"35537:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34838,"name":"uint256","nodeType":"ElementaryTypeName","src":"35537:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34843,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34840,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34824,"src":"35557:3:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":34841,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34806,"src":"35563:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35557:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35537:31:67"},{"assignments":[34848],"declarations":[{"constant":false,"id":34848,"mutability":"mutable","name":"tokens","nameLocation":"35594:6:67","nodeType":"VariableDeclaration","scope":34891,"src":"35575:25:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo[]"},"typeName":{"baseType":{"id":34846,"nodeType":"UserDefinedTypeName","pathNode":{"id":34845,"name":"TokenInfo","nameLocations":["35575:9:67"],"nodeType":"IdentifierPath","referencedDeclaration":34675,"src":"35575:9:67"},"referencedDeclaration":34675,"src":"35575:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"}},"id":34847,"nodeType":"ArrayTypeName","src":"35575:11:67","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo[]"}},"visibility":"internal"}],"id":34855,"initialValue":{"arguments":[{"id":34853,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34839,"src":"35619:9:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35603:15:67","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMemberV3.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":34850,"nodeType":"UserDefinedTypeName","pathNode":{"id":34849,"name":"TokenInfo","nameLocations":["35607:9:67"],"nodeType":"IdentifierPath","referencedDeclaration":34675,"src":"35607:9:67"},"referencedDeclaration":34675,"src":"35607:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"}},"id":34851,"nodeType":"ArrayTypeName","src":"35607:11:67","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo[]"}}},"id":34854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35603:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35575:54:67"},{"body":{"id":34887,"nodeType":"Block","src":"35676:159:67","statements":[{"assignments":[34867],"declarations":[{"constant":false,"id":34867,"mutability":"mutable","name":"tokenIndex","nameLocation":"35692:10:67","nodeType":"VariableDeclaration","scope":34887,"src":"35684:18:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34866,"name":"uint256","nodeType":"ElementaryTypeName","src":"35684:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34871,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34868,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34806,"src":"35705:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":34869,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34857,"src":"35713:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35705:9:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35684:30:67"},{"assignments":[34873],"declarations":[{"constant":false,"id":34873,"mutability":"mutable","name":"tokenId","nameLocation":"35730:7:67","nodeType":"VariableDeclaration","scope":34887,"src":"35722:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34872,"name":"uint256","nodeType":"ElementaryTypeName","src":"35722:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34878,"initialValue":{"arguments":[{"id":34875,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34756,"src":"35760:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":34876,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34867,"src":"35767:10:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34874,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"35740:19:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":34877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35740:38:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35722:56:67"},{"expression":{"id":34885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":34879,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34848,"src":"35786:6:67","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory[] memory"}},"id":34881,"indexExpression":{"id":34880,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34857,"src":"35793:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35786:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":34883,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34873,"src":"35820:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34882,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34733,"src":"35798:21:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$34675_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMemberV3.TokenInfo memory)"}},"id":34884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35798:30:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory"}},"src":"35786:42:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory"}},"id":34886,"nodeType":"ExpressionStatement","src":"35786:42:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34860,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34857,"src":"35656:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":34861,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34839,"src":"35660:9:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35656:13:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34888,"initializationExpression":{"assignments":[34857],"declarations":[{"constant":false,"id":34857,"mutability":"mutable","name":"i","nameLocation":"35649:1:67","nodeType":"VariableDeclaration","scope":34888,"src":"35641:9:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34856,"name":"uint256","nodeType":"ElementaryTypeName","src":"35641:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34859,"initialValue":{"hexValue":"30","id":34858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35653:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35641:13:67"},"loopExpression":{"expression":{"id":34864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35671:3:67","subExpression":{"id":34863,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34857,"src":"35671:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34865,"nodeType":"ExpressionStatement","src":"35671:3:67"},"nodeType":"ForStatement","src":"35636:199:67"},{"expression":{"id":34889,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34848,"src":"35848:6:67","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo memory[] memory"}},"functionReturnParameters":34766,"id":34890,"nodeType":"Return","src":"35841:13:67"}]},"documentation":{"id":34754,"nodeType":"StructuredDocumentation","src":"34097:269:67","text":"@notice Gets the tokens owned by an address\n @param owner The address of the owner to check\n @param page The page number to fetch\n @param size The number of tokens to fetch (cannot exceed 100)\n @return TokenInfo[] The tokens owned by the address"},"functionSelector":"851f738e","id":34892,"implemented":true,"kind":"function","modifiers":[],"name":"getTokensInfoByOwner","nameLocation":"34378:20:67","nodeType":"FunctionDefinition","parameters":{"id":34761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34756,"mutability":"mutable","name":"owner","nameLocation":"34407:5:67","nodeType":"VariableDeclaration","scope":34892,"src":"34399:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34755,"name":"address","nodeType":"ElementaryTypeName","src":"34399:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34758,"mutability":"mutable","name":"page","nameLocation":"34422:4:67","nodeType":"VariableDeclaration","scope":34892,"src":"34414:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34757,"name":"uint256","nodeType":"ElementaryTypeName","src":"34414:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34760,"mutability":"mutable","name":"size","nameLocation":"34436:4:67","nodeType":"VariableDeclaration","scope":34892,"src":"34428:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34759,"name":"uint256","nodeType":"ElementaryTypeName","src":"34428:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34398:43:67"},"returnParameters":{"id":34766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34765,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34892,"src":"34463:18:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV3.TokenInfo[]"},"typeName":{"baseType":{"id":34763,"nodeType":"UserDefinedTypeName","pathNode":{"id":34762,"name":"TokenInfo","nameLocations":["34463:9:67"],"nodeType":"IdentifierPath","referencedDeclaration":34675,"src":"34463:9:67"},"referencedDeclaration":34675,"src":"34463:9:67","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$34675_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo"}},"id":34764,"nodeType":"ArrayTypeName","src":"34463:11:67","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$34675_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV3.TokenInfo[]"}},"visibility":"internal"}],"src":"34462:20:67"},"scope":35081,"src":"34369:1490:67","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":34902,"nodeType":"Block","src":"35965:36:67","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":34898,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"35978:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":34899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35983:11:67","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"35978:16:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":34900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35978:18:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":34897,"id":34901,"nodeType":"Return","src":"35971:25:67"}]},"documentation":{"id":34893,"nodeType":"StructuredDocumentation","src":"35863:45:67","text":"@dev Clock used for flagging checkpoints."},"functionSelector":"91ddadf4","id":34903,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"35920:5:67","nodeType":"FunctionDefinition","parameters":{"id":34894,"nodeType":"ParameterList","parameters":[],"src":"35925:2:67"},"returnParameters":{"id":34897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34896,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34903,"src":"35957:6:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":34895,"name":"uint48","nodeType":"ElementaryTypeName","src":"35957:6:67","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"35956:8:67"},"scope":35081,"src":"35911:90:67","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":34911,"nodeType":"Block","src":"36124:49:67","statements":[{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":34909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36137:31:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":34908,"id":34910,"nodeType":"Return","src":"36130:38:67"}]},"documentation":{"id":34904,"nodeType":"StructuredDocumentation","src":"36005:50:67","text":" @dev Returns the mode of the clock."},"functionSelector":"4bf5d7e9","id":34912,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"36067:10:67","nodeType":"FunctionDefinition","parameters":{"id":34905,"nodeType":"ParameterList","parameters":[],"src":"36077:2:67"},"returnParameters":{"id":34908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34907,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34912,"src":"36109:13:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":34906,"name":"string","nodeType":"ElementaryTypeName","src":"36109:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36108:15:67"},"scope":35081,"src":"36058:115:67","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2685,3438,3727],"body":{"id":35025,"nodeType":"Block","src":"36734:897:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":34932,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34917,"src":"36766:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34931,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34627,"src":"36748:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":34933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36748:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":34934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36778:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"36748:31:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2061206e6f64652c20646574616368206265666f7265207472616e73666572","id":34936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36781:64:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""},"value":"GalaxyMember: token attached to a node, detach before transfer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""}],"id":34930,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"36740:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36740:106:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34938,"nodeType":"ExpressionStatement","src":"36740:106:67"},{"assignments":[34940],"declarations":[{"constant":false,"id":34940,"mutability":"mutable","name":"_previousOwner","nameLocation":"36861:14:67","nodeType":"VariableDeclaration","scope":35025,"src":"36853:22:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34939,"name":"address","nodeType":"ElementaryTypeName","src":"36853:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":34947,"initialValue":{"arguments":[{"id":34943,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34915,"src":"36892:2:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":34944,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34917,"src":"36896:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":34945,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34919,"src":"36905:4:67","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":34941,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"36878:5:67","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV3_$35081_$","typeString":"type(contract super GalaxyMemberV3)"}},"id":34942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36884:7:67","memberName":"_update","nodeType":"MemberAccess","referencedDeclaration":3727,"src":"36878:13:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":34946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36878:32:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"36853:57:67"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":34959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":34953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34948,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34940,"src":"36979:14:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":34951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37005:1:67","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":34950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36997:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34949,"name":"address","nodeType":"ElementaryTypeName","src":"36997:7:67","typeDescriptions":{}}},"id":34952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36997:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"36979:28:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":34955,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34940,"src":"37021:14:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34954,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"37011:9:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":34956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37011:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":34957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37040:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37011:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"36979:62:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34972,"nodeType":"IfStatement","src":"36975:169:67","trueBody":{"id":34971,"nodeType":"Block","src":"37043:101:67","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":34966,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34903,"src":"37126:5:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":34967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37126:7:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"hexValue":"30","id":34968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37135:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":34960,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"37051:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":34961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37051:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":34962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37077:27:67","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":32838,"src":"37051:53:67","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":34964,"indexExpression":{"id":34963,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34940,"src":"37105:14:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37051:69:67","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":34965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37121:4:67","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"37051:74:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":34969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37051:86:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":34970,"nodeType":"ExpressionStatement","src":"37051:86:67"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":34990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":34984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":34978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34973,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34940,"src":"37246:14:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":34976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37272:1:67","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":34975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37264:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34974,"name":"address","nodeType":"ElementaryTypeName","src":"37264:7:67","typeDescriptions":{}}},"id":34977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37264:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"37246:28:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":34980,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34940,"src":"37297:14:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34979,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34315,"src":"37278:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":34981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37278:34:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":34982,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34917,"src":"37316:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37278:45:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37246:77:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":34986,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34940,"src":"37337:14:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34985,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"37327:9:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":34987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37327:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":34988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37355:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37327:29:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37246:110:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35000,"nodeType":"IfStatement","src":"37235:206:67","trueBody":{"id":34999,"nodeType":"Block","src":"37363:78:67","statements":[{"expression":{"arguments":[{"id":34992,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34940,"src":"37379:14:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":34994,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34940,"src":"37415:14:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":34995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37431:1:67","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"}],"id":34993,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"37395:19:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":34996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37395:38:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34991,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33523,"src":"37371:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":34997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37371:63:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34998,"nodeType":"ExpressionStatement","src":"37371:63:67"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":35012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":35006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35001,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34915,"src":"37505:2:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":35004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37519:1:67","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":35003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37511:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":35002,"name":"address","nodeType":"ElementaryTypeName","src":"37511:7:67","typeDescriptions":{}}},"id":35005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37511:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"37505:16:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":35008,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34915,"src":"37535:2:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":35007,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"37525:9:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":35009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37525:13:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":35010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37542:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37525:18:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37505:38:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35022,"nodeType":"IfStatement","src":"37501:98:67","trueBody":{"id":35021,"nodeType":"Block","src":"37545:54:67","statements":[{"expression":{"arguments":[{"id":35014,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34915,"src":"37561:2:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":35016,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34915,"src":"37585:2:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":35017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37589:1:67","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"}],"id":35015,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"37565:19:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":35018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37565:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":35013,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33523,"src":"37553:7:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":35019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37553:39:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35020,"nodeType":"ExpressionStatement","src":"37553:39:67"}]}},{"expression":{"id":35023,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34940,"src":"37612:14:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":34929,"id":35024,"nodeType":"Return","src":"37605:21:67"}]},"documentation":{"id":34913,"nodeType":"StructuredDocumentation","src":"36218:294:67","text":"@notice Performs automatic level updating upon token updates\n @dev Overrides the _update function to update the highest level owned by the owner\n @param to The address to transfer the token to\n @param tokenId The token ID to update\n @param auth The address of the sender"},"id":35026,"implemented":true,"kind":"function","modifiers":[{"id":34926,"kind":"modifierInvocation","modifierName":{"id":34925,"name":"whenNotPaused","nameLocations":["36696:13:67"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"36696:13:67"},"nodeType":"ModifierInvocation","src":"36696:13:67"}],"name":"_update","nameLocation":"36524:7:67","nodeType":"FunctionDefinition","overrides":{"id":34924,"nodeType":"OverrideSpecifier","overrides":[{"id":34921,"name":"ERC721Upgradeable","nameLocations":["36617:17:67"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"36617:17:67"},{"id":34922,"name":"ERC721EnumerableUpgradeable","nameLocations":["36636:27:67"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"36636:27:67"},{"id":34923,"name":"ERC721PausableUpgradeable","nameLocations":["36665:25:67"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"36665:25:67"}],"src":"36608:83:67"},"parameters":{"id":34920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34915,"mutability":"mutable","name":"to","nameLocation":"36545:2:67","nodeType":"VariableDeclaration","scope":35026,"src":"36537:10:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34914,"name":"address","nodeType":"ElementaryTypeName","src":"36537:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34917,"mutability":"mutable","name":"tokenId","nameLocation":"36561:7:67","nodeType":"VariableDeclaration","scope":35026,"src":"36553:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34916,"name":"uint256","nodeType":"ElementaryTypeName","src":"36553:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34919,"mutability":"mutable","name":"auth","nameLocation":"36582:4:67","nodeType":"VariableDeclaration","scope":35026,"src":"36574:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34918,"name":"address","nodeType":"ElementaryTypeName","src":"36574:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36531:59:67"},"returnParameters":{"id":34929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35026,"src":"36723:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34927,"name":"address","nodeType":"ElementaryTypeName","src":"36723:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36722:9:67"},"scope":35081,"src":"36515:1116:67","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[2583,3673],"body":{"id":35044,"nodeType":"Block","src":"37867:49:67","statements":[{"expression":{"arguments":[{"id":35040,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35029,"src":"37896:7:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":35041,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35031,"src":"37905:5:67","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":35037,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"37873:5:67","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV3_$35081_$","typeString":"type(contract super GalaxyMemberV3)"}},"id":35039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37879:16:67","memberName":"_increaseBalance","nodeType":"MemberAccess","referencedDeclaration":3673,"src":"37873:22:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint128_$returns$__$","typeString":"function (address,uint128)"}},"id":35042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37873:38:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35043,"nodeType":"ExpressionStatement","src":"37873:38:67"}]},"documentation":{"id":35027,"nodeType":"StructuredDocumentation","src":"37635:93:67","text":"@dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable"},"id":35045,"implemented":true,"kind":"function","modifiers":[],"name":"_increaseBalance","nameLocation":"37740:16:67","nodeType":"FunctionDefinition","overrides":{"id":35035,"nodeType":"OverrideSpecifier","overrides":[{"id":35033,"name":"ERC721Upgradeable","nameLocations":["37819:17:67"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"37819:17:67"},{"id":35034,"name":"ERC721EnumerableUpgradeable","nameLocations":["37838:27:67"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"37838:27:67"}],"src":"37810:56:67"},"parameters":{"id":35032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35029,"mutability":"mutable","name":"account","nameLocation":"37770:7:67","nodeType":"VariableDeclaration","scope":35045,"src":"37762:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35028,"name":"address","nodeType":"ElementaryTypeName","src":"37762:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35031,"mutability":"mutable","name":"value","nameLocation":"37791:5:67","nodeType":"VariableDeclaration","scope":35045,"src":"37783:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":35030,"name":"uint128","nodeType":"ElementaryTypeName","src":"37783:7:67","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"37756:44:67"},"returnParameters":{"id":35036,"nodeType":"ParameterList","parameters":[],"src":"37867:0:67"},"scope":35081,"src":"37731:185:67","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[91,2158,3282],"body":{"id":35062,"nodeType":"Block","src":"38209:54:67","statements":[{"expression":{"arguments":[{"id":35059,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35048,"src":"38246:11:67","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":35057,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"38222:5:67","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV3_$35081_$","typeString":"type(contract super GalaxyMemberV3)"}},"id":35058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38228:17:67","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":91,"src":"38222:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":35060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38222:36:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":35056,"id":35061,"nodeType":"Return","src":"38215:43:67"}]},"documentation":{"id":35046,"nodeType":"StructuredDocumentation","src":"37920:121:67","text":"@dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable"},"functionSelector":"01ffc9a7","id":35063,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"38053:17:67","nodeType":"FunctionDefinition","overrides":{"id":35053,"nodeType":"OverrideSpecifier","overrides":[{"id":35050,"name":"ERC721Upgradeable","nameLocations":["38120:17:67"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"38120:17:67"},{"id":35051,"name":"ERC721EnumerableUpgradeable","nameLocations":["38139:27:67"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"38139:27:67"},{"id":35052,"name":"AccessControlUpgradeable","nameLocations":["38168:24:67"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"38168:24:67"}],"src":"38111:82:67"},"parameters":{"id":35049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35048,"mutability":"mutable","name":"interfaceId","nameLocation":"38083:11:67","nodeType":"VariableDeclaration","scope":35063,"src":"38076:18:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":35047,"name":"bytes4","nodeType":"ElementaryTypeName","src":"38076:6:67","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"38070:28:67"},"returnParameters":{"id":35056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35063,"src":"38203:4:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35054,"name":"bool","nodeType":"ElementaryTypeName","src":"38203:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38202:6:67"},"scope":35081,"src":"38044:219:67","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[2283],"body":{"id":35079,"nodeType":"Block","src":"38400:96:67","statements":[{"assignments":[35072],"declarations":[{"constant":false,"id":35072,"mutability":"mutable","name":"$","nameLocation":"38434:1:67","nodeType":"VariableDeclaration","scope":35079,"src":"38406:29:67","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"},"typeName":{"id":35071,"nodeType":"UserDefinedTypeName","pathNode":{"id":35070,"name":"GalaxyMemberStorage","nameLocations":["38406:19:67"],"nodeType":"IdentifierPath","referencedDeclaration":32839,"src":"38406:19:67"},"referencedDeclaration":32839,"src":"38406:19:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage"}},"visibility":"internal"}],"id":35075,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35073,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32852,"src":"38438:23:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$32839_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV3.GalaxyMemberStorage storage pointer)"}},"id":35074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38438:25:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"38406:57:67"},{"expression":{"expression":{"id":35076,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35072,"src":"38476:1:67","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$32839_storage_ptr","typeString":"struct GalaxyMemberV3.GalaxyMemberStorage storage pointer"}},"id":35077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38478:13:67","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":32782,"src":"38476:15:67","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":35069,"id":35078,"nodeType":"Return","src":"38469:22:67"}]},"documentation":{"id":35064,"nodeType":"StructuredDocumentation","src":"38267:63:67","text":"@dev Overrides the _baseURI for ERC721URIStorageUpgradeable"},"id":35080,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"38342:8:67","nodeType":"FunctionDefinition","overrides":{"id":35066,"nodeType":"OverrideSpecifier","overrides":[],"src":"38367:8:67"},"parameters":{"id":35065,"nodeType":"ParameterList","parameters":[],"src":"38350:2:67"},"returnParameters":{"id":35069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35080,"src":"38385:13:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":35067,"name":"string","nodeType":"ElementaryTypeName","src":"38385:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38384:15:67"},"scope":35081,"src":"38333:163:67","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":35082,"src":"4026:34472:67","usedErrors":[1495,1498,1759,1764,3243,3246,4026,4029,4194,4342,4345,4614,4619,4628,4633,4638,4645,4650,4655,4738,4751,5344,5347,7025,8883],"usedEvents":[1503,4018,4023,4354,4363,4372,4717,5152,5161,5170,32859,32868,32875,32882,32889,32896,32902,32907,32914,32921]}],"src":"1195:37304:67"},"id":67},"contracts/deprecated/V3/VoterRewardsV3.sol":{"ast":{"absolutePath":"contracts/deprecated/V3/VoterRewardsV3.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Checkpoints":[10447],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"GovernorTypes":[61442],"IAccessControl":[4415],"IB3TR":[62888],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC6372":[4552],"IEmissions":[64454],"IGalaxyMember":[65196],"IGalaxyMemberV2":[32081],"IGrantsManager":[65639],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"Math":[7015],"ReentrancyGuardUpgradeable":[4292],"SafeCast":[8770],"Time":[11669],"UUPSUpgradeable":[1914],"VoterRewardsV3":[36214]},"id":36215,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":35083,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:68"},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":35084,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":363,"src":"1220:81:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":35085,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":4293,"src":"1302:82:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V2/interfaces/IGalaxyMemberV2.sol","file":"../V2/interfaces/IGalaxyMemberV2.sol","id":35086,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":32082,"src":"1385:46:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":35087,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":63920,"src":"1432:44:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":35088,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":71125,"src":"1477:57:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../../interfaces/IEmissions.sol","id":35089,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":64455,"src":"1535:41:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":35090,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":62889,"src":"1577:36:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":35091,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":1915,"src":"1614:77:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":35092,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":8771,"src":"1692:57:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":35093,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":10448,"src":"1750:63:68","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":35094,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":36215,"sourceUnit":11670,"src":"1814:54:68","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":35096,"name":"AccessControlUpgradeable","nameLocations":["3691:24:68"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"3691:24:68"},"id":35097,"nodeType":"InheritanceSpecifier","src":"3691:24:68"},{"baseName":{"id":35098,"name":"ReentrancyGuardUpgradeable","nameLocations":["3717:26:68"],"nodeType":"IdentifierPath","referencedDeclaration":4292,"src":"3717:26:68"},"id":35099,"nodeType":"InheritanceSpecifier","src":"3717:26:68"},{"baseName":{"id":35100,"name":"UUPSUpgradeable","nameLocations":["3745:15:68"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"3745:15:68"},"id":35101,"nodeType":"InheritanceSpecifier","src":"3745:15:68"}],"canonicalName":"VoterRewardsV3","contractDependencies":[],"contractKind":"contract","documentation":{"id":35095,"nodeType":"StructuredDocumentation","src":"1870:1793:68","text":" @title VoterRewards\n @author VeBetterDAO\n @notice This contract handles the rewards for voters in the VeBetterDAO ecosystem.\n It calculates the rewards for voters based on their voting power and the level of their Galaxy Member NFT.\n @dev The contract is\n - upgradeable using UUPSUpgradeable.\n - using AccessControl to handle the admin and upgrader roles.\n - using ReentrancyGuard to prevent reentrancy attacks.\n - following the ERC-7201 standard for storage layout.\n Roles:\n - DEFAULT_ADMIN_ROLE: The role that can add new admins and upgraders. It is also the role that can set scaling factor and the Galaxy Member level to multiplier mapping.\n - UPGRADER_ROLE: The role that can upgrade the contract.\n - VOTE_REGISTRAR_ROLE: The role that can register votes for rewards calculation.\n - CONTRACTS_ADDRESS_MANAGER_ROLE: The role that can set the addresses of the contracts used by the VoterRewards contract.\n ------------------ Version 2 Changes ------------------\n - Added quadratic rewarding disabled checkpoints to disable quadratic rewarding for a specific cycle.\n - Added the clock function to get the current block number.\n - Added functions to check if quadratic rewarding is disabled at a specific block number or for the current cycle.\n - Added function to disable quadratic rewarding or re-enable it.\n ------------------ Version 3 Changes ------------------\n - Added the ability to track if a Galaxy Member NFT has voted in a proposal.\n - Added the ability to track if a Vechain node attached to a Galaxy Member NFT has voted in a proposal.\n - Proposal Id is now required when registering votes instead of proposal snapshot.\n - Core logic functions are now virtual allowing to be overridden through inheritance."},"fullyImplemented":true,"id":36214,"linearizedBaseContracts":[36214,1914,4566,4292,362,4332,5961,4415,3987,1732],"name":"VoterRewardsV3","nameLocation":"3673:14:68","nodeType":"ContractDefinition","nodes":[{"global":false,"id":35105,"libraryName":{"id":35102,"name":"Checkpoints","nameLocations":["3771:11:68"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"3771:11:68"},"nodeType":"UsingForDirective","src":"3765:43:68","typeName":{"id":35104,"nodeType":"UserDefinedTypeName","pathNode":{"id":35103,"name":"Checkpoints.Trace208","nameLocations":["3787:11:68","3799:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"3787:20:68"},"referencedDeclaration":9409,"src":"3787:20:68","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"constant":true,"documentation":{"id":35106,"nodeType":"StructuredDocumentation","src":"3894:69:68","text":"@notice The role that can register votes for rewards calculation."},"functionSelector":"de7fd133","id":35111,"mutability":"constant","name":"VOTE_REGISTRAR_ROLE","nameLocation":"3990:19:68","nodeType":"VariableDeclaration","scope":36214,"src":"3966:78:68","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3966:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"564f54455f5245474953545241525f524f4c45","id":35109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4022:21:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_79e0a786be046868ec7a47625dff81941dbb889bcb3efd61d7ece9a9b92e2279","typeString":"literal_string \"VOTE_REGISTRAR_ROLE\""},"value":"VOTE_REGISTRAR_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79e0a786be046868ec7a47625dff81941dbb889bcb3efd61d7ece9a9b92e2279","typeString":"literal_string \"VOTE_REGISTRAR_ROLE\""}],"id":35108,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4012:9:68","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":35110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4012:32:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":35112,"nodeType":"StructuredDocumentation","src":"4049:51:68","text":"@notice The role that can upgrade the contract."},"functionSelector":"f72c0d8b","id":35117,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"4127:13:68","nodeType":"VariableDeclaration","scope":36214,"src":"4103:66:68","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35113,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4103:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":35115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4153:15:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":35114,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4143:9:68","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":35116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4143:26:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":35118,"nodeType":"StructuredDocumentation","src":"4174:99:68","text":"@notice The role that can set the addresses of the contracts used by the VoterRewards contract."},"functionSelector":"952f2133","id":35123,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"4300:30:68","nodeType":"VariableDeclaration","scope":36214,"src":"4276:100:68","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4276:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":35121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4343:32:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":35120,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4333:9:68","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":35122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4333:43:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":35124,"nodeType":"StructuredDocumentation","src":"4381:59:68","text":"@notice The scaling factor for the rewards calculation."},"functionSelector":"ef4cadc5","id":35127,"mutability":"constant","name":"SCALING_FACTOR","nameLocation":"4467:14:68","nodeType":"VariableDeclaration","scope":36214,"src":"4443:44:68","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35125,"name":"uint256","nodeType":"ElementaryTypeName","src":"4443:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"316536","id":35126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4484:3:68","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1e6"},"visibility":"public"},{"canonicalName":"VoterRewardsV3.VoterRewardsStorage","documentation":{"id":35128,"nodeType":"StructuredDocumentation","src":"4492:62:68","text":"@custom:storage-location erc7201:b3tr.storage.VoterRewards"},"id":35167,"members":[{"constant":false,"id":35131,"mutability":"mutable","name":"galaxyMember","nameLocation":"4606:12:68","nodeType":"VariableDeclaration","scope":35167,"src":"4590:28:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"},"typeName":{"id":35130,"nodeType":"UserDefinedTypeName","pathNode":{"id":35129,"name":"IGalaxyMemberV2","nameLocations":["4590:15:68"],"nodeType":"IdentifierPath","referencedDeclaration":32081,"src":"4590:15:68"},"referencedDeclaration":32081,"src":"4590:15:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"visibility":"internal"},{"constant":false,"id":35134,"mutability":"mutable","name":"b3tr","nameLocation":"4630:4:68","nodeType":"VariableDeclaration","scope":35167,"src":"4624:10:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":35133,"nodeType":"UserDefinedTypeName","pathNode":{"id":35132,"name":"IB3TR","nameLocations":["4624:5:68"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"4624:5:68"},"referencedDeclaration":62888,"src":"4624:5:68","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":35137,"mutability":"mutable","name":"emissions","nameLocation":"4651:9:68","nodeType":"VariableDeclaration","scope":35167,"src":"4640:20:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":35136,"nodeType":"UserDefinedTypeName","pathNode":{"id":35135,"name":"IEmissions","nameLocations":["4640:10:68"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"4640:10:68"},"referencedDeclaration":64454,"src":"4640:10:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":35141,"mutability":"mutable","name":"levelToMultiplier","nameLocation":"4760:17:68","nodeType":"VariableDeclaration","scope":35167,"src":"4732:45:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":35140,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":35138,"name":"uint256","nodeType":"ElementaryTypeName","src":"4740:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4732:27:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":35139,"name":"uint256","nodeType":"ElementaryTypeName","src":"4751:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":35145,"mutability":"mutable","name":"cycleToTotal","nameLocation":"4861:12:68","nodeType":"VariableDeclaration","scope":35167,"src":"4833:40:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":35144,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":35142,"name":"uint256","nodeType":"ElementaryTypeName","src":"4841:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4833:27:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":35143,"name":"uint256","nodeType":"ElementaryTypeName","src":"4852:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":35151,"mutability":"mutable","name":"cycleToVoterToTotal","nameLocation":"5018:19:68","nodeType":"VariableDeclaration","scope":35167,"src":"4952:85:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"typeName":{"id":35150,"keyName":"cycle","keyNameLocation":"4968:5:68","keyType":{"id":35146,"name":"uint256","nodeType":"ElementaryTypeName","src":"4960:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4952:65:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":35149,"keyName":"voter","keyNameLocation":"4993:5:68","keyType":{"id":35147,"name":"address","nodeType":"ElementaryTypeName","src":"4985:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4977:39:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"total","valueNameLocation":"5010:5:68","valueType":{"id":35148,"name":"uint256","nodeType":"ElementaryTypeName","src":"5002:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":35154,"mutability":"mutable","name":"quadraticRewardingDisabled","nameLocation":"5191:26:68","nodeType":"VariableDeclaration","scope":35167,"src":"5170:47:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":35153,"nodeType":"UserDefinedTypeName","pathNode":{"id":35152,"name":"Checkpoints.Trace208","nameLocations":["5170:11:68","5182:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"5170:20:68"},"referencedDeclaration":9409,"src":"5170:20:68","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":35160,"mutability":"mutable","name":"proposalToGalaxyMemberToHasVoted","nameLocation":"5472:32:68","nodeType":"VariableDeclaration","scope":35167,"src":"5408:96:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(uint256 => bool))"},"typeName":{"id":35159,"keyName":"proposalId","keyNameLocation":"5424:10:68","keyType":{"id":35155,"name":"uint256","nodeType":"ElementaryTypeName","src":"5416:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5408:63:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(uint256 => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":35158,"keyName":"tokenId","keyNameLocation":"5454:7:68","keyType":{"id":35156,"name":"uint256","nodeType":"ElementaryTypeName","src":"5446:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5438:32:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":35157,"name":"bool","nodeType":"ElementaryTypeName","src":"5465:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"},{"constant":false,"id":35166,"mutability":"mutable","name":"proposalToNodeToHasVoted","nameLocation":"5732:24:68","nodeType":"VariableDeclaration","scope":35167,"src":"5669:87:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(uint256 => bool))"},"typeName":{"id":35165,"keyName":"proposalId","keyNameLocation":"5685:10:68","keyType":{"id":35161,"name":"uint256","nodeType":"ElementaryTypeName","src":"5677:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5669:62:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(uint256 => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":35164,"keyName":"nodeId","keyNameLocation":"5715:6:68","keyType":{"id":35162,"name":"uint256","nodeType":"ElementaryTypeName","src":"5707:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5699:31:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":35163,"name":"bool","nodeType":"ElementaryTypeName","src":"5725:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"}],"name":"VoterRewardsStorage","nameLocation":"4564:19:68","nodeType":"StructDefinition","scope":36214,"src":"4557:1204:68","visibility":"public"},{"constant":true,"id":35170,"mutability":"constant","name":"VoterRewardsStorageLocation","nameLocation":"5896:27:68","nodeType":"VariableDeclaration","scope":36214,"src":"5871:125:68","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5871:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307831313465376666616166323035643338636430356231376235366633333537383036656632636538383963623437343834343561653931636466633337633030","id":35169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5930:66:68","typeDescriptions":{"typeIdentifier":"t_rational_7828015777183916649553982079981977858063515859888425983188164848181982755840_by_1","typeString":"int_const 7828...(68 digits omitted)...5840"},"value":"0x114e7ffaaf205d38cd05b17b56f3357806ef2ce889cb4748445ae91cdfc37c00"},"visibility":"private"},{"body":{"id":35178,"nodeType":"Block","src":"6217:70:68","statements":[{"AST":{"nodeType":"YulBlock","src":"6232:51:68","statements":[{"nodeType":"YulAssignment","src":"6240:37:68","value":{"name":"VoterRewardsStorageLocation","nodeType":"YulIdentifier","src":"6250:27:68"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"6240:6:68"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":35175,"isOffset":false,"isSlot":true,"src":"6240:6:68","suffix":"slot","valueSize":1},{"declaration":35170,"isOffset":false,"isSlot":false,"src":"6250:27:68","valueSize":1}],"id":35177,"nodeType":"InlineAssembly","src":"6223:60:68"}]},"documentation":{"id":35171,"nodeType":"StructuredDocumentation","src":"6001:124:68","text":"@notice Get the VoterRewardsStorage struct from the specified storage slot specified by the VoterRewardsStorageLocation."},"id":35179,"implemented":true,"kind":"function","modifiers":[],"name":"_getVoterRewardsStorage","nameLocation":"6137:23:68","nodeType":"FunctionDefinition","parameters":{"id":35172,"nodeType":"ParameterList","parameters":[],"src":"6160:2:68"},"returnParameters":{"id":35176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35175,"mutability":"mutable","name":"$","nameLocation":"6214:1:68","nodeType":"VariableDeclaration","scope":35179,"src":"6186:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35174,"nodeType":"UserDefinedTypeName","pathNode":{"id":35173,"name":"VoterRewardsStorage","nameLocations":["6186:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"6186:19:68"},"referencedDeclaration":35167,"src":"6186:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"src":"6185:31:68"},"scope":36214,"src":"6128:159:68","stateMutability":"pure","virtual":false,"visibility":"internal"},{"anonymous":false,"documentation":{"id":35180,"nodeType":"StructuredDocumentation","src":"6291:376:68","text":"@notice Emitted when a user registers their votes for rewards calculation.\n @param cycle - The cycle in which the votes were registered.\n @param voter- The address of the voter.\n @param votes - The number of votes cast by the voter.\n @param rewardWeightedVote - The reward-weighted vote power for the voter based on their voting power and GM NFT level."},"eventSelector":"ac45cfd9cf13dd2e8b216503a1ca26d9f2a35e9a6b4b1b5cecc415db06ddf63f","id":35190,"name":"VoteRegistered","nameLocation":"6676:14:68","nodeType":"EventDefinition","parameters":{"id":35189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35182,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"6707:5:68","nodeType":"VariableDeclaration","scope":35190,"src":"6691:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35181,"name":"uint256","nodeType":"ElementaryTypeName","src":"6691:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35184,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"6730:5:68","nodeType":"VariableDeclaration","scope":35190,"src":"6714:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35183,"name":"address","nodeType":"ElementaryTypeName","src":"6714:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35186,"indexed":false,"mutability":"mutable","name":"votes","nameLocation":"6745:5:68","nodeType":"VariableDeclaration","scope":35190,"src":"6737:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35185,"name":"uint256","nodeType":"ElementaryTypeName","src":"6737:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35188,"indexed":false,"mutability":"mutable","name":"rewardWeightedVote","nameLocation":"6760:18:68","nodeType":"VariableDeclaration","scope":35190,"src":"6752:26:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35187,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6690:89:68"},"src":"6670:110:68"},{"anonymous":false,"documentation":{"id":35191,"nodeType":"StructuredDocumentation","src":"6784:236:68","text":"@notice Emitted when a user claims their rewards.\n @param cycle - The cycle in which the rewards were claimed.\n @param voter - The address of the voter.\n @param reward - The amount of B3TR reward claimed by the voter."},"eventSelector":"24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7","id":35199,"name":"RewardClaimed","nameLocation":"7029:13:68","nodeType":"EventDefinition","parameters":{"id":35198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35193,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"7059:5:68","nodeType":"VariableDeclaration","scope":35199,"src":"7043:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35192,"name":"uint256","nodeType":"ElementaryTypeName","src":"7043:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35195,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"7082:5:68","nodeType":"VariableDeclaration","scope":35199,"src":"7066:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35194,"name":"address","nodeType":"ElementaryTypeName","src":"7066:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35197,"indexed":false,"mutability":"mutable","name":"reward","nameLocation":"7097:6:68","nodeType":"VariableDeclaration","scope":35199,"src":"7089:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35196,"name":"uint256","nodeType":"ElementaryTypeName","src":"7089:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7042:62:68"},"src":"7023:82:68"},{"anonymous":false,"documentation":{"id":35200,"nodeType":"StructuredDocumentation","src":"7109:213:68","text":"@notice Emitted when the Galaxy Member contract address is set.\n @param newAddress - The address of the new Galaxy Member contract.\n @param oldAddress - The address of the old Galaxy Member contract."},"eventSelector":"3e9cacccd727006bc0e1f6b190b46b34090f490cd3ab7e45f3ac7a9cfeda63ff","id":35206,"name":"GalaxyMemberAddressUpdated","nameLocation":"7331:26:68","nodeType":"EventDefinition","parameters":{"id":35205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35202,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"7374:10:68","nodeType":"VariableDeclaration","scope":35206,"src":"7358:26:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35201,"name":"address","nodeType":"ElementaryTypeName","src":"7358:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35204,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"7402:10:68","nodeType":"VariableDeclaration","scope":35206,"src":"7386:26:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35203,"name":"address","nodeType":"ElementaryTypeName","src":"7386:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7357:56:68"},"src":"7325:89:68"},{"anonymous":false,"documentation":{"id":35207,"nodeType":"StructuredDocumentation","src":"7418:201:68","text":"@notice Emitted when the Emissions contract address is set.\n @param newAddress - The address of the new Emissions contract.\n @param oldAddress - The address of the old Emissions contract."},"eventSelector":"ee0bb99897b3f409686cb6e56601a38cea38e9e00d9b28752b3be7b28ea8b0ad","id":35213,"name":"EmissionsAddressUpdated","nameLocation":"7628:23:68","nodeType":"EventDefinition","parameters":{"id":35212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35209,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"7668:10:68","nodeType":"VariableDeclaration","scope":35213,"src":"7652:26:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35208,"name":"address","nodeType":"ElementaryTypeName","src":"7652:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35211,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"7696:10:68","nodeType":"VariableDeclaration","scope":35213,"src":"7680:26:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35210,"name":"address","nodeType":"ElementaryTypeName","src":"7680:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7651:56:68"},"src":"7622:86:68"},{"anonymous":false,"documentation":{"id":35214,"nodeType":"StructuredDocumentation","src":"7712:213:68","text":"@notice Emitted when the level to multiplier mapping is set.\n @param level - The level of the Galaxy Member NFT.\n @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT."},"eventSelector":"cc259987543a764767934b4d714760c68fdeb2ba8318210d9802cf66ae854001","id":35220,"name":"LevelToMultiplierSet","nameLocation":"7934:20:68","nodeType":"EventDefinition","parameters":{"id":35219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35216,"indexed":true,"mutability":"mutable","name":"level","nameLocation":"7971:5:68","nodeType":"VariableDeclaration","scope":35220,"src":"7955:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35215,"name":"uint256","nodeType":"ElementaryTypeName","src":"7955:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35218,"indexed":false,"mutability":"mutable","name":"multiplier","nameLocation":"7986:10:68","nodeType":"VariableDeclaration","scope":35220,"src":"7978:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35217,"name":"uint256","nodeType":"ElementaryTypeName","src":"7978:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7954:43:68"},"src":"7928:70:68"},{"anonymous":false,"documentation":{"id":35221,"nodeType":"StructuredDocumentation","src":"8002:150:68","text":"@notice Emits true if quadratic rewarding is disabled, false otherwise.\n @param disabled - The flag to enable or disable quadratic rewarding."},"eventSelector":"541dc5534ac80f8161f980a8975bec206aee2363c8fa3c54a4709ee3b0cbe99f","id":35225,"name":"QuadraticRewardingToggled","nameLocation":"8161:25:68","nodeType":"EventDefinition","parameters":{"id":35224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35223,"indexed":true,"mutability":"mutable","name":"disabled","nameLocation":"8200:8:68","nodeType":"VariableDeclaration","scope":35225,"src":"8187:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35222,"name":"bool","nodeType":"ElementaryTypeName","src":"8187:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8186:23:68"},"src":"8155:55:68"},{"body":{"id":35232,"nodeType":"Block","src":"8279:33:68","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":35229,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"8285:20:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":35230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8285:22:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35231,"nodeType":"ExpressionStatement","src":"8285:22:68"}]},"documentation":{"id":35226,"nodeType":"StructuredDocumentation","src":"8214:48:68","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":35233,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":35227,"nodeType":"ParameterList","parameters":[],"src":"8276:2:68"},"returnParameters":{"id":35228,"nodeType":"ParameterList","parameters":[],"src":"8279:0:68"},"scope":36214,"src":"8265:47:68","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":35392,"nodeType":"Block","src":"9152:1156:68","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":35263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35258,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35244,"src":"9166:13:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":35261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9191:1:68","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":35260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9183:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":35259,"name":"address","nodeType":"ElementaryTypeName","src":"9183:7:68","typeDescriptions":{}}},"id":35262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9183:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9166:27:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a205f67616c6178794d656d6265722063616e6e6f7420626520746865207a65726f2061646472657373","id":35264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9195:56:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d","typeString":"literal_string \"VoterRewards: _galaxyMember cannot be the zero address\""},"value":"VoterRewards: _galaxyMember cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d","typeString":"literal_string \"VoterRewards: _galaxyMember cannot be the zero address\""}],"id":35257,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9158:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9158:94:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35266,"nodeType":"ExpressionStatement","src":"9158:94:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":35273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35268,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35242,"src":"9266:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":35271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9288:1:68","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":35270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9280:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":35269,"name":"address","nodeType":"ElementaryTypeName","src":"9280:7:68","typeDescriptions":{}}},"id":35272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9280:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9266:24:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20656d697373696f6e732063616e6e6f7420626520746865207a65726f2061646472657373","id":35274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9292:52:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001","typeString":"literal_string \"VoterRewards: emissions cannot be the zero address\""},"value":"VoterRewards: emissions cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001","typeString":"literal_string \"VoterRewards: emissions cannot be the zero address\""}],"id":35267,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9258:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9258:87:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35276,"nodeType":"ExpressionStatement","src":"9258:87:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":35283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35278,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35246,"src":"9359:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":35281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9376:1:68","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":35280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9368:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":35279,"name":"address","nodeType":"ElementaryTypeName","src":"9368:7:68","typeDescriptions":{}}},"id":35282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9368:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9359:19:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a205f623374722063616e6e6f7420626520746865207a65726f2061646472657373","id":35284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9380:48:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6","typeString":"literal_string \"VoterRewards: _b3tr cannot be the zero address\""},"value":"VoterRewards: _b3tr cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6","typeString":"literal_string \"VoterRewards: _b3tr cannot be the zero address\""}],"id":35277,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9351:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9351:78:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35286,"nodeType":"ExpressionStatement","src":"9351:78:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":35288,"name":"levels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35249,"src":"9444:6:68","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":35289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9451:6:68","memberName":"length","nodeType":"MemberAccess","src":"9444:13:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":35290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9460:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9444:17:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206c6576656c73206d7573742068617665206174206c65617374206f6e6520656c656d656e74","id":35292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9463:53:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907","typeString":"literal_string \"VoterRewards: levels must have at least one element\""},"value":"VoterRewards: levels must have at least one element"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907","typeString":"literal_string \"VoterRewards: levels must have at least one element\""}],"id":35287,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9436:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9436:81:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35294,"nodeType":"ExpressionStatement","src":"9436:81:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":35296,"name":"levels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35249,"src":"9531:6:68","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":35297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9538:6:68","memberName":"length","nodeType":"MemberAccess","src":"9531:13:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":35298,"name":"multipliers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35252,"src":"9548:11:68","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":35299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9560:6:68","memberName":"length","nodeType":"MemberAccess","src":"9548:18:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9531:35:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206c6576656c7320616e64206d756c7469706c69657273206d7573742068617665207468652073616d65206c656e677468","id":35301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9568:64:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535","typeString":"literal_string \"VoterRewards: levels and multipliers must have the same length\""},"value":"VoterRewards: levels and multipliers must have the same length"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535","typeString":"literal_string \"VoterRewards: levels and multipliers must have the same length\""}],"id":35295,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9523:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9523:110:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35303,"nodeType":"ExpressionStatement","src":"9523:110:68"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":35304,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"9640:20:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":35305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9640:22:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35306,"nodeType":"ExpressionStatement","src":"9640:22:68"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":35307,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4203,"src":"9668:22:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":35308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9668:24:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35309,"nodeType":"ExpressionStatement","src":"9668:24:68"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":35310,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"9698:22:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":35311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9698:24:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35312,"nodeType":"ExpressionStatement","src":"9698:24:68"},{"assignments":[35315],"declarations":[{"constant":false,"id":35315,"mutability":"mutable","name":"$","nameLocation":"9757:1:68","nodeType":"VariableDeclaration","scope":35392,"src":"9729:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35314,"nodeType":"UserDefinedTypeName","pathNode":{"id":35313,"name":"VoterRewardsStorage","nameLocations":["9729:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"9729:19:68"},"referencedDeclaration":35167,"src":"9729:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35318,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35316,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"9761:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9761:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9729:57:68"},{"expression":{"id":35325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":35319,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35315,"src":"9793:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9795:12:68","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":35131,"src":"9793:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":35323,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35244,"src":"9826:13:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":35322,"name":"IGalaxyMemberV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32081,"src":"9810:15:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGalaxyMemberV2_$32081_$","typeString":"type(contract IGalaxyMemberV2)"}},"id":35324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9810:30:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"src":"9793:47:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"id":35326,"nodeType":"ExpressionStatement","src":"9793:47:68"},{"expression":{"id":35333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":35327,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35315,"src":"9846:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9848:4:68","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":35134,"src":"9846:6:68","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":35331,"name":"_b3tr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35246,"src":"9861:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":35330,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"9855:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":35332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9855:12:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"9846:21:68","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":35334,"nodeType":"ExpressionStatement","src":"9846:21:68"},{"expression":{"id":35341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":35335,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35315,"src":"9873:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9875:9:68","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":35137,"src":"9873:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":35339,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35242,"src":"9898:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":35338,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"9887:10:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IEmissions_$64454_$","typeString":"type(contract IEmissions)"}},"id":35340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9887:22:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"9873:36:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":35342,"nodeType":"ExpressionStatement","src":"9873:36:68"},{"body":{"id":35365,"nodeType":"Block","src":"10000:62:68","statements":[{"expression":{"id":35363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":35353,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35315,"src":"10008:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10010:17:68","memberName":"levelToMultiplier","nodeType":"MemberAccess","referencedDeclaration":35141,"src":"10008:19:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":35359,"indexExpression":{"baseExpression":{"id":35355,"name":"levels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35249,"src":"10028:6:68","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":35357,"indexExpression":{"id":35356,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35344,"src":"10035:1:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10028:9:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10008:30:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":35360,"name":"multipliers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35252,"src":"10041:11:68","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":35362,"indexExpression":{"id":35361,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35344,"src":"10053:1:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10041:14:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10008:47:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":35364,"nodeType":"ExpressionStatement","src":"10008:47:68"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35346,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35344,"src":"9976:1:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":35347,"name":"levels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35249,"src":"9980:6:68","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":35348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9987:6:68","memberName":"length","nodeType":"MemberAccess","src":"9980:13:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9976:17:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35366,"initializationExpression":{"assignments":[35344],"declarations":[{"constant":false,"id":35344,"mutability":"mutable","name":"i","nameLocation":"9973:1:68","nodeType":"VariableDeclaration","scope":35366,"src":"9965:9:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35343,"name":"uint256","nodeType":"ElementaryTypeName","src":"9965:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35345,"nodeType":"VariableDeclarationStatement","src":"9965:9:68"},"loopExpression":{"expression":{"id":35351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9995:3:68","subExpression":{"id":35350,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35344,"src":"9995:1:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":35352,"nodeType":"ExpressionStatement","src":"9995:3:68"},"nodeType":"ForStatement","src":"9960:102:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":35373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35368,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35236,"src":"10076:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":35371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10093:1:68","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":35370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10085:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":35369,"name":"address","nodeType":"ElementaryTypeName","src":"10085:7:68","typeDescriptions":{}}},"id":35372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10085:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10076:19:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a2061646d696e2063616e6e6f7420626520746865207a65726f2061646472657373","id":35374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10097:48:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c","typeString":"literal_string \"VoterRewards: admin cannot be the zero address\""},"value":"VoterRewards: admin cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c","typeString":"literal_string \"VoterRewards: admin cannot be the zero address\""}],"id":35367,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10068:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10068:78:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35376,"nodeType":"ExpressionStatement","src":"10068:78:68"},{"expression":{"arguments":[{"id":35378,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"10163:18:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":35379,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35236,"src":"10183:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":35377,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"10152:10:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":35380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10152:37:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35381,"nodeType":"ExpressionStatement","src":"10152:37:68"},{"expression":{"arguments":[{"id":35383,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35117,"src":"10206:13:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":35384,"name":"upgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35238,"src":"10221:8:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":35382,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"10195:10:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":35385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10195:35:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35386,"nodeType":"ExpressionStatement","src":"10195:35:68"},{"expression":{"arguments":[{"id":35388,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35123,"src":"10247:30:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":35389,"name":"contractsAddressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35240,"src":"10279:23:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":35387,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"10236:10:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":35390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10236:67:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35391,"nodeType":"ExpressionStatement","src":"10236:67:68"}]},"documentation":{"id":35234,"nodeType":"StructuredDocumentation","src":"8316:577:68","text":"@notice Initialize the VoterRewards contract.\n @param admin - The address of the admin.\n @param upgrader - The address of the upgrader.\n @param contractsAddressManager - The address of the contract address manager.\n @param _emissions - The address of the emissions contract.\n @param _galaxyMember - The address of the Galaxy Member contract.\n @param _b3tr - The address of the B3TR token contract.\n @param levels - The levels of the Galaxy Member NFTs.\n @param multipliers  - The multipliers for the levels of the Galaxy Member NFTs."},"functionSelector":"0dd3729c","id":35393,"implemented":true,"kind":"function","modifiers":[{"id":35255,"kind":"modifierInvocation","modifierName":{"id":35254,"name":"initializer","nameLocations":["9140:11:68"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"9140:11:68"},"nodeType":"ModifierInvocation","src":"9140:11:68"}],"name":"initialize","nameLocation":"8905:10:68","nodeType":"FunctionDefinition","parameters":{"id":35253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35236,"mutability":"mutable","name":"admin","nameLocation":"8929:5:68","nodeType":"VariableDeclaration","scope":35393,"src":"8921:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35235,"name":"address","nodeType":"ElementaryTypeName","src":"8921:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35238,"mutability":"mutable","name":"upgrader","nameLocation":"8948:8:68","nodeType":"VariableDeclaration","scope":35393,"src":"8940:16:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35237,"name":"address","nodeType":"ElementaryTypeName","src":"8940:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35240,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"8970:23:68","nodeType":"VariableDeclaration","scope":35393,"src":"8962:31:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35239,"name":"address","nodeType":"ElementaryTypeName","src":"8962:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35242,"mutability":"mutable","name":"_emissions","nameLocation":"9007:10:68","nodeType":"VariableDeclaration","scope":35393,"src":"8999:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35241,"name":"address","nodeType":"ElementaryTypeName","src":"8999:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35244,"mutability":"mutable","name":"_galaxyMember","nameLocation":"9031:13:68","nodeType":"VariableDeclaration","scope":35393,"src":"9023:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35243,"name":"address","nodeType":"ElementaryTypeName","src":"9023:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35246,"mutability":"mutable","name":"_b3tr","nameLocation":"9058:5:68","nodeType":"VariableDeclaration","scope":35393,"src":"9050:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35245,"name":"address","nodeType":"ElementaryTypeName","src":"9050:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35249,"mutability":"mutable","name":"levels","nameLocation":"9086:6:68","nodeType":"VariableDeclaration","scope":35393,"src":"9069:23:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":35247,"name":"uint256","nodeType":"ElementaryTypeName","src":"9069:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":35248,"nodeType":"ArrayTypeName","src":"9069:9:68","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":35252,"mutability":"mutable","name":"multipliers","nameLocation":"9115:11:68","nodeType":"VariableDeclaration","scope":35393,"src":"9098:28:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":35250,"name":"uint256","nodeType":"ElementaryTypeName","src":"9098:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":35251,"nodeType":"ArrayTypeName","src":"9098:9:68","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"8915:215:68"},"returnParameters":{"id":35256,"nodeType":"ParameterList","parameters":[],"src":"9152:0:68"},"scope":36214,"src":"8896:1412:68","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":35403,"nodeType":"Block","src":"10635:2:68","statements":[]},"documentation":{"id":35394,"nodeType":"StructuredDocumentation","src":"10312:224:68","text":"@notice Upgrade the implementation of the VoterRewards contract.\n @dev Only the address with the UPGRADER_ROLE can call this function.\n @param newImplementation - The address of the new implementation contract."},"id":35404,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":35400,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35117,"src":"10620:13:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":35401,"kind":"modifierInvocation","modifierName":{"id":35399,"name":"onlyRole","nameLocations":["10611:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"10611:8:68"},"nodeType":"ModifierInvocation","src":"10611:23:68"}],"name":"_authorizeUpgrade","nameLocation":"10548:17:68","nodeType":"FunctionDefinition","overrides":{"id":35398,"nodeType":"OverrideSpecifier","overrides":[],"src":"10602:8:68"},"parameters":{"id":35397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35396,"mutability":"mutable","name":"newImplementation","nameLocation":"10574:17:68","nodeType":"VariableDeclaration","scope":35404,"src":"10566:25:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35395,"name":"address","nodeType":"ElementaryTypeName","src":"10566:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10565:27:68"},"returnParameters":{"id":35402,"nodeType":"ParameterList","parameters":[],"src":"10635:0:68"},"scope":36214,"src":"10539:98:68","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":35574,"nodeType":"Block","src":"11248:2431:68","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35419,"name":"votePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35413,"src":"11340:9:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":35420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11353:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11340:14:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35424,"nodeType":"IfStatement","src":"11336:41:68","trueBody":{"id":35423,"nodeType":"Block","src":"11356:21:68","statements":[{"functionReturnParameters":35418,"id":35422,"nodeType":"Return","src":"11364:7:68"}]}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35426,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35407,"src":"11391:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":35427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11405:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11391:15:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a2070726f706f73616c49642063616e6e6f742062652030","id":35429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11408:38:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bdf03e077f892d7074e00cd1573dcda0e01b32da1da10312be00f4bb5e65a1d","typeString":"literal_string \"VoterRewards: proposalId cannot be 0\""},"value":"VoterRewards: proposalId cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7bdf03e077f892d7074e00cd1573dcda0e01b32da1da10312be00f4bb5e65a1d","typeString":"literal_string \"VoterRewards: proposalId cannot be 0\""}],"id":35425,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11383:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11383:64:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35431,"nodeType":"ExpressionStatement","src":"11383:64:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":35438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35433,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35409,"src":"11461:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":35436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11478:1:68","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":35435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11470:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":35434,"name":"address","nodeType":"ElementaryTypeName","src":"11470:7:68","typeDescriptions":{}}},"id":35437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11470:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11461:19:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20766f7465722063616e6e6f7420626520746865207a65726f2061646472657373","id":35439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11482:48:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90","typeString":"literal_string \"VoterRewards: voter cannot be the zero address\""},"value":"VoterRewards: voter cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90","typeString":"literal_string \"VoterRewards: voter cannot be the zero address\""}],"id":35432,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11453:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11453:78:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35441,"nodeType":"ExpressionStatement","src":"11453:78:68"},{"assignments":[35444],"declarations":[{"constant":false,"id":35444,"mutability":"mutable","name":"$","nameLocation":"11566:1:68","nodeType":"VariableDeclaration","scope":35574,"src":"11538:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35443,"nodeType":"UserDefinedTypeName","pathNode":{"id":35442,"name":"VoterRewardsStorage","nameLocations":["11538:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"11538:19:68"},"referencedDeclaration":35167,"src":"11538:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35447,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35445,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"11570:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11570:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11538:57:68"},{"assignments":[35449],"declarations":[{"constant":false,"id":35449,"mutability":"mutable","name":"selectedGMNFT","nameLocation":"11610:13:68","nodeType":"VariableDeclaration","scope":35574,"src":"11602:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35448,"name":"uint256","nodeType":"ElementaryTypeName","src":"11602:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35455,"initialValue":{"arguments":[{"id":35453,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35409,"src":"11660:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":35450,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35444,"src":"11626:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11628:12:68","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":35131,"src":"11626:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"id":35452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11641:18:68","memberName":"getSelectedTokenId","nodeType":"MemberAccess","referencedDeclaration":31800,"src":"11626:33:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":35454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11626:40:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11602:64:68"},{"assignments":[35457],"declarations":[{"constant":false,"id":35457,"mutability":"mutable","name":"cycle","nameLocation":"11718:5:68","nodeType":"VariableDeclaration","scope":35574,"src":"11710:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35456,"name":"uint256","nodeType":"ElementaryTypeName","src":"11710:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35462,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":35458,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35444,"src":"11726:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11728:9:68","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":35137,"src":"11726:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":35460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11738:15:68","memberName":"getCurrentCycle","nodeType":"MemberAccess","referencedDeclaration":64186,"src":"11726:27:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":35461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11726:29:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11710:45:68"},{"assignments":[35464],"declarations":[{"constant":false,"id":35464,"mutability":"mutable","name":"multiplier","nameLocation":"11915:10:68","nodeType":"VariableDeclaration","scope":35574,"src":"11907:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35463,"name":"uint256","nodeType":"ElementaryTypeName","src":"11907:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35469,"initialValue":{"arguments":[{"id":35466,"name":"selectedGMNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35449,"src":"11942:13:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":35467,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35407,"src":"11957:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":35465,"name":"getMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35724,"src":"11928:13:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":35468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11928:40:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11907:61:68"},{"assignments":[35471],"declarations":[{"constant":false,"id":35471,"mutability":"mutable","name":"scaledVotePower","nameLocation":"12054:15:68","nodeType":"VariableDeclaration","scope":35574,"src":"12046:23:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35470,"name":"uint256","nodeType":"ElementaryTypeName","src":"12046:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35473,"initialValue":{"id":35472,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35411,"src":"12072:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12046:31:68"},{"assignments":[35475],"declarations":[{"constant":false,"id":35475,"mutability":"mutable","name":"emissionCycleStartBlock","nameLocation":"12147:23:68","nodeType":"VariableDeclaration","scope":35574,"src":"12140:30:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":35474,"name":"uint48","nodeType":"ElementaryTypeName","src":"12140:6:68","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":35483,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":35478,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35444,"src":"12191:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12193:9:68","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":35137,"src":"12191:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":35480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12203:17:68","memberName":"lastEmissionBlock","nodeType":"MemberAccess","referencedDeclaration":64292,"src":"12191:29:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":35481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12191:31:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":35476,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"12173:8:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":35477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12182:8:68","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"12173:17:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":35482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12173:50:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"12140:83:68"},{"condition":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":35490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":35487,"name":"emissionCycleStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35475,"src":"12426:23:68","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":35484,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35444,"src":"12379:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12381:26:68","memberName":"quadraticRewardingDisabled","nodeType":"MemberAccess","referencedDeclaration":35154,"src":"12379:28:68","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":35486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12408:17:68","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"12379:46:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":35488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:71:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":35489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12454:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12379:76:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35498,"nodeType":"IfStatement","src":"12375:130:68","trueBody":{"id":35497,"nodeType":"Block","src":"12457:48:68","statements":[{"expression":{"id":35495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":35491,"name":"scaledVotePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35471,"src":"12465:15:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35492,"name":"votePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35413,"src":"12483:9:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316539","id":35493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12495:3:68","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"12483:15:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12465:33:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":35496,"nodeType":"ExpressionStatement","src":"12465:33:68"}]}},{"assignments":[35500],"declarations":[{"constant":false,"id":35500,"mutability":"mutable","name":"rewardWeightedVote","nameLocation":"12701:18:68","nodeType":"VariableDeclaration","scope":35574,"src":"12693:26:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35499,"name":"uint256","nodeType":"ElementaryTypeName","src":"12693:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35510,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35501,"name":"scaledVotePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35471,"src":"12722:15:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35502,"name":"scaledVotePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35471,"src":"12742:15:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":35503,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35464,"src":"12760:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12742:28:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":35505,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12741:30:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":35506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12774:3:68","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"12741:36:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":35508,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12740:38:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12722:56:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12693:85:68"},{"expression":{"id":35517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":35511,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35444,"src":"12898:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12900:12:68","memberName":"cycleToTotal","nodeType":"MemberAccess","referencedDeclaration":35145,"src":"12898:14:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":35515,"indexExpression":{"id":35513,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35457,"src":"12913:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12898:21:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":35516,"name":"rewardWeightedVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35500,"src":"12923:18:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12898:43:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":35518,"nodeType":"ExpressionStatement","src":"12898:43:68"},{"expression":{"id":35527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":35519,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35444,"src":"13021:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13023:19:68","memberName":"cycleToVoterToTotal","nodeType":"MemberAccess","referencedDeclaration":35151,"src":"13021:21:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":35524,"indexExpression":{"id":35521,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35457,"src":"13043:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13021:28:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":35525,"indexExpression":{"id":35522,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35409,"src":"13050:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13021:35:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":35526,"name":"rewardWeightedVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35500,"src":"13060:18:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13021:57:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":35528,"nodeType":"ExpressionStatement","src":"13021:57:68"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35529,"name":"selectedGMNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35449,"src":"13160:13:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":35530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13177:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13160:18:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35543,"nodeType":"IfStatement","src":"13156:107:68","trueBody":{"id":35542,"nodeType":"Block","src":"13180:83:68","statements":[{"expression":{"id":35540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":35532,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35444,"src":"13188:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35536,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13190:32:68","memberName":"proposalToGalaxyMemberToHasVoted","nodeType":"MemberAccess","referencedDeclaration":35160,"src":"13188:34:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(uint256 => bool))"}},"id":35537,"indexExpression":{"id":35534,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35407,"src":"13223:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13188:46:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":35538,"indexExpression":{"id":35535,"name":"selectedGMNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35449,"src":"13235:13:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13188:61:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":35539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13252:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13188:68:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35541,"nodeType":"ExpressionStatement","src":"13188:68:68"}]}},{"assignments":[35545],"declarations":[{"constant":false,"id":35545,"mutability":"mutable","name":"nodeIdAttached","nameLocation":"13277:14:68","nodeType":"VariableDeclaration","scope":35574,"src":"13269:22:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35544,"name":"uint256","nodeType":"ElementaryTypeName","src":"13269:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35551,"initialValue":{"arguments":[{"id":35549,"name":"selectedGMNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35449,"src":"13327:13:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":35546,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35444,"src":"13294:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13296:12:68","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":35131,"src":"13294:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"id":35548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13309:17:68","memberName":"getNodeIdAttached","nodeType":"MemberAccess","referencedDeclaration":31768,"src":"13294:32:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":35550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13294:47:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13269:72:68"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35552,"name":"nodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35545,"src":"13452:14:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":35553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13470:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13452:19:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35566,"nodeType":"IfStatement","src":"13448:101:68","trueBody":{"id":35565,"nodeType":"Block","src":"13473:76:68","statements":[{"expression":{"id":35563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":35555,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35444,"src":"13481:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13483:24:68","memberName":"proposalToNodeToHasVoted","nodeType":"MemberAccess","referencedDeclaration":35166,"src":"13481:26:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(uint256 => bool))"}},"id":35560,"indexExpression":{"id":35557,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35407,"src":"13508:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13481:38:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":35561,"indexExpression":{"id":35558,"name":"nodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35545,"src":"13520:14:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13481:54:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":35562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13538:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13481:61:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35564,"nodeType":"ExpressionStatement","src":"13481:61:68"}]}},{"eventCall":{"arguments":[{"id":35568,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35457,"src":"13634:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":35569,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35409,"src":"13641:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":35570,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35411,"src":"13648:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":35571,"name":"rewardWeightedVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35500,"src":"13655:18:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":35567,"name":"VoteRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35190,"src":"13619:14:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256,uint256)"}},"id":35572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13619:55:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35573,"nodeType":"EmitStatement","src":"13614:60:68"}]},"documentation":{"id":35405,"nodeType":"StructuredDocumentation","src":"10641:448:68","text":"@notice Register the votes of a user for rewards calculation.\n @dev Quadratic rewarding is used to reward users with quadratic-weight based on their voting power and the level of their Galaxy Member NFT.\n @param proposalId - The ID of the proposal.\n @param voter - The address of the voter.\n @param votes - The number of votes cast by the voter.\n @param votePower - The square root of the total votes cast by the voter."},"functionSelector":"2f18339d","id":35575,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":35416,"name":"VOTE_REGISTRAR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35111,"src":"11227:19:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":35417,"kind":"modifierInvocation","modifierName":{"id":35415,"name":"onlyRole","nameLocations":["11218:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"11218:8:68"},"nodeType":"ModifierInvocation","src":"11218:29:68"}],"name":"registerVote","nameLocation":"11101:12:68","nodeType":"FunctionDefinition","parameters":{"id":35414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35407,"mutability":"mutable","name":"proposalId","nameLocation":"11127:10:68","nodeType":"VariableDeclaration","scope":35575,"src":"11119:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35406,"name":"uint256","nodeType":"ElementaryTypeName","src":"11119:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35409,"mutability":"mutable","name":"voter","nameLocation":"11151:5:68","nodeType":"VariableDeclaration","scope":35575,"src":"11143:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35408,"name":"address","nodeType":"ElementaryTypeName","src":"11143:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35411,"mutability":"mutable","name":"votes","nameLocation":"11170:5:68","nodeType":"VariableDeclaration","scope":35575,"src":"11162:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35410,"name":"uint256","nodeType":"ElementaryTypeName","src":"11162:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35413,"mutability":"mutable","name":"votePower","nameLocation":"11189:9:68","nodeType":"VariableDeclaration","scope":35575,"src":"11181:17:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35412,"name":"uint256","nodeType":"ElementaryTypeName","src":"11181:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11113:89:68"},"returnParameters":{"id":35418,"nodeType":"ParameterList","parameters":[],"src":"11248:0:68"},"scope":36214,"src":"11092:2587:68","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":35671,"nodeType":"Block","src":"14034:988:68","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35586,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35578,"src":"14048:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":35587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14056:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14048:9:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206379636c65206d7573742062652067726561746572207468616e2030","id":35589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14059:44:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a","typeString":"literal_string \"VoterRewards: cycle must be greater than 0\""},"value":"VoterRewards: cycle must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a","typeString":"literal_string \"VoterRewards: cycle must be greater than 0\""}],"id":35585,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14040:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14040:64:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35591,"nodeType":"ExpressionStatement","src":"14040:64:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":35598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35593,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35580,"src":"14118:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":35596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14135:1:68","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":35595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14127:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":35594,"name":"address","nodeType":"ElementaryTypeName","src":"14127:7:68","typeDescriptions":{}}},"id":35597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14127:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14118:19:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20766f7465722063616e6e6f7420626520746865207a65726f2061646472657373","id":35599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14139:48:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90","typeString":"literal_string \"VoterRewards: voter cannot be the zero address\""},"value":"VoterRewards: voter cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90","typeString":"literal_string \"VoterRewards: voter cannot be the zero address\""}],"id":35592,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14110:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14110:78:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35601,"nodeType":"ExpressionStatement","src":"14110:78:68"},{"assignments":[35604],"declarations":[{"constant":false,"id":35604,"mutability":"mutable","name":"$","nameLocation":"14222:1:68","nodeType":"VariableDeclaration","scope":35671,"src":"14194:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35603,"nodeType":"UserDefinedTypeName","pathNode":{"id":35602,"name":"VoterRewardsStorage","nameLocations":["14194:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"14194:19:68"},"referencedDeclaration":35167,"src":"14194:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35607,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35605,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"14226:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14226:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14194:57:68"},{"expression":{"arguments":[{"arguments":[{"id":35612,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35578,"src":"14352:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":35609,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35604,"src":"14327:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35610,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14329:9:68","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":35137,"src":"14327:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":35611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14339:12:68","memberName":"isCycleEnded","nodeType":"MemberAccess","referencedDeclaration":64277,"src":"14327:24:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":35613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14327:31:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206379636c65206d75737420626520656e646564","id":35614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14360:35:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d","typeString":"literal_string \"VoterRewards: cycle must be ended\""},"value":"VoterRewards: cycle must be ended"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d","typeString":"literal_string \"VoterRewards: cycle must be ended\""}],"id":35608,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14319:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14319:77:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35616,"nodeType":"ExpressionStatement","src":"14319:77:68"},{"assignments":[35618],"declarations":[{"constant":false,"id":35618,"mutability":"mutable","name":"reward","nameLocation":"14461:6:68","nodeType":"VariableDeclaration","scope":35671,"src":"14453:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35617,"name":"uint256","nodeType":"ElementaryTypeName","src":"14453:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35623,"initialValue":{"arguments":[{"id":35620,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35578,"src":"14480:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":35621,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35580,"src":"14487:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":35619,"name":"getReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35852,"src":"14470:9:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":35622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14470:23:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14453:40:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35625,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35618,"src":"14508:6:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":35626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14517:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14508:10:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20726577617264206d7573742062652067726561746572207468616e2030","id":35628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14520:45:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98","typeString":"literal_string \"VoterRewards: reward must be greater than 0\""},"value":"VoterRewards: reward must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98","typeString":"literal_string \"VoterRewards: reward must be greater than 0\""}],"id":35624,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14500:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14500:66:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35630,"nodeType":"ExpressionStatement","src":"14500:66:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":35637,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14605:4:68","typeDescriptions":{"typeIdentifier":"t_contract$_VoterRewardsV3_$36214","typeString":"contract VoterRewardsV3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_VoterRewardsV3_$36214","typeString":"contract VoterRewardsV3"}],"id":35636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14597:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":35635,"name":"address","nodeType":"ElementaryTypeName","src":"14597:7:68","typeDescriptions":{}}},"id":35638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14597:13:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":35632,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35604,"src":"14580:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35633,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14582:4:68","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":35134,"src":"14580:6:68","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":35634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14587:9:68","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"14580:16:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":35639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14580:31:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":35640,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35618,"src":"14615:6:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14580:41:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206e6f7420656e6f756768204233545220696e2074686520636f6e747261637420746f2070617920726577617264","id":35642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14623:61:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2","typeString":"literal_string \"VoterRewards: not enough B3TR in the contract to pay reward\""},"value":"VoterRewards: not enough B3TR in the contract to pay reward"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2","typeString":"literal_string \"VoterRewards: not enough B3TR in the contract to pay reward\""}],"id":35631,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14572:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14572:113:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35644,"nodeType":"ExpressionStatement","src":"14572:113:68"},{"expression":{"id":35653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":35645,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35604,"src":"14759:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14761:19:68","memberName":"cycleToVoterToTotal","nodeType":"MemberAccess","referencedDeclaration":35151,"src":"14759:21:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":35650,"indexExpression":{"id":35647,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35578,"src":"14781:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14759:28:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":35651,"indexExpression":{"id":35648,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35580,"src":"14788:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14759:35:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":35652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14797:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14759:39:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":35654,"nodeType":"ExpressionStatement","src":"14759:39:68"},{"expression":{"arguments":[{"arguments":[{"id":35659,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35580,"src":"14861:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":35660,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35618,"src":"14868:6:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":35656,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35604,"src":"14845:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14847:4:68","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":35134,"src":"14845:6:68","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":35658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14852:8:68","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":62873,"src":"14845:15:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":35661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14845:30:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a207472616e73666572206661696c6564","id":35662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14877:31:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b","typeString":"literal_string \"VoterRewards: transfer failed\""},"value":"VoterRewards: transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b","typeString":"literal_string \"VoterRewards: transfer failed\""}],"id":35655,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14837:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":35663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14837:72:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35664,"nodeType":"ExpressionStatement","src":"14837:72:68"},{"eventCall":{"arguments":[{"id":35666,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35578,"src":"14996:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":35667,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35580,"src":"15003:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":35668,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35618,"src":"15010:6:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":35665,"name":"RewardClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35199,"src":"14982:13:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":35669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14982:35:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35670,"nodeType":"EmitStatement","src":"14977:40:68"}]},"documentation":{"id":35576,"nodeType":"StructuredDocumentation","src":"13683:269:68","text":"@notice Claim the rewards for a user in a specific cycle.\n @dev The rewards are claimed based on the reward-weighted votes of the user in the cycle.\n @param cycle - The cycle in which the rewards are claimed.\n @param voter - The address of the voter."},"functionSelector":"e70eb392","id":35672,"implemented":true,"kind":"function","modifiers":[{"id":35583,"kind":"modifierInvocation","modifierName":{"id":35582,"name":"nonReentrant","nameLocations":["14021:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":4232,"src":"14021:12:68"},"nodeType":"ModifierInvocation","src":"14021:12:68"}],"name":"claimReward","nameLocation":"13964:11:68","nodeType":"FunctionDefinition","parameters":{"id":35581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35578,"mutability":"mutable","name":"cycle","nameLocation":"13984:5:68","nodeType":"VariableDeclaration","scope":35672,"src":"13976:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35577,"name":"uint256","nodeType":"ElementaryTypeName","src":"13976:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35580,"mutability":"mutable","name":"voter","nameLocation":"13999:5:68","nodeType":"VariableDeclaration","scope":35672,"src":"13991:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35579,"name":"address","nodeType":"ElementaryTypeName","src":"13991:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13975:30:68"},"returnParameters":{"id":35584,"nodeType":"ParameterList","parameters":[],"src":"14034:0:68"},"scope":36214,"src":"13955:1067:68","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":35723,"nodeType":"Block","src":"15344:361:68","statements":[{"assignments":[35684],"declarations":[{"constant":false,"id":35684,"mutability":"mutable","name":"$","nameLocation":"15378:1:68","nodeType":"VariableDeclaration","scope":35723,"src":"15350:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35683,"nodeType":"UserDefinedTypeName","pathNode":{"id":35682,"name":"VoterRewardsStorage","nameLocations":["15350:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"15350:19:68"},"referencedDeclaration":35167,"src":"15350:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35687,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35685,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"15382:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15382:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15350:57:68"},{"condition":{"arguments":[{"id":35689,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35675,"src":"15432:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":35690,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35677,"src":"15441:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":35688,"name":"hasTokenVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35772,"src":"15418:13:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) view returns (bool)"}},"id":35691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15418:34:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35694,"nodeType":"IfStatement","src":"15414:48:68","trueBody":{"expression":{"hexValue":"30","id":35692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15461:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":35681,"id":35693,"nodeType":"Return","src":"15454:8:68"}},{"assignments":[35696],"declarations":[{"constant":false,"id":35696,"mutability":"mutable","name":"nodeIdAttached","nameLocation":"15477:14:68","nodeType":"VariableDeclaration","scope":35723,"src":"15469:22:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35695,"name":"uint256","nodeType":"ElementaryTypeName","src":"15469:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35702,"initialValue":{"arguments":[{"id":35700,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35675,"src":"15527:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":35697,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35684,"src":"15494:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15496:12:68","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":35131,"src":"15494:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"id":35699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15509:17:68","memberName":"getNodeIdAttached","nodeType":"MemberAccess","referencedDeclaration":31768,"src":"15494:32:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":35701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15494:41:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15469:66:68"},{"condition":{"arguments":[{"id":35704,"name":"nodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35696,"src":"15559:14:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":35705,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35677,"src":"15575:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":35703,"name":"hasNodeVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35748,"src":"15546:12:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) view returns (bool)"}},"id":35706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15546:40:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35709,"nodeType":"IfStatement","src":"15542:54:68","trueBody":{"expression":{"hexValue":"30","id":35707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15595:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":35681,"id":35708,"nodeType":"Return","src":"15588:8:68"}},{"assignments":[35711],"declarations":[{"constant":false,"id":35711,"mutability":"mutable","name":"gmNftLevel","nameLocation":"15611:10:68","nodeType":"VariableDeclaration","scope":35723,"src":"15603:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35710,"name":"uint256","nodeType":"ElementaryTypeName","src":"15603:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35717,"initialValue":{"arguments":[{"id":35715,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35675,"src":"15647:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":35712,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35684,"src":"15624:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35713,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15626:12:68","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":35131,"src":"15624:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"id":35714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15639:7:68","memberName":"levelOf","nodeType":"MemberAccess","referencedDeclaration":31847,"src":"15624:22:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":35716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15624:31:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15603:52:68"},{"expression":{"baseExpression":{"expression":{"id":35718,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35684,"src":"15669:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35719,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15671:17:68","memberName":"levelToMultiplier","nodeType":"MemberAccess","referencedDeclaration":35141,"src":"15669:19:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":35721,"indexExpression":{"id":35720,"name":"gmNftLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35711,"src":"15689:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15669:31:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":35681,"id":35722,"nodeType":"Return","src":"15662:38:68"}]},"documentation":{"id":35673,"nodeType":"StructuredDocumentation","src":"15079:164:68","text":"@notice Get the reward multiplier for a user in a specific proposal.\n @param tokenId Id of the Galaxy Member NFT\n @param proposalId Id of the proposal"},"functionSelector":"8dbb1e3a","id":35724,"implemented":true,"kind":"function","modifiers":[],"name":"getMultiplier","nameLocation":"15255:13:68","nodeType":"FunctionDefinition","parameters":{"id":35678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35675,"mutability":"mutable","name":"tokenId","nameLocation":"15277:7:68","nodeType":"VariableDeclaration","scope":35724,"src":"15269:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35674,"name":"uint256","nodeType":"ElementaryTypeName","src":"15269:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35677,"mutability":"mutable","name":"proposalId","nameLocation":"15294:10:68","nodeType":"VariableDeclaration","scope":35724,"src":"15286:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35676,"name":"uint256","nodeType":"ElementaryTypeName","src":"15286:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15268:37:68"},"returnParameters":{"id":35681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35724,"src":"15335:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35679,"name":"uint256","nodeType":"ElementaryTypeName","src":"15335:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15334:9:68"},"scope":36214,"src":"15246:459:68","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":35747,"nodeType":"Block","src":"15950:128:68","statements":[{"assignments":[35736],"declarations":[{"constant":false,"id":35736,"mutability":"mutable","name":"$","nameLocation":"15984:1:68","nodeType":"VariableDeclaration","scope":35747,"src":"15956:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35735,"nodeType":"UserDefinedTypeName","pathNode":{"id":35734,"name":"VoterRewardsStorage","nameLocations":["15956:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"15956:19:68"},"referencedDeclaration":35167,"src":"15956:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35739,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35737,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"15988:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15988:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15956:57:68"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":35740,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35736,"src":"16027:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35741,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16029:24:68","memberName":"proposalToNodeToHasVoted","nodeType":"MemberAccess","referencedDeclaration":35166,"src":"16027:26:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(uint256 => bool))"}},"id":35743,"indexExpression":{"id":35742,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35729,"src":"16054:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16027:38:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":35745,"indexExpression":{"id":35744,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35727,"src":"16066:6:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16027:46:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":35733,"id":35746,"nodeType":"Return","src":"16020:53:68"}]},"documentation":{"id":35725,"nodeType":"StructuredDocumentation","src":"15709:145:68","text":"@notice Check if a Vechain Node has voted in a proposal\n @param nodeId Id of the Vechain node\n @param proposalId Id of the proposal"},"functionSelector":"eea41608","id":35748,"implemented":true,"kind":"function","modifiers":[],"name":"hasNodeVoted","nameLocation":"15866:12:68","nodeType":"FunctionDefinition","parameters":{"id":35730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35727,"mutability":"mutable","name":"nodeId","nameLocation":"15887:6:68","nodeType":"VariableDeclaration","scope":35748,"src":"15879:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35726,"name":"uint256","nodeType":"ElementaryTypeName","src":"15879:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35729,"mutability":"mutable","name":"proposalId","nameLocation":"15903:10:68","nodeType":"VariableDeclaration","scope":35748,"src":"15895:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35728,"name":"uint256","nodeType":"ElementaryTypeName","src":"15895:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15878:36:68"},"returnParameters":{"id":35733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35732,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35748,"src":"15944:4:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35731,"name":"bool","nodeType":"ElementaryTypeName","src":"15944:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15943:6:68"},"scope":36214,"src":"15857:221:68","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":35771,"nodeType":"Block","src":"16332:137:68","statements":[{"assignments":[35760],"declarations":[{"constant":false,"id":35760,"mutability":"mutable","name":"$","nameLocation":"16366:1:68","nodeType":"VariableDeclaration","scope":35771,"src":"16338:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35759,"nodeType":"UserDefinedTypeName","pathNode":{"id":35758,"name":"VoterRewardsStorage","nameLocations":["16338:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"16338:19:68"},"referencedDeclaration":35167,"src":"16338:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35763,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35761,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"16370:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16370:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16338:57:68"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":35764,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35760,"src":"16409:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16411:32:68","memberName":"proposalToGalaxyMemberToHasVoted","nodeType":"MemberAccess","referencedDeclaration":35160,"src":"16409:34:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(uint256 => bool))"}},"id":35767,"indexExpression":{"id":35766,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35753,"src":"16444:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16409:46:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":35769,"indexExpression":{"id":35768,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35751,"src":"16456:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16409:55:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":35757,"id":35770,"nodeType":"Return","src":"16402:62:68"}]},"documentation":{"id":35749,"nodeType":"StructuredDocumentation","src":"16082:152:68","text":"@notice Check if a Galaxy Member has voted in a proposal\n @param tokenId Id of the Galaxy Member NFT\n @param proposalId Id of the proposal"},"functionSelector":"ae075b07","id":35772,"implemented":true,"kind":"function","modifiers":[],"name":"hasTokenVoted","nameLocation":"16246:13:68","nodeType":"FunctionDefinition","parameters":{"id":35754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35751,"mutability":"mutable","name":"tokenId","nameLocation":"16268:7:68","nodeType":"VariableDeclaration","scope":35772,"src":"16260:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35750,"name":"uint256","nodeType":"ElementaryTypeName","src":"16260:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35753,"mutability":"mutable","name":"proposalId","nameLocation":"16285:10:68","nodeType":"VariableDeclaration","scope":35772,"src":"16277:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35752,"name":"uint256","nodeType":"ElementaryTypeName","src":"16277:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16259:37:68"},"returnParameters":{"id":35757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35772,"src":"16326:4:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35755,"name":"bool","nodeType":"ElementaryTypeName","src":"16326:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16325:6:68"},"scope":36214,"src":"16237:232:68","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":35851,"nodeType":"Block","src":"16733:1029:68","statements":[{"assignments":[35784],"declarations":[{"constant":false,"id":35784,"mutability":"mutable","name":"$","nameLocation":"16767:1:68","nodeType":"VariableDeclaration","scope":35851,"src":"16739:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35783,"nodeType":"UserDefinedTypeName","pathNode":{"id":35782,"name":"VoterRewardsStorage","nameLocations":["16739:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"16739:19:68"},"referencedDeclaration":35167,"src":"16739:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35787,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35785,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"16771:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16771:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16739:57:68"},{"assignments":[35789],"declarations":[{"constant":false,"id":35789,"mutability":"mutable","name":"total","nameLocation":"16882:5:68","nodeType":"VariableDeclaration","scope":35851,"src":"16874:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35788,"name":"uint256","nodeType":"ElementaryTypeName","src":"16874:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35796,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":35790,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35784,"src":"16890:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16892:19:68","memberName":"cycleToVoterToTotal","nodeType":"MemberAccess","referencedDeclaration":35151,"src":"16890:21:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":35793,"indexExpression":{"id":35792,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35775,"src":"16912:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16890:28:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":35795,"indexExpression":{"id":35794,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35777,"src":"16919:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16890:35:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16874:51:68"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35797,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35789,"src":"16970:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":35798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16979:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16970:10:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35803,"nodeType":"IfStatement","src":"16966:39:68","trueBody":{"id":35802,"nodeType":"Block","src":"16982:23:68","statements":[{"expression":{"hexValue":"30","id":35800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16997:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":35781,"id":35801,"nodeType":"Return","src":"16990:8:68"}]}},{"assignments":[35805],"declarations":[{"constant":false,"id":35805,"mutability":"mutable","name":"totalCycle","nameLocation":"17076:10:68","nodeType":"VariableDeclaration","scope":35851,"src":"17068:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35804,"name":"uint256","nodeType":"ElementaryTypeName","src":"17068:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35810,"initialValue":{"baseExpression":{"expression":{"id":35806,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35784,"src":"17089:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17091:12:68","memberName":"cycleToTotal","nodeType":"MemberAccess","referencedDeclaration":35145,"src":"17089:14:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":35809,"indexExpression":{"id":35808,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35775,"src":"17104:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17089:21:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17068:42:68"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35811,"name":"totalCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35805,"src":"17160:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":35812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17174:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17160:15:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35817,"nodeType":"IfStatement","src":"17156:44:68","trueBody":{"id":35816,"nodeType":"Block","src":"17177:23:68","statements":[{"expression":{"hexValue":"30","id":35814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17192:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":35781,"id":35815,"nodeType":"Return","src":"17185:8:68"}]}},{"assignments":[35819],"declarations":[{"constant":false,"id":35819,"mutability":"mutable","name":"emissionsAmount","nameLocation":"17271:15:68","nodeType":"VariableDeclaration","scope":35851,"src":"17263:23:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35818,"name":"uint256","nodeType":"ElementaryTypeName","src":"17263:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35825,"initialValue":{"arguments":[{"id":35823,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35775,"src":"17320:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":35820,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35784,"src":"17289:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17291:9:68","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":35137,"src":"17289:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":35822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17301:18:68","memberName":"getVote2EarnAmount","nodeType":"MemberAccess","referencedDeclaration":64217,"src":"17289:30:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":35824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17289:37:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17263:63:68"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35826,"name":"emissionsAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35819,"src":"17381:15:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":35827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17400:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17381:20:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":35832,"nodeType":"IfStatement","src":"17377:49:68","trueBody":{"id":35831,"nodeType":"Block","src":"17403:23:68","statements":[{"expression":{"hexValue":"30","id":35829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17418:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":35781,"id":35830,"nodeType":"Return","src":"17411:8:68"}]}},{"assignments":[35834],"declarations":[{"constant":false,"id":35834,"mutability":"mutable","name":"scaledNumerator","nameLocation":"17507:15:68","nodeType":"VariableDeclaration","scope":35851,"src":"17499:23:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35833,"name":"uint256","nodeType":"ElementaryTypeName","src":"17499:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35840,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35835,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35789,"src":"17525:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":35836,"name":"emissionsAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35819,"src":"17533:15:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17525:23:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":35838,"name":"SCALING_FACTOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35127,"src":"17551:14:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17525:40:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17499:66:68"},{"assignments":[35842],"declarations":[{"constant":false,"id":35842,"mutability":"mutable","name":"reward","nameLocation":"17632:6:68","nodeType":"VariableDeclaration","scope":35851,"src":"17624:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35841,"name":"uint256","nodeType":"ElementaryTypeName","src":"17624:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":35846,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35843,"name":"scaledNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35834,"src":"17641:15:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":35844,"name":"totalCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35805,"src":"17659:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17641:28:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17624:45:68"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":35847,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35842,"src":"17734:6:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":35848,"name":"SCALING_FACTOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35127,"src":"17743:14:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17734:23:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":35781,"id":35850,"nodeType":"Return","src":"17727:30:68"}]},"documentation":{"id":35773,"nodeType":"StructuredDocumentation","src":"16473:170:68","text":"@notice Get the reward for a user in a specific cycle.\n @param cycle - The cycle in which the rewards are claimed.\n @param voter - The address of the voter."},"functionSelector":"008f33d7","id":35852,"implemented":true,"kind":"function","modifiers":[],"name":"getReward","nameLocation":"16655:9:68","nodeType":"FunctionDefinition","parameters":{"id":35778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35775,"mutability":"mutable","name":"cycle","nameLocation":"16673:5:68","nodeType":"VariableDeclaration","scope":35852,"src":"16665:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35774,"name":"uint256","nodeType":"ElementaryTypeName","src":"16665:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35777,"mutability":"mutable","name":"voter","nameLocation":"16688:5:68","nodeType":"VariableDeclaration","scope":35852,"src":"16680:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35776,"name":"address","nodeType":"ElementaryTypeName","src":"16680:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16664:30:68"},"returnParameters":{"id":35781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35852,"src":"16724:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35779,"name":"uint256","nodeType":"ElementaryTypeName","src":"16724:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16723:9:68"},"scope":36214,"src":"16646:1116:68","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":35875,"nodeType":"Block","src":"18051:116:68","statements":[{"assignments":[35864],"declarations":[{"constant":false,"id":35864,"mutability":"mutable","name":"$","nameLocation":"18085:1:68","nodeType":"VariableDeclaration","scope":35875,"src":"18057:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35863,"nodeType":"UserDefinedTypeName","pathNode":{"id":35862,"name":"VoterRewardsStorage","nameLocations":["18057:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"18057:19:68"},"referencedDeclaration":35167,"src":"18057:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35867,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35865,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"18089:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18089:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18057:57:68"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":35868,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35864,"src":"18127:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18129:19:68","memberName":"cycleToVoterToTotal","nodeType":"MemberAccess","referencedDeclaration":35151,"src":"18127:21:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":35871,"indexExpression":{"id":35870,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35855,"src":"18149:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18127:28:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":35873,"indexExpression":{"id":35872,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35857,"src":"18156:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18127:35:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":35861,"id":35874,"nodeType":"Return","src":"18120:42:68"}]},"documentation":{"id":35853,"nodeType":"StructuredDocumentation","src":"17766:191:68","text":"@notice Get the total reward-weighted votes for a user in a specific cycle.\n @param cycle - The cycle in which the rewards are claimed.\n @param voter - The address of the voter."},"functionSelector":"105fe500","id":35876,"implemented":true,"kind":"function","modifiers":[],"name":"cycleToVoterToTotal","nameLocation":"17969:19:68","nodeType":"FunctionDefinition","parameters":{"id":35858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35855,"mutability":"mutable","name":"cycle","nameLocation":"17997:5:68","nodeType":"VariableDeclaration","scope":35876,"src":"17989:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35854,"name":"uint256","nodeType":"ElementaryTypeName","src":"17989:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35857,"mutability":"mutable","name":"voter","nameLocation":"18012:5:68","nodeType":"VariableDeclaration","scope":35876,"src":"18004:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35856,"name":"address","nodeType":"ElementaryTypeName","src":"18004:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17988:30:68"},"returnParameters":{"id":35861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35876,"src":"18042:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35859,"name":"uint256","nodeType":"ElementaryTypeName","src":"18042:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18041:9:68"},"scope":36214,"src":"17960:207:68","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":35895,"nodeType":"Block","src":"18376:102:68","statements":[{"assignments":[35886],"declarations":[{"constant":false,"id":35886,"mutability":"mutable","name":"$","nameLocation":"18410:1:68","nodeType":"VariableDeclaration","scope":35895,"src":"18382:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35885,"nodeType":"UserDefinedTypeName","pathNode":{"id":35884,"name":"VoterRewardsStorage","nameLocations":["18382:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"18382:19:68"},"referencedDeclaration":35167,"src":"18382:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35889,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35887,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"18414:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18414:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18382:57:68"},{"expression":{"baseExpression":{"expression":{"id":35890,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35886,"src":"18452:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18454:12:68","memberName":"cycleToTotal","nodeType":"MemberAccess","referencedDeclaration":35145,"src":"18452:14:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":35893,"indexExpression":{"id":35892,"name":"cycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35879,"src":"18467:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18452:21:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":35883,"id":35894,"nodeType":"Return","src":"18445:28:68"}]},"documentation":{"id":35877,"nodeType":"StructuredDocumentation","src":"18171:133:68","text":"@notice Get the total reward-weighted votes in a specific cycle.\n @param cycle - The cycle in which the rewards are claimed."},"functionSelector":"c208b4e7","id":35896,"implemented":true,"kind":"function","modifiers":[],"name":"cycleToTotal","nameLocation":"18316:12:68","nodeType":"FunctionDefinition","parameters":{"id":35880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35879,"mutability":"mutable","name":"cycle","nameLocation":"18337:5:68","nodeType":"VariableDeclaration","scope":35896,"src":"18329:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35878,"name":"uint256","nodeType":"ElementaryTypeName","src":"18329:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18328:15:68"},"returnParameters":{"id":35883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35882,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35896,"src":"18367:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35881,"name":"uint256","nodeType":"ElementaryTypeName","src":"18367:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18366:9:68"},"scope":36214,"src":"18307:171:68","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":35915,"nodeType":"Block","src":"18700:107:68","statements":[{"assignments":[35906],"declarations":[{"constant":false,"id":35906,"mutability":"mutable","name":"$","nameLocation":"18734:1:68","nodeType":"VariableDeclaration","scope":35915,"src":"18706:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35905,"nodeType":"UserDefinedTypeName","pathNode":{"id":35904,"name":"VoterRewardsStorage","nameLocations":["18706:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"18706:19:68"},"referencedDeclaration":35167,"src":"18706:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35909,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35907,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"18738:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18738:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18706:57:68"},{"expression":{"baseExpression":{"expression":{"id":35910,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35906,"src":"18776:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18778:17:68","memberName":"levelToMultiplier","nodeType":"MemberAccess","referencedDeclaration":35141,"src":"18776:19:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":35913,"indexExpression":{"id":35912,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35899,"src":"18796:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18776:26:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":35903,"id":35914,"nodeType":"Return","src":"18769:33:68"}]},"documentation":{"id":35897,"nodeType":"StructuredDocumentation","src":"18482:141:68","text":"@notice Get the reward multiplier for a specific level of the Galaxy Member NFT.\n @param level - The level of the Galaxy Member NFT."},"functionSelector":"5fdc1752","id":35916,"implemented":true,"kind":"function","modifiers":[],"name":"levelToMultiplier","nameLocation":"18635:17:68","nodeType":"FunctionDefinition","parameters":{"id":35900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35899,"mutability":"mutable","name":"level","nameLocation":"18661:5:68","nodeType":"VariableDeclaration","scope":35916,"src":"18653:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35898,"name":"uint256","nodeType":"ElementaryTypeName","src":"18653:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18652:15:68"},"returnParameters":{"id":35903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35902,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35916,"src":"18691:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35901,"name":"uint256","nodeType":"ElementaryTypeName","src":"18691:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18690:9:68"},"scope":36214,"src":"18626:181:68","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":35932,"nodeType":"Block","src":"18921:95:68","statements":[{"assignments":[35925],"declarations":[{"constant":false,"id":35925,"mutability":"mutable","name":"$","nameLocation":"18955:1:68","nodeType":"VariableDeclaration","scope":35932,"src":"18927:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35924,"nodeType":"UserDefinedTypeName","pathNode":{"id":35923,"name":"VoterRewardsStorage","nameLocations":["18927:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"18927:19:68"},"referencedDeclaration":35167,"src":"18927:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35928,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35926,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"18959:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18959:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18927:57:68"},{"expression":{"expression":{"id":35929,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35925,"src":"18997:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18999:12:68","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":35131,"src":"18997:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"functionReturnParameters":35922,"id":35931,"nodeType":"Return","src":"18990:21:68"}]},"documentation":{"id":35917,"nodeType":"StructuredDocumentation","src":"18811:43:68","text":"@notice Get the Galaxy Member contract."},"functionSelector":"2325e4b9","id":35933,"implemented":true,"kind":"function","modifiers":[],"name":"galaxyMember","nameLocation":"18866:12:68","nodeType":"FunctionDefinition","parameters":{"id":35918,"nodeType":"ParameterList","parameters":[],"src":"18878:2:68"},"returnParameters":{"id":35922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35933,"src":"18904:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"},"typeName":{"id":35920,"nodeType":"UserDefinedTypeName","pathNode":{"id":35919,"name":"IGalaxyMemberV2","nameLocations":["18904:15:68"],"nodeType":"IdentifierPath","referencedDeclaration":32081,"src":"18904:15:68"},"referencedDeclaration":32081,"src":"18904:15:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"visibility":"internal"}],"src":"18903:17:68"},"scope":36214,"src":"18857:159:68","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":35949,"nodeType":"Block","src":"19118:92:68","statements":[{"assignments":[35942],"declarations":[{"constant":false,"id":35942,"mutability":"mutable","name":"$","nameLocation":"19152:1:68","nodeType":"VariableDeclaration","scope":35949,"src":"19124:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35941,"nodeType":"UserDefinedTypeName","pathNode":{"id":35940,"name":"VoterRewardsStorage","nameLocations":["19124:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"19124:19:68"},"referencedDeclaration":35167,"src":"19124:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35945,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35943,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"19156:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19156:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19124:57:68"},{"expression":{"expression":{"id":35946,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35942,"src":"19194:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35947,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19196:9:68","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":35137,"src":"19194:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"functionReturnParameters":35939,"id":35948,"nodeType":"Return","src":"19187:18:68"}]},"documentation":{"id":35934,"nodeType":"StructuredDocumentation","src":"19020:39:68","text":"@notice Get the Emissions contract."},"functionSelector":"2267716c","id":35950,"implemented":true,"kind":"function","modifiers":[],"name":"emissions","nameLocation":"19071:9:68","nodeType":"FunctionDefinition","parameters":{"id":35935,"nodeType":"ParameterList","parameters":[],"src":"19080:2:68"},"returnParameters":{"id":35939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35938,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35950,"src":"19106:10:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":35937,"nodeType":"UserDefinedTypeName","pathNode":{"id":35936,"name":"IEmissions","nameLocations":["19106:10:68"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"19106:10:68"},"referencedDeclaration":64454,"src":"19106:10:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"19105:12:68"},"scope":36214,"src":"19062:148:68","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":35966,"nodeType":"Block","src":"19303:87:68","statements":[{"assignments":[35959],"declarations":[{"constant":false,"id":35959,"mutability":"mutable","name":"$","nameLocation":"19337:1:68","nodeType":"VariableDeclaration","scope":35966,"src":"19309:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35958,"nodeType":"UserDefinedTypeName","pathNode":{"id":35957,"name":"VoterRewardsStorage","nameLocations":["19309:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"19309:19:68"},"referencedDeclaration":35167,"src":"19309:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35962,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35960,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"19341:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19341:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19309:57:68"},{"expression":{"expression":{"id":35963,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35959,"src":"19379:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19381:4:68","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":35134,"src":"19379:6:68","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"functionReturnParameters":35956,"id":35965,"nodeType":"Return","src":"19372:13:68"}]},"documentation":{"id":35951,"nodeType":"StructuredDocumentation","src":"19214:40:68","text":"@notice Get the B3TR token contract."},"functionSelector":"582a486a","id":35967,"implemented":true,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"19266:4:68","nodeType":"FunctionDefinition","parameters":{"id":35952,"nodeType":"ParameterList","parameters":[],"src":"19270:2:68"},"returnParameters":{"id":35956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35967,"src":"19296:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":35954,"nodeType":"UserDefinedTypeName","pathNode":{"id":35953,"name":"IB3TR","nameLocations":["19296:5:68"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"19296:5:68"},"referencedDeclaration":62888,"src":"19296:5:68","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"19295:7:68"},"scope":36214,"src":"19257:133:68","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":35989,"nodeType":"Block","src":"19835:253:68","statements":[{"assignments":[35977],"declarations":[{"constant":false,"id":35977,"mutability":"mutable","name":"$","nameLocation":"19869:1:68","nodeType":"VariableDeclaration","scope":35989,"src":"19841:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35976,"nodeType":"UserDefinedTypeName","pathNode":{"id":35975,"name":"VoterRewardsStorage","nameLocations":["19841:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"19841:19:68"},"referencedDeclaration":35167,"src":"19841:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":35980,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35978,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"19873:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":35979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19873:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19841:57:68"},{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":35987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":35984,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35970,"src":"20039:11:68","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":35981,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35977,"src":"19992:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":35982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19994:26:68","memberName":"quadraticRewardingDisabled","nodeType":"MemberAccess","referencedDeclaration":35154,"src":"19992:28:68","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":35983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20021:17:68","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"19992:46:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":35985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19992:59:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":35986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20055:1:68","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19992:64:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":35974,"id":35988,"nodeType":"Return","src":"19985:71:68"}]},"documentation":{"id":35968,"nodeType":"StructuredDocumentation","src":"19394:346:68","text":"@notice Check if quadratic rewarding is disabled at a specific block number.\n @dev To check if quadratic rewarding was disabled for a cycle, use the block number the cycle started.\n @param blockNumber - The block number to check the quadratic rewarding status.\n @return true if quadratic rewarding is disabled, false otherwise."},"functionSelector":"ee80e932","id":35990,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticRewardingDisabledAtBlock","nameLocation":"19752:35:68","nodeType":"FunctionDefinition","parameters":{"id":35971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35970,"mutability":"mutable","name":"blockNumber","nameLocation":"19795:11:68","nodeType":"VariableDeclaration","scope":35990,"src":"19788:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":35969,"name":"uint48","nodeType":"ElementaryTypeName","src":"19788:6:68","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"19787:20:68"},"returnParameters":{"id":35974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":35990,"src":"19829:4:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35972,"name":"bool","nodeType":"ElementaryTypeName","src":"19829:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19828:6:68"},"scope":36214,"src":"19743:345:68","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":36024,"nodeType":"Block","src":"20324:457:68","statements":[{"assignments":[35998],"declarations":[{"constant":false,"id":35998,"mutability":"mutable","name":"$","nameLocation":"20358:1:68","nodeType":"VariableDeclaration","scope":36024,"src":"20330:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":35997,"nodeType":"UserDefinedTypeName","pathNode":{"id":35996,"name":"VoterRewardsStorage","nameLocations":["20330:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"20330:19:68"},"referencedDeclaration":35167,"src":"20330:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":36001,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":35999,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"20362:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":36000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20362:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20330:57:68"},{"assignments":[36003],"declarations":[{"constant":false,"id":36003,"mutability":"mutable","name":"emissionCycleStartBlock","nameLocation":"20457:23:68","nodeType":"VariableDeclaration","scope":36024,"src":"20449:31:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36002,"name":"uint256","nodeType":"ElementaryTypeName","src":"20449:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":36008,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":36004,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35998,"src":"20483:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":36005,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20485:9:68","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":35137,"src":"20483:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":36006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20495:17:68","memberName":"lastEmissionBlock","nodeType":"MemberAccess","referencedDeclaration":64292,"src":"20483:29:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":36007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20483:31:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20449:65:68"},{"assignments":[36010],"declarations":[{"constant":false,"id":36010,"mutability":"mutable","name":"currentStatus","nameLocation":"20529:13:68","nodeType":"VariableDeclaration","scope":36024,"src":"20521:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":36009,"name":"uint208","nodeType":"ElementaryTypeName","src":"20521:7:68","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":36019,"initialValue":{"arguments":[{"arguments":[{"id":36016,"name":"emissionCycleStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36003,"src":"20610:23:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":36014,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"20592:8:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":36015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20601:8:68","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"20592:17:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":36017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20592:42:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":36011,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35998,"src":"20545:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":36012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20547:26:68","memberName":"quadraticRewardingDisabled","nodeType":"MemberAccess","referencedDeclaration":35154,"src":"20545:28:68","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":36013,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20574:17:68","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"20545:46:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":36018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20545:90:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"20521:114:68"},{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":36022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36020,"name":"currentStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36010,"src":"20731:13:68","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":36021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20748:1:68","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"20731:18:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":35995,"id":36023,"nodeType":"Return","src":"20724:25:68"}]},"documentation":{"id":35991,"nodeType":"StructuredDocumentation","src":"20092:147:68","text":"@notice Check if quadratic rewarding is disabled for the current cycle.\n @return true if quadratic rewarding is disabled, false otherwise."},"functionSelector":"71057f75","id":36025,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticRewardingDisabledForCurrentCycle","nameLocation":"20251:43:68","nodeType":"FunctionDefinition","parameters":{"id":35992,"nodeType":"ParameterList","parameters":[],"src":"20294:2:68"},"returnParameters":{"id":35995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35994,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36025,"src":"20318:4:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35993,"name":"bool","nodeType":"ElementaryTypeName","src":"20318:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20317:6:68"},"scope":36214,"src":"20242:539:68","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":36067,"nodeType":"Block","src":"21060:301:68","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":36040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36035,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36028,"src":"21074:13:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":36038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21099:1:68","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":36037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21091:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36036,"name":"address","nodeType":"ElementaryTypeName","src":"21091:7:68","typeDescriptions":{}}},"id":36039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21091:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21074:27:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a205f67616c6178794d656d6265722063616e6e6f7420626520746865207a65726f2061646472657373","id":36041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21103:56:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d","typeString":"literal_string \"VoterRewards: _galaxyMember cannot be the zero address\""},"value":"VoterRewards: _galaxyMember cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d","typeString":"literal_string \"VoterRewards: _galaxyMember cannot be the zero address\""}],"id":36034,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21066:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21066:94:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36043,"nodeType":"ExpressionStatement","src":"21066:94:68"},{"assignments":[36046],"declarations":[{"constant":false,"id":36046,"mutability":"mutable","name":"$","nameLocation":"21195:1:68","nodeType":"VariableDeclaration","scope":36067,"src":"21167:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":36045,"nodeType":"UserDefinedTypeName","pathNode":{"id":36044,"name":"VoterRewardsStorage","nameLocations":["21167:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"21167:19:68"},"referencedDeclaration":35167,"src":"21167:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":36049,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":36047,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"21199:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":36048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21199:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21167:57:68"},{"eventCall":{"arguments":[{"id":36051,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36028,"src":"21263:13:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":36054,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36046,"src":"21286:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":36055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21288:12:68","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":35131,"src":"21286:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}],"id":36053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21278:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36052,"name":"address","nodeType":"ElementaryTypeName","src":"21278:7:68","typeDescriptions":{}}},"id":36056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21278:23:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":36050,"name":"GalaxyMemberAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35206,"src":"21236:26:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":36057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21236:66:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36058,"nodeType":"EmitStatement","src":"21231:71:68"},{"expression":{"id":36065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":36059,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36046,"src":"21309:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":36061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21311:12:68","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":35131,"src":"21309:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":36063,"name":"_galaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36028,"src":"21342:13:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":36062,"name":"IGalaxyMemberV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32081,"src":"21326:15:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGalaxyMemberV2_$32081_$","typeString":"type(contract IGalaxyMemberV2)"}},"id":36064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21326:30:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"src":"21309:47:68","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMemberV2_$32081","typeString":"contract IGalaxyMemberV2"}},"id":36066,"nodeType":"ExpressionStatement","src":"21309:47:68"}]},"documentation":{"id":36026,"nodeType":"StructuredDocumentation","src":"20838:115:68","text":"@notice Set the Galaxy Member contract.\n @param _galaxyMember - The address of the Galaxy Member contract."},"functionSelector":"ae0b8da8","id":36068,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":36031,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35123,"src":"21028:30:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":36032,"kind":"modifierInvocation","modifierName":{"id":36030,"name":"onlyRole","nameLocations":["21019:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21019:8:68"},"nodeType":"ModifierInvocation","src":"21019:40:68"}],"name":"setGalaxyMember","nameLocation":"20965:15:68","nodeType":"FunctionDefinition","parameters":{"id":36029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36028,"mutability":"mutable","name":"_galaxyMember","nameLocation":"20989:13:68","nodeType":"VariableDeclaration","scope":36068,"src":"20981:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36027,"name":"address","nodeType":"ElementaryTypeName","src":"20981:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20980:23:68"},"returnParameters":{"id":36033,"nodeType":"ParameterList","parameters":[],"src":"21060:0:68"},"scope":36214,"src":"20956:405:68","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":36112,"nodeType":"Block","src":"21688:315:68","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36080,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36071,"src":"21702:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":36081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21710:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21702:9:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206c6576656c206d7573742062652067726561746572207468616e2030","id":36083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21713:44:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642","typeString":"literal_string \"VoterRewards: level must be greater than 0\""},"value":"VoterRewards: level must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642","typeString":"literal_string \"VoterRewards: level must be greater than 0\""}],"id":36079,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21694:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21694:64:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36085,"nodeType":"ExpressionStatement","src":"21694:64:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36087,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36073,"src":"21772:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":36088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21785:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21772:14:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a206d756c7469706c696572206d7573742062652067726561746572207468616e2030","id":36090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21788:49:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38","typeString":"literal_string \"VoterRewards: multiplier must be greater than 0\""},"value":"VoterRewards: multiplier must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38","typeString":"literal_string \"VoterRewards: multiplier must be greater than 0\""}],"id":36086,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21764:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21764:74:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36092,"nodeType":"ExpressionStatement","src":"21764:74:68"},{"assignments":[36095],"declarations":[{"constant":false,"id":36095,"mutability":"mutable","name":"$","nameLocation":"21873:1:68","nodeType":"VariableDeclaration","scope":36112,"src":"21845:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":36094,"nodeType":"UserDefinedTypeName","pathNode":{"id":36093,"name":"VoterRewardsStorage","nameLocations":["21845:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"21845:19:68"},"referencedDeclaration":35167,"src":"21845:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":36098,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":36096,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"21877:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":36097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21877:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21845:57:68"},{"expression":{"id":36105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":36099,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36095,"src":"21908:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":36102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21910:17:68","memberName":"levelToMultiplier","nodeType":"MemberAccess","referencedDeclaration":35141,"src":"21908:19:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":36103,"indexExpression":{"id":36101,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36071,"src":"21928:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21908:26:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":36104,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36073,"src":"21937:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21908:39:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36106,"nodeType":"ExpressionStatement","src":"21908:39:68"},{"eventCall":{"arguments":[{"id":36108,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36071,"src":"21980:5:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":36109,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36073,"src":"21987:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":36107,"name":"LevelToMultiplierSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35220,"src":"21959:20:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":36110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21959:39:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36111,"nodeType":"EmitStatement","src":"21954:44:68"}]},"documentation":{"id":36069,"nodeType":"StructuredDocumentation","src":"21365:211:68","text":"@notice Set the Galaxy Member level to multiplier mapping.\n @param level - The level of the Galaxy Member NFT.\n @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT."},"functionSelector":"b0b3de89","id":36113,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":36076,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"21668:18:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":36077,"kind":"modifierInvocation","modifierName":{"id":36075,"name":"onlyRole","nameLocations":["21659:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21659:8:68"},"nodeType":"ModifierInvocation","src":"21659:28:68"}],"name":"setLevelToMultiplier","nameLocation":"21588:20:68","nodeType":"FunctionDefinition","parameters":{"id":36074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36071,"mutability":"mutable","name":"level","nameLocation":"21617:5:68","nodeType":"VariableDeclaration","scope":36113,"src":"21609:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36070,"name":"uint256","nodeType":"ElementaryTypeName","src":"21609:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36073,"mutability":"mutable","name":"multiplier","nameLocation":"21632:10:68","nodeType":"VariableDeclaration","scope":36113,"src":"21624:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36072,"name":"uint256","nodeType":"ElementaryTypeName","src":"21624:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21608:35:68"},"returnParameters":{"id":36078,"nodeType":"ParameterList","parameters":[],"src":"21688:0:68"},"scope":36214,"src":"21579:424:68","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":36155,"nodeType":"Block","src":"22213:274:68","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":36128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36123,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36116,"src":"22227:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":36126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22249:1:68","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":36125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22241:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36124,"name":"address","nodeType":"ElementaryTypeName","src":"22241:7:68","typeDescriptions":{}}},"id":36127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22241:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22227:24:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f746572526577617264733a20656d697373696f6e732063616e6e6f7420626520746865207a65726f2061646472657373","id":36129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22253:52:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001","typeString":"literal_string \"VoterRewards: emissions cannot be the zero address\""},"value":"VoterRewards: emissions cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001","typeString":"literal_string \"VoterRewards: emissions cannot be the zero address\""}],"id":36122,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22219:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22219:87:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36131,"nodeType":"ExpressionStatement","src":"22219:87:68"},{"assignments":[36134],"declarations":[{"constant":false,"id":36134,"mutability":"mutable","name":"$","nameLocation":"22341:1:68","nodeType":"VariableDeclaration","scope":36155,"src":"22313:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":36133,"nodeType":"UserDefinedTypeName","pathNode":{"id":36132,"name":"VoterRewardsStorage","nameLocations":["22313:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"22313:19:68"},"referencedDeclaration":35167,"src":"22313:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":36137,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":36135,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"22345:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":36136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22345:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22313:57:68"},{"eventCall":{"arguments":[{"id":36139,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36116,"src":"22406:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":36142,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36134,"src":"22426:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":36143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22428:9:68","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":35137,"src":"22426:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":36141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22418:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36140,"name":"address","nodeType":"ElementaryTypeName","src":"22418:7:68","typeDescriptions":{}}},"id":36144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22418:20:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":36138,"name":"EmissionsAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35213,"src":"22382:23:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":36145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22382:57:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36146,"nodeType":"EmitStatement","src":"22377:62:68"},{"expression":{"id":36153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":36147,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36134,"src":"22446:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":36149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22448:9:68","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":35137,"src":"22446:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":36151,"name":"_emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36116,"src":"22471:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":36150,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"22460:10:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IEmissions_$64454_$","typeString":"type(contract IEmissions)"}},"id":36152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22460:22:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"22446:36:68","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":36154,"nodeType":"ExpressionStatement","src":"22446:36:68"}]},"documentation":{"id":36114,"nodeType":"StructuredDocumentation","src":"22007:105:68","text":"@notice Set the Emmissions contract.\n @param _emissions - The address of the emissions contract."},"functionSelector":"08834ee7","id":36156,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":36119,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35123,"src":"22181:30:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":36120,"kind":"modifierInvocation","modifierName":{"id":36118,"name":"onlyRole","nameLocations":["22172:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22172:8:68"},"nodeType":"ModifierInvocation","src":"22172:40:68"}],"name":"setEmissions","nameLocation":"22124:12:68","nodeType":"FunctionDefinition","parameters":{"id":36117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36116,"mutability":"mutable","name":"_emissions","nameLocation":"22145:10:68","nodeType":"VariableDeclaration","scope":36156,"src":"22137:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36115,"name":"address","nodeType":"ElementaryTypeName","src":"22137:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22136:20:68"},"returnParameters":{"id":36121,"nodeType":"ParameterList","parameters":[],"src":"22213:0:68"},"scope":36214,"src":"22115:372:68","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":36192,"nodeType":"Block","src":"22805:412:68","statements":[{"assignments":[36165],"declarations":[{"constant":false,"id":36165,"mutability":"mutable","name":"$","nameLocation":"22839:1:68","nodeType":"VariableDeclaration","scope":36192,"src":"22811:29:68","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"},"typeName":{"id":36164,"nodeType":"UserDefinedTypeName","pathNode":{"id":36163,"name":"VoterRewardsStorage","nameLocations":["22811:19:68"],"nodeType":"IdentifierPath","referencedDeclaration":35167,"src":"22811:19:68"},"referencedDeclaration":35167,"src":"22811:19:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage"}},"visibility":"internal"}],"id":36168,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":36166,"name":"_getVoterRewardsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35179,"src":"22843:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoterRewardsStorage_$35167_storage_ptr_$","typeString":"function () pure returns (struct VoterRewardsV3.VoterRewardsStorage storage pointer)"}},"id":36167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22843:25:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22811:57:68"},{"assignments":[36170],"declarations":[{"constant":false,"id":36170,"mutability":"mutable","name":"currentStatus","nameLocation":"22910:13:68","nodeType":"VariableDeclaration","scope":36192,"src":"22905:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36169,"name":"bool","nodeType":"ElementaryTypeName","src":"22905:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":36173,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":36171,"name":"isQuadraticRewardingDisabledForCurrentCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36025,"src":"22926:43:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":36172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22926:45:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22905:66:68"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":36179,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36213,"src":"23064:5:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":36180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23064:7:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"condition":{"id":36181,"name":"currentStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36170,"src":"23073:13:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"31","id":36183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23093:1:68","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"id":36184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23073:21:68","trueExpression":{"hexValue":"30","id":36182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23089:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"expression":{"id":36174,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36165,"src":"23030:1:68","typeDescriptions":{"typeIdentifier":"t_struct$_VoterRewardsStorage_$35167_storage_ptr","typeString":"struct VoterRewardsV3.VoterRewardsStorage storage pointer"}},"id":36177,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23032:26:68","memberName":"quadraticRewardingDisabled","nodeType":"MemberAccess","referencedDeclaration":35154,"src":"23030:28:68","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":36178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23059:4:68","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"23030:33:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":36185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23030:65:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":36186,"nodeType":"ExpressionStatement","src":"23030:65:68"},{"eventCall":{"arguments":[{"id":36189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23197:14:68","subExpression":{"id":36188,"name":"currentStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36170,"src":"23198:13:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":36187,"name":"QuadraticRewardingToggled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35225,"src":"23171:25:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":36190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23171:41:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36191,"nodeType":"EmitStatement","src":"23166:46:68"}]},"documentation":{"id":36157,"nodeType":"StructuredDocumentation","src":"22491:237:68","text":"@notice Toggle quadratic rewarding for a specific cycle.\n @dev This function toggles the state of quadratic rewarding for a specific cycle.\n The state will flip between enabled and disabled each time the function is called."},"functionSelector":"be64bad8","id":36193,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":36160,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"22785:18:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":36161,"kind":"modifierInvocation","modifierName":{"id":36159,"name":"onlyRole","nameLocations":["22776:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22776:8:68"},"nodeType":"ModifierInvocation","src":"22776:28:68"}],"name":"toggleQuadraticRewarding","nameLocation":"22740:24:68","nodeType":"FunctionDefinition","parameters":{"id":36158,"nodeType":"ParameterList","parameters":[],"src":"22764:2:68"},"returnParameters":{"id":36162,"nodeType":"ParameterList","parameters":[],"src":"22805:0:68"},"scope":36214,"src":"22731:486:68","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":36201,"nodeType":"Block","src":"23474:21:68","statements":[{"expression":{"hexValue":"33","id":36199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23487:3:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a80e1ef1d7842f27f2e6be0972bb708b9a135c38860dbe73c27c3486c34f4de","typeString":"literal_string \"3\""},"value":"3"},"functionReturnParameters":36198,"id":36200,"nodeType":"Return","src":"23480:10:68"}]},"documentation":{"id":36194,"nodeType":"StructuredDocumentation","src":"23221:185:68","text":"@notice Returns the version of the contract\n @dev This should be updated every time a new version of implementation is deployed\n @return string The version of the contract"},"functionSelector":"54fd4d50","id":36202,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"23418:7:68","nodeType":"FunctionDefinition","parameters":{"id":36195,"nodeType":"ParameterList","parameters":[],"src":"23425:2:68"},"returnParameters":{"id":36198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36197,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36202,"src":"23459:13:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":36196,"name":"string","nodeType":"ElementaryTypeName","src":"23459:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23458:15:68"},"scope":36214,"src":"23409:86:68","stateMutability":"pure","virtual":true,"visibility":"external"},{"body":{"id":36212,"nodeType":"Block","src":"23601:36:68","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":36208,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"23614:4:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":36209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23619:11:68","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"23614:16:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":36210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23614:18:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":36207,"id":36211,"nodeType":"Return","src":"23607:25:68"}]},"documentation":{"id":36203,"nodeType":"StructuredDocumentation","src":"23499:45:68","text":"@dev Clock used for flagging checkpoints."},"functionSelector":"91ddadf4","id":36213,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"23556:5:68","nodeType":"FunctionDefinition","parameters":{"id":36204,"nodeType":"ParameterList","parameters":[],"src":"23561:2:68"},"returnParameters":{"id":36207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":36213,"src":"23593:6:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":36205,"name":"uint48","nodeType":"ElementaryTypeName","src":"23593:6:68","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"23592:8:68"},"scope":36214,"src":"23547:90:68","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":36215,"src":"3664:19975:68","usedErrors":[1495,1498,1759,1764,4194,4342,4345,4738,4751,5344,5347,7025,8883],"usedEvents":[1503,4354,4363,4372,4717,35190,35199,35206,35213,35220,35225]}],"src":"1195:22445:68"},"id":68},"contracts/deprecated/V4/GalaxyMemberV4.sol":{"ast":{"absolutePath":"contracts/deprecated/V4/GalaxyMemberV4.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Checkpoints":[10447],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"ERC721BurnableUpgradeable":[3189],"ERC721EnumerableUpgradeable":[3674],"ERC721PausableUpgradeable":[3728],"ERC721URIStorageUpgradeable":[3898],"ERC721Upgradeable":[3144],"GalaxyMemberV4":[38642],"IAccessControl":[4415],"IB3TR":[62888],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC4906":[4526],"IERC721":[5253],"IERC721Enumerable":[5303],"IERC721Errors":[4656],"IERC721Metadata":[5331],"IERC721Receiver":[5271],"INodeManagementV2":[32668],"ITokenAuction":[73165],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"Math":[7015],"PausableUpgradeable":[4163],"ReentrancyGuardUpgradeable":[4292],"SafeCast":[8770],"SignedMath":[8875],"Strings":[5949],"Time":[11669],"UUPSUpgradeable":[1914]},"id":38643,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":36216,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:69"},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","id":36217,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":3145,"src":"1220:80:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","id":36218,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":3675,"src":"1301:101:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","id":36219,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":3899,"src":"1403:101:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","id":36220,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":3729,"src":"1505:99:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","id":36221,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":3190,"src":"1605:99:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":36222,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":363,"src":"1705:81:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","id":36223,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":5950,"src":"1787:51:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":36224,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":4293,"src":"1839:82:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":36226,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":10448,"src":"1922:84:69","symbolAliases":[{"foreign":{"id":36225,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1931:11:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":36228,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":8771,"src":"2007:75:69","symbolAliases":[{"foreign":{"id":36227,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"2016:8:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":36230,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":71125,"src":"2083:93:69","symbolAliases":[{"foreign":{"id":36229,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"2092:26:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":36232,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":63920,"src":"2177:67:69","symbolAliases":[{"foreign":{"id":36231,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2186:13:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":36234,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":62889,"src":"2245:51:69","symbolAliases":[{"foreign":{"id":36233,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"2254:5:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/ITokenAuction.sol","file":"../../mocks/Stargate/interfaces/ITokenAuction.sol","id":36236,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":73166,"src":"2297:82:69","symbolAliases":[{"foreign":{"id":36235,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"2306:13:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V2/interfaces/INodeManagementV2.sol","file":"../V2/interfaces/INodeManagementV2.sol","id":36238,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":32669,"src":"2380:75:69","symbolAliases":[{"foreign":{"id":36237,"name":"INodeManagementV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32668,"src":"2389:17:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":36239,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":1915,"src":"2456:77:69","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":36241,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":38643,"sourceUnit":11670,"src":"2534:68:69","symbolAliases":[{"foreign":{"id":36240,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"2543:4:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":36243,"name":"ERC721Upgradeable","nameLocations":["4224:17:69"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"4224:17:69"},"id":36244,"nodeType":"InheritanceSpecifier","src":"4224:17:69"},{"baseName":{"id":36245,"name":"ERC721EnumerableUpgradeable","nameLocations":["4245:27:69"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"4245:27:69"},"id":36246,"nodeType":"InheritanceSpecifier","src":"4245:27:69"},{"baseName":{"id":36247,"name":"ERC721PausableUpgradeable","nameLocations":["4276:25:69"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"4276:25:69"},"id":36248,"nodeType":"InheritanceSpecifier","src":"4276:25:69"},{"baseName":{"id":36249,"name":"ERC721BurnableUpgradeable","nameLocations":["4305:25:69"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"4305:25:69"},"id":36250,"nodeType":"InheritanceSpecifier","src":"4305:25:69"},{"baseName":{"id":36251,"name":"AccessControlUpgradeable","nameLocations":["4334:24:69"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"4334:24:69"},"id":36252,"nodeType":"InheritanceSpecifier","src":"4334:24:69"},{"baseName":{"id":36253,"name":"ReentrancyGuardUpgradeable","nameLocations":["4362:26:69"],"nodeType":"IdentifierPath","referencedDeclaration":4292,"src":"4362:26:69"},"id":36254,"nodeType":"InheritanceSpecifier","src":"4362:26:69"},{"baseName":{"id":36255,"name":"UUPSUpgradeable","nameLocations":["4392:15:69"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"4392:15:69"},"id":36256,"nodeType":"InheritanceSpecifier","src":"4392:15:69"}],"canonicalName":"GalaxyMemberV4","contractDependencies":[],"contractKind":"contract","documentation":{"id":36242,"nodeType":"StructuredDocumentation","src":"2604:1590:69","text":" @title GalaxyMember\n @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n --------------------------------- VERSION 2 ---------------------------------\n - Added Vechain Nodes contract to attach and detach nodes to tokens\n - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n - Added free upgrade levels for each Vechain node level\n - Removed automatic highest level owned selection\n - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n - Core logic functions are now overridable through inheritance\n - B3TRGovernor has been updated to V2 thus pointing to the new interface\n - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\n --------------------------------- VERSION 3 ---------------------------------\n - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated())\n - Added `selectFor` function to allow the admin to select a token for the user\n - Added checkpoints for the selected token ID of the user\n - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking\n -------------------------------- VERSION 4 ---------------------------------\n  - Added events to track the level of the token when attaching and detaching nodes"},"fullyImplemented":true,"id":38642,"linearizedBaseContracts":[38642,1914,4566,4292,362,3189,3728,4163,3674,5303,3144,4656,5331,5253,4332,5961,4415,3987,1732],"name":"GalaxyMemberV4","nameLocation":"4204:14:69","nodeType":"ContractDefinition","nodes":[{"global":false,"id":36260,"libraryName":{"id":36257,"name":"Checkpoints","nameLocations":["4418:11:69"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"4418:11:69"},"nodeType":"UsingForDirective","src":"4412:43:69","typeName":{"id":36259,"nodeType":"UserDefinedTypeName","pathNode":{"id":36258,"name":"Checkpoints.Trace208","nameLocations":["4434:11:69","4446:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"4434:20:69"},"referencedDeclaration":9409,"src":"4434:20:69","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"constant":true,"functionSelector":"f72c0d8b","id":36265,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"4568:13:69","nodeType":"VariableDeclaration","scope":38642,"src":"4544:66:69","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4544:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":36263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4594:15:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":36262,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4584:9:69","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4584:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":36270,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"4638:11:69","nodeType":"VariableDeclaration","scope":38642,"src":"4614:62:69","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4614:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":36268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4662:13:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":36267,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4652:9:69","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4652:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"d5391393","id":36275,"mutability":"constant","name":"MINTER_ROLE","nameLocation":"4704:11:69","nodeType":"VariableDeclaration","scope":38642,"src":"4680:62:69","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4680:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4d494e5445525f524f4c45","id":36273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4728:13:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""},"value":"MINTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""}],"id":36272,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4718:9:69","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4718:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"952f2133","id":36280,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"4770:30:69","nodeType":"VariableDeclaration","scope":38642,"src":"4746:100:69","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4746:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":36278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4813:32:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":36277,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4803:9:69","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:43:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"3d6dbee8","id":36285,"mutability":"constant","name":"NODES_MANAGER_ROLE","nameLocation":"4874:18:69","nodeType":"VariableDeclaration","scope":38642,"src":"4850:76:69","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4850:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4e4f4445535f4d414e414745525f524f4c45","id":36283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4905:20:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""},"value":"NODES_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""}],"id":36282,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4895:9:69","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4895:31:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"GalaxyMemberV4.GalaxyMemberStorage","documentation":{"id":36286,"nodeType":"StructuredDocumentation","src":"4931:204:69","text":"@notice Storage structure for GalaxyMember\n @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n @custom:storage-location erc7201:b3tr.storage.GalaxyMember"},"id":36356,"members":[{"constant":false,"id":36289,"mutability":"mutable","name":"xAllocationsGovernor","nameLocation":"5198:20:69","nodeType":"VariableDeclaration","scope":36356,"src":"5171:47:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":36288,"nodeType":"UserDefinedTypeName","pathNode":{"id":36287,"name":"IXAllocationVotingGovernor","nameLocations":["5171:26:69"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"5171:26:69"},"referencedDeclaration":71124,"src":"5171:26:69","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":36292,"mutability":"mutable","name":"b3trGovernor","nameLocation":"5276:12:69","nodeType":"VariableDeclaration","scope":36356,"src":"5262:26:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":36291,"nodeType":"UserDefinedTypeName","pathNode":{"id":36290,"name":"IB3TRGovernor","nameLocations":["5262:13:69"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"5262:13:69"},"referencedDeclaration":63919,"src":"5262:13:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"},{"constant":false,"id":36295,"mutability":"mutable","name":"b3tr","nameLocation":"5325:4:69","nodeType":"VariableDeclaration","scope":36356,"src":"5319:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":36294,"nodeType":"UserDefinedTypeName","pathNode":{"id":36293,"name":"IB3TR","nameLocations":["5319:5:69"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"5319:5:69"},"referencedDeclaration":62888,"src":"5319:5:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":36297,"mutability":"mutable","name":"treasury","nameLocation":"5366:8:69","nodeType":"VariableDeclaration","scope":36356,"src":"5358:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36296,"name":"address","nodeType":"ElementaryTypeName","src":"5358:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36299,"mutability":"mutable","name":"_baseTokenURI","nameLocation":"5416:13:69","nodeType":"VariableDeclaration","scope":36356,"src":"5409:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":36298,"name":"string","nodeType":"ElementaryTypeName","src":"5409:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":36301,"mutability":"mutable","name":"_nextTokenId","nameLocation":"5469:12:69","nodeType":"VariableDeclaration","scope":36356,"src":"5461:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36300,"name":"uint256","nodeType":"ElementaryTypeName","src":"5461:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36303,"mutability":"mutable","name":"MAX_LEVEL","nameLocation":"5525:9:69","nodeType":"VariableDeclaration","scope":36356,"src":"5517:17:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36302,"name":"uint256","nodeType":"ElementaryTypeName","src":"5517:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36307,"mutability":"mutable","name":"levelOf","nameLocation":"5632:7:69","nodeType":"VariableDeclaration","scope":36356,"src":"5604:35:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":36306,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36304,"name":"uint256","nodeType":"ElementaryTypeName","src":"5612:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5604:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36305,"name":"uint256","nodeType":"ElementaryTypeName","src":"5623:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":36311,"mutability":"mutable","name":"_b3trToUpgradeToLevel","nameLocation":"5720:21:69","nodeType":"VariableDeclaration","scope":36356,"src":"5692:49:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":36310,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36308,"name":"uint256","nodeType":"ElementaryTypeName","src":"5700:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5692:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36309,"name":"uint256","nodeType":"ElementaryTypeName","src":"5711:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":36316,"mutability":"mutable","name":"_selectedLevelCheckpoints","nameLocation":"5858:25:69","nodeType":"VariableDeclaration","scope":36356,"src":"5811:72:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":36315,"keyName":"owner","keyNameLocation":"5827:5:69","keyType":{"id":36312,"name":"address","nodeType":"ElementaryTypeName","src":"5819:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5811:46:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36314,"nodeType":"UserDefinedTypeName","pathNode":{"id":36313,"name":"Checkpoints.Trace208","nameLocations":["5836:11:69","5848:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"5836:20:69"},"referencedDeclaration":9409,"src":"5836:20:69","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":36322,"mutability":"mutable","name":"_ownedLevels","nameLocation":"5983:12:69","nodeType":"VariableDeclaration","scope":36356,"src":"5935:60:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":36321,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36317,"name":"address","nodeType":"ElementaryTypeName","src":"5943:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5935:47:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36320,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36318,"name":"uint256","nodeType":"ElementaryTypeName","src":"5962:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5954:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36319,"name":"uint256","nodeType":"ElementaryTypeName","src":"5973:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":36324,"mutability":"mutable","name":"isPublicMintingPaused","nameLocation":"6060:21:69","nodeType":"VariableDeclaration","scope":36356,"src":"6055:26:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36323,"name":"bool","nodeType":"ElementaryTypeName","src":"6055:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36327,"mutability":"mutable","name":"vechainNodes","nameLocation":"6212:12:69","nodeType":"VariableDeclaration","scope":36356,"src":"6198:26:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"},"typeName":{"id":36326,"nodeType":"UserDefinedTypeName","pathNode":{"id":36325,"name":"ITokenAuction","nameLocations":["6198:13:69"],"nodeType":"IdentifierPath","referencedDeclaration":73165,"src":"6198:13:69"},"referencedDeclaration":73165,"src":"6198:13:69","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"visibility":"internal"},{"constant":false,"id":36330,"mutability":"mutable","name":"nodeManagement","nameLocation":"6274:14:69","nodeType":"VariableDeclaration","scope":36356,"src":"6256:32:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"},"typeName":{"id":36329,"nodeType":"UserDefinedTypeName","pathNode":{"id":36328,"name":"INodeManagementV2","nameLocations":["6256:17:69"],"nodeType":"IdentifierPath","referencedDeclaration":32668,"src":"6256:17:69"},"referencedDeclaration":32668,"src":"6256:17:69","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"visibility":"internal"},{"constant":false,"id":36334,"mutability":"mutable","name":"_nodeToTokenId","nameLocation":"6350:14:69","nodeType":"VariableDeclaration","scope":36356,"src":"6322:42:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":36333,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36331,"name":"uint256","nodeType":"ElementaryTypeName","src":"6330:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6322:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36332,"name":"uint256","nodeType":"ElementaryTypeName","src":"6341:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":36338,"mutability":"mutable","name":"_tokenIdToNode","nameLocation":"6504:14:69","nodeType":"VariableDeclaration","scope":36356,"src":"6476:42:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":36337,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36335,"name":"uint256","nodeType":"ElementaryTypeName","src":"6484:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6476:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36336,"name":"uint256","nodeType":"ElementaryTypeName","src":"6495:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":36342,"mutability":"mutable","name":"_nodeToFreeUpgradeLevel","nameLocation":"6665:23:69","nodeType":"VariableDeclaration","scope":36356,"src":"6639:49:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"typeName":{"id":36341,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36339,"name":"uint8","nodeType":"ElementaryTypeName","src":"6647:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"6639:25:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36340,"name":"uint256","nodeType":"ElementaryTypeName","src":"6656:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":36346,"mutability":"mutable","name":"_tokenIdToB3TRdonated","nameLocation":"6868:21:69","nodeType":"VariableDeclaration","scope":36356,"src":"6840:49:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":36345,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36343,"name":"uint256","nodeType":"ElementaryTypeName","src":"6848:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6840:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36344,"name":"uint256","nodeType":"ElementaryTypeName","src":"6859:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":36350,"mutability":"mutable","name":"_selectedTokenID_DEPRECATED","nameLocation":"6981:27:69","nodeType":"VariableDeclaration","scope":36356,"src":"6953:55:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":36349,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36347,"name":"address","nodeType":"ElementaryTypeName","src":"6961:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6953:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36348,"name":"uint256","nodeType":"ElementaryTypeName","src":"6972:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":36355,"mutability":"mutable","name":"_selectedTokenIDCheckpoints","nameLocation":"7225:27:69","nodeType":"VariableDeclaration","scope":36356,"src":"7184:68:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":36354,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":36351,"name":"address","nodeType":"ElementaryTypeName","src":"7192:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7184:40:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":36353,"nodeType":"UserDefinedTypeName","pathNode":{"id":36352,"name":"Checkpoints.Trace208","nameLocations":["7203:11:69","7215:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"7203:20:69"},"referencedDeclaration":9409,"src":"7203:20:69","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"}],"name":"GalaxyMemberStorage","nameLocation":"5145:19:69","nodeType":"StructDefinition","scope":38642,"src":"5138:2171:69","visibility":"public"},{"constant":true,"documentation":{"id":36357,"nodeType":"StructuredDocumentation","src":"7313:160:69","text":"@notice Storage slot for GalaxyMemberStorage\n @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))"},"id":36360,"mutability":"constant","name":"GalaxyMemberStorageLocation","nameLocation":"7501:27:69","nodeType":"VariableDeclaration","scope":38642,"src":"7476:125:69","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7476:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613739653436383434656430343431316534353739633762633439643035336535396230383534666134653961386466336435613035393763653435323030","id":36359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7535:66:69","typeDescriptions":{"typeIdentifier":"t_rational_55397532431256944332624412610074443018145280775219256269508870897919582294528_by_1","typeString":"int_const 5539...(69 digits omitted)...4528"},"value":"0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200"},"visibility":"private"},{"body":{"id":36368,"nodeType":"Block","src":"7770:70:69","statements":[{"AST":{"nodeType":"YulBlock","src":"7785:51:69","statements":[{"nodeType":"YulAssignment","src":"7793:37:69","value":{"name":"GalaxyMemberStorageLocation","nodeType":"YulIdentifier","src":"7803:27:69"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"7793:6:69"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":36365,"isOffset":false,"isSlot":true,"src":"7793:6:69","suffix":"slot","valueSize":1},{"declaration":36360,"isOffset":false,"isSlot":false,"src":"7803:27:69","valueSize":1}],"id":36367,"nodeType":"InlineAssembly","src":"7776:60:69"}]},"documentation":{"id":36361,"nodeType":"StructuredDocumentation","src":"7606:73:69","text":"@dev Retrieves the current state from the GalaxyMemberStorage mapping"},"id":36369,"implemented":true,"kind":"function","modifiers":[],"name":"_getGalaxyMemberStorage","nameLocation":"7691:23:69","nodeType":"FunctionDefinition","parameters":{"id":36362,"nodeType":"ParameterList","parameters":[],"src":"7714:2:69"},"returnParameters":{"id":36366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36365,"mutability":"mutable","name":"$","nameLocation":"7767:1:69","nodeType":"VariableDeclaration","scope":36369,"src":"7739:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":36364,"nodeType":"UserDefinedTypeName","pathNode":{"id":36363,"name":"GalaxyMemberStorage","nameLocations":["7739:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"7739:19:69"},"referencedDeclaration":36356,"src":"7739:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"src":"7738:31:69"},"scope":38642,"src":"7682:158:69","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"documentation":{"id":36370,"nodeType":"StructuredDocumentation","src":"7844:79:69","text":"@dev Emitted when an account changes the selected token for voting rewards."},"eventSelector":"d3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc","id":36376,"name":"Selected","nameLocation":"7932:8:69","nodeType":"EventDefinition","parameters":{"id":36375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36372,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"7957:5:69","nodeType":"VariableDeclaration","scope":36376,"src":"7941:21:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36371,"name":"address","nodeType":"ElementaryTypeName","src":"7941:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36374,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"7972:7:69","nodeType":"VariableDeclaration","scope":36376,"src":"7964:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36373,"name":"uint256","nodeType":"ElementaryTypeName","src":"7964:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7940:40:69"},"src":"7926:55:69"},{"anonymous":false,"documentation":{"id":36377,"nodeType":"StructuredDocumentation","src":"7985:42:69","text":"@dev Emitted when a token is upgraded."},"eventSelector":"936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854","id":36385,"name":"Upgraded","nameLocation":"8036:8:69","nodeType":"EventDefinition","parameters":{"id":36384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36379,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"8061:7:69","nodeType":"VariableDeclaration","scope":36385,"src":"8045:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36378,"name":"uint256","nodeType":"ElementaryTypeName","src":"8045:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36381,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"8078:8:69","nodeType":"VariableDeclaration","scope":36385,"src":"8070:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36380,"name":"uint256","nodeType":"ElementaryTypeName","src":"8070:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36383,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"8096:8:69","nodeType":"VariableDeclaration","scope":36385,"src":"8088:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36382,"name":"uint256","nodeType":"ElementaryTypeName","src":"8088:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8044:61:69"},"src":"8030:76:69"},{"anonymous":false,"documentation":{"id":36386,"nodeType":"StructuredDocumentation","src":"8110:47:69","text":"@dev Emitted when the max level is updated."},"eventSelector":"53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450","id":36392,"name":"MaxLevelUpdated","nameLocation":"8166:15:69","nodeType":"EventDefinition","parameters":{"id":36391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36388,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"8190:8:69","nodeType":"VariableDeclaration","scope":36392,"src":"8182:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36387,"name":"uint256","nodeType":"ElementaryTypeName","src":"8182:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36390,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"8208:8:69","nodeType":"VariableDeclaration","scope":36392,"src":"8200:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36389,"name":"uint256","nodeType":"ElementaryTypeName","src":"8200:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8181:36:69"},"src":"8160:58:69"},{"anonymous":false,"documentation":{"id":36393,"nodeType":"StructuredDocumentation","src":"8222:75:69","text":"@dev Emitted when XAllocationVotingGovernor contract address is updated"},"eventSelector":"d9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af129","id":36399,"name":"XAllocationsGovernorAddressUpdated","nameLocation":"8306:34:69","nodeType":"EventDefinition","parameters":{"id":36398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36395,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"8357:10:69","nodeType":"VariableDeclaration","scope":36399,"src":"8341:26:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36394,"name":"address","nodeType":"ElementaryTypeName","src":"8341:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36397,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"8385:10:69","nodeType":"VariableDeclaration","scope":36399,"src":"8369:26:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36396,"name":"address","nodeType":"ElementaryTypeName","src":"8369:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8340:56:69"},"src":"8300:97:69"},{"anonymous":false,"documentation":{"id":36400,"nodeType":"StructuredDocumentation","src":"8401:62:69","text":"@dev Emitted when B3TRGovernor contract address is updated"},"eventSelector":"95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a8270","id":36406,"name":"B3trGovernorAddressUpdated","nameLocation":"8472:26:69","nodeType":"EventDefinition","parameters":{"id":36405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36402,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"8515:10:69","nodeType":"VariableDeclaration","scope":36406,"src":"8499:26:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36401,"name":"address","nodeType":"ElementaryTypeName","src":"8499:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36404,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"8543:10:69","nodeType":"VariableDeclaration","scope":36406,"src":"8527:26:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36403,"name":"address","nodeType":"ElementaryTypeName","src":"8527:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8498:56:69"},"src":"8466:89:69"},{"anonymous":false,"documentation":{"id":36407,"nodeType":"StructuredDocumentation","src":"8559:41:69","text":"@dev Emitted when base URI is updated"},"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":36413,"name":"BaseURIUpdated","nameLocation":"8609:14:69","nodeType":"EventDefinition","parameters":{"id":36412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36409,"indexed":true,"mutability":"mutable","name":"newBaseURI","nameLocation":"8639:10:69","nodeType":"VariableDeclaration","scope":36413,"src":"8624:25:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":36408,"name":"string","nodeType":"ElementaryTypeName","src":"8624:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":36411,"indexed":true,"mutability":"mutable","name":"oldBaseURI","nameLocation":"8666:10:69","nodeType":"VariableDeclaration","scope":36413,"src":"8651:25:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":36410,"name":"string","nodeType":"ElementaryTypeName","src":"8651:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8623:54:69"},"src":"8603:75:69"},{"anonymous":false,"documentation":{"id":36414,"nodeType":"StructuredDocumentation","src":"8682:71:69","text":"@dev Emitted when B3TR required to upgrade to each level is updated"},"eventSelector":"0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf870","id":36419,"name":"B3TRtoUpgradeToLevelUpdated","nameLocation":"8762:27:69","nodeType":"EventDefinition","parameters":{"id":36418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36417,"indexed":false,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"8800:20:69","nodeType":"VariableDeclaration","scope":36419,"src":"8790:30:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":36415,"name":"uint256","nodeType":"ElementaryTypeName","src":"8790:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36416,"nodeType":"ArrayTypeName","src":"8790:9:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"8789:32:69"},"src":"8756:66:69"},{"anonymous":false,"documentation":{"id":36420,"nodeType":"StructuredDocumentation","src":"8826:46:69","text":"@dev Emitted when public minting is paused"},"eventSelector":"5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe","id":36424,"name":"PublicMintingPaused","nameLocation":"8881:19:69","nodeType":"EventDefinition","parameters":{"id":36423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36422,"indexed":false,"mutability":"mutable","name":"isPaused","nameLocation":"8906:8:69","nodeType":"VariableDeclaration","scope":36424,"src":"8901:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36421,"name":"bool","nodeType":"ElementaryTypeName","src":"8901:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8900:15:69"},"src":"8875:41:69"},{"anonymous":false,"documentation":{"id":36425,"nodeType":"StructuredDocumentation","src":"8920:51:69","text":"@dev Emitted when a node is attached to a token"},"eventSelector":"b7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f","id":36431,"name":"NodeAttached","nameLocation":"8980:12:69","nodeType":"EventDefinition","parameters":{"id":36430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36427,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"9009:11:69","nodeType":"VariableDeclaration","scope":36431,"src":"8993:27:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36426,"name":"uint256","nodeType":"ElementaryTypeName","src":"8993:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36429,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9038:7:69","nodeType":"VariableDeclaration","scope":36431,"src":"9022:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36428,"name":"uint256","nodeType":"ElementaryTypeName","src":"9022:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8992:54:69"},"src":"8974:73:69"},{"anonymous":false,"documentation":{"id":36432,"nodeType":"StructuredDocumentation","src":"9051:53:69","text":"@dev Emitted when a node is detached from a token"},"eventSelector":"d391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d708","id":36438,"name":"NodeDetached","nameLocation":"9113:12:69","nodeType":"EventDefinition","parameters":{"id":36437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36434,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"9142:11:69","nodeType":"VariableDeclaration","scope":36438,"src":"9126:27:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9126:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36436,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9171:7:69","nodeType":"VariableDeclaration","scope":36438,"src":"9155:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36435,"name":"uint256","nodeType":"ElementaryTypeName","src":"9155:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9125:54:69"},"src":"9107:73:69"},{"anonymous":false,"documentation":{"id":36439,"nodeType":"StructuredDocumentation","src":"9184:49:69","text":"@dev Emitted when node is attached to a token"},"eventSelector":"dd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace7","id":36447,"name":"LevelWhenAttached","nameLocation":"9242:17:69","nodeType":"EventDefinition","parameters":{"id":36446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36441,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9276:7:69","nodeType":"VariableDeclaration","scope":36447,"src":"9260:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36440,"name":"uint256","nodeType":"ElementaryTypeName","src":"9260:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36443,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"9301:11:69","nodeType":"VariableDeclaration","scope":36447,"src":"9285:27:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36442,"name":"uint256","nodeType":"ElementaryTypeName","src":"9285:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36445,"indexed":false,"mutability":"mutable","name":"level","nameLocation":"9322:5:69","nodeType":"VariableDeclaration","scope":36447,"src":"9314:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36444,"name":"uint256","nodeType":"ElementaryTypeName","src":"9314:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9259:69:69"},"src":"9236:93:69"},{"anonymous":false,"documentation":{"id":36448,"nodeType":"StructuredDocumentation","src":"9333:51:69","text":"@dev Emitted when node is detached from a token"},"eventSelector":"48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b8590","id":36456,"name":"LevelWhenDetached","nameLocation":"9393:17:69","nodeType":"EventDefinition","parameters":{"id":36455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36450,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9427:7:69","nodeType":"VariableDeclaration","scope":36456,"src":"9411:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36449,"name":"uint256","nodeType":"ElementaryTypeName","src":"9411:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36452,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"9452:11:69","nodeType":"VariableDeclaration","scope":36456,"src":"9436:27:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36451,"name":"uint256","nodeType":"ElementaryTypeName","src":"9436:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36454,"indexed":false,"mutability":"mutable","name":"level","nameLocation":"9473:5:69","nodeType":"VariableDeclaration","scope":36456,"src":"9465:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36453,"name":"uint256","nodeType":"ElementaryTypeName","src":"9465:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9410:69:69"},"src":"9387:93:69"},{"body":{"id":36473,"nodeType":"Block","src":"9586:157:69","statements":[{"assignments":[36461],"declarations":[{"constant":false,"id":36461,"mutability":"mutable","name":"$","nameLocation":"9620:1:69","nodeType":"VariableDeclaration","scope":36473,"src":"9592:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":36460,"nodeType":"UserDefinedTypeName","pathNode":{"id":36459,"name":"GalaxyMemberStorage","nameLocations":["9592:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"9592:19:69"},"referencedDeclaration":36356,"src":"9592:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":36464,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":36462,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"9624:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":36463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9624:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9592:57:69"},{"expression":{"arguments":[{"id":36468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9663:24:69","subExpression":{"expression":{"id":36466,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36461,"src":"9664:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9666:21:69","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":36324,"src":"9664:23:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e6720697320706175736564","id":36469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9689:41:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""},"value":"Galaxy Member: Public minting is paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""}],"id":36465,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9655:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9655:76:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36471,"nodeType":"ExpressionStatement","src":"9655:76:69"},{"id":36472,"nodeType":"PlaceholderStatement","src":"9737:1:69"}]},"documentation":{"id":36457,"nodeType":"StructuredDocumentation","src":"9484:61:69","text":"@notice Modifier to check if public minting is not paused"},"id":36474,"name":"whenPublicMintingNotPaused","nameLocation":"9557:26:69","nodeType":"ModifierDefinition","parameters":{"id":36458,"nodeType":"ParameterList","parameters":[],"src":"9583:2:69"},"src":"9548:195:69","virtual":false,"visibility":"internal"},{"body":{"id":36481,"nodeType":"Block","src":"9895:33:69","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":36478,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"9901:20:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":36479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9901:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36480,"nodeType":"ExpressionStatement","src":"9901:22:69"}]},"documentation":{"id":36475,"nodeType":"StructuredDocumentation","src":"9747:131:69","text":"@notice Ensures only initializer functions are called when deploying a proxy\n @custom:oz-upgrades-unsafe-allow constructor"},"id":36482,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":36476,"nodeType":"ParameterList","parameters":[],"src":"9892:2:69"},"returnParameters":{"id":36477,"nodeType":"ParameterList","parameters":[],"src":"9895:0:69"},"scope":38642,"src":"9881:47:69","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"canonicalName":"GalaxyMemberV4.InitializationData","documentation":{"id":36483,"nodeType":"StructuredDocumentation","src":"9932:720:69","text":"@notice Data for initializing the contract\n @param name Name of the ERC721 token\n @param symbol Symbol of the ERC721 token\n @param admin Address to grant the admin role\n @param upgrader Address to grant the upgrader role\n @param pauser Address to grant the pauser role\n @param minter Address to grant the minter role\n @param contractsAddressManager Address that can update external contracts address\n @param maxLevel Maximum level tokens can achieve\n @param baseTokenURI Base URI for computing {tokenURI}\n @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n @param _b3tr B3TR token contract address\n @param _treasury Address of the treasury"},"id":36509,"members":[{"constant":false,"id":36485,"mutability":"mutable","name":"name","nameLocation":"10694:4:69","nodeType":"VariableDeclaration","scope":36509,"src":"10687:11:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":36484,"name":"string","nodeType":"ElementaryTypeName","src":"10687:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":36487,"mutability":"mutable","name":"symbol","nameLocation":"10711:6:69","nodeType":"VariableDeclaration","scope":36509,"src":"10704:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":36486,"name":"string","nodeType":"ElementaryTypeName","src":"10704:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":36489,"mutability":"mutable","name":"admin","nameLocation":"10731:5:69","nodeType":"VariableDeclaration","scope":36509,"src":"10723:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36488,"name":"address","nodeType":"ElementaryTypeName","src":"10723:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36491,"mutability":"mutable","name":"upgrader","nameLocation":"10750:8:69","nodeType":"VariableDeclaration","scope":36509,"src":"10742:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36490,"name":"address","nodeType":"ElementaryTypeName","src":"10742:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36493,"mutability":"mutable","name":"pauser","nameLocation":"10772:6:69","nodeType":"VariableDeclaration","scope":36509,"src":"10764:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36492,"name":"address","nodeType":"ElementaryTypeName","src":"10764:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36495,"mutability":"mutable","name":"minter","nameLocation":"10792:6:69","nodeType":"VariableDeclaration","scope":36509,"src":"10784:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36494,"name":"address","nodeType":"ElementaryTypeName","src":"10784:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36497,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"10812:23:69","nodeType":"VariableDeclaration","scope":36509,"src":"10804:31:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36496,"name":"address","nodeType":"ElementaryTypeName","src":"10804:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36499,"mutability":"mutable","name":"maxLevel","nameLocation":"10849:8:69","nodeType":"VariableDeclaration","scope":36509,"src":"10841:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36498,"name":"uint256","nodeType":"ElementaryTypeName","src":"10841:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36501,"mutability":"mutable","name":"baseTokenURI","nameLocation":"10870:12:69","nodeType":"VariableDeclaration","scope":36509,"src":"10863:19:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":36500,"name":"string","nodeType":"ElementaryTypeName","src":"10863:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":36504,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"10898:20:69","nodeType":"VariableDeclaration","scope":36509,"src":"10888:30:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":36502,"name":"uint256","nodeType":"ElementaryTypeName","src":"10888:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36503,"nodeType":"ArrayTypeName","src":"10888:9:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":36506,"mutability":"mutable","name":"b3tr","nameLocation":"10932:4:69","nodeType":"VariableDeclaration","scope":36509,"src":"10924:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36505,"name":"address","nodeType":"ElementaryTypeName","src":"10924:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36508,"mutability":"mutable","name":"treasury","nameLocation":"10950:8:69","nodeType":"VariableDeclaration","scope":36509,"src":"10942:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36507,"name":"address","nodeType":"ElementaryTypeName","src":"10942:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"10662:18:69","nodeType":"StructDefinition","scope":38642,"src":"10655:308:69","visibility":"public"},{"body":{"id":36711,"nodeType":"Block","src":"11234:1615:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":36519,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"11248:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11253:8:69","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":36499,"src":"11248:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":36521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11264:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11248:17:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d7573742062652067726561746572207468616e2030","id":36523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11267:49:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f","typeString":"literal_string \"Galaxy Member: Max level must be greater than 0\""},"value":"Galaxy Member: Max level must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f","typeString":"literal_string \"Galaxy Member: Max level must be greater than 0\""}],"id":36518,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11240:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11240:77:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36525,"nodeType":"ExpressionStatement","src":"11240:77:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":36529,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"11337:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11342:12:69","memberName":"baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":36501,"src":"11337:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":36528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11331:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":36527,"name":"bytes","nodeType":"ElementaryTypeName","src":"11331:5:69","typeDescriptions":{}}},"id":36531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11331:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":36532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11356:6:69","memberName":"length","nodeType":"MemberAccess","src":"11331:31:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":36533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11365:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11331:35:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520736574","id":36535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11368:37:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""},"value":"Galaxy Member: Base URI must be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""}],"id":36526,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11323:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11323:83:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36537,"nodeType":"ExpressionStatement","src":"11323:83:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":36545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":36539,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"11420:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11425:4:69","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":36506,"src":"11420:9:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":36543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11441:1:69","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":36542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11433:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36541,"name":"address","nodeType":"ElementaryTypeName","src":"11433:7:69","typeDescriptions":{}}},"id":36544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11433:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11420:23:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f6b656e20616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":36546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11445:62:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d","typeString":"literal_string \"Galaxy Member: B3TR token address cannot be the zero address\""},"value":"Galaxy Member: B3TR token address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d","typeString":"literal_string \"Galaxy Member: B3TR token address cannot be the zero address\""}],"id":36538,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11412:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11412:96:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36548,"nodeType":"ExpressionStatement","src":"11412:96:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":36556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":36550,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"11522:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11527:8:69","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":36508,"src":"11522:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":36554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11547:1:69","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":36553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11539:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36552,"name":"address","nodeType":"ElementaryTypeName","src":"11539:7:69","typeDescriptions":{}}},"id":36555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11539:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11522:27:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20547265617375727920616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":36557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11551:60:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96","typeString":"literal_string \"Galaxy Member: Treasury address cannot be the zero address\""},"value":"Galaxy Member: Treasury address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96","typeString":"literal_string \"Galaxy Member: Treasury address cannot be the zero address\""}],"id":36549,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11514:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11514:98:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36559,"nodeType":"ExpressionStatement","src":"11514:98:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":36561,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"11633:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11638:20:69","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36504,"src":"11633:25:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":36563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11659:6:69","memberName":"length","nodeType":"MemberAccess","src":"11633:32:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":36564,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"11669:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36565,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11674:8:69","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":36499,"src":"11669:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":36566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11685:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11669:17:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11633:53:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656c73","id":36569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11694:68:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\""},"value":"Galaxy Member: B3TR to upgrade must be set for all unlocked levels"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\""}],"id":36560,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11618:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11618:150:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36571,"nodeType":"ExpressionStatement","src":"11618:150:69"},{"expression":{"arguments":[{"expression":{"id":36573,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"11789:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11794:4:69","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":36485,"src":"11789:9:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":36575,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"11800:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11805:6:69","memberName":"symbol","nodeType":"MemberAccess","referencedDeclaration":36487,"src":"11800:11:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":36572,"name":"__ERC721_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2099,"src":"11775:13:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":36577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11775:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36578,"nodeType":"ExpressionStatement","src":"11775:37:69"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":36579,"name":"__ERC721Enumerable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3252,"src":"11818:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":36580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11818:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36581,"nodeType":"ExpressionStatement","src":"11818:25:69"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":36582,"name":"__ERC721Pausable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3698,"src":"11849:21:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":36583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11849:23:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36584,"nodeType":"ExpressionStatement","src":"11849:23:69"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":36585,"name":"__ERC721Burnable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"11878:21:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":36586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11878:23:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36587,"nodeType":"ExpressionStatement","src":"11878:23:69"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":36588,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"11907:20:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":36589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11907:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36590,"nodeType":"ExpressionStatement","src":"11907:22:69"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":36591,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4203,"src":"11935:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":36592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11935:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36593,"nodeType":"ExpressionStatement","src":"11935:24:69"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":36594,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"11965:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":36595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11965:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36596,"nodeType":"ExpressionStatement","src":"11965:24:69"},{"assignments":[36599],"declarations":[{"constant":false,"id":36599,"mutability":"mutable","name":"$","nameLocation":"12024:1:69","nodeType":"VariableDeclaration","scope":36711,"src":"11996:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":36598,"nodeType":"UserDefinedTypeName","pathNode":{"id":36597,"name":"GalaxyMemberStorage","nameLocations":["11996:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"11996:19:69"},"referencedDeclaration":36356,"src":"11996:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":36602,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":36600,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"12028:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":36601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12028:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11996:57:69"},{"expression":{"id":36608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":36603,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36599,"src":"12060:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12062:13:69","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":36299,"src":"12060:15:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":36606,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12078:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12083:12:69","memberName":"baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":36501,"src":"12078:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12060:35:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":36609,"nodeType":"ExpressionStatement","src":"12060:35:69"},{"body":{"id":36645,"nodeType":"Block","src":"12165:227:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":36623,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12181:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12186:20:69","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36504,"src":"12181:25:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":36626,"indexExpression":{"id":36625,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36611,"src":"12207:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12181:28:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":36627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12212:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12181:32:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652067726561746572207468616e2030","id":36629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12215:55:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""},"value":"Galaxy Member: B3TR to upgrade must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""}],"id":36622,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12173:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12173:98:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36631,"nodeType":"ExpressionStatement","src":"12173:98:69"},{"expression":{"id":36643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":36632,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36599,"src":"12279:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12281:21:69","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36311,"src":"12279:23:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":36638,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36634,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36611,"src":"12303:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":36635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12307:1:69","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12303:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12279:30:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":36639,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12312:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12317:20:69","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36504,"src":"12312:25:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":36642,"indexExpression":{"id":36641,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36611,"src":"12338:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12312:28:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12279:61:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36644,"nodeType":"ExpressionStatement","src":"12279:61:69"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36614,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36611,"src":"12122:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":36615,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12126:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12131:20:69","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36504,"src":"12126:25:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":36617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12152:6:69","memberName":"length","nodeType":"MemberAccess","src":"12126:32:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12122:36:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":36646,"initializationExpression":{"assignments":[36611],"declarations":[{"constant":false,"id":36611,"mutability":"mutable","name":"i","nameLocation":"12115:1:69","nodeType":"VariableDeclaration","scope":36646,"src":"12107:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36610,"name":"uint256","nodeType":"ElementaryTypeName","src":"12107:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":36613,"initialValue":{"hexValue":"30","id":36612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12119:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12107:13:69"},"loopExpression":{"expression":{"id":36620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12160:3:69","subExpression":{"id":36619,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36611,"src":"12160:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36621,"nodeType":"ExpressionStatement","src":"12160:3:69"},"nodeType":"ForStatement","src":"12102:290:69"},{"expression":{"id":36652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":36647,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36599,"src":"12398:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12400:9:69","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":36303,"src":"12398:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":36650,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12412:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36651,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12417:8:69","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":36499,"src":"12412:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12398:27:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36653,"nodeType":"ExpressionStatement","src":"12398:27:69"},{"expression":{"id":36661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":36654,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36599,"src":"12432:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12434:4:69","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":36295,"src":"12432:6:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":36658,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12447:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12452:4:69","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":36506,"src":"12447:9:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":36657,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"12441:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":36660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12441:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"12432:25:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":36662,"nodeType":"ExpressionStatement","src":"12432:25:69"},{"expression":{"id":36668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":36663,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36599,"src":"12463:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12465:8:69","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":36297,"src":"12463:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":36666,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12476:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12481:8:69","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":36508,"src":"12476:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12463:26:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":36669,"nodeType":"ExpressionStatement","src":"12463:26:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":36677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":36671,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12504:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12509:5:69","memberName":"admin","nodeType":"MemberAccess","referencedDeclaration":36489,"src":"12504:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":36675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12526:1:69","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":36674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12518:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36673,"name":"address","nodeType":"ElementaryTypeName","src":"12518:7:69","typeDescriptions":{}}},"id":36676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12518:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12504:24:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2041646d696e20616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":36678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12530:57:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4","typeString":"literal_string \"Galaxy Member: Admin address cannot be the zero address\""},"value":"Galaxy Member: Admin address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4","typeString":"literal_string \"Galaxy Member: Admin address cannot be the zero address\""}],"id":36670,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12496:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12496:92:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36680,"nodeType":"ExpressionStatement","src":"12496:92:69"},{"expression":{"arguments":[{"id":36682,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"12605:18:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":36683,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12625:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36684,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12630:5:69","memberName":"admin","nodeType":"MemberAccess","referencedDeclaration":36489,"src":"12625:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":36681,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12594:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":36685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12594:42:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":36686,"nodeType":"ExpressionStatement","src":"12594:42:69"},{"expression":{"arguments":[{"id":36688,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36265,"src":"12653:13:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":36689,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12668:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12673:8:69","memberName":"upgrader","nodeType":"MemberAccess","referencedDeclaration":36491,"src":"12668:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":36687,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12642:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":36691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12642:40:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":36692,"nodeType":"ExpressionStatement","src":"12642:40:69"},{"expression":{"arguments":[{"id":36694,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36270,"src":"12699:11:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":36695,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12712:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36696,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12717:6:69","memberName":"pauser","nodeType":"MemberAccess","referencedDeclaration":36493,"src":"12712:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":36693,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12688:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":36697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12688:36:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":36698,"nodeType":"ExpressionStatement","src":"12688:36:69"},{"expression":{"arguments":[{"id":36700,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36275,"src":"12741:11:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":36701,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12754:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12759:6:69","memberName":"minter","nodeType":"MemberAccess","referencedDeclaration":36495,"src":"12754:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":36699,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12730:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":36703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12730:36:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":36704,"nodeType":"ExpressionStatement","src":"12730:36:69"},{"expression":{"arguments":[{"id":36706,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36280,"src":"12783:30:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":36707,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36513,"src":"12815:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData memory"}},"id":36708,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12820:23:69","memberName":"contractsAddressManager","nodeType":"MemberAccess","referencedDeclaration":36497,"src":"12815:28:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":36705,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"12772:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":36709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12772:72:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":36710,"nodeType":"ExpressionStatement","src":"12772:72:69"}]},"documentation":{"id":36510,"nodeType":"StructuredDocumentation","src":"10967:191:69","text":"@notice Initializes a new GalaxyMember contract\n @dev Sets initial values for all relevant contract properties and state variables.\n @custom:oz-upgrades-unsafe-allow constructor"},"functionSelector":"5f4e42ca","id":36712,"implemented":true,"kind":"function","modifiers":[{"id":36516,"kind":"modifierInvocation","modifierName":{"id":36515,"name":"initializer","nameLocations":["11222:11:69"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"11222:11:69"},"nodeType":"ModifierInvocation","src":"11222:11:69"}],"name":"initialize","nameLocation":"11170:10:69","nodeType":"FunctionDefinition","parameters":{"id":36514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36513,"mutability":"mutable","name":"data","nameLocation":"11207:4:69","nodeType":"VariableDeclaration","scope":36712,"src":"11181:30:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_memory_ptr","typeString":"struct GalaxyMemberV4.InitializationData"},"typeName":{"id":36512,"nodeType":"UserDefinedTypeName","pathNode":{"id":36511,"name":"InitializationData","nameLocations":["11181:18:69"],"nodeType":"IdentifierPath","referencedDeclaration":36509,"src":"11181:18:69"},"referencedDeclaration":36509,"src":"11181:18:69","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$36509_storage_ptr","typeString":"struct GalaxyMemberV4.InitializationData"}},"visibility":"internal"}],"src":"11180:32:69"},"returnParameters":{"id":36517,"nodeType":"ParameterList","parameters":[],"src":"11234:0:69"},"scope":38642,"src":"11161:1688:69","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":36827,"nodeType":"Block","src":"13219:801:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":36729,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36722,"src":"13233:15:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":36730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13249:6:69","memberName":"length","nodeType":"MemberAccess","src":"13233:22:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"38","id":36731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13259:1:69","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"13233:27:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f64652066726565206c6576656c732e204d7573742062652037206c6576656c73","id":36733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13262:58:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051","typeString":"literal_string \"GalaxyMember: invalid node free levels. Must be 7 levels\""},"value":"GalaxyMember: invalid node free levels. Must be 7 levels"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051","typeString":"literal_string \"GalaxyMember: invalid node free levels. Must be 7 levels\""}],"id":36728,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13225:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13225:96:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36735,"nodeType":"ExpressionStatement","src":"13225:96:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":36742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36737,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36715,"src":"13335:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":36740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13360:1:69","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":36739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13352:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36738,"name":"address","nodeType":"ElementaryTypeName","src":"13352:7:69","typeDescriptions":{}}},"id":36741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13352:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13335:27:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6f7420626520746865207a65726f2061646472657373","id":36743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13364:56:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""},"value":"GalaxyMember: _vechainNodes cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""}],"id":36736,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13327:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13327:94:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36745,"nodeType":"ExpressionStatement","src":"13327:94:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":36752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36747,"name":"_nodesMangaement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36717,"src":"13435:16:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":36750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13463:1:69","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":36749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13455:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36748,"name":"address","nodeType":"ElementaryTypeName","src":"13455:7:69","typeDescriptions":{}}},"id":36751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13455:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13435:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063616e6e6f7420626520746865207a65726f2061646472657373","id":36753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13467:59:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd","typeString":"literal_string \"GalaxyMember: _nodesMangaement cannot be the zero address\""},"value":"GalaxyMember: _nodesMangaement cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd","typeString":"literal_string \"GalaxyMember: _nodesMangaement cannot be the zero address\""}],"id":36746,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13427:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13427:100:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36755,"nodeType":"ExpressionStatement","src":"13427:100:69"},{"assignments":[36758],"declarations":[{"constant":false,"id":36758,"mutability":"mutable","name":"$","nameLocation":"13562:1:69","nodeType":"VariableDeclaration","scope":36827,"src":"13534:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":36757,"nodeType":"UserDefinedTypeName","pathNode":{"id":36756,"name":"GalaxyMemberStorage","nameLocations":["13534:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"13534:19:69"},"referencedDeclaration":36356,"src":"13534:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":36761,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":36759,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"13566:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":36760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13566:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13534:57:69"},{"expression":{"id":36768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":36762,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36758,"src":"13598:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13600:12:69","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":36327,"src":"13598:14:69","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":36766,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36715,"src":"13629:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":36765,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"13615:13:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITokenAuction_$73165_$","typeString":"type(contract ITokenAuction)"}},"id":36767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13615:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"src":"13598:45:69","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":36769,"nodeType":"ExpressionStatement","src":"13598:45:69"},{"expression":{"id":36776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":36770,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36758,"src":"13649:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13651:14:69","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":36330,"src":"13649:16:69","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":36774,"name":"_nodesMangaement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36717,"src":"13686:16:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":36773,"name":"INodeManagementV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32668,"src":"13668:17:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_INodeManagementV2_$32668_$","typeString":"type(contract INodeManagementV2)"}},"id":36775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13668:35:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"src":"13649:54:69","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"id":36777,"nodeType":"ExpressionStatement","src":"13649:54:69"},{"expression":{"id":36789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":36778,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36758,"src":"13710:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13712:12:69","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":36301,"src":"13710:14:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":36781,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36758,"src":"13727:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36782,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13729:12:69","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":36301,"src":"13727:14:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":36783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13745:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13727:19:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":36786,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36758,"src":"13753:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36787,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13755:12:69","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":36301,"src":"13753:14:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13727:40:69","trueExpression":{"hexValue":"31","id":36785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13749:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13710:57:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36790,"nodeType":"ExpressionStatement","src":"13710:57:69"},{"body":{"id":36820,"nodeType":"Block","src":"13821:145:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":36802,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36722,"src":"13837:15:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":36804,"indexExpression":{"id":36803,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36792,"src":"13853:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13837:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":36805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13859:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13837:23:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f64652066726565206c6576656c","id":36807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13862:39:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4","typeString":"literal_string \"GalaxyMember: invalid node free level\""},"value":"GalaxyMember: invalid node free level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4","typeString":"literal_string \"GalaxyMember: invalid node free level\""}],"id":36801,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13829:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13829:73:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36809,"nodeType":"ExpressionStatement","src":"13829:73:69"},{"expression":{"id":36818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":36810,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36758,"src":"13910:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13912:23:69","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":36342,"src":"13910:25:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":36814,"indexExpression":{"id":36812,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36792,"src":"13936:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13910:28:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":36815,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36722,"src":"13941:15:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":36817,"indexExpression":{"id":36816,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36792,"src":"13957:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13941:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13910:49:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36819,"nodeType":"ExpressionStatement","src":"13910:49:69"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36794,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36792,"src":"13788:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":36795,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36722,"src":"13792:15:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":36796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13808:6:69","memberName":"length","nodeType":"MemberAccess","src":"13792:22:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13788:26:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":36821,"initializationExpression":{"assignments":[36792],"declarations":[{"constant":false,"id":36792,"mutability":"mutable","name":"i","nameLocation":"13785:1:69","nodeType":"VariableDeclaration","scope":36821,"src":"13779:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":36791,"name":"uint8","nodeType":"ElementaryTypeName","src":"13779:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":36793,"nodeType":"VariableDeclarationStatement","src":"13779:7:69"},"loopExpression":{"expression":{"id":36799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13816:3:69","subExpression":{"id":36798,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36792,"src":"13816:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":36800,"nodeType":"ExpressionStatement","src":"13816:3:69"},"nodeType":"ForStatement","src":"13774:192:69"},{"expression":{"arguments":[{"id":36823,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36285,"src":"13983:18:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":36824,"name":"_nodesAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36719,"src":"14003:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":36822,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"13972:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":36825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13972:43:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":36826,"nodeType":"ExpressionStatement","src":"13972:43:69"}]},"documentation":{"id":36713,"nodeType":"StructuredDocumentation","src":"12853:191:69","text":"@notice Initializes a new GalaxyMember contract\n @dev Sets initial values for all relevant contract properties and state variables.\n @custom:oz-upgrades-unsafe-allow constructor"},"functionSelector":"c190eb3a","id":36828,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":36725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13216:1:69","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":36726,"kind":"modifierInvocation","modifierName":{"id":36724,"name":"reinitializer","nameLocations":["13202:13:69"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"13202:13:69"},"nodeType":"ModifierInvocation","src":"13202:16:69"}],"name":"initializeV2","nameLocation":"13056:12:69","nodeType":"FunctionDefinition","parameters":{"id":36723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36715,"mutability":"mutable","name":"_vechainNodes","nameLocation":"13082:13:69","nodeType":"VariableDeclaration","scope":36828,"src":"13074:21:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36714,"name":"address","nodeType":"ElementaryTypeName","src":"13074:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36717,"mutability":"mutable","name":"_nodesMangaement","nameLocation":"13109:16:69","nodeType":"VariableDeclaration","scope":36828,"src":"13101:24:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36716,"name":"address","nodeType":"ElementaryTypeName","src":"13101:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36719,"mutability":"mutable","name":"_nodesAdmin","nameLocation":"13139:11:69","nodeType":"VariableDeclaration","scope":36828,"src":"13131:19:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36718,"name":"address","nodeType":"ElementaryTypeName","src":"13131:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36722,"mutability":"mutable","name":"_nodeFreeLevels","nameLocation":"13173:15:69","nodeType":"VariableDeclaration","scope":36828,"src":"13156:32:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":36720,"name":"uint256","nodeType":"ElementaryTypeName","src":"13156:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36721,"nodeType":"ArrayTypeName","src":"13156:9:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"13068:124:69"},"returnParameters":{"id":36727,"nodeType":"ParameterList","parameters":[],"src":"13219:0:69"},"scope":38642,"src":"13047:973:69","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":36838,"nodeType":"Block","src":"14332:2:69","statements":[]},"documentation":{"id":36829,"nodeType":"StructuredDocumentation","src":"14024:209:69","text":"@notice Internal function to authorize contract upgrades\n @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n @param newImplementation Address of the new contract implementation"},"id":36839,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":36835,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36265,"src":"14317:13:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":36836,"kind":"modifierInvocation","modifierName":{"id":36834,"name":"onlyRole","nameLocations":["14308:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"14308:8:69"},"nodeType":"ModifierInvocation","src":"14308:23:69"}],"name":"_authorizeUpgrade","nameLocation":"14245:17:69","nodeType":"FunctionDefinition","overrides":{"id":36833,"nodeType":"OverrideSpecifier","overrides":[],"src":"14299:8:69"},"parameters":{"id":36832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36831,"mutability":"mutable","name":"newImplementation","nameLocation":"14271:17:69","nodeType":"VariableDeclaration","scope":36839,"src":"14263:25:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36830,"name":"address","nodeType":"ElementaryTypeName","src":"14263:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14262:27:69"},"returnParameters":{"id":36837,"nodeType":"ParameterList","parameters":[],"src":"14332:0:69"},"scope":38642,"src":"14236:98:69","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":36849,"nodeType":"Block","src":"14576:19:69","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":36846,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"14582:6:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":36847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14582:8:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36848,"nodeType":"ExpressionStatement","src":"14582:8:69"}]},"documentation":{"id":36840,"nodeType":"StructuredDocumentation","src":"14338:181:69","text":"@notice Pauses the Galaxy Member contract\n @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n @dev Only callable by the pauser role"},"functionSelector":"8456cb59","id":36850,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":36843,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36270,"src":"14563:11:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":36844,"kind":"modifierInvocation","modifierName":{"id":36842,"name":"onlyRole","nameLocations":["14554:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"14554:8:69"},"nodeType":"ModifierInvocation","src":"14554:21:69"}],"name":"pause","nameLocation":"14531:5:69","nodeType":"FunctionDefinition","parameters":{"id":36841,"nodeType":"ParameterList","parameters":[],"src":"14536:2:69"},"returnParameters":{"id":36845,"nodeType":"ParameterList","parameters":[],"src":"14576:0:69"},"scope":38642,"src":"14522:73:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":36860,"nodeType":"Block","src":"14749:21:69","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":36857,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"14755:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":36858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14755:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36859,"nodeType":"ExpressionStatement","src":"14755:10:69"}]},"documentation":{"id":36851,"nodeType":"StructuredDocumentation","src":"14599:91:69","text":"@notice Unpauses the Galaxy Member contract\n @dev Only callable by the pauser role"},"functionSelector":"3f4ba83a","id":36861,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":36854,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36270,"src":"14736:11:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":36855,"kind":"modifierInvocation","modifierName":{"id":36853,"name":"onlyRole","nameLocations":["14727:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"14727:8:69"},"nodeType":"ModifierInvocation","src":"14727:21:69"}],"name":"unpause","nameLocation":"14702:7:69","nodeType":"FunctionDefinition","parameters":{"id":36852,"nodeType":"ParameterList","parameters":[],"src":"14709:2:69"},"returnParameters":{"id":36856,"nodeType":"ParameterList","parameters":[],"src":"14749:0:69"},"scope":38642,"src":"14693:77:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":36880,"nodeType":"Block","src":"15015:141:69","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":36869,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15054:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":36870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15058:6:69","memberName":"sender","nodeType":"MemberAccess","src":"15054:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":36868,"name":"participatedInGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38000,"src":"15029:24:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":36871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15029:36:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274696369706174656420696e20676f7665726e616e6365","id":36872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15067:56:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""},"value":"Galaxy Member: User has not participated in governance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""}],"id":36867,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15021:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15021:103:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36874,"nodeType":"ExpressionStatement","src":"15021:103:69"},{"expression":{"arguments":[{"expression":{"id":36876,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15140:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":36877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15144:6:69","memberName":"sender","nodeType":"MemberAccess","src":"15140:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":36875,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37289,"src":"15131:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":36878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15131:20:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36879,"nodeType":"ExpressionStatement","src":"15131:20:69"}]},"documentation":{"id":36862,"nodeType":"StructuredDocumentation","src":"14774:176:69","text":"@notice Allows a user to freely mint a token if they have participated in governance\n @dev Mints a token with level 1 and ensures that the public minting is not paused"},"functionSelector":"5b70ea9f","id":36881,"implemented":true,"kind":"function","modifiers":[{"id":36865,"kind":"modifierInvocation","modifierName":{"id":36864,"name":"whenPublicMintingNotPaused","nameLocations":["14988:26:69"],"nodeType":"IdentifierPath","referencedDeclaration":36474,"src":"14988:26:69"},"nodeType":"ModifierInvocation","src":"14988:26:69"}],"name":"freeMint","nameLocation":"14962:8:69","nodeType":"FunctionDefinition","parameters":{"id":36863,"nodeType":"ParameterList","parameters":[],"src":"14970:2:69"},"returnParameters":{"id":36866,"nodeType":"ParameterList","parameters":[],"src":"15015:0:69"},"scope":38642,"src":"14953:203:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":36984,"nodeType":"Block","src":"15437:836:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":36897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":36893,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36884,"src":"15459:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":36892,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"15451:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":36894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15451:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":36895,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15471:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":36896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15475:6:69","memberName":"sender","nodeType":"MemberAccess","src":"15471:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15451:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520546f6b656e20746f2075706772616465206974","id":36898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15483:53:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""},"value":"Galaxy Member: you must own the Token to upgrade it"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""}],"id":36891,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15443:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15443:94:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36900,"nodeType":"ExpressionStatement","src":"15443:94:69"},{"assignments":[36903],"declarations":[{"constant":false,"id":36903,"mutability":"mutable","name":"$","nameLocation":"15571:1:69","nodeType":"VariableDeclaration","scope":36984,"src":"15543:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":36902,"nodeType":"UserDefinedTypeName","pathNode":{"id":36901,"name":"GalaxyMemberStorage","nameLocations":["15543:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"15543:19:69"},"referencedDeclaration":36356,"src":"15543:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":36906,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":36904,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"15575:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":36905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15575:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15543:57:69"},{"assignments":[36908],"declarations":[{"constant":false,"id":36908,"mutability":"mutable","name":"currentLevel","nameLocation":"15615:12:69","nodeType":"VariableDeclaration","scope":36984,"src":"15607:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36907,"name":"uint256","nodeType":"ElementaryTypeName","src":"15607:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":36912,"initialValue":{"arguments":[{"id":36910,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36884,"src":"15638:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":36909,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37665,"src":"15630:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":36911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15630:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15607:39:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":36914,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36908,"src":"15661:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":36915,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38158,"src":"15676:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":36916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15676:11:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15661:26:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c7265616479206174206d6178206c6576656c","id":36918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15689:46:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""},"value":"Galaxy Member: Token is already at max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""}],"id":36913,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15653:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15653:83:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36920,"nodeType":"ExpressionStatement","src":"15653:83:69"},{"assignments":[36922],"declarations":[{"constant":false,"id":36922,"mutability":"mutable","name":"b3trRequired","nameLocation":"15751:12:69","nodeType":"VariableDeclaration","scope":36984,"src":"15743:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36921,"name":"uint256","nodeType":"ElementaryTypeName","src":"15743:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":36926,"initialValue":{"arguments":[{"id":36924,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36884,"src":"15783:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":36923,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37716,"src":"15766:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":36925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15766:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15743:48:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":36931,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15823:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":36932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15827:6:69","memberName":"sender","nodeType":"MemberAccess","src":"15823:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":36928,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36903,"src":"15806:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15808:4:69","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":36295,"src":"15806:6:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":36930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15813:9:69","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"15806:16:69","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":36933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15806:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":36934,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36922,"src":"15838:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15806:44:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c616e636520746f2075706772616465","id":36936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15852:48:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""},"value":"Galaxy Member: Insufficient balance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""}],"id":36927,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15798:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15798:103:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36938,"nodeType":"ExpressionStatement","src":"15798:103:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":36951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":36943,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15940:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":36944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15944:6:69","memberName":"sender","nodeType":"MemberAccess","src":"15940:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":36947,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15960:4:69","typeDescriptions":{"typeIdentifier":"t_contract$_GalaxyMemberV4_$38642","typeString":"contract GalaxyMemberV4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GalaxyMemberV4_$38642","typeString":"contract GalaxyMemberV4"}],"id":36946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15952:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":36945,"name":"address","nodeType":"ElementaryTypeName","src":"15952:7:69","typeDescriptions":{}}},"id":36948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15952:13:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":36940,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36903,"src":"15923:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15925:4:69","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":36295,"src":"15923:6:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":36942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15930:9:69","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":62751,"src":"15923:16:69","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":36949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15923:43:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":36950,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36922,"src":"15970:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15923:59:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f77616e636520746f2075706772616465","id":36952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15990:50:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""},"value":"Galaxy Member: Insufficient allowance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""}],"id":36939,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15908:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15908:138:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36954,"nodeType":"ExpressionStatement","src":"15908:138:69"},{"expression":{"id":36961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":36955,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36903,"src":"16053:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16055:21:69","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":36346,"src":"16053:23:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":36959,"indexExpression":{"id":36957,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36884,"src":"16077:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16053:32:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":36960,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36922,"src":"16089:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16053:48:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":36962,"nodeType":"ExpressionStatement","src":"16053:48:69"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":36967,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16136:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":36968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16140:6:69","memberName":"sender","nodeType":"MemberAccess","src":"16136:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":36969,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36903,"src":"16148:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16150:8:69","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":36297,"src":"16148:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":36971,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36922,"src":"16160:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":36964,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36903,"src":"16116:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":36965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16118:4:69","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":36295,"src":"16116:6:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":36966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16123:12:69","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":62884,"src":"16116:19:69","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":36972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16116:57:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","id":36973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16175:31:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""},"value":"GalaxyMember: Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""}],"id":36963,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16108:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":36974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16108:99:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36975,"nodeType":"ExpressionStatement","src":"16108:99:69"},{"eventCall":{"arguments":[{"id":36977,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36884,"src":"16228:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":36978,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36908,"src":"16237:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":36980,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36884,"src":"16259:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":36979,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37665,"src":"16251:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":36981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16251:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":36976,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36385,"src":"16219:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":36982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16219:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36983,"nodeType":"EmitStatement","src":"16214:54:69"}]},"documentation":{"id":36882,"nodeType":"StructuredDocumentation","src":"15160:198:69","text":"@notice Upgrades a token to the next level\n @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n @param tokenId Token ID to upgrade"},"functionSelector":"45977d03","id":36985,"implemented":true,"kind":"function","modifiers":[{"id":36887,"kind":"modifierInvocation","modifierName":{"id":36886,"name":"nonReentrant","nameLocations":["15410:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":4232,"src":"15410:12:69"},"nodeType":"ModifierInvocation","src":"15410:12:69"},{"id":36889,"kind":"modifierInvocation","modifierName":{"id":36888,"name":"whenNotPaused","nameLocations":["15423:13:69"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"15423:13:69"},"nodeType":"ModifierInvocation","src":"15423:13:69"}],"name":"upgrade","nameLocation":"15370:7:69","nodeType":"FunctionDefinition","parameters":{"id":36885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36884,"mutability":"mutable","name":"tokenId","nameLocation":"15386:7:69","nodeType":"VariableDeclaration","scope":36985,"src":"15378:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36883,"name":"uint256","nodeType":"ElementaryTypeName","src":"15378:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15377:17:69"},"returnParameters":{"id":36890,"nodeType":"ParameterList","parameters":[],"src":"15437:0:69"},"scope":38642,"src":"15361:912:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":36997,"nodeType":"Block","src":"16443:39:69","statements":[{"expression":{"arguments":[{"expression":{"id":36992,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16457:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":36993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16461:6:69","memberName":"sender","nodeType":"MemberAccess","src":"16457:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":36994,"name":"tokenID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36988,"src":"16469:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":36991,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37058,"src":"16449:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":36995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16449:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36996,"nodeType":"ExpressionStatement","src":"16449:28:69"}]},"documentation":{"id":36986,"nodeType":"StructuredDocumentation","src":"16277:115:69","text":"@notice Allows the user to select a token for voting rewards multiplier\n @param tokenID Token ID to select"},"functionSelector":"839a19d9","id":36998,"implemented":true,"kind":"function","modifiers":[],"name":"select","nameLocation":"16404:6:69","nodeType":"FunctionDefinition","parameters":{"id":36989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36988,"mutability":"mutable","name":"tokenID","nameLocation":"16419:7:69","nodeType":"VariableDeclaration","scope":36998,"src":"16411:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36987,"name":"uint256","nodeType":"ElementaryTypeName","src":"16411:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16410:17:69"},"returnParameters":{"id":36990,"nodeType":"ParameterList","parameters":[],"src":"16443:0:69"},"scope":38642,"src":"16395:87:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37014,"nodeType":"Block","src":"16696:34:69","statements":[{"expression":{"arguments":[{"id":37010,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37001,"src":"16710:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37011,"name":"tokenID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37003,"src":"16717:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37009,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37058,"src":"16702:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":37012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16702:23:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37013,"nodeType":"ExpressionStatement","src":"16702:23:69"}]},"documentation":{"id":36999,"nodeType":"StructuredDocumentation","src":"16486:112:69","text":"@notice Allows the admin to select a token for the user\n @param owner The address of the owner to check"},"functionSelector":"aa3491eb","id":37015,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":37006,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"16676:18:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":37007,"kind":"modifierInvocation","modifierName":{"id":37005,"name":"onlyRole","nameLocations":["16667:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"16667:8:69"},"nodeType":"ModifierInvocation","src":"16667:28:69"}],"name":"selectFor","nameLocation":"16610:9:69","nodeType":"FunctionDefinition","parameters":{"id":37004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37001,"mutability":"mutable","name":"owner","nameLocation":"16628:5:69","nodeType":"VariableDeclaration","scope":37015,"src":"16620:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37000,"name":"address","nodeType":"ElementaryTypeName","src":"16620:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37003,"mutability":"mutable","name":"tokenID","nameLocation":"16643:7:69","nodeType":"VariableDeclaration","scope":37015,"src":"16635:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37002,"name":"uint256","nodeType":"ElementaryTypeName","src":"16635:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16619:32:69"},"returnParameters":{"id":37008,"nodeType":"ParameterList","parameters":[],"src":"16696:0:69"},"scope":38642,"src":"16601:129:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37057,"nodeType":"Block","src":"16952:286:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37025,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37020,"src":"16974:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37024,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"16966:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":37026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16966:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":37027,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37018,"src":"16986:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16966:25:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":37029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16993:53:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":37023,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16958:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16958:89:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37031,"nodeType":"ExpressionStatement","src":"16958:89:69"},{"assignments":[37034],"declarations":[{"constant":false,"id":37034,"mutability":"mutable","name":"$","nameLocation":"17082:1:69","nodeType":"VariableDeclaration","scope":37057,"src":"17054:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37033,"nodeType":"UserDefinedTypeName","pathNode":{"id":37032,"name":"GalaxyMemberStorage","nameLocations":["17054:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"17054:19:69"},"referencedDeclaration":36356,"src":"17054:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37037,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37035,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"17086:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17086:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17054:57:69"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":37044,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38464,"src":"17160:5:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":37045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17160:7:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":37048,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37020,"src":"17188:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":37046,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"17169:8:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":37047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17178:9:69","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"17169:18:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":37049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17169:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":37038,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37034,"src":"17118:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17120:27:69","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":36355,"src":"17118:29:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":37042,"indexExpression":{"id":37040,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37018,"src":"17148:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17118:36:69","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":37043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17155:4:69","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"17118:41:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":37050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17118:79:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":37051,"nodeType":"ExpressionStatement","src":"17118:79:69"},{"eventCall":{"arguments":[{"id":37053,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37018,"src":"17218:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37054,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37020,"src":"17225:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37052,"name":"Selected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36376,"src":"17209:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":37055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17209:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37056,"nodeType":"EmitStatement","src":"17204:29:69"}]},"documentation":{"id":37016,"nodeType":"StructuredDocumentation","src":"16734:149:69","text":"@notice selects the specified token for the user\n @param owner The address of the owner to check\n @param tokenId the token ID to select"},"id":37058,"implemented":true,"kind":"function","modifiers":[],"name":"_select","nameLocation":"16895:7:69","nodeType":"FunctionDefinition","parameters":{"id":37021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37018,"mutability":"mutable","name":"owner","nameLocation":"16911:5:69","nodeType":"VariableDeclaration","scope":37058,"src":"16903:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37017,"name":"address","nodeType":"ElementaryTypeName","src":"16903:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37020,"mutability":"mutable","name":"tokenId","nameLocation":"16926:7:69","nodeType":"VariableDeclaration","scope":37058,"src":"16918:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37019,"name":"uint256","nodeType":"ElementaryTypeName","src":"16918:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16902:32:69"},"returnParameters":{"id":37022,"nodeType":"ParameterList","parameters":[],"src":"16952:0:69"},"scope":38642,"src":"16886:352:69","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[3188],"body":{"id":37082,"nodeType":"Block","src":"17511:131:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37068,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37061,"src":"17533:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37067,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"17525:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":37069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17525:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":37070,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17545:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17549:6:69","memberName":"sender","nodeType":"MemberAccess","src":"17545:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17525:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":37073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17557:53:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":37066,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17517:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17517:94:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37075,"nodeType":"ExpressionStatement","src":"17517:94:69"},{"expression":{"arguments":[{"id":37079,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37061,"src":"17629:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":37076,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"17618:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV4_$38642_$","typeString":"type(contract super GalaxyMemberV4)"}},"id":37078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17624:4:69","memberName":"burn","nodeType":"MemberAccess","referencedDeclaration":3188,"src":"17618:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":37080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17618:19:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37081,"nodeType":"ExpressionStatement","src":"17618:19:69"}]},"documentation":{"id":37059,"nodeType":"StructuredDocumentation","src":"17242:184:69","text":"@notice Allows the token owner to burn their token\n @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n @param tokenId Token ID to burn"},"functionSelector":"42966c68","id":37083,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"17438:4:69","nodeType":"FunctionDefinition","overrides":{"id":37064,"nodeType":"OverrideSpecifier","overrides":[{"id":37063,"name":"ERC721BurnableUpgradeable","nameLocations":["17484:25:69"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"17484:25:69"}],"src":"17475:35:69"},"parameters":{"id":37062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37061,"mutability":"mutable","name":"tokenId","nameLocation":"17451:7:69","nodeType":"VariableDeclaration","scope":37083,"src":"17443:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37060,"name":"uint256","nodeType":"ElementaryTypeName","src":"17443:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17442:17:69"},"returnParameters":{"id":37065,"nodeType":"ParameterList","parameters":[],"src":"17511:0:69"},"scope":38642,"src":"17429:213:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37172,"nodeType":"Block","src":"17830:831:69","statements":[{"assignments":[37094],"declarations":[{"constant":false,"id":37094,"mutability":"mutable","name":"$","nameLocation":"17864:1:69","nodeType":"VariableDeclaration","scope":37172,"src":"17836:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37093,"nodeType":"UserDefinedTypeName","pathNode":{"id":37092,"name":"GalaxyMemberStorage","nameLocations":["17836:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"17836:19:69"},"referencedDeclaration":36356,"src":"17836:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37097,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37095,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"17868:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17868:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17836:57:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37100,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37087,"src":"17916:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37099,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"17908:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":37101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17908:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":37102,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17928:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17932:6:69","memberName":"sender","nodeType":"MemberAccess","src":"17928:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17908:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062792063616c6c6572","id":37105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17940:41:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""},"value":"GalaxyMember: token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""}],"id":37098,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17900:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17900:82:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37107,"nodeType":"ExpressionStatement","src":"17900:82:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37112,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37085,"src":"18035:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":37109,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37094,"src":"18003:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18005:14:69","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":36330,"src":"18003:16:69","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"id":37111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18020:14:69","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":32606,"src":"18003:31:69","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":37113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18003:44:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":37114,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18051:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18055:6:69","memberName":"sender","nodeType":"MemberAccess","src":"18051:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18003:58:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572","id":37117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18069:59:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller\""},"value":"GalaxyMember: vechain node not owned or managed by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller\""}],"id":37108,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17988:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17988:146:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37119,"nodeType":"ExpressionStatement","src":"17988:146:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37122,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37085,"src":"18168:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37121,"name":"getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38173,"src":"18148:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":37123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18148:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":37124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18184:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18148:37:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c726561647920617474616368656420746f206120746f6b656e","id":37126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18187:48:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""},"value":"GalaxyMember: node already attached to a token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""}],"id":37120,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18140:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18140:96:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37128,"nodeType":"ExpressionStatement","src":"18140:96:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37131,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37087,"src":"18268:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37130,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38188,"src":"18250:17:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":37132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18250:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":37133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18280:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18250:31:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c726561647920617474616368656420746f2061206e6f6465","id":37135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18283:48:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""},"value":"GalaxyMember: token already attached to a node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""}],"id":37129,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18242:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18242:90:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37137,"nodeType":"ExpressionStatement","src":"18242:90:69"},{"expression":{"id":37144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":37138,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37094,"src":"18339:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18341:14:69","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":36334,"src":"18339:16:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":37142,"indexExpression":{"id":37140,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37085,"src":"18356:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18339:29:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37143,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37087,"src":"18371:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18339:39:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37145,"nodeType":"ExpressionStatement","src":"18339:39:69"},{"expression":{"id":37152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":37146,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37094,"src":"18384:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18386:14:69","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":36338,"src":"18384:16:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":37150,"indexExpression":{"id":37148,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37087,"src":"18401:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18384:25:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37151,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37085,"src":"18412:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18384:39:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37153,"nodeType":"ExpressionStatement","src":"18384:39:69"},{"eventCall":{"arguments":[{"id":37155,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37085,"src":"18448:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37156,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37087,"src":"18461:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37154,"name":"NodeAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36431,"src":"18435:12:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":37157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18435:34:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37158,"nodeType":"EmitStatement","src":"18430:39:69"},{"assignments":[37160,null],"declarations":[{"constant":false,"id":37160,"mutability":"mutable","name":"level","nameLocation":"18544:5:69","nodeType":"VariableDeclaration","scope":37172,"src":"18536:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37159,"name":"uint256","nodeType":"ElementaryTypeName","src":"18536:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":37165,"initialValue":{"arguments":[{"id":37162,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37087,"src":"18578:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37163,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37085,"src":"18587:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37161,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37829,"src":"18555:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":37164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18555:44:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"18535:64:69"},{"eventCall":{"arguments":[{"id":37167,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37087,"src":"18628:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37168,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37085,"src":"18637:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37169,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37160,"src":"18650:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37166,"name":"LevelWhenAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36447,"src":"18610:17:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":37170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18610:46:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37171,"nodeType":"EmitStatement","src":"18605:51:69"}]},"functionSelector":"88371110","id":37173,"implemented":true,"kind":"function","modifiers":[{"id":37090,"kind":"modifierInvocation","modifierName":{"id":37089,"name":"whenNotPaused","nameLocations":["17816:13:69"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"17816:13:69"},"nodeType":"ModifierInvocation","src":"17816:13:69"}],"name":"attachNode","nameLocation":"17752:10:69","nodeType":"FunctionDefinition","parameters":{"id":37088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37085,"mutability":"mutable","name":"nodeTokenId","nameLocation":"17771:11:69","nodeType":"VariableDeclaration","scope":37173,"src":"17763:19:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37084,"name":"uint256","nodeType":"ElementaryTypeName","src":"17763:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37087,"mutability":"mutable","name":"tokenId","nameLocation":"17792:7:69","nodeType":"VariableDeclaration","scope":37173,"src":"17784:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37086,"name":"uint256","nodeType":"ElementaryTypeName","src":"17784:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17762:38:69"},"returnParameters":{"id":37091,"nodeType":"ParameterList","parameters":[],"src":"17830:0:69"},"scope":38642,"src":"17743:918:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37264,"nodeType":"Block","src":"18752:869:69","statements":[{"assignments":[37184],"declarations":[{"constant":false,"id":37184,"mutability":"mutable","name":"$","nameLocation":"18786:1:69","nodeType":"VariableDeclaration","scope":37264,"src":"18758:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37183,"nodeType":"UserDefinedTypeName","pathNode":{"id":37182,"name":"GalaxyMemberStorage","nameLocations":["18758:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"18758:19:69"},"referencedDeclaration":36356,"src":"18758:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37187,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37185,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"18790:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18790:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18758:57:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":37212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":37203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37190,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37177,"src":"18845:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37189,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"18837:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":37191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18837:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":37192,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18857:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18861:6:69","memberName":"sender","nodeType":"MemberAccess","src":"18857:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18837:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37198,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37175,"src":"18911:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":37195,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37184,"src":"18879:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18881:14:69","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":36330,"src":"18879:16:69","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"id":37197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18896:14:69","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":32606,"src":"18879:31:69","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":37199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18879:44:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":37200,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18927:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18931:6:69","memberName":"sender","nodeType":"MemberAccess","src":"18927:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18879:58:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18837:100:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37207,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37175,"src":"18974:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":37204,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37184,"src":"18949:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37205,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18951:12:69","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":36327,"src":"18949:14:69","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":37206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18964:9:69","memberName":"idToOwner","nodeType":"MemberAccess","referencedDeclaration":73116,"src":"18949:24:69","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":37208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18949:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":37209,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18990:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":37210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18994:6:69","memberName":"sender","nodeType":"MemberAccess","src":"18990:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18949:51:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18837:163:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b656e206e6f74206f776e65642062792063616c6c6572","id":37213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19008:88:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\""},"value":"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\""}],"id":37188,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18822:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18822:280:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37215,"nodeType":"ExpressionStatement","src":"18822:280:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37218,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37175,"src":"19136:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37217,"name":"getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38173,"src":"19116:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":37219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19116:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":37220,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37177,"src":"19152:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19116:43:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420746f2074686520746f6b656e","id":37222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19161:46:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""},"value":"GalaxyMember: node not attached to the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""}],"id":37216,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19108:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19108:100:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37224,"nodeType":"ExpressionStatement","src":"19108:100:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37227,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37177,"src":"19240:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37226,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38188,"src":"19222:17:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":37228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19222:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":37229,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37175,"src":"19252:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19222:41:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656420746f20746865206e6f6465","id":37231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19265:46:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""},"value":"GalaxyMember: token not attached to the node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""}],"id":37225,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19214:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19214:98:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37233,"nodeType":"ExpressionStatement","src":"19214:98:69"},{"expression":{"id":37238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"19319:36:69","subExpression":{"baseExpression":{"expression":{"id":37234,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37184,"src":"19326:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19328:14:69","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":36334,"src":"19326:16:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":37237,"indexExpression":{"id":37236,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37175,"src":"19343:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19326:29:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37239,"nodeType":"ExpressionStatement","src":"19319:36:69"},{"expression":{"id":37244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"19361:32:69","subExpression":{"baseExpression":{"expression":{"id":37240,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37184,"src":"19368:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19370:14:69","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":36338,"src":"19368:16:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":37243,"indexExpression":{"id":37242,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37177,"src":"19385:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19368:25:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37245,"nodeType":"ExpressionStatement","src":"19361:32:69"},{"eventCall":{"arguments":[{"id":37247,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37175,"src":"19418:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37248,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37177,"src":"19431:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37246,"name":"NodeDetached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36438,"src":"19405:12:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":37249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19405:34:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37250,"nodeType":"EmitStatement","src":"19400:39:69"},{"assignments":[37252,null],"declarations":[{"constant":false,"id":37252,"mutability":"mutable","name":"level","nameLocation":"19514:5:69","nodeType":"VariableDeclaration","scope":37264,"src":"19506:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37251,"name":"uint256","nodeType":"ElementaryTypeName","src":"19506:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":37257,"initialValue":{"arguments":[{"id":37254,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37177,"src":"19548:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":37255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19557:1:69","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":37253,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37829,"src":"19525:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":37256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19525:34:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"19505:54:69"},{"eventCall":{"arguments":[{"id":37259,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37177,"src":"19588:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37260,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37175,"src":"19597:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37261,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37252,"src":"19610:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37258,"name":"LevelWhenDetached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36456,"src":"19570:17:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":37262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19570:46:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37263,"nodeType":"EmitStatement","src":"19565:51:69"}]},"functionSelector":"4a6565e1","id":37265,"implemented":true,"kind":"function","modifiers":[{"id":37180,"kind":"modifierInvocation","modifierName":{"id":37179,"name":"whenNotPaused","nameLocations":["18738:13:69"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"18738:13:69"},"nodeType":"ModifierInvocation","src":"18738:13:69"}],"name":"detachNode","nameLocation":"18674:10:69","nodeType":"FunctionDefinition","parameters":{"id":37178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37175,"mutability":"mutable","name":"nodeTokenId","nameLocation":"18693:11:69","nodeType":"VariableDeclaration","scope":37265,"src":"18685:19:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37174,"name":"uint256","nodeType":"ElementaryTypeName","src":"18685:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37177,"mutability":"mutable","name":"tokenId","nameLocation":"18714:7:69","nodeType":"VariableDeclaration","scope":37265,"src":"18706:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37176,"name":"uint256","nodeType":"ElementaryTypeName","src":"18706:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18684:38:69"},"returnParameters":{"id":37181,"nodeType":"ParameterList","parameters":[],"src":"18752:0:69"},"scope":38642,"src":"18665:956:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37288,"nodeType":"Block","src":"19931:137:69","statements":[{"assignments":[37273],"declarations":[{"constant":false,"id":37273,"mutability":"mutable","name":"$","nameLocation":"19965:1:69","nodeType":"VariableDeclaration","scope":37288,"src":"19937:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37272,"nodeType":"UserDefinedTypeName","pathNode":{"id":37271,"name":"GalaxyMemberStorage","nameLocations":["19937:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"19937:19:69"},"referencedDeclaration":36356,"src":"19937:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37276,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37274,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"19969:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19969:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19937:57:69"},{"assignments":[37278],"declarations":[{"constant":false,"id":37278,"mutability":"mutable","name":"tokenId","nameLocation":"20009:7:69","nodeType":"VariableDeclaration","scope":37288,"src":"20001:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37277,"name":"uint256","nodeType":"ElementaryTypeName","src":"20001:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37282,"initialValue":{"id":37281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"20019:16:69","subExpression":{"expression":{"id":37279,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37273,"src":"20019:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20021:12:69","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":36301,"src":"20019:14:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20001:34:69"},{"expression":{"arguments":[{"id":37284,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37268,"src":"20051:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":37285,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37278,"src":"20055:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37283,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[2750,2776],"referencedDeclaration":2750,"src":"20041:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":37286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20041:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37287,"nodeType":"ExpressionStatement","src":"20041:22:69"}]},"documentation":{"id":37266,"nodeType":"StructuredDocumentation","src":"19677:204:69","text":"@notice Internal function to safely mint a token\n @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n @param to Address to mint the token to"},"id":37289,"implemented":true,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"19893:8:69","nodeType":"FunctionDefinition","parameters":{"id":37269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37268,"mutability":"mutable","name":"to","nameLocation":"19910:2:69","nodeType":"VariableDeclaration","scope":37289,"src":"19902:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37267,"name":"address","nodeType":"ElementaryTypeName","src":"19902:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19901:12:69"},"returnParameters":{"id":37270,"nodeType":"ParameterList","parameters":[],"src":"19931:0:69"},"scope":38642,"src":"19884:184:69","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":37350,"nodeType":"Block","src":"20312:568:69","statements":[{"assignments":[37300],"declarations":[{"constant":false,"id":37300,"mutability":"mutable","name":"$","nameLocation":"20346:1:69","nodeType":"VariableDeclaration","scope":37350,"src":"20318:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37299,"nodeType":"UserDefinedTypeName","pathNode":{"id":37298,"name":"GalaxyMemberStorage","nameLocations":["20318:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"20318:19:69"},"referencedDeclaration":36356,"src":"20318:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37303,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37301,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"20350:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20350:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20318:57:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37305,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37292,"src":"20390:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":37306,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37300,"src":"20398:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37307,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20400:9:69","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":36303,"src":"20398:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20390:19:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d7573742062652067726561746572207468616e207468652063757272656e74206d6178206c6576656c","id":37309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20411:69:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""},"value":"Galaxy Member: Max level must be greater than the current max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""}],"id":37304,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20382:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20382:99:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37311,"nodeType":"ExpressionStatement","src":"20382:99:69"},{"body":{"id":37332,"nodeType":"Block","src":"20574:195:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":37323,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37300,"src":"20590:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20592:21:69","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36311,"src":"20590:23:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":37326,"indexExpression":{"id":37325,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37313,"src":"20614:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20590:26:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":37327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20619:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20590:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b6564","id":37329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20622:68:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""},"value":"Galaxy Member: B3TR to upgrade must be set for all levels unlocked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""}],"id":37322,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20582:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20582:109:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37331,"nodeType":"ExpressionStatement","src":"20582:109:69"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37316,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37313,"src":"20557:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":37317,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37292,"src":"20562:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20557:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37333,"initializationExpression":{"assignments":[37313],"declarations":[{"constant":false,"id":37313,"mutability":"mutable","name":"i","nameLocation":"20550:1:69","nodeType":"VariableDeclaration","scope":37333,"src":"20542:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37312,"name":"uint256","nodeType":"ElementaryTypeName","src":"20542:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37315,"initialValue":{"hexValue":"32","id":37314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20554:1:69","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"20542:13:69"},"loopExpression":{"expression":{"id":37320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"20569:3:69","subExpression":{"id":37319,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37313,"src":"20569:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37321,"nodeType":"ExpressionStatement","src":"20569:3:69"},"nodeType":"ForStatement","src":"20537:232:69"},{"assignments":[37335],"declarations":[{"constant":false,"id":37335,"mutability":"mutable","name":"oldLevel","nameLocation":"20783:8:69","nodeType":"VariableDeclaration","scope":37350,"src":"20775:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37334,"name":"uint256","nodeType":"ElementaryTypeName","src":"20775:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37338,"initialValue":{"expression":{"id":37336,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37300,"src":"20794:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20796:9:69","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":36303,"src":"20794:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20775:30:69"},{"expression":{"id":37343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":37339,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37300,"src":"20812:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37341,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20814:9:69","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":36303,"src":"20812:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37342,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37292,"src":"20826:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20812:19:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37344,"nodeType":"ExpressionStatement","src":"20812:19:69"},{"eventCall":{"arguments":[{"id":37346,"name":"oldLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37335,"src":"20859:8:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37347,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37292,"src":"20869:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37345,"name":"MaxLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36392,"src":"20843:15:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":37348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20843:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37349,"nodeType":"EmitStatement","src":"20838:37:69"}]},"documentation":{"id":37290,"nodeType":"StructuredDocumentation","src":"20111:118:69","text":"@notice Sets the maximum level that tokens can be minted or upgraded to\n @dev Only callable by the admin role"},"functionSelector":"344f1ba5","id":37351,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":37295,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"20292:18:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":37296,"kind":"modifierInvocation","modifierName":{"id":37294,"name":"onlyRole","nameLocations":["20283:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"20283:8:69"},"nodeType":"ModifierInvocation","src":"20283:28:69"}],"name":"setMaxLevel","nameLocation":"20241:11:69","nodeType":"FunctionDefinition","parameters":{"id":37293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37292,"mutability":"mutable","name":"level","nameLocation":"20261:5:69","nodeType":"VariableDeclaration","scope":37351,"src":"20253:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37291,"name":"uint256","nodeType":"ElementaryTypeName","src":"20253:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20252:15:69"},"returnParameters":{"id":37297,"nodeType":"ParameterList","parameters":[],"src":"20312:0:69"},"scope":38642,"src":"20232:648:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37393,"nodeType":"Block","src":"21224:367:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37361,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37354,"src":"21238:21:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":37364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21271:1:69","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":37363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21263:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37362,"name":"address","nodeType":"ElementaryTypeName","src":"21263:7:69","typeDescriptions":{}}},"id":37365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21263:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21238:35:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":37367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21275:65:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""},"value":"Galaxy Member: _xAllocationsGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""}],"id":37360,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21230:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21230:111:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37369,"nodeType":"ExpressionStatement","src":"21230:111:69"},{"assignments":[37372],"declarations":[{"constant":false,"id":37372,"mutability":"mutable","name":"$","nameLocation":"21375:1:69","nodeType":"VariableDeclaration","scope":37393,"src":"21347:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37371,"nodeType":"UserDefinedTypeName","pathNode":{"id":37370,"name":"GalaxyMemberStorage","nameLocations":["21347:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"21347:19:69"},"referencedDeclaration":36356,"src":"21347:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37375,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37373,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"21379:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21379:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21347:57:69"},{"eventCall":{"arguments":[{"id":37377,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37354,"src":"21451:21:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":37380,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37372,"src":"21482:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21484:20:69","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":36289,"src":"21482:22:69","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":37379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21474:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37378,"name":"address","nodeType":"ElementaryTypeName","src":"21474:7:69","typeDescriptions":{}}},"id":37382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21474:31:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":37376,"name":"XAllocationsGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36399,"src":"21416:34:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":37383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21416:90:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37384,"nodeType":"EmitStatement","src":"21411:95:69"},{"expression":{"id":37391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":37385,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37372,"src":"21512:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21514:20:69","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":36289,"src":"21512:22:69","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":37389,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37354,"src":"21564:21:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":37388,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"21537:26:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":37390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21537:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"21512:74:69","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":37392,"nodeType":"ExpressionStatement","src":"21512:74:69"}]},"documentation":{"id":37352,"nodeType":"StructuredDocumentation","src":"20884:202:69","text":"@notice Sets the XAllocationVotingGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _xAllocationsGovernor XAllocationVotingGovernor contract address"},"functionSelector":"3af03ea8","id":37394,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":37357,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36280,"src":"21192:30:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":37358,"kind":"modifierInvocation","modifierName":{"id":37356,"name":"onlyRole","nameLocations":["21183:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21183:8:69"},"nodeType":"ModifierInvocation","src":"21183:40:69"}],"name":"setXAllocationsGovernorAddress","nameLocation":"21098:30:69","nodeType":"FunctionDefinition","parameters":{"id":37355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37354,"mutability":"mutable","name":"_xAllocationsGovernor","nameLocation":"21142:21:69","nodeType":"VariableDeclaration","scope":37394,"src":"21134:29:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37353,"name":"address","nodeType":"ElementaryTypeName","src":"21134:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21128:39:69"},"returnParameters":{"id":37359,"nodeType":"ParameterList","parameters":[],"src":"21224:0:69"},"scope":38642,"src":"21089:502:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37439,"nodeType":"Block","src":"21877:307:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37404,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37397,"src":"21891:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":37407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21916:1:69","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":37406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21908:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37405,"name":"address","nodeType":"ElementaryTypeName","src":"21908:7:69","typeDescriptions":{}}},"id":37408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21908:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21891:27:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":37410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21920:57:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""},"value":"Galaxy Member: _b3trGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""}],"id":37403,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21883:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21883:95:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37412,"nodeType":"ExpressionStatement","src":"21883:95:69"},{"assignments":[37415],"declarations":[{"constant":false,"id":37415,"mutability":"mutable","name":"$","nameLocation":"22012:1:69","nodeType":"VariableDeclaration","scope":37439,"src":"21984:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37414,"nodeType":"UserDefinedTypeName","pathNode":{"id":37413,"name":"GalaxyMemberStorage","nameLocations":["21984:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"21984:19:69"},"referencedDeclaration":36356,"src":"21984:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37418,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37416,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"22016:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22016:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21984:57:69"},{"eventCall":{"arguments":[{"id":37420,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37397,"src":"22080:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":37423,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37415,"src":"22103:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37424,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22105:12:69","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":36292,"src":"22103:14:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":37422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22095:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37421,"name":"address","nodeType":"ElementaryTypeName","src":"22095:7:69","typeDescriptions":{}}},"id":37425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22095:23:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":37419,"name":"B3trGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36406,"src":"22053:26:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":37426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22053:66:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37427,"nodeType":"EmitStatement","src":"22048:71:69"},{"expression":{"id":37437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":37428,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37415,"src":"22125:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22127:12:69","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":36292,"src":"22125:14:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":37434,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37397,"src":"22164:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":37433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22156:8:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":37432,"name":"address","nodeType":"ElementaryTypeName","src":"22156:8:69","stateMutability":"payable","typeDescriptions":{}}},"id":37435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22156:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":37431,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"22142:13:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":37436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22142:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"22125:54:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":37438,"nodeType":"ExpressionStatement","src":"22125:54:69"}]},"documentation":{"id":37395,"nodeType":"StructuredDocumentation","src":"21595:168:69","text":"@notice Sets the B3TRGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _b3trGovernor B3TRGovernor contract address"},"functionSelector":"ddd8634d","id":37440,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":37400,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36280,"src":"21845:30:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":37401,"kind":"modifierInvocation","modifierName":{"id":37399,"name":"onlyRole","nameLocations":["21836:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21836:8:69"},"nodeType":"ModifierInvocation","src":"21836:40:69"}],"name":"setB3trGovernorAddress","nameLocation":"21775:22:69","nodeType":"FunctionDefinition","parameters":{"id":37398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37397,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"21806:13:69","nodeType":"VariableDeclaration","scope":37440,"src":"21798:21:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37396,"name":"address","nodeType":"ElementaryTypeName","src":"21798:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21797:23:69"},"returnParameters":{"id":37402,"nodeType":"ParameterList","parameters":[],"src":"21877:0:69"},"scope":38642,"src":"21766:418:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37478,"nodeType":"Block","src":"22431:244:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":37452,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37443,"src":"22451:12:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":37451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22445:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":37450,"name":"bytes","nodeType":"ElementaryTypeName","src":"22445:5:69","typeDescriptions":{}}},"id":37453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22445:19:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":37454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22465:6:69","memberName":"length","nodeType":"MemberAccess","src":"22445:26:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":37455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22474:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22445:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520736574","id":37457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22477:37:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""},"value":"Galaxy Member: Base URI must be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""}],"id":37449,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22437:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22437:78:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37459,"nodeType":"ExpressionStatement","src":"22437:78:69"},{"assignments":[37462],"declarations":[{"constant":false,"id":37462,"mutability":"mutable","name":"$","nameLocation":"22549:1:69","nodeType":"VariableDeclaration","scope":37478,"src":"22521:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37461,"nodeType":"UserDefinedTypeName","pathNode":{"id":37460,"name":"GalaxyMemberStorage","nameLocations":["22521:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"22521:19:69"},"referencedDeclaration":36356,"src":"22521:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37465,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37463,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"22553:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22553:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22521:57:69"},{"eventCall":{"arguments":[{"id":37467,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37443,"src":"22604:12:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":37468,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37462,"src":"22618:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22620:13:69","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":36299,"src":"22618:15:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":37466,"name":"BaseURIUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36413,"src":"22589:14:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":37470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22589:45:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37471,"nodeType":"EmitStatement","src":"22584:50:69"},{"expression":{"id":37476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":37472,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37462,"src":"22640:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22642:13:69","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":36299,"src":"22640:15:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37475,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37443,"src":"22658:12:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"22640:30:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":37477,"nodeType":"ExpressionStatement","src":"22640:30:69"}]},"documentation":{"id":37441,"nodeType":"StructuredDocumentation","src":"22188:148:69","text":"@notice Sets the base URI for computing the tokenURI\n @dev Only callable by the admin role\n @param baseTokenURI Base URI for the Token"},"functionSelector":"55f804b3","id":37479,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":37446,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"22411:18:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":37447,"kind":"modifierInvocation","modifierName":{"id":37445,"name":"onlyRole","nameLocations":["22402:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22402:8:69"},"nodeType":"ModifierInvocation","src":"22402:28:69"}],"name":"setBaseURI","nameLocation":"22348:10:69","nodeType":"FunctionDefinition","parameters":{"id":37444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37443,"mutability":"mutable","name":"baseTokenURI","nameLocation":"22373:12:69","nodeType":"VariableDeclaration","scope":37479,"src":"22359:26:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37442,"name":"string","nodeType":"ElementaryTypeName","src":"22359:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22358:28:69"},"returnParameters":{"id":37448,"nodeType":"ParameterList","parameters":[],"src":"22431:0:69"},"scope":38642,"src":"22339:336:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37532,"nodeType":"Block","src":"22983:404:69","statements":[{"assignments":[37491],"declarations":[{"constant":false,"id":37491,"mutability":"mutable","name":"$","nameLocation":"23017:1:69","nodeType":"VariableDeclaration","scope":37532,"src":"22989:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37490,"nodeType":"UserDefinedTypeName","pathNode":{"id":37489,"name":"GalaxyMemberStorage","nameLocations":["22989:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"22989:19:69"},"referencedDeclaration":36356,"src":"22989:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37494,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37492,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"23021:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23021:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22989:57:69"},{"body":{"id":37526,"nodeType":"Block","src":"23106:217:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":37506,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37483,"src":"23122:20:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":37508,"indexExpression":{"id":37507,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37496,"src":"23143:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23122:23:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":37509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23148:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23122:27:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652067726561746572207468616e2030","id":37511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23151:55:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""},"value":"Galaxy Member: B3TR to upgrade must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""}],"id":37505,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23114:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23114:93:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37513,"nodeType":"ExpressionStatement","src":"23114:93:69"},{"expression":{"id":37524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":37514,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37491,"src":"23215:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37519,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23217:21:69","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36311,"src":"23215:23:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":37520,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37516,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37496,"src":"23239:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":37517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23243:1:69","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"23239:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23215:30:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":37521,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37483,"src":"23248:20:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":37523,"indexExpression":{"id":37522,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37496,"src":"23269:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23248:23:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23215:56:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37525,"nodeType":"ExpressionStatement","src":"23215:56:69"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37498,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37496,"src":"23068:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":37499,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37483,"src":"23072:20:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":37500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23093:6:69","memberName":"length","nodeType":"MemberAccess","src":"23072:27:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23068:31:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37527,"initializationExpression":{"assignments":[37496],"declarations":[{"constant":false,"id":37496,"mutability":"mutable","name":"i","nameLocation":"23065:1:69","nodeType":"VariableDeclaration","scope":37527,"src":"23057:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37495,"name":"uint256","nodeType":"ElementaryTypeName","src":"23057:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37497,"nodeType":"VariableDeclarationStatement","src":"23057:9:69"},"loopExpression":{"expression":{"id":37503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"23101:3:69","subExpression":{"id":37502,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37496,"src":"23101:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37504,"nodeType":"ExpressionStatement","src":"23101:3:69"},"nodeType":"ForStatement","src":"23052:271:69"},{"eventCall":{"arguments":[{"id":37529,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37483,"src":"23361:20:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":37528,"name":"B3TRtoUpgradeToLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36419,"src":"23333:27:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory)"}},"id":37530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23333:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37531,"nodeType":"EmitStatement","src":"23328:54:69"}]},"documentation":{"id":37480,"nodeType":"StructuredDocumentation","src":"22679:185:69","text":"@notice Sets the amount of B3TR required to upgrade to each level\n @dev Only callable by the admin role\n @param b3trToUpgradeToLevel Mapping of B3TR requirements per level"},"functionSelector":"b1ccbd2c","id":37533,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":37486,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"22963:18:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":37487,"kind":"modifierInvocation","modifierName":{"id":37485,"name":"onlyRole","nameLocations":["22954:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22954:8:69"},"nodeType":"ModifierInvocation","src":"22954:28:69"}],"name":"setB3TRtoUpgradeToLevel","nameLocation":"22876:23:69","nodeType":"FunctionDefinition","parameters":{"id":37484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37483,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"22917:20:69","nodeType":"VariableDeclaration","scope":37533,"src":"22900:37:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":37481,"name":"uint256","nodeType":"ElementaryTypeName","src":"22900:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37482,"nodeType":"ArrayTypeName","src":"22900:9:69","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"22899:39:69"},"returnParameters":{"id":37488,"nodeType":"ParameterList","parameters":[],"src":"22983:0:69"},"scope":38642,"src":"22867:520:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37558,"nodeType":"Block","src":"23625:148:69","statements":[{"assignments":[37544],"declarations":[{"constant":false,"id":37544,"mutability":"mutable","name":"$","nameLocation":"23659:1:69","nodeType":"VariableDeclaration","scope":37558,"src":"23631:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37543,"nodeType":"UserDefinedTypeName","pathNode":{"id":37542,"name":"GalaxyMemberStorage","nameLocations":["23631:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"23631:19:69"},"referencedDeclaration":36356,"src":"23631:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37547,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37545,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"23663:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23663:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"23631:57:69"},{"eventCall":{"arguments":[{"id":37549,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37536,"src":"23719:8:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":37548,"name":"PublicMintingPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36424,"src":"23699:19:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":37550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23699:29:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37551,"nodeType":"EmitStatement","src":"23694:34:69"},{"expression":{"id":37556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":37552,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37544,"src":"23734:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37554,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"23736:21:69","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":36324,"src":"23734:23:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37555,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37536,"src":"23760:8:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23734:34:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37557,"nodeType":"ExpressionStatement","src":"23734:34:69"}]},"documentation":{"id":37534,"nodeType":"StructuredDocumentation","src":"23391:138:69","text":"@notice Pauses public minting\n @dev Only callable by the admin role\n @param isPaused Flag to pause or unpause public minting"},"functionSelector":"5b5da514","id":37559,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":37539,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"23605:18:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":37540,"kind":"modifierInvocation","modifierName":{"id":37538,"name":"onlyRole","nameLocations":["23596:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"23596:8:69"},"nodeType":"ModifierInvocation","src":"23596:28:69"}],"name":"setIsPublicMintingPaused","nameLocation":"23541:24:69","nodeType":"FunctionDefinition","parameters":{"id":37537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37536,"mutability":"mutable","name":"isPaused","nameLocation":"23571:8:69","nodeType":"VariableDeclaration","scope":37559,"src":"23566:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37535,"name":"bool","nodeType":"ElementaryTypeName","src":"23566:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23565:15:69"},"returnParameters":{"id":37541,"nodeType":"ParameterList","parameters":[],"src":"23625:0:69"},"scope":38642,"src":"23532:241:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37592,"nodeType":"Block","src":"23981:219:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37569,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37562,"src":"23995:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":37572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24020:1:69","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":37571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24012:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37570,"name":"address","nodeType":"ElementaryTypeName","src":"24012:7:69","typeDescriptions":{}}},"id":37573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24012:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23995:27:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6f7420626520746865207a65726f2061646472657373","id":37575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24024:56:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""},"value":"GalaxyMember: _vechainNodes cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""}],"id":37568,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23987:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23987:94:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37577,"nodeType":"ExpressionStatement","src":"23987:94:69"},{"assignments":[37580],"declarations":[{"constant":false,"id":37580,"mutability":"mutable","name":"$","nameLocation":"24115:1:69","nodeType":"VariableDeclaration","scope":37592,"src":"24087:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37579,"nodeType":"UserDefinedTypeName","pathNode":{"id":37578,"name":"GalaxyMemberStorage","nameLocations":["24087:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"24087:19:69"},"referencedDeclaration":36356,"src":"24087:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37583,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37581,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"24119:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24119:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24087:57:69"},{"expression":{"id":37590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":37584,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37580,"src":"24150:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24152:12:69","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":36327,"src":"24150:14:69","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":37588,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37562,"src":"24181:13:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":37587,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"24167:13:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITokenAuction_$73165_$","typeString":"type(contract ITokenAuction)"}},"id":37589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24167:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"src":"24150:45:69","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":37591,"nodeType":"ExpressionStatement","src":"24150:45:69"}]},"documentation":{"id":37560,"nodeType":"StructuredDocumentation","src":"23777:109:69","text":"@notice Sets the Vechain Nodes contract address\n @param _vechainNodes Vechain Nodes contract address"},"functionSelector":"5ffaa59a","id":37593,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":37565,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36285,"src":"23961:18:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":37566,"kind":"modifierInvocation","modifierName":{"id":37564,"name":"onlyRole","nameLocations":["23952:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"23952:8:69"},"nodeType":"ModifierInvocation","src":"23952:28:69"}],"name":"setVechainNodes","nameLocation":"23898:15:69","nodeType":"FunctionDefinition","parameters":{"id":37563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37562,"mutability":"mutable","name":"_vechainNodes","nameLocation":"23922:13:69","nodeType":"VariableDeclaration","scope":37593,"src":"23914:21:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37561,"name":"address","nodeType":"ElementaryTypeName","src":"23914:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23913:23:69"},"returnParameters":{"id":37567,"nodeType":"ParameterList","parameters":[],"src":"23981:0:69"},"scope":38642,"src":"23889:311:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37640,"nodeType":"Block","src":"24549:340:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37605,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37598,"src":"24563:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":37606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24572:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24563:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","id":37608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24575:29:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""},"value":"GalaxyMember: invalid level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""}],"id":37604,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24555:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24555:50:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37610,"nodeType":"ExpressionStatement","src":"24555:50:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":37614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37612,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37596,"src":"24619:9:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":37613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24632:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24619:14:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","id":37615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24635:34:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""},"value":"GalaxyMember: invalid node level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""}],"id":37611,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24611:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24611:59:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37617,"nodeType":"ExpressionStatement","src":"24611:59:69"},{"assignments":[37620],"declarations":[{"constant":false,"id":37620,"mutability":"mutable","name":"$","nameLocation":"24705:1:69","nodeType":"VariableDeclaration","scope":37640,"src":"24677:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37619,"nodeType":"UserDefinedTypeName","pathNode":{"id":37618,"name":"GalaxyMemberStorage","nameLocations":["24677:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"24677:19:69"},"referencedDeclaration":36356,"src":"24677:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37623,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37621,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"24709:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24709:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24677:57:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37625,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37598,"src":"24749:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":37626,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37620,"src":"24758:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24760:9:69","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":36303,"src":"24758:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24749:20:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373207468616e206f7220657175616c20746f204d41585f4c4556454c","id":37629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24771:61:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""},"value":"GalaxyMember: level must be less than or equal to MAX_LEVEL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""}],"id":37624,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24741:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24741:92:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37631,"nodeType":"ExpressionStatement","src":"24741:92:69"},{"expression":{"id":37638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":37632,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37620,"src":"24840:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24842:23:69","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":36342,"src":"24840:25:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":37636,"indexExpression":{"id":37634,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37596,"src":"24866:9:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24840:36:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37637,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37598,"src":"24879:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24840:44:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37639,"nodeType":"ExpressionStatement","src":"24840:44:69"}]},"documentation":{"id":37594,"nodeType":"StructuredDocumentation","src":"24204:231:69","text":"@notice Sets the treasury contract address\n @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n @param level new free upgrade level"},"functionSelector":"001db0dd","id":37641,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":37601,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36285,"src":"24529:18:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":37602,"kind":"modifierInvocation","modifierName":{"id":37600,"name":"onlyRole","nameLocations":["24520:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"24520:8:69"},"nodeType":"ModifierInvocation","src":"24520:28:69"}],"name":"setNodeToFreeUpgradeLevel","nameLocation":"24447:25:69","nodeType":"FunctionDefinition","parameters":{"id":37599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37596,"mutability":"mutable","name":"nodeLevel","nameLocation":"24479:9:69","nodeType":"VariableDeclaration","scope":37641,"src":"24473:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37595,"name":"uint8","nodeType":"ElementaryTypeName","src":"24473:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":37598,"mutability":"mutable","name":"level","nameLocation":"24498:5:69","nodeType":"VariableDeclaration","scope":37641,"src":"24490:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37597,"name":"uint256","nodeType":"ElementaryTypeName","src":"24490:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24472:32:69"},"returnParameters":{"id":37603,"nodeType":"ParameterList","parameters":[],"src":"24549:0:69"},"scope":38642,"src":"24438:451:69","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":37664,"nodeType":"Block","src":"25088:139:69","statements":[{"assignments":[37650],"declarations":[{"constant":false,"id":37650,"mutability":"mutable","name":"nodeId","nameLocation":"25102:6:69","nodeType":"VariableDeclaration","scope":37664,"src":"25094:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37649,"name":"uint256","nodeType":"ElementaryTypeName","src":"25094:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37654,"initialValue":{"arguments":[{"id":37652,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37644,"src":"25129:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37651,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38188,"src":"25111:17:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":37653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25111:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25094:43:69"},{"assignments":[37656,null],"declarations":[{"constant":false,"id":37656,"mutability":"mutable","name":"level","nameLocation":"25153:5:69","nodeType":"VariableDeclaration","scope":37664,"src":"25145:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37655,"name":"uint256","nodeType":"ElementaryTypeName","src":"25145:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":37661,"initialValue":{"arguments":[{"id":37658,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37644,"src":"25187:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37659,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37650,"src":"25196:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37657,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37829,"src":"25164:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":37660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25164:39:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25144:59:69"},{"expression":{"id":37662,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37656,"src":"25217:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37648,"id":37663,"nodeType":"Return","src":"25210:12:69"}]},"documentation":{"id":37642,"nodeType":"StructuredDocumentation","src":"24932:81:69","text":"@notice Gets the level of the GM token\n @param tokenId Token ID to check"},"functionSelector":"6d5e3032","id":37665,"implemented":true,"kind":"function","modifiers":[],"name":"levelOf","nameLocation":"25025:7:69","nodeType":"FunctionDefinition","parameters":{"id":37645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37644,"mutability":"mutable","name":"tokenId","nameLocation":"25041:7:69","nodeType":"VariableDeclaration","scope":37665,"src":"25033:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37643,"name":"uint256","nodeType":"ElementaryTypeName","src":"25033:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25032:17:69"},"returnParameters":{"id":37648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37665,"src":"25079:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37646,"name":"uint256","nodeType":"ElementaryTypeName","src":"25079:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25078:9:69"},"scope":38642,"src":"25016:211:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":37715,"nodeType":"Block","src":"25417:610:69","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37674,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37668,"src":"25436:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37673,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"25427:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":37675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25427:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":37678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25456:1:69","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":37677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25448:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37676,"name":"address","nodeType":"ElementaryTypeName","src":"25448:7:69","typeDescriptions":{}}},"id":37679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25448:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25427:31:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37683,"nodeType":"IfStatement","src":"25423:45:69","trueBody":{"expression":{"hexValue":"30","id":37681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25467:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":37672,"id":37682,"nodeType":"Return","src":"25460:8:69"}},{"assignments":[37685],"declarations":[{"constant":false,"id":37685,"mutability":"mutable","name":"nodeId","nameLocation":"25483:6:69","nodeType":"VariableDeclaration","scope":37715,"src":"25475:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37684,"name":"uint256","nodeType":"ElementaryTypeName","src":"25475:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37689,"initialValue":{"arguments":[{"id":37687,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37668,"src":"25510:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37686,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38188,"src":"25492:17:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":37688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25492:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25475:43:69"},{"assignments":[37691,37693],"declarations":[{"constant":false,"id":37691,"mutability":"mutable","name":"currentLevel","nameLocation":"25605:12:69","nodeType":"VariableDeclaration","scope":37715,"src":"25597:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37690,"name":"uint256","nodeType":"ElementaryTypeName","src":"25597:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37693,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"25627:15:69","nodeType":"VariableDeclaration","scope":37715,"src":"25619:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37692,"name":"uint256","nodeType":"ElementaryTypeName","src":"25619:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37698,"initialValue":{"arguments":[{"id":37695,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37668,"src":"25669:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37696,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37685,"src":"25678:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37694,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37829,"src":"25646:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":37697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25646:39:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25596:89:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37699,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37691,"src":"25751:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":37700,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38158,"src":"25767:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":37701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25767:11:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25751:27:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37706,"nodeType":"IfStatement","src":"25747:56:69","trueBody":{"id":37705,"nodeType":"Block","src":"25780:23:69","statements":[{"expression":{"hexValue":"30","id":37703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25795:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":37672,"id":37704,"nodeType":"Return","src":"25788:8:69"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37708,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37691,"src":"25987:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":37709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26002:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25987:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37707,"name":"getB3TRtoUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38030,"src":"25963:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":37711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25963:41:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":37712,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37693,"src":"26007:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25963:59:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37672,"id":37714,"nodeType":"Return","src":"25956:66:69"}]},"documentation":{"id":37666,"nodeType":"StructuredDocumentation","src":"25231:102:69","text":"@notice Gets the B3TR required to upgrade to the next level\n @param tokenId Token ID to check"},"functionSelector":"a51d2e0b","id":37716,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgrade","nameLocation":"25345:16:69","nodeType":"FunctionDefinition","parameters":{"id":37669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37668,"mutability":"mutable","name":"tokenId","nameLocation":"25370:7:69","nodeType":"VariableDeclaration","scope":37716,"src":"25362:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37667,"name":"uint256","nodeType":"ElementaryTypeName","src":"25362:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25361:17:69"},"returnParameters":{"id":37672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37671,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37716,"src":"25408:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37670,"name":"uint256","nodeType":"ElementaryTypeName","src":"25408:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25407:9:69"},"scope":38642,"src":"25336:691:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":37828,"nodeType":"Block","src":"26372:1637:69","statements":[{"assignments":[37730],"declarations":[{"constant":false,"id":37730,"mutability":"mutable","name":"$","nameLocation":"26406:1:69","nodeType":"VariableDeclaration","scope":37828,"src":"26378:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37729,"nodeType":"UserDefinedTypeName","pathNode":{"id":37728,"name":"GalaxyMemberStorage","nameLocations":["26378:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"26378:19:69"},"referencedDeclaration":36356,"src":"26378:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37733,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37731,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"26410:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26410:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"26378:57:69"},{"assignments":[37735],"declarations":[{"constant":false,"id":37735,"mutability":"mutable","name":"level","nameLocation":"26550:5:69","nodeType":"VariableDeclaration","scope":37828,"src":"26542:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37734,"name":"uint256","nodeType":"ElementaryTypeName","src":"26542:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37737,"initialValue":{"hexValue":"31","id":37736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26558:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"26542:17:69"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":37750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37738,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37721,"src":"26650:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":37739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26660:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26650:11:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37744,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37721,"src":"26697:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":37741,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37730,"src":"26665:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26667:14:69","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":36330,"src":"26665:16:69","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV2_$32668","typeString":"contract INodeManagementV2"}},"id":37743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26682:14:69","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":32606,"src":"26665:31:69","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":37745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26665:39:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":37747,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37719,"src":"26716:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37746,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"26708:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":37748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26708:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26665:59:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"26650:74:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37780,"nodeType":"IfStatement","src":"26646:652:69","trueBody":{"id":37779,"nodeType":"Block","src":"26726:572:69","statements":[{"assignments":[37752],"declarations":[{"constant":false,"id":37752,"mutability":"mutable","name":"nodeLevel","nameLocation":"26850:9:69","nodeType":"VariableDeclaration","scope":37779,"src":"26844:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37751,"name":"uint8","nodeType":"ElementaryTypeName","src":"26844:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":37756,"initialValue":{"arguments":[{"id":37754,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37721,"src":"26877:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37753,"name":"getNodeLevelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37854,"src":"26862:14:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":37755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26862:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"26844:40:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":37759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37757,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37752,"src":"26946:9:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":37758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26959:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26946:14:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37778,"nodeType":"IfStatement","src":"26942:350:69","trueBody":{"id":37777,"nodeType":"Block","src":"26962:330:69","statements":[{"assignments":[37761],"declarations":[{"constant":false,"id":37761,"mutability":"mutable","name":"nodeToFreeLevel","nameLocation":"27048:15:69","nodeType":"VariableDeclaration","scope":37777,"src":"27040:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37760,"name":"uint256","nodeType":"ElementaryTypeName","src":"27040:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37765,"initialValue":{"arguments":[{"id":37763,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37752,"src":"27085:9:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":37762,"name":"getNodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38203,"src":"27066:18:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":37764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27066:29:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27040:55:69"},{"expression":{"id":37775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37766,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37735,"src":"27213:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37767,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37761,"src":"27221:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":37768,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37730,"src":"27240:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27242:9:69","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":36303,"src":"27240:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27221:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":37772,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37730,"src":"27272:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27274:9:69","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":36303,"src":"27272:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"27221:62:69","trueExpression":{"id":37771,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37761,"src":"27254:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27213:70:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37776,"nodeType":"ExpressionStatement","src":"27213:70:69"}]}}]}},{"assignments":[37782],"declarations":[{"constant":false,"id":37782,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"27408:15:69","nodeType":"VariableDeclaration","scope":37828,"src":"27400:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37781,"name":"uint256","nodeType":"ElementaryTypeName","src":"27400:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37787,"initialValue":{"baseExpression":{"expression":{"id":37783,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37730,"src":"27426:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27428:21:69","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":36346,"src":"27426:23:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":37786,"indexExpression":{"id":37785,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37719,"src":"27450:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27426:32:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27400:58:69"},{"body":{"id":37822,"nodeType":"Block","src":"27648:268:69","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37801,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37782,"src":"27660:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"baseExpression":{"expression":{"id":37802,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37730,"src":"27679:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37803,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27681:21:69","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36311,"src":"27679:23:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":37805,"indexExpression":{"id":37804,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37789,"src":"27703:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27679:26:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27660:45:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":37820,"nodeType":"Block","src":"27796:114:69","statements":[{"id":37819,"nodeType":"Break","src":"27896:5:69"}]},"id":37821,"nodeType":"IfStatement","src":"27656:254:69","trueBody":{"id":37818,"nodeType":"Block","src":"27707:83:69","statements":[{"expression":{"id":37809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37807,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37735,"src":"27717:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":37808,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37789,"src":"27725:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27717:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37810,"nodeType":"ExpressionStatement","src":"27717:9:69"},{"expression":{"id":37816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":37811,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37782,"src":"27736:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"baseExpression":{"expression":{"id":37812,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37730,"src":"27755:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27757:21:69","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36311,"src":"27755:23:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":37815,"indexExpression":{"id":37814,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37789,"src":"27779:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27755:26:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27736:45:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37817,"nodeType":"ExpressionStatement","src":"27736:45:69"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37794,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37789,"src":"27625:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":37795,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37730,"src":"27630:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27632:9:69","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":36303,"src":"27630:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27625:16:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37823,"initializationExpression":{"assignments":[37789],"declarations":[{"constant":false,"id":37789,"mutability":"mutable","name":"i","nameLocation":"27610:1:69","nodeType":"VariableDeclaration","scope":37823,"src":"27602:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37788,"name":"uint256","nodeType":"ElementaryTypeName","src":"27602:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":37793,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":37790,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37735,"src":"27614:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":37791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27622:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"27614:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27602:21:69"},"loopExpression":{"expression":{"id":37799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27643:3:69","subExpression":{"id":37798,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37789,"src":"27643:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":37800,"nodeType":"ExpressionStatement","src":"27643:3:69"},"nodeType":"ForStatement","src":"27597:319:69"},{"expression":{"components":[{"id":37824,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37735,"src":"27981:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37825,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37782,"src":"27988:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":37826,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"27980:24:69","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"functionReturnParameters":37727,"id":37827,"nodeType":"Return","src":"27973:31:69"}]},"documentation":{"id":37717,"nodeType":"StructuredDocumentation","src":"26031:224:69","text":"@notice Gets the level of the GM token and the B3TR Donated left to upgrade\n @param tokenId Token ID to check\n @return level The level of the token\n @return b3trDonatedLeft The B3TR donated left to upgrade"},"id":37829,"implemented":true,"kind":"function","modifiers":[],"name":"_getLevelOfAndB3TRleft","nameLocation":"26267:22:69","nodeType":"FunctionDefinition","parameters":{"id":37722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37719,"mutability":"mutable","name":"tokenId","nameLocation":"26298:7:69","nodeType":"VariableDeclaration","scope":37829,"src":"26290:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37718,"name":"uint256","nodeType":"ElementaryTypeName","src":"26290:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37721,"mutability":"mutable","name":"nodeId","nameLocation":"26315:6:69","nodeType":"VariableDeclaration","scope":37829,"src":"26307:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37720,"name":"uint256","nodeType":"ElementaryTypeName","src":"26307:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26289:33:69"},"returnParameters":{"id":37727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37724,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37829,"src":"26354:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37723,"name":"uint256","nodeType":"ElementaryTypeName","src":"26354:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37829,"src":"26363:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37725,"name":"uint256","nodeType":"ElementaryTypeName","src":"26363:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26353:18:69"},"scope":38642,"src":"26258:1751:69","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":37853,"nodeType":"Block","src":"28189:164:69","statements":[{"assignments":[37839],"declarations":[{"constant":false,"id":37839,"mutability":"mutable","name":"$","nameLocation":"28223:1:69","nodeType":"VariableDeclaration","scope":37853,"src":"28195:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37838,"nodeType":"UserDefinedTypeName","pathNode":{"id":37837,"name":"GalaxyMemberStorage","nameLocations":["28195:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"28195:19:69"},"referencedDeclaration":36356,"src":"28195:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37842,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37840,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"28227:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28227:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28195:57:69"},{"assignments":[null,37844,null,null,null,null,null],"declarations":[null,{"constant":false,"id":37844,"mutability":"mutable","name":"nodeLevel","nameLocation":"28268:9:69","nodeType":"VariableDeclaration","scope":37853,"src":"28262:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37843,"name":"uint8","nodeType":"ElementaryTypeName","src":"28262:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},null,null,null,null,null],"id":37850,"initialValue":{"arguments":[{"id":37848,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37832,"src":"28318:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":37845,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37839,"src":"28291:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37846,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28293:12:69","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":36327,"src":"28291:14:69","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":37847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28306:11:69","memberName":"getMetadata","nodeType":"MemberAccess","referencedDeclaration":73069,"src":"28291:26:69","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_uint8_$_t_bool_$_t_bool_$_t_uint64_$_t_uint64_$_t_uint64_$","typeString":"function (uint256) view external returns (address,uint8,bool,bool,uint64,uint64,uint64)"}},"id":37849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28291:34:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint8_$_t_bool_$_t_bool_$_t_uint64_$_t_uint64_$_t_uint64_$","typeString":"tuple(address,uint8,bool,bool,uint64,uint64,uint64)"}},"nodeType":"VariableDeclarationStatement","src":"28259:66:69"},{"expression":{"id":37851,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37844,"src":"28339:9:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":37836,"id":37852,"nodeType":"Return","src":"28332:16:69"}]},"documentation":{"id":37830,"nodeType":"StructuredDocumentation","src":"28013:97:69","text":"@notice Gets the strength level of the Vechain node\n @param nodeId Vechain Node Token ID"},"functionSelector":"3ff453af","id":37854,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeLevelOf","nameLocation":"28122:14:69","nodeType":"FunctionDefinition","parameters":{"id":37833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37832,"mutability":"mutable","name":"nodeId","nameLocation":"28145:6:69","nodeType":"VariableDeclaration","scope":37854,"src":"28137:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37831,"name":"uint256","nodeType":"ElementaryTypeName","src":"28137:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28136:16:69"},"returnParameters":{"id":37836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37835,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37854,"src":"28182:5:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37834,"name":"uint8","nodeType":"ElementaryTypeName","src":"28182:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"28181:7:69"},"scope":38642,"src":"28113:240:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":37875,"nodeType":"Block","src":"28545:126:69","statements":[{"assignments":[37864],"declarations":[{"constant":false,"id":37864,"mutability":"mutable","name":"$","nameLocation":"28579:1:69","nodeType":"VariableDeclaration","scope":37875,"src":"28551:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37863,"nodeType":"UserDefinedTypeName","pathNode":{"id":37862,"name":"GalaxyMemberStorage","nameLocations":["28551:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"28551:19:69"},"referencedDeclaration":36356,"src":"28551:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37867,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37865,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"28583:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28583:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28551:57:69"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":37868,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37864,"src":"28621:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28623:27:69","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":36355,"src":"28621:29:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":37871,"indexExpression":{"id":37870,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37857,"src":"28651:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28621:36:69","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":37872,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28658:6:69","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"28621:43:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":37873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28621:45:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":37861,"id":37874,"nodeType":"Return","src":"28614:52:69"}]},"documentation":{"id":37855,"nodeType":"StructuredDocumentation","src":"28357:104:69","text":"@notice Gets the selected token ID for the user\n @param owner The address of the owner to check"},"functionSelector":"d206885d","id":37876,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenId","nameLocation":"28473:18:69","nodeType":"FunctionDefinition","parameters":{"id":37858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37857,"mutability":"mutable","name":"owner","nameLocation":"28500:5:69","nodeType":"VariableDeclaration","scope":37876,"src":"28492:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37856,"name":"address","nodeType":"ElementaryTypeName","src":"28492:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28491:15:69"},"returnParameters":{"id":37861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37876,"src":"28536:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37859,"name":"uint256","nodeType":"ElementaryTypeName","src":"28536:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28535:9:69"},"scope":38642,"src":"28464:207:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":37900,"nodeType":"Block","src":"28968:148:69","statements":[{"assignments":[37888],"declarations":[{"constant":false,"id":37888,"mutability":"mutable","name":"$","nameLocation":"29002:1:69","nodeType":"VariableDeclaration","scope":37900,"src":"28974:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37887,"nodeType":"UserDefinedTypeName","pathNode":{"id":37886,"name":"GalaxyMemberStorage","nameLocations":["28974:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"28974:19:69"},"referencedDeclaration":36356,"src":"28974:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37891,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37889,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"29006:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29006:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28974:57:69"},{"expression":{"arguments":[{"id":37897,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37881,"src":"29099:11:69","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":37892,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37888,"src":"29044:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37893,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29046:27:69","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":36355,"src":"29044:29:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":37895,"indexExpression":{"id":37894,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37879,"src":"29074:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29044:36:69","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":37896,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29081:17:69","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"29044:54:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":37898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29044:67:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":37885,"id":37899,"nodeType":"Return","src":"29037:74:69"}]},"documentation":{"id":37877,"nodeType":"StructuredDocumentation","src":"28675:182:69","text":"@notice Gets the selected token ID for the user in a specific block number\n @param owner The address of the owner to check\n @param blockNumber The block number to check"},"functionSelector":"3c60f55d","id":37901,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenIdAtBlock","nameLocation":"28869:25:69","nodeType":"FunctionDefinition","parameters":{"id":37882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37879,"mutability":"mutable","name":"owner","nameLocation":"28903:5:69","nodeType":"VariableDeclaration","scope":37901,"src":"28895:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37878,"name":"address","nodeType":"ElementaryTypeName","src":"28895:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37881,"mutability":"mutable","name":"blockNumber","nameLocation":"28917:11:69","nodeType":"VariableDeclaration","scope":37901,"src":"28910:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":37880,"name":"uint48","nodeType":"ElementaryTypeName","src":"28910:6:69","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"28894:35:69"},"returnParameters":{"id":37885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37901,"src":"28959:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37883,"name":"uint256","nodeType":"ElementaryTypeName","src":"28959:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28958:9:69"},"scope":38642,"src":"28860:256:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":37920,"nodeType":"Block","src":"29381:94:69","statements":[{"assignments":[37912,null],"declarations":[{"constant":false,"id":37912,"mutability":"mutable","name":"level","nameLocation":"29396:5:69","nodeType":"VariableDeclaration","scope":37920,"src":"29388:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37911,"name":"uint256","nodeType":"ElementaryTypeName","src":"29388:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":37917,"initialValue":{"arguments":[{"id":37914,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37904,"src":"29430:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":37915,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37906,"src":"29439:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":37913,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37829,"src":"29407:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":37916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29407:44:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29387:64:69"},{"expression":{"id":37918,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37912,"src":"29465:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37910,"id":37919,"nodeType":"Return","src":"29458:12:69"}]},"documentation":{"id":37902,"nodeType":"StructuredDocumentation","src":"29120:146:69","text":"@notice Gets the level of the token after attaching a node\n @param tokenId - GM Token ID\n @param nodeTokenId - Vechain Node Token ID"},"functionSelector":"a1843bd0","id":37921,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterAttachingNode","nameLocation":"29278:26:69","nodeType":"FunctionDefinition","parameters":{"id":37907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37904,"mutability":"mutable","name":"tokenId","nameLocation":"29313:7:69","nodeType":"VariableDeclaration","scope":37921,"src":"29305:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37903,"name":"uint256","nodeType":"ElementaryTypeName","src":"29305:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37906,"mutability":"mutable","name":"nodeTokenId","nameLocation":"29330:11:69","nodeType":"VariableDeclaration","scope":37921,"src":"29322:19:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37905,"name":"uint256","nodeType":"ElementaryTypeName","src":"29322:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29304:38:69"},"returnParameters":{"id":37910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37921,"src":"29372:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37908,"name":"uint256","nodeType":"ElementaryTypeName","src":"29372:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29371:9:69"},"scope":38642,"src":"29269:206:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":37938,"nodeType":"Block","src":"29670:84:69","statements":[{"assignments":[37930,null],"declarations":[{"constant":false,"id":37930,"mutability":"mutable","name":"level","nameLocation":"29685:5:69","nodeType":"VariableDeclaration","scope":37938,"src":"29677:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37929,"name":"uint256","nodeType":"ElementaryTypeName","src":"29677:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":37935,"initialValue":{"arguments":[{"id":37932,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37924,"src":"29719:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":37933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29728:1:69","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":37931,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37829,"src":"29696:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":37934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29696:34:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29676:54:69"},{"expression":{"id":37936,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37930,"src":"29744:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":37928,"id":37937,"nodeType":"Return","src":"29737:12:69"}]},"documentation":{"id":37922,"nodeType":"StructuredDocumentation","src":"29479:97:69","text":"@notice Gets the level of the token after detaching a node\n @param tokenId - GM Token ID"},"functionSelector":"cc421d07","id":37939,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterDetachingNode","nameLocation":"29588:26:69","nodeType":"FunctionDefinition","parameters":{"id":37925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37924,"mutability":"mutable","name":"tokenId","nameLocation":"29623:7:69","nodeType":"VariableDeclaration","scope":37939,"src":"29615:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37923,"name":"uint256","nodeType":"ElementaryTypeName","src":"29615:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29614:17:69"},"returnParameters":{"id":37928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37939,"src":"29661:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37926,"name":"uint256","nodeType":"ElementaryTypeName","src":"29661:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29660:9:69"},"scope":38642,"src":"29579:175:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":37999,"nodeType":"Block","src":"29959:458:69","statements":[{"assignments":[37949],"declarations":[{"constant":false,"id":37949,"mutability":"mutable","name":"$","nameLocation":"29993:1:69","nodeType":"VariableDeclaration","scope":37999,"src":"29965:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":37948,"nodeType":"UserDefinedTypeName","pathNode":{"id":37947,"name":"GalaxyMemberStorage","nameLocations":["29965:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"29965:19:69"},"referencedDeclaration":36356,"src":"29965:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":37952,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":37950,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"29997:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":37951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29997:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29965:57:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"id":37962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":37954,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37949,"src":"30043:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30045:20:69","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":36289,"src":"30043:22:69","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":37959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30104:1:69","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":37958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30096:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37957,"name":"address","nodeType":"ElementaryTypeName","src":"30096:7:69","typeDescriptions":{}}},"id":37960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30096:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":37956,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"30069:26:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":37961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30069:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"30043:64:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67476f7665726e6f72206e6f7420736574","id":37963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30115:50:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""},"value":"Galaxy Member: XAllocationVotingGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""}],"id":37953,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"30028:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30028:143:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37965,"nodeType":"ExpressionStatement","src":"30028:143:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"id":37978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":37967,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37949,"src":"30185:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30187:12:69","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":36292,"src":"30185:14:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":37974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30233:1:69","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":37973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30225:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":37972,"name":"address","nodeType":"ElementaryTypeName","src":"30225:7:69","typeDescriptions":{}}},"id":37975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30225:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":37971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30217:8:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":37970,"name":"address","nodeType":"ElementaryTypeName","src":"30217:8:69","stateMutability":"payable","typeDescriptions":{}}},"id":37976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30217:19:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":37969,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"30203:13:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":37977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30203:34:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"30185:52:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420736574","id":37979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30239:37:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""},"value":"Galaxy Member: B3TRGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""}],"id":37966,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"30177:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30177:100:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37981,"nodeType":"ExpressionStatement","src":"30177:100:69"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":37992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":37985,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37942,"src":"30324:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":37982,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37949,"src":"30288:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30290:20:69","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":36289,"src":"30288:22:69","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":37984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30311:12:69","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":71083,"src":"30288:35:69","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":37986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30288:41:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":37990,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37942,"src":"30361:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":37987,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37949,"src":"30333:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":37988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30335:12:69","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":36292,"src":"30333:14:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":37989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30348:12:69","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":63603,"src":"30333:27:69","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":37991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30333:33:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30288:78:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":37996,"nodeType":"IfStatement","src":"30284:110:69","trueBody":{"id":37995,"nodeType":"Block","src":"30368:26:69","statements":[{"expression":{"hexValue":"74727565","id":37993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30383:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":37946,"id":37994,"nodeType":"Return","src":"30376:11:69"}]}},{"expression":{"hexValue":"66616c7365","id":37997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30407:5:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":37946,"id":37998,"nodeType":"Return","src":"30400:12:69"}]},"documentation":{"id":37940,"nodeType":"StructuredDocumentation","src":"29758:115:69","text":"@notice Gets whether the user has participated in governance\n @param user The address of the user to check"},"functionSelector":"8c5b76fb","id":38000,"implemented":true,"kind":"function","modifiers":[],"name":"participatedInGovernance","nameLocation":"29885:24:69","nodeType":"FunctionDefinition","parameters":{"id":37943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37942,"mutability":"mutable","name":"user","nameLocation":"29918:4:69","nodeType":"VariableDeclaration","scope":38000,"src":"29910:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37941,"name":"address","nodeType":"ElementaryTypeName","src":"29910:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29909:14:69"},"returnParameters":{"id":37946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37945,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38000,"src":"29953:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37944,"name":"bool","nodeType":"ElementaryTypeName","src":"29953:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29952:6:69"},"scope":38642,"src":"29876:541:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38009,"nodeType":"Block","src":"30543:28:69","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":38006,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[38641],"referencedDeclaration":38641,"src":"30556:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":38007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30556:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":38005,"id":38008,"nodeType":"Return","src":"30549:17:69"}]},"documentation":{"id":38001,"nodeType":"StructuredDocumentation","src":"30421:56:69","text":"@notice Gets the base URI for computing the tokenURI"},"functionSelector":"6c0360eb","id":38010,"implemented":true,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"30489:7:69","nodeType":"FunctionDefinition","parameters":{"id":38002,"nodeType":"ParameterList","parameters":[],"src":"30496:2:69"},"returnParameters":{"id":38005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38010,"src":"30528:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38003,"name":"string","nodeType":"ElementaryTypeName","src":"30528:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30527:15:69"},"scope":38642,"src":"30480:91:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38029,"nodeType":"Block","src":"30768:111:69","statements":[{"assignments":[38020],"declarations":[{"constant":false,"id":38020,"mutability":"mutable","name":"$","nameLocation":"30802:1:69","nodeType":"VariableDeclaration","scope":38029,"src":"30774:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":38019,"nodeType":"UserDefinedTypeName","pathNode":{"id":38018,"name":"GalaxyMemberStorage","nameLocations":["30774:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"30774:19:69"},"referencedDeclaration":36356,"src":"30774:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":38023,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":38021,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"30806:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30806:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30774:57:69"},{"expression":{"baseExpression":{"expression":{"id":38024,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38020,"src":"30844:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38025,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30846:21:69","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":36311,"src":"30844:23:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":38027,"indexExpression":{"id":38026,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38013,"src":"30868:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30844:30:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38017,"id":38028,"nodeType":"Return","src":"30837:37:69"}]},"documentation":{"id":38011,"nodeType":"StructuredDocumentation","src":"30575:104:69","text":"@notice Gets the B3TR required to upgrade to a specific level\n @param level Level to upgrade to"},"functionSelector":"2b42df38","id":38030,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgradeToLevel","nameLocation":"30691:23:69","nodeType":"FunctionDefinition","parameters":{"id":38014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38013,"mutability":"mutable","name":"level","nameLocation":"30723:5:69","nodeType":"VariableDeclaration","scope":38030,"src":"30715:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38012,"name":"uint256","nodeType":"ElementaryTypeName","src":"30715:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30714:15:69"},"returnParameters":{"id":38017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38030,"src":"30759:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38015,"name":"uint256","nodeType":"ElementaryTypeName","src":"30759:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30758:9:69"},"scope":38642,"src":"30682:197:69","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2274],"body":{"id":38074,"nodeType":"Block","src":"31176:205:69","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":38041,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38033,"src":"31195:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38040,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"31186:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":38042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31186:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":38045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31215:1:69","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":38044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31207:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38043,"name":"address","nodeType":"ElementaryTypeName","src":"31207:7:69","typeDescriptions":{}}},"id":38046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31207:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"31186:31:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38050,"nodeType":"IfStatement","src":"31182:46:69","trueBody":{"expression":{"hexValue":"","id":38048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31226:2:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":38039,"id":38049,"nodeType":"Return","src":"31219:9:69"}},{"assignments":[38052],"declarations":[{"constant":false,"id":38052,"mutability":"mutable","name":"levelOfToken","nameLocation":"31243:12:69","nodeType":"VariableDeclaration","scope":38074,"src":"31235:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38051,"name":"uint256","nodeType":"ElementaryTypeName","src":"31235:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38056,"initialValue":{"arguments":[{"id":38054,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38033,"src":"31266:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38053,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37665,"src":"31258:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":38055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31258:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31235:39:69"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38057,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38052,"src":"31287:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":38058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31302:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31287:16:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":38071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31374:2:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":38072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"31287:89:69","trueExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":38063,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38010,"src":"31320:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":38064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31320:9:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":38067,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38052,"src":"31348:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":38065,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"31331:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":38066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31339:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"31331:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":38068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31331:30:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6a736f6e","id":38069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31363:7:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":38061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31306:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":38060,"name":"string","nodeType":"ElementaryTypeName","src":"31306:6:69","typeDescriptions":{}}},"id":38062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31313:6:69","memberName":"concat","nodeType":"MemberAccess","src":"31306:13:69","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":38070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31306:65:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":38039,"id":38073,"nodeType":"Return","src":"31280:96:69"}]},"documentation":{"id":38031,"nodeType":"StructuredDocumentation","src":"30883:183:69","text":"@notice gets the token URI for a specific token\n @dev computes the token URI based on the base URI and the level of the token\n @param tokenId Token ID to get the URI for"},"functionSelector":"c87b56dd","id":38075,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"31078:8:69","nodeType":"FunctionDefinition","overrides":{"id":38036,"nodeType":"OverrideSpecifier","overrides":[{"id":38035,"name":"ERC721Upgradeable","nameLocations":["31133:17:69"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"31133:17:69"}],"src":"31124:27:69"},"parameters":{"id":38034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38033,"mutability":"mutable","name":"tokenId","nameLocation":"31095:7:69","nodeType":"VariableDeclaration","scope":38075,"src":"31087:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38032,"name":"uint256","nodeType":"ElementaryTypeName","src":"31087:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31086:17:69"},"returnParameters":{"id":38039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38075,"src":"31161:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38037,"name":"string","nodeType":"ElementaryTypeName","src":"31161:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31160:15:69"},"scope":38642,"src":"31069:312:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38091,"nodeType":"Block","src":"31529:103:69","statements":[{"assignments":[38084],"declarations":[{"constant":false,"id":38084,"mutability":"mutable","name":"$","nameLocation":"31563:1:69","nodeType":"VariableDeclaration","scope":38091,"src":"31535:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":38083,"nodeType":"UserDefinedTypeName","pathNode":{"id":38082,"name":"GalaxyMemberStorage","nameLocations":["31535:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"31535:19:69"},"referencedDeclaration":36356,"src":"31535:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":38087,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":38085,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"31567:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31567:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31535:57:69"},{"expression":{"expression":{"id":38088,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38084,"src":"31605:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31607:20:69","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":36289,"src":"31605:22:69","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"functionReturnParameters":38081,"id":38090,"nodeType":"Return","src":"31598:29:69"}]},"documentation":{"id":38076,"nodeType":"StructuredDocumentation","src":"31385:58:69","text":"@notice Gets the xAllocationsGovernor contract address"},"functionSelector":"5ecf68e9","id":38092,"implemented":true,"kind":"function","modifiers":[],"name":"xAllocationsGovernor","nameLocation":"31455:20:69","nodeType":"FunctionDefinition","parameters":{"id":38077,"nodeType":"ParameterList","parameters":[],"src":"31475:2:69"},"returnParameters":{"id":38081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38080,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38092,"src":"31501:26:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":38079,"nodeType":"UserDefinedTypeName","pathNode":{"id":38078,"name":"IXAllocationVotingGovernor","nameLocations":["31501:26:69"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"31501:26:69"},"referencedDeclaration":71124,"src":"31501:26:69","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"31500:28:69"},"scope":38642,"src":"31446:186:69","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":38108,"nodeType":"Block","src":"31751:95:69","statements":[{"assignments":[38101],"declarations":[{"constant":false,"id":38101,"mutability":"mutable","name":"$","nameLocation":"31785:1:69","nodeType":"VariableDeclaration","scope":38108,"src":"31757:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":38100,"nodeType":"UserDefinedTypeName","pathNode":{"id":38099,"name":"GalaxyMemberStorage","nameLocations":["31757:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"31757:19:69"},"referencedDeclaration":36356,"src":"31757:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":38104,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":38102,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"31789:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31789:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31757:57:69"},{"expression":{"expression":{"id":38105,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38101,"src":"31827:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31829:12:69","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":36292,"src":"31827:14:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"functionReturnParameters":38098,"id":38107,"nodeType":"Return","src":"31820:21:69"}]},"documentation":{"id":38093,"nodeType":"StructuredDocumentation","src":"31636:50:69","text":"@notice Gets the b3trGovernor contract address"},"functionSelector":"7893d736","id":38109,"implemented":true,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"31698:12:69","nodeType":"FunctionDefinition","parameters":{"id":38094,"nodeType":"ParameterList","parameters":[],"src":"31710:2:69"},"returnParameters":{"id":38098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38109,"src":"31736:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":38096,"nodeType":"UserDefinedTypeName","pathNode":{"id":38095,"name":"IB3TRGovernor","nameLocations":["31736:13:69"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"31736:13:69"},"referencedDeclaration":63919,"src":"31736:13:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"31735:15:69"},"scope":38642,"src":"31689:157:69","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":38125,"nodeType":"Block","src":"31947:87:69","statements":[{"assignments":[38118],"declarations":[{"constant":false,"id":38118,"mutability":"mutable","name":"$","nameLocation":"31981:1:69","nodeType":"VariableDeclaration","scope":38125,"src":"31953:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":38117,"nodeType":"UserDefinedTypeName","pathNode":{"id":38116,"name":"GalaxyMemberStorage","nameLocations":["31953:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"31953:19:69"},"referencedDeclaration":36356,"src":"31953:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":38121,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":38119,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"31985:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31985:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31953:57:69"},{"expression":{"expression":{"id":38122,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38118,"src":"32023:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32025:4:69","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":36295,"src":"32023:6:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"functionReturnParameters":38115,"id":38124,"nodeType":"Return","src":"32016:13:69"}]},"documentation":{"id":38110,"nodeType":"StructuredDocumentation","src":"31850:48:69","text":"@notice Gets the B3TR token contract address"},"functionSelector":"582a486a","id":38126,"implemented":true,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"31910:4:69","nodeType":"FunctionDefinition","parameters":{"id":38111,"nodeType":"ParameterList","parameters":[],"src":"31914:2:69"},"returnParameters":{"id":38115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38114,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38126,"src":"31940:5:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":38113,"nodeType":"UserDefinedTypeName","pathNode":{"id":38112,"name":"IB3TR","nameLocations":["31940:5:69"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"31940:5:69"},"referencedDeclaration":62888,"src":"31940:5:69","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"31939:7:69"},"scope":38642,"src":"31901:133:69","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":38141,"nodeType":"Block","src":"32139:91:69","statements":[{"assignments":[38134],"declarations":[{"constant":false,"id":38134,"mutability":"mutable","name":"$","nameLocation":"32173:1:69","nodeType":"VariableDeclaration","scope":38141,"src":"32145:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":38133,"nodeType":"UserDefinedTypeName","pathNode":{"id":38132,"name":"GalaxyMemberStorage","nameLocations":["32145:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"32145:19:69"},"referencedDeclaration":36356,"src":"32145:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":38137,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":38135,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"32177:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32177:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"32145:57:69"},{"expression":{"expression":{"id":38138,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38134,"src":"32215:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32217:8:69","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":36297,"src":"32215:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":38131,"id":38140,"nodeType":"Return","src":"32208:17:69"}]},"documentation":{"id":38127,"nodeType":"StructuredDocumentation","src":"32038:46:69","text":"@notice Gets the treasury contract address"},"functionSelector":"61d027b3","id":38142,"implemented":true,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"32096:8:69","nodeType":"FunctionDefinition","parameters":{"id":38128,"nodeType":"ParameterList","parameters":[],"src":"32104:2:69"},"returnParameters":{"id":38131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38130,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38142,"src":"32130:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38129,"name":"address","nodeType":"ElementaryTypeName","src":"32130:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32129:9:69"},"scope":38642,"src":"32087:143:69","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":38157,"nodeType":"Block","src":"32371:92:69","statements":[{"assignments":[38150],"declarations":[{"constant":false,"id":38150,"mutability":"mutable","name":"$","nameLocation":"32405:1:69","nodeType":"VariableDeclaration","scope":38157,"src":"32377:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":38149,"nodeType":"UserDefinedTypeName","pathNode":{"id":38148,"name":"GalaxyMemberStorage","nameLocations":["32377:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"32377:19:69"},"referencedDeclaration":36356,"src":"32377:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":38153,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":38151,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"32409:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32409:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"32377:57:69"},{"expression":{"expression":{"id":38154,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38150,"src":"32447:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32449:9:69","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":36303,"src":"32447:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38147,"id":38156,"nodeType":"Return","src":"32440:18:69"}]},"documentation":{"id":38143,"nodeType":"StructuredDocumentation","src":"32234:75:69","text":"@notice Gets the maximum level that tokens can be minted or upgraded to"},"functionSelector":"a49062d4","id":38158,"implemented":true,"kind":"function","modifiers":[],"name":"MAX_LEVEL","nameLocation":"32321:9:69","nodeType":"FunctionDefinition","parameters":{"id":38144,"nodeType":"ParameterList","parameters":[],"src":"32330:2:69"},"returnParameters":{"id":38147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38146,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38158,"src":"32362:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38145,"name":"uint256","nodeType":"ElementaryTypeName","src":"32362:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32361:9:69"},"scope":38642,"src":"32312:151:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38172,"nodeType":"Block","src":"32664:66:69","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":38166,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"32677:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32677:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32703:14:69","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":36334,"src":"32677:40:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":38170,"indexExpression":{"id":38169,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38161,"src":"32718:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32677:48:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38165,"id":38171,"nodeType":"Return","src":"32670:55:69"}]},"documentation":{"id":38159,"nodeType":"StructuredDocumentation","src":"32467:111:69","text":"@notice Get the GM Token ID attached to the Vechain Node Token ID\n @param nodeId Vechain node Token ID"},"functionSelector":"51c438d1","id":38173,"implemented":true,"kind":"function","modifiers":[],"name":"getIdAttachedToNode","nameLocation":"32590:19:69","nodeType":"FunctionDefinition","parameters":{"id":38162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38161,"mutability":"mutable","name":"nodeId","nameLocation":"32618:6:69","nodeType":"VariableDeclaration","scope":38173,"src":"32610:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38160,"name":"uint256","nodeType":"ElementaryTypeName","src":"32610:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32609:16:69"},"returnParameters":{"id":38165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38164,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38173,"src":"32655:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38163,"name":"uint256","nodeType":"ElementaryTypeName","src":"32655:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32654:9:69"},"scope":38642,"src":"32581:149:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38187,"nodeType":"Block","src":"32921:67:69","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":38181,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"32934:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32934:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32960:14:69","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":36338,"src":"32934:40:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":38185,"indexExpression":{"id":38184,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38176,"src":"32975:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32934:49:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38180,"id":38186,"nodeType":"Return","src":"32927:56:69"}]},"documentation":{"id":38174,"nodeType":"StructuredDocumentation","src":"32734:102:69","text":"@notice Get the Vechain Node Token ID attached to the GM Token ID\n @param tokenId GM Token ID"},"functionSelector":"958fc97d","id":38188,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeIdAttached","nameLocation":"32848:17:69","nodeType":"FunctionDefinition","parameters":{"id":38177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38176,"mutability":"mutable","name":"tokenId","nameLocation":"32874:7:69","nodeType":"VariableDeclaration","scope":38188,"src":"32866:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38175,"name":"uint256","nodeType":"ElementaryTypeName","src":"32866:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32865:17:69"},"returnParameters":{"id":38180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38179,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38188,"src":"32912:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38178,"name":"uint256","nodeType":"ElementaryTypeName","src":"32912:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32911:9:69"},"scope":38642,"src":"32839:149:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38202,"nodeType":"Block","src":"33209:78:69","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":38196,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"33222:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33222:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33248:23:69","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":36342,"src":"33222:49:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":38200,"indexExpression":{"id":38199,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38191,"src":"33272:9:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33222:60:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38195,"id":38201,"nodeType":"Return","src":"33215:67:69"}]},"documentation":{"id":38189,"nodeType":"StructuredDocumentation","src":"32992:131:69","text":"@notice Get the GM level that can be upgraded for free for a given Vechain node level\n @param nodeLevel Vechain node level"},"functionSelector":"e617e49f","id":38203,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeToFreeLevel","nameLocation":"33135:18:69","nodeType":"FunctionDefinition","parameters":{"id":38192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38191,"mutability":"mutable","name":"nodeLevel","nameLocation":"33160:9:69","nodeType":"VariableDeclaration","scope":38203,"src":"33154:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38190,"name":"uint8","nodeType":"ElementaryTypeName","src":"33154:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"33153:17:69"},"returnParameters":{"id":38195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38203,"src":"33200:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38193,"name":"uint256","nodeType":"ElementaryTypeName","src":"33200:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33199:9:69"},"scope":38642,"src":"33126:161:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38217,"nodeType":"Block","src":"33466:74:69","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":38211,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"33479:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33479:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33505:21:69","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":36346,"src":"33479:47:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":38215,"indexExpression":{"id":38214,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38206,"src":"33527:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33479:56:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38210,"id":38216,"nodeType":"Return","src":"33472:63:69"}]},"documentation":{"id":38204,"nodeType":"StructuredDocumentation","src":"33291:93:69","text":"@notice Get the B3TR donated for upgrading a token\n @param tokenId Token ID to check"},"functionSelector":"865c380b","id":38218,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRdonated","nameLocation":"33396:14:69","nodeType":"FunctionDefinition","parameters":{"id":38207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38206,"mutability":"mutable","name":"tokenId","nameLocation":"33419:7:69","nodeType":"VariableDeclaration","scope":38218,"src":"33411:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38205,"name":"uint256","nodeType":"ElementaryTypeName","src":"33411:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33410:17:69"},"returnParameters":{"id":38210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38218,"src":"33457:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38208,"name":"uint256","nodeType":"ElementaryTypeName","src":"33457:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33456:9:69"},"scope":38642,"src":"33387:153:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38226,"nodeType":"Block","src":"33833:21:69","statements":[{"expression":{"hexValue":"34","id":38224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33846:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_13600b294191fc92924bb3ce4b969c1e7e2bab8f4c93c3fc6d0a51733df3c060","typeString":"literal_string \"4\""},"value":"4"},"functionReturnParameters":38223,"id":38225,"nodeType":"Return","src":"33839:10:69"}]},"documentation":{"id":38219,"nodeType":"StructuredDocumentation","src":"33544:221:69","text":"@notice Retrieves the current version of the contract\n @dev This function is used to identify the version of the contract and should be updated in each new version\n @return string The version of the contract"},"functionSelector":"54fd4d50","id":38227,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"33777:7:69","nodeType":"FunctionDefinition","parameters":{"id":38220,"nodeType":"ParameterList","parameters":[],"src":"33784:2:69"},"returnParameters":{"id":38223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38227,"src":"33818:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38221,"name":"string","nodeType":"ElementaryTypeName","src":"33818:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33817:15:69"},"scope":38642,"src":"33768:86:69","stateMutability":"pure","virtual":true,"visibility":"external"},{"canonicalName":"GalaxyMemberV4.TokenInfo","id":38236,"members":[{"constant":false,"id":38229,"mutability":"mutable","name":"tokenId","nameLocation":"33889:7:69","nodeType":"VariableDeclaration","scope":38236,"src":"33881:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38228,"name":"uint256","nodeType":"ElementaryTypeName","src":"33881:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38231,"mutability":"mutable","name":"tokenURI","nameLocation":"33909:8:69","nodeType":"VariableDeclaration","scope":38236,"src":"33902:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":38230,"name":"string","nodeType":"ElementaryTypeName","src":"33902:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38233,"mutability":"mutable","name":"tokenLevel","nameLocation":"33931:10:69","nodeType":"VariableDeclaration","scope":38236,"src":"33923:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38232,"name":"uint256","nodeType":"ElementaryTypeName","src":"33923:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38235,"mutability":"mutable","name":"b3trToUpgrade","nameLocation":"33955:13:69","nodeType":"VariableDeclaration","scope":38236,"src":"33947:21:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38234,"name":"uint256","nodeType":"ElementaryTypeName","src":"33947:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TokenInfo","nameLocation":"33865:9:69","nodeType":"StructDefinition","scope":38642,"src":"33858:115:69","visibility":"public"},{"body":{"id":38293,"nodeType":"Block","src":"34207:360:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":38247,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38239,"src":"34266:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38246,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"34257:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":38248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34257:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34286:1:69","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":38250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34278:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38249,"name":"address","nodeType":"ElementaryTypeName","src":"34278:7:69","typeDescriptions":{}}},"id":38252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34278:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"34257:31:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578697374","id":38254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34290:37:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""},"value":"GalaxyMember: tokenId doesn't exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""}],"id":38245,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"34249:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34249:79:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38256,"nodeType":"ExpressionStatement","src":"34249:79:69"},{"assignments":[38259],"declarations":[{"constant":false,"id":38259,"mutability":"mutable","name":"tokenInfo","nameLocation":"34352:9:69","nodeType":"VariableDeclaration","scope":38293,"src":"34335:26:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"},"typeName":{"id":38258,"nodeType":"UserDefinedTypeName","pathNode":{"id":38257,"name":"TokenInfo","nameLocations":["34335:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":38236,"src":"34335:9:69"},"referencedDeclaration":38236,"src":"34335:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"}},"visibility":"internal"}],"id":38260,"nodeType":"VariableDeclarationStatement","src":"34335:26:69"},{"expression":{"id":38265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":38261,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38259,"src":"34367:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory"}},"id":38263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34377:7:69","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":38229,"src":"34367:17:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38264,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38239,"src":"34387:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34367:27:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38266,"nodeType":"ExpressionStatement","src":"34367:27:69"},{"expression":{"id":38273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":38267,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38259,"src":"34400:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory"}},"id":38269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34410:8:69","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":38231,"src":"34400:18:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38271,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38239,"src":"34430:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38270,"name":"tokenURI","nodeType":"Identifier","overloadedDeclarations":[38075],"referencedDeclaration":38075,"src":"34421:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":38272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34421:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"34400:38:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":38274,"nodeType":"ExpressionStatement","src":"34400:38:69"},{"expression":{"id":38281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":38275,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38259,"src":"34444:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory"}},"id":38277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34454:10:69","memberName":"tokenLevel","nodeType":"MemberAccess","referencedDeclaration":38233,"src":"34444:20:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38279,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38239,"src":"34475:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38278,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37665,"src":"34467:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":38280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34467:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34444:39:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38282,"nodeType":"ExpressionStatement","src":"34444:39:69"},{"expression":{"id":38289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":38283,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38259,"src":"34489:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory"}},"id":38285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34499:13:69","memberName":"b3trToUpgrade","nodeType":"MemberAccess","referencedDeclaration":38235,"src":"34489:23:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38287,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38239,"src":"34532:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38286,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37716,"src":"34515:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":38288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34515:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34489:51:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38290,"nodeType":"ExpressionStatement","src":"34489:51:69"},{"expression":{"id":38291,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38259,"src":"34553:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory"}},"functionReturnParameters":38244,"id":38292,"nodeType":"Return","src":"34546:16:69"}]},"documentation":{"id":38237,"nodeType":"StructuredDocumentation","src":"33977:132:69","text":"@notice Gets the token info by token ID\n @param tokenId Token ID to get the info for\n @return TokenInfo The token info"},"functionSelector":"643ce418","id":38294,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenInfoByTokenId","nameLocation":"34121:21:69","nodeType":"FunctionDefinition","parameters":{"id":38240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38239,"mutability":"mutable","name":"tokenId","nameLocation":"34151:7:69","nodeType":"VariableDeclaration","scope":38294,"src":"34143:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38238,"name":"uint256","nodeType":"ElementaryTypeName","src":"34143:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34142:17:69"},"returnParameters":{"id":38244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38243,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38294,"src":"34189:16:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"},"typeName":{"id":38242,"nodeType":"UserDefinedTypeName","pathNode":{"id":38241,"name":"TokenInfo","nameLocations":["34189:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":38236,"src":"34189:9:69"},"referencedDeclaration":38236,"src":"34189:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"}},"visibility":"internal"}],"src":"34188:18:69"},"scope":38642,"src":"34112:455:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38313,"nodeType":"Block","src":"34821:97:69","statements":[{"assignments":[38304],"declarations":[{"constant":false,"id":38304,"mutability":"mutable","name":"tokenId","nameLocation":"34835:7:69","nodeType":"VariableDeclaration","scope":38313,"src":"34827:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38303,"name":"uint256","nodeType":"ElementaryTypeName","src":"34827:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38308,"initialValue":{"arguments":[{"id":38306,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38297,"src":"34864:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":38305,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37876,"src":"34845:18:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":38307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34845:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34827:43:69"},{"expression":{"arguments":[{"id":38310,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38304,"src":"34905:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38309,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38294,"src":"34883:21:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$38236_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMemberV4.TokenInfo memory)"}},"id":38311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34883:30:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory"}},"functionReturnParameters":38302,"id":38312,"nodeType":"Return","src":"34876:37:69"}]},"documentation":{"id":38295,"nodeType":"StructuredDocumentation","src":"34571:156:69","text":"@notice Gets the selected token info for an address\n @param owner The address of the owner to check\n @return TokenInfo The selected token info"},"functionSelector":"de4983a2","id":38314,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenInfoByOwner","nameLocation":"34739:27:69","nodeType":"FunctionDefinition","parameters":{"id":38298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38297,"mutability":"mutable","name":"owner","nameLocation":"34775:5:69","nodeType":"VariableDeclaration","scope":38314,"src":"34767:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38296,"name":"address","nodeType":"ElementaryTypeName","src":"34767:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34766:15:69"},"returnParameters":{"id":38302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38301,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38314,"src":"34803:16:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"},"typeName":{"id":38300,"nodeType":"UserDefinedTypeName","pathNode":{"id":38299,"name":"TokenInfo","nameLocations":["34803:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":38236,"src":"34803:9:69"},"referencedDeclaration":38236,"src":"34803:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"}},"visibility":"internal"}],"src":"34802:18:69"},"scope":38642,"src":"34730:188:69","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":38452,"nodeType":"Block","src":"35308:1376:69","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38328,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38321,"src":"35346:4:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":38329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35354:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35346:9:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38336,"nodeType":"IfStatement","src":"35342:79:69","trueBody":{"id":38335,"nodeType":"Block","src":"35357:64:69","statements":[{"expression":{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652030","id":38332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35372:41:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""},"value":"GalaxyMember: Invalid size, cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""}],"id":38331,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"35365:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":38333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35365:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38334,"nodeType":"ExpressionStatement","src":"35365:49:69"}]}},{"assignments":[38338],"declarations":[{"constant":false,"id":38338,"mutability":"mutable","name":"MAX_PAGINATION_SIZE","nameLocation":"35485:19:69","nodeType":"VariableDeclaration","scope":38452,"src":"35477:27:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38337,"name":"uint256","nodeType":"ElementaryTypeName","src":"35477:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38340,"initialValue":{"hexValue":"313030","id":38339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35507:3:69","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"35477:33:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38341,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38321,"src":"35586:4:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":38342,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38338,"src":"35593:19:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35586:26:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38359,"nodeType":"IfStatement","src":"35582:209:69","trueBody":{"id":38358,"nodeType":"Block","src":"35614:177:69","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652067726561746572207468616e20","id":38349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35673:53:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},"value":"GalaxyMember: Invalid size, cannot be greater than "},{"arguments":[{"id":38352,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38338,"src":"35745:19:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":38350,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"35728:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":38351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35736:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"35728:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":38353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35728:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":38347,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35656:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35660:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"35656:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35656:110:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35638:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":38345,"name":"string","nodeType":"ElementaryTypeName","src":"35638:6:69","typeDescriptions":{}}},"id":38355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35638:138:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":38344,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"35622:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":38356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35622:162:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38357,"nodeType":"ExpressionStatement","src":"35622:162:69"}]}},{"assignments":[38361],"declarations":[{"constant":false,"id":38361,"mutability":"mutable","name":"balance","nameLocation":"35805:7:69","nodeType":"VariableDeclaration","scope":38452,"src":"35797:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38360,"name":"uint256","nodeType":"ElementaryTypeName","src":"35797:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38365,"initialValue":{"arguments":[{"id":38363,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38317,"src":"35825:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":38362,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"35815:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":38364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35815:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35797:34:69"},{"assignments":[38367],"declarations":[{"constant":false,"id":38367,"mutability":"mutable","name":"start","nameLocation":"35952:5:69","nodeType":"VariableDeclaration","scope":38452,"src":"35944:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38366,"name":"uint256","nodeType":"ElementaryTypeName","src":"35944:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38371,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38368,"name":"page","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38319,"src":"35960:4:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":38369,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38321,"src":"35967:4:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35960:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35944:27:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38372,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38367,"src":"36063:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38373,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38361,"src":"36072:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36063:16:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38383,"nodeType":"IfStatement","src":"36059:62:69","trueBody":{"id":38382,"nodeType":"Block","src":"36081:40:69","statements":[{"expression":{"arguments":[{"hexValue":"30","id":38379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36112:1:69","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":38378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"36096:15:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMemberV4.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":38376,"nodeType":"UserDefinedTypeName","pathNode":{"id":38375,"name":"TokenInfo","nameLocations":["36100:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":38236,"src":"36100:9:69"},"referencedDeclaration":38236,"src":"36100:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"}},"id":38377,"nodeType":"ArrayTypeName","src":"36100:11:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo[]"}}},"id":38380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36096:18:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory[] memory"}},"functionReturnParameters":38327,"id":38381,"nodeType":"Return","src":"36089:25:69"}]}},{"assignments":[38385],"declarations":[{"constant":false,"id":38385,"mutability":"mutable","name":"end","nameLocation":"36178:3:69","nodeType":"VariableDeclaration","scope":38452,"src":"36170:11:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38384,"name":"uint256","nodeType":"ElementaryTypeName","src":"36170:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38389,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38386,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38367,"src":"36184:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":38387,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38321,"src":"36192:4:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36184:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36170:26:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38390,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38385,"src":"36206:3:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":38391,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38361,"src":"36212:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36206:13:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38398,"nodeType":"IfStatement","src":"36202:106:69","trueBody":{"id":38397,"nodeType":"Block","src":"36221:87:69","statements":[{"expression":{"id":38395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38393,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38385,"src":"36229:3:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38394,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38361,"src":"36235:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36229:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38396,"nodeType":"ExpressionStatement","src":"36229:13:69"}]}},{"assignments":[38400],"declarations":[{"constant":false,"id":38400,"mutability":"mutable","name":"numTokens","nameLocation":"36370:9:69","nodeType":"VariableDeclaration","scope":38452,"src":"36362:17:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38399,"name":"uint256","nodeType":"ElementaryTypeName","src":"36362:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38404,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38401,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38385,"src":"36382:3:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":38402,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38367,"src":"36388:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36382:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36362:31:69"},{"assignments":[38409],"declarations":[{"constant":false,"id":38409,"mutability":"mutable","name":"tokens","nameLocation":"36419:6:69","nodeType":"VariableDeclaration","scope":38452,"src":"36400:25:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo[]"},"typeName":{"baseType":{"id":38407,"nodeType":"UserDefinedTypeName","pathNode":{"id":38406,"name":"TokenInfo","nameLocations":["36400:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":38236,"src":"36400:9:69"},"referencedDeclaration":38236,"src":"36400:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"}},"id":38408,"nodeType":"ArrayTypeName","src":"36400:11:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo[]"}},"visibility":"internal"}],"id":38416,"initialValue":{"arguments":[{"id":38414,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38400,"src":"36444:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"36428:15:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMemberV4.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":38411,"nodeType":"UserDefinedTypeName","pathNode":{"id":38410,"name":"TokenInfo","nameLocations":["36432:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":38236,"src":"36432:9:69"},"referencedDeclaration":38236,"src":"36432:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"}},"id":38412,"nodeType":"ArrayTypeName","src":"36432:11:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo[]"}}},"id":38415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36428:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"36400:54:69"},{"body":{"id":38448,"nodeType":"Block","src":"36501:159:69","statements":[{"assignments":[38428],"declarations":[{"constant":false,"id":38428,"mutability":"mutable","name":"tokenIndex","nameLocation":"36517:10:69","nodeType":"VariableDeclaration","scope":38448,"src":"36509:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38427,"name":"uint256","nodeType":"ElementaryTypeName","src":"36509:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38432,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38429,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38367,"src":"36530:5:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":38430,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38418,"src":"36538:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36530:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36509:30:69"},{"assignments":[38434],"declarations":[{"constant":false,"id":38434,"mutability":"mutable","name":"tokenId","nameLocation":"36555:7:69","nodeType":"VariableDeclaration","scope":38448,"src":"36547:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38433,"name":"uint256","nodeType":"ElementaryTypeName","src":"36547:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38439,"initialValue":{"arguments":[{"id":38436,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38317,"src":"36585:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38437,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38428,"src":"36592:10:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38435,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"36565:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":38438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36565:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36547:56:69"},{"expression":{"id":38446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38440,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38409,"src":"36611:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory[] memory"}},"id":38442,"indexExpression":{"id":38441,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38418,"src":"36618:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36611:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38444,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38434,"src":"36645:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38443,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38294,"src":"36623:21:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$38236_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMemberV4.TokenInfo memory)"}},"id":38445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36623:30:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory"}},"src":"36611:42:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory"}},"id":38447,"nodeType":"ExpressionStatement","src":"36611:42:69"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38421,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38418,"src":"36481:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":38422,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38400,"src":"36485:9:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36481:13:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38449,"initializationExpression":{"assignments":[38418],"declarations":[{"constant":false,"id":38418,"mutability":"mutable","name":"i","nameLocation":"36474:1:69","nodeType":"VariableDeclaration","scope":38449,"src":"36466:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38417,"name":"uint256","nodeType":"ElementaryTypeName","src":"36466:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38420,"initialValue":{"hexValue":"30","id":38419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36478:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36466:13:69"},"loopExpression":{"expression":{"id":38425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36496:3:69","subExpression":{"id":38424,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38418,"src":"36496:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38426,"nodeType":"ExpressionStatement","src":"36496:3:69"},"nodeType":"ForStatement","src":"36461:199:69"},{"expression":{"id":38450,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38409,"src":"36673:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo memory[] memory"}},"functionReturnParameters":38327,"id":38451,"nodeType":"Return","src":"36666:13:69"}]},"documentation":{"id":38315,"nodeType":"StructuredDocumentation","src":"34922:269:69","text":"@notice Gets the tokens owned by an address\n @param owner The address of the owner to check\n @param page The page number to fetch\n @param size The number of tokens to fetch (cannot exceed 100)\n @return TokenInfo[] The tokens owned by the address"},"functionSelector":"851f738e","id":38453,"implemented":true,"kind":"function","modifiers":[],"name":"getTokensInfoByOwner","nameLocation":"35203:20:69","nodeType":"FunctionDefinition","parameters":{"id":38322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38317,"mutability":"mutable","name":"owner","nameLocation":"35232:5:69","nodeType":"VariableDeclaration","scope":38453,"src":"35224:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38316,"name":"address","nodeType":"ElementaryTypeName","src":"35224:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38319,"mutability":"mutable","name":"page","nameLocation":"35247:4:69","nodeType":"VariableDeclaration","scope":38453,"src":"35239:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38318,"name":"uint256","nodeType":"ElementaryTypeName","src":"35239:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38321,"mutability":"mutable","name":"size","nameLocation":"35261:4:69","nodeType":"VariableDeclaration","scope":38453,"src":"35253:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38320,"name":"uint256","nodeType":"ElementaryTypeName","src":"35253:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35223:43:69"},"returnParameters":{"id":38327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38326,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38453,"src":"35288:18:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV4.TokenInfo[]"},"typeName":{"baseType":{"id":38324,"nodeType":"UserDefinedTypeName","pathNode":{"id":38323,"name":"TokenInfo","nameLocations":["35288:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":38236,"src":"35288:9:69"},"referencedDeclaration":38236,"src":"35288:9:69","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$38236_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo"}},"id":38325,"nodeType":"ArrayTypeName","src":"35288:11:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$38236_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV4.TokenInfo[]"}},"visibility":"internal"}],"src":"35287:20:69"},"scope":38642,"src":"35194:1490:69","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":38463,"nodeType":"Block","src":"36790:36:69","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":38459,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"36803:4:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":38460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36808:11:69","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"36803:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":38461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36803:18:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":38458,"id":38462,"nodeType":"Return","src":"36796:25:69"}]},"documentation":{"id":38454,"nodeType":"StructuredDocumentation","src":"36688:45:69","text":"@dev Clock used for flagging checkpoints."},"functionSelector":"91ddadf4","id":38464,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"36745:5:69","nodeType":"FunctionDefinition","parameters":{"id":38455,"nodeType":"ParameterList","parameters":[],"src":"36750:2:69"},"returnParameters":{"id":38458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38464,"src":"36782:6:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":38456,"name":"uint48","nodeType":"ElementaryTypeName","src":"36782:6:69","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"36781:8:69"},"scope":38642,"src":"36736:90:69","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":38472,"nodeType":"Block","src":"36949:49:69","statements":[{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":38470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36962:31:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":38469,"id":38471,"nodeType":"Return","src":"36955:38:69"}]},"documentation":{"id":38465,"nodeType":"StructuredDocumentation","src":"36830:50:69","text":" @dev Returns the mode of the clock."},"functionSelector":"4bf5d7e9","id":38473,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"36892:10:69","nodeType":"FunctionDefinition","parameters":{"id":38466,"nodeType":"ParameterList","parameters":[],"src":"36902:2:69"},"returnParameters":{"id":38469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38473,"src":"36934:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38467,"name":"string","nodeType":"ElementaryTypeName","src":"36934:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36933:15:69"},"scope":38642,"src":"36883:115:69","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2685,3438,3727],"body":{"id":38586,"nodeType":"Block","src":"37559:897:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":38493,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38478,"src":"37591:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38492,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38188,"src":"37573:17:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":38494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37573:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":38495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37603:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37573:31:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2061206e6f64652c20646574616368206265666f7265207472616e73666572","id":38497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37606:64:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""},"value":"GalaxyMember: token attached to a node, detach before transfer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""}],"id":38491,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37565:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37565:106:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38499,"nodeType":"ExpressionStatement","src":"37565:106:69"},{"assignments":[38501],"declarations":[{"constant":false,"id":38501,"mutability":"mutable","name":"_previousOwner","nameLocation":"37686:14:69","nodeType":"VariableDeclaration","scope":38586,"src":"37678:22:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38500,"name":"address","nodeType":"ElementaryTypeName","src":"37678:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":38508,"initialValue":{"arguments":[{"id":38504,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38476,"src":"37717:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38505,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38478,"src":"37721:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38506,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38480,"src":"37730:4:69","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":38502,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"37703:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV4_$38642_$","typeString":"type(contract super GalaxyMemberV4)"}},"id":38503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37709:7:69","memberName":"_update","nodeType":"MemberAccess","referencedDeclaration":3727,"src":"37703:13:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":38507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37703:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"37678:57:69"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38509,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38501,"src":"37804:14:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37830:1:69","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":38511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37822:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38510,"name":"address","nodeType":"ElementaryTypeName","src":"37822:7:69","typeDescriptions":{}}},"id":38513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37822:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"37804:28:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":38516,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38501,"src":"37846:14:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":38515,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"37836:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":38517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37836:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":38518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37865:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37836:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37804:62:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38533,"nodeType":"IfStatement","src":"37800:169:69","trueBody":{"id":38532,"nodeType":"Block","src":"37868:101:69","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":38527,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38464,"src":"37951:5:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":38528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37951:7:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"hexValue":"30","id":38529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37960:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":38521,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"37876:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37876:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37902:27:69","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":36355,"src":"37876:53:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":38525,"indexExpression":{"id":38524,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38501,"src":"37930:14:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37876:69:69","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":38526,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37946:4:69","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"37876:74:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":38530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37876:86:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":38531,"nodeType":"ExpressionStatement","src":"37876:86:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38534,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38501,"src":"38071:14:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38097:1:69","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":38536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38089:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38535,"name":"address","nodeType":"ElementaryTypeName","src":"38089:7:69","typeDescriptions":{}}},"id":38538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38089:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"38071:28:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":38541,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38501,"src":"38122:14:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":38540,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37876,"src":"38103:18:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":38542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38103:34:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38543,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38478,"src":"38141:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38103:45:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38071:77:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":38547,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38501,"src":"38162:14:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":38546,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"38152:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":38548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38152:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":38549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38180:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38152:29:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38071:110:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38561,"nodeType":"IfStatement","src":"38060:206:69","trueBody":{"id":38560,"nodeType":"Block","src":"38188:78:69","statements":[{"expression":{"arguments":[{"id":38553,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38501,"src":"38204:14:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":38555,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38501,"src":"38240:14:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":38556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38256:1:69","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"}],"id":38554,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"38220:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":38557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38220:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38552,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37058,"src":"38196:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":38558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38196:63:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38559,"nodeType":"ExpressionStatement","src":"38196:63:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38562,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38476,"src":"38330:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38344:1:69","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":38564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38336:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38563,"name":"address","nodeType":"ElementaryTypeName","src":"38336:7:69","typeDescriptions":{}}},"id":38566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38336:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"38330:16:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":38569,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38476,"src":"38360:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":38568,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"38350:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":38570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38350:13:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":38571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38367:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38350:18:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38330:38:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38583,"nodeType":"IfStatement","src":"38326:98:69","trueBody":{"id":38582,"nodeType":"Block","src":"38370:54:69","statements":[{"expression":{"arguments":[{"id":38575,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38476,"src":"38386:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":38577,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38476,"src":"38410:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":38578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38414:1:69","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"}],"id":38576,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"38390:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":38579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38390:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38574,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37058,"src":"38378:7:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":38580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38378:39:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38581,"nodeType":"ExpressionStatement","src":"38378:39:69"}]}},{"expression":{"id":38584,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38501,"src":"38437:14:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":38490,"id":38585,"nodeType":"Return","src":"38430:21:69"}]},"documentation":{"id":38474,"nodeType":"StructuredDocumentation","src":"37043:294:69","text":"@notice Performs automatic level updating upon token updates\n @dev Overrides the _update function to update the highest level owned by the owner\n @param to The address to transfer the token to\n @param tokenId The token ID to update\n @param auth The address of the sender"},"id":38587,"implemented":true,"kind":"function","modifiers":[{"id":38487,"kind":"modifierInvocation","modifierName":{"id":38486,"name":"whenNotPaused","nameLocations":["37521:13:69"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"37521:13:69"},"nodeType":"ModifierInvocation","src":"37521:13:69"}],"name":"_update","nameLocation":"37349:7:69","nodeType":"FunctionDefinition","overrides":{"id":38485,"nodeType":"OverrideSpecifier","overrides":[{"id":38482,"name":"ERC721Upgradeable","nameLocations":["37442:17:69"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"37442:17:69"},{"id":38483,"name":"ERC721EnumerableUpgradeable","nameLocations":["37461:27:69"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"37461:27:69"},{"id":38484,"name":"ERC721PausableUpgradeable","nameLocations":["37490:25:69"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"37490:25:69"}],"src":"37433:83:69"},"parameters":{"id":38481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38476,"mutability":"mutable","name":"to","nameLocation":"37370:2:69","nodeType":"VariableDeclaration","scope":38587,"src":"37362:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38475,"name":"address","nodeType":"ElementaryTypeName","src":"37362:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38478,"mutability":"mutable","name":"tokenId","nameLocation":"37386:7:69","nodeType":"VariableDeclaration","scope":38587,"src":"37378:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38477,"name":"uint256","nodeType":"ElementaryTypeName","src":"37378:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38480,"mutability":"mutable","name":"auth","nameLocation":"37407:4:69","nodeType":"VariableDeclaration","scope":38587,"src":"37399:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38479,"name":"address","nodeType":"ElementaryTypeName","src":"37399:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37356:59:69"},"returnParameters":{"id":38490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38587,"src":"37548:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38488,"name":"address","nodeType":"ElementaryTypeName","src":"37548:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37547:9:69"},"scope":38642,"src":"37340:1116:69","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[2583,3673],"body":{"id":38605,"nodeType":"Block","src":"38692:49:69","statements":[{"expression":{"arguments":[{"id":38601,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38590,"src":"38721:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38602,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38592,"src":"38730:5:69","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":38598,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"38698:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV4_$38642_$","typeString":"type(contract super GalaxyMemberV4)"}},"id":38600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38704:16:69","memberName":"_increaseBalance","nodeType":"MemberAccess","referencedDeclaration":3673,"src":"38698:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint128_$returns$__$","typeString":"function (address,uint128)"}},"id":38603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38698:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38604,"nodeType":"ExpressionStatement","src":"38698:38:69"}]},"documentation":{"id":38588,"nodeType":"StructuredDocumentation","src":"38460:93:69","text":"@dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable"},"id":38606,"implemented":true,"kind":"function","modifiers":[],"name":"_increaseBalance","nameLocation":"38565:16:69","nodeType":"FunctionDefinition","overrides":{"id":38596,"nodeType":"OverrideSpecifier","overrides":[{"id":38594,"name":"ERC721Upgradeable","nameLocations":["38644:17:69"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"38644:17:69"},{"id":38595,"name":"ERC721EnumerableUpgradeable","nameLocations":["38663:27:69"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"38663:27:69"}],"src":"38635:56:69"},"parameters":{"id":38593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38590,"mutability":"mutable","name":"account","nameLocation":"38595:7:69","nodeType":"VariableDeclaration","scope":38606,"src":"38587:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38589,"name":"address","nodeType":"ElementaryTypeName","src":"38587:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38592,"mutability":"mutable","name":"value","nameLocation":"38616:5:69","nodeType":"VariableDeclaration","scope":38606,"src":"38608:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":38591,"name":"uint128","nodeType":"ElementaryTypeName","src":"38608:7:69","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"38581:44:69"},"returnParameters":{"id":38597,"nodeType":"ParameterList","parameters":[],"src":"38692:0:69"},"scope":38642,"src":"38556:185:69","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[91,2158,3282],"body":{"id":38623,"nodeType":"Block","src":"39034:54:69","statements":[{"expression":{"arguments":[{"id":38620,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38609,"src":"39071:11:69","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":38618,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"39047:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV4_$38642_$","typeString":"type(contract super GalaxyMemberV4)"}},"id":38619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39053:17:69","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":91,"src":"39047:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":38621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39047:36:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":38617,"id":38622,"nodeType":"Return","src":"39040:43:69"}]},"documentation":{"id":38607,"nodeType":"StructuredDocumentation","src":"38745:121:69","text":"@dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable"},"functionSelector":"01ffc9a7","id":38624,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"38878:17:69","nodeType":"FunctionDefinition","overrides":{"id":38614,"nodeType":"OverrideSpecifier","overrides":[{"id":38611,"name":"ERC721Upgradeable","nameLocations":["38945:17:69"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"38945:17:69"},{"id":38612,"name":"ERC721EnumerableUpgradeable","nameLocations":["38964:27:69"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"38964:27:69"},{"id":38613,"name":"AccessControlUpgradeable","nameLocations":["38993:24:69"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"38993:24:69"}],"src":"38936:82:69"},"parameters":{"id":38610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38609,"mutability":"mutable","name":"interfaceId","nameLocation":"38908:11:69","nodeType":"VariableDeclaration","scope":38624,"src":"38901:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":38608,"name":"bytes4","nodeType":"ElementaryTypeName","src":"38901:6:69","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"38895:28:69"},"returnParameters":{"id":38617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38616,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38624,"src":"39028:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38615,"name":"bool","nodeType":"ElementaryTypeName","src":"39028:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39027:6:69"},"scope":38642,"src":"38869:219:69","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[2283],"body":{"id":38640,"nodeType":"Block","src":"39225:96:69","statements":[{"assignments":[38633],"declarations":[{"constant":false,"id":38633,"mutability":"mutable","name":"$","nameLocation":"39259:1:69","nodeType":"VariableDeclaration","scope":38640,"src":"39231:29:69","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"},"typeName":{"id":38632,"nodeType":"UserDefinedTypeName","pathNode":{"id":38631,"name":"GalaxyMemberStorage","nameLocations":["39231:19:69"],"nodeType":"IdentifierPath","referencedDeclaration":36356,"src":"39231:19:69"},"referencedDeclaration":36356,"src":"39231:19:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage"}},"visibility":"internal"}],"id":38636,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":38634,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36369,"src":"39263:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$36356_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV4.GalaxyMemberStorage storage pointer)"}},"id":38635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39263:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"39231:57:69"},{"expression":{"expression":{"id":38637,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38633,"src":"39301:1:69","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$36356_storage_ptr","typeString":"struct GalaxyMemberV4.GalaxyMemberStorage storage pointer"}},"id":38638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39303:13:69","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":36299,"src":"39301:15:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38630,"id":38639,"nodeType":"Return","src":"39294:22:69"}]},"documentation":{"id":38625,"nodeType":"StructuredDocumentation","src":"39092:63:69","text":"@dev Overrides the _baseURI for ERC721URIStorageUpgradeable"},"id":38641,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"39167:8:69","nodeType":"FunctionDefinition","overrides":{"id":38627,"nodeType":"OverrideSpecifier","overrides":[],"src":"39192:8:69"},"parameters":{"id":38626,"nodeType":"ParameterList","parameters":[],"src":"39175:2:69"},"returnParameters":{"id":38630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38641,"src":"39210:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38628,"name":"string","nodeType":"ElementaryTypeName","src":"39210:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39209:15:69"},"scope":38642,"src":"39158:163:69","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":38643,"src":"4195:35128:69","usedErrors":[1495,1498,1759,1764,3243,3246,4026,4029,4194,4342,4345,4614,4619,4628,4633,4638,4645,4650,4655,4738,4751,5344,5347,7025,8883],"usedEvents":[1503,4018,4023,4354,4363,4372,4717,5152,5161,5170,36376,36385,36392,36399,36406,36413,36419,36424,36431,36438,36447,36456]}],"src":"1195:38129:69"},"id":69},"contracts/deprecated/V5/GalaxyMemberV5.sol":{"ast":{"absolutePath":"contracts/deprecated/V5/GalaxyMemberV5.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Checkpoints":[10447],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"ERC721BurnableUpgradeable":[3189],"ERC721EnumerableUpgradeable":[3674],"ERC721PausableUpgradeable":[3728],"ERC721URIStorageUpgradeable":[3898],"ERC721Upgradeable":[3144],"GalaxyMemberV5":[41032],"IAccessControl":[4415],"IB3TR":[62888],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC4906":[4526],"IERC721":[5253],"IERC721Enumerable":[5303],"IERC721Errors":[4656],"IERC721Metadata":[5331],"IERC721Receiver":[5271],"INodeManagementV3":[71617],"ITokenAuction":[73165],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"Math":[7015],"PausableUpgradeable":[4163],"ReentrancyGuardUpgradeable":[4292],"SafeCast":[8770],"SignedMath":[8875],"Strings":[5949],"Time":[11669],"UUPSUpgradeable":[1914]},"id":41033,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":38644,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:70"},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol","id":38645,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":3145,"src":"1220:80:70","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol","id":38646,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":3675,"src":"1301:101:70","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol","id":38647,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":3899,"src":"1403:101:70","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol","id":38648,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":3729,"src":"1505:99:70","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol","id":38649,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":3190,"src":"1605:99:70","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":38650,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":363,"src":"1705:81:70","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","id":38651,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":5950,"src":"1787:51:70","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","id":38652,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":4293,"src":"1839:82:70","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":38654,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":10448,"src":"1922:84:70","symbolAliases":[{"foreign":{"id":38653,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1931:11:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":38656,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":8771,"src":"2007:75:70","symbolAliases":[{"foreign":{"id":38655,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"2016:8:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":38658,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":71125,"src":"2083:93:70","symbolAliases":[{"foreign":{"id":38657,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"2092:26:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":38660,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":63920,"src":"2177:67:70","symbolAliases":[{"foreign":{"id":38659,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2186:13:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":38662,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":62889,"src":"2245:51:70","symbolAliases":[{"foreign":{"id":38661,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"2254:5:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/ITokenAuction.sol","file":"../../mocks/Stargate/interfaces/ITokenAuction.sol","id":38664,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":73166,"src":"2297:82:70","symbolAliases":[{"foreign":{"id":38663,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"2306:13:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol","file":"../../mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol","id":38666,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":71618,"src":"2380:106:70","symbolAliases":[{"foreign":{"id":38665,"name":"INodeManagementV3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71617,"src":"2389:17:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":38667,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":1915,"src":"2487:77:70","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":38669,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41033,"sourceUnit":11670,"src":"2565:68:70","symbolAliases":[{"foreign":{"id":38668,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"2574:4:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":38671,"name":"ERC721Upgradeable","nameLocations":["4689:17:70"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"4689:17:70"},"id":38672,"nodeType":"InheritanceSpecifier","src":"4689:17:70"},{"baseName":{"id":38673,"name":"ERC721EnumerableUpgradeable","nameLocations":["4710:27:70"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"4710:27:70"},"id":38674,"nodeType":"InheritanceSpecifier","src":"4710:27:70"},{"baseName":{"id":38675,"name":"ERC721PausableUpgradeable","nameLocations":["4741:25:70"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"4741:25:70"},"id":38676,"nodeType":"InheritanceSpecifier","src":"4741:25:70"},{"baseName":{"id":38677,"name":"ERC721BurnableUpgradeable","nameLocations":["4770:25:70"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"4770:25:70"},"id":38678,"nodeType":"InheritanceSpecifier","src":"4770:25:70"},{"baseName":{"id":38679,"name":"AccessControlUpgradeable","nameLocations":["4799:24:70"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"4799:24:70"},"id":38680,"nodeType":"InheritanceSpecifier","src":"4799:24:70"},{"baseName":{"id":38681,"name":"ReentrancyGuardUpgradeable","nameLocations":["4827:26:70"],"nodeType":"IdentifierPath","referencedDeclaration":4292,"src":"4827:26:70"},"id":38682,"nodeType":"InheritanceSpecifier","src":"4827:26:70"},{"baseName":{"id":38683,"name":"UUPSUpgradeable","nameLocations":["4857:15:70"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"4857:15:70"},"id":38684,"nodeType":"InheritanceSpecifier","src":"4857:15:70"}],"canonicalName":"GalaxyMemberV5","contractDependencies":[],"contractKind":"contract","documentation":{"id":38670,"nodeType":"StructuredDocumentation","src":"2635:2024:70","text":" @title GalaxyMemberV5\n @notice This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\n @dev Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities.\n --------------------------------- VERSION 2 ---------------------------------\n - Added Vechain Nodes contract to attach and detach nodes to tokens\n - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels\n - Added free upgrade levels for each Vechain node level\n - Removed automatic highest level owned selection\n - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading\n - Core logic functions are now overridable through inheritance\n - B3TRGovernor has been updated to V2 thus pointing to the new interface\n - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\n --------------------------------- VERSION 3 ---------------------------------\n - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated())\n - Added `selectFor` function to allow the admin to select a token for the user\n - Added checkpoints for the selected token ID of the user\n - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking\n --------------------------------- VERSION 4 ---------------------------------\n - Added events to track the level of the token when attaching and detaching nodes\n --------------------------------- VERSION 5 ---------------------------------\n - Upon StarGate launch, we updated the NodeManagement contract to V3\n - Deprecated usage of vechainNodes contract address in favor of nodeManagement contract address, ie\n   removed `setVechainNodes`\n   updated `getNodeLevelOf` to use nodeManagement contract\n   updated ownership conditions on `detachNode` to use nodeManagement contract"},"fullyImplemented":true,"id":41032,"linearizedBaseContracts":[41032,1914,4566,4292,362,3189,3728,4163,3674,5303,3144,4656,5331,5253,4332,5961,4415,3987,1732],"name":"GalaxyMemberV5","nameLocation":"4669:14:70","nodeType":"ContractDefinition","nodes":[{"global":false,"id":38688,"libraryName":{"id":38685,"name":"Checkpoints","nameLocations":["4883:11:70"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"4883:11:70"},"nodeType":"UsingForDirective","src":"4877:43:70","typeName":{"id":38687,"nodeType":"UserDefinedTypeName","pathNode":{"id":38686,"name":"Checkpoints.Trace208","nameLocations":["4899:11:70","4911:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"4899:20:70"},"referencedDeclaration":9409,"src":"4899:20:70","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"constant":true,"functionSelector":"f72c0d8b","id":38693,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"5033:13:70","nodeType":"VariableDeclaration","scope":41032,"src":"5009:66:70","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5009:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":38691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5059:15:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":38690,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5049:9:70","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5049:26:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"e63ab1e9","id":38698,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"5103:11:70","nodeType":"VariableDeclaration","scope":41032,"src":"5079:62:70","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5079:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":38696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5127:13:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":38695,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5117:9:70","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5117:24:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"d5391393","id":38703,"mutability":"constant","name":"MINTER_ROLE","nameLocation":"5169:11:70","nodeType":"VariableDeclaration","scope":41032,"src":"5145:62:70","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5145:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4d494e5445525f524f4c45","id":38701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5193:13:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""},"value":"MINTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","typeString":"literal_string \"MINTER_ROLE\""}],"id":38700,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5183:9:70","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5183:24:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"952f2133","id":38708,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"5235:30:70","nodeType":"VariableDeclaration","scope":41032,"src":"5211:100:70","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5211:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":38706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5278:32:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":38705,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5268:9:70","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5268:43:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"functionSelector":"3d6dbee8","id":38713,"mutability":"constant","name":"NODES_MANAGER_ROLE","nameLocation":"5339:18:70","nodeType":"VariableDeclaration","scope":41032,"src":"5315:76:70","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5315:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4e4f4445535f4d414e414745525f524f4c45","id":38711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5370:20:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""},"value":"NODES_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5","typeString":"literal_string \"NODES_MANAGER_ROLE\""}],"id":38710,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5360:9:70","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5360:31:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"GalaxyMemberV5.GalaxyMemberStorage","documentation":{"id":38714,"nodeType":"StructuredDocumentation","src":"5396:204:70","text":"@notice Storage structure for GalaxyMember\n @dev GalaxyMemberStorage structure holds all the state variables in a single location.\n @custom:storage-location erc7201:b3tr.storage.GalaxyMember"},"id":38784,"members":[{"constant":false,"id":38717,"mutability":"mutable","name":"xAllocationsGovernor","nameLocation":"5663:20:70","nodeType":"VariableDeclaration","scope":38784,"src":"5636:47:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":38716,"nodeType":"UserDefinedTypeName","pathNode":{"id":38715,"name":"IXAllocationVotingGovernor","nameLocations":["5636:26:70"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"5636:26:70"},"referencedDeclaration":71124,"src":"5636:26:70","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":38720,"mutability":"mutable","name":"b3trGovernor","nameLocation":"5741:12:70","nodeType":"VariableDeclaration","scope":38784,"src":"5727:26:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":38719,"nodeType":"UserDefinedTypeName","pathNode":{"id":38718,"name":"IB3TRGovernor","nameLocations":["5727:13:70"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"5727:13:70"},"referencedDeclaration":63919,"src":"5727:13:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"},{"constant":false,"id":38723,"mutability":"mutable","name":"b3tr","nameLocation":"5790:4:70","nodeType":"VariableDeclaration","scope":38784,"src":"5784:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":38722,"nodeType":"UserDefinedTypeName","pathNode":{"id":38721,"name":"IB3TR","nameLocations":["5784:5:70"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"5784:5:70"},"referencedDeclaration":62888,"src":"5784:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":38725,"mutability":"mutable","name":"treasury","nameLocation":"5831:8:70","nodeType":"VariableDeclaration","scope":38784,"src":"5823:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38724,"name":"address","nodeType":"ElementaryTypeName","src":"5823:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38727,"mutability":"mutable","name":"_baseTokenURI","nameLocation":"5881:13:70","nodeType":"VariableDeclaration","scope":38784,"src":"5874:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":38726,"name":"string","nodeType":"ElementaryTypeName","src":"5874:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38729,"mutability":"mutable","name":"_nextTokenId","nameLocation":"5934:12:70","nodeType":"VariableDeclaration","scope":38784,"src":"5926:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38728,"name":"uint256","nodeType":"ElementaryTypeName","src":"5926:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38731,"mutability":"mutable","name":"MAX_LEVEL","nameLocation":"5990:9:70","nodeType":"VariableDeclaration","scope":38784,"src":"5982:17:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38730,"name":"uint256","nodeType":"ElementaryTypeName","src":"5982:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38735,"mutability":"mutable","name":"levelOf","nameLocation":"6097:7:70","nodeType":"VariableDeclaration","scope":38784,"src":"6069:35:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":38734,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38732,"name":"uint256","nodeType":"ElementaryTypeName","src":"6077:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6069:27:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38733,"name":"uint256","nodeType":"ElementaryTypeName","src":"6088:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":38739,"mutability":"mutable","name":"_b3trToUpgradeToLevel","nameLocation":"6185:21:70","nodeType":"VariableDeclaration","scope":38784,"src":"6157:49:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":38738,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38736,"name":"uint256","nodeType":"ElementaryTypeName","src":"6165:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6157:27:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38737,"name":"uint256","nodeType":"ElementaryTypeName","src":"6176:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":38744,"mutability":"mutable","name":"_selectedLevelCheckpoints","nameLocation":"6323:25:70","nodeType":"VariableDeclaration","scope":38784,"src":"6276:72:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":38743,"keyName":"owner","keyNameLocation":"6292:5:70","keyType":{"id":38740,"name":"address","nodeType":"ElementaryTypeName","src":"6284:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6276:46:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38742,"nodeType":"UserDefinedTypeName","pathNode":{"id":38741,"name":"Checkpoints.Trace208","nameLocations":["6301:11:70","6313:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"6301:20:70"},"referencedDeclaration":9409,"src":"6301:20:70","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":38750,"mutability":"mutable","name":"_ownedLevels","nameLocation":"6448:12:70","nodeType":"VariableDeclaration","scope":38784,"src":"6400:60:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":38749,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38745,"name":"address","nodeType":"ElementaryTypeName","src":"6408:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6400:47:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38748,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38746,"name":"uint256","nodeType":"ElementaryTypeName","src":"6427:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6419:27:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38747,"name":"uint256","nodeType":"ElementaryTypeName","src":"6438:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":38752,"mutability":"mutable","name":"isPublicMintingPaused","nameLocation":"6525:21:70","nodeType":"VariableDeclaration","scope":38784,"src":"6520:26:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38751,"name":"bool","nodeType":"ElementaryTypeName","src":"6520:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38755,"mutability":"mutable","name":"vechainNodes","nameLocation":"6677:12:70","nodeType":"VariableDeclaration","scope":38784,"src":"6663:26:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"},"typeName":{"id":38754,"nodeType":"UserDefinedTypeName","pathNode":{"id":38753,"name":"ITokenAuction","nameLocations":["6663:13:70"],"nodeType":"IdentifierPath","referencedDeclaration":73165,"src":"6663:13:70"},"referencedDeclaration":73165,"src":"6663:13:70","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"visibility":"internal"},{"constant":false,"id":38758,"mutability":"mutable","name":"nodeManagement","nameLocation":"6739:14:70","nodeType":"VariableDeclaration","scope":38784,"src":"6721:32:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"},"typeName":{"id":38757,"nodeType":"UserDefinedTypeName","pathNode":{"id":38756,"name":"INodeManagementV3","nameLocations":["6721:17:70"],"nodeType":"IdentifierPath","referencedDeclaration":71617,"src":"6721:17:70"},"referencedDeclaration":71617,"src":"6721:17:70","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"visibility":"internal"},{"constant":false,"id":38762,"mutability":"mutable","name":"_nodeToTokenId","nameLocation":"6815:14:70","nodeType":"VariableDeclaration","scope":38784,"src":"6787:42:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":38761,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38759,"name":"uint256","nodeType":"ElementaryTypeName","src":"6795:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6787:27:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38760,"name":"uint256","nodeType":"ElementaryTypeName","src":"6806:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":38766,"mutability":"mutable","name":"_tokenIdToNode","nameLocation":"6969:14:70","nodeType":"VariableDeclaration","scope":38784,"src":"6941:42:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":38765,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38763,"name":"uint256","nodeType":"ElementaryTypeName","src":"6949:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6941:27:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38764,"name":"uint256","nodeType":"ElementaryTypeName","src":"6960:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":38770,"mutability":"mutable","name":"_nodeToFreeUpgradeLevel","nameLocation":"7130:23:70","nodeType":"VariableDeclaration","scope":38784,"src":"7104:49:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"typeName":{"id":38769,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38767,"name":"uint8","nodeType":"ElementaryTypeName","src":"7112:5:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"7104:25:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38768,"name":"uint256","nodeType":"ElementaryTypeName","src":"7121:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":38774,"mutability":"mutable","name":"_tokenIdToB3TRdonated","nameLocation":"7333:21:70","nodeType":"VariableDeclaration","scope":38784,"src":"7305:49:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":38773,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38771,"name":"uint256","nodeType":"ElementaryTypeName","src":"7313:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7305:27:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38772,"name":"uint256","nodeType":"ElementaryTypeName","src":"7324:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":38778,"mutability":"mutable","name":"_selectedTokenID_DEPRECATED","nameLocation":"7446:27:70","nodeType":"VariableDeclaration","scope":38784,"src":"7418:55:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38777,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38775,"name":"address","nodeType":"ElementaryTypeName","src":"7426:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7418:27:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38776,"name":"uint256","nodeType":"ElementaryTypeName","src":"7437:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":38783,"mutability":"mutable","name":"_selectedTokenIDCheckpoints","nameLocation":"7690:27:70","nodeType":"VariableDeclaration","scope":38784,"src":"7649:68:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":38782,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38779,"name":"address","nodeType":"ElementaryTypeName","src":"7657:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7649:40:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38781,"nodeType":"UserDefinedTypeName","pathNode":{"id":38780,"name":"Checkpoints.Trace208","nameLocations":["7668:11:70","7680:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"7668:20:70"},"referencedDeclaration":9409,"src":"7668:20:70","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"}],"name":"GalaxyMemberStorage","nameLocation":"5610:19:70","nodeType":"StructDefinition","scope":41032,"src":"5603:2171:70","visibility":"public"},{"constant":true,"documentation":{"id":38785,"nodeType":"StructuredDocumentation","src":"7778:160:70","text":"@notice Storage slot for GalaxyMemberStorage\n @dev keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.GalaxyMember\")) - 1)) & ~bytes32(uint256(0xff))"},"id":38788,"mutability":"constant","name":"GalaxyMemberStorageLocation","nameLocation":"7966:27:70","nodeType":"VariableDeclaration","scope":41032,"src":"7941:125:70","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7941:7:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613739653436383434656430343431316534353739633762633439643035336535396230383534666134653961386466336435613035393763653435323030","id":38787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8000:66:70","typeDescriptions":{"typeIdentifier":"t_rational_55397532431256944332624412610074443018145280775219256269508870897919582294528_by_1","typeString":"int_const 5539...(69 digits omitted)...4528"},"value":"0x7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce45200"},"visibility":"private"},{"body":{"id":38796,"nodeType":"Block","src":"8235:70:70","statements":[{"AST":{"nodeType":"YulBlock","src":"8250:51:70","statements":[{"nodeType":"YulAssignment","src":"8258:37:70","value":{"name":"GalaxyMemberStorageLocation","nodeType":"YulIdentifier","src":"8268:27:70"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"8258:6:70"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38793,"isOffset":false,"isSlot":true,"src":"8258:6:70","suffix":"slot","valueSize":1},{"declaration":38788,"isOffset":false,"isSlot":false,"src":"8268:27:70","valueSize":1}],"id":38795,"nodeType":"InlineAssembly","src":"8241:60:70"}]},"documentation":{"id":38789,"nodeType":"StructuredDocumentation","src":"8071:73:70","text":"@dev Retrieves the current state from the GalaxyMemberStorage mapping"},"id":38797,"implemented":true,"kind":"function","modifiers":[],"name":"_getGalaxyMemberStorage","nameLocation":"8156:23:70","nodeType":"FunctionDefinition","parameters":{"id":38790,"nodeType":"ParameterList","parameters":[],"src":"8179:2:70"},"returnParameters":{"id":38794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38793,"mutability":"mutable","name":"$","nameLocation":"8232:1:70","nodeType":"VariableDeclaration","scope":38797,"src":"8204:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":38792,"nodeType":"UserDefinedTypeName","pathNode":{"id":38791,"name":"GalaxyMemberStorage","nameLocations":["8204:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"8204:19:70"},"referencedDeclaration":38784,"src":"8204:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"src":"8203:31:70"},"scope":41032,"src":"8147:158:70","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"documentation":{"id":38798,"nodeType":"StructuredDocumentation","src":"8309:79:70","text":"@dev Emitted when an account changes the selected token for voting rewards."},"eventSelector":"d3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc","id":38804,"name":"Selected","nameLocation":"8397:8:70","nodeType":"EventDefinition","parameters":{"id":38803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38800,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"8422:5:70","nodeType":"VariableDeclaration","scope":38804,"src":"8406:21:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38799,"name":"address","nodeType":"ElementaryTypeName","src":"8406:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38802,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"8437:7:70","nodeType":"VariableDeclaration","scope":38804,"src":"8429:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38801,"name":"uint256","nodeType":"ElementaryTypeName","src":"8429:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8405:40:70"},"src":"8391:55:70"},{"anonymous":false,"documentation":{"id":38805,"nodeType":"StructuredDocumentation","src":"8450:42:70","text":"@dev Emitted when a token is upgraded."},"eventSelector":"936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854","id":38813,"name":"Upgraded","nameLocation":"8501:8:70","nodeType":"EventDefinition","parameters":{"id":38812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38807,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"8526:7:70","nodeType":"VariableDeclaration","scope":38813,"src":"8510:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38806,"name":"uint256","nodeType":"ElementaryTypeName","src":"8510:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38809,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"8543:8:70","nodeType":"VariableDeclaration","scope":38813,"src":"8535:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38808,"name":"uint256","nodeType":"ElementaryTypeName","src":"8535:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38811,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"8561:8:70","nodeType":"VariableDeclaration","scope":38813,"src":"8553:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38810,"name":"uint256","nodeType":"ElementaryTypeName","src":"8553:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8509:61:70"},"src":"8495:76:70"},{"anonymous":false,"documentation":{"id":38814,"nodeType":"StructuredDocumentation","src":"8575:47:70","text":"@dev Emitted when the max level is updated."},"eventSelector":"53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450","id":38820,"name":"MaxLevelUpdated","nameLocation":"8631:15:70","nodeType":"EventDefinition","parameters":{"id":38819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38816,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"8655:8:70","nodeType":"VariableDeclaration","scope":38820,"src":"8647:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38815,"name":"uint256","nodeType":"ElementaryTypeName","src":"8647:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38818,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"8673:8:70","nodeType":"VariableDeclaration","scope":38820,"src":"8665:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38817,"name":"uint256","nodeType":"ElementaryTypeName","src":"8665:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8646:36:70"},"src":"8625:58:70"},{"anonymous":false,"documentation":{"id":38821,"nodeType":"StructuredDocumentation","src":"8687:75:70","text":"@dev Emitted when XAllocationVotingGovernor contract address is updated"},"eventSelector":"d9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af129","id":38827,"name":"XAllocationsGovernorAddressUpdated","nameLocation":"8771:34:70","nodeType":"EventDefinition","parameters":{"id":38826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38823,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"8822:10:70","nodeType":"VariableDeclaration","scope":38827,"src":"8806:26:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38822,"name":"address","nodeType":"ElementaryTypeName","src":"8806:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38825,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"8850:10:70","nodeType":"VariableDeclaration","scope":38827,"src":"8834:26:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38824,"name":"address","nodeType":"ElementaryTypeName","src":"8834:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8805:56:70"},"src":"8765:97:70"},{"anonymous":false,"documentation":{"id":38828,"nodeType":"StructuredDocumentation","src":"8866:62:70","text":"@dev Emitted when B3TRGovernor contract address is updated"},"eventSelector":"95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a8270","id":38834,"name":"B3trGovernorAddressUpdated","nameLocation":"8937:26:70","nodeType":"EventDefinition","parameters":{"id":38833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38830,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"8980:10:70","nodeType":"VariableDeclaration","scope":38834,"src":"8964:26:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38829,"name":"address","nodeType":"ElementaryTypeName","src":"8964:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38832,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"9008:10:70","nodeType":"VariableDeclaration","scope":38834,"src":"8992:26:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38831,"name":"address","nodeType":"ElementaryTypeName","src":"8992:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8963:56:70"},"src":"8931:89:70"},{"anonymous":false,"documentation":{"id":38835,"nodeType":"StructuredDocumentation","src":"9024:41:70","text":"@dev Emitted when base URI is updated"},"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":38841,"name":"BaseURIUpdated","nameLocation":"9074:14:70","nodeType":"EventDefinition","parameters":{"id":38840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38837,"indexed":true,"mutability":"mutable","name":"newBaseURI","nameLocation":"9104:10:70","nodeType":"VariableDeclaration","scope":38841,"src":"9089:25:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38836,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38839,"indexed":true,"mutability":"mutable","name":"oldBaseURI","nameLocation":"9131:10:70","nodeType":"VariableDeclaration","scope":38841,"src":"9116:25:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38838,"name":"string","nodeType":"ElementaryTypeName","src":"9116:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9088:54:70"},"src":"9068:75:70"},{"anonymous":false,"documentation":{"id":38842,"nodeType":"StructuredDocumentation","src":"9147:71:70","text":"@dev Emitted when B3TR required to upgrade to each level is updated"},"eventSelector":"0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf870","id":38847,"name":"B3TRtoUpgradeToLevelUpdated","nameLocation":"9227:27:70","nodeType":"EventDefinition","parameters":{"id":38846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38845,"indexed":false,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"9265:20:70","nodeType":"VariableDeclaration","scope":38847,"src":"9255:30:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":38843,"name":"uint256","nodeType":"ElementaryTypeName","src":"9255:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38844,"nodeType":"ArrayTypeName","src":"9255:9:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"9254:32:70"},"src":"9221:66:70"},{"anonymous":false,"documentation":{"id":38848,"nodeType":"StructuredDocumentation","src":"9291:46:70","text":"@dev Emitted when public minting is paused"},"eventSelector":"5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe","id":38852,"name":"PublicMintingPaused","nameLocation":"9346:19:70","nodeType":"EventDefinition","parameters":{"id":38851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38850,"indexed":false,"mutability":"mutable","name":"isPaused","nameLocation":"9371:8:70","nodeType":"VariableDeclaration","scope":38852,"src":"9366:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38849,"name":"bool","nodeType":"ElementaryTypeName","src":"9366:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9365:15:70"},"src":"9340:41:70"},{"anonymous":false,"documentation":{"id":38853,"nodeType":"StructuredDocumentation","src":"9385:51:70","text":"@dev Emitted when a node is attached to a token"},"eventSelector":"b7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f","id":38859,"name":"NodeAttached","nameLocation":"9445:12:70","nodeType":"EventDefinition","parameters":{"id":38858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38855,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"9474:11:70","nodeType":"VariableDeclaration","scope":38859,"src":"9458:27:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38854,"name":"uint256","nodeType":"ElementaryTypeName","src":"9458:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38857,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9503:7:70","nodeType":"VariableDeclaration","scope":38859,"src":"9487:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38856,"name":"uint256","nodeType":"ElementaryTypeName","src":"9487:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9457:54:70"},"src":"9439:73:70"},{"anonymous":false,"documentation":{"id":38860,"nodeType":"StructuredDocumentation","src":"9516:53:70","text":"@dev Emitted when a node is detached from a token"},"eventSelector":"d391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d708","id":38866,"name":"NodeDetached","nameLocation":"9578:12:70","nodeType":"EventDefinition","parameters":{"id":38865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38862,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"9607:11:70","nodeType":"VariableDeclaration","scope":38866,"src":"9591:27:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38861,"name":"uint256","nodeType":"ElementaryTypeName","src":"9591:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38864,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9636:7:70","nodeType":"VariableDeclaration","scope":38866,"src":"9620:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38863,"name":"uint256","nodeType":"ElementaryTypeName","src":"9620:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9590:54:70"},"src":"9572:73:70"},{"anonymous":false,"documentation":{"id":38867,"nodeType":"StructuredDocumentation","src":"9649:49:70","text":"@dev Emitted when node is attached to a token"},"eventSelector":"dd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace7","id":38875,"name":"LevelWhenAttached","nameLocation":"9707:17:70","nodeType":"EventDefinition","parameters":{"id":38874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38869,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9741:7:70","nodeType":"VariableDeclaration","scope":38875,"src":"9725:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38868,"name":"uint256","nodeType":"ElementaryTypeName","src":"9725:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38871,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"9766:11:70","nodeType":"VariableDeclaration","scope":38875,"src":"9750:27:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38870,"name":"uint256","nodeType":"ElementaryTypeName","src":"9750:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38873,"indexed":false,"mutability":"mutable","name":"level","nameLocation":"9787:5:70","nodeType":"VariableDeclaration","scope":38875,"src":"9779:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38872,"name":"uint256","nodeType":"ElementaryTypeName","src":"9779:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9724:69:70"},"src":"9701:93:70"},{"anonymous":false,"documentation":{"id":38876,"nodeType":"StructuredDocumentation","src":"9798:51:70","text":"@dev Emitted when node is detached from a token"},"eventSelector":"48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b8590","id":38884,"name":"LevelWhenDetached","nameLocation":"9858:17:70","nodeType":"EventDefinition","parameters":{"id":38883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38878,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"9892:7:70","nodeType":"VariableDeclaration","scope":38884,"src":"9876:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38877,"name":"uint256","nodeType":"ElementaryTypeName","src":"9876:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38880,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"9917:11:70","nodeType":"VariableDeclaration","scope":38884,"src":"9901:27:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38879,"name":"uint256","nodeType":"ElementaryTypeName","src":"9901:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38882,"indexed":false,"mutability":"mutable","name":"level","nameLocation":"9938:5:70","nodeType":"VariableDeclaration","scope":38884,"src":"9930:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38881,"name":"uint256","nodeType":"ElementaryTypeName","src":"9930:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9875:69:70"},"src":"9852:93:70"},{"body":{"id":38901,"nodeType":"Block","src":"10051:157:70","statements":[{"assignments":[38889],"declarations":[{"constant":false,"id":38889,"mutability":"mutable","name":"$","nameLocation":"10085:1:70","nodeType":"VariableDeclaration","scope":38901,"src":"10057:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":38888,"nodeType":"UserDefinedTypeName","pathNode":{"id":38887,"name":"GalaxyMemberStorage","nameLocations":["10057:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"10057:19:70"},"referencedDeclaration":38784,"src":"10057:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":38892,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":38890,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"10089:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":38891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10089:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10057:57:70"},{"expression":{"arguments":[{"id":38896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10128:24:70","subExpression":{"expression":{"id":38894,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38889,"src":"10129:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":38895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10131:21:70","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":38752,"src":"10129:23:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e6720697320706175736564","id":38897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10154:41:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""},"value":"Galaxy Member: Public minting is paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a","typeString":"literal_string \"Galaxy Member: Public minting is paused\""}],"id":38893,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10120:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10120:76:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38899,"nodeType":"ExpressionStatement","src":"10120:76:70"},{"id":38900,"nodeType":"PlaceholderStatement","src":"10202:1:70"}]},"documentation":{"id":38885,"nodeType":"StructuredDocumentation","src":"9949:61:70","text":"@notice Modifier to check if public minting is not paused"},"id":38902,"name":"whenPublicMintingNotPaused","nameLocation":"10022:26:70","nodeType":"ModifierDefinition","parameters":{"id":38886,"nodeType":"ParameterList","parameters":[],"src":"10048:2:70"},"src":"10013:195:70","virtual":false,"visibility":"internal"},{"body":{"id":38909,"nodeType":"Block","src":"10360:33:70","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":38906,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"10366:20:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":38907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10366:22:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38908,"nodeType":"ExpressionStatement","src":"10366:22:70"}]},"documentation":{"id":38903,"nodeType":"StructuredDocumentation","src":"10212:131:70","text":"@notice Ensures only initializer functions are called when deploying a proxy\n @custom:oz-upgrades-unsafe-allow constructor"},"id":38910,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":38904,"nodeType":"ParameterList","parameters":[],"src":"10357:2:70"},"returnParameters":{"id":38905,"nodeType":"ParameterList","parameters":[],"src":"10360:0:70"},"scope":41032,"src":"10346:47:70","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"canonicalName":"GalaxyMemberV5.InitializationData","documentation":{"id":38911,"nodeType":"StructuredDocumentation","src":"10397:720:70","text":"@notice Data for initializing the contract\n @param name Name of the ERC721 token\n @param symbol Symbol of the ERC721 token\n @param admin Address to grant the admin role\n @param upgrader Address to grant the upgrader role\n @param pauser Address to grant the pauser role\n @param minter Address to grant the minter role\n @param contractsAddressManager Address that can update external contracts address\n @param maxLevel Maximum level tokens can achieve\n @param baseTokenURI Base URI for computing {tokenURI}\n @param b3trToUpgradeToLevel Mapping of B3TR requirements per level\n @param _b3tr B3TR token contract address\n @param _treasury Address of the treasury"},"id":38937,"members":[{"constant":false,"id":38913,"mutability":"mutable","name":"name","nameLocation":"11159:4:70","nodeType":"VariableDeclaration","scope":38937,"src":"11152:11:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":38912,"name":"string","nodeType":"ElementaryTypeName","src":"11152:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38915,"mutability":"mutable","name":"symbol","nameLocation":"11176:6:70","nodeType":"VariableDeclaration","scope":38937,"src":"11169:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":38914,"name":"string","nodeType":"ElementaryTypeName","src":"11169:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38917,"mutability":"mutable","name":"admin","nameLocation":"11196:5:70","nodeType":"VariableDeclaration","scope":38937,"src":"11188:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38916,"name":"address","nodeType":"ElementaryTypeName","src":"11188:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38919,"mutability":"mutable","name":"upgrader","nameLocation":"11215:8:70","nodeType":"VariableDeclaration","scope":38937,"src":"11207:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38918,"name":"address","nodeType":"ElementaryTypeName","src":"11207:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38921,"mutability":"mutable","name":"pauser","nameLocation":"11237:6:70","nodeType":"VariableDeclaration","scope":38937,"src":"11229:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38920,"name":"address","nodeType":"ElementaryTypeName","src":"11229:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38923,"mutability":"mutable","name":"minter","nameLocation":"11257:6:70","nodeType":"VariableDeclaration","scope":38937,"src":"11249:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38922,"name":"address","nodeType":"ElementaryTypeName","src":"11249:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38925,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"11277:23:70","nodeType":"VariableDeclaration","scope":38937,"src":"11269:31:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38924,"name":"address","nodeType":"ElementaryTypeName","src":"11269:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38927,"mutability":"mutable","name":"maxLevel","nameLocation":"11314:8:70","nodeType":"VariableDeclaration","scope":38937,"src":"11306:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38926,"name":"uint256","nodeType":"ElementaryTypeName","src":"11306:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38929,"mutability":"mutable","name":"baseTokenURI","nameLocation":"11335:12:70","nodeType":"VariableDeclaration","scope":38937,"src":"11328:19:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":38928,"name":"string","nodeType":"ElementaryTypeName","src":"11328:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38932,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"11363:20:70","nodeType":"VariableDeclaration","scope":38937,"src":"11353:30:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":38930,"name":"uint256","nodeType":"ElementaryTypeName","src":"11353:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38931,"nodeType":"ArrayTypeName","src":"11353:9:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":38934,"mutability":"mutable","name":"b3tr","nameLocation":"11397:4:70","nodeType":"VariableDeclaration","scope":38937,"src":"11389:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38933,"name":"address","nodeType":"ElementaryTypeName","src":"11389:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38936,"mutability":"mutable","name":"treasury","nameLocation":"11415:8:70","nodeType":"VariableDeclaration","scope":38937,"src":"11407:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38935,"name":"address","nodeType":"ElementaryTypeName","src":"11407:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"11127:18:70","nodeType":"StructDefinition","scope":41032,"src":"11120:308:70","visibility":"public"},{"body":{"id":39139,"nodeType":"Block","src":"11699:1615:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":38947,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"11713:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":38948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11718:8:70","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":38927,"src":"11713:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":38949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11729:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11713:17:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d7573742062652067726561746572207468616e2030","id":38951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11732:49:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f","typeString":"literal_string \"Galaxy Member: Max level must be greater than 0\""},"value":"Galaxy Member: Max level must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f","typeString":"literal_string \"Galaxy Member: Max level must be greater than 0\""}],"id":38946,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11705:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11705:77:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38953,"nodeType":"ExpressionStatement","src":"11705:77:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":38957,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"11802:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":38958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11807:12:70","memberName":"baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":38929,"src":"11802:17:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":38956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11796:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":38955,"name":"bytes","nodeType":"ElementaryTypeName","src":"11796:5:70","typeDescriptions":{}}},"id":38959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11796:24:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":38960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11821:6:70","memberName":"length","nodeType":"MemberAccess","src":"11796:31:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":38961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11830:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11796:35:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520736574","id":38963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11833:37:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""},"value":"Galaxy Member: Base URI must be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""}],"id":38954,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11788:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11788:83:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38965,"nodeType":"ExpressionStatement","src":"11788:83:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":38967,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"11885:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":38968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11890:4:70","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":38934,"src":"11885:9:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11906:1:70","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":38970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11898:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38969,"name":"address","nodeType":"ElementaryTypeName","src":"11898:7:70","typeDescriptions":{}}},"id":38972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11898:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11885:23:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f6b656e20616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":38974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11910:62:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d","typeString":"literal_string \"Galaxy Member: B3TR token address cannot be the zero address\""},"value":"Galaxy Member: B3TR token address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d","typeString":"literal_string \"Galaxy Member: B3TR token address cannot be the zero address\""}],"id":38966,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11877:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11877:96:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38976,"nodeType":"ExpressionStatement","src":"11877:96:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":38978,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"11987:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":38979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11992:8:70","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":38936,"src":"11987:13:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12012:1:70","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":38981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12004:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38980,"name":"address","nodeType":"ElementaryTypeName","src":"12004:7:70","typeDescriptions":{}}},"id":38983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12004:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11987:27:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20547265617375727920616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":38985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12016:60:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96","typeString":"literal_string \"Galaxy Member: Treasury address cannot be the zero address\""},"value":"Galaxy Member: Treasury address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96","typeString":"literal_string \"Galaxy Member: Treasury address cannot be the zero address\""}],"id":38977,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11979:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11979:98:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38987,"nodeType":"ExpressionStatement","src":"11979:98:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":38989,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12098:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":38990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12103:20:70","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38932,"src":"12098:25:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":38991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12124:6:70","memberName":"length","nodeType":"MemberAccess","src":"12098:32:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":38992,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12134:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":38993,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12139:8:70","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":38927,"src":"12134:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":38994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12150:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12134:17:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12098:53:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656c73","id":38997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12159:68:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\""},"value":"Galaxy Member: B3TR to upgrade must be set for all unlocked levels"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all unlocked levels\""}],"id":38988,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12083:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12083:150:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38999,"nodeType":"ExpressionStatement","src":"12083:150:70"},{"expression":{"arguments":[{"expression":{"id":39001,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12254:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12259:4:70","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":38913,"src":"12254:9:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":39003,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12265:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39004,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12270:6:70","memberName":"symbol","nodeType":"MemberAccess","referencedDeclaration":38915,"src":"12265:11:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":39000,"name":"__ERC721_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2099,"src":"12240:13:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":39005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12240:37:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39006,"nodeType":"ExpressionStatement","src":"12240:37:70"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":39007,"name":"__ERC721Enumerable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3252,"src":"12283:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":39008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12283:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39009,"nodeType":"ExpressionStatement","src":"12283:25:70"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":39010,"name":"__ERC721Pausable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3698,"src":"12314:21:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":39011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12314:23:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39012,"nodeType":"ExpressionStatement","src":"12314:23:70"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":39013,"name":"__ERC721Burnable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"12343:21:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":39014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12343:23:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39015,"nodeType":"ExpressionStatement","src":"12343:23:70"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":39016,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"12372:20:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":39017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12372:22:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39018,"nodeType":"ExpressionStatement","src":"12372:22:70"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":39019,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4203,"src":"12400:22:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":39020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12400:24:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39021,"nodeType":"ExpressionStatement","src":"12400:24:70"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":39022,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"12430:22:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":39023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12430:24:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39024,"nodeType":"ExpressionStatement","src":"12430:24:70"},{"assignments":[39027],"declarations":[{"constant":false,"id":39027,"mutability":"mutable","name":"$","nameLocation":"12489:1:70","nodeType":"VariableDeclaration","scope":39139,"src":"12461:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39026,"nodeType":"UserDefinedTypeName","pathNode":{"id":39025,"name":"GalaxyMemberStorage","nameLocations":["12461:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"12461:19:70"},"referencedDeclaration":38784,"src":"12461:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39030,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39028,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"12493:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12493:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12461:57:70"},{"expression":{"id":39036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39031,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39027,"src":"12525:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39033,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12527:13:70","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":38727,"src":"12525:15:70","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":39034,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12543:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12548:12:70","memberName":"baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":38929,"src":"12543:17:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12525:35:70","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":39037,"nodeType":"ExpressionStatement","src":"12525:35:70"},{"body":{"id":39073,"nodeType":"Block","src":"12630:227:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":39051,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12646:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12651:20:70","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38932,"src":"12646:25:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39054,"indexExpression":{"id":39053,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39039,"src":"12672:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12646:28:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":39055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12677:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12646:32:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652067726561746572207468616e2030","id":39057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12680:55:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""},"value":"Galaxy Member: B3TR to upgrade must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""}],"id":39050,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12638:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12638:98:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39059,"nodeType":"ExpressionStatement","src":"12638:98:70"},{"expression":{"id":39071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":39060,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39027,"src":"12744:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39065,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12746:21:70","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38739,"src":"12744:23:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":39066,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39062,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39039,"src":"12768:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":39063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12772:1:70","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12768:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12744:30:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":39067,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12777:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12782:20:70","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38932,"src":"12777:25:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39070,"indexExpression":{"id":39069,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39039,"src":"12803:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12777:28:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12744:61:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39072,"nodeType":"ExpressionStatement","src":"12744:61:70"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39042,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39039,"src":"12587:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":39043,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12591:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39044,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12596:20:70","memberName":"b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38932,"src":"12591:25:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12617:6:70","memberName":"length","nodeType":"MemberAccess","src":"12591:32:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12587:36:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39074,"initializationExpression":{"assignments":[39039],"declarations":[{"constant":false,"id":39039,"mutability":"mutable","name":"i","nameLocation":"12580:1:70","nodeType":"VariableDeclaration","scope":39074,"src":"12572:9:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39038,"name":"uint256","nodeType":"ElementaryTypeName","src":"12572:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":39041,"initialValue":{"hexValue":"30","id":39040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12584:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12572:13:70"},"loopExpression":{"expression":{"id":39048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12625:3:70","subExpression":{"id":39047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39039,"src":"12625:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39049,"nodeType":"ExpressionStatement","src":"12625:3:70"},"nodeType":"ForStatement","src":"12567:290:70"},{"expression":{"id":39080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39075,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39027,"src":"12863:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12865:9:70","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":38731,"src":"12863:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":39078,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12877:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39079,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12882:8:70","memberName":"maxLevel","nodeType":"MemberAccess","referencedDeclaration":38927,"src":"12877:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12863:27:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39081,"nodeType":"ExpressionStatement","src":"12863:27:70"},{"expression":{"id":39089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39082,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39027,"src":"12897:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12899:4:70","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":38723,"src":"12897:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":39086,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12912:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12917:4:70","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":38934,"src":"12912:9:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":39085,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"12906:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TR_$62888_$","typeString":"type(contract IB3TR)"}},"id":39088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12906:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"src":"12897:25:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":39090,"nodeType":"ExpressionStatement","src":"12897:25:70"},{"expression":{"id":39096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39091,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39027,"src":"12928:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12930:8:70","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":38725,"src":"12928:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":39094,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12941:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12946:8:70","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":38936,"src":"12941:13:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12928:26:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":39097,"nodeType":"ExpressionStatement","src":"12928:26:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":39099,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"12969:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12974:5:70","memberName":"admin","nodeType":"MemberAccess","referencedDeclaration":38917,"src":"12969:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":39103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12991:1:70","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":39102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12983:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39101,"name":"address","nodeType":"ElementaryTypeName","src":"12983:7:70","typeDescriptions":{}}},"id":39104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12983:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12969:24:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2041646d696e20616464726573732063616e6e6f7420626520746865207a65726f2061646472657373","id":39106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12995:57:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4","typeString":"literal_string \"Galaxy Member: Admin address cannot be the zero address\""},"value":"Galaxy Member: Admin address cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4","typeString":"literal_string \"Galaxy Member: Admin address cannot be the zero address\""}],"id":39098,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12961:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12961:92:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39108,"nodeType":"ExpressionStatement","src":"12961:92:70"},{"expression":{"arguments":[{"id":39110,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"13070:18:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":39111,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"13090:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13095:5:70","memberName":"admin","nodeType":"MemberAccess","referencedDeclaration":38917,"src":"13090:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39109,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"13059:10:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13059:42:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39114,"nodeType":"ExpressionStatement","src":"13059:42:70"},{"expression":{"arguments":[{"id":39116,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38693,"src":"13118:13:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":39117,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"13133:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39118,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13138:8:70","memberName":"upgrader","nodeType":"MemberAccess","referencedDeclaration":38919,"src":"13133:13:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39115,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"13107:10:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13107:40:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39120,"nodeType":"ExpressionStatement","src":"13107:40:70"},{"expression":{"arguments":[{"id":39122,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38698,"src":"13164:11:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":39123,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"13177:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13182:6:70","memberName":"pauser","nodeType":"MemberAccess","referencedDeclaration":38921,"src":"13177:11:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39121,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"13153:10:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13153:36:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39126,"nodeType":"ExpressionStatement","src":"13153:36:70"},{"expression":{"arguments":[{"id":39128,"name":"MINTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38703,"src":"13206:11:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":39129,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"13219:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13224:6:70","memberName":"minter","nodeType":"MemberAccess","referencedDeclaration":38923,"src":"13219:11:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39127,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"13195:10:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13195:36:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39132,"nodeType":"ExpressionStatement","src":"13195:36:70"},{"expression":{"arguments":[{"id":39134,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38708,"src":"13248:30:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":39135,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38941,"src":"13280:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData memory"}},"id":39136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13285:23:70","memberName":"contractsAddressManager","nodeType":"MemberAccess","referencedDeclaration":38925,"src":"13280:28:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39133,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"13237:10:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13237:72:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39138,"nodeType":"ExpressionStatement","src":"13237:72:70"}]},"documentation":{"id":38938,"nodeType":"StructuredDocumentation","src":"11432:191:70","text":"@notice Initializes a new GalaxyMember contract\n @dev Sets initial values for all relevant contract properties and state variables.\n @custom:oz-upgrades-unsafe-allow constructor"},"functionSelector":"5f4e42ca","id":39140,"implemented":true,"kind":"function","modifiers":[{"id":38944,"kind":"modifierInvocation","modifierName":{"id":38943,"name":"initializer","nameLocations":["11687:11:70"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"11687:11:70"},"nodeType":"ModifierInvocation","src":"11687:11:70"}],"name":"initialize","nameLocation":"11635:10:70","nodeType":"FunctionDefinition","parameters":{"id":38942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38941,"mutability":"mutable","name":"data","nameLocation":"11672:4:70","nodeType":"VariableDeclaration","scope":39140,"src":"11646:30:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_memory_ptr","typeString":"struct GalaxyMemberV5.InitializationData"},"typeName":{"id":38940,"nodeType":"UserDefinedTypeName","pathNode":{"id":38939,"name":"InitializationData","nameLocations":["11646:18:70"],"nodeType":"IdentifierPath","referencedDeclaration":38937,"src":"11646:18:70"},"referencedDeclaration":38937,"src":"11646:18:70","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$38937_storage_ptr","typeString":"struct GalaxyMemberV5.InitializationData"}},"visibility":"internal"}],"src":"11645:32:70"},"returnParameters":{"id":38945,"nodeType":"ParameterList","parameters":[],"src":"11699:0:70"},"scope":41032,"src":"11626:1688:70","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":39255,"nodeType":"Block","src":"13684:801:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":39157,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39150,"src":"13698:15:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13714:6:70","memberName":"length","nodeType":"MemberAccess","src":"13698:22:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"38","id":39159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13724:1:70","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"13698:27:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f64652066726565206c6576656c732e204d7573742062652037206c6576656c73","id":39161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13727:58:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051","typeString":"literal_string \"GalaxyMember: invalid node free levels. Must be 7 levels\""},"value":"GalaxyMember: invalid node free levels. Must be 7 levels"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051","typeString":"literal_string \"GalaxyMember: invalid node free levels. Must be 7 levels\""}],"id":39156,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13690:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13690:96:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39163,"nodeType":"ExpressionStatement","src":"13690:96:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39165,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39143,"src":"13800:13:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":39168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13825:1:70","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":39167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13817:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39166,"name":"address","nodeType":"ElementaryTypeName","src":"13817:7:70","typeDescriptions":{}}},"id":39169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13817:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13800:27:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6f7420626520746865207a65726f2061646472657373","id":39171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13829:56:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""},"value":"GalaxyMember: _vechainNodes cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed","typeString":"literal_string \"GalaxyMember: _vechainNodes cannot be the zero address\""}],"id":39164,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13792:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13792:94:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39173,"nodeType":"ExpressionStatement","src":"13792:94:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39175,"name":"_nodesMangaement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39145,"src":"13900:16:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":39178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13928:1:70","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":39177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13920:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39176,"name":"address","nodeType":"ElementaryTypeName","src":"13920:7:70","typeDescriptions":{}}},"id":39179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13920:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13900:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063616e6e6f7420626520746865207a65726f2061646472657373","id":39181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13932:59:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd","typeString":"literal_string \"GalaxyMember: _nodesMangaement cannot be the zero address\""},"value":"GalaxyMember: _nodesMangaement cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd","typeString":"literal_string \"GalaxyMember: _nodesMangaement cannot be the zero address\""}],"id":39174,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13892:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13892:100:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39183,"nodeType":"ExpressionStatement","src":"13892:100:70"},{"assignments":[39186],"declarations":[{"constant":false,"id":39186,"mutability":"mutable","name":"$","nameLocation":"14027:1:70","nodeType":"VariableDeclaration","scope":39255,"src":"13999:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39185,"nodeType":"UserDefinedTypeName","pathNode":{"id":39184,"name":"GalaxyMemberStorage","nameLocations":["13999:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"13999:19:70"},"referencedDeclaration":38784,"src":"13999:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39189,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39187,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"14031:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14031:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13999:57:70"},{"expression":{"id":39196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39190,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39186,"src":"14063:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14065:12:70","memberName":"vechainNodes","nodeType":"MemberAccess","referencedDeclaration":38755,"src":"14063:14:70","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":39194,"name":"_vechainNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39143,"src":"14094:13:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":39193,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"14080:13:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITokenAuction_$73165_$","typeString":"type(contract ITokenAuction)"}},"id":39195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14080:28:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"src":"14063:45:70","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"id":39197,"nodeType":"ExpressionStatement","src":"14063:45:70"},{"expression":{"id":39204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39198,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39186,"src":"14114:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14116:14:70","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":38758,"src":"14114:16:70","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":39202,"name":"_nodesMangaement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39145,"src":"14151:16:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":39201,"name":"INodeManagementV3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71617,"src":"14133:17:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_INodeManagementV3_$71617_$","typeString":"type(contract INodeManagementV3)"}},"id":39203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14133:35:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"src":"14114:54:70","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"id":39205,"nodeType":"ExpressionStatement","src":"14114:54:70"},{"expression":{"id":39217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39206,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39186,"src":"14175:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14177:12:70","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":38729,"src":"14175:14:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":39209,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39186,"src":"14192:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39210,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14194:12:70","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":38729,"src":"14192:14:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":39211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14210:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14192:19:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":39214,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39186,"src":"14218:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14220:12:70","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":38729,"src":"14218:14:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14192:40:70","trueExpression":{"hexValue":"31","id":39213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14214:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14175:57:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39218,"nodeType":"ExpressionStatement","src":"14175:57:70"},{"body":{"id":39248,"nodeType":"Block","src":"14286:145:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":39230,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39150,"src":"14302:15:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39232,"indexExpression":{"id":39231,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39220,"src":"14318:1:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14302:18:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":39233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14324:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14302:23:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f64652066726565206c6576656c","id":39235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14327:39:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4","typeString":"literal_string \"GalaxyMember: invalid node free level\""},"value":"GalaxyMember: invalid node free level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4","typeString":"literal_string \"GalaxyMember: invalid node free level\""}],"id":39229,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14294:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14294:73:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39237,"nodeType":"ExpressionStatement","src":"14294:73:70"},{"expression":{"id":39246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":39238,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39186,"src":"14375:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14377:23:70","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":38770,"src":"14375:25:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":39242,"indexExpression":{"id":39240,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39220,"src":"14401:1:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14375:28:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":39243,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39150,"src":"14406:15:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39245,"indexExpression":{"id":39244,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39220,"src":"14422:1:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14406:18:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14375:49:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39247,"nodeType":"ExpressionStatement","src":"14375:49:70"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39222,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39220,"src":"14253:1:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":39223,"name":"_nodeFreeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39150,"src":"14257:15:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14273:6:70","memberName":"length","nodeType":"MemberAccess","src":"14257:22:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14253:26:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39249,"initializationExpression":{"assignments":[39220],"declarations":[{"constant":false,"id":39220,"mutability":"mutable","name":"i","nameLocation":"14250:1:70","nodeType":"VariableDeclaration","scope":39249,"src":"14244:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":39219,"name":"uint8","nodeType":"ElementaryTypeName","src":"14244:5:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":39221,"nodeType":"VariableDeclarationStatement","src":"14244:7:70"},"loopExpression":{"expression":{"id":39227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14281:3:70","subExpression":{"id":39226,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39220,"src":"14281:1:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":39228,"nodeType":"ExpressionStatement","src":"14281:3:70"},"nodeType":"ForStatement","src":"14239:192:70"},{"expression":{"arguments":[{"id":39251,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38713,"src":"14448:18:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39252,"name":"_nodesAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39147,"src":"14468:11:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39250,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14437:10:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14437:43:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39254,"nodeType":"ExpressionStatement","src":"14437:43:70"}]},"documentation":{"id":39141,"nodeType":"StructuredDocumentation","src":"13318:191:70","text":"@notice Initializes a new GalaxyMember contract\n @dev Sets initial values for all relevant contract properties and state variables.\n @custom:oz-upgrades-unsafe-allow constructor"},"functionSelector":"c190eb3a","id":39256,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":39153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13681:1:70","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":39154,"kind":"modifierInvocation","modifierName":{"id":39152,"name":"reinitializer","nameLocations":["13667:13:70"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"13667:13:70"},"nodeType":"ModifierInvocation","src":"13667:16:70"}],"name":"initializeV2","nameLocation":"13521:12:70","nodeType":"FunctionDefinition","parameters":{"id":39151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39143,"mutability":"mutable","name":"_vechainNodes","nameLocation":"13547:13:70","nodeType":"VariableDeclaration","scope":39256,"src":"13539:21:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39142,"name":"address","nodeType":"ElementaryTypeName","src":"13539:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39145,"mutability":"mutable","name":"_nodesMangaement","nameLocation":"13574:16:70","nodeType":"VariableDeclaration","scope":39256,"src":"13566:24:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39144,"name":"address","nodeType":"ElementaryTypeName","src":"13566:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39147,"mutability":"mutable","name":"_nodesAdmin","nameLocation":"13604:11:70","nodeType":"VariableDeclaration","scope":39256,"src":"13596:19:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39146,"name":"address","nodeType":"ElementaryTypeName","src":"13596:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39150,"mutability":"mutable","name":"_nodeFreeLevels","nameLocation":"13638:15:70","nodeType":"VariableDeclaration","scope":39256,"src":"13621:32:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":39148,"name":"uint256","nodeType":"ElementaryTypeName","src":"13621:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39149,"nodeType":"ArrayTypeName","src":"13621:9:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"13533:124:70"},"returnParameters":{"id":39155,"nodeType":"ParameterList","parameters":[],"src":"13684:0:70"},"scope":41032,"src":"13512:973:70","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":39266,"nodeType":"Block","src":"14797:2:70","statements":[]},"documentation":{"id":39257,"nodeType":"StructuredDocumentation","src":"14489:209:70","text":"@notice Internal function to authorize contract upgrades\n @dev Restricts upgrade authorization to addresses with UPGRADER_ROLE\n @param newImplementation Address of the new contract implementation"},"id":39267,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39263,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38693,"src":"14782:13:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39264,"kind":"modifierInvocation","modifierName":{"id":39262,"name":"onlyRole","nameLocations":["14773:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"14773:8:70"},"nodeType":"ModifierInvocation","src":"14773:23:70"}],"name":"_authorizeUpgrade","nameLocation":"14710:17:70","nodeType":"FunctionDefinition","overrides":{"id":39261,"nodeType":"OverrideSpecifier","overrides":[],"src":"14764:8:70"},"parameters":{"id":39260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39259,"mutability":"mutable","name":"newImplementation","nameLocation":"14736:17:70","nodeType":"VariableDeclaration","scope":39267,"src":"14728:25:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39258,"name":"address","nodeType":"ElementaryTypeName","src":"14728:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14727:27:70"},"returnParameters":{"id":39265,"nodeType":"ParameterList","parameters":[],"src":"14797:0:70"},"scope":41032,"src":"14701:98:70","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":39277,"nodeType":"Block","src":"15041:19:70","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":39274,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"15047:6:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":39275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15047:8:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39276,"nodeType":"ExpressionStatement","src":"15047:8:70"}]},"documentation":{"id":39268,"nodeType":"StructuredDocumentation","src":"14803:181:70","text":"@notice Pauses the Galaxy Member contract\n @dev pausing the contract will prevent minting, upgrading, and transferring of tokens\n @dev Only callable by the pauser role"},"functionSelector":"8456cb59","id":39278,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39271,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38698,"src":"15028:11:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39272,"kind":"modifierInvocation","modifierName":{"id":39270,"name":"onlyRole","nameLocations":["15019:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"15019:8:70"},"nodeType":"ModifierInvocation","src":"15019:21:70"}],"name":"pause","nameLocation":"14996:5:70","nodeType":"FunctionDefinition","parameters":{"id":39269,"nodeType":"ParameterList","parameters":[],"src":"15001:2:70"},"returnParameters":{"id":39273,"nodeType":"ParameterList","parameters":[],"src":"15041:0:70"},"scope":41032,"src":"14987:73:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39288,"nodeType":"Block","src":"15214:21:70","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":39285,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"15220:8:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":39286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15220:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39287,"nodeType":"ExpressionStatement","src":"15220:10:70"}]},"documentation":{"id":39279,"nodeType":"StructuredDocumentation","src":"15064:91:70","text":"@notice Unpauses the Galaxy Member contract\n @dev Only callable by the pauser role"},"functionSelector":"3f4ba83a","id":39289,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39282,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38698,"src":"15201:11:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39283,"kind":"modifierInvocation","modifierName":{"id":39281,"name":"onlyRole","nameLocations":["15192:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"15192:8:70"},"nodeType":"ModifierInvocation","src":"15192:21:70"}],"name":"unpause","nameLocation":"15167:7:70","nodeType":"FunctionDefinition","parameters":{"id":39280,"nodeType":"ParameterList","parameters":[],"src":"15174:2:70"},"returnParameters":{"id":39284,"nodeType":"ParameterList","parameters":[],"src":"15214:0:70"},"scope":41032,"src":"15158:77:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39308,"nodeType":"Block","src":"15480:141:70","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":39297,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15519:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15523:6:70","memberName":"sender","nodeType":"MemberAccess","src":"15519:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":39296,"name":"participatedInGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40390,"src":"15494:24:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":39299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15494:36:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274696369706174656420696e20676f7665726e616e6365","id":39300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15532:56:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""},"value":"Galaxy Member: User has not participated in governance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e","typeString":"literal_string \"Galaxy Member: User has not participated in governance\""}],"id":39295,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15486:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15486:103:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39302,"nodeType":"ExpressionStatement","src":"15486:103:70"},{"expression":{"arguments":[{"expression":{"id":39304,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15605:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15609:6:70","memberName":"sender","nodeType":"MemberAccess","src":"15605:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":39303,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39717,"src":"15596:8:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":39306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15596:20:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39307,"nodeType":"ExpressionStatement","src":"15596:20:70"}]},"documentation":{"id":39290,"nodeType":"StructuredDocumentation","src":"15239:176:70","text":"@notice Allows a user to freely mint a token if they have participated in governance\n @dev Mints a token with level 1 and ensures that the public minting is not paused"},"functionSelector":"5b70ea9f","id":39309,"implemented":true,"kind":"function","modifiers":[{"id":39293,"kind":"modifierInvocation","modifierName":{"id":39292,"name":"whenPublicMintingNotPaused","nameLocations":["15453:26:70"],"nodeType":"IdentifierPath","referencedDeclaration":38902,"src":"15453:26:70"},"nodeType":"ModifierInvocation","src":"15453:26:70"}],"name":"freeMint","nameLocation":"15427:8:70","nodeType":"FunctionDefinition","parameters":{"id":39291,"nodeType":"ParameterList","parameters":[],"src":"15435:2:70"},"returnParameters":{"id":39294,"nodeType":"ParameterList","parameters":[],"src":"15480:0:70"},"scope":41032,"src":"15418:203:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39412,"nodeType":"Block","src":"15902:836:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39321,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39312,"src":"15924:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39320,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"15916:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":39322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15916:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":39323,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15936:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15940:6:70","memberName":"sender","nodeType":"MemberAccess","src":"15936:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15916:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520546f6b656e20746f2075706772616465206974","id":39326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15948:53:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""},"value":"Galaxy Member: you must own the Token to upgrade it"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671","typeString":"literal_string \"Galaxy Member: you must own the Token to upgrade it\""}],"id":39319,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15908:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15908:94:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39328,"nodeType":"ExpressionStatement","src":"15908:94:70"},{"assignments":[39331],"declarations":[{"constant":false,"id":39331,"mutability":"mutable","name":"$","nameLocation":"16036:1:70","nodeType":"VariableDeclaration","scope":39412,"src":"16008:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39330,"nodeType":"UserDefinedTypeName","pathNode":{"id":39329,"name":"GalaxyMemberStorage","nameLocations":["16008:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"16008:19:70"},"referencedDeclaration":38784,"src":"16008:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39334,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39332,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"16040:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16040:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16008:57:70"},{"assignments":[39336],"declarations":[{"constant":false,"id":39336,"mutability":"mutable","name":"currentLevel","nameLocation":"16080:12:70","nodeType":"VariableDeclaration","scope":39412,"src":"16072:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39335,"name":"uint256","nodeType":"ElementaryTypeName","src":"16072:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":39340,"initialValue":{"arguments":[{"id":39338,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39312,"src":"16103:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39337,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40059,"src":"16095:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":39339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16095:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16072:39:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39342,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39336,"src":"16126:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":39343,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40548,"src":"16141:9:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":39344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16141:11:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16126:26:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c7265616479206174206d6178206c6576656c","id":39346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16154:46:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""},"value":"Galaxy Member: Token is already at max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30","typeString":"literal_string \"Galaxy Member: Token is already at max level\""}],"id":39341,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16118:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16118:83:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39348,"nodeType":"ExpressionStatement","src":"16118:83:70"},{"assignments":[39350],"declarations":[{"constant":false,"id":39350,"mutability":"mutable","name":"b3trRequired","nameLocation":"16216:12:70","nodeType":"VariableDeclaration","scope":39412,"src":"16208:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39349,"name":"uint256","nodeType":"ElementaryTypeName","src":"16208:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":39354,"initialValue":{"arguments":[{"id":39352,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39312,"src":"16248:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39351,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40110,"src":"16231:16:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":39353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16231:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16208:48:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":39359,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16288:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16292:6:70","memberName":"sender","nodeType":"MemberAccess","src":"16288:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":39356,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39331,"src":"16271:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16273:4:70","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":38723,"src":"16271:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":39358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16278:9:70","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":62767,"src":"16271:16:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":39361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16271:28:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":39362,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39350,"src":"16303:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16271:44:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c616e636520746f2075706772616465","id":39364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16317:48:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""},"value":"Galaxy Member: Insufficient balance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c","typeString":"literal_string \"Galaxy Member: Insufficient balance to upgrade\""}],"id":39355,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16263:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16263:103:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39366,"nodeType":"ExpressionStatement","src":"16263:103:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":39371,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16405:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16409:6:70","memberName":"sender","nodeType":"MemberAccess","src":"16405:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":39375,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16425:4:70","typeDescriptions":{"typeIdentifier":"t_contract$_GalaxyMemberV5_$41032","typeString":"contract GalaxyMemberV5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GalaxyMemberV5_$41032","typeString":"contract GalaxyMemberV5"}],"id":39374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16417:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39373,"name":"address","nodeType":"ElementaryTypeName","src":"16417:7:70","typeDescriptions":{}}},"id":39376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16417:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":39368,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39331,"src":"16388:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16390:4:70","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":38723,"src":"16388:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":39370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16395:9:70","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":62751,"src":"16388:16:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":39377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16388:43:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":39378,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39350,"src":"16435:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16388:59:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f77616e636520746f2075706772616465","id":39380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16455:50:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""},"value":"Galaxy Member: Insufficient allowance to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9","typeString":"literal_string \"Galaxy Member: Insufficient allowance to upgrade\""}],"id":39367,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16373:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16373:138:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39382,"nodeType":"ExpressionStatement","src":"16373:138:70"},{"expression":{"id":39389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":39383,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39331,"src":"16518:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16520:21:70","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":38774,"src":"16518:23:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":39387,"indexExpression":{"id":39385,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39312,"src":"16542:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16518:32:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":39388,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39350,"src":"16554:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16518:48:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39390,"nodeType":"ExpressionStatement","src":"16518:48:70"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":39395,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16601:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16605:6:70","memberName":"sender","nodeType":"MemberAccess","src":"16601:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":39397,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39331,"src":"16613:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16615:8:70","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":38725,"src":"16613:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":39399,"name":"b3trRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39350,"src":"16625:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":39392,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39331,"src":"16581:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16583:4:70","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":38723,"src":"16581:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":39394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16588:12:70","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":62884,"src":"16581:19: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":39400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16581:57:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","id":39401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16640:31:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""},"value":"GalaxyMember: Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f","typeString":"literal_string \"GalaxyMember: Transfer failed\""}],"id":39391,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16573:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16573:99:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39403,"nodeType":"ExpressionStatement","src":"16573:99:70"},{"eventCall":{"arguments":[{"id":39405,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39312,"src":"16693:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":39406,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39336,"src":"16702:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":39408,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39312,"src":"16724:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39407,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40059,"src":"16716:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":39409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16716:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39404,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38813,"src":"16684:8:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":39410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16684:49:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39411,"nodeType":"EmitStatement","src":"16679:54:70"}]},"documentation":{"id":39310,"nodeType":"StructuredDocumentation","src":"15625:198:70","text":"@notice Upgrades a token to the next level\n @dev Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\n @param tokenId Token ID to upgrade"},"functionSelector":"45977d03","id":39413,"implemented":true,"kind":"function","modifiers":[{"id":39315,"kind":"modifierInvocation","modifierName":{"id":39314,"name":"nonReentrant","nameLocations":["15875:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":4232,"src":"15875:12:70"},"nodeType":"ModifierInvocation","src":"15875:12:70"},{"id":39317,"kind":"modifierInvocation","modifierName":{"id":39316,"name":"whenNotPaused","nameLocations":["15888:13:70"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"15888:13:70"},"nodeType":"ModifierInvocation","src":"15888:13:70"}],"name":"upgrade","nameLocation":"15835:7:70","nodeType":"FunctionDefinition","parameters":{"id":39313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39312,"mutability":"mutable","name":"tokenId","nameLocation":"15851:7:70","nodeType":"VariableDeclaration","scope":39413,"src":"15843:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39311,"name":"uint256","nodeType":"ElementaryTypeName","src":"15843:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15842:17:70"},"returnParameters":{"id":39318,"nodeType":"ParameterList","parameters":[],"src":"15902:0:70"},"scope":41032,"src":"15826:912:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39425,"nodeType":"Block","src":"16908:39:70","statements":[{"expression":{"arguments":[{"expression":{"id":39420,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16922:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16926:6:70","memberName":"sender","nodeType":"MemberAccess","src":"16922:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":39422,"name":"tokenID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39416,"src":"16934:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39419,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39486,"src":"16914:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":39423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16914:28:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39424,"nodeType":"ExpressionStatement","src":"16914:28:70"}]},"documentation":{"id":39414,"nodeType":"StructuredDocumentation","src":"16742:115:70","text":"@notice Allows the user to select a token for voting rewards multiplier\n @param tokenID Token ID to select"},"functionSelector":"839a19d9","id":39426,"implemented":true,"kind":"function","modifiers":[],"name":"select","nameLocation":"16869:6:70","nodeType":"FunctionDefinition","parameters":{"id":39417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39416,"mutability":"mutable","name":"tokenID","nameLocation":"16884:7:70","nodeType":"VariableDeclaration","scope":39426,"src":"16876:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39415,"name":"uint256","nodeType":"ElementaryTypeName","src":"16876:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16875:17:70"},"returnParameters":{"id":39418,"nodeType":"ParameterList","parameters":[],"src":"16908:0:70"},"scope":41032,"src":"16860:87:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39442,"nodeType":"Block","src":"17161:34:70","statements":[{"expression":{"arguments":[{"id":39438,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39429,"src":"17175:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":39439,"name":"tokenID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39431,"src":"17182:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39437,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39486,"src":"17167:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":39440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17167:23:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39441,"nodeType":"ExpressionStatement","src":"17167:23:70"}]},"documentation":{"id":39427,"nodeType":"StructuredDocumentation","src":"16951:112:70","text":"@notice Allows the admin to select a token for the user\n @param owner The address of the owner to check"},"functionSelector":"aa3491eb","id":39443,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39434,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"17141:18:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39435,"kind":"modifierInvocation","modifierName":{"id":39433,"name":"onlyRole","nameLocations":["17132:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"17132:8:70"},"nodeType":"ModifierInvocation","src":"17132:28:70"}],"name":"selectFor","nameLocation":"17075:9:70","nodeType":"FunctionDefinition","parameters":{"id":39432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39429,"mutability":"mutable","name":"owner","nameLocation":"17093:5:70","nodeType":"VariableDeclaration","scope":39443,"src":"17085:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39428,"name":"address","nodeType":"ElementaryTypeName","src":"17085:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39431,"mutability":"mutable","name":"tokenID","nameLocation":"17108:7:70","nodeType":"VariableDeclaration","scope":39443,"src":"17100:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39430,"name":"uint256","nodeType":"ElementaryTypeName","src":"17100:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17084:32:70"},"returnParameters":{"id":39436,"nodeType":"ParameterList","parameters":[],"src":"17161:0:70"},"scope":41032,"src":"17066:129:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39485,"nodeType":"Block","src":"17417:286:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39453,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39448,"src":"17439:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39452,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"17431:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":39454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17431:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":39455,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39446,"src":"17451:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17431:25:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":39457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17458:53:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":39451,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17423:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17423:89:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39459,"nodeType":"ExpressionStatement","src":"17423:89:70"},{"assignments":[39462],"declarations":[{"constant":false,"id":39462,"mutability":"mutable","name":"$","nameLocation":"17547:1:70","nodeType":"VariableDeclaration","scope":39485,"src":"17519:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39461,"nodeType":"UserDefinedTypeName","pathNode":{"id":39460,"name":"GalaxyMemberStorage","nameLocations":["17519:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"17519:19:70"},"referencedDeclaration":38784,"src":"17519:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39465,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39463,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"17551:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17551:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17519:57:70"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":39472,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40854,"src":"17625:5:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":39473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17625:7:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":39476,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39448,"src":"17653:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":39474,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"17634:8:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":39475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17643:9:70","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"17634:18:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":39477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17634:27:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":39466,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39462,"src":"17583:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17585:27:70","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":38783,"src":"17583:29:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":39470,"indexExpression":{"id":39468,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39446,"src":"17613:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17583:36:70","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":39471,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17620:4:70","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"17583:41:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":39478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17583:79:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":39479,"nodeType":"ExpressionStatement","src":"17583:79:70"},{"eventCall":{"arguments":[{"id":39481,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39446,"src":"17683:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":39482,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39448,"src":"17690:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39480,"name":"Selected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38804,"src":"17674:8:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":39483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17674:24:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39484,"nodeType":"EmitStatement","src":"17669:29:70"}]},"documentation":{"id":39444,"nodeType":"StructuredDocumentation","src":"17199:149:70","text":"@notice selects the specified token for the user\n @param owner The address of the owner to check\n @param tokenId the token ID to select"},"id":39486,"implemented":true,"kind":"function","modifiers":[],"name":"_select","nameLocation":"17360:7:70","nodeType":"FunctionDefinition","parameters":{"id":39449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39446,"mutability":"mutable","name":"owner","nameLocation":"17376:5:70","nodeType":"VariableDeclaration","scope":39486,"src":"17368:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39445,"name":"address","nodeType":"ElementaryTypeName","src":"17368:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39448,"mutability":"mutable","name":"tokenId","nameLocation":"17391:7:70","nodeType":"VariableDeclaration","scope":39486,"src":"17383:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39447,"name":"uint256","nodeType":"ElementaryTypeName","src":"17383:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17367:32:70"},"returnParameters":{"id":39450,"nodeType":"ParameterList","parameters":[],"src":"17417:0:70"},"scope":41032,"src":"17351:352:70","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[3188],"body":{"id":39510,"nodeType":"Block","src":"17976:131:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39496,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39489,"src":"17998:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39495,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"17990:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":39497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17990:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":39498,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18010:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18014:6:70","memberName":"sender","nodeType":"MemberAccess","src":"18010:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17990:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865206f776e6572206f662074686520746f6b656e","id":39501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18022:53:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""},"value":"Galaxy Member: caller is not the owner of the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f","typeString":"literal_string \"Galaxy Member: caller is not the owner of the token\""}],"id":39494,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17982:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17982:94:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39503,"nodeType":"ExpressionStatement","src":"17982:94:70"},{"expression":{"arguments":[{"id":39507,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39489,"src":"18094:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":39504,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"18083:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV5_$41032_$","typeString":"type(contract super GalaxyMemberV5)"}},"id":39506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18089:4:70","memberName":"burn","nodeType":"MemberAccess","referencedDeclaration":3188,"src":"18083:10:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":39508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18083:19:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39509,"nodeType":"ExpressionStatement","src":"18083:19:70"}]},"documentation":{"id":39487,"nodeType":"StructuredDocumentation","src":"17707:184:70","text":"@notice Allows the token owner to burn their token\n @dev Overrides the ERC721BurnableUpgradeable function to include custom burning logic\n @param tokenId Token ID to burn"},"functionSelector":"42966c68","id":39511,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"17903:4:70","nodeType":"FunctionDefinition","overrides":{"id":39492,"nodeType":"OverrideSpecifier","overrides":[{"id":39491,"name":"ERC721BurnableUpgradeable","nameLocations":["17949:25:70"],"nodeType":"IdentifierPath","referencedDeclaration":3189,"src":"17949:25:70"}],"src":"17940:35:70"},"parameters":{"id":39490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39489,"mutability":"mutable","name":"tokenId","nameLocation":"17916:7:70","nodeType":"VariableDeclaration","scope":39511,"src":"17908:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39488,"name":"uint256","nodeType":"ElementaryTypeName","src":"17908:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17907:17:70"},"returnParameters":{"id":39493,"nodeType":"ParameterList","parameters":[],"src":"17976:0:70"},"scope":41032,"src":"17894:213:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39600,"nodeType":"Block","src":"18295:831:70","statements":[{"assignments":[39522],"declarations":[{"constant":false,"id":39522,"mutability":"mutable","name":"$","nameLocation":"18329:1:70","nodeType":"VariableDeclaration","scope":39600,"src":"18301:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39521,"nodeType":"UserDefinedTypeName","pathNode":{"id":39520,"name":"GalaxyMemberStorage","nameLocations":["18301:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"18301:19:70"},"referencedDeclaration":38784,"src":"18301:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39525,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39523,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"18333:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18333:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18301:57:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39528,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39515,"src":"18381:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39527,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"18373:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":39529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18373:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":39530,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18393:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18397:6:70","memberName":"sender","nodeType":"MemberAccess","src":"18393:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18373:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062792063616c6c6572","id":39533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18405:41:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""},"value":"GalaxyMember: token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d","typeString":"literal_string \"GalaxyMember: token not owned by caller\""}],"id":39526,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18365:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18365:82:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39535,"nodeType":"ExpressionStatement","src":"18365:82:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39540,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39513,"src":"18500:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":39537,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39522,"src":"18468:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18470:14:70","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":38758,"src":"18468:16:70","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"id":39539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18485:14:70","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":71482,"src":"18468:31:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":39541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18468:44:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":39542,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18516:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18520:6:70","memberName":"sender","nodeType":"MemberAccess","src":"18516:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18468:58:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572","id":39545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18534:59:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller\""},"value":"GalaxyMember: vechain node not owned or managed by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller\""}],"id":39536,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18453:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18453:146:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39547,"nodeType":"ExpressionStatement","src":"18453:146:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39550,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39513,"src":"18633:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39549,"name":"getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40563,"src":"18613:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":39551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18613:32:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":39552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18649:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18613:37:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c726561647920617474616368656420746f206120746f6b656e","id":39554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18652:48:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""},"value":"GalaxyMember: node already attached to a token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41","typeString":"literal_string \"GalaxyMember: node already attached to a token\""}],"id":39548,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18605:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18605:96:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39556,"nodeType":"ExpressionStatement","src":"18605:96:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39559,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39515,"src":"18733:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39558,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"18715:17:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":39560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18715:26:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":39561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18745:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18715:31:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c726561647920617474616368656420746f2061206e6f6465","id":39563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18748:48:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""},"value":"GalaxyMember: token already attached to a node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55","typeString":"literal_string \"GalaxyMember: token already attached to a node\""}],"id":39557,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18707:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18707:90:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39565,"nodeType":"ExpressionStatement","src":"18707:90:70"},{"expression":{"id":39572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":39566,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39522,"src":"18804:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18806:14:70","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":38762,"src":"18804:16:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":39570,"indexExpression":{"id":39568,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39513,"src":"18821:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18804:29:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":39571,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39515,"src":"18836:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18804:39:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39573,"nodeType":"ExpressionStatement","src":"18804:39:70"},{"expression":{"id":39580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":39574,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39522,"src":"18849:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18851:14:70","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":38766,"src":"18849:16:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":39578,"indexExpression":{"id":39576,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39515,"src":"18866:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18849:25:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":39579,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39513,"src":"18877:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18849:39:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39581,"nodeType":"ExpressionStatement","src":"18849:39:70"},{"eventCall":{"arguments":[{"id":39583,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39513,"src":"18913:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":39584,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39515,"src":"18926:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39582,"name":"NodeAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38859,"src":"18900:12:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":39585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18900:34:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39586,"nodeType":"EmitStatement","src":"18895:39:70"},{"assignments":[39588,null],"declarations":[{"constant":false,"id":39588,"mutability":"mutable","name":"level","nameLocation":"19009:5:70","nodeType":"VariableDeclaration","scope":39600,"src":"19001:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39587,"name":"uint256","nodeType":"ElementaryTypeName","src":"19001:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":39593,"initialValue":{"arguments":[{"id":39590,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39515,"src":"19043:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":39591,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39513,"src":"19052:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39589,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40223,"src":"19020:22:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":39592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19020:44:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"19000:64:70"},{"eventCall":{"arguments":[{"id":39595,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39515,"src":"19093:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":39596,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39513,"src":"19102:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":39597,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39588,"src":"19115:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39594,"name":"LevelWhenAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38875,"src":"19075:17:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":39598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19075:46:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39599,"nodeType":"EmitStatement","src":"19070:51:70"}]},"functionSelector":"88371110","id":39601,"implemented":true,"kind":"function","modifiers":[{"id":39518,"kind":"modifierInvocation","modifierName":{"id":39517,"name":"whenNotPaused","nameLocations":["18281:13:70"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"18281:13:70"},"nodeType":"ModifierInvocation","src":"18281:13:70"}],"name":"attachNode","nameLocation":"18217:10:70","nodeType":"FunctionDefinition","parameters":{"id":39516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39513,"mutability":"mutable","name":"nodeTokenId","nameLocation":"18236:11:70","nodeType":"VariableDeclaration","scope":39601,"src":"18228:19:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39512,"name":"uint256","nodeType":"ElementaryTypeName","src":"18228:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39515,"mutability":"mutable","name":"tokenId","nameLocation":"18257:7:70","nodeType":"VariableDeclaration","scope":39601,"src":"18249:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39514,"name":"uint256","nodeType":"ElementaryTypeName","src":"18249:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18227:38:70"},"returnParameters":{"id":39519,"nodeType":"ParameterList","parameters":[],"src":"18295:0:70"},"scope":41032,"src":"18208:918:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39692,"nodeType":"Block","src":"19217:874:70","statements":[{"assignments":[39612],"declarations":[{"constant":false,"id":39612,"mutability":"mutable","name":"$","nameLocation":"19251:1:70","nodeType":"VariableDeclaration","scope":39692,"src":"19223:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39611,"nodeType":"UserDefinedTypeName","pathNode":{"id":39610,"name":"GalaxyMemberStorage","nameLocations":["19223:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"19223:19:70"},"referencedDeclaration":38784,"src":"19223:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39615,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39613,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"19255:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19255:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19223:57:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":39640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":39631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39618,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39605,"src":"19310:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39617,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"19302:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":39619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19302:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":39620,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19322:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19326:6:70","memberName":"sender","nodeType":"MemberAccess","src":"19322:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19302:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39626,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39603,"src":"19376:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":39623,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39612,"src":"19344:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19346:14:70","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":38758,"src":"19344:16:70","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"id":39625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19361:14:70","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":71482,"src":"19344:31:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":39627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19344:44:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":39628,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19392:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19396:6:70","memberName":"sender","nodeType":"MemberAccess","src":"19392:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19344:58:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19302:100:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39635,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39603,"src":"19444:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":39632,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39612,"src":"19414:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39633,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19416:14:70","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":38758,"src":"19414:16:70","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"id":39634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19431:12:70","memberName":"getNodeOwner","nodeType":"MemberAccess","referencedDeclaration":71490,"src":"19414:29:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":39636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19414:42:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":39637,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19460:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":39638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19464:6:70","memberName":"sender","nodeType":"MemberAccess","src":"19460:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19414:56:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19302:168:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b656e206e6f74206f776e65642062792063616c6c6572","id":39641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19478:88:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\""},"value":"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810","typeString":"literal_string \"GalaxyMember: vechain node not owned or managed by caller or token not owned by caller\""}],"id":39616,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19287:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19287:285:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39643,"nodeType":"ExpressionStatement","src":"19287:285:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39646,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39603,"src":"19606:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39645,"name":"getIdAttachedToNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40563,"src":"19586:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":39647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19586:32:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":39648,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39605,"src":"19622:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19586:43:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420746f2074686520746f6b656e","id":39650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19631:46:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""},"value":"GalaxyMember: node not attached to the token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f","typeString":"literal_string \"GalaxyMember: node not attached to the token\""}],"id":39644,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19578:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19578:100:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39652,"nodeType":"ExpressionStatement","src":"19578:100:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":39655,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39605,"src":"19710:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39654,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"19692:17:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":39656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19692:26:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":39657,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39603,"src":"19722:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19692:41:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656420746f20746865206e6f6465","id":39659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19735:46:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""},"value":"GalaxyMember: token not attached to the node"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b","typeString":"literal_string \"GalaxyMember: token not attached to the node\""}],"id":39653,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19684:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19684:98:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39661,"nodeType":"ExpressionStatement","src":"19684:98:70"},{"expression":{"id":39666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"19789:36:70","subExpression":{"baseExpression":{"expression":{"id":39662,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39612,"src":"19796:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19798:14:70","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":38762,"src":"19796:16:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":39665,"indexExpression":{"id":39664,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39603,"src":"19813:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19796:29:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39667,"nodeType":"ExpressionStatement","src":"19789:36:70"},{"expression":{"id":39672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"19831:32:70","subExpression":{"baseExpression":{"expression":{"id":39668,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39612,"src":"19838:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19840:14:70","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":38766,"src":"19838:16:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":39671,"indexExpression":{"id":39670,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39605,"src":"19855:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19838:25:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39673,"nodeType":"ExpressionStatement","src":"19831:32:70"},{"eventCall":{"arguments":[{"id":39675,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39603,"src":"19888:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":39676,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39605,"src":"19901:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39674,"name":"NodeDetached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38866,"src":"19875:12:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":39677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19875:34:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39678,"nodeType":"EmitStatement","src":"19870:39:70"},{"assignments":[39680,null],"declarations":[{"constant":false,"id":39680,"mutability":"mutable","name":"level","nameLocation":"19984:5:70","nodeType":"VariableDeclaration","scope":39692,"src":"19976:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39679,"name":"uint256","nodeType":"ElementaryTypeName","src":"19976:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":39685,"initialValue":{"arguments":[{"id":39682,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39605,"src":"20018:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":39683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20027:1:70","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":39681,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40223,"src":"19995:22:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":39684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19995:34:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"19975:54:70"},{"eventCall":{"arguments":[{"id":39687,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39605,"src":"20058:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":39688,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39603,"src":"20067:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":39689,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39680,"src":"20080:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39686,"name":"LevelWhenDetached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38884,"src":"20040:17:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":39690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20040:46:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39691,"nodeType":"EmitStatement","src":"20035:51:70"}]},"functionSelector":"4a6565e1","id":39693,"implemented":true,"kind":"function","modifiers":[{"id":39608,"kind":"modifierInvocation","modifierName":{"id":39607,"name":"whenNotPaused","nameLocations":["19203:13:70"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"19203:13:70"},"nodeType":"ModifierInvocation","src":"19203:13:70"}],"name":"detachNode","nameLocation":"19139:10:70","nodeType":"FunctionDefinition","parameters":{"id":39606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39603,"mutability":"mutable","name":"nodeTokenId","nameLocation":"19158:11:70","nodeType":"VariableDeclaration","scope":39693,"src":"19150:19:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39602,"name":"uint256","nodeType":"ElementaryTypeName","src":"19150:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39605,"mutability":"mutable","name":"tokenId","nameLocation":"19179:7:70","nodeType":"VariableDeclaration","scope":39693,"src":"19171:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39604,"name":"uint256","nodeType":"ElementaryTypeName","src":"19171:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19149:38:70"},"returnParameters":{"id":39609,"nodeType":"ParameterList","parameters":[],"src":"19217:0:70"},"scope":41032,"src":"19130:961:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39716,"nodeType":"Block","src":"20401:137:70","statements":[{"assignments":[39701],"declarations":[{"constant":false,"id":39701,"mutability":"mutable","name":"$","nameLocation":"20435:1:70","nodeType":"VariableDeclaration","scope":39716,"src":"20407:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39700,"nodeType":"UserDefinedTypeName","pathNode":{"id":39699,"name":"GalaxyMemberStorage","nameLocations":["20407:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"20407:19:70"},"referencedDeclaration":38784,"src":"20407:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39704,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39702,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"20439:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20439:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20407:57:70"},{"assignments":[39706],"declarations":[{"constant":false,"id":39706,"mutability":"mutable","name":"tokenId","nameLocation":"20479:7:70","nodeType":"VariableDeclaration","scope":39716,"src":"20471:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39705,"name":"uint256","nodeType":"ElementaryTypeName","src":"20471:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":39710,"initialValue":{"id":39709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"20489:16:70","subExpression":{"expression":{"id":39707,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39701,"src":"20489:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39708,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20491:12:70","memberName":"_nextTokenId","nodeType":"MemberAccess","referencedDeclaration":38729,"src":"20489:14:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20471:34:70"},{"expression":{"arguments":[{"id":39712,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39696,"src":"20521:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":39713,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39706,"src":"20525:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39711,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[2750,2776],"referencedDeclaration":2750,"src":"20511:9:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":39714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20511:22:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39715,"nodeType":"ExpressionStatement","src":"20511:22:70"}]},"documentation":{"id":39694,"nodeType":"StructuredDocumentation","src":"20147:204:70","text":"@notice Internal function to safely mint a token\n @dev Adds a token to the total supply and assigns it to an address, incrementing the owner's balance\n @param to Address to mint the token to"},"id":39717,"implemented":true,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"20363:8:70","nodeType":"FunctionDefinition","parameters":{"id":39697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39696,"mutability":"mutable","name":"to","nameLocation":"20380:2:70","nodeType":"VariableDeclaration","scope":39717,"src":"20372:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39695,"name":"address","nodeType":"ElementaryTypeName","src":"20372:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20371:12:70"},"returnParameters":{"id":39698,"nodeType":"ParameterList","parameters":[],"src":"20401:0:70"},"scope":41032,"src":"20354:184:70","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":39778,"nodeType":"Block","src":"20782:568:70","statements":[{"assignments":[39728],"declarations":[{"constant":false,"id":39728,"mutability":"mutable","name":"$","nameLocation":"20816:1:70","nodeType":"VariableDeclaration","scope":39778,"src":"20788:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39727,"nodeType":"UserDefinedTypeName","pathNode":{"id":39726,"name":"GalaxyMemberStorage","nameLocations":["20788:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"20788:19:70"},"referencedDeclaration":38784,"src":"20788:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39731,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39729,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"20820:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20820:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20788:57:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39733,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39720,"src":"20860:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":39734,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39728,"src":"20868:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39735,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20870:9:70","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":38731,"src":"20868:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20860:19:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d7573742062652067726561746572207468616e207468652063757272656e74206d6178206c6576656c","id":39737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20881:69:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""},"value":"Galaxy Member: Max level must be greater than the current max level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074","typeString":"literal_string \"Galaxy Member: Max level must be greater than the current max level\""}],"id":39732,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20852:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20852:99:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39739,"nodeType":"ExpressionStatement","src":"20852:99:70"},{"body":{"id":39760,"nodeType":"Block","src":"21044:195:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":39751,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39728,"src":"21060:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39752,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21062:21:70","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38739,"src":"21060:23:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":39754,"indexExpression":{"id":39753,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39741,"src":"21084:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21060:26:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":39755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21089:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21060:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b6564","id":39757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21092:68:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""},"value":"Galaxy Member: B3TR to upgrade must be set for all levels unlocked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be set for all levels unlocked\""}],"id":39750,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21052:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21052:109:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39759,"nodeType":"ExpressionStatement","src":"21052:109:70"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39744,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39741,"src":"21027:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":39745,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39720,"src":"21032:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21027:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39761,"initializationExpression":{"assignments":[39741],"declarations":[{"constant":false,"id":39741,"mutability":"mutable","name":"i","nameLocation":"21020:1:70","nodeType":"VariableDeclaration","scope":39761,"src":"21012:9:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39740,"name":"uint256","nodeType":"ElementaryTypeName","src":"21012:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":39743,"initialValue":{"hexValue":"32","id":39742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21024:1:70","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"21012:13:70"},"loopExpression":{"expression":{"id":39748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"21039:3:70","subExpression":{"id":39747,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39741,"src":"21039:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39749,"nodeType":"ExpressionStatement","src":"21039:3:70"},"nodeType":"ForStatement","src":"21007:232:70"},{"assignments":[39763],"declarations":[{"constant":false,"id":39763,"mutability":"mutable","name":"oldLevel","nameLocation":"21253:8:70","nodeType":"VariableDeclaration","scope":39778,"src":"21245:16:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39762,"name":"uint256","nodeType":"ElementaryTypeName","src":"21245:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":39766,"initialValue":{"expression":{"id":39764,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39728,"src":"21264:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21266:9:70","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":38731,"src":"21264:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21245:30:70"},{"expression":{"id":39771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39767,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39728,"src":"21282:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21284:9:70","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":38731,"src":"21282:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":39770,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39720,"src":"21296:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21282:19:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39772,"nodeType":"ExpressionStatement","src":"21282:19:70"},{"eventCall":{"arguments":[{"id":39774,"name":"oldLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39763,"src":"21329:8:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":39775,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39720,"src":"21339:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":39773,"name":"MaxLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38820,"src":"21313:15:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":39776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21313:32:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39777,"nodeType":"EmitStatement","src":"21308:37:70"}]},"documentation":{"id":39718,"nodeType":"StructuredDocumentation","src":"20581:118:70","text":"@notice Sets the maximum level that tokens can be minted or upgraded to\n @dev Only callable by the admin role"},"functionSelector":"344f1ba5","id":39779,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39723,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"20762:18:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39724,"kind":"modifierInvocation","modifierName":{"id":39722,"name":"onlyRole","nameLocations":["20753:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"20753:8:70"},"nodeType":"ModifierInvocation","src":"20753:28:70"}],"name":"setMaxLevel","nameLocation":"20711:11:70","nodeType":"FunctionDefinition","parameters":{"id":39721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39720,"mutability":"mutable","name":"level","nameLocation":"20731:5:70","nodeType":"VariableDeclaration","scope":39779,"src":"20723:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39719,"name":"uint256","nodeType":"ElementaryTypeName","src":"20723:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20722:15:70"},"returnParameters":{"id":39725,"nodeType":"ParameterList","parameters":[],"src":"20782:0:70"},"scope":41032,"src":"20702:648:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39821,"nodeType":"Block","src":"21694:367:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39789,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39782,"src":"21708:21:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":39792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21741:1:70","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":39791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21733:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39790,"name":"address","nodeType":"ElementaryTypeName","src":"21733:7:70","typeDescriptions":{}}},"id":39793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21733:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21708:35:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":39795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21745:65:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""},"value":"Galaxy Member: _xAllocationsGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f","typeString":"literal_string \"Galaxy Member: _xAllocationsGovernor cannot be the zero address\""}],"id":39788,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21700:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21700:111:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39797,"nodeType":"ExpressionStatement","src":"21700:111:70"},{"assignments":[39800],"declarations":[{"constant":false,"id":39800,"mutability":"mutable","name":"$","nameLocation":"21845:1:70","nodeType":"VariableDeclaration","scope":39821,"src":"21817:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39799,"nodeType":"UserDefinedTypeName","pathNode":{"id":39798,"name":"GalaxyMemberStorage","nameLocations":["21817:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"21817:19:70"},"referencedDeclaration":38784,"src":"21817:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39803,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39801,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"21849:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21849:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21817:57:70"},{"eventCall":{"arguments":[{"id":39805,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39782,"src":"21921:21:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":39808,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39800,"src":"21952:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21954:20:70","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":38717,"src":"21952:22:70","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":39807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21944:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39806,"name":"address","nodeType":"ElementaryTypeName","src":"21944:7:70","typeDescriptions":{}}},"id":39810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21944:31:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39804,"name":"XAllocationsGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38827,"src":"21886:34:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":39811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21886:90:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39812,"nodeType":"EmitStatement","src":"21881:95:70"},{"expression":{"id":39819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39813,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39800,"src":"21982:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39815,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21984:20:70","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":38717,"src":"21982:22:70","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":39817,"name":"_xAllocationsGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39782,"src":"22034:21:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":39816,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"22007:26:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":39818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22007:49:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"21982:74:70","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":39820,"nodeType":"ExpressionStatement","src":"21982:74:70"}]},"documentation":{"id":39780,"nodeType":"StructuredDocumentation","src":"21354:202:70","text":"@notice Sets the XAllocationVotingGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _xAllocationsGovernor XAllocationVotingGovernor contract address"},"functionSelector":"3af03ea8","id":39822,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39785,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38708,"src":"21662:30:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39786,"kind":"modifierInvocation","modifierName":{"id":39784,"name":"onlyRole","nameLocations":["21653:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"21653:8:70"},"nodeType":"ModifierInvocation","src":"21653:40:70"}],"name":"setXAllocationsGovernorAddress","nameLocation":"21568:30:70","nodeType":"FunctionDefinition","parameters":{"id":39783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39782,"mutability":"mutable","name":"_xAllocationsGovernor","nameLocation":"21612:21:70","nodeType":"VariableDeclaration","scope":39822,"src":"21604:29:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39781,"name":"address","nodeType":"ElementaryTypeName","src":"21604:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21598:39:70"},"returnParameters":{"id":39787,"nodeType":"ParameterList","parameters":[],"src":"21694:0:70"},"scope":41032,"src":"21559:502:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39867,"nodeType":"Block","src":"22347:307:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39832,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39825,"src":"22361:13:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":39835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22386:1:70","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":39834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22378:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39833,"name":"address","nodeType":"ElementaryTypeName","src":"22378:7:70","typeDescriptions":{}}},"id":39836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22378:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22361:27:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","id":39838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22390:57:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""},"value":"Galaxy Member: _b3trGovernor cannot be the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134","typeString":"literal_string \"Galaxy Member: _b3trGovernor cannot be the zero address\""}],"id":39831,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22353:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22353:95:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39840,"nodeType":"ExpressionStatement","src":"22353:95:70"},{"assignments":[39843],"declarations":[{"constant":false,"id":39843,"mutability":"mutable","name":"$","nameLocation":"22482:1:70","nodeType":"VariableDeclaration","scope":39867,"src":"22454:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39842,"nodeType":"UserDefinedTypeName","pathNode":{"id":39841,"name":"GalaxyMemberStorage","nameLocations":["22454:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"22454:19:70"},"referencedDeclaration":38784,"src":"22454:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39846,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39844,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"22486:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22486:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22454:57:70"},{"eventCall":{"arguments":[{"id":39848,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39825,"src":"22550:13:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":39851,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39843,"src":"22573:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22575:12:70","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":38720,"src":"22573:14:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":39850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22565:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39849,"name":"address","nodeType":"ElementaryTypeName","src":"22565:7:70","typeDescriptions":{}}},"id":39853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22565:23:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39847,"name":"B3trGovernorAddressUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38834,"src":"22523:26:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":39854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22523:66:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39855,"nodeType":"EmitStatement","src":"22518:71:70"},{"expression":{"id":39865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39856,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39843,"src":"22595:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22597:12:70","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":38720,"src":"22595:14:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":39862,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39825,"src":"22634:13:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":39861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22626:8:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":39860,"name":"address","nodeType":"ElementaryTypeName","src":"22626:8:70","stateMutability":"payable","typeDescriptions":{}}},"id":39863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22626:22:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":39859,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"22612:13:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":39864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22612:37:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"22595:54:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":39866,"nodeType":"ExpressionStatement","src":"22595:54:70"}]},"documentation":{"id":39823,"nodeType":"StructuredDocumentation","src":"22065:168:70","text":"@notice Sets the B3TRGovernor contract address\n @dev Only callable by the contractsAddressManager role\n @param _b3trGovernor B3TRGovernor contract address"},"functionSelector":"ddd8634d","id":39868,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39828,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38708,"src":"22315:30:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39829,"kind":"modifierInvocation","modifierName":{"id":39827,"name":"onlyRole","nameLocations":["22306:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22306:8:70"},"nodeType":"ModifierInvocation","src":"22306:40:70"}],"name":"setB3trGovernorAddress","nameLocation":"22245:22:70","nodeType":"FunctionDefinition","parameters":{"id":39826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39825,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"22276:13:70","nodeType":"VariableDeclaration","scope":39868,"src":"22268:21:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39824,"name":"address","nodeType":"ElementaryTypeName","src":"22268:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22267:23:70"},"returnParameters":{"id":39830,"nodeType":"ParameterList","parameters":[],"src":"22347:0:70"},"scope":41032,"src":"22236:418:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39906,"nodeType":"Block","src":"22901:244:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":39880,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39871,"src":"22921:12:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":39879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22915:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":39878,"name":"bytes","nodeType":"ElementaryTypeName","src":"22915:5:70","typeDescriptions":{}}},"id":39881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22915:19:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":39882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22935:6:70","memberName":"length","nodeType":"MemberAccess","src":"22915:26:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":39883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22944:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22915:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520736574","id":39885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22947:37:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""},"value":"Galaxy Member: Base URI must be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782","typeString":"literal_string \"Galaxy Member: Base URI must be set\""}],"id":39877,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22907:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22907:78:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39887,"nodeType":"ExpressionStatement","src":"22907:78:70"},{"assignments":[39890],"declarations":[{"constant":false,"id":39890,"mutability":"mutable","name":"$","nameLocation":"23019:1:70","nodeType":"VariableDeclaration","scope":39906,"src":"22991:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39889,"nodeType":"UserDefinedTypeName","pathNode":{"id":39888,"name":"GalaxyMemberStorage","nameLocations":["22991:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"22991:19:70"},"referencedDeclaration":38784,"src":"22991:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39893,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39891,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"23023:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23023:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22991:57:70"},{"eventCall":{"arguments":[{"id":39895,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39871,"src":"23074:12:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":39896,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39890,"src":"23088:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23090:13:70","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":38727,"src":"23088:15:70","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":39894,"name":"BaseURIUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38841,"src":"23059:14:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":39898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23059:45:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39899,"nodeType":"EmitStatement","src":"23054:50:70"},{"expression":{"id":39904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39900,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39890,"src":"23110:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"23112:13:70","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":38727,"src":"23110:15:70","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":39903,"name":"baseTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39871,"src":"23128:12:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"23110:30:70","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":39905,"nodeType":"ExpressionStatement","src":"23110:30:70"}]},"documentation":{"id":39869,"nodeType":"StructuredDocumentation","src":"22658:148:70","text":"@notice Sets the base URI for computing the tokenURI\n @dev Only callable by the admin role\n @param baseTokenURI Base URI for the Token"},"functionSelector":"55f804b3","id":39907,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39874,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"22881:18:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39875,"kind":"modifierInvocation","modifierName":{"id":39873,"name":"onlyRole","nameLocations":["22872:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"22872:8:70"},"nodeType":"ModifierInvocation","src":"22872:28:70"}],"name":"setBaseURI","nameLocation":"22818:10:70","nodeType":"FunctionDefinition","parameters":{"id":39872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39871,"mutability":"mutable","name":"baseTokenURI","nameLocation":"22843:12:70","nodeType":"VariableDeclaration","scope":39907,"src":"22829:26:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":39870,"name":"string","nodeType":"ElementaryTypeName","src":"22829:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22828:28:70"},"returnParameters":{"id":39876,"nodeType":"ParameterList","parameters":[],"src":"22901:0:70"},"scope":41032,"src":"22809:336:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39960,"nodeType":"Block","src":"23453:404:70","statements":[{"assignments":[39919],"declarations":[{"constant":false,"id":39919,"mutability":"mutable","name":"$","nameLocation":"23487:1:70","nodeType":"VariableDeclaration","scope":39960,"src":"23459:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39918,"nodeType":"UserDefinedTypeName","pathNode":{"id":39917,"name":"GalaxyMemberStorage","nameLocations":["23459:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"23459:19:70"},"referencedDeclaration":38784,"src":"23459:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39922,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39920,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"23491:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23491:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"23459:57:70"},{"body":{"id":39954,"nodeType":"Block","src":"23576:217:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":39934,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39911,"src":"23592:20:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39936,"indexExpression":{"id":39935,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39924,"src":"23613:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23592:23:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":39937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23618:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23592:27:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d7573742062652067726561746572207468616e2030","id":39939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23621:55:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""},"value":"Galaxy Member: B3TR to upgrade must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734","typeString":"literal_string \"Galaxy Member: B3TR to upgrade must be greater than 0\""}],"id":39933,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23584:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23584:93:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39941,"nodeType":"ExpressionStatement","src":"23584:93:70"},{"expression":{"id":39952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":39942,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39919,"src":"23685:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39947,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23687:21:70","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38739,"src":"23685:23:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":39948,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39944,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39924,"src":"23709:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":39945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23713:1:70","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"23709:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23685:30:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":39949,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39911,"src":"23718:20:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39951,"indexExpression":{"id":39950,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39924,"src":"23739:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23718:23:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23685:56:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39953,"nodeType":"ExpressionStatement","src":"23685:56:70"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":39929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39926,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39924,"src":"23538:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":39927,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39911,"src":"23542:20:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":39928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23563:6:70","memberName":"length","nodeType":"MemberAccess","src":"23542:27:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23538:31:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39955,"initializationExpression":{"assignments":[39924],"declarations":[{"constant":false,"id":39924,"mutability":"mutable","name":"i","nameLocation":"23535:1:70","nodeType":"VariableDeclaration","scope":39955,"src":"23527:9:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39923,"name":"uint256","nodeType":"ElementaryTypeName","src":"23527:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":39925,"nodeType":"VariableDeclarationStatement","src":"23527:9:70"},"loopExpression":{"expression":{"id":39931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"23571:3:70","subExpression":{"id":39930,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39924,"src":"23571:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39932,"nodeType":"ExpressionStatement","src":"23571:3:70"},"nodeType":"ForStatement","src":"23522:271:70"},{"eventCall":{"arguments":[{"id":39957,"name":"b3trToUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39911,"src":"23831:20:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":39956,"name":"B3TRtoUpgradeToLevelUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38847,"src":"23803:27:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory)"}},"id":39958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23803:49:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39959,"nodeType":"EmitStatement","src":"23798:54:70"}]},"documentation":{"id":39908,"nodeType":"StructuredDocumentation","src":"23149:185:70","text":"@notice Sets the amount of B3TR required to upgrade to each level\n @dev Only callable by the admin role\n @param b3trToUpgradeToLevel Mapping of B3TR requirements per level"},"functionSelector":"b1ccbd2c","id":39961,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39914,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"23433:18:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39915,"kind":"modifierInvocation","modifierName":{"id":39913,"name":"onlyRole","nameLocations":["23424:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"23424:8:70"},"nodeType":"ModifierInvocation","src":"23424:28:70"}],"name":"setB3TRtoUpgradeToLevel","nameLocation":"23346:23:70","nodeType":"FunctionDefinition","parameters":{"id":39912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39911,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"23387:20:70","nodeType":"VariableDeclaration","scope":39961,"src":"23370:37:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":39909,"name":"uint256","nodeType":"ElementaryTypeName","src":"23370:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":39910,"nodeType":"ArrayTypeName","src":"23370:9:70","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"23369:39:70"},"returnParameters":{"id":39916,"nodeType":"ParameterList","parameters":[],"src":"23453:0:70"},"scope":41032,"src":"23337:520:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":39986,"nodeType":"Block","src":"24095:148:70","statements":[{"assignments":[39972],"declarations":[{"constant":false,"id":39972,"mutability":"mutable","name":"$","nameLocation":"24129:1:70","nodeType":"VariableDeclaration","scope":39986,"src":"24101:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":39971,"nodeType":"UserDefinedTypeName","pathNode":{"id":39970,"name":"GalaxyMemberStorage","nameLocations":["24101:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"24101:19:70"},"referencedDeclaration":38784,"src":"24101:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":39975,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39973,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"24133:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":39974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24133:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24101:57:70"},{"eventCall":{"arguments":[{"id":39977,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39964,"src":"24189:8:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":39976,"name":"PublicMintingPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38852,"src":"24169:19:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":39978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24169:29:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39979,"nodeType":"EmitStatement","src":"24164:34:70"},{"expression":{"id":39984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39980,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39972,"src":"24204:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":39982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24206:21:70","memberName":"isPublicMintingPaused","nodeType":"MemberAccess","referencedDeclaration":38752,"src":"24204:23:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":39983,"name":"isPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39964,"src":"24230:8:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24204:34:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39985,"nodeType":"ExpressionStatement","src":"24204:34:70"}]},"documentation":{"id":39962,"nodeType":"StructuredDocumentation","src":"23861:138:70","text":"@notice Pauses public minting\n @dev Only callable by the admin role\n @param isPaused Flag to pause or unpause public minting"},"functionSelector":"5b5da514","id":39987,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39967,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"24075:18:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39968,"kind":"modifierInvocation","modifierName":{"id":39966,"name":"onlyRole","nameLocations":["24066:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"24066:8:70"},"nodeType":"ModifierInvocation","src":"24066:28:70"}],"name":"setIsPublicMintingPaused","nameLocation":"24011:24:70","nodeType":"FunctionDefinition","parameters":{"id":39965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39964,"mutability":"mutable","name":"isPaused","nameLocation":"24041:8:70","nodeType":"VariableDeclaration","scope":39987,"src":"24036:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39963,"name":"bool","nodeType":"ElementaryTypeName","src":"24036:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24035:15:70"},"returnParameters":{"id":39969,"nodeType":"ParameterList","parameters":[],"src":"24095:0:70"},"scope":41032,"src":"24002:241:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":40034,"nodeType":"Block","src":"24592:340:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39999,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39992,"src":"24606:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":40000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24615:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24606:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","id":40002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24618:29:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""},"value":"GalaxyMember: invalid level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd","typeString":"literal_string \"GalaxyMember: invalid level\""}],"id":39998,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24598:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":40003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24598:50:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40004,"nodeType":"ExpressionStatement","src":"24598:50:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":40008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40006,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39990,"src":"24662:9:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":40007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24675:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24662:14:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","id":40009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24678:34:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""},"value":"GalaxyMember: invalid node level"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f","typeString":"literal_string \"GalaxyMember: invalid node level\""}],"id":40005,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24654:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":40010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24654:59:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40011,"nodeType":"ExpressionStatement","src":"24654:59:70"},{"assignments":[40014],"declarations":[{"constant":false,"id":40014,"mutability":"mutable","name":"$","nameLocation":"24748:1:70","nodeType":"VariableDeclaration","scope":40034,"src":"24720:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40013,"nodeType":"UserDefinedTypeName","pathNode":{"id":40012,"name":"GalaxyMemberStorage","nameLocations":["24720:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"24720:19:70"},"referencedDeclaration":38784,"src":"24720:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40017,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40015,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"24752:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24752:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24720:57:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40019,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39992,"src":"24792:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":40020,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40014,"src":"24801:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24803:9:70","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":38731,"src":"24801:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24792:20:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373207468616e206f7220657175616c20746f204d41585f4c4556454c","id":40023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24814:61:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""},"value":"GalaxyMember: level must be less than or equal to MAX_LEVEL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3","typeString":"literal_string \"GalaxyMember: level must be less than or equal to MAX_LEVEL\""}],"id":40018,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24784:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":40024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24784:92:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40025,"nodeType":"ExpressionStatement","src":"24784:92:70"},{"expression":{"id":40032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":40026,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40014,"src":"24883:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24885:23:70","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":38770,"src":"24883:25:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":40030,"indexExpression":{"id":40028,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39990,"src":"24909:9:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24883:36:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40031,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39992,"src":"24922:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24883:44:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40033,"nodeType":"ExpressionStatement","src":"24883:44:70"}]},"documentation":{"id":39988,"nodeType":"StructuredDocumentation","src":"24247:231:70","text":"@notice Sets the treasury contract address\n @param nodeLevel Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\n @param level new free upgrade level"},"functionSelector":"001db0dd","id":40035,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":39995,"name":"NODES_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38713,"src":"24572:18:70","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39996,"kind":"modifierInvocation","modifierName":{"id":39994,"name":"onlyRole","nameLocations":["24563:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"24563:8:70"},"nodeType":"ModifierInvocation","src":"24563:28:70"}],"name":"setNodeToFreeUpgradeLevel","nameLocation":"24490:25:70","nodeType":"FunctionDefinition","parameters":{"id":39993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39990,"mutability":"mutable","name":"nodeLevel","nameLocation":"24522:9:70","nodeType":"VariableDeclaration","scope":40035,"src":"24516:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":39989,"name":"uint8","nodeType":"ElementaryTypeName","src":"24516:5:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":39992,"mutability":"mutable","name":"level","nameLocation":"24541:5:70","nodeType":"VariableDeclaration","scope":40035,"src":"24533:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39991,"name":"uint256","nodeType":"ElementaryTypeName","src":"24533:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24515:32:70"},"returnParameters":{"id":39997,"nodeType":"ParameterList","parameters":[],"src":"24592:0:70"},"scope":41032,"src":"24481:451:70","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":40058,"nodeType":"Block","src":"25131:139:70","statements":[{"assignments":[40044],"declarations":[{"constant":false,"id":40044,"mutability":"mutable","name":"nodeId","nameLocation":"25145:6:70","nodeType":"VariableDeclaration","scope":40058,"src":"25137:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40043,"name":"uint256","nodeType":"ElementaryTypeName","src":"25137:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40048,"initialValue":{"arguments":[{"id":40046,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40038,"src":"25172:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40045,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"25154:17:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":40047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25154:26:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25137:43:70"},{"assignments":[40050,null],"declarations":[{"constant":false,"id":40050,"mutability":"mutable","name":"level","nameLocation":"25196:5:70","nodeType":"VariableDeclaration","scope":40058,"src":"25188:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40049,"name":"uint256","nodeType":"ElementaryTypeName","src":"25188:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":40055,"initialValue":{"arguments":[{"id":40052,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40038,"src":"25230:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":40053,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40044,"src":"25239:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40051,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40223,"src":"25207:22:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":40054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25207:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25187:59:70"},{"expression":{"id":40056,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40050,"src":"25260:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40042,"id":40057,"nodeType":"Return","src":"25253:12:70"}]},"documentation":{"id":40036,"nodeType":"StructuredDocumentation","src":"24975:81:70","text":"@notice Gets the level of the GM token\n @param tokenId Token ID to check"},"functionSelector":"6d5e3032","id":40059,"implemented":true,"kind":"function","modifiers":[],"name":"levelOf","nameLocation":"25068:7:70","nodeType":"FunctionDefinition","parameters":{"id":40039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40038,"mutability":"mutable","name":"tokenId","nameLocation":"25084:7:70","nodeType":"VariableDeclaration","scope":40059,"src":"25076:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40037,"name":"uint256","nodeType":"ElementaryTypeName","src":"25076:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25075:17:70"},"returnParameters":{"id":40042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40059,"src":"25122:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40040,"name":"uint256","nodeType":"ElementaryTypeName","src":"25122:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25121:9:70"},"scope":41032,"src":"25059:211:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40109,"nodeType":"Block","src":"25460:610:70","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40068,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40062,"src":"25479:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40067,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"25470:8:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":40069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25470:17:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25499:1:70","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":40071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25491:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40070,"name":"address","nodeType":"ElementaryTypeName","src":"25491:7:70","typeDescriptions":{}}},"id":40073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25491:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25470:31:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40077,"nodeType":"IfStatement","src":"25466:45:70","trueBody":{"expression":{"hexValue":"30","id":40075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25510:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":40066,"id":40076,"nodeType":"Return","src":"25503:8:70"}},{"assignments":[40079],"declarations":[{"constant":false,"id":40079,"mutability":"mutable","name":"nodeId","nameLocation":"25526:6:70","nodeType":"VariableDeclaration","scope":40109,"src":"25518:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40078,"name":"uint256","nodeType":"ElementaryTypeName","src":"25518:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40083,"initialValue":{"arguments":[{"id":40081,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40062,"src":"25553:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40080,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"25535:17:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":40082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25535:26:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25518:43:70"},{"assignments":[40085,40087],"declarations":[{"constant":false,"id":40085,"mutability":"mutable","name":"currentLevel","nameLocation":"25648:12:70","nodeType":"VariableDeclaration","scope":40109,"src":"25640:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40084,"name":"uint256","nodeType":"ElementaryTypeName","src":"25640:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40087,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"25670:15:70","nodeType":"VariableDeclaration","scope":40109,"src":"25662:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40086,"name":"uint256","nodeType":"ElementaryTypeName","src":"25662:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40092,"initialValue":{"arguments":[{"id":40089,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40062,"src":"25712:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":40090,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40079,"src":"25721:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40088,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40223,"src":"25689:22:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":40091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25689:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25639:89:70"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40093,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40085,"src":"25794:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":40094,"name":"MAX_LEVEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40548,"src":"25810:9:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":40095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25810:11:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25794:27:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40100,"nodeType":"IfStatement","src":"25790:56:70","trueBody":{"id":40099,"nodeType":"Block","src":"25823:23:70","statements":[{"expression":{"hexValue":"30","id":40097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25838:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":40066,"id":40098,"nodeType":"Return","src":"25831:8:70"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40102,"name":"currentLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40085,"src":"26030:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":40103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26045:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"26030:16:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40101,"name":"getB3TRtoUpgradeToLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40420,"src":"26006:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":40105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26006:41:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":40106,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40087,"src":"26050:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26006:59:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40066,"id":40108,"nodeType":"Return","src":"25999:66:70"}]},"documentation":{"id":40060,"nodeType":"StructuredDocumentation","src":"25274:102:70","text":"@notice Gets the B3TR required to upgrade to the next level\n @param tokenId Token ID to check"},"functionSelector":"a51d2e0b","id":40110,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgrade","nameLocation":"25388:16:70","nodeType":"FunctionDefinition","parameters":{"id":40063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40062,"mutability":"mutable","name":"tokenId","nameLocation":"25413:7:70","nodeType":"VariableDeclaration","scope":40110,"src":"25405:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40061,"name":"uint256","nodeType":"ElementaryTypeName","src":"25405:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25404:17:70"},"returnParameters":{"id":40066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40110,"src":"25451:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40064,"name":"uint256","nodeType":"ElementaryTypeName","src":"25451:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25450:9:70"},"scope":41032,"src":"25379:691:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40222,"nodeType":"Block","src":"26415:1637:70","statements":[{"assignments":[40124],"declarations":[{"constant":false,"id":40124,"mutability":"mutable","name":"$","nameLocation":"26449:1:70","nodeType":"VariableDeclaration","scope":40222,"src":"26421:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40123,"nodeType":"UserDefinedTypeName","pathNode":{"id":40122,"name":"GalaxyMemberStorage","nameLocations":["26421:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"26421:19:70"},"referencedDeclaration":38784,"src":"26421:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40127,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40125,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"26453:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26453:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"26421:57:70"},{"assignments":[40129],"declarations":[{"constant":false,"id":40129,"mutability":"mutable","name":"level","nameLocation":"26593:5:70","nodeType":"VariableDeclaration","scope":40222,"src":"26585:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40128,"name":"uint256","nodeType":"ElementaryTypeName","src":"26585:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40131,"initialValue":{"hexValue":"31","id":40130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26601:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"26585:17:70"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40132,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40115,"src":"26693:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":40133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26703:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26693:11:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40138,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40115,"src":"26740:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":40135,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40124,"src":"26708:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26710:14:70","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":38758,"src":"26708:16:70","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"id":40137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26725:14:70","memberName":"getNodeManager","nodeType":"MemberAccess","referencedDeclaration":71482,"src":"26708:31:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":40139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26708:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":40141,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40113,"src":"26759:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40140,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"26751:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":40142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26751:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26708:59:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"26693:74:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40174,"nodeType":"IfStatement","src":"26689:652:70","trueBody":{"id":40173,"nodeType":"Block","src":"26769:572:70","statements":[{"assignments":[40146],"declarations":[{"constant":false,"id":40146,"mutability":"mutable","name":"nodeLevel","nameLocation":"26893:9:70","nodeType":"VariableDeclaration","scope":40173,"src":"26887:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":40145,"name":"uint8","nodeType":"ElementaryTypeName","src":"26887:5:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":40150,"initialValue":{"arguments":[{"id":40148,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40115,"src":"26920:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40147,"name":"getNodeLevelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40244,"src":"26905:14:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":40149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26905:22:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"26887:40:70"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":40153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40151,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40146,"src":"26989:9:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":40152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27002:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26989:14:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40172,"nodeType":"IfStatement","src":"26985:350:70","trueBody":{"id":40171,"nodeType":"Block","src":"27005:330:70","statements":[{"assignments":[40155],"declarations":[{"constant":false,"id":40155,"mutability":"mutable","name":"nodeToFreeLevel","nameLocation":"27091:15:70","nodeType":"VariableDeclaration","scope":40171,"src":"27083:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40154,"name":"uint256","nodeType":"ElementaryTypeName","src":"27083:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40159,"initialValue":{"arguments":[{"id":40157,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40146,"src":"27128:9:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":40156,"name":"getNodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40593,"src":"27109:18:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":40158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27109:29:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27083:55:70"},{"expression":{"id":40169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":40160,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40129,"src":"27256:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40161,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40155,"src":"27264:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":40162,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40124,"src":"27283:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27285:9:70","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":38731,"src":"27283:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27264:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":40166,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40124,"src":"27315:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27317:9:70","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":38731,"src":"27315:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"27264:62:70","trueExpression":{"id":40165,"name":"nodeToFreeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40155,"src":"27297:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27256:70:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40170,"nodeType":"ExpressionStatement","src":"27256:70:70"}]}}]}},{"assignments":[40176],"declarations":[{"constant":false,"id":40176,"mutability":"mutable","name":"b3trDonatedLeft","nameLocation":"27451:15:70","nodeType":"VariableDeclaration","scope":40222,"src":"27443:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40175,"name":"uint256","nodeType":"ElementaryTypeName","src":"27443:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40181,"initialValue":{"baseExpression":{"expression":{"id":40177,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40124,"src":"27469:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27471:21:70","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":38774,"src":"27469:23:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":40180,"indexExpression":{"id":40179,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40113,"src":"27493:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27469:32:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27443:58:70"},{"body":{"id":40216,"nodeType":"Block","src":"27691:268:70","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40195,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40176,"src":"27703:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"baseExpression":{"expression":{"id":40196,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40124,"src":"27722:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27724:21:70","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38739,"src":"27722:23:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":40199,"indexExpression":{"id":40198,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40183,"src":"27746:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27722:26:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27703:45:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":40214,"nodeType":"Block","src":"27839:114:70","statements":[{"id":40213,"nodeType":"Break","src":"27939:5:70"}]},"id":40215,"nodeType":"IfStatement","src":"27699:254:70","trueBody":{"id":40212,"nodeType":"Block","src":"27750:83:70","statements":[{"expression":{"id":40203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":40201,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40129,"src":"27760:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40202,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40183,"src":"27768:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27760:9:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40204,"nodeType":"ExpressionStatement","src":"27760:9:70"},{"expression":{"id":40210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":40205,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40176,"src":"27779:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"baseExpression":{"expression":{"id":40206,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40124,"src":"27798:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27800:21:70","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38739,"src":"27798:23:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":40209,"indexExpression":{"id":40208,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40183,"src":"27822:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27798:26:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27779:45:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40211,"nodeType":"ExpressionStatement","src":"27779:45:70"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40188,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40183,"src":"27668:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":40189,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40124,"src":"27673:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40190,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27675:9:70","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":38731,"src":"27673:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27668:16:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40217,"initializationExpression":{"assignments":[40183],"declarations":[{"constant":false,"id":40183,"mutability":"mutable","name":"i","nameLocation":"27653:1:70","nodeType":"VariableDeclaration","scope":40217,"src":"27645:9:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40182,"name":"uint256","nodeType":"ElementaryTypeName","src":"27645:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40187,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40184,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40129,"src":"27657:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":40185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27665:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"27657:9:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27645:21:70"},"loopExpression":{"expression":{"id":40193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27686:3:70","subExpression":{"id":40192,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40183,"src":"27686:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40194,"nodeType":"ExpressionStatement","src":"27686:3:70"},"nodeType":"ForStatement","src":"27640:319:70"},{"expression":{"components":[{"id":40218,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40129,"src":"28024:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":40219,"name":"b3trDonatedLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40176,"src":"28031:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":40220,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"28023:24:70","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"functionReturnParameters":40121,"id":40221,"nodeType":"Return","src":"28016:31:70"}]},"documentation":{"id":40111,"nodeType":"StructuredDocumentation","src":"26074:224:70","text":"@notice Gets the level of the GM token and the B3TR Donated left to upgrade\n @param tokenId Token ID to check\n @return level The level of the token\n @return b3trDonatedLeft The B3TR donated left to upgrade"},"id":40223,"implemented":true,"kind":"function","modifiers":[],"name":"_getLevelOfAndB3TRleft","nameLocation":"26310:22:70","nodeType":"FunctionDefinition","parameters":{"id":40116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40113,"mutability":"mutable","name":"tokenId","nameLocation":"26341:7:70","nodeType":"VariableDeclaration","scope":40223,"src":"26333:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40112,"name":"uint256","nodeType":"ElementaryTypeName","src":"26333:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40115,"mutability":"mutable","name":"nodeId","nameLocation":"26358:6:70","nodeType":"VariableDeclaration","scope":40223,"src":"26350:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40114,"name":"uint256","nodeType":"ElementaryTypeName","src":"26350:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26332:33:70"},"returnParameters":{"id":40121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40118,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40223,"src":"26397:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40117,"name":"uint256","nodeType":"ElementaryTypeName","src":"26397:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40223,"src":"26406:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40119,"name":"uint256","nodeType":"ElementaryTypeName","src":"26406:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26396:18:70"},"scope":41032,"src":"26301:1751:70","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":40243,"nodeType":"Block","src":"28232:119:70","statements":[{"assignments":[40233],"declarations":[{"constant":false,"id":40233,"mutability":"mutable","name":"$","nameLocation":"28266:1:70","nodeType":"VariableDeclaration","scope":40243,"src":"28238:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40232,"nodeType":"UserDefinedTypeName","pathNode":{"id":40231,"name":"GalaxyMemberStorage","nameLocations":["28238:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"28238:19:70"},"referencedDeclaration":38784,"src":"28238:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40236,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40234,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"28270:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28270:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28238:57:70"},{"expression":{"arguments":[{"id":40240,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40226,"src":"28339:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":40237,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40233,"src":"28309:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28311:14:70","memberName":"nodeManagement","nodeType":"MemberAccess","referencedDeclaration":38758,"src":"28309:16:70","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"id":40239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28326:12:70","memberName":"getNodeLevel","nodeType":"MemberAccess","referencedDeclaration":71568,"src":"28309:29:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view external returns (uint8)"}},"id":40241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28309:37:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":40230,"id":40242,"nodeType":"Return","src":"28302:44:70"}]},"documentation":{"id":40224,"nodeType":"StructuredDocumentation","src":"28056:97:70","text":"@notice Gets the strength level of the Vechain node\n @param nodeId Vechain Node Token ID"},"functionSelector":"3ff453af","id":40244,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeLevelOf","nameLocation":"28165:14:70","nodeType":"FunctionDefinition","parameters":{"id":40227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40226,"mutability":"mutable","name":"nodeId","nameLocation":"28188:6:70","nodeType":"VariableDeclaration","scope":40244,"src":"28180:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40225,"name":"uint256","nodeType":"ElementaryTypeName","src":"28180:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28179:16:70"},"returnParameters":{"id":40230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40229,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40244,"src":"28225:5:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":40228,"name":"uint8","nodeType":"ElementaryTypeName","src":"28225:5:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"28224:7:70"},"scope":41032,"src":"28156:195:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40265,"nodeType":"Block","src":"28543:126:70","statements":[{"assignments":[40254],"declarations":[{"constant":false,"id":40254,"mutability":"mutable","name":"$","nameLocation":"28577:1:70","nodeType":"VariableDeclaration","scope":40265,"src":"28549:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40253,"nodeType":"UserDefinedTypeName","pathNode":{"id":40252,"name":"GalaxyMemberStorage","nameLocations":["28549:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"28549:19:70"},"referencedDeclaration":38784,"src":"28549:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40257,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40255,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"28581:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28581:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28549:57:70"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":40258,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40254,"src":"28619:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28621:27:70","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":38783,"src":"28619:29:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":40261,"indexExpression":{"id":40260,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40247,"src":"28649:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28619:36:70","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":40262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28656:6:70","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"28619:43:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":40263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28619:45:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":40251,"id":40264,"nodeType":"Return","src":"28612:52:70"}]},"documentation":{"id":40245,"nodeType":"StructuredDocumentation","src":"28355:104:70","text":"@notice Gets the selected token ID for the user\n @param owner The address of the owner to check"},"functionSelector":"d206885d","id":40266,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenId","nameLocation":"28471:18:70","nodeType":"FunctionDefinition","parameters":{"id":40248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40247,"mutability":"mutable","name":"owner","nameLocation":"28498:5:70","nodeType":"VariableDeclaration","scope":40266,"src":"28490:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40246,"name":"address","nodeType":"ElementaryTypeName","src":"28490:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28489:15:70"},"returnParameters":{"id":40251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40266,"src":"28534:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40249,"name":"uint256","nodeType":"ElementaryTypeName","src":"28534:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28533:9:70"},"scope":41032,"src":"28462:207:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40290,"nodeType":"Block","src":"28966:148:70","statements":[{"assignments":[40278],"declarations":[{"constant":false,"id":40278,"mutability":"mutable","name":"$","nameLocation":"29000:1:70","nodeType":"VariableDeclaration","scope":40290,"src":"28972:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40277,"nodeType":"UserDefinedTypeName","pathNode":{"id":40276,"name":"GalaxyMemberStorage","nameLocations":["28972:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"28972:19:70"},"referencedDeclaration":38784,"src":"28972:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40281,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40279,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"29004:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29004:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28972:57:70"},{"expression":{"arguments":[{"id":40287,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40271,"src":"29097:11:70","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":40282,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40278,"src":"29042:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29044:27:70","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":38783,"src":"29042:29:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":40285,"indexExpression":{"id":40284,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40269,"src":"29072:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29042:36:70","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":40286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29079:17:70","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"29042:54:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":40288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29042:67:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":40275,"id":40289,"nodeType":"Return","src":"29035:74:70"}]},"documentation":{"id":40267,"nodeType":"StructuredDocumentation","src":"28673:182:70","text":"@notice Gets the selected token ID for the user in a specific block number\n @param owner The address of the owner to check\n @param blockNumber The block number to check"},"functionSelector":"3c60f55d","id":40291,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenIdAtBlock","nameLocation":"28867:25:70","nodeType":"FunctionDefinition","parameters":{"id":40272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40269,"mutability":"mutable","name":"owner","nameLocation":"28901:5:70","nodeType":"VariableDeclaration","scope":40291,"src":"28893:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40268,"name":"address","nodeType":"ElementaryTypeName","src":"28893:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40271,"mutability":"mutable","name":"blockNumber","nameLocation":"28915:11:70","nodeType":"VariableDeclaration","scope":40291,"src":"28908:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40270,"name":"uint48","nodeType":"ElementaryTypeName","src":"28908:6:70","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"28892:35:70"},"returnParameters":{"id":40275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40291,"src":"28957:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40273,"name":"uint256","nodeType":"ElementaryTypeName","src":"28957:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28956:9:70"},"scope":41032,"src":"28858:256:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40310,"nodeType":"Block","src":"29379:94:70","statements":[{"assignments":[40302,null],"declarations":[{"constant":false,"id":40302,"mutability":"mutable","name":"level","nameLocation":"29394:5:70","nodeType":"VariableDeclaration","scope":40310,"src":"29386:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40301,"name":"uint256","nodeType":"ElementaryTypeName","src":"29386:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":40307,"initialValue":{"arguments":[{"id":40304,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40294,"src":"29428:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":40305,"name":"nodeTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40296,"src":"29437:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40303,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40223,"src":"29405:22:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":40306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29405:44:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29385:64:70"},{"expression":{"id":40308,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40302,"src":"29463:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40300,"id":40309,"nodeType":"Return","src":"29456:12:70"}]},"documentation":{"id":40292,"nodeType":"StructuredDocumentation","src":"29118:146:70","text":"@notice Gets the level of the token after attaching a node\n @param tokenId - GM Token ID\n @param nodeTokenId - Vechain Node Token ID"},"functionSelector":"a1843bd0","id":40311,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterAttachingNode","nameLocation":"29276:26:70","nodeType":"FunctionDefinition","parameters":{"id":40297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40294,"mutability":"mutable","name":"tokenId","nameLocation":"29311:7:70","nodeType":"VariableDeclaration","scope":40311,"src":"29303:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40293,"name":"uint256","nodeType":"ElementaryTypeName","src":"29303:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40296,"mutability":"mutable","name":"nodeTokenId","nameLocation":"29328:11:70","nodeType":"VariableDeclaration","scope":40311,"src":"29320:19:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40295,"name":"uint256","nodeType":"ElementaryTypeName","src":"29320:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29302:38:70"},"returnParameters":{"id":40300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40311,"src":"29370:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40298,"name":"uint256","nodeType":"ElementaryTypeName","src":"29370:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29369:9:70"},"scope":41032,"src":"29267:206:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40328,"nodeType":"Block","src":"29668:84:70","statements":[{"assignments":[40320,null],"declarations":[{"constant":false,"id":40320,"mutability":"mutable","name":"level","nameLocation":"29683:5:70","nodeType":"VariableDeclaration","scope":40328,"src":"29675:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40319,"name":"uint256","nodeType":"ElementaryTypeName","src":"29675:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":40325,"initialValue":{"arguments":[{"id":40322,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40314,"src":"29717:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":40323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29726:1:70","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":40321,"name":"_getLevelOfAndB3TRleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40223,"src":"29694:22:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256,uint256)"}},"id":40324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29694:34:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29674:54:70"},{"expression":{"id":40326,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40320,"src":"29742:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40318,"id":40327,"nodeType":"Return","src":"29735:12:70"}]},"documentation":{"id":40312,"nodeType":"StructuredDocumentation","src":"29477:97:70","text":"@notice Gets the level of the token after detaching a node\n @param tokenId - GM Token ID"},"functionSelector":"cc421d07","id":40329,"implemented":true,"kind":"function","modifiers":[],"name":"getLevelAfterDetachingNode","nameLocation":"29586:26:70","nodeType":"FunctionDefinition","parameters":{"id":40315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40314,"mutability":"mutable","name":"tokenId","nameLocation":"29621:7:70","nodeType":"VariableDeclaration","scope":40329,"src":"29613:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40313,"name":"uint256","nodeType":"ElementaryTypeName","src":"29613:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29612:17:70"},"returnParameters":{"id":40318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40317,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40329,"src":"29659:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40316,"name":"uint256","nodeType":"ElementaryTypeName","src":"29659:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29658:9:70"},"scope":41032,"src":"29577:175:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40389,"nodeType":"Block","src":"29957:458:70","statements":[{"assignments":[40339],"declarations":[{"constant":false,"id":40339,"mutability":"mutable","name":"$","nameLocation":"29991:1:70","nodeType":"VariableDeclaration","scope":40389,"src":"29963:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40338,"nodeType":"UserDefinedTypeName","pathNode":{"id":40337,"name":"GalaxyMemberStorage","nameLocations":["29963:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"29963:19:70"},"referencedDeclaration":38784,"src":"29963:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40342,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40340,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"29995:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29995:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"29963:57:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"id":40352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":40344,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40339,"src":"30041:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40345,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30043:20:70","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":38717,"src":"30041:22:70","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":40349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30102:1:70","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":40348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30094:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40347,"name":"address","nodeType":"ElementaryTypeName","src":"30094:7:70","typeDescriptions":{}}},"id":40350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30094:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40346,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"30067:26:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":40351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30067:38:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"30041:64:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67476f7665726e6f72206e6f7420736574","id":40353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30113:50:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""},"value":"Galaxy Member: XAllocationVotingGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36","typeString":"literal_string \"Galaxy Member: XAllocationVotingGovernor not set\""}],"id":40343,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"30026:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":40354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30026:143:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40355,"nodeType":"ExpressionStatement","src":"30026:143:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"id":40368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":40357,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40339,"src":"30183:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30185:12:70","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":38720,"src":"30183:14:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":40364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30231:1:70","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":40363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30223:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40362,"name":"address","nodeType":"ElementaryTypeName","src":"30223:7:70","typeDescriptions":{}}},"id":40365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30223:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30215:8:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":40360,"name":"address","nodeType":"ElementaryTypeName","src":"30215:8:70","stateMutability":"payable","typeDescriptions":{}}},"id":40366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30215:19:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":40359,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"30201:13:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}},"id":40367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30201:34:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"30183:52:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420736574","id":40369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30237:37:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""},"value":"Galaxy Member: B3TRGovernor not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5","typeString":"literal_string \"Galaxy Member: B3TRGovernor not set\""}],"id":40356,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"30175:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":40370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30175:100:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40371,"nodeType":"ExpressionStatement","src":"30175:100:70"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40375,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40332,"src":"30322:4:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":40372,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40339,"src":"30286:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30288:20:70","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":38717,"src":"30286:22:70","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":40374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30309:12:70","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":71083,"src":"30286:35:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":40376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30286:41:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":40380,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40332,"src":"30359:4:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":40377,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40339,"src":"30331:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30333:12:70","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":38720,"src":"30331:14:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":40379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30346:12:70","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":63603,"src":"30331:27:70","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":40381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30331:33:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30286:78:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40386,"nodeType":"IfStatement","src":"30282:110:70","trueBody":{"id":40385,"nodeType":"Block","src":"30366:26:70","statements":[{"expression":{"hexValue":"74727565","id":40383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30381:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":40336,"id":40384,"nodeType":"Return","src":"30374:11:70"}]}},{"expression":{"hexValue":"66616c7365","id":40387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30405:5:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":40336,"id":40388,"nodeType":"Return","src":"30398:12:70"}]},"documentation":{"id":40330,"nodeType":"StructuredDocumentation","src":"29756:115:70","text":"@notice Gets whether the user has participated in governance\n @param user The address of the user to check"},"functionSelector":"8c5b76fb","id":40390,"implemented":true,"kind":"function","modifiers":[],"name":"participatedInGovernance","nameLocation":"29883:24:70","nodeType":"FunctionDefinition","parameters":{"id":40333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40332,"mutability":"mutable","name":"user","nameLocation":"29916:4:70","nodeType":"VariableDeclaration","scope":40390,"src":"29908:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40331,"name":"address","nodeType":"ElementaryTypeName","src":"29908:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29907:14:70"},"returnParameters":{"id":40336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40335,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40390,"src":"29951:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40334,"name":"bool","nodeType":"ElementaryTypeName","src":"29951:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29950:6:70"},"scope":41032,"src":"29874:541:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40399,"nodeType":"Block","src":"30541:28:70","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40396,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[41031],"referencedDeclaration":41031,"src":"30554:8:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":40397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30554:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":40395,"id":40398,"nodeType":"Return","src":"30547:17:70"}]},"documentation":{"id":40391,"nodeType":"StructuredDocumentation","src":"30419:56:70","text":"@notice Gets the base URI for computing the tokenURI"},"functionSelector":"6c0360eb","id":40400,"implemented":true,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"30487:7:70","nodeType":"FunctionDefinition","parameters":{"id":40392,"nodeType":"ParameterList","parameters":[],"src":"30494:2:70"},"returnParameters":{"id":40395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40394,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40400,"src":"30526:13:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40393,"name":"string","nodeType":"ElementaryTypeName","src":"30526:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30525:15:70"},"scope":41032,"src":"30478:91:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40419,"nodeType":"Block","src":"30766:111:70","statements":[{"assignments":[40410],"declarations":[{"constant":false,"id":40410,"mutability":"mutable","name":"$","nameLocation":"30800:1:70","nodeType":"VariableDeclaration","scope":40419,"src":"30772:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40409,"nodeType":"UserDefinedTypeName","pathNode":{"id":40408,"name":"GalaxyMemberStorage","nameLocations":["30772:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"30772:19:70"},"referencedDeclaration":38784,"src":"30772:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40413,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40411,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"30804:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30804:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30772:57:70"},{"expression":{"baseExpression":{"expression":{"id":40414,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40410,"src":"30842:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30844:21:70","memberName":"_b3trToUpgradeToLevel","nodeType":"MemberAccess","referencedDeclaration":38739,"src":"30842:23:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":40417,"indexExpression":{"id":40416,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40403,"src":"30866:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30842:30:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40407,"id":40418,"nodeType":"Return","src":"30835:37:70"}]},"documentation":{"id":40401,"nodeType":"StructuredDocumentation","src":"30573:104:70","text":"@notice Gets the B3TR required to upgrade to a specific level\n @param level Level to upgrade to"},"functionSelector":"2b42df38","id":40420,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRtoUpgradeToLevel","nameLocation":"30689:23:70","nodeType":"FunctionDefinition","parameters":{"id":40404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40403,"mutability":"mutable","name":"level","nameLocation":"30721:5:70","nodeType":"VariableDeclaration","scope":40420,"src":"30713:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40402,"name":"uint256","nodeType":"ElementaryTypeName","src":"30713:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30712:15:70"},"returnParameters":{"id":40407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40406,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40420,"src":"30757:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40405,"name":"uint256","nodeType":"ElementaryTypeName","src":"30757:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30756:9:70"},"scope":41032,"src":"30680:197:70","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2274],"body":{"id":40464,"nodeType":"Block","src":"31174:205:70","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40431,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40423,"src":"31193:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40430,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"31184:8:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":40432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31184:17:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31213:1:70","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":40434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31205:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40433,"name":"address","nodeType":"ElementaryTypeName","src":"31205:7:70","typeDescriptions":{}}},"id":40436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31205:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"31184:31:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40440,"nodeType":"IfStatement","src":"31180:46:70","trueBody":{"expression":{"hexValue":"","id":40438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31224:2:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":40429,"id":40439,"nodeType":"Return","src":"31217:9:70"}},{"assignments":[40442],"declarations":[{"constant":false,"id":40442,"mutability":"mutable","name":"levelOfToken","nameLocation":"31241:12:70","nodeType":"VariableDeclaration","scope":40464,"src":"31233:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40441,"name":"uint256","nodeType":"ElementaryTypeName","src":"31233:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40446,"initialValue":{"arguments":[{"id":40444,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40423,"src":"31264:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40443,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40059,"src":"31256:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":40445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31256:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31233:39:70"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40447,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40442,"src":"31285:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":40448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31300:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31285:16:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":40461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31372:2:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":40462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"31285:89:70","trueExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":40453,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40400,"src":"31318:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":40454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31318:9:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":40457,"name":"levelOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40442,"src":"31346:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":40455,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"31329:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":40456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31337:8:70","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"31329:16:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":40458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31329:30:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6a736f6e","id":40459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31361:7:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":40451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31304:6:70","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":40450,"name":"string","nodeType":"ElementaryTypeName","src":"31304:6:70","typeDescriptions":{}}},"id":40452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31311:6:70","memberName":"concat","nodeType":"MemberAccess","src":"31304:13:70","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":40460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31304:65:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":40429,"id":40463,"nodeType":"Return","src":"31278:96:70"}]},"documentation":{"id":40421,"nodeType":"StructuredDocumentation","src":"30881:183:70","text":"@notice gets the token URI for a specific token\n @dev computes the token URI based on the base URI and the level of the token\n @param tokenId Token ID to get the URI for"},"functionSelector":"c87b56dd","id":40465,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"31076:8:70","nodeType":"FunctionDefinition","overrides":{"id":40426,"nodeType":"OverrideSpecifier","overrides":[{"id":40425,"name":"ERC721Upgradeable","nameLocations":["31131:17:70"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"31131:17:70"}],"src":"31122:27:70"},"parameters":{"id":40424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40423,"mutability":"mutable","name":"tokenId","nameLocation":"31093:7:70","nodeType":"VariableDeclaration","scope":40465,"src":"31085:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40422,"name":"uint256","nodeType":"ElementaryTypeName","src":"31085:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31084:17:70"},"returnParameters":{"id":40429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40428,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40465,"src":"31159:13:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40427,"name":"string","nodeType":"ElementaryTypeName","src":"31159:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31158:15:70"},"scope":41032,"src":"31067:312:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40481,"nodeType":"Block","src":"31527:103:70","statements":[{"assignments":[40474],"declarations":[{"constant":false,"id":40474,"mutability":"mutable","name":"$","nameLocation":"31561:1:70","nodeType":"VariableDeclaration","scope":40481,"src":"31533:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40473,"nodeType":"UserDefinedTypeName","pathNode":{"id":40472,"name":"GalaxyMemberStorage","nameLocations":["31533:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"31533:19:70"},"referencedDeclaration":38784,"src":"31533:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40477,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40475,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"31565:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31565:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31533:57:70"},{"expression":{"expression":{"id":40478,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40474,"src":"31603:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31605:20:70","memberName":"xAllocationsGovernor","nodeType":"MemberAccess","referencedDeclaration":38717,"src":"31603:22:70","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"functionReturnParameters":40471,"id":40480,"nodeType":"Return","src":"31596:29:70"}]},"documentation":{"id":40466,"nodeType":"StructuredDocumentation","src":"31383:58:70","text":"@notice Gets the xAllocationsGovernor contract address"},"functionSelector":"5ecf68e9","id":40482,"implemented":true,"kind":"function","modifiers":[],"name":"xAllocationsGovernor","nameLocation":"31453:20:70","nodeType":"FunctionDefinition","parameters":{"id":40467,"nodeType":"ParameterList","parameters":[],"src":"31473:2:70"},"returnParameters":{"id":40471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40470,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40482,"src":"31499:26:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":40469,"nodeType":"UserDefinedTypeName","pathNode":{"id":40468,"name":"IXAllocationVotingGovernor","nameLocations":["31499:26:70"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"31499:26:70"},"referencedDeclaration":71124,"src":"31499:26:70","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"31498:28:70"},"scope":41032,"src":"31444:186:70","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":40498,"nodeType":"Block","src":"31749:95:70","statements":[{"assignments":[40491],"declarations":[{"constant":false,"id":40491,"mutability":"mutable","name":"$","nameLocation":"31783:1:70","nodeType":"VariableDeclaration","scope":40498,"src":"31755:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40490,"nodeType":"UserDefinedTypeName","pathNode":{"id":40489,"name":"GalaxyMemberStorage","nameLocations":["31755:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"31755:19:70"},"referencedDeclaration":38784,"src":"31755:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40494,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40492,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"31787:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31787:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31755:57:70"},{"expression":{"expression":{"id":40495,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40491,"src":"31825:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31827:12:70","memberName":"b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":38720,"src":"31825:14:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"functionReturnParameters":40488,"id":40497,"nodeType":"Return","src":"31818:21:70"}]},"documentation":{"id":40483,"nodeType":"StructuredDocumentation","src":"31634:50:70","text":"@notice Gets the b3trGovernor contract address"},"functionSelector":"7893d736","id":40499,"implemented":true,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"31696:12:70","nodeType":"FunctionDefinition","parameters":{"id":40484,"nodeType":"ParameterList","parameters":[],"src":"31708:2:70"},"returnParameters":{"id":40488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40499,"src":"31734:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":40486,"nodeType":"UserDefinedTypeName","pathNode":{"id":40485,"name":"IB3TRGovernor","nameLocations":["31734:13:70"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"31734:13:70"},"referencedDeclaration":63919,"src":"31734:13:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"31733:15:70"},"scope":41032,"src":"31687:157:70","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":40515,"nodeType":"Block","src":"31945:87:70","statements":[{"assignments":[40508],"declarations":[{"constant":false,"id":40508,"mutability":"mutable","name":"$","nameLocation":"31979:1:70","nodeType":"VariableDeclaration","scope":40515,"src":"31951:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40507,"nodeType":"UserDefinedTypeName","pathNode":{"id":40506,"name":"GalaxyMemberStorage","nameLocations":["31951:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"31951:19:70"},"referencedDeclaration":38784,"src":"31951:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40511,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40509,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"31983:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31983:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31951:57:70"},{"expression":{"expression":{"id":40512,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40508,"src":"32021:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32023:4:70","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":38723,"src":"32021:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"functionReturnParameters":40505,"id":40514,"nodeType":"Return","src":"32014:13:70"}]},"documentation":{"id":40500,"nodeType":"StructuredDocumentation","src":"31848:48:70","text":"@notice Gets the B3TR token contract address"},"functionSelector":"582a486a","id":40516,"implemented":true,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"31908:4:70","nodeType":"FunctionDefinition","parameters":{"id":40501,"nodeType":"ParameterList","parameters":[],"src":"31912:2:70"},"returnParameters":{"id":40505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40516,"src":"31938:5:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":40503,"nodeType":"UserDefinedTypeName","pathNode":{"id":40502,"name":"IB3TR","nameLocations":["31938:5:70"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"31938:5:70"},"referencedDeclaration":62888,"src":"31938:5:70","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"31937:7:70"},"scope":41032,"src":"31899:133:70","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":40531,"nodeType":"Block","src":"32137:91:70","statements":[{"assignments":[40524],"declarations":[{"constant":false,"id":40524,"mutability":"mutable","name":"$","nameLocation":"32171:1:70","nodeType":"VariableDeclaration","scope":40531,"src":"32143:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40523,"nodeType":"UserDefinedTypeName","pathNode":{"id":40522,"name":"GalaxyMemberStorage","nameLocations":["32143:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"32143:19:70"},"referencedDeclaration":38784,"src":"32143:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40527,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40525,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"32175:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32175:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"32143:57:70"},{"expression":{"expression":{"id":40528,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40524,"src":"32213:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40529,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32215:8:70","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":38725,"src":"32213:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":40521,"id":40530,"nodeType":"Return","src":"32206:17:70"}]},"documentation":{"id":40517,"nodeType":"StructuredDocumentation","src":"32036:46:70","text":"@notice Gets the treasury contract address"},"functionSelector":"61d027b3","id":40532,"implemented":true,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"32094:8:70","nodeType":"FunctionDefinition","parameters":{"id":40518,"nodeType":"ParameterList","parameters":[],"src":"32102:2:70"},"returnParameters":{"id":40521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40520,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40532,"src":"32128:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40519,"name":"address","nodeType":"ElementaryTypeName","src":"32128:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32127:9:70"},"scope":41032,"src":"32085:143:70","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":40547,"nodeType":"Block","src":"32369:92:70","statements":[{"assignments":[40540],"declarations":[{"constant":false,"id":40540,"mutability":"mutable","name":"$","nameLocation":"32403:1:70","nodeType":"VariableDeclaration","scope":40547,"src":"32375:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":40539,"nodeType":"UserDefinedTypeName","pathNode":{"id":40538,"name":"GalaxyMemberStorage","nameLocations":["32375:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"32375:19:70"},"referencedDeclaration":38784,"src":"32375:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":40543,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40541,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"32407:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32407:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"32375:57:70"},{"expression":{"expression":{"id":40544,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40540,"src":"32445:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32447:9:70","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":38731,"src":"32445:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40537,"id":40546,"nodeType":"Return","src":"32438:18:70"}]},"documentation":{"id":40533,"nodeType":"StructuredDocumentation","src":"32232:75:70","text":"@notice Gets the maximum level that tokens can be minted or upgraded to"},"functionSelector":"a49062d4","id":40548,"implemented":true,"kind":"function","modifiers":[],"name":"MAX_LEVEL","nameLocation":"32319:9:70","nodeType":"FunctionDefinition","parameters":{"id":40534,"nodeType":"ParameterList","parameters":[],"src":"32328:2:70"},"returnParameters":{"id":40537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40536,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40548,"src":"32360:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40535,"name":"uint256","nodeType":"ElementaryTypeName","src":"32360:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32359:9:70"},"scope":41032,"src":"32310:151:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40562,"nodeType":"Block","src":"32662:66:70","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40556,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"32675:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32675:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32701:14:70","memberName":"_nodeToTokenId","nodeType":"MemberAccess","referencedDeclaration":38762,"src":"32675:40:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":40560,"indexExpression":{"id":40559,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40551,"src":"32716:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32675:48:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40555,"id":40561,"nodeType":"Return","src":"32668:55:70"}]},"documentation":{"id":40549,"nodeType":"StructuredDocumentation","src":"32465:111:70","text":"@notice Get the GM Token ID attached to the Vechain Node Token ID\n @param nodeId Vechain node Token ID"},"functionSelector":"51c438d1","id":40563,"implemented":true,"kind":"function","modifiers":[],"name":"getIdAttachedToNode","nameLocation":"32588:19:70","nodeType":"FunctionDefinition","parameters":{"id":40552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40551,"mutability":"mutable","name":"nodeId","nameLocation":"32616:6:70","nodeType":"VariableDeclaration","scope":40563,"src":"32608:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40550,"name":"uint256","nodeType":"ElementaryTypeName","src":"32608:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32607:16:70"},"returnParameters":{"id":40555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40563,"src":"32653:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40553,"name":"uint256","nodeType":"ElementaryTypeName","src":"32653:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32652:9:70"},"scope":41032,"src":"32579:149:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40577,"nodeType":"Block","src":"32919:67:70","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40571,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"32932:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32932:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32958:14:70","memberName":"_tokenIdToNode","nodeType":"MemberAccess","referencedDeclaration":38766,"src":"32932:40:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":40575,"indexExpression":{"id":40574,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40566,"src":"32973:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32932:49:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40570,"id":40576,"nodeType":"Return","src":"32925:56:70"}]},"documentation":{"id":40564,"nodeType":"StructuredDocumentation","src":"32732:102:70","text":"@notice Get the Vechain Node Token ID attached to the GM Token ID\n @param tokenId GM Token ID"},"functionSelector":"958fc97d","id":40578,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeIdAttached","nameLocation":"32846:17:70","nodeType":"FunctionDefinition","parameters":{"id":40567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40566,"mutability":"mutable","name":"tokenId","nameLocation":"32872:7:70","nodeType":"VariableDeclaration","scope":40578,"src":"32864:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40565,"name":"uint256","nodeType":"ElementaryTypeName","src":"32864:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32863:17:70"},"returnParameters":{"id":40570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40569,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40578,"src":"32910:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40568,"name":"uint256","nodeType":"ElementaryTypeName","src":"32910:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32909:9:70"},"scope":41032,"src":"32837:149:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40592,"nodeType":"Block","src":"33207:78:70","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40586,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"33220:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33220:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33246:23:70","memberName":"_nodeToFreeUpgradeLevel","nodeType":"MemberAccess","referencedDeclaration":38770,"src":"33220:49:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":40590,"indexExpression":{"id":40589,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40581,"src":"33270:9:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33220:60:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40585,"id":40591,"nodeType":"Return","src":"33213:67:70"}]},"documentation":{"id":40579,"nodeType":"StructuredDocumentation","src":"32990:131:70","text":"@notice Get the GM level that can be upgraded for free for a given Vechain node level\n @param nodeLevel Vechain node level"},"functionSelector":"e617e49f","id":40593,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeToFreeLevel","nameLocation":"33133:18:70","nodeType":"FunctionDefinition","parameters":{"id":40582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40581,"mutability":"mutable","name":"nodeLevel","nameLocation":"33158:9:70","nodeType":"VariableDeclaration","scope":40593,"src":"33152:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":40580,"name":"uint8","nodeType":"ElementaryTypeName","src":"33152:5:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"33151:17:70"},"returnParameters":{"id":40585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40593,"src":"33198:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40583,"name":"uint256","nodeType":"ElementaryTypeName","src":"33198:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33197:9:70"},"scope":41032,"src":"33124:161:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40607,"nodeType":"Block","src":"33464:74:70","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40601,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"33477:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33477:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33503:21:70","memberName":"_tokenIdToB3TRdonated","nodeType":"MemberAccess","referencedDeclaration":38774,"src":"33477:47:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":40605,"indexExpression":{"id":40604,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40596,"src":"33525:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33477:56:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40600,"id":40606,"nodeType":"Return","src":"33470:63:70"}]},"documentation":{"id":40594,"nodeType":"StructuredDocumentation","src":"33289:93:70","text":"@notice Get the B3TR donated for upgrading a token\n @param tokenId Token ID to check"},"functionSelector":"865c380b","id":40608,"implemented":true,"kind":"function","modifiers":[],"name":"getB3TRdonated","nameLocation":"33394:14:70","nodeType":"FunctionDefinition","parameters":{"id":40597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40596,"mutability":"mutable","name":"tokenId","nameLocation":"33417:7:70","nodeType":"VariableDeclaration","scope":40608,"src":"33409:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40595,"name":"uint256","nodeType":"ElementaryTypeName","src":"33409:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33408:17:70"},"returnParameters":{"id":40600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40608,"src":"33455:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40598,"name":"uint256","nodeType":"ElementaryTypeName","src":"33455:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33454:9:70"},"scope":41032,"src":"33385:153:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40616,"nodeType":"Block","src":"33831:21:70","statements":[{"expression":{"hexValue":"35","id":40614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33844:3:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceebf77a833b30520287ddd9478ff51abbdffa30aa90a8d655dba0e8a79ce0c1","typeString":"literal_string \"5\""},"value":"5"},"functionReturnParameters":40613,"id":40615,"nodeType":"Return","src":"33837:10:70"}]},"documentation":{"id":40609,"nodeType":"StructuredDocumentation","src":"33542:221:70","text":"@notice Retrieves the current version of the contract\n @dev This function is used to identify the version of the contract and should be updated in each new version\n @return string The version of the contract"},"functionSelector":"54fd4d50","id":40617,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"33775:7:70","nodeType":"FunctionDefinition","parameters":{"id":40610,"nodeType":"ParameterList","parameters":[],"src":"33782:2:70"},"returnParameters":{"id":40613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40617,"src":"33816:13:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40611,"name":"string","nodeType":"ElementaryTypeName","src":"33816:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33815:15:70"},"scope":41032,"src":"33766:86:70","stateMutability":"pure","virtual":true,"visibility":"external"},{"canonicalName":"GalaxyMemberV5.TokenInfo","id":40626,"members":[{"constant":false,"id":40619,"mutability":"mutable","name":"tokenId","nameLocation":"33887:7:70","nodeType":"VariableDeclaration","scope":40626,"src":"33879:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40618,"name":"uint256","nodeType":"ElementaryTypeName","src":"33879:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40621,"mutability":"mutable","name":"tokenURI","nameLocation":"33907:8:70","nodeType":"VariableDeclaration","scope":40626,"src":"33900:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":40620,"name":"string","nodeType":"ElementaryTypeName","src":"33900:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":40623,"mutability":"mutable","name":"tokenLevel","nameLocation":"33929:10:70","nodeType":"VariableDeclaration","scope":40626,"src":"33921:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40622,"name":"uint256","nodeType":"ElementaryTypeName","src":"33921:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40625,"mutability":"mutable","name":"b3trToUpgrade","nameLocation":"33953:13:70","nodeType":"VariableDeclaration","scope":40626,"src":"33945:21:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40624,"name":"uint256","nodeType":"ElementaryTypeName","src":"33945:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TokenInfo","nameLocation":"33863:9:70","nodeType":"StructDefinition","scope":41032,"src":"33856:115:70","visibility":"public"},{"body":{"id":40683,"nodeType":"Block","src":"34205:360:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40637,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40629,"src":"34264:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40636,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2466,"src":"34255:8:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":40638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34255:17:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":40641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34284:1:70","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":40640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34276:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40639,"name":"address","nodeType":"ElementaryTypeName","src":"34276:7:70","typeDescriptions":{}}},"id":40642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34276:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"34255:31:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578697374","id":40644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34288:37:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""},"value":"GalaxyMember: tokenId doesn't exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad","typeString":"literal_string \"GalaxyMember: tokenId doesn't exist\""}],"id":40635,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"34247:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":40645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34247:79:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40646,"nodeType":"ExpressionStatement","src":"34247:79:70"},{"assignments":[40649],"declarations":[{"constant":false,"id":40649,"mutability":"mutable","name":"tokenInfo","nameLocation":"34350:9:70","nodeType":"VariableDeclaration","scope":40683,"src":"34333:26:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"},"typeName":{"id":40648,"nodeType":"UserDefinedTypeName","pathNode":{"id":40647,"name":"TokenInfo","nameLocations":["34333:9:70"],"nodeType":"IdentifierPath","referencedDeclaration":40626,"src":"34333:9:70"},"referencedDeclaration":40626,"src":"34333:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"}},"visibility":"internal"}],"id":40650,"nodeType":"VariableDeclarationStatement","src":"34333:26:70"},{"expression":{"id":40655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40651,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40649,"src":"34365:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory"}},"id":40653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34375:7:70","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":40619,"src":"34365:17:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40654,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40629,"src":"34385:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34365:27:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40656,"nodeType":"ExpressionStatement","src":"34365:27:70"},{"expression":{"id":40663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40657,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40649,"src":"34398:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory"}},"id":40659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34408:8:70","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":40621,"src":"34398:18:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":40661,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40629,"src":"34428:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40660,"name":"tokenURI","nodeType":"Identifier","overloadedDeclarations":[40465],"referencedDeclaration":40465,"src":"34419:8:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":40662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34419:17:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"34398:38:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":40664,"nodeType":"ExpressionStatement","src":"34398:38:70"},{"expression":{"id":40671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40665,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40649,"src":"34442:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory"}},"id":40667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34452:10:70","memberName":"tokenLevel","nodeType":"MemberAccess","referencedDeclaration":40623,"src":"34442:20:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":40669,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40629,"src":"34473:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40668,"name":"levelOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40059,"src":"34465:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":40670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34465:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34442:39:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40672,"nodeType":"ExpressionStatement","src":"34442:39:70"},{"expression":{"id":40679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40673,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40649,"src":"34487:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory"}},"id":40675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34497:13:70","memberName":"b3trToUpgrade","nodeType":"MemberAccess","referencedDeclaration":40625,"src":"34487:23:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":40677,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40629,"src":"34530:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40676,"name":"getB3TRtoUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40110,"src":"34513:16:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":40678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34513:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34487:51:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40680,"nodeType":"ExpressionStatement","src":"34487:51:70"},{"expression":{"id":40681,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40649,"src":"34551:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory"}},"functionReturnParameters":40634,"id":40682,"nodeType":"Return","src":"34544:16:70"}]},"documentation":{"id":40627,"nodeType":"StructuredDocumentation","src":"33975:132:70","text":"@notice Gets the token info by token ID\n @param tokenId Token ID to get the info for\n @return TokenInfo The token info"},"functionSelector":"643ce418","id":40684,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenInfoByTokenId","nameLocation":"34119:21:70","nodeType":"FunctionDefinition","parameters":{"id":40630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40629,"mutability":"mutable","name":"tokenId","nameLocation":"34149:7:70","nodeType":"VariableDeclaration","scope":40684,"src":"34141:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40628,"name":"uint256","nodeType":"ElementaryTypeName","src":"34141:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34140:17:70"},"returnParameters":{"id":40634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40633,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40684,"src":"34187:16:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"},"typeName":{"id":40632,"nodeType":"UserDefinedTypeName","pathNode":{"id":40631,"name":"TokenInfo","nameLocations":["34187:9:70"],"nodeType":"IdentifierPath","referencedDeclaration":40626,"src":"34187:9:70"},"referencedDeclaration":40626,"src":"34187:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"}},"visibility":"internal"}],"src":"34186:18:70"},"scope":41032,"src":"34110:455:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40703,"nodeType":"Block","src":"34819:97:70","statements":[{"assignments":[40694],"declarations":[{"constant":false,"id":40694,"mutability":"mutable","name":"tokenId","nameLocation":"34833:7:70","nodeType":"VariableDeclaration","scope":40703,"src":"34825:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40693,"name":"uint256","nodeType":"ElementaryTypeName","src":"34825:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40698,"initialValue":{"arguments":[{"id":40696,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40687,"src":"34862:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40695,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40266,"src":"34843:18:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":40697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34843:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34825:43:70"},{"expression":{"arguments":[{"id":40700,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40694,"src":"34903:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40699,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40684,"src":"34881:21:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$40626_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMemberV5.TokenInfo memory)"}},"id":40701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34881:30:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory"}},"functionReturnParameters":40692,"id":40702,"nodeType":"Return","src":"34874:37:70"}]},"documentation":{"id":40685,"nodeType":"StructuredDocumentation","src":"34569:156:70","text":"@notice Gets the selected token info for an address\n @param owner The address of the owner to check\n @return TokenInfo The selected token info"},"functionSelector":"de4983a2","id":40704,"implemented":true,"kind":"function","modifiers":[],"name":"getSelectedTokenInfoByOwner","nameLocation":"34737:27:70","nodeType":"FunctionDefinition","parameters":{"id":40688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40687,"mutability":"mutable","name":"owner","nameLocation":"34773:5:70","nodeType":"VariableDeclaration","scope":40704,"src":"34765:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40686,"name":"address","nodeType":"ElementaryTypeName","src":"34765:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34764:15:70"},"returnParameters":{"id":40692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40691,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40704,"src":"34801:16:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"},"typeName":{"id":40690,"nodeType":"UserDefinedTypeName","pathNode":{"id":40689,"name":"TokenInfo","nameLocations":["34801:9:70"],"nodeType":"IdentifierPath","referencedDeclaration":40626,"src":"34801:9:70"},"referencedDeclaration":40626,"src":"34801:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"}},"visibility":"internal"}],"src":"34800:18:70"},"scope":41032,"src":"34728:188:70","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":40842,"nodeType":"Block","src":"35306:1376:70","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40718,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40711,"src":"35344:4:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":40719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35352:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35344:9:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40726,"nodeType":"IfStatement","src":"35340:79:70","trueBody":{"id":40725,"nodeType":"Block","src":"35355:64:70","statements":[{"expression":{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652030","id":40722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35370:41:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""},"value":"GalaxyMember: Invalid size, cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be 0\""}],"id":40721,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"35363:6:70","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":40723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35363:49:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40724,"nodeType":"ExpressionStatement","src":"35363:49:70"}]}},{"assignments":[40728],"declarations":[{"constant":false,"id":40728,"mutability":"mutable","name":"MAX_PAGINATION_SIZE","nameLocation":"35483:19:70","nodeType":"VariableDeclaration","scope":40842,"src":"35475:27:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40727,"name":"uint256","nodeType":"ElementaryTypeName","src":"35475:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40730,"initialValue":{"hexValue":"313030","id":40729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35505:3:70","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"35475:33:70"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40731,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40711,"src":"35584:4:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":40732,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40728,"src":"35591:19:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35584:26:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40749,"nodeType":"IfStatement","src":"35580:209:70","trueBody":{"id":40748,"nodeType":"Block","src":"35612:177:70","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e6f742062652067726561746572207468616e20","id":40739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35671:53:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},"value":"GalaxyMember: Invalid size, cannot be greater than "},{"arguments":[{"id":40742,"name":"MAX_PAGINATION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40728,"src":"35743:19:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":40740,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"35726:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$5949_$","typeString":"type(library Strings)"}},"id":40741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35734:8:70","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":5762,"src":"35726:16:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":40743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35726:37:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a","typeString":"literal_string \"GalaxyMember: Invalid size, cannot be greater than \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":40737,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35654:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":40738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35658:12:70","memberName":"encodePacked","nodeType":"MemberAccess","src":"35654:16:70","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":40744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35654:110:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":40736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35636:6:70","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":40735,"name":"string","nodeType":"ElementaryTypeName","src":"35636:6:70","typeDescriptions":{}}},"id":40745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35636:138:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":40734,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"35620:6:70","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":40746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35620:162:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40747,"nodeType":"ExpressionStatement","src":"35620:162:70"}]}},{"assignments":[40751],"declarations":[{"constant":false,"id":40751,"mutability":"mutable","name":"balance","nameLocation":"35803:7:70","nodeType":"VariableDeclaration","scope":40842,"src":"35795:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40750,"name":"uint256","nodeType":"ElementaryTypeName","src":"35795:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40755,"initialValue":{"arguments":[{"id":40753,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40707,"src":"35823:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40752,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"35813:9:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":40754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35813:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35795:34:70"},{"assignments":[40757],"declarations":[{"constant":false,"id":40757,"mutability":"mutable","name":"start","nameLocation":"35950:5:70","nodeType":"VariableDeclaration","scope":40842,"src":"35942:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40756,"name":"uint256","nodeType":"ElementaryTypeName","src":"35942:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40761,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40758,"name":"page","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40709,"src":"35958:4:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":40759,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40711,"src":"35965:4:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35958:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35942:27:70"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40762,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40757,"src":"36061:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":40763,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40751,"src":"36070:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36061:16:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40773,"nodeType":"IfStatement","src":"36057:62:70","trueBody":{"id":40772,"nodeType":"Block","src":"36079:40:70","statements":[{"expression":{"arguments":[{"hexValue":"30","id":40769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36110:1:70","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":40768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"36094:15:70","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMemberV5.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":40766,"nodeType":"UserDefinedTypeName","pathNode":{"id":40765,"name":"TokenInfo","nameLocations":["36098:9:70"],"nodeType":"IdentifierPath","referencedDeclaration":40626,"src":"36098:9:70"},"referencedDeclaration":40626,"src":"36098:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"}},"id":40767,"nodeType":"ArrayTypeName","src":"36098:11:70","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo[]"}}},"id":40770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36094:18:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory[] memory"}},"functionReturnParameters":40717,"id":40771,"nodeType":"Return","src":"36087:25:70"}]}},{"assignments":[40775],"declarations":[{"constant":false,"id":40775,"mutability":"mutable","name":"end","nameLocation":"36176:3:70","nodeType":"VariableDeclaration","scope":40842,"src":"36168:11:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40774,"name":"uint256","nodeType":"ElementaryTypeName","src":"36168:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40779,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40776,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40757,"src":"36182:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":40777,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40711,"src":"36190:4:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36182:12:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36168:26:70"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40780,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40775,"src":"36204:3:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":40781,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40751,"src":"36210:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36204:13:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40788,"nodeType":"IfStatement","src":"36200:106:70","trueBody":{"id":40787,"nodeType":"Block","src":"36219:87:70","statements":[{"expression":{"id":40785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":40783,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40775,"src":"36227:3:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40784,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40751,"src":"36233:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36227:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40786,"nodeType":"ExpressionStatement","src":"36227:13:70"}]}},{"assignments":[40790],"declarations":[{"constant":false,"id":40790,"mutability":"mutable","name":"numTokens","nameLocation":"36368:9:70","nodeType":"VariableDeclaration","scope":40842,"src":"36360:17:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40789,"name":"uint256","nodeType":"ElementaryTypeName","src":"36360:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40794,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40791,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40775,"src":"36380:3:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":40792,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40757,"src":"36386:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36380:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36360:31:70"},{"assignments":[40799],"declarations":[{"constant":false,"id":40799,"mutability":"mutable","name":"tokens","nameLocation":"36417:6:70","nodeType":"VariableDeclaration","scope":40842,"src":"36398:25:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo[]"},"typeName":{"baseType":{"id":40797,"nodeType":"UserDefinedTypeName","pathNode":{"id":40796,"name":"TokenInfo","nameLocations":["36398:9:70"],"nodeType":"IdentifierPath","referencedDeclaration":40626,"src":"36398:9:70"},"referencedDeclaration":40626,"src":"36398:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"}},"id":40798,"nodeType":"ArrayTypeName","src":"36398:11:70","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo[]"}},"visibility":"internal"}],"id":40806,"initialValue":{"arguments":[{"id":40804,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40790,"src":"36442:9:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"36426:15:70","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct GalaxyMemberV5.TokenInfo memory[] memory)"},"typeName":{"baseType":{"id":40801,"nodeType":"UserDefinedTypeName","pathNode":{"id":40800,"name":"TokenInfo","nameLocations":["36430:9:70"],"nodeType":"IdentifierPath","referencedDeclaration":40626,"src":"36430:9:70"},"referencedDeclaration":40626,"src":"36430:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"}},"id":40802,"nodeType":"ArrayTypeName","src":"36430:11:70","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo[]"}}},"id":40805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36426:26:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"36398:54:70"},{"body":{"id":40838,"nodeType":"Block","src":"36499:159:70","statements":[{"assignments":[40818],"declarations":[{"constant":false,"id":40818,"mutability":"mutable","name":"tokenIndex","nameLocation":"36515:10:70","nodeType":"VariableDeclaration","scope":40838,"src":"36507:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40817,"name":"uint256","nodeType":"ElementaryTypeName","src":"36507:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40822,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40819,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40757,"src":"36528:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":40820,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40808,"src":"36536:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36528:9:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36507:30:70"},{"assignments":[40824],"declarations":[{"constant":false,"id":40824,"mutability":"mutable","name":"tokenId","nameLocation":"36553:7:70","nodeType":"VariableDeclaration","scope":40838,"src":"36545:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40823,"name":"uint256","nodeType":"ElementaryTypeName","src":"36545:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40829,"initialValue":{"arguments":[{"id":40826,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40707,"src":"36583:5:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40827,"name":"tokenIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40818,"src":"36590:10:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40825,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"36563:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":40828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36563:38:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36545:56:70"},{"expression":{"id":40836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":40830,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40799,"src":"36609:6:70","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory[] memory"}},"id":40832,"indexExpression":{"id":40831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40808,"src":"36616:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36609:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":40834,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40824,"src":"36643:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40833,"name":"getTokenInfoByTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40684,"src":"36621:21:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenInfo_$40626_memory_ptr_$","typeString":"function (uint256) view returns (struct GalaxyMemberV5.TokenInfo memory)"}},"id":40835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36621:30:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory"}},"src":"36609:42:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory"}},"id":40837,"nodeType":"ExpressionStatement","src":"36609:42:70"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40811,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40808,"src":"36479:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":40812,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40790,"src":"36483:9:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36479:13:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40839,"initializationExpression":{"assignments":[40808],"declarations":[{"constant":false,"id":40808,"mutability":"mutable","name":"i","nameLocation":"36472:1:70","nodeType":"VariableDeclaration","scope":40839,"src":"36464:9:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40807,"name":"uint256","nodeType":"ElementaryTypeName","src":"36464:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40810,"initialValue":{"hexValue":"30","id":40809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36476:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36464:13:70"},"loopExpression":{"expression":{"id":40815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36494:3:70","subExpression":{"id":40814,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40808,"src":"36494:1:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40816,"nodeType":"ExpressionStatement","src":"36494:3:70"},"nodeType":"ForStatement","src":"36459:199:70"},{"expression":{"id":40840,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40799,"src":"36671:6:70","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo memory[] memory"}},"functionReturnParameters":40717,"id":40841,"nodeType":"Return","src":"36664:13:70"}]},"documentation":{"id":40705,"nodeType":"StructuredDocumentation","src":"34920:269:70","text":"@notice Gets the tokens owned by an address\n @param owner The address of the owner to check\n @param page The page number to fetch\n @param size The number of tokens to fetch (cannot exceed 100)\n @return TokenInfo[] The tokens owned by the address"},"functionSelector":"851f738e","id":40843,"implemented":true,"kind":"function","modifiers":[],"name":"getTokensInfoByOwner","nameLocation":"35201:20:70","nodeType":"FunctionDefinition","parameters":{"id":40712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40707,"mutability":"mutable","name":"owner","nameLocation":"35230:5:70","nodeType":"VariableDeclaration","scope":40843,"src":"35222:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40706,"name":"address","nodeType":"ElementaryTypeName","src":"35222:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40709,"mutability":"mutable","name":"page","nameLocation":"35245:4:70","nodeType":"VariableDeclaration","scope":40843,"src":"35237:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40708,"name":"uint256","nodeType":"ElementaryTypeName","src":"35237:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40711,"mutability":"mutable","name":"size","nameLocation":"35259:4:70","nodeType":"VariableDeclaration","scope":40843,"src":"35251:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40710,"name":"uint256","nodeType":"ElementaryTypeName","src":"35251:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35221:43:70"},"returnParameters":{"id":40717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40716,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40843,"src":"35286:18:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr","typeString":"struct GalaxyMemberV5.TokenInfo[]"},"typeName":{"baseType":{"id":40714,"nodeType":"UserDefinedTypeName","pathNode":{"id":40713,"name":"TokenInfo","nameLocations":["35286:9:70"],"nodeType":"IdentifierPath","referencedDeclaration":40626,"src":"35286:9:70"},"referencedDeclaration":40626,"src":"35286:9:70","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$40626_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo"}},"id":40715,"nodeType":"ArrayTypeName","src":"35286:11:70","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenInfo_$40626_storage_$dyn_storage_ptr","typeString":"struct GalaxyMemberV5.TokenInfo[]"}},"visibility":"internal"}],"src":"35285:20:70"},"scope":41032,"src":"35192:1490:70","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":40853,"nodeType":"Block","src":"36788:36:70","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":40849,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"36801:4:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":40850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36806:11:70","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"36801:16:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":40851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36801:18:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":40848,"id":40852,"nodeType":"Return","src":"36794:25:70"}]},"documentation":{"id":40844,"nodeType":"StructuredDocumentation","src":"36686:45:70","text":"@dev Clock used for flagging checkpoints."},"functionSelector":"91ddadf4","id":40854,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"36743:5:70","nodeType":"FunctionDefinition","parameters":{"id":40845,"nodeType":"ParameterList","parameters":[],"src":"36748:2:70"},"returnParameters":{"id":40848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40854,"src":"36780:6:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40846,"name":"uint48","nodeType":"ElementaryTypeName","src":"36780:6:70","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"36779:8:70"},"scope":41032,"src":"36734:90:70","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":40862,"nodeType":"Block","src":"36947:49:70","statements":[{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":40860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36960:31:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":40859,"id":40861,"nodeType":"Return","src":"36953:38:70"}]},"documentation":{"id":40855,"nodeType":"StructuredDocumentation","src":"36828:50:70","text":" @dev Returns the mode of the clock."},"functionSelector":"4bf5d7e9","id":40863,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"36890:10:70","nodeType":"FunctionDefinition","parameters":{"id":40856,"nodeType":"ParameterList","parameters":[],"src":"36900:2:70"},"returnParameters":{"id":40859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40863,"src":"36932:13:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40857,"name":"string","nodeType":"ElementaryTypeName","src":"36932:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36931:15:70"},"scope":41032,"src":"36881:115:70","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[2685,3438,3727],"body":{"id":40976,"nodeType":"Block","src":"37557:897:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40883,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40868,"src":"37589:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40882,"name":"getNodeIdAttached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"37571:17:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":40884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37571:26:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":40885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37601:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37571:31:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2061206e6f64652c20646574616368206265666f7265207472616e73666572","id":40887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37604:64:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""},"value":"GalaxyMember: token attached to a node, detach before transfer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1","typeString":"literal_string \"GalaxyMember: token attached to a node, detach before transfer\""}],"id":40881,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37563:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":40888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37563:106:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40889,"nodeType":"ExpressionStatement","src":"37563:106:70"},{"assignments":[40891],"declarations":[{"constant":false,"id":40891,"mutability":"mutable","name":"_previousOwner","nameLocation":"37684:14:70","nodeType":"VariableDeclaration","scope":40976,"src":"37676:22:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40890,"name":"address","nodeType":"ElementaryTypeName","src":"37676:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":40898,"initialValue":{"arguments":[{"id":40894,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40866,"src":"37715:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40895,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40868,"src":"37719:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":40896,"name":"auth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40870,"src":"37728:4:70","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":40892,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"37701:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV5_$41032_$","typeString":"type(contract super GalaxyMemberV5)"}},"id":40893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37707:7:70","memberName":"_update","nodeType":"MemberAccess","referencedDeclaration":3727,"src":"37701:13:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_address_$","typeString":"function (address,uint256,address) returns (address)"}},"id":40897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37701:32:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"37676:57:70"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40899,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40891,"src":"37802:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":40902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37828:1:70","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":40901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37820:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40900,"name":"address","nodeType":"ElementaryTypeName","src":"37820:7:70","typeDescriptions":{}}},"id":40903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37820:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"37802:28:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40906,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40891,"src":"37844:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40905,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"37834:9:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":40907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37834:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":40908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37863:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37834:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37802:62:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40923,"nodeType":"IfStatement","src":"37798:169:70","trueBody":{"id":40922,"nodeType":"Block","src":"37866:101:70","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":40917,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40854,"src":"37949:5:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":40918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37949:7:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"hexValue":"30","id":40919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37958:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40911,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"37874:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":40912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37874:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":40913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37900:27:70","memberName":"_selectedTokenIDCheckpoints","nodeType":"MemberAccess","referencedDeclaration":38783,"src":"37874:53:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":40915,"indexExpression":{"id":40914,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40891,"src":"37928:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37874:69:70","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":40916,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37944:4:70","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"37874:74:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":40920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37874:86:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":40921,"nodeType":"ExpressionStatement","src":"37874:86:70"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40924,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40891,"src":"38069:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":40927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38095:1:70","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":40926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38087:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40925,"name":"address","nodeType":"ElementaryTypeName","src":"38087:7:70","typeDescriptions":{}}},"id":40928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38087:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"38069:28:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40931,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40891,"src":"38120:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40930,"name":"getSelectedTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40266,"src":"38101:18:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":40932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38101:34:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":40933,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40868,"src":"38139:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38101:45:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38069:77:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40937,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40891,"src":"38160:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40936,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"38150:9:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":40938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38150:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":40939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38178:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38150:29:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38069:110:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40951,"nodeType":"IfStatement","src":"38058:206:70","trueBody":{"id":40950,"nodeType":"Block","src":"38186:78:70","statements":[{"expression":{"arguments":[{"id":40943,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40891,"src":"38202:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":40945,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40891,"src":"38238:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":40946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38254:1:70","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"}],"id":40944,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"38218:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":40947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38218:38:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40942,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39486,"src":"38194:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":40948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38194:63:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40949,"nodeType":"ExpressionStatement","src":"38194:63:70"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40952,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40866,"src":"38328:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":40955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38342:1:70","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":40954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38334:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40953,"name":"address","nodeType":"ElementaryTypeName","src":"38334:7:70","typeDescriptions":{}}},"id":40956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38334:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"38328:16:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40959,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40866,"src":"38358:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40958,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2193,"src":"38348:9:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":40960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38348:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":40961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38365:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38348:18:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38328:38:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40973,"nodeType":"IfStatement","src":"38324:98:70","trueBody":{"id":40972,"nodeType":"Block","src":"38368:54:70","statements":[{"expression":{"arguments":[{"id":40965,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40866,"src":"38384:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":40967,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40866,"src":"38408:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":40968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38412:1:70","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"}],"id":40966,"name":"tokenOfOwnerByIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3318,"src":"38388:19:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":40969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38388:26:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40964,"name":"_select","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39486,"src":"38376:7:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":40970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38376:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40971,"nodeType":"ExpressionStatement","src":"38376:39:70"}]}},{"expression":{"id":40974,"name":"_previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40891,"src":"38435:14:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":40880,"id":40975,"nodeType":"Return","src":"38428:21:70"}]},"documentation":{"id":40864,"nodeType":"StructuredDocumentation","src":"37041:294:70","text":"@notice Performs automatic level updating upon token updates\n @dev Overrides the _update function to update the highest level owned by the owner\n @param to The address to transfer the token to\n @param tokenId The token ID to update\n @param auth The address of the sender"},"id":40977,"implemented":true,"kind":"function","modifiers":[{"id":40877,"kind":"modifierInvocation","modifierName":{"id":40876,"name":"whenNotPaused","nameLocations":["37519:13:70"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"37519:13:70"},"nodeType":"ModifierInvocation","src":"37519:13:70"}],"name":"_update","nameLocation":"37347:7:70","nodeType":"FunctionDefinition","overrides":{"id":40875,"nodeType":"OverrideSpecifier","overrides":[{"id":40872,"name":"ERC721Upgradeable","nameLocations":["37440:17:70"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"37440:17:70"},{"id":40873,"name":"ERC721EnumerableUpgradeable","nameLocations":["37459:27:70"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"37459:27:70"},{"id":40874,"name":"ERC721PausableUpgradeable","nameLocations":["37488:25:70"],"nodeType":"IdentifierPath","referencedDeclaration":3728,"src":"37488:25:70"}],"src":"37431:83:70"},"parameters":{"id":40871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40866,"mutability":"mutable","name":"to","nameLocation":"37368:2:70","nodeType":"VariableDeclaration","scope":40977,"src":"37360:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40865,"name":"address","nodeType":"ElementaryTypeName","src":"37360:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40868,"mutability":"mutable","name":"tokenId","nameLocation":"37384:7:70","nodeType":"VariableDeclaration","scope":40977,"src":"37376:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40867,"name":"uint256","nodeType":"ElementaryTypeName","src":"37376:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40870,"mutability":"mutable","name":"auth","nameLocation":"37405:4:70","nodeType":"VariableDeclaration","scope":40977,"src":"37397:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40869,"name":"address","nodeType":"ElementaryTypeName","src":"37397:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37354:59:70"},"returnParameters":{"id":40880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40879,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40977,"src":"37546:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40878,"name":"address","nodeType":"ElementaryTypeName","src":"37546:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37545:9:70"},"scope":41032,"src":"37338:1116:70","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[2583,3673],"body":{"id":40995,"nodeType":"Block","src":"38690:49:70","statements":[{"expression":{"arguments":[{"id":40991,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40980,"src":"38719:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40992,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40982,"src":"38728:5:70","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":40988,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"38696:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV5_$41032_$","typeString":"type(contract super GalaxyMemberV5)"}},"id":40990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38702:16:70","memberName":"_increaseBalance","nodeType":"MemberAccess","referencedDeclaration":3673,"src":"38696:22:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint128_$returns$__$","typeString":"function (address,uint128)"}},"id":40993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38696:38:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40994,"nodeType":"ExpressionStatement","src":"38696:38:70"}]},"documentation":{"id":40978,"nodeType":"StructuredDocumentation","src":"38458:93:70","text":"@dev Overrides the _increaseBalance for ERC721Upgradeable and ERC721EnumerableUpgradeable"},"id":40996,"implemented":true,"kind":"function","modifiers":[],"name":"_increaseBalance","nameLocation":"38563:16:70","nodeType":"FunctionDefinition","overrides":{"id":40986,"nodeType":"OverrideSpecifier","overrides":[{"id":40984,"name":"ERC721Upgradeable","nameLocations":["38642:17:70"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"38642:17:70"},{"id":40985,"name":"ERC721EnumerableUpgradeable","nameLocations":["38661:27:70"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"38661:27:70"}],"src":"38633:56:70"},"parameters":{"id":40983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40980,"mutability":"mutable","name":"account","nameLocation":"38593:7:70","nodeType":"VariableDeclaration","scope":40996,"src":"38585:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40979,"name":"address","nodeType":"ElementaryTypeName","src":"38585:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40982,"mutability":"mutable","name":"value","nameLocation":"38614:5:70","nodeType":"VariableDeclaration","scope":40996,"src":"38606:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":40981,"name":"uint128","nodeType":"ElementaryTypeName","src":"38606:7:70","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"38579:44:70"},"returnParameters":{"id":40987,"nodeType":"ParameterList","parameters":[],"src":"38690:0:70"},"scope":41032,"src":"38554:185:70","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[91,2158,3282],"body":{"id":41013,"nodeType":"Block","src":"39032:54:70","statements":[{"expression":{"arguments":[{"id":41010,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40999,"src":"39069:11:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":41008,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"39045:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GalaxyMemberV5_$41032_$","typeString":"type(contract super GalaxyMemberV5)"}},"id":41009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39051:17:70","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":91,"src":"39045:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":41011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39045:36:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":41007,"id":41012,"nodeType":"Return","src":"39038:43:70"}]},"documentation":{"id":40997,"nodeType":"StructuredDocumentation","src":"38743:121:70","text":"@dev Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable"},"functionSelector":"01ffc9a7","id":41014,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"38876:17:70","nodeType":"FunctionDefinition","overrides":{"id":41004,"nodeType":"OverrideSpecifier","overrides":[{"id":41001,"name":"ERC721Upgradeable","nameLocations":["38943:17:70"],"nodeType":"IdentifierPath","referencedDeclaration":3144,"src":"38943:17:70"},{"id":41002,"name":"ERC721EnumerableUpgradeable","nameLocations":["38962:27:70"],"nodeType":"IdentifierPath","referencedDeclaration":3674,"src":"38962:27:70"},{"id":41003,"name":"AccessControlUpgradeable","nameLocations":["38991:24:70"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"38991:24:70"}],"src":"38934:82:70"},"parameters":{"id":41000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40999,"mutability":"mutable","name":"interfaceId","nameLocation":"38906:11:70","nodeType":"VariableDeclaration","scope":41014,"src":"38899:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":40998,"name":"bytes4","nodeType":"ElementaryTypeName","src":"38899:6:70","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"38893:28:70"},"returnParameters":{"id":41007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41014,"src":"39026:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41005,"name":"bool","nodeType":"ElementaryTypeName","src":"39026:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39025:6:70"},"scope":41032,"src":"38867:219:70","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[2283],"body":{"id":41030,"nodeType":"Block","src":"39223:96:70","statements":[{"assignments":[41023],"declarations":[{"constant":false,"id":41023,"mutability":"mutable","name":"$","nameLocation":"39257:1:70","nodeType":"VariableDeclaration","scope":41030,"src":"39229:29:70","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"},"typeName":{"id":41022,"nodeType":"UserDefinedTypeName","pathNode":{"id":41021,"name":"GalaxyMemberStorage","nameLocations":["39229:19:70"],"nodeType":"IdentifierPath","referencedDeclaration":38784,"src":"39229:19:70"},"referencedDeclaration":38784,"src":"39229:19:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage"}},"visibility":"internal"}],"id":41026,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":41024,"name":"_getGalaxyMemberStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38797,"src":"39261:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GalaxyMemberStorage_$38784_storage_ptr_$","typeString":"function () pure returns (struct GalaxyMemberV5.GalaxyMemberStorage storage pointer)"}},"id":41025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39261:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"39229:57:70"},{"expression":{"expression":{"id":41027,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41023,"src":"39299:1:70","typeDescriptions":{"typeIdentifier":"t_struct$_GalaxyMemberStorage_$38784_storage_ptr","typeString":"struct GalaxyMemberV5.GalaxyMemberStorage storage pointer"}},"id":41028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39301:13:70","memberName":"_baseTokenURI","nodeType":"MemberAccess","referencedDeclaration":38727,"src":"39299:15:70","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":41020,"id":41029,"nodeType":"Return","src":"39292:22:70"}]},"documentation":{"id":41015,"nodeType":"StructuredDocumentation","src":"39090:63:70","text":"@dev Overrides the _baseURI for ERC721URIStorageUpgradeable"},"id":41031,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"39165:8:70","nodeType":"FunctionDefinition","overrides":{"id":41017,"nodeType":"OverrideSpecifier","overrides":[],"src":"39190:8:70"},"parameters":{"id":41016,"nodeType":"ParameterList","parameters":[],"src":"39173:2:70"},"returnParameters":{"id":41020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41019,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41031,"src":"39208:13:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41018,"name":"string","nodeType":"ElementaryTypeName","src":"39208:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39207:15:70"},"scope":41032,"src":"39156:163:70","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":41033,"src":"4660:34661:70","usedErrors":[1495,1498,1759,1764,3243,3246,4026,4029,4194,4342,4345,4614,4619,4628,4633,4638,4645,4650,4655,4738,4751,5344,5347,7025,8883],"usedEvents":[1503,4018,4023,4354,4363,4372,4717,5152,5161,5170,38804,38813,38820,38827,38834,38841,38847,38852,38859,38866,38875,38884]}],"src":"1195:38127:70"},"id":70},"contracts/deprecated/V7/XAllocationVotingV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/XAllocationVotingV7.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Checkpoints":[10447],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"ExternalContractsUpgradeableV7":[42988],"IAccessControl":[4415],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC5805":[4537],"IERC6372":[4552],"IEmissions":[64454],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IVotes":[4498],"IX2EarnApps":[69989],"IXAllocationPool":[70597],"IXAllocationVotingGovernorV7":[41900],"Initializable":[1732],"Math":[7015],"RoundEarningsSettingsUpgradeableV7":[43227],"RoundFinalizationUpgradeableV7":[43413],"RoundVotesCountingUpgradeableV7":[44077],"RoundsStorageUpgradeableV7":[44497],"SafeCast":[8770],"Time":[11669],"UUPSUpgradeable":[1914],"VotesQuorumFractionUpgradeableV7":[44745],"VotesUpgradeableV7":[44908],"VotingSettingsUpgradeableV7":[45033],"X2EarnAppsDataTypes":[71147],"XAllocationVotingGovernorV7":[42519],"XAllocationVotingV7":[41560]},"id":41561,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":41034,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:71"},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","file":"./x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","id":41035,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":42520,"src":"1220:74:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol","file":"./x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol","id":41036,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":44078,"src":"1295:86:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol","file":"./x-allocation-voting-governance/modules/VotesUpgradeableV7.sol","id":41037,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":44909,"src":"1382:73:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol","file":"./x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol","id":41038,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":44746,"src":"1456:87:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol","file":"./x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol","id":41039,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":45034,"src":"1544:82:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol","file":"./x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol","id":41040,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":43228,"src":"1627:89:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol","file":"./x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol","id":41041,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":43414,"src":"1717:85:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol","file":"./x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol","id":41042,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":44498,"src":"1803:81:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol","file":"./x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol","id":41043,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":42989,"src":"1885:85:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":41044,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":363,"src":"1971:81:71","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":41045,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41561,"sourceUnit":1915,"src":"2053:77:71","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":41047,"name":"XAllocationVotingGovernorV7","nameLocations":["3427:27:71"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"3427:27:71"},"id":41048,"nodeType":"InheritanceSpecifier","src":"3427:27:71"},{"baseName":{"id":41049,"name":"VotingSettingsUpgradeableV7","nameLocations":["3458:27:71"],"nodeType":"IdentifierPath","referencedDeclaration":45033,"src":"3458:27:71"},"id":41050,"nodeType":"InheritanceSpecifier","src":"3458:27:71"},{"baseName":{"id":41051,"name":"RoundVotesCountingUpgradeableV7","nameLocations":["3489:31:71"],"nodeType":"IdentifierPath","referencedDeclaration":44077,"src":"3489:31:71"},"id":41052,"nodeType":"InheritanceSpecifier","src":"3489:31:71"},{"baseName":{"id":41053,"name":"VotesUpgradeableV7","nameLocations":["3524:18:71"],"nodeType":"IdentifierPath","referencedDeclaration":44908,"src":"3524:18:71"},"id":41054,"nodeType":"InheritanceSpecifier","src":"3524:18:71"},{"baseName":{"id":41055,"name":"VotesQuorumFractionUpgradeableV7","nameLocations":["3546:32:71"],"nodeType":"IdentifierPath","referencedDeclaration":44745,"src":"3546:32:71"},"id":41056,"nodeType":"InheritanceSpecifier","src":"3546:32:71"},{"baseName":{"id":41057,"name":"RoundEarningsSettingsUpgradeableV7","nameLocations":["3582:34:71"],"nodeType":"IdentifierPath","referencedDeclaration":43227,"src":"3582:34:71"},"id":41058,"nodeType":"InheritanceSpecifier","src":"3582:34:71"},{"baseName":{"id":41059,"name":"ExternalContractsUpgradeableV7","nameLocations":["3620:30:71"],"nodeType":"IdentifierPath","referencedDeclaration":42988,"src":"3620:30:71"},"id":41060,"nodeType":"InheritanceSpecifier","src":"3620:30:71"},{"baseName":{"id":41061,"name":"RoundsStorageUpgradeableV7","nameLocations":["3654:26:71"],"nodeType":"IdentifierPath","referencedDeclaration":44497,"src":"3654:26:71"},"id":41062,"nodeType":"InheritanceSpecifier","src":"3654:26:71"},{"baseName":{"id":41063,"name":"RoundFinalizationUpgradeableV7","nameLocations":["3684:30:71"],"nodeType":"IdentifierPath","referencedDeclaration":43413,"src":"3684:30:71"},"id":41064,"nodeType":"InheritanceSpecifier","src":"3684:30:71"},{"baseName":{"id":41065,"name":"AccessControlUpgradeable","nameLocations":["3718:24:71"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"3718:24:71"},"id":41066,"nodeType":"InheritanceSpecifier","src":"3718:24:71"},{"baseName":{"id":41067,"name":"UUPSUpgradeable","nameLocations":["3746:15:71"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"3746:15:71"},"id":41068,"nodeType":"InheritanceSpecifier","src":"3746:15:71"}],"canonicalName":"XAllocationVotingV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":41046,"nodeType":"StructuredDocumentation","src":"2132:1260:71","text":" @title XAllocationVoting\n @notice This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds.\n The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \"Quadratic Funding\" formula.\n @dev Rounds are started by the Emissions contract.\n @dev Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).\n @dev Interacts with the VotingRewards contract to save the user from casting a vote.\n @dev The contract is using AccessControl to handle roles for admin, governance, and round-starting operations.\n ----- Version 2 -----\n - Integrated VeBetterPassport\n - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold\n ----- Version 3 -----\n - Updated the X2EarnApps interface to support node endorsement feature\n ----- Version 4 -----\n - Updated the X2EarnApps interface to support node cooldown functionality\n ----- Version 6 -----\n  - Align IVoterRewards and IEmissions interfaces with the new contracts\n ----- Version 7 -----\n - Proposal Execution: Count proposal deposits to x-allocation voting power"},"fullyImplemented":true,"id":41560,"linearizedBaseContracts":[41560,1914,4566,362,43413,44497,42988,43227,44745,44908,44077,45033,42519,41900,4552,4332,5961,4415,3987,1732],"name":"XAllocationVotingV7","nameLocation":"3402:19:71","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":41069,"nodeType":"StructuredDocumentation","src":"3766:70:71","text":"@notice Role identifier for the address that can start a new round"},"functionSelector":"cd669a72","id":41074,"mutability":"constant","name":"ROUND_STARTER_ROLE","nameLocation":"3863:18:71","nodeType":"VariableDeclaration","scope":41560,"src":"3839:76:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41070,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3839:7:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"524f554e445f535441525445525f524f4c45","id":41072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3894:20:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b","typeString":"literal_string \"ROUND_STARTER_ROLE\""},"value":"ROUND_STARTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b","typeString":"literal_string \"ROUND_STARTER_ROLE\""}],"id":41071,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3884:9:71","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":41073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3884:31:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":41075,"nodeType":"StructuredDocumentation","src":"3919:73:71","text":"@notice Role identifier for the address that can upgrade the contract"},"functionSelector":"f72c0d8b","id":41080,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"4019:13:71","nodeType":"VariableDeclaration","scope":41560,"src":"3995:66:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3995:7:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":41078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4045:15:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":41077,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4035:9:71","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":41079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4035:26:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":41081,"nodeType":"StructuredDocumentation","src":"4065:53:71","text":"@notice Role identifier for governance operations"},"functionSelector":"f36c8f5c","id":41086,"mutability":"constant","name":"GOVERNANCE_ROLE","nameLocation":"4145:15:71","nodeType":"VariableDeclaration","scope":41560,"src":"4121:70:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4121:7:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"474f5645524e414e43455f524f4c45","id":41084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4173:17:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""},"value":"GOVERNANCE_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""}],"id":41083,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4163:9:71","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":41085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4163:28:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":41087,"nodeType":"StructuredDocumentation","src":"4195:99:71","text":"@notice The role that can set the addresses of the contracts used by the VoterRewards contract."},"functionSelector":"952f2133","id":41092,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"4321:30:71","nodeType":"VariableDeclaration","scope":41560,"src":"4297:100:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4297:7:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":41090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4364:32:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":41089,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4354:9:71","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":41091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"XAllocationVotingV7.InitializationData","documentation":{"id":41093,"nodeType":"StructuredDocumentation","src":"4402:998:71","text":" @notice Data for initializing the contract\n @param vot3Token The address of the VOT3 token used for voting\n @param quorumPercentage quorum as a percentage of the total supply\n @param initialVotingPeriod The round duration\n @param timeLock Address of the timelock contract controlling governance actions\n @param voterRewards The address of the VoterRewards contract\n @param emissions The address of the Emissions contract\n @param admins The addresses of the admins\n @param upgrader The address of the upgrader\n @param contractsAddressManager The address of the contracts address manager.\n @param x2EarnAppsAddress The address of the X2EarnApps contract\n @param baseAllocationPercentage A percentage of the total amount of allocations that should be equaly distributed to all apps in a round\n @param appSharesCap Max amount of % of votes an app can get in a round\n @param votingThreshold Minimum amount of VOT3 balance to cast a vote"},"id":41125,"members":[{"constant":false,"id":41096,"mutability":"mutable","name":"vot3Token","nameLocation":"5442:9:71","nodeType":"VariableDeclaration","scope":41125,"src":"5435:16:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"},"typeName":{"id":41095,"nodeType":"UserDefinedTypeName","pathNode":{"id":41094,"name":"IVotes","nameLocations":["5435:6:71"],"nodeType":"IdentifierPath","referencedDeclaration":4498,"src":"5435:6:71"},"referencedDeclaration":4498,"src":"5435:6:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}},"visibility":"internal"},{"constant":false,"id":41098,"mutability":"mutable","name":"quorumPercentage","nameLocation":"5465:16:71","nodeType":"VariableDeclaration","scope":41125,"src":"5457:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41097,"name":"uint256","nodeType":"ElementaryTypeName","src":"5457:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41100,"mutability":"mutable","name":"initialVotingPeriod","nameLocation":"5494:19:71","nodeType":"VariableDeclaration","scope":41125,"src":"5487:26:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":41099,"name":"uint32","nodeType":"ElementaryTypeName","src":"5487:6:71","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":41102,"mutability":"mutable","name":"timeLock","nameLocation":"5527:8:71","nodeType":"VariableDeclaration","scope":41125,"src":"5519:16:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41101,"name":"address","nodeType":"ElementaryTypeName","src":"5519:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41105,"mutability":"mutable","name":"voterRewards","nameLocation":"5555:12:71","nodeType":"VariableDeclaration","scope":41125,"src":"5541:26:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":41104,"nodeType":"UserDefinedTypeName","pathNode":{"id":41103,"name":"IVoterRewards","nameLocations":["5541:13:71"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"5541:13:71"},"referencedDeclaration":69092,"src":"5541:13:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"},{"constant":false,"id":41108,"mutability":"mutable","name":"emissions","nameLocation":"5584:9:71","nodeType":"VariableDeclaration","scope":41125,"src":"5573:20:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":41107,"nodeType":"UserDefinedTypeName","pathNode":{"id":41106,"name":"IEmissions","nameLocations":["5573:10:71"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"5573:10:71"},"referencedDeclaration":64454,"src":"5573:10:71","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":41111,"mutability":"mutable","name":"admins","nameLocation":"5609:6:71","nodeType":"VariableDeclaration","scope":41125,"src":"5599:16:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":41109,"name":"address","nodeType":"ElementaryTypeName","src":"5599:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41110,"nodeType":"ArrayTypeName","src":"5599:9:71","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":41113,"mutability":"mutable","name":"upgrader","nameLocation":"5629:8:71","nodeType":"VariableDeclaration","scope":41125,"src":"5621:16:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41112,"name":"address","nodeType":"ElementaryTypeName","src":"5621:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41115,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"5651:23:71","nodeType":"VariableDeclaration","scope":41125,"src":"5643:31:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41114,"name":"address","nodeType":"ElementaryTypeName","src":"5643:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41118,"mutability":"mutable","name":"x2EarnAppsAddress","nameLocation":"5692:17:71","nodeType":"VariableDeclaration","scope":41125,"src":"5680:29:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":41117,"nodeType":"UserDefinedTypeName","pathNode":{"id":41116,"name":"IX2EarnApps","nameLocations":["5680:11:71"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"5680:11:71"},"referencedDeclaration":69989,"src":"5680:11:71","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":41120,"mutability":"mutable","name":"baseAllocationPercentage","nameLocation":"5723:24:71","nodeType":"VariableDeclaration","scope":41125,"src":"5715:32:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41119,"name":"uint256","nodeType":"ElementaryTypeName","src":"5715:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41122,"mutability":"mutable","name":"appSharesCap","nameLocation":"5761:12:71","nodeType":"VariableDeclaration","scope":41125,"src":"5753:20:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41121,"name":"uint256","nodeType":"ElementaryTypeName","src":"5753:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41124,"mutability":"mutable","name":"votingThreshold","nameLocation":"5787:15:71","nodeType":"VariableDeclaration","scope":41125,"src":"5779:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41123,"name":"uint256","nodeType":"ElementaryTypeName","src":"5779:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"5410:18:71","nodeType":"StructDefinition","scope":41560,"src":"5403:404:71","visibility":"public"},{"body":{"id":41132,"nodeType":"Block","src":"5876:33:71","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":41129,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"5882:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":41130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5882:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41131,"nodeType":"ExpressionStatement","src":"5882:22:71"}]},"documentation":{"id":41126,"nodeType":"StructuredDocumentation","src":"5811:48:71","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":41133,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":41127,"nodeType":"ParameterList","parameters":[],"src":"5873:2:71"},"returnParameters":{"id":41128,"nodeType":"ParameterList","parameters":[],"src":"5876:0:71"},"scope":41560,"src":"5862:47:71","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":41288,"nodeType":"Block","src":"6074:1232:71","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":41152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":41145,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6096:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6101:9:71","memberName":"vot3Token","nodeType":"MemberAccess","referencedDeclaration":41096,"src":"6096:14:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}],"id":41144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6088:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41143,"name":"address","nodeType":"ElementaryTypeName","src":"6088:7:71","typeDescriptions":{}}},"id":41147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6088:23:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":41150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6123:1:71","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":41149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6115:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41148,"name":"address","nodeType":"ElementaryTypeName","src":"6115:7:71","typeDescriptions":{}}},"id":41151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6115:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6088:37:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420564f543320746f6b656e2061646472657373","id":41153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6127:47:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a","typeString":"literal_string \"XAllocationVoting: invalid VOT3 token address\""},"value":"XAllocationVoting: invalid VOT3 token address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a","typeString":"literal_string \"XAllocationVoting: invalid VOT3 token address\""}],"id":41142,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6080:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":41154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6080:95:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41155,"nodeType":"ExpressionStatement","src":"6080:95:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":41166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":41159,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6197:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6202:12:71","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":41105,"src":"6197:17:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":41158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6189:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41157,"name":"address","nodeType":"ElementaryTypeName","src":"6189:7:71","typeDescriptions":{}}},"id":41161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6189:26:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":41164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6227:1:71","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":41163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6219:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41162,"name":"address","nodeType":"ElementaryTypeName","src":"6219:7:71","typeDescriptions":{}}},"id":41165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6219:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6189:40:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420566f746572526577617264732061646472657373","id":41167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6231:49:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6","typeString":"literal_string \"XAllocationVoting: invalid VoterRewards address\""},"value":"XAllocationVoting: invalid VoterRewards address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6","typeString":"literal_string \"XAllocationVoting: invalid VoterRewards address\""}],"id":41156,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6181:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":41168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6181:100:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41169,"nodeType":"ExpressionStatement","src":"6181:100:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":41180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":41173,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6303:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6308:9:71","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":41108,"src":"6303:14:71","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":41172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6295:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41171,"name":"address","nodeType":"ElementaryTypeName","src":"6295:7:71","typeDescriptions":{}}},"id":41175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6295:23:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":41178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6330:1:71","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":41177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6322:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41176,"name":"address","nodeType":"ElementaryTypeName","src":"6322:7:71","typeDescriptions":{}}},"id":41179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6322:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6295:37:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420456d697373696f6e732061646472657373","id":41181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6334:46:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890","typeString":"literal_string \"XAllocationVoting: invalid Emissions address\""},"value":"XAllocationVoting: invalid Emissions address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890","typeString":"literal_string \"XAllocationVoting: invalid Emissions address\""}],"id":41170,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6287:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":41182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6287:94:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41183,"nodeType":"ExpressionStatement","src":"6287:94:71"},{"expression":{"arguments":[{"hexValue":"58416c6c6f636174696f6e566f74696e67","id":41185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6421:19:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_b95cb6ed3f65471e8fe0a840073c7edc41580c0dea9cea8ec17f56768c85fc1c","typeString":"literal_string \"XAllocationVoting\""},"value":"XAllocationVoting"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b95cb6ed3f65471e8fe0a840073c7edc41580c0dea9cea8ec17f56768c85fc1c","typeString":"literal_string \"XAllocationVoting\""}],"id":41184,"name":"__XAllocationVotingGovernor_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41984,"src":"6388:32:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":41186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6388:53:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41187,"nodeType":"ExpressionStatement","src":"6388:53:71"},{"expression":{"arguments":[{"expression":{"id":41189,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6472:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41190,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6477:17:71","memberName":"x2EarnAppsAddress","nodeType":"MemberAccess","referencedDeclaration":41118,"src":"6472:22:71","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},{"expression":{"id":41191,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6496:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6501:9:71","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":41108,"src":"6496:14:71","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},{"expression":{"id":41193,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6512:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6517:12:71","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":41105,"src":"6512:17:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":41188,"name":"__ExternalContracts_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42614,"src":"6447:24:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IX2EarnApps_$69989_$_t_contract$_IEmissions_$64454_$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IX2EarnApps,contract IEmissions,contract IVoterRewards)"}},"id":41195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6447:83:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41196,"nodeType":"ExpressionStatement","src":"6447:83:71"},{"expression":{"arguments":[{"expression":{"id":41198,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6558:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41199,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6563:19:71","memberName":"initialVotingPeriod","nodeType":"MemberAccess","referencedDeclaration":41100,"src":"6558:24:71","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":41197,"name":"__VotingSettings_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44953,"src":"6536:21:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$returns$__$","typeString":"function (uint32)"}},"id":41200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6536:47:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41201,"nodeType":"ExpressionStatement","src":"6536:47:71"},{"expression":{"arguments":[{"expression":{"id":41203,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6615:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6620:15:71","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":41124,"src":"6615:20:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41202,"name":"__RoundVotesCounting_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43493,"src":"6589:25:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":41205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6589:47:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41206,"nodeType":"ExpressionStatement","src":"6589:47:71"},{"expression":{"arguments":[{"expression":{"id":41208,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6655:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41209,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6660:9:71","memberName":"vot3Token","nodeType":"MemberAccess","referencedDeclaration":41096,"src":"6655:14:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}],"id":41207,"name":"__Votes_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44793,"src":"6642:12:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IVotes_$4498_$returns$__$","typeString":"function (contract IVotes)"}},"id":41210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6642:28:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41211,"nodeType":"ExpressionStatement","src":"6642:28:71"},{"expression":{"arguments":[{"expression":{"id":41213,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6703:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6708:16:71","memberName":"quorumPercentage","nodeType":"MemberAccess","referencedDeclaration":41098,"src":"6703:21:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41212,"name":"__VotesQuorumFraction_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44558,"src":"6676:26:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":41215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6676:49:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41216,"nodeType":"ExpressionStatement","src":"6676:49:71"},{"expression":{"arguments":[{"expression":{"id":41218,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6760:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6765:24:71","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":41120,"src":"6760:29:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":41220,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6791:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6796:12:71","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":41122,"src":"6791:17:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41217,"name":"__RoundEarningsSettings_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43040,"src":"6731:28:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":41222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6731:78:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41223,"nodeType":"ExpressionStatement","src":"6731:78:71"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":41224,"name":"__RoundFinalization_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43269,"src":"6815:24:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":41225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6815:26:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41226,"nodeType":"ExpressionStatement","src":"6815:26:71"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":41227,"name":"__RoundsStorage_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44134,"src":"6847:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":41228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6847:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41229,"nodeType":"ExpressionStatement","src":"6847:22:71"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":41230,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"6875:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":41231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6875:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41232,"nodeType":"ExpressionStatement","src":"6875:22:71"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":41233,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"6903:22:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":41234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41235,"nodeType":"ExpressionStatement","src":"6903:24:71"},{"body":{"id":41268,"nodeType":"Block","src":"6979:150:71","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":41256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":41248,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6995:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7000:6:71","memberName":"admins","nodeType":"MemberAccess","referencedDeclaration":41111,"src":"6995:11:71","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":41251,"indexExpression":{"id":41250,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41237,"src":"7007:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6995:14:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":41254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7021:1:71","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":41253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7013:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41252,"name":"address","nodeType":"ElementaryTypeName","src":"7013:7:71","typeDescriptions":{}}},"id":41255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7013:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6995:28:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c69642061646d696e2061646472657373","id":41257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7025:42:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b","typeString":"literal_string \"XAllocationVoting: invalid admin address\""},"value":"XAllocationVoting: invalid admin address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b","typeString":"literal_string \"XAllocationVoting: invalid admin address\""}],"id":41247,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6987:7:71","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":41258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6987:81:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41259,"nodeType":"ExpressionStatement","src":"6987:81:71"},{"expression":{"arguments":[{"id":41261,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"7087:18:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"expression":{"id":41262,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"7107:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7112:6:71","memberName":"admins","nodeType":"MemberAccess","referencedDeclaration":41111,"src":"7107:11:71","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":41265,"indexExpression":{"id":41264,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41237,"src":"7119:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7107:14:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":41260,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"7076:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":41266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7076:46:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41267,"nodeType":"ExpressionStatement","src":"7076:46:71"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41239,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41237,"src":"6950:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":41240,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"6954:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6959:6:71","memberName":"admins","nodeType":"MemberAccess","referencedDeclaration":41111,"src":"6954:11:71","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":41242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6966:6:71","memberName":"length","nodeType":"MemberAccess","src":"6954:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6950:22:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41269,"initializationExpression":{"assignments":[41237],"declarations":[{"constant":false,"id":41237,"mutability":"mutable","name":"i","nameLocation":"6947:1:71","nodeType":"VariableDeclaration","scope":41269,"src":"6939:9:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41236,"name":"uint256","nodeType":"ElementaryTypeName","src":"6939:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41238,"nodeType":"VariableDeclarationStatement","src":"6939:9:71"},"loopExpression":{"expression":{"id":41245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6974:3:71","subExpression":{"id":41244,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41237,"src":"6974:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41246,"nodeType":"ExpressionStatement","src":"6974:3:71"},"nodeType":"ForStatement","src":"6934:195:71"},{"expression":{"arguments":[{"id":41271,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41080,"src":"7146:13:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":41272,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"7161:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7166:8:71","memberName":"upgrader","nodeType":"MemberAccess","referencedDeclaration":41113,"src":"7161:13:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":41270,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"7135:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":41274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7135:40:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41275,"nodeType":"ExpressionStatement","src":"7135:40:71"},{"expression":{"arguments":[{"id":41277,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41086,"src":"7192:15:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":41278,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"7209:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7214:8:71","memberName":"timeLock","nodeType":"MemberAccess","referencedDeclaration":41102,"src":"7209:13:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":41276,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"7181:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":41280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7181:42:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41281,"nodeType":"ExpressionStatement","src":"7181:42:71"},{"expression":{"arguments":[{"id":41283,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41092,"src":"7240:30:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":41284,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41137,"src":"7272:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData memory"}},"id":41285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7277:23:71","memberName":"contractsAddressManager","nodeType":"MemberAccess","referencedDeclaration":41115,"src":"7272:28:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":41282,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"7229:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":41286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7229:72:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41287,"nodeType":"ExpressionStatement","src":"7229:72:71"}]},"documentation":{"id":41134,"nodeType":"StructuredDocumentation","src":"5913:87:71","text":" @notice Initialize the contract\n @param data The initialization data"},"functionSelector":"e7ad2bed","id":41289,"implemented":true,"kind":"function","modifiers":[{"id":41140,"kind":"modifierInvocation","modifierName":{"id":41139,"name":"initializer","nameLocations":["6062:11:71"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"6062:11:71"},"nodeType":"ModifierInvocation","src":"6062:11:71"}],"name":"initialize","nameLocation":"6012:10:71","nodeType":"FunctionDefinition","parameters":{"id":41138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41137,"mutability":"mutable","name":"data","nameLocation":"6049:4:71","nodeType":"VariableDeclaration","scope":41289,"src":"6023:30:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_memory_ptr","typeString":"struct XAllocationVotingV7.InitializationData"},"typeName":{"id":41136,"nodeType":"UserDefinedTypeName","pathNode":{"id":41135,"name":"InitializationData","nameLocations":["6023:18:71"],"nodeType":"IdentifierPath","referencedDeclaration":41125,"src":"6023:18:71"},"referencedDeclaration":41125,"src":"6023:18:71","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$41125_storage_ptr","typeString":"struct XAllocationVotingV7.InitializationData"}},"visibility":"internal"}],"src":"6022:32:71"},"returnParameters":{"id":41141,"nodeType":"ParameterList","parameters":[],"src":"6074:0:71"},"scope":41560,"src":"6003:1303:71","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":41302,"nodeType":"Block","src":"7393:57:71","statements":[{"expression":{"arguments":[{"id":41299,"name":"_veBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41292,"src":"7427:17:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":41298,"name":"__ExternalContracts_init_v2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42674,"src":"7399:27:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IVeBetterPassport_$68601_$returns$__$","typeString":"function (contract IVeBetterPassport)"}},"id":41300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7399:46:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41301,"nodeType":"ExpressionStatement","src":"7399:46:71"}]},"functionSelector":"29b6eca9","id":41303,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":41295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7390:1:71","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":41296,"kind":"modifierInvocation","modifierName":{"id":41294,"name":"reinitializer","nameLocations":["7376:13:71"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"7376:13:71"},"nodeType":"ModifierInvocation","src":"7376:16:71"}],"name":"initializeV2","nameLocation":"7319:12:71","nodeType":"FunctionDefinition","parameters":{"id":41293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41292,"mutability":"mutable","name":"_veBetterPassport","nameLocation":"7350:17:71","nodeType":"VariableDeclaration","scope":41303,"src":"7332:35:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":41291,"nodeType":"UserDefinedTypeName","pathNode":{"id":41290,"name":"IVeBetterPassport","nameLocations":["7332:17:71"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"7332:17:71"},"referencedDeclaration":68601,"src":"7332:17:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"7331:37:71"},"returnParameters":{"id":41297,"nodeType":"ParameterList","parameters":[],"src":"7393:0:71"},"scope":41560,"src":"7310:140:71","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":41320,"nodeType":"Block","src":"7700:53:71","statements":[{"expression":{"arguments":[{"id":41317,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41307,"src":"7734:13:71","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":41316,"name":"__ExternalContracts_init_v3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42695,"src":"7706:27:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IB3TRGovernor_$63919_$returns$__$","typeString":"function (contract IB3TRGovernor)"}},"id":41318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7706:42:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41319,"nodeType":"ExpressionStatement","src":"7706:42:71"}]},"documentation":{"id":41304,"nodeType":"StructuredDocumentation","src":"7454:144:71","text":" @dev Initializes the contract with the B3TRGovernor contract.\n @param _b3trGovernor The address of the B3TRGovernor contract."},"functionSelector":"9fb02702","id":41321,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41310,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41080,"src":"7668:13:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41311,"kind":"modifierInvocation","modifierName":{"id":41309,"name":"onlyRole","nameLocations":["7659:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"7659:8:71"},"nodeType":"ModifierInvocation","src":"7659:23:71"},{"arguments":[{"hexValue":"37","id":41313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7697:1:71","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"}],"id":41314,"kind":"modifierInvocation","modifierName":{"id":41312,"name":"reinitializer","nameLocations":["7683:13:71"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"7683:13:71"},"nodeType":"ModifierInvocation","src":"7683:16:71"}],"name":"initializeV7","nameLocation":"7610:12:71","nodeType":"FunctionDefinition","parameters":{"id":41308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41307,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"7637:13:71","nodeType":"VariableDeclaration","scope":41321,"src":"7623:27:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":41306,"nodeType":"UserDefinedTypeName","pathNode":{"id":41305,"name":"IB3TRGovernor","nameLocations":["7623:13:71"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"7623:13:71"},"referencedDeclaration":63919,"src":"7623:13:71","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"7622:29:71"},"returnParameters":{"id":41315,"nodeType":"ParameterList","parameters":[],"src":"7700:0:71"},"scope":41560,"src":"7601:152:71","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":41335,"nodeType":"Block","src":"7967:40:71","statements":[{"expression":{"arguments":[{"id":41332,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41325,"src":"7988:13:71","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":41331,"name":"_setX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42876,"src":"7973:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IX2EarnApps_$69989_$returns$__$","typeString":"function (contract IX2EarnApps)"}},"id":41333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7973:29:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41334,"nodeType":"ExpressionStatement","src":"7973:29:71"}]},"documentation":{"id":41322,"nodeType":"StructuredDocumentation","src":"7795:62:71","text":" @dev Set the address of the X2EarnApps contract"},"functionSelector":"c048f6c9","id":41336,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41328,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41092,"src":"7935:30:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41329,"kind":"modifierInvocation","modifierName":{"id":41327,"name":"onlyRole","nameLocations":["7926:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"7926:8:71"},"nodeType":"ModifierInvocation","src":"7926:40:71"}],"name":"setX2EarnAppsAddress","nameLocation":"7869:20:71","nodeType":"FunctionDefinition","parameters":{"id":41326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41325,"mutability":"mutable","name":"newX2EarnApps","nameLocation":"7902:13:71","nodeType":"VariableDeclaration","scope":41336,"src":"7890:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":41324,"nodeType":"UserDefinedTypeName","pathNode":{"id":41323,"name":"IX2EarnApps","nameLocations":["7890:11:71"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"7890:11:71"},"referencedDeclaration":69989,"src":"7890:11:71","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"7889:27:71"},"returnParameters":{"id":41330,"nodeType":"ParameterList","parameters":[],"src":"7967:0:71"},"scope":41560,"src":"7860:147:71","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":41350,"nodeType":"Block","src":"8179:38:71","statements":[{"expression":{"arguments":[{"id":41347,"name":"newEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41340,"src":"8199:12:71","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":41346,"name":"_setEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42831,"src":"8185:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IEmissions_$64454_$returns$__$","typeString":"function (contract IEmissions)"}},"id":41348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8185:27:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41349,"nodeType":"ExpressionStatement","src":"8185:27:71"}]},"documentation":{"id":41337,"nodeType":"StructuredDocumentation","src":"8011:61:71","text":" @dev Set the address of the Emissions contract"},"functionSelector":"57181609","id":41351,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41343,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41092,"src":"8147:30:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41344,"kind":"modifierInvocation","modifierName":{"id":41342,"name":"onlyRole","nameLocations":["8138:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8138:8:71"},"nodeType":"ModifierInvocation","src":"8138:40:71"}],"name":"setEmissionsAddress","nameLocation":"8084:19:71","nodeType":"FunctionDefinition","parameters":{"id":41341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41340,"mutability":"mutable","name":"newEmissions","nameLocation":"8115:12:71","nodeType":"VariableDeclaration","scope":41351,"src":"8104:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":41339,"nodeType":"UserDefinedTypeName","pathNode":{"id":41338,"name":"IEmissions","nameLocations":["8104:10:71"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"8104:10:71"},"referencedDeclaration":64454,"src":"8104:10:71","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"8103:25:71"},"returnParameters":{"id":41345,"nodeType":"ParameterList","parameters":[],"src":"8179:0:71"},"scope":41560,"src":"8075:142:71","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":41365,"nodeType":"Block","src":"8401:44:71","statements":[{"expression":{"arguments":[{"id":41362,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41355,"src":"8424:15:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":41361,"name":"_setVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42921,"src":"8407:16:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IVoterRewards)"}},"id":41363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8407:33:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41364,"nodeType":"ExpressionStatement","src":"8407:33:71"}]},"documentation":{"id":41352,"nodeType":"StructuredDocumentation","src":"8221:64:71","text":" @dev Set the address of the VoterRewards contract"},"functionSelector":"b25d6f62","id":41366,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41358,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41092,"src":"8369:30:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41359,"kind":"modifierInvocation","modifierName":{"id":41357,"name":"onlyRole","nameLocations":["8360:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8360:8:71"},"nodeType":"ModifierInvocation","src":"8360:40:71"}],"name":"setVoterRewardsAddress","nameLocation":"8297:22:71","nodeType":"FunctionDefinition","parameters":{"id":41356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41355,"mutability":"mutable","name":"newVoterRewards","nameLocation":"8334:15:71","nodeType":"VariableDeclaration","scope":41366,"src":"8320:29:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":41354,"nodeType":"UserDefinedTypeName","pathNode":{"id":41353,"name":"IVoterRewards","nameLocations":["8320:13:71"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"8320:13:71"},"referencedDeclaration":69092,"src":"8320:13:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"8319:31:71"},"returnParameters":{"id":41360,"nodeType":"ParameterList","parameters":[],"src":"8401:0:71"},"scope":41560,"src":"8288:157:71","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[43534],"body":{"id":41382,"nodeType":"Block","src":"8720:55:71","statements":[{"expression":{"arguments":[{"id":41379,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41369,"src":"8751:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41376,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8726:5:71","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV7_$41560_$","typeString":"type(contract super XAllocationVotingV7)"}},"id":41378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8732:18:71","memberName":"setVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":43534,"src":"8726:24:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":41380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8726:44:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41381,"nodeType":"ExpressionStatement","src":"8726:44:71"}]},"documentation":{"id":41367,"nodeType":"StructuredDocumentation","src":"8449:162:71","text":" @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n Emits a {VotingThresholdSet} event."},"functionSelector":"836761e0","id":41383,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41373,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41086,"src":"8703:15:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41374,"kind":"modifierInvocation","modifierName":{"id":41372,"name":"onlyRole","nameLocations":["8694:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8694:8:71"},"nodeType":"ModifierInvocation","src":"8694:25:71"}],"name":"setVotingThreshold","nameLocation":"8623:18:71","nodeType":"FunctionDefinition","overrides":{"id":41371,"nodeType":"OverrideSpecifier","overrides":[],"src":"8685:8:71"},"parameters":{"id":41370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41369,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"8650:18:71","nodeType":"VariableDeclaration","scope":41383,"src":"8642:26:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41368,"name":"uint256","nodeType":"ElementaryTypeName","src":"8642:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8641:28:71"},"returnParameters":{"id":41375,"nodeType":"ParameterList","parameters":[],"src":"8720:0:71"},"scope":41560,"src":"8614:161:71","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[42038],"body":{"id":41397,"nodeType":"Block","src":"8949:39:71","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":41393,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8962:5:71","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV7_$41560_$","typeString":"type(contract super XAllocationVotingV7)"}},"id":41394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8968:13:71","memberName":"startNewRound","nodeType":"MemberAccess","referencedDeclaration":42038,"src":"8962:19:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":41395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8962:21:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41392,"id":41396,"nodeType":"Return","src":"8955:28:71"}]},"documentation":{"id":41384,"nodeType":"StructuredDocumentation","src":"8779:79:71","text":" @dev Start a new voting round for allocating funds to the x-apps"},"functionSelector":"bd85948c","id":41398,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41388,"name":"ROUND_STARTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41074,"src":"8911:18:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41389,"kind":"modifierInvocation","modifierName":{"id":41387,"name":"onlyRole","nameLocations":["8902:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8902:8:71"},"nodeType":"ModifierInvocation","src":"8902:28:71"}],"name":"startNewRound","nameLocation":"8870:13:71","nodeType":"FunctionDefinition","overrides":{"id":41386,"nodeType":"OverrideSpecifier","overrides":[],"src":"8893:8:71"},"parameters":{"id":41385,"nodeType":"ParameterList","parameters":[],"src":"8883:2:71"},"returnParameters":{"id":41392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41398,"src":"8940:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41390,"name":"uint256","nodeType":"ElementaryTypeName","src":"8940:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8939:9:71"},"scope":41560,"src":"8861:127:71","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[43220],"body":{"id":41412,"nodeType":"Block","src":"9169:42:71","statements":[{"expression":{"arguments":[{"id":41409,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41401,"src":"9192:13:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41408,"name":"_setAppSharesCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43182,"src":"9175:16:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":41410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9175:31:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41411,"nodeType":"ExpressionStatement","src":"9175:31:71"}]},"documentation":{"id":41399,"nodeType":"StructuredDocumentation","src":"8992:74:71","text":" @dev Set the max amount of shares an app can get in a round"},"functionSelector":"74038935","id":41413,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41405,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41086,"src":"9152:15:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41406,"kind":"modifierInvocation","modifierName":{"id":41404,"name":"onlyRole","nameLocations":["9143:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9143:8:71"},"nodeType":"ModifierInvocation","src":"9143:25:71"}],"name":"setAppSharesCap","nameLocation":"9078:15:71","nodeType":"FunctionDefinition","overrides":{"id":41403,"nodeType":"OverrideSpecifier","overrides":[],"src":"9134:8:71"},"parameters":{"id":41402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41401,"mutability":"mutable","name":"appSharesCap_","nameLocation":"9102:13:71","nodeType":"VariableDeclaration","scope":41413,"src":"9094:21:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41400,"name":"uint256","nodeType":"ElementaryTypeName","src":"9094:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9093:23:71"},"returnParameters":{"id":41407,"nodeType":"ParameterList","parameters":[],"src":"9169:0:71"},"scope":41560,"src":"9069:142:71","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"baseFunctions":[43226],"body":{"id":41427,"nodeType":"Block","src":"9436:66:71","statements":[{"expression":{"arguments":[{"id":41424,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41416,"src":"9471:25:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41423,"name":"_setBaseAllocationPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43156,"src":"9442:28:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":41425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9442:55:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41426,"nodeType":"ExpressionStatement","src":"9442:55:71"}]},"documentation":{"id":41414,"nodeType":"StructuredDocumentation","src":"9215:88:71","text":" @dev Set the base allocation percentage for funds distribution in a round"},"functionSelector":"f5fae136","id":41428,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41420,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41086,"src":"9419:15:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41421,"kind":"modifierInvocation","modifierName":{"id":41419,"name":"onlyRole","nameLocations":["9410:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9410:8:71"},"nodeType":"ModifierInvocation","src":"9410:25:71"}],"name":"setBaseAllocationPercentage","nameLocation":"9315:27:71","nodeType":"FunctionDefinition","overrides":{"id":41418,"nodeType":"OverrideSpecifier","overrides":[],"src":"9401:8:71"},"parameters":{"id":41417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41416,"mutability":"mutable","name":"baseAllocationPercentage_","nameLocation":"9356:25:71","nodeType":"VariableDeclaration","scope":41428,"src":"9348:33:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41415,"name":"uint256","nodeType":"ElementaryTypeName","src":"9348:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9342:43:71"},"returnParameters":{"id":41422,"nodeType":"ParameterList","parameters":[],"src":"9436:0:71"},"scope":41560,"src":"9306:196:71","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":41441,"nodeType":"Block","src":"9652:44:71","statements":[{"expression":{"arguments":[{"id":41438,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41431,"src":"9675:15:71","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":41437,"name":"_setVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45032,"src":"9658:16:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$returns$__$","typeString":"function (uint32)"}},"id":41439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9658:33:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41440,"nodeType":"ExpressionStatement","src":"9658:33:71"}]},"documentation":{"id":41429,"nodeType":"StructuredDocumentation","src":"9506:53:71","text":" @dev Set the voting period for a round"},"functionSelector":"e540d01d","id":41442,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41434,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41086,"src":"9635:15:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41435,"kind":"modifierInvocation","modifierName":{"id":41433,"name":"onlyRole","nameLocations":["9626:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9626:8:71"},"nodeType":"ModifierInvocation","src":"9626:25:71"}],"name":"setVotingPeriod","nameLocation":"9571:15:71","nodeType":"FunctionDefinition","parameters":{"id":41432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41431,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"9594:15:71","nodeType":"VariableDeclaration","scope":41442,"src":"9587:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":41430,"name":"uint32","nodeType":"ElementaryTypeName","src":"9587:6:71","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"9586:24:71"},"returnParameters":{"id":41436,"nodeType":"ParameterList","parameters":[],"src":"9652:0:71"},"scope":41560,"src":"9562:134:71","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[44693],"body":{"id":41458,"nodeType":"Block","src":"9889:58:71","statements":[{"expression":{"arguments":[{"id":41455,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41445,"src":"9923:18:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41452,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9895:5:71","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV7_$41560_$","typeString":"type(contract super XAllocationVotingV7)"}},"id":41454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9901:21:71","memberName":"updateQuorumNumerator","nodeType":"MemberAccess","referencedDeclaration":44693,"src":"9895:27:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":41456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9895:47:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41457,"nodeType":"ExpressionStatement","src":"9895:47:71"}]},"documentation":{"id":41443,"nodeType":"StructuredDocumentation","src":"9700:77:71","text":" @dev Update the quorum a round needs to reach to be successful"},"functionSelector":"06f3f9e6","id":41459,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41449,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41086,"src":"9872:15:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41450,"kind":"modifierInvocation","modifierName":{"id":41448,"name":"onlyRole","nameLocations":["9863:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9863:8:71"},"nodeType":"ModifierInvocation","src":"9863:25:71"}],"name":"updateQuorumNumerator","nameLocation":"9789:21:71","nodeType":"FunctionDefinition","overrides":{"id":41447,"nodeType":"OverrideSpecifier","overrides":[],"src":"9854:8:71"},"parameters":{"id":41446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41445,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"9819:18:71","nodeType":"VariableDeclaration","scope":41459,"src":"9811:26:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41444,"name":"uint256","nodeType":"ElementaryTypeName","src":"9811:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9810:28:71"},"returnParameters":{"id":41451,"nodeType":"ParameterList","parameters":[],"src":"9889:0:71"},"scope":41560,"src":"9780:167:71","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":41473,"nodeType":"Block","src":"10110:52:71","statements":[{"expression":{"arguments":[{"id":41470,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41463,"src":"10137:19:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":41469,"name":"_setVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42954,"src":"10116:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IVeBetterPassport_$68601_$returns$__$","typeString":"function (contract IVeBetterPassport)"}},"id":41471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10116:41:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41472,"nodeType":"ExpressionStatement","src":"10116:41:71"}]},"documentation":{"id":41460,"nodeType":"StructuredDocumentation","src":"9951:53:71","text":" @dev Set the VeBetterPassport contract"},"functionSelector":"b3c93dab","id":41474,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41466,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41086,"src":"10093:15:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41467,"kind":"modifierInvocation","modifierName":{"id":41465,"name":"onlyRole","nameLocations":["10084:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"10084:8:71"},"nodeType":"ModifierInvocation","src":"10084:25:71"}],"name":"setVeBetterPassport","nameLocation":"10016:19:71","nodeType":"FunctionDefinition","parameters":{"id":41464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41463,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"10054:19:71","nodeType":"VariableDeclaration","scope":41474,"src":"10036:37:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":41462,"nodeType":"UserDefinedTypeName","pathNode":{"id":41461,"name":"IVeBetterPassport","nameLocations":["10036:17:71"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"10036:17:71"},"referencedDeclaration":68601,"src":"10036:17:71","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"10035:39:71"},"returnParameters":{"id":41468,"nodeType":"ParameterList","parameters":[],"src":"10110:0:71"},"scope":41560,"src":"10007:155:71","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":41488,"nodeType":"Block","src":"10309:44:71","statements":[{"expression":{"arguments":[{"id":41485,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41478,"src":"10332:15:71","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":41484,"name":"_setB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42987,"src":"10315:16:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IB3TRGovernor_$63919_$returns$__$","typeString":"function (contract IB3TRGovernor)"}},"id":41486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10315:33:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41487,"nodeType":"ExpressionStatement","src":"10315:33:71"}]},"documentation":{"id":41475,"nodeType":"StructuredDocumentation","src":"10166:49:71","text":" @dev Set the B3TRGovernor contract"},"functionSelector":"78a81336","id":41489,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41481,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41086,"src":"10292:15:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41482,"kind":"modifierInvocation","modifierName":{"id":41480,"name":"onlyRole","nameLocations":["10283:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"10283:8:71"},"nodeType":"ModifierInvocation","src":"10283:25:71"}],"name":"setB3TRGovernor","nameLocation":"10227:15:71","nodeType":"FunctionDefinition","parameters":{"id":41479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41478,"mutability":"mutable","name":"newB3TRGovernor","nameLocation":"10257:15:71","nodeType":"VariableDeclaration","scope":41489,"src":"10243:29:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":41477,"nodeType":"UserDefinedTypeName","pathNode":{"id":41476,"name":"IB3TRGovernor","nameLocations":["10243:13:71"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"10243:13:71"},"referencedDeclaration":63919,"src":"10243:13:71","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"10242:31:71"},"returnParameters":{"id":41483,"nodeType":"ParameterList","parameters":[],"src":"10309:0:71"},"scope":41560,"src":"10218:135:71","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[41732],"body":{"id":41503,"nodeType":"Block","src":"10520:48:71","statements":[{"expression":{"arguments":[{"arguments":[{"id":41499,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41492,"src":"10554:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41498,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[44355],"referencedDeclaration":44355,"src":"10540:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":41500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10540:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41497,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[41533],"referencedDeclaration":41533,"src":"10533:6:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":41501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10533:30:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41496,"id":41502,"nodeType":"Return","src":"10526:37:71"}]},"documentation":{"id":41490,"nodeType":"StructuredDocumentation","src":"10396:51:71","text":" Returns the quorum for a given round"},"functionSelector":"59529edd","id":41504,"implemented":true,"kind":"function","modifiers":[],"name":"roundQuorum","nameLocation":"10459:11:71","nodeType":"FunctionDefinition","parameters":{"id":41493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41492,"mutability":"mutable","name":"roundId","nameLocation":"10479:7:71","nodeType":"VariableDeclaration","scope":41504,"src":"10471:15:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41491,"name":"uint256","nodeType":"ElementaryTypeName","src":"10471:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10470:17:71"},"returnParameters":{"id":41496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41495,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41504,"src":"10511:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41494,"name":"uint256","nodeType":"ElementaryTypeName","src":"10511:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10510:9:71"},"scope":41560,"src":"10450:118:71","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[42429,44982],"body":{"id":41516,"nodeType":"Block","src":"10761:38:71","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":41512,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10774:5:71","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV7_$41560_$","typeString":"type(contract super XAllocationVotingV7)"}},"id":41513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10780:12:71","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":44982,"src":"10774:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":41514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10774:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41511,"id":41515,"nodeType":"Return","src":"10767:27:71"}]},"functionSelector":"02a251a3","id":41517,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"10631:12:71","nodeType":"FunctionDefinition","overrides":{"id":41508,"nodeType":"OverrideSpecifier","overrides":[{"id":41506,"name":"XAllocationVotingGovernorV7","nameLocations":["10679:27:71"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"10679:27:71"},{"id":41507,"name":"VotingSettingsUpgradeableV7","nameLocations":["10708:27:71"],"nodeType":"IdentifierPath","referencedDeclaration":45033,"src":"10708:27:71"}],"src":"10670:66:71"},"parameters":{"id":41505,"nodeType":"ParameterList","parameters":[],"src":"10643:2:71"},"returnParameters":{"id":41511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41510,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41517,"src":"10750:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41509,"name":"uint256","nodeType":"ElementaryTypeName","src":"10750:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10749:9:71"},"scope":41560,"src":"10622:177:71","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[42437,44682],"body":{"id":41532,"nodeType":"Block","src":"10950:43:71","statements":[{"expression":{"arguments":[{"id":41529,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41519,"src":"10976:11:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41527,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10963:5:71","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV7_$41560_$","typeString":"type(contract super XAllocationVotingV7)"}},"id":41528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10969:6:71","memberName":"quorum","nodeType":"MemberAccess","referencedDeclaration":44682,"src":"10963:12:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":41530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10963:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41526,"id":41531,"nodeType":"Return","src":"10956:32:71"}]},"functionSelector":"f8ce560a","id":41533,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"10812:6:71","nodeType":"FunctionDefinition","overrides":{"id":41523,"nodeType":"OverrideSpecifier","overrides":[{"id":41521,"name":"XAllocationVotingGovernorV7","nameLocations":["10869:27:71"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"10869:27:71"},{"id":41522,"name":"VotesQuorumFractionUpgradeableV7","nameLocations":["10898:32:71"],"nodeType":"IdentifierPath","referencedDeclaration":44745,"src":"10898:32:71"}],"src":"10860:71:71"},"parameters":{"id":41520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41519,"mutability":"mutable","name":"blockNumber","nameLocation":"10832:11:71","nodeType":"VariableDeclaration","scope":41533,"src":"10824:19:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41518,"name":"uint256","nodeType":"ElementaryTypeName","src":"10824:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10818:29:71"},"returnParameters":{"id":41526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41533,"src":"10941:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41524,"name":"uint256","nodeType":"ElementaryTypeName","src":"10941:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10940:9:71"},"scope":41560,"src":"10803:190:71","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[91,42180],"body":{"id":41548,"nodeType":"Block","src":"11143:54:71","statements":[{"expression":{"arguments":[{"id":41545,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41535,"src":"11180:11:71","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":41543,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11156:5:71","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV7_$41560_$","typeString":"type(contract super XAllocationVotingV7)"}},"id":41544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11162:17:71","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":91,"src":"11156:23:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":41546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11156:36:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":41542,"id":41547,"nodeType":"Return","src":"11149:43:71"}]},"functionSelector":"01ffc9a7","id":41549,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11006:17:71","nodeType":"FunctionDefinition","overrides":{"id":41539,"nodeType":"OverrideSpecifier","overrides":[{"id":41537,"name":"AccessControlUpgradeable","nameLocations":["11073:24:71"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"11073:24:71"},{"id":41538,"name":"XAllocationVotingGovernorV7","nameLocations":["11099:27:71"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"11099:27:71"}],"src":"11064:63:71"},"parameters":{"id":41536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41535,"mutability":"mutable","name":"interfaceId","nameLocation":"11036:11:71","nodeType":"VariableDeclaration","scope":41549,"src":"11029:18:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":41534,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11029:6:71","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11023:28:71"},"returnParameters":{"id":41542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41549,"src":"11137:4:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41540,"name":"bool","nodeType":"ElementaryTypeName","src":"11137:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11136:6:71"},"scope":41560,"src":"10997:200:71","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[1868],"body":{"id":41558,"nodeType":"Block","src":"11345:2:71","statements":[]},"id":41559,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":41555,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41080,"src":"11330:13:71","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41556,"kind":"modifierInvocation","modifierName":{"id":41554,"name":"onlyRole","nameLocations":["11321:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"11321:8:71"},"nodeType":"ModifierInvocation","src":"11321:23:71"}],"name":"_authorizeUpgrade","nameLocation":"11258:17:71","nodeType":"FunctionDefinition","overrides":{"id":41553,"nodeType":"OverrideSpecifier","overrides":[],"src":"11312:8:71"},"parameters":{"id":41552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41551,"mutability":"mutable","name":"newImplementation","nameLocation":"11284:17:71","nodeType":"VariableDeclaration","scope":41559,"src":"11276:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41550,"name":"address","nodeType":"ElementaryTypeName","src":"11276:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11275:27:71"},"returnParameters":{"id":41557,"nodeType":"ParameterList","parameters":[],"src":"11345:0:71"},"scope":41560,"src":"11249:98:71","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":41561,"src":"3393:7956:71","usedErrors":[1495,1498,1759,1764,4342,4345,4738,4751,5344,5347,7025,8883,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632,43480,44545],"usedEvents":[1503,4354,4363,4372,4717,41646,41659,42574,42580,42586,42592,43477,44538,44940]}],"src":"1195:10155:71"},"id":71},"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol","exportedSymbols":{"IERC165":[5961],"IERC6372":[4552],"IXAllocationVotingGovernorV7":[41900]},"id":41901,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":41562,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:72"},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","file":"@openzeppelin/contracts/interfaces/IERC165.sol","id":41564,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41901,"sourceUnit":4503,"src":"57:73:72","symbolAliases":[{"foreign":{"id":41563,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"66:7:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC6372.sol","file":"@openzeppelin/contracts/interfaces/IERC6372.sol","id":41566,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":41901,"sourceUnit":4553,"src":"131:75:72","symbolAliases":[{"foreign":{"id":41565,"name":"IERC6372","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4552,"src":"140:8:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":41568,"name":"IERC165","nameLocations":["1269:7:72"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"1269:7:72"},"id":41569,"nodeType":"InheritanceSpecifier","src":"1269:7:72"},{"baseName":{"id":41570,"name":"IERC6372","nameLocations":["1278:8:72"],"nodeType":"IdentifierPath","referencedDeclaration":4552,"src":"1278:8:72"},"id":41571,"nodeType":"InheritanceSpecifier","src":"1278:8:72"}],"canonicalName":"IXAllocationVotingGovernorV7","contractDependencies":[],"contractKind":"interface","documentation":{"id":41567,"nodeType":"StructuredDocumentation","src":"208:1018:72","text":" @dev Interface of the distribution allocation voting for the x-allocation pool reward distributions.\n This interface was forked from OpenZeppelin's IGovernor.sol and modified to fit the needs of a voting mechanism\n where a user can vote on multpile x-apps belonging to the ecosystem and fractionalize their votes accross the x-apps.\n There can be only one round per time.\n After the round is created  it becomes immediately active.\n There can be only two possible outcomes of a round: it succeeds or it fails.\n To succeed the only requirement is that the quorum is reached.\n New allocation rounds can be started only by the Emissions contract, this way we can align the duration\n of emission cycles and allocation rounds.\n If the round fails, we will need to “finalize” it, which means we will create a pointer to the last succeeded round\n where shares should be calculated. Anyone can finalize the failed round,\n but it will be automatically done when a new round starts."},"fullyImplemented":false,"id":41900,"linearizedBaseContracts":[41900,4552,5961],"name":"IXAllocationVotingGovernorV7","nameLocation":"1237:28:72","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IXAllocationVotingGovernorV7.RoundState","id":41575,"members":[{"id":41572,"name":"Active","nameLocation":"1313:6:72","nodeType":"EnumValue","src":"1313:6:72"},{"id":41573,"name":"Failed","nameLocation":"1325:6:72","nodeType":"EnumValue","src":"1325:6:72"},{"id":41574,"name":"Succeeded","nameLocation":"1337:9:72","nodeType":"EnumValue","src":"1337:9:72"}],"name":"RoundState","nameLocation":"1296:10:72","nodeType":"EnumDefinition","src":"1291:59:72"},{"documentation":{"id":41576,"nodeType":"StructuredDocumentation","src":"1354:46:72","text":" @dev The vote was already cast."},"errorSelector":"71c6af49","id":41580,"name":"GovernorAlreadyCastVote","nameLocation":"1409:23:72","nodeType":"ErrorDefinition","parameters":{"id":41579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41578,"mutability":"mutable","name":"voter","nameLocation":"1441:5:72","nodeType":"VariableDeclaration","scope":41580,"src":"1433:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41577,"name":"address","nodeType":"ElementaryTypeName","src":"1433:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1432:15:72"},"src":"1403:45:72"},{"documentation":{"id":41581,"nodeType":"StructuredDocumentation","src":"1452:65:72","text":" @dev The `account` is not the governance executor."},"errorSelector":"5e309d21","id":41585,"name":"B3TRGovernorOnlyExecutor","nameLocation":"1526:24:72","nodeType":"ErrorDefinition","parameters":{"id":41584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41583,"mutability":"mutable","name":"account","nameLocation":"1559:7:72","nodeType":"VariableDeclaration","scope":41585,"src":"1551:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41582,"name":"address","nodeType":"ElementaryTypeName","src":"1551:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1550:17:72"},"src":"1520:48:72"},{"documentation":{"id":41586,"nodeType":"StructuredDocumentation","src":"1572:48:72","text":" @dev The `roundId` doesn't exist."},"errorSelector":"ced38c6c","id":41590,"name":"GovernorNonexistentRound","nameLocation":"1629:24:72","nodeType":"ErrorDefinition","parameters":{"id":41589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41588,"mutability":"mutable","name":"roundId","nameLocation":"1662:7:72","nodeType":"VariableDeclaration","scope":41590,"src":"1654:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41587,"name":"uint256","nodeType":"ElementaryTypeName","src":"1654:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1653:17:72"},"src":"1623:48:72"},{"documentation":{"id":41591,"nodeType":"StructuredDocumentation","src":"1675:497:72","text":" @dev The current state of a round is not the required for performing an operation.\n The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position\n counting from right to left.\n NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist).\n This is the case when a round that is expected to be unset is already initiated (the round is duplicated).\n See {Governor-_encodeStateBitmap}."},"errorSelector":"43656b56","id":41600,"name":"GovernorUnexpectedRoundState","nameLocation":"2181:28:72","nodeType":"ErrorDefinition","parameters":{"id":41599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41593,"mutability":"mutable","name":"roundId","nameLocation":"2218:7:72","nodeType":"VariableDeclaration","scope":41600,"src":"2210:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41592,"name":"uint256","nodeType":"ElementaryTypeName","src":"2210:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41596,"mutability":"mutable","name":"current","nameLocation":"2238:7:72","nodeType":"VariableDeclaration","scope":41600,"src":"2227:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},"typeName":{"id":41595,"nodeType":"UserDefinedTypeName","pathNode":{"id":41594,"name":"RoundState","nameLocations":["2227:10:72"],"nodeType":"IdentifierPath","referencedDeclaration":41575,"src":"2227:10:72"},"referencedDeclaration":41575,"src":"2227:10:72","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"visibility":"internal"},{"constant":false,"id":41598,"mutability":"mutable","name":"expectedStates","nameLocation":"2255:14:72","nodeType":"VariableDeclaration","scope":41600,"src":"2247:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2247:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2209:61:72"},"src":"2175:96:72"},{"documentation":{"id":41601,"nodeType":"StructuredDocumentation","src":"2275:64:72","text":" @dev The voting period set is not a valid period."},"errorSelector":"f1cfbf05","id":41605,"name":"GovernorInvalidVotingPeriod","nameLocation":"2348:27:72","nodeType":"ErrorDefinition","parameters":{"id":41604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41603,"mutability":"mutable","name":"votingPeriod","nameLocation":"2384:12:72","nodeType":"VariableDeclaration","scope":41605,"src":"2376:20:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41602,"name":"uint256","nodeType":"ElementaryTypeName","src":"2376:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2375:22:72"},"src":"2342:56:72"},{"documentation":{"id":41606,"nodeType":"StructuredDocumentation","src":"2402:110:72","text":" @dev The `appId` is not present in the list with the available x-apps for voting in this round."},"errorSelector":"4b8a7232","id":41610,"name":"GovernorAppNotAvailableForVoting","nameLocation":"2521:32:72","nodeType":"ErrorDefinition","parameters":{"id":41609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41608,"mutability":"mutable","name":"appId","nameLocation":"2562:5:72","nodeType":"VariableDeclaration","scope":41610,"src":"2554:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2554:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2553:15:72"},"src":"2515:54:72"},{"documentation":{"id":41611,"nodeType":"StructuredDocumentation","src":"2573:53:72","text":" @dev The `votingThreshold` is not met."},"errorSelector":"742f62c3","id":41617,"name":"GovernorVotingThresholdNotMet","nameLocation":"2635:29:72","nodeType":"ErrorDefinition","parameters":{"id":41616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41613,"mutability":"mutable","name":"threshold","nameLocation":"2673:9:72","nodeType":"VariableDeclaration","scope":41617,"src":"2665:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41612,"name":"uint256","nodeType":"ElementaryTypeName","src":"2665:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41615,"mutability":"mutable","name":"votes","nameLocation":"2692:5:72","nodeType":"VariableDeclaration","scope":41617,"src":"2684:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41614,"name":"uint256","nodeType":"ElementaryTypeName","src":"2684:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2664:34:72"},"src":"2629:70:72"},{"documentation":{"id":41618,"nodeType":"StructuredDocumentation","src":"2703:95:72","text":" @dev The `voter` has insufficient voting power for this round to cast the votes."},"errorSelector":"0cc9baf7","id":41620,"name":"GovernorInsufficientVotingPower","nameLocation":"2807:31:72","nodeType":"ErrorDefinition","parameters":{"id":41619,"nodeType":"ParameterList","parameters":[],"src":"2838:2:72"},"src":"2801:40:72"},{"documentation":{"id":41621,"nodeType":"StructuredDocumentation","src":"2845:82:72","text":" The `voter` is not identified as a person via the VeBetterPassport."},"errorSelector":"44c45349","id":41627,"name":"GovernorPersonhoodVerificationFailed","nameLocation":"2936:36:72","nodeType":"ErrorDefinition","parameters":{"id":41626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41623,"mutability":"mutable","name":"person","nameLocation":"2981:6:72","nodeType":"VariableDeclaration","scope":41627,"src":"2973:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41622,"name":"address","nodeType":"ElementaryTypeName","src":"2973:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41625,"mutability":"mutable","name":"reason","nameLocation":"2996:6:72","nodeType":"VariableDeclaration","scope":41627,"src":"2989:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41624,"name":"string","nodeType":"ElementaryTypeName","src":"2989:6:72","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2972:31:72"},"src":"2930:74:72"},{"documentation":{"id":41628,"nodeType":"StructuredDocumentation","src":"3008:88:72","text":" @dev The `person` is not identified as a person via the VeBetterPassport."},"errorSelector":"68804cc0","id":41632,"name":"XAllocationVotingPersonhoodVerificationFailed","nameLocation":"3105:45:72","nodeType":"ErrorDefinition","parameters":{"id":41631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41630,"mutability":"mutable","name":"person","nameLocation":"3159:6:72","nodeType":"VariableDeclaration","scope":41632,"src":"3151:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41629,"name":"address","nodeType":"ElementaryTypeName","src":"3151:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3150:16:72"},"src":"3099:68:72"},{"anonymous":false,"documentation":{"id":41633,"nodeType":"StructuredDocumentation","src":"3171:52:72","text":" @dev Emitted when a round is created."},"eventSelector":"ed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c8","id":41646,"name":"RoundCreated","nameLocation":"3232:12:72","nodeType":"EventDefinition","parameters":{"id":41645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41635,"indexed":false,"mutability":"mutable","name":"roundId","nameLocation":"3253:7:72","nodeType":"VariableDeclaration","scope":41646,"src":"3245:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41634,"name":"uint256","nodeType":"ElementaryTypeName","src":"3245:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41637,"indexed":false,"mutability":"mutable","name":"proposer","nameLocation":"3270:8:72","nodeType":"VariableDeclaration","scope":41646,"src":"3262:16:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41636,"name":"address","nodeType":"ElementaryTypeName","src":"3262:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41639,"indexed":false,"mutability":"mutable","name":"voteStart","nameLocation":"3288:9:72","nodeType":"VariableDeclaration","scope":41646,"src":"3280:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41638,"name":"uint256","nodeType":"ElementaryTypeName","src":"3280:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41641,"indexed":false,"mutability":"mutable","name":"voteEnd","nameLocation":"3307:7:72","nodeType":"VariableDeclaration","scope":41646,"src":"3299:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41640,"name":"uint256","nodeType":"ElementaryTypeName","src":"3299:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41644,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"3326:7:72","nodeType":"VariableDeclaration","scope":41646,"src":"3316:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":41642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3316:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41643,"nodeType":"ArrayTypeName","src":"3316:9:72","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"3244:90:72"},"src":"3226:109:72"},{"anonymous":false,"documentation":{"id":41647,"nodeType":"StructuredDocumentation","src":"3339:53:72","text":" @dev Emitted when votes are cast."},"eventSelector":"e2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e2","id":41659,"name":"AllocationVoteCast","nameLocation":"3401:18:72","nodeType":"EventDefinition","parameters":{"id":41658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41649,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"3436:5:72","nodeType":"VariableDeclaration","scope":41659,"src":"3420:21:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41648,"name":"address","nodeType":"ElementaryTypeName","src":"3420:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41651,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"3459:7:72","nodeType":"VariableDeclaration","scope":41659,"src":"3443:23:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41650,"name":"uint256","nodeType":"ElementaryTypeName","src":"3443:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41654,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"3478:7:72","nodeType":"VariableDeclaration","scope":41659,"src":"3468:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":41652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3468:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41653,"nodeType":"ArrayTypeName","src":"3468:9:72","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":41657,"indexed":false,"mutability":"mutable","name":"voteWeights","nameLocation":"3497:11:72","nodeType":"VariableDeclaration","scope":41659,"src":"3487:21:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":41655,"name":"uint256","nodeType":"ElementaryTypeName","src":"3487:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41656,"nodeType":"ArrayTypeName","src":"3487:9:72","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3419:90:72"},"src":"3395:115:72"},{"documentation":{"id":41660,"nodeType":"StructuredDocumentation","src":"3514:122:72","text":" @notice module:core\n @dev Name of the governor instance (used in building the ERC712 domain separator)."},"functionSelector":"06fdde03","id":41665,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"3648:4:72","nodeType":"FunctionDefinition","parameters":{"id":41661,"nodeType":"ParameterList","parameters":[],"src":"3652:2:72"},"returnParameters":{"id":41664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41665,"src":"3678:13:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41662,"name":"string","nodeType":"ElementaryTypeName","src":"3678:6:72","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3677:15:72"},"scope":41900,"src":"3639:54:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41666,"nodeType":"StructuredDocumentation","src":"3697:138:72","text":" @notice module:core\n @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\""},"functionSelector":"54fd4d50","id":41671,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"3847:7:72","nodeType":"FunctionDefinition","parameters":{"id":41667,"nodeType":"ParameterList","parameters":[],"src":"3854:2:72"},"returnParameters":{"id":41670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41669,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41671,"src":"3880:13:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41668,"name":"string","nodeType":"ElementaryTypeName","src":"3880:6:72","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3879:15:72"},"scope":41900,"src":"3838:57:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41672,"nodeType":"StructuredDocumentation","src":"3899:1450:72","text":" @notice module:voting\n @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n There are 2 standard keys: `support` and `quorum`.\n - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n - `support=x-allocations` refers to the fractionalized vote for each x-application.\n - `quorum=bravo` means that only For votes are counted towards quorum.\n - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n - `quorum=auto` means that the contract defines the logic for counting the quorum.\n If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique\n name that describes the behavior. For example:\n - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n NOTE: The string can be decoded by the standard\n https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n JavaScript class."},"functionSelector":"dd4e2ba5","id":41677,"implemented":false,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"5412:13:72","nodeType":"FunctionDefinition","parameters":{"id":41673,"nodeType":"ParameterList","parameters":[],"src":"5425:2:72"},"returnParameters":{"id":41676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41675,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41677,"src":"5451:13:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41674,"name":"string","nodeType":"ElementaryTypeName","src":"5451:6:72","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5450:15:72"},"scope":41900,"src":"5403:63:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41678,"nodeType":"StructuredDocumentation","src":"5470:69:72","text":" @notice module:core\n @dev Current state of a round"},"functionSelector":"3e4f49e6","id":41686,"implemented":false,"kind":"function","modifiers":[],"name":"state","nameLocation":"5551:5:72","nodeType":"FunctionDefinition","parameters":{"id":41681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41680,"mutability":"mutable","name":"roundId","nameLocation":"5565:7:72","nodeType":"VariableDeclaration","scope":41686,"src":"5557:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41679,"name":"uint256","nodeType":"ElementaryTypeName","src":"5557:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5556:17:72"},"returnParameters":{"id":41685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41684,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41686,"src":"5597:10:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},"typeName":{"id":41683,"nodeType":"UserDefinedTypeName","pathNode":{"id":41682,"name":"RoundState","nameLocations":["5597:10:72"],"nodeType":"IdentifierPath","referencedDeclaration":41575,"src":"5597:10:72"},"referencedDeclaration":41575,"src":"5597:10:72","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"visibility":"internal"}],"src":"5596:12:72"},"scope":41900,"src":"5542:67:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41687,"nodeType":"StructuredDocumentation","src":"5613:283:72","text":" @notice module:core\n @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n snapshot is performed at the end of this block. Hence, voting for this round starts at the beginning of the\n following block."},"functionSelector":"d06efeda","id":41694,"implemented":false,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"5908:13:72","nodeType":"FunctionDefinition","parameters":{"id":41690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41689,"mutability":"mutable","name":"roundId","nameLocation":"5930:7:72","nodeType":"VariableDeclaration","scope":41694,"src":"5922:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41688,"name":"uint256","nodeType":"ElementaryTypeName","src":"5922:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5921:17:72"},"returnParameters":{"id":41693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41692,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41694,"src":"5962:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41691,"name":"uint256","nodeType":"ElementaryTypeName","src":"5962:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5961:9:72"},"scope":41900,"src":"5899:72:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41695,"nodeType":"StructuredDocumentation","src":"5975:194:72","text":" @notice module:core\n @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n possible to cast a vote during this block."},"functionSelector":"d3a368bd","id":41702,"implemented":false,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"6181:13:72","nodeType":"FunctionDefinition","parameters":{"id":41698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41697,"mutability":"mutable","name":"roundId","nameLocation":"6203:7:72","nodeType":"VariableDeclaration","scope":41702,"src":"6195:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41696,"name":"uint256","nodeType":"ElementaryTypeName","src":"6195:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6194:17:72"},"returnParameters":{"id":41701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41702,"src":"6235:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41699,"name":"uint256","nodeType":"ElementaryTypeName","src":"6235:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6234:9:72"},"scope":41900,"src":"6172:72:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41703,"nodeType":"StructuredDocumentation","src":"6248:78:72","text":" @notice module:core\n @dev The account that created a round."},"functionSelector":"5320a147","id":41710,"implemented":false,"kind":"function","modifiers":[],"name":"roundProposer","nameLocation":"6338:13:72","nodeType":"FunctionDefinition","parameters":{"id":41706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41705,"mutability":"mutable","name":"roundId","nameLocation":"6360:7:72","nodeType":"VariableDeclaration","scope":41710,"src":"6352:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41704,"name":"uint256","nodeType":"ElementaryTypeName","src":"6352:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6351:17:72"},"returnParameters":{"id":41709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41708,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41710,"src":"6392:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41707,"name":"address","nodeType":"ElementaryTypeName","src":"6392:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6391:9:72"},"scope":41900,"src":"6329:72:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41711,"nodeType":"StructuredDocumentation","src":"6405:507:72","text":" @notice module:user-config\n @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n (see EIP-6372) this contract uses.\n NOTE: This value is stored when the round is submitted so that possible changes to the value do not affect\n proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n interface returns a uint256, the value it returns should fit in a uint32."},"functionSelector":"02a251a3","id":41716,"implemented":false,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"6924:12:72","nodeType":"FunctionDefinition","parameters":{"id":41712,"nodeType":"ParameterList","parameters":[],"src":"6936:2:72"},"returnParameters":{"id":41715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41716,"src":"6962:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41713,"name":"uint256","nodeType":"ElementaryTypeName","src":"6962:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6961:9:72"},"scope":41900,"src":"6915:56:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41717,"nodeType":"StructuredDocumentation","src":"6975:343:72","text":" @notice module:user-config\n @dev Minimum number of cast voted required for a round to be successful.\n NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes})."},"functionSelector":"f8ce560a","id":41724,"implemented":false,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"7330:6:72","nodeType":"FunctionDefinition","parameters":{"id":41720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41719,"mutability":"mutable","name":"timepoint","nameLocation":"7345:9:72","nodeType":"VariableDeclaration","scope":41724,"src":"7337:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41718,"name":"uint256","nodeType":"ElementaryTypeName","src":"7337:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7336:19:72"},"returnParameters":{"id":41723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41722,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41724,"src":"7379:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41721,"name":"uint256","nodeType":"ElementaryTypeName","src":"7379:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7378:9:72"},"scope":41900,"src":"7321:67:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41725,"nodeType":"StructuredDocumentation","src":"7392:220:72","text":" @notice module:user-config\n @dev Minimum number of cast voted required for a round to be successful.\n NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated."},"functionSelector":"59529edd","id":41732,"implemented":false,"kind":"function","modifiers":[],"name":"roundQuorum","nameLocation":"7624:11:72","nodeType":"FunctionDefinition","parameters":{"id":41728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41727,"mutability":"mutable","name":"roundId","nameLocation":"7644:7:72","nodeType":"VariableDeclaration","scope":41732,"src":"7636:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41726,"name":"uint256","nodeType":"ElementaryTypeName","src":"7636:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7635:17:72"},"returnParameters":{"id":41731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41730,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41732,"src":"7676:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41729,"name":"uint256","nodeType":"ElementaryTypeName","src":"7676:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7675:9:72"},"scope":41900,"src":"7615:70:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41733,"nodeType":"StructuredDocumentation","src":"7689:262:72","text":" @notice module:reputation\n @dev Voting power of an `account` at a specific `timepoint`.\n Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n multiple), {ERC20Votes} tokens."},"functionSelector":"eb9019d4","id":41742,"implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"7963:8:72","nodeType":"FunctionDefinition","parameters":{"id":41738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41735,"mutability":"mutable","name":"account","nameLocation":"7980:7:72","nodeType":"VariableDeclaration","scope":41742,"src":"7972:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41734,"name":"address","nodeType":"ElementaryTypeName","src":"7972:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41737,"mutability":"mutable","name":"timepoint","nameLocation":"7997:9:72","nodeType":"VariableDeclaration","scope":41742,"src":"7989:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41736,"name":"uint256","nodeType":"ElementaryTypeName","src":"7989:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7971:36:72"},"returnParameters":{"id":41741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41742,"src":"8031:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41739,"name":"uint256","nodeType":"ElementaryTypeName","src":"8031:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8030:9:72"},"scope":41900,"src":"7954:86:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41743,"nodeType":"StructuredDocumentation","src":"8044:101:72","text":" @notice module:reputation\n @dev Total number of votes cast in an allocation round."},"functionSelector":"19e6e158","id":41750,"implemented":false,"kind":"function","modifiers":[],"name":"totalVotes","nameLocation":"8157:10:72","nodeType":"FunctionDefinition","parameters":{"id":41746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41745,"mutability":"mutable","name":"roundId","nameLocation":"8176:7:72","nodeType":"VariableDeclaration","scope":41750,"src":"8168:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41744,"name":"uint256","nodeType":"ElementaryTypeName","src":"8168:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8167:17:72"},"returnParameters":{"id":41749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41750,"src":"8208:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41747,"name":"uint256","nodeType":"ElementaryTypeName","src":"8208:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8207:9:72"},"scope":41900,"src":"8148:69:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41751,"nodeType":"StructuredDocumentation","src":"8221:97:72","text":" @notice module:reputation\n @dev Total number of voters in an allocation round."},"functionSelector":"498d91bf","id":41758,"implemented":false,"kind":"function","modifiers":[],"name":"totalVoters","nameLocation":"8330:11:72","nodeType":"FunctionDefinition","parameters":{"id":41754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41753,"mutability":"mutable","name":"roundId","nameLocation":"8350:7:72","nodeType":"VariableDeclaration","scope":41758,"src":"8342:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41752,"name":"uint256","nodeType":"ElementaryTypeName","src":"8342:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8341:17:72"},"returnParameters":{"id":41757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41758,"src":"8382:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41755,"name":"uint256","nodeType":"ElementaryTypeName","src":"8382:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8381:9:72"},"scope":41900,"src":"8321:70:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41759,"nodeType":"StructuredDocumentation","src":"8395:114:72","text":" @notice module:reputation\n @dev Number of votes cast for a specific app in an allocation round."},"functionSelector":"4bb5181a","id":41768,"implemented":false,"kind":"function","modifiers":[],"name":"getAppVotes","nameLocation":"8521:11:72","nodeType":"FunctionDefinition","parameters":{"id":41764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41761,"mutability":"mutable","name":"roundId","nameLocation":"8541:7:72","nodeType":"VariableDeclaration","scope":41768,"src":"8533:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41760,"name":"uint256","nodeType":"ElementaryTypeName","src":"8533:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41763,"mutability":"mutable","name":"appId","nameLocation":"8558:5:72","nodeType":"VariableDeclaration","scope":41768,"src":"8550:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8550:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8532:32:72"},"returnParameters":{"id":41767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41768,"src":"8588:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41765,"name":"uint256","nodeType":"ElementaryTypeName","src":"8588:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8587:9:72"},"scope":41900,"src":"8512:85:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41769,"nodeType":"StructuredDocumentation","src":"8601:161:72","text":" @notice module:reputation\n @dev Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding."},"functionSelector":"bed73010","id":41778,"implemented":false,"kind":"function","modifiers":[],"name":"getAppVotesQF","nameLocation":"8774:13:72","nodeType":"FunctionDefinition","parameters":{"id":41774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41771,"mutability":"mutable","name":"roundId","nameLocation":"8796:7:72","nodeType":"VariableDeclaration","scope":41778,"src":"8788:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41770,"name":"uint256","nodeType":"ElementaryTypeName","src":"8788:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41773,"mutability":"mutable","name":"app","nameLocation":"8813:3:72","nodeType":"VariableDeclaration","scope":41778,"src":"8805:11:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8805:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8787:30:72"},"returnParameters":{"id":41777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41776,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41778,"src":"8841:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41775,"name":"uint256","nodeType":"ElementaryTypeName","src":"8841:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8840:9:72"},"scope":41900,"src":"8765:85:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41779,"nodeType":"StructuredDocumentation","src":"8854:169:72","text":" @notice module:reputation\n @dev Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round."},"functionSelector":"fb03ec6f","id":41786,"implemented":false,"kind":"function","modifiers":[],"name":"totalVotesQF","nameLocation":"9035:12:72","nodeType":"FunctionDefinition","parameters":{"id":41782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41781,"mutability":"mutable","name":"roundId","nameLocation":"9056:7:72","nodeType":"VariableDeclaration","scope":41786,"src":"9048:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41780,"name":"uint256","nodeType":"ElementaryTypeName","src":"9048:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9047:17:72"},"returnParameters":{"id":41785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41784,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41786,"src":"9088:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41783,"name":"uint256","nodeType":"ElementaryTypeName","src":"9088:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9087:9:72"},"scope":41900,"src":"9026:71:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41787,"nodeType":"StructuredDocumentation","src":"9101:102:72","text":" @notice module:voting\n @dev Returns whether `account` has cast a vote on `roundId`."},"functionSelector":"43859632","id":41796,"implemented":false,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"9215:8:72","nodeType":"FunctionDefinition","parameters":{"id":41792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41789,"mutability":"mutable","name":"roundId","nameLocation":"9232:7:72","nodeType":"VariableDeclaration","scope":41796,"src":"9224:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41788,"name":"uint256","nodeType":"ElementaryTypeName","src":"9224:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41791,"mutability":"mutable","name":"account","nameLocation":"9249:7:72","nodeType":"VariableDeclaration","scope":41796,"src":"9241:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41790,"name":"address","nodeType":"ElementaryTypeName","src":"9241:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9223:34:72"},"returnParameters":{"id":41795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41796,"src":"9281:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41793,"name":"bool","nodeType":"ElementaryTypeName","src":"9281:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9280:6:72"},"scope":41900,"src":"9206:81:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41797,"nodeType":"StructuredDocumentation","src":"9291:180:72","text":" @dev Create a new allocation round (round). Vote starts immediatly and lasts for a\n duration specified by {votingPeriod}.\n Emits a {RoundCreated} event."},"functionSelector":"bd85948c","id":41802,"implemented":false,"kind":"function","modifiers":[],"name":"startNewRound","nameLocation":"9483:13:72","nodeType":"FunctionDefinition","parameters":{"id":41798,"nodeType":"ParameterList","parameters":[],"src":"9496:2:72"},"returnParameters":{"id":41801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41800,"mutability":"mutable","name":"roundId","nameLocation":"9525:7:72","nodeType":"VariableDeclaration","scope":41802,"src":"9517:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41799,"name":"uint256","nodeType":"ElementaryTypeName","src":"9517:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9516:17:72"},"scope":41900,"src":"9474:60:72","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":41803,"nodeType":"StructuredDocumentation","src":"9538:93:72","text":" @dev Cast multiple votes at once\n Emits a {AllocationVoteCast} event."},"functionSelector":"53ed6399","id":41814,"implemented":false,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"9643:8:72","nodeType":"FunctionDefinition","parameters":{"id":41812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41805,"mutability":"mutable","name":"roundId","nameLocation":"9660:7:72","nodeType":"VariableDeclaration","scope":41814,"src":"9652:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41804,"name":"uint256","nodeType":"ElementaryTypeName","src":"9652:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41808,"mutability":"mutable","name":"appsIds","nameLocation":"9686:7:72","nodeType":"VariableDeclaration","scope":41814,"src":"9669:24:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":41806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9669:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41807,"nodeType":"ArrayTypeName","src":"9669:9:72","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":41811,"mutability":"mutable","name":"voteWeights","nameLocation":"9712:11:72","nodeType":"VariableDeclaration","scope":41814,"src":"9695:28:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":41809,"name":"uint256","nodeType":"ElementaryTypeName","src":"9695:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41810,"nodeType":"ArrayTypeName","src":"9695:9:72","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"9651:73:72"},"returnParameters":{"id":41813,"nodeType":"ParameterList","parameters":[],"src":"9733:0:72"},"scope":41900,"src":"9634:100:72","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":41815,"nodeType":"StructuredDocumentation","src":"9738:63:72","text":" @dev Returns the current allocation round round."},"functionSelector":"9cbe5efd","id":41820,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"9813:14:72","nodeType":"FunctionDefinition","parameters":{"id":41816,"nodeType":"ParameterList","parameters":[],"src":"9827:2:72"},"returnParameters":{"id":41819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41820,"src":"9853:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41817,"name":"uint256","nodeType":"ElementaryTypeName","src":"9853:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9852:9:72"},"scope":41900,"src":"9804:58:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41821,"nodeType":"StructuredDocumentation","src":"9866:78:72","text":" @dev Returns the current allocation round block when it starts."},"functionSelector":"561b64ef","id":41826,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"9956:20:72","nodeType":"FunctionDefinition","parameters":{"id":41822,"nodeType":"ParameterList","parameters":[],"src":"9976:2:72"},"returnParameters":{"id":41825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41824,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41826,"src":"10002:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41823,"name":"uint256","nodeType":"ElementaryTypeName","src":"10002:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10001:9:72"},"scope":41900,"src":"9947:64:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41827,"nodeType":"StructuredDocumentation","src":"10015:76:72","text":" @dev Returns the current allocation round block when it ends."},"functionSelector":"59372812","id":41832,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundDeadline","nameLocation":"10103:20:72","nodeType":"FunctionDefinition","parameters":{"id":41828,"nodeType":"ParameterList","parameters":[],"src":"10123:2:72"},"returnParameters":{"id":41831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41830,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41832,"src":"10149:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41829,"name":"uint256","nodeType":"ElementaryTypeName","src":"10149:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10148:9:72"},"scope":41900,"src":"10094:64:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41833,"nodeType":"StructuredDocumentation","src":"10162:71:72","text":" @dev Returns if quorum was reached for a specific round."},"functionSelector":"d4a8dd98","id":41840,"implemented":false,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"10245:13:72","nodeType":"FunctionDefinition","parameters":{"id":41836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41835,"mutability":"mutable","name":"roundId","nameLocation":"10267:7:72","nodeType":"VariableDeclaration","scope":41840,"src":"10259:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41834,"name":"uint256","nodeType":"ElementaryTypeName","src":"10259:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10258:17:72"},"returnParameters":{"id":41839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41838,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41840,"src":"10299:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41837,"name":"bool","nodeType":"ElementaryTypeName","src":"10299:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10298:6:72"},"scope":41900,"src":"10236:69:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41841,"nodeType":"StructuredDocumentation","src":"10309:94:72","text":" @dev Returns the ids of apps that are available for voting in a specific round."},"functionSelector":"7ace2485","id":41849,"implemented":false,"kind":"function","modifiers":[],"name":"getAppIdsOfRound","nameLocation":"10415:16:72","nodeType":"FunctionDefinition","parameters":{"id":41844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41843,"mutability":"mutable","name":"roundId","nameLocation":"10440:7:72","nodeType":"VariableDeclaration","scope":41849,"src":"10432:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41842,"name":"uint256","nodeType":"ElementaryTypeName","src":"10432:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10431:17:72"},"returnParameters":{"id":41848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41849,"src":"10472:16:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":41845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10472:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41846,"nodeType":"ArrayTypeName","src":"10472:9:72","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"10471:18:72"},"scope":41900,"src":"10406:84:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41850,"nodeType":"StructuredDocumentation","src":"10494:71:72","text":" @dev Returns if an app can be voted in a specific round."},"functionSelector":"d68b4c36","id":41859,"implemented":false,"kind":"function","modifiers":[],"name":"isEligibleForVote","nameLocation":"10577:17:72","nodeType":"FunctionDefinition","parameters":{"id":41855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41852,"mutability":"mutable","name":"appId","nameLocation":"10603:5:72","nodeType":"VariableDeclaration","scope":41859,"src":"10595:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10595:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41854,"mutability":"mutable","name":"roundId","nameLocation":"10618:7:72","nodeType":"VariableDeclaration","scope":41859,"src":"10610:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41853,"name":"uint256","nodeType":"ElementaryTypeName","src":"10610:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10594:32:72"},"returnParameters":{"id":41858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41859,"src":"10650:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41856,"name":"bool","nodeType":"ElementaryTypeName","src":"10650:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10649:6:72"},"scope":41900,"src":"10568:88:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41860,"nodeType":"StructuredDocumentation","src":"10660:76:72","text":" @dev Checks if the state of the round is {RoundState.Active}."},"functionSelector":"82afd23b","id":41867,"implemented":false,"kind":"function","modifiers":[],"name":"isActive","nameLocation":"10748:8:72","nodeType":"FunctionDefinition","parameters":{"id":41863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41862,"mutability":"mutable","name":"roundId","nameLocation":"10765:7:72","nodeType":"VariableDeclaration","scope":41867,"src":"10757:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41861,"name":"uint256","nodeType":"ElementaryTypeName","src":"10757:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10756:17:72"},"returnParameters":{"id":41866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41867,"src":"10797:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41864,"name":"bool","nodeType":"ElementaryTypeName","src":"10797:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10796:6:72"},"scope":41900,"src":"10739:64:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41868,"nodeType":"StructuredDocumentation","src":"10807:68:72","text":" @dev Returns the id of the last round that succeeded."},"functionSelector":"30097377","id":41875,"implemented":false,"kind":"function","modifiers":[],"name":"latestSucceededRoundId","nameLocation":"10887:22:72","nodeType":"FunctionDefinition","parameters":{"id":41871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41870,"mutability":"mutable","name":"roundId","nameLocation":"10918:7:72","nodeType":"VariableDeclaration","scope":41875,"src":"10910:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41869,"name":"uint256","nodeType":"ElementaryTypeName","src":"10910:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10909:17:72"},"returnParameters":{"id":41874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41873,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41875,"src":"10950:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41872,"name":"uint256","nodeType":"ElementaryTypeName","src":"10950:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10949:9:72"},"scope":41900,"src":"10878:81:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41876,"nodeType":"StructuredDocumentation","src":"10963:88:72","text":" @dev Returns true if an account has voted at least one time in any round."},"functionSelector":"9aeb962b","id":41883,"implemented":false,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"11063:12:72","nodeType":"FunctionDefinition","parameters":{"id":41879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41878,"mutability":"mutable","name":"user","nameLocation":"11084:4:72","nodeType":"VariableDeclaration","scope":41883,"src":"11076:12:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41877,"name":"address","nodeType":"ElementaryTypeName","src":"11076:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11075:14:72"},"returnParameters":{"id":41882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41881,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41883,"src":"11113:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41880,"name":"bool","nodeType":"ElementaryTypeName","src":"11113:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11112:6:72"},"scope":41900,"src":"11054:65:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41884,"nodeType":"StructuredDocumentation","src":"11123:93:72","text":" @dev Returns the base allocation percentage for funds distribution in a round."},"functionSelector":"0eca87fb","id":41891,"implemented":false,"kind":"function","modifiers":[],"name":"getRoundBaseAllocationPercentage","nameLocation":"11228:32:72","nodeType":"FunctionDefinition","parameters":{"id":41887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41886,"mutability":"mutable","name":"roundId","nameLocation":"11269:7:72","nodeType":"VariableDeclaration","scope":41891,"src":"11261:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41885,"name":"uint256","nodeType":"ElementaryTypeName","src":"11261:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11260:17:72"},"returnParameters":{"id":41890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41891,"src":"11301:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41888,"name":"uint256","nodeType":"ElementaryTypeName","src":"11301:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11300:9:72"},"scope":41900,"src":"11219:91:72","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":41892,"nodeType":"StructuredDocumentation","src":"11314:79:72","text":" @dev Returns the max amount of shares an app can get in a round."},"functionSelector":"0a0e74ef","id":41899,"implemented":false,"kind":"function","modifiers":[],"name":"getRoundAppSharesCap","nameLocation":"11405:20:72","nodeType":"FunctionDefinition","parameters":{"id":41895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41894,"mutability":"mutable","name":"roundId","nameLocation":"11434:7:72","nodeType":"VariableDeclaration","scope":41899,"src":"11426:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41893,"name":"uint256","nodeType":"ElementaryTypeName","src":"11426:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11425:17:72"},"returnParameters":{"id":41898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41899,"src":"11466:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41896,"name":"uint256","nodeType":"ElementaryTypeName","src":"11466:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11465:9:72"},"scope":41900,"src":"11396:79:72","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":41901,"src":"1227:10250:72","usedErrors":[41580,41585,41590,41600,41605,41610,41617,41620,41627,41632],"usedEvents":[41646,41659]}],"src":"32:11446:72"},"id":72},"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","exportedSymbols":{"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC6372":[4552],"IEmissions":[64454],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IX2EarnApps":[69989],"IXAllocationPool":[70597],"IXAllocationVotingGovernorV7":[41900],"Initializable":[1732],"SafeCast":[8770],"XAllocationVotingGovernorV7":[42519]},"id":42520,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":41902,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:73"},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","id":41904,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":4333,"src":"1220:114:73","symbolAliases":[{"foreign":{"id":41903,"name":"ERC165Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"1229:17:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":41906,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":5962,"src":"1335:82:73","symbolAliases":[{"foreign":{"id":41905,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"1344:7:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","id":41908,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":3988,"src":"1418:102:73","symbolAliases":[{"foreign":{"id":41907,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"1427:18:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol","file":"../interfaces/IXAllocationVotingGovernorV7.sol","id":41911,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":41901,"src":"1521:104:73","symbolAliases":[{"foreign":{"id":41909,"name":"IXAllocationVotingGovernorV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41900,"src":"1530:28:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":41910,"name":"IERC6372","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4552,"src":"1560:8:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationPool.sol","file":"../../../interfaces/IXAllocationPool.sol","id":41913,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":70598,"src":"1626:76:73","symbolAliases":[{"foreign":{"id":41912,"name":"IXAllocationPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70597,"src":"1635:16:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":41915,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":1733,"src":"1703:98:73","symbolAliases":[{"foreign":{"id":41914,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1712:13:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../../interfaces/IX2EarnApps.sol","id":41917,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":69990,"src":"1802:66:73","symbolAliases":[{"foreign":{"id":41916,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"1811:11:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../../../interfaces/IEmissions.sol","id":41919,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":64455,"src":"1869:64:73","symbolAliases":[{"foreign":{"id":41918,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"1878:10:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../interfaces/IVoterRewards.sol","id":41921,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":69093,"src":"1934:70:73","symbolAliases":[{"foreign":{"id":41920,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1943:13:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../../interfaces/IVeBetterPassport.sol","id":41923,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":68602,"src":"2005:78:73","symbolAliases":[{"foreign":{"id":41922,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"2014:17:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":41925,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":8771,"src":"2084:75:73","symbolAliases":[{"foreign":{"id":41924,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"2093:8:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../../interfaces/IB3TRGovernor.sol","id":41927,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42520,"sourceUnit":63920,"src":"2160:70:73","symbolAliases":[{"foreign":{"id":41926,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2169:13:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":41929,"name":"Initializable","nameLocations":["3390:13:73"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"3390:13:73"},"id":41930,"nodeType":"InheritanceSpecifier","src":"3390:13:73"},{"baseName":{"id":41931,"name":"ContextUpgradeable","nameLocations":["3407:18:73"],"nodeType":"IdentifierPath","referencedDeclaration":3987,"src":"3407:18:73"},"id":41932,"nodeType":"InheritanceSpecifier","src":"3407:18:73"},{"baseName":{"id":41933,"name":"ERC165Upgradeable","nameLocations":["3429:17:73"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"3429:17:73"},"id":41934,"nodeType":"InheritanceSpecifier","src":"3429:17:73"},{"baseName":{"id":41935,"name":"IXAllocationVotingGovernorV7","nameLocations":["3450:28:73"],"nodeType":"IdentifierPath","referencedDeclaration":41900,"src":"3450:28:73"},"id":41936,"nodeType":"InheritanceSpecifier","src":"3450:28:73"}],"canonicalName":"XAllocationVotingGovernorV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":41928,"nodeType":"StructuredDocumentation","src":"2232:1106:73","text":" @title XAllocationVotingGovernorV7\n @dev Core of the voting system of allocation rounds, designed to be extended through various modules.\n This contract is abstract and requires several functions to be implemented in various modules:\n - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded}, and {_countVote}\n - A voting module must implement {_getVotes}, {clock}, and {CLOCK_MODE}\n - A settings module must implement {votingPeriod}\n - An external contracts module must implement {x2EarnApps}, {emissions}, {voterRewards} and {b3trGovernor}\n - A rounds storage module must implement {_startNewRound}, {roundSnapshot}, {roundDeadline}, and {currentRoundId}\n - A rounds finalization module must implement {finalize}\n - A earnings settings module must implement {_snapshotRoundEarningsCap}\n ----- Version 2 -----\n - Integrated VeBetterPassport\n ----- Version 5 -----\n - Fixed duplicate app voting in same transaction in {RoundVotesCountingUpgradeable._countVote}\n ----- Version 7 -----\n - Added B3TRGovernor contract to the contract"},"fullyImplemented":false,"id":42519,"linearizedBaseContracts":[42519,41900,4552,4332,5961,3987,1732],"name":"XAllocationVotingGovernorV7","nameLocation":"3357:27:73","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":41956,"mutability":"constant","name":"ALL_ROUND_STATES_BITMAP","nameLocation":"3508:23:73","nodeType":"VariableDeclaration","scope":42519,"src":"3483:104:73","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3483:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":41940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3543:1:73","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":41949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"arguments":[{"id":41944,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41575,"src":"3560:10:73","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$41575_$","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_enum$_RoundState_$41575_$","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}],"id":41943,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3555:4:73","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":41945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3555:16:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_enum$_RoundState_$41575","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}},"id":41946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3572:3:73","memberName":"max","nodeType":"MemberAccess","src":"3555:20:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}],"id":41942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3549:5:73","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":41941,"name":"uint8","nodeType":"ElementaryTypeName","src":"3549:5:73","typeDescriptions":{}}},"id":41947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3549:27:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":41948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3579:1:73","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3549:31:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":41950,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3548:33:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"3543:38:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":41952,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3542:40:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":41953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3585:1:73","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3542:44:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3534:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":41938,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3534:7:73","typeDescriptions":{}}},"id":41955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3534:53:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"canonicalName":"XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage","documentation":{"id":41957,"nodeType":"StructuredDocumentation","src":"3592:75:73","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor"},"id":41960,"members":[{"constant":false,"id":41959,"mutability":"mutable","name":"_name","nameLocation":"3723:5:73","nodeType":"VariableDeclaration","scope":41960,"src":"3716:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":41958,"name":"string","nodeType":"ElementaryTypeName","src":"3716:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"XAllocationVotingGovernorStorage","nameLocation":"3677:32:73","nodeType":"StructDefinition","scope":42519,"src":"3670:63:73","visibility":"public"},{"constant":true,"id":41963,"mutability":"constant","name":"XAllocationVotingGovernorStorageLocation","nameLocation":"3881:40:73","nodeType":"VariableDeclaration","scope":42519,"src":"3856:138:73","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3856:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837666236336263643433336336393131306164393631626662653338616566353138313463626239653131616636666532313031316165343366623462653030","id":41962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3928:66:73","typeDescriptions":{"typeIdentifier":"t_rational_57765710672768799626165491671121261519051267988050200230250974502604607110656_by_1","typeString":"int_const 5776...(69 digits omitted)...0656"},"value":"0x7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be00"},"visibility":"private"},{"body":{"id":41970,"nodeType":"Block","src":"4114:83:73","statements":[{"AST":{"nodeType":"YulBlock","src":"4129:64:73","statements":[{"nodeType":"YulAssignment","src":"4137:50:73","value":{"name":"XAllocationVotingGovernorStorageLocation","nodeType":"YulIdentifier","src":"4147:40:73"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"4137:6:73"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":41967,"isOffset":false,"isSlot":true,"src":"4137:6:73","suffix":"slot","valueSize":1},{"declaration":41963,"isOffset":false,"isSlot":false,"src":"4147:40:73","valueSize":1}],"id":41969,"nodeType":"InlineAssembly","src":"4120:73:73"}]},"id":41971,"implemented":true,"kind":"function","modifiers":[],"name":"_getXAllocationVotingGovernorStorage","nameLocation":"4008:36:73","nodeType":"FunctionDefinition","parameters":{"id":41964,"nodeType":"ParameterList","parameters":[],"src":"4044:2:73"},"returnParameters":{"id":41968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41967,"mutability":"mutable","name":"$","nameLocation":"4111:1:73","nodeType":"VariableDeclaration","scope":41971,"src":"4070:42:73","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage"},"typeName":{"id":41966,"nodeType":"UserDefinedTypeName","pathNode":{"id":41965,"name":"XAllocationVotingGovernorStorage","nameLocations":["4070:32:73"],"nodeType":"IdentifierPath","referencedDeclaration":41960,"src":"4070:32:73"},"referencedDeclaration":41960,"src":"4070:32:73","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage"}},"visibility":"internal"}],"src":"4069:44:73"},"scope":42519,"src":"3999:198:73","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41983,"nodeType":"Block","src":"4338:60:73","statements":[{"expression":{"arguments":[{"id":41980,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41974,"src":"4387:5:73","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":41979,"name":"__XAllocationVotingGovernor_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42004,"src":"4344:42:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":41981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4344:49:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41982,"nodeType":"ExpressionStatement","src":"4344:49:73"}]},"documentation":{"id":41972,"nodeType":"StructuredDocumentation","src":"4201:45:73","text":" @dev Sets the value for {name}"},"id":41984,"implemented":true,"kind":"function","modifiers":[{"id":41977,"kind":"modifierInvocation","modifierName":{"id":41976,"name":"onlyInitializing","nameLocations":["4321:16:73"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4321:16:73"},"nodeType":"ModifierInvocation","src":"4321:16:73"}],"name":"__XAllocationVotingGovernor_init","nameLocation":"4258:32:73","nodeType":"FunctionDefinition","parameters":{"id":41975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41974,"mutability":"mutable","name":"name_","nameLocation":"4305:5:73","nodeType":"VariableDeclaration","scope":41984,"src":"4291:19:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41973,"name":"string","nodeType":"ElementaryTypeName","src":"4291:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4290:21:73"},"returnParameters":{"id":41978,"nodeType":"ParameterList","parameters":[],"src":"4338:0:73"},"scope":42519,"src":"4249:149:73","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":42003,"nodeType":"Block","src":"4501:115:73","statements":[{"assignments":[41993],"declarations":[{"constant":false,"id":41993,"mutability":"mutable","name":"$","nameLocation":"4548:1:73","nodeType":"VariableDeclaration","scope":42003,"src":"4507:42:73","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage"},"typeName":{"id":41992,"nodeType":"UserDefinedTypeName","pathNode":{"id":41991,"name":"XAllocationVotingGovernorStorage","nameLocations":["4507:32:73"],"nodeType":"IdentifierPath","referencedDeclaration":41960,"src":"4507:32:73"},"referencedDeclaration":41960,"src":"4507:32:73","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage"}},"visibility":"internal"}],"id":41996,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":41994,"name":"_getXAllocationVotingGovernorStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41971,"src":"4552:36:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage storage pointer)"}},"id":41995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4552:38:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4507:83:73"},{"expression":{"id":42001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":41997,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41993,"src":"4596:1:73","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage storage pointer"}},"id":41999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4598:5:73","memberName":"_name","nodeType":"MemberAccess","referencedDeclaration":41959,"src":"4596:7:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42000,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41986,"src":"4606:5:73","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"4596:15:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":42002,"nodeType":"ExpressionStatement","src":"4596:15:73"}]},"id":42004,"implemented":true,"kind":"function","modifiers":[{"id":41989,"kind":"modifierInvocation","modifierName":{"id":41988,"name":"onlyInitializing","nameLocations":["4484:16:73"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4484:16:73"},"nodeType":"ModifierInvocation","src":"4484:16:73"}],"name":"__XAllocationVotingGovernor_init_unchained","nameLocation":"4411:42:73","nodeType":"FunctionDefinition","parameters":{"id":41987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41986,"mutability":"mutable","name":"name_","nameLocation":"4468:5:73","nodeType":"VariableDeclaration","scope":42004,"src":"4454:19:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41985,"name":"string","nodeType":"ElementaryTypeName","src":"4454:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4453:21:73"},"returnParameters":{"id":41990,"nodeType":"ParameterList","parameters":[],"src":"4501:0:73"},"scope":42519,"src":"4402:214:73","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[41802],"body":{"id":42037,"nodeType":"Block","src":"4812:430:73","statements":[{"assignments":[42011],"declarations":[{"constant":false,"id":42011,"mutability":"mutable","name":"proposer","nameLocation":"4826:8:73","nodeType":"VariableDeclaration","scope":42037,"src":"4818:16:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42010,"name":"address","nodeType":"ElementaryTypeName","src":"4818:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":42014,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42012,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"4837:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4837:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4818:31:73"},{"assignments":[42016],"declarations":[{"constant":false,"id":42016,"mutability":"mutable","name":"currentRound","nameLocation":"5027:12:73","nodeType":"VariableDeclaration","scope":42037,"src":"5019:20:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42015,"name":"uint256","nodeType":"ElementaryTypeName","src":"5019:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42019,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42017,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42459,"src":"5042:14:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":42018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5042:16:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5019:39:73"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42020,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42016,"src":"5068:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":42021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5083:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5068:16:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42032,"nodeType":"IfStatement","src":"5064:136:73","trueBody":{"id":42031,"nodeType":"Block","src":"5086:114:73","statements":[{"expression":{"arguments":[{"id":42027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5102:23:73","subExpression":{"arguments":[{"id":42025,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42016,"src":"5112:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42024,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42222,"src":"5103:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":42026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5103:22:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a2074686572652063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65","id":42028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5127:65:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5","typeString":"literal_string \"XAllocationVotingGovernor: there can be only one round per time\""},"value":"XAllocationVotingGovernor: there can be only one round per time"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5","typeString":"literal_string \"XAllocationVotingGovernor: there can be only one round per time\""}],"id":42023,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5094:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":42029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5094:99:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42030,"nodeType":"ExpressionStatement","src":"5094:99:73"}]}},{"expression":{"arguments":[{"id":42034,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42011,"src":"5228:8:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42033,"name":"_startNewRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42393,"src":"5213:14:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":42035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5213:24:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42009,"id":42036,"nodeType":"Return","src":"5206:31:73"}]},"documentation":{"id":42005,"nodeType":"StructuredDocumentation","src":"4659:92:73","text":" @dev Starts a new round of voting to allocate funds to x-2-earn applications."},"functionSelector":"bd85948c","id":42038,"implemented":true,"kind":"function","modifiers":[],"name":"startNewRound","nameLocation":"4763:13:73","nodeType":"FunctionDefinition","parameters":{"id":42006,"nodeType":"ParameterList","parameters":[],"src":"4776:2:73"},"returnParameters":{"id":42009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42008,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42038,"src":"4803:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42007,"name":"uint256","nodeType":"ElementaryTypeName","src":"4803:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4802:9:73"},"scope":42519,"src":"4754:488:73","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[41814],"body":{"id":42117,"nodeType":"Block","src":"5481:813:73","statements":[{"expression":{"arguments":[{"id":42051,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42041,"src":"5508:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":42053,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41575,"src":"5536:10:73","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$41575_$","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}},"id":42054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5547:6:73","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":41572,"src":"5536:17:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}],"id":42052,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42349,"src":"5517:18:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$41575_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernorV7.RoundState) pure returns (bytes32)"}},"id":42055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5517:37:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":42050,"name":"_validateStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42157,"src":"5487:20:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_RoundState_$41575_$","typeString":"function (uint256,bytes32) view returns (enum IXAllocationVotingGovernorV7.RoundState)"}},"id":42056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5487:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"id":42057,"nodeType":"ExpressionStatement","src":"5487:68:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":42059,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42044,"src":"5570:6:73","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":42060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5577:6:73","memberName":"length","nodeType":"MemberAccess","src":"5570:13:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":42061,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42047,"src":"5587:11:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":42062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5599:6:73","memberName":"length","nodeType":"MemberAccess","src":"5587:18:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5570:35:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206170707320616e642077656967687473206c656e677468206d69736d61746368","id":42064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5607:61:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11","typeString":"literal_string \"XAllocationVotingGovernor: apps and weights length mismatch\""},"value":"XAllocationVotingGovernor: apps and weights length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11","typeString":"literal_string \"XAllocationVotingGovernor: apps and weights length mismatch\""}],"id":42058,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5562:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":42065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5562:107:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42066,"nodeType":"ExpressionStatement","src":"5562:107:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":42068,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42044,"src":"5683:6:73","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":42069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5690:6:73","memberName":"length","nodeType":"MemberAccess","src":"5683:13:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":42070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5699:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5683:17:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f206170707320746f20766f746520666f72","id":42072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5702:48:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645","typeString":"literal_string \"XAllocationVotingGovernor: no apps to vote for\""},"value":"XAllocationVotingGovernor: no apps to vote for"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645","typeString":"literal_string \"XAllocationVotingGovernor: no apps to vote for\""}],"id":42067,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5675:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":42073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5675:76:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42074,"nodeType":"ExpressionStatement","src":"5675:76:73"},{"assignments":[42076],"declarations":[{"constant":false,"id":42076,"mutability":"mutable","name":"_currentRoundSnapshot","nameLocation":"5766:21:73","nodeType":"VariableDeclaration","scope":42117,"src":"5758:29:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42075,"name":"uint256","nodeType":"ElementaryTypeName","src":"5758:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42079,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42077,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42465,"src":"5790:20:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":42078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5790:22:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5758:54:73"},{"assignments":[42081,42083],"declarations":[{"constant":false,"id":42081,"mutability":"mutable","name":"isPerson","nameLocation":"5825:8:73","nodeType":"VariableDeclaration","scope":42117,"src":"5820:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42080,"name":"bool","nodeType":"ElementaryTypeName","src":"5820:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42083,"mutability":"mutable","name":"explanation","nameLocation":"5849:11:73","nodeType":"VariableDeclaration","scope":42117,"src":"5835:25:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42082,"name":"string","nodeType":"ElementaryTypeName","src":"5835:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":42094,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":42087,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5910:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5910:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":42091,"name":"_currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42076,"src":"5948:21:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":42089,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"5930:8:73","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":42090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5939:8:73","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"5930:17:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":42092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5930:40:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42084,"name":"veBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42479,"src":"5864:16:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IVeBetterPassport_$68601_$","typeString":"function () view returns (contract IVeBetterPassport)"}},"id":42085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5864:18:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":42086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5883:19:73","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"5864:38:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":42093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5864:112:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"5819:157:73"},{"condition":{"id":42096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6105:9:73","subExpression":{"id":42095,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42081,"src":"6106:8:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42104,"nodeType":"IfStatement","src":"6101:100:73","trueBody":{"id":42103,"nodeType":"Block","src":"6116:85:73","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":42098,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"6168:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6168:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42100,"name":"explanation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42083,"src":"6182:11:73","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":42097,"name":"GovernorPersonhoodVerificationFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41627,"src":"6131:36:73","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) pure"}},"id":42101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6131:63:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42102,"nodeType":"RevertStatement","src":"6124:70:73"}]}},{"assignments":[42106],"declarations":[{"constant":false,"id":42106,"mutability":"mutable","name":"voter","nameLocation":"6215:5:73","nodeType":"VariableDeclaration","scope":42117,"src":"6207:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42105,"name":"address","nodeType":"ElementaryTypeName","src":"6207:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":42109,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42107,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"6223:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6223:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6207:28:73"},{"expression":{"arguments":[{"id":42111,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42041,"src":"6253:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":42112,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42106,"src":"6262:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42113,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42044,"src":"6269:6:73","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":42114,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42047,"src":"6277:11:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":42110,"name":"_countVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42363,"src":"6242:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address,bytes32[] memory,uint256[] memory)"}},"id":42115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:47:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42116,"nodeType":"ExpressionStatement","src":"6242:47:73"}]},"documentation":{"id":42039,"nodeType":"StructuredDocumentation","src":"5246:127:73","text":" @dev Cast a vote for a set of x-2-earn applications.\n @notice Only addresses with a valid passport can vote."},"functionSelector":"53ed6399","id":42118,"implemented":true,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"5385:8:73","nodeType":"FunctionDefinition","parameters":{"id":42048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42041,"mutability":"mutable","name":"roundId","nameLocation":"5402:7:73","nodeType":"VariableDeclaration","scope":42118,"src":"5394:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42040,"name":"uint256","nodeType":"ElementaryTypeName","src":"5394:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42044,"mutability":"mutable","name":"appIds","nameLocation":"5428:6:73","nodeType":"VariableDeclaration","scope":42118,"src":"5411:23:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":42042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5411:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42043,"nodeType":"ArrayTypeName","src":"5411:9:73","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":42047,"mutability":"mutable","name":"voteWeights","nameLocation":"5453:11:73","nodeType":"VariableDeclaration","scope":42118,"src":"5436:28:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":42045,"name":"uint256","nodeType":"ElementaryTypeName","src":"5436:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42046,"nodeType":"ArrayTypeName","src":"5436:9:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5393:72:73"},"returnParameters":{"id":42049,"nodeType":"ParameterList","parameters":[],"src":"5481:0:73"},"scope":42519,"src":"5376:918:73","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":42156,"nodeType":"Block","src":"6735:237:73","statements":[{"assignments":[42131],"declarations":[{"constant":false,"id":42131,"mutability":"mutable","name":"currentState","nameLocation":"6752:12:73","nodeType":"VariableDeclaration","scope":42156,"src":"6741:23:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},"typeName":{"id":42130,"nodeType":"UserDefinedTypeName","pathNode":{"id":42129,"name":"RoundState","nameLocations":["6741:10:73"],"nodeType":"IdentifierPath","referencedDeclaration":41575,"src":"6741:10:73"},"referencedDeclaration":41575,"src":"6741:10:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"visibility":"internal"}],"id":42135,"initialValue":{"arguments":[{"id":42133,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42121,"src":"6773:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42132,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42279,"src":"6767:5:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$41575_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV7.RoundState)"}},"id":42134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6767:14:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"nodeType":"VariableDeclarationStatement","src":"6741:40:73"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42137,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42131,"src":"6810:12:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}],"id":42136,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42349,"src":"6791:18:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$41575_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernorV7.RoundState) pure returns (bytes32)"}},"id":42138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6791:32:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":42139,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42123,"src":"6826:13:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6791:48:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":42143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6851:1:73","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":42142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6843:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":42141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6843:7:73","typeDescriptions":{}}},"id":42144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6843:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6791:62:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42153,"nodeType":"IfStatement","src":"6787:156:73","trueBody":{"id":42152,"nodeType":"Block","src":"6855:88:73","statements":[{"errorCall":{"arguments":[{"id":42147,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42121,"src":"6899:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":42148,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42131,"src":"6908:12:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},{"id":42149,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42123,"src":"6922:13:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":42146,"name":"GovernorUnexpectedRoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41600,"src":"6870:28:73","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_RoundState_$41575_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum IXAllocationVotingGovernorV7.RoundState,bytes32) pure"}},"id":42150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6870:66:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42151,"nodeType":"RevertStatement","src":"6863:73:73"}]}},{"expression":{"id":42154,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42131,"src":"6955:12:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"functionReturnParameters":42128,"id":42155,"nodeType":"Return","src":"6948:19:73"}]},"documentation":{"id":42119,"nodeType":"StructuredDocumentation","src":"6350:278:73","text":" @dev Check that the current state of a round matches the requirements described by the `allowedStates` bitmap.\n This bitmap should be built using `_encodeStateBitmap`.\n If requirements are not met, reverts with a {GovernorUnexpectedRoundState} error."},"id":42157,"implemented":true,"kind":"function","modifiers":[],"name":"_validateStateBitmap","nameLocation":"6640:20:73","nodeType":"FunctionDefinition","parameters":{"id":42124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42121,"mutability":"mutable","name":"roundId","nameLocation":"6669:7:73","nodeType":"VariableDeclaration","scope":42157,"src":"6661:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42120,"name":"uint256","nodeType":"ElementaryTypeName","src":"6661:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42123,"mutability":"mutable","name":"allowedStates","nameLocation":"6686:13:73","nodeType":"VariableDeclaration","scope":42157,"src":"6678:21:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6678:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6660:40:73"},"returnParameters":{"id":42128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42127,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42157,"src":"6723:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},"typeName":{"id":42126,"nodeType":"UserDefinedTypeName","pathNode":{"id":42125,"name":"RoundState","nameLocations":["6723:10:73"],"nodeType":"IdentifierPath","referencedDeclaration":41575,"src":"6723:10:73"},"referencedDeclaration":41575,"src":"6723:10:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"visibility":"internal"}],"src":"6722:12:73"},"scope":42519,"src":"6631:341:73","stateMutability":"view","virtual":false,"visibility":"private"},{"baseFunctions":[4331,5960],"body":{"id":42179,"nodeType":"Block","src":"7142:119:73","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":42177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42167,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42159,"src":"7155:11:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":42169,"name":"IXAllocationVotingGovernorV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41900,"src":"7175:28:73","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernorV7_$41900_$","typeString":"type(contract IXAllocationVotingGovernorV7)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernorV7_$41900_$","typeString":"type(contract IXAllocationVotingGovernorV7)"}],"id":42168,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7170:4:73","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":42170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7170:34:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IXAllocationVotingGovernorV7_$41900","typeString":"type(contract IXAllocationVotingGovernorV7)"}},"id":42171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7205:11:73","memberName":"interfaceId","nodeType":"MemberAccess","src":"7170:46:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7155:61:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":42175,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42159,"src":"7244:11:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":42173,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"7220:5:73","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingGovernorV7_$42519_$","typeString":"type(contract super XAllocationVotingGovernorV7)"}},"id":42174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7226:17:73","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":4331,"src":"7220:23:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":42176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7220:36:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7155:101:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":42166,"id":42178,"nodeType":"Return","src":"7148:108:73"}]},"functionSelector":"01ffc9a7","id":42180,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"7024:17:73","nodeType":"FunctionDefinition","overrides":{"id":42163,"nodeType":"OverrideSpecifier","overrides":[{"id":42161,"name":"IERC165","nameLocations":["7099:7:73"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"7099:7:73"},{"id":42162,"name":"ERC165Upgradeable","nameLocations":["7108:17:73"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"7108:17:73"}],"src":"7090:36:73"},"parameters":{"id":42160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42159,"mutability":"mutable","name":"interfaceId","nameLocation":"7054:11:73","nodeType":"VariableDeclaration","scope":42180,"src":"7047:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":42158,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7047:6:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"7041:28:73"},"returnParameters":{"id":42166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42180,"src":"7136:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42164,"name":"bool","nodeType":"ElementaryTypeName","src":"7136:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7135:6:73"},"scope":42519,"src":"7015:246:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41665],"body":{"id":42195,"nodeType":"Block","src":"7381:114:73","statements":[{"assignments":[42188],"declarations":[{"constant":false,"id":42188,"mutability":"mutable","name":"$","nameLocation":"7428:1:73","nodeType":"VariableDeclaration","scope":42195,"src":"7387:42:73","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage"},"typeName":{"id":42187,"nodeType":"UserDefinedTypeName","pathNode":{"id":42186,"name":"XAllocationVotingGovernorStorage","nameLocations":["7387:32:73"],"nodeType":"IdentifierPath","referencedDeclaration":41960,"src":"7387:32:73"},"referencedDeclaration":41960,"src":"7387:32:73","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage"}},"visibility":"internal"}],"id":42191,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42189,"name":"_getXAllocationVotingGovernorStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41971,"src":"7432:36:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage storage pointer)"}},"id":42190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7432:38:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7387:83:73"},{"expression":{"expression":{"id":42192,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42188,"src":"7483:1:73","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$41960_storage_ptr","typeString":"struct XAllocationVotingGovernorV7.XAllocationVotingGovernorStorage storage pointer"}},"id":42193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7485:5:73","memberName":"_name","nodeType":"MemberAccess","referencedDeclaration":41959,"src":"7483:7:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":42185,"id":42194,"nodeType":"Return","src":"7476:14:73"}]},"documentation":{"id":42181,"nodeType":"StructuredDocumentation","src":"7265:53:73","text":" @dev Returns the name of the governor."},"functionSelector":"06fdde03","id":42196,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"7330:4:73","nodeType":"FunctionDefinition","parameters":{"id":42182,"nodeType":"ParameterList","parameters":[],"src":"7334:2:73"},"returnParameters":{"id":42185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42184,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42196,"src":"7366:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42183,"name":"string","nodeType":"ElementaryTypeName","src":"7366:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7365:15:73"},"scope":42519,"src":"7321:174:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41671],"body":{"id":42204,"nodeType":"Block","src":"7621:21:73","statements":[{"expression":{"hexValue":"37","id":42202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7634:3:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_52f1a9b320cab38e5da8a8f97989383aab0a49165fc91c737310e4f7e9821021","typeString":"literal_string \"7\""},"value":"7"},"functionReturnParameters":42201,"id":42203,"nodeType":"Return","src":"7627:10:73"}]},"documentation":{"id":42197,"nodeType":"StructuredDocumentation","src":"7499:56:73","text":" @dev Returns the version of the governor."},"functionSelector":"54fd4d50","id":42205,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"7567:7:73","nodeType":"FunctionDefinition","parameters":{"id":42198,"nodeType":"ParameterList","parameters":[],"src":"7574:2:73"},"returnParameters":{"id":42201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42205,"src":"7606:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42199,"name":"string","nodeType":"ElementaryTypeName","src":"7606:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7605:15:73"},"scope":42519,"src":"7558:84:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41867],"body":{"id":42221,"nodeType":"Block","src":"7804:53:73","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},"id":42219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42215,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42208,"src":"7823:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42214,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42279,"src":"7817:5:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$41575_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV7.RoundState)"}},"id":42216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7817:14:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":42217,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41575,"src":"7835:10:73","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$41575_$","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}},"id":42218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7846:6:73","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":41572,"src":"7835:17:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"src":"7817:35:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":42213,"id":42220,"nodeType":"Return","src":"7810:42:73"}]},"documentation":{"id":42206,"nodeType":"StructuredDocumentation","src":"7646:76:73","text":" @dev Checks if the specified round is in active state or not."},"functionSelector":"82afd23b","id":42222,"implemented":true,"kind":"function","modifiers":[],"name":"isActive","nameLocation":"7734:8:73","nodeType":"FunctionDefinition","overrides":{"id":42210,"nodeType":"OverrideSpecifier","overrides":[],"src":"7780:8:73"},"parameters":{"id":42209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42208,"mutability":"mutable","name":"roundId","nameLocation":"7751:7:73","nodeType":"VariableDeclaration","scope":42222,"src":"7743:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42207,"name":"uint256","nodeType":"ElementaryTypeName","src":"7743:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7742:17:73"},"returnParameters":{"id":42213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42222,"src":"7798:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42211,"name":"bool","nodeType":"ElementaryTypeName","src":"7798:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7797:6:73"},"scope":42519,"src":"7725:132:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41686],"body":{"id":42278,"nodeType":"Block","src":"7994:423:73","statements":[{"assignments":[42232],"declarations":[{"constant":false,"id":42232,"mutability":"mutable","name":"snapshot","nameLocation":"8008:8:73","nodeType":"VariableDeclaration","scope":42278,"src":"8000:16:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42231,"name":"uint256","nodeType":"ElementaryTypeName","src":"8000:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42236,"initialValue":{"arguments":[{"id":42234,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42225,"src":"8033:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42233,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42445,"src":"8019:13:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":42235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8019:22:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8000:41:73"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42237,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42232,"src":"8052:8:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":42238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8064:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8052:13:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42245,"nodeType":"IfStatement","src":"8048:74:73","trueBody":{"id":42244,"nodeType":"Block","src":"8067:55:73","statements":[{"errorCall":{"arguments":[{"id":42241,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42225,"src":"8107:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42240,"name":"GovernorNonexistentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41590,"src":"8082:24:73","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":42242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8082:33:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42243,"nodeType":"RevertStatement","src":"8075:40:73"}]}},{"assignments":[42247],"declarations":[{"constant":false,"id":42247,"mutability":"mutable","name":"currentTimepoint","nameLocation":"8136:16:73","nodeType":"VariableDeclaration","scope":42278,"src":"8128:24:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42246,"name":"uint256","nodeType":"ElementaryTypeName","src":"8128:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42250,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42248,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42417,"src":"8155:5:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":42249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8155:7:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"8128:34:73"},{"assignments":[42252],"declarations":[{"constant":false,"id":42252,"mutability":"mutable","name":"deadline","nameLocation":"8177:8:73","nodeType":"VariableDeclaration","scope":42278,"src":"8169:16:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42251,"name":"uint256","nodeType":"ElementaryTypeName","src":"8169:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42256,"initialValue":{"arguments":[{"id":42254,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42225,"src":"8202:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42253,"name":"roundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42453,"src":"8188:13:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":42255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:22:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8169:41:73"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42257,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42252,"src":"8221:8:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":42258,"name":"currentTimepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42247,"src":"8233:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8221:28:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":42267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8300:24:73","subExpression":{"arguments":[{"id":42265,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42225,"src":"8316:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42264,"name":"_voteSucceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42385,"src":"8301:14:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":42266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8301:23:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":42275,"nodeType":"Block","src":"8371:42:73","statements":[{"expression":{"expression":{"id":42272,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41575,"src":"8386:10:73","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$41575_$","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}},"id":42273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8397:9:73","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":41574,"src":"8386:20:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"functionReturnParameters":42230,"id":42274,"nodeType":"Return","src":"8379:27:73"}]},"id":42276,"nodeType":"IfStatement","src":"8296:117:73","trueBody":{"id":42271,"nodeType":"Block","src":"8326:39:73","statements":[{"expression":{"expression":{"id":42268,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41575,"src":"8341:10:73","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$41575_$","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}},"id":42269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8352:6:73","memberName":"Failed","nodeType":"MemberAccess","referencedDeclaration":41573,"src":"8341:17:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"functionReturnParameters":42230,"id":42270,"nodeType":"Return","src":"8334:24:73"}]}},"id":42277,"nodeType":"IfStatement","src":"8217:196:73","trueBody":{"id":42263,"nodeType":"Block","src":"8251:39:73","statements":[{"expression":{"expression":{"id":42260,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41575,"src":"8266:10:73","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$41575_$","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}},"id":42261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8277:6:73","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":41572,"src":"8266:17:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"functionReturnParameters":42230,"id":42262,"nodeType":"Return","src":"8259:24:73"}]}}]},"documentation":{"id":42223,"nodeType":"StructuredDocumentation","src":"7861:57:73","text":" @dev Returns the current state of a round."},"functionSelector":"3e4f49e6","id":42279,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"7930:5:73","nodeType":"FunctionDefinition","parameters":{"id":42226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42225,"mutability":"mutable","name":"roundId","nameLocation":"7944:7:73","nodeType":"VariableDeclaration","scope":42279,"src":"7936:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42224,"name":"uint256","nodeType":"ElementaryTypeName","src":"7936:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7935:17:73"},"returnParameters":{"id":42230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42229,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42279,"src":"7982:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},"typeName":{"id":42228,"nodeType":"UserDefinedTypeName","pathNode":{"id":42227,"name":"RoundState","nameLocations":["7982:10:73"],"nodeType":"IdentifierPath","referencedDeclaration":41575,"src":"7982:10:73"},"referencedDeclaration":41575,"src":"7982:10:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"visibility":"internal"}],"src":"7981:12:73"},"scope":42519,"src":"7921:496:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41840],"body":{"id":42291,"nodeType":"Block","src":"8567:41:73","statements":[{"expression":{"arguments":[{"id":42288,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42282,"src":"8595:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42287,"name":"_quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42377,"src":"8580:14:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":42289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8580:23:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":42286,"id":42290,"nodeType":"Return","src":"8573:30:73"}]},"documentation":{"id":42280,"nodeType":"StructuredDocumentation","src":"8421:76:73","text":" @dev Checks if the quorum has been reached for a given round."},"functionSelector":"d4a8dd98","id":42292,"implemented":true,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"8509:13:73","nodeType":"FunctionDefinition","parameters":{"id":42283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42282,"mutability":"mutable","name":"roundId","nameLocation":"8531:7:73","nodeType":"VariableDeclaration","scope":42292,"src":"8523:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42281,"name":"uint256","nodeType":"ElementaryTypeName","src":"8523:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8522:17:73"},"returnParameters":{"id":42286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42285,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42292,"src":"8561:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42284,"name":"bool","nodeType":"ElementaryTypeName","src":"8561:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8560:6:73"},"scope":42519,"src":"8500:108:73","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[41742],"body":{"id":42308,"nodeType":"Block","src":"8802:51:73","statements":[{"expression":{"arguments":[{"id":42303,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42295,"src":"8825:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42304,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42297,"src":"8834:9:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":42305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8845:2:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":42302,"name":"_getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42405,"src":"8815:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,bytes memory) view returns (uint256)"}},"id":42306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8815:33:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42301,"id":42307,"nodeType":"Return","src":"8808:40:73"}]},"documentation":{"id":42293,"nodeType":"StructuredDocumentation","src":"8612:95:73","text":" @dev Returns the available votes votes for a given account at a given timepoint."},"functionSelector":"eb9019d4","id":42309,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"8719:8:73","nodeType":"FunctionDefinition","parameters":{"id":42298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42295,"mutability":"mutable","name":"account","nameLocation":"8736:7:73","nodeType":"VariableDeclaration","scope":42309,"src":"8728:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42294,"name":"address","nodeType":"ElementaryTypeName","src":"8728:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42297,"mutability":"mutable","name":"timepoint","nameLocation":"8753:9:73","nodeType":"VariableDeclaration","scope":42309,"src":"8745:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42296,"name":"uint256","nodeType":"ElementaryTypeName","src":"8745:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8727:36:73"},"returnParameters":{"id":42301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42309,"src":"8793:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42299,"name":"uint256","nodeType":"ElementaryTypeName","src":"8793:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8792:9:73"},"scope":42519,"src":"8710:143:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41859],"body":{"id":42328,"nodeType":"Block","src":"9036:72:73","statements":[{"expression":{"arguments":[{"id":42322,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42312,"src":"9073:5:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":42324,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42314,"src":"9094:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42323,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42445,"src":"9080:13:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":42325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:22:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42319,"name":"x2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42472,"src":"9049:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IX2EarnApps_$69989_$","typeString":"function () view returns (contract IX2EarnApps)"}},"id":42320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9049:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":42321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9062:10:73","memberName":"isEligible","nodeType":"MemberAccess","referencedDeclaration":69701,"src":"9049:23:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$","typeString":"function (bytes32,uint256) view external returns (bool)"}},"id":42326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9049:54:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":42318,"id":42327,"nodeType":"Return","src":"9042:61:73"}]},"documentation":{"id":42310,"nodeType":"StructuredDocumentation","src":"8857:82:73","text":" @dev Checks if the given appId can be voted for in the given round."},"functionSelector":"d68b4c36","id":42329,"implemented":true,"kind":"function","modifiers":[],"name":"isEligibleForVote","nameLocation":"8951:17:73","nodeType":"FunctionDefinition","parameters":{"id":42315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42312,"mutability":"mutable","name":"appId","nameLocation":"8977:5:73","nodeType":"VariableDeclaration","scope":42329,"src":"8969:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8969:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42314,"mutability":"mutable","name":"roundId","nameLocation":"8992:7:73","nodeType":"VariableDeclaration","scope":42329,"src":"8984:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42313,"name":"uint256","nodeType":"ElementaryTypeName","src":"8984:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8968:32:73"},"returnParameters":{"id":42318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42317,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42329,"src":"9030:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42316,"name":"bool","nodeType":"ElementaryTypeName","src":"9030:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9029:6:73"},"scope":42519,"src":"8942:166:73","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":42348,"nodeType":"Block","src":"9510:49:73","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":42340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9531:1:73","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"id":42343,"name":"roundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42333,"src":"9542:10:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}],"id":42342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9536:5:73","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":42341,"name":"uint8","nodeType":"ElementaryTypeName","src":"9536:5:73","typeDescriptions":{}}},"id":42344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9536:17:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9531:22:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9523:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":42338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9523:7:73","typeDescriptions":{}}},"id":42346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9523:31:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":42337,"id":42347,"nodeType":"Return","src":"9516:38:73"}]},"documentation":{"id":42330,"nodeType":"StructuredDocumentation","src":"9112:312:73","text":" @dev Encodes a `RoundState` into a `bytes32` representation where each bit enabled corresponds to\n the underlying position in the `RoundState` enum. For example:\n 0x000...10000\n   ^^^^^^------ ...\n          ^---- Succeeded\n           ^--- Failed\n            ^-- Active"},"id":42349,"implemented":true,"kind":"function","modifiers":[],"name":"_encodeStateBitmap","nameLocation":"9436:18:73","nodeType":"FunctionDefinition","parameters":{"id":42334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42333,"mutability":"mutable","name":"roundState","nameLocation":"9466:10:73","nodeType":"VariableDeclaration","scope":42349,"src":"9455:21:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},"typeName":{"id":42332,"nodeType":"UserDefinedTypeName","pathNode":{"id":42331,"name":"RoundState","nameLocations":["9455:10:73"],"nodeType":"IdentifierPath","referencedDeclaration":41575,"src":"9455:10:73"},"referencedDeclaration":41575,"src":"9455:10:73","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"visibility":"internal"}],"src":"9454:23:73"},"returnParameters":{"id":42337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42336,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42349,"src":"9501:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9501:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9500:9:73"},"scope":42519,"src":"9427:132:73","stateMutability":"pure","virtual":false,"visibility":"internal"},{"documentation":{"id":42350,"nodeType":"StructuredDocumentation","src":"9602:65:73","text":" @dev Internal function to store a vote in storage."},"id":42363,"implemented":false,"kind":"function","modifiers":[],"name":"_countVote","nameLocation":"9679:10:73","nodeType":"FunctionDefinition","parameters":{"id":42361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42352,"mutability":"mutable","name":"roundId","nameLocation":"9703:7:73","nodeType":"VariableDeclaration","scope":42363,"src":"9695:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42351,"name":"uint256","nodeType":"ElementaryTypeName","src":"9695:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42354,"mutability":"mutable","name":"account","nameLocation":"9724:7:73","nodeType":"VariableDeclaration","scope":42363,"src":"9716:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42353,"name":"address","nodeType":"ElementaryTypeName","src":"9716:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42357,"mutability":"mutable","name":"appIds","nameLocation":"9754:6:73","nodeType":"VariableDeclaration","scope":42363,"src":"9737:23:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":42355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9737:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42356,"nodeType":"ArrayTypeName","src":"9737:9:73","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":42360,"mutability":"mutable","name":"voteWeights","nameLocation":"9783:11:73","nodeType":"VariableDeclaration","scope":42363,"src":"9766:28:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":42358,"name":"uint256","nodeType":"ElementaryTypeName","src":"9766:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42359,"nodeType":"ArrayTypeName","src":"9766:9:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"9689:109:73"},"returnParameters":{"id":42362,"nodeType":"ParameterList","parameters":[],"src":"9815:0:73"},"scope":42519,"src":"9670:146:73","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":42364,"nodeType":"StructuredDocumentation","src":"9820:108:73","text":" @dev Internal function to save the app shares cap and base allocation percentage for a round."},"id":42369,"implemented":false,"kind":"function","modifiers":[],"name":"_snapshotRoundEarningsCap","nameLocation":"9940:25:73","nodeType":"FunctionDefinition","parameters":{"id":42367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42366,"mutability":"mutable","name":"roundId","nameLocation":"9974:7:73","nodeType":"VariableDeclaration","scope":42369,"src":"9966:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42365,"name":"uint256","nodeType":"ElementaryTypeName","src":"9966:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9965:17:73"},"returnParameters":{"id":42368,"nodeType":"ParameterList","parameters":[],"src":"9999:0:73"},"scope":42519,"src":"9931:69:73","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":42370,"nodeType":"StructuredDocumentation","src":"10004:96:73","text":" @dev Internal function to check if the quorum has been reached for a given round."},"id":42377,"implemented":false,"kind":"function","modifiers":[],"name":"_quorumReached","nameLocation":"10112:14:73","nodeType":"FunctionDefinition","parameters":{"id":42373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42372,"mutability":"mutable","name":"roundId","nameLocation":"10135:7:73","nodeType":"VariableDeclaration","scope":42377,"src":"10127:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42371,"name":"uint256","nodeType":"ElementaryTypeName","src":"10127:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10126:17:73"},"returnParameters":{"id":42376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42375,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42377,"src":"10175:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42374,"name":"bool","nodeType":"ElementaryTypeName","src":"10175:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10174:6:73"},"scope":42519,"src":"10103:78:73","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":42378,"nodeType":"StructuredDocumentation","src":"10185:91:73","text":" @dev Internal function to check if the vote has succeeded for a given round."},"id":42385,"implemented":false,"kind":"function","modifiers":[],"name":"_voteSucceeded","nameLocation":"10288:14:73","nodeType":"FunctionDefinition","parameters":{"id":42381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42380,"mutability":"mutable","name":"roundId","nameLocation":"10311:7:73","nodeType":"VariableDeclaration","scope":42385,"src":"10303:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42379,"name":"uint256","nodeType":"ElementaryTypeName","src":"10303:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10302:17:73"},"returnParameters":{"id":42384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42383,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42385,"src":"10351:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42382,"name":"bool","nodeType":"ElementaryTypeName","src":"10351:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10350:6:73"},"scope":42519,"src":"10279:78:73","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":42386,"nodeType":"StructuredDocumentation","src":"10361:115:73","text":" @dev Internal function that starts a new round of voting to allocate funds to x-2-earn applications."},"id":42393,"implemented":false,"kind":"function","modifiers":[],"name":"_startNewRound","nameLocation":"10488:14:73","nodeType":"FunctionDefinition","parameters":{"id":42389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42388,"mutability":"mutable","name":"proposer","nameLocation":"10511:8:73","nodeType":"VariableDeclaration","scope":42393,"src":"10503:16:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42387,"name":"address","nodeType":"ElementaryTypeName","src":"10503:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10502:18:73"},"returnParameters":{"id":42392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42393,"src":"10547:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42390,"name":"uint256","nodeType":"ElementaryTypeName","src":"10547:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10546:9:73"},"scope":42519,"src":"10479:77:73","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":42394,"nodeType":"StructuredDocumentation","src":"10560:106:73","text":" @dev Internal function to get the available votes for a given account at a given timepoint."},"id":42405,"implemented":false,"kind":"function","modifiers":[],"name":"_getVotes","nameLocation":"10678:9:73","nodeType":"FunctionDefinition","parameters":{"id":42401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42396,"mutability":"mutable","name":"account","nameLocation":"10696:7:73","nodeType":"VariableDeclaration","scope":42405,"src":"10688:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42395,"name":"address","nodeType":"ElementaryTypeName","src":"10688:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42398,"mutability":"mutable","name":"timepoint","nameLocation":"10713:9:73","nodeType":"VariableDeclaration","scope":42405,"src":"10705:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42397,"name":"uint256","nodeType":"ElementaryTypeName","src":"10705:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42400,"mutability":"mutable","name":"params","nameLocation":"10737:6:73","nodeType":"VariableDeclaration","scope":42405,"src":"10724:19:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42399,"name":"bytes","nodeType":"ElementaryTypeName","src":"10724:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10687:57:73"},"returnParameters":{"id":42404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42403,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42405,"src":"10776:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42402,"name":"uint256","nodeType":"ElementaryTypeName","src":"10776:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10775:9:73"},"scope":42519,"src":"10669:116:73","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":42406,"nodeType":"StructuredDocumentation","src":"10789:81:73","text":" @dev Function to store the last succeeded round once a round ends."},"functionSelector":"3469f6e2","id":42411,"implemented":false,"kind":"function","modifiers":[],"name":"finalizeRound","nameLocation":"10882:13:73","nodeType":"FunctionDefinition","parameters":{"id":42409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42408,"mutability":"mutable","name":"roundId","nameLocation":"10904:7:73","nodeType":"VariableDeclaration","scope":42411,"src":"10896:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42407,"name":"uint256","nodeType":"ElementaryTypeName","src":"10896:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10895:17:73"},"returnParameters":{"id":42410,"nodeType":"ParameterList","parameters":[],"src":"10927:0:73"},"scope":42519,"src":"10873:55:73","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[4545],"documentation":{"id":42412,"nodeType":"StructuredDocumentation","src":"10932:195:73","text":" @dev Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"functionSelector":"91ddadf4","id":42417,"implemented":false,"kind":"function","modifiers":[],"name":"clock","nameLocation":"11139:5:73","nodeType":"FunctionDefinition","parameters":{"id":42413,"nodeType":"ParameterList","parameters":[],"src":"11144:2:73"},"returnParameters":{"id":42416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42417,"src":"11176:6:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":42414,"name":"uint48","nodeType":"ElementaryTypeName","src":"11176:6:73","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"11175:8:73"},"scope":42519,"src":"11130:54:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4551],"documentation":{"id":42418,"nodeType":"StructuredDocumentation","src":"11188:87:73","text":" @dev Machine-readable description of the clock as specified in EIP-6372."},"functionSelector":"4bf5d7e9","id":42423,"implemented":false,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"11287:10:73","nodeType":"FunctionDefinition","parameters":{"id":42419,"nodeType":"ParameterList","parameters":[],"src":"11297:2:73"},"returnParameters":{"id":42422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42423,"src":"11329:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42420,"name":"string","nodeType":"ElementaryTypeName","src":"11329:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11328:15:73"},"scope":42519,"src":"11278:66:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41716],"documentation":{"id":42424,"nodeType":"StructuredDocumentation","src":"11348:48:73","text":" @dev Returns the voting duration."},"functionSelector":"02a251a3","id":42429,"implemented":false,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"11408:12:73","nodeType":"FunctionDefinition","parameters":{"id":42425,"nodeType":"ParameterList","parameters":[],"src":"11420:2:73"},"returnParameters":{"id":42428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42429,"src":"11452:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42426,"name":"uint256","nodeType":"ElementaryTypeName","src":"11452:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11451:9:73"},"scope":42519,"src":"11399:62:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41724],"documentation":{"id":42430,"nodeType":"StructuredDocumentation","src":"11465:61:73","text":" @dev Returns the quorum for a given timepoint."},"functionSelector":"f8ce560a","id":42437,"implemented":false,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"11538:6:73","nodeType":"FunctionDefinition","parameters":{"id":42433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42432,"mutability":"mutable","name":"timepoint","nameLocation":"11553:9:73","nodeType":"VariableDeclaration","scope":42437,"src":"11545:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42431,"name":"uint256","nodeType":"ElementaryTypeName","src":"11545:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11544:19:73"},"returnParameters":{"id":42436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42435,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42437,"src":"11593:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42434,"name":"uint256","nodeType":"ElementaryTypeName","src":"11593:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11592:9:73"},"scope":42519,"src":"11529:73:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41694],"documentation":{"id":42438,"nodeType":"StructuredDocumentation","src":"11606:67:73","text":" @dev Returns the block number when the round starts."},"functionSelector":"d06efeda","id":42445,"implemented":false,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"11685:13:73","nodeType":"FunctionDefinition","parameters":{"id":42441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42440,"mutability":"mutable","name":"roundId","nameLocation":"11707:7:73","nodeType":"VariableDeclaration","scope":42445,"src":"11699:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42439,"name":"uint256","nodeType":"ElementaryTypeName","src":"11699:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11698:17:73"},"returnParameters":{"id":42444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42445,"src":"11745:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42442,"name":"uint256","nodeType":"ElementaryTypeName","src":"11745:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11744:9:73"},"scope":42519,"src":"11676:78:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41702],"documentation":{"id":42446,"nodeType":"StructuredDocumentation","src":"11758:65:73","text":" @dev Returns the block number when the round ends."},"functionSelector":"d3a368bd","id":42453,"implemented":false,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"11835:13:73","nodeType":"FunctionDefinition","parameters":{"id":42449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42448,"mutability":"mutable","name":"roundId","nameLocation":"11857:7:73","nodeType":"VariableDeclaration","scope":42453,"src":"11849:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42447,"name":"uint256","nodeType":"ElementaryTypeName","src":"11849:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11848:17:73"},"returnParameters":{"id":42452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42451,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42453,"src":"11895:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42450,"name":"uint256","nodeType":"ElementaryTypeName","src":"11895:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11894:9:73"},"scope":42519,"src":"11826:78:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41820],"documentation":{"id":42454,"nodeType":"StructuredDocumentation","src":"11908:48:73","text":" @dev Returns the latest round id."},"functionSelector":"9cbe5efd","id":42459,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"11968:14:73","nodeType":"FunctionDefinition","parameters":{"id":42455,"nodeType":"ParameterList","parameters":[],"src":"11982:2:73"},"returnParameters":{"id":42458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42459,"src":"12014:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42456,"name":"uint256","nodeType":"ElementaryTypeName","src":"12014:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12013:9:73"},"scope":42519,"src":"11959:64:73","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41826],"documentation":{"id":42460,"nodeType":"StructuredDocumentation","src":"12027:52:73","text":" @dev Returns the X2EarnApps contract."},"functionSelector":"561b64ef","id":42465,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"12091:20:73","nodeType":"FunctionDefinition","parameters":{"id":42461,"nodeType":"ParameterList","parameters":[],"src":"12111:2:73"},"returnParameters":{"id":42464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42463,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42465,"src":"12143:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42462,"name":"uint256","nodeType":"ElementaryTypeName","src":"12143:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12142:9:73"},"scope":42519,"src":"12082:70:73","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":42466,"nodeType":"StructuredDocumentation","src":"12156:52:73","text":" @dev Returns the X2EarnApps contract."},"functionSelector":"33653f5d","id":42472,"implemented":false,"kind":"function","modifiers":[],"name":"x2EarnApps","nameLocation":"12220:10:73","nodeType":"FunctionDefinition","parameters":{"id":42467,"nodeType":"ParameterList","parameters":[],"src":"12230:2:73"},"returnParameters":{"id":42471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42470,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42472,"src":"12262:11:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":42469,"nodeType":"UserDefinedTypeName","pathNode":{"id":42468,"name":"IX2EarnApps","nameLocations":["12262:11:73"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"12262:11:73"},"referencedDeclaration":69989,"src":"12262:11:73","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"12261:13:73"},"scope":42519,"src":"12211:64:73","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":42473,"nodeType":"StructuredDocumentation","src":"12279:58:73","text":" @dev Returns the VeBetterPassport contract."},"functionSelector":"0050ea6f","id":42479,"implemented":false,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"12349:16:73","nodeType":"FunctionDefinition","parameters":{"id":42474,"nodeType":"ParameterList","parameters":[],"src":"12365:2:73"},"returnParameters":{"id":42478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42477,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42479,"src":"12397:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":42476,"nodeType":"UserDefinedTypeName","pathNode":{"id":42475,"name":"IVeBetterPassport","nameLocations":["12397:17:73"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"12397:17:73"},"referencedDeclaration":68601,"src":"12397:17:73","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"12396:19:73"},"scope":42519,"src":"12340:76:73","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":42480,"nodeType":"StructuredDocumentation","src":"12420:51:73","text":" @dev Returns the Emissions contract."},"functionSelector":"2267716c","id":42486,"implemented":false,"kind":"function","modifiers":[],"name":"emissions","nameLocation":"12483:9:73","nodeType":"FunctionDefinition","parameters":{"id":42481,"nodeType":"ParameterList","parameters":[],"src":"12492:2:73"},"returnParameters":{"id":42485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42486,"src":"12524:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":42483,"nodeType":"UserDefinedTypeName","pathNode":{"id":42482,"name":"IEmissions","nameLocations":["12524:10:73"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"12524:10:73"},"referencedDeclaration":64454,"src":"12524:10:73","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"12523:12:73"},"scope":42519,"src":"12474:62:73","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":42487,"nodeType":"StructuredDocumentation","src":"12540:54:73","text":" @dev Returns the VoterRewards contract."},"functionSelector":"a3844e11","id":42493,"implemented":false,"kind":"function","modifiers":[],"name":"voterRewards","nameLocation":"12606:12:73","nodeType":"FunctionDefinition","parameters":{"id":42488,"nodeType":"ParameterList","parameters":[],"src":"12618:2:73"},"returnParameters":{"id":42492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42493,"src":"12650:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":42490,"nodeType":"UserDefinedTypeName","pathNode":{"id":42489,"name":"IVoterRewards","nameLocations":["12650:13:73"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"12650:13:73"},"referencedDeclaration":69092,"src":"12650:13:73","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"12649:15:73"},"scope":42519,"src":"12597:68:73","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":42494,"nodeType":"StructuredDocumentation","src":"12669:54:73","text":" @dev Returns the B3TRGovernor contract."},"functionSelector":"7893d736","id":42500,"implemented":false,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"12735:12:73","nodeType":"FunctionDefinition","parameters":{"id":42495,"nodeType":"ParameterList","parameters":[],"src":"12747:2:73"},"returnParameters":{"id":42499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42498,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42500,"src":"12779:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":42497,"nodeType":"UserDefinedTypeName","pathNode":{"id":42496,"name":"IB3TRGovernor","nameLocations":["12779:13:73"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"12779:13:73"},"referencedDeclaration":63919,"src":"12779:13:73","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"12778:15:73"},"scope":42519,"src":"12726:68:73","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":42517,"nodeType":"Block","src":"13000:74:73","statements":[{"expression":{"arguments":[{"id":42513,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42503,"src":"13050:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42514,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42505,"src":"13059:9:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42510,"name":"b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42500,"src":"13013:12:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IB3TRGovernor_$63919_$","typeString":"function () view returns (contract IB3TRGovernor)"}},"id":42511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13013:14:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":42512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13028:21:73","memberName":"getDepositVotingPower","nodeType":"MemberAccess","referencedDeclaration":63754,"src":"13013:36:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":42515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13013:56:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42509,"id":42516,"nodeType":"Return","src":"13006:63:73"}]},"documentation":{"id":42501,"nodeType":"StructuredDocumentation","src":"12798:94:73","text":" @dev Returns the deposit voting power for a given account at a given timepoint."},"functionSelector":"a56b5765","id":42518,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"12904:21:73","nodeType":"FunctionDefinition","parameters":{"id":42506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42503,"mutability":"mutable","name":"account","nameLocation":"12934:7:73","nodeType":"VariableDeclaration","scope":42518,"src":"12926:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42502,"name":"address","nodeType":"ElementaryTypeName","src":"12926:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42505,"mutability":"mutable","name":"timepoint","nameLocation":"12951:9:73","nodeType":"VariableDeclaration","scope":42518,"src":"12943:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42504,"name":"uint256","nodeType":"ElementaryTypeName","src":"12943:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12925:36:73"},"returnParameters":{"id":42509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42508,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42518,"src":"12991:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42507,"name":"uint256","nodeType":"ElementaryTypeName","src":"12991:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12990:9:73"},"scope":42519,"src":"12895:179:73","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":42520,"src":"3339:9737:73","usedErrors":[1495,1498,7025,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632],"usedEvents":[1503,41646,41659]}],"src":"1195:11882:73"},"id":73},"contracts/deprecated/V7/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol","exportedSymbols":{"ExternalContractsUpgradeableV7":[42988],"IB3TRGovernor":[63919],"IEmissions":[64454],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IX2EarnApps":[69989],"Initializable":[1732],"XAllocationVotingGovernorV7":[42519]},"id":42989,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":42521,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:74"},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","file":"../XAllocationVotingGovernorV7.sol","id":42523,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42989,"sourceUnit":42520,"src":"1220:81:74","symbolAliases":[{"foreign":{"id":42522,"name":"XAllocationVotingGovernorV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42519,"src":"1229:27:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":42525,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42989,"sourceUnit":1733,"src":"1302:98:74","symbolAliases":[{"foreign":{"id":42524,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1311:13:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../../../../interfaces/IEmissions.sol","id":42527,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42989,"sourceUnit":64455,"src":"1401:67:74","symbolAliases":[{"foreign":{"id":42526,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"1410:10:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../../../interfaces/IX2EarnApps.sol","id":42529,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42989,"sourceUnit":69990,"src":"1469:69:74","symbolAliases":[{"foreign":{"id":42528,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"1478:11:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../../interfaces/IVoterRewards.sol","id":42531,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42989,"sourceUnit":69093,"src":"1539:73:74","symbolAliases":[{"foreign":{"id":42530,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1548:13:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../../../interfaces/IVeBetterPassport.sol","id":42533,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42989,"sourceUnit":68602,"src":"1613:81:74","symbolAliases":[{"foreign":{"id":42532,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"1622:17:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../../../interfaces/IB3TRGovernor.sol","id":42535,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":42989,"sourceUnit":63920,"src":"1695:73:74","symbolAliases":[{"foreign":{"id":42534,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"1704:13:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":42537,"name":"Initializable","nameLocations":["2006:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"2006:13:74"},"id":42538,"nodeType":"InheritanceSpecifier","src":"2006:13:74"},{"baseName":{"id":42539,"name":"XAllocationVotingGovernorV7","nameLocations":["2021:27:74"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"2021:27:74"},"id":42540,"nodeType":"InheritanceSpecifier","src":"2021:27:74"}],"canonicalName":"ExternalContractsUpgradeableV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":42536,"nodeType":"StructuredDocumentation","src":"1770:183:74","text":" @title ExternalContractsUpgradeableV7\n @dev Extension of {XAllocationVotingGovernorV7} that handles the storage of external contracts for the XAllocationVotingGovernorV7."},"fullyImplemented":false,"id":42988,"linearizedBaseContracts":[42988,42519,41900,4552,4332,5961,3987,1732],"name":"ExternalContractsUpgradeableV7","nameLocation":"1972:30:74","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ExternalContractsUpgradeableV7.ExternalContractsStorage","documentation":{"id":42541,"nodeType":"StructuredDocumentation","src":"2053:93:74","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.ExternalContracts"},"id":42557,"members":[{"constant":false,"id":42544,"mutability":"mutable","name":"_x2EarnApps","nameLocation":"2199:11:74","nodeType":"VariableDeclaration","scope":42557,"src":"2187:23:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":42543,"nodeType":"UserDefinedTypeName","pathNode":{"id":42542,"name":"IX2EarnApps","nameLocations":["2187:11:74"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"2187:11:74"},"referencedDeclaration":69989,"src":"2187:11:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":42547,"mutability":"mutable","name":"_emissions","nameLocation":"2227:10:74","nodeType":"VariableDeclaration","scope":42557,"src":"2216:21:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":42546,"nodeType":"UserDefinedTypeName","pathNode":{"id":42545,"name":"IEmissions","nameLocations":["2216:10:74"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"2216:10:74"},"referencedDeclaration":64454,"src":"2216:10:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":42550,"mutability":"mutable","name":"_voterRewards","nameLocation":"2257:13:74","nodeType":"VariableDeclaration","scope":42557,"src":"2243:27:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":42549,"nodeType":"UserDefinedTypeName","pathNode":{"id":42548,"name":"IVoterRewards","nameLocations":["2243:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"2243:13:74"},"referencedDeclaration":69092,"src":"2243:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"},{"constant":false,"id":42553,"mutability":"mutable","name":"_veBetterPassport","nameLocation":"2294:17:74","nodeType":"VariableDeclaration","scope":42557,"src":"2276:35:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":42552,"nodeType":"UserDefinedTypeName","pathNode":{"id":42551,"name":"IVeBetterPassport","nameLocations":["2276:17:74"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"2276:17:74"},"referencedDeclaration":68601,"src":"2276:17:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"},{"constant":false,"id":42556,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"2331:13:74","nodeType":"VariableDeclaration","scope":42557,"src":"2317:27:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":42555,"nodeType":"UserDefinedTypeName","pathNode":{"id":42554,"name":"IB3TRGovernor","nameLocations":["2317:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"2317:13:74"},"referencedDeclaration":63919,"src":"2317:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"name":"ExternalContractsStorage","nameLocation":"2156:24:74","nodeType":"StructDefinition","scope":42988,"src":"2149:200:74","visibility":"public"},{"constant":true,"id":42560,"mutability":"constant","name":"ExternalContractsStorageLocation","nameLocation":"2515:32:74","nodeType":"VariableDeclaration","scope":42988,"src":"2490:130:74","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42558,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2490:7:74","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307831646138636262623262313239383761343337353935363035343332613662626538346330386539363835616661616565353933663035363539663530643030","id":42559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2554:66:74","typeDescriptions":{"typeIdentifier":"t_rational_13415309016351997406114026504463319987678381007976206569466059973884044971264_by_1","typeString":"int_const 1341...(69 digits omitted)...1264"},"value":"0x1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00"},"visibility":"private"},{"body":{"id":42567,"nodeType":"Block","src":"2724:75:74","statements":[{"AST":{"nodeType":"YulBlock","src":"2739:56:74","statements":[{"nodeType":"YulAssignment","src":"2747:42:74","value":{"name":"ExternalContractsStorageLocation","nodeType":"YulIdentifier","src":"2757:32:74"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2747:6:74"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":42564,"isOffset":false,"isSlot":true,"src":"2747:6:74","suffix":"slot","valueSize":1},{"declaration":42560,"isOffset":false,"isSlot":false,"src":"2757:32:74","valueSize":1}],"id":42566,"nodeType":"InlineAssembly","src":"2730:65:74"}]},"id":42568,"implemented":true,"kind":"function","modifiers":[],"name":"_getExternalContractsStorage","nameLocation":"2634:28:74","nodeType":"FunctionDefinition","parameters":{"id":42561,"nodeType":"ParameterList","parameters":[],"src":"2662:2:74"},"returnParameters":{"id":42565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42564,"mutability":"mutable","name":"$","nameLocation":"2721:1:74","nodeType":"VariableDeclaration","scope":42568,"src":"2688:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42563,"nodeType":"UserDefinedTypeName","pathNode":{"id":42562,"name":"ExternalContractsStorage","nameLocations":["2688:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"2688:24:74"},"referencedDeclaration":42557,"src":"2688:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"src":"2687:36:74"},"scope":42988,"src":"2625:174:74","stateMutability":"pure","virtual":false,"visibility":"internal"},{"anonymous":false,"eventSelector":"602f97505d28fb0206888a82df7cb072ec7ff056c77134b64368322bcb9f5aba","id":42574,"name":"EmissionsSet","nameLocation":"2859:12:74","nodeType":"EventDefinition","parameters":{"id":42573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42570,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"2880:18:74","nodeType":"VariableDeclaration","scope":42574,"src":"2872:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42569,"name":"address","nodeType":"ElementaryTypeName","src":"2872:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42572,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"2908:18:74","nodeType":"VariableDeclaration","scope":42574,"src":"2900:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42571,"name":"address","nodeType":"ElementaryTypeName","src":"2900:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2871:56:74"},"src":"2853:75:74"},{"anonymous":false,"eventSelector":"6183e90e12923ae97651b48be341fb5bcfd7bb63a987353dbcf962851011974d","id":42580,"name":"X2EarnAppsSet","nameLocation":"2988:13:74","nodeType":"EventDefinition","parameters":{"id":42579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42576,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3010:18:74","nodeType":"VariableDeclaration","scope":42580,"src":"3002:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42575,"name":"address","nodeType":"ElementaryTypeName","src":"3002:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42578,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3038:18:74","nodeType":"VariableDeclaration","scope":42580,"src":"3030:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42577,"name":"address","nodeType":"ElementaryTypeName","src":"3030:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3001:56:74"},"src":"2982:76:74"},{"anonymous":false,"eventSelector":"285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c4","id":42586,"name":"VoterRewardsSet","nameLocation":"3121:15:74","nodeType":"EventDefinition","parameters":{"id":42585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42582,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3145:18:74","nodeType":"VariableDeclaration","scope":42586,"src":"3137:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42581,"name":"address","nodeType":"ElementaryTypeName","src":"3137:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42584,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3173:18:74","nodeType":"VariableDeclaration","scope":42586,"src":"3165:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42583,"name":"address","nodeType":"ElementaryTypeName","src":"3165:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3136:56:74"},"src":"3115:78:74"},{"anonymous":false,"eventSelector":"1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160","id":42592,"name":"VeBetterPassportSet","nameLocation":"3259:19:74","nodeType":"EventDefinition","parameters":{"id":42591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42588,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3287:18:74","nodeType":"VariableDeclaration","scope":42592,"src":"3279:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42587,"name":"address","nodeType":"ElementaryTypeName","src":"3279:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42590,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3315:18:74","nodeType":"VariableDeclaration","scope":42592,"src":"3307:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42589,"name":"address","nodeType":"ElementaryTypeName","src":"3307:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3278:56:74"},"src":"3253:82:74"},{"body":{"id":42613,"nodeType":"Block","src":"3769:103:74","statements":[{"expression":{"arguments":[{"id":42608,"name":"initialX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42596,"src":"3810:17:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},{"id":42609,"name":"initialEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42599,"src":"3829:16:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},{"id":42610,"name":"initialVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42602,"src":"3847:19:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":42607,"name":"__ExternalContracts_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42653,"src":"3775:34:74","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IX2EarnApps_$69989_$_t_contract$_IEmissions_$64454_$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IX2EarnApps,contract IEmissions,contract IVoterRewards)"}},"id":42611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3775:92:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42612,"nodeType":"ExpressionStatement","src":"3775:92:74"}]},"documentation":{"id":42593,"nodeType":"StructuredDocumentation","src":"3339:256:74","text":" @dev Initializes the contract\n @param initialX2EarnApps The initial X2EarnApps contract address\n @param initialEmissions The initial Emissions contract address\n @param initialVoterRewards The initial VoterRewards contract address"},"id":42614,"implemented":true,"kind":"function","modifiers":[{"id":42605,"kind":"modifierInvocation","modifierName":{"id":42604,"name":"onlyInitializing","nameLocations":["3752:16:74"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3752:16:74"},"nodeType":"ModifierInvocation","src":"3752:16:74"}],"name":"__ExternalContracts_init","nameLocation":"3607:24:74","nodeType":"FunctionDefinition","parameters":{"id":42603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42596,"mutability":"mutable","name":"initialX2EarnApps","nameLocation":"3649:17:74","nodeType":"VariableDeclaration","scope":42614,"src":"3637:29:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":42595,"nodeType":"UserDefinedTypeName","pathNode":{"id":42594,"name":"IX2EarnApps","nameLocations":["3637:11:74"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"3637:11:74"},"referencedDeclaration":69989,"src":"3637:11:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":42599,"mutability":"mutable","name":"initialEmissions","nameLocation":"3683:16:74","nodeType":"VariableDeclaration","scope":42614,"src":"3672:27:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":42598,"nodeType":"UserDefinedTypeName","pathNode":{"id":42597,"name":"IEmissions","nameLocations":["3672:10:74"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"3672:10:74"},"referencedDeclaration":64454,"src":"3672:10:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":42602,"mutability":"mutable","name":"initialVoterRewards","nameLocation":"3719:19:74","nodeType":"VariableDeclaration","scope":42614,"src":"3705:33:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":42601,"nodeType":"UserDefinedTypeName","pathNode":{"id":42600,"name":"IVoterRewards","nameLocations":["3705:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"3705:13:74"},"referencedDeclaration":69092,"src":"3705:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"3631:111:74"},"returnParameters":{"id":42606,"nodeType":"ParameterList","parameters":[],"src":"3769:0:74"},"scope":42988,"src":"3598:274:74","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":42652,"nodeType":"Block","src":"4057:197:74","statements":[{"assignments":[42630],"declarations":[{"constant":false,"id":42630,"mutability":"mutable","name":"$","nameLocation":"4096:1:74","nodeType":"VariableDeclaration","scope":42652,"src":"4063:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42629,"nodeType":"UserDefinedTypeName","pathNode":{"id":42628,"name":"ExternalContractsStorage","nameLocations":["4063:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"4063:24:74"},"referencedDeclaration":42557,"src":"4063:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42633,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42631,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"4100:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4100:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4063:67:74"},{"expression":{"id":42638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42634,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42630,"src":"4136:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42636,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4138:11:74","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":42544,"src":"4136:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42637,"name":"initialX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42617,"src":"4152:17:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"src":"4136:33:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":42639,"nodeType":"ExpressionStatement","src":"4136:33:74"},{"expression":{"id":42644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42640,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42630,"src":"4175:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4177:10:74","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":42547,"src":"4175:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42643,"name":"initialEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42620,"src":"4190:16:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"4175:31:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":42645,"nodeType":"ExpressionStatement","src":"4175:31:74"},{"expression":{"id":42650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42646,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42630,"src":"4212:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4214:13:74","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":42550,"src":"4212:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42649,"name":"initialVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42623,"src":"4230:19:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"src":"4212:37:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":42651,"nodeType":"ExpressionStatement","src":"4212:37:74"}]},"id":42653,"implemented":true,"kind":"function","modifiers":[{"id":42626,"kind":"modifierInvocation","modifierName":{"id":42625,"name":"onlyInitializing","nameLocations":["4040:16:74"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4040:16:74"},"nodeType":"ModifierInvocation","src":"4040:16:74"}],"name":"__ExternalContracts_init_unchained","nameLocation":"3885:34:74","nodeType":"FunctionDefinition","parameters":{"id":42624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42617,"mutability":"mutable","name":"initialX2EarnApps","nameLocation":"3937:17:74","nodeType":"VariableDeclaration","scope":42653,"src":"3925:29:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":42616,"nodeType":"UserDefinedTypeName","pathNode":{"id":42615,"name":"IX2EarnApps","nameLocations":["3925:11:74"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"3925:11:74"},"referencedDeclaration":69989,"src":"3925:11:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":42620,"mutability":"mutable","name":"initialEmissions","nameLocation":"3971:16:74","nodeType":"VariableDeclaration","scope":42653,"src":"3960:27:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":42619,"nodeType":"UserDefinedTypeName","pathNode":{"id":42618,"name":"IEmissions","nameLocations":["3960:10:74"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"3960:10:74"},"referencedDeclaration":64454,"src":"3960:10:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":42623,"mutability":"mutable","name":"initialVoterRewards","nameLocation":"4007:19:74","nodeType":"VariableDeclaration","scope":42653,"src":"3993:33:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":42622,"nodeType":"UserDefinedTypeName","pathNode":{"id":42621,"name":"IVoterRewards","nameLocations":["3993:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"3993:13:74"},"referencedDeclaration":69092,"src":"3993:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"3919:111:74"},"returnParameters":{"id":42627,"nodeType":"ParameterList","parameters":[],"src":"4057:0:74"},"scope":42988,"src":"3876:378:74","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":42673,"nodeType":"Block","src":"4358:123:74","statements":[{"assignments":[42663],"declarations":[{"constant":false,"id":42663,"mutability":"mutable","name":"$","nameLocation":"4397:1:74","nodeType":"VariableDeclaration","scope":42673,"src":"4364:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42662,"nodeType":"UserDefinedTypeName","pathNode":{"id":42661,"name":"ExternalContractsStorage","nameLocations":["4364:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"4364:24:74"},"referencedDeclaration":42557,"src":"4364:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42666,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42664,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"4401:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4401:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4364:67:74"},{"expression":{"id":42671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42667,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42663,"src":"4437:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4439:17:74","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":42553,"src":"4437:19:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42670,"name":"_veBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42656,"src":"4459:17:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"src":"4437:39:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":42672,"nodeType":"ExpressionStatement","src":"4437:39:74"}]},"id":42674,"implemented":true,"kind":"function","modifiers":[{"id":42659,"kind":"modifierInvocation","modifierName":{"id":42658,"name":"onlyInitializing","nameLocations":["4341:16:74"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4341:16:74"},"nodeType":"ModifierInvocation","src":"4341:16:74"}],"name":"__ExternalContracts_init_v2","nameLocation":"4267:27:74","nodeType":"FunctionDefinition","parameters":{"id":42657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42656,"mutability":"mutable","name":"_veBetterPassport","nameLocation":"4313:17:74","nodeType":"VariableDeclaration","scope":42674,"src":"4295:35:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":42655,"nodeType":"UserDefinedTypeName","pathNode":{"id":42654,"name":"IVeBetterPassport","nameLocations":["4295:17:74"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"4295:17:74"},"referencedDeclaration":68601,"src":"4295:17:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"4294:37:74"},"returnParameters":{"id":42660,"nodeType":"ParameterList","parameters":[],"src":"4358:0:74"},"scope":42988,"src":"4258:223:74","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":42694,"nodeType":"Block","src":"4577:115:74","statements":[{"assignments":[42684],"declarations":[{"constant":false,"id":42684,"mutability":"mutable","name":"$","nameLocation":"4616:1:74","nodeType":"VariableDeclaration","scope":42694,"src":"4583:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42683,"nodeType":"UserDefinedTypeName","pathNode":{"id":42682,"name":"ExternalContractsStorage","nameLocations":["4583:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"4583:24:74"},"referencedDeclaration":42557,"src":"4583:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42687,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42685,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"4620:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4620:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4583:67:74"},{"expression":{"id":42692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42688,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42684,"src":"4656:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4658:13:74","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":42556,"src":"4656:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42691,"name":"_b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42677,"src":"4674:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"4656:31:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":42693,"nodeType":"ExpressionStatement","src":"4656:31:74"}]},"id":42695,"implemented":true,"kind":"function","modifiers":[{"id":42680,"kind":"modifierInvocation","modifierName":{"id":42679,"name":"onlyInitializing","nameLocations":["4560:16:74"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4560:16:74"},"nodeType":"ModifierInvocation","src":"4560:16:74"}],"name":"__ExternalContracts_init_v3","nameLocation":"4494:27:74","nodeType":"FunctionDefinition","parameters":{"id":42678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42677,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"4536:13:74","nodeType":"VariableDeclaration","scope":42695,"src":"4522:27:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":42676,"nodeType":"UserDefinedTypeName","pathNode":{"id":42675,"name":"IB3TRGovernor","nameLocations":["4522:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"4522:13:74"},"referencedDeclaration":63919,"src":"4522:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"4521:29:74"},"returnParameters":{"id":42681,"nodeType":"ParameterList","parameters":[],"src":"4577:0:74"},"scope":42988,"src":"4485:207:74","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[42472],"body":{"id":42712,"nodeType":"Block","src":"4840:104:74","statements":[{"assignments":[42705],"declarations":[{"constant":false,"id":42705,"mutability":"mutable","name":"$","nameLocation":"4879:1:74","nodeType":"VariableDeclaration","scope":42712,"src":"4846:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42704,"nodeType":"UserDefinedTypeName","pathNode":{"id":42703,"name":"ExternalContractsStorage","nameLocations":["4846:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"4846:24:74"},"referencedDeclaration":42557,"src":"4846:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42708,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42706,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"4883:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4883:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4846:67:74"},{"expression":{"expression":{"id":42709,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42705,"src":"4926:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4928:11:74","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":42544,"src":"4926:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"functionReturnParameters":42702,"id":42711,"nodeType":"Return","src":"4919:20:74"}]},"documentation":{"id":42696,"nodeType":"StructuredDocumentation","src":"4728:44:74","text":" @dev The X2EarnApps contract."},"functionSelector":"33653f5d","id":42713,"implemented":true,"kind":"function","modifiers":[],"name":"x2EarnApps","nameLocation":"4784:10:74","nodeType":"FunctionDefinition","overrides":{"id":42698,"nodeType":"OverrideSpecifier","overrides":[],"src":"4809:8:74"},"parameters":{"id":42697,"nodeType":"ParameterList","parameters":[],"src":"4794:2:74"},"returnParameters":{"id":42702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42701,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42713,"src":"4827:11:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":42700,"nodeType":"UserDefinedTypeName","pathNode":{"id":42699,"name":"IX2EarnApps","nameLocations":["4827:11:74"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"4827:11:74"},"referencedDeclaration":69989,"src":"4827:11:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"4826:13:74"},"scope":42988,"src":"4775:169:74","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[42486],"body":{"id":42730,"nodeType":"Block","src":"5057:103:74","statements":[{"assignments":[42723],"declarations":[{"constant":false,"id":42723,"mutability":"mutable","name":"$","nameLocation":"5096:1:74","nodeType":"VariableDeclaration","scope":42730,"src":"5063:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42722,"nodeType":"UserDefinedTypeName","pathNode":{"id":42721,"name":"ExternalContractsStorage","nameLocations":["5063:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"5063:24:74"},"referencedDeclaration":42557,"src":"5063:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42726,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42724,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"5100:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5100:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5063:67:74"},{"expression":{"expression":{"id":42727,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42723,"src":"5143:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5145:10:74","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":42547,"src":"5143:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"functionReturnParameters":42720,"id":42729,"nodeType":"Return","src":"5136:19:74"}]},"documentation":{"id":42714,"nodeType":"StructuredDocumentation","src":"4948:43:74","text":" @dev The emissions contract."},"functionSelector":"2267716c","id":42731,"implemented":true,"kind":"function","modifiers":[],"name":"emissions","nameLocation":"5003:9:74","nodeType":"FunctionDefinition","overrides":{"id":42716,"nodeType":"OverrideSpecifier","overrides":[],"src":"5027:8:74"},"parameters":{"id":42715,"nodeType":"ParameterList","parameters":[],"src":"5012:2:74"},"returnParameters":{"id":42720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42731,"src":"5045:10:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":42718,"nodeType":"UserDefinedTypeName","pathNode":{"id":42717,"name":"IEmissions","nameLocations":["5045:10:74"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"5045:10:74"},"referencedDeclaration":64454,"src":"5045:10:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"5044:12:74"},"scope":42988,"src":"4994:166:74","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[42493],"body":{"id":42748,"nodeType":"Block","src":"5286:106:74","statements":[{"assignments":[42741],"declarations":[{"constant":false,"id":42741,"mutability":"mutable","name":"$","nameLocation":"5325:1:74","nodeType":"VariableDeclaration","scope":42748,"src":"5292:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42740,"nodeType":"UserDefinedTypeName","pathNode":{"id":42739,"name":"ExternalContractsStorage","nameLocations":["5292:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"5292:24:74"},"referencedDeclaration":42557,"src":"5292:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42744,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42742,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"5329:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5329:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5292:67:74"},{"expression":{"expression":{"id":42745,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42741,"src":"5372:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5374:13:74","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":42550,"src":"5372:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"functionReturnParameters":42738,"id":42747,"nodeType":"Return","src":"5365:22:74"}]},"documentation":{"id":42732,"nodeType":"StructuredDocumentation","src":"5164:50:74","text":" @dev Get the voter rewards contract"},"functionSelector":"a3844e11","id":42749,"implemented":true,"kind":"function","modifiers":[],"name":"voterRewards","nameLocation":"5226:12:74","nodeType":"FunctionDefinition","overrides":{"id":42734,"nodeType":"OverrideSpecifier","overrides":[],"src":"5253:8:74"},"parameters":{"id":42733,"nodeType":"ParameterList","parameters":[],"src":"5238:2:74"},"returnParameters":{"id":42738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42737,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42749,"src":"5271:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":42736,"nodeType":"UserDefinedTypeName","pathNode":{"id":42735,"name":"IVoterRewards","nameLocations":["5271:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"5271:13:74"},"referencedDeclaration":69092,"src":"5271:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"5270:15:74"},"scope":42988,"src":"5217:175:74","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[42479],"body":{"id":42765,"nodeType":"Block","src":"5473:110:74","statements":[{"assignments":[42758],"declarations":[{"constant":false,"id":42758,"mutability":"mutable","name":"$","nameLocation":"5512:1:74","nodeType":"VariableDeclaration","scope":42765,"src":"5479:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42757,"nodeType":"UserDefinedTypeName","pathNode":{"id":42756,"name":"ExternalContractsStorage","nameLocations":["5479:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"5479:24:74"},"referencedDeclaration":42557,"src":"5479:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42761,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42759,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"5516:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5516:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5479:67:74"},{"expression":{"expression":{"id":42762,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42758,"src":"5559:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5561:17:74","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":42553,"src":"5559:19:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"functionReturnParameters":42755,"id":42764,"nodeType":"Return","src":"5552:26:74"}]},"functionSelector":"0050ea6f","id":42766,"implemented":true,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"5405:16:74","nodeType":"FunctionDefinition","overrides":{"id":42751,"nodeType":"OverrideSpecifier","overrides":[],"src":"5436:8:74"},"parameters":{"id":42750,"nodeType":"ParameterList","parameters":[],"src":"5421:2:74"},"returnParameters":{"id":42755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42754,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42766,"src":"5454:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":42753,"nodeType":"UserDefinedTypeName","pathNode":{"id":42752,"name":"IVeBetterPassport","nameLocations":["5454:17:74"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"5454:17:74"},"referencedDeclaration":68601,"src":"5454:17:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"5453:19:74"},"scope":42988,"src":"5396:187:74","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[42500],"body":{"id":42783,"nodeType":"Block","src":"5708:106:74","statements":[{"assignments":[42776],"declarations":[{"constant":false,"id":42776,"mutability":"mutable","name":"$","nameLocation":"5747:1:74","nodeType":"VariableDeclaration","scope":42783,"src":"5714:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42775,"nodeType":"UserDefinedTypeName","pathNode":{"id":42774,"name":"ExternalContractsStorage","nameLocations":["5714:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"5714:24:74"},"referencedDeclaration":42557,"src":"5714:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42779,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42777,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"5751:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5751:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5714:67:74"},{"expression":{"expression":{"id":42780,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42776,"src":"5794:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5796:13:74","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":42556,"src":"5794:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"functionReturnParameters":42773,"id":42782,"nodeType":"Return","src":"5787:22:74"}]},"documentation":{"id":42767,"nodeType":"StructuredDocumentation","src":"5587:49:74","text":" @dev Get the B3TRGovernor contract"},"functionSelector":"7893d736","id":42784,"implemented":true,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"5648:12:74","nodeType":"FunctionDefinition","overrides":{"id":42769,"nodeType":"OverrideSpecifier","overrides":[],"src":"5675:8:74"},"parameters":{"id":42768,"nodeType":"ParameterList","parameters":[],"src":"5660:2:74"},"returnParameters":{"id":42773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42772,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42784,"src":"5693:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":42771,"nodeType":"UserDefinedTypeName","pathNode":{"id":42770,"name":"IB3TRGovernor","nameLocations":["5693:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"5693:13:74"},"referencedDeclaration":63919,"src":"5693:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"5692:15:74"},"scope":42988,"src":"5639:175:74","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":42830,"nodeType":"Block","src":"6030:321:74","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42794,"name":"newEmisionsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42788,"src":"6052:18:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":42793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6044:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42792,"name":"address","nodeType":"ElementaryTypeName","src":"6044:7:74","typeDescriptions":{}}},"id":42795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6044:27:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":42798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6083:1:74","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":42797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6075:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42796,"name":"address","nodeType":"ElementaryTypeName","src":"6075:7:74","typeDescriptions":{}}},"id":42799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6075:10:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6044:41:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20656d697373696f6e7320697320746865207a65726f2061646472657373","id":42801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6087:58:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_49f06960ff76038c09832fd4be8f0e505c74f7191ccd279c539729703509a2b1","typeString":"literal_string \"XAllocationVotingGovernor: emissions is the zero address\""},"value":"XAllocationVotingGovernor: emissions is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_49f06960ff76038c09832fd4be8f0e505c74f7191ccd279c539729703509a2b1","typeString":"literal_string \"XAllocationVotingGovernor: emissions is the zero address\""}],"id":42791,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6036:7:74","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":42802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6036:110:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42803,"nodeType":"ExpressionStatement","src":"6036:110:74"},{"assignments":[42806],"declarations":[{"constant":false,"id":42806,"mutability":"mutable","name":"$","nameLocation":"6185:1:74","nodeType":"VariableDeclaration","scope":42830,"src":"6152:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42805,"nodeType":"UserDefinedTypeName","pathNode":{"id":42804,"name":"ExternalContractsStorage","nameLocations":["6152:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"6152:24:74"},"referencedDeclaration":42557,"src":"6152:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42809,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42807,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"6189:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6189:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6152:67:74"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":42813,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42806,"src":"6252:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42814,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6254:10:74","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":42547,"src":"6252:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":42812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6244:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42811,"name":"address","nodeType":"ElementaryTypeName","src":"6244:7:74","typeDescriptions":{}}},"id":42815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6244:21:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":42818,"name":"newEmisionsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42788,"src":"6275:18:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":42817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6267:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42816,"name":"address","nodeType":"ElementaryTypeName","src":"6267:7:74","typeDescriptions":{}}},"id":42819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6267:27:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":42810,"name":"EmissionsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42574,"src":"6231:12:74","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":42820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6231:64:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42821,"nodeType":"EmitStatement","src":"6226:69:74"},{"expression":{"id":42828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42822,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42806,"src":"6301:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42824,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6303:10:74","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":42547,"src":"6301:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":42826,"name":"newEmisionsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42788,"src":"6327:18:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":42825,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"6316:10:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IEmissions_$64454_$","typeString":"type(contract IEmissions)"}},"id":42827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6316:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"6301:45:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":42829,"nodeType":"ExpressionStatement","src":"6301:45:74"}]},"documentation":{"id":42785,"nodeType":"StructuredDocumentation","src":"5862:94:74","text":" @dev Sets the emissions contract.\n Emits a {EmissionContractSet} event"},"id":42831,"implemented":true,"kind":"function","modifiers":[],"name":"_setEmissions","nameLocation":"5968:13:74","nodeType":"FunctionDefinition","parameters":{"id":42789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42788,"mutability":"mutable","name":"newEmisionsAddress","nameLocation":"5993:18:74","nodeType":"VariableDeclaration","scope":42831,"src":"5982:29:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":42787,"nodeType":"UserDefinedTypeName","pathNode":{"id":42786,"name":"IEmissions","nameLocations":["5982:10:74"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"5982:10:74"},"referencedDeclaration":64454,"src":"5982:10:74","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"5981:31:74"},"returnParameters":{"id":42790,"nodeType":"ParameterList","parameters":[],"src":"6030:0:74"},"scope":42988,"src":"5959:392:74","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":42875,"nodeType":"Block","src":"6576:303:74","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42841,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42835,"src":"6598:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":42840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6590:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42839,"name":"address","nodeType":"ElementaryTypeName","src":"6590:7:74","typeDescriptions":{}}},"id":42842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6590:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":42845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6624:1:74","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":42844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6616:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42843,"name":"address","nodeType":"ElementaryTypeName","src":"6616:7:74","typeDescriptions":{}}},"id":42846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6616:10:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6590:36:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e65772058324561726e4170707320697320746865207a65726f2061646472657373","id":42848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6628:63:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_f66a2b1924848ed0d81ee154fe156876e1a702c5026c94c323b440f9f60d79dd","typeString":"literal_string \"XAllocationVotingGovernor: new X2EarnApps is the zero address\""},"value":"XAllocationVotingGovernor: new X2EarnApps is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f66a2b1924848ed0d81ee154fe156876e1a702c5026c94c323b440f9f60d79dd","typeString":"literal_string \"XAllocationVotingGovernor: new X2EarnApps is the zero address\""}],"id":42838,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6582:7:74","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":42849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:110:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42850,"nodeType":"ExpressionStatement","src":"6582:110:74"},{"assignments":[42853],"declarations":[{"constant":false,"id":42853,"mutability":"mutable","name":"$","nameLocation":"6732:1:74","nodeType":"VariableDeclaration","scope":42875,"src":"6699:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42852,"nodeType":"UserDefinedTypeName","pathNode":{"id":42851,"name":"ExternalContractsStorage","nameLocations":["6699:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"6699:24:74"},"referencedDeclaration":42557,"src":"6699:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42856,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42854,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"6736:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6736:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6699:67:74"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":42860,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42853,"src":"6800:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6802:11:74","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":42544,"src":"6800:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":42859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6792:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42858,"name":"address","nodeType":"ElementaryTypeName","src":"6792:7:74","typeDescriptions":{}}},"id":42862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6792:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":42865,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42835,"src":"6824:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":42864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6816:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42863,"name":"address","nodeType":"ElementaryTypeName","src":"6816:7:74","typeDescriptions":{}}},"id":42866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6816:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":42857,"name":"X2EarnAppsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42580,"src":"6778:13:74","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":42867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6778:61:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42868,"nodeType":"EmitStatement","src":"6773:66:74"},{"expression":{"id":42873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42869,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42853,"src":"6845:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6847:11:74","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":42544,"src":"6845:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42872,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42835,"src":"6861:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"src":"6845:29:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":42874,"nodeType":"ExpressionStatement","src":"6845:29:74"}]},"documentation":{"id":42832,"nodeType":"StructuredDocumentation","src":"6355:150:74","text":" @dev Sets the X2EarnApps contract\n @param newX2EarnApps The new X2EarnApps contract address\n Emits a {X2EarnAppsSet} event"},"id":42876,"implemented":true,"kind":"function","modifiers":[],"name":"_setX2EarnApps","nameLocation":"6517:14:74","nodeType":"FunctionDefinition","parameters":{"id":42836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42835,"mutability":"mutable","name":"newX2EarnApps","nameLocation":"6544:13:74","nodeType":"VariableDeclaration","scope":42876,"src":"6532:25:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":42834,"nodeType":"UserDefinedTypeName","pathNode":{"id":42833,"name":"IX2EarnApps","nameLocations":["6532:11:74"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"6532:11:74"},"referencedDeclaration":69989,"src":"6532:11:74","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"6531:27:74"},"returnParameters":{"id":42837,"nodeType":"ParameterList","parameters":[],"src":"6576:0:74"},"scope":42988,"src":"6508:371:74","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":42920,"nodeType":"Block","src":"7078:318:74","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42886,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42880,"src":"7100:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":42885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7092:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42884,"name":"address","nodeType":"ElementaryTypeName","src":"7092:7:74","typeDescriptions":{}}},"id":42887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7092:24:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":42890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7128:1:74","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":42889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7120:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42888,"name":"address","nodeType":"ElementaryTypeName","src":"7120:7:74","typeDescriptions":{}}},"id":42891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7120:10:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7092:38:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e657720766f746572207265776172647320697320746865207a65726f2061646472657373","id":42893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:66:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_bacfbb03a52a2d8761676368eb7289dd2a665b6cc40d53c4c6cc748b9a7a7c85","typeString":"literal_string \"XAllocationVotingGovernor: new voter rewards is the zero address\""},"value":"XAllocationVotingGovernor: new voter rewards is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_bacfbb03a52a2d8761676368eb7289dd2a665b6cc40d53c4c6cc748b9a7a7c85","typeString":"literal_string \"XAllocationVotingGovernor: new voter rewards is the zero address\""}],"id":42883,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7084:7:74","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":42894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7084:115:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42895,"nodeType":"ExpressionStatement","src":"7084:115:74"},{"assignments":[42898],"declarations":[{"constant":false,"id":42898,"mutability":"mutable","name":"$","nameLocation":"7239:1:74","nodeType":"VariableDeclaration","scope":42920,"src":"7206:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42897,"nodeType":"UserDefinedTypeName","pathNode":{"id":42896,"name":"ExternalContractsStorage","nameLocations":["7206:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"7206:24:74"},"referencedDeclaration":42557,"src":"7206:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42901,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42899,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"7243:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7243:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7206:67:74"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":42905,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42898,"src":"7309:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7311:13:74","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":42550,"src":"7309:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":42904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7301:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42903,"name":"address","nodeType":"ElementaryTypeName","src":"7301:7:74","typeDescriptions":{}}},"id":42907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7301:24:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":42910,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42880,"src":"7335:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":42909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7327:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42908,"name":"address","nodeType":"ElementaryTypeName","src":"7327:7:74","typeDescriptions":{}}},"id":42911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7327:24:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":42902,"name":"VoterRewardsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42586,"src":"7285:15:74","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":42912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7285:67:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42913,"nodeType":"EmitStatement","src":"7280:72:74"},{"expression":{"id":42918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42914,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42898,"src":"7358:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42916,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7360:13:74","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":42550,"src":"7358:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42917,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42880,"src":"7376:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"src":"7358:33:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":42919,"nodeType":"ExpressionStatement","src":"7358:33:74"}]},"documentation":{"id":42877,"nodeType":"StructuredDocumentation","src":"6883:118:74","text":" @dev Sets the voter rewards contract\n @param newVoterRewards The new voter rewards contract address"},"id":42921,"implemented":true,"kind":"function","modifiers":[],"name":"_setVoterRewards","nameLocation":"7013:16:74","nodeType":"FunctionDefinition","parameters":{"id":42881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42880,"mutability":"mutable","name":"newVoterRewards","nameLocation":"7044:15:74","nodeType":"VariableDeclaration","scope":42921,"src":"7030:29:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":42879,"nodeType":"UserDefinedTypeName","pathNode":{"id":42878,"name":"IVoterRewards","nameLocations":["7030:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"7030:13:74"},"referencedDeclaration":69092,"src":"7030:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"7029:31:74"},"returnParameters":{"id":42882,"nodeType":"ParameterList","parameters":[],"src":"7078:0:74"},"scope":42988,"src":"7004:392:74","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":42953,"nodeType":"Block","src":"7617:272:74","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42931,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42925,"src":"7646:19:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":42930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7638:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42929,"name":"address","nodeType":"ElementaryTypeName","src":"7638:7:74","typeDescriptions":{}}},"id":42932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7638:28:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":42935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7678:1:74","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":42934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7670:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42933,"name":"address","nodeType":"ElementaryTypeName","src":"7670:7:74","typeDescriptions":{}}},"id":42936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7670:10:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7638:42:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e657720566542657474657250617373706f727420697320746865207a65726f2061646472657373","id":42938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7688:69:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_4003a3fa74a515e59cb978031571e1994a0914124c3966664c8a522f1b7937e6","typeString":"literal_string \"XAllocationVotingGovernor: new VeBetterPassport is the zero address\""},"value":"XAllocationVotingGovernor: new VeBetterPassport is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4003a3fa74a515e59cb978031571e1994a0914124c3966664c8a522f1b7937e6","typeString":"literal_string \"XAllocationVotingGovernor: new VeBetterPassport is the zero address\""}],"id":42928,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7623:7:74","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":42939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7623:140:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42940,"nodeType":"ExpressionStatement","src":"7623:140:74"},{"assignments":[42943],"declarations":[{"constant":false,"id":42943,"mutability":"mutable","name":"$","nameLocation":"7803:1:74","nodeType":"VariableDeclaration","scope":42953,"src":"7770:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42942,"nodeType":"UserDefinedTypeName","pathNode":{"id":42941,"name":"ExternalContractsStorage","nameLocations":["7770:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"7770:24:74"},"referencedDeclaration":42557,"src":"7770:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42946,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42944,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"7807:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7807:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7770:67:74"},{"expression":{"id":42951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42947,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42943,"src":"7843:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7845:17:74","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":42553,"src":"7843:19:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42950,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42925,"src":"7865:19:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"src":"7843:41:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":42952,"nodeType":"ExpressionStatement","src":"7843:41:74"}]},"documentation":{"id":42922,"nodeType":"StructuredDocumentation","src":"7400:128:74","text":" @dev Sets the VeBetterPassport contract\n @param newVeBetterPassport The new VeBetterPassport contract address"},"id":42954,"implemented":true,"kind":"function","modifiers":[],"name":"_setVeBetterPassport","nameLocation":"7540:20:74","nodeType":"FunctionDefinition","parameters":{"id":42926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42925,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"7579:19:74","nodeType":"VariableDeclaration","scope":42954,"src":"7561:37:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":42924,"nodeType":"UserDefinedTypeName","pathNode":{"id":42923,"name":"IVeBetterPassport","nameLocations":["7561:17:74"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"7561:17:74"},"referencedDeclaration":68601,"src":"7561:17:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"7560:39:74"},"returnParameters":{"id":42927,"nodeType":"ParameterList","parameters":[],"src":"7617:0:74"},"scope":42988,"src":"7531:358:74","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":42986,"nodeType":"Block","src":"8086:237:74","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42964,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42958,"src":"8108:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":42963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8100:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42962,"name":"address","nodeType":"ElementaryTypeName","src":"8100:7:74","typeDescriptions":{}}},"id":42965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8100:24:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":42968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8136:1:74","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":42967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8128:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42966,"name":"address","nodeType":"ElementaryTypeName","src":"8128:7:74","typeDescriptions":{}}},"id":42969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8128:10:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8100:38:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e65772042335452476f7665726e6f7220697320746865207a65726f2061646472657373","id":42971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8140:65:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3a82a592b1176cd5f7dcbaef2dde3d974f96f0ff9e637df62274c0edf10fec5","typeString":"literal_string \"XAllocationVotingGovernor: new B3TRGovernor is the zero address\""},"value":"XAllocationVotingGovernor: new B3TRGovernor is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a3a82a592b1176cd5f7dcbaef2dde3d974f96f0ff9e637df62274c0edf10fec5","typeString":"literal_string \"XAllocationVotingGovernor: new B3TRGovernor is the zero address\""}],"id":42961,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8092:7:74","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":42972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8092:114:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42973,"nodeType":"ExpressionStatement","src":"8092:114:74"},{"assignments":[42976],"declarations":[{"constant":false,"id":42976,"mutability":"mutable","name":"$","nameLocation":"8245:1:74","nodeType":"VariableDeclaration","scope":42986,"src":"8212:34:74","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"},"typeName":{"id":42975,"nodeType":"UserDefinedTypeName","pathNode":{"id":42974,"name":"ExternalContractsStorage","nameLocations":["8212:24:74"],"nodeType":"IdentifierPath","referencedDeclaration":42557,"src":"8212:24:74"},"referencedDeclaration":42557,"src":"8212:24:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage"}},"visibility":"internal"}],"id":42979,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42977,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42568,"src":"8249:28:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$42557_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer)"}},"id":42978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8249:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8212:67:74"},{"expression":{"id":42984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":42980,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42976,"src":"8285:1:74","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$42557_storage_ptr","typeString":"struct ExternalContractsUpgradeableV7.ExternalContractsStorage storage pointer"}},"id":42982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8287:13:74","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":42556,"src":"8285:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42983,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42958,"src":"8303:15:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"8285:33:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":42985,"nodeType":"ExpressionStatement","src":"8285:33:74"}]},"documentation":{"id":42955,"nodeType":"StructuredDocumentation","src":"7893:116:74","text":" @dev Sets the B3TRGovernor contract\n @param newB3TRGovernor The new B3TRGovernor contract address"},"id":42987,"implemented":true,"kind":"function","modifiers":[],"name":"_setB3TRGovernor","nameLocation":"8021:16:74","nodeType":"FunctionDefinition","parameters":{"id":42959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42958,"mutability":"mutable","name":"newB3TRGovernor","nameLocation":"8052:15:74","nodeType":"VariableDeclaration","scope":42987,"src":"8038:29:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":42957,"nodeType":"UserDefinedTypeName","pathNode":{"id":42956,"name":"IB3TRGovernor","nameLocations":["8038:13:74"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"8038:13:74"},"referencedDeclaration":63919,"src":"8038:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"8037:31:74"},"returnParameters":{"id":42960,"nodeType":"ParameterList","parameters":[],"src":"8086:0:74"},"scope":42988,"src":"8012:311:74","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":42989,"src":"1954:6371:74","usedErrors":[1495,1498,7025,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632],"usedEvents":[1503,41646,41659,42574,42580,42586,42592]}],"src":"1195:7131:74"},"id":74},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol","exportedSymbols":{"Initializable":[1732],"RoundEarningsSettingsUpgradeableV7":[43227],"XAllocationVotingGovernorV7":[42519]},"id":43228,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":42990,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:75"},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":42992,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":43228,"sourceUnit":1733,"src":"1220:98:75","symbolAliases":[{"foreign":{"id":42991,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1229:13:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","file":"../XAllocationVotingGovernorV7.sol","id":42994,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":43228,"sourceUnit":42520,"src":"1319:81:75","symbolAliases":[{"foreign":{"id":42993,"name":"XAllocationVotingGovernorV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42519,"src":"1328:27:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":42996,"name":"Initializable","nameLocations":["1933:13:75"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1933:13:75"},"id":42997,"nodeType":"InheritanceSpecifier","src":"1933:13:75"},{"baseName":{"id":42998,"name":"XAllocationVotingGovernorV7","nameLocations":["1948:27:75"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"1948:27:75"},"id":42999,"nodeType":"InheritanceSpecifier","src":"1948:27:75"}],"canonicalName":"RoundEarningsSettingsUpgradeableV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":42995,"nodeType":"StructuredDocumentation","src":"1402:474:75","text":" @title RoundEarningsSettingsUpgradeableV7\n @notice Extension of {XAllocationVotingGovernor} to handle the settings for the x-allocation earnings calculations:\n - baseAllocationPercentage: The base allocation percentage to be divided among the x-apps each round\n - appSharesCap: The maximum percentage of shares an x-app can reach in each round\n Since the base allocation percentage and app shares cap can be updated, we store the values for each round."},"fullyImplemented":false,"id":43227,"linearizedBaseContracts":[43227,42519,41900,4552,4332,5961,3987,1732],"name":"RoundEarningsSettingsUpgradeableV7","nameLocation":"1895:34:75","nodeType":"ContractDefinition","nodes":[{"canonicalName":"RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage","documentation":{"id":43000,"nodeType":"StructuredDocumentation","src":"1980:97:75","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.RoundEarningsSettings"},"id":43013,"members":[{"constant":false,"id":43002,"mutability":"mutable","name":"baseAllocationPercentage","nameLocation":"2125:24:75","nodeType":"VariableDeclaration","scope":43013,"src":"2117:32:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43001,"name":"uint256","nodeType":"ElementaryTypeName","src":"2117:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43004,"mutability":"mutable","name":"appSharesCap","nameLocation":"2163:12:75","nodeType":"VariableDeclaration","scope":43013,"src":"2155:20:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43003,"name":"uint256","nodeType":"ElementaryTypeName","src":"2155:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43008,"mutability":"mutable","name":"_roundBaseAllocationPercentage","nameLocation":"2217:30:75","nodeType":"VariableDeclaration","scope":43013,"src":"2181:66:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":43007,"keyName":"roundId","keyNameLocation":"2197:7:75","keyType":{"id":43005,"name":"uint256","nodeType":"ElementaryTypeName","src":"2189:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2181:35:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":43006,"name":"uint256","nodeType":"ElementaryTypeName","src":"2208:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":43012,"mutability":"mutable","name":"_roundAppSharesCap","nameLocation":"2289:18:75","nodeType":"VariableDeclaration","scope":43013,"src":"2253:54:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":43011,"keyName":"roundId","keyNameLocation":"2269:7:75","keyType":{"id":43009,"name":"uint256","nodeType":"ElementaryTypeName","src":"2261:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2253:35:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":43010,"name":"uint256","nodeType":"ElementaryTypeName","src":"2280:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"EarningsSettingsStorage","nameLocation":"2087:23:75","nodeType":"StructDefinition","scope":43227,"src":"2080:232:75","visibility":"public"},{"constant":true,"id":43016,"mutability":"constant","name":"EarningsSettingsStorageLocation","nameLocation":"2482:31:75","nodeType":"VariableDeclaration","scope":43227,"src":"2457:129:75","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2457:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307863373464623465313931343130633761366331386631343638346531323138623565383763343439643066383161623437653863363762663937316333353030","id":43015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2520:66:75","typeDescriptions":{"typeIdentifier":"t_rational_90147552487685411082755859645775835527521746310334070795643373317980065379584_by_1","typeString":"int_const 9014...(69 digits omitted)...9584"},"value":"0xc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c3500"},"visibility":"private"},{"body":{"id":43023,"nodeType":"Block","src":"2688:74:75","statements":[{"AST":{"nodeType":"YulBlock","src":"2703:55:75","statements":[{"nodeType":"YulAssignment","src":"2711:41:75","value":{"name":"EarningsSettingsStorageLocation","nodeType":"YulIdentifier","src":"2721:31:75"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2711:6:75"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":43020,"isOffset":false,"isSlot":true,"src":"2711:6:75","suffix":"slot","valueSize":1},{"declaration":43016,"isOffset":false,"isSlot":false,"src":"2721:31:75","valueSize":1}],"id":43022,"nodeType":"InlineAssembly","src":"2694:64:75"}]},"id":43024,"implemented":true,"kind":"function","modifiers":[],"name":"_getEarningsSettingsStorage","nameLocation":"2600:27:75","nodeType":"FunctionDefinition","parameters":{"id":43017,"nodeType":"ParameterList","parameters":[],"src":"2627:2:75"},"returnParameters":{"id":43021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43020,"mutability":"mutable","name":"$","nameLocation":"2685:1:75","nodeType":"VariableDeclaration","scope":43024,"src":"2653:33:75","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"},"typeName":{"id":43019,"nodeType":"UserDefinedTypeName","pathNode":{"id":43018,"name":"EarningsSettingsStorage","nameLocations":["2653:23:75"],"nodeType":"IdentifierPath","referencedDeclaration":43013,"src":"2653:23:75"},"referencedDeclaration":43013,"src":"2653:23:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"}},"visibility":"internal"}],"src":"2652:35:75"},"scope":43227,"src":"2591:171:75","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43039,"nodeType":"Block","src":"3146:103:75","statements":[{"expression":{"arguments":[{"id":43035,"name":"initialBaseAllocationPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43027,"src":"3191:31:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43036,"name":"initialAppSharesCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43029,"src":"3224:19:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43034,"name":"__RoundEarningsSettings_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43058,"src":"3152:38:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":43037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3152:92:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43038,"nodeType":"ExpressionStatement","src":"3152:92:75"}]},"documentation":{"id":43025,"nodeType":"StructuredDocumentation","src":"2812:185:75","text":" @dev Initialize the contract\n @param initialBaseAllocationPercentage The initial base allocation percentage\n @param initialAppSharesCap The initial app shares cap"},"id":43040,"implemented":true,"kind":"function","modifiers":[{"id":43032,"kind":"modifierInvocation","modifierName":{"id":43031,"name":"onlyInitializing","nameLocations":["3129:16:75"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3129:16:75"},"nodeType":"ModifierInvocation","src":"3129:16:75"}],"name":"__RoundEarningsSettings_init","nameLocation":"3009:28:75","nodeType":"FunctionDefinition","parameters":{"id":43030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43027,"mutability":"mutable","name":"initialBaseAllocationPercentage","nameLocation":"3051:31:75","nodeType":"VariableDeclaration","scope":43040,"src":"3043:39:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43026,"name":"uint256","nodeType":"ElementaryTypeName","src":"3043:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43029,"mutability":"mutable","name":"initialAppSharesCap","nameLocation":"3096:19:75","nodeType":"VariableDeclaration","scope":43040,"src":"3088:27:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43028,"name":"uint256","nodeType":"ElementaryTypeName","src":"3088:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3037:82:75"},"returnParameters":{"id":43033,"nodeType":"ParameterList","parameters":[],"src":"3146:0:75"},"scope":43227,"src":"3000:249:75","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":43057,"nodeType":"Block","src":"3409:115:75","statements":[{"expression":{"arguments":[{"id":43050,"name":"initialBaseAllocationPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43042,"src":"3444:31:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43049,"name":"_setBaseAllocationPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43156,"src":"3415:28:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":43051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3415:61:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43052,"nodeType":"ExpressionStatement","src":"3415:61:75"},{"expression":{"arguments":[{"id":43054,"name":"initialAppSharesCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43044,"src":"3499:19:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43053,"name":"_setAppSharesCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43182,"src":"3482:16:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":43055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3482:37:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43056,"nodeType":"ExpressionStatement","src":"3482:37:75"}]},"id":43058,"implemented":true,"kind":"function","modifiers":[{"id":43047,"kind":"modifierInvocation","modifierName":{"id":43046,"name":"onlyInitializing","nameLocations":["3392:16:75"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3392:16:75"},"nodeType":"ModifierInvocation","src":"3392:16:75"}],"name":"__RoundEarningsSettings_init_unchained","nameLocation":"3262:38:75","nodeType":"FunctionDefinition","parameters":{"id":43045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43042,"mutability":"mutable","name":"initialBaseAllocationPercentage","nameLocation":"3314:31:75","nodeType":"VariableDeclaration","scope":43058,"src":"3306:39:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43041,"name":"uint256","nodeType":"ElementaryTypeName","src":"3306:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43044,"mutability":"mutable","name":"initialAppSharesCap","nameLocation":"3359:19:75","nodeType":"VariableDeclaration","scope":43058,"src":"3351:27:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43043,"name":"uint256","nodeType":"ElementaryTypeName","src":"3351:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3300:82:75"},"returnParameters":{"id":43048,"nodeType":"ParameterList","parameters":[],"src":"3409:0:75"},"scope":43227,"src":"3253:271:75","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":43073,"nodeType":"Block","src":"3693:115:75","statements":[{"assignments":[43066],"declarations":[{"constant":false,"id":43066,"mutability":"mutable","name":"$","nameLocation":"3731:1:75","nodeType":"VariableDeclaration","scope":43073,"src":"3699:33:75","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"},"typeName":{"id":43065,"nodeType":"UserDefinedTypeName","pathNode":{"id":43064,"name":"EarningsSettingsStorage","nameLocations":["3699:23:75"],"nodeType":"IdentifierPath","referencedDeclaration":43013,"src":"3699:23:75"},"referencedDeclaration":43013,"src":"3699:23:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"}},"visibility":"internal"}],"id":43069,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43067,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43024,"src":"3735:27:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$43013_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer)"}},"id":43068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3735:29:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3699:65:75"},{"expression":{"expression":{"id":43070,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43066,"src":"3777:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43071,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3779:24:75","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":43002,"src":"3777:26:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43063,"id":43072,"nodeType":"Return","src":"3770:33:75"}]},"documentation":{"id":43059,"nodeType":"StructuredDocumentation","src":"3567:57:75","text":" @notice Get the base allocation percentage"},"functionSelector":"8ab52d4b","id":43074,"implemented":true,"kind":"function","modifiers":[],"name":"baseAllocationPercentage","nameLocation":"3636:24:75","nodeType":"FunctionDefinition","parameters":{"id":43060,"nodeType":"ParameterList","parameters":[],"src":"3660:2:75"},"returnParameters":{"id":43063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43074,"src":"3684:7:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43061,"name":"uint256","nodeType":"ElementaryTypeName","src":"3684:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3683:9:75"},"scope":43227,"src":"3627:181:75","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":43089,"nodeType":"Block","src":"3914:103:75","statements":[{"assignments":[43082],"declarations":[{"constant":false,"id":43082,"mutability":"mutable","name":"$","nameLocation":"3952:1:75","nodeType":"VariableDeclaration","scope":43089,"src":"3920:33:75","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"},"typeName":{"id":43081,"nodeType":"UserDefinedTypeName","pathNode":{"id":43080,"name":"EarningsSettingsStorage","nameLocations":["3920:23:75"],"nodeType":"IdentifierPath","referencedDeclaration":43013,"src":"3920:23:75"},"referencedDeclaration":43013,"src":"3920:23:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"}},"visibility":"internal"}],"id":43085,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43083,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43024,"src":"3956:27:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$43013_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer)"}},"id":43084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3956:29:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3920:65:75"},{"expression":{"expression":{"id":43086,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43082,"src":"3998:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4000:12:75","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":43004,"src":"3998:14:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43079,"id":43088,"nodeType":"Return","src":"3991:21:75"}]},"documentation":{"id":43075,"nodeType":"StructuredDocumentation","src":"3812:45:75","text":" @notice Get the app shares cap"},"functionSelector":"bb7de6d4","id":43090,"implemented":true,"kind":"function","modifiers":[],"name":"appSharesCap","nameLocation":"3869:12:75","nodeType":"FunctionDefinition","parameters":{"id":43076,"nodeType":"ParameterList","parameters":[],"src":"3881:2:75"},"returnParameters":{"id":43079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43078,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43090,"src":"3905:7:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43077,"name":"uint256","nodeType":"ElementaryTypeName","src":"3905:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3904:9:75"},"scope":43227,"src":"3860:157:75","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[41891],"body":{"id":43109,"nodeType":"Block","src":"4184:130:75","statements":[{"assignments":[43100],"declarations":[{"constant":false,"id":43100,"mutability":"mutable","name":"$","nameLocation":"4222:1:75","nodeType":"VariableDeclaration","scope":43109,"src":"4190:33:75","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"},"typeName":{"id":43099,"nodeType":"UserDefinedTypeName","pathNode":{"id":43098,"name":"EarningsSettingsStorage","nameLocations":["4190:23:75"],"nodeType":"IdentifierPath","referencedDeclaration":43013,"src":"4190:23:75"},"referencedDeclaration":43013,"src":"4190:23:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"}},"visibility":"internal"}],"id":43103,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43101,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43024,"src":"4226:27:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$43013_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer)"}},"id":43102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4226:29:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4190:65:75"},{"expression":{"baseExpression":{"expression":{"id":43104,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43100,"src":"4268:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4270:30:75","memberName":"_roundBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":43008,"src":"4268:32:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":43107,"indexExpression":{"id":43106,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43093,"src":"4301:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4268:41:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43097,"id":43108,"nodeType":"Return","src":"4261:48:75"}]},"documentation":{"id":43091,"nodeType":"StructuredDocumentation","src":"4021:71:75","text":" Returns the base allocation percentage for a given round"},"functionSelector":"0eca87fb","id":43110,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundBaseAllocationPercentage","nameLocation":"4104:32:75","nodeType":"FunctionDefinition","parameters":{"id":43094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43093,"mutability":"mutable","name":"roundId","nameLocation":"4145:7:75","nodeType":"VariableDeclaration","scope":43110,"src":"4137:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43092,"name":"uint256","nodeType":"ElementaryTypeName","src":"4137:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4136:17:75"},"returnParameters":{"id":43097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43096,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43110,"src":"4175:7:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43095,"name":"uint256","nodeType":"ElementaryTypeName","src":"4175:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4174:9:75"},"scope":43227,"src":"4095:219:75","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[41899],"body":{"id":43129,"nodeType":"Block","src":"4457:118:75","statements":[{"assignments":[43120],"declarations":[{"constant":false,"id":43120,"mutability":"mutable","name":"$","nameLocation":"4495:1:75","nodeType":"VariableDeclaration","scope":43129,"src":"4463:33:75","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"},"typeName":{"id":43119,"nodeType":"UserDefinedTypeName","pathNode":{"id":43118,"name":"EarningsSettingsStorage","nameLocations":["4463:23:75"],"nodeType":"IdentifierPath","referencedDeclaration":43013,"src":"4463:23:75"},"referencedDeclaration":43013,"src":"4463:23:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"}},"visibility":"internal"}],"id":43123,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43121,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43024,"src":"4499:27:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$43013_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer)"}},"id":43122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4499:29:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4463:65:75"},{"expression":{"baseExpression":{"expression":{"id":43124,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43120,"src":"4541:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4543:18:75","memberName":"_roundAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":43012,"src":"4541:20:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":43127,"indexExpression":{"id":43126,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43113,"src":"4562:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4541:29:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43117,"id":43128,"nodeType":"Return","src":"4534:36:75"}]},"documentation":{"id":43111,"nodeType":"StructuredDocumentation","src":"4318:59:75","text":" Returns the app shares cap for a given round"},"functionSelector":"0a0e74ef","id":43130,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundAppSharesCap","nameLocation":"4389:20:75","nodeType":"FunctionDefinition","parameters":{"id":43114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43113,"mutability":"mutable","name":"roundId","nameLocation":"4418:7:75","nodeType":"VariableDeclaration","scope":43130,"src":"4410:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43112,"name":"uint256","nodeType":"ElementaryTypeName","src":"4410:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4409:17:75"},"returnParameters":{"id":43117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43130,"src":"4448:7:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43115,"name":"uint256","nodeType":"ElementaryTypeName","src":"4448:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4447:9:75"},"scope":43227,"src":"4380:195:75","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":43155,"nodeType":"Block","src":"4834:292:75","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43137,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43133,"src":"4855:25:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313030","id":43138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4884:3:75","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"4855:32:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a204261736520616c6c6f636174696f6e2070657263656e74616765206d757374206265206c657373207468616e206f7220657175616c20746f20313030","id":43140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4895:89:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6","typeString":"literal_string \"XAllocationVotingGovernor: Base allocation percentage must be less than or equal to 100\""},"value":"XAllocationVotingGovernor: Base allocation percentage must be less than or equal to 100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6","typeString":"literal_string \"XAllocationVotingGovernor: Base allocation percentage must be less than or equal to 100\""}],"id":43136,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4840:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":43141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4840:150:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43142,"nodeType":"ExpressionStatement","src":"4840:150:75"},{"assignments":[43145],"declarations":[{"constant":false,"id":43145,"mutability":"mutable","name":"$","nameLocation":"5028:1:75","nodeType":"VariableDeclaration","scope":43155,"src":"4996:33:75","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"},"typeName":{"id":43144,"nodeType":"UserDefinedTypeName","pathNode":{"id":43143,"name":"EarningsSettingsStorage","nameLocations":["4996:23:75"],"nodeType":"IdentifierPath","referencedDeclaration":43013,"src":"4996:23:75"},"referencedDeclaration":43013,"src":"4996:23:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"}},"visibility":"internal"}],"id":43148,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43146,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43024,"src":"5032:27:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$43013_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer)"}},"id":43147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5032:29:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4996:65:75"},{"expression":{"id":43153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":43149,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43145,"src":"5067:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5069:24:75","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":43002,"src":"5067:26:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":43152,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43133,"src":"5096:25:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5067:54:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43154,"nodeType":"ExpressionStatement","src":"5067:54:75"}]},"documentation":{"id":43131,"nodeType":"StructuredDocumentation","src":"4619:130:75","text":" @notice Set the base allocation percentage\n @param baseAllocationPercentage_ The new base allocation percentage"},"id":43156,"implemented":true,"kind":"function","modifiers":[],"name":"_setBaseAllocationPercentage","nameLocation":"4761:28:75","nodeType":"FunctionDefinition","parameters":{"id":43134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43133,"mutability":"mutable","name":"baseAllocationPercentage_","nameLocation":"4798:25:75","nodeType":"VariableDeclaration","scope":43156,"src":"4790:33:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43132,"name":"uint256","nodeType":"ElementaryTypeName","src":"4790:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4789:35:75"},"returnParameters":{"id":43135,"nodeType":"ParameterList","parameters":[],"src":"4834:0:75"},"scope":43227,"src":"4752:374:75","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":43181,"nodeType":"Block","src":"5285:226:75","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43163,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43159,"src":"5299:13:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313030","id":43164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5316:3:75","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"5299:20:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a204170702073686172657320636170206d757374206265206c657373207468616e206f7220657175616c20746f20313030","id":43166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5321:77:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33","typeString":"literal_string \"XAllocationVotingGovernor: App shares cap must be less than or equal to 100\""},"value":"XAllocationVotingGovernor: App shares cap must be less than or equal to 100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33","typeString":"literal_string \"XAllocationVotingGovernor: App shares cap must be less than or equal to 100\""}],"id":43162,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5291:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":43167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5291:108:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43168,"nodeType":"ExpressionStatement","src":"5291:108:75"},{"assignments":[43171],"declarations":[{"constant":false,"id":43171,"mutability":"mutable","name":"$","nameLocation":"5437:1:75","nodeType":"VariableDeclaration","scope":43181,"src":"5405:33:75","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"},"typeName":{"id":43170,"nodeType":"UserDefinedTypeName","pathNode":{"id":43169,"name":"EarningsSettingsStorage","nameLocations":["5405:23:75"],"nodeType":"IdentifierPath","referencedDeclaration":43013,"src":"5405:23:75"},"referencedDeclaration":43013,"src":"5405:23:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"}},"visibility":"internal"}],"id":43174,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43172,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43024,"src":"5441:27:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$43013_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer)"}},"id":43173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5441:29:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5405:65:75"},{"expression":{"id":43179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":43175,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43171,"src":"5476:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43177,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5478:12:75","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":43004,"src":"5476:14:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":43178,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43159,"src":"5493:13:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5476:30:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43180,"nodeType":"ExpressionStatement","src":"5476:30:75"}]},"documentation":{"id":43157,"nodeType":"StructuredDocumentation","src":"5130:94:75","text":" @notice Set the app shares cap\n @param appSharesCap_ The new app shares cap"},"id":43182,"implemented":true,"kind":"function","modifiers":[],"name":"_setAppSharesCap","nameLocation":"5236:16:75","nodeType":"FunctionDefinition","parameters":{"id":43160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43159,"mutability":"mutable","name":"appSharesCap_","nameLocation":"5261:13:75","nodeType":"VariableDeclaration","scope":43182,"src":"5253:21:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43158,"name":"uint256","nodeType":"ElementaryTypeName","src":"5253:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5252:23:75"},"returnParameters":{"id":43161,"nodeType":"ParameterList","parameters":[],"src":"5285:0:75"},"scope":43227,"src":"5227:284:75","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[42369],"body":{"id":43213,"nodeType":"Block","src":"5702:204:75","statements":[{"assignments":[43191],"declarations":[{"constant":false,"id":43191,"mutability":"mutable","name":"$","nameLocation":"5740:1:75","nodeType":"VariableDeclaration","scope":43213,"src":"5708:33:75","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"},"typeName":{"id":43190,"nodeType":"UserDefinedTypeName","pathNode":{"id":43189,"name":"EarningsSettingsStorage","nameLocations":["5708:23:75"],"nodeType":"IdentifierPath","referencedDeclaration":43013,"src":"5708:23:75"},"referencedDeclaration":43013,"src":"5708:23:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage"}},"visibility":"internal"}],"id":43194,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43192,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43024,"src":"5744:27:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$43013_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer)"}},"id":43193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5744:29:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5708:65:75"},{"expression":{"id":43202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":43195,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43191,"src":"5779:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5781:30:75","memberName":"_roundBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":43008,"src":"5779:32:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":43199,"indexExpression":{"id":43197,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43185,"src":"5812:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5779:41:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":43200,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43191,"src":"5823:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43201,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5825:24:75","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":43002,"src":"5823:26:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5779:70:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43203,"nodeType":"ExpressionStatement","src":"5779:70:75"},{"expression":{"id":43211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":43204,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43191,"src":"5855:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5857:18:75","memberName":"_roundAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":43012,"src":"5855:20:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":43208,"indexExpression":{"id":43206,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43185,"src":"5876:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5855:29:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":43209,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43191,"src":"5887:1:75","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$43013_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV7.EarningsSettingsStorage storage pointer"}},"id":43210,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5889:12:75","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":43004,"src":"5887:14:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5855:46:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43212,"nodeType":"ExpressionStatement","src":"5855:46:75"}]},"documentation":{"id":43183,"nodeType":"StructuredDocumentation","src":"5515:106:75","text":" @dev Save the earnings settings for a new round\n @param roundId The id of the new round"},"id":43214,"implemented":true,"kind":"function","modifiers":[],"name":"_snapshotRoundEarningsCap","nameLocation":"5633:25:75","nodeType":"FunctionDefinition","overrides":{"id":43187,"nodeType":"OverrideSpecifier","overrides":[],"src":"5693:8:75"},"parameters":{"id":43186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43185,"mutability":"mutable","name":"roundId","nameLocation":"5667:7:75","nodeType":"VariableDeclaration","scope":43214,"src":"5659:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43184,"name":"uint256","nodeType":"ElementaryTypeName","src":"5659:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5658:17:75"},"returnParameters":{"id":43188,"nodeType":"ParameterList","parameters":[],"src":"5702:0:75"},"scope":43227,"src":"5624:282:75","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":43215,"nodeType":"StructuredDocumentation","src":"5949:81:75","text":" @dev See {IXAllocationVotingGovernor-setBaseAllocationPercentage}."},"functionSelector":"74038935","id":43220,"implemented":false,"kind":"function","modifiers":[],"name":"setAppSharesCap","nameLocation":"6042:15:75","nodeType":"FunctionDefinition","parameters":{"id":43218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43217,"mutability":"mutable","name":"appSharesCap_","nameLocation":"6066:13:75","nodeType":"VariableDeclaration","scope":43220,"src":"6058:21:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43216,"name":"uint256","nodeType":"ElementaryTypeName","src":"6058:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6057:23:75"},"returnParameters":{"id":43219,"nodeType":"ParameterList","parameters":[],"src":"6097:0:75"},"scope":43227,"src":"6033:65:75","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"documentation":{"id":43221,"nodeType":"StructuredDocumentation","src":"6102:81:75","text":" @dev See {IXAllocationVotingGovernor-setBaseAllocationPercentage}."},"functionSelector":"f5fae136","id":43226,"implemented":false,"kind":"function","modifiers":[],"name":"setBaseAllocationPercentage","nameLocation":"6195:27:75","nodeType":"FunctionDefinition","parameters":{"id":43224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43223,"mutability":"mutable","name":"baseAllocationPercentage_","nameLocation":"6231:25:75","nodeType":"VariableDeclaration","scope":43226,"src":"6223:33:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43222,"name":"uint256","nodeType":"ElementaryTypeName","src":"6223:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6222:35:75"},"returnParameters":{"id":43225,"nodeType":"ParameterList","parameters":[],"src":"6274:0:75"},"scope":43227,"src":"6186:89:75","stateMutability":"nonpayable","virtual":true,"visibility":"external"}],"scope":43228,"src":"1877:4400:75","usedErrors":[1495,1498,7025,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632],"usedEvents":[1503,41646,41659]}],"src":"1195:5083:75"},"id":75},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol","exportedSymbols":{"Initializable":[1732],"RoundFinalizationUpgradeableV7":[43413],"XAllocationVotingGovernorV7":[42519]},"id":43414,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":43229,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:76"},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","file":"../XAllocationVotingGovernorV7.sol","id":43231,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":43414,"sourceUnit":42520,"src":"1220:81:76","symbolAliases":[{"foreign":{"id":43230,"name":"XAllocationVotingGovernorV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42519,"src":"1229:27:76","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":43233,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":43414,"sourceUnit":1733,"src":"1302:98:76","symbolAliases":[{"foreign":{"id":43232,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1311:13:76","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":43235,"name":"Initializable","nameLocations":["1927:13:76"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1927:13:76"},"id":43236,"nodeType":"InheritanceSpecifier","src":"1927:13:76"},{"baseName":{"id":43237,"name":"XAllocationVotingGovernorV7","nameLocations":["1942:27:76"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"1942:27:76"},"id":43238,"nodeType":"InheritanceSpecifier","src":"1942:27:76"}],"canonicalName":"RoundFinalizationUpgradeableV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":43234,"nodeType":"StructuredDocumentation","src":"1402:472:76","text":" @title RoundFinalizationUpgradeableV7\n @notice Extension of {XAllocationVotingGovernor} that handles the finalization of rounds\n @dev If a round does not meet the quorum (RoundState.Failed) we need to know the last round that succeeded,\n so we can calculate the earnings for the x-2-earn-apps upon that round. By always pointing each round at the last succeeded one, if a round fails,\n it will be enough to look at what round the previous one points to."},"fullyImplemented":false,"id":43413,"linearizedBaseContracts":[43413,42519,41900,4552,4332,5961,3987,1732],"name":"RoundFinalizationUpgradeableV7","nameLocation":"1893:30:76","nodeType":"ContractDefinition","nodes":[{"canonicalName":"RoundFinalizationUpgradeableV7.RoundFinalizationStorage","documentation":{"id":43239,"nodeType":"StructuredDocumentation","src":"1974:93:76","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.RoundFinalization"},"id":43248,"members":[{"constant":false,"id":43243,"mutability":"mutable","name":"_latestSucceededRoundId","nameLocation":"2144:23:76","nodeType":"VariableDeclaration","scope":43248,"src":"2108:59:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":43242,"keyName":"roundId","keyNameLocation":"2124:7:76","keyType":{"id":43240,"name":"uint256","nodeType":"ElementaryTypeName","src":"2116:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2108:35:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":43241,"name":"uint256","nodeType":"ElementaryTypeName","src":"2135:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":43247,"mutability":"mutable","name":"_roundFinalized","nameLocation":"2206:15:76","nodeType":"VariableDeclaration","scope":43248,"src":"2173:48:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":43246,"keyName":"roundId","keyNameLocation":"2189:7:76","keyType":{"id":43244,"name":"uint256","nodeType":"ElementaryTypeName","src":"2181:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2173:32:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":43245,"name":"bool","nodeType":"ElementaryTypeName","src":"2200:4:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"RoundFinalizationStorage","nameLocation":"2077:24:76","nodeType":"StructDefinition","scope":43413,"src":"2070:156:76","visibility":"public"},{"constant":true,"id":43251,"mutability":"constant","name":"RoundFinalizationStorageLocation","nameLocation":"2392:32:76","nodeType":"VariableDeclaration","scope":43413,"src":"2367:130:76","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2367:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837646433323531623938383261386230376463323833613062343331393761613262653361366166316137663032383430373066653564383665353032353030","id":43250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2431:66:76","typeDescriptions":{"typeIdentifier":"t_rational_56912166912171147209313599689234814512225880911826322595024863211913751831808_by_1","typeString":"int_const 5691...(69 digits omitted)...1808"},"value":"0x7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e502500"},"visibility":"private"},{"body":{"id":43258,"nodeType":"Block","src":"2601:75:76","statements":[{"AST":{"nodeType":"YulBlock","src":"2616:56:76","statements":[{"nodeType":"YulAssignment","src":"2624:42:76","value":{"name":"RoundFinalizationStorageLocation","nodeType":"YulIdentifier","src":"2634:32:76"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2624:6:76"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":43255,"isOffset":false,"isSlot":true,"src":"2624:6:76","suffix":"slot","valueSize":1},{"declaration":43251,"isOffset":false,"isSlot":false,"src":"2634:32:76","valueSize":1}],"id":43257,"nodeType":"InlineAssembly","src":"2607:65:76"}]},"id":43259,"implemented":true,"kind":"function","modifiers":[],"name":"_getRoundFinalizationStorage","nameLocation":"2511:28:76","nodeType":"FunctionDefinition","parameters":{"id":43252,"nodeType":"ParameterList","parameters":[],"src":"2539:2:76"},"returnParameters":{"id":43256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43255,"mutability":"mutable","name":"$","nameLocation":"2598:1:76","nodeType":"VariableDeclaration","scope":43259,"src":"2565:34:76","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage"},"typeName":{"id":43254,"nodeType":"UserDefinedTypeName","pathNode":{"id":43253,"name":"RoundFinalizationStorage","nameLocations":["2565:24:76"],"nodeType":"IdentifierPath","referencedDeclaration":43248,"src":"2565:24:76"},"referencedDeclaration":43248,"src":"2565:24:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage"}},"visibility":"internal"}],"src":"2564:36:76"},"scope":43413,"src":"2502:174:76","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43268,"nodeType":"Block","src":"2789:47:76","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":43265,"name":"__RoundFinalization_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43275,"src":"2795:34:76","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":43266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2795:36:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43267,"nodeType":"ExpressionStatement","src":"2795:36:76"}]},"documentation":{"id":43260,"nodeType":"StructuredDocumentation","src":"2680:44:76","text":" @dev Initializes the contract"},"id":43269,"implemented":true,"kind":"function","modifiers":[{"id":43263,"kind":"modifierInvocation","modifierName":{"id":43262,"name":"onlyInitializing","nameLocations":["2772:16:76"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2772:16:76"},"nodeType":"ModifierInvocation","src":"2772:16:76"}],"name":"__RoundFinalization_init","nameLocation":"2736:24:76","nodeType":"FunctionDefinition","parameters":{"id":43261,"nodeType":"ParameterList","parameters":[],"src":"2760:2:76"},"returnParameters":{"id":43264,"nodeType":"ParameterList","parameters":[],"src":"2789:0:76"},"scope":43413,"src":"2727:109:76","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":43274,"nodeType":"Block","src":"2912:2:76","statements":[]},"id":43275,"implemented":true,"kind":"function","modifiers":[{"id":43272,"kind":"modifierInvocation","modifierName":{"id":43271,"name":"onlyInitializing","nameLocations":["2895:16:76"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2895:16:76"},"nodeType":"ModifierInvocation","src":"2895:16:76"}],"name":"__RoundFinalization_init_unchained","nameLocation":"2849:34:76","nodeType":"FunctionDefinition","parameters":{"id":43270,"nodeType":"ParameterList","parameters":[],"src":"2883:2:76"},"returnParameters":{"id":43273,"nodeType":"ParameterList","parameters":[],"src":"2912:0:76"},"scope":43413,"src":"2840:74:76","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[42411],"body":{"id":43371,"nodeType":"Block","src":"3130:804:76","statements":[{"expression":{"arguments":[{"id":43286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3144:18:76","subExpression":{"arguments":[{"id":43284,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3154:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43283,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42222,"src":"3145:8:76","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":43285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3145:17:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64206973206e6f7420656e64656420796574","id":43287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3164:51:76","typeDescriptions":{"typeIdentifier":"t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba","typeString":"literal_string \"XAllocationVotingGovernor: round is not ended yet\""},"value":"XAllocationVotingGovernor: round is not ended yet"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba","typeString":"literal_string \"XAllocationVotingGovernor: round is not ended yet\""}],"id":43282,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3136:7:76","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":43288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3136:80:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43289,"nodeType":"ExpressionStatement","src":"3136:80:76"},{"assignments":[43292],"declarations":[{"constant":false,"id":43292,"mutability":"mutable","name":"$","nameLocation":"3256:1:76","nodeType":"VariableDeclaration","scope":43371,"src":"3223:34:76","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage"},"typeName":{"id":43291,"nodeType":"UserDefinedTypeName","pathNode":{"id":43290,"name":"RoundFinalizationStorage","nameLocations":["3223:24:76"],"nodeType":"IdentifierPath","referencedDeclaration":43248,"src":"3223:24:76"},"referencedDeclaration":43248,"src":"3223:24:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage"}},"visibility":"internal"}],"id":43295,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43293,"name":"_getRoundFinalizationStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43259,"src":"3260:28:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundFinalizationStorage_$43248_storage_ptr_$","typeString":"function () pure returns (struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer)"}},"id":43294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3260:30:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3223:67:76"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43296,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3350:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":43297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3361:1:76","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3350:12:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43317,"nodeType":"IfStatement","src":"3346:126:76","trueBody":{"id":43316,"nodeType":"Block","src":"3364:108:76","statements":[{"expression":{"id":43305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":43299,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43292,"src":"3372:1:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"id":43302,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3374:23:76","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":43243,"src":"3372:25:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":43303,"indexExpression":{"id":43301,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3398:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3372:34:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":43304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3409:1:76","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3372:38:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43306,"nodeType":"ExpressionStatement","src":"3372:38:76"},{"expression":{"id":43313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":43307,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43292,"src":"3418:1:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"id":43310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3420:15:76","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":43247,"src":"3418:17:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":43311,"indexExpression":{"id":43309,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3436:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3418:26:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":43312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3447:4:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3418:33:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43314,"nodeType":"ExpressionStatement","src":"3418:33:76"},{"functionReturnParameters":43281,"id":43315,"nodeType":"Return","src":"3459:7:76"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},"id":43323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":43319,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3488:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43318,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42279,"src":"3482:5:76","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$41575_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV7.RoundState)"}},"id":43320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3482:14:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":43321,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41575,"src":"3500:10:76","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$41575_$","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}},"id":43322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3511:9:76","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":41574,"src":"3500:20:76","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"src":"3482:38:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},"id":43346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":43342,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3701:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43341,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42279,"src":"3695:5:76","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$41575_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV7.RoundState)"}},"id":43343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3695:14:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":43344,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41575,"src":"3713:10:76","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$41575_$","typeString":"type(enum IXAllocationVotingGovernorV7.RoundState)"}},"id":43345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3724:6:76","memberName":"Failed","nodeType":"MemberAccess","referencedDeclaration":41573,"src":"3713:17:76","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},"src":"3695:35:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43369,"nodeType":"IfStatement","src":"3691:239:76","trueBody":{"id":43368,"nodeType":"Block","src":"3732:198:76","statements":[{"expression":{"id":43358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":43347,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43292,"src":"3807:1:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"id":43350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3809:23:76","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":43243,"src":"3807:25:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":43351,"indexExpression":{"id":43349,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3833:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3807:34:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":43352,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43292,"src":"3844:1:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"id":43353,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3846:23:76","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":43243,"src":"3844:25:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":43357,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43354,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3870:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":43355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3880:1:76","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3870:11:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3844:38:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3807:75:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43359,"nodeType":"ExpressionStatement","src":"3807:75:76"},{"expression":{"id":43366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":43360,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43292,"src":"3890:1:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"id":43363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3892:15:76","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":43247,"src":"3890:17:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":43364,"indexExpression":{"id":43362,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3908:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3890:26:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":43365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3919:4:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3890:33:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43367,"nodeType":"ExpressionStatement","src":"3890:33:76"}]}},"id":43370,"nodeType":"IfStatement","src":"3478:452:76","trueBody":{"id":43340,"nodeType":"Block","src":"3522:163:76","statements":[{"expression":{"id":43330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":43324,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43292,"src":"3593:1:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"id":43327,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3595:23:76","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":43243,"src":"3593:25:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":43328,"indexExpression":{"id":43326,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3619:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3593:34:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":43329,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3630:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3593:44:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43331,"nodeType":"ExpressionStatement","src":"3593:44:76"},{"expression":{"id":43338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":43332,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43292,"src":"3645:1:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"id":43335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3647:15:76","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":43247,"src":"3645:17:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":43336,"indexExpression":{"id":43334,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"3663:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3645:26:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":43337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3674:4:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3645:33:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43339,"nodeType":"ExpressionStatement","src":"3645:33:76"}]}}]},"documentation":{"id":43276,"nodeType":"StructuredDocumentation","src":"2951:112:76","text":" @dev Store the last succeeded round for the given round\n @param roundId The round to finalize"},"functionSelector":"3469f6e2","id":43372,"implemented":true,"kind":"function","modifiers":[],"name":"finalizeRound","nameLocation":"3075:13:76","nodeType":"FunctionDefinition","overrides":{"id":43280,"nodeType":"OverrideSpecifier","overrides":[],"src":"3121:8:76"},"parameters":{"id":43279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43278,"mutability":"mutable","name":"roundId","nameLocation":"3097:7:76","nodeType":"VariableDeclaration","scope":43372,"src":"3089:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43277,"name":"uint256","nodeType":"ElementaryTypeName","src":"3089:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3088:17:76"},"returnParameters":{"id":43281,"nodeType":"ParameterList","parameters":[],"src":"3130:0:76"},"scope":43413,"src":"3066:868:76","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[41875],"body":{"id":43391,"nodeType":"Block","src":"4123:125:76","statements":[{"assignments":[43382],"declarations":[{"constant":false,"id":43382,"mutability":"mutable","name":"$","nameLocation":"4162:1:76","nodeType":"VariableDeclaration","scope":43391,"src":"4129:34:76","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage"},"typeName":{"id":43381,"nodeType":"UserDefinedTypeName","pathNode":{"id":43380,"name":"RoundFinalizationStorage","nameLocations":["4129:24:76"],"nodeType":"IdentifierPath","referencedDeclaration":43248,"src":"4129:24:76"},"referencedDeclaration":43248,"src":"4129:24:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage"}},"visibility":"internal"}],"id":43385,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43383,"name":"_getRoundFinalizationStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43259,"src":"4166:28:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundFinalizationStorage_$43248_storage_ptr_$","typeString":"function () pure returns (struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer)"}},"id":43384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4166:30:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4129:67:76"},{"expression":{"baseExpression":{"expression":{"id":43386,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43382,"src":"4209:1:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"id":43387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4211:23:76","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":43243,"src":"4209:25:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":43389,"indexExpression":{"id":43388,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43375,"src":"4235:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4209:34:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43379,"id":43390,"nodeType":"Return","src":"4202:41:76"}]},"documentation":{"id":43373,"nodeType":"StructuredDocumentation","src":"3971:68:76","text":" @dev Get the last succeeded round for the given round"},"functionSelector":"30097377","id":43392,"implemented":true,"kind":"function","modifiers":[],"name":"latestSucceededRoundId","nameLocation":"4051:22:76","nodeType":"FunctionDefinition","parameters":{"id":43376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43375,"mutability":"mutable","name":"roundId","nameLocation":"4082:7:76","nodeType":"VariableDeclaration","scope":43392,"src":"4074:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43374,"name":"uint256","nodeType":"ElementaryTypeName","src":"4074:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4073:17:76"},"returnParameters":{"id":43379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43378,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43392,"src":"4114:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43377,"name":"uint256","nodeType":"ElementaryTypeName","src":"4114:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4113:9:76"},"scope":43413,"src":"4042:206:76","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":43411,"nodeType":"Block","src":"4373:117:76","statements":[{"assignments":[43402],"declarations":[{"constant":false,"id":43402,"mutability":"mutable","name":"$","nameLocation":"4412:1:76","nodeType":"VariableDeclaration","scope":43411,"src":"4379:34:76","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage"},"typeName":{"id":43401,"nodeType":"UserDefinedTypeName","pathNode":{"id":43400,"name":"RoundFinalizationStorage","nameLocations":["4379:24:76"],"nodeType":"IdentifierPath","referencedDeclaration":43248,"src":"4379:24:76"},"referencedDeclaration":43248,"src":"4379:24:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage"}},"visibility":"internal"}],"id":43405,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43403,"name":"_getRoundFinalizationStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43259,"src":"4416:28:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundFinalizationStorage_$43248_storage_ptr_$","typeString":"function () pure returns (struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer)"}},"id":43404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4416:30:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4379:67:76"},{"expression":{"baseExpression":{"expression":{"id":43406,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43402,"src":"4459:1:76","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$43248_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV7.RoundFinalizationStorage storage pointer"}},"id":43407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4461:15:76","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":43247,"src":"4459:17:76","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":43409,"indexExpression":{"id":43408,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43395,"src":"4477:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4459:26:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":43399,"id":43410,"nodeType":"Return","src":"4452:33:76"}]},"documentation":{"id":43393,"nodeType":"StructuredDocumentation","src":"4252:51:76","text":" @dev Check if the round is finalized"},"functionSelector":"33727c4d","id":43412,"implemented":true,"kind":"function","modifiers":[],"name":"isFinalized","nameLocation":"4315:11:76","nodeType":"FunctionDefinition","parameters":{"id":43396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43395,"mutability":"mutable","name":"roundId","nameLocation":"4335:7:76","nodeType":"VariableDeclaration","scope":43412,"src":"4327:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43394,"name":"uint256","nodeType":"ElementaryTypeName","src":"4327:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4326:17:76"},"returnParameters":{"id":43399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43412,"src":"4367:4:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43397,"name":"bool","nodeType":"ElementaryTypeName","src":"4367:4:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4366:6:76"},"scope":43413,"src":"4306:184:76","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":43414,"src":"1875:2617:76","usedErrors":[1495,1498,7025,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632],"usedEvents":[1503,41646,41659]}],"src":"1195:3298:76"},"id":76},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol","exportedSymbols":{"Initializable":[1732],"Math":[7015],"RoundVotesCountingUpgradeableV7":[44077],"SafeCast":[8770],"XAllocationVotingGovernorV7":[42519]},"id":44078,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":43415,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:77"},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","file":"../XAllocationVotingGovernorV7.sol","id":43417,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44078,"sourceUnit":42520,"src":"1220:81:77","symbolAliases":[{"foreign":{"id":43416,"name":"XAllocationVotingGovernorV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42519,"src":"1229:27:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":43419,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44078,"sourceUnit":8771,"src":"1302:75:77","symbolAliases":[{"foreign":{"id":43418,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1311:8:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":43421,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44078,"sourceUnit":1733,"src":"1378:98:77","symbolAliases":[{"foreign":{"id":43420,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1387:13:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","id":43423,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44078,"sourceUnit":7016,"src":"1477:67:77","symbolAliases":[{"foreign":{"id":43422,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"1486:4:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":43425,"name":"Initializable","nameLocations":["1940:13:77"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1940:13:77"},"id":43426,"nodeType":"InheritanceSpecifier","src":"1940:13:77"},{"baseName":{"id":43427,"name":"XAllocationVotingGovernorV7","nameLocations":["1955:27:77"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"1955:27:77"},"id":43428,"nodeType":"InheritanceSpecifier","src":"1955:27:77"}],"canonicalName":"RoundVotesCountingUpgradeableV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":43424,"nodeType":"StructuredDocumentation","src":"1546:340:77","text":" @title RoundVotesCountingUpgradeableV7\n @dev Extension of {XAllocationVotingGovernor} for counting votes for allocation rounds.\n In every round users can vote a fraction of their balance for the eligible apps in that round.\n ----- Version 5 -----\n - Fixed duplicate app voting in same transaction in {_countVote}"},"fullyImplemented":false,"id":44077,"linearizedBaseContracts":[44077,42519,41900,4552,4332,5961,3987,1732],"name":"RoundVotesCountingUpgradeableV7","nameLocation":"1905:31:77","nodeType":"ContractDefinition","nodes":[{"canonicalName":"RoundVotesCountingUpgradeableV7.RoundVote","id":43447,"members":[{"constant":false,"id":43432,"mutability":"mutable","name":"votesReceived","nameLocation":"2085:13:77","nodeType":"VariableDeclaration","scope":43447,"src":"2051:47:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":43431,"keyName":"appId","keyNameLocation":"2067:5:77","keyType":{"id":43429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2059:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2051:33:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":43430,"name":"uint256","nodeType":"ElementaryTypeName","src":"2076:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":43436,"mutability":"mutable","name":"votesReceivedQF","nameLocation":"2200:15:77","nodeType":"VariableDeclaration","scope":43447,"src":"2166:49:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":43435,"keyName":"appId","keyNameLocation":"2182:5:77","keyType":{"id":43433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2174:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2166:33:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":43434,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":43438,"mutability":"mutable","name":"totalVotes","nameLocation":"2323:10:77","nodeType":"VariableDeclaration","scope":43447,"src":"2315:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43437,"name":"uint256","nodeType":"ElementaryTypeName","src":"2315:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43440,"mutability":"mutable","name":"totalVotesQF","nameLocation":"2405:12:77","nodeType":"VariableDeclaration","scope":43447,"src":"2397:20:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43439,"name":"uint256","nodeType":"ElementaryTypeName","src":"2397:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43444,"mutability":"mutable","name":"hasVoted","nameLocation":"2625:8:77","nodeType":"VariableDeclaration","scope":43447,"src":"2595:38:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":43443,"keyName":"user","keyNameLocation":"2611:4:77","keyType":{"id":43441,"name":"address","nodeType":"ElementaryTypeName","src":"2603:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2595:29:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":43442,"name":"bool","nodeType":"ElementaryTypeName","src":"2619:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":43446,"mutability":"mutable","name":"totalVoters","nameLocation":"2690:11:77","nodeType":"VariableDeclaration","scope":43447,"src":"2682:19:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43445,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"RoundVote","nameLocation":"1994:9:77","nodeType":"StructDefinition","scope":44077,"src":"1987:719:77","visibility":"public"},{"canonicalName":"RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage","documentation":{"id":43448,"nodeType":"StructuredDocumentation","src":"2710:94:77","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.RoundVotesCounting"},"id":43460,"members":[{"constant":false,"id":43452,"mutability":"mutable","name":"_hasVotedOnce","nameLocation":"2876:13:77","nodeType":"VariableDeclaration","scope":43460,"src":"2846:43:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":43451,"keyName":"user","keyNameLocation":"2862:4:77","keyType":{"id":43449,"name":"address","nodeType":"ElementaryTypeName","src":"2854:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2846:29:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":43450,"name":"bool","nodeType":"ElementaryTypeName","src":"2870:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":43457,"mutability":"mutable","name":"_roundVotes","nameLocation":"2993:11:77","nodeType":"VariableDeclaration","scope":43460,"src":"2955:49:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote)"},"typeName":{"id":43456,"keyName":"roundId","keyNameLocation":"2971:7:77","keyType":{"id":43453,"name":"uint256","nodeType":"ElementaryTypeName","src":"2963:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2955:37:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":43455,"nodeType":"UserDefinedTypeName","pathNode":{"id":43454,"name":"RoundVote","nameLocations":["2982:9:77"],"nodeType":"IdentifierPath","referencedDeclaration":43447,"src":"2982:9:77"},"referencedDeclaration":43447,"src":"2982:9:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote"}}},"visibility":"internal"},{"constant":false,"id":43459,"mutability":"mutable","name":"votingThreshold","nameLocation":"3063:15:77","nodeType":"VariableDeclaration","scope":43460,"src":"3055:23:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43458,"name":"uint256","nodeType":"ElementaryTypeName","src":"3055:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"RoundVotesCountingStorage","nameLocation":"2814:25:77","nodeType":"StructDefinition","scope":44077,"src":"2807:326:77","visibility":"public"},{"constant":true,"id":43463,"mutability":"constant","name":"RoundVotesCountingStorageLocation","nameLocation":"3300:33:77","nodeType":"VariableDeclaration","scope":44077,"src":"3275:131:77","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3275:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307861373630633034316434613966613361326336376430643332356633353932626132633765343333306637626132323833656266396665363339313364353030","id":43462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3340:66:77","typeDescriptions":{"typeIdentifier":"t_rational_75707189941715459407976635804996749017233695915597846200462631701644016080128_by_1","typeString":"int_const 7570...(69 digits omitted)...0128"},"value":"0xa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d500"},"visibility":"private"},{"body":{"id":43470,"nodeType":"Block","src":"3511:76:77","statements":[{"AST":{"nodeType":"YulBlock","src":"3526:57:77","statements":[{"nodeType":"YulAssignment","src":"3534:43:77","value":{"name":"RoundVotesCountingStorageLocation","nodeType":"YulIdentifier","src":"3544:33:77"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"3534:6:77"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":43467,"isOffset":false,"isSlot":true,"src":"3534:6:77","suffix":"slot","valueSize":1},{"declaration":43463,"isOffset":false,"isSlot":false,"src":"3544:33:77","valueSize":1}],"id":43469,"nodeType":"InlineAssembly","src":"3517:66:77"}]},"id":43471,"implemented":true,"kind":"function","modifiers":[],"name":"_getRoundVotesCountingStorage","nameLocation":"3420:29:77","nodeType":"FunctionDefinition","parameters":{"id":43464,"nodeType":"ParameterList","parameters":[],"src":"3449:2:77"},"returnParameters":{"id":43468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43467,"mutability":"mutable","name":"$","nameLocation":"3508:1:77","nodeType":"VariableDeclaration","scope":43471,"src":"3474:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43466,"nodeType":"UserDefinedTypeName","pathNode":{"id":43465,"name":"RoundVotesCountingStorage","nameLocations":["3474:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"3474:25:77"},"referencedDeclaration":43460,"src":"3474:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"src":"3473:37:77"},"scope":44077,"src":"3411:176:77","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"eventSelector":"a5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05","id":43477,"name":"VotingThresholdSet","nameLocation":"3686:18:77","nodeType":"EventDefinition","parameters":{"id":43476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43473,"indexed":false,"mutability":"mutable","name":"oldVotingThreshold","nameLocation":"3713:18:77","nodeType":"VariableDeclaration","scope":43477,"src":"3705:26:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43472,"name":"uint256","nodeType":"ElementaryTypeName","src":"3705:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43475,"indexed":false,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"3741:18:77","nodeType":"VariableDeclaration","scope":43477,"src":"3733:26:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43474,"name":"uint256","nodeType":"ElementaryTypeName","src":"3733:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3704:56:77"},"src":"3680:81:77"},{"documentation":{"id":43478,"nodeType":"StructuredDocumentation","src":"3765:92:77","text":"@dev Error thrown when trying to vote for the same app multiple times in one transaction"},"errorSelector":"8d9eb3dc","id":43480,"name":"DuplicateAppVote","nameLocation":"3866:16:77","nodeType":"ErrorDefinition","parameters":{"id":43479,"nodeType":"ParameterList","parameters":[],"src":"3882:2:77"},"src":"3860:25:77"},{"body":{"id":43492,"nodeType":"Block","src":"4023:64:77","statements":[{"expression":{"arguments":[{"id":43489,"name":"_votingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43483,"src":"4065:16:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43488,"name":"__RoundVotesCounting_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43513,"src":"4029:35:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":43490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4029:53:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43491,"nodeType":"ExpressionStatement","src":"4029:53:77"}]},"documentation":{"id":43481,"nodeType":"StructuredDocumentation","src":"3889:44:77","text":" @dev Initializes the contract"},"id":43493,"implemented":true,"kind":"function","modifiers":[{"id":43486,"kind":"modifierInvocation","modifierName":{"id":43485,"name":"onlyInitializing","nameLocations":["4006:16:77"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4006:16:77"},"nodeType":"ModifierInvocation","src":"4006:16:77"}],"name":"__RoundVotesCounting_init","nameLocation":"3945:25:77","nodeType":"FunctionDefinition","parameters":{"id":43484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43483,"mutability":"mutable","name":"_votingThreshold","nameLocation":"3979:16:77","nodeType":"VariableDeclaration","scope":43493,"src":"3971:24:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43482,"name":"uint256","nodeType":"ElementaryTypeName","src":"3971:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3970:26:77"},"returnParameters":{"id":43487,"nodeType":"ParameterList","parameters":[],"src":"4023:0:77"},"scope":44077,"src":"3936:151:77","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":43512,"nodeType":"Block","src":"4188:123:77","statements":[{"assignments":[43502],"declarations":[{"constant":false,"id":43502,"mutability":"mutable","name":"$","nameLocation":"4228:1:77","nodeType":"VariableDeclaration","scope":43512,"src":"4194:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43501,"nodeType":"UserDefinedTypeName","pathNode":{"id":43500,"name":"RoundVotesCountingStorage","nameLocations":["4194:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"4194:25:77"},"referencedDeclaration":43460,"src":"4194:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":43505,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43503,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"4232:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":43504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4232:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4194:69:77"},{"expression":{"id":43510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":43506,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43502,"src":"4270:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4272:15:77","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":43459,"src":"4270:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":43509,"name":"_votingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43495,"src":"4290:16:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4270:36:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43511,"nodeType":"ExpressionStatement","src":"4270:36:77"}]},"id":43513,"implemented":true,"kind":"function","modifiers":[{"id":43498,"kind":"modifierInvocation","modifierName":{"id":43497,"name":"onlyInitializing","nameLocations":["4171:16:77"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4171:16:77"},"nodeType":"ModifierInvocation","src":"4171:16:77"}],"name":"__RoundVotesCounting_init_unchained","nameLocation":"4100:35:77","nodeType":"FunctionDefinition","parameters":{"id":43496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43495,"mutability":"mutable","name":"_votingThreshold","nameLocation":"4144:16:77","nodeType":"VariableDeclaration","scope":43513,"src":"4136:24:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43494,"name":"uint256","nodeType":"ElementaryTypeName","src":"4136:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4135:26:77"},"returnParameters":{"id":43499,"nodeType":"ParameterList","parameters":[],"src":"4188:0:77"},"scope":44077,"src":"4091:220:77","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[41677],"body":{"id":43522,"nodeType":"Block","src":"4514:53:77","statements":[{"expression":{"hexValue":"737570706f72743d782d616c6c6f636174696f6e732671756f72756d3d6175746f","id":43520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4527:35:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da2acd6541a51240af60f66d2315b6a38f01623a75623565f70ff7d01e48cae","typeString":"literal_string \"support=x-allocations&quorum=auto\""},"value":"support=x-allocations&quorum=auto"},"functionReturnParameters":43519,"id":43521,"nodeType":"Return","src":"4520:42:77"}]},"documentation":{"id":43514,"nodeType":"StructuredDocumentation","src":"4315:67:77","text":" @dev See {IXAllocationVotingGovernor-COUNTING_MODE}."},"functionSelector":"dd4e2ba5","id":43523,"implemented":true,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"4445:13:77","nodeType":"FunctionDefinition","overrides":{"id":43516,"nodeType":"OverrideSpecifier","overrides":[],"src":"4481:8:77"},"parameters":{"id":43515,"nodeType":"ParameterList","parameters":[],"src":"4458:2:77"},"returnParameters":{"id":43519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43518,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43523,"src":"4499:13:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43517,"name":"string","nodeType":"ElementaryTypeName","src":"4499:6:77","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4498:15:77"},"scope":44077,"src":"4436:131:77","stateMutability":"pure","virtual":true,"visibility":"public"},{"body":{"id":43533,"nodeType":"Block","src":"4807:50:77","statements":[{"expression":{"arguments":[{"id":43530,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43526,"src":"4833:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43529,"name":"_setVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43559,"src":"4813:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":43531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4813:39:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43532,"nodeType":"ExpressionStatement","src":"4813:39:77"}]},"documentation":{"id":43524,"nodeType":"StructuredDocumentation","src":"4571:162:77","text":" @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n Emits a {VotingThresholdSet} event."},"functionSelector":"836761e0","id":43534,"implemented":true,"kind":"function","modifiers":[],"name":"setVotingThreshold","nameLocation":"4745:18:77","nodeType":"FunctionDefinition","parameters":{"id":43527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43526,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"4772:18:77","nodeType":"VariableDeclaration","scope":43534,"src":"4764:26:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43525,"name":"uint256","nodeType":"ElementaryTypeName","src":"4764:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4763:28:77"},"returnParameters":{"id":43528,"nodeType":"ParameterList","parameters":[],"src":"4807:0:77"},"scope":44077,"src":"4736:121:77","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":43558,"nodeType":"Block","src":"5045:193:77","statements":[{"assignments":[43542],"declarations":[{"constant":false,"id":43542,"mutability":"mutable","name":"$","nameLocation":"5085:1:77","nodeType":"VariableDeclaration","scope":43558,"src":"5051:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43541,"nodeType":"UserDefinedTypeName","pathNode":{"id":43540,"name":"RoundVotesCountingStorage","nameLocations":["5051:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"5051:25:77"},"referencedDeclaration":43460,"src":"5051:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":43545,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43543,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"5089:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":43544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5089:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5051:69:77"},{"eventCall":{"arguments":[{"expression":{"id":43547,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43542,"src":"5151:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43548,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5153:15:77","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":43459,"src":"5151:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43549,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43537,"src":"5170:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43546,"name":"VotingThresholdSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43477,"src":"5132:18:77","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":43550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5132:57:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43551,"nodeType":"EmitStatement","src":"5127:62:77"},{"expression":{"id":43556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":43552,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43542,"src":"5195:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43554,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5197:15:77","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":43459,"src":"5195:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":43555,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43537,"src":"5215:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5195:38:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43557,"nodeType":"ExpressionStatement","src":"5195:38:77"}]},"documentation":{"id":43535,"nodeType":"StructuredDocumentation","src":"4861:107:77","text":" @dev Internal setter for the voting threshold.\n Emits a {VotingThresholdSet} event."},"id":43559,"implemented":true,"kind":"function","modifiers":[],"name":"_setVotingThreshold","nameLocation":"4980:19:77","nodeType":"FunctionDefinition","parameters":{"id":43538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43537,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"5008:18:77","nodeType":"VariableDeclaration","scope":43559,"src":"5000:26:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43536,"name":"uint256","nodeType":"ElementaryTypeName","src":"5000:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4999:28:77"},"returnParameters":{"id":43539,"nodeType":"ParameterList","parameters":[],"src":"5045:0:77"},"scope":44077,"src":"4971:267:77","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[42363],"body":{"id":43834,"nodeType":"Block","src":"6682:3992:77","statements":[{"condition":{"arguments":[{"id":43575,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"6701:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43576,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43564,"src":"6710:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":43574,"name":"hasVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44022,"src":"6692:8:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":43577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6692:24:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43583,"nodeType":"IfStatement","src":"6688:82:77","trueBody":{"id":43582,"nodeType":"Block","src":"6718:52:77","statements":[{"errorCall":{"arguments":[{"id":43579,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43564,"src":"6757:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":43578,"name":"GovernorAlreadyCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41580,"src":"6733:23:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":43580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6733:30:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43581,"nodeType":"RevertStatement","src":"6726:37:77"}]}},{"assignments":[43586],"declarations":[{"constant":false,"id":43586,"mutability":"mutable","name":"$","nameLocation":"6810:1:77","nodeType":"VariableDeclaration","scope":43834,"src":"6776:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43585,"nodeType":"UserDefinedTypeName","pathNode":{"id":43584,"name":"RoundVotesCountingStorage","nameLocations":["6776:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"6776:25:77"},"referencedDeclaration":43460,"src":"6776:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":43589,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43587,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"6814:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":43588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6814:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6776:69:77"},{"assignments":[43591],"declarations":[{"constant":false,"id":43591,"mutability":"mutable","name":"roundStart","nameLocation":"6894:10:77","nodeType":"VariableDeclaration","scope":43834,"src":"6886:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43590,"name":"uint256","nodeType":"ElementaryTypeName","src":"6886:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43595,"initialValue":{"arguments":[{"id":43593,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"6921:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43592,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42445,"src":"6907:13:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":43594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6907:22:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6886:43:77"},{"assignments":[43597],"declarations":[{"constant":false,"id":43597,"mutability":"mutable","name":"totalWeight","nameLocation":"7003:11:77","nodeType":"VariableDeclaration","scope":43834,"src":"6995:19:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43596,"name":"uint256","nodeType":"ElementaryTypeName","src":"6995:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43598,"nodeType":"VariableDeclarationStatement","src":"6995:19:77"},{"assignments":[43600],"declarations":[{"constant":false,"id":43600,"mutability":"mutable","name":"totalQFVotesAdjustment","nameLocation":"7113:22:77","nodeType":"VariableDeclaration","scope":43834,"src":"7105:30:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43599,"name":"uint256","nodeType":"ElementaryTypeName","src":"7105:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43601,"nodeType":"VariableDeclarationStatement","src":"7105:30:77"},{"assignments":[43603],"declarations":[{"constant":false,"id":43603,"mutability":"mutable","name":"voterAvailableVotes","nameLocation":"7334:19:77","nodeType":"VariableDeclaration","scope":43834,"src":"7326:27:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43602,"name":"uint256","nodeType":"ElementaryTypeName","src":"7326:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43608,"initialValue":{"arguments":[{"id":43605,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43564,"src":"7372:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43606,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43591,"src":"7379:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43604,"name":"_getVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43863,"src":"7356:15:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) returns (uint256)"}},"id":43607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7356:34:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7326:64:77"},{"body":{"id":43749,"nodeType":"Block","src":"7536:1898:77","statements":[{"body":{"id":43640,"nodeType":"Block","src":"7625:90:77","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":43634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":43628,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43567,"src":"7639:4:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":43630,"indexExpression":{"id":43629,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"7644:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7639:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":43631,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43567,"src":"7650:4:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":43633,"indexExpression":{"id":43632,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43620,"src":"7655:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7650:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7639:18:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43639,"nodeType":"IfStatement","src":"7635:72:77","trueBody":{"id":43638,"nodeType":"Block","src":"7659:48:77","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":43635,"name":"DuplicateAppVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43480,"src":"7678:16:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":43636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7678:18:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43637,"nodeType":"RevertStatement","src":"7671:25:77"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43622,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43620,"src":"7613:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":43623,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"7617:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7613:5:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43641,"initializationExpression":{"assignments":[43620],"declarations":[{"constant":false,"id":43620,"mutability":"mutable","name":"j","nameLocation":"7610:1:77","nodeType":"VariableDeclaration","scope":43641,"src":"7602:9:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43619,"name":"uint256","nodeType":"ElementaryTypeName","src":"7602:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43621,"nodeType":"VariableDeclarationStatement","src":"7602:9:77"},"loopExpression":{"expression":{"id":43626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7620:3:77","subExpression":{"id":43625,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43620,"src":"7620:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43627,"nodeType":"ExpressionStatement","src":"7620:3:77"},"nodeType":"ForStatement","src":"7597:118:77"},{"expression":{"id":43646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43642,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43597,"src":"7723:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"id":43643,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43570,"src":"7738:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43645,"indexExpression":{"id":43644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"7746:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7738:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7723:25:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43647,"nodeType":"ExpressionStatement","src":"7723:25:77"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43648,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43597,"src":"7761:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":43649,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43603,"src":"7775:19:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7761:33:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43655,"nodeType":"IfStatement","src":"7757:98:77","trueBody":{"id":43654,"nodeType":"Block","src":"7796:59:77","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":43651,"name":"GovernorInsufficientVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41620,"src":"7813:31:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":43652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7813:33:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43653,"nodeType":"RevertStatement","src":"7806:40:77"}]}},{"condition":{"id":43662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7936:36:77","subExpression":{"arguments":[{"baseExpression":{"id":43657,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43567,"src":"7955:4:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":43659,"indexExpression":{"id":43658,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"7960:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7955:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":43660,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"7964:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43656,"name":"isEligibleForVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42329,"src":"7937:17:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$","typeString":"function (bytes32,uint256) view returns (bool)"}},"id":43661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7937:35:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43670,"nodeType":"IfStatement","src":"7932:109:77","trueBody":{"id":43669,"nodeType":"Block","src":"7974:67:77","statements":[{"errorCall":{"arguments":[{"baseExpression":{"id":43664,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43567,"src":"8024:4:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":43666,"indexExpression":{"id":43665,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"8029:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8024:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":43663,"name":"GovernorAppNotAvailableForVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41610,"src":"7991:32:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":43667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7991:41:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43668,"nodeType":"RevertStatement","src":"7984:48:77"}]}},{"assignments":[43672],"declarations":[{"constant":false,"id":43672,"mutability":"mutable","name":"qfAppVotesPreVote","nameLocation":"8148:17:77","nodeType":"VariableDeclaration","scope":43749,"src":"8140:25:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43671,"name":"uint256","nodeType":"ElementaryTypeName","src":"8140:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43682,"initialValue":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":43673,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"8168:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8170:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"8168:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43676,"indexExpression":{"id":43675,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"8182:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8168:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8191:15:77","memberName":"votesReceivedQF","nodeType":"MemberAccess","referencedDeclaration":43436,"src":"8168:38:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":43681,"indexExpression":{"baseExpression":{"id":43678,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43567,"src":"8207:4:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":43680,"indexExpression":{"id":43679,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"8212:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8207:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8168:47:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8140:75:77"},{"assignments":[43684],"declarations":[{"constant":false,"id":43684,"mutability":"mutable","name":"newQFVotes","nameLocation":"8541:10:77","nodeType":"VariableDeclaration","scope":43749,"src":"8533:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43683,"name":"uint256","nodeType":"ElementaryTypeName","src":"8533:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43702,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":43685,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43570,"src":"8554:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43687,"indexExpression":{"id":43686,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"8562:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8554:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":43688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8567:4:77","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"8554:17:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":43696,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43570,"src":"8598:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43698,"indexExpression":{"id":43697,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"8606:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8598:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"316539","id":43699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8611:3:77","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"8598:16:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8554:60:77","trueExpression":{"arguments":[{"baseExpression":{"id":43692,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43570,"src":"8584:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43694,"indexExpression":{"id":43693,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"8592:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8584:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43690,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"8574:4:77","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":43691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8579:4:77","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"8574:9:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":43695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8574:21:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8533:81:77"},{"assignments":[43704],"declarations":[{"constant":false,"id":43704,"mutability":"mutable","name":"qfAppVotesPostVote","nameLocation":"8645:18:77","nodeType":"VariableDeclaration","scope":43749,"src":"8637:26:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43703,"name":"uint256","nodeType":"ElementaryTypeName","src":"8637:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43708,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43705,"name":"qfAppVotesPreVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43672,"src":"8666:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":43706,"name":"newQFVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43684,"src":"8686:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8666:30:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8637:59:77"},{"expression":{"id":43719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43709,"name":"totalQFVotesAdjustment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43600,"src":"8877:22:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43710,"name":"qfAppVotesPostVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43704,"src":"8904:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":43711,"name":"qfAppVotesPostVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43704,"src":"8925:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8904:39:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":43713,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8903:41:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43714,"name":"qfAppVotesPreVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43672,"src":"8948:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":43715,"name":"qfAppVotesPreVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43672,"src":"8968:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8948:37:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":43717,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8947:39:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8903:83:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8877:109:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43720,"nodeType":"ExpressionStatement","src":"8877:109:77"},{"expression":{"id":43732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":43721,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"9195:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9197:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"9195:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43725,"indexExpression":{"id":43723,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"9209:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9195:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9218:15:77","memberName":"votesReceivedQF","nodeType":"MemberAccess","referencedDeclaration":43436,"src":"9195:38:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":43730,"indexExpression":{"baseExpression":{"id":43727,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43567,"src":"9234:4:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":43729,"indexExpression":{"id":43728,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"9239:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9234:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9195:47:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":43731,"name":"qfAppVotesPostVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43704,"src":"9245:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9195:68:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43733,"nodeType":"ExpressionStatement","src":"9195:68:77"},{"expression":{"id":43747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":43734,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"9345:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9347:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"9345:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43738,"indexExpression":{"id":43736,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"9359:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9345:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9368:13:77","memberName":"votesReceived","nodeType":"MemberAccess","referencedDeclaration":43432,"src":"9345:36:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":43743,"indexExpression":{"baseExpression":{"id":43740,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43567,"src":"9382:4:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":43742,"indexExpression":{"id":43741,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"9387:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9382:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9345:45:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"id":43744,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43570,"src":"9394:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43746,"indexExpression":{"id":43745,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"9402:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9394:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9345:59:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43748,"nodeType":"ExpressionStatement","src":"9345:59:77"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43612,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"7514:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":43613,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43567,"src":"7518:4:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":43614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7523:6:77","memberName":"length","nodeType":"MemberAccess","src":"7518:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7514:15:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43750,"initializationExpression":{"assignments":[43610],"declarations":[{"constant":false,"id":43610,"mutability":"mutable","name":"i","nameLocation":"7511:1:77","nodeType":"VariableDeclaration","scope":43750,"src":"7503:9:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43609,"name":"uint256","nodeType":"ElementaryTypeName","src":"7503:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43611,"nodeType":"VariableDeclarationStatement","src":"7503:9:77"},"loopExpression":{"expression":{"id":43617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7531:3:77","subExpression":{"id":43616,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"7531:1:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43618,"nodeType":"ExpressionStatement","src":"7531:3:77"},"nodeType":"ForStatement","src":"7498:1936:77"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43751,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43597,"src":"9541:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":43752,"name":"votingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43997,"src":"9555:15:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":43753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9555:17:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9541:31:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43762,"nodeType":"IfStatement","src":"9537:120:77","trueBody":{"id":43761,"nodeType":"Block","src":"9574:83:77","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":43756,"name":"votingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43997,"src":"9619:15:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":43757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9619:17:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43758,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43597,"src":"9638:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43755,"name":"GovernorVotingThresholdNotMet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41617,"src":"9589:29:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9589:61:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43760,"nodeType":"RevertStatement","src":"9582:68:77"}]}},{"expression":{"id":43770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":43763,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"9708:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9710:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"9708:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43767,"indexExpression":{"id":43765,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"9722:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9708:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43768,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9731:12:77","memberName":"totalVotesQF","nodeType":"MemberAccess","referencedDeclaration":43440,"src":"9708:35:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":43769,"name":"totalQFVotesAdjustment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43600,"src":"9747:22:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9708:61:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43771,"nodeType":"ExpressionStatement","src":"9708:61:77"},{"expression":{"id":43779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":43772,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"9960:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43775,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9962:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"9960:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43776,"indexExpression":{"id":43774,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"9974:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9960:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43777,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9983:10:77","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":43438,"src":"9960:33:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":43778,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43597,"src":"9997:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9960:48:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43780,"nodeType":"ExpressionStatement","src":"9960:48:77"},{"expression":{"id":43790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":43781,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"10059:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10061:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"10059:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43785,"indexExpression":{"id":43783,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"10073:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10059:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10082:8:77","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":43444,"src":"10059:31:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":43788,"indexExpression":{"id":43787,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43564,"src":"10091:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10059:38:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":43789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10100:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"10059:45:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43791,"nodeType":"ExpressionStatement","src":"10059:45:77"},{"expression":{"id":43798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10144:36:77","subExpression":{"expression":{"baseExpression":{"expression":{"id":43792,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"10144:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10146:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"10144:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43796,"indexExpression":{"id":43794,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"10158:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10144:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10167:11:77","memberName":"totalVoters","nodeType":"MemberAccess","referencedDeclaration":43446,"src":"10144:34:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43799,"nodeType":"ExpressionStatement","src":"10144:36:77"},{"condition":{"id":43804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10283:23:77","subExpression":{"baseExpression":{"expression":{"id":43800,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"10284:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10286:13:77","memberName":"_hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":43452,"src":"10284:15:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":43803,"indexExpression":{"id":43802,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43564,"src":"10300:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10284:22:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43814,"nodeType":"IfStatement","src":"10279:73:77","trueBody":{"id":43813,"nodeType":"Block","src":"10308:44:77","statements":[{"expression":{"id":43811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":43805,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"10316:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43808,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10318:13:77","memberName":"_hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":43452,"src":"10316:15:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":43809,"indexExpression":{"id":43807,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43564,"src":"10332:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10316:22:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":43810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10341:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"10316:29:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43812,"nodeType":"ExpressionStatement","src":"10316:29:77"}]}},{"expression":{"arguments":[{"id":43818,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43591,"src":"10512:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43819,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43564,"src":"10524:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43820,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43597,"src":"10531:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":43823,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43597,"src":"10554:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43821,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"10544:4:77","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":43822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10549:4:77","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"10544:9:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":43824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10544:22:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":43815,"name":"voterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42493,"src":"10484:12:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IVoterRewards_$69092_$","typeString":"function () view returns (contract IVoterRewards)"}},"id":43816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10484:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":43817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10499:12:77","memberName":"registerVote","nodeType":"MemberAccess","referencedDeclaration":68931,"src":"10484:27:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256,uint256) external"}},"id":43825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10484:83:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43826,"nodeType":"ExpressionStatement","src":"10484:83:77"},{"eventCall":{"arguments":[{"id":43828,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43564,"src":"10639:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43829,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43562,"src":"10646:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43830,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43567,"src":"10655:4:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":43831,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43570,"src":"10661:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":43827,"name":"AllocationVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41659,"src":"10620:18:77","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory)"}},"id":43832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10620:49:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43833,"nodeType":"EmitStatement","src":"10615:54:77"}]},"documentation":{"id":43560,"nodeType":"StructuredDocumentation","src":"5242:1289:77","text":" @dev Counts votes for a given round of voting, applying quadratic funding principles.\n Allows a voter to allocate weights to various applications (apps) for a specific voting round,\n ensuring each voter votes only once per round to prevent double voting.\n Quadratic funding is used to calculate the impact of each vote. For each app, the square root of the \n individual vote's weight is computed and added to the total sum of square roots for that app.\n After updating with each vote, this sum of square roots is squared to determine the total quadratic funding votes for the app. \n This method aims to democratize the voting process by amplifying the influence of a larger number of smaller votes.\n Requirements:\n - The voter must not have voted in this round already.\n - The total voting weight allocated by the voter must not exceed the voter's available voting power.\n - Each app voted on must be eligible for votes in the current round.\n @param roundId The identifier of the current voting round.\n @param voter The address of the voter casting the votes.\n @param apps An array of app identifiers that the voter is allocating votes to.\n @param weights An array of vote weights corresponding to each app."},"id":43835,"implemented":true,"kind":"function","modifiers":[],"name":"_countVote","nameLocation":"6544:10:77","nodeType":"FunctionDefinition","overrides":{"id":43572,"nodeType":"OverrideSpecifier","overrides":[],"src":"6673:8:77"},"parameters":{"id":43571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43562,"mutability":"mutable","name":"roundId","nameLocation":"6568:7:77","nodeType":"VariableDeclaration","scope":43835,"src":"6560:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43561,"name":"uint256","nodeType":"ElementaryTypeName","src":"6560:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43564,"mutability":"mutable","name":"voter","nameLocation":"6589:5:77","nodeType":"VariableDeclaration","scope":43835,"src":"6581:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43563,"name":"address","nodeType":"ElementaryTypeName","src":"6581:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43567,"mutability":"mutable","name":"apps","nameLocation":"6617:4:77","nodeType":"VariableDeclaration","scope":43835,"src":"6600:21:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":43565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6600:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":43566,"nodeType":"ArrayTypeName","src":"6600:9:77","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":43570,"mutability":"mutable","name":"weights","nameLocation":"6644:7:77","nodeType":"VariableDeclaration","scope":43835,"src":"6627:24:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":43568,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43569,"nodeType":"ArrayTypeName","src":"6627:9:77","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6554:101:77"},"returnParameters":{"id":43573,"nodeType":"ParameterList","parameters":[],"src":"6682:0:77"},"scope":44077,"src":"6535:4139:77","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":43862,"nodeType":"Block","src":"10773:221:77","statements":[{"assignments":[43845],"declarations":[{"constant":false,"id":43845,"mutability":"mutable","name":"voterAvailableVotesWithDeposit","nameLocation":"10787:30:77","nodeType":"VariableDeclaration","scope":43862,"src":"10779:38:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43844,"name":"uint256","nodeType":"ElementaryTypeName","src":"10779:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43850,"initialValue":{"arguments":[{"id":43847,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43837,"src":"10842:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43848,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43839,"src":"10849:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43846,"name":"getDepositVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42518,"src":"10820:21:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":43849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10820:40:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10779:81:77"},{"assignments":[43852],"declarations":[{"constant":false,"id":43852,"mutability":"mutable","name":"voterAvailableVotes","nameLocation":"10874:19:77","nodeType":"VariableDeclaration","scope":43862,"src":"10866:27:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43851,"name":"uint256","nodeType":"ElementaryTypeName","src":"10866:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43859,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":43854,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43837,"src":"10905:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43855,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43839,"src":"10912:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43853,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42309,"src":"10896:8:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":43856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10896:27:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":43857,"name":"voterAvailableVotesWithDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43845,"src":"10926:30:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10896:60:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10866:90:77"},{"expression":{"id":43860,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43852,"src":"10970:19:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43843,"id":43861,"nodeType":"Return","src":"10963:26:77"}]},"id":43863,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotingPower","nameLocation":"10687:15:77","nodeType":"FunctionDefinition","parameters":{"id":43840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43837,"mutability":"mutable","name":"voter","nameLocation":"10711:5:77","nodeType":"VariableDeclaration","scope":43863,"src":"10703:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43836,"name":"address","nodeType":"ElementaryTypeName","src":"10703:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43839,"mutability":"mutable","name":"roundStart","nameLocation":"10726:10:77","nodeType":"VariableDeclaration","scope":43863,"src":"10718:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43838,"name":"uint256","nodeType":"ElementaryTypeName","src":"10718:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10702:35:77"},"returnParameters":{"id":43843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43842,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43863,"src":"10764:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43841,"name":"uint256","nodeType":"ElementaryTypeName","src":"10764:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10763:9:77"},"scope":44077,"src":"10678:316:77","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[41768],"body":{"id":43888,"nodeType":"Block","src":"11176:134:77","statements":[{"assignments":[43876],"declarations":[{"constant":false,"id":43876,"mutability":"mutable","name":"$","nameLocation":"11216:1:77","nodeType":"VariableDeclaration","scope":43888,"src":"11182:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43875,"nodeType":"UserDefinedTypeName","pathNode":{"id":43874,"name":"RoundVotesCountingStorage","nameLocations":["11182:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"11182:25:77"},"referencedDeclaration":43460,"src":"11182:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":43879,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43877,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"11220:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":43878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11220:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11182:69:77"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":43880,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43876,"src":"11264:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11266:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"11264:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43883,"indexExpression":{"id":43882,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43866,"src":"11278:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11264:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11287:13:77","memberName":"votesReceived","nodeType":"MemberAccess","referencedDeclaration":43432,"src":"11264:36:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":43886,"indexExpression":{"id":43885,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43868,"src":"11301:3:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11264:41:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43873,"id":43887,"nodeType":"Return","src":"11257:48:77"}]},"documentation":{"id":43864,"nodeType":"StructuredDocumentation","src":"10998:85:77","text":" @dev Get the votes received by a specific application in a given round"},"functionSelector":"4bb5181a","id":43889,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotes","nameLocation":"11095:11:77","nodeType":"FunctionDefinition","overrides":{"id":43870,"nodeType":"OverrideSpecifier","overrides":[],"src":"11149:8:77"},"parameters":{"id":43869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43866,"mutability":"mutable","name":"roundId","nameLocation":"11115:7:77","nodeType":"VariableDeclaration","scope":43889,"src":"11107:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43865,"name":"uint256","nodeType":"ElementaryTypeName","src":"11107:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43868,"mutability":"mutable","name":"app","nameLocation":"11132:3:77","nodeType":"VariableDeclaration","scope":43889,"src":"11124:11:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11124:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11106:30:77"},"returnParameters":{"id":43873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43872,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43889,"src":"11167:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43871,"name":"uint256","nodeType":"ElementaryTypeName","src":"11167:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11166:9:77"},"scope":44077,"src":"11086:224:77","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[41778],"body":{"id":43914,"nodeType":"Block","src":"11512:136:77","statements":[{"assignments":[43902],"declarations":[{"constant":false,"id":43902,"mutability":"mutable","name":"$","nameLocation":"11552:1:77","nodeType":"VariableDeclaration","scope":43914,"src":"11518:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43901,"nodeType":"UserDefinedTypeName","pathNode":{"id":43900,"name":"RoundVotesCountingStorage","nameLocations":["11518:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"11518:25:77"},"referencedDeclaration":43460,"src":"11518:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":43905,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43903,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"11556:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":43904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11556:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11518:69:77"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":43906,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43902,"src":"11600:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43907,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11602:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"11600:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43909,"indexExpression":{"id":43908,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43892,"src":"11614:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11600:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11623:15:77","memberName":"votesReceivedQF","nodeType":"MemberAccess","referencedDeclaration":43436,"src":"11600:38:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":43912,"indexExpression":{"id":43911,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43894,"src":"11639:3:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11600:43:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43899,"id":43913,"nodeType":"Return","src":"11593:50:77"}]},"documentation":{"id":43890,"nodeType":"StructuredDocumentation","src":"11314:103:77","text":" @dev Get the quadratic funding votes received by a specific application in a given round"},"functionSelector":"bed73010","id":43915,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotesQF","nameLocation":"11429:13:77","nodeType":"FunctionDefinition","overrides":{"id":43896,"nodeType":"OverrideSpecifier","overrides":[],"src":"11485:8:77"},"parameters":{"id":43895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43892,"mutability":"mutable","name":"roundId","nameLocation":"11451:7:77","nodeType":"VariableDeclaration","scope":43915,"src":"11443:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43891,"name":"uint256","nodeType":"ElementaryTypeName","src":"11443:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43894,"mutability":"mutable","name":"app","nameLocation":"11468:3:77","nodeType":"VariableDeclaration","scope":43915,"src":"11460:11:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11460:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11442:30:77"},"returnParameters":{"id":43899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43898,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43915,"src":"11503:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43897,"name":"uint256","nodeType":"ElementaryTypeName","src":"11503:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11502:9:77"},"scope":44077,"src":"11420:228:77","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[41786],"body":{"id":43936,"nodeType":"Block","src":"11812:128:77","statements":[{"assignments":[43926],"declarations":[{"constant":false,"id":43926,"mutability":"mutable","name":"$","nameLocation":"11852:1:77","nodeType":"VariableDeclaration","scope":43936,"src":"11818:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43925,"nodeType":"UserDefinedTypeName","pathNode":{"id":43924,"name":"RoundVotesCountingStorage","nameLocations":["11818:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"11818:25:77"},"referencedDeclaration":43460,"src":"11818:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":43929,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43927,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"11856:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":43928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11856:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11818:69:77"},{"expression":{"expression":{"baseExpression":{"expression":{"id":43930,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43926,"src":"11900:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11902:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"11900:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43933,"indexExpression":{"id":43932,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43918,"src":"11914:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11900:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11923:12:77","memberName":"totalVotesQF","nodeType":"MemberAccess","referencedDeclaration":43440,"src":"11900:35:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43923,"id":43935,"nodeType":"Return","src":"11893:42:77"}]},"documentation":{"id":43916,"nodeType":"StructuredDocumentation","src":"11652:79:77","text":" @dev Get the total quadratic funding votes cast in a given round"},"functionSelector":"fb03ec6f","id":43937,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotesQF","nameLocation":"11743:12:77","nodeType":"FunctionDefinition","overrides":{"id":43920,"nodeType":"OverrideSpecifier","overrides":[],"src":"11785:8:77"},"parameters":{"id":43919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43918,"mutability":"mutable","name":"roundId","nameLocation":"11764:7:77","nodeType":"VariableDeclaration","scope":43937,"src":"11756:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43917,"name":"uint256","nodeType":"ElementaryTypeName","src":"11756:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11755:17:77"},"returnParameters":{"id":43923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43937,"src":"11803:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43921,"name":"uint256","nodeType":"ElementaryTypeName","src":"11803:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11802:9:77"},"scope":44077,"src":"11734:206:77","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[41750],"body":{"id":43958,"nodeType":"Block","src":"12084:126:77","statements":[{"assignments":[43948],"declarations":[{"constant":false,"id":43948,"mutability":"mutable","name":"$","nameLocation":"12124:1:77","nodeType":"VariableDeclaration","scope":43958,"src":"12090:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43947,"nodeType":"UserDefinedTypeName","pathNode":{"id":43946,"name":"RoundVotesCountingStorage","nameLocations":["12090:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"12090:25:77"},"referencedDeclaration":43460,"src":"12090:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":43951,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43949,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"12128:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":43950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12128:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12090:69:77"},{"expression":{"expression":{"baseExpression":{"expression":{"id":43952,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43948,"src":"12172:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12174:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"12172:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43955,"indexExpression":{"id":43954,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43940,"src":"12186:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12172:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12195:10:77","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":43438,"src":"12172:33:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43945,"id":43957,"nodeType":"Return","src":"12165:40:77"}]},"documentation":{"id":43938,"nodeType":"StructuredDocumentation","src":"11944:61:77","text":" @dev Get the total votes cast in a given round"},"functionSelector":"19e6e158","id":43959,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotes","nameLocation":"12017:10:77","nodeType":"FunctionDefinition","overrides":{"id":43942,"nodeType":"OverrideSpecifier","overrides":[],"src":"12057:8:77"},"parameters":{"id":43941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43940,"mutability":"mutable","name":"roundId","nameLocation":"12036:7:77","nodeType":"VariableDeclaration","scope":43959,"src":"12028:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43939,"name":"uint256","nodeType":"ElementaryTypeName","src":"12028:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12027:17:77"},"returnParameters":{"id":43945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43944,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43959,"src":"12075:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43943,"name":"uint256","nodeType":"ElementaryTypeName","src":"12075:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12074:9:77"},"scope":44077,"src":"12008:202:77","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[41758],"body":{"id":43980,"nodeType":"Block","src":"12361:127:77","statements":[{"assignments":[43970],"declarations":[{"constant":false,"id":43970,"mutability":"mutable","name":"$","nameLocation":"12401:1:77","nodeType":"VariableDeclaration","scope":43980,"src":"12367:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43969,"nodeType":"UserDefinedTypeName","pathNode":{"id":43968,"name":"RoundVotesCountingStorage","nameLocations":["12367:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"12367:25:77"},"referencedDeclaration":43460,"src":"12367:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":43973,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43971,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"12405:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":43972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12405:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12367:69:77"},{"expression":{"expression":{"baseExpression":{"expression":{"id":43974,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43970,"src":"12449:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12451:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"12449:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":43977,"indexExpression":{"id":43976,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43962,"src":"12463:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12449:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":43978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12472:11:77","memberName":"totalVoters","nodeType":"MemberAccess","referencedDeclaration":43446,"src":"12449:34:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43967,"id":43979,"nodeType":"Return","src":"12442:41:77"}]},"documentation":{"id":43960,"nodeType":"StructuredDocumentation","src":"12214:67:77","text":" @dev Get the total number of voters in a given round"},"functionSelector":"498d91bf","id":43981,"implemented":true,"kind":"function","modifiers":[],"name":"totalVoters","nameLocation":"12293:11:77","nodeType":"FunctionDefinition","overrides":{"id":43964,"nodeType":"OverrideSpecifier","overrides":[],"src":"12334:8:77"},"parameters":{"id":43963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43962,"mutability":"mutable","name":"roundId","nameLocation":"12313:7:77","nodeType":"VariableDeclaration","scope":43981,"src":"12305:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43961,"name":"uint256","nodeType":"ElementaryTypeName","src":"12305:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12304:17:77"},"returnParameters":{"id":43967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43981,"src":"12352:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43965,"name":"uint256","nodeType":"ElementaryTypeName","src":"12352:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12351:9:77"},"scope":44077,"src":"12284:204:77","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":43996,"nodeType":"Block","src":"12666:110:77","statements":[{"assignments":[43989],"declarations":[{"constant":false,"id":43989,"mutability":"mutable","name":"$","nameLocation":"12706:1:77","nodeType":"VariableDeclaration","scope":43996,"src":"12672:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":43988,"nodeType":"UserDefinedTypeName","pathNode":{"id":43987,"name":"RoundVotesCountingStorage","nameLocations":["12672:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"12672:25:77"},"referencedDeclaration":43460,"src":"12672:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":43992,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":43990,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"12710:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":43991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12710:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12672:69:77"},{"expression":{"expression":{"id":43993,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43989,"src":"12754:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":43994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12756:15:77","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":43459,"src":"12754:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43986,"id":43995,"nodeType":"Return","src":"12747:24:77"}]},"documentation":{"id":43982,"nodeType":"StructuredDocumentation","src":"12492:106:77","text":" @notice The voting threshold.\n @dev The minimum number of tokens needed to cast a vote."},"functionSelector":"62827733","id":43997,"implemented":true,"kind":"function","modifiers":[],"name":"votingThreshold","nameLocation":"12610:15:77","nodeType":"FunctionDefinition","parameters":{"id":43983,"nodeType":"ParameterList","parameters":[],"src":"12625:2:77"},"returnParameters":{"id":43986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43997,"src":"12657:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43984,"name":"uint256","nodeType":"ElementaryTypeName","src":"12657:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12656:9:77"},"scope":44077,"src":"12601:175:77","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41796],"body":{"id":44021,"nodeType":"Block","src":"12921:130:77","statements":[{"assignments":[44009],"declarations":[{"constant":false,"id":44009,"mutability":"mutable","name":"$","nameLocation":"12961:1:77","nodeType":"VariableDeclaration","scope":44021,"src":"12927:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":44008,"nodeType":"UserDefinedTypeName","pathNode":{"id":44007,"name":"RoundVotesCountingStorage","nameLocations":["12927:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"12927:25:77"},"referencedDeclaration":43460,"src":"12927:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":44012,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44010,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"12965:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":44011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12965:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12927:69:77"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":44013,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44009,"src":"13009:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":44014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13011:11:77","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":43457,"src":"13009:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$43447_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV7.RoundVote storage ref)"}},"id":44016,"indexExpression":{"id":44015,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44000,"src":"13023:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13009:22:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$43447_storage","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVote storage ref"}},"id":44017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13032:8:77","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":43444,"src":"13009:31:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":44019,"indexExpression":{"id":44018,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44002,"src":"13041:4:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13009:37:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":44006,"id":44020,"nodeType":"Return","src":"13002:44:77"}]},"documentation":{"id":43998,"nodeType":"StructuredDocumentation","src":"12780:62:77","text":" @dev Check if a user has voted in a given round"},"functionSelector":"43859632","id":44022,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"12854:8:77","nodeType":"FunctionDefinition","parameters":{"id":44003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44000,"mutability":"mutable","name":"roundId","nameLocation":"12871:7:77","nodeType":"VariableDeclaration","scope":44022,"src":"12863:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43999,"name":"uint256","nodeType":"ElementaryTypeName","src":"12863:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44002,"mutability":"mutable","name":"user","nameLocation":"12888:4:77","nodeType":"VariableDeclaration","scope":44022,"src":"12880:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44001,"name":"address","nodeType":"ElementaryTypeName","src":"12880:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12862:31:77"},"returnParameters":{"id":44006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44022,"src":"12915:4:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44004,"name":"bool","nodeType":"ElementaryTypeName","src":"12915:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12914:6:77"},"scope":44077,"src":"12845:206:77","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[42377],"body":{"id":44041,"nodeType":"Block","src":"13234:71:77","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":44033,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44025,"src":"13268:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44032,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42445,"src":"13254:13:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":44034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13254:22:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44031,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42437,"src":"13247:6:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":44035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13247:30:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"id":44037,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44025,"src":"13292:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44036,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43959,"src":"13281:10:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":44038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13281:19:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13247:53:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":44030,"id":44040,"nodeType":"Return","src":"13240:60:77"}]},"documentation":{"id":44023,"nodeType":"StructuredDocumentation","src":"13055:89:77","text":" @dev Internal function to check if the quorum is reached for a given round"},"id":44042,"implemented":true,"kind":"function","modifiers":[],"name":"_quorumReached","nameLocation":"13156:14:77","nodeType":"FunctionDefinition","overrides":{"id":44027,"nodeType":"OverrideSpecifier","overrides":[],"src":"13210:8:77"},"parameters":{"id":44026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44025,"mutability":"mutable","name":"roundId","nameLocation":"13179:7:77","nodeType":"VariableDeclaration","scope":44042,"src":"13171:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44024,"name":"uint256","nodeType":"ElementaryTypeName","src":"13171:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13170:17:77"},"returnParameters":{"id":44030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44029,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44042,"src":"13228:4:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44028,"name":"bool","nodeType":"ElementaryTypeName","src":"13228:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13227:6:77"},"scope":44077,"src":"13147:158:77","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[42385],"body":{"id":44055,"nodeType":"Block","src":"13485:88:77","statements":[{"expression":{"arguments":[{"id":44052,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44045,"src":"13560:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44051,"name":"_quorumReached","nodeType":"Identifier","overloadedDeclarations":[44042],"referencedDeclaration":44042,"src":"13545:14:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":44053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13545:23:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":44050,"id":44054,"nodeType":"Return","src":"13538:30:77"}]},"documentation":{"id":44043,"nodeType":"StructuredDocumentation","src":"13309:86:77","text":" @dev Internal function to check if the vote succeeded for a given round"},"id":44056,"implemented":true,"kind":"function","modifiers":[],"name":"_voteSucceeded","nameLocation":"13407:14:77","nodeType":"FunctionDefinition","overrides":{"id":44047,"nodeType":"OverrideSpecifier","overrides":[],"src":"13461:8:77"},"parameters":{"id":44046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44045,"mutability":"mutable","name":"roundId","nameLocation":"13430:7:77","nodeType":"VariableDeclaration","scope":44056,"src":"13422:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44044,"name":"uint256","nodeType":"ElementaryTypeName","src":"13422:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13421:17:77"},"returnParameters":{"id":44050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44056,"src":"13479:4:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44048,"name":"bool","nodeType":"ElementaryTypeName","src":"13479:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13478:6:77"},"scope":44077,"src":"13398:175:77","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[41883],"body":{"id":44075,"nodeType":"Block","src":"13738:114:77","statements":[{"assignments":[44066],"declarations":[{"constant":false,"id":44066,"mutability":"mutable","name":"$","nameLocation":"13778:1:77","nodeType":"VariableDeclaration","scope":44075,"src":"13744:35:77","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"},"typeName":{"id":44065,"nodeType":"UserDefinedTypeName","pathNode":{"id":44064,"name":"RoundVotesCountingStorage","nameLocations":["13744:25:77"],"nodeType":"IdentifierPath","referencedDeclaration":43460,"src":"13744:25:77"},"referencedDeclaration":43460,"src":"13744:25:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":44069,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44067,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43471,"src":"13782:29:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$43460_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer)"}},"id":44068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13782:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13744:69:77"},{"expression":{"baseExpression":{"expression":{"id":44070,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44066,"src":"13826:1:77","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$43460_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV7.RoundVotesCountingStorage storage pointer"}},"id":44071,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13828:13:77","memberName":"_hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":43452,"src":"13826:15:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":44073,"indexExpression":{"id":44072,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44059,"src":"13842:4:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13826:21:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":44063,"id":44074,"nodeType":"Return","src":"13819:28:77"}]},"documentation":{"id":44057,"nodeType":"StructuredDocumentation","src":"13577:95:77","text":" @dev Check if a user has voted at least once from the deployment of the contract"},"functionSelector":"9aeb962b","id":44076,"implemented":true,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"13684:12:77","nodeType":"FunctionDefinition","parameters":{"id":44060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44059,"mutability":"mutable","name":"user","nameLocation":"13705:4:77","nodeType":"VariableDeclaration","scope":44076,"src":"13697:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44058,"name":"address","nodeType":"ElementaryTypeName","src":"13697:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13696:14:77"},"returnParameters":{"id":44063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44076,"src":"13732:4:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44061,"name":"bool","nodeType":"ElementaryTypeName","src":"13732:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13731:6:77"},"scope":44077,"src":"13675:177:77","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":44078,"src":"1887:11967:77","usedErrors":[1495,1498,7025,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632,43480],"usedEvents":[1503,41646,41659,43477]}],"src":"1195:12660:77"},"id":77},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol","exportedSymbols":{"Initializable":[1732],"RoundsStorageUpgradeableV7":[44497],"SafeCast":[8770],"X2EarnAppsDataTypes":[71147],"XAllocationVotingGovernorV7":[42519]},"id":44498,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":44079,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:78"},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","file":"../XAllocationVotingGovernorV7.sol","id":44081,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44498,"sourceUnit":42520,"src":"1220:81:78","symbolAliases":[{"foreign":{"id":44080,"name":"XAllocationVotingGovernorV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42519,"src":"1229:27:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":44083,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44498,"sourceUnit":1733,"src":"1302:98:78","symbolAliases":[{"foreign":{"id":44082,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1311:13:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":44085,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44498,"sourceUnit":8771,"src":"1401:75:78","symbolAliases":[{"foreign":{"id":44084,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1410:8:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/libraries/X2EarnAppsDataTypes.sol","file":"../../../../libraries/X2EarnAppsDataTypes.sol","id":44087,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44498,"sourceUnit":71148,"src":"1477:84:78","symbolAliases":[{"foreign":{"id":44086,"name":"X2EarnAppsDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71147,"src":"1486:19:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":44089,"name":"Initializable","nameLocations":["1764:13:78"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1764:13:78"},"id":44090,"nodeType":"InheritanceSpecifier","src":"1764:13:78"},{"baseName":{"id":44091,"name":"XAllocationVotingGovernorV7","nameLocations":["1779:27:78"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"1779:27:78"},"id":44092,"nodeType":"InheritanceSpecifier","src":"1779:27:78"}],"canonicalName":"RoundsStorageUpgradeableV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":44088,"nodeType":"StructuredDocumentation","src":"1563:152:78","text":" @title RoundsStorageUpgradeableV7\n @dev Extension of {XAllocationVotingGovernor} for storing rounds data and managing the rounds lifecycle."},"fullyImplemented":false,"id":44497,"linearizedBaseContracts":[44497,42519,41900,4552,4332,5961,3987,1732],"name":"RoundsStorageUpgradeableV7","nameLocation":"1734:26:78","nodeType":"ContractDefinition","nodes":[{"canonicalName":"RoundsStorageUpgradeableV7.RoundCore","id":44099,"members":[{"constant":false,"id":44094,"mutability":"mutable","name":"proposer","nameLocation":"1842:8:78","nodeType":"VariableDeclaration","scope":44099,"src":"1834:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44093,"name":"address","nodeType":"ElementaryTypeName","src":"1834:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44096,"mutability":"mutable","name":"voteStart","nameLocation":"1863:9:78","nodeType":"VariableDeclaration","scope":44099,"src":"1856:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":44095,"name":"uint48","nodeType":"ElementaryTypeName","src":"1856:6:78","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":44098,"mutability":"mutable","name":"voteDuration","nameLocation":"1885:12:78","nodeType":"VariableDeclaration","scope":44099,"src":"1878:19:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":44097,"name":"uint32","nodeType":"ElementaryTypeName","src":"1878:6:78","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"name":"RoundCore","nameLocation":"1818:9:78","nodeType":"StructDefinition","scope":44497,"src":"1811:91:78","visibility":"public"},{"canonicalName":"RoundsStorageUpgradeableV7.RoundsStorageStorage","documentation":{"id":44100,"nodeType":"StructuredDocumentation","src":"1906:89:78","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.RoundsStorage"},"id":44113,"members":[{"constant":false,"id":44102,"mutability":"mutable","name":"_roundCount","nameLocation":"2040:11:78","nodeType":"VariableDeclaration","scope":44113,"src":"2032:19:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44101,"name":"uint256","nodeType":"ElementaryTypeName","src":"2032:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44107,"mutability":"mutable","name":"_rounds","nameLocation":"2170:7:78","nodeType":"VariableDeclaration","scope":44113,"src":"2132:45:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$44099_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV7.RoundCore)"},"typeName":{"id":44106,"keyName":"roundId","keyNameLocation":"2148:7:78","keyType":{"id":44103,"name":"uint256","nodeType":"ElementaryTypeName","src":"2140:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2132:37:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$44099_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV7.RoundCore)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":44105,"nodeType":"UserDefinedTypeName","pathNode":{"id":44104,"name":"RoundCore","nameLocations":["2159:9:78"],"nodeType":"IdentifierPath","referencedDeclaration":44099,"src":"2159:9:78"},"referencedDeclaration":44099,"src":"2159:9:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundCore"}}},"visibility":"internal"},{"constant":false,"id":44112,"mutability":"mutable","name":"_appsEligibleForVoting","nameLocation":"2256:22:78","nodeType":"VariableDeclaration","scope":44113,"src":"2218:60:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[])"},"typeName":{"id":44111,"keyName":"roundId","keyNameLocation":"2234:7:78","keyType":{"id":44108,"name":"uint256","nodeType":"ElementaryTypeName","src":"2226:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2218:37:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":44109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2245:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44110,"nodeType":"ArrayTypeName","src":"2245:9:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"visibility":"internal"}],"name":"RoundsStorageStorage","nameLocation":"2005:20:78","nodeType":"StructDefinition","scope":44497,"src":"1998:348:78","visibility":"public"},{"constant":true,"id":44116,"mutability":"constant","name":"RoundsStorageStorageLocation","nameLocation":"2508:28:78","nodeType":"VariableDeclaration","scope":44497,"src":"2483:126:78","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2483:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307830663532313063343763336262373363343731373730613163626235623764646330336330656338383636393463633137616532316431663539356631393030","id":44115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2543:66:78","typeDescriptions":{"typeIdentifier":"t_rational_6929689913235208558324634004230702343375600041120498433503329356232945244416_by_1","typeString":"int_const 6929...(68 digits omitted)...4416"},"value":"0x0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f1900"},"visibility":"private"},{"body":{"id":44123,"nodeType":"Block","src":"2705:71:78","statements":[{"AST":{"nodeType":"YulBlock","src":"2720:52:78","statements":[{"nodeType":"YulAssignment","src":"2728:38:78","value":{"name":"RoundsStorageStorageLocation","nodeType":"YulIdentifier","src":"2738:28:78"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2728:6:78"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":44120,"isOffset":false,"isSlot":true,"src":"2728:6:78","suffix":"slot","valueSize":1},{"declaration":44116,"isOffset":false,"isSlot":false,"src":"2738:28:78","valueSize":1}],"id":44122,"nodeType":"InlineAssembly","src":"2711:61:78"}]},"id":44124,"implemented":true,"kind":"function","modifiers":[],"name":"_getRoundsStorageStorage","nameLocation":"2623:24:78","nodeType":"FunctionDefinition","parameters":{"id":44117,"nodeType":"ParameterList","parameters":[],"src":"2647:2:78"},"returnParameters":{"id":44121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44120,"mutability":"mutable","name":"$","nameLocation":"2702:1:78","nodeType":"VariableDeclaration","scope":44124,"src":"2673:30:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"},"typeName":{"id":44119,"nodeType":"UserDefinedTypeName","pathNode":{"id":44118,"name":"RoundsStorageStorage","nameLocations":["2673:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":44113,"src":"2673:20:78"},"referencedDeclaration":44113,"src":"2673:20:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"}},"visibility":"internal"}],"src":"2672:32:78"},"scope":44497,"src":"2614:162:78","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44133,"nodeType":"Block","src":"2885:43:78","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":44130,"name":"__RoundsStorage_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44140,"src":"2891:30:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":44131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2891:32:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44132,"nodeType":"ExpressionStatement","src":"2891:32:78"}]},"documentation":{"id":44125,"nodeType":"StructuredDocumentation","src":"2780:44:78","text":" @dev Initializes the contract"},"id":44134,"implemented":true,"kind":"function","modifiers":[{"id":44128,"kind":"modifierInvocation","modifierName":{"id":44127,"name":"onlyInitializing","nameLocations":["2868:16:78"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2868:16:78"},"nodeType":"ModifierInvocation","src":"2868:16:78"}],"name":"__RoundsStorage_init","nameLocation":"2836:20:78","nodeType":"FunctionDefinition","parameters":{"id":44126,"nodeType":"ParameterList","parameters":[],"src":"2856:2:78"},"returnParameters":{"id":44129,"nodeType":"ParameterList","parameters":[],"src":"2885:0:78"},"scope":44497,"src":"2827:101:78","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":44139,"nodeType":"Block","src":"3000:2:78","statements":[]},"id":44140,"implemented":true,"kind":"function","modifiers":[{"id":44137,"kind":"modifierInvocation","modifierName":{"id":44136,"name":"onlyInitializing","nameLocations":["2983:16:78"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2983:16:78"},"nodeType":"ModifierInvocation","src":"2983:16:78"}],"name":"__RoundsStorage_init_unchained","nameLocation":"2941:30:78","nodeType":"FunctionDefinition","parameters":{"id":44135,"nodeType":"ParameterList","parameters":[],"src":"2971:2:78"},"returnParameters":{"id":44138,"nodeType":"ParameterList","parameters":[],"src":"3000:0:78"},"scope":44497,"src":"2932:70:78","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[42393],"body":{"id":44269,"nodeType":"Block","src":"3327:990:78","statements":[{"assignments":[44151],"declarations":[{"constant":false,"id":44151,"mutability":"mutable","name":"$","nameLocation":"3362:1:78","nodeType":"VariableDeclaration","scope":44269,"src":"3333:30:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"},"typeName":{"id":44150,"nodeType":"UserDefinedTypeName","pathNode":{"id":44149,"name":"RoundsStorageStorage","nameLocations":["3333:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":44113,"src":"3333:20:78"},"referencedDeclaration":44113,"src":"3333:20:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"}},"visibility":"internal"}],"id":44154,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44152,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44124,"src":"3366:24:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$44113_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer)"}},"id":44153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3366:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3333:59:78"},{"expression":{"id":44157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"3399:15:78","subExpression":{"expression":{"id":44155,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44151,"src":"3401:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3403:11:78","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":44102,"src":"3401:13:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44158,"nodeType":"ExpressionStatement","src":"3399:15:78"},{"expression":{"id":44162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44159,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"3420:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":44160,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44151,"src":"3430:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3432:11:78","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":44102,"src":"3430:13:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3420:23:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44163,"nodeType":"ExpressionStatement","src":"3420:23:78"},{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":44170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":44164,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44151,"src":"3453:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44165,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3455:7:78","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":44107,"src":"3453:9:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$44099_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV7.RoundCore storage ref)"}},"id":44167,"indexExpression":{"id":44166,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"3463:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3453:18:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage ref"}},"id":44168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3472:9:78","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":44096,"src":"3453:28:78","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":44169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3485:1:78","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3453:33:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44183,"nodeType":"IfStatement","src":"3449:126:78","trueBody":{"id":44182,"nodeType":"Block","src":"3488:87:78","statements":[{"errorCall":{"arguments":[{"id":44172,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"3532:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":44174,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"3547:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44173,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42279,"src":"3541:5:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$41575_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV7.RoundState)"}},"id":44175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3541:14:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"}},{"arguments":[{"hexValue":"30","id":44178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3565:1:78","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":44177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3557:7:78","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":44176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3557:7:78","typeDescriptions":{}}},"id":44179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3557:10:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RoundState_$41575","typeString":"enum IXAllocationVotingGovernorV7.RoundState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44171,"name":"GovernorUnexpectedRoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41600,"src":"3503:28:78","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_RoundState_$41575_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum IXAllocationVotingGovernorV7.RoundState,bytes32) pure"}},"id":44180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3503:65:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44181,"nodeType":"RevertStatement","src":"3496:72:78"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44184,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"3623:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":44185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3633:1:78","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3623:11:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44194,"nodeType":"IfStatement","src":"3619:95:78","trueBody":{"id":44193,"nodeType":"Block","src":"3636:78:78","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44188,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"3695:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":44189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3705:1:78","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3695:11:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44187,"name":"finalizeRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42411,"src":"3681:13:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":44191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3681:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44192,"nodeType":"ExpressionStatement","src":"3681:26:78"}]}},{"assignments":[44199],"declarations":[{"constant":false,"id":44199,"mutability":"mutable","name":"apps","nameLocation":"3780:4:78","nodeType":"VariableDeclaration","scope":44269,"src":"3763:21:78","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3763:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44198,"nodeType":"ArrayTypeName","src":"3763:9:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":44204,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":44200,"name":"x2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42472,"src":"3787:10:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IX2EarnApps_$69989_$","typeString":"function () view returns (contract IX2EarnApps)"}},"id":44201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3787:12:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":44202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3800:15:78","memberName":"allEligibleApps","nodeType":"MemberAccess","referencedDeclaration":69691,"src":"3787:28:78","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function () view external returns (bytes32[] memory)"}},"id":44203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3787:30:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3763:54:78"},{"expression":{"id":44211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":44205,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44151,"src":"3823:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3825:22:78","memberName":"_appsEligibleForVoting","nodeType":"MemberAccess","referencedDeclaration":44112,"src":"3823:24:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[] storage ref)"}},"id":44209,"indexExpression":{"id":44207,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"3848:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3823:33:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44210,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44199,"src":"3859:4:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"3823:40:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":44212,"nodeType":"ExpressionStatement","src":"3823:40:78"},{"expression":{"arguments":[{"id":44214,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"3896:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44213,"name":"_snapshotRoundEarningsCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42369,"src":"3870:25:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":44215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3870:34:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44216,"nodeType":"ExpressionStatement","src":"3870:34:78"},{"assignments":[44218],"declarations":[{"constant":false,"id":44218,"mutability":"mutable","name":"snapshot","nameLocation":"3919:8:78","nodeType":"VariableDeclaration","scope":44269,"src":"3911:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44217,"name":"uint256","nodeType":"ElementaryTypeName","src":"3911:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44221,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44219,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42417,"src":"3930:5:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":44220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3930:7:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"3911:26:78"},{"assignments":[44223],"declarations":[{"constant":false,"id":44223,"mutability":"mutable","name":"duration","nameLocation":"3951:8:78","nodeType":"VariableDeclaration","scope":44269,"src":"3943:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44222,"name":"uint256","nodeType":"ElementaryTypeName","src":"3943:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44226,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44224,"name":"votingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42429,"src":"3962:12:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":44225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3962:14:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3943:33:78"},{"assignments":[44229],"declarations":[{"constant":false,"id":44229,"mutability":"mutable","name":"round","nameLocation":"4001:5:78","nodeType":"VariableDeclaration","scope":44269,"src":"3983:23:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundCore"},"typeName":{"id":44228,"nodeType":"UserDefinedTypeName","pathNode":{"id":44227,"name":"RoundCore","nameLocations":["3983:9:78"],"nodeType":"IdentifierPath","referencedDeclaration":44099,"src":"3983:9:78"},"referencedDeclaration":44099,"src":"3983:9:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundCore"}},"visibility":"internal"}],"id":44234,"initialValue":{"baseExpression":{"expression":{"id":44230,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44151,"src":"4009:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44231,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4011:7:78","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":44107,"src":"4009:9:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$44099_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV7.RoundCore storage ref)"}},"id":44233,"indexExpression":{"id":44232,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"4019:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4009:18:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3983:44:78"},{"expression":{"id":44239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":44235,"name":"round","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44229,"src":"4033:5:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage pointer"}},"id":44237,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4039:8:78","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":44094,"src":"4033:14:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44238,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44143,"src":"4050:8:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4033:25:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":44240,"nodeType":"ExpressionStatement","src":"4033:25:78"},{"expression":{"id":44248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":44241,"name":"round","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44229,"src":"4064:5:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage pointer"}},"id":44243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4070:9:78","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":44096,"src":"4064:15:78","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":44246,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44218,"src":"4100:8:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44244,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4082:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":44245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4091:8:78","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"4082:17:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":44247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4082:27:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"4064:45:78","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":44249,"nodeType":"ExpressionStatement","src":"4064:45:78"},{"expression":{"id":44257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":44250,"name":"round","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44229,"src":"4115:5:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage pointer"}},"id":44252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4121:12:78","memberName":"voteDuration","nodeType":"MemberAccess","referencedDeclaration":44098,"src":"4115:18:78","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":44255,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44223,"src":"4154:8:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44253,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4136:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":44254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4145:8:78","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":7826,"src":"4136:17:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":44256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4136:27:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"4115:48:78","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":44258,"nodeType":"ExpressionStatement","src":"4115:48:78"},{"eventCall":{"arguments":[{"id":44260,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44147,"src":"4188:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44261,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44143,"src":"4197:8:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44262,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44218,"src":"4207:8:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44263,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44218,"src":"4217:8:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":44264,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44223,"src":"4228:8:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4217:19:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44266,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44199,"src":"4238:4:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":44259,"name":"RoundCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41646,"src":"4175:12:78","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address,uint256,uint256,bytes32[] memory)"}},"id":44267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4175:68:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44268,"nodeType":"EmitStatement","src":"4170:73:78"}]},"documentation":{"id":44141,"nodeType":"StructuredDocumentation","src":"3039:191:78","text":" @dev Internal function to start a new round\n @param proposer The address of the proposer\n @return roundId The id of the new round\n Emits a {RoundCreated} event"},"id":44270,"implemented":true,"kind":"function","modifiers":[],"name":"_startNewRound","nameLocation":"3242:14:78","nodeType":"FunctionDefinition","overrides":{"id":44145,"nodeType":"OverrideSpecifier","overrides":[],"src":"3292:8:78"},"parameters":{"id":44144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44143,"mutability":"mutable","name":"proposer","nameLocation":"3265:8:78","nodeType":"VariableDeclaration","scope":44270,"src":"3257:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44142,"name":"address","nodeType":"ElementaryTypeName","src":"3257:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3256:18:78"},"returnParameters":{"id":44148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44147,"mutability":"mutable","name":"roundId","nameLocation":"3318:7:78","nodeType":"VariableDeclaration","scope":44270,"src":"3310:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44146,"name":"uint256","nodeType":"ElementaryTypeName","src":"3310:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3309:17:78"},"scope":44497,"src":"3233:1084:78","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":44290,"nodeType":"Block","src":"4476:101:78","statements":[{"assignments":[44281],"declarations":[{"constant":false,"id":44281,"mutability":"mutable","name":"$","nameLocation":"4511:1:78","nodeType":"VariableDeclaration","scope":44290,"src":"4482:30:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"},"typeName":{"id":44280,"nodeType":"UserDefinedTypeName","pathNode":{"id":44279,"name":"RoundsStorageStorage","nameLocations":["4482:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":44113,"src":"4482:20:78"},"referencedDeclaration":44113,"src":"4482:20:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"}},"visibility":"internal"}],"id":44284,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44282,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44124,"src":"4515:24:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$44113_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer)"}},"id":44283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4515:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4482:59:78"},{"expression":{"baseExpression":{"expression":{"id":44285,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44281,"src":"4554:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4556:7:78","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":44107,"src":"4554:9:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$44099_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV7.RoundCore storage ref)"}},"id":44288,"indexExpression":{"id":44287,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44273,"src":"4564:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4554:18:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage ref"}},"functionReturnParameters":44278,"id":44289,"nodeType":"Return","src":"4547:25:78"}]},"documentation":{"id":44271,"nodeType":"StructuredDocumentation","src":"4354:43:78","text":" @dev Get the data of a round"},"functionSelector":"8f1327c0","id":44291,"implemented":true,"kind":"function","modifiers":[],"name":"getRound","nameLocation":"4409:8:78","nodeType":"FunctionDefinition","parameters":{"id":44274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44273,"mutability":"mutable","name":"roundId","nameLocation":"4426:7:78","nodeType":"VariableDeclaration","scope":44291,"src":"4418:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44272,"name":"uint256","nodeType":"ElementaryTypeName","src":"4418:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4417:17:78"},"returnParameters":{"id":44278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44277,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44291,"src":"4458:16:78","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_memory_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundCore"},"typeName":{"id":44276,"nodeType":"UserDefinedTypeName","pathNode":{"id":44275,"name":"RoundCore","nameLocations":["4458:9:78"],"nodeType":"IdentifierPath","referencedDeclaration":44099,"src":"4458:9:78"},"referencedDeclaration":44099,"src":"4458:9:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundCore"}},"visibility":"internal"}],"src":"4457:18:78"},"scope":44497,"src":"4400:177:78","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[42459],"body":{"id":44307,"nodeType":"Block","src":"4701:96:78","statements":[{"assignments":[44300],"declarations":[{"constant":false,"id":44300,"mutability":"mutable","name":"$","nameLocation":"4736:1:78","nodeType":"VariableDeclaration","scope":44307,"src":"4707:30:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"},"typeName":{"id":44299,"nodeType":"UserDefinedTypeName","pathNode":{"id":44298,"name":"RoundsStorageStorage","nameLocations":["4707:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":44113,"src":"4707:20:78"},"referencedDeclaration":44113,"src":"4707:20:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"}},"visibility":"internal"}],"id":44303,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44301,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44124,"src":"4740:24:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$44113_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer)"}},"id":44302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4740:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4707:59:78"},{"expression":{"expression":{"id":44304,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44300,"src":"4779:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44305,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4781:11:78","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":44102,"src":"4779:13:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44297,"id":44306,"nodeType":"Return","src":"4772:20:78"}]},"documentation":{"id":44292,"nodeType":"StructuredDocumentation","src":"4581:44:78","text":" @dev Get the current round id"},"functionSelector":"9cbe5efd","id":44308,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"4637:14:78","nodeType":"FunctionDefinition","overrides":{"id":44294,"nodeType":"OverrideSpecifier","overrides":[],"src":"4674:8:78"},"parameters":{"id":44293,"nodeType":"ParameterList","parameters":[],"src":"4651:2:78"},"returnParameters":{"id":44297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44296,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44308,"src":"4692:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44295,"name":"uint256","nodeType":"ElementaryTypeName","src":"4692:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4691:9:78"},"scope":44497,"src":"4628:169:78","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[42465],"body":{"id":44320,"nodeType":"Block","src":"4936:49:78","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":44316,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[44308],"referencedDeclaration":44308,"src":"4963:14:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":44317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4963:16:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44315,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[44355],"referencedDeclaration":44355,"src":"4949:13:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":44318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4949:31:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44314,"id":44319,"nodeType":"Return","src":"4942:38:78"}]},"documentation":{"id":44309,"nodeType":"StructuredDocumentation","src":"4801:53:78","text":" @dev Get the current round start block"},"functionSelector":"561b64ef","id":44321,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"4866:20:78","nodeType":"FunctionDefinition","overrides":{"id":44311,"nodeType":"OverrideSpecifier","overrides":[],"src":"4909:8:78"},"parameters":{"id":44310,"nodeType":"ParameterList","parameters":[],"src":"4886:2:78"},"returnParameters":{"id":44314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44313,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44321,"src":"4927:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44312,"name":"uint256","nodeType":"ElementaryTypeName","src":"4927:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4926:9:78"},"scope":44497,"src":"4857:128:78","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41832],"body":{"id":44332,"nodeType":"Block","src":"5118:49:78","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":44328,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[44308],"referencedDeclaration":44308,"src":"5145:14:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":44329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5145:16:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44327,"name":"roundDeadline","nodeType":"Identifier","overloadedDeclarations":[44383],"referencedDeclaration":44383,"src":"5131:13:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":44330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5131:31:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44326,"id":44331,"nodeType":"Return","src":"5124:38:78"}]},"documentation":{"id":44322,"nodeType":"StructuredDocumentation","src":"4989:56:78","text":" @dev Get the current round deadline block"},"functionSelector":"59372812","id":44333,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundDeadline","nameLocation":"5057:20:78","nodeType":"FunctionDefinition","parameters":{"id":44323,"nodeType":"ParameterList","parameters":[],"src":"5077:2:78"},"returnParameters":{"id":44326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44325,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44333,"src":"5109:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44324,"name":"uint256","nodeType":"ElementaryTypeName","src":"5109:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5108:9:78"},"scope":44497,"src":"5048:119:78","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[42445],"body":{"id":44354,"nodeType":"Block","src":"5311:111:78","statements":[{"assignments":[44344],"declarations":[{"constant":false,"id":44344,"mutability":"mutable","name":"$","nameLocation":"5346:1:78","nodeType":"VariableDeclaration","scope":44354,"src":"5317:30:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"},"typeName":{"id":44343,"nodeType":"UserDefinedTypeName","pathNode":{"id":44342,"name":"RoundsStorageStorage","nameLocations":["5317:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":44113,"src":"5317:20:78"},"referencedDeclaration":44113,"src":"5317:20:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"}},"visibility":"internal"}],"id":44347,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44345,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44124,"src":"5350:24:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$44113_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer)"}},"id":44346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5350:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5317:59:78"},{"expression":{"expression":{"baseExpression":{"expression":{"id":44348,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44344,"src":"5389:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5391:7:78","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":44107,"src":"5389:9:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$44099_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV7.RoundCore storage ref)"}},"id":44351,"indexExpression":{"id":44350,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44336,"src":"5399:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5389:18:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage ref"}},"id":44352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5408:9:78","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":44096,"src":"5389:28:78","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":44341,"id":44353,"nodeType":"Return","src":"5382:35:78"}]},"documentation":{"id":44334,"nodeType":"StructuredDocumentation","src":"5171:50:78","text":" @dev Get the start block of a round"},"functionSelector":"d06efeda","id":44355,"implemented":true,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"5233:13:78","nodeType":"FunctionDefinition","overrides":{"id":44338,"nodeType":"OverrideSpecifier","overrides":[],"src":"5284:8:78"},"parameters":{"id":44337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44336,"mutability":"mutable","name":"roundId","nameLocation":"5255:7:78","nodeType":"VariableDeclaration","scope":44355,"src":"5247:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44335,"name":"uint256","nodeType":"ElementaryTypeName","src":"5247:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5246:17:78"},"returnParameters":{"id":44341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44355,"src":"5302:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44339,"name":"uint256","nodeType":"ElementaryTypeName","src":"5302:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5301:9:78"},"scope":44497,"src":"5224:198:78","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[42453],"body":{"id":44382,"nodeType":"Block","src":"5569:145:78","statements":[{"assignments":[44366],"declarations":[{"constant":false,"id":44366,"mutability":"mutable","name":"$","nameLocation":"5604:1:78","nodeType":"VariableDeclaration","scope":44382,"src":"5575:30:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"},"typeName":{"id":44365,"nodeType":"UserDefinedTypeName","pathNode":{"id":44364,"name":"RoundsStorageStorage","nameLocations":["5575:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":44113,"src":"5575:20:78"},"referencedDeclaration":44113,"src":"5575:20:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"}},"visibility":"internal"}],"id":44369,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44367,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44124,"src":"5608:24:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$44113_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer)"}},"id":44368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5608:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5575:59:78"},{"expression":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":44380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":44370,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44366,"src":"5647:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44371,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5649:7:78","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":44107,"src":"5647:9:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$44099_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV7.RoundCore storage ref)"}},"id":44373,"indexExpression":{"id":44372,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44358,"src":"5657:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5647:18:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage ref"}},"id":44374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5666:9:78","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":44096,"src":"5647:28:78","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"baseExpression":{"expression":{"id":44375,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44366,"src":"5678:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5680:7:78","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":44107,"src":"5678:9:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$44099_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV7.RoundCore storage ref)"}},"id":44378,"indexExpression":{"id":44377,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44358,"src":"5688:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5678:18:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage ref"}},"id":44379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5697:12:78","memberName":"voteDuration","nodeType":"MemberAccess","referencedDeclaration":44098,"src":"5678:31:78","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"5647:62:78","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":44363,"id":44381,"nodeType":"Return","src":"5640:69:78"}]},"documentation":{"id":44356,"nodeType":"StructuredDocumentation","src":"5426:53:78","text":" @dev Get the deadline block of a round"},"functionSelector":"d3a368bd","id":44383,"implemented":true,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"5491:13:78","nodeType":"FunctionDefinition","overrides":{"id":44360,"nodeType":"OverrideSpecifier","overrides":[],"src":"5542:8:78"},"parameters":{"id":44359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44358,"mutability":"mutable","name":"roundId","nameLocation":"5513:7:78","nodeType":"VariableDeclaration","scope":44383,"src":"5505:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44357,"name":"uint256","nodeType":"ElementaryTypeName","src":"5505:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5504:17:78"},"returnParameters":{"id":44363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44362,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44383,"src":"5560:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44361,"name":"uint256","nodeType":"ElementaryTypeName","src":"5560:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5559:9:78"},"scope":44497,"src":"5482:232:78","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41710],"body":{"id":44403,"nodeType":"Block","src":"5846:110:78","statements":[{"assignments":[44393],"declarations":[{"constant":false,"id":44393,"mutability":"mutable","name":"$","nameLocation":"5881:1:78","nodeType":"VariableDeclaration","scope":44403,"src":"5852:30:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"},"typeName":{"id":44392,"nodeType":"UserDefinedTypeName","pathNode":{"id":44391,"name":"RoundsStorageStorage","nameLocations":["5852:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":44113,"src":"5852:20:78"},"referencedDeclaration":44113,"src":"5852:20:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"}},"visibility":"internal"}],"id":44396,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44394,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44124,"src":"5885:24:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$44113_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer)"}},"id":44395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5885:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5852:59:78"},{"expression":{"expression":{"baseExpression":{"expression":{"id":44397,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44393,"src":"5924:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5926:7:78","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":44107,"src":"5924:9:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$44099_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV7.RoundCore storage ref)"}},"id":44400,"indexExpression":{"id":44399,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44386,"src":"5934:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5924:18:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$44099_storage","typeString":"struct RoundsStorageUpgradeableV7.RoundCore storage ref"}},"id":44401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5943:8:78","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":44094,"src":"5924:27:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":44390,"id":44402,"nodeType":"Return","src":"5917:34:78"}]},"documentation":{"id":44384,"nodeType":"StructuredDocumentation","src":"5718:47:78","text":" @dev Get the proposer of a round"},"functionSelector":"5320a147","id":44404,"implemented":true,"kind":"function","modifiers":[],"name":"roundProposer","nameLocation":"5777:13:78","nodeType":"FunctionDefinition","parameters":{"id":44387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44386,"mutability":"mutable","name":"roundId","nameLocation":"5799:7:78","nodeType":"VariableDeclaration","scope":44404,"src":"5791:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44385,"name":"uint256","nodeType":"ElementaryTypeName","src":"5791:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5790:17:78"},"returnParameters":{"id":44390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44404,"src":"5837:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44388,"name":"address","nodeType":"ElementaryTypeName","src":"5837:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5836:9:78"},"scope":44497,"src":"5768:188:78","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[41849],"body":{"id":44425,"nodeType":"Block","src":"6128:116:78","statements":[{"assignments":[44416],"declarations":[{"constant":false,"id":44416,"mutability":"mutable","name":"$","nameLocation":"6163:1:78","nodeType":"VariableDeclaration","scope":44425,"src":"6134:30:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"},"typeName":{"id":44415,"nodeType":"UserDefinedTypeName","pathNode":{"id":44414,"name":"RoundsStorageStorage","nameLocations":["6134:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":44113,"src":"6134:20:78"},"referencedDeclaration":44113,"src":"6134:20:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"}},"visibility":"internal"}],"id":44419,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44417,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44124,"src":"6167:24:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$44113_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer)"}},"id":44418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6167:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6134:59:78"},{"expression":{"baseExpression":{"expression":{"id":44420,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44416,"src":"6206:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6208:22:78","memberName":"_appsEligibleForVoting","nodeType":"MemberAccess","referencedDeclaration":44112,"src":"6206:24:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[] storage ref)"}},"id":44423,"indexExpression":{"id":44422,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44407,"src":"6231:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6206:33:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"functionReturnParameters":44413,"id":44424,"nodeType":"Return","src":"6199:40:78"}]},"documentation":{"id":44405,"nodeType":"StructuredDocumentation","src":"5960:74:78","text":" @dev Get the ids of the apps eligible for voting in a round"},"functionSelector":"7ace2485","id":44426,"implemented":true,"kind":"function","modifiers":[],"name":"getAppIdsOfRound","nameLocation":"6046:16:78","nodeType":"FunctionDefinition","overrides":{"id":44409,"nodeType":"OverrideSpecifier","overrides":[],"src":"6092:8:78"},"parameters":{"id":44408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44407,"mutability":"mutable","name":"roundId","nameLocation":"6071:7:78","nodeType":"VariableDeclaration","scope":44426,"src":"6063:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44406,"name":"uint256","nodeType":"ElementaryTypeName","src":"6063:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6062:17:78"},"returnParameters":{"id":44413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44426,"src":"6110:16:78","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6110:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44411,"nodeType":"ArrayTypeName","src":"6110:9:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6109:18:78"},"scope":44497,"src":"6037:207:78","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":44495,"nodeType":"Block","src":"6640:438:78","statements":[{"assignments":[44438],"declarations":[{"constant":false,"id":44438,"mutability":"mutable","name":"$","nameLocation":"6675:1:78","nodeType":"VariableDeclaration","scope":44495,"src":"6646:30:78","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"},"typeName":{"id":44437,"nodeType":"UserDefinedTypeName","pathNode":{"id":44436,"name":"RoundsStorageStorage","nameLocations":["6646:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":44113,"src":"6646:20:78"},"referencedDeclaration":44113,"src":"6646:20:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage"}},"visibility":"internal"}],"id":44441,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44439,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44124,"src":"6679:24:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$44113_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer)"}},"id":44440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6679:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6646:59:78"},{"assignments":[44446],"declarations":[{"constant":false,"id":44446,"mutability":"mutable","name":"appsInRound","nameLocation":"6729:11:78","nodeType":"VariableDeclaration","scope":44495,"src":"6712:28:78","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6712:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44445,"nodeType":"ArrayTypeName","src":"6712:9:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":44451,"initialValue":{"baseExpression":{"expression":{"id":44447,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44438,"src":"6743:1:78","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$44113_storage_ptr","typeString":"struct RoundsStorageUpgradeableV7.RoundsStorageStorage storage pointer"}},"id":44448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6745:22:78","memberName":"_appsEligibleForVoting","nodeType":"MemberAccess","referencedDeclaration":44112,"src":"6743:24:78","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[] storage ref)"}},"id":44450,"indexExpression":{"id":44449,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44429,"src":"6768:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6743:33:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6712:64:78"},{"assignments":[44453],"declarations":[{"constant":false,"id":44453,"mutability":"mutable","name":"length","nameLocation":"6790:6:78","nodeType":"VariableDeclaration","scope":44495,"src":"6782:14:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44452,"name":"uint256","nodeType":"ElementaryTypeName","src":"6782:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44456,"initialValue":{"expression":{"id":44454,"name":"appsInRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44446,"src":"6799:11:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":44455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6811:6:78","memberName":"length","nodeType":"MemberAccess","src":"6799:18:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6782:35:78"},{"assignments":[44462],"declarations":[{"constant":false,"id":44462,"mutability":"mutable","name":"allApps","nameLocation":"6877:7:78","nodeType":"VariableDeclaration","scope":44495,"src":"6823:61:78","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":44460,"nodeType":"UserDefinedTypeName","pathNode":{"id":44459,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["6823:19:78","6843:24:78"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"6823:44:78"},"referencedDeclaration":71146,"src":"6823:44:78","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":44461,"nodeType":"ArrayTypeName","src":"6823:46:78","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"id":44469,"initialValue":{"arguments":[{"id":44467,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44453,"src":"6945:6:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6887:50:78","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory)"},"typeName":{"baseType":{"id":44464,"nodeType":"UserDefinedTypeName","pathNode":{"id":44463,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["6891:19:78","6911:24:78"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"6891:44:78"},"referencedDeclaration":71146,"src":"6891:44:78","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":44465,"nodeType":"ArrayTypeName","src":"6891:46:78","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}}},"id":44468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6887:70:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6823:134:78"},{"body":{"id":44491,"nodeType":"Block","src":"6994:60:78","statements":[{"expression":{"id":44489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44479,"name":"allApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44462,"src":"7002:7:78","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"id":44481,"indexExpression":{"id":44480,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44471,"src":"7010:1:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7002:10:78","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":44485,"name":"appsInRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44446,"src":"7032:11:78","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":44487,"indexExpression":{"id":44486,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44471,"src":"7044:1:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7032:14:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":44482,"name":"x2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42472,"src":"7015:10:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IX2EarnApps_$69989_$","typeString":"function () view returns (contract IX2EarnApps)"}},"id":44483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7015:12:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":44484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7028:3:78","memberName":"app","nodeType":"MemberAccess","referencedDeclaration":69489,"src":"7015:16:78","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$","typeString":"function (bytes32) view external returns (struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory)"}},"id":44488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7015:32:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory"}},"src":"7002:45:78","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory"}},"id":44490,"nodeType":"ExpressionStatement","src":"7002:45:78"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44473,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44471,"src":"6977:1:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44474,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44453,"src":"6981:6:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6977:10:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44492,"initializationExpression":{"assignments":[44471],"declarations":[{"constant":false,"id":44471,"mutability":"mutable","name":"i","nameLocation":"6974:1:78","nodeType":"VariableDeclaration","scope":44492,"src":"6969:6:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44470,"name":"uint","nodeType":"ElementaryTypeName","src":"6969:4:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44472,"nodeType":"VariableDeclarationStatement","src":"6969:6:78"},"loopExpression":{"expression":{"id":44477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6989:3:78","subExpression":{"id":44476,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44471,"src":"6989:1:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44478,"nodeType":"ExpressionStatement","src":"6989:3:78"},"nodeType":"ForStatement","src":"6964:90:78"},{"expression":{"id":44493,"name":"allApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44462,"src":"7066:7:78","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"functionReturnParameters":44435,"id":44494,"nodeType":"Return","src":"7059:14:78"}]},"documentation":{"id":44427,"nodeType":"StructuredDocumentation","src":"6248:262:78","text":" @dev Get all the apps in the form of {App} eligible for voting in a round\n @notice This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound}\n and then call {IX2EarnApps-app} for each app id"},"functionSelector":"291605f7","id":44496,"implemented":true,"kind":"function","modifiers":[],"name":"getAppsOfRound","nameLocation":"6522:14:78","nodeType":"FunctionDefinition","parameters":{"id":44430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44429,"mutability":"mutable","name":"roundId","nameLocation":"6550:7:78","nodeType":"VariableDeclaration","scope":44496,"src":"6542:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44428,"name":"uint256","nodeType":"ElementaryTypeName","src":"6542:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6536:25:78"},"returnParameters":{"id":44435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44434,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44496,"src":"6585:53:78","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":44432,"nodeType":"UserDefinedTypeName","pathNode":{"id":44431,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["6585:19:78","6605:24:78"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"6585:44:78"},"referencedDeclaration":71146,"src":"6585:44:78","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":44433,"nodeType":"ArrayTypeName","src":"6585:46:78","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"src":"6584:55:78"},"scope":44497,"src":"6513:565:78","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":44498,"src":"1716:5364:78","usedErrors":[1495,1498,7025,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632],"usedEvents":[1503,41646,41659]}],"src":"1195:5886:78"},"id":78},"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol","exportedSymbols":{"Checkpoints":[10447],"Initializable":[1732],"SafeCast":[8770],"VotesQuorumFractionUpgradeableV7":[44745],"VotesUpgradeableV7":[44908]},"id":44746,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":44499,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:79"},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol","file":"./VotesUpgradeableV7.sol","id":44501,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44746,"sourceUnit":44909,"src":"1220:62:79","symbolAliases":[{"foreign":{"id":44500,"name":"VotesUpgradeableV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44908,"src":"1229:18:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":44503,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44746,"sourceUnit":8771,"src":"1283:75:79","symbolAliases":[{"foreign":{"id":44502,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1292:8:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":44505,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44746,"sourceUnit":10448,"src":"1359:84:79","symbolAliases":[{"foreign":{"id":44504,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1368:11:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":44507,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44746,"sourceUnit":1733,"src":"1444:98:79","symbolAliases":[{"foreign":{"id":44506,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1453:13:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":44509,"name":"Initializable","nameLocations":["1815:13:79"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1815:13:79"},"id":44510,"nodeType":"InheritanceSpecifier","src":"1815:13:79"},{"baseName":{"id":44511,"name":"VotesUpgradeableV7","nameLocations":["1830:18:79"],"nodeType":"IdentifierPath","referencedDeclaration":44908,"src":"1830:18:79"},"id":44512,"nodeType":"InheritanceSpecifier","src":"1830:18:79"}],"canonicalName":"VotesQuorumFractionUpgradeableV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":44508,"nodeType":"StructuredDocumentation","src":"1544:216:79","text":" @title VotesQuorumFractionUpgradeableV7\n @dev Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a\n fraction of the total supply."},"fullyImplemented":false,"id":44745,"linearizedBaseContracts":[44745,44908,42519,41900,4552,4332,5961,3987,1732],"name":"VotesQuorumFractionUpgradeableV7","nameLocation":"1779:32:79","nodeType":"ContractDefinition","nodes":[{"global":false,"id":44516,"libraryName":{"id":44513,"name":"Checkpoints","nameLocations":["1859:11:79"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"1859:11:79"},"nodeType":"UsingForDirective","src":"1853:43:79","typeName":{"id":44515,"nodeType":"UserDefinedTypeName","pathNode":{"id":44514,"name":"Checkpoints.Trace208","nameLocations":["1875:11:79","1887:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"1875:20:79"},"referencedDeclaration":9409,"src":"1875:20:79","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"canonicalName":"VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage","documentation":{"id":44517,"nodeType":"StructuredDocumentation","src":"1900:95:79","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.VotesQuorumFraction"},"id":44521,"members":[{"constant":false,"id":44520,"mutability":"mutable","name":"_quorumNumeratorHistory","nameLocation":"2059:23:79","nodeType":"VariableDeclaration","scope":44521,"src":"2038:44:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":44519,"nodeType":"UserDefinedTypeName","pathNode":{"id":44518,"name":"Checkpoints.Trace208","nameLocations":["2038:11:79","2050:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"2038:20:79"},"referencedDeclaration":9409,"src":"2038:20:79","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"}],"name":"VotesQuorumFractionStorage","nameLocation":"2005:26:79","nodeType":"StructDefinition","scope":44745,"src":"1998:89:79","visibility":"public"},{"constant":true,"id":44524,"mutability":"constant","name":"VotesQuorumFractionStorageLocation","nameLocation":"2255:34:79","nodeType":"VariableDeclaration","scope":44745,"src":"2230:132:79","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2230:7:79","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307834396439393238346430313336343766353265326132363766643539343435383362643336626531373434336537383465633365383662626434633332343030","id":44523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2296:66:79","typeDescriptions":{"typeIdentifier":"t_rational_33403254995227881543705515889457669818781179811184482133917306896037471003648_by_1","typeString":"int_const 3340...(69 digits omitted)...3648"},"value":"0x49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c32400"},"visibility":"private"},{"body":{"id":44531,"nodeType":"Block","src":"2469:77:79","statements":[{"AST":{"nodeType":"YulBlock","src":"2484:58:79","statements":[{"nodeType":"YulAssignment","src":"2492:44:79","value":{"name":"VotesQuorumFractionStorageLocation","nodeType":"YulIdentifier","src":"2502:34:79"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2492:6:79"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":44528,"isOffset":false,"isSlot":true,"src":"2492:6:79","suffix":"slot","valueSize":1},{"declaration":44524,"isOffset":false,"isSlot":false,"src":"2502:34:79","valueSize":1}],"id":44530,"nodeType":"InlineAssembly","src":"2475:67:79"}]},"id":44532,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotesQuorumFractionStorage","nameLocation":"2376:30:79","nodeType":"FunctionDefinition","parameters":{"id":44525,"nodeType":"ParameterList","parameters":[],"src":"2406:2:79"},"returnParameters":{"id":44529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44528,"mutability":"mutable","name":"$","nameLocation":"2466:1:79","nodeType":"VariableDeclaration","scope":44532,"src":"2431:36:79","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage"},"typeName":{"id":44527,"nodeType":"UserDefinedTypeName","pathNode":{"id":44526,"name":"VotesQuorumFractionStorage","nameLocations":["2431:26:79"],"nodeType":"IdentifierPath","referencedDeclaration":44521,"src":"2431:26:79"},"referencedDeclaration":44521,"src":"2431:26:79","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage"}},"visibility":"internal"}],"src":"2430:38:79"},"scope":44745,"src":"2367:179:79","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"eventSelector":"0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997","id":44538,"name":"QuorumNumeratorUpdated","nameLocation":"2556:22:79","nodeType":"EventDefinition","parameters":{"id":44537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44534,"indexed":false,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"2587:18:79","nodeType":"VariableDeclaration","scope":44538,"src":"2579:26:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44533,"name":"uint256","nodeType":"ElementaryTypeName","src":"2579:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44536,"indexed":false,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"2615:18:79","nodeType":"VariableDeclaration","scope":44538,"src":"2607:26:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44535,"name":"uint256","nodeType":"ElementaryTypeName","src":"2607:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2578:56:79"},"src":"2550:85:79"},{"documentation":{"id":44539,"nodeType":"StructuredDocumentation","src":"2639:59:79","text":" @dev The quorum set is not a valid fraction."},"errorSelector":"243e5445","id":44545,"name":"GovernorInvalidQuorumFraction","nameLocation":"2707:29:79","nodeType":"ErrorDefinition","parameters":{"id":44544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44541,"mutability":"mutable","name":"quorumNumerator","nameLocation":"2745:15:79","nodeType":"VariableDeclaration","scope":44545,"src":"2737:23:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44540,"name":"uint256","nodeType":"ElementaryTypeName","src":"2737:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44543,"mutability":"mutable","name":"quorumDenominator","nameLocation":"2770:17:79","nodeType":"VariableDeclaration","scope":44545,"src":"2762:25:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44542,"name":"uint256","nodeType":"ElementaryTypeName","src":"2762:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2736:52:79"},"src":"2701:88:79"},{"body":{"id":44557,"nodeType":"Block","src":"3252:69:79","statements":[{"expression":{"arguments":[{"id":44554,"name":"quorumNumeratorValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44548,"src":"3295:20:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44553,"name":"__VotesQuorumFraction_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44570,"src":"3258:36:79","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":44555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3258:58:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44556,"nodeType":"ExpressionStatement","src":"3258:58:79"}]},"documentation":{"id":44546,"nodeType":"StructuredDocumentation","src":"2793:364:79","text":" @dev Initialize quorum as a fraction of the token's total supply.\n The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is\n specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be\n customized by overriding {quorumDenominator}."},"id":44558,"implemented":true,"kind":"function","modifiers":[{"id":44551,"kind":"modifierInvocation","modifierName":{"id":44550,"name":"onlyInitializing","nameLocations":["3235:16:79"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3235:16:79"},"nodeType":"ModifierInvocation","src":"3235:16:79"}],"name":"__VotesQuorumFraction_init","nameLocation":"3169:26:79","nodeType":"FunctionDefinition","parameters":{"id":44549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44548,"mutability":"mutable","name":"quorumNumeratorValue","nameLocation":"3204:20:79","nodeType":"VariableDeclaration","scope":44558,"src":"3196:28:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44547,"name":"uint256","nodeType":"ElementaryTypeName","src":"3196:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3195:30:79"},"returnParameters":{"id":44552,"nodeType":"ParameterList","parameters":[],"src":"3252:0:79"},"scope":44745,"src":"3160:161:79","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":44569,"nodeType":"Block","src":"3427:55:79","statements":[{"expression":{"arguments":[{"id":44566,"name":"quorumNumeratorValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44560,"src":"3456:20:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44565,"name":"_updateQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44744,"src":"3433:22:79","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":44567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3433:44:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44568,"nodeType":"ExpressionStatement","src":"3433:44:79"}]},"id":44570,"implemented":true,"kind":"function","modifiers":[{"id":44563,"kind":"modifierInvocation","modifierName":{"id":44562,"name":"onlyInitializing","nameLocations":["3410:16:79"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3410:16:79"},"nodeType":"ModifierInvocation","src":"3410:16:79"}],"name":"__VotesQuorumFraction_init_unchained","nameLocation":"3334:36:79","nodeType":"FunctionDefinition","parameters":{"id":44561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44560,"mutability":"mutable","name":"quorumNumeratorValue","nameLocation":"3379:20:79","nodeType":"VariableDeclaration","scope":44570,"src":"3371:28:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44559,"name":"uint256","nodeType":"ElementaryTypeName","src":"3371:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3370:30:79"},"returnParameters":{"id":44564,"nodeType":"ParameterList","parameters":[],"src":"3427:0:79"},"scope":44745,"src":"3325:157:79","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":44587,"nodeType":"Block","src":"3636:129:79","statements":[{"assignments":[44578],"declarations":[{"constant":false,"id":44578,"mutability":"mutable","name":"$","nameLocation":"3677:1:79","nodeType":"VariableDeclaration","scope":44587,"src":"3642:36:79","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage"},"typeName":{"id":44577,"nodeType":"UserDefinedTypeName","pathNode":{"id":44576,"name":"VotesQuorumFractionStorage","nameLocations":["3642:26:79"],"nodeType":"IdentifierPath","referencedDeclaration":44521,"src":"3642:26:79"},"referencedDeclaration":44521,"src":"3642:26:79","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":44581,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44579,"name":"_getVotesQuorumFractionStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44532,"src":"3681:30:79","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr_$","typeString":"function () pure returns (struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer)"}},"id":44580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3681:32:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3642:71:79"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":44582,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44578,"src":"3726:1:79","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer"}},"id":44583,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3728:23:79","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":44520,"src":"3726:25:79","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":44584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3752:6:79","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"3726:32:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":44585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3726:34:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":44575,"id":44586,"nodeType":"Return","src":"3719:41:79"}]},"documentation":{"id":44571,"nodeType":"StructuredDocumentation","src":"3486:82:79","text":" @dev Returns the current quorum numerator. See {quorumDenominator}."},"functionSelector":"a7713a70","id":44588,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"3580:15:79","nodeType":"FunctionDefinition","parameters":{"id":44572,"nodeType":"ParameterList","parameters":[],"src":"3595:2:79"},"returnParameters":{"id":44575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44574,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44588,"src":"3627:7:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44573,"name":"uint256","nodeType":"ElementaryTypeName","src":"3627:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3626:9:79"},"scope":44745,"src":"3571:194:79","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":44648,"nodeType":"Block","src":"3952:574:79","statements":[{"assignments":[44598],"declarations":[{"constant":false,"id":44598,"mutability":"mutable","name":"$","nameLocation":"3993:1:79","nodeType":"VariableDeclaration","scope":44648,"src":"3958:36:79","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage"},"typeName":{"id":44597,"nodeType":"UserDefinedTypeName","pathNode":{"id":44596,"name":"VotesQuorumFractionStorage","nameLocations":["3958:26:79"],"nodeType":"IdentifierPath","referencedDeclaration":44521,"src":"3958:26:79"},"referencedDeclaration":44521,"src":"3958:26:79","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":44601,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44599,"name":"_getVotesQuorumFractionStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44532,"src":"3997:30:79","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr_$","typeString":"function () pure returns (struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer)"}},"id":44600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3997:32:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3958:71:79"},{"assignments":[44603],"declarations":[{"constant":false,"id":44603,"mutability":"mutable","name":"length","nameLocation":"4044:6:79","nodeType":"VariableDeclaration","scope":44648,"src":"4036:14:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44602,"name":"uint256","nodeType":"ElementaryTypeName","src":"4036:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44608,"initialValue":{"expression":{"expression":{"expression":{"id":44604,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44598,"src":"4053:1:79","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer"}},"id":44605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4055:23:79","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":44520,"src":"4053:25:79","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":44606,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4079:12:79","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"4053:38:79","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":44607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4092:6:79","memberName":"length","nodeType":"MemberAccess","src":"4053:45:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4036:62:79"},{"assignments":[44613],"declarations":[{"constant":false,"id":44613,"mutability":"mutable","name":"latest","nameLocation":"4193:6:79","nodeType":"VariableDeclaration","scope":44648,"src":"4159:40:79","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":44612,"nodeType":"UserDefinedTypeName","pathNode":{"id":44611,"name":"Checkpoints.Checkpoint208","nameLocations":["4159:11:79","4171:13:79"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"4159:25:79"},"referencedDeclaration":9414,"src":"4159:25:79","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":44621,"initialValue":{"baseExpression":{"expression":{"expression":{"id":44614,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44598,"src":"4202:1:79","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer"}},"id":44615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4204:23:79","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":44520,"src":"4202:25:79","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":44616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4228:12:79","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"4202:38:79","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":44620,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44617,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44603,"src":"4241:6:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":44618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4250:1:79","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4241:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4202:50:79","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4159:93:79"},{"assignments":[44623],"declarations":[{"constant":false,"id":44623,"mutability":"mutable","name":"latestKey","nameLocation":"4265:9:79","nodeType":"VariableDeclaration","scope":44648,"src":"4258:16:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":44622,"name":"uint48","nodeType":"ElementaryTypeName","src":"4258:6:79","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":44626,"initialValue":{"expression":{"id":44624,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44613,"src":"4277:6:79","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":44625,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4284:4:79","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"4277:11:79","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"4258:30:79"},{"assignments":[44628],"declarations":[{"constant":false,"id":44628,"mutability":"mutable","name":"latestValue","nameLocation":"4302:11:79","nodeType":"VariableDeclaration","scope":44648,"src":"4294:19:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":44627,"name":"uint208","nodeType":"ElementaryTypeName","src":"4294:7:79","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":44631,"initialValue":{"expression":{"id":44629,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44613,"src":"4316:6:79","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":44630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4323:6:79","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"4316:13:79","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"4294:35:79"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44632,"name":"latestKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44623,"src":"4339:9:79","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":44633,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44591,"src":"4352:9:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4339:22:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44638,"nodeType":"IfStatement","src":"4335:61:79","trueBody":{"id":44637,"nodeType":"Block","src":"4363:33:79","statements":[{"expression":{"id":44635,"name":"latestValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44628,"src":"4378:11:79","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":44595,"id":44636,"nodeType":"Return","src":"4371:18:79"}]}},{"expression":{"arguments":[{"arguments":[{"id":44644,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44591,"src":"4510:9:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44642,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4492:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":44643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4501:8:79","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"4492:17:79","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":44645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4492:28:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":44639,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44598,"src":"4448:1:79","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer"}},"id":44640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4450:23:79","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":44520,"src":"4448:25:79","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":44641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4474:17:79","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"4448:43:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":44646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4448:73:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":44595,"id":44647,"nodeType":"Return","src":"4441:80:79"}]},"documentation":{"id":44589,"nodeType":"StructuredDocumentation","src":"3769:98:79","text":" @dev Returns the quorum numerator at a specific timepoint. See {quorumDenominator}."},"functionSelector":"60c4247f","id":44649,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"3879:15:79","nodeType":"FunctionDefinition","parameters":{"id":44592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44591,"mutability":"mutable","name":"timepoint","nameLocation":"3903:9:79","nodeType":"VariableDeclaration","scope":44649,"src":"3895:17:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44590,"name":"uint256","nodeType":"ElementaryTypeName","src":"3895:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3894:19:79"},"returnParameters":{"id":44595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44649,"src":"3943:7:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44593,"name":"uint256","nodeType":"ElementaryTypeName","src":"3943:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3942:9:79"},"scope":44745,"src":"3870:656:79","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":44657,"nodeType":"Block","src":"4691:21:79","statements":[{"expression":{"hexValue":"313030","id":44655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4704:3:79","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"functionReturnParameters":44654,"id":44656,"nodeType":"Return","src":"4697:10:79"}]},"documentation":{"id":44650,"nodeType":"StructuredDocumentation","src":"4530:91:79","text":" @dev Returns the quorum denominator. Defaults to 100, but may be overridden."},"functionSelector":"97c3d334","id":44658,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"4633:17:79","nodeType":"FunctionDefinition","parameters":{"id":44651,"nodeType":"ParameterList","parameters":[],"src":"4650:2:79"},"returnParameters":{"id":44654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44658,"src":"4682:7:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44652,"name":"uint256","nodeType":"ElementaryTypeName","src":"4682:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4681:9:79"},"scope":44745,"src":"4624:88:79","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[42437],"body":{"id":44681,"nodeType":"Block","src":"4921:108:79","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":44670,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44661,"src":"4962:9:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":44667,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44836,"src":"4935:5:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC5805_$4537_$","typeString":"function () view returns (contract IERC5805)"}},"id":44668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4935:7:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":44669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4943:18:79","memberName":"getPastTotalSupply","nodeType":"MemberAccess","referencedDeclaration":4467,"src":"4935:26:79","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":44671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4935:37:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":44673,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44661,"src":"4991:9:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44672,"name":"quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[44588,44649],"referencedDeclaration":44649,"src":"4975:15:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":44674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4975:26:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4935:66:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":44676,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4934:68:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":44677,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44658,"src":"5005:17:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":44678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5005:19:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4934:90:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44666,"id":44680,"nodeType":"Return","src":"4927:97:79"}]},"documentation":{"id":44659,"nodeType":"StructuredDocumentation","src":"4716:120:79","text":" @dev Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`."},"functionSelector":"f8ce560a","id":44682,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"4848:6:79","nodeType":"FunctionDefinition","overrides":{"id":44663,"nodeType":"OverrideSpecifier","overrides":[],"src":"4894:8:79"},"parameters":{"id":44662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44661,"mutability":"mutable","name":"timepoint","nameLocation":"4863:9:79","nodeType":"VariableDeclaration","scope":44682,"src":"4855:17:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44660,"name":"uint256","nodeType":"ElementaryTypeName","src":"4855:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4854:19:79"},"returnParameters":{"id":44666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44665,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44682,"src":"4912:7:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44664,"name":"uint256","nodeType":"ElementaryTypeName","src":"4912:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4911:9:79"},"scope":44745,"src":"4839:190:79","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":44692,"nodeType":"Block","src":"5304:53:79","statements":[{"expression":{"arguments":[{"id":44689,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44685,"src":"5333:18:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44688,"name":"_updateQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44744,"src":"5310:22:79","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":44690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5310:42:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44691,"nodeType":"ExpressionStatement","src":"5310:42:79"}]},"documentation":{"id":44683,"nodeType":"StructuredDocumentation","src":"5033:194:79","text":" @dev Changes the quorum numerator.\n Emits a {QuorumNumeratorUpdated} event.\n Requirements:\n - New numerator must be smaller or equal to the denominator."},"functionSelector":"06f3f9e6","id":44693,"implemented":true,"kind":"function","modifiers":[],"name":"updateQuorumNumerator","nameLocation":"5239:21:79","nodeType":"FunctionDefinition","parameters":{"id":44686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44685,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"5269:18:79","nodeType":"VariableDeclaration","scope":44693,"src":"5261:26:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44684,"name":"uint256","nodeType":"ElementaryTypeName","src":"5261:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5260:28:79"},"returnParameters":{"id":44687,"nodeType":"ParameterList","parameters":[],"src":"5304:0:79"},"scope":44745,"src":"5230:127:79","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":44743,"nodeType":"Block","src":"5635:469:79","statements":[{"assignments":[44700],"declarations":[{"constant":false,"id":44700,"mutability":"mutable","name":"denominator","nameLocation":"5649:11:79","nodeType":"VariableDeclaration","scope":44743,"src":"5641:19:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44699,"name":"uint256","nodeType":"ElementaryTypeName","src":"5641:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44703,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44701,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44658,"src":"5663:17:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":44702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5663:19:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5641:41:79"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44704,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44696,"src":"5692:18:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":44705,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44700,"src":"5713:11:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5692:32:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44713,"nodeType":"IfStatement","src":"5688:122:79","trueBody":{"id":44712,"nodeType":"Block","src":"5726:84:79","statements":[{"errorCall":{"arguments":[{"id":44708,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44696,"src":"5771:18:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44709,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44700,"src":"5791:11:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44707,"name":"GovernorInvalidQuorumFraction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44545,"src":"5741:29:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5741:62:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44711,"nodeType":"RevertStatement","src":"5734:69:79"}]}},{"assignments":[44715],"declarations":[{"constant":false,"id":44715,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"5824:18:79","nodeType":"VariableDeclaration","scope":44743,"src":"5816:26:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44714,"name":"uint256","nodeType":"ElementaryTypeName","src":"5816:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44718,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44716,"name":"quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[44588,44649],"referencedDeclaration":44588,"src":"5845:15:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":44717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5845:17:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5816:46:79"},{"assignments":[44721],"declarations":[{"constant":false,"id":44721,"mutability":"mutable","name":"$","nameLocation":"5904:1:79","nodeType":"VariableDeclaration","scope":44743,"src":"5869:36:79","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage"},"typeName":{"id":44720,"nodeType":"UserDefinedTypeName","pathNode":{"id":44719,"name":"VotesQuorumFractionStorage","nameLocations":["5869:26:79"],"nodeType":"IdentifierPath","referencedDeclaration":44521,"src":"5869:26:79"},"referencedDeclaration":44521,"src":"5869:26:79","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":44724,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44722,"name":"_getVotesQuorumFractionStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44532,"src":"5908:30:79","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr_$","typeString":"function () pure returns (struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer)"}},"id":44723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5908:32:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5869:71:79"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":44730,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[44862],"referencedDeclaration":44862,"src":"5977:5:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":44731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5977:7:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":44734,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44696,"src":"6005:18:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44732,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"5986:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":44733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5995:9:79","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"5986:18:79","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":44735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5986:38:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"expression":{"id":44725,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44721,"src":"5946:1:79","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$44521_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV7.VotesQuorumFractionStorage storage pointer"}},"id":44728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5948:23:79","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":44520,"src":"5946:25:79","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":44729,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5972:4:79","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"5946:30:79","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":44736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5946:79:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":44737,"nodeType":"ExpressionStatement","src":"5946:79:79"},{"eventCall":{"arguments":[{"id":44739,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44715,"src":"6060:18:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44740,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44696,"src":"6080:18:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44738,"name":"QuorumNumeratorUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44538,"src":"6037:22:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":44741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6037:62:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44742,"nodeType":"EmitStatement","src":"6032:67:79"}]},"documentation":{"id":44694,"nodeType":"StructuredDocumentation","src":"5361:194:79","text":" @dev Changes the quorum numerator.\n Emits a {QuorumNumeratorUpdated} event.\n Requirements:\n - New numerator must be smaller or equal to the denominator."},"id":44744,"implemented":true,"kind":"function","modifiers":[],"name":"_updateQuorumNumerator","nameLocation":"5567:22:79","nodeType":"FunctionDefinition","parameters":{"id":44697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44696,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"5598:18:79","nodeType":"VariableDeclaration","scope":44744,"src":"5590:26:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44695,"name":"uint256","nodeType":"ElementaryTypeName","src":"5590:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5589:28:79"},"returnParameters":{"id":44698,"nodeType":"ParameterList","parameters":[],"src":"5635:0:79"},"scope":44745,"src":"5558:546:79","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":44746,"src":"1761:4345:79","usedErrors":[1495,1498,7025,8883,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632,44545],"usedEvents":[1503,41646,41659,44538]}],"src":"1195:4912:79"},"id":79},"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol","exportedSymbols":{"IERC5805":[4537],"IVotes":[4498],"Initializable":[1732],"SafeCast":[8770],"Time":[11669],"VotesUpgradeableV7":[44908],"XAllocationVotingGovernorV7":[42519]},"id":44909,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":44747,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:80"},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","file":"../XAllocationVotingGovernorV7.sol","id":44749,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44909,"sourceUnit":42520,"src":"1220:81:80","symbolAliases":[{"foreign":{"id":44748,"name":"XAllocationVotingGovernorV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42519,"src":"1229:27:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/governance/utils/IVotes.sol","file":"@openzeppelin/contracts/governance/utils/IVotes.sol","id":44751,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44909,"sourceUnit":4499,"src":"1302:77:80","symbolAliases":[{"foreign":{"id":44750,"name":"IVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"1311:6:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC5805.sol","file":"@openzeppelin/contracts/interfaces/IERC5805.sol","id":44753,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44909,"sourceUnit":4538,"src":"1380:75:80","symbolAliases":[{"foreign":{"id":44752,"name":"IERC5805","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4537,"src":"1389:8:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":44755,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44909,"sourceUnit":8771,"src":"1456:75:80","symbolAliases":[{"foreign":{"id":44754,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1465:8:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":44757,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44909,"sourceUnit":11670,"src":"1532:68:80","symbolAliases":[{"foreign":{"id":44756,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"1541:4:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":44759,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44909,"sourceUnit":1733,"src":"1601:98:80","symbolAliases":[{"foreign":{"id":44758,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1610:13:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":44761,"name":"Initializable","nameLocations":["1925:13:80"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1925:13:80"},"id":44762,"nodeType":"InheritanceSpecifier","src":"1925:13:80"},{"baseName":{"id":44763,"name":"XAllocationVotingGovernorV7","nameLocations":["1940:27:80"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"1940:27:80"},"id":44764,"nodeType":"InheritanceSpecifier","src":"1940:27:80"}],"canonicalName":"VotesUpgradeableV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":44760,"nodeType":"StructuredDocumentation","src":"1701:183:80","text":" @title VotesUpgradeableV7\n @dev Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes}\n token."},"fullyImplemented":false,"id":44908,"linearizedBaseContracts":[44908,42519,41900,4552,4332,5961,3987,1732],"name":"VotesUpgradeableV7","nameLocation":"1903:18:80","nodeType":"ContractDefinition","nodes":[{"canonicalName":"VotesUpgradeableV7.VotesStorage","documentation":{"id":44765,"nodeType":"StructuredDocumentation","src":"1972:92:80","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.VotesUpgradeable"},"id":44769,"members":[{"constant":false,"id":44768,"mutability":"mutable","name":"_token","nameLocation":"2102:6:80","nodeType":"VariableDeclaration","scope":44769,"src":"2093:15:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"},"typeName":{"id":44767,"nodeType":"UserDefinedTypeName","pathNode":{"id":44766,"name":"IERC5805","nameLocations":["2093:8:80"],"nodeType":"IdentifierPath","referencedDeclaration":4537,"src":"2093:8:80"},"referencedDeclaration":4537,"src":"2093:8:80","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"visibility":"internal"}],"name":"VotesStorage","nameLocation":"2074:12:80","nodeType":"StructDefinition","scope":44908,"src":"2067:46:80","visibility":"public"},{"constant":true,"id":44772,"mutability":"constant","name":"VotesStorageLocation","nameLocation":"2278:20:80","nodeType":"VariableDeclaration","scope":44908,"src":"2253:114:80","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44770,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2253:7:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307836656231626630613136306364663162356536336635653563366233313066366332353432636439653261343766663162633937376335323664666162353030","id":44771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2301:66:80","typeDescriptions":{"typeIdentifier":"t_rational_50068463780098945865951985210166762119830310029031004036240120053434102232320_by_1","typeString":"int_const 5006...(69 digits omitted)...2320"},"value":"0x6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab500"},"visibility":"private"},{"body":{"id":44779,"nodeType":"Block","src":"2446:63:80","statements":[{"AST":{"nodeType":"YulBlock","src":"2461:44:80","statements":[{"nodeType":"YulAssignment","src":"2469:30:80","value":{"name":"VotesStorageLocation","nodeType":"YulIdentifier","src":"2479:20:80"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2469:6:80"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":44776,"isOffset":false,"isSlot":true,"src":"2469:6:80","suffix":"slot","valueSize":1},{"declaration":44772,"isOffset":false,"isSlot":false,"src":"2479:20:80","valueSize":1}],"id":44778,"nodeType":"InlineAssembly","src":"2452:53:80"}]},"id":44780,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotesStorage","nameLocation":"2381:16:80","nodeType":"FunctionDefinition","parameters":{"id":44773,"nodeType":"ParameterList","parameters":[],"src":"2397:2:80"},"returnParameters":{"id":44777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44776,"mutability":"mutable","name":"$","nameLocation":"2443:1:80","nodeType":"VariableDeclaration","scope":44780,"src":"2422:22:80","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage"},"typeName":{"id":44775,"nodeType":"UserDefinedTypeName","pathNode":{"id":44774,"name":"VotesStorage","nameLocations":["2422:12:80"],"nodeType":"IdentifierPath","referencedDeclaration":44769,"src":"2422:12:80"},"referencedDeclaration":44769,"src":"2422:12:80","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage"}},"visibility":"internal"}],"src":"2421:24:80"},"scope":44908,"src":"2372:137:80","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":44792,"nodeType":"Block","src":"2582:47:80","statements":[{"expression":{"arguments":[{"id":44789,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44783,"src":"2611:12:80","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}],"id":44788,"name":"__Votes_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44819,"src":"2588:22:80","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IVotes_$4498_$returns$__$","typeString":"function (contract IVotes)"}},"id":44790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2588:36:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44791,"nodeType":"ExpressionStatement","src":"2588:36:80"}]},"id":44793,"implemented":true,"kind":"function","modifiers":[{"id":44786,"kind":"modifierInvocation","modifierName":{"id":44785,"name":"onlyInitializing","nameLocations":["2565:16:80"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2565:16:80"},"nodeType":"ModifierInvocation","src":"2565:16:80"}],"name":"__Votes_init","nameLocation":"2522:12:80","nodeType":"FunctionDefinition","parameters":{"id":44784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44783,"mutability":"mutable","name":"tokenAddress","nameLocation":"2542:12:80","nodeType":"VariableDeclaration","scope":44793,"src":"2535:19:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"},"typeName":{"id":44782,"nodeType":"UserDefinedTypeName","pathNode":{"id":44781,"name":"IVotes","nameLocations":["2535:6:80"],"nodeType":"IdentifierPath","referencedDeclaration":4498,"src":"2535:6:80"},"referencedDeclaration":4498,"src":"2535:6:80","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}},"visibility":"internal"}],"src":"2534:21:80"},"returnParameters":{"id":44787,"nodeType":"ParameterList","parameters":[],"src":"2582:0:80"},"scope":44908,"src":"2513:116:80","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":44818,"nodeType":"Block","src":"2712:102:80","statements":[{"assignments":[44803],"declarations":[{"constant":false,"id":44803,"mutability":"mutable","name":"$","nameLocation":"2739:1:80","nodeType":"VariableDeclaration","scope":44818,"src":"2718:22:80","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage"},"typeName":{"id":44802,"nodeType":"UserDefinedTypeName","pathNode":{"id":44801,"name":"VotesStorage","nameLocations":["2718:12:80"],"nodeType":"IdentifierPath","referencedDeclaration":44769,"src":"2718:12:80"},"referencedDeclaration":44769,"src":"2718:12:80","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage"}},"visibility":"internal"}],"id":44806,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44804,"name":"_getVotesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44780,"src":"2743:16:80","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesStorage_$44769_storage_ptr_$","typeString":"function () pure returns (struct VotesUpgradeableV7.VotesStorage storage pointer)"}},"id":44805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2743:18:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2718:43:80"},{"expression":{"id":44816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":44807,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44803,"src":"2767:1:80","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage storage pointer"}},"id":44809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2769:6:80","memberName":"_token","nodeType":"MemberAccess","referencedDeclaration":44768,"src":"2767:8:80","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":44813,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44796,"src":"2795:12:80","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}],"id":44812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2787:7:80","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44811,"name":"address","nodeType":"ElementaryTypeName","src":"2787:7:80","typeDescriptions":{}}},"id":44814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2787:21:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":44810,"name":"IERC5805","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4537,"src":"2778:8:80","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC5805_$4537_$","typeString":"type(contract IERC5805)"}},"id":44815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2778:31:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"src":"2767:42:80","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":44817,"nodeType":"ExpressionStatement","src":"2767:42:80"}]},"id":44819,"implemented":true,"kind":"function","modifiers":[{"id":44799,"kind":"modifierInvocation","modifierName":{"id":44798,"name":"onlyInitializing","nameLocations":["2695:16:80"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2695:16:80"},"nodeType":"ModifierInvocation","src":"2695:16:80"}],"name":"__Votes_init_unchained","nameLocation":"2642:22:80","nodeType":"FunctionDefinition","parameters":{"id":44797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44796,"mutability":"mutable","name":"tokenAddress","nameLocation":"2672:12:80","nodeType":"VariableDeclaration","scope":44819,"src":"2665:19:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"},"typeName":{"id":44795,"nodeType":"UserDefinedTypeName","pathNode":{"id":44794,"name":"IVotes","nameLocations":["2665:6:80"],"nodeType":"IdentifierPath","referencedDeclaration":4498,"src":"2665:6:80"},"referencedDeclaration":4498,"src":"2665:6:80","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}},"visibility":"internal"}],"src":"2664:21:80"},"returnParameters":{"id":44800,"nodeType":"ParameterList","parameters":[],"src":"2712:0:80"},"scope":44908,"src":"2633:181:80","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":44835,"nodeType":"Block","src":"2941:75:80","statements":[{"assignments":[44828],"declarations":[{"constant":false,"id":44828,"mutability":"mutable","name":"$","nameLocation":"2968:1:80","nodeType":"VariableDeclaration","scope":44835,"src":"2947:22:80","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage"},"typeName":{"id":44827,"nodeType":"UserDefinedTypeName","pathNode":{"id":44826,"name":"VotesStorage","nameLocations":["2947:12:80"],"nodeType":"IdentifierPath","referencedDeclaration":44769,"src":"2947:12:80"},"referencedDeclaration":44769,"src":"2947:12:80","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage"}},"visibility":"internal"}],"id":44831,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44829,"name":"_getVotesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44780,"src":"2972:16:80","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesStorage_$44769_storage_ptr_$","typeString":"function () pure returns (struct VotesUpgradeableV7.VotesStorage storage pointer)"}},"id":44830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2972:18:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2947:43:80"},{"expression":{"expression":{"id":44832,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44828,"src":"3003:1:80","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$44769_storage_ptr","typeString":"struct VotesUpgradeableV7.VotesStorage storage pointer"}},"id":44833,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3005:6:80","memberName":"_token","nodeType":"MemberAccess","referencedDeclaration":44768,"src":"3003:8:80","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"functionReturnParameters":44825,"id":44834,"nodeType":"Return","src":"2996:15:80"}]},"documentation":{"id":44820,"nodeType":"StructuredDocumentation","src":"2818:64:80","text":" @dev The token that voting power is sourced from."},"functionSelector":"fc0c546a","id":44836,"implemented":true,"kind":"function","modifiers":[],"name":"token","nameLocation":"2894:5:80","nodeType":"FunctionDefinition","parameters":{"id":44821,"nodeType":"ParameterList","parameters":[],"src":"2899:2:80"},"returnParameters":{"id":44825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44824,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44836,"src":"2931:8:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"},"typeName":{"id":44823,"nodeType":"UserDefinedTypeName","pathNode":{"id":44822,"name":"IERC5805","nameLocations":["2931:8:80"],"nodeType":"IdentifierPath","referencedDeclaration":4537,"src":"2931:8:80"},"referencedDeclaration":4537,"src":"2931:8:80","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"visibility":"internal"}],"src":"2930:10:80"},"scope":44908,"src":"2885:131:80","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[42417],"body":{"id":44861,"nodeType":"Block","src":"3246:135:80","statements":[{"clauses":[{"block":{"id":44852,"nodeType":"Block","src":"3299:31:80","statements":[{"expression":{"id":44850,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44848,"src":"3314:9:80","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":44842,"id":44851,"nodeType":"Return","src":"3307:16:80"}]},"errorName":"","id":44853,"nodeType":"TryCatchClause","parameters":{"id":44849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44848,"mutability":"mutable","name":"timepoint","nameLocation":"3288:9:80","nodeType":"VariableDeclaration","scope":44853,"src":"3281:16:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":44847,"name":"uint48","nodeType":"ElementaryTypeName","src":"3281:6:80","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3280:18:80"},"src":"3272:58:80"},{"block":{"id":44858,"nodeType":"Block","src":"3337:40:80","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":44854,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"3352:4:80","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":44855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3357:11:80","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"3352:16:80","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":44856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3352:18:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":44842,"id":44857,"nodeType":"Return","src":"3345:25:80"}]},"errorName":"","id":44859,"nodeType":"TryCatchClause","src":"3331:46:80"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":44843,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44836,"src":"3256:5:80","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC5805_$4537_$","typeString":"function () view returns (contract IERC5805)"}},"id":44844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3256:7:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":44845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3264:5:80","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":4545,"src":"3256:13:80","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint48_$","typeString":"function () view external returns (uint48)"}},"id":44846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3256:15:80","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":44860,"nodeType":"TryStatement","src":"3252:125:80"}]},"documentation":{"id":44837,"nodeType":"StructuredDocumentation","src":"3020:160:80","text":" @dev Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token\n does not implement EIP-6372."},"functionSelector":"91ddadf4","id":44862,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"3192:5:80","nodeType":"FunctionDefinition","overrides":{"id":44839,"nodeType":"OverrideSpecifier","overrides":[],"src":"3220:8:80"},"parameters":{"id":44838,"nodeType":"ParameterList","parameters":[],"src":"3197:2:80"},"returnParameters":{"id":44842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44862,"src":"3238:6:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":44840,"name":"uint48","nodeType":"ElementaryTypeName","src":"3238:6:80","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3237:8:80"},"scope":44908,"src":"3183:198:80","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[42423],"body":{"id":44885,"nodeType":"Block","src":"3601:160:80","statements":[{"clauses":[{"block":{"id":44878,"nodeType":"Block","src":"3666:31:80","statements":[{"expression":{"id":44876,"name":"clockmode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44874,"src":"3681:9:80","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":44868,"id":44877,"nodeType":"Return","src":"3674:16:80"}]},"errorName":"","id":44879,"nodeType":"TryCatchClause","parameters":{"id":44875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44874,"mutability":"mutable","name":"clockmode","nameLocation":"3655:9:80","nodeType":"VariableDeclaration","scope":44879,"src":"3641:23:80","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44873,"name":"string","nodeType":"ElementaryTypeName","src":"3641:6:80","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3640:25:80"},"src":"3632:65:80"},{"block":{"id":44882,"nodeType":"Block","src":"3704:53:80","statements":[{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":44880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3719:31:80","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":44868,"id":44881,"nodeType":"Return","src":"3712:38:80"}]},"errorName":"","id":44883,"nodeType":"TryCatchClause","src":"3698:59:80"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":44869,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44836,"src":"3611:5:80","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC5805_$4537_$","typeString":"function () view returns (contract IERC5805)"}},"id":44870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3611:7:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":44871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3619:10:80","memberName":"CLOCK_MODE","nodeType":"MemberAccess","referencedDeclaration":4551,"src":"3611:18:80","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view external returns (string memory)"}},"id":44872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3611:20:80","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":44884,"nodeType":"TryStatement","src":"3607:150:80"}]},"documentation":{"id":44863,"nodeType":"StructuredDocumentation","src":"3385:87:80","text":" @dev Machine-readable description of the clock as specified in EIP-6372."},"functionSelector":"4bf5d7e9","id":44886,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"3535:10:80","nodeType":"FunctionDefinition","overrides":{"id":44865,"nodeType":"OverrideSpecifier","overrides":[],"src":"3568:8:80"},"parameters":{"id":44864,"nodeType":"ParameterList","parameters":[],"src":"3545:2:80"},"returnParameters":{"id":44868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44867,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44886,"src":"3586:13:80","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44866,"name":"string","nodeType":"ElementaryTypeName","src":"3586:6:80","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3585:15:80"},"scope":44908,"src":"3526:235:80","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[42405],"body":{"id":44906,"nodeType":"Block","src":"4023:58:80","statements":[{"expression":{"arguments":[{"id":44902,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44889,"src":"4057:7:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44903,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44891,"src":"4066:9:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":44899,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44836,"src":"4036:5:80","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC5805_$4537_$","typeString":"function () view returns (contract IERC5805)"}},"id":44900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:7:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":44901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4044:12:80","memberName":"getPastVotes","nodeType":"MemberAccess","referencedDeclaration":4459,"src":"4036:20:80","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":44904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:40:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44898,"id":44905,"nodeType":"Return","src":"4029:47:80"}]},"documentation":{"id":44887,"nodeType":"StructuredDocumentation","src":"3765:110:80","text":" Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes})."},"id":44907,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotes","nameLocation":"3887:9:80","nodeType":"FunctionDefinition","overrides":{"id":44895,"nodeType":"OverrideSpecifier","overrides":[],"src":"3996:8:80"},"parameters":{"id":44894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44889,"mutability":"mutable","name":"account","nameLocation":"3910:7:80","nodeType":"VariableDeclaration","scope":44907,"src":"3902:15:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44888,"name":"address","nodeType":"ElementaryTypeName","src":"3902:7:80","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44891,"mutability":"mutable","name":"timepoint","nameLocation":"3931:9:80","nodeType":"VariableDeclaration","scope":44907,"src":"3923:17:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44890,"name":"uint256","nodeType":"ElementaryTypeName","src":"3923:7:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44893,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44907,"src":"3946:12:80","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":44892,"name":"bytes","nodeType":"ElementaryTypeName","src":"3946:5:80","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3896:77:80"},"returnParameters":{"id":44898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44907,"src":"4014:7:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44896,"name":"uint256","nodeType":"ElementaryTypeName","src":"4014:7:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4013:9:80"},"scope":44908,"src":"3878:203:80","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":44909,"src":"1885:2198:80","usedErrors":[1495,1498,7025,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632],"usedEvents":[1503,41646,41659]}],"src":"1195:2889:80"},"id":80},"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol":{"ast":{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol","exportedSymbols":{"Initializable":[1732],"VotingSettingsUpgradeableV7":[45033],"XAllocationVotingGovernorV7":[42519]},"id":45034,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":44910,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:81"},{"absolutePath":"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol","file":"../XAllocationVotingGovernorV7.sol","id":44912,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45034,"sourceUnit":42520,"src":"1220:81:81","symbolAliases":[{"foreign":{"id":44911,"name":"XAllocationVotingGovernorV7","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42519,"src":"1229:27:81","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":44914,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45034,"sourceUnit":1733,"src":"1302:98:81","symbolAliases":[{"foreign":{"id":44913,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1311:13:81","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":44916,"name":"Initializable","nameLocations":["1569:13:81"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1569:13:81"},"id":44917,"nodeType":"InheritanceSpecifier","src":"1569:13:81"},{"baseName":{"id":44918,"name":"XAllocationVotingGovernorV7","nameLocations":["1584:27:81"],"nodeType":"IdentifierPath","referencedDeclaration":42519,"src":"1584:27:81"},"id":44919,"nodeType":"InheritanceSpecifier","src":"1584:27:81"}],"canonicalName":"VotingSettingsUpgradeableV7","contractDependencies":[],"contractKind":"contract","documentation":{"id":44915,"nodeType":"StructuredDocumentation","src":"1402:117:81","text":" @title VotingSettingsUpgradeableV7\n @dev Extension of {XAllocationVotingGovernorV7} for voting settings."},"fullyImplemented":false,"id":45033,"linearizedBaseContracts":[45033,42519,41900,4552,4332,5961,3987,1732],"name":"VotingSettingsUpgradeableV7","nameLocation":"1538:27:81","nodeType":"ContractDefinition","nodes":[{"canonicalName":"VotingSettingsUpgradeableV7.VotingSettingsStorage","documentation":{"id":44920,"nodeType":"StructuredDocumentation","src":"1616:90:81","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor.VotingSettings"},"id":44923,"members":[{"constant":false,"id":44922,"mutability":"mutable","name":"_votingPeriod","nameLocation":"1751:13:81","nodeType":"VariableDeclaration","scope":44923,"src":"1744:20:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":44921,"name":"uint32","nodeType":"ElementaryTypeName","src":"1744:6:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"name":"VotingSettingsStorage","nameLocation":"1716:21:81","nodeType":"StructDefinition","scope":45033,"src":"1709:60:81","visibility":"public"},{"constant":true,"id":44926,"mutability":"constant","name":"VotingSettingsStorageLocation","nameLocation":"1932:29:81","nodeType":"VariableDeclaration","scope":45033,"src":"1907:127:81","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1907:7:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307864363964303638303533363731383831643235613464373531646361643165363932373439643962323431383466363038636231643031616633613939393030","id":44925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1968:66:81","typeDescriptions":{"typeIdentifier":"t_rational_97072389456123798922558854231403716866043431376468812838237617778661698148608_by_1","typeString":"int_const 9707...(69 digits omitted)...8608"},"value":"0xd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a99900"},"visibility":"private"},{"body":{"id":44933,"nodeType":"Block","src":"2131:72:81","statements":[{"AST":{"nodeType":"YulBlock","src":"2146:53:81","statements":[{"nodeType":"YulAssignment","src":"2154:39:81","value":{"name":"VotingSettingsStorageLocation","nodeType":"YulIdentifier","src":"2164:29:81"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2154:6:81"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":44930,"isOffset":false,"isSlot":true,"src":"2154:6:81","suffix":"slot","valueSize":1},{"declaration":44926,"isOffset":false,"isSlot":false,"src":"2164:29:81","valueSize":1}],"id":44932,"nodeType":"InlineAssembly","src":"2137:62:81"}]},"id":44934,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotingSettingsStorage","nameLocation":"2048:25:81","nodeType":"FunctionDefinition","parameters":{"id":44927,"nodeType":"ParameterList","parameters":[],"src":"2073:2:81"},"returnParameters":{"id":44931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44930,"mutability":"mutable","name":"$","nameLocation":"2128:1:81","nodeType":"VariableDeclaration","scope":44934,"src":"2098:31:81","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage"},"typeName":{"id":44929,"nodeType":"UserDefinedTypeName","pathNode":{"id":44928,"name":"VotingSettingsStorage","nameLocations":["2098:21:81"],"nodeType":"IdentifierPath","referencedDeclaration":44923,"src":"2098:21:81"},"referencedDeclaration":44923,"src":"2098:21:81","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage"}},"visibility":"internal"}],"src":"2097:33:81"},"scope":45033,"src":"2039:164:81","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"eventSelector":"7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828","id":44940,"name":"VotingPeriodSet","nameLocation":"2213:15:81","nodeType":"EventDefinition","parameters":{"id":44939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44936,"indexed":false,"mutability":"mutable","name":"oldVotingPeriod","nameLocation":"2237:15:81","nodeType":"VariableDeclaration","scope":44940,"src":"2229:23:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44935,"name":"uint256","nodeType":"ElementaryTypeName","src":"2229:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44938,"indexed":false,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"2262:15:81","nodeType":"VariableDeclaration","scope":44940,"src":"2254:23:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44937,"name":"uint256","nodeType":"ElementaryTypeName","src":"2254:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2228:50:81"},"src":"2207:72:81"},{"body":{"id":44952,"nodeType":"Block","src":"2428:63:81","statements":[{"expression":{"arguments":[{"id":44949,"name":"initialVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44943,"src":"2466:19:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":44948,"name":"__VotingSettings_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44965,"src":"2434:31:81","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$returns$__$","typeString":"function (uint32)"}},"id":44950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2434:52:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44951,"nodeType":"ExpressionStatement","src":"2434:52:81"}]},"documentation":{"id":44941,"nodeType":"StructuredDocumentation","src":"2283:57:81","text":" @dev Initialize the governance parameters."},"id":44953,"implemented":true,"kind":"function","modifiers":[{"id":44946,"kind":"modifierInvocation","modifierName":{"id":44945,"name":"onlyInitializing","nameLocations":["2411:16:81"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2411:16:81"},"nodeType":"ModifierInvocation","src":"2411:16:81"}],"name":"__VotingSettings_init","nameLocation":"2352:21:81","nodeType":"FunctionDefinition","parameters":{"id":44944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44943,"mutability":"mutable","name":"initialVotingPeriod","nameLocation":"2381:19:81","nodeType":"VariableDeclaration","scope":44953,"src":"2374:26:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":44942,"name":"uint32","nodeType":"ElementaryTypeName","src":"2374:6:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2373:28:81"},"returnParameters":{"id":44947,"nodeType":"ParameterList","parameters":[],"src":"2428:0:81"},"scope":45033,"src":"2343:148:81","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":44964,"nodeType":"Block","src":"2590:48:81","statements":[{"expression":{"arguments":[{"id":44961,"name":"initialVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44955,"src":"2613:19:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":44960,"name":"_setVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45032,"src":"2596:16:81","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$returns$__$","typeString":"function (uint32)"}},"id":44962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2596:37:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44963,"nodeType":"ExpressionStatement","src":"2596:37:81"}]},"id":44965,"implemented":true,"kind":"function","modifiers":[{"id":44958,"kind":"modifierInvocation","modifierName":{"id":44957,"name":"onlyInitializing","nameLocations":["2573:16:81"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2573:16:81"},"nodeType":"ModifierInvocation","src":"2573:16:81"}],"name":"__VotingSettings_init_unchained","nameLocation":"2504:31:81","nodeType":"FunctionDefinition","parameters":{"id":44956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44955,"mutability":"mutable","name":"initialVotingPeriod","nameLocation":"2543:19:81","nodeType":"VariableDeclaration","scope":44965,"src":"2536:26:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":44954,"name":"uint32","nodeType":"ElementaryTypeName","src":"2536:6:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2535:28:81"},"returnParameters":{"id":44959,"nodeType":"ParameterList","parameters":[],"src":"2590:0:81"},"scope":45033,"src":"2495:143:81","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[42429],"body":{"id":44981,"nodeType":"Block","src":"2782:100:81","statements":[{"assignments":[44974],"declarations":[{"constant":false,"id":44974,"mutability":"mutable","name":"$","nameLocation":"2818:1:81","nodeType":"VariableDeclaration","scope":44981,"src":"2788:31:81","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage"},"typeName":{"id":44973,"nodeType":"UserDefinedTypeName","pathNode":{"id":44972,"name":"VotingSettingsStorage","nameLocations":["2788:21:81"],"nodeType":"IdentifierPath","referencedDeclaration":44923,"src":"2788:21:81"},"referencedDeclaration":44923,"src":"2788:21:81","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage"}},"visibility":"internal"}],"id":44977,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":44975,"name":"_getVotingSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44934,"src":"2822:25:81","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotingSettingsStorage_$44923_storage_ptr_$","typeString":"function () pure returns (struct VotingSettingsUpgradeableV7.VotingSettingsStorage storage pointer)"}},"id":44976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2822:27:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2788:61:81"},{"expression":{"expression":{"id":44978,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44974,"src":"2862:1:81","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage storage pointer"}},"id":44979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2864:13:81","memberName":"_votingPeriod","nodeType":"MemberAccess","referencedDeclaration":44922,"src":"2862:15:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":44971,"id":44980,"nodeType":"Return","src":"2855:22:81"}]},"documentation":{"id":44966,"nodeType":"StructuredDocumentation","src":"2642:66:81","text":" @dev See {IXAllocationVotingGovernor-votingPeriod}."},"functionSelector":"02a251a3","id":44982,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"2720:12:81","nodeType":"FunctionDefinition","overrides":{"id":44968,"nodeType":"OverrideSpecifier","overrides":[],"src":"2755:8:81"},"parameters":{"id":44967,"nodeType":"ParameterList","parameters":[],"src":"2732:2:81"},"returnParameters":{"id":44971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44970,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44982,"src":"2773:7:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44969,"name":"uint256","nodeType":"ElementaryTypeName","src":"2773:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2772:9:81"},"scope":45033,"src":"2711:171:81","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":45031,"nodeType":"Block","src":"3057:516:81","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":44990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44988,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44985,"src":"3067:15:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":44989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3086:1:81","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3067:20:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44996,"nodeType":"IfStatement","src":"3063:78:81","trueBody":{"id":44995,"nodeType":"Block","src":"3089:52:81","statements":[{"errorCall":{"arguments":[{"hexValue":"30","id":44992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3132:1:81","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":44991,"name":"GovernorInvalidVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41605,"src":"3104:27:81","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":44993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3104:30:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44994,"nodeType":"RevertStatement","src":"3097:37:81"}]}},{"assignments":[44998],"declarations":[{"constant":false,"id":44998,"mutability":"mutable","name":"emissionsCycleDuration","nameLocation":"3230:22:81","nodeType":"VariableDeclaration","scope":45031,"src":"3222:30:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44997,"name":"uint256","nodeType":"ElementaryTypeName","src":"3222:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45003,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":44999,"name":"emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42486,"src":"3255:9:81","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IEmissions_$64454_$","typeString":"function () view returns (contract IEmissions)"}},"id":45000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3255:11:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":45001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3267:13:81","memberName":"cycleDuration","nodeType":"MemberAccess","referencedDeclaration":64165,"src":"3255:25:81","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":45002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3255:27:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3222:60:81"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45004,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44985,"src":"3292:15:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":45005,"name":"emissionsCycleDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44998,"src":"3311:22:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3292:41:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45012,"nodeType":"IfStatement","src":"3288:113:81","trueBody":{"id":45011,"nodeType":"Block","src":"3335:66:81","statements":[{"errorCall":{"arguments":[{"id":45008,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44985,"src":"3378:15:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":45007,"name":"GovernorInvalidVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41605,"src":"3350:27:81","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":45009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3350:44:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45010,"nodeType":"RevertStatement","src":"3343:51:81"}]}},{"assignments":[45015],"declarations":[{"constant":false,"id":45015,"mutability":"mutable","name":"$","nameLocation":"3437:1:81","nodeType":"VariableDeclaration","scope":45031,"src":"3407:31:81","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage"},"typeName":{"id":45014,"nodeType":"UserDefinedTypeName","pathNode":{"id":45013,"name":"VotingSettingsStorage","nameLocations":["3407:21:81"],"nodeType":"IdentifierPath","referencedDeclaration":44923,"src":"3407:21:81"},"referencedDeclaration":44923,"src":"3407:21:81","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage"}},"visibility":"internal"}],"id":45018,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":45016,"name":"_getVotingSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44934,"src":"3441:25:81","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotingSettingsStorage_$44923_storage_ptr_$","typeString":"function () pure returns (struct VotingSettingsUpgradeableV7.VotingSettingsStorage storage pointer)"}},"id":45017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3441:27:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3407:61:81"},{"eventCall":{"arguments":[{"expression":{"id":45020,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45015,"src":"3496:1:81","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage storage pointer"}},"id":45021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3498:13:81","memberName":"_votingPeriod","nodeType":"MemberAccess","referencedDeclaration":44922,"src":"3496:15:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":45022,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44985,"src":"3513:15:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":45019,"name":"VotingPeriodSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44940,"src":"3480:15:81","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":45023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3480:49:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45024,"nodeType":"EmitStatement","src":"3475:54:81"},{"expression":{"id":45029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":45025,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45015,"src":"3535:1:81","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$44923_storage_ptr","typeString":"struct VotingSettingsUpgradeableV7.VotingSettingsStorage storage pointer"}},"id":45027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3537:13:81","memberName":"_votingPeriod","nodeType":"MemberAccess","referencedDeclaration":44922,"src":"3535:15:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":45028,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44985,"src":"3553:15:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"3535:33:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":45030,"nodeType":"ExpressionStatement","src":"3535:33:81"}]},"documentation":{"id":44983,"nodeType":"StructuredDocumentation","src":"2886:101:81","text":" @dev Internal setter for the voting period.\n Emits a {VotingPeriodSet} event."},"id":45032,"implemented":true,"kind":"function","modifiers":[],"name":"_setVotingPeriod","nameLocation":"2999:16:81","nodeType":"FunctionDefinition","parameters":{"id":44986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44985,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"3023:15:81","nodeType":"VariableDeclaration","scope":45032,"src":"3016:22:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":44984,"name":"uint32","nodeType":"ElementaryTypeName","src":"3016:6:81","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"3015:24:81"},"returnParameters":{"id":44987,"nodeType":"ParameterList","parameters":[],"src":"3057:0:81"},"scope":45033,"src":"2990:583:81","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":45034,"src":"1520:2055:81","usedErrors":[1495,1498,7025,41580,41585,41590,41600,41605,41610,41617,41620,41627,41632],"usedEvents":[1503,41646,41659,44940]}],"src":"1195:2381:81"},"id":81},"contracts/deprecated/V8/XAllocationVotingV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/XAllocationVotingV8.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"AutoVotingLogicUpgradeableV8":[47975],"AutoVotingLogicV8":[47706],"Checkpoints":[10447],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"ExternalContractsUpgradeableV8":[48514],"IAccessControl":[4415],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC5805":[4537],"IEmissions":[64454],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IVotes":[4498],"IX2EarnApps":[69989],"IXAllocationPool":[70597],"IXAllocationVotingGovernor":[46200],"Initializable":[1732],"Math":[7015],"RelayerAction":[66644],"RoundEarningsSettingsUpgradeableV8":[48753],"RoundFinalizationUpgradeableV8":[48939],"RoundVotesCountingUpgradeableV8":[49575],"RoundsStorageUpgradeableV8":[50017],"SafeCast":[8770],"Time":[11669],"UUPSUpgradeable":[1914],"VotesQuorumFractionUpgradeableV8":[50265],"VotesUpgradeable":[50428],"VotesUpgradeableV8":[50428],"VotingSettingsUpgradeableV8":[50553],"X2EarnAppsDataTypes":[71147],"XAllocationVotingDataTypesV8":[47727],"XAllocationVotingGovernor":[47146],"XAllocationVotingGovernorV8":[47146],"XAllocationVotingV8":[45721]},"id":45722,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":45035,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:82"},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","file":"./x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","id":45036,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":47147,"src":"1220:74:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol","file":"./x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol","id":45037,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":49576,"src":"1295:86:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol","file":"./x-allocation-voting-governance/modules/VotesUpgradeableV8.sol","id":45038,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":50429,"src":"1382:73:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol","file":"./x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol","id":45039,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":50266,"src":"1456:87:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol","file":"./x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol","id":45040,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":50554,"src":"1544:82:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol","file":"./x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol","id":45041,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":48754,"src":"1627:89:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol","file":"./x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol","id":45042,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":48940,"src":"1717:85:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol","file":"./x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol","id":45043,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":50018,"src":"1803:81:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol","file":"./x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol","id":45044,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":48515,"src":"1885:85:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol","file":"./x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol","id":45045,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":47976,"src":"1971:83:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":45046,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":363,"src":"2055:81:82","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":45047,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":45722,"sourceUnit":1915,"src":"2137:77:82","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":45049,"name":"XAllocationVotingGovernorV8","nameLocations":["3650:27:82"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"3650:27:82"},"id":45050,"nodeType":"InheritanceSpecifier","src":"3650:27:82"},{"baseName":{"id":45051,"name":"VotingSettingsUpgradeableV8","nameLocations":["3681:27:82"],"nodeType":"IdentifierPath","referencedDeclaration":50553,"src":"3681:27:82"},"id":45052,"nodeType":"InheritanceSpecifier","src":"3681:27:82"},{"baseName":{"id":45053,"name":"RoundVotesCountingUpgradeableV8","nameLocations":["3712:31:82"],"nodeType":"IdentifierPath","referencedDeclaration":49575,"src":"3712:31:82"},"id":45054,"nodeType":"InheritanceSpecifier","src":"3712:31:82"},{"baseName":{"id":45055,"name":"VotesUpgradeableV8","nameLocations":["3747:18:82"],"nodeType":"IdentifierPath","referencedDeclaration":50428,"src":"3747:18:82"},"id":45056,"nodeType":"InheritanceSpecifier","src":"3747:18:82"},{"baseName":{"id":45057,"name":"VotesQuorumFractionUpgradeableV8","nameLocations":["3769:32:82"],"nodeType":"IdentifierPath","referencedDeclaration":50265,"src":"3769:32:82"},"id":45058,"nodeType":"InheritanceSpecifier","src":"3769:32:82"},{"baseName":{"id":45059,"name":"RoundEarningsSettingsUpgradeableV8","nameLocations":["3805:34:82"],"nodeType":"IdentifierPath","referencedDeclaration":48753,"src":"3805:34:82"},"id":45060,"nodeType":"InheritanceSpecifier","src":"3805:34:82"},{"baseName":{"id":45061,"name":"ExternalContractsUpgradeableV8","nameLocations":["3843:30:82"],"nodeType":"IdentifierPath","referencedDeclaration":48514,"src":"3843:30:82"},"id":45062,"nodeType":"InheritanceSpecifier","src":"3843:30:82"},{"baseName":{"id":45063,"name":"RoundsStorageUpgradeableV8","nameLocations":["3877:26:82"],"nodeType":"IdentifierPath","referencedDeclaration":50017,"src":"3877:26:82"},"id":45064,"nodeType":"InheritanceSpecifier","src":"3877:26:82"},{"baseName":{"id":45065,"name":"RoundFinalizationUpgradeableV8","nameLocations":["3907:30:82"],"nodeType":"IdentifierPath","referencedDeclaration":48939,"src":"3907:30:82"},"id":45066,"nodeType":"InheritanceSpecifier","src":"3907:30:82"},{"baseName":{"id":45067,"name":"AccessControlUpgradeable","nameLocations":["3941:24:82"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"3941:24:82"},"id":45068,"nodeType":"InheritanceSpecifier","src":"3941:24:82"},{"baseName":{"id":45069,"name":"UUPSUpgradeable","nameLocations":["3969:15:82"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"3969:15:82"},"id":45070,"nodeType":"InheritanceSpecifier","src":"3969:15:82"},{"baseName":{"id":45071,"name":"AutoVotingLogicUpgradeableV8","nameLocations":["3988:28:82"],"nodeType":"IdentifierPath","referencedDeclaration":47975,"src":"3988:28:82"},"id":45072,"nodeType":"InheritanceSpecifier","src":"3988:28:82"}],"canonicalName":"XAllocationVotingV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":45048,"nodeType":"StructuredDocumentation","src":"2216:1399:82","text":" @title XAllocationVoting\n @notice This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds.\n The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \"Quadratic Funding\" formula.\n @dev Rounds are started by the Emissions contract.\n @dev Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).\n @dev Interacts with the VotingRewards contract to save the user from casting a vote.\n @dev The contract is using AccessControl to handle roles for admin, governance, and round-starting operations.\n ----- Version 2 -----\n - Integrated VeBetterPassport\n - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold\n ----- Version 3 -----\n - Updated the X2EarnApps interface to support node endorsement feature\n ----- Version 4 -----\n - Updated the X2EarnApps interface to support node cooldown functionality\n ----- Version 6 -----\n  - Align IVoterRewards and IEmissions interfaces with the new contracts\n ----- Version 7 -----\n - Proposal Execution: Count proposal deposits to x-allocation voting power\n ----- Version 8 -----\n  - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences"},"fullyImplemented":true,"id":45721,"linearizedBaseContracts":[45721,47975,1914,4566,362,48939,50017,48514,48753,50265,50428,49575,50553,47146,46200,4552,4332,5961,4415,3987,1732],"name":"XAllocationVotingV8","nameLocation":"3625:19:82","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":45073,"nodeType":"StructuredDocumentation","src":"4021:70:82","text":"@notice Role identifier for the address that can start a new round"},"functionSelector":"cd669a72","id":45078,"mutability":"constant","name":"ROUND_STARTER_ROLE","nameLocation":"4118:18:82","nodeType":"VariableDeclaration","scope":45721,"src":"4094:76:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4094:7:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"524f554e445f535441525445525f524f4c45","id":45076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4149:20:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b","typeString":"literal_string \"ROUND_STARTER_ROLE\""},"value":"ROUND_STARTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b","typeString":"literal_string \"ROUND_STARTER_ROLE\""}],"id":45075,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4139:9:82","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":45077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4139:31:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":45079,"nodeType":"StructuredDocumentation","src":"4174:73:82","text":"@notice Role identifier for the address that can upgrade the contract"},"functionSelector":"f72c0d8b","id":45084,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"4274:13:82","nodeType":"VariableDeclaration","scope":45721,"src":"4250:66:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4250:7:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":45082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4300:15:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":45081,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4290:9:82","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":45083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4290:26:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":45085,"nodeType":"StructuredDocumentation","src":"4320:53:82","text":"@notice Role identifier for governance operations"},"functionSelector":"f36c8f5c","id":45090,"mutability":"constant","name":"GOVERNANCE_ROLE","nameLocation":"4400:15:82","nodeType":"VariableDeclaration","scope":45721,"src":"4376:70:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4376:7:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"474f5645524e414e43455f524f4c45","id":45088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4428:17:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""},"value":"GOVERNANCE_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""}],"id":45087,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4418:9:82","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":45089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4418:28:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":45091,"nodeType":"StructuredDocumentation","src":"4450:99:82","text":"@notice The role that can set the addresses of the contracts used by the VoterRewards contract."},"functionSelector":"952f2133","id":45096,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"4576:30:82","nodeType":"VariableDeclaration","scope":45721,"src":"4552:100:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4552:7:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":45094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4619:32:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":45093,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4609:9:82","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":45095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4609:43:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"canonicalName":"XAllocationVotingV8.InitializationData","documentation":{"id":45097,"nodeType":"StructuredDocumentation","src":"4657:998:82","text":" @notice Data for initializing the contract\n @param vot3Token The address of the VOT3 token used for voting\n @param quorumPercentage quorum as a percentage of the total supply\n @param initialVotingPeriod The round duration\n @param timeLock Address of the timelock contract controlling governance actions\n @param voterRewards The address of the VoterRewards contract\n @param emissions The address of the Emissions contract\n @param admins The addresses of the admins\n @param upgrader The address of the upgrader\n @param contractsAddressManager The address of the contracts address manager.\n @param x2EarnAppsAddress The address of the X2EarnApps contract\n @param baseAllocationPercentage A percentage of the total amount of allocations that should be equaly distributed to all apps in a round\n @param appSharesCap Max amount of % of votes an app can get in a round\n @param votingThreshold Minimum amount of VOT3 balance to cast a vote"},"id":45129,"members":[{"constant":false,"id":45100,"mutability":"mutable","name":"vot3Token","nameLocation":"5697:9:82","nodeType":"VariableDeclaration","scope":45129,"src":"5690:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"},"typeName":{"id":45099,"nodeType":"UserDefinedTypeName","pathNode":{"id":45098,"name":"IVotes","nameLocations":["5690:6:82"],"nodeType":"IdentifierPath","referencedDeclaration":4498,"src":"5690:6:82"},"referencedDeclaration":4498,"src":"5690:6:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}},"visibility":"internal"},{"constant":false,"id":45102,"mutability":"mutable","name":"quorumPercentage","nameLocation":"5720:16:82","nodeType":"VariableDeclaration","scope":45129,"src":"5712:24:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45101,"name":"uint256","nodeType":"ElementaryTypeName","src":"5712:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45104,"mutability":"mutable","name":"initialVotingPeriod","nameLocation":"5749:19:82","nodeType":"VariableDeclaration","scope":45129,"src":"5742:26:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":45103,"name":"uint32","nodeType":"ElementaryTypeName","src":"5742:6:82","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":45106,"mutability":"mutable","name":"timeLock","nameLocation":"5782:8:82","nodeType":"VariableDeclaration","scope":45129,"src":"5774:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45105,"name":"address","nodeType":"ElementaryTypeName","src":"5774:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45109,"mutability":"mutable","name":"voterRewards","nameLocation":"5810:12:82","nodeType":"VariableDeclaration","scope":45129,"src":"5796:26:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":45108,"nodeType":"UserDefinedTypeName","pathNode":{"id":45107,"name":"IVoterRewards","nameLocations":["5796:13:82"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"5796:13:82"},"referencedDeclaration":69092,"src":"5796:13:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"},{"constant":false,"id":45112,"mutability":"mutable","name":"emissions","nameLocation":"5839:9:82","nodeType":"VariableDeclaration","scope":45129,"src":"5828:20:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":45111,"nodeType":"UserDefinedTypeName","pathNode":{"id":45110,"name":"IEmissions","nameLocations":["5828:10:82"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"5828:10:82"},"referencedDeclaration":64454,"src":"5828:10:82","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":45115,"mutability":"mutable","name":"admins","nameLocation":"5864:6:82","nodeType":"VariableDeclaration","scope":45129,"src":"5854:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":45113,"name":"address","nodeType":"ElementaryTypeName","src":"5854:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":45114,"nodeType":"ArrayTypeName","src":"5854:9:82","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":45117,"mutability":"mutable","name":"upgrader","nameLocation":"5884:8:82","nodeType":"VariableDeclaration","scope":45129,"src":"5876:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45116,"name":"address","nodeType":"ElementaryTypeName","src":"5876:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45119,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"5906:23:82","nodeType":"VariableDeclaration","scope":45129,"src":"5898:31:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45118,"name":"address","nodeType":"ElementaryTypeName","src":"5898:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45122,"mutability":"mutable","name":"x2EarnAppsAddress","nameLocation":"5947:17:82","nodeType":"VariableDeclaration","scope":45129,"src":"5935:29:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":45121,"nodeType":"UserDefinedTypeName","pathNode":{"id":45120,"name":"IX2EarnApps","nameLocations":["5935:11:82"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"5935:11:82"},"referencedDeclaration":69989,"src":"5935:11:82","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":45124,"mutability":"mutable","name":"baseAllocationPercentage","nameLocation":"5978:24:82","nodeType":"VariableDeclaration","scope":45129,"src":"5970:32:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45123,"name":"uint256","nodeType":"ElementaryTypeName","src":"5970:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45126,"mutability":"mutable","name":"appSharesCap","nameLocation":"6016:12:82","nodeType":"VariableDeclaration","scope":45129,"src":"6008:20:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45125,"name":"uint256","nodeType":"ElementaryTypeName","src":"6008:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45128,"mutability":"mutable","name":"votingThreshold","nameLocation":"6042:15:82","nodeType":"VariableDeclaration","scope":45129,"src":"6034:23:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45127,"name":"uint256","nodeType":"ElementaryTypeName","src":"6034:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"5665:18:82","nodeType":"StructDefinition","scope":45721,"src":"5658:404:82","visibility":"public"},{"body":{"id":45136,"nodeType":"Block","src":"6131:33:82","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":45133,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"6137:20:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":45134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6137:22:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45135,"nodeType":"ExpressionStatement","src":"6137:22:82"}]},"documentation":{"id":45130,"nodeType":"StructuredDocumentation","src":"6066:48:82","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":45137,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":45131,"nodeType":"ParameterList","parameters":[],"src":"6128:2:82"},"returnParameters":{"id":45132,"nodeType":"ParameterList","parameters":[],"src":"6131:0:82"},"scope":45721,"src":"6117:47:82","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":45292,"nodeType":"Block","src":"6329:1232:82","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":45156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":45149,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6351:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6356:9:82","memberName":"vot3Token","nodeType":"MemberAccess","referencedDeclaration":45100,"src":"6351:14:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}],"id":45148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6343:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":45147,"name":"address","nodeType":"ElementaryTypeName","src":"6343:7:82","typeDescriptions":{}}},"id":45151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6343:23:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":45154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6378:1:82","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":45153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6370:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":45152,"name":"address","nodeType":"ElementaryTypeName","src":"6370:7:82","typeDescriptions":{}}},"id":45155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6370:10:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6343:37:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420564f543320746f6b656e2061646472657373","id":45157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6382:47:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a","typeString":"literal_string \"XAllocationVoting: invalid VOT3 token address\""},"value":"XAllocationVoting: invalid VOT3 token address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a","typeString":"literal_string \"XAllocationVoting: invalid VOT3 token address\""}],"id":45146,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6335:7:82","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":45158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6335:95:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45159,"nodeType":"ExpressionStatement","src":"6335:95:82"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":45170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":45163,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6452:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45164,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6457:12:82","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":45109,"src":"6452:17:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":45162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6444:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":45161,"name":"address","nodeType":"ElementaryTypeName","src":"6444:7:82","typeDescriptions":{}}},"id":45165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6444:26:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":45168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6482:1:82","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":45167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6474:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":45166,"name":"address","nodeType":"ElementaryTypeName","src":"6474:7:82","typeDescriptions":{}}},"id":45169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6474:10:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6444:40:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420566f746572526577617264732061646472657373","id":45171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6486:49:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6","typeString":"literal_string \"XAllocationVoting: invalid VoterRewards address\""},"value":"XAllocationVoting: invalid VoterRewards address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6","typeString":"literal_string \"XAllocationVoting: invalid VoterRewards address\""}],"id":45160,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6436:7:82","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":45172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6436:100:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45173,"nodeType":"ExpressionStatement","src":"6436:100:82"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":45184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":45177,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6558:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6563:9:82","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":45112,"src":"6558:14:82","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":45176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6550:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":45175,"name":"address","nodeType":"ElementaryTypeName","src":"6550:7:82","typeDescriptions":{}}},"id":45179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6550:23:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":45182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6585:1:82","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":45181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6577:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":45180,"name":"address","nodeType":"ElementaryTypeName","src":"6577:7:82","typeDescriptions":{}}},"id":45183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6577:10:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6550:37:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420456d697373696f6e732061646472657373","id":45185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6589:46:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890","typeString":"literal_string \"XAllocationVoting: invalid Emissions address\""},"value":"XAllocationVoting: invalid Emissions address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890","typeString":"literal_string \"XAllocationVoting: invalid Emissions address\""}],"id":45174,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6542:7:82","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":45186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6542:94:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45187,"nodeType":"ExpressionStatement","src":"6542:94:82"},{"expression":{"arguments":[{"hexValue":"58416c6c6f636174696f6e566f74696e67","id":45189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6676:19:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_b95cb6ed3f65471e8fe0a840073c7edc41580c0dea9cea8ec17f56768c85fc1c","typeString":"literal_string \"XAllocationVoting\""},"value":"XAllocationVoting"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b95cb6ed3f65471e8fe0a840073c7edc41580c0dea9cea8ec17f56768c85fc1c","typeString":"literal_string \"XAllocationVoting\""}],"id":45188,"name":"__XAllocationVotingGovernor_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46286,"src":"6643:32:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":45190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6643:53:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45191,"nodeType":"ExpressionStatement","src":"6643:53:82"},{"expression":{"arguments":[{"expression":{"id":45193,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6727:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6732:17:82","memberName":"x2EarnAppsAddress","nodeType":"MemberAccess","referencedDeclaration":45122,"src":"6727:22:82","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},{"expression":{"id":45195,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6751:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6756:9:82","memberName":"emissions","nodeType":"MemberAccess","referencedDeclaration":45112,"src":"6751:14:82","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},{"expression":{"id":45197,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6767:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6772:12:82","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":45109,"src":"6767:17:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":45192,"name":"__ExternalContracts_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48089,"src":"6702:24:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IX2EarnApps_$69989_$_t_contract$_IEmissions_$64454_$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IX2EarnApps,contract IEmissions,contract IVoterRewards)"}},"id":45199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6702:83:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45200,"nodeType":"ExpressionStatement","src":"6702:83:82"},{"expression":{"arguments":[{"expression":{"id":45202,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6813:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6818:19:82","memberName":"initialVotingPeriod","nodeType":"MemberAccess","referencedDeclaration":45104,"src":"6813:24:82","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":45201,"name":"__VotingSettings_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50473,"src":"6791:21:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$returns$__$","typeString":"function (uint32)"}},"id":45204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6791:47:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45205,"nodeType":"ExpressionStatement","src":"6791:47:82"},{"expression":{"arguments":[{"expression":{"id":45207,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6870:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6875:15:82","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":45128,"src":"6870:20:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45206,"name":"__RoundVotesCounting_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49019,"src":"6844:25:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":45209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6844:47:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45210,"nodeType":"ExpressionStatement","src":"6844:47:82"},{"expression":{"arguments":[{"expression":{"id":45212,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6910:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6915:9:82","memberName":"vot3Token","nodeType":"MemberAccess","referencedDeclaration":45100,"src":"6910:14:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}],"id":45211,"name":"__Votes_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50313,"src":"6897:12:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IVotes_$4498_$returns$__$","typeString":"function (contract IVotes)"}},"id":45214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6897:28:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45215,"nodeType":"ExpressionStatement","src":"6897:28:82"},{"expression":{"arguments":[{"expression":{"id":45217,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"6958:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6963:16:82","memberName":"quorumPercentage","nodeType":"MemberAccess","referencedDeclaration":45102,"src":"6958:21:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45216,"name":"__VotesQuorumFraction_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50078,"src":"6931:26:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":45219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6931:49:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45220,"nodeType":"ExpressionStatement","src":"6931:49:82"},{"expression":{"arguments":[{"expression":{"id":45222,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"7015:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7020:24:82","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":45124,"src":"7015:29:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":45224,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"7046:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7051:12:82","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":45126,"src":"7046:17:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45221,"name":"__RoundEarningsSettings_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48566,"src":"6986:28:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":45226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6986:78:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45227,"nodeType":"ExpressionStatement","src":"6986:78:82"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":45228,"name":"__RoundFinalization_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48795,"src":"7070:24:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":45229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7070:26:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45230,"nodeType":"ExpressionStatement","src":"7070:26:82"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":45231,"name":"__RoundsStorage_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49632,"src":"7102:20:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":45232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7102:22:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45233,"nodeType":"ExpressionStatement","src":"7102:22:82"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":45234,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"7130:20:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":45235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7130:22:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45236,"nodeType":"ExpressionStatement","src":"7130:22:82"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":45237,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"7158:22:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":45238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7158:24:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45239,"nodeType":"ExpressionStatement","src":"7158:24:82"},{"body":{"id":45272,"nodeType":"Block","src":"7234:150:82","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":45260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":45252,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"7250:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7255:6:82","memberName":"admins","nodeType":"MemberAccess","referencedDeclaration":45115,"src":"7250:11:82","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":45255,"indexExpression":{"id":45254,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45241,"src":"7262:1:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7250:14:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":45258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7276:1:82","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":45257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7268:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":45256,"name":"address","nodeType":"ElementaryTypeName","src":"7268:7:82","typeDescriptions":{}}},"id":45259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7268:10:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7250:28:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c69642061646d696e2061646472657373","id":45261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7280:42:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b","typeString":"literal_string \"XAllocationVoting: invalid admin address\""},"value":"XAllocationVoting: invalid admin address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b","typeString":"literal_string \"XAllocationVoting: invalid admin address\""}],"id":45251,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7242:7:82","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":45262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7242:81:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45263,"nodeType":"ExpressionStatement","src":"7242:81:82"},{"expression":{"arguments":[{"id":45265,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"7342:18:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"expression":{"id":45266,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"7362:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45267,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7367:6:82","memberName":"admins","nodeType":"MemberAccess","referencedDeclaration":45115,"src":"7362:11:82","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":45269,"indexExpression":{"id":45268,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45241,"src":"7374:1:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7362:14:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":45264,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"7331:10:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":45270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7331:46:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45271,"nodeType":"ExpressionStatement","src":"7331:46:82"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45243,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45241,"src":"7205:1:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":45244,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"7209:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7214:6:82","memberName":"admins","nodeType":"MemberAccess","referencedDeclaration":45115,"src":"7209:11:82","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":45246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7221:6:82","memberName":"length","nodeType":"MemberAccess","src":"7209:18:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7205:22:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45273,"initializationExpression":{"assignments":[45241],"declarations":[{"constant":false,"id":45241,"mutability":"mutable","name":"i","nameLocation":"7202:1:82","nodeType":"VariableDeclaration","scope":45273,"src":"7194:9:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45240,"name":"uint256","nodeType":"ElementaryTypeName","src":"7194:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45242,"nodeType":"VariableDeclarationStatement","src":"7194:9:82"},"loopExpression":{"expression":{"id":45249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7229:3:82","subExpression":{"id":45248,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45241,"src":"7229:1:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45250,"nodeType":"ExpressionStatement","src":"7229:3:82"},"nodeType":"ForStatement","src":"7189:195:82"},{"expression":{"arguments":[{"id":45275,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45084,"src":"7401:13:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":45276,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"7416:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7421:8:82","memberName":"upgrader","nodeType":"MemberAccess","referencedDeclaration":45117,"src":"7416:13:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":45274,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"7390:10:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":45278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7390:40:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45279,"nodeType":"ExpressionStatement","src":"7390:40:82"},{"expression":{"arguments":[{"id":45281,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45090,"src":"7447:15:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":45282,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"7464:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7469:8:82","memberName":"timeLock","nodeType":"MemberAccess","referencedDeclaration":45106,"src":"7464:13:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":45280,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"7436:10:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":45284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7436:42:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45285,"nodeType":"ExpressionStatement","src":"7436:42:82"},{"expression":{"arguments":[{"id":45287,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45096,"src":"7495:30:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":45288,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45141,"src":"7527:4:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData memory"}},"id":45289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7532:23:82","memberName":"contractsAddressManager","nodeType":"MemberAccess","referencedDeclaration":45119,"src":"7527:28:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":45286,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"7484:10:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":45290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7484:72:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45291,"nodeType":"ExpressionStatement","src":"7484:72:82"}]},"documentation":{"id":45138,"nodeType":"StructuredDocumentation","src":"6168:87:82","text":" @notice Initialize the contract\n @param data The initialization data"},"functionSelector":"e7ad2bed","id":45293,"implemented":true,"kind":"function","modifiers":[{"id":45144,"kind":"modifierInvocation","modifierName":{"id":45143,"name":"initializer","nameLocations":["6317:11:82"],"nodeType":"IdentifierPath","referencedDeclaration":1586,"src":"6317:11:82"},"nodeType":"ModifierInvocation","src":"6317:11:82"}],"name":"initialize","nameLocation":"6267:10:82","nodeType":"FunctionDefinition","parameters":{"id":45142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45141,"mutability":"mutable","name":"data","nameLocation":"6304:4:82","nodeType":"VariableDeclaration","scope":45293,"src":"6278:30:82","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_memory_ptr","typeString":"struct XAllocationVotingV8.InitializationData"},"typeName":{"id":45140,"nodeType":"UserDefinedTypeName","pathNode":{"id":45139,"name":"InitializationData","nameLocations":["6278:18:82"],"nodeType":"IdentifierPath","referencedDeclaration":45129,"src":"6278:18:82"},"referencedDeclaration":45129,"src":"6278:18:82","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$45129_storage_ptr","typeString":"struct XAllocationVotingV8.InitializationData"}},"visibility":"internal"}],"src":"6277:32:82"},"returnParameters":{"id":45145,"nodeType":"ParameterList","parameters":[],"src":"6329:0:82"},"scope":45721,"src":"6258:1303:82","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[46042],"body":{"id":45314,"nodeType":"Block","src":"7706:115:82","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":45302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":45299,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"7716:10:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":45300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7716:12:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":45301,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45296,"src":"7732:4:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7716:20:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45309,"nodeType":"IfStatement","src":"7712:75:82","trueBody":{"id":45308,"nodeType":"Block","src":"7738:49:82","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":45304,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"7767:10:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":45305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7767:12:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":45303,"name":"InvalidCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45813,"src":"7753:13:82","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":45306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7753:27:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45307,"nodeType":"RevertStatement","src":"7746:34:82"}]}},{"expression":{"arguments":[{"id":45311,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45296,"src":"7811:4:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":45310,"name":"_toggleAutoVoting","nodeType":"Identifier","overloadedDeclarations":[47789],"referencedDeclaration":47789,"src":"7793:17:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":45312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:23:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45313,"nodeType":"ExpressionStatement","src":"7793:23:82"}]},"documentation":{"id":45294,"nodeType":"StructuredDocumentation","src":"7604:52:82","text":" @dev Toggle autovoting for the caller"},"functionSelector":"8a829eda","id":45315,"implemented":true,"kind":"function","modifiers":[],"name":"toggleAutoVoting","nameLocation":"7668:16:82","nodeType":"FunctionDefinition","parameters":{"id":45297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45296,"mutability":"mutable","name":"user","nameLocation":"7693:4:82","nodeType":"VariableDeclaration","scope":45315,"src":"7685:12:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45295,"name":"address","nodeType":"ElementaryTypeName","src":"7685:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7684:14:82"},"returnParameters":{"id":45298,"nodeType":"ParameterList","parameters":[],"src":"7706:0:82"},"scope":45721,"src":"7659:162:82","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":45328,"nodeType":"Block","src":"7955:58:82","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":45323,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"7987:10:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":45324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7987:12:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45325,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45319,"src":"8001:6:82","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":45322,"name":"_setUserVotingPreferences","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47820,"src":"7961:25:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (address,bytes32[] memory)"}},"id":45326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7961:47:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45327,"nodeType":"ExpressionStatement","src":"7961:47:82"}]},"documentation":{"id":45316,"nodeType":"StructuredDocumentation","src":"7825:61:82","text":" @dev Set the voting preferences for the caller"},"functionSelector":"3b395cbe","id":45329,"implemented":true,"kind":"function","modifiers":[],"name":"setUserVotingPreferences","nameLocation":"7898:24:82","nodeType":"FunctionDefinition","parameters":{"id":45320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45319,"mutability":"mutable","name":"appIds","nameLocation":"7940:6:82","nodeType":"VariableDeclaration","scope":45329,"src":"7923:23:82","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":45317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7923:7:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":45318,"nodeType":"ArrayTypeName","src":"7923:9:82","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"7922:25:82"},"returnParameters":{"id":45321,"nodeType":"ParameterList","parameters":[],"src":"7955:0:82"},"scope":45721,"src":"7889:124:82","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":45343,"nodeType":"Block","src":"8189:40:82","statements":[{"expression":{"arguments":[{"id":45340,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45333,"src":"8210:13:82","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":45339,"name":"_setX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48329,"src":"8195:14:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IX2EarnApps_$69989_$returns$__$","typeString":"function (contract IX2EarnApps)"}},"id":45341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8195:29:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45342,"nodeType":"ExpressionStatement","src":"8195:29:82"}]},"documentation":{"id":45330,"nodeType":"StructuredDocumentation","src":"8017:62:82","text":" @dev Set the address of the X2EarnApps contract"},"functionSelector":"c048f6c9","id":45344,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45336,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45096,"src":"8157:30:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45337,"kind":"modifierInvocation","modifierName":{"id":45335,"name":"onlyRole","nameLocations":["8148:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8148:8:82"},"nodeType":"ModifierInvocation","src":"8148:40:82"}],"name":"setX2EarnAppsAddress","nameLocation":"8091:20:82","nodeType":"FunctionDefinition","parameters":{"id":45334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45333,"mutability":"mutable","name":"newX2EarnApps","nameLocation":"8124:13:82","nodeType":"VariableDeclaration","scope":45344,"src":"8112:25:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":45332,"nodeType":"UserDefinedTypeName","pathNode":{"id":45331,"name":"IX2EarnApps","nameLocations":["8112:11:82"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"8112:11:82"},"referencedDeclaration":69989,"src":"8112:11:82","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"8111:27:82"},"returnParameters":{"id":45338,"nodeType":"ParameterList","parameters":[],"src":"8189:0:82"},"scope":45721,"src":"8082:147:82","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":45358,"nodeType":"Block","src":"8401:38:82","statements":[{"expression":{"arguments":[{"id":45355,"name":"newEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45348,"src":"8421:12:82","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":45354,"name":"_setEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48283,"src":"8407:13:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IEmissions_$64454_$returns$__$","typeString":"function (contract IEmissions)"}},"id":45356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8407:27:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45357,"nodeType":"ExpressionStatement","src":"8407:27:82"}]},"documentation":{"id":45345,"nodeType":"StructuredDocumentation","src":"8233:61:82","text":" @dev Set the address of the Emissions contract"},"functionSelector":"57181609","id":45359,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45351,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45096,"src":"8369:30:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45352,"kind":"modifierInvocation","modifierName":{"id":45350,"name":"onlyRole","nameLocations":["8360:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8360:8:82"},"nodeType":"ModifierInvocation","src":"8360:40:82"}],"name":"setEmissionsAddress","nameLocation":"8306:19:82","nodeType":"FunctionDefinition","parameters":{"id":45349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45348,"mutability":"mutable","name":"newEmissions","nameLocation":"8337:12:82","nodeType":"VariableDeclaration","scope":45359,"src":"8326:23:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":45347,"nodeType":"UserDefinedTypeName","pathNode":{"id":45346,"name":"IEmissions","nameLocations":["8326:10:82"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"8326:10:82"},"referencedDeclaration":64454,"src":"8326:10:82","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"8325:25:82"},"returnParameters":{"id":45353,"nodeType":"ParameterList","parameters":[],"src":"8401:0:82"},"scope":45721,"src":"8297:142:82","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":45373,"nodeType":"Block","src":"8623:44:82","statements":[{"expression":{"arguments":[{"id":45370,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45363,"src":"8646:15:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":45369,"name":"_setVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48375,"src":"8629:16:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IVoterRewards)"}},"id":45371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8629:33:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45372,"nodeType":"ExpressionStatement","src":"8629:33:82"}]},"documentation":{"id":45360,"nodeType":"StructuredDocumentation","src":"8443:64:82","text":" @dev Set the address of the VoterRewards contract"},"functionSelector":"b25d6f62","id":45374,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45366,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45096,"src":"8591:30:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45367,"kind":"modifierInvocation","modifierName":{"id":45365,"name":"onlyRole","nameLocations":["8582:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8582:8:82"},"nodeType":"ModifierInvocation","src":"8582:40:82"}],"name":"setVoterRewardsAddress","nameLocation":"8519:22:82","nodeType":"FunctionDefinition","parameters":{"id":45364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45363,"mutability":"mutable","name":"newVoterRewards","nameLocation":"8556:15:82","nodeType":"VariableDeclaration","scope":45374,"src":"8542:29:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":45362,"nodeType":"UserDefinedTypeName","pathNode":{"id":45361,"name":"IVoterRewards","nameLocations":["8542:13:82"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"8542:13:82"},"referencedDeclaration":69092,"src":"8542:13:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"8541:31:82"},"returnParameters":{"id":45368,"nodeType":"ParameterList","parameters":[],"src":"8623:0:82"},"scope":45721,"src":"8510:157:82","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":45388,"nodeType":"Block","src":"8853:52:82","statements":[{"expression":{"arguments":[{"id":45385,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45378,"src":"8880:19:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":45384,"name":"_setVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48421,"src":"8859:20:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IVeBetterPassport_$68601_$returns$__$","typeString":"function (contract IVeBetterPassport)"}},"id":45386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8859:41:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45387,"nodeType":"ExpressionStatement","src":"8859:41:82"}]},"documentation":{"id":45375,"nodeType":"StructuredDocumentation","src":"8671:53:82","text":" @dev Set the VeBetterPassport contract"},"functionSelector":"b3c93dab","id":45389,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45381,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45096,"src":"8821:30:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45382,"kind":"modifierInvocation","modifierName":{"id":45380,"name":"onlyRole","nameLocations":["8812:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8812:8:82"},"nodeType":"ModifierInvocation","src":"8812:40:82"}],"name":"setVeBetterPassport","nameLocation":"8736:19:82","nodeType":"FunctionDefinition","parameters":{"id":45379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45378,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"8779:19:82","nodeType":"VariableDeclaration","scope":45389,"src":"8761:37:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":45377,"nodeType":"UserDefinedTypeName","pathNode":{"id":45376,"name":"IVeBetterPassport","nameLocations":["8761:17:82"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"8761:17:82"},"referencedDeclaration":68601,"src":"8761:17:82","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"8755:47:82"},"returnParameters":{"id":45383,"nodeType":"ParameterList","parameters":[],"src":"8853:0:82"},"scope":45721,"src":"8727:178:82","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":45403,"nodeType":"Block","src":"9067:44:82","statements":[{"expression":{"arguments":[{"id":45400,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45393,"src":"9090:15:82","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":45399,"name":"_setB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48467,"src":"9073:16:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IB3TRGovernor_$63919_$returns$__$","typeString":"function (contract IB3TRGovernor)"}},"id":45401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9073:33:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45402,"nodeType":"ExpressionStatement","src":"9073:33:82"}]},"documentation":{"id":45390,"nodeType":"StructuredDocumentation","src":"8909:49:82","text":" @dev Set the B3TRGovernor contract"},"functionSelector":"78a81336","id":45404,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45396,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45096,"src":"9035:30:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45397,"kind":"modifierInvocation","modifierName":{"id":45395,"name":"onlyRole","nameLocations":["9026:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9026:8:82"},"nodeType":"ModifierInvocation","src":"9026:40:82"}],"name":"setB3TRGovernor","nameLocation":"8970:15:82","nodeType":"FunctionDefinition","parameters":{"id":45394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45393,"mutability":"mutable","name":"newB3TRGovernor","nameLocation":"9000:15:82","nodeType":"VariableDeclaration","scope":45404,"src":"8986:29:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":45392,"nodeType":"UserDefinedTypeName","pathNode":{"id":45391,"name":"IB3TRGovernor","nameLocations":["8986:13:82"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"8986:13:82"},"referencedDeclaration":63919,"src":"8986:13:82","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"8985:31:82"},"returnParameters":{"id":45398,"nodeType":"ParameterList","parameters":[],"src":"9067:0:82"},"scope":45721,"src":"8961:150:82","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":45418,"nodeType":"Block","src":"9327:56:82","statements":[{"expression":{"arguments":[{"id":45415,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45408,"src":"9356:21:82","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":45414,"name":"_setRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48513,"src":"9333:22:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRelayerRewardsPool_$67117_$returns$__$","typeString":"function (contract IRelayerRewardsPool)"}},"id":45416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9333:45:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45417,"nodeType":"ExpressionStatement","src":"9333:45:82"}]},"documentation":{"id":45405,"nodeType":"StructuredDocumentation","src":"9115:70:82","text":" @dev Set the address of the RelayerRewardsPool contract"},"functionSelector":"5dbdba6e","id":45419,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45411,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45096,"src":"9295:30:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45412,"kind":"modifierInvocation","modifierName":{"id":45410,"name":"onlyRole","nameLocations":["9286:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9286:8:82"},"nodeType":"ModifierInvocation","src":"9286:40:82"}],"name":"setRelayerRewardsPoolAddress","nameLocation":"9197:28:82","nodeType":"FunctionDefinition","parameters":{"id":45409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45408,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"9251:21:82","nodeType":"VariableDeclaration","scope":45419,"src":"9231:41:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":45407,"nodeType":"UserDefinedTypeName","pathNode":{"id":45406,"name":"IRelayerRewardsPool","nameLocations":["9231:19:82"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"9231:19:82"},"referencedDeclaration":67117,"src":"9231:19:82","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"9225:51:82"},"returnParameters":{"id":45413,"nodeType":"ParameterList","parameters":[],"src":"9327:0:82"},"scope":45721,"src":"9188:195:82","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[49060],"body":{"id":45435,"nodeType":"Block","src":"9658:55:82","statements":[{"expression":{"arguments":[{"id":45432,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45422,"src":"9689:18:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45429,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9664:5:82","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV8_$45721_$","typeString":"type(contract super XAllocationVotingV8)"}},"id":45431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9670:18:82","memberName":"setVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":49060,"src":"9664:24:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":45433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9664:44:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45434,"nodeType":"ExpressionStatement","src":"9664:44:82"}]},"documentation":{"id":45420,"nodeType":"StructuredDocumentation","src":"9387:162:82","text":" @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n Emits a {VotingThresholdSet} event."},"functionSelector":"836761e0","id":45436,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45426,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45090,"src":"9641:15:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45427,"kind":"modifierInvocation","modifierName":{"id":45425,"name":"onlyRole","nameLocations":["9632:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9632:8:82"},"nodeType":"ModifierInvocation","src":"9632:25:82"}],"name":"setVotingThreshold","nameLocation":"9561:18:82","nodeType":"FunctionDefinition","overrides":{"id":45424,"nodeType":"OverrideSpecifier","overrides":[],"src":"9623:8:82"},"parameters":{"id":45423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45422,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"9588:18:82","nodeType":"VariableDeclaration","scope":45436,"src":"9580:26:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45421,"name":"uint256","nodeType":"ElementaryTypeName","src":"9580:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9579:28:82"},"returnParameters":{"id":45428,"nodeType":"ParameterList","parameters":[],"src":"9658:0:82"},"scope":45721,"src":"9552:161:82","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[46340],"body":{"id":45450,"nodeType":"Block","src":"9887:39:82","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":45446,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9900:5:82","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV8_$45721_$","typeString":"type(contract super XAllocationVotingV8)"}},"id":45447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9906:13:82","memberName":"startNewRound","nodeType":"MemberAccess","referencedDeclaration":46340,"src":"9900:19:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":45448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9900:21:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45445,"id":45449,"nodeType":"Return","src":"9893:28:82"}]},"documentation":{"id":45437,"nodeType":"StructuredDocumentation","src":"9717:79:82","text":" @dev Start a new voting round for allocating funds to the x-apps"},"functionSelector":"bd85948c","id":45451,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45441,"name":"ROUND_STARTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45078,"src":"9849:18:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45442,"kind":"modifierInvocation","modifierName":{"id":45440,"name":"onlyRole","nameLocations":["9840:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9840:8:82"},"nodeType":"ModifierInvocation","src":"9840:28:82"}],"name":"startNewRound","nameLocation":"9808:13:82","nodeType":"FunctionDefinition","overrides":{"id":45439,"nodeType":"OverrideSpecifier","overrides":[],"src":"9831:8:82"},"parameters":{"id":45438,"nodeType":"ParameterList","parameters":[],"src":"9821:2:82"},"returnParameters":{"id":45445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45444,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45451,"src":"9878:7:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45443,"name":"uint256","nodeType":"ElementaryTypeName","src":"9878:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9877:9:82"},"scope":45721,"src":"9799:127:82","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[48746],"body":{"id":45465,"nodeType":"Block","src":"10107:42:82","statements":[{"expression":{"arguments":[{"id":45462,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45454,"src":"10130:13:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45461,"name":"_setAppSharesCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48708,"src":"10113:16:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":45463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10113:31:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45464,"nodeType":"ExpressionStatement","src":"10113:31:82"}]},"documentation":{"id":45452,"nodeType":"StructuredDocumentation","src":"9930:74:82","text":" @dev Set the max amount of shares an app can get in a round"},"functionSelector":"74038935","id":45466,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45458,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45090,"src":"10090:15:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45459,"kind":"modifierInvocation","modifierName":{"id":45457,"name":"onlyRole","nameLocations":["10081:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"10081:8:82"},"nodeType":"ModifierInvocation","src":"10081:25:82"}],"name":"setAppSharesCap","nameLocation":"10016:15:82","nodeType":"FunctionDefinition","overrides":{"id":45456,"nodeType":"OverrideSpecifier","overrides":[],"src":"10072:8:82"},"parameters":{"id":45455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45454,"mutability":"mutable","name":"appSharesCap_","nameLocation":"10040:13:82","nodeType":"VariableDeclaration","scope":45466,"src":"10032:21:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45453,"name":"uint256","nodeType":"ElementaryTypeName","src":"10032:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10031:23:82"},"returnParameters":{"id":45460,"nodeType":"ParameterList","parameters":[],"src":"10107:0:82"},"scope":45721,"src":"10007:142:82","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"baseFunctions":[48752],"body":{"id":45480,"nodeType":"Block","src":"10374:66:82","statements":[{"expression":{"arguments":[{"id":45477,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45469,"src":"10409:25:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45476,"name":"_setBaseAllocationPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48682,"src":"10380:28:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":45478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10380:55:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45479,"nodeType":"ExpressionStatement","src":"10380:55:82"}]},"documentation":{"id":45467,"nodeType":"StructuredDocumentation","src":"10153:88:82","text":" @dev Set the base allocation percentage for funds distribution in a round"},"functionSelector":"f5fae136","id":45481,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45473,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45090,"src":"10357:15:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45474,"kind":"modifierInvocation","modifierName":{"id":45472,"name":"onlyRole","nameLocations":["10348:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"10348:8:82"},"nodeType":"ModifierInvocation","src":"10348:25:82"}],"name":"setBaseAllocationPercentage","nameLocation":"10253:27:82","nodeType":"FunctionDefinition","overrides":{"id":45471,"nodeType":"OverrideSpecifier","overrides":[],"src":"10339:8:82"},"parameters":{"id":45470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45469,"mutability":"mutable","name":"baseAllocationPercentage_","nameLocation":"10294:25:82","nodeType":"VariableDeclaration","scope":45481,"src":"10286:33:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45468,"name":"uint256","nodeType":"ElementaryTypeName","src":"10286:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10280:43:82"},"returnParameters":{"id":45475,"nodeType":"ParameterList","parameters":[],"src":"10374:0:82"},"scope":45721,"src":"10244:196:82","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":45494,"nodeType":"Block","src":"10590:44:82","statements":[{"expression":{"arguments":[{"id":45491,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45484,"src":"10613:15:82","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":45490,"name":"_setVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50552,"src":"10596:16:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$returns$__$","typeString":"function (uint32)"}},"id":45492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10596:33:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45493,"nodeType":"ExpressionStatement","src":"10596:33:82"}]},"documentation":{"id":45482,"nodeType":"StructuredDocumentation","src":"10444:53:82","text":" @dev Set the voting period for a round"},"functionSelector":"e540d01d","id":45495,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45487,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45090,"src":"10573:15:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45488,"kind":"modifierInvocation","modifierName":{"id":45486,"name":"onlyRole","nameLocations":["10564:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"10564:8:82"},"nodeType":"ModifierInvocation","src":"10564:25:82"}],"name":"setVotingPeriod","nameLocation":"10509:15:82","nodeType":"FunctionDefinition","parameters":{"id":45485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45484,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"10532:15:82","nodeType":"VariableDeclaration","scope":45495,"src":"10525:22:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":45483,"name":"uint32","nodeType":"ElementaryTypeName","src":"10525:6:82","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"10524:24:82"},"returnParameters":{"id":45489,"nodeType":"ParameterList","parameters":[],"src":"10590:0:82"},"scope":45721,"src":"10500:134:82","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[50213],"body":{"id":45511,"nodeType":"Block","src":"10827:58:82","statements":[{"expression":{"arguments":[{"id":45508,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45498,"src":"10861:18:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45505,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10833:5:82","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV8_$45721_$","typeString":"type(contract super XAllocationVotingV8)"}},"id":45507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10839:21:82","memberName":"updateQuorumNumerator","nodeType":"MemberAccess","referencedDeclaration":50213,"src":"10833:27:82","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":45509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10833:47:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45510,"nodeType":"ExpressionStatement","src":"10833:47:82"}]},"documentation":{"id":45496,"nodeType":"StructuredDocumentation","src":"10638:77:82","text":" @dev Update the quorum a round needs to reach to be successful"},"functionSelector":"06f3f9e6","id":45512,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45502,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45090,"src":"10810:15:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45503,"kind":"modifierInvocation","modifierName":{"id":45501,"name":"onlyRole","nameLocations":["10801:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"10801:8:82"},"nodeType":"ModifierInvocation","src":"10801:25:82"}],"name":"updateQuorumNumerator","nameLocation":"10727:21:82","nodeType":"FunctionDefinition","overrides":{"id":45500,"nodeType":"OverrideSpecifier","overrides":[],"src":"10792:8:82"},"parameters":{"id":45499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45498,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"10757:18:82","nodeType":"VariableDeclaration","scope":45512,"src":"10749:26:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45497,"name":"uint256","nodeType":"ElementaryTypeName","src":"10749:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10748:28:82"},"returnParameters":{"id":45504,"nodeType":"ParameterList","parameters":[],"src":"10827:0:82"},"scope":45721,"src":"10718:167:82","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[46050],"body":{"id":45524,"nodeType":"Block","src":"11170:44:82","statements":[{"expression":{"arguments":[{"id":45521,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45515,"src":"11204:4:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":45520,"name":"_isAutoVotingEnabled","nodeType":"Identifier","overloadedDeclarations":[47876],"referencedDeclaration":47876,"src":"11183:20:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":45522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11183:26:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":45519,"id":45523,"nodeType":"Return","src":"11176:33:82"}]},"documentation":{"id":45513,"nodeType":"StructuredDocumentation","src":"10928:165:82","text":" @dev Checks if auto-voting is enabled for an account\n @param user The address to check\n @return Whether auto-voting is enabled for the account"},"functionSelector":"802d2709","id":45525,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabled","nameLocation":"11105:23:82","nodeType":"FunctionDefinition","parameters":{"id":45516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45515,"mutability":"mutable","name":"user","nameLocation":"11137:4:82","nodeType":"VariableDeclaration","scope":45525,"src":"11129:12:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45514,"name":"address","nodeType":"ElementaryTypeName","src":"11129:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11128:14:82"},"returnParameters":{"id":45519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45518,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45525,"src":"11164:4:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45517,"name":"bool","nodeType":"ElementaryTypeName","src":"11164:4:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11163:6:82"},"scope":45721,"src":"11096:118:82","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46058],"body":{"id":45548,"nodeType":"Block","src":"11491:150:82","statements":[{"assignments":[45534],"declarations":[{"constant":false,"id":45534,"mutability":"mutable","name":"lastEmissionBlock","nameLocation":"11505:17:82","nodeType":"VariableDeclaration","scope":45548,"src":"11497:25:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45533,"name":"uint256","nodeType":"ElementaryTypeName","src":"11497:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45539,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":45535,"name":"emissions","nodeType":"Identifier","overloadedDeclarations":[48164],"referencedDeclaration":48164,"src":"11525:9:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IEmissions_$64454_$","typeString":"function () view returns (contract IEmissions)"}},"id":45536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11525:11:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":45537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11537:17:82","memberName":"lastEmissionBlock","nodeType":"MemberAccess","referencedDeclaration":64292,"src":"11525:29:82","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":45538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11525:31:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11497:59:82"},{"expression":{"arguments":[{"id":45541,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45528,"src":"11601:7:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":45544,"name":"lastEmissionBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45534,"src":"11617:17:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11610:6:82","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":45542,"name":"uint48","nodeType":"ElementaryTypeName","src":"11610:6:82","typeDescriptions":{}}},"id":45545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11610:25:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":45540,"name":"_isAutoVotingEnabledAtTimepoint","nodeType":"Identifier","overloadedDeclarations":[47903],"referencedDeclaration":47903,"src":"11569:31:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view returns (bool)"}},"id":45546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11569:67:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":45532,"id":45547,"nodeType":"Return","src":"11562:74:82"}]},"documentation":{"id":45526,"nodeType":"StructuredDocumentation","src":"11218:179:82","text":" @dev Checks if auto-voting is enabled for an account at the start of the current cycle\n @notice Status changes mid-cycle will only take effect in the next cycle"},"functionSelector":"5fb26367","id":45549,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledInCurrentRound","nameLocation":"11409:37:82","nodeType":"FunctionDefinition","parameters":{"id":45529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45528,"mutability":"mutable","name":"account","nameLocation":"11455:7:82","nodeType":"VariableDeclaration","scope":45549,"src":"11447:15:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45527,"name":"address","nodeType":"ElementaryTypeName","src":"11447:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11446:17:82"},"returnParameters":{"id":45532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45549,"src":"11485:4:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45530,"name":"bool","nodeType":"ElementaryTypeName","src":"11485:4:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11484:6:82"},"scope":45721,"src":"11400:241:82","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46068],"body":{"id":45569,"nodeType":"Block","src":"11903:90:82","statements":[{"expression":{"arguments":[{"id":45560,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45552,"src":"11948:7:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":45564,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45554,"src":"11978:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45563,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[49875],"referencedDeclaration":49875,"src":"11964:13:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":45565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11964:22:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11957:6:82","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":45561,"name":"uint48","nodeType":"ElementaryTypeName","src":"11957:6:82","typeDescriptions":{}}},"id":45566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11957:30:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":45559,"name":"_isAutoVotingEnabledAtTimepoint","nodeType":"Identifier","overloadedDeclarations":[47903],"referencedDeclaration":47903,"src":"11916:31:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view returns (bool)"}},"id":45567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11916:72:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":45558,"id":45568,"nodeType":"Return","src":"11909:79:82"}]},"documentation":{"id":45550,"nodeType":"StructuredDocumentation","src":"11645:153:82","text":" @dev Checks if auto-voting is enabled for an account at the start of a specific round\n @notice Useful function for frontend to consume"},"functionSelector":"3d4fd3c7","id":45570,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledForRound","nameLocation":"11810:31:82","nodeType":"FunctionDefinition","parameters":{"id":45555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45552,"mutability":"mutable","name":"account","nameLocation":"11850:7:82","nodeType":"VariableDeclaration","scope":45570,"src":"11842:15:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45551,"name":"address","nodeType":"ElementaryTypeName","src":"11842:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45554,"mutability":"mutable","name":"roundId","nameLocation":"11867:7:82","nodeType":"VariableDeclaration","scope":45570,"src":"11859:15:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45553,"name":"uint256","nodeType":"ElementaryTypeName","src":"11859:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11841:34:82"},"returnParameters":{"id":45558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45570,"src":"11897:4:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45556,"name":"bool","nodeType":"ElementaryTypeName","src":"11897:4:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11896:6:82"},"scope":45721,"src":"11801:192:82","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46078],"body":{"id":45585,"nodeType":"Block","src":"12262:69:82","statements":[{"expression":{"arguments":[{"id":45581,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"12307:7:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45582,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45575,"src":"12316:9:82","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":45580,"name":"_isAutoVotingEnabledAtTimepoint","nodeType":"Identifier","overloadedDeclarations":[47903],"referencedDeclaration":47903,"src":"12275:31:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view returns (bool)"}},"id":45583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12275:51:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":45579,"id":45584,"nodeType":"Return","src":"12268:58:82"}]},"documentation":{"id":45571,"nodeType":"StructuredDocumentation","src":"11997:156:82","text":" @dev Check if auto-voting is enabled for an account at a specific\n @param account The address to check\n @param timepoint block number"},"functionSelector":"a461a94d","id":45586,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledAtTimepoint","nameLocation":"12165:34:82","nodeType":"FunctionDefinition","parameters":{"id":45576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45573,"mutability":"mutable","name":"account","nameLocation":"12208:7:82","nodeType":"VariableDeclaration","scope":45586,"src":"12200:15:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45572,"name":"address","nodeType":"ElementaryTypeName","src":"12200:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45575,"mutability":"mutable","name":"timepoint","nameLocation":"12224:9:82","nodeType":"VariableDeclaration","scope":45586,"src":"12217:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":45574,"name":"uint48","nodeType":"ElementaryTypeName","src":"12217:6:82","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"12199:35:82"},"returnParameters":{"id":45579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45586,"src":"12256:4:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45577,"name":"bool","nodeType":"ElementaryTypeName","src":"12256:4:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12255:6:82"},"scope":45721,"src":"12156:175:82","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":45599,"nodeType":"Block","src":"12489:52:82","statements":[{"expression":{"arguments":[{"id":45596,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45589,"src":"12528:7:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":45595,"name":"_getUserVotingPreferences","nodeType":"Identifier","overloadedDeclarations":[47928],"referencedDeclaration":47928,"src":"12502:25:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) view returns (bytes32[] memory)"}},"id":45597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12502:34:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":45594,"id":45598,"nodeType":"Return","src":"12495:41:82"}]},"documentation":{"id":45587,"nodeType":"StructuredDocumentation","src":"12335:61:82","text":" @dev Get the voting preferences for an account"},"functionSelector":"412caf0b","id":45600,"implemented":true,"kind":"function","modifiers":[],"name":"getUserVotingPreferences","nameLocation":"12408:24:82","nodeType":"FunctionDefinition","parameters":{"id":45590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45589,"mutability":"mutable","name":"account","nameLocation":"12441:7:82","nodeType":"VariableDeclaration","scope":45600,"src":"12433:15:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45588,"name":"address","nodeType":"ElementaryTypeName","src":"12433:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12432:17:82"},"returnParameters":{"id":45594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45600,"src":"12471:16:82","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":45591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12471:7:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":45592,"nodeType":"ArrayTypeName","src":"12471:9:82","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"12470:18:82"},"scope":45721,"src":"12399:142:82","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46199],"body":{"id":45620,"nodeType":"Block","src":"12725:145:82","statements":[{"assignments":[45607],"declarations":[{"constant":false,"id":45607,"mutability":"mutable","name":"lastEmissionBlock","nameLocation":"12739:17:82","nodeType":"VariableDeclaration","scope":45620,"src":"12731:25:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45606,"name":"uint256","nodeType":"ElementaryTypeName","src":"12731:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45612,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":45608,"name":"emissions","nodeType":"Identifier","overloadedDeclarations":[48164],"referencedDeclaration":48164,"src":"12759:9:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IEmissions_$64454_$","typeString":"function () view returns (contract IEmissions)"}},"id":45609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12759:11:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":45610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12771:17:82","memberName":"lastEmissionBlock","nodeType":"MemberAccess","referencedDeclaration":64292,"src":"12759:29:82","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":45611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12759:31:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12731:59:82"},{"expression":{"arguments":[{"arguments":[{"id":45616,"name":"lastEmissionBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45607,"src":"12846:17:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12839:6:82","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":45614,"name":"uint48","nodeType":"ElementaryTypeName","src":"12839:6:82","typeDescriptions":{}}},"id":45617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12839:25:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":45613,"name":"_getTotalAutoVotingUsersAtTimepoint","nodeType":"Identifier","overloadedDeclarations":[47952],"referencedDeclaration":47952,"src":"12803:35:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view returns (uint208)"}},"id":45618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12803:62:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":45605,"id":45619,"nodeType":"Return","src":"12796:69:82"}]},"documentation":{"id":45601,"nodeType":"StructuredDocumentation","src":"12545:100:82","text":" @dev Get the total number of users who enabled auto-voting at the last emission block"},"functionSelector":"a022756b","id":45621,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtRoundStart","nameLocation":"12657:35:82","nodeType":"FunctionDefinition","parameters":{"id":45602,"nodeType":"ParameterList","parameters":[],"src":"12692:2:82"},"returnParameters":{"id":45605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45621,"src":"12716:7:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":45603,"name":"uint208","nodeType":"ElementaryTypeName","src":"12716:7:82","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"12715:9:82"},"scope":45721,"src":"12648:222:82","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":45633,"nodeType":"Block","src":"13065:64:82","statements":[{"expression":{"arguments":[{"id":45630,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45624,"src":"13114:9:82","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":45629,"name":"_getTotalAutoVotingUsersAtTimepoint","nodeType":"Identifier","overloadedDeclarations":[47952],"referencedDeclaration":47952,"src":"13078:35:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view returns (uint208)"}},"id":45631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13078:46:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":45628,"id":45632,"nodeType":"Return","src":"13071:53:82"}]},"documentation":{"id":45622,"nodeType":"StructuredDocumentation","src":"12874:96:82","text":" @dev Get the total number of users who enabled autovoting at a specific timepoint"},"functionSelector":"059e952b","id":45634,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtTimepoint","nameLocation":"12982:34:82","nodeType":"FunctionDefinition","parameters":{"id":45625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45624,"mutability":"mutable","name":"timepoint","nameLocation":"13024:9:82","nodeType":"VariableDeclaration","scope":45634,"src":"13017:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":45623,"name":"uint48","nodeType":"ElementaryTypeName","src":"13017:6:82","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"13016:18:82"},"returnParameters":{"id":45628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45627,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45634,"src":"13056:7:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":45626,"name":"uint208","nodeType":"ElementaryTypeName","src":"13056:7:82","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"13055:9:82"},"scope":45721,"src":"12973:156:82","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[47032,47760,48146],"body":{"id":45649,"nodeType":"Block","src":"13420:61:82","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":45645,"name":"ExternalContractsUpgradeableV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48514,"src":"13433:30:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUpgradeableV8_$48514_$","typeString":"type(contract ExternalContractsUpgradeableV8)"}},"id":45646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13464:10:82","memberName":"x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":48146,"src":"13433:41:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IX2EarnApps_$69989_$","typeString":"function () view returns (contract IX2EarnApps)"}},"id":45647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13433:43:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"functionReturnParameters":45644,"id":45648,"nodeType":"Return","src":"13426:50:82"}]},"documentation":{"id":45635,"nodeType":"StructuredDocumentation","src":"13133:110:82","text":" @dev Returns the X2EarnApps contract\n @return IX2EarnApps The X2EarnApps contract interface"},"functionSelector":"33653f5d","id":45650,"implemented":true,"kind":"function","modifiers":[],"name":"x2EarnApps","nameLocation":"13255:10:82","nodeType":"FunctionDefinition","overrides":{"id":45640,"nodeType":"OverrideSpecifier","overrides":[{"id":45637,"name":"ExternalContractsUpgradeableV8","nameLocations":["13301:30:82"],"nodeType":"IdentifierPath","referencedDeclaration":48514,"src":"13301:30:82"},{"id":45638,"name":"XAllocationVotingGovernorV8","nameLocations":["13333:27:82"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"13333:27:82"},{"id":45639,"name":"AutoVotingLogicUpgradeableV8","nameLocations":["13362:28:82"],"nodeType":"IdentifierPath","referencedDeclaration":47975,"src":"13362:28:82"}],"src":"13292:99:82"},"parameters":{"id":45636,"nodeType":"ParameterList","parameters":[],"src":"13265:2:82"},"returnParameters":{"id":45644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45643,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45650,"src":"13405:11:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":45642,"nodeType":"UserDefinedTypeName","pathNode":{"id":45641,"name":"IX2EarnApps","nameLocations":["13405:11:82"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"13405:11:82"},"referencedDeclaration":69989,"src":"13405:11:82","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"13404:13:82"},"scope":45721,"src":"13246:235:82","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[45954],"body":{"id":45664,"nodeType":"Block","src":"13609:48:82","statements":[{"expression":{"arguments":[{"arguments":[{"id":45660,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45653,"src":"13643:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45659,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[49875],"referencedDeclaration":49875,"src":"13629:13:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":45661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13629:22:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45658,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[45694],"referencedDeclaration":45694,"src":"13622:6:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":45662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13622:30:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45657,"id":45663,"nodeType":"Return","src":"13615:37:82"}]},"documentation":{"id":45651,"nodeType":"StructuredDocumentation","src":"13485:51:82","text":" Returns the quorum for a given round"},"functionSelector":"59529edd","id":45665,"implemented":true,"kind":"function","modifiers":[],"name":"roundQuorum","nameLocation":"13548:11:82","nodeType":"FunctionDefinition","parameters":{"id":45654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45653,"mutability":"mutable","name":"roundId","nameLocation":"13568:7:82","nodeType":"VariableDeclaration","scope":45665,"src":"13560:15:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45652,"name":"uint256","nodeType":"ElementaryTypeName","src":"13560:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13559:17:82"},"returnParameters":{"id":45657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45656,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45665,"src":"13600:7:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45655,"name":"uint256","nodeType":"ElementaryTypeName","src":"13600:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13599:9:82"},"scope":45721,"src":"13539:118:82","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[46989,50502],"body":{"id":45677,"nodeType":"Block","src":"13832:38:82","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":45673,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"13845:5:82","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV8_$45721_$","typeString":"type(contract super XAllocationVotingV8)"}},"id":45674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13851:12:82","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":50502,"src":"13845:18:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":45675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13845:20:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45672,"id":45676,"nodeType":"Return","src":"13838:27:82"}]},"functionSelector":"02a251a3","id":45678,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"13720:12:82","nodeType":"FunctionDefinition","overrides":{"id":45669,"nodeType":"OverrideSpecifier","overrides":[{"id":45667,"name":"XAllocationVotingGovernorV8","nameLocations":["13756:27:82"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"13756:27:82"},{"id":45668,"name":"VotingSettingsUpgradeableV8","nameLocations":["13785:27:82"],"nodeType":"IdentifierPath","referencedDeclaration":50553,"src":"13785:27:82"}],"src":"13747:66:82"},"parameters":{"id":45666,"nodeType":"ParameterList","parameters":[],"src":"13732:2:82"},"returnParameters":{"id":45672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45671,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45678,"src":"13823:7:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45670,"name":"uint256","nodeType":"ElementaryTypeName","src":"13823:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13822:9:82"},"scope":45721,"src":"13711:159:82","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46997,50202],"body":{"id":45693,"nodeType":"Block","src":"14021:43:82","statements":[{"expression":{"arguments":[{"id":45690,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45680,"src":"14047:11:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45688,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"14034:5:82","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV8_$45721_$","typeString":"type(contract super XAllocationVotingV8)"}},"id":45689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14040:6:82","memberName":"quorum","nodeType":"MemberAccess","referencedDeclaration":50202,"src":"14034:12:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":45691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14034:25:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45687,"id":45692,"nodeType":"Return","src":"14027:32:82"}]},"functionSelector":"f8ce560a","id":45694,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"13883:6:82","nodeType":"FunctionDefinition","overrides":{"id":45684,"nodeType":"OverrideSpecifier","overrides":[{"id":45682,"name":"XAllocationVotingGovernorV8","nameLocations":["13940:27:82"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"13940:27:82"},{"id":45683,"name":"VotesQuorumFractionUpgradeableV8","nameLocations":["13969:32:82"],"nodeType":"IdentifierPath","referencedDeclaration":50265,"src":"13969:32:82"}],"src":"13931:71:82"},"parameters":{"id":45681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45680,"mutability":"mutable","name":"blockNumber","nameLocation":"13903:11:82","nodeType":"VariableDeclaration","scope":45694,"src":"13895:19:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45679,"name":"uint256","nodeType":"ElementaryTypeName","src":"13895:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13889:29:82"},"returnParameters":{"id":45687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45694,"src":"14012:7:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45685,"name":"uint256","nodeType":"ElementaryTypeName","src":"14012:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14011:9:82"},"scope":45721,"src":"13874:190:82","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[91,46711],"body":{"id":45709,"nodeType":"Block","src":"14214:54:82","statements":[{"expression":{"arguments":[{"id":45706,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45696,"src":"14251:11:82","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":45704,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"14227:5:82","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV8_$45721_$","typeString":"type(contract super XAllocationVotingV8)"}},"id":45705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14233:17:82","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":91,"src":"14227:23:82","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":45707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14227:36:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":45703,"id":45708,"nodeType":"Return","src":"14220:43:82"}]},"functionSelector":"01ffc9a7","id":45710,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"14077:17:82","nodeType":"FunctionDefinition","overrides":{"id":45700,"nodeType":"OverrideSpecifier","overrides":[{"id":45698,"name":"AccessControlUpgradeable","nameLocations":["14144:24:82"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"14144:24:82"},{"id":45699,"name":"XAllocationVotingGovernorV8","nameLocations":["14170:27:82"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"14170:27:82"}],"src":"14135:63:82"},"parameters":{"id":45697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45696,"mutability":"mutable","name":"interfaceId","nameLocation":"14107:11:82","nodeType":"VariableDeclaration","scope":45710,"src":"14100:18:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45695,"name":"bytes4","nodeType":"ElementaryTypeName","src":"14100:6:82","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"14094:28:82"},"returnParameters":{"id":45703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45710,"src":"14208:4:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45701,"name":"bool","nodeType":"ElementaryTypeName","src":"14208:4:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14207:6:82"},"scope":45721,"src":"14068:200:82","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[1868],"body":{"id":45719,"nodeType":"Block","src":"14416:2:82","statements":[]},"id":45720,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":45716,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45084,"src":"14401:13:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":45717,"kind":"modifierInvocation","modifierName":{"id":45715,"name":"onlyRole","nameLocations":["14392:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"14392:8:82"},"nodeType":"ModifierInvocation","src":"14392:23:82"}],"name":"_authorizeUpgrade","nameLocation":"14329:17:82","nodeType":"FunctionDefinition","overrides":{"id":45714,"nodeType":"OverrideSpecifier","overrides":[],"src":"14383:8:82"},"parameters":{"id":45713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45712,"mutability":"mutable","name":"newImplementation","nameLocation":"14355:17:82","nodeType":"VariableDeclaration","scope":45720,"src":"14347:25:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45711,"name":"address","nodeType":"ElementaryTypeName","src":"14347:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14346:27:82"},"returnParameters":{"id":45718,"nodeType":"ParameterList","parameters":[],"src":"14416:0:82"},"scope":45721,"src":"14320:98:82","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":45722,"src":"3616:10804:82","usedErrors":[1495,1498,1759,1764,4342,4345,4738,4751,5344,5347,7025,8883,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813,49006,50065],"usedEvents":[1503,4354,4363,4372,4717,45826,45840,45853,45866,45873,45881,48037,48043,48049,48055,48061,48067,49003,50058,50460]}],"src":"1195:13226:82"},"id":82},"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol","exportedSymbols":{"IERC165":[5961],"IERC6372":[4552],"IXAllocationVotingGovernorV8":[46200]},"id":46201,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":45723,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:83"},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","file":"@openzeppelin/contracts/interfaces/IERC165.sol","id":45725,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":46201,"sourceUnit":4503,"src":"57:73:83","symbolAliases":[{"foreign":{"id":45724,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"66:7:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC6372.sol","file":"@openzeppelin/contracts/interfaces/IERC6372.sol","id":45727,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":46201,"sourceUnit":4553,"src":"131:75:83","symbolAliases":[{"foreign":{"id":45726,"name":"IERC6372","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4552,"src":"140:8:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":45729,"name":"IERC165","nameLocations":["1269:7:83"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"1269:7:83"},"id":45730,"nodeType":"InheritanceSpecifier","src":"1269:7:83"},{"baseName":{"id":45731,"name":"IERC6372","nameLocations":["1278:8:83"],"nodeType":"IdentifierPath","referencedDeclaration":4552,"src":"1278:8:83"},"id":45732,"nodeType":"InheritanceSpecifier","src":"1278:8:83"}],"canonicalName":"IXAllocationVotingGovernorV8","contractDependencies":[],"contractKind":"interface","documentation":{"id":45728,"nodeType":"StructuredDocumentation","src":"208:1018:83","text":" @dev Interface of the distribution allocation voting for the x-allocation pool reward distributions.\n This interface was forked from OpenZeppelin's IGovernor.sol and modified to fit the needs of a voting mechanism\n where a user can vote on multpile x-apps belonging to the ecosystem and fractionalize their votes accross the x-apps.\n There can be only one round per time.\n After the round is created  it becomes immediately active.\n There can be only two possible outcomes of a round: it succeeds or it fails.\n To succeed the only requirement is that the quorum is reached.\n New allocation rounds can be started only by the Emissions contract, this way we can align the duration\n of emission cycles and allocation rounds.\n If the round fails, we will need to “finalize” it, which means we will create a pointer to the last succeeded round\n where shares should be calculated. Anyone can finalize the failed round,\n but it will be automatically done when a new round starts."},"fullyImplemented":false,"id":46200,"linearizedBaseContracts":[46200,4552,5961],"name":"IXAllocationVotingGovernorV8","nameLocation":"1237:28:83","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IXAllocationVotingGovernorV8.RoundState","id":45736,"members":[{"id":45733,"name":"Active","nameLocation":"1313:6:83","nodeType":"EnumValue","src":"1313:6:83"},{"id":45734,"name":"Failed","nameLocation":"1325:6:83","nodeType":"EnumValue","src":"1325:6:83"},{"id":45735,"name":"Succeeded","nameLocation":"1337:9:83","nodeType":"EnumValue","src":"1337:9:83"}],"name":"RoundState","nameLocation":"1296:10:83","nodeType":"EnumDefinition","src":"1291:59:83"},{"documentation":{"id":45737,"nodeType":"StructuredDocumentation","src":"1354:46:83","text":" @dev The vote was already cast."},"errorSelector":"71c6af49","id":45741,"name":"GovernorAlreadyCastVote","nameLocation":"1409:23:83","nodeType":"ErrorDefinition","parameters":{"id":45740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45739,"mutability":"mutable","name":"voter","nameLocation":"1441:5:83","nodeType":"VariableDeclaration","scope":45741,"src":"1433:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45738,"name":"address","nodeType":"ElementaryTypeName","src":"1433:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1432:15:83"},"src":"1403:45:83"},{"documentation":{"id":45742,"nodeType":"StructuredDocumentation","src":"1452:65:83","text":" @dev The `account` is not the governance executor."},"errorSelector":"5e309d21","id":45746,"name":"B3TRGovernorOnlyExecutor","nameLocation":"1526:24:83","nodeType":"ErrorDefinition","parameters":{"id":45745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45744,"mutability":"mutable","name":"account","nameLocation":"1559:7:83","nodeType":"VariableDeclaration","scope":45746,"src":"1551:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45743,"name":"address","nodeType":"ElementaryTypeName","src":"1551:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1550:17:83"},"src":"1520:48:83"},{"documentation":{"id":45747,"nodeType":"StructuredDocumentation","src":"1572:48:83","text":" @dev The `roundId` doesn't exist."},"errorSelector":"ced38c6c","id":45751,"name":"GovernorNonexistentRound","nameLocation":"1629:24:83","nodeType":"ErrorDefinition","parameters":{"id":45750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45749,"mutability":"mutable","name":"roundId","nameLocation":"1662:7:83","nodeType":"VariableDeclaration","scope":45751,"src":"1654:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45748,"name":"uint256","nodeType":"ElementaryTypeName","src":"1654:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1653:17:83"},"src":"1623:48:83"},{"documentation":{"id":45752,"nodeType":"StructuredDocumentation","src":"1675:497:83","text":" @dev The current state of a round is not the required for performing an operation.\n The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position\n counting from right to left.\n NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist).\n This is the case when a round that is expected to be unset is already initiated (the round is duplicated).\n See {Governor-_encodeStateBitmap}."},"errorSelector":"43656b56","id":45761,"name":"GovernorUnexpectedRoundState","nameLocation":"2181:28:83","nodeType":"ErrorDefinition","parameters":{"id":45760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45754,"mutability":"mutable","name":"roundId","nameLocation":"2218:7:83","nodeType":"VariableDeclaration","scope":45761,"src":"2210:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45753,"name":"uint256","nodeType":"ElementaryTypeName","src":"2210:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45757,"mutability":"mutable","name":"current","nameLocation":"2238:7:83","nodeType":"VariableDeclaration","scope":45761,"src":"2227:18:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},"typeName":{"id":45756,"nodeType":"UserDefinedTypeName","pathNode":{"id":45755,"name":"RoundState","nameLocations":["2227:10:83"],"nodeType":"IdentifierPath","referencedDeclaration":45736,"src":"2227:10:83"},"referencedDeclaration":45736,"src":"2227:10:83","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"visibility":"internal"},{"constant":false,"id":45759,"mutability":"mutable","name":"expectedStates","nameLocation":"2255:14:83","nodeType":"VariableDeclaration","scope":45761,"src":"2247:22:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2247:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2209:61:83"},"src":"2175:96:83"},{"documentation":{"id":45762,"nodeType":"StructuredDocumentation","src":"2275:64:83","text":" @dev The voting period set is not a valid period."},"errorSelector":"f1cfbf05","id":45766,"name":"GovernorInvalidVotingPeriod","nameLocation":"2348:27:83","nodeType":"ErrorDefinition","parameters":{"id":45765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45764,"mutability":"mutable","name":"votingPeriod","nameLocation":"2384:12:83","nodeType":"VariableDeclaration","scope":45766,"src":"2376:20:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45763,"name":"uint256","nodeType":"ElementaryTypeName","src":"2376:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2375:22:83"},"src":"2342:56:83"},{"documentation":{"id":45767,"nodeType":"StructuredDocumentation","src":"2402:110:83","text":" @dev The `appId` is not present in the list with the available x-apps for voting in this round."},"errorSelector":"4b8a7232","id":45771,"name":"GovernorAppNotAvailableForVoting","nameLocation":"2521:32:83","nodeType":"ErrorDefinition","parameters":{"id":45770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45769,"mutability":"mutable","name":"appId","nameLocation":"2562:5:83","nodeType":"VariableDeclaration","scope":45771,"src":"2554:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2554:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2553:15:83"},"src":"2515:54:83"},{"documentation":{"id":45772,"nodeType":"StructuredDocumentation","src":"2573:53:83","text":" @dev The `votingThreshold` is not met."},"errorSelector":"742f62c3","id":45778,"name":"GovernorVotingThresholdNotMet","nameLocation":"2635:29:83","nodeType":"ErrorDefinition","parameters":{"id":45777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45774,"mutability":"mutable","name":"threshold","nameLocation":"2673:9:83","nodeType":"VariableDeclaration","scope":45778,"src":"2665:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45773,"name":"uint256","nodeType":"ElementaryTypeName","src":"2665:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45776,"mutability":"mutable","name":"votes","nameLocation":"2692:5:83","nodeType":"VariableDeclaration","scope":45778,"src":"2684:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45775,"name":"uint256","nodeType":"ElementaryTypeName","src":"2684:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2664:34:83"},"src":"2629:70:83"},{"documentation":{"id":45779,"nodeType":"StructuredDocumentation","src":"2703:95:83","text":" @dev The `voter` has insufficient voting power for this round to cast the votes."},"errorSelector":"0cc9baf7","id":45781,"name":"GovernorInsufficientVotingPower","nameLocation":"2807:31:83","nodeType":"ErrorDefinition","parameters":{"id":45780,"nodeType":"ParameterList","parameters":[],"src":"2838:2:83"},"src":"2801:40:83"},{"documentation":{"id":45782,"nodeType":"StructuredDocumentation","src":"2845:82:83","text":" The `voter` is not identified as a person via the VeBetterPassport."},"errorSelector":"44c45349","id":45788,"name":"GovernorPersonhoodVerificationFailed","nameLocation":"2936:36:83","nodeType":"ErrorDefinition","parameters":{"id":45787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45784,"mutability":"mutable","name":"person","nameLocation":"2981:6:83","nodeType":"VariableDeclaration","scope":45788,"src":"2973:14:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45783,"name":"address","nodeType":"ElementaryTypeName","src":"2973:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45786,"mutability":"mutable","name":"reason","nameLocation":"2996:6:83","nodeType":"VariableDeclaration","scope":45788,"src":"2989:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45785,"name":"string","nodeType":"ElementaryTypeName","src":"2989:6:83","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2972:31:83"},"src":"2930:74:83"},{"documentation":{"id":45789,"nodeType":"StructuredDocumentation","src":"3008:88:83","text":" @dev The `person` is not identified as a person via the VeBetterPassport."},"errorSelector":"68804cc0","id":45793,"name":"XAllocationVotingPersonhoodVerificationFailed","nameLocation":"3105:45:83","nodeType":"ErrorDefinition","parameters":{"id":45792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45791,"mutability":"mutable","name":"person","nameLocation":"3159:6:83","nodeType":"VariableDeclaration","scope":45793,"src":"3151:14:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45790,"name":"address","nodeType":"ElementaryTypeName","src":"3151:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3150:16:83"},"src":"3099:68:83"},{"documentation":{"id":45794,"nodeType":"StructuredDocumentation","src":"3171:60:83","text":" @dev The `voter` has auto-voting not enabled."},"errorSelector":"2b8b7c89","id":45798,"name":"AutoVotingNotEnabled","nameLocation":"3240:20:83","nodeType":"ErrorDefinition","parameters":{"id":45797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45796,"mutability":"mutable","name":"voter","nameLocation":"3269:5:83","nodeType":"VariableDeclaration","scope":45798,"src":"3261:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45795,"name":"address","nodeType":"ElementaryTypeName","src":"3261:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3260:15:83"},"src":"3234:42:83"},{"documentation":{"id":45799,"nodeType":"StructuredDocumentation","src":"3280:56:83","text":" @dev The `voter` has auto-voting enabled."},"errorSelector":"05b27abd","id":45803,"name":"AutoVotingEnabled","nameLocation":"3345:17:83","nodeType":"ErrorDefinition","parameters":{"id":45802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45801,"mutability":"mutable","name":"voter","nameLocation":"3371:5:83","nodeType":"VariableDeclaration","scope":45803,"src":"3363:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45800,"name":"address","nodeType":"ElementaryTypeName","src":"3363:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3362:15:83"},"src":"3339:39:83"},{"documentation":{"id":45804,"nodeType":"StructuredDocumentation","src":"3382:174:83","text":" @dev Thrown when a zero address is provided for a contract address parameter\n @param contractName The name/type of the contract that cannot be zero address"},"errorSelector":"e21b9230","id":45808,"name":"InvalidContractAddress","nameLocation":"3565:22:83","nodeType":"ErrorDefinition","parameters":{"id":45807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45806,"mutability":"mutable","name":"contractName","nameLocation":"3595:12:83","nodeType":"VariableDeclaration","scope":45808,"src":"3588:19:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45805,"name":"string","nodeType":"ElementaryTypeName","src":"3588:6:83","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3587:21:83"},"src":"3559:50:83"},{"documentation":{"id":45809,"nodeType":"StructuredDocumentation","src":"3613:45:83","text":" @dev The `caller` is not valid"},"errorSelector":"cbd9d2e0","id":45813,"name":"InvalidCaller","nameLocation":"3667:13:83","nodeType":"ErrorDefinition","parameters":{"id":45812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45811,"mutability":"mutable","name":"caller","nameLocation":"3689:6:83","nodeType":"VariableDeclaration","scope":45813,"src":"3681:14:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45810,"name":"address","nodeType":"ElementaryTypeName","src":"3681:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3680:16:83"},"src":"3661:36:83"},{"anonymous":false,"documentation":{"id":45814,"nodeType":"StructuredDocumentation","src":"3701:56:83","text":" @dev Emitted when auto-voting is skipped."},"eventSelector":"55b62c33ca46df94310e16fc7e52e8ed456d93a5f21b1e7b5b4c2428905ddebc","id":45826,"name":"AutoVoteSkipped","nameLocation":"3766:15:83","nodeType":"EventDefinition","parameters":{"id":45825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45816,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"3803:5:83","nodeType":"VariableDeclaration","scope":45826,"src":"3787:21:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45815,"name":"address","nodeType":"ElementaryTypeName","src":"3787:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45818,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"3830:7:83","nodeType":"VariableDeclaration","scope":45826,"src":"3814:23:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45817,"name":"uint256","nodeType":"ElementaryTypeName","src":"3814:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45820,"indexed":false,"mutability":"mutable","name":"isPerson","nameLocation":"3848:8:83","nodeType":"VariableDeclaration","scope":45826,"src":"3843:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45819,"name":"bool","nodeType":"ElementaryTypeName","src":"3843:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45822,"indexed":false,"mutability":"mutable","name":"appCount","nameLocation":"3870:8:83","nodeType":"VariableDeclaration","scope":45826,"src":"3862:16:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45821,"name":"uint256","nodeType":"ElementaryTypeName","src":"3862:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45824,"indexed":false,"mutability":"mutable","name":"votingPower","nameLocation":"3892:11:83","nodeType":"VariableDeclaration","scope":45826,"src":"3884:19:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45823,"name":"uint256","nodeType":"ElementaryTypeName","src":"3884:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3781:126:83"},"src":"3760:148:83"},{"anonymous":false,"documentation":{"id":45827,"nodeType":"StructuredDocumentation","src":"3912:52:83","text":" @dev Emitted when a round is created."},"eventSelector":"ed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c8","id":45840,"name":"RoundCreated","nameLocation":"3973:12:83","nodeType":"EventDefinition","parameters":{"id":45839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45829,"indexed":false,"mutability":"mutable","name":"roundId","nameLocation":"3994:7:83","nodeType":"VariableDeclaration","scope":45840,"src":"3986:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45828,"name":"uint256","nodeType":"ElementaryTypeName","src":"3986:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45831,"indexed":false,"mutability":"mutable","name":"proposer","nameLocation":"4011:8:83","nodeType":"VariableDeclaration","scope":45840,"src":"4003:16:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45830,"name":"address","nodeType":"ElementaryTypeName","src":"4003:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45833,"indexed":false,"mutability":"mutable","name":"voteStart","nameLocation":"4029:9:83","nodeType":"VariableDeclaration","scope":45840,"src":"4021:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45832,"name":"uint256","nodeType":"ElementaryTypeName","src":"4021:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45835,"indexed":false,"mutability":"mutable","name":"voteEnd","nameLocation":"4048:7:83","nodeType":"VariableDeclaration","scope":45840,"src":"4040:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45834,"name":"uint256","nodeType":"ElementaryTypeName","src":"4040:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45838,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"4067:7:83","nodeType":"VariableDeclaration","scope":45840,"src":"4057:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":45836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4057:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":45837,"nodeType":"ArrayTypeName","src":"4057:9:83","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"3985:90:83"},"src":"3967:109:83"},{"anonymous":false,"documentation":{"id":45841,"nodeType":"StructuredDocumentation","src":"4080:53:83","text":" @dev Emitted when votes are cast."},"eventSelector":"e2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e2","id":45853,"name":"AllocationVoteCast","nameLocation":"4142:18:83","nodeType":"EventDefinition","parameters":{"id":45852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45843,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"4177:5:83","nodeType":"VariableDeclaration","scope":45853,"src":"4161:21:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45842,"name":"address","nodeType":"ElementaryTypeName","src":"4161:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45845,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"4200:7:83","nodeType":"VariableDeclaration","scope":45853,"src":"4184:23:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45844,"name":"uint256","nodeType":"ElementaryTypeName","src":"4184:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45848,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"4219:7:83","nodeType":"VariableDeclaration","scope":45853,"src":"4209:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":45846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4209:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":45847,"nodeType":"ArrayTypeName","src":"4209:9:83","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":45851,"indexed":false,"mutability":"mutable","name":"voteWeights","nameLocation":"4238:11:83","nodeType":"VariableDeclaration","scope":45853,"src":"4228:21:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":45849,"name":"uint256","nodeType":"ElementaryTypeName","src":"4228:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45850,"nodeType":"ArrayTypeName","src":"4228:9:83","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4160:90:83"},"src":"4136:115:83"},{"anonymous":false,"documentation":{"id":45854,"nodeType":"StructuredDocumentation","src":"4255:72:83","text":" @dev Emitted when a vote is cast on behalf of an account."},"eventSelector":"64dbcb1d23926d04f2fea8c7cc3f5d02846ee1e48940419cf422f69ae35813aa","id":45866,"name":"AllocationAutoVoteCast","nameLocation":"4336:22:83","nodeType":"EventDefinition","parameters":{"id":45865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45856,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"4380:5:83","nodeType":"VariableDeclaration","scope":45866,"src":"4364:21:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45855,"name":"address","nodeType":"ElementaryTypeName","src":"4364:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45858,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"4407:7:83","nodeType":"VariableDeclaration","scope":45866,"src":"4391:23:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45857,"name":"uint256","nodeType":"ElementaryTypeName","src":"4391:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45861,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"4430:7:83","nodeType":"VariableDeclaration","scope":45866,"src":"4420:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":45859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4420:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":45860,"nodeType":"ArrayTypeName","src":"4420:9:83","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":45864,"indexed":false,"mutability":"mutable","name":"voteWeights","nameLocation":"4453:11:83","nodeType":"VariableDeclaration","scope":45866,"src":"4443:21:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":45862,"name":"uint256","nodeType":"ElementaryTypeName","src":"4443:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45863,"nodeType":"ArrayTypeName","src":"4443:9:83","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4358:110:83"},"src":"4330:139:83"},{"anonymous":false,"documentation":{"id":45867,"nodeType":"StructuredDocumentation","src":"4473:70:83","text":" @dev Emitted when autovoting is toggled for an account."},"eventSelector":"6baead299a74ec4ebb558b9c9507046309c90e561107f4776cef02327b526549","id":45873,"name":"AutoVotingToggled","nameLocation":"4552:17:83","nodeType":"EventDefinition","parameters":{"id":45872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45869,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"4586:7:83","nodeType":"VariableDeclaration","scope":45873,"src":"4570:23:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45868,"name":"address","nodeType":"ElementaryTypeName","src":"4570:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45871,"indexed":false,"mutability":"mutable","name":"enabled","nameLocation":"4600:7:83","nodeType":"VariableDeclaration","scope":45873,"src":"4595:12:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45870,"name":"bool","nodeType":"ElementaryTypeName","src":"4595:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4569:39:83"},"src":"4546:63:83"},{"anonymous":false,"documentation":{"id":45874,"nodeType":"StructuredDocumentation","src":"4613:79:83","text":" @dev Emitted when the preferred apps are updated for an account."},"eventSelector":"3e3998ec06c031c887b2c4825699d96390034bafa666cc53be14a1b832a0654e","id":45881,"name":"PreferredAppsUpdated","nameLocation":"4701:20:83","nodeType":"EventDefinition","parameters":{"id":45880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45876,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"4738:7:83","nodeType":"VariableDeclaration","scope":45881,"src":"4722:23:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45875,"name":"address","nodeType":"ElementaryTypeName","src":"4722:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45879,"indexed":false,"mutability":"mutable","name":"apps","nameLocation":"4757:4:83","nodeType":"VariableDeclaration","scope":45881,"src":"4747:14:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":45877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4747:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":45878,"nodeType":"ArrayTypeName","src":"4747:9:83","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4721:41:83"},"src":"4695:68:83"},{"documentation":{"id":45882,"nodeType":"StructuredDocumentation","src":"4767:122:83","text":" @notice module:core\n @dev Name of the governor instance (used in building the ERC712 domain separator)."},"functionSelector":"06fdde03","id":45887,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"4901:4:83","nodeType":"FunctionDefinition","parameters":{"id":45883,"nodeType":"ParameterList","parameters":[],"src":"4905:2:83"},"returnParameters":{"id":45886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45887,"src":"4931:13:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45884,"name":"string","nodeType":"ElementaryTypeName","src":"4931:6:83","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4930:15:83"},"scope":46200,"src":"4892:54:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45888,"nodeType":"StructuredDocumentation","src":"4950:138:83","text":" @notice module:core\n @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\""},"functionSelector":"54fd4d50","id":45893,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"5100:7:83","nodeType":"FunctionDefinition","parameters":{"id":45889,"nodeType":"ParameterList","parameters":[],"src":"5107:2:83"},"returnParameters":{"id":45892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45891,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45893,"src":"5133:13:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45890,"name":"string","nodeType":"ElementaryTypeName","src":"5133:6:83","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5132:15:83"},"scope":46200,"src":"5091:57:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45894,"nodeType":"StructuredDocumentation","src":"5152:1450:83","text":" @notice module:voting\n @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n There are 2 standard keys: `support` and `quorum`.\n - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n - `support=x-allocations` refers to the fractionalized vote for each x-application.\n - `quorum=bravo` means that only For votes are counted towards quorum.\n - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n - `quorum=auto` means that the contract defines the logic for counting the quorum.\n If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique\n name that describes the behavior. For example:\n - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n NOTE: The string can be decoded by the standard\n https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n JavaScript class."},"functionSelector":"dd4e2ba5","id":45899,"implemented":false,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"6665:13:83","nodeType":"FunctionDefinition","parameters":{"id":45895,"nodeType":"ParameterList","parameters":[],"src":"6678:2:83"},"returnParameters":{"id":45898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45899,"src":"6704:13:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45896,"name":"string","nodeType":"ElementaryTypeName","src":"6704:6:83","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6703:15:83"},"scope":46200,"src":"6656:63:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45900,"nodeType":"StructuredDocumentation","src":"6723:69:83","text":" @notice module:core\n @dev Current state of a round"},"functionSelector":"3e4f49e6","id":45908,"implemented":false,"kind":"function","modifiers":[],"name":"state","nameLocation":"6804:5:83","nodeType":"FunctionDefinition","parameters":{"id":45903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45902,"mutability":"mutable","name":"roundId","nameLocation":"6818:7:83","nodeType":"VariableDeclaration","scope":45908,"src":"6810:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45901,"name":"uint256","nodeType":"ElementaryTypeName","src":"6810:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6809:17:83"},"returnParameters":{"id":45907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45908,"src":"6850:10:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},"typeName":{"id":45905,"nodeType":"UserDefinedTypeName","pathNode":{"id":45904,"name":"RoundState","nameLocations":["6850:10:83"],"nodeType":"IdentifierPath","referencedDeclaration":45736,"src":"6850:10:83"},"referencedDeclaration":45736,"src":"6850:10:83","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"visibility":"internal"}],"src":"6849:12:83"},"scope":46200,"src":"6795:67:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45909,"nodeType":"StructuredDocumentation","src":"6866:283:83","text":" @notice module:core\n @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n snapshot is performed at the end of this block. Hence, voting for this round starts at the beginning of the\n following block."},"functionSelector":"d06efeda","id":45916,"implemented":false,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"7161:13:83","nodeType":"FunctionDefinition","parameters":{"id":45912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45911,"mutability":"mutable","name":"roundId","nameLocation":"7183:7:83","nodeType":"VariableDeclaration","scope":45916,"src":"7175:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45910,"name":"uint256","nodeType":"ElementaryTypeName","src":"7175:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7174:17:83"},"returnParameters":{"id":45915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45914,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45916,"src":"7215:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45913,"name":"uint256","nodeType":"ElementaryTypeName","src":"7215:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7214:9:83"},"scope":46200,"src":"7152:72:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45917,"nodeType":"StructuredDocumentation","src":"7228:194:83","text":" @notice module:core\n @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n possible to cast a vote during this block."},"functionSelector":"d3a368bd","id":45924,"implemented":false,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"7434:13:83","nodeType":"FunctionDefinition","parameters":{"id":45920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45919,"mutability":"mutable","name":"roundId","nameLocation":"7456:7:83","nodeType":"VariableDeclaration","scope":45924,"src":"7448:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45918,"name":"uint256","nodeType":"ElementaryTypeName","src":"7448:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7447:17:83"},"returnParameters":{"id":45923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45924,"src":"7488:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45921,"name":"uint256","nodeType":"ElementaryTypeName","src":"7488:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7487:9:83"},"scope":46200,"src":"7425:72:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45925,"nodeType":"StructuredDocumentation","src":"7501:78:83","text":" @notice module:core\n @dev The account that created a round."},"functionSelector":"5320a147","id":45932,"implemented":false,"kind":"function","modifiers":[],"name":"roundProposer","nameLocation":"7591:13:83","nodeType":"FunctionDefinition","parameters":{"id":45928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45927,"mutability":"mutable","name":"roundId","nameLocation":"7613:7:83","nodeType":"VariableDeclaration","scope":45932,"src":"7605:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45926,"name":"uint256","nodeType":"ElementaryTypeName","src":"7605:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7604:17:83"},"returnParameters":{"id":45931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45930,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45932,"src":"7645:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45929,"name":"address","nodeType":"ElementaryTypeName","src":"7645:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7644:9:83"},"scope":46200,"src":"7582:72:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45933,"nodeType":"StructuredDocumentation","src":"7658:507:83","text":" @notice module:user-config\n @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n (see EIP-6372) this contract uses.\n NOTE: This value is stored when the round is submitted so that possible changes to the value do not affect\n proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n interface returns a uint256, the value it returns should fit in a uint32."},"functionSelector":"02a251a3","id":45938,"implemented":false,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"8177:12:83","nodeType":"FunctionDefinition","parameters":{"id":45934,"nodeType":"ParameterList","parameters":[],"src":"8189:2:83"},"returnParameters":{"id":45937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45936,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45938,"src":"8215:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45935,"name":"uint256","nodeType":"ElementaryTypeName","src":"8215:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8214:9:83"},"scope":46200,"src":"8168:56:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45939,"nodeType":"StructuredDocumentation","src":"8228:343:83","text":" @notice module:user-config\n @dev Minimum number of cast voted required for a round to be successful.\n NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes})."},"functionSelector":"f8ce560a","id":45946,"implemented":false,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"8583:6:83","nodeType":"FunctionDefinition","parameters":{"id":45942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45941,"mutability":"mutable","name":"timepoint","nameLocation":"8598:9:83","nodeType":"VariableDeclaration","scope":45946,"src":"8590:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45940,"name":"uint256","nodeType":"ElementaryTypeName","src":"8590:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8589:19:83"},"returnParameters":{"id":45945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45944,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45946,"src":"8632:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45943,"name":"uint256","nodeType":"ElementaryTypeName","src":"8632:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8631:9:83"},"scope":46200,"src":"8574:67:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45947,"nodeType":"StructuredDocumentation","src":"8645:220:83","text":" @notice module:user-config\n @dev Minimum number of cast voted required for a round to be successful.\n NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated."},"functionSelector":"59529edd","id":45954,"implemented":false,"kind":"function","modifiers":[],"name":"roundQuorum","nameLocation":"8877:11:83","nodeType":"FunctionDefinition","parameters":{"id":45950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45949,"mutability":"mutable","name":"roundId","nameLocation":"8897:7:83","nodeType":"VariableDeclaration","scope":45954,"src":"8889:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45948,"name":"uint256","nodeType":"ElementaryTypeName","src":"8889:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8888:17:83"},"returnParameters":{"id":45953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45954,"src":"8929:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45951,"name":"uint256","nodeType":"ElementaryTypeName","src":"8929:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8928:9:83"},"scope":46200,"src":"8868:70:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45955,"nodeType":"StructuredDocumentation","src":"8942:262:83","text":" @notice module:reputation\n @dev Voting power of an `account` at a specific `timepoint`.\n Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n multiple), {ERC20Votes} tokens."},"functionSelector":"eb9019d4","id":45964,"implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"9216:8:83","nodeType":"FunctionDefinition","parameters":{"id":45960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45957,"mutability":"mutable","name":"account","nameLocation":"9233:7:83","nodeType":"VariableDeclaration","scope":45964,"src":"9225:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45956,"name":"address","nodeType":"ElementaryTypeName","src":"9225:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45959,"mutability":"mutable","name":"timepoint","nameLocation":"9250:9:83","nodeType":"VariableDeclaration","scope":45964,"src":"9242:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45958,"name":"uint256","nodeType":"ElementaryTypeName","src":"9242:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9224:36:83"},"returnParameters":{"id":45963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45964,"src":"9284:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45961,"name":"uint256","nodeType":"ElementaryTypeName","src":"9284:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9283:9:83"},"scope":46200,"src":"9207:86:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45965,"nodeType":"StructuredDocumentation","src":"9297:101:83","text":" @notice module:reputation\n @dev Total number of votes cast in an allocation round."},"functionSelector":"19e6e158","id":45972,"implemented":false,"kind":"function","modifiers":[],"name":"totalVotes","nameLocation":"9410:10:83","nodeType":"FunctionDefinition","parameters":{"id":45968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45967,"mutability":"mutable","name":"roundId","nameLocation":"9429:7:83","nodeType":"VariableDeclaration","scope":45972,"src":"9421:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45966,"name":"uint256","nodeType":"ElementaryTypeName","src":"9421:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9420:17:83"},"returnParameters":{"id":45971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45970,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45972,"src":"9461:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45969,"name":"uint256","nodeType":"ElementaryTypeName","src":"9461:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9460:9:83"},"scope":46200,"src":"9401:69:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45973,"nodeType":"StructuredDocumentation","src":"9474:97:83","text":" @notice module:reputation\n @dev Total number of voters in an allocation round."},"functionSelector":"498d91bf","id":45980,"implemented":false,"kind":"function","modifiers":[],"name":"totalVoters","nameLocation":"9583:11:83","nodeType":"FunctionDefinition","parameters":{"id":45976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45975,"mutability":"mutable","name":"roundId","nameLocation":"9603:7:83","nodeType":"VariableDeclaration","scope":45980,"src":"9595:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45974,"name":"uint256","nodeType":"ElementaryTypeName","src":"9595:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9594:17:83"},"returnParameters":{"id":45979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45978,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45980,"src":"9635:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45977,"name":"uint256","nodeType":"ElementaryTypeName","src":"9635:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9634:9:83"},"scope":46200,"src":"9574:70:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45981,"nodeType":"StructuredDocumentation","src":"9648:114:83","text":" @notice module:reputation\n @dev Number of votes cast for a specific app in an allocation round."},"functionSelector":"4bb5181a","id":45990,"implemented":false,"kind":"function","modifiers":[],"name":"getAppVotes","nameLocation":"9774:11:83","nodeType":"FunctionDefinition","parameters":{"id":45986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45983,"mutability":"mutable","name":"roundId","nameLocation":"9794:7:83","nodeType":"VariableDeclaration","scope":45990,"src":"9786:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45982,"name":"uint256","nodeType":"ElementaryTypeName","src":"9786:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45985,"mutability":"mutable","name":"appId","nameLocation":"9811:5:83","nodeType":"VariableDeclaration","scope":45990,"src":"9803:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45984,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9803:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9785:32:83"},"returnParameters":{"id":45989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45988,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45990,"src":"9841:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45987,"name":"uint256","nodeType":"ElementaryTypeName","src":"9841:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9840:9:83"},"scope":46200,"src":"9765:85:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45991,"nodeType":"StructuredDocumentation","src":"9854:161:83","text":" @notice module:reputation\n @dev Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding."},"functionSelector":"bed73010","id":46000,"implemented":false,"kind":"function","modifiers":[],"name":"getAppVotesQF","nameLocation":"10027:13:83","nodeType":"FunctionDefinition","parameters":{"id":45996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45993,"mutability":"mutable","name":"roundId","nameLocation":"10049:7:83","nodeType":"VariableDeclaration","scope":46000,"src":"10041:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45992,"name":"uint256","nodeType":"ElementaryTypeName","src":"10041:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45995,"mutability":"mutable","name":"app","nameLocation":"10066:3:83","nodeType":"VariableDeclaration","scope":46000,"src":"10058:11:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10058:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10040:30:83"},"returnParameters":{"id":45999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46000,"src":"10094:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45997,"name":"uint256","nodeType":"ElementaryTypeName","src":"10094:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10093:9:83"},"scope":46200,"src":"10018:85:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46001,"nodeType":"StructuredDocumentation","src":"10107:169:83","text":" @notice module:reputation\n @dev Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round."},"functionSelector":"fb03ec6f","id":46008,"implemented":false,"kind":"function","modifiers":[],"name":"totalVotesQF","nameLocation":"10288:12:83","nodeType":"FunctionDefinition","parameters":{"id":46004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46003,"mutability":"mutable","name":"roundId","nameLocation":"10309:7:83","nodeType":"VariableDeclaration","scope":46008,"src":"10301:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46002,"name":"uint256","nodeType":"ElementaryTypeName","src":"10301:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10300:17:83"},"returnParameters":{"id":46007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46008,"src":"10341:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46005,"name":"uint256","nodeType":"ElementaryTypeName","src":"10341:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10340:9:83"},"scope":46200,"src":"10279:71:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46009,"nodeType":"StructuredDocumentation","src":"10354:102:83","text":" @notice module:voting\n @dev Returns whether `account` has cast a vote on `roundId`."},"functionSelector":"43859632","id":46018,"implemented":false,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"10468:8:83","nodeType":"FunctionDefinition","parameters":{"id":46014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46011,"mutability":"mutable","name":"roundId","nameLocation":"10485:7:83","nodeType":"VariableDeclaration","scope":46018,"src":"10477:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46010,"name":"uint256","nodeType":"ElementaryTypeName","src":"10477:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46013,"mutability":"mutable","name":"account","nameLocation":"10502:7:83","nodeType":"VariableDeclaration","scope":46018,"src":"10494:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46012,"name":"address","nodeType":"ElementaryTypeName","src":"10494:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10476:34:83"},"returnParameters":{"id":46017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46018,"src":"10534:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46015,"name":"bool","nodeType":"ElementaryTypeName","src":"10534:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10533:6:83"},"scope":46200,"src":"10459:81:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46019,"nodeType":"StructuredDocumentation","src":"10544:180:83","text":" @dev Create a new allocation round (round). Vote starts immediatly and lasts for a\n duration specified by {votingPeriod}.\n Emits a {RoundCreated} event."},"functionSelector":"bd85948c","id":46024,"implemented":false,"kind":"function","modifiers":[],"name":"startNewRound","nameLocation":"10736:13:83","nodeType":"FunctionDefinition","parameters":{"id":46020,"nodeType":"ParameterList","parameters":[],"src":"10749:2:83"},"returnParameters":{"id":46023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46022,"mutability":"mutable","name":"roundId","nameLocation":"10778:7:83","nodeType":"VariableDeclaration","scope":46024,"src":"10770:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46021,"name":"uint256","nodeType":"ElementaryTypeName","src":"10770:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10769:17:83"},"scope":46200,"src":"10727:60:83","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":46025,"nodeType":"StructuredDocumentation","src":"10791:93:83","text":" @dev Cast multiple votes at once\n Emits a {AllocationVoteCast} event."},"functionSelector":"53ed6399","id":46036,"implemented":false,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"10896:8:83","nodeType":"FunctionDefinition","parameters":{"id":46034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46027,"mutability":"mutable","name":"roundId","nameLocation":"10913:7:83","nodeType":"VariableDeclaration","scope":46036,"src":"10905:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46026,"name":"uint256","nodeType":"ElementaryTypeName","src":"10905:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46030,"mutability":"mutable","name":"appsIds","nameLocation":"10939:7:83","nodeType":"VariableDeclaration","scope":46036,"src":"10922:24:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":46028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10922:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":46029,"nodeType":"ArrayTypeName","src":"10922:9:83","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":46033,"mutability":"mutable","name":"voteWeights","nameLocation":"10965:11:83","nodeType":"VariableDeclaration","scope":46036,"src":"10948:28:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":46031,"name":"uint256","nodeType":"ElementaryTypeName","src":"10948:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46032,"nodeType":"ArrayTypeName","src":"10948:9:83","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"10904:73:83"},"returnParameters":{"id":46035,"nodeType":"ParameterList","parameters":[],"src":"10986:0:83"},"scope":46200,"src":"10887:100:83","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":46037,"nodeType":"StructuredDocumentation","src":"10991:190:83","text":" @dev Toggle autovoting for a user\n @param user The address to toggle autovoting for\n @notice This function is only callable by the VOT3 contract or the user themselves"},"functionSelector":"8a829eda","id":46042,"implemented":false,"kind":"function","modifiers":[],"name":"toggleAutoVoting","nameLocation":"11193:16:83","nodeType":"FunctionDefinition","parameters":{"id":46040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46039,"mutability":"mutable","name":"user","nameLocation":"11218:4:83","nodeType":"VariableDeclaration","scope":46042,"src":"11210:12:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46038,"name":"address","nodeType":"ElementaryTypeName","src":"11210:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11209:14:83"},"returnParameters":{"id":46041,"nodeType":"ParameterList","parameters":[],"src":"11232:0:83"},"scope":46200,"src":"11184:49:83","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":46043,"nodeType":"StructuredDocumentation","src":"11237:162:83","text":" @dev Check if autovoting is enabled for an account\n @param user The address to check\n @return Whether autovoting is enabled for the account"},"functionSelector":"802d2709","id":46050,"implemented":false,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabled","nameLocation":"11411:23:83","nodeType":"FunctionDefinition","parameters":{"id":46046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46045,"mutability":"mutable","name":"user","nameLocation":"11443:4:83","nodeType":"VariableDeclaration","scope":46050,"src":"11435:12:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46044,"name":"address","nodeType":"ElementaryTypeName","src":"11435:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11434:14:83"},"returnParameters":{"id":46049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46048,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46050,"src":"11472:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46047,"name":"bool","nodeType":"ElementaryTypeName","src":"11472:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11471:6:83"},"scope":46200,"src":"11402:76:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46051,"nodeType":"StructuredDocumentation","src":"11482:165:83","text":" @dev Check if autovoting is enabled for an account\n @param account The address to check\n @return Whether autovoting is enabled for the account"},"functionSelector":"5fb26367","id":46058,"implemented":false,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledInCurrentRound","nameLocation":"11659:37:83","nodeType":"FunctionDefinition","parameters":{"id":46054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46053,"mutability":"mutable","name":"account","nameLocation":"11705:7:83","nodeType":"VariableDeclaration","scope":46058,"src":"11697:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46052,"name":"address","nodeType":"ElementaryTypeName","src":"11697:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11696:17:83"},"returnParameters":{"id":46057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46058,"src":"11737:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46055,"name":"bool","nodeType":"ElementaryTypeName","src":"11737:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11736:6:83"},"scope":46200,"src":"11650:93:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46059,"nodeType":"StructuredDocumentation","src":"11747:249:83","text":" @dev Check if autovoting is enabled for an account at a specific round\n @param account The address to check\n @param roundId The round id to check\n @return Whether autovoting is enabled for the account at the specific round"},"functionSelector":"3d4fd3c7","id":46068,"implemented":false,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledForRound","nameLocation":"12008:31:83","nodeType":"FunctionDefinition","parameters":{"id":46064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46061,"mutability":"mutable","name":"account","nameLocation":"12048:7:83","nodeType":"VariableDeclaration","scope":46068,"src":"12040:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46060,"name":"address","nodeType":"ElementaryTypeName","src":"12040:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46063,"mutability":"mutable","name":"roundId","nameLocation":"12065:7:83","nodeType":"VariableDeclaration","scope":46068,"src":"12057:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46062,"name":"uint256","nodeType":"ElementaryTypeName","src":"12057:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12039:34:83"},"returnParameters":{"id":46067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46068,"src":"12097:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46065,"name":"bool","nodeType":"ElementaryTypeName","src":"12097:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12096:6:83"},"scope":46200,"src":"11999:104:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46069,"nodeType":"StructuredDocumentation","src":"12107:89:83","text":" @dev Check if autovoting is enabled for an account at a specific timepoint"},"functionSelector":"a461a94d","id":46078,"implemented":false,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledAtTimepoint","nameLocation":"12208:34:83","nodeType":"FunctionDefinition","parameters":{"id":46074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46071,"mutability":"mutable","name":"account","nameLocation":"12251:7:83","nodeType":"VariableDeclaration","scope":46078,"src":"12243:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46070,"name":"address","nodeType":"ElementaryTypeName","src":"12243:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46073,"mutability":"mutable","name":"timepoint","nameLocation":"12267:9:83","nodeType":"VariableDeclaration","scope":46078,"src":"12260:16:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":46072,"name":"uint48","nodeType":"ElementaryTypeName","src":"12260:6:83","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"12242:35:83"},"returnParameters":{"id":46077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46078,"src":"12301:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46075,"name":"bool","nodeType":"ElementaryTypeName","src":"12301:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12300:6:83"},"scope":46200,"src":"12199:108:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46079,"nodeType":"StructuredDocumentation","src":"12311:63:83","text":" @dev Returns the current allocation round round."},"functionSelector":"9cbe5efd","id":46084,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"12386:14:83","nodeType":"FunctionDefinition","parameters":{"id":46080,"nodeType":"ParameterList","parameters":[],"src":"12400:2:83"},"returnParameters":{"id":46083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46082,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46084,"src":"12426:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46081,"name":"uint256","nodeType":"ElementaryTypeName","src":"12426:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12425:9:83"},"scope":46200,"src":"12377:58:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46085,"nodeType":"StructuredDocumentation","src":"12439:78:83","text":" @dev Returns the current allocation round block when it starts."},"functionSelector":"561b64ef","id":46090,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"12529:20:83","nodeType":"FunctionDefinition","parameters":{"id":46086,"nodeType":"ParameterList","parameters":[],"src":"12549:2:83"},"returnParameters":{"id":46089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46088,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46090,"src":"12575:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46087,"name":"uint256","nodeType":"ElementaryTypeName","src":"12575:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12574:9:83"},"scope":46200,"src":"12520:64:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46091,"nodeType":"StructuredDocumentation","src":"12588:76:83","text":" @dev Returns the current allocation round block when it ends."},"functionSelector":"59372812","id":46096,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundDeadline","nameLocation":"12676:20:83","nodeType":"FunctionDefinition","parameters":{"id":46092,"nodeType":"ParameterList","parameters":[],"src":"12696:2:83"},"returnParameters":{"id":46095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46096,"src":"12722:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46093,"name":"uint256","nodeType":"ElementaryTypeName","src":"12722:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12721:9:83"},"scope":46200,"src":"12667:64:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46097,"nodeType":"StructuredDocumentation","src":"12735:75:83","text":" \n@dev Returns if quorum was reached for a specific round."},"functionSelector":"d4a8dd98","id":46104,"implemented":false,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"12822:13:83","nodeType":"FunctionDefinition","parameters":{"id":46100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46099,"mutability":"mutable","name":"roundId","nameLocation":"12844:7:83","nodeType":"VariableDeclaration","scope":46104,"src":"12836:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46098,"name":"uint256","nodeType":"ElementaryTypeName","src":"12836:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12835:17:83"},"returnParameters":{"id":46103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46104,"src":"12876:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46101,"name":"bool","nodeType":"ElementaryTypeName","src":"12876:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12875:6:83"},"scope":46200,"src":"12813:69:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46105,"nodeType":"StructuredDocumentation","src":"12886:94:83","text":" @dev Returns the ids of apps that are available for voting in a specific round."},"functionSelector":"7ace2485","id":46113,"implemented":false,"kind":"function","modifiers":[],"name":"getAppIdsOfRound","nameLocation":"12992:16:83","nodeType":"FunctionDefinition","parameters":{"id":46108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46107,"mutability":"mutable","name":"roundId","nameLocation":"13017:7:83","nodeType":"VariableDeclaration","scope":46113,"src":"13009:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46106,"name":"uint256","nodeType":"ElementaryTypeName","src":"13009:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13008:17:83"},"returnParameters":{"id":46112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46113,"src":"13049:16:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":46109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13049:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":46110,"nodeType":"ArrayTypeName","src":"13049:9:83","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"13048:18:83"},"scope":46200,"src":"12983:84:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46114,"nodeType":"StructuredDocumentation","src":"13071:71:83","text":" @dev Returns if an app can be voted in a specific round."},"functionSelector":"d68b4c36","id":46123,"implemented":false,"kind":"function","modifiers":[],"name":"isEligibleForVote","nameLocation":"13154:17:83","nodeType":"FunctionDefinition","parameters":{"id":46119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46116,"mutability":"mutable","name":"appId","nameLocation":"13180:5:83","nodeType":"VariableDeclaration","scope":46123,"src":"13172:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13172:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":46118,"mutability":"mutable","name":"roundId","nameLocation":"13195:7:83","nodeType":"VariableDeclaration","scope":46123,"src":"13187:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46117,"name":"uint256","nodeType":"ElementaryTypeName","src":"13187:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13171:32:83"},"returnParameters":{"id":46122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46123,"src":"13227:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46120,"name":"bool","nodeType":"ElementaryTypeName","src":"13227:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13226:6:83"},"scope":46200,"src":"13145:88:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46124,"nodeType":"StructuredDocumentation","src":"13237:76:83","text":" @dev Checks if the state of the round is {RoundState.Active}."},"functionSelector":"82afd23b","id":46131,"implemented":false,"kind":"function","modifiers":[],"name":"isActive","nameLocation":"13325:8:83","nodeType":"FunctionDefinition","parameters":{"id":46127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46126,"mutability":"mutable","name":"roundId","nameLocation":"13342:7:83","nodeType":"VariableDeclaration","scope":46131,"src":"13334:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46125,"name":"uint256","nodeType":"ElementaryTypeName","src":"13334:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13333:17:83"},"returnParameters":{"id":46130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46129,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46131,"src":"13374:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46128,"name":"bool","nodeType":"ElementaryTypeName","src":"13374:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13373:6:83"},"scope":46200,"src":"13316:64:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46132,"nodeType":"StructuredDocumentation","src":"13384:68:83","text":" @dev Returns the id of the last round that succeeded."},"functionSelector":"30097377","id":46139,"implemented":false,"kind":"function","modifiers":[],"name":"latestSucceededRoundId","nameLocation":"13464:22:83","nodeType":"FunctionDefinition","parameters":{"id":46135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46134,"mutability":"mutable","name":"roundId","nameLocation":"13495:7:83","nodeType":"VariableDeclaration","scope":46139,"src":"13487:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46133,"name":"uint256","nodeType":"ElementaryTypeName","src":"13487:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13486:17:83"},"returnParameters":{"id":46138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46137,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46139,"src":"13527:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46136,"name":"uint256","nodeType":"ElementaryTypeName","src":"13527:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13526:9:83"},"scope":46200,"src":"13455:81:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46140,"nodeType":"StructuredDocumentation","src":"13540:88:83","text":" @dev Returns true if an account has voted at least one time in any round."},"functionSelector":"9aeb962b","id":46147,"implemented":false,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"13640:12:83","nodeType":"FunctionDefinition","parameters":{"id":46143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46142,"mutability":"mutable","name":"user","nameLocation":"13661:4:83","nodeType":"VariableDeclaration","scope":46147,"src":"13653:12:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46141,"name":"address","nodeType":"ElementaryTypeName","src":"13653:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13652:14:83"},"returnParameters":{"id":46146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46147,"src":"13690:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46144,"name":"bool","nodeType":"ElementaryTypeName","src":"13690:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13689:6:83"},"scope":46200,"src":"13631:65:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46148,"nodeType":"StructuredDocumentation","src":"13700:93:83","text":" @dev Returns the base allocation percentage for funds distribution in a round."},"functionSelector":"0eca87fb","id":46155,"implemented":false,"kind":"function","modifiers":[],"name":"getRoundBaseAllocationPercentage","nameLocation":"13805:32:83","nodeType":"FunctionDefinition","parameters":{"id":46151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46150,"mutability":"mutable","name":"roundId","nameLocation":"13846:7:83","nodeType":"VariableDeclaration","scope":46155,"src":"13838:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46149,"name":"uint256","nodeType":"ElementaryTypeName","src":"13838:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13837:17:83"},"returnParameters":{"id":46154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46155,"src":"13878:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46152,"name":"uint256","nodeType":"ElementaryTypeName","src":"13878:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13877:9:83"},"scope":46200,"src":"13796:91:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46156,"nodeType":"StructuredDocumentation","src":"13891:79:83","text":" @dev Returns the max amount of shares an app can get in a round."},"functionSelector":"0a0e74ef","id":46163,"implemented":false,"kind":"function","modifiers":[],"name":"getRoundAppSharesCap","nameLocation":"13982:20:83","nodeType":"FunctionDefinition","parameters":{"id":46159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46158,"mutability":"mutable","name":"roundId","nameLocation":"14011:7:83","nodeType":"VariableDeclaration","scope":46163,"src":"14003:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46157,"name":"uint256","nodeType":"ElementaryTypeName","src":"14003:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14002:17:83"},"returnParameters":{"id":46162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46161,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46163,"src":"14043:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46160,"name":"uint256","nodeType":"ElementaryTypeName","src":"14043:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14042:9:83"},"scope":46200,"src":"13973:79:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46164,"nodeType":"StructuredDocumentation","src":"14056:55:83","text":" @dev Validates if an account is a person"},"functionSelector":"cfea80ed","id":46171,"implemented":false,"kind":"function","modifiers":[],"name":"validatePersonhoodForCurrentRound","nameLocation":"14123:33:83","nodeType":"FunctionDefinition","parameters":{"id":46167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46166,"mutability":"mutable","name":"account","nameLocation":"14165:7:83","nodeType":"VariableDeclaration","scope":46171,"src":"14157:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46165,"name":"address","nodeType":"ElementaryTypeName","src":"14157:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14156:17:83"},"returnParameters":{"id":46170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46171,"src":"14197:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46168,"name":"bool","nodeType":"ElementaryTypeName","src":"14197:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14196:6:83"},"scope":46200,"src":"14114:89:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46172,"nodeType":"StructuredDocumentation","src":"14207:118:83","text":" @dev Gets total voting power (voting power + deposit voting power) and validates it's greater than zero"},"functionSelector":"a45f45aa","id":46183,"implemented":false,"kind":"function","modifiers":[],"name":"getAndValidateVotingPower","nameLocation":"14337:25:83","nodeType":"FunctionDefinition","parameters":{"id":46177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46174,"mutability":"mutable","name":"account","nameLocation":"14371:7:83","nodeType":"VariableDeclaration","scope":46183,"src":"14363:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46173,"name":"address","nodeType":"ElementaryTypeName","src":"14363:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46176,"mutability":"mutable","name":"timepoint","nameLocation":"14388:9:83","nodeType":"VariableDeclaration","scope":46183,"src":"14380:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46175,"name":"uint256","nodeType":"ElementaryTypeName","src":"14380:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14362:36:83"},"returnParameters":{"id":46182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46179,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46183,"src":"14422:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46178,"name":"uint256","nodeType":"ElementaryTypeName","src":"14422:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46183,"src":"14431:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46180,"name":"bool","nodeType":"ElementaryTypeName","src":"14431:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14421:15:83"},"scope":46200,"src":"14328:109:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46184,"nodeType":"StructuredDocumentation","src":"14441:104:83","text":" @dev Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint"},"functionSelector":"4cadad2f","id":46193,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalVotingPower","nameLocation":"14557:19:83","nodeType":"FunctionDefinition","parameters":{"id":46189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46186,"mutability":"mutable","name":"voter","nameLocation":"14585:5:83","nodeType":"VariableDeclaration","scope":46193,"src":"14577:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46185,"name":"address","nodeType":"ElementaryTypeName","src":"14577:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46188,"mutability":"mutable","name":"roundStart","nameLocation":"14600:10:83","nodeType":"VariableDeclaration","scope":46193,"src":"14592:18:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46187,"name":"uint256","nodeType":"ElementaryTypeName","src":"14592:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14576:35:83"},"returnParameters":{"id":46192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46191,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46193,"src":"14635:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46190,"name":"uint256","nodeType":"ElementaryTypeName","src":"14635:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14634:9:83"},"scope":46200,"src":"14548:96:83","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":46194,"nodeType":"StructuredDocumentation","src":"14648:92:83","text":" @dev Get the total number of users who enabled auto-voting at the round start"},"functionSelector":"a022756b","id":46199,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtRoundStart","nameLocation":"14752:35:83","nodeType":"FunctionDefinition","parameters":{"id":46195,"nodeType":"ParameterList","parameters":[],"src":"14787:2:83"},"returnParameters":{"id":46198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46197,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46199,"src":"14813:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":46196,"name":"uint208","nodeType":"ElementaryTypeName","src":"14813:7:83","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"14812:9:83"},"scope":46200,"src":"14743:79:83","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":46201,"src":"1227:13597:83","usedErrors":[45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813],"usedEvents":[45826,45840,45853,45866,45873,45881]}],"src":"32:14793:83"},"id":83},"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","exportedSymbols":{"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"IB3TRGovernor":[63919],"IERC165":[5961],"IEmissions":[64454],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IX2EarnApps":[69989],"IXAllocationPool":[70597],"IXAllocationVotingGovernor":[46200],"Initializable":[1732],"RelayerAction":[66644],"SafeCast":[8770],"XAllocationVotingGovernorV8":[47146]},"id":47147,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":46202,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:84"},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","id":46204,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":4333,"src":"1220:114:84","symbolAliases":[{"foreign":{"id":46203,"name":"ERC165Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"1229:17:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":46206,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":5962,"src":"1335:82:84","symbolAliases":[{"foreign":{"id":46205,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"1344:7:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","id":46208,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":3988,"src":"1418:102:84","symbolAliases":[{"foreign":{"id":46207,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"1427:18:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol","file":"../interfaces/IXAllocationVotingGovernorV8.sol","id":46210,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":46201,"src":"1521:124:84","symbolAliases":[{"foreign":{"id":46209,"name":"IXAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46200,"src":"1530:28:84","typeDescriptions":{}},"local":"IXAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationPool.sol","file":"../../../interfaces/IXAllocationPool.sol","id":46212,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":70598,"src":"1646:76:84","symbolAliases":[{"foreign":{"id":46211,"name":"IXAllocationPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70597,"src":"1655:16:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":46214,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":1733,"src":"1723:98:84","symbolAliases":[{"foreign":{"id":46213,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1732:13:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../../interfaces/IX2EarnApps.sol","id":46216,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":69990,"src":"1822:66:84","symbolAliases":[{"foreign":{"id":46215,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"1831:11:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../../../interfaces/IEmissions.sol","id":46218,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":64455,"src":"1889:64:84","symbolAliases":[{"foreign":{"id":46217,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"1898:10:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../interfaces/IVoterRewards.sol","id":46220,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":69093,"src":"1954:70:84","symbolAliases":[{"foreign":{"id":46219,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1963:13:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../../interfaces/IVeBetterPassport.sol","id":46222,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":68602,"src":"2025:78:84","symbolAliases":[{"foreign":{"id":46221,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"2034:17:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../../interfaces/IRelayerRewardsPool.sol","id":46225,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":67118,"src":"2104:97:84","symbolAliases":[{"foreign":{"id":46223,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"2113:19:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":46224,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"2134:13:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":46227,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":8771,"src":"2202:75:84","symbolAliases":[{"foreign":{"id":46226,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"2211:8:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../../interfaces/IB3TRGovernor.sol","id":46229,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47147,"sourceUnit":63920,"src":"2278:70:84","symbolAliases":[{"foreign":{"id":46228,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2287:13:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":46231,"name":"Initializable","nameLocations":["3770:13:84"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"3770:13:84"},"id":46232,"nodeType":"InheritanceSpecifier","src":"3770:13:84"},{"baseName":{"id":46233,"name":"ContextUpgradeable","nameLocations":["3787:18:84"],"nodeType":"IdentifierPath","referencedDeclaration":3987,"src":"3787:18:84"},"id":46234,"nodeType":"InheritanceSpecifier","src":"3787:18:84"},{"baseName":{"id":46235,"name":"ERC165Upgradeable","nameLocations":["3809:17:84"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"3809:17:84"},"id":46236,"nodeType":"InheritanceSpecifier","src":"3809:17:84"},{"baseName":{"id":46237,"name":"IXAllocationVotingGovernor","nameLocations":["3830:26:84"],"nodeType":"IdentifierPath","referencedDeclaration":46200,"src":"3830:26:84"},"id":46238,"nodeType":"InheritanceSpecifier","src":"3830:26:84"}],"canonicalName":"XAllocationVotingGovernorV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":46230,"nodeType":"StructuredDocumentation","src":"2350:1368:84","text":" @title XAllocationVotingGovernor\n @dev Core of the voting system of allocation rounds, designed to be extended through various modules.\n This contract is abstract and requires several functions to be implemented in various modules:\n - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded}, and {_countVote}\n - A voting module must implement {_getVotes}, {clock}, and {CLOCK_MODE}\n - A settings module must implement {votingPeriod}\n - An external contracts module must implement {x2EarnApps}, {emissions}, {voterRewards} and {b3trGovernor}\n - A rounds storage module must implement {_startNewRound}, {roundSnapshot}, {roundDeadline}, and {currentRoundId}\n - A rounds finalization module must implement {finalize}\n - A earnings settings module must implement {_snapshotRoundEarningsCap}\n ----- Version 2 -----\n - Integrated VeBetterPassport\n ----- Version 5 -----\n - Fixed duplicate app voting in same transaction in {RoundVotesCountingUpgradeable._countVote}\n ----- Version 7 -----\n - Added B3TRGovernor contract to the contract\n ----- Version 8 -----\n - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences\n - Added refactoring to code for voting\n - Integrate RelayerRewardsPool contract to handle relayer rewards for autovoting"},"fullyImplemented":false,"id":47146,"linearizedBaseContracts":[47146,46200,4552,4332,5961,3987,1732],"name":"XAllocationVotingGovernorV8","nameLocation":"3737:27:84","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":46258,"mutability":"constant","name":"ALL_ROUND_STATES_BITMAP","nameLocation":"3886:23:84","nodeType":"VariableDeclaration","scope":47146,"src":"3861:104:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3861:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":46242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3921:1:84","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"arguments":[{"id":46246,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45736,"src":"3938:10:84","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$45736_$","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_enum$_RoundState_$45736_$","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}],"id":46245,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3933:4:84","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3933:16:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_enum$_RoundState_$45736","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}},"id":46248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3950:3:84","memberName":"max","nodeType":"MemberAccess","src":"3933:20:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}],"id":46244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3927:5:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":46243,"name":"uint8","nodeType":"ElementaryTypeName","src":"3927:5:84","typeDescriptions":{}}},"id":46249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3927:27:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":46250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3957:1:84","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3927:31:84","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":46252,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3926:33:84","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"3921:38:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46254,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3920:40:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":46255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3963:1:84","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3920:44:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3912:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":46240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3912:7:84","typeDescriptions":{}}},"id":46257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3912:53:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"canonicalName":"XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage","documentation":{"id":46259,"nodeType":"StructuredDocumentation","src":"3970:75:84","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernor"},"id":46262,"members":[{"constant":false,"id":46261,"mutability":"mutable","name":"_name","nameLocation":"4101:5:84","nodeType":"VariableDeclaration","scope":46262,"src":"4094:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":46260,"name":"string","nodeType":"ElementaryTypeName","src":"4094:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"XAllocationVotingGovernorStorage","nameLocation":"4055:32:84","nodeType":"StructDefinition","scope":47146,"src":"4048:63:84","visibility":"public"},{"constant":true,"id":46265,"mutability":"constant","name":"XAllocationVotingGovernorStorageLocation","nameLocation":"4259:40:84","nodeType":"VariableDeclaration","scope":47146,"src":"4234:138:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4234:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837666236336263643433336336393131306164393631626662653338616566353138313463626239653131616636666532313031316165343366623462653030","id":46264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4306:66:84","typeDescriptions":{"typeIdentifier":"t_rational_57765710672768799626165491671121261519051267988050200230250974502604607110656_by_1","typeString":"int_const 5776...(69 digits omitted)...0656"},"value":"0x7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be00"},"visibility":"private"},{"body":{"id":46272,"nodeType":"Block","src":"4492:83:84","statements":[{"AST":{"nodeType":"YulBlock","src":"4507:64:84","statements":[{"nodeType":"YulAssignment","src":"4515:50:84","value":{"name":"XAllocationVotingGovernorStorageLocation","nodeType":"YulIdentifier","src":"4525:40:84"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"4515:6:84"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":46269,"isOffset":false,"isSlot":true,"src":"4515:6:84","suffix":"slot","valueSize":1},{"declaration":46265,"isOffset":false,"isSlot":false,"src":"4525:40:84","valueSize":1}],"id":46271,"nodeType":"InlineAssembly","src":"4498:73:84"}]},"id":46273,"implemented":true,"kind":"function","modifiers":[],"name":"_getXAllocationVotingGovernorStorage","nameLocation":"4386:36:84","nodeType":"FunctionDefinition","parameters":{"id":46266,"nodeType":"ParameterList","parameters":[],"src":"4422:2:84"},"returnParameters":{"id":46270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46269,"mutability":"mutable","name":"$","nameLocation":"4489:1:84","nodeType":"VariableDeclaration","scope":46273,"src":"4448:42:84","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage"},"typeName":{"id":46268,"nodeType":"UserDefinedTypeName","pathNode":{"id":46267,"name":"XAllocationVotingGovernorStorage","nameLocations":["4448:32:84"],"nodeType":"IdentifierPath","referencedDeclaration":46262,"src":"4448:32:84"},"referencedDeclaration":46262,"src":"4448:32:84","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage"}},"visibility":"internal"}],"src":"4447:44:84"},"scope":47146,"src":"4377:198:84","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":46285,"nodeType":"Block","src":"4716:60:84","statements":[{"expression":{"arguments":[{"id":46282,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46276,"src":"4765:5:84","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46281,"name":"__XAllocationVotingGovernor_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46306,"src":"4722:42:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":46283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4722:49:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46284,"nodeType":"ExpressionStatement","src":"4722:49:84"}]},"documentation":{"id":46274,"nodeType":"StructuredDocumentation","src":"4579:45:84","text":" @dev Sets the value for {name}"},"id":46286,"implemented":true,"kind":"function","modifiers":[{"id":46279,"kind":"modifierInvocation","modifierName":{"id":46278,"name":"onlyInitializing","nameLocations":["4699:16:84"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4699:16:84"},"nodeType":"ModifierInvocation","src":"4699:16:84"}],"name":"__XAllocationVotingGovernor_init","nameLocation":"4636:32:84","nodeType":"FunctionDefinition","parameters":{"id":46277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46276,"mutability":"mutable","name":"name_","nameLocation":"4683:5:84","nodeType":"VariableDeclaration","scope":46286,"src":"4669:19:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46275,"name":"string","nodeType":"ElementaryTypeName","src":"4669:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4668:21:84"},"returnParameters":{"id":46280,"nodeType":"ParameterList","parameters":[],"src":"4716:0:84"},"scope":47146,"src":"4627:149:84","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":46305,"nodeType":"Block","src":"4879:115:84","statements":[{"assignments":[46295],"declarations":[{"constant":false,"id":46295,"mutability":"mutable","name":"$","nameLocation":"4926:1:84","nodeType":"VariableDeclaration","scope":46305,"src":"4885:42:84","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage"},"typeName":{"id":46294,"nodeType":"UserDefinedTypeName","pathNode":{"id":46293,"name":"XAllocationVotingGovernorStorage","nameLocations":["4885:32:84"],"nodeType":"IdentifierPath","referencedDeclaration":46262,"src":"4885:32:84"},"referencedDeclaration":46262,"src":"4885:32:84","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage"}},"visibility":"internal"}],"id":46298,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":46296,"name":"_getXAllocationVotingGovernorStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46273,"src":"4930:36:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage storage pointer)"}},"id":46297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4930:38:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4885:83:84"},{"expression":{"id":46303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46299,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46295,"src":"4974:1:84","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage storage pointer"}},"id":46301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4976:5:84","memberName":"_name","nodeType":"MemberAccess","referencedDeclaration":46261,"src":"4974:7:84","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":46302,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46288,"src":"4984:5:84","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"4974:15:84","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":46304,"nodeType":"ExpressionStatement","src":"4974:15:84"}]},"id":46306,"implemented":true,"kind":"function","modifiers":[{"id":46291,"kind":"modifierInvocation","modifierName":{"id":46290,"name":"onlyInitializing","nameLocations":["4862:16:84"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4862:16:84"},"nodeType":"ModifierInvocation","src":"4862:16:84"}],"name":"__XAllocationVotingGovernor_init_unchained","nameLocation":"4789:42:84","nodeType":"FunctionDefinition","parameters":{"id":46289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46288,"mutability":"mutable","name":"name_","nameLocation":"4846:5:84","nodeType":"VariableDeclaration","scope":46306,"src":"4832:19:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46287,"name":"string","nodeType":"ElementaryTypeName","src":"4832:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4831:21:84"},"returnParameters":{"id":46292,"nodeType":"ParameterList","parameters":[],"src":"4879:0:84"},"scope":47146,"src":"4780:214:84","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[46024],"body":{"id":46339,"nodeType":"Block","src":"5190:430:84","statements":[{"assignments":[46313],"declarations":[{"constant":false,"id":46313,"mutability":"mutable","name":"proposer","nameLocation":"5204:8:84","nodeType":"VariableDeclaration","scope":46339,"src":"5196:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46312,"name":"address","nodeType":"ElementaryTypeName","src":"5196:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":46316,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":46314,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"5215:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":46315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5215:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5196:31:84"},{"assignments":[46318],"declarations":[{"constant":false,"id":46318,"mutability":"mutable","name":"currentRound","nameLocation":"5405:12:84","nodeType":"VariableDeclaration","scope":46339,"src":"5397:20:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46317,"name":"uint256","nodeType":"ElementaryTypeName","src":"5397:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46321,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":46319,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47019,"src":"5420:14:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":46320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5420:16:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5397:39:84"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46322,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46318,"src":"5446:12:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5461:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5446:16:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46334,"nodeType":"IfStatement","src":"5442:136:84","trueBody":{"id":46333,"nodeType":"Block","src":"5464:114:84","statements":[{"expression":{"arguments":[{"id":46329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5480:23:84","subExpression":{"arguments":[{"id":46327,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46318,"src":"5490:12:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46326,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46753,"src":"5481:8:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":46328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5481:22:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a2074686572652063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65","id":46330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5505:65:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5","typeString":"literal_string \"XAllocationVotingGovernor: there can be only one round per time\""},"value":"XAllocationVotingGovernor: there can be only one round per time"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5","typeString":"literal_string \"XAllocationVotingGovernor: there can be only one round per time\""}],"id":46325,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5472:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5472:99:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46332,"nodeType":"ExpressionStatement","src":"5472:99:84"}]}},{"expression":{"arguments":[{"id":46336,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46313,"src":"5606:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46335,"name":"_startNewRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46953,"src":"5591:14:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":46337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5591:24:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46311,"id":46338,"nodeType":"Return","src":"5584:31:84"}]},"documentation":{"id":46307,"nodeType":"StructuredDocumentation","src":"5037:92:84","text":" @dev Starts a new round of voting to allocate funds to x-2-earn applications."},"functionSelector":"bd85948c","id":46340,"implemented":true,"kind":"function","modifiers":[],"name":"startNewRound","nameLocation":"5141:13:84","nodeType":"FunctionDefinition","parameters":{"id":46308,"nodeType":"ParameterList","parameters":[],"src":"5154:2:84"},"returnParameters":{"id":46311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46340,"src":"5181:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46309,"name":"uint256","nodeType":"ElementaryTypeName","src":"5181:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5180:9:84"},"scope":47146,"src":"5132:488:84","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[46036],"body":{"id":46400,"nodeType":"Block","src":"5920:488:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46353,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46346,"src":"5934:6:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":46354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5941:6:84","memberName":"length","nodeType":"MemberAccess","src":"5934:13:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":46355,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46349,"src":"5951:11:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":46356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5963:6:84","memberName":"length","nodeType":"MemberAccess","src":"5951:18:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5934:35:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206170707320616e642077656967687473206c656e677468206d69736d61746368","id":46358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5971:61:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11","typeString":"literal_string \"XAllocationVotingGovernor: apps and weights length mismatch\""},"value":"XAllocationVotingGovernor: apps and weights length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11","typeString":"literal_string \"XAllocationVotingGovernor: apps and weights length mismatch\""}],"id":46352,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5926:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5926:107:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46360,"nodeType":"ExpressionStatement","src":"5926:107:84"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46362,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46346,"src":"6047:6:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":46363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6054:6:84","memberName":"length","nodeType":"MemberAccess","src":"6047:13:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6063:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6047:17:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f206170707320746f20766f746520666f72","id":46366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6066:48:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645","typeString":"literal_string \"XAllocationVotingGovernor: no apps to vote for\""},"value":"XAllocationVotingGovernor: no apps to vote for"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645","typeString":"literal_string \"XAllocationVotingGovernor: no apps to vote for\""}],"id":46361,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6039:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6039:76:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46368,"nodeType":"ExpressionStatement","src":"6039:76:84"},{"condition":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":46371,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"6166:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":46372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6166:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":46375,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47025,"src":"6198:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":46376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6198:22:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46373,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"6180:8:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":46374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6189:8:84","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"6180:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":46377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6180:41:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":46369,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6126:4:84","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVotingGovernorV8_$47146","typeString":"contract XAllocationVotingGovernorV8"}},"id":46370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6131:34:84","memberName":"isUserAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":46078,"src":"6126:39:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view external returns (bool)"}},"id":46378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6126:96:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46385,"nodeType":"IfStatement","src":"6122:155:84","trueBody":{"id":46384,"nodeType":"Block","src":"6224:53:84","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":46380,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"6257:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":46381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6257:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46379,"name":"AutoVotingEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45803,"src":"6239:17:84","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":46382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6239:31:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46383,"nodeType":"RevertStatement","src":"6232:38:84"}]}},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":46387,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"6317:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":46388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6317:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46386,"name":"validatePersonhoodForCurrentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46601,"src":"6283:33:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":46389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6283:47:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46390,"nodeType":"ExpressionStatement","src":"6283:47:84"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":46392,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"6353:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":46393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6353:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46394,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46343,"src":"6367:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46395,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46346,"src":"6376:6:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":46396,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46349,"src":"6384:11:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"66616c7365","id":46397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6397:5:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":46391,"name":"_handleCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46566,"src":"6337:15:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,bool)"}},"id":46398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6337:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46399,"nodeType":"ExpressionStatement","src":"6337:66:84"}]},"documentation":{"id":46341,"nodeType":"StructuredDocumentation","src":"5624:188:84","text":" @dev Cast a vote for a set of x-2-earn applications.\n @notice Only addresses with a valid passport can vote.\n @notice Reverts if autovoting is enabled for the voter."},"functionSelector":"53ed6399","id":46401,"implemented":true,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"5824:8:84","nodeType":"FunctionDefinition","parameters":{"id":46350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46343,"mutability":"mutable","name":"roundId","nameLocation":"5841:7:84","nodeType":"VariableDeclaration","scope":46401,"src":"5833:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46342,"name":"uint256","nodeType":"ElementaryTypeName","src":"5833:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46346,"mutability":"mutable","name":"appIds","nameLocation":"5867:6:84","nodeType":"VariableDeclaration","scope":46401,"src":"5850:23:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":46344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5850:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":46345,"nodeType":"ArrayTypeName","src":"5850:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":46349,"mutability":"mutable","name":"voteWeights","nameLocation":"5892:11:84","nodeType":"VariableDeclaration","scope":46401,"src":"5875:28:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":46347,"name":"uint256","nodeType":"ElementaryTypeName","src":"5875:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46348,"nodeType":"ArrayTypeName","src":"5875:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5832:72:84"},"returnParameters":{"id":46351,"nodeType":"ParameterList","parameters":[],"src":"5920:0:84"},"scope":47146,"src":"5815:593:84","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":46512,"nodeType":"Block","src":"6712:1148:84","statements":[{"condition":{"id":46419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6722:90:84","subExpression":{"arguments":[{"id":46411,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"6763:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":46415,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46406,"src":"6802:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46414,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47005,"src":"6788:13:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":46416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6788:22:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46412,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"6770:8:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":46413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6779:8:84","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"6770:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":46417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6770:41:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":46409,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6723:4:84","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVotingGovernorV8_$47146","typeString":"contract XAllocationVotingGovernorV8"}},"id":46410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6728:34:84","memberName":"isUserAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":46078,"src":"6723:39:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view external returns (bool)"}},"id":46418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6723:89:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46425,"nodeType":"IfStatement","src":"6718:145:84","trueBody":{"id":46424,"nodeType":"Block","src":"6814:49:84","statements":[{"errorCall":{"arguments":[{"id":46421,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"6850:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46420,"name":"AutoVotingNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45798,"src":"6829:20:84","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":46422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6829:27:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46423,"nodeType":"RevertStatement","src":"6822:34:84"}]}},{"expression":{"arguments":[{"id":46427,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46406,"src":"6898:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46428,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"6907:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":46426,"name":"_checkEarlyAccessEligibility","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46649,"src":"6869:28:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) view"}},"id":46429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6869:44:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46430,"nodeType":"ExpressionStatement","src":"6869:44:84"},{"assignments":[46432,null],"declarations":[{"constant":false,"id":46432,"mutability":"mutable","name":"isPerson","nameLocation":"6926:8:84","nodeType":"VariableDeclaration","scope":46512,"src":"6921:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46431,"name":"bool","nodeType":"ElementaryTypeName","src":"6921:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":46443,"initialValue":{"arguments":[{"id":46436,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"6979:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":46439,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47025,"src":"7004:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":46440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7004:22:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46437,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"6986:8:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":46438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6995:8:84","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"6986:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":46441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6986:41:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":46433,"name":"veBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47039,"src":"6940:16:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IVeBetterPassport_$68601_$","typeString":"function () view returns (contract IVeBetterPassport)"}},"id":46434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6940:18:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":46435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6959:19:84","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"6940:38:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":46442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6940:88:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"6920:108:84"},{"assignments":[46448],"declarations":[{"constant":false,"id":46448,"mutability":"mutable","name":"appIds","nameLocation":"7052:6:84","nodeType":"VariableDeclaration","scope":46512,"src":"7035:23:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":46446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7035:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":46447,"nodeType":"ArrayTypeName","src":"7035:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":46452,"initialValue":{"arguments":[{"id":46450,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"7087:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46449,"name":"_getUserVotingPreferences","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47118,"src":"7061:25:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) view returns (bytes32[] memory)"}},"id":46451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:32:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7035:58:84"},{"assignments":[46457,46460,46462],"declarations":[{"constant":false,"id":46457,"mutability":"mutable","name":"finalAppIds","nameLocation":"7118:11:84","nodeType":"VariableDeclaration","scope":46512,"src":"7101:28:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":46455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7101:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":46456,"nodeType":"ArrayTypeName","src":"7101:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":46460,"mutability":"mutable","name":"voteWeights","nameLocation":"7148:11:84","nodeType":"VariableDeclaration","scope":46512,"src":"7131:28:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":46458,"name":"uint256","nodeType":"ElementaryTypeName","src":"7131:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46459,"nodeType":"ArrayTypeName","src":"7131:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":46462,"mutability":"mutable","name":"votingPower","nameLocation":"7169:11:84","nodeType":"VariableDeclaration","scope":46512,"src":"7161:19:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46461,"name":"uint256","nodeType":"ElementaryTypeName","src":"7161:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46468,"initialValue":{"arguments":[{"id":46464,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"7214:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46465,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46406,"src":"7227:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46466,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46448,"src":"7242:6:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":46463,"name":"_prepareAutoVoteArrays","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47145,"src":"7184:22:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,bytes32[] memory) returns (bytes32[] memory,uint256[] memory,uint256)"}},"id":46467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7184:70:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7100:154:84"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7411:9:84","subExpression":{"id":46469,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46432,"src":"7412:8:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46471,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46457,"src":"7424:11:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":46472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7436:6:84","memberName":"length","nodeType":"MemberAccess","src":"7424:18:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7446:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7424:23:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7411:36:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46503,"nodeType":"IfStatement","src":"7407:379:84","trueBody":{"id":46502,"nodeType":"Block","src":"7449:337:84","statements":[{"condition":{"arguments":[{"id":46477,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"7556:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46476,"name":"_isAutoVotingEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47099,"src":"7535:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":46478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7535:27:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46491,"nodeType":"IfStatement","src":"7531:148:84","trueBody":{"id":46490,"nodeType":"Block","src":"7564:115:84","statements":[{"expression":{"arguments":[{"id":46480,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"7592:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46479,"name":"_toggleAutoVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47091,"src":"7574:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":46481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7574:24:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46482,"nodeType":"ExpressionStatement","src":"7574:24:84"},{"expression":{"arguments":[{"id":46486,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46406,"src":"7659:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":46487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7668:1:84","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":46483,"name":"relayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47085,"src":"7608:18:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IRelayerRewardsPool_$67117_$","typeString":"function () view returns (contract IRelayerRewardsPool)"}},"id":46484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7608:20:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":46485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7629:29:84","memberName":"reduceExpectedActionsForRound","nodeType":"MemberAccess","referencedDeclaration":67049,"src":"7608:50:84","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":46488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7608:62:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46489,"nodeType":"ExpressionStatement","src":"7608:62:84"}]}},{"eventCall":{"arguments":[{"id":46493,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"7707:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46494,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46406,"src":"7714:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46495,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46432,"src":"7723:8:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":46496,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46457,"src":"7733:11:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":46497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7745:6:84","memberName":"length","nodeType":"MemberAccess","src":"7733:18:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46498,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46462,"src":"7753:11:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46492,"name":"AutoVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45826,"src":"7691:15:84","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,bool,uint256,uint256)"}},"id":46499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7691:74:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46500,"nodeType":"EmitStatement","src":"7686:79:84"},{"functionReturnParameters":46408,"id":46501,"nodeType":"Return","src":"7773:7:84"}]}},{"expression":{"arguments":[{"id":46505,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46404,"src":"7808:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46506,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46406,"src":"7815:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46507,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46457,"src":"7824:11:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":46508,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46460,"src":"7837:11:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"74727565","id":46509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7850:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":46504,"name":"_handleCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46566,"src":"7792:15:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,bool)"}},"id":46510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7792:63:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46511,"nodeType":"ExpressionStatement","src":"7792:63:84"}]},"documentation":{"id":46402,"nodeType":"StructuredDocumentation","src":"6464:178:84","text":" @dev Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\n @notice Reverts if autovoting is not enabled for the voter."},"functionSelector":"a5ae08e9","id":46513,"implemented":true,"kind":"function","modifiers":[],"name":"castVoteOnBehalfOf","nameLocation":"6654:18:84","nodeType":"FunctionDefinition","parameters":{"id":46407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46404,"mutability":"mutable","name":"voter","nameLocation":"6681:5:84","nodeType":"VariableDeclaration","scope":46513,"src":"6673:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46403,"name":"address","nodeType":"ElementaryTypeName","src":"6673:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46406,"mutability":"mutable","name":"roundId","nameLocation":"6696:7:84","nodeType":"VariableDeclaration","scope":46513,"src":"6688:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46405,"name":"uint256","nodeType":"ElementaryTypeName","src":"6688:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6672:32:84"},"returnParameters":{"id":46408,"nodeType":"ParameterList","parameters":[],"src":"6712:0:84"},"scope":47146,"src":"6645:1215:84","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":46565,"nodeType":"Block","src":"8379:334:84","statements":[{"expression":{"arguments":[{"id":46530,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46518,"src":"8406:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":46532,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45736,"src":"8434:10:84","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$45736_$","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}},"id":46533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8445:6:84","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":45733,"src":"8434:17:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}],"id":46531,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46909,"src":"8415:18:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$45736_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernorV8.RoundState) pure returns (bytes32)"}},"id":46534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8415:37:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":46529,"name":"_validateStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46688,"src":"8385:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_RoundState_$45736_$","typeString":"function (uint256,bytes32) view returns (enum IXAllocationVotingGovernorV8.RoundState)"}},"id":46535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8385:68:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"id":46536,"nodeType":"ExpressionStatement","src":"8385:68:84"},{"expression":{"arguments":[{"id":46538,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46518,"src":"8471:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46539,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46516,"src":"8480:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46540,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46521,"src":"8487:6:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":46541,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46524,"src":"8495:11:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":46537,"name":"_countVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46923,"src":"8460:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address,bytes32[] memory,uint256[] memory)"}},"id":46542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8460:47:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46543,"nodeType":"ExpressionStatement","src":"8460:47:84"},{"condition":{"id":46544,"name":"isAutoVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46526,"src":"8518:10:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46564,"nodeType":"IfStatement","src":"8514:195:84","trueBody":{"id":46563,"nodeType":"Block","src":"8530:179:84","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":46548,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"8581:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":46549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8581:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46550,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46516,"src":"8595:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46551,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46518,"src":"8602:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46552,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"8611:13:84","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RelayerAction_$66644_$","typeString":"type(enum RelayerAction)"}},"id":46553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8625:4:84","memberName":"VOTE","nodeType":"MemberAccess","referencedDeclaration":66642,"src":"8611:18:84","typeDescriptions":{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":46545,"name":"relayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47085,"src":"8538:18:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IRelayerRewardsPool_$67117_$","typeString":"function () view returns (contract IRelayerRewardsPool)"}},"id":46546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8538:20:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":46547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8559:21:84","memberName":"registerRelayerAction","nodeType":"MemberAccess","referencedDeclaration":67080,"src":"8538:42:84","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_RelayerAction_$66644_$returns$__$","typeString":"function (address,address,uint256,enum RelayerAction) external"}},"id":46554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8538:92:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46555,"nodeType":"ExpressionStatement","src":"8538:92:84"},{"eventCall":{"arguments":[{"id":46557,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46516,"src":"8666:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46558,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46518,"src":"8673:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46559,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46521,"src":"8682:6:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":46560,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46524,"src":"8690:11:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":46556,"name":"AllocationAutoVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45866,"src":"8643:22:84","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory)"}},"id":46561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8643:59:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46562,"nodeType":"EmitStatement","src":"8638:64:84"}]}}]},"documentation":{"id":46514,"nodeType":"StructuredDocumentation","src":"7864:350:84","text":"@dev Internal function to handle common voting logic\n @param voter The address casting the vote\n @param roundId The round ID to vote in\n @param appIds Array of app IDs to vote for\n @param voteWeights Array of vote weights for each app\n @param isAutoVote Whether this is an auto vote (affects events and relayer rewards)"},"id":46566,"implemented":true,"kind":"function","modifiers":[],"name":"_handleCastVote","nameLocation":"8226:15:84","nodeType":"FunctionDefinition","parameters":{"id":46527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46516,"mutability":"mutable","name":"voter","nameLocation":"8255:5:84","nodeType":"VariableDeclaration","scope":46566,"src":"8247:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46515,"name":"address","nodeType":"ElementaryTypeName","src":"8247:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46518,"mutability":"mutable","name":"roundId","nameLocation":"8274:7:84","nodeType":"VariableDeclaration","scope":46566,"src":"8266:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46517,"name":"uint256","nodeType":"ElementaryTypeName","src":"8266:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46521,"mutability":"mutable","name":"appIds","nameLocation":"8304:6:84","nodeType":"VariableDeclaration","scope":46566,"src":"8287:23:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":46519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8287:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":46520,"nodeType":"ArrayTypeName","src":"8287:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":46524,"mutability":"mutable","name":"voteWeights","nameLocation":"8333:11:84","nodeType":"VariableDeclaration","scope":46566,"src":"8316:28:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":46522,"name":"uint256","nodeType":"ElementaryTypeName","src":"8316:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46523,"nodeType":"ArrayTypeName","src":"8316:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":46526,"mutability":"mutable","name":"isAutoVote","nameLocation":"8355:10:84","nodeType":"VariableDeclaration","scope":46566,"src":"8350:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46525,"name":"bool","nodeType":"ElementaryTypeName","src":"8350:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8241:128:84"},"returnParameters":{"id":46528,"nodeType":"ParameterList","parameters":[],"src":"8379:0:84"},"scope":47146,"src":"8217:496:84","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[46171],"body":{"id":46600,"nodeType":"Block","src":"8926:281:84","statements":[{"assignments":[46575,46577],"declarations":[{"constant":false,"id":46575,"mutability":"mutable","name":"isPerson","nameLocation":"8938:8:84","nodeType":"VariableDeclaration","scope":46600,"src":"8933:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46574,"name":"bool","nodeType":"ElementaryTypeName","src":"8933:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46577,"mutability":"mutable","name":"explanation","nameLocation":"8962:11:84","nodeType":"VariableDeclaration","scope":46600,"src":"8948:25:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46576,"name":"string","nodeType":"ElementaryTypeName","src":"8948:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":46588,"initialValue":{"arguments":[{"id":46581,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46569,"src":"9023:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":46584,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47025,"src":"9054:20:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":46585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9054:22:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46582,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"9036:8:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":46583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9045:8:84","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"9036:17:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":46586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9036:41:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":46578,"name":"veBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47039,"src":"8977:16:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IVeBetterPassport_$68601_$","typeString":"function () view returns (contract IVeBetterPassport)"}},"id":46579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:18:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":46580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8996:19:84","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"8977:38:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":46587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:106:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"8932:151:84"},{"condition":{"id":46590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9093:9:84","subExpression":{"id":46589,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46575,"src":"9094:8:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46597,"nodeType":"IfStatement","src":"9089:93:84","trueBody":{"id":46596,"nodeType":"Block","src":"9104:78:84","statements":[{"errorCall":{"arguments":[{"id":46592,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46569,"src":"9156:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46593,"name":"explanation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46577,"src":"9163:11:84","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46591,"name":"GovernorPersonhoodVerificationFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45788,"src":"9119:36:84","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) pure"}},"id":46594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:56:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46595,"nodeType":"RevertStatement","src":"9112:63:84"}]}},{"expression":{"id":46598,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46575,"src":"9194:8:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46573,"id":46599,"nodeType":"Return","src":"9187:15:84"}]},"documentation":{"id":46567,"nodeType":"StructuredDocumentation","src":"8717:121:84","text":" @dev Validate that the voter is a person at the current round snapshot\n @param voter The voter address"},"functionSelector":"cfea80ed","id":46601,"implemented":true,"kind":"function","modifiers":[],"name":"validatePersonhoodForCurrentRound","nameLocation":"8850:33:84","nodeType":"FunctionDefinition","parameters":{"id":46570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46569,"mutability":"mutable","name":"voter","nameLocation":"8892:5:84","nodeType":"VariableDeclaration","scope":46601,"src":"8884:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46568,"name":"address","nodeType":"ElementaryTypeName","src":"8884:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8883:15:84"},"returnParameters":{"id":46573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46601,"src":"8920:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46571,"name":"bool","nodeType":"ElementaryTypeName","src":"8920:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8919:6:84"},"scope":47146,"src":"8841:366:84","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46183],"body":{"id":46630,"nodeType":"Block","src":"9478:174:84","statements":[{"assignments":[46614],"declarations":[{"constant":false,"id":46614,"mutability":"mutable","name":"voterAvailableVotes","nameLocation":"9492:19:84","nodeType":"VariableDeclaration","scope":46630,"src":"9484:27:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46613,"name":"uint256","nodeType":"ElementaryTypeName","src":"9484:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46619,"initialValue":{"arguments":[{"id":46616,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46604,"src":"9534:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46617,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46606,"src":"9543:9:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46615,"name":"getTotalVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46869,"src":"9514:19:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":46618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9514:39:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9484:69:84"},{"assignments":[46621],"declarations":[{"constant":false,"id":46621,"mutability":"mutable","name":"isValid","nameLocation":"9564:7:84","nodeType":"VariableDeclaration","scope":46630,"src":"9559:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46620,"name":"bool","nodeType":"ElementaryTypeName","src":"9559:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":46625,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46622,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46614,"src":"9574:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":46623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9597:7:84","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"src":"9574:30:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"9559:45:84"},{"expression":{"components":[{"id":46626,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46614,"src":"9618:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46627,"name":"isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46621,"src":"9639:7:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46628,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9617:30:84","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$","typeString":"tuple(uint256,bool)"}},"functionReturnParameters":46612,"id":46629,"nodeType":"Return","src":"9610:37:84"}]},"documentation":{"id":46602,"nodeType":"StructuredDocumentation","src":"9211:157:84","text":" @dev Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting"},"functionSelector":"a45f45aa","id":46631,"implemented":true,"kind":"function","modifiers":[],"name":"getAndValidateVotingPower","nameLocation":"9380:25:84","nodeType":"FunctionDefinition","parameters":{"id":46607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46604,"mutability":"mutable","name":"account","nameLocation":"9414:7:84","nodeType":"VariableDeclaration","scope":46631,"src":"9406:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46603,"name":"address","nodeType":"ElementaryTypeName","src":"9406:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46606,"mutability":"mutable","name":"timepoint","nameLocation":"9431:9:84","nodeType":"VariableDeclaration","scope":46631,"src":"9423:17:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46605,"name":"uint256","nodeType":"ElementaryTypeName","src":"9423:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9405:36:84"},"returnParameters":{"id":46612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46609,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46631,"src":"9463:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46608,"name":"uint256","nodeType":"ElementaryTypeName","src":"9463:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46631,"src":"9472:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46610,"name":"bool","nodeType":"ElementaryTypeName","src":"9472:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9462:15:84"},"scope":47146,"src":"9371:281:84","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":46648,"nodeType":"Block","src":"9889:91:84","statements":[{"expression":{"arguments":[{"id":46642,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46634,"src":"9946:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46643,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46636,"src":"9955:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":46644,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"9962:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":46645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9962:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":46639,"name":"relayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47085,"src":"9895:18:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IRelayerRewardsPool_$67117_$","typeString":"function () view returns (contract IRelayerRewardsPool)"}},"id":46640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9895:20:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":46641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9916:29:84","memberName":"validateVoteDuringEarlyAccess","nodeType":"MemberAccess","referencedDeclaration":67106,"src":"9895:50:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,address,address) view external"}},"id":46646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9895:80:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46647,"nodeType":"ExpressionStatement","src":"9895:80:84"}]},"documentation":{"id":46632,"nodeType":"StructuredDocumentation","src":"9656:146:84","text":" @dev Check if the caller is eligible to perform relayer actions during early access period\n @param roundId The current round ID"},"id":46649,"implemented":true,"kind":"function","modifiers":[],"name":"_checkEarlyAccessEligibility","nameLocation":"9814:28:84","nodeType":"FunctionDefinition","parameters":{"id":46637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46634,"mutability":"mutable","name":"roundId","nameLocation":"9851:7:84","nodeType":"VariableDeclaration","scope":46649,"src":"9843:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46633,"name":"uint256","nodeType":"ElementaryTypeName","src":"9843:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46636,"mutability":"mutable","name":"voter","nameLocation":"9868:5:84","nodeType":"VariableDeclaration","scope":46649,"src":"9860:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46635,"name":"address","nodeType":"ElementaryTypeName","src":"9860:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9842:32:84"},"returnParameters":{"id":46638,"nodeType":"ParameterList","parameters":[],"src":"9889:0:84"},"scope":47146,"src":"9805:175:84","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":46687,"nodeType":"Block","src":"10369:237:84","statements":[{"assignments":[46662],"declarations":[{"constant":false,"id":46662,"mutability":"mutable","name":"currentState","nameLocation":"10386:12:84","nodeType":"VariableDeclaration","scope":46687,"src":"10375:23:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},"typeName":{"id":46661,"nodeType":"UserDefinedTypeName","pathNode":{"id":46660,"name":"RoundState","nameLocations":["10375:10:84"],"nodeType":"IdentifierPath","referencedDeclaration":45736,"src":"10375:10:84"},"referencedDeclaration":45736,"src":"10375:10:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"visibility":"internal"}],"id":46666,"initialValue":{"arguments":[{"id":46664,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46652,"src":"10407:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46663,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46810,"src":"10401:5:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$45736_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV8.RoundState)"}},"id":46665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10401:14:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"nodeType":"VariableDeclarationStatement","src":"10375:40:84"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":46676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":46671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46668,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46662,"src":"10444:12:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}],"id":46667,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46909,"src":"10425:18:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$45736_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernorV8.RoundState) pure returns (bytes32)"}},"id":46669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10425:32:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":46670,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46654,"src":"10460:13:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10425:48:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":46674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10485:1:84","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":46673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10477:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":46672,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10477:7:84","typeDescriptions":{}}},"id":46675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10477:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10425:62:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46684,"nodeType":"IfStatement","src":"10421:156:84","trueBody":{"id":46683,"nodeType":"Block","src":"10489:88:84","statements":[{"errorCall":{"arguments":[{"id":46678,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46652,"src":"10533:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46679,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46662,"src":"10542:12:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},{"id":46680,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46654,"src":"10556:13:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":46677,"name":"GovernorUnexpectedRoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"10504:28:84","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_RoundState_$45736_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum IXAllocationVotingGovernorV8.RoundState,bytes32) pure"}},"id":46681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10504:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46682,"nodeType":"RevertStatement","src":"10497:73:84"}]}},{"expression":{"id":46685,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46662,"src":"10589:12:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"functionReturnParameters":46659,"id":46686,"nodeType":"Return","src":"10582:19:84"}]},"documentation":{"id":46650,"nodeType":"StructuredDocumentation","src":"9984:278:84","text":" @dev Check that the current state of a round matches the requirements described by the `allowedStates` bitmap.\n This bitmap should be built using `_encodeStateBitmap`.\n If requirements are not met, reverts with a {GovernorUnexpectedRoundState} error."},"id":46688,"implemented":true,"kind":"function","modifiers":[],"name":"_validateStateBitmap","nameLocation":"10274:20:84","nodeType":"FunctionDefinition","parameters":{"id":46655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46652,"mutability":"mutable","name":"roundId","nameLocation":"10303:7:84","nodeType":"VariableDeclaration","scope":46688,"src":"10295:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46651,"name":"uint256","nodeType":"ElementaryTypeName","src":"10295:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46654,"mutability":"mutable","name":"allowedStates","nameLocation":"10320:13:84","nodeType":"VariableDeclaration","scope":46688,"src":"10312:21:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46653,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10312:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10294:40:84"},"returnParameters":{"id":46659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46688,"src":"10357:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},"typeName":{"id":46657,"nodeType":"UserDefinedTypeName","pathNode":{"id":46656,"name":"RoundState","nameLocations":["10357:10:84"],"nodeType":"IdentifierPath","referencedDeclaration":45736,"src":"10357:10:84"},"referencedDeclaration":45736,"src":"10357:10:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"visibility":"internal"}],"src":"10356:12:84"},"scope":47146,"src":"10265:341:84","stateMutability":"view","virtual":false,"visibility":"private"},{"baseFunctions":[4331,5960],"body":{"id":46710,"nodeType":"Block","src":"10776:117:84","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":46703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46698,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46690,"src":"10789:11:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":46700,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46200,"src":"10809:26:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernorV8_$46200_$","typeString":"type(contract IXAllocationVotingGovernorV8)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernorV8_$46200_$","typeString":"type(contract IXAllocationVotingGovernorV8)"}],"id":46699,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10804:4:84","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10804:32:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"type(contract IXAllocationVotingGovernorV8)"}},"id":46702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10837:11:84","memberName":"interfaceId","nodeType":"MemberAccess","src":"10804:44:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"10789:59:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":46706,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46690,"src":"10876:11:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":46704,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10852:5:84","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingGovernorV8_$47146_$","typeString":"type(contract super XAllocationVotingGovernorV8)"}},"id":46705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10858:17:84","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":4331,"src":"10852:23:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":46707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10852:36:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10789:99:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46697,"id":46709,"nodeType":"Return","src":"10782:106:84"}]},"functionSelector":"01ffc9a7","id":46711,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"10658:17:84","nodeType":"FunctionDefinition","overrides":{"id":46694,"nodeType":"OverrideSpecifier","overrides":[{"id":46692,"name":"IERC165","nameLocations":["10733:7:84"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"10733:7:84"},{"id":46693,"name":"ERC165Upgradeable","nameLocations":["10742:17:84"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"10742:17:84"}],"src":"10724:36:84"},"parameters":{"id":46691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46690,"mutability":"mutable","name":"interfaceId","nameLocation":"10688:11:84","nodeType":"VariableDeclaration","scope":46711,"src":"10681:18:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":46689,"name":"bytes4","nodeType":"ElementaryTypeName","src":"10681:6:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"10675:28:84"},"returnParameters":{"id":46697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46696,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46711,"src":"10770:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46695,"name":"bool","nodeType":"ElementaryTypeName","src":"10770:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10769:6:84"},"scope":47146,"src":"10649:244:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[45887],"body":{"id":46726,"nodeType":"Block","src":"11013:114:84","statements":[{"assignments":[46719],"declarations":[{"constant":false,"id":46719,"mutability":"mutable","name":"$","nameLocation":"11060:1:84","nodeType":"VariableDeclaration","scope":46726,"src":"11019:42:84","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage"},"typeName":{"id":46718,"nodeType":"UserDefinedTypeName","pathNode":{"id":46717,"name":"XAllocationVotingGovernorStorage","nameLocations":["11019:32:84"],"nodeType":"IdentifierPath","referencedDeclaration":46262,"src":"11019:32:84"},"referencedDeclaration":46262,"src":"11019:32:84","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage"}},"visibility":"internal"}],"id":46722,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":46720,"name":"_getXAllocationVotingGovernorStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46273,"src":"11064:36:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage storage pointer)"}},"id":46721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11064:38:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11019:83:84"},{"expression":{"expression":{"id":46723,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46719,"src":"11115:1:84","typeDescriptions":{"typeIdentifier":"t_struct$_XAllocationVotingGovernorStorage_$46262_storage_ptr","typeString":"struct XAllocationVotingGovernorV8.XAllocationVotingGovernorStorage storage pointer"}},"id":46724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11117:5:84","memberName":"_name","nodeType":"MemberAccess","referencedDeclaration":46261,"src":"11115:7:84","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":46716,"id":46725,"nodeType":"Return","src":"11108:14:84"}]},"documentation":{"id":46712,"nodeType":"StructuredDocumentation","src":"10897:53:84","text":" @dev Returns the name of the governor."},"functionSelector":"06fdde03","id":46727,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"10962:4:84","nodeType":"FunctionDefinition","parameters":{"id":46713,"nodeType":"ParameterList","parameters":[],"src":"10966:2:84"},"returnParameters":{"id":46716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46715,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46727,"src":"10998:13:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46714,"name":"string","nodeType":"ElementaryTypeName","src":"10998:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10997:15:84"},"scope":47146,"src":"10953:174:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[45893],"body":{"id":46735,"nodeType":"Block","src":"11253:21:84","statements":[{"expression":{"hexValue":"38","id":46733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11266:3:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10","typeString":"literal_string \"8\""},"value":"8"},"functionReturnParameters":46732,"id":46734,"nodeType":"Return","src":"11259:10:84"}]},"documentation":{"id":46728,"nodeType":"StructuredDocumentation","src":"11131:56:84","text":" @dev Returns the version of the governor."},"functionSelector":"54fd4d50","id":46736,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"11199:7:84","nodeType":"FunctionDefinition","parameters":{"id":46729,"nodeType":"ParameterList","parameters":[],"src":"11206:2:84"},"returnParameters":{"id":46732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46731,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46736,"src":"11238:13:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46730,"name":"string","nodeType":"ElementaryTypeName","src":"11238:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11237:15:84"},"scope":47146,"src":"11190:84:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46131],"body":{"id":46752,"nodeType":"Block","src":"11436:53:84","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},"id":46750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46746,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46739,"src":"11455:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46745,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46810,"src":"11449:5:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$45736_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV8.RoundState)"}},"id":46747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11449:14:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":46748,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45736,"src":"11467:10:84","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$45736_$","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}},"id":46749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11478:6:84","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":45733,"src":"11467:17:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"src":"11449:35:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46744,"id":46751,"nodeType":"Return","src":"11442:42:84"}]},"documentation":{"id":46737,"nodeType":"StructuredDocumentation","src":"11278:76:84","text":" @dev Checks if the specified round is in active state or not."},"functionSelector":"82afd23b","id":46753,"implemented":true,"kind":"function","modifiers":[],"name":"isActive","nameLocation":"11366:8:84","nodeType":"FunctionDefinition","overrides":{"id":46741,"nodeType":"OverrideSpecifier","overrides":[],"src":"11412:8:84"},"parameters":{"id":46740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46739,"mutability":"mutable","name":"roundId","nameLocation":"11383:7:84","nodeType":"VariableDeclaration","scope":46753,"src":"11375:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46738,"name":"uint256","nodeType":"ElementaryTypeName","src":"11375:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11374:17:84"},"returnParameters":{"id":46744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46743,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46753,"src":"11430:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46742,"name":"bool","nodeType":"ElementaryTypeName","src":"11430:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11429:6:84"},"scope":47146,"src":"11357:132:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[45908],"body":{"id":46809,"nodeType":"Block","src":"11626:423:84","statements":[{"assignments":[46763],"declarations":[{"constant":false,"id":46763,"mutability":"mutable","name":"snapshot","nameLocation":"11640:8:84","nodeType":"VariableDeclaration","scope":46809,"src":"11632:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46762,"name":"uint256","nodeType":"ElementaryTypeName","src":"11632:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46767,"initialValue":{"arguments":[{"id":46765,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46756,"src":"11665:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46764,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47005,"src":"11651:13:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":46766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11651:22:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11632:41:84"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46768,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46763,"src":"11684:8:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11696:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11684:13:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46776,"nodeType":"IfStatement","src":"11680:74:84","trueBody":{"id":46775,"nodeType":"Block","src":"11699:55:84","statements":[{"errorCall":{"arguments":[{"id":46772,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46756,"src":"11739:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46771,"name":"GovernorNonexistentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45751,"src":"11714:24:84","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":46773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11714:33:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46774,"nodeType":"RevertStatement","src":"11707:40:84"}]}},{"assignments":[46778],"declarations":[{"constant":false,"id":46778,"mutability":"mutable","name":"currentTimepoint","nameLocation":"11768:16:84","nodeType":"VariableDeclaration","scope":46809,"src":"11760:24:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46777,"name":"uint256","nodeType":"ElementaryTypeName","src":"11760:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46781,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":46779,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46977,"src":"11787:5:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":46780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11787:7:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"11760:34:84"},{"assignments":[46783],"declarations":[{"constant":false,"id":46783,"mutability":"mutable","name":"deadline","nameLocation":"11809:8:84","nodeType":"VariableDeclaration","scope":46809,"src":"11801:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46782,"name":"uint256","nodeType":"ElementaryTypeName","src":"11801:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46787,"initialValue":{"arguments":[{"id":46785,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46756,"src":"11834:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46784,"name":"roundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47013,"src":"11820:13:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":46786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11820:22:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11801:41:84"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46788,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46783,"src":"11853:8:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":46789,"name":"currentTimepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46778,"src":"11865:16:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11853:28:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":46798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11932:24:84","subExpression":{"arguments":[{"id":46796,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46756,"src":"11948:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46795,"name":"_voteSucceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46945,"src":"11933:14:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":46797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11933:23:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":46806,"nodeType":"Block","src":"12003:42:84","statements":[{"expression":{"expression":{"id":46803,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45736,"src":"12018:10:84","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$45736_$","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}},"id":46804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12029:9:84","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":45735,"src":"12018:20:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"functionReturnParameters":46761,"id":46805,"nodeType":"Return","src":"12011:27:84"}]},"id":46807,"nodeType":"IfStatement","src":"11928:117:84","trueBody":{"id":46802,"nodeType":"Block","src":"11958:39:84","statements":[{"expression":{"expression":{"id":46799,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45736,"src":"11973:10:84","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$45736_$","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}},"id":46800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11984:6:84","memberName":"Failed","nodeType":"MemberAccess","referencedDeclaration":45734,"src":"11973:17:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"functionReturnParameters":46761,"id":46801,"nodeType":"Return","src":"11966:24:84"}]}},"id":46808,"nodeType":"IfStatement","src":"11849:196:84","trueBody":{"id":46794,"nodeType":"Block","src":"11883:39:84","statements":[{"expression":{"expression":{"id":46791,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45736,"src":"11898:10:84","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$45736_$","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}},"id":46792,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11909:6:84","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":45733,"src":"11898:17:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"functionReturnParameters":46761,"id":46793,"nodeType":"Return","src":"11891:24:84"}]}}]},"documentation":{"id":46754,"nodeType":"StructuredDocumentation","src":"11493:57:84","text":" @dev Returns the current state of a round."},"functionSelector":"3e4f49e6","id":46810,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"11562:5:84","nodeType":"FunctionDefinition","parameters":{"id":46757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46756,"mutability":"mutable","name":"roundId","nameLocation":"11576:7:84","nodeType":"VariableDeclaration","scope":46810,"src":"11568:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46755,"name":"uint256","nodeType":"ElementaryTypeName","src":"11568:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11567:17:84"},"returnParameters":{"id":46761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46760,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46810,"src":"11614:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},"typeName":{"id":46759,"nodeType":"UserDefinedTypeName","pathNode":{"id":46758,"name":"RoundState","nameLocations":["11614:10:84"],"nodeType":"IdentifierPath","referencedDeclaration":45736,"src":"11614:10:84"},"referencedDeclaration":45736,"src":"11614:10:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"visibility":"internal"}],"src":"11613:12:84"},"scope":47146,"src":"11553:496:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46104],"body":{"id":46822,"nodeType":"Block","src":"12199:41:84","statements":[{"expression":{"arguments":[{"id":46819,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46813,"src":"12227:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46818,"name":"_quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46937,"src":"12212:14:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":46820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12212:23:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46817,"id":46821,"nodeType":"Return","src":"12205:30:84"}]},"documentation":{"id":46811,"nodeType":"StructuredDocumentation","src":"12053:76:84","text":" @dev Checks if the quorum has been reached for a given round."},"functionSelector":"d4a8dd98","id":46823,"implemented":true,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"12141:13:84","nodeType":"FunctionDefinition","parameters":{"id":46814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46813,"mutability":"mutable","name":"roundId","nameLocation":"12163:7:84","nodeType":"VariableDeclaration","scope":46823,"src":"12155:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46812,"name":"uint256","nodeType":"ElementaryTypeName","src":"12155:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12154:17:84"},"returnParameters":{"id":46817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46823,"src":"12193:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46815,"name":"bool","nodeType":"ElementaryTypeName","src":"12193:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12192:6:84"},"scope":47146,"src":"12132:108:84","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[45964],"body":{"id":46839,"nodeType":"Block","src":"12434:51:84","statements":[{"expression":{"arguments":[{"id":46834,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46826,"src":"12457:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46835,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46828,"src":"12466:9:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":46836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12477:2:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":46833,"name":"_getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46965,"src":"12447:9:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,bytes memory) view returns (uint256)"}},"id":46837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12447:33:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46832,"id":46838,"nodeType":"Return","src":"12440:40:84"}]},"documentation":{"id":46824,"nodeType":"StructuredDocumentation","src":"12244:95:84","text":" @dev Returns the available votes votes for a given account at a given timepoint."},"functionSelector":"eb9019d4","id":46840,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"12351:8:84","nodeType":"FunctionDefinition","parameters":{"id":46829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46826,"mutability":"mutable","name":"account","nameLocation":"12368:7:84","nodeType":"VariableDeclaration","scope":46840,"src":"12360:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46825,"name":"address","nodeType":"ElementaryTypeName","src":"12360:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46828,"mutability":"mutable","name":"timepoint","nameLocation":"12385:9:84","nodeType":"VariableDeclaration","scope":46840,"src":"12377:17:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46827,"name":"uint256","nodeType":"ElementaryTypeName","src":"12377:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12359:36:84"},"returnParameters":{"id":46832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46840,"src":"12425:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46830,"name":"uint256","nodeType":"ElementaryTypeName","src":"12425:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12424:9:84"},"scope":47146,"src":"12342:143:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46193],"body":{"id":46868,"nodeType":"Block","src":"12873:221:84","statements":[{"assignments":[46851],"declarations":[{"constant":false,"id":46851,"mutability":"mutable","name":"voterAvailableVotesWithDeposit","nameLocation":"12887:30:84","nodeType":"VariableDeclaration","scope":46868,"src":"12879:38:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46850,"name":"uint256","nodeType":"ElementaryTypeName","src":"12879:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46856,"initialValue":{"arguments":[{"id":46853,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46843,"src":"12942:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46854,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46845,"src":"12949:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46852,"name":"getDepositVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47078,"src":"12920:21:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":46855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12920:40:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12879:81:84"},{"assignments":[46858],"declarations":[{"constant":false,"id":46858,"mutability":"mutable","name":"voterAvailableVotes","nameLocation":"12974:19:84","nodeType":"VariableDeclaration","scope":46868,"src":"12966:27:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46857,"name":"uint256","nodeType":"ElementaryTypeName","src":"12966:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46865,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46860,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46843,"src":"13005:5:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46861,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46845,"src":"13012:10:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46859,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46840,"src":"12996:8:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":46862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12996:27:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":46863,"name":"voterAvailableVotesWithDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46851,"src":"13026:30:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12996:60:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12966:90:84"},{"expression":{"id":46866,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46858,"src":"13070:19:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46849,"id":46867,"nodeType":"Return","src":"13063:26:84"}]},"documentation":{"id":46841,"nodeType":"StructuredDocumentation","src":"12489:279:84","text":" @dev Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\n @param voter The address of the voter\n @param roundStart The start of the round (timepoint)\n @return Combined voting power from held tokens and proposal deposits"},"functionSelector":"4cadad2f","id":46869,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalVotingPower","nameLocation":"12780:19:84","nodeType":"FunctionDefinition","parameters":{"id":46846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46843,"mutability":"mutable","name":"voter","nameLocation":"12808:5:84","nodeType":"VariableDeclaration","scope":46869,"src":"12800:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46842,"name":"address","nodeType":"ElementaryTypeName","src":"12800:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46845,"mutability":"mutable","name":"roundStart","nameLocation":"12823:10:84","nodeType":"VariableDeclaration","scope":46869,"src":"12815:18:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46844,"name":"uint256","nodeType":"ElementaryTypeName","src":"12815:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12799:35:84"},"returnParameters":{"id":46849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46848,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46869,"src":"12864:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46847,"name":"uint256","nodeType":"ElementaryTypeName","src":"12864:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12863:9:84"},"scope":47146,"src":"12771:323:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46123],"body":{"id":46888,"nodeType":"Block","src":"13277:72:84","statements":[{"expression":{"arguments":[{"id":46882,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46872,"src":"13314:5:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":46884,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46874,"src":"13335:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46883,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47005,"src":"13321:13:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":46885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13321:22:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":46879,"name":"x2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47032,"src":"13290:10:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IX2EarnApps_$69989_$","typeString":"function () view returns (contract IX2EarnApps)"}},"id":46880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13290:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":46881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13303:10:84","memberName":"isEligible","nodeType":"MemberAccess","referencedDeclaration":69701,"src":"13290:23:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$","typeString":"function (bytes32,uint256) view external returns (bool)"}},"id":46886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13290:54:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46878,"id":46887,"nodeType":"Return","src":"13283:61:84"}]},"documentation":{"id":46870,"nodeType":"StructuredDocumentation","src":"13098:82:84","text":" @dev Checks if the given appId can be voted for in the given round."},"functionSelector":"d68b4c36","id":46889,"implemented":true,"kind":"function","modifiers":[],"name":"isEligibleForVote","nameLocation":"13192:17:84","nodeType":"FunctionDefinition","parameters":{"id":46875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46872,"mutability":"mutable","name":"appId","nameLocation":"13218:5:84","nodeType":"VariableDeclaration","scope":46889,"src":"13210:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13210:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":46874,"mutability":"mutable","name":"roundId","nameLocation":"13233:7:84","nodeType":"VariableDeclaration","scope":46889,"src":"13225:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46873,"name":"uint256","nodeType":"ElementaryTypeName","src":"13225:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13209:32:84"},"returnParameters":{"id":46878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46889,"src":"13271:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46876,"name":"bool","nodeType":"ElementaryTypeName","src":"13271:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13270:6:84"},"scope":47146,"src":"13183:166:84","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":46908,"nodeType":"Block","src":"13751:49:84","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13772:1:84","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"id":46903,"name":"roundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46893,"src":"13783:10:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}],"id":46902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13777:5:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":46901,"name":"uint8","nodeType":"ElementaryTypeName","src":"13777:5:84","typeDescriptions":{}}},"id":46904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13777:17:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13772:22:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13764:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":46898,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13764:7:84","typeDescriptions":{}}},"id":46906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13764:31:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":46897,"id":46907,"nodeType":"Return","src":"13757:38:84"}]},"documentation":{"id":46890,"nodeType":"StructuredDocumentation","src":"13353:312:84","text":" @dev Encodes a `RoundState` into a `bytes32` representation where each bit enabled corresponds to\n the underlying position in the `RoundState` enum. For example:\n 0x000...10000\n   ^^^^^^------ ...\n          ^---- Succeeded\n           ^--- Failed\n            ^-- Active"},"id":46909,"implemented":true,"kind":"function","modifiers":[],"name":"_encodeStateBitmap","nameLocation":"13677:18:84","nodeType":"FunctionDefinition","parameters":{"id":46894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46893,"mutability":"mutable","name":"roundState","nameLocation":"13707:10:84","nodeType":"VariableDeclaration","scope":46909,"src":"13696:21:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},"typeName":{"id":46892,"nodeType":"UserDefinedTypeName","pathNode":{"id":46891,"name":"RoundState","nameLocations":["13696:10:84"],"nodeType":"IdentifierPath","referencedDeclaration":45736,"src":"13696:10:84"},"referencedDeclaration":45736,"src":"13696:10:84","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"visibility":"internal"}],"src":"13695:23:84"},"returnParameters":{"id":46897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46896,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46909,"src":"13742:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13742:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13741:9:84"},"scope":47146,"src":"13668:132:84","stateMutability":"pure","virtual":false,"visibility":"internal"},{"documentation":{"id":46910,"nodeType":"StructuredDocumentation","src":"13843:65:84","text":" @dev Internal function to store a vote in storage."},"id":46923,"implemented":false,"kind":"function","modifiers":[],"name":"_countVote","nameLocation":"13920:10:84","nodeType":"FunctionDefinition","parameters":{"id":46921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46912,"mutability":"mutable","name":"roundId","nameLocation":"13944:7:84","nodeType":"VariableDeclaration","scope":46923,"src":"13936:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46911,"name":"uint256","nodeType":"ElementaryTypeName","src":"13936:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46914,"mutability":"mutable","name":"account","nameLocation":"13965:7:84","nodeType":"VariableDeclaration","scope":46923,"src":"13957:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46913,"name":"address","nodeType":"ElementaryTypeName","src":"13957:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46917,"mutability":"mutable","name":"appIds","nameLocation":"13995:6:84","nodeType":"VariableDeclaration","scope":46923,"src":"13978:23:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":46915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13978:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":46916,"nodeType":"ArrayTypeName","src":"13978:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":46920,"mutability":"mutable","name":"voteWeights","nameLocation":"14024:11:84","nodeType":"VariableDeclaration","scope":46923,"src":"14007:28:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":46918,"name":"uint256","nodeType":"ElementaryTypeName","src":"14007:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46919,"nodeType":"ArrayTypeName","src":"14007:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"13930:109:84"},"returnParameters":{"id":46922,"nodeType":"ParameterList","parameters":[],"src":"14056:0:84"},"scope":47146,"src":"13911:146:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":46924,"nodeType":"StructuredDocumentation","src":"14061:108:84","text":" @dev Internal function to save the app shares cap and base allocation percentage for a round."},"id":46929,"implemented":false,"kind":"function","modifiers":[],"name":"_snapshotRoundEarningsCap","nameLocation":"14181:25:84","nodeType":"FunctionDefinition","parameters":{"id":46927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46926,"mutability":"mutable","name":"roundId","nameLocation":"14215:7:84","nodeType":"VariableDeclaration","scope":46929,"src":"14207:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46925,"name":"uint256","nodeType":"ElementaryTypeName","src":"14207:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14206:17:84"},"returnParameters":{"id":46928,"nodeType":"ParameterList","parameters":[],"src":"14240:0:84"},"scope":47146,"src":"14172:69:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":46930,"nodeType":"StructuredDocumentation","src":"14245:96:84","text":" @dev Internal function to check if the quorum has been reached for a given round."},"id":46937,"implemented":false,"kind":"function","modifiers":[],"name":"_quorumReached","nameLocation":"14353:14:84","nodeType":"FunctionDefinition","parameters":{"id":46933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46932,"mutability":"mutable","name":"roundId","nameLocation":"14376:7:84","nodeType":"VariableDeclaration","scope":46937,"src":"14368:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46931,"name":"uint256","nodeType":"ElementaryTypeName","src":"14368:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14367:17:84"},"returnParameters":{"id":46936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46935,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46937,"src":"14416:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46934,"name":"bool","nodeType":"ElementaryTypeName","src":"14416:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14415:6:84"},"scope":47146,"src":"14344:78:84","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":46938,"nodeType":"StructuredDocumentation","src":"14426:91:84","text":" @dev Internal function to check if the vote has succeeded for a given round."},"id":46945,"implemented":false,"kind":"function","modifiers":[],"name":"_voteSucceeded","nameLocation":"14529:14:84","nodeType":"FunctionDefinition","parameters":{"id":46941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46940,"mutability":"mutable","name":"roundId","nameLocation":"14552:7:84","nodeType":"VariableDeclaration","scope":46945,"src":"14544:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46939,"name":"uint256","nodeType":"ElementaryTypeName","src":"14544:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14543:17:84"},"returnParameters":{"id":46944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46945,"src":"14592:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46942,"name":"bool","nodeType":"ElementaryTypeName","src":"14592:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14591:6:84"},"scope":47146,"src":"14520:78:84","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":46946,"nodeType":"StructuredDocumentation","src":"14602:115:84","text":" @dev Internal function that starts a new round of voting to allocate funds to x-2-earn applications."},"id":46953,"implemented":false,"kind":"function","modifiers":[],"name":"_startNewRound","nameLocation":"14729:14:84","nodeType":"FunctionDefinition","parameters":{"id":46949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46948,"mutability":"mutable","name":"proposer","nameLocation":"14752:8:84","nodeType":"VariableDeclaration","scope":46953,"src":"14744:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46947,"name":"address","nodeType":"ElementaryTypeName","src":"14744:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14743:18:84"},"returnParameters":{"id":46952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46951,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46953,"src":"14788:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46950,"name":"uint256","nodeType":"ElementaryTypeName","src":"14788:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14787:9:84"},"scope":47146,"src":"14720:77:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":46954,"nodeType":"StructuredDocumentation","src":"14801:106:84","text":" @dev Internal function to get the available votes for a given account at a given timepoint."},"id":46965,"implemented":false,"kind":"function","modifiers":[],"name":"_getVotes","nameLocation":"14919:9:84","nodeType":"FunctionDefinition","parameters":{"id":46961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46956,"mutability":"mutable","name":"account","nameLocation":"14937:7:84","nodeType":"VariableDeclaration","scope":46965,"src":"14929:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46955,"name":"address","nodeType":"ElementaryTypeName","src":"14929:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46958,"mutability":"mutable","name":"timepoint","nameLocation":"14954:9:84","nodeType":"VariableDeclaration","scope":46965,"src":"14946:17:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46957,"name":"uint256","nodeType":"ElementaryTypeName","src":"14946:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46960,"mutability":"mutable","name":"params","nameLocation":"14978:6:84","nodeType":"VariableDeclaration","scope":46965,"src":"14965:19:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46959,"name":"bytes","nodeType":"ElementaryTypeName","src":"14965:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14928:57:84"},"returnParameters":{"id":46964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46963,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46965,"src":"15017:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46962,"name":"uint256","nodeType":"ElementaryTypeName","src":"15017:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15016:9:84"},"scope":47146,"src":"14910:116:84","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":46966,"nodeType":"StructuredDocumentation","src":"15030:81:84","text":" @dev Function to store the last succeeded round once a round ends."},"functionSelector":"3469f6e2","id":46971,"implemented":false,"kind":"function","modifiers":[],"name":"finalizeRound","nameLocation":"15123:13:84","nodeType":"FunctionDefinition","parameters":{"id":46969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46968,"mutability":"mutable","name":"roundId","nameLocation":"15145:7:84","nodeType":"VariableDeclaration","scope":46971,"src":"15137:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46967,"name":"uint256","nodeType":"ElementaryTypeName","src":"15137:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15136:17:84"},"returnParameters":{"id":46970,"nodeType":"ParameterList","parameters":[],"src":"15168:0:84"},"scope":47146,"src":"15114:55:84","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[4545],"documentation":{"id":46972,"nodeType":"StructuredDocumentation","src":"15173:195:84","text":" @dev Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"functionSelector":"91ddadf4","id":46977,"implemented":false,"kind":"function","modifiers":[],"name":"clock","nameLocation":"15380:5:84","nodeType":"FunctionDefinition","parameters":{"id":46973,"nodeType":"ParameterList","parameters":[],"src":"15385:2:84"},"returnParameters":{"id":46976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46975,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46977,"src":"15417:6:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":46974,"name":"uint48","nodeType":"ElementaryTypeName","src":"15417:6:84","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"15416:8:84"},"scope":47146,"src":"15371:54:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[4551],"documentation":{"id":46978,"nodeType":"StructuredDocumentation","src":"15429:87:84","text":" @dev Machine-readable description of the clock as specified in EIP-6372."},"functionSelector":"4bf5d7e9","id":46983,"implemented":false,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"15528:10:84","nodeType":"FunctionDefinition","parameters":{"id":46979,"nodeType":"ParameterList","parameters":[],"src":"15538:2:84"},"returnParameters":{"id":46982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46981,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46983,"src":"15570:13:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46980,"name":"string","nodeType":"ElementaryTypeName","src":"15570:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15569:15:84"},"scope":47146,"src":"15519:66:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[45938],"documentation":{"id":46984,"nodeType":"StructuredDocumentation","src":"15589:48:84","text":" @dev Returns the voting duration."},"functionSelector":"02a251a3","id":46989,"implemented":false,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"15649:12:84","nodeType":"FunctionDefinition","parameters":{"id":46985,"nodeType":"ParameterList","parameters":[],"src":"15661:2:84"},"returnParameters":{"id":46988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46989,"src":"15693:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46986,"name":"uint256","nodeType":"ElementaryTypeName","src":"15693:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15692:9:84"},"scope":47146,"src":"15640:62:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[45946],"documentation":{"id":46990,"nodeType":"StructuredDocumentation","src":"15706:61:84","text":" @dev Returns the quorum for a given timepoint."},"functionSelector":"f8ce560a","id":46997,"implemented":false,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"15779:6:84","nodeType":"FunctionDefinition","parameters":{"id":46993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46992,"mutability":"mutable","name":"timepoint","nameLocation":"15794:9:84","nodeType":"VariableDeclaration","scope":46997,"src":"15786:17:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46991,"name":"uint256","nodeType":"ElementaryTypeName","src":"15786:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15785:19:84"},"returnParameters":{"id":46996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46997,"src":"15834:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46994,"name":"uint256","nodeType":"ElementaryTypeName","src":"15834:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15833:9:84"},"scope":47146,"src":"15770:73:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[45916],"documentation":{"id":46998,"nodeType":"StructuredDocumentation","src":"15847:67:84","text":" @dev Returns the block number when the round starts."},"functionSelector":"d06efeda","id":47005,"implemented":false,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"15926:13:84","nodeType":"FunctionDefinition","parameters":{"id":47001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47000,"mutability":"mutable","name":"roundId","nameLocation":"15948:7:84","nodeType":"VariableDeclaration","scope":47005,"src":"15940:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46999,"name":"uint256","nodeType":"ElementaryTypeName","src":"15940:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15939:17:84"},"returnParameters":{"id":47004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47003,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47005,"src":"15986:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47002,"name":"uint256","nodeType":"ElementaryTypeName","src":"15986:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15985:9:84"},"scope":47146,"src":"15917:78:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[45924],"documentation":{"id":47006,"nodeType":"StructuredDocumentation","src":"15999:65:84","text":" @dev Returns the block number when the round ends."},"functionSelector":"d3a368bd","id":47013,"implemented":false,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"16076:13:84","nodeType":"FunctionDefinition","parameters":{"id":47009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47008,"mutability":"mutable","name":"roundId","nameLocation":"16098:7:84","nodeType":"VariableDeclaration","scope":47013,"src":"16090:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47007,"name":"uint256","nodeType":"ElementaryTypeName","src":"16090:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16089:17:84"},"returnParameters":{"id":47012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47011,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47013,"src":"16136:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47010,"name":"uint256","nodeType":"ElementaryTypeName","src":"16136:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16135:9:84"},"scope":47146,"src":"16067:78:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46084],"documentation":{"id":47014,"nodeType":"StructuredDocumentation","src":"16149:48:84","text":" @dev Returns the latest round id."},"functionSelector":"9cbe5efd","id":47019,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"16209:14:84","nodeType":"FunctionDefinition","parameters":{"id":47015,"nodeType":"ParameterList","parameters":[],"src":"16223:2:84"},"returnParameters":{"id":47018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47017,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47019,"src":"16255:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47016,"name":"uint256","nodeType":"ElementaryTypeName","src":"16255:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16254:9:84"},"scope":47146,"src":"16200:64:84","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46090],"documentation":{"id":47020,"nodeType":"StructuredDocumentation","src":"16268:52:84","text":" @dev Returns the X2EarnApps contract."},"functionSelector":"561b64ef","id":47025,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"16332:20:84","nodeType":"FunctionDefinition","parameters":{"id":47021,"nodeType":"ParameterList","parameters":[],"src":"16352:2:84"},"returnParameters":{"id":47024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47023,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47025,"src":"16384:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47022,"name":"uint256","nodeType":"ElementaryTypeName","src":"16384:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16383:9:84"},"scope":47146,"src":"16323:70:84","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":47026,"nodeType":"StructuredDocumentation","src":"16397:52:84","text":" @dev Returns the X2EarnApps contract."},"functionSelector":"33653f5d","id":47032,"implemented":false,"kind":"function","modifiers":[],"name":"x2EarnApps","nameLocation":"16461:10:84","nodeType":"FunctionDefinition","parameters":{"id":47027,"nodeType":"ParameterList","parameters":[],"src":"16471:2:84"},"returnParameters":{"id":47031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47032,"src":"16503:11:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":47029,"nodeType":"UserDefinedTypeName","pathNode":{"id":47028,"name":"IX2EarnApps","nameLocations":["16503:11:84"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"16503:11:84"},"referencedDeclaration":69989,"src":"16503:11:84","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"16502:13:84"},"scope":47146,"src":"16452:64:84","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":47033,"nodeType":"StructuredDocumentation","src":"16520:58:84","text":" @dev Returns the VeBetterPassport contract."},"functionSelector":"0050ea6f","id":47039,"implemented":false,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"16590:16:84","nodeType":"FunctionDefinition","parameters":{"id":47034,"nodeType":"ParameterList","parameters":[],"src":"16606:2:84"},"returnParameters":{"id":47038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47039,"src":"16638:17:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":47036,"nodeType":"UserDefinedTypeName","pathNode":{"id":47035,"name":"IVeBetterPassport","nameLocations":["16638:17:84"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"16638:17:84"},"referencedDeclaration":68601,"src":"16638:17:84","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"16637:19:84"},"scope":47146,"src":"16581:76:84","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":47040,"nodeType":"StructuredDocumentation","src":"16661:51:84","text":" @dev Returns the Emissions contract."},"functionSelector":"2267716c","id":47046,"implemented":false,"kind":"function","modifiers":[],"name":"emissions","nameLocation":"16724:9:84","nodeType":"FunctionDefinition","parameters":{"id":47041,"nodeType":"ParameterList","parameters":[],"src":"16733:2:84"},"returnParameters":{"id":47045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47046,"src":"16765:10:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":47043,"nodeType":"UserDefinedTypeName","pathNode":{"id":47042,"name":"IEmissions","nameLocations":["16765:10:84"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"16765:10:84"},"referencedDeclaration":64454,"src":"16765:10:84","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"16764:12:84"},"scope":47146,"src":"16715:62:84","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":47047,"nodeType":"StructuredDocumentation","src":"16781:54:84","text":" @dev Returns the VoterRewards contract."},"functionSelector":"a3844e11","id":47053,"implemented":false,"kind":"function","modifiers":[],"name":"voterRewards","nameLocation":"16847:12:84","nodeType":"FunctionDefinition","parameters":{"id":47048,"nodeType":"ParameterList","parameters":[],"src":"16859:2:84"},"returnParameters":{"id":47052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47053,"src":"16891:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":47050,"nodeType":"UserDefinedTypeName","pathNode":{"id":47049,"name":"IVoterRewards","nameLocations":["16891:13:84"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"16891:13:84"},"referencedDeclaration":69092,"src":"16891:13:84","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"16890:15:84"},"scope":47146,"src":"16838:68:84","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":47054,"nodeType":"StructuredDocumentation","src":"16910:54:84","text":" @dev Returns the B3TRGovernor contract."},"functionSelector":"7893d736","id":47060,"implemented":false,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"16976:12:84","nodeType":"FunctionDefinition","parameters":{"id":47055,"nodeType":"ParameterList","parameters":[],"src":"16988:2:84"},"returnParameters":{"id":47059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47058,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47060,"src":"17020:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":47057,"nodeType":"UserDefinedTypeName","pathNode":{"id":47056,"name":"IB3TRGovernor","nameLocations":["17020:13:84"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"17020:13:84"},"referencedDeclaration":63919,"src":"17020:13:84","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"17019:15:84"},"scope":47146,"src":"16967:68:84","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":47077,"nodeType":"Block","src":"17241:74:84","statements":[{"expression":{"arguments":[{"id":47073,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47063,"src":"17291:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47074,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47065,"src":"17300:9:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":47070,"name":"b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47060,"src":"17254:12:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IB3TRGovernor_$63919_$","typeString":"function () view returns (contract IB3TRGovernor)"}},"id":47071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17254:14:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":47072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17269:21:84","memberName":"getDepositVotingPower","nodeType":"MemberAccess","referencedDeclaration":63754,"src":"17254:36:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":47075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17254:56:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47069,"id":47076,"nodeType":"Return","src":"17247:63:84"}]},"documentation":{"id":47061,"nodeType":"StructuredDocumentation","src":"17039:94:84","text":" @dev Returns the deposit voting power for a given account at a given timepoint."},"functionSelector":"a56b5765","id":47078,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"17145:21:84","nodeType":"FunctionDefinition","parameters":{"id":47066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47063,"mutability":"mutable","name":"account","nameLocation":"17175:7:84","nodeType":"VariableDeclaration","scope":47078,"src":"17167:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47062,"name":"address","nodeType":"ElementaryTypeName","src":"17167:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47065,"mutability":"mutable","name":"timepoint","nameLocation":"17192:9:84","nodeType":"VariableDeclaration","scope":47078,"src":"17184:17:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47064,"name":"uint256","nodeType":"ElementaryTypeName","src":"17184:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17166:36:84"},"returnParameters":{"id":47069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47078,"src":"17232:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47067,"name":"uint256","nodeType":"ElementaryTypeName","src":"17232:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17231:9:84"},"scope":47146,"src":"17136:179:84","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":47079,"nodeType":"StructuredDocumentation","src":"17319:60:84","text":" @dev Returns the RelayerRewardsPool contract."},"functionSelector":"6e8a1823","id":47085,"implemented":false,"kind":"function","modifiers":[],"name":"relayerRewardsPool","nameLocation":"17391:18:84","nodeType":"FunctionDefinition","parameters":{"id":47080,"nodeType":"ParameterList","parameters":[],"src":"17409:2:84"},"returnParameters":{"id":47084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47083,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47085,"src":"17441:19:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":47082,"nodeType":"UserDefinedTypeName","pathNode":{"id":47081,"name":"IRelayerRewardsPool","nameLocations":["17441:19:84"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"17441:19:84"},"referencedDeclaration":67117,"src":"17441:19:84","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"17440:21:84"},"scope":47146,"src":"17382:80:84","stateMutability":"view","virtual":true,"visibility":"public"},{"documentation":{"id":47086,"nodeType":"StructuredDocumentation","src":"17466:53:84","text":" @dev Toggles autovoting for an account"},"id":47091,"implemented":false,"kind":"function","modifiers":[],"name":"_toggleAutoVoting","nameLocation":"17531:17:84","nodeType":"FunctionDefinition","parameters":{"id":47089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47088,"mutability":"mutable","name":"account","nameLocation":"17557:7:84","nodeType":"VariableDeclaration","scope":47091,"src":"17549:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47087,"name":"address","nodeType":"ElementaryTypeName","src":"17549:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17548:17:84"},"returnParameters":{"id":47090,"nodeType":"ParameterList","parameters":[],"src":"17582:0:84"},"scope":47146,"src":"17522:61:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":47092,"nodeType":"StructuredDocumentation","src":"17587:66:84","text":" @dev Checks if autovoting is enabled for an account"},"id":47099,"implemented":false,"kind":"function","modifiers":[],"name":"_isAutoVotingEnabled","nameLocation":"17665:20:84","nodeType":"FunctionDefinition","parameters":{"id":47095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47094,"mutability":"mutable","name":"account","nameLocation":"17694:7:84","nodeType":"VariableDeclaration","scope":47099,"src":"17686:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47093,"name":"address","nodeType":"ElementaryTypeName","src":"17686:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17685:17:84"},"returnParameters":{"id":47098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47099,"src":"17734:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47096,"name":"bool","nodeType":"ElementaryTypeName","src":"17734:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17733:6:84"},"scope":47146,"src":"17656:84:84","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":47100,"nodeType":"StructuredDocumentation","src":"17744:90:84","text":" @dev Checks if autovoting is enabled for an account at a specific timepoint"},"id":47109,"implemented":false,"kind":"function","modifiers":[],"name":"_isAutoVotingEnabledAtTimepoint","nameLocation":"17846:31:84","nodeType":"FunctionDefinition","parameters":{"id":47105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47102,"mutability":"mutable","name":"account","nameLocation":"17886:7:84","nodeType":"VariableDeclaration","scope":47109,"src":"17878:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47101,"name":"address","nodeType":"ElementaryTypeName","src":"17878:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47104,"mutability":"mutable","name":"timepoint","nameLocation":"17902:9:84","nodeType":"VariableDeclaration","scope":47109,"src":"17895:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":47103,"name":"uint48","nodeType":"ElementaryTypeName","src":"17895:6:84","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"17877:35:84"},"returnParameters":{"id":47108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47109,"src":"17944:4:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47106,"name":"bool","nodeType":"ElementaryTypeName","src":"17944:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17943:6:84"},"scope":47146,"src":"17837:113:84","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":47110,"nodeType":"StructuredDocumentation","src":"17954:65:84","text":" @dev Returns the voting preferences for an account"},"id":47118,"implemented":false,"kind":"function","modifiers":[],"name":"_getUserVotingPreferences","nameLocation":"18031:25:84","nodeType":"FunctionDefinition","parameters":{"id":47113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47112,"mutability":"mutable","name":"account","nameLocation":"18065:7:84","nodeType":"VariableDeclaration","scope":47118,"src":"18057:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47111,"name":"address","nodeType":"ElementaryTypeName","src":"18057:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18056:17:84"},"returnParameters":{"id":47117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47118,"src":"18105:16:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18105:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47115,"nodeType":"ArrayTypeName","src":"18105:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"18104:18:84"},"scope":47146,"src":"18022:101:84","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":47119,"nodeType":"StructuredDocumentation","src":"18127:97:84","text":" @dev Gets the total number of users who enabled autovoting at a specific timepoint"},"id":47126,"implemented":false,"kind":"function","modifiers":[],"name":"_getTotalAutoVotingUsersAtTimepoint","nameLocation":"18236:35:84","nodeType":"FunctionDefinition","parameters":{"id":47122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47121,"mutability":"mutable","name":"timepoint","nameLocation":"18279:9:84","nodeType":"VariableDeclaration","scope":47126,"src":"18272:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":47120,"name":"uint48","nodeType":"ElementaryTypeName","src":"18272:6:84","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"18271:18:84"},"returnParameters":{"id":47125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47126,"src":"18321:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":47123,"name":"uint208","nodeType":"ElementaryTypeName","src":"18321:7:84","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"18320:9:84"},"scope":47146,"src":"18227:103:84","stateMutability":"view","virtual":true,"visibility":"internal"},{"documentation":{"id":47127,"nodeType":"StructuredDocumentation","src":"18334:107:84","text":" @dev Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights"},"id":47145,"implemented":false,"kind":"function","modifiers":[],"name":"_prepareAutoVoteArrays","nameLocation":"18453:22:84","nodeType":"FunctionDefinition","parameters":{"id":47135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47129,"mutability":"mutable","name":"voter","nameLocation":"18489:5:84","nodeType":"VariableDeclaration","scope":47145,"src":"18481:13:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47128,"name":"address","nodeType":"ElementaryTypeName","src":"18481:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47131,"mutability":"mutable","name":"roundId","nameLocation":"18508:7:84","nodeType":"VariableDeclaration","scope":47145,"src":"18500:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47130,"name":"uint256","nodeType":"ElementaryTypeName","src":"18500:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47134,"mutability":"mutable","name":"preferredApps","nameLocation":"18538:13:84","nodeType":"VariableDeclaration","scope":47145,"src":"18521:30:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18521:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47133,"nodeType":"ArrayTypeName","src":"18521:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"18475:80:84"},"returnParameters":{"id":47144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47138,"mutability":"mutable","name":"finalAppIds","nameLocation":"18599:11:84","nodeType":"VariableDeclaration","scope":47145,"src":"18582:28:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18582:7:84","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47137,"nodeType":"ArrayTypeName","src":"18582:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":47141,"mutability":"mutable","name":"voteWeights","nameLocation":"18629:11:84","nodeType":"VariableDeclaration","scope":47145,"src":"18612:28:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":47139,"name":"uint256","nodeType":"ElementaryTypeName","src":"18612:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47140,"nodeType":"ArrayTypeName","src":"18612:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":47143,"mutability":"mutable","name":"votingPower","nameLocation":"18650:11:84","nodeType":"VariableDeclaration","scope":47145,"src":"18642:19:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47142,"name":"uint256","nodeType":"ElementaryTypeName","src":"18642:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18581:81:84"},"scope":47146,"src":"18444:219:84","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":47147,"src":"3719:14946:84","usedErrors":[1495,1498,7025,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813],"usedEvents":[1503,45826,45840,45853,45866,45873,45881]}],"src":"1195:17471:84"},"id":84},"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol","exportedSymbols":{"AutoVotingLogicV8":[47706],"Checkpoints":[10447],"IX2EarnApps":[69989],"IXAllocationVotingGovernor":[46200],"SafeCast":[8770],"XAllocationVotingDataTypesV8":[47727]},"id":47707,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":47148,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:85"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":47150,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47707,"sourceUnit":10448,"src":"57:84:85","symbolAliases":[{"foreign":{"id":47149,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"66:11:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":47152,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47707,"sourceUnit":8771,"src":"142:75:85","symbolAliases":[{"foreign":{"id":47151,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"151:8:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../../../interfaces/IX2EarnApps.sol","id":47154,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47707,"sourceUnit":69990,"src":"218:69:85","symbolAliases":[{"foreign":{"id":47153,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"227:11:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol","file":"../../interfaces/IXAllocationVotingGovernorV8.sol","id":47156,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47707,"sourceUnit":46201,"src":"288:127:85","symbolAliases":[{"foreign":{"id":47155,"name":"IXAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46200,"src":"297:28:85","typeDescriptions":{}},"local":"IXAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol","file":"./XAllocationVotingDataTypesV8.sol","id":47158,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47707,"sourceUnit":47728,"src":"416:82:85","symbolAliases":[{"foreign":{"id":47157,"name":"XAllocationVotingDataTypesV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47727,"src":"425:28:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"AutoVotingLogicV8","contractDependencies":[],"contractKind":"library","documentation":{"id":47159,"nodeType":"StructuredDocumentation","src":"500:202:85","text":" @title AutoVotingLogic\n @notice Library that handles user preferences for automatic voting in allocation rounds\n @dev This library is intended to be used by the XAllocationVoting contract"},"fullyImplemented":true,"id":47706,"linearizedBaseContracts":[47706],"name":"AutoVotingLogicV8","nameLocation":"711:17:85","nodeType":"ContractDefinition","nodes":[{"global":false,"id":47163,"libraryName":{"id":47160,"name":"Checkpoints","nameLocations":["739:11:85"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"739:11:85"},"nodeType":"UsingForDirective","src":"733:43:85","typeName":{"id":47162,"nodeType":"UserDefinedTypeName","pathNode":{"id":47161,"name":"Checkpoints.Trace208","nameLocations":["755:11:85","767:8:85"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"755:20:85"},"referencedDeclaration":9409,"src":"755:20:85","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"anonymous":false,"documentation":{"id":47164,"nodeType":"StructuredDocumentation","src":"780:180:85","text":" @notice Emitted when a user toggles their autovoting status\n @param account The address of the user\n @param enabled Whether autovoting is enabled or disabled"},"eventSelector":"6baead299a74ec4ebb558b9c9507046309c90e561107f4776cef02327b526549","id":47170,"name":"AutoVotingToggled","nameLocation":"969:17:85","nodeType":"EventDefinition","parameters":{"id":47169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47166,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1003:7:85","nodeType":"VariableDeclaration","scope":47170,"src":"987:23:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47165,"name":"address","nodeType":"ElementaryTypeName","src":"987:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47168,"indexed":false,"mutability":"mutable","name":"enabled","nameLocation":"1017:7:85","nodeType":"VariableDeclaration","scope":47170,"src":"1012:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47167,"name":"bool","nodeType":"ElementaryTypeName","src":"1012:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"986:39:85"},"src":"963:63:85"},{"anonymous":false,"documentation":{"id":47171,"nodeType":"StructuredDocumentation","src":"1030:196:85","text":" @notice Emitted when a user updates their preferred apps for autovoting\n @param account The address of the user\n @param apps The list of app IDs the user prefers to vote for"},"eventSelector":"3e3998ec06c031c887b2c4825699d96390034bafa666cc53be14a1b832a0654e","id":47178,"name":"PreferredAppsUpdated","nameLocation":"1235:20:85","nodeType":"EventDefinition","parameters":{"id":47177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47173,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1272:7:85","nodeType":"VariableDeclaration","scope":47178,"src":"1256:23:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47172,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47176,"indexed":false,"mutability":"mutable","name":"apps","nameLocation":"1291:4:85","nodeType":"VariableDeclaration","scope":47178,"src":"1281:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1281:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47175,"nodeType":"ArrayTypeName","src":"1281:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1255:41:85"},"src":"1229:68:85"},{"body":{"id":47312,"nodeType":"Block","src":"2398:1359:85","statements":[{"assignments":[47192],"declarations":[{"constant":false,"id":47192,"mutability":"mutable","name":"currentStatus","nameLocation":"2409:13:85","nodeType":"VariableDeclaration","scope":47312,"src":"2404:18:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47191,"name":"bool","nodeType":"ElementaryTypeName","src":"2404:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":47202,"initialValue":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":47201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47198,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47188,"src":"2473:5:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":47193,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47182,"src":"2425:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2427:18:85","memberName":"_autoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":47717,"src":"2425:20:85","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":47196,"indexExpression":{"id":47195,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47186,"src":"2446:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2425:29:85","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":47197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2455:17:85","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"2425:47:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":47199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2425:54:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":47200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2483:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2425:59:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"2404:80:85"},{"assignments":[47204],"declarations":[{"constant":false,"id":47204,"mutability":"mutable","name":"newStatus","nameLocation":"2495:9:85","nodeType":"VariableDeclaration","scope":47312,"src":"2490:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47203,"name":"bool","nodeType":"ElementaryTypeName","src":"2490:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":47207,"initialValue":{"id":47206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2507:14:85","subExpression":{"id":47205,"name":"currentStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47192,"src":"2508:13:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"2490:31:85"},{"assignments":[47210],"declarations":[{"constant":false,"id":47210,"mutability":"mutable","name":"xAllocationVotingGovernor","nameLocation":"2555:25:85","nodeType":"VariableDeclaration","scope":47312,"src":"2528:52:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"},"typeName":{"id":47209,"nodeType":"UserDefinedTypeName","pathNode":{"id":47208,"name":"IXAllocationVotingGovernor","nameLocations":["2528:26:85"],"nodeType":"IdentifierPath","referencedDeclaration":46200,"src":"2528:26:85"},"referencedDeclaration":46200,"src":"2528:26:85","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"visibility":"internal"}],"id":47214,"initialValue":{"arguments":[{"id":47212,"name":"xAllocationVotingGovernorAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47184,"src":"2610:32:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":47211,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46200,"src":"2583:26:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernorV8_$46200_$","typeString":"type(contract IXAllocationVotingGovernorV8)"}},"id":47213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2583:60:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"nodeType":"VariableDeclarationStatement","src":"2528:115:85"},{"condition":{"id":47216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2740:14:85","subExpression":{"id":47215,"name":"currentStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47192,"src":"2741:13:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47250,"nodeType":"IfStatement","src":"2736:446:85","trueBody":{"id":47249,"nodeType":"Block","src":"2756:426:85","statements":[{"expression":{"arguments":[{"id":47220,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47186,"src":"2824:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47217,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47210,"src":"2764:25:85","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"id":47219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2790:33:85","memberName":"validatePersonhoodForCurrentRound","nodeType":"MemberAccess","referencedDeclaration":46171,"src":"2764:59:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":47221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2764:68:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47222,"nodeType":"ExpressionStatement","src":"2764:68:85"},{"assignments":[null,47224],"declarations":[null,{"constant":false,"id":47224,"mutability":"mutable","name":"isValid","nameLocation":"2848:7:85","nodeType":"VariableDeclaration","scope":47249,"src":"2843:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47223,"name":"bool","nodeType":"ElementaryTypeName","src":"2843:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":47232,"initialValue":{"arguments":[{"id":47227,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47186,"src":"2920:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":47228,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47210,"src":"2937:25:85","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"id":47229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2963:20:85","memberName":"currentRoundSnapshot","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"2937:46:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":47230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2937:48:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47225,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47210,"src":"2859:25:85","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"id":47226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2885:25:85","memberName":"getAndValidateVotingPower","nodeType":"MemberAccess","referencedDeclaration":46183,"src":"2859:51:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$_t_bool_$","typeString":"function (address,uint256) view external returns (uint256,bool)"}},"id":47231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2859:134:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$","typeString":"tuple(uint256,bool)"}},"nodeType":"VariableDeclarationStatement","src":"2840:153:85"},{"expression":{"arguments":[{"id":47234,"name":"isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47224,"src":"3009:7:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206174206c65617374203120564f5433206973207265717569726564","id":47235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3018:46:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b","typeString":"literal_string \"AutoVotingLogic: at least 1 VOT3 is required\""},"value":"AutoVotingLogic: at least 1 VOT3 is required"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b","typeString":"literal_string \"AutoVotingLogic: at least 1 VOT3 is required\""}],"id":47233,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3001:7:85","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":47236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3001:64:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47237,"nodeType":"ExpressionStatement","src":"3001:64:85"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":47239,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47182,"src":"3081:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47240,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3083:22:85","memberName":"_userVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":47722,"src":"3081:24:85","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[] storage ref)"}},"id":47242,"indexExpression":{"id":47241,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47186,"src":"3106:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3081:33:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":47243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3115:6:85","memberName":"length","nodeType":"MemberAccess","src":"3081:40:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":47244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3124:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3081:44:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206d7573742073656c656374206174206c65617374206f6e6520617070","id":47246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3127:47:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285","typeString":"literal_string \"AutoVotingLogic: must select at least one app\""},"value":"AutoVotingLogic: must select at least one app"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285","typeString":"literal_string \"AutoVotingLogic: must select at least one app\""}],"id":47238,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3073:7:85","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":47247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3073:102:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47248,"nodeType":"ExpressionStatement","src":"3073:102:85"}]}},{"condition":{"id":47251,"name":"currentStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47192,"src":"3279:13:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47259,"nodeType":"IfStatement","src":"3275:74:85","trueBody":{"id":47258,"nodeType":"Block","src":"3294:55:85","statements":[{"expression":{"id":47256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3302:40:85","subExpression":{"baseExpression":{"expression":{"id":47252,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47182,"src":"3309:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3311:22:85","memberName":"_userVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":47722,"src":"3309:24:85","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[] storage ref)"}},"id":47255,"indexExpression":{"id":47254,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47186,"src":"3334:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3309:33:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47257,"nodeType":"ExpressionStatement","src":"3302:40:85"}]}},{"expression":{"arguments":[{"id":47266,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47188,"src":"3437:5:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"condition":{"id":47267,"name":"newStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47204,"src":"3444:9:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30","id":47274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3499:1:85","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":47272,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"3480:8:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":47273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3489:9:85","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"3480:18:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":47275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3480:21:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":47276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3444:57:85","trueExpression":{"arguments":[{"hexValue":"31","id":47270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3475:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":47268,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"3456:8:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":47269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3465:9:85","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"3456:18:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":47271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3456:21:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":47260,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47182,"src":"3402:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3404:18:85","memberName":"_autoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":47717,"src":"3402:20:85","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":47264,"indexExpression":{"id":47262,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47186,"src":"3423:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3402:29:85","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":47265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3432:4:85","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"3402:34:85","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":47277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3402:100:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":47278,"nodeType":"ExpressionStatement","src":"3402:100:85"},{"assignments":[47280],"declarations":[{"constant":false,"id":47280,"mutability":"mutable","name":"currentTotal","nameLocation":"3517:12:85","nodeType":"VariableDeclaration","scope":47312,"src":"3509:20:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":47279,"name":"uint208","nodeType":"ElementaryTypeName","src":"3509:7:85","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":47286,"initialValue":{"arguments":[{"id":47284,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47188,"src":"3574:5:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":47281,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47182,"src":"3532:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3534:21:85","memberName":"_totalAutoVotingUsers","nodeType":"MemberAccess","referencedDeclaration":47725,"src":"3532:23:85","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":47283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3556:17:85","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"3532:41:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":47285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3532:48:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"3509:71:85"},{"assignments":[47288],"declarations":[{"constant":false,"id":47288,"mutability":"mutable","name":"newTotal","nameLocation":"3594:8:85","nodeType":"VariableDeclaration","scope":47312,"src":"3586:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":47287,"name":"uint208","nodeType":"ElementaryTypeName","src":"3586:7:85","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":47297,"initialValue":{"condition":{"id":47289,"name":"newStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47204,"src":"3605:9:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":47295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47293,"name":"currentTotal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47280,"src":"3636:12:85","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":47294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3651:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3636:16:85","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":47296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3605:47:85","trueExpression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":47292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47290,"name":"currentTotal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47280,"src":"3617:12:85","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":47291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3632:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3617:16:85","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"3586:66:85"},{"expression":{"arguments":[{"id":47303,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47188,"src":"3687:5:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":47304,"name":"newTotal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47288,"src":"3694:8:85","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"expression":{"id":47298,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47182,"src":"3658:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3660:21:85","memberName":"_totalAutoVotingUsers","nodeType":"MemberAccess","referencedDeclaration":47725,"src":"3658:23:85","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":47302,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3682:4:85","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"3658:28:85","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":47305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3658:45:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":47306,"nodeType":"ExpressionStatement","src":"3658:45:85"},{"eventCall":{"arguments":[{"id":47308,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47186,"src":"3733:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47309,"name":"newStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47204,"src":"3742:9:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":47307,"name":"AutoVotingToggled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47170,"src":"3715:17:85","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":47310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3715:37:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47311,"nodeType":"EmitStatement","src":"3710:42:85"}]},"documentation":{"id":47179,"nodeType":"StructuredDocumentation","src":"1340:869:85","text":" @dev Toggles autovoting for an account\n @param $ The storage struct for AutoVoting preferences\n @param xAllocationVotingGovernorAddress The address of the XAllocationVotingGovernor contract\n @param account The address to toggle autovoting for\n @param clock The current timepoint\n @notice\n User Enabled: false ──────────────────────→ true\n Total Count:  100   ──────────────────────→ 101\n User Prefs:   [existing preferences kept]\n User Enabled: true ──────────────────────→ false\n Total Count:  101   ──────────────────────→ 100\n User Prefs:   [app1, app2] ────────────────→ [] (deleted)"},"functionSelector":"3e17cd58","id":47313,"implemented":true,"kind":"function","modifiers":[],"name":"toggleAutoVoting","nameLocation":"2221:16:85","nodeType":"FunctionDefinition","parameters":{"id":47189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47182,"mutability":"mutable","name":"$","nameLocation":"2298:1:85","nodeType":"VariableDeclaration","scope":47313,"src":"2243:56:85","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47181,"nodeType":"UserDefinedTypeName","pathNode":{"id":47180,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["2243:28:85","2272:17:85"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"2243:46:85"},"referencedDeclaration":47726,"src":"2243:46:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"},{"constant":false,"id":47184,"mutability":"mutable","name":"xAllocationVotingGovernorAddress","nameLocation":"2313:32:85","nodeType":"VariableDeclaration","scope":47313,"src":"2305:40:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47183,"name":"address","nodeType":"ElementaryTypeName","src":"2305:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47186,"mutability":"mutable","name":"account","nameLocation":"2359:7:85","nodeType":"VariableDeclaration","scope":47313,"src":"2351:15:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47185,"name":"address","nodeType":"ElementaryTypeName","src":"2351:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47188,"mutability":"mutable","name":"clock","nameLocation":"2379:5:85","nodeType":"VariableDeclaration","scope":47313,"src":"2372:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":47187,"name":"uint48","nodeType":"ElementaryTypeName","src":"2372:6:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2237:151:85"},"returnParameters":{"id":47190,"nodeType":"ParameterList","parameters":[],"src":"2398:0:85"},"scope":47706,"src":"2212:1545:85","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":47407,"nodeType":"Block","src":"4247:767:85","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47328,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47324,"src":"4261:4:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4266:6:85","memberName":"length","nodeType":"MemberAccess","src":"4261:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":47330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4275:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4261:15:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206e6f206170707320746f20766f746520666f72","id":47332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4278:38:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d","typeString":"literal_string \"AutoVotingLogic: no apps to vote for\""},"value":"AutoVotingLogic: no apps to vote for"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d","typeString":"literal_string \"AutoVotingLogic: no apps to vote for\""}],"id":47327,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4253:7:85","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":47333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4253:64:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47334,"nodeType":"ExpressionStatement","src":"4253:64:85"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47336,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47324,"src":"4331:4:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4336:6:85","memberName":"length","nodeType":"MemberAccess","src":"4331:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3135","id":47338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4346:2:85","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"src":"4331:17:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206d75737420766f746520666f72206c657373207468616e2031352061707073","id":47340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4350:50:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda","typeString":"literal_string \"AutoVotingLogic: must vote for less than 15 apps\""},"value":"AutoVotingLogic: must vote for less than 15 apps"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda","typeString":"literal_string \"AutoVotingLogic: must vote for less than 15 apps\""}],"id":47335,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4323:7:85","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":47341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4323:78:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47342,"nodeType":"ExpressionStatement","src":"4323:78:85"},{"assignments":[47345],"declarations":[{"constant":false,"id":47345,"mutability":"mutable","name":"x2EarnAppsContract","nameLocation":"4420:18:85","nodeType":"VariableDeclaration","scope":47407,"src":"4408:30:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":47344,"nodeType":"UserDefinedTypeName","pathNode":{"id":47343,"name":"IX2EarnApps","nameLocations":["4408:11:85"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"4408:11:85"},"referencedDeclaration":69989,"src":"4408:11:85","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"id":47349,"initialValue":{"arguments":[{"id":47347,"name":"x2EarnAppsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47319,"src":"4453:17:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":47346,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"4441:11:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IX2EarnApps_$69989_$","typeString":"type(contract IX2EarnApps)"}},"id":47348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4441:30:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"nodeType":"VariableDeclarationStatement","src":"4408:63:85"},{"body":{"id":47392,"nodeType":"Block","src":"4621:295:85","statements":[{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":47363,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47324,"src":"4699:4:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47365,"indexExpression":{"id":47364,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47351,"src":"4704:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4699:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":47361,"name":"x2EarnAppsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47345,"src":"4670:18:85","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":47362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4689:9:85","memberName":"appExists","nodeType":"MemberAccess","referencedDeclaration":69668,"src":"4670:28:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":47366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4670:37:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a20696e76616c696420617070","id":47367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4709:30:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5","typeString":"literal_string \"AutoVotingLogic: invalid app\""},"value":"AutoVotingLogic: invalid app"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5","typeString":"literal_string \"AutoVotingLogic: invalid app\""}],"id":47360,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4662:7:85","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":47368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4662:78:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47369,"nodeType":"ExpressionStatement","src":"4662:78:85"},{"body":{"id":47390,"nodeType":"Block","src":"4830:80:85","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":47386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":47380,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47324,"src":"4848:4:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47382,"indexExpression":{"id":47381,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47351,"src":"4853:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4848:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"baseExpression":{"id":47383,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47324,"src":"4859:4:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47385,"indexExpression":{"id":47384,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47371,"src":"4864:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4859:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4848:18:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206475706c696361746520617070","id":47387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4868:32:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d","typeString":"literal_string \"AutoVotingLogic: duplicate app\""},"value":"AutoVotingLogic: duplicate app"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d","typeString":"literal_string \"AutoVotingLogic: duplicate app\""}],"id":47379,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4840:7:85","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":47388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4840:61:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47389,"nodeType":"ExpressionStatement","src":"4840:61:85"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47373,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47371,"src":"4818:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":47374,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47351,"src":"4822:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4818:5:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47391,"initializationExpression":{"assignments":[47371],"declarations":[{"constant":false,"id":47371,"mutability":"mutable","name":"j","nameLocation":"4815:1:85","nodeType":"VariableDeclaration","scope":47391,"src":"4807:9:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47370,"name":"uint256","nodeType":"ElementaryTypeName","src":"4807:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47372,"nodeType":"VariableDeclarationStatement","src":"4807:9:85"},"loopExpression":{"expression":{"id":47377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4825:3:85","subExpression":{"id":47376,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47371,"src":"4825:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47378,"nodeType":"ExpressionStatement","src":"4825:3:85"},"nodeType":"ForStatement","src":"4802:108:85"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47353,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47351,"src":"4599:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":47354,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47324,"src":"4603:4:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4608:6:85","memberName":"length","nodeType":"MemberAccess","src":"4603:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4599:15:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47393,"initializationExpression":{"assignments":[47351],"declarations":[{"constant":false,"id":47351,"mutability":"mutable","name":"i","nameLocation":"4596:1:85","nodeType":"VariableDeclaration","scope":47393,"src":"4588:9:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47350,"name":"uint256","nodeType":"ElementaryTypeName","src":"4588:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47352,"nodeType":"VariableDeclarationStatement","src":"4588:9:85"},"loopExpression":{"expression":{"id":47358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4616:3:85","subExpression":{"id":47357,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47351,"src":"4616:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47359,"nodeType":"ExpressionStatement","src":"4616:3:85"},"nodeType":"ForStatement","src":"4583:333:85"},{"expression":{"id":47400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":47394,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47317,"src":"4922:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4924:22:85","memberName":"_userVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":47722,"src":"4922:24:85","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[] storage ref)"}},"id":47398,"indexExpression":{"id":47396,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47321,"src":"4947:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4922:33:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":47399,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47324,"src":"4958:4:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"4922:40:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":47401,"nodeType":"ExpressionStatement","src":"4922:40:85"},{"eventCall":{"arguments":[{"id":47403,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47321,"src":"4995:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47404,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47324,"src":"5004:4:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":47402,"name":"PreferredAppsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47178,"src":"4974:20:85","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (address,bytes32[] memory)"}},"id":47405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4974:35:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47406,"nodeType":"EmitStatement","src":"4969:40:85"}]},"documentation":{"id":47314,"nodeType":"StructuredDocumentation","src":"3761:295:85","text":" @dev Sets the voting preferences for an account\n @param $ The storage struct for AutoVoting preferences\n @param x2EarnAppsAddress The address of the X2EarnApps contract\n @param account The address to set preferences for\n @param apps The list of app IDs to vote for"},"functionSelector":"8770fb4d","id":47408,"implemented":true,"kind":"function","modifiers":[],"name":"setUserVotingPreferences","nameLocation":"4068:24:85","nodeType":"FunctionDefinition","parameters":{"id":47325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47317,"mutability":"mutable","name":"$","nameLocation":"4153:1:85","nodeType":"VariableDeclaration","scope":47408,"src":"4098:56:85","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47316,"nodeType":"UserDefinedTypeName","pathNode":{"id":47315,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["4098:28:85","4127:17:85"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"4098:46:85"},"referencedDeclaration":47726,"src":"4098:46:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"},{"constant":false,"id":47319,"mutability":"mutable","name":"x2EarnAppsAddress","nameLocation":"4168:17:85","nodeType":"VariableDeclaration","scope":47408,"src":"4160:25:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47318,"name":"address","nodeType":"ElementaryTypeName","src":"4160:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47321,"mutability":"mutable","name":"account","nameLocation":"4199:7:85","nodeType":"VariableDeclaration","scope":47408,"src":"4191:15:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47320,"name":"address","nodeType":"ElementaryTypeName","src":"4191:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47324,"mutability":"mutable","name":"apps","nameLocation":"4229:4:85","nodeType":"VariableDeclaration","scope":47408,"src":"4212:21:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4212:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47323,"nodeType":"ArrayTypeName","src":"4212:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4092:145:85"},"returnParameters":{"id":47326,"nodeType":"ParameterList","parameters":[],"src":"4247:0:85"},"scope":47706,"src":"4059:955:85","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":47428,"nodeType":"Block","src":"5479:61:85","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":47426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":47419,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47412,"src":"5492:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47420,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5494:18:85","memberName":"_autoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":47717,"src":"5492:20:85","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":47422,"indexExpression":{"id":47421,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47414,"src":"5513:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5492:29:85","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":47423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5522:6:85","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"5492:36:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":47424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5492:38:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":47425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5534:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5492:43:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":47418,"id":47427,"nodeType":"Return","src":"5485:50:85"}]},"documentation":{"id":47409,"nodeType":"StructuredDocumentation","src":"5057:274:85","text":" @dev Checks if autovoting is enabled for an account at the latest timepoint\n @param $ The storage struct for AutoVoting preferences\n @param account The address to check\n @return Whether autovoting is enabled for the account at the latest timepoint"},"functionSelector":"e37dcf28","id":47429,"implemented":true,"kind":"function","modifiers":[],"name":"isAutoVotingEnabled","nameLocation":"5343:19:85","nodeType":"FunctionDefinition","parameters":{"id":47415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47412,"mutability":"mutable","name":"$","nameLocation":"5423:1:85","nodeType":"VariableDeclaration","scope":47429,"src":"5368:56:85","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47411,"nodeType":"UserDefinedTypeName","pathNode":{"id":47410,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["5368:28:85","5397:17:85"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"5368:46:85"},"referencedDeclaration":47726,"src":"5368:46:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"},{"constant":false,"id":47414,"mutability":"mutable","name":"account","nameLocation":"5438:7:85","nodeType":"VariableDeclaration","scope":47429,"src":"5430:15:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47413,"name":"address","nodeType":"ElementaryTypeName","src":"5430:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5362:87:85"},"returnParameters":{"id":47418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47429,"src":"5473:4:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47416,"name":"bool","nodeType":"ElementaryTypeName","src":"5473:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5472:6:85"},"scope":47706,"src":"5334:206:85","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":47452,"nodeType":"Block","src":"6046:81:85","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":47450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47447,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47437,"src":"6107:9:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":47442,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47433,"src":"6059:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6061:18:85","memberName":"_autoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":47717,"src":"6059:20:85","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":47445,"indexExpression":{"id":47444,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47435,"src":"6080:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6059:29:85","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":47446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6089:17:85","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"6059:47:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":47448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6059:58:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":47449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6121:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6059:63:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":47441,"id":47451,"nodeType":"Return","src":"6052:70:85"}]},"documentation":{"id":47430,"nodeType":"StructuredDocumentation","src":"5544:321:85","text":" @dev Checks if autovoting is enabled for an account at a specific timepoint\n @param $ The storage struct for AutoVoting preferences\n @param account The address to check\n @param timepoint The timepoint to check\n @return Whether autovoting is enabled for the account at the specific timepoint"},"functionSelector":"25d8346e","id":47453,"implemented":true,"kind":"function","modifiers":[],"name":"isAutoVotingEnabledAtTimepoint","nameLocation":"5877:30:85","nodeType":"FunctionDefinition","parameters":{"id":47438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47433,"mutability":"mutable","name":"$","nameLocation":"5968:1:85","nodeType":"VariableDeclaration","scope":47453,"src":"5913:56:85","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47432,"nodeType":"UserDefinedTypeName","pathNode":{"id":47431,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["5913:28:85","5942:17:85"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"5913:46:85"},"referencedDeclaration":47726,"src":"5913:46:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"},{"constant":false,"id":47435,"mutability":"mutable","name":"account","nameLocation":"5983:7:85","nodeType":"VariableDeclaration","scope":47453,"src":"5975:15:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47434,"name":"address","nodeType":"ElementaryTypeName","src":"5975:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47437,"mutability":"mutable","name":"timepoint","nameLocation":"6003:9:85","nodeType":"VariableDeclaration","scope":47453,"src":"5996:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":47436,"name":"uint48","nodeType":"ElementaryTypeName","src":"5996:6:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"5907:109:85"},"returnParameters":{"id":47441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47453,"src":"6040:4:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47439,"name":"bool","nodeType":"ElementaryTypeName","src":"6040:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6039:6:85"},"scope":47706,"src":"5868:259:85","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":47470,"nodeType":"Block","src":"6538:51:85","statements":[{"expression":{"baseExpression":{"expression":{"id":47465,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47457,"src":"6551:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6553:22:85","memberName":"_userVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":47722,"src":"6551:24:85","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[] storage ref)"}},"id":47468,"indexExpression":{"id":47467,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47459,"src":"6576:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6551:33:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"functionReturnParameters":47464,"id":47469,"nodeType":"Return","src":"6544:40:85"}]},"documentation":{"id":47454,"nodeType":"StructuredDocumentation","src":"6131:242:85","text":" @dev Gets the voting preferences for an account\n @param $ The storage struct for AutoVoting preferences\n @param account The address to get preferences for\n @return The list of app IDs the account prefers to vote for"},"functionSelector":"082ccd9e","id":47471,"implemented":true,"kind":"function","modifiers":[],"name":"getUserVotingPreferences","nameLocation":"6385:24:85","nodeType":"FunctionDefinition","parameters":{"id":47460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47457,"mutability":"mutable","name":"$","nameLocation":"6470:1:85","nodeType":"VariableDeclaration","scope":47471,"src":"6415:56:85","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47456,"nodeType":"UserDefinedTypeName","pathNode":{"id":47455,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["6415:28:85","6444:17:85"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"6415:46:85"},"referencedDeclaration":47726,"src":"6415:46:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"},{"constant":false,"id":47459,"mutability":"mutable","name":"account","nameLocation":"6485:7:85","nodeType":"VariableDeclaration","scope":47471,"src":"6477:15:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47458,"name":"address","nodeType":"ElementaryTypeName","src":"6477:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6409:87:85"},"returnParameters":{"id":47464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47463,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47471,"src":"6520:16:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6520:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47462,"nodeType":"ArrayTypeName","src":"6520:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6519:18:85"},"scope":47706,"src":"6376:213:85","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":47488,"nodeType":"Block","src":"7050:70:85","statements":[{"expression":{"arguments":[{"id":47485,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47477,"src":"7105:9:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":47482,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47475,"src":"7063:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7065:21:85","memberName":"_totalAutoVotingUsers","nodeType":"MemberAccess","referencedDeclaration":47725,"src":"7063:23:85","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":47484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7087:17:85","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"7063:41:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":47486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7063:52:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":47481,"id":47487,"nodeType":"Return","src":"7056:59:85"}]},"documentation":{"id":47472,"nodeType":"StructuredDocumentation","src":"6593:290:85","text":" @dev Gets the total number of users who enabled autovoting at a specific timepoint\n @param $ The storage struct for AutoVoting preferences\n @param timepoint The timepoint to check\n @return The total number of users who enabled autovoting at the specific timepoint"},"functionSelector":"2c1969f8","id":47489,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtTimepoint","nameLocation":"6895:34:85","nodeType":"FunctionDefinition","parameters":{"id":47478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47475,"mutability":"mutable","name":"$","nameLocation":"6990:1:85","nodeType":"VariableDeclaration","scope":47489,"src":"6935:56:85","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47474,"nodeType":"UserDefinedTypeName","pathNode":{"id":47473,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["6935:28:85","6964:17:85"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"6935:46:85"},"referencedDeclaration":47726,"src":"6935:46:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"},{"constant":false,"id":47477,"mutability":"mutable","name":"timepoint","nameLocation":"7004:9:85","nodeType":"VariableDeclaration","scope":47489,"src":"6997:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":47476,"name":"uint48","nodeType":"ElementaryTypeName","src":"6997:6:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"6929:88:85"},"returnParameters":{"id":47481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47489,"src":"7041:7:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":47479,"name":"uint208","nodeType":"ElementaryTypeName","src":"7041:7:85","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"7040:9:85"},"scope":47706,"src":"6886:234:85","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":47506,"nodeType":"Block","src":"7561:66:85","statements":[{"expression":{"arguments":[{"id":47503,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47495,"src":"7616:5:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":47500,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47493,"src":"7574:1:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"id":47501,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7576:21:85","memberName":"_totalAutoVotingUsers","nodeType":"MemberAccess","referencedDeclaration":47725,"src":"7574:23:85","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":47502,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7598:17:85","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"7574:41:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":47504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7574:48:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":47499,"id":47505,"nodeType":"Return","src":"7567:55:85"}]},"documentation":{"id":47490,"nodeType":"StructuredDocumentation","src":"7124:285:85","text":" @dev Gets the total number of users who enabled autovoting at the current timepoint\n @param $ The storage struct for AutoVoting preferences\n @param clock The current timepoint\n @return The total number of users who enabled autovoting at the current timepoint"},"functionSelector":"a68c4888","id":47507,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsers","nameLocation":"7421:23:85","nodeType":"FunctionDefinition","parameters":{"id":47496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47493,"mutability":"mutable","name":"$","nameLocation":"7505:1:85","nodeType":"VariableDeclaration","scope":47507,"src":"7450:56:85","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47492,"nodeType":"UserDefinedTypeName","pathNode":{"id":47491,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["7450:28:85","7479:17:85"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"7450:46:85"},"referencedDeclaration":47726,"src":"7450:46:85","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"},{"constant":false,"id":47495,"mutability":"mutable","name":"clock","nameLocation":"7519:5:85","nodeType":"VariableDeclaration","scope":47507,"src":"7512:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":47494,"name":"uint48","nodeType":"ElementaryTypeName","src":"7512:6:85","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"7444:84:85"},"returnParameters":{"id":47499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47498,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47507,"src":"7552:7:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":47497,"name":"uint208","nodeType":"ElementaryTypeName","src":"7552:7:85","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"7551:9:85"},"scope":47706,"src":"7412:215:85","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":47704,"nodeType":"Block","src":"8543:1615:85","statements":[{"assignments":[47530],"declarations":[{"constant":false,"id":47530,"mutability":"mutable","name":"xAllocationVotingGovernor","nameLocation":"8576:25:85","nodeType":"VariableDeclaration","scope":47704,"src":"8549:52:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"},"typeName":{"id":47529,"nodeType":"UserDefinedTypeName","pathNode":{"id":47528,"name":"IXAllocationVotingGovernor","nameLocations":["8549:26:85"],"nodeType":"IdentifierPath","referencedDeclaration":46200,"src":"8549:26:85"},"referencedDeclaration":46200,"src":"8549:26:85","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"visibility":"internal"}],"id":47534,"initialValue":{"arguments":[{"id":47532,"name":"xAllocationVotingGovernorAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47510,"src":"8631:32:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":47531,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46200,"src":"8604:26:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernorV8_$46200_$","typeString":"type(contract IXAllocationVotingGovernorV8)"}},"id":47533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8604:60:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"nodeType":"VariableDeclarationStatement","src":"8549:115:85"},{"assignments":[47536,47538],"declarations":[{"constant":false,"id":47536,"mutability":"mutable","name":"voterAvailableVotes","nameLocation":"8680:19:85","nodeType":"VariableDeclaration","scope":47704,"src":"8672:27:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47535,"name":"uint256","nodeType":"ElementaryTypeName","src":"8672:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47538,"mutability":"mutable","name":"isValid","nameLocation":"8706:7:85","nodeType":"VariableDeclaration","scope":47704,"src":"8701:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47537,"name":"bool","nodeType":"ElementaryTypeName","src":"8701:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":47547,"initialValue":{"arguments":[{"id":47541,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47512,"src":"8776:5:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":47544,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47514,"src":"8829:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47542,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47530,"src":"8789:25:85","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"id":47543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8815:13:85","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":45916,"src":"8789:39:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":47545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8789:48:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47539,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47530,"src":"8717:25:85","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"id":47540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8743:25:85","memberName":"getAndValidateVotingPower","nodeType":"MemberAccess","referencedDeclaration":46183,"src":"8717:51:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$_t_bool_$","typeString":"function (address,uint256) view external returns (uint256,bool)"}},"id":47546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8717:126:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$","typeString":"tuple(uint256,bool)"}},"nodeType":"VariableDeclarationStatement","src":"8671:172:85"},{"expression":{"id":47550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47548,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47526,"src":"8850:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":47549,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47536,"src":"8864:19:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8850:33:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47551,"nodeType":"ExpressionStatement","src":"8850:33:85"},{"condition":{"id":47553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8961:8:85","subExpression":{"id":47552,"name":"isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47538,"src":"8962:7:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47568,"nodeType":"IfStatement","src":"8957:85:85","trueBody":{"id":47567,"nodeType":"Block","src":"8971:71:85","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":47557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9001:1:85","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":47556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8987:13:85","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":47554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8991:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47555,"nodeType":"ArrayTypeName","src":"8991:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":47558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8987:16:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"arguments":[{"hexValue":"30","id":47562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9019:1:85","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":47561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9005:13:85","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":47559,"name":"uint256","nodeType":"ElementaryTypeName","src":"9009:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47560,"nodeType":"ArrayTypeName","src":"9009:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":47563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9005:16:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":47564,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47526,"src":"9023:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47565,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8986:49:85","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"functionReturnParameters":47527,"id":47566,"nodeType":"Return","src":"8979:56:85"}]}},{"assignments":[47570],"declarations":[{"constant":false,"id":47570,"mutability":"mutable","name":"len","nameLocation":"9095:3:85","nodeType":"VariableDeclaration","scope":47704,"src":"9087:11:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47569,"name":"uint256","nodeType":"ElementaryTypeName","src":"9087:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47573,"initialValue":{"expression":{"id":47571,"name":"preferredApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47517,"src":"9101:13:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9115:6:85","memberName":"length","nodeType":"MemberAccess","src":"9101:20:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9087:34:85"},{"assignments":[47578],"declarations":[{"constant":false,"id":47578,"mutability":"mutable","name":"tempAppIds","nameLocation":"9144:10:85","nodeType":"VariableDeclaration","scope":47704,"src":"9127:27:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47576,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9127:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47577,"nodeType":"ArrayTypeName","src":"9127:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":47584,"initialValue":{"arguments":[{"id":47582,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47570,"src":"9171:3:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9157:13:85","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":47579,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9161:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47580,"nodeType":"ArrayTypeName","src":"9161:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":47583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9157:18:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9127:48:85"},{"assignments":[47586],"declarations":[{"constant":false,"id":47586,"mutability":"mutable","name":"count","nameLocation":"9189:5:85","nodeType":"VariableDeclaration","scope":47704,"src":"9181:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47585,"name":"uint256","nodeType":"ElementaryTypeName","src":"9181:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47587,"nodeType":"VariableDeclarationStatement","src":"9181:13:85"},{"body":{"id":47615,"nodeType":"Block","src":"9231:147:85","statements":[{"condition":{"arguments":[{"baseExpression":{"id":47599,"name":"preferredApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47517,"src":"9287:13:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47601,"indexExpression":{"id":47600,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47589,"src":"9301:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9287:16:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":47602,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47514,"src":"9305:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47597,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47530,"src":"9243:25:85","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernorV8_$46200","typeString":"contract IXAllocationVotingGovernorV8"}},"id":47598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9269:17:85","memberName":"isEligibleForVote","nodeType":"MemberAccess","referencedDeclaration":46123,"src":"9243:43:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$","typeString":"function (bytes32,uint256) view external returns (bool)"}},"id":47603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9243:70:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47614,"nodeType":"IfStatement","src":"9239:133:85","trueBody":{"id":47613,"nodeType":"Block","src":"9315:57:85","statements":[{"expression":{"id":47611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":47604,"name":"tempAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47578,"src":"9325:10:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47607,"indexExpression":{"id":47606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9336:7:85","subExpression":{"id":47605,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47586,"src":"9336:5:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9325:19:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":47608,"name":"preferredApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47517,"src":"9347:13:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47610,"indexExpression":{"id":47609,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47589,"src":"9361:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9347:16:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9325:38:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47612,"nodeType":"ExpressionStatement","src":"9325:38:85"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47591,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47589,"src":"9217:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":47592,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47570,"src":"9221:3:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9217:7:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47616,"initializationExpression":{"assignments":[47589],"declarations":[{"constant":false,"id":47589,"mutability":"mutable","name":"i","nameLocation":"9214:1:85","nodeType":"VariableDeclaration","scope":47616,"src":"9206:9:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47588,"name":"uint256","nodeType":"ElementaryTypeName","src":"9206:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47590,"nodeType":"VariableDeclarationStatement","src":"9206:9:85"},"loopExpression":{"expression":{"id":47595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"9226:3:85","subExpression":{"id":47594,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47589,"src":"9228:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47596,"nodeType":"ExpressionStatement","src":"9226:3:85"},"nodeType":"ForStatement","src":"9201:177:85"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47617,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47586,"src":"9442:5:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9451:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9442:10:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47634,"nodeType":"IfStatement","src":"9438:87:85","trueBody":{"id":47633,"nodeType":"Block","src":"9454:71:85","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":47623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9484:1:85","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":47622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9470:13:85","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":47620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9474:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47621,"nodeType":"ArrayTypeName","src":"9474:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":47624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9470:16:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"arguments":[{"hexValue":"30","id":47628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9502:1:85","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":47627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9488:13:85","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":47625,"name":"uint256","nodeType":"ElementaryTypeName","src":"9492:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47626,"nodeType":"ArrayTypeName","src":"9492:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":47629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9488:16:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":47630,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47526,"src":"9506:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47631,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9469:49:85","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"functionReturnParameters":47527,"id":47632,"nodeType":"Return","src":"9462:56:85"}]}},{"expression":{"id":47641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47635,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47521,"src":"9574:11:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47639,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47586,"src":"9602:5:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9588:13:85","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":47636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9592:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47637,"nodeType":"ArrayTypeName","src":"9592:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":47640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9588:20:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"9574:34:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47642,"nodeType":"ExpressionStatement","src":"9574:34:85"},{"expression":{"id":47649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47643,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47524,"src":"9614:11:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47647,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47586,"src":"9642:5:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9628:13:85","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":47644,"name":"uint256","nodeType":"ElementaryTypeName","src":"9632:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47645,"nodeType":"ArrayTypeName","src":"9632:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":47648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9628:20:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"9614:34:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":47650,"nodeType":"ExpressionStatement","src":"9614:34:85"},{"assignments":[47652],"declarations":[{"constant":false,"id":47652,"mutability":"mutable","name":"votePerApp","nameLocation":"9662:10:85","nodeType":"VariableDeclaration","scope":47704,"src":"9654:18:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47651,"name":"uint256","nodeType":"ElementaryTypeName","src":"9654:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47656,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47653,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47526,"src":"9675:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47654,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47586,"src":"9689:5:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9675:19:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9654:40:85"},{"assignments":[47658],"declarations":[{"constant":false,"id":47658,"mutability":"mutable","name":"remainingVotes","nameLocation":"9708:14:85","nodeType":"VariableDeclaration","scope":47704,"src":"9700:22:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47657,"name":"uint256","nodeType":"ElementaryTypeName","src":"9700:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47662,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47659,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47526,"src":"9725:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":47660,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47586,"src":"9739:5:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9725:19:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9700:44:85"},{"body":{"id":47697,"nodeType":"Block","src":"9783:318:85","statements":[{"expression":{"id":47678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":47672,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47521,"src":"9791:11:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47674,"indexExpression":{"id":47673,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"9803:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9791:14:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":47675,"name":"tempAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47578,"src":"9808:10:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":47677,"indexExpression":{"id":47676,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"9819:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9808:13:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9791:30:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47679,"nodeType":"ExpressionStatement","src":"9791:30:85"},{"expression":{"id":47684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":47680,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47524,"src":"9829:11:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":47682,"indexExpression":{"id":47681,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"9841:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9829:14:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":47683,"name":"votePerApp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47652,"src":"9846:10:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9829:27:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47685,"nodeType":"ExpressionStatement","src":"9829:27:85"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47686,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"10037:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":47687,"name":"remainingVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47658,"src":"10041:14:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10037:18:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47696,"nodeType":"IfStatement","src":"10033:62:85","trueBody":{"id":47695,"nodeType":"Block","src":"10057:38:85","statements":[{"expression":{"id":47693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":47689,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47524,"src":"10067:11:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":47691,"indexExpression":{"id":47690,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"10079:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10067:14:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":47692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10085:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10067:19:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47694,"nodeType":"ExpressionStatement","src":"10067:19:85"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47666,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"9767:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":47667,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47586,"src":"9771:5:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:9:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47698,"initializationExpression":{"assignments":[47664],"declarations":[{"constant":false,"id":47664,"mutability":"mutable","name":"i","nameLocation":"9764:1:85","nodeType":"VariableDeclaration","scope":47698,"src":"9756:9:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47663,"name":"uint256","nodeType":"ElementaryTypeName","src":"9756:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47665,"nodeType":"VariableDeclarationStatement","src":"9756:9:85"},"loopExpression":{"expression":{"id":47670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"9778:3:85","subExpression":{"id":47669,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"9780:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47671,"nodeType":"ExpressionStatement","src":"9778:3:85"},"nodeType":"ForStatement","src":"9751:350:85"},{"expression":{"components":[{"id":47699,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47521,"src":"10115:11:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":47700,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47524,"src":"10128:11:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":47701,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47526,"src":"10141:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47702,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10114:39:85","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"functionReturnParameters":47527,"id":47703,"nodeType":"Return","src":"10107:46:85"}]},"documentation":{"id":47508,"nodeType":"StructuredDocumentation","src":"7631:648:85","text":" @dev Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights\n @notice Returns empty arrays if voter has insufficient voting power\n @notice Returns empty arrays if no eligible apps found\n @param xAllocationVotingGovernorAddress The address of the XAllocationVotingGovernor contract\n @param voter The address of the voter\n @param roundId The round ID to vote in\n @param preferredApps Array of preferred app IDs\n @return finalAppIds Array of eligible app IDs\n @return voteWeights Array of equal vote weights\n @return votingPower The voting power of the voter"},"functionSelector":"ea66e04a","id":47705,"implemented":true,"kind":"function","modifiers":[],"name":"prepareAutoVoteArrays","nameLocation":"8291:21:85","nodeType":"FunctionDefinition","parameters":{"id":47518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47510,"mutability":"mutable","name":"xAllocationVotingGovernorAddress","nameLocation":"8326:32:85","nodeType":"VariableDeclaration","scope":47705,"src":"8318:40:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47509,"name":"address","nodeType":"ElementaryTypeName","src":"8318:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47512,"mutability":"mutable","name":"voter","nameLocation":"8372:5:85","nodeType":"VariableDeclaration","scope":47705,"src":"8364:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47511,"name":"address","nodeType":"ElementaryTypeName","src":"8364:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47514,"mutability":"mutable","name":"roundId","nameLocation":"8391:7:85","nodeType":"VariableDeclaration","scope":47705,"src":"8383:15:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47513,"name":"uint256","nodeType":"ElementaryTypeName","src":"8383:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47517,"mutability":"mutable","name":"preferredApps","nameLocation":"8421:13:85","nodeType":"VariableDeclaration","scope":47705,"src":"8404:30:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8404:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47516,"nodeType":"ArrayTypeName","src":"8404:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8312:126:85"},"returnParameters":{"id":47527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47521,"mutability":"mutable","name":"finalAppIds","nameLocation":"8479:11:85","nodeType":"VariableDeclaration","scope":47705,"src":"8462:28:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8462:7:85","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47520,"nodeType":"ArrayTypeName","src":"8462:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":47524,"mutability":"mutable","name":"voteWeights","nameLocation":"8509:11:85","nodeType":"VariableDeclaration","scope":47705,"src":"8492:28:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":47522,"name":"uint256","nodeType":"ElementaryTypeName","src":"8492:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47523,"nodeType":"ArrayTypeName","src":"8492:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":47526,"mutability":"mutable","name":"votingPower","nameLocation":"8530:11:85","nodeType":"VariableDeclaration","scope":47705,"src":"8522:19:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47525,"name":"uint256","nodeType":"ElementaryTypeName","src":"8522:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8461:81:85"},"scope":47706,"src":"8282:1876:85","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":47707,"src":"703:9457:85","usedErrors":[7025,8883],"usedEvents":[47170,47178]}],"src":"32:10129:85"},"id":85},"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol","exportedSymbols":{"Checkpoints":[10447],"XAllocationVotingDataTypesV8":[47727]},"id":47728,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":47708,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:86"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":47710,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47728,"sourceUnit":10448,"src":"57:84:86","symbolAliases":[{"foreign":{"id":47709,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"66:11:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"XAllocationVotingDataTypesV8","contractDependencies":[],"contractKind":"library","documentation":{"id":47711,"nodeType":"StructuredDocumentation","src":"143:209:86","text":" @title XAllocationVotingDataTypes\n @notice Library defining data types used in the XAllocationVoting contract\n @dev Contains storage structures and data types for allocation voting functionality"},"fullyImplemented":true,"id":47727,"linearizedBaseContracts":[47727],"name":"XAllocationVotingDataTypesV8","nameLocation":"361:28:86","nodeType":"ContractDefinition","nodes":[{"canonicalName":"XAllocationVotingDataTypesV8.AutoVotingStorage","documentation":{"id":47712,"nodeType":"StructuredDocumentation","src":"394:325:86","text":" @dev Storage structure for AutoVoting\n @param _autoVotingEnabled Mapping of user addresses to their auto-voting status checkpoints\n @param _userVotingPreferences Mapping of user addresses to their preferred app IDs\n @param _totalAutoVotingUsers Checkpoint tracking total number of auto-voting users"},"id":47726,"members":[{"constant":false,"id":47717,"mutability":"mutable","name":"_autoVotingEnabled","nameLocation":"794:18:86","nodeType":"VariableDeclaration","scope":47726,"src":"753:59:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":47716,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":47713,"name":"address","nodeType":"ElementaryTypeName","src":"761:7:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"753:40:86","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":47715,"nodeType":"UserDefinedTypeName","pathNode":{"id":47714,"name":"Checkpoints.Trace208","nameLocations":["772:11:86","784:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"772:20:86"},"referencedDeclaration":9409,"src":"772:20:86","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":47722,"mutability":"mutable","name":"_userVotingPreferences","nameLocation":"848:22:86","nodeType":"VariableDeclaration","scope":47726,"src":"818:52:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[])"},"typeName":{"id":47721,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":47718,"name":"address","nodeType":"ElementaryTypeName","src":"826:7:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"818:29:86","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":47719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"837:7:86","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47720,"nodeType":"ArrayTypeName","src":"837:9:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"visibility":"internal"},{"constant":false,"id":47725,"mutability":"mutable","name":"_totalAutoVotingUsers","nameLocation":"897:21:86","nodeType":"VariableDeclaration","scope":47726,"src":"876:42:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":47724,"nodeType":"UserDefinedTypeName","pathNode":{"id":47723,"name":"Checkpoints.Trace208","nameLocations":["876:11:86","888:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"876:20:86"},"referencedDeclaration":9409,"src":"876:20:86","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"}],"name":"AutoVotingStorage","nameLocation":"729:17:86","nodeType":"StructDefinition","scope":47727,"src":"722:201:86","visibility":"public"}],"scope":47728,"src":"353:572:86","usedErrors":[],"usedEvents":[]}],"src":"32:894:86"},"id":86},"contracts/deprecated/V8/x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol","exportedSymbols":{"AutoVotingLogicUpgradeableV8":[47975],"AutoVotingLogicV8":[47706],"IX2EarnApps":[69989],"XAllocationVotingDataTypesV8":[47727],"XAllocationVotingGovernor":[47146]},"id":47976,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":47729,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:87"},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../../../interfaces/IX2EarnApps.sol","id":47731,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47976,"sourceUnit":69990,"src":"57:69:87","symbolAliases":[{"foreign":{"id":47730,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"66:11:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","file":"../XAllocationVotingGovernorV8.sol","id":47733,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47976,"sourceUnit":47147,"src":"127:110:87","symbolAliases":[{"foreign":{"id":47732,"name":"XAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47146,"src":"136:27:87","typeDescriptions":{}},"local":"XAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol","file":"../libraries/AutoVotingLogicV8.sol","id":47735,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47976,"sourceUnit":47707,"src":"238:71:87","symbolAliases":[{"foreign":{"id":47734,"name":"AutoVotingLogicV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47706,"src":"247:17:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol","file":"../libraries/XAllocationVotingDataTypesV8.sol","id":47737,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47976,"sourceUnit":47728,"src":"310:93:87","symbolAliases":[{"foreign":{"id":47736,"name":"XAllocationVotingDataTypesV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47727,"src":"319:28:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":47739,"name":"XAllocationVotingGovernor","nameLocations":["660:25:87"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"660:25:87"},"id":47740,"nodeType":"InheritanceSpecifier","src":"660:25:87"}],"canonicalName":"AutoVotingLogicUpgradeableV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":47738,"nodeType":"StructuredDocumentation","src":"405:204:87","text":" @title AutoVotingLogicUpgradeable\n @notice Handles user preferences for automatic voting in allocation rounds\n @dev This module is intended to be inherited by the XAllocationVoting contract"},"fullyImplemented":false,"id":47975,"linearizedBaseContracts":[47975,47146,46200,4552,4332,5961,3987,1732],"name":"AutoVotingLogicUpgradeableV8","nameLocation":"628:28:87","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":47741,"nodeType":"StructuredDocumentation","src":"690:453:87","text":"@notice Storage location for AutoVoting data using ERC-7201 namespaced storage pattern\n @dev This constant defines the storage slot for AutoVotingStorage struct (defined in XAllocationVotingDataTypes)\n @dev Calculated as: keccak256(abi.encode(uint256(keccak256(\"b3tr.storage.XAllocationVotingGovernorV8.AutoVoting\")) - 1)) & ~bytes32(uint256(0xff))\n @custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.AutoVoting"},"id":47744,"mutability":"constant","name":"AutoVotingStorageLocation","nameLocation":"1171:25:87","nodeType":"VariableDeclaration","scope":47975,"src":"1146:123:87","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1146:7:87","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307833386261346439323034373430323562633131393835316435313633303739346162323564633931623566363133616663336330653835663039666463313030","id":47743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1203:66:87","typeDescriptions":{"typeIdentifier":"t_rational_25658688445801586100277369522089327290399681424734744397325263245830673776896_by_1","typeString":"int_const 2565...(69 digits omitted)...6896"},"value":"0x38ba4d920474025bc119851d51630794ab25dc91b5f613afc3c0e85f09fdc100"},"visibility":"private"},{"body":{"id":47751,"nodeType":"Block","src":"1387:68:87","statements":[{"AST":{"nodeType":"YulBlock","src":"1402:49:87","statements":[{"nodeType":"YulAssignment","src":"1410:35:87","value":{"name":"AutoVotingStorageLocation","nodeType":"YulIdentifier","src":"1420:25:87"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"1410:6:87"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":47748,"isOffset":false,"isSlot":true,"src":"1410:6:87","suffix":"slot","valueSize":1},{"declaration":47744,"isOffset":false,"isSlot":false,"src":"1420:25:87","valueSize":1}],"id":47750,"nodeType":"InlineAssembly","src":"1393:58:87"}]},"id":47752,"implemented":true,"kind":"function","modifiers":[],"name":"_getAutoVotingStorage","nameLocation":"1283:21:87","nodeType":"FunctionDefinition","parameters":{"id":47745,"nodeType":"ParameterList","parameters":[],"src":"1304:2:87"},"returnParameters":{"id":47749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47748,"mutability":"mutable","name":"$","nameLocation":"1384:1:87","nodeType":"VariableDeclaration","scope":47752,"src":"1329:56:87","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47747,"nodeType":"UserDefinedTypeName","pathNode":{"id":47746,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["1329:28:87","1358:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"1329:46:87"},"referencedDeclaration":47726,"src":"1329:46:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"}],"src":"1328:58:87"},"scope":47975,"src":"1274:181:87","stateMutability":"pure","virtual":false,"visibility":"private"},{"baseFunctions":[47032],"documentation":{"id":47753,"nodeType":"StructuredDocumentation","src":"1459:104:87","text":" @dev Get the X2EarnApps contract interface\n @return The X2EarnApps contract interface"},"functionSelector":"33653f5d","id":47760,"implemented":false,"kind":"function","modifiers":[],"name":"x2EarnApps","nameLocation":"1575:10:87","nodeType":"FunctionDefinition","overrides":{"id":47755,"nodeType":"OverrideSpecifier","overrides":[],"src":"1608:8:87"},"parameters":{"id":47754,"nodeType":"ParameterList","parameters":[],"src":"1585:2:87"},"returnParameters":{"id":47759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47758,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47760,"src":"1626:11:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":47757,"nodeType":"UserDefinedTypeName","pathNode":{"id":47756,"name":"IX2EarnApps","nameLocations":["1626:11:87"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"1626:11:87"},"referencedDeclaration":69989,"src":"1626:11:87","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"1625:13:87"},"scope":47975,"src":"1566:73:87","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[47091],"body":{"id":47788,"nodeType":"Block","src":"1808:169:87","statements":[{"assignments":[47771],"declarations":[{"constant":false,"id":47771,"mutability":"mutable","name":"$","nameLocation":"1869:1:87","nodeType":"VariableDeclaration","scope":47788,"src":"1814:56:87","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47770,"nodeType":"UserDefinedTypeName","pathNode":{"id":47769,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["1814:28:87","1843:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"1814:46:87"},"referencedDeclaration":47726,"src":"1814:46:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"}],"id":47774,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":47772,"name":"_getAutoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"1873:21:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer)"}},"id":47773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1873:23:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1814:82:87"},{"expression":{"arguments":[{"id":47778,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47771,"src":"1937:1:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},{"arguments":[{"id":47781,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1948:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_AutoVotingLogicUpgradeableV8_$47975","typeString":"contract AutoVotingLogicUpgradeableV8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AutoVotingLogicUpgradeableV8_$47975","typeString":"contract AutoVotingLogicUpgradeableV8"}],"id":47780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1940:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":47779,"name":"address","nodeType":"ElementaryTypeName","src":"1940:7:87","typeDescriptions":{}}},"id":47782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1940:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47783,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47763,"src":"1955:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":47784,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46977,"src":"1964:5:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":47785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1964:7:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":47775,"name":"AutoVotingLogicV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47706,"src":"1902:17:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogicV8_$47706_$","typeString":"type(library AutoVotingLogicV8)"}},"id":47777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1920:16:87","memberName":"toggleAutoVoting","nodeType":"MemberAccess","referencedDeclaration":47313,"src":"1902:34:87","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$_t_address_$_t_address_$_t_uint48_$returns$__$","typeString":"function (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer,address,address,uint48)"}},"id":47786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1902:70:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47787,"nodeType":"ExpressionStatement","src":"1902:70:87"}]},"documentation":{"id":47761,"nodeType":"StructuredDocumentation","src":"1682:53:87","text":" @dev Toggles autovoting for an account"},"id":47789,"implemented":true,"kind":"function","modifiers":[],"name":"_toggleAutoVoting","nameLocation":"1747:17:87","nodeType":"FunctionDefinition","overrides":{"id":47765,"nodeType":"OverrideSpecifier","overrides":[],"src":"1799:8:87"},"parameters":{"id":47764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47763,"mutability":"mutable","name":"account","nameLocation":"1773:7:87","nodeType":"VariableDeclaration","scope":47789,"src":"1765:15:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47762,"name":"address","nodeType":"ElementaryTypeName","src":"1765:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1764:17:87"},"returnParameters":{"id":47766,"nodeType":"ParameterList","parameters":[],"src":"1808:0:87"},"scope":47975,"src":"1738:239:87","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":47819,"nodeType":"Block","src":"2138:182:87","statements":[{"assignments":[47802],"declarations":[{"constant":false,"id":47802,"mutability":"mutable","name":"$","nameLocation":"2199:1:87","nodeType":"VariableDeclaration","scope":47819,"src":"2144:56:87","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47801,"nodeType":"UserDefinedTypeName","pathNode":{"id":47800,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["2144:28:87","2173:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"2144:46:87"},"referencedDeclaration":47726,"src":"2144:46:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"}],"id":47805,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":47803,"name":"_getAutoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"2203:21:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer)"}},"id":47804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2203:23:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2144:82:87"},{"expression":{"arguments":[{"id":47809,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47802,"src":"2275:1:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":47812,"name":"x2EarnApps","nodeType":"Identifier","overloadedDeclarations":[47760],"referencedDeclaration":47760,"src":"2286:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IX2EarnApps_$69989_$","typeString":"function () view returns (contract IX2EarnApps)"}},"id":47813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2286:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":47811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2278:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":47810,"name":"address","nodeType":"ElementaryTypeName","src":"2278:7:87","typeDescriptions":{}}},"id":47814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2278:21:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47815,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47792,"src":"2301:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47816,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47795,"src":"2310:4:87","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":47806,"name":"AutoVotingLogicV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47706,"src":"2232:17:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogicV8_$47706_$","typeString":"type(library AutoVotingLogicV8)"}},"id":47808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2250:24:87","memberName":"setUserVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":47408,"src":"2232:42:87","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$_t_address_$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer,address,address,bytes32[] memory)"}},"id":47817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2232:83:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47818,"nodeType":"ExpressionStatement","src":"2232:83:87"}]},"documentation":{"id":47790,"nodeType":"StructuredDocumentation","src":"1981:62:87","text":" @dev Sets the voting preferences for an account"},"id":47820,"implemented":true,"kind":"function","modifiers":[],"name":"_setUserVotingPreferences","nameLocation":"2055:25:87","nodeType":"FunctionDefinition","parameters":{"id":47796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47792,"mutability":"mutable","name":"account","nameLocation":"2089:7:87","nodeType":"VariableDeclaration","scope":47820,"src":"2081:15:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47791,"name":"address","nodeType":"ElementaryTypeName","src":"2081:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47795,"mutability":"mutable","name":"apps","nameLocation":"2115:4:87","nodeType":"VariableDeclaration","scope":47820,"src":"2098:21:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2098:7:87","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47794,"nodeType":"ArrayTypeName","src":"2098:9:87","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"2080:40:87"},"returnParameters":{"id":47797,"nodeType":"ParameterList","parameters":[],"src":"2138:0:87"},"scope":47975,"src":"2046:274:87","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[47145],"body":{"id":47851,"nodeType":"Block","src":"2680:103:87","statements":[{"expression":{"arguments":[{"arguments":[{"id":47844,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2741:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_AutoVotingLogicUpgradeableV8_$47975","typeString":"contract AutoVotingLogicUpgradeableV8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AutoVotingLogicUpgradeableV8_$47975","typeString":"contract AutoVotingLogicUpgradeableV8"}],"id":47843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2733:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":47842,"name":"address","nodeType":"ElementaryTypeName","src":"2733:7:87","typeDescriptions":{}}},"id":47845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2733:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47846,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47823,"src":"2748:5:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47847,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47825,"src":"2755:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47848,"name":"preferredApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47828,"src":"2764:13:87","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":47840,"name":"AutoVotingLogicV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47706,"src":"2693:17:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogicV8_$47706_$","typeString":"type(library AutoVotingLogicV8)"}},"id":47841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2711:21:87","memberName":"prepareAutoVoteArrays","nodeType":"MemberAccess","referencedDeclaration":47705,"src":"2693:39:87","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"function (address,address,uint256,bytes32[] memory) view returns (bytes32[] memory,uint256[] memory,uint256)"}},"id":47849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2693:85:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"functionReturnParameters":47839,"id":47850,"nodeType":"Return","src":"2686:92:87"}]},"documentation":{"id":47821,"nodeType":"StructuredDocumentation","src":"2324:107:87","text":" @dev Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights"},"id":47852,"implemented":true,"kind":"function","modifiers":[],"name":"_prepareAutoVoteArrays","nameLocation":"2443:22:87","nodeType":"FunctionDefinition","overrides":{"id":47830,"nodeType":"OverrideSpecifier","overrides":[],"src":"2575:8:87"},"parameters":{"id":47829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47823,"mutability":"mutable","name":"voter","nameLocation":"2479:5:87","nodeType":"VariableDeclaration","scope":47852,"src":"2471:13:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47822,"name":"address","nodeType":"ElementaryTypeName","src":"2471:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47825,"mutability":"mutable","name":"roundId","nameLocation":"2498:7:87","nodeType":"VariableDeclaration","scope":47852,"src":"2490:15:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47824,"name":"uint256","nodeType":"ElementaryTypeName","src":"2490:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47828,"mutability":"mutable","name":"preferredApps","nameLocation":"2528:13:87","nodeType":"VariableDeclaration","scope":47852,"src":"2511:30:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2511:7:87","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47827,"nodeType":"ArrayTypeName","src":"2511:9:87","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"2465:80:87"},"returnParameters":{"id":47839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47833,"mutability":"mutable","name":"finalAppIds","nameLocation":"2614:11:87","nodeType":"VariableDeclaration","scope":47852,"src":"2597:28:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2597:7:87","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47832,"nodeType":"ArrayTypeName","src":"2597:9:87","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":47836,"mutability":"mutable","name":"voteWeights","nameLocation":"2644:11:87","nodeType":"VariableDeclaration","scope":47852,"src":"2627:28:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":47834,"name":"uint256","nodeType":"ElementaryTypeName","src":"2627:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47835,"nodeType":"ArrayTypeName","src":"2627:9:87","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":47838,"mutability":"mutable","name":"votingPower","nameLocation":"2665:11:87","nodeType":"VariableDeclaration","scope":47852,"src":"2657:19:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47837,"name":"uint256","nodeType":"ElementaryTypeName","src":"2657:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2596:81:87"},"scope":47975,"src":"2434:349:87","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[47099],"body":{"id":47875,"nodeType":"Block","src":"3008:155:87","statements":[{"assignments":[47865],"declarations":[{"constant":false,"id":47865,"mutability":"mutable","name":"$","nameLocation":"3069:1:87","nodeType":"VariableDeclaration","scope":47875,"src":"3014:56:87","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47864,"nodeType":"UserDefinedTypeName","pathNode":{"id":47863,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["3014:28:87","3043:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"3014:46:87"},"referencedDeclaration":47726,"src":"3014:46:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"}],"id":47868,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":47866,"name":"_getAutoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"3073:21:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer)"}},"id":47867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3073:23:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3014:82:87"},{"expression":{"arguments":[{"id":47871,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47865,"src":"3147:1:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},{"id":47872,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47855,"src":"3150:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47869,"name":"AutoVotingLogicV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47706,"src":"3109:17:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogicV8_$47706_$","typeString":"type(library AutoVotingLogicV8)"}},"id":47870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3127:19:87","memberName":"isAutoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":47429,"src":"3109:37:87","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$_t_address_$returns$_t_bool_$","typeString":"function (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer,address) view returns (bool)"}},"id":47873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3109:49:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":47860,"id":47874,"nodeType":"Return","src":"3102:56:87"}]},"documentation":{"id":47853,"nodeType":"StructuredDocumentation","src":"2826:86:87","text":" @dev Checks if autovoting is enabled for an account at latest timepoint"},"id":47876,"implemented":true,"kind":"function","modifiers":[],"name":"_isAutoVotingEnabled","nameLocation":"2924:20:87","nodeType":"FunctionDefinition","overrides":{"id":47857,"nodeType":"OverrideSpecifier","overrides":[],"src":"2984:8:87"},"parameters":{"id":47856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47855,"mutability":"mutable","name":"account","nameLocation":"2953:7:87","nodeType":"VariableDeclaration","scope":47876,"src":"2945:15:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47854,"name":"address","nodeType":"ElementaryTypeName","src":"2945:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2944:17:87"},"returnParameters":{"id":47860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47859,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47876,"src":"3002:4:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47858,"name":"bool","nodeType":"ElementaryTypeName","src":"3002:4:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3001:6:87"},"scope":47975,"src":"2915:248:87","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[47109],"body":{"id":47902,"nodeType":"Block","src":"3394:177:87","statements":[{"assignments":[47891],"declarations":[{"constant":false,"id":47891,"mutability":"mutable","name":"$","nameLocation":"3455:1:87","nodeType":"VariableDeclaration","scope":47902,"src":"3400:56:87","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47890,"nodeType":"UserDefinedTypeName","pathNode":{"id":47889,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["3400:28:87","3429:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"3400:46:87"},"referencedDeclaration":47726,"src":"3400:46:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"}],"id":47894,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":47892,"name":"_getAutoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"3459:21:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer)"}},"id":47893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3459:23:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3400:82:87"},{"expression":{"arguments":[{"id":47897,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47891,"src":"3544:1:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},{"id":47898,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47879,"src":"3547:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47899,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47881,"src":"3556:9:87","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":47895,"name":"AutoVotingLogicV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47706,"src":"3495:17:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogicV8_$47706_$","typeString":"type(library AutoVotingLogicV8)"}},"id":47896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3513:30:87","memberName":"isAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":47453,"src":"3495:48:87","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer,address,uint48) view returns (bool)"}},"id":47900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3495:71:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":47886,"id":47901,"nodeType":"Return","src":"3488:78:87"}]},"documentation":{"id":47877,"nodeType":"StructuredDocumentation","src":"3167:90:87","text":" @dev Checks if autovoting is enabled for an account at a specific timepoint"},"id":47903,"implemented":true,"kind":"function","modifiers":[],"name":"_isAutoVotingEnabledAtTimepoint","nameLocation":"3269:31:87","nodeType":"FunctionDefinition","overrides":{"id":47883,"nodeType":"OverrideSpecifier","overrides":[],"src":"3370:8:87"},"parameters":{"id":47882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47879,"mutability":"mutable","name":"account","nameLocation":"3314:7:87","nodeType":"VariableDeclaration","scope":47903,"src":"3306:15:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47878,"name":"address","nodeType":"ElementaryTypeName","src":"3306:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47881,"mutability":"mutable","name":"timepoint","nameLocation":"3334:9:87","nodeType":"VariableDeclaration","scope":47903,"src":"3327:16:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":47880,"name":"uint48","nodeType":"ElementaryTypeName","src":"3327:6:87","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3300:47:87"},"returnParameters":{"id":47886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47903,"src":"3388:4:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47884,"name":"bool","nodeType":"ElementaryTypeName","src":"3388:4:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3387:6:87"},"scope":47975,"src":"3260:311:87","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[47118],"body":{"id":47927,"nodeType":"Block","src":"3750:160:87","statements":[{"assignments":[47917],"declarations":[{"constant":false,"id":47917,"mutability":"mutable","name":"$","nameLocation":"3811:1:87","nodeType":"VariableDeclaration","scope":47927,"src":"3756:56:87","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47916,"nodeType":"UserDefinedTypeName","pathNode":{"id":47915,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["3756:28:87","3785:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"3756:46:87"},"referencedDeclaration":47726,"src":"3756:46:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"}],"id":47920,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":47918,"name":"_getAutoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"3815:21:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer)"}},"id":47919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3815:23:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3756:82:87"},{"expression":{"arguments":[{"id":47923,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47917,"src":"3894:1:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},{"id":47924,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47906,"src":"3897:7:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47921,"name":"AutoVotingLogicV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47706,"src":"3851:17:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogicV8_$47706_$","typeString":"type(library AutoVotingLogicV8)"}},"id":47922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3869:24:87","memberName":"getUserVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":47471,"src":"3851:42:87","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer,address) view returns (bytes32[] memory)"}},"id":47925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:54:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":47912,"id":47926,"nodeType":"Return","src":"3844:61:87"}]},"documentation":{"id":47904,"nodeType":"StructuredDocumentation","src":"3575:62:87","text":" @dev Gets the voting preferences for an account"},"id":47928,"implemented":true,"kind":"function","modifiers":[],"name":"_getUserVotingPreferences","nameLocation":"3649:25:87","nodeType":"FunctionDefinition","overrides":{"id":47908,"nodeType":"OverrideSpecifier","overrides":[],"src":"3714:8:87"},"parameters":{"id":47907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47906,"mutability":"mutable","name":"account","nameLocation":"3683:7:87","nodeType":"VariableDeclaration","scope":47928,"src":"3675:15:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47905,"name":"address","nodeType":"ElementaryTypeName","src":"3675:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3674:17:87"},"returnParameters":{"id":47912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47911,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47928,"src":"3732:16:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":47909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3732:7:87","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47910,"nodeType":"ArrayTypeName","src":"3732:9:87","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"3731:18:87"},"scope":47975,"src":"3640:270:87","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[47126],"body":{"id":47951,"nodeType":"Block","src":"4126:172:87","statements":[{"assignments":[47941],"declarations":[{"constant":false,"id":47941,"mutability":"mutable","name":"$","nameLocation":"4187:1:87","nodeType":"VariableDeclaration","scope":47951,"src":"4132:56:87","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47940,"nodeType":"UserDefinedTypeName","pathNode":{"id":47939,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["4132:28:87","4161:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"4132:46:87"},"referencedDeclaration":47726,"src":"4132:46:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"}],"id":47944,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":47942,"name":"_getAutoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"4191:21:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer)"}},"id":47943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:23:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4132:82:87"},{"expression":{"arguments":[{"id":47947,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47941,"src":"4280:1:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},{"id":47948,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47931,"src":"4283:9:87","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":47945,"name":"AutoVotingLogicV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47706,"src":"4227:17:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogicV8_$47706_$","typeString":"type(library AutoVotingLogicV8)"}},"id":47946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4245:34:87","memberName":"getTotalAutoVotingUsersAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":47489,"src":"4227:52:87","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$_t_uint48_$returns$_t_uint208_$","typeString":"function (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer,uint48) view returns (uint208)"}},"id":47949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4227:66:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":47936,"id":47950,"nodeType":"Return","src":"4220:73:87"}]},"documentation":{"id":47929,"nodeType":"StructuredDocumentation","src":"3914:97:87","text":" @dev Gets the total number of users who enabled autovoting at a specific timepoint"},"id":47952,"implemented":true,"kind":"function","modifiers":[],"name":"_getTotalAutoVotingUsersAtTimepoint","nameLocation":"4023:35:87","nodeType":"FunctionDefinition","overrides":{"id":47933,"nodeType":"OverrideSpecifier","overrides":[],"src":"4099:8:87"},"parameters":{"id":47932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47931,"mutability":"mutable","name":"timepoint","nameLocation":"4066:9:87","nodeType":"VariableDeclaration","scope":47952,"src":"4059:16:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":47930,"name":"uint48","nodeType":"ElementaryTypeName","src":"4059:6:87","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"4058:18:87"},"returnParameters":{"id":47936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47935,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47952,"src":"4117:7:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":47934,"name":"uint208","nodeType":"ElementaryTypeName","src":"4117:7:87","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"4116:9:87"},"scope":47975,"src":"4014:284:87","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":47973,"nodeType":"Block","src":"4479:159:87","statements":[{"assignments":[47962],"declarations":[{"constant":false,"id":47962,"mutability":"mutable","name":"$","nameLocation":"4540:1:87","nodeType":"VariableDeclaration","scope":47973,"src":"4485:56:87","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"},"typeName":{"id":47961,"nodeType":"UserDefinedTypeName","pathNode":{"id":47960,"name":"XAllocationVotingDataTypesV8.AutoVotingStorage","nameLocations":["4485:28:87","4514:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":47726,"src":"4485:46:87"},"referencedDeclaration":47726,"src":"4485:46:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage"}},"visibility":"internal"}],"id":47965,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":47963,"name":"_getAutoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"4544:21:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer)"}},"id":47964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4544:23:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4485:82:87"},{"expression":{"arguments":[{"id":47968,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47962,"src":"4622:1:87","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"}},{"arguments":[],"expression":{"argumentTypes":[],"id":47969,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46977,"src":"4625:5:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":47970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4625:7:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_AutoVotingStorage_$47726_storage_ptr","typeString":"struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":47966,"name":"AutoVotingLogicV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47706,"src":"4580:17:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogicV8_$47706_$","typeString":"type(library AutoVotingLogicV8)"}},"id":47967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4598:23:87","memberName":"getTotalAutoVotingUsers","nodeType":"MemberAccess","referencedDeclaration":47507,"src":"4580:41:87","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_AutoVotingStorage_$47726_storage_ptr_$_t_uint48_$returns$_t_uint208_$","typeString":"function (struct XAllocationVotingDataTypesV8.AutoVotingStorage storage pointer,uint48) view returns (uint208)"}},"id":47971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4580:53:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":47957,"id":47972,"nodeType":"Return","src":"4573:60:87"}]},"documentation":{"id":47953,"nodeType":"StructuredDocumentation","src":"4302:98:87","text":" @dev Gets the total number of users who enabled autovoting at the current timepoint"},"id":47974,"implemented":true,"kind":"function","modifiers":[],"name":"_getTotalAutoVotingUsers","nameLocation":"4412:24:87","nodeType":"FunctionDefinition","parameters":{"id":47954,"nodeType":"ParameterList","parameters":[],"src":"4436:2:87"},"returnParameters":{"id":47957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47956,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47974,"src":"4470:7:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":47955,"name":"uint208","nodeType":"ElementaryTypeName","src":"4470:7:87","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"4469:9:87"},"scope":47975,"src":"4403:235:87","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":47976,"src":"610:4030:87","usedErrors":[1495,1498,7025,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813],"usedEvents":[1503,45826,45840,45853,45866,45873,45881]}],"src":"32:4609:87"},"id":87},"contracts/deprecated/V8/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol","exportedSymbols":{"ExternalContractsUpgradeableV8":[48514],"IB3TRGovernor":[63919],"IEmissions":[64454],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IX2EarnApps":[69989],"Initializable":[1732],"SafeCast":[8770],"XAllocationVotingGovernor":[47146]},"id":48515,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":47977,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:88"},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","file":"../XAllocationVotingGovernorV8.sol","id":47979,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48515,"sourceUnit":47147,"src":"1220:110:88","symbolAliases":[{"foreign":{"id":47978,"name":"XAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47146,"src":"1229:27:88","typeDescriptions":{}},"local":"XAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":47981,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48515,"sourceUnit":1733,"src":"1331:98:88","symbolAliases":[{"foreign":{"id":47980,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1340:13:88","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../../../../interfaces/IEmissions.sol","id":47983,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48515,"sourceUnit":64455,"src":"1430:67:88","symbolAliases":[{"foreign":{"id":47982,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"1439:10:88","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../../../interfaces/IX2EarnApps.sol","id":47985,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48515,"sourceUnit":69990,"src":"1498:69:88","symbolAliases":[{"foreign":{"id":47984,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"1507:11:88","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../../interfaces/IVoterRewards.sol","id":47987,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48515,"sourceUnit":69093,"src":"1568:73:88","symbolAliases":[{"foreign":{"id":47986,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1577:13:88","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../../../interfaces/IVeBetterPassport.sol","id":47989,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48515,"sourceUnit":68602,"src":"1642:81:88","symbolAliases":[{"foreign":{"id":47988,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"1651:17:88","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../../../interfaces/IB3TRGovernor.sol","id":47991,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48515,"sourceUnit":63920,"src":"1724:73:88","symbolAliases":[{"foreign":{"id":47990,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"1733:13:88","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../../../interfaces/IRelayerRewardsPool.sol","id":47993,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48515,"sourceUnit":67118,"src":"1798:85:88","symbolAliases":[{"foreign":{"id":47992,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"1807:19:88","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":47995,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48515,"sourceUnit":8771,"src":"1884:75:88","symbolAliases":[{"foreign":{"id":47994,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1893:8:88","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":47997,"name":"Initializable","nameLocations":["2193:13:88"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"2193:13:88"},"id":47998,"nodeType":"InheritanceSpecifier","src":"2193:13:88"},{"baseName":{"id":47999,"name":"XAllocationVotingGovernor","nameLocations":["2208:25:88"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"2208:25:88"},"id":48000,"nodeType":"InheritanceSpecifier","src":"2208:25:88"}],"canonicalName":"ExternalContractsUpgradeableV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":47996,"nodeType":"StructuredDocumentation","src":"1961:179:88","text":" @title ExternalContractsUpgradeable\n @dev Extension of {XAllocationVotingGovernor} that handles the storage of external contracts for the XAllocationVotingGovernorV8."},"fullyImplemented":false,"id":48514,"linearizedBaseContracts":[48514,47146,46200,4552,4332,5961,3987,1732],"name":"ExternalContractsUpgradeableV8","nameLocation":"2159:30:88","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ExternalContractsUpgradeableV8.ExternalContractsStorage","documentation":{"id":48001,"nodeType":"StructuredDocumentation","src":"2238:95:88","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.ExternalContracts"},"id":48020,"members":[{"constant":false,"id":48004,"mutability":"mutable","name":"_x2EarnApps","nameLocation":"2386:11:88","nodeType":"VariableDeclaration","scope":48020,"src":"2374:23:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":48003,"nodeType":"UserDefinedTypeName","pathNode":{"id":48002,"name":"IX2EarnApps","nameLocations":["2374:11:88"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"2374:11:88"},"referencedDeclaration":69989,"src":"2374:11:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":48007,"mutability":"mutable","name":"_emissions","nameLocation":"2414:10:88","nodeType":"VariableDeclaration","scope":48020,"src":"2403:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":48006,"nodeType":"UserDefinedTypeName","pathNode":{"id":48005,"name":"IEmissions","nameLocations":["2403:10:88"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"2403:10:88"},"referencedDeclaration":64454,"src":"2403:10:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":48010,"mutability":"mutable","name":"_voterRewards","nameLocation":"2444:13:88","nodeType":"VariableDeclaration","scope":48020,"src":"2430:27:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":48009,"nodeType":"UserDefinedTypeName","pathNode":{"id":48008,"name":"IVoterRewards","nameLocations":["2430:13:88"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"2430:13:88"},"referencedDeclaration":69092,"src":"2430:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"},{"constant":false,"id":48013,"mutability":"mutable","name":"_veBetterPassport","nameLocation":"2481:17:88","nodeType":"VariableDeclaration","scope":48020,"src":"2463:35:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":48012,"nodeType":"UserDefinedTypeName","pathNode":{"id":48011,"name":"IVeBetterPassport","nameLocations":["2463:17:88"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"2463:17:88"},"referencedDeclaration":68601,"src":"2463:17:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"},{"constant":false,"id":48016,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"2518:13:88","nodeType":"VariableDeclaration","scope":48020,"src":"2504:27:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":48015,"nodeType":"UserDefinedTypeName","pathNode":{"id":48014,"name":"IB3TRGovernor","nameLocations":["2504:13:88"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"2504:13:88"},"referencedDeclaration":63919,"src":"2504:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"},{"constant":false,"id":48019,"mutability":"mutable","name":"_relayerRewardsPool","nameLocation":"2557:19:88","nodeType":"VariableDeclaration","scope":48020,"src":"2537:39:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":48018,"nodeType":"UserDefinedTypeName","pathNode":{"id":48017,"name":"IRelayerRewardsPool","nameLocations":["2537:19:88"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"2537:19:88"},"referencedDeclaration":67117,"src":"2537:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"name":"ExternalContractsStorage","nameLocation":"2343:24:88","nodeType":"StructDefinition","scope":48514,"src":"2336:245:88","visibility":"public"},{"constant":true,"id":48023,"mutability":"constant","name":"ExternalContractsStorageLocation","nameLocation":"2749:32:88","nodeType":"VariableDeclaration","scope":48514,"src":"2724:130:88","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2724:7:88","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307831646138636262623262313239383761343337353935363035343332613662626538346330386539363835616661616565353933663035363539663530643030","id":48022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2788:66:88","typeDescriptions":{"typeIdentifier":"t_rational_13415309016351997406114026504463319987678381007976206569466059973884044971264_by_1","typeString":"int_const 1341...(69 digits omitted)...1264"},"value":"0x1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00"},"visibility":"private"},{"body":{"id":48030,"nodeType":"Block","src":"2958:75:88","statements":[{"AST":{"nodeType":"YulBlock","src":"2973:56:88","statements":[{"nodeType":"YulAssignment","src":"2981:42:88","value":{"name":"ExternalContractsStorageLocation","nodeType":"YulIdentifier","src":"2991:32:88"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2981:6:88"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":48027,"isOffset":false,"isSlot":true,"src":"2981:6:88","suffix":"slot","valueSize":1},{"declaration":48023,"isOffset":false,"isSlot":false,"src":"2991:32:88","valueSize":1}],"id":48029,"nodeType":"InlineAssembly","src":"2964:65:88"}]},"id":48031,"implemented":true,"kind":"function","modifiers":[],"name":"_getExternalContractsStorage","nameLocation":"2868:28:88","nodeType":"FunctionDefinition","parameters":{"id":48024,"nodeType":"ParameterList","parameters":[],"src":"2896:2:88"},"returnParameters":{"id":48028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48027,"mutability":"mutable","name":"$","nameLocation":"2955:1:88","nodeType":"VariableDeclaration","scope":48031,"src":"2922:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48026,"nodeType":"UserDefinedTypeName","pathNode":{"id":48025,"name":"ExternalContractsStorage","nameLocations":["2922:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"2922:24:88"},"referencedDeclaration":48020,"src":"2922:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"src":"2921:36:88"},"scope":48514,"src":"2859:174:88","stateMutability":"pure","virtual":false,"visibility":"internal"},{"anonymous":false,"eventSelector":"602f97505d28fb0206888a82df7cb072ec7ff056c77134b64368322bcb9f5aba","id":48037,"name":"EmissionsSet","nameLocation":"3093:12:88","nodeType":"EventDefinition","parameters":{"id":48036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48033,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3114:18:88","nodeType":"VariableDeclaration","scope":48037,"src":"3106:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48032,"name":"address","nodeType":"ElementaryTypeName","src":"3106:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48035,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3142:18:88","nodeType":"VariableDeclaration","scope":48037,"src":"3134:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48034,"name":"address","nodeType":"ElementaryTypeName","src":"3134:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3105:56:88"},"src":"3087:75:88"},{"anonymous":false,"eventSelector":"6183e90e12923ae97651b48be341fb5bcfd7bb63a987353dbcf962851011974d","id":48043,"name":"X2EarnAppsSet","nameLocation":"3222:13:88","nodeType":"EventDefinition","parameters":{"id":48042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48039,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3244:18:88","nodeType":"VariableDeclaration","scope":48043,"src":"3236:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48038,"name":"address","nodeType":"ElementaryTypeName","src":"3236:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48041,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3272:18:88","nodeType":"VariableDeclaration","scope":48043,"src":"3264:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48040,"name":"address","nodeType":"ElementaryTypeName","src":"3264:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3235:56:88"},"src":"3216:76:88"},{"anonymous":false,"eventSelector":"285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c4","id":48049,"name":"VoterRewardsSet","nameLocation":"3355:15:88","nodeType":"EventDefinition","parameters":{"id":48048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48045,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3379:18:88","nodeType":"VariableDeclaration","scope":48049,"src":"3371:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48044,"name":"address","nodeType":"ElementaryTypeName","src":"3371:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48047,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3407:18:88","nodeType":"VariableDeclaration","scope":48049,"src":"3399:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48046,"name":"address","nodeType":"ElementaryTypeName","src":"3399:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3370:56:88"},"src":"3349:78:88"},{"anonymous":false,"eventSelector":"1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160","id":48055,"name":"VeBetterPassportSet","nameLocation":"3493:19:88","nodeType":"EventDefinition","parameters":{"id":48054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48051,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3521:18:88","nodeType":"VariableDeclaration","scope":48055,"src":"3513:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48050,"name":"address","nodeType":"ElementaryTypeName","src":"3513:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48053,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3549:18:88","nodeType":"VariableDeclaration","scope":48055,"src":"3541:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48052,"name":"address","nodeType":"ElementaryTypeName","src":"3541:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3512:56:88"},"src":"3487:82:88"},{"anonymous":false,"eventSelector":"1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e","id":48061,"name":"RelayerRewardsPoolSet","nameLocation":"3637:21:88","nodeType":"EventDefinition","parameters":{"id":48060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48057,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3667:18:88","nodeType":"VariableDeclaration","scope":48061,"src":"3659:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48056,"name":"address","nodeType":"ElementaryTypeName","src":"3659:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48059,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3695:18:88","nodeType":"VariableDeclaration","scope":48061,"src":"3687:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48058,"name":"address","nodeType":"ElementaryTypeName","src":"3687:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3658:56:88"},"src":"3631:84:88"},{"anonymous":false,"eventSelector":"b77fb0ff0b0446f13e672c64b103afd9da2774098ab3de2150eca002248bb298","id":48067,"name":"B3TRGovernorSet","nameLocation":"3777:15:88","nodeType":"EventDefinition","parameters":{"id":48066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48063,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3801:18:88","nodeType":"VariableDeclaration","scope":48067,"src":"3793:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48062,"name":"address","nodeType":"ElementaryTypeName","src":"3793:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48065,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3829:18:88","nodeType":"VariableDeclaration","scope":48067,"src":"3821:26:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48064,"name":"address","nodeType":"ElementaryTypeName","src":"3821:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3792:56:88"},"src":"3771:78:88"},{"body":{"id":48088,"nodeType":"Block","src":"4283:103:88","statements":[{"expression":{"arguments":[{"id":48083,"name":"initialX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48071,"src":"4324:17:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},{"id":48084,"name":"initialEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48074,"src":"4343:16:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},{"id":48085,"name":"initialVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48077,"src":"4361:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":48082,"name":"__ExternalContracts_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48128,"src":"4289:34:88","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IX2EarnApps_$69989_$_t_contract$_IEmissions_$64454_$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IX2EarnApps,contract IEmissions,contract IVoterRewards)"}},"id":48086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4289:92:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48087,"nodeType":"ExpressionStatement","src":"4289:92:88"}]},"documentation":{"id":48068,"nodeType":"StructuredDocumentation","src":"3853:256:88","text":" @dev Initializes the contract\n @param initialX2EarnApps The initial X2EarnApps contract address\n @param initialEmissions The initial Emissions contract address\n @param initialVoterRewards The initial VoterRewards contract address"},"id":48089,"implemented":true,"kind":"function","modifiers":[{"id":48080,"kind":"modifierInvocation","modifierName":{"id":48079,"name":"onlyInitializing","nameLocations":["4266:16:88"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4266:16:88"},"nodeType":"ModifierInvocation","src":"4266:16:88"}],"name":"__ExternalContracts_init","nameLocation":"4121:24:88","nodeType":"FunctionDefinition","parameters":{"id":48078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48071,"mutability":"mutable","name":"initialX2EarnApps","nameLocation":"4163:17:88","nodeType":"VariableDeclaration","scope":48089,"src":"4151:29:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":48070,"nodeType":"UserDefinedTypeName","pathNode":{"id":48069,"name":"IX2EarnApps","nameLocations":["4151:11:88"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"4151:11:88"},"referencedDeclaration":69989,"src":"4151:11:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":48074,"mutability":"mutable","name":"initialEmissions","nameLocation":"4197:16:88","nodeType":"VariableDeclaration","scope":48089,"src":"4186:27:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":48073,"nodeType":"UserDefinedTypeName","pathNode":{"id":48072,"name":"IEmissions","nameLocations":["4186:10:88"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"4186:10:88"},"referencedDeclaration":64454,"src":"4186:10:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":48077,"mutability":"mutable","name":"initialVoterRewards","nameLocation":"4233:19:88","nodeType":"VariableDeclaration","scope":48089,"src":"4219:33:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":48076,"nodeType":"UserDefinedTypeName","pathNode":{"id":48075,"name":"IVoterRewards","nameLocations":["4219:13:88"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"4219:13:88"},"referencedDeclaration":69092,"src":"4219:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"4145:111:88"},"returnParameters":{"id":48081,"nodeType":"ParameterList","parameters":[],"src":"4283:0:88"},"scope":48514,"src":"4112:274:88","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48127,"nodeType":"Block","src":"4571:197:88","statements":[{"assignments":[48105],"declarations":[{"constant":false,"id":48105,"mutability":"mutable","name":"$","nameLocation":"4610:1:88","nodeType":"VariableDeclaration","scope":48127,"src":"4577:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48104,"nodeType":"UserDefinedTypeName","pathNode":{"id":48103,"name":"ExternalContractsStorage","nameLocations":["4577:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"4577:24:88"},"referencedDeclaration":48020,"src":"4577:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48108,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48106,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"4614:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4614:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4577:67:88"},{"expression":{"id":48113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48109,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48105,"src":"4650:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4652:11:88","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":48004,"src":"4650:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48112,"name":"initialX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48092,"src":"4666:17:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"src":"4650:33:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":48114,"nodeType":"ExpressionStatement","src":"4650:33:88"},{"expression":{"id":48119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48115,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48105,"src":"4689:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4691:10:88","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":48007,"src":"4689:12:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48118,"name":"initialEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48095,"src":"4704:16:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"4689:31:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":48120,"nodeType":"ExpressionStatement","src":"4689:31:88"},{"expression":{"id":48125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48121,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48105,"src":"4726:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4728:13:88","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":48010,"src":"4726:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48124,"name":"initialVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48098,"src":"4744:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"src":"4726:37:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":48126,"nodeType":"ExpressionStatement","src":"4726:37:88"}]},"id":48128,"implemented":true,"kind":"function","modifiers":[{"id":48101,"kind":"modifierInvocation","modifierName":{"id":48100,"name":"onlyInitializing","nameLocations":["4554:16:88"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4554:16:88"},"nodeType":"ModifierInvocation","src":"4554:16:88"}],"name":"__ExternalContracts_init_unchained","nameLocation":"4399:34:88","nodeType":"FunctionDefinition","parameters":{"id":48099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48092,"mutability":"mutable","name":"initialX2EarnApps","nameLocation":"4451:17:88","nodeType":"VariableDeclaration","scope":48128,"src":"4439:29:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":48091,"nodeType":"UserDefinedTypeName","pathNode":{"id":48090,"name":"IX2EarnApps","nameLocations":["4439:11:88"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"4439:11:88"},"referencedDeclaration":69989,"src":"4439:11:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":48095,"mutability":"mutable","name":"initialEmissions","nameLocation":"4485:16:88","nodeType":"VariableDeclaration","scope":48128,"src":"4474:27:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":48094,"nodeType":"UserDefinedTypeName","pathNode":{"id":48093,"name":"IEmissions","nameLocations":["4474:10:88"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"4474:10:88"},"referencedDeclaration":64454,"src":"4474:10:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":48098,"mutability":"mutable","name":"initialVoterRewards","nameLocation":"4521:19:88","nodeType":"VariableDeclaration","scope":48128,"src":"4507:33:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":48097,"nodeType":"UserDefinedTypeName","pathNode":{"id":48096,"name":"IVoterRewards","nameLocations":["4507:13:88"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"4507:13:88"},"referencedDeclaration":69092,"src":"4507:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"4433:111:88"},"returnParameters":{"id":48102,"nodeType":"ParameterList","parameters":[],"src":"4571:0:88"},"scope":48514,"src":"4390:378:88","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[47032],"body":{"id":48145,"nodeType":"Block","src":"4924:104:88","statements":[{"assignments":[48138],"declarations":[{"constant":false,"id":48138,"mutability":"mutable","name":"$","nameLocation":"4963:1:88","nodeType":"VariableDeclaration","scope":48145,"src":"4930:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48137,"nodeType":"UserDefinedTypeName","pathNode":{"id":48136,"name":"ExternalContractsStorage","nameLocations":["4930:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"4930:24:88"},"referencedDeclaration":48020,"src":"4930:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48141,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48139,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"4967:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4967:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4930:67:88"},{"expression":{"expression":{"id":48142,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48138,"src":"5010:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5012:11:88","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":48004,"src":"5010:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"functionReturnParameters":48135,"id":48144,"nodeType":"Return","src":"5003:20:88"}]},"documentation":{"id":48129,"nodeType":"StructuredDocumentation","src":"4804:44:88","text":" @dev The X2EarnApps contract."},"functionSelector":"33653f5d","id":48146,"implemented":true,"kind":"function","modifiers":[],"name":"x2EarnApps","nameLocation":"4860:10:88","nodeType":"FunctionDefinition","overrides":{"id":48131,"nodeType":"OverrideSpecifier","overrides":[],"src":"4893:8:88"},"parameters":{"id":48130,"nodeType":"ParameterList","parameters":[],"src":"4870:2:88"},"returnParameters":{"id":48135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48146,"src":"4911:11:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":48133,"nodeType":"UserDefinedTypeName","pathNode":{"id":48132,"name":"IX2EarnApps","nameLocations":["4911:11:88"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"4911:11:88"},"referencedDeclaration":69989,"src":"4911:11:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"4910:13:88"},"scope":48514,"src":"4851:177:88","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[47046],"body":{"id":48163,"nodeType":"Block","src":"5141:103:88","statements":[{"assignments":[48156],"declarations":[{"constant":false,"id":48156,"mutability":"mutable","name":"$","nameLocation":"5180:1:88","nodeType":"VariableDeclaration","scope":48163,"src":"5147:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48155,"nodeType":"UserDefinedTypeName","pathNode":{"id":48154,"name":"ExternalContractsStorage","nameLocations":["5147:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"5147:24:88"},"referencedDeclaration":48020,"src":"5147:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48159,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48157,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"5184:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5184:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5147:67:88"},{"expression":{"expression":{"id":48160,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48156,"src":"5227:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5229:10:88","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":48007,"src":"5227:12:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"functionReturnParameters":48153,"id":48162,"nodeType":"Return","src":"5220:19:88"}]},"documentation":{"id":48147,"nodeType":"StructuredDocumentation","src":"5032:43:88","text":" @dev The emissions contract."},"functionSelector":"2267716c","id":48164,"implemented":true,"kind":"function","modifiers":[],"name":"emissions","nameLocation":"5087:9:88","nodeType":"FunctionDefinition","overrides":{"id":48149,"nodeType":"OverrideSpecifier","overrides":[],"src":"5111:8:88"},"parameters":{"id":48148,"nodeType":"ParameterList","parameters":[],"src":"5096:2:88"},"returnParameters":{"id":48153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48152,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48164,"src":"5129:10:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":48151,"nodeType":"UserDefinedTypeName","pathNode":{"id":48150,"name":"IEmissions","nameLocations":["5129:10:88"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"5129:10:88"},"referencedDeclaration":64454,"src":"5129:10:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"5128:12:88"},"scope":48514,"src":"5078:166:88","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[47053],"body":{"id":48181,"nodeType":"Block","src":"5370:106:88","statements":[{"assignments":[48174],"declarations":[{"constant":false,"id":48174,"mutability":"mutable","name":"$","nameLocation":"5409:1:88","nodeType":"VariableDeclaration","scope":48181,"src":"5376:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48173,"nodeType":"UserDefinedTypeName","pathNode":{"id":48172,"name":"ExternalContractsStorage","nameLocations":["5376:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"5376:24:88"},"referencedDeclaration":48020,"src":"5376:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48177,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48175,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"5413:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5413:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5376:67:88"},{"expression":{"expression":{"id":48178,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48174,"src":"5456:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5458:13:88","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":48010,"src":"5456:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"functionReturnParameters":48171,"id":48180,"nodeType":"Return","src":"5449:22:88"}]},"documentation":{"id":48165,"nodeType":"StructuredDocumentation","src":"5248:50:88","text":" @dev Get the voter rewards contract"},"functionSelector":"a3844e11","id":48182,"implemented":true,"kind":"function","modifiers":[],"name":"voterRewards","nameLocation":"5310:12:88","nodeType":"FunctionDefinition","overrides":{"id":48167,"nodeType":"OverrideSpecifier","overrides":[],"src":"5337:8:88"},"parameters":{"id":48166,"nodeType":"ParameterList","parameters":[],"src":"5322:2:88"},"returnParameters":{"id":48171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48170,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48182,"src":"5355:13:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":48169,"nodeType":"UserDefinedTypeName","pathNode":{"id":48168,"name":"IVoterRewards","nameLocations":["5355:13:88"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"5355:13:88"},"referencedDeclaration":69092,"src":"5355:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"5354:15:88"},"scope":48514,"src":"5301:175:88","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[47039],"body":{"id":48198,"nodeType":"Block","src":"5557:110:88","statements":[{"assignments":[48191],"declarations":[{"constant":false,"id":48191,"mutability":"mutable","name":"$","nameLocation":"5596:1:88","nodeType":"VariableDeclaration","scope":48198,"src":"5563:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48190,"nodeType":"UserDefinedTypeName","pathNode":{"id":48189,"name":"ExternalContractsStorage","nameLocations":["5563:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"5563:24:88"},"referencedDeclaration":48020,"src":"5563:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48194,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48192,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"5600:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5600:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5563:67:88"},{"expression":{"expression":{"id":48195,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48191,"src":"5643:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5645:17:88","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":48013,"src":"5643:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"functionReturnParameters":48188,"id":48197,"nodeType":"Return","src":"5636:26:88"}]},"functionSelector":"0050ea6f","id":48199,"implemented":true,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"5489:16:88","nodeType":"FunctionDefinition","overrides":{"id":48184,"nodeType":"OverrideSpecifier","overrides":[],"src":"5520:8:88"},"parameters":{"id":48183,"nodeType":"ParameterList","parameters":[],"src":"5505:2:88"},"returnParameters":{"id":48188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48199,"src":"5538:17:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":48186,"nodeType":"UserDefinedTypeName","pathNode":{"id":48185,"name":"IVeBetterPassport","nameLocations":["5538:17:88"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"5538:17:88"},"referencedDeclaration":68601,"src":"5538:17:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"5537:19:88"},"scope":48514,"src":"5480:187:88","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[47060],"body":{"id":48216,"nodeType":"Block","src":"5792:106:88","statements":[{"assignments":[48209],"declarations":[{"constant":false,"id":48209,"mutability":"mutable","name":"$","nameLocation":"5831:1:88","nodeType":"VariableDeclaration","scope":48216,"src":"5798:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48208,"nodeType":"UserDefinedTypeName","pathNode":{"id":48207,"name":"ExternalContractsStorage","nameLocations":["5798:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"5798:24:88"},"referencedDeclaration":48020,"src":"5798:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48212,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48210,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"5835:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5835:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5798:67:88"},{"expression":{"expression":{"id":48213,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48209,"src":"5878:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5880:13:88","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":48016,"src":"5878:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"functionReturnParameters":48206,"id":48215,"nodeType":"Return","src":"5871:22:88"}]},"documentation":{"id":48200,"nodeType":"StructuredDocumentation","src":"5671:49:88","text":" @dev Get the B3TRGovernor contract"},"functionSelector":"7893d736","id":48217,"implemented":true,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"5732:12:88","nodeType":"FunctionDefinition","overrides":{"id":48202,"nodeType":"OverrideSpecifier","overrides":[],"src":"5759:8:88"},"parameters":{"id":48201,"nodeType":"ParameterList","parameters":[],"src":"5744:2:88"},"returnParameters":{"id":48206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48205,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48217,"src":"5777:13:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":48204,"nodeType":"UserDefinedTypeName","pathNode":{"id":48203,"name":"IB3TRGovernor","nameLocations":["5777:13:88"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"5777:13:88"},"referencedDeclaration":63919,"src":"5777:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"5776:15:88"},"scope":48514,"src":"5723:175:88","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[47085],"body":{"id":48234,"nodeType":"Block","src":"6041:112:88","statements":[{"assignments":[48227],"declarations":[{"constant":false,"id":48227,"mutability":"mutable","name":"$","nameLocation":"6080:1:88","nodeType":"VariableDeclaration","scope":48234,"src":"6047:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48226,"nodeType":"UserDefinedTypeName","pathNode":{"id":48225,"name":"ExternalContractsStorage","nameLocations":["6047:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"6047:24:88"},"referencedDeclaration":48020,"src":"6047:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48230,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48228,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"6084:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6084:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6047:67:88"},{"expression":{"expression":{"id":48231,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48227,"src":"6127:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48232,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6129:19:88","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":48019,"src":"6127:21:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"functionReturnParameters":48224,"id":48233,"nodeType":"Return","src":"6120:28:88"}]},"documentation":{"id":48218,"nodeType":"StructuredDocumentation","src":"5902:55:88","text":" @dev Get the RelayerRewardsPool contract"},"functionSelector":"6e8a1823","id":48235,"implemented":true,"kind":"function","modifiers":[],"name":"relayerRewardsPool","nameLocation":"5969:18:88","nodeType":"FunctionDefinition","overrides":{"id":48220,"nodeType":"OverrideSpecifier","overrides":[],"src":"6002:8:88"},"parameters":{"id":48219,"nodeType":"ParameterList","parameters":[],"src":"5987:2:88"},"returnParameters":{"id":48224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48235,"src":"6020:19:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":48222,"nodeType":"UserDefinedTypeName","pathNode":{"id":48221,"name":"IRelayerRewardsPool","nameLocations":["6020:19:88"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"6020:19:88"},"referencedDeclaration":67117,"src":"6020:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"6019:21:88"},"scope":48514,"src":"5960:193:88","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":48282,"nodeType":"Block","src":"6369:300:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48244,"name":"newEmisionsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48239,"src":"6387:18:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":48243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6379:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48242,"name":"address","nodeType":"ElementaryTypeName","src":"6379:7:88","typeDescriptions":{}}},"id":48245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6379:27:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":48248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6418:1:88","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":48247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6410:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48246,"name":"address","nodeType":"ElementaryTypeName","src":"6410:7:88","typeDescriptions":{}}},"id":48249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6410:10:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6379:41:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48255,"nodeType":"IfStatement","src":"6375:89:88","trueBody":{"errorCall":{"arguments":[{"hexValue":"656d697373696f6e73","id":48252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6452:11:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3","typeString":"literal_string \"emissions\""},"value":"emissions"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3","typeString":"literal_string \"emissions\""}],"id":48251,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45808,"src":"6429:22:88","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":48253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6429:35:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48254,"nodeType":"RevertStatement","src":"6422:42:88"}},{"assignments":[48258],"declarations":[{"constant":false,"id":48258,"mutability":"mutable","name":"$","nameLocation":"6504:1:88","nodeType":"VariableDeclaration","scope":48282,"src":"6471:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48257,"nodeType":"UserDefinedTypeName","pathNode":{"id":48256,"name":"ExternalContractsStorage","nameLocations":["6471:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"6471:24:88"},"referencedDeclaration":48020,"src":"6471:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48261,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48259,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"6508:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6508:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6471:67:88"},{"expression":{"id":48268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48262,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48258,"src":"6544:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6546:10:88","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":48007,"src":"6544:12:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48266,"name":"newEmisionsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48239,"src":"6570:18:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":48265,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"6559:10:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IEmissions_$64454_$","typeString":"type(contract IEmissions)"}},"id":48267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6559:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"6544:45:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":48269,"nodeType":"ExpressionStatement","src":"6544:45:88"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":48273,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48258,"src":"6621:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48274,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6623:10:88","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":48007,"src":"6621:12:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":48272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6613:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48271,"name":"address","nodeType":"ElementaryTypeName","src":"6613:7:88","typeDescriptions":{}}},"id":48275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6613:21:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":48278,"name":"newEmisionsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48239,"src":"6644:18:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":48277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6636:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48276,"name":"address","nodeType":"ElementaryTypeName","src":"6636:7:88","typeDescriptions":{}}},"id":48279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6636:27:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":48270,"name":"EmissionsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48037,"src":"6600:12:88","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":48280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6600:64:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48281,"nodeType":"EmitStatement","src":"6595:69:88"}]},"documentation":{"id":48236,"nodeType":"StructuredDocumentation","src":"6201:94:88","text":" @dev Sets the emissions contract.\n Emits a {EmissionContractSet} event"},"id":48283,"implemented":true,"kind":"function","modifiers":[],"name":"_setEmissions","nameLocation":"6307:13:88","nodeType":"FunctionDefinition","parameters":{"id":48240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48239,"mutability":"mutable","name":"newEmisionsAddress","nameLocation":"6332:18:88","nodeType":"VariableDeclaration","scope":48283,"src":"6321:29:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":48238,"nodeType":"UserDefinedTypeName","pathNode":{"id":48237,"name":"IEmissions","nameLocations":["6321:10:88"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"6321:10:88"},"referencedDeclaration":64454,"src":"6321:10:88","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"6320:31:88"},"returnParameters":{"id":48241,"nodeType":"ParameterList","parameters":[],"src":"6369:0:88"},"scope":48514,"src":"6298:371:88","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":48328,"nodeType":"Block","src":"6894:278:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48292,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48287,"src":"6912:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":48291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6904:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48290,"name":"address","nodeType":"ElementaryTypeName","src":"6904:7:88","typeDescriptions":{}}},"id":48293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6904:22:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":48296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6938:1:88","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":48295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6930:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48294,"name":"address","nodeType":"ElementaryTypeName","src":"6930:7:88","typeDescriptions":{}}},"id":48297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6930:10:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6904:36:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48303,"nodeType":"IfStatement","src":"6900:85:88","trueBody":{"errorCall":{"arguments":[{"hexValue":"58324561726e41707073","id":48300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6972:12:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2","typeString":"literal_string \"X2EarnApps\""},"value":"X2EarnApps"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2","typeString":"literal_string \"X2EarnApps\""}],"id":48299,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45808,"src":"6949:22:88","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":48301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6949:36:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48302,"nodeType":"RevertStatement","src":"6942:43:88"}},{"assignments":[48306],"declarations":[{"constant":false,"id":48306,"mutability":"mutable","name":"$","nameLocation":"7025:1:88","nodeType":"VariableDeclaration","scope":48328,"src":"6992:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48305,"nodeType":"UserDefinedTypeName","pathNode":{"id":48304,"name":"ExternalContractsStorage","nameLocations":["6992:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"6992:24:88"},"referencedDeclaration":48020,"src":"6992:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48309,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48307,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"7029:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7029:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6992:67:88"},{"expression":{"id":48314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48310,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48306,"src":"7066:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7068:11:88","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":48004,"src":"7066:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48313,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48287,"src":"7082:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"src":"7066:29:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":48315,"nodeType":"ExpressionStatement","src":"7066:29:88"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":48319,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48306,"src":"7128:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48320,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7130:11:88","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":48004,"src":"7128:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":48318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7120:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48317,"name":"address","nodeType":"ElementaryTypeName","src":"7120:7:88","typeDescriptions":{}}},"id":48321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7120:22:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":48324,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48287,"src":"7152:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":48323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7144:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48322,"name":"address","nodeType":"ElementaryTypeName","src":"7144:7:88","typeDescriptions":{}}},"id":48325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7144:22:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":48316,"name":"X2EarnAppsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48043,"src":"7106:13:88","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":48326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7106:61:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48327,"nodeType":"EmitStatement","src":"7101:66:88"}]},"documentation":{"id":48284,"nodeType":"StructuredDocumentation","src":"6673:150:88","text":" @dev Sets the X2EarnApps contract\n @param newX2EarnApps The new X2EarnApps contract address\n Emits a {X2EarnAppsSet} event"},"id":48329,"implemented":true,"kind":"function","modifiers":[],"name":"_setX2EarnApps","nameLocation":"6835:14:88","nodeType":"FunctionDefinition","parameters":{"id":48288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48287,"mutability":"mutable","name":"newX2EarnApps","nameLocation":"6862:13:88","nodeType":"VariableDeclaration","scope":48329,"src":"6850:25:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":48286,"nodeType":"UserDefinedTypeName","pathNode":{"id":48285,"name":"IX2EarnApps","nameLocations":["6850:11:88"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"6850:11:88"},"referencedDeclaration":69989,"src":"6850:11:88","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"6849:27:88"},"returnParameters":{"id":48289,"nodeType":"ParameterList","parameters":[],"src":"6894:0:88"},"scope":48514,"src":"6826:346:88","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":48374,"nodeType":"Block","src":"7371:293:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48338,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48333,"src":"7389:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":48337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7381:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48336,"name":"address","nodeType":"ElementaryTypeName","src":"7381:7:88","typeDescriptions":{}}},"id":48339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7381:24:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":48342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7417:1:88","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":48341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7409:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48340,"name":"address","nodeType":"ElementaryTypeName","src":"7409:7:88","typeDescriptions":{}}},"id":48343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7409:10:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7381:38:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48349,"nodeType":"IfStatement","src":"7377:90:88","trueBody":{"errorCall":{"arguments":[{"hexValue":"766f7465722072657761726473","id":48346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7451:15:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677","typeString":"literal_string \"voter rewards\""},"value":"voter rewards"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677","typeString":"literal_string \"voter rewards\""}],"id":48345,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45808,"src":"7428:22:88","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":48347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7428:39:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48348,"nodeType":"RevertStatement","src":"7421:46:88"}},{"assignments":[48352],"declarations":[{"constant":false,"id":48352,"mutability":"mutable","name":"$","nameLocation":"7507:1:88","nodeType":"VariableDeclaration","scope":48374,"src":"7474:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48351,"nodeType":"UserDefinedTypeName","pathNode":{"id":48350,"name":"ExternalContractsStorage","nameLocations":["7474:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"7474:24:88"},"referencedDeclaration":48020,"src":"7474:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48355,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48353,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"7511:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7511:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7474:67:88"},{"expression":{"id":48360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48356,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48352,"src":"7548:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7550:13:88","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":48010,"src":"7548:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48359,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48333,"src":"7566:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"src":"7548:33:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":48361,"nodeType":"ExpressionStatement","src":"7548:33:88"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":48365,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48352,"src":"7616:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7618:13:88","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":48010,"src":"7616:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":48364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7608:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48363,"name":"address","nodeType":"ElementaryTypeName","src":"7608:7:88","typeDescriptions":{}}},"id":48367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7608:24:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":48370,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48333,"src":"7642:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":48369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7634:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48368,"name":"address","nodeType":"ElementaryTypeName","src":"7634:7:88","typeDescriptions":{}}},"id":48371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7634:24:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":48362,"name":"VoterRewardsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48049,"src":"7592:15:88","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":48372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7592:67:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48373,"nodeType":"EmitStatement","src":"7587:72:88"}]},"documentation":{"id":48330,"nodeType":"StructuredDocumentation","src":"7176:118:88","text":" @dev Sets the voter rewards contract\n @param newVoterRewards The new voter rewards contract address"},"id":48375,"implemented":true,"kind":"function","modifiers":[],"name":"_setVoterRewards","nameLocation":"7306:16:88","nodeType":"FunctionDefinition","parameters":{"id":48334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48333,"mutability":"mutable","name":"newVoterRewards","nameLocation":"7337:15:88","nodeType":"VariableDeclaration","scope":48375,"src":"7323:29:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":48332,"nodeType":"UserDefinedTypeName","pathNode":{"id":48331,"name":"IVoterRewards","nameLocations":["7323:13:88"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"7323:13:88"},"referencedDeclaration":69092,"src":"7323:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"7322:31:88"},"returnParameters":{"id":48335,"nodeType":"ParameterList","parameters":[],"src":"7371:0:88"},"scope":48514,"src":"7297:367:88","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":48420,"nodeType":"Block","src":"7885:320:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48384,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48379,"src":"7903:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":48383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7895:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48382,"name":"address","nodeType":"ElementaryTypeName","src":"7895:7:88","typeDescriptions":{}}},"id":48385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7895:28:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":48388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7935:1:88","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":48387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7927:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48386,"name":"address","nodeType":"ElementaryTypeName","src":"7927:7:88","typeDescriptions":{}}},"id":48389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7927:10:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7895:42:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48395,"nodeType":"IfStatement","src":"7891:97:88","trueBody":{"errorCall":{"arguments":[{"hexValue":"566542657474657250617373706f7274","id":48392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7969:18:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84","typeString":"literal_string \"VeBetterPassport\""},"value":"VeBetterPassport"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84","typeString":"literal_string \"VeBetterPassport\""}],"id":48391,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45808,"src":"7946:22:88","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":48393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7946:42:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48394,"nodeType":"RevertStatement","src":"7939:49:88"}},{"assignments":[48398],"declarations":[{"constant":false,"id":48398,"mutability":"mutable","name":"$","nameLocation":"8028:1:88","nodeType":"VariableDeclaration","scope":48420,"src":"7995:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48397,"nodeType":"UserDefinedTypeName","pathNode":{"id":48396,"name":"ExternalContractsStorage","nameLocations":["7995:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"7995:24:88"},"referencedDeclaration":48020,"src":"7995:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48401,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48399,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"8032:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8032:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7995:67:88"},{"expression":{"id":48406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48402,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48398,"src":"8069:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8071:17:88","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":48013,"src":"8069:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48405,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48379,"src":"8091:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"src":"8069:41:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":48407,"nodeType":"ExpressionStatement","src":"8069:41:88"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":48411,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48398,"src":"8149:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8151:17:88","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":48013,"src":"8149:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":48410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8141:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48409,"name":"address","nodeType":"ElementaryTypeName","src":"8141:7:88","typeDescriptions":{}}},"id":48413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8141:28:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":48416,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48379,"src":"8179:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":48415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8171:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48414,"name":"address","nodeType":"ElementaryTypeName","src":"8171:7:88","typeDescriptions":{}}},"id":48417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8171:28:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":48408,"name":"VeBetterPassportSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48055,"src":"8121:19:88","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":48418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8121:79:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48419,"nodeType":"EmitStatement","src":"8116:84:88"}]},"documentation":{"id":48376,"nodeType":"StructuredDocumentation","src":"7668:128:88","text":" @dev Sets the VeBetterPassport contract\n @param newVeBetterPassport The new VeBetterPassport contract address"},"id":48421,"implemented":true,"kind":"function","modifiers":[],"name":"_setVeBetterPassport","nameLocation":"7808:20:88","nodeType":"FunctionDefinition","parameters":{"id":48380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48379,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"7847:19:88","nodeType":"VariableDeclaration","scope":48421,"src":"7829:37:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":48378,"nodeType":"UserDefinedTypeName","pathNode":{"id":48377,"name":"IVeBetterPassport","nameLocations":["7829:17:88"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"7829:17:88"},"referencedDeclaration":68601,"src":"7829:17:88","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"7828:39:88"},"returnParameters":{"id":48381,"nodeType":"ParameterList","parameters":[],"src":"7885:0:88"},"scope":48514,"src":"7799:406:88","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":48466,"nodeType":"Block","src":"8402:292:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48430,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48425,"src":"8420:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":48429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8412:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48428,"name":"address","nodeType":"ElementaryTypeName","src":"8412:7:88","typeDescriptions":{}}},"id":48431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8412:24:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":48434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8448:1:88","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":48433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8440:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48432,"name":"address","nodeType":"ElementaryTypeName","src":"8440:7:88","typeDescriptions":{}}},"id":48435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8440:10:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8412:38:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48441,"nodeType":"IfStatement","src":"8408:89:88","trueBody":{"errorCall":{"arguments":[{"hexValue":"42335452476f7665726e6f72","id":48438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8482:14:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea","typeString":"literal_string \"B3TRGovernor\""},"value":"B3TRGovernor"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea","typeString":"literal_string \"B3TRGovernor\""}],"id":48437,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45808,"src":"8459:22:88","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":48439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8459:38:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48440,"nodeType":"RevertStatement","src":"8452:45:88"}},{"assignments":[48444],"declarations":[{"constant":false,"id":48444,"mutability":"mutable","name":"$","nameLocation":"8537:1:88","nodeType":"VariableDeclaration","scope":48466,"src":"8504:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48443,"nodeType":"UserDefinedTypeName","pathNode":{"id":48442,"name":"ExternalContractsStorage","nameLocations":["8504:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"8504:24:88"},"referencedDeclaration":48020,"src":"8504:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48447,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48445,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"8541:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8541:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8504:67:88"},{"expression":{"id":48452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48448,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48444,"src":"8578:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8580:13:88","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":48016,"src":"8578:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48451,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48425,"src":"8596:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"8578:33:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":48453,"nodeType":"ExpressionStatement","src":"8578:33:88"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":48457,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48444,"src":"8646:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8648:13:88","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":48016,"src":"8646:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":48456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8638:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48455,"name":"address","nodeType":"ElementaryTypeName","src":"8638:7:88","typeDescriptions":{}}},"id":48459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8638:24:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":48462,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48425,"src":"8672:15:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":48461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8664:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48460,"name":"address","nodeType":"ElementaryTypeName","src":"8664:7:88","typeDescriptions":{}}},"id":48463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8664:24:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":48454,"name":"B3TRGovernorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48067,"src":"8622:15:88","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":48464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8622:67:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48465,"nodeType":"EmitStatement","src":"8617:72:88"}]},"documentation":{"id":48422,"nodeType":"StructuredDocumentation","src":"8209:116:88","text":" @dev Sets the B3TRGovernor contract\n @param newB3TRGovernor The new B3TRGovernor contract address"},"id":48467,"implemented":true,"kind":"function","modifiers":[],"name":"_setB3TRGovernor","nameLocation":"8337:16:88","nodeType":"FunctionDefinition","parameters":{"id":48426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48425,"mutability":"mutable","name":"newB3TRGovernor","nameLocation":"8368:15:88","nodeType":"VariableDeclaration","scope":48467,"src":"8354:29:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":48424,"nodeType":"UserDefinedTypeName","pathNode":{"id":48423,"name":"IB3TRGovernor","nameLocations":["8354:13:88"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"8354:13:88"},"referencedDeclaration":63919,"src":"8354:13:88","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"8353:31:88"},"returnParameters":{"id":48427,"nodeType":"ParameterList","parameters":[],"src":"8402:0:88"},"scope":48514,"src":"8328:366:88","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":48512,"nodeType":"Block","src":"8927:334:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48476,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48471,"src":"8945:21:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":48475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8937:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48474,"name":"address","nodeType":"ElementaryTypeName","src":"8937:7:88","typeDescriptions":{}}},"id":48477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8937:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":48480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8979:1:88","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":48479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8971:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48478,"name":"address","nodeType":"ElementaryTypeName","src":"8971:7:88","typeDescriptions":{}}},"id":48481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8971:10:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8937:44:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48487,"nodeType":"IfStatement","src":"8933:101:88","trueBody":{"errorCall":{"arguments":[{"hexValue":"52656c6179657252657761726473506f6f6c","id":48484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9013:20:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c","typeString":"literal_string \"RelayerRewardsPool\""},"value":"RelayerRewardsPool"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c","typeString":"literal_string \"RelayerRewardsPool\""}],"id":48483,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45808,"src":"8990:22:88","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":48485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8990:44:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48486,"nodeType":"RevertStatement","src":"8983:51:88"}},{"assignments":[48490],"declarations":[{"constant":false,"id":48490,"mutability":"mutable","name":"$","nameLocation":"9074:1:88","nodeType":"VariableDeclaration","scope":48512,"src":"9041:34:88","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"},"typeName":{"id":48489,"nodeType":"UserDefinedTypeName","pathNode":{"id":48488,"name":"ExternalContractsStorage","nameLocations":["9041:24:88"],"nodeType":"IdentifierPath","referencedDeclaration":48020,"src":"9041:24:88"},"referencedDeclaration":48020,"src":"9041:24:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage"}},"visibility":"internal"}],"id":48493,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48491,"name":"_getExternalContractsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48031,"src":"9078:28:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$48020_storage_ptr_$","typeString":"function () pure returns (struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer)"}},"id":48492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9078:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9041:67:88"},{"expression":{"id":48498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48494,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48490,"src":"9114:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9116:19:88","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":48019,"src":"9114:21:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48497,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48471,"src":"9138:21:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"src":"9114:45:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":48499,"nodeType":"ExpressionStatement","src":"9114:45:88"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":48503,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48490,"src":"9201:1:88","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$48020_storage_ptr","typeString":"struct ExternalContractsUpgradeableV8.ExternalContractsStorage storage pointer"}},"id":48504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9203:19:88","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":48019,"src":"9201:21:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":48502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9193:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48501,"name":"address","nodeType":"ElementaryTypeName","src":"9193:7:88","typeDescriptions":{}}},"id":48505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9193:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":48508,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48471,"src":"9233:21:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":48507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9225:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48506,"name":"address","nodeType":"ElementaryTypeName","src":"9225:7:88","typeDescriptions":{}}},"id":48509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9225:30:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":48500,"name":"RelayerRewardsPoolSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48061,"src":"9171:21:88","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":48510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9171:85:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48511,"nodeType":"EmitStatement","src":"9166:90:88"}]},"documentation":{"id":48468,"nodeType":"StructuredDocumentation","src":"8698:134:88","text":" @dev Sets the RelayerRewardsPool contract\n @param newRelayerRewardsPool The new RelayerRewardsPool contract address"},"id":48513,"implemented":true,"kind":"function","modifiers":[],"name":"_setRelayerRewardsPool","nameLocation":"8844:22:88","nodeType":"FunctionDefinition","parameters":{"id":48472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48471,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"8887:21:88","nodeType":"VariableDeclaration","scope":48513,"src":"8867:41:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":48470,"nodeType":"UserDefinedTypeName","pathNode":{"id":48469,"name":"IRelayerRewardsPool","nameLocations":["8867:19:88"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"8867:19:88"},"referencedDeclaration":67117,"src":"8867:19:88","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"8866:43:88"},"returnParameters":{"id":48473,"nodeType":"ParameterList","parameters":[],"src":"8927:0:88"},"scope":48514,"src":"8835:426:88","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":48515,"src":"2141:7122:88","usedErrors":[1495,1498,7025,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813],"usedEvents":[1503,45826,45840,45853,45866,45873,45881,48037,48043,48049,48055,48061,48067]}],"src":"1195:8069:88"},"id":88},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol","exportedSymbols":{"Initializable":[1732],"RoundEarningsSettingsUpgradeableV8":[48753],"XAllocationVotingGovernor":[47146]},"id":48754,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":48516,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:89"},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":48518,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48754,"sourceUnit":1733,"src":"1220:98:89","symbolAliases":[{"foreign":{"id":48517,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1229:13:89","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","file":"../XAllocationVotingGovernorV8.sol","id":48520,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48754,"sourceUnit":47147,"src":"1319:110:89","symbolAliases":[{"foreign":{"id":48519,"name":"XAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47146,"src":"1328:27:89","typeDescriptions":{}},"local":"XAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":48522,"name":"Initializable","nameLocations":["1960:13:89"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1960:13:89"},"id":48523,"nodeType":"InheritanceSpecifier","src":"1960:13:89"},{"baseName":{"id":48524,"name":"XAllocationVotingGovernor","nameLocations":["1975:25:89"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"1975:25:89"},"id":48525,"nodeType":"InheritanceSpecifier","src":"1975:25:89"}],"canonicalName":"RoundEarningsSettingsUpgradeableV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":48521,"nodeType":"StructuredDocumentation","src":"1431:472:89","text":" @title RoundEarningsSettingsUpgradeable\n @notice Extension of {XAllocationVotingGovernor} to handle the settings for the x-allocation earnings calculations:\n - baseAllocationPercentage: The base allocation percentage to be divided among the x-apps each round\n - appSharesCap: The maximum percentage of shares an x-app can reach in each round\n Since the base allocation percentage and app shares cap can be updated, we store the values for each round."},"fullyImplemented":false,"id":48753,"linearizedBaseContracts":[48753,47146,46200,4552,4332,5961,3987,1732],"name":"RoundEarningsSettingsUpgradeableV8","nameLocation":"1922:34:89","nodeType":"ContractDefinition","nodes":[{"canonicalName":"RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage","documentation":{"id":48526,"nodeType":"StructuredDocumentation","src":"2005:99:89","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.RoundEarningsSettings"},"id":48539,"members":[{"constant":false,"id":48528,"mutability":"mutable","name":"baseAllocationPercentage","nameLocation":"2152:24:89","nodeType":"VariableDeclaration","scope":48539,"src":"2144:32:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48527,"name":"uint256","nodeType":"ElementaryTypeName","src":"2144:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48530,"mutability":"mutable","name":"appSharesCap","nameLocation":"2190:12:89","nodeType":"VariableDeclaration","scope":48539,"src":"2182:20:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48529,"name":"uint256","nodeType":"ElementaryTypeName","src":"2182:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48534,"mutability":"mutable","name":"_roundBaseAllocationPercentage","nameLocation":"2244:30:89","nodeType":"VariableDeclaration","scope":48539,"src":"2208:66:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":48533,"keyName":"roundId","keyNameLocation":"2224:7:89","keyType":{"id":48531,"name":"uint256","nodeType":"ElementaryTypeName","src":"2216:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2208:35:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":48532,"name":"uint256","nodeType":"ElementaryTypeName","src":"2235:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":48538,"mutability":"mutable","name":"_roundAppSharesCap","nameLocation":"2316:18:89","nodeType":"VariableDeclaration","scope":48539,"src":"2280:54:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":48537,"keyName":"roundId","keyNameLocation":"2296:7:89","keyType":{"id":48535,"name":"uint256","nodeType":"ElementaryTypeName","src":"2288:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2280:35:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":48536,"name":"uint256","nodeType":"ElementaryTypeName","src":"2307:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"EarningsSettingsStorage","nameLocation":"2114:23:89","nodeType":"StructDefinition","scope":48753,"src":"2107:232:89","visibility":"public"},{"constant":true,"id":48542,"mutability":"constant","name":"EarningsSettingsStorageLocation","nameLocation":"2511:31:89","nodeType":"VariableDeclaration","scope":48753,"src":"2486:129:89","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2486:7:89","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307863373464623465313931343130633761366331386631343638346531323138623565383763343439643066383161623437653863363762663937316333353030","id":48541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2549:66:89","typeDescriptions":{"typeIdentifier":"t_rational_90147552487685411082755859645775835527521746310334070795643373317980065379584_by_1","typeString":"int_const 9014...(69 digits omitted)...9584"},"value":"0xc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c3500"},"visibility":"private"},{"body":{"id":48549,"nodeType":"Block","src":"2717:74:89","statements":[{"AST":{"nodeType":"YulBlock","src":"2732:55:89","statements":[{"nodeType":"YulAssignment","src":"2740:41:89","value":{"name":"EarningsSettingsStorageLocation","nodeType":"YulIdentifier","src":"2750:31:89"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2740:6:89"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":48546,"isOffset":false,"isSlot":true,"src":"2740:6:89","suffix":"slot","valueSize":1},{"declaration":48542,"isOffset":false,"isSlot":false,"src":"2750:31:89","valueSize":1}],"id":48548,"nodeType":"InlineAssembly","src":"2723:64:89"}]},"id":48550,"implemented":true,"kind":"function","modifiers":[],"name":"_getEarningsSettingsStorage","nameLocation":"2629:27:89","nodeType":"FunctionDefinition","parameters":{"id":48543,"nodeType":"ParameterList","parameters":[],"src":"2656:2:89"},"returnParameters":{"id":48547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48546,"mutability":"mutable","name":"$","nameLocation":"2714:1:89","nodeType":"VariableDeclaration","scope":48550,"src":"2682:33:89","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"},"typeName":{"id":48545,"nodeType":"UserDefinedTypeName","pathNode":{"id":48544,"name":"EarningsSettingsStorage","nameLocations":["2682:23:89"],"nodeType":"IdentifierPath","referencedDeclaration":48539,"src":"2682:23:89"},"referencedDeclaration":48539,"src":"2682:23:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"}},"visibility":"internal"}],"src":"2681:35:89"},"scope":48753,"src":"2620:171:89","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48565,"nodeType":"Block","src":"3175:103:89","statements":[{"expression":{"arguments":[{"id":48561,"name":"initialBaseAllocationPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48553,"src":"3220:31:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48562,"name":"initialAppSharesCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48555,"src":"3253:19:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48560,"name":"__RoundEarningsSettings_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48584,"src":"3181:38:89","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":48563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3181:92:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48564,"nodeType":"ExpressionStatement","src":"3181:92:89"}]},"documentation":{"id":48551,"nodeType":"StructuredDocumentation","src":"2841:185:89","text":" @dev Initialize the contract\n @param initialBaseAllocationPercentage The initial base allocation percentage\n @param initialAppSharesCap The initial app shares cap"},"id":48566,"implemented":true,"kind":"function","modifiers":[{"id":48558,"kind":"modifierInvocation","modifierName":{"id":48557,"name":"onlyInitializing","nameLocations":["3158:16:89"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3158:16:89"},"nodeType":"ModifierInvocation","src":"3158:16:89"}],"name":"__RoundEarningsSettings_init","nameLocation":"3038:28:89","nodeType":"FunctionDefinition","parameters":{"id":48556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48553,"mutability":"mutable","name":"initialBaseAllocationPercentage","nameLocation":"3080:31:89","nodeType":"VariableDeclaration","scope":48566,"src":"3072:39:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48552,"name":"uint256","nodeType":"ElementaryTypeName","src":"3072:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48555,"mutability":"mutable","name":"initialAppSharesCap","nameLocation":"3125:19:89","nodeType":"VariableDeclaration","scope":48566,"src":"3117:27:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48554,"name":"uint256","nodeType":"ElementaryTypeName","src":"3117:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3066:82:89"},"returnParameters":{"id":48559,"nodeType":"ParameterList","parameters":[],"src":"3175:0:89"},"scope":48753,"src":"3029:249:89","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48583,"nodeType":"Block","src":"3438:115:89","statements":[{"expression":{"arguments":[{"id":48576,"name":"initialBaseAllocationPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48568,"src":"3473:31:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48575,"name":"_setBaseAllocationPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48682,"src":"3444:28:89","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":48577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3444:61:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48578,"nodeType":"ExpressionStatement","src":"3444:61:89"},{"expression":{"arguments":[{"id":48580,"name":"initialAppSharesCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48570,"src":"3528:19:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48579,"name":"_setAppSharesCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48708,"src":"3511:16:89","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":48581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:37:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48582,"nodeType":"ExpressionStatement","src":"3511:37:89"}]},"id":48584,"implemented":true,"kind":"function","modifiers":[{"id":48573,"kind":"modifierInvocation","modifierName":{"id":48572,"name":"onlyInitializing","nameLocations":["3421:16:89"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3421:16:89"},"nodeType":"ModifierInvocation","src":"3421:16:89"}],"name":"__RoundEarningsSettings_init_unchained","nameLocation":"3291:38:89","nodeType":"FunctionDefinition","parameters":{"id":48571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48568,"mutability":"mutable","name":"initialBaseAllocationPercentage","nameLocation":"3343:31:89","nodeType":"VariableDeclaration","scope":48584,"src":"3335:39:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48567,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48570,"mutability":"mutable","name":"initialAppSharesCap","nameLocation":"3388:19:89","nodeType":"VariableDeclaration","scope":48584,"src":"3380:27:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48569,"name":"uint256","nodeType":"ElementaryTypeName","src":"3380:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3329:82:89"},"returnParameters":{"id":48574,"nodeType":"ParameterList","parameters":[],"src":"3438:0:89"},"scope":48753,"src":"3282:271:89","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48599,"nodeType":"Block","src":"3722:115:89","statements":[{"assignments":[48592],"declarations":[{"constant":false,"id":48592,"mutability":"mutable","name":"$","nameLocation":"3760:1:89","nodeType":"VariableDeclaration","scope":48599,"src":"3728:33:89","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"},"typeName":{"id":48591,"nodeType":"UserDefinedTypeName","pathNode":{"id":48590,"name":"EarningsSettingsStorage","nameLocations":["3728:23:89"],"nodeType":"IdentifierPath","referencedDeclaration":48539,"src":"3728:23:89"},"referencedDeclaration":48539,"src":"3728:23:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"}},"visibility":"internal"}],"id":48595,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48593,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48550,"src":"3764:27:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$48539_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer)"}},"id":48594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3764:29:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3728:65:89"},{"expression":{"expression":{"id":48596,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48592,"src":"3806:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3808:24:89","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":48528,"src":"3806:26:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48589,"id":48598,"nodeType":"Return","src":"3799:33:89"}]},"documentation":{"id":48585,"nodeType":"StructuredDocumentation","src":"3596:57:89","text":" @notice Get the base allocation percentage"},"functionSelector":"8ab52d4b","id":48600,"implemented":true,"kind":"function","modifiers":[],"name":"baseAllocationPercentage","nameLocation":"3665:24:89","nodeType":"FunctionDefinition","parameters":{"id":48586,"nodeType":"ParameterList","parameters":[],"src":"3689:2:89"},"returnParameters":{"id":48589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48588,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48600,"src":"3713:7:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48587,"name":"uint256","nodeType":"ElementaryTypeName","src":"3713:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3712:9:89"},"scope":48753,"src":"3656:181:89","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":48615,"nodeType":"Block","src":"3943:103:89","statements":[{"assignments":[48608],"declarations":[{"constant":false,"id":48608,"mutability":"mutable","name":"$","nameLocation":"3981:1:89","nodeType":"VariableDeclaration","scope":48615,"src":"3949:33:89","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"},"typeName":{"id":48607,"nodeType":"UserDefinedTypeName","pathNode":{"id":48606,"name":"EarningsSettingsStorage","nameLocations":["3949:23:89"],"nodeType":"IdentifierPath","referencedDeclaration":48539,"src":"3949:23:89"},"referencedDeclaration":48539,"src":"3949:23:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"}},"visibility":"internal"}],"id":48611,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48609,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48550,"src":"3985:27:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$48539_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer)"}},"id":48610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3985:29:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3949:65:89"},{"expression":{"expression":{"id":48612,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48608,"src":"4027:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4029:12:89","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":48530,"src":"4027:14:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48605,"id":48614,"nodeType":"Return","src":"4020:21:89"}]},"documentation":{"id":48601,"nodeType":"StructuredDocumentation","src":"3841:45:89","text":" @notice Get the app shares cap"},"functionSelector":"bb7de6d4","id":48616,"implemented":true,"kind":"function","modifiers":[],"name":"appSharesCap","nameLocation":"3898:12:89","nodeType":"FunctionDefinition","parameters":{"id":48602,"nodeType":"ParameterList","parameters":[],"src":"3910:2:89"},"returnParameters":{"id":48605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48616,"src":"3934:7:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48603,"name":"uint256","nodeType":"ElementaryTypeName","src":"3934:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3933:9:89"},"scope":48753,"src":"3889:157:89","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46155],"body":{"id":48635,"nodeType":"Block","src":"4213:130:89","statements":[{"assignments":[48626],"declarations":[{"constant":false,"id":48626,"mutability":"mutable","name":"$","nameLocation":"4251:1:89","nodeType":"VariableDeclaration","scope":48635,"src":"4219:33:89","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"},"typeName":{"id":48625,"nodeType":"UserDefinedTypeName","pathNode":{"id":48624,"name":"EarningsSettingsStorage","nameLocations":["4219:23:89"],"nodeType":"IdentifierPath","referencedDeclaration":48539,"src":"4219:23:89"},"referencedDeclaration":48539,"src":"4219:23:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"}},"visibility":"internal"}],"id":48629,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48627,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48550,"src":"4255:27:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$48539_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer)"}},"id":48628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4255:29:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4219:65:89"},{"expression":{"baseExpression":{"expression":{"id":48630,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48626,"src":"4297:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4299:30:89","memberName":"_roundBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":48534,"src":"4297:32:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":48633,"indexExpression":{"id":48632,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48619,"src":"4330:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4297:41:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48623,"id":48634,"nodeType":"Return","src":"4290:48:89"}]},"documentation":{"id":48617,"nodeType":"StructuredDocumentation","src":"4050:71:89","text":" Returns the base allocation percentage for a given round"},"functionSelector":"0eca87fb","id":48636,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundBaseAllocationPercentage","nameLocation":"4133:32:89","nodeType":"FunctionDefinition","parameters":{"id":48620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48619,"mutability":"mutable","name":"roundId","nameLocation":"4174:7:89","nodeType":"VariableDeclaration","scope":48636,"src":"4166:15:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48618,"name":"uint256","nodeType":"ElementaryTypeName","src":"4166:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4165:17:89"},"returnParameters":{"id":48623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48636,"src":"4204:7:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48621,"name":"uint256","nodeType":"ElementaryTypeName","src":"4204:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4203:9:89"},"scope":48753,"src":"4124:219:89","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46163],"body":{"id":48655,"nodeType":"Block","src":"4486:118:89","statements":[{"assignments":[48646],"declarations":[{"constant":false,"id":48646,"mutability":"mutable","name":"$","nameLocation":"4524:1:89","nodeType":"VariableDeclaration","scope":48655,"src":"4492:33:89","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"},"typeName":{"id":48645,"nodeType":"UserDefinedTypeName","pathNode":{"id":48644,"name":"EarningsSettingsStorage","nameLocations":["4492:23:89"],"nodeType":"IdentifierPath","referencedDeclaration":48539,"src":"4492:23:89"},"referencedDeclaration":48539,"src":"4492:23:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"}},"visibility":"internal"}],"id":48649,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48647,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48550,"src":"4528:27:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$48539_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer)"}},"id":48648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4528:29:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4492:65:89"},{"expression":{"baseExpression":{"expression":{"id":48650,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48646,"src":"4570:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48651,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4572:18:89","memberName":"_roundAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":48538,"src":"4570:20:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":48653,"indexExpression":{"id":48652,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48639,"src":"4591:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4570:29:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48643,"id":48654,"nodeType":"Return","src":"4563:36:89"}]},"documentation":{"id":48637,"nodeType":"StructuredDocumentation","src":"4347:59:89","text":" Returns the app shares cap for a given round"},"functionSelector":"0a0e74ef","id":48656,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundAppSharesCap","nameLocation":"4418:20:89","nodeType":"FunctionDefinition","parameters":{"id":48640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48639,"mutability":"mutable","name":"roundId","nameLocation":"4447:7:89","nodeType":"VariableDeclaration","scope":48656,"src":"4439:15:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48638,"name":"uint256","nodeType":"ElementaryTypeName","src":"4439:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4438:17:89"},"returnParameters":{"id":48643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48642,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48656,"src":"4477:7:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48641,"name":"uint256","nodeType":"ElementaryTypeName","src":"4477:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4476:9:89"},"scope":48753,"src":"4409:195:89","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":48681,"nodeType":"Block","src":"4863:292:89","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48663,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48659,"src":"4884:25:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313030","id":48664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4913:3:89","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"4884:32:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a204261736520616c6c6f636174696f6e2070657263656e74616765206d757374206265206c657373207468616e206f7220657175616c20746f20313030","id":48666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4924:89:89","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6","typeString":"literal_string \"XAllocationVotingGovernor: Base allocation percentage must be less than or equal to 100\""},"value":"XAllocationVotingGovernor: Base allocation percentage must be less than or equal to 100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6","typeString":"literal_string \"XAllocationVotingGovernor: Base allocation percentage must be less than or equal to 100\""}],"id":48662,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4869:7:89","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":48667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4869:150:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48668,"nodeType":"ExpressionStatement","src":"4869:150:89"},{"assignments":[48671],"declarations":[{"constant":false,"id":48671,"mutability":"mutable","name":"$","nameLocation":"5057:1:89","nodeType":"VariableDeclaration","scope":48681,"src":"5025:33:89","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"},"typeName":{"id":48670,"nodeType":"UserDefinedTypeName","pathNode":{"id":48669,"name":"EarningsSettingsStorage","nameLocations":["5025:23:89"],"nodeType":"IdentifierPath","referencedDeclaration":48539,"src":"5025:23:89"},"referencedDeclaration":48539,"src":"5025:23:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"}},"visibility":"internal"}],"id":48674,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48672,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48550,"src":"5061:27:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$48539_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer)"}},"id":48673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5061:29:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5025:65:89"},{"expression":{"id":48679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48675,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48671,"src":"5096:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5098:24:89","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":48528,"src":"5096:26:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48678,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48659,"src":"5125:25:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5096:54:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48680,"nodeType":"ExpressionStatement","src":"5096:54:89"}]},"documentation":{"id":48657,"nodeType":"StructuredDocumentation","src":"4648:130:89","text":" @notice Set the base allocation percentage\n @param baseAllocationPercentage_ The new base allocation percentage"},"id":48682,"implemented":true,"kind":"function","modifiers":[],"name":"_setBaseAllocationPercentage","nameLocation":"4790:28:89","nodeType":"FunctionDefinition","parameters":{"id":48660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48659,"mutability":"mutable","name":"baseAllocationPercentage_","nameLocation":"4827:25:89","nodeType":"VariableDeclaration","scope":48682,"src":"4819:33:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48658,"name":"uint256","nodeType":"ElementaryTypeName","src":"4819:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4818:35:89"},"returnParameters":{"id":48661,"nodeType":"ParameterList","parameters":[],"src":"4863:0:89"},"scope":48753,"src":"4781:374:89","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48707,"nodeType":"Block","src":"5314:226:89","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48689,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48685,"src":"5328:13:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313030","id":48690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5345:3:89","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"5328:20:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a204170702073686172657320636170206d757374206265206c657373207468616e206f7220657175616c20746f20313030","id":48692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5350:77:89","typeDescriptions":{"typeIdentifier":"t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33","typeString":"literal_string \"XAllocationVotingGovernor: App shares cap must be less than or equal to 100\""},"value":"XAllocationVotingGovernor: App shares cap must be less than or equal to 100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33","typeString":"literal_string \"XAllocationVotingGovernor: App shares cap must be less than or equal to 100\""}],"id":48688,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5320:7:89","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":48693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5320:108:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48694,"nodeType":"ExpressionStatement","src":"5320:108:89"},{"assignments":[48697],"declarations":[{"constant":false,"id":48697,"mutability":"mutable","name":"$","nameLocation":"5466:1:89","nodeType":"VariableDeclaration","scope":48707,"src":"5434:33:89","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"},"typeName":{"id":48696,"nodeType":"UserDefinedTypeName","pathNode":{"id":48695,"name":"EarningsSettingsStorage","nameLocations":["5434:23:89"],"nodeType":"IdentifierPath","referencedDeclaration":48539,"src":"5434:23:89"},"referencedDeclaration":48539,"src":"5434:23:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"}},"visibility":"internal"}],"id":48700,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48698,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48550,"src":"5470:27:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$48539_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer)"}},"id":48699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5470:29:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5434:65:89"},{"expression":{"id":48705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":48701,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48697,"src":"5505:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48703,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5507:12:89","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":48530,"src":"5505:14:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48704,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48685,"src":"5522:13:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5505:30:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48706,"nodeType":"ExpressionStatement","src":"5505:30:89"}]},"documentation":{"id":48683,"nodeType":"StructuredDocumentation","src":"5159:94:89","text":" @notice Set the app shares cap\n @param appSharesCap_ The new app shares cap"},"id":48708,"implemented":true,"kind":"function","modifiers":[],"name":"_setAppSharesCap","nameLocation":"5265:16:89","nodeType":"FunctionDefinition","parameters":{"id":48686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48685,"mutability":"mutable","name":"appSharesCap_","nameLocation":"5290:13:89","nodeType":"VariableDeclaration","scope":48708,"src":"5282:21:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48684,"name":"uint256","nodeType":"ElementaryTypeName","src":"5282:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5281:23:89"},"returnParameters":{"id":48687,"nodeType":"ParameterList","parameters":[],"src":"5314:0:89"},"scope":48753,"src":"5256:284:89","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[46929],"body":{"id":48739,"nodeType":"Block","src":"5731:204:89","statements":[{"assignments":[48717],"declarations":[{"constant":false,"id":48717,"mutability":"mutable","name":"$","nameLocation":"5769:1:89","nodeType":"VariableDeclaration","scope":48739,"src":"5737:33:89","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"},"typeName":{"id":48716,"nodeType":"UserDefinedTypeName","pathNode":{"id":48715,"name":"EarningsSettingsStorage","nameLocations":["5737:23:89"],"nodeType":"IdentifierPath","referencedDeclaration":48539,"src":"5737:23:89"},"referencedDeclaration":48539,"src":"5737:23:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage"}},"visibility":"internal"}],"id":48720,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48718,"name":"_getEarningsSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48550,"src":"5773:27:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$48539_storage_ptr_$","typeString":"function () pure returns (struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer)"}},"id":48719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5773:29:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5737:65:89"},{"expression":{"id":48728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":48721,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48717,"src":"5808:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5810:30:89","memberName":"_roundBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":48534,"src":"5808:32:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":48725,"indexExpression":{"id":48723,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48711,"src":"5841:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5808:41:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":48726,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48717,"src":"5852:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5854:24:89","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":48528,"src":"5852:26:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5808:70:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48729,"nodeType":"ExpressionStatement","src":"5808:70:89"},{"expression":{"id":48737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":48730,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48717,"src":"5884:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5886:18:89","memberName":"_roundAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":48538,"src":"5884:20:89","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":48734,"indexExpression":{"id":48732,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48711,"src":"5905:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5884:29:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":48735,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48717,"src":"5916:1:89","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$48539_storage_ptr","typeString":"struct RoundEarningsSettingsUpgradeableV8.EarningsSettingsStorage storage pointer"}},"id":48736,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5918:12:89","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":48530,"src":"5916:14:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5884:46:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48738,"nodeType":"ExpressionStatement","src":"5884:46:89"}]},"documentation":{"id":48709,"nodeType":"StructuredDocumentation","src":"5544:106:89","text":" @dev Save the earnings settings for a new round\n @param roundId The id of the new round"},"id":48740,"implemented":true,"kind":"function","modifiers":[],"name":"_snapshotRoundEarningsCap","nameLocation":"5662:25:89","nodeType":"FunctionDefinition","overrides":{"id":48713,"nodeType":"OverrideSpecifier","overrides":[],"src":"5722:8:89"},"parameters":{"id":48712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48711,"mutability":"mutable","name":"roundId","nameLocation":"5696:7:89","nodeType":"VariableDeclaration","scope":48740,"src":"5688:15:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48710,"name":"uint256","nodeType":"ElementaryTypeName","src":"5688:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5687:17:89"},"returnParameters":{"id":48714,"nodeType":"ParameterList","parameters":[],"src":"5731:0:89"},"scope":48753,"src":"5653:282:89","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":48741,"nodeType":"StructuredDocumentation","src":"5978:81:89","text":" @dev See {IXAllocationVotingGovernor-setBaseAllocationPercentage}."},"functionSelector":"74038935","id":48746,"implemented":false,"kind":"function","modifiers":[],"name":"setAppSharesCap","nameLocation":"6071:15:89","nodeType":"FunctionDefinition","parameters":{"id":48744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48743,"mutability":"mutable","name":"appSharesCap_","nameLocation":"6095:13:89","nodeType":"VariableDeclaration","scope":48746,"src":"6087:21:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48742,"name":"uint256","nodeType":"ElementaryTypeName","src":"6087:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6086:23:89"},"returnParameters":{"id":48745,"nodeType":"ParameterList","parameters":[],"src":"6126:0:89"},"scope":48753,"src":"6062:65:89","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"documentation":{"id":48747,"nodeType":"StructuredDocumentation","src":"6131:81:89","text":" @dev See {IXAllocationVotingGovernor-setBaseAllocationPercentage}."},"functionSelector":"f5fae136","id":48752,"implemented":false,"kind":"function","modifiers":[],"name":"setBaseAllocationPercentage","nameLocation":"6224:27:89","nodeType":"FunctionDefinition","parameters":{"id":48750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48749,"mutability":"mutable","name":"baseAllocationPercentage_","nameLocation":"6260:25:89","nodeType":"VariableDeclaration","scope":48752,"src":"6252:33:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48748,"name":"uint256","nodeType":"ElementaryTypeName","src":"6252:7:89","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6251:35:89"},"returnParameters":{"id":48751,"nodeType":"ParameterList","parameters":[],"src":"6303:0:89"},"scope":48753,"src":"6215:89:89","stateMutability":"nonpayable","virtual":true,"visibility":"external"}],"scope":48754,"src":"1904:4402:89","usedErrors":[1495,1498,7025,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813],"usedEvents":[1503,45826,45840,45853,45866,45873,45881]}],"src":"1195:5112:89"},"id":89},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol","exportedSymbols":{"Initializable":[1732],"RoundFinalizationUpgradeableV8":[48939],"XAllocationVotingGovernor":[47146]},"id":48940,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":48755,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:90"},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","file":"../XAllocationVotingGovernorV8.sol","id":48757,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48940,"sourceUnit":47147,"src":"1220:110:90","symbolAliases":[{"foreign":{"id":48756,"name":"XAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47146,"src":"1229:27:90","typeDescriptions":{}},"local":"XAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":48759,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48940,"sourceUnit":1733,"src":"1331:98:90","symbolAliases":[{"foreign":{"id":48758,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1340:13:90","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":48761,"name":"Initializable","nameLocations":["1954:13:90"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1954:13:90"},"id":48762,"nodeType":"InheritanceSpecifier","src":"1954:13:90"},{"baseName":{"id":48763,"name":"XAllocationVotingGovernor","nameLocations":["1969:25:90"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"1969:25:90"},"id":48764,"nodeType":"InheritanceSpecifier","src":"1969:25:90"}],"canonicalName":"RoundFinalizationUpgradeableV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":48760,"nodeType":"StructuredDocumentation","src":"1431:470:90","text":" @title RoundFinalizationUpgradeable\n @notice Extension of {XAllocationVotingGovernor} that handles the finalization of rounds\n @dev If a round does not meet the quorum (RoundState.Failed) we need to know the last round that succeeded,\n so we can calculate the earnings for the x-2-earn-apps upon that round. By always pointing each round at the last succeeded one, if a round fails,\n it will be enough to look at what round the previous one points to."},"fullyImplemented":false,"id":48939,"linearizedBaseContracts":[48939,47146,46200,4552,4332,5961,3987,1732],"name":"RoundFinalizationUpgradeableV8","nameLocation":"1920:30:90","nodeType":"ContractDefinition","nodes":[{"canonicalName":"RoundFinalizationUpgradeableV8.RoundFinalizationStorage","documentation":{"id":48765,"nodeType":"StructuredDocumentation","src":"1999:95:90","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.RoundFinalization"},"id":48774,"members":[{"constant":false,"id":48769,"mutability":"mutable","name":"_latestSucceededRoundId","nameLocation":"2171:23:90","nodeType":"VariableDeclaration","scope":48774,"src":"2135:59:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":48768,"keyName":"roundId","keyNameLocation":"2151:7:90","keyType":{"id":48766,"name":"uint256","nodeType":"ElementaryTypeName","src":"2143:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2135:35:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":48767,"name":"uint256","nodeType":"ElementaryTypeName","src":"2162:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":48773,"mutability":"mutable","name":"_roundFinalized","nameLocation":"2233:15:90","nodeType":"VariableDeclaration","scope":48774,"src":"2200:48:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":48772,"keyName":"roundId","keyNameLocation":"2216:7:90","keyType":{"id":48770,"name":"uint256","nodeType":"ElementaryTypeName","src":"2208:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2200:32:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":48771,"name":"bool","nodeType":"ElementaryTypeName","src":"2227:4:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"RoundFinalizationStorage","nameLocation":"2104:24:90","nodeType":"StructDefinition","scope":48939,"src":"2097:156:90","visibility":"public"},{"constant":true,"id":48777,"mutability":"constant","name":"RoundFinalizationStorageLocation","nameLocation":"2421:32:90","nodeType":"VariableDeclaration","scope":48939,"src":"2396:130:90","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2396:7:90","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837646433323531623938383261386230376463323833613062343331393761613262653361366166316137663032383430373066653564383665353032353030","id":48776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2460:66:90","typeDescriptions":{"typeIdentifier":"t_rational_56912166912171147209313599689234814512225880911826322595024863211913751831808_by_1","typeString":"int_const 5691...(69 digits omitted)...1808"},"value":"0x7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e502500"},"visibility":"private"},{"body":{"id":48784,"nodeType":"Block","src":"2630:75:90","statements":[{"AST":{"nodeType":"YulBlock","src":"2645:56:90","statements":[{"nodeType":"YulAssignment","src":"2653:42:90","value":{"name":"RoundFinalizationStorageLocation","nodeType":"YulIdentifier","src":"2663:32:90"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2653:6:90"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":48781,"isOffset":false,"isSlot":true,"src":"2653:6:90","suffix":"slot","valueSize":1},{"declaration":48777,"isOffset":false,"isSlot":false,"src":"2663:32:90","valueSize":1}],"id":48783,"nodeType":"InlineAssembly","src":"2636:65:90"}]},"id":48785,"implemented":true,"kind":"function","modifiers":[],"name":"_getRoundFinalizationStorage","nameLocation":"2540:28:90","nodeType":"FunctionDefinition","parameters":{"id":48778,"nodeType":"ParameterList","parameters":[],"src":"2568:2:90"},"returnParameters":{"id":48782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48781,"mutability":"mutable","name":"$","nameLocation":"2627:1:90","nodeType":"VariableDeclaration","scope":48785,"src":"2594:34:90","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage"},"typeName":{"id":48780,"nodeType":"UserDefinedTypeName","pathNode":{"id":48779,"name":"RoundFinalizationStorage","nameLocations":["2594:24:90"],"nodeType":"IdentifierPath","referencedDeclaration":48774,"src":"2594:24:90"},"referencedDeclaration":48774,"src":"2594:24:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage"}},"visibility":"internal"}],"src":"2593:36:90"},"scope":48939,"src":"2531:174:90","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48794,"nodeType":"Block","src":"2818:47:90","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":48791,"name":"__RoundFinalization_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48801,"src":"2824:34:90","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":48792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2824:36:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48793,"nodeType":"ExpressionStatement","src":"2824:36:90"}]},"documentation":{"id":48786,"nodeType":"StructuredDocumentation","src":"2709:44:90","text":" @dev Initializes the contract"},"id":48795,"implemented":true,"kind":"function","modifiers":[{"id":48789,"kind":"modifierInvocation","modifierName":{"id":48788,"name":"onlyInitializing","nameLocations":["2801:16:90"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2801:16:90"},"nodeType":"ModifierInvocation","src":"2801:16:90"}],"name":"__RoundFinalization_init","nameLocation":"2765:24:90","nodeType":"FunctionDefinition","parameters":{"id":48787,"nodeType":"ParameterList","parameters":[],"src":"2789:2:90"},"returnParameters":{"id":48790,"nodeType":"ParameterList","parameters":[],"src":"2818:0:90"},"scope":48939,"src":"2756:109:90","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48800,"nodeType":"Block","src":"2941:2:90","statements":[]},"id":48801,"implemented":true,"kind":"function","modifiers":[{"id":48798,"kind":"modifierInvocation","modifierName":{"id":48797,"name":"onlyInitializing","nameLocations":["2924:16:90"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2924:16:90"},"nodeType":"ModifierInvocation","src":"2924:16:90"}],"name":"__RoundFinalization_init_unchained","nameLocation":"2878:34:90","nodeType":"FunctionDefinition","parameters":{"id":48796,"nodeType":"ParameterList","parameters":[],"src":"2912:2:90"},"returnParameters":{"id":48799,"nodeType":"ParameterList","parameters":[],"src":"2941:0:90"},"scope":48939,"src":"2869:74:90","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[46971],"body":{"id":48897,"nodeType":"Block","src":"3159:804:90","statements":[{"expression":{"arguments":[{"id":48812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3173:18:90","subExpression":{"arguments":[{"id":48810,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3183:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48809,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46753,"src":"3174:8:90","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":48811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3174:17:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64206973206e6f7420656e64656420796574","id":48813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3193:51:90","typeDescriptions":{"typeIdentifier":"t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba","typeString":"literal_string \"XAllocationVotingGovernor: round is not ended yet\""},"value":"XAllocationVotingGovernor: round is not ended yet"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba","typeString":"literal_string \"XAllocationVotingGovernor: round is not ended yet\""}],"id":48808,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3165:7:90","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":48814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3165:80:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48815,"nodeType":"ExpressionStatement","src":"3165:80:90"},{"assignments":[48818],"declarations":[{"constant":false,"id":48818,"mutability":"mutable","name":"$","nameLocation":"3285:1:90","nodeType":"VariableDeclaration","scope":48897,"src":"3252:34:90","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage"},"typeName":{"id":48817,"nodeType":"UserDefinedTypeName","pathNode":{"id":48816,"name":"RoundFinalizationStorage","nameLocations":["3252:24:90"],"nodeType":"IdentifierPath","referencedDeclaration":48774,"src":"3252:24:90"},"referencedDeclaration":48774,"src":"3252:24:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage"}},"visibility":"internal"}],"id":48821,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48819,"name":"_getRoundFinalizationStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48785,"src":"3289:28:90","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundFinalizationStorage_$48774_storage_ptr_$","typeString":"function () pure returns (struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer)"}},"id":48820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3289:30:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3252:67:90"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48822,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3379:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":48823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3390:1:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3379:12:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48843,"nodeType":"IfStatement","src":"3375:126:90","trueBody":{"id":48842,"nodeType":"Block","src":"3393:108:90","statements":[{"expression":{"id":48831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":48825,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48818,"src":"3401:1:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"id":48828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3403:23:90","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":48769,"src":"3401:25:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":48829,"indexExpression":{"id":48827,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3427:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3401:34:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":48830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3438:1:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3401:38:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48832,"nodeType":"ExpressionStatement","src":"3401:38:90"},{"expression":{"id":48839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":48833,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48818,"src":"3447:1:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"id":48836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3449:15:90","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":48773,"src":"3447:17:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":48837,"indexExpression":{"id":48835,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3465:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3447:26:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":48838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3476:4:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3447:33:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48840,"nodeType":"ExpressionStatement","src":"3447:33:90"},{"functionReturnParameters":48807,"id":48841,"nodeType":"Return","src":"3488:7:90"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},"id":48849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48845,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3517:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48844,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46810,"src":"3511:5:90","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$45736_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV8.RoundState)"}},"id":48846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:14:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":48847,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45736,"src":"3529:10:90","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$45736_$","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}},"id":48848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3540:9:90","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":45735,"src":"3529:20:90","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"src":"3511:38:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},"id":48872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48868,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3730:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48867,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46810,"src":"3724:5:90","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$45736_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV8.RoundState)"}},"id":48869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3724:14:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":48870,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45736,"src":"3742:10:90","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$45736_$","typeString":"type(enum IXAllocationVotingGovernorV8.RoundState)"}},"id":48871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3753:6:90","memberName":"Failed","nodeType":"MemberAccess","referencedDeclaration":45734,"src":"3742:17:90","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},"src":"3724:35:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48895,"nodeType":"IfStatement","src":"3720:239:90","trueBody":{"id":48894,"nodeType":"Block","src":"3761:198:90","statements":[{"expression":{"id":48884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":48873,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48818,"src":"3836:1:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"id":48876,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3838:23:90","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":48769,"src":"3836:25:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":48877,"indexExpression":{"id":48875,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3862:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3836:34:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":48878,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48818,"src":"3873:1:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"id":48879,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3875:23:90","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":48769,"src":"3873:25:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":48883,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48880,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3899:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":48881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3909:1:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3899:11:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3873:38:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3836:75:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48885,"nodeType":"ExpressionStatement","src":"3836:75:90"},{"expression":{"id":48892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":48886,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48818,"src":"3919:1:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"id":48889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3921:15:90","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":48773,"src":"3919:17:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":48890,"indexExpression":{"id":48888,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3937:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3919:26:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":48891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3948:4:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3919:33:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48893,"nodeType":"ExpressionStatement","src":"3919:33:90"}]}},"id":48896,"nodeType":"IfStatement","src":"3507:452:90","trueBody":{"id":48866,"nodeType":"Block","src":"3551:163:90","statements":[{"expression":{"id":48856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":48850,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48818,"src":"3622:1:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"id":48853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3624:23:90","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":48769,"src":"3622:25:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":48854,"indexExpression":{"id":48852,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3648:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3622:34:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48855,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3659:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3622:44:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48857,"nodeType":"ExpressionStatement","src":"3622:44:90"},{"expression":{"id":48864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":48858,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48818,"src":"3674:1:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"id":48861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3676:15:90","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":48773,"src":"3674:17:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":48862,"indexExpression":{"id":48860,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"3692:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3674:26:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":48863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3703:4:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3674:33:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48865,"nodeType":"ExpressionStatement","src":"3674:33:90"}]}}]},"documentation":{"id":48802,"nodeType":"StructuredDocumentation","src":"2980:112:90","text":" @dev Store the last succeeded round for the given round\n @param roundId The round to finalize"},"functionSelector":"3469f6e2","id":48898,"implemented":true,"kind":"function","modifiers":[],"name":"finalizeRound","nameLocation":"3104:13:90","nodeType":"FunctionDefinition","overrides":{"id":48806,"nodeType":"OverrideSpecifier","overrides":[],"src":"3150:8:90"},"parameters":{"id":48805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48804,"mutability":"mutable","name":"roundId","nameLocation":"3126:7:90","nodeType":"VariableDeclaration","scope":48898,"src":"3118:15:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48803,"name":"uint256","nodeType":"ElementaryTypeName","src":"3118:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3117:17:90"},"returnParameters":{"id":48807,"nodeType":"ParameterList","parameters":[],"src":"3159:0:90"},"scope":48939,"src":"3095:868:90","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[46139],"body":{"id":48917,"nodeType":"Block","src":"4152:125:90","statements":[{"assignments":[48908],"declarations":[{"constant":false,"id":48908,"mutability":"mutable","name":"$","nameLocation":"4191:1:90","nodeType":"VariableDeclaration","scope":48917,"src":"4158:34:90","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage"},"typeName":{"id":48907,"nodeType":"UserDefinedTypeName","pathNode":{"id":48906,"name":"RoundFinalizationStorage","nameLocations":["4158:24:90"],"nodeType":"IdentifierPath","referencedDeclaration":48774,"src":"4158:24:90"},"referencedDeclaration":48774,"src":"4158:24:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage"}},"visibility":"internal"}],"id":48911,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48909,"name":"_getRoundFinalizationStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48785,"src":"4195:28:90","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundFinalizationStorage_$48774_storage_ptr_$","typeString":"function () pure returns (struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer)"}},"id":48910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4195:30:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4158:67:90"},{"expression":{"baseExpression":{"expression":{"id":48912,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48908,"src":"4238:1:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"id":48913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4240:23:90","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":48769,"src":"4238:25:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":48915,"indexExpression":{"id":48914,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48901,"src":"4264:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4238:34:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48905,"id":48916,"nodeType":"Return","src":"4231:41:90"}]},"documentation":{"id":48899,"nodeType":"StructuredDocumentation","src":"4000:68:90","text":" @dev Get the last succeeded round for the given round"},"functionSelector":"30097377","id":48918,"implemented":true,"kind":"function","modifiers":[],"name":"latestSucceededRoundId","nameLocation":"4080:22:90","nodeType":"FunctionDefinition","parameters":{"id":48902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48901,"mutability":"mutable","name":"roundId","nameLocation":"4111:7:90","nodeType":"VariableDeclaration","scope":48918,"src":"4103:15:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48900,"name":"uint256","nodeType":"ElementaryTypeName","src":"4103:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4102:17:90"},"returnParameters":{"id":48905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48918,"src":"4143:7:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48903,"name":"uint256","nodeType":"ElementaryTypeName","src":"4143:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4142:9:90"},"scope":48939,"src":"4071:206:90","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":48937,"nodeType":"Block","src":"4402:117:90","statements":[{"assignments":[48928],"declarations":[{"constant":false,"id":48928,"mutability":"mutable","name":"$","nameLocation":"4441:1:90","nodeType":"VariableDeclaration","scope":48937,"src":"4408:34:90","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage"},"typeName":{"id":48927,"nodeType":"UserDefinedTypeName","pathNode":{"id":48926,"name":"RoundFinalizationStorage","nameLocations":["4408:24:90"],"nodeType":"IdentifierPath","referencedDeclaration":48774,"src":"4408:24:90"},"referencedDeclaration":48774,"src":"4408:24:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage"}},"visibility":"internal"}],"id":48931,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48929,"name":"_getRoundFinalizationStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48785,"src":"4445:28:90","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundFinalizationStorage_$48774_storage_ptr_$","typeString":"function () pure returns (struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer)"}},"id":48930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4445:30:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4408:67:90"},{"expression":{"baseExpression":{"expression":{"id":48932,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48928,"src":"4488:1:90","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$48774_storage_ptr","typeString":"struct RoundFinalizationUpgradeableV8.RoundFinalizationStorage storage pointer"}},"id":48933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4490:15:90","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":48773,"src":"4488:17:90","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":48935,"indexExpression":{"id":48934,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48921,"src":"4506:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4488:26:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":48925,"id":48936,"nodeType":"Return","src":"4481:33:90"}]},"documentation":{"id":48919,"nodeType":"StructuredDocumentation","src":"4281:51:90","text":" @dev Check if the round is finalized"},"functionSelector":"33727c4d","id":48938,"implemented":true,"kind":"function","modifiers":[],"name":"isFinalized","nameLocation":"4344:11:90","nodeType":"FunctionDefinition","parameters":{"id":48922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48921,"mutability":"mutable","name":"roundId","nameLocation":"4364:7:90","nodeType":"VariableDeclaration","scope":48938,"src":"4356:15:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48920,"name":"uint256","nodeType":"ElementaryTypeName","src":"4356:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4355:17:90"},"returnParameters":{"id":48925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48924,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48938,"src":"4396:4:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48923,"name":"bool","nodeType":"ElementaryTypeName","src":"4396:4:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4395:6:90"},"scope":48939,"src":"4335:184:90","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":48940,"src":"1902:2619:90","usedErrors":[1495,1498,7025,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813],"usedEvents":[1503,45826,45840,45853,45866,45873,45881]}],"src":"1195:3327:90"},"id":90},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol","exportedSymbols":{"Initializable":[1732],"Math":[7015],"RoundVotesCountingUpgradeableV8":[49575],"SafeCast":[8770],"XAllocationVotingGovernor":[47146]},"id":49576,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":48941,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:91"},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","file":"../XAllocationVotingGovernorV8.sol","id":48943,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49576,"sourceUnit":47147,"src":"1220:110:91","symbolAliases":[{"foreign":{"id":48942,"name":"XAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47146,"src":"1229:27:91","typeDescriptions":{}},"local":"XAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":48945,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49576,"sourceUnit":8771,"src":"1331:75:91","symbolAliases":[{"foreign":{"id":48944,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1340:8:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":48947,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49576,"sourceUnit":1733,"src":"1407:98:91","symbolAliases":[{"foreign":{"id":48946,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1416:13:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","id":48949,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49576,"sourceUnit":7016,"src":"1506:67:91","symbolAliases":[{"foreign":{"id":48948,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"1515:4:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":48951,"name":"Initializable","nameLocations":["1967:13:91"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1967:13:91"},"id":48952,"nodeType":"InheritanceSpecifier","src":"1967:13:91"},{"baseName":{"id":48953,"name":"XAllocationVotingGovernor","nameLocations":["1982:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"1982:25:91"},"id":48954,"nodeType":"InheritanceSpecifier","src":"1982:25:91"}],"canonicalName":"RoundVotesCountingUpgradeableV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":48950,"nodeType":"StructuredDocumentation","src":"1575:338:91","text":" @title RoundVotesCountingUpgradeable\n @dev Extension of {XAllocationVotingGovernor} for counting votes for allocation rounds.\n In every round users can vote a fraction of their balance for the eligible apps in that round.\n ----- Version 5 -----\n - Fixed duplicate app voting in same transaction in {_countVote}"},"fullyImplemented":false,"id":49575,"linearizedBaseContracts":[49575,47146,46200,4552,4332,5961,3987,1732],"name":"RoundVotesCountingUpgradeableV8","nameLocation":"1932:31:91","nodeType":"ContractDefinition","nodes":[{"canonicalName":"RoundVotesCountingUpgradeableV8.RoundVote","id":48973,"members":[{"constant":false,"id":48958,"mutability":"mutable","name":"votesReceived","nameLocation":"2110:13:91","nodeType":"VariableDeclaration","scope":48973,"src":"2076:47:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":48957,"keyName":"appId","keyNameLocation":"2092:5:91","keyType":{"id":48955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2084:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2076:33:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":48956,"name":"uint256","nodeType":"ElementaryTypeName","src":"2101:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":48962,"mutability":"mutable","name":"votesReceivedQF","nameLocation":"2225:15:91","nodeType":"VariableDeclaration","scope":48973,"src":"2191:49:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":48961,"keyName":"appId","keyNameLocation":"2207:5:91","keyType":{"id":48959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2199:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2191:33:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":48960,"name":"uint256","nodeType":"ElementaryTypeName","src":"2216:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":48964,"mutability":"mutable","name":"totalVotes","nameLocation":"2348:10:91","nodeType":"VariableDeclaration","scope":48973,"src":"2340:18:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48963,"name":"uint256","nodeType":"ElementaryTypeName","src":"2340:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48966,"mutability":"mutable","name":"totalVotesQF","nameLocation":"2430:12:91","nodeType":"VariableDeclaration","scope":48973,"src":"2422:20:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48965,"name":"uint256","nodeType":"ElementaryTypeName","src":"2422:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48970,"mutability":"mutable","name":"hasVoted","nameLocation":"2650:8:91","nodeType":"VariableDeclaration","scope":48973,"src":"2620:38:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":48969,"keyName":"user","keyNameLocation":"2636:4:91","keyType":{"id":48967,"name":"address","nodeType":"ElementaryTypeName","src":"2628:7:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2620:29:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":48968,"name":"bool","nodeType":"ElementaryTypeName","src":"2644:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":48972,"mutability":"mutable","name":"totalVoters","nameLocation":"2715:11:91","nodeType":"VariableDeclaration","scope":48973,"src":"2707:19:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48971,"name":"uint256","nodeType":"ElementaryTypeName","src":"2707:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"RoundVote","nameLocation":"2019:9:91","nodeType":"StructDefinition","scope":49575,"src":"2012:719:91","visibility":"public"},{"canonicalName":"RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage","documentation":{"id":48974,"nodeType":"StructuredDocumentation","src":"2735:96:91","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.RoundVotesCounting"},"id":48986,"members":[{"constant":false,"id":48978,"mutability":"mutable","name":"_hasVotedOnce","nameLocation":"2903:13:91","nodeType":"VariableDeclaration","scope":48986,"src":"2873:43:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":48977,"keyName":"user","keyNameLocation":"2889:4:91","keyType":{"id":48975,"name":"address","nodeType":"ElementaryTypeName","src":"2881:7:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2873:29:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":48976,"name":"bool","nodeType":"ElementaryTypeName","src":"2897:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":48983,"mutability":"mutable","name":"_roundVotes","nameLocation":"3020:11:91","nodeType":"VariableDeclaration","scope":48986,"src":"2982:49:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote)"},"typeName":{"id":48982,"keyName":"roundId","keyNameLocation":"2998:7:91","keyType":{"id":48979,"name":"uint256","nodeType":"ElementaryTypeName","src":"2990:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2982:37:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":48981,"nodeType":"UserDefinedTypeName","pathNode":{"id":48980,"name":"RoundVote","nameLocations":["3009:9:91"],"nodeType":"IdentifierPath","referencedDeclaration":48973,"src":"3009:9:91"},"referencedDeclaration":48973,"src":"3009:9:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote"}}},"visibility":"internal"},{"constant":false,"id":48985,"mutability":"mutable","name":"votingThreshold","nameLocation":"3090:15:91","nodeType":"VariableDeclaration","scope":48986,"src":"3082:23:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48984,"name":"uint256","nodeType":"ElementaryTypeName","src":"3082:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"RoundVotesCountingStorage","nameLocation":"2841:25:91","nodeType":"StructDefinition","scope":49575,"src":"2834:326:91","visibility":"public"},{"constant":true,"id":48989,"mutability":"constant","name":"RoundVotesCountingStorageLocation","nameLocation":"3329:33:91","nodeType":"VariableDeclaration","scope":49575,"src":"3304:131:91","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3304:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307861373630633034316434613966613361326336376430643332356633353932626132633765343333306637626132323833656266396665363339313364353030","id":48988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3369:66:91","typeDescriptions":{"typeIdentifier":"t_rational_75707189941715459407976635804996749017233695915597846200462631701644016080128_by_1","typeString":"int_const 7570...(69 digits omitted)...0128"},"value":"0xa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d500"},"visibility":"private"},{"body":{"id":48996,"nodeType":"Block","src":"3540:76:91","statements":[{"AST":{"nodeType":"YulBlock","src":"3555:57:91","statements":[{"nodeType":"YulAssignment","src":"3563:43:91","value":{"name":"RoundVotesCountingStorageLocation","nodeType":"YulIdentifier","src":"3573:33:91"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"3563:6:91"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":48993,"isOffset":false,"isSlot":true,"src":"3563:6:91","suffix":"slot","valueSize":1},{"declaration":48989,"isOffset":false,"isSlot":false,"src":"3573:33:91","valueSize":1}],"id":48995,"nodeType":"InlineAssembly","src":"3546:66:91"}]},"id":48997,"implemented":true,"kind":"function","modifiers":[],"name":"_getRoundVotesCountingStorage","nameLocation":"3449:29:91","nodeType":"FunctionDefinition","parameters":{"id":48990,"nodeType":"ParameterList","parameters":[],"src":"3478:2:91"},"returnParameters":{"id":48994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48993,"mutability":"mutable","name":"$","nameLocation":"3537:1:91","nodeType":"VariableDeclaration","scope":48997,"src":"3503:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":48992,"nodeType":"UserDefinedTypeName","pathNode":{"id":48991,"name":"RoundVotesCountingStorage","nameLocations":["3503:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"3503:25:91"},"referencedDeclaration":48986,"src":"3503:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"src":"3502:37:91"},"scope":49575,"src":"3440:176:91","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"eventSelector":"a5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05","id":49003,"name":"VotingThresholdSet","nameLocation":"3715:18:91","nodeType":"EventDefinition","parameters":{"id":49002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48999,"indexed":false,"mutability":"mutable","name":"oldVotingThreshold","nameLocation":"3742:18:91","nodeType":"VariableDeclaration","scope":49003,"src":"3734:26:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48998,"name":"uint256","nodeType":"ElementaryTypeName","src":"3734:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49001,"indexed":false,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"3770:18:91","nodeType":"VariableDeclaration","scope":49003,"src":"3762:26:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49000,"name":"uint256","nodeType":"ElementaryTypeName","src":"3762:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3733:56:91"},"src":"3709:81:91"},{"documentation":{"id":49004,"nodeType":"StructuredDocumentation","src":"3794:92:91","text":"@dev Error thrown when trying to vote for the same app multiple times in one transaction"},"errorSelector":"8d9eb3dc","id":49006,"name":"DuplicateAppVote","nameLocation":"3895:16:91","nodeType":"ErrorDefinition","parameters":{"id":49005,"nodeType":"ParameterList","parameters":[],"src":"3911:2:91"},"src":"3889:25:91"},{"body":{"id":49018,"nodeType":"Block","src":"4052:64:91","statements":[{"expression":{"arguments":[{"id":49015,"name":"_votingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49009,"src":"4094:16:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49014,"name":"__RoundVotesCounting_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"4058:35:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":49016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4058:53:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49017,"nodeType":"ExpressionStatement","src":"4058:53:91"}]},"documentation":{"id":49007,"nodeType":"StructuredDocumentation","src":"3918:44:91","text":" @dev Initializes the contract"},"id":49019,"implemented":true,"kind":"function","modifiers":[{"id":49012,"kind":"modifierInvocation","modifierName":{"id":49011,"name":"onlyInitializing","nameLocations":["4035:16:91"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4035:16:91"},"nodeType":"ModifierInvocation","src":"4035:16:91"}],"name":"__RoundVotesCounting_init","nameLocation":"3974:25:91","nodeType":"FunctionDefinition","parameters":{"id":49010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49009,"mutability":"mutable","name":"_votingThreshold","nameLocation":"4008:16:91","nodeType":"VariableDeclaration","scope":49019,"src":"4000:24:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49008,"name":"uint256","nodeType":"ElementaryTypeName","src":"4000:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3999:26:91"},"returnParameters":{"id":49013,"nodeType":"ParameterList","parameters":[],"src":"4052:0:91"},"scope":49575,"src":"3965:151:91","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":49038,"nodeType":"Block","src":"4217:123:91","statements":[{"assignments":[49028],"declarations":[{"constant":false,"id":49028,"mutability":"mutable","name":"$","nameLocation":"4257:1:91","nodeType":"VariableDeclaration","scope":49038,"src":"4223:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49027,"nodeType":"UserDefinedTypeName","pathNode":{"id":49026,"name":"RoundVotesCountingStorage","nameLocations":["4223:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"4223:25:91"},"referencedDeclaration":48986,"src":"4223:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49031,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49029,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"4261:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4261:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4223:69:91"},{"expression":{"id":49036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":49032,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49028,"src":"4299:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49034,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4301:15:91","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":48985,"src":"4299:17:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":49035,"name":"_votingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49021,"src":"4319:16:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4299:36:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49037,"nodeType":"ExpressionStatement","src":"4299:36:91"}]},"id":49039,"implemented":true,"kind":"function","modifiers":[{"id":49024,"kind":"modifierInvocation","modifierName":{"id":49023,"name":"onlyInitializing","nameLocations":["4200:16:91"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"4200:16:91"},"nodeType":"ModifierInvocation","src":"4200:16:91"}],"name":"__RoundVotesCounting_init_unchained","nameLocation":"4129:35:91","nodeType":"FunctionDefinition","parameters":{"id":49022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49021,"mutability":"mutable","name":"_votingThreshold","nameLocation":"4173:16:91","nodeType":"VariableDeclaration","scope":49039,"src":"4165:24:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49020,"name":"uint256","nodeType":"ElementaryTypeName","src":"4165:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4164:26:91"},"returnParameters":{"id":49025,"nodeType":"ParameterList","parameters":[],"src":"4217:0:91"},"scope":49575,"src":"4120:220:91","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[45899],"body":{"id":49048,"nodeType":"Block","src":"4543:53:91","statements":[{"expression":{"hexValue":"737570706f72743d782d616c6c6f636174696f6e732671756f72756d3d6175746f","id":49046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4556:35:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da2acd6541a51240af60f66d2315b6a38f01623a75623565f70ff7d01e48cae","typeString":"literal_string \"support=x-allocations&quorum=auto\""},"value":"support=x-allocations&quorum=auto"},"functionReturnParameters":49045,"id":49047,"nodeType":"Return","src":"4549:42:91"}]},"documentation":{"id":49040,"nodeType":"StructuredDocumentation","src":"4344:67:91","text":" @dev See {IXAllocationVotingGovernor-COUNTING_MODE}."},"functionSelector":"dd4e2ba5","id":49049,"implemented":true,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"4474:13:91","nodeType":"FunctionDefinition","overrides":{"id":49042,"nodeType":"OverrideSpecifier","overrides":[],"src":"4510:8:91"},"parameters":{"id":49041,"nodeType":"ParameterList","parameters":[],"src":"4487:2:91"},"returnParameters":{"id":49045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49049,"src":"4528:13:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49043,"name":"string","nodeType":"ElementaryTypeName","src":"4528:6:91","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4527:15:91"},"scope":49575,"src":"4465:131:91","stateMutability":"pure","virtual":true,"visibility":"public"},{"body":{"id":49059,"nodeType":"Block","src":"4836:50:91","statements":[{"expression":{"arguments":[{"id":49056,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49052,"src":"4862:18:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49055,"name":"_setVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49085,"src":"4842:19:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":49057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4842:39:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49058,"nodeType":"ExpressionStatement","src":"4842:39:91"}]},"documentation":{"id":49050,"nodeType":"StructuredDocumentation","src":"4600:162:91","text":" @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n Emits a {VotingThresholdSet} event."},"functionSelector":"836761e0","id":49060,"implemented":true,"kind":"function","modifiers":[],"name":"setVotingThreshold","nameLocation":"4774:18:91","nodeType":"FunctionDefinition","parameters":{"id":49053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49052,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"4801:18:91","nodeType":"VariableDeclaration","scope":49060,"src":"4793:26:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49051,"name":"uint256","nodeType":"ElementaryTypeName","src":"4793:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4792:28:91"},"returnParameters":{"id":49054,"nodeType":"ParameterList","parameters":[],"src":"4836:0:91"},"scope":49575,"src":"4765:121:91","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":49084,"nodeType":"Block","src":"5074:193:91","statements":[{"assignments":[49068],"declarations":[{"constant":false,"id":49068,"mutability":"mutable","name":"$","nameLocation":"5114:1:91","nodeType":"VariableDeclaration","scope":49084,"src":"5080:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49067,"nodeType":"UserDefinedTypeName","pathNode":{"id":49066,"name":"RoundVotesCountingStorage","nameLocations":["5080:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"5080:25:91"},"referencedDeclaration":48986,"src":"5080:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49071,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49069,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"5118:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5118:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5080:69:91"},{"eventCall":{"arguments":[{"expression":{"id":49073,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49068,"src":"5180:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5182:15:91","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":48985,"src":"5180:17:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49075,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49063,"src":"5199:18:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49072,"name":"VotingThresholdSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49003,"src":"5161:18:91","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":49076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5161:57:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49077,"nodeType":"EmitStatement","src":"5156:62:91"},{"expression":{"id":49082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":49078,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49068,"src":"5224:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49080,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5226:15:91","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":48985,"src":"5224:17:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":49081,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49063,"src":"5244:18:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5224:38:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49083,"nodeType":"ExpressionStatement","src":"5224:38:91"}]},"documentation":{"id":49061,"nodeType":"StructuredDocumentation","src":"4890:107:91","text":" @dev Internal setter for the voting threshold.\n Emits a {VotingThresholdSet} event."},"id":49085,"implemented":true,"kind":"function","modifiers":[],"name":"_setVotingThreshold","nameLocation":"5009:19:91","nodeType":"FunctionDefinition","parameters":{"id":49064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49063,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"5037:18:91","nodeType":"VariableDeclaration","scope":49085,"src":"5029:26:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49062,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:28:91"},"returnParameters":{"id":49065,"nodeType":"ParameterList","parameters":[],"src":"5074:0:91"},"scope":49575,"src":"5000:267:91","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[46923],"body":{"id":49360,"nodeType":"Block","src":"6711:3996:91","statements":[{"condition":{"arguments":[{"id":49101,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"6730:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49102,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49090,"src":"6739:5:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49100,"name":"hasVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49520,"src":"6721:8:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":49103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6721:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49109,"nodeType":"IfStatement","src":"6717:82:91","trueBody":{"id":49108,"nodeType":"Block","src":"6747:52:91","statements":[{"errorCall":{"arguments":[{"id":49105,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49090,"src":"6786:5:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49104,"name":"GovernorAlreadyCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45741,"src":"6762:23:91","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":49106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6762:30:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49107,"nodeType":"RevertStatement","src":"6755:37:91"}]}},{"assignments":[49112],"declarations":[{"constant":false,"id":49112,"mutability":"mutable","name":"$","nameLocation":"6839:1:91","nodeType":"VariableDeclaration","scope":49360,"src":"6805:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49111,"nodeType":"UserDefinedTypeName","pathNode":{"id":49110,"name":"RoundVotesCountingStorage","nameLocations":["6805:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"6805:25:91"},"referencedDeclaration":48986,"src":"6805:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49115,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49113,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"6843:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6843:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6805:69:91"},{"assignments":[49117],"declarations":[{"constant":false,"id":49117,"mutability":"mutable","name":"roundStart","nameLocation":"6923:10:91","nodeType":"VariableDeclaration","scope":49360,"src":"6915:18:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49116,"name":"uint256","nodeType":"ElementaryTypeName","src":"6915:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49121,"initialValue":{"arguments":[{"id":49119,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"6950:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49118,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47005,"src":"6936:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":49120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6936:22:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6915:43:91"},{"assignments":[49123],"declarations":[{"constant":false,"id":49123,"mutability":"mutable","name":"totalWeight","nameLocation":"7032:11:91","nodeType":"VariableDeclaration","scope":49360,"src":"7024:19:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49122,"name":"uint256","nodeType":"ElementaryTypeName","src":"7024:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49124,"nodeType":"VariableDeclarationStatement","src":"7024:19:91"},{"assignments":[49126],"declarations":[{"constant":false,"id":49126,"mutability":"mutable","name":"totalQFVotesAdjustment","nameLocation":"7142:22:91","nodeType":"VariableDeclaration","scope":49360,"src":"7134:30:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49125,"name":"uint256","nodeType":"ElementaryTypeName","src":"7134:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49127,"nodeType":"VariableDeclarationStatement","src":"7134:30:91"},{"assignments":[49129],"declarations":[{"constant":false,"id":49129,"mutability":"mutable","name":"voterAvailableVotes","nameLocation":"7363:19:91","nodeType":"VariableDeclaration","scope":49360,"src":"7355:27:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49128,"name":"uint256","nodeType":"ElementaryTypeName","src":"7355:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49134,"initialValue":{"arguments":[{"id":49131,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49090,"src":"7405:5:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49132,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49117,"src":"7412:10:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49130,"name":"getTotalVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46869,"src":"7385:19:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":49133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7385:38:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7355:68:91"},{"body":{"id":49275,"nodeType":"Block","src":"7569:1898:91","statements":[{"body":{"id":49166,"nodeType":"Block","src":"7658:90:91","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":49154,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"7672:4:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":49156,"indexExpression":{"id":49155,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"7677:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7672:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":49157,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"7683:4:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":49159,"indexExpression":{"id":49158,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49146,"src":"7688:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7683:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7672:18:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49165,"nodeType":"IfStatement","src":"7668:72:91","trueBody":{"id":49164,"nodeType":"Block","src":"7692:48:91","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49161,"name":"DuplicateAppVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49006,"src":"7711:16:91","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":49162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7711:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49163,"nodeType":"RevertStatement","src":"7704:25:91"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49148,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49146,"src":"7646:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":49149,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"7650:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7646:5:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49167,"initializationExpression":{"assignments":[49146],"declarations":[{"constant":false,"id":49146,"mutability":"mutable","name":"j","nameLocation":"7643:1:91","nodeType":"VariableDeclaration","scope":49167,"src":"7635:9:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49145,"name":"uint256","nodeType":"ElementaryTypeName","src":"7635:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49147,"nodeType":"VariableDeclarationStatement","src":"7635:9:91"},"loopExpression":{"expression":{"id":49152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7653:3:91","subExpression":{"id":49151,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49146,"src":"7653:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49153,"nodeType":"ExpressionStatement","src":"7653:3:91"},"nodeType":"ForStatement","src":"7630:118:91"},{"expression":{"id":49172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49168,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49123,"src":"7756:11:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"id":49169,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49096,"src":"7771:7:91","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":49171,"indexExpression":{"id":49170,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"7779:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7771:10:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7756:25:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49173,"nodeType":"ExpressionStatement","src":"7756:25:91"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49174,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49123,"src":"7794:11:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":49175,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49129,"src":"7808:19:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7794:33:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49181,"nodeType":"IfStatement","src":"7790:98:91","trueBody":{"id":49180,"nodeType":"Block","src":"7829:59:91","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49177,"name":"GovernorInsufficientVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45781,"src":"7846:31:91","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":49178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7846:33:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49179,"nodeType":"RevertStatement","src":"7839:40:91"}]}},{"condition":{"id":49188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7969:36:91","subExpression":{"arguments":[{"baseExpression":{"id":49183,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"7988:4:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":49185,"indexExpression":{"id":49184,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"7993:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7988:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49186,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"7997:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49182,"name":"isEligibleForVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46889,"src":"7970:17:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$","typeString":"function (bytes32,uint256) view returns (bool)"}},"id":49187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7970:35:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49196,"nodeType":"IfStatement","src":"7965:109:91","trueBody":{"id":49195,"nodeType":"Block","src":"8007:67:91","statements":[{"errorCall":{"arguments":[{"baseExpression":{"id":49190,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"8057:4:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":49192,"indexExpression":{"id":49191,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"8062:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8057:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":49189,"name":"GovernorAppNotAvailableForVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45771,"src":"8024:32:91","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":49193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8024:41:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49194,"nodeType":"RevertStatement","src":"8017:48:91"}]}},{"assignments":[49198],"declarations":[{"constant":false,"id":49198,"mutability":"mutable","name":"qfAppVotesPreVote","nameLocation":"8181:17:91","nodeType":"VariableDeclaration","scope":49275,"src":"8173:25:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49197,"name":"uint256","nodeType":"ElementaryTypeName","src":"8173:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49208,"initialValue":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":49199,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49112,"src":"8201:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8203:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"8201:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49202,"indexExpression":{"id":49201,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"8215:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8201:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8224:15:91","memberName":"votesReceivedQF","nodeType":"MemberAccess","referencedDeclaration":48962,"src":"8201:38:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":49207,"indexExpression":{"baseExpression":{"id":49204,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"8240:4:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":49206,"indexExpression":{"id":49205,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"8245:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8240:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8201:47:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8173:75:91"},{"assignments":[49210],"declarations":[{"constant":false,"id":49210,"mutability":"mutable","name":"newQFVotes","nameLocation":"8574:10:91","nodeType":"VariableDeclaration","scope":49275,"src":"8566:18:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49209,"name":"uint256","nodeType":"ElementaryTypeName","src":"8566:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49228,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":49211,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49096,"src":"8587:7:91","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":49213,"indexExpression":{"id":49212,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"8595:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8587:10:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":49214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8600:4:91","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"8587:17:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":49222,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49096,"src":"8631:7:91","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":49224,"indexExpression":{"id":49223,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"8639:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8631:10:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"316539","id":49225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8644:3:91","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"8631:16:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8587:60:91","trueExpression":{"arguments":[{"baseExpression":{"id":49218,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49096,"src":"8617:7:91","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":49220,"indexExpression":{"id":49219,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"8625:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8617:10:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49216,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"8607:4:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":49217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8612:4:91","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"8607:9:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":49221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8607:21:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8566:81:91"},{"assignments":[49230],"declarations":[{"constant":false,"id":49230,"mutability":"mutable","name":"qfAppVotesPostVote","nameLocation":"8678:18:91","nodeType":"VariableDeclaration","scope":49275,"src":"8670:26:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49229,"name":"uint256","nodeType":"ElementaryTypeName","src":"8670:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49234,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49231,"name":"qfAppVotesPreVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49198,"src":"8699:17:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":49232,"name":"newQFVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49210,"src":"8719:10:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8699:30:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8670:59:91"},{"expression":{"id":49245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49235,"name":"totalQFVotesAdjustment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49126,"src":"8910:22:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49236,"name":"qfAppVotesPostVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49230,"src":"8937:18:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":49237,"name":"qfAppVotesPostVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49230,"src":"8958:18:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8937:39:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":49239,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8936:41:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49240,"name":"qfAppVotesPreVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49198,"src":"8981:17:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":49241,"name":"qfAppVotesPreVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49198,"src":"9001:17:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8981:37:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":49243,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8980:39:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8936:83:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8910:109:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49246,"nodeType":"ExpressionStatement","src":"8910:109:91"},{"expression":{"id":49258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":49247,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49112,"src":"9228:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9230:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"9228:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49251,"indexExpression":{"id":49249,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"9242:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9228:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9251:15:91","memberName":"votesReceivedQF","nodeType":"MemberAccess","referencedDeclaration":48962,"src":"9228:38:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":49256,"indexExpression":{"baseExpression":{"id":49253,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"9267:4:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":49255,"indexExpression":{"id":49254,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"9272:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9267:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9228:47:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":49257,"name":"qfAppVotesPostVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49230,"src":"9278:18:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9228:68:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49259,"nodeType":"ExpressionStatement","src":"9228:68:91"},{"expression":{"id":49273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":49260,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49112,"src":"9378:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9380:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"9378:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49264,"indexExpression":{"id":49262,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"9392:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9378:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9401:13:91","memberName":"votesReceived","nodeType":"MemberAccess","referencedDeclaration":48958,"src":"9378:36:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":49269,"indexExpression":{"baseExpression":{"id":49266,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"9415:4:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":49268,"indexExpression":{"id":49267,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"9420:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9415:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9378:45:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"id":49270,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49096,"src":"9427:7:91","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":49272,"indexExpression":{"id":49271,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"9435:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9427:10:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9378:59:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49274,"nodeType":"ExpressionStatement","src":"9378:59:91"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49138,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"7547:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":49139,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"7551:4:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":49140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7556:6:91","memberName":"length","nodeType":"MemberAccess","src":"7551:11:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7547:15:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49276,"initializationExpression":{"assignments":[49136],"declarations":[{"constant":false,"id":49136,"mutability":"mutable","name":"i","nameLocation":"7544:1:91","nodeType":"VariableDeclaration","scope":49276,"src":"7536:9:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49135,"name":"uint256","nodeType":"ElementaryTypeName","src":"7536:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49137,"nodeType":"VariableDeclarationStatement","src":"7536:9:91"},"loopExpression":{"expression":{"id":49143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7564:3:91","subExpression":{"id":49142,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49136,"src":"7564:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49144,"nodeType":"ExpressionStatement","src":"7564:3:91"},"nodeType":"ForStatement","src":"7531:1936:91"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49277,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49123,"src":"9574:11:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":49278,"name":"votingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49495,"src":"9588:15:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":49279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9588:17:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9574:31:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49288,"nodeType":"IfStatement","src":"9570:120:91","trueBody":{"id":49287,"nodeType":"Block","src":"9607:83:91","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":49282,"name":"votingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49495,"src":"9652:15:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":49283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9652:17:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49284,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49123,"src":"9671:11:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49281,"name":"GovernorVotingThresholdNotMet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45778,"src":"9622:29:91","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":49285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9622:61:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49286,"nodeType":"RevertStatement","src":"9615:68:91"}]}},{"expression":{"id":49296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":49289,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49112,"src":"9741:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49292,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9743:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"9741:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49293,"indexExpression":{"id":49291,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"9755:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9764:12:91","memberName":"totalVotesQF","nodeType":"MemberAccess","referencedDeclaration":48966,"src":"9741:35:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":49295,"name":"totalQFVotesAdjustment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49126,"src":"9780:22:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9741:61:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49297,"nodeType":"ExpressionStatement","src":"9741:61:91"},{"expression":{"id":49305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":49298,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49112,"src":"9993:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9995:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"9993:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49302,"indexExpression":{"id":49300,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"10007:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9993:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10016:10:91","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":48964,"src":"9993:33:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":49304,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49123,"src":"10030:11:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9993:48:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49306,"nodeType":"ExpressionStatement","src":"9993:48:91"},{"expression":{"id":49316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":49307,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49112,"src":"10092:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10094:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"10092:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49311,"indexExpression":{"id":49309,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"10106:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10092:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10115:8:91","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":48970,"src":"10092:31:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":49314,"indexExpression":{"id":49313,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49090,"src":"10124:5:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10092:38:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":49315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10133:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"10092:45:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49317,"nodeType":"ExpressionStatement","src":"10092:45:91"},{"expression":{"id":49324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10177:36:91","subExpression":{"expression":{"baseExpression":{"expression":{"id":49318,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49112,"src":"10177:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10179:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"10177:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49322,"indexExpression":{"id":49320,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"10191:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10177:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10200:11:91","memberName":"totalVoters","nodeType":"MemberAccess","referencedDeclaration":48972,"src":"10177:34:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49325,"nodeType":"ExpressionStatement","src":"10177:36:91"},{"condition":{"id":49330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10316:23:91","subExpression":{"baseExpression":{"expression":{"id":49326,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49112,"src":"10317:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49327,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10319:13:91","memberName":"_hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":48978,"src":"10317:15:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":49329,"indexExpression":{"id":49328,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49090,"src":"10333:5:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10317:22:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49340,"nodeType":"IfStatement","src":"10312:73:91","trueBody":{"id":49339,"nodeType":"Block","src":"10341:44:91","statements":[{"expression":{"id":49337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":49331,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49112,"src":"10349:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10351:13:91","memberName":"_hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":48978,"src":"10349:15:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":49335,"indexExpression":{"id":49333,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49090,"src":"10365:5:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10349:22:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":49336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10374:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"10349:29:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49338,"nodeType":"ExpressionStatement","src":"10349:29:91"}]}},{"expression":{"arguments":[{"id":49344,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49117,"src":"10545:10:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49345,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49090,"src":"10557:5:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49346,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49123,"src":"10564:11:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":49349,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49123,"src":"10587:11:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49347,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"10577:4:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":49348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10582:4:91","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"10577:9:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":49350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10577:22:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":49341,"name":"voterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47053,"src":"10517:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IVoterRewards_$69092_$","typeString":"function () view returns (contract IVoterRewards)"}},"id":49342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10517:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":49343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10532:12:91","memberName":"registerVote","nodeType":"MemberAccess","referencedDeclaration":68931,"src":"10517:27:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256,uint256) external"}},"id":49351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10517:83:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49352,"nodeType":"ExpressionStatement","src":"10517:83:91"},{"eventCall":{"arguments":[{"id":49354,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49090,"src":"10672:5:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49355,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49088,"src":"10679:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49356,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"10688:4:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":49357,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49096,"src":"10694:7:91","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":49353,"name":"AllocationVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45853,"src":"10653:18:91","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory)"}},"id":49358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10653:49:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49359,"nodeType":"EmitStatement","src":"10648:54:91"}]},"documentation":{"id":49086,"nodeType":"StructuredDocumentation","src":"5271:1289:91","text":" @dev Counts votes for a given round of voting, applying quadratic funding principles.\n Allows a voter to allocate weights to various applications (apps) for a specific voting round,\n ensuring each voter votes only once per round to prevent double voting.\n Quadratic funding is used to calculate the impact of each vote. For each app, the square root of the \n individual vote's weight is computed and added to the total sum of square roots for that app.\n After updating with each vote, this sum of square roots is squared to determine the total quadratic funding votes for the app. \n This method aims to democratize the voting process by amplifying the influence of a larger number of smaller votes.\n Requirements:\n - The voter must not have voted in this round already.\n - The total voting weight allocated by the voter must not exceed the voter's available voting power.\n - Each app voted on must be eligible for votes in the current round.\n @param roundId The identifier of the current voting round.\n @param voter The address of the voter casting the votes.\n @param apps An array of app identifiers that the voter is allocating votes to.\n @param weights An array of vote weights corresponding to each app."},"id":49361,"implemented":true,"kind":"function","modifiers":[],"name":"_countVote","nameLocation":"6573:10:91","nodeType":"FunctionDefinition","overrides":{"id":49098,"nodeType":"OverrideSpecifier","overrides":[],"src":"6702:8:91"},"parameters":{"id":49097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49088,"mutability":"mutable","name":"roundId","nameLocation":"6597:7:91","nodeType":"VariableDeclaration","scope":49361,"src":"6589:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49087,"name":"uint256","nodeType":"ElementaryTypeName","src":"6589:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49090,"mutability":"mutable","name":"voter","nameLocation":"6618:5:91","nodeType":"VariableDeclaration","scope":49361,"src":"6610:13:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49089,"name":"address","nodeType":"ElementaryTypeName","src":"6610:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49093,"mutability":"mutable","name":"apps","nameLocation":"6646:4:91","nodeType":"VariableDeclaration","scope":49361,"src":"6629:21:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":49091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6629:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":49092,"nodeType":"ArrayTypeName","src":"6629:9:91","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":49096,"mutability":"mutable","name":"weights","nameLocation":"6673:7:91","nodeType":"VariableDeclaration","scope":49361,"src":"6656:24:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":49094,"name":"uint256","nodeType":"ElementaryTypeName","src":"6656:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49095,"nodeType":"ArrayTypeName","src":"6656:9:91","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6583:101:91"},"returnParameters":{"id":49099,"nodeType":"ParameterList","parameters":[],"src":"6711:0:91"},"scope":49575,"src":"6564:4143:91","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[45990],"body":{"id":49386,"nodeType":"Block","src":"10889:134:91","statements":[{"assignments":[49374],"declarations":[{"constant":false,"id":49374,"mutability":"mutable","name":"$","nameLocation":"10929:1:91","nodeType":"VariableDeclaration","scope":49386,"src":"10895:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49373,"nodeType":"UserDefinedTypeName","pathNode":{"id":49372,"name":"RoundVotesCountingStorage","nameLocations":["10895:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"10895:25:91"},"referencedDeclaration":48986,"src":"10895:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49377,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49375,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"10933:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10933:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10895:69:91"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":49378,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49374,"src":"10977:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10979:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"10977:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49381,"indexExpression":{"id":49380,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49364,"src":"10991:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10977:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49382,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11000:13:91","memberName":"votesReceived","nodeType":"MemberAccess","referencedDeclaration":48958,"src":"10977:36:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":49384,"indexExpression":{"id":49383,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49366,"src":"11014:3:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10977:41:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49371,"id":49385,"nodeType":"Return","src":"10970:48:91"}]},"documentation":{"id":49362,"nodeType":"StructuredDocumentation","src":"10711:85:91","text":" @dev Get the votes received by a specific application in a given round"},"functionSelector":"4bb5181a","id":49387,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotes","nameLocation":"10808:11:91","nodeType":"FunctionDefinition","overrides":{"id":49368,"nodeType":"OverrideSpecifier","overrides":[],"src":"10862:8:91"},"parameters":{"id":49367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49364,"mutability":"mutable","name":"roundId","nameLocation":"10828:7:91","nodeType":"VariableDeclaration","scope":49387,"src":"10820:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49363,"name":"uint256","nodeType":"ElementaryTypeName","src":"10820:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49366,"mutability":"mutable","name":"app","nameLocation":"10845:3:91","nodeType":"VariableDeclaration","scope":49387,"src":"10837:11:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10837:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10819:30:91"},"returnParameters":{"id":49371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49370,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49387,"src":"10880:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49369,"name":"uint256","nodeType":"ElementaryTypeName","src":"10880:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10879:9:91"},"scope":49575,"src":"10799:224:91","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46000],"body":{"id":49412,"nodeType":"Block","src":"11225:136:91","statements":[{"assignments":[49400],"declarations":[{"constant":false,"id":49400,"mutability":"mutable","name":"$","nameLocation":"11265:1:91","nodeType":"VariableDeclaration","scope":49412,"src":"11231:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49399,"nodeType":"UserDefinedTypeName","pathNode":{"id":49398,"name":"RoundVotesCountingStorage","nameLocations":["11231:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"11231:25:91"},"referencedDeclaration":48986,"src":"11231:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49403,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49401,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"11269:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11269:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11231:69:91"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":49404,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49400,"src":"11313:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11315:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"11313:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49407,"indexExpression":{"id":49406,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49390,"src":"11327:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11313:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11336:15:91","memberName":"votesReceivedQF","nodeType":"MemberAccess","referencedDeclaration":48962,"src":"11313:38:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":49410,"indexExpression":{"id":49409,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49392,"src":"11352:3:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11313:43:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49397,"id":49411,"nodeType":"Return","src":"11306:50:91"}]},"documentation":{"id":49388,"nodeType":"StructuredDocumentation","src":"11027:103:91","text":" @dev Get the quadratic funding votes received by a specific application in a given round"},"functionSelector":"bed73010","id":49413,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotesQF","nameLocation":"11142:13:91","nodeType":"FunctionDefinition","overrides":{"id":49394,"nodeType":"OverrideSpecifier","overrides":[],"src":"11198:8:91"},"parameters":{"id":49393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49390,"mutability":"mutable","name":"roundId","nameLocation":"11164:7:91","nodeType":"VariableDeclaration","scope":49413,"src":"11156:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49389,"name":"uint256","nodeType":"ElementaryTypeName","src":"11156:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49392,"mutability":"mutable","name":"app","nameLocation":"11181:3:91","nodeType":"VariableDeclaration","scope":49413,"src":"11173:11:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11173:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11155:30:91"},"returnParameters":{"id":49397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49396,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49413,"src":"11216:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49395,"name":"uint256","nodeType":"ElementaryTypeName","src":"11216:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11215:9:91"},"scope":49575,"src":"11133:228:91","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46008],"body":{"id":49434,"nodeType":"Block","src":"11525:128:91","statements":[{"assignments":[49424],"declarations":[{"constant":false,"id":49424,"mutability":"mutable","name":"$","nameLocation":"11565:1:91","nodeType":"VariableDeclaration","scope":49434,"src":"11531:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49423,"nodeType":"UserDefinedTypeName","pathNode":{"id":49422,"name":"RoundVotesCountingStorage","nameLocations":["11531:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"11531:25:91"},"referencedDeclaration":48986,"src":"11531:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49427,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49425,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"11569:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11569:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11531:69:91"},{"expression":{"expression":{"baseExpression":{"expression":{"id":49428,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49424,"src":"11613:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11615:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"11613:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49431,"indexExpression":{"id":49430,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49416,"src":"11627:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11613:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11636:12:91","memberName":"totalVotesQF","nodeType":"MemberAccess","referencedDeclaration":48966,"src":"11613:35:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49421,"id":49433,"nodeType":"Return","src":"11606:42:91"}]},"documentation":{"id":49414,"nodeType":"StructuredDocumentation","src":"11365:79:91","text":" @dev Get the total quadratic funding votes cast in a given round"},"functionSelector":"fb03ec6f","id":49435,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotesQF","nameLocation":"11456:12:91","nodeType":"FunctionDefinition","overrides":{"id":49418,"nodeType":"OverrideSpecifier","overrides":[],"src":"11498:8:91"},"parameters":{"id":49417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49416,"mutability":"mutable","name":"roundId","nameLocation":"11477:7:91","nodeType":"VariableDeclaration","scope":49435,"src":"11469:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49415,"name":"uint256","nodeType":"ElementaryTypeName","src":"11469:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11468:17:91"},"returnParameters":{"id":49421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49435,"src":"11516:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49419,"name":"uint256","nodeType":"ElementaryTypeName","src":"11516:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11515:9:91"},"scope":49575,"src":"11447:206:91","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[45972],"body":{"id":49456,"nodeType":"Block","src":"11797:126:91","statements":[{"assignments":[49446],"declarations":[{"constant":false,"id":49446,"mutability":"mutable","name":"$","nameLocation":"11837:1:91","nodeType":"VariableDeclaration","scope":49456,"src":"11803:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49445,"nodeType":"UserDefinedTypeName","pathNode":{"id":49444,"name":"RoundVotesCountingStorage","nameLocations":["11803:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"11803:25:91"},"referencedDeclaration":48986,"src":"11803:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49449,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49447,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"11841:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11841:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11803:69:91"},{"expression":{"expression":{"baseExpression":{"expression":{"id":49450,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49446,"src":"11885:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11887:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"11885:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49453,"indexExpression":{"id":49452,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49438,"src":"11899:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11885:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49454,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11908:10:91","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":48964,"src":"11885:33:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49443,"id":49455,"nodeType":"Return","src":"11878:40:91"}]},"documentation":{"id":49436,"nodeType":"StructuredDocumentation","src":"11657:61:91","text":" @dev Get the total votes cast in a given round"},"functionSelector":"19e6e158","id":49457,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotes","nameLocation":"11730:10:91","nodeType":"FunctionDefinition","overrides":{"id":49440,"nodeType":"OverrideSpecifier","overrides":[],"src":"11770:8:91"},"parameters":{"id":49439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49438,"mutability":"mutable","name":"roundId","nameLocation":"11749:7:91","nodeType":"VariableDeclaration","scope":49457,"src":"11741:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49437,"name":"uint256","nodeType":"ElementaryTypeName","src":"11741:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11740:17:91"},"returnParameters":{"id":49443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49442,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49457,"src":"11788:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49441,"name":"uint256","nodeType":"ElementaryTypeName","src":"11788:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11787:9:91"},"scope":49575,"src":"11721:202:91","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[45980],"body":{"id":49478,"nodeType":"Block","src":"12074:127:91","statements":[{"assignments":[49468],"declarations":[{"constant":false,"id":49468,"mutability":"mutable","name":"$","nameLocation":"12114:1:91","nodeType":"VariableDeclaration","scope":49478,"src":"12080:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49467,"nodeType":"UserDefinedTypeName","pathNode":{"id":49466,"name":"RoundVotesCountingStorage","nameLocations":["12080:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"12080:25:91"},"referencedDeclaration":48986,"src":"12080:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49471,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49469,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"12118:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12118:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12080:69:91"},{"expression":{"expression":{"baseExpression":{"expression":{"id":49472,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49468,"src":"12162:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12164:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"12162:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49475,"indexExpression":{"id":49474,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49460,"src":"12176:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12162:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12185:11:91","memberName":"totalVoters","nodeType":"MemberAccess","referencedDeclaration":48972,"src":"12162:34:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49465,"id":49477,"nodeType":"Return","src":"12155:41:91"}]},"documentation":{"id":49458,"nodeType":"StructuredDocumentation","src":"11927:67:91","text":" @dev Get the total number of voters in a given round"},"functionSelector":"498d91bf","id":49479,"implemented":true,"kind":"function","modifiers":[],"name":"totalVoters","nameLocation":"12006:11:91","nodeType":"FunctionDefinition","overrides":{"id":49462,"nodeType":"OverrideSpecifier","overrides":[],"src":"12047:8:91"},"parameters":{"id":49461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49460,"mutability":"mutable","name":"roundId","nameLocation":"12026:7:91","nodeType":"VariableDeclaration","scope":49479,"src":"12018:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49459,"name":"uint256","nodeType":"ElementaryTypeName","src":"12018:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12017:17:91"},"returnParameters":{"id":49465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49479,"src":"12065:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49463,"name":"uint256","nodeType":"ElementaryTypeName","src":"12065:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12064:9:91"},"scope":49575,"src":"11997:204:91","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":49494,"nodeType":"Block","src":"12379:110:91","statements":[{"assignments":[49487],"declarations":[{"constant":false,"id":49487,"mutability":"mutable","name":"$","nameLocation":"12419:1:91","nodeType":"VariableDeclaration","scope":49494,"src":"12385:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49486,"nodeType":"UserDefinedTypeName","pathNode":{"id":49485,"name":"RoundVotesCountingStorage","nameLocations":["12385:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"12385:25:91"},"referencedDeclaration":48986,"src":"12385:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49490,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49488,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"12423:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12423:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12385:69:91"},{"expression":{"expression":{"id":49491,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49487,"src":"12467:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49492,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12469:15:91","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":48985,"src":"12467:17:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49484,"id":49493,"nodeType":"Return","src":"12460:24:91"}]},"documentation":{"id":49480,"nodeType":"StructuredDocumentation","src":"12205:106:91","text":" @notice The voting threshold.\n @dev The minimum number of tokens needed to cast a vote."},"functionSelector":"62827733","id":49495,"implemented":true,"kind":"function","modifiers":[],"name":"votingThreshold","nameLocation":"12323:15:91","nodeType":"FunctionDefinition","parameters":{"id":49481,"nodeType":"ParameterList","parameters":[],"src":"12338:2:91"},"returnParameters":{"id":49484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49495,"src":"12370:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49482,"name":"uint256","nodeType":"ElementaryTypeName","src":"12370:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12369:9:91"},"scope":49575,"src":"12314:175:91","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46018],"body":{"id":49519,"nodeType":"Block","src":"12634:130:91","statements":[{"assignments":[49507],"declarations":[{"constant":false,"id":49507,"mutability":"mutable","name":"$","nameLocation":"12674:1:91","nodeType":"VariableDeclaration","scope":49519,"src":"12640:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49506,"nodeType":"UserDefinedTypeName","pathNode":{"id":49505,"name":"RoundVotesCountingStorage","nameLocations":["12640:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"12640:25:91"},"referencedDeclaration":48986,"src":"12640:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49510,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49508,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"12678:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12678:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12640:69:91"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":49511,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49507,"src":"12722:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12724:11:91","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":48983,"src":"12722:13:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$48973_storage_$","typeString":"mapping(uint256 => struct RoundVotesCountingUpgradeableV8.RoundVote storage ref)"}},"id":49514,"indexExpression":{"id":49513,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49498,"src":"12736:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12722:22:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$48973_storage","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVote storage ref"}},"id":49515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12745:8:91","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":48970,"src":"12722:31:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":49517,"indexExpression":{"id":49516,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49500,"src":"12754:4:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12722:37:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":49504,"id":49518,"nodeType":"Return","src":"12715:44:91"}]},"documentation":{"id":49496,"nodeType":"StructuredDocumentation","src":"12493:62:91","text":" @dev Check if a user has voted in a given round"},"functionSelector":"43859632","id":49520,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"12567:8:91","nodeType":"FunctionDefinition","parameters":{"id":49501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49498,"mutability":"mutable","name":"roundId","nameLocation":"12584:7:91","nodeType":"VariableDeclaration","scope":49520,"src":"12576:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49497,"name":"uint256","nodeType":"ElementaryTypeName","src":"12576:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49500,"mutability":"mutable","name":"user","nameLocation":"12601:4:91","nodeType":"VariableDeclaration","scope":49520,"src":"12593:12:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49499,"name":"address","nodeType":"ElementaryTypeName","src":"12593:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12575:31:91"},"returnParameters":{"id":49504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49520,"src":"12628:4:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49502,"name":"bool","nodeType":"ElementaryTypeName","src":"12628:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12627:6:91"},"scope":49575,"src":"12558:206:91","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[46937],"body":{"id":49539,"nodeType":"Block","src":"12947:71:91","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":49531,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49523,"src":"12981:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49530,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47005,"src":"12967:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":49532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12967:22:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49529,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46997,"src":"12960:6:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":49533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12960:30:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"id":49535,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49523,"src":"13005:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49534,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49457,"src":"12994:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":49536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12994:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12960:53:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":49528,"id":49538,"nodeType":"Return","src":"12953:60:91"}]},"documentation":{"id":49521,"nodeType":"StructuredDocumentation","src":"12768:89:91","text":" @dev Internal function to check if the quorum is reached for a given round"},"id":49540,"implemented":true,"kind":"function","modifiers":[],"name":"_quorumReached","nameLocation":"12869:14:91","nodeType":"FunctionDefinition","overrides":{"id":49525,"nodeType":"OverrideSpecifier","overrides":[],"src":"12923:8:91"},"parameters":{"id":49524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49523,"mutability":"mutable","name":"roundId","nameLocation":"12892:7:91","nodeType":"VariableDeclaration","scope":49540,"src":"12884:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49522,"name":"uint256","nodeType":"ElementaryTypeName","src":"12884:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12883:17:91"},"returnParameters":{"id":49528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49540,"src":"12941:4:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49526,"name":"bool","nodeType":"ElementaryTypeName","src":"12941:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12940:6:91"},"scope":49575,"src":"12860:158:91","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[46945],"body":{"id":49553,"nodeType":"Block","src":"13198:88:91","statements":[{"expression":{"arguments":[{"id":49550,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49543,"src":"13273:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49549,"name":"_quorumReached","nodeType":"Identifier","overloadedDeclarations":[49540],"referencedDeclaration":49540,"src":"13258:14:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":49551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13258:23:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":49548,"id":49552,"nodeType":"Return","src":"13251:30:91"}]},"documentation":{"id":49541,"nodeType":"StructuredDocumentation","src":"13022:86:91","text":" @dev Internal function to check if the vote succeeded for a given round"},"id":49554,"implemented":true,"kind":"function","modifiers":[],"name":"_voteSucceeded","nameLocation":"13120:14:91","nodeType":"FunctionDefinition","overrides":{"id":49545,"nodeType":"OverrideSpecifier","overrides":[],"src":"13174:8:91"},"parameters":{"id":49544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49543,"mutability":"mutable","name":"roundId","nameLocation":"13143:7:91","nodeType":"VariableDeclaration","scope":49554,"src":"13135:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49542,"name":"uint256","nodeType":"ElementaryTypeName","src":"13135:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13134:17:91"},"returnParameters":{"id":49548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49547,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49554,"src":"13192:4:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49546,"name":"bool","nodeType":"ElementaryTypeName","src":"13192:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13191:6:91"},"scope":49575,"src":"13111:175:91","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[46147],"body":{"id":49573,"nodeType":"Block","src":"13451:114:91","statements":[{"assignments":[49564],"declarations":[{"constant":false,"id":49564,"mutability":"mutable","name":"$","nameLocation":"13491:1:91","nodeType":"VariableDeclaration","scope":49573,"src":"13457:35:91","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"},"typeName":{"id":49563,"nodeType":"UserDefinedTypeName","pathNode":{"id":49562,"name":"RoundVotesCountingStorage","nameLocations":["13457:25:91"],"nodeType":"IdentifierPath","referencedDeclaration":48986,"src":"13457:25:91"},"referencedDeclaration":48986,"src":"13457:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":49567,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49565,"name":"_getRoundVotesCountingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48997,"src":"13495:29:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$48986_storage_ptr_$","typeString":"function () pure returns (struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer)"}},"id":49566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13495:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13457:69:91"},{"expression":{"baseExpression":{"expression":{"id":49568,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49564,"src":"13539:1:91","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$48986_storage_ptr","typeString":"struct RoundVotesCountingUpgradeableV8.RoundVotesCountingStorage storage pointer"}},"id":49569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13541:13:91","memberName":"_hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":48978,"src":"13539:15:91","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":49571,"indexExpression":{"id":49570,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49557,"src":"13555:4:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13539:21:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":49561,"id":49572,"nodeType":"Return","src":"13532:28:91"}]},"documentation":{"id":49555,"nodeType":"StructuredDocumentation","src":"13290:95:91","text":" @dev Check if a user has voted at least once from the deployment of the contract"},"functionSelector":"9aeb962b","id":49574,"implemented":true,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"13397:12:91","nodeType":"FunctionDefinition","parameters":{"id":49558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49557,"mutability":"mutable","name":"user","nameLocation":"13418:4:91","nodeType":"VariableDeclaration","scope":49574,"src":"13410:12:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49556,"name":"address","nodeType":"ElementaryTypeName","src":"13410:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13409:14:91"},"returnParameters":{"id":49561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49574,"src":"13445:4:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49559,"name":"bool","nodeType":"ElementaryTypeName","src":"13445:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13444:6:91"},"scope":49575,"src":"13388:177:91","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":49576,"src":"1914:11653:91","usedErrors":[1495,1498,7025,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813,49006],"usedEvents":[1503,45826,45840,45853,45866,45873,45881,49003]}],"src":"1195:12373:91"},"id":91},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol","exportedSymbols":{"Initializable":[1732],"RoundsStorageUpgradeableV8":[50017],"SafeCast":[8770],"X2EarnAppsDataTypes":[71147],"XAllocationVotingGovernor":[47146]},"id":50018,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":49577,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:92"},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","file":"../XAllocationVotingGovernorV8.sol","id":49579,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50018,"sourceUnit":47147,"src":"1220:110:92","symbolAliases":[{"foreign":{"id":49578,"name":"XAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47146,"src":"1229:27:92","typeDescriptions":{}},"local":"XAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":49581,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50018,"sourceUnit":1733,"src":"1331:98:92","symbolAliases":[{"foreign":{"id":49580,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1340:13:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":49583,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50018,"sourceUnit":8771,"src":"1430:75:92","symbolAliases":[{"foreign":{"id":49582,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1439:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/libraries/X2EarnAppsDataTypes.sol","file":"../../../../libraries/X2EarnAppsDataTypes.sol","id":49585,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50018,"sourceUnit":71148,"src":"1506:84:92","symbolAliases":[{"foreign":{"id":49584,"name":"X2EarnAppsDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71147,"src":"1515:19:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":49587,"name":"Initializable","nameLocations":["1791:13:92"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1791:13:92"},"id":49588,"nodeType":"InheritanceSpecifier","src":"1791:13:92"},{"baseName":{"id":49589,"name":"XAllocationVotingGovernor","nameLocations":["1806:25:92"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"1806:25:92"},"id":49590,"nodeType":"InheritanceSpecifier","src":"1806:25:92"}],"canonicalName":"RoundsStorageUpgradeableV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":49586,"nodeType":"StructuredDocumentation","src":"1592:150:92","text":" @title RoundsStorageUpgradeable\n @dev Extension of {XAllocationVotingGovernor} for storing rounds data and managing the rounds lifecycle."},"fullyImplemented":false,"id":50017,"linearizedBaseContracts":[50017,47146,46200,4552,4332,5961,3987,1732],"name":"RoundsStorageUpgradeableV8","nameLocation":"1761:26:92","nodeType":"ContractDefinition","nodes":[{"canonicalName":"RoundsStorageUpgradeableV8.RoundCore","id":49597,"members":[{"constant":false,"id":49592,"mutability":"mutable","name":"proposer","nameLocation":"1867:8:92","nodeType":"VariableDeclaration","scope":49597,"src":"1859:16:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49591,"name":"address","nodeType":"ElementaryTypeName","src":"1859:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49594,"mutability":"mutable","name":"voteStart","nameLocation":"1888:9:92","nodeType":"VariableDeclaration","scope":49597,"src":"1881:16:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":49593,"name":"uint48","nodeType":"ElementaryTypeName","src":"1881:6:92","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":49596,"mutability":"mutable","name":"voteDuration","nameLocation":"1910:12:92","nodeType":"VariableDeclaration","scope":49597,"src":"1903:19:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":49595,"name":"uint32","nodeType":"ElementaryTypeName","src":"1903:6:92","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"name":"RoundCore","nameLocation":"1843:9:92","nodeType":"StructDefinition","scope":50017,"src":"1836:91:92","visibility":"public"},{"canonicalName":"RoundsStorageUpgradeableV8.RoundsStorageStorage","documentation":{"id":49598,"nodeType":"StructuredDocumentation","src":"1931:91:92","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.RoundsStorage"},"id":49611,"members":[{"constant":false,"id":49600,"mutability":"mutable","name":"_roundCount","nameLocation":"2067:11:92","nodeType":"VariableDeclaration","scope":49611,"src":"2059:19:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49599,"name":"uint256","nodeType":"ElementaryTypeName","src":"2059:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49605,"mutability":"mutable","name":"_rounds","nameLocation":"2197:7:92","nodeType":"VariableDeclaration","scope":49611,"src":"2159:45:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$49597_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV8.RoundCore)"},"typeName":{"id":49604,"keyName":"roundId","keyNameLocation":"2175:7:92","keyType":{"id":49601,"name":"uint256","nodeType":"ElementaryTypeName","src":"2167:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2159:37:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$49597_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV8.RoundCore)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":49603,"nodeType":"UserDefinedTypeName","pathNode":{"id":49602,"name":"RoundCore","nameLocations":["2186:9:92"],"nodeType":"IdentifierPath","referencedDeclaration":49597,"src":"2186:9:92"},"referencedDeclaration":49597,"src":"2186:9:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundCore"}}},"visibility":"internal"},{"constant":false,"id":49610,"mutability":"mutable","name":"_appsEligibleForVoting","nameLocation":"2283:22:92","nodeType":"VariableDeclaration","scope":49611,"src":"2245:60:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[])"},"typeName":{"id":49609,"keyName":"roundId","keyNameLocation":"2261:7:92","keyType":{"id":49606,"name":"uint256","nodeType":"ElementaryTypeName","src":"2253:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2245:37:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":49607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2272:7:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":49608,"nodeType":"ArrayTypeName","src":"2272:9:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"visibility":"internal"}],"name":"RoundsStorageStorage","nameLocation":"2032:20:92","nodeType":"StructDefinition","scope":50017,"src":"2025:348:92","visibility":"public"},{"constant":true,"id":49614,"mutability":"constant","name":"RoundsStorageStorageLocation","nameLocation":"2537:28:92","nodeType":"VariableDeclaration","scope":50017,"src":"2512:126:92","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2512:7:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307830663532313063343763336262373363343731373730613163626235623764646330336330656338383636393463633137616532316431663539356631393030","id":49613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2572:66:92","typeDescriptions":{"typeIdentifier":"t_rational_6929689913235208558324634004230702343375600041120498433503329356232945244416_by_1","typeString":"int_const 6929...(68 digits omitted)...4416"},"value":"0x0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f1900"},"visibility":"private"},{"body":{"id":49621,"nodeType":"Block","src":"2734:71:92","statements":[{"AST":{"nodeType":"YulBlock","src":"2749:52:92","statements":[{"nodeType":"YulAssignment","src":"2757:38:92","value":{"name":"RoundsStorageStorageLocation","nodeType":"YulIdentifier","src":"2767:28:92"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2757:6:92"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":49618,"isOffset":false,"isSlot":true,"src":"2757:6:92","suffix":"slot","valueSize":1},{"declaration":49614,"isOffset":false,"isSlot":false,"src":"2767:28:92","valueSize":1}],"id":49620,"nodeType":"InlineAssembly","src":"2740:61:92"}]},"id":49622,"implemented":true,"kind":"function","modifiers":[],"name":"_getRoundsStorageStorage","nameLocation":"2652:24:92","nodeType":"FunctionDefinition","parameters":{"id":49615,"nodeType":"ParameterList","parameters":[],"src":"2676:2:92"},"returnParameters":{"id":49619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49618,"mutability":"mutable","name":"$","nameLocation":"2731:1:92","nodeType":"VariableDeclaration","scope":49622,"src":"2702:30:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"},"typeName":{"id":49617,"nodeType":"UserDefinedTypeName","pathNode":{"id":49616,"name":"RoundsStorageStorage","nameLocations":["2702:20:92"],"nodeType":"IdentifierPath","referencedDeclaration":49611,"src":"2702:20:92"},"referencedDeclaration":49611,"src":"2702:20:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"}},"visibility":"internal"}],"src":"2701:32:92"},"scope":50017,"src":"2643:162:92","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":49631,"nodeType":"Block","src":"2914:43:92","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":49628,"name":"__RoundsStorage_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49638,"src":"2920:30:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":49629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2920:32:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49630,"nodeType":"ExpressionStatement","src":"2920:32:92"}]},"documentation":{"id":49623,"nodeType":"StructuredDocumentation","src":"2809:44:92","text":" @dev Initializes the contract"},"id":49632,"implemented":true,"kind":"function","modifiers":[{"id":49626,"kind":"modifierInvocation","modifierName":{"id":49625,"name":"onlyInitializing","nameLocations":["2897:16:92"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2897:16:92"},"nodeType":"ModifierInvocation","src":"2897:16:92"}],"name":"__RoundsStorage_init","nameLocation":"2865:20:92","nodeType":"FunctionDefinition","parameters":{"id":49624,"nodeType":"ParameterList","parameters":[],"src":"2885:2:92"},"returnParameters":{"id":49627,"nodeType":"ParameterList","parameters":[],"src":"2914:0:92"},"scope":50017,"src":"2856:101:92","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":49637,"nodeType":"Block","src":"3029:2:92","statements":[]},"id":49638,"implemented":true,"kind":"function","modifiers":[{"id":49635,"kind":"modifierInvocation","modifierName":{"id":49634,"name":"onlyInitializing","nameLocations":["3012:16:92"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3012:16:92"},"nodeType":"ModifierInvocation","src":"3012:16:92"}],"name":"__RoundsStorage_init_unchained","nameLocation":"2970:30:92","nodeType":"FunctionDefinition","parameters":{"id":49633,"nodeType":"ParameterList","parameters":[],"src":"3000:2:92"},"returnParameters":{"id":49636,"nodeType":"ParameterList","parameters":[],"src":"3029:0:92"},"scope":50017,"src":"2961:70:92","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[46953],"body":{"id":49789,"nodeType":"Block","src":"3356:1396:92","statements":[{"assignments":[49649],"declarations":[{"constant":false,"id":49649,"mutability":"mutable","name":"$","nameLocation":"3391:1:92","nodeType":"VariableDeclaration","scope":49789,"src":"3362:30:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"},"typeName":{"id":49648,"nodeType":"UserDefinedTypeName","pathNode":{"id":49647,"name":"RoundsStorageStorage","nameLocations":["3362:20:92"],"nodeType":"IdentifierPath","referencedDeclaration":49611,"src":"3362:20:92"},"referencedDeclaration":49611,"src":"3362:20:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"}},"visibility":"internal"}],"id":49652,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49650,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49622,"src":"3395:24:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$49611_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer)"}},"id":49651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3395:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3362:59:92"},{"expression":{"id":49655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"3428:15:92","subExpression":{"expression":{"id":49653,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49649,"src":"3430:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49654,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3432:11:92","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":49600,"src":"3430:13:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49656,"nodeType":"ExpressionStatement","src":"3428:15:92"},{"expression":{"id":49660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49657,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"3449:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":49658,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49649,"src":"3459:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3461:11:92","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":49600,"src":"3459:13:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3449:23:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49661,"nodeType":"ExpressionStatement","src":"3449:23:92"},{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":49668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":49662,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49649,"src":"3482:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3484:7:92","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":49605,"src":"3482:9:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$49597_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV8.RoundCore storage ref)"}},"id":49665,"indexExpression":{"id":49664,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"3492:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3482:18:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage ref"}},"id":49666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3501:9:92","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":49594,"src":"3482:28:92","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":49667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3514:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3482:33:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49681,"nodeType":"IfStatement","src":"3478:126:92","trueBody":{"id":49680,"nodeType":"Block","src":"3517:87:92","statements":[{"errorCall":{"arguments":[{"id":49670,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"3561:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":49672,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"3576:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49671,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46810,"src":"3570:5:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$45736_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernorV8.RoundState)"}},"id":49673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"}},{"arguments":[{"hexValue":"30","id":49676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3594:1:92","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":49675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3586:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":49674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3586:7:92","typeDescriptions":{}}},"id":49677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3586:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RoundState_$45736","typeString":"enum IXAllocationVotingGovernorV8.RoundState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":49669,"name":"GovernorUnexpectedRoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"3532:28:92","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_RoundState_$45736_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum IXAllocationVotingGovernorV8.RoundState,bytes32) pure"}},"id":49678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3532:65:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49679,"nodeType":"RevertStatement","src":"3525:72:92"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49682,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"3652:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":49683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3662:1:92","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3652:11:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49692,"nodeType":"IfStatement","src":"3648:95:92","trueBody":{"id":49691,"nodeType":"Block","src":"3665:78:92","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49686,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"3724:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":49687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3734:1:92","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3724:11:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49685,"name":"finalizeRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46971,"src":"3710:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":49689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3710:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49690,"nodeType":"ExpressionStatement","src":"3710:26:92"}]}},{"assignments":[49697],"declarations":[{"constant":false,"id":49697,"mutability":"mutable","name":"apps","nameLocation":"3809:4:92","nodeType":"VariableDeclaration","scope":49789,"src":"3792:21:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":49695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3792:7:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":49696,"nodeType":"ArrayTypeName","src":"3792:9:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":49702,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":49698,"name":"x2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47032,"src":"3816:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IX2EarnApps_$69989_$","typeString":"function () view returns (contract IX2EarnApps)"}},"id":49699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3816:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":49700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3829:15:92","memberName":"allEligibleApps","nodeType":"MemberAccess","referencedDeclaration":69691,"src":"3816:28:92","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function () view external returns (bytes32[] memory)"}},"id":49701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3816:30:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3792:54:92"},{"expression":{"id":49709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":49703,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49649,"src":"3852:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3854:22:92","memberName":"_appsEligibleForVoting","nodeType":"MemberAccess","referencedDeclaration":49610,"src":"3852:24:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[] storage ref)"}},"id":49707,"indexExpression":{"id":49705,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"3877:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3852:33:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":49708,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49697,"src":"3888:4:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"3852:40:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":49710,"nodeType":"ExpressionStatement","src":"3852:40:92"},{"expression":{"arguments":[{"id":49712,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"3925:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49711,"name":"_snapshotRoundEarningsCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46929,"src":"3899:25:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":49713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3899:34:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49714,"nodeType":"ExpressionStatement","src":"3899:34:92"},{"assignments":[49716],"declarations":[{"constant":false,"id":49716,"mutability":"mutable","name":"snapshot","nameLocation":"3948:8:92","nodeType":"VariableDeclaration","scope":49789,"src":"3940:16:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49715,"name":"uint256","nodeType":"ElementaryTypeName","src":"3940:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49719,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49717,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46977,"src":"3959:5:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":49718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3959:7:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"3940:26:92"},{"assignments":[49721],"declarations":[{"constant":false,"id":49721,"mutability":"mutable","name":"duration","nameLocation":"3980:8:92","nodeType":"VariableDeclaration","scope":49789,"src":"3972:16:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49720,"name":"uint256","nodeType":"ElementaryTypeName","src":"3972:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49724,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49722,"name":"votingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46989,"src":"3991:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":49723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3991:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3972:33:92"},{"assignments":[49727],"declarations":[{"constant":false,"id":49727,"mutability":"mutable","name":"round","nameLocation":"4030:5:92","nodeType":"VariableDeclaration","scope":49789,"src":"4012:23:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundCore"},"typeName":{"id":49726,"nodeType":"UserDefinedTypeName","pathNode":{"id":49725,"name":"RoundCore","nameLocations":["4012:9:92"],"nodeType":"IdentifierPath","referencedDeclaration":49597,"src":"4012:9:92"},"referencedDeclaration":49597,"src":"4012:9:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundCore"}},"visibility":"internal"}],"id":49732,"initialValue":{"baseExpression":{"expression":{"id":49728,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49649,"src":"4038:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49729,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4040:7:92","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":49605,"src":"4038:9:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$49597_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV8.RoundCore storage ref)"}},"id":49731,"indexExpression":{"id":49730,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"4048:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4038:18:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4012:44:92"},{"expression":{"id":49737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":49733,"name":"round","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49727,"src":"4062:5:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage pointer"}},"id":49735,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4068:8:92","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":49592,"src":"4062:14:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":49736,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49641,"src":"4079:8:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4062:25:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":49738,"nodeType":"ExpressionStatement","src":"4062:25:92"},{"expression":{"id":49746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":49739,"name":"round","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49727,"src":"4093:5:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage pointer"}},"id":49741,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4099:9:92","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":49594,"src":"4093:15:92","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49744,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49716,"src":"4129:8:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49742,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4111:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":49743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4120:8:92","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"4111:17:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":49745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4111:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"4093:45:92","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":49747,"nodeType":"ExpressionStatement","src":"4093:45:92"},{"expression":{"id":49755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":49748,"name":"round","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49727,"src":"4144:5:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage pointer"}},"id":49750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4150:12:92","memberName":"voteDuration","nodeType":"MemberAccess","referencedDeclaration":49596,"src":"4144:18:92","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49753,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49721,"src":"4183:8:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49751,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4165:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":49752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4174:8:92","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":7826,"src":"4165:17:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":49754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4165:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"4144:48:92","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":49756,"nodeType":"ExpressionStatement","src":"4144:48:92"},{"assignments":[49759],"declarations":[{"constant":false,"id":49759,"mutability":"mutable","name":"totalAutoVotingUsers","nameLocation":"4386:20:92","nodeType":"VariableDeclaration","scope":49789,"src":"4378:28:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":49758,"name":"uint208","nodeType":"ElementaryTypeName","src":"4378:7:92","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"documentation":" Auto-voting:\n 1. Get the number of users with auto-voting enabled at round start\n 2. Set the total actions for this round in RelayerRewardsPool","id":49766,"initialValue":{"arguments":[{"arguments":[{"id":49763,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49716,"src":"4463:8:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49761,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4445:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":49762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4454:8:92","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"4445:17:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":49764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4445:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":49760,"name":"_getTotalAutoVotingUsersAtTimepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47126,"src":"4409:35:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view returns (uint208)"}},"id":49765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4409:64:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"4378:95:92"},{"condition":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":49769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49767,"name":"totalAutoVotingUsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49759,"src":"4483:20:92","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":49768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4506:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4483:24:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49778,"nodeType":"IfStatement","src":"4479:120:92","trueBody":{"id":49777,"nodeType":"Block","src":"4509:90:92","statements":[{"expression":{"arguments":[{"id":49773,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"4562:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49774,"name":"totalAutoVotingUsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49759,"src":"4571:20:92","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":49770,"name":"relayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47085,"src":"4517:18:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IRelayerRewardsPool_$67117_$","typeString":"function () view returns (contract IRelayerRewardsPool)"}},"id":49771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4517:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":49772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4538:23:92","memberName":"setTotalActionsForRound","nodeType":"MemberAccess","referencedDeclaration":67016,"src":"4517:44:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":49775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4517:75:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49776,"nodeType":"ExpressionStatement","src":"4517:75:92"}]}},{"eventCall":{"arguments":[{"id":49780,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49645,"src":"4623:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49781,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49641,"src":"4632:8:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49782,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49716,"src":"4642:8:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49783,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49716,"src":"4652:8:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":49784,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49721,"src":"4663:8:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4652:19:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49786,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49697,"src":"4673:4:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":49779,"name":"RoundCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45840,"src":"4610:12:92","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address,uint256,uint256,bytes32[] memory)"}},"id":49787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4610:68:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49788,"nodeType":"EmitStatement","src":"4605:73:92"}]},"documentation":{"id":49639,"nodeType":"StructuredDocumentation","src":"3068:191:92","text":" @dev Internal function to start a new round\n @param proposer The address of the proposer\n @return roundId The id of the new round\n Emits a {RoundCreated} event"},"id":49790,"implemented":true,"kind":"function","modifiers":[],"name":"_startNewRound","nameLocation":"3271:14:92","nodeType":"FunctionDefinition","overrides":{"id":49643,"nodeType":"OverrideSpecifier","overrides":[],"src":"3321:8:92"},"parameters":{"id":49642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49641,"mutability":"mutable","name":"proposer","nameLocation":"3294:8:92","nodeType":"VariableDeclaration","scope":49790,"src":"3286:16:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49640,"name":"address","nodeType":"ElementaryTypeName","src":"3286:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3285:18:92"},"returnParameters":{"id":49646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49645,"mutability":"mutable","name":"roundId","nameLocation":"3347:7:92","nodeType":"VariableDeclaration","scope":49790,"src":"3339:15:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49644,"name":"uint256","nodeType":"ElementaryTypeName","src":"3339:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3338:17:92"},"scope":50017,"src":"3262:1490:92","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":49810,"nodeType":"Block","src":"4911:101:92","statements":[{"assignments":[49801],"declarations":[{"constant":false,"id":49801,"mutability":"mutable","name":"$","nameLocation":"4946:1:92","nodeType":"VariableDeclaration","scope":49810,"src":"4917:30:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"},"typeName":{"id":49800,"nodeType":"UserDefinedTypeName","pathNode":{"id":49799,"name":"RoundsStorageStorage","nameLocations":["4917:20:92"],"nodeType":"IdentifierPath","referencedDeclaration":49611,"src":"4917:20:92"},"referencedDeclaration":49611,"src":"4917:20:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"}},"visibility":"internal"}],"id":49804,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49802,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49622,"src":"4950:24:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$49611_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer)"}},"id":49803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4950:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4917:59:92"},{"expression":{"baseExpression":{"expression":{"id":49805,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49801,"src":"4989:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4991:7:92","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":49605,"src":"4989:9:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$49597_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV8.RoundCore storage ref)"}},"id":49808,"indexExpression":{"id":49807,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49793,"src":"4999:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4989:18:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage ref"}},"functionReturnParameters":49798,"id":49809,"nodeType":"Return","src":"4982:25:92"}]},"documentation":{"id":49791,"nodeType":"StructuredDocumentation","src":"4789:43:92","text":" @dev Get the data of a round"},"functionSelector":"8f1327c0","id":49811,"implemented":true,"kind":"function","modifiers":[],"name":"getRound","nameLocation":"4844:8:92","nodeType":"FunctionDefinition","parameters":{"id":49794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49793,"mutability":"mutable","name":"roundId","nameLocation":"4861:7:92","nodeType":"VariableDeclaration","scope":49811,"src":"4853:15:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49792,"name":"uint256","nodeType":"ElementaryTypeName","src":"4853:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4852:17:92"},"returnParameters":{"id":49798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49797,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49811,"src":"4893:16:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_memory_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundCore"},"typeName":{"id":49796,"nodeType":"UserDefinedTypeName","pathNode":{"id":49795,"name":"RoundCore","nameLocations":["4893:9:92"],"nodeType":"IdentifierPath","referencedDeclaration":49597,"src":"4893:9:92"},"referencedDeclaration":49597,"src":"4893:9:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundCore"}},"visibility":"internal"}],"src":"4892:18:92"},"scope":50017,"src":"4835:177:92","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[47019],"body":{"id":49827,"nodeType":"Block","src":"5136:96:92","statements":[{"assignments":[49820],"declarations":[{"constant":false,"id":49820,"mutability":"mutable","name":"$","nameLocation":"5171:1:92","nodeType":"VariableDeclaration","scope":49827,"src":"5142:30:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"},"typeName":{"id":49819,"nodeType":"UserDefinedTypeName","pathNode":{"id":49818,"name":"RoundsStorageStorage","nameLocations":["5142:20:92"],"nodeType":"IdentifierPath","referencedDeclaration":49611,"src":"5142:20:92"},"referencedDeclaration":49611,"src":"5142:20:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"}},"visibility":"internal"}],"id":49823,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49821,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49622,"src":"5175:24:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$49611_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer)"}},"id":49822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5175:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5142:59:92"},{"expression":{"expression":{"id":49824,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49820,"src":"5214:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49825,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5216:11:92","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":49600,"src":"5214:13:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49817,"id":49826,"nodeType":"Return","src":"5207:20:92"}]},"documentation":{"id":49812,"nodeType":"StructuredDocumentation","src":"5016:44:92","text":" @dev Get the current round id"},"functionSelector":"9cbe5efd","id":49828,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"5072:14:92","nodeType":"FunctionDefinition","overrides":{"id":49814,"nodeType":"OverrideSpecifier","overrides":[],"src":"5109:8:92"},"parameters":{"id":49813,"nodeType":"ParameterList","parameters":[],"src":"5086:2:92"},"returnParameters":{"id":49817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49828,"src":"5127:7:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49815,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:9:92"},"scope":50017,"src":"5063:169:92","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[47025],"body":{"id":49840,"nodeType":"Block","src":"5371:49:92","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":49836,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[49828],"referencedDeclaration":49828,"src":"5398:14:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":49837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5398:16:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49835,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[49875],"referencedDeclaration":49875,"src":"5384:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":49838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5384:31:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49834,"id":49839,"nodeType":"Return","src":"5377:38:92"}]},"documentation":{"id":49829,"nodeType":"StructuredDocumentation","src":"5236:53:92","text":" @dev Get the current round start block"},"functionSelector":"561b64ef","id":49841,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"5301:20:92","nodeType":"FunctionDefinition","overrides":{"id":49831,"nodeType":"OverrideSpecifier","overrides":[],"src":"5344:8:92"},"parameters":{"id":49830,"nodeType":"ParameterList","parameters":[],"src":"5321:2:92"},"returnParameters":{"id":49834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49841,"src":"5362:7:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49832,"name":"uint256","nodeType":"ElementaryTypeName","src":"5362:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5361:9:92"},"scope":50017,"src":"5292:128:92","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46096],"body":{"id":49852,"nodeType":"Block","src":"5553:49:92","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":49848,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[49828],"referencedDeclaration":49828,"src":"5580:14:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":49849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5580:16:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49847,"name":"roundDeadline","nodeType":"Identifier","overloadedDeclarations":[49903],"referencedDeclaration":49903,"src":"5566:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":49850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5566:31:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49846,"id":49851,"nodeType":"Return","src":"5559:38:92"}]},"documentation":{"id":49842,"nodeType":"StructuredDocumentation","src":"5424:56:92","text":" @dev Get the current round deadline block"},"functionSelector":"59372812","id":49853,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundDeadline","nameLocation":"5492:20:92","nodeType":"FunctionDefinition","parameters":{"id":49843,"nodeType":"ParameterList","parameters":[],"src":"5512:2:92"},"returnParameters":{"id":49846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49853,"src":"5544:7:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49844,"name":"uint256","nodeType":"ElementaryTypeName","src":"5544:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5543:9:92"},"scope":50017,"src":"5483:119:92","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[47005],"body":{"id":49874,"nodeType":"Block","src":"5746:111:92","statements":[{"assignments":[49864],"declarations":[{"constant":false,"id":49864,"mutability":"mutable","name":"$","nameLocation":"5781:1:92","nodeType":"VariableDeclaration","scope":49874,"src":"5752:30:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"},"typeName":{"id":49863,"nodeType":"UserDefinedTypeName","pathNode":{"id":49862,"name":"RoundsStorageStorage","nameLocations":["5752:20:92"],"nodeType":"IdentifierPath","referencedDeclaration":49611,"src":"5752:20:92"},"referencedDeclaration":49611,"src":"5752:20:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"}},"visibility":"internal"}],"id":49867,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49865,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49622,"src":"5785:24:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$49611_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer)"}},"id":49866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5785:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5752:59:92"},{"expression":{"expression":{"baseExpression":{"expression":{"id":49868,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49864,"src":"5824:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5826:7:92","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":49605,"src":"5824:9:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$49597_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV8.RoundCore storage ref)"}},"id":49871,"indexExpression":{"id":49870,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49856,"src":"5834:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5824:18:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage ref"}},"id":49872,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5843:9:92","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":49594,"src":"5824:28:92","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":49861,"id":49873,"nodeType":"Return","src":"5817:35:92"}]},"documentation":{"id":49854,"nodeType":"StructuredDocumentation","src":"5606:50:92","text":" @dev Get the start block of a round"},"functionSelector":"d06efeda","id":49875,"implemented":true,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"5668:13:92","nodeType":"FunctionDefinition","overrides":{"id":49858,"nodeType":"OverrideSpecifier","overrides":[],"src":"5719:8:92"},"parameters":{"id":49857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49856,"mutability":"mutable","name":"roundId","nameLocation":"5690:7:92","nodeType":"VariableDeclaration","scope":49875,"src":"5682:15:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49855,"name":"uint256","nodeType":"ElementaryTypeName","src":"5682:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5681:17:92"},"returnParameters":{"id":49861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49875,"src":"5737:7:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49859,"name":"uint256","nodeType":"ElementaryTypeName","src":"5737:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5736:9:92"},"scope":50017,"src":"5659:198:92","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[47013],"body":{"id":49902,"nodeType":"Block","src":"6004:145:92","statements":[{"assignments":[49886],"declarations":[{"constant":false,"id":49886,"mutability":"mutable","name":"$","nameLocation":"6039:1:92","nodeType":"VariableDeclaration","scope":49902,"src":"6010:30:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"},"typeName":{"id":49885,"nodeType":"UserDefinedTypeName","pathNode":{"id":49884,"name":"RoundsStorageStorage","nameLocations":["6010:20:92"],"nodeType":"IdentifierPath","referencedDeclaration":49611,"src":"6010:20:92"},"referencedDeclaration":49611,"src":"6010:20:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"}},"visibility":"internal"}],"id":49889,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49887,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49622,"src":"6043:24:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$49611_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer)"}},"id":49888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6043:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6010:59:92"},{"expression":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":49900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":49890,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49886,"src":"6082:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6084:7:92","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":49605,"src":"6082:9:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$49597_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV8.RoundCore storage ref)"}},"id":49893,"indexExpression":{"id":49892,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49878,"src":"6092:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6082:18:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage ref"}},"id":49894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6101:9:92","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":49594,"src":"6082:28:92","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"baseExpression":{"expression":{"id":49895,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49886,"src":"6113:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49896,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6115:7:92","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":49605,"src":"6113:9:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$49597_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV8.RoundCore storage ref)"}},"id":49898,"indexExpression":{"id":49897,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49878,"src":"6123:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6113:18:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage ref"}},"id":49899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6132:12:92","memberName":"voteDuration","nodeType":"MemberAccess","referencedDeclaration":49596,"src":"6113:31:92","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"6082:62:92","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":49883,"id":49901,"nodeType":"Return","src":"6075:69:92"}]},"documentation":{"id":49876,"nodeType":"StructuredDocumentation","src":"5861:53:92","text":" @dev Get the deadline block of a round"},"functionSelector":"d3a368bd","id":49903,"implemented":true,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"5926:13:92","nodeType":"FunctionDefinition","overrides":{"id":49880,"nodeType":"OverrideSpecifier","overrides":[],"src":"5977:8:92"},"parameters":{"id":49879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49878,"mutability":"mutable","name":"roundId","nameLocation":"5948:7:92","nodeType":"VariableDeclaration","scope":49903,"src":"5940:15:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49877,"name":"uint256","nodeType":"ElementaryTypeName","src":"5940:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5939:17:92"},"returnParameters":{"id":49883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49882,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49903,"src":"5995:7:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49881,"name":"uint256","nodeType":"ElementaryTypeName","src":"5995:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5994:9:92"},"scope":50017,"src":"5917:232:92","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[45932],"body":{"id":49923,"nodeType":"Block","src":"6281:110:92","statements":[{"assignments":[49913],"declarations":[{"constant":false,"id":49913,"mutability":"mutable","name":"$","nameLocation":"6316:1:92","nodeType":"VariableDeclaration","scope":49923,"src":"6287:30:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"},"typeName":{"id":49912,"nodeType":"UserDefinedTypeName","pathNode":{"id":49911,"name":"RoundsStorageStorage","nameLocations":["6287:20:92"],"nodeType":"IdentifierPath","referencedDeclaration":49611,"src":"6287:20:92"},"referencedDeclaration":49611,"src":"6287:20:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"}},"visibility":"internal"}],"id":49916,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49914,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49622,"src":"6320:24:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$49611_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer)"}},"id":49915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6320:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6287:59:92"},{"expression":{"expression":{"baseExpression":{"expression":{"id":49917,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49913,"src":"6359:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49918,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6361:7:92","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":49605,"src":"6359:9:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$49597_storage_$","typeString":"mapping(uint256 => struct RoundsStorageUpgradeableV8.RoundCore storage ref)"}},"id":49920,"indexExpression":{"id":49919,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49906,"src":"6369:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6359:18:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$49597_storage","typeString":"struct RoundsStorageUpgradeableV8.RoundCore storage ref"}},"id":49921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6378:8:92","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":49592,"src":"6359:27:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":49910,"id":49922,"nodeType":"Return","src":"6352:34:92"}]},"documentation":{"id":49904,"nodeType":"StructuredDocumentation","src":"6153:47:92","text":" @dev Get the proposer of a round"},"functionSelector":"5320a147","id":49924,"implemented":true,"kind":"function","modifiers":[],"name":"roundProposer","nameLocation":"6212:13:92","nodeType":"FunctionDefinition","parameters":{"id":49907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49906,"mutability":"mutable","name":"roundId","nameLocation":"6234:7:92","nodeType":"VariableDeclaration","scope":49924,"src":"6226:15:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49905,"name":"uint256","nodeType":"ElementaryTypeName","src":"6226:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6225:17:92"},"returnParameters":{"id":49910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49924,"src":"6272:7:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49908,"name":"address","nodeType":"ElementaryTypeName","src":"6272:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6271:9:92"},"scope":50017,"src":"6203:188:92","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46113],"body":{"id":49945,"nodeType":"Block","src":"6563:116:92","statements":[{"assignments":[49936],"declarations":[{"constant":false,"id":49936,"mutability":"mutable","name":"$","nameLocation":"6598:1:92","nodeType":"VariableDeclaration","scope":49945,"src":"6569:30:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"},"typeName":{"id":49935,"nodeType":"UserDefinedTypeName","pathNode":{"id":49934,"name":"RoundsStorageStorage","nameLocations":["6569:20:92"],"nodeType":"IdentifierPath","referencedDeclaration":49611,"src":"6569:20:92"},"referencedDeclaration":49611,"src":"6569:20:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"}},"visibility":"internal"}],"id":49939,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49937,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49622,"src":"6602:24:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$49611_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer)"}},"id":49938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6602:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6569:59:92"},{"expression":{"baseExpression":{"expression":{"id":49940,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49936,"src":"6641:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6643:22:92","memberName":"_appsEligibleForVoting","nodeType":"MemberAccess","referencedDeclaration":49610,"src":"6641:24:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[] storage ref)"}},"id":49943,"indexExpression":{"id":49942,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49927,"src":"6666:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6641:33:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"functionReturnParameters":49933,"id":49944,"nodeType":"Return","src":"6634:40:92"}]},"documentation":{"id":49925,"nodeType":"StructuredDocumentation","src":"6395:74:92","text":" @dev Get the ids of the apps eligible for voting in a round"},"functionSelector":"7ace2485","id":49946,"implemented":true,"kind":"function","modifiers":[],"name":"getAppIdsOfRound","nameLocation":"6481:16:92","nodeType":"FunctionDefinition","overrides":{"id":49929,"nodeType":"OverrideSpecifier","overrides":[],"src":"6527:8:92"},"parameters":{"id":49928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49927,"mutability":"mutable","name":"roundId","nameLocation":"6506:7:92","nodeType":"VariableDeclaration","scope":49946,"src":"6498:15:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49926,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6497:17:92"},"returnParameters":{"id":49933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49932,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49946,"src":"6545:16:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":49930,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6545:7:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":49931,"nodeType":"ArrayTypeName","src":"6545:9:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6544:18:92"},"scope":50017,"src":"6472:207:92","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":50015,"nodeType":"Block","src":"7075:438:92","statements":[{"assignments":[49958],"declarations":[{"constant":false,"id":49958,"mutability":"mutable","name":"$","nameLocation":"7110:1:92","nodeType":"VariableDeclaration","scope":50015,"src":"7081:30:92","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"},"typeName":{"id":49957,"nodeType":"UserDefinedTypeName","pathNode":{"id":49956,"name":"RoundsStorageStorage","nameLocations":["7081:20:92"],"nodeType":"IdentifierPath","referencedDeclaration":49611,"src":"7081:20:92"},"referencedDeclaration":49611,"src":"7081:20:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage"}},"visibility":"internal"}],"id":49961,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49959,"name":"_getRoundsStorageStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49622,"src":"7114:24:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$49611_storage_ptr_$","typeString":"function () pure returns (struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer)"}},"id":49960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7114:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7081:59:92"},{"assignments":[49966],"declarations":[{"constant":false,"id":49966,"mutability":"mutable","name":"appsInRound","nameLocation":"7164:11:92","nodeType":"VariableDeclaration","scope":50015,"src":"7147:28:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":49964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7147:7:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":49965,"nodeType":"ArrayTypeName","src":"7147:9:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":49971,"initialValue":{"baseExpression":{"expression":{"id":49967,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49958,"src":"7178:1:92","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$49611_storage_ptr","typeString":"struct RoundsStorageUpgradeableV8.RoundsStorageStorage storage pointer"}},"id":49968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7180:22:92","memberName":"_appsEligibleForVoting","nodeType":"MemberAccess","referencedDeclaration":49610,"src":"7178:24:92","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[] storage ref)"}},"id":49970,"indexExpression":{"id":49969,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49949,"src":"7203:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7178:33:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7147:64:92"},{"assignments":[49973],"declarations":[{"constant":false,"id":49973,"mutability":"mutable","name":"length","nameLocation":"7225:6:92","nodeType":"VariableDeclaration","scope":50015,"src":"7217:14:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49972,"name":"uint256","nodeType":"ElementaryTypeName","src":"7217:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49976,"initialValue":{"expression":{"id":49974,"name":"appsInRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49966,"src":"7234:11:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":49975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7246:6:92","memberName":"length","nodeType":"MemberAccess","src":"7234:18:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7217:35:92"},{"assignments":[49982],"declarations":[{"constant":false,"id":49982,"mutability":"mutable","name":"allApps","nameLocation":"7312:7:92","nodeType":"VariableDeclaration","scope":50015,"src":"7258:61:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":49980,"nodeType":"UserDefinedTypeName","pathNode":{"id":49979,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["7258:19:92","7278:24:92"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"7258:44:92"},"referencedDeclaration":71146,"src":"7258:44:92","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":49981,"nodeType":"ArrayTypeName","src":"7258:46:92","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"id":49989,"initialValue":{"arguments":[{"id":49987,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49973,"src":"7380:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7322:50:92","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory)"},"typeName":{"baseType":{"id":49984,"nodeType":"UserDefinedTypeName","pathNode":{"id":49983,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["7326:19:92","7346:24:92"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"7326:44:92"},"referencedDeclaration":71146,"src":"7326:44:92","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":49985,"nodeType":"ArrayTypeName","src":"7326:46:92","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}}},"id":49988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7322:70:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7258:134:92"},{"body":{"id":50011,"nodeType":"Block","src":"7429:60:92","statements":[{"expression":{"id":50009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":49999,"name":"allApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49982,"src":"7437:7:92","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"id":50001,"indexExpression":{"id":50000,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49991,"src":"7445:1:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7437:10:92","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":50005,"name":"appsInRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49966,"src":"7467:11:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":50007,"indexExpression":{"id":50006,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49991,"src":"7479:1:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7467:14:92","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":50002,"name":"x2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47032,"src":"7450:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IX2EarnApps_$69989_$","typeString":"function () view returns (contract IX2EarnApps)"}},"id":50003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7450:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":50004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7463:3:92","memberName":"app","nodeType":"MemberAccess","referencedDeclaration":69489,"src":"7450:16:92","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$","typeString":"function (bytes32) view external returns (struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory)"}},"id":50008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7450:32:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory"}},"src":"7437:45:92","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory"}},"id":50010,"nodeType":"ExpressionStatement","src":"7437:45:92"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49993,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49991,"src":"7412:1:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":49994,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49973,"src":"7416:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7412:10:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50012,"initializationExpression":{"assignments":[49991],"declarations":[{"constant":false,"id":49991,"mutability":"mutable","name":"i","nameLocation":"7409:1:92","nodeType":"VariableDeclaration","scope":50012,"src":"7404:6:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49990,"name":"uint","nodeType":"ElementaryTypeName","src":"7404:4:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49992,"nodeType":"VariableDeclarationStatement","src":"7404:6:92"},"loopExpression":{"expression":{"id":49997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7424:3:92","subExpression":{"id":49996,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49991,"src":"7424:1:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49998,"nodeType":"ExpressionStatement","src":"7424:3:92"},"nodeType":"ForStatement","src":"7399:90:92"},{"expression":{"id":50013,"name":"allApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49982,"src":"7501:7:92","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"functionReturnParameters":49955,"id":50014,"nodeType":"Return","src":"7494:14:92"}]},"documentation":{"id":49947,"nodeType":"StructuredDocumentation","src":"6683:262:92","text":" @dev Get all the apps in the form of {App} eligible for voting in a round\n @notice This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound}\n and then call {IX2EarnApps-app} for each app id"},"functionSelector":"291605f7","id":50016,"implemented":true,"kind":"function","modifiers":[],"name":"getAppsOfRound","nameLocation":"6957:14:92","nodeType":"FunctionDefinition","parameters":{"id":49950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49949,"mutability":"mutable","name":"roundId","nameLocation":"6985:7:92","nodeType":"VariableDeclaration","scope":50016,"src":"6977:15:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49948,"name":"uint256","nodeType":"ElementaryTypeName","src":"6977:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6971:25:92"},"returnParameters":{"id":49955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49954,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50016,"src":"7020:53:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":49952,"nodeType":"UserDefinedTypeName","pathNode":{"id":49951,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["7020:19:92","7040:24:92"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"7020:44:92"},"referencedDeclaration":71146,"src":"7020:44:92","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":49953,"nodeType":"ArrayTypeName","src":"7020:46:92","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"src":"7019:55:92"},"scope":50017,"src":"6948:565:92","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":50018,"src":"1743:5772:92","usedErrors":[1495,1498,7025,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813],"usedEvents":[1503,45826,45840,45853,45866,45873,45881]}],"src":"1195:6321:92"},"id":92},"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol","exportedSymbols":{"Checkpoints":[10447],"Initializable":[1732],"SafeCast":[8770],"VotesQuorumFractionUpgradeableV8":[50265],"VotesUpgradeable":[50428]},"id":50266,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":50019,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:93"},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol","file":"./VotesUpgradeableV8.sol","id":50021,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50266,"sourceUnit":50429,"src":"1220:82:93","symbolAliases":[{"foreign":{"id":50020,"name":"VotesUpgradeableV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50428,"src":"1229:18:93","typeDescriptions":{}},"local":"VotesUpgradeable","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":50023,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50266,"sourceUnit":8771,"src":"1303:75:93","symbolAliases":[{"foreign":{"id":50022,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1312:8:93","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":50025,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50266,"sourceUnit":10448,"src":"1379:84:93","symbolAliases":[{"foreign":{"id":50024,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1388:11:93","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":50027,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50266,"sourceUnit":1733,"src":"1464:98:93","symbolAliases":[{"foreign":{"id":50026,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1473:13:93","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":50029,"name":"Initializable","nameLocations":["1833:13:93"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1833:13:93"},"id":50030,"nodeType":"InheritanceSpecifier","src":"1833:13:93"},{"baseName":{"id":50031,"name":"VotesUpgradeable","nameLocations":["1848:16:93"],"nodeType":"IdentifierPath","referencedDeclaration":50428,"src":"1848:16:93"},"id":50032,"nodeType":"InheritanceSpecifier","src":"1848:16:93"}],"canonicalName":"VotesQuorumFractionUpgradeableV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":50028,"nodeType":"StructuredDocumentation","src":"1564:214:93","text":" @title VotesQuorumFractionUpgradeable\n @dev Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a\n fraction of the total supply."},"fullyImplemented":false,"id":50265,"linearizedBaseContracts":[50265,50428,47146,46200,4552,4332,5961,3987,1732],"name":"VotesQuorumFractionUpgradeableV8","nameLocation":"1797:32:93","nodeType":"ContractDefinition","nodes":[{"global":false,"id":50036,"libraryName":{"id":50033,"name":"Checkpoints","nameLocations":["1875:11:93"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"1875:11:93"},"nodeType":"UsingForDirective","src":"1869:43:93","typeName":{"id":50035,"nodeType":"UserDefinedTypeName","pathNode":{"id":50034,"name":"Checkpoints.Trace208","nameLocations":["1891:11:93","1903:8:93"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"1891:20:93"},"referencedDeclaration":9409,"src":"1891:20:93","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"canonicalName":"VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage","documentation":{"id":50037,"nodeType":"StructuredDocumentation","src":"1916:97:93","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.VotesQuorumFraction"},"id":50041,"members":[{"constant":false,"id":50040,"mutability":"mutable","name":"_quorumNumeratorHistory","nameLocation":"2077:23:93","nodeType":"VariableDeclaration","scope":50041,"src":"2056:44:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":50039,"nodeType":"UserDefinedTypeName","pathNode":{"id":50038,"name":"Checkpoints.Trace208","nameLocations":["2056:11:93","2068:8:93"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"2056:20:93"},"referencedDeclaration":9409,"src":"2056:20:93","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"}],"name":"VotesQuorumFractionStorage","nameLocation":"2023:26:93","nodeType":"StructDefinition","scope":50265,"src":"2016:89:93","visibility":"public"},{"constant":true,"id":50044,"mutability":"constant","name":"VotesQuorumFractionStorageLocation","nameLocation":"2275:34:93","nodeType":"VariableDeclaration","scope":50265,"src":"2250:132:93","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2250:7:93","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307834396439393238346430313336343766353265326132363766643539343435383362643336626531373434336537383465633365383662626434633332343030","id":50043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2316:66:93","typeDescriptions":{"typeIdentifier":"t_rational_33403254995227881543705515889457669818781179811184482133917306896037471003648_by_1","typeString":"int_const 3340...(69 digits omitted)...3648"},"value":"0x49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c32400"},"visibility":"private"},{"body":{"id":50051,"nodeType":"Block","src":"2489:77:93","statements":[{"AST":{"nodeType":"YulBlock","src":"2504:58:93","statements":[{"nodeType":"YulAssignment","src":"2512:44:93","value":{"name":"VotesQuorumFractionStorageLocation","nodeType":"YulIdentifier","src":"2522:34:93"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2512:6:93"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":50048,"isOffset":false,"isSlot":true,"src":"2512:6:93","suffix":"slot","valueSize":1},{"declaration":50044,"isOffset":false,"isSlot":false,"src":"2522:34:93","valueSize":1}],"id":50050,"nodeType":"InlineAssembly","src":"2495:67:93"}]},"id":50052,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotesQuorumFractionStorage","nameLocation":"2396:30:93","nodeType":"FunctionDefinition","parameters":{"id":50045,"nodeType":"ParameterList","parameters":[],"src":"2426:2:93"},"returnParameters":{"id":50049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50048,"mutability":"mutable","name":"$","nameLocation":"2486:1:93","nodeType":"VariableDeclaration","scope":50052,"src":"2451:36:93","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage"},"typeName":{"id":50047,"nodeType":"UserDefinedTypeName","pathNode":{"id":50046,"name":"VotesQuorumFractionStorage","nameLocations":["2451:26:93"],"nodeType":"IdentifierPath","referencedDeclaration":50041,"src":"2451:26:93"},"referencedDeclaration":50041,"src":"2451:26:93","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage"}},"visibility":"internal"}],"src":"2450:38:93"},"scope":50265,"src":"2387:179:93","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"eventSelector":"0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997","id":50058,"name":"QuorumNumeratorUpdated","nameLocation":"2576:22:93","nodeType":"EventDefinition","parameters":{"id":50057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50054,"indexed":false,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"2607:18:93","nodeType":"VariableDeclaration","scope":50058,"src":"2599:26:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50053,"name":"uint256","nodeType":"ElementaryTypeName","src":"2599:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50056,"indexed":false,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"2635:18:93","nodeType":"VariableDeclaration","scope":50058,"src":"2627:26:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50055,"name":"uint256","nodeType":"ElementaryTypeName","src":"2627:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2598:56:93"},"src":"2570:85:93"},{"documentation":{"id":50059,"nodeType":"StructuredDocumentation","src":"2659:59:93","text":" @dev The quorum set is not a valid fraction."},"errorSelector":"243e5445","id":50065,"name":"GovernorInvalidQuorumFraction","nameLocation":"2727:29:93","nodeType":"ErrorDefinition","parameters":{"id":50064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50061,"mutability":"mutable","name":"quorumNumerator","nameLocation":"2765:15:93","nodeType":"VariableDeclaration","scope":50065,"src":"2757:23:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50060,"name":"uint256","nodeType":"ElementaryTypeName","src":"2757:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50063,"mutability":"mutable","name":"quorumDenominator","nameLocation":"2790:17:93","nodeType":"VariableDeclaration","scope":50065,"src":"2782:25:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50062,"name":"uint256","nodeType":"ElementaryTypeName","src":"2782:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2756:52:93"},"src":"2721:88:93"},{"body":{"id":50077,"nodeType":"Block","src":"3272:69:93","statements":[{"expression":{"arguments":[{"id":50074,"name":"quorumNumeratorValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50068,"src":"3315:20:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50073,"name":"__VotesQuorumFraction_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50090,"src":"3278:36:93","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":50075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3278:58:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50076,"nodeType":"ExpressionStatement","src":"3278:58:93"}]},"documentation":{"id":50066,"nodeType":"StructuredDocumentation","src":"2813:364:93","text":" @dev Initialize quorum as a fraction of the token's total supply.\n The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is\n specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be\n customized by overriding {quorumDenominator}."},"id":50078,"implemented":true,"kind":"function","modifiers":[{"id":50071,"kind":"modifierInvocation","modifierName":{"id":50070,"name":"onlyInitializing","nameLocations":["3255:16:93"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3255:16:93"},"nodeType":"ModifierInvocation","src":"3255:16:93"}],"name":"__VotesQuorumFraction_init","nameLocation":"3189:26:93","nodeType":"FunctionDefinition","parameters":{"id":50069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50068,"mutability":"mutable","name":"quorumNumeratorValue","nameLocation":"3224:20:93","nodeType":"VariableDeclaration","scope":50078,"src":"3216:28:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50067,"name":"uint256","nodeType":"ElementaryTypeName","src":"3216:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3215:30:93"},"returnParameters":{"id":50072,"nodeType":"ParameterList","parameters":[],"src":"3272:0:93"},"scope":50265,"src":"3180:161:93","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50089,"nodeType":"Block","src":"3447:55:93","statements":[{"expression":{"arguments":[{"id":50086,"name":"quorumNumeratorValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50080,"src":"3476:20:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50085,"name":"_updateQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50264,"src":"3453:22:93","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":50087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3453:44:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50088,"nodeType":"ExpressionStatement","src":"3453:44:93"}]},"id":50090,"implemented":true,"kind":"function","modifiers":[{"id":50083,"kind":"modifierInvocation","modifierName":{"id":50082,"name":"onlyInitializing","nameLocations":["3430:16:93"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"3430:16:93"},"nodeType":"ModifierInvocation","src":"3430:16:93"}],"name":"__VotesQuorumFraction_init_unchained","nameLocation":"3354:36:93","nodeType":"FunctionDefinition","parameters":{"id":50081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50080,"mutability":"mutable","name":"quorumNumeratorValue","nameLocation":"3399:20:93","nodeType":"VariableDeclaration","scope":50090,"src":"3391:28:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50079,"name":"uint256","nodeType":"ElementaryTypeName","src":"3391:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3390:30:93"},"returnParameters":{"id":50084,"nodeType":"ParameterList","parameters":[],"src":"3447:0:93"},"scope":50265,"src":"3345:157:93","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50107,"nodeType":"Block","src":"3656:129:93","statements":[{"assignments":[50098],"declarations":[{"constant":false,"id":50098,"mutability":"mutable","name":"$","nameLocation":"3697:1:93","nodeType":"VariableDeclaration","scope":50107,"src":"3662:36:93","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage"},"typeName":{"id":50097,"nodeType":"UserDefinedTypeName","pathNode":{"id":50096,"name":"VotesQuorumFractionStorage","nameLocations":["3662:26:93"],"nodeType":"IdentifierPath","referencedDeclaration":50041,"src":"3662:26:93"},"referencedDeclaration":50041,"src":"3662:26:93","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":50101,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50099,"name":"_getVotesQuorumFractionStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50052,"src":"3701:30:93","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr_$","typeString":"function () pure returns (struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer)"}},"id":50100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3701:32:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3662:71:93"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":50102,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50098,"src":"3746:1:93","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer"}},"id":50103,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3748:23:93","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":50040,"src":"3746:25:93","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":50104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3772:6:93","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"3746:32:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":50105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3746:34:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":50095,"id":50106,"nodeType":"Return","src":"3739:41:93"}]},"documentation":{"id":50091,"nodeType":"StructuredDocumentation","src":"3506:82:93","text":" @dev Returns the current quorum numerator. See {quorumDenominator}."},"functionSelector":"a7713a70","id":50108,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"3600:15:93","nodeType":"FunctionDefinition","parameters":{"id":50092,"nodeType":"ParameterList","parameters":[],"src":"3615:2:93"},"returnParameters":{"id":50095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50108,"src":"3647:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50093,"name":"uint256","nodeType":"ElementaryTypeName","src":"3647:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3646:9:93"},"scope":50265,"src":"3591:194:93","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":50168,"nodeType":"Block","src":"3972:574:93","statements":[{"assignments":[50118],"declarations":[{"constant":false,"id":50118,"mutability":"mutable","name":"$","nameLocation":"4013:1:93","nodeType":"VariableDeclaration","scope":50168,"src":"3978:36:93","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage"},"typeName":{"id":50117,"nodeType":"UserDefinedTypeName","pathNode":{"id":50116,"name":"VotesQuorumFractionStorage","nameLocations":["3978:26:93"],"nodeType":"IdentifierPath","referencedDeclaration":50041,"src":"3978:26:93"},"referencedDeclaration":50041,"src":"3978:26:93","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":50121,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50119,"name":"_getVotesQuorumFractionStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50052,"src":"4017:30:93","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr_$","typeString":"function () pure returns (struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer)"}},"id":50120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4017:32:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3978:71:93"},{"assignments":[50123],"declarations":[{"constant":false,"id":50123,"mutability":"mutable","name":"length","nameLocation":"4064:6:93","nodeType":"VariableDeclaration","scope":50168,"src":"4056:14:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50122,"name":"uint256","nodeType":"ElementaryTypeName","src":"4056:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50128,"initialValue":{"expression":{"expression":{"expression":{"id":50124,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50118,"src":"4073:1:93","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer"}},"id":50125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4075:23:93","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":50040,"src":"4073:25:93","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":50126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4099:12:93","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"4073:38:93","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":50127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4112:6:93","memberName":"length","nodeType":"MemberAccess","src":"4073:45:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4056:62:93"},{"assignments":[50133],"declarations":[{"constant":false,"id":50133,"mutability":"mutable","name":"latest","nameLocation":"4213:6:93","nodeType":"VariableDeclaration","scope":50168,"src":"4179:40:93","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":50132,"nodeType":"UserDefinedTypeName","pathNode":{"id":50131,"name":"Checkpoints.Checkpoint208","nameLocations":["4179:11:93","4191:13:93"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"4179:25:93"},"referencedDeclaration":9414,"src":"4179:25:93","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":50141,"initialValue":{"baseExpression":{"expression":{"expression":{"id":50134,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50118,"src":"4222:1:93","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer"}},"id":50135,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4224:23:93","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":50040,"src":"4222:25:93","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":50136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4248:12:93","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"4222:38:93","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":50140,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50137,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50123,"src":"4261:6:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":50138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4270:1:93","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4261:10:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4222:50:93","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4179:93:93"},{"assignments":[50143],"declarations":[{"constant":false,"id":50143,"mutability":"mutable","name":"latestKey","nameLocation":"4285:9:93","nodeType":"VariableDeclaration","scope":50168,"src":"4278:16:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":50142,"name":"uint48","nodeType":"ElementaryTypeName","src":"4278:6:93","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":50146,"initialValue":{"expression":{"id":50144,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50133,"src":"4297:6:93","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":50145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4304:4:93","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"4297:11:93","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"4278:30:93"},{"assignments":[50148],"declarations":[{"constant":false,"id":50148,"mutability":"mutable","name":"latestValue","nameLocation":"4322:11:93","nodeType":"VariableDeclaration","scope":50168,"src":"4314:19:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":50147,"name":"uint208","nodeType":"ElementaryTypeName","src":"4314:7:93","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":50151,"initialValue":{"expression":{"id":50149,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50133,"src":"4336:6:93","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":50150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4343:6:93","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"4336:13:93","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"4314:35:93"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50152,"name":"latestKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50143,"src":"4359:9:93","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":50153,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50111,"src":"4372:9:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4359:22:93","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50158,"nodeType":"IfStatement","src":"4355:61:93","trueBody":{"id":50157,"nodeType":"Block","src":"4383:33:93","statements":[{"expression":{"id":50155,"name":"latestValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50148,"src":"4398:11:93","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":50115,"id":50156,"nodeType":"Return","src":"4391:18:93"}]}},{"expression":{"arguments":[{"arguments":[{"id":50164,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50111,"src":"4530:9:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50162,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4512:8:93","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":50163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4521:8:93","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"4512:17:93","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":50165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4512:28:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":50159,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50118,"src":"4468:1:93","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer"}},"id":50160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4470:23:93","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":50040,"src":"4468:25:93","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":50161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4494:17:93","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"4468:43:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":50166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4468:73:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":50115,"id":50167,"nodeType":"Return","src":"4461:80:93"}]},"documentation":{"id":50109,"nodeType":"StructuredDocumentation","src":"3789:98:93","text":" @dev Returns the quorum numerator at a specific timepoint. See {quorumDenominator}."},"functionSelector":"60c4247f","id":50169,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"3899:15:93","nodeType":"FunctionDefinition","parameters":{"id":50112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50111,"mutability":"mutable","name":"timepoint","nameLocation":"3923:9:93","nodeType":"VariableDeclaration","scope":50169,"src":"3915:17:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50110,"name":"uint256","nodeType":"ElementaryTypeName","src":"3915:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3914:19:93"},"returnParameters":{"id":50115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50114,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50169,"src":"3963:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50113,"name":"uint256","nodeType":"ElementaryTypeName","src":"3963:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3962:9:93"},"scope":50265,"src":"3890:656:93","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":50177,"nodeType":"Block","src":"4711:21:93","statements":[{"expression":{"hexValue":"313030","id":50175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4724:3:93","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"functionReturnParameters":50174,"id":50176,"nodeType":"Return","src":"4717:10:93"}]},"documentation":{"id":50170,"nodeType":"StructuredDocumentation","src":"4550:91:93","text":" @dev Returns the quorum denominator. Defaults to 100, but may be overridden."},"functionSelector":"97c3d334","id":50178,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"4653:17:93","nodeType":"FunctionDefinition","parameters":{"id":50171,"nodeType":"ParameterList","parameters":[],"src":"4670:2:93"},"returnParameters":{"id":50174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50173,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50178,"src":"4702:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50172,"name":"uint256","nodeType":"ElementaryTypeName","src":"4702:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4701:9:93"},"scope":50265,"src":"4644:88:93","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46997],"body":{"id":50201,"nodeType":"Block","src":"4941:108:93","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":50190,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50181,"src":"4982:9:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":50187,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50356,"src":"4955:5:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC5805_$4537_$","typeString":"function () view returns (contract IERC5805)"}},"id":50188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4955:7:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":50189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4963:18:93","memberName":"getPastTotalSupply","nodeType":"MemberAccess","referencedDeclaration":4467,"src":"4955:26:93","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":50191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4955:37:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":50193,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50181,"src":"5011:9:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50192,"name":"quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[50108,50169],"referencedDeclaration":50169,"src":"4995:15:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":50194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4995:26:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4955:66:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":50196,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4954:68:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":50197,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50178,"src":"5025:17:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":50198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5025:19:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4954:90:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50186,"id":50200,"nodeType":"Return","src":"4947:97:93"}]},"documentation":{"id":50179,"nodeType":"StructuredDocumentation","src":"4736:120:93","text":" @dev Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`."},"functionSelector":"f8ce560a","id":50202,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"4868:6:93","nodeType":"FunctionDefinition","overrides":{"id":50183,"nodeType":"OverrideSpecifier","overrides":[],"src":"4914:8:93"},"parameters":{"id":50182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50181,"mutability":"mutable","name":"timepoint","nameLocation":"4883:9:93","nodeType":"VariableDeclaration","scope":50202,"src":"4875:17:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50180,"name":"uint256","nodeType":"ElementaryTypeName","src":"4875:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4874:19:93"},"returnParameters":{"id":50186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50202,"src":"4932:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50184,"name":"uint256","nodeType":"ElementaryTypeName","src":"4932:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4931:9:93"},"scope":50265,"src":"4859:190:93","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":50212,"nodeType":"Block","src":"5324:53:93","statements":[{"expression":{"arguments":[{"id":50209,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50205,"src":"5353:18:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50208,"name":"_updateQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50264,"src":"5330:22:93","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":50210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5330:42:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50211,"nodeType":"ExpressionStatement","src":"5330:42:93"}]},"documentation":{"id":50203,"nodeType":"StructuredDocumentation","src":"5053:194:93","text":" @dev Changes the quorum numerator.\n Emits a {QuorumNumeratorUpdated} event.\n Requirements:\n - New numerator must be smaller or equal to the denominator."},"functionSelector":"06f3f9e6","id":50213,"implemented":true,"kind":"function","modifiers":[],"name":"updateQuorumNumerator","nameLocation":"5259:21:93","nodeType":"FunctionDefinition","parameters":{"id":50206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50205,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"5289:18:93","nodeType":"VariableDeclaration","scope":50213,"src":"5281:26:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50204,"name":"uint256","nodeType":"ElementaryTypeName","src":"5281:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5280:28:93"},"returnParameters":{"id":50207,"nodeType":"ParameterList","parameters":[],"src":"5324:0:93"},"scope":50265,"src":"5250:127:93","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":50263,"nodeType":"Block","src":"5655:469:93","statements":[{"assignments":[50220],"declarations":[{"constant":false,"id":50220,"mutability":"mutable","name":"denominator","nameLocation":"5669:11:93","nodeType":"VariableDeclaration","scope":50263,"src":"5661:19:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50219,"name":"uint256","nodeType":"ElementaryTypeName","src":"5661:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50223,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50221,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50178,"src":"5683:17:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":50222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5683:19:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5661:41:93"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50224,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50216,"src":"5712:18:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":50225,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50220,"src":"5733:11:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5712:32:93","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50233,"nodeType":"IfStatement","src":"5708:122:93","trueBody":{"id":50232,"nodeType":"Block","src":"5746:84:93","statements":[{"errorCall":{"arguments":[{"id":50228,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50216,"src":"5791:18:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50229,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50220,"src":"5811:11:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50227,"name":"GovernorInvalidQuorumFraction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50065,"src":"5761:29:93","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":50230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5761:62:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50231,"nodeType":"RevertStatement","src":"5754:69:93"}]}},{"assignments":[50235],"declarations":[{"constant":false,"id":50235,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"5844:18:93","nodeType":"VariableDeclaration","scope":50263,"src":"5836:26:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50234,"name":"uint256","nodeType":"ElementaryTypeName","src":"5836:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50238,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50236,"name":"quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[50108,50169],"referencedDeclaration":50108,"src":"5865:15:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":50237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5865:17:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5836:46:93"},{"assignments":[50241],"declarations":[{"constant":false,"id":50241,"mutability":"mutable","name":"$","nameLocation":"5924:1:93","nodeType":"VariableDeclaration","scope":50263,"src":"5889:36:93","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage"},"typeName":{"id":50240,"nodeType":"UserDefinedTypeName","pathNode":{"id":50239,"name":"VotesQuorumFractionStorage","nameLocations":["5889:26:93"],"nodeType":"IdentifierPath","referencedDeclaration":50041,"src":"5889:26:93"},"referencedDeclaration":50041,"src":"5889:26:93","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":50244,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50242,"name":"_getVotesQuorumFractionStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50052,"src":"5928:30:93","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr_$","typeString":"function () pure returns (struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer)"}},"id":50243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5928:32:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5889:71:93"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":50250,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[50382],"referencedDeclaration":50382,"src":"5997:5:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":50251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5997:7:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":50254,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50216,"src":"6025:18:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50252,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"6006:8:93","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":50253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6015:9:93","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"6006:18:93","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":50255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6006:38:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"expression":{"id":50245,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50241,"src":"5966:1:93","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$50041_storage_ptr","typeString":"struct VotesQuorumFractionUpgradeableV8.VotesQuorumFractionStorage storage pointer"}},"id":50248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5968:23:93","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":50040,"src":"5966:25:93","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":50249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5992:4:93","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"5966:30:93","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":50256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5966:79:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":50257,"nodeType":"ExpressionStatement","src":"5966:79:93"},{"eventCall":{"arguments":[{"id":50259,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50235,"src":"6080:18:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50260,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50216,"src":"6100:18:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50258,"name":"QuorumNumeratorUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50058,"src":"6057:22:93","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":50261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6057:62:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50262,"nodeType":"EmitStatement","src":"6052:67:93"}]},"documentation":{"id":50214,"nodeType":"StructuredDocumentation","src":"5381:194:93","text":" @dev Changes the quorum numerator.\n Emits a {QuorumNumeratorUpdated} event.\n Requirements:\n - New numerator must be smaller or equal to the denominator."},"id":50264,"implemented":true,"kind":"function","modifiers":[],"name":"_updateQuorumNumerator","nameLocation":"5587:22:93","nodeType":"FunctionDefinition","parameters":{"id":50217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50216,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"5618:18:93","nodeType":"VariableDeclaration","scope":50264,"src":"5610:26:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50215,"name":"uint256","nodeType":"ElementaryTypeName","src":"5610:7:93","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5609:28:93"},"returnParameters":{"id":50218,"nodeType":"ParameterList","parameters":[],"src":"5655:0:93"},"scope":50265,"src":"5578:546:93","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":50266,"src":"1779:4347:93","usedErrors":[1495,1498,7025,8883,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813,50065],"usedEvents":[1503,45826,45840,45853,45866,45873,45881,50058]}],"src":"1195:4932:93"},"id":93},"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol","exportedSymbols":{"IERC5805":[4537],"IVotes":[4498],"Initializable":[1732],"SafeCast":[8770],"Time":[11669],"VotesUpgradeableV8":[50428],"XAllocationVotingGovernor":[47146]},"id":50429,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":50267,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:94"},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","file":"../XAllocationVotingGovernorV8.sol","id":50269,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50429,"sourceUnit":47147,"src":"1220:110:94","symbolAliases":[{"foreign":{"id":50268,"name":"XAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47146,"src":"1229:27:94","typeDescriptions":{}},"local":"XAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/governance/utils/IVotes.sol","file":"@openzeppelin/contracts/governance/utils/IVotes.sol","id":50271,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50429,"sourceUnit":4499,"src":"1331:77:94","symbolAliases":[{"foreign":{"id":50270,"name":"IVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"1340:6:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC5805.sol","file":"@openzeppelin/contracts/interfaces/IERC5805.sol","id":50273,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50429,"sourceUnit":4538,"src":"1409:75:94","symbolAliases":[{"foreign":{"id":50272,"name":"IERC5805","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4537,"src":"1418:8:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":50275,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50429,"sourceUnit":8771,"src":"1485:75:94","symbolAliases":[{"foreign":{"id":50274,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1494:8:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":50277,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50429,"sourceUnit":11670,"src":"1561:68:94","symbolAliases":[{"foreign":{"id":50276,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"1570:4:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":50279,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50429,"sourceUnit":1733,"src":"1630:98:94","symbolAliases":[{"foreign":{"id":50278,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1639:13:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":50281,"name":"Initializable","nameLocations":["1952:13:94"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1952:13:94"},"id":50282,"nodeType":"InheritanceSpecifier","src":"1952:13:94"},{"baseName":{"id":50283,"name":"XAllocationVotingGovernor","nameLocations":["1967:25:94"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"1967:25:94"},"id":50284,"nodeType":"InheritanceSpecifier","src":"1967:25:94"}],"canonicalName":"VotesUpgradeableV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":50280,"nodeType":"StructuredDocumentation","src":"1730:181:94","text":" @title VotesUpgradeable\n @dev Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes}\n token."},"fullyImplemented":false,"id":50428,"linearizedBaseContracts":[50428,47146,46200,4552,4332,5961,3987,1732],"name":"VotesUpgradeableV8","nameLocation":"1930:18:94","nodeType":"ContractDefinition","nodes":[{"canonicalName":"VotesUpgradeableV8.VotesStorage","documentation":{"id":50285,"nodeType":"StructuredDocumentation","src":"1997:94:94","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.VotesUpgradeable"},"id":50289,"members":[{"constant":false,"id":50288,"mutability":"mutable","name":"_token","nameLocation":"2129:6:94","nodeType":"VariableDeclaration","scope":50289,"src":"2120:15:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"},"typeName":{"id":50287,"nodeType":"UserDefinedTypeName","pathNode":{"id":50286,"name":"IERC5805","nameLocations":["2120:8:94"],"nodeType":"IdentifierPath","referencedDeclaration":4537,"src":"2120:8:94"},"referencedDeclaration":4537,"src":"2120:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"visibility":"internal"}],"name":"VotesStorage","nameLocation":"2101:12:94","nodeType":"StructDefinition","scope":50428,"src":"2094:46:94","visibility":"public"},{"constant":true,"id":50292,"mutability":"constant","name":"VotesStorageLocation","nameLocation":"2307:20:94","nodeType":"VariableDeclaration","scope":50428,"src":"2282:114:94","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2282:7:94","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307836656231626630613136306364663162356536336635653563366233313066366332353432636439653261343766663162633937376335323664666162353030","id":50291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2330:66:94","typeDescriptions":{"typeIdentifier":"t_rational_50068463780098945865951985210166762119830310029031004036240120053434102232320_by_1","typeString":"int_const 5006...(69 digits omitted)...2320"},"value":"0x6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab500"},"visibility":"private"},{"body":{"id":50299,"nodeType":"Block","src":"2475:63:94","statements":[{"AST":{"nodeType":"YulBlock","src":"2490:44:94","statements":[{"nodeType":"YulAssignment","src":"2498:30:94","value":{"name":"VotesStorageLocation","nodeType":"YulIdentifier","src":"2508:20:94"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2498:6:94"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":50296,"isOffset":false,"isSlot":true,"src":"2498:6:94","suffix":"slot","valueSize":1},{"declaration":50292,"isOffset":false,"isSlot":false,"src":"2508:20:94","valueSize":1}],"id":50298,"nodeType":"InlineAssembly","src":"2481:53:94"}]},"id":50300,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotesStorage","nameLocation":"2410:16:94","nodeType":"FunctionDefinition","parameters":{"id":50293,"nodeType":"ParameterList","parameters":[],"src":"2426:2:94"},"returnParameters":{"id":50297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50296,"mutability":"mutable","name":"$","nameLocation":"2472:1:94","nodeType":"VariableDeclaration","scope":50300,"src":"2451:22:94","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage"},"typeName":{"id":50295,"nodeType":"UserDefinedTypeName","pathNode":{"id":50294,"name":"VotesStorage","nameLocations":["2451:12:94"],"nodeType":"IdentifierPath","referencedDeclaration":50289,"src":"2451:12:94"},"referencedDeclaration":50289,"src":"2451:12:94","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage"}},"visibility":"internal"}],"src":"2450:24:94"},"scope":50428,"src":"2401:137:94","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":50312,"nodeType":"Block","src":"2611:47:94","statements":[{"expression":{"arguments":[{"id":50309,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50303,"src":"2640:12:94","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}],"id":50308,"name":"__Votes_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50339,"src":"2617:22:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IVotes_$4498_$returns$__$","typeString":"function (contract IVotes)"}},"id":50310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2617:36:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50311,"nodeType":"ExpressionStatement","src":"2617:36:94"}]},"id":50313,"implemented":true,"kind":"function","modifiers":[{"id":50306,"kind":"modifierInvocation","modifierName":{"id":50305,"name":"onlyInitializing","nameLocations":["2594:16:94"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2594:16:94"},"nodeType":"ModifierInvocation","src":"2594:16:94"}],"name":"__Votes_init","nameLocation":"2551:12:94","nodeType":"FunctionDefinition","parameters":{"id":50304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50303,"mutability":"mutable","name":"tokenAddress","nameLocation":"2571:12:94","nodeType":"VariableDeclaration","scope":50313,"src":"2564:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"},"typeName":{"id":50302,"nodeType":"UserDefinedTypeName","pathNode":{"id":50301,"name":"IVotes","nameLocations":["2564:6:94"],"nodeType":"IdentifierPath","referencedDeclaration":4498,"src":"2564:6:94"},"referencedDeclaration":4498,"src":"2564:6:94","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}},"visibility":"internal"}],"src":"2563:21:94"},"returnParameters":{"id":50307,"nodeType":"ParameterList","parameters":[],"src":"2611:0:94"},"scope":50428,"src":"2542:116:94","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50338,"nodeType":"Block","src":"2741:102:94","statements":[{"assignments":[50323],"declarations":[{"constant":false,"id":50323,"mutability":"mutable","name":"$","nameLocation":"2768:1:94","nodeType":"VariableDeclaration","scope":50338,"src":"2747:22:94","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage"},"typeName":{"id":50322,"nodeType":"UserDefinedTypeName","pathNode":{"id":50321,"name":"VotesStorage","nameLocations":["2747:12:94"],"nodeType":"IdentifierPath","referencedDeclaration":50289,"src":"2747:12:94"},"referencedDeclaration":50289,"src":"2747:12:94","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage"}},"visibility":"internal"}],"id":50326,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50324,"name":"_getVotesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50300,"src":"2772:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesStorage_$50289_storage_ptr_$","typeString":"function () pure returns (struct VotesUpgradeableV8.VotesStorage storage pointer)"}},"id":50325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2772:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2747:43:94"},{"expression":{"id":50336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":50327,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50323,"src":"2796:1:94","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage storage pointer"}},"id":50329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2798:6:94","memberName":"_token","nodeType":"MemberAccess","referencedDeclaration":50288,"src":"2796:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":50333,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50316,"src":"2824:12:94","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}],"id":50332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2816:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50331,"name":"address","nodeType":"ElementaryTypeName","src":"2816:7:94","typeDescriptions":{}}},"id":50334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2816:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50330,"name":"IERC5805","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4537,"src":"2807:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC5805_$4537_$","typeString":"type(contract IERC5805)"}},"id":50335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2807:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"src":"2796:42:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":50337,"nodeType":"ExpressionStatement","src":"2796:42:94"}]},"id":50339,"implemented":true,"kind":"function","modifiers":[{"id":50319,"kind":"modifierInvocation","modifierName":{"id":50318,"name":"onlyInitializing","nameLocations":["2724:16:94"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2724:16:94"},"nodeType":"ModifierInvocation","src":"2724:16:94"}],"name":"__Votes_init_unchained","nameLocation":"2671:22:94","nodeType":"FunctionDefinition","parameters":{"id":50317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50316,"mutability":"mutable","name":"tokenAddress","nameLocation":"2701:12:94","nodeType":"VariableDeclaration","scope":50339,"src":"2694:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"},"typeName":{"id":50315,"nodeType":"UserDefinedTypeName","pathNode":{"id":50314,"name":"IVotes","nameLocations":["2694:6:94"],"nodeType":"IdentifierPath","referencedDeclaration":4498,"src":"2694:6:94"},"referencedDeclaration":4498,"src":"2694:6:94","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}},"visibility":"internal"}],"src":"2693:21:94"},"returnParameters":{"id":50320,"nodeType":"ParameterList","parameters":[],"src":"2741:0:94"},"scope":50428,"src":"2662:181:94","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50355,"nodeType":"Block","src":"2970:75:94","statements":[{"assignments":[50348],"declarations":[{"constant":false,"id":50348,"mutability":"mutable","name":"$","nameLocation":"2997:1:94","nodeType":"VariableDeclaration","scope":50355,"src":"2976:22:94","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage"},"typeName":{"id":50347,"nodeType":"UserDefinedTypeName","pathNode":{"id":50346,"name":"VotesStorage","nameLocations":["2976:12:94"],"nodeType":"IdentifierPath","referencedDeclaration":50289,"src":"2976:12:94"},"referencedDeclaration":50289,"src":"2976:12:94","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage"}},"visibility":"internal"}],"id":50351,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50349,"name":"_getVotesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50300,"src":"3001:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesStorage_$50289_storage_ptr_$","typeString":"function () pure returns (struct VotesUpgradeableV8.VotesStorage storage pointer)"}},"id":50350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3001:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2976:43:94"},{"expression":{"expression":{"id":50352,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50348,"src":"3032:1:94","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$50289_storage_ptr","typeString":"struct VotesUpgradeableV8.VotesStorage storage pointer"}},"id":50353,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3034:6:94","memberName":"_token","nodeType":"MemberAccess","referencedDeclaration":50288,"src":"3032:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"functionReturnParameters":50345,"id":50354,"nodeType":"Return","src":"3025:15:94"}]},"documentation":{"id":50340,"nodeType":"StructuredDocumentation","src":"2847:64:94","text":" @dev The token that voting power is sourced from."},"functionSelector":"fc0c546a","id":50356,"implemented":true,"kind":"function","modifiers":[],"name":"token","nameLocation":"2923:5:94","nodeType":"FunctionDefinition","parameters":{"id":50341,"nodeType":"ParameterList","parameters":[],"src":"2928:2:94"},"returnParameters":{"id":50345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50344,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50356,"src":"2960:8:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"},"typeName":{"id":50343,"nodeType":"UserDefinedTypeName","pathNode":{"id":50342,"name":"IERC5805","nameLocations":["2960:8:94"],"nodeType":"IdentifierPath","referencedDeclaration":4537,"src":"2960:8:94"},"referencedDeclaration":4537,"src":"2960:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"visibility":"internal"}],"src":"2959:10:94"},"scope":50428,"src":"2914:131:94","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46977],"body":{"id":50381,"nodeType":"Block","src":"3275:135:94","statements":[{"clauses":[{"block":{"id":50372,"nodeType":"Block","src":"3328:31:94","statements":[{"expression":{"id":50370,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50368,"src":"3343:9:94","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":50362,"id":50371,"nodeType":"Return","src":"3336:16:94"}]},"errorName":"","id":50373,"nodeType":"TryCatchClause","parameters":{"id":50369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50368,"mutability":"mutable","name":"timepoint","nameLocation":"3317:9:94","nodeType":"VariableDeclaration","scope":50373,"src":"3310:16:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":50367,"name":"uint48","nodeType":"ElementaryTypeName","src":"3310:6:94","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3309:18:94"},"src":"3301:58:94"},{"block":{"id":50378,"nodeType":"Block","src":"3366:40:94","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50374,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"3381:4:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":50375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3386:11:94","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"3381:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":50376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3381:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":50362,"id":50377,"nodeType":"Return","src":"3374:25:94"}]},"errorName":"","id":50379,"nodeType":"TryCatchClause","src":"3360:46:94"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":50363,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50356,"src":"3285:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC5805_$4537_$","typeString":"function () view returns (contract IERC5805)"}},"id":50364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3285:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":50365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3293:5:94","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":4545,"src":"3285:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint48_$","typeString":"function () view external returns (uint48)"}},"id":50366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3285:15:94","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":50380,"nodeType":"TryStatement","src":"3281:125:94"}]},"documentation":{"id":50357,"nodeType":"StructuredDocumentation","src":"3049:160:94","text":" @dev Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token\n does not implement EIP-6372."},"functionSelector":"91ddadf4","id":50382,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"3221:5:94","nodeType":"FunctionDefinition","overrides":{"id":50359,"nodeType":"OverrideSpecifier","overrides":[],"src":"3249:8:94"},"parameters":{"id":50358,"nodeType":"ParameterList","parameters":[],"src":"3226:2:94"},"returnParameters":{"id":50362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50382,"src":"3267:6:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":50360,"name":"uint48","nodeType":"ElementaryTypeName","src":"3267:6:94","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3266:8:94"},"scope":50428,"src":"3212:198:94","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46983],"body":{"id":50405,"nodeType":"Block","src":"3630:160:94","statements":[{"clauses":[{"block":{"id":50398,"nodeType":"Block","src":"3695:31:94","statements":[{"expression":{"id":50396,"name":"clockmode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50394,"src":"3710:9:94","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":50388,"id":50397,"nodeType":"Return","src":"3703:16:94"}]},"errorName":"","id":50399,"nodeType":"TryCatchClause","parameters":{"id":50395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50394,"mutability":"mutable","name":"clockmode","nameLocation":"3684:9:94","nodeType":"VariableDeclaration","scope":50399,"src":"3670:23:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50393,"name":"string","nodeType":"ElementaryTypeName","src":"3670:6:94","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3669:25:94"},"src":"3661:65:94"},{"block":{"id":50402,"nodeType":"Block","src":"3733:53:94","statements":[{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":50400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3748:31:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":50388,"id":50401,"nodeType":"Return","src":"3741:38:94"}]},"errorName":"","id":50403,"nodeType":"TryCatchClause","src":"3727:59:94"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":50389,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50356,"src":"3640:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC5805_$4537_$","typeString":"function () view returns (contract IERC5805)"}},"id":50390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3640:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":50391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3648:10:94","memberName":"CLOCK_MODE","nodeType":"MemberAccess","referencedDeclaration":4551,"src":"3640:18:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view external returns (string memory)"}},"id":50392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3640:20:94","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":50404,"nodeType":"TryStatement","src":"3636:150:94"}]},"documentation":{"id":50383,"nodeType":"StructuredDocumentation","src":"3414:87:94","text":" @dev Machine-readable description of the clock as specified in EIP-6372."},"functionSelector":"4bf5d7e9","id":50406,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"3564:10:94","nodeType":"FunctionDefinition","overrides":{"id":50385,"nodeType":"OverrideSpecifier","overrides":[],"src":"3597:8:94"},"parameters":{"id":50384,"nodeType":"ParameterList","parameters":[],"src":"3574:2:94"},"returnParameters":{"id":50388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50387,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50406,"src":"3615:13:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50386,"name":"string","nodeType":"ElementaryTypeName","src":"3615:6:94","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3614:15:94"},"scope":50428,"src":"3555:235:94","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[46965],"body":{"id":50426,"nodeType":"Block","src":"4052:58:94","statements":[{"expression":{"arguments":[{"id":50422,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50409,"src":"4086:7:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50423,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50411,"src":"4095:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":50419,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50356,"src":"4065:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IERC5805_$4537_$","typeString":"function () view returns (contract IERC5805)"}},"id":50420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4065:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":50421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4073:12:94","memberName":"getPastVotes","nodeType":"MemberAccess","referencedDeclaration":4459,"src":"4065:20:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":50424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4065:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50418,"id":50425,"nodeType":"Return","src":"4058:47:94"}]},"documentation":{"id":50407,"nodeType":"StructuredDocumentation","src":"3794:110:94","text":" Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes})."},"id":50427,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotes","nameLocation":"3916:9:94","nodeType":"FunctionDefinition","overrides":{"id":50415,"nodeType":"OverrideSpecifier","overrides":[],"src":"4025:8:94"},"parameters":{"id":50414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50409,"mutability":"mutable","name":"account","nameLocation":"3939:7:94","nodeType":"VariableDeclaration","scope":50427,"src":"3931:15:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50408,"name":"address","nodeType":"ElementaryTypeName","src":"3931:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50411,"mutability":"mutable","name":"timepoint","nameLocation":"3960:9:94","nodeType":"VariableDeclaration","scope":50427,"src":"3952:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50410,"name":"uint256","nodeType":"ElementaryTypeName","src":"3952:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50413,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50427,"src":"3975:12:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50412,"name":"bytes","nodeType":"ElementaryTypeName","src":"3975:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3925:77:94"},"returnParameters":{"id":50418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50427,"src":"4043:7:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50416,"name":"uint256","nodeType":"ElementaryTypeName","src":"4043:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4042:9:94"},"scope":50428,"src":"3907:203:94","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":50429,"src":"1912:2200:94","usedErrors":[1495,1498,7025,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813],"usedEvents":[1503,45826,45840,45853,45866,45873,45881]}],"src":"1195:2918:94"},"id":94},"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol":{"ast":{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol","exportedSymbols":{"Initializable":[1732],"VotingSettingsUpgradeableV8":[50553],"XAllocationVotingGovernor":[47146]},"id":50554,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":50430,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:95"},{"absolutePath":"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol","file":"../XAllocationVotingGovernorV8.sol","id":50432,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50554,"sourceUnit":47147,"src":"1220:110:95","symbolAliases":[{"foreign":{"id":50431,"name":"XAllocationVotingGovernorV8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47146,"src":"1229:27:95","typeDescriptions":{}},"local":"XAllocationVotingGovernor","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":50434,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50554,"sourceUnit":1733,"src":"1331:98:95","symbolAliases":[{"foreign":{"id":50433,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1340:13:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":50436,"name":"Initializable","nameLocations":["1594:13:95"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"1594:13:95"},"id":50437,"nodeType":"InheritanceSpecifier","src":"1594:13:95"},{"baseName":{"id":50438,"name":"XAllocationVotingGovernor","nameLocations":["1609:25:95"],"nodeType":"IdentifierPath","referencedDeclaration":47146,"src":"1609:25:95"},"id":50439,"nodeType":"InheritanceSpecifier","src":"1609:25:95"}],"canonicalName":"VotingSettingsUpgradeableV8","contractDependencies":[],"contractKind":"contract","documentation":{"id":50435,"nodeType":"StructuredDocumentation","src":"1431:113:95","text":" @title VotingSettingsUpgradeable\n @dev Extension of {XAllocationVotingGovernor} for voting settings."},"fullyImplemented":false,"id":50553,"linearizedBaseContracts":[50553,47146,46200,4552,4332,5961,3987,1732],"name":"VotingSettingsUpgradeableV8","nameLocation":"1563:27:95","nodeType":"ContractDefinition","nodes":[{"canonicalName":"VotingSettingsUpgradeableV8.VotingSettingsStorage","documentation":{"id":50440,"nodeType":"StructuredDocumentation","src":"1639:92:95","text":"@custom:storage-location erc7201:b3tr.storage.XAllocationVotingGovernorV8.VotingSettings"},"id":50443,"members":[{"constant":false,"id":50442,"mutability":"mutable","name":"_votingPeriod","nameLocation":"1776:13:95","nodeType":"VariableDeclaration","scope":50443,"src":"1769:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":50441,"name":"uint32","nodeType":"ElementaryTypeName","src":"1769:6:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"name":"VotingSettingsStorage","nameLocation":"1741:21:95","nodeType":"StructDefinition","scope":50553,"src":"1734:60:95","visibility":"public"},{"constant":true,"id":50446,"mutability":"constant","name":"VotingSettingsStorageLocation","nameLocation":"1959:29:95","nodeType":"VariableDeclaration","scope":50553,"src":"1934:127:95","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1934:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307864363964303638303533363731383831643235613464373531646361643165363932373439643962323431383466363038636231643031616633613939393030","id":50445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1995:66:95","typeDescriptions":{"typeIdentifier":"t_rational_97072389456123798922558854231403716866043431376468812838237617778661698148608_by_1","typeString":"int_const 9707...(69 digits omitted)...8608"},"value":"0xd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a99900"},"visibility":"private"},{"body":{"id":50453,"nodeType":"Block","src":"2158:72:95","statements":[{"AST":{"nodeType":"YulBlock","src":"2173:53:95","statements":[{"nodeType":"YulAssignment","src":"2181:39:95","value":{"name":"VotingSettingsStorageLocation","nodeType":"YulIdentifier","src":"2191:29:95"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2181:6:95"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":50450,"isOffset":false,"isSlot":true,"src":"2181:6:95","suffix":"slot","valueSize":1},{"declaration":50446,"isOffset":false,"isSlot":false,"src":"2191:29:95","valueSize":1}],"id":50452,"nodeType":"InlineAssembly","src":"2164:62:95"}]},"id":50454,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotingSettingsStorage","nameLocation":"2075:25:95","nodeType":"FunctionDefinition","parameters":{"id":50447,"nodeType":"ParameterList","parameters":[],"src":"2100:2:95"},"returnParameters":{"id":50451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50450,"mutability":"mutable","name":"$","nameLocation":"2155:1:95","nodeType":"VariableDeclaration","scope":50454,"src":"2125:31:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage"},"typeName":{"id":50449,"nodeType":"UserDefinedTypeName","pathNode":{"id":50448,"name":"VotingSettingsStorage","nameLocations":["2125:21:95"],"nodeType":"IdentifierPath","referencedDeclaration":50443,"src":"2125:21:95"},"referencedDeclaration":50443,"src":"2125:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage"}},"visibility":"internal"}],"src":"2124:33:95"},"scope":50553,"src":"2066:164:95","stateMutability":"pure","virtual":false,"visibility":"private"},{"anonymous":false,"eventSelector":"7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828","id":50460,"name":"VotingPeriodSet","nameLocation":"2240:15:95","nodeType":"EventDefinition","parameters":{"id":50459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50456,"indexed":false,"mutability":"mutable","name":"oldVotingPeriod","nameLocation":"2264:15:95","nodeType":"VariableDeclaration","scope":50460,"src":"2256:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50455,"name":"uint256","nodeType":"ElementaryTypeName","src":"2256:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50458,"indexed":false,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"2289:15:95","nodeType":"VariableDeclaration","scope":50460,"src":"2281:23:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50457,"name":"uint256","nodeType":"ElementaryTypeName","src":"2281:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2255:50:95"},"src":"2234:72:95"},{"body":{"id":50472,"nodeType":"Block","src":"2455:63:95","statements":[{"expression":{"arguments":[{"id":50469,"name":"initialVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50463,"src":"2493:19:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":50468,"name":"__VotingSettings_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50485,"src":"2461:31:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$returns$__$","typeString":"function (uint32)"}},"id":50470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2461:52:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50471,"nodeType":"ExpressionStatement","src":"2461:52:95"}]},"documentation":{"id":50461,"nodeType":"StructuredDocumentation","src":"2310:57:95","text":" @dev Initialize the governance parameters."},"id":50473,"implemented":true,"kind":"function","modifiers":[{"id":50466,"kind":"modifierInvocation","modifierName":{"id":50465,"name":"onlyInitializing","nameLocations":["2438:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2438:16:95"},"nodeType":"ModifierInvocation","src":"2438:16:95"}],"name":"__VotingSettings_init","nameLocation":"2379:21:95","nodeType":"FunctionDefinition","parameters":{"id":50464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50463,"mutability":"mutable","name":"initialVotingPeriod","nameLocation":"2408:19:95","nodeType":"VariableDeclaration","scope":50473,"src":"2401:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":50462,"name":"uint32","nodeType":"ElementaryTypeName","src":"2401:6:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2400:28:95"},"returnParameters":{"id":50467,"nodeType":"ParameterList","parameters":[],"src":"2455:0:95"},"scope":50553,"src":"2370:148:95","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50484,"nodeType":"Block","src":"2617:48:95","statements":[{"expression":{"arguments":[{"id":50481,"name":"initialVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50475,"src":"2640:19:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":50480,"name":"_setVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50552,"src":"2623:16:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$returns$__$","typeString":"function (uint32)"}},"id":50482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2623:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50483,"nodeType":"ExpressionStatement","src":"2623:37:95"}]},"id":50485,"implemented":true,"kind":"function","modifiers":[{"id":50478,"kind":"modifierInvocation","modifierName":{"id":50477,"name":"onlyInitializing","nameLocations":["2600:16:95"],"nodeType":"IdentifierPath","referencedDeclaration":1641,"src":"2600:16:95"},"nodeType":"ModifierInvocation","src":"2600:16:95"}],"name":"__VotingSettings_init_unchained","nameLocation":"2531:31:95","nodeType":"FunctionDefinition","parameters":{"id":50476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50475,"mutability":"mutable","name":"initialVotingPeriod","nameLocation":"2570:19:95","nodeType":"VariableDeclaration","scope":50485,"src":"2563:26:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":50474,"name":"uint32","nodeType":"ElementaryTypeName","src":"2563:6:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2562:28:95"},"returnParameters":{"id":50479,"nodeType":"ParameterList","parameters":[],"src":"2617:0:95"},"scope":50553,"src":"2522:143:95","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[46989],"body":{"id":50501,"nodeType":"Block","src":"2809:100:95","statements":[{"assignments":[50494],"declarations":[{"constant":false,"id":50494,"mutability":"mutable","name":"$","nameLocation":"2845:1:95","nodeType":"VariableDeclaration","scope":50501,"src":"2815:31:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage"},"typeName":{"id":50493,"nodeType":"UserDefinedTypeName","pathNode":{"id":50492,"name":"VotingSettingsStorage","nameLocations":["2815:21:95"],"nodeType":"IdentifierPath","referencedDeclaration":50443,"src":"2815:21:95"},"referencedDeclaration":50443,"src":"2815:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage"}},"visibility":"internal"}],"id":50497,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50495,"name":"_getVotingSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50454,"src":"2849:25:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotingSettingsStorage_$50443_storage_ptr_$","typeString":"function () pure returns (struct VotingSettingsUpgradeableV8.VotingSettingsStorage storage pointer)"}},"id":50496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2849:27:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2815:61:95"},{"expression":{"expression":{"id":50498,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2889:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage storage pointer"}},"id":50499,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2891:13:95","memberName":"_votingPeriod","nodeType":"MemberAccess","referencedDeclaration":50442,"src":"2889:15:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":50491,"id":50500,"nodeType":"Return","src":"2882:22:95"}]},"documentation":{"id":50486,"nodeType":"StructuredDocumentation","src":"2669:66:95","text":" @dev See {IXAllocationVotingGovernor-votingPeriod}."},"functionSelector":"02a251a3","id":50502,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"2747:12:95","nodeType":"FunctionDefinition","overrides":{"id":50488,"nodeType":"OverrideSpecifier","overrides":[],"src":"2782:8:95"},"parameters":{"id":50487,"nodeType":"ParameterList","parameters":[],"src":"2759:2:95"},"returnParameters":{"id":50491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50490,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50502,"src":"2800:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50489,"name":"uint256","nodeType":"ElementaryTypeName","src":"2800:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2799:9:95"},"scope":50553,"src":"2738:171:95","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":50551,"nodeType":"Block","src":"3084:516:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":50510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50508,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50505,"src":"3094:15:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3113:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3094:20:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50516,"nodeType":"IfStatement","src":"3090:78:95","trueBody":{"id":50515,"nodeType":"Block","src":"3116:52:95","statements":[{"errorCall":{"arguments":[{"hexValue":"30","id":50512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3159: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":50511,"name":"GovernorInvalidVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45766,"src":"3131:27:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":50513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3131:30:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50514,"nodeType":"RevertStatement","src":"3124:37:95"}]}},{"assignments":[50518],"declarations":[{"constant":false,"id":50518,"mutability":"mutable","name":"emissionsCycleDuration","nameLocation":"3257:22:95","nodeType":"VariableDeclaration","scope":50551,"src":"3249:30:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50517,"name":"uint256","nodeType":"ElementaryTypeName","src":"3249:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50523,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":50519,"name":"emissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47046,"src":"3282:9:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IEmissions_$64454_$","typeString":"function () view returns (contract IEmissions)"}},"id":50520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3282:11:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":50521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3294:13:95","memberName":"cycleDuration","nodeType":"MemberAccess","referencedDeclaration":64165,"src":"3282:25:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":50522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3282:27:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3249:60:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50524,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50505,"src":"3319:15:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":50525,"name":"emissionsCycleDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50518,"src":"3338:22:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3319:41:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50532,"nodeType":"IfStatement","src":"3315:113:95","trueBody":{"id":50531,"nodeType":"Block","src":"3362:66:95","statements":[{"errorCall":{"arguments":[{"id":50528,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50505,"src":"3405:15:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":50527,"name":"GovernorInvalidVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45766,"src":"3377:27:95","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":50529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50530,"nodeType":"RevertStatement","src":"3370:51:95"}]}},{"assignments":[50535],"declarations":[{"constant":false,"id":50535,"mutability":"mutable","name":"$","nameLocation":"3464:1:95","nodeType":"VariableDeclaration","scope":50551,"src":"3434:31:95","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage"},"typeName":{"id":50534,"nodeType":"UserDefinedTypeName","pathNode":{"id":50533,"name":"VotingSettingsStorage","nameLocations":["3434:21:95"],"nodeType":"IdentifierPath","referencedDeclaration":50443,"src":"3434:21:95"},"referencedDeclaration":50443,"src":"3434:21:95","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage"}},"visibility":"internal"}],"id":50538,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50536,"name":"_getVotingSettingsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50454,"src":"3468:25:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotingSettingsStorage_$50443_storage_ptr_$","typeString":"function () pure returns (struct VotingSettingsUpgradeableV8.VotingSettingsStorage storage pointer)"}},"id":50537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3468:27:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3434:61:95"},{"eventCall":{"arguments":[{"expression":{"id":50540,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50535,"src":"3523:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage storage pointer"}},"id":50541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3525:13:95","memberName":"_votingPeriod","nodeType":"MemberAccess","referencedDeclaration":50442,"src":"3523:15:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":50542,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50505,"src":"3540:15:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":50539,"name":"VotingPeriodSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50460,"src":"3507:15:95","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":50543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3507:49:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50544,"nodeType":"EmitStatement","src":"3502:54:95"},{"expression":{"id":50549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":50545,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50535,"src":"3562:1:95","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$50443_storage_ptr","typeString":"struct VotingSettingsUpgradeableV8.VotingSettingsStorage storage pointer"}},"id":50547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3564:13:95","memberName":"_votingPeriod","nodeType":"MemberAccess","referencedDeclaration":50442,"src":"3562:15:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":50548,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50505,"src":"3580:15:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"3562:33:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":50550,"nodeType":"ExpressionStatement","src":"3562:33:95"}]},"documentation":{"id":50503,"nodeType":"StructuredDocumentation","src":"2913:101:95","text":" @dev Internal setter for the voting period.\n Emits a {VotingPeriodSet} event."},"id":50552,"implemented":true,"kind":"function","modifiers":[],"name":"_setVotingPeriod","nameLocation":"3026:16:95","nodeType":"FunctionDefinition","parameters":{"id":50506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50505,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"3050:15:95","nodeType":"VariableDeclaration","scope":50552,"src":"3043:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":50504,"name":"uint32","nodeType":"ElementaryTypeName","src":"3043:6:95","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"3042:24:95"},"returnParameters":{"id":50507,"nodeType":"ParameterList","parameters":[],"src":"3084:0:95"},"scope":50553,"src":"3017:583:95","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":50554,"src":"1545:2057:95","usedErrors":[1495,1498,7025,45741,45746,45751,45761,45766,45771,45778,45781,45788,45793,45798,45803,45808,45813],"usedEvents":[1503,45826,45840,45853,45866,45873,45881,50460]}],"src":"1195:2408:95"},"id":95},"contracts/deprecated/V9/x-allocation-voting-governance/XAllocationVotingV9.sol":{"ast":{"absolutePath":"contracts/deprecated/V9/x-allocation-voting-governance/XAllocationVotingV9.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"AutoVotingLogic":[79881],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"ExternalContractsUtils":[80338],"IAccessControl":[4415],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC6372":[4552],"IEmissions":[64454],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IVotes":[4498],"IX2EarnApps":[69989],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"RelayerAction":[66644],"RoundEarningsSettingsUtils":[80751],"RoundFinalizationUtils":[80898],"RoundVotesCountingUtils":[81679],"RoundsStorageUtils":[82091],"SafeCast":[8770],"UUPSUpgradeable":[1914],"VotesQuorumFractionUtils":[82434],"VotesUtils":[82662],"VotingSettingsUtils":[82801],"X2EarnAppsDataTypes":[71147],"XAllocationVotingStorageTypes":[83099],"XAllocationVotingV9":[52882]},"id":52883,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":50555,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:96"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":50557,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":5962,"src":"1220:82:96","symbolAliases":[{"foreign":{"id":50556,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"1229:7:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","id":50559,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":4333,"src":"1303:114:96","symbolAliases":[{"foreign":{"id":50558,"name":"ERC165Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"1312:17:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":50561,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":1733,"src":"1418:98:96","symbolAliases":[{"foreign":{"id":50560,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1427:13:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","id":50563,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":3988,"src":"1517:102:96","symbolAliases":[{"foreign":{"id":50562,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"1526:18:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":50564,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":363,"src":"1620:81:96","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":50565,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":1915,"src":"1702:77:96","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/governance/utils/IVotes.sol","file":"@openzeppelin/contracts/governance/utils/IVotes.sol","id":50567,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":4499,"src":"1780:77:96","symbolAliases":[{"foreign":{"id":50566,"name":"IVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"1789:6:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":50569,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":8771,"src":"1858:75:96","symbolAliases":[{"foreign":{"id":50568,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1867:8:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../../interfaces/IXAllocationVotingGovernor.sol","id":50572,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":71125,"src":"1935:106:96","symbolAliases":[{"foreign":{"id":50570,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1944:26:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":50571,"name":"IERC6372","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4552,"src":"1972:8:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../../interfaces/IX2EarnApps.sol","id":50574,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":69990,"src":"2042:66:96","symbolAliases":[{"foreign":{"id":50573,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"2051:11:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../../../interfaces/IEmissions.sol","id":50576,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":64455,"src":"2109:64:96","symbolAliases":[{"foreign":{"id":50575,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"2118:10:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../../interfaces/IVoterRewards.sol","id":50578,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":69093,"src":"2174:70:96","symbolAliases":[{"foreign":{"id":50577,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"2183:13:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../../interfaces/IVeBetterPassport.sol","id":50580,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":68602,"src":"2245:78:96","symbolAliases":[{"foreign":{"id":50579,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"2254:17:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../../interfaces/IB3TRGovernor.sol","id":50582,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":63920,"src":"2324:70:96","symbolAliases":[{"foreign":{"id":50581,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2333:13:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../../interfaces/IRelayerRewardsPool.sol","id":50585,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":67118,"src":"2395:97:96","symbolAliases":[{"foreign":{"id":50583,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"2404:19:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":50584,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"2425:13:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../../../interfaces/INavigatorRegistry.sol","id":50587,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":66639,"src":"2493:80:96","symbolAliases":[{"foreign":{"id":50586,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"2502:18:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/libraries/X2EarnAppsDataTypes.sol","file":"../../../libraries/X2EarnAppsDataTypes.sol","id":50589,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":71148,"src":"2574:81:96","symbolAliases":[{"foreign":{"id":50588,"name":"X2EarnAppsDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71147,"src":"2583:19:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"../../../x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","id":50591,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":83100,"src":"2749:132:96","symbolAliases":[{"foreign":{"id":50590,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2758:29:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol","file":"../../../x-allocation-voting-governance/libraries/ExternalContractsUtils.sol","id":50593,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":80339,"src":"2882:118:96","symbolAliases":[{"foreign":{"id":50592,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"2891:22:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol","file":"../../../x-allocation-voting-governance/libraries/VotingSettingsUtils.sol","id":50595,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":82802,"src":"3001:112:96","symbolAliases":[{"foreign":{"id":50594,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"3010:19:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol","file":"../../../x-allocation-voting-governance/libraries/VotesUtils.sol","id":50597,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":82663,"src":"3114:94:96","symbolAliases":[{"foreign":{"id":50596,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"3123:10:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol","file":"../../../x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol","id":50599,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":82435,"src":"3209:122:96","symbolAliases":[{"foreign":{"id":50598,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"3218:24:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol","file":"../../../x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol","id":50601,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":80752,"src":"3332:126:96","symbolAliases":[{"foreign":{"id":50600,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"3341:26:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol","file":"../../../x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol","id":50603,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":80899,"src":"3459:118:96","symbolAliases":[{"foreign":{"id":50602,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"3468:22:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol","file":"../../../x-allocation-voting-governance/libraries/RoundsStorageUtils.sol","id":50605,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":82092,"src":"3578:110:96","symbolAliases":[{"foreign":{"id":50604,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"3587:18:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol","file":"../../../x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol","id":50607,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":81680,"src":"3689:120:96","symbolAliases":[{"foreign":{"id":50606,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"3698:23:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol","file":"../../../x-allocation-voting-governance/libraries/AutoVotingLogic.sol","id":50609,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52883,"sourceUnit":79882,"src":"3810:104:96","symbolAliases":[{"foreign":{"id":50608,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"3819:15:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":50611,"name":"Initializable","nameLocations":["7213:13:96"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"7213:13:96"},"id":50612,"nodeType":"InheritanceSpecifier","src":"7213:13:96"},{"baseName":{"id":50613,"name":"ContextUpgradeable","nameLocations":["7230:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":3987,"src":"7230:18:96"},"id":50614,"nodeType":"InheritanceSpecifier","src":"7230:18:96"},{"baseName":{"id":50615,"name":"ERC165Upgradeable","nameLocations":["7252:17:96"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"7252:17:96"},"id":50616,"nodeType":"InheritanceSpecifier","src":"7252:17:96"},{"baseName":{"id":50617,"name":"IXAllocationVotingGovernor","nameLocations":["7273:26:96"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"7273:26:96"},"id":50618,"nodeType":"InheritanceSpecifier","src":"7273:26:96"},{"baseName":{"id":50619,"name":"AccessControlUpgradeable","nameLocations":["7303:24:96"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"7303:24:96"},"id":50620,"nodeType":"InheritanceSpecifier","src":"7303:24:96"},{"baseName":{"id":50621,"name":"UUPSUpgradeable","nameLocations":["7331:15:96"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"7331:15:96"},"id":50622,"nodeType":"InheritanceSpecifier","src":"7331:15:96"}],"canonicalName":"XAllocationVotingV9","contractDependencies":[],"contractKind":"contract","documentation":{"id":50610,"nodeType":"StructuredDocumentation","src":"3916:3262:96","text":" @title XAllocationVoting\n @notice This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds.\n The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \"Quadratic Funding\" formula.\n @dev Rounds are started by the Emissions contract.\n @dev Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).\n @dev Interacts with the VotingRewards contract to save the user from casting a vote.\n @dev The contract is using AccessControl to handle roles for admin, governance, and round-starting operations.\n ----- Version 2 -----\n - Integrated VeBetterPassport\n - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold\n ----- Version 3 -----\n - Updated the X2EarnApps interface to support node endorsement feature\n ----- Version 4 -----\n - Updated the X2EarnApps interface to support node cooldown functionality\n ----- Version 6 -----\n  - Align IVoterRewards and IEmissions interfaces with the new contracts\n ----- Version 7 -----\n - Proposal Execution: Count proposal deposits to x-allocation voting power\n ----- Version 8 -----\n  - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences\n ----- Version 9 -----\n  - Refactored from module inheritance to library architecture for contract size optimization\n  - Removed the following public functions to reduce contract size (accessible via libraries or storage reads):\n    - name(), initialize(), COUNTING_MODE()\n    - x2EarnApps(), emissions(), voterRewards(), veBetterPassport(), b3trGovernor(), relayerRewardsPool(), token()\n    - roundProposer(), getAndValidateVotingPower()\n  - Added freshness multiplier (XOR fingerprint) in RoundVotesCountingUtils via FreshnessUtils library\n  - New storage in RoundVotesCountingStorage: _lastVoteFingerprint, _lastFingerprintChangedRound, userVotedForApp\n  - New storage in ExternalContractsStorage: _navigatorRegistry (INavigatorRegistry)\n  - New function: castNavigatorVote(citizen, roundId) — votes on behalf of navigator-delegated citizens\n    - Voting power = delegated amount at round snapshot (checkpointed in NavigatorRegistry)\n    - Uses navigator's allocation percentages (basis points, sum to 10000) converted to absolute weights\n    - Registers RelayerAction.VOTE for the caller\n  - New function: disableAutoVotingFor(user) — privileged, callable only by NavigatorRegistry\n  - New events: NavigatorVoteCast, FreshnessMultiplierApplied\n  - New errors: NotDelegatedToNavigator, NavigatorPreferencesNotSet\n  - New initializer: initializeV9(INavigatorRegistry, uint256 citizenSkipWindowBlocks) — reinitializer(8)\n  - setNavigatorRegistry() setter via ExternalContractsUtils\n  - citizenSkipWindowBlocks moved from constant to storage (VotingSettingsStorage), configurable per env\n  - setCitizenSkipWindowBlocks(uint256) governance-gated setter\n  - VotesUtils.getVotes() returns delegated amount when citizen has active navigator at snapshot\n  - Deprecated: getTotalVotingPower() is replaced by getVotes()"},"fullyImplemented":true,"id":52882,"linearizedBaseContracts":[52882,1914,4566,362,71124,4332,4552,5961,4415,3987,1732],"name":"XAllocationVotingV9","nameLocation":"7188:19:96","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":50623,"nodeType":"StructuredDocumentation","src":"7351:70:96","text":"@notice Role identifier for the address that can start a new round"},"functionSelector":"cd669a72","id":50628,"mutability":"constant","name":"ROUND_STARTER_ROLE","nameLocation":"7448:18:96","nodeType":"VariableDeclaration","scope":52882,"src":"7424:76:96","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7424:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"524f554e445f535441525445525f524f4c45","id":50626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7479:20:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b","typeString":"literal_string \"ROUND_STARTER_ROLE\""},"value":"ROUND_STARTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b","typeString":"literal_string \"ROUND_STARTER_ROLE\""}],"id":50625,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7469:9:96","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":50627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7469:31:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":50629,"nodeType":"StructuredDocumentation","src":"7504:73:96","text":"@notice Role identifier for the address that can upgrade the contract"},"functionSelector":"f72c0d8b","id":50634,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"7604:13:96","nodeType":"VariableDeclaration","scope":52882,"src":"7580:66:96","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7580:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":50632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7630:15:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":50631,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7620:9:96","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":50633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7620:26:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":50635,"nodeType":"StructuredDocumentation","src":"7650:53:96","text":"@notice Role identifier for governance operations"},"functionSelector":"f36c8f5c","id":50640,"mutability":"constant","name":"GOVERNANCE_ROLE","nameLocation":"7730:15:96","nodeType":"VariableDeclaration","scope":52882,"src":"7706:70:96","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7706:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"474f5645524e414e43455f524f4c45","id":50638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7758:17:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""},"value":"GOVERNANCE_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""}],"id":50637,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7748:9:96","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":50639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7748:28:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":50641,"nodeType":"StructuredDocumentation","src":"7780:99:96","text":"@notice The role that can set the addresses of the contracts used by the VoterRewards contract."},"functionSelector":"952f2133","id":50646,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"7906:30:96","nodeType":"VariableDeclaration","scope":52882,"src":"7882:100:96","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7882:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":50644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7949:32:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":50643,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7939:9:96","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":50645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7939:43:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":50647,"nodeType":"StructuredDocumentation","src":"7986:214:96","text":"@dev Bitmask with every valid `RoundState` bit set: bit `i` is 1 for enum value `i` (same layout as\n      `_encodeStateBitmap`). `2 ** (max + 1) - 1` sets bits `0` through `type(RoundState).max` inclusive."},"id":50667,"mutability":"constant","name":"ALL_ROUND_STATES_BITMAP","nameLocation":"8228:23:96","nodeType":"VariableDeclaration","scope":52882,"src":"8203:104:96","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8203:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":50651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8263:1:96","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":50660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"arguments":[{"id":50655,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"8280:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}],"id":50654,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8275:4:96","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":50656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8275:16:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_enum$_RoundState_$70612","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":50657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8292:3:96","memberName":"max","nodeType":"MemberAccess","src":"8275:20:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":50653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8269:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":50652,"name":"uint8","nodeType":"ElementaryTypeName","src":"8269:5:96","typeDescriptions":{}}},"id":50658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8269:27:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":50659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8299:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8269:31:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":50661,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8268:33:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8263:38:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":50663,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8262:40:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":50664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8305:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8262:44:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8254:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":50649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8254:7:96","typeDescriptions":{}}},"id":50666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8254:53:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"body":{"id":50674,"nodeType":"Block","src":"8376:33:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":50671,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"8382:20:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":50672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8382:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50673,"nodeType":"ExpressionStatement","src":"8382:22:96"}]},"documentation":{"id":50668,"nodeType":"StructuredDocumentation","src":"8311:48:96","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":50675,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":50669,"nodeType":"ParameterList","parameters":[],"src":"8373:2:96"},"returnParameters":{"id":50670,"nodeType":"ParameterList","parameters":[],"src":"8376:0:96"},"scope":52882,"src":"8362:47:96","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":50715,"nodeType":"Block","src":"8653:257:96","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":50693,"name":"_navigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50679,"src":"8675:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":50692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8667:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50691,"name":"address","nodeType":"ElementaryTypeName","src":"8667:7:96","typeDescriptions":{}}},"id":50694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8667:27:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":50697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8706:1:96","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":50696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8698:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50695,"name":"address","nodeType":"ElementaryTypeName","src":"8698:7:96","typeDescriptions":{}}},"id":50698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8698:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8667:41:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c6964206e6176696761746f72207265676973747279","id":50700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8710:47:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6","typeString":"literal_string \"XAllocationVoting: invalid navigator registry\""},"value":"XAllocationVoting: invalid navigator registry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6","typeString":"literal_string \"XAllocationVoting: invalid navigator registry\""}],"id":50690,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8659:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":50701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8659:99:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50702,"nodeType":"ExpressionStatement","src":"8659:99:96"},{"expression":{"arguments":[{"id":50706,"name":"_navigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50679,"src":"8808:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"expression":{"id":50703,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"8764:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":50705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8787:20:96","memberName":"setNavigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":80337,"src":"8764:43:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_INavigatorRegistry_$66638_$returns$__$","typeString":"function (contract INavigatorRegistry)"}},"id":50707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8764:63:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50708,"nodeType":"ExpressionStatement","src":"8764:63:96"},{"expression":{"arguments":[{"id":50712,"name":"_citizenSkipWindowBlocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50681,"src":"8880:24:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50709,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"8833:19:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":50711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8853:26:96","memberName":"setCitizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82800,"src":"8833:46:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":50713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8833:72:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50714,"nodeType":"ExpressionStatement","src":"8833:72:96"}]},"documentation":{"id":50676,"nodeType":"StructuredDocumentation","src":"8413:80:96","text":"@notice Initialize V9: set NavigatorRegistry address and citizen skip window"},"functionSelector":"aa863286","id":50716,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":50684,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50634,"src":"8621:13:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":50685,"kind":"modifierInvocation","modifierName":{"id":50683,"name":"onlyRole","nameLocations":["8612:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8612:8:96"},"nodeType":"ModifierInvocation","src":"8612:23:96"},{"arguments":[{"hexValue":"38","id":50687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8650:1:96","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"}],"id":50688,"kind":"modifierInvocation","modifierName":{"id":50686,"name":"reinitializer","nameLocations":["8636:13:96"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"8636:13:96"},"nodeType":"ModifierInvocation","src":"8636:16:96"}],"name":"initializeV9","nameLocation":"8505:12:96","nodeType":"FunctionDefinition","parameters":{"id":50682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50679,"mutability":"mutable","name":"_navigatorRegistry","nameLocation":"8542:18:96","nodeType":"VariableDeclaration","scope":50716,"src":"8523:37:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":50678,"nodeType":"UserDefinedTypeName","pathNode":{"id":50677,"name":"INavigatorRegistry","nameLocations":["8523:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"8523:18:96"},"referencedDeclaration":66638,"src":"8523:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"},{"constant":false,"id":50681,"mutability":"mutable","name":"_citizenSkipWindowBlocks","nameLocation":"8574:24:96","nodeType":"VariableDeclaration","scope":50716,"src":"8566:32:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50680,"name":"uint256","nodeType":"ElementaryTypeName","src":"8566:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8517:85:96"},"returnParameters":{"id":50689,"nodeType":"ParameterList","parameters":[],"src":"8653:0:96"},"scope":52882,"src":"8496:414:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":50725,"nodeType":"Block","src":"9084:2:96","statements":[]},"id":50726,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":50722,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50634,"src":"9069:13:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":50723,"kind":"modifierInvocation","modifierName":{"id":50721,"name":"onlyRole","nameLocations":["9060:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9060:8:96"},"nodeType":"ModifierInvocation","src":"9060:23:96"}],"name":"_authorizeUpgrade","nameLocation":"8997:17:96","nodeType":"FunctionDefinition","overrides":{"id":50720,"nodeType":"OverrideSpecifier","overrides":[],"src":"9051:8:96"},"parameters":{"id":50719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50718,"mutability":"mutable","name":"newImplementation","nameLocation":"9023:17:96","nodeType":"VariableDeclaration","scope":50726,"src":"9015:25:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50717,"name":"address","nodeType":"ElementaryTypeName","src":"9015:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9014:27:96"},"returnParameters":{"id":50724,"nodeType":"ParameterList","parameters":[],"src":"9084:0:96"},"scope":52882,"src":"8988:98:96","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[70954],"body":{"id":50940,"nodeType":"Block","src":"9465:2406:96","statements":[{"assignments":[50736],"declarations":[{"constant":false,"id":50736,"mutability":"mutable","name":"proposer","nameLocation":"9479:8:96","nodeType":"VariableDeclaration","scope":50940,"src":"9471:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50735,"name":"address","nodeType":"ElementaryTypeName","src":"9471:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":50739,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":50737,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"9490:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":50738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9490:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9471:31:96"},{"assignments":[50741],"declarations":[{"constant":false,"id":50741,"mutability":"mutable","name":"currentRound","nameLocation":"9680:12:96","nodeType":"VariableDeclaration","scope":50940,"src":"9672:20:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50740,"name":"uint256","nodeType":"ElementaryTypeName","src":"9672:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50745,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50742,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"9695:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":50743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9714:14:96","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":81812,"src":"9695:33:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":50744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9695:35:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9672:58:96"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50746,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50741,"src":"9740:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9755:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9740:16:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50758,"nodeType":"IfStatement","src":"9736:136:96","trueBody":{"id":50757,"nodeType":"Block","src":"9758:114:96","statements":[{"expression":{"arguments":[{"id":50753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9774:23:96","subExpression":{"arguments":[{"id":50751,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50741,"src":"9784:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50750,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52101,"src":"9775:8:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":50752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9775:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a2074686572652063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65","id":50754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9799:65:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5","typeString":"literal_string \"XAllocationVotingGovernor: there can be only one round per time\""},"value":"XAllocationVotingGovernor: there can be only one round per time"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5","typeString":"literal_string \"XAllocationVotingGovernor: there can be only one round per time\""}],"id":50749,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9766:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":50755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9766:99:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50756,"nodeType":"ExpressionStatement","src":"9766:99:96"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":50767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50759,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50741,"src":"9928:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9943:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9928:16:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":50766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9948:49:96","subExpression":{"arguments":[{"id":50764,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50741,"src":"9984:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50762,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"9949:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":50763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9972:11:96","memberName":"isFinalized","nodeType":"MemberAccess","referencedDeclaration":80897,"src":"9949:34:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":50765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:48:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9928:69:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50784,"nodeType":"IfStatement","src":"9924:192:96","trueBody":{"id":50783,"nodeType":"Block","src":"9999:117:96","statements":[{"expression":{"arguments":[{"id":50771,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50741,"src":"10044:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":50775,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50741,"src":"10070:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50774,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52165,"src":"10064:5:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":50776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10064:19:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":50773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10058:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":50772,"name":"uint8","nodeType":"ElementaryTypeName","src":"10058:5:96","typeDescriptions":{}}},"id":50777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10058:26:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"id":50779,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50741,"src":"10095:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50778,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52101,"src":"10086:8:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":50780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10086:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50768,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"10007:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":50770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10030:13:96","memberName":"finalizeRound","nodeType":"MemberAccess","referencedDeclaration":80851,"src":"10007:36:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_uint8_$_t_bool_$returns$__$","typeString":"function (uint256,uint8,bool)"}},"id":50781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10007:102:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50782,"nodeType":"ExpressionStatement","src":"10007:102:96"}]}},{"assignments":[50789],"declarations":[{"constant":false,"id":50789,"mutability":"mutable","name":"eligibleApps","nameLocation":"10164:12:96","nodeType":"VariableDeclaration","scope":50940,"src":"10147:29:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10147:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50788,"nodeType":"ArrayTypeName","src":"10147:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":50796,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50790,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"10179:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":50791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10216:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"10179:65:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":50792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10179:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":50793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10254:11:96","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"10179:86:96","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":50794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10273:15:96","memberName":"allEligibleApps","nodeType":"MemberAccess","referencedDeclaration":69691,"src":"10179:109:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function () view external returns (bytes32[] memory)"}},"id":50795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10179:111:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10147:143:96"},{"assignments":[50798],"declarations":[{"constant":false,"id":50798,"mutability":"mutable","name":"currentClock","nameLocation":"10328:12:96","nodeType":"VariableDeclaration","scope":50940,"src":"10321:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":50797,"name":"uint48","nodeType":"ElementaryTypeName","src":"10321:6:96","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":50802,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50799,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"10343:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":50800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10354:5:96","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"10343:16:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":50801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10343:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"10321:40:96"},{"assignments":[50804],"declarations":[{"constant":false,"id":50804,"mutability":"mutable","name":"currentVotingPeriod","nameLocation":"10374:19:96","nodeType":"VariableDeclaration","scope":50940,"src":"10367:26:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":50803,"name":"uint32","nodeType":"ElementaryTypeName","src":"10367:6:96","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":50811,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50807,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"10403:19:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":50808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10423:12:96","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":82705,"src":"10403:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":50809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10403:34:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10396:6:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":50805,"name":"uint32","nodeType":"ElementaryTypeName","src":"10396:6:96","typeDescriptions":{}}},"id":50810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10396:42:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"10367:71:96"},{"assignments":[50813],"declarations":[{"constant":false,"id":50813,"mutability":"mutable","name":"newRoundId","nameLocation":"10452:10:96","nodeType":"VariableDeclaration","scope":50940,"src":"10444:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50812,"name":"uint256","nodeType":"ElementaryTypeName","src":"10444:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50821,"initialValue":{"arguments":[{"id":50816,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50736,"src":"10496:8:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50817,"name":"currentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50798,"src":"10506:12:96","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":50818,"name":"currentVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50804,"src":"10520:19:96","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":50819,"name":"eligibleApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50789,"src":"10541:12:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":50814,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"10465:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":50815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10484:11:96","memberName":"createRound","nodeType":"MemberAccess","referencedDeclaration":81793,"src":"10465:30:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_uint48_$_t_uint32_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint48,uint32,bytes32[] memory) returns (uint256)"}},"id":50820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10465:89:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10444:110:96"},{"expression":{"arguments":[{"id":50825,"name":"newRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50813,"src":"10661:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50822,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"10609:26:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":50824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10636:24:96","memberName":"snapshotRoundEarningsCap","nodeType":"MemberAccess","referencedDeclaration":80750,"src":"10609:51:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":50826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10609:63:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50827,"nodeType":"ExpressionStatement","src":"10609:63:96"},{"assignments":[50829],"declarations":[{"constant":false,"id":50829,"mutability":"mutable","name":"totalAutoVotingUsers","nameLocation":"10758:20:96","nodeType":"VariableDeclaration","scope":50940,"src":"10750:28:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":50828,"name":"uint208","nodeType":"ElementaryTypeName","src":"10750:7:96","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":50834,"initialValue":{"arguments":[{"id":50832,"name":"currentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50798,"src":"10832:12:96","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":50830,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"10781:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":50831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10797:34:96","memberName":"getTotalAutoVotingUsersAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79658,"src":"10781:50:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view returns (uint208)"}},"id":50833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10781:64:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"10750:95:96"},{"assignments":[50837],"declarations":[{"constant":false,"id":50837,"mutability":"mutable","name":"navRegistry","nameLocation":"10870:11:96","nodeType":"VariableDeclaration","scope":50940,"src":"10851:30:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":50836,"nodeType":"UserDefinedTypeName","pathNode":{"id":50835,"name":"INavigatorRegistry","nameLocations":["10851:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"10851:18:96"},"referencedDeclaration":66638,"src":"10851:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":50842,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50838,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"10884:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":50839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10914:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"10884:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":50840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10884:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":50841,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10945:18:96","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"10884:79:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"10851:112:96"},{"assignments":[50844],"declarations":[{"constant":false,"id":50844,"mutability":"mutable","name":"totalDelegatedCitizens","nameLocation":"10977:22:96","nodeType":"VariableDeclaration","scope":50940,"src":"10969:30:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":50843,"name":"uint208","nodeType":"ElementaryTypeName","src":"10969:7:96","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":50860,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":50847,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50837,"src":"11010:11:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":50846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11002:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50845,"name":"address","nodeType":"ElementaryTypeName","src":"11002:7:96","typeDescriptions":{}}},"id":50848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11002:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11034:1:96","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":50850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11026:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50849,"name":"address","nodeType":"ElementaryTypeName","src":"11026:7:96","typeDescriptions":{}}},"id":50852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11026:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11002:34:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":50857,"name":"currentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50798,"src":"11104:12:96","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":50855,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50837,"src":"11055:11:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":50856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11067:36:96","memberName":"getTotalDelegatedCitizensAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66391,"src":"11055:48:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view external returns (uint208)"}},"id":50858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11055:62:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":50859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11002:115:96","trueExpression":{"hexValue":"30","id":50854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11045:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"10969:148:96"},{"assignments":[50862],"declarations":[{"constant":false,"id":50862,"mutability":"mutable","name":"allocationUsers","nameLocation":"11131:15:96","nodeType":"VariableDeclaration","scope":50940,"src":"11123:23:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50861,"name":"uint256","nodeType":"ElementaryTypeName","src":"11123:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50872,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":50865,"name":"totalAutoVotingUsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50829,"src":"11157:20:96","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":50864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11149:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50863,"name":"uint256","nodeType":"ElementaryTypeName","src":"11149:7:96","typeDescriptions":{}}},"id":50866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11149:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":50869,"name":"totalDelegatedCitizens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50844,"src":"11189:22:96","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":50868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11181:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50867,"name":"uint256","nodeType":"ElementaryTypeName","src":"11181:7:96","typeDescriptions":{}}},"id":50870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11181:31:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11149:63:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11123:89:96"},{"assignments":[50877],"declarations":[{"constant":false,"id":50877,"mutability":"mutable","name":"activeProposals","nameLocation":"11236:15:96","nodeType":"VariableDeclaration","scope":50940,"src":"11219:32:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":50875,"name":"uint256","nodeType":"ElementaryTypeName","src":"11219:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50876,"nodeType":"ArrayTypeName","src":"11219:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":50878,"nodeType":"VariableDeclarationStatement","src":"11219:32:96"},{"assignments":[50881],"declarations":[{"constant":false,"id":50881,"mutability":"mutable","name":"governor","nameLocation":"11271:8:96","nodeType":"VariableDeclaration","scope":50940,"src":"11257:22:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":50880,"nodeType":"UserDefinedTypeName","pathNode":{"id":50879,"name":"IB3TRGovernor","nameLocations":["11257:13:96"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"11257:13:96"},"referencedDeclaration":63919,"src":"11257:13:96","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"id":50886,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50882,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"11282:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":50883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11312:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"11282:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":50884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11282:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":50885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11343:13:96","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":82997,"src":"11282:74:96","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"VariableDeclarationStatement","src":"11257:99:96"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":50899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":50889,"name":"governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50881,"src":"11374:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":50888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11366:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50887,"name":"address","nodeType":"ElementaryTypeName","src":"11366:7:96","typeDescriptions":{}}},"id":50890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11366:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":50893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11395:1:96","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":50892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11387:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50891,"name":"address","nodeType":"ElementaryTypeName","src":"11387:7:96","typeDescriptions":{}}},"id":50894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11387:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11366:31:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":50898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50896,"name":"totalDelegatedCitizens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50844,"src":"11401:22:96","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11426:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11401:26:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11366:61:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50907,"nodeType":"IfStatement","src":"11362:129:96","trueBody":{"id":50906,"nodeType":"Block","src":"11429:62:96","statements":[{"expression":{"id":50904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50900,"name":"activeProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50877,"src":"11437:15:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50901,"name":"governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50881,"src":"11455:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":50902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11464:18:96","memberName":"getActiveProposals","nodeType":"MemberAccess","referencedDeclaration":63761,"src":"11455:27:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function () view external returns (uint256[] memory)"}},"id":50903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11455:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"11437:47:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":50905,"nodeType":"ExpressionStatement","src":"11437:47:96"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":50915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50908,"name":"allocationUsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50862,"src":"11501:15:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11519:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11501:19:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50911,"name":"activeProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50877,"src":"11524:15:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":50912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11540:6:96","memberName":"length","nodeType":"MemberAccess","src":"11524:22:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11524:26:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11501:49:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50937,"nodeType":"IfStatement","src":"11497:346:96","trueBody":{"id":50936,"nodeType":"Block","src":"11552:291:96","statements":[{"assignments":[50918],"declarations":[{"constant":false,"id":50918,"mutability":"mutable","name":"pool","nameLocation":"11580:4:96","nodeType":"VariableDeclaration","scope":50936,"src":"11560:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":50917,"nodeType":"UserDefinedTypeName","pathNode":{"id":50916,"name":"IRelayerRewardsPool","nameLocations":["11560:19:96"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"11560:19:96"},"referencedDeclaration":67117,"src":"11560:19:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"id":50923,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50919,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"11587:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":50920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11617:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"11587:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":50921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11587:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":50922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11648:19:96","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"11587:80:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"nodeType":"VariableDeclarationStatement","src":"11560:107:96"},{"expression":{"arguments":[{"id":50927,"name":"newRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50813,"src":"11727:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50928,"name":"allocationUsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50862,"src":"11747:15:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":50931,"name":"totalDelegatedCitizens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50844,"src":"11780:22:96","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":50930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11772:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50929,"name":"uint256","nodeType":"ElementaryTypeName","src":"11772:7:96","typeDescriptions":{}}},"id":50932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11772:31:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50933,"name":"activeProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50877,"src":"11813:15:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":50924,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50918,"src":"11675:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":50926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11680:37:96","memberName":"setTotalActionsForRoundWithGovernance","nodeType":"MemberAccess","referencedDeclaration":67029,"src":"11675:42:96","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256[] memory) external"}},"id":50934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11675:161:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50935,"nodeType":"ExpressionStatement","src":"11675:161:96"}]}},{"expression":{"id":50938,"name":"newRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50813,"src":"11856:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50734,"id":50939,"nodeType":"Return","src":"11849:17:96"}]},"documentation":{"id":50727,"nodeType":"StructuredDocumentation","src":"9167:216:96","text":" @dev Starts a new round of voting to allocate funds to x-2-earn applications.\n Orchestrates: finalize previous round → create new round → snapshot earnings → setup auto-voting relayer actions"},"functionSelector":"bd85948c","id":50941,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":50730,"name":"ROUND_STARTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50628,"src":"9427:18:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":50731,"kind":"modifierInvocation","modifierName":{"id":50729,"name":"onlyRole","nameLocations":["9418:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9418:8:96"},"nodeType":"ModifierInvocation","src":"9418:28:96"}],"name":"startNewRound","nameLocation":"9395:13:96","nodeType":"FunctionDefinition","parameters":{"id":50728,"nodeType":"ParameterList","parameters":[],"src":"9408:2:96"},"returnParameters":{"id":50734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50733,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50941,"src":"9456:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50732,"name":"uint256","nodeType":"ElementaryTypeName","src":"9456:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9455:9:96"},"scope":52882,"src":"9386:2485:96","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[70966],"body":{"id":51040,"nodeType":"Block","src":"12171:966:96","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50954,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50947,"src":"12185:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":50955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12192:6:96","memberName":"length","nodeType":"MemberAccess","src":"12185:13:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50956,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50950,"src":"12202:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":50957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12214:6:96","memberName":"length","nodeType":"MemberAccess","src":"12202:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12185:35:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206170707320616e642077656967687473206c656e677468206d69736d61746368","id":50959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12222:61:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11","typeString":"literal_string \"XAllocationVotingGovernor: apps and weights length mismatch\""},"value":"XAllocationVotingGovernor: apps and weights length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11","typeString":"literal_string \"XAllocationVotingGovernor: apps and weights length mismatch\""}],"id":50953,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12177:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":50960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:107:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50961,"nodeType":"ExpressionStatement","src":"12177:107:96"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50963,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50947,"src":"12298:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":50964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12305:6:96","memberName":"length","nodeType":"MemberAccess","src":"12298:13:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12314:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12298:17:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f206170707320746f20766f746520666f72","id":50967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12317:48:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645","typeString":"literal_string \"XAllocationVotingGovernor: no apps to vote for\""},"value":"XAllocationVotingGovernor: no apps to vote for"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645","typeString":"literal_string \"XAllocationVotingGovernor: no apps to vote for\""}],"id":50962,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12290:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":50968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12290:76:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50969,"nodeType":"ExpressionStatement","src":"12290:76:96"},{"condition":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":50972,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12417:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":50973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12417:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":50976,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52328,"src":"12449:20:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":50977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12449:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50974,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"12431:8:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":50975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12440:8:96","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"12431:17:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":50978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12431:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":50970,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12377:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}},"id":50971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12382:34:96","memberName":"isUserAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":52771,"src":"12377:39:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view external returns (bool)"}},"id":50979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12377:96:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50986,"nodeType":"IfStatement","src":"12373:155:96","trueBody":{"id":50985,"nodeType":"Block","src":"12475:53:96","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":50981,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12508:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":50982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12508:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50980,"name":"AutoVotingEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70682,"src":"12490:17:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":50983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12490:31:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50984,"nodeType":"RevertStatement","src":"12483:38:96"}]}},{"assignments":[50989],"declarations":[{"constant":false,"id":50989,"mutability":"mutable","name":"navigatorRegistryContract","nameLocation":"12644:25:96","nodeType":"VariableDeclaration","scope":51040,"src":"12625:44:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":50988,"nodeType":"UserDefinedTypeName","pathNode":{"id":50987,"name":"INavigatorRegistry","nameLocations":["12625:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"12625:18:96"},"referencedDeclaration":66638,"src":"12625:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":50994,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50990,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"12672:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":50991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12709:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"12672:65:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":50992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12672:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":50993,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12747:18:96","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"12672:93:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"12625:140:96"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":50997,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50989,"src":"12783:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":50996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12775:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50995,"name":"address","nodeType":"ElementaryTypeName","src":"12775:7:96","typeDescriptions":{}}},"id":50998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12775:34:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":51001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12821:1:96","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":51000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12813:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50999,"name":"address","nodeType":"ElementaryTypeName","src":"12813:7:96","typeDescriptions":{}}},"id":51002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12813:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12775:48:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51025,"nodeType":"IfStatement","src":"12771:235:96","trueBody":{"id":51024,"nodeType":"Block","src":"12825:181:96","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":51006,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12887:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12887:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51009,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50944,"src":"12915:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51008,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"12901:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":51010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12901:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51004,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50989,"src":"12837:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":51005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12863:23:96","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"12837:49:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":51011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12837:87:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":51014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12936:1:96","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":51013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12928:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51012,"name":"address","nodeType":"ElementaryTypeName","src":"12928:7:96","typeDescriptions":{}}},"id":51015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12928:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12837:101:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51023,"nodeType":"IfStatement","src":"12833:167:96","trueBody":{"id":51022,"nodeType":"Block","src":"12940:60:96","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":51018,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12978:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12978:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51017,"name":"DelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70702,"src":"12957:20:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":51020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12957:34:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51021,"nodeType":"RevertStatement","src":"12950:41:96"}]}}]}},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":51027,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"13046:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13046:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51026,"name":"validatePersonhoodForCurrentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51591,"src":"13012:33:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":51029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13012:47:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51030,"nodeType":"ExpressionStatement","src":"13012:47:96"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":51032,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"13082:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13082:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51034,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50944,"src":"13096:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51035,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50947,"src":"13105:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":51036,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50950,"src":"13113:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"66616c7365","id":51037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13126:5:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51031,"name":"_handleCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51469,"src":"13066:15:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,bool)"}},"id":51038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13066:66:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51039,"nodeType":"ExpressionStatement","src":"13066:66:96"}]},"documentation":{"id":50942,"nodeType":"StructuredDocumentation","src":"11875:188:96","text":" @dev Cast a vote for a set of x-2-earn applications.\n @notice Only addresses with a valid passport can vote.\n @notice Reverts if autovoting is enabled for the voter."},"functionSelector":"53ed6399","id":51041,"implemented":true,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"12075:8:96","nodeType":"FunctionDefinition","parameters":{"id":50951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50944,"mutability":"mutable","name":"roundId","nameLocation":"12092:7:96","nodeType":"VariableDeclaration","scope":51041,"src":"12084:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50943,"name":"uint256","nodeType":"ElementaryTypeName","src":"12084:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50947,"mutability":"mutable","name":"appIds","nameLocation":"12118:6:96","nodeType":"VariableDeclaration","scope":51041,"src":"12101:23:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12101:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50946,"nodeType":"ArrayTypeName","src":"12101:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":50950,"mutability":"mutable","name":"voteWeights","nameLocation":"12143:11:96","nodeType":"VariableDeclaration","scope":51041,"src":"12126:28:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":50948,"name":"uint256","nodeType":"ElementaryTypeName","src":"12126:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50949,"nodeType":"ArrayTypeName","src":"12126:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"12083:72:96"},"returnParameters":{"id":50952,"nodeType":"ParameterList","parameters":[],"src":"12171:0:96"},"scope":52882,"src":"12066:1071:96","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":51173,"nodeType":"Block","src":"13389:1418:96","statements":[{"condition":{"id":51059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13399:90:96","subExpression":{"arguments":[{"id":51051,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"13440:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":51055,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51046,"src":"13479:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51054,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"13465:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":51056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13465:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51052,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"13447:8:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":51053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13456:8:96","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"13447:17:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":51057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13447:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":51049,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13400:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}},"id":51050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13405:34:96","memberName":"isUserAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":52771,"src":"13400:39:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view external returns (bool)"}},"id":51058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13400:89:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51065,"nodeType":"IfStatement","src":"13395:145:96","trueBody":{"id":51064,"nodeType":"Block","src":"13491:49:96","statements":[{"errorCall":{"arguments":[{"id":51061,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"13527:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51060,"name":"AutoVotingNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70677,"src":"13506:20:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":51062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13506:27:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51063,"nodeType":"RevertStatement","src":"13499:34:96"}]}},{"expression":{"arguments":[{"id":51067,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51046,"src":"13575:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51068,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"13584:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":51066,"name":"_checkEarlyAccessEligibility","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51797,"src":"13546:28:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) view"}},"id":51069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13546:44:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51070,"nodeType":"ExpressionStatement","src":"13546:44:96"},{"assignments":[51072,null],"declarations":[{"constant":false,"id":51072,"mutability":"mutable","name":"isPerson","nameLocation":"13603:8:96","nodeType":"VariableDeclaration","scope":51173,"src":"13598:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51071,"name":"bool","nodeType":"ElementaryTypeName","src":"13598:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":51085,"initialValue":{"arguments":[{"id":51078,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"13737:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":51081,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52328,"src":"13762:20:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":51082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13762:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51079,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"13744:8:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":51080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13753:8:96","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"13744:17:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":51083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13744:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51073,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"13617:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13654:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"13617:65:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13617:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13692:17:96","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":82994,"src":"13617:92:96","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":51077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13717:19:96","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"13617:119:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":51084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13617:169:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"13597:189:96"},{"assignments":[51090],"declarations":[{"constant":false,"id":51090,"mutability":"mutable","name":"appIds","nameLocation":"13810:6:96","nodeType":"VariableDeclaration","scope":51173,"src":"13793:23:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":51088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13793:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":51089,"nodeType":"ArrayTypeName","src":"13793:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":51095,"initialValue":{"arguments":[{"id":51093,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"13860:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51091,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"13819:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":51092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13835:24:96","memberName":"getUserVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":79634,"src":"13819:40:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) view returns (bytes32[] memory)"}},"id":51094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13819:47:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13793:73:96"},{"assignments":[51100,51103,51105],"declarations":[{"constant":false,"id":51100,"mutability":"mutable","name":"finalAppIds","nameLocation":"13891:11:96","nodeType":"VariableDeclaration","scope":51173,"src":"13874:28:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":51098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13874:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":51099,"nodeType":"ArrayTypeName","src":"13874:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":51103,"mutability":"mutable","name":"voteWeightsArr","nameLocation":"13921:14:96","nodeType":"VariableDeclaration","scope":51173,"src":"13904:31:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":51101,"name":"uint256","nodeType":"ElementaryTypeName","src":"13904:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51102,"nodeType":"ArrayTypeName","src":"13904:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":51105,"mutability":"mutable","name":"votingPower","nameLocation":"13945:11:96","nodeType":"VariableDeclaration","scope":51173,"src":"13937:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51104,"name":"uint256","nodeType":"ElementaryTypeName","src":"13937:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51116,"initialValue":{"arguments":[{"arguments":[{"id":51110,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14013:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}],"id":51109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14005:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51108,"name":"address","nodeType":"ElementaryTypeName","src":"14005:7:96","typeDescriptions":{}}},"id":51111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14005:13:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51112,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"14020:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51113,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51046,"src":"14027:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51114,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51090,"src":"14036:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":51106,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"13960:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":51107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13983:21:96","memberName":"prepareAutoVoteArrays","nodeType":"MemberAccess","referencedDeclaration":79880,"src":"13960:44:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"function (address,address,uint256,bytes32[] memory) view returns (bytes32[] memory,uint256[] memory,uint256)"}},"id":51115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13960:83:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13873:170:96"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":51123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14200:9:96","subExpression":{"id":51117,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51072,"src":"14201:8:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":51119,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51100,"src":"14213:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":51120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14225:6:96","memberName":"length","nodeType":"MemberAccess","src":"14213:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":51121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14235:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14213:23:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14200:36:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51164,"nodeType":"IfStatement","src":"14196:534:96","trueBody":{"id":51163,"nodeType":"Block","src":"14238:492:96","statements":[{"condition":{"arguments":[{"id":51126,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"14360:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51124,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"14324:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":51125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14340:19:96","memberName":"isAutoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":79580,"src":"14324:35:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":51127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14324:42:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51152,"nodeType":"IfStatement","src":"14320:303:96","trueBody":{"id":51151,"nodeType":"Block","src":"14368:255:96","statements":[{"expression":{"arguments":[{"arguments":[{"id":51133,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14419:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}],"id":51132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14411:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51131,"name":"address","nodeType":"ElementaryTypeName","src":"14411:7:96","typeDescriptions":{}}},"id":51134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14411:13:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51135,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"14426:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51136,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"14433:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":51137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14444:5:96","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"14433:16:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":51138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14433:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":51128,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"14378:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":51130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14394:16:96","memberName":"toggleAutoVoting","nodeType":"MemberAccess","referencedDeclaration":79418,"src":"14378:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_address_$_t_uint48_$returns$__$","typeString":"function (address,address,uint48)"}},"id":51139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14378:74:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51140,"nodeType":"ExpressionStatement","src":"14378:74:96"},{"expression":{"arguments":[{"id":51147,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51046,"src":"14584:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":51148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14603:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51141,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"14462:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14492:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"14462:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14462:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14523:19:96","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"14462:80:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":51146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14543:29:96","memberName":"reduceExpectedActionsForRound","nodeType":"MemberAccess","referencedDeclaration":67049,"src":"14462:110:96","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":51149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14462:152:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51150,"nodeType":"ExpressionStatement","src":"14462:152:96"}]}},{"eventCall":{"arguments":[{"id":51154,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"14651:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51155,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51046,"src":"14658:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51156,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51072,"src":"14667:8:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":51157,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51100,"src":"14677:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":51158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14689:6:96","memberName":"length","nodeType":"MemberAccess","src":"14677:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51159,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51105,"src":"14697:11:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51153,"name":"AutoVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70739,"src":"14635:15:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,bool,uint256,uint256)"}},"id":51160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14635:74:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51161,"nodeType":"EmitStatement","src":"14630:79:96"},{"functionReturnParameters":51048,"id":51162,"nodeType":"Return","src":"14717:7:96"}]}},{"expression":{"arguments":[{"id":51166,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51044,"src":"14752:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51167,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51046,"src":"14759:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51168,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51100,"src":"14768:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":51169,"name":"voteWeightsArr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51103,"src":"14781:14:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"74727565","id":51170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14797:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51165,"name":"_handleCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51469,"src":"14736:15:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,bool)"}},"id":51171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14736:66:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51172,"nodeType":"ExpressionStatement","src":"14736:66:96"}]},"documentation":{"id":51042,"nodeType":"StructuredDocumentation","src":"13141:178:96","text":" @dev Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\n @notice Reverts if autovoting is not enabled for the voter."},"functionSelector":"a5ae08e9","id":51174,"implemented":true,"kind":"function","modifiers":[],"name":"castVoteOnBehalfOf","nameLocation":"13331:18:96","nodeType":"FunctionDefinition","parameters":{"id":51047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51044,"mutability":"mutable","name":"voter","nameLocation":"13358:5:96","nodeType":"VariableDeclaration","scope":51174,"src":"13350:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51043,"name":"address","nodeType":"ElementaryTypeName","src":"13350:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51046,"mutability":"mutable","name":"roundId","nameLocation":"13373:7:96","nodeType":"VariableDeclaration","scope":51174,"src":"13365:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51045,"name":"uint256","nodeType":"ElementaryTypeName","src":"13365:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13349:32:96"},"returnParameters":{"id":51048,"nodeType":"ParameterList","parameters":[],"src":"13389:0:96"},"scope":52882,"src":"13322:1485:96","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":51433,"nodeType":"Block","src":"15582:2985:96","statements":[{"expression":{"arguments":[{"id":51183,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"15609:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":51185,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"15637:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":51186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15648:6:96","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":70609,"src":"15637:17:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":51184,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52857,"src":"15618:18:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$70612_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernor.RoundState) pure returns (bytes32)"}},"id":51187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15618:37:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":51182,"name":"_validateStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51630,"src":"15588:20:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256,bytes32) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":51188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15588:68:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"id":51189,"nodeType":"ExpressionStatement","src":"15588:68:96"},{"assignments":[51192],"declarations":[{"constant":false,"id":51192,"mutability":"mutable","name":"navigatorRegistryContract","nameLocation":"15682:25:96","nodeType":"VariableDeclaration","scope":51433,"src":"15663:44:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":51191,"nodeType":"UserDefinedTypeName","pathNode":{"id":51190,"name":"INavigatorRegistry","nameLocations":["15663:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"15663:18:96"},"referencedDeclaration":66638,"src":"15663:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":51197,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51193,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"15710:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15747:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"15710:65:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15710:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15785:18:96","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"15710:93:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"15663:140:96"},{"assignments":[51199],"declarations":[{"constant":false,"id":51199,"mutability":"mutable","name":"snapshot","nameLocation":"15915:8:96","nodeType":"VariableDeclaration","scope":51433,"src":"15907:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51198,"name":"uint256","nodeType":"ElementaryTypeName","src":"15907:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51203,"initialValue":{"arguments":[{"id":51201,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"15940:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51200,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"15926:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":51202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15926:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15907:41:96"},{"assignments":[51205],"declarations":[{"constant":false,"id":51205,"mutability":"mutable","name":"navigator","nameLocation":"15962:9:96","nodeType":"VariableDeclaration","scope":51433,"src":"15954:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51204,"name":"address","nodeType":"ElementaryTypeName","src":"15954:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":51211,"initialValue":{"arguments":[{"id":51208,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"16024:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51209,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51199,"src":"16033:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51206,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51192,"src":"15974:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":51207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16000:23:96","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"15974:49:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":51210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15974:68:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15954:88:96"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51212,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51205,"src":"16052:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":51215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16073:1:96","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":51214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16065:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51213,"name":"address","nodeType":"ElementaryTypeName","src":"16065:7:96","typeDescriptions":{}}},"id":51216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16065:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16052:23:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51222,"nodeType":"IfStatement","src":"16048:68:96","trueBody":{"errorCall":{"arguments":[{"id":51219,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"16108:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51218,"name":"NotDelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70697,"src":"16084:23:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":51220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16084:32:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51221,"nodeType":"RevertStatement","src":"16077:39:96"}},{"assignments":[51225],"declarations":[{"constant":false,"id":51225,"mutability":"mutable","name":"pool","nameLocation":"16143:4:96","nodeType":"VariableDeclaration","scope":51433,"src":"16123:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":51224,"nodeType":"UserDefinedTypeName","pathNode":{"id":51223,"name":"IRelayerRewardsPool","nameLocations":["16123:19:96"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"16123:19:96"},"referencedDeclaration":67117,"src":"16123:19:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"id":51230,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51226,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"16150:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16180:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"16150:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16150:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16211:19:96","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"16150:80:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"nodeType":"VariableDeclarationStatement","src":"16123:107:96"},{"condition":{"arguments":[{"id":51232,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51205,"src":"16346:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51231,"name":"_isNavigatorDead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51841,"src":"16329:16:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":51233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16329:27:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51249,"nodeType":"IfStatement","src":"16325:171:96","trueBody":{"id":51248,"nodeType":"Block","src":"16358:138:96","statements":[{"expression":{"arguments":[{"id":51237,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"16396:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51238,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"16405:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51234,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51225,"src":"16366:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":51236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16371:24:96","memberName":"reduceUserAllocationVote","nodeType":"MemberAccess","referencedDeclaration":67057,"src":"16366:29:96","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":51239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16366:47:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51240,"nodeType":"ExpressionStatement","src":"16366:47:96"},{"eventCall":{"arguments":[{"id":51242,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"16447:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51243,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51205,"src":"16456:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51244,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"16467:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51241,"name":"NavigatorVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70818,"src":"16426:20:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":51245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16426:49:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51246,"nodeType":"EmitStatement","src":"16421:54:96"},{"functionReturnParameters":51181,"id":51247,"nodeType":"Return","src":"16483:7:96"}]}},{"condition":{"id":51255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16551:64:96","subExpression":{"arguments":[{"id":51252,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51205,"src":"16596:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51253,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"16607:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51250,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51192,"src":"16552:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":51251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16578:17:96","memberName":"hasSetPreferences","nodeType":"MemberAccess","referencedDeclaration":66443,"src":"16552:43:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view external returns (bool)"}},"id":51254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16552:63:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51275,"nodeType":"IfStatement","src":"16547:344:96","trueBody":{"id":51274,"nodeType":"Block","src":"16617:274:96","statements":[{"expression":{"arguments":[{"id":51257,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"16745:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51256,"name":"_validateSkipWindow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51824,"src":"16725:19:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":51258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16725:28:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51259,"nodeType":"ExpressionStatement","src":"16725:28:96"},{"expression":{"arguments":[{"id":51263,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"16791:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51264,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"16800:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51260,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51225,"src":"16761:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":51262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16766:24:96","memberName":"reduceUserAllocationVote","nodeType":"MemberAccess","referencedDeclaration":67057,"src":"16761:29:96","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":51265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16761:47:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51266,"nodeType":"ExpressionStatement","src":"16761:47:96"},{"eventCall":{"arguments":[{"id":51268,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"16842:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51269,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51205,"src":"16851:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51270,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"16862:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51267,"name":"NavigatorVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70818,"src":"16821:20:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":51271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16821:49:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51272,"nodeType":"EmitStatement","src":"16816:54:96"},{"functionReturnParameters":51181,"id":51273,"nodeType":"Return","src":"16878:7:96"}]}},{"assignments":[51277,null],"declarations":[{"constant":false,"id":51277,"mutability":"mutable","name":"isPerson","nameLocation":"16978:8:96","nodeType":"VariableDeclaration","scope":51433,"src":"16973:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51276,"name":"bool","nodeType":"ElementaryTypeName","src":"16973:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":51289,"initialValue":{"arguments":[{"id":51283,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"17112:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51286,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51199,"src":"17139:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51284,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"17121:8:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":51285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17130:8:96","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"17121:17:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":51287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17121:27:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51278,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"16992:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17029:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"16992:65:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16992:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17067:17:96","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":82994,"src":"16992:92:96","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":51282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17092:19:96","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"16992:119:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":51288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16992:157:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"16972:177:96"},{"condition":{"id":51291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17159:9:96","subExpression":{"id":51290,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51277,"src":"17160:8:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51307,"nodeType":"IfStatement","src":"17155:153:96","trueBody":{"id":51306,"nodeType":"Block","src":"17170:138:96","statements":[{"expression":{"arguments":[{"id":51295,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"17208:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51296,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"17217:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51292,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51225,"src":"17178:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":51294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17183:24:96","memberName":"reduceUserAllocationVote","nodeType":"MemberAccess","referencedDeclaration":67057,"src":"17178:29:96","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":51297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17178:47:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51298,"nodeType":"ExpressionStatement","src":"17178:47:96"},{"eventCall":{"arguments":[{"id":51300,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"17259:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51301,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51205,"src":"17268:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51302,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"17279:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51299,"name":"NavigatorVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70818,"src":"17238:20:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":51303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17238:49:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51304,"nodeType":"EmitStatement","src":"17233:54:96"},{"functionReturnParameters":51181,"id":51305,"nodeType":"Return","src":"17295:7:96"}]}},{"expression":{"arguments":[{"id":51309,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"17343:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51310,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"17352:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":51308,"name":"_checkEarlyAccessEligibility","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51797,"src":"17314:28:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) view"}},"id":51311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17314:46:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51312,"nodeType":"ExpressionStatement","src":"17314:46:96"},{"assignments":[51317,51320],"declarations":[{"constant":false,"id":51317,"mutability":"mutable","name":"appIds","nameLocation":"17477:6:96","nodeType":"VariableDeclaration","scope":51433,"src":"17460:23:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":51315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17460:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":51316,"nodeType":"ArrayTypeName","src":"17460:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":51320,"mutability":"mutable","name":"percentages","nameLocation":"17502:11:96","nodeType":"VariableDeclaration","scope":51433,"src":"17485:28:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":51318,"name":"uint256","nodeType":"ElementaryTypeName","src":"17485:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51319,"nodeType":"ArrayTypeName","src":"17485:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":51326,"initialValue":{"arguments":[{"id":51323,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51205,"src":"17575:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51324,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"17592:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51321,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51192,"src":"17517:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":51322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17543:24:96","memberName":"getAllocationPreferences","nodeType":"MemberAccess","referencedDeclaration":66433,"src":"17517:50:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (address,uint256) view external returns (bytes32[] memory,uint256[] memory)"}},"id":51325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17517:88:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"tuple(bytes32[] memory,uint256[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"17459:146:96"},{"assignments":[51328],"declarations":[{"constant":false,"id":51328,"mutability":"mutable","name":"delegatedPower","nameLocation":"17677:14:96","nodeType":"VariableDeclaration","scope":51433,"src":"17669:22:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51327,"name":"uint256","nodeType":"ElementaryTypeName","src":"17669:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51334,"initialValue":{"arguments":[{"id":51331,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"17750:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51332,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51199,"src":"17759:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51329,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51192,"src":"17694:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":51330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17720:29:96","memberName":"getDelegatedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66409,"src":"17694:55:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":51333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17694:74:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17669:99:96"},{"assignments":[51336],"declarations":[{"constant":false,"id":51336,"mutability":"mutable","name":"basisPoints","nameLocation":"17872:11:96","nodeType":"VariableDeclaration","scope":51433,"src":"17864:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51335,"name":"uint256","nodeType":"ElementaryTypeName","src":"17864:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51340,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51337,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51192,"src":"17886:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":51338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17912:12:96","memberName":"BASIS_POINTS","nodeType":"MemberAccess","referencedDeclaration":66637,"src":"17886:38:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":51339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17886:40:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17864:62:96"},{"assignments":[51345],"declarations":[{"constant":false,"id":51345,"mutability":"mutable","name":"voteWeights","nameLocation":"17949:11:96","nodeType":"VariableDeclaration","scope":51433,"src":"17932:28:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":51343,"name":"uint256","nodeType":"ElementaryTypeName","src":"17932:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51344,"nodeType":"ArrayTypeName","src":"17932:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":51352,"initialValue":{"arguments":[{"expression":{"id":51349,"name":"percentages","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51320,"src":"17977:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":51350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17989:6:96","memberName":"length","nodeType":"MemberAccess","src":"17977:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17963:13:96","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":51346,"name":"uint256","nodeType":"ElementaryTypeName","src":"17967:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51347,"nodeType":"ArrayTypeName","src":"17967:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":51351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17963:33:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17932:64:96"},{"assignments":[51354],"declarations":[{"constant":false,"id":51354,"mutability":"mutable","name":"allocated","nameLocation":"18010:9:96","nodeType":"VariableDeclaration","scope":51433,"src":"18002:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51353,"name":"uint256","nodeType":"ElementaryTypeName","src":"18002:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51355,"nodeType":"VariableDeclarationStatement","src":"18002:17:96"},{"body":{"id":51385,"nodeType":"Block","src":"18070:114:96","statements":[{"expression":{"id":51377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":51366,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51345,"src":"18078:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":51368,"indexExpression":{"id":51367,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51357,"src":"18090:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18078:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51369,"name":"delegatedPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51328,"src":"18096:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"baseExpression":{"id":51370,"name":"percentages","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51320,"src":"18113:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":51372,"indexExpression":{"id":51371,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51357,"src":"18125:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18113:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18096:31:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":51374,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18095:33:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":51375,"name":"basisPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51336,"src":"18131:11:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18095:47:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18078:64:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51378,"nodeType":"ExpressionStatement","src":"18078:64:96"},{"expression":{"id":51383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51379,"name":"allocated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51354,"src":"18150:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"id":51380,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51345,"src":"18163:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":51382,"indexExpression":{"id":51381,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51357,"src":"18175:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18163:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18150:27:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51384,"nodeType":"ExpressionStatement","src":"18150:27:96"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51359,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51357,"src":"18041:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":51360,"name":"percentages","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51320,"src":"18045:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":51361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18057:6:96","memberName":"length","nodeType":"MemberAccess","src":"18045:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18041:22:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51386,"initializationExpression":{"assignments":[51357],"declarations":[{"constant":false,"id":51357,"mutability":"mutable","name":"i","nameLocation":"18038:1:96","nodeType":"VariableDeclaration","scope":51386,"src":"18030:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51356,"name":"uint256","nodeType":"ElementaryTypeName","src":"18030:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51358,"nodeType":"VariableDeclarationStatement","src":"18030:9:96"},"loopExpression":{"expression":{"id":51364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18065:3:96","subExpression":{"id":51363,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51357,"src":"18065:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51365,"nodeType":"ExpressionStatement","src":"18065:3:96"},"nodeType":"ForStatement","src":"18025:159:96"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":51394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51387,"name":"allocated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51354,"src":"18193:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":51388,"name":"delegatedPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51328,"src":"18205:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18193:26:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":51390,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51345,"src":"18223:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":51391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18235:6:96","memberName":"length","nodeType":"MemberAccess","src":"18223:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":51392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18244:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18223:22:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18193:52:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51404,"nodeType":"IfStatement","src":"18189:117:96","trueBody":{"id":51403,"nodeType":"Block","src":"18247:59:96","statements":[{"expression":{"id":51401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":51395,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51345,"src":"18255:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":51397,"indexExpression":{"hexValue":"30","id":51396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18267:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18255:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51398,"name":"delegatedPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51328,"src":"18273:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":51399,"name":"allocated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51354,"src":"18290:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18273:26:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18255:44:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51402,"nodeType":"ExpressionStatement","src":"18255:44:96"}]}},{"expression":{"arguments":[{"id":51406,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"18337:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51407,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"18346:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51408,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51317,"src":"18355:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":51409,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51345,"src":"18363:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":51410,"name":"delegatedPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51328,"src":"18376:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":51411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18392:5:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51405,"name":"_handleCastVoteWithPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51532,"src":"18312:24:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,uint256,bool)"}},"id":51412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18312:86:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51413,"nodeType":"ExpressionStatement","src":"18312:86:96"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":51417,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"18432:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18432:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51419,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"18446:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51420,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"18455:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51421,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"18464:13:96","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RelayerAction_$66644_$","typeString":"type(enum RelayerAction)"}},"id":51422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18478:4:96","memberName":"VOTE","nodeType":"MemberAccess","referencedDeclaration":66642,"src":"18464:18:96","typeDescriptions":{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}],"expression":{"id":51414,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51225,"src":"18405:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":51416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18410:21:96","memberName":"registerRelayerAction","nodeType":"MemberAccess","referencedDeclaration":67080,"src":"18405:26:96","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_RelayerAction_$66644_$returns$__$","typeString":"function (address,address,uint256,enum RelayerAction) external"}},"id":51423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18405:78:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51424,"nodeType":"ExpressionStatement","src":"18405:78:96"},{"eventCall":{"arguments":[{"id":51426,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51177,"src":"18513:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51427,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51205,"src":"18522:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51428,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"18533:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51429,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51317,"src":"18542:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":51430,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51345,"src":"18550:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":51425,"name":"NavigatorVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70809,"src":"18495:17:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes32[] memory,uint256[] memory)"}},"id":51431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18495:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51432,"nodeType":"EmitStatement","src":"18490:72:96"}]},"documentation":{"id":51175,"nodeType":"StructuredDocumentation","src":"14811:700:96","text":" @dev Cast a vote on behalf of a citizen delegated to a navigator, or auto-skip if the\n      navigator is dead / has not set preferences (after the skip window).\n Decision flow:\n   1. Navigator dead at snapshot → revert (citizen not delegated)\n   2. Navigator dead NOW → skip immediately, reduce allocation vote expectation\n   3. Navigator alive + no preferences + skip window NOT reached → revert (relayer retries later)\n   4. Navigator alive + no preferences + skip window reached → skip\n   5. Navigator alive + preferences set + citizen not a person → skip\n   6. Navigator alive + preferences set + citizen is a person → vote normally"},"functionSelector":"be2a9f8f","id":51434,"implemented":true,"kind":"function","modifiers":[],"name":"castNavigatorVote","nameLocation":"15523:17:96","nodeType":"FunctionDefinition","parameters":{"id":51180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51177,"mutability":"mutable","name":"citizen","nameLocation":"15549:7:96","nodeType":"VariableDeclaration","scope":51434,"src":"15541:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51176,"name":"address","nodeType":"ElementaryTypeName","src":"15541:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51179,"mutability":"mutable","name":"roundId","nameLocation":"15566:7:96","nodeType":"VariableDeclaration","scope":51434,"src":"15558:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51178,"name":"uint256","nodeType":"ElementaryTypeName","src":"15558:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15540:34:96"},"returnParameters":{"id":51181,"nodeType":"ParameterList","parameters":[],"src":"15582:0:96"},"scope":52882,"src":"15514:3053:96","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":51468,"nodeType":"Block","src":"19090:164:96","statements":[{"assignments":[51451],"declarations":[{"constant":false,"id":51451,"mutability":"mutable","name":"votingPower","nameLocation":"19104:11:96","nodeType":"VariableDeclaration","scope":51468,"src":"19096:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51450,"name":"uint256","nodeType":"ElementaryTypeName","src":"19096:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51458,"initialValue":{"arguments":[{"id":51453,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51437,"src":"19127:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51455,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51439,"src":"19148:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51454,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"19134:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":51456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19134:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51452,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52201,"src":"19118:8:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":51457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19118:39:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19096:61:96"},{"expression":{"arguments":[{"id":51460,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51437,"src":"19188:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51461,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51439,"src":"19195:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51462,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51442,"src":"19204:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":51463,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51445,"src":"19212:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":51464,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51451,"src":"19225:11:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51465,"name":"isAutoVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51447,"src":"19238:10:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51459,"name":"_handleCastVoteWithPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51532,"src":"19163:24:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,uint256,bool)"}},"id":51466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19163:86:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51467,"nodeType":"ExpressionStatement","src":"19163:86:96"}]},"documentation":{"id":51435,"nodeType":"StructuredDocumentation","src":"18571:354:96","text":" @dev Internal function to handle common voting logic\n @param voter The address casting the vote\n @param roundId The round ID to vote in\n @param appIds Array of app IDs to vote for\n @param voteWeights Array of vote weights for each app\n @param isAutoVote Whether this is an auto vote (affects events and relayer rewards)"},"id":51469,"implemented":true,"kind":"function","modifiers":[],"name":"_handleCastVote","nameLocation":"18937:15:96","nodeType":"FunctionDefinition","parameters":{"id":51448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51437,"mutability":"mutable","name":"voter","nameLocation":"18966:5:96","nodeType":"VariableDeclaration","scope":51469,"src":"18958:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51436,"name":"address","nodeType":"ElementaryTypeName","src":"18958:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51439,"mutability":"mutable","name":"roundId","nameLocation":"18985:7:96","nodeType":"VariableDeclaration","scope":51469,"src":"18977:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51438,"name":"uint256","nodeType":"ElementaryTypeName","src":"18977:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51442,"mutability":"mutable","name":"appIds","nameLocation":"19015:6:96","nodeType":"VariableDeclaration","scope":51469,"src":"18998:23:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":51440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18998:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":51441,"nodeType":"ArrayTypeName","src":"18998:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":51445,"mutability":"mutable","name":"voteWeights","nameLocation":"19044:11:96","nodeType":"VariableDeclaration","scope":51469,"src":"19027:28:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":51443,"name":"uint256","nodeType":"ElementaryTypeName","src":"19027:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51444,"nodeType":"ArrayTypeName","src":"19027:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":51447,"mutability":"mutable","name":"isAutoVote","nameLocation":"19066:10:96","nodeType":"VariableDeclaration","scope":51469,"src":"19061:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51446,"name":"bool","nodeType":"ElementaryTypeName","src":"19061:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18952:128:96"},"returnParameters":{"id":51449,"nodeType":"ParameterList","parameters":[],"src":"19090:0:96"},"scope":52882,"src":"18928:326:96","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":51531,"nodeType":"Block","src":"19454:534:96","statements":[{"expression":{"arguments":[{"id":51487,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51473,"src":"19481:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":51489,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"19509:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":51490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19520:6:96","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":70609,"src":"19509:17:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":51488,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52857,"src":"19490:18:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$70612_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernor.RoundState) pure returns (bytes32)"}},"id":51491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19490:37:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":51486,"name":"_validateStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51630,"src":"19460:20:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256,bytes32) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":51492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19460:68:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"id":51493,"nodeType":"ExpressionStatement","src":"19460:68:96"},{"expression":{"arguments":[{"id":51497,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51473,"src":"19609:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51498,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51471,"src":"19618:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51499,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51476,"src":"19625:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":51500,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51479,"src":"19633:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":51501,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51481,"src":"19646:11:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":51503,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51473,"src":"19673:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51502,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"19659:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":51504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19659:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51494,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"19575:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":51496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19599:9:96","memberName":"countVote","nodeType":"MemberAccess","referencedDeclaration":81543,"src":"19575:33:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,bytes32[] memory,uint256[] memory,uint256,uint256)"}},"id":51505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19575:107:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51506,"nodeType":"ExpressionStatement","src":"19575:107:96"},{"condition":{"id":51507,"name":"isAutoVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51483,"src":"19693:10:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51530,"nodeType":"IfStatement","src":"19689:295:96","trueBody":{"id":51529,"nodeType":"Block","src":"19705:279:96","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":51514,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"19825:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19825:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51516,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51471,"src":"19847:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51517,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51473,"src":"19862:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51518,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"19879:13:96","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RelayerAction_$66644_$","typeString":"type(enum RelayerAction)"}},"id":51519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19893:4:96","memberName":"VOTE","nodeType":"MemberAccess","referencedDeclaration":66642,"src":"19879:18:96","typeDescriptions":{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51508,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"19713:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19743:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"19713:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19713:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19774:19:96","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"19713:80:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":51513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19794:21:96","memberName":"registerRelayerAction","nodeType":"MemberAccess","referencedDeclaration":67080,"src":"19713:102:96","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_RelayerAction_$66644_$returns$__$","typeString":"function (address,address,uint256,enum RelayerAction) external"}},"id":51520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19713:192:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51521,"nodeType":"ExpressionStatement","src":"19713:192:96"},{"eventCall":{"arguments":[{"id":51523,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51471,"src":"19941:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51524,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51473,"src":"19948:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51525,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51476,"src":"19957:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":51526,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51479,"src":"19965:11:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":51522,"name":"AllocationAutoVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70779,"src":"19918:22:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory)"}},"id":51527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19918:59:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51528,"nodeType":"EmitStatement","src":"19913:64:96"}]}}]},"id":51532,"implemented":true,"kind":"function","modifiers":[],"name":"_handleCastVoteWithPower","nameLocation":"19267:24:96","nodeType":"FunctionDefinition","parameters":{"id":51484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51471,"mutability":"mutable","name":"voter","nameLocation":"19305:5:96","nodeType":"VariableDeclaration","scope":51532,"src":"19297:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51470,"name":"address","nodeType":"ElementaryTypeName","src":"19297:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51473,"mutability":"mutable","name":"roundId","nameLocation":"19324:7:96","nodeType":"VariableDeclaration","scope":51532,"src":"19316:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51472,"name":"uint256","nodeType":"ElementaryTypeName","src":"19316:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51476,"mutability":"mutable","name":"appIds","nameLocation":"19354:6:96","nodeType":"VariableDeclaration","scope":51532,"src":"19337:23:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":51474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19337:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":51475,"nodeType":"ArrayTypeName","src":"19337:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":51479,"mutability":"mutable","name":"voteWeights","nameLocation":"19383:11:96","nodeType":"VariableDeclaration","scope":51532,"src":"19366:28:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":51477,"name":"uint256","nodeType":"ElementaryTypeName","src":"19366:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51478,"nodeType":"ArrayTypeName","src":"19366:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":51481,"mutability":"mutable","name":"votingPower","nameLocation":"19408:11:96","nodeType":"VariableDeclaration","scope":51532,"src":"19400:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51480,"name":"uint256","nodeType":"ElementaryTypeName","src":"19400:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51483,"mutability":"mutable","name":"isAutoVote","nameLocation":"19430:10:96","nodeType":"VariableDeclaration","scope":51532,"src":"19425:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51482,"name":"bool","nodeType":"ElementaryTypeName","src":"19425:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19291:153:96"},"returnParameters":{"id":51485,"nodeType":"ParameterList","parameters":[],"src":"19454:0:96"},"scope":52882,"src":"19258:730:96","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":51553,"nodeType":"Block","src":"20125:98:96","statements":[{"expression":{"arguments":[{"id":51541,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51535,"src":"20168:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":51545,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51535,"src":"20189:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51544,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52165,"src":"20183:5:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":51546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20183:14:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":51543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20177:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":51542,"name":"uint8","nodeType":"ElementaryTypeName","src":"20177:5:96","typeDescriptions":{}}},"id":51547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20177:21:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"id":51549,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51535,"src":"20209:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51548,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52101,"src":"20200:8:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":51550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20200:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":51538,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"20131:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":51540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20154:13:96","memberName":"finalizeRound","nodeType":"MemberAccess","referencedDeclaration":80851,"src":"20131:36:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_uint8_$_t_bool_$returns$__$","typeString":"function (uint256,uint8,bool)"}},"id":51551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20131:87:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51552,"nodeType":"ExpressionStatement","src":"20131:87:96"}]},"documentation":{"id":51533,"nodeType":"StructuredDocumentation","src":"19992:81:96","text":" @dev Function to store the last succeeded round once a round ends."},"functionSelector":"3469f6e2","id":51554,"implemented":true,"kind":"function","modifiers":[],"name":"finalizeRound","nameLocation":"20085:13:96","nodeType":"FunctionDefinition","parameters":{"id":51536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51535,"mutability":"mutable","name":"roundId","nameLocation":"20107:7:96","nodeType":"VariableDeclaration","scope":51554,"src":"20099:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51534,"name":"uint256","nodeType":"ElementaryTypeName","src":"20099:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20098:17:96"},"returnParameters":{"id":51537,"nodeType":"ParameterList","parameters":[],"src":"20125:0:96"},"scope":52882,"src":"20076:147:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[71107],"body":{"id":51590,"nodeType":"Block","src":"20519:344:96","statements":[{"assignments":[51563,51565],"declarations":[{"constant":false,"id":51563,"mutability":"mutable","name":"isPerson","nameLocation":"20531:8:96","nodeType":"VariableDeclaration","scope":51590,"src":"20526:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51562,"name":"bool","nodeType":"ElementaryTypeName","src":"20526:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51565,"mutability":"mutable","name":"explanation","nameLocation":"20555:11:96","nodeType":"VariableDeclaration","scope":51590,"src":"20541:25:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51564,"name":"string","nodeType":"ElementaryTypeName","src":"20541:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":51578,"initialValue":{"arguments":[{"id":51571,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51557,"src":"20690:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":51574,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52328,"src":"20715:20:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":51575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20715:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51572,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"20697:8:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":51573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20706:8:96","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"20697:17:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":51576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20697:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51566,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"20570:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20607:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"20570:65:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20570:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20645:17:96","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":82994,"src":"20570:92:96","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":51570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20670:19:96","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"20570:119:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":51577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20570:169:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"20525:214:96"},{"condition":{"id":51580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"20749:9:96","subExpression":{"id":51579,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51563,"src":"20750:8:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51587,"nodeType":"IfStatement","src":"20745:93:96","trueBody":{"id":51586,"nodeType":"Block","src":"20760:78:96","statements":[{"errorCall":{"arguments":[{"id":51582,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51557,"src":"20812:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51583,"name":"explanation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51565,"src":"20819:11:96","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":51581,"name":"GovernorPersonhoodVerificationFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70667,"src":"20775:36:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) pure"}},"id":51584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20775:56:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51585,"nodeType":"RevertStatement","src":"20768:63:96"}]}},{"expression":{"id":51588,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51563,"src":"20850:8:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":51561,"id":51589,"nodeType":"Return","src":"20843:15:96"}]},"documentation":{"id":51555,"nodeType":"StructuredDocumentation","src":"20310:121:96","text":" @dev Validate that the voter is a person at the current round snapshot\n @param voter The voter address"},"functionSelector":"cfea80ed","id":51591,"implemented":true,"kind":"function","modifiers":[],"name":"validatePersonhoodForCurrentRound","nameLocation":"20443:33:96","nodeType":"FunctionDefinition","parameters":{"id":51558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51557,"mutability":"mutable","name":"voter","nameLocation":"20485:5:96","nodeType":"VariableDeclaration","scope":51591,"src":"20477:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51556,"name":"address","nodeType":"ElementaryTypeName","src":"20477:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20476:15:96"},"returnParameters":{"id":51561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51591,"src":"20513:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51559,"name":"bool","nodeType":"ElementaryTypeName","src":"20513:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20512:6:96"},"scope":52882,"src":"20434:429:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":51629,"nodeType":"Block","src":"21252:237:96","statements":[{"assignments":[51604],"declarations":[{"constant":false,"id":51604,"mutability":"mutable","name":"currentState","nameLocation":"21269:12:96","nodeType":"VariableDeclaration","scope":51629,"src":"21258:23:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":51603,"nodeType":"UserDefinedTypeName","pathNode":{"id":51602,"name":"RoundState","nameLocations":["21258:10:96"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"21258:10:96"},"referencedDeclaration":70612,"src":"21258:10:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"}],"id":51608,"initialValue":{"arguments":[{"id":51606,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51594,"src":"21290:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51605,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52165,"src":"21284:5:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":51607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21284:14:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"nodeType":"VariableDeclarationStatement","src":"21258:40:96"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":51618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":51613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":51610,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51604,"src":"21327:12:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":51609,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52857,"src":"21308:18:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$70612_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernor.RoundState) pure returns (bytes32)"}},"id":51611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21308:32:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":51612,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51596,"src":"21343:13:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"21308:48:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":51616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21368:1:96","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":51615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21360:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":51614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21360:7:96","typeDescriptions":{}}},"id":51617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21360:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"21308:62:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51626,"nodeType":"IfStatement","src":"21304:156:96","trueBody":{"id":51625,"nodeType":"Block","src":"21372:88:96","statements":[{"errorCall":{"arguments":[{"id":51620,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51594,"src":"21416:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51621,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51604,"src":"21425:12:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},{"id":51622,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51596,"src":"21439:13:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":51619,"name":"GovernorUnexpectedRoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70637,"src":"21387:28:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_RoundState_$70612_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum IXAllocationVotingGovernor.RoundState,bytes32) pure"}},"id":51623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21387:66:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51624,"nodeType":"RevertStatement","src":"21380:73:96"}]}},{"expression":{"id":51627,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51604,"src":"21472:12:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"functionReturnParameters":51601,"id":51628,"nodeType":"Return","src":"21465:19:96"}]},"documentation":{"id":51592,"nodeType":"StructuredDocumentation","src":"20867:278:96","text":" @dev Check that the current state of a round matches the requirements described by the `allowedStates` bitmap.\n This bitmap should be built using `_encodeStateBitmap`.\n If requirements are not met, reverts with a {GovernorUnexpectedRoundState} error."},"id":51630,"implemented":true,"kind":"function","modifiers":[],"name":"_validateStateBitmap","nameLocation":"21157:20:96","nodeType":"FunctionDefinition","parameters":{"id":51597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51594,"mutability":"mutable","name":"roundId","nameLocation":"21186:7:96","nodeType":"VariableDeclaration","scope":51630,"src":"21178:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51593,"name":"uint256","nodeType":"ElementaryTypeName","src":"21178:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51596,"mutability":"mutable","name":"allowedStates","nameLocation":"21203:13:96","nodeType":"VariableDeclaration","scope":51630,"src":"21195:21:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21195:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21177:40:96"},"returnParameters":{"id":51601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51600,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51630,"src":"21240:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":51599,"nodeType":"UserDefinedTypeName","pathNode":{"id":51598,"name":"RoundState","nameLocations":["21240:10:96"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"21240:10:96"},"referencedDeclaration":70612,"src":"21240:10:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"}],"src":"21239:12:96"},"scope":52882,"src":"21148:341:96","stateMutability":"view","virtual":false,"visibility":"private"},{"baseFunctions":[70972],"body":{"id":51697,"nodeType":"Block","src":"21668:566:96","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":51636,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"21678:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21678:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":51638,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51633,"src":"21694:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21678:20:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51646,"nodeType":"IfStatement","src":"21674:75:96","trueBody":{"id":51645,"nodeType":"Block","src":"21700:49:96","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":51641,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"21729:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21729:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51640,"name":"InvalidCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70692,"src":"21715:13:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":51643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21715:27:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51644,"nodeType":"RevertStatement","src":"21708:34:96"}]}},{"assignments":[51649],"declarations":[{"constant":false,"id":51649,"mutability":"mutable","name":"navRegistry","nameLocation":"21841:11:96","nodeType":"VariableDeclaration","scope":51697,"src":"21822:30:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":51648,"nodeType":"UserDefinedTypeName","pathNode":{"id":51647,"name":"INavigatorRegistry","nameLocations":["21822:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"21822:18:96"},"referencedDeclaration":66638,"src":"21822:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":51654,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51650,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"21855:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21885:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"21855:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21855:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21916:18:96","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"21855:79:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"21822:112:96"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":51657,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51649,"src":"21952:11:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":51656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21944:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51655,"name":"address","nodeType":"ElementaryTypeName","src":"21944:7:96","typeDescriptions":{}}},"id":51658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21944:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":51661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21976:1:96","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":51660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21968:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51659,"name":"address","nodeType":"ElementaryTypeName","src":"21968:7:96","typeDescriptions":{}}},"id":51662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21968:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21944:34:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51683,"nodeType":"IfStatement","src":"21940:210:96","trueBody":{"id":51682,"nodeType":"Block","src":"21980:170:96","statements":[{"condition":{"arguments":[{"id":51666,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51633,"src":"22016:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51664,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51649,"src":"21992:11:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":51665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22004:11:96","memberName":"isNavigator","nodeType":"MemberAccess","referencedDeclaration":66275,"src":"21992:23:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":51667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21992:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51672,"nodeType":"IfStatement","src":"21988:79:96","trueBody":{"errorCall":{"arguments":[{"id":51669,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51633,"src":"22062:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51668,"name":"NavigatorCannotEnableAutoVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70707,"src":"22030:31:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":51670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22030:37:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51671,"nodeType":"RevertStatement","src":"22023:44:96"}},{"condition":{"arguments":[{"id":51675,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51633,"src":"22103:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51673,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51649,"src":"22079:11:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":51674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22091:11:96","memberName":"isDelegated","nodeType":"MemberAccess","referencedDeclaration":66399,"src":"22079:23:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":51676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22079:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51681,"nodeType":"IfStatement","src":"22075:68:96","trueBody":{"errorCall":{"arguments":[{"id":51678,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51633,"src":"22138:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51677,"name":"DelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70702,"src":"22117:20:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":51679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22117:26:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51680,"nodeType":"RevertStatement","src":"22110:33:96"}}]}},{"expression":{"arguments":[{"arguments":[{"id":51689,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22197:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}],"id":51688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22189:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51687,"name":"address","nodeType":"ElementaryTypeName","src":"22189:7:96","typeDescriptions":{}}},"id":51690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22189:13:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51691,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51633,"src":"22204:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51692,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"22210:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":51693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22221:5:96","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"22210:16:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":51694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22210:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":51684,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"22156:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":51686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22172:16:96","memberName":"toggleAutoVoting","nodeType":"MemberAccess","referencedDeclaration":79418,"src":"22156:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_address_$_t_uint48_$returns$__$","typeString":"function (address,address,uint48)"}},"id":51695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22156:73:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51696,"nodeType":"ExpressionStatement","src":"22156:73:96"}]},"documentation":{"id":51631,"nodeType":"StructuredDocumentation","src":"21564:52:96","text":" @dev Toggle autovoting for the caller"},"functionSelector":"8a829eda","id":51698,"implemented":true,"kind":"function","modifiers":[],"name":"toggleAutoVoting","nameLocation":"21628:16:96","nodeType":"FunctionDefinition","parameters":{"id":51634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51633,"mutability":"mutable","name":"user","nameLocation":"21653:4:96","nodeType":"VariableDeclaration","scope":51698,"src":"21645:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51632,"name":"address","nodeType":"ElementaryTypeName","src":"21645:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21644:14:96"},"returnParameters":{"id":51635,"nodeType":"ParameterList","parameters":[],"src":"21668:0:96"},"scope":52882,"src":"21619:615:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[70978],"body":{"id":51752,"nodeType":"Block","src":"22445:416:96","statements":[{"assignments":[51706],"declarations":[{"constant":false,"id":51706,"mutability":"mutable","name":"navRegistry","nameLocation":"22470:11:96","nodeType":"VariableDeclaration","scope":51752,"src":"22451:30:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":51705,"nodeType":"UserDefinedTypeName","pathNode":{"id":51704,"name":"INavigatorRegistry","nameLocations":["22451:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"22451:18:96"},"referencedDeclaration":66638,"src":"22451:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":51711,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51707,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"22484:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22514:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"22484:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22484:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22545:18:96","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"22484:79:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"22451:112:96"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":51729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":51715,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51706,"src":"22592:11:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":51714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22584:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51713,"name":"address","nodeType":"ElementaryTypeName","src":"22584:7:96","typeDescriptions":{}}},"id":51716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22584:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":51719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22616:1:96","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":51718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22608:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51717,"name":"address","nodeType":"ElementaryTypeName","src":"22608:7:96","typeDescriptions":{}}},"id":51720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22608:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22584:34:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":51722,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"22622:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22622:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":51726,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51706,"src":"22646:11:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":51725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22638:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51724,"name":"address","nodeType":"ElementaryTypeName","src":"22638:7:96","typeDescriptions":{}}},"id":51727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22638:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22622:36:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22584:74:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a206e6f74206e6176696761746f72207265676973747279","id":51730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22666:43:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8","typeString":"literal_string \"XAllocationVoting: not navigator registry\""},"value":"XAllocationVoting: not navigator registry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8","typeString":"literal_string \"XAllocationVoting: not navigator registry\""}],"id":51712,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22569:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":51731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22569:146:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51732,"nodeType":"ExpressionStatement","src":"22569:146:96"},{"condition":{"arguments":[{"id":51735,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51701,"src":"22762:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51733,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"22726:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":51734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22742:19:96","memberName":"isAutoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":79580,"src":"22726:35:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":51736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22726:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51751,"nodeType":"IfStatement","src":"22722:135:96","trueBody":{"id":51750,"nodeType":"Block","src":"22769:88:96","statements":[{"expression":{"arguments":[{"arguments":[{"id":51742,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22818:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_XAllocationVotingV9_$52882","typeString":"contract XAllocationVotingV9"}],"id":51741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22810:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51740,"name":"address","nodeType":"ElementaryTypeName","src":"22810:7:96","typeDescriptions":{}}},"id":51743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22810:13:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51744,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51701,"src":"22825:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51745,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"22831:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":51746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22842:5:96","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"22831:16:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":51747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22831:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":51737,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"22777:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":51739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22793:16:96","memberName":"toggleAutoVoting","nodeType":"MemberAccess","referencedDeclaration":79418,"src":"22777:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_address_$_t_uint48_$returns$__$","typeString":"function (address,address,uint48)"}},"id":51748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22777:73:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51749,"nodeType":"ExpressionStatement","src":"22777:73:96"}]}}]},"documentation":{"id":51699,"nodeType":"StructuredDocumentation","src":"22238:151:96","text":" @dev Disable autovoting for a user. Called by NavigatorRegistry when a citizen delegates.\n No-op if auto-voting is already disabled."},"functionSelector":"673fc724","id":51753,"implemented":true,"kind":"function","modifiers":[],"name":"disableAutoVotingFor","nameLocation":"22401:20:96","nodeType":"FunctionDefinition","parameters":{"id":51702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51701,"mutability":"mutable","name":"user","nameLocation":"22430:4:96","nodeType":"VariableDeclaration","scope":51753,"src":"22422:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51700,"name":"address","nodeType":"ElementaryTypeName","src":"22422:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22421:14:96"},"returnParameters":{"id":51703,"nodeType":"ParameterList","parameters":[],"src":"22445:0:96"},"scope":52882,"src":"22392:469:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":51775,"nodeType":"Block","src":"22997:180:96","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51765,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"23059:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23089:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"23059:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23059:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51768,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23120:11:96","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"23059:72:96","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":51764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23051:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51763,"name":"address","nodeType":"ElementaryTypeName","src":"23051:7:96","typeDescriptions":{}}},"id":51769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23051:81:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":51770,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"23140:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23140:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51772,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51757,"src":"23160:6:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":51760,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"23003:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":51762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23019:24:96","memberName":"setUserVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":79553,"src":"23003:40:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,bytes32[] memory)"}},"id":51773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23003:169:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51774,"nodeType":"ExpressionStatement","src":"23003:169:96"}]},"documentation":{"id":51754,"nodeType":"StructuredDocumentation","src":"22865:61:96","text":" @dev Set the voting preferences for the caller"},"functionSelector":"3b395cbe","id":51776,"implemented":true,"kind":"function","modifiers":[],"name":"setUserVotingPreferences","nameLocation":"22938:24:96","nodeType":"FunctionDefinition","parameters":{"id":51758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51757,"mutability":"mutable","name":"appIds","nameLocation":"22980:6:96","nodeType":"VariableDeclaration","scope":51776,"src":"22963:23:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":51755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22963:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":51756,"nodeType":"ArrayTypeName","src":"22963:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"22962:25:96"},"returnParameters":{"id":51759,"nodeType":"ParameterList","parameters":[],"src":"22997:0:96"},"scope":52882,"src":"22929:248:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":51796,"nodeType":"Block","src":"23373:175:96","statements":[{"expression":{"arguments":[{"id":51790,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51779,"src":"23497:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51791,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51781,"src":"23512:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":51792,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"23525:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":51793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23525:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51784,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"23379:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23409:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"23379:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23379:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51788,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23440:19:96","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"23379:80:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":51789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23460:29:96","memberName":"validateVoteDuringEarlyAccess","nodeType":"MemberAccess","referencedDeclaration":67106,"src":"23379:110:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,address,address) view external"}},"id":51794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23379:164:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51795,"nodeType":"ExpressionStatement","src":"23379:164:96"}]},"documentation":{"id":51777,"nodeType":"StructuredDocumentation","src":"23181:105:96","text":" @dev Check if the caller is eligible to perform relayer actions during early access period"},"id":51797,"implemented":true,"kind":"function","modifiers":[],"name":"_checkEarlyAccessEligibility","nameLocation":"23298:28:96","nodeType":"FunctionDefinition","parameters":{"id":51782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51779,"mutability":"mutable","name":"roundId","nameLocation":"23335:7:96","nodeType":"VariableDeclaration","scope":51797,"src":"23327:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51778,"name":"uint256","nodeType":"ElementaryTypeName","src":"23327:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51781,"mutability":"mutable","name":"voter","nameLocation":"23352:5:96","nodeType":"VariableDeclaration","scope":51797,"src":"23344:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51780,"name":"address","nodeType":"ElementaryTypeName","src":"23344:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23326:32:96"},"returnParameters":{"id":51783,"nodeType":"ParameterList","parameters":[],"src":"23373:0:96"},"scope":52882,"src":"23289:259:96","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":51823,"nodeType":"Block","src":"23744:190:96","statements":[{"assignments":[51804],"declarations":[{"constant":false,"id":51804,"mutability":"mutable","name":"deadline","nameLocation":"23758:8:96","nodeType":"VariableDeclaration","scope":51823,"src":"23750:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51803,"name":"uint256","nodeType":"ElementaryTypeName","src":"23750:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51809,"initialValue":{"arguments":[{"id":51807,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51800,"src":"23802:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51805,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"23769:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":51806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23788:13:96","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":81938,"src":"23769:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":51808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23769:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23750:60:96"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":51810,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23820:5:96","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":51811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23826:6:96","memberName":"number","nodeType":"MemberAccess","src":"23820:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51812,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"23835:19:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":51813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23855:23:96","memberName":"citizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82765,"src":"23835:43:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":51814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23835:45:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23820:60:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":51816,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51804,"src":"23883:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23820:71:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51822,"nodeType":"IfStatement","src":"23816:113:96","trueBody":{"errorCall":{"arguments":[{"id":51819,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51800,"src":"23921:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51818,"name":"SkipWindowNotReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70719,"src":"23900:20:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":51820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23900:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51821,"nodeType":"RevertStatement","src":"23893:36:96"}}]},"documentation":{"id":51798,"nodeType":"StructuredDocumentation","src":"23552:129:96","text":" @dev Validate that the skip window has been reached for a given round\n @param roundId The round ID to validate"},"id":51824,"implemented":true,"kind":"function","modifiers":[],"name":"_validateSkipWindow","nameLocation":"23693:19:96","nodeType":"FunctionDefinition","parameters":{"id":51801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51800,"mutability":"mutable","name":"roundId","nameLocation":"23721:7:96","nodeType":"VariableDeclaration","scope":51824,"src":"23713:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51799,"name":"uint256","nodeType":"ElementaryTypeName","src":"23713:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23712:17:96"},"returnParameters":{"id":51802,"nodeType":"ParameterList","parameters":[],"src":"23744:0:96"},"scope":52882,"src":"23684:250:96","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":51840,"nodeType":"Block","src":"24150:122:96","statements":[{"expression":{"arguments":[{"id":51837,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51827,"src":"24257:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51832,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"24163:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":51833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24193:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"24163:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":51834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24163:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":51835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24224:18:96","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"24163:79:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":51836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24243:13:96","memberName":"isDeactivated","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"24163:93:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":51838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24163:104:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":51831,"id":51839,"nodeType":"Return","src":"24156:111:96"}]},"documentation":{"id":51825,"nodeType":"StructuredDocumentation","src":"23938:135:96","text":" @dev Check if a navigator is dead\n @param navigator The navigator address\n @return True if the navigator is dead"},"id":51841,"implemented":true,"kind":"function","modifiers":[],"name":"_isNavigatorDead","nameLocation":"24085:16:96","nodeType":"FunctionDefinition","parameters":{"id":51828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51827,"mutability":"mutable","name":"navigator","nameLocation":"24110:9:96","nodeType":"VariableDeclaration","scope":51841,"src":"24102:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51826,"name":"address","nodeType":"ElementaryTypeName","src":"24102:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24101:19:96"},"returnParameters":{"id":51831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51830,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51841,"src":"24144:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51829,"name":"bool","nodeType":"ElementaryTypeName","src":"24144:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24143:6:96"},"scope":52882,"src":"24076:196:96","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":51857,"nodeType":"Block","src":"24528:62:96","statements":[{"expression":{"arguments":[{"id":51854,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51845,"src":"24571:13:96","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"expression":{"id":51851,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"24534:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":51853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24557:13:96","memberName":"setX2EarnApps","nodeType":"MemberAccess","referencedDeclaration":80092,"src":"24534:36:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IX2EarnApps_$69989_$returns$__$","typeString":"function (contract IX2EarnApps)"}},"id":51855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24534:51:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51856,"nodeType":"ExpressionStatement","src":"24534:51:96"}]},"documentation":{"id":51842,"nodeType":"StructuredDocumentation","src":"24356:62:96","text":" @dev Set the address of the X2EarnApps contract"},"functionSelector":"c048f6c9","id":51858,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51848,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"24496:30:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51849,"kind":"modifierInvocation","modifierName":{"id":51847,"name":"onlyRole","nameLocations":["24487:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"24487:8:96"},"nodeType":"ModifierInvocation","src":"24487:40:96"}],"name":"setX2EarnAppsAddress","nameLocation":"24430:20:96","nodeType":"FunctionDefinition","parameters":{"id":51846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51845,"mutability":"mutable","name":"newX2EarnApps","nameLocation":"24463:13:96","nodeType":"VariableDeclaration","scope":51858,"src":"24451:25:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":51844,"nodeType":"UserDefinedTypeName","pathNode":{"id":51843,"name":"IX2EarnApps","nameLocations":["24451:11:96"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"24451:11:96"},"referencedDeclaration":69989,"src":"24451:11:96","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"24450:27:96"},"returnParameters":{"id":51850,"nodeType":"ParameterList","parameters":[],"src":"24528:0:96"},"scope":52882,"src":"24421:169:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":51874,"nodeType":"Block","src":"24762:60:96","statements":[{"expression":{"arguments":[{"id":51871,"name":"newEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51862,"src":"24804:12:96","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"expression":{"id":51868,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"24768:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":51870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24791:12:96","memberName":"setEmissions","nodeType":"MemberAccess","referencedDeclaration":80043,"src":"24768:35:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IEmissions_$64454_$returns$__$","typeString":"function (contract IEmissions)"}},"id":51872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24768:49:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51873,"nodeType":"ExpressionStatement","src":"24768:49:96"}]},"documentation":{"id":51859,"nodeType":"StructuredDocumentation","src":"24594:61:96","text":" @dev Set the address of the Emissions contract"},"functionSelector":"57181609","id":51875,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51865,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"24730:30:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51866,"kind":"modifierInvocation","modifierName":{"id":51864,"name":"onlyRole","nameLocations":["24721:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"24721:8:96"},"nodeType":"ModifierInvocation","src":"24721:40:96"}],"name":"setEmissionsAddress","nameLocation":"24667:19:96","nodeType":"FunctionDefinition","parameters":{"id":51863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51862,"mutability":"mutable","name":"newEmissions","nameLocation":"24698:12:96","nodeType":"VariableDeclaration","scope":51875,"src":"24687:23:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":51861,"nodeType":"UserDefinedTypeName","pathNode":{"id":51860,"name":"IEmissions","nameLocations":["24687:10:96"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"24687:10:96"},"referencedDeclaration":64454,"src":"24687:10:96","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"24686:25:96"},"returnParameters":{"id":51867,"nodeType":"ParameterList","parameters":[],"src":"24762:0:96"},"scope":52882,"src":"24658:164:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":51891,"nodeType":"Block","src":"25006:66:96","statements":[{"expression":{"arguments":[{"id":51888,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51879,"src":"25051:15:96","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"expression":{"id":51885,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"25012:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":51887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25035:15:96","memberName":"setVoterRewards","nodeType":"MemberAccess","referencedDeclaration":80141,"src":"25012:38:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IVoterRewards)"}},"id":51889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25012:55:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51890,"nodeType":"ExpressionStatement","src":"25012:55:96"}]},"documentation":{"id":51876,"nodeType":"StructuredDocumentation","src":"24826:64:96","text":" @dev Set the address of the VoterRewards contract"},"functionSelector":"b25d6f62","id":51892,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51882,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"24974:30:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51883,"kind":"modifierInvocation","modifierName":{"id":51881,"name":"onlyRole","nameLocations":["24965:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"24965:8:96"},"nodeType":"ModifierInvocation","src":"24965:40:96"}],"name":"setVoterRewardsAddress","nameLocation":"24902:22:96","nodeType":"FunctionDefinition","parameters":{"id":51880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51879,"mutability":"mutable","name":"newVoterRewards","nameLocation":"24939:15:96","nodeType":"VariableDeclaration","scope":51892,"src":"24925:29:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":51878,"nodeType":"UserDefinedTypeName","pathNode":{"id":51877,"name":"IVoterRewards","nameLocations":["24925:13:96"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"24925:13:96"},"referencedDeclaration":69092,"src":"24925:13:96","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"24924:31:96"},"returnParameters":{"id":51884,"nodeType":"ParameterList","parameters":[],"src":"25006:0:96"},"scope":52882,"src":"24893:179:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":51908,"nodeType":"Block","src":"25258:74:96","statements":[{"expression":{"arguments":[{"id":51905,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51896,"src":"25307:19:96","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"expression":{"id":51902,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"25264:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":51904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25287:19:96","memberName":"setVeBetterPassport","nodeType":"MemberAccess","referencedDeclaration":80190,"src":"25264:42:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IVeBetterPassport_$68601_$returns$__$","typeString":"function (contract IVeBetterPassport)"}},"id":51906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25264:63:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51907,"nodeType":"ExpressionStatement","src":"25264:63:96"}]},"documentation":{"id":51893,"nodeType":"StructuredDocumentation","src":"25076:53:96","text":" @dev Set the VeBetterPassport contract"},"functionSelector":"b3c93dab","id":51909,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51899,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"25226:30:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51900,"kind":"modifierInvocation","modifierName":{"id":51898,"name":"onlyRole","nameLocations":["25217:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"25217:8:96"},"nodeType":"ModifierInvocation","src":"25217:40:96"}],"name":"setVeBetterPassport","nameLocation":"25141:19:96","nodeType":"FunctionDefinition","parameters":{"id":51897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51896,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"25184:19:96","nodeType":"VariableDeclaration","scope":51909,"src":"25166:37:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":51895,"nodeType":"UserDefinedTypeName","pathNode":{"id":51894,"name":"IVeBetterPassport","nameLocations":["25166:17:96"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"25166:17:96"},"referencedDeclaration":68601,"src":"25166:17:96","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"25160:47:96"},"returnParameters":{"id":51901,"nodeType":"ParameterList","parameters":[],"src":"25258:0:96"},"scope":52882,"src":"25132:200:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":51925,"nodeType":"Block","src":"25494:66:96","statements":[{"expression":{"arguments":[{"id":51922,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51913,"src":"25539:15:96","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"expression":{"id":51919,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"25500:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":51921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25523:15:96","memberName":"setB3TRGovernor","nodeType":"MemberAccess","referencedDeclaration":80239,"src":"25500:38:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IB3TRGovernor_$63919_$returns$__$","typeString":"function (contract IB3TRGovernor)"}},"id":51923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25500:55:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51924,"nodeType":"ExpressionStatement","src":"25500:55:96"}]},"documentation":{"id":51910,"nodeType":"StructuredDocumentation","src":"25336:49:96","text":" @dev Set the B3TRGovernor contract"},"functionSelector":"78a81336","id":51926,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51916,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"25462:30:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51917,"kind":"modifierInvocation","modifierName":{"id":51915,"name":"onlyRole","nameLocations":["25453:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"25453:8:96"},"nodeType":"ModifierInvocation","src":"25453:40:96"}],"name":"setB3TRGovernor","nameLocation":"25397:15:96","nodeType":"FunctionDefinition","parameters":{"id":51914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51913,"mutability":"mutable","name":"newB3TRGovernor","nameLocation":"25427:15:96","nodeType":"VariableDeclaration","scope":51926,"src":"25413:29:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":51912,"nodeType":"UserDefinedTypeName","pathNode":{"id":51911,"name":"IB3TRGovernor","nameLocations":["25413:13:96"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"25413:13:96"},"referencedDeclaration":63919,"src":"25413:13:96","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"25412:31:96"},"returnParameters":{"id":51918,"nodeType":"ParameterList","parameters":[],"src":"25494:0:96"},"scope":52882,"src":"25388:172:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":51942,"nodeType":"Block","src":"25776:78:96","statements":[{"expression":{"arguments":[{"id":51939,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51930,"src":"25827:21:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"expression":{"id":51936,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"25782:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":51938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25805:21:96","memberName":"setRelayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":80288,"src":"25782:44:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IRelayerRewardsPool_$67117_$returns$__$","typeString":"function (contract IRelayerRewardsPool)"}},"id":51940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25782:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51941,"nodeType":"ExpressionStatement","src":"25782:67:96"}]},"documentation":{"id":51927,"nodeType":"StructuredDocumentation","src":"25564:70:96","text":" @dev Set the address of the RelayerRewardsPool contract"},"functionSelector":"5dbdba6e","id":51943,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51933,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"25744:30:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51934,"kind":"modifierInvocation","modifierName":{"id":51932,"name":"onlyRole","nameLocations":["25735:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"25735:8:96"},"nodeType":"ModifierInvocation","src":"25735:40:96"}],"name":"setRelayerRewardsPoolAddress","nameLocation":"25646:28:96","nodeType":"FunctionDefinition","parameters":{"id":51931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51930,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"25700:21:96","nodeType":"VariableDeclaration","scope":51943,"src":"25680:41:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":51929,"nodeType":"UserDefinedTypeName","pathNode":{"id":51928,"name":"IRelayerRewardsPool","nameLocations":["25680:19:96"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"25680:19:96"},"referencedDeclaration":67117,"src":"25680:19:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"25674:51:96"},"returnParameters":{"id":51935,"nodeType":"ParameterList","parameters":[],"src":"25776:0:96"},"scope":52882,"src":"25637:217:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":51959,"nodeType":"Block","src":"26059:76:96","statements":[{"expression":{"arguments":[{"id":51956,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51947,"src":"26109:20:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"expression":{"id":51953,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"26065:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":51955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26088:20:96","memberName":"setNavigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":80337,"src":"26065:43:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_INavigatorRegistry_$66638_$returns$__$","typeString":"function (contract INavigatorRegistry)"}},"id":51957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26065:65:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51958,"nodeType":"ExpressionStatement","src":"26065:65:96"}]},"documentation":{"id":51944,"nodeType":"StructuredDocumentation","src":"25858:69:96","text":" @dev Set the address of the NavigatorRegistry contract"},"functionSelector":"f530108f","id":51960,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51950,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"26027:30:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51951,"kind":"modifierInvocation","modifierName":{"id":51949,"name":"onlyRole","nameLocations":["26018:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"26018:8:96"},"nodeType":"ModifierInvocation","src":"26018:40:96"}],"name":"setNavigatorRegistry","nameLocation":"25939:20:96","nodeType":"FunctionDefinition","parameters":{"id":51948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51947,"mutability":"mutable","name":"newNavigatorRegistry","nameLocation":"25984:20:96","nodeType":"VariableDeclaration","scope":51960,"src":"25965:39:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":51946,"nodeType":"UserDefinedTypeName","pathNode":{"id":51945,"name":"INavigatorRegistry","nameLocations":["25965:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"25965:18:96"},"referencedDeclaration":66638,"src":"25965:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"25959:49:96"},"returnParameters":{"id":51952,"nodeType":"ParameterList","parameters":[],"src":"26059:0:96"},"scope":52882,"src":"25930:205:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":51975,"nodeType":"Block","src":"26393:73:96","statements":[{"expression":{"arguments":[{"id":51972,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51963,"src":"26442:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51969,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"26399:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":51971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26423:18:96","memberName":"setVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":80982,"src":"26399:42:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":51973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26399:62:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51974,"nodeType":"ExpressionStatement","src":"26399:62:96"}]},"documentation":{"id":51961,"nodeType":"StructuredDocumentation","src":"26139:162:96","text":" @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n Emits a {VotingThresholdSet} event."},"functionSelector":"836761e0","id":51976,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51966,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50640,"src":"26376:15:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51967,"kind":"modifierInvocation","modifierName":{"id":51965,"name":"onlyRole","nameLocations":["26367:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"26367:8:96"},"nodeType":"ModifierInvocation","src":"26367:25:96"}],"name":"setVotingThreshold","nameLocation":"26313:18:96","nodeType":"FunctionDefinition","parameters":{"id":51964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51963,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"26340:18:96","nodeType":"VariableDeclaration","scope":51976,"src":"26332:26:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51962,"name":"uint256","nodeType":"ElementaryTypeName","src":"26332:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26331:28:96"},"returnParameters":{"id":51968,"nodeType":"ParameterList","parameters":[],"src":"26393:0:96"},"scope":52882,"src":"26304:162:96","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":51991,"nodeType":"Block","src":"26630:68:96","statements":[{"expression":{"arguments":[{"id":51988,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51979,"src":"26679:13:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51985,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"26636:26:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":51987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26663:15:96","memberName":"setAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":80716,"src":"26636:42:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":51989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26636:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51990,"nodeType":"ExpressionStatement","src":"26636:57:96"}]},"documentation":{"id":51977,"nodeType":"StructuredDocumentation","src":"26470:74:96","text":" @dev Set the max amount of shares an app can get in a round"},"functionSelector":"74038935","id":51992,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51982,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50640,"src":"26613:15:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51983,"kind":"modifierInvocation","modifierName":{"id":51981,"name":"onlyRole","nameLocations":["26604:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"26604:8:96"},"nodeType":"ModifierInvocation","src":"26604:25:96"}],"name":"setAppSharesCap","nameLocation":"26556:15:96","nodeType":"FunctionDefinition","parameters":{"id":51980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51979,"mutability":"mutable","name":"appSharesCap_","nameLocation":"26580:13:96","nodeType":"VariableDeclaration","scope":51992,"src":"26572:21:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51978,"name":"uint256","nodeType":"ElementaryTypeName","src":"26572:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26571:23:96"},"returnParameters":{"id":51984,"nodeType":"ParameterList","parameters":[],"src":"26630:0:96"},"scope":52882,"src":"26547:151:96","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":52007,"nodeType":"Block","src":"26898:92:96","statements":[{"expression":{"arguments":[{"id":52004,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51995,"src":"26959:25:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52001,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"26904:26:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":52003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26931:27:96","memberName":"setBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":80685,"src":"26904:54:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":52005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26904:81:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52006,"nodeType":"ExpressionStatement","src":"26904:81:96"}]},"documentation":{"id":51993,"nodeType":"StructuredDocumentation","src":"26702:88:96","text":" @dev Set the base allocation percentage for funds distribution in a round"},"functionSelector":"f5fae136","id":52008,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":51998,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50640,"src":"26881:15:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":51999,"kind":"modifierInvocation","modifierName":{"id":51997,"name":"onlyRole","nameLocations":["26872:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"26872:8:96"},"nodeType":"ModifierInvocation","src":"26872:25:96"}],"name":"setBaseAllocationPercentage","nameLocation":"26802:27:96","nodeType":"FunctionDefinition","parameters":{"id":51996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51995,"mutability":"mutable","name":"baseAllocationPercentage_","nameLocation":"26838:25:96","nodeType":"VariableDeclaration","scope":52008,"src":"26830:33:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51994,"name":"uint256","nodeType":"ElementaryTypeName","src":"26830:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26829:35:96"},"returnParameters":{"id":52000,"nodeType":"ParameterList","parameters":[],"src":"26898:0:96"},"scope":52882,"src":"26793:197:96","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":52029,"nodeType":"Block","src":"27132:170:96","statements":[{"expression":{"arguments":[{"id":52020,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52011,"src":"27181:15:96","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52021,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"27204:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":52022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27234:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"27204:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":52023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27204:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":52024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27265:10:96","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":82988,"src":"27204:71:96","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":52025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27276:13:96","memberName":"cycleDuration","nodeType":"MemberAccess","referencedDeclaration":64165,"src":"27204:85:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":52026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27204:87:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52017,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"27138:19:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":52019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27158:15:96","memberName":"setVotingPeriod","nodeType":"MemberAccess","referencedDeclaration":82753,"src":"27138:35:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint32_$_t_uint256_$returns$__$","typeString":"function (uint32,uint256)"}},"id":52027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27138:159:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52028,"nodeType":"ExpressionStatement","src":"27138:159:96"}]},"documentation":{"id":52009,"nodeType":"StructuredDocumentation","src":"26994:53:96","text":" @dev Set the voting period for a round"},"functionSelector":"e540d01d","id":52030,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":52014,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50640,"src":"27115:15:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":52015,"kind":"modifierInvocation","modifierName":{"id":52013,"name":"onlyRole","nameLocations":["27106:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"27106:8:96"},"nodeType":"ModifierInvocation","src":"27106:25:96"}],"name":"setVotingPeriod","nameLocation":"27059:15:96","nodeType":"FunctionDefinition","parameters":{"id":52012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52011,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"27082:15:96","nodeType":"VariableDeclaration","scope":52030,"src":"27075:22:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":52010,"name":"uint32","nodeType":"ElementaryTypeName","src":"27075:6:96","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"27074:24:96"},"returnParameters":{"id":52016,"nodeType":"ParameterList","parameters":[],"src":"27132:0:96"},"scope":52882,"src":"27050:252:96","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":52045,"nodeType":"Block","src":"27513:67:96","statements":[{"expression":{"arguments":[{"id":52042,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52033,"src":"27566:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52039,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"27519:19:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":52041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27539:26:96","memberName":"setCitizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82800,"src":"27519:46:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":52043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27519:56:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52044,"nodeType":"ExpressionStatement","src":"27519:56:96"}]},"documentation":{"id":52031,"nodeType":"StructuredDocumentation","src":"27306:117:96","text":" @dev Set the citizen skip window (blocks before round deadline when relayers can skip navigator votes)"},"functionSelector":"9382c818","id":52046,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":52036,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50640,"src":"27496:15:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":52037,"kind":"modifierInvocation","modifierName":{"id":52035,"name":"onlyRole","nameLocations":["27487:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"27487:8:96"},"nodeType":"ModifierInvocation","src":"27487:25:96"}],"name":"setCitizenSkipWindowBlocks","nameLocation":"27435:26:96","nodeType":"FunctionDefinition","parameters":{"id":52034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52033,"mutability":"mutable","name":"newValue","nameLocation":"27470:8:96","nodeType":"VariableDeclaration","scope":52046,"src":"27462:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52032,"name":"uint256","nodeType":"ElementaryTypeName","src":"27462:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27461:18:96"},"returnParameters":{"id":52038,"nodeType":"ParameterList","parameters":[],"src":"27513:0:96"},"scope":52882,"src":"27426:154:96","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":52064,"nodeType":"Block","src":"27756:97:96","statements":[{"expression":{"arguments":[{"id":52058,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52049,"src":"27809:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52059,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"27829:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":52060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27840:5:96","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"27829:16:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":52061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27829:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":52055,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"27762:24:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":52057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27787:21:96","memberName":"updateQuorumNumerator","nodeType":"MemberAccess","referencedDeclaration":82412,"src":"27762:46:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_uint48_$returns$__$","typeString":"function (uint256,uint48)"}},"id":52062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27762:86:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52063,"nodeType":"ExpressionStatement","src":"27762:86:96"}]},"documentation":{"id":52047,"nodeType":"StructuredDocumentation","src":"27584:77:96","text":" @dev Update the quorum a round needs to reach to be successful"},"functionSelector":"06f3f9e6","id":52065,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":52052,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50640,"src":"27739:15:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":52053,"kind":"modifierInvocation","modifierName":{"id":52051,"name":"onlyRole","nameLocations":["27730:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"27730:8:96"},"nodeType":"ModifierInvocation","src":"27730:25:96"}],"name":"updateQuorumNumerator","nameLocation":"27673:21:96","nodeType":"FunctionDefinition","parameters":{"id":52050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52049,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"27703:18:96","nodeType":"VariableDeclaration","scope":52065,"src":"27695:26:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52048,"name":"uint256","nodeType":"ElementaryTypeName","src":"27695:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27694:28:96"},"returnParameters":{"id":52054,"nodeType":"ParameterList","parameters":[],"src":"27756:0:96"},"scope":52882,"src":"27664:189:96","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[70837],"body":{"id":52073,"nodeType":"Block","src":"28038:21:96","statements":[{"expression":{"hexValue":"39","id":52071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28051:3:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2f8f61201b2b11a78d6e866abc9c3db2ae8631fa656bfe5cb53668255367afb","typeString":"literal_string \"9\""},"value":"9"},"functionReturnParameters":52070,"id":52072,"nodeType":"Return","src":"28044:10:96"}]},"documentation":{"id":52066,"nodeType":"StructuredDocumentation","src":"27924:56:96","text":" @dev Returns the version of the governor."},"functionSelector":"54fd4d50","id":52074,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"27992:7:96","nodeType":"FunctionDefinition","parameters":{"id":52067,"nodeType":"ParameterList","parameters":[],"src":"27999:2:96"},"returnParameters":{"id":52070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52069,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52074,"src":"28023:13:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52068,"name":"string","nodeType":"ElementaryTypeName","src":"28023:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28022:15:96"},"scope":52882,"src":"27983:76:96","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":52084,"nodeType":"Block","src":"28192:63:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52080,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"28205:19:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":52081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28225:23:96","memberName":"citizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82765,"src":"28205:43:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28205:45:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52079,"id":52083,"nodeType":"Return","src":"28198:52:96"}]},"documentation":{"id":52075,"nodeType":"StructuredDocumentation","src":"28063:61:96","text":" @dev Returns the citizen skip window in blocks"},"functionSelector":"abc517fd","id":52085,"implemented":true,"kind":"function","modifiers":[],"name":"citizenSkipWindowBlocks","nameLocation":"28136:23:96","nodeType":"FunctionDefinition","parameters":{"id":52076,"nodeType":"ParameterList","parameters":[],"src":"28159:2:96"},"returnParameters":{"id":52079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52078,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52085,"src":"28183:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52077,"name":"uint256","nodeType":"ElementaryTypeName","src":"28183:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28182:9:96"},"scope":52882,"src":"28127:128:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71067],"body":{"id":52100,"nodeType":"Block","src":"28400:53:96","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"id":52098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":52094,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52088,"src":"28419:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52093,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52165,"src":"28413:5:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":52095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28413:14:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":52096,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"28431:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":52097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28442:6:96","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":70609,"src":"28431:17:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"src":"28413:35:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52092,"id":52099,"nodeType":"Return","src":"28406:42:96"}]},"documentation":{"id":52086,"nodeType":"StructuredDocumentation","src":"28259:76:96","text":" @dev Checks if the specified round is in active state or not."},"functionSelector":"82afd23b","id":52101,"implemented":true,"kind":"function","modifiers":[],"name":"isActive","nameLocation":"28347:8:96","nodeType":"FunctionDefinition","parameters":{"id":52089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52088,"mutability":"mutable","name":"roundId","nameLocation":"28364:7:96","nodeType":"VariableDeclaration","scope":52101,"src":"28356:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52087,"name":"uint256","nodeType":"ElementaryTypeName","src":"28356:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28355:17:96"},"returnParameters":{"id":52092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52101,"src":"28394:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52090,"name":"bool","nodeType":"ElementaryTypeName","src":"28394:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28393:6:96"},"scope":52882,"src":"28338:115:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70846],"body":{"id":52164,"nodeType":"Block","src":"28582:512:96","statements":[{"assignments":[52111],"declarations":[{"constant":false,"id":52111,"mutability":"mutable","name":"snapshot","nameLocation":"28596:8:96","nodeType":"VariableDeclaration","scope":52164,"src":"28588:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52110,"name":"uint256","nodeType":"ElementaryTypeName","src":"28588:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52116,"initialValue":{"arguments":[{"id":52114,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52104,"src":"28640:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52112,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"28607:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28626:13:96","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":81902,"src":"28607:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28607:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28588:60:96"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52117,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52111,"src":"28659:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":52118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28671:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28659:13:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":52125,"nodeType":"IfStatement","src":"28655:74:96","trueBody":{"id":52124,"nodeType":"Block","src":"28674:55:96","statements":[{"errorCall":{"arguments":[{"id":52121,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52104,"src":"28714:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52120,"name":"GovernorNonexistentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70627,"src":"28689:24:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":52122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28689:33:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52123,"nodeType":"RevertStatement","src":"28682:40:96"}]}},{"assignments":[52127],"declarations":[{"constant":false,"id":52127,"mutability":"mutable","name":"currentTimepoint","nameLocation":"28743:16:96","nodeType":"VariableDeclaration","scope":52164,"src":"28735:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52126,"name":"uint256","nodeType":"ElementaryTypeName","src":"28735:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52131,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52128,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"28762:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":52129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28773:5:96","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"28762:16:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":52130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28762:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"28735:45:96"},{"assignments":[52133],"declarations":[{"constant":false,"id":52133,"mutability":"mutable","name":"deadline","nameLocation":"28794:8:96","nodeType":"VariableDeclaration","scope":52164,"src":"28786:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52132,"name":"uint256","nodeType":"ElementaryTypeName","src":"28786:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52138,"initialValue":{"arguments":[{"id":52136,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52104,"src":"28838:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52134,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"28805:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28824:13:96","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":81938,"src":"28805:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28805:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28786:60:96"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52139,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52133,"src":"28857:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":52140,"name":"currentTimepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52127,"src":"28869:16:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28857:28:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":52153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28936:65:96","subExpression":{"arguments":[{"id":52148,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52104,"src":"28975:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":52150,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52111,"src":"28991:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52149,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52284,"src":"28984:6:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28984:16:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52146,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"28937:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28961:13:96","memberName":"voteSucceeded","nodeType":"MemberAccess","referencedDeclaration":81268,"src":"28937:37:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) view returns (bool)"}},"id":52152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28937:64:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":52161,"nodeType":"Block","src":"29048:42:96","statements":[{"expression":{"expression":{"id":52158,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"29063:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":52159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29074:9:96","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":70611,"src":"29063:20:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"functionReturnParameters":52109,"id":52160,"nodeType":"Return","src":"29056:27:96"}]},"id":52162,"nodeType":"IfStatement","src":"28932:158:96","trueBody":{"id":52157,"nodeType":"Block","src":"29003:39:96","statements":[{"expression":{"expression":{"id":52154,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"29018:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":52155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29029:6:96","memberName":"Failed","nodeType":"MemberAccess","referencedDeclaration":70610,"src":"29018:17:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"functionReturnParameters":52109,"id":52156,"nodeType":"Return","src":"29011:24:96"}]}},"id":52163,"nodeType":"IfStatement","src":"28853:237:96","trueBody":{"id":52145,"nodeType":"Block","src":"28887:39:96","statements":[{"expression":{"expression":{"id":52142,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"28902:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":52143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28913:6:96","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":70609,"src":"28902:17:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"functionReturnParameters":52109,"id":52144,"nodeType":"Return","src":"28895:24:96"}]}}]},"documentation":{"id":52102,"nodeType":"StructuredDocumentation","src":"28457:57:96","text":" @dev Returns the current state of a round."},"functionSelector":"3e4f49e6","id":52165,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"28526:5:96","nodeType":"FunctionDefinition","parameters":{"id":52105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52104,"mutability":"mutable","name":"roundId","nameLocation":"28540:7:96","nodeType":"VariableDeclaration","scope":52165,"src":"28532:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52103,"name":"uint256","nodeType":"ElementaryTypeName","src":"28532:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28531:17:96"},"returnParameters":{"id":52109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52165,"src":"28570:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":52107,"nodeType":"UserDefinedTypeName","pathNode":{"id":52106,"name":"RoundState","nameLocations":["28570:10:96"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"28570:10:96"},"referencedDeclaration":70612,"src":"28570:10:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"}],"src":"28569:12:96"},"scope":52882,"src":"28517:577:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71040],"body":{"id":52183,"nodeType":"Block","src":"29244:96:96","statements":[{"expression":{"arguments":[{"id":52175,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52168,"src":"29295:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":52178,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52168,"src":"29325:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52177,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"29311:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29311:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52176,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52284,"src":"29304:6:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29304:30:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52173,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"29257:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29281:13:96","memberName":"quorumReached","nodeType":"MemberAccess","referencedDeclaration":81208,"src":"29257:37:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) view returns (bool)"}},"id":52181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29257:78:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52172,"id":52182,"nodeType":"Return","src":"29250:85:96"}]},"documentation":{"id":52166,"nodeType":"StructuredDocumentation","src":"29098:76:96","text":" @dev Checks if the quorum has been reached for a given round."},"functionSelector":"d4a8dd98","id":52184,"implemented":true,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"29186:13:96","nodeType":"FunctionDefinition","parameters":{"id":52169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52168,"mutability":"mutable","name":"roundId","nameLocation":"29208:7:96","nodeType":"VariableDeclaration","scope":52184,"src":"29200:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52167,"name":"uint256","nodeType":"ElementaryTypeName","src":"29200:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29199:17:96"},"returnParameters":{"id":52172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52171,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52184,"src":"29238:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52170,"name":"bool","nodeType":"ElementaryTypeName","src":"29238:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29237:6:96"},"scope":52882,"src":"29177:163:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70894],"body":{"id":52200,"nodeType":"Block","src":"29520:57:96","statements":[{"expression":{"arguments":[{"id":52196,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52187,"src":"29553:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52197,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52189,"src":"29562:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52194,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"29533:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":52195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29544:8:96","memberName":"getVotes","nodeType":"MemberAccess","referencedDeclaration":82661,"src":"29533:19:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":52198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29533:39:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52193,"id":52199,"nodeType":"Return","src":"29526:46:96"}]},"documentation":{"id":52185,"nodeType":"StructuredDocumentation","src":"29344:89:96","text":" @dev Returns the available votes for a given account at a given timepoint."},"functionSelector":"eb9019d4","id":52201,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"29445:8:96","nodeType":"FunctionDefinition","parameters":{"id":52190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52187,"mutability":"mutable","name":"account","nameLocation":"29462:7:96","nodeType":"VariableDeclaration","scope":52201,"src":"29454:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52186,"name":"address","nodeType":"ElementaryTypeName","src":"29454:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52189,"mutability":"mutable","name":"timepoint","nameLocation":"29479:9:96","nodeType":"VariableDeclaration","scope":52201,"src":"29471:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52188,"name":"uint256","nodeType":"ElementaryTypeName","src":"29471:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29453:36:96"},"returnParameters":{"id":52193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52192,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52201,"src":"29511:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52191,"name":"uint256","nodeType":"ElementaryTypeName","src":"29511:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29510:9:96"},"scope":52882,"src":"29436:141:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71117],"body":{"id":52216,"nodeType":"Block","src":"29761:45:96","statements":[{"expression":{"arguments":[{"id":52212,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52204,"src":"29783:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52213,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52206,"src":"29790:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52211,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52201,"src":"29774:8:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":52214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29774:27:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52210,"id":52215,"nodeType":"Return","src":"29767:34:96"}]},"documentation":{"id":52202,"nodeType":"StructuredDocumentation","src":"29581:83:96","text":"@dev Deprecated: use getVotes instead, which now includes deposit voting power."},"functionSelector":"4cadad2f","id":52217,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalVotingPower","nameLocation":"29676:19:96","nodeType":"FunctionDefinition","parameters":{"id":52207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52204,"mutability":"mutable","name":"voter","nameLocation":"29704:5:96","nodeType":"VariableDeclaration","scope":52217,"src":"29696:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52203,"name":"address","nodeType":"ElementaryTypeName","src":"29696:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52206,"mutability":"mutable","name":"roundStart","nameLocation":"29719:10:96","nodeType":"VariableDeclaration","scope":52217,"src":"29711:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52205,"name":"uint256","nodeType":"ElementaryTypeName","src":"29711:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29695:35:96"},"returnParameters":{"id":52210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52217,"src":"29752:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52208,"name":"uint256","nodeType":"ElementaryTypeName","src":"29752:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29751:9:96"},"scope":52882,"src":"29667:139:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71059],"body":{"id":52238,"nodeType":"Block","src":"29981:162:96","statements":[{"expression":{"arguments":[{"id":52232,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52220,"src":"30093:5:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":52234,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52222,"src":"30122:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52233,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"30108:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30108:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52227,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"30000:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":52228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30030:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"30000:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":52229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30000:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":52230,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30061:11:96","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"30000:72:96","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":52231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30073:10:96","memberName":"isEligible","nodeType":"MemberAccess","referencedDeclaration":69701,"src":"30000:83:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$","typeString":"function (bytes32,uint256) view external returns (bool)"}},"id":52236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30000:138:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52226,"id":52237,"nodeType":"Return","src":"29987:151:96"}]},"documentation":{"id":52218,"nodeType":"StructuredDocumentation","src":"29810:82:96","text":" @dev Checks if the given appId can be voted for in the given round."},"functionSelector":"d68b4c36","id":52239,"implemented":true,"kind":"function","modifiers":[],"name":"isEligibleForVote","nameLocation":"29904:17:96","nodeType":"FunctionDefinition","parameters":{"id":52223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52220,"mutability":"mutable","name":"appId","nameLocation":"29930:5:96","nodeType":"VariableDeclaration","scope":52239,"src":"29922:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29922:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52222,"mutability":"mutable","name":"roundId","nameLocation":"29945:7:96","nodeType":"VariableDeclaration","scope":52239,"src":"29937:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52221,"name":"uint256","nodeType":"ElementaryTypeName","src":"29937:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29921:32:96"},"returnParameters":{"id":52226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52225,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52239,"src":"29975:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52224,"name":"bool","nodeType":"ElementaryTypeName","src":"29975:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29974:6:96"},"scope":52882,"src":"29895:248:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52258,"nodeType":"Block","src":"30341:164:96","statements":[{"expression":{"arguments":[{"id":52254,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52242,"src":"30466:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52255,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52244,"src":"30483:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52249,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"30360:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":52250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30390:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"30360:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":52251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30360:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":52252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30421:13:96","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":82997,"src":"30360:74:96","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":52253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30435:21:96","memberName":"getDepositVotingPower","nodeType":"MemberAccess","referencedDeclaration":63754,"src":"30360:96:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":52256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30360:140:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52248,"id":52257,"nodeType":"Return","src":"30347:153:96"}]},"documentation":{"id":52240,"nodeType":"StructuredDocumentation","src":"30147:94:96","text":" @dev Returns the deposit voting power for a given account at a given timepoint."},"functionSelector":"a56b5765","id":52259,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"30253:21:96","nodeType":"FunctionDefinition","parameters":{"id":52245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52242,"mutability":"mutable","name":"account","nameLocation":"30283:7:96","nodeType":"VariableDeclaration","scope":52259,"src":"30275:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52241,"name":"address","nodeType":"ElementaryTypeName","src":"30275:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52244,"mutability":"mutable","name":"timepoint","nameLocation":"30300:9:96","nodeType":"VariableDeclaration","scope":52259,"src":"30292:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52243,"name":"uint256","nodeType":"ElementaryTypeName","src":"30292:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30274:36:96"},"returnParameters":{"id":52248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52247,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52259,"src":"30332:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52246,"name":"uint256","nodeType":"ElementaryTypeName","src":"30332:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30331:9:96"},"scope":52882,"src":"30244:261:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70868],"body":{"id":52269,"nodeType":"Block","src":"30696:52:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52265,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"30709:19:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":52266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30729:12:96","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":82705,"src":"30709:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30709:34:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52264,"id":52268,"nodeType":"Return","src":"30702:41:96"}]},"documentation":{"id":52260,"nodeType":"StructuredDocumentation","src":"30584:55:96","text":"@dev See {IXAllocationVotingGovernor-votingPeriod}."},"functionSelector":"02a251a3","id":52270,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"30651:12:96","nodeType":"FunctionDefinition","parameters":{"id":52261,"nodeType":"ParameterList","parameters":[],"src":"30663:2:96"},"returnParameters":{"id":52264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52270,"src":"30687:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52262,"name":"uint256","nodeType":"ElementaryTypeName","src":"30687:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30686:9:96"},"scope":52882,"src":"30642:106:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70876],"body":{"id":52283,"nodeType":"Block","src":"30899:60:96","statements":[{"expression":{"arguments":[{"id":52280,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52273,"src":"30944:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52278,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"30912:24:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":52279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30937:6:96","memberName":"quorum","nodeType":"MemberAccess","referencedDeclaration":82355,"src":"30912:31:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30912:42:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52277,"id":52282,"nodeType":"Return","src":"30905:49:96"}]},"documentation":{"id":52271,"nodeType":"StructuredDocumentation","src":"30752:79:96","text":"@dev Returns the quorum for a given timepoint, based on token total supply."},"functionSelector":"f8ce560a","id":52284,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"30843:6:96","nodeType":"FunctionDefinition","parameters":{"id":52274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52273,"mutability":"mutable","name":"timepoint","nameLocation":"30858:9:96","nodeType":"VariableDeclaration","scope":52284,"src":"30850:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52272,"name":"uint256","nodeType":"ElementaryTypeName","src":"30850:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30849:19:96"},"returnParameters":{"id":52277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52276,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52284,"src":"30890:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52275,"name":"uint256","nodeType":"ElementaryTypeName","src":"30890:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30889:9:96"},"scope":52882,"src":"30834:125:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[4545],"body":{"id":52294,"nodeType":"Block","src":"31189:36:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52290,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"31202:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":52291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31213:5:96","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"31202:16:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":52292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31202:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":52289,"id":52293,"nodeType":"Return","src":"31195:25:96"}]},"documentation":{"id":52285,"nodeType":"StructuredDocumentation","src":"31039:101:96","text":"@dev Clock used for flagging checkpoints, as specified in EIP-6372. Matched to the token's clock."},"functionSelector":"91ddadf4","id":52295,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"31152:5:96","nodeType":"FunctionDefinition","parameters":{"id":52286,"nodeType":"ParameterList","parameters":[],"src":"31157:2:96"},"returnParameters":{"id":52289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52288,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52295,"src":"31181:6:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":52287,"name":"uint48","nodeType":"ElementaryTypeName","src":"31181:6:96","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"31180:8:96"},"scope":52882,"src":"31143:82:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[4551],"body":{"id":52305,"nodeType":"Block","src":"31417:41:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52301,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"31430:10:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":52302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31441:10:96","memberName":"CLOCK_MODE","nodeType":"MemberAccess","referencedDeclaration":82543,"src":"31430:21:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":52303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31430:23:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":52300,"id":52304,"nodeType":"Return","src":"31423:30:96"}]},"documentation":{"id":52296,"nodeType":"StructuredDocumentation","src":"31229:76:96","text":"@dev Machine-readable description of the clock as specified in EIP-6372."},"functionSelector":"4bf5d7e9","id":52306,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"31368:10:96","nodeType":"FunctionDefinition","parameters":{"id":52297,"nodeType":"ParameterList","parameters":[],"src":"31378:2:96"},"returnParameters":{"id":52300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52306,"src":"31402:13:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52298,"name":"string","nodeType":"ElementaryTypeName","src":"31402:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31401:15:96"},"scope":52882,"src":"31359:99:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71020],"body":{"id":52316,"nodeType":"Block","src":"31631:53:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52312,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"31644:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31663:14:96","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":81812,"src":"31644:33:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31644:35:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52311,"id":52315,"nodeType":"Return","src":"31637:42:96"}]},"documentation":{"id":52307,"nodeType":"StructuredDocumentation","src":"31535:37:96","text":"@dev Returns the latest round id."},"functionSelector":"9cbe5efd","id":52317,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"31584:14:96","nodeType":"FunctionDefinition","parameters":{"id":52308,"nodeType":"ParameterList","parameters":[],"src":"31598:2:96"},"returnParameters":{"id":52311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52317,"src":"31622:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52309,"name":"uint256","nodeType":"ElementaryTypeName","src":"31622:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31621:9:96"},"scope":52882,"src":"31575:109:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71026],"body":{"id":52327,"nodeType":"Block","src":"31833:59:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52323,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"31846:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31865:20:96","memberName":"currentRoundSnapshot","nodeType":"MemberAccess","referencedDeclaration":81839,"src":"31846:39:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31846:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52322,"id":52326,"nodeType":"Return","src":"31839:48:96"}]},"documentation":{"id":52318,"nodeType":"StructuredDocumentation","src":"31688:80:96","text":"@dev Returns the block number at which the current round snapshot was taken."},"functionSelector":"561b64ef","id":52328,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"31780:20:96","nodeType":"FunctionDefinition","parameters":{"id":52319,"nodeType":"ParameterList","parameters":[],"src":"31800:2:96"},"returnParameters":{"id":52322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52328,"src":"31824:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52320,"name":"uint256","nodeType":"ElementaryTypeName","src":"31824:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31823:9:96"},"scope":52882,"src":"31771:121:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71032],"body":{"id":52338,"nodeType":"Block","src":"32027:59:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52334,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32040:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32059:20:96","memberName":"currentRoundDeadline","nodeType":"MemberAccess","referencedDeclaration":81878,"src":"32040:39:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32040:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52333,"id":52337,"nodeType":"Return","src":"32033:48:96"}]},"documentation":{"id":52329,"nodeType":"StructuredDocumentation","src":"31896:66:96","text":"@dev Returns the block number at which the current round ends."},"functionSelector":"59372812","id":52339,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundDeadline","nameLocation":"31974:20:96","nodeType":"FunctionDefinition","parameters":{"id":52330,"nodeType":"ParameterList","parameters":[],"src":"31994:2:96"},"returnParameters":{"id":52333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52339,"src":"32018:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52331,"name":"uint256","nodeType":"ElementaryTypeName","src":"32018:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32017:9:96"},"scope":52882,"src":"31965:121:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70854],"body":{"id":52352,"nodeType":"Block","src":"32230:59:96","statements":[{"expression":{"arguments":[{"id":52349,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52342,"src":"32276:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52347,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32243:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32262:13:96","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":81902,"src":"32243:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32243:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52346,"id":52351,"nodeType":"Return","src":"32236:48:96"}]},"documentation":{"id":52340,"nodeType":"StructuredDocumentation","src":"32090:67:96","text":"@dev Returns the block number when the round starts (snapshot)."},"functionSelector":"d06efeda","id":52353,"implemented":true,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"32169:13:96","nodeType":"FunctionDefinition","parameters":{"id":52343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52342,"mutability":"mutable","name":"roundId","nameLocation":"32191:7:96","nodeType":"VariableDeclaration","scope":52353,"src":"32183:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52341,"name":"uint256","nodeType":"ElementaryTypeName","src":"32183:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32182:17:96"},"returnParameters":{"id":52346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52345,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52353,"src":"32221:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52344,"name":"uint256","nodeType":"ElementaryTypeName","src":"32221:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32220:9:96"},"scope":52882,"src":"32160:129:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70862],"body":{"id":52366,"nodeType":"Block","src":"32420:59:96","statements":[{"expression":{"arguments":[{"id":52363,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52356,"src":"32466:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52361,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32433:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32452:13:96","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":81938,"src":"32433:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32433:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52360,"id":52365,"nodeType":"Return","src":"32426:48:96"}]},"documentation":{"id":52354,"nodeType":"StructuredDocumentation","src":"32293:54:96","text":"@dev Returns the block number when the round ends."},"functionSelector":"d3a368bd","id":52367,"implemented":true,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"32359:13:96","nodeType":"FunctionDefinition","parameters":{"id":52357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52356,"mutability":"mutable","name":"roundId","nameLocation":"32381:7:96","nodeType":"VariableDeclaration","scope":52367,"src":"32373:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52355,"name":"uint256","nodeType":"ElementaryTypeName","src":"32373:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32372:17:96"},"returnParameters":{"id":52360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52367,"src":"32411:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52358,"name":"uint256","nodeType":"ElementaryTypeName","src":"32411:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32410:9:96"},"scope":52882,"src":"32350:129:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71049],"body":{"id":52381,"nodeType":"Block","src":"32636:62:96","statements":[{"expression":{"arguments":[{"id":52378,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52370,"src":"32685:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52376,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32649:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32668:16:96","memberName":"getAppIdsOfRound","nodeType":"MemberAccess","referencedDeclaration":81986,"src":"32649:35:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) view returns (bytes32[] memory)"}},"id":52379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32649:44:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":52375,"id":52380,"nodeType":"Return","src":"32642:51:96"}]},"documentation":{"id":52368,"nodeType":"StructuredDocumentation","src":"32483:68:96","text":"@dev Returns the ids of the apps eligible for voting in a round."},"functionSelector":"7ace2485","id":52382,"implemented":true,"kind":"function","modifiers":[],"name":"getAppIdsOfRound","nameLocation":"32563:16:96","nodeType":"FunctionDefinition","parameters":{"id":52371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52370,"mutability":"mutable","name":"roundId","nameLocation":"32588:7:96","nodeType":"VariableDeclaration","scope":52382,"src":"32580:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52369,"name":"uint256","nodeType":"ElementaryTypeName","src":"32580:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32579:17:96"},"returnParameters":{"id":52375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52374,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52382,"src":"32618:16:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":52372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32618:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":52373,"nodeType":"ArrayTypeName","src":"32618:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"32617:18:96"},"scope":52882,"src":"32554:144:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52396,"nodeType":"Block","src":"32848:54:96","statements":[{"expression":{"arguments":[{"id":52393,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52385,"src":"32889:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52391,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32861:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32880:8:96","memberName":"getRound","nodeType":"MemberAccess","referencedDeclaration":82010,"src":"32861:27:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_struct$_RoundCore_$82969_memory_ptr_$","typeString":"function (uint256) view returns (struct XAllocationVotingStorageTypes.RoundCore memory)"}},"id":52394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32861:36:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_memory_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore memory"}},"functionReturnParameters":52390,"id":52395,"nodeType":"Return","src":"32854:43:96"}]},"documentation":{"id":52383,"nodeType":"StructuredDocumentation","src":"32702:37:96","text":"@dev Returns the data of a round."},"functionSelector":"8f1327c0","id":52397,"implemented":true,"kind":"function","modifiers":[],"name":"getRound","nameLocation":"32751:8:96","nodeType":"FunctionDefinition","parameters":{"id":52386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52385,"mutability":"mutable","name":"roundId","nameLocation":"32768:7:96","nodeType":"VariableDeclaration","scope":52397,"src":"32760:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52384,"name":"uint256","nodeType":"ElementaryTypeName","src":"32760:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32759:17:96"},"returnParameters":{"id":52390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52397,"src":"32800:46:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_memory_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore"},"typeName":{"id":52388,"nodeType":"UserDefinedTypeName","pathNode":{"id":52387,"name":"XAllocationVotingStorageTypes.RoundCore","nameLocations":["32800:29:96","32830:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":82969,"src":"32800:39:96"},"referencedDeclaration":82969,"src":"32800:39:96","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore"}},"visibility":"internal"}],"src":"32799:48:96"},"scope":52882,"src":"32742:160:96","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":52412,"nodeType":"Block","src":"33226:60:96","statements":[{"expression":{"arguments":[{"id":52409,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52400,"src":"33273:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52407,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"33239:18:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":52408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33258:14:96","memberName":"getAppsOfRound","nodeType":"MemberAccess","referencedDeclaration":82090,"src":"33239:33:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) view returns (struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory)"}},"id":52410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33239:42:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"functionReturnParameters":52406,"id":52411,"nodeType":"Return","src":"33232:49:96"}]},"documentation":{"id":52398,"nodeType":"StructuredDocumentation","src":"32906:190:96","text":"@dev Returns all the apps eligible for voting in a round with details.\n @notice Could be inefficient with a large number of apps; use {getAppIdsOfRound} + {IX2EarnApps-app} instead."},"functionSelector":"291605f7","id":52413,"implemented":true,"kind":"function","modifiers":[],"name":"getAppsOfRound","nameLocation":"33108:14:96","nodeType":"FunctionDefinition","parameters":{"id":52401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52400,"mutability":"mutable","name":"roundId","nameLocation":"33136:7:96","nodeType":"VariableDeclaration","scope":52413,"src":"33128:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52399,"name":"uint256","nodeType":"ElementaryTypeName","src":"33128:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33122:25:96"},"returnParameters":{"id":52406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52413,"src":"33171:53:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":52403,"nodeType":"UserDefinedTypeName","pathNode":{"id":52402,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["33171:19:96","33191:24:96"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"33171:44:96"},"referencedDeclaration":71146,"src":"33171:44:96","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":52404,"nodeType":"ArrayTypeName","src":"33171:46:96","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"src":"33170:55:96"},"scope":52882,"src":"33099:187:96","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":52423,"nodeType":"Block","src":"33515:71:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52419,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"33528:26:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":52420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33555:24:96","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":80589,"src":"33528:51:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33528:53:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52418,"id":52422,"nodeType":"Return","src":"33521:60:96"}]},"documentation":{"id":52414,"nodeType":"StructuredDocumentation","src":"33367:79:96","text":"@dev Returns the current base allocation percentage for funds distribution."},"functionSelector":"8ab52d4b","id":52424,"implemented":true,"kind":"function","modifiers":[],"name":"baseAllocationPercentage","nameLocation":"33458:24:96","nodeType":"FunctionDefinition","parameters":{"id":52415,"nodeType":"ParameterList","parameters":[],"src":"33482:2:96"},"returnParameters":{"id":52418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52424,"src":"33506:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52416,"name":"uint256","nodeType":"ElementaryTypeName","src":"33506:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33505:9:96"},"scope":52882,"src":"33449:137:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52434,"nodeType":"Block","src":"33718:59:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52430,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"33731:26:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":52431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33758:12:96","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":80608,"src":"33731:39:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33731:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52429,"id":52433,"nodeType":"Return","src":"33724:48:96"}]},"documentation":{"id":52425,"nodeType":"StructuredDocumentation","src":"33590:71:96","text":"@dev Returns the max percentage of votes an app can get in a round."},"functionSelector":"bb7de6d4","id":52435,"implemented":true,"kind":"function","modifiers":[],"name":"appSharesCap","nameLocation":"33673:12:96","nodeType":"FunctionDefinition","parameters":{"id":52426,"nodeType":"ParameterList","parameters":[],"src":"33685:2:96"},"returnParameters":{"id":52429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52428,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52435,"src":"33709:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52427,"name":"uint256","nodeType":"ElementaryTypeName","src":"33709:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33708:9:96"},"scope":52882,"src":"33664:113:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71091],"body":{"id":52448,"nodeType":"Block","src":"33968:86:96","statements":[{"expression":{"arguments":[{"id":52445,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52438,"src":"34041:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52443,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"33981:26:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":52444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34008:32:96","memberName":"getRoundBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":80631,"src":"33981:59:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33981:68:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52442,"id":52447,"nodeType":"Return","src":"33974:75:96"}]},"documentation":{"id":52436,"nodeType":"StructuredDocumentation","src":"33781:95:96","text":"@dev Returns the base allocation percentage for a given round (snapshotted at round start)."},"functionSelector":"0eca87fb","id":52449,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundBaseAllocationPercentage","nameLocation":"33888:32:96","nodeType":"FunctionDefinition","parameters":{"id":52439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52438,"mutability":"mutable","name":"roundId","nameLocation":"33929:7:96","nodeType":"VariableDeclaration","scope":52449,"src":"33921:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52437,"name":"uint256","nodeType":"ElementaryTypeName","src":"33921:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33920:17:96"},"returnParameters":{"id":52442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52449,"src":"33959:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52440,"name":"uint256","nodeType":"ElementaryTypeName","src":"33959:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33958:9:96"},"scope":52882,"src":"33879:175:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71099],"body":{"id":52462,"nodeType":"Block","src":"34221:74:96","statements":[{"expression":{"arguments":[{"id":52459,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52452,"src":"34282:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52457,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"34234:26:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":52458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34261:20:96","memberName":"getRoundAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":80654,"src":"34234:47:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34234:56:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52456,"id":52461,"nodeType":"Return","src":"34227:63:96"}]},"documentation":{"id":52450,"nodeType":"StructuredDocumentation","src":"34058:83:96","text":"@dev Returns the app shares cap for a given round (snapshotted at round start)."},"functionSelector":"0a0e74ef","id":52463,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundAppSharesCap","nameLocation":"34153:20:96","nodeType":"FunctionDefinition","parameters":{"id":52453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52452,"mutability":"mutable","name":"roundId","nameLocation":"34182:7:96","nodeType":"VariableDeclaration","scope":52463,"src":"34174:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52451,"name":"uint256","nodeType":"ElementaryTypeName","src":"34174:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34173:17:96"},"returnParameters":{"id":52456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52463,"src":"34212:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52454,"name":"uint256","nodeType":"ElementaryTypeName","src":"34212:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34211:9:96"},"scope":52882,"src":"34144:151:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70920],"body":{"id":52479,"nodeType":"Block","src":"34533:67:96","statements":[{"expression":{"arguments":[{"id":52475,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52466,"src":"34582:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52476,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52468,"src":"34591:3:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52473,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"34546:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34570:11:96","memberName":"getAppVotes","nodeType":"MemberAccess","referencedDeclaration":81029,"src":"34546:35:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (uint256,bytes32) view returns (uint256)"}},"id":52477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34546:49:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52472,"id":52478,"nodeType":"Return","src":"34539:56:96"}]},"documentation":{"id":52464,"nodeType":"StructuredDocumentation","src":"34372:77:96","text":"@dev Returns the total votes received by a specific app in a given round."},"functionSelector":"4bb5181a","id":52480,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotes","nameLocation":"34461:11:96","nodeType":"FunctionDefinition","parameters":{"id":52469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52466,"mutability":"mutable","name":"roundId","nameLocation":"34481:7:96","nodeType":"VariableDeclaration","scope":52480,"src":"34473:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52465,"name":"uint256","nodeType":"ElementaryTypeName","src":"34473:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52468,"mutability":"mutable","name":"app","nameLocation":"34498:3:96","nodeType":"VariableDeclaration","scope":52480,"src":"34490:11:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34490:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34472:30:96"},"returnParameters":{"id":52472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52480,"src":"34524:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52470,"name":"uint256","nodeType":"ElementaryTypeName","src":"34524:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34523:9:96"},"scope":52882,"src":"34452:148:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70930],"body":{"id":52496,"nodeType":"Block","src":"34779:69:96","statements":[{"expression":{"arguments":[{"id":52492,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52483,"src":"34830:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52493,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52485,"src":"34839:3:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52490,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"34792:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34816:13:96","memberName":"getAppVotesQF","nodeType":"MemberAccess","referencedDeclaration":81057,"src":"34792:37:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (uint256,bytes32) view returns (uint256)"}},"id":52494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34792:51:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52489,"id":52495,"nodeType":"Return","src":"34785:58:96"}]},"documentation":{"id":52481,"nodeType":"StructuredDocumentation","src":"34604:89:96","text":"@dev Returns the quadratic funding votes received by a specific app in a given round."},"functionSelector":"bed73010","id":52497,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotesQF","nameLocation":"34705:13:96","nodeType":"FunctionDefinition","parameters":{"id":52486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52483,"mutability":"mutable","name":"roundId","nameLocation":"34727:7:96","nodeType":"VariableDeclaration","scope":52497,"src":"34719:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52482,"name":"uint256","nodeType":"ElementaryTypeName","src":"34719:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52485,"mutability":"mutable","name":"app","nameLocation":"34744:3:96","nodeType":"VariableDeclaration","scope":52497,"src":"34736:11:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34736:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34718:30:96"},"returnParameters":{"id":52489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52497,"src":"34770:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52487,"name":"uint256","nodeType":"ElementaryTypeName","src":"34770:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34769:9:96"},"scope":52882,"src":"34696:152:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70902],"body":{"id":52510,"nodeType":"Block","src":"34977:61:96","statements":[{"expression":{"arguments":[{"id":52507,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52500,"src":"35025:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52505,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"34990:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35014:10:96","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":81081,"src":"34990:34:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34990:43:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52504,"id":52509,"nodeType":"Return","src":"34983:50:96"}]},"documentation":{"id":52498,"nodeType":"StructuredDocumentation","src":"34852:55:96","text":"@dev Returns the total votes cast in a given round."},"functionSelector":"19e6e158","id":52511,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotes","nameLocation":"34919:10:96","nodeType":"FunctionDefinition","parameters":{"id":52501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52500,"mutability":"mutable","name":"roundId","nameLocation":"34938:7:96","nodeType":"VariableDeclaration","scope":52511,"src":"34930:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52499,"name":"uint256","nodeType":"ElementaryTypeName","src":"34930:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34929:17:96"},"returnParameters":{"id":52504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52511,"src":"34968:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52502,"name":"uint256","nodeType":"ElementaryTypeName","src":"34968:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34967:9:96"},"scope":52882,"src":"34910:128:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70938],"body":{"id":52524,"nodeType":"Block","src":"35187:63:96","statements":[{"expression":{"arguments":[{"id":52521,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52514,"src":"35237:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52519,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"35200:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35224:12:96","memberName":"totalVotesQF","nodeType":"MemberAccess","referencedDeclaration":81105,"src":"35200:36:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35200:45:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52518,"id":52523,"nodeType":"Return","src":"35193:52:96"}]},"documentation":{"id":52512,"nodeType":"StructuredDocumentation","src":"35042:73:96","text":"@dev Returns the total quadratic funding votes cast in a given round."},"functionSelector":"fb03ec6f","id":52525,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotesQF","nameLocation":"35127:12:96","nodeType":"FunctionDefinition","parameters":{"id":52515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52514,"mutability":"mutable","name":"roundId","nameLocation":"35148:7:96","nodeType":"VariableDeclaration","scope":52525,"src":"35140:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52513,"name":"uint256","nodeType":"ElementaryTypeName","src":"35140:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35139:17:96"},"returnParameters":{"id":52518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52517,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52525,"src":"35178:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52516,"name":"uint256","nodeType":"ElementaryTypeName","src":"35178:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35177:9:96"},"scope":52882,"src":"35118:132:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70910],"body":{"id":52538,"nodeType":"Block","src":"35386:62:96","statements":[{"expression":{"arguments":[{"id":52535,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52528,"src":"35435:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52533,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"35399:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35423:11:96","memberName":"totalVoters","nodeType":"MemberAccess","referencedDeclaration":81129,"src":"35399:35:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35399:44:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52532,"id":52537,"nodeType":"Return","src":"35392:51:96"}]},"documentation":{"id":52526,"nodeType":"StructuredDocumentation","src":"35254:61:96","text":"@dev Returns the total number of voters in a given round."},"functionSelector":"498d91bf","id":52539,"implemented":true,"kind":"function","modifiers":[],"name":"totalVoters","nameLocation":"35327:11:96","nodeType":"FunctionDefinition","parameters":{"id":52529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52528,"mutability":"mutable","name":"roundId","nameLocation":"35347:7:96","nodeType":"VariableDeclaration","scope":52539,"src":"35339:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52527,"name":"uint256","nodeType":"ElementaryTypeName","src":"35339:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35338:17:96"},"returnParameters":{"id":52532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52539,"src":"35377:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52530,"name":"uint256","nodeType":"ElementaryTypeName","src":"35377:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35376:9:96"},"scope":52882,"src":"35318:130:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70948],"body":{"id":52555,"nodeType":"Block","src":"35590:65:96","statements":[{"expression":{"arguments":[{"id":52551,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52542,"src":"35636:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52552,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52544,"src":"35645:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52549,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"35603:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35627:8:96","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":81157,"src":"35603:32:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":52553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35603:47:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52548,"id":52554,"nodeType":"Return","src":"35596:54:96"}]},"documentation":{"id":52540,"nodeType":"StructuredDocumentation","src":"35452:59:96","text":"@dev Returns whether a user has voted in a given round."},"functionSelector":"43859632","id":52556,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"35523:8:96","nodeType":"FunctionDefinition","parameters":{"id":52545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52542,"mutability":"mutable","name":"roundId","nameLocation":"35540:7:96","nodeType":"VariableDeclaration","scope":52556,"src":"35532:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52541,"name":"uint256","nodeType":"ElementaryTypeName","src":"35532:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52544,"mutability":"mutable","name":"user","nameLocation":"35557:4:96","nodeType":"VariableDeclaration","scope":52556,"src":"35549:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52543,"name":"address","nodeType":"ElementaryTypeName","src":"35549:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35531:31:96"},"returnParameters":{"id":52548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52547,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52556,"src":"35584:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52546,"name":"bool","nodeType":"ElementaryTypeName","src":"35584:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35583:6:96"},"scope":52882,"src":"35514:141:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71083],"body":{"id":52569,"nodeType":"Block","src":"35799:60:96","statements":[{"expression":{"arguments":[{"id":52566,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52559,"src":"35849:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52564,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"35812:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35836:12:96","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":81180,"src":"35812:36:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":52567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35812:42:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52563,"id":52568,"nodeType":"Return","src":"35805:49:96"}]},"documentation":{"id":52557,"nodeType":"StructuredDocumentation","src":"35659:74:96","text":"@dev Returns whether a user has voted at least once across all rounds."},"functionSelector":"9aeb962b","id":52570,"implemented":true,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"35745:12:96","nodeType":"FunctionDefinition","parameters":{"id":52560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52559,"mutability":"mutable","name":"user","nameLocation":"35766:4:96","nodeType":"VariableDeclaration","scope":52570,"src":"35758:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52558,"name":"address","nodeType":"ElementaryTypeName","src":"35758:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35757:14:96"},"returnParameters":{"id":52563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52570,"src":"35793:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52561,"name":"bool","nodeType":"ElementaryTypeName","src":"35793:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35792:6:96"},"scope":52882,"src":"35736:123:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52589,"nodeType":"Block","src":"36041:82:96","statements":[{"expression":{"arguments":[{"id":52584,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52573,"src":"36097:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52585,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52575,"src":"36106:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52586,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52577,"src":"36112:5:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52582,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"36054:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36078:18:96","memberName":"hasUserVotedForApp","nodeType":"MemberAccess","referencedDeclaration":81240,"src":"36054:42:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$","typeString":"function (uint256,address,bytes32) view returns (bool)"}},"id":52587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36054:64:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52581,"id":52588,"nodeType":"Return","src":"36047:71:96"}]},"documentation":{"id":52571,"nodeType":"StructuredDocumentation","src":"35863:74:96","text":"@dev Returns whether a user voted for a specific app in a given round."},"functionSelector":"42707a43","id":52590,"implemented":true,"kind":"function","modifiers":[],"name":"hasUserVotedForApp","nameLocation":"35949:18:96","nodeType":"FunctionDefinition","parameters":{"id":52578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52573,"mutability":"mutable","name":"roundId","nameLocation":"35976:7:96","nodeType":"VariableDeclaration","scope":52590,"src":"35968:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52572,"name":"uint256","nodeType":"ElementaryTypeName","src":"35968:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52575,"mutability":"mutable","name":"user","nameLocation":"35993:4:96","nodeType":"VariableDeclaration","scope":52590,"src":"35985:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52574,"name":"address","nodeType":"ElementaryTypeName","src":"35985:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52577,"mutability":"mutable","name":"appId","nameLocation":"36007:5:96","nodeType":"VariableDeclaration","scope":52590,"src":"35999:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52576,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35999:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"35967:46:96"},"returnParameters":{"id":52581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52590,"src":"36035:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52579,"name":"bool","nodeType":"ElementaryTypeName","src":"36035:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36034:6:96"},"scope":52882,"src":"35940:183:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52600,"nodeType":"Block","src":"36255:59:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52596,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"36268:23:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":52597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36292:15:96","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":81001,"src":"36268:39:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36268:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52595,"id":52599,"nodeType":"Return","src":"36261:48:96"}]},"documentation":{"id":52591,"nodeType":"StructuredDocumentation","src":"36127:68:96","text":"@dev Returns the minimum amount of tokens needed to cast a vote."},"functionSelector":"62827733","id":52601,"implemented":true,"kind":"function","modifiers":[],"name":"votingThreshold","nameLocation":"36207:15:96","nodeType":"FunctionDefinition","parameters":{"id":52592,"nodeType":"ParameterList","parameters":[],"src":"36222:2:96"},"returnParameters":{"id":52595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52601,"src":"36246:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52593,"name":"uint256","nodeType":"ElementaryTypeName","src":"36246:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36245:9:96"},"scope":52882,"src":"36198:116:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52611,"nodeType":"Block","src":"36510:60:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52607,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"36523:24:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":52608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36548:15:96","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":82188,"src":"36523:40:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36523:42:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52606,"id":52610,"nodeType":"Return","src":"36516:49:96"}]},"documentation":{"id":52602,"nodeType":"StructuredDocumentation","src":"36384:66:96","text":"@dev Returns the current quorum numerator (latest checkpoint)."},"functionSelector":"a7713a70","id":52612,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"36462:15:96","nodeType":"FunctionDefinition","parameters":{"id":52603,"nodeType":"ParameterList","parameters":[],"src":"36477:2:96"},"returnParameters":{"id":52606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52605,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52612,"src":"36501:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52604,"name":"uint256","nodeType":"ElementaryTypeName","src":"36501:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36500:9:96"},"scope":52882,"src":"36453:117:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52625,"nodeType":"Block","src":"36713:69:96","statements":[{"expression":{"arguments":[{"id":52622,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52615,"src":"36767:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52620,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"36726:24:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":52621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36751:15:96","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":82252,"src":"36726:40:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36726:51:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52619,"id":52624,"nodeType":"Return","src":"36719:58:96"}]},"documentation":{"id":52613,"nodeType":"StructuredDocumentation","src":"36574:62:96","text":"@dev Returns the quorum numerator at a specific timepoint."},"functionSelector":"60c4247f","id":52626,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"36648:15:96","nodeType":"FunctionDefinition","parameters":{"id":52616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52615,"mutability":"mutable","name":"timepoint","nameLocation":"36672:9:96","nodeType":"VariableDeclaration","scope":52626,"src":"36664:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52614,"name":"uint256","nodeType":"ElementaryTypeName","src":"36664:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36663:19:96"},"returnParameters":{"id":52619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52618,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52626,"src":"36704:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52617,"name":"uint256","nodeType":"ElementaryTypeName","src":"36704:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36703:9:96"},"scope":52882,"src":"36639:143:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52636,"nodeType":"Block","src":"36901:62:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52632,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"36914:24:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":52633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36939:17:96","memberName":"quorumDenominator","nodeType":"MemberAccess","referencedDeclaration":82261,"src":"36914:42:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":52634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36914:44:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52631,"id":52635,"nodeType":"Return","src":"36907:51:96"}]},"documentation":{"id":52627,"nodeType":"StructuredDocumentation","src":"36786:53:96","text":"@dev Returns the quorum denominator (always 100)."},"functionSelector":"97c3d334","id":52637,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"36851:17:96","nodeType":"FunctionDefinition","parameters":{"id":52628,"nodeType":"ParameterList","parameters":[],"src":"36868:2:96"},"returnParameters":{"id":52631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52630,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52637,"src":"36892:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52629,"name":"uint256","nodeType":"ElementaryTypeName","src":"36892:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36891:9:96"},"scope":52882,"src":"36842:121:96","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":52647,"nodeType":"Block","src":"37104:60:96","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52643,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"37117:24:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":52644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37142:15:96","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":82188,"src":"37117:40:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":52645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37117:42:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52642,"id":52646,"nodeType":"Return","src":"37110:49:96"}]},"documentation":{"id":52638,"nodeType":"StructuredDocumentation","src":"36967:76:96","text":"@dev Alias for quorumNumerator() — returns the quorum as a percentage."},"functionSelector":"4fa76ec9","id":52648,"implemented":true,"kind":"function","modifiers":[],"name":"quorumPercentage","nameLocation":"37055:16:96","nodeType":"FunctionDefinition","parameters":{"id":52639,"nodeType":"ParameterList","parameters":[],"src":"37071:2:96"},"returnParameters":{"id":52642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52648,"src":"37095:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52640,"name":"uint256","nodeType":"ElementaryTypeName","src":"37095:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37094:9:96"},"scope":52882,"src":"37046:118:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71075],"body":{"id":52661,"nodeType":"Block","src":"37392:72:96","statements":[{"expression":{"arguments":[{"id":52658,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52651,"src":"37451:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52656,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"37405:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":52657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37428:22:96","memberName":"latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":80874,"src":"37405:45:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37405:54:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52655,"id":52660,"nodeType":"Return","src":"37398:61:96"}]},"documentation":{"id":52649,"nodeType":"StructuredDocumentation","src":"37246:62:96","text":"@dev Returns the last succeeded round for the given round."},"functionSelector":"30097377","id":52662,"implemented":true,"kind":"function","modifiers":[],"name":"latestSucceededRoundId","nameLocation":"37320:22:96","nodeType":"FunctionDefinition","parameters":{"id":52652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52651,"mutability":"mutable","name":"roundId","nameLocation":"37351:7:96","nodeType":"VariableDeclaration","scope":52662,"src":"37343:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52650,"name":"uint256","nodeType":"ElementaryTypeName","src":"37343:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37342:17:96"},"returnParameters":{"id":52655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52654,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52662,"src":"37383:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52653,"name":"uint256","nodeType":"ElementaryTypeName","src":"37383:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37382:9:96"},"scope":52882,"src":"37311:153:96","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":52675,"nodeType":"Block","src":"37590:61:96","statements":[{"expression":{"arguments":[{"id":52672,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52665,"src":"37638:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52670,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"37603:22:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":52671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37626:11:96","memberName":"isFinalized","nodeType":"MemberAccess","referencedDeclaration":80897,"src":"37603:34:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":52673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37603:43:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52669,"id":52674,"nodeType":"Return","src":"37596:50:96"}]},"documentation":{"id":52663,"nodeType":"StructuredDocumentation","src":"37468:52:96","text":"@dev Returns whether a round has been finalized."},"functionSelector":"33727c4d","id":52676,"implemented":true,"kind":"function","modifiers":[],"name":"isFinalized","nameLocation":"37532:11:96","nodeType":"FunctionDefinition","parameters":{"id":52666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52665,"mutability":"mutable","name":"roundId","nameLocation":"37552:7:96","nodeType":"VariableDeclaration","scope":52676,"src":"37544:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52664,"name":"uint256","nodeType":"ElementaryTypeName","src":"37544:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37543:17:96"},"returnParameters":{"id":52669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52668,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52676,"src":"37584:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52667,"name":"bool","nodeType":"ElementaryTypeName","src":"37584:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37583:6:96"},"scope":52882,"src":"37523:128:96","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[70884],"body":{"id":52690,"nodeType":"Block","src":"37779:48:96","statements":[{"expression":{"arguments":[{"arguments":[{"id":52686,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52679,"src":"37813:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52685,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"37799:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37799:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52684,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52284,"src":"37792:6:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37792:30:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":52683,"id":52689,"nodeType":"Return","src":"37785:37:96"}]},"documentation":{"id":52677,"nodeType":"StructuredDocumentation","src":"37655:51:96","text":" Returns the quorum for a given round"},"functionSelector":"59529edd","id":52691,"implemented":true,"kind":"function","modifiers":[],"name":"roundQuorum","nameLocation":"37718:11:96","nodeType":"FunctionDefinition","parameters":{"id":52680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52679,"mutability":"mutable","name":"roundId","nameLocation":"37738:7:96","nodeType":"VariableDeclaration","scope":52691,"src":"37730:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52678,"name":"uint256","nodeType":"ElementaryTypeName","src":"37730:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37729:17:96"},"returnParameters":{"id":52683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52682,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52691,"src":"37770:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52681,"name":"uint256","nodeType":"ElementaryTypeName","src":"37770:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37769:9:96"},"scope":52882,"src":"37709:118:96","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[70986],"body":{"id":52704,"nodeType":"Block","src":"38054:59:96","statements":[{"expression":{"arguments":[{"id":52701,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52694,"src":"38103:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52699,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"38067:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":52700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38083:19:96","memberName":"isAutoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":79580,"src":"38067:35:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":52702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38067:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52698,"id":52703,"nodeType":"Return","src":"38060:48:96"}]},"documentation":{"id":52692,"nodeType":"StructuredDocumentation","src":"37910:67:96","text":" @dev Checks if auto-voting is enabled for an account"},"functionSelector":"802d2709","id":52705,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabled","nameLocation":"37989:23:96","nodeType":"FunctionDefinition","parameters":{"id":52695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52694,"mutability":"mutable","name":"user","nameLocation":"38021:4:96","nodeType":"VariableDeclaration","scope":52705,"src":"38013:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52693,"name":"address","nodeType":"ElementaryTypeName","src":"38013:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38012:14:96"},"returnParameters":{"id":52698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52705,"src":"38048:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52696,"name":"bool","nodeType":"ElementaryTypeName","src":"38048:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38047:6:96"},"scope":52882,"src":"37980:133:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70994],"body":{"id":52731,"nodeType":"Block","src":"38390:246:96","statements":[{"assignments":[52714],"declarations":[{"constant":false,"id":52714,"mutability":"mutable","name":"lastEmissionBlock","nameLocation":"38404:17:96","nodeType":"VariableDeclaration","scope":52731,"src":"38396:25:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52713,"name":"uint256","nodeType":"ElementaryTypeName","src":"38396:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52721,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52715,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"38424:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":52716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38461:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"38424:65:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":52717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38424:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":52718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38499:10:96","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":82988,"src":"38424:85:96","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":52719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38517:17:96","memberName":"lastEmissionBlock","nodeType":"MemberAccess","referencedDeclaration":64292,"src":"38424:110:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":52720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38424:112:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38396:140:96"},{"expression":{"arguments":[{"id":52724,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52708,"src":"38596:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52727,"name":"lastEmissionBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52714,"src":"38612:17:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38605:6:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":52725,"name":"uint48","nodeType":"ElementaryTypeName","src":"38605:6:96","typeDescriptions":{}}},"id":52728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38605:25:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":52722,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"38549:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":52723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38565:30:96","memberName":"isAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79610,"src":"38549:46:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view returns (bool)"}},"id":52729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38549:82:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52712,"id":52730,"nodeType":"Return","src":"38542:89:96"}]},"documentation":{"id":52706,"nodeType":"StructuredDocumentation","src":"38117:179:96","text":" @dev Checks if auto-voting is enabled for an account at the start of the current cycle\n @notice Status changes mid-cycle will only take effect in the next cycle"},"functionSelector":"5fb26367","id":52732,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledInCurrentRound","nameLocation":"38308:37:96","nodeType":"FunctionDefinition","parameters":{"id":52709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52708,"mutability":"mutable","name":"account","nameLocation":"38354:7:96","nodeType":"VariableDeclaration","scope":52732,"src":"38346:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52707,"name":"address","nodeType":"ElementaryTypeName","src":"38346:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38345:17:96"},"returnParameters":{"id":52712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52711,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52732,"src":"38384:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52710,"name":"bool","nodeType":"ElementaryTypeName","src":"38384:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38383:6:96"},"scope":52882,"src":"38299:337:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71004],"body":{"id":52753,"nodeType":"Block","src":"38898:105:96","statements":[{"expression":{"arguments":[{"id":52744,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52735,"src":"38958:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":52748,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52737,"src":"38988:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52747,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"38974:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":52749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38974:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38967:6:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":52745,"name":"uint48","nodeType":"ElementaryTypeName","src":"38967:6:96","typeDescriptions":{}}},"id":52750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38967:30:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":52742,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"38911:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":52743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38927:30:96","memberName":"isAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79610,"src":"38911:46:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view returns (bool)"}},"id":52751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38911:87:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52741,"id":52752,"nodeType":"Return","src":"38904:94:96"}]},"documentation":{"id":52733,"nodeType":"StructuredDocumentation","src":"38640:153:96","text":" @dev Checks if auto-voting is enabled for an account at the start of a specific round\n @notice Useful function for frontend to consume"},"functionSelector":"3d4fd3c7","id":52754,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledForRound","nameLocation":"38805:31:96","nodeType":"FunctionDefinition","parameters":{"id":52738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52735,"mutability":"mutable","name":"account","nameLocation":"38845:7:96","nodeType":"VariableDeclaration","scope":52754,"src":"38837:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52734,"name":"address","nodeType":"ElementaryTypeName","src":"38837:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52737,"mutability":"mutable","name":"roundId","nameLocation":"38862:7:96","nodeType":"VariableDeclaration","scope":52754,"src":"38854:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52736,"name":"uint256","nodeType":"ElementaryTypeName","src":"38854:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38836:34:96"},"returnParameters":{"id":52741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52754,"src":"38892:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52739,"name":"bool","nodeType":"ElementaryTypeName","src":"38892:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38891:6:96"},"scope":52882,"src":"38796:207:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71014],"body":{"id":52770,"nodeType":"Block","src":"39272:84:96","statements":[{"expression":{"arguments":[{"id":52766,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52757,"src":"39332:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52767,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52759,"src":"39341:9:96","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":52764,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"39285:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":52765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39301:30:96","memberName":"isAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79610,"src":"39285:46:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view returns (bool)"}},"id":52768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39285:66:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52763,"id":52769,"nodeType":"Return","src":"39278:73:96"}]},"documentation":{"id":52755,"nodeType":"StructuredDocumentation","src":"39007:156:96","text":" @dev Check if auto-voting is enabled for an account at a specific\n @param account The address to check\n @param timepoint block number"},"functionSelector":"a461a94d","id":52771,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledAtTimepoint","nameLocation":"39175:34:96","nodeType":"FunctionDefinition","parameters":{"id":52760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52757,"mutability":"mutable","name":"account","nameLocation":"39218:7:96","nodeType":"VariableDeclaration","scope":52771,"src":"39210:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52756,"name":"address","nodeType":"ElementaryTypeName","src":"39210:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52759,"mutability":"mutable","name":"timepoint","nameLocation":"39234:9:96","nodeType":"VariableDeclaration","scope":52771,"src":"39227:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":52758,"name":"uint48","nodeType":"ElementaryTypeName","src":"39227:6:96","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"39209:35:96"},"returnParameters":{"id":52763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52762,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52771,"src":"39266:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52761,"name":"bool","nodeType":"ElementaryTypeName","src":"39266:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39265:6:96"},"scope":52882,"src":"39166:190:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52785,"nodeType":"Block","src":"39514:67:96","statements":[{"expression":{"arguments":[{"id":52782,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52774,"src":"39568:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52780,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"39527:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":52781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39543:24:96","memberName":"getUserVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":79634,"src":"39527:40:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) view returns (bytes32[] memory)"}},"id":52783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39527:49:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":52779,"id":52784,"nodeType":"Return","src":"39520:56:96"}]},"documentation":{"id":52772,"nodeType":"StructuredDocumentation","src":"39360:61:96","text":" @dev Get the voting preferences for an account"},"functionSelector":"412caf0b","id":52786,"implemented":true,"kind":"function","modifiers":[],"name":"getUserVotingPreferences","nameLocation":"39433:24:96","nodeType":"FunctionDefinition","parameters":{"id":52775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52774,"mutability":"mutable","name":"account","nameLocation":"39466:7:96","nodeType":"VariableDeclaration","scope":52786,"src":"39458:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52773,"name":"address","nodeType":"ElementaryTypeName","src":"39458:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39457:17:96"},"returnParameters":{"id":52779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52786,"src":"39496:16:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":52776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39496:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":52777,"nodeType":"ArrayTypeName","src":"39496:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"39495:18:96"},"scope":52882,"src":"39424:157:96","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71123],"body":{"id":52809,"nodeType":"Block","src":"39765:241:96","statements":[{"assignments":[52793],"declarations":[{"constant":false,"id":52793,"mutability":"mutable","name":"lastEmissionBlock","nameLocation":"39779:17:96","nodeType":"VariableDeclaration","scope":52809,"src":"39771:25:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52792,"name":"uint256","nodeType":"ElementaryTypeName","src":"39771:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52800,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52794,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"39799:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":52795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39836:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"39799:65:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":52796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39799:67:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":52797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39874:10:96","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":82988,"src":"39799:85:96","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":52798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39892:17:96","memberName":"lastEmissionBlock","nodeType":"MemberAccess","referencedDeclaration":64292,"src":"39799:110:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":52799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39799:112:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39771:140:96"},{"expression":{"arguments":[{"arguments":[{"id":52805,"name":"lastEmissionBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52793,"src":"39982:17:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39975:6:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":52803,"name":"uint48","nodeType":"ElementaryTypeName","src":"39975:6:96","typeDescriptions":{}}},"id":52806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39975:25:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":52801,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"39924:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":52802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39940:34:96","memberName":"getTotalAutoVotingUsersAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79658,"src":"39924:50:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view returns (uint208)"}},"id":52807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39924:77:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":52791,"id":52808,"nodeType":"Return","src":"39917:84:96"}]},"documentation":{"id":52787,"nodeType":"StructuredDocumentation","src":"39585:100:96","text":" @dev Get the total number of users who enabled auto-voting at the last emission block"},"functionSelector":"a022756b","id":52810,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtRoundStart","nameLocation":"39697:35:96","nodeType":"FunctionDefinition","parameters":{"id":52788,"nodeType":"ParameterList","parameters":[],"src":"39732:2:96"},"returnParameters":{"id":52791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52810,"src":"39756:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":52789,"name":"uint208","nodeType":"ElementaryTypeName","src":"39756:7:96","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"39755:9:96"},"scope":52882,"src":"39688:318:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52823,"nodeType":"Block","src":"40201:79:96","statements":[{"expression":{"arguments":[{"id":52820,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52813,"src":"40265:9:96","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":52818,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"40214:15:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":52819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40230:34:96","memberName":"getTotalAutoVotingUsersAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79658,"src":"40214:50:96","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view returns (uint208)"}},"id":52821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40214:61:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":52817,"id":52822,"nodeType":"Return","src":"40207:68:96"}]},"documentation":{"id":52811,"nodeType":"StructuredDocumentation","src":"40010:96:96","text":" @dev Get the total number of users who enabled autovoting at a specific timepoint"},"functionSelector":"059e952b","id":52824,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtTimepoint","nameLocation":"40118:34:96","nodeType":"FunctionDefinition","parameters":{"id":52814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52813,"mutability":"mutable","name":"timepoint","nameLocation":"40160:9:96","nodeType":"VariableDeclaration","scope":52824,"src":"40153:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":52812,"name":"uint48","nodeType":"ElementaryTypeName","src":"40153:6:96","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"40152:18:96"},"returnParameters":{"id":52817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52824,"src":"40192:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":52815,"name":"uint208","nodeType":"ElementaryTypeName","src":"40192:7:96","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"40191:9:96"},"scope":52882,"src":"40109:171:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52836,"nodeType":"Block","src":"40490:97:96","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52831,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"40503:29:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":52832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40533:28:96","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"40503:58:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":52833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40503:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":52834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40564:18:96","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"40503:79:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"functionReturnParameters":52830,"id":52835,"nodeType":"Return","src":"40496:86:96"}]},"documentation":{"id":52825,"nodeType":"StructuredDocumentation","src":"40362:55:96","text":" @dev Get the NavigatorRegistry contract."},"functionSelector":"e125f74e","id":52837,"implemented":true,"kind":"function","modifiers":[],"name":"navigatorRegistry","nameLocation":"40429:17:96","nodeType":"FunctionDefinition","parameters":{"id":52826,"nodeType":"ParameterList","parameters":[],"src":"40446:2:96"},"returnParameters":{"id":52830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52829,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52837,"src":"40470:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":52828,"nodeType":"UserDefinedTypeName","pathNode":{"id":52827,"name":"INavigatorRegistry","nameLocations":["40470:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"40470:18:96"},"referencedDeclaration":66638,"src":"40470:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"40469:20:96"},"scope":52882,"src":"40420:167:96","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":52856,"nodeType":"Block","src":"40911:49:96","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":52848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40932:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"id":52851,"name":"roundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52841,"src":"40943:10:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":52850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40937:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":52849,"name":"uint8","nodeType":"ElementaryTypeName","src":"40937:5:96","typeDescriptions":{}}},"id":52852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40937:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"40932:22:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40924:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":52846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40924:7:96","typeDescriptions":{}}},"id":52854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40924:31:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":52845,"id":52855,"nodeType":"Return","src":"40917:38:96"}]},"documentation":{"id":52838,"nodeType":"StructuredDocumentation","src":"40658:167:96","text":" @dev Encodes a `RoundState` into a `bytes32` representation where each bit enabled corresponds to\n the underlying position in the `RoundState` enum."},"id":52857,"implemented":true,"kind":"function","modifiers":[],"name":"_encodeStateBitmap","nameLocation":"40837:18:96","nodeType":"FunctionDefinition","parameters":{"id":52842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52841,"mutability":"mutable","name":"roundState","nameLocation":"40867:10:96","nodeType":"VariableDeclaration","scope":52857,"src":"40856:21:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":52840,"nodeType":"UserDefinedTypeName","pathNode":{"id":52839,"name":"RoundState","nameLocations":["40856:10:96"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"40856:10:96"},"referencedDeclaration":70612,"src":"40856:10:96","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"}],"src":"40855:23:96"},"returnParameters":{"id":52845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52857,"src":"40902:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40902:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"40901:9:96"},"scope":52882,"src":"40828:132:96","stateMutability":"pure","virtual":false,"visibility":"internal"},{"baseFunctions":[91,4331,5960],"body":{"id":52880,"nodeType":"Block","src":"41109:117:96","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":52878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":52873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52868,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52859,"src":"41122:11:96","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":52870,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"41142:26:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}],"id":52869,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"41137:4:96","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":52871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41137:32:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IXAllocationVotingGovernor_$71124","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":52872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41170:11:96","memberName":"interfaceId","nodeType":"MemberAccess","src":"41137:44:96","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"41122:59:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":52876,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52859,"src":"41209:11:96","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":52874,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"41185:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVotingV9_$52882_$","typeString":"type(contract super XAllocationVotingV9)"}},"id":52875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41191:17:96","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":91,"src":"41185:23:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":52877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41185:36:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"41122:99:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":52867,"id":52879,"nodeType":"Return","src":"41115:106:96"}]},"functionSelector":"01ffc9a7","id":52881,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"40973:17:96","nodeType":"FunctionDefinition","overrides":{"id":52864,"nodeType":"OverrideSpecifier","overrides":[{"id":52861,"name":"AccessControlUpgradeable","nameLocations":["41040:24:96"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"41040:24:96"},{"id":52862,"name":"IERC165","nameLocations":["41066:7:96"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"41066:7:96"},{"id":52863,"name":"ERC165Upgradeable","nameLocations":["41075:17:96"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"41075:17:96"}],"src":"41031:62:96"},"parameters":{"id":52860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52859,"mutability":"mutable","name":"interfaceId","nameLocation":"41003:11:96","nodeType":"VariableDeclaration","scope":52881,"src":"40996:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":52858,"name":"bytes4","nodeType":"ElementaryTypeName","src":"40996:6:96","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"40990:28:96"},"returnParameters":{"id":52867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52881,"src":"41103:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52865,"name":"bool","nodeType":"ElementaryTypeName","src":"41103:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41102:6:96"},"scope":52882,"src":"40964:262:96","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":52883,"src":"7179:34049:96","usedErrors":[1495,1498,1759,1764,4342,4345,4738,4751,5344,5347,7025,70617,70622,70627,70637,70642,70647,70654,70657,70660,70667,70672,70677,70682,70687,70692,70697,70702,70707,70714,70719,70726],"usedEvents":[1503,4354,4363,4372,4717,70739,70753,70766,70779,70786,70794,70809,70818,70831]}],"src":"1195:40034:96"},"id":96},"contracts/governance/B3TRGovernor.sol":{"ast":{"absolutePath":"contracts/governance/B3TRGovernor.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"Address":[5584],"B3TRGovernor":[55137],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"GovernorClockLogic":[55213],"GovernorCommunityExecutionLogic":[56031],"GovernorConfigurator":[57091],"GovernorDepositLogic":[57642],"GovernorFunctionRestrictionsLogic":[57873],"GovernorGovernanceLogic":[57980],"GovernorProposalLogic":[60252],"GovernorQuorumLogic":[60759],"GovernorStateLogic":[61096],"GovernorStorageTypes":[61306],"GovernorTypes":[61442],"GovernorVotesLogic":[62628],"IAccessControl":[4415],"IB3TR":[62888],"IB3TRGovernor":[63919],"IERC1155Receiver":[5058],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC721Receiver":[5271],"IGalaxyMember":[65196],"IGrantsManager":[65639],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"ITreasury":[67241],"IVOT3":[67719],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"PausableUpgradeable":[4163],"TimelockControllerUpgradeable":[1478],"UUPSUpgradeable":[1914]},"id":55138,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":52884,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1194:23:97"},{"absolutePath":"contracts/governance/libraries/GovernorProposalLogic.sol","file":"./libraries/GovernorProposalLogic.sol","id":52886,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":60253,"src":"1219:78:97","symbolAliases":[{"foreign":{"id":52885,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"1228:21:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStateLogic.sol","file":"./libraries/GovernorStateLogic.sol","id":52888,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":61097,"src":"1298:72:97","symbolAliases":[{"foreign":{"id":52887,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"1307:18:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorVotesLogic.sol","file":"./libraries/GovernorVotesLogic.sol","id":52890,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":62629,"src":"1371:72:97","symbolAliases":[{"foreign":{"id":52889,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"1380:18:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorQuorumLogic.sol","file":"./libraries/GovernorQuorumLogic.sol","id":52892,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":60760,"src":"1444:74:97","symbolAliases":[{"foreign":{"id":52891,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"1453:19:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorDepositLogic.sol","file":"./libraries/GovernorDepositLogic.sol","id":52894,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":57643,"src":"1519:76:97","symbolAliases":[{"foreign":{"id":52893,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"1528:20:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./libraries/GovernorStorageTypes.sol","id":52896,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":61307,"src":"1596:76:97","symbolAliases":[{"foreign":{"id":52895,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1605:20:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorClockLogic.sol","file":"./libraries/GovernorClockLogic.sol","id":52898,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":55214,"src":"1673:72:97","symbolAliases":[{"foreign":{"id":52897,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"1682:18:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol","file":"./libraries/GovernorFunctionRestrictionsLogic.sol","id":52900,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":57874,"src":"1746:102:97","symbolAliases":[{"foreign":{"id":52899,"name":"GovernorFunctionRestrictionsLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57873,"src":"1755:33:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorGovernanceLogic.sol","file":"./libraries/GovernorGovernanceLogic.sol","id":52902,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":57981,"src":"1849:82:97","symbolAliases":[{"foreign":{"id":52901,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"1858:23:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorConfigurator.sol","file":"./libraries/GovernorConfigurator.sol","id":52904,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":57092,"src":"1932:76:97","symbolAliases":[{"foreign":{"id":52903,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"1941:20:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol","file":"./libraries/GovernorCommunityExecutionLogic.sol","id":52906,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":56032,"src":"2009:98:97","symbolAliases":[{"foreign":{"id":52905,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"2018:31:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./libraries/GovernorTypes.sol","id":52908,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":61443,"src":"2108:62:97","symbolAliases":[{"foreign":{"id":52907,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"2117:13:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/ITreasury.sol","file":"../interfaces/ITreasury.sol","id":52910,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":67242,"src":"2171:56:97","symbolAliases":[{"foreign":{"id":52909,"name":"ITreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67241,"src":"2180:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../interfaces/IVoterRewards.sol","id":52912,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":69093,"src":"2228:64:97","symbolAliases":[{"foreign":{"id":52911,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"2237:13:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../interfaces/IVOT3.sol","id":52914,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":67720,"src":"2293:48:97","symbolAliases":[{"foreign":{"id":52913,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"2302:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../interfaces/IB3TR.sol","id":52916,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":62889,"src":"2342:48:97","symbolAliases":[{"foreign":{"id":52915,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"2351:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../interfaces/IB3TRGovernor.sol","id":52918,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":63920,"src":"2391:64:97","symbolAliases":[{"foreign":{"id":52917,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2400:13:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../interfaces/IXAllocationVotingGovernor.sol","id":52920,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":71125,"src":"2456:90:97","symbolAliases":[{"foreign":{"id":52919,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"2465:26:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","id":52922,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":1479,"src":"2547:129:97","symbolAliases":[{"foreign":{"id":52921,"name":"TimelockControllerUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1478,"src":"2556:29:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":52924,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":5962,"src":"2677:82:97","symbolAliases":[{"foreign":{"id":52923,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"2686:7:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","file":"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","id":52926,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":5059,"src":"2760:94:97","symbolAliases":[{"foreign":{"id":52925,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5058,"src":"2769:16:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","id":52928,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":5272,"src":"2855:91:97","symbolAliases":[{"foreign":{"id":52927,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5271,"src":"2864:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","file":"@openzeppelin/contracts/utils/Address.sol","id":52930,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":5585,"src":"2947:68:97","symbolAliases":[{"foreign":{"id":52929,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"2956:7:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","id":52931,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":4164,"src":"3016:75:97","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":52932,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":363,"src":"3092:81:97","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":52933,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":1915,"src":"3174:77:97","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../interfaces/IVeBetterPassport.sol","id":52935,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":68602,"src":"3252:72:97","symbolAliases":[{"foreign":{"id":52934,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"3261:17:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../interfaces/IGrantsManager.sol","id":52937,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":65640,"src":"3325:66:97","symbolAliases":[{"foreign":{"id":52936,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"3334:14:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../interfaces/IGalaxyMember.sol","id":52939,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":65197,"src":"3392:64:97","symbolAliases":[{"foreign":{"id":52938,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"3401:13:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../interfaces/INavigatorRegistry.sol","id":52941,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":66639,"src":"3457:74:97","symbolAliases":[{"foreign":{"id":52940,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"3466:18:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../interfaces/IRelayerRewardsPool.sol","id":52943,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55138,"sourceUnit":67118,"src":"3532:76:97","symbolAliases":[{"foreign":{"id":52942,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"3541:19:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":52945,"name":"IB3TRGovernor","nameLocations":["7666:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"7666:13:97"},"id":52946,"nodeType":"InheritanceSpecifier","src":"7666:13:97"},{"baseName":{"id":52947,"name":"AccessControlUpgradeable","nameLocations":["7681:24:97"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"7681:24:97"},"id":52948,"nodeType":"InheritanceSpecifier","src":"7681:24:97"},{"baseName":{"id":52949,"name":"UUPSUpgradeable","nameLocations":["7707:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"7707:15:97"},"id":52950,"nodeType":"InheritanceSpecifier","src":"7707:15:97"},{"baseName":{"id":52951,"name":"PausableUpgradeable","nameLocations":["7724:19:97"],"nodeType":"IdentifierPath","referencedDeclaration":4163,"src":"7724:19:97"},"id":52952,"nodeType":"InheritanceSpecifier","src":"7724:19:97"}],"canonicalName":"B3TRGovernor","contractDependencies":[],"contractKind":"contract","documentation":{"id":52944,"nodeType":"StructuredDocumentation","src":"3610:4030:97","text":" @title B3TRGovernor\n @notice This contract is the main governance contract for the VeBetterDAO ecosystem.\n Anyone can create a proposal to both change the state of the contract, to execute a transaction\n on the timelock or to ask for a vote from the community without performing any onchain action.\n In order for the proposal to become active, the community needs to deposit a certain amount of VOT3 tokens.\n This is used as a heat check for the proposal, and funds are returned to the depositors after vote is concluded.\n Votes for proposals start periodically, based on the allocation rounds (see xAllocationVoting contract), and the round\n in which the proposal should be active is specified by the proposer during the proposal creation.\n A minimum amount of voting power is required in order to vote on a proposal.\n The voting power is calculated through the quadratic vote formula based on the amount of VOT3 tokens held by the\n voter at the block when the proposal becomes active.\n Once a proposal succeeds, it can be queued and executed. The execution is done through the timelock contract.\n The contract is upgradeable and uses the UUPS pattern.\n @dev The contract is upgradeable and uses the UUPS pattern. All logic is stored in libraries.\n ------------------ VERSION 2 ------------------\n - Replaced onlyGovernance modifier with onlyRoleOrGovernance which checks if the caller has the DEFAULT_ADMIN_ROLE role or if the function is called through a governance proposal\n ------------------ VERSION 3 ------------------\n - Added the ability to toggle the quadratic voting mechanism on and off\n ------------------ VERSION 4 ------------------\n - Integrated VeBetterPassport contract\n ------------------ VERSION 5 ------------------\n - Difference from V4: Updated all libraries to use new version of IVoterRewards that supports GM Upgrades.\n ------------------ VERSION 6 ------------------\n - Updated all libraries to use new version of IVoterRewards that supports GM Rewards Pool.\n ------------------ VERSION 7 ------------------\n - Added proposal type concept, STANDARD (0n) for existing proposals and GRANT (1n) for new grants proposals.\n - Added deposit threshold cap based on proposal type.\n ------------------ VERSION 8 ------------------\n - No changes from V7 (placeholder for future reference).\n ------------------ VERSION 9 ------------------\n - Added reason parameter to cancel function for providing cancellation rationale.\n - Added ProposalCanceledWithReason event.\n ------------------ VERSION 10 ------------------\n - Refactored from module inheritance to library architecture for contract size optimization\n - Added navigator delegation voting via castNavigatorVote(proposalId, citizen)\n - New storage: GovernorStorage.navigatorRegistry (INavigatorRegistry), relayerRewardsPool (IRelayerRewardsPool),\n   proposalsForRound mapping (round-indexed proposal tracking for relayer expected-actions)\n - New events: NavigatorGovernanceVoteCast\n - New errors: NotDelegatedToNavigator, NavigatorDecisionNotSet (in GovernorVotesLogic)\n - New initializer: initializeV10(INavigatorRegistry, IRelayerRewardsPool, uint256 governanceSkipWindowBlocks) — reinitializer(8)\n - governanceSkipWindowBlocks moved from constant to storage (GovernorStorage), configurable per env\n - setGovernanceSkipWindowBlocks(uint256) setter via GovernorConfigurator\n - setNavigatorRegistry() / setRelayerRewardsPool() setters via GovernorConfigurator\n - GovernorVotesLogic.getVotes() returns delegated amount when citizen has active navigator at snapshot\n - Dead navigator (deactivated/exiting) = delegation void, returns full VOT3 balance\n - castNavigatorVote uses snapshot-based navigator lookup (getNavigatorAtTimepoint)\n - castVote double-vote prevention: blocks manual voting if delegated at proposal snapshot with alive navigator\n - Uses checkpointed citizenToNavigator and isDeactivatedAtTimepoint for snapshot consistency"},"fullyImplemented":true,"id":55137,"linearizedBaseContracts":[55137,4163,1914,4566,362,4332,63919,4552,5961,4415,3987,1732],"name":"B3TRGovernor","nameLocation":"7650:12:97","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":52953,"nodeType":"StructuredDocumentation","src":"7748:81:97","text":"@notice The role that can whitelist allowed functions in the propose function"},"functionSelector":"bd5aefea","id":52958,"mutability":"constant","name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","nameLocation":"7856:32:97","nodeType":"VariableDeclaration","scope":55137,"src":"7832:104:97","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7832:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"474f5645524e4f525f46554e4354494f4e535f53455454494e47535f524f4c45","id":52956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7901:34:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_87e72189a3ea069796dab5c7d3826581f957cb5c882c1e6dae7acacec49ca48e","typeString":"literal_string \"GOVERNOR_FUNCTIONS_SETTINGS_ROLE\""},"value":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_87e72189a3ea069796dab5c7d3826581f957cb5c882c1e6dae7acacec49ca48e","typeString":"literal_string \"GOVERNOR_FUNCTIONS_SETTINGS_ROLE\""}],"id":52955,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7891:9:97","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7891:45:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":52959,"nodeType":"StructuredDocumentation","src":"7940:48:97","text":"@notice The role that can pause the contract"},"functionSelector":"e63ab1e9","id":52964,"mutability":"constant","name":"PAUSER_ROLE","nameLocation":"8015:11:97","nodeType":"VariableDeclaration","scope":55137,"src":"7991:62:97","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7991:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5041555345525f524f4c45","id":52962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8039:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""},"value":"PAUSER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a","typeString":"literal_string \"PAUSER_ROLE\""}],"id":52961,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8029:9:97","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8029:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":52965,"nodeType":"StructuredDocumentation","src":"8057:62:97","text":"@notice The role that can set external contracts addresses"},"functionSelector":"952f2133","id":52970,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"8146:30:97","nodeType":"VariableDeclaration","scope":55137,"src":"8122:100:97","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8122:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":52968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8189:32:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":52967,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8179:9:97","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8179:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":52971,"nodeType":"StructuredDocumentation","src":"8226:48:97","text":"@notice The role that can execute a proposal"},"functionSelector":"36d23a4c","id":52976,"mutability":"constant","name":"PROPOSAL_EXECUTOR_ROLE","nameLocation":"8301:22:97","nodeType":"VariableDeclaration","scope":55137,"src":"8277:84:97","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8277:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"50524f504f53414c5f4558454355544f525f524f4c45","id":52974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8336:24:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6575630003027b0b2fc4a48bc39dbc3eba9cf56588c696a6f5717e167a0ce731","typeString":"literal_string \"PROPOSAL_EXECUTOR_ROLE\""},"value":"PROPOSAL_EXECUTOR_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6575630003027b0b2fc4a48bc39dbc3eba9cf56588c696a6f5717e167a0ce731","typeString":"literal_string \"PROPOSAL_EXECUTOR_ROLE\""}],"id":52973,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8326:9:97","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8326:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":52977,"nodeType":"StructuredDocumentation","src":"8365:76:97","text":"@notice The role that can mark a proposal in development/completed state"},"functionSelector":"fd4fd6e1","id":52982,"mutability":"constant","name":"PROPOSAL_STATE_MANAGER_ROLE","nameLocation":"8468:27:97","nodeType":"VariableDeclaration","scope":55137,"src":"8444:94:97","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8444:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"50524f504f53414c5f53544154455f4d414e414745525f524f4c45","id":52980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8508:29:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_320cc91c16c42272679cab4152f867e0cd4a98f53556da2d53b4e515be8c7796","typeString":"literal_string \"PROPOSAL_STATE_MANAGER_ROLE\""},"value":"PROPOSAL_STATE_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_320cc91c16c42272679cab4152f867e0cd4a98f53556da2d53b4e515be8c7796","typeString":"literal_string \"PROPOSAL_STATE_MANAGER_ROLE\""}],"id":52979,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8498:9:97","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8498:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"body":{"id":52989,"nodeType":"Block","src":"8608:33:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":52986,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"8614:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":52987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52988,"nodeType":"ExpressionStatement","src":"8614:22:97"}]},"documentation":{"id":52983,"nodeType":"StructuredDocumentation","src":"8543:48:97","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":52990,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":52984,"nodeType":"ParameterList","parameters":[],"src":"8605:2:97"},"returnParameters":{"id":52985,"nodeType":"ParameterList","parameters":[],"src":"8608:0:97"},"scope":55137,"src":"8594:47:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":53052,"nodeType":"Block","src":"8968:429:97","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":53017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":53011,"name":"_navigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52994,"src":"8990:18:97","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":53010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8982:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53009,"name":"address","nodeType":"ElementaryTypeName","src":"8982:7:97","typeDescriptions":{}}},"id":53012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8982:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":53015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9021: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":53014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9013:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53013,"name":"address","nodeType":"ElementaryTypeName","src":"9013:7:97","typeDescriptions":{}}},"id":53016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9013:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8982:41:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f723a20696e76616c6964206e6176696761746f72207265676973747279","id":53018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9025:42:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7fa5a327e1b5b4342bcb5efc01693de1812f98a642e298618e3f3416bfc4a5ce","typeString":"literal_string \"B3TRGovernor: invalid navigator registry\""},"value":"B3TRGovernor: invalid navigator registry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7fa5a327e1b5b4342bcb5efc01693de1812f98a642e298618e3f3416bfc4a5ce","typeString":"literal_string \"B3TRGovernor: invalid navigator registry\""}],"id":53008,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8974:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8974:94:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53020,"nodeType":"ExpressionStatement","src":"8974:94:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":53030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":53024,"name":"_relayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52997,"src":"9090:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":53023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9082:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53022,"name":"address","nodeType":"ElementaryTypeName","src":"9082:7:97","typeDescriptions":{}}},"id":53025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9082:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":53028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9122: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":53027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9114:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53026,"name":"address","nodeType":"ElementaryTypeName","src":"9114:7:97","typeDescriptions":{}}},"id":53029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9114:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9082:42:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f723a20696e76616c69642072656c61796572207265776172647320706f6f6c","id":53031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9126:44:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_73e11a8abbc9a7177ad14dda9ae7eaada948d41b4e3b2d05d3d7d441fafa03de","typeString":"literal_string \"B3TRGovernor: invalid relayer rewards pool\""},"value":"B3TRGovernor: invalid relayer rewards pool"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_73e11a8abbc9a7177ad14dda9ae7eaada948d41b4e3b2d05d3d7d441fafa03de","typeString":"literal_string \"B3TRGovernor: invalid relayer rewards pool\""}],"id":53021,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9074:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9074:97:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53033,"nodeType":"ExpressionStatement","src":"9074:97:97"},{"expression":{"arguments":[{"id":53037,"name":"_navigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52994,"src":"9219:18:97","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"expression":{"id":53034,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"9177:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":53036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9198:20:97","memberName":"setNavigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":56247,"src":"9177:41:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_INavigatorRegistry_$66638_$returns$__$","typeString":"function (contract INavigatorRegistry)"}},"id":53038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9177:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53039,"nodeType":"ExpressionStatement","src":"9177:61:97"},{"expression":{"arguments":[{"id":53043,"name":"_relayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52997,"src":"9287:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"expression":{"id":53040,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"9244:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":53042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9265:21:97","memberName":"setRelayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":56295,"src":"9244:42:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IRelayerRewardsPool_$67117_$returns$__$","typeString":"function (contract IRelayerRewardsPool)"}},"id":53044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9244:63:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53045,"nodeType":"ExpressionStatement","src":"9244:63:97"},{"expression":{"arguments":[{"id":53049,"name":"_governanceSkipWindowBlocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52999,"src":"9364:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53046,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"9313:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":53048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9334:29:97","memberName":"setGovernanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":56330,"src":"9313:50:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":53050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9313:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53051,"nodeType":"ExpressionStatement","src":"9313:79:97"}]},"documentation":{"id":52991,"nodeType":"StructuredDocumentation","src":"8645:97:97","text":"@notice Initialize V10: set NavigatorRegistry, RelayerRewardsPool, and governance skip window"},"functionSelector":"a832918c","id":53053,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":53002,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"8931:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":53003,"kind":"modifierInvocation","modifierName":{"id":53001,"name":"onlyRoleOrGovernance","nameLocations":["8910:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"8910:20:97"},"nodeType":"ModifierInvocation","src":"8910:40:97"},{"arguments":[{"hexValue":"38","id":53005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8965:1:97","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"}],"id":53006,"kind":"modifierInvocation","modifierName":{"id":53004,"name":"reinitializer","nameLocations":["8951:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"8951:13:97"},"nodeType":"ModifierInvocation","src":"8951:16:97"}],"name":"initializeV10","nameLocation":"8754:13:97","nodeType":"FunctionDefinition","parameters":{"id":53000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52994,"mutability":"mutable","name":"_navigatorRegistry","nameLocation":"8792:18:97","nodeType":"VariableDeclaration","scope":53053,"src":"8773:37:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":52993,"nodeType":"UserDefinedTypeName","pathNode":{"id":52992,"name":"INavigatorRegistry","nameLocations":["8773:18:97"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"8773:18:97"},"referencedDeclaration":66638,"src":"8773:18:97","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"},{"constant":false,"id":52997,"mutability":"mutable","name":"_relayerRewardsPool","nameLocation":"8836:19:97","nodeType":"VariableDeclaration","scope":53053,"src":"8816:39:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":52996,"nodeType":"UserDefinedTypeName","pathNode":{"id":52995,"name":"IRelayerRewardsPool","nameLocations":["8816:19:97"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"8816:19:97"},"referencedDeclaration":67117,"src":"8816:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"},{"constant":false,"id":52999,"mutability":"mutable","name":"_governanceSkipWindowBlocks","nameLocation":"8869:27:97","nodeType":"VariableDeclaration","scope":53053,"src":"8861:35:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52998,"name":"uint256","nodeType":"ElementaryTypeName","src":"8861:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8767:133:97"},"returnParameters":{"id":53007,"nodeType":"ParameterList","parameters":[],"src":"8968:0:97"},"scope":55137,"src":"8745:652:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":53109,"nodeType":"Block","src":"9946:362:97","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":53077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":53071,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53057,"src":"9968:9:97","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}],"id":53070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9960:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53069,"name":"address","nodeType":"ElementaryTypeName","src":"9960:7:97","typeDescriptions":{}}},"id":53072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9960:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":53075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9990: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":53074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9982:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53073,"name":"address","nodeType":"ElementaryTypeName","src":"9982:7:97","typeDescriptions":{}}},"id":53076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9982:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9960:32:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f723a20696e76616c6964207472656173757279","id":53078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9994:32:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_350fdfac125644b2824c59d7d47204e58a1ff9974ddef7f0ab890cde9c8b8a56","typeString":"literal_string \"B3TRGovernor: invalid treasury\""},"value":"B3TRGovernor: invalid treasury"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_350fdfac125644b2824c59d7d47204e58a1ff9974ddef7f0ab890cde9c8b8a56","typeString":"literal_string \"B3TRGovernor: invalid treasury\""}],"id":53068,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9952:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9952:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53080,"nodeType":"ExpressionStatement","src":"9952:75:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53082,"name":"_maxContributorsPerProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53059,"src":"10041:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":53083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10071:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10041:31:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f723a20696e76616c6964206d617820636f6e7472696275746f7273","id":53085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10074:40:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c6d35768718cf2e8d62813ba5806cbd6186e80baa76d90c88ed91ccd770cefc","typeString":"literal_string \"B3TRGovernor: invalid max contributors\""},"value":"B3TRGovernor: invalid max contributors"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6c6d35768718cf2e8d62813ba5806cbd6186e80baa76d90c88ed91ccd770cefc","typeString":"literal_string \"B3TRGovernor: invalid max contributors\""}],"id":53081,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10033:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10033:82:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53087,"nodeType":"ExpressionStatement","src":"10033:82:97"},{"assignments":[53092],"declarations":[{"constant":false,"id":53092,"mutability":"mutable","name":"$","nameLocation":"10166:1:97","nodeType":"VariableDeclaration","scope":53109,"src":"10121:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":53091,"nodeType":"UserDefinedTypeName","pathNode":{"id":53090,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["10121:20:97","10142:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"10121:36:97"},"referencedDeclaration":61305,"src":"10121:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":53096,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53093,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"10170:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10191:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"10170:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10170:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10121:90:97"},{"expression":{"id":53101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":53097,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53092,"src":"10217:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10219:8:97","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":61273,"src":"10217:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":53100,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53057,"src":"10230:9:97","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"src":"10217:22:97","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"id":53102,"nodeType":"ExpressionStatement","src":"10217:22:97"},{"expression":{"id":53107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":53103,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53092,"src":"10245:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10247:26:97","memberName":"maxContributorsPerProposal","nodeType":"MemberAccess","referencedDeclaration":61275,"src":"10245:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":53106,"name":"_maxContributorsPerProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53059,"src":"10276:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10245:58:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":53108,"nodeType":"ExpressionStatement","src":"10245:58:97"}]},"documentation":{"id":53054,"nodeType":"StructuredDocumentation","src":"9401:382:97","text":"@notice Initialize V11: Community Execution Framework\n @dev Records the Treasury reference used to pay the registered payee and the maximum\n      number of contributor handles allowed per proposal.\n @param _treasury The Treasury contract from which B3TR payouts are pulled.\n @param _maxContributorsPerProposal Hard cap on the contributors array per proposal."},"functionSelector":"33970a9d","id":53110,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":53062,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"9909:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":53063,"kind":"modifierInvocation","modifierName":{"id":53061,"name":"onlyRoleOrGovernance","nameLocations":["9888:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"9888:20:97"},"nodeType":"ModifierInvocation","src":"9888:40:97"},{"arguments":[{"hexValue":"39","id":53065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9943:1:97","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"}],"id":53066,"kind":"modifierInvocation","modifierName":{"id":53064,"name":"reinitializer","nameLocations":["9929:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"9929:13:97"},"nodeType":"ModifierInvocation","src":"9929:16:97"}],"name":"initializeV11","nameLocation":"9795:13:97","nodeType":"FunctionDefinition","parameters":{"id":53060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53057,"mutability":"mutable","name":"_treasury","nameLocation":"9824:9:97","nodeType":"VariableDeclaration","scope":53110,"src":"9814:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"},"typeName":{"id":53056,"nodeType":"UserDefinedTypeName","pathNode":{"id":53055,"name":"ITreasury","nameLocations":["9814:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":67241,"src":"9814:9:97"},"referencedDeclaration":67241,"src":"9814:9:97","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"visibility":"internal"},{"constant":false,"id":53059,"mutability":"mutable","name":"_maxContributorsPerProposal","nameLocation":"9847:27:97","nodeType":"VariableDeclaration","scope":53110,"src":"9839:35:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53058,"name":"uint256","nodeType":"ElementaryTypeName","src":"9839:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9808:70:97"},"returnParameters":{"id":53067,"nodeType":"ParameterList","parameters":[],"src":"9946:0:97"},"scope":55137,"src":"9786:522:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":53127,"nodeType":"Block","src":"11056:98:97","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":53116,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"11102:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":53117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11102:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":53118,"name":"_msgData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"11116:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes_calldata_ptr_$","typeString":"function () view returns (bytes calldata)"}},"id":53119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11116:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"arguments":[{"id":53122,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11136:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}],"id":53121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11128:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53120,"name":"address","nodeType":"ElementaryTypeName","src":"11128:7:97","typeDescriptions":{}}},"id":53123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11128:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53113,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"11062:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":53115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11086:15:97","memberName":"checkGovernance","nodeType":"MemberAccess","referencedDeclaration":57979,"src":"11062:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_calldata_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes calldata,address)"}},"id":53124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11062:80:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53125,"nodeType":"ExpressionStatement","src":"11062:80:97"},{"id":53126,"nodeType":"PlaceholderStatement","src":"11148:1:97"}]},"documentation":{"id":53111,"nodeType":"StructuredDocumentation","src":"10312:715:97","text":" @dev Restricts a function so it can only be executed through governance proposals. For example, governance\n parameter setters in {GovernorSettings} are protected using this modifier.\n The governance executing address may be different from the Governor's own address, for example it could be a\n timelock. This can be customized by modules by overriding {_executor}. The executor is only able to invoke these\n functions during the execution of the governor's {execute} function, and not under any other circumstances. Thus,\n for example, additional timelock proposers are not able to change governance parameters without going through the\n governance protocol (since v4.6)."},"id":53128,"name":"onlyGovernance","nameLocation":"11039:14:97","nodeType":"ModifierDefinition","parameters":{"id":53112,"nodeType":"ParameterList","parameters":[],"src":"11053:2:97"},"src":"11030:124:97","virtual":false,"visibility":"internal"},{"body":{"id":53154,"nodeType":"Block","src":"11384:132:97","statements":[{"condition":{"id":53138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11394:28:97","subExpression":{"arguments":[{"id":53134,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53131,"src":"11403:4:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":53135,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"11409:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":53136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11409:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53133,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"11395:7:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":53137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11395:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53152,"nodeType":"IfStatement","src":"11390:114:97","trueBody":{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":53142,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"11464:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":53143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11464:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":53144,"name":"_msgData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"11478:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes_calldata_ptr_$","typeString":"function () view returns (bytes calldata)"}},"id":53145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11478:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"arguments":[{"id":53148,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11498:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}],"id":53147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11490:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53146,"name":"address","nodeType":"ElementaryTypeName","src":"11490:7:97","typeDescriptions":{}}},"id":53149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11490:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53139,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"11424:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":53141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11448:15:97","memberName":"checkGovernance","nodeType":"MemberAccess","referencedDeclaration":57979,"src":"11424:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_calldata_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes calldata,address)"}},"id":53150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11424:80:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53151,"nodeType":"ExpressionStatement","src":"11424:80:97"}},{"id":53153,"nodeType":"PlaceholderStatement","src":"11510:1:97"}]},"documentation":{"id":53129,"nodeType":"StructuredDocumentation","src":"11158:179:97","text":" @notice Modifier to check if the caller has the specified role or if the function is called through a governance proposal\n @param role The role to check against"},"id":53155,"name":"onlyRoleOrGovernance","nameLocation":"11349:20:97","nodeType":"ModifierDefinition","parameters":{"id":53132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53131,"mutability":"mutable","name":"role","nameLocation":"11378:4:97","nodeType":"VariableDeclaration","scope":53155,"src":"11370:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11370:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11369:14:97"},"src":"11340:176:97","virtual":false,"visibility":"internal"},{"body":{"id":53177,"nodeType":"Block","src":"11826:94:97","statements":[{"condition":{"id":53167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11836:26:97","subExpression":{"arguments":[{"id":53161,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53158,"src":"11845:4:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":53164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11859: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":53163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11851:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53162,"name":"address","nodeType":"ElementaryTypeName","src":"11851:7:97","typeDescriptions":{}}},"id":53165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11851:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53160,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"11837:7:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":53166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11837:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53175,"nodeType":"IfStatement","src":"11832:77:97","trueBody":{"id":53174,"nodeType":"Block","src":"11864:45:97","statements":[{"expression":{"arguments":[{"id":53169,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53158,"src":"11883:4:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":53170,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"11889:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":53171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11889:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53168,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[129,150],"referencedDeclaration":150,"src":"11872:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) view"}},"id":53172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11872:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53173,"nodeType":"ExpressionStatement","src":"11872:30:97"}]}},{"id":53176,"nodeType":"PlaceholderStatement","src":"11914:1:97"}]},"documentation":{"id":53156,"nodeType":"StructuredDocumentation","src":"11520:261:97","text":" @dev Modifier to make a function callable only by a certain role. In\n addition to checking the sender's role, `address(0)` 's role is also\n considered. Granting a role to `address(0)` is equivalent to enabling\n this role for everyone."},"id":53178,"name":"onlyRoleOrOpenRole","nameLocation":"11793:18:97","nodeType":"ModifierDefinition","parameters":{"id":53159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53158,"mutability":"mutable","name":"role","nameLocation":"11820:4:97","nodeType":"VariableDeclaration","scope":53178,"src":"11812:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11812:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11811:14:97"},"src":"11784:136:97","virtual":false,"visibility":"internal"},{"body":{"id":53195,"nodeType":"Block","src":"12091:114:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":53189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53182,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"12101:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":53183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12125:8:97","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":57929,"src":"12101:32:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":53184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12101:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":53187,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12147:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}],"id":53186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12139:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53185,"name":"address","nodeType":"ElementaryTypeName","src":"12139:7:97","typeDescriptions":{}}},"id":53188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12139:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12101:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53194,"nodeType":"IfStatement","src":"12097:104:97","trueBody":{"id":53193,"nodeType":"Block","src":"12154:47:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":53190,"name":"GovernorDisabledDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62932,"src":"12169:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":53191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12169:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53192,"nodeType":"RevertStatement","src":"12162:32:97"}]}}]},"documentation":{"id":53179,"nodeType":"StructuredDocumentation","src":"11924:129:97","text":" @dev Function to receive VET that will be handled by the governor (disabled if executor is a third party contract)"},"id":53196,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":53180,"nodeType":"ParameterList","parameters":[],"src":"12063:2:97"},"returnParameters":{"id":53181,"nodeType":"ParameterList","parameters":[],"src":"12091:0:97"},"scope":55137,"src":"12056:149:97","stateMutability":"payable","virtual":true,"visibility":"external"},{"body":{"id":53227,"nodeType":"Block","src":"12928:137:97","statements":[{"assignments":[53210,53212],"declarations":[{"constant":false,"id":53210,"mutability":"mutable","name":"success","nameLocation":"12940:7:97","nodeType":"VariableDeclaration","scope":53227,"src":"12935:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53209,"name":"bool","nodeType":"ElementaryTypeName","src":"12935:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53212,"mutability":"mutable","name":"returndata","nameLocation":"12962:10:97","nodeType":"VariableDeclaration","scope":53227,"src":"12949:23:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53211,"name":"bytes","nodeType":"ElementaryTypeName","src":"12949:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":53219,"initialValue":{"arguments":[{"id":53217,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53203,"src":"13004:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":53213,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53199,"src":"12976:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":53214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12983:4:97","memberName":"call","nodeType":"MemberAccess","src":"12976:11:97","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":53216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":53215,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53201,"src":"12996:5:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"12976:27:97","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":53218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12976:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12934:75:97"},{"expression":{"arguments":[{"id":53223,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53210,"src":"13040:7:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53224,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53212,"src":"13049:10:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":53220,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"13015:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$5584_$","typeString":"type(library Address)"}},"id":53222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13023:16:97","memberName":"verifyCallResult","nodeType":"MemberAccess","referencedDeclaration":5565,"src":"13015:24:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bool,bytes memory) pure returns (bytes memory)"}},"id":53225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13015:45:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53226,"nodeType":"ExpressionStatement","src":"13015:45:97"}]},"documentation":{"id":53197,"nodeType":"StructuredDocumentation","src":"12209:567:97","text":" @notice Relays a transaction or function call to an arbitrary target. In cases where the governance executor\n is some contract other than the governor itself, like when using a timelock, this function can be invoked\n in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake.\n Note that if the executor is simply the governor itself, use of `relay` is redundant.\n @param target The target address\n @param value The amount of ether to send\n @param data The data to call the target with"},"functionSelector":"c28bc2fa","id":53228,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":53206,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"12908:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":53207,"kind":"modifierInvocation","modifierName":{"id":53205,"name":"onlyRoleOrGovernance","nameLocations":["12887:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"12887:20:97"},"nodeType":"ModifierInvocation","src":"12887:40:97"}],"name":"relay","nameLocation":"12788:5:97","nodeType":"FunctionDefinition","parameters":{"id":53204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53199,"mutability":"mutable","name":"target","nameLocation":"12807:6:97","nodeType":"VariableDeclaration","scope":53228,"src":"12799:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53198,"name":"address","nodeType":"ElementaryTypeName","src":"12799:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53201,"mutability":"mutable","name":"value","nameLocation":"12827:5:97","nodeType":"VariableDeclaration","scope":53228,"src":"12819:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53200,"name":"uint256","nodeType":"ElementaryTypeName","src":"12819:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53203,"mutability":"mutable","name":"data","nameLocation":"12853:4:97","nodeType":"VariableDeclaration","scope":53228,"src":"12838:19:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":53202,"name":"bytes","nodeType":"ElementaryTypeName","src":"12838:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12793:68:97"},"returnParameters":{"id":53208,"nodeType":"ParameterList","parameters":[],"src":"12928:0:97"},"scope":55137,"src":"12779:286:97","stateMutability":"payable","virtual":true,"visibility":"external"},{"baseFunctions":[63428],"body":{"id":53241,"nodeType":"Block","src":"13678:72:97","statements":[{"expression":{"arguments":[{"id":53238,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53231,"src":"13734:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53236,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"13691:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13713:20:97","memberName":"proposalNeedsQueuing","nodeType":"MemberAccess","referencedDeclaration":58697,"src":"13691:42:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":53239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13691:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53235,"id":53240,"nodeType":"Return","src":"13684:61:97"}]},"documentation":{"id":53229,"nodeType":"StructuredDocumentation","src":"13124:472:97","text":" @notice Function to know if a proposal is executable or not.\n If the proposal was created without any targets, values, or calldatas, it is not executable.\n to check if the proposal is executable.\n @dev If no calldatas or targets then it's not executable, otherwise it will check if the governance can execute transactions or not.\n @param proposalId The id of the proposal\n @return bool True if the proposal needs queuing, false otherwise"},"functionSelector":"a9a95294","id":53242,"implemented":true,"kind":"function","modifiers":[],"name":"proposalNeedsQueuing","nameLocation":"13608:20:97","nodeType":"FunctionDefinition","parameters":{"id":53232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53231,"mutability":"mutable","name":"proposalId","nameLocation":"13637:10:97","nodeType":"VariableDeclaration","scope":53242,"src":"13629:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53230,"name":"uint256","nodeType":"ElementaryTypeName","src":"13629:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13628:20:97"},"returnParameters":{"id":53235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53234,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53242,"src":"13672:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53233,"name":"bool","nodeType":"ElementaryTypeName","src":"13672:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13671:6:97"},"scope":55137,"src":"13599:151:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63327],"body":{"id":53259,"nodeType":"Block","src":"14011:83:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":53255,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53245,"src":"14077:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53253,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"14052:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":53254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14071:5:97","memberName":"state","nodeType":"MemberAccess","referencedDeclaration":60829,"src":"14052:24:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":53256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14052:36:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":53251,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"14024:13:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":53252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14038:13:97","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"14024:27:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":53257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14024:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":53250,"id":53258,"nodeType":"Return","src":"14017:72:97"}]},"documentation":{"id":53243,"nodeType":"StructuredDocumentation","src":"13754:167:97","text":" @notice Returns the state of a proposal\n @param proposalId The id of the proposal\n @return GovernorTypes.ProposalState The state of the proposal"},"functionSelector":"3e4f49e6","id":53260,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"13933:5:97","nodeType":"FunctionDefinition","parameters":{"id":53246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53245,"mutability":"mutable","name":"proposalId","nameLocation":"13947:10:97","nodeType":"VariableDeclaration","scope":53260,"src":"13939:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53244,"name":"uint256","nodeType":"ElementaryTypeName","src":"13939:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13938:20:97"},"returnParameters":{"id":53250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53249,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53260,"src":"13982:27:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":53248,"nodeType":"UserDefinedTypeName","pathNode":{"id":53247,"name":"GovernorTypes.ProposalState","nameLocations":["13982:13:97","13996:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"13982:27:97"},"referencedDeclaration":61406,"src":"13982:27:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"src":"13981:29:97"},"scope":55137,"src":"13924:170:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63617],"body":{"id":53270,"nodeType":"Block","src":"14323:69:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53266,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"14336:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14358:27:97","memberName":"canProposalStartInNextRound","nodeType":"MemberAccess","referencedDeclaration":58287,"src":"14336:49:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":53268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14336:51:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53265,"id":53269,"nodeType":"Return","src":"14329:58:97"}]},"documentation":{"id":53261,"nodeType":"StructuredDocumentation","src":"14098:156:97","text":" @notice Check if the proposal can start in the next round\n @return bool True if the proposal can start in the next round, false otherwise"},"functionSelector":"81ab2353","id":53271,"implemented":true,"kind":"function","modifiers":[],"name":"canProposalStartInNextRound","nameLocation":"14266:27:97","nodeType":"FunctionDefinition","parameters":{"id":53262,"nodeType":"ParameterList","parameters":[],"src":"14293:2:97"},"returnParameters":{"id":53265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53264,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53271,"src":"14317:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53263,"name":"bool","nodeType":"ElementaryTypeName","src":"14317:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14316:6:97"},"scope":55137,"src":"14257:135:97","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[63412],"body":{"id":53284,"nodeType":"Block","src":"14638:68:97","statements":[{"expression":{"arguments":[{"id":53281,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53274,"src":"14690:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53279,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"14651:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14673:16:97","memberName":"proposalProposer","nodeType":"MemberAccess","referencedDeclaration":58203,"src":"14651:38:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":53282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14651:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53278,"id":53283,"nodeType":"Return","src":"14644:57:97"}]},"documentation":{"id":53272,"nodeType":"StructuredDocumentation","src":"14396:155:97","text":" @notice See {IB3TRGovernor-proposalProposer}.\n @param proposalId The id of the proposal\n @return address The address of the proposer"},"functionSelector":"143489d0","id":53285,"implemented":true,"kind":"function","modifiers":[],"name":"proposalProposer","nameLocation":"14563:16:97","nodeType":"FunctionDefinition","parameters":{"id":53275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53274,"mutability":"mutable","name":"proposalId","nameLocation":"14588:10:97","nodeType":"VariableDeclaration","scope":53285,"src":"14580:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53273,"name":"uint256","nodeType":"ElementaryTypeName","src":"14580:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14579:20:97"},"returnParameters":{"id":53278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53277,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53285,"src":"14629:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53276,"name":"address","nodeType":"ElementaryTypeName","src":"14629:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14628:9:97"},"scope":55137,"src":"14554:152:97","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[63420],"body":{"id":53298,"nodeType":"Block","src":"14938:63:97","statements":[{"expression":{"arguments":[{"id":53295,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53288,"src":"14985:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53293,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"14951:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14973:11:97","memberName":"proposalEta","nodeType":"MemberAccess","referencedDeclaration":58227,"src":"14951:33:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":53296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14951:45:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53292,"id":53297,"nodeType":"Return","src":"14944:52:97"}]},"documentation":{"id":53286,"nodeType":"StructuredDocumentation","src":"14710:146:97","text":" @notice See {IB3TRGovernor-proposalEta}.\n @param proposalId The id of the proposal\n @return uint256 The ETA of the proposal"},"functionSelector":"ab58fb8e","id":53299,"implemented":true,"kind":"function","modifiers":[],"name":"proposalEta","nameLocation":"14868:11:97","nodeType":"FunctionDefinition","parameters":{"id":53289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53288,"mutability":"mutable","name":"proposalId","nameLocation":"14888:10:97","nodeType":"VariableDeclaration","scope":53299,"src":"14880:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53287,"name":"uint256","nodeType":"ElementaryTypeName","src":"14880:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14879:20:97"},"returnParameters":{"id":53292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53291,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53299,"src":"14929:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53290,"name":"uint256","nodeType":"ElementaryTypeName","src":"14929:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14928:9:97"},"scope":55137,"src":"14859:142:97","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[63611],"body":{"id":53312,"nodeType":"Block","src":"15246:70:97","statements":[{"expression":{"arguments":[{"id":53309,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53302,"src":"15300:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53307,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"15259:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15281:18:97","memberName":"proposalStartRound","nodeType":"MemberAccess","referencedDeclaration":58251,"src":"15259:40:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":53310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15259:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53306,"id":53311,"nodeType":"Return","src":"15252:59:97"}]},"documentation":{"id":53300,"nodeType":"StructuredDocumentation","src":"15005:160:97","text":" @notice See {IB3TRGovernor-proposalStartRound}\n @param proposalId The id of the proposal\n @return uint256 The start round of the proposal"},"functionSelector":"8ced2a11","id":53313,"implemented":true,"kind":"function","modifiers":[],"name":"proposalStartRound","nameLocation":"15177:18:97","nodeType":"FunctionDefinition","parameters":{"id":53303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53302,"mutability":"mutable","name":"proposalId","nameLocation":"15204:10:97","nodeType":"VariableDeclaration","scope":53313,"src":"15196:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53301,"name":"uint256","nodeType":"ElementaryTypeName","src":"15196:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15195:20:97"},"returnParameters":{"id":53306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53313,"src":"15237:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53304,"name":"uint256","nodeType":"ElementaryTypeName","src":"15237:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15236:9:97"},"scope":55137,"src":"15168:148:97","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[63396],"body":{"id":53326,"nodeType":"Block","src":"15837:68:97","statements":[{"expression":{"arguments":[{"id":53323,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53316,"src":"15889:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53321,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"15850:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15872:16:97","memberName":"proposalSnapshot","nodeType":"MemberAccess","referencedDeclaration":58264,"src":"15850:38:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":53324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15850:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53320,"id":53325,"nodeType":"Return","src":"15843:57:97"}]},"documentation":{"id":53314,"nodeType":"StructuredDocumentation","src":"15320:436:97","text":" @notice See {IB3TRGovernor-proposalSnapshot}.\n We take for granted that the round starts the block after it ends. But it can happen that the round is not started yet for whatever reason.\n Knowing this, if the proposal starts 4 rounds in the future we need to consider also those extra blocks used to start the rounds.\n @param proposalId The id of the proposal\n @return uint256 The snapshot of the proposal"},"functionSelector":"2d63f693","id":53327,"implemented":true,"kind":"function","modifiers":[],"name":"proposalSnapshot","nameLocation":"15768:16:97","nodeType":"FunctionDefinition","parameters":{"id":53317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53316,"mutability":"mutable","name":"proposalId","nameLocation":"15793:10:97","nodeType":"VariableDeclaration","scope":53327,"src":"15785:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53315,"name":"uint256","nodeType":"ElementaryTypeName","src":"15785:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15784:20:97"},"returnParameters":{"id":53320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53327,"src":"15828:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53318,"name":"uint256","nodeType":"ElementaryTypeName","src":"15828:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15827:9:97"},"scope":55137,"src":"15759:146:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63404],"body":{"id":53340,"nodeType":"Block","src":"16146:68:97","statements":[{"expression":{"arguments":[{"id":53337,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53330,"src":"16198:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53335,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"16159:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16181:16:97","memberName":"proposalDeadline","nodeType":"MemberAccess","referencedDeclaration":58277,"src":"16159:38:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":53338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16159:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53334,"id":53339,"nodeType":"Return","src":"16152:57:97"}]},"documentation":{"id":53328,"nodeType":"StructuredDocumentation","src":"15909:156:97","text":" @notice See {IB3TRGovernor-proposalDeadline}.\n @param proposalId The id of the proposal\n @return uint256 The deadline of the proposal"},"functionSelector":"c01f9e37","id":53341,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDeadline","nameLocation":"16077:16:97","nodeType":"FunctionDefinition","parameters":{"id":53331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53330,"mutability":"mutable","name":"proposalId","nameLocation":"16102:10:97","nodeType":"VariableDeclaration","scope":53341,"src":"16094:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53329,"name":"uint256","nodeType":"ElementaryTypeName","src":"16094:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16093:20:97"},"returnParameters":{"id":53334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53333,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53341,"src":"16137:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53332,"name":"uint256","nodeType":"ElementaryTypeName","src":"16137:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16136:9:97"},"scope":55137,"src":"16068:146:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63388],"body":{"id":53364,"nodeType":"Block","src":"16506:162:97","statements":[{"assignments":[53354],"declarations":[{"constant":false,"id":53354,"mutability":"mutable","name":"$","nameLocation":"16557:1:97","nodeType":"VariableDeclaration","scope":53364,"src":"16512:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":53353,"nodeType":"UserDefinedTypeName","pathNode":{"id":53352,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["16512:20:97","16533:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"16512:36:97"},"referencedDeclaration":61305,"src":"16512:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":53358,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53355,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"16561:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16582:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"16561:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16561:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16512:90:97"},{"expression":{"baseExpression":{"expression":{"id":53359,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53354,"src":"16615:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16617:27:97","memberName":"proposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":61225,"src":"16615:29:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":53362,"indexExpression":{"id":53361,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53345,"src":"16645:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16615:48:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53349,"id":53363,"nodeType":"Return","src":"16608:55:97"}]},"documentation":{"id":53342,"nodeType":"StructuredDocumentation","src":"16218:168:97","text":" @notice Returns the voting threshold for a proposal type\n @param proposalTypeValue The type of the proposal\n @return uint256 The voting threshold"},"functionSelector":"1caf3474","id":53365,"implemented":true,"kind":"function","modifiers":[],"name":"votingThresholdByProposalType","nameLocation":"16398:29:97","nodeType":"FunctionDefinition","parameters":{"id":53346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53345,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"16455:17:97","nodeType":"VariableDeclaration","scope":53365,"src":"16428:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":53344,"nodeType":"UserDefinedTypeName","pathNode":{"id":53343,"name":"GovernorTypes.ProposalType","nameLocations":["16428:13:97","16442:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"16428:26:97"},"referencedDeclaration":61431,"src":"16428:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"16427:46:97"},"returnParameters":{"id":53349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53365,"src":"16497:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53347,"name":"uint256","nodeType":"ElementaryTypeName","src":"16497:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16496:9:97"},"scope":55137,"src":"16389:279:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63452],"body":{"id":53381,"nodeType":"Block","src":"16957:65:97","statements":[{"expression":{"arguments":[{"id":53377,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53368,"src":"16998:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53378,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53370,"src":"17007:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53375,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"16970:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":53376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16989:8:97","memberName":"getVotes","nodeType":"MemberAccess","referencedDeclaration":61801,"src":"16970:27:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":53379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16970:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53374,"id":53380,"nodeType":"Return","src":"16963:54:97"}]},"documentation":{"id":53366,"nodeType":"StructuredDocumentation","src":"16672:196:97","text":" @notice See {IB3TRGovernor-getVotes}.\n @param account The address of the account\n @param timepoint The timepoint to get the votes at\n @return uint256 The number of votes"},"functionSelector":"eb9019d4","id":53382,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"16880:8:97","nodeType":"FunctionDefinition","parameters":{"id":53371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53368,"mutability":"mutable","name":"account","nameLocation":"16897:7:97","nodeType":"VariableDeclaration","scope":53382,"src":"16889:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53367,"name":"address","nodeType":"ElementaryTypeName","src":"16889:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53370,"mutability":"mutable","name":"timepoint","nameLocation":"16914:9:97","nodeType":"VariableDeclaration","scope":53382,"src":"16906:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53369,"name":"uint256","nodeType":"ElementaryTypeName","src":"16906:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16888:36:97"},"returnParameters":{"id":53374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53373,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53382,"src":"16948:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53372,"name":"uint256","nodeType":"ElementaryTypeName","src":"16948:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16947:9:97"},"scope":55137,"src":"16871:151:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63462],"body":{"id":53398,"nodeType":"Block","src":"17411:80:97","statements":[{"expression":{"arguments":[{"id":53394,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53385,"src":"17467:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53395,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53387,"src":"17476:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53392,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"17424:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":53393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17443:23:97","memberName":"getQuadraticVotingPower","nodeType":"MemberAccess","referencedDeclaration":61822,"src":"17424:42:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":53396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17424:62:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53391,"id":53397,"nodeType":"Return","src":"17417:69:97"}]},"documentation":{"id":53383,"nodeType":"StructuredDocumentation","src":"17026:281:97","text":" @notice Returns the quadratic voting power that `account` has.  See {IB3TRGovernor-getQuadraticVotingPower}.\n @param account The address of the account\n @param timepoint The timepoint to get the voting power at\n @return uint256 The quadratic voting power"},"functionSelector":"b69d417b","id":53399,"implemented":true,"kind":"function","modifiers":[],"name":"getQuadraticVotingPower","nameLocation":"17319:23:97","nodeType":"FunctionDefinition","parameters":{"id":53388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53385,"mutability":"mutable","name":"account","nameLocation":"17351:7:97","nodeType":"VariableDeclaration","scope":53399,"src":"17343:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53384,"name":"address","nodeType":"ElementaryTypeName","src":"17343:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53387,"mutability":"mutable","name":"timepoint","nameLocation":"17368:9:97","nodeType":"VariableDeclaration","scope":53399,"src":"17360:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53386,"name":"uint256","nodeType":"ElementaryTypeName","src":"17360:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17342:36:97"},"returnParameters":{"id":53391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53390,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53399,"src":"17402:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53389,"name":"uint256","nodeType":"ElementaryTypeName","src":"17402:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17401:9:97"},"scope":55137,"src":"17310:181:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[4545],"body":{"id":53409,"nodeType":"Block","src":"17752:44:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53405,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"17765:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":53406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17784:5:97","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"17765:24:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":53407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17765:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":53404,"id":53408,"nodeType":"Return","src":"17758:33:97"}]},"documentation":{"id":53400,"nodeType":"StructuredDocumentation","src":"17495:206:97","text":" @notice Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token\n does not implement EIP-6372.\n @return uint48 The current clock time"},"functionSelector":"91ddadf4","id":53410,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"17713:5:97","nodeType":"FunctionDefinition","parameters":{"id":53401,"nodeType":"ParameterList","parameters":[],"src":"17718:2:97"},"returnParameters":{"id":53404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53403,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53410,"src":"17744:6:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":53402,"name":"uint48","nodeType":"ElementaryTypeName","src":"17744:6:97","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"17743:8:97"},"scope":55137,"src":"17704:92:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[4551],"body":{"id":53420,"nodeType":"Block","src":"18039:49:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53416,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"18052:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":53417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18071:10:97","memberName":"CLOCK_MODE","nodeType":"MemberAccess","referencedDeclaration":55212,"src":"18052:29:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":53418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18052:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":53415,"id":53419,"nodeType":"Return","src":"18045:38:97"}]},"documentation":{"id":53411,"nodeType":"StructuredDocumentation","src":"17800:125:97","text":" @notice Machine-readable description of the clock as specified in EIP-6372.\n @return string The clock mode"},"functionSelector":"4bf5d7e9","id":53421,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"17988:10:97","nodeType":"FunctionDefinition","parameters":{"id":53412,"nodeType":"ParameterList","parameters":[],"src":"17998:2:97"},"returnParameters":{"id":53415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53421,"src":"18024:13:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53413,"name":"string","nodeType":"ElementaryTypeName","src":"18024:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18023:15:97"},"scope":55137,"src":"17979:109:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53440,"nodeType":"Block","src":"18245:120:97","statements":[{"assignments":[53432],"declarations":[{"constant":false,"id":53432,"mutability":"mutable","name":"$","nameLocation":"18296:1:97","nodeType":"VariableDeclaration","scope":53440,"src":"18251:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":53431,"nodeType":"UserDefinedTypeName","pathNode":{"id":53430,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["18251:20:97","18272:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"18251:36:97"},"referencedDeclaration":61305,"src":"18251:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":53436,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53433,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"18300:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18321:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"18300:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18300:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18251:90:97"},{"expression":{"expression":{"id":53437,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53432,"src":"18354:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18356:4:97","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":61181,"src":"18354:6:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"functionReturnParameters":53427,"id":53439,"nodeType":"Return","src":"18347:13:97"}]},"documentation":{"id":53422,"nodeType":"StructuredDocumentation","src":"18092:103:97","text":" @notice The token that voting power is sourced from.\n @return IVOT3 The voting token"},"functionSelector":"fc0c546a","id":53441,"implemented":true,"kind":"function","modifiers":[],"name":"token","nameLocation":"18207:5:97","nodeType":"FunctionDefinition","parameters":{"id":53423,"nodeType":"ParameterList","parameters":[],"src":"18212:2:97"},"returnParameters":{"id":53427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53441,"src":"18238:5:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"},"typeName":{"id":53425,"nodeType":"UserDefinedTypeName","pathNode":{"id":53424,"name":"IVOT3","nameLocations":["18238:5:97"],"nodeType":"IdentifierPath","referencedDeclaration":67719,"src":"18238:5:97"},"referencedDeclaration":67719,"src":"18238:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"visibility":"internal"}],"src":"18237:7:97"},"scope":55137,"src":"18198:167:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63442],"body":{"id":53454,"nodeType":"Block","src":"18659:57:97","statements":[{"expression":{"arguments":[{"id":53451,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53444,"src":"18699:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53449,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"18672:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":53450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18692:6:97","memberName":"quorum","nodeType":"MemberAccess","referencedDeclaration":60508,"src":"18672:26:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":53452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18672:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53448,"id":53453,"nodeType":"Return","src":"18665:46:97"}]},"documentation":{"id":53442,"nodeType":"StructuredDocumentation","src":"18369:218:97","text":" @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n @param blockNumber The block number to get the quorum for\n @return uint256 The quorum"},"functionSelector":"f8ce560a","id":53455,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"18599:6:97","nodeType":"FunctionDefinition","parameters":{"id":53445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53444,"mutability":"mutable","name":"blockNumber","nameLocation":"18614:11:97","nodeType":"VariableDeclaration","scope":53455,"src":"18606:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53443,"name":"uint256","nodeType":"ElementaryTypeName","src":"18606:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18605:21:97"},"returnParameters":{"id":53448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53455,"src":"18650:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53446,"name":"uint256","nodeType":"ElementaryTypeName","src":"18650:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18649:9:97"},"scope":55137,"src":"18590:126:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53465,"nodeType":"Block","src":"18917:55:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53461,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"18930:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":53462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18950:15:97","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":60435,"src":"18930:35:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":53463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18930:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53460,"id":53464,"nodeType":"Return","src":"18923:44:97"}]},"documentation":{"id":53456,"nodeType":"StructuredDocumentation","src":"18720:135:97","text":" @notice Returns the current quorum numerator. See {quorumDenominator}.\n @return uint256 The current quorum numerator"},"functionSelector":"a7713a70","id":53466,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"18867:15:97","nodeType":"FunctionDefinition","parameters":{"id":53457,"nodeType":"ParameterList","parameters":[],"src":"18882:2:97"},"returnParameters":{"id":53460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53466,"src":"18908:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53458,"name":"uint256","nodeType":"ElementaryTypeName","src":"18908:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18907:9:97"},"scope":55137,"src":"18858:114:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53479,"nodeType":"Block","src":"19305:64:97","statements":[{"expression":{"arguments":[{"id":53476,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53469,"src":"19354:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53474,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"19318:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":53475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19338:15:97","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":60384,"src":"19318:35:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":53477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19318:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53473,"id":53478,"nodeType":"Return","src":"19311:53:97"}]},"documentation":{"id":53467,"nodeType":"StructuredDocumentation","src":"18976:250:97","text":" @notice Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\n @param timepoint The timepoint to get the quorum numerator for\n @return uint256 The quorum numerator at the given timepoint"},"functionSelector":"60c4247f","id":53480,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"19238:15:97","nodeType":"FunctionDefinition","parameters":{"id":53470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53469,"mutability":"mutable","name":"timepoint","nameLocation":"19262:9:97","nodeType":"VariableDeclaration","scope":53480,"src":"19254:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53468,"name":"uint256","nodeType":"ElementaryTypeName","src":"19254:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19253:19:97"},"returnParameters":{"id":53473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53480,"src":"19296:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53471,"name":"uint256","nodeType":"ElementaryTypeName","src":"19296:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19295:9:97"},"scope":55137,"src":"19229:140:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53490,"nodeType":"Block","src":"19616:57:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53486,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"19629:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":53487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19649:17:97","memberName":"quorumDenominator","nodeType":"MemberAccess","referencedDeclaration":60305,"src":"19629:37:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":53488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19629:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53485,"id":53489,"nodeType":"Return","src":"19622:46:97"}]},"documentation":{"id":53481,"nodeType":"StructuredDocumentation","src":"19373:179:97","text":" @notice Returns the quorum denominator using the GovernorQuorumFraction library. Defaults to 100, but may be overridden.\n @return uint256 The quorum denominator"},"functionSelector":"97c3d334","id":53491,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"19564:17:97","nodeType":"FunctionDefinition","parameters":{"id":53482,"nodeType":"ParameterList","parameters":[],"src":"19581:2:97"},"returnParameters":{"id":53485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53491,"src":"19607:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53483,"name":"uint256","nodeType":"ElementaryTypeName","src":"19607:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19606:9:97"},"scope":55137,"src":"19555:118:97","stateMutability":"pure","virtual":false,"visibility":"external"},{"body":{"id":53507,"nodeType":"Block","src":"20022:99:97","statements":[{"expression":{"arguments":[{"id":53503,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53494,"src":"20091:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53504,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53496,"src":"20099:16:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":53501,"name":"GovernorFunctionRestrictionsLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57873,"src":"20035:33:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogic_$57873_$","typeString":"type(library GovernorFunctionRestrictionsLogic)"}},"id":53502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20069:21:97","memberName":"isFunctionWhitelisted","nodeType":"MemberAccess","referencedDeclaration":57790,"src":"20035:55:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":53505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20035:81:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53500,"id":53506,"nodeType":"Return","src":"20028:88:97"}]},"documentation":{"id":53492,"nodeType":"StructuredDocumentation","src":"19677:241:97","text":" @notice Check if a function is restricted by the governor\n @param target The address of the contract\n @param functionSelector The function selector\n @return bool True if the function is whitelisted, false otherwise"},"functionSelector":"74a55a51","id":53508,"implemented":true,"kind":"function","modifiers":[],"name":"isFunctionWhitelisted","nameLocation":"19930:21:97","nodeType":"FunctionDefinition","parameters":{"id":53497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53494,"mutability":"mutable","name":"target","nameLocation":"19960:6:97","nodeType":"VariableDeclaration","scope":53508,"src":"19952:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53493,"name":"address","nodeType":"ElementaryTypeName","src":"19952:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53496,"mutability":"mutable","name":"functionSelector","nameLocation":"19975:16:97","nodeType":"VariableDeclaration","scope":53508,"src":"19968:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":53495,"name":"bytes4","nodeType":"ElementaryTypeName","src":"19968:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"19951:41:97"},"returnParameters":{"id":53500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53508,"src":"20016:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53498,"name":"bool","nodeType":"ElementaryTypeName","src":"20016:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20015:6:97"},"scope":55137,"src":"19921:200:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63333],"body":{"id":53526,"nodeType":"Block","src":"20289:130:97","statements":[{"assignments":[53518],"declarations":[{"constant":false,"id":53518,"mutability":"mutable","name":"$","nameLocation":"20340:1:97","nodeType":"VariableDeclaration","scope":53526,"src":"20295:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":53517,"nodeType":"UserDefinedTypeName","pathNode":{"id":53516,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["20295:20:97","20316:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"20295:36:97"},"referencedDeclaration":61305,"src":"20295:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":53522,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53519,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"20344:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20365:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"20344:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20344:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20295:90:97"},{"expression":{"expression":{"id":53523,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53518,"src":"20398:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20400:14:97","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":61151,"src":"20398:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53513,"id":53525,"nodeType":"Return","src":"20391:23:97"}]},"documentation":{"id":53509,"nodeType":"StructuredDocumentation","src":"20125:103:97","text":" @notice See {B3TRGovernor-minVotingDelay}.\n @return uint256 The minimum voting delay"},"functionSelector":"c40ffbf6","id":53527,"implemented":true,"kind":"function","modifiers":[],"name":"minVotingDelay","nameLocation":"20240:14:97","nodeType":"FunctionDefinition","parameters":{"id":53510,"nodeType":"ParameterList","parameters":[],"src":"20254:2:97"},"returnParameters":{"id":53513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53527,"src":"20280:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53511,"name":"uint256","nodeType":"ElementaryTypeName","src":"20280:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20279:9:97"},"scope":55137,"src":"20231:188:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63434],"body":{"id":53547,"nodeType":"Block","src":"20577:148:97","statements":[{"assignments":[53537],"declarations":[{"constant":false,"id":53537,"mutability":"mutable","name":"$","nameLocation":"20628:1:97","nodeType":"VariableDeclaration","scope":53547,"src":"20583:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":53536,"nodeType":"UserDefinedTypeName","pathNode":{"id":53535,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["20583:20:97","20604:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"20583:36:97"},"referencedDeclaration":61305,"src":"20583:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":53541,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53538,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"20632:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20653:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"20632:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20632:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20583:90:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":53542,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53537,"src":"20686:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20688:17:97","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"20686:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":53544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20706:12:97","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":70868,"src":"20686:32:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":53545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20686:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53532,"id":53546,"nodeType":"Return","src":"20679:41:97"}]},"documentation":{"id":53528,"nodeType":"StructuredDocumentation","src":"20423:95:97","text":" @notice See {IB3TRGovernor-votingPeriod}.\n @return uint256 The voting period"},"functionSelector":"02a251a3","id":53548,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"20530:12:97","nodeType":"FunctionDefinition","parameters":{"id":53529,"nodeType":"ParameterList","parameters":[],"src":"20542:2:97"},"returnParameters":{"id":53532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53548,"src":"20568:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53530,"name":"uint256","nodeType":"ElementaryTypeName","src":"20568:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20567:9:97"},"scope":55137,"src":"20521:204:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63603],"body":{"id":53561,"nodeType":"Block","src":"21012:56:97","statements":[{"expression":{"arguments":[{"id":53558,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53551,"src":"21058:4:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53556,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"21025:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":53557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21044:13:97","memberName":"userVotedOnce","nodeType":"MemberAccess","referencedDeclaration":61913,"src":"21025:32:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":53559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21025:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53555,"id":53560,"nodeType":"Return","src":"21018:45:97"}]},"documentation":{"id":53549,"nodeType":"StructuredDocumentation","src":"20729:215:97","text":" @notice Check if a user has voted at least one time.\n @param user The address of the user to check if has voted at least one time\n @return bool True if the user has voted once, false otherwise"},"functionSelector":"9aeb962b","id":53562,"implemented":true,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"20956:12:97","nodeType":"FunctionDefinition","parameters":{"id":53552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53551,"mutability":"mutable","name":"user","nameLocation":"20977:4:97","nodeType":"VariableDeclaration","scope":53562,"src":"20969:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53550,"name":"address","nodeType":"ElementaryTypeName","src":"20969:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20968:14:97"},"returnParameters":{"id":53555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53562,"src":"21006:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53553,"name":"bool","nodeType":"ElementaryTypeName","src":"21006:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21005:6:97"},"scope":55137,"src":"20947:121:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53575,"nodeType":"Block","src":"21314:65:97","statements":[{"expression":{"arguments":[{"id":53572,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53565,"src":"21363:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53570,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"21327:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":53571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21347:15:97","memberName":"isQuorumReached","nodeType":"MemberAccess","referencedDeclaration":60476,"src":"21327:35:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":53573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53569,"id":53574,"nodeType":"Return","src":"21320:54:97"}]},"documentation":{"id":53563,"nodeType":"StructuredDocumentation","src":"21072:167:97","text":" @notice Returns if quorum was reached or not\n @param proposalId The id of the proposal\n @return bool True if quorum was reached, false otherwise"},"functionSelector":"d4a8dd98","id":53576,"implemented":true,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"21251:13:97","nodeType":"FunctionDefinition","parameters":{"id":53566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53565,"mutability":"mutable","name":"proposalId","nameLocation":"21273:10:97","nodeType":"VariableDeclaration","scope":53576,"src":"21265:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53564,"name":"uint256","nodeType":"ElementaryTypeName","src":"21265:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21264:20:97"},"returnParameters":{"id":53569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53568,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53576,"src":"21308:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53567,"name":"bool","nodeType":"ElementaryTypeName","src":"21308:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21307:6:97"},"scope":55137,"src":"21242:137:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53598,"nodeType":"Block","src":"21627:146:97","statements":[{"assignments":[53588],"declarations":[{"constant":false,"id":53588,"mutability":"mutable","name":"$","nameLocation":"21678:1:97","nodeType":"VariableDeclaration","scope":53598,"src":"21633:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":53587,"nodeType":"UserDefinedTypeName","pathNode":{"id":53586,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["21633:20:97","21654:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"21633:36:97"},"referencedDeclaration":61305,"src":"21633:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":53592,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53589,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"21682:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21703:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"21682:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21682:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21633:90:97"},{"expression":{"baseExpression":{"expression":{"id":53593,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53588,"src":"21736:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53594,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21738:18:97","memberName":"proposalTotalVotes","nodeType":"MemberAccess","referencedDeclaration":61202,"src":"21736:20:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":53596,"indexExpression":{"id":53595,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53579,"src":"21757:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21736:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53583,"id":53597,"nodeType":"Return","src":"21729:39:97"}]},"documentation":{"id":53577,"nodeType":"StructuredDocumentation","src":"21383:161:97","text":" @notice Returns the total votes for a proposal\n @param proposalId The id of the proposal\n @return uint256 The total votes for the proposal"},"functionSelector":"60463d68","id":53599,"implemented":true,"kind":"function","modifiers":[],"name":"proposalTotalVotes","nameLocation":"21556:18:97","nodeType":"FunctionDefinition","parameters":{"id":53580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53579,"mutability":"mutable","name":"proposalId","nameLocation":"21583:10:97","nodeType":"VariableDeclaration","scope":53599,"src":"21575:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53578,"name":"uint256","nodeType":"ElementaryTypeName","src":"21575:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21574:20:97"},"returnParameters":{"id":53583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53582,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53599,"src":"21618:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53581,"name":"uint256","nodeType":"ElementaryTypeName","src":"21618:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21617:9:97"},"scope":55137,"src":"21547:226:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53616,"nodeType":"Block","src":"22212:65:97","statements":[{"expression":{"arguments":[{"id":53613,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53602,"src":"22261:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53611,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"22225:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":53612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22244:16:97","memberName":"getProposalVotes","nodeType":"MemberAccess","referencedDeclaration":61890,"src":"22225:35:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view returns (uint256,uint256,uint256)"}},"id":53614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22225:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256)"}},"functionReturnParameters":53610,"id":53615,"nodeType":"Return","src":"22218:54:97"}]},"documentation":{"id":53600,"nodeType":"StructuredDocumentation","src":"21777:296:97","text":" @notice Accessor to the internal vote counts, in terms of vote power.\n @param proposalId The id of the proposal\n @return againstVotes The votes against the proposal\n @return forVotes The votes for the proposal\n @return abstainVotes The votes abstaining the proposal"},"functionSelector":"544ffc9c","id":53617,"implemented":true,"kind":"function","modifiers":[],"name":"proposalVotes","nameLocation":"22085:13:97","nodeType":"FunctionDefinition","parameters":{"id":53603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53602,"mutability":"mutable","name":"proposalId","nameLocation":"22112:10:97","nodeType":"VariableDeclaration","scope":53617,"src":"22104:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53601,"name":"uint256","nodeType":"ElementaryTypeName","src":"22104:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22098:28:97"},"returnParameters":{"id":53610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53605,"mutability":"mutable","name":"againstVotes","nameLocation":"22158:12:97","nodeType":"VariableDeclaration","scope":53617,"src":"22150:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53604,"name":"uint256","nodeType":"ElementaryTypeName","src":"22150:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53607,"mutability":"mutable","name":"forVotes","nameLocation":"22180:8:97","nodeType":"VariableDeclaration","scope":53617,"src":"22172:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53606,"name":"uint256","nodeType":"ElementaryTypeName","src":"22172:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53609,"mutability":"mutable","name":"abstainVotes","nameLocation":"22198:12:97","nodeType":"VariableDeclaration","scope":53617,"src":"22190:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53608,"name":"uint256","nodeType":"ElementaryTypeName","src":"22190:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22149:62:97"},"scope":55137,"src":"22076:201:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63301],"body":{"id":53625,"nodeType":"Block","src":"22484:60:97","statements":[{"expression":{"hexValue":"737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e2c616761696e7374","id":53623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22497:42:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec706abc71a3b4385eae5e65960f998ba103536c016ce32da55aef1746ebb136","typeString":"literal_string \"support=bravo&quorum=for,abstain,against\""},"value":"support=bravo&quorum=for,abstain,against"},"functionReturnParameters":53622,"id":53624,"nodeType":"Return","src":"22490:49:97"}]},"documentation":{"id":53618,"nodeType":"StructuredDocumentation","src":"22281:86:97","text":" @notice Returns the counting mode\n @return string The counting mode"},"functionSelector":"dd4e2ba5","id":53626,"implemented":true,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"22430:13:97","nodeType":"FunctionDefinition","parameters":{"id":53619,"nodeType":"ParameterList","parameters":[],"src":"22443:2:97"},"returnParameters":{"id":53622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53621,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53626,"src":"22469:13:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53620,"name":"string","nodeType":"ElementaryTypeName","src":"22469:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22468:15:97"},"scope":55137,"src":"22421:123:97","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[63472],"body":{"id":53642,"nodeType":"Block","src":"22845:66:97","statements":[{"expression":{"arguments":[{"id":53638,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53629,"src":"22886:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53639,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53631,"src":"22898:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53636,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"22858:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":53637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22877:8:97","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":61850,"src":"22858:27:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":53640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22858:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53635,"id":53641,"nodeType":"Return","src":"22851:55:97"}]},"documentation":{"id":53627,"nodeType":"StructuredDocumentation","src":"22548:210:97","text":" @notice See {IB3TRGovernor-hasVoted}.\n @param proposalId The id of the proposal\n @param account The address of the account\n @return bool True if the account has voted, false otherwise"},"functionSelector":"43859632","id":53643,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"22770:8:97","nodeType":"FunctionDefinition","parameters":{"id":53632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53629,"mutability":"mutable","name":"proposalId","nameLocation":"22787:10:97","nodeType":"VariableDeclaration","scope":53643,"src":"22779:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53628,"name":"uint256","nodeType":"ElementaryTypeName","src":"22779:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53631,"mutability":"mutable","name":"account","nameLocation":"22807:7:97","nodeType":"VariableDeclaration","scope":53643,"src":"22799:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53630,"name":"address","nodeType":"ElementaryTypeName","src":"22799:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22778:37:97"},"returnParameters":{"id":53635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53634,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53643,"src":"22839:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53633,"name":"bool","nodeType":"ElementaryTypeName","src":"22839:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22838:6:97"},"scope":55137,"src":"22761:150:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63641],"body":{"id":53656,"nodeType":"Block","src":"23163:70:97","statements":[{"expression":{"arguments":[{"id":53653,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53646,"src":"23217:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53651,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"23176:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":53652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23197:19:97","memberName":"getProposalDeposits","nodeType":"MemberAccess","referencedDeclaration":57510,"src":"23176:40:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":53654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23176:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53650,"id":53655,"nodeType":"Return","src":"23169:59:97"}]},"documentation":{"id":53644,"nodeType":"StructuredDocumentation","src":"22915:164:97","text":" @notice Returns the amount of deposits made to a proposal.\n @param proposalId The id of the proposal.\n @return uint256 The amount of deposits"},"functionSelector":"c220f2f5","id":53657,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalDeposits","nameLocation":"23091:19:97","nodeType":"FunctionDefinition","parameters":{"id":53647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53646,"mutability":"mutable","name":"proposalId","nameLocation":"23119:10:97","nodeType":"VariableDeclaration","scope":53657,"src":"23111:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53645,"name":"uint256","nodeType":"ElementaryTypeName","src":"23111:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23110:20:97"},"returnParameters":{"id":53650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53657,"src":"23154:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53648,"name":"uint256","nodeType":"ElementaryTypeName","src":"23154:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23153:9:97"},"scope":55137,"src":"23082:151:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63649],"body":{"id":53670,"nodeType":"Block","src":"23547:73:97","statements":[{"expression":{"arguments":[{"id":53667,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53660,"src":"23604:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53665,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"23560:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":53666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23581:22:97","memberName":"proposalDepositReached","nodeType":"MemberAccess","referencedDeclaration":57544,"src":"23560:43:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":53668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23560:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53664,"id":53669,"nodeType":"Return","src":"23553:62:97"}]},"documentation":{"id":53658,"nodeType":"StructuredDocumentation","src":"23237:226:97","text":" @notice Returns true if the threshold of deposits required to reach a proposal has been reached.\n @param proposalId The id of the proposal.\n @return bool True if the threshold is reached, false otherwise"},"functionSelector":"8d5a3f67","id":53671,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDepositReached","nameLocation":"23475:22:97","nodeType":"FunctionDefinition","parameters":{"id":53661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53660,"mutability":"mutable","name":"proposalId","nameLocation":"23506:10:97","nodeType":"VariableDeclaration","scope":53671,"src":"23498:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53659,"name":"uint256","nodeType":"ElementaryTypeName","src":"23498:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23497:20:97"},"returnParameters":{"id":53664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53671,"src":"23541:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53662,"name":"bool","nodeType":"ElementaryTypeName","src":"23541:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23540:6:97"},"scope":55137,"src":"23466:154:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53684,"nodeType":"Block","src":"23889:75:97","statements":[{"expression":{"arguments":[{"id":53681,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53674,"src":"23948:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53679,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"23902:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":53680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23923:24:97","memberName":"proposalDepositThreshold","nodeType":"MemberAccess","referencedDeclaration":57486,"src":"23902:45:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":53682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23902:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53678,"id":53683,"nodeType":"Return","src":"23895:64:97"}]},"documentation":{"id":53672,"nodeType":"StructuredDocumentation","src":"23624:176:97","text":" @notice Returns the deposit threshold for a proposal.\n @param proposalId The id of the proposal.\n @return uint256 The deposit threshold for the proposal."},"functionSelector":"88fb07a5","id":53685,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDepositThreshold","nameLocation":"23812:24:97","nodeType":"FunctionDefinition","parameters":{"id":53675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53674,"mutability":"mutable","name":"proposalId","nameLocation":"23845:10:97","nodeType":"VariableDeclaration","scope":53685,"src":"23837:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53673,"name":"uint256","nodeType":"ElementaryTypeName","src":"23837:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23836:20:97"},"returnParameters":{"id":53678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53677,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53685,"src":"23880:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53676,"name":"uint256","nodeType":"ElementaryTypeName","src":"23880:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23879:9:97"},"scope":55137,"src":"23803:161:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53698,"nodeType":"Block","src":"24208:65:97","statements":[{"expression":{"arguments":[{"id":53695,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53688,"src":"24257:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53693,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"24221:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24243:13:97","memberName":"getTimelockId","nodeType":"MemberAccess","referencedDeclaration":58333,"src":"24221:35:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":53696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24221:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":53692,"id":53697,"nodeType":"Return","src":"24214:54:97"}]},"documentation":{"id":53686,"nodeType":"StructuredDocumentation","src":"23968:164:97","text":" @notice Public endpoint to retrieve the timelock id of a proposal.\n @param proposalId The id of the proposal\n @return bytes32 The timelock id"},"functionSelector":"f744f119","id":53699,"implemented":true,"kind":"function","modifiers":[],"name":"getTimelockId","nameLocation":"24144:13:97","nodeType":"FunctionDefinition","parameters":{"id":53689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53688,"mutability":"mutable","name":"proposalId","nameLocation":"24166:10:97","nodeType":"VariableDeclaration","scope":53699,"src":"24158:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53687,"name":"uint256","nodeType":"ElementaryTypeName","src":"24158:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24157:20:97"},"returnParameters":{"id":53692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53691,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53699,"src":"24199:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24199:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"24198:9:97"},"scope":55137,"src":"24135:138:97","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[63659],"body":{"id":53715,"nodeType":"Block","src":"24619:71:97","statements":[{"expression":{"arguments":[{"id":53711,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53702,"src":"24668:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53712,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53704,"src":"24680:4:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53709,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"24632:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":53710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24653:14:97","memberName":"getUserDeposit","nodeType":"MemberAccess","referencedDeclaration":57462,"src":"24632:35:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":53713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24632:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53708,"id":53714,"nodeType":"Return","src":"24625:60:97"}]},"documentation":{"id":53700,"nodeType":"StructuredDocumentation","src":"24277:249:97","text":" @notice Returns the amount of tokens a specific user has deposited to a proposal.\n @param proposalId The id of the proposal.\n @param user The address of the user.\n @return uint256 The amount of tokens deposited by the user"},"functionSelector":"4e055244","id":53716,"implemented":true,"kind":"function","modifiers":[],"name":"getUserDeposit","nameLocation":"24538:14:97","nodeType":"FunctionDefinition","parameters":{"id":53705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53702,"mutability":"mutable","name":"proposalId","nameLocation":"24561:10:97","nodeType":"VariableDeclaration","scope":53716,"src":"24553:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53701,"name":"uint256","nodeType":"ElementaryTypeName","src":"24553:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53704,"mutability":"mutable","name":"user","nameLocation":"24581:4:97","nodeType":"VariableDeclaration","scope":53716,"src":"24573:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53703,"name":"address","nodeType":"ElementaryTypeName","src":"24573:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24552:34:97"},"returnParameters":{"id":53708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53716,"src":"24610:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53706,"name":"uint256","nodeType":"ElementaryTypeName","src":"24610:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24609:9:97"},"scope":55137,"src":"24529:161:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63289],"body":{"id":53734,"nodeType":"Block","src":"24844:120:97","statements":[{"assignments":[53726],"declarations":[{"constant":false,"id":53726,"mutability":"mutable","name":"$","nameLocation":"24895:1:97","nodeType":"VariableDeclaration","scope":53734,"src":"24850:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":53725,"nodeType":"UserDefinedTypeName","pathNode":{"id":53724,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["24850:20:97","24871:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"24850:36:97"},"referencedDeclaration":61305,"src":"24850:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":53730,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53727,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"24899:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24920:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"24899:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24899:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24850:90:97"},{"expression":{"expression":{"id":53731,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53726,"src":"24953:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53732,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24955:4:97","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":61141,"src":"24953:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":53721,"id":53733,"nodeType":"Return","src":"24946:13:97"}]},"documentation":{"id":53717,"nodeType":"StructuredDocumentation","src":"24694:93:97","text":" @notice See {IB3TRGovernor-name}.\n @return string The name of the governor"},"functionSelector":"06fdde03","id":53735,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"24799:4:97","nodeType":"FunctionDefinition","parameters":{"id":53718,"nodeType":"ParameterList","parameters":[],"src":"24803:2:97"},"returnParameters":{"id":53721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53735,"src":"24829:13:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53719,"name":"string","nodeType":"ElementaryTypeName","src":"24829:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24828:15:97"},"scope":55137,"src":"24790:174:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53745,"nodeType":"Block","src":"25203:79:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53741,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"25216:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":53742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25235:40:97","memberName":"isQuadraticVotingDisabledForCurrentRound","nodeType":"MemberAccess","referencedDeclaration":62521,"src":"25216:59:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":53743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25216:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53740,"id":53744,"nodeType":"Return","src":"25209:68:97"}]},"documentation":{"id":53736,"nodeType":"StructuredDocumentation","src":"24968:151:97","text":" @notice Check if quadratic voting is disabled for the current round.\n @return true if quadratic voting is disabled, false otherwise."},"functionSelector":"81c0d6df","id":53746,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticVotingDisabledForCurrentRound","nameLocation":"25131:40:97","nodeType":"FunctionDefinition","parameters":{"id":53737,"nodeType":"ParameterList","parameters":[],"src":"25171:2:97"},"returnParameters":{"id":53740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53746,"src":"25197:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53738,"name":"bool","nodeType":"ElementaryTypeName","src":"25197:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25196:6:97"},"scope":55137,"src":"25122:160:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53759,"nodeType":"Block","src":"25614:79:97","statements":[{"expression":{"arguments":[{"id":53756,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53749,"src":"25680:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53754,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"25627:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":53755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25646:33:97","memberName":"isQuadraticVotingDisabledForRound","nodeType":"MemberAccess","referencedDeclaration":62487,"src":"25627:52:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":53757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25627:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53753,"id":53758,"nodeType":"Return","src":"25620:68:97"}]},"documentation":{"id":53747,"nodeType":"StructuredDocumentation","src":"25286:236:97","text":" @notice Check if quadratic voting is disabled at a specific round.\n @param roundId - The round ID for which to check if quadratic voting is disabled.\n @return true if quadratic voting is disabled, false otherwise."},"functionSelector":"a45aa313","id":53760,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticVotingDisabledForRound","nameLocation":"25534:33:97","nodeType":"FunctionDefinition","parameters":{"id":53750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53749,"mutability":"mutable","name":"roundId","nameLocation":"25576:7:97","nodeType":"VariableDeclaration","scope":53760,"src":"25568:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53748,"name":"uint256","nodeType":"ElementaryTypeName","src":"25568:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25567:17:97"},"returnParameters":{"id":53753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53760,"src":"25608:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53751,"name":"bool","nodeType":"ElementaryTypeName","src":"25608:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25607:6:97"},"scope":55137,"src":"25525:168:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63295],"body":{"id":53768,"nodeType":"Block","src":"25856:22:97","statements":[{"expression":{"hexValue":"3131","id":53766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25869:4:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7880aec93413f117ef14bd4e6d130875ab2c7d7d55a064fac3c2f7bd51516380","typeString":"literal_string \"11\""},"value":"11"},"functionReturnParameters":53765,"id":53767,"nodeType":"Return","src":"25862:11:97"}]},"documentation":{"id":53761,"nodeType":"StructuredDocumentation","src":"25697:99:97","text":" @notice See {IB3TRGovernor-version}.\n @return string The version of the governor"},"functionSelector":"54fd4d50","id":53769,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"25808:7:97","nodeType":"FunctionDefinition","parameters":{"id":53762,"nodeType":"ParameterList","parameters":[],"src":"25815:2:97"},"returnParameters":{"id":53765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53764,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53769,"src":"25841:13:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53763,"name":"string","nodeType":"ElementaryTypeName","src":"25841:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25840:15:97"},"scope":55137,"src":"25799:79:97","stateMutability":"pure","virtual":false,"visibility":"external"},{"baseFunctions":[63318],"body":{"id":53794,"nodeType":"Block","src":"27198:97:97","statements":[{"expression":{"arguments":[{"id":53788,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53773,"src":"27246:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":53789,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53776,"src":"27255:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":53790,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53779,"src":"27263:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":53791,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53781,"src":"27274:15:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53786,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"27211:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27233:12:97","memberName":"hashProposal","nodeType":"MemberAccess","referencedDeclaration":58179,"src":"27211:34:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":53792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27211:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53785,"id":53793,"nodeType":"Return","src":"27204:86:97"}]},"documentation":{"id":53770,"nodeType":"StructuredDocumentation","src":"25882:1139:97","text":" @notice See {IB3TRGovernor-hashProposal}.\n The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array\n and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id\n can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in\n advance, before the proposal is submitted.\n Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the\n same proposal (with same operation and same description) will have the same id if submitted on multiple governors\n across multiple networks. This also means that in order to execute the same operation twice (on the same\n governor) the proposer will have to change the description in order to avoid proposal id conflicts.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param descriptionHash The hash of the description\n @return uint256 The proposal id"},"functionSelector":"c59057e4","id":53795,"implemented":true,"kind":"function","modifiers":[],"name":"hashProposal","nameLocation":"27033:12:97","nodeType":"FunctionDefinition","parameters":{"id":53782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53773,"mutability":"mutable","name":"targets","nameLocation":"27068:7:97","nodeType":"VariableDeclaration","scope":53795,"src":"27051:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":53771,"name":"address","nodeType":"ElementaryTypeName","src":"27051:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":53772,"nodeType":"ArrayTypeName","src":"27051:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":53776,"mutability":"mutable","name":"values","nameLocation":"27098:6:97","nodeType":"VariableDeclaration","scope":53795,"src":"27081:23:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":53774,"name":"uint256","nodeType":"ElementaryTypeName","src":"27081:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":53775,"nodeType":"ArrayTypeName","src":"27081:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":53779,"mutability":"mutable","name":"calldatas","nameLocation":"27125:9:97","nodeType":"VariableDeclaration","scope":53795,"src":"27110:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":53777,"name":"bytes","nodeType":"ElementaryTypeName","src":"27110:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":53778,"nodeType":"ArrayTypeName","src":"27110:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":53781,"mutability":"mutable","name":"descriptionHash","nameLocation":"27148:15:97","nodeType":"VariableDeclaration","scope":53795,"src":"27140:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27140:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"27045:122:97"},"returnParameters":{"id":53785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53784,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53795,"src":"27189:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53783,"name":"uint256","nodeType":"ElementaryTypeName","src":"27189:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27188:9:97"},"scope":55137,"src":"27024:271:97","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":53812,"nodeType":"Block","src":"27563:86:97","statements":[{"expression":{"arguments":[{"id":53805,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53798,"src":"27613:15:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":53808,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"27638:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}],"id":53807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27630:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53806,"name":"address","nodeType":"ElementaryTypeName","src":"27630:7:97","typeDescriptions":{}}},"id":53809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27630:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53803,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"27576:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":53804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27600:12:97","memberName":"timelockSalt","nodeType":"MemberAccess","referencedDeclaration":57907,"src":"27576:36:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) pure returns (bytes32)"}},"id":53810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27576:68:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":53802,"id":53811,"nodeType":"Return","src":"27569:75:97"}]},"documentation":{"id":53796,"nodeType":"StructuredDocumentation","src":"27299:182:97","text":" @notice Public endpoint to get the salt used for the timelock operation.\n @param descriptionHash The hash of the description\n @return bytes32 The timelock salt"},"functionSelector":"5c573d44","id":53813,"implemented":true,"kind":"function","modifiers":[],"name":"timelockSalt","nameLocation":"27493:12:97","nodeType":"FunctionDefinition","parameters":{"id":53799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53798,"mutability":"mutable","name":"descriptionHash","nameLocation":"27514:15:97","nodeType":"VariableDeclaration","scope":53813,"src":"27506:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27506:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"27505:25:97"},"returnParameters":{"id":53802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53801,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53813,"src":"27554:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27554:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"27553:9:97"},"scope":55137,"src":"27484:165:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63347],"body":{"id":53825,"nodeType":"Block","src":"27824:72:97","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53820,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"27837:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27858:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"27837:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27837:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27879:12:97","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":61172,"src":"27837:54:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"functionReturnParameters":53819,"id":53824,"nodeType":"Return","src":"27830:61:97"}]},"documentation":{"id":53814,"nodeType":"StructuredDocumentation","src":"27653:106:97","text":" @notice The voter rewards contract.\n @return IVoterRewardsV2 The voter rewards contract"},"functionSelector":"a3844e11","id":53826,"implemented":true,"kind":"function","modifiers":[],"name":"voterRewards","nameLocation":"27771:12:97","nodeType":"FunctionDefinition","parameters":{"id":53815,"nodeType":"ParameterList","parameters":[],"src":"27783:2:97"},"returnParameters":{"id":53819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53826,"src":"27809:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":53817,"nodeType":"UserDefinedTypeName","pathNode":{"id":53816,"name":"IVoterRewards","nameLocations":["27809:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"27809:13:97"},"referencedDeclaration":69092,"src":"27809:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"27808:15:97"},"scope":55137,"src":"27762:134:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63354],"body":{"id":53838,"nodeType":"Block","src":"28124:77:97","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53833,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"28137:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28158:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"28137:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28137:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28179:17:97","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"28137:59:97","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"functionReturnParameters":53832,"id":53837,"nodeType":"Return","src":"28130:66:97"}]},"documentation":{"id":53827,"nodeType":"StructuredDocumentation","src":"27900:141:97","text":" @notice The XAllocationVotingGovernor contract.\n @return IXAllocationVotingGovernor The XAllocationVotingGovernor contract"},"functionSelector":"e205aeb0","id":53839,"implemented":true,"kind":"function","modifiers":[],"name":"xAllocationVoting","nameLocation":"28053:17:97","nodeType":"FunctionDefinition","parameters":{"id":53828,"nodeType":"ParameterList","parameters":[],"src":"28070:2:97"},"returnParameters":{"id":53832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53839,"src":"28096:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":53830,"nodeType":"UserDefinedTypeName","pathNode":{"id":53829,"name":"IXAllocationVotingGovernor","nameLocations":["28096:26:97"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"28096:26:97"},"referencedDeclaration":71124,"src":"28096:26:97","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"28095:28:97"},"scope":55137,"src":"28044:157:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63340],"body":{"id":53851,"nodeType":"Block","src":"28338:64:97","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53846,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"28351:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28372:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"28351:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28351:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53849,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28393:4:97","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":61178,"src":"28351:46:97","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"functionReturnParameters":53845,"id":53850,"nodeType":"Return","src":"28344:53:97"}]},"documentation":{"id":53840,"nodeType":"StructuredDocumentation","src":"28205:84:97","text":" @notice See {B3TRGovernor-b3tr}.\n @return IB3TR The B3TR contract"},"functionSelector":"582a486a","id":53852,"implemented":true,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"28301:4:97","nodeType":"FunctionDefinition","parameters":{"id":53841,"nodeType":"ParameterList","parameters":[],"src":"28305:2:97"},"returnParameters":{"id":53845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53852,"src":"28331:5:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":53843,"nodeType":"UserDefinedTypeName","pathNode":{"id":53842,"name":"IB3TR","nameLocations":["28331:5:97"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"28331:5:97"},"referencedDeclaration":62888,"src":"28331:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"28330:7:97"},"scope":55137,"src":"28292:110:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53873,"nodeType":"Block","src":"28593:133:97","statements":[{"assignments":[53862],"declarations":[{"constant":false,"id":53862,"mutability":"mutable","name":"$","nameLocation":"28644:1:97","nodeType":"VariableDeclaration","scope":53873,"src":"28599:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":53861,"nodeType":"UserDefinedTypeName","pathNode":{"id":53860,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["28599:20:97","28620:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"28599:36:97"},"referencedDeclaration":61305,"src":"28599:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":53866,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53863,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"28648:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28669:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"28648:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28648:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28599:90:97"},{"expression":{"arguments":[{"expression":{"id":53869,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53862,"src":"28710:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53870,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28712:8:97","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"28710:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":53868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28702:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53867,"name":"address","nodeType":"ElementaryTypeName","src":"28702:7:97","typeDescriptions":{}}},"id":53871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28702:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53857,"id":53872,"nodeType":"Return","src":"28695:26:97"}]},"documentation":{"id":53853,"nodeType":"StructuredDocumentation","src":"28406:124:97","text":" @notice Public accessor to check the address of the timelock\n @return address The address of the timelock"},"functionSelector":"d33219b4","id":53874,"implemented":true,"kind":"function","modifiers":[],"name":"timelock","nameLocation":"28542:8:97","nodeType":"FunctionDefinition","parameters":{"id":53854,"nodeType":"ParameterList","parameters":[],"src":"28550:2:97"},"returnParameters":{"id":53857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53856,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53874,"src":"28584:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53855,"name":"address","nodeType":"ElementaryTypeName","src":"28584:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28583:9:97"},"scope":55137,"src":"28533:193:97","stateMutability":"view","virtual":true,"visibility":"external"},{"baseFunctions":[63666],"body":{"id":53886,"nodeType":"Block","src":"28916:76:97","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53881,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"28929:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28950:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"28929:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28929:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28971:16:97","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":61210,"src":"28929:58:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"functionReturnParameters":53880,"id":53885,"nodeType":"Return","src":"28922:65:97"}]},"documentation":{"id":53875,"nodeType":"StructuredDocumentation","src":"28730:113:97","text":" @notice Returns the VeBetterPassport contract.\n @return The current VeBetterPassport contract."},"functionSelector":"0050ea6f","id":53887,"implemented":true,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"28855:16:97","nodeType":"FunctionDefinition","parameters":{"id":53876,"nodeType":"ParameterList","parameters":[],"src":"28871:2:97"},"returnParameters":{"id":53880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53879,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53887,"src":"28897:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":53878,"nodeType":"UserDefinedTypeName","pathNode":{"id":53877,"name":"IVeBetterPassport","nameLocations":["28897:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"28897:17:97"},"referencedDeclaration":68601,"src":"28897:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"28896:19:97"},"scope":55137,"src":"28846:146:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53899,"nodeType":"Block","src":"29196:77:97","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53894,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"29209:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29230:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"29209:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29209:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29251:17:97","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"29209:59:97","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"functionReturnParameters":53893,"id":53898,"nodeType":"Return","src":"29202:66:97"}]},"documentation":{"id":53888,"nodeType":"StructuredDocumentation","src":"28996:125:97","text":" @notice Returns the NavigatorRegistry contract.\n @return INavigatorRegistry The NavigatorRegistry contract"},"functionSelector":"e125f74e","id":53900,"implemented":true,"kind":"function","modifiers":[],"name":"navigatorRegistry","nameLocation":"29133:17:97","nodeType":"FunctionDefinition","parameters":{"id":53889,"nodeType":"ParameterList","parameters":[],"src":"29150:2:97"},"returnParameters":{"id":53893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53892,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53900,"src":"29176:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":53891,"nodeType":"UserDefinedTypeName","pathNode":{"id":53890,"name":"INavigatorRegistry","nameLocations":["29176:18:97"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"29176:18:97"},"referencedDeclaration":66638,"src":"29176:18:97","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"29175:20:97"},"scope":55137,"src":"29124:149:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63361],"body":{"id":53912,"nodeType":"Block","src":"29417:78:97","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53907,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"29430:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":53908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29451:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"29430:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":53909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29430:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":53910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29472:18:97","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"29430:60:97","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"functionReturnParameters":53906,"id":53911,"nodeType":"Return","src":"29423:67:97"}]},"documentation":{"id":53901,"nodeType":"StructuredDocumentation","src":"29277:63:97","text":" @notice Returns the RelayerRewardsPool contract."},"functionSelector":"6e8a1823","id":53913,"implemented":true,"kind":"function","modifiers":[],"name":"relayerRewardsPool","nameLocation":"29352:18:97","nodeType":"FunctionDefinition","parameters":{"id":53902,"nodeType":"ParameterList","parameters":[],"src":"29370:2:97"},"returnParameters":{"id":53906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53913,"src":"29396:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":53904,"nodeType":"UserDefinedTypeName","pathNode":{"id":53903,"name":"IRelayerRewardsPool","nameLocations":["29396:19:97"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"29396:19:97"},"referencedDeclaration":67117,"src":"29396:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"29395:21:97"},"scope":55137,"src":"29343:152:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":53923,"nodeType":"Block","src":"29640:67:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53919,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"29653:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":53920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29674:26:97","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":57027,"src":"29653:47:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":53921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29653:49:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53918,"id":53922,"nodeType":"Return","src":"29646:56:97"}]},"documentation":{"id":53914,"nodeType":"StructuredDocumentation","src":"29499:68:97","text":" @notice Returns the governance skip window in blocks."},"functionSelector":"ee8a948b","id":53924,"implemented":true,"kind":"function","modifiers":[],"name":"governanceSkipWindowBlocks","nameLocation":"29579:26:97","nodeType":"FunctionDefinition","parameters":{"id":53915,"nodeType":"ParameterList","parameters":[],"src":"29605:2:97"},"returnParameters":{"id":53918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53924,"src":"29631:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53916,"name":"uint256","nodeType":"ElementaryTypeName","src":"29631:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29630:9:97"},"scope":55137,"src":"29570:137:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63761],"body":{"id":53935,"nodeType":"Block","src":"29846:60:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53931,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"29859:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29881:18:97","memberName":"getActiveProposals","nodeType":"MemberAccess","referencedDeclaration":58480,"src":"29859:40:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function () view returns (uint256[] memory)"}},"id":53933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29859:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":53930,"id":53934,"nodeType":"Return","src":"29852:49:97"}]},"documentation":{"id":53925,"nodeType":"StructuredDocumentation","src":"29711:61:97","text":" @notice Returns currently active proposal IDs."},"functionSelector":"5584c4f9","id":53936,"implemented":true,"kind":"function","modifiers":[],"name":"getActiveProposals","nameLocation":"29784:18:97","nodeType":"FunctionDefinition","parameters":{"id":53926,"nodeType":"ParameterList","parameters":[],"src":"29802:2:97"},"returnParameters":{"id":53930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53936,"src":"29828:16:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":53927,"name":"uint256","nodeType":"ElementaryTypeName","src":"29828:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":53928,"nodeType":"ArrayTypeName","src":"29828:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"29827:18:97"},"scope":55137,"src":"29775:131:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63682],"body":{"id":53953,"nodeType":"Block","src":"30173:92:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":53949,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53939,"src":"30248:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53947,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"30213:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":53948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30235:12:97","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":58359,"src":"30213:34:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":53950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30213:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":53945,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"30186:13:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":53946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30200:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"30186:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":53951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30186:74:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"functionReturnParameters":53944,"id":53952,"nodeType":"Return","src":"30179:81:97"}]},"documentation":{"id":53937,"nodeType":"StructuredDocumentation","src":"29910:167:97","text":" @notice Returns the proposal type of a proposal.\n @param proposalId The id of the proposal\n @return GovernorTypes.ProposalType The proposal type"},"functionSelector":"2a09c772","id":53954,"implemented":true,"kind":"function","modifiers":[],"name":"proposalType","nameLocation":"30089:12:97","nodeType":"FunctionDefinition","parameters":{"id":53940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53939,"mutability":"mutable","name":"proposalId","nameLocation":"30110:10:97","nodeType":"VariableDeclaration","scope":53954,"src":"30102:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53938,"name":"uint256","nodeType":"ElementaryTypeName","src":"30102:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30101:20:97"},"returnParameters":{"id":53944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53954,"src":"30145:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":53942,"nodeType":"UserDefinedTypeName","pathNode":{"id":53941,"name":"GovernorTypes.ProposalType","nameLocations":["30145:13:97","30159:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"30145:26:97"},"referencedDeclaration":61431,"src":"30145:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"30144:28:97"},"scope":55137,"src":"30080:185:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63370],"body":{"id":53971,"nodeType":"Block","src":"30589:95:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":53967,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53958,"src":"30660:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":53966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30654:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":53965,"name":"uint8","nodeType":"ElementaryTypeName","src":"30654:5:97","typeDescriptions":{}}},"id":53968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30654:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":53963,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"30602:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":53964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30623:30:97","memberName":"depositThresholdByProposalType","nodeType":"MemberAccess","referencedDeclaration":57610,"src":"30602:51:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":53969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30602:77:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53962,"id":53970,"nodeType":"Return","src":"30595:84:97"}]},"documentation":{"id":53955,"nodeType":"StructuredDocumentation","src":"30269:191:97","text":" @notice Returns the deposit threshold for a proposal type.\n @param proposalTypeValue The type of proposal.\n @return uint256 The deposit threshold for the proposal type."},"functionSelector":"6b6a0704","id":53972,"implemented":true,"kind":"function","modifiers":[],"name":"depositThresholdByProposalType","nameLocation":"30472:30:97","nodeType":"FunctionDefinition","parameters":{"id":53959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53958,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"30535:17:97","nodeType":"VariableDeclaration","scope":53972,"src":"30508:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":53957,"nodeType":"UserDefinedTypeName","pathNode":{"id":53956,"name":"GovernorTypes.ProposalType","nameLocations":["30508:13:97","30522:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"30508:26:97"},"referencedDeclaration":61431,"src":"30508:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"30502:54:97"},"returnParameters":{"id":53962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53961,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53972,"src":"30580:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53960,"name":"uint256","nodeType":"ElementaryTypeName","src":"30580:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30579:9:97"},"scope":55137,"src":"30463:221:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63379],"body":{"id":53986,"nodeType":"Block","src":"31040:87:97","statements":[{"expression":{"arguments":[{"id":53983,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53976,"src":"31104:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":53981,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"31053:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":53982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31074:29:97","memberName":"getDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":56891,"src":"31053:50:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (enum GovernorTypes.ProposalType) view returns (uint256)"}},"id":53984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31053:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53980,"id":53985,"nodeType":"Return","src":"31046:76:97"}]},"documentation":{"id":53973,"nodeType":"StructuredDocumentation","src":"30688:213:97","text":" @notice Returns the deposit threshold percentage for a proposal type.\n @param proposalTypeValue The type of proposal.\n @return uint256 The deposit threshold percentage for the proposal type."},"functionSelector":"542d6db5","id":53987,"implemented":true,"kind":"function","modifiers":[],"name":"depositThresholdPercentageByProposalType","nameLocation":"30913:40:97","nodeType":"FunctionDefinition","parameters":{"id":53977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53976,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"30986:17:97","nodeType":"VariableDeclaration","scope":53987,"src":"30959:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":53975,"nodeType":"UserDefinedTypeName","pathNode":{"id":53974,"name":"GovernorTypes.ProposalType","nameLocations":["30959:13:97","30973:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"30959:26:97"},"referencedDeclaration":61431,"src":"30959:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"30953:54:97"},"returnParameters":{"id":53980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53979,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53987,"src":"31031:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53978,"name":"uint256","nodeType":"ElementaryTypeName","src":"31031:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31030:9:97"},"scope":55137,"src":"30904:223:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":54007,"nodeType":"Block","src":"31544:97:97","statements":[{"expression":{"arguments":[{"id":54000,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53990,"src":"31598:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":54003,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53993,"src":"31617:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":54002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31611:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":54001,"name":"uint8","nodeType":"ElementaryTypeName","src":"31611:5:97","typeDescriptions":{}}},"id":54004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31611:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":53998,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"31557:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":53999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31577:20:97","memberName":"quorumByProposalType","nodeType":"MemberAccess","referencedDeclaration":60543,"src":"31557:40:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint8) view returns (uint256)"}},"id":54005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31557:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53997,"id":54006,"nodeType":"Return","src":"31550:86:97"}]},"documentation":{"id":53988,"nodeType":"StructuredDocumentation","src":"31131:269:97","text":" @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n @param blockNumber The block number to get the quorum for\n @param proposalTypeValue The type of proposal\n @return uint256 The quorum"},"functionSelector":"026865cc","id":54008,"implemented":true,"kind":"function","modifiers":[],"name":"quorumByProposalType","nameLocation":"31412:20:97","nodeType":"FunctionDefinition","parameters":{"id":53994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53990,"mutability":"mutable","name":"blockNumber","nameLocation":"31446:11:97","nodeType":"VariableDeclaration","scope":54008,"src":"31438:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53989,"name":"uint256","nodeType":"ElementaryTypeName","src":"31438:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53993,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"31490:17:97","nodeType":"VariableDeclaration","scope":54008,"src":"31463:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":53992,"nodeType":"UserDefinedTypeName","pathNode":{"id":53991,"name":"GovernorTypes.ProposalType","nameLocations":["31463:13:97","31477:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"31463:26:97"},"referencedDeclaration":61431,"src":"31463:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"31432:79:97"},"returnParameters":{"id":53997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53996,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54008,"src":"31535:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53995,"name":"uint256","nodeType":"ElementaryTypeName","src":"31535:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31534:9:97"},"scope":55137,"src":"31403:238:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":54025,"nodeType":"Block","src":"31939:93:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":54021,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54012,"src":"32008:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":54020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32002:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":54019,"name":"uint8","nodeType":"ElementaryTypeName","src":"32002:5:97","typeDescriptions":{}}},"id":54022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32002:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":54017,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"31952:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":54018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31972:29:97","memberName":"quorumNumeratorByProposalType","nodeType":"MemberAccess","referencedDeclaration":60463,"src":"31952:49:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":54023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31952:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54016,"id":54024,"nodeType":"Return","src":"31945:82:97"}]},"documentation":{"id":54009,"nodeType":"StructuredDocumentation","src":"31645:174:97","text":" @notice Returns the quorum numerator for a specific proposal type.\n @param proposalTypeValue The type of proposal\n @return uint256 The quorum numerator"},"functionSelector":"0eddee30","id":54026,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumeratorByProposalType","nameLocation":"31831:29:97","nodeType":"FunctionDefinition","parameters":{"id":54013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54012,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"31888:17:97","nodeType":"VariableDeclaration","scope":54026,"src":"31861:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":54011,"nodeType":"UserDefinedTypeName","pathNode":{"id":54010,"name":"GovernorTypes.ProposalType","nameLocations":["31861:13:97","31875:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"31861:26:97"},"referencedDeclaration":61431,"src":"31861:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"31860:46:97"},"returnParameters":{"id":54016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54015,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54026,"src":"31930:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54014,"name":"uint256","nodeType":"ElementaryTypeName","src":"31930:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31929:9:97"},"scope":55137,"src":"31822:210:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":54046,"nodeType":"Block","src":"32437:104:97","statements":[{"expression":{"arguments":[{"id":54039,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54029,"src":"32500:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":54042,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54032,"src":"32517:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":54041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32511:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":54040,"name":"uint8","nodeType":"ElementaryTypeName","src":"32511:5:97","typeDescriptions":{}}},"id":54043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32511:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":54037,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"32450:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":54038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32470:29:97","memberName":"quorumNumeratorByProposalType","nodeType":"MemberAccess","referencedDeclaration":60403,"src":"32450:49:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint8) view returns (uint256)"}},"id":54044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32450:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54036,"id":54045,"nodeType":"Return","src":"32443:93:97"}]},"documentation":{"id":54027,"nodeType":"StructuredDocumentation","src":"32036:250:97","text":" @notice Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\n @param timepoint The timepoint to get the quorum numerator for\n @return uint256 The quorum numerator at the given timepoint"},"functionSelector":"5273e74b","id":54047,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumeratorByProposalType","nameLocation":"32298:29:97","nodeType":"FunctionDefinition","parameters":{"id":54033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54029,"mutability":"mutable","name":"timepoint","nameLocation":"32341:9:97","nodeType":"VariableDeclaration","scope":54047,"src":"32333:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54028,"name":"uint256","nodeType":"ElementaryTypeName","src":"32333:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54032,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"32383:17:97","nodeType":"VariableDeclaration","scope":54047,"src":"32356:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":54031,"nodeType":"UserDefinedTypeName","pathNode":{"id":54030,"name":"GovernorTypes.ProposalType","nameLocations":["32356:13:97","32370:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"32356:26:97"},"referencedDeclaration":61431,"src":"32356:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"32327:77:97"},"returnParameters":{"id":54036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54035,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54047,"src":"32428:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54034,"name":"uint256","nodeType":"ElementaryTypeName","src":"32428:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32427:9:97"},"scope":55137,"src":"32289:252:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63744],"body":{"id":54061,"nodeType":"Block","src":"32876:80:97","statements":[{"expression":{"arguments":[{"id":54058,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54051,"src":"32933:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":54056,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"32889:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32910:22:97","memberName":"getDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":56943,"src":"32889:43:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (enum GovernorTypes.ProposalType) view returns (uint256)"}},"id":54059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32889:62:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54055,"id":54060,"nodeType":"Return","src":"32882:69:97"}]},"documentation":{"id":54048,"nodeType":"StructuredDocumentation","src":"32545:199:97","text":" @notice Returns the deposit threshold cap for a proposal type.\n @param proposalTypeValue The type of proposal.\n @return uint256 The deposit threshold cap for the proposal type."},"functionSelector":"e4ec85d4","id":54062,"implemented":true,"kind":"function","modifiers":[],"name":"depositThresholdCapByProposalType","nameLocation":"32756:33:97","nodeType":"FunctionDefinition","parameters":{"id":54052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54051,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"32822:17:97","nodeType":"VariableDeclaration","scope":54062,"src":"32795:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":54050,"nodeType":"UserDefinedTypeName","pathNode":{"id":54049,"name":"GovernorTypes.ProposalType","nameLocations":["32795:13:97","32809:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"32795:26:97"},"referencedDeclaration":61431,"src":"32795:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"32789:54:97"},"returnParameters":{"id":54055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54054,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54062,"src":"32867:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54053,"name":"uint256","nodeType":"ElementaryTypeName","src":"32867:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32866:9:97"},"scope":55137,"src":"32747:209:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63696],"body":{"id":54081,"nodeType":"Block","src":"33135:128:97","statements":[{"assignments":[54073],"declarations":[{"constant":false,"id":54073,"mutability":"mutable","name":"$","nameLocation":"33186:1:97","nodeType":"VariableDeclaration","scope":54081,"src":"33141:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":54072,"nodeType":"UserDefinedTypeName","pathNode":{"id":54071,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["33141:20:97","33162:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"33141:36:97"},"referencedDeclaration":61305,"src":"33141:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":54077,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54074,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"33190:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":54075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33211:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"33190:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":54076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33190:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"33141:90:97"},{"expression":{"expression":{"id":54078,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54073,"src":"33244:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":54079,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33246:12:97","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"33244:14:97","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"functionReturnParameters":54068,"id":54080,"nodeType":"Return","src":"33237:21:97"}]},"documentation":{"id":54063,"nodeType":"StructuredDocumentation","src":"32960:99:97","text":" @notice Get the GalaxyMember contract\n @return The current GalaxyMember contract"},"functionSelector":"f03a98d5","id":54082,"implemented":true,"kind":"function","modifiers":[],"name":"getGalaxyMemberContract","nameLocation":"33071:23:97","nodeType":"FunctionDefinition","parameters":{"id":54064,"nodeType":"ParameterList","parameters":[],"src":"33094:2:97"},"returnParameters":{"id":54068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54067,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54082,"src":"33120:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":54066,"nodeType":"UserDefinedTypeName","pathNode":{"id":54065,"name":"IGalaxyMember","nameLocations":["33120:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"33120:13:97"},"referencedDeclaration":65196,"src":"33120:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"33119:15:97"},"scope":55137,"src":"33062:201:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63717],"body":{"id":54101,"nodeType":"Block","src":"33446:129:97","statements":[{"assignments":[54093],"declarations":[{"constant":false,"id":54093,"mutability":"mutable","name":"$","nameLocation":"33497:1:97","nodeType":"VariableDeclaration","scope":54101,"src":"33452:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":54092,"nodeType":"UserDefinedTypeName","pathNode":{"id":54091,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["33452:20:97","33473:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"33452:36:97"},"referencedDeclaration":61305,"src":"33452:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":54097,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54094,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"33501:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":54095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33522:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"33501:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":54096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33501:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"33452:90:97"},{"expression":{"expression":{"id":54098,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54093,"src":"33555:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":54099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33557:13:97","memberName":"grantsManager","nodeType":"MemberAccess","referencedDeclaration":61239,"src":"33555:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"functionReturnParameters":54088,"id":54100,"nodeType":"Return","src":"33548:22:97"}]},"documentation":{"id":54083,"nodeType":"StructuredDocumentation","src":"33267:101:97","text":" @notice Get the GrantsManager contract\n @return The current GrantsManager contract"},"functionSelector":"cf09f8bf","id":54102,"implemented":true,"kind":"function","modifiers":[],"name":"getGrantsManagerContract","nameLocation":"33380:24:97","nodeType":"FunctionDefinition","parameters":{"id":54084,"nodeType":"ParameterList","parameters":[],"src":"33404:2:97"},"returnParameters":{"id":54088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54087,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54102,"src":"33430:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":54086,"nodeType":"UserDefinedTypeName","pathNode":{"id":54085,"name":"IGrantsManager","nameLocations":["33430:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"33430:14:97"},"referencedDeclaration":65639,"src":"33430:14:97","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"33429:16:97"},"scope":55137,"src":"33371:204:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63726],"body":{"id":54125,"nodeType":"Block","src":"33874:164:97","statements":[{"assignments":[54115],"declarations":[{"constant":false,"id":54115,"mutability":"mutable","name":"$","nameLocation":"33925:1:97","nodeType":"VariableDeclaration","scope":54125,"src":"33880:46:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":54114,"nodeType":"UserDefinedTypeName","pathNode":{"id":54113,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["33880:20:97","33901:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"33880:36:97"},"referencedDeclaration":61305,"src":"33880:36:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":54119,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54116,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"33929:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":54117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33950:18:97","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"33929:39:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":54118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33929:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"33880:90:97"},{"expression":{"baseExpression":{"expression":{"id":54120,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54115,"src":"33983:1:97","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":54121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33985:29:97","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":61247,"src":"33983:31:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":54123,"indexExpression":{"id":54122,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54106,"src":"34015:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33983:50:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54110,"id":54124,"nodeType":"Return","src":"33976:57:97"}]},"documentation":{"id":54103,"nodeType":"StructuredDocumentation","src":"33579:164:97","text":" @notice Get the GM weight for a proposal type\n @param proposalTypeValue The type of the proposal\n @return The GM weight for the proposal type"},"functionSelector":"6dd139be","id":54126,"implemented":true,"kind":"function","modifiers":[],"name":"getRequiredGMLevelByProposalType","nameLocation":"33755:32:97","nodeType":"FunctionDefinition","parameters":{"id":54107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54106,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"33820:17:97","nodeType":"VariableDeclaration","scope":54126,"src":"33793:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":54105,"nodeType":"UserDefinedTypeName","pathNode":{"id":54104,"name":"GovernorTypes.ProposalType","nameLocations":["33793:13:97","33807:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"33793:26:97"},"referencedDeclaration":61431,"src":"33793:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"33787:54:97"},"returnParameters":{"id":54110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54126,"src":"33865:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54108,"name":"uint256","nodeType":"ElementaryTypeName","src":"33865:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33864:9:97"},"scope":55137,"src":"33746:292:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":54136,"nodeType":"Block","src":"34189:19:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":54133,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"34195:6:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":54134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34195:8:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54135,"nodeType":"ExpressionStatement","src":"34195:8:97"}]},"documentation":{"id":54127,"nodeType":"StructuredDocumentation","src":"34097:41:97","text":" @notice Pause the contract"},"functionSelector":"8456cb59","id":54137,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54130,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52964,"src":"34176:11:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54131,"kind":"modifierInvocation","modifierName":{"id":54129,"name":"onlyRole","nameLocations":["34167:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"34167:8:97"},"nodeType":"ModifierInvocation","src":"34167:21:97"}],"name":"pause","nameLocation":"34150:5:97","nodeType":"FunctionDefinition","parameters":{"id":54128,"nodeType":"ParameterList","parameters":[],"src":"34155:2:97"},"returnParameters":{"id":54132,"nodeType":"ParameterList","parameters":[],"src":"34189:0:97"},"scope":55137,"src":"34141:67:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":54147,"nodeType":"Block","src":"34308:21:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":54144,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4162,"src":"34314:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":54145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34314:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54146,"nodeType":"ExpressionStatement","src":"34314:10:97"}]},"documentation":{"id":54138,"nodeType":"StructuredDocumentation","src":"34212:43:97","text":" @notice Unpause the contract"},"functionSelector":"3f4ba83a","id":54148,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54141,"name":"PAUSER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52964,"src":"34295:11:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54142,"kind":"modifierInvocation","modifierName":{"id":54140,"name":"onlyRole","nameLocations":["34286:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"34286:8:97"},"nodeType":"ModifierInvocation","src":"34286:21:97"}],"name":"unpause","nameLocation":"34267:7:97","nodeType":"FunctionDefinition","parameters":{"id":54139,"nodeType":"ParameterList","parameters":[],"src":"34274:2:97"},"returnParameters":{"id":54143,"nodeType":"ParameterList","parameters":[],"src":"34308:0:97"},"scope":55137,"src":"34258:71:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63495],"body":{"id":54184,"nodeType":"Block","src":"35272:198:97","statements":[{"expression":{"arguments":[{"id":54175,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54152,"src":"35330:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":54176,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54155,"src":"35347:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":54177,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54158,"src":"35363:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":54178,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54160,"src":"35382:11:97","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54179,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54162,"src":"35403:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54180,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54164,"src":"35425:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54181,"name":"maxBudget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54166,"src":"35448:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54173,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"35291:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":54174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35313:7:97","memberName":"propose","nodeType":"MemberAccess","referencedDeclaration":58561,"src":"35291:29:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256,uint256) returns (uint256)"}},"id":54182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35291:174:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54172,"id":54183,"nodeType":"Return","src":"35278:187:97"}]},"documentation":{"id":54149,"nodeType":"StructuredDocumentation","src":"34333:678:97","text":" @notice See {IB3TRGovernor-propose}.\n @dev V11 consolidated entrypoint. Single `propose` function with mandatory `maxBudget`\n      parameter — pass `0` for proposals without a community-execution payout flow.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param description The proposal description\n @param startRoundId The round in which the proposal should start\n @param depositAmount The amount of deposit for the proposal\n @param maxBudget Maximum implementation budget in B3TR wei (0 = no payout flow)\n @return uint256 The proposal id"},"functionSelector":"eab59fd2","id":54185,"implemented":true,"kind":"function","modifiers":[{"id":54169,"kind":"modifierInvocation","modifierName":{"id":54168,"name":"whenNotPaused","nameLocations":["35240:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"35240:13:97"},"nodeType":"ModifierInvocation","src":"35240:13:97"}],"name":"propose","nameLocation":"35023:7:97","nodeType":"FunctionDefinition","parameters":{"id":54167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54152,"mutability":"mutable","name":"targets","nameLocation":"35053:7:97","nodeType":"VariableDeclaration","scope":54185,"src":"35036:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":54150,"name":"address","nodeType":"ElementaryTypeName","src":"35036:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":54151,"nodeType":"ArrayTypeName","src":"35036:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":54155,"mutability":"mutable","name":"values","nameLocation":"35083:6:97","nodeType":"VariableDeclaration","scope":54185,"src":"35066:23:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":54153,"name":"uint256","nodeType":"ElementaryTypeName","src":"35066:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54154,"nodeType":"ArrayTypeName","src":"35066:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":54158,"mutability":"mutable","name":"calldatas","nameLocation":"35110:9:97","nodeType":"VariableDeclaration","scope":54185,"src":"35095:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":54156,"name":"bytes","nodeType":"ElementaryTypeName","src":"35095:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":54157,"nodeType":"ArrayTypeName","src":"35095:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":54160,"mutability":"mutable","name":"description","nameLocation":"35139:11:97","nodeType":"VariableDeclaration","scope":54185,"src":"35125:25:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54159,"name":"string","nodeType":"ElementaryTypeName","src":"35125:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54162,"mutability":"mutable","name":"startRoundId","nameLocation":"35164:12:97","nodeType":"VariableDeclaration","scope":54185,"src":"35156:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54161,"name":"uint256","nodeType":"ElementaryTypeName","src":"35156:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54164,"mutability":"mutable","name":"depositAmount","nameLocation":"35190:13:97","nodeType":"VariableDeclaration","scope":54185,"src":"35182:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54163,"name":"uint256","nodeType":"ElementaryTypeName","src":"35182:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54166,"mutability":"mutable","name":"maxBudget","nameLocation":"35217:9:97","nodeType":"VariableDeclaration","scope":54185,"src":"35209:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54165,"name":"uint256","nodeType":"ElementaryTypeName","src":"35209:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35030:200:97"},"returnParameters":{"id":54172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54171,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54185,"src":"35263:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54170,"name":"uint256","nodeType":"ElementaryTypeName","src":"35263:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35262:9:97"},"scope":55137,"src":"35014:456:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63537],"body":{"id":54216,"nodeType":"Block","src":"35984:105:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":54208,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"36033:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}],"id":54207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36025:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54206,"name":"address","nodeType":"ElementaryTypeName","src":"36025:7:97","typeDescriptions":{}}},"id":54209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36025:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54210,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54189,"src":"36040:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":54211,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54192,"src":"36049:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":54212,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54195,"src":"36057:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":54213,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54197,"src":"36068:15:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54204,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"35997:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":54205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36019:5:97","memberName":"queue","nodeType":"MemberAccess","referencedDeclaration":58783,"src":"35997:27:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)"}},"id":54214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35997:87:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54203,"id":54215,"nodeType":"Return","src":"35990:94:97"}]},"documentation":{"id":54186,"nodeType":"StructuredDocumentation","src":"35474:329:97","text":" @notice See {IB3TRGovernor-queue}.\n Callable only when contract is not paused.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param descriptionHash The hash of the description\n @return uint256 The proposal id"},"functionSelector":"160cbed7","id":54217,"implemented":true,"kind":"function","modifiers":[{"id":54200,"kind":"modifierInvocation","modifierName":{"id":54199,"name":"whenNotPaused","nameLocations":["35952:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"35952:13:97"},"nodeType":"ModifierInvocation","src":"35952:13:97"}],"name":"queue","nameLocation":"35815:5:97","nodeType":"FunctionDefinition","parameters":{"id":54198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54189,"mutability":"mutable","name":"targets","nameLocation":"35843:7:97","nodeType":"VariableDeclaration","scope":54217,"src":"35826:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":54187,"name":"address","nodeType":"ElementaryTypeName","src":"35826:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":54188,"nodeType":"ArrayTypeName","src":"35826:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":54192,"mutability":"mutable","name":"values","nameLocation":"35873:6:97","nodeType":"VariableDeclaration","scope":54217,"src":"35856:23:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":54190,"name":"uint256","nodeType":"ElementaryTypeName","src":"35856:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54191,"nodeType":"ArrayTypeName","src":"35856:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":54195,"mutability":"mutable","name":"calldatas","nameLocation":"35900:9:97","nodeType":"VariableDeclaration","scope":54217,"src":"35885:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":54193,"name":"bytes","nodeType":"ElementaryTypeName","src":"35885:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":54194,"nodeType":"ArrayTypeName","src":"35885:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":54197,"mutability":"mutable","name":"descriptionHash","nameLocation":"35923:15:97","nodeType":"VariableDeclaration","scope":54217,"src":"35915:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35915:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"35820:122:97"},"returnParameters":{"id":54203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54202,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54217,"src":"35975:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54201,"name":"uint256","nodeType":"ElementaryTypeName","src":"35975:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35974:9:97"},"scope":55137,"src":"35806:283:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63554],"body":{"id":54251,"nodeType":"Block","src":"36658:107:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":54243,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"36709:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}],"id":54242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36701:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54241,"name":"address","nodeType":"ElementaryTypeName","src":"36701:7:97","typeDescriptions":{}}},"id":54244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36701:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54245,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"36716:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":54246,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54224,"src":"36725:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":54247,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54227,"src":"36733:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":54248,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"36744:15:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54239,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"36671:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":54240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36693:7:97","memberName":"execute","nodeType":"MemberAccess","referencedDeclaration":58925,"src":"36671:29:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)"}},"id":54249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36671:89:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54238,"id":54250,"nodeType":"Return","src":"36664:96:97"}]},"documentation":{"id":54218,"nodeType":"StructuredDocumentation","src":"36093:331:97","text":" @notice See {IB3TRGovernor-execute}.\n Callable only when contract is not paused.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param descriptionHash The hash of the description\n @return uint256 The proposal id"},"functionSelector":"2656227d","id":54252,"implemented":true,"kind":"function","modifiers":[{"id":54232,"kind":"modifierInvocation","modifierName":{"id":54231,"name":"whenNotPaused","nameLocations":["36583:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"36583:13:97"},"nodeType":"ModifierInvocation","src":"36583:13:97"},{"arguments":[{"id":54234,"name":"PROPOSAL_EXECUTOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52976,"src":"36616:22:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54235,"kind":"modifierInvocation","modifierName":{"id":54233,"name":"onlyRoleOrOpenRole","nameLocations":["36597:18:97"],"nodeType":"IdentifierPath","referencedDeclaration":53178,"src":"36597:18:97"},"nodeType":"ModifierInvocation","src":"36597:42:97"}],"name":"execute","nameLocation":"36436:7:97","nodeType":"FunctionDefinition","parameters":{"id":54230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54221,"mutability":"mutable","name":"targets","nameLocation":"36466:7:97","nodeType":"VariableDeclaration","scope":54252,"src":"36449:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":54219,"name":"address","nodeType":"ElementaryTypeName","src":"36449:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":54220,"nodeType":"ArrayTypeName","src":"36449:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":54224,"mutability":"mutable","name":"values","nameLocation":"36496:6:97","nodeType":"VariableDeclaration","scope":54252,"src":"36479:23:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":54222,"name":"uint256","nodeType":"ElementaryTypeName","src":"36479:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54223,"nodeType":"ArrayTypeName","src":"36479:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":54227,"mutability":"mutable","name":"calldatas","nameLocation":"36523:9:97","nodeType":"VariableDeclaration","scope":54252,"src":"36508:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":54225,"name":"bytes","nodeType":"ElementaryTypeName","src":"36508:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":54226,"nodeType":"ArrayTypeName","src":"36508:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":54229,"mutability":"mutable","name":"descriptionHash","nameLocation":"36546:15:97","nodeType":"VariableDeclaration","scope":54252,"src":"36538:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36538:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"36443:122:97"},"returnParameters":{"id":54238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54252,"src":"36649:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54236,"name":"uint256","nodeType":"ElementaryTypeName","src":"36649:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36648:9:97"},"scope":55137,"src":"36427:338:97","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[63573],"body":{"id":54287,"nodeType":"Block","src":"37297:226:97","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":54273,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"37354:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":54274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37354:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54276,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"37384:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":54277,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"37404:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":54278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37404:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":54275,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"37376:7:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":54279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37376:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54280,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54256,"src":"37427:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":54281,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54259,"src":"37444:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":54282,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54262,"src":"37460:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":54283,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54264,"src":"37479:15:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54284,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54266,"src":"37504:6:97","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54271,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"37316:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":54272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37338:6:97","memberName":"cancel","nodeType":"MemberAccess","referencedDeclaration":59082,"src":"37316:28:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_bool_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,bool,address[] memory,uint256[] memory,bytes memory[] memory,bytes32,string memory) returns (uint256)"}},"id":54285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37316:202:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54270,"id":54286,"nodeType":"Return","src":"37303:215:97"}]},"documentation":{"id":54253,"nodeType":"StructuredDocumentation","src":"36769:334:97","text":" @notice See {Governor-cancel}.\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param descriptionHash The hash of the description\n @param reason The reason for canceling the proposal\n @return uint256 The proposal id"},"functionSelector":"de65f41a","id":54288,"implemented":true,"kind":"function","modifiers":[],"name":"cancel","nameLocation":"37115:6:97","nodeType":"FunctionDefinition","parameters":{"id":54267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54256,"mutability":"mutable","name":"targets","nameLocation":"37144:7:97","nodeType":"VariableDeclaration","scope":54288,"src":"37127:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":54254,"name":"address","nodeType":"ElementaryTypeName","src":"37127:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":54255,"nodeType":"ArrayTypeName","src":"37127:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":54259,"mutability":"mutable","name":"values","nameLocation":"37174:6:97","nodeType":"VariableDeclaration","scope":54288,"src":"37157:23:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":54257,"name":"uint256","nodeType":"ElementaryTypeName","src":"37157:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54258,"nodeType":"ArrayTypeName","src":"37157:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":54262,"mutability":"mutable","name":"calldatas","nameLocation":"37201:9:97","nodeType":"VariableDeclaration","scope":54288,"src":"37186:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":54260,"name":"bytes","nodeType":"ElementaryTypeName","src":"37186:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":54261,"nodeType":"ArrayTypeName","src":"37186:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":54264,"mutability":"mutable","name":"descriptionHash","nameLocation":"37224:15:97","nodeType":"VariableDeclaration","scope":54288,"src":"37216:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37216:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54266,"mutability":"mutable","name":"reason","nameLocation":"37259:6:97","nodeType":"VariableDeclaration","scope":54288,"src":"37245:20:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54265,"name":"string","nodeType":"ElementaryTypeName","src":"37245:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37121:148:97"},"returnParameters":{"id":54270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54288,"src":"37288:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54268,"name":"uint256","nodeType":"ElementaryTypeName","src":"37288:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37287:9:97"},"scope":55137,"src":"37106:417:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63583],"body":{"id":54307,"nodeType":"Block","src":"37820:84:97","statements":[{"expression":{"arguments":[{"id":54300,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54291,"src":"37861:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":54301,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"37873:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":54302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37873:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54303,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54293,"src":"37887:7:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"hexValue":"","id":54304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37896:2:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":54298,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"37833:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":54299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37852:8:97","memberName":"castVote","nodeType":"MemberAccess","referencedDeclaration":62070,"src":"37833:27:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory) returns (uint256)"}},"id":54305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37833:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54297,"id":54306,"nodeType":"Return","src":"37826:73:97"}]},"documentation":{"id":54289,"nodeType":"StructuredDocumentation","src":"37527:210:97","text":" @notice See {IB3TRGovernor-castVote}.\n @param proposalId The id of the proposal\n @param support The support value (0 = against, 1 = for, 2 = abstain)\n @return uint256 The voting power"},"functionSelector":"56781388","id":54308,"implemented":true,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"37749:8:97","nodeType":"FunctionDefinition","parameters":{"id":54294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54291,"mutability":"mutable","name":"proposalId","nameLocation":"37766:10:97","nodeType":"VariableDeclaration","scope":54308,"src":"37758:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54290,"name":"uint256","nodeType":"ElementaryTypeName","src":"37758:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54293,"mutability":"mutable","name":"support","nameLocation":"37784:7:97","nodeType":"VariableDeclaration","scope":54308,"src":"37778:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54292,"name":"uint8","nodeType":"ElementaryTypeName","src":"37778:5:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"37757:35:97"},"returnParameters":{"id":54297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54296,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54308,"src":"37811:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54295,"name":"uint256","nodeType":"ElementaryTypeName","src":"37811:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37810:9:97"},"scope":55137,"src":"37740:164:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63595],"body":{"id":54329,"nodeType":"Block","src":"38288:88:97","statements":[{"expression":{"arguments":[{"id":54322,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54311,"src":"38329:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":54323,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"38341:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":54324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38341:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54325,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54313,"src":"38355:7:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54326,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54315,"src":"38364:6:97","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"expression":{"id":54320,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"38301:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":54321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38320:8:97","memberName":"castVote","nodeType":"MemberAccess","referencedDeclaration":62070,"src":"38301:27:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,uint8,string memory) returns (uint256)"}},"id":54327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38301:70:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54319,"id":54328,"nodeType":"Return","src":"38294:77:97"}]},"documentation":{"id":54309,"nodeType":"StructuredDocumentation","src":"37908:263:97","text":" @notice See {IB3TRGovernor-castVoteWithReason}.\n @param proposalId The id of the proposal\n @param support The support value (0 = against, 1 = for, 2 = abstain)\n @param reason The reason for the vote\n @return uint256 The voting power"},"functionSelector":"7b3c71d3","id":54330,"implemented":true,"kind":"function","modifiers":[],"name":"castVoteWithReason","nameLocation":"38183:18:97","nodeType":"FunctionDefinition","parameters":{"id":54316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54311,"mutability":"mutable","name":"proposalId","nameLocation":"38210:10:97","nodeType":"VariableDeclaration","scope":54330,"src":"38202:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54310,"name":"uint256","nodeType":"ElementaryTypeName","src":"38202:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54313,"mutability":"mutable","name":"support","nameLocation":"38228:7:97","nodeType":"VariableDeclaration","scope":54330,"src":"38222:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54312,"name":"uint8","nodeType":"ElementaryTypeName","src":"38222:5:97","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54315,"mutability":"mutable","name":"reason","nameLocation":"38253:6:97","nodeType":"VariableDeclaration","scope":54330,"src":"38237:22:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":54314,"name":"string","nodeType":"ElementaryTypeName","src":"38237:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38201:59:97"},"returnParameters":{"id":54319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54318,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54330,"src":"38279:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54317,"name":"uint256","nodeType":"ElementaryTypeName","src":"38279:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38278:9:97"},"scope":55137,"src":"38174:202:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":54346,"nodeType":"Block","src":"38727:75:97","statements":[{"expression":{"arguments":[{"id":54342,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54333,"src":"38777:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54343,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54335,"src":"38789:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54340,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"38740:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":54341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38759:17:97","memberName":"castNavigatorVote","nodeType":"MemberAccess","referencedDeclaration":62374,"src":"38740:36:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) returns (uint256)"}},"id":54344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38740:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54339,"id":54345,"nodeType":"Return","src":"38733:64:97"}]},"documentation":{"id":54331,"nodeType":"StructuredDocumentation","src":"38380:253:97","text":" @notice Cast a governance vote on behalf of a citizen delegated to a navigator.\n @param proposalId The id of the proposal\n @param citizen The delegated citizen whose voting power is used\n @return uint256 The voting weight used"},"functionSelector":"b6e9eff4","id":54347,"implemented":true,"kind":"function","modifiers":[],"name":"castNavigatorVote","nameLocation":"38645:17:97","nodeType":"FunctionDefinition","parameters":{"id":54336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54333,"mutability":"mutable","name":"proposalId","nameLocation":"38671:10:97","nodeType":"VariableDeclaration","scope":54347,"src":"38663:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54332,"name":"uint256","nodeType":"ElementaryTypeName","src":"38663:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54335,"mutability":"mutable","name":"citizen","nameLocation":"38691:7:97","nodeType":"VariableDeclaration","scope":54347,"src":"38683:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54334,"name":"address","nodeType":"ElementaryTypeName","src":"38683:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38662:37:97"},"returnParameters":{"id":54339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54347,"src":"38718:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54337,"name":"uint256","nodeType":"ElementaryTypeName","src":"38718:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38717:9:97"},"scope":55137,"src":"38636:166:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63633],"body":{"id":54362,"nodeType":"Block","src":"39037:63:97","statements":[{"expression":{"arguments":[{"id":54358,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54350,"src":"39073:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54359,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54352,"src":"39085:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54355,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"39043:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":54357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39064:8:97","memberName":"withdraw","nodeType":"MemberAccess","referencedDeclaration":57352,"src":"39043:29:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":54360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39043:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54361,"nodeType":"ExpressionStatement","src":"39043:52:97"}]},"documentation":{"id":54348,"nodeType":"StructuredDocumentation","src":"38806:162:97","text":" @notice Withdraws deposits for a specific proposal\n @param proposalId The id of the proposal\n @param depositor The address of the depositor"},"functionSelector":"00f714ce","id":54363,"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"38980:8:97","nodeType":"FunctionDefinition","parameters":{"id":54353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54350,"mutability":"mutable","name":"proposalId","nameLocation":"38997:10:97","nodeType":"VariableDeclaration","scope":54363,"src":"38989:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54349,"name":"uint256","nodeType":"ElementaryTypeName","src":"38989:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54352,"mutability":"mutable","name":"depositor","nameLocation":"39017:9:97","nodeType":"VariableDeclaration","scope":54363,"src":"39009:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54351,"name":"address","nodeType":"ElementaryTypeName","src":"39009:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38988:39:97"},"returnParameters":{"id":54354,"nodeType":"ParameterList","parameters":[],"src":"39037:0:97"},"scope":55137,"src":"38971:129:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63625],"body":{"id":54378,"nodeType":"Block","src":"39328:59:97","statements":[{"expression":{"arguments":[{"id":54374,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54366,"src":"39363:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54368,"src":"39371:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54371,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"39334:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":54373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39355:7:97","memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":57241,"src":"39334:28:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":54376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39334:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54377,"nodeType":"ExpressionStatement","src":"39334:48:97"}]},"documentation":{"id":54364,"nodeType":"StructuredDocumentation","src":"39104:159:97","text":" @notice Deposits tokens for a specific proposal\n @param amount The amount of tokens to deposit\n @param proposalId The id of the proposal"},"functionSelector":"e2bbb158","id":54379,"implemented":true,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"39275:7:97","nodeType":"FunctionDefinition","parameters":{"id":54369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54366,"mutability":"mutable","name":"amount","nameLocation":"39291:6:97","nodeType":"VariableDeclaration","scope":54379,"src":"39283:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54365,"name":"uint256","nodeType":"ElementaryTypeName","src":"39283:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54368,"mutability":"mutable","name":"proposalId","nameLocation":"39307:10:97","nodeType":"VariableDeclaration","scope":54379,"src":"39299:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54367,"name":"uint256","nodeType":"ElementaryTypeName","src":"39299:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39282:36:97"},"returnParameters":{"id":54370,"nodeType":"ParameterList","parameters":[],"src":"39328:0:97"},"scope":55137,"src":"39266:121:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":54394,"nodeType":"Block","src":"39729:72:97","statements":[{"expression":{"arguments":[{"id":54391,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54382,"src":"39777:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54388,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"39735:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":54390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39755:21:97","memberName":"updateQuorumNumerator","nodeType":"MemberAccess","referencedDeclaration":60557,"src":"39735:41:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":54392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39735:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54393,"nodeType":"ExpressionStatement","src":"39735:61:97"}]},"documentation":{"id":54380,"nodeType":"StructuredDocumentation","src":"39391:226:97","text":" @notice Changes the quorum numerator.\n This operation can only be performed through a governance proposal.\n Emits a {QuorumNumeratorUpdated} event.\n @param newQuorumNumerator The new quorum numerator"},"functionSelector":"06f3f9e6","id":54395,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54385,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"39709:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54386,"kind":"modifierInvocation","modifierName":{"id":54384,"name":"onlyRoleOrGovernance","nameLocations":["39688:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"39688:20:97"},"nodeType":"ModifierInvocation","src":"39688:40:97"}],"name":"updateQuorumNumerator","nameLocation":"39629:21:97","nodeType":"FunctionDefinition","parameters":{"id":54383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54382,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"39659:18:97","nodeType":"VariableDeclaration","scope":54395,"src":"39651:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54381,"name":"uint256","nodeType":"ElementaryTypeName","src":"39651:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39650:28:97"},"returnParameters":{"id":54387,"nodeType":"ParameterList","parameters":[],"src":"39729:0:97"},"scope":55137,"src":"39620:181:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":54407,"nodeType":"Block","src":"40132:53:97","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54402,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"40138:18:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":54404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40157:21:97","memberName":"toggleQuadraticVoting","nodeType":"MemberAccess","referencedDeclaration":62450,"src":"40138:40:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$__$returns$__$","typeString":"function ()"}},"id":54405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40138:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54406,"nodeType":"ExpressionStatement","src":"40138:42:97"}]},"documentation":{"id":54396,"nodeType":"StructuredDocumentation","src":"39805:241:97","text":" @notice Toggle quadratic voting for next round.\n @dev This function toggles the state of quadratic votingstarting from the next round.\n The state will flip between enabled and disabled each time the function is called."},"functionSelector":"9c17e7b3","id":54408,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54399,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"40112:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54400,"kind":"modifierInvocation","modifierName":{"id":54398,"name":"onlyRoleOrGovernance","nameLocations":["40091:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"40091:20:97"},"nodeType":"ModifierInvocation","src":"40091:40:97"}],"name":"toggleQuadraticVoting","nameLocation":"40058:21:97","nodeType":"FunctionDefinition","parameters":{"id":54397,"nodeType":"ParameterList","parameters":[],"src":"40079:2:97"},"returnParameters":{"id":54401,"nodeType":"ParameterList","parameters":[],"src":"40132:0:97"},"scope":55137,"src":"40049:136:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":54429,"nodeType":"Block","src":"40668:106:97","statements":[{"expression":{"arguments":[{"id":54424,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54411,"src":"40729:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54425,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54413,"src":"40737:16:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":54426,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54415,"src":"40755:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54421,"name":"GovernorFunctionRestrictionsLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57873,"src":"40674:33:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogic_$57873_$","typeString":"type(library GovernorFunctionRestrictionsLogic)"}},"id":54423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40708:20:97","memberName":"setWhitelistFunction","nodeType":"MemberAccess","referencedDeclaration":57712,"src":"40674:54:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_bytes4_$_t_bool_$returns$__$","typeString":"function (address,bytes4,bool)"}},"id":54427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40674:95:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54428,"nodeType":"ExpressionStatement","src":"40674:95:97"}]},"documentation":{"id":54409,"nodeType":"StructuredDocumentation","src":"40189:307:97","text":" @notice Method that allows to restrict functions that can be called by proposals for a single function selector\n @param target The address of the contract\n @param functionSelector The function selector\n @param isWhitelisted Bool indicating if function is whitelisted for proposals"},"functionSelector":"be9bd92b","id":54430,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54418,"name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52958,"src":"40634:32:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54419,"kind":"modifierInvocation","modifierName":{"id":54417,"name":"onlyRoleOrGovernance","nameLocations":["40613:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"40613:20:97"},"nodeType":"ModifierInvocation","src":"40613:54:97"}],"name":"setWhitelistFunction","nameLocation":"40508:20:97","nodeType":"FunctionDefinition","parameters":{"id":54416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54411,"mutability":"mutable","name":"target","nameLocation":"40542:6:97","nodeType":"VariableDeclaration","scope":54430,"src":"40534:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54410,"name":"address","nodeType":"ElementaryTypeName","src":"40534:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54413,"mutability":"mutable","name":"functionSelector","nameLocation":"40561:16:97","nodeType":"VariableDeclaration","scope":54430,"src":"40554:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":54412,"name":"bytes4","nodeType":"ElementaryTypeName","src":"40554:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":54415,"mutability":"mutable","name":"isWhitelisted","nameLocation":"40588:13:97","nodeType":"VariableDeclaration","scope":54430,"src":"40583:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54414,"name":"bool","nodeType":"ElementaryTypeName","src":"40583:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40528:77:97"},"returnParameters":{"id":54420,"nodeType":"ParameterList","parameters":[],"src":"40668:0:97"},"scope":55137,"src":"40499:275:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54452,"nodeType":"Block","src":"41284:108:97","statements":[{"expression":{"arguments":[{"id":54447,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54433,"src":"41346:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54448,"name":"functionSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54436,"src":"41354:17:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},{"id":54449,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54438,"src":"41373:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54444,"name":"GovernorFunctionRestrictionsLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57873,"src":"41290:33:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogic_$57873_$","typeString":"type(library GovernorFunctionRestrictionsLogic)"}},"id":54446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41324:21:97","memberName":"setWhitelistFunctions","nodeType":"MemberAccess","referencedDeclaration":57743,"src":"41290:55:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_array$_t_bytes4_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes4[] memory,bool)"}},"id":54450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41290:97:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54451,"nodeType":"ExpressionStatement","src":"41290:97:97"}]},"documentation":{"id":54431,"nodeType":"StructuredDocumentation","src":"40778:323:97","text":" @notice Method that allows to restrict functions that can be called by proposals for multiple function selectors at once\n @param target The address of the contract\n @param functionSelectors Array of function selectors\n @param isWhitelisted Bool indicating if function is whitelisted for proposals"},"functionSelector":"8e828cb4","id":54453,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54441,"name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52958,"src":"41250:32:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54442,"kind":"modifierInvocation","modifierName":{"id":54440,"name":"onlyRoleOrGovernance","nameLocations":["41229:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"41229:20:97"},"nodeType":"ModifierInvocation","src":"41229:54:97"}],"name":"setWhitelistFunctions","nameLocation":"41113:21:97","nodeType":"FunctionDefinition","parameters":{"id":54439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54433,"mutability":"mutable","name":"target","nameLocation":"41148:6:97","nodeType":"VariableDeclaration","scope":54453,"src":"41140:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54432,"name":"address","nodeType":"ElementaryTypeName","src":"41140:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54436,"mutability":"mutable","name":"functionSelectors","nameLocation":"41176:17:97","nodeType":"VariableDeclaration","scope":54453,"src":"41160:33:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":54434,"name":"bytes4","nodeType":"ElementaryTypeName","src":"41160:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":54435,"nodeType":"ArrayTypeName","src":"41160:8:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"},{"constant":false,"id":54438,"mutability":"mutable","name":"isWhitelisted","nameLocation":"41204:13:97","nodeType":"VariableDeclaration","scope":54453,"src":"41199:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54437,"name":"bool","nodeType":"ElementaryTypeName","src":"41199:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41134:87:97"},"returnParameters":{"id":54443,"nodeType":"ParameterList","parameters":[],"src":"41284:0:97"},"scope":55137,"src":"41104:288:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54468,"nodeType":"Block","src":"41675:87:97","statements":[{"expression":{"arguments":[{"id":54465,"name":"isEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54456,"src":"41747:9:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54462,"name":"GovernorFunctionRestrictionsLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57873,"src":"41681:33:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogic_$57873_$","typeString":"type(library GovernorFunctionRestrictionsLogic)"}},"id":54464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41715:31:97","memberName":"setIsFunctionRestrictionEnabled","nodeType":"MemberAccess","referencedDeclaration":57764,"src":"41681:65:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":54466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41681:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54467,"nodeType":"ExpressionStatement","src":"41681:76:97"}]},"documentation":{"id":54454,"nodeType":"StructuredDocumentation","src":"41396:149:97","text":" @notice Method that allows to toggle the function restriction on/off\n @param isEnabled Flag to enable/disable function restriction"},"functionSelector":"4c5ead08","id":54469,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54459,"name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52958,"src":"41641:32:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54460,"kind":"modifierInvocation","modifierName":{"id":54458,"name":"onlyRoleOrGovernance","nameLocations":["41620:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"41620:20:97"},"nodeType":"ModifierInvocation","src":"41620:54:97"}],"name":"setIsFunctionRestrictionEnabled","nameLocation":"41557:31:97","nodeType":"FunctionDefinition","parameters":{"id":54457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54456,"mutability":"mutable","name":"isEnabled","nameLocation":"41599:9:97","nodeType":"VariableDeclaration","scope":54469,"src":"41594:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54455,"name":"bool","nodeType":"ElementaryTypeName","src":"41594:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41588:24:97"},"returnParameters":{"id":54461,"nodeType":"ParameterList","parameters":[],"src":"41675:0:97"},"scope":55137,"src":"41548:214:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54484,"nodeType":"Block","src":"42116:68:97","statements":[{"expression":{"arguments":[{"id":54481,"name":"newMinVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54472,"src":"42161:17:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54478,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"42122:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42143:17:97","memberName":"setMinVotingDelay","nodeType":"MemberAccess","referencedDeclaration":56358,"src":"42122:38:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":54482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42122:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54483,"nodeType":"ExpressionStatement","src":"42122:57:97"}]},"documentation":{"id":54470,"nodeType":"StructuredDocumentation","src":"41766:245:97","text":" @notice Update the min voting delay before vote can start.\n This operation can only be performed through a governance proposal.\n Emits a {MinVotingDelaySet} event.\n @param newMinVotingDelay The new minimum voting delay"},"functionSelector":"b26a9509","id":54485,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54475,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"42096:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54476,"kind":"modifierInvocation","modifierName":{"id":54474,"name":"onlyRoleOrGovernance","nameLocations":["42075:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"42075:20:97"},"nodeType":"ModifierInvocation","src":"42075:40:97"}],"name":"setMinVotingDelay","nameLocation":"42023:17:97","nodeType":"FunctionDefinition","parameters":{"id":54473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54472,"mutability":"mutable","name":"newMinVotingDelay","nameLocation":"42049:17:97","nodeType":"VariableDeclaration","scope":54485,"src":"42041:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54471,"name":"uint256","nodeType":"ElementaryTypeName","src":"42041:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42040:27:97"},"returnParameters":{"id":54477,"nodeType":"ParameterList","parameters":[],"src":"42116:0:97"},"scope":55137,"src":"42014:170:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54500,"nodeType":"Block","src":"42473:71:97","statements":[{"expression":{"arguments":[{"id":54497,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54488,"src":"42530:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54494,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"42479:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42500:29:97","memberName":"setGovernanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":56330,"src":"42479:50:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":54498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42479:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54499,"nodeType":"ExpressionStatement","src":"42479:60:97"}]},"documentation":{"id":54486,"nodeType":"StructuredDocumentation","src":"42188:177:97","text":" @notice Set the governance skip window (blocks before proposal deadline when relayers can skip navigator votes)\n @param newValue The new skip window in blocks"},"functionSelector":"3397d78d","id":54501,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54491,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"42453:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54492,"kind":"modifierInvocation","modifierName":{"id":54490,"name":"onlyRoleOrGovernance","nameLocations":["42432:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"42432:20:97"},"nodeType":"ModifierInvocation","src":"42432:40:97"}],"name":"setGovernanceSkipWindowBlocks","nameLocation":"42377:29:97","nodeType":"FunctionDefinition","parameters":{"id":54489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54488,"mutability":"mutable","name":"newValue","nameLocation":"42415:8:97","nodeType":"VariableDeclaration","scope":54501,"src":"42407:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54487,"name":"uint256","nodeType":"ElementaryTypeName","src":"42407:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42406:18:97"},"returnParameters":{"id":54493,"nodeType":"ParameterList","parameters":[],"src":"42473:0:97"},"scope":55137,"src":"42368:176:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54517,"nodeType":"Block","src":"42885:64:97","statements":[{"expression":{"arguments":[{"id":54514,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54505,"src":"42928:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"expression":{"id":54511,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"42891:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42912:15:97","memberName":"setVoterRewards","nodeType":"MemberAccess","referencedDeclaration":56406,"src":"42891:36:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IVoterRewards)"}},"id":54515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42891:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54516,"nodeType":"ExpressionStatement","src":"42891:53:97"}]},"documentation":{"id":54502,"nodeType":"StructuredDocumentation","src":"42548:218:97","text":" @notice Set the voter rewards contract\n This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\n @param newVoterRewards The new voter rewards contract"},"functionSelector":"7a4cce6d","id":54518,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54508,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52970,"src":"42853:30:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54509,"kind":"modifierInvocation","modifierName":{"id":54507,"name":"onlyRoleOrGovernance","nameLocations":["42832:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"42832:20:97"},"nodeType":"ModifierInvocation","src":"42832:52:97"}],"name":"setVoterRewards","nameLocation":"42778:15:97","nodeType":"FunctionDefinition","parameters":{"id":54506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54505,"mutability":"mutable","name":"newVoterRewards","nameLocation":"42808:15:97","nodeType":"VariableDeclaration","scope":54518,"src":"42794:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":54504,"nodeType":"UserDefinedTypeName","pathNode":{"id":54503,"name":"IVoterRewards","nameLocations":["42794:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"42794:13:97"},"referencedDeclaration":69092,"src":"42794:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"42793:31:97"},"returnParameters":{"id":54510,"nodeType":"ParameterList","parameters":[],"src":"42885:0:97"},"scope":55137,"src":"42769:180:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54534,"nodeType":"Block","src":"43334:74:97","statements":[{"expression":{"arguments":[{"id":54531,"name":"newXAllocationVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54522,"src":"43382:20:97","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"expression":{"id":54528,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"43340:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43361:20:97","memberName":"setXAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":56454,"src":"43340:41:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IXAllocationVotingGovernor_$71124_$returns$__$","typeString":"function (contract IXAllocationVotingGovernor)"}},"id":54532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43340:63:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54533,"nodeType":"ExpressionStatement","src":"43340:63:97"}]},"documentation":{"id":54519,"nodeType":"StructuredDocumentation","src":"42953:231:97","text":" @notice Set the xAllocationVoting contract\n This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\n @param newXAllocationVoting The new xAllocationVoting contract"},"functionSelector":"3d47fe94","id":54535,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54525,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52970,"src":"43302:30:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54526,"kind":"modifierInvocation","modifierName":{"id":54524,"name":"onlyRoleOrGovernance","nameLocations":["43281:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"43281:20:97"},"nodeType":"ModifierInvocation","src":"43281:52:97"}],"name":"setXAllocationVoting","nameLocation":"43196:20:97","nodeType":"FunctionDefinition","parameters":{"id":54523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54522,"mutability":"mutable","name":"newXAllocationVoting","nameLocation":"43249:20:97","nodeType":"VariableDeclaration","scope":54535,"src":"43222:47:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":54521,"nodeType":"UserDefinedTypeName","pathNode":{"id":54520,"name":"IXAllocationVotingGovernor","nameLocations":["43222:26:97"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"43222:26:97"},"referencedDeclaration":71124,"src":"43222:26:97","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"43216:57:97"},"returnParameters":{"id":54527,"nodeType":"ParameterList","parameters":[],"src":"43334:0:97"},"scope":55137,"src":"43187:221:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54551,"nodeType":"Block","src":"43915:59:97","statements":[{"expression":{"arguments":[{"id":54548,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54539,"src":"43957:11:97","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"expression":{"id":54545,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"43921:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43942:14:97","memberName":"updateTimelock","nodeType":"MemberAccess","referencedDeclaration":56502,"src":"43921:35:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_TimelockControllerUpgradeable_$1478_$returns$__$","typeString":"function (contract TimelockControllerUpgradeable)"}},"id":54549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43921:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54550,"nodeType":"ExpressionStatement","src":"43921:48:97"}]},"documentation":{"id":54536,"nodeType":"StructuredDocumentation","src":"43412:367:97","text":" @notice Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n must be proposed, scheduled, and executed through governance proposals.\n CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\n @param newTimelock The new timelock controller"},"functionSelector":"a890c910","id":54552,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54542,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"43895:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54543,"kind":"modifierInvocation","modifierName":{"id":54541,"name":"onlyRoleOrGovernance","nameLocations":["43874:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"43874:20:97"},"nodeType":"ModifierInvocation","src":"43874:40:97"}],"name":"updateTimelock","nameLocation":"43791:14:97","nodeType":"FunctionDefinition","parameters":{"id":54540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54539,"mutability":"mutable","name":"newTimelock","nameLocation":"43841:11:97","nodeType":"VariableDeclaration","scope":54552,"src":"43811:41:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"},"typeName":{"id":54538,"nodeType":"UserDefinedTypeName","pathNode":{"id":54537,"name":"TimelockControllerUpgradeable","nameLocations":["43811:29:97"],"nodeType":"IdentifierPath","referencedDeclaration":1478,"src":"43811:29:97"},"referencedDeclaration":1478,"src":"43811:29:97","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"visibility":"internal"}],"src":"43805:51:97"},"returnParameters":{"id":54544,"nodeType":"ParameterList","parameters":[],"src":"43915:0:97"},"scope":55137,"src":"43782:192:97","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"baseFunctions":[63673],"body":{"id":54568,"nodeType":"Block","src":"44239:72:97","statements":[{"expression":{"arguments":[{"id":54565,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54556,"src":"44286:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"expression":{"id":54562,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"44245:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44266:19:97","memberName":"setVeBetterPassport","nodeType":"MemberAccess","referencedDeclaration":56212,"src":"44245:40:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IVeBetterPassport_$68601_$returns$__$","typeString":"function (contract IVeBetterPassport)"}},"id":54566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44245:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54567,"nodeType":"ExpressionStatement","src":"44245:61:97"}]},"documentation":{"id":54553,"nodeType":"StructuredDocumentation","src":"43978:122:97","text":" @notice Set the VeBetterPassport contract\n @param newVeBetterPassport The new VeBetterPassport contract"},"functionSelector":"b3c93dab","id":54569,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54559,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52970,"src":"44207:30:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54560,"kind":"modifierInvocation","modifierName":{"id":54558,"name":"onlyRoleOrGovernance","nameLocations":["44186:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"44186:20:97"},"nodeType":"ModifierInvocation","src":"44186:52:97"}],"name":"setVeBetterPassport","nameLocation":"44112:19:97","nodeType":"FunctionDefinition","parameters":{"id":54557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54556,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"44155:19:97","nodeType":"VariableDeclaration","scope":54569,"src":"44137:37:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":54555,"nodeType":"UserDefinedTypeName","pathNode":{"id":54554,"name":"IVeBetterPassport","nameLocations":["44137:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"44137:17:97"},"referencedDeclaration":68601,"src":"44137:17:97","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"44131:47:97"},"returnParameters":{"id":54561,"nodeType":"ParameterList","parameters":[],"src":"44239:0:97"},"scope":55137,"src":"44103:208:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54585,"nodeType":"Block","src":"44582:74:97","statements":[{"expression":{"arguments":[{"id":54582,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54573,"src":"44630:20:97","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"expression":{"id":54579,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"44588:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44609:20:97","memberName":"setNavigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":56247,"src":"44588:41:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_INavigatorRegistry_$66638_$returns$__$","typeString":"function (contract INavigatorRegistry)"}},"id":54583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44588:63:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54584,"nodeType":"ExpressionStatement","src":"44588:63:97"}]},"documentation":{"id":54570,"nodeType":"StructuredDocumentation","src":"44315:125:97","text":" @notice Set the NavigatorRegistry contract\n @param newNavigatorRegistry The new NavigatorRegistry contract"},"functionSelector":"f530108f","id":54586,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54576,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52970,"src":"44550:30:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54577,"kind":"modifierInvocation","modifierName":{"id":54575,"name":"onlyRoleOrGovernance","nameLocations":["44529:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"44529:20:97"},"nodeType":"ModifierInvocation","src":"44529:52:97"}],"name":"setNavigatorRegistry","nameLocation":"44452:20:97","nodeType":"FunctionDefinition","parameters":{"id":54574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54573,"mutability":"mutable","name":"newNavigatorRegistry","nameLocation":"44497:20:97","nodeType":"VariableDeclaration","scope":54586,"src":"44478:39:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":54572,"nodeType":"UserDefinedTypeName","pathNode":{"id":54571,"name":"INavigatorRegistry","nameLocations":["44478:18:97"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"44478:18:97"},"referencedDeclaration":66638,"src":"44478:18:97","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"44472:49:97"},"returnParameters":{"id":54578,"nodeType":"ParameterList","parameters":[],"src":"44582:0:97"},"scope":55137,"src":"44443:213:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[63710],"body":{"id":54602,"nodeType":"Block","src":"44933:76:97","statements":[{"expression":{"arguments":[{"id":54599,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54590,"src":"44982:21:97","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"expression":{"id":54596,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"44939:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44960:21:97","memberName":"setRelayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":56295,"src":"44939:42:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IRelayerRewardsPool_$67117_$returns$__$","typeString":"function (contract IRelayerRewardsPool)"}},"id":54600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44939:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54601,"nodeType":"ExpressionStatement","src":"44939:65:97"}]},"documentation":{"id":54587,"nodeType":"StructuredDocumentation","src":"44660:128:97","text":" @notice Set the RelayerRewardsPool contract\n @param newRelayerRewardsPool The new RelayerRewardsPool contract"},"functionSelector":"0dd8614c","id":54603,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54593,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52970,"src":"44901:30:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54594,"kind":"modifierInvocation","modifierName":{"id":54592,"name":"onlyRoleOrGovernance","nameLocations":["44880:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"44880:20:97"},"nodeType":"ModifierInvocation","src":"44880:52:97"}],"name":"setRelayerRewardsPool","nameLocation":"44800:21:97","nodeType":"FunctionDefinition","parameters":{"id":54591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54590,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"44847:21:97","nodeType":"VariableDeclaration","scope":54603,"src":"44827:41:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":54589,"nodeType":"UserDefinedTypeName","pathNode":{"id":54588,"name":"IRelayerRewardsPool","nameLocations":["44827:19:97"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"44827:19:97"},"referencedDeclaration":67117,"src":"44827:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"44821:51:97"},"returnParameters":{"id":54595,"nodeType":"ParameterList","parameters":[],"src":"44933:0:97"},"scope":55137,"src":"44791:218:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[63520],"body":{"id":54640,"nodeType":"Block","src":"45864:246:97","statements":[{"expression":{"arguments":[{"id":54630,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54607,"src":"45927:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":54631,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54610,"src":"45944:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":54632,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54613,"src":"45960:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":54633,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54615,"src":"45979:11:97","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54634,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54617,"src":"46000:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54635,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54619,"src":"46022:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54636,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54621,"src":"46045:14:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54637,"name":"milestonesDetailsMetadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54623,"src":"46069:28:97","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54628,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"45883:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":54629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45905:12:97","memberName":"proposeGrant","nodeType":"MemberAccess","referencedDeclaration":58652,"src":"45883:34:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256,address,string memory) returns (uint256)"}},"id":54638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45883:222:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54627,"id":54639,"nodeType":"Return","src":"45870:235:97"}]},"documentation":{"id":54604,"nodeType":"StructuredDocumentation","src":"45013:546:97","text":" @notice Propose a grant\n @param targets The list of target addresses\n @param values The list of values to send\n @param calldatas The list of call data\n @param description The proposal description\n @param startRoundId The round in which the proposal should start\n @param depositAmount The amount of deposit for the proposal\n @param grantsReceiver The address of the grants receiver\n @param milestonesDetailsMetadataURI The IPFS hash containing the milestones descriptions\n @return The proposal id"},"functionSelector":"013b1088","id":54641,"implemented":true,"kind":"function","modifiers":[],"name":"proposeGrant","nameLocation":"45571:12:97","nodeType":"FunctionDefinition","parameters":{"id":54624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54607,"mutability":"mutable","name":"targets","nameLocation":"45606:7:97","nodeType":"VariableDeclaration","scope":54641,"src":"45589:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":54605,"name":"address","nodeType":"ElementaryTypeName","src":"45589:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":54606,"nodeType":"ArrayTypeName","src":"45589:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":54610,"mutability":"mutable","name":"values","nameLocation":"45636:6:97","nodeType":"VariableDeclaration","scope":54641,"src":"45619:23:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":54608,"name":"uint256","nodeType":"ElementaryTypeName","src":"45619:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54609,"nodeType":"ArrayTypeName","src":"45619:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":54613,"mutability":"mutable","name":"calldatas","nameLocation":"45663:9:97","nodeType":"VariableDeclaration","scope":54641,"src":"45648:24:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":54611,"name":"bytes","nodeType":"ElementaryTypeName","src":"45648:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":54612,"nodeType":"ArrayTypeName","src":"45648:7:97","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":54615,"mutability":"mutable","name":"description","nameLocation":"45692:11:97","nodeType":"VariableDeclaration","scope":54641,"src":"45678:25:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54614,"name":"string","nodeType":"ElementaryTypeName","src":"45678:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54617,"mutability":"mutable","name":"startRoundId","nameLocation":"45717:12:97","nodeType":"VariableDeclaration","scope":54641,"src":"45709:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54616,"name":"uint256","nodeType":"ElementaryTypeName","src":"45709:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54619,"mutability":"mutable","name":"depositAmount","nameLocation":"45743:13:97","nodeType":"VariableDeclaration","scope":54641,"src":"45735:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54618,"name":"uint256","nodeType":"ElementaryTypeName","src":"45735:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54621,"mutability":"mutable","name":"grantsReceiver","nameLocation":"45770:14:97","nodeType":"VariableDeclaration","scope":54641,"src":"45762:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54620,"name":"address","nodeType":"ElementaryTypeName","src":"45762:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54623,"mutability":"mutable","name":"milestonesDetailsMetadataURI","nameLocation":"45804:28:97","nodeType":"VariableDeclaration","scope":54641,"src":"45790:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54622,"name":"string","nodeType":"ElementaryTypeName","src":"45790:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45583:253:97"},"returnParameters":{"id":54627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54641,"src":"45855:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54625,"name":"uint256","nodeType":"ElementaryTypeName","src":"45855:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45854:9:97"},"scope":55137,"src":"45562:548:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":54656,"nodeType":"Block","src":"46507:66:97","statements":[{"expression":{"arguments":[{"id":54653,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54644,"src":"46557:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54650,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"46513:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":54652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46535:21:97","memberName":"resetDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":59235,"src":"46513:43:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":54654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46513:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54655,"nodeType":"ExpressionStatement","src":"46513:55:97"}]},"documentation":{"id":54642,"nodeType":"StructuredDocumentation","src":"46114:294:97","text":" @notice Reset the development state of a proposal back to pending development\n @param proposalId The id of the proposal\n @dev This should reset the enum state back to the original one,\n since pending development is not tracked in {GovernorStateLogic._state} condition"},"functionSelector":"c429bd82","id":54657,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54647,"name":"PROPOSAL_STATE_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"46478:27:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54648,"kind":"modifierInvocation","modifierName":{"id":54646,"name":"onlyRole","nameLocations":["46469:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"46469:8:97"},"nodeType":"ModifierInvocation","src":"46469:37:97"}],"name":"resetDevelopmentState","nameLocation":"46420:21:97","nodeType":"FunctionDefinition","parameters":{"id":54645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54644,"mutability":"mutable","name":"proposalId","nameLocation":"46450:10:97","nodeType":"VariableDeclaration","scope":54657,"src":"46442:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54643,"name":"uint256","nodeType":"ElementaryTypeName","src":"46442:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46441:20:97"},"returnParameters":{"id":54649,"nodeType":"ParameterList","parameters":[],"src":"46507:0:97"},"scope":55137,"src":"46411:162:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54672,"nodeType":"Block","src":"46767:60:97","statements":[{"expression":{"arguments":[{"id":54669,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54660,"src":"46811:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54666,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"46773:21:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":54668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46795:15:97","memberName":"markAsCompleted","nodeType":"MemberAccess","referencedDeclaration":59146,"src":"46773:37:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":54670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46773:49:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54671,"nodeType":"ExpressionStatement","src":"46773:49:97"}]},"documentation":{"id":54658,"nodeType":"StructuredDocumentation","src":"46577:97:97","text":" @notice Mark a proposal as completed\n @param proposalId The id of the proposal"},"functionSelector":"c0a6026c","id":54673,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54663,"name":"PROPOSAL_STATE_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"46738:27:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54664,"kind":"modifierInvocation","modifierName":{"id":54662,"name":"onlyRole","nameLocations":["46729:8:97"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"46729:8:97"},"nodeType":"ModifierInvocation","src":"46729:37:97"}],"name":"markAsCompleted","nameLocation":"46686:15:97","nodeType":"FunctionDefinition","parameters":{"id":54661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54660,"mutability":"mutable","name":"proposalId","nameLocation":"46710:10:97","nodeType":"VariableDeclaration","scope":54673,"src":"46702:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54659,"name":"uint256","nodeType":"ElementaryTypeName","src":"46702:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46701:20:97"},"returnParameters":{"id":54665,"nodeType":"ParameterList","parameters":[],"src":"46767:0:97"},"scope":55137,"src":"46677:150:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[63848],"body":{"id":54705,"nodeType":"Block","src":"48294:228:97","statements":[{"expression":{"arguments":[{"id":54693,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54676,"src":"48359:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54694,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54678,"src":"48377:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54695,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54680,"src":"48390:11:97","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":54696,"name":"implementationDiscussion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54682,"src":"48409:24:97","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":54697,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54685,"src":"48441:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}},{"arguments":[{"id":54699,"name":"PROPOSAL_STATE_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"48469:27:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":54700,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"48498:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":54701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48498:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":54698,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"48461:7:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":54702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48461:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54690,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"48300:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":54692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48332:19:97","memberName":"markAsInDevelopment","nodeType":"MemberAccess","referencedDeclaration":55419,"src":"48300:51:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (uint256,address,string memory,string memory,string memory[] memory,bool)"}},"id":54703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48300:217:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54704,"nodeType":"ExpressionStatement","src":"48300:217:97"}]},"documentation":{"id":54674,"nodeType":"StructuredDocumentation","src":"46913:1164:97","text":" @notice V11: Mark a proposal as InDevelopment and register the single payout address,\n         free-text description, implementation-discussion link, and contributor handles.\n @dev Callable by the proposer or by an address holding PROPOSAL_STATE_MANAGER_ROLE.\n      - `maxBudget == 0` requires `payee == address(0)` (pure state transition).\n      - `maxBudget > 0`  requires `payee != address(0)` (single recipient of the full budget).\n      Grants reject — Grants follow the milestone-based payout flow.\n      The registered payee receives the FULL `maxBudget` on {claimPayout}; it is the\n      payee's responsibility to forward funds to any contributors / team off-chain.\n @param proposalId               The proposal id.\n @param payee                    Single payout address; may be address(0) when maxBudget == 0.\n @param description              Free-text description (e.g. \"Developed by Framer and Rosa\").\n @param implementationDiscussion URL to the implementation-discussion thread.\n @param contributors             Array of contributor handles / URLs (capped at maxContributorsPerProposal)."},"functionSelector":"ede8bed0","id":54706,"implemented":true,"kind":"function","modifiers":[{"id":54688,"kind":"modifierInvocation","modifierName":{"id":54687,"name":"whenNotPaused","nameLocations":["48280:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"48280:13:97"},"nodeType":"ModifierInvocation","src":"48280:13:97"}],"name":"markAsInDevelopment","nameLocation":"48089:19:97","nodeType":"FunctionDefinition","parameters":{"id":54686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54676,"mutability":"mutable","name":"proposalId","nameLocation":"48122:10:97","nodeType":"VariableDeclaration","scope":54706,"src":"48114:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54675,"name":"uint256","nodeType":"ElementaryTypeName","src":"48114:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54678,"mutability":"mutable","name":"payee","nameLocation":"48146:5:97","nodeType":"VariableDeclaration","scope":54706,"src":"48138:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54677,"name":"address","nodeType":"ElementaryTypeName","src":"48138:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54680,"mutability":"mutable","name":"description","nameLocation":"48173:11:97","nodeType":"VariableDeclaration","scope":54706,"src":"48157:27:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":54679,"name":"string","nodeType":"ElementaryTypeName","src":"48157:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54682,"mutability":"mutable","name":"implementationDiscussion","nameLocation":"48206:24:97","nodeType":"VariableDeclaration","scope":54706,"src":"48190:40:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":54681,"name":"string","nodeType":"ElementaryTypeName","src":"48190:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54685,"mutability":"mutable","name":"contributors","nameLocation":"48254:12:97","nodeType":"VariableDeclaration","scope":54706,"src":"48236:30:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":54683,"name":"string","nodeType":"ElementaryTypeName","src":"48236:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54684,"nodeType":"ArrayTypeName","src":"48236:8:97","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"48108:162:97"},"returnParameters":{"id":54689,"nodeType":"ParameterList","parameters":[],"src":"48294:0:97"},"scope":55137,"src":"48080:442:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63863],"body":{"id":54738,"nodeType":"Block","src":"49090:233:97","statements":[{"expression":{"arguments":[{"id":54726,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54709,"src":"49160:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54727,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54711,"src":"49178:5:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54728,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54713,"src":"49191:11:97","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":54729,"name":"implementationDiscussion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54715,"src":"49210:24:97","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":54730,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54718,"src":"49242:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}},{"arguments":[{"id":54732,"name":"PROPOSAL_STATE_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"49270:27:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":54733,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"49299:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":54734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49299:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":54731,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"49262:7:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":54735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49262:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54723,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"49096:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":54725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49128:24:97","memberName":"updateCommunityExecution","nodeType":"MemberAccess","referencedDeclaration":55701,"src":"49096:56:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (uint256,address,string memory,string memory,string memory[] memory,bool)"}},"id":54736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49096:222:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54737,"nodeType":"ExpressionStatement","src":"49096:222:97"}]},"documentation":{"id":54707,"nodeType":"StructuredDocumentation","src":"48526:342:97","text":" @notice V11: Update the payee / description / implementation-discussion / contributors of\n         a proposal whose payout has not been claimed yet.\n @dev Authorized to the proposer OR PROPOSAL_STATE_MANAGER_ROLE. Allowed while the proposal\n      is `InDevelopment` or `Completed` and `proposalPaid` is still false."},"functionSelector":"6a1423d7","id":54739,"implemented":true,"kind":"function","modifiers":[{"id":54721,"kind":"modifierInvocation","modifierName":{"id":54720,"name":"whenNotPaused","nameLocations":["49076:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"49076:13:97"},"nodeType":"ModifierInvocation","src":"49076:13:97"}],"name":"updateCommunityExecution","nameLocation":"48880:24:97","nodeType":"FunctionDefinition","parameters":{"id":54719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54709,"mutability":"mutable","name":"proposalId","nameLocation":"48918:10:97","nodeType":"VariableDeclaration","scope":54739,"src":"48910:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54708,"name":"uint256","nodeType":"ElementaryTypeName","src":"48910:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54711,"mutability":"mutable","name":"payee","nameLocation":"48942:5:97","nodeType":"VariableDeclaration","scope":54739,"src":"48934:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54710,"name":"address","nodeType":"ElementaryTypeName","src":"48934:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54713,"mutability":"mutable","name":"description","nameLocation":"48969:11:97","nodeType":"VariableDeclaration","scope":54739,"src":"48953:27:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":54712,"name":"string","nodeType":"ElementaryTypeName","src":"48953:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54715,"mutability":"mutable","name":"implementationDiscussion","nameLocation":"49002:24:97","nodeType":"VariableDeclaration","scope":54739,"src":"48986:40:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":54714,"name":"string","nodeType":"ElementaryTypeName","src":"48986:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54718,"mutability":"mutable","name":"contributors","nameLocation":"49050:12:97","nodeType":"VariableDeclaration","scope":54739,"src":"49032:30:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":54716,"name":"string","nodeType":"ElementaryTypeName","src":"49032:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54717,"nodeType":"ArrayTypeName","src":"49032:8:97","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"48904:162:97"},"returnParameters":{"id":54722,"nodeType":"ParameterList","parameters":[],"src":"49090:0:97"},"scope":55137,"src":"48871:452:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63869],"body":{"id":54753,"nodeType":"Block","src":"49582:66:97","statements":[{"expression":{"arguments":[{"id":54750,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54742,"src":"49632:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54747,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"49588:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":54749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49620:11:97","memberName":"claimPayout","nodeType":"MemberAccess","referencedDeclaration":55864,"src":"49588:43:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":54751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49588:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54752,"nodeType":"ExpressionStatement","src":"49588:55:97"}]},"documentation":{"id":54740,"nodeType":"StructuredDocumentation","src":"49327:188:97","text":" @notice V11: Pay the registered payee the full implementation cost from Treasury.\n @dev Callable by anyone. Idempotent — second call reverts with PayoutAlreadyClaimed."},"functionSelector":"8a69614e","id":54754,"implemented":true,"kind":"function","modifiers":[{"id":54745,"kind":"modifierInvocation","modifierName":{"id":54744,"name":"whenNotPaused","nameLocations":["49568:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":4065,"src":"49568:13:97"},"nodeType":"ModifierInvocation","src":"49568:13:97"}],"name":"claimPayout","nameLocation":"49527:11:97","nodeType":"FunctionDefinition","parameters":{"id":54743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54742,"mutability":"mutable","name":"proposalId","nameLocation":"49547:10:97","nodeType":"VariableDeclaration","scope":54754,"src":"49539:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54741,"name":"uint256","nodeType":"ElementaryTypeName","src":"49539:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49538:20:97"},"returnParameters":{"id":54746,"nodeType":"ParameterList","parameters":[],"src":"49582:0:97"},"scope":55137,"src":"49518:130:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63877],"body":{"id":54767,"nodeType":"Block","src":"49871:79:97","statements":[{"expression":{"arguments":[{"id":54764,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54757,"src":"49934:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54762,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"49884:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":54763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49916:17:97","memberName":"getProposalBudget","nodeType":"MemberAccess","referencedDeclaration":55879,"src":"49884:49:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":54765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49884:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54761,"id":54766,"nodeType":"Return","src":"49877:68:97"}]},"documentation":{"id":54755,"nodeType":"StructuredDocumentation","src":"49710:79:97","text":"@notice The maximum implementation cost (B3TR wei) recorded for a proposal."},"functionSelector":"01d6e78f","id":54768,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalBudget","nameLocation":"49801:17:97","nodeType":"FunctionDefinition","parameters":{"id":54758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54757,"mutability":"mutable","name":"proposalId","nameLocation":"49827:10:97","nodeType":"VariableDeclaration","scope":54768,"src":"49819:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54756,"name":"uint256","nodeType":"ElementaryTypeName","src":"49819:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49818:20:97"},"returnParameters":{"id":54761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54760,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54768,"src":"49862:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54759,"name":"uint256","nodeType":"ElementaryTypeName","src":"49862:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49861:9:97"},"scope":55137,"src":"49792:158:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63885],"body":{"id":54781,"nodeType":"Block","src":"50092:78:97","statements":[{"expression":{"arguments":[{"id":54778,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54771,"src":"50154:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54776,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"50105:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":54777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50137:16:97","memberName":"getProposalPayee","nodeType":"MemberAccess","referencedDeclaration":55894,"src":"50105:48:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":54779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50105:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":54775,"id":54780,"nodeType":"Return","src":"50098:67:97"}]},"documentation":{"id":54769,"nodeType":"StructuredDocumentation","src":"49954:57:97","text":"@notice The single registered payee for the proposal."},"functionSelector":"5452a01b","id":54782,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalPayee","nameLocation":"50023:16:97","nodeType":"FunctionDefinition","parameters":{"id":54772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54771,"mutability":"mutable","name":"proposalId","nameLocation":"50048:10:97","nodeType":"VariableDeclaration","scope":54782,"src":"50040:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54770,"name":"uint256","nodeType":"ElementaryTypeName","src":"50040:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50039:20:97"},"returnParameters":{"id":54775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54774,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54782,"src":"50083:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54773,"name":"address","nodeType":"ElementaryTypeName","src":"50083:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50082:9:97"},"scope":55137,"src":"50014:156:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63893],"body":{"id":54795,"nodeType":"Block","src":"50320:76:97","statements":[{"expression":{"arguments":[{"id":54792,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54785,"src":"50380:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54790,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"50333:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":54791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50365:14:97","memberName":"isProposalPaid","nodeType":"MemberAccess","referencedDeclaration":55909,"src":"50333:46:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":54793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50333:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":54789,"id":54794,"nodeType":"Return","src":"50326:65:97"}]},"documentation":{"id":54783,"nodeType":"StructuredDocumentation","src":"50174:70:97","text":"@notice True iff the payout has already been pulled from Treasury."},"functionSelector":"c305f59a","id":54796,"implemented":true,"kind":"function","modifiers":[],"name":"isProposalPaid","nameLocation":"50256:14:97","nodeType":"FunctionDefinition","parameters":{"id":54786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54785,"mutability":"mutable","name":"proposalId","nameLocation":"50279:10:97","nodeType":"VariableDeclaration","scope":54796,"src":"50271:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54784,"name":"uint256","nodeType":"ElementaryTypeName","src":"50271:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50270:20:97"},"returnParameters":{"id":54789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54788,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54796,"src":"50314:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54787,"name":"bool","nodeType":"ElementaryTypeName","src":"50314:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50313:6:97"},"scope":55137,"src":"50247:149:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63901],"body":{"id":54809,"nodeType":"Block","src":"50566:84:97","statements":[{"expression":{"arguments":[{"id":54806,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54799,"src":"50634:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54804,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"50579:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":54805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50611:22:97","memberName":"getProposalDescription","nodeType":"MemberAccess","referencedDeclaration":55939,"src":"50579:54:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":54807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50579:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":54803,"id":54808,"nodeType":"Return","src":"50572:73:97"}]},"documentation":{"id":54797,"nodeType":"StructuredDocumentation","src":"50400:73:97","text":"@notice The free-text description registered alongside the V11 payee."},"functionSelector":"229acb17","id":54810,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalDescription","nameLocation":"50485:22:97","nodeType":"FunctionDefinition","parameters":{"id":54800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54799,"mutability":"mutable","name":"proposalId","nameLocation":"50516:10:97","nodeType":"VariableDeclaration","scope":54810,"src":"50508:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54798,"name":"uint256","nodeType":"ElementaryTypeName","src":"50508:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50507:20:97"},"returnParameters":{"id":54803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54802,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54810,"src":"50551:13:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54801,"name":"string","nodeType":"ElementaryTypeName","src":"50551:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50550:15:97"},"scope":55137,"src":"50476:174:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63909],"body":{"id":54823,"nodeType":"Block","src":"50822:97:97","statements":[{"expression":{"arguments":[{"id":54820,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54813,"src":"50903:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54818,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"50835:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":54819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50867:35:97","memberName":"getProposalImplementationDiscussion","nodeType":"MemberAccess","referencedDeclaration":55954,"src":"50835:67:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":54821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50835:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":54817,"id":54822,"nodeType":"Return","src":"50828:86:97"}]},"documentation":{"id":54811,"nodeType":"StructuredDocumentation","src":"50654:62:97","text":"@notice The implementation-discussion link for a proposal."},"functionSelector":"656f3e40","id":54824,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalImplementationDiscussion","nameLocation":"50728:35:97","nodeType":"FunctionDefinition","parameters":{"id":54814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54813,"mutability":"mutable","name":"proposalId","nameLocation":"50772:10:97","nodeType":"VariableDeclaration","scope":54824,"src":"50764:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54812,"name":"uint256","nodeType":"ElementaryTypeName","src":"50764:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50763:20:97"},"returnParameters":{"id":54817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54824,"src":"50807:13:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54815,"name":"string","nodeType":"ElementaryTypeName","src":"50807:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50806:15:97"},"scope":55137,"src":"50719:200:97","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[63918],"body":{"id":54838,"nodeType":"Block","src":"51101:85:97","statements":[{"expression":{"arguments":[{"id":54835,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54827,"src":"51170:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54833,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"51114:31:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":54834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51146:23:97","memberName":"getProposalContributors","nodeType":"MemberAccess","referencedDeclaration":55970,"src":"51114:55:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) view returns (string memory[] memory)"}},"id":54836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51114:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":54832,"id":54837,"nodeType":"Return","src":"51107:74:97"}]},"documentation":{"id":54825,"nodeType":"StructuredDocumentation","src":"50923:82:97","text":"@notice The contributor handle list (e.g. github/twitter URLs) for a proposal."},"functionSelector":"5b16e259","id":54839,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalContributors","nameLocation":"51017:23:97","nodeType":"FunctionDefinition","parameters":{"id":54828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54827,"mutability":"mutable","name":"proposalId","nameLocation":"51049:10:97","nodeType":"VariableDeclaration","scope":54839,"src":"51041:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54826,"name":"uint256","nodeType":"ElementaryTypeName","src":"51041:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51040:20:97"},"returnParameters":{"id":54832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54839,"src":"51084:15:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":54829,"name":"string","nodeType":"ElementaryTypeName","src":"51084:6:97","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54830,"nodeType":"ArrayTypeName","src":"51084:8:97","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"51083:17:97"},"scope":55137,"src":"51008:178:97","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":54858,"nodeType":"Block","src":"51675:97:97","statements":[{"expression":{"arguments":[{"id":54854,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54842,"src":"51729:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54855,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54845,"src":"51749:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":54851,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"51681:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":54853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51701:27:97","memberName":"updateQuorumNumeratorByType","nodeType":"MemberAccess","referencedDeclaration":60572,"src":"51681:47:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalType)"}},"id":54856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51681:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54857,"nodeType":"ExpressionStatement","src":"51681:86:97"}]},"documentation":{"id":54840,"nodeType":"StructuredDocumentation","src":"51190:309:97","text":" @notice Changes the quorum numerator for a specific proposal type.\n This operation can only be performed through a governance proposal.\n Emits a {QuorumNumeratorUpdatedByType} event.\n @param newQuorumNumerator The new quorum numerator\n @param proposalTypeValue The proposal type"},"functionSelector":"3d1ac63e","id":54859,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54848,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"51655:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54849,"kind":"modifierInvocation","modifierName":{"id":54847,"name":"onlyRoleOrGovernance","nameLocations":["51634:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"51634:20:97"},"nodeType":"ModifierInvocation","src":"51634:40:97"}],"name":"updateQuorumNumeratorByType","nameLocation":"51511:27:97","nodeType":"FunctionDefinition","parameters":{"id":54846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54842,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"51552:18:97","nodeType":"VariableDeclaration","scope":54859,"src":"51544:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54841,"name":"uint256","nodeType":"ElementaryTypeName","src":"51544:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54845,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"51603:17:97","nodeType":"VariableDeclaration","scope":54859,"src":"51576:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":54844,"nodeType":"UserDefinedTypeName","pathNode":{"id":54843,"name":"GovernorTypes.ProposalType","nameLocations":["51576:13:97","51590:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"51576:26:97"},"referencedDeclaration":61431,"src":"51576:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"51538:86:97"},"returnParameters":{"id":54850,"nodeType":"ParameterList","parameters":[],"src":"51675:0:97"},"scope":55137,"src":"51502:270:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":54878,"nodeType":"Block","src":"52255:113:97","statements":[{"expression":{"arguments":[{"id":54874,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54865,"src":"52324:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"id":54875,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54862,"src":"52343:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54871,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"52261:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52282:41:97","memberName":"setProposalTypeDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":56534,"src":"52261:62:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256)"}},"id":54876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52261:102:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54877,"nodeType":"ExpressionStatement","src":"52261:102:97"}]},"documentation":{"id":54860,"nodeType":"StructuredDocumentation","src":"51776:290:97","text":" @notice Update the deposit threshold for a proposal type. This operation can only be performed through a governance proposal.\n Emits a {DepositThresholdSetV2} event.\n @param newDepositThreshold The new deposit threshold\n @param proposalTypeValue The proposal type"},"functionSelector":"726da5fd","id":54879,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54868,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"52235:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54869,"kind":"modifierInvocation","modifierName":{"id":54867,"name":"onlyRoleOrGovernance","nameLocations":["52214:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"52214:20:97"},"nodeType":"ModifierInvocation","src":"52214:40:97"}],"name":"setProposalTypeDepositThresholdPercentage","nameLocation":"52078:41:97","nodeType":"FunctionDefinition","parameters":{"id":54866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54862,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"52133:19:97","nodeType":"VariableDeclaration","scope":54879,"src":"52125:27:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54861,"name":"uint256","nodeType":"ElementaryTypeName","src":"52125:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54865,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"52185:17:97","nodeType":"VariableDeclaration","scope":54879,"src":"52158:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":54864,"nodeType":"UserDefinedTypeName","pathNode":{"id":54863,"name":"GovernorTypes.ProposalType","nameLocations":["52158:13:97","52172:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"52158:26:97"},"referencedDeclaration":61431,"src":"52158:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"52119:87:97"},"returnParameters":{"id":54870,"nodeType":"ParameterList","parameters":[],"src":"52255:0:97"},"scope":55137,"src":"52069:299:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54898,"nodeType":"Block","src":"52835:101:97","statements":[{"expression":{"arguments":[{"id":54894,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54885,"src":"52893:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"id":54895,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54882,"src":"52912:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54891,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"52841:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52862:30:97","memberName":"setProposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":56593,"src":"52841:51:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256)"}},"id":54896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52841:90:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54897,"nodeType":"ExpressionStatement","src":"52841:90:97"}]},"documentation":{"id":54880,"nodeType":"StructuredDocumentation","src":"52372:286:97","text":" @notice Update the voting threshold for a proposal type. This operation can only be performed through a governance proposal.\n Emits a {VotingThresholdSetV2} event.\n @param newVotingThreshold The new voting threshold\n @param proposalTypeValue The proposal type"},"functionSelector":"038f9b65","id":54899,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54888,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"52815:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54889,"kind":"modifierInvocation","modifierName":{"id":54887,"name":"onlyRoleOrGovernance","nameLocations":["52794:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"52794:20:97"},"nodeType":"ModifierInvocation","src":"52794:40:97"}],"name":"setProposalTypeVotingThreshold","nameLocation":"52670:30:97","nodeType":"FunctionDefinition","parameters":{"id":54886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54882,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"52714:18:97","nodeType":"VariableDeclaration","scope":54899,"src":"52706:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54881,"name":"uint256","nodeType":"ElementaryTypeName","src":"52706:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54885,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"52765:17:97","nodeType":"VariableDeclaration","scope":54899,"src":"52738:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":54884,"nodeType":"UserDefinedTypeName","pathNode":{"id":54883,"name":"GovernorTypes.ProposalType","nameLocations":["52738:13:97","52752:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"52738:26:97"},"referencedDeclaration":61431,"src":"52738:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"52700:86:97"},"returnParameters":{"id":54890,"nodeType":"ParameterList","parameters":[],"src":"52835:0:97"},"scope":55137,"src":"52661:275:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":54918,"nodeType":"Block","src":"53455:109:97","statements":[{"expression":{"arguments":[{"id":54914,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54905,"src":"53517:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"id":54915,"name":"newDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54902,"src":"53536:22:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54911,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"53461:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53482:34:97","memberName":"setProposalTypeDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":56652,"src":"53461:55:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256)"}},"id":54916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53461:98:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54917,"nodeType":"ExpressionStatement","src":"53461:98:97"}]},"documentation":{"id":54900,"nodeType":"StructuredDocumentation","src":"52940:330:97","text":" @notice Update the deposit threshold cap for a proposal type. This operation can only be performed through a governance proposal or by the DEFAULT_ADMIN_ROLE\n Emits a {DepositThresholdCapSet} event.\n @param newDepositThresholdCap The new deposit threshold cap\n @param proposalTypeValue The proposal type"},"functionSelector":"e09c8d44","id":54919,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54908,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"53435:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54909,"kind":"modifierInvocation","modifierName":{"id":54907,"name":"onlyRoleOrGovernance","nameLocations":["53414:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"53414:20:97"},"nodeType":"ModifierInvocation","src":"53414:40:97"}],"name":"setProposalTypeDepositThresholdCap","nameLocation":"53282:34:97","nodeType":"FunctionDefinition","parameters":{"id":54906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54902,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"53330:22:97","nodeType":"VariableDeclaration","scope":54919,"src":"53322:30:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54901,"name":"uint256","nodeType":"ElementaryTypeName","src":"53322:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54905,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"53385:17:97","nodeType":"VariableDeclaration","scope":54919,"src":"53358:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":54904,"nodeType":"UserDefinedTypeName","pathNode":{"id":54903,"name":"GovernorTypes.ProposalType","nameLocations":["53358:13:97","53372:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"53358:26:97"},"referencedDeclaration":61431,"src":"53358:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"53316:90:97"},"returnParameters":{"id":54910,"nodeType":"ParameterList","parameters":[],"src":"53455:0:97"},"scope":55137,"src":"53273:291:97","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[63689],"body":{"id":54935,"nodeType":"Block","src":"53807:72:97","statements":[{"expression":{"arguments":[{"id":54932,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54923,"src":"53858:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}],"expression":{"id":54929,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"53813:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53834:23:97","memberName":"setGalaxyMemberContract","nodeType":"MemberAccess","referencedDeclaration":56712,"src":"53813:44:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IGalaxyMember_$65196_$returns$__$","typeString":"function (contract IGalaxyMember)"}},"id":54933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53813:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54934,"nodeType":"ExpressionStatement","src":"53813:61:97"}]},"documentation":{"id":54920,"nodeType":"StructuredDocumentation","src":"53568:110:97","text":" @notice Set the GalaxyMember contract\n @param newGalaxyMember The new GalaxyMember contract"},"functionSelector":"ae0b8da8","id":54936,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54926,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52970,"src":"53775:30:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54927,"kind":"modifierInvocation","modifierName":{"id":54925,"name":"onlyRoleOrGovernance","nameLocations":["53754:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"53754:20:97"},"nodeType":"ModifierInvocation","src":"53754:52:97"}],"name":"setGalaxyMember","nameLocation":"53690:15:97","nodeType":"FunctionDefinition","parameters":{"id":54924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54923,"mutability":"mutable","name":"newGalaxyMember","nameLocation":"53725:15:97","nodeType":"VariableDeclaration","scope":54936,"src":"53711:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":54922,"nodeType":"UserDefinedTypeName","pathNode":{"id":54921,"name":"IGalaxyMember","nameLocations":["53711:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"53711:13:97"},"referencedDeclaration":65196,"src":"53711:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"53705:39:97"},"returnParameters":{"id":54928,"nodeType":"ParameterList","parameters":[],"src":"53807:0:97"},"scope":55137,"src":"53681:198:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63703],"body":{"id":54952,"nodeType":"Block","src":"54128:74:97","statements":[{"expression":{"arguments":[{"id":54949,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54940,"src":"54180:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"expression":{"id":54946,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"54134:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54155:24:97","memberName":"setGrantsManagerContract","nodeType":"MemberAccess","referencedDeclaration":56772,"src":"54134:45:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IGrantsManager_$65639_$returns$__$","typeString":"function (contract IGrantsManager)"}},"id":54950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54134:63:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54951,"nodeType":"ExpressionStatement","src":"54134:63:97"}]},"documentation":{"id":54937,"nodeType":"StructuredDocumentation","src":"53883:113:97","text":" @notice Set the GrantsManager contract\n @param newGrantsManager The new GrantsManager contract"},"functionSelector":"d53c74c1","id":54953,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54943,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52970,"src":"54096:30:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54944,"kind":"modifierInvocation","modifierName":{"id":54942,"name":"onlyRoleOrGovernance","nameLocations":["54075:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"54075:20:97"},"nodeType":"ModifierInvocation","src":"54075:52:97"}],"name":"setGrantsManager","nameLocation":"54008:16:97","nodeType":"FunctionDefinition","parameters":{"id":54941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54940,"mutability":"mutable","name":"newGrantsManager","nameLocation":"54045:16:97","nodeType":"VariableDeclaration","scope":54953,"src":"54030:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":54939,"nodeType":"UserDefinedTypeName","pathNode":{"id":54938,"name":"IGrantsManager","nameLocations":["54030:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"54030:14:97"},"referencedDeclaration":65639,"src":"54030:14:97","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"54024:41:97"},"returnParameters":{"id":54945,"nodeType":"ParameterList","parameters":[],"src":"54128:0:97"},"scope":55137,"src":"53999:203:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63735],"body":{"id":54972,"nodeType":"Block","src":"54671:96:97","statements":[{"expression":{"arguments":[{"id":54968,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54957,"src":"54731:17:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"id":54969,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54959,"src":"54750:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54965,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"54677:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":54967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54698:32:97","memberName":"setRequiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":57090,"src":"54677:53:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256)"}},"id":54970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54677:85:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54971,"nodeType":"ExpressionStatement","src":"54677:85:97"}]},"documentation":{"id":54954,"nodeType":"StructuredDocumentation","src":"54206:291:97","text":" @notice Set the GM weight for a proposal type\n @param proposalTypeValue The type of the proposal\n @param newGMWeight The new GM weight for the proposal type\n @notice e.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal"},"functionSelector":"406ced84","id":54973,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54962,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"54651:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54963,"kind":"modifierInvocation","modifierName":{"id":54961,"name":"onlyRoleOrGovernance","nameLocations":["54630:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"54630:20:97"},"nodeType":"ModifierInvocation","src":"54630:40:97"}],"name":"setRequiredGMLevelByProposalType","nameLocation":"54509:32:97","nodeType":"FunctionDefinition","parameters":{"id":54960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54957,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"54574:17:97","nodeType":"VariableDeclaration","scope":54973,"src":"54547:44:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":54956,"nodeType":"UserDefinedTypeName","pathNode":{"id":54955,"name":"GovernorTypes.ProposalType","nameLocations":["54547:13:97","54561:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"54547:26:97"},"referencedDeclaration":61431,"src":"54547:26:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":54959,"mutability":"mutable","name":"newGMWeight","nameLocation":"54605:11:97","nodeType":"VariableDeclaration","scope":54973,"src":"54597:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54958,"name":"uint256","nodeType":"ElementaryTypeName","src":"54597:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54541:79:97"},"returnParameters":{"id":54964,"nodeType":"ParameterList","parameters":[],"src":"54671:0:97"},"scope":55137,"src":"54500:267:97","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[63754],"body":{"id":54989,"nodeType":"Block","src":"55084:80:97","statements":[{"expression":{"arguments":[{"id":54985,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54976,"src":"55140:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54986,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54978,"src":"55149:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54983,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"55097:20:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":54984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55118:21:97","memberName":"getDepositVotingPower","nodeType":"MemberAccess","referencedDeclaration":57641,"src":"55097:42:97","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":54987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55097:62:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54982,"id":54988,"nodeType":"Return","src":"55090:69:97"}]},"documentation":{"id":54974,"nodeType":"StructuredDocumentation","src":"54771:213:97","text":" @notice Get the deposit voting power for a given account at a given timepoint\n @param account The address of the account\n @param timepoint The timepoint\n @return The deposit voting power"},"functionSelector":"a56b5765","id":54990,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"54996:21:97","nodeType":"FunctionDefinition","parameters":{"id":54979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54976,"mutability":"mutable","name":"account","nameLocation":"55026:7:97","nodeType":"VariableDeclaration","scope":54990,"src":"55018:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54975,"name":"address","nodeType":"ElementaryTypeName","src":"55018:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54978,"mutability":"mutable","name":"timepoint","nameLocation":"55043:9:97","nodeType":"VariableDeclaration","scope":54990,"src":"55035:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54977,"name":"uint256","nodeType":"ElementaryTypeName","src":"55035:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55017:36:97"},"returnParameters":{"id":54982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54981,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54990,"src":"55075:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54980,"name":"uint256","nodeType":"ElementaryTypeName","src":"55075:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55074:9:97"},"scope":55137,"src":"54987:177:97","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[1868],"body":{"id":55000,"nodeType":"Block","src":"55474:2:97","statements":[]},"documentation":{"id":54991,"nodeType":"StructuredDocumentation","src":"55225:133:97","text":" @notice Authorizes upgrade to a new implementation\n @param newImplementation The address of the new implementation"},"id":55001,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":54997,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"55454:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":54998,"kind":"modifierInvocation","modifierName":{"id":54996,"name":"onlyRoleOrGovernance","nameLocations":["55433:20:97"],"nodeType":"IdentifierPath","referencedDeclaration":53155,"src":"55433:20:97"},"nodeType":"ModifierInvocation","src":"55433:40:97"}],"name":"_authorizeUpgrade","nameLocation":"55370:17:97","nodeType":"FunctionDefinition","overrides":{"id":54995,"nodeType":"OverrideSpecifier","overrides":[],"src":"55424:8:97"},"parameters":{"id":54994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54993,"mutability":"mutable","name":"newImplementation","nameLocation":"55396:17:97","nodeType":"VariableDeclaration","scope":55001,"src":"55388:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54992,"name":"address","nodeType":"ElementaryTypeName","src":"55388:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55387:27:97"},"returnParameters":{"id":54999,"nodeType":"ParameterList","parameters":[],"src":"55474:0:97"},"scope":55137,"src":"55361:115:97","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[91,5960],"body":{"id":55033,"nodeType":"Block","src":"55804:179:97","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55012,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55004,"src":"55823:11:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":55014,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"55843:13:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IB3TRGovernor_$63919_$","typeString":"type(contract IB3TRGovernor)"}],"id":55013,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"55838:4:97","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":55015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55838:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IB3TRGovernor_$63919","typeString":"type(contract IB3TRGovernor)"}},"id":55016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55858:11:97","memberName":"interfaceId","nodeType":"MemberAccess","src":"55838:31:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"55823:46:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55018,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55004,"src":"55879:11:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":55020,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5058,"src":"55899:16:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$5058_$","typeString":"type(contract IERC1155Receiver)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$5058_$","typeString":"type(contract IERC1155Receiver)"}],"id":55019,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"55894:4:97","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":55021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55894:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC1155Receiver_$5058","typeString":"type(contract IERC1155Receiver)"}},"id":55022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55917:11:97","memberName":"interfaceId","nodeType":"MemberAccess","src":"55894:34:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"55879:49:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"55823:105:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55025,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55004,"src":"55938:11:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":55027,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"55958:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$5961_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$5961_$","typeString":"type(contract IERC165)"}],"id":55026,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"55953:4:97","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":55028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55953:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$5961","typeString":"type(contract IERC165)"}},"id":55029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55967:11:97","memberName":"interfaceId","nodeType":"MemberAccess","src":"55953:25:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"55938:40:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"55823:155:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":55011,"id":55032,"nodeType":"Return","src":"55810:168:97"}]},"documentation":{"id":55002,"nodeType":"StructuredDocumentation","src":"55480:195:97","text":" @notice Checks if the contract supports a specific interface\n @param interfaceId The interface id to check\n @return bool True if the interface is supported, false otherwise"},"functionSelector":"01ffc9a7","id":55034,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"55687:17:97","nodeType":"FunctionDefinition","overrides":{"id":55008,"nodeType":"OverrideSpecifier","overrides":[{"id":55006,"name":"IERC165","nameLocations":["55754:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"55754:7:97"},{"id":55007,"name":"AccessControlUpgradeable","nameLocations":["55763:24:97"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"55763:24:97"}],"src":"55745:43:97"},"parameters":{"id":55005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55004,"mutability":"mutable","name":"interfaceId","nameLocation":"55717:11:97","nodeType":"VariableDeclaration","scope":55034,"src":"55710:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":55003,"name":"bytes4","nodeType":"ElementaryTypeName","src":"55710:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"55704:28:97"},"returnParameters":{"id":55011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55010,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55034,"src":"55798:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55009,"name":"bool","nodeType":"ElementaryTypeName","src":"55798:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55797:6:97"},"scope":55137,"src":"55678:305:97","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":55067,"nodeType":"Block","src":"56341:158:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55050,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"56351:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":55051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56375:8:97","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":57929,"src":"56351:32:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56351:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":55055,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"56397:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}],"id":55054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56389:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55053,"name":"address","nodeType":"ElementaryTypeName","src":"56389:7:97","typeDescriptions":{}}},"id":55056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56389:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"56351:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55062,"nodeType":"IfStatement","src":"56347:104:97","trueBody":{"id":55061,"nodeType":"Block","src":"56404:47:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":55058,"name":"GovernorDisabledDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62932,"src":"56419:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":55059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56419:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55060,"nodeType":"RevertStatement","src":"56412:32:97"}]}},{"expression":{"expression":{"expression":{"id":55063,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"56463:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}},"id":55064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56468:17:97","memberName":"onERC1155Received","nodeType":"MemberAccess","referencedDeclaration":55068,"src":"56463:22:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"}},"id":55065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56486:8:97","memberName":"selector","nodeType":"MemberAccess","src":"56463:31:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":55049,"id":55066,"nodeType":"Return","src":"56456:38:97"}]},"documentation":{"id":55035,"nodeType":"StructuredDocumentation","src":"55987:242:97","text":" @notice See {IERC1155Receiver-onERC1155Received}.\n Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n @return bytes4 The selector of the function"},"functionSelector":"f23a6e61","id":55068,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155Received","nameLocation":"56241:17:97","nodeType":"FunctionDefinition","parameters":{"id":55046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55068,"src":"56259:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55036,"name":"address","nodeType":"ElementaryTypeName","src":"56259:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55039,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55068,"src":"56268:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55038,"name":"address","nodeType":"ElementaryTypeName","src":"56268:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55068,"src":"56277:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55040,"name":"uint256","nodeType":"ElementaryTypeName","src":"56277:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55043,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55068,"src":"56286:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55042,"name":"uint256","nodeType":"ElementaryTypeName","src":"56286:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55068,"src":"56295:12:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":55044,"name":"bytes","nodeType":"ElementaryTypeName","src":"56295:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"56258:50:97"},"returnParameters":{"id":55049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55048,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55068,"src":"56333:6:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":55047,"name":"bytes4","nodeType":"ElementaryTypeName","src":"56333:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"56332:8:97"},"scope":55137,"src":"56232:267:97","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":55099,"nodeType":"Block","src":"56845:157:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55082,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"56855:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":55083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56879:8:97","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":57929,"src":"56855:32:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56855:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":55087,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"56901:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}],"id":55086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56893:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55085,"name":"address","nodeType":"ElementaryTypeName","src":"56893:7:97","typeDescriptions":{}}},"id":55088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56893:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"56855:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55094,"nodeType":"IfStatement","src":"56851:104:97","trueBody":{"id":55093,"nodeType":"Block","src":"56908:47:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":55090,"name":"GovernorDisabledDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62932,"src":"56923:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":55091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56923:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55092,"nodeType":"RevertStatement","src":"56916:32:97"}]}},{"expression":{"expression":{"expression":{"id":55095,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"56967:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}},"id":55096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56972:16:97","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":55100,"src":"56967:21:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":55097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56989:8:97","memberName":"selector","nodeType":"MemberAccess","src":"56967:30:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":55081,"id":55098,"nodeType":"Return","src":"56960:37:97"}]},"documentation":{"id":55069,"nodeType":"StructuredDocumentation","src":"56503:240:97","text":" @notice See {IERC721Receiver-onERC721Received}.\n Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n @return bytes4 The selector of the function"},"functionSelector":"150b7a02","id":55100,"implemented":true,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"56755:16:97","nodeType":"FunctionDefinition","parameters":{"id":55078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55100,"src":"56772:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55070,"name":"address","nodeType":"ElementaryTypeName","src":"56772:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55073,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55100,"src":"56781:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55072,"name":"address","nodeType":"ElementaryTypeName","src":"56781:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55075,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55100,"src":"56790:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55074,"name":"uint256","nodeType":"ElementaryTypeName","src":"56790:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55100,"src":"56799:12:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":55076,"name":"bytes","nodeType":"ElementaryTypeName","src":"56799:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"56771:41:97"},"returnParameters":{"id":55081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55080,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55100,"src":"56837:6:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":55079,"name":"bytes4","nodeType":"ElementaryTypeName","src":"56837:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"56836:8:97"},"scope":55137,"src":"56746:256:97","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":55135,"nodeType":"Block","src":"57412:163:97","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55118,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"57422:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":55119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57446:8:97","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":57929,"src":"57422:32:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57422:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":55123,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"57468:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}],"id":55122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"57460:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55121,"name":"address","nodeType":"ElementaryTypeName","src":"57460:7:97","typeDescriptions":{}}},"id":55124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57460:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"57422:51:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55130,"nodeType":"IfStatement","src":"57418:104:97","trueBody":{"id":55129,"nodeType":"Block","src":"57475:47:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":55126,"name":"GovernorDisabledDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62932,"src":"57490:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":55127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57490:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55128,"nodeType":"RevertStatement","src":"57483:32:97"}]}},{"expression":{"expression":{"expression":{"id":55131,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"57534:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_B3TRGovernor_$55137","typeString":"contract B3TRGovernor"}},"id":55132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57539:22:97","memberName":"onERC1155BatchReceived","nodeType":"MemberAccess","referencedDeclaration":55136,"src":"57534:27:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"}},"id":55133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57562:8:97","memberName":"selector","nodeType":"MemberAccess","src":"57534:36:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":55117,"id":55134,"nodeType":"Return","src":"57527:43:97"}]},"documentation":{"id":55101,"nodeType":"StructuredDocumentation","src":"57006:247:97","text":" @notice See {IERC1155Receiver-onERC1155BatchReceived}.\n Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\n @return bytes4 The selector of the function"},"functionSelector":"bc197c81","id":55136,"implemented":true,"kind":"function","modifiers":[],"name":"onERC1155BatchReceived","nameLocation":"57265:22:97","nodeType":"FunctionDefinition","parameters":{"id":55114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55136,"src":"57293:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55102,"name":"address","nodeType":"ElementaryTypeName","src":"57293:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55136,"src":"57306:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55104,"name":"address","nodeType":"ElementaryTypeName","src":"57306:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55136,"src":"57319:16:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":55106,"name":"uint256","nodeType":"ElementaryTypeName","src":"57319:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55107,"nodeType":"ArrayTypeName","src":"57319:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":55111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55136,"src":"57341:16:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":55109,"name":"uint256","nodeType":"ElementaryTypeName","src":"57341:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55110,"nodeType":"ArrayTypeName","src":"57341:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":55113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55136,"src":"57363:12:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":55112,"name":"bytes","nodeType":"ElementaryTypeName","src":"57363:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"57287:92:97"},"returnParameters":{"id":55117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55136,"src":"57404:6:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":55115,"name":"bytes4","nodeType":"ElementaryTypeName","src":"57404:6:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"57403:8:97"},"scope":55137,"src":"57256:319:97","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":55138,"src":"7641:49936:97","usedErrors":[1495,1498,1759,1764,4026,4029,4342,4345,4738,4751,5344,5347,10453,56137,57889,62924,62929,62932,62937,62944,62949,62954,62959,62966,62973,62980,62990,62995,63004,63009,63012,63015,63020,63025,63030,63037,63040,63045,63050,63055,63063,63068,63073,63078,63085,63768,63773,63776,63783,63788,63793,63798],"usedEvents":[1503,4018,4023,4354,4363,4372,4717,56177,63110,63117,63122,63127,63136,63143,63150,63159,63174,63179,63188,63195,63203,63213,63223,63233,63243,63250,63259,63264,63269,63274,63283,63805,63816,63824,63833]}],"src":"1194:56384:97"},"id":97},"contracts/governance/libraries/GovernorClockLogic.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorClockLogic.sol","exportedSymbols":{"GovernorClockLogic":[55213],"GovernorStorageTypes":[61306],"IVOT3":[67719],"Time":[11669]},"id":55214,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":55139,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:98"},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":55141,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55214,"sourceUnit":61307,"src":"1220:66:98","symbolAliases":[{"foreign":{"id":55140,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1229:20:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../../interfaces/IVOT3.sol","id":55143,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55214,"sourceUnit":67720,"src":"1287:51:98","symbolAliases":[{"foreign":{"id":55142,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"1296:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":55145,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55214,"sourceUnit":11670,"src":"1339:68:98","symbolAliases":[{"foreign":{"id":55144,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"1348:4:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorClockLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":55146,"nodeType":"StructuredDocumentation","src":"1409:233:98","text":"@title GovernorClockLogic Library\n @notice Library for managing the clock logic as specified in EIP-6372, with fallback to block numbers.\n @dev This library interacts with the IVOT3 interface to get the clock time or mode."},"fullyImplemented":true,"id":55213,"linearizedBaseContracts":[55213],"name":"GovernorClockLogic","nameLocation":"1650:18:98","nodeType":"ContractDefinition","nodes":[{"body":{"id":55179,"nodeType":"Block","src":"2043:230:98","statements":[{"assignments":[55156],"declarations":[{"constant":false,"id":55156,"mutability":"mutable","name":"$","nameLocation":"2094:1:98","nodeType":"VariableDeclaration","scope":55179,"src":"2049:46:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":55155,"nodeType":"UserDefinedTypeName","pathNode":{"id":55154,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["2049:20:98","2070:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"2049:36:98"},"referencedDeclaration":61305,"src":"2049:36:98","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":55160,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55157,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"2098:20:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2119:18:98","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"2098:39:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2098:41:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2049:90:98"},{"clauses":[{"block":{"id":55170,"nodeType":"Block","src":"2191:31:98","statements":[{"expression":{"id":55168,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55166,"src":"2206:9:98","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":55151,"id":55169,"nodeType":"Return","src":"2199:16:98"}]},"errorName":"","id":55171,"nodeType":"TryCatchClause","parameters":{"id":55167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55166,"mutability":"mutable","name":"timepoint","nameLocation":"2180:9:98","nodeType":"VariableDeclaration","scope":55171,"src":"2173:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":55165,"name":"uint48","nodeType":"ElementaryTypeName","src":"2173:6:98","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2172:18:98"},"src":"2164:58:98"},{"block":{"id":55176,"nodeType":"Block","src":"2229:40:98","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55172,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"2244:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":55173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2249:11:98","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"2244:16:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":55174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2244:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":55151,"id":55175,"nodeType":"Return","src":"2237:25:98"}]},"errorName":"","id":55177,"nodeType":"TryCatchClause","src":"2223:46:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":55161,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55156,"src":"2149:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2151:4:98","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":61181,"src":"2149:6:98","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":55163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2156:5:98","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":67472,"src":"2149:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint48_$","typeString":"function () view external returns (uint48)"}},"id":55164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2149:14:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":55178,"nodeType":"TryStatement","src":"2145:124:98"}]},"documentation":{"id":55147,"nodeType":"StructuredDocumentation","src":"1673:319:98","text":" @notice Returns the current timepoint from the token's clock, falling back to the current block number if the token does not implement EIP-6372.\n @dev Tries to get the timepoint from the vot3 clock. If it fails, it returns the current block number.\n @return The current timepoint or block number."},"functionSelector":"91ddadf4","id":55180,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"2004:5:98","nodeType":"FunctionDefinition","parameters":{"id":55148,"nodeType":"ParameterList","parameters":[],"src":"2009:2:98"},"returnParameters":{"id":55151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55180,"src":"2035:6:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":55149,"name":"uint48","nodeType":"ElementaryTypeName","src":"2035:6:98","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2034:8:98"},"scope":55213,"src":"1995:278:98","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":55211,"nodeType":"Block","src":"2657:255:98","statements":[{"assignments":[55190],"declarations":[{"constant":false,"id":55190,"mutability":"mutable","name":"$","nameLocation":"2708:1:98","nodeType":"VariableDeclaration","scope":55211,"src":"2663:46:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":55189,"nodeType":"UserDefinedTypeName","pathNode":{"id":55188,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["2663:20:98","2684:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"2663:36:98"},"referencedDeclaration":61305,"src":"2663:36:98","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":55194,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55191,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"2712:20:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2733:18:98","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"2712:39:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2712:41:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2663:90:98"},{"clauses":[{"block":{"id":55204,"nodeType":"Block","src":"2817:31:98","statements":[{"expression":{"id":55202,"name":"clockmode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55200,"src":"2832:9:98","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":55185,"id":55203,"nodeType":"Return","src":"2825:16:98"}]},"errorName":"","id":55205,"nodeType":"TryCatchClause","parameters":{"id":55201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55200,"mutability":"mutable","name":"clockmode","nameLocation":"2806:9:98","nodeType":"VariableDeclaration","scope":55205,"src":"2792:23:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55199,"name":"string","nodeType":"ElementaryTypeName","src":"2792:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2791:25:98"},"src":"2783:65:98"},{"block":{"id":55208,"nodeType":"Block","src":"2855:53:98","statements":[{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":55206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2870:31:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":55185,"id":55207,"nodeType":"Return","src":"2863:38:98"}]},"errorName":"","id":55209,"nodeType":"TryCatchClause","src":"2849:59:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":55195,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55190,"src":"2763:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2765:4:98","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":61181,"src":"2763:6:98","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":55197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2770:10:98","memberName":"CLOCK_MODE","nodeType":"MemberAccess","referencedDeclaration":67417,"src":"2763:17:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view external returns (string memory)"}},"id":55198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2763:19:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55210,"nodeType":"TryStatement","src":"2759:149:98"}]},"documentation":{"id":55181,"nodeType":"StructuredDocumentation","src":"2277:266:98","text":" @notice Returns the machine-readable description of the clock mode as specified in EIP-6372.\n @dev Tries to get the clock mode from the vot3 interface. If it fails, it returns the default block number mode.\n @return The clock mode as a string."},"functionSelector":"4bf5d7e9","id":55212,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"2606:10:98","nodeType":"FunctionDefinition","parameters":{"id":55182,"nodeType":"ParameterList","parameters":[],"src":"2616:2:98"},"returnParameters":{"id":55185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55184,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55212,"src":"2642:13:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55183,"name":"string","nodeType":"ElementaryTypeName","src":"2642:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2641:15:98"},"scope":55213,"src":"2597:315:98","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":55214,"src":"1642:1272:98","usedErrors":[7025],"usedEvents":[]}],"src":"1195:1720:98"},"id":98},"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol","exportedSymbols":{"GovernorCommunityExecutionLogic":[56031],"GovernorStateLogic":[61096],"GovernorStorageTypes":[61306],"GovernorTypes":[61442],"ITreasury":[67241]},"id":56032,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":55215,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:99"},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./GovernorTypes.sol","id":55217,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56032,"sourceUnit":61443,"src":"1220:52:99","symbolAliases":[{"foreign":{"id":55216,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"1229:13:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":55219,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56032,"sourceUnit":61307,"src":"1273:66:99","symbolAliases":[{"foreign":{"id":55218,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1282:20:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStateLogic.sol","file":"./GovernorStateLogic.sol","id":55221,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56032,"sourceUnit":61097,"src":"1340:62:99","symbolAliases":[{"foreign":{"id":55220,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"1349:18:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/ITreasury.sol","file":"../../interfaces/ITreasury.sol","id":55223,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56032,"sourceUnit":67242,"src":"1403:59:99","symbolAliases":[{"foreign":{"id":55222,"name":"ITreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67241,"src":"1412:9:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorCommunityExecutionLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":55224,"nodeType":"StructuredDocumentation","src":"1464:708:99","text":"@title GovernorCommunityExecutionLogic\n @notice Library implementing the V11 Community Execution Framework: per-proposal\n         B3TR implementation cost, a single payout address that receives the full\n         budget after the proposal is marked Completed, free-text description /\n         implementation-discussion link, and a list of contributor handles.\n @dev All state-changing functions are designed to be called via delegatecall from\n      {B3TRGovernor}; they read and write the namespaced GovernorStorage slot and\n      use `msg.sender` (which resolves to the original caller in delegatecall\n      context, matching the convention used by the existing logic libraries)."},"fullyImplemented":true,"id":56031,"linearizedBaseContracts":[56031],"name":"GovernorCommunityExecutionLogic","nameLocation":"2180:31:99","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":55225,"nodeType":"StructuredDocumentation","src":"2270:82:99","text":"@notice Emitted when an implementation-cost budget is recorded for a proposal."},"eventSelector":"cd8165bf95ab7c7ec457210098e726b4261032710b47126b883ca5247afdd837","id":55231,"name":"ProposalBudgetSet","nameLocation":"2361:17:99","nodeType":"EventDefinition","parameters":{"id":55230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55227,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2395:10:99","nodeType":"VariableDeclaration","scope":55231,"src":"2379:26:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55226,"name":"uint256","nodeType":"ElementaryTypeName","src":"2379:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55229,"indexed":false,"mutability":"mutable","name":"maxBudget","nameLocation":"2415:9:99","nodeType":"VariableDeclaration","scope":55231,"src":"2407:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55228,"name":"uint256","nodeType":"ElementaryTypeName","src":"2407:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2378:47:99"},"src":"2355:71:99"},{"anonymous":false,"documentation":{"id":55232,"nodeType":"StructuredDocumentation","src":"2430:172:99","text":"@notice Re-declared backward-compatible event so the new flow keeps emitting the\n         same signature as the legacy `markAsInDevelopment(uint256)` path used to."},"eventSelector":"ae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0","id":55236,"name":"ProposalInDevelopment","nameLocation":"2611:21:99","nodeType":"EventDefinition","parameters":{"id":55235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55234,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"2641:10:99","nodeType":"VariableDeclaration","scope":55236,"src":"2633:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55233,"name":"uint256","nodeType":"ElementaryTypeName","src":"2633:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2632:20:99"},"src":"2605:48:99"},{"anonymous":false,"documentation":{"id":55237,"nodeType":"StructuredDocumentation","src":"2657:161:99","text":"@notice Off-chain metadata registered alongside the payee when entering development\n         (or replaced via {updateCommunityExecution} before payout)."},"eventSelector":"e88c3dd4f40f87300587b77b8fd804224e789f0998e5421d84fc6641bc4206db","id":55247,"name":"ProposalInDevelopmentDetails","nameLocation":"2827:28:99","nodeType":"EventDefinition","parameters":{"id":55246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55239,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2877:10:99","nodeType":"VariableDeclaration","scope":55247,"src":"2861:26:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55238,"name":"uint256","nodeType":"ElementaryTypeName","src":"2861:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55241,"indexed":true,"mutability":"mutable","name":"payee","nameLocation":"2909:5:99","nodeType":"VariableDeclaration","scope":55247,"src":"2893:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55240,"name":"address","nodeType":"ElementaryTypeName","src":"2893:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55243,"indexed":false,"mutability":"mutable","name":"description","nameLocation":"2927:11:99","nodeType":"VariableDeclaration","scope":55247,"src":"2920:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55242,"name":"string","nodeType":"ElementaryTypeName","src":"2920:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55245,"indexed":false,"mutability":"mutable","name":"implementationDiscussion","nameLocation":"2951:24:99","nodeType":"VariableDeclaration","scope":55247,"src":"2944:31:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55244,"name":"string","nodeType":"ElementaryTypeName","src":"2944:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2855:124:99"},"src":"2821:159:99"},{"anonymous":false,"documentation":{"id":55248,"nodeType":"StructuredDocumentation","src":"2984:76:99","text":"@notice Emitted when the contributor handles are (re)set for a proposal."},"eventSelector":"73a685e17e09a2fbdba72e1aa6c2adf949b4025a58dcb463ce267875fb7ea3f1","id":55255,"name":"ProposalContributorsSet","nameLocation":"3069:23:99","nodeType":"EventDefinition","parameters":{"id":55254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55250,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3109:10:99","nodeType":"VariableDeclaration","scope":55255,"src":"3093:26:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55249,"name":"uint256","nodeType":"ElementaryTypeName","src":"3093:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55253,"indexed":false,"mutability":"mutable","name":"contributors","nameLocation":"3130:12:99","nodeType":"VariableDeclaration","scope":55255,"src":"3121:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55251,"name":"string","nodeType":"ElementaryTypeName","src":"3121:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55252,"nodeType":"ArrayTypeName","src":"3121:8:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"3092:51:99"},"src":"3063:81:99"},{"anonymous":false,"documentation":{"id":55256,"nodeType":"StructuredDocumentation","src":"3148:91:99","text":"@notice Emitted when the single payout is pulled from Treasury to the registered payee."},"eventSelector":"ea09ed9ea14239b5e3188607c24cf3ee441615cfa1f8ff9dfeaf12f0a7949bc6","id":55264,"name":"ProposalPayoutClaimed","nameLocation":"3248:21:99","nodeType":"EventDefinition","parameters":{"id":55263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55258,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3286:10:99","nodeType":"VariableDeclaration","scope":55264,"src":"3270:26:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55257,"name":"uint256","nodeType":"ElementaryTypeName","src":"3270:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55260,"indexed":true,"mutability":"mutable","name":"payee","nameLocation":"3314:5:99","nodeType":"VariableDeclaration","scope":55264,"src":"3298:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55259,"name":"address","nodeType":"ElementaryTypeName","src":"3298:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55262,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"3329:6:99","nodeType":"VariableDeclaration","scope":55264,"src":"3321:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55261,"name":"uint256","nodeType":"ElementaryTypeName","src":"3321:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3269:67:99"},"src":"3242:95:99"},{"documentation":{"id":55265,"nodeType":"StructuredDocumentation","src":"3395:90:99","text":"@dev Caller is neither the proposal proposer nor a PROPOSAL_STATE_MANAGER_ROLE holder."},"errorSelector":"907ee9b6","id":55271,"name":"UnauthorizedCommunityExecution","nameLocation":"3494:30:99","nodeType":"ErrorDefinition","parameters":{"id":55270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55267,"mutability":"mutable","name":"caller","nameLocation":"3533:6:99","nodeType":"VariableDeclaration","scope":55271,"src":"3525:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55266,"name":"address","nodeType":"ElementaryTypeName","src":"3525:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55269,"mutability":"mutable","name":"proposalId","nameLocation":"3549:10:99","nodeType":"VariableDeclaration","scope":55271,"src":"3541:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55268,"name":"uint256","nodeType":"ElementaryTypeName","src":"3541:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3524:36:99"},"src":"3488:73:99"},{"documentation":{"id":55272,"nodeType":"StructuredDocumentation","src":"3565:82:99","text":"@dev No max budget was recorded for the proposal; the V11 flow cannot be used."},"errorSelector":"8667f7cb","id":55276,"name":"MissingProposalBudget","nameLocation":"3656:21:99","nodeType":"ErrorDefinition","parameters":{"id":55275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55274,"mutability":"mutable","name":"proposalId","nameLocation":"3686:10:99","nodeType":"VariableDeclaration","scope":55276,"src":"3678:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55273,"name":"uint256","nodeType":"ElementaryTypeName","src":"3678:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3677:20:99"},"src":"3650:48:99"},{"documentation":{"id":55277,"nodeType":"StructuredDocumentation","src":"3702:47:99","text":"@dev The payee address is the zero address."},"errorSelector":"f25dd3b6","id":55279,"name":"InvalidPayeeAddress","nameLocation":"3758:19:99","nodeType":"ErrorDefinition","parameters":{"id":55278,"nodeType":"ParameterList","parameters":[],"src":"3777:2:99"},"src":"3752:28:99"},{"documentation":{"id":55280,"nodeType":"StructuredDocumentation","src":"3784:72:99","text":"@dev Contributors array is larger than `maxContributorsPerProposal`."},"errorSelector":"3e79502e","id":55286,"name":"TooManyContributors","nameLocation":"3865:19:99","nodeType":"ErrorDefinition","parameters":{"id":55285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55282,"mutability":"mutable","name":"provided","nameLocation":"3893:8:99","nodeType":"VariableDeclaration","scope":55286,"src":"3885:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55281,"name":"uint256","nodeType":"ElementaryTypeName","src":"3885:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55284,"mutability":"mutable","name":"max","nameLocation":"3911:3:99","nodeType":"VariableDeclaration","scope":55286,"src":"3903:11:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55283,"name":"uint256","nodeType":"ElementaryTypeName","src":"3903:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3884:31:99"},"src":"3859:57:99"},{"documentation":{"id":55287,"nodeType":"StructuredDocumentation","src":"3920:66:99","text":"@dev markAsInDevelopment was already called for this proposal."},"errorSelector":"e4ce8690","id":55291,"name":"PayeesAlreadyFinalized","nameLocation":"3995:22:99","nodeType":"ErrorDefinition","parameters":{"id":55290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55289,"mutability":"mutable","name":"proposalId","nameLocation":"4026:10:99","nodeType":"VariableDeclaration","scope":55291,"src":"4018:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55288,"name":"uint256","nodeType":"ElementaryTypeName","src":"4018:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4017:20:99"},"src":"3989:49:99"},{"documentation":{"id":55292,"nodeType":"StructuredDocumentation","src":"4042:53:99","text":"@dev The payout was already pulled from Treasury."},"errorSelector":"637f9b3e","id":55296,"name":"PayoutAlreadyClaimed","nameLocation":"4104:20:99","nodeType":"ErrorDefinition","parameters":{"id":55295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55294,"mutability":"mutable","name":"proposalId","nameLocation":"4133:10:99","nodeType":"VariableDeclaration","scope":55296,"src":"4125:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55293,"name":"uint256","nodeType":"ElementaryTypeName","src":"4125:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4124:20:99"},"src":"4098:47:99"},{"documentation":{"id":55297,"nodeType":"StructuredDocumentation","src":"4149:73:99","text":"@dev The proposal is not in a state where the budget can be paid out."},"errorSelector":"f64215ae","id":55301,"name":"NotReadyToClaim","nameLocation":"4231:15:99","nodeType":"ErrorDefinition","parameters":{"id":55300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55299,"mutability":"mutable","name":"proposalId","nameLocation":"4255:10:99","nodeType":"VariableDeclaration","scope":55301,"src":"4247:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55298,"name":"uint256","nodeType":"ElementaryTypeName","src":"4247:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4246:20:99"},"src":"4225:42:99"},{"body":{"id":55337,"nodeType":"Block","src":"4649:247:99","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55309,"name":"maxBudget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55306,"src":"4659:9:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4672:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4659:14:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55314,"nodeType":"IfStatement","src":"4655:41:99","trueBody":{"id":55313,"nodeType":"Block","src":"4675:21:99","statements":[{"functionReturnParameters":55308,"id":55312,"nodeType":"Return","src":"4683:7:99"}]}},{"assignments":[55319],"declarations":[{"constant":false,"id":55319,"mutability":"mutable","name":"$","nameLocation":"4746:1:99","nodeType":"VariableDeclaration","scope":55337,"src":"4701:46:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":55318,"nodeType":"UserDefinedTypeName","pathNode":{"id":55317,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["4701:20:99","4722:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"4701:36:99"},"referencedDeclaration":61305,"src":"4701:36:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":55323,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55320,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"4750:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4771:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"4750:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4750:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4701:90:99"},{"expression":{"id":55330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":55324,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55319,"src":"4797:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55327,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4799:17:99","memberName":"proposalMaxBudget","nodeType":"MemberAccess","referencedDeclaration":61279,"src":"4797:19:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":55328,"indexExpression":{"id":55326,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55304,"src":"4817:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4797:31:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55329,"name":"maxBudget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55306,"src":"4831:9:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4797:43:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55331,"nodeType":"ExpressionStatement","src":"4797:43:99"},{"eventCall":{"arguments":[{"id":55333,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55304,"src":"4869:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55334,"name":"maxBudget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55306,"src":"4881:9:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55332,"name":"ProposalBudgetSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55231,"src":"4851:17:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":55335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4851:40:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55336,"nodeType":"EmitStatement","src":"4846:45:99"}]},"documentation":{"id":55302,"nodeType":"StructuredDocumentation","src":"4357:214:99","text":"@notice Record the immutable max B3TR implementation cost for a proposal.\n @dev Called from `GovernorProposalLogic._propose` when `maxBudget > 0`. Idempotent\n      for `maxBudget == 0` (early return)."},"id":55338,"implemented":true,"kind":"function","modifiers":[],"name":"setProposalBudget","nameLocation":"4583:17:99","nodeType":"FunctionDefinition","parameters":{"id":55307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55304,"mutability":"mutable","name":"proposalId","nameLocation":"4609:10:99","nodeType":"VariableDeclaration","scope":55338,"src":"4601:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55303,"name":"uint256","nodeType":"ElementaryTypeName","src":"4601:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55306,"mutability":"mutable","name":"maxBudget","nameLocation":"4629:9:99","nodeType":"VariableDeclaration","scope":55338,"src":"4621:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55305,"name":"uint256","nodeType":"ElementaryTypeName","src":"4621:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4600:39:99"},"returnParameters":{"id":55308,"nodeType":"ParameterList","parameters":[],"src":"4649:0:99"},"scope":56031,"src":"4574:322:99","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":55418,"nodeType":"Block","src":"6248:670:99","statements":[{"expression":{"arguments":[{"id":55356,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"6286:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55357,"name":"callerHasManagerRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55352,"src":"6298:20:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55355,"name":"_checkMarkAsInDevelopmentGuards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55521,"src":"6254:31:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bool_$returns$__$","typeString":"function (uint256,bool) view"}},"id":55358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6254:65:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55359,"nodeType":"ExpressionStatement","src":"6254:65:99"},{"expression":{"arguments":[{"id":55361,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"6348:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55362,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55343,"src":"6360:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":55360,"name":"_validateBudgetVsPayee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"6325:22:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) view"}},"id":55363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6325:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55364,"nodeType":"ExpressionStatement","src":"6325:41:99"},{"expression":{"arguments":[{"id":55366,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55350,"src":"6399:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}],"id":55365,"name":"_validateContributorsCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55595,"src":"6372:26:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$returns$__$","typeString":"function (string calldata[] calldata) view"}},"id":55367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6372:40:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55368,"nodeType":"ExpressionStatement","src":"6372:40:99"},{"assignments":[55373],"declarations":[{"constant":false,"id":55373,"mutability":"mutable","name":"$","nameLocation":"6464:1:99","nodeType":"VariableDeclaration","scope":55418,"src":"6419:46:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":55372,"nodeType":"UserDefinedTypeName","pathNode":{"id":55371,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["6419:20:99","6440:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"6419:36:99"},"referencedDeclaration":61305,"src":"6419:36:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":55377,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55374,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"6468:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6489:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"6468:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6468:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6419:90:99"},{"condition":{"baseExpression":{"expression":{"id":55378,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55373,"src":"6519:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6521:23:99","memberName":"proposalPayeesFinalized","nodeType":"MemberAccess","referencedDeclaration":61287,"src":"6519:25:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":55381,"indexExpression":{"id":55380,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"6545:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6519:37:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55387,"nodeType":"IfStatement","src":"6515:99:99","trueBody":{"id":55386,"nodeType":"Block","src":"6558:56:99","statements":[{"errorCall":{"arguments":[{"id":55383,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"6596:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55382,"name":"PayeesAlreadyFinalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55291,"src":"6573:22:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":55384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6573:34:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55385,"nodeType":"RevertStatement","src":"6566:41:99"}]}},{"expression":{"id":55394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":55388,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55373,"src":"6619:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6621:23:99","memberName":"proposalPayeesFinalized","nodeType":"MemberAccess","referencedDeclaration":61287,"src":"6619:25:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":55392,"indexExpression":{"id":55390,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"6645:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6619:37:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":55393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6659:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6619:44:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55395,"nodeType":"ExpressionStatement","src":"6619:44:99"},{"expression":{"arguments":[{"id":55397,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"6699:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55398,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55343,"src":"6711:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55399,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55345,"src":"6718:11:99","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":55400,"name":"implementationDiscussion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55347,"src":"6731:24:99","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":55401,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55350,"src":"6757:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}],"id":55396,"name":"_writeCommunityExecutionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55661,"src":"6670:28:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_string_calldata_ptr_$_t_string_calldata_ptr_$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$returns$__$","typeString":"function (uint256,address,string calldata,string calldata,string calldata[] calldata)"}},"id":55402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:100:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55403,"nodeType":"ExpressionStatement","src":"6670:100:99"},{"expression":{"id":55412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":55404,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55373,"src":"6776:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6778:24:99","memberName":"proposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":61257,"src":"6776:26:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalDevelopmentState)"}},"id":55408,"indexExpression":{"id":55406,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"6803:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6776:38:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":55409,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"6817:13:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":55410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6831:24:99","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":61435,"src":"6817:38:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"type(enum GovernorTypes.ProposalDevelopmentState)"}},"id":55411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6856:13:99","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61433,"src":"6817:52:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"src":"6776:93:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"id":55413,"nodeType":"ExpressionStatement","src":"6776:93:99"},{"eventCall":{"arguments":[{"id":55415,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55341,"src":"6902:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55414,"name":"ProposalInDevelopment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55236,"src":"6880:21:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":55416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6880:33:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55417,"nodeType":"EmitStatement","src":"6875:38:99"}]},"documentation":{"id":55339,"nodeType":"StructuredDocumentation","src":"4972:1042:99","text":"@notice Mark a proposal as InDevelopment and register the V11 payee + metadata.\n @dev Authorized to the proposer OR a PROPOSAL_STATE_MANAGER_ROLE caller; the role\n      check is performed by the Governor wrapper and forwarded as `callerHasManagerRole`.\n      Validation:\n      - Proposal must be a Standard proposal (Grants follow the milestone payout flow)\n      - Proposal state must be `Executed`, or `Succeeded` when not executable\n      - The function must not have been called before for this proposal\n      - When `maxBudget > 0` (community-execution proposal): `payee` must be != 0\n      - When `maxBudget == 0`: `payee` may be zero (pure state transition, no payout)\n      - Contributors list size must be <= maxContributorsPerProposal\n      The single registered payee receives the FULL `maxBudget` when {claimPayout}\n      is later called. It is the payee's responsibility to forward funds to any\n      contributors / dev team / project manager off-chain."},"functionSelector":"16a19ad6","id":55419,"implemented":true,"kind":"function","modifiers":[],"name":"markAsInDevelopment","nameLocation":"6026:19:99","nodeType":"FunctionDefinition","parameters":{"id":55353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55341,"mutability":"mutable","name":"proposalId","nameLocation":"6059:10:99","nodeType":"VariableDeclaration","scope":55419,"src":"6051:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55340,"name":"uint256","nodeType":"ElementaryTypeName","src":"6051:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55343,"mutability":"mutable","name":"payee","nameLocation":"6083:5:99","nodeType":"VariableDeclaration","scope":55419,"src":"6075:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55342,"name":"address","nodeType":"ElementaryTypeName","src":"6075:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55345,"mutability":"mutable","name":"description","nameLocation":"6110:11:99","nodeType":"VariableDeclaration","scope":55419,"src":"6094:27:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":55344,"name":"string","nodeType":"ElementaryTypeName","src":"6094:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55347,"mutability":"mutable","name":"implementationDiscussion","nameLocation":"6143:24:99","nodeType":"VariableDeclaration","scope":55419,"src":"6127:40:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":55346,"name":"string","nodeType":"ElementaryTypeName","src":"6127:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55350,"mutability":"mutable","name":"contributors","nameLocation":"6191:12:99","nodeType":"VariableDeclaration","scope":55419,"src":"6173:30:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55348,"name":"string","nodeType":"ElementaryTypeName","src":"6173:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55349,"nodeType":"ArrayTypeName","src":"6173:8:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":55352,"mutability":"mutable","name":"callerHasManagerRole","nameLocation":"6214:20:99","nodeType":"VariableDeclaration","scope":55419,"src":"6209:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55351,"name":"bool","nodeType":"ElementaryTypeName","src":"6209:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6045:193:99"},"returnParameters":{"id":55354,"nodeType":"ParameterList","parameters":[],"src":"6248:0:99"},"scope":56031,"src":"6017:901:99","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":55520,"nodeType":"Block","src":"7023:968:99","statements":[{"assignments":[55430],"declarations":[{"constant":false,"id":55430,"mutability":"mutable","name":"$","nameLocation":"7074:1:99","nodeType":"VariableDeclaration","scope":55520,"src":"7029:46:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":55429,"nodeType":"UserDefinedTypeName","pathNode":{"id":55428,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["7029:20:99","7050:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"7029:36:99"},"referencedDeclaration":61305,"src":"7029:36:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":55434,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55431,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"7078:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7099:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"7078:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7078:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7029:90:99"},{"assignments":[55439],"declarations":[{"constant":false,"id":55439,"mutability":"mutable","name":"proposal","nameLocation":"7160:8:99","nodeType":"VariableDeclaration","scope":55520,"src":"7125:43:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"},"typeName":{"id":55438,"nodeType":"UserDefinedTypeName","pathNode":{"id":55437,"name":"GovernorTypes.ProposalCore","nameLocations":["7125:13:99","7139:12:99"],"nodeType":"IdentifierPath","referencedDeclaration":61395,"src":"7125:26:99"},"referencedDeclaration":61395,"src":"7125:26:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"}},"visibility":"internal"}],"id":55444,"initialValue":{"baseExpression":{"expression":{"id":55440,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55430,"src":"7171:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7173:9:99","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"7171:11:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":55443,"indexExpression":{"id":55442,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55421,"src":"7183:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7171:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7125:69:99"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55445,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7205:3:99","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7209:6:99","memberName":"sender","nodeType":"MemberAccess","src":"7205:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":55447,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55439,"src":"7219:8:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":55448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7228:8:99","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":61378,"src":"7219:17:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7205:31:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":55451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7240:21:99","subExpression":{"id":55450,"name":"callerHasManagerRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55423,"src":"7241:20:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7205:56:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55460,"nodeType":"IfStatement","src":"7201:138:99","trueBody":{"id":55459,"nodeType":"Block","src":"7263:76:99","statements":[{"errorCall":{"arguments":[{"expression":{"id":55454,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7309:3:99","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7313:6:99","memberName":"sender","nodeType":"MemberAccess","src":"7309:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55456,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55421,"src":"7321:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55453,"name":"UnauthorizedCommunityExecution","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55271,"src":"7278:30:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":55457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7278:54:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55458,"nodeType":"RevertStatement","src":"7271:61:99"}]}},{"assignments":[55465],"declarations":[{"constant":false,"id":55465,"mutability":"mutable","name":"proposalType","nameLocation":"7372:12:99","nodeType":"VariableDeclaration","scope":55520,"src":"7345:39:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":55464,"nodeType":"UserDefinedTypeName","pathNode":{"id":55463,"name":"GovernorTypes.ProposalType","nameLocations":["7345:13:99","7359:12:99"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"7345:26:99"},"referencedDeclaration":61431,"src":"7345:26:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"id":55470,"initialValue":{"baseExpression":{"expression":{"id":55466,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55430,"src":"7387:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7389:12:99","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":61215,"src":"7387:14:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$61431_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalType)"}},"id":55469,"indexExpression":{"id":55468,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55421,"src":"7402:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7387:26:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"7345:68:99"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"id":55475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55471,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55465,"src":"7423:12:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":55472,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"7439:13:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":55473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7453:12:99","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"7439:26:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":55474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7466:8:99","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":61429,"src":"7439:35:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"src":"7423:51:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55482,"nodeType":"IfStatement","src":"7419:131:99","trueBody":{"id":55481,"nodeType":"Block","src":"7476:74:99","statements":[{"errorCall":{"arguments":[{"id":55477,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55421,"src":"7518:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55478,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55465,"src":"7530:12:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":55476,"name":"GovernorRestrictedProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56030,"src":"7491:26:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalType) pure"}},"id":55479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7491:52:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55480,"nodeType":"RevertStatement","src":"7484:59:99"}]}},{"expression":{"arguments":[{"id":55486,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55421,"src":"7602:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":55499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"expression":{"id":55489,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"7657:13:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":55490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7671:13:99","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"7657:27:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":55491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7685:8:99","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"7657:36:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":55487,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"7620:18:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":55488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7639:17:99","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"7620:36:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":55492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7620:74:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"expression":{"expression":{"id":55495,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"7742:13:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":55496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7756:13:99","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"7742:27:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":55497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7770:9:99","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":61400,"src":"7742:37:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":55493,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"7705:18:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":55494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7724:17:99","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"7705:36:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":55498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7705:75:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7620:160:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55483,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"7556:18:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":55485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7575:19:99","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"7556:38:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":55500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7556:230:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":55501,"nodeType":"ExpressionStatement","src":"7556:230:99"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55502,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55439,"src":"7803:8:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":55503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7812:12:99","memberName":"isExecutable","nodeType":"MemberAccess","referencedDeclaration":61384,"src":"7803:21:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":55511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":55506,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55421,"src":"7854:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55504,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"7828:18:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":55505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7847:6:99","memberName":"_state","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"7828:25:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view returns (enum GovernorTypes.ProposalState)"}},"id":55507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7828:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":55508,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"7869:13:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":55509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7883:13:99","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"7869:27:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":55510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7897:9:99","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":61400,"src":"7869:37:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"7828:78:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7803:103:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55519,"nodeType":"IfStatement","src":"7792:195:99","trueBody":{"id":55518,"nodeType":"Block","src":"7913:74:99","statements":[{"errorCall":{"arguments":[{"id":55514,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55421,"src":"7955:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55515,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55465,"src":"7967:12:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":55513,"name":"GovernorRestrictedProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56030,"src":"7928:26:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalType) pure"}},"id":55516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7928:52:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55517,"nodeType":"RevertStatement","src":"7921:59:99"}]}}]},"id":55521,"implemented":true,"kind":"function","modifiers":[],"name":"_checkMarkAsInDevelopmentGuards","nameLocation":"6931:31:99","nodeType":"FunctionDefinition","parameters":{"id":55424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55421,"mutability":"mutable","name":"proposalId","nameLocation":"6971:10:99","nodeType":"VariableDeclaration","scope":55521,"src":"6963:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55420,"name":"uint256","nodeType":"ElementaryTypeName","src":"6963:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55423,"mutability":"mutable","name":"callerHasManagerRole","nameLocation":"6988:20:99","nodeType":"VariableDeclaration","scope":55521,"src":"6983:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55422,"name":"bool","nodeType":"ElementaryTypeName","src":"6983:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6962:47:99"},"returnParameters":{"id":55425,"nodeType":"ParameterList","parameters":[],"src":"7023:0:99"},"scope":56031,"src":"6922:1069:99","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":55568,"nodeType":"Block","src":"8075:286:99","statements":[{"assignments":[55529],"declarations":[{"constant":false,"id":55529,"mutability":"mutable","name":"budget","nameLocation":"8089:6:99","nodeType":"VariableDeclaration","scope":55568,"src":"8081:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55528,"name":"uint256","nodeType":"ElementaryTypeName","src":"8081:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55536,"initialValue":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55530,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"8098:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8119:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"8098:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8098:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8140:17:99","memberName":"proposalMaxBudget","nodeType":"MemberAccess","referencedDeclaration":61279,"src":"8098:59:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":55535,"indexExpression":{"id":55534,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55523,"src":"8158:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8098:71:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8081:88:99"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55537,"name":"budget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55529,"src":"8179:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":55538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8188:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8179:10:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55540,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55525,"src":"8193:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":55543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8210:1:99","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":55542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8202:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55541,"name":"address","nodeType":"ElementaryTypeName","src":"8202:7:99","typeDescriptions":{}}},"id":55544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8193:19:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8179:33:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55551,"nodeType":"IfStatement","src":"8175:82:99","trueBody":{"id":55550,"nodeType":"Block","src":"8214:43:99","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":55547,"name":"InvalidPayeeAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55279,"src":"8229:19:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":55548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8229:21:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55549,"nodeType":"RevertStatement","src":"8222:28:99"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55552,"name":"budget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55529,"src":"8266:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8276:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8266:11:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55555,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55525,"src":"8281:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8298:1:99","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":55557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8290:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55556,"name":"address","nodeType":"ElementaryTypeName","src":"8290:7:99","typeDescriptions":{}}},"id":55559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8290:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8281:19:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8266:34:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55567,"nodeType":"IfStatement","src":"8262:95:99","trueBody":{"id":55566,"nodeType":"Block","src":"8302:55:99","statements":[{"errorCall":{"arguments":[{"id":55563,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55523,"src":"8339:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55562,"name":"MissingProposalBudget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55276,"src":"8317:21:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":55564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8317:33:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55565,"nodeType":"RevertStatement","src":"8310:40:99"}]}}]},"id":55569,"implemented":true,"kind":"function","modifiers":[],"name":"_validateBudgetVsPayee","nameLocation":"8004:22:99","nodeType":"FunctionDefinition","parameters":{"id":55526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55523,"mutability":"mutable","name":"proposalId","nameLocation":"8035:10:99","nodeType":"VariableDeclaration","scope":55569,"src":"8027:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55522,"name":"uint256","nodeType":"ElementaryTypeName","src":"8027:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55525,"mutability":"mutable","name":"payee","nameLocation":"8055:5:99","nodeType":"VariableDeclaration","scope":55569,"src":"8047:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55524,"name":"address","nodeType":"ElementaryTypeName","src":"8047:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8026:35:99"},"returnParameters":{"id":55527,"nodeType":"ParameterList","parameters":[],"src":"8075:0:99"},"scope":56031,"src":"7995:366:99","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":55594,"nodeType":"Block","src":"8446:196:99","statements":[{"assignments":[55576],"declarations":[{"constant":false,"id":55576,"mutability":"mutable","name":"max","nameLocation":"8460:3:99","nodeType":"VariableDeclaration","scope":55594,"src":"8452:11:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55575,"name":"uint256","nodeType":"ElementaryTypeName","src":"8452:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55581,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55577,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"8466:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8487:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"8466:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8466:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55580,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8508:26:99","memberName":"maxContributorsPerProposal","nodeType":"MemberAccess","referencedDeclaration":61275,"src":"8466:68:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8452:82:99"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55582,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55572,"src":"8544:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}},"id":55583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8557:6:99","memberName":"length","nodeType":"MemberAccess","src":"8544:19:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":55584,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55576,"src":"8566:3:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8544:25:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55593,"nodeType":"IfStatement","src":"8540:98:99","trueBody":{"id":55592,"nodeType":"Block","src":"8571:67:99","statements":[{"errorCall":{"arguments":[{"expression":{"id":55587,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55572,"src":"8606:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}},"id":55588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8619:6:99","memberName":"length","nodeType":"MemberAccess","src":"8606:19:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55589,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55576,"src":"8627:3:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55586,"name":"TooManyContributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55286,"src":"8586:19:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":55590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8586:45:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55591,"nodeType":"RevertStatement","src":"8579:52:99"}]}}]},"id":55595,"implemented":true,"kind":"function","modifiers":[],"name":"_validateContributorsCount","nameLocation":"8374:26:99","nodeType":"FunctionDefinition","parameters":{"id":55573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55572,"mutability":"mutable","name":"contributors","nameLocation":"8419:12:99","nodeType":"VariableDeclaration","scope":55595,"src":"8401:30:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55570,"name":"string","nodeType":"ElementaryTypeName","src":"8401:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55571,"nodeType":"ArrayTypeName","src":"8401:8:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"8400:32:99"},"returnParameters":{"id":55574,"nodeType":"ParameterList","parameters":[],"src":"8446:0:99"},"scope":56031,"src":"8365:277:99","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":55660,"nodeType":"Block","src":"8854:482:99","statements":[{"assignments":[55613],"declarations":[{"constant":false,"id":55613,"mutability":"mutable","name":"$","nameLocation":"8905:1:99","nodeType":"VariableDeclaration","scope":55660,"src":"8860:46:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":55612,"nodeType":"UserDefinedTypeName","pathNode":{"id":55611,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["8860:20:99","8881:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"8860:36:99"},"referencedDeclaration":61305,"src":"8860:36:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":55617,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55614,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"8909:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8930:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"8909:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8909:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8860:90:99"},{"expression":{"id":55624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":55618,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55613,"src":"8956:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8958:13:99","memberName":"proposalPayee","nodeType":"MemberAccess","referencedDeclaration":61283,"src":"8956:15:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55622,"indexExpression":{"id":55620,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55597,"src":"8972:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8956:27:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55623,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55599,"src":"8986:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8956:35:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":55625,"nodeType":"ExpressionStatement","src":"8956:35:99"},{"expression":{"id":55632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":55626,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55613,"src":"8997:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8999:19:99","memberName":"proposalDescription","nodeType":"MemberAccess","referencedDeclaration":61295,"src":"8997:21:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":55630,"indexExpression":{"id":55628,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55597,"src":"9019:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8997:33:99","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55631,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55601,"src":"9033:11:99","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"src":"8997:47:99","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55633,"nodeType":"ExpressionStatement","src":"8997:47:99"},{"expression":{"id":55640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":55634,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55613,"src":"9050:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9052:32:99","memberName":"proposalImplementationDiscussion","nodeType":"MemberAccess","referencedDeclaration":61299,"src":"9050:34:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":55638,"indexExpression":{"id":55636,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55597,"src":"9085:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9050:46:99","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55639,"name":"implementationDiscussion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55603,"src":"9099:24:99","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"src":"9050:73:99","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55641,"nodeType":"ExpressionStatement","src":"9050:73:99"},{"expression":{"arguments":[{"id":55643,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55613,"src":"9146:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},{"id":55644,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55597,"src":"9149:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55645,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55606,"src":"9161:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}],"id":55642,"name":"_setContributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56022,"src":"9129:16:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_GovernorStorage_$61305_storage_ptr_$_t_uint256_$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$returns$__$","typeString":"function (struct GovernorStorageTypes.GovernorStorage storage pointer,uint256,string calldata[] calldata)"}},"id":55646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9129:45:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55647,"nodeType":"ExpressionStatement","src":"9129:45:99"},{"eventCall":{"arguments":[{"id":55649,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55597,"src":"9214:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55650,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55599,"src":"9226:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55651,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55601,"src":"9233:11:99","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":55652,"name":"implementationDiscussion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55603,"src":"9246:24:99","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":55648,"name":"ProposalInDevelopmentDetails","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55247,"src":"9185:28:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,address,string memory,string memory)"}},"id":55653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9185:86:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55654,"nodeType":"EmitStatement","src":"9180:91:99"},{"eventCall":{"arguments":[{"id":55656,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55597,"src":"9306:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55657,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55606,"src":"9318:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}],"id":55655,"name":"ProposalContributorsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55255,"src":"9282:23:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,string memory[] memory)"}},"id":55658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9282:49:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55659,"nodeType":"EmitStatement","src":"9277:54:99"}]},"id":55661,"implemented":true,"kind":"function","modifiers":[],"name":"_writeCommunityExecutionData","nameLocation":"8655:28:99","nodeType":"FunctionDefinition","parameters":{"id":55607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55597,"mutability":"mutable","name":"proposalId","nameLocation":"8697:10:99","nodeType":"VariableDeclaration","scope":55661,"src":"8689:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55596,"name":"uint256","nodeType":"ElementaryTypeName","src":"8689:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55599,"mutability":"mutable","name":"payee","nameLocation":"8721:5:99","nodeType":"VariableDeclaration","scope":55661,"src":"8713:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55598,"name":"address","nodeType":"ElementaryTypeName","src":"8713:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55601,"mutability":"mutable","name":"description","nameLocation":"8748:11:99","nodeType":"VariableDeclaration","scope":55661,"src":"8732:27:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":55600,"name":"string","nodeType":"ElementaryTypeName","src":"8732:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55603,"mutability":"mutable","name":"implementationDiscussion","nameLocation":"8781:24:99","nodeType":"VariableDeclaration","scope":55661,"src":"8765:40:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":55602,"name":"string","nodeType":"ElementaryTypeName","src":"8765:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55606,"mutability":"mutable","name":"contributors","nameLocation":"8829:12:99","nodeType":"VariableDeclaration","scope":55661,"src":"8811:30:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55604,"name":"string","nodeType":"ElementaryTypeName","src":"8811:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55605,"nodeType":"ArrayTypeName","src":"8811:8:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"8683:162:99"},"returnParameters":{"id":55608,"nodeType":"ParameterList","parameters":[],"src":"8854:0:99"},"scope":56031,"src":"8646:690:99","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":55700,"nodeType":"Block","src":"10088:280:99","statements":[{"expression":{"arguments":[{"id":55679,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55664,"src":"10131:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55680,"name":"callerHasManagerRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55675,"src":"10143:20:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55678,"name":"_checkUpdateCommunityExecutionGuards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55773,"src":"10094:36:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bool_$returns$__$","typeString":"function (uint256,bool) view"}},"id":55681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10094:70:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55682,"nodeType":"ExpressionStatement","src":"10094:70:99"},{"expression":{"arguments":[{"id":55684,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55664,"src":"10193:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55685,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55666,"src":"10205:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":55683,"name":"_validateBudgetVsPayee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55569,"src":"10170:22:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) view"}},"id":55686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10170:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55687,"nodeType":"ExpressionStatement","src":"10170:41:99"},{"expression":{"arguments":[{"id":55689,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55673,"src":"10244:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}],"id":55688,"name":"_validateContributorsCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55595,"src":"10217:26:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$returns$__$","typeString":"function (string calldata[] calldata) view"}},"id":55690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10217:40:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55691,"nodeType":"ExpressionStatement","src":"10217:40:99"},{"expression":{"arguments":[{"id":55693,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55664,"src":"10292:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55694,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55666,"src":"10304:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55695,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55668,"src":"10311:11:99","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":55696,"name":"implementationDiscussion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55670,"src":"10324:24:99","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":55697,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55673,"src":"10350:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}],"id":55692,"name":"_writeCommunityExecutionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55661,"src":"10263:28:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_string_calldata_ptr_$_t_string_calldata_ptr_$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$returns$__$","typeString":"function (uint256,address,string calldata,string calldata,string calldata[] calldata)"}},"id":55698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10263:100:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55699,"nodeType":"ExpressionStatement","src":"10263:100:99"}]},"documentation":{"id":55662,"nodeType":"StructuredDocumentation","src":"9340:509:99","text":"@notice Replace the payee / description / discussion / contributors for an\n         in-development proposal whose payout has not yet been claimed.\n @dev Authorized to the proposer OR a PROPOSAL_STATE_MANAGER_ROLE caller (matching\n      markAsInDevelopment access rules). Allowed while the proposal is `InDevelopment`\n      or `Completed` so the proposer can still correct the payout target up until\n      {claimPayout} is called. Once `proposalPaid` is true the data is immutable."},"functionSelector":"0a9c9f19","id":55701,"implemented":true,"kind":"function","modifiers":[],"name":"updateCommunityExecution","nameLocation":"9861:24:99","nodeType":"FunctionDefinition","parameters":{"id":55676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55664,"mutability":"mutable","name":"proposalId","nameLocation":"9899:10:99","nodeType":"VariableDeclaration","scope":55701,"src":"9891:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55663,"name":"uint256","nodeType":"ElementaryTypeName","src":"9891:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55666,"mutability":"mutable","name":"payee","nameLocation":"9923:5:99","nodeType":"VariableDeclaration","scope":55701,"src":"9915:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55665,"name":"address","nodeType":"ElementaryTypeName","src":"9915:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55668,"mutability":"mutable","name":"description","nameLocation":"9950:11:99","nodeType":"VariableDeclaration","scope":55701,"src":"9934:27:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":55667,"name":"string","nodeType":"ElementaryTypeName","src":"9934:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55670,"mutability":"mutable","name":"implementationDiscussion","nameLocation":"9983:24:99","nodeType":"VariableDeclaration","scope":55701,"src":"9967:40:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":55669,"name":"string","nodeType":"ElementaryTypeName","src":"9967:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55673,"mutability":"mutable","name":"contributors","nameLocation":"10031:12:99","nodeType":"VariableDeclaration","scope":55701,"src":"10013:30:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55671,"name":"string","nodeType":"ElementaryTypeName","src":"10013:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55672,"nodeType":"ArrayTypeName","src":"10013:8:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":55675,"mutability":"mutable","name":"callerHasManagerRole","nameLocation":"10054:20:99","nodeType":"VariableDeclaration","scope":55701,"src":"10049:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55674,"name":"bool","nodeType":"ElementaryTypeName","src":"10049:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9885:193:99"},"returnParameters":{"id":55677,"nodeType":"ParameterList","parameters":[],"src":"10088:0:99"},"scope":56031,"src":"9852:516:99","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":55772,"nodeType":"Block","src":"10478:653:99","statements":[{"assignments":[55712],"declarations":[{"constant":false,"id":55712,"mutability":"mutable","name":"$","nameLocation":"10529:1:99","nodeType":"VariableDeclaration","scope":55772,"src":"10484:46:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":55711,"nodeType":"UserDefinedTypeName","pathNode":{"id":55710,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["10484:20:99","10505:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"10484:36:99"},"referencedDeclaration":61305,"src":"10484:36:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":55716,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55713,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"10533:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10554:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"10533:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10533:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10484:90:99"},{"assignments":[55721],"declarations":[{"constant":false,"id":55721,"mutability":"mutable","name":"proposal","nameLocation":"10615:8:99","nodeType":"VariableDeclaration","scope":55772,"src":"10580:43:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"},"typeName":{"id":55720,"nodeType":"UserDefinedTypeName","pathNode":{"id":55719,"name":"GovernorTypes.ProposalCore","nameLocations":["10580:13:99","10594:12:99"],"nodeType":"IdentifierPath","referencedDeclaration":61395,"src":"10580:26:99"},"referencedDeclaration":61395,"src":"10580:26:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"}},"visibility":"internal"}],"id":55726,"initialValue":{"baseExpression":{"expression":{"id":55722,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55712,"src":"10626:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10628:9:99","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"10626:11:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":55725,"indexExpression":{"id":55724,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55703,"src":"10638:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10626:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10580:69:99"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55727,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10660:3:99","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10664:6:99","memberName":"sender","nodeType":"MemberAccess","src":"10660:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":55729,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55721,"src":"10674:8:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":55730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10683:8:99","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":61378,"src":"10674:17:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10660:31:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":55733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10695:21:99","subExpression":{"id":55732,"name":"callerHasManagerRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55705,"src":"10696:20:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10660:56:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55742,"nodeType":"IfStatement","src":"10656:138:99","trueBody":{"id":55741,"nodeType":"Block","src":"10718:76:99","statements":[{"errorCall":{"arguments":[{"expression":{"id":55736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10764:3:99","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10768:6:99","memberName":"sender","nodeType":"MemberAccess","src":"10764:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55738,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55703,"src":"10776:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55735,"name":"UnauthorizedCommunityExecution","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55271,"src":"10733:30:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":55739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10733:54:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55740,"nodeType":"RevertStatement","src":"10726:61:99"}]}},{"expression":{"arguments":[{"id":55746,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55703,"src":"10846:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":55759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"expression":{"id":55749,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"10901:13:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":55750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10915:13:99","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"10901:27:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":55751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10929:13:99","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61404,"src":"10901:41:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":55747,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"10864:18:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":55748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10883:17:99","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"10864:36:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":55752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10864:79:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"expression":{"expression":{"id":55755,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"10991:13:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":55756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11005:13:99","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"10991:27:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":55757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11019:9:99","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61405,"src":"10991:37:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":55753,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"10954:18:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":55754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10973:17:99","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"10954:36:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":55758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10954:75:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10864:165:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55743,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"10800:18:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":55745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10819:19:99","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"10800:38:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":55760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10800:235:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":55761,"nodeType":"ExpressionStatement","src":"10800:235:99"},{"condition":{"baseExpression":{"expression":{"id":55762,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55712,"src":"11045:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11047:12:99","memberName":"proposalPaid","nodeType":"MemberAccess","referencedDeclaration":61291,"src":"11045:14:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":55765,"indexExpression":{"id":55764,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55703,"src":"11060:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11045:26:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55771,"nodeType":"IfStatement","src":"11041:86:99","trueBody":{"id":55770,"nodeType":"Block","src":"11073:54:99","statements":[{"errorCall":{"arguments":[{"id":55767,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55703,"src":"11109:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55766,"name":"PayoutAlreadyClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55296,"src":"11088:20:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":55768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11088:32:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55769,"nodeType":"RevertStatement","src":"11081:39:99"}]}}]},"id":55773,"implemented":true,"kind":"function","modifiers":[],"name":"_checkUpdateCommunityExecutionGuards","nameLocation":"10381:36:99","nodeType":"FunctionDefinition","parameters":{"id":55706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55703,"mutability":"mutable","name":"proposalId","nameLocation":"10426:10:99","nodeType":"VariableDeclaration","scope":55773,"src":"10418:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55702,"name":"uint256","nodeType":"ElementaryTypeName","src":"10418:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55705,"mutability":"mutable","name":"callerHasManagerRole","nameLocation":"10443:20:99","nodeType":"VariableDeclaration","scope":55773,"src":"10438:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55704,"name":"bool","nodeType":"ElementaryTypeName","src":"10438:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10417:47:99"},"returnParameters":{"id":55707,"nodeType":"ParameterList","parameters":[],"src":"10478:0:99"},"scope":56031,"src":"10372:759:99","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":55863,"nodeType":"Block","src":"11356:686:99","statements":[{"assignments":[55783],"declarations":[{"constant":false,"id":55783,"mutability":"mutable","name":"$","nameLocation":"11407:1:99","nodeType":"VariableDeclaration","scope":55863,"src":"11362:46:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":55782,"nodeType":"UserDefinedTypeName","pathNode":{"id":55781,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["11362:20:99","11383:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"11362:36:99"},"referencedDeclaration":61305,"src":"11362:36:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":55787,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55784,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"11411:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11432:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"11411:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11411:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11362:90:99"},{"expression":{"arguments":[{"id":55791,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"11505:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":55794,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"11560:13:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":55795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11574:13:99","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"11560:27:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":55796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11588:9:99","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61405,"src":"11560:37:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":55792,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"11523:18:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":55793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11542:17:99","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"11523:36:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":55797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11523:75:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55788,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"11459:18:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":55790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11478:19:99","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"11459:38:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":55798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11459:145:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":55799,"nodeType":"ExpressionStatement","src":"11459:145:99"},{"condition":{"baseExpression":{"expression":{"id":55800,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55783,"src":"11615:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11617:12:99","memberName":"proposalPaid","nodeType":"MemberAccess","referencedDeclaration":61291,"src":"11615:14:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":55803,"indexExpression":{"id":55802,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"11630:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11615:26:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55809,"nodeType":"IfStatement","src":"11611:86:99","trueBody":{"id":55808,"nodeType":"Block","src":"11643:54:99","statements":[{"errorCall":{"arguments":[{"id":55805,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"11679:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55804,"name":"PayoutAlreadyClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55296,"src":"11658:20:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":55806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11658:32:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55807,"nodeType":"RevertStatement","src":"11651:39:99"}]}},{"assignments":[55811],"declarations":[{"constant":false,"id":55811,"mutability":"mutable","name":"payee","nameLocation":"11711:5:99","nodeType":"VariableDeclaration","scope":55863,"src":"11703:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55810,"name":"address","nodeType":"ElementaryTypeName","src":"11703:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55816,"initialValue":{"baseExpression":{"expression":{"id":55812,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55783,"src":"11719:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11721:13:99","memberName":"proposalPayee","nodeType":"MemberAccess","referencedDeclaration":61283,"src":"11719:15:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55815,"indexExpression":{"id":55814,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"11735:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11719:27:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11703:43:99"},{"assignments":[55818],"declarations":[{"constant":false,"id":55818,"mutability":"mutable","name":"amount","nameLocation":"11760:6:99","nodeType":"VariableDeclaration","scope":55863,"src":"11752:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55817,"name":"uint256","nodeType":"ElementaryTypeName","src":"11752:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55823,"initialValue":{"baseExpression":{"expression":{"id":55819,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55783,"src":"11769:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11771:17:99","memberName":"proposalMaxBudget","nodeType":"MemberAccess","referencedDeclaration":61279,"src":"11769:19:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":55822,"indexExpression":{"id":55821,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"11789:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11769:31:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11752:48:99"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55824,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55811,"src":"11810:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":55827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11827:1:99","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":55826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11819:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55825,"name":"address","nodeType":"ElementaryTypeName","src":"11819:7:99","typeDescriptions":{}}},"id":55828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11819:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11810:19:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55830,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55818,"src":"11833:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11843:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11833:11:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11810:34:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55839,"nodeType":"IfStatement","src":"11806:89:99","trueBody":{"id":55838,"nodeType":"Block","src":"11846:49:99","statements":[{"errorCall":{"arguments":[{"id":55835,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"11877:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55834,"name":"NotReadyToClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55301,"src":"11861:15:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":55836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11861:27:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55837,"nodeType":"RevertStatement","src":"11854:34:99"}]}},{"expression":{"id":55846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":55840,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55783,"src":"11901:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11903:12:99","memberName":"proposalPaid","nodeType":"MemberAccess","referencedDeclaration":61291,"src":"11901:14:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":55844,"indexExpression":{"id":55842,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"11916:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11901:26:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":55845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11930:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"11901:33:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55847,"nodeType":"ExpressionStatement","src":"11901:33:99"},{"expression":{"arguments":[{"id":55853,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55811,"src":"11964:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55854,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55818,"src":"11971:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":55848,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55783,"src":"11940:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11942:8:99","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":61273,"src":"11940:10:99","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"id":55852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11951:12:99","memberName":"transferB3TR","nodeType":"MemberAccess","referencedDeclaration":67149,"src":"11940:23:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":55855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11940:38:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55856,"nodeType":"ExpressionStatement","src":"11940:38:99"},{"eventCall":{"arguments":[{"id":55858,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"12011:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55859,"name":"payee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55811,"src":"12023:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55860,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55818,"src":"12030:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55857,"name":"ProposalPayoutClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55264,"src":"11989:21:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":55861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11989:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55862,"nodeType":"EmitStatement","src":"11984:53:99"}]},"documentation":{"id":55774,"nodeType":"StructuredDocumentation","src":"11135:168:99","text":"@notice Pull the full implementation cost from Treasury to the registered payee.\n @dev Callable by anyone. Requires the proposal to be `Completed`. Idempotent."},"functionSelector":"8a69614e","id":55864,"implemented":true,"kind":"function","modifiers":[],"name":"claimPayout","nameLocation":"11315:11:99","nodeType":"FunctionDefinition","parameters":{"id":55777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55776,"mutability":"mutable","name":"proposalId","nameLocation":"11335:10:99","nodeType":"VariableDeclaration","scope":55864,"src":"11327:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55775,"name":"uint256","nodeType":"ElementaryTypeName","src":"11327:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11326:20:99"},"returnParameters":{"id":55778,"nodeType":"ParameterList","parameters":[],"src":"11356:0:99"},"scope":56031,"src":"11306:736:99","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":55878,"nodeType":"Block","src":"12188:89:99","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55871,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"12201:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12222:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"12201:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12201:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12243:17:99","memberName":"proposalMaxBudget","nodeType":"MemberAccess","referencedDeclaration":61279,"src":"12201:59:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":55876,"indexExpression":{"id":55875,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55866,"src":"12261:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12201:71:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55870,"id":55877,"nodeType":"Return","src":"12194:78:99"}]},"functionSelector":"01d6e78f","id":55879,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalBudget","nameLocation":"12118:17:99","nodeType":"FunctionDefinition","parameters":{"id":55867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55866,"mutability":"mutable","name":"proposalId","nameLocation":"12144:10:99","nodeType":"VariableDeclaration","scope":55879,"src":"12136:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55865,"name":"uint256","nodeType":"ElementaryTypeName","src":"12136:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12135:20:99"},"returnParameters":{"id":55870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55879,"src":"12179:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55868,"name":"uint256","nodeType":"ElementaryTypeName","src":"12179:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12178:9:99"},"scope":56031,"src":"12109:168:99","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":55893,"nodeType":"Block","src":"12359:85:99","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55886,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"12372:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12393:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"12372:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12372:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12414:13:99","memberName":"proposalPayee","nodeType":"MemberAccess","referencedDeclaration":61283,"src":"12372:55:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55891,"indexExpression":{"id":55890,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55881,"src":"12428:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12372:67:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":55885,"id":55892,"nodeType":"Return","src":"12365:74:99"}]},"functionSelector":"5452a01b","id":55894,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalPayee","nameLocation":"12290:16:99","nodeType":"FunctionDefinition","parameters":{"id":55882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55881,"mutability":"mutable","name":"proposalId","nameLocation":"12315:10:99","nodeType":"VariableDeclaration","scope":55894,"src":"12307:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55880,"name":"uint256","nodeType":"ElementaryTypeName","src":"12307:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12306:20:99"},"returnParameters":{"id":55885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55894,"src":"12350:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55883,"name":"address","nodeType":"ElementaryTypeName","src":"12350:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12349:9:99"},"scope":56031,"src":"12281:163:99","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":55908,"nodeType":"Block","src":"12521:84:99","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55901,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"12534:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12555:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"12534:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12534:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12576:12:99","memberName":"proposalPaid","nodeType":"MemberAccess","referencedDeclaration":61291,"src":"12534:54:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":55906,"indexExpression":{"id":55905,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55896,"src":"12589:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12534:66:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":55900,"id":55907,"nodeType":"Return","src":"12527:73:99"}]},"functionSelector":"c305f59a","id":55909,"implemented":true,"kind":"function","modifiers":[],"name":"isProposalPaid","nameLocation":"12457:14:99","nodeType":"FunctionDefinition","parameters":{"id":55897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55896,"mutability":"mutable","name":"proposalId","nameLocation":"12480:10:99","nodeType":"VariableDeclaration","scope":55909,"src":"12472:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55895,"name":"uint256","nodeType":"ElementaryTypeName","src":"12472:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12471:20:99"},"returnParameters":{"id":55900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55899,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55909,"src":"12515:4:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55898,"name":"bool","nodeType":"ElementaryTypeName","src":"12515:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12514:6:99"},"scope":56031,"src":"12448:157:99","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":55923,"nodeType":"Block","src":"12705:95:99","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55916,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"12718:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12739:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"12718:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12718:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55919,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12760:23:99","memberName":"proposalPayeesFinalized","nodeType":"MemberAccess","referencedDeclaration":61287,"src":"12718:65:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":55921,"indexExpression":{"id":55920,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55911,"src":"12784:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12718:77:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":55915,"id":55922,"nodeType":"Return","src":"12711:84:99"}]},"functionSelector":"20132e54","id":55924,"implemented":true,"kind":"function","modifiers":[],"name":"isProposalCommunityExecutionFinalized","nameLocation":"12618:37:99","nodeType":"FunctionDefinition","parameters":{"id":55912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55911,"mutability":"mutable","name":"proposalId","nameLocation":"12664:10:99","nodeType":"VariableDeclaration","scope":55924,"src":"12656:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55910,"name":"uint256","nodeType":"ElementaryTypeName","src":"12656:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12655:20:99"},"returnParameters":{"id":55915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55914,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55924,"src":"12699:4:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55913,"name":"bool","nodeType":"ElementaryTypeName","src":"12699:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12698:6:99"},"scope":56031,"src":"12609:191:99","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":55938,"nodeType":"Block","src":"12894:91:99","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55931,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"12907:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12928:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"12907:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12907:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12949:19:99","memberName":"proposalDescription","nodeType":"MemberAccess","referencedDeclaration":61295,"src":"12907:61:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":55936,"indexExpression":{"id":55935,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55926,"src":"12969:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12907:73:99","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55930,"id":55937,"nodeType":"Return","src":"12900:80:99"}]},"functionSelector":"229acb17","id":55939,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalDescription","nameLocation":"12813:22:99","nodeType":"FunctionDefinition","parameters":{"id":55927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55926,"mutability":"mutable","name":"proposalId","nameLocation":"12844:10:99","nodeType":"VariableDeclaration","scope":55939,"src":"12836:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55925,"name":"uint256","nodeType":"ElementaryTypeName","src":"12836:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12835:20:99"},"returnParameters":{"id":55930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55939,"src":"12879:13:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55928,"name":"string","nodeType":"ElementaryTypeName","src":"12879:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12878:15:99"},"scope":56031,"src":"12804:181:99","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":55953,"nodeType":"Block","src":"13092:104:99","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55946,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"13105:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13126:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"13105:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13105:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13147:32:99","memberName":"proposalImplementationDiscussion","nodeType":"MemberAccess","referencedDeclaration":61299,"src":"13105:74:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":55951,"indexExpression":{"id":55950,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55941,"src":"13180:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13105:86:99","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55945,"id":55952,"nodeType":"Return","src":"13098:93:99"}]},"functionSelector":"656f3e40","id":55954,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalImplementationDiscussion","nameLocation":"12998:35:99","nodeType":"FunctionDefinition","parameters":{"id":55942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55941,"mutability":"mutable","name":"proposalId","nameLocation":"13042:10:99","nodeType":"VariableDeclaration","scope":55954,"src":"13034:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55940,"name":"uint256","nodeType":"ElementaryTypeName","src":"13034:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13033:20:99"},"returnParameters":{"id":55945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55944,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55954,"src":"13077:13:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55943,"name":"string","nodeType":"ElementaryTypeName","src":"13077:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13076:15:99"},"scope":56031,"src":"12989:207:99","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":55969,"nodeType":"Block","src":"13293:92:99","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55962,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"13306:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13327:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"13306:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13306:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13348:20:99","memberName":"proposalContributors","nodeType":"MemberAccess","referencedDeclaration":61304,"src":"13306:62:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_string_storage_$dyn_storage_$","typeString":"mapping(uint256 => string storage ref[] storage ref)"}},"id":55967,"indexExpression":{"id":55966,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55956,"src":"13369:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13306:74:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"functionReturnParameters":55961,"id":55968,"nodeType":"Return","src":"13299:81:99"}]},"functionSelector":"5b16e259","id":55970,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalContributors","nameLocation":"13209:23:99","nodeType":"FunctionDefinition","parameters":{"id":55957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55956,"mutability":"mutable","name":"proposalId","nameLocation":"13241:10:99","nodeType":"VariableDeclaration","scope":55970,"src":"13233:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55955,"name":"uint256","nodeType":"ElementaryTypeName","src":"13233:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13232:20:99"},"returnParameters":{"id":55961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55970,"src":"13276:15:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55958,"name":"string","nodeType":"ElementaryTypeName","src":"13276:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55959,"nodeType":"ArrayTypeName","src":"13276:8:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13275:17:99"},"scope":56031,"src":"13200:185:99","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":55980,"nodeType":"Block","src":"13462:86:99","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55975,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"13475:20:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":55976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13496:18:99","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"13475:39:99","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":55977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13475:41:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13517:26:99","memberName":"maxContributorsPerProposal","nodeType":"MemberAccess","referencedDeclaration":61275,"src":"13475:68:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55974,"id":55979,"nodeType":"Return","src":"13468:75:99"}]},"functionSelector":"4bb66439","id":55981,"implemented":true,"kind":"function","modifiers":[],"name":"getMaxContributorsPerProposal","nameLocation":"13398:29:99","nodeType":"FunctionDefinition","parameters":{"id":55971,"nodeType":"ParameterList","parameters":[],"src":"13427:2:99"},"returnParameters":{"id":55974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55981,"src":"13453:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55972,"name":"uint256","nodeType":"ElementaryTypeName","src":"13453:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13452:9:99"},"scope":56031,"src":"13389:159:99","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":56021,"nodeType":"Block","src":"13766:174:99","statements":[{"expression":{"id":55996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"13772:41:99","subExpression":{"baseExpression":{"expression":{"id":55992,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55984,"src":"13779:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":55993,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13781:20:99","memberName":"proposalContributors","nodeType":"MemberAccess","referencedDeclaration":61304,"src":"13779:22:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_string_storage_$dyn_storage_$","typeString":"mapping(uint256 => string storage ref[] storage ref)"}},"id":55995,"indexExpression":{"id":55994,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55986,"src":"13802:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13779:34:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55997,"nodeType":"ExpressionStatement","src":"13772:41:99"},{"body":{"id":56019,"nodeType":"Block","src":"13865:71:99","statements":[{"expression":{"arguments":[{"baseExpression":{"id":56014,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55989,"src":"13913:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}},"id":56016,"indexExpression":{"id":56015,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55999,"src":"13926:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13913:15:99","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"expression":{"baseExpression":{"expression":{"id":56008,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55984,"src":"13873:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56011,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13875:20:99","memberName":"proposalContributors","nodeType":"MemberAccess","referencedDeclaration":61304,"src":"13873:22:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_string_storage_$dyn_storage_$","typeString":"mapping(uint256 => string storage ref[] storage ref)"}},"id":56012,"indexExpression":{"id":56010,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55986,"src":"13896:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13873:34:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":56013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13908:4:99","memberName":"push","nodeType":"MemberAccess","src":"13873:39:99","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":56017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13873:56:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56018,"nodeType":"ExpressionStatement","src":"13873:56:99"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56001,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55999,"src":"13835:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":56002,"name":"contributors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55989,"src":"13839:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string calldata[] calldata"}},"id":56003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13852:6:99","memberName":"length","nodeType":"MemberAccess","src":"13839:19:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13835:23:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56020,"initializationExpression":{"assignments":[55999],"declarations":[{"constant":false,"id":55999,"mutability":"mutable","name":"i","nameLocation":"13832:1:99","nodeType":"VariableDeclaration","scope":56020,"src":"13824:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55998,"name":"uint256","nodeType":"ElementaryTypeName","src":"13824:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56000,"nodeType":"VariableDeclarationStatement","src":"13824:9:99"},"loopExpression":{"expression":{"id":56006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"13860:3:99","subExpression":{"id":56005,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55999,"src":"13862:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56007,"nodeType":"ExpressionStatement","src":"13860:3:99"},"nodeType":"ForStatement","src":"13819:117:99"}]},"id":56022,"implemented":true,"kind":"function","modifiers":[],"name":"_setContributors","nameLocation":"13625:16:99","nodeType":"FunctionDefinition","parameters":{"id":55990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55984,"mutability":"mutable","name":"$","nameLocation":"13692:1:99","nodeType":"VariableDeclaration","scope":56022,"src":"13647:46:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":55983,"nodeType":"UserDefinedTypeName","pathNode":{"id":55982,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["13647:20:99","13668:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"13647:36:99"},"referencedDeclaration":61305,"src":"13647:36:99","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"},{"constant":false,"id":55986,"mutability":"mutable","name":"proposalId","nameLocation":"13707:10:99","nodeType":"VariableDeclaration","scope":56022,"src":"13699:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55985,"name":"uint256","nodeType":"ElementaryTypeName","src":"13699:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55989,"mutability":"mutable","name":"contributors","nameLocation":"13741:12:99","nodeType":"VariableDeclaration","scope":56022,"src":"13723:30:99","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55987,"name":"string","nodeType":"ElementaryTypeName","src":"13723:6:99","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55988,"nodeType":"ArrayTypeName","src":"13723:8:99","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13641:116:99"},"returnParameters":{"id":55991,"nodeType":"ParameterList","parameters":[],"src":"13766:0:99"},"scope":56031,"src":"13616:324:99","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"documentation":{"id":56023,"nodeType":"StructuredDocumentation","src":"14024:175:99","text":"@dev Re-declared here so it can be referenced from this library's revert paths.\n      Matches the existing selector declared in GovernorProposalLogic / IB3TRGovernor."},"errorSelector":"44b7587b","id":56030,"name":"GovernorRestrictedProposal","nameLocation":"14208:26:99","nodeType":"ErrorDefinition","parameters":{"id":56029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56025,"mutability":"mutable","name":"proposalId","nameLocation":"14243:10:99","nodeType":"VariableDeclaration","scope":56030,"src":"14235:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56024,"name":"uint256","nodeType":"ElementaryTypeName","src":"14235:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56028,"mutability":"mutable","name":"proposalType","nameLocation":"14282:12:99","nodeType":"VariableDeclaration","scope":56030,"src":"14255:39:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56027,"nodeType":"UserDefinedTypeName","pathNode":{"id":56026,"name":"GovernorTypes.ProposalType","nameLocations":["14255:13:99","14269:12:99"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"14255:26:99"},"referencedDeclaration":61431,"src":"14255:26:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"14234:61:99"},"src":"14202:94:99"}],"scope":56032,"src":"2172:12126:99","usedErrors":[7025,55271,55276,55279,55286,55291,55296,55301,56030,60803,60813],"usedEvents":[55231,55236,55247,55255,55264]}],"src":"1195:13104:99"},"id":99},"contracts/governance/libraries/GovernorConfigurator.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorConfigurator.sol","exportedSymbols":{"GovernorConfigurator":[57091],"GovernorProposalLogic":[60252],"GovernorStorageTypes":[61306],"GovernorTypes":[61442],"IB3TR":[62888],"IGalaxyMember":[65196],"IGrantsManager":[65639],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"IVOT3":[67719],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"TimelockControllerUpgradeable":[1478]},"id":57092,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56033,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:100"},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":56035,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":61307,"src":"1220:66:100","symbolAliases":[{"foreign":{"id":56034,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1229:20:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../../interfaces/IVOT3.sol","id":56037,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":67720,"src":"1287:51:100","symbolAliases":[{"foreign":{"id":56036,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"1296:5:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../interfaces/IVoterRewards.sol","id":56039,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":69093,"src":"1339:67:100","symbolAliases":[{"foreign":{"id":56038,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1348:13:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":56041,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":71125,"src":"1407:93:100","symbolAliases":[{"foreign":{"id":56040,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1416:26:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","id":56043,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":1479,"src":"1501:129:100","symbolAliases":[{"foreign":{"id":56042,"name":"TimelockControllerUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1478,"src":"1510:29:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":56045,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":62889,"src":"1631:51:100","symbolAliases":[{"foreign":{"id":56044,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"1640:5:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../interfaces/IVeBetterPassport.sol","id":56047,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":68602,"src":"1683:75:100","symbolAliases":[{"foreign":{"id":56046,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"1692:17:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorProposalLogic.sol","file":"./GovernorProposalLogic.sol","id":56049,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":60253,"src":"1759:68:100","symbolAliases":[{"foreign":{"id":56048,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"1768:21:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./GovernorTypes.sol","id":56051,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":61443,"src":"1828:52:100","symbolAliases":[{"foreign":{"id":56050,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"1837:13:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../../interfaces/IGalaxyMember.sol","id":56053,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":65197,"src":"1881:67:100","symbolAliases":[{"foreign":{"id":56052,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"1890:13:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../interfaces/IGrantsManager.sol","id":56055,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":65640,"src":"1949:69:100","symbolAliases":[{"foreign":{"id":56054,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"1958:14:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../../interfaces/INavigatorRegistry.sol","id":56057,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":66639,"src":"2019:77:100","symbolAliases":[{"foreign":{"id":56056,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"2028:18:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../interfaces/IRelayerRewardsPool.sol","id":56059,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57092,"sourceUnit":67118,"src":"2097:79:100","symbolAliases":[{"foreign":{"id":56058,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"2106:19:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorConfigurator","contractDependencies":[],"contractKind":"library","documentation":{"id":56060,"nodeType":"StructuredDocumentation","src":"2178:249:100","text":"@title GovernorConfigurator Library\n @notice Library for managing the configuration of a Governor contract.\n @dev This library provides functions to set and get various configuration parameters and contracts used by the Governor contract."},"fullyImplemented":true,"id":57091,"linearizedBaseContracts":[57091],"name":"GovernorConfigurator","nameLocation":"2435:20:100","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":56061,"nodeType":"StructuredDocumentation","src":"2460:51:100","text":"@dev Emitted when the `votingThreshold` is set."},"eventSelector":"a5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05","id":56067,"name":"VotingThresholdSet","nameLocation":"2520:18:100","nodeType":"EventDefinition","parameters":{"id":56066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56063,"indexed":false,"mutability":"mutable","name":"oldVotingThreshold","nameLocation":"2547:18:100","nodeType":"VariableDeclaration","scope":56067,"src":"2539:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56062,"name":"uint256","nodeType":"ElementaryTypeName","src":"2539:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56065,"indexed":false,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"2575:18:100","nodeType":"VariableDeclaration","scope":56067,"src":"2567:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56064,"name":"uint256","nodeType":"ElementaryTypeName","src":"2567:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2538:56:100"},"src":"2514:81:100"},{"anonymous":false,"documentation":{"id":56068,"nodeType":"StructuredDocumentation","src":"2599:66:100","text":"@dev Emitted when the minimum delay before vote starts is set."},"eventSelector":"d5fa2027382834080d1e011cda04312db2805a2069bb13475f4376e8d7c64668","id":56074,"name":"MinVotingDelaySet","nameLocation":"2674:17:100","nodeType":"EventDefinition","parameters":{"id":56073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56070,"indexed":false,"mutability":"mutable","name":"oldMinMinVotingDelay","nameLocation":"2700:20:100","nodeType":"VariableDeclaration","scope":56074,"src":"2692:28:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56069,"name":"uint256","nodeType":"ElementaryTypeName","src":"2692:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56072,"indexed":false,"mutability":"mutable","name":"newMinVotingDelay","nameLocation":"2730:17:100","nodeType":"VariableDeclaration","scope":56074,"src":"2722:25:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56071,"name":"uint256","nodeType":"ElementaryTypeName","src":"2722:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2691:57:100"},"src":"2668:81:100"},{"anonymous":false,"documentation":{"id":56075,"nodeType":"StructuredDocumentation","src":"2753:62:100","text":"@dev Emitted when the deposit threshold percentage is set."},"eventSelector":"4adda057a4d6f602c2963e19f830c187c77643eed431c07706d9dd8209ef5426","id":56081,"name":"DepositThresholdSet","nameLocation":"2824:19:100","nodeType":"EventDefinition","parameters":{"id":56080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56077,"indexed":false,"mutability":"mutable","name":"oldDepositThreshold","nameLocation":"2852:19:100","nodeType":"VariableDeclaration","scope":56081,"src":"2844:27:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56076,"name":"uint256","nodeType":"ElementaryTypeName","src":"2844:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56079,"indexed":false,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"2881:19:100","nodeType":"VariableDeclaration","scope":56081,"src":"2873:27:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56078,"name":"uint256","nodeType":"ElementaryTypeName","src":"2873:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2843:58:100"},"src":"2818:84:100"},{"anonymous":false,"documentation":{"id":56082,"nodeType":"StructuredDocumentation","src":"2906:56:100","text":"@dev Emitted when the voter rewards contract is set."},"eventSelector":"285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c4","id":56088,"name":"VoterRewardsSet","nameLocation":"2971:15:100","nodeType":"EventDefinition","parameters":{"id":56087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56084,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"2995:18:100","nodeType":"VariableDeclaration","scope":56088,"src":"2987:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56083,"name":"address","nodeType":"ElementaryTypeName","src":"2987:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56086,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3023:18:100","nodeType":"VariableDeclaration","scope":56088,"src":"3015:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56085,"name":"address","nodeType":"ElementaryTypeName","src":"3015:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2986:56:100"},"src":"2965:78:100"},{"anonymous":false,"documentation":{"id":56089,"nodeType":"StructuredDocumentation","src":"3047:68:100","text":"@dev Emitted when the XAllocationVotingGovernor contract is set."},"eventSelector":"71004d26dc692e8d5005fb307953a5ce05000120035aa3f83615abc6c6fbba2e","id":56095,"name":"XAllocationVotingSet","nameLocation":"3124:20:100","nodeType":"EventDefinition","parameters":{"id":56094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56091,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"3153:18:100","nodeType":"VariableDeclaration","scope":56095,"src":"3145:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56090,"name":"address","nodeType":"ElementaryTypeName","src":"3145:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56093,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"3181:18:100","nodeType":"VariableDeclaration","scope":56095,"src":"3173:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56092,"name":"address","nodeType":"ElementaryTypeName","src":"3173:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3144:56:100"},"src":"3118:83:100"},{"anonymous":false,"documentation":{"id":56096,"nodeType":"StructuredDocumentation","src":"3205:86:100","text":"@dev Emitted when the timelock controller used for proposal execution is modified."},"eventSelector":"08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401","id":56102,"name":"TimelockChange","nameLocation":"3300:14:100","nodeType":"EventDefinition","parameters":{"id":56101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56098,"indexed":false,"mutability":"mutable","name":"oldTimelock","nameLocation":"3323:11:100","nodeType":"VariableDeclaration","scope":56102,"src":"3315:19:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56097,"name":"address","nodeType":"ElementaryTypeName","src":"3315:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56100,"indexed":false,"mutability":"mutable","name":"newTimelock","nameLocation":"3344:11:100","nodeType":"VariableDeclaration","scope":56102,"src":"3336:19:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56099,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3314:42:100"},"src":"3294:63:100"},{"anonymous":false,"documentation":{"id":56103,"nodeType":"StructuredDocumentation","src":"3361:59:100","text":"@dev Emitted when the VeBetterPassport contract is set."},"eventSelector":"1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160","id":56109,"name":"VeBetterPassportSet","nameLocation":"3429:19:100","nodeType":"EventDefinition","parameters":{"id":56108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56105,"indexed":false,"mutability":"mutable","name":"oldVeBetterPassport","nameLocation":"3457:19:100","nodeType":"VariableDeclaration","scope":56109,"src":"3449:27:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56104,"name":"address","nodeType":"ElementaryTypeName","src":"3449:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56107,"indexed":false,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"3486:19:100","nodeType":"VariableDeclaration","scope":56109,"src":"3478:27:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56106,"name":"address","nodeType":"ElementaryTypeName","src":"3478:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3448:58:100"},"src":"3423:84:100"},{"anonymous":false,"eventSelector":"072ec7147cbb6a8d38bd6caa7fdf26b9987bb2ec536bbc5288c4a4c335c58c80","id":56115,"name":"NavigatorRegistrySet","nameLocation":"3516:20:100","nodeType":"EventDefinition","parameters":{"id":56114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56111,"indexed":false,"mutability":"mutable","name":"oldNavigatorRegistry","nameLocation":"3545:20:100","nodeType":"VariableDeclaration","scope":56115,"src":"3537:28:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56110,"name":"address","nodeType":"ElementaryTypeName","src":"3537:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56113,"indexed":false,"mutability":"mutable","name":"newNavigatorRegistry","nameLocation":"3575:20:100","nodeType":"VariableDeclaration","scope":56115,"src":"3567:28:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56112,"name":"address","nodeType":"ElementaryTypeName","src":"3567:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3536:60:100"},"src":"3510:87:100"},{"anonymous":false,"eventSelector":"1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e","id":56121,"name":"RelayerRewardsPoolSet","nameLocation":"3606:21:100","nodeType":"EventDefinition","parameters":{"id":56120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56117,"indexed":false,"mutability":"mutable","name":"oldRelayerRewardsPool","nameLocation":"3636:21:100","nodeType":"VariableDeclaration","scope":56121,"src":"3628:29:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56116,"name":"address","nodeType":"ElementaryTypeName","src":"3628:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56119,"indexed":false,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"3667:21:100","nodeType":"VariableDeclaration","scope":56121,"src":"3659:29:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56118,"name":"address","nodeType":"ElementaryTypeName","src":"3659:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3627:62:100"},"src":"3600:90:100"},{"anonymous":false,"eventSelector":"b04bf299a74179f455d40e5f5f5c3192123bf6a22ca8e4698e79aa526a6f07a3","id":56127,"name":"GovernanceSkipWindowBlocksSet","nameLocation":"3699:29:100","nodeType":"EventDefinition","parameters":{"id":56126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56123,"indexed":false,"mutability":"mutable","name":"oldValue","nameLocation":"3737:8:100","nodeType":"VariableDeclaration","scope":56127,"src":"3729:16:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56122,"name":"uint256","nodeType":"ElementaryTypeName","src":"3729:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56125,"indexed":false,"mutability":"mutable","name":"newValue","nameLocation":"3755:8:100","nodeType":"VariableDeclaration","scope":56127,"src":"3747:16:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56124,"name":"uint256","nodeType":"ElementaryTypeName","src":"3747:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3728:36:100"},"src":"3693:72:100"},{"documentation":{"id":56128,"nodeType":"StructuredDocumentation","src":"3769:85:100","text":"@dev The deposit threshold is not in the valid range for a percentage - 0 to 100."},"errorSelector":"3e09bbca","id":56132,"name":"GovernorDepositThresholdNotInRange","nameLocation":"3863:34:100","nodeType":"ErrorDefinition","parameters":{"id":56131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56130,"mutability":"mutable","name":"depositThreshold","nameLocation":"3906:16:100","nodeType":"VariableDeclaration","scope":56132,"src":"3898:24:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56129,"name":"uint256","nodeType":"ElementaryTypeName","src":"3898:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3897:26:100"},"src":"3857:67:100"},{"documentation":{"id":56133,"nodeType":"StructuredDocumentation","src":"3928:65:100","text":"@dev The GM level is not in the valid range - 0 to max level."},"errorSelector":"ef00c8fe","id":56137,"name":"GMLevelAboveMaxLevel","nameLocation":"4002:20:100","nodeType":"ErrorDefinition","parameters":{"id":56136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56135,"mutability":"mutable","name":"gmLevel","nameLocation":"4031:7:100","nodeType":"VariableDeclaration","scope":56137,"src":"4023:15:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56134,"name":"uint256","nodeType":"ElementaryTypeName","src":"4023:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4022:17:100"},"src":"3996:44:100"},{"anonymous":false,"documentation":{"id":56138,"nodeType":"StructuredDocumentation","src":"4044:71:100","text":"@dev Emitted when the `votingThreshold` for a proposal type is set."},"eventSelector":"1e44e875a8ec5300a305e63ca083de2b0e62e333df633bde0e680a9ff64e3c21","id":56147,"name":"VotingThresholdSetV2","nameLocation":"4124:20:100","nodeType":"EventDefinition","parameters":{"id":56146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56141,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"4177:12:100","nodeType":"VariableDeclaration","scope":56147,"src":"4150:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56140,"nodeType":"UserDefinedTypeName","pathNode":{"id":56139,"name":"GovernorTypes.ProposalType","nameLocations":["4150:13:100","4164:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"4150:26:100"},"referencedDeclaration":61431,"src":"4150:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56143,"indexed":false,"mutability":"mutable","name":"oldVotingThreshold","nameLocation":"4203:18:100","nodeType":"VariableDeclaration","scope":56147,"src":"4195:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56142,"name":"uint256","nodeType":"ElementaryTypeName","src":"4195:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56145,"indexed":false,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"4235:18:100","nodeType":"VariableDeclaration","scope":56147,"src":"4227:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56144,"name":"uint256","nodeType":"ElementaryTypeName","src":"4227:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4144:113:100"},"src":"4118:140:100"},{"anonymous":false,"documentation":{"id":56148,"nodeType":"StructuredDocumentation","src":"4262:82:100","text":"@dev Emitted when the deposit threshold percentage for a proposal type is set."},"eventSelector":"d7f4fd38ed535300fc72a5de4a35264cf0638081fc06ba63a6c1025b9993b0f3","id":56157,"name":"DepositThresholdSetV2","nameLocation":"4353:21:100","nodeType":"EventDefinition","parameters":{"id":56156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56151,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"4407:12:100","nodeType":"VariableDeclaration","scope":56157,"src":"4380:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56150,"nodeType":"UserDefinedTypeName","pathNode":{"id":56149,"name":"GovernorTypes.ProposalType","nameLocations":["4380:13:100","4394:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"4380:26:100"},"referencedDeclaration":61431,"src":"4380:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56153,"indexed":false,"mutability":"mutable","name":"oldDepositThreshold","nameLocation":"4433:19:100","nodeType":"VariableDeclaration","scope":56157,"src":"4425:27:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56152,"name":"uint256","nodeType":"ElementaryTypeName","src":"4425:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56155,"indexed":false,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"4466:19:100","nodeType":"VariableDeclaration","scope":56157,"src":"4458:27:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56154,"name":"uint256","nodeType":"ElementaryTypeName","src":"4458:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4374:115:100"},"src":"4347:143:100"},{"anonymous":false,"documentation":{"id":56158,"nodeType":"StructuredDocumentation","src":"4493:75:100","text":"@dev Emitted when the deposit threshold cap for a proposal type is set."},"eventSelector":"bab71752ceaca29a72caf93b1099d9bfcf0e836a02c01a567d4e7365ae2242c2","id":56167,"name":"DepositThresholdCapSet","nameLocation":"4577:22:100","nodeType":"EventDefinition","parameters":{"id":56166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56161,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"4632:12:100","nodeType":"VariableDeclaration","scope":56167,"src":"4605:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56160,"nodeType":"UserDefinedTypeName","pathNode":{"id":56159,"name":"GovernorTypes.ProposalType","nameLocations":["4605:13:100","4619:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"4605:26:100"},"referencedDeclaration":61431,"src":"4605:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56163,"indexed":false,"mutability":"mutable","name":"oldDepositThresholdCap","nameLocation":"4658:22:100","nodeType":"VariableDeclaration","scope":56167,"src":"4650:30:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56162,"name":"uint256","nodeType":"ElementaryTypeName","src":"4650:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56165,"indexed":false,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"4694:22:100","nodeType":"VariableDeclaration","scope":56167,"src":"4686:30:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56164,"name":"uint256","nodeType":"ElementaryTypeName","src":"4686:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4599:121:100"},"src":"4571:150:100"},{"anonymous":false,"documentation":{"id":56168,"nodeType":"StructuredDocumentation","src":"4725:71:100","text":"@dev Emitted when the required GM level for a proposal type is set."},"eventSelector":"b1b75318956f66fa2b8b148bc3b2520c6e22133a50ac6069d38f97ed462b487a","id":56177,"name":"RequiredGMLevelSet","nameLocation":"4805:18:100","nodeType":"EventDefinition","parameters":{"id":56176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56171,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"4856:12:100","nodeType":"VariableDeclaration","scope":56177,"src":"4829:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56170,"nodeType":"UserDefinedTypeName","pathNode":{"id":56169,"name":"GovernorTypes.ProposalType","nameLocations":["4829:13:100","4843:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"4829:26:100"},"referencedDeclaration":61431,"src":"4829:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56173,"indexed":false,"mutability":"mutable","name":"oldRequiredGMLevel","nameLocation":"4882:18:100","nodeType":"VariableDeclaration","scope":56177,"src":"4874:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56172,"name":"uint256","nodeType":"ElementaryTypeName","src":"4874:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56175,"indexed":false,"mutability":"mutable","name":"newRequiredGMLevel","nameLocation":"4914:18:100","nodeType":"VariableDeclaration","scope":56177,"src":"4906:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56174,"name":"uint256","nodeType":"ElementaryTypeName","src":"4906:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4823:113:100"},"src":"4799:138:100"},{"body":{"id":56211,"nodeType":"Block","src":"5289:236:100","statements":[{"assignments":[56188],"declarations":[{"constant":false,"id":56188,"mutability":"mutable","name":"$","nameLocation":"5340:1:100","nodeType":"VariableDeclaration","scope":56211,"src":"5295:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56187,"nodeType":"UserDefinedTypeName","pathNode":{"id":56186,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["5295:20:100","5316:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"5295:36:100"},"referencedDeclaration":61305,"src":"5295:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56192,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56189,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"5344:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5365:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"5344:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5344:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5295:90:100"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":56196,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56188,"src":"5424:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5426:16:100","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":61210,"src":"5424:18:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":56195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5416:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56194,"name":"address","nodeType":"ElementaryTypeName","src":"5416:7:100","typeDescriptions":{}}},"id":56198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5416:27:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56201,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56181,"src":"5453:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":56200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5445:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56199,"name":"address","nodeType":"ElementaryTypeName","src":"5445:7:100","typeDescriptions":{}}},"id":56202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5445:28:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56193,"name":"VeBetterPassportSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56109,"src":"5396:19:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":56203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5396:78:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56204,"nodeType":"EmitStatement","src":"5391:83:100"},{"expression":{"id":56209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56205,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56188,"src":"5480:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5482:16:100","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":61210,"src":"5480:18:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56208,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56181,"src":"5501:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"src":"5480:40:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":56210,"nodeType":"ExpressionStatement","src":"5480:40:100"}]},"documentation":{"id":56178,"nodeType":"StructuredDocumentation","src":"4996:213:100","text":" @notice Sets the VeBetterPassport contract.\n @dev Sets a new VeBetterPassport contract and emits a {VeBetterPassportSet} event.\n @param newVeBetterPassport The new VeBetterPassport contract."},"functionSelector":"4784a113","id":56212,"implemented":true,"kind":"function","modifiers":[],"name":"setVeBetterPassport","nameLocation":"5221:19:100","nodeType":"FunctionDefinition","parameters":{"id":56182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56181,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"5259:19:100","nodeType":"VariableDeclaration","scope":56212,"src":"5241:37:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":56180,"nodeType":"UserDefinedTypeName","pathNode":{"id":56179,"name":"IVeBetterPassport","nameLocations":["5241:17:100"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"5241:17:100"},"referencedDeclaration":68601,"src":"5241:17:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"5240:39:100"},"returnParameters":{"id":56183,"nodeType":"ParameterList","parameters":[],"src":"5289:0:100"},"scope":57091,"src":"5212:313:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56246,"nodeType":"Block","src":"5740:241:100","statements":[{"assignments":[56223],"declarations":[{"constant":false,"id":56223,"mutability":"mutable","name":"$","nameLocation":"5791:1:100","nodeType":"VariableDeclaration","scope":56246,"src":"5746:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56222,"nodeType":"UserDefinedTypeName","pathNode":{"id":56221,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["5746:20:100","5767:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"5746:36:100"},"referencedDeclaration":61305,"src":"5746:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56227,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56224,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"5795:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5816:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"5795:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5795:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5746:90:100"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":56231,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56223,"src":"5876:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56232,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5878:17:100","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"5876:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":56230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5868:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56229,"name":"address","nodeType":"ElementaryTypeName","src":"5868:7:100","typeDescriptions":{}}},"id":56233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5868:28:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56236,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56216,"src":"5906:20:100","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":56235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5898:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56234,"name":"address","nodeType":"ElementaryTypeName","src":"5898:7:100","typeDescriptions":{}}},"id":56237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5898:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56228,"name":"NavigatorRegistrySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56115,"src":"5847:20:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":56238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5847:81:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56239,"nodeType":"EmitStatement","src":"5842:86:100"},{"expression":{"id":56244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56240,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56223,"src":"5934:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5936:17:100","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"5934:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56243,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56216,"src":"5956:20:100","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"src":"5934:42:100","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":56245,"nodeType":"ExpressionStatement","src":"5934:42:100"}]},"documentation":{"id":56213,"nodeType":"StructuredDocumentation","src":"5529:128:100","text":" @notice Sets the NavigatorRegistry contract.\n @param newNavigatorRegistry The new NavigatorRegistry contract."},"functionSelector":"ce396b1f","id":56247,"implemented":true,"kind":"function","modifiers":[],"name":"setNavigatorRegistry","nameLocation":"5669:20:100","nodeType":"FunctionDefinition","parameters":{"id":56217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56216,"mutability":"mutable","name":"newNavigatorRegistry","nameLocation":"5709:20:100","nodeType":"VariableDeclaration","scope":56247,"src":"5690:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":56215,"nodeType":"UserDefinedTypeName","pathNode":{"id":56214,"name":"INavigatorRegistry","nameLocations":["5690:18:100"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"5690:18:100"},"referencedDeclaration":66638,"src":"5690:18:100","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"5689:41:100"},"returnParameters":{"id":56218,"nodeType":"ParameterList","parameters":[],"src":"5740:0:100"},"scope":57091,"src":"5660:321:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56294,"nodeType":"Block","src":"6202:392:100","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56257,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56251,"src":"6231:21:100","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":56256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6223:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56255,"name":"address","nodeType":"ElementaryTypeName","src":"6223:7:100","typeDescriptions":{}}},"id":56258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6223:30:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6265: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":56260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6257:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56259,"name":"address","nodeType":"ElementaryTypeName","src":"6257:7:100","typeDescriptions":{}}},"id":56262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6257:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6223:44:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a2072656c61796572207265776172647320706f6f6c20616464726573732063616e6e6f74206265207a65726f","id":56264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6275:67:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_602de8831a650e8872fb27596fb82bbc16d7141a3b963a7781ead850bf103614","typeString":"literal_string \"GovernorConfigurator: relayer rewards pool address cannot be zero\""},"value":"GovernorConfigurator: relayer rewards pool address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_602de8831a650e8872fb27596fb82bbc16d7141a3b963a7781ead850bf103614","typeString":"literal_string \"GovernorConfigurator: relayer rewards pool address cannot be zero\""}],"id":56254,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6208:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6208:140:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56266,"nodeType":"ExpressionStatement","src":"6208:140:100"},{"assignments":[56271],"declarations":[{"constant":false,"id":56271,"mutability":"mutable","name":"$","nameLocation":"6399:1:100","nodeType":"VariableDeclaration","scope":56294,"src":"6354:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56270,"nodeType":"UserDefinedTypeName","pathNode":{"id":56269,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["6354:20:100","6375:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"6354:36:100"},"referencedDeclaration":61305,"src":"6354:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56275,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56272,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"6403:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6424:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"6403:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6403:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6354:90:100"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":56279,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56271,"src":"6485:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6487:18:100","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"6485:20:100","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":56278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6477:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56277,"name":"address","nodeType":"ElementaryTypeName","src":"6477:7:100","typeDescriptions":{}}},"id":56281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6477:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56284,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56251,"src":"6516:21:100","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":56283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6508:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56282,"name":"address","nodeType":"ElementaryTypeName","src":"6508:7:100","typeDescriptions":{}}},"id":56285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6508:30:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56276,"name":"RelayerRewardsPoolSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56121,"src":"6455:21:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":56286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6455:84:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56287,"nodeType":"EmitStatement","src":"6450:89:100"},{"expression":{"id":56292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56288,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56271,"src":"6545:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6547:18:100","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"6545:20:100","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56291,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56251,"src":"6568:21:100","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"src":"6545:44:100","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":56293,"nodeType":"ExpressionStatement","src":"6545:44:100"}]},"documentation":{"id":56248,"nodeType":"StructuredDocumentation","src":"5985:131:100","text":" @notice Sets the RelayerRewardsPool contract.\n @param newRelayerRewardsPool The new RelayerRewardsPool contract."},"functionSelector":"382fa8ec","id":56295,"implemented":true,"kind":"function","modifiers":[],"name":"setRelayerRewardsPool","nameLocation":"6128:21:100","nodeType":"FunctionDefinition","parameters":{"id":56252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56251,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"6170:21:100","nodeType":"VariableDeclaration","scope":56295,"src":"6150:41:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":56250,"nodeType":"UserDefinedTypeName","pathNode":{"id":56249,"name":"IRelayerRewardsPool","nameLocations":["6150:19:100"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"6150:19:100"},"referencedDeclaration":67117,"src":"6150:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"6149:43:100"},"returnParameters":{"id":56253,"nodeType":"ParameterList","parameters":[],"src":"6202:0:100"},"scope":57091,"src":"6119:475:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56329,"nodeType":"Block","src":"6798:302:100","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56302,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56298,"src":"6812:8:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":56303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6823:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6812:12:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20736b69702077696e646f77206d757374206265203e2030","id":56305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6826:47:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9dc7f3c8b071e9769e8f0619954654cea67e7b7177f4beed0db6f97a5db4cfd","typeString":"literal_string \"GovernorConfigurator: skip window must be > 0\""},"value":"GovernorConfigurator: skip window must be > 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f9dc7f3c8b071e9769e8f0619954654cea67e7b7177f4beed0db6f97a5db4cfd","typeString":"literal_string \"GovernorConfigurator: skip window must be > 0\""}],"id":56301,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6804:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:70:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56307,"nodeType":"ExpressionStatement","src":"6804:70:100"},{"assignments":[56312],"declarations":[{"constant":false,"id":56312,"mutability":"mutable","name":"$","nameLocation":"6925:1:100","nodeType":"VariableDeclaration","scope":56329,"src":"6880:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56311,"nodeType":"UserDefinedTypeName","pathNode":{"id":56310,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["6880:20:100","6901:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"6880:36:100"},"referencedDeclaration":61305,"src":"6880:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56316,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56313,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"6929:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6950:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"6929:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6929:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6880:90:100"},{"eventCall":{"arguments":[{"expression":{"id":56318,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56312,"src":"7011:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7013:26:100","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":61270,"src":"7011:28:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56320,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56298,"src":"7041:8:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56317,"name":"GovernanceSkipWindowBlocksSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56127,"src":"6981:29:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":56321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6981:69:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56322,"nodeType":"EmitStatement","src":"6976:74:100"},{"expression":{"id":56327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56323,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56312,"src":"7056:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7058:26:100","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":61270,"src":"7056:28:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56326,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56298,"src":"7087:8:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7056:39:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56328,"nodeType":"ExpressionStatement","src":"7056:39:100"}]},"documentation":{"id":56296,"nodeType":"StructuredDocumentation","src":"6598:131:100","text":" @notice Sets the governance skip window in blocks.\n @param newValue The new skip window in blocks (must be > 0)."},"functionSelector":"3397d78d","id":56330,"implemented":true,"kind":"function","modifiers":[],"name":"setGovernanceSkipWindowBlocks","nameLocation":"6741:29:100","nodeType":"FunctionDefinition","parameters":{"id":56299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56298,"mutability":"mutable","name":"newValue","nameLocation":"6779:8:100","nodeType":"VariableDeclaration","scope":56330,"src":"6771:16:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56297,"name":"uint256","nodeType":"ElementaryTypeName","src":"6771:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6770:18:100"},"returnParameters":{"id":56300,"nodeType":"ParameterList","parameters":[],"src":"6798:0:100"},"scope":57091,"src":"6732:368:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56357,"nodeType":"Block","src":"7376:208:100","statements":[{"assignments":[56340],"declarations":[{"constant":false,"id":56340,"mutability":"mutable","name":"$","nameLocation":"7427:1:100","nodeType":"VariableDeclaration","scope":56357,"src":"7382:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56339,"nodeType":"UserDefinedTypeName","pathNode":{"id":56338,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["7382:20:100","7403:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"7382:36:100"},"referencedDeclaration":61305,"src":"7382:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56344,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56341,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"7431:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7452:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"7431:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7431:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7382:90:100"},{"eventCall":{"arguments":[{"expression":{"id":56346,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56340,"src":"7501:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7503:14:100","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":61151,"src":"7501:16:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56348,"name":"newMinVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56333,"src":"7519:17:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56345,"name":"MinVotingDelaySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56074,"src":"7483:17:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":56349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7483:54:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56350,"nodeType":"EmitStatement","src":"7478:59:100"},{"expression":{"id":56355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56351,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56340,"src":"7543:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56353,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7545:14:100","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":61151,"src":"7543:16:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56354,"name":"newMinVotingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56333,"src":"7562:17:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7543:36:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56356,"nodeType":"ExpressionStatement","src":"7543:36:100"}]},"documentation":{"id":56331,"nodeType":"StructuredDocumentation","src":"7104:206:100","text":" @notice Sets the minimum delay before vote starts.\n @dev Sets a new minimum voting delay and emits a {MinVotingDelaySet} event.\n @param newMinVotingDelay The new minimum voting delay."},"functionSelector":"b26a9509","id":56358,"implemented":true,"kind":"function","modifiers":[],"name":"setMinVotingDelay","nameLocation":"7322:17:100","nodeType":"FunctionDefinition","parameters":{"id":56334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56333,"mutability":"mutable","name":"newMinVotingDelay","nameLocation":"7348:17:100","nodeType":"VariableDeclaration","scope":56358,"src":"7340:25:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56332,"name":"uint256","nodeType":"ElementaryTypeName","src":"7340:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7339:27:100"},"returnParameters":{"id":56335,"nodeType":"ParameterList","parameters":[],"src":"7376:0:100"},"scope":57091,"src":"7313:271:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56405,"nodeType":"Block","src":"7852:330:100","statements":[{"assignments":[56369],"declarations":[{"constant":false,"id":56369,"mutability":"mutable","name":"$","nameLocation":"7903:1:100","nodeType":"VariableDeclaration","scope":56405,"src":"7858:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56368,"nodeType":"UserDefinedTypeName","pathNode":{"id":56367,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["7858:20:100","7879:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"7858:36:100"},"referencedDeclaration":61305,"src":"7858:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56373,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56370,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"7907:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7928:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"7907:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7907:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7858:90:100"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56377,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56362,"src":"7970:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":56376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7962:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56375,"name":"address","nodeType":"ElementaryTypeName","src":"7962:7:100","typeDescriptions":{}}},"id":56378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7962:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7998: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":56380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7990:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56379,"name":"address","nodeType":"ElementaryTypeName","src":"7990:7:100","typeDescriptions":{}}},"id":56382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7962:38:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20766f7465725265776172647320616464726573732063616e6e6f74206265207a65726f","id":56384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8002:59:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb0a4c35d5295637d396d1306e0484efcadc08c94682117dbac156e1d05f84c","typeString":"literal_string \"GovernorConfigurator: voterRewards address cannot be zero\""},"value":"GovernorConfigurator: voterRewards address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb0a4c35d5295637d396d1306e0484efcadc08c94682117dbac156e1d05f84c","typeString":"literal_string \"GovernorConfigurator: voterRewards address cannot be zero\""}],"id":56374,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7954:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7954:108:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56386,"nodeType":"ExpressionStatement","src":"7954:108:100"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":56390,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56369,"src":"8097:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8099:12:100","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":61172,"src":"8097:14:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":56389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8089:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56388,"name":"address","nodeType":"ElementaryTypeName","src":"8089:7:100","typeDescriptions":{}}},"id":56392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8089:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56395,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56362,"src":"8122:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":56394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8114:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56393,"name":"address","nodeType":"ElementaryTypeName","src":"8114:7:100","typeDescriptions":{}}},"id":56396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8114:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56387,"name":"VoterRewardsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"8073:15:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":56397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8073:66:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56398,"nodeType":"EmitStatement","src":"8068:71:100"},{"expression":{"id":56403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56399,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56369,"src":"8145:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8147:12:100","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":61172,"src":"8145:14:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56402,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56362,"src":"8162:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"src":"8145:32:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":56404,"nodeType":"ExpressionStatement","src":"8145:32:100"}]},"documentation":{"id":56359,"nodeType":"StructuredDocumentation","src":"7588:196:100","text":" @notice Sets the voter rewards contract.\n @dev Sets a new voter rewards contract and emits a {VoterRewardsSet} event.\n @param newVoterRewards The new voter rewards contract."},"functionSelector":"d639f65c","id":56406,"implemented":true,"kind":"function","modifiers":[],"name":"setVoterRewards","nameLocation":"7796:15:100","nodeType":"FunctionDefinition","parameters":{"id":56363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56362,"mutability":"mutable","name":"newVoterRewards","nameLocation":"7826:15:100","nodeType":"VariableDeclaration","scope":56406,"src":"7812:29:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":56361,"nodeType":"UserDefinedTypeName","pathNode":{"id":56360,"name":"IVoterRewards","nameLocations":["7812:13:100"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"7812:13:100"},"referencedDeclaration":69092,"src":"7812:13:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"7811:31:100"},"returnParameters":{"id":56364,"nodeType":"ParameterList","parameters":[],"src":"7852:0:100"},"scope":57091,"src":"7787:395:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56453,"nodeType":"Block","src":"8519:383:100","statements":[{"assignments":[56417],"declarations":[{"constant":false,"id":56417,"mutability":"mutable","name":"$","nameLocation":"8570:1:100","nodeType":"VariableDeclaration","scope":56453,"src":"8525:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56416,"nodeType":"UserDefinedTypeName","pathNode":{"id":56415,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["8525:20:100","8546:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"8525:36:100"},"referencedDeclaration":61305,"src":"8525:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56421,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56418,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"8574:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8595:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"8574:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8574:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8525:90:100"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56425,"name":"newXAllocationVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56410,"src":"8644:20:100","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":56424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8636:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56423,"name":"address","nodeType":"ElementaryTypeName","src":"8636:7:100","typeDescriptions":{}}},"id":56426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8636:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8677: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":56428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8669:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56427,"name":"address","nodeType":"ElementaryTypeName","src":"8669:7:100","typeDescriptions":{}}},"id":56430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8669:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8636:43:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a2078416c6c6f636174696f6e566f74696e6720616464726573732063616e6e6f74206265207a65726f","id":56432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8687:64:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_e60225fea531c85b30de1bfd54335825ede6160db5b3c5079c75bd9cbfb7a8d5","typeString":"literal_string \"GovernorConfigurator: xAllocationVoting address cannot be zero\""},"value":"GovernorConfigurator: xAllocationVoting address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e60225fea531c85b30de1bfd54335825ede6160db5b3c5079c75bd9cbfb7a8d5","typeString":"literal_string \"GovernorConfigurator: xAllocationVoting address cannot be zero\""}],"id":56422,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8621:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8621:136:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56434,"nodeType":"ExpressionStatement","src":"8621:136:100"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":56438,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56417,"src":"8797:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8799:17:100","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"8797:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":56437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8789:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56436,"name":"address","nodeType":"ElementaryTypeName","src":"8789:7:100","typeDescriptions":{}}},"id":56440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8789:28:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56443,"name":"newXAllocationVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56410,"src":"8827:20:100","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}],"id":56442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8819:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56441,"name":"address","nodeType":"ElementaryTypeName","src":"8819:7:100","typeDescriptions":{}}},"id":56444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8819:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56435,"name":"XAllocationVotingSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"8768:20:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":56445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8768:81:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56446,"nodeType":"EmitStatement","src":"8763:86:100"},{"expression":{"id":56451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56447,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56417,"src":"8855:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8857:17:100","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"8855:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56450,"name":"newXAllocationVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56410,"src":"8877:20:100","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"src":"8855:42:100","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":56452,"nodeType":"ExpressionStatement","src":"8855:42:100"}]},"documentation":{"id":56407,"nodeType":"StructuredDocumentation","src":"8186:242:100","text":" @notice Sets the XAllocationVotingGovernor contract.\n @dev Sets a new XAllocationVotingGovernor contract and emits a {XAllocationVotingSet} event.\n @param newXAllocationVoting The new XAllocationVotingGovernor contract."},"functionSelector":"83833a00","id":56454,"implemented":true,"kind":"function","modifiers":[],"name":"setXAllocationVoting","nameLocation":"8440:20:100","nodeType":"FunctionDefinition","parameters":{"id":56411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56410,"mutability":"mutable","name":"newXAllocationVoting","nameLocation":"8488:20:100","nodeType":"VariableDeclaration","scope":56454,"src":"8461:47:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":56409,"nodeType":"UserDefinedTypeName","pathNode":{"id":56408,"name":"IXAllocationVotingGovernor","nameLocations":["8461:26:100"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"8461:26:100"},"referencedDeclaration":71124,"src":"8461:26:100","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"8460:49:100"},"returnParameters":{"id":56412,"nodeType":"ParameterList","parameters":[],"src":"8519:0:100"},"scope":57091,"src":"8431:471:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56501,"nodeType":"Block","src":"9170:305:100","statements":[{"assignments":[56465],"declarations":[{"constant":false,"id":56465,"mutability":"mutable","name":"$","nameLocation":"9221:1:100","nodeType":"VariableDeclaration","scope":56501,"src":"9176:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56464,"nodeType":"UserDefinedTypeName","pathNode":{"id":56463,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["9176:20:100","9197:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"9176:36:100"},"referencedDeclaration":61305,"src":"9176:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56469,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56466,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"9225:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9246:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"9225:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9225:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9176:90:100"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56473,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56458,"src":"9288:11:100","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":56472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9280:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56471,"name":"address","nodeType":"ElementaryTypeName","src":"9280:7:100","typeDescriptions":{}}},"id":56474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9280:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9312: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":56476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9304:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56475,"name":"address","nodeType":"ElementaryTypeName","src":"9304:7:100","typeDescriptions":{}}},"id":56478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9304:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9280:34:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a2074696d656c6f636b20616464726573732063616e6e6f74206265207a65726f","id":56480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9316:55:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_bab4f7a299e36c6aff6bc4689e4b028733b2f98977c64143da6c31d5a6692d97","typeString":"literal_string \"GovernorConfigurator: timelock address cannot be zero\""},"value":"GovernorConfigurator: timelock address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_bab4f7a299e36c6aff6bc4689e4b028733b2f98977c64143da6c31d5a6692d97","typeString":"literal_string \"GovernorConfigurator: timelock address cannot be zero\""}],"id":56470,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9272:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9272:100:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56482,"nodeType":"ExpressionStatement","src":"9272:100:100"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":56486,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"9406:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9408:8:100","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"9406:10:100","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":56485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9398:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56484,"name":"address","nodeType":"ElementaryTypeName","src":"9398:7:100","typeDescriptions":{}}},"id":56488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9398:19:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56491,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56458,"src":"9427:11:100","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":56490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9419:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56489,"name":"address","nodeType":"ElementaryTypeName","src":"9419:7:100","typeDescriptions":{}}},"id":56492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9419:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56483,"name":"TimelockChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56102,"src":"9383:14:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":56493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9383:57:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56494,"nodeType":"EmitStatement","src":"9378:62:100"},{"expression":{"id":56499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56495,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"9446:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9448:8:100","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"9446:10:100","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56498,"name":"newTimelock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56458,"src":"9459:11:100","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"src":"9446:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":56500,"nodeType":"ExpressionStatement","src":"9446:24:100"}]},"documentation":{"id":56455,"nodeType":"StructuredDocumentation","src":"8906:185:100","text":" @notice Updates the timelock controller.\n @dev Sets a new timelock controller and emits a {TimelockChange} event.\n @param newTimelock The new timelock controller."},"functionSelector":"b2b84a74","id":56502,"implemented":true,"kind":"function","modifiers":[],"name":"updateTimelock","nameLocation":"9103:14:100","nodeType":"FunctionDefinition","parameters":{"id":56459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56458,"mutability":"mutable","name":"newTimelock","nameLocation":"9148:11:100","nodeType":"VariableDeclaration","scope":56502,"src":"9118:41:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"},"typeName":{"id":56457,"nodeType":"UserDefinedTypeName","pathNode":{"id":56456,"name":"TimelockControllerUpgradeable","nameLocations":["9118:29:100"],"nodeType":"IdentifierPath","referencedDeclaration":1478,"src":"9118:29:100"},"referencedDeclaration":1478,"src":"9118:29:100","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"visibility":"internal"}],"src":"9117:43:100"},"returnParameters":{"id":56460,"nodeType":"ParameterList","parameters":[],"src":"9170:0:100"},"scope":57091,"src":"9094:381:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56533,"nodeType":"Block","src":"9930:321:100","statements":[{"expression":{"arguments":[{"arguments":[{"id":56514,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56506,"src":"9986:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":56512,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"9944:21:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":56513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9966:19:100","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":60182,"src":"9944:41:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$61431_$returns$_t_bool_$","typeString":"function (enum GovernorTypes.ProposalType) pure returns (bool)"}},"id":56515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:55:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c69642070726f706f73616c2074797065","id":56516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10001:45:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""},"value":"GovernorConfigurator: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""}],"id":56511,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9936:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9936:111:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56518,"nodeType":"ExpressionStatement","src":"9936:111:100"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56519,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"10057:19:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"313030","id":56520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10079:3:100","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"10057:25:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56527,"nodeType":"IfStatement","src":"10053:108:100","trueBody":{"id":56526,"nodeType":"Block","src":"10084:77:100","statements":[{"errorCall":{"arguments":[{"id":56523,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"10134:19:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56522,"name":"GovernorDepositThresholdNotInRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56132,"src":"10099:34:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":56524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10099:55:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56525,"nodeType":"RevertStatement","src":"10092:62:100"}]}},{"expression":{"arguments":[{"id":56529,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56506,"src":"10209:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"id":56530,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"10223:19:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56528,"name":"_setProposalTypeDepositThresholdPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56570,"src":"10166:42:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256)"}},"id":56531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10166:77:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56532,"nodeType":"ExpressionStatement","src":"10166:77:100"}]},"documentation":{"id":56503,"nodeType":"StructuredDocumentation","src":"9479:306:100","text":" @notice Sets the deposit threshold percentage for a proposal type.\n @dev Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\n @param proposalType The proposal type.\n @param newDepositThreshold The new deposit threshold percentage."},"functionSelector":"14060bef","id":56534,"implemented":true,"kind":"function","modifiers":[],"name":"setProposalTypeDepositThresholdPercentage","nameLocation":"9797:41:100","nodeType":"FunctionDefinition","parameters":{"id":56509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56506,"mutability":"mutable","name":"proposalType","nameLocation":"9871:12:100","nodeType":"VariableDeclaration","scope":56534,"src":"9844:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56505,"nodeType":"UserDefinedTypeName","pathNode":{"id":56504,"name":"GovernorTypes.ProposalType","nameLocations":["9844:13:100","9858:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"9844:26:100"},"referencedDeclaration":61431,"src":"9844:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56508,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"9897:19:100","nodeType":"VariableDeclaration","scope":56534,"src":"9889:27:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56507,"name":"uint256","nodeType":"ElementaryTypeName","src":"9889:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9838:82:100"},"returnParameters":{"id":56510,"nodeType":"ParameterList","parameters":[],"src":"9930:0:100"},"scope":57091,"src":"9788:463:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56569,"nodeType":"Block","src":"10707:330:100","statements":[{"assignments":[56547],"declarations":[{"constant":false,"id":56547,"mutability":"mutable","name":"$","nameLocation":"10758:1:100","nodeType":"VariableDeclaration","scope":56569,"src":"10713:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56546,"nodeType":"UserDefinedTypeName","pathNode":{"id":56545,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["10713:20:100","10734:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"10713:36:100"},"referencedDeclaration":61305,"src":"10713:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56551,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56548,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"10762:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10783:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"10762:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10762:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10713:90:100"},{"eventCall":{"arguments":[{"id":56553,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56538,"src":"10843:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"baseExpression":{"expression":{"id":56554,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56547,"src":"10863:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56555,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10865:38:100","memberName":"proposalTypeDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":61220,"src":"10863:40:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":56557,"indexExpression":{"id":56556,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56538,"src":"10904:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10863:54:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56558,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56540,"src":"10925:19:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56552,"name":"DepositThresholdSetV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"10814:21:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256,uint256)"}},"id":56559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10814:136:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56560,"nodeType":"EmitStatement","src":"10809:141:100"},{"expression":{"id":56567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":56561,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56547,"src":"10956:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56564,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10958:38:100","memberName":"proposalTypeDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":61220,"src":"10956:40:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":56565,"indexExpression":{"id":56563,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56538,"src":"10997:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10956:54:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56566,"name":"newDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56540,"src":"11013:19:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10956:76:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56568,"nodeType":"ExpressionStatement","src":"10956:76:100"}]},"documentation":{"id":56535,"nodeType":"StructuredDocumentation","src":"10255:306:100","text":" @notice Sets the deposit threshold percentage for a proposal type.\n @dev Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\n @param proposalType The proposal type.\n @param newDepositThreshold The new deposit threshold percentage."},"id":56570,"implemented":true,"kind":"function","modifiers":[],"name":"_setProposalTypeDepositThresholdPercentage","nameLocation":"10573:42:100","nodeType":"FunctionDefinition","parameters":{"id":56541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56538,"mutability":"mutable","name":"proposalType","nameLocation":"10648:12:100","nodeType":"VariableDeclaration","scope":56570,"src":"10621:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56537,"nodeType":"UserDefinedTypeName","pathNode":{"id":56536,"name":"GovernorTypes.ProposalType","nameLocations":["10621:13:100","10635:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"10621:26:100"},"referencedDeclaration":61431,"src":"10621:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56540,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"10674:19:100","nodeType":"VariableDeclaration","scope":56570,"src":"10666:27:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56539,"name":"uint256","nodeType":"ElementaryTypeName","src":"10666:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10615:82:100"},"returnParameters":{"id":56542,"nodeType":"ParameterList","parameters":[],"src":"10707:0:100"},"scope":57091,"src":"10564:473:100","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":56592,"nodeType":"Block","src":"11442:193:100","statements":[{"expression":{"arguments":[{"arguments":[{"id":56582,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56574,"src":"11498:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":56580,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"11456:21:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":56581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11478:19:100","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":60182,"src":"11456:41:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$61431_$returns$_t_bool_$","typeString":"function (enum GovernorTypes.ProposalType) pure returns (bool)"}},"id":56583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11456:55:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c69642070726f706f73616c2074797065","id":56584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11513:45:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""},"value":"GovernorConfigurator: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""}],"id":56579,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11448:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11448:111:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56586,"nodeType":"ExpressionStatement","src":"11448:111:100"},{"expression":{"arguments":[{"id":56588,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56574,"src":"11597:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"id":56589,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56576,"src":"11611:18:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56587,"name":"_setProposalTypeVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56629,"src":"11565:31:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256)"}},"id":56590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11565:65:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56591,"nodeType":"ExpressionStatement","src":"11565:65:100"}]},"documentation":{"id":56571,"nodeType":"StructuredDocumentation","src":"11041:268:100","text":" @notice Sets the voting threshold for a proposal type.\n @dev Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\n @param proposalType The proposal type.\n @param newVotingThreshold The new voting threshold."},"functionSelector":"4cfc47c3","id":56593,"implemented":true,"kind":"function","modifiers":[],"name":"setProposalTypeVotingThreshold","nameLocation":"11321:30:100","nodeType":"FunctionDefinition","parameters":{"id":56577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56574,"mutability":"mutable","name":"proposalType","nameLocation":"11384:12:100","nodeType":"VariableDeclaration","scope":56593,"src":"11357:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56573,"nodeType":"UserDefinedTypeName","pathNode":{"id":56572,"name":"GovernorTypes.ProposalType","nameLocations":["11357:13:100","11371:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"11357:26:100"},"referencedDeclaration":61431,"src":"11357:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56576,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"11410:18:100","nodeType":"VariableDeclaration","scope":56593,"src":"11402:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56575,"name":"uint256","nodeType":"ElementaryTypeName","src":"11402:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11351:81:100"},"returnParameters":{"id":56578,"nodeType":"ParameterList","parameters":[],"src":"11442:0:100"},"scope":57091,"src":"11312:323:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56628,"nodeType":"Block","src":"12041:281:100","statements":[{"assignments":[56606],"declarations":[{"constant":false,"id":56606,"mutability":"mutable","name":"$","nameLocation":"12092:1:100","nodeType":"VariableDeclaration","scope":56628,"src":"12047:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56605,"nodeType":"UserDefinedTypeName","pathNode":{"id":56604,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["12047:20:100","12068:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"12047:36:100"},"referencedDeclaration":61305,"src":"12047:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56610,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56607,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"12096:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12117:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"12096:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12096:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12047:90:100"},{"eventCall":{"arguments":[{"id":56612,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56597,"src":"12169:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"baseExpression":{"expression":{"id":56613,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56606,"src":"12183:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12185:27:100","memberName":"proposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":61225,"src":"12183:29:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":56616,"indexExpression":{"id":56615,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56597,"src":"12213:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12183:43:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56617,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56599,"src":"12228:18:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56611,"name":"VotingThresholdSetV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56147,"src":"12148:20:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256,uint256)"}},"id":56618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12148:99:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56619,"nodeType":"EmitStatement","src":"12143:104:100"},{"expression":{"id":56626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":56620,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56606,"src":"12253:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12255:27:100","memberName":"proposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":61225,"src":"12253:29:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":56624,"indexExpression":{"id":56622,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56597,"src":"12283:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12253:43:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56625,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56599,"src":"12299:18:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12253:64:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56627,"nodeType":"ExpressionStatement","src":"12253:64:100"}]},"documentation":{"id":56594,"nodeType":"StructuredDocumentation","src":"11639:268:100","text":" @notice Sets the voting threshold for a proposal type.\n @dev Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\n @param proposalType The proposal type.\n @param newVotingThreshold The new voting threshold."},"id":56629,"implemented":true,"kind":"function","modifiers":[],"name":"_setProposalTypeVotingThreshold","nameLocation":"11919:31:100","nodeType":"FunctionDefinition","parameters":{"id":56600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56597,"mutability":"mutable","name":"proposalType","nameLocation":"11983:12:100","nodeType":"VariableDeclaration","scope":56629,"src":"11956:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56596,"nodeType":"UserDefinedTypeName","pathNode":{"id":56595,"name":"GovernorTypes.ProposalType","nameLocations":["11956:13:100","11970:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"11956:26:100"},"referencedDeclaration":61431,"src":"11956:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56599,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"12009:18:100","nodeType":"VariableDeclaration","scope":56629,"src":"12001:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56598,"name":"uint256","nodeType":"ElementaryTypeName","src":"12001:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11950:81:100"},"returnParameters":{"id":56601,"nodeType":"ParameterList","parameters":[],"src":"12041:0:100"},"scope":57091,"src":"11910:412:100","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":56651,"nodeType":"Block","src":"12758:201:100","statements":[{"expression":{"arguments":[{"arguments":[{"id":56641,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56633,"src":"12814:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":56639,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"12772:21:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":56640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12794:19:100","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":60182,"src":"12772:41:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$61431_$returns$_t_bool_$","typeString":"function (enum GovernorTypes.ProposalType) pure returns (bool)"}},"id":56642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12772:55:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c69642070726f706f73616c2074797065","id":56643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12829:45:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""},"value":"GovernorConfigurator: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""}],"id":56638,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12764:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12764:111:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56645,"nodeType":"ExpressionStatement","src":"12764:111:100"},{"expression":{"arguments":[{"id":56647,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56633,"src":"12917:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"id":56648,"name":"newDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56635,"src":"12931:22:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56646,"name":"_setProposalTypeDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56688,"src":"12881:35:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256)"}},"id":56649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12881:73:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56650,"nodeType":"ExpressionStatement","src":"12881:73:100"}]},"documentation":{"id":56630,"nodeType":"StructuredDocumentation","src":"12326:291:100","text":" @notice Sets the deposit threshold cap for a proposal type.\n @dev Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\n @param proposalType The proposal type.\n @param newDepositThresholdCap The new deposit threshold cap."},"functionSelector":"6b5889ba","id":56652,"implemented":true,"kind":"function","modifiers":[],"name":"setProposalTypeDepositThresholdCap","nameLocation":"12629:34:100","nodeType":"FunctionDefinition","parameters":{"id":56636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56633,"mutability":"mutable","name":"proposalType","nameLocation":"12696:12:100","nodeType":"VariableDeclaration","scope":56652,"src":"12669:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56632,"nodeType":"UserDefinedTypeName","pathNode":{"id":56631,"name":"GovernorTypes.ProposalType","nameLocations":["12669:13:100","12683:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"12669:26:100"},"referencedDeclaration":61431,"src":"12669:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56635,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"12722:22:100","nodeType":"VariableDeclaration","scope":56652,"src":"12714:30:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56634,"name":"uint256","nodeType":"ElementaryTypeName","src":"12714:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12663:85:100"},"returnParameters":{"id":56637,"nodeType":"ParameterList","parameters":[],"src":"12758:0:100"},"scope":57091,"src":"12620:339:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56687,"nodeType":"Block","src":"13396:299:100","statements":[{"assignments":[56665],"declarations":[{"constant":false,"id":56665,"mutability":"mutable","name":"$","nameLocation":"13447:1:100","nodeType":"VariableDeclaration","scope":56687,"src":"13402:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56664,"nodeType":"UserDefinedTypeName","pathNode":{"id":56663,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["13402:20:100","13423:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"13402:36:100"},"referencedDeclaration":61305,"src":"13402:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56669,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56666,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"13451:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13472:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"13451:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13451:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13402:90:100"},{"eventCall":{"arguments":[{"id":56671,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56656,"src":"13526:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"baseExpression":{"expression":{"id":56672,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56665,"src":"13540:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13542:31:100","memberName":"proposalTypeDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":61236,"src":"13540:33:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":56675,"indexExpression":{"id":56674,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56656,"src":"13574:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13540:47:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56676,"name":"newDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56658,"src":"13589:22:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56670,"name":"DepositThresholdCapSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56167,"src":"13503:22:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256,uint256)"}},"id":56677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13503:109:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56678,"nodeType":"EmitStatement","src":"13498:114:100"},{"expression":{"id":56685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":56679,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56665,"src":"13618:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13620:31:100","memberName":"proposalTypeDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":61236,"src":"13618:33:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":56683,"indexExpression":{"id":56681,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56656,"src":"13652:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13618:47:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56684,"name":"newDepositThresholdCap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56658,"src":"13668:22:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13618:72:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56686,"nodeType":"ExpressionStatement","src":"13618:72:100"}]},"documentation":{"id":56653,"nodeType":"StructuredDocumentation","src":"12963:291:100","text":" @notice Sets the deposit threshold cap for a proposal type.\n @dev Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\n @param proposalType The proposal type.\n @param newDepositThresholdCap The new deposit threshold cap."},"id":56688,"implemented":true,"kind":"function","modifiers":[],"name":"_setProposalTypeDepositThresholdCap","nameLocation":"13266:35:100","nodeType":"FunctionDefinition","parameters":{"id":56659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56656,"mutability":"mutable","name":"proposalType","nameLocation":"13334:12:100","nodeType":"VariableDeclaration","scope":56688,"src":"13307:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56655,"nodeType":"UserDefinedTypeName","pathNode":{"id":56654,"name":"GovernorTypes.ProposalType","nameLocations":["13307:13:100","13321:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"13307:26:100"},"referencedDeclaration":61431,"src":"13307:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":56658,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"13360:22:100","nodeType":"VariableDeclaration","scope":56688,"src":"13352:30:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56657,"name":"uint256","nodeType":"ElementaryTypeName","src":"13352:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13301:85:100"},"returnParameters":{"id":56660,"nodeType":"ParameterList","parameters":[],"src":"13396:0:100"},"scope":57091,"src":"13257:438:100","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":56711,"nodeType":"Block","src":"13772:166:100","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56697,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56691,"src":"13794:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}],"id":56696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13786:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56695,"name":"address","nodeType":"ElementaryTypeName","src":"13786:7:100","typeDescriptions":{}}},"id":56698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13786:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13822: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":56700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13814:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56699,"name":"address","nodeType":"ElementaryTypeName","src":"13814:7:100","typeDescriptions":{}}},"id":56702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13814:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13786:38:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a2047616c6178794d656d62657220616464726573732063616e6e6f74206265207a65726f","id":56704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13826:59:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_7df73a27ba910fd5a5ac52a6787b30606043bbb54ba652898d4acb2282f13a8e","typeString":"literal_string \"GovernorConfigurator: GalaxyMember address cannot be zero\""},"value":"GovernorConfigurator: GalaxyMember address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7df73a27ba910fd5a5ac52a6787b30606043bbb54ba652898d4acb2282f13a8e","typeString":"literal_string \"GovernorConfigurator: GalaxyMember address cannot be zero\""}],"id":56694,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13778:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13778:108:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56706,"nodeType":"ExpressionStatement","src":"13778:108:100"},{"expression":{"arguments":[{"id":56708,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56691,"src":"13917:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}],"id":56707,"name":"_setGalaxyMemberContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56748,"src":"13892:24:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IGalaxyMember_$65196_$returns$__$","typeString":"function (contract IGalaxyMember)"}},"id":56709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13892:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56710,"nodeType":"ExpressionStatement","src":"13892:41:100"}]},"functionSelector":"4f49d9ba","id":56712,"implemented":true,"kind":"function","modifiers":[],"name":"setGalaxyMemberContract","nameLocation":"13708:23:100","nodeType":"FunctionDefinition","parameters":{"id":56692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56691,"mutability":"mutable","name":"newGalaxyMember","nameLocation":"13746:15:100","nodeType":"VariableDeclaration","scope":56712,"src":"13732:29:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":56690,"nodeType":"UserDefinedTypeName","pathNode":{"id":56689,"name":"IGalaxyMember","nameLocations":["13732:13:100"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"13732:13:100"},"referencedDeclaration":65196,"src":"13732:13:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"13731:31:100"},"returnParameters":{"id":56693,"nodeType":"ParameterList","parameters":[],"src":"13772:0:100"},"scope":57091,"src":"13699:239:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56747,"nodeType":"Block","src":"14132:253:100","statements":[{"assignments":[56723],"declarations":[{"constant":false,"id":56723,"mutability":"mutable","name":"$","nameLocation":"14183:1:100","nodeType":"VariableDeclaration","scope":56747,"src":"14138:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56722,"nodeType":"UserDefinedTypeName","pathNode":{"id":56721,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["14138:20:100","14159:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"14138:36:100"},"referencedDeclaration":61305,"src":"14138:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56727,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56724,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"14187:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14208:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"14187:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14187:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14138:90:100"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56731,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56716,"src":"14250:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}],"id":56730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14242:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56729,"name":"address","nodeType":"ElementaryTypeName","src":"14242:7:100","typeDescriptions":{}}},"id":56732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14242:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14278: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":56734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14270:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56733,"name":"address","nodeType":"ElementaryTypeName","src":"14270:7:100","typeDescriptions":{}}},"id":56736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14270:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14242:38:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a2047616c6178794d656d62657220616464726573732063616e6e6f74206265207a65726f","id":56738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14282:59:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_7df73a27ba910fd5a5ac52a6787b30606043bbb54ba652898d4acb2282f13a8e","typeString":"literal_string \"GovernorConfigurator: GalaxyMember address cannot be zero\""},"value":"GovernorConfigurator: GalaxyMember address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7df73a27ba910fd5a5ac52a6787b30606043bbb54ba652898d4acb2282f13a8e","typeString":"literal_string \"GovernorConfigurator: GalaxyMember address cannot be zero\""}],"id":56728,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14234:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14234:108:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56740,"nodeType":"ExpressionStatement","src":"14234:108:100"},{"expression":{"id":56745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56741,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56723,"src":"14348:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14350:12:100","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"14348:14:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56744,"name":"newGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56716,"src":"14365:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"src":"14348:32:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"id":56746,"nodeType":"ExpressionStatement","src":"14348:32:100"}]},"documentation":{"id":56713,"nodeType":"StructuredDocumentation","src":"13942:113:100","text":" @notice Sets the GalaxyMember contract.\n @param newGalaxyMember The new GalaxyMember contract."},"id":56748,"implemented":true,"kind":"function","modifiers":[],"name":"_setGalaxyMemberContract","nameLocation":"14067:24:100","nodeType":"FunctionDefinition","parameters":{"id":56717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56716,"mutability":"mutable","name":"newGalaxyMember","nameLocation":"14106:15:100","nodeType":"VariableDeclaration","scope":56748,"src":"14092:29:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":56715,"nodeType":"UserDefinedTypeName","pathNode":{"id":56714,"name":"IGalaxyMember","nameLocations":["14092:13:100"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"14092:13:100"},"referencedDeclaration":65196,"src":"14092:13:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"14091:31:100"},"returnParameters":{"id":56718,"nodeType":"ParameterList","parameters":[],"src":"14132:0:100"},"scope":57091,"src":"14058:327:100","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":56771,"nodeType":"Block","src":"14465:170:100","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56757,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56751,"src":"14487:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"id":56756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14479:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56755,"name":"address","nodeType":"ElementaryTypeName","src":"14479:7:100","typeDescriptions":{}}},"id":56758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14479:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14516: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":56760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14508:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56759,"name":"address","nodeType":"ElementaryTypeName","src":"14508:7:100","typeDescriptions":{}}},"id":56762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14508:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14479:39:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a204772616e74734d616e6167657220616464726573732063616e6e6f74206265207a65726f","id":56764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14520:60:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_037dbf5859a8fb91da8b98f3a24d52c356903ef23273082b4178678fc59f4bc6","typeString":"literal_string \"GovernorConfigurator: GrantsManager address cannot be zero\""},"value":"GovernorConfigurator: GrantsManager address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_037dbf5859a8fb91da8b98f3a24d52c356903ef23273082b4178678fc59f4bc6","typeString":"literal_string \"GovernorConfigurator: GrantsManager address cannot be zero\""}],"id":56754,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14471:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14471:110:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56766,"nodeType":"ExpressionStatement","src":"14471:110:100"},{"expression":{"arguments":[{"id":56768,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56751,"src":"14613:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"id":56767,"name":"_setGrantsManagerContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56808,"src":"14587:25:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IGrantsManager_$65639_$returns$__$","typeString":"function (contract IGrantsManager)"}},"id":56769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14587:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56770,"nodeType":"ExpressionStatement","src":"14587:43:100"}]},"functionSelector":"d2eee54a","id":56772,"implemented":true,"kind":"function","modifiers":[],"name":"setGrantsManagerContract","nameLocation":"14398:24:100","nodeType":"FunctionDefinition","parameters":{"id":56752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56751,"mutability":"mutable","name":"newGrantsManager","nameLocation":"14438:16:100","nodeType":"VariableDeclaration","scope":56772,"src":"14423:31:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":56750,"nodeType":"UserDefinedTypeName","pathNode":{"id":56749,"name":"IGrantsManager","nameLocations":["14423:14:100"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"14423:14:100"},"referencedDeclaration":65639,"src":"14423:14:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"14422:33:100"},"returnParameters":{"id":56753,"nodeType":"ParameterList","parameters":[],"src":"14465:0:100"},"scope":57091,"src":"14389:246:100","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":56807,"nodeType":"Block","src":"14835:257:100","statements":[{"assignments":[56783],"declarations":[{"constant":false,"id":56783,"mutability":"mutable","name":"$","nameLocation":"14886:1:100","nodeType":"VariableDeclaration","scope":56807,"src":"14841:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56782,"nodeType":"UserDefinedTypeName","pathNode":{"id":56781,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["14841:20:100","14862:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"14841:36:100"},"referencedDeclaration":61305,"src":"14841:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56787,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56784,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"14890:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14911:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"14890:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14890:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14841:90:100"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56791,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56776,"src":"14953:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"id":56790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14945:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56789,"name":"address","nodeType":"ElementaryTypeName","src":"14945:7:100","typeDescriptions":{}}},"id":56792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14945:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14982: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":56794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14974:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56793,"name":"address","nodeType":"ElementaryTypeName","src":"14974:7:100","typeDescriptions":{}}},"id":56796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14974:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14945:39:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a204772616e74734d616e6167657220616464726573732063616e6e6f74206265207a65726f","id":56798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14986:60:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_037dbf5859a8fb91da8b98f3a24d52c356903ef23273082b4178678fc59f4bc6","typeString":"literal_string \"GovernorConfigurator: GrantsManager address cannot be zero\""},"value":"GovernorConfigurator: GrantsManager address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_037dbf5859a8fb91da8b98f3a24d52c356903ef23273082b4178678fc59f4bc6","typeString":"literal_string \"GovernorConfigurator: GrantsManager address cannot be zero\""}],"id":56788,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14937:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14937:110:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56800,"nodeType":"ExpressionStatement","src":"14937:110:100"},{"expression":{"id":56805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":56801,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56783,"src":"15053:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56803,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15055:13:100","memberName":"grantsManager","nodeType":"MemberAccess","referencedDeclaration":61239,"src":"15053:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56804,"name":"newGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56776,"src":"15071:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"src":"15053:34:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"id":56806,"nodeType":"ExpressionStatement","src":"15053:34:100"}]},"documentation":{"id":56773,"nodeType":"StructuredDocumentation","src":"14639:116:100","text":" @notice Sets the GrantsManager contract.\n @param newGrantsManager The new GrantsManager contract."},"id":56808,"implemented":true,"kind":"function","modifiers":[],"name":"_setGrantsManagerContract","nameLocation":"14767:25:100","nodeType":"FunctionDefinition","parameters":{"id":56777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56776,"mutability":"mutable","name":"newGrantsManager","nameLocation":"14808:16:100","nodeType":"VariableDeclaration","scope":56808,"src":"14793:31:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":56775,"nodeType":"UserDefinedTypeName","pathNode":{"id":56774,"name":"IGrantsManager","nameLocations":["14793:14:100"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"14793:14:100"},"referencedDeclaration":65639,"src":"14793:14:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"14792:33:100"},"returnParameters":{"id":56778,"nodeType":"ParameterList","parameters":[],"src":"14835:0:100"},"scope":57091,"src":"14758:334:100","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":56839,"nodeType":"Block","src":"15393:274:100","statements":[{"assignments":[56821],"declarations":[{"constant":false,"id":56821,"mutability":"mutable","name":"$","nameLocation":"15444:1:100","nodeType":"VariableDeclaration","scope":56839,"src":"15399:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56820,"nodeType":"UserDefinedTypeName","pathNode":{"id":56819,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["15399:20:100","15420:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"15399:36:100"},"referencedDeclaration":61305,"src":"15399:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56825,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56822,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"15448:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15469:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"15448:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15448:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15399:90:100"},{"expression":{"arguments":[{"arguments":[{"id":56829,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56812,"src":"15545:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":56827,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"15503:21:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":56828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15525:19:100","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":60182,"src":"15503:41:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$61431_$returns$_t_bool_$","typeString":"function (enum GovernorTypes.ProposalType) pure returns (bool)"}},"id":56830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15503:55:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c69642070726f706f73616c2074797065","id":56831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15560:45:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""},"value":"GovernorConfigurator: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""}],"id":56826,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15495:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15495:111:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56833,"nodeType":"ExpressionStatement","src":"15495:111:100"},{"expression":{"baseExpression":{"expression":{"id":56834,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56821,"src":"15619:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15621:27:100","memberName":"proposalTypeVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":61225,"src":"15619:29:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":56837,"indexExpression":{"id":56836,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56812,"src":"15649:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15619:43:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56816,"id":56838,"nodeType":"Return","src":"15612:50:100"}]},"documentation":{"id":56809,"nodeType":"StructuredDocumentation","src":"15150:139:100","text":" @notice Returns the voting threshold.\n @param proposalType The proposal type.\n @return The current voting threshold."},"id":56840,"implemented":true,"kind":"function","modifiers":[],"name":"getVotingThreshold","nameLocation":"15301:18:100","nodeType":"FunctionDefinition","parameters":{"id":56813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56812,"mutability":"mutable","name":"proposalType","nameLocation":"15347:12:100","nodeType":"VariableDeclaration","scope":56840,"src":"15320:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56811,"nodeType":"UserDefinedTypeName","pathNode":{"id":56810,"name":"GovernorTypes.ProposalType","nameLocations":["15320:13:100","15334:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"15320:26:100"},"referencedDeclaration":61431,"src":"15320:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"15319:41:100"},"returnParameters":{"id":56816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56815,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56840,"src":"15384:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56814,"name":"uint256","nodeType":"ElementaryTypeName","src":"15384:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15383:9:100"},"scope":57091,"src":"15292:375:100","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56858,"nodeType":"Block","src":"15850:130:100","statements":[{"assignments":[56850],"declarations":[{"constant":false,"id":56850,"mutability":"mutable","name":"$","nameLocation":"15901:1:100","nodeType":"VariableDeclaration","scope":56858,"src":"15856:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56849,"nodeType":"UserDefinedTypeName","pathNode":{"id":56848,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["15856:20:100","15877:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"15856:36:100"},"referencedDeclaration":61305,"src":"15856:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56854,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56851,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"15905:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15926:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"15905:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15905:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15856:90:100"},{"expression":{"expression":{"id":56855,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56850,"src":"15959:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15961:14:100","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":61151,"src":"15959:16:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56845,"id":56857,"nodeType":"Return","src":"15952:23:100"}]},"documentation":{"id":56841,"nodeType":"StructuredDocumentation","src":"15671:115:100","text":" @notice Returns the minimum delay before vote starts.\n @return The current minimum voting delay."},"id":56859,"implemented":true,"kind":"function","modifiers":[],"name":"getMinVotingDelay","nameLocation":"15798:17:100","nodeType":"FunctionDefinition","parameters":{"id":56842,"nodeType":"ParameterList","parameters":[],"src":"15815:2:100"},"returnParameters":{"id":56845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56859,"src":"15841:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56843,"name":"uint256","nodeType":"ElementaryTypeName","src":"15841:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15840:9:100"},"scope":57091,"src":"15789:191:100","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56890,"nodeType":"Block","src":"16262:285:100","statements":[{"assignments":[56872],"declarations":[{"constant":false,"id":56872,"mutability":"mutable","name":"$","nameLocation":"16313:1:100","nodeType":"VariableDeclaration","scope":56890,"src":"16268:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56871,"nodeType":"UserDefinedTypeName","pathNode":{"id":56870,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["16268:20:100","16289:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"16268:36:100"},"referencedDeclaration":61305,"src":"16268:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56876,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56873,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"16317:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16338:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"16317:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16317:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16268:90:100"},{"expression":{"arguments":[{"arguments":[{"id":56880,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56863,"src":"16414:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":56878,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"16372:21:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":56879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16394:19:100","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":60182,"src":"16372:41:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$61431_$returns$_t_bool_$","typeString":"function (enum GovernorTypes.ProposalType) pure returns (bool)"}},"id":56881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16372:55:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c69642070726f706f73616c2074797065","id":56882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16429:45:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""},"value":"GovernorConfigurator: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""}],"id":56877,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16364:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16364:111:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56884,"nodeType":"ExpressionStatement","src":"16364:111:100"},{"expression":{"baseExpression":{"expression":{"id":56885,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56872,"src":"16488:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16490:38:100","memberName":"proposalTypeDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":61220,"src":"16488:40:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":56888,"indexExpression":{"id":56887,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56863,"src":"16529:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16488:54:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56867,"id":56889,"nodeType":"Return","src":"16481:61:100"}]},"documentation":{"id":56860,"nodeType":"StructuredDocumentation","src":"15984:163:100","text":" @notice Returns the deposit threshold percentage.\n @param proposalType The proposal type.\n @return The current deposit threshold percentage."},"id":56891,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositThresholdPercentage","nameLocation":"16159:29:100","nodeType":"FunctionDefinition","parameters":{"id":56864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56863,"mutability":"mutable","name":"proposalType","nameLocation":"16216:12:100","nodeType":"VariableDeclaration","scope":56891,"src":"16189:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56862,"nodeType":"UserDefinedTypeName","pathNode":{"id":56861,"name":"GovernorTypes.ProposalType","nameLocations":["16189:13:100","16203:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"16189:26:100"},"referencedDeclaration":61431,"src":"16189:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"16188:41:100"},"returnParameters":{"id":56867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56891,"src":"16253:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56865,"name":"uint256","nodeType":"ElementaryTypeName","src":"16253:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16252:9:100"},"scope":57091,"src":"16150:397:100","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56910,"nodeType":"Block","src":"16737:132:100","statements":[{"assignments":[56902],"declarations":[{"constant":false,"id":56902,"mutability":"mutable","name":"$","nameLocation":"16788:1:100","nodeType":"VariableDeclaration","scope":56910,"src":"16743:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56901,"nodeType":"UserDefinedTypeName","pathNode":{"id":56900,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["16743:20:100","16764:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"16743:36:100"},"referencedDeclaration":61305,"src":"16743:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56906,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56903,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"16792:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16813:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"16792:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16792:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16743:90:100"},{"expression":{"expression":{"id":56907,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56902,"src":"16846:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16848:16:100","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":61210,"src":"16846:18:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"functionReturnParameters":56897,"id":56909,"nodeType":"Return","src":"16839:25:100"}]},"documentation":{"id":56892,"nodeType":"StructuredDocumentation","src":"16551:113:100","text":" @notice Returns the VeBetterPassport contract.\n @return The current VeBetterPassport contract."},"id":56911,"implemented":true,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"16676:16:100","nodeType":"FunctionDefinition","parameters":{"id":56893,"nodeType":"ParameterList","parameters":[],"src":"16692:2:100"},"returnParameters":{"id":56897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56896,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56911,"src":"16718:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":56895,"nodeType":"UserDefinedTypeName","pathNode":{"id":56894,"name":"IVeBetterPassport","nameLocations":["16718:17:100"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"16718:17:100"},"referencedDeclaration":68601,"src":"16718:17:100","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"16717:19:100"},"scope":57091,"src":"16667:202:100","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56942,"nodeType":"Block","src":"17150:278:100","statements":[{"assignments":[56924],"declarations":[{"constant":false,"id":56924,"mutability":"mutable","name":"$","nameLocation":"17201:1:100","nodeType":"VariableDeclaration","scope":56942,"src":"17156:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56923,"nodeType":"UserDefinedTypeName","pathNode":{"id":56922,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["17156:20:100","17177:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"17156:36:100"},"referencedDeclaration":61305,"src":"17156:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56928,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56925,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"17205:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17226:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"17205:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17205:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17156:90:100"},{"expression":{"arguments":[{"arguments":[{"id":56932,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56915,"src":"17302:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":56930,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"17260:21:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":56931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17282:19:100","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":60182,"src":"17260:41:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$61431_$returns$_t_bool_$","typeString":"function (enum GovernorTypes.ProposalType) pure returns (bool)"}},"id":56933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17260:55:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c69642070726f706f73616c2074797065","id":56934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17317:45:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""},"value":"GovernorConfigurator: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""}],"id":56929,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17252:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17252:111:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56936,"nodeType":"ExpressionStatement","src":"17252:111:100"},{"expression":{"baseExpression":{"expression":{"id":56937,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56924,"src":"17376:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17378:31:100","memberName":"proposalTypeDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":61236,"src":"17376:33:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":56940,"indexExpression":{"id":56939,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56915,"src":"17410:12:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17376:47:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56919,"id":56941,"nodeType":"Return","src":"17369:54:100"}]},"documentation":{"id":56912,"nodeType":"StructuredDocumentation","src":"16873:169:100","text":" @notice Returns the deposit threshold cap for a proposal type.\n @param proposalType The proposal type.\n @return The current deposit threshold cap."},"id":56943,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositThresholdCap","nameLocation":"17054:22:100","nodeType":"FunctionDefinition","parameters":{"id":56916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56915,"mutability":"mutable","name":"proposalType","nameLocation":"17104:12:100","nodeType":"VariableDeclaration","scope":56943,"src":"17077:39:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56914,"nodeType":"UserDefinedTypeName","pathNode":{"id":56913,"name":"GovernorTypes.ProposalType","nameLocations":["17077:13:100","17091:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"17077:26:100"},"referencedDeclaration":61431,"src":"17077:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"17076:41:100"},"returnParameters":{"id":56919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56918,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56943,"src":"17141:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56917,"name":"uint256","nodeType":"ElementaryTypeName","src":"17141:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17140:9:100"},"scope":57091,"src":"17045:383:100","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56962,"nodeType":"Block","src":"17613:128:100","statements":[{"assignments":[56954],"declarations":[{"constant":false,"id":56954,"mutability":"mutable","name":"$","nameLocation":"17664:1:100","nodeType":"VariableDeclaration","scope":56962,"src":"17619:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56953,"nodeType":"UserDefinedTypeName","pathNode":{"id":56952,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["17619:20:100","17640:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"17619:36:100"},"referencedDeclaration":61305,"src":"17619:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56958,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56955,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"17668:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17689:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"17668:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17668:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17619:90:100"},{"expression":{"expression":{"id":56959,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56954,"src":"17722:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17724:12:100","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"17722:14:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"functionReturnParameters":56949,"id":56961,"nodeType":"Return","src":"17715:21:100"}]},"documentation":{"id":56944,"nodeType":"StructuredDocumentation","src":"17432:105:100","text":" @notice Returns the GalaxyMember contract.\n @return The current GalaxyMember contract."},"id":56963,"implemented":true,"kind":"function","modifiers":[],"name":"getGalaxyMemberContract","nameLocation":"17549:23:100","nodeType":"FunctionDefinition","parameters":{"id":56945,"nodeType":"ParameterList","parameters":[],"src":"17572:2:100"},"returnParameters":{"id":56949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56948,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56963,"src":"17598:13:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":56947,"nodeType":"UserDefinedTypeName","pathNode":{"id":56946,"name":"IGalaxyMember","nameLocations":["17598:13:100"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"17598:13:100"},"referencedDeclaration":65196,"src":"17598:13:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"17597:15:100"},"scope":57091,"src":"17540:201:100","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56982,"nodeType":"Block","src":"17930:129:100","statements":[{"assignments":[56974],"declarations":[{"constant":false,"id":56974,"mutability":"mutable","name":"$","nameLocation":"17981:1:100","nodeType":"VariableDeclaration","scope":56982,"src":"17936:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56973,"nodeType":"UserDefinedTypeName","pathNode":{"id":56972,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["17936:20:100","17957:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"17936:36:100"},"referencedDeclaration":61305,"src":"17936:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":56978,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56975,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"17985:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18006:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"17985:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17985:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17936:90:100"},{"expression":{"expression":{"id":56979,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56974,"src":"18039:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":56980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18041:13:100","memberName":"grantsManager","nodeType":"MemberAccess","referencedDeclaration":61239,"src":"18039:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"functionReturnParameters":56969,"id":56981,"nodeType":"Return","src":"18032:22:100"}]},"documentation":{"id":56964,"nodeType":"StructuredDocumentation","src":"17745:107:100","text":" @notice Returns the GrantsManager contract.\n @return The current GrantsManager contract."},"id":56983,"implemented":true,"kind":"function","modifiers":[],"name":"getGrantsManagerContract","nameLocation":"17864:24:100","nodeType":"FunctionDefinition","parameters":{"id":56965,"nodeType":"ParameterList","parameters":[],"src":"17888:2:100"},"returnParameters":{"id":56969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56983,"src":"17914:14:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":56967,"nodeType":"UserDefinedTypeName","pathNode":{"id":56966,"name":"IGrantsManager","nameLocations":["17914:14:100"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"17914:14:100"},"referencedDeclaration":65639,"src":"17914:14:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"17913:16:100"},"scope":57091,"src":"17855:204:100","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57014,"nodeType":"Block","src":"18366:304:100","statements":[{"assignments":[56996],"declarations":[{"constant":false,"id":56996,"mutability":"mutable","name":"$","nameLocation":"18417:1:100","nodeType":"VariableDeclaration","scope":57014,"src":"18372:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":56995,"nodeType":"UserDefinedTypeName","pathNode":{"id":56994,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["18372:20:100","18393:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"18372:36:100"},"referencedDeclaration":61305,"src":"18372:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57000,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56997,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"18421:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":56998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18442:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"18421:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":56999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18421:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18372:90:100"},{"expression":{"arguments":[{"arguments":[{"id":57004,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56987,"src":"18525:17:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":57002,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"18483:21:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":57003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18505:19:100","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":60182,"src":"18483:41:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$61431_$returns$_t_bool_$","typeString":"function (enum GovernorTypes.ProposalType) pure returns (bool)"}},"id":57005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18483:60:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c69642070726f706f73616c2074797065","id":57006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18551:45:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""},"value":"GovernorConfigurator: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""}],"id":57001,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18468:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18468:134:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57008,"nodeType":"ExpressionStatement","src":"18468:134:100"},{"expression":{"baseExpression":{"expression":{"id":57009,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56996,"src":"18615:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18617:29:100","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":61247,"src":"18615:31:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":57012,"indexExpression":{"id":57011,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56987,"src":"18647:17:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18615:50:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56991,"id":57013,"nodeType":"Return","src":"18608:57:100"}]},"documentation":{"id":56984,"nodeType":"StructuredDocumentation","src":"18063:172:100","text":" @notice Returns the GM weight for a proposal type.\n @param proposalTypeValue The proposal type.\n @return The current GM weight for the proposal type."},"id":57015,"implemented":true,"kind":"function","modifiers":[],"name":"getRequiredGMLevelByProposalType","nameLocation":"18247:32:100","nodeType":"FunctionDefinition","parameters":{"id":56988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56987,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"18312:17:100","nodeType":"VariableDeclaration","scope":57015,"src":"18285:44:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":56986,"nodeType":"UserDefinedTypeName","pathNode":{"id":56985,"name":"GovernorTypes.ProposalType","nameLocations":["18285:13:100","18299:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"18285:26:100"},"referencedDeclaration":61431,"src":"18285:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"18279:54:100"},"returnParameters":{"id":56991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56990,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57015,"src":"18357:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56989,"name":"uint256","nodeType":"ElementaryTypeName","src":"18357:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18356:9:100"},"scope":57091,"src":"18238:432:100","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57026,"nodeType":"Block","src":"19045:86:100","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57021,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"19058:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19079:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"19058:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19058:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19100:26:100","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":61270,"src":"19058:68:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":57020,"id":57025,"nodeType":"Return","src":"19051:75:100"}]},"documentation":{"id":57016,"nodeType":"StructuredDocumentation","src":"18853:119:100","text":" @notice Returns the governance skip window in blocks.\n @return The governance skip window in blocks."},"id":57027,"implemented":true,"kind":"function","modifiers":[],"name":"governanceSkipWindowBlocks","nameLocation":"18984:26:100","nodeType":"FunctionDefinition","parameters":{"id":57017,"nodeType":"ParameterList","parameters":[],"src":"19010:2:100"},"returnParameters":{"id":57020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57019,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57027,"src":"19036:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57018,"name":"uint256","nodeType":"ElementaryTypeName","src":"19036:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19035:9:100"},"scope":57091,"src":"18975:156:100","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57089,"nodeType":"Block","src":"19265:623:100","statements":[{"assignments":[57039],"declarations":[{"constant":false,"id":57039,"mutability":"mutable","name":"$","nameLocation":"19316:1:100","nodeType":"VariableDeclaration","scope":57089,"src":"19271:46:100","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57038,"nodeType":"UserDefinedTypeName","pathNode":{"id":57037,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["19271:20:100","19292:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"19271:36:100"},"referencedDeclaration":61305,"src":"19271:36:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57043,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57040,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"19320:20:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19341:18:100","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"19320:39:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19320:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19271:90:100"},{"assignments":[57045],"declarations":[{"constant":false,"id":57045,"mutability":"mutable","name":"maxGMWeight","nameLocation":"19375:11:100","nodeType":"VariableDeclaration","scope":57089,"src":"19367:19:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57044,"name":"uint256","nodeType":"ElementaryTypeName","src":"19367:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57050,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":57046,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57039,"src":"19389:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19391:12:100","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"19389:14:100","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"id":57048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19404:9:100","memberName":"MAX_LEVEL","nodeType":"MemberAccess","referencedDeclaration":64711,"src":"19389:24:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":57049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19389:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19367:48:100"},{"assignments":[57052],"declarations":[{"constant":false,"id":57052,"mutability":"mutable","name":"oldRequiredGMLevel","nameLocation":"19429:18:100","nodeType":"VariableDeclaration","scope":57089,"src":"19421:26:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57051,"name":"uint256","nodeType":"ElementaryTypeName","src":"19421:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57057,"initialValue":{"baseExpression":{"expression":{"id":57053,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57039,"src":"19450:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19452:29:100","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":61247,"src":"19450:31:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":57056,"indexExpression":{"id":57055,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57030,"src":"19482:17:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19450:50:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19421:79:100"},{"expression":{"arguments":[{"arguments":[{"id":57061,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57030,"src":"19563:17:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":57059,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"19521:21:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":57060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19543:19:100","memberName":"isValidProposalType","nodeType":"MemberAccess","referencedDeclaration":60182,"src":"19521:41:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$61431_$returns$_t_bool_$","typeString":"function (enum GovernorTypes.ProposalType) pure returns (bool)"}},"id":57062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19521:60:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c69642070726f706f73616c2074797065","id":57063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19589:45:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""},"value":"GovernorConfigurator: invalid proposal type"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928","typeString":"literal_string \"GovernorConfigurator: invalid proposal type\""}],"id":57058,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19506:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19506:134:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57065,"nodeType":"ExpressionStatement","src":"19506:134:100"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57066,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57032,"src":"19651:11:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":57067,"name":"maxGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57045,"src":"19665:11:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19651:25:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57074,"nodeType":"IfStatement","src":"19647:86:100","trueBody":{"id":57073,"nodeType":"Block","src":"19678:55:100","statements":[{"errorCall":{"arguments":[{"id":57070,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57032,"src":"19714:11:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57069,"name":"GMLevelAboveMaxLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56137,"src":"19693:20:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":57071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19693:33:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57072,"nodeType":"RevertStatement","src":"19686:40:100"}]}},{"eventCall":{"arguments":[{"id":57076,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57030,"src":"19762:17:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},{"id":57077,"name":"oldRequiredGMLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57052,"src":"19781:18:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57078,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57032,"src":"19801:11:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57075,"name":"RequiredGMLevelSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56177,"src":"19743:18:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_enum$_ProposalType_$61431_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType,uint256,uint256)"}},"id":57079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19743:70:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57080,"nodeType":"EmitStatement","src":"19738:75:100"},{"expression":{"id":57087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":57081,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57039,"src":"19819:1:100","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19821:29:100","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":61247,"src":"19819:31:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":57085,"indexExpression":{"id":57083,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57030,"src":"19851:17:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19819:50:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57086,"name":"newGMWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57032,"src":"19872:11:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19819:64:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57088,"nodeType":"ExpressionStatement","src":"19819:64:100"}]},"id":57090,"implemented":true,"kind":"function","modifiers":[],"name":"setRequiredGMLevelByProposalType","nameLocation":"19144:32:100","nodeType":"FunctionDefinition","parameters":{"id":57033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57030,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"19209:17:100","nodeType":"VariableDeclaration","scope":57090,"src":"19182:44:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":57029,"nodeType":"UserDefinedTypeName","pathNode":{"id":57028,"name":"GovernorTypes.ProposalType","nameLocations":["19182:13:100","19196:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"19182:26:100"},"referencedDeclaration":61431,"src":"19182:26:100","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":57032,"mutability":"mutable","name":"newGMWeight","nameLocation":"19240:11:100","nodeType":"VariableDeclaration","scope":57090,"src":"19232:19:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57031,"name":"uint256","nodeType":"ElementaryTypeName","src":"19232:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19176:79:100"},"returnParameters":{"id":57034,"nodeType":"ParameterList","parameters":[],"src":"19265:0:100"},"scope":57091,"src":"19135:753:100","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":57092,"src":"2427:17463:100","usedErrors":[56132,56137],"usedEvents":[56067,56074,56081,56088,56095,56102,56109,56115,56121,56127,56147,56157,56167,56177]}],"src":"1195:18696:100"},"id":100},"contracts/governance/libraries/GovernorDepositLogic.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorDepositLogic.sol","exportedSymbols":{"Checkpoints":[10447],"GovernorClockLogic":[55213],"GovernorConfigurator":[57091],"GovernorDepositLogic":[57642],"GovernorStateLogic":[61096],"GovernorStorageTypes":[61306],"GovernorTypes":[61442],"SafeCast":[8770]},"id":57643,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57093,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:101"},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":57095,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57643,"sourceUnit":61307,"src":"1220:66:101","symbolAliases":[{"foreign":{"id":57094,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1229:20:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStateLogic.sol","file":"./GovernorStateLogic.sol","id":57097,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57643,"sourceUnit":61097,"src":"1287:62:101","symbolAliases":[{"foreign":{"id":57096,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"1296:18:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./GovernorTypes.sol","id":57099,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57643,"sourceUnit":61443,"src":"1350:52:101","symbolAliases":[{"foreign":{"id":57098,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"1359:13:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorConfigurator.sol","file":"./GovernorConfigurator.sol","id":57101,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57643,"sourceUnit":57092,"src":"1403:66:101","symbolAliases":[{"foreign":{"id":57100,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"1412:20:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":57103,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57643,"sourceUnit":10448,"src":"1470:84:101","symbolAliases":[{"foreign":{"id":57102,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1479:11:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":57105,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57643,"sourceUnit":8771,"src":"1555:75:101","symbolAliases":[{"foreign":{"id":57104,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1564:8:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorClockLogic.sol","file":"./GovernorClockLogic.sol","id":57107,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57643,"sourceUnit":55214,"src":"1631:62:101","symbolAliases":[{"foreign":{"id":57106,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"1640:18:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorDepositLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":57108,"nodeType":"StructuredDocumentation","src":"1694:256:101","text":"@title GovernorDepositLogic Library\n @notice Library for managing deposits related to proposals in the Governor contract.\n @dev This library provides functions to deposit and withdraw tokens for proposals, and to get deposit-related information."},"fullyImplemented":true,"id":57642,"linearizedBaseContracts":[57642],"name":"GovernorDepositLogic","nameLocation":"1958:20:101","nodeType":"ContractDefinition","nodes":[{"global":false,"id":57112,"libraryName":{"id":57109,"name":"Checkpoints","nameLocations":["1989:11:101"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"1989:11:101"},"nodeType":"UsingForDirective","src":"1983:43:101","typeName":{"id":57111,"nodeType":"UserDefinedTypeName","pathNode":{"id":57110,"name":"Checkpoints.Trace208","nameLocations":["2005:11:101","2017:8:101"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"2005:20:101"},"referencedDeclaration":9409,"src":"2005:20:101","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"anonymous":false,"documentation":{"id":57113,"nodeType":"StructuredDocumentation","src":"2029:54:101","text":"@dev Emitted when a deposit is made to a proposal."},"eventSelector":"65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c","id":57121,"name":"ProposalDeposit","nameLocation":"2092:15:101","nodeType":"EventDefinition","parameters":{"id":57120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57115,"indexed":true,"mutability":"mutable","name":"depositor","nameLocation":"2124:9:101","nodeType":"VariableDeclaration","scope":57121,"src":"2108:25:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57114,"name":"address","nodeType":"ElementaryTypeName","src":"2108:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57117,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2151:10:101","nodeType":"VariableDeclaration","scope":57121,"src":"2135:26:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57116,"name":"uint256","nodeType":"ElementaryTypeName","src":"2135:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57119,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2171:6:101","nodeType":"VariableDeclaration","scope":57121,"src":"2163:14:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57118,"name":"uint256","nodeType":"ElementaryTypeName","src":"2163:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2107:71:101"},"src":"2086:93:101"},{"anonymous":false,"documentation":{"id":57122,"nodeType":"StructuredDocumentation","src":"2183:61:101","text":"@dev Emitted when a deposit is withdrawn from a proposal."},"eventSelector":"fbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1","id":57130,"name":"ProposalWithdraw","nameLocation":"2253:16:101","nodeType":"EventDefinition","parameters":{"id":57129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57124,"indexed":true,"mutability":"mutable","name":"withdrawer","nameLocation":"2286:10:101","nodeType":"VariableDeclaration","scope":57130,"src":"2270:26:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57123,"name":"address","nodeType":"ElementaryTypeName","src":"2270:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57126,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2314:10:101","nodeType":"VariableDeclaration","scope":57130,"src":"2298:26:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57125,"name":"uint256","nodeType":"ElementaryTypeName","src":"2298:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57128,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2334:6:101","nodeType":"VariableDeclaration","scope":57130,"src":"2326:14:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57127,"name":"uint256","nodeType":"ElementaryTypeName","src":"2326:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2269:72:101"},"src":"2247:95:101"},{"documentation":{"id":57131,"nodeType":"StructuredDocumentation","src":"2346:53:101","text":"@dev Thrown when there is no deposit to withdraw."},"errorSelector":"15fb458d","id":57137,"name":"GovernorNoDepositToWithdraw","nameLocation":"2408:27:101","nodeType":"ErrorDefinition","parameters":{"id":57136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57133,"mutability":"mutable","name":"proposalId","nameLocation":"2444:10:101","nodeType":"VariableDeclaration","scope":57137,"src":"2436:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57132,"name":"uint256","nodeType":"ElementaryTypeName","src":"2436:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57135,"mutability":"mutable","name":"depositer","nameLocation":"2464:9:101","nodeType":"VariableDeclaration","scope":57137,"src":"2456:17:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57134,"name":"address","nodeType":"ElementaryTypeName","src":"2456:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2435:39:101"},"src":"2402:73:101"},{"documentation":{"id":57138,"nodeType":"StructuredDocumentation","src":"2479:76:101","text":"@dev Thrown when the deposit amount is invalid (must be greater than 0)."},"errorSelector":"c22b340f","id":57140,"name":"GovernorInvalidDepositAmount","nameLocation":"2564:28:101","nodeType":"ErrorDefinition","parameters":{"id":57139,"nodeType":"ParameterList","parameters":[],"src":"2592:2:101"},"src":"2558:37:101"},{"documentation":{"id":57141,"nodeType":"StructuredDocumentation","src":"2599:52:101","text":"@dev Thrown when the proposal ID does not exist."},"errorSelector":"6ad06075","id":57145,"name":"GovernorNonexistentProposal","nameLocation":"2660:27:101","nodeType":"ErrorDefinition","parameters":{"id":57144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57143,"mutability":"mutable","name":"proposalId","nameLocation":"2696:10:101","nodeType":"VariableDeclaration","scope":57145,"src":"2688:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57142,"name":"uint256","nodeType":"ElementaryTypeName","src":"2688:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2687:20:101"},"src":"2654:54:101"},{"documentation":{"id":57146,"nodeType":"StructuredDocumentation","src":"2712:70:101","text":"@dev Thrown when the grantee tries to deposit for their own grant."},"errorSelector":"784751ae","id":57150,"name":"GranteeCannotDepositOwnGrant","nameLocation":"2791:28:101","nodeType":"ErrorDefinition","parameters":{"id":57149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57148,"mutability":"mutable","name":"proposalId","nameLocation":"2828:10:101","nodeType":"VariableDeclaration","scope":57150,"src":"2820:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57147,"name":"uint256","nodeType":"ElementaryTypeName","src":"2820:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2819:20:101"},"src":"2785:55:101"},{"body":{"id":57240,"nodeType":"Block","src":"3394:765:101","statements":[{"assignments":[57162],"declarations":[{"constant":false,"id":57162,"mutability":"mutable","name":"$","nameLocation":"3445:1:101","nodeType":"VariableDeclaration","scope":57240,"src":"3400:46:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57161,"nodeType":"UserDefinedTypeName","pathNode":{"id":57160,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["3400:20:101","3421:15:101"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"3400:36:101"},"referencedDeclaration":61305,"src":"3400:36:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57166,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57163,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"3449:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3470:18:101","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"3449:39:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3449:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3400:90:101"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57167,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57153,"src":"3500:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3510:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3500:11:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57174,"nodeType":"IfStatement","src":"3496:69:101","trueBody":{"id":57173,"nodeType":"Block","src":"3513:52:101","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":57170,"name":"GovernorInvalidDepositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57140,"src":"3528:28:101","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":57171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3528:30:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57172,"nodeType":"RevertStatement","src":"3521:37:101"}]}},{"assignments":[57179],"declarations":[{"constant":false,"id":57179,"mutability":"mutable","name":"proposal","nameLocation":"3606:8:101","nodeType":"VariableDeclaration","scope":57240,"src":"3571:43:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"},"typeName":{"id":57178,"nodeType":"UserDefinedTypeName","pathNode":{"id":57177,"name":"GovernorTypes.ProposalCore","nameLocations":["3571:13:101","3585:12:101"],"nodeType":"IdentifierPath","referencedDeclaration":61395,"src":"3571:26:101"},"referencedDeclaration":61395,"src":"3571:26:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"}},"visibility":"internal"}],"id":57184,"initialValue":{"baseExpression":{"expression":{"id":57180,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57162,"src":"3617:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3619:9:101","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"3617:11:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":57183,"indexExpression":{"id":57182,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57155,"src":"3629:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3617:23:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3571:69:101"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57185,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57179,"src":"3651:8:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":57186,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3660:16:101","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"3651:25:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3680:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3651:30:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57194,"nodeType":"IfStatement","src":"3647:97:101","trueBody":{"id":57193,"nodeType":"Block","src":"3683:61:101","statements":[{"errorCall":{"arguments":[{"id":57190,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57155,"src":"3726:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57189,"name":"GovernorNonexistentProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57145,"src":"3698:27:101","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":57191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3698:39:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57192,"nodeType":"RevertStatement","src":"3691:46:101"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57195,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57179,"src":"3754:8:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":57196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3763:8:101","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":61378,"src":"3754:17:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":57197,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3775:3:101","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3779:6:101","memberName":"sender","nodeType":"MemberAccess","src":"3775:10:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3754:31:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"id":57207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":57200,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57162,"src":"3789:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57201,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3791:12:101","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":61215,"src":"3789:14:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$61431_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalType)"}},"id":57203,"indexExpression":{"id":57202,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57155,"src":"3804:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3789:26:101","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":57204,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"3819:13:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":57205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:12:101","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"3819:26:101","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":57206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3846:5:101","memberName":"Grant","nodeType":"MemberAccess","referencedDeclaration":61430,"src":"3819:32:101","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"src":"3789:62:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3754:97:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57214,"nodeType":"IfStatement","src":"3750:165:101","trueBody":{"id":57213,"nodeType":"Block","src":"3853:62:101","statements":[{"errorCall":{"arguments":[{"id":57210,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57155,"src":"3897:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57209,"name":"GranteeCannotDepositOwnGrant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57150,"src":"3868:28:101","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":57211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3868:40:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57212,"nodeType":"RevertStatement","src":"3861:47:101"}]}},{"expression":{"arguments":[{"id":57218,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57155,"src":"3967:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":57221,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"4022:13:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":57222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4036:13:101","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"4022:27:101","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":57223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4050:7:101","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":61396,"src":"4022:35:101","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":57219,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"3985:18:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":57220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4004:17:101","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"3985:36:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":57224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3985:73:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57215,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"3921:18:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":57217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3940:19:101","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"3921:38:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":57225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3921:143:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":57226,"nodeType":"ExpressionStatement","src":"3921:143:101"},{"expression":{"id":57231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57227,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57179,"src":"4071:8:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":57229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4080:13:101","memberName":"depositAmount","nodeType":"MemberAccess","referencedDeclaration":61392,"src":"4071:22:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":57230,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57153,"src":"4097:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4071:32:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57232,"nodeType":"ExpressionStatement","src":"4071:32:101"},{"expression":{"arguments":[{"id":57234,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57153,"src":"4123:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":57235,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4131:3:101","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4135:6:101","memberName":"sender","nodeType":"MemberAccess","src":"4131:10:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57237,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57155,"src":"4143:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57233,"name":"depositFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57435,"src":"4110:12:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":57238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4110:44:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57239,"nodeType":"ExpressionStatement","src":"4110:44:101"}]},"documentation":{"id":57151,"nodeType":"StructuredDocumentation","src":"2889:440:101","text":" @notice Deposits tokens for a proposal.\n @dev Proposer and proposal sponsors can contribute towards a proposal's deposit using this function. The proposal must be in the Pending state to make a deposit. The amount deposited from an address is tracked and can be withdrawn by the same address when the voting round is over.\n @param amount The amount of tokens to deposit.\n @param proposalId The ID of the proposal."},"functionSelector":"e2bbb158","id":57241,"implemented":true,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"3341:7:101","nodeType":"FunctionDefinition","parameters":{"id":57156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57153,"mutability":"mutable","name":"amount","nameLocation":"3357:6:101","nodeType":"VariableDeclaration","scope":57241,"src":"3349:14:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57152,"name":"uint256","nodeType":"ElementaryTypeName","src":"3349:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57155,"mutability":"mutable","name":"proposalId","nameLocation":"3373:10:101","nodeType":"VariableDeclaration","scope":57241,"src":"3365:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57154,"name":"uint256","nodeType":"ElementaryTypeName","src":"3365:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3348:36:101"},"returnParameters":{"id":57157,"nodeType":"ParameterList","parameters":[],"src":"3394:0:101"},"scope":57642,"src":"3332:827:101","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":57351,"nodeType":"Block","src":"4741:899:101","statements":[{"assignments":[57253],"declarations":[{"constant":false,"id":57253,"mutability":"mutable","name":"$","nameLocation":"4792:1:101","nodeType":"VariableDeclaration","scope":57351,"src":"4747:46:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57252,"nodeType":"UserDefinedTypeName","pathNode":{"id":57251,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["4747:20:101","4768:15:101"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"4747:36:101"},"referencedDeclaration":61305,"src":"4747:36:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57257,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57254,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"4796:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4817:18:101","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"4796:39:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4796:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4747:90:101"},{"assignments":[57259],"declarations":[{"constant":false,"id":57259,"mutability":"mutable","name":"amount","nameLocation":"4851:6:101","nodeType":"VariableDeclaration","scope":57351,"src":"4843:14:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57258,"name":"uint256","nodeType":"ElementaryTypeName","src":"4843:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57266,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":57260,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57253,"src":"4860:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4862:8:101","memberName":"deposits","nodeType":"MemberAccess","referencedDeclaration":61187,"src":"4860:10:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":57263,"indexExpression":{"id":57262,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57244,"src":"4871:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4860:22:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":57265,"indexExpression":{"id":57264,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57246,"src":"4883:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4860:33:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4843:50:101"},{"expression":{"arguments":[{"id":57270,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57244,"src":"4946:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":57279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57271,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"4964:18:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":57272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4983:26:101","memberName":"ALL_PROPOSAL_STATES_BITMAP","nodeType":"MemberAccess","referencedDeclaration":60798,"src":"4964:45:101","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":57275,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5057:13:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":57276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5071:13:101","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"5057:27:101","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":57277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5085:7:101","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":61396,"src":"5057:35:101","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":57273,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"5020:18:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":57274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5039:17:101","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"5020:36:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":57278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5020:73:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4964:129:101","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57267,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"4900:18:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":57269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4919:19:101","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"4900:38:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":57280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4900:199:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":57281,"nodeType":"ExpressionStatement","src":"4900:199:101"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57282,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57259,"src":"5110:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5120:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5110:11:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57291,"nodeType":"IfStatement","src":"5106:89:101","trueBody":{"id":57290,"nodeType":"Block","src":"5123:72:101","statements":[{"errorCall":{"arguments":[{"id":57286,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57244,"src":"5166:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57287,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57246,"src":"5178:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57285,"name":"GovernorNoDepositToWithdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57137,"src":"5138:27:101","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) pure"}},"id":57288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:50:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57289,"nodeType":"RevertStatement","src":"5131:57:101"}]}},{"expression":{"id":57300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":57292,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57253,"src":"5201:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5203:8:101","memberName":"deposits","nodeType":"MemberAccess","referencedDeclaration":61187,"src":"5201:10:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":57297,"indexExpression":{"id":57294,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57244,"src":"5212:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5201:22:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":57298,"indexExpression":{"id":57295,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57246,"src":"5224:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5201:33:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":57299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5237:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5201:37:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57301,"nodeType":"ExpressionStatement","src":"5201:37:101"},{"assignments":[57303],"declarations":[{"constant":false,"id":57303,"mutability":"mutable","name":"currentVotes","nameLocation":"5253:12:101","nodeType":"VariableDeclaration","scope":57351,"src":"5245:20:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":57302,"name":"uint208","nodeType":"ElementaryTypeName","src":"5245:7:101","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":57313,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57309,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"5319:18:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":57310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5338:5:101","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"5319:24:101","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":57311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5319:26:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":57304,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57253,"src":"5268:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57305,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5270:19:101","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":61252,"src":"5268:21:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":57307,"indexExpression":{"id":57306,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57246,"src":"5290:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5268:32:101","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":57308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5301:17:101","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"5268:50:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":57312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5268:78:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"5245:101:101"},{"assignments":[57315],"declarations":[{"constant":false,"id":57315,"mutability":"mutable","name":"newVotes","nameLocation":"5360:8:101","nodeType":"VariableDeclaration","scope":57351,"src":"5352:16:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":57314,"name":"uint208","nodeType":"ElementaryTypeName","src":"5352:7:101","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":57322,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57318,"name":"currentVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57303,"src":"5390:12:101","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":57319,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57259,"src":"5405:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5390:21:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57316,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"5371:8:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":57317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5380:9:101","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"5371:18:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":57321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5371:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"5352:60:101"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57329,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"5456:18:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":57330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5475:5:101","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"5456:24:101","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":57331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5456:26:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":57332,"name":"newVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57315,"src":"5484:8:101","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":57323,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57253,"src":"5418:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5420:19:101","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":61252,"src":"5418:21:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":57327,"indexExpression":{"id":57325,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57246,"src":"5440:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5418:32:101","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":57328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5451:4:101","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"5418:37:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":57333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5418:75:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":57334,"nodeType":"ExpressionStatement","src":"5418:75:101"},{"expression":{"arguments":[{"arguments":[{"id":57339,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57246,"src":"5524:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57340,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57259,"src":"5535:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":57336,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57253,"src":"5508:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5510:4:101","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":61181,"src":"5508:6:101","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":57338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5515:8:101","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":67664,"src":"5508:15:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5508:34:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f723a207472616e73666572206661696c6564","id":57342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5544:31:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137","typeString":"literal_string \"B3TRGovernor: transfer failed\""},"value":"B3TRGovernor: transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137","typeString":"literal_string \"B3TRGovernor: transfer failed\""}],"id":57335,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5500:7:101","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5500:76:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57344,"nodeType":"ExpressionStatement","src":"5500:76:101"},{"eventCall":{"arguments":[{"id":57346,"name":"depositer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57246,"src":"5605:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57347,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57244,"src":"5616:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57348,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57259,"src":"5628:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57345,"name":"ProposalWithdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57130,"src":"5588:16:101","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":57349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5588:47:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57350,"nodeType":"EmitStatement","src":"5583:52:101"}]},"documentation":{"id":57242,"nodeType":"StructuredDocumentation","src":"4163:509:101","text":" @notice Withdraws tokens previously deposited to a proposal.\n @dev A depositor can only withdraw their tokens once the proposal is no longer Pending or Active. Each address can only withdraw once per proposal. Reverts if no deposits are available to withdraw or if the deposits have already been withdrawn by the message sender. Reverts if the token transfer fails.\n @param proposalId The ID of the proposal to withdraw deposits from.\n @param depositer The address of the depositor."},"functionSelector":"00f714ce","id":57352,"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"4684:8:101","nodeType":"FunctionDefinition","parameters":{"id":57247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57244,"mutability":"mutable","name":"proposalId","nameLocation":"4701:10:101","nodeType":"VariableDeclaration","scope":57352,"src":"4693:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57243,"name":"uint256","nodeType":"ElementaryTypeName","src":"4693:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57246,"mutability":"mutable","name":"depositer","nameLocation":"4721:9:101","nodeType":"VariableDeclaration","scope":57352,"src":"4713:17:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57245,"name":"address","nodeType":"ElementaryTypeName","src":"4713:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4692:39:101"},"returnParameters":{"id":57248,"nodeType":"ParameterList","parameters":[],"src":"4741:0:101"},"scope":57642,"src":"4675:965:101","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":57434,"nodeType":"Block","src":"6065:565:101","statements":[{"assignments":[57366],"declarations":[{"constant":false,"id":57366,"mutability":"mutable","name":"$","nameLocation":"6116:1:101","nodeType":"VariableDeclaration","scope":57434,"src":"6071:46:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57365,"nodeType":"UserDefinedTypeName","pathNode":{"id":57364,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["6071:20:101","6092:15:101"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"6071:36:101"},"referencedDeclaration":61305,"src":"6071:36:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57370,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57367,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"6120:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6141:18:101","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"6120:39:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6120:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6071:90:101"},{"expression":{"arguments":[{"arguments":[{"id":57375,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57357,"src":"6195:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57378,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6214:4:101","typeDescriptions":{"typeIdentifier":"t_contract$_GovernorDepositLogic_$57642","typeString":"library GovernorDepositLogic"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GovernorDepositLogic_$57642","typeString":"library GovernorDepositLogic"}],"id":57377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6206:7:101","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57376,"name":"address","nodeType":"ElementaryTypeName","src":"6206:7:101","typeDescriptions":{}}},"id":57379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6206:13:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57380,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57355,"src":"6221:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":57372,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57366,"src":"6175:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6177:4:101","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":61181,"src":"6175:6:101","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":57374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6182:12:101","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":67675,"src":"6175:19:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":57381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6175:53:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42335452476f7665726e6f723a207472616e73666572206661696c6564","id":57382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6230:31:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137","typeString":"literal_string \"B3TRGovernor: transfer failed\""},"value":"B3TRGovernor: transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137","typeString":"literal_string \"B3TRGovernor: transfer failed\""}],"id":57371,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6167:7:101","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6167:95:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57384,"nodeType":"ExpressionStatement","src":"6167:95:101"},{"expression":{"id":57393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":57385,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57366,"src":"6269:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6271:8:101","memberName":"deposits","nodeType":"MemberAccess","referencedDeclaration":61187,"src":"6269:10:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":57390,"indexExpression":{"id":57387,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57359,"src":"6280:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6269:22:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":57391,"indexExpression":{"id":57388,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57357,"src":"6292:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6269:33:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":57392,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57355,"src":"6306:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6269:43:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57394,"nodeType":"ExpressionStatement","src":"6269:43:101"},{"assignments":[57396],"declarations":[{"constant":false,"id":57396,"mutability":"mutable","name":"currentVotes","nameLocation":"6327:12:101","nodeType":"VariableDeclaration","scope":57434,"src":"6319:20:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":57395,"name":"uint208","nodeType":"ElementaryTypeName","src":"6319:7:101","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":57406,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57402,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"6393:18:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":57403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6412:5:101","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"6393:24:101","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":57404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6393:26:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":57397,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57366,"src":"6342:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6344:19:101","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":61252,"src":"6342:21:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":57400,"indexExpression":{"id":57399,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57357,"src":"6364:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6342:32:101","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":57401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6375:17:101","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"6342:50:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":57405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6342:78:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"6319:101:101"},{"assignments":[57408],"declarations":[{"constant":false,"id":57408,"mutability":"mutable","name":"newVotes","nameLocation":"6434:8:101","nodeType":"VariableDeclaration","scope":57434,"src":"6426:16:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":57407,"name":"uint208","nodeType":"ElementaryTypeName","src":"6426:7:101","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":57415,"initialValue":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":57414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57409,"name":"currentVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57396,"src":"6445:12:101","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":57412,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57355,"src":"6479:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57410,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"6460:8:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":57411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6469:9:101","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"6460:18:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":57413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6460:26:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"6445:41:101","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"6426:60:101"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57422,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"6530:18:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":57423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6549:5:101","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"6530:24:101","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":57424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6530:26:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":57425,"name":"newVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57408,"src":"6558:8:101","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":57416,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57366,"src":"6492:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6494:19:101","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":61252,"src":"6492:21:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":57420,"indexExpression":{"id":57418,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57357,"src":"6514:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6492:32:101","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":57421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6525:4:101","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"6492:37:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":57426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6492:75:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":57427,"nodeType":"ExpressionStatement","src":"6492:75:101"},{"eventCall":{"arguments":[{"id":57429,"name":"depositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57357,"src":"6595:9:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57430,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57359,"src":"6606:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57431,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57355,"src":"6618:6:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57428,"name":"ProposalDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57121,"src":"6579:15:101","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":57432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6579:46:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57433,"nodeType":"EmitStatement","src":"6574:51:101"}]},"documentation":{"id":57353,"nodeType":"StructuredDocumentation","src":"5644:316:101","text":" @notice Internal function to deposit tokens to a proposal and store the deposit in the deposits checkpoint.\n @dev Emits a {ProposalDeposit} event.\n @param amount The amount of tokens to deposit.\n @param depositor The address of the depositor.\n @param proposalId The ID of the proposal."},"id":57435,"implemented":true,"kind":"function","modifiers":[],"name":"depositFunds","nameLocation":"5972:12:101","nodeType":"FunctionDefinition","parameters":{"id":57360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57355,"mutability":"mutable","name":"amount","nameLocation":"5998:6:101","nodeType":"VariableDeclaration","scope":57435,"src":"5990:14:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57354,"name":"uint256","nodeType":"ElementaryTypeName","src":"5990:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57357,"mutability":"mutable","name":"depositor","nameLocation":"6018:9:101","nodeType":"VariableDeclaration","scope":57435,"src":"6010:17:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57356,"name":"address","nodeType":"ElementaryTypeName","src":"6010:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57359,"mutability":"mutable","name":"proposalId","nameLocation":"6041:10:101","nodeType":"VariableDeclaration","scope":57435,"src":"6033:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57358,"name":"uint256","nodeType":"ElementaryTypeName","src":"6033:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5984:71:101"},"returnParameters":{"id":57361,"nodeType":"ParameterList","parameters":[],"src":"6065:0:101"},"scope":57642,"src":"5963:667:101","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":57461,"nodeType":"Block","src":"7025:142:101","statements":[{"assignments":[57449],"declarations":[{"constant":false,"id":57449,"mutability":"mutable","name":"$","nameLocation":"7076:1:101","nodeType":"VariableDeclaration","scope":57461,"src":"7031:46:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57448,"nodeType":"UserDefinedTypeName","pathNode":{"id":57447,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["7031:20:101","7052:15:101"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"7031:36:101"},"referencedDeclaration":61305,"src":"7031:36:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57453,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57450,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"7080:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7101:18:101","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"7080:39:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7080:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7031:90:101"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":57454,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57449,"src":"7134:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7136:8:101","memberName":"deposits","nodeType":"MemberAccess","referencedDeclaration":61187,"src":"7134:10:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"}},"id":57457,"indexExpression":{"id":57456,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57438,"src":"7145:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7134:22:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":57459,"indexExpression":{"id":57458,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57440,"src":"7157:4:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7134:28:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":57444,"id":57460,"nodeType":"Return","src":"7127:35:101"}]},"documentation":{"id":57436,"nodeType":"StructuredDocumentation","src":"6679:241:101","text":" @notice Returns the amount of tokens deposited by a user for a proposal.\n @param proposalId The ID of the proposal.\n @param user The address of the user.\n @return uint256 The amount of tokens deposited by the user."},"id":57462,"implemented":true,"kind":"function","modifiers":[],"name":"getUserDeposit","nameLocation":"6932:14:101","nodeType":"FunctionDefinition","parameters":{"id":57441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57438,"mutability":"mutable","name":"proposalId","nameLocation":"6960:10:101","nodeType":"VariableDeclaration","scope":57462,"src":"6952:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57437,"name":"uint256","nodeType":"ElementaryTypeName","src":"6952:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57440,"mutability":"mutable","name":"user","nameLocation":"6984:4:101","nodeType":"VariableDeclaration","scope":57462,"src":"6976:12:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57439,"name":"address","nodeType":"ElementaryTypeName","src":"6976:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6946:46:101"},"returnParameters":{"id":57444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57462,"src":"7016:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57442,"name":"uint256","nodeType":"ElementaryTypeName","src":"7016:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7015:9:101"},"scope":57642,"src":"6923:244:101","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57485,"nodeType":"Block","src":"7444:154:101","statements":[{"assignments":[57474],"declarations":[{"constant":false,"id":57474,"mutability":"mutable","name":"$","nameLocation":"7495:1:101","nodeType":"VariableDeclaration","scope":57485,"src":"7450:46:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57473,"nodeType":"UserDefinedTypeName","pathNode":{"id":57472,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["7450:20:101","7471:15:101"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"7450:36:101"},"referencedDeclaration":61305,"src":"7450:36:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57478,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57475,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"7499:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7520:18:101","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"7499:39:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7499:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7450:90:101"},{"expression":{"expression":{"baseExpression":{"expression":{"id":57479,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57474,"src":"7553:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7555:9:101","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"7553:11:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":57482,"indexExpression":{"id":57481,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57465,"src":"7565:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7553:23:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":57483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7577:16:101","memberName":"depositThreshold","nodeType":"MemberAccess","referencedDeclaration":61394,"src":"7553:40:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":57469,"id":57484,"nodeType":"Return","src":"7546:47:101"}]},"documentation":{"id":57463,"nodeType":"StructuredDocumentation","src":"7171:176:101","text":" @notice Returns the deposit threshold for a proposal.\n @param proposalId The ID of the proposal.\n @return uint256 The deposit threshold for the proposal."},"id":57486,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDepositThreshold","nameLocation":"7359:24:101","nodeType":"FunctionDefinition","parameters":{"id":57466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57465,"mutability":"mutable","name":"proposalId","nameLocation":"7397:10:101","nodeType":"VariableDeclaration","scope":57486,"src":"7389:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57464,"name":"uint256","nodeType":"ElementaryTypeName","src":"7389:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7383:28:101"},"returnParameters":{"id":57469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57486,"src":"7435:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57467,"name":"uint256","nodeType":"ElementaryTypeName","src":"7435:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7434:9:101"},"scope":57642,"src":"7350:248:101","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57509,"nodeType":"Block","src":"7892:151:101","statements":[{"assignments":[57498],"declarations":[{"constant":false,"id":57498,"mutability":"mutable","name":"$","nameLocation":"7943:1:101","nodeType":"VariableDeclaration","scope":57509,"src":"7898:46:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57497,"nodeType":"UserDefinedTypeName","pathNode":{"id":57496,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["7898:20:101","7919:15:101"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"7898:36:101"},"referencedDeclaration":61305,"src":"7898:36:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57502,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57499,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"7947:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7968:18:101","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"7947:39:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7898:90:101"},{"expression":{"expression":{"baseExpression":{"expression":{"id":57503,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57498,"src":"8001:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8003:9:101","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"8001:11:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":57506,"indexExpression":{"id":57505,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57489,"src":"8013:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8001:23:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":57507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8025:13:101","memberName":"depositAmount","nodeType":"MemberAccess","referencedDeclaration":61392,"src":"8001:37:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":57493,"id":57508,"nodeType":"Return","src":"7994:44:101"}]},"documentation":{"id":57487,"nodeType":"StructuredDocumentation","src":"7602:198:101","text":" @notice Returns the total amount of deposits made to a proposal.\n @param proposalId The ID of the proposal.\n @return uint256 The total amount of deposits made to the proposal."},"id":57510,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalDeposits","nameLocation":"7812:19:101","nodeType":"FunctionDefinition","parameters":{"id":57490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57489,"mutability":"mutable","name":"proposalId","nameLocation":"7845:10:101","nodeType":"VariableDeclaration","scope":57510,"src":"7837:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57488,"name":"uint256","nodeType":"ElementaryTypeName","src":"7837:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7831:28:101"},"returnParameters":{"id":57493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57492,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57510,"src":"7883:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57491,"name":"uint256","nodeType":"ElementaryTypeName","src":"7883:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7882:9:101"},"scope":57642,"src":"7803:240:101","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57543,"nodeType":"Block","src":"8375:240:101","statements":[{"assignments":[57522],"declarations":[{"constant":false,"id":57522,"mutability":"mutable","name":"$","nameLocation":"8426:1:101","nodeType":"VariableDeclaration","scope":57543,"src":"8381:46:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57521,"nodeType":"UserDefinedTypeName","pathNode":{"id":57520,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["8381:20:101","8402:15:101"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"8381:36:101"},"referencedDeclaration":61305,"src":"8381:36:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57526,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57523,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"8430:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8451:18:101","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"8430:39:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8430:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8381:90:101"},{"assignments":[57531],"declarations":[{"constant":false,"id":57531,"mutability":"mutable","name":"proposal","nameLocation":"8512:8:101","nodeType":"VariableDeclaration","scope":57543,"src":"8477:43:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"},"typeName":{"id":57530,"nodeType":"UserDefinedTypeName","pathNode":{"id":57529,"name":"GovernorTypes.ProposalCore","nameLocations":["8477:13:101","8491:12:101"],"nodeType":"IdentifierPath","referencedDeclaration":61395,"src":"8477:26:101"},"referencedDeclaration":61395,"src":"8477:26:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"}},"visibility":"internal"}],"id":57536,"initialValue":{"baseExpression":{"expression":{"id":57532,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57522,"src":"8523:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8525:9:101","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"8523:11:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":57535,"indexExpression":{"id":57534,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57513,"src":"8535:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8523:23:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8477:69:101"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57537,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57531,"src":"8559:8:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":57538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8568:13:101","memberName":"depositAmount","nodeType":"MemberAccess","referencedDeclaration":61392,"src":"8559:22:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":57539,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57531,"src":"8585:8:101","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":57540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8594:16:101","memberName":"depositThreshold","nodeType":"MemberAccess","referencedDeclaration":61394,"src":"8585:25:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8559:51:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":57517,"id":57542,"nodeType":"Return","src":"8552:58:101"}]},"documentation":{"id":57511,"nodeType":"StructuredDocumentation","src":"8047:236:101","text":" @notice Returns true if the threshold of deposits required to reach a proposal has been reached.\n @param proposalId The ID of the proposal.\n @return True if the deposit threshold has been reached, false otherwise."},"id":57544,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDepositReached","nameLocation":"8295:22:101","nodeType":"FunctionDefinition","parameters":{"id":57514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57513,"mutability":"mutable","name":"proposalId","nameLocation":"8331:10:101","nodeType":"VariableDeclaration","scope":57544,"src":"8323:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57512,"name":"uint256","nodeType":"ElementaryTypeName","src":"8323:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8317:28:101"},"returnParameters":{"id":57517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57544,"src":"8369:4:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57515,"name":"bool","nodeType":"ElementaryTypeName","src":"8369:4:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8368:6:101"},"scope":57642,"src":"8286:329:101","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57593,"nodeType":"Block","src":"9119:452:101","statements":[{"assignments":[57557],"declarations":[{"constant":false,"id":57557,"mutability":"mutable","name":"$","nameLocation":"9170:1:101","nodeType":"VariableDeclaration","scope":57593,"src":"9125:46:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57556,"nodeType":"UserDefinedTypeName","pathNode":{"id":57555,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["9125:20:101","9146:15:101"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"9125:36:101"},"referencedDeclaration":61305,"src":"9125:36:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57561,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57558,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"9174:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9195:18:101","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"9174:39:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9174:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9125:90:101"},{"assignments":[57563],"declarations":[{"constant":false,"id":57563,"mutability":"mutable","name":"percentageBasedThreshold","nameLocation":"9229:24:101","nodeType":"VariableDeclaration","scope":57593,"src":"9221:32:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57562,"name":"uint256","nodeType":"ElementaryTypeName","src":"9221:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57576,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":57566,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57548,"src":"9308:12:101","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":57564,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"9257:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":57565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9278:29:101","memberName":"getDepositThresholdPercentage","nodeType":"MemberAccess","referencedDeclaration":56891,"src":"9257:50:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (enum GovernorTypes.ProposalType) view returns (uint256)"}},"id":57567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9257:64:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":57568,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57557,"src":"9330:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9332:4:101","memberName":"b3tr","nodeType":"MemberAccess","referencedDeclaration":61178,"src":"9330:6:101","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"id":57570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9337:11:101","memberName":"totalSupply","nodeType":"MemberAccess","referencedDeclaration":62864,"src":"9330:18:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":57571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9330:20:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9257:93:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":57573,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9256:95:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":57574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9354:3:101","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9256:101:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9221:136:101"},{"assignments":[57578],"declarations":[{"constant":false,"id":57578,"mutability":"mutable","name":"maxThreshold","nameLocation":"9371:12:101","nodeType":"VariableDeclaration","scope":57593,"src":"9363:20:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57577,"name":"uint256","nodeType":"ElementaryTypeName","src":"9363:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57583,"initialValue":{"arguments":[{"id":57581,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57548,"src":"9430:12:101","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":57579,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"9386:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":57580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9407:22:101","memberName":"getDepositThresholdCap","nodeType":"MemberAccess","referencedDeclaration":56943,"src":"9386:43:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (enum GovernorTypes.ProposalType) view returns (uint256)"}},"id":57582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:57:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9363:80:101"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57584,"name":"percentageBasedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57563,"src":"9454:24:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":57585,"name":"maxThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57578,"src":"9481:12:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9454:39:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57590,"nodeType":"IfStatement","src":"9450:79:101","trueBody":{"id":57589,"nodeType":"Block","src":"9495:34:101","statements":[{"expression":{"id":57587,"name":"maxThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57578,"src":"9510:12:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":57552,"id":57588,"nodeType":"Return","src":"9503:19:101"}]}},{"expression":{"id":57591,"name":"percentageBasedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57563,"src":"9542:24:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":57552,"id":57592,"nodeType":"Return","src":"9535:31:101"}]},"documentation":{"id":57545,"nodeType":"StructuredDocumentation","src":"8619:375:101","text":" @notice Internal function to calculate the deposit threshold for a proposal type as a percentage of the total supply of B3TR tokens.\n @dev In case the percentage based threshold is greater than the max threshold, the max threshold is returned.\n @param proposalType The type of proposal.\n @return uint256 The deposit threshold for the proposal type."},"id":57594,"implemented":true,"kind":"function","modifiers":[],"name":"_depositThresholdByProposalType","nameLocation":"9006:31:101","nodeType":"FunctionDefinition","parameters":{"id":57549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57548,"mutability":"mutable","name":"proposalType","nameLocation":"9070:12:101","nodeType":"VariableDeclaration","scope":57594,"src":"9043:39:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":57547,"nodeType":"UserDefinedTypeName","pathNode":{"id":57546,"name":"GovernorTypes.ProposalType","nameLocations":["9043:13:101","9057:12:101"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"9043:26:101"},"referencedDeclaration":61431,"src":"9043:26:101","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"9037:49:101"},"returnParameters":{"id":57552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57594,"src":"9110:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57550,"name":"uint256","nodeType":"ElementaryTypeName","src":"9110:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9109:9:101"},"scope":57642,"src":"8997:574:101","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57609,"nodeType":"Block","src":"9894:96:101","statements":[{"expression":{"arguments":[{"arguments":[{"id":57605,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57597,"src":"9966:17:101","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":57603,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"9939:13:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":57604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9953:12:101","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"9939:26:101","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":57606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9939:45:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":57602,"name":"_depositThresholdByProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57594,"src":"9907:31:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (enum GovernorTypes.ProposalType) view returns (uint256)"}},"id":57607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9907:78:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":57601,"id":57608,"nodeType":"Return","src":"9900:85:101"}]},"documentation":{"id":57595,"nodeType":"StructuredDocumentation","src":"9574:212:101","text":" @notice Returns the deposit threshold for a proposal type.\n @param proposalTypeValue The type of proposal (uint8-encoded enum).\n @return uint256 The deposit threshold for the proposal type."},"functionSelector":"6b6a0704","id":57610,"implemented":true,"kind":"function","modifiers":[],"name":"depositThresholdByProposalType","nameLocation":"9798:30:101","nodeType":"FunctionDefinition","parameters":{"id":57598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57597,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"9840:17:101","nodeType":"VariableDeclaration","scope":57610,"src":"9834:23:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57596,"name":"uint8","nodeType":"ElementaryTypeName","src":"9834:5:101","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9828:33:101"},"returnParameters":{"id":57601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57600,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57610,"src":"9885:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57599,"name":"uint256","nodeType":"ElementaryTypeName","src":"9885:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9884:9:101"},"scope":57642,"src":"9789:201:101","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":57640,"nodeType":"Block","src":"10327:192:101","statements":[{"assignments":[57624],"declarations":[{"constant":false,"id":57624,"mutability":"mutable","name":"$","nameLocation":"10378:1:101","nodeType":"VariableDeclaration","scope":57640,"src":"10333:46:101","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57623,"nodeType":"UserDefinedTypeName","pathNode":{"id":57622,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["10333:20:101","10354:15:101"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"10333:36:101"},"referencedDeclaration":61305,"src":"10333:36:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57628,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57625,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"10382:20:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10403:18:101","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"10382:39:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10382:41:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10333:90:101"},{"expression":{"arguments":[{"arguments":[{"id":57636,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57615,"src":"10503:9:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57634,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"10485:8:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":57635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10494:8:101","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"10485:17:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":57637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10485:28:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":57629,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57624,"src":"10436:1:101","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10438:19:101","memberName":"depositsVotingPower","nodeType":"MemberAccess","referencedDeclaration":61252,"src":"10436:21:101","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":57632,"indexExpression":{"id":57631,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57613,"src":"10458:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10436:30:101","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":57633,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10467:17:101","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"10436:48:101","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":57638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10436:78:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":57619,"id":57639,"nodeType":"Return","src":"10429:85:101"}]},"documentation":{"id":57611,"nodeType":"StructuredDocumentation","src":"9994:221:101","text":" @notice Returns the deposit voting power for a given account at a given timepoint.\n @param account The address of the account.\n @param timepoint The timepoint.\n @return The deposit voting power."},"functionSelector":"a56b5765","id":57641,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"10227:21:101","nodeType":"FunctionDefinition","parameters":{"id":57616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57613,"mutability":"mutable","name":"account","nameLocation":"10262:7:101","nodeType":"VariableDeclaration","scope":57641,"src":"10254:15:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57612,"name":"address","nodeType":"ElementaryTypeName","src":"10254:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57615,"mutability":"mutable","name":"timepoint","nameLocation":"10283:9:101","nodeType":"VariableDeclaration","scope":57641,"src":"10275:17:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57614,"name":"uint256","nodeType":"ElementaryTypeName","src":"10275:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10248:48:101"},"returnParameters":{"id":57619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57618,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57641,"src":"10318:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57617,"name":"uint256","nodeType":"ElementaryTypeName","src":"10318:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10317:9:101"},"scope":57642,"src":"10218:301:101","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":57643,"src":"1950:8571:101","usedErrors":[7025,8883,57137,57140,57145,57150,60803,60813],"usedEvents":[57121,57130]}],"src":"1195:9327:101"},"id":101},"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol","exportedSymbols":{"GovernorFunctionRestrictionsLogic":[57873],"GovernorStorageTypes":[61306]},"id":57874,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57644,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:102"},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":57646,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57874,"sourceUnit":61307,"src":"1220:66:102","symbolAliases":[{"foreign":{"id":57645,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1229:20:102","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorFunctionRestrictionsLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":57647,"nodeType":"StructuredDocumentation","src":"1288:239:102","text":"@title GovernorFunctionRestrictionsLogic\n @notice Library for managing function restrictions within the Governor contract.\n @dev This library provides functions to whitelist or restrict functions that can be called by proposals."},"fullyImplemented":true,"id":57873,"linearizedBaseContracts":[57873],"name":"GovernorFunctionRestrictionsLogic","nameLocation":"1535:33:102","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":57648,"nodeType":"StructuredDocumentation","src":"1573:148:102","text":"@notice Error message for when a function is restricted by the governor.\n @param functionSelector The function selector that is restricted."},"errorSelector":"a50203dc","id":57652,"name":"GovernorRestrictedFunction","nameLocation":"1730:26:102","nodeType":"ErrorDefinition","parameters":{"id":57651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57650,"mutability":"mutable","name":"functionSelector","nameLocation":"1764:16:102","nodeType":"VariableDeclaration","scope":57652,"src":"1757:23:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":57649,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1757:6:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1756:25:102"},"src":"1724:58:102"},{"documentation":{"id":57653,"nodeType":"StructuredDocumentation","src":"1786:127:102","text":"@notice Error message for when a function selector is invalid.\n @param selector The function selector that is invalid."},"errorSelector":"1a800fb0","id":57657,"name":"GovernorFunctionInvalidSelector","nameLocation":"1922:31:102","nodeType":"ErrorDefinition","parameters":{"id":57656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57655,"mutability":"mutable","name":"selector","nameLocation":"1960:8:102","nodeType":"VariableDeclaration","scope":57657,"src":"1954:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57654,"name":"bytes","nodeType":"ElementaryTypeName","src":"1954:5:102","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1953:16:102"},"src":"1916:54:102"},{"anonymous":false,"documentation":{"id":57658,"nodeType":"StructuredDocumentation","src":"1974:247:102","text":"@notice Emitted when a function is whitelisted by the governor.\n @param target The address of the contract.\n @param functionSelector The function selector.\n @param isWhitelisted Boolean indicating if the function is whitelisted."},"eventSelector":"5da7b78f7dccc6b378e3f55a7e57f9363d3c15686c0d82f85e45130393c9c970","id":57666,"name":"FunctionWhitelisted","nameLocation":"2230:19:102","nodeType":"EventDefinition","parameters":{"id":57665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57660,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"2266:6:102","nodeType":"VariableDeclaration","scope":57666,"src":"2250:22:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57659,"name":"address","nodeType":"ElementaryTypeName","src":"2250:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57662,"indexed":true,"mutability":"mutable","name":"functionSelector","nameLocation":"2289:16:102","nodeType":"VariableDeclaration","scope":57666,"src":"2274:31:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":57661,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2274:6:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":57664,"indexed":false,"mutability":"mutable","name":"isWhitelisted","nameLocation":"2312:13:102","nodeType":"VariableDeclaration","scope":57666,"src":"2307:18:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57663,"name":"bool","nodeType":"ElementaryTypeName","src":"2307:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2249:77:102"},"src":"2224:103:102"},{"body":{"id":57711,"nodeType":"Block","src":"2875:342:102","statements":[{"assignments":[57680],"declarations":[{"constant":false,"id":57680,"mutability":"mutable","name":"$","nameLocation":"2926:1:102","nodeType":"VariableDeclaration","scope":57711,"src":"2881:46:102","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57679,"nodeType":"UserDefinedTypeName","pathNode":{"id":57678,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["2881:20:102","2902:15:102"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"2881:36:102"},"referencedDeclaration":61305,"src":"2881:36:102","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57684,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57681,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"2930:20:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2951:18:102","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"2930:39:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2930:41:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2881:90:102"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57686,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57669,"src":"2985:6:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":57689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3003: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":57688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2995:7:102","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57687,"name":"address","nodeType":"ElementaryTypeName","src":"2995:7:102","typeDescriptions":{}}},"id":57690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2995:10:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2985:20:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f7246756e6374696f6e5265737472696374696f6e734c6f6769633a2074617267657420697320746865207a65726f2061646472657373","id":57692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3007:63:102","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d4ecba034ab217241c4d6a4abfc0b43e49d18148083ee0a6d0b65304188fb4c","typeString":"literal_string \"GovernorFunctionRestrictionsLogic: target is the zero address\""},"value":"GovernorFunctionRestrictionsLogic: target is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8d4ecba034ab217241c4d6a4abfc0b43e49d18148083ee0a6d0b65304188fb4c","typeString":"literal_string \"GovernorFunctionRestrictionsLogic: target is the zero address\""}],"id":57685,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2977:7:102","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2977:94:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57694,"nodeType":"ExpressionStatement","src":"2977:94:102"},{"expression":{"id":57703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":57695,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57680,"src":"3077:1:102","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57699,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3079:20:102","memberName":"whitelistedFunctions","nodeType":"MemberAccess","referencedDeclaration":61167,"src":"3077:22:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"}},"id":57700,"indexExpression":{"id":57697,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57669,"src":"3100:6:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3077:30:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":57701,"indexExpression":{"id":57698,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57671,"src":"3108:16:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3077:48:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57702,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57673,"src":"3128:13:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3077:64:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57704,"nodeType":"ExpressionStatement","src":"3077:64:102"},{"eventCall":{"arguments":[{"id":57706,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57669,"src":"3172:6:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57707,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57671,"src":"3180:16:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57708,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57673,"src":"3198:13:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":57705,"name":"FunctionWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57666,"src":"3152:19:102","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bool_$returns$__$","typeString":"function (address,bytes4,bool)"}},"id":57709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3152:60:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57710,"nodeType":"EmitStatement","src":"3147:65:102"}]},"documentation":{"id":57667,"nodeType":"StructuredDocumentation","src":"2376:382:102","text":" @notice Set the whitelist status of a function for proposals.\n @dev This method allows restricting functions that can be called by proposals for a single function selector.\n @param target The address of the contract.\n @param functionSelector The function selector.\n @param isWhitelisted Boolean indicating if the function is whitelisted for proposals."},"functionSelector":"be9bd92b","id":57712,"implemented":true,"kind":"function","modifiers":[],"name":"setWhitelistFunction","nameLocation":"2770:20:102","nodeType":"FunctionDefinition","parameters":{"id":57674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57669,"mutability":"mutable","name":"target","nameLocation":"2804:6:102","nodeType":"VariableDeclaration","scope":57712,"src":"2796:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57668,"name":"address","nodeType":"ElementaryTypeName","src":"2796:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57671,"mutability":"mutable","name":"functionSelector","nameLocation":"2823:16:102","nodeType":"VariableDeclaration","scope":57712,"src":"2816:23:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":57670,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2816:6:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":57673,"mutability":"mutable","name":"isWhitelisted","nameLocation":"2850:13:102","nodeType":"VariableDeclaration","scope":57712,"src":"2845:18:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57672,"name":"bool","nodeType":"ElementaryTypeName","src":"2845:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2790:77:102"},"returnParameters":{"id":57675,"nodeType":"ParameterList","parameters":[],"src":"2875:0:102"},"scope":57873,"src":"2761:456:102","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":57742,"nodeType":"Block","src":"3348:141:102","statements":[{"body":{"id":57740,"nodeType":"Block","src":"3405:80:102","statements":[{"expression":{"arguments":[{"id":57733,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57714,"src":"3434:6:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":57734,"name":"functionSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57717,"src":"3442:17:102","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":57736,"indexExpression":{"id":57735,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57723,"src":"3460:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3442:20:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57737,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57719,"src":"3464:13:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":57732,"name":"setWhitelistFunction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57712,"src":"3413:20:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes4_$_t_bool_$returns$__$","typeString":"function (address,bytes4,bool)"}},"id":57738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3413:65:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57739,"nodeType":"ExpressionStatement","src":"3413:65:102"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57725,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57723,"src":"3370:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":57726,"name":"functionSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57717,"src":"3374:17:102","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":57727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3392:6:102","memberName":"length","nodeType":"MemberAccess","src":"3374:24:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3370:28:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57741,"initializationExpression":{"assignments":[57723],"declarations":[{"constant":false,"id":57723,"mutability":"mutable","name":"i","nameLocation":"3367:1:102","nodeType":"VariableDeclaration","scope":57741,"src":"3359:9:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57722,"name":"uint256","nodeType":"ElementaryTypeName","src":"3359:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57724,"nodeType":"VariableDeclarationStatement","src":"3359:9:102"},"loopExpression":{"expression":{"id":57730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3400:3:102","subExpression":{"id":57729,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57723,"src":"3400:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57731,"nodeType":"ExpressionStatement","src":"3400:3:102"},"nodeType":"ForStatement","src":"3354:131:102"}]},"functionSelector":"8e828cb4","id":57743,"implemented":true,"kind":"function","modifiers":[],"name":"setWhitelistFunctions","nameLocation":"3230:21:102","nodeType":"FunctionDefinition","parameters":{"id":57720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57714,"mutability":"mutable","name":"target","nameLocation":"3265:6:102","nodeType":"VariableDeclaration","scope":57743,"src":"3257:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57713,"name":"address","nodeType":"ElementaryTypeName","src":"3257:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57717,"mutability":"mutable","name":"functionSelectors","nameLocation":"3293:17:102","nodeType":"VariableDeclaration","scope":57743,"src":"3277:33:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":57715,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3277:6:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":57716,"nodeType":"ArrayTypeName","src":"3277:8:102","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"},{"constant":false,"id":57719,"mutability":"mutable","name":"isWhitelisted","nameLocation":"3321:13:102","nodeType":"VariableDeclaration","scope":57743,"src":"3316:18:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57718,"name":"bool","nodeType":"ElementaryTypeName","src":"3316:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3251:87:102"},"returnParameters":{"id":57721,"nodeType":"ParameterList","parameters":[],"src":"3348:0:102"},"scope":57873,"src":"3221:268:102","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":57763,"nodeType":"Block","src":"3559:149:102","statements":[{"assignments":[57752],"declarations":[{"constant":false,"id":57752,"mutability":"mutable","name":"$","nameLocation":"3610:1:102","nodeType":"VariableDeclaration","scope":57763,"src":"3565:46:102","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57751,"nodeType":"UserDefinedTypeName","pathNode":{"id":57750,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["3565:20:102","3586:15:102"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"3565:36:102"},"referencedDeclaration":61305,"src":"3565:36:102","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57756,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57753,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"3614:20:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3635:18:102","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"3614:39:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3614:41:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3565:90:102"},{"expression":{"id":57761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57757,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"3661:1:102","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57759,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3663:28:102","memberName":"isFunctionRestrictionEnabled","nodeType":"MemberAccess","referencedDeclaration":61169,"src":"3661:30:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57760,"name":"isEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57745,"src":"3694:9:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3661:42:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57762,"nodeType":"ExpressionStatement","src":"3661:42:102"}]},"functionSelector":"4c5ead08","id":57764,"implemented":true,"kind":"function","modifiers":[],"name":"setIsFunctionRestrictionEnabled","nameLocation":"3502:31:102","nodeType":"FunctionDefinition","parameters":{"id":57746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57745,"mutability":"mutable","name":"isEnabled","nameLocation":"3539:9:102","nodeType":"VariableDeclaration","scope":57764,"src":"3534:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57744,"name":"bool","nodeType":"ElementaryTypeName","src":"3534:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3533:16:102"},"returnParameters":{"id":57747,"nodeType":"ParameterList","parameters":[],"src":"3559:0:102"},"scope":57873,"src":"3493:215:102","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":57789,"nodeType":"Block","src":"3870:162:102","statements":[{"assignments":[57777],"declarations":[{"constant":false,"id":57777,"mutability":"mutable","name":"$","nameLocation":"3921:1:102","nodeType":"VariableDeclaration","scope":57789,"src":"3876:46:102","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57776,"nodeType":"UserDefinedTypeName","pathNode":{"id":57775,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["3876:20:102","3897:15:102"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"3876:36:102"},"referencedDeclaration":61305,"src":"3876:36:102","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57781,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57778,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"3925:20:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3946:18:102","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"3925:39:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3925:41:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3876:90:102"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":57782,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57777,"src":"3979:1:102","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57783,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3981:20:102","memberName":"whitelistedFunctions","nodeType":"MemberAccess","referencedDeclaration":61167,"src":"3979:22:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"}},"id":57785,"indexExpression":{"id":57784,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57766,"src":"4002:6:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3979:30:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":57787,"indexExpression":{"id":57786,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57768,"src":"4010:16:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3979:48:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":57772,"id":57788,"nodeType":"Return","src":"3972:55:102"}]},"id":57790,"implemented":true,"kind":"function","modifiers":[],"name":"isFunctionWhitelisted","nameLocation":"3766:21:102","nodeType":"FunctionDefinition","parameters":{"id":57769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57766,"mutability":"mutable","name":"target","nameLocation":"3801:6:102","nodeType":"VariableDeclaration","scope":57790,"src":"3793:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57765,"name":"address","nodeType":"ElementaryTypeName","src":"3793:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57768,"mutability":"mutable","name":"functionSelector","nameLocation":"3820:16:102","nodeType":"VariableDeclaration","scope":57790,"src":"3813:23:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":57767,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3813:6:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3787:53:102"},"returnParameters":{"id":57772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57790,"src":"3864:4:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57770,"name":"bool","nodeType":"ElementaryTypeName","src":"3864:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3863:6:102"},"scope":57873,"src":"3757:275:102","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57847,"nodeType":"Block","src":"4149:421:102","statements":[{"assignments":[57803],"declarations":[{"constant":false,"id":57803,"mutability":"mutable","name":"$","nameLocation":"4200:1:102","nodeType":"VariableDeclaration","scope":57847,"src":"4155:46:102","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57802,"nodeType":"UserDefinedTypeName","pathNode":{"id":57801,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["4155:20:102","4176:15:102"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"4155:36:102"},"referencedDeclaration":61305,"src":"4155:36:102","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57807,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57804,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"4204:20:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4225:18:102","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"4204:39:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4204:41:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4155:90:102"},{"condition":{"expression":{"id":57808,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57803,"src":"4255:1:102","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4257:28:102","memberName":"isFunctionRestrictionEnabled","nodeType":"MemberAccess","referencedDeclaration":61169,"src":"4255:30:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57846,"nodeType":"IfStatement","src":"4251:315:102","trueBody":{"id":57845,"nodeType":"Block","src":"4287:279:102","statements":[{"body":{"id":57843,"nodeType":"Block","src":"4336:224:102","statements":[{"assignments":[57821],"declarations":[{"constant":false,"id":57821,"mutability":"mutable","name":"functionSelector","nameLocation":"4353:16:102","nodeType":"VariableDeclaration","scope":57843,"src":"4346:23:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":57820,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4346:6:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":57827,"initialValue":{"arguments":[{"baseExpression":{"id":57823,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57796,"src":"4396:9:102","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":57825,"indexExpression":{"id":57824,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57811,"src":"4406:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4396:12:102","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57822,"name":"extractFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57872,"src":"4372:23:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (bytes memory) pure returns (bytes4)"}},"id":57826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4372:37:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4346:63:102"},{"condition":{"id":57836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4423:53:102","subExpression":{"baseExpression":{"baseExpression":{"expression":{"id":57828,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57803,"src":"4424:1:102","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4426:20:102","memberName":"whitelistedFunctions","nodeType":"MemberAccess","referencedDeclaration":61167,"src":"4424:22:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"}},"id":57833,"indexExpression":{"baseExpression":{"id":57830,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57793,"src":"4447:7:102","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":57832,"indexExpression":{"id":57831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57811,"src":"4455:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4447:10:102","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4424:34:102","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":57835,"indexExpression":{"id":57834,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57821,"src":"4459:16:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4424:52:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57842,"nodeType":"IfStatement","src":"4419:133:102","trueBody":{"id":57841,"nodeType":"Block","src":"4478:74:102","statements":[{"errorCall":{"arguments":[{"id":57838,"name":"functionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57821,"src":"4524:16:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":57837,"name":"GovernorRestrictedFunction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57652,"src":"4497:26:102","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes4_$returns$__$","typeString":"function (bytes4) pure"}},"id":57839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:44:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57840,"nodeType":"RevertStatement","src":"4490:51:102"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57813,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57811,"src":"4311:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":57814,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57793,"src":"4315:7:102","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":57815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4323:6:102","memberName":"length","nodeType":"MemberAccess","src":"4315:14:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4311:18:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57844,"initializationExpression":{"assignments":[57811],"declarations":[{"constant":false,"id":57811,"mutability":"mutable","name":"i","nameLocation":"4308:1:102","nodeType":"VariableDeclaration","scope":57844,"src":"4300:9:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57810,"name":"uint256","nodeType":"ElementaryTypeName","src":"4300:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57812,"nodeType":"VariableDeclarationStatement","src":"4300:9:102"},"loopExpression":{"expression":{"id":57818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4331:3:102","subExpression":{"id":57817,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57811,"src":"4331:1:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57819,"nodeType":"ExpressionStatement","src":"4331:3:102"},"nodeType":"ForStatement","src":"4295:265:102"}]}}]},"id":57848,"implemented":true,"kind":"function","modifiers":[],"name":"checkFunctionsRestriction","nameLocation":"4045:25:102","nodeType":"FunctionDefinition","parameters":{"id":57797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57793,"mutability":"mutable","name":"targets","nameLocation":"4093:7:102","nodeType":"VariableDeclaration","scope":57848,"src":"4076:24:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":57791,"name":"address","nodeType":"ElementaryTypeName","src":"4076:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57792,"nodeType":"ArrayTypeName","src":"4076:9:102","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":57796,"mutability":"mutable","name":"calldatas","nameLocation":"4121:9:102","nodeType":"VariableDeclaration","scope":57848,"src":"4106:24:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":57794,"name":"bytes","nodeType":"ElementaryTypeName","src":"4106:5:102","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":57795,"nodeType":"ArrayTypeName","src":"4106:7:102","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"4070:64:102"},"returnParameters":{"id":57798,"nodeType":"ParameterList","parameters":[],"src":"4149:0:102"},"scope":57873,"src":"4036:534:102","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57871,"nodeType":"Block","src":"4998:163:102","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57856,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57851,"src":"5008:4:102","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5013:6:102","memberName":"length","nodeType":"MemberAccess","src":"5008:11:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"34","id":57858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5022:1:102","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"5008:15:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57864,"nodeType":"IfStatement","src":"5004:65:102","trueBody":{"errorCall":{"arguments":[{"id":57861,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57851,"src":"5064:4:102","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57860,"name":"GovernorFunctionInvalidSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57657,"src":"5032:31:102","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5032:37:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57863,"nodeType":"RevertStatement","src":"5025:44:102"}},{"assignments":[57866],"declarations":[{"constant":false,"id":57866,"mutability":"mutable","name":"sig","nameLocation":"5082:3:102","nodeType":"VariableDeclaration","scope":57871,"src":"5075:10:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":57865,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5075:6:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":57867,"nodeType":"VariableDeclarationStatement","src":"5075:10:102"},{"AST":{"nodeType":"YulBlock","src":"5100:41:102","statements":[{"nodeType":"YulAssignment","src":"5108:27:102","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"5125:4:102"},{"kind":"number","nodeType":"YulLiteral","src":"5131:2:102","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5121:3:102"},"nodeType":"YulFunctionCall","src":"5121:13:102"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5115:5:102"},"nodeType":"YulFunctionCall","src":"5115:20:102"},"variableNames":[{"name":"sig","nodeType":"YulIdentifier","src":"5108:3:102"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":57851,"isOffset":false,"isSlot":false,"src":"5125:4:102","valueSize":1},{"declaration":57866,"isOffset":false,"isSlot":false,"src":"5108:3:102","valueSize":1}],"id":57868,"nodeType":"InlineAssembly","src":"5091:50:102"},{"expression":{"id":57869,"name":"sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57866,"src":"5153:3:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":57855,"id":57870,"nodeType":"Return","src":"5146:10:102"}]},"documentation":{"id":57849,"nodeType":"StructuredDocumentation","src":"4629:284:102","text":" @notice Extract the function selector from the calldata.\n @dev Internal pure function to extract the function selector from the calldata.\n @param data The calldata from which to extract the function selector.\n @return bytes4 The extracted function selector."},"id":57872,"implemented":true,"kind":"function","modifiers":[],"name":"extractFunctionSelector","nameLocation":"4925:23:102","nodeType":"FunctionDefinition","parameters":{"id":57852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57851,"mutability":"mutable","name":"data","nameLocation":"4962:4:102","nodeType":"VariableDeclaration","scope":57872,"src":"4949:17:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57850,"name":"bytes","nodeType":"ElementaryTypeName","src":"4949:5:102","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4948:19:102"},"returnParameters":{"id":57855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57854,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57872,"src":"4990:6:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":57853,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4990:6:102","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4989:8:102"},"scope":57873,"src":"4916:245:102","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":57874,"src":"1527:3636:102","usedErrors":[57652,57657],"usedEvents":[57666]}],"src":"1195:3969:102"},"id":102},"contracts/governance/libraries/GovernorGovernanceLogic.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorGovernanceLogic.sol","exportedSymbols":{"DoubleEndedQueue":[10781],"GovernorGovernanceLogic":[57980],"GovernorStorageTypes":[61306]},"id":57981,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57875,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:103"},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":57877,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57981,"sourceUnit":61307,"src":"1220:66:103","symbolAliases":[{"foreign":{"id":57876,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1229:20:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","file":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","id":57879,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57981,"sourceUnit":10782,"src":"1287:94:103","symbolAliases":[{"foreign":{"id":57878,"name":"DoubleEndedQueue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10781,"src":"1296:16:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorGovernanceLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":57880,"nodeType":"StructuredDocumentation","src":"1383:266:103","text":"@title GovernorGovernanceLogic\n @notice Library for validating descriptions in governance proposals based on the proposer's address suffix.\n @dev This library provides functions to manage the governance execution flow and validate the governance executor."},"fullyImplemented":true,"id":57980,"linearizedBaseContracts":[57980],"name":"GovernorGovernanceLogic","nameLocation":"1657:23:103","nodeType":"ContractDefinition","nodes":[{"global":false,"id":57884,"libraryName":{"id":57881,"name":"DoubleEndedQueue","nameLocations":["1691:16:103"],"nodeType":"IdentifierPath","referencedDeclaration":10781,"src":"1691:16:103"},"nodeType":"UsingForDirective","src":"1685:57:103","typeName":{"id":57883,"nodeType":"UserDefinedTypeName","pathNode":{"id":57882,"name":"DoubleEndedQueue.Bytes32Deque","nameLocations":["1712:16:103","1729:12:103"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"1712:29:103"},"referencedDeclaration":10469,"src":"1712:29:103","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}}},{"documentation":{"id":57885,"nodeType":"StructuredDocumentation","src":"1746:139:103","text":"@dev Thrown when the `account` is not the governance executor.\n @param account The address that attempted the unauthorized action."},"errorSelector":"47096e47","id":57889,"name":"GovernorOnlyExecutor","nameLocation":"1894:20:103","nodeType":"ErrorDefinition","parameters":{"id":57888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57887,"mutability":"mutable","name":"account","nameLocation":"1923:7:103","nodeType":"VariableDeclaration","scope":57889,"src":"1915:15:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57886,"name":"address","nodeType":"ElementaryTypeName","src":"1915:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1914:17:103"},"src":"1888:44:103"},{"body":{"id":57906,"nodeType":"Block","src":"2393:60:103","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":57904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":57901,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57894,"src":"2414:15:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2406:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":57899,"name":"bytes20","nodeType":"ElementaryTypeName","src":"2406:7:103","typeDescriptions":{}}},"id":57902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2406:24:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":57903,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57892,"src":"2433:15:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2406:42:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":57898,"id":57905,"nodeType":"Return","src":"2399:49:103"}]},"documentation":{"id":57890,"nodeType":"StructuredDocumentation","src":"1936:350:103","text":" @notice Get the salt used for the timelock operation.\n @dev Combines the contract address and description hash to generate a unique salt.\n @param descriptionHash The hash of the proposal description.\n @param contractAddress The address of the calling governance contract.\n @return The generated salt as a bytes32 value."},"id":57907,"implemented":true,"kind":"function","modifiers":[],"name":"timelockSalt","nameLocation":"2298:12:103","nodeType":"FunctionDefinition","parameters":{"id":57895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57892,"mutability":"mutable","name":"descriptionHash","nameLocation":"2319:15:103","nodeType":"VariableDeclaration","scope":57907,"src":"2311:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2311:7:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57894,"mutability":"mutable","name":"contractAddress","nameLocation":"2344:15:103","nodeType":"VariableDeclaration","scope":57907,"src":"2336:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57893,"name":"address","nodeType":"ElementaryTypeName","src":"2336:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2310:50:103"},"returnParameters":{"id":57898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57907,"src":"2384:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2384:7:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2383:9:103"},"scope":57980,"src":"2289:164:103","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":57928,"nodeType":"Block","src":"2691:133:103","statements":[{"assignments":[57917],"declarations":[{"constant":false,"id":57917,"mutability":"mutable","name":"$","nameLocation":"2742:1:103","nodeType":"VariableDeclaration","scope":57928,"src":"2697:46:103","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57916,"nodeType":"UserDefinedTypeName","pathNode":{"id":57915,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["2697:20:103","2718:15:103"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"2697:36:103"},"referencedDeclaration":61305,"src":"2697:36:103","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57921,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57918,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"2746:20:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2767:18:103","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"2746:39:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2746:41:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2697:90:103"},{"expression":{"arguments":[{"expression":{"id":57924,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57917,"src":"2808:1:103","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2810:8:103","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"2808:10:103","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}],"id":57923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2800:7:103","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57922,"name":"address","nodeType":"ElementaryTypeName","src":"2800:7:103","typeDescriptions":{}}},"id":57926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2800:19:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":57912,"id":57927,"nodeType":"Return","src":"2793:26:103"}]},"documentation":{"id":57908,"nodeType":"StructuredDocumentation","src":"2457:179:103","text":" @notice Get the address through which the governor executes actions.\n @dev Returns the timelock address used by the governor.\n @return The executor address."},"id":57929,"implemented":true,"kind":"function","modifiers":[],"name":"executor","nameLocation":"2648:8:103","nodeType":"FunctionDefinition","parameters":{"id":57909,"nodeType":"ParameterList","parameters":[],"src":"2656:2:103"},"returnParameters":{"id":57912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57911,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57929,"src":"2682:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57910,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2681:9:103"},"scope":57980,"src":"2639:185:103","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57978,"nodeType":"Block","src":"3342:438:103","statements":[{"assignments":[57943],"declarations":[{"constant":false,"id":57943,"mutability":"mutable","name":"$","nameLocation":"3393:1:103","nodeType":"VariableDeclaration","scope":57978,"src":"3348:46:103","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":57942,"nodeType":"UserDefinedTypeName","pathNode":{"id":57941,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["3348:20:103","3369:15:103"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"3348:36:103"},"referencedDeclaration":61305,"src":"3348:36:103","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":57947,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57944,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"3397:20:103","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":57945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3418:18:103","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"3397:39:103","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":57946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3397:41:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3348:90:103"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":57948,"name":"executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57929,"src":"3448:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":57949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3448:10:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":57950,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57932,"src":"3462:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3448:20:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57957,"nodeType":"IfStatement","src":"3444:76:103","trueBody":{"id":57956,"nodeType":"Block","src":"3470:50:103","statements":[{"errorCall":{"arguments":[{"id":57953,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57932,"src":"3506:6:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57952,"name":"GovernorOnlyExecutor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57889,"src":"3485:20:103","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":57954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3485:28:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57955,"nodeType":"RevertStatement","src":"3478:35:103"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":57958,"name":"executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57929,"src":"3529:8:103","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":57959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3529:10:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":57960,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57936,"src":"3543:15:103","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3529:29:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57977,"nodeType":"IfStatement","src":"3525:251:103","trueBody":{"id":57976,"nodeType":"Block","src":"3560:216:103","statements":[{"assignments":[57963],"declarations":[{"constant":false,"id":57963,"mutability":"mutable","name":"msgDataHash","nameLocation":"3576:11:103","nodeType":"VariableDeclaration","scope":57976,"src":"3568:19:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57962,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3568:7:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57967,"initialValue":{"arguments":[{"id":57965,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57934,"src":"3600:4:103","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":57964,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3590:9:103","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3590:15:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3568:37:103"},{"body":{"id":57974,"nodeType":"Block","src":"3768:2:103","statements":[]},"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":57973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":57968,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57943,"src":"3724:1:103","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":57969,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3726:14:103","memberName":"governanceCall","nodeType":"MemberAccess","referencedDeclaration":61149,"src":"3724:16:103","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":57970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3741:8:103","memberName":"popFront","nodeType":"MemberAccess","referencedDeclaration":10642,"src":"3724:25:103","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$10469_storage_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_Bytes32Deque_$10469_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) returns (bytes32)"}},"id":57971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3724:27:103","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":57972,"name":"msgDataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57963,"src":"3755:11:103","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3724:42:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57975,"nodeType":"WhileStatement","src":"3717:53:103"}]}}]},"documentation":{"id":57930,"nodeType":"StructuredDocumentation","src":"2828:399:103","text":" @notice Validates that the `msg.sender` is the executor.\n @dev Reverts if the `msg.sender` is not the executor. If the executor is not the calling contract itself, it verifies that the `msg.data` is whitelisted.\n @param sender The address of the sender.\n @param data The calldata to be validated.\n @param contractAddress The address of the calling governance contract."},"id":57979,"implemented":true,"kind":"function","modifiers":[],"name":"checkGovernance","nameLocation":"3239:15:103","nodeType":"FunctionDefinition","parameters":{"id":57937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57932,"mutability":"mutable","name":"sender","nameLocation":"3268:6:103","nodeType":"VariableDeclaration","scope":57979,"src":"3260:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57931,"name":"address","nodeType":"ElementaryTypeName","src":"3260:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57934,"mutability":"mutable","name":"data","nameLocation":"3295:4:103","nodeType":"VariableDeclaration","scope":57979,"src":"3280:19:103","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":57933,"name":"bytes","nodeType":"ElementaryTypeName","src":"3280:5:103","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":57936,"mutability":"mutable","name":"contractAddress","nameLocation":"3313:15:103","nodeType":"VariableDeclaration","scope":57979,"src":"3305:23:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57935,"name":"address","nodeType":"ElementaryTypeName","src":"3305:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3254:78:103"},"returnParameters":{"id":57938,"nodeType":"ParameterList","parameters":[],"src":"3342:0:103"},"scope":57980,"src":"3230:550:103","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":57981,"src":"1649:2133:103","usedErrors":[57889],"usedEvents":[]}],"src":"1195:2588:103"},"id":103},"contracts/governance/libraries/GovernorProposalLogic.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorProposalLogic.sol","exportedSymbols":{"Address":[5584],"DoubleEndedQueue":[10781],"GovernorClockLogic":[55213],"GovernorCommunityExecutionLogic":[56031],"GovernorDepositLogic":[57642],"GovernorFunctionRestrictionsLogic":[57873],"GovernorGovernanceLogic":[57980],"GovernorProposalLogic":[60252],"GovernorStateLogic":[61096],"GovernorStorageTypes":[61306],"GovernorTypes":[61442],"IGrantsManager":[65639],"SafeCast":[8770]},"id":60253,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57982,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:104"},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":57984,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":61307,"src":"1220:66:104","symbolAliases":[{"foreign":{"id":57983,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1229:20:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./GovernorTypes.sol","id":57986,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":61443,"src":"1287:52:104","symbolAliases":[{"foreign":{"id":57985,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"1296:13:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStateLogic.sol","file":"./GovernorStateLogic.sol","id":57988,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":61097,"src":"1340:62:104","symbolAliases":[{"foreign":{"id":57987,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"1349:18:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorClockLogic.sol","file":"./GovernorClockLogic.sol","id":57990,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":55214,"src":"1403:62:104","symbolAliases":[{"foreign":{"id":57989,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"1412:18:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorDepositLogic.sol","file":"./GovernorDepositLogic.sol","id":57992,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":57643,"src":"1466:66:104","symbolAliases":[{"foreign":{"id":57991,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"1475:20:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorGovernanceLogic.sol","file":"./GovernorGovernanceLogic.sol","id":57994,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":57981,"src":"1533:72:104","symbolAliases":[{"foreign":{"id":57993,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"1542:23:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol","file":"./GovernorFunctionRestrictionsLogic.sol","id":57996,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":57874,"src":"1606:92:104","symbolAliases":[{"foreign":{"id":57995,"name":"GovernorFunctionRestrictionsLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57873,"src":"1615:33:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol","file":"./GovernorCommunityExecutionLogic.sol","id":57998,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":56032,"src":"1699:88:104","symbolAliases":[{"foreign":{"id":57997,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"1708:31:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":58000,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":8771,"src":"1788:75:104","symbolAliases":[{"foreign":{"id":57999,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1797:8:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","file":"@openzeppelin/contracts/utils/Address.sol","id":58002,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":5585,"src":"1864:68:104","symbolAliases":[{"foreign":{"id":58001,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"1873:7:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","file":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","id":58004,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":10782,"src":"1933:94:104","symbolAliases":[{"foreign":{"id":58003,"name":"DoubleEndedQueue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10781,"src":"1942:16:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../interfaces/IGrantsManager.sol","id":58006,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60253,"sourceUnit":65640,"src":"2028:69:104","symbolAliases":[{"foreign":{"id":58005,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"2037:14:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorProposalLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":58007,"nodeType":"StructuredDocumentation","src":"2099:195:104","text":"@title GovernorProposalLogic\n @notice Library for managing proposals in the Governor contract.\n @dev This library provides functions to create, cancel, execute, and validate proposals."},"fullyImplemented":true,"id":60252,"linearizedBaseContracts":[60252],"name":"GovernorProposalLogic","nameLocation":"2302:21:104","nodeType":"ContractDefinition","nodes":[{"global":false,"id":58011,"libraryName":{"id":58008,"name":"DoubleEndedQueue","nameLocations":["2334:16:104"],"nodeType":"IdentifierPath","referencedDeclaration":10781,"src":"2334:16:104"},"nodeType":"UsingForDirective","src":"2328:57:104","typeName":{"id":58010,"nodeType":"UserDefinedTypeName","pathNode":{"id":58009,"name":"DoubleEndedQueue.Bytes32Deque","nameLocations":["2355:16:104","2372:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"2355:29:104"},"referencedDeclaration":10469,"src":"2355:29:104","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}}},{"anonymous":false,"documentation":{"id":58012,"nodeType":"StructuredDocumentation","src":"2389:56:104","text":" @dev Emitted when a proposal is canceled."},"eventSelector":"789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c","id":58016,"name":"ProposalCanceled","nameLocation":"2454:16:104","nodeType":"EventDefinition","parameters":{"id":58015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58014,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"2479:10:104","nodeType":"VariableDeclaration","scope":58016,"src":"2471:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58013,"name":"uint256","nodeType":"ElementaryTypeName","src":"2471:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2470:20:104"},"src":"2448:43:104"},{"anonymous":false,"documentation":{"id":58017,"nodeType":"StructuredDocumentation","src":"2495:70:104","text":" @dev Emitted when a proposal is canceled with a reason."},"eventSelector":"93bcf40b1de68d22878e9394837dd4b08dae46ee73bc722cccffecdadbe44145","id":58025,"name":"ProposalCanceledWithReason","nameLocation":"2574:26:104","nodeType":"EventDefinition","parameters":{"id":58024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58019,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2617:10:104","nodeType":"VariableDeclaration","scope":58025,"src":"2601:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58018,"name":"uint256","nodeType":"ElementaryTypeName","src":"2601:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58021,"indexed":true,"mutability":"mutable","name":"canceler","nameLocation":"2645:8:104","nodeType":"VariableDeclaration","scope":58025,"src":"2629:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58020,"name":"address","nodeType":"ElementaryTypeName","src":"2629:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58023,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"2662:6:104","nodeType":"VariableDeclaration","scope":58025,"src":"2655:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58022,"name":"string","nodeType":"ElementaryTypeName","src":"2655:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2600:69:104"},"src":"2568:102:104"},{"anonymous":false,"documentation":{"id":58026,"nodeType":"StructuredDocumentation","src":"2674:55:104","text":" @dev Emitted when a proposal is created."},"eventSelector":"9c2b0d68f5edfd1bf6158a1867aced894efcfcf77c7a7603cb571e18ce89ae76","id":58050,"name":"ProposalCreated","nameLocation":"2738:15:104","nodeType":"EventDefinition","parameters":{"id":58049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58028,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2775:10:104","nodeType":"VariableDeclaration","scope":58050,"src":"2759:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58027,"name":"uint256","nodeType":"ElementaryTypeName","src":"2759:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58030,"indexed":true,"mutability":"mutable","name":"proposer","nameLocation":"2807:8:104","nodeType":"VariableDeclaration","scope":58050,"src":"2791:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58029,"name":"address","nodeType":"ElementaryTypeName","src":"2791:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58033,"indexed":false,"mutability":"mutable","name":"targets","nameLocation":"2831:7:104","nodeType":"VariableDeclaration","scope":58050,"src":"2821:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58031,"name":"address","nodeType":"ElementaryTypeName","src":"2821:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58032,"nodeType":"ArrayTypeName","src":"2821:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":58036,"indexed":false,"mutability":"mutable","name":"values","nameLocation":"2854:6:104","nodeType":"VariableDeclaration","scope":58050,"src":"2844:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58034,"name":"uint256","nodeType":"ElementaryTypeName","src":"2844:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58035,"nodeType":"ArrayTypeName","src":"2844:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":58039,"indexed":false,"mutability":"mutable","name":"signatures","nameLocation":"2875:10:104","nodeType":"VariableDeclaration","scope":58050,"src":"2866:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":58037,"name":"string","nodeType":"ElementaryTypeName","src":"2866:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":58038,"nodeType":"ArrayTypeName","src":"2866:8:104","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":58042,"indexed":false,"mutability":"mutable","name":"calldatas","nameLocation":"2899:9:104","nodeType":"VariableDeclaration","scope":58050,"src":"2891:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":58040,"name":"bytes","nodeType":"ElementaryTypeName","src":"2891:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":58041,"nodeType":"ArrayTypeName","src":"2891:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":58044,"indexed":false,"mutability":"mutable","name":"description","nameLocation":"2921:11:104","nodeType":"VariableDeclaration","scope":58050,"src":"2914:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58043,"name":"string","nodeType":"ElementaryTypeName","src":"2914:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58046,"indexed":true,"mutability":"mutable","name":"roundIdVoteStart","nameLocation":"2954:16:104","nodeType":"VariableDeclaration","scope":58050,"src":"2938:32:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58045,"name":"uint256","nodeType":"ElementaryTypeName","src":"2938:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58048,"indexed":false,"mutability":"mutable","name":"depositThreshold","nameLocation":"2984:16:104","nodeType":"VariableDeclaration","scope":58050,"src":"2976:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58047,"name":"uint256","nodeType":"ElementaryTypeName","src":"2976:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2753:251:104"},"src":"2732:273:104"},{"anonymous":false,"documentation":{"id":58051,"nodeType":"StructuredDocumentation","src":"3009:77:104","text":" @dev Emitted when a proposal is created with type information."},"eventSelector":"6d04097725b4d82fbe72e4fd0fd1798c60a7b1bbc328842680c83ac06b1b0ada","id":58058,"name":"ProposalCreatedWithType","nameLocation":"3095:23:104","nodeType":"EventDefinition","parameters":{"id":58057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58053,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3135:10:104","nodeType":"VariableDeclaration","scope":58058,"src":"3119:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58052,"name":"uint256","nodeType":"ElementaryTypeName","src":"3119:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58056,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"3174:12:104","nodeType":"VariableDeclaration","scope":58058,"src":"3147:39:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":58055,"nodeType":"UserDefinedTypeName","pathNode":{"id":58054,"name":"GovernorTypes.ProposalType","nameLocations":["3147:13:104","3161:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"3147:26:104"},"referencedDeclaration":61431,"src":"3147:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"3118:69:104"},"src":"3089:99:104"},{"anonymous":false,"documentation":{"id":58059,"nodeType":"StructuredDocumentation","src":"3192:56:104","text":" @dev Emitted when a proposal is executed."},"eventSelector":"712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f","id":58063,"name":"ProposalExecuted","nameLocation":"3257:16:104","nodeType":"EventDefinition","parameters":{"id":58062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58061,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3282:10:104","nodeType":"VariableDeclaration","scope":58063,"src":"3274:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58060,"name":"uint256","nodeType":"ElementaryTypeName","src":"3274:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3273:20:104"},"src":"3251:43:104"},{"anonymous":false,"documentation":{"id":58064,"nodeType":"StructuredDocumentation","src":"3298:54:104","text":" @dev Emitted when a proposal is queued."},"eventSelector":"9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892","id":58070,"name":"ProposalQueued","nameLocation":"3361:14:104","nodeType":"EventDefinition","parameters":{"id":58069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58066,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3384:10:104","nodeType":"VariableDeclaration","scope":58070,"src":"3376:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58065,"name":"uint256","nodeType":"ElementaryTypeName","src":"3376:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58068,"indexed":false,"mutability":"mutable","name":"etaSeconds","nameLocation":"3404:10:104","nodeType":"VariableDeclaration","scope":58070,"src":"3396:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58067,"name":"uint256","nodeType":"ElementaryTypeName","src":"3396:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3375:40:104"},"src":"3355:61:104"},{"anonymous":false,"documentation":{"id":58071,"nodeType":"StructuredDocumentation","src":"3420:72:104","text":" @dev Emitted when a proposal is marked as in development."},"eventSelector":"ae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0","id":58075,"name":"ProposalInDevelopment","nameLocation":"3501:21:104","nodeType":"EventDefinition","parameters":{"id":58074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58073,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3531:10:104","nodeType":"VariableDeclaration","scope":58075,"src":"3523:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58072,"name":"uint256","nodeType":"ElementaryTypeName","src":"3523:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3522:20:104"},"src":"3495:48:104"},{"anonymous":false,"documentation":{"id":58076,"nodeType":"StructuredDocumentation","src":"3547:67:104","text":" @dev Emitted when a proposal is marked as completed."},"eventSelector":"71611adb0c8d2eea43359b2e41e5fdf96309ce734ed1eb78ceb763198c1b8967","id":58080,"name":"ProposalCompleted","nameLocation":"3623:17:104","nodeType":"EventDefinition","parameters":{"id":58079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58078,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3649:10:104","nodeType":"VariableDeclaration","scope":58080,"src":"3641:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58077,"name":"uint256","nodeType":"ElementaryTypeName","src":"3641:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3640:20:104"},"src":"3617:44:104"},{"anonymous":false,"documentation":{"id":58081,"nodeType":"StructuredDocumentation","src":"3665:106:104","text":" @dev Emitted when the development state of a proposal is reset back to pending development."},"eventSelector":"89e9abefcace5d0e37429f32023df3d73c9a310923f6383fa778ec40c629df0e","id":58085,"name":"ProposalDevelopmentStateReset","nameLocation":"3780:29:104","nodeType":"EventDefinition","parameters":{"id":58084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58083,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3818:10:104","nodeType":"VariableDeclaration","scope":58085,"src":"3810:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58082,"name":"uint256","nodeType":"ElementaryTypeName","src":"3810:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3809:20:104"},"src":"3774:56:104"},{"documentation":{"id":58086,"nodeType":"StructuredDocumentation","src":"3834:107:104","text":" @dev Thrown when the current state of a proposal is not the expected state for an operation."},"errorSelector":"31b75e4d","id":58095,"name":"GovernorUnexpectedProposalState","nameLocation":"3950:31:104","nodeType":"ErrorDefinition","parameters":{"id":58094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58088,"mutability":"mutable","name":"proposalId","nameLocation":"3995:10:104","nodeType":"VariableDeclaration","scope":58095,"src":"3987:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58087,"name":"uint256","nodeType":"ElementaryTypeName","src":"3987:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58091,"mutability":"mutable","name":"current","nameLocation":"4039:7:104","nodeType":"VariableDeclaration","scope":58095,"src":"4011:35:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":58090,"nodeType":"UserDefinedTypeName","pathNode":{"id":58089,"name":"GovernorTypes.ProposalState","nameLocations":["4011:13:104","4025:13:104"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"4011:27:104"},"referencedDeclaration":61406,"src":"4011:27:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"},{"constant":false,"id":58093,"mutability":"mutable","name":"expectedStates","nameLocation":"4060:14:104","nodeType":"VariableDeclaration","scope":58095,"src":"4052:22:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4052:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3981:97:104"},"src":"3944:135:104"},{"documentation":{"id":58096,"nodeType":"StructuredDocumentation","src":"4083:78:104","text":" @dev Thrown when a user is not authorized to perform an action."},"errorSelector":"dccef964","id":58100,"name":"UnauthorizedAccess","nameLocation":"4170:18:104","nodeType":"ErrorDefinition","parameters":{"id":58099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58098,"mutability":"mutable","name":"user","nameLocation":"4197:4:104","nodeType":"VariableDeclaration","scope":58100,"src":"4189:12:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58097,"name":"address","nodeType":"ElementaryTypeName","src":"4189:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4188:14:104"},"src":"4164:39:104"},{"documentation":{"id":58101,"nodeType":"StructuredDocumentation","src":"4207:72:104","text":" @dev Thrown when the round for proposal start is invalid."},"errorSelector":"7a5d07d3","id":58105,"name":"GovernorInvalidStartRound","nameLocation":"4288:25:104","nodeType":"ErrorDefinition","parameters":{"id":58104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58103,"mutability":"mutable","name":"roundId","nameLocation":"4322:7:104","nodeType":"VariableDeclaration","scope":58105,"src":"4314:15:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58102,"name":"uint256","nodeType":"ElementaryTypeName","src":"4314:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4313:17:104"},"src":"4282:49:104"},{"documentation":{"id":58106,"nodeType":"StructuredDocumentation","src":"4335:69:104","text":" @dev Thrown when a queue operation is not implemented."},"errorSelector":"90884a46","id":58108,"name":"GovernorQueueNotImplemented","nameLocation":"4413:27:104","nodeType":"ErrorDefinition","parameters":{"id":58107,"nodeType":"ParameterList","parameters":[],"src":"4440:2:104"},"src":"4407:36:104"},{"documentation":{"id":58109,"nodeType":"StructuredDocumentation","src":"4447:119:104","text":" @dev Thrown when there is an empty proposal or a mismatch between parameters length for a proposal call."},"errorSelector":"447b05d0","id":58117,"name":"GovernorInvalidProposalLength","nameLocation":"4575:29:104","nodeType":"ErrorDefinition","parameters":{"id":58116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58111,"mutability":"mutable","name":"targets","nameLocation":"4613:7:104","nodeType":"VariableDeclaration","scope":58117,"src":"4605:15:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58110,"name":"uint256","nodeType":"ElementaryTypeName","src":"4605:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58113,"mutability":"mutable","name":"calldatas","nameLocation":"4630:9:104","nodeType":"VariableDeclaration","scope":58117,"src":"4622:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58112,"name":"uint256","nodeType":"ElementaryTypeName","src":"4622:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58115,"mutability":"mutable","name":"values","nameLocation":"4649:6:104","nodeType":"VariableDeclaration","scope":58117,"src":"4641:14:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58114,"name":"uint256","nodeType":"ElementaryTypeName","src":"4641:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4604:52:104"},"src":"4569:88:104"},{"documentation":{"id":58118,"nodeType":"StructuredDocumentation","src":"4661:81:104","text":" @dev Thrown when the proposer is not allowed to create a proposal."},"errorSelector":"d9b39557","id":58122,"name":"GovernorRestrictedProposer","nameLocation":"4751:26:104","nodeType":"ErrorDefinition","parameters":{"id":58121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58120,"mutability":"mutable","name":"proposer","nameLocation":"4786:8:104","nodeType":"VariableDeclaration","scope":58122,"src":"4778:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58119,"name":"address","nodeType":"ElementaryTypeName","src":"4778:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4777:18:104"},"src":"4745:51:104"},{"documentation":{"id":58123,"nodeType":"StructuredDocumentation","src":"4800:61:104","text":" @dev Thrown when the proposal type is invalid."},"errorSelector":"7c977c32","id":58128,"name":"GovernorInvalidProposalType","nameLocation":"4870:27:104","nodeType":"ErrorDefinition","parameters":{"id":58127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58126,"mutability":"mutable","name":"proposalType","nameLocation":"4925:12:104","nodeType":"VariableDeclaration","scope":58128,"src":"4898:39:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":58125,"nodeType":"UserDefinedTypeName","pathNode":{"id":58124,"name":"GovernorTypes.ProposalType","nameLocations":["4898:13:104","4912:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"4898:26:104"},"referencedDeclaration":61431,"src":"4898:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"4897:41:104"},"src":"4864:75:104"},{"documentation":{"id":58129,"nodeType":"StructuredDocumentation","src":"4943:89:104","text":" @dev Thrown when the proposer does not fit the requirement (GM weight ATM)"},"errorSelector":"25b073c8","id":58135,"name":"GovernorInvalidProposer","nameLocation":"5041:23:104","nodeType":"ErrorDefinition","parameters":{"id":58134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58131,"mutability":"mutable","name":"proposer","nameLocation":"5073:8:104","nodeType":"VariableDeclaration","scope":58135,"src":"5065:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58130,"name":"address","nodeType":"ElementaryTypeName","src":"5065:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58133,"mutability":"mutable","name":"requiredWeight","nameLocation":"5091:14:104","nodeType":"VariableDeclaration","scope":58135,"src":"5083:22:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58132,"name":"uint256","nodeType":"ElementaryTypeName","src":"5083:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5064:42:104"},"src":"5035:72:104"},{"documentation":{"id":58136,"nodeType":"StructuredDocumentation","src":"5111:280:104","text":" @dev Thrown when a proposal is not allowed to perform a specific action.\n Some actions are restricted to Standard proposals only, others to Grant proposals only.\n eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded."},"errorSelector":"44b7587b","id":58143,"name":"GovernorRestrictedProposal","nameLocation":"5400:26:104","nodeType":"ErrorDefinition","parameters":{"id":58142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58138,"mutability":"mutable","name":"proposalId","nameLocation":"5435:10:104","nodeType":"VariableDeclaration","scope":58143,"src":"5427:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58137,"name":"uint256","nodeType":"ElementaryTypeName","src":"5427:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58141,"mutability":"mutable","name":"proposalType","nameLocation":"5474:12:104","nodeType":"VariableDeclaration","scope":58143,"src":"5447:39:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":58140,"nodeType":"UserDefinedTypeName","pathNode":{"id":58139,"name":"GovernorTypes.ProposalType","nameLocations":["5447:13:104","5461:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"5447:26:104"},"referencedDeclaration":61431,"src":"5447:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"5426:61:104"},"src":"5394:94:104"},{"documentation":{"id":58144,"nodeType":"StructuredDocumentation","src":"5492:291:104","text":" @dev Thrown when an attempt is made to reset the development state of a proposal whose\n V11 community-execution payout has already been claimed. Mirrors the selector declared in\n {GovernorCommunityExecutionLogic} and {IB3TRGovernor} so callers see a single error type."},"errorSelector":"637f9b3e","id":58148,"name":"PayoutAlreadyClaimed","nameLocation":"5792:20:104","nodeType":"ErrorDefinition","parameters":{"id":58147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58146,"mutability":"mutable","name":"proposalId","nameLocation":"5821:10:104","nodeType":"VariableDeclaration","scope":58148,"src":"5813:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58145,"name":"uint256","nodeType":"ElementaryTypeName","src":"5813:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5812:20:104"},"src":"5786:47:104"},{"body":{"id":58178,"nodeType":"Block","src":"6474:93:104","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":58170,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58152,"src":"6516:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58171,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58155,"src":"6525:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58172,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58158,"src":"6533:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58173,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58160,"src":"6544:15:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58168,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6505:3:104","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6509:6:104","memberName":"encode","nodeType":"MemberAccess","src":"6505:10:104","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6505:55:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58167,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6495:9:104","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6495:66:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":58166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6487:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58165,"name":"uint256","nodeType":"ElementaryTypeName","src":"6487:7:104","typeDescriptions":{}}},"id":58176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6487:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58164,"id":58177,"nodeType":"Return","src":"6480:82:104"}]},"documentation":{"id":58149,"nodeType":"StructuredDocumentation","src":"5894:401:104","text":" @notice Returns the hash of a proposal.\n @dev Hashes the proposal parameters to produce a unique proposal id.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @return The proposal id."},"id":58179,"implemented":true,"kind":"function","modifiers":[],"name":"hashProposal","nameLocation":"6307:12:104","nodeType":"FunctionDefinition","parameters":{"id":58161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58152,"mutability":"mutable","name":"targets","nameLocation":"6342:7:104","nodeType":"VariableDeclaration","scope":58179,"src":"6325:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58150,"name":"address","nodeType":"ElementaryTypeName","src":"6325:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58151,"nodeType":"ArrayTypeName","src":"6325:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":58155,"mutability":"mutable","name":"values","nameLocation":"6372:6:104","nodeType":"VariableDeclaration","scope":58179,"src":"6355:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58153,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58154,"nodeType":"ArrayTypeName","src":"6355:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":58158,"mutability":"mutable","name":"calldatas","nameLocation":"6399:9:104","nodeType":"VariableDeclaration","scope":58179,"src":"6384:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":58156,"name":"bytes","nodeType":"ElementaryTypeName","src":"6384:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":58157,"nodeType":"ArrayTypeName","src":"6384:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":58160,"mutability":"mutable","name":"descriptionHash","nameLocation":"6422:15:104","nodeType":"VariableDeclaration","scope":58179,"src":"6414:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6414:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6319:122:104"},"returnParameters":{"id":58164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58179,"src":"6465:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58162,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:9:104"},"scope":60252,"src":"6298:269:104","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":58202,"nodeType":"Block","src":"6807:146:104","statements":[{"assignments":[58191],"declarations":[{"constant":false,"id":58191,"mutability":"mutable","name":"$","nameLocation":"6858:1:104","nodeType":"VariableDeclaration","scope":58202,"src":"6813:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58190,"nodeType":"UserDefinedTypeName","pathNode":{"id":58189,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["6813:20:104","6834:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"6813:36:104"},"referencedDeclaration":61305,"src":"6813:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58195,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58192,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"6862:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6883:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"6862:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6862:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6813:90:104"},{"expression":{"expression":{"baseExpression":{"expression":{"id":58196,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58191,"src":"6916:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6918:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"6916:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":58199,"indexExpression":{"id":58198,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58182,"src":"6928:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6916:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":58200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6940:8:104","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":61378,"src":"6916:32:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":58186,"id":58201,"nodeType":"Return","src":"6909:39:104"}]},"documentation":{"id":58180,"nodeType":"StructuredDocumentation","src":"6571:147:104","text":" @notice Returns the proposer of a proposal.\n @param proposalId The id of the proposal.\n @return The address of the proposer."},"id":58203,"implemented":true,"kind":"function","modifiers":[],"name":"proposalProposer","nameLocation":"6730:16:104","nodeType":"FunctionDefinition","parameters":{"id":58183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58182,"mutability":"mutable","name":"proposalId","nameLocation":"6760:10:104","nodeType":"VariableDeclaration","scope":58203,"src":"6752:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58181,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6746:28:104"},"returnParameters":{"id":58186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58203,"src":"6798:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58184,"name":"address","nodeType":"ElementaryTypeName","src":"6798:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6797:9:104"},"scope":60252,"src":"6721:232:104","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":58226,"nodeType":"Block","src":"7202:148:104","statements":[{"assignments":[58215],"declarations":[{"constant":false,"id":58215,"mutability":"mutable","name":"$","nameLocation":"7253:1:104","nodeType":"VariableDeclaration","scope":58226,"src":"7208:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58214,"nodeType":"UserDefinedTypeName","pathNode":{"id":58213,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["7208:20:104","7229:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"7208:36:104"},"referencedDeclaration":61305,"src":"7208:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58219,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58216,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"7257:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7278:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"7257:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7257:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7208:90:104"},{"expression":{"expression":{"baseExpression":{"expression":{"id":58220,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58215,"src":"7311:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7313:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"7311:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":58223,"indexExpression":{"id":58222,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58206,"src":"7323:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7311:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":58224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7335:10:104","memberName":"etaSeconds","nodeType":"MemberAccess","referencedDeclaration":61390,"src":"7311:34:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":58210,"id":58225,"nodeType":"Return","src":"7304:41:104"}]},"documentation":{"id":58204,"nodeType":"StructuredDocumentation","src":"6957:161:104","text":" @notice Returns the eta (estimated time of arrival) of a proposal.\n @param proposalId The id of the proposal.\n @return The eta in seconds."},"id":58227,"implemented":true,"kind":"function","modifiers":[],"name":"proposalEta","nameLocation":"7130:11:104","nodeType":"FunctionDefinition","parameters":{"id":58207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58206,"mutability":"mutable","name":"proposalId","nameLocation":"7155:10:104","nodeType":"VariableDeclaration","scope":58227,"src":"7147:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58205,"name":"uint256","nodeType":"ElementaryTypeName","src":"7147:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7141:28:104"},"returnParameters":{"id":58210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58227,"src":"7193:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58208,"name":"uint256","nodeType":"ElementaryTypeName","src":"7193:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7192:9:104"},"scope":60252,"src":"7121:229:104","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":58250,"nodeType":"Block","src":"7586:154:104","statements":[{"assignments":[58239],"declarations":[{"constant":false,"id":58239,"mutability":"mutable","name":"$","nameLocation":"7637:1:104","nodeType":"VariableDeclaration","scope":58250,"src":"7592:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58238,"nodeType":"UserDefinedTypeName","pathNode":{"id":58237,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["7592:20:104","7613:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"7592:36:104"},"referencedDeclaration":61305,"src":"7592:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58243,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58240,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"7641:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7662:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"7641:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7641:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7592:90:104"},{"expression":{"expression":{"baseExpression":{"expression":{"id":58244,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58239,"src":"7695:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7697:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"7695:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":58247,"indexExpression":{"id":58246,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58230,"src":"7707:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7695:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":58248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7719:16:104","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"7695:40:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58234,"id":58249,"nodeType":"Return","src":"7688:47:104"}]},"documentation":{"id":58228,"nodeType":"StructuredDocumentation","src":"7354:141:104","text":" @notice Returns the start round of a proposal.\n @param proposalId The id of the proposal.\n @return The start round id."},"id":58251,"implemented":true,"kind":"function","modifiers":[],"name":"proposalStartRound","nameLocation":"7507:18:104","nodeType":"FunctionDefinition","parameters":{"id":58231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58230,"mutability":"mutable","name":"proposalId","nameLocation":"7539:10:104","nodeType":"VariableDeclaration","scope":58251,"src":"7531:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58229,"name":"uint256","nodeType":"ElementaryTypeName","src":"7531:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7525:28:104"},"returnParameters":{"id":58234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58233,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58251,"src":"7577:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58232,"name":"uint256","nodeType":"ElementaryTypeName","src":"7577:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7576:9:104"},"scope":60252,"src":"7498:242:104","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":58263,"nodeType":"Block","src":"8058:47:104","statements":[{"expression":{"arguments":[{"id":58260,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58254,"src":"8089:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58259,"name":"_proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60010,"src":"8071:17:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":58261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8071:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58258,"id":58262,"nodeType":"Return","src":"8064:36:104"}]},"documentation":{"id":58252,"nodeType":"StructuredDocumentation","src":"7744:225:104","text":" @notice Returns the snapshot block of a proposal.\n @dev Determines the block number at which the proposal was snapshot.\n @param proposalId The id of the proposal.\n @return The snapshot block number."},"functionSelector":"2d63f693","id":58264,"implemented":true,"kind":"function","modifiers":[],"name":"proposalSnapshot","nameLocation":"7981:16:104","nodeType":"FunctionDefinition","parameters":{"id":58255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58254,"mutability":"mutable","name":"proposalId","nameLocation":"8011:10:104","nodeType":"VariableDeclaration","scope":58264,"src":"8003:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58253,"name":"uint256","nodeType":"ElementaryTypeName","src":"8003:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7997:28:104"},"returnParameters":{"id":58258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58257,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58264,"src":"8049:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58256,"name":"uint256","nodeType":"ElementaryTypeName","src":"8049:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8048:9:104"},"scope":60252,"src":"7972:133:104","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":58276,"nodeType":"Block","src":"8437:47:104","statements":[{"expression":{"arguments":[{"id":58273,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58267,"src":"8468:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58272,"name":"_proposalDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60068,"src":"8450:17:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":58274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8450:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58271,"id":58275,"nodeType":"Return","src":"8443:36:104"}]},"documentation":{"id":58265,"nodeType":"StructuredDocumentation","src":"8109:239:104","text":" @notice Returns the deadline block of a proposal.\n @dev Determines the block number at which the proposal will be considered expired.\n @param proposalId The id of the proposal.\n @return The deadline block number."},"functionSelector":"c01f9e37","id":58277,"implemented":true,"kind":"function","modifiers":[],"name":"proposalDeadline","nameLocation":"8360:16:104","nodeType":"FunctionDefinition","parameters":{"id":58268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58267,"mutability":"mutable","name":"proposalId","nameLocation":"8390:10:104","nodeType":"VariableDeclaration","scope":58277,"src":"8382:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58266,"name":"uint256","nodeType":"ElementaryTypeName","src":"8382:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8376:28:104"},"returnParameters":{"id":58271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58277,"src":"8428:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58269,"name":"uint256","nodeType":"ElementaryTypeName","src":"8428:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8427:9:104"},"scope":60252,"src":"8351:133:104","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":58286,"nodeType":"Block","src":"8717:48:104","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":58283,"name":"_canProposalStartInNextRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59910,"src":"8730:28:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":58284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8730:30:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":58282,"id":58285,"nodeType":"Return","src":"8723:37:104"}]},"documentation":{"id":58278,"nodeType":"StructuredDocumentation","src":"8488:158:104","text":" @notice Returns whether a proposal can start in the next round.\n @return True if the proposal can start in the next round, false otherwise."},"functionSelector":"81ab2353","id":58287,"implemented":true,"kind":"function","modifiers":[],"name":"canProposalStartInNextRound","nameLocation":"8658:27:104","nodeType":"FunctionDefinition","parameters":{"id":58279,"nodeType":"ParameterList","parameters":[],"src":"8685:2:104"},"returnParameters":{"id":58282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58287,"src":"8711:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58280,"name":"bool","nodeType":"ElementaryTypeName","src":"8711:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8710:6:104"},"scope":60252,"src":"8649:116:104","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":58309,"nodeType":"Block","src":"9019:146:104","statements":[{"assignments":[58299],"declarations":[{"constant":false,"id":58299,"mutability":"mutable","name":"$","nameLocation":"9070:1:104","nodeType":"VariableDeclaration","scope":58309,"src":"9025:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58298,"nodeType":"UserDefinedTypeName","pathNode":{"id":58297,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["9025:20:104","9046:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"9025:36:104"},"referencedDeclaration":61305,"src":"9025:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58303,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58300,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"9074:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9095:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"9074:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9074:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9025:90:104"},{"expression":{"baseExpression":{"expression":{"id":58304,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58299,"src":"9128:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58305,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9130:18:104","memberName":"proposalTotalVotes","nodeType":"MemberAccess","referencedDeclaration":61202,"src":"9128:20:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":58307,"indexExpression":{"id":58306,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58290,"src":"9149:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9128:32:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58294,"id":58308,"nodeType":"Return","src":"9121:39:104"}]},"documentation":{"id":58288,"nodeType":"StructuredDocumentation","src":"8769:156:104","text":" @notice Returns the total votes for a proposal.\n @param proposalId The id of the proposal.\n @return The total votes for the proposal."},"id":58310,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalTotalVotes","nameLocation":"8937:21:104","nodeType":"FunctionDefinition","parameters":{"id":58291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58290,"mutability":"mutable","name":"proposalId","nameLocation":"8972:10:104","nodeType":"VariableDeclaration","scope":58310,"src":"8964:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58289,"name":"uint256","nodeType":"ElementaryTypeName","src":"8964:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8958:28:104"},"returnParameters":{"id":58294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58310,"src":"9010:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58292,"name":"uint256","nodeType":"ElementaryTypeName","src":"9010:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9009:9:104"},"scope":60252,"src":"8928:237:104","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":58332,"nodeType":"Block","src":"9409:139:104","statements":[{"assignments":[58322],"declarations":[{"constant":false,"id":58322,"mutability":"mutable","name":"$","nameLocation":"9460:1:104","nodeType":"VariableDeclaration","scope":58332,"src":"9415:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58321,"nodeType":"UserDefinedTypeName","pathNode":{"id":58320,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["9415:20:104","9436:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"9415:36:104"},"referencedDeclaration":61305,"src":"9415:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58326,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58323,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"9464:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9485:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"9464:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9464:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9415:90:104"},{"expression":{"baseExpression":{"expression":{"id":58327,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58322,"src":"9518:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9520:11:104","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":61161,"src":"9518:13:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":58330,"indexExpression":{"id":58329,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58313,"src":"9532:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9518:25:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":58317,"id":58331,"nodeType":"Return","src":"9511:32:104"}]},"documentation":{"id":58311,"nodeType":"StructuredDocumentation","src":"9169:154:104","text":" @notice Returns the timelock id of a proposal.\n @param proposalId The id of the proposal.\n @return The timelock id of the proposal."},"id":58333,"implemented":true,"kind":"function","modifiers":[],"name":"getTimelockId","nameLocation":"9335:13:104","nodeType":"FunctionDefinition","parameters":{"id":58314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58313,"mutability":"mutable","name":"proposalId","nameLocation":"9362:10:104","nodeType":"VariableDeclaration","scope":58333,"src":"9354:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58312,"name":"uint256","nodeType":"ElementaryTypeName","src":"9354:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9348:28:104"},"returnParameters":{"id":58317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58333,"src":"9400:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9400:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9399:9:104"},"scope":60252,"src":"9326:222:104","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":58358,"nodeType":"Block","src":"9777:147:104","statements":[{"assignments":[58345],"declarations":[{"constant":false,"id":58345,"mutability":"mutable","name":"$","nameLocation":"9828:1:104","nodeType":"VariableDeclaration","scope":58358,"src":"9783:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58344,"nodeType":"UserDefinedTypeName","pathNode":{"id":58343,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["9783:20:104","9804:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"9783:36:104"},"referencedDeclaration":61305,"src":"9783:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58349,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58346,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"9832:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9853:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"9832:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9832:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9783:90:104"},{"expression":{"arguments":[{"baseExpression":{"expression":{"id":58352,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58345,"src":"9892:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58353,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9894:12:104","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":61215,"src":"9892:14:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$61431_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalType)"}},"id":58355,"indexExpression":{"id":58354,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58336,"src":"9907:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9892:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":58351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9886:5:104","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":58350,"name":"uint8","nodeType":"ElementaryTypeName","src":"9886:5:104","typeDescriptions":{}}},"id":58356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9886:33:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":58340,"id":58357,"nodeType":"Return","src":"9879:40:104"}]},"documentation":{"id":58334,"nodeType":"StructuredDocumentation","src":"9552:142:104","text":" @notice Returns the proposal type of a proposal.\n @param proposalId The id of the proposal.\n @return The proposal type."},"functionSelector":"2a09c772","id":58359,"implemented":true,"kind":"function","modifiers":[],"name":"proposalType","nameLocation":"9706:12:104","nodeType":"FunctionDefinition","parameters":{"id":58337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58336,"mutability":"mutable","name":"proposalId","nameLocation":"9732:10:104","nodeType":"VariableDeclaration","scope":58359,"src":"9724:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58335,"name":"uint256","nodeType":"ElementaryTypeName","src":"9724:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9718:28:104"},"returnParameters":{"id":58340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58359,"src":"9770:5:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":58338,"name":"uint8","nodeType":"ElementaryTypeName","src":"9770:5:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9769:7:104"},"scope":60252,"src":"9697:227:104","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":58479,"nodeType":"Block","src":"10223:805:104","statements":[{"assignments":[58370],"declarations":[{"constant":false,"id":58370,"mutability":"mutable","name":"$","nameLocation":"10274:1:104","nodeType":"VariableDeclaration","scope":58479,"src":"10229:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58369,"nodeType":"UserDefinedTypeName","pathNode":{"id":58368,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["10229:20:104","10250:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"10229:36:104"},"referencedDeclaration":61305,"src":"10229:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58374,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58371,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"10278:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10299:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"10278:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10278:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10229:90:104"},{"assignments":[58376],"declarations":[{"constant":false,"id":58376,"mutability":"mutable","name":"currentRoundId","nameLocation":"10333:14:104","nodeType":"VariableDeclaration","scope":58479,"src":"10325:22:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58375,"name":"uint256","nodeType":"ElementaryTypeName","src":"10325:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58381,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":58377,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58370,"src":"10350:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10352:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"10350:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":58379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10370:14:104","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"10350:34:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":58380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10350:36:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10325:61:104"},{"assignments":[58386],"declarations":[{"constant":false,"id":58386,"mutability":"mutable","name":"roundProposals","nameLocation":"10410:14:104","nodeType":"VariableDeclaration","scope":58479,"src":"10392:32:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58384,"name":"uint256","nodeType":"ElementaryTypeName","src":"10392:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58385,"nodeType":"ArrayTypeName","src":"10392:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":58391,"initialValue":{"baseExpression":{"expression":{"id":58387,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58370,"src":"10427:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58388,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10429:17:104","memberName":"proposalsForRound","nodeType":"MemberAccess","referencedDeclaration":61268,"src":"10427:19:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[] storage ref)"}},"id":58390,"indexExpression":{"id":58389,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58376,"src":"10447:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10427:35:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10392:70:104"},{"assignments":[58393],"declarations":[{"constant":false,"id":58393,"mutability":"mutable","name":"len","nameLocation":"10476:3:104","nodeType":"VariableDeclaration","scope":58479,"src":"10468:11:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58392,"name":"uint256","nodeType":"ElementaryTypeName","src":"10468:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58396,"initialValue":{"expression":{"id":58394,"name":"roundProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58386,"src":"10482:14:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":58395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10497:6:104","memberName":"length","nodeType":"MemberAccess","src":"10482:21:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10468:35:104"},{"assignments":[58401],"declarations":[{"constant":false,"id":58401,"mutability":"mutable","name":"activeProposalIds","nameLocation":"10526:17:104","nodeType":"VariableDeclaration","scope":58479,"src":"10509:34:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58399,"name":"uint256","nodeType":"ElementaryTypeName","src":"10509:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58400,"nodeType":"ArrayTypeName","src":"10509:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":58407,"initialValue":{"arguments":[{"id":58405,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58393,"src":"10560:3:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10546:13:104","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":58402,"name":"uint256","nodeType":"ElementaryTypeName","src":"10550:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58403,"nodeType":"ArrayTypeName","src":"10550:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":58406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10546:18:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10509:55:104"},{"assignments":[58409],"declarations":[{"constant":false,"id":58409,"mutability":"mutable","name":"activeCount","nameLocation":"10578:11:104","nodeType":"VariableDeclaration","scope":58479,"src":"10570:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58408,"name":"uint256","nodeType":"ElementaryTypeName","src":"10570:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58410,"nodeType":"VariableDeclarationStatement","src":"10570:19:104"},{"body":{"id":58445,"nodeType":"Block","src":"10626:226:104","statements":[{"assignments":[58421],"declarations":[{"constant":false,"id":58421,"mutability":"mutable","name":"proposalId","nameLocation":"10642:10:104","nodeType":"VariableDeclaration","scope":58445,"src":"10634:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58420,"name":"uint256","nodeType":"ElementaryTypeName","src":"10634:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58425,"initialValue":{"baseExpression":{"id":58422,"name":"roundProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58386,"src":"10655:14:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":58424,"indexExpression":{"id":58423,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58412,"src":"10670:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10655:17:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10634:38:104"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":58433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":58428,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58421,"src":"10710:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58426,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"10684:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10703:6:104","memberName":"_state","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"10684:25:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view returns (enum GovernorTypes.ProposalState)"}},"id":58429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10684:37:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":58430,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"10725:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10739:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"10725:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":58432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10753:6:104","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":61397,"src":"10725:34:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"10684:75:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58444,"nodeType":"IfStatement","src":"10680:166:104","trueBody":{"id":58443,"nodeType":"Block","src":"10761:85:104","statements":[{"expression":{"id":58438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58434,"name":"activeProposalIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58401,"src":"10771:17:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":58436,"indexExpression":{"id":58435,"name":"activeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58409,"src":"10789:11:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10771:30:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58437,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58421,"src":"10804:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10771:43:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58439,"nodeType":"ExpressionStatement","src":"10771:43:104"},{"expression":{"id":58441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10824:13:104","subExpression":{"id":58440,"name":"activeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58409,"src":"10824:11:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58442,"nodeType":"ExpressionStatement","src":"10824:13:104"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58414,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58412,"src":"10612:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":58415,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58393,"src":"10616:3:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10612:7:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58446,"initializationExpression":{"assignments":[58412],"declarations":[{"constant":false,"id":58412,"mutability":"mutable","name":"i","nameLocation":"10609:1:104","nodeType":"VariableDeclaration","scope":58446,"src":"10601:9:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58411,"name":"uint256","nodeType":"ElementaryTypeName","src":"10601:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58413,"nodeType":"VariableDeclarationStatement","src":"10601:9:104"},"loopExpression":{"expression":{"id":58418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10621:3:104","subExpression":{"id":58417,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58412,"src":"10621:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58419,"nodeType":"ExpressionStatement","src":"10621:3:104"},"nodeType":"ForStatement","src":"10596:256:104"},{"assignments":[58451],"declarations":[{"constant":false,"id":58451,"mutability":"mutable","name":"trimmed","nameLocation":"10875:7:104","nodeType":"VariableDeclaration","scope":58479,"src":"10858:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58449,"name":"uint256","nodeType":"ElementaryTypeName","src":"10858:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58450,"nodeType":"ArrayTypeName","src":"10858:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":58457,"initialValue":{"arguments":[{"id":58455,"name":"activeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58409,"src":"10899:11:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10885:13:104","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":58452,"name":"uint256","nodeType":"ElementaryTypeName","src":"10889:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58453,"nodeType":"ArrayTypeName","src":"10889:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":58456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10885:26:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10858:53:104"},{"body":{"id":58475,"nodeType":"Block","src":"10955:48:104","statements":[{"expression":{"id":58473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58467,"name":"trimmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58451,"src":"10963:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":58469,"indexExpression":{"id":58468,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58459,"src":"10971:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10963:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":58470,"name":"activeProposalIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58401,"src":"10976:17:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":58472,"indexExpression":{"id":58471,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58459,"src":"10994:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10976:20:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10963:33:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58474,"nodeType":"ExpressionStatement","src":"10963:33:104"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58461,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58459,"src":"10933:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":58462,"name":"activeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58409,"src":"10937:11:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10933:15:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58476,"initializationExpression":{"assignments":[58459],"declarations":[{"constant":false,"id":58459,"mutability":"mutable","name":"i","nameLocation":"10930:1:104","nodeType":"VariableDeclaration","scope":58476,"src":"10922:9:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58458,"name":"uint256","nodeType":"ElementaryTypeName","src":"10922:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58460,"nodeType":"VariableDeclarationStatement","src":"10922:9:104"},"loopExpression":{"expression":{"id":58465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10950:3:104","subExpression":{"id":58464,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58459,"src":"10950:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58466,"nodeType":"ExpressionStatement","src":"10950:3:104"},"nodeType":"ForStatement","src":"10917:86:104"},{"expression":{"id":58477,"name":"trimmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58451,"src":"11016:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":58365,"id":58478,"nodeType":"Return","src":"11009:14:104"}]},"documentation":{"id":58360,"nodeType":"StructuredDocumentation","src":"9928:221:104","text":" @notice Returns proposal IDs that are currently active.\n @dev Iterates proposals registered for the current round and filters by Active state.\n      Bounded by proposals-per-round (0-3 in practice)."},"functionSelector":"5584c4f9","id":58480,"implemented":true,"kind":"function","modifiers":[],"name":"getActiveProposals","nameLocation":"10161:18:104","nodeType":"FunctionDefinition","parameters":{"id":58361,"nodeType":"ParameterList","parameters":[],"src":"10179:2:104"},"returnParameters":{"id":58365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58364,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58480,"src":"10205:16:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58362,"name":"uint256","nodeType":"ElementaryTypeName","src":"10205:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58363,"nodeType":"ArrayTypeName","src":"10205:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"10204:18:104"},"scope":60252,"src":"10152:876:104","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":58560,"nodeType":"Block","src":"12182:748:104","statements":[{"assignments":[58504],"declarations":[{"constant":false,"id":58504,"mutability":"mutable","name":"proposer","nameLocation":"12196:8:104","nodeType":"VariableDeclaration","scope":58560,"src":"12188:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58503,"name":"address","nodeType":"ElementaryTypeName","src":"12188:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58507,"initialValue":{"expression":{"id":58505,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12207:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12211:6:104","memberName":"sender","nodeType":"MemberAccess","src":"12207:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12188:29:104"},{"assignments":[58509],"declarations":[{"constant":false,"id":58509,"mutability":"mutable","name":"proposalId","nameLocation":"12232:10:104","nodeType":"VariableDeclaration","scope":58560,"src":"12224:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58508,"name":"uint256","nodeType":"ElementaryTypeName","src":"12224:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58521,"initialValue":{"arguments":[{"id":58511,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58484,"src":"12258:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58512,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58487,"src":"12267:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58513,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58490,"src":"12275:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"arguments":[{"arguments":[{"id":58517,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58492,"src":"12302:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":58516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12296:5:104","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":58515,"name":"bytes","nodeType":"ElementaryTypeName","src":"12296:5:104","typeDescriptions":{}}},"id":58518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12296:18:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58514,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12286:9:104","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12286:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":58510,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58179,"src":"12245:12:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":58520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12245:71:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12224:92:104"},{"expression":{"arguments":[{"id":58523,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58504,"src":"12352:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58524,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58494,"src":"12368:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58525,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58492,"src":"12388:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58526,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58484,"src":"12407:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58527,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58487,"src":"12422:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58528,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58490,"src":"12436:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58529,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58509,"src":"12453:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":58530,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"12471:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12485:12:104","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"12471:26:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":58532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12498:8:104","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":61429,"src":"12471:35:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":58522,"name":"validateProposeParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59532,"src":"12323:21:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (address,uint256,string memory,address[] memory,uint256[] memory,bytes memory[] memory,uint256,enum GovernorTypes.ProposalType) view"}},"id":58533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12323:189:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58534,"nodeType":"ExpressionStatement","src":"12323:189:104"},{"assignments":[58536],"declarations":[{"constant":false,"id":58536,"mutability":"mutable","name":"createdId","nameLocation":"12527:9:104","nodeType":"VariableDeclaration","scope":58560,"src":"12519:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58535,"name":"uint256","nodeType":"ElementaryTypeName","src":"12519:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58550,"initialValue":{"arguments":[{"id":58538,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58504,"src":"12555:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58539,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58509,"src":"12571:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58540,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58484,"src":"12589:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58541,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58487,"src":"12604:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58542,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58490,"src":"12618:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58543,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58492,"src":"12635:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58544,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58494,"src":"12654:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58545,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58496,"src":"12674:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":58546,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"12695:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12709:12:104","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"12695:26:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":58548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12722:8:104","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":61429,"src":"12695:35:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":58537,"name":"_propose","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59340,"src":"12539:8:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256,enum GovernorTypes.ProposalType) returns (uint256)"}},"id":58549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12539:197:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12519:217:104"},{"expression":{"arguments":[{"id":58554,"name":"createdId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58536,"src":"12881:9:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58555,"name":"maxBudget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58498,"src":"12892:9:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58551,"name":"GovernorCommunityExecutionLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56031,"src":"12831:31:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorCommunityExecutionLogic_$56031_$","typeString":"type(library GovernorCommunityExecutionLogic)"}},"id":58553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12863:17:104","memberName":"setProposalBudget","nodeType":"MemberAccess","referencedDeclaration":55338,"src":"12831:49:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":58556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12831:71:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58557,"nodeType":"ExpressionStatement","src":"12831:71:104"},{"expression":{"id":58558,"name":"createdId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58536,"src":"12916:9:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58502,"id":58559,"nodeType":"Return","src":"12909:16:104"}]},"documentation":{"id":58481,"nodeType":"StructuredDocumentation","src":"11089:846:104","text":" @notice Proposes a new Standard governance action with an optional Community-Execution max budget.\n @dev V11 unified entrypoint. `maxBudget == 0` means \"no payout flow\"; `maxBudget > 0` is the hard cap\n      that will later be paid out to registered developer payees via {markAsInDevelopment}.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param description The description of the proposal.\n @param startRoundId The round in which the proposal should be active.\n @param depositAmount The amount of tokens the proposer intends to deposit.\n @param maxBudget Maximum implementation budget in B3TR wei. Set to 0 for proposals without a payout flow.\n @return The proposal id."},"functionSelector":"eab59fd2","id":58561,"implemented":true,"kind":"function","modifiers":[],"name":"propose","nameLocation":"11947:7:104","nodeType":"FunctionDefinition","parameters":{"id":58499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58484,"mutability":"mutable","name":"targets","nameLocation":"11977:7:104","nodeType":"VariableDeclaration","scope":58561,"src":"11960:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58482,"name":"address","nodeType":"ElementaryTypeName","src":"11960:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58483,"nodeType":"ArrayTypeName","src":"11960:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":58487,"mutability":"mutable","name":"values","nameLocation":"12007:6:104","nodeType":"VariableDeclaration","scope":58561,"src":"11990:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58485,"name":"uint256","nodeType":"ElementaryTypeName","src":"11990:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58486,"nodeType":"ArrayTypeName","src":"11990:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":58490,"mutability":"mutable","name":"calldatas","nameLocation":"12034:9:104","nodeType":"VariableDeclaration","scope":58561,"src":"12019:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":58488,"name":"bytes","nodeType":"ElementaryTypeName","src":"12019:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":58489,"nodeType":"ArrayTypeName","src":"12019:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":58492,"mutability":"mutable","name":"description","nameLocation":"12063:11:104","nodeType":"VariableDeclaration","scope":58561,"src":"12049:25:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58491,"name":"string","nodeType":"ElementaryTypeName","src":"12049:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58494,"mutability":"mutable","name":"startRoundId","nameLocation":"12088:12:104","nodeType":"VariableDeclaration","scope":58561,"src":"12080:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58493,"name":"uint256","nodeType":"ElementaryTypeName","src":"12080:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58496,"mutability":"mutable","name":"depositAmount","nameLocation":"12114:13:104","nodeType":"VariableDeclaration","scope":58561,"src":"12106:21:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58495,"name":"uint256","nodeType":"ElementaryTypeName","src":"12106:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58498,"mutability":"mutable","name":"maxBudget","nameLocation":"12141:9:104","nodeType":"VariableDeclaration","scope":58561,"src":"12133:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58497,"name":"uint256","nodeType":"ElementaryTypeName","src":"12133:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11954:200:104"},"returnParameters":{"id":58502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58561,"src":"12173:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58500,"name":"uint256","nodeType":"ElementaryTypeName","src":"12173:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12172:9:104"},"scope":60252,"src":"11938:992:104","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":58651,"nodeType":"Block","src":"13936:919:104","statements":[{"assignments":[58590],"declarations":[{"constant":false,"id":58590,"mutability":"mutable","name":"$","nameLocation":"13987:1:104","nodeType":"VariableDeclaration","scope":58651,"src":"13942:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58589,"nodeType":"UserDefinedTypeName","pathNode":{"id":58588,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["13942:20:104","13963:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"13942:36:104"},"referencedDeclaration":61305,"src":"13942:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58594,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58591,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"13991:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14012:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"13991:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13991:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13942:90:104"},{"assignments":[58596],"declarations":[{"constant":false,"id":58596,"mutability":"mutable","name":"proposalId","nameLocation":"14046:10:104","nodeType":"VariableDeclaration","scope":58651,"src":"14038:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58595,"name":"uint256","nodeType":"ElementaryTypeName","src":"14038:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58608,"initialValue":{"arguments":[{"id":58598,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58565,"src":"14072:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58599,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58568,"src":"14081:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58600,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58571,"src":"14089:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"arguments":[{"arguments":[{"id":58604,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"14116:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":58603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14110:5:104","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":58602,"name":"bytes","nodeType":"ElementaryTypeName","src":"14110:5:104","typeDescriptions":{}}},"id":58605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14110:18:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58601,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"14100:9:104","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14100:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":58597,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58179,"src":"14059:12:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":58607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14059:71:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14038:92:104"},{"expression":{"arguments":[{"expression":{"id":58610,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14166:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14170:6:104","memberName":"sender","nodeType":"MemberAccess","src":"14166:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58612,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58575,"src":"14195:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58613,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"14215:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58614,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58565,"src":"14234:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58615,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58568,"src":"14249:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58616,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58571,"src":"14263:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58617,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58596,"src":"14280:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":58618,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"14298:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14312:12:104","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"14298:26:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":58620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14325:5:104","memberName":"Grant","nodeType":"MemberAccess","referencedDeclaration":61430,"src":"14298:32:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":58609,"name":"validateProposeParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59532,"src":"14137:21:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (address,uint256,string memory,address[] memory,uint256[] memory,bytes memory[] memory,uint256,enum GovernorTypes.ProposalType) view"}},"id":58621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14137:199:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58622,"nodeType":"ExpressionStatement","src":"14137:199:104"},{"expression":{"arguments":[{"id":58628,"name":"milestonesDetailsMetadataURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58581,"src":"14483:28:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58629,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58596,"src":"14519:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":58630,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14537:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14541:6:104","memberName":"sender","nodeType":"MemberAccess","src":"14537:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58632,"name":"grantsReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58579,"src":"14566:14:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58633,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58571,"src":"14588:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"arguments":[{"expression":{"id":58624,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58590,"src":"14442:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58625,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14444:13:104","memberName":"grantsManager","nodeType":"MemberAccess","referencedDeclaration":61239,"src":"14442:15:104","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}],"id":58623,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"14427:14:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGrantsManager_$65639_$","typeString":"type(contract IGrantsManager)"}},"id":58626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14427:31:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"id":58627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14459:16:104","memberName":"createMilestones","nodeType":"MemberAccess","referencedDeclaration":65434,"src":"14427:48:104","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_address_$_t_address_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,uint256,address,address,bytes memory[] memory) external"}},"id":58634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14427:176:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58635,"nodeType":"ExpressionStatement","src":"14427:176:104"},{"expression":{"arguments":[{"expression":{"id":58637,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14641:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14645:6:104","memberName":"sender","nodeType":"MemberAccess","src":"14641:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58639,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58596,"src":"14672:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58640,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58565,"src":"14692:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58641,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58568,"src":"14709:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58642,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58571,"src":"14725:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58643,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"14744:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58644,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58575,"src":"14765:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58645,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58577,"src":"14787:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":58646,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"14810:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14824:12:104","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"14810:26:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":58648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14837:5:104","memberName":"Grant","nodeType":"MemberAccess","referencedDeclaration":61430,"src":"14810:32:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":58636,"name":"_propose","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59340,"src":"14623:8:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256,enum GovernorTypes.ProposalType) returns (uint256)"}},"id":58649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14623:227:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58585,"id":58650,"nodeType":"Return","src":"14610:240:104"}]},"documentation":{"id":58562,"nodeType":"StructuredDocumentation","src":"12934:697:104","text":" @notice Proposes a new grant proposal.\n @dev Creates a new proposal and validates the proposal parameters.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param description The description of the proposal.\n @param startRoundId The round in which the proposal should be active.\n @param depositAmount The amount of tokens the proposer intends to deposit.\n @param grantsReceiver The address of the grants receiver\n @param milestonesDetailsMetadataURI The IPFS hash containing the milestones ipfs hash\n @return The proposal id."},"functionSelector":"013b1088","id":58652,"implemented":true,"kind":"function","modifiers":[],"name":"proposeGrant","nameLocation":"13643:12:104","nodeType":"FunctionDefinition","parameters":{"id":58582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58565,"mutability":"mutable","name":"targets","nameLocation":"13678:7:104","nodeType":"VariableDeclaration","scope":58652,"src":"13661:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58563,"name":"address","nodeType":"ElementaryTypeName","src":"13661:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58564,"nodeType":"ArrayTypeName","src":"13661:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":58568,"mutability":"mutable","name":"values","nameLocation":"13708:6:104","nodeType":"VariableDeclaration","scope":58652,"src":"13691:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58566,"name":"uint256","nodeType":"ElementaryTypeName","src":"13691:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58567,"nodeType":"ArrayTypeName","src":"13691:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":58571,"mutability":"mutable","name":"calldatas","nameLocation":"13735:9:104","nodeType":"VariableDeclaration","scope":58652,"src":"13720:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":58569,"name":"bytes","nodeType":"ElementaryTypeName","src":"13720:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":58570,"nodeType":"ArrayTypeName","src":"13720:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":58573,"mutability":"mutable","name":"description","nameLocation":"13764:11:104","nodeType":"VariableDeclaration","scope":58652,"src":"13750:25:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58572,"name":"string","nodeType":"ElementaryTypeName","src":"13750:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58575,"mutability":"mutable","name":"startRoundId","nameLocation":"13789:12:104","nodeType":"VariableDeclaration","scope":58652,"src":"13781:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58574,"name":"uint256","nodeType":"ElementaryTypeName","src":"13781:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58577,"mutability":"mutable","name":"depositAmount","nameLocation":"13815:13:104","nodeType":"VariableDeclaration","scope":58652,"src":"13807:21:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58576,"name":"uint256","nodeType":"ElementaryTypeName","src":"13807:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58579,"mutability":"mutable","name":"grantsReceiver","nameLocation":"13842:14:104","nodeType":"VariableDeclaration","scope":58652,"src":"13834:22:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58578,"name":"address","nodeType":"ElementaryTypeName","src":"13834:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58581,"mutability":"mutable","name":"milestonesDetailsMetadataURI","nameLocation":"13876:28:104","nodeType":"VariableDeclaration","scope":58652,"src":"13862:42:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58580,"name":"string","nodeType":"ElementaryTypeName","src":"13862:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13655:253:104"},"returnParameters":{"id":58585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58652,"src":"13927:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58583,"name":"uint256","nodeType":"ElementaryTypeName","src":"13927:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13926:9:104"},"scope":60252,"src":"13634:1221:104","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":58696,"nodeType":"Block","src":"15214:336:104","statements":[{"assignments":[58664],"declarations":[{"constant":false,"id":58664,"mutability":"mutable","name":"$","nameLocation":"15265:1:104","nodeType":"VariableDeclaration","scope":58696,"src":"15220:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58663,"nodeType":"UserDefinedTypeName","pathNode":{"id":58662,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["15220:20:104","15241:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"15220:36:104"},"referencedDeclaration":61305,"src":"15220:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58668,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58665,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"15269:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15290:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"15269:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15269:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15220:90:104"},{"assignments":[58673],"declarations":[{"constant":false,"id":58673,"mutability":"mutable","name":"proposal","nameLocation":"15351:8:104","nodeType":"VariableDeclaration","scope":58696,"src":"15316:43:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"},"typeName":{"id":58672,"nodeType":"UserDefinedTypeName","pathNode":{"id":58671,"name":"GovernorTypes.ProposalCore","nameLocations":["15316:13:104","15330:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61395,"src":"15316:26:104"},"referencedDeclaration":61395,"src":"15316:26:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"}},"visibility":"internal"}],"id":58678,"initialValue":{"baseExpression":{"expression":{"id":58674,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58664,"src":"15362:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15364:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"15362:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":58677,"indexExpression":{"id":58676,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58655,"src":"15374:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15362:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15316:69:104"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":58679,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58673,"src":"15395:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":58680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15404:16:104","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"15395:25:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":58681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15424:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15395:30:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58686,"nodeType":"IfStatement","src":"15391:63:104","trueBody":{"id":58685,"nodeType":"Block","src":"15427:27:104","statements":[{"expression":{"hexValue":"66616c7365","id":58683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15442:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":58659,"id":58684,"nodeType":"Return","src":"15435:12:104"}]}},{"condition":{"expression":{"id":58687,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58673,"src":"15464:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":58688,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15473:12:104","memberName":"isExecutable","nodeType":"MemberAccess","referencedDeclaration":61384,"src":"15464:21:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":58694,"nodeType":"Block","src":"15519:27:104","statements":[{"expression":{"hexValue":"66616c7365","id":58692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15534:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":58659,"id":58693,"nodeType":"Return","src":"15527:12:104"}]},"id":58695,"nodeType":"IfStatement","src":"15460:86:104","trueBody":{"id":58691,"nodeType":"Block","src":"15487:26:104","statements":[{"expression":{"hexValue":"74727565","id":58689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15502:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":58659,"id":58690,"nodeType":"Return","src":"15495:11:104"}]}}]},"documentation":{"id":58653,"nodeType":"StructuredDocumentation","src":"14859:265:104","text":" @dev Function to know if a proposal is executable or not.\n If the proposal was creted without any targets, values, or calldatas, it is not executable.\n to check if the proposal is executable.\n @param proposalId The id of the proposal"},"functionSelector":"a9a95294","id":58697,"implemented":true,"kind":"function","modifiers":[],"name":"proposalNeedsQueuing","nameLocation":"15136:20:104","nodeType":"FunctionDefinition","parameters":{"id":58656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58655,"mutability":"mutable","name":"proposalId","nameLocation":"15170:10:104","nodeType":"VariableDeclaration","scope":58697,"src":"15162:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58654,"name":"uint256","nodeType":"ElementaryTypeName","src":"15162:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15156:28:104"},"returnParameters":{"id":58659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58697,"src":"15208:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58657,"name":"bool","nodeType":"ElementaryTypeName","src":"15208:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15207:6:104"},"scope":60252,"src":"15127:423:104","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":58782,"nodeType":"Block","src":"16225:717:104","statements":[{"assignments":[58720],"declarations":[{"constant":false,"id":58720,"mutability":"mutable","name":"$","nameLocation":"16276:1:104","nodeType":"VariableDeclaration","scope":58782,"src":"16231:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58719,"nodeType":"UserDefinedTypeName","pathNode":{"id":58718,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["16231:20:104","16252:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"16231:36:104"},"referencedDeclaration":61305,"src":"16231:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58724,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58721,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"16280:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16301:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"16280:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16280:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16231:90:104"},{"assignments":[58726],"declarations":[{"constant":false,"id":58726,"mutability":"mutable","name":"proposalId","nameLocation":"16335:10:104","nodeType":"VariableDeclaration","scope":58782,"src":"16327:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58725,"name":"uint256","nodeType":"ElementaryTypeName","src":"16327:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58733,"initialValue":{"arguments":[{"id":58728,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58703,"src":"16361:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58729,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58706,"src":"16370:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58730,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58709,"src":"16378:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58731,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58711,"src":"16389:15:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":58727,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58179,"src":"16348:12:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":58732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16348:57:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16327:78:104"},{"expression":{"arguments":[{"id":58737,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58726,"src":"16458:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":58740,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"16513:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16527:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"16513:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":58742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16541:9:104","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":61400,"src":"16513:37:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":58738,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"16476:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16495:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"16476:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":58743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16476:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58734,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"16412:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16431:19:104","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"16412:38:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":58744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16412:145:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":58745,"nodeType":"ExpressionStatement","src":"16412:145:104"},{"assignments":[58747],"declarations":[{"constant":false,"id":58747,"mutability":"mutable","name":"etaSeconds","nameLocation":"16571:10:104","nodeType":"VariableDeclaration","scope":58782,"src":"16564:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":58746,"name":"uint48","nodeType":"ElementaryTypeName","src":"16564:6:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":58756,"initialValue":{"arguments":[{"id":58749,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58700,"src":"16608:15:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58750,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58726,"src":"16631:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58751,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58703,"src":"16649:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58752,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58706,"src":"16664:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58753,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58709,"src":"16678:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58754,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58711,"src":"16695:15:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":58748,"name":"_queueOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59811,"src":"16584:16:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint48_$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint48)"}},"id":58755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16584:132:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"16564:152:104"},{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":58759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58757,"name":"etaSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58747,"src":"16727:10:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":58758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16741:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16727:15:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":58778,"nodeType":"Block","src":"16863:51:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":58775,"name":"GovernorQueueNotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58108,"src":"16878:27:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":58776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16878:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58777,"nodeType":"RevertStatement","src":"16871:36:104"}]},"id":58779,"nodeType":"IfStatement","src":"16723:191:104","trueBody":{"id":58774,"nodeType":"Block","src":"16744:113:104","statements":[{"expression":{"id":58767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":58760,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58720,"src":"16752:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16754:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"16752:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":58764,"indexExpression":{"id":58762,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58726,"src":"16764:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16752:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":58765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16776:10:104","memberName":"etaSeconds","nodeType":"MemberAccess","referencedDeclaration":61390,"src":"16752:34:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58766,"name":"etaSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58747,"src":"16789:10:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"16752:47:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":58768,"nodeType":"ExpressionStatement","src":"16752:47:104"},{"eventCall":{"arguments":[{"id":58770,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58726,"src":"16827:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58771,"name":"etaSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58747,"src":"16839:10:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":58769,"name":"ProposalQueued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58070,"src":"16812:14:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":58772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16812:38:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58773,"nodeType":"EmitStatement","src":"16807:43:104"}]}},{"expression":{"id":58780,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58726,"src":"16927:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58715,"id":58781,"nodeType":"Return","src":"16920:17:104"}]},"documentation":{"id":58698,"nodeType":"StructuredDocumentation","src":"15554:440:104","text":" @notice Queues a proposal for execution.\n @dev Queues the proposal in the timelock.\n @param contractAddress The address of the calling contract.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @return The proposal id."},"functionSelector":"01957cc7","id":58783,"implemented":true,"kind":"function","modifiers":[],"name":"queue","nameLocation":"16006:5:104","nodeType":"FunctionDefinition","parameters":{"id":58712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58700,"mutability":"mutable","name":"contractAddress","nameLocation":"16025:15:104","nodeType":"VariableDeclaration","scope":58783,"src":"16017:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58699,"name":"address","nodeType":"ElementaryTypeName","src":"16017:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58703,"mutability":"mutable","name":"targets","nameLocation":"16098:7:104","nodeType":"VariableDeclaration","scope":58783,"src":"16081:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58701,"name":"address","nodeType":"ElementaryTypeName","src":"16081:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58702,"nodeType":"ArrayTypeName","src":"16081:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":58706,"mutability":"mutable","name":"values","nameLocation":"16128:6:104","nodeType":"VariableDeclaration","scope":58783,"src":"16111:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58704,"name":"uint256","nodeType":"ElementaryTypeName","src":"16111:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58705,"nodeType":"ArrayTypeName","src":"16111:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":58709,"mutability":"mutable","name":"calldatas","nameLocation":"16155:9:104","nodeType":"VariableDeclaration","scope":58783,"src":"16140:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":58707,"name":"bytes","nodeType":"ElementaryTypeName","src":"16140:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":58708,"nodeType":"ArrayTypeName","src":"16140:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":58711,"mutability":"mutable","name":"descriptionHash","nameLocation":"16178:15:104","nodeType":"VariableDeclaration","scope":58783,"src":"16170:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16170:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16011:186:104"},"returnParameters":{"id":58715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58783,"src":"16216:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58713,"name":"uint256","nodeType":"ElementaryTypeName","src":"16216:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16215:9:104"},"scope":60252,"src":"15997:945:104","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":58924,"nodeType":"Block","src":"17616:1174:104","statements":[{"assignments":[58806],"declarations":[{"constant":false,"id":58806,"mutability":"mutable","name":"$","nameLocation":"17667:1:104","nodeType":"VariableDeclaration","scope":58924,"src":"17622:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58805,"nodeType":"UserDefinedTypeName","pathNode":{"id":58804,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["17622:20:104","17643:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"17622:36:104"},"referencedDeclaration":61305,"src":"17622:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58810,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58807,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"17671:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17692:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"17671:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17671:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17622:90:104"},{"assignments":[58812],"declarations":[{"constant":false,"id":58812,"mutability":"mutable","name":"proposalId","nameLocation":"17726:10:104","nodeType":"VariableDeclaration","scope":58924,"src":"17718:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58811,"name":"uint256","nodeType":"ElementaryTypeName","src":"17718:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58819,"initialValue":{"arguments":[{"id":58814,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58789,"src":"17752:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58815,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58792,"src":"17761:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58816,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58795,"src":"17769:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58817,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"17780:15:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":58813,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58179,"src":"17739:12:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":58818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17739:57:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17718:78:104"},{"expression":{"arguments":[{"id":58823,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58812,"src":"17849:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":58836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"expression":{"id":58826,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"17904:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17918:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"17904:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":58828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17932:9:104","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":61400,"src":"17904:37:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":58824,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"17867:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17886:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"17867:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":58829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17867:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"expression":{"expression":{"id":58832,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"17990:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18004:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"17990:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":58834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18018:6:104","memberName":"Queued","nodeType":"MemberAccess","referencedDeclaration":61401,"src":"17990:34:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":58830,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"17953:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"17953:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":58835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17953:72:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"17867:158:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58820,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"17803:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17822:19:104","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"17803:38:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":58837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17803:228:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":58838,"nodeType":"ExpressionStatement","src":"17803:228:104"},{"expression":{"id":58846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":58839,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58806,"src":"18095:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18097:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"18095:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":58843,"indexExpression":{"id":58841,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58812,"src":"18107:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18095:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":58844,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18119:8:104","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":61386,"src":"18095:32:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":58845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18130:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"18095:39:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58847,"nodeType":"ExpressionStatement","src":"18095:39:104"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58848,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"18203:23:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":58849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18227:8:104","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":57929,"src":"18203:32:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":58850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18203:34:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":58851,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58786,"src":"18241:15:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18203:53:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58888,"nodeType":"IfStatement","src":"18199:238:104","trueBody":{"id":58887,"nodeType":"Block","src":"18258:179:104","statements":[{"body":{"id":58885,"nodeType":"Block","src":"18307:124:104","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":58863,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58789,"src":"18321:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58865,"indexExpression":{"id":58864,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58854,"src":"18329:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18321:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":58868,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18343:4:104","typeDescriptions":{"typeIdentifier":"t_contract$_GovernorProposalLogic_$60252","typeString":"library GovernorProposalLogic"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GovernorProposalLogic_$60252","typeString":"library GovernorProposalLogic"}],"id":58867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18335:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58866,"name":"address","nodeType":"ElementaryTypeName","src":"18335:7:104","typeDescriptions":{}}},"id":58869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18335:13:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18321:27:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58884,"nodeType":"IfStatement","src":"18317:106:104","trueBody":{"id":58883,"nodeType":"Block","src":"18350:73:104","statements":[{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":58877,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58795,"src":"18398:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":58879,"indexExpression":{"id":58878,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58854,"src":"18408:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18398:12:104","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58876,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18388:9:104","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18388:23:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":58871,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58806,"src":"18362:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18364:14:104","memberName":"governanceCall","nodeType":"MemberAccess","referencedDeclaration":61149,"src":"18362:16:104","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":58875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18379:8:104","memberName":"pushBack","nodeType":"MemberAccess","referencedDeclaration":10511,"src":"18362:25:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$10469_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_struct$_Bytes32Deque_$10469_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer,bytes32)"}},"id":58881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18362:50:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58882,"nodeType":"ExpressionStatement","src":"18362:50:104"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58856,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58854,"src":"18282:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":58857,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58789,"src":"18286:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18294:6:104","memberName":"length","nodeType":"MemberAccess","src":"18286:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18282:18:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58886,"initializationExpression":{"assignments":[58854],"declarations":[{"constant":false,"id":58854,"mutability":"mutable","name":"i","nameLocation":"18279:1:104","nodeType":"VariableDeclaration","scope":58886,"src":"18271:9:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58853,"name":"uint256","nodeType":"ElementaryTypeName","src":"18271:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58855,"nodeType":"VariableDeclarationStatement","src":"18271:9:104"},"loopExpression":{"expression":{"id":58861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18302:3:104","subExpression":{"id":58860,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58854,"src":"18304:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58862,"nodeType":"ExpressionStatement","src":"18302:3:104"},"nodeType":"ForStatement","src":"18266:165:104"}]}},{"expression":{"arguments":[{"id":58890,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58786,"src":"18462:15:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58891,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58812,"src":"18479:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58892,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58789,"src":"18491:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58893,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58792,"src":"18500:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58894,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58795,"src":"18508:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58895,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"18519:15:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":58889,"name":"_executeOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59728,"src":"18443:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32)"}},"id":58896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18443:92:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58897,"nodeType":"ExpressionStatement","src":"18443:92:104"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":58908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58898,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"18599:23:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":58899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18623:8:104","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":57929,"src":"18599:32:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":58900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18599:34:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":58901,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58786,"src":"18637:15:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18599:53:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":58907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18656:25:104","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":58903,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58806,"src":"18657:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18659:14:104","memberName":"governanceCall","nodeType":"MemberAccess","referencedDeclaration":61149,"src":"18657:16:104","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":58905,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18674:5:104","memberName":"empty","nodeType":"MemberAccess","referencedDeclaration":10780,"src":"18657:22:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Bytes32Deque_$10469_storage_ptr_$returns$_t_bool_$attached_to$_t_struct$_Bytes32Deque_$10469_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)"}},"id":58906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18657:24:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18599:82:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58917,"nodeType":"IfStatement","src":"18595:127:104","trueBody":{"id":58916,"nodeType":"Block","src":"18683:39:104","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":58909,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58806,"src":"18691:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":58912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18693:14:104","memberName":"governanceCall","nodeType":"MemberAccess","referencedDeclaration":61149,"src":"18691:16:104","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage","typeString":"struct DoubleEndedQueue.Bytes32Deque storage ref"}},"id":58913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18708:5:104","memberName":"clear","nodeType":"MemberAccess","referencedDeclaration":10744,"src":"18691:22:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$10469_storage_ptr_$returns$__$attached_to$_t_struct$_Bytes32Deque_$10469_storage_ptr_$","typeString":"function (struct DoubleEndedQueue.Bytes32Deque storage pointer)"}},"id":58914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:24:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58915,"nodeType":"ExpressionStatement","src":"18691:24:104"}]}},{"eventCall":{"arguments":[{"id":58919,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58812,"src":"18750:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58918,"name":"ProposalExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58063,"src":"18733:16:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":58920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18733:28:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58921,"nodeType":"EmitStatement","src":"18728:33:104"},{"expression":{"id":58922,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58812,"src":"18775:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58801,"id":58923,"nodeType":"Return","src":"18768:17:104"}]},"documentation":{"id":58784,"nodeType":"StructuredDocumentation","src":"16946:437:104","text":" @notice Executes a queued proposal.\n @dev Executes the proposal in the timelock.\n @param contractAddress The address of the calling contract.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @return The proposal id."},"functionSelector":"fcadd1f7","id":58925,"implemented":true,"kind":"function","modifiers":[],"name":"execute","nameLocation":"17395:7:104","nodeType":"FunctionDefinition","parameters":{"id":58798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58786,"mutability":"mutable","name":"contractAddress","nameLocation":"17416:15:104","nodeType":"VariableDeclaration","scope":58925,"src":"17408:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58785,"name":"address","nodeType":"ElementaryTypeName","src":"17408:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58789,"mutability":"mutable","name":"targets","nameLocation":"17489:7:104","nodeType":"VariableDeclaration","scope":58925,"src":"17472:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58787,"name":"address","nodeType":"ElementaryTypeName","src":"17472:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58788,"nodeType":"ArrayTypeName","src":"17472:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":58792,"mutability":"mutable","name":"values","nameLocation":"17519:6:104","nodeType":"VariableDeclaration","scope":58925,"src":"17502:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58790,"name":"uint256","nodeType":"ElementaryTypeName","src":"17502:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58791,"nodeType":"ArrayTypeName","src":"17502:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":58795,"mutability":"mutable","name":"calldatas","nameLocation":"17546:9:104","nodeType":"VariableDeclaration","scope":58925,"src":"17531:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":58793,"name":"bytes","nodeType":"ElementaryTypeName","src":"17531:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":58794,"nodeType":"ArrayTypeName","src":"17531:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":58797,"mutability":"mutable","name":"descriptionHash","nameLocation":"17569:15:104","nodeType":"VariableDeclaration","scope":58925,"src":"17561:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17561:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17402:186:104"},"returnParameters":{"id":58801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58800,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58925,"src":"17607:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58799,"name":"uint256","nodeType":"ElementaryTypeName","src":"17607:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17606:9:104"},"scope":60252,"src":"17386:1404:104","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":59081,"nodeType":"Block","src":"19583:1393:104","statements":[{"assignments":[58952],"declarations":[{"constant":false,"id":58952,"mutability":"mutable","name":"$","nameLocation":"19634:1:104","nodeType":"VariableDeclaration","scope":59081,"src":"19589:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":58951,"nodeType":"UserDefinedTypeName","pathNode":{"id":58950,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["19589:20:104","19610:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"19589:36:104"},"referencedDeclaration":61305,"src":"19589:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":58956,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58953,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"19638:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":58954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19659:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"19638:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":58955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19638:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19589:90:104"},{"assignments":[58958],"declarations":[{"constant":false,"id":58958,"mutability":"mutable","name":"proposalId","nameLocation":"19693:10:104","nodeType":"VariableDeclaration","scope":59081,"src":"19685:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58957,"name":"uint256","nodeType":"ElementaryTypeName","src":"19685:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58965,"initialValue":{"arguments":[{"id":58960,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58933,"src":"19719:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58961,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58936,"src":"19728:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":58962,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58939,"src":"19736:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":58963,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58941,"src":"19747:15:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":58959,"name":"hashProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58179,"src":"19706:12:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)"}},"id":58964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19706:57:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19685:78:104"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":58973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58966,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58928,"src":"19774:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":58968,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58958,"src":"19802:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58967,"name":"proposalProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58203,"src":"19785:16:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":58969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19785:28:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19774:39:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":58972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19817:6:104","subExpression":{"id":58971,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58930,"src":"19818:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19774:49:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58979,"nodeType":"IfStatement","src":"19770:104:104","trueBody":{"id":58978,"nodeType":"Block","src":"19825:49:104","statements":[{"errorCall":{"arguments":[{"id":58975,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58928,"src":"19859:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58974,"name":"UnauthorizedAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58100,"src":"19840:18:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":58976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19840:27:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58977,"nodeType":"RevertStatement","src":"19833:34:104"}]}},{"expression":{"arguments":[{"id":58983,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58958,"src":"19926:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":59027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":59020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":59013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":59006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":58999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":58992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":58984,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"19944:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19963:26:104","memberName":"ALL_PROPOSAL_STATES_BITMAP","nodeType":"MemberAccess","referencedDeclaration":60798,"src":"19944:45:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":58988,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"20037:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20051:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"20037:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":58990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20065:8:104","memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":61398,"src":"20037:36:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":58986,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"20000:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20019:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"20000:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":58991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20000:74:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19944:130:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":58995,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"20122:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":58996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20136:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"20122:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":58997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20150:8:104","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"20122:36:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":58993,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"20085:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20104:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"20085:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":58998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20085:74:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19944:215:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":59002,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"20207:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20221:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"20207:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":59004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20235:13:104","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61404,"src":"20207:41:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":59000,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"20170:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20189:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"20170:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":59005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20170:79:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19944:305:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":59009,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"20297:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20311:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"20297:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":59011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20325:9:104","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61405,"src":"20297:37:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":59007,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"20260:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20279:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"20260:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":59012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20260:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19944:391:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":59016,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"20383:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20397:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"20383:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":59018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20411:13:104","memberName":"DepositNotMet","nodeType":"MemberAccess","referencedDeclaration":61403,"src":"20383:41:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":59014,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"20346:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20365:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"20346:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":59019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20346:79:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19944:481:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"expression":{"expression":{"id":59023,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"20473:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20487:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"20473:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":59025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20501:8:104","memberName":"Defeated","nodeType":"MemberAccess","referencedDeclaration":61399,"src":"20473:36:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":59021,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"20436:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20455:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"20436:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":59026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20436:74:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"19944:566:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58980,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"19880:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":58982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19899:19:104","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"19880:38:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":59028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19880:636:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":59029,"nodeType":"ExpressionStatement","src":"19880:636:104"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59030,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58928,"src":"20527:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":59032,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58958,"src":"20555:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59031,"name":"proposalProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58203,"src":"20538:16:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":59033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20538:28:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20527:39:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59048,"nodeType":"IfStatement","src":"20523:203:104","trueBody":{"id":59047,"nodeType":"Block","src":"20568:158:104","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"id":59043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":59038,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58958,"src":"20619:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59036,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"20593:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20612:6:104","memberName":"_state","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"20593:25:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view returns (enum GovernorTypes.ProposalState)"}},"id":59039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20593:37:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":59040,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"20634:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20648:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"20634:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":59042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20662:7:104","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":61396,"src":"20634:35:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"src":"20593:76:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"476f7665726e6f723a2070726f706f73616c206e6f742070656e64696e67","id":59044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20679:32:104","typeDescriptions":{"typeIdentifier":"t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837","typeString":"literal_string \"Governor: proposal not pending\""},"value":"Governor: proposal not pending"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837","typeString":"literal_string \"Governor: proposal not pending\""}],"id":59035,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20576:7:104","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":59045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20576:143:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59046,"nodeType":"ExpressionStatement","src":"20576:143:104"}]}},{"assignments":[59050],"declarations":[{"constant":false,"id":59050,"mutability":"mutable","name":"timelockId","nameLocation":"20740:10:104","nodeType":"VariableDeclaration","scope":59081,"src":"20732:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":59049,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20732:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":59055,"initialValue":{"baseExpression":{"expression":{"id":59051,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58952,"src":"20753:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20755:11:104","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":61161,"src":"20753:13:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":59054,"indexExpression":{"id":59053,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58958,"src":"20767:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20753:25:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"20732:46:104"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":59058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59056,"name":"timelockId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59050,"src":"20788:10:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":59057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20802:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20788:15:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59074,"nodeType":"IfStatement","src":"20784:138:104","trueBody":{"id":59073,"nodeType":"Block","src":"20805:117:104","statements":[{"expression":{"arguments":[{"id":59064,"name":"timelockId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59050,"src":"20847:10:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":59059,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58952,"src":"20829:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20831:8:104","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"20829:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":59063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20840:6:104","memberName":"cancel","nodeType":"MemberAccess","referencedDeclaration":1153,"src":"20829:17:104","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32) external"}},"id":59065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20829:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59066,"nodeType":"ExpressionStatement","src":"20829:29:104"},{"expression":{"id":59071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"20883:32:104","subExpression":{"baseExpression":{"expression":{"id":59067,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58952,"src":"20890:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20892:11:104","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":61161,"src":"20890:13:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":59070,"indexExpression":{"id":59069,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58958,"src":"20904:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20890:25:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59072,"nodeType":"ExpressionStatement","src":"20883:32:104"}]}},{"expression":{"arguments":[{"id":59076,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58958,"src":"20943:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59077,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58928,"src":"20955:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59078,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58943,"src":"20964:6:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":59075,"name":"_cancel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59854,"src":"20935:7:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,string memory) returns (uint256)"}},"id":59079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20935:36:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58947,"id":59080,"nodeType":"Return","src":"20928:43:104"}]},"documentation":{"id":58926,"nodeType":"StructuredDocumentation","src":"18794:558:104","text":" @notice Cancels a proposal.\n @dev Cancels a proposal in any state other than Canceled or Executed.\n @param account The account canceling the proposal.\n @param admin Whether the account has admin role.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @param reason The reason for canceling the proposal.\n @return The proposal id."},"functionSelector":"badecd76","id":59082,"implemented":true,"kind":"function","modifiers":[],"name":"cancel","nameLocation":"19364:6:104","nodeType":"FunctionDefinition","parameters":{"id":58944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58928,"mutability":"mutable","name":"account","nameLocation":"19384:7:104","nodeType":"VariableDeclaration","scope":59082,"src":"19376:15:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58927,"name":"address","nodeType":"ElementaryTypeName","src":"19376:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58930,"mutability":"mutable","name":"admin","nameLocation":"19402:5:104","nodeType":"VariableDeclaration","scope":59082,"src":"19397:10:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58929,"name":"bool","nodeType":"ElementaryTypeName","src":"19397:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58933,"mutability":"mutable","name":"targets","nameLocation":"19430:7:104","nodeType":"VariableDeclaration","scope":59082,"src":"19413:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58931,"name":"address","nodeType":"ElementaryTypeName","src":"19413:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58932,"nodeType":"ArrayTypeName","src":"19413:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":58936,"mutability":"mutable","name":"values","nameLocation":"19460:6:104","nodeType":"VariableDeclaration","scope":59082,"src":"19443:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":58934,"name":"uint256","nodeType":"ElementaryTypeName","src":"19443:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58935,"nodeType":"ArrayTypeName","src":"19443:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":58939,"mutability":"mutable","name":"calldatas","nameLocation":"19487:9:104","nodeType":"VariableDeclaration","scope":59082,"src":"19472:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":58937,"name":"bytes","nodeType":"ElementaryTypeName","src":"19472:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":58938,"nodeType":"ArrayTypeName","src":"19472:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":58941,"mutability":"mutable","name":"descriptionHash","nameLocation":"19510:15:104","nodeType":"VariableDeclaration","scope":59082,"src":"19502:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19502:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":58943,"mutability":"mutable","name":"reason","nameLocation":"19545:6:104","nodeType":"VariableDeclaration","scope":59082,"src":"19531:20:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58942,"name":"string","nodeType":"ElementaryTypeName","src":"19531:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19370:185:104"},"returnParameters":{"id":58947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":59082,"src":"19574:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58945,"name":"uint256","nodeType":"ElementaryTypeName","src":"19574:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19573:9:104"},"scope":60252,"src":"19355:1621:104","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":59145,"nodeType":"Block","src":"21458:837:104","statements":[{"assignments":[59092],"declarations":[{"constant":false,"id":59092,"mutability":"mutable","name":"$","nameLocation":"21509:1:104","nodeType":"VariableDeclaration","scope":59145,"src":"21464:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59091,"nodeType":"UserDefinedTypeName","pathNode":{"id":59090,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["21464:20:104","21485:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"21464:36:104"},"referencedDeclaration":61305,"src":"21464:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59096,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59093,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"21513:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21534:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"21513:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21513:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21464:90:104"},{"assignments":[59101],"declarations":[{"constant":false,"id":59101,"mutability":"mutable","name":"proposalType","nameLocation":"21587:12:104","nodeType":"VariableDeclaration","scope":59145,"src":"21560:39:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":59100,"nodeType":"UserDefinedTypeName","pathNode":{"id":59099,"name":"GovernorTypes.ProposalType","nameLocations":["21560:13:104","21574:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"21560:26:104"},"referencedDeclaration":61431,"src":"21560:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"id":59106,"initialValue":{"baseExpression":{"expression":{"id":59102,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59092,"src":"21602:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59103,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21604:12:104","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":61215,"src":"21602:14:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$61431_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalType)"}},"id":59105,"indexExpression":{"id":59104,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59085,"src":"21617:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21602:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"21560:68:104"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"id":59111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59107,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59101,"src":"21792:12:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":59108,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"21808:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21822:12:104","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"21808:26:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":59110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21835:8:104","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":61429,"src":"21808:35:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"src":"21792:51:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59118,"nodeType":"IfStatement","src":"21788:131:104","trueBody":{"id":59117,"nodeType":"Block","src":"21845:74:104","statements":[{"errorCall":{"arguments":[{"id":59113,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59085,"src":"21887:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59114,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59101,"src":"21899:12:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":59112,"name":"GovernorRestrictedProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58143,"src":"21860:26:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalType) pure"}},"id":59115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21860:52:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59116,"nodeType":"RevertStatement","src":"21853:59:104"}]}},{"expression":{"arguments":[{"id":59122,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59085,"src":"22035:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":59125,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"22090:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22104:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"22090:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":59127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22118:13:104","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61404,"src":"22090:41:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":59123,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"22053:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22072:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"22053:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":59128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22053:79:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":59119,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"21989:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22008:19:104","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"21989:38:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":59129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21989:149:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":59130,"nodeType":"ExpressionStatement","src":"21989:149:104"},{"expression":{"id":59139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":59131,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59092,"src":"22144:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22146:24:104","memberName":"proposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":61257,"src":"22144:26:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalDevelopmentState)"}},"id":59135,"indexExpression":{"id":59133,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59085,"src":"22171:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22144:38:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":59136,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"22185:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22199:24:104","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":61435,"src":"22185:38:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"type(enum GovernorTypes.ProposalDevelopmentState)"}},"id":59138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22224:9:104","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61434,"src":"22185:48:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"src":"22144:89:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"id":59140,"nodeType":"ExpressionStatement","src":"22144:89:104"},{"eventCall":{"arguments":[{"id":59142,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59085,"src":"22279:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59141,"name":"ProposalCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58080,"src":"22261:17:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":59143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22261:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59144,"nodeType":"EmitStatement","src":"22256:34:104"}]},"documentation":{"id":59083,"nodeType":"StructuredDocumentation","src":"20980:421:104","text":" @notice Mark a proposal as completed\n @param proposalId The id of the proposal.\n @dev This should be only callable by authorized wallet that has the PROPOSAL_STATE_MANAGER_ROLE role\n - Only Standard proposals are allowed here.\n - Can only mark as completed if proposal is in development\n - The proposal development state is set to Completed\n - The event ProposalCompleted is emitted"},"functionSelector":"c0a6026c","id":59146,"implemented":true,"kind":"function","modifiers":[],"name":"markAsCompleted","nameLocation":"21413:15:104","nodeType":"FunctionDefinition","parameters":{"id":59086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59085,"mutability":"mutable","name":"proposalId","nameLocation":"21437:10:104","nodeType":"VariableDeclaration","scope":59146,"src":"21429:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59084,"name":"uint256","nodeType":"ElementaryTypeName","src":"21429:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21428:20:104"},"returnParameters":{"id":59087,"nodeType":"ParameterList","parameters":[],"src":"21458:0:104"},"scope":60252,"src":"21404:891:104","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":59234,"nodeType":"Block","src":"23139:948:104","statements":[{"assignments":[59156],"declarations":[{"constant":false,"id":59156,"mutability":"mutable","name":"$","nameLocation":"23190:1:104","nodeType":"VariableDeclaration","scope":59234,"src":"23145:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59155,"nodeType":"UserDefinedTypeName","pathNode":{"id":59154,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["23145:20:104","23166:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"23145:36:104"},"referencedDeclaration":61305,"src":"23145:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59160,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59157,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"23194:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23215:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"23194:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23194:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"23145:90:104"},{"expression":{"arguments":[{"id":59164,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"23287:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":59177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"expression":{"id":59167,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"23342:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23356:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"23342:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":59169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23370:13:104","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61404,"src":"23342:41:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":59165,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"23305:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23324:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"23305:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":59170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23305:79:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"expression":{"expression":{"id":59173,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"23432:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23446:13:104","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"23432:27:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":59175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23460:9:104","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61405,"src":"23432:37:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":59171,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"23395:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23414:17:104","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"23395:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":59176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23395:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"23305:165:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":59161,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"23241:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23260:19:104","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"23241:38:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":59178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23241:235:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":59179,"nodeType":"ExpressionStatement","src":"23241:235:104"},{"condition":{"baseExpression":{"expression":{"id":59180,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59156,"src":"23486:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23488:12:104","memberName":"proposalPaid","nodeType":"MemberAccess","referencedDeclaration":61291,"src":"23486:14:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":59183,"indexExpression":{"id":59182,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"23501:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23486:26:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59189,"nodeType":"IfStatement","src":"23482:86:104","trueBody":{"id":59188,"nodeType":"Block","src":"23514:54:104","statements":[{"errorCall":{"arguments":[{"id":59185,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"23550:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59184,"name":"PayoutAlreadyClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58148,"src":"23529:20:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":59186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23529:32:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59187,"nodeType":"RevertStatement","src":"23522:39:104"}]}},{"expression":{"id":59198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":59190,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59156,"src":"23573:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23575:24:104","memberName":"proposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":61257,"src":"23573:26:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalDevelopmentState)"}},"id":59194,"indexExpression":{"id":59192,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"23600:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23573:38:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":59195,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"23614:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23628:24:104","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":61435,"src":"23614:38:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"type(enum GovernorTypes.ProposalDevelopmentState)"}},"id":59197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23653:18:104","memberName":"PendingDevelopment","nodeType":"MemberAccess","referencedDeclaration":61432,"src":"23614:57:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"src":"23573:98:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"id":59199,"nodeType":"ExpressionStatement","src":"23573:98:104"},{"expression":{"id":59204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23777:44:104","subExpression":{"baseExpression":{"expression":{"id":59200,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59156,"src":"23784:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59201,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23786:23:104","memberName":"proposalPayeesFinalized","nodeType":"MemberAccess","referencedDeclaration":61287,"src":"23784:25:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":59203,"indexExpression":{"id":59202,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"23810:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23784:37:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59205,"nodeType":"ExpressionStatement","src":"23777:44:104"},{"expression":{"id":59210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23827:34:104","subExpression":{"baseExpression":{"expression":{"id":59206,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59156,"src":"23834:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23836:13:104","memberName":"proposalPayee","nodeType":"MemberAccess","referencedDeclaration":61283,"src":"23834:15:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":59209,"indexExpression":{"id":59208,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"23850:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23834:27:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59211,"nodeType":"ExpressionStatement","src":"23827:34:104"},{"expression":{"id":59216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23867:40:104","subExpression":{"baseExpression":{"expression":{"id":59212,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59156,"src":"23874:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23876:19:104","memberName":"proposalDescription","nodeType":"MemberAccess","referencedDeclaration":61295,"src":"23874:21:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":59215,"indexExpression":{"id":59214,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"23896:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23874:33:104","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59217,"nodeType":"ExpressionStatement","src":"23867:40:104"},{"expression":{"id":59222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23913:53:104","subExpression":{"baseExpression":{"expression":{"id":59218,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59156,"src":"23920:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23922:32:104","memberName":"proposalImplementationDiscussion","nodeType":"MemberAccess","referencedDeclaration":61299,"src":"23920:34:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":59221,"indexExpression":{"id":59220,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"23955:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23920:46:104","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59223,"nodeType":"ExpressionStatement","src":"23913:53:104"},{"expression":{"id":59228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23972:41:104","subExpression":{"baseExpression":{"expression":{"id":59224,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59156,"src":"23979:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23981:20:104","memberName":"proposalContributors","nodeType":"MemberAccess","referencedDeclaration":61304,"src":"23979:22:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_string_storage_$dyn_storage_$","typeString":"mapping(uint256 => string storage ref[] storage ref)"}},"id":59227,"indexExpression":{"id":59226,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"24002:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23979:34:104","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59229,"nodeType":"ExpressionStatement","src":"23972:41:104"},{"eventCall":{"arguments":[{"id":59231,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59149,"src":"24071:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59230,"name":"ProposalDevelopmentStateReset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58085,"src":"24041:29:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":59232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24041:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59233,"nodeType":"EmitStatement","src":"24036:46:104"}]},"documentation":{"id":59147,"nodeType":"StructuredDocumentation","src":"22299:777:104","text":" @notice Reset the development state of a proposal back to pending development\n @param proposalId The id of the proposal\n @dev This should reset the enum state back to the original one,\n since pending development is not tracked in {GovernorStateLogic._state} condition.\n V11: also wipes the community-execution metadata (single payee, description,\n implementation-discussion link, contributors, finalized flag) so that a follow-up\n {markAsInDevelopment} call can register a fresh payee. The immutable `proposalMaxBudget`\n set at proposal-creation time is intentionally preserved.\n Reverts with {PayoutAlreadyClaimed} if the Treasury transfer has already executed —\n a paid proposal must never be silently un-marked."},"functionSelector":"c429bd82","id":59235,"implemented":true,"kind":"function","modifiers":[],"name":"resetDevelopmentState","nameLocation":"23088:21:104","nodeType":"FunctionDefinition","parameters":{"id":59150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59149,"mutability":"mutable","name":"proposalId","nameLocation":"23118:10:104","nodeType":"VariableDeclaration","scope":59235,"src":"23110:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59148,"name":"uint256","nodeType":"ElementaryTypeName","src":"23110:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23109:20:104"},"returnParameters":{"id":59151,"nodeType":"ParameterList","parameters":[],"src":"23139:0:104"},"scope":60252,"src":"23079:1008:104","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":59339,"nodeType":"Block","src":"25124:935:104","statements":[{"assignments":[59267],"declarations":[{"constant":false,"id":59267,"mutability":"mutable","name":"$","nameLocation":"25175:1:104","nodeType":"VariableDeclaration","scope":59339,"src":"25130:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59266,"nodeType":"UserDefinedTypeName","pathNode":{"id":59265,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["25130:20:104","25151:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"25130:36:104"},"referencedDeclaration":61305,"src":"25130:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59271,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59268,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"25179:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25200:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"25179:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25179:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"25130:90:104"},{"assignments":[59273],"declarations":[{"constant":false,"id":59273,"mutability":"mutable","name":"depositThresholdAmount","nameLocation":"25234:22:104","nodeType":"VariableDeclaration","scope":59339,"src":"25226:30:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59272,"name":"uint256","nodeType":"ElementaryTypeName","src":"25226:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59278,"initialValue":{"arguments":[{"id":59276,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59258,"src":"25312:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":59274,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"25259:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":59275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25280:31:104","memberName":"_depositThresholdByProposalType","nodeType":"MemberAccess","referencedDeclaration":57594,"src":"25259:52:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (enum GovernorTypes.ProposalType) view returns (uint256)"}},"id":59277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25259:71:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25226:104:104"},{"assignments":[59280],"declarations":[{"constant":false,"id":59280,"mutability":"mutable","name":"votingPeriod","nameLocation":"25343:12:104","nodeType":"VariableDeclaration","scope":59339,"src":"25336:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":59279,"name":"uint32","nodeType":"ElementaryTypeName","src":"25336:6:104","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":59288,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":59283,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59267,"src":"25376:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25378:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"25376:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25396:12:104","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":70868,"src":"25376:32:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25376:34:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59281,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"25358:8:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":59282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25367:8:104","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":7826,"src":"25358:17:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":59287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25358:53:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"25336:75:104"},{"assignments":[59290],"declarations":[{"constant":false,"id":59290,"mutability":"mutable","name":"isExecutable","nameLocation":"25422:12:104","nodeType":"VariableDeclaration","scope":59339,"src":"25417:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59289,"name":"bool","nodeType":"ElementaryTypeName","src":"25417:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":59295,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":59291,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59243,"src":"25437:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25445:6:104","memberName":"length","nodeType":"MemberAccess","src":"25437:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":59293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25454:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25437:18:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"25417:38:104"},{"expression":{"arguments":[{"id":59297,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59238,"src":"25480:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59298,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59258,"src":"25490:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":59296,"name":"_validateProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59674,"src":"25462:17:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (address,enum GovernorTypes.ProposalType) view"}},"id":59299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25462:46:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59300,"nodeType":"ExpressionStatement","src":"25462:46:104"},{"expression":{"arguments":[{"id":59302,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59240,"src":"25535:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59303,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59238,"src":"25553:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59304,"name":"votingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59280,"src":"25569:12:104","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":59305,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59253,"src":"25589:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59306,"name":"isExecutable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59290,"src":"25609:12:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":59307,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59255,"src":"25629:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59308,"name":"depositThresholdAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59273,"src":"25650:22:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59309,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59258,"src":"25680:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":59301,"name":"_setProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59626,"src":"25515:12:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint32_$_t_uint256_$_t_bool_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,address,uint32,uint256,bool,uint256,uint256,enum GovernorTypes.ProposalType)"}},"id":59310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25515:188:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59311,"nodeType":"ExpressionStatement","src":"25515:188:104"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59312,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59255,"src":"25714:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":59313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25730:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25714:17:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59324,"nodeType":"IfStatement","src":"25710:108:104","trueBody":{"id":59323,"nodeType":"Block","src":"25733:85:104","statements":[{"expression":{"arguments":[{"id":59318,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59255,"src":"25775:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59319,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59238,"src":"25790:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59320,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59240,"src":"25800:10:104","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":59315,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"25741:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":59317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25762:12:104","memberName":"depositFunds","nodeType":"MemberAccess","referencedDeclaration":57435,"src":"25741:33:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":59321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25741:70:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59322,"nodeType":"ExpressionStatement","src":"25741:70:104"}]}},{"expression":{"arguments":[{"id":59326,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59238,"src":"25858:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59327,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59240,"src":"25874:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59328,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59243,"src":"25892:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":59329,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59246,"src":"25907:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":59330,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59249,"src":"25921:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":59331,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59251,"src":"25938:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":59332,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59253,"src":"25957:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59333,"name":"depositThresholdAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59273,"src":"25977:22:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59334,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59258,"src":"26007:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":59325,"name":"_emitProposalCreatedEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59389,"src":"25824:26:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (address,uint256,address[] memory,uint256[] memory,bytes memory[] memory,string memory,uint256,uint256,enum GovernorTypes.ProposalType)"}},"id":59335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25824:206:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59336,"nodeType":"ExpressionStatement","src":"25824:206:104"},{"expression":{"id":59337,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59240,"src":"26044:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":59262,"id":59338,"nodeType":"Return","src":"26037:17:104"}]},"documentation":{"id":59236,"nodeType":"StructuredDocumentation","src":"24159:645:104","text":" @dev Internal function to propose a new governance action.\n @param proposer The address of the proposer.\n @param proposalId The id of the proposal.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param description The description of the proposal.\n @param startRoundId The round in which the proposal should be active.\n @param depositAmount The amount of tokens the proposer intends to deposit.\n @param proposalTypeValue The type of the proposal.\n @return The proposal id."},"id":59340,"implemented":true,"kind":"function","modifiers":[],"name":"_propose","nameLocation":"24816:8:104","nodeType":"FunctionDefinition","parameters":{"id":59259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59238,"mutability":"mutable","name":"proposer","nameLocation":"24838:8:104","nodeType":"VariableDeclaration","scope":59340,"src":"24830:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59237,"name":"address","nodeType":"ElementaryTypeName","src":"24830:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59240,"mutability":"mutable","name":"proposalId","nameLocation":"24860:10:104","nodeType":"VariableDeclaration","scope":59340,"src":"24852:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59239,"name":"uint256","nodeType":"ElementaryTypeName","src":"24852:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59243,"mutability":"mutable","name":"targets","nameLocation":"24893:7:104","nodeType":"VariableDeclaration","scope":59340,"src":"24876:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":59241,"name":"address","nodeType":"ElementaryTypeName","src":"24876:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59242,"nodeType":"ArrayTypeName","src":"24876:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":59246,"mutability":"mutable","name":"values","nameLocation":"24923:6:104","nodeType":"VariableDeclaration","scope":59340,"src":"24906:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":59244,"name":"uint256","nodeType":"ElementaryTypeName","src":"24906:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59245,"nodeType":"ArrayTypeName","src":"24906:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":59249,"mutability":"mutable","name":"calldatas","nameLocation":"24950:9:104","nodeType":"VariableDeclaration","scope":59340,"src":"24935:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59247,"name":"bytes","nodeType":"ElementaryTypeName","src":"24935:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59248,"nodeType":"ArrayTypeName","src":"24935:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":59251,"mutability":"mutable","name":"description","nameLocation":"24979:11:104","nodeType":"VariableDeclaration","scope":59340,"src":"24965:25:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59250,"name":"string","nodeType":"ElementaryTypeName","src":"24965:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":59253,"mutability":"mutable","name":"startRoundId","nameLocation":"25004:12:104","nodeType":"VariableDeclaration","scope":59340,"src":"24996:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59252,"name":"uint256","nodeType":"ElementaryTypeName","src":"24996:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59255,"mutability":"mutable","name":"depositAmount","nameLocation":"25030:13:104","nodeType":"VariableDeclaration","scope":59340,"src":"25022:21:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59254,"name":"uint256","nodeType":"ElementaryTypeName","src":"25022:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59258,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"25076:17:104","nodeType":"VariableDeclaration","scope":59340,"src":"25049:44:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":59257,"nodeType":"UserDefinedTypeName","pathNode":{"id":59256,"name":"GovernorTypes.ProposalType","nameLocations":["25049:13:104","25063:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"25049:26:104"},"referencedDeclaration":61431,"src":"25049:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"24824:273:104"},"returnParameters":{"id":59262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":59340,"src":"25115:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59260,"name":"uint256","nodeType":"ElementaryTypeName","src":"25115:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25114:9:104"},"scope":60252,"src":"24807:1252:104","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":59388,"nodeType":"Block","src":"26623:387:104","statements":[{"eventCall":{"arguments":[{"id":59367,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59345,"src":"26711:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59368,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59343,"src":"26729:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59369,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59348,"src":"26745:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":59370,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59351,"src":"26760:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"arguments":[{"expression":{"id":59374,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59348,"src":"26787:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26795:6:104","memberName":"length","nodeType":"MemberAccess","src":"26787:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"26774:12:104","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":59371,"name":"string","nodeType":"ElementaryTypeName","src":"26778:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":59372,"nodeType":"ArrayTypeName","src":"26778:8:104","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":59376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26774:28:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":59377,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59354,"src":"26810:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":59378,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59356,"src":"26827:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":59379,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59358,"src":"26846:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59380,"name":"depositThresholdAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59360,"src":"26866:22:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59366,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58050,"src":"26688:15:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address[] memory,uint256[] memory,string memory[] memory,bytes memory[] memory,string memory,uint256,uint256)"}},"id":59381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26688:206:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59382,"nodeType":"EmitStatement","src":"26683:211:104"},{"eventCall":{"arguments":[{"id":59384,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59345,"src":"26975:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59385,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59363,"src":"26987:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":59383,"name":"ProposalCreatedWithType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58058,"src":"26951:23:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalType)"}},"id":59386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26951:54:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59387,"nodeType":"EmitStatement","src":"26946:59:104"}]},"documentation":{"id":59341,"nodeType":"StructuredDocumentation","src":"26063:231:104","text":" @dev Internal function to emit the proposal created events.\n @param proposer The address of the proposer.\n @param proposalId The id of the proposal.\n @param targets The addresses of the contracts to call."},"id":59389,"implemented":true,"kind":"function","modifiers":[],"name":"_emitProposalCreatedEvents","nameLocation":"26306:26:104","nodeType":"FunctionDefinition","parameters":{"id":59364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59343,"mutability":"mutable","name":"proposer","nameLocation":"26346:8:104","nodeType":"VariableDeclaration","scope":59389,"src":"26338:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59342,"name":"address","nodeType":"ElementaryTypeName","src":"26338:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59345,"mutability":"mutable","name":"proposalId","nameLocation":"26368:10:104","nodeType":"VariableDeclaration","scope":59389,"src":"26360:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59344,"name":"uint256","nodeType":"ElementaryTypeName","src":"26360:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59348,"mutability":"mutable","name":"targets","nameLocation":"26401:7:104","nodeType":"VariableDeclaration","scope":59389,"src":"26384:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":59346,"name":"address","nodeType":"ElementaryTypeName","src":"26384:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59347,"nodeType":"ArrayTypeName","src":"26384:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":59351,"mutability":"mutable","name":"values","nameLocation":"26431:6:104","nodeType":"VariableDeclaration","scope":59389,"src":"26414:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":59349,"name":"uint256","nodeType":"ElementaryTypeName","src":"26414:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59350,"nodeType":"ArrayTypeName","src":"26414:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":59354,"mutability":"mutable","name":"calldatas","nameLocation":"26458:9:104","nodeType":"VariableDeclaration","scope":59389,"src":"26443:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59352,"name":"bytes","nodeType":"ElementaryTypeName","src":"26443:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59353,"nodeType":"ArrayTypeName","src":"26443:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":59356,"mutability":"mutable","name":"description","nameLocation":"26487:11:104","nodeType":"VariableDeclaration","scope":59389,"src":"26473:25:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59355,"name":"string","nodeType":"ElementaryTypeName","src":"26473:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":59358,"mutability":"mutable","name":"startRoundId","nameLocation":"26512:12:104","nodeType":"VariableDeclaration","scope":59389,"src":"26504:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59357,"name":"uint256","nodeType":"ElementaryTypeName","src":"26504:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59360,"mutability":"mutable","name":"depositThresholdAmount","nameLocation":"26538:22:104","nodeType":"VariableDeclaration","scope":59389,"src":"26530:30:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59359,"name":"uint256","nodeType":"ElementaryTypeName","src":"26530:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59363,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"26593:17:104","nodeType":"VariableDeclaration","scope":59389,"src":"26566:44:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":59362,"nodeType":"UserDefinedTypeName","pathNode":{"id":59361,"name":"GovernorTypes.ProposalType","nameLocations":["26566:13:104","26580:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"26566:26:104"},"referencedDeclaration":61431,"src":"26566:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"26332:282:104"},"returnParameters":{"id":59365,"nodeType":"ParameterList","parameters":[],"src":"26623:0:104"},"scope":60252,"src":"26297:713:104","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":59531,"nodeType":"Block","src":"27794:1385:104","statements":[{"assignments":[59417],"declarations":[{"constant":false,"id":59417,"mutability":"mutable","name":"$","nameLocation":"27845:1:104","nodeType":"VariableDeclaration","scope":59531,"src":"27800:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59416,"nodeType":"UserDefinedTypeName","pathNode":{"id":59415,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["27800:20:104","27821:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"27800:36:104"},"referencedDeclaration":61305,"src":"27800:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59421,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59418,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"27849:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27870:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"27849:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27849:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"27800:90:104"},{"condition":{"id":59425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"27934:39:104","subExpression":{"arguments":[{"id":59423,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59410,"src":"27955:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":59422,"name":"isValidProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60182,"src":"27935:19:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalType_$61431_$returns$_t_bool_$","typeString":"function (enum GovernorTypes.ProposalType) pure returns (bool)"}},"id":59424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27935:38:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59431,"nodeType":"IfStatement","src":"27930:113:104","trueBody":{"id":59430,"nodeType":"Block","src":"27975:68:104","statements":[{"errorCall":{"arguments":[{"id":59427,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59410,"src":"28018:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":59426,"name":"GovernorInvalidProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58128,"src":"27990:27:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (enum GovernorTypes.ProposalType) pure"}},"id":59428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27990:46:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59429,"nodeType":"RevertStatement","src":"27983:53:104"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59432,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59394,"src":"28088:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":59433,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59417,"src":"28104:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28106:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"28104:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28124:14:104","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"28104:34:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28104:36:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28088:52:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59443,"nodeType":"IfStatement","src":"28084:119:104","trueBody":{"id":59442,"nodeType":"Block","src":"28142:61:104","statements":[{"errorCall":{"arguments":[{"id":59439,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59394,"src":"28183:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59438,"name":"GovernorInvalidStartRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58105,"src":"28157:25:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":59440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28157:39:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59441,"nodeType":"RevertStatement","src":"28150:46:104"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59444,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59394,"src":"28289:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":59445,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59417,"src":"28305:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28307:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"28305:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28325:14:104","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"28305:34:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28305:36:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":59449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28344:1:104","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"28305:40:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28289:56:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59462,"nodeType":"IfStatement","src":"28285:178:104","trueBody":{"id":59461,"nodeType":"Block","src":"28347:116:104","statements":[{"condition":{"id":59454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28359:31:104","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":59452,"name":"_canProposalStartInNextRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59910,"src":"28360:28:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":59453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28360:30:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59460,"nodeType":"IfStatement","src":"28355:102:104","trueBody":{"id":59459,"nodeType":"Block","src":"28392:65:104","statements":[{"errorCall":{"arguments":[{"id":59456,"name":"startRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59394,"src":"28435:12:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59455,"name":"GovernorInvalidStartRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58105,"src":"28409:25:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":59457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28409:39:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59458,"nodeType":"RevertStatement","src":"28402:46:104"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"id":59467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59463,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59410,"src":"28509:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":59464,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"28530:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":59465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28544:12:104","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"28530:26:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":59466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28557:8:104","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":61429,"src":"28530:35:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"src":"28509:56:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59480,"nodeType":"IfStatement","src":"28505:197:104","trueBody":{"id":59479,"nodeType":"Block","src":"28567:135:104","statements":[{"condition":{"id":59472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28579:53:104","subExpression":{"arguments":[{"id":59469,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59392,"src":"28610:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59470,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59396,"src":"28620:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":59468,"name":"isValidDescriptionForProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60160,"src":"28580:29:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (address,string memory) pure returns (bool)"}},"id":59471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28580:52:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59478,"nodeType":"IfStatement","src":"28575:121:104","trueBody":{"id":59477,"nodeType":"Block","src":"28634:62:104","statements":[{"errorCall":{"arguments":[{"id":59474,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59392,"src":"28678:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59473,"name":"GovernorRestrictedProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58122,"src":"28651:26:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":59475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28651:36:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59476,"nodeType":"RevertStatement","src":"28644:43:104"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":59491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":59481,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59399,"src":"28712:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28720:6:104","memberName":"length","nodeType":"MemberAccess","src":"28712:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":59483,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59402,"src":"28730:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":59484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28737:6:104","memberName":"length","nodeType":"MemberAccess","src":"28730:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28712:31:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":59486,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59399,"src":"28747:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28755:6:104","memberName":"length","nodeType":"MemberAccess","src":"28747:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":59488,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59405,"src":"28765:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28775:6:104","memberName":"length","nodeType":"MemberAccess","src":"28765:16:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28747:34:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28712:69:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59502,"nodeType":"IfStatement","src":"28708:175:104","trueBody":{"id":59501,"nodeType":"Block","src":"28783:100:104","statements":[{"errorCall":{"arguments":[{"expression":{"id":59493,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59399,"src":"28828:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28836:6:104","memberName":"length","nodeType":"MemberAccess","src":"28828:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":59495,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59405,"src":"28844:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28854:6:104","memberName":"length","nodeType":"MemberAccess","src":"28844:16:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":59497,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59402,"src":"28862:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":59498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28869:6:104","memberName":"length","nodeType":"MemberAccess","src":"28862:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59492,"name":"GovernorInvalidProposalLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58117,"src":"28798:29:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":59499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28798:78:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59500,"nodeType":"RevertStatement","src":"28791:85:104"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":59503,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59417,"src":"28893:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28895:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"28893:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":59506,"indexExpression":{"id":59505,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59407,"src":"28905:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28893:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":59507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28917:16:104","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"28893:40:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":59508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28937:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28893:45:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59523,"nodeType":"IfStatement","src":"28889:200:104","trueBody":{"id":59522,"nodeType":"Block","src":"28940:149:104","statements":[{"errorCall":{"arguments":[{"id":59511,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59407,"src":"29020:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":59514,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59407,"src":"29058:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59512,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"29032:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":59513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29051:6:104","memberName":"_state","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"29032:25:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view returns (enum GovernorTypes.ProposalState)"}},"id":59515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29032:37:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},{"arguments":[{"hexValue":"30","id":59518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29079: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":59517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29071:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":59516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29071:7:104","typeDescriptions":{}}},"id":59519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29071:10:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":59510,"name":"GovernorUnexpectedProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58095,"src":"28988:31:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalState_$61406_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalState,bytes32) pure"}},"id":59520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28988:94:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59521,"nodeType":"RevertStatement","src":"28981:101:104"}]}},{"expression":{"arguments":[{"id":59527,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59399,"src":"29155:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":59528,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59405,"src":"29164:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":59524,"name":"GovernorFunctionRestrictionsLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57873,"src":"29095:33:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorFunctionRestrictionsLogic_$57873_$","typeString":"type(library GovernorFunctionRestrictionsLogic)"}},"id":59526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29129:25:104","memberName":"checkFunctionsRestriction","nodeType":"MemberAccess","referencedDeclaration":57848,"src":"29095:59:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,bytes memory[] memory) view"}},"id":59529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29095:79:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59530,"nodeType":"ExpressionStatement","src":"29095:79:104"}]},"documentation":{"id":59390,"nodeType":"StructuredDocumentation","src":"27014:487:104","text":" @dev Internal function to validate the parameters of a proposal.\n @param proposer The address of the proposer.\n @param startRoundId The round in which the proposal should be active.\n @param description The description of the proposal.si\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param proposalId The id of the proposal."},"id":59532,"implemented":true,"kind":"function","modifiers":[],"name":"validateProposeParams","nameLocation":"27513:21:104","nodeType":"FunctionDefinition","parameters":{"id":59411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59392,"mutability":"mutable","name":"proposer","nameLocation":"27548:8:104","nodeType":"VariableDeclaration","scope":59532,"src":"27540:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59391,"name":"address","nodeType":"ElementaryTypeName","src":"27540:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59394,"mutability":"mutable","name":"startRoundId","nameLocation":"27570:12:104","nodeType":"VariableDeclaration","scope":59532,"src":"27562:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59393,"name":"uint256","nodeType":"ElementaryTypeName","src":"27562:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59396,"mutability":"mutable","name":"description","nameLocation":"27602:11:104","nodeType":"VariableDeclaration","scope":59532,"src":"27588:25:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59395,"name":"string","nodeType":"ElementaryTypeName","src":"27588:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":59399,"mutability":"mutable","name":"targets","nameLocation":"27636:7:104","nodeType":"VariableDeclaration","scope":59532,"src":"27619:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":59397,"name":"address","nodeType":"ElementaryTypeName","src":"27619:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59398,"nodeType":"ArrayTypeName","src":"27619:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":59402,"mutability":"mutable","name":"values","nameLocation":"27666:6:104","nodeType":"VariableDeclaration","scope":59532,"src":"27649:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":59400,"name":"uint256","nodeType":"ElementaryTypeName","src":"27649:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59401,"nodeType":"ArrayTypeName","src":"27649:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":59405,"mutability":"mutable","name":"calldatas","nameLocation":"27693:9:104","nodeType":"VariableDeclaration","scope":59532,"src":"27678:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59403,"name":"bytes","nodeType":"ElementaryTypeName","src":"27678:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59404,"nodeType":"ArrayTypeName","src":"27678:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":59407,"mutability":"mutable","name":"proposalId","nameLocation":"27716:10:104","nodeType":"VariableDeclaration","scope":59532,"src":"27708:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59406,"name":"uint256","nodeType":"ElementaryTypeName","src":"27708:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59410,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"27759:17:104","nodeType":"VariableDeclaration","scope":59532,"src":"27732:44:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":59409,"nodeType":"UserDefinedTypeName","pathNode":{"id":59408,"name":"GovernorTypes.ProposalType","nameLocations":["27732:13:104","27746:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"27732:26:104"},"referencedDeclaration":61431,"src":"27732:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"27534:246:104"},"returnParameters":{"id":59412,"nodeType":"ParameterList","parameters":[],"src":"27794:0:104"},"scope":60252,"src":"27504:1675:104","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":59625,"nodeType":"Block","src":"30039:588:104","statements":[{"assignments":[59557],"declarations":[{"constant":false,"id":59557,"mutability":"mutable","name":"$","nameLocation":"30090:1:104","nodeType":"VariableDeclaration","scope":59625,"src":"30045:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59556,"nodeType":"UserDefinedTypeName","pathNode":{"id":59555,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["30045:20:104","30066:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"30045:36:104"},"referencedDeclaration":61305,"src":"30045:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59561,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59558,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"30094:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30115:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"30094:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30094:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30045:90:104"},{"assignments":[59566],"declarations":[{"constant":false,"id":59566,"mutability":"mutable","name":"proposal","nameLocation":"30176:8:104","nodeType":"VariableDeclaration","scope":59625,"src":"30141:43:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"},"typeName":{"id":59565,"nodeType":"UserDefinedTypeName","pathNode":{"id":59564,"name":"GovernorTypes.ProposalCore","nameLocations":["30141:13:104","30155:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61395,"src":"30141:26:104"},"referencedDeclaration":61395,"src":"30141:26:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"}},"visibility":"internal"}],"id":59571,"initialValue":{"baseExpression":{"expression":{"id":59567,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59557,"src":"30187:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30189:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"30187:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":59570,"indexExpression":{"id":59569,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59535,"src":"30199:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30187:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30141:69:104"},{"expression":{"id":59576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":59572,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59566,"src":"30217:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":59574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30226:8:104","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":61378,"src":"30217:17:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":59575,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59537,"src":"30237:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30217:28:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59577,"nodeType":"ExpressionStatement","src":"30217:28:104"},{"expression":{"id":59582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":59578,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59566,"src":"30251:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":59580,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30260:16:104","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"30251:25:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":59581,"name":"roundIdVoteStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59541,"src":"30279:16:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30251:44:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59583,"nodeType":"ExpressionStatement","src":"30251:44:104"},{"expression":{"id":59588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":59584,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59566,"src":"30301:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":59586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30310:12:104","memberName":"voteDuration","nodeType":"MemberAccess","referencedDeclaration":61382,"src":"30301:21:104","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":59587,"name":"voteDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59539,"src":"30325:12:104","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"30301:36:104","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":59589,"nodeType":"ExpressionStatement","src":"30301:36:104"},{"expression":{"id":59594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":59590,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59566,"src":"30343:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":59592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30352:12:104","memberName":"isExecutable","nodeType":"MemberAccess","referencedDeclaration":61384,"src":"30343:21:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":59593,"name":"isExecutable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59543,"src":"30367:12:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30343:36:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59595,"nodeType":"ExpressionStatement","src":"30343:36:104"},{"expression":{"id":59600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":59596,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59566,"src":"30385:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":59598,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30394:13:104","memberName":"depositAmount","nodeType":"MemberAccess","referencedDeclaration":61392,"src":"30385:22:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":59599,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59545,"src":"30410:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30385:38:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59601,"nodeType":"ExpressionStatement","src":"30385:38:104"},{"expression":{"id":59606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":59602,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59566,"src":"30429:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":59604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30438:16:104","memberName":"depositThreshold","nodeType":"MemberAccess","referencedDeclaration":61394,"src":"30429:25:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":59605,"name":"proposalDepositThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59547,"src":"30457:24:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30429:52:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59607,"nodeType":"ExpressionStatement","src":"30429:52:104"},{"expression":{"id":59614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":59608,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59557,"src":"30516:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30518:12:104","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":61215,"src":"30516:14:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$61431_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalType)"}},"id":59612,"indexExpression":{"id":59610,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59535,"src":"30531:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30516:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":59613,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59550,"src":"30545:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"src":"30516:46:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"id":59615,"nodeType":"ExpressionStatement","src":"30516:46:104"},{"expression":{"arguments":[{"id":59622,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59535,"src":"30611:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"expression":{"id":59616,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59557,"src":"30568:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30570:17:104","memberName":"proposalsForRound","nodeType":"MemberAccess","referencedDeclaration":61268,"src":"30568:19:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[] storage ref)"}},"id":59620,"indexExpression":{"id":59618,"name":"roundIdVoteStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59541,"src":"30588:16:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30568:37:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":59621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30606:4:104","memberName":"push","nodeType":"MemberAccess","src":"30568:42:104","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":59623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30568:54:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59624,"nodeType":"ExpressionStatement","src":"30568:54:104"}]},"documentation":{"id":59533,"nodeType":"StructuredDocumentation","src":"29183:580:104","text":" @dev Internal function to set the data of a proposal in storage.\n @param proposalId The id of the proposal.\n @param proposer The address of the proposer.\n @param voteDuration The duration of the vote.\n @param roundIdVoteStart The round in which the proposal should be active.\n @param isExecutable Whether the proposal is executable.\n @param depositAmount The amount of tokens the proposer intends to deposit.\n @param proposalDepositThreshold The deposit threshold for the proposal.\n @param proposalTypeValue The type of the proposal."},"id":59626,"implemented":true,"kind":"function","modifiers":[],"name":"_setProposal","nameLocation":"29775:12:104","nodeType":"FunctionDefinition","parameters":{"id":59551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59535,"mutability":"mutable","name":"proposalId","nameLocation":"29801:10:104","nodeType":"VariableDeclaration","scope":59626,"src":"29793:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59534,"name":"uint256","nodeType":"ElementaryTypeName","src":"29793:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59537,"mutability":"mutable","name":"proposer","nameLocation":"29825:8:104","nodeType":"VariableDeclaration","scope":59626,"src":"29817:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59536,"name":"address","nodeType":"ElementaryTypeName","src":"29817:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59539,"mutability":"mutable","name":"voteDuration","nameLocation":"29846:12:104","nodeType":"VariableDeclaration","scope":59626,"src":"29839:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":59538,"name":"uint32","nodeType":"ElementaryTypeName","src":"29839:6:104","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":59541,"mutability":"mutable","name":"roundIdVoteStart","nameLocation":"29872:16:104","nodeType":"VariableDeclaration","scope":59626,"src":"29864:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59540,"name":"uint256","nodeType":"ElementaryTypeName","src":"29864:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59543,"mutability":"mutable","name":"isExecutable","nameLocation":"29899:12:104","nodeType":"VariableDeclaration","scope":59626,"src":"29894:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59542,"name":"bool","nodeType":"ElementaryTypeName","src":"29894:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":59545,"mutability":"mutable","name":"depositAmount","nameLocation":"29925:13:104","nodeType":"VariableDeclaration","scope":59626,"src":"29917:21:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59544,"name":"uint256","nodeType":"ElementaryTypeName","src":"29917:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59547,"mutability":"mutable","name":"proposalDepositThreshold","nameLocation":"29952:24:104","nodeType":"VariableDeclaration","scope":59626,"src":"29944:32:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59546,"name":"uint256","nodeType":"ElementaryTypeName","src":"29944:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59550,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"30009:17:104","nodeType":"VariableDeclaration","scope":59626,"src":"29982:44:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":59549,"nodeType":"UserDefinedTypeName","pathNode":{"id":59548,"name":"GovernorTypes.ProposalType","nameLocations":["29982:13:104","29996:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"29982:26:104"},"referencedDeclaration":61431,"src":"29982:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"29787:243:104"},"returnParameters":{"id":59552,"nodeType":"ParameterList","parameters":[],"src":"30039:0:104"},"scope":60252,"src":"29766:861:104","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":59673,"nodeType":"Block","src":"30919:390:104","statements":[{"assignments":[59639],"declarations":[{"constant":false,"id":59639,"mutability":"mutable","name":"$","nameLocation":"30970:1:104","nodeType":"VariableDeclaration","scope":59673,"src":"30925:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59638,"nodeType":"UserDefinedTypeName","pathNode":{"id":59637,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["30925:20:104","30946:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"30925:36:104"},"referencedDeclaration":61305,"src":"30925:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59643,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59640,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"30974:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30995:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"30974:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30974:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"30925:90:104"},{"assignments":[59645],"declarations":[{"constant":false,"id":59645,"mutability":"mutable","name":"requiredWeight","nameLocation":"31029:14:104","nodeType":"VariableDeclaration","scope":59673,"src":"31021:22:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59644,"name":"uint256","nodeType":"ElementaryTypeName","src":"31021:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59650,"initialValue":{"baseExpression":{"expression":{"id":59646,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59639,"src":"31046:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31048:29:104","memberName":"requiredGMLevelByProposalType","nodeType":"MemberAccess","referencedDeclaration":61247,"src":"31046:31:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"}},"id":59649,"indexExpression":{"id":59648,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59632,"src":"31078:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31046:50:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31021:75:104"},{"assignments":[59652],"declarations":[{"constant":false,"id":59652,"mutability":"mutable","name":"level","nameLocation":"31110:5:104","nodeType":"VariableDeclaration","scope":59673,"src":"31102:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59651,"name":"uint256","nodeType":"ElementaryTypeName","src":"31102:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59662,"initialValue":{"arguments":[{"arguments":[{"id":59659,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59629,"src":"31175:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":59656,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59639,"src":"31141:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31143:12:104","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"31141:14:104","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"id":59658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31156:18:104","memberName":"getSelectedTokenId","nodeType":"MemberAccess","referencedDeclaration":64899,"src":"31141:33:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":59660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31141:43:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":59653,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59639,"src":"31118:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59654,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31120:12:104","memberName":"galaxyMember","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"31118:14:104","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"id":59655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31133:7:104","memberName":"levelOf","nodeType":"MemberAccess","referencedDeclaration":64956,"src":"31118:22:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":59661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31118:67:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31102:83:104"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59663,"name":"level","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59652,"src":"31210:5:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":59664,"name":"requiredWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59645,"src":"31218:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31210:22:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59672,"nodeType":"IfStatement","src":"31206:99:104","trueBody":{"id":59671,"nodeType":"Block","src":"31234:71:104","statements":[{"errorCall":{"arguments":[{"id":59667,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59629,"src":"31273:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59668,"name":"requiredWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59645,"src":"31283:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59666,"name":"GovernorInvalidProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58135,"src":"31249:23:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":59669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31249:49:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59670,"nodeType":"RevertStatement","src":"31242:56:104"}]}}]},"documentation":{"id":59627,"nodeType":"StructuredDocumentation","src":"30631:169:104","text":" @dev Internal function to validate the proposer.\n @param proposer The address of the proposer.\n @param proposalTypeValue The type of the proposal."},"id":59674,"implemented":true,"kind":"function","modifiers":[],"name":"_validateProposer","nameLocation":"30812:17:104","nodeType":"FunctionDefinition","parameters":{"id":59633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59629,"mutability":"mutable","name":"proposer","nameLocation":"30843:8:104","nodeType":"VariableDeclaration","scope":59674,"src":"30835:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59628,"name":"address","nodeType":"ElementaryTypeName","src":"30835:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59632,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"30884:17:104","nodeType":"VariableDeclaration","scope":59674,"src":"30857:44:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":59631,"nodeType":"UserDefinedTypeName","pathNode":{"id":59630,"name":"GovernorTypes.ProposalType","nameLocations":["30857:13:104","30871:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"30857:26:104"},"referencedDeclaration":61431,"src":"30857:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"30829:76:104"},"returnParameters":{"id":59634,"nodeType":"ParameterList","parameters":[],"src":"30919:0:104"},"scope":60252,"src":"30803:506:104","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":59727,"nodeType":"Block","src":"31991:384:104","statements":[{"assignments":[59697],"declarations":[{"constant":false,"id":59697,"mutability":"mutable","name":"$","nameLocation":"32042:1:104","nodeType":"VariableDeclaration","scope":59727,"src":"31997:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59696,"nodeType":"UserDefinedTypeName","pathNode":{"id":59695,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["31997:20:104","32018:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"31997:36:104"},"referencedDeclaration":61305,"src":"31997:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59701,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59698,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"32046:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32067:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"32046:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32046:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31997:90:104"},{"expression":{"arguments":[{"id":59710,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59682,"src":"32174:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":59711,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59685,"src":"32189:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":59712,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59688,"src":"32203:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"hexValue":"30","id":59713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32220:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"id":59716,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59690,"src":"32266:15:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":59717,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59677,"src":"32283:15:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59714,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"32229:23:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":59715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32253:12:104","memberName":"timelockSalt","nodeType":"MemberAccess","referencedDeclaration":57907,"src":"32229:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) pure returns (bytes32)"}},"id":59718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32229:70:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":59702,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59697,"src":"32123:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32125:8:104","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"32123:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":59706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32134:12:104","memberName":"executeBatch","nodeType":"MemberAccess","referencedDeclaration":1311,"src":"32123:23:104","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) payable external"}},"id":59709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":59707,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"32155:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":59708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32159:5:104","memberName":"value","nodeType":"MemberAccess","src":"32155:9:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"32123:43:104","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$__$value","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) payable external"}},"id":59719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32123:182:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59720,"nodeType":"ExpressionStatement","src":"32123:182:104"},{"expression":{"id":59725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"32338:32:104","subExpression":{"baseExpression":{"expression":{"id":59721,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59697,"src":"32345:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59722,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32347:11:104","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":61161,"src":"32345:13:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":59724,"indexExpression":{"id":59723,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59679,"src":"32359:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32345:25:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59726,"nodeType":"ExpressionStatement","src":"32338:32:104"}]},"documentation":{"id":59675,"nodeType":"StructuredDocumentation","src":"31313:429:104","text":" @dev Internal function to execute operations of a proposal.\n @param contractAddress The address of the calling contract.\n @param proposalId The id of the proposal.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description."},"id":59728,"implemented":true,"kind":"function","modifiers":[],"name":"_executeOperations","nameLocation":"31754:18:104","nodeType":"FunctionDefinition","parameters":{"id":59691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59677,"mutability":"mutable","name":"contractAddress","nameLocation":"31786:15:104","nodeType":"VariableDeclaration","scope":59728,"src":"31778:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59676,"name":"address","nodeType":"ElementaryTypeName","src":"31778:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59679,"mutability":"mutable","name":"proposalId","nameLocation":"31850:10:104","nodeType":"VariableDeclaration","scope":59728,"src":"31842:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59678,"name":"uint256","nodeType":"ElementaryTypeName","src":"31842:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59682,"mutability":"mutable","name":"targets","nameLocation":"31883:7:104","nodeType":"VariableDeclaration","scope":59728,"src":"31866:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":59680,"name":"address","nodeType":"ElementaryTypeName","src":"31866:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59681,"nodeType":"ArrayTypeName","src":"31866:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":59685,"mutability":"mutable","name":"values","nameLocation":"31913:6:104","nodeType":"VariableDeclaration","scope":59728,"src":"31896:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":59683,"name":"uint256","nodeType":"ElementaryTypeName","src":"31896:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59684,"nodeType":"ArrayTypeName","src":"31896:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":59688,"mutability":"mutable","name":"calldatas","nameLocation":"31940:9:104","nodeType":"VariableDeclaration","scope":59728,"src":"31925:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59686,"name":"bytes","nodeType":"ElementaryTypeName","src":"31925:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59687,"nodeType":"ArrayTypeName","src":"31925:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":59690,"mutability":"mutable","name":"descriptionHash","nameLocation":"31963:15:104","nodeType":"VariableDeclaration","scope":59728,"src":"31955:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":59689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31955:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31772:210:104"},"returnParameters":{"id":59692,"nodeType":"ParameterList","parameters":[],"src":"31991:0:104"},"scope":60252,"src":"31745:630:104","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":59810,"nodeType":"Block","src":"33147:469:104","statements":[{"assignments":[59753],"declarations":[{"constant":false,"id":59753,"mutability":"mutable","name":"$","nameLocation":"33198:1:104","nodeType":"VariableDeclaration","scope":59810,"src":"33153:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59752,"nodeType":"UserDefinedTypeName","pathNode":{"id":59751,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["33153:20:104","33174:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"33153:36:104"},"referencedDeclaration":61305,"src":"33153:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59757,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59754,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"33202:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33223:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"33202:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33202:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"33153:90:104"},{"assignments":[59759],"declarations":[{"constant":false,"id":59759,"mutability":"mutable","name":"delay","nameLocation":"33257:5:104","nodeType":"VariableDeclaration","scope":59810,"src":"33249:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59758,"name":"uint256","nodeType":"ElementaryTypeName","src":"33249:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59764,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":59760,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59753,"src":"33265:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59761,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33267:8:104","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"33265:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":59762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33276:11:104","memberName":"getMinDelay","nodeType":"MemberAccess","referencedDeclaration":835,"src":"33265:22:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33265:24:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33249:40:104"},{"assignments":[59766],"declarations":[{"constant":false,"id":59766,"mutability":"mutable","name":"salt","nameLocation":"33304:4:104","nodeType":"VariableDeclaration","scope":59810,"src":"33296:12:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":59765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33296:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":59772,"initialValue":{"arguments":[{"id":59769,"name":"descriptionHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59744,"src":"33348:15:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":59770,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59731,"src":"33365:15:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59767,"name":"GovernorGovernanceLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57980,"src":"33311:23:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorGovernanceLogic_$57980_$","typeString":"type(library GovernorGovernanceLogic)"}},"id":59768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33335:12:104","memberName":"timelockSalt","nodeType":"MemberAccess","referencedDeclaration":57907,"src":"33311:36:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) pure returns (bytes32)"}},"id":59771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33311:70:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"33296:85:104"},{"expression":{"id":59787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":59773,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59753,"src":"33387:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33389:11:104","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":61161,"src":"33387:13:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":59777,"indexExpression":{"id":59775,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59733,"src":"33401:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33387:25:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":59781,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59736,"src":"33445:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":59782,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59739,"src":"33454:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":59783,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59742,"src":"33462:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"hexValue":"30","id":59784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33473:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":59785,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59766,"src":"33476:4:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":59778,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59753,"src":"33415:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59779,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33417:8:104","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"33415:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":59780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33426:18:104","memberName":"hashOperationBatch","nodeType":"MemberAccess","referencedDeclaration":894,"src":"33415:29:104","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) pure external returns (bytes32)"}},"id":59786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33415:66:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"33387:94:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":59788,"nodeType":"ExpressionStatement","src":"33387:94:104"},{"expression":{"arguments":[{"id":59794,"name":"targets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59736,"src":"33512:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":59795,"name":"values","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59739,"src":"33521:6:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":59796,"name":"calldatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59742,"src":"33529:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"hexValue":"30","id":59797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33540:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":59798,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59766,"src":"33543:4:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":59799,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59759,"src":"33549:5:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":59789,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59753,"src":"33487:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33489:8:104","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"33487:10:104","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":59793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33498:13:104","memberName":"scheduleBatch","nodeType":"MemberAccess","referencedDeclaration":1054,"src":"33487:24:104","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32,uint256) external"}},"id":59800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33487:68:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59801,"nodeType":"ExpressionStatement","src":"33487:68:104"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":59804,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"33587:5:104","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":59805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33593:9:104","memberName":"timestamp","nodeType":"MemberAccess","src":"33587:15:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":59806,"name":"delay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59759,"src":"33605:5:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33587:23:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59802,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"33569:8:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":59803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33578:8:104","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"33569:17:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":59808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33569:42:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":59748,"id":59809,"nodeType":"Return","src":"33562:49:104"}]},"documentation":{"id":59729,"nodeType":"StructuredDocumentation","src":"32379:504:104","text":" @dev Internal function to queue operations of a proposal in the timelock.\n @param contractAddress The address of the calling contract.\n @param proposalId The id of the proposal.\n @param targets The addresses of the contracts to call.\n @param values The values to send to the contracts.\n @param calldatas The function signatures and arguments.\n @param descriptionHash The hash of the proposal description.\n @return The eta (estimated time of arrival) in seconds."},"id":59811,"implemented":true,"kind":"function","modifiers":[],"name":"_queueOperations","nameLocation":"32895:16:104","nodeType":"FunctionDefinition","parameters":{"id":59745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59731,"mutability":"mutable","name":"contractAddress","nameLocation":"32925:15:104","nodeType":"VariableDeclaration","scope":59811,"src":"32917:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59730,"name":"address","nodeType":"ElementaryTypeName","src":"32917:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59733,"mutability":"mutable","name":"proposalId","nameLocation":"32989:10:104","nodeType":"VariableDeclaration","scope":59811,"src":"32981:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59732,"name":"uint256","nodeType":"ElementaryTypeName","src":"32981:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59736,"mutability":"mutable","name":"targets","nameLocation":"33022:7:104","nodeType":"VariableDeclaration","scope":59811,"src":"33005:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":59734,"name":"address","nodeType":"ElementaryTypeName","src":"33005:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59735,"nodeType":"ArrayTypeName","src":"33005:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":59739,"mutability":"mutable","name":"values","nameLocation":"33052:6:104","nodeType":"VariableDeclaration","scope":59811,"src":"33035:23:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":59737,"name":"uint256","nodeType":"ElementaryTypeName","src":"33035:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59738,"nodeType":"ArrayTypeName","src":"33035:9:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":59742,"mutability":"mutable","name":"calldatas","nameLocation":"33079:9:104","nodeType":"VariableDeclaration","scope":59811,"src":"33064:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59740,"name":"bytes","nodeType":"ElementaryTypeName","src":"33064:5:104","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59741,"nodeType":"ArrayTypeName","src":"33064:7:104","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":59744,"mutability":"mutable","name":"descriptionHash","nameLocation":"33102:15:104","nodeType":"VariableDeclaration","scope":59811,"src":"33094:23:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":59743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33094:7:104","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"32911:210:104"},"returnParameters":{"id":59748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":59811,"src":"33139:6:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":59746,"name":"uint48","nodeType":"ElementaryTypeName","src":"33139:6:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"33138:8:104"},"scope":60252,"src":"32886:730:104","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":59853,"nodeType":"Block","src":"34008:276:104","statements":[{"assignments":[59827],"declarations":[{"constant":false,"id":59827,"mutability":"mutable","name":"$","nameLocation":"34059:1:104","nodeType":"VariableDeclaration","scope":59853,"src":"34014:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59826,"nodeType":"UserDefinedTypeName","pathNode":{"id":59825,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["34014:20:104","34035:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"34014:36:104"},"referencedDeclaration":61305,"src":"34014:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59831,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59828,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"34063:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34084:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"34063:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34063:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"34014:90:104"},{"expression":{"id":59839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":59832,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59827,"src":"34110:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34112:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"34110:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":59836,"indexExpression":{"id":59834,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59814,"src":"34122:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34110:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":59837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"34134:8:104","memberName":"canceled","nodeType":"MemberAccess","referencedDeclaration":61388,"src":"34110:32:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":59838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34145:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"34110:39:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59840,"nodeType":"ExpressionStatement","src":"34110:39:104"},{"eventCall":{"arguments":[{"id":59842,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59814,"src":"34177:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59841,"name":"ProposalCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58016,"src":"34160:16:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":59843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34160:28:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59844,"nodeType":"EmitStatement","src":"34155:33:104"},{"eventCall":{"arguments":[{"id":59846,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59814,"src":"34226:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59847,"name":"canceler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59816,"src":"34238:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59848,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59818,"src":"34248:6:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":59845,"name":"ProposalCanceledWithReason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58025,"src":"34199:26:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,address,string memory)"}},"id":59849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34199:56:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59850,"nodeType":"EmitStatement","src":"34194:61:104"},{"expression":{"id":59851,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59814,"src":"34269:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":59822,"id":59852,"nodeType":"Return","src":"34262:17:104"}]},"documentation":{"id":59812,"nodeType":"StructuredDocumentation","src":"33620:266:104","text":" @dev Internal function to cancel a proposal.\n @param proposalId The id of the proposal.\n @param canceler The address of the account canceling the proposal.\n @param reason The reason for canceling the proposal.\n @return The proposal id."},"id":59854,"implemented":true,"kind":"function","modifiers":[],"name":"_cancel","nameLocation":"33898:7:104","nodeType":"FunctionDefinition","parameters":{"id":59819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59814,"mutability":"mutable","name":"proposalId","nameLocation":"33919:10:104","nodeType":"VariableDeclaration","scope":59854,"src":"33911:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59813,"name":"uint256","nodeType":"ElementaryTypeName","src":"33911:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59816,"mutability":"mutable","name":"canceler","nameLocation":"33943:8:104","nodeType":"VariableDeclaration","scope":59854,"src":"33935:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59815,"name":"address","nodeType":"ElementaryTypeName","src":"33935:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59818,"mutability":"mutable","name":"reason","nameLocation":"33971:6:104","nodeType":"VariableDeclaration","scope":59854,"src":"33957:20:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59817,"name":"string","nodeType":"ElementaryTypeName","src":"33957:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33905:76:104"},"returnParameters":{"id":59822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59821,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":59854,"src":"33999:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59820,"name":"uint256","nodeType":"ElementaryTypeName","src":"33999:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33998:9:104"},"scope":60252,"src":"33889:395:104","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":59909,"nodeType":"Block","src":"34535:659:104","statements":[{"assignments":[59864],"declarations":[{"constant":false,"id":59864,"mutability":"mutable","name":"$","nameLocation":"34586:1:104","nodeType":"VariableDeclaration","scope":59909,"src":"34541:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59863,"nodeType":"UserDefinedTypeName","pathNode":{"id":59862,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["34541:20:104","34562:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"34541:36:104"},"referencedDeclaration":61305,"src":"34541:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59868,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59865,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"34590:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34611:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"34590:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34590:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"34541:90:104"},{"assignments":[59870],"declarations":[{"constant":false,"id":59870,"mutability":"mutable","name":"currentRoundId","nameLocation":"34645:14:104","nodeType":"VariableDeclaration","scope":59909,"src":"34637:22:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59869,"name":"uint256","nodeType":"ElementaryTypeName","src":"34637:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59875,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":59871,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59864,"src":"34662:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59872,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34664:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"34662:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34682:14:104","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"34662:34:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34662:36:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34637:61:104"},{"assignments":[59877],"declarations":[{"constant":false,"id":59877,"mutability":"mutable","name":"currentRoundDeadline","nameLocation":"34712:20:104","nodeType":"VariableDeclaration","scope":59909,"src":"34704:28:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59876,"name":"uint256","nodeType":"ElementaryTypeName","src":"34704:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59883,"initialValue":{"arguments":[{"id":59881,"name":"currentRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59870,"src":"34769:14:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":59878,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59864,"src":"34735:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59879,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34737:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"34735:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34755:13:104","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":70862,"src":"34735:33:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":59882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34735:49:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34704:80:104"},{"assignments":[59885],"declarations":[{"constant":false,"id":59885,"mutability":"mutable","name":"currentBlock","nameLocation":"34797:12:104","nodeType":"VariableDeclaration","scope":59909,"src":"34790:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":59884,"name":"uint48","nodeType":"ElementaryTypeName","src":"34790:6:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":59889,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59886,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"34812:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":59887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34831:5:104","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"34812:24:104","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":59888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34812:26:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"34790:48:104"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59890,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59877,"src":"34926:20:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":59891,"name":"currentBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59885,"src":"34950:12:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"34926:36:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59896,"nodeType":"IfStatement","src":"34922:69:104","trueBody":{"id":59895,"nodeType":"Block","src":"34964:27:104","statements":[{"expression":{"hexValue":"66616c7365","id":59893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34979:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":59859,"id":59894,"nodeType":"Return","src":"34972:12:104"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":59897,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59864,"src":"35089:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35091:14:104","memberName":"minVotingDelay","nodeType":"MemberAccess","referencedDeclaration":61151,"src":"35089:16:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59899,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59877,"src":"35108:20:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":59900,"name":"currentBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59885,"src":"35131:12:104","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"35108:35:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35089:54:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59906,"nodeType":"IfStatement","src":"35085:87:104","trueBody":{"id":59905,"nodeType":"Block","src":"35145:27:104","statements":[{"expression":{"hexValue":"66616c7365","id":59903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35160:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":59859,"id":59904,"nodeType":"Return","src":"35153:12:104"}]}},{"expression":{"hexValue":"74727565","id":59907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35185:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":59859,"id":59908,"nodeType":"Return","src":"35178:11:104"}]},"documentation":{"id":59855,"nodeType":"StructuredDocumentation","src":"34288:172:104","text":" @dev Internal function to validate if a proposal can start in the next round.\n @return True if the proposal can start in the next round, false otherwise."},"id":59910,"implemented":true,"kind":"function","modifiers":[],"name":"_canProposalStartInNextRound","nameLocation":"34472:28:104","nodeType":"FunctionDefinition","parameters":{"id":59856,"nodeType":"ParameterList","parameters":[],"src":"34500:5:104"},"returnParameters":{"id":59859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":59910,"src":"34529:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59857,"name":"bool","nodeType":"ElementaryTypeName","src":"34529:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34528:6:104"},"scope":60252,"src":"34463:731:104","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":60009,"nodeType":"Block","src":"35453:1058:104","statements":[{"assignments":[59922],"declarations":[{"constant":false,"id":59922,"mutability":"mutable","name":"$","nameLocation":"35504:1:104","nodeType":"VariableDeclaration","scope":60009,"src":"35459:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59921,"nodeType":"UserDefinedTypeName","pathNode":{"id":59920,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["35459:20:104","35480:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"35459:36:104"},"referencedDeclaration":61305,"src":"35459:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59926,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59923,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"35508:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35529:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"35508:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35508:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"35459:90:104"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":59927,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59922,"src":"35622:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59928,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35624:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"35622:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35642:14:104","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"35622:34:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35622:36:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"baseExpression":{"expression":{"id":59931,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59922,"src":"35662:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35664:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"35662:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":59934,"indexExpression":{"id":59933,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59913,"src":"35674:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35662:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":59935,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35686:16:104","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"35662:40:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35622:80:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59957,"nodeType":"IfStatement","src":"35618:279:104","trueBody":{"id":59956,"nodeType":"Block","src":"35704:193:104","statements":[{"assignments":[59941],"declarations":[{"constant":false,"id":59941,"mutability":"mutable","name":"$","nameLocation":"35755:1:104","nodeType":"VariableDeclaration","scope":59956,"src":"35710:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":59940,"nodeType":"UserDefinedTypeName","pathNode":{"id":59939,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["35710:20:104","35731:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"35710:36:104"},"referencedDeclaration":61305,"src":"35710:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":59945,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59942,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"35759:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":59943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35780:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"35759:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":59944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35759:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"35710:90:104"},{"expression":{"arguments":[{"expression":{"baseExpression":{"expression":{"id":59949,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59941,"src":"35849:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35851:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"35849:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":59952,"indexExpression":{"id":59951,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59913,"src":"35861:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35849:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":59953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35873:16:104","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"35849:40:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":59946,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59941,"src":"35815:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59947,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35817:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"35815:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35835:13:104","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":70854,"src":"35815:33:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":59954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35815:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":59917,"id":59955,"nodeType":"Return","src":"35808:82:104"}]}},{"assignments":[59959],"declarations":[{"constant":false,"id":59959,"mutability":"mutable","name":"amountOfRoundsLeft","nameLocation":"35911:18:104","nodeType":"VariableDeclaration","scope":60009,"src":"35903:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59958,"name":"uint256","nodeType":"ElementaryTypeName","src":"35903:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59970,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":59960,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59922,"src":"35932:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35934:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"35932:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":59963,"indexExpression":{"id":59962,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59913,"src":"35944:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35932:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":59964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35956:16:104","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"35932:40:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":59965,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59922,"src":"35975:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35977:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"35975:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35995:14:104","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"35975:34:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35975:36:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35932:79:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35903:108:104"},{"assignments":[59972],"declarations":[{"constant":false,"id":59972,"mutability":"mutable","name":"roundsDurationLeft","nameLocation":"36025:18:104","nodeType":"VariableDeclaration","scope":60009,"src":"36017:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59971,"name":"uint256","nodeType":"ElementaryTypeName","src":"36017:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59982,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":59973,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59922,"src":"36046:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36048:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"36046:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36066:12:104","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":70868,"src":"36046:32:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36046:34:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59977,"name":"amountOfRoundsLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59959,"src":"36084:18:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":59978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36105:1:104","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"36084:22:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":59980,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36083:24:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36046:61:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36017:90:104"},{"assignments":[59984],"declarations":[{"constant":false,"id":59984,"mutability":"mutable","name":"currentRoundDeadline","nameLocation":"36177:20:104","nodeType":"VariableDeclaration","scope":60009,"src":"36169:28:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59983,"name":"uint256","nodeType":"ElementaryTypeName","src":"36169:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59989,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":59985,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59922,"src":"36200:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":59986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36202:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"36200:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":59987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36220:20:104","memberName":"currentRoundDeadline","nodeType":"MemberAccess","referencedDeclaration":71032,"src":"36200:40:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36200:42:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36169:73:104"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59990,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59984,"src":"36315:20:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59991,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"36339:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":59992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36358:5:104","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"36339:24:104","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":59993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36339:26:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"36315:50:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60002,"nodeType":"IfStatement","src":"36311:120:104","trueBody":{"id":60001,"nodeType":"Block","src":"36367:64:104","statements":[{"expression":{"id":59999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":59995,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59984,"src":"36375:20:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59996,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"36398:18:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":59997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36417:5:104","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"36398:24:104","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":59998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36398:26:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"36375:49:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":60000,"nodeType":"ExpressionStatement","src":"36375:49:104"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60003,"name":"currentRoundDeadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59984,"src":"36444:20:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":60004,"name":"roundsDurationLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59972,"src":"36467:18:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36444:41:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":60006,"name":"amountOfRoundsLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59959,"src":"36488:18:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36444:62:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":59917,"id":60008,"nodeType":"Return","src":"36437:69:104"}]},"documentation":{"id":59911,"nodeType":"StructuredDocumentation","src":"35198:165:104","text":" @dev Internal function to get the snapshot block of a proposal.\n @param proposalId The id of the proposal.\n @return The snapshot block number."},"id":60010,"implemented":true,"kind":"function","modifiers":[],"name":"_proposalSnapshot","nameLocation":"35375:17:104","nodeType":"FunctionDefinition","parameters":{"id":59914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59913,"mutability":"mutable","name":"proposalId","nameLocation":"35406:10:104","nodeType":"VariableDeclaration","scope":60010,"src":"35398:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59912,"name":"uint256","nodeType":"ElementaryTypeName","src":"35398:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35392:28:104"},"returnParameters":{"id":59917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59916,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60010,"src":"35444:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59915,"name":"uint256","nodeType":"ElementaryTypeName","src":"35444:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35443:9:104"},"scope":60252,"src":"35366:1145:104","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":60067,"nodeType":"Block","src":"36770:670:104","statements":[{"assignments":[60022],"declarations":[{"constant":false,"id":60022,"mutability":"mutable","name":"$","nameLocation":"36821:1:104","nodeType":"VariableDeclaration","scope":60067,"src":"36776:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60021,"nodeType":"UserDefinedTypeName","pathNode":{"id":60020,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["36776:20:104","36797:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"36776:36:104"},"referencedDeclaration":61305,"src":"36776:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60026,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60023,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"36825:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36846:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"36825:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36825:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"36776:90:104"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":60027,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60022,"src":"36969:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36971:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"36969:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":60029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36989:14:104","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"36969:34:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":60030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36969:36:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"baseExpression":{"expression":{"id":60031,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60022,"src":"37009:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37011:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"37009:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":60034,"indexExpression":{"id":60033,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60013,"src":"37021:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37009:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":60035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37033:16:104","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"37009:40:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36969:80:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60057,"nodeType":"IfStatement","src":"36965:279:104","trueBody":{"id":60056,"nodeType":"Block","src":"37051:193:104","statements":[{"assignments":[60041],"declarations":[{"constant":false,"id":60041,"mutability":"mutable","name":"$","nameLocation":"37102:1:104","nodeType":"VariableDeclaration","scope":60056,"src":"37057:46:104","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60040,"nodeType":"UserDefinedTypeName","pathNode":{"id":60039,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["37057:20:104","37078:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"37057:36:104"},"referencedDeclaration":61305,"src":"37057:36:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60045,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60042,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"37106:20:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37127:18:104","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"37106:39:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37106:41:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"37057:90:104"},{"expression":{"arguments":[{"expression":{"baseExpression":{"expression":{"id":60049,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60041,"src":"37196:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60050,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37198:9:104","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"37196:11:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":60052,"indexExpression":{"id":60051,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60013,"src":"37208:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37196:23:104","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":60053,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37220:16:104","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"37196:40:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":60046,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60041,"src":"37162:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37164:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"37162:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":60048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37182:13:104","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":70862,"src":"37162:33:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":60054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37162:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":60017,"id":60055,"nodeType":"Return","src":"37155:82:104"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":60059,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60013,"src":"37387:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60058,"name":"_proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60010,"src":"37369:17:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":60060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37369:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":60061,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60022,"src":"37401:1:104","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37403:17:104","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"37401:19:104","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":60063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37421:12:104","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":70868,"src":"37401:32:104","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":60064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37401:34:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37369:66:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":60017,"id":60066,"nodeType":"Return","src":"37362:73:104"}]},"documentation":{"id":60011,"nodeType":"StructuredDocumentation","src":"36515:165:104","text":" @dev Internal function to get the deadline block of a proposal.\n @param proposalId The id of the proposal.\n @return The deadline block number."},"id":60068,"implemented":true,"kind":"function","modifiers":[],"name":"_proposalDeadline","nameLocation":"36692:17:104","nodeType":"FunctionDefinition","parameters":{"id":60014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60013,"mutability":"mutable","name":"proposalId","nameLocation":"36723:10:104","nodeType":"VariableDeclaration","scope":60068,"src":"36715:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60012,"name":"uint256","nodeType":"ElementaryTypeName","src":"36715:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36709:28:104"},"returnParameters":{"id":60017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60068,"src":"36761:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60015,"name":"uint256","nodeType":"ElementaryTypeName","src":"36761:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36760:9:104"},"scope":60252,"src":"36683:757:104","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":60159,"nodeType":"Block","src":"37930:1167:104","statements":[{"assignments":[60079],"declarations":[{"constant":false,"id":60079,"mutability":"mutable","name":"len","nameLocation":"37944:3:104","nodeType":"VariableDeclaration","scope":60159,"src":"37936:11:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60078,"name":"uint256","nodeType":"ElementaryTypeName","src":"37936:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60085,"initialValue":{"expression":{"arguments":[{"id":60082,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60073,"src":"37956:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":60081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37950:5:104","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":60080,"name":"bytes","nodeType":"ElementaryTypeName","src":"37950:5:104","typeDescriptions":{}}},"id":60083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37950:18:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":60084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37969:6:104","memberName":"length","nodeType":"MemberAccess","src":"37950:25:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37936:39:104"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60086,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60079,"src":"38048:3:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3532","id":60087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38054:2:104","typeDescriptions":{"typeIdentifier":"t_rational_52_by_1","typeString":"int_const 52"},"value":"52"},"src":"38048:8:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60092,"nodeType":"IfStatement","src":"38044:40:104","trueBody":{"id":60091,"nodeType":"Block","src":"38058:26:104","statements":[{"expression":{"hexValue":"74727565","id":60089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"38073:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":60077,"id":60090,"nodeType":"Return","src":"38066:11:104"}]}},{"assignments":[60094],"declarations":[{"constant":false,"id":60094,"mutability":"mutable","name":"marker","nameLocation":"38174:6:104","nodeType":"VariableDeclaration","scope":60159,"src":"38166:14:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":60093,"name":"bytes12","nodeType":"ElementaryTypeName","src":"38166:7:104","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"id":60095,"nodeType":"VariableDeclarationStatement","src":"38166:14:104"},{"AST":{"nodeType":"YulBlock","src":"38195:326:104","statements":[{"nodeType":"YulAssignment","src":"38468:47:104","value":{"arguments":[{"arguments":[{"name":"description","nodeType":"YulIdentifier","src":"38488:11:104"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"38505:3:104"},{"kind":"number","nodeType":"YulLiteral","src":"38510:2:104","type":"","value":"20"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38501:3:104"},"nodeType":"YulFunctionCall","src":"38501:12:104"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38484:3:104"},"nodeType":"YulFunctionCall","src":"38484:30:104"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38478:5:104"},"nodeType":"YulFunctionCall","src":"38478:37:104"},"variableNames":[{"name":"marker","nodeType":"YulIdentifier","src":"38468:6:104"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":60073,"isOffset":false,"isSlot":false,"src":"38488:11:104","valueSize":1},{"declaration":60079,"isOffset":false,"isSlot":false,"src":"38505:3:104","valueSize":1},{"declaration":60094,"isOffset":false,"isSlot":false,"src":"38468:6:104","valueSize":1}],"id":60096,"nodeType":"InlineAssembly","src":"38186:335:104"},{"condition":{"commonType":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"id":60102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60097,"name":"marker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60094,"src":"38603:6:104","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"2370726f706f7365723d3078","id":60100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38621:14:104","typeDescriptions":{"typeIdentifier":"t_stringliteral_c71b7ddeea4f156000856aeb51f48432dbda80a33f6e5955e4909d9caf2ade73","typeString":"literal_string \"#proposer=0x\""},"value":"#proposer=0x"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c71b7ddeea4f156000856aeb51f48432dbda80a33f6e5955e4909d9caf2ade73","typeString":"literal_string \"#proposer=0x\""}],"id":60099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38613:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes12_$","typeString":"type(bytes12)"},"typeName":{"id":60098,"name":"bytes12","nodeType":"ElementaryTypeName","src":"38613:7:104","typeDescriptions":{}}},"id":60101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38613:23:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"src":"38603:33:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60106,"nodeType":"IfStatement","src":"38599:65:104","trueBody":{"id":60105,"nodeType":"Block","src":"38638:26:104","statements":[{"expression":{"hexValue":"74727565","id":60103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"38653:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":60077,"id":60104,"nodeType":"Return","src":"38646:11:104"}]}},{"assignments":[60108],"declarations":[{"constant":false,"id":60108,"mutability":"mutable","name":"recovered","nameLocation":"38741:9:104","nodeType":"VariableDeclaration","scope":60159,"src":"38733:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":60107,"name":"uint160","nodeType":"ElementaryTypeName","src":"38733:7:104","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"id":60109,"nodeType":"VariableDeclarationStatement","src":"38733:17:104"},{"body":{"id":60150,"nodeType":"Block","src":"38797:252:104","statements":[{"assignments":[60123,60125],"declarations":[{"constant":false,"id":60123,"mutability":"mutable","name":"isHex","nameLocation":"38811:5:104","nodeType":"VariableDeclaration","scope":60150,"src":"38806:10:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60122,"name":"bool","nodeType":"ElementaryTypeName","src":"38806:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":60125,"mutability":"mutable","name":"value","nameLocation":"38824:5:104","nodeType":"VariableDeclaration","scope":60150,"src":"38818:11:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":60124,"name":"uint8","nodeType":"ElementaryTypeName","src":"38818:5:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":60134,"initialValue":{"arguments":[{"baseExpression":{"arguments":[{"id":60129,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60073,"src":"38852:11:104","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":60128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38846:5:104","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":60127,"name":"bytes","nodeType":"ElementaryTypeName","src":"38846:5:104","typeDescriptions":{}}},"id":60130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38846:18:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":60132,"indexExpression":{"id":60131,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60111,"src":"38865:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38846:21:104","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":60126,"name":"tryHexToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60251,"src":"38833:12:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$returns$_t_bool_$_t_uint8_$","typeString":"function (bytes1) pure returns (bool,uint8)"}},"id":60133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38833:35:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"nodeType":"VariableDeclarationStatement","src":"38805:63:104"},{"condition":{"id":60136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"38961:6:104","subExpression":{"id":60135,"name":"isHex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60123,"src":"38962:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60140,"nodeType":"IfStatement","src":"38957:42:104","trueBody":{"id":60139,"nodeType":"Block","src":"38969:30:104","statements":[{"expression":{"hexValue":"74727565","id":60137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"38986:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":60077,"id":60138,"nodeType":"Return","src":"38979:11:104"}]}},{"expression":{"id":60148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60141,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60108,"src":"39006:9:104","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":60147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":60144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60142,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60108,"src":"39019:9:104","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":60143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39032:1:104","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"39019:14:104","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":60145,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39018:16:104","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"id":60146,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60125,"src":"39037:5:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"39018:24:104","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"39006:36:104","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":60149,"nodeType":"ExpressionStatement","src":"39006:36:104"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60116,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60111,"src":"38783:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":60117,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60079,"src":"38787:3:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38783:7:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60151,"initializationExpression":{"assignments":[60111],"declarations":[{"constant":false,"id":60111,"mutability":"mutable","name":"i","nameLocation":"38769:1:104","nodeType":"VariableDeclaration","scope":60151,"src":"38761:9:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60110,"name":"uint256","nodeType":"ElementaryTypeName","src":"38761:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60115,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60112,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60079,"src":"38773:3:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3430","id":60113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38779:2:104","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"src":"38773:8:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38761:20:104"},"loopExpression":{"expression":{"id":60120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"38792:3:104","subExpression":{"id":60119,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60111,"src":"38794:1:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":60121,"nodeType":"ExpressionStatement","src":"38792:3:104"},"nodeType":"ForStatement","src":"38756:293:104"},{"expression":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":60157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60152,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60108,"src":"39062:9:104","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":60155,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60071,"src":"39083:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39075:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":60153,"name":"uint160","nodeType":"ElementaryTypeName","src":"39075:7:104","typeDescriptions":{}}},"id":60156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39075:17:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"39062:30:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":60077,"id":60158,"nodeType":"Return","src":"39055:37:104"}]},"documentation":{"id":60069,"nodeType":"StructuredDocumentation","src":"37511:304:104","text":" @dev Checks if the description string ends with a proposer's address suffix.\n @param proposer The address of the proposer.\n @param description The description of the proposal.\n @return True if the suffix matches the proposer's address or if there is no suffix, false otherwise."},"id":60160,"implemented":true,"kind":"function","modifiers":[],"name":"isValidDescriptionForProposer","nameLocation":"37827:29:104","nodeType":"FunctionDefinition","parameters":{"id":60074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60071,"mutability":"mutable","name":"proposer","nameLocation":"37865:8:104","nodeType":"VariableDeclaration","scope":60160,"src":"37857:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60070,"name":"address","nodeType":"ElementaryTypeName","src":"37857:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60073,"mutability":"mutable","name":"description","nameLocation":"37889:11:104","nodeType":"VariableDeclaration","scope":60160,"src":"37875:25:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":60072,"name":"string","nodeType":"ElementaryTypeName","src":"37875:6:104","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37856:45:104"},"returnParameters":{"id":60077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60160,"src":"37924:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60075,"name":"bool","nodeType":"ElementaryTypeName","src":"37924:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37923:6:104"},"scope":60252,"src":"37818:1279:104","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":60181,"nodeType":"Block","src":"39387:137:104","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":60179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"id":60173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60169,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60164,"src":"39406:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":60170,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"39427:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39441:12:104","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"39427:26:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":60172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39454:8:104","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":61429,"src":"39427:35:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"src":"39406:56:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"id":60178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60174,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60164,"src":"39466:17:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":60175,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"39487:13:104","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39501:12:104","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"39487:26:104","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":60177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39514:5:104","memberName":"Grant","nodeType":"MemberAccess","referencedDeclaration":61430,"src":"39487:32:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"src":"39466:53:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"39406:113:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":60168,"id":60180,"nodeType":"Return","src":"39393:126:104"}]},"documentation":{"id":60161,"nodeType":"StructuredDocumentation","src":"39101:179:104","text":" @dev Checks if the proposal type is valid.\n @param proposalTypeValue The type of the proposal.\n @return True if the proposal type is valid, false otherwise."},"id":60182,"implemented":true,"kind":"function","modifiers":[],"name":"isValidProposalType","nameLocation":"39292:19:104","nodeType":"FunctionDefinition","parameters":{"id":60165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60164,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"39339:17:104","nodeType":"VariableDeclaration","scope":60182,"src":"39312:44:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":60163,"nodeType":"UserDefinedTypeName","pathNode":{"id":60162,"name":"GovernorTypes.ProposalType","nameLocations":["39312:13:104","39326:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"39312:26:104"},"referencedDeclaration":61431,"src":"39312:26:104","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"39311:46:104"},"returnParameters":{"id":60168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60167,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60182,"src":"39381:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60166,"name":"bool","nodeType":"ElementaryTypeName","src":"39381:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39380:6:104"},"scope":60252,"src":"39283:241:104","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":60250,"nodeType":"Block","src":"39839:404:104","statements":[{"assignments":[60193],"declarations":[{"constant":false,"id":60193,"mutability":"mutable","name":"c","nameLocation":"39851:1:104","nodeType":"VariableDeclaration","scope":60250,"src":"39845:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":60192,"name":"uint8","nodeType":"ElementaryTypeName","src":"39845:5:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":60198,"initialValue":{"arguments":[{"id":60196,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60185,"src":"39861:4:104","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":60195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39855:5:104","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":60194,"name":"uint8","nodeType":"ElementaryTypeName","src":"39855:5:104","typeDescriptions":{}}},"id":60197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39855:11:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"39845:21:104"},{"id":60249,"nodeType":"UncheckedBlock","src":"39872:367:104","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":60205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3437","id":60199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39912:2:104","typeDescriptions":{"typeIdentifier":"t_rational_47_by_1","typeString":"int_const 47"},"value":"47"},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":60200,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60193,"src":"39917:1:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"39912:6:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60202,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60193,"src":"39922:1:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3538","id":60203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39926:2:104","typeDescriptions":{"typeIdentifier":"t_rational_58_by_1","typeString":"int_const 58"},"value":"58"},"src":"39922:6:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"39912:16:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":60219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3634","id":60213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40004:2:104","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":60214,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60193,"src":"40009:1:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"40004:6:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60216,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60193,"src":"40014:1:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3731","id":60217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40018:2:104","typeDescriptions":{"typeIdentifier":"t_rational_71_by_1","typeString":"int_const 71"},"value":"71"},"src":"40014:6:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"40004:16:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":60233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3936","id":60227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40096:2:104","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":60228,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60193,"src":"40101:1:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"40096:6:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60230,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60193,"src":"40106:1:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313033","id":60231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40110:3:104","typeDescriptions":{"typeIdentifier":"t_rational_103_by_1","typeString":"int_const 103"},"value":"103"},"src":"40106:7:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"40096:17:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":60245,"nodeType":"Block","src":"40197:36:104","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":60241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"40215:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":60242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40222:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":60243,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"40214:10:104","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":60191,"id":60244,"nodeType":"Return","src":"40207:17:104"}]},"id":60246,"nodeType":"IfStatement","src":"40092:141:104","trueBody":{"id":60240,"nodeType":"Block","src":"40115:40:104","statements":[{"expression":{"components":[{"hexValue":"74727565","id":60234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"40133:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60235,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60193,"src":"40139:1:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3837","id":60236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40143:2:104","typeDescriptions":{"typeIdentifier":"t_rational_87_by_1","typeString":"int_const 87"},"value":"87"},"src":"40139:6:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":60238,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40132:14:104","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"functionReturnParameters":60191,"id":60239,"nodeType":"Return","src":"40125:21:104"}]}},"id":60247,"nodeType":"IfStatement","src":"40000:233:104","trueBody":{"id":60226,"nodeType":"Block","src":"40022:40:104","statements":[{"expression":{"components":[{"hexValue":"74727565","id":60220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"40040:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60221,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60193,"src":"40046:1:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3535","id":60222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40050:2:104","typeDescriptions":{"typeIdentifier":"t_rational_55_by_1","typeString":"int_const 55"},"value":"55"},"src":"40046:6:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":60224,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40039:14:104","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"functionReturnParameters":60191,"id":60225,"nodeType":"Return","src":"40032:21:104"}]}},"id":60248,"nodeType":"IfStatement","src":"39908:325:104","trueBody":{"id":60212,"nodeType":"Block","src":"39930:40:104","statements":[{"expression":{"components":[{"hexValue":"74727565","id":60206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"39948:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60207,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60193,"src":"39954:1:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3438","id":60208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39958:2:104","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"39954:6:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":60210,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39947:14:104","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint8_$","typeString":"tuple(bool,uint8)"}},"functionReturnParameters":60191,"id":60211,"nodeType":"Return","src":"39940:21:104"}]}}]}]},"documentation":{"id":60183,"nodeType":"StructuredDocumentation","src":"39528:238:104","text":" @dev Tries to parse a character from a string as a hex value.\n @param char The character to parse.\n @return isHex True if the character is a valid hex digit, false otherwise.\n @return value The parsed hex value."},"id":60251,"implemented":true,"kind":"function","modifiers":[],"name":"tryHexToUint","nameLocation":"39778:12:104","nodeType":"FunctionDefinition","parameters":{"id":60186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60185,"mutability":"mutable","name":"char","nameLocation":"39798:4:104","nodeType":"VariableDeclaration","scope":60251,"src":"39791:11:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":60184,"name":"bytes1","nodeType":"ElementaryTypeName","src":"39791:6:104","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"39790:13:104"},"returnParameters":{"id":60191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60251,"src":"39826:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60187,"name":"bool","nodeType":"ElementaryTypeName","src":"39826:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":60190,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60251,"src":"39832:5:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":60189,"name":"uint8","nodeType":"ElementaryTypeName","src":"39832:5:104","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"39825:13:104"},"scope":60252,"src":"39769:474:104","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":60253,"src":"2294:37952:104","usedErrors":[7025,8883,10456,57652,57657,58095,58100,58105,58108,58117,58122,58128,58135,58143,58148,60803,60813],"usedEvents":[55231,57121,58016,58025,58050,58058,58063,58070,58075,58080,58085]}],"src":"1195:39052:104"},"id":104},"contracts/governance/libraries/GovernorQuorumLogic.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorQuorumLogic.sol","exportedSymbols":{"Checkpoints":[10447],"GovernorClockLogic":[55213],"GovernorProposalLogic":[60252],"GovernorQuorumLogic":[60759],"GovernorStorageTypes":[61306],"GovernorTypes":[61442],"GovernorVotesLogic":[62628],"SafeCast":[8770]},"id":60760,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":60254,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:105"},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":60256,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60760,"sourceUnit":61307,"src":"1220:66:105","symbolAliases":[{"foreign":{"id":60255,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1229:20:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorClockLogic.sol","file":"./GovernorClockLogic.sol","id":60258,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60760,"sourceUnit":55214,"src":"1287:62:105","symbolAliases":[{"foreign":{"id":60257,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"1296:18:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorVotesLogic.sol","file":"./GovernorVotesLogic.sol","id":60260,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60760,"sourceUnit":62629,"src":"1350:62:105","symbolAliases":[{"foreign":{"id":60259,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"1359:18:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorProposalLogic.sol","file":"./GovernorProposalLogic.sol","id":60262,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60760,"sourceUnit":60253,"src":"1413:68:105","symbolAliases":[{"foreign":{"id":60261,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"1422:21:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":60263,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60760,"sourceUnit":8771,"src":"1482:57:105","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":60265,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60760,"sourceUnit":10448,"src":"1540:84:105","symbolAliases":[{"foreign":{"id":60264,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1549:11:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./GovernorTypes.sol","id":60267,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":60760,"sourceUnit":61443,"src":"1625:52:105","symbolAliases":[{"foreign":{"id":60266,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"1634:13:105","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorQuorumLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":60268,"nodeType":"StructuredDocumentation","src":"1679:118:105","text":"@title GovernorQuorumLogic\n @notice Library for managing quorum numerators using checkpointed data structures."},"fullyImplemented":true,"id":60759,"linearizedBaseContracts":[60759],"name":"GovernorQuorumLogic","nameLocation":"1805:19:105","nodeType":"ContractDefinition","nodes":[{"global":false,"id":60272,"libraryName":{"id":60269,"name":"Checkpoints","nameLocations":["1835:11:105"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"1835:11:105"},"nodeType":"UsingForDirective","src":"1829:43:105","typeName":{"id":60271,"nodeType":"UserDefinedTypeName","pathNode":{"id":60270,"name":"Checkpoints.Trace208","nameLocations":["1851:11:105","1863:8:105"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"1851:20:105"},"referencedDeclaration":9409,"src":"1851:20:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"documentation":{"id":60273,"nodeType":"StructuredDocumentation","src":"1876:257:105","text":"@notice Error that is thrown when the new quorum numerator exceeds the denominator.\n @param quorumNumerator The attempted new numerator that failed the update.\n @param quorumDenominator The denominator against which the numerator was compared."},"errorSelector":"243e5445","id":60279,"name":"GovernorInvalidQuorumFraction","nameLocation":"2142:29:105","nodeType":"ErrorDefinition","parameters":{"id":60278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60275,"mutability":"mutable","name":"quorumNumerator","nameLocation":"2180:15:105","nodeType":"VariableDeclaration","scope":60279,"src":"2172:23:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60274,"name":"uint256","nodeType":"ElementaryTypeName","src":"2172:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60277,"mutability":"mutable","name":"quorumDenominator","nameLocation":"2205:17:105","nodeType":"VariableDeclaration","scope":60279,"src":"2197:25:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60276,"name":"uint256","nodeType":"ElementaryTypeName","src":"2197:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2171:52:105"},"src":"2136:88:105"},{"anonymous":false,"documentation":{"id":60280,"nodeType":"StructuredDocumentation","src":"2228:174:105","text":"@notice Emitted when the quorum numerator is updated.\n @param oldNumerator The numerator before the update.\n @param newNumerator The numerator after the update."},"eventSelector":"0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997","id":60286,"name":"QuorumNumeratorUpdated","nameLocation":"2411:22:105","nodeType":"EventDefinition","parameters":{"id":60285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60282,"indexed":false,"mutability":"mutable","name":"oldNumerator","nameLocation":"2442:12:105","nodeType":"VariableDeclaration","scope":60286,"src":"2434:20:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60281,"name":"uint256","nodeType":"ElementaryTypeName","src":"2434:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60284,"indexed":false,"mutability":"mutable","name":"newNumerator","nameLocation":"2464:12:105","nodeType":"VariableDeclaration","scope":60286,"src":"2456:20:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60283,"name":"uint256","nodeType":"ElementaryTypeName","src":"2456:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2433:44:105"},"src":"2405:73:105"},{"anonymous":false,"documentation":{"id":60287,"nodeType":"StructuredDocumentation","src":"2482:251:105","text":"@notice Emitted when the quorum numerator for a specific proposal type is updated.\n @param oldNumerator The numerator before the update.\n @param newNumerator The numerator after the update.\n @param proposalType The type of proposal."},"eventSelector":"a887ac6363633c0ce6f205a5a5e196934dd309db93895e5751862be24465171d","id":60296,"name":"QuorumNumeratorUpdatedByType","nameLocation":"2742:28:105","nodeType":"EventDefinition","parameters":{"id":60295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60289,"indexed":false,"mutability":"mutable","name":"oldNumerator","nameLocation":"2784:12:105","nodeType":"VariableDeclaration","scope":60296,"src":"2776:20:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60288,"name":"uint256","nodeType":"ElementaryTypeName","src":"2776:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60291,"indexed":false,"mutability":"mutable","name":"newNumerator","nameLocation":"2810:12:105","nodeType":"VariableDeclaration","scope":60296,"src":"2802:20:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60290,"name":"uint256","nodeType":"ElementaryTypeName","src":"2802:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60294,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"2855:12:105","nodeType":"VariableDeclaration","scope":60296,"src":"2828:39:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":60293,"nodeType":"UserDefinedTypeName","pathNode":{"id":60292,"name":"GovernorTypes.ProposalType","nameLocations":["2828:13:105","2842:12:105"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"2828:26:105"},"referencedDeclaration":61431,"src":"2828:26:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"2770:101:105"},"src":"2736:136:105"},{"body":{"id":60304,"nodeType":"Block","src":"3147:21:105","statements":[{"expression":{"hexValue":"313030","id":60302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3160:3:105","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"functionReturnParameters":60301,"id":60303,"nodeType":"Return","src":"3153:10:105"}]},"documentation":{"id":60297,"nodeType":"StructuredDocumentation","src":"2932:151:105","text":"@notice Retrieves the quorum denominator, which is a constant in this implementation.\n @return The quorum denominator (constant value of 100)."},"id":60305,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"3095:17:105","nodeType":"FunctionDefinition","parameters":{"id":60298,"nodeType":"ParameterList","parameters":[],"src":"3112:2:105"},"returnParameters":{"id":60301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60305,"src":"3138:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60299,"name":"uint256","nodeType":"ElementaryTypeName","src":"3138:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3137:9:105"},"scope":60759,"src":"3086:82:105","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":60383,"nodeType":"Block","src":"3485:702:105","statements":[{"assignments":[60317],"declarations":[{"constant":false,"id":60317,"mutability":"mutable","name":"$","nameLocation":"3536:1:105","nodeType":"VariableDeclaration","scope":60383,"src":"3491:46:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60316,"nodeType":"UserDefinedTypeName","pathNode":{"id":60315,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["3491:20:105","3512:15:105"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"3491:36:105"},"referencedDeclaration":61305,"src":"3491:36:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60321,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60318,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"3540:20:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3561:18:105","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"3540:39:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3540:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3491:90:105"},{"assignments":[60326],"declarations":[{"constant":false,"id":60326,"mutability":"mutable","name":"proposalType","nameLocation":"3614:12:105","nodeType":"VariableDeclaration","scope":60383,"src":"3587:39:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":60325,"nodeType":"UserDefinedTypeName","pathNode":{"id":60324,"name":"GovernorTypes.ProposalType","nameLocations":["3587:13:105","3601:12:105"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"3587:26:105"},"referencedDeclaration":61431,"src":"3587:26:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"id":60330,"initialValue":{"expression":{"expression":{"id":60327,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"3629:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3643:12:105","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"3629:26:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":60329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3656:8:105","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":61429,"src":"3629:35:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"3587:77:105"},{"assignments":[60332],"declarations":[{"constant":false,"id":60332,"mutability":"mutable","name":"length","nameLocation":"3678:6:105","nodeType":"VariableDeclaration","scope":60383,"src":"3670:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60331,"name":"uint256","nodeType":"ElementaryTypeName","src":"3670:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60339,"initialValue":{"expression":{"expression":{"baseExpression":{"expression":{"id":60333,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60317,"src":"3687:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3689:18:105","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"3687:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":60336,"indexExpression":{"id":60335,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60326,"src":"3708:12:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3687:34:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":60337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3722:12:105","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"3687:47:105","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":60338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3735:6:105","memberName":"length","nodeType":"MemberAccess","src":"3687:54:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3670:71:105"},{"assignments":[60344],"declarations":[{"constant":false,"id":60344,"mutability":"mutable","name":"latest","nameLocation":"3836:6:105","nodeType":"VariableDeclaration","scope":60383,"src":"3802:40:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":60343,"nodeType":"UserDefinedTypeName","pathNode":{"id":60342,"name":"Checkpoints.Checkpoint208","nameLocations":["3802:11:105","3814:13:105"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"3802:25:105"},"referencedDeclaration":9414,"src":"3802:25:105","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":60354,"initialValue":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":60345,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60317,"src":"3845:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60346,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3847:18:105","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"3845:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":60348,"indexExpression":{"id":60347,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60326,"src":"3866:12:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3845:34:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":60349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3880:12:105","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"3845:47:105","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":60353,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60350,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60332,"src":"3893:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":60351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3902:1:105","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3893:10:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3845:59:105","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3802:102:105"},{"assignments":[60356],"declarations":[{"constant":false,"id":60356,"mutability":"mutable","name":"latestKey","nameLocation":"3917:9:105","nodeType":"VariableDeclaration","scope":60383,"src":"3910:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":60355,"name":"uint48","nodeType":"ElementaryTypeName","src":"3910:6:105","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":60359,"initialValue":{"expression":{"id":60357,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60344,"src":"3929:6:105","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":60358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3936:4:105","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"3929:11:105","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"3910:30:105"},{"assignments":[60361],"declarations":[{"constant":false,"id":60361,"mutability":"mutable","name":"latestValue","nameLocation":"3954:11:105","nodeType":"VariableDeclaration","scope":60383,"src":"3946:19:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":60360,"name":"uint208","nodeType":"ElementaryTypeName","src":"3946:7:105","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":60364,"initialValue":{"expression":{"id":60362,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60344,"src":"3968:6:105","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":60363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3975:6:105","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"3968:13:105","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"3946:35:105"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60365,"name":"latestKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60356,"src":"3991:9:105","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":60366,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60308,"src":"4004:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3991:22:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60371,"nodeType":"IfStatement","src":"3987:61:105","trueBody":{"id":60370,"nodeType":"Block","src":"4015:33:105","statements":[{"expression":{"id":60368,"name":"latestValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60361,"src":"4030:11:105","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":60312,"id":60369,"nodeType":"Return","src":"4023:18:105"}]}},{"expression":{"arguments":[{"arguments":[{"id":60379,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60308,"src":"4171:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60377,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4153:8:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":60378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4162:8:105","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"4153:17:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":60380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4153:28:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":60372,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60317,"src":"4100:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4102:18:105","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"4100:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":60375,"indexExpression":{"id":60374,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60326,"src":"4121:12:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4100:34:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":60376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4135:17:105","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"4100:52:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":60381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4100:82:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":60312,"id":60382,"nodeType":"Return","src":"4093:89:105"}]},"documentation":{"id":60306,"nodeType":"StructuredDocumentation","src":"3172:228:105","text":"@notice Retrieves the quorum numerator at a specific timepoint using checkpoint data.\n @param timepoint The specific timepoint for which to fetch the numerator.\n @return The quorum numerator at the given timepoint."},"functionSelector":"60c4247f","id":60384,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"3412:15:105","nodeType":"FunctionDefinition","parameters":{"id":60309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60308,"mutability":"mutable","name":"timepoint","nameLocation":"3441:9:105","nodeType":"VariableDeclaration","scope":60384,"src":"3433:17:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60307,"name":"uint256","nodeType":"ElementaryTypeName","src":"3433:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3427:27:105"},"returnParameters":{"id":60312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60384,"src":"3476:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60310,"name":"uint256","nodeType":"ElementaryTypeName","src":"3476:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3475:9:105"},"scope":60759,"src":"3403:784:105","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":60402,"nodeType":"Block","src":"4546:106:105","statements":[{"expression":{"arguments":[{"id":60395,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60387,"src":"4590:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":60398,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60389,"src":"4628:17:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":60396,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"4601:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4615:12:105","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"4601:26:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":60399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4601:45:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":60394,"name":"_quorumNumeratorByProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60689,"src":"4559:30:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (uint256,enum GovernorTypes.ProposalType) view returns (uint256)"}},"id":60400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:88:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":60393,"id":60401,"nodeType":"Return","src":"4552:95:105"}]},"documentation":{"id":60385,"nodeType":"StructuredDocumentation","src":"4190:228:105","text":"@notice Retrieves the quorum numerator at a specific timepoint using checkpoint data.\n @param timepoint The specific timepoint for which to fetch the numerator.\n @return The quorum numerator at the given timepoint."},"functionSelector":"5273e74b","id":60403,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumeratorByProposalType","nameLocation":"4430:29:105","nodeType":"FunctionDefinition","parameters":{"id":60390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60387,"mutability":"mutable","name":"timepoint","nameLocation":"4473:9:105","nodeType":"VariableDeclaration","scope":60403,"src":"4465:17:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60386,"name":"uint256","nodeType":"ElementaryTypeName","src":"4465:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60389,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"4494:17:105","nodeType":"VariableDeclaration","scope":60403,"src":"4488:23:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":60388,"name":"uint8","nodeType":"ElementaryTypeName","src":"4488:5:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4459:56:105"},"returnParameters":{"id":60393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60392,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60403,"src":"4537:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60391,"name":"uint256","nodeType":"ElementaryTypeName","src":"4537:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4536:9:105"},"scope":60759,"src":"4421:231:105","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":60434,"nodeType":"Block","src":"4846:240:105","statements":[{"assignments":[60413],"declarations":[{"constant":false,"id":60413,"mutability":"mutable","name":"$","nameLocation":"4897:1:105","nodeType":"VariableDeclaration","scope":60434,"src":"4852:46:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60412,"nodeType":"UserDefinedTypeName","pathNode":{"id":60411,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["4852:20:105","4873:15:105"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"4852:36:105"},"referencedDeclaration":61305,"src":"4852:36:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60417,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60414,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"4901:20:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4922:18:105","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"4901:39:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4901:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4852:90:105"},{"assignments":[60422],"declarations":[{"constant":false,"id":60422,"mutability":"mutable","name":"proposalType","nameLocation":"4975:12:105","nodeType":"VariableDeclaration","scope":60434,"src":"4948:39:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":60421,"nodeType":"UserDefinedTypeName","pathNode":{"id":60420,"name":"GovernorTypes.ProposalType","nameLocations":["4948:13:105","4962:12:105"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"4948:26:105"},"referencedDeclaration":61431,"src":"4948:26:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"id":60426,"initialValue":{"expression":{"expression":{"id":60423,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"4990:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5004:12:105","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"4990:26:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":60425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5017:8:105","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":61429,"src":"4990:35:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"4948:77:105"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":60427,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60413,"src":"5038:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5040:18:105","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"5038:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":60430,"indexExpression":{"id":60429,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60422,"src":"5059:12:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5038:34:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":60431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5073:6:105","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"5038:41:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":60432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5038:43:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":60408,"id":60433,"nodeType":"Return","src":"5031:50:105"}]},"documentation":{"id":60404,"nodeType":"StructuredDocumentation","src":"4656:130:105","text":"@notice Retrieves the latest quorum numerator using the GovernorClockLogic library.\n @return The latest quorum numerator."},"functionSelector":"a7713a70","id":60435,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"4798:15:105","nodeType":"FunctionDefinition","parameters":{"id":60405,"nodeType":"ParameterList","parameters":[],"src":"4813:2:105"},"returnParameters":{"id":60408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60435,"src":"4837:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60406,"name":"uint256","nodeType":"ElementaryTypeName","src":"4837:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4836:9:105"},"scope":60759,"src":"4789:297:105","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":60462,"nodeType":"Block","src":"5401:190:105","statements":[{"assignments":[60447],"declarations":[{"constant":false,"id":60447,"mutability":"mutable","name":"$","nameLocation":"5452:1:105","nodeType":"VariableDeclaration","scope":60462,"src":"5407:46:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60446,"nodeType":"UserDefinedTypeName","pathNode":{"id":60445,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["5407:20:105","5428:15:105"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"5407:36:105"},"referencedDeclaration":61305,"src":"5407:36:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60451,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60448,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"5456:20:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5477:18:105","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"5456:39:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5456:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5407:90:105"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":60452,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60447,"src":"5510:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5512:18:105","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"5510:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":60458,"indexExpression":{"arguments":[{"id":60456,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60438,"src":"5558:17:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":60454,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5531:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5545:12:105","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"5531:26:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":60457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5531:45:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5510:67:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":60459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5578:6:105","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"5510:74:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":60460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:76:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":60442,"id":60461,"nodeType":"Return","src":"5503:83:105"}]},"documentation":{"id":60436,"nodeType":"StructuredDocumentation","src":"5090:206:105","text":" @notice Retrieves the latest quorum numerator for a specific proposal type.\n @param proposalTypeValue The type of proposal.\n @return The latest quorum numerator for the proposal type."},"functionSelector":"0eddee30","id":60463,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumeratorByProposalType","nameLocation":"5308:29:105","nodeType":"FunctionDefinition","parameters":{"id":60439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60438,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"5349:17:105","nodeType":"VariableDeclaration","scope":60463,"src":"5343:23:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":60437,"name":"uint8","nodeType":"ElementaryTypeName","src":"5343:5:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"5337:33:105"},"returnParameters":{"id":60442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60463,"src":"5392:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60440,"name":"uint256","nodeType":"ElementaryTypeName","src":"5392:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5391:9:105"},"scope":60759,"src":"5299:292:105","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":60475,"nodeType":"Block","src":"5870:43:105","statements":[{"expression":{"arguments":[{"id":60472,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60466,"src":"5897:10:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60471,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60616,"src":"5883:13:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":60473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5883:25:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":60470,"id":60474,"nodeType":"Return","src":"5876:32:105"}]},"documentation":{"id":60464,"nodeType":"StructuredDocumentation","src":"5595:190:105","text":" @notice Checks if the quorum has been reached for a proposal.\n @param proposalId The ID of the proposal.\n @return True if the quorum has been reached, false otherwise."},"functionSelector":"9079991f","id":60476,"implemented":true,"kind":"function","modifiers":[],"name":"isQuorumReached","nameLocation":"5797:15:105","nodeType":"FunctionDefinition","parameters":{"id":60467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60466,"mutability":"mutable","name":"proposalId","nameLocation":"5826:10:105","nodeType":"VariableDeclaration","scope":60476,"src":"5818:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60465,"name":"uint256","nodeType":"ElementaryTypeName","src":"5818:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5812:28:105"},"returnParameters":{"id":60470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60469,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60476,"src":"5864:4:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60468,"name":"bool","nodeType":"ElementaryTypeName","src":"5864:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5863:6:105"},"scope":60759,"src":"5788:125:105","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":60507,"nodeType":"Block","src":"6146:203:105","statements":[{"assignments":[60488],"declarations":[{"constant":false,"id":60488,"mutability":"mutable","name":"$","nameLocation":"6197:1:105","nodeType":"VariableDeclaration","scope":60507,"src":"6152:46:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60487,"nodeType":"UserDefinedTypeName","pathNode":{"id":60486,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["6152:20:105","6173:15:105"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"6152:36:105"},"referencedDeclaration":61305,"src":"6152:36:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60492,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60489,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"6201:20:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6222:18:105","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"6201:39:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6201:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6152:90:105"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":60496,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60479,"src":"6282:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":60493,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60488,"src":"6256:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6258:4:105","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":61181,"src":"6256:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":60495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6263:18:105","memberName":"getPastTotalSupply","nodeType":"MemberAccess","referencedDeclaration":67529,"src":"6256:25:105","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":60497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6256:36:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":60499,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60479,"src":"6311:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60498,"name":"quorumNumerator","nodeType":"Identifier","overloadedDeclarations":[60384,60435],"referencedDeclaration":60384,"src":"6295:15:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":60500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6295:26:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6256:65:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":60502,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6255:67:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":60503,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60305,"src":"6325:17:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":60504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6325:19:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6255:89:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":60483,"id":60506,"nodeType":"Return","src":"6248:96:105"}]},"documentation":{"id":60477,"nodeType":"StructuredDocumentation","src":"5917:161:105","text":" @notice Returns the quorum for a specific timepoint.\n @param timepoint The specific timepoint.\n @return The quorum at the given timepoint."},"functionSelector":"f8ce560a","id":60508,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"6090:6:105","nodeType":"FunctionDefinition","parameters":{"id":60480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60479,"mutability":"mutable","name":"timepoint","nameLocation":"6105:9:105","nodeType":"VariableDeclaration","scope":60508,"src":"6097:17:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60478,"name":"uint256","nodeType":"ElementaryTypeName","src":"6097:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6096:19:105"},"returnParameters":{"id":60483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60482,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60508,"src":"6137:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60481,"name":"uint256","nodeType":"ElementaryTypeName","src":"6137:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6136:9:105"},"scope":60759,"src":"6081:268:105","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":60542,"nodeType":"Block","src":"6720:248:105","statements":[{"assignments":[60522],"declarations":[{"constant":false,"id":60522,"mutability":"mutable","name":"$","nameLocation":"6771:1:105","nodeType":"VariableDeclaration","scope":60542,"src":"6726:46:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60521,"nodeType":"UserDefinedTypeName","pathNode":{"id":60520,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["6726:20:105","6747:15:105"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"6726:36:105"},"referencedDeclaration":61305,"src":"6726:36:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60526,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60523,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"6775:20:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6796:18:105","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"6775:39:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6775:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6726:90:105"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":60530,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60511,"src":"6862:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":60527,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60522,"src":"6836:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6838:4:105","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":61181,"src":"6836:6:105","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":60529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6843:18:105","memberName":"getPastTotalSupply","nodeType":"MemberAccess","referencedDeclaration":67529,"src":"6836:25:105","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":60531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6836:36:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":60533,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60511,"src":"6905:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60534,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60513,"src":"6916:17:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":60532,"name":"quorumNumeratorByProposalType","nodeType":"Identifier","overloadedDeclarations":[60403,60463],"referencedDeclaration":60403,"src":"6875:29:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint8) view returns (uint256)"}},"id":60535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6875:59:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6836:98:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":60537,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6835:100:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":60538,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60305,"src":"6944:17:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":60539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6944:19:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6835:128:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":60517,"id":60541,"nodeType":"Return","src":"6822:141:105"}]},"documentation":{"id":60509,"nodeType":"StructuredDocumentation","src":"6352:249:105","text":" @notice Returns the quorum for a specific timepoint and proposal type.\n @param timepoint The specific timepoint.\n @param proposalTypeValue The type of proposal.\n @return The quorum at the given timepoint and proposal type."},"functionSelector":"026865cc","id":60543,"implemented":true,"kind":"function","modifiers":[],"name":"quorumByProposalType","nameLocation":"6613:20:105","nodeType":"FunctionDefinition","parameters":{"id":60514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60511,"mutability":"mutable","name":"timepoint","nameLocation":"6647:9:105","nodeType":"VariableDeclaration","scope":60543,"src":"6639:17:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60510,"name":"uint256","nodeType":"ElementaryTypeName","src":"6639:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60513,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"6668:17:105","nodeType":"VariableDeclaration","scope":60543,"src":"6662:23:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":60512,"name":"uint8","nodeType":"ElementaryTypeName","src":"6662:5:105","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"6633:56:105"},"returnParameters":{"id":60517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60543,"src":"6711:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60515,"name":"uint256","nodeType":"ElementaryTypeName","src":"6711:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6710:9:105"},"scope":60759,"src":"6604:364:105","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":60556,"nodeType":"Block","src":"7469:96:105","statements":[{"expression":{"arguments":[{"id":60550,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60546,"src":"7504:18:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":60551,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"7524:13:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7538:12:105","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"7524:26:105","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":60553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7551:8:105","memberName":"Standard","nodeType":"MemberAccess","referencedDeclaration":61429,"src":"7524:35:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":60549,"name":"_updateQuorumNumeratorByType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60758,"src":"7475:28:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalType)"}},"id":60554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7475:85:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60555,"nodeType":"ExpressionStatement","src":"7475:85:105"}]},"documentation":{"id":60544,"nodeType":"StructuredDocumentation","src":"7029:361:105","text":" @notice Updates the quorum numerator to a new value at a specified time, emitting an event upon success.\n @dev This function should only be called from governance actions where numerators need updating.\n @dev New numerator must be smaller or equal to the denominator.\n @param newQuorumNumerator The new value for the quorum numerator."},"functionSelector":"06f3f9e6","id":60557,"implemented":true,"kind":"function","modifiers":[],"name":"updateQuorumNumerator","nameLocation":"7402:21:105","nodeType":"FunctionDefinition","parameters":{"id":60547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60546,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"7437:18:105","nodeType":"VariableDeclaration","scope":60557,"src":"7429:26:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60545,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7423:36:105"},"returnParameters":{"id":60548,"nodeType":"ParameterList","parameters":[],"src":"7469:0:105"},"scope":60759,"src":"7393:172:105","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":60571,"nodeType":"Block","src":"8145:78:105","statements":[{"expression":{"arguments":[{"id":60567,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60560,"src":"8180:18:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60568,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60563,"src":"8200:17:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":60566,"name":"_updateQuorumNumeratorByType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60758,"src":"8151:28:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalType)"}},"id":60569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8151:67:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60570,"nodeType":"ExpressionStatement","src":"8151:67:105"}]},"documentation":{"id":60558,"nodeType":"StructuredDocumentation","src":"7568:442:105","text":" @notice Updates the quorum numerator for a specific proposal type to a new value at a specified time, emitting an event upon success.\n @dev This function should only be called from governance actions where numerators need updating.\n @dev New numerator must be smaller or equal to the denominator.\n @param newQuorumNumerator The new value for the quorum numerator.\n @param proposalTypeValue The type of proposal."},"functionSelector":"cd2c155c","id":60572,"implemented":true,"kind":"function","modifiers":[],"name":"updateQuorumNumeratorByType","nameLocation":"8022:27:105","nodeType":"FunctionDefinition","parameters":{"id":60564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60560,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"8063:18:105","nodeType":"VariableDeclaration","scope":60572,"src":"8055:26:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60559,"name":"uint256","nodeType":"ElementaryTypeName","src":"8055:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60563,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"8114:17:105","nodeType":"VariableDeclaration","scope":60572,"src":"8087:44:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":60562,"nodeType":"UserDefinedTypeName","pathNode":{"id":60561,"name":"GovernorTypes.ProposalType","nameLocations":["8087:13:105","8101:12:105"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"8087:26:105"},"referencedDeclaration":61431,"src":"8087:26:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"8049:86:105"},"returnParameters":{"id":60565,"nodeType":"ParameterList","parameters":[],"src":"8145:0:105"},"scope":60759,"src":"8013:210:105","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":60615,"nodeType":"Block","src":"8585:331:105","statements":[{"assignments":[60584],"declarations":[{"constant":false,"id":60584,"mutability":"mutable","name":"$","nameLocation":"8636:1:105","nodeType":"VariableDeclaration","scope":60615,"src":"8591:46:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60583,"nodeType":"UserDefinedTypeName","pathNode":{"id":60582,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["8591:20:105","8612:15:105"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"8591:36:105"},"referencedDeclaration":61305,"src":"8591:36:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60588,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60585,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"8640:20:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8661:18:105","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"8640:39:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8640:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8591:90:105"},{"assignments":[60593],"declarations":[{"constant":false,"id":60593,"mutability":"mutable","name":"proposalType","nameLocation":"8714:12:105","nodeType":"VariableDeclaration","scope":60615,"src":"8687:39:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":60592,"nodeType":"UserDefinedTypeName","pathNode":{"id":60591,"name":"GovernorTypes.ProposalType","nameLocations":["8687:13:105","8701:12:105"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"8687:26:105"},"referencedDeclaration":61431,"src":"8687:26:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"id":60598,"initialValue":{"baseExpression":{"expression":{"id":60594,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60584,"src":"8729:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8731:12:105","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":61215,"src":"8729:14:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$61431_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalType)"}},"id":60597,"indexExpression":{"id":60596,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60575,"src":"8744:10:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8729:26:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"8687:68:105"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":60602,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60575,"src":"8836:10:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60600,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"8796:21:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":60601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8818:17:105","memberName":"_proposalSnapshot","nodeType":"MemberAccess","referencedDeclaration":60010,"src":"8796:39:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":60603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8796:51:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":60606,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60593,"src":"8855:12:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":60605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8849:5:105","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":60604,"name":"uint8","nodeType":"ElementaryTypeName","src":"8849:5:105","typeDescriptions":{}}},"id":60607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8849:19:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":60599,"name":"quorumByProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60543,"src":"8775:20:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint8) view returns (uint256)"}},"id":60608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8775:94:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"baseExpression":{"expression":{"id":60609,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60584,"src":"8879:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60610,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8881:18:105","memberName":"proposalTotalVotes","nodeType":"MemberAccess","referencedDeclaration":61202,"src":"8879:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":60612,"indexExpression":{"id":60611,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60575,"src":"8900:10:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8879:32:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8775:136:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":60579,"id":60614,"nodeType":"Return","src":"8762:149:105"}]},"documentation":{"id":60573,"nodeType":"StructuredDocumentation","src":"8295:207:105","text":" @dev Internal function to check if the quorum has been reached for a proposal.\n @param proposalId The ID of the proposal.\n @return True if the quorum has been reached, false otherwise."},"id":60616,"implemented":true,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"8514:13:105","nodeType":"FunctionDefinition","parameters":{"id":60576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60575,"mutability":"mutable","name":"proposalId","nameLocation":"8541:10:105","nodeType":"VariableDeclaration","scope":60616,"src":"8533:18:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60574,"name":"uint256","nodeType":"ElementaryTypeName","src":"8533:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8527:28:105"},"returnParameters":{"id":60579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60616,"src":"8579:4:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60577,"name":"bool","nodeType":"ElementaryTypeName","src":"8579:4:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8578:6:105"},"scope":60759,"src":"8505:411:105","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":60688,"nodeType":"Block","src":"9416:634:105","statements":[{"assignments":[60631],"declarations":[{"constant":false,"id":60631,"mutability":"mutable","name":"$","nameLocation":"9467:1:105","nodeType":"VariableDeclaration","scope":60688,"src":"9422:46:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60630,"nodeType":"UserDefinedTypeName","pathNode":{"id":60629,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["9422:20:105","9443:15:105"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"9422:36:105"},"referencedDeclaration":61305,"src":"9422:36:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60635,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60632,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"9471:20:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9492:18:105","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"9471:39:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9471:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9422:90:105"},{"assignments":[60637],"declarations":[{"constant":false,"id":60637,"mutability":"mutable","name":"length","nameLocation":"9526:6:105","nodeType":"VariableDeclaration","scope":60688,"src":"9518:14:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60636,"name":"uint256","nodeType":"ElementaryTypeName","src":"9518:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60644,"initialValue":{"expression":{"expression":{"baseExpression":{"expression":{"id":60638,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60631,"src":"9535:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9537:18:105","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"9535:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":60641,"indexExpression":{"id":60640,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60622,"src":"9556:17:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9535:39:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":60642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9575:12:105","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"9535:52:105","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":60643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9588:6:105","memberName":"length","nodeType":"MemberAccess","src":"9535:59:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9518:76:105"},{"assignments":[60649],"declarations":[{"constant":false,"id":60649,"mutability":"mutable","name":"latest","nameLocation":"9689:6:105","nodeType":"VariableDeclaration","scope":60688,"src":"9655:40:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":60648,"nodeType":"UserDefinedTypeName","pathNode":{"id":60647,"name":"Checkpoints.Checkpoint208","nameLocations":["9655:11:105","9667:13:105"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"9655:25:105"},"referencedDeclaration":9414,"src":"9655:25:105","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":60659,"initialValue":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":60650,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60631,"src":"9698:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60651,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9700:18:105","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"9698:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":60653,"indexExpression":{"id":60652,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60622,"src":"9719:17:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9698:39:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":60654,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9738:12:105","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"9698:52:105","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":60658,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60655,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60637,"src":"9751:6:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":60656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9760:1:105","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9751:10:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9698:64:105","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9655:107:105"},{"assignments":[60661],"declarations":[{"constant":false,"id":60661,"mutability":"mutable","name":"latestKey","nameLocation":"9775:9:105","nodeType":"VariableDeclaration","scope":60688,"src":"9768:16:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":60660,"name":"uint48","nodeType":"ElementaryTypeName","src":"9768:6:105","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":60664,"initialValue":{"expression":{"id":60662,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60649,"src":"9787:6:105","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":60663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9794:4:105","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"9787:11:105","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"9768:30:105"},{"assignments":[60666],"declarations":[{"constant":false,"id":60666,"mutability":"mutable","name":"latestValue","nameLocation":"9812:11:105","nodeType":"VariableDeclaration","scope":60688,"src":"9804:19:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":60665,"name":"uint208","nodeType":"ElementaryTypeName","src":"9804:7:105","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":60669,"initialValue":{"expression":{"id":60667,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60649,"src":"9826:6:105","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":60668,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9833:6:105","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"9826:13:105","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"9804:35:105"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60670,"name":"latestKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60661,"src":"9849:9:105","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":60671,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60619,"src":"9862:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9849:22:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60676,"nodeType":"IfStatement","src":"9845:61:105","trueBody":{"id":60675,"nodeType":"Block","src":"9873:33:105","statements":[{"expression":{"id":60673,"name":"latestValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60666,"src":"9888:11:105","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":60626,"id":60674,"nodeType":"Return","src":"9881:18:105"}]}},{"expression":{"arguments":[{"arguments":[{"id":60684,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60619,"src":"10034:9:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60682,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"10016:8:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":60683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10025:8:105","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"10016:17:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":60685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10016:28:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":60677,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60631,"src":"9958:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60678,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9960:18:105","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"9958:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":60680,"indexExpression":{"id":60679,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60622,"src":"9979:17:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9958:39:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":60681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9998:17:105","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"9958:57:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":60686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9958:87:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":60626,"id":60687,"nodeType":"Return","src":"9951:94:105"}]},"documentation":{"id":60617,"nodeType":"StructuredDocumentation","src":"8919:345:105","text":" @notice Internal function to retrieve the quorum numerator for a specific proposal type at a given timepoint.\n @param timepoint The specific timepoint for which to fetch the numerator.\n @param proposalTypeValue The type of proposal.\n @return The quorum numerator at the given timepoint for the specified proposal type."},"id":60689,"implemented":true,"kind":"function","modifiers":[],"name":"_quorumNumeratorByProposalType","nameLocation":"9276:30:105","nodeType":"FunctionDefinition","parameters":{"id":60623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60619,"mutability":"mutable","name":"timepoint","nameLocation":"9320:9:105","nodeType":"VariableDeclaration","scope":60689,"src":"9312:17:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60618,"name":"uint256","nodeType":"ElementaryTypeName","src":"9312:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60622,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"9362:17:105","nodeType":"VariableDeclaration","scope":60689,"src":"9335:44:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":60621,"nodeType":"UserDefinedTypeName","pathNode":{"id":60620,"name":"GovernorTypes.ProposalType","nameLocations":["9335:13:105","9349:12:105"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"9335:26:105"},"referencedDeclaration":61431,"src":"9335:26:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"9306:77:105"},"returnParameters":{"id":60626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60625,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60689,"src":"9407:7:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60624,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9406:9:105"},"scope":60759,"src":"9267:783:105","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":60757,"nodeType":"Block","src":"10584:674:105","statements":[{"assignments":[60702],"declarations":[{"constant":false,"id":60702,"mutability":"mutable","name":"$","nameLocation":"10635:1:105","nodeType":"VariableDeclaration","scope":60757,"src":"10590:46:105","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60701,"nodeType":"UserDefinedTypeName","pathNode":{"id":60700,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["10590:20:105","10611:15:105"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"10590:36:105"},"referencedDeclaration":61305,"src":"10590:36:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60706,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60703,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"10639:20:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10660:18:105","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"10639:39:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10639:41:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10590:90:105"},{"assignments":[60708],"declarations":[{"constant":false,"id":60708,"mutability":"mutable","name":"denominator","nameLocation":"10694:11:105","nodeType":"VariableDeclaration","scope":60757,"src":"10686:19:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60707,"name":"uint256","nodeType":"ElementaryTypeName","src":"10686:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60711,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":60709,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60305,"src":"10708:17:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":60710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10708:19:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10686:41:105"},{"assignments":[60713],"declarations":[{"constant":false,"id":60713,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"10741:18:105","nodeType":"VariableDeclaration","scope":60757,"src":"10733:26:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60712,"name":"uint256","nodeType":"ElementaryTypeName","src":"10733:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60720,"initialValue":{"arguments":[{"arguments":[{"id":60717,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60695,"src":"10798:17:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":60716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10792:5:105","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":60715,"name":"uint8","nodeType":"ElementaryTypeName","src":"10792:5:105","typeDescriptions":{}}},"id":60718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10792:24:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":60714,"name":"quorumNumeratorByProposalType","nodeType":"Identifier","overloadedDeclarations":[60403,60463],"referencedDeclaration":60463,"src":"10762:29:105","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint8) view returns (uint256)"}},"id":60719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10762:55:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10733:84:105"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60721,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60692,"src":"10828:18:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":60722,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60708,"src":"10849:11:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10828:32:105","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60730,"nodeType":"IfStatement","src":"10824:122:105","trueBody":{"id":60729,"nodeType":"Block","src":"10862:84:105","statements":[{"errorCall":{"arguments":[{"id":60725,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60692,"src":"10907:18:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60726,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60708,"src":"10927:11:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60724,"name":"GovernorInvalidQuorumFraction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60279,"src":"10877:29:105","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10877:62:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60728,"nodeType":"RevertStatement","src":"10870:69:105"}]}},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60737,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"11004:18:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":60738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11023:5:105","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"11004:24:105","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":60739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11004:26:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":60742,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60692,"src":"11057:18:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60740,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"11038:8:105","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":60741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11047:9:105","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"11038:18:105","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":60743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11038:38:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":60731,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60702,"src":"10952:1:105","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10954:18:105","memberName":"proposalTypeQuorum","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"10952:20:105","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208 storage ref)"}},"id":60735,"indexExpression":{"id":60733,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60695,"src":"10973:17:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10952:39:105","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":60736,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10992:4:105","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"10952:44:105","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":60744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10952:130:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":60745,"nodeType":"ExpressionStatement","src":"10952:130:105"},{"eventCall":{"arguments":[{"id":60747,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60713,"src":"11116:18:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60748,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60692,"src":"11136:18:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60746,"name":"QuorumNumeratorUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60286,"src":"11093:22:105","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":60749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11093:62:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60750,"nodeType":"EmitStatement","src":"11088:67:105"},{"eventCall":{"arguments":[{"id":60752,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60713,"src":"11195:18:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60753,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60692,"src":"11215:18:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60754,"name":"proposalTypeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60695,"src":"11235:17:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":60751,"name":"QuorumNumeratorUpdatedByType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60296,"src":"11166:28:105","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,uint256,enum GovernorTypes.ProposalType)"}},"id":60755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11166:87:105","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60756,"nodeType":"EmitStatement","src":"11161:92:105"}]},"documentation":{"id":60690,"nodeType":"StructuredDocumentation","src":"10053:395:105","text":" @notice Internal function to update the quorum numerator for a specific proposal type.\n @dev This function should only be called from governance actions where numerators need updating.\n @dev New numerator must be smaller or equal to the denominator.\n @param newQuorumNumerator The new value for the quorum numerator.\n @param proposalTypeValue The type of proposal."},"id":60758,"implemented":true,"kind":"function","modifiers":[],"name":"_updateQuorumNumeratorByType","nameLocation":"10460:28:105","nodeType":"FunctionDefinition","parameters":{"id":60696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60692,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"10502:18:105","nodeType":"VariableDeclaration","scope":60758,"src":"10494:26:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60691,"name":"uint256","nodeType":"ElementaryTypeName","src":"10494:7:105","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60695,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"10553:17:105","nodeType":"VariableDeclaration","scope":60758,"src":"10526:44:105","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":60694,"nodeType":"UserDefinedTypeName","pathNode":{"id":60693,"name":"GovernorTypes.ProposalType","nameLocations":["10526:13:105","10540:12:105"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"10526:26:105"},"referencedDeclaration":61431,"src":"10526:26:105","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"10488:86:105"},"returnParameters":{"id":60697,"nodeType":"ParameterList","parameters":[],"src":"10584:0:105"},"scope":60759,"src":"10451:807:105","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":60760,"src":"1797:9463:105","usedErrors":[7025,8883,60279],"usedEvents":[60286,60296]}],"src":"1195:10066:105"},"id":105},"contracts/governance/libraries/GovernorStateLogic.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorStateLogic.sol","exportedSymbols":{"GovernorClockLogic":[55213],"GovernorDepositLogic":[57642],"GovernorProposalLogic":[60252],"GovernorQuorumLogic":[60759],"GovernorStateLogic":[61096],"GovernorStorageTypes":[61306],"GovernorTypes":[61442],"GovernorVotesLogic":[62628]},"id":61097,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":60761,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:106"},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./GovernorTypes.sol","id":60763,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61097,"sourceUnit":61443,"src":"1220:52:106","symbolAliases":[{"foreign":{"id":60762,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"1229:13:106","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":60765,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61097,"sourceUnit":61307,"src":"1273:66:106","symbolAliases":[{"foreign":{"id":60764,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1282:20:106","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorProposalLogic.sol","file":"./GovernorProposalLogic.sol","id":60767,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61097,"sourceUnit":60253,"src":"1340:68:106","symbolAliases":[{"foreign":{"id":60766,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"1349:21:106","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorVotesLogic.sol","file":"./GovernorVotesLogic.sol","id":60769,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61097,"sourceUnit":62629,"src":"1409:62:106","symbolAliases":[{"foreign":{"id":60768,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"1418:18:106","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorQuorumLogic.sol","file":"./GovernorQuorumLogic.sol","id":60771,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61097,"sourceUnit":60760,"src":"1472:64:106","symbolAliases":[{"foreign":{"id":60770,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"1481:19:106","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorClockLogic.sol","file":"./GovernorClockLogic.sol","id":60773,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61097,"sourceUnit":55214,"src":"1537:62:106","symbolAliases":[{"foreign":{"id":60772,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"1546:18:106","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorDepositLogic.sol","file":"./GovernorDepositLogic.sol","id":60775,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61097,"sourceUnit":57643,"src":"1600:66:106","symbolAliases":[{"foreign":{"id":60774,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"1609:20:106","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorStateLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":60776,"nodeType":"StructuredDocumentation","src":"1668:148:106","text":"@title GovernorStateLogic\n @notice Library for Governor state logic, managing the state transitions and validations of governance proposals."},"fullyImplemented":true,"id":61096,"linearizedBaseContracts":[61096],"name":"GovernorStateLogic","nameLocation":"1824:18:106","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":60777,"nodeType":"StructuredDocumentation","src":"1847:61:106","text":"@notice Bitmap representing all possible proposal states."},"id":60798,"mutability":"constant","name":"ALL_PROPOSAL_STATES_BITMAP","nameLocation":"1937:26:106","nodeType":"VariableDeclaration","scope":61096,"src":"1911:129:106","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60778,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1911:7:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":60781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1979:1:106","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":60791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"arguments":[{"expression":{"id":60785,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"1996:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2010:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"1996:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}],"id":60784,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1991:4:106","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":60787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:33:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_enum$_ProposalState_$61406","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":60788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2025:3:106","memberName":"max","nodeType":"MemberAccess","src":"1991:37:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"id":60783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1985:5:106","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":60782,"name":"uint8","nodeType":"ElementaryTypeName","src":"1985:5:106","typeDescriptions":{}}},"id":60789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1985:44:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":60790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2032:1:106","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1985:48:106","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":60792,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1984:50:106","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1979:55:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":60794,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1978:57:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":60795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2038:1:106","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1978:61:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1970:7:106","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":60779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1970:7:106","typeDescriptions":{}}},"id":60797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1970:70:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"documentation":{"id":60799,"nodeType":"StructuredDocumentation","src":"2045:121:106","text":"@dev Thrown when the `proposalId` does not exist.\n @param proposalId The ID of the proposal that does not exist."},"errorSelector":"6ad06075","id":60803,"name":"GovernorNonexistentProposal","nameLocation":"2175:27:106","nodeType":"ErrorDefinition","parameters":{"id":60802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60801,"mutability":"mutable","name":"proposalId","nameLocation":"2211:10:106","nodeType":"VariableDeclaration","scope":60803,"src":"2203:18:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60800,"name":"uint256","nodeType":"ElementaryTypeName","src":"2203:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2202:20:106"},"src":"2169:54:106"},{"documentation":{"id":60804,"nodeType":"StructuredDocumentation","src":"2227:269:106","text":"@dev Thrown when the current state of a proposal does not match the expected states.\n @param proposalId The ID of the proposal.\n @param current The current state of the proposal.\n @param expectedStates The expected states of the proposal as a bitmap."},"errorSelector":"31b75e4d","id":60813,"name":"GovernorUnexpectedProposalState","nameLocation":"2505:31:106","nodeType":"ErrorDefinition","parameters":{"id":60812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60806,"mutability":"mutable","name":"proposalId","nameLocation":"2550:10:106","nodeType":"VariableDeclaration","scope":60813,"src":"2542:18:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60805,"name":"uint256","nodeType":"ElementaryTypeName","src":"2542:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60809,"mutability":"mutable","name":"current","nameLocation":"2594:7:106","nodeType":"VariableDeclaration","scope":60813,"src":"2566:35:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":60808,"nodeType":"UserDefinedTypeName","pathNode":{"id":60807,"name":"GovernorTypes.ProposalState","nameLocations":["2566:13:106","2580:13:106"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"2566:27:106"},"referencedDeclaration":61406,"src":"2566:27:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"},{"constant":false,"id":60811,"mutability":"mutable","name":"expectedStates","nameLocation":"2615:14:106","nodeType":"VariableDeclaration","scope":60813,"src":"2607:22:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60810,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2607:7:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2536:97:106"},"src":"2499:135:106"},{"body":{"id":60828,"nodeType":"Block","src":"2931:43:106","statements":[{"expression":{"arguments":[{"arguments":[{"id":60824,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60816,"src":"2957:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60823,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61095,"src":"2950:6:106","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view returns (enum GovernorTypes.ProposalState)"}},"id":60825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2950:18:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"id":60822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2944:5:106","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":60821,"name":"uint8","nodeType":"ElementaryTypeName","src":"2944:5:106","typeDescriptions":{}}},"id":60826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2944:25:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":60820,"id":60827,"nodeType":"Return","src":"2937:32:106"}]},"documentation":{"id":60814,"nodeType":"StructuredDocumentation","src":"2695:160:106","text":" @notice Retrieves the current state of a proposal.\n @param proposalId The ID of the proposal.\n @return The current state of the proposal."},"functionSelector":"3e4f49e6","id":60829,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"2867:5:106","nodeType":"FunctionDefinition","parameters":{"id":60817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60816,"mutability":"mutable","name":"proposalId","nameLocation":"2886:10:106","nodeType":"VariableDeclaration","scope":60829,"src":"2878:18:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60815,"name":"uint256","nodeType":"ElementaryTypeName","src":"2878:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2872:28:106"},"returnParameters":{"id":60820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60819,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60829,"src":"2924:5:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":60818,"name":"uint8","nodeType":"ElementaryTypeName","src":"2924:5:106","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2923:7:106"},"scope":61096,"src":"2858:116:106","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":60869,"nodeType":"Block","src":"3442:263:106","statements":[{"assignments":[60844],"declarations":[{"constant":false,"id":60844,"mutability":"mutable","name":"currentState","nameLocation":"3476:12:106","nodeType":"VariableDeclaration","scope":60869,"src":"3448:40:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":60843,"nodeType":"UserDefinedTypeName","pathNode":{"id":60842,"name":"GovernorTypes.ProposalState","nameLocations":["3448:13:106","3462:13:106"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"3448:27:106"},"referencedDeclaration":61406,"src":"3448:27:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"id":60848,"initialValue":{"arguments":[{"id":60846,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60832,"src":"3498:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60845,"name":"_state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61095,"src":"3491:6:106","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256) view returns (enum GovernorTypes.ProposalState)"}},"id":60847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3491:18:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"nodeType":"VariableDeclarationStatement","src":"3448:61:106"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":60858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":60853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":60850,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60844,"src":"3537:12:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"id":60849,"name":"encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60890,"src":"3519:17:106","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":60851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3519:31:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":60852,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60834,"src":"3553:13:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3519:47:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":60856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3578:1:106","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":60855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3570:7:106","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":60854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3570:7:106","typeDescriptions":{}}},"id":60857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:10:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3519:61:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60866,"nodeType":"IfStatement","src":"3515:161:106","trueBody":{"id":60865,"nodeType":"Block","src":"3582:94:106","statements":[{"errorCall":{"arguments":[{"id":60860,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60832,"src":"3629:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60861,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60844,"src":"3641:12:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},{"id":60862,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60834,"src":"3655:13:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":60859,"name":"GovernorUnexpectedProposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60813,"src":"3597:31:106","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalState_$61406_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalState,bytes32) pure"}},"id":60863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3597:72:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60864,"nodeType":"RevertStatement","src":"3590:79:106"}]}},{"expression":{"id":60867,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60844,"src":"3688:12:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60839,"id":60868,"nodeType":"Return","src":"3681:19:106"}]},"documentation":{"id":60830,"nodeType":"StructuredDocumentation","src":"3046:257:106","text":" @dev Internal function to validate the current state of a proposal against expected states.\n @param proposalId The ID of the proposal.\n @param allowedStates The bitmap of allowed states.\n @return The current state of the proposal."},"id":60870,"implemented":true,"kind":"function","modifiers":[],"name":"validateStateBitmap","nameLocation":"3315:19:106","nodeType":"FunctionDefinition","parameters":{"id":60835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60832,"mutability":"mutable","name":"proposalId","nameLocation":"3348:10:106","nodeType":"VariableDeclaration","scope":60870,"src":"3340:18:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60831,"name":"uint256","nodeType":"ElementaryTypeName","src":"3340:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60834,"mutability":"mutable","name":"allowedStates","nameLocation":"3372:13:106","nodeType":"VariableDeclaration","scope":60870,"src":"3364:21:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3364:7:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3334:55:106"},"returnParameters":{"id":60839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60838,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60870,"src":"3413:27:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":60837,"nodeType":"UserDefinedTypeName","pathNode":{"id":60836,"name":"GovernorTypes.ProposalState","nameLocations":["3413:13:106","3427:13:106"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"3413:27:106"},"referencedDeclaration":61406,"src":"3413:27:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"src":"3412:29:106"},"scope":61096,"src":"3306:399:106","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":60889,"nodeType":"Block","src":"4068:52:106","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":60881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4089:1:106","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"id":60884,"name":"proposalState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60874,"src":"4100:13:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"id":60883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4094:5:106","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":60882,"name":"uint8","nodeType":"ElementaryTypeName","src":"4094:5:106","typeDescriptions":{}}},"id":60885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4094:20:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4089:25:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4081:7:106","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":60879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4081:7:106","typeDescriptions":{}}},"id":60887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4081:34:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":60878,"id":60888,"nodeType":"Return","src":"4074:41:106"}]},"documentation":{"id":60871,"nodeType":"StructuredDocumentation","src":"3709:254:106","text":" @dev Encodes a `ProposalState` into a `bytes32` representation where each bit enabled corresponds to the underlying position in the `ProposalState` enum.\n @param proposalState The state to encode.\n @return The encoded state bitmap."},"id":60890,"implemented":true,"kind":"function","modifiers":[],"name":"encodeStateBitmap","nameLocation":"3975:17:106","nodeType":"FunctionDefinition","parameters":{"id":60875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60874,"mutability":"mutable","name":"proposalState","nameLocation":"4021:13:106","nodeType":"VariableDeclaration","scope":60890,"src":"3993:41:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":60873,"nodeType":"UserDefinedTypeName","pathNode":{"id":60872,"name":"GovernorTypes.ProposalState","nameLocations":["3993:13:106","4007:13:106"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"3993:27:106"},"referencedDeclaration":61406,"src":"3993:27:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"src":"3992:43:106"},"returnParameters":{"id":60878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60890,"src":"4059:7:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4059:7:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4058:9:106"},"scope":61096,"src":"3966:154:106","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":61094,"nodeType":"Block","src":"4420:2180:106","statements":[{"assignments":[60903],"declarations":[{"constant":false,"id":60903,"mutability":"mutable","name":"$","nameLocation":"4471:1:106","nodeType":"VariableDeclaration","scope":61094,"src":"4426:46:106","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":60902,"nodeType":"UserDefinedTypeName","pathNode":{"id":60901,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["4426:20:106","4447:15:106"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"4426:36:106"},"referencedDeclaration":61305,"src":"4426:36:106","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":60907,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60904,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"4475:20:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":60905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4496:18:106","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"4475:39:106","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":60906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4475:41:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4426:90:106"},{"assignments":[60912],"declarations":[{"constant":false,"id":60912,"mutability":"mutable","name":"proposal","nameLocation":"4594:8:106","nodeType":"VariableDeclaration","scope":61094,"src":"4559:43:106","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"},"typeName":{"id":60911,"nodeType":"UserDefinedTypeName","pathNode":{"id":60910,"name":"GovernorTypes.ProposalCore","nameLocations":["4559:13:106","4573:12:106"],"nodeType":"IdentifierPath","referencedDeclaration":61395,"src":"4559:26:106"},"referencedDeclaration":61395,"src":"4559:26:106","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"}},"visibility":"internal"}],"id":60917,"initialValue":{"baseExpression":{"expression":{"id":60913,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60903,"src":"4605:1:106","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60914,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4607:9:106","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"4605:11:106","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":60916,"indexExpression":{"id":60915,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"4617:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4605:23:106","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4559:69:106"},{"assignments":[60922],"declarations":[{"constant":false,"id":60922,"mutability":"mutable","name":"proposalDevelopmentState","nameLocation":"4673:24:106","nodeType":"VariableDeclaration","scope":61094,"src":"4634:63:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"},"typeName":{"id":60921,"nodeType":"UserDefinedTypeName","pathNode":{"id":60920,"name":"GovernorTypes.ProposalDevelopmentState","nameLocations":["4634:13:106","4648:24:106"],"nodeType":"IdentifierPath","referencedDeclaration":61435,"src":"4634:38:106"},"referencedDeclaration":61435,"src":"4634:38:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"visibility":"internal"}],"id":60927,"initialValue":{"baseExpression":{"expression":{"id":60923,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60903,"src":"4700:1:106","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4702:24:106","memberName":"proposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":61257,"src":"4700:26:106","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalDevelopmentState)"}},"id":60926,"indexExpression":{"id":60925,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"4727:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4700:38:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"nodeType":"VariableDeclarationStatement","src":"4634:104:106"},{"assignments":[60929],"declarations":[{"constant":false,"id":60929,"mutability":"mutable","name":"proposalExecuted","nameLocation":"4749:16:106","nodeType":"VariableDeclaration","scope":61094,"src":"4744:21:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60928,"name":"bool","nodeType":"ElementaryTypeName","src":"4744:4:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":60932,"initialValue":{"expression":{"id":60930,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60912,"src":"4768:8:106","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":60931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4777:8:106","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":61386,"src":"4768:17:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4744:41:106"},{"assignments":[60934],"declarations":[{"constant":false,"id":60934,"mutability":"mutable","name":"proposalCanceled","nameLocation":"4796:16:106","nodeType":"VariableDeclaration","scope":61094,"src":"4791:21:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60933,"name":"bool","nodeType":"ElementaryTypeName","src":"4791:4:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":60937,"initialValue":{"expression":{"id":60935,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60912,"src":"4815:8:106","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":60936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4824:8:106","memberName":"canceled","nodeType":"MemberAccess","referencedDeclaration":61388,"src":"4815:17:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4791:41:106"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"},"id":60942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60938,"name":"proposalDevelopmentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60922,"src":"4843:24:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":60939,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"4871:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4885:24:106","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":61435,"src":"4871:38:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"type(enum GovernorTypes.ProposalDevelopmentState)"}},"id":60941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4910:13:106","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61433,"src":"4871:52:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"src":"4843:80:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60948,"nodeType":"IfStatement","src":"4839:149:106","trueBody":{"id":60947,"nodeType":"Block","src":"4925:63:106","statements":[{"expression":{"expression":{"expression":{"id":60943,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"4940:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4954:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"4940:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":60945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4968:13:106","memberName":"InDevelopment","nodeType":"MemberAccess","referencedDeclaration":61404,"src":"4940:41:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":60946,"nodeType":"Return","src":"4933:48:106"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"},"id":60953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60949,"name":"proposalDevelopmentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60922,"src":"4998:24:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":60950,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5026:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5040:24:106","memberName":"ProposalDevelopmentState","nodeType":"MemberAccess","referencedDeclaration":61435,"src":"5026:38:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"type(enum GovernorTypes.ProposalDevelopmentState)"}},"id":60952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5065:9:106","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61434,"src":"5026:48:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}},"src":"4998:76:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60959,"nodeType":"IfStatement","src":"4994:141:106","trueBody":{"id":60958,"nodeType":"Block","src":"5076:59:106","statements":[{"expression":{"expression":{"expression":{"id":60954,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5091:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5105:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"5091:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":60956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5119:9:106","memberName":"Completed","nodeType":"MemberAccess","referencedDeclaration":61405,"src":"5091:37:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":60957,"nodeType":"Return","src":"5084:44:106"}]}},{"condition":{"id":60960,"name":"proposalExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60929,"src":"5145:16:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60966,"nodeType":"IfStatement","src":"5141:80:106","trueBody":{"id":60965,"nodeType":"Block","src":"5163:58:106","statements":[{"expression":{"expression":{"expression":{"id":60961,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5178:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5192:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"5178:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":60963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5206:8:106","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"5178:36:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":60964,"nodeType":"Return","src":"5171:43:106"}]}},{"condition":{"id":60967,"name":"proposalCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60934,"src":"5231:16:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60973,"nodeType":"IfStatement","src":"5227:80:106","trueBody":{"id":60972,"nodeType":"Block","src":"5249:58:106","statements":[{"expression":{"expression":{"expression":{"id":60968,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5264:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5278:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"5264:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":60970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5292:8:106","memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":61398,"src":"5264:36:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":60971,"nodeType":"Return","src":"5257:43:106"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":60974,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60912,"src":"5317:8:106","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":60975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5326:16:106","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"5317:25:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":60976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5346:1:106","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5317:30:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60983,"nodeType":"IfStatement","src":"5313:97:106","trueBody":{"id":60982,"nodeType":"Block","src":"5349:61:106","statements":[{"errorCall":{"arguments":[{"id":60979,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"5392:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60978,"name":"GovernorNonexistentProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60803,"src":"5364:27:106","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":60980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5364:39:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60981,"nodeType":"RevertStatement","src":"5357:46:106"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":60984,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60903,"src":"5460:1:106","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":60985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5462:17:106","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"5460:19:106","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":60986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5480:14:106","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"5460:34:106","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":60987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5460:36:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":60988,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60912,"src":"5499:8:106","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore storage pointer"}},"id":60989,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5508:16:106","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"5499:25:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5460:64:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60996,"nodeType":"IfStatement","src":"5456:127:106","trueBody":{"id":60995,"nodeType":"Block","src":"5526:57:106","statements":[{"expression":{"expression":{"expression":{"id":60991,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5541:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":60992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5555:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"5541:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":60993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5569:7:106","memberName":"Pending","nodeType":"MemberAccess","referencedDeclaration":61396,"src":"5541:35:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":60994,"nodeType":"Return","src":"5534:42:106"}]}},{"assignments":[60998],"declarations":[{"constant":false,"id":60998,"mutability":"mutable","name":"currentTimepoint","nameLocation":"5597:16:106","nodeType":"VariableDeclaration","scope":61094,"src":"5589:24:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60997,"name":"uint256","nodeType":"ElementaryTypeName","src":"5589:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61002,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60999,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"5616:18:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":61000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5635:5:106","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"5616:24:106","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":61001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5616:26:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"5589:53:106"},{"assignments":[61004],"declarations":[{"constant":false,"id":61004,"mutability":"mutable","name":"deadline","nameLocation":"5656:8:106","nodeType":"VariableDeclaration","scope":61094,"src":"5648:16:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61003,"name":"uint256","nodeType":"ElementaryTypeName","src":"5648:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61009,"initialValue":{"arguments":[{"id":61007,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"5707:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61005,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"5667:21:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":61006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5689:17:106","memberName":"_proposalDeadline","nodeType":"MemberAccess","referencedDeclaration":60068,"src":"5667:39:106","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":61008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5667:51:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5648:70:106"},{"condition":{"id":61014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5729:56:106","subExpression":{"arguments":[{"id":61012,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"5774:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61010,"name":"GovernorDepositLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"5730:20:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorDepositLogic_$57642_$","typeString":"type(library GovernorDepositLogic)"}},"id":61011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5751:22:106","memberName":"proposalDepositReached","nodeType":"MemberAccess","referencedDeclaration":57544,"src":"5730:43:106","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":61013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5730:55:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61020,"nodeType":"IfStatement","src":"5725:125:106","trueBody":{"id":61019,"nodeType":"Block","src":"5787:63:106","statements":[{"expression":{"expression":{"expression":{"id":61015,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5802:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5816:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"5802:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":61017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5830:13:106","memberName":"DepositNotMet","nodeType":"MemberAccess","referencedDeclaration":61403,"src":"5802:41:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":61018,"nodeType":"Return","src":"5795:48:106"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61021,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61004,"src":"5860:8:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":61022,"name":"currentTimepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60998,"src":"5872:16:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5860:28:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":61039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5963:46:106","subExpression":{"arguments":[{"id":61031,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"5998:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61029,"name":"GovernorQuorumLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"5964:19:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorQuorumLogic_$60759_$","typeString":"type(library GovernorQuorumLogic)"}},"id":61030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5984:13:106","memberName":"quorumReached","nodeType":"MemberAccess","referencedDeclaration":60616,"src":"5964:33:106","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":61032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5964:45:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":61038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6013:45:106","subExpression":{"arguments":[{"id":61036,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"6047:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61034,"name":"GovernorVotesLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62628,"src":"6014:18:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorVotesLogic_$62628_$","typeString":"type(library GovernorVotesLogic)"}},"id":61035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6033:13:106","memberName":"voteSucceeded","nodeType":"MemberAccess","referencedDeclaration":61728,"src":"6014:32:106","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":61037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6014:44:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5963:95:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":61047,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"6167:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61045,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"6133:21:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":61046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6155:11:106","memberName":"proposalEta","nodeType":"MemberAccess","referencedDeclaration":58227,"src":"6133:33:106","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":61048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6133:45:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":61049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6182:1:106","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6133:50:106","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":61090,"nodeType":"Block","src":"6250:346:106","statements":[{"assignments":[61057],"declarations":[{"constant":false,"id":61057,"mutability":"mutable","name":"queueid","nameLocation":"6266:7:106","nodeType":"VariableDeclaration","scope":61090,"src":"6258:15:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6258:7:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":61062,"initialValue":{"baseExpression":{"expression":{"id":61058,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60903,"src":"6276:1:106","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6278:11:106","memberName":"timelockIds","nodeType":"MemberAccess","referencedDeclaration":61161,"src":"6276:13:106","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":61061,"indexExpression":{"id":61060,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"6290:10:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6276:25:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6258:43:106"},{"condition":{"arguments":[{"id":61066,"name":"queueid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61057,"src":"6343:7:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":61063,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60903,"src":"6313:1:106","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6315:8:106","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"6313:10:106","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":61065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6324:18:106","memberName":"isOperationPending","nodeType":"MemberAccess","referencedDeclaration":722,"src":"6313:29:106","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":61067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6313:38:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"id":61076,"name":"queueid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61057,"src":"6450:7:106","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":61073,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60903,"src":"6423:1:106","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6425:8:106","memberName":"timelock","nodeType":"MemberAccess","referencedDeclaration":61157,"src":"6423:10:106","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"id":61075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6434:15:106","memberName":"isOperationDone","nodeType":"MemberAccess","referencedDeclaration":754,"src":"6423:26:106","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":61077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6423:35:106","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":61087,"nodeType":"Block","src":"6528:62:106","statements":[{"expression":{"expression":{"expression":{"id":61083,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"6545:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6559:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"6545:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":61085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6573:8:106","memberName":"Canceled","nodeType":"MemberAccess","referencedDeclaration":61398,"src":"6545:36:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":61086,"nodeType":"Return","src":"6538:43:106"}]},"id":61088,"nodeType":"IfStatement","src":"6419:171:106","trueBody":{"id":61082,"nodeType":"Block","src":"6460:62:106","statements":[{"expression":{"expression":{"expression":{"id":61078,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"6477:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6491:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"6477:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":61080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6505:8:106","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":61402,"src":"6477:36:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":61081,"nodeType":"Return","src":"6470:43:106"}]}},"id":61089,"nodeType":"IfStatement","src":"6309:281:106","trueBody":{"id":61072,"nodeType":"Block","src":"6353:60:106","statements":[{"expression":{"expression":{"expression":{"id":61068,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"6370:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6384:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"6370:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":61070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6398:6:106","memberName":"Queued","nodeType":"MemberAccess","referencedDeclaration":61401,"src":"6370:34:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":61071,"nodeType":"Return","src":"6363:41:106"}]}}]},"id":61091,"nodeType":"IfStatement","src":"6129:467:106","trueBody":{"id":61055,"nodeType":"Block","src":"6185:59:106","statements":[{"expression":{"expression":{"expression":{"id":61051,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"6200:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6214:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"6200:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":61053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6228:9:106","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":61400,"src":"6200:37:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":61054,"nodeType":"Return","src":"6193:44:106"}]}},"id":61092,"nodeType":"IfStatement","src":"5952:644:106","trueBody":{"id":61044,"nodeType":"Block","src":"6065:58:106","statements":[{"expression":{"expression":{"expression":{"id":61040,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"6080:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6094:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"6080:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":61042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6108:8:106","memberName":"Defeated","nodeType":"MemberAccess","referencedDeclaration":61399,"src":"6080:36:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":61043,"nodeType":"Return","src":"6073:43:106"}]}},"id":61093,"nodeType":"IfStatement","src":"5856:740:106","trueBody":{"id":61028,"nodeType":"Block","src":"5890:56:106","statements":[{"expression":{"expression":{"expression":{"id":61024,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5905:13:106","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5919:13:106","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"5905:27:106","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":61026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5933:6:106","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":61397,"src":"5905:34:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"functionReturnParameters":60898,"id":61027,"nodeType":"Return","src":"5898:41:106"}]}}]},"documentation":{"id":60891,"nodeType":"StructuredDocumentation","src":"4124:197:106","text":" @notice Retrieves the current state of a proposal.\n @dev See {IB3TRGovernor-state}.\n @param proposalId The ID of the proposal.\n @return The current state of the proposal."},"id":61095,"implemented":true,"kind":"function","modifiers":[],"name":"_state","nameLocation":"4333:6:106","nodeType":"FunctionDefinition","parameters":{"id":60894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60893,"mutability":"mutable","name":"proposalId","nameLocation":"4353:10:106","nodeType":"VariableDeclaration","scope":61095,"src":"4345:18:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60892,"name":"uint256","nodeType":"ElementaryTypeName","src":"4345:7:106","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4339:28:106"},"returnParameters":{"id":60898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61095,"src":"4391:27:106","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":60896,"nodeType":"UserDefinedTypeName","pathNode":{"id":60895,"name":"GovernorTypes.ProposalState","nameLocations":["4391:13:106","4405:13:106"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"4391:27:106"},"referencedDeclaration":61406,"src":"4391:27:106","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"src":"4390:29:106"},"scope":61096,"src":"4324:2276:106","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":61097,"src":"1816:4786:106","usedErrors":[7025,60803,60813],"usedEvents":[]}],"src":"1195:5408:106"},"id":106},"contracts/governance/libraries/GovernorStorageTypes.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","exportedSymbols":{"Checkpoints":[10447],"DoubleEndedQueue":[10781],"GovernorStorageTypes":[61306],"GovernorTypes":[61442],"IB3TR":[62888],"IGalaxyMember":[65196],"IGrantsManager":[65639],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"ITreasury":[67241],"IVOT3":[67719],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"TimelockControllerUpgradeable":[1478]},"id":61307,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":61098,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:107"},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./GovernorTypes.sol","id":61100,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":61443,"src":"1220:52:107","symbolAliases":[{"foreign":{"id":61099,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"1229:13:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../interfaces/IVoterRewards.sol","id":61102,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":69093,"src":"1273:67:107","symbolAliases":[{"foreign":{"id":61101,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1282:13:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":61104,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":71125,"src":"1341:93:107","symbolAliases":[{"foreign":{"id":61103,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1350:26:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":61106,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":62889,"src":"1435:51:107","symbolAliases":[{"foreign":{"id":61105,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"1444:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../../interfaces/IVOT3.sol","id":61108,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":67720,"src":"1487:51:107","symbolAliases":[{"foreign":{"id":61107,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"1496:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","file":"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol","id":61110,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":10782,"src":"1539:94:107","symbolAliases":[{"foreign":{"id":61109,"name":"DoubleEndedQueue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10781,"src":"1548:16:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","id":61112,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":1479,"src":"1634:129:107","symbolAliases":[{"foreign":{"id":61111,"name":"TimelockControllerUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1478,"src":"1643:29:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":61114,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":10448,"src":"1764:84:107","symbolAliases":[{"foreign":{"id":61113,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1773:11:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../interfaces/IVeBetterPassport.sol","id":61116,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":68602,"src":"1849:75:107","symbolAliases":[{"foreign":{"id":61115,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"1858:17:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../interfaces/IGrantsManager.sol","id":61118,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":65640,"src":"1925:69:107","symbolAliases":[{"foreign":{"id":61117,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"1934:14:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../../interfaces/IGalaxyMember.sol","id":61120,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":65197,"src":"1995:67:107","symbolAliases":[{"foreign":{"id":61119,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"2004:13:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../../interfaces/INavigatorRegistry.sol","id":61122,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":66639,"src":"2063:77:107","symbolAliases":[{"foreign":{"id":61121,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"2072:18:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../interfaces/IRelayerRewardsPool.sol","id":61124,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":67118,"src":"2141:79:107","symbolAliases":[{"foreign":{"id":61123,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"2150:19:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/ITreasury.sol","file":"../../interfaces/ITreasury.sol","id":61126,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61307,"sourceUnit":67242,"src":"2221:59:107","symbolAliases":[{"foreign":{"id":61125,"name":"ITreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67241,"src":"2230:9:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorStorageTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":61127,"nodeType":"StructuredDocumentation","src":"2282:110:107","text":"@title GovernorStorageTypes\n @notice Library for defining storage types used in the Governor contract."},"fullyImplemented":true,"id":61306,"linearizedBaseContracts":[61306],"name":"GovernorStorageTypes","nameLocation":"2400:20:107","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":61130,"mutability":"constant","name":"GovernorStorageLocation","nameLocation":"2554:23:107","nodeType":"VariableDeclaration","scope":61306,"src":"2529:117:107","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61128,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2529:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307864303961306161663461623330383762616537666132356566373464646434653561343935303938303930336365343137653636323238636637646337623030","id":61129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2580:66:107","typeDescriptions":{"typeIdentifier":"t_rational_94353240696616174169687007378791076814963636177804774402586331459722613127936_by_1","typeString":"int_const 9435...(69 digits omitted)...7936"},"value":"0xd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b00"},"visibility":"private"},{"body":{"id":61138,"nodeType":"Block","src":"2777:66:107","statements":[{"AST":{"nodeType":"YulBlock","src":"2792:47:107","statements":[{"nodeType":"YulAssignment","src":"2800:33:107","value":{"name":"GovernorStorageLocation","nodeType":"YulIdentifier","src":"2810:23:107"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"2800:6:107"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":61135,"isOffset":false,"isSlot":true,"src":"2800:6:107","suffix":"slot","valueSize":1},{"declaration":61130,"isOffset":false,"isSlot":false,"src":"2810:23:107","valueSize":1}],"id":61137,"nodeType":"InlineAssembly","src":"2783:56:107"}]},"documentation":{"id":61131,"nodeType":"StructuredDocumentation","src":"2651:43:107","text":"@dev Returns the governor storage slot."},"id":61139,"implemented":true,"kind":"function","modifiers":[],"name":"getGovernorStorage","nameLocation":"2706:18:107","nodeType":"FunctionDefinition","parameters":{"id":61132,"nodeType":"ParameterList","parameters":[],"src":"2724:2:107"},"returnParameters":{"id":61136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61135,"mutability":"mutable","name":"$","nameLocation":"2774:1:107","nodeType":"VariableDeclaration","scope":61139,"src":"2750:25:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":61134,"nodeType":"UserDefinedTypeName","pathNode":{"id":61133,"name":"GovernorStorage","nameLocations":["2750:15:107"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"2750:15:107"},"referencedDeclaration":61305,"src":"2750:15:107","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"src":"2749:27:107"},"scope":61306,"src":"2697:146:107","stateMutability":"pure","virtual":false,"visibility":"internal"},{"canonicalName":"GovernorStorageTypes.GovernorStorage","id":61305,"members":[{"constant":false,"id":61141,"mutability":"mutable","name":"name","nameLocation":"3052:4:107","nodeType":"VariableDeclaration","scope":61305,"src":"3045:11:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":61140,"name":"string","nodeType":"ElementaryTypeName","src":"3045:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":61146,"mutability":"mutable","name":"proposals","nameLocation":"3144:9:107","nodeType":"VariableDeclaration","scope":61305,"src":"3086:67:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore)"},"typeName":{"id":61145,"keyName":"proposalId","keyNameLocation":"3102:10:107","keyType":{"id":61142,"name":"uint256","nodeType":"ElementaryTypeName","src":"3094:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3086:57:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61144,"nodeType":"UserDefinedTypeName","pathNode":{"id":61143,"name":"GovernorTypes.ProposalCore","nameLocations":["3116:13:107","3130:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":61395,"src":"3116:26:107"},"referencedDeclaration":61395,"src":"3116:26:107","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage_ptr","typeString":"struct GovernorTypes.ProposalCore"}}},"visibility":"internal"},{"constant":false,"id":61149,"mutability":"mutable","name":"governanceCall","nameLocation":"3632:14:107","nodeType":"VariableDeclaration","scope":61305,"src":"3602:44:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"},"typeName":{"id":61148,"nodeType":"UserDefinedTypeName","pathNode":{"id":61147,"name":"DoubleEndedQueue.Bytes32Deque","nameLocations":["3602:16:107","3619:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":10469,"src":"3602:29:107"},"referencedDeclaration":10469,"src":"3602:29:107","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Deque_$10469_storage_ptr","typeString":"struct DoubleEndedQueue.Bytes32Deque"}},"visibility":"internal"},{"constant":false,"id":61151,"mutability":"mutable","name":"minVotingDelay","nameLocation":"3701:14:107","nodeType":"VariableDeclaration","scope":61305,"src":"3693:22:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61150,"name":"uint256","nodeType":"ElementaryTypeName","src":"3693:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61154,"mutability":"mutable","name":"quorumNumeratorHistory_DEPRECATED","nameLocation":"3962:33:107","nodeType":"VariableDeclaration","scope":61305,"src":"3941:54:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":61153,"nodeType":"UserDefinedTypeName","pathNode":{"id":61152,"name":"Checkpoints.Trace208","nameLocations":["3941:11:107","3953:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"3941:20:107"},"referencedDeclaration":9409,"src":"3941:20:107","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":61157,"mutability":"mutable","name":"timelock","nameLocation":"4144:8:107","nodeType":"VariableDeclaration","scope":61305,"src":"4114:38:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"},"typeName":{"id":61156,"nodeType":"UserDefinedTypeName","pathNode":{"id":61155,"name":"TimelockControllerUpgradeable","nameLocations":["4114:29:107"],"nodeType":"IdentifierPath","referencedDeclaration":1478,"src":"4114:29:107"},"referencedDeclaration":1478,"src":"4114:29:107","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"visibility":"internal"},{"constant":false,"id":61161,"mutability":"mutable","name":"timelockIds","nameLocation":"4240:11:107","nodeType":"VariableDeclaration","scope":61305,"src":"4201:50:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"typeName":{"id":61160,"keyName":"proposalId","keyNameLocation":"4217:10:107","keyType":{"id":61158,"name":"uint256","nodeType":"ElementaryTypeName","src":"4209:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4201:38:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4231:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"internal"},{"constant":false,"id":61167,"mutability":"mutable","name":"whitelistedFunctions","nameLocation":"4515:20:107","nodeType":"VariableDeclaration","scope":61305,"src":"4471:64:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"},"typeName":{"id":61166,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61162,"name":"address","nodeType":"ElementaryTypeName","src":"4479:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4471:43:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61165,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61163,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4498:6:107","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"4490:23:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61164,"name":"bool","nodeType":"ElementaryTypeName","src":"4508:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"},{"constant":false,"id":61169,"mutability":"mutable","name":"isFunctionRestrictionEnabled","nameLocation":"4598:28:107","nodeType":"VariableDeclaration","scope":61305,"src":"4593:33:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61168,"name":"bool","nodeType":"ElementaryTypeName","src":"4593:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":61172,"mutability":"mutable","name":"voterRewards","nameLocation":"4774:12:107","nodeType":"VariableDeclaration","scope":61305,"src":"4760:26:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":61171,"nodeType":"UserDefinedTypeName","pathNode":{"id":61170,"name":"IVoterRewards","nameLocations":["4760:13:107"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"4760:13:107"},"referencedDeclaration":69092,"src":"4760:13:107","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"},{"constant":false,"id":61175,"mutability":"mutable","name":"xAllocationVoting","nameLocation":"4861:17:107","nodeType":"VariableDeclaration","scope":61305,"src":"4834:44:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":61174,"nodeType":"UserDefinedTypeName","pathNode":{"id":61173,"name":"IXAllocationVotingGovernor","nameLocations":["4834:26:107"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"4834:26:107"},"referencedDeclaration":71124,"src":"4834:26:107","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":61178,"mutability":"mutable","name":"b3tr","nameLocation":"4911:4:107","nodeType":"VariableDeclaration","scope":61305,"src":"4905:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":61177,"nodeType":"UserDefinedTypeName","pathNode":{"id":61176,"name":"IB3TR","nameLocations":["4905:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"4905:5:107"},"referencedDeclaration":62888,"src":"4905:5:107","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":61181,"mutability":"mutable","name":"vot3","nameLocation":"4948:4:107","nodeType":"VariableDeclaration","scope":61305,"src":"4942:10:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"},"typeName":{"id":61180,"nodeType":"UserDefinedTypeName","pathNode":{"id":61179,"name":"IVOT3","nameLocations":["4942:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":67719,"src":"4942:5:107"},"referencedDeclaration":67719,"src":"4942:5:107","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"visibility":"internal"},{"constant":false,"id":61187,"mutability":"mutable","name":"deposits","nameLocation":"5180:8:107","nodeType":"VariableDeclaration","scope":61305,"src":"5109:79:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"typeName":{"id":61186,"keyName":"proposalId","keyNameLocation":"5125:10:107","keyType":{"id":61182,"name":"uint256","nodeType":"ElementaryTypeName","src":"5117:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5109:70:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61185,"keyName":"user","keyNameLocation":"5155:4:107","keyType":{"id":61183,"name":"address","nodeType":"ElementaryTypeName","src":"5147:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5139:39:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"amount","valueNameLocation":"5171:6:107","valueType":{"id":61184,"name":"uint256","nodeType":"ElementaryTypeName","src":"5163:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":61189,"mutability":"mutable","name":"depositThresholdPercentage_DEPRECATED","nameLocation":"5436:37:107","nodeType":"VariableDeclaration","scope":61305,"src":"5428:45:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61188,"name":"uint256","nodeType":"ElementaryTypeName","src":"5428:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61194,"mutability":"mutable","name":"proposalVotes","nameLocation":"5661:13:107","nodeType":"VariableDeclaration","scope":61305,"src":"5614:60:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$61376_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalVote)"},"typeName":{"id":61193,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61190,"name":"uint256","nodeType":"ElementaryTypeName","src":"5622:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5614:46:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$61376_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalVote)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61192,"nodeType":"UserDefinedTypeName","pathNode":{"id":61191,"name":"GovernorTypes.ProposalVote","nameLocations":["5633:13:107","5647:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":61376,"src":"5633:26:107"},"referencedDeclaration":61376,"src":"5633:26:107","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote"}}},"visibility":"internal"},{"constant":false,"id":61198,"mutability":"mutable","name":"hasVotedOnce","nameLocation":"5769:12:107","nodeType":"VariableDeclaration","scope":61305,"src":"5744:37:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":61197,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61195,"name":"address","nodeType":"ElementaryTypeName","src":"5752:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5744:24:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61196,"name":"bool","nodeType":"ElementaryTypeName","src":"5763:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":61202,"mutability":"mutable","name":"proposalTotalVotes","nameLocation":"5870:18:107","nodeType":"VariableDeclaration","scope":61305,"src":"5842:46:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":61201,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61199,"name":"uint256","nodeType":"ElementaryTypeName","src":"5850:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5842:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61200,"name":"uint256","nodeType":"ElementaryTypeName","src":"5861:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":61204,"mutability":"mutable","name":"votingThreshold_DEPRECATED","nameLocation":"6059:26:107","nodeType":"VariableDeclaration","scope":61305,"src":"6051:34:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61203,"name":"uint256","nodeType":"ElementaryTypeName","src":"6051:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61207,"mutability":"mutable","name":"quadraticVotingDisabled","nameLocation":"6346:23:107","nodeType":"VariableDeclaration","scope":61305,"src":"6325:44:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":61206,"nodeType":"UserDefinedTypeName","pathNode":{"id":61205,"name":"Checkpoints.Trace208","nameLocations":["6325:11:107","6337:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"6325:20:107"},"referencedDeclaration":9409,"src":"6325:20:107","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"},{"constant":false,"id":61210,"mutability":"mutable","name":"veBetterPassport","nameLocation":"6555:16:107","nodeType":"VariableDeclaration","scope":61305,"src":"6537:34:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":61209,"nodeType":"UserDefinedTypeName","pathNode":{"id":61208,"name":"IVeBetterPassport","nameLocations":["6537:17:107"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"6537:17:107"},"referencedDeclaration":68601,"src":"6537:17:107","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"},{"constant":false,"id":61215,"mutability":"mutable","name":"proposalType","nameLocation":"6766:12:107","nodeType":"VariableDeclaration","scope":61305,"src":"6719:59:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$61431_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalType)"},"typeName":{"id":61214,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61211,"name":"uint256","nodeType":"ElementaryTypeName","src":"6727:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6719:46:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalType_$61431_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalType)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61213,"nodeType":"UserDefinedTypeName","pathNode":{"id":61212,"name":"GovernorTypes.ProposalType","nameLocations":["6738:13:107","6752:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"6738:26:107"},"referencedDeclaration":61431,"src":"6738:26:107","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}},"visibility":"internal"},{"constant":false,"id":61220,"mutability":"mutable","name":"proposalTypeDepositThresholdPercentage","nameLocation":"6911:38:107","nodeType":"VariableDeclaration","scope":61305,"src":"6864:85:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"},"typeName":{"id":61219,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61217,"nodeType":"UserDefinedTypeName","pathNode":{"id":61216,"name":"GovernorTypes.ProposalType","nameLocations":["6872:13:107","6886:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"6872:26:107"},"referencedDeclaration":61431,"src":"6872:26:107","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"Mapping","src":"6864:46:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61218,"name":"uint256","nodeType":"ElementaryTypeName","src":"6902:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":61225,"mutability":"mutable","name":"proposalTypeVotingThreshold","nameLocation":"7070:27:107","nodeType":"VariableDeclaration","scope":61305,"src":"7023:74:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"},"typeName":{"id":61224,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61222,"nodeType":"UserDefinedTypeName","pathNode":{"id":61221,"name":"GovernorTypes.ProposalType","nameLocations":["7031:13:107","7045:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"7031:26:107"},"referencedDeclaration":61431,"src":"7031:26:107","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"Mapping","src":"7023:46:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61223,"name":"uint256","nodeType":"ElementaryTypeName","src":"7061:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":61231,"mutability":"mutable","name":"proposalTypeQuorum","nameLocation":"7229:18:107","nodeType":"VariableDeclaration","scope":61305,"src":"7169:78:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208)"},"typeName":{"id":61230,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61227,"nodeType":"UserDefinedTypeName","pathNode":{"id":61226,"name":"GovernorTypes.ProposalType","nameLocations":["7177:13:107","7191:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"7177:26:107"},"referencedDeclaration":61431,"src":"7177:26:107","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"Mapping","src":"7169:59:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(enum GovernorTypes.ProposalType => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61229,"nodeType":"UserDefinedTypeName","pathNode":{"id":61228,"name":"Checkpoints.Trace208","nameLocations":["7207:11:107","7219:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"7207:20:107"},"referencedDeclaration":9409,"src":"7207:20:107","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":61236,"mutability":"mutable","name":"proposalTypeDepositThresholdCap","nameLocation":"7373:31:107","nodeType":"VariableDeclaration","scope":61305,"src":"7326:78:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"},"typeName":{"id":61235,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61233,"nodeType":"UserDefinedTypeName","pathNode":{"id":61232,"name":"GovernorTypes.ProposalType","nameLocations":["7334:13:107","7348:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"7334:26:107"},"referencedDeclaration":61431,"src":"7334:26:107","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"Mapping","src":"7326:46:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61234,"name":"uint256","nodeType":"ElementaryTypeName","src":"7364:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":61239,"mutability":"mutable","name":"grantsManager","nameLocation":"7455:13:107","nodeType":"VariableDeclaration","scope":61305,"src":"7440:28:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":61238,"nodeType":"UserDefinedTypeName","pathNode":{"id":61237,"name":"IGrantsManager","nameLocations":["7440:14:107"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"7440:14:107"},"referencedDeclaration":65639,"src":"7440:14:107","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"},{"constant":false,"id":61242,"mutability":"mutable","name":"galaxyMember","nameLocation":"7517:12:107","nodeType":"VariableDeclaration","scope":61305,"src":"7503:26:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":61241,"nodeType":"UserDefinedTypeName","pathNode":{"id":61240,"name":"IGalaxyMember","nameLocations":["7503:13:107"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"7503:13:107"},"referencedDeclaration":65196,"src":"7503:13:107","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"},{"constant":false,"id":61247,"mutability":"mutable","name":"requiredGMLevelByProposalType","nameLocation":"7652:29:107","nodeType":"VariableDeclaration","scope":61305,"src":"7605:76:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"},"typeName":{"id":61246,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61244,"nodeType":"UserDefinedTypeName","pathNode":{"id":61243,"name":"GovernorTypes.ProposalType","nameLocations":["7613:13:107","7627:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"7613:26:107"},"referencedDeclaration":61431,"src":"7613:26:107","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"Mapping","src":"7605:46:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_ProposalType_$61431_$_t_uint256_$","typeString":"mapping(enum GovernorTypes.ProposalType => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61245,"name":"uint256","nodeType":"ElementaryTypeName","src":"7643:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":61252,"mutability":"mutable","name":"depositsVotingPower","nameLocation":"7789:19:107","nodeType":"VariableDeclaration","scope":61305,"src":"7733:75:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":61251,"keyName":"user","keyNameLocation":"7749:4:107","keyType":{"id":61248,"name":"address","nodeType":"ElementaryTypeName","src":"7741:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7733:55:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"timepoint","valueNameLocation":"7778:9:107","valueType":{"id":61250,"nodeType":"UserDefinedTypeName","pathNode":{"id":61249,"name":"Checkpoints.Trace208","nameLocations":["7757:11:107","7769:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"7757:20:107"},"referencedDeclaration":9409,"src":"7757:20:107","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":61257,"mutability":"mutable","name":"proposalDevelopmentState","nameLocation":"8302:24:107","nodeType":"VariableDeclaration","scope":61305,"src":"8232:94:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalDevelopmentState)"},"typeName":{"id":61256,"keyName":"proposalId","keyNameLocation":"8248:10:107","keyType":{"id":61253,"name":"uint256","nodeType":"ElementaryTypeName","src":"8240:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"8232:69:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_enum$_ProposalDevelopmentState_$61435_$","typeString":"mapping(uint256 => enum GovernorTypes.ProposalDevelopmentState)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61255,"nodeType":"UserDefinedTypeName","pathNode":{"id":61254,"name":"GovernorTypes.ProposalDevelopmentState","nameLocations":["8262:13:107","8276:24:107"],"nodeType":"IdentifierPath","referencedDeclaration":61435,"src":"8262:38:107"},"referencedDeclaration":61435,"src":"8262:38:107","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalDevelopmentState_$61435","typeString":"enum GovernorTypes.ProposalDevelopmentState"}}},"visibility":"internal"},{"constant":false,"id":61260,"mutability":"mutable","name":"navigatorRegistry","nameLocation":"8580:17:107","nodeType":"VariableDeclaration","scope":61305,"src":"8561:36:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":61259,"nodeType":"UserDefinedTypeName","pathNode":{"id":61258,"name":"INavigatorRegistry","nameLocations":["8561:18:107"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"8561:18:107"},"referencedDeclaration":66638,"src":"8561:18:107","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"},{"constant":false,"id":61263,"mutability":"mutable","name":"relayerRewardsPool","nameLocation":"8623:18:107","nodeType":"VariableDeclaration","scope":61305,"src":"8603:38:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":61262,"nodeType":"UserDefinedTypeName","pathNode":{"id":61261,"name":"IRelayerRewardsPool","nameLocations":["8603:19:107"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"8603:19:107"},"referencedDeclaration":67117,"src":"8603:19:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"},{"constant":false,"id":61268,"mutability":"mutable","name":"proposalsForRound","nameLocation":"8756:17:107","nodeType":"VariableDeclaration","scope":61305,"src":"8726:47:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[])"},"typeName":{"id":61267,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61264,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"8726:29:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(uint256 => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":61265,"name":"uint256","nodeType":"ElementaryTypeName","src":"8745:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61266,"nodeType":"ArrayTypeName","src":"8745:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"internal"},{"constant":false,"id":61270,"mutability":"mutable","name":"governanceSkipWindowBlocks","nameLocation":"8897:26:107","nodeType":"VariableDeclaration","scope":61305,"src":"8889:34:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61269,"name":"uint256","nodeType":"ElementaryTypeName","src":"8889:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61273,"mutability":"mutable","name":"treasury","nameLocation":"9129:8:107","nodeType":"VariableDeclaration","scope":61305,"src":"9119:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"},"typeName":{"id":61272,"nodeType":"UserDefinedTypeName","pathNode":{"id":61271,"name":"ITreasury","nameLocations":["9119:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":67241,"src":"9119:9:107"},"referencedDeclaration":67241,"src":"9119:9:107","typeDescriptions":{"typeIdentifier":"t_contract$_ITreasury_$67241","typeString":"contract ITreasury"}},"visibility":"internal"},{"constant":false,"id":61275,"mutability":"mutable","name":"maxContributorsPerProposal","nameLocation":"9243:26:107","nodeType":"VariableDeclaration","scope":61305,"src":"9235:34:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61274,"name":"uint256","nodeType":"ElementaryTypeName","src":"9235:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61279,"mutability":"mutable","name":"proposalMaxBudget","nameLocation":"9406:17:107","nodeType":"VariableDeclaration","scope":61305,"src":"9367:56:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":61278,"keyName":"proposalId","keyNameLocation":"9383:10:107","keyType":{"id":61276,"name":"uint256","nodeType":"ElementaryTypeName","src":"9375:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9367:38:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61277,"name":"uint256","nodeType":"ElementaryTypeName","src":"9397:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":61283,"mutability":"mutable","name":"proposalPayee","nameLocation":"9540:13:107","nodeType":"VariableDeclaration","scope":61305,"src":"9501:52:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":61282,"keyName":"proposalId","keyNameLocation":"9517:10:107","keyType":{"id":61280,"name":"uint256","nodeType":"ElementaryTypeName","src":"9509:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9501:38:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61281,"name":"address","nodeType":"ElementaryTypeName","src":"9531:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"constant":false,"id":61287,"mutability":"mutable","name":"proposalPayeesFinalized","nameLocation":"9681:23:107","nodeType":"VariableDeclaration","scope":61305,"src":"9645:59:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":61286,"keyName":"proposalId","keyNameLocation":"9661:10:107","keyType":{"id":61284,"name":"uint256","nodeType":"ElementaryTypeName","src":"9653:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9645:35:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61285,"name":"bool","nodeType":"ElementaryTypeName","src":"9675:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":61291,"mutability":"mutable","name":"proposalPaid","nameLocation":"9832:12:107","nodeType":"VariableDeclaration","scope":61305,"src":"9796:48:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":61290,"keyName":"proposalId","keyNameLocation":"9812:10:107","keyType":{"id":61288,"name":"uint256","nodeType":"ElementaryTypeName","src":"9804:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9796:35:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61289,"name":"bool","nodeType":"ElementaryTypeName","src":"9826:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":61295,"mutability":"mutable","name":"proposalDescription","nameLocation":"9965:19:107","nodeType":"VariableDeclaration","scope":61305,"src":"9927:57:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":61294,"keyName":"proposalId","keyNameLocation":"9943:10:107","keyType":{"id":61292,"name":"uint256","nodeType":"ElementaryTypeName","src":"9935:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9927:37:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61293,"name":"string","nodeType":"ElementaryTypeName","src":"9957:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"internal"},{"constant":false,"id":61299,"mutability":"mutable","name":"proposalImplementationDiscussion","nameLocation":"10097:32:107","nodeType":"VariableDeclaration","scope":61305,"src":"10059:70:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":61298,"keyName":"proposalId","keyNameLocation":"10075:10:107","keyType":{"id":61296,"name":"uint256","nodeType":"ElementaryTypeName","src":"10067:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"10059:37:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61297,"name":"string","nodeType":"ElementaryTypeName","src":"10089:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"internal"},{"constant":false,"id":61304,"mutability":"mutable","name":"proposalContributors","nameLocation":"10262:20:107","nodeType":"VariableDeclaration","scope":61305,"src":"10222:60:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_string_storage_$dyn_storage_$","typeString":"mapping(uint256 => string[])"},"typeName":{"id":61303,"keyName":"proposalId","keyNameLocation":"10238:10:107","keyType":{"id":61300,"name":"uint256","nodeType":"ElementaryTypeName","src":"10230:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"10222:39:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_string_storage_$dyn_storage_$","typeString":"mapping(uint256 => string[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":61301,"name":"string","nodeType":"ElementaryTypeName","src":"10252:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":61302,"nodeType":"ArrayTypeName","src":"10252:8:107","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"visibility":"internal"}],"name":"GovernorStorage","nameLocation":"2854:15:107","nodeType":"StructDefinition","scope":61306,"src":"2847:7440:107","visibility":"public"}],"scope":61307,"src":"2392:7897:107","usedErrors":[],"usedEvents":[]}],"src":"1195:9095:107"},"id":107},"contracts/governance/libraries/GovernorTypes.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","exportedSymbols":{"GovernorTypes":[61442],"IB3TR":[62888],"IGalaxyMember":[65196],"IGrantsManager":[65639],"IVOT3":[67719],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124],"TimelockControllerUpgradeable":[1478]},"id":61443,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":61308,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:108"},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../interfaces/IVoterRewards.sol","id":61310,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61443,"sourceUnit":69093,"src":"1220:67:108","symbolAliases":[{"foreign":{"id":61309,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1229:13:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":61312,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61443,"sourceUnit":71125,"src":"1288:93:108","symbolAliases":[{"foreign":{"id":61311,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1297:26:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"../../interfaces/IB3TR.sol","id":61314,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61443,"sourceUnit":62889,"src":"1382:51:108","symbolAliases":[{"foreign":{"id":61313,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"1391:5:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVOT3.sol","file":"../../interfaces/IVOT3.sol","id":61316,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61443,"sourceUnit":67720,"src":"1434:51:108","symbolAliases":[{"foreign":{"id":61315,"name":"IVOT3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67719,"src":"1443:5:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol","id":61318,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61443,"sourceUnit":1479,"src":"1486:129:108","symbolAliases":[{"foreign":{"id":61317,"name":"TimelockControllerUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1478,"src":"1495:29:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../../interfaces/IGalaxyMember.sol","id":61320,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61443,"sourceUnit":65197,"src":"1616:67:108","symbolAliases":[{"foreign":{"id":61319,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"1625:13:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"../../interfaces/IGrantsManager.sol","id":61322,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":61443,"sourceUnit":65640,"src":"1684:69:108","symbolAliases":[{"foreign":{"id":61321,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"1693:14:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorTypes","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":61442,"linearizedBaseContracts":[61442],"name":"GovernorTypes","nameLocation":"1763:13:108","nodeType":"ContractDefinition","nodes":[{"canonicalName":"GovernorTypes.InitializationData","documentation":{"id":61323,"nodeType":"StructuredDocumentation","src":"1781:775:108","text":" @dev Struct containing data to initialize the contract\n @param vot3Token The address of the Vot3 token used for voting\n @param timelock The address of the Timelock\n @param xAllocationVoting The address of the xAllocationVoting\n @param quorumPercentage quorum as a percentage of the total supply of VOT3 tokens\n @param initialDepositThreshold The Deposit Threshold for a proposal to be active\n @param initialMinVotingDelay The minimum amount of blocks a proposal needs to wait before it can start\n @param initialVotingThreshold The minimum amount of voting power needed in order to vote\n @param voterRewards The address of the voter rewards contract\n @param isFunctionRestrictionEnabled If the function restriction is enabled"},"id":61349,"members":[{"constant":false,"id":61326,"mutability":"mutable","name":"vot3Token","nameLocation":"2597:9:108","nodeType":"VariableDeclaration","scope":61349,"src":"2591:15:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"},"typeName":{"id":61325,"nodeType":"UserDefinedTypeName","pathNode":{"id":61324,"name":"IVOT3","nameLocations":["2591:5:108"],"nodeType":"IdentifierPath","referencedDeclaration":67719,"src":"2591:5:108"},"referencedDeclaration":67719,"src":"2591:5:108","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"visibility":"internal"},{"constant":false,"id":61329,"mutability":"mutable","name":"timelock","nameLocation":"2642:8:108","nodeType":"VariableDeclaration","scope":61349,"src":"2612:38:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"},"typeName":{"id":61328,"nodeType":"UserDefinedTypeName","pathNode":{"id":61327,"name":"TimelockControllerUpgradeable","nameLocations":["2612:29:108"],"nodeType":"IdentifierPath","referencedDeclaration":1478,"src":"2612:29:108"},"referencedDeclaration":1478,"src":"2612:29:108","typeDescriptions":{"typeIdentifier":"t_contract$_TimelockControllerUpgradeable_$1478","typeString":"contract TimelockControllerUpgradeable"}},"visibility":"internal"},{"constant":false,"id":61332,"mutability":"mutable","name":"xAllocationVoting","nameLocation":"2683:17:108","nodeType":"VariableDeclaration","scope":61349,"src":"2656:44:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":61331,"nodeType":"UserDefinedTypeName","pathNode":{"id":61330,"name":"IXAllocationVotingGovernor","nameLocations":["2656:26:108"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"2656:26:108"},"referencedDeclaration":71124,"src":"2656:26:108","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":61335,"mutability":"mutable","name":"b3tr","nameLocation":"2712:4:108","nodeType":"VariableDeclaration","scope":61349,"src":"2706:10:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":61334,"nodeType":"UserDefinedTypeName","pathNode":{"id":61333,"name":"IB3TR","nameLocations":["2706:5:108"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"2706:5:108"},"referencedDeclaration":62888,"src":"2706:5:108","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"},{"constant":false,"id":61337,"mutability":"mutable","name":"quorumPercentage","nameLocation":"2730:16:108","nodeType":"VariableDeclaration","scope":61349,"src":"2722:24:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61336,"name":"uint256","nodeType":"ElementaryTypeName","src":"2722:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61339,"mutability":"mutable","name":"initialDepositThreshold","nameLocation":"2760:23:108","nodeType":"VariableDeclaration","scope":61349,"src":"2752:31:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61338,"name":"uint256","nodeType":"ElementaryTypeName","src":"2752:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61341,"mutability":"mutable","name":"initialMinVotingDelay","nameLocation":"2797:21:108","nodeType":"VariableDeclaration","scope":61349,"src":"2789:29:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61340,"name":"uint256","nodeType":"ElementaryTypeName","src":"2789:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61343,"mutability":"mutable","name":"initialVotingThreshold","nameLocation":"2832:22:108","nodeType":"VariableDeclaration","scope":61349,"src":"2824:30:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61342,"name":"uint256","nodeType":"ElementaryTypeName","src":"2824:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61346,"mutability":"mutable","name":"voterRewards","nameLocation":"2874:12:108","nodeType":"VariableDeclaration","scope":61349,"src":"2860:26:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":61345,"nodeType":"UserDefinedTypeName","pathNode":{"id":61344,"name":"IVoterRewards","nameLocations":["2860:13:108"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"2860:13:108"},"referencedDeclaration":69092,"src":"2860:13:108","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"},{"constant":false,"id":61348,"mutability":"mutable","name":"isFunctionRestrictionEnabled","nameLocation":"2897:28:108","nodeType":"VariableDeclaration","scope":61349,"src":"2892:33:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61347,"name":"bool","nodeType":"ElementaryTypeName","src":"2892:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"2566:18:108","nodeType":"StructDefinition","scope":61442,"src":"2559:371:108","visibility":"public"},{"canonicalName":"GovernorTypes.InitializationRolesData","documentation":{"id":61350,"nodeType":"StructuredDocumentation","src":"2934:417:108","text":" @param governorAdmin The address of the governor admin\n @param pauser The address of the pauser\n @param contractsAddressManager The address of the contracts address manager\n @param proposalExecutor The address that should be set as executor and have the PROPOSAL_EXECUTOR_ROLE\n @param governorFunctionSettingsRoleAddress The address that should have the GOVERNOR_FUNCTIONS_SETTINGS_ROLE"},"id":61361,"members":[{"constant":false,"id":61352,"mutability":"mutable","name":"governorAdmin","nameLocation":"3399:13:108","nodeType":"VariableDeclaration","scope":61361,"src":"3391:21:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61351,"name":"address","nodeType":"ElementaryTypeName","src":"3391:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61354,"mutability":"mutable","name":"pauser","nameLocation":"3426:6:108","nodeType":"VariableDeclaration","scope":61361,"src":"3418:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61353,"name":"address","nodeType":"ElementaryTypeName","src":"3418:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61356,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"3446:23:108","nodeType":"VariableDeclaration","scope":61361,"src":"3438:31:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61355,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61358,"mutability":"mutable","name":"proposalExecutor","nameLocation":"3483:16:108","nodeType":"VariableDeclaration","scope":61361,"src":"3475:24:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61357,"name":"address","nodeType":"ElementaryTypeName","src":"3475:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61360,"mutability":"mutable","name":"governorFunctionSettingsRoleAddress","nameLocation":"3513:35:108","nodeType":"VariableDeclaration","scope":61361,"src":"3505:43:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61359,"name":"address","nodeType":"ElementaryTypeName","src":"3505:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializationRolesData","nameLocation":"3361:23:108","nodeType":"StructDefinition","scope":61442,"src":"3354:199:108","visibility":"public"},{"canonicalName":"GovernorTypes.VoteType","id":61365,"members":[{"id":61362,"name":"Against","nameLocation":"3602:7:108","nodeType":"EnumValue","src":"3602:7:108"},{"id":61363,"name":"For","nameLocation":"3615:3:108","nodeType":"EnumValue","src":"3615:3:108"},{"id":61364,"name":"Abstain","nameLocation":"3624:7:108","nodeType":"EnumValue","src":"3624:7:108"}],"name":"VoteType","nameLocation":"3587:8:108","nodeType":"EnumDefinition","src":"3582:53:108"},{"canonicalName":"GovernorTypes.ProposalVote","id":61376,"members":[{"constant":false,"id":61367,"mutability":"mutable","name":"againstVotes","nameLocation":"3732:12:108","nodeType":"VariableDeclaration","scope":61376,"src":"3724:20:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61366,"name":"uint256","nodeType":"ElementaryTypeName","src":"3724:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61369,"mutability":"mutable","name":"forVotes","nameLocation":"3758:8:108","nodeType":"VariableDeclaration","scope":61376,"src":"3750:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61368,"name":"uint256","nodeType":"ElementaryTypeName","src":"3750:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61371,"mutability":"mutable","name":"abstainVotes","nameLocation":"3780:12:108","nodeType":"VariableDeclaration","scope":61376,"src":"3772:20:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61370,"name":"uint256","nodeType":"ElementaryTypeName","src":"3772:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61375,"mutability":"mutable","name":"hasVoted","nameLocation":"3823:8:108","nodeType":"VariableDeclaration","scope":61376,"src":"3798:33:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":61374,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":61372,"name":"address","nodeType":"ElementaryTypeName","src":"3806:7:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3798:24:108","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61373,"name":"bool","nodeType":"ElementaryTypeName","src":"3817:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"ProposalVote","nameLocation":"3705:12:108","nodeType":"StructDefinition","scope":61442,"src":"3698:138:108","visibility":"public"},{"canonicalName":"GovernorTypes.ProposalCore","id":61395,"members":[{"constant":false,"id":61378,"mutability":"mutable","name":"proposer","nameLocation":"3937:8:108","nodeType":"VariableDeclaration","scope":61395,"src":"3929:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61377,"name":"address","nodeType":"ElementaryTypeName","src":"3929:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61380,"mutability":"mutable","name":"roundIdVoteStart","nameLocation":"3959:16:108","nodeType":"VariableDeclaration","scope":61395,"src":"3951:24:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61379,"name":"uint256","nodeType":"ElementaryTypeName","src":"3951:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61382,"mutability":"mutable","name":"voteDuration","nameLocation":"3988:12:108","nodeType":"VariableDeclaration","scope":61395,"src":"3981:19:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":61381,"name":"uint32","nodeType":"ElementaryTypeName","src":"3981:6:108","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":61384,"mutability":"mutable","name":"isExecutable","nameLocation":"4011:12:108","nodeType":"VariableDeclaration","scope":61395,"src":"4006:17:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61383,"name":"bool","nodeType":"ElementaryTypeName","src":"4006:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":61386,"mutability":"mutable","name":"executed","nameLocation":"4034:8:108","nodeType":"VariableDeclaration","scope":61395,"src":"4029:13:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61385,"name":"bool","nodeType":"ElementaryTypeName","src":"4029:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":61388,"mutability":"mutable","name":"canceled","nameLocation":"4053:8:108","nodeType":"VariableDeclaration","scope":61395,"src":"4048:13:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61387,"name":"bool","nodeType":"ElementaryTypeName","src":"4048:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":61390,"mutability":"mutable","name":"etaSeconds","nameLocation":"4074:10:108","nodeType":"VariableDeclaration","scope":61395,"src":"4067:17:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":61389,"name":"uint48","nodeType":"ElementaryTypeName","src":"4067:6:108","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":61392,"mutability":"mutable","name":"depositAmount","nameLocation":"4098:13:108","nodeType":"VariableDeclaration","scope":61395,"src":"4090:21:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61391,"name":"uint256","nodeType":"ElementaryTypeName","src":"4090:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61394,"mutability":"mutable","name":"depositThreshold","nameLocation":"4125:16:108","nodeType":"VariableDeclaration","scope":61395,"src":"4117:24:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61393,"name":"uint256","nodeType":"ElementaryTypeName","src":"4117:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ProposalCore","nameLocation":"3910:12:108","nodeType":"StructDefinition","scope":61442,"src":"3903:243:108","visibility":"public"},{"canonicalName":"GovernorTypes.ProposalState","id":61406,"members":[{"id":61396,"name":"Pending","nameLocation":"4232:7:108","nodeType":"EnumValue","src":"4232:7:108"},{"id":61397,"name":"Active","nameLocation":"4245:6:108","nodeType":"EnumValue","src":"4245:6:108"},{"id":61398,"name":"Canceled","nameLocation":"4257:8:108","nodeType":"EnumValue","src":"4257:8:108"},{"id":61399,"name":"Defeated","nameLocation":"4271:8:108","nodeType":"EnumValue","src":"4271:8:108"},{"id":61400,"name":"Succeeded","nameLocation":"4285:9:108","nodeType":"EnumValue","src":"4285:9:108"},{"id":61401,"name":"Queued","nameLocation":"4300:6:108","nodeType":"EnumValue","src":"4300:6:108"},{"id":61402,"name":"Executed","nameLocation":"4312:8:108","nodeType":"EnumValue","src":"4312:8:108"},{"id":61403,"name":"DepositNotMet","nameLocation":"4326:13:108","nodeType":"EnumValue","src":"4326:13:108"},{"id":61404,"name":"InDevelopment","nameLocation":"4345:13:108","nodeType":"EnumValue","src":"4345:13:108"},{"id":61405,"name":"Completed","nameLocation":"4364:9:108","nodeType":"EnumValue","src":"4364:9:108"}],"name":"ProposalState","nameLocation":"4212:13:108","nodeType":"EnumDefinition","src":"4207:170:108"},{"canonicalName":"GovernorTypes.InitializationDataV7","documentation":{"id":61407,"nodeType":"StructuredDocumentation","src":"4381:291:108","text":" @dev Struct containing data for v7 initialization\n @param grantDepositThreshold The deposit threshold percentage for grant proposals\n @param grantVotingThreshold The voting threshold for grant proposals\n @param grantQuorum The quorum percentage for grant proposals"},"id":61428,"members":[{"constant":false,"id":61409,"mutability":"mutable","name":"grantDepositThreshold","nameLocation":"4717:21:108","nodeType":"VariableDeclaration","scope":61428,"src":"4709:29:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61408,"name":"uint256","nodeType":"ElementaryTypeName","src":"4709:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61411,"mutability":"mutable","name":"grantVotingThreshold","nameLocation":"4752:20:108","nodeType":"VariableDeclaration","scope":61428,"src":"4744:28:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61410,"name":"uint256","nodeType":"ElementaryTypeName","src":"4744:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61413,"mutability":"mutable","name":"grantQuorum","nameLocation":"4786:11:108","nodeType":"VariableDeclaration","scope":61428,"src":"4778:19:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61412,"name":"uint256","nodeType":"ElementaryTypeName","src":"4778:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61415,"mutability":"mutable","name":"grantDepositThresholdCap","nameLocation":"4811:24:108","nodeType":"VariableDeclaration","scope":61428,"src":"4803:32:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61414,"name":"uint256","nodeType":"ElementaryTypeName","src":"4803:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61417,"mutability":"mutable","name":"standardDepositThresholdCap","nameLocation":"4849:27:108","nodeType":"VariableDeclaration","scope":61428,"src":"4841:35:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61416,"name":"uint256","nodeType":"ElementaryTypeName","src":"4841:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61419,"mutability":"mutable","name":"standardGMWeight","nameLocation":"4890:16:108","nodeType":"VariableDeclaration","scope":61428,"src":"4882:24:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61418,"name":"uint256","nodeType":"ElementaryTypeName","src":"4882:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61421,"mutability":"mutable","name":"grantGMWeight","nameLocation":"4920:13:108","nodeType":"VariableDeclaration","scope":61428,"src":"4912:21:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61420,"name":"uint256","nodeType":"ElementaryTypeName","src":"4912:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61424,"mutability":"mutable","name":"galaxyMember","nameLocation":"4953:12:108","nodeType":"VariableDeclaration","scope":61428,"src":"4939:26:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":61423,"nodeType":"UserDefinedTypeName","pathNode":{"id":61422,"name":"IGalaxyMember","nameLocations":["4939:13:108"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"4939:13:108"},"referencedDeclaration":65196,"src":"4939:13:108","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"},{"constant":false,"id":61427,"mutability":"mutable","name":"grantsManager","nameLocation":"4986:13:108","nodeType":"VariableDeclaration","scope":61428,"src":"4971:28:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":61426,"nodeType":"UserDefinedTypeName","pathNode":{"id":61425,"name":"IGrantsManager","nameLocations":["4971:14:108"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"4971:14:108"},"referencedDeclaration":65639,"src":"4971:14:108","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"name":"InitializationDataV7","nameLocation":"4682:20:108","nodeType":"StructDefinition","scope":61442,"src":"4675:329:108","visibility":"public"},{"canonicalName":"GovernorTypes.ProposalType","id":61431,"members":[{"id":61429,"name":"Standard","nameLocation":"5107:8:108","nodeType":"EnumValue","src":"5107:8:108"},{"id":61430,"name":"Grant","nameLocation":"5121:5:108","nodeType":"EnumValue","src":"5121:5:108"}],"name":"ProposalType","nameLocation":"5088:12:108","nodeType":"EnumDefinition","src":"5083:47:108"},{"canonicalName":"GovernorTypes.ProposalDevelopmentState","id":61435,"members":[{"id":61432,"name":"PendingDevelopment","nameLocation":"5202:18:108","nodeType":"EnumValue","src":"5202:18:108"},{"id":61433,"name":"InDevelopment","nameLocation":"5226:13:108","nodeType":"EnumValue","src":"5226:13:108"},{"id":61434,"name":"Completed","nameLocation":"5245:9:108","nodeType":"EnumValue","src":"5245:9:108"}],"name":"ProposalDevelopmentState","nameLocation":"5171:24:108","nodeType":"EnumDefinition","src":"5166:92:108"},{"canonicalName":"GovernorTypes.Payee","documentation":{"id":61436,"nodeType":"StructuredDocumentation","src":"5375:200:108","text":"@notice One developer payout entry registered for a proposal.\n @param account The wallet that will receive the B3TR payout.\n @param amount  The B3TR amount (wei) reserved for this payee."},"id":61441,"members":[{"constant":false,"id":61438,"mutability":"mutable","name":"account","nameLocation":"5605:7:108","nodeType":"VariableDeclaration","scope":61441,"src":"5597:15:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61437,"name":"address","nodeType":"ElementaryTypeName","src":"5597:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61440,"mutability":"mutable","name":"amount","nameLocation":"5626:6:108","nodeType":"VariableDeclaration","scope":61441,"src":"5618:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61439,"name":"uint256","nodeType":"ElementaryTypeName","src":"5618:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Payee","nameLocation":"5585:5:108","nodeType":"StructDefinition","scope":61442,"src":"5578:59:108","visibility":"public"}],"scope":61443,"src":"1755:3884:108","usedErrors":[],"usedEvents":[]}],"src":"1195:4445:108"},"id":108},"contracts/governance/libraries/GovernorVotesLogic.sol":{"ast":{"absolutePath":"contracts/governance/libraries/GovernorVotesLogic.sol","exportedSymbols":{"Checkpoints":[10447],"GovernorClockLogic":[55213],"GovernorConfigurator":[57091],"GovernorProposalLogic":[60252],"GovernorStateLogic":[61096],"GovernorStorageTypes":[61306],"GovernorTypes":[61442],"GovernorVotesLogic":[62628],"IVoterRewards":[69092],"Math":[7015],"RelayerAction":[66644],"SafeCast":[8770]},"id":62629,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":61444,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:109"},{"absolutePath":"contracts/governance/libraries/GovernorStorageTypes.sol","file":"./GovernorStorageTypes.sol","id":61446,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":61307,"src":"1220:66:109","symbolAliases":[{"foreign":{"id":61445,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"1229:20:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"./GovernorTypes.sol","id":61448,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":61443,"src":"1287:52:109","symbolAliases":[{"foreign":{"id":61447,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"1296:13:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorStateLogic.sol","file":"./GovernorStateLogic.sol","id":61450,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":61097,"src":"1340:62:109","symbolAliases":[{"foreign":{"id":61449,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"1349:18:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorConfigurator.sol","file":"./GovernorConfigurator.sol","id":61452,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":57092,"src":"1403:66:109","symbolAliases":[{"foreign":{"id":61451,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"1412:20:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorProposalLogic.sol","file":"./GovernorProposalLogic.sol","id":61454,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":60253,"src":"1470:68:109","symbolAliases":[{"foreign":{"id":61453,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"1479:21:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorClockLogic.sol","file":"./GovernorClockLogic.sol","id":61456,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":55214,"src":"1539:62:109","symbolAliases":[{"foreign":{"id":61455,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"1548:18:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","id":61458,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":7016,"src":"1602:67:109","symbolAliases":[{"foreign":{"id":61457,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"1611:4:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":61460,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":10448,"src":"1670:84:109","symbolAliases":[{"foreign":{"id":61459,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1679:11:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":61462,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":8771,"src":"1755:75:109","symbolAliases":[{"foreign":{"id":61461,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1764:8:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../interfaces/IVoterRewards.sol","id":61464,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":69093,"src":"1831:67:109","symbolAliases":[{"foreign":{"id":61463,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"1840:13:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../interfaces/IRelayerRewardsPool.sol","id":61466,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":62629,"sourceUnit":67118,"src":"1899:73:109","symbolAliases":[{"foreign":{"id":61465,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"1908:13:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"GovernorVotesLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":61467,"nodeType":"StructuredDocumentation","src":"1974:227:109","text":"@title GovernorVotesLogic\n @notice Library for handling voting logic in the Governor contract.\n @dev Difference from V1: `proposalId` is passed as an argument to `registerVote` function instead of `proposalSnapshot`."},"fullyImplemented":true,"id":62628,"linearizedBaseContracts":[62628],"name":"GovernorVotesLogic","nameLocation":"2209:18:109","nodeType":"ContractDefinition","nodes":[{"global":false,"id":61471,"libraryName":{"id":61468,"name":"Checkpoints","nameLocations":["2238:11:109"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"2238:11:109"},"nodeType":"UsingForDirective","src":"2232:43:109","typeName":{"id":61470,"nodeType":"UserDefinedTypeName","pathNode":{"id":61469,"name":"Checkpoints.Trace208","nameLocations":["2254:11:109","2266:8:109"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"2254:20:109"},"referencedDeclaration":9409,"src":"2254:20:109","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"documentation":{"id":61472,"nodeType":"StructuredDocumentation","src":"2279:132:109","text":"@dev Thrown when a vote has already been cast by the voter.\n @param voter The address of the voter who already cast a vote."},"errorSelector":"71c6af49","id":61476,"name":"GovernorAlreadyCastVote","nameLocation":"2420:23:109","nodeType":"ErrorDefinition","parameters":{"id":61475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61474,"mutability":"mutable","name":"voter","nameLocation":"2452:5:109","nodeType":"VariableDeclaration","scope":61476,"src":"2444:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61473,"name":"address","nodeType":"ElementaryTypeName","src":"2444:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2443:15:109"},"src":"2414:45:109"},{"documentation":{"id":61477,"nodeType":"StructuredDocumentation","src":"2463:50:109","text":"@dev Thrown when an invalid vote type is used."},"errorSelector":"06b337c2","id":61479,"name":"GovernorInvalidVoteType","nameLocation":"2522:23:109","nodeType":"ErrorDefinition","parameters":{"id":61478,"nodeType":"ParameterList","parameters":[],"src":"2545:2:109"},"src":"2516:32:109"},{"documentation":{"id":61480,"nodeType":"StructuredDocumentation","src":"2552:153:109","text":"@dev Thrown when the voting threshold is not met.\n @param threshold The required voting threshold.\n @param votes The actual votes received."},"errorSelector":"742f62c3","id":61486,"name":"GovernorVotingThresholdNotMet","nameLocation":"2714:29:109","nodeType":"ErrorDefinition","parameters":{"id":61485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61482,"mutability":"mutable","name":"threshold","nameLocation":"2752:9:109","nodeType":"VariableDeclaration","scope":61486,"src":"2744:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61481,"name":"uint256","nodeType":"ElementaryTypeName","src":"2744:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61484,"mutability":"mutable","name":"votes","nameLocation":"2771:5:109","nodeType":"VariableDeclaration","scope":61486,"src":"2763:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61483,"name":"uint256","nodeType":"ElementaryTypeName","src":"2763:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2743:34:109"},"src":"2708:70:109"},{"documentation":{"id":61487,"nodeType":"StructuredDocumentation","src":"2782:153:109","text":"@dev Thrown when the personhood verification fails.\n @param voter The address of the voter.\n @param explanation The reason for the failure."},"errorSelector":"44c45349","id":61493,"name":"GovernorPersonhoodVerificationFailed","nameLocation":"2944:36:109","nodeType":"ErrorDefinition","parameters":{"id":61492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61489,"mutability":"mutable","name":"voter","nameLocation":"2989:5:109","nodeType":"VariableDeclaration","scope":61493,"src":"2981:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61488,"name":"address","nodeType":"ElementaryTypeName","src":"2981:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61491,"mutability":"mutable","name":"explanation","nameLocation":"3003:11:109","nodeType":"VariableDeclaration","scope":61493,"src":"2996:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":61490,"name":"string","nodeType":"ElementaryTypeName","src":"2996:6:109","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2980:35:109"},"src":"2938:78:109"},{"anonymous":false,"documentation":{"id":61494,"nodeType":"StructuredDocumentation","src":"3020:358:109","text":"@notice Emitted when a vote is cast without parameters.\n @param voter The address of the voter.\n @param proposalId The ID of the proposal being voted on.\n @param support The support value of the vote.\n @param weight The weight of the vote.\n @param power The voting power of the voter.\n @param reason The reason for the vote."},"eventSelector":"aec5ebd9cfb5e0fa9ec893c112b6f15c366248db781323babe6909c0e0770397","id":61508,"name":"VoteCast","nameLocation":"3387:8:109","nodeType":"EventDefinition","parameters":{"id":61507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61496,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"3417:5:109","nodeType":"VariableDeclaration","scope":61508,"src":"3401:21:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61495,"name":"address","nodeType":"ElementaryTypeName","src":"3401:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61498,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3444:10:109","nodeType":"VariableDeclaration","scope":61508,"src":"3428:26:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61497,"name":"uint256","nodeType":"ElementaryTypeName","src":"3428:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61500,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"3466:7:109","nodeType":"VariableDeclaration","scope":61508,"src":"3460:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":61499,"name":"uint8","nodeType":"ElementaryTypeName","src":"3460:5:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":61502,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"3487:6:109","nodeType":"VariableDeclaration","scope":61508,"src":"3479:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61501,"name":"uint256","nodeType":"ElementaryTypeName","src":"3479:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61504,"indexed":false,"mutability":"mutable","name":"power","nameLocation":"3507:5:109","nodeType":"VariableDeclaration","scope":61508,"src":"3499:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61503,"name":"uint256","nodeType":"ElementaryTypeName","src":"3499:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61506,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"3525:6:109","nodeType":"VariableDeclaration","scope":61508,"src":"3518:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":61505,"name":"string","nodeType":"ElementaryTypeName","src":"3518:6:109","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3395:140:109"},"src":"3381:155:109"},{"anonymous":false,"documentation":{"id":61509,"nodeType":"StructuredDocumentation","src":"3540:99:109","text":"@notice Emitted when a navigator governance vote is skipped (navigator dead or no decision set)"},"eventSelector":"8b34402b007625b875ac624bea888f2cd3b6896eb9b8f2a2a278bbf3b5dd9b4d","id":61517,"name":"NavigatorGovernanceVoteSkipped","nameLocation":"3648:30:109","nodeType":"EventDefinition","parameters":{"id":61516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61511,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"3695:7:109","nodeType":"VariableDeclaration","scope":61517,"src":"3679:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61510,"name":"address","nodeType":"ElementaryTypeName","src":"3679:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61513,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"3720:9:109","nodeType":"VariableDeclaration","scope":61517,"src":"3704:25:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61512,"name":"address","nodeType":"ElementaryTypeName","src":"3704:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61515,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3747:10:109","nodeType":"VariableDeclaration","scope":61517,"src":"3731:26:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61514,"name":"uint256","nodeType":"ElementaryTypeName","src":"3731:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3678:80:109"},"src":"3642:117:109"},{"anonymous":false,"documentation":{"id":61518,"nodeType":"StructuredDocumentation","src":"3763:82:109","text":"@notice Emitted when a navigator casts a vote on behalf of a delegated citizen"},"eventSelector":"e5aba2374a4ff3b54ee59beb7eabaae209c8a3e5d31185fd429458c2f887c21a","id":61532,"name":"NavigatorGovernanceVoteCast","nameLocation":"3854:27:109","nodeType":"EventDefinition","parameters":{"id":61531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61520,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"3903:7:109","nodeType":"VariableDeclaration","scope":61532,"src":"3887:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61519,"name":"address","nodeType":"ElementaryTypeName","src":"3887:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61522,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"3932:9:109","nodeType":"VariableDeclaration","scope":61532,"src":"3916:25:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61521,"name":"address","nodeType":"ElementaryTypeName","src":"3916:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61524,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3963:10:109","nodeType":"VariableDeclaration","scope":61532,"src":"3947:26:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61523,"name":"uint256","nodeType":"ElementaryTypeName","src":"3947:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61526,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"3985:7:109","nodeType":"VariableDeclaration","scope":61532,"src":"3979:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":61525,"name":"uint8","nodeType":"ElementaryTypeName","src":"3979:5:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":61528,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"4006:6:109","nodeType":"VariableDeclaration","scope":61532,"src":"3998:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61527,"name":"uint256","nodeType":"ElementaryTypeName","src":"3998:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61530,"indexed":false,"mutability":"mutable","name":"power","nameLocation":"4026:5:109","nodeType":"VariableDeclaration","scope":61532,"src":"4018:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61529,"name":"uint256","nodeType":"ElementaryTypeName","src":"4018:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3881:154:109"},"src":"3848:188:109"},{"documentation":{"id":61533,"nodeType":"StructuredDocumentation","src":"4040:62:109","text":"@dev Thrown when citizen is not delegated to any navigator"},"errorSelector":"68e4d5d8","id":61537,"name":"NotDelegatedToNavigator","nameLocation":"4111:23:109","nodeType":"ErrorDefinition","parameters":{"id":61536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61535,"mutability":"mutable","name":"citizen","nameLocation":"4143:7:109","nodeType":"VariableDeclaration","scope":61537,"src":"4135:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61534,"name":"address","nodeType":"ElementaryTypeName","src":"4135:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4134:17:109"},"src":"4105:47:109"},{"documentation":{"id":61538,"nodeType":"StructuredDocumentation","src":"4156:81:109","text":"@dev Thrown when citizen is delegated to a navigator and cannot vote manually"},"errorSelector":"640ed183","id":61542,"name":"DelegatedToNavigator","nameLocation":"4246:20:109","nodeType":"ErrorDefinition","parameters":{"id":61541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61540,"mutability":"mutable","name":"citizen","nameLocation":"4275:7:109","nodeType":"VariableDeclaration","scope":61542,"src":"4267:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61539,"name":"address","nodeType":"ElementaryTypeName","src":"4267:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4266:17:109"},"src":"4240:44:109"},{"documentation":{"id":61543,"nodeType":"StructuredDocumentation","src":"4288:70:109","text":"@dev Thrown when navigator has not set a decision for the proposal"},"errorSelector":"ee3101ec","id":61549,"name":"NavigatorDecisionNotSet","nameLocation":"4367:23:109","nodeType":"ErrorDefinition","parameters":{"id":61548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61545,"mutability":"mutable","name":"navigator","nameLocation":"4399:9:109","nodeType":"VariableDeclaration","scope":61549,"src":"4391:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61544,"name":"address","nodeType":"ElementaryTypeName","src":"4391:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61547,"mutability":"mutable","name":"proposalId","nameLocation":"4418:10:109","nodeType":"VariableDeclaration","scope":61549,"src":"4410:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61546,"name":"uint256","nodeType":"ElementaryTypeName","src":"4410:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4390:39:109"},"src":"4361:69:109"},{"documentation":{"id":61550,"nodeType":"StructuredDocumentation","src":"4434:60:109","text":"@dev The governance skip window has not been reached yet"},"errorSelector":"490a565e","id":61554,"name":"GovernanceSkipWindowNotReached","nameLocation":"4503:30:109","nodeType":"ErrorDefinition","parameters":{"id":61553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61552,"mutability":"mutable","name":"proposalId","nameLocation":"4542:10:109","nodeType":"VariableDeclaration","scope":61554,"src":"4534:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61551,"name":"uint256","nodeType":"ElementaryTypeName","src":"4534:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4533:20:109"},"src":"4497:57:109"},{"anonymous":false,"documentation":{"id":61555,"nodeType":"StructuredDocumentation","src":"4558:144:109","text":"@notice Emits true if quadratic voting is disabled, false otherwise.\n @param disabled - The flag to enable or disable quadratic voting."},"eventSelector":"e782263e17b994d34e64f19af2397c26081a1f4c26c604acb8fb3db6bafc903e","id":61559,"name":"QuadraticVotingToggled","nameLocation":"4711:22:109","nodeType":"EventDefinition","parameters":{"id":61558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61557,"indexed":true,"mutability":"mutable","name":"disabled","nameLocation":"4747:8:109","nodeType":"VariableDeclaration","scope":61559,"src":"4734:21:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61556,"name":"bool","nodeType":"ElementaryTypeName","src":"4734:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4733:23:109"},"src":"4705:52:109"},{"body":{"id":61693,"nodeType":"Block","src":"5248:1058:109","statements":[{"assignments":[61577],"declarations":[{"constant":false,"id":61577,"mutability":"mutable","name":"$","nameLocation":"5299:1:109","nodeType":"VariableDeclaration","scope":61693,"src":"5254:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":61576,"nodeType":"UserDefinedTypeName","pathNode":{"id":61575,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["5254:20:109","5275:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"5254:36:109"},"referencedDeclaration":61305,"src":"5254:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":61581,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61578,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"5303:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":61579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5324:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"5303:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":61580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5303:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5254:90:109"},{"assignments":[61586],"declarations":[{"constant":false,"id":61586,"mutability":"mutable","name":"proposalVote","nameLocation":"5385:12:109","nodeType":"VariableDeclaration","scope":61693,"src":"5350:47:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote"},"typeName":{"id":61585,"nodeType":"UserDefinedTypeName","pathNode":{"id":61584,"name":"GovernorTypes.ProposalVote","nameLocations":["5350:13:109","5364:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":61376,"src":"5350:26:109"},"referencedDeclaration":61376,"src":"5350:26:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote"}},"visibility":"internal"}],"id":61591,"initialValue":{"baseExpression":{"expression":{"id":61587,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61577,"src":"5400:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5402:13:109","memberName":"proposalVotes","nodeType":"MemberAccess","referencedDeclaration":61194,"src":"5400:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$61376_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalVote storage ref)"}},"id":61590,"indexExpression":{"id":61589,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61562,"src":"5416:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5400:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage","typeString":"struct GovernorTypes.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5350:77:109"},{"condition":{"baseExpression":{"expression":{"id":61592,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61586,"src":"5438:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5451:8:109","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":61375,"src":"5438:21:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":61595,"indexExpression":{"id":61594,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61564,"src":"5460:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5438:30:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61601,"nodeType":"IfStatement","src":"5434:90:109","trueBody":{"id":61600,"nodeType":"Block","src":"5470:54:109","statements":[{"errorCall":{"arguments":[{"id":61597,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61564,"src":"5509:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61596,"name":"GovernorAlreadyCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61476,"src":"5485:23:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":61598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5485:32:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61599,"nodeType":"RevertStatement","src":"5478:39:109"}]}},{"expression":{"id":61608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":61602,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61586,"src":"5529:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5542:8:109","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":61375,"src":"5529:21:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":61606,"indexExpression":{"id":61604,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61564,"src":"5551:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5529:30:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":61607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5562:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5529:37:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61609,"nodeType":"ExpressionStatement","src":"5529:37:109"},{"assignments":[61611],"declarations":[{"constant":false,"id":61611,"mutability":"mutable","name":"vote","nameLocation":"5684:4:109","nodeType":"VariableDeclaration","scope":61693,"src":"5676:12:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61610,"name":"uint256","nodeType":"ElementaryTypeName","src":"5676:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61617,"initialValue":{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":61612,"name":"isQuadraticVotingDisabledForCurrentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62521,"src":"5691:40:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":61613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5691:42:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":61615,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61570,"src":"5745:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5691:59:109","trueExpression":{"id":61614,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61568,"src":"5736:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5676:74:109"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":61625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61618,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61566,"src":"5761:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"expression":{"id":61621,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5778:13:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5792:8:109","memberName":"VoteType","nodeType":"MemberAccess","referencedDeclaration":61365,"src":"5778:22:109","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$61365_$","typeString":"type(enum GovernorTypes.VoteType)"}},"id":61623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5801:7:109","memberName":"Against","nodeType":"MemberAccess","referencedDeclaration":61362,"src":"5778:30:109","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$61365","typeString":"enum GovernorTypes.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$61365","typeString":"enum GovernorTypes.VoteType"}],"id":61620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5772:5:109","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":61619,"name":"uint8","nodeType":"ElementaryTypeName","src":"5772:5:109","typeDescriptions":{}}},"id":61624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5772:37:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5761:48:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":61640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61633,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61566,"src":"5869:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"expression":{"id":61636,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5886:13:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5900:8:109","memberName":"VoteType","nodeType":"MemberAccess","referencedDeclaration":61365,"src":"5886:22:109","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$61365_$","typeString":"type(enum GovernorTypes.VoteType)"}},"id":61638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5909:3:109","memberName":"For","nodeType":"MemberAccess","referencedDeclaration":61363,"src":"5886:26:109","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$61365","typeString":"enum GovernorTypes.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$61365","typeString":"enum GovernorTypes.VoteType"}],"id":61635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5880:5:109","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":61634,"name":"uint8","nodeType":"ElementaryTypeName","src":"5880:5:109","typeDescriptions":{}}},"id":61639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5880:33:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5869:44:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":61655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61648,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61566,"src":"5969:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"expression":{"id":61651,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"5986:13:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6000:8:109","memberName":"VoteType","nodeType":"MemberAccess","referencedDeclaration":61365,"src":"5986:22:109","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_VoteType_$61365_$","typeString":"type(enum GovernorTypes.VoteType)"}},"id":61653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6009:7:109","memberName":"Abstain","nodeType":"MemberAccess","referencedDeclaration":61364,"src":"5986:30:109","typeDescriptions":{"typeIdentifier":"t_enum$_VoteType_$61365","typeString":"enum GovernorTypes.VoteType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_VoteType_$61365","typeString":"enum GovernorTypes.VoteType"}],"id":61650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5980:5:109","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":61649,"name":"uint8","nodeType":"ElementaryTypeName","src":"5980:5:109","typeDescriptions":{}}},"id":61654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5980:37:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5969:48:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":61666,"nodeType":"Block","src":"6073:47:109","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":61663,"name":"GovernorInvalidVoteType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61479,"src":"6088:23:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":61664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6088:25:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61665,"nodeType":"RevertStatement","src":"6081:32:109"}]},"id":61667,"nodeType":"IfStatement","src":"5965:155:109","trueBody":{"id":61662,"nodeType":"Block","src":"6019:48:109","statements":[{"expression":{"id":61660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61656,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61586,"src":"6027:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6040:12:109","memberName":"abstainVotes","nodeType":"MemberAccess","referencedDeclaration":61371,"src":"6027:25:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":61659,"name":"vote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61611,"src":"6056:4:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6027:33:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61661,"nodeType":"ExpressionStatement","src":"6027:33:109"}]}},"id":61668,"nodeType":"IfStatement","src":"5865:255:109","trueBody":{"id":61647,"nodeType":"Block","src":"5915:44:109","statements":[{"expression":{"id":61645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61641,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61586,"src":"5923:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5936:8:109","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":61369,"src":"5923:21:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":61644,"name":"vote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61611,"src":"5948:4:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5923:29:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61646,"nodeType":"ExpressionStatement","src":"5923:29:109"}]}},"id":61669,"nodeType":"IfStatement","src":"5757:363:109","trueBody":{"id":61632,"nodeType":"Block","src":"5811:48:109","statements":[{"expression":{"id":61630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61626,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61586,"src":"5819:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5832:12:109","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":61367,"src":"5819:25:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":61629,"name":"vote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61611,"src":"5848:4:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5819:33:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61631,"nodeType":"ExpressionStatement","src":"5819:33:109"}]}},{"expression":{"id":61676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":61670,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61577,"src":"6126:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6128:18:109","memberName":"proposalTotalVotes","nodeType":"MemberAccess","referencedDeclaration":61202,"src":"6126:20:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":61674,"indexExpression":{"id":61672,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61562,"src":"6147:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6126:32:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":61675,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61568,"src":"6162:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6126:42:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61677,"nodeType":"ExpressionStatement","src":"6126:42:109"},{"condition":{"id":61682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6231:24:109","subExpression":{"baseExpression":{"expression":{"id":61678,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61577,"src":"6232:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61679,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6234:12:109","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":61198,"src":"6232:14:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":61681,"indexExpression":{"id":61680,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61564,"src":"6247:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6232:23:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61692,"nodeType":"IfStatement","src":"6227:75:109","trueBody":{"id":61691,"nodeType":"Block","src":"6257:45:109","statements":[{"expression":{"id":61689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":61683,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61577,"src":"6265:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61686,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6267:12:109","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":61198,"src":"6265:14:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":61687,"indexExpression":{"id":61685,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61564,"src":"6280:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6265:23:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":61688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6291:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6265:30:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61690,"nodeType":"ExpressionStatement","src":"6265:30:109"}]}}]},"documentation":{"id":61560,"nodeType":"StructuredDocumentation","src":"4829:305:109","text":" @dev Internal function to count a vote for a proposal.\n @param proposalId The ID of the proposal.\n @param account The address of the voter.\n @param support The support value of the vote.\n @param weight The weight of the vote.\n @param power The voting power of the voter."},"id":61694,"implemented":true,"kind":"function","modifiers":[],"name":"_countVote","nameLocation":"5146:10:109","nodeType":"FunctionDefinition","parameters":{"id":61571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61562,"mutability":"mutable","name":"proposalId","nameLocation":"5165:10:109","nodeType":"VariableDeclaration","scope":61694,"src":"5157:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61561,"name":"uint256","nodeType":"ElementaryTypeName","src":"5157:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61564,"mutability":"mutable","name":"account","nameLocation":"5185:7:109","nodeType":"VariableDeclaration","scope":61694,"src":"5177:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61563,"name":"address","nodeType":"ElementaryTypeName","src":"5177:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61566,"mutability":"mutable","name":"support","nameLocation":"5200:7:109","nodeType":"VariableDeclaration","scope":61694,"src":"5194:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":61565,"name":"uint8","nodeType":"ElementaryTypeName","src":"5194:5:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":61568,"mutability":"mutable","name":"weight","nameLocation":"5217:6:109","nodeType":"VariableDeclaration","scope":61694,"src":"5209:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61567,"name":"uint256","nodeType":"ElementaryTypeName","src":"5209:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61570,"mutability":"mutable","name":"power","nameLocation":"5233:5:109","nodeType":"VariableDeclaration","scope":61694,"src":"5225:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61569,"name":"uint256","nodeType":"ElementaryTypeName","src":"5225:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5156:83:109"},"returnParameters":{"id":61572,"nodeType":"ParameterList","parameters":[],"src":"5248:0:109"},"scope":62628,"src":"5137:1169:109","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":61727,"nodeType":"Block","src":"6559:246:109","statements":[{"assignments":[61706],"declarations":[{"constant":false,"id":61706,"mutability":"mutable","name":"$","nameLocation":"6610:1:109","nodeType":"VariableDeclaration","scope":61727,"src":"6565:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":61705,"nodeType":"UserDefinedTypeName","pathNode":{"id":61704,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["6565:20:109","6586:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"6565:36:109"},"referencedDeclaration":61305,"src":"6565:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":61710,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61707,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"6614:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":61708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6635:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"6614:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":61709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6614:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6565:90:109"},{"assignments":[61715],"declarations":[{"constant":false,"id":61715,"mutability":"mutable","name":"proposalVote","nameLocation":"6696:12:109","nodeType":"VariableDeclaration","scope":61727,"src":"6661:47:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote"},"typeName":{"id":61714,"nodeType":"UserDefinedTypeName","pathNode":{"id":61713,"name":"GovernorTypes.ProposalVote","nameLocations":["6661:13:109","6675:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":61376,"src":"6661:26:109"},"referencedDeclaration":61376,"src":"6661:26:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote"}},"visibility":"internal"}],"id":61720,"initialValue":{"baseExpression":{"expression":{"id":61716,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61706,"src":"6711:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61717,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6713:13:109","memberName":"proposalVotes","nodeType":"MemberAccess","referencedDeclaration":61194,"src":"6711:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$61376_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalVote storage ref)"}},"id":61719,"indexExpression":{"id":61718,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61697,"src":"6727:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6711:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage","typeString":"struct GovernorTypes.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6661:77:109"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":61721,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61715,"src":"6751:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61722,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6764:8:109","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":61369,"src":"6751:21:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":61723,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61715,"src":"6775:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6788:12:109","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":61367,"src":"6775:25:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6751:49:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":61701,"id":61726,"nodeType":"Return","src":"6744:56:109"}]},"documentation":{"id":61695,"nodeType":"StructuredDocumentation","src":"6310:174:109","text":" @dev Internal function to check if the vote succeeded.\n @param proposalId The ID of the proposal.\n @return True if the vote succeeded, false otherwise."},"id":61728,"implemented":true,"kind":"function","modifiers":[],"name":"voteSucceeded","nameLocation":"6496:13:109","nodeType":"FunctionDefinition","parameters":{"id":61698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61697,"mutability":"mutable","name":"proposalId","nameLocation":"6518:10:109","nodeType":"VariableDeclaration","scope":61728,"src":"6510:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61696,"name":"uint256","nodeType":"ElementaryTypeName","src":"6510:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6509:20:109"},"returnParameters":{"id":61701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61728,"src":"6553:4:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61699,"name":"bool","nodeType":"ElementaryTypeName","src":"6553:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6552:6:109"},"scope":62628,"src":"6487:318:109","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":61800,"nodeType":"Block","src":"7698:754:109","statements":[{"assignments":[61742],"declarations":[{"constant":false,"id":61742,"mutability":"mutable","name":"$","nameLocation":"7749:1:109","nodeType":"VariableDeclaration","scope":61800,"src":"7704:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":61741,"nodeType":"UserDefinedTypeName","pathNode":{"id":61740,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["7704:20:109","7725:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"7704:36:109"},"referencedDeclaration":61305,"src":"7704:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":61746,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61743,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"7753:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":61744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7774:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"7753:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":61745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7753:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7704:90:109"},{"assignments":[61748],"declarations":[{"constant":false,"id":61748,"mutability":"mutable","name":"totalVotes","nameLocation":"7808:10:109","nodeType":"VariableDeclaration","scope":61800,"src":"7800:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61747,"name":"uint256","nodeType":"ElementaryTypeName","src":"7800:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61755,"initialValue":{"arguments":[{"id":61752,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61731,"src":"7841:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61753,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61733,"src":"7850:9:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":61749,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61742,"src":"7821:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7823:4:109","memberName":"vot3","nodeType":"MemberAccess","referencedDeclaration":61181,"src":"7821:6:109","typeDescriptions":{"typeIdentifier":"t_contract$_IVOT3_$67719","typeString":"contract IVOT3"}},"id":61751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7828:12:109","memberName":"getPastVotes","nodeType":"MemberAccess","referencedDeclaration":67538,"src":"7821:19:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":61754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7821:39:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7800:60:109"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":61758,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61742,"src":"7879:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61759,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7881:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"7879:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":61757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7871:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61756,"name":"address","nodeType":"ElementaryTypeName","src":"7871:7:109","typeDescriptions":{}}},"id":61760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7871:28:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":61763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7911:1:109","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":61762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7903:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61761,"name":"address","nodeType":"ElementaryTypeName","src":"7903:7:109","typeDescriptions":{}}},"id":61764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7903:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7871:42:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61768,"nodeType":"IfStatement","src":"7867:65:109","trueBody":{"expression":{"id":61766,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61748,"src":"7922:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61737,"id":61767,"nodeType":"Return","src":"7915:17:109"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":61772,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61731,"src":"8075:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61773,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61733,"src":"8084:9:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":61769,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61742,"src":"8031:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8033:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"8031:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":61771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8051:23:109","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"8031:43:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":61774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8031:63:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":61777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8106:1:109","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":61776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8098:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61775,"name":"address","nodeType":"ElementaryTypeName","src":"8098:7:109","typeDescriptions":{}}},"id":61778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8098:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8031:77:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61788,"nodeType":"IfStatement","src":"8027:174:109","trueBody":{"id":61787,"nodeType":"Block","src":"8110:91:109","statements":[{"expression":{"arguments":[{"id":61783,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61731,"src":"8175:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61784,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61733,"src":"8184:9:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":61780,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61742,"src":"8125:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8127:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"8125:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":61782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8145:29:109","memberName":"getDelegatedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66409,"src":"8125:49:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":61785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8125:69:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61737,"id":61786,"nodeType":"Return","src":"8118:76:109"}]}},{"expression":{"id":61796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61789,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61748,"src":"8344:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":61793,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61731,"src":"8405:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61794,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61733,"src":"8414:9:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":61790,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61742,"src":"8358:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8360:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"8358:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":61792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8378:26:109","memberName":"getStakedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66321,"src":"8358:46:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":61795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8358:66:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8344:80:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61797,"nodeType":"ExpressionStatement","src":"8344:80:109"},{"expression":{"id":61798,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61748,"src":"8437:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61737,"id":61799,"nodeType":"Return","src":"8430:17:109"}]},"documentation":{"id":61729,"nodeType":"StructuredDocumentation","src":"6866:743:109","text":" @notice Retrieves the effective voting power for an account at a given timepoint.\n @dev If citizen had a navigator at the snapshot and that navigator is still alive (not deactivated/exiting),\n      returns the delegated amount (their effective participation via navigator).\n      If navigator is dead, delegation is void and citizen has full VOT3 balance.\n      If not delegated, returns full VOT3 balance + staked B3TR (converted to VOT3) for navigators.\n      The staked amount is checkpointed in NavigatorRegistry and returns 0 for non-navigators.\n @param account The address of the account.\n @param timepoint The specific timepoint.\n @return The effective voting power at the given timepoint."},"id":61801,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"7621:8:109","nodeType":"FunctionDefinition","parameters":{"id":61734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61731,"mutability":"mutable","name":"account","nameLocation":"7638:7:109","nodeType":"VariableDeclaration","scope":61801,"src":"7630:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61730,"name":"address","nodeType":"ElementaryTypeName","src":"7630:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61733,"mutability":"mutable","name":"timepoint","nameLocation":"7655:9:109","nodeType":"VariableDeclaration","scope":61801,"src":"7647:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61732,"name":"uint256","nodeType":"ElementaryTypeName","src":"7647:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7629:36:109"},"returnParameters":{"id":61737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61736,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61801,"src":"7689:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61735,"name":"uint256","nodeType":"ElementaryTypeName","src":"7689:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7688:9:109"},"scope":62628,"src":"7612:840:109","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":61821,"nodeType":"Block","src":"8805:129:109","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":61814,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61804,"src":"8903:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61815,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61806,"src":"8912:9:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61813,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61801,"src":"8894:8:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":61816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8894:28:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61811,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"8884:4:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":61812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8889:4:109","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"8884:9:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8884:39:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316539","id":61818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8926:3:109","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"8884:45:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61810,"id":61820,"nodeType":"Return","src":"8877:52:109"}]},"documentation":{"id":61802,"nodeType":"StructuredDocumentation","src":"8456:245:109","text":" @notice Retrieves the quadratic voting power of an account at a given timepoint.\n @param account The address of the account.\n @param timepoint The specific timepoint.\n @return The quadratic voting power of the account."},"functionSelector":"b69d417b","id":61822,"implemented":true,"kind":"function","modifiers":[],"name":"getQuadraticVotingPower","nameLocation":"8713:23:109","nodeType":"FunctionDefinition","parameters":{"id":61807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61804,"mutability":"mutable","name":"account","nameLocation":"8745:7:109","nodeType":"VariableDeclaration","scope":61822,"src":"8737:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61803,"name":"address","nodeType":"ElementaryTypeName","src":"8737:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61806,"mutability":"mutable","name":"timepoint","nameLocation":"8762:9:109","nodeType":"VariableDeclaration","scope":61822,"src":"8754:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61805,"name":"uint256","nodeType":"ElementaryTypeName","src":"8754:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8736:36:109"},"returnParameters":{"id":61810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61822,"src":"8796:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61808,"name":"uint256","nodeType":"ElementaryTypeName","src":"8796:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8795:9:109"},"scope":62628,"src":"8704:230:109","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":61849,"nodeType":"Block","src":"9258:159:109","statements":[{"assignments":[61836],"declarations":[{"constant":false,"id":61836,"mutability":"mutable","name":"$","nameLocation":"9309:1:109","nodeType":"VariableDeclaration","scope":61849,"src":"9264:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":61835,"nodeType":"UserDefinedTypeName","pathNode":{"id":61834,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["9264:20:109","9285:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"9264:36:109"},"referencedDeclaration":61305,"src":"9264:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":61840,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61837,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"9313:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":61838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9334:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"9313:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":61839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9313:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9264:90:109"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":61841,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61836,"src":"9367:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9369:13:109","memberName":"proposalVotes","nodeType":"MemberAccess","referencedDeclaration":61194,"src":"9367:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$61376_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalVote storage ref)"}},"id":61844,"indexExpression":{"id":61843,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61825,"src":"9383:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9367:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage","typeString":"struct GovernorTypes.ProposalVote storage ref"}},"id":61845,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9395:8:109","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":61375,"src":"9367:36:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":61847,"indexExpression":{"id":61846,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61827,"src":"9404:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9367:45:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":61831,"id":61848,"nodeType":"Return","src":"9360:52:109"}]},"documentation":{"id":61823,"nodeType":"StructuredDocumentation","src":"8938:233:109","text":" @notice Checks if an account has voted on a specific proposal.\n @param proposalId The ID of the proposal.\n @param account The address of the account.\n @return True if the account has voted, false otherwise."},"id":61850,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"9183:8:109","nodeType":"FunctionDefinition","parameters":{"id":61828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61825,"mutability":"mutable","name":"proposalId","nameLocation":"9200:10:109","nodeType":"VariableDeclaration","scope":61850,"src":"9192:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61824,"name":"uint256","nodeType":"ElementaryTypeName","src":"9192:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61827,"mutability":"mutable","name":"account","nameLocation":"9220:7:109","nodeType":"VariableDeclaration","scope":61850,"src":"9212:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61826,"name":"address","nodeType":"ElementaryTypeName","src":"9212:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9191:37:109"},"returnParameters":{"id":61831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61830,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61850,"src":"9252:4:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61829,"name":"bool","nodeType":"ElementaryTypeName","src":"9252:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9251:6:109"},"scope":62628,"src":"9174:243:109","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":61889,"nodeType":"Block","src":"9851:274:109","statements":[{"assignments":[61866],"declarations":[{"constant":false,"id":61866,"mutability":"mutable","name":"$","nameLocation":"9902:1:109","nodeType":"VariableDeclaration","scope":61889,"src":"9857:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":61865,"nodeType":"UserDefinedTypeName","pathNode":{"id":61864,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["9857:20:109","9878:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"9857:36:109"},"referencedDeclaration":61305,"src":"9857:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":61870,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61867,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"9906:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":61868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9927:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"9906:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":61869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9906:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9857:90:109"},{"assignments":[61875],"declarations":[{"constant":false,"id":61875,"mutability":"mutable","name":"proposalVote","nameLocation":"9988:12:109","nodeType":"VariableDeclaration","scope":61889,"src":"9953:47:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote"},"typeName":{"id":61874,"nodeType":"UserDefinedTypeName","pathNode":{"id":61873,"name":"GovernorTypes.ProposalVote","nameLocations":["9953:13:109","9967:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":61376,"src":"9953:26:109"},"referencedDeclaration":61376,"src":"9953:26:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote"}},"visibility":"internal"}],"id":61880,"initialValue":{"baseExpression":{"expression":{"id":61876,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61866,"src":"10003:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61877,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10005:13:109","memberName":"proposalVotes","nodeType":"MemberAccess","referencedDeclaration":61194,"src":"10003:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalVote_$61376_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalVote storage ref)"}},"id":61879,"indexExpression":{"id":61878,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61853,"src":"10019:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10003:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage","typeString":"struct GovernorTypes.ProposalVote storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9953:77:109"},{"expression":{"components":[{"expression":{"id":61881,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61875,"src":"10044:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10057:12:109","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":61367,"src":"10044:25:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":61883,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61875,"src":"10071:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10084:8:109","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":61369,"src":"10071:21:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":61885,"name":"proposalVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61875,"src":"10094:12:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalVote_$61376_storage_ptr","typeString":"struct GovernorTypes.ProposalVote storage pointer"}},"id":61886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10107:12:109","memberName":"abstainVotes","nodeType":"MemberAccess","referencedDeclaration":61371,"src":"10094:25:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":61887,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10043:77:109","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256)"}},"functionReturnParameters":61861,"id":61888,"nodeType":"Return","src":"10036:84:109"}]},"documentation":{"id":61851,"nodeType":"StructuredDocumentation","src":"9421:288:109","text":" @notice Retrieves the votes for a proposal.\n @param proposalId The ID of the proposal.\n @return againstVotes The number of votes against the proposal.\n @return forVotes The number of votes for the proposal.\n @return abstainVotes The number of abstain votes."},"id":61890,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalVotes","nameLocation":"9721:16:109","nodeType":"FunctionDefinition","parameters":{"id":61854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61853,"mutability":"mutable","name":"proposalId","nameLocation":"9751:10:109","nodeType":"VariableDeclaration","scope":61890,"src":"9743:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61852,"name":"uint256","nodeType":"ElementaryTypeName","src":"9743:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9737:28:109"},"returnParameters":{"id":61861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61856,"mutability":"mutable","name":"againstVotes","nameLocation":"9797:12:109","nodeType":"VariableDeclaration","scope":61890,"src":"9789:20:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61855,"name":"uint256","nodeType":"ElementaryTypeName","src":"9789:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61858,"mutability":"mutable","name":"forVotes","nameLocation":"9819:8:109","nodeType":"VariableDeclaration","scope":61890,"src":"9811:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61857,"name":"uint256","nodeType":"ElementaryTypeName","src":"9811:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61860,"mutability":"mutable","name":"abstainVotes","nameLocation":"9837:12:109","nodeType":"VariableDeclaration","scope":61890,"src":"9829:20:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61859,"name":"uint256","nodeType":"ElementaryTypeName","src":"9829:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9788:62:109"},"scope":62628,"src":"9712:413:109","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":61912,"nodeType":"Block","src":"10367:134:109","statements":[{"assignments":[61902],"declarations":[{"constant":false,"id":61902,"mutability":"mutable","name":"$","nameLocation":"10418:1:109","nodeType":"VariableDeclaration","scope":61912,"src":"10373:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":61901,"nodeType":"UserDefinedTypeName","pathNode":{"id":61900,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["10373:20:109","10394:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"10373:36:109"},"referencedDeclaration":61305,"src":"10373:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":61906,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61903,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"10422:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":61904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10443:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"10422:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":61905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10422:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10373:90:109"},{"expression":{"baseExpression":{"expression":{"id":61907,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61902,"src":"10476:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10478:12:109","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":61198,"src":"10476:14:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":61910,"indexExpression":{"id":61909,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61893,"src":"10491:4:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10476:20:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":61897,"id":61911,"nodeType":"Return","src":"10469:27:109"}]},"documentation":{"id":61891,"nodeType":"StructuredDocumentation","src":"10129:169:109","text":" @notice Checks if a user has voted at least once.\n @param user The address of the user.\n @return True if the user has voted once, false otherwise."},"id":61913,"implemented":true,"kind":"function","modifiers":[],"name":"userVotedOnce","nameLocation":"10310:13:109","nodeType":"FunctionDefinition","parameters":{"id":61894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61893,"mutability":"mutable","name":"user","nameLocation":"10332:4:109","nodeType":"VariableDeclaration","scope":61913,"src":"10324:12:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61892,"name":"address","nodeType":"ElementaryTypeName","src":"10324:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10323:14:109"},"returnParameters":{"id":61897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61896,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61913,"src":"10361:4:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61895,"name":"bool","nodeType":"ElementaryTypeName","src":"10361:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10360:6:109"},"scope":62628,"src":"10301:200:109","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":62069,"nodeType":"Block","src":"10988:1665:109","statements":[{"assignments":[61931],"declarations":[{"constant":false,"id":61931,"mutability":"mutable","name":"$","nameLocation":"11039:1:109","nodeType":"VariableDeclaration","scope":62069,"src":"10994:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":61930,"nodeType":"UserDefinedTypeName","pathNode":{"id":61929,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["10994:20:109","11015:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"10994:36:109"},"referencedDeclaration":61305,"src":"10994:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":61935,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61932,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"11043:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":61933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11064:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"11043:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":61934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11043:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10994:90:109"},{"expression":{"arguments":[{"id":61939,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61916,"src":"11136:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":61942,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"11191:13:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":61943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11205:13:109","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"11191:27:109","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":61944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11219:6:109","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":61397,"src":"11191:34:109","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":61940,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"11154:18:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":61941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11173:17:109","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"11154:36:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":61945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11154:72:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":61936,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"11090:18:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":61938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11109:19:109","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"11090:38:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":61946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11090:142:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":61947,"nodeType":"ExpressionStatement","src":"11090:142:109"},{"assignments":[61949],"declarations":[{"constant":false,"id":61949,"mutability":"mutable","name":"proposalSnapshot","nameLocation":"11247:16:109","nodeType":"VariableDeclaration","scope":62069,"src":"11239:24:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61948,"name":"uint256","nodeType":"ElementaryTypeName","src":"11239:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61954,"initialValue":{"arguments":[{"id":61952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61916,"src":"11306:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61950,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"11266:21:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":61951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11288:17:109","memberName":"_proposalSnapshot","nodeType":"MemberAccess","referencedDeclaration":60010,"src":"11266:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":61953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11266:51:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11239:78:109"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":61957,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61931,"src":"11430:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11432:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"11430:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":61956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11422:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61955,"name":"address","nodeType":"ElementaryTypeName","src":"11422:7:109","typeDescriptions":{}}},"id":61959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11422:28:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":61962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11462:1:109","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":61961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11454:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61960,"name":"address","nodeType":"ElementaryTypeName","src":"11454:7:109","typeDescriptions":{}}},"id":61963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11454:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11422:42:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61983,"nodeType":"IfStatement","src":"11418:203:109","trueBody":{"id":61982,"nodeType":"Block","src":"11466:155:109","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":61968,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"11522:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61969,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61949,"src":"11529:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":61965,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61931,"src":"11478:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11480:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"11478:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":61967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11498:23:109","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"11478:43:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":61970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11478:68:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":61973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11558:1:109","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":61972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11550:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61971,"name":"address","nodeType":"ElementaryTypeName","src":"11550:7:109","typeDescriptions":{}}},"id":61974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11550:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11478:82:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61981,"nodeType":"IfStatement","src":"11474:141:109","trueBody":{"id":61980,"nodeType":"Block","src":"11562:53:109","statements":[{"errorCall":{"arguments":[{"id":61977,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"11600:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61976,"name":"DelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61542,"src":"11579:20:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":61978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11579:27:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61979,"nodeType":"RevertStatement","src":"11572:34:109"}]}}]}},{"assignments":[61985,61987],"declarations":[{"constant":false,"id":61985,"mutability":"mutable","name":"isPerson","nameLocation":"11633:8:109","nodeType":"VariableDeclaration","scope":62069,"src":"11628:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61984,"name":"bool","nodeType":"ElementaryTypeName","src":"11628:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":61987,"mutability":"mutable","name":"explanation","nameLocation":"11657:11:109","nodeType":"VariableDeclaration","scope":62069,"src":"11643:25:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":61986,"name":"string","nodeType":"ElementaryTypeName","src":"11643:6:109","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":61997,"initialValue":{"arguments":[{"id":61991,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"11718:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":61994,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61949,"src":"11749:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61992,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"11731:8:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":61993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11740:8:109","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"11731:17:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":61995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11731:35:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":61988,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61931,"src":"11672:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":61989,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11674:16:109","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":61210,"src":"11672:18:109","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":61990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11691:19:109","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"11672:38:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":61996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11672:100:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"11627:145:109"},{"condition":{"id":61999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11901:9:109","subExpression":{"id":61998,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61985,"src":"11902:8:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62006,"nodeType":"IfStatement","src":"11897:93:109","trueBody":{"id":62005,"nodeType":"Block","src":"11912:78:109","statements":[{"errorCall":{"arguments":[{"id":62001,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"11964:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62002,"name":"explanation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61987,"src":"11971:11:109","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":62000,"name":"GovernorPersonhoodVerificationFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61493,"src":"11927:36:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) pure"}},"id":62003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11927:56:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62004,"nodeType":"RevertStatement","src":"11920:63:109"}]}},{"assignments":[62008],"declarations":[{"constant":false,"id":62008,"mutability":"mutable","name":"weight","nameLocation":"12004:6:109","nodeType":"VariableDeclaration","scope":62069,"src":"11996:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62007,"name":"uint256","nodeType":"ElementaryTypeName","src":"11996:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62013,"initialValue":{"arguments":[{"id":62010,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"12022:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62011,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61949,"src":"12029:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62009,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61801,"src":"12013:8:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":62012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12013:33:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11996:50:109"},{"assignments":[62015],"declarations":[{"constant":false,"id":62015,"mutability":"mutable","name":"power","nameLocation":"12113:5:109","nodeType":"VariableDeclaration","scope":62069,"src":"12105:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62014,"name":"uint256","nodeType":"ElementaryTypeName","src":"12105:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62022,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62018,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62008,"src":"12131:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62016,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"12121:4:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":62017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12126:4:109","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"12121:9:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12121:17:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316539","id":62020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12141:3:109","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"12121:23:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12105:39:109"},{"assignments":[62027],"declarations":[{"constant":false,"id":62027,"mutability":"mutable","name":"proposalType","nameLocation":"12177:12:109","nodeType":"VariableDeclaration","scope":62069,"src":"12150:39:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":62026,"nodeType":"UserDefinedTypeName","pathNode":{"id":62025,"name":"GovernorTypes.ProposalType","nameLocations":["12150:13:109","12164:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"12150:26:109"},"referencedDeclaration":61431,"src":"12150:26:109","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"id":62035,"initialValue":{"arguments":[{"arguments":[{"id":62032,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61916,"src":"12261:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62030,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"12226:21:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":62031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12248:12:109","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":58359,"src":"12226:34:109","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":62033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12226:46:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":62028,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"12192:13:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":62029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12206:12:109","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"12192:26:109","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":62034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12192:86:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"12150:128:109"},{"expression":{"arguments":[{"id":62037,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62008,"src":"12307:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62038,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62027,"src":"12315:12:109","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":62036,"name":"_checkVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62401,"src":"12285:21:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalType) view"}},"id":62039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12285:43:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62040,"nodeType":"ExpressionStatement","src":"12285:43:109"},{"expression":{"arguments":[{"id":62042,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61916,"src":"12346:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62043,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"12358:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62044,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61920,"src":"12365:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":62045,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62008,"src":"12374:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62046,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62015,"src":"12382:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62041,"name":"_countVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61694,"src":"12335:10:109","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint8,uint256,uint256)"}},"id":62047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12335:53:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62048,"nodeType":"ExpressionStatement","src":"12335:53:109"},{"expression":{"arguments":[{"id":62050,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61931,"src":"12501:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},{"id":62051,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61916,"src":"12504:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62052,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"12516:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62053,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62008,"src":"12523:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62054,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61920,"src":"12531:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":62055,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61949,"src":"12540:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62049,"name":"_registerVoteWithIntentMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62587,"src":"12467:33:109","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_GovernorStorage_$61305_storage_ptr_$_t_uint256_$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (struct GovernorStorageTypes.GovernorStorage storage pointer,uint256,address,uint256,uint8,uint256)"}},"id":62056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12467:90:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62057,"nodeType":"ExpressionStatement","src":"12467:90:109"},{"eventCall":{"arguments":[{"id":62059,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"12578:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62060,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61916,"src":"12585:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62061,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61920,"src":"12597:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":62062,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62008,"src":"12606:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62063,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62015,"src":"12614:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62064,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61922,"src":"12621:6:109","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":62058,"name":"VoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61508,"src":"12569:8:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,uint8,uint256,uint256,string memory)"}},"id":62065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12569:59:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62066,"nodeType":"EmitStatement","src":"12564:64:109"},{"expression":{"id":62067,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62008,"src":"12642:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61926,"id":62068,"nodeType":"Return","src":"12635:13:109"}]},"documentation":{"id":61914,"nodeType":"StructuredDocumentation","src":"10573:273:109","text":" @notice Casts a vote on a proposal.\n @param proposalId The ID of the proposal.\n @param voter The address of the voter.\n @param support The support value of the vote.\n @param reason The reason for the vote.\n @return The weight of the vote."},"functionSelector":"dd063f90","id":62070,"implemented":true,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"10858:8:109","nodeType":"FunctionDefinition","parameters":{"id":61923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61916,"mutability":"mutable","name":"proposalId","nameLocation":"10880:10:109","nodeType":"VariableDeclaration","scope":62070,"src":"10872:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61915,"name":"uint256","nodeType":"ElementaryTypeName","src":"10872:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61918,"mutability":"mutable","name":"voter","nameLocation":"10904:5:109","nodeType":"VariableDeclaration","scope":62070,"src":"10896:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61917,"name":"address","nodeType":"ElementaryTypeName","src":"10896:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61920,"mutability":"mutable","name":"support","nameLocation":"10921:7:109","nodeType":"VariableDeclaration","scope":62070,"src":"10915:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":61919,"name":"uint8","nodeType":"ElementaryTypeName","src":"10915:5:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":61922,"mutability":"mutable","name":"reason","nameLocation":"10950:6:109","nodeType":"VariableDeclaration","scope":62070,"src":"10934:22:109","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":61921,"name":"string","nodeType":"ElementaryTypeName","src":"10934:6:109","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10866:94:109"},"returnParameters":{"id":61926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62070,"src":"10979:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61924,"name":"uint256","nodeType":"ElementaryTypeName","src":"10979:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10978:9:109"},"scope":62628,"src":"10849:1804:109","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":62373,"nodeType":"Block","src":"13451:3102:109","statements":[{"assignments":[62084],"declarations":[{"constant":false,"id":62084,"mutability":"mutable","name":"$","nameLocation":"13502:1:109","nodeType":"VariableDeclaration","scope":62373,"src":"13457:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":62083,"nodeType":"UserDefinedTypeName","pathNode":{"id":62082,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["13457:20:109","13478:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"13457:36:109"},"referencedDeclaration":61305,"src":"13457:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":62088,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62085,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"13506:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":62086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13527:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"13506:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":62087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13506:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13457:90:109"},{"expression":{"arguments":[{"id":62092,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"13599:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":62095,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"13654:13:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":62096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13668:13:109","memberName":"ProposalState","nodeType":"MemberAccess","referencedDeclaration":61406,"src":"13654:27:109","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalState_$61406_$","typeString":"type(enum GovernorTypes.ProposalState)"}},"id":62097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13682:6:109","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":61397,"src":"13654:34:109","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}],"expression":{"id":62093,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"13617:18:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":62094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13636:17:109","memberName":"encodeStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60890,"src":"13617:36:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_ProposalState_$61406_$returns$_t_bytes32_$","typeString":"function (enum GovernorTypes.ProposalState) pure returns (bytes32)"}},"id":62098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13617:72:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":62089,"name":"GovernorStateLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61096,"src":"13553:18:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStateLogic_$61096_$","typeString":"type(library GovernorStateLogic)"}},"id":62091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13572:19:109","memberName":"validateStateBitmap","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"13553:38:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_ProposalState_$61406_$","typeString":"function (uint256,bytes32) view returns (enum GovernorTypes.ProposalState)"}},"id":62099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13553:142:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"id":62100,"nodeType":"ExpressionStatement","src":"13553:142:109"},{"assignments":[62102],"declarations":[{"constant":false,"id":62102,"mutability":"mutable","name":"proposalSnapshot","nameLocation":"13710:16:109","nodeType":"VariableDeclaration","scope":62373,"src":"13702:24:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62101,"name":"uint256","nodeType":"ElementaryTypeName","src":"13702:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62107,"initialValue":{"arguments":[{"id":62105,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"13769:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62103,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"13729:21:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":62104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13751:17:109","memberName":"_proposalSnapshot","nodeType":"MemberAccess","referencedDeclaration":60010,"src":"13729:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":62106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13729:51:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13702:78:109"},{"assignments":[62109],"declarations":[{"constant":false,"id":62109,"mutability":"mutable","name":"navigator","nameLocation":"13794:9:109","nodeType":"VariableDeclaration","scope":62373,"src":"13786:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62108,"name":"address","nodeType":"ElementaryTypeName","src":"13786:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62116,"initialValue":{"arguments":[{"id":62113,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"13850:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62114,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62102,"src":"13859:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62110,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"13806:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13808:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"13806:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":62112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13826:23:109","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"13806:43:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":62115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13806:70:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13786:90:109"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62117,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62109,"src":"13886:9:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":62120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13907:1:109","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":62119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13899:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62118,"name":"address","nodeType":"ElementaryTypeName","src":"13899:7:109","typeDescriptions":{}}},"id":62121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13899:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13886:23:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62127,"nodeType":"IfStatement","src":"13882:68:109","trueBody":{"errorCall":{"arguments":[{"id":62124,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"13942:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62123,"name":"NotDelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61537,"src":"13918:23:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":62125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13918:32:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62126,"nodeType":"RevertStatement","src":"13911:39:109"}},{"assignments":[62129],"declarations":[{"constant":false,"id":62129,"mutability":"mutable","name":"roundId","nameLocation":"13965:7:109","nodeType":"VariableDeclaration","scope":62373,"src":"13957:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62128,"name":"uint256","nodeType":"ElementaryTypeName","src":"13957:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62135,"initialValue":{"expression":{"baseExpression":{"expression":{"id":62130,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"13975:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13977:9:109","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"13975:11:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":62133,"indexExpression":{"id":62132,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"13987:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13975:23:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":62134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13999:16:109","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"13975:40:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13957:58:109"},{"condition":{"arguments":[{"id":62139,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62109,"src":"14148:9:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":62136,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"14114:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14116:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"14114:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":62138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14134:13:109","memberName":"isDeactivated","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"14114:33:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":62140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14114:44:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62172,"nodeType":"IfStatement","src":"14110:298:109","trueBody":{"id":62171,"nodeType":"Block","src":"14160:248:109","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62143,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"14180:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14182:18:109","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"14180:20:109","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":62142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14172:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62141,"name":"address","nodeType":"ElementaryTypeName","src":"14172:7:109","typeDescriptions":{}}},"id":62145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14172:29:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":62148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14213:1:109","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":62147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14205:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62146,"name":"address","nodeType":"ElementaryTypeName","src":"14205:7:109","typeDescriptions":{}}},"id":62149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14205:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14172:43:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62162,"nodeType":"IfStatement","src":"14168:143:109","trueBody":{"id":62161,"nodeType":"Block","src":"14217:94:109","statements":[{"expression":{"arguments":[{"id":62156,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62129,"src":"14273:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62157,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"14282:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62158,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"14291:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62151,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"14227:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14229:18:109","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"14227:20:109","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":62155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14248:24:109","memberName":"reduceUserGovernanceVote","nodeType":"MemberAccess","referencedDeclaration":67067,"src":"14227:45:109","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":62159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14227:75:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62160,"nodeType":"ExpressionStatement","src":"14227:75:109"}]}},{"eventCall":{"arguments":[{"id":62164,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"14354:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62165,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62109,"src":"14363:9:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62166,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"14374:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62163,"name":"NavigatorGovernanceVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61517,"src":"14323:30:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":62167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14323:62:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62168,"nodeType":"EmitStatement","src":"14318:67:109"},{"expression":{"hexValue":"30","id":62169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14400:1:109","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":62079,"id":62170,"nodeType":"Return","src":"14393:8:109"}]}},{"condition":{"id":62179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14460:58:109","subExpression":{"arguments":[{"id":62176,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62109,"src":"14496:9:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62177,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"14507:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62173,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"14461:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14463:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"14461:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":62175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14481:14:109","memberName":"hasSetDecision","nodeType":"MemberAccess","referencedDeclaration":66473,"src":"14461:34:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view external returns (bool)"}},"id":62178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14461:57:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62232,"nodeType":"IfStatement","src":"14456:647:109","trueBody":{"id":62231,"nodeType":"Block","src":"14520:583:109","statements":[{"assignments":[62181],"declarations":[{"constant":false,"id":62181,"mutability":"mutable","name":"deadline","nameLocation":"14637:8:109","nodeType":"VariableDeclaration","scope":62231,"src":"14629:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62180,"name":"uint256","nodeType":"ElementaryTypeName","src":"14629:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62186,"initialValue":{"arguments":[{"id":62184,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"14688:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62182,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"14648:21:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":62183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14670:17:109","memberName":"_proposalDeadline","nodeType":"MemberAccess","referencedDeclaration":60068,"src":"14648:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":62185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14648:51:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14629:70:109"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":62187,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"14711:5:109","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":62188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14717:6:109","memberName":"number","nodeType":"MemberAccess","src":"14711:12:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62189,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"14726:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":62190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14747:26:109","memberName":"governanceSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":57027,"src":"14726:47:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":62191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14726:49:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14711:64:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":62193,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62181,"src":"14778:8:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14711:75:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62200,"nodeType":"IfStatement","src":"14707:149:109","trueBody":{"id":62199,"nodeType":"Block","src":"14788:68:109","statements":[{"errorCall":{"arguments":[{"id":62196,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"14836:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62195,"name":"GovernanceSkipWindowNotReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61554,"src":"14805:30:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":62197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14805:42:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62198,"nodeType":"RevertStatement","src":"14798:49:109"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62203,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"14875:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14877:18:109","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"14875:20:109","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":62202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14867:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62201,"name":"address","nodeType":"ElementaryTypeName","src":"14867:7:109","typeDescriptions":{}}},"id":62205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14867:29:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":62208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14908:1:109","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":62207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14900:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62206,"name":"address","nodeType":"ElementaryTypeName","src":"14900:7:109","typeDescriptions":{}}},"id":62209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14900:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14867:43:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62222,"nodeType":"IfStatement","src":"14863:143:109","trueBody":{"id":62221,"nodeType":"Block","src":"14912:94:109","statements":[{"expression":{"arguments":[{"id":62216,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62129,"src":"14968:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62217,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"14977:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62218,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"14986:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62211,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"14922:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14924:18:109","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"14922:20:109","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":62215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14943:24:109","memberName":"reduceUserGovernanceVote","nodeType":"MemberAccess","referencedDeclaration":67067,"src":"14922:45:109","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":62219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14922:75:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62220,"nodeType":"ExpressionStatement","src":"14922:75:109"}]}},{"eventCall":{"arguments":[{"id":62224,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"15049:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62225,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62109,"src":"15058:9:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62226,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"15069:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62223,"name":"NavigatorGovernanceVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61517,"src":"15018:30:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":62227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15018:62:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62228,"nodeType":"EmitStatement","src":"15013:67:109"},{"expression":{"hexValue":"30","id":62229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15095:1:109","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":62079,"id":62230,"nodeType":"Return","src":"15088:8:109"}]}},{"assignments":[62234,null],"declarations":[{"constant":false,"id":62234,"mutability":"mutable","name":"isPerson","nameLocation":"15187:8:109","nodeType":"VariableDeclaration","scope":62373,"src":"15182:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62233,"name":"bool","nodeType":"ElementaryTypeName","src":"15182:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":62244,"initialValue":{"arguments":[{"id":62238,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"15240:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62241,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62102,"src":"15267:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62239,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"15249:8:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":62240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15258:8:109","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"15249:17:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":62242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15249:35:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":62235,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"15201:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15203:16:109","memberName":"veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":61210,"src":"15201:18:109","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":62237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15220:19:109","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"15201:38:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":62243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15201:84:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"15181:104:109"},{"condition":{"id":62246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15295:9:109","subExpression":{"id":62245,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62234,"src":"15296:8:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62278,"nodeType":"IfStatement","src":"15291:263:109","trueBody":{"id":62277,"nodeType":"Block","src":"15306:248:109","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62249,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"15326:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15328:18:109","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"15326:20:109","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":62248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15318:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62247,"name":"address","nodeType":"ElementaryTypeName","src":"15318:7:109","typeDescriptions":{}}},"id":62251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15318:29:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":62254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15359:1:109","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":62253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15351:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62252,"name":"address","nodeType":"ElementaryTypeName","src":"15351:7:109","typeDescriptions":{}}},"id":62255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15351:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15318:43:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62268,"nodeType":"IfStatement","src":"15314:143:109","trueBody":{"id":62267,"nodeType":"Block","src":"15363:94:109","statements":[{"expression":{"arguments":[{"id":62262,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62129,"src":"15419:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62263,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"15428:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62264,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"15437:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62257,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"15373:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15375:18:109","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"15373:20:109","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":62261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15394:24:109","memberName":"reduceUserGovernanceVote","nodeType":"MemberAccess","referencedDeclaration":67067,"src":"15373:45:109","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":62265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15373:75:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62266,"nodeType":"ExpressionStatement","src":"15373:75:109"}]}},{"eventCall":{"arguments":[{"id":62270,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"15500:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62271,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62109,"src":"15509:9:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62272,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"15520:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62269,"name":"NavigatorGovernanceVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61517,"src":"15469:30:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":62273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15469:62:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62274,"nodeType":"EmitStatement","src":"15464:67:109"},{"expression":{"hexValue":"30","id":62275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15546:1:109","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":62079,"id":62276,"nodeType":"Return","src":"15539:8:109"}]}},{"assignments":[62280],"declarations":[{"constant":false,"id":62280,"mutability":"mutable","name":"decision","nameLocation":"15701:8:109","nodeType":"VariableDeclaration","scope":62373,"src":"15695:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":62279,"name":"uint8","nodeType":"ElementaryTypeName","src":"15695:5:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":62287,"initialValue":{"arguments":[{"id":62284,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62109,"src":"15752:9:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62285,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"15763:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62281,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"15712:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15714:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"15712:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":62283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15732:19:109","memberName":"getProposalDecision","nodeType":"MemberAccess","referencedDeclaration":66463,"src":"15712:39:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint8_$","typeString":"function (address,uint256) view external returns (uint8)"}},"id":62286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15712:62:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"15695:79:109"},{"assignments":[62289],"declarations":[{"constant":false,"id":62289,"mutability":"mutable","name":"support","nameLocation":"15786:7:109","nodeType":"VariableDeclaration","scope":62373,"src":"15780:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":62288,"name":"uint8","nodeType":"ElementaryTypeName","src":"15780:5:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":62293,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":62292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62290,"name":"decision","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62280,"src":"15796:8:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":62291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15807:1:109","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15796:12:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"15780:28:109"},{"assignments":[62295],"declarations":[{"constant":false,"id":62295,"mutability":"mutable","name":"weight","nameLocation":"15823:6:109","nodeType":"VariableDeclaration","scope":62373,"src":"15815:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62294,"name":"uint256","nodeType":"ElementaryTypeName","src":"15815:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62302,"initialValue":{"arguments":[{"id":62299,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"15882:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62300,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62102,"src":"15891:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62296,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"15832:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15834:17:109","memberName":"navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":61260,"src":"15832:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":62298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15852:29:109","memberName":"getDelegatedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66409,"src":"15832:49:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":62301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15832:76:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15815:93:109"},{"assignments":[62304],"declarations":[{"constant":false,"id":62304,"mutability":"mutable","name":"power","nameLocation":"15922:5:109","nodeType":"VariableDeclaration","scope":62373,"src":"15914:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62303,"name":"uint256","nodeType":"ElementaryTypeName","src":"15914:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62311,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62307,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62295,"src":"15940:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62305,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"15930:4:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":62306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15935:4:109","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"15930:9:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15930:17:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316539","id":62309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15950:3:109","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"15930:23:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15914:39:109"},{"assignments":[62316],"declarations":[{"constant":false,"id":62316,"mutability":"mutable","name":"proposalType","nameLocation":"15986:12:109","nodeType":"VariableDeclaration","scope":62373,"src":"15959:39:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":62315,"nodeType":"UserDefinedTypeName","pathNode":{"id":62314,"name":"GovernorTypes.ProposalType","nameLocations":["15959:13:109","15973:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"15959:26:109"},"referencedDeclaration":61431,"src":"15959:26:109","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"id":62324,"initialValue":{"arguments":[{"arguments":[{"id":62321,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"16070:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62319,"name":"GovernorProposalLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60252,"src":"16035:21:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorProposalLogic_$60252_$","typeString":"type(library GovernorProposalLogic)"}},"id":62320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16057:12:109","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":58359,"src":"16035:34:109","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view returns (uint8)"}},"id":62322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16035:46:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":62317,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"16001:13:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorTypes_$61442_$","typeString":"type(library GovernorTypes)"}},"id":62318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16015:12:109","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":61431,"src":"16001:26:109","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$61431_$","typeString":"type(enum GovernorTypes.ProposalType)"}},"id":62323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16001:86:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"nodeType":"VariableDeclarationStatement","src":"15959:128:109"},{"expression":{"arguments":[{"id":62326,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62295,"src":"16116:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62327,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62316,"src":"16124:12:109","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"id":62325,"name":"_checkVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62401,"src":"16094:21:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_enum$_ProposalType_$61431_$returns$__$","typeString":"function (uint256,enum GovernorTypes.ProposalType) view"}},"id":62328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16094:43:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62329,"nodeType":"ExpressionStatement","src":"16094:43:109"},{"expression":{"arguments":[{"id":62331,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"16154:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62332,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"16166:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62333,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62289,"src":"16175:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":62334,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62295,"src":"16184:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62335,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62304,"src":"16192:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62330,"name":"_countVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61694,"src":"16143:10:109","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint8,uint256,uint256)"}},"id":62336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16143:55:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62337,"nodeType":"ExpressionStatement","src":"16143:55:109"},{"expression":{"arguments":[{"id":62339,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"16239:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},{"id":62340,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"16242:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62341,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"16254:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62342,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62295,"src":"16263:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62343,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62289,"src":"16271:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":62344,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62102,"src":"16280:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62338,"name":"_registerVoteWithIntentMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62587,"src":"16205:33:109","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_GovernorStorage_$61305_storage_ptr_$_t_uint256_$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$returns$__$","typeString":"function (struct GovernorStorageTypes.GovernorStorage storage pointer,uint256,address,uint256,uint8,uint256)"}},"id":62345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16205:92:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62346,"nodeType":"ExpressionStatement","src":"16205:92:109"},{"expression":{"arguments":[{"id":62348,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62084,"src":"16342:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},{"id":62349,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"16345:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62350,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"16357:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":62347,"name":"_registerRelayerActionForNavigatorVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62627,"src":"16303:38:109","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_GovernorStorage_$61305_storage_ptr_$_t_uint256_$_t_address_$returns$__$","typeString":"function (struct GovernorStorageTypes.GovernorStorage storage pointer,uint256,address)"}},"id":62351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16303:62:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62352,"nodeType":"ExpressionStatement","src":"16303:62:109"},{"eventCall":{"arguments":[{"id":62354,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"16405:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62355,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62109,"src":"16414:9:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62356,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"16425:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62357,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62289,"src":"16437:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":62358,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62295,"src":"16446:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62359,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62304,"src":"16454:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62353,"name":"NavigatorGovernanceVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61532,"src":"16377:27:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint8,uint256,uint256)"}},"id":62360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16377:83:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62361,"nodeType":"EmitStatement","src":"16372:88:109"},{"eventCall":{"arguments":[{"id":62363,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62075,"src":"16480:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62364,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62073,"src":"16489:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62365,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62289,"src":"16501:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":62366,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62295,"src":"16510:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62367,"name":"power","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62304,"src":"16518:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":62368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16525:2:109","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":62362,"name":"VoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61508,"src":"16471:8:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,uint8,uint256,uint256,string memory)"}},"id":62369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16471:57:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62370,"nodeType":"EmitStatement","src":"16466:62:109"},{"expression":{"id":62371,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62295,"src":"16542:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62079,"id":62372,"nodeType":"Return","src":"16535:13:109"}]},"documentation":{"id":62071,"nodeType":"StructuredDocumentation","src":"12657:700:109","text":" @notice Cast a governance vote on behalf of a citizen delegated to a navigator,\n         or auto-skip if the navigator is dead / has not set a decision (after skip window).\n Decision flow:\n   1. Navigator dead at snapshot → revert (citizen not delegated)\n   2. Navigator dead NOW → skip immediately, reduce governance vote expectation\n   3. Navigator alive + no decision + skip window NOT reached → revert (relayer retries later)\n   4. Navigator alive + no decision + skip window reached → skip\n   5. Navigator alive + decision set + citizen not a person → skip\n   6. Navigator alive + decision set + citizen is a person → vote normally"},"functionSelector":"b6e9eff4","id":62374,"implemented":true,"kind":"function","modifiers":[],"name":"castNavigatorVote","nameLocation":"13369:17:109","nodeType":"FunctionDefinition","parameters":{"id":62076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62073,"mutability":"mutable","name":"proposalId","nameLocation":"13395:10:109","nodeType":"VariableDeclaration","scope":62374,"src":"13387:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62072,"name":"uint256","nodeType":"ElementaryTypeName","src":"13387:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62075,"mutability":"mutable","name":"citizen","nameLocation":"13415:7:109","nodeType":"VariableDeclaration","scope":62374,"src":"13407:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62074,"name":"address","nodeType":"ElementaryTypeName","src":"13407:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13386:37:109"},"returnParameters":{"id":62079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62078,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62374,"src":"13442:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62077,"name":"uint256","nodeType":"ElementaryTypeName","src":"13442:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13441:9:109"},"scope":62628,"src":"13360:3193:109","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":62400,"nodeType":"Block","src":"16816:183:109","statements":[{"assignments":[62384],"declarations":[{"constant":false,"id":62384,"mutability":"mutable","name":"threshold","nameLocation":"16830:9:109","nodeType":"VariableDeclaration","scope":62400,"src":"16822:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62383,"name":"uint256","nodeType":"ElementaryTypeName","src":"16822:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62389,"initialValue":{"arguments":[{"id":62387,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62380,"src":"16882:12:109","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}],"expression":{"id":62385,"name":"GovernorConfigurator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57091,"src":"16842:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorConfigurator_$57091_$","typeString":"type(library GovernorConfigurator)"}},"id":62386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16863:18:109","memberName":"getVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":56840,"src":"16842:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_ProposalType_$61431_$returns$_t_uint256_$","typeString":"function (enum GovernorTypes.ProposalType) view returns (uint256)"}},"id":62388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16842:53:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16822:73:109"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62390,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62377,"src":"16905:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":62391,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62384,"src":"16914:9:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16905:18:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62399,"nodeType":"IfStatement","src":"16901:94:109","trueBody":{"id":62398,"nodeType":"Block","src":"16925:70:109","statements":[{"errorCall":{"arguments":[{"id":62394,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62384,"src":"16970:9:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62395,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62377,"src":"16981:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62393,"name":"GovernorVotingThresholdNotMet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61486,"src":"16940:29:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16940:48:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62397,"nodeType":"RevertStatement","src":"16933:55:109"}]}}]},"documentation":{"id":62375,"nodeType":"StructuredDocumentation","src":"16557:155:109","text":" @notice Checks if the voting threshold is met.\n @param weight - The weight of the vote.\n @param proposalType - The type of proposal."},"id":62401,"implemented":true,"kind":"function","modifiers":[],"name":"_checkVotingThreshold","nameLocation":"16724:21:109","nodeType":"FunctionDefinition","parameters":{"id":62381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62377,"mutability":"mutable","name":"weight","nameLocation":"16754:6:109","nodeType":"VariableDeclaration","scope":62401,"src":"16746:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62376,"name":"uint256","nodeType":"ElementaryTypeName","src":"16746:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62380,"mutability":"mutable","name":"proposalType","nameLocation":"16789:12:109","nodeType":"VariableDeclaration","scope":62401,"src":"16762:39:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":62379,"nodeType":"UserDefinedTypeName","pathNode":{"id":62378,"name":"GovernorTypes.ProposalType","nameLocations":["16762:13:109","16776:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"16762:26:109"},"referencedDeclaration":61431,"src":"16762:26:109","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"16745:57:109"},"returnParameters":{"id":62382,"nodeType":"ParameterList","parameters":[],"src":"16816:0:109"},"scope":62628,"src":"16715:284:109","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":62449,"nodeType":"Block","src":"17288:637:109","statements":[{"assignments":[62409],"declarations":[{"constant":false,"id":62409,"mutability":"mutable","name":"$","nameLocation":"17339:1:109","nodeType":"VariableDeclaration","scope":62449,"src":"17294:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":62408,"nodeType":"UserDefinedTypeName","pathNode":{"id":62407,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["17294:20:109","17315:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"17294:36:109"},"referencedDeclaration":61305,"src":"17294:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":62413,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62410,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"17343:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":62411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17364:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"17343:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":62412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17343:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17294:90:109"},{"assignments":[62415],"declarations":[{"constant":false,"id":62415,"mutability":"mutable","name":"isQuadraticDisabled","nameLocation":"17395:19:109","nodeType":"VariableDeclaration","scope":62449,"src":"17390:24:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62414,"name":"bool","nodeType":"ElementaryTypeName","src":"17390:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":62425,"initialValue":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":62424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62419,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"17461:18:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":62420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17480:5:109","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"17461:24:109","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":62421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17461:26:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":62416,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62409,"src":"17417:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62417,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17419:23:109","memberName":"quadraticVotingDisabled","nodeType":"MemberAccess","referencedDeclaration":61207,"src":"17417:25:109","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":62418,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17443:17:109","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"17417:43:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":62422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17417:71:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":62423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17492:1:109","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17417:76:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"17390:103:109"},{"assignments":[62427],"declarations":[{"constant":false,"id":62427,"mutability":"mutable","name":"newStatus","nameLocation":"17636:9:109","nodeType":"VariableDeclaration","scope":62449,"src":"17628:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":62426,"name":"uint208","nodeType":"ElementaryTypeName","src":"17628:7:109","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":62432,"initialValue":{"condition":{"id":62428,"name":"isQuadraticDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62415,"src":"17648:19:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"31","id":62430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17674:1:109","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"id":62431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"17648:27:109","trueExpression":{"hexValue":"30","id":62429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17670:1:109","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"17628:47:109"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62438,"name":"GovernorClockLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55213,"src":"17765:18:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorClockLogic_$55213_$","typeString":"type(library GovernorClockLogic)"}},"id":62439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17784:5:109","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":55180,"src":"17765:24:109","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":62440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17765:26:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":62441,"name":"newStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62427,"src":"17793:9:109","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"expression":{"id":62433,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62409,"src":"17734:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17736:23:109","memberName":"quadraticVotingDisabled","nodeType":"MemberAccess","referencedDeclaration":61207,"src":"17734:25:109","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":62437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17760:4:109","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"17734:30:109","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":62442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17734:69:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":62443,"nodeType":"ExpressionStatement","src":"17734:69:109"},{"eventCall":{"arguments":[{"id":62446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17899:20:109","subExpression":{"id":62445,"name":"isQuadraticDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62415,"src":"17900:19:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":62444,"name":"QuadraticVotingToggled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61559,"src":"17876:22:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":62447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17876:44:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62448,"nodeType":"EmitStatement","src":"17871:49:109"}]},"documentation":{"id":62402,"nodeType":"StructuredDocumentation","src":"17003:240:109","text":" @notice Toggle quadratic voting for a specific cycle.\n @dev This function toggles the state of quadratic voting for a specific cycle.\n The state will flip between enabled and disabled each time the function is called."},"functionSelector":"9c17e7b3","id":62450,"implemented":true,"kind":"function","modifiers":[],"name":"toggleQuadraticVoting","nameLocation":"17255:21:109","nodeType":"FunctionDefinition","parameters":{"id":62403,"nodeType":"ParameterList","parameters":[],"src":"17276:2:109"},"returnParameters":{"id":62404,"nodeType":"ParameterList","parameters":[],"src":"17288:0:109"},"scope":62628,"src":"17246:679:109","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":62486,"nodeType":"Block","src":"18362:415:109","statements":[{"assignments":[62462],"declarations":[{"constant":false,"id":62462,"mutability":"mutable","name":"$","nameLocation":"18413:1:109","nodeType":"VariableDeclaration","scope":62486,"src":"18368:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":62461,"nodeType":"UserDefinedTypeName","pathNode":{"id":62460,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["18368:20:109","18389:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"18368:36:109"},"referencedDeclaration":61305,"src":"18368:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":62466,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62463,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"18417:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":62464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18438:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"18417:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":62465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18417:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18368:90:109"},{"assignments":[62468],"declarations":[{"constant":false,"id":62468,"mutability":"mutable","name":"blockNumber","nameLocation":"18518:11:109","nodeType":"VariableDeclaration","scope":62486,"src":"18511:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":62467,"name":"uint48","nodeType":"ElementaryTypeName","src":"18511:6:109","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":62477,"initialValue":{"arguments":[{"arguments":[{"id":62474,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62453,"src":"18584:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62471,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62462,"src":"18550:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18552:17:109","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"18550:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":62473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18570:13:109","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":70854,"src":"18550:33:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18550:42:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62469,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"18532:8:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":62470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18541:8:109","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"18532:17:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":62476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18532:61:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"18511:82:109"},{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":62484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62481,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"18728:11:109","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":62478,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62462,"src":"18684:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18686:23:109","memberName":"quadraticVotingDisabled","nodeType":"MemberAccess","referencedDeclaration":61207,"src":"18684:25:109","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":62480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18710:17:109","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"18684:43:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":62482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18684:56:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":62483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18744:1:109","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18684:61:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":62457,"id":62485,"nodeType":"Return","src":"18677:68:109"}]},"documentation":{"id":62451,"nodeType":"StructuredDocumentation","src":"17929:341:109","text":" @notice Check if quadratic voting is disabled at a specific round.\n @dev To check if quadratic voting was disabled for a round, use the block number the round started.\n @param roundId - The round ID for which to check if quadratic voting is disabled.\n @return true if quadratic voting is disabled, false otherwise."},"functionSelector":"a45aa313","id":62487,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticVotingDisabledForRound","nameLocation":"18282:33:109","nodeType":"FunctionDefinition","parameters":{"id":62454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62453,"mutability":"mutable","name":"roundId","nameLocation":"18324:7:109","nodeType":"VariableDeclaration","scope":62487,"src":"18316:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62452,"name":"uint256","nodeType":"ElementaryTypeName","src":"18316:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18315:17:109"},"returnParameters":{"id":62457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62456,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62487,"src":"18356:4:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62455,"name":"bool","nodeType":"ElementaryTypeName","src":"18356:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18355:6:109"},"scope":62628,"src":"18273:504:109","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":62520,"nodeType":"Block","src":"19014:435:109","statements":[{"assignments":[62497],"declarations":[{"constant":false,"id":62497,"mutability":"mutable","name":"$","nameLocation":"19065:1:109","nodeType":"VariableDeclaration","scope":62520,"src":"19020:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":62496,"nodeType":"UserDefinedTypeName","pathNode":{"id":62495,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["19020:20:109","19041:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"19020:36:109"},"referencedDeclaration":61305,"src":"19020:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"}],"id":62501,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62498,"name":"GovernorStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61306,"src":"19069:20:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GovernorStorageTypes_$61306_$","typeString":"type(library GovernorStorageTypes)"}},"id":62499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19090:18:109","memberName":"getGovernorStorage","nodeType":"MemberAccess","referencedDeclaration":61139,"src":"19069:39:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_GovernorStorage_$61305_storage_ptr_$","typeString":"function () pure returns (struct GovernorStorageTypes.GovernorStorage storage pointer)"}},"id":62500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19069:41:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19020:90:109"},{"assignments":[62503],"declarations":[{"constant":false,"id":62503,"mutability":"mutable","name":"roundStartBlock","nameLocation":"19180:15:109","nodeType":"VariableDeclaration","scope":62520,"src":"19172:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62502,"name":"uint256","nodeType":"ElementaryTypeName","src":"19172:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62508,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":62504,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62497,"src":"19198:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19200:17:109","memberName":"xAllocationVoting","nodeType":"MemberAccess","referencedDeclaration":61175,"src":"19198:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":62506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19218:20:109","memberName":"currentRoundSnapshot","nodeType":"MemberAccess","referencedDeclaration":71026,"src":"19198:40:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19198:42:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19172:68:109"},{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":62518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":62514,"name":"roundStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62503,"src":"19395:15:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62512,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"19377:8:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":62513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19386:8:109","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"19377:17:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":62515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19377:34:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":62509,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62497,"src":"19333:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19335:23:109","memberName":"quadraticVotingDisabled","nodeType":"MemberAccess","referencedDeclaration":61207,"src":"19333:25:109","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":62511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19359:17:109","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"19333:43:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":62516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19333:79:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":62517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19416:1:109","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19333:84:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":62492,"id":62519,"nodeType":"Return","src":"19326:91:109"}]},"documentation":{"id":62488,"nodeType":"StructuredDocumentation","src":"18781:151:109","text":" @notice Check if quadratic voting is disabled for the current round.\n @return true if quadratic voting is disabled, false otherwise."},"functionSelector":"81c0d6df","id":62521,"implemented":true,"kind":"function","modifiers":[],"name":"isQuadraticVotingDisabledForCurrentRound","nameLocation":"18944:40:109","nodeType":"FunctionDefinition","parameters":{"id":62489,"nodeType":"ParameterList","parameters":[],"src":"18984:2:109"},"returnParameters":{"id":62492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62521,"src":"19008:4:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62490,"name":"bool","nodeType":"ElementaryTypeName","src":"19008:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19007:6:109"},"scope":62628,"src":"18935:514:109","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":62586,"nodeType":"Block","src":"20086:507:109","statements":[{"assignments":[62539,62541],"declarations":[{"constant":false,"id":62539,"mutability":"mutable","name":"forAgainstMultiplier","nameLocation":"20207:20:109","nodeType":"VariableDeclaration","scope":62586,"src":"20199:28:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62538,"name":"uint256","nodeType":"ElementaryTypeName","src":"20199:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62541,"mutability":"mutable","name":"abstainMultiplier","nameLocation":"20237:17:109","nodeType":"VariableDeclaration","scope":62586,"src":"20229:25:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62540,"name":"uint256","nodeType":"ElementaryTypeName","src":"20229:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62552,"initialValue":{"arguments":[{"id":62550,"name":"proposalSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62535,"src":"20325:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"expression":{"id":62545,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62525,"src":"20280:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62546,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20282:12:109","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":61172,"src":"20280:14:109","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":62544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20272:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62543,"name":"address","nodeType":"ElementaryTypeName","src":"20272:7:109","typeDescriptions":{}}},"id":62547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20272:23:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62542,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"20258:13:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IVoterRewards_$69092_$","typeString":"type(contract IVoterRewards)"}},"id":62548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20258:38:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":62549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20304:20:109","memberName":"getIntentMultipliers","nodeType":"MemberAccess","referencedDeclaration":69085,"src":"20258:66:109","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (uint256,uint256)"}},"id":62551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20258:84:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"20198:144:109"},{"assignments":[62554],"declarations":[{"constant":false,"id":62554,"mutability":"mutable","name":"intentMultiplier","nameLocation":"20356:16:109","nodeType":"VariableDeclaration","scope":62586,"src":"20348:24:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62553,"name":"uint256","nodeType":"ElementaryTypeName","src":"20348:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62562,"initialValue":{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":62557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62555,"name":"support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62533,"src":"20376:7:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":62556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20387:1:109","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"20376:12:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":62558,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20375:14:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":62560,"name":"forAgainstMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62539,"src":"20412:20:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"20375:57:109","trueExpression":{"id":62559,"name":"abstainMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62541,"src":"20392:17:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20348:84:109"},{"assignments":[62564],"declarations":[{"constant":false,"id":62564,"mutability":"mutable","name":"rewardWeight","nameLocation":"20446:12:109","nodeType":"VariableDeclaration","scope":62586,"src":"20438:20:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62563,"name":"uint256","nodeType":"ElementaryTypeName","src":"20438:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62571,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62565,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62531,"src":"20462:6:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62566,"name":"intentMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62554,"src":"20471:16:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20462:25:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62568,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20461:27:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3130303030","id":62569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20491:5:109","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10000"},"src":"20461:35:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20438:58:109"},{"expression":{"arguments":[{"id":62577,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62527,"src":"20531:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62578,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62529,"src":"20543:5:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62579,"name":"rewardWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62564,"src":"20550:12:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":62582,"name":"rewardWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62564,"src":"20574:12:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62580,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"20564:4:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":62581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20569:4:109","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"20564:9:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20564:23:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62572,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62525,"src":"20503:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20505:12:109","memberName":"voterRewards","nodeType":"MemberAccess","referencedDeclaration":61172,"src":"20503:14:109","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":62576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20518:12:109","memberName":"registerVote","nodeType":"MemberAccess","referencedDeclaration":68931,"src":"20503:27:109","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256,uint256) external"}},"id":62584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20503:85:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62585,"nodeType":"ExpressionStatement","src":"20503:85:109"}]},"documentation":{"id":62522,"nodeType":"StructuredDocumentation","src":"19453:411:109","text":"@dev Register a vote with governance intent multiplier applied to reward weight\n @param $ The governor storage\n @param proposalId The proposal ID\n @param voter The voter address\n @param weight The raw voting weight (unmultiplied)\n @param support The vote support value (0=Against, 1=For, 2=Abstain)\n @param proposalSnapshot The proposal snapshot timepoint for multiplier lookup"},"id":62587,"implemented":true,"kind":"function","modifiers":[],"name":"_registerVoteWithIntentMultiplier","nameLocation":"19876:33:109","nodeType":"FunctionDefinition","parameters":{"id":62536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62525,"mutability":"mutable","name":"$","nameLocation":"19960:1:109","nodeType":"VariableDeclaration","scope":62587,"src":"19915:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":62524,"nodeType":"UserDefinedTypeName","pathNode":{"id":62523,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["19915:20:109","19936:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"19915:36:109"},"referencedDeclaration":61305,"src":"19915:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"},{"constant":false,"id":62527,"mutability":"mutable","name":"proposalId","nameLocation":"19975:10:109","nodeType":"VariableDeclaration","scope":62587,"src":"19967:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62526,"name":"uint256","nodeType":"ElementaryTypeName","src":"19967:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62529,"mutability":"mutable","name":"voter","nameLocation":"19999:5:109","nodeType":"VariableDeclaration","scope":62587,"src":"19991:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62528,"name":"address","nodeType":"ElementaryTypeName","src":"19991:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62531,"mutability":"mutable","name":"weight","nameLocation":"20018:6:109","nodeType":"VariableDeclaration","scope":62587,"src":"20010:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62530,"name":"uint256","nodeType":"ElementaryTypeName","src":"20010:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62533,"mutability":"mutable","name":"support","nameLocation":"20036:7:109","nodeType":"VariableDeclaration","scope":62587,"src":"20030:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":62532,"name":"uint8","nodeType":"ElementaryTypeName","src":"20030:5:109","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":62535,"mutability":"mutable","name":"proposalSnapshot","nameLocation":"20057:16:109","nodeType":"VariableDeclaration","scope":62587,"src":"20049:24:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62534,"name":"uint256","nodeType":"ElementaryTypeName","src":"20049:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19909:168:109"},"returnParameters":{"id":62537,"nodeType":"ParameterList","parameters":[],"src":"20086:0:109"},"scope":62628,"src":"19867:726:109","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":62626,"nodeType":"Block","src":"20754:227:109","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62599,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62590,"src":"20772:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20774:18:109","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"20772:20:109","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":62598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20764:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62597,"name":"address","nodeType":"ElementaryTypeName","src":"20764:7:109","typeDescriptions":{}}},"id":62601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20764:29:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":62604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20805:1:109","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":62603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20797:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62602,"name":"address","nodeType":"ElementaryTypeName","src":"20797:7:109","typeDescriptions":{}}},"id":62605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20797:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20764:43:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62608,"nodeType":"IfStatement","src":"20760:56:109","trueBody":{"functionReturnParameters":62596,"id":62607,"nodeType":"Return","src":"20809:7:109"}},{"expression":{"arguments":[{"expression":{"id":62614,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20871:3:109","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20875:6:109","memberName":"sender","nodeType":"MemberAccess","src":"20871:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62616,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62594,"src":"20889:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"expression":{"id":62617,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62590,"src":"20904:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20906:9:109","memberName":"proposals","nodeType":"MemberAccess","referencedDeclaration":61146,"src":"20904:11:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ProposalCore_$61395_storage_$","typeString":"mapping(uint256 => struct GovernorTypes.ProposalCore storage ref)"}},"id":62620,"indexExpression":{"id":62619,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62592,"src":"20916:10:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20904:23:109","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalCore_$61395_storage","typeString":"struct GovernorTypes.ProposalCore storage ref"}},"id":62621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20928:16:109","memberName":"roundIdVoteStart","nodeType":"MemberAccess","referencedDeclaration":61380,"src":"20904:40:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":62622,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"20952:13:109","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RelayerAction_$66644_$","typeString":"type(enum RelayerAction)"}},"id":62623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20966:4:109","memberName":"VOTE","nodeType":"MemberAccess","referencedDeclaration":66642,"src":"20952:18:109","typeDescriptions":{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}],"expression":{"expression":{"id":62609,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62590,"src":"20821:1:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage storage pointer"}},"id":62612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20823:18:109","memberName":"relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":61263,"src":"20821:20:109","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":62613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20842:21:109","memberName":"registerRelayerAction","nodeType":"MemberAccess","referencedDeclaration":67080,"src":"20821:42:109","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_RelayerAction_$66644_$returns$__$","typeString":"function (address,address,uint256,enum RelayerAction) external"}},"id":62624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20821:155:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62625,"nodeType":"ExpressionStatement","src":"20821:155:109"}]},"id":62627,"implemented":true,"kind":"function","modifiers":[],"name":"_registerRelayerActionForNavigatorVote","nameLocation":"20606:38:109","nodeType":"FunctionDefinition","parameters":{"id":62595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62590,"mutability":"mutable","name":"$","nameLocation":"20695:1:109","nodeType":"VariableDeclaration","scope":62627,"src":"20650:46:109","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"},"typeName":{"id":62589,"nodeType":"UserDefinedTypeName","pathNode":{"id":62588,"name":"GovernorStorageTypes.GovernorStorage","nameLocations":["20650:20:109","20671:15:109"],"nodeType":"IdentifierPath","referencedDeclaration":61305,"src":"20650:36:109"},"referencedDeclaration":61305,"src":"20650:36:109","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$61305_storage_ptr","typeString":"struct GovernorStorageTypes.GovernorStorage"}},"visibility":"internal"},{"constant":false,"id":62592,"mutability":"mutable","name":"proposalId","nameLocation":"20710:10:109","nodeType":"VariableDeclaration","scope":62627,"src":"20702:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62591,"name":"uint256","nodeType":"ElementaryTypeName","src":"20702:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62594,"mutability":"mutable","name":"citizen","nameLocation":"20734:7:109","nodeType":"VariableDeclaration","scope":62627,"src":"20726:15:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62593,"name":"address","nodeType":"ElementaryTypeName","src":"20726:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20644:101:109"},"returnParameters":{"id":62596,"nodeType":"ParameterList","parameters":[],"src":"20754:0:109"},"scope":62628,"src":"20597:384:109","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":62629,"src":"2201:18782:109","usedErrors":[7025,8883,60803,60813,61476,61479,61486,61493,61537,61542,61549,61554],"usedEvents":[61508,61517,61532,61559]}],"src":"1195:19789:109"},"id":109},"contracts/interfaces/IB3TR.sol":{"ast":{"absolutePath":"contracts/interfaces/IB3TR.sol","exportedSymbols":{"IB3TR":[62888]},"id":62889,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":62630,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:110"},{"abstract":false,"baseContracts":[],"canonicalName":"IB3TR","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":62888,"linearizedBaseContracts":[62888],"name":"IB3TR","nameLocation":"68:5:110","nodeType":"ContractDefinition","nodes":[{"errorSelector":"6697b232","id":62632,"name":"AccessControlBadConfirmation","nameLocation":"84:28:110","nodeType":"ErrorDefinition","parameters":{"id":62631,"nodeType":"ParameterList","parameters":[],"src":"112:2:110"},"src":"78:37:110"},{"errorSelector":"e2517d3f","id":62638,"name":"AccessControlUnauthorizedAccount","nameLocation":"125:32:110","nodeType":"ErrorDefinition","parameters":{"id":62637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62634,"mutability":"mutable","name":"account","nameLocation":"166:7:110","nodeType":"VariableDeclaration","scope":62638,"src":"158:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62633,"name":"address","nodeType":"ElementaryTypeName","src":"158:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62636,"mutability":"mutable","name":"neededRole","nameLocation":"183:10:110","nodeType":"VariableDeclaration","scope":62638,"src":"175:18:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"157:37:110"},"src":"119:76:110"},{"errorSelector":"9e79f854","id":62644,"name":"ERC20ExceededCap","nameLocation":"205:16:110","nodeType":"ErrorDefinition","parameters":{"id":62643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62640,"mutability":"mutable","name":"increasedSupply","nameLocation":"230:15:110","nodeType":"VariableDeclaration","scope":62644,"src":"222:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62639,"name":"uint256","nodeType":"ElementaryTypeName","src":"222:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62642,"mutability":"mutable","name":"cap","nameLocation":"255:3:110","nodeType":"VariableDeclaration","scope":62644,"src":"247:11:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62641,"name":"uint256","nodeType":"ElementaryTypeName","src":"247:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"221:38:110"},"src":"199:61:110"},{"errorSelector":"fb8f41b2","id":62652,"name":"ERC20InsufficientAllowance","nameLocation":"270:26:110","nodeType":"ErrorDefinition","parameters":{"id":62651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62646,"mutability":"mutable","name":"spender","nameLocation":"305:7:110","nodeType":"VariableDeclaration","scope":62652,"src":"297:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62645,"name":"address","nodeType":"ElementaryTypeName","src":"297:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62648,"mutability":"mutable","name":"allowance","nameLocation":"322:9:110","nodeType":"VariableDeclaration","scope":62652,"src":"314:17:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62647,"name":"uint256","nodeType":"ElementaryTypeName","src":"314:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62650,"mutability":"mutable","name":"needed","nameLocation":"341:6:110","nodeType":"VariableDeclaration","scope":62652,"src":"333:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62649,"name":"uint256","nodeType":"ElementaryTypeName","src":"333:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"296:52:110"},"src":"264:85:110"},{"errorSelector":"e450d38c","id":62660,"name":"ERC20InsufficientBalance","nameLocation":"359:24:110","nodeType":"ErrorDefinition","parameters":{"id":62659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62654,"mutability":"mutable","name":"sender","nameLocation":"392:6:110","nodeType":"VariableDeclaration","scope":62660,"src":"384:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62653,"name":"address","nodeType":"ElementaryTypeName","src":"384:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62656,"mutability":"mutable","name":"balance","nameLocation":"408:7:110","nodeType":"VariableDeclaration","scope":62660,"src":"400:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62655,"name":"uint256","nodeType":"ElementaryTypeName","src":"400:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62658,"mutability":"mutable","name":"needed","nameLocation":"425:6:110","nodeType":"VariableDeclaration","scope":62660,"src":"417:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62657,"name":"uint256","nodeType":"ElementaryTypeName","src":"417:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"383:49:110"},"src":"353:80:110"},{"errorSelector":"e602df05","id":62664,"name":"ERC20InvalidApprover","nameLocation":"443:20:110","nodeType":"ErrorDefinition","parameters":{"id":62663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62662,"mutability":"mutable","name":"approver","nameLocation":"472:8:110","nodeType":"VariableDeclaration","scope":62664,"src":"464:16:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62661,"name":"address","nodeType":"ElementaryTypeName","src":"464:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"463:18:110"},"src":"437:45:110"},{"errorSelector":"392e1e27","id":62668,"name":"ERC20InvalidCap","nameLocation":"492:15:110","nodeType":"ErrorDefinition","parameters":{"id":62667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62666,"mutability":"mutable","name":"cap","nameLocation":"516:3:110","nodeType":"VariableDeclaration","scope":62668,"src":"508:11:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62665,"name":"uint256","nodeType":"ElementaryTypeName","src":"508:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"507:13:110"},"src":"486:35:110"},{"errorSelector":"ec442f05","id":62672,"name":"ERC20InvalidReceiver","nameLocation":"531:20:110","nodeType":"ErrorDefinition","parameters":{"id":62671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62670,"mutability":"mutable","name":"receiver","nameLocation":"560:8:110","nodeType":"VariableDeclaration","scope":62672,"src":"552:16:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62669,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"551:18:110"},"src":"525:45:110"},{"errorSelector":"96c6fd1e","id":62676,"name":"ERC20InvalidSender","nameLocation":"580:18:110","nodeType":"ErrorDefinition","parameters":{"id":62675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62674,"mutability":"mutable","name":"sender","nameLocation":"607:6:110","nodeType":"VariableDeclaration","scope":62676,"src":"599:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62673,"name":"address","nodeType":"ElementaryTypeName","src":"599:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"598:16:110"},"src":"574:41:110"},{"errorSelector":"94280d62","id":62680,"name":"ERC20InvalidSpender","nameLocation":"625:19:110","nodeType":"ErrorDefinition","parameters":{"id":62679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62678,"mutability":"mutable","name":"spender","nameLocation":"653:7:110","nodeType":"VariableDeclaration","scope":62680,"src":"645:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62677,"name":"address","nodeType":"ElementaryTypeName","src":"645:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"644:17:110"},"src":"619:43:110"},{"errorSelector":"d93c0665","id":62682,"name":"EnforcedPause","nameLocation":"672:13:110","nodeType":"ErrorDefinition","parameters":{"id":62681,"nodeType":"ParameterList","parameters":[],"src":"685:2:110"},"src":"666:22:110"},{"errorSelector":"8dfc202b","id":62684,"name":"ExpectedPause","nameLocation":"698:13:110","nodeType":"ErrorDefinition","parameters":{"id":62683,"nodeType":"ParameterList","parameters":[],"src":"711:2:110"},"src":"692:22:110"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":62692,"name":"Approval","nameLocation":"724:8:110","nodeType":"EventDefinition","parameters":{"id":62691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62686,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"749:5:110","nodeType":"VariableDeclaration","scope":62692,"src":"733:21:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62685,"name":"address","nodeType":"ElementaryTypeName","src":"733:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62688,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"772:7:110","nodeType":"VariableDeclaration","scope":62692,"src":"756:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62687,"name":"address","nodeType":"ElementaryTypeName","src":"756:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62690,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"789:5:110","nodeType":"VariableDeclaration","scope":62692,"src":"781:13:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62689,"name":"uint256","nodeType":"ElementaryTypeName","src":"781:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"732:63:110"},"src":"718:78:110"},{"anonymous":false,"eventSelector":"62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258","id":62696,"name":"Paused","nameLocation":"806:6:110","nodeType":"EventDefinition","parameters":{"id":62695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62694,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"821:7:110","nodeType":"VariableDeclaration","scope":62696,"src":"813:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62693,"name":"address","nodeType":"ElementaryTypeName","src":"813:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"812:17:110"},"src":"800:30:110"},{"anonymous":false,"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":62704,"name":"RoleAdminChanged","nameLocation":"840:16:110","nodeType":"EventDefinition","parameters":{"id":62703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62698,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"873:4:110","nodeType":"VariableDeclaration","scope":62704,"src":"857:20:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"857:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62700,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"895:17:110","nodeType":"VariableDeclaration","scope":62704,"src":"879:33:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"879:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62702,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"930:12:110","nodeType":"VariableDeclaration","scope":62704,"src":"914:28:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"914:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"856:87:110"},"src":"834:110:110"},{"anonymous":false,"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":62712,"name":"RoleGranted","nameLocation":"954:11:110","nodeType":"EventDefinition","parameters":{"id":62711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62706,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"982:4:110","nodeType":"VariableDeclaration","scope":62712,"src":"966:20:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"966:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62708,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1004:7:110","nodeType":"VariableDeclaration","scope":62712,"src":"988:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62707,"name":"address","nodeType":"ElementaryTypeName","src":"988:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62710,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1029:6:110","nodeType":"VariableDeclaration","scope":62712,"src":"1013:22:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62709,"name":"address","nodeType":"ElementaryTypeName","src":"1013:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"965:71:110"},"src":"948:89:110"},{"anonymous":false,"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":62720,"name":"RoleRevoked","nameLocation":"1047:11:110","nodeType":"EventDefinition","parameters":{"id":62719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62714,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1075:4:110","nodeType":"VariableDeclaration","scope":62720,"src":"1059:20:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1059:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62716,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1097:7:110","nodeType":"VariableDeclaration","scope":62720,"src":"1081:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62715,"name":"address","nodeType":"ElementaryTypeName","src":"1081:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62718,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1122:6:110","nodeType":"VariableDeclaration","scope":62720,"src":"1106:22:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62717,"name":"address","nodeType":"ElementaryTypeName","src":"1106:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1058:71:110"},"src":"1041:89:110"},{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":62728,"name":"Transfer","nameLocation":"1140:8:110","nodeType":"EventDefinition","parameters":{"id":62727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62722,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"1165:4:110","nodeType":"VariableDeclaration","scope":62728,"src":"1149:20:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62721,"name":"address","nodeType":"ElementaryTypeName","src":"1149:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62724,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"1187:2:110","nodeType":"VariableDeclaration","scope":62728,"src":"1171:18:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62723,"name":"address","nodeType":"ElementaryTypeName","src":"1171:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62726,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"1199:5:110","nodeType":"VariableDeclaration","scope":62728,"src":"1191:13:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62725,"name":"uint256","nodeType":"ElementaryTypeName","src":"1191:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1148:57:110"},"src":"1134:72:110"},{"anonymous":false,"eventSelector":"5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa","id":62732,"name":"Unpaused","nameLocation":"1216:8:110","nodeType":"EventDefinition","parameters":{"id":62731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62730,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"1233:7:110","nodeType":"VariableDeclaration","scope":62732,"src":"1225:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62729,"name":"address","nodeType":"ElementaryTypeName","src":"1225:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1224:17:110"},"src":"1210:32:110"},{"functionSelector":"a217fddf","id":62737,"implemented":false,"kind":"function","modifiers":[],"name":"DEFAULT_ADMIN_ROLE","nameLocation":"1255:18:110","nodeType":"FunctionDefinition","parameters":{"id":62733,"nodeType":"ParameterList","parameters":[],"src":"1273:2:110"},"returnParameters":{"id":62736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62735,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62737,"src":"1299:7:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1299:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1298:9:110"},"scope":62888,"src":"1246:62:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"d5391393","id":62742,"implemented":false,"kind":"function","modifiers":[],"name":"MINTER_ROLE","nameLocation":"1321:11:110","nodeType":"FunctionDefinition","parameters":{"id":62738,"nodeType":"ParameterList","parameters":[],"src":"1332:2:110"},"returnParameters":{"id":62741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62742,"src":"1358:7:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1358:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1357:9:110"},"scope":62888,"src":"1312:55:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"dd62ed3e","id":62751,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1380:9:110","nodeType":"FunctionDefinition","parameters":{"id":62747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62744,"mutability":"mutable","name":"owner","nameLocation":"1398:5:110","nodeType":"VariableDeclaration","scope":62751,"src":"1390:13:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62743,"name":"address","nodeType":"ElementaryTypeName","src":"1390:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62746,"mutability":"mutable","name":"spender","nameLocation":"1413:7:110","nodeType":"VariableDeclaration","scope":62751,"src":"1405:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62745,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1389:32:110"},"returnParameters":{"id":62750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62751,"src":"1445:7:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62748,"name":"uint256","nodeType":"ElementaryTypeName","src":"1445:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1444:9:110"},"scope":62888,"src":"1371:83:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"095ea7b3","id":62760,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1467:7:110","nodeType":"FunctionDefinition","parameters":{"id":62756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62753,"mutability":"mutable","name":"spender","nameLocation":"1483:7:110","nodeType":"VariableDeclaration","scope":62760,"src":"1475:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62752,"name":"address","nodeType":"ElementaryTypeName","src":"1475:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62755,"mutability":"mutable","name":"value","nameLocation":"1500:5:110","nodeType":"VariableDeclaration","scope":62760,"src":"1492:13:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62754,"name":"uint256","nodeType":"ElementaryTypeName","src":"1492:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1474:32:110"},"returnParameters":{"id":62759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62758,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62760,"src":"1525:4:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62757,"name":"bool","nodeType":"ElementaryTypeName","src":"1525:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1524:6:110"},"scope":62888,"src":"1458:73:110","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"70a08231","id":62767,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1544:9:110","nodeType":"FunctionDefinition","parameters":{"id":62763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62762,"mutability":"mutable","name":"account","nameLocation":"1562:7:110","nodeType":"VariableDeclaration","scope":62767,"src":"1554:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62761,"name":"address","nodeType":"ElementaryTypeName","src":"1554:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1553:17:110"},"returnParameters":{"id":62766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62765,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62767,"src":"1594:7:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62764,"name":"uint256","nodeType":"ElementaryTypeName","src":"1594:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1593:9:110"},"scope":62888,"src":"1535:68:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"355274ea","id":62772,"implemented":false,"kind":"function","modifiers":[],"name":"cap","nameLocation":"1616:3:110","nodeType":"FunctionDefinition","parameters":{"id":62768,"nodeType":"ParameterList","parameters":[],"src":"1619:2:110"},"returnParameters":{"id":62771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62772,"src":"1645:7:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62769,"name":"uint256","nodeType":"ElementaryTypeName","src":"1645:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1644:9:110"},"scope":62888,"src":"1607:47:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"313ce567","id":62777,"implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"1667:8:110","nodeType":"FunctionDefinition","parameters":{"id":62773,"nodeType":"ParameterList","parameters":[],"src":"1675:2:110"},"returnParameters":{"id":62776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62775,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62777,"src":"1701:5:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":62774,"name":"uint8","nodeType":"ElementaryTypeName","src":"1701:5:110","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1700:7:110"},"scope":62888,"src":"1658:50:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"248a9ca3","id":62784,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"1721:12:110","nodeType":"FunctionDefinition","parameters":{"id":62780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62779,"mutability":"mutable","name":"role","nameLocation":"1742:4:110","nodeType":"VariableDeclaration","scope":62784,"src":"1734:12:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62778,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1734:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1733:14:110"},"returnParameters":{"id":62783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62782,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62784,"src":"1771:7:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1771:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1770:9:110"},"scope":62888,"src":"1712:68:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"2f2ff15d","id":62791,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"1793:9:110","nodeType":"FunctionDefinition","parameters":{"id":62789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62786,"mutability":"mutable","name":"role","nameLocation":"1811:4:110","nodeType":"VariableDeclaration","scope":62791,"src":"1803:12:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1803:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62788,"mutability":"mutable","name":"account","nameLocation":"1825:7:110","nodeType":"VariableDeclaration","scope":62791,"src":"1817:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62787,"name":"address","nodeType":"ElementaryTypeName","src":"1817:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1802:31:110"},"returnParameters":{"id":62790,"nodeType":"ParameterList","parameters":[],"src":"1842:0:110"},"scope":62888,"src":"1784:59:110","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"91d14854","id":62800,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"1856:7:110","nodeType":"FunctionDefinition","parameters":{"id":62796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62793,"mutability":"mutable","name":"role","nameLocation":"1872:4:110","nodeType":"VariableDeclaration","scope":62800,"src":"1864:12:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1864:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62795,"mutability":"mutable","name":"account","nameLocation":"1886:7:110","nodeType":"VariableDeclaration","scope":62800,"src":"1878:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62794,"name":"address","nodeType":"ElementaryTypeName","src":"1878:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1863:31:110"},"returnParameters":{"id":62799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62800,"src":"1918:4:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62797,"name":"bool","nodeType":"ElementaryTypeName","src":"1918:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1917:6:110"},"scope":62888,"src":"1847:77:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"40c10f19","id":62807,"implemented":false,"kind":"function","modifiers":[],"name":"mint","nameLocation":"1937:4:110","nodeType":"FunctionDefinition","parameters":{"id":62805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62802,"mutability":"mutable","name":"to","nameLocation":"1950:2:110","nodeType":"VariableDeclaration","scope":62807,"src":"1942:10:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62801,"name":"address","nodeType":"ElementaryTypeName","src":"1942:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62804,"mutability":"mutable","name":"amount","nameLocation":"1962:6:110","nodeType":"VariableDeclaration","scope":62807,"src":"1954:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62803,"name":"uint256","nodeType":"ElementaryTypeName","src":"1954:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1941:28:110"},"returnParameters":{"id":62806,"nodeType":"ParameterList","parameters":[],"src":"1978:0:110"},"scope":62888,"src":"1928:51:110","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"06fdde03","id":62812,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1992:4:110","nodeType":"FunctionDefinition","parameters":{"id":62808,"nodeType":"ParameterList","parameters":[],"src":"1996:2:110"},"returnParameters":{"id":62811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62812,"src":"2022:13:110","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":62809,"name":"string","nodeType":"ElementaryTypeName","src":"2022:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2021:15:110"},"scope":62888,"src":"1983:54:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"8456cb59","id":62815,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"2050:5:110","nodeType":"FunctionDefinition","parameters":{"id":62813,"nodeType":"ParameterList","parameters":[],"src":"2055:2:110"},"returnParameters":{"id":62814,"nodeType":"ParameterList","parameters":[],"src":"2066:0:110"},"scope":62888,"src":"2041:26:110","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"5c975abb","id":62820,"implemented":false,"kind":"function","modifiers":[],"name":"paused","nameLocation":"2080:6:110","nodeType":"FunctionDefinition","parameters":{"id":62816,"nodeType":"ParameterList","parameters":[],"src":"2086:2:110"},"returnParameters":{"id":62819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62820,"src":"2112:4:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62817,"name":"bool","nodeType":"ElementaryTypeName","src":"2112:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2111:6:110"},"scope":62888,"src":"2071:47:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"36568abe","id":62827,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"2131:12:110","nodeType":"FunctionDefinition","parameters":{"id":62825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62822,"mutability":"mutable","name":"role","nameLocation":"2152:4:110","nodeType":"VariableDeclaration","scope":62827,"src":"2144:12:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2144:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62824,"mutability":"mutable","name":"callerConfirmation","nameLocation":"2166:18:110","nodeType":"VariableDeclaration","scope":62827,"src":"2158:26:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62823,"name":"address","nodeType":"ElementaryTypeName","src":"2158:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2143:42:110"},"returnParameters":{"id":62826,"nodeType":"ParameterList","parameters":[],"src":"2194:0:110"},"scope":62888,"src":"2122:73:110","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"d547741f","id":62834,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"2208:10:110","nodeType":"FunctionDefinition","parameters":{"id":62832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62829,"mutability":"mutable","name":"role","nameLocation":"2227:4:110","nodeType":"VariableDeclaration","scope":62834,"src":"2219:12:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2219:7:110","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62831,"mutability":"mutable","name":"account","nameLocation":"2241:7:110","nodeType":"VariableDeclaration","scope":62834,"src":"2233:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62830,"name":"address","nodeType":"ElementaryTypeName","src":"2233:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2218:31:110"},"returnParameters":{"id":62833,"nodeType":"ParameterList","parameters":[],"src":"2258:0:110"},"scope":62888,"src":"2199:60:110","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"01ffc9a7","id":62841,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"2272:17:110","nodeType":"FunctionDefinition","parameters":{"id":62837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62836,"mutability":"mutable","name":"interfaceId","nameLocation":"2297:11:110","nodeType":"VariableDeclaration","scope":62841,"src":"2290:18:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":62835,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2290:6:110","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2289:20:110"},"returnParameters":{"id":62840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62841,"src":"2333:4:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62838,"name":"bool","nodeType":"ElementaryTypeName","src":"2333:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2332:6:110"},"scope":62888,"src":"2263:76:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"95d89b41","id":62846,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2352:6:110","nodeType":"FunctionDefinition","parameters":{"id":62842,"nodeType":"ParameterList","parameters":[],"src":"2358:2:110"},"returnParameters":{"id":62845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62846,"src":"2384:13:110","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":62843,"name":"string","nodeType":"ElementaryTypeName","src":"2384:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2383:15:110"},"scope":62888,"src":"2343:56:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"d6abe110","id":62859,"implemented":false,"kind":"function","modifiers":[],"name":"tokenDetails","nameLocation":"2412:12:110","nodeType":"FunctionDefinition","parameters":{"id":62847,"nodeType":"ParameterList","parameters":[],"src":"2424:2:110"},"returnParameters":{"id":62858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62859,"src":"2450:13:110","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":62848,"name":"string","nodeType":"ElementaryTypeName","src":"2450:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":62851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62859,"src":"2465:13:110","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":62850,"name":"string","nodeType":"ElementaryTypeName","src":"2465:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":62853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62859,"src":"2480:5:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":62852,"name":"uint8","nodeType":"ElementaryTypeName","src":"2480:5:110","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":62855,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62859,"src":"2487:7:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62854,"name":"uint256","nodeType":"ElementaryTypeName","src":"2487:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62859,"src":"2496:7:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62856,"name":"uint256","nodeType":"ElementaryTypeName","src":"2496:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2449:55:110"},"scope":62888,"src":"2403:102:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"18160ddd","id":62864,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"2518:11:110","nodeType":"FunctionDefinition","parameters":{"id":62860,"nodeType":"ParameterList","parameters":[],"src":"2529:2:110"},"returnParameters":{"id":62863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62862,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62864,"src":"2555:7:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62861,"name":"uint256","nodeType":"ElementaryTypeName","src":"2555:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2554:9:110"},"scope":62888,"src":"2509:55:110","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a9059cbb","id":62873,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"2577:8:110","nodeType":"FunctionDefinition","parameters":{"id":62869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62866,"mutability":"mutable","name":"to","nameLocation":"2594:2:110","nodeType":"VariableDeclaration","scope":62873,"src":"2586:10:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62865,"name":"address","nodeType":"ElementaryTypeName","src":"2586:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62868,"mutability":"mutable","name":"value","nameLocation":"2606:5:110","nodeType":"VariableDeclaration","scope":62873,"src":"2598:13:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62867,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2585:27:110"},"returnParameters":{"id":62872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62873,"src":"2631:4:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62870,"name":"bool","nodeType":"ElementaryTypeName","src":"2631:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2630:6:110"},"scope":62888,"src":"2568:69:110","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"23b872dd","id":62884,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2650:12:110","nodeType":"FunctionDefinition","parameters":{"id":62880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62875,"mutability":"mutable","name":"from","nameLocation":"2671:4:110","nodeType":"VariableDeclaration","scope":62884,"src":"2663:12:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62874,"name":"address","nodeType":"ElementaryTypeName","src":"2663:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62877,"mutability":"mutable","name":"to","nameLocation":"2685:2:110","nodeType":"VariableDeclaration","scope":62884,"src":"2677:10:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62876,"name":"address","nodeType":"ElementaryTypeName","src":"2677:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62879,"mutability":"mutable","name":"value","nameLocation":"2697:5:110","nodeType":"VariableDeclaration","scope":62884,"src":"2689:13:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62878,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2662:41:110"},"returnParameters":{"id":62883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62882,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62884,"src":"2722:4:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62881,"name":"bool","nodeType":"ElementaryTypeName","src":"2722:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2721:6:110"},"scope":62888,"src":"2641:87:110","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"3f4ba83a","id":62887,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"2741:7:110","nodeType":"FunctionDefinition","parameters":{"id":62885,"nodeType":"ParameterList","parameters":[],"src":"2748:2:110"},"returnParameters":{"id":62886,"nodeType":"ParameterList","parameters":[],"src":"2759:0:110"},"scope":62888,"src":"2732:28:110","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":62889,"src":"58:2704:110","usedErrors":[62632,62638,62644,62652,62660,62664,62668,62672,62676,62680,62682,62684],"usedEvents":[62692,62696,62704,62712,62720,62728,62732]}],"src":"33:2730:110"},"id":110},"contracts/interfaces/IB3TRGovernor.sol":{"ast":{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","exportedSymbols":{"GovernorTypes":[61442],"IB3TR":[62888],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC6372":[4552],"IGalaxyMember":[65196],"IGrantsManager":[65639],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IXAllocationVotingGovernor":[71124]},"id":63920,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":62890,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"120:23:111"},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","file":"@openzeppelin/contracts/interfaces/IERC165.sol","id":62892,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":4503,"src":"145:73:111","symbolAliases":[{"foreign":{"id":62891,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"154:7:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC6372.sol","file":"@openzeppelin/contracts/interfaces/IERC6372.sol","id":62894,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":4553,"src":"219:75:111","symbolAliases":[{"foreign":{"id":62893,"name":"IERC6372","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4552,"src":"228:8:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TR.sol","file":"./IB3TR.sol","id":62896,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":62889,"src":"295:36:111","symbolAliases":[{"foreign":{"id":62895,"name":"IB3TR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62888,"src":"304:5:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../interfaces/IVoterRewards.sol","id":62898,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":69093,"src":"332:64:111","symbolAliases":[{"foreign":{"id":62897,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"341:13:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../interfaces/IXAllocationVotingGovernor.sol","id":62900,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":71125,"src":"397:90:111","symbolAliases":[{"foreign":{"id":62899,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"406:26:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/governance/libraries/GovernorTypes.sol","file":"../governance/libraries/GovernorTypes.sol","id":62902,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":61443,"src":"488:74:111","symbolAliases":[{"foreign":{"id":62901,"name":"GovernorTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61442,"src":"497:13:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"./IVeBetterPassport.sol","id":62904,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":68602,"src":"563:60:111","symbolAliases":[{"foreign":{"id":62903,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"572:17:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"./IGalaxyMember.sol","id":62906,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":65197,"src":"624:52:111","symbolAliases":[{"foreign":{"id":62905,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"633:13:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGrantsManager.sol","file":"./IGrantsManager.sol","id":62908,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":65640,"src":"677:54:111","symbolAliases":[{"foreign":{"id":62907,"name":"IGrantsManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"686:14:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"./IRelayerRewardsPool.sol","id":62910,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":63920,"sourceUnit":67118,"src":"732:64:111","symbolAliases":[{"foreign":{"id":62909,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"741:19:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":62912,"name":"IERC165","nameLocations":["1528:7:111"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"1528:7:111"},"id":62913,"nodeType":"InheritanceSpecifier","src":"1528:7:111"},{"baseName":{"id":62914,"name":"IERC6372","nameLocations":["1537:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":4552,"src":"1537:8:111"},"id":62915,"nodeType":"InheritanceSpecifier","src":"1537:8:111"}],"canonicalName":"IB3TRGovernor","contractDependencies":[],"contractKind":"interface","documentation":{"id":62911,"nodeType":"StructuredDocumentation","src":"798:702:111","text":" @dev Interface of the {B3TRGovernor} core.\n Modifications to original forked contract from OZ:\n - Removed votingDelay()\n - Removed the possibility to cast vote with params and with signature\n - Updated propose() and ProposalCreated event to accept the x allocation round id as param when proposal should become active\n - Added proposalStartRound() to get the round when the proposal should become active\n - Added canProposalStartInNextRound() to check if the proposal can start in the next allocation round\n - Added new state `DepositNotMet` to ProposalState enum\n - Added depositThreshold() to get the minimum required deposit for a proposal and removed proposalThreshold"},"fullyImplemented":false,"id":63919,"linearizedBaseContracts":[63919,4552,5961],"name":"IB3TRGovernor","nameLocation":"1511:13:111","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":62916,"nodeType":"StructuredDocumentation","src":"1550:99:111","text":" @dev Empty proposal or a mismatch between the parameters length for a proposal call."},"errorSelector":"447b05d0","id":62924,"name":"GovernorInvalidProposalLength","nameLocation":"1658:29:111","nodeType":"ErrorDefinition","parameters":{"id":62923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62918,"mutability":"mutable","name":"targets","nameLocation":"1696:7:111","nodeType":"VariableDeclaration","scope":62924,"src":"1688:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62917,"name":"uint256","nodeType":"ElementaryTypeName","src":"1688:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62920,"mutability":"mutable","name":"calldatas","nameLocation":"1713:9:111","nodeType":"VariableDeclaration","scope":62924,"src":"1705:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62919,"name":"uint256","nodeType":"ElementaryTypeName","src":"1705:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62922,"mutability":"mutable","name":"values","nameLocation":"1732:6:111","nodeType":"VariableDeclaration","scope":62924,"src":"1724:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62921,"name":"uint256","nodeType":"ElementaryTypeName","src":"1724:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1687:52:111"},"src":"1652:88:111"},{"documentation":{"id":62925,"nodeType":"StructuredDocumentation","src":"1744:46:111","text":" @dev The vote was already cast."},"errorSelector":"71c6af49","id":62929,"name":"GovernorAlreadyCastVote","nameLocation":"1799:23:111","nodeType":"ErrorDefinition","parameters":{"id":62928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62927,"mutability":"mutable","name":"voter","nameLocation":"1831:5:111","nodeType":"VariableDeclaration","scope":62929,"src":"1823:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62926,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1822:15:111"},"src":"1793:45:111"},{"documentation":{"id":62930,"nodeType":"StructuredDocumentation","src":"1842:65:111","text":" @dev Token deposits are disabled in this contract."},"errorSelector":"e90a651e","id":62932,"name":"GovernorDisabledDeposit","nameLocation":"1916:23:111","nodeType":"ErrorDefinition","parameters":{"id":62931,"nodeType":"ParameterList","parameters":[],"src":"1939:2:111"},"src":"1910:32:111"},{"documentation":{"id":62933,"nodeType":"StructuredDocumentation","src":"1946:89:111","text":" @dev Thrown when the proposer does not fit the requirement (GM weight ATM)"},"errorSelector":"ef00c8fe","id":62937,"name":"GMLevelAboveMaxLevel","nameLocation":"2044:20:111","nodeType":"ErrorDefinition","parameters":{"id":62936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62935,"mutability":"mutable","name":"gmLevel","nameLocation":"2073:7:111","nodeType":"VariableDeclaration","scope":62937,"src":"2065:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62934,"name":"uint256","nodeType":"ElementaryTypeName","src":"2065:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2064:17:111"},"src":"2038:44:111"},{"documentation":{"id":62938,"nodeType":"StructuredDocumentation","src":"2086:76:111","text":" @dev The GM level is not in the valid range - 0 to max level."},"errorSelector":"25b073c8","id":62944,"name":"GovernorInvalidProposer","nameLocation":"2171:23:111","nodeType":"ErrorDefinition","parameters":{"id":62943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62940,"mutability":"mutable","name":"proposer","nameLocation":"2203:8:111","nodeType":"VariableDeclaration","scope":62944,"src":"2195:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62939,"name":"address","nodeType":"ElementaryTypeName","src":"2195:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62942,"mutability":"mutable","name":"requiredWeight","nameLocation":"2221:14:111","nodeType":"VariableDeclaration","scope":62944,"src":"2213:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62941,"name":"uint256","nodeType":"ElementaryTypeName","src":"2213:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2194:42:111"},"src":"2165:72:111"},{"documentation":{"id":62945,"nodeType":"StructuredDocumentation","src":"2241:52:111","text":" @dev The `account` is not a proposer."},"errorSelector":"233d98e3","id":62949,"name":"GovernorOnlyProposer","nameLocation":"2302:20:111","nodeType":"ErrorDefinition","parameters":{"id":62948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62947,"mutability":"mutable","name":"account","nameLocation":"2331:7:111","nodeType":"VariableDeclaration","scope":62949,"src":"2323:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62946,"name":"address","nodeType":"ElementaryTypeName","src":"2323:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2322:17:111"},"src":"2296:44:111"},{"documentation":{"id":62950,"nodeType":"StructuredDocumentation","src":"2344:65:111","text":" @dev The `account` is not the governance executor."},"errorSelector":"47096e47","id":62954,"name":"GovernorOnlyExecutor","nameLocation":"2418:20:111","nodeType":"ErrorDefinition","parameters":{"id":62953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62952,"mutability":"mutable","name":"account","nameLocation":"2447:7:111","nodeType":"VariableDeclaration","scope":62954,"src":"2439:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62951,"name":"address","nodeType":"ElementaryTypeName","src":"2439:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2438:17:111"},"src":"2412:44:111"},{"documentation":{"id":62955,"nodeType":"StructuredDocumentation","src":"2460:51:111","text":" @dev The `proposalId` doesn't exist."},"errorSelector":"6ad06075","id":62959,"name":"GovernorNonexistentProposal","nameLocation":"2520:27:111","nodeType":"ErrorDefinition","parameters":{"id":62958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62957,"mutability":"mutable","name":"proposalId","nameLocation":"2556:10:111","nodeType":"VariableDeclaration","scope":62959,"src":"2548:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62956,"name":"uint256","nodeType":"ElementaryTypeName","src":"2548:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2547:20:111"},"src":"2514:54:111"},{"documentation":{"id":62960,"nodeType":"StructuredDocumentation","src":"2572:53:111","text":" @dev The `votingThreshold` is not met."},"errorSelector":"742f62c3","id":62966,"name":"GovernorVotingThresholdNotMet","nameLocation":"2634:29:111","nodeType":"ErrorDefinition","parameters":{"id":62965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62962,"mutability":"mutable","name":"threshold","nameLocation":"2672:9:111","nodeType":"VariableDeclaration","scope":62966,"src":"2664:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62961,"name":"uint256","nodeType":"ElementaryTypeName","src":"2664:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62964,"mutability":"mutable","name":"votes","nameLocation":"2691:5:111","nodeType":"VariableDeclaration","scope":62966,"src":"2683:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62963,"name":"uint256","nodeType":"ElementaryTypeName","src":"2683:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2663:34:111"},"src":"2628:70:111"},{"documentation":{"id":62967,"nodeType":"StructuredDocumentation","src":"2702:80:111","text":" @dev The quorum numerator is greater than the quorum denominator."},"errorSelector":"243e5445","id":62973,"name":"GovernorInvalidQuorumFraction","nameLocation":"2791:29:111","nodeType":"ErrorDefinition","parameters":{"id":62972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62969,"mutability":"mutable","name":"quorumNumerator","nameLocation":"2829:15:111","nodeType":"VariableDeclaration","scope":62973,"src":"2821:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62968,"name":"uint256","nodeType":"ElementaryTypeName","src":"2821:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62971,"mutability":"mutable","name":"quorumDenominator","nameLocation":"2854:17:111","nodeType":"VariableDeclaration","scope":62973,"src":"2846:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62970,"name":"uint256","nodeType":"ElementaryTypeName","src":"2846:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2820:52:111"},"src":"2785:88:111"},{"documentation":{"id":62974,"nodeType":"StructuredDocumentation","src":"2877:162:111","text":" @dev Thrown when the personhood verification fails.\n @param voter The address of the voter.\n @param explanation The reason for the failure."},"errorSelector":"44c45349","id":62980,"name":"GovernorPersonhoodVerificationFailed","nameLocation":"3048:36:111","nodeType":"ErrorDefinition","parameters":{"id":62979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62976,"mutability":"mutable","name":"voter","nameLocation":"3093:5:111","nodeType":"VariableDeclaration","scope":62980,"src":"3085:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62975,"name":"address","nodeType":"ElementaryTypeName","src":"3085:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62978,"mutability":"mutable","name":"explanation","nameLocation":"3107:11:111","nodeType":"VariableDeclaration","scope":62980,"src":"3100:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":62977,"name":"string","nodeType":"ElementaryTypeName","src":"3100:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3084:35:111"},"src":"3042:78:111"},{"documentation":{"id":62981,"nodeType":"StructuredDocumentation","src":"3124:512:111","text":" @dev The current state of a proposal is not the required for performing an operation.\n The `expectedStates` is a bitmap with the bits enabled for each ProposalState enum position\n counting from right to left.\n NOTE: If `expectedState` is `bytes32(0)`, the proposal is expected to not be in any state (i.e. not exist).\n This is the case when a proposal that is expected to be unset is already initiated (the proposal is duplicated).\n See {Governor-_encodeStateBitmap}."},"errorSelector":"31b75e4d","id":62990,"name":"GovernorUnexpectedProposalState","nameLocation":"3645:31:111","nodeType":"ErrorDefinition","parameters":{"id":62989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62983,"mutability":"mutable","name":"proposalId","nameLocation":"3690:10:111","nodeType":"VariableDeclaration","scope":62990,"src":"3682:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62982,"name":"uint256","nodeType":"ElementaryTypeName","src":"3682:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62986,"mutability":"mutable","name":"current","nameLocation":"3734:7:111","nodeType":"VariableDeclaration","scope":62990,"src":"3706:35:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":62985,"nodeType":"UserDefinedTypeName","pathNode":{"id":62984,"name":"GovernorTypes.ProposalState","nameLocations":["3706:13:111","3720:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"3706:27:111"},"referencedDeclaration":61406,"src":"3706:27:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"},{"constant":false,"id":62988,"mutability":"mutable","name":"expectedStates","nameLocation":"3755:14:111","nodeType":"VariableDeclaration","scope":62990,"src":"3747:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3747:7:111","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3676:97:111"},"src":"3639:135:111"},{"documentation":{"id":62991,"nodeType":"StructuredDocumentation","src":"3778:64:111","text":" @dev The voting period set is not a valid period."},"errorSelector":"f1cfbf05","id":62995,"name":"GovernorInvalidVotingPeriod","nameLocation":"3851:27:111","nodeType":"ErrorDefinition","parameters":{"id":62994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62993,"mutability":"mutable","name":"votingPeriod","nameLocation":"3887:12:111","nodeType":"VariableDeclaration","scope":62995,"src":"3879:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62992,"name":"uint256","nodeType":"ElementaryTypeName","src":"3879:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3878:22:111"},"src":"3845:56:111"},{"documentation":{"id":62996,"nodeType":"StructuredDocumentation","src":"3905:89:111","text":" @dev The `proposer` does not have the required votes to create a proposal."},"errorSelector":"c242ee16","id":63004,"name":"GovernorInsufficientProposerVotes","nameLocation":"4003:33:111","nodeType":"ErrorDefinition","parameters":{"id":63003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62998,"mutability":"mutable","name":"proposer","nameLocation":"4045:8:111","nodeType":"VariableDeclaration","scope":63004,"src":"4037:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62997,"name":"address","nodeType":"ElementaryTypeName","src":"4037:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63000,"mutability":"mutable","name":"votes","nameLocation":"4063:5:111","nodeType":"VariableDeclaration","scope":63004,"src":"4055:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62999,"name":"uint256","nodeType":"ElementaryTypeName","src":"4055:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63002,"mutability":"mutable","name":"threshold","nameLocation":"4078:9:111","nodeType":"VariableDeclaration","scope":63004,"src":"4070:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63001,"name":"uint256","nodeType":"ElementaryTypeName","src":"4070:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4036:52:111"},"src":"3997:92:111"},{"documentation":{"id":63005,"nodeType":"StructuredDocumentation","src":"4093:71:111","text":" @dev The `proposer` is not allowed to create a proposal."},"errorSelector":"d9b39557","id":63009,"name":"GovernorRestrictedProposer","nameLocation":"4173:26:111","nodeType":"ErrorDefinition","parameters":{"id":63008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63007,"mutability":"mutable","name":"proposer","nameLocation":"4208:8:111","nodeType":"VariableDeclaration","scope":63009,"src":"4200:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63006,"name":"address","nodeType":"ElementaryTypeName","src":"4200:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4199:18:111"},"src":"4167:51:111"},{"documentation":{"id":63010,"nodeType":"StructuredDocumentation","src":"4222:90:111","text":" @dev The vote type used is not valid for the corresponding counting module."},"errorSelector":"06b337c2","id":63012,"name":"GovernorInvalidVoteType","nameLocation":"4321:23:111","nodeType":"ErrorDefinition","parameters":{"id":63011,"nodeType":"ParameterList","parameters":[],"src":"4344:2:111"},"src":"4315:32:111"},{"documentation":{"id":63013,"nodeType":"StructuredDocumentation","src":"4351:108:111","text":" @dev Queue operation is not implemented for this governor. Execute should be called directly."},"errorSelector":"90884a46","id":63015,"name":"GovernorQueueNotImplemented","nameLocation":"4468:27:111","nodeType":"ErrorDefinition","parameters":{"id":63014,"nodeType":"ParameterList","parameters":[],"src":"4495:2:111"},"src":"4462:36:111"},{"documentation":{"id":63016,"nodeType":"StructuredDocumentation","src":"4502:56:111","text":" @dev The proposal hasn't been queued yet."},"errorSelector":"d5ddb825","id":63020,"name":"GovernorNotQueuedProposal","nameLocation":"4567:25:111","nodeType":"ErrorDefinition","parameters":{"id":63019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63018,"mutability":"mutable","name":"proposalId","nameLocation":"4601:10:111","nodeType":"VariableDeclaration","scope":63020,"src":"4593:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63017,"name":"uint256","nodeType":"ElementaryTypeName","src":"4593:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4592:20:111"},"src":"4561:52:111"},{"documentation":{"id":63021,"nodeType":"StructuredDocumentation","src":"4617:57:111","text":" @dev The proposal has already been queued."},"errorSelector":"f20e7d37","id":63025,"name":"GovernorAlreadyQueuedProposal","nameLocation":"4683:29:111","nodeType":"ErrorDefinition","parameters":{"id":63024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63023,"mutability":"mutable","name":"proposalId","nameLocation":"4721:10:111","nodeType":"VariableDeclaration","scope":63025,"src":"4713:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63022,"name":"uint256","nodeType":"ElementaryTypeName","src":"4713:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4712:20:111"},"src":"4677:56:111"},{"documentation":{"id":63026,"nodeType":"StructuredDocumentation","src":"4737:70:111","text":" @dev The round when proposal should start is not valid."},"errorSelector":"7a5d07d3","id":63030,"name":"GovernorInvalidStartRound","nameLocation":"4816:25:111","nodeType":"ErrorDefinition","parameters":{"id":63029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63028,"mutability":"mutable","name":"roundId","nameLocation":"4850:7:111","nodeType":"VariableDeclaration","scope":63030,"src":"4842:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63027,"name":"uint256","nodeType":"ElementaryTypeName","src":"4842:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4841:17:111"},"src":"4810:49:111"},{"documentation":{"id":63031,"nodeType":"StructuredDocumentation","src":"4863:52:111","text":" @dev There is no deposit to withdraw."},"errorSelector":"15fb458d","id":63037,"name":"GovernorNoDepositToWithdraw","nameLocation":"4924:27:111","nodeType":"ErrorDefinition","parameters":{"id":63036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63033,"mutability":"mutable","name":"proposalId","nameLocation":"4960:10:111","nodeType":"VariableDeclaration","scope":63037,"src":"4952:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63032,"name":"uint256","nodeType":"ElementaryTypeName","src":"4952:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63035,"mutability":"mutable","name":"depositer","nameLocation":"4980:9:111","nodeType":"VariableDeclaration","scope":63037,"src":"4972:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63034,"name":"address","nodeType":"ElementaryTypeName","src":"4972:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4951:39:111"},"src":"4918:73:111"},{"documentation":{"id":63038,"nodeType":"StructuredDocumentation","src":"4995:62:111","text":" @dev The deposit amount must be greater than 0."},"errorSelector":"c22b340f","id":63040,"name":"GovernorInvalidDepositAmount","nameLocation":"5066:28:111","nodeType":"ErrorDefinition","parameters":{"id":63039,"nodeType":"ParameterList","parameters":[],"src":"5094:2:111"},"src":"5060:37:111"},{"documentation":{"id":63041,"nodeType":"StructuredDocumentation","src":"5101:96:111","text":" @dev The deposit threshold is not in the valid range for a percentage - 0 to 100."},"errorSelector":"3e09bbca","id":63045,"name":"GovernorDepositThresholdNotInRange","nameLocation":"5206:34:111","nodeType":"ErrorDefinition","parameters":{"id":63044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63043,"mutability":"mutable","name":"depositThreshold","nameLocation":"5249:16:111","nodeType":"VariableDeclaration","scope":63045,"src":"5241:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63042,"name":"uint256","nodeType":"ElementaryTypeName","src":"5241:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5240:26:111"},"src":"5200:67:111"},{"documentation":{"id":63046,"nodeType":"StructuredDocumentation","src":"5271:65:111","text":" @dev User is not authorized to perform the action."},"errorSelector":"dccef964","id":63050,"name":"UnauthorizedAccess","nameLocation":"5345:18:111","nodeType":"ErrorDefinition","parameters":{"id":63049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63048,"mutability":"mutable","name":"user","nameLocation":"5372:4:111","nodeType":"VariableDeclaration","scope":63050,"src":"5364:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63047,"name":"address","nodeType":"ElementaryTypeName","src":"5364:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5363:14:111"},"src":"5339:39:111"},{"documentation":{"id":63051,"nodeType":"StructuredDocumentation","src":"5382:67:111","text":" @dev The grantee cannot deposit for their own grant."},"errorSelector":"784751ae","id":63055,"name":"GranteeCannotDepositOwnGrant","nameLocation":"5458:28:111","nodeType":"ErrorDefinition","parameters":{"id":63054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63053,"mutability":"mutable","name":"proposalId","nameLocation":"5495:10:111","nodeType":"VariableDeclaration","scope":63055,"src":"5487:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63052,"name":"uint256","nodeType":"ElementaryTypeName","src":"5487:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5486:20:111"},"src":"5452:55:111"},{"documentation":{"id":63056,"nodeType":"StructuredDocumentation","src":"5511:280:111","text":" @dev Thrown when a proposal is not allowed to perform a specific action.\n Some actions are restricted to Standard proposals only, others to Grant proposals only.\n eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded."},"errorSelector":"44b7587b","id":63063,"name":"GovernorRestrictedProposal","nameLocation":"5800:26:111","nodeType":"ErrorDefinition","parameters":{"id":63062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63058,"mutability":"mutable","name":"proposalId","nameLocation":"5835:10:111","nodeType":"VariableDeclaration","scope":63063,"src":"5827:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63057,"name":"uint256","nodeType":"ElementaryTypeName","src":"5827:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63061,"mutability":"mutable","name":"proposalType","nameLocation":"5874:12:111","nodeType":"VariableDeclaration","scope":63063,"src":"5847:39:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63060,"nodeType":"UserDefinedTypeName","pathNode":{"id":63059,"name":"GovernorTypes.ProposalType","nameLocations":["5847:13:111","5861:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"5847:26:111"},"referencedDeclaration":61431,"src":"5847:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"5826:61:111"},"src":"5794:94:111"},{"documentation":{"id":63064,"nodeType":"StructuredDocumentation","src":"5892:60:111","text":"@dev The governance skip window has not been reached yet"},"errorSelector":"490a565e","id":63068,"name":"GovernanceSkipWindowNotReached","nameLocation":"5961:30:111","nodeType":"ErrorDefinition","parameters":{"id":63067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63066,"mutability":"mutable","name":"proposalId","nameLocation":"6000:10:111","nodeType":"VariableDeclaration","scope":63068,"src":"5992:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63065,"name":"uint256","nodeType":"ElementaryTypeName","src":"5992:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5991:20:111"},"src":"5955:57:111"},{"documentation":{"id":63069,"nodeType":"StructuredDocumentation","src":"6016:62:111","text":"@dev Thrown when citizen is not delegated to any navigator"},"errorSelector":"68e4d5d8","id":63073,"name":"NotDelegatedToNavigator","nameLocation":"6087:23:111","nodeType":"ErrorDefinition","parameters":{"id":63072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63071,"mutability":"mutable","name":"citizen","nameLocation":"6119:7:111","nodeType":"VariableDeclaration","scope":63073,"src":"6111:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63070,"name":"address","nodeType":"ElementaryTypeName","src":"6111:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6110:17:111"},"src":"6081:47:111"},{"documentation":{"id":63074,"nodeType":"StructuredDocumentation","src":"6132:81:111","text":"@dev Thrown when citizen is delegated to a navigator and cannot vote manually"},"errorSelector":"640ed183","id":63078,"name":"DelegatedToNavigator","nameLocation":"6222:20:111","nodeType":"ErrorDefinition","parameters":{"id":63077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63076,"mutability":"mutable","name":"citizen","nameLocation":"6251:7:111","nodeType":"VariableDeclaration","scope":63078,"src":"6243:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63075,"name":"address","nodeType":"ElementaryTypeName","src":"6243:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6242:17:111"},"src":"6216:44:111"},{"documentation":{"id":63079,"nodeType":"StructuredDocumentation","src":"6264:70:111","text":"@dev Thrown when navigator has not set a decision for the proposal"},"errorSelector":"ee3101ec","id":63085,"name":"NavigatorDecisionNotSet","nameLocation":"6343:23:111","nodeType":"ErrorDefinition","parameters":{"id":63084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63081,"mutability":"mutable","name":"navigator","nameLocation":"6375:9:111","nodeType":"VariableDeclaration","scope":63085,"src":"6367:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63080,"name":"address","nodeType":"ElementaryTypeName","src":"6367:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63083,"mutability":"mutable","name":"proposalId","nameLocation":"6394:10:111","nodeType":"VariableDeclaration","scope":63085,"src":"6386:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63082,"name":"uint256","nodeType":"ElementaryTypeName","src":"6386:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6366:39:111"},"src":"6337:69:111"},{"anonymous":false,"documentation":{"id":63086,"nodeType":"StructuredDocumentation","src":"6410:54:111","text":" @dev Emitted when a proposal is created"},"eventSelector":"9c2b0d68f5edfd1bf6158a1867aced894efcfcf77c7a7603cb571e18ce89ae76","id":63110,"name":"ProposalCreated","nameLocation":"6473:15:111","nodeType":"EventDefinition","parameters":{"id":63109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63088,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"6510:10:111","nodeType":"VariableDeclaration","scope":63110,"src":"6494:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63087,"name":"uint256","nodeType":"ElementaryTypeName","src":"6494:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63090,"indexed":true,"mutability":"mutable","name":"proposer","nameLocation":"6542:8:111","nodeType":"VariableDeclaration","scope":63110,"src":"6526:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63089,"name":"address","nodeType":"ElementaryTypeName","src":"6526:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63093,"indexed":false,"mutability":"mutable","name":"targets","nameLocation":"6566:7:111","nodeType":"VariableDeclaration","scope":63110,"src":"6556:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63091,"name":"address","nodeType":"ElementaryTypeName","src":"6556:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63092,"nodeType":"ArrayTypeName","src":"6556:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":63096,"indexed":false,"mutability":"mutable","name":"values","nameLocation":"6589:6:111","nodeType":"VariableDeclaration","scope":63110,"src":"6579:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":63094,"name":"uint256","nodeType":"ElementaryTypeName","src":"6579:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63095,"nodeType":"ArrayTypeName","src":"6579:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":63099,"indexed":false,"mutability":"mutable","name":"signatures","nameLocation":"6610:10:111","nodeType":"VariableDeclaration","scope":63110,"src":"6601:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":63097,"name":"string","nodeType":"ElementaryTypeName","src":"6601:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":63098,"nodeType":"ArrayTypeName","src":"6601:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":63102,"indexed":false,"mutability":"mutable","name":"calldatas","nameLocation":"6634:9:111","nodeType":"VariableDeclaration","scope":63110,"src":"6626:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":63100,"name":"bytes","nodeType":"ElementaryTypeName","src":"6626:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":63101,"nodeType":"ArrayTypeName","src":"6626:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":63104,"indexed":false,"mutability":"mutable","name":"description","nameLocation":"6656:11:111","nodeType":"VariableDeclaration","scope":63110,"src":"6649:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63103,"name":"string","nodeType":"ElementaryTypeName","src":"6649:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":63106,"indexed":true,"mutability":"mutable","name":"roundIdVoteStart","nameLocation":"6689:16:111","nodeType":"VariableDeclaration","scope":63110,"src":"6673:32:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63105,"name":"uint256","nodeType":"ElementaryTypeName","src":"6673:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63108,"indexed":false,"mutability":"mutable","name":"depositThreshold","nameLocation":"6719:16:111","nodeType":"VariableDeclaration","scope":63110,"src":"6711:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63107,"name":"uint256","nodeType":"ElementaryTypeName","src":"6711:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6488:251:111"},"src":"6467:273:111"},{"anonymous":false,"documentation":{"id":63111,"nodeType":"StructuredDocumentation","src":"6744:54:111","text":" @dev Emitted when a proposal is queued."},"eventSelector":"9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892","id":63117,"name":"ProposalQueued","nameLocation":"6807:14:111","nodeType":"EventDefinition","parameters":{"id":63116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63113,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6830:10:111","nodeType":"VariableDeclaration","scope":63117,"src":"6822:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63112,"name":"uint256","nodeType":"ElementaryTypeName","src":"6822:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63115,"indexed":false,"mutability":"mutable","name":"etaSeconds","nameLocation":"6850:10:111","nodeType":"VariableDeclaration","scope":63117,"src":"6842:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63114,"name":"uint256","nodeType":"ElementaryTypeName","src":"6842:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6821:40:111"},"src":"6801:61:111"},{"anonymous":false,"documentation":{"id":63118,"nodeType":"StructuredDocumentation","src":"6866:56:111","text":" @dev Emitted when a proposal is executed."},"eventSelector":"712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f","id":63122,"name":"ProposalExecuted","nameLocation":"6931:16:111","nodeType":"EventDefinition","parameters":{"id":63121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63120,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6956:10:111","nodeType":"VariableDeclaration","scope":63122,"src":"6948:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63119,"name":"uint256","nodeType":"ElementaryTypeName","src":"6948:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6947:20:111"},"src":"6925:43:111"},{"anonymous":false,"documentation":{"id":63123,"nodeType":"StructuredDocumentation","src":"6972:56:111","text":" @dev Emitted when a proposal is canceled."},"eventSelector":"789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c","id":63127,"name":"ProposalCanceled","nameLocation":"7037:16:111","nodeType":"EventDefinition","parameters":{"id":63126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63125,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7062:10:111","nodeType":"VariableDeclaration","scope":63127,"src":"7054:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63124,"name":"uint256","nodeType":"ElementaryTypeName","src":"7054:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7053:20:111"},"src":"7031:43:111"},{"anonymous":false,"documentation":{"id":63128,"nodeType":"StructuredDocumentation","src":"7078:70:111","text":" @dev Emitted when a proposal is canceled with a reason."},"eventSelector":"93bcf40b1de68d22878e9394837dd4b08dae46ee73bc722cccffecdadbe44145","id":63136,"name":"ProposalCanceledWithReason","nameLocation":"7157:26:111","nodeType":"EventDefinition","parameters":{"id":63135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63130,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"7200:10:111","nodeType":"VariableDeclaration","scope":63136,"src":"7184:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63129,"name":"uint256","nodeType":"ElementaryTypeName","src":"7184:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63132,"indexed":true,"mutability":"mutable","name":"canceler","nameLocation":"7228:8:111","nodeType":"VariableDeclaration","scope":63136,"src":"7212:24:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63131,"name":"address","nodeType":"ElementaryTypeName","src":"7212:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63134,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"7245:6:111","nodeType":"VariableDeclaration","scope":63136,"src":"7238:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63133,"name":"string","nodeType":"ElementaryTypeName","src":"7238:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7183:69:111"},"src":"7151:102:111"},{"anonymous":false,"documentation":{"id":63137,"nodeType":"StructuredDocumentation","src":"7257:65:111","text":" @dev Emitted when the quorum numerator is updated."},"eventSelector":"0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997","id":63143,"name":"QuorumNumeratorUpdated","nameLocation":"7331:22:111","nodeType":"EventDefinition","parameters":{"id":63142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63139,"indexed":false,"mutability":"mutable","name":"oldNumerator","nameLocation":"7362:12:111","nodeType":"VariableDeclaration","scope":63143,"src":"7354:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63138,"name":"uint256","nodeType":"ElementaryTypeName","src":"7354:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63141,"indexed":false,"mutability":"mutable","name":"newNumerator","nameLocation":"7384:12:111","nodeType":"VariableDeclaration","scope":63143,"src":"7376:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63140,"name":"uint256","nodeType":"ElementaryTypeName","src":"7376:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7353:44:111"},"src":"7325:73:111"},{"anonymous":false,"documentation":{"id":63144,"nodeType":"StructuredDocumentation","src":"7402:97:111","text":" @dev Emitted when the timelock controller used for proposal execution is modified."},"eventSelector":"08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401","id":63150,"name":"TimelockChange","nameLocation":"7508:14:111","nodeType":"EventDefinition","parameters":{"id":63149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63146,"indexed":false,"mutability":"mutable","name":"oldTimelock","nameLocation":"7531:11:111","nodeType":"VariableDeclaration","scope":63150,"src":"7523:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63145,"name":"address","nodeType":"ElementaryTypeName","src":"7523:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63148,"indexed":false,"mutability":"mutable","name":"newTimelock","nameLocation":"7552:11:111","nodeType":"VariableDeclaration","scope":63150,"src":"7544:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63147,"name":"address","nodeType":"ElementaryTypeName","src":"7544:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7522:42:111"},"src":"7502:63:111"},{"anonymous":false,"documentation":{"id":63151,"nodeType":"StructuredDocumentation","src":"7569:89:111","text":" @dev Emitted when a function is whitelisted or restricted by the governor."},"eventSelector":"5da7b78f7dccc6b378e3f55a7e57f9363d3c15686c0d82f85e45130393c9c970","id":63159,"name":"FunctionWhitelisted","nameLocation":"7667:19:111","nodeType":"EventDefinition","parameters":{"id":63158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63153,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"7703:6:111","nodeType":"VariableDeclaration","scope":63159,"src":"7687:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63152,"name":"address","nodeType":"ElementaryTypeName","src":"7687:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63155,"indexed":true,"mutability":"mutable","name":"functionSelector","nameLocation":"7726:16:111","nodeType":"VariableDeclaration","scope":63159,"src":"7711:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":63154,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7711:6:111","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":63157,"indexed":false,"mutability":"mutable","name":"isWhitelisted","nameLocation":"7749:13:111","nodeType":"VariableDeclaration","scope":63159,"src":"7744:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63156,"name":"bool","nodeType":"ElementaryTypeName","src":"7744:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7686:77:111"},"src":"7661:103:111"},{"anonymous":false,"documentation":{"id":63160,"nodeType":"StructuredDocumentation","src":"7768:179:111","text":" @dev Emitted when a vote is cast without params.\n Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used."},"eventSelector":"aec5ebd9cfb5e0fa9ec893c112b6f15c366248db781323babe6909c0e0770397","id":63174,"name":"VoteCast","nameLocation":"7956:8:111","nodeType":"EventDefinition","parameters":{"id":63173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63162,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"7986:5:111","nodeType":"VariableDeclaration","scope":63174,"src":"7970:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63161,"name":"address","nodeType":"ElementaryTypeName","src":"7970:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63164,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"8013:10:111","nodeType":"VariableDeclaration","scope":63174,"src":"7997:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63163,"name":"uint256","nodeType":"ElementaryTypeName","src":"7997:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63166,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"8035:7:111","nodeType":"VariableDeclaration","scope":63174,"src":"8029:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":63165,"name":"uint8","nodeType":"ElementaryTypeName","src":"8029:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":63168,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"8056:6:111","nodeType":"VariableDeclaration","scope":63174,"src":"8048:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63167,"name":"uint256","nodeType":"ElementaryTypeName","src":"8048:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63170,"indexed":false,"mutability":"mutable","name":"power","nameLocation":"8076:5:111","nodeType":"VariableDeclaration","scope":63174,"src":"8068:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63169,"name":"uint256","nodeType":"ElementaryTypeName","src":"8068:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63172,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"8094:6:111","nodeType":"VariableDeclaration","scope":63174,"src":"8087:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63171,"name":"string","nodeType":"ElementaryTypeName","src":"8087:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7964:140:111"},"src":"7950:155:111"},{"anonymous":false,"documentation":{"id":63175,"nodeType":"StructuredDocumentation","src":"8109:154:111","text":" @notice Emits true if quadratic voting is disabled, false otherwise.\n @param disabled - The flag to enable or disable quadratic voting."},"eventSelector":"e782263e17b994d34e64f19af2397c26081a1f4c26c604acb8fb3db6bafc903e","id":63179,"name":"QuadraticVotingToggled","nameLocation":"8272:22:111","nodeType":"EventDefinition","parameters":{"id":63178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63177,"indexed":true,"mutability":"mutable","name":"disabled","nameLocation":"8308:8:111","nodeType":"VariableDeclaration","scope":63179,"src":"8295:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63176,"name":"bool","nodeType":"ElementaryTypeName","src":"8295:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8294:23:111"},"src":"8266:52:111"},{"anonymous":false,"documentation":{"id":63180,"nodeType":"StructuredDocumentation","src":"8322:65:111","text":" @dev Emitted when a deposit is made to a proposal."},"eventSelector":"65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c","id":63188,"name":"ProposalDeposit","nameLocation":"8396:15:111","nodeType":"EventDefinition","parameters":{"id":63187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63182,"indexed":true,"mutability":"mutable","name":"depositor","nameLocation":"8428:9:111","nodeType":"VariableDeclaration","scope":63188,"src":"8412:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63181,"name":"address","nodeType":"ElementaryTypeName","src":"8412:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63184,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"8455:10:111","nodeType":"VariableDeclaration","scope":63188,"src":"8439:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63183,"name":"uint256","nodeType":"ElementaryTypeName","src":"8439:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63186,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"8475:6:111","nodeType":"VariableDeclaration","scope":63188,"src":"8467:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63185,"name":"uint256","nodeType":"ElementaryTypeName","src":"8467:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8411:71:111"},"src":"8390:93:111"},{"anonymous":false,"documentation":{"id":63189,"nodeType":"StructuredDocumentation","src":"8487:70:111","text":" @dev Emitted when the VeBetterPassport contract is set."},"eventSelector":"1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160","id":63195,"name":"VeBetterPassportSet","nameLocation":"8566:19:111","nodeType":"EventDefinition","parameters":{"id":63194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63191,"indexed":true,"mutability":"mutable","name":"oldVeBetterPassport","nameLocation":"8602:19:111","nodeType":"VariableDeclaration","scope":63195,"src":"8586:35:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63190,"name":"address","nodeType":"ElementaryTypeName","src":"8586:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63193,"indexed":true,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"8639:19:111","nodeType":"VariableDeclaration","scope":63195,"src":"8623:35:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63192,"name":"address","nodeType":"ElementaryTypeName","src":"8623:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8585:74:111"},"src":"8560:100:111"},{"anonymous":false,"documentation":{"id":63196,"nodeType":"StructuredDocumentation","src":"8664:77:111","text":" @dev Emitted when a proposal is created with type information."},"eventSelector":"6d04097725b4d82fbe72e4fd0fd1798c60a7b1bbc328842680c83ac06b1b0ada","id":63203,"name":"ProposalCreatedWithType","nameLocation":"8750:23:111","nodeType":"EventDefinition","parameters":{"id":63202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63198,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"8790:10:111","nodeType":"VariableDeclaration","scope":63203,"src":"8774:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63197,"name":"uint256","nodeType":"ElementaryTypeName","src":"8774:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63201,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"8829:12:111","nodeType":"VariableDeclaration","scope":63203,"src":"8802:39:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63200,"nodeType":"UserDefinedTypeName","pathNode":{"id":63199,"name":"GovernorTypes.ProposalType","nameLocations":["8802:13:111","8816:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"8802:26:111"},"referencedDeclaration":61431,"src":"8802:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"8773:69:111"},"src":"8744:99:111"},{"anonymous":false,"documentation":{"id":63204,"nodeType":"StructuredDocumentation","src":"8847:94:111","text":" @dev Emitted when the quorum numerator for a specific proposal type is updated."},"eventSelector":"a887ac6363633c0ce6f205a5a5e196934dd309db93895e5751862be24465171d","id":63213,"name":"QuorumNumeratorUpdatedByType","nameLocation":"8950:28:111","nodeType":"EventDefinition","parameters":{"id":63212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63206,"indexed":false,"mutability":"mutable","name":"oldNumerator","nameLocation":"8992:12:111","nodeType":"VariableDeclaration","scope":63213,"src":"8984:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63205,"name":"uint256","nodeType":"ElementaryTypeName","src":"8984:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63208,"indexed":false,"mutability":"mutable","name":"newNumerator","nameLocation":"9018:12:111","nodeType":"VariableDeclaration","scope":63213,"src":"9010:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63207,"name":"uint256","nodeType":"ElementaryTypeName","src":"9010:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63211,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"9063:12:111","nodeType":"VariableDeclaration","scope":63213,"src":"9036:39:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63210,"nodeType":"UserDefinedTypeName","pathNode":{"id":63209,"name":"GovernorTypes.ProposalType","nameLocations":["9036:13:111","9050:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"9036:26:111"},"referencedDeclaration":61431,"src":"9036:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"8978:101:111"},"src":"8944:136:111"},{"anonymous":false,"documentation":{"id":63214,"nodeType":"StructuredDocumentation","src":"9083:82:111","text":" @dev Emitted when the `votingThreshold` for a proposal type is set."},"eventSelector":"1e44e875a8ec5300a305e63ca083de2b0e62e333df633bde0e680a9ff64e3c21","id":63223,"name":"VotingThresholdSetV2","nameLocation":"9174:20:111","nodeType":"EventDefinition","parameters":{"id":63222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63217,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"9227:12:111","nodeType":"VariableDeclaration","scope":63223,"src":"9200:39:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63216,"nodeType":"UserDefinedTypeName","pathNode":{"id":63215,"name":"GovernorTypes.ProposalType","nameLocations":["9200:13:111","9214:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"9200:26:111"},"referencedDeclaration":61431,"src":"9200:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":63219,"indexed":false,"mutability":"mutable","name":"oldVotingThreshold","nameLocation":"9253:18:111","nodeType":"VariableDeclaration","scope":63223,"src":"9245:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63218,"name":"uint256","nodeType":"ElementaryTypeName","src":"9245:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63221,"indexed":false,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"9285:18:111","nodeType":"VariableDeclaration","scope":63223,"src":"9277:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63220,"name":"uint256","nodeType":"ElementaryTypeName","src":"9277:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9194:113:111"},"src":"9168:140:111"},{"anonymous":false,"documentation":{"id":63224,"nodeType":"StructuredDocumentation","src":"9312:93:111","text":" @dev Emitted when the deposit threshold percentage for a proposal type is set."},"eventSelector":"d7f4fd38ed535300fc72a5de4a35264cf0638081fc06ba63a6c1025b9993b0f3","id":63233,"name":"DepositThresholdSetV2","nameLocation":"9414:21:111","nodeType":"EventDefinition","parameters":{"id":63232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63227,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"9468:12:111","nodeType":"VariableDeclaration","scope":63233,"src":"9441:39:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63226,"nodeType":"UserDefinedTypeName","pathNode":{"id":63225,"name":"GovernorTypes.ProposalType","nameLocations":["9441:13:111","9455:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"9441:26:111"},"referencedDeclaration":61431,"src":"9441:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":63229,"indexed":false,"mutability":"mutable","name":"oldDepositThreshold","nameLocation":"9494:19:111","nodeType":"VariableDeclaration","scope":63233,"src":"9486:27:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63228,"name":"uint256","nodeType":"ElementaryTypeName","src":"9486:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63231,"indexed":false,"mutability":"mutable","name":"newDepositThreshold","nameLocation":"9527:19:111","nodeType":"VariableDeclaration","scope":63233,"src":"9519:27:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63230,"name":"uint256","nodeType":"ElementaryTypeName","src":"9519:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9435:115:111"},"src":"9408:143:111"},{"anonymous":false,"documentation":{"id":63234,"nodeType":"StructuredDocumentation","src":"9554:86:111","text":" @dev Emitted when the deposit threshold cap for a proposal type is set."},"eventSelector":"bab71752ceaca29a72caf93b1099d9bfcf0e836a02c01a567d4e7365ae2242c2","id":63243,"name":"DepositThresholdCapSet","nameLocation":"9649:22:111","nodeType":"EventDefinition","parameters":{"id":63242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63237,"indexed":false,"mutability":"mutable","name":"proposalType","nameLocation":"9704:12:111","nodeType":"VariableDeclaration","scope":63243,"src":"9677:39:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63236,"nodeType":"UserDefinedTypeName","pathNode":{"id":63235,"name":"GovernorTypes.ProposalType","nameLocations":["9677:13:111","9691:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"9677:26:111"},"referencedDeclaration":61431,"src":"9677:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":63239,"indexed":false,"mutability":"mutable","name":"oldDepositThresholdCap","nameLocation":"9730:22:111","nodeType":"VariableDeclaration","scope":63243,"src":"9722:30:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63238,"name":"uint256","nodeType":"ElementaryTypeName","src":"9722:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63241,"indexed":false,"mutability":"mutable","name":"newDepositThresholdCap","nameLocation":"9766:22:111","nodeType":"VariableDeclaration","scope":63243,"src":"9758:30:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63240,"name":"uint256","nodeType":"ElementaryTypeName","src":"9758:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9671:121:111"},"src":"9643:150:111"},{"anonymous":false,"documentation":{"id":63244,"nodeType":"StructuredDocumentation","src":"9797:49:111","text":"@dev Emitted when the voting power is seeded."},"eventSelector":"77fca3a31b988e2a61e5a040c7f968cfa40a144808ce31fda0ed7a0a5fb5cc04","id":63250,"name":"VotingPowerSeeded","nameLocation":"9855:17:111","nodeType":"EventDefinition","parameters":{"id":63249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63246,"indexed":true,"mutability":"mutable","name":"walletAddress","nameLocation":"9889:13:111","nodeType":"VariableDeclaration","scope":63250,"src":"9873:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63245,"name":"address","nodeType":"ElementaryTypeName","src":"9873:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63248,"indexed":true,"mutability":"mutable","name":"deposit","nameLocation":"9920:7:111","nodeType":"VariableDeclaration","scope":63250,"src":"9904:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63247,"name":"uint256","nodeType":"ElementaryTypeName","src":"9904:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9872:56:111"},"src":"9849:80:111"},{"anonymous":false,"documentation":{"id":63251,"nodeType":"StructuredDocumentation","src":"9933:61:111","text":"@dev Emitted when a deposit is withdrawn from a proposal."},"eventSelector":"fbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1","id":63259,"name":"ProposalWithdraw","nameLocation":"10003:16:111","nodeType":"EventDefinition","parameters":{"id":63258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63253,"indexed":true,"mutability":"mutable","name":"withdrawer","nameLocation":"10036:10:111","nodeType":"VariableDeclaration","scope":63259,"src":"10020:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63252,"name":"address","nodeType":"ElementaryTypeName","src":"10020:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63255,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"10064:10:111","nodeType":"VariableDeclaration","scope":63259,"src":"10048:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63254,"name":"uint256","nodeType":"ElementaryTypeName","src":"10048:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63257,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"10084:6:111","nodeType":"VariableDeclaration","scope":63259,"src":"10076:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63256,"name":"uint256","nodeType":"ElementaryTypeName","src":"10076:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10019:72:111"},"src":"9997:95:111"},{"anonymous":false,"documentation":{"id":63260,"nodeType":"StructuredDocumentation","src":"10096:72:111","text":" @dev Emitted when a proposal is marked as in development."},"eventSelector":"ae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0","id":63264,"name":"ProposalInDevelopment","nameLocation":"10177:21:111","nodeType":"EventDefinition","parameters":{"id":63263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63262,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"10207:10:111","nodeType":"VariableDeclaration","scope":63264,"src":"10199:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63261,"name":"uint256","nodeType":"ElementaryTypeName","src":"10199:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10198:20:111"},"src":"10171:48:111"},{"anonymous":false,"documentation":{"id":63265,"nodeType":"StructuredDocumentation","src":"10223:67:111","text":" @dev Emitted when a proposal is marked as completed."},"eventSelector":"71611adb0c8d2eea43359b2e41e5fdf96309ce734ed1eb78ceb763198c1b8967","id":63269,"name":"ProposalCompleted","nameLocation":"10299:17:111","nodeType":"EventDefinition","parameters":{"id":63268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63267,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"10325:10:111","nodeType":"VariableDeclaration","scope":63269,"src":"10317:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63266,"name":"uint256","nodeType":"ElementaryTypeName","src":"10317:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10316:20:111"},"src":"10293:44:111"},{"anonymous":false,"documentation":{"id":63270,"nodeType":"StructuredDocumentation","src":"10341:106:111","text":" @dev Emitted when the development state of a proposal is reset back to pending development."},"eventSelector":"89e9abefcace5d0e37429f32023df3d73c9a310923f6383fa778ec40c629df0e","id":63274,"name":"ProposalDevelopmentStateReset","nameLocation":"10456:29:111","nodeType":"EventDefinition","parameters":{"id":63273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63272,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"10494:10:111","nodeType":"VariableDeclaration","scope":63274,"src":"10486:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63271,"name":"uint256","nodeType":"ElementaryTypeName","src":"10486:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10485:20:111"},"src":"10450:56:111"},{"anonymous":false,"documentation":{"id":63275,"nodeType":"StructuredDocumentation","src":"10510:99:111","text":"@notice Emitted when a navigator governance vote is skipped (navigator dead or no decision set)"},"eventSelector":"8b34402b007625b875ac624bea888f2cd3b6896eb9b8f2a2a278bbf3b5dd9b4d","id":63283,"name":"NavigatorGovernanceVoteSkipped","nameLocation":"10618:30:111","nodeType":"EventDefinition","parameters":{"id":63282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63277,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"10665:7:111","nodeType":"VariableDeclaration","scope":63283,"src":"10649:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63276,"name":"address","nodeType":"ElementaryTypeName","src":"10649:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63279,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"10690:9:111","nodeType":"VariableDeclaration","scope":63283,"src":"10674:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63278,"name":"address","nodeType":"ElementaryTypeName","src":"10674:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63281,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"10717:10:111","nodeType":"VariableDeclaration","scope":63283,"src":"10701:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63280,"name":"uint256","nodeType":"ElementaryTypeName","src":"10701:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10648:80:111"},"src":"10612:117:111"},{"documentation":{"id":63284,"nodeType":"StructuredDocumentation","src":"10733:122:111","text":" @notice module:core\n @dev Name of the governor instance (used in building the ERC712 domain separator)."},"functionSelector":"06fdde03","id":63289,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"10867:4:111","nodeType":"FunctionDefinition","parameters":{"id":63285,"nodeType":"ParameterList","parameters":[],"src":"10871:2:111"},"returnParameters":{"id":63288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63287,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63289,"src":"10897:13:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63286,"name":"string","nodeType":"ElementaryTypeName","src":"10897:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10896:15:111"},"scope":63919,"src":"10858:54:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63290,"nodeType":"StructuredDocumentation","src":"10916:138:111","text":" @notice module:core\n @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\""},"functionSelector":"54fd4d50","id":63295,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"11066:7:111","nodeType":"FunctionDefinition","parameters":{"id":63291,"nodeType":"ParameterList","parameters":[],"src":"11073:2:111"},"returnParameters":{"id":63294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63295,"src":"11099:13:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63292,"name":"string","nodeType":"ElementaryTypeName","src":"11099:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11098:15:111"},"scope":63919,"src":"11057:57:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63296,"nodeType":"StructuredDocumentation","src":"11118:1273:111","text":" @notice module:voting\n @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n There are 2 standard keys: `support` and `quorum`.\n - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n - `quorum=bravo` means that only For votes are counted towards quorum.\n - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique\n name that describes the behavior. For example:\n - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n NOTE: The string can be decoded by the standard\n https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n JavaScript class."},"functionSelector":"dd4e2ba5","id":63301,"implemented":false,"kind":"function","modifiers":[],"name":"COUNTING_MODE","nameLocation":"12454:13:111","nodeType":"FunctionDefinition","parameters":{"id":63297,"nodeType":"ParameterList","parameters":[],"src":"12467:2:111"},"returnParameters":{"id":63300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63301,"src":"12493:13:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63298,"name":"string","nodeType":"ElementaryTypeName","src":"12493:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12492:15:111"},"scope":63919,"src":"12445:63:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63302,"nodeType":"StructuredDocumentation","src":"12512:123:111","text":" @notice module:core\n @dev Hashing function used to (re)build the proposal id from the proposal details.."},"functionSelector":"c59057e4","id":63318,"implemented":false,"kind":"function","modifiers":[],"name":"hashProposal","nameLocation":"12647:12:111","nodeType":"FunctionDefinition","parameters":{"id":63314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63305,"mutability":"mutable","name":"targets","nameLocation":"12682:7:111","nodeType":"VariableDeclaration","scope":63318,"src":"12665:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63303,"name":"address","nodeType":"ElementaryTypeName","src":"12665:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63304,"nodeType":"ArrayTypeName","src":"12665:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":63308,"mutability":"mutable","name":"values","nameLocation":"12712:6:111","nodeType":"VariableDeclaration","scope":63318,"src":"12695:23:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":63306,"name":"uint256","nodeType":"ElementaryTypeName","src":"12695:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63307,"nodeType":"ArrayTypeName","src":"12695:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":63311,"mutability":"mutable","name":"calldatas","nameLocation":"12739:9:111","nodeType":"VariableDeclaration","scope":63318,"src":"12724:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":63309,"name":"bytes","nodeType":"ElementaryTypeName","src":"12724:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":63310,"nodeType":"ArrayTypeName","src":"12724:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":63313,"mutability":"mutable","name":"descriptionHash","nameLocation":"12762:15:111","nodeType":"VariableDeclaration","scope":63318,"src":"12754:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12754:7:111","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12659:122:111"},"returnParameters":{"id":63317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63318,"src":"12805:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63315,"name":"uint256","nodeType":"ElementaryTypeName","src":"12805:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12804:9:111"},"scope":63919,"src":"12638:176:111","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":63319,"nodeType":"StructuredDocumentation","src":"12818:105:111","text":" @notice module:core\n @dev Current state of a proposal, following Compound's convention"},"functionSelector":"3e4f49e6","id":63327,"implemented":false,"kind":"function","modifiers":[],"name":"state","nameLocation":"12935:5:111","nodeType":"FunctionDefinition","parameters":{"id":63322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63321,"mutability":"mutable","name":"proposalId","nameLocation":"12949:10:111","nodeType":"VariableDeclaration","scope":63327,"src":"12941:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63320,"name":"uint256","nodeType":"ElementaryTypeName","src":"12941:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12940:20:111"},"returnParameters":{"id":63326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63325,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63327,"src":"12984:27:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"},"typeName":{"id":63324,"nodeType":"UserDefinedTypeName","pathNode":{"id":63323,"name":"GovernorTypes.ProposalState","nameLocations":["12984:13:111","12998:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":61406,"src":"12984:27:111"},"referencedDeclaration":61406,"src":"12984:27:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalState_$61406","typeString":"enum GovernorTypes.ProposalState"}},"visibility":"internal"}],"src":"12983:29:111"},"scope":63919,"src":"12926:87:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63328,"nodeType":"StructuredDocumentation","src":"13017:136:111","text":" @notice module:core\n @dev Get the minimum required delay between proposal cretion and start when creating a proposal."},"functionSelector":"c40ffbf6","id":63333,"implemented":false,"kind":"function","modifiers":[],"name":"minVotingDelay","nameLocation":"13165:14:111","nodeType":"FunctionDefinition","parameters":{"id":63329,"nodeType":"ParameterList","parameters":[],"src":"13179:2:111"},"returnParameters":{"id":63332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63333,"src":"13205:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63330,"name":"uint256","nodeType":"ElementaryTypeName","src":"13205:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13204:9:111"},"scope":63919,"src":"13156:58:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63334,"nodeType":"StructuredDocumentation","src":"13218:70:111","text":" @notice module:core\n @dev The B3TR contract address"},"functionSelector":"582a486a","id":63340,"implemented":false,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"13300:4:111","nodeType":"FunctionDefinition","parameters":{"id":63335,"nodeType":"ParameterList","parameters":[],"src":"13304:2:111"},"returnParameters":{"id":63339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63340,"src":"13330:5:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"},"typeName":{"id":63337,"nodeType":"UserDefinedTypeName","pathNode":{"id":63336,"name":"IB3TR","nameLocations":["13330:5:111"],"nodeType":"IdentifierPath","referencedDeclaration":62888,"src":"13330:5:111"},"referencedDeclaration":62888,"src":"13330:5:111","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TR_$62888","typeString":"contract IB3TR"}},"visibility":"internal"}],"src":"13329:7:111"},"scope":63919,"src":"13291:46:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63341,"nodeType":"StructuredDocumentation","src":"13341:81:111","text":" @notice module:core\n @dev Getter for the VoterRewards contract"},"functionSelector":"a3844e11","id":63347,"implemented":false,"kind":"function","modifiers":[],"name":"voterRewards","nameLocation":"13434:12:111","nodeType":"FunctionDefinition","parameters":{"id":63342,"nodeType":"ParameterList","parameters":[],"src":"13446:2:111"},"returnParameters":{"id":63346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63345,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63347,"src":"13472:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":63344,"nodeType":"UserDefinedTypeName","pathNode":{"id":63343,"name":"IVoterRewards","nameLocations":["13472:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"13472:13:111"},"referencedDeclaration":69092,"src":"13472:13:111","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"13471:15:111"},"scope":63919,"src":"13425:62:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63348,"nodeType":"StructuredDocumentation","src":"13491:86:111","text":" @notice module:core\n @dev Getter for the XAllocationVoting contract"},"functionSelector":"e205aeb0","id":63354,"implemented":false,"kind":"function","modifiers":[],"name":"xAllocationVoting","nameLocation":"13589:17:111","nodeType":"FunctionDefinition","parameters":{"id":63349,"nodeType":"ParameterList","parameters":[],"src":"13606:2:111"},"returnParameters":{"id":63353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63352,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63354,"src":"13632:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":63351,"nodeType":"UserDefinedTypeName","pathNode":{"id":63350,"name":"IXAllocationVotingGovernor","nameLocations":["13632:26:111"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"13632:26:111"},"referencedDeclaration":71124,"src":"13632:26:111","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"13631:28:111"},"scope":63919,"src":"13580:80:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63355,"nodeType":"StructuredDocumentation","src":"13664:87:111","text":" @notice module:core\n @dev Getter for the RelayerRewardsPool contract"},"functionSelector":"6e8a1823","id":63361,"implemented":false,"kind":"function","modifiers":[],"name":"relayerRewardsPool","nameLocation":"13763:18:111","nodeType":"FunctionDefinition","parameters":{"id":63356,"nodeType":"ParameterList","parameters":[],"src":"13781:2:111"},"returnParameters":{"id":63360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63361,"src":"13807:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":63358,"nodeType":"UserDefinedTypeName","pathNode":{"id":63357,"name":"IRelayerRewardsPool","nameLocations":["13807:19:111"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"13807:19:111"},"referencedDeclaration":67117,"src":"13807:19:111","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"13806:21:111"},"scope":63919,"src":"13754:74:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63362,"nodeType":"StructuredDocumentation","src":"13832:140:111","text":" @notice module:core\n @dev The number of votes in support of a proposal required in order for a proposal to become active."},"functionSelector":"6b6a0704","id":63370,"implemented":false,"kind":"function","modifiers":[],"name":"depositThresholdByProposalType","nameLocation":"13984:30:111","nodeType":"FunctionDefinition","parameters":{"id":63366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63365,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"14042:17:111","nodeType":"VariableDeclaration","scope":63370,"src":"14015:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63364,"nodeType":"UserDefinedTypeName","pathNode":{"id":63363,"name":"GovernorTypes.ProposalType","nameLocations":["14015:13:111","14029:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"14015:26:111"},"referencedDeclaration":61431,"src":"14015:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"14014:46:111"},"returnParameters":{"id":63369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63370,"src":"14084:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63367,"name":"uint256","nodeType":"ElementaryTypeName","src":"14084:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14083:9:111"},"scope":63919,"src":"13975:118:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63371,"nodeType":"StructuredDocumentation","src":"14097:103:111","text":" @notice module:core\n @dev The proposal Threshold Percentage for all type of proposal"},"functionSelector":"542d6db5","id":63379,"implemented":false,"kind":"function","modifiers":[],"name":"depositThresholdPercentageByProposalType","nameLocation":"14212:40:111","nodeType":"FunctionDefinition","parameters":{"id":63375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63374,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"14285:17:111","nodeType":"VariableDeclaration","scope":63379,"src":"14258:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63373,"nodeType":"UserDefinedTypeName","pathNode":{"id":63372,"name":"GovernorTypes.ProposalType","nameLocations":["14258:13:111","14272:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"14258:26:111"},"referencedDeclaration":61431,"src":"14258:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"14252:54:111"},"returnParameters":{"id":63378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63379,"src":"14330:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63376,"name":"uint256","nodeType":"ElementaryTypeName","src":"14330:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14329:9:111"},"scope":63919,"src":"14203:136:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63380,"nodeType":"StructuredDocumentation","src":"14343:85:111","text":" @notice module:core\n @dev The voting threshold for a proposal type"},"functionSelector":"1caf3474","id":63388,"implemented":false,"kind":"function","modifiers":[],"name":"votingThresholdByProposalType","nameLocation":"14440:29:111","nodeType":"FunctionDefinition","parameters":{"id":63384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63383,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"14497:17:111","nodeType":"VariableDeclaration","scope":63388,"src":"14470:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63382,"nodeType":"UserDefinedTypeName","pathNode":{"id":63381,"name":"GovernorTypes.ProposalType","nameLocations":["14470:13:111","14484:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"14470:26:111"},"referencedDeclaration":61431,"src":"14470:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"14469:46:111"},"returnParameters":{"id":63387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63388,"src":"14539:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63385,"name":"uint256","nodeType":"ElementaryTypeName","src":"14539:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14538:9:111"},"scope":63919,"src":"14431:117:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63389,"nodeType":"StructuredDocumentation","src":"14552:286:111","text":" @notice module:core\n @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the\n following block."},"functionSelector":"2d63f693","id":63396,"implemented":false,"kind":"function","modifiers":[],"name":"proposalSnapshot","nameLocation":"14850:16:111","nodeType":"FunctionDefinition","parameters":{"id":63392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63391,"mutability":"mutable","name":"proposalId","nameLocation":"14875:10:111","nodeType":"VariableDeclaration","scope":63396,"src":"14867:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63390,"name":"uint256","nodeType":"ElementaryTypeName","src":"14867:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14866:20:111"},"returnParameters":{"id":63395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63394,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63396,"src":"14910:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63393,"name":"uint256","nodeType":"ElementaryTypeName","src":"14910:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14909:9:111"},"scope":63919,"src":"14841:78:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63397,"nodeType":"StructuredDocumentation","src":"14923:194:111","text":" @notice module:core\n @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n possible to cast a vote during this block."},"functionSelector":"c01f9e37","id":63404,"implemented":false,"kind":"function","modifiers":[],"name":"proposalDeadline","nameLocation":"15129:16:111","nodeType":"FunctionDefinition","parameters":{"id":63400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63399,"mutability":"mutable","name":"proposalId","nameLocation":"15154:10:111","nodeType":"VariableDeclaration","scope":63404,"src":"15146:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63398,"name":"uint256","nodeType":"ElementaryTypeName","src":"15146:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15145:20:111"},"returnParameters":{"id":63403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63402,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63404,"src":"15189:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63401,"name":"uint256","nodeType":"ElementaryTypeName","src":"15189:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15188:9:111"},"scope":63919,"src":"15120:78:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63405,"nodeType":"StructuredDocumentation","src":"15202:81:111","text":" @notice module:core\n @dev The account that created a proposal."},"functionSelector":"143489d0","id":63412,"implemented":false,"kind":"function","modifiers":[],"name":"proposalProposer","nameLocation":"15295:16:111","nodeType":"FunctionDefinition","parameters":{"id":63408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63407,"mutability":"mutable","name":"proposalId","nameLocation":"15320:10:111","nodeType":"VariableDeclaration","scope":63412,"src":"15312:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63406,"name":"uint256","nodeType":"ElementaryTypeName","src":"15312:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15311:20:111"},"returnParameters":{"id":63411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63410,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63412,"src":"15355:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63409,"name":"address","nodeType":"ElementaryTypeName","src":"15355:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15354:9:111"},"scope":63919,"src":"15286:78:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63413,"nodeType":"StructuredDocumentation","src":"15368:308:111","text":" @notice module:core\n @dev The time when a queued proposal becomes executable (\"ETA\"). Unlike {proposalSnapshot} and\n {proposalDeadline}, this doesn't use the governor clock, and instead relies on the executor's clock which may be\n different. In most cases this will be a timestamp."},"functionSelector":"ab58fb8e","id":63420,"implemented":false,"kind":"function","modifiers":[],"name":"proposalEta","nameLocation":"15688:11:111","nodeType":"FunctionDefinition","parameters":{"id":63416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63415,"mutability":"mutable","name":"proposalId","nameLocation":"15708:10:111","nodeType":"VariableDeclaration","scope":63420,"src":"15700:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63414,"name":"uint256","nodeType":"ElementaryTypeName","src":"15700:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15699:20:111"},"returnParameters":{"id":63419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63418,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63420,"src":"15743:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63417,"name":"uint256","nodeType":"ElementaryTypeName","src":"15743:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15742:9:111"},"scope":63919,"src":"15679:73:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63421,"nodeType":"StructuredDocumentation","src":"15756:100:111","text":" @notice module:core\n @dev Whether a proposal needs to be queued before execution."},"functionSelector":"a9a95294","id":63428,"implemented":false,"kind":"function","modifiers":[],"name":"proposalNeedsQueuing","nameLocation":"15868:20:111","nodeType":"FunctionDefinition","parameters":{"id":63424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63423,"mutability":"mutable","name":"proposalId","nameLocation":"15897:10:111","nodeType":"VariableDeclaration","scope":63428,"src":"15889:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63422,"name":"uint256","nodeType":"ElementaryTypeName","src":"15889:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15888:20:111"},"returnParameters":{"id":63427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63428,"src":"15932:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63425,"name":"bool","nodeType":"ElementaryTypeName","src":"15932:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15931:6:111"},"scope":63919,"src":"15859:79:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63429,"nodeType":"StructuredDocumentation","src":"15942:664:111","text":" @notice module:user-config\n @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n (see EIP-6372) this contract uses.\n NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting\n duration compared to the voting delay.\n NOTE: This value is stored when the proposal is submitted so that possible changes to the value do not affect\n proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n interface returns a uint256, the value it returns should fit in a uint32."},"functionSelector":"02a251a3","id":63434,"implemented":false,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"16618:12:111","nodeType":"FunctionDefinition","parameters":{"id":63430,"nodeType":"ParameterList","parameters":[],"src":"16630:2:111"},"returnParameters":{"id":63433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63434,"src":"16656:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63431,"name":"uint256","nodeType":"ElementaryTypeName","src":"16656:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16655:9:111"},"scope":63919,"src":"16609:56:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63435,"nodeType":"StructuredDocumentation","src":"16669:346:111","text":" @notice module:user-config\n @dev Minimum number of cast voted required for a proposal to be successful.\n NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes})."},"functionSelector":"f8ce560a","id":63442,"implemented":false,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"17027:6:111","nodeType":"FunctionDefinition","parameters":{"id":63438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63437,"mutability":"mutable","name":"timepoint","nameLocation":"17042:9:111","nodeType":"VariableDeclaration","scope":63442,"src":"17034:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63436,"name":"uint256","nodeType":"ElementaryTypeName","src":"17034:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17033:19:111"},"returnParameters":{"id":63441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63442,"src":"17076:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63439,"name":"uint256","nodeType":"ElementaryTypeName","src":"17076:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17075:9:111"},"scope":63919,"src":"17018:67:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63443,"nodeType":"StructuredDocumentation","src":"17089:262:111","text":" @notice module:reputation\n @dev Voting power of an `account` at a specific `timepoint`.\n Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n multiple), {ERC20Votes} tokens."},"functionSelector":"eb9019d4","id":63452,"implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"17363:8:111","nodeType":"FunctionDefinition","parameters":{"id":63448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63445,"mutability":"mutable","name":"account","nameLocation":"17380:7:111","nodeType":"VariableDeclaration","scope":63452,"src":"17372:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63444,"name":"address","nodeType":"ElementaryTypeName","src":"17372:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63447,"mutability":"mutable","name":"timepoint","nameLocation":"17397:9:111","nodeType":"VariableDeclaration","scope":63452,"src":"17389:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63446,"name":"uint256","nodeType":"ElementaryTypeName","src":"17389:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17371:36:111"},"returnParameters":{"id":63451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63450,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63452,"src":"17431:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63449,"name":"uint256","nodeType":"ElementaryTypeName","src":"17431:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17430:9:111"},"scope":63919,"src":"17354:86:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63453,"nodeType":"StructuredDocumentation","src":"17444:134:111","text":" @notice module:reputation\n @dev Voting power using quadratic voting of an `account` at a specific `timepoint`."},"functionSelector":"b69d417b","id":63462,"implemented":false,"kind":"function","modifiers":[],"name":"getQuadraticVotingPower","nameLocation":"17590:23:111","nodeType":"FunctionDefinition","parameters":{"id":63458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63455,"mutability":"mutable","name":"account","nameLocation":"17622:7:111","nodeType":"VariableDeclaration","scope":63462,"src":"17614:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63454,"name":"address","nodeType":"ElementaryTypeName","src":"17614:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63457,"mutability":"mutable","name":"timepoint","nameLocation":"17639:9:111","nodeType":"VariableDeclaration","scope":63462,"src":"17631:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63456,"name":"uint256","nodeType":"ElementaryTypeName","src":"17631:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17613:36:111"},"returnParameters":{"id":63461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63462,"src":"17673:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63459,"name":"uint256","nodeType":"ElementaryTypeName","src":"17673:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17672:9:111"},"scope":63919,"src":"17581:101:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63463,"nodeType":"StructuredDocumentation","src":"17686:105:111","text":" @notice module:voting\n @dev Returns whether `account` has cast a vote on `proposalId`."},"functionSelector":"43859632","id":63472,"implemented":false,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"17803:8:111","nodeType":"FunctionDefinition","parameters":{"id":63468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63465,"mutability":"mutable","name":"proposalId","nameLocation":"17820:10:111","nodeType":"VariableDeclaration","scope":63472,"src":"17812:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63464,"name":"uint256","nodeType":"ElementaryTypeName","src":"17812:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63467,"mutability":"mutable","name":"account","nameLocation":"17840:7:111","nodeType":"VariableDeclaration","scope":63472,"src":"17832:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63466,"name":"address","nodeType":"ElementaryTypeName","src":"17832:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17811:37:111"},"returnParameters":{"id":63471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63470,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63472,"src":"17872:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63469,"name":"bool","nodeType":"ElementaryTypeName","src":"17872:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17871:6:111"},"scope":63919,"src":"17794:84:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63473,"nodeType":"StructuredDocumentation","src":"17882:435:111","text":" @dev Create a new Standard proposal. Specify the allocation round when vote should become active.\n The duration is specified by {IGovernor-votingPeriod}.\n `maxBudget` (V11) is the optional Community-Execution budget cap in B3TR wei — set to 0 for\n proposals without a developer payout flow.\n Emits a {ProposalCreated}, {ProposalCreatedWithType}, and (when maxBudget > 0) {ProposalBudgetSet} event."},"functionSelector":"eab59fd2","id":63495,"implemented":false,"kind":"function","modifiers":[],"name":"propose","nameLocation":"18329:7:111","nodeType":"FunctionDefinition","parameters":{"id":63491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63476,"mutability":"mutable","name":"targets","nameLocation":"18359:7:111","nodeType":"VariableDeclaration","scope":63495,"src":"18342:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63474,"name":"address","nodeType":"ElementaryTypeName","src":"18342:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63475,"nodeType":"ArrayTypeName","src":"18342:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":63479,"mutability":"mutable","name":"values","nameLocation":"18389:6:111","nodeType":"VariableDeclaration","scope":63495,"src":"18372:23:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":63477,"name":"uint256","nodeType":"ElementaryTypeName","src":"18372:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63478,"nodeType":"ArrayTypeName","src":"18372:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":63482,"mutability":"mutable","name":"calldatas","nameLocation":"18416:9:111","nodeType":"VariableDeclaration","scope":63495,"src":"18401:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":63480,"name":"bytes","nodeType":"ElementaryTypeName","src":"18401:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":63481,"nodeType":"ArrayTypeName","src":"18401:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":63484,"mutability":"mutable","name":"description","nameLocation":"18445:11:111","nodeType":"VariableDeclaration","scope":63495,"src":"18431:25:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63483,"name":"string","nodeType":"ElementaryTypeName","src":"18431:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":63486,"mutability":"mutable","name":"startRoundId","nameLocation":"18470:12:111","nodeType":"VariableDeclaration","scope":63495,"src":"18462:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63485,"name":"uint256","nodeType":"ElementaryTypeName","src":"18462:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63488,"mutability":"mutable","name":"depositAmount","nameLocation":"18496:13:111","nodeType":"VariableDeclaration","scope":63495,"src":"18488:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63487,"name":"uint256","nodeType":"ElementaryTypeName","src":"18488:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63490,"mutability":"mutable","name":"maxBudget","nameLocation":"18523:9:111","nodeType":"VariableDeclaration","scope":63495,"src":"18515:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63489,"name":"uint256","nodeType":"ElementaryTypeName","src":"18515:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18336:200:111"},"returnParameters":{"id":63494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63493,"mutability":"mutable","name":"proposalId","nameLocation":"18563:10:111","nodeType":"VariableDeclaration","scope":63495,"src":"18555:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63492,"name":"uint256","nodeType":"ElementaryTypeName","src":"18555:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18554:20:111"},"scope":63919,"src":"18320:255:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63496,"nodeType":"StructuredDocumentation","src":"18579:87:111","text":" @dev Create a grant proposal. Grantee cannot deposit for it's own grant."},"functionSelector":"013b1088","id":63520,"implemented":false,"kind":"function","modifiers":[],"name":"proposeGrant","nameLocation":"18678:12:111","nodeType":"FunctionDefinition","parameters":{"id":63516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63499,"mutability":"mutable","name":"targets","nameLocation":"18713:7:111","nodeType":"VariableDeclaration","scope":63520,"src":"18696:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63497,"name":"address","nodeType":"ElementaryTypeName","src":"18696:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63498,"nodeType":"ArrayTypeName","src":"18696:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":63502,"mutability":"mutable","name":"values","nameLocation":"18743:6:111","nodeType":"VariableDeclaration","scope":63520,"src":"18726:23:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":63500,"name":"uint256","nodeType":"ElementaryTypeName","src":"18726:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63501,"nodeType":"ArrayTypeName","src":"18726:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":63505,"mutability":"mutable","name":"calldatas","nameLocation":"18770:9:111","nodeType":"VariableDeclaration","scope":63520,"src":"18755:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":63503,"name":"bytes","nodeType":"ElementaryTypeName","src":"18755:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":63504,"nodeType":"ArrayTypeName","src":"18755:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":63507,"mutability":"mutable","name":"description","nameLocation":"18799:11:111","nodeType":"VariableDeclaration","scope":63520,"src":"18785:25:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63506,"name":"string","nodeType":"ElementaryTypeName","src":"18785:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":63509,"mutability":"mutable","name":"startRoundId","nameLocation":"18824:12:111","nodeType":"VariableDeclaration","scope":63520,"src":"18816:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63508,"name":"uint256","nodeType":"ElementaryTypeName","src":"18816:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63511,"mutability":"mutable","name":"depositAmount","nameLocation":"18850:13:111","nodeType":"VariableDeclaration","scope":63520,"src":"18842:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18842:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63513,"mutability":"mutable","name":"grantsReceiver","nameLocation":"18877:14:111","nodeType":"VariableDeclaration","scope":63520,"src":"18869:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63512,"name":"address","nodeType":"ElementaryTypeName","src":"18869:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63515,"mutability":"mutable","name":"milestonesDetailsMetadataURI","nameLocation":"18911:28:111","nodeType":"VariableDeclaration","scope":63520,"src":"18897:42:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63514,"name":"string","nodeType":"ElementaryTypeName","src":"18897:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18690:253:111"},"returnParameters":{"id":63519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63518,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63520,"src":"18962:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63517,"name":"uint256","nodeType":"ElementaryTypeName","src":"18962:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18961:9:111"},"scope":63919,"src":"18669:302:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63521,"nodeType":"StructuredDocumentation","src":"18975:335:111","text":" @dev Queue a proposal. Some governors require this step to be performed before execution can happen. If queuing\n is not necessary, this function may revert.\n Queuing a proposal requires the quorum to be reached, the vote to be successful, and the deadline to be reached.\n Emits a {ProposalQueued} event."},"functionSelector":"160cbed7","id":63537,"implemented":false,"kind":"function","modifiers":[],"name":"queue","nameLocation":"19322:5:111","nodeType":"FunctionDefinition","parameters":{"id":63533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63524,"mutability":"mutable","name":"targets","nameLocation":"19350:7:111","nodeType":"VariableDeclaration","scope":63537,"src":"19333:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63522,"name":"address","nodeType":"ElementaryTypeName","src":"19333:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63523,"nodeType":"ArrayTypeName","src":"19333:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":63527,"mutability":"mutable","name":"values","nameLocation":"19380:6:111","nodeType":"VariableDeclaration","scope":63537,"src":"19363:23:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":63525,"name":"uint256","nodeType":"ElementaryTypeName","src":"19363:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63526,"nodeType":"ArrayTypeName","src":"19363:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":63530,"mutability":"mutable","name":"calldatas","nameLocation":"19407:9:111","nodeType":"VariableDeclaration","scope":63537,"src":"19392:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":63528,"name":"bytes","nodeType":"ElementaryTypeName","src":"19392:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":63529,"nodeType":"ArrayTypeName","src":"19392:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":63532,"mutability":"mutable","name":"descriptionHash","nameLocation":"19430:15:111","nodeType":"VariableDeclaration","scope":63537,"src":"19422:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19422:7:111","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19327:122:111"},"returnParameters":{"id":63536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63535,"mutability":"mutable","name":"proposalId","nameLocation":"19476:10:111","nodeType":"VariableDeclaration","scope":63537,"src":"19468:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63534,"name":"uint256","nodeType":"ElementaryTypeName","src":"19468:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19467:20:111"},"scope":63919,"src":"19313:175:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63538,"nodeType":"StructuredDocumentation","src":"19492:430:111","text":" @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the\n deadline to be reached. Depending on the governor it might also be required that the proposal was queued and\n that some delay passed.\n Emits a {ProposalExecuted} event.\n NOTE: Some modules can modify the requirements for execution, for example by adding an additional timelock."},"functionSelector":"2656227d","id":63554,"implemented":false,"kind":"function","modifiers":[],"name":"execute","nameLocation":"19934:7:111","nodeType":"FunctionDefinition","parameters":{"id":63550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63541,"mutability":"mutable","name":"targets","nameLocation":"19964:7:111","nodeType":"VariableDeclaration","scope":63554,"src":"19947:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63539,"name":"address","nodeType":"ElementaryTypeName","src":"19947:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63540,"nodeType":"ArrayTypeName","src":"19947:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":63544,"mutability":"mutable","name":"values","nameLocation":"19994:6:111","nodeType":"VariableDeclaration","scope":63554,"src":"19977:23:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":63542,"name":"uint256","nodeType":"ElementaryTypeName","src":"19977:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63543,"nodeType":"ArrayTypeName","src":"19977:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":63547,"mutability":"mutable","name":"calldatas","nameLocation":"20021:9:111","nodeType":"VariableDeclaration","scope":63554,"src":"20006:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":63545,"name":"bytes","nodeType":"ElementaryTypeName","src":"20006:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":63546,"nodeType":"ArrayTypeName","src":"20006:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":63549,"mutability":"mutable","name":"descriptionHash","nameLocation":"20044:15:111","nodeType":"VariableDeclaration","scope":63554,"src":"20036:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20036:7:111","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19941:122:111"},"returnParameters":{"id":63553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63552,"mutability":"mutable","name":"proposalId","nameLocation":"20098:10:111","nodeType":"VariableDeclaration","scope":63554,"src":"20090:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63551,"name":"uint256","nodeType":"ElementaryTypeName","src":"20090:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20089:20:111"},"scope":63919,"src":"19925:185:111","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":63555,"nodeType":"StructuredDocumentation","src":"20114:228:111","text":" @dev Cancel a proposal. A proposal is cancellable by the proposer, but only while it is Pending state, i.e.\n before the vote starts.\n Emits a {ProposalCanceled} and {ProposalCanceledWithReason} event."},"functionSelector":"de65f41a","id":63573,"implemented":false,"kind":"function","modifiers":[],"name":"cancel","nameLocation":"20354:6:111","nodeType":"FunctionDefinition","parameters":{"id":63569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63558,"mutability":"mutable","name":"targets","nameLocation":"20383:7:111","nodeType":"VariableDeclaration","scope":63573,"src":"20366:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63556,"name":"address","nodeType":"ElementaryTypeName","src":"20366:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63557,"nodeType":"ArrayTypeName","src":"20366:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":63561,"mutability":"mutable","name":"values","nameLocation":"20413:6:111","nodeType":"VariableDeclaration","scope":63573,"src":"20396:23:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":63559,"name":"uint256","nodeType":"ElementaryTypeName","src":"20396:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63560,"nodeType":"ArrayTypeName","src":"20396:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":63564,"mutability":"mutable","name":"calldatas","nameLocation":"20440:9:111","nodeType":"VariableDeclaration","scope":63573,"src":"20425:24:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":63562,"name":"bytes","nodeType":"ElementaryTypeName","src":"20425:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":63563,"nodeType":"ArrayTypeName","src":"20425:7:111","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":63566,"mutability":"mutable","name":"descriptionHash","nameLocation":"20463:15:111","nodeType":"VariableDeclaration","scope":63573,"src":"20455:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20455:7:111","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63568,"mutability":"mutable","name":"reason","nameLocation":"20498:6:111","nodeType":"VariableDeclaration","scope":63573,"src":"20484:20:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63567,"name":"string","nodeType":"ElementaryTypeName","src":"20484:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20360:148:111"},"returnParameters":{"id":63572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63571,"mutability":"mutable","name":"proposalId","nameLocation":"20535:10:111","nodeType":"VariableDeclaration","scope":63573,"src":"20527:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63570,"name":"uint256","nodeType":"ElementaryTypeName","src":"20527:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20526:20:111"},"scope":63919,"src":"20345:202:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63574,"nodeType":"StructuredDocumentation","src":"20551:67:111","text":" @dev Cast a vote\n Emits a {VoteCast} event."},"functionSelector":"56781388","id":63583,"implemented":false,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"20630:8:111","nodeType":"FunctionDefinition","parameters":{"id":63579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63576,"mutability":"mutable","name":"proposalId","nameLocation":"20647:10:111","nodeType":"VariableDeclaration","scope":63583,"src":"20639:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63575,"name":"uint256","nodeType":"ElementaryTypeName","src":"20639:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63578,"mutability":"mutable","name":"support","nameLocation":"20665:7:111","nodeType":"VariableDeclaration","scope":63583,"src":"20659:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":63577,"name":"uint8","nodeType":"ElementaryTypeName","src":"20659:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20638:35:111"},"returnParameters":{"id":63582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63581,"mutability":"mutable","name":"balance","nameLocation":"20700:7:111","nodeType":"VariableDeclaration","scope":63583,"src":"20692:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63580,"name":"uint256","nodeType":"ElementaryTypeName","src":"20692:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20691:17:111"},"scope":63919,"src":"20621:88:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63584,"nodeType":"StructuredDocumentation","src":"20713:81:111","text":" @dev Cast a vote with a reason\n Emits a {VoteCast} event."},"functionSelector":"7b3c71d3","id":63595,"implemented":false,"kind":"function","modifiers":[],"name":"castVoteWithReason","nameLocation":"20806:18:111","nodeType":"FunctionDefinition","parameters":{"id":63591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63586,"mutability":"mutable","name":"proposalId","nameLocation":"20838:10:111","nodeType":"VariableDeclaration","scope":63595,"src":"20830:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63585,"name":"uint256","nodeType":"ElementaryTypeName","src":"20830:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63588,"mutability":"mutable","name":"support","nameLocation":"20860:7:111","nodeType":"VariableDeclaration","scope":63595,"src":"20854:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":63587,"name":"uint8","nodeType":"ElementaryTypeName","src":"20854:5:111","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":63590,"mutability":"mutable","name":"reason","nameLocation":"20889:6:111","nodeType":"VariableDeclaration","scope":63595,"src":"20873:22:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":63589,"name":"string","nodeType":"ElementaryTypeName","src":"20873:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20824:75:111"},"returnParameters":{"id":63594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63593,"mutability":"mutable","name":"balance","nameLocation":"20926:7:111","nodeType":"VariableDeclaration","scope":63595,"src":"20918:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63592,"name":"uint256","nodeType":"ElementaryTypeName","src":"20918:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20917:17:111"},"scope":63919,"src":"20797:138:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63596,"nodeType":"StructuredDocumentation","src":"20939:73:111","text":" @dev Check if user has cast vote at least in one proposal."},"functionSelector":"9aeb962b","id":63603,"implemented":false,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"21024:12:111","nodeType":"FunctionDefinition","parameters":{"id":63599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63598,"mutability":"mutable","name":"user","nameLocation":"21045:4:111","nodeType":"VariableDeclaration","scope":63603,"src":"21037:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63597,"name":"address","nodeType":"ElementaryTypeName","src":"21037:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21036:14:111"},"returnParameters":{"id":63602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63603,"src":"21074:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63600,"name":"bool","nodeType":"ElementaryTypeName","src":"21074:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21073:6:111"},"scope":63919,"src":"21015:65:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63604,"nodeType":"StructuredDocumentation","src":"21084:65:111","text":" @dev Round when the proposal should become active."},"functionSelector":"8ced2a11","id":63611,"implemented":false,"kind":"function","modifiers":[],"name":"proposalStartRound","nameLocation":"21161:18:111","nodeType":"FunctionDefinition","parameters":{"id":63607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63606,"mutability":"mutable","name":"proposalId","nameLocation":"21188:10:111","nodeType":"VariableDeclaration","scope":63611,"src":"21180:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63605,"name":"uint256","nodeType":"ElementaryTypeName","src":"21180:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21179:20:111"},"returnParameters":{"id":63610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63609,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63611,"src":"21223:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63608,"name":"uint256","nodeType":"ElementaryTypeName","src":"21223:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21222:9:111"},"scope":63919,"src":"21152:80:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63612,"nodeType":"StructuredDocumentation","src":"21236:77:111","text":" @dev Check if proposal can start in the next allocation round."},"functionSelector":"81ab2353","id":63617,"implemented":false,"kind":"function","modifiers":[],"name":"canProposalStartInNextRound","nameLocation":"21325:27:111","nodeType":"FunctionDefinition","parameters":{"id":63613,"nodeType":"ParameterList","parameters":[],"src":"21352:2:111"},"returnParameters":{"id":63616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63617,"src":"21378:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63614,"name":"bool","nodeType":"ElementaryTypeName","src":"21378:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21377:6:111"},"scope":63919,"src":"21316:68:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63618,"nodeType":"StructuredDocumentation","src":"21388:60:111","text":" @dev Function to deposit tokens to a proposal"},"functionSelector":"e2bbb158","id":63625,"implemented":false,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"21460:7:111","nodeType":"FunctionDefinition","parameters":{"id":63623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63620,"mutability":"mutable","name":"amount","nameLocation":"21476:6:111","nodeType":"VariableDeclaration","scope":63625,"src":"21468:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63619,"name":"uint256","nodeType":"ElementaryTypeName","src":"21468:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63622,"mutability":"mutable","name":"proposalId","nameLocation":"21492:10:111","nodeType":"VariableDeclaration","scope":63625,"src":"21484:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63621,"name":"uint256","nodeType":"ElementaryTypeName","src":"21484:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21467:36:111"},"returnParameters":{"id":63624,"nodeType":"ParameterList","parameters":[],"src":"21512:0:111"},"scope":63919,"src":"21451:62:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63626,"nodeType":"StructuredDocumentation","src":"21517:63:111","text":" @dev Function to withdraw tokens from a proposal"},"functionSelector":"00f714ce","id":63633,"implemented":false,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"21592:8:111","nodeType":"FunctionDefinition","parameters":{"id":63631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63628,"mutability":"mutable","name":"proposalId","nameLocation":"21609:10:111","nodeType":"VariableDeclaration","scope":63633,"src":"21601:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63627,"name":"uint256","nodeType":"ElementaryTypeName","src":"21601:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63630,"mutability":"mutable","name":"depositer","nameLocation":"21629:9:111","nodeType":"VariableDeclaration","scope":63633,"src":"21621:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63629,"name":"address","nodeType":"ElementaryTypeName","src":"21621:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21600:39:111"},"returnParameters":{"id":63632,"nodeType":"ParameterList","parameters":[],"src":"21648:0:111"},"scope":63919,"src":"21583:66:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63634,"nodeType":"StructuredDocumentation","src":"21653:89:111","text":" @dev Getter to retrieve the total amount of tokens deposited to a proposal"},"functionSelector":"c220f2f5","id":63641,"implemented":false,"kind":"function","modifiers":[],"name":"getProposalDeposits","nameLocation":"21754:19:111","nodeType":"FunctionDefinition","parameters":{"id":63637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63636,"mutability":"mutable","name":"proposalId","nameLocation":"21782:10:111","nodeType":"VariableDeclaration","scope":63641,"src":"21774:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63635,"name":"uint256","nodeType":"ElementaryTypeName","src":"21774:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21773:20:111"},"returnParameters":{"id":63640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63639,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63641,"src":"21817:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63638,"name":"uint256","nodeType":"ElementaryTypeName","src":"21817:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21816:9:111"},"scope":63919,"src":"21745:81:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63642,"nodeType":"StructuredDocumentation","src":"21830:94:111","text":" @dev Function to check if the deposit threshold for a proposal has been reached"},"functionSelector":"8d5a3f67","id":63649,"implemented":false,"kind":"function","modifiers":[],"name":"proposalDepositReached","nameLocation":"21936:22:111","nodeType":"FunctionDefinition","parameters":{"id":63645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63644,"mutability":"mutable","name":"proposalId","nameLocation":"21967:10:111","nodeType":"VariableDeclaration","scope":63649,"src":"21959:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63643,"name":"uint256","nodeType":"ElementaryTypeName","src":"21959:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21958:20:111"},"returnParameters":{"id":63648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63649,"src":"22002:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63646,"name":"bool","nodeType":"ElementaryTypeName","src":"22002:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22001:6:111"},"scope":63919,"src":"21927:81:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63650,"nodeType":"StructuredDocumentation","src":"22012:103:111","text":" @dev Getter to retrieve the amount of tokens a specific user has deposited to a proposal"},"functionSelector":"4e055244","id":63659,"implemented":false,"kind":"function","modifiers":[],"name":"getUserDeposit","nameLocation":"22127:14:111","nodeType":"FunctionDefinition","parameters":{"id":63655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63652,"mutability":"mutable","name":"proposalId","nameLocation":"22150:10:111","nodeType":"VariableDeclaration","scope":63659,"src":"22142:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63651,"name":"uint256","nodeType":"ElementaryTypeName","src":"22142:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63654,"mutability":"mutable","name":"user","nameLocation":"22170:4:111","nodeType":"VariableDeclaration","scope":63659,"src":"22162:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63653,"name":"address","nodeType":"ElementaryTypeName","src":"22162:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22141:34:111"},"returnParameters":{"id":63658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63657,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63659,"src":"22199:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63656,"name":"uint256","nodeType":"ElementaryTypeName","src":"22199:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22198:9:111"},"scope":63919,"src":"22118:90:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63660,"nodeType":"StructuredDocumentation","src":"22212:113:111","text":" @notice Returns the VeBetterPassport contract.\n @return The current VeBetterPassport contract."},"functionSelector":"0050ea6f","id":63666,"implemented":false,"kind":"function","modifiers":[],"name":"veBetterPassport","nameLocation":"22337:16:111","nodeType":"FunctionDefinition","parameters":{"id":63661,"nodeType":"ParameterList","parameters":[],"src":"22353:2:111"},"returnParameters":{"id":63665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63666,"src":"22379:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":63663,"nodeType":"UserDefinedTypeName","pathNode":{"id":63662,"name":"IVeBetterPassport","nameLocations":["22379:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"22379:17:111"},"referencedDeclaration":68601,"src":"22379:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"22378:19:111"},"scope":63919,"src":"22328:70:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63667,"nodeType":"StructuredDocumentation","src":"22402:122:111","text":" @notice Set the VeBetterPassport contract\n @param newVeBetterPassport The new VeBetterPassport contract"},"functionSelector":"b3c93dab","id":63673,"implemented":false,"kind":"function","modifiers":[],"name":"setVeBetterPassport","nameLocation":"22536:19:111","nodeType":"FunctionDefinition","parameters":{"id":63671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63670,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"22574:19:111","nodeType":"VariableDeclaration","scope":63673,"src":"22556:37:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":63669,"nodeType":"UserDefinedTypeName","pathNode":{"id":63668,"name":"IVeBetterPassport","nameLocations":["22556:17:111"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"22556:17:111"},"referencedDeclaration":68601,"src":"22556:17:111","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"22555:39:111"},"returnParameters":{"id":63672,"nodeType":"ParameterList","parameters":[],"src":"22603:0:111"},"scope":63919,"src":"22527:77:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63674,"nodeType":"StructuredDocumentation","src":"22608:68:111","text":" @notice module:core\n @dev The type of a proposal."},"functionSelector":"2a09c772","id":63682,"implemented":false,"kind":"function","modifiers":[],"name":"proposalType","nameLocation":"22688:12:111","nodeType":"FunctionDefinition","parameters":{"id":63677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63676,"mutability":"mutable","name":"proposalId","nameLocation":"22709:10:111","nodeType":"VariableDeclaration","scope":63682,"src":"22701:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63675,"name":"uint256","nodeType":"ElementaryTypeName","src":"22701:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22700:20:111"},"returnParameters":{"id":63681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63682,"src":"22744:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63679,"nodeType":"UserDefinedTypeName","pathNode":{"id":63678,"name":"GovernorTypes.ProposalType","nameLocations":["22744:13:111","22758:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"22744:26:111"},"referencedDeclaration":61431,"src":"22744:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"22743:28:111"},"scope":63919,"src":"22679:93:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63683,"nodeType":"StructuredDocumentation","src":"22776:110:111","text":" @notice Set the GalaxyMember contract\n @param newGalaxyMember The new GalaxyMember contract"},"functionSelector":"ae0b8da8","id":63689,"implemented":false,"kind":"function","modifiers":[],"name":"setGalaxyMember","nameLocation":"22898:15:111","nodeType":"FunctionDefinition","parameters":{"id":63687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63686,"mutability":"mutable","name":"newGalaxyMember","nameLocation":"22928:15:111","nodeType":"VariableDeclaration","scope":63689,"src":"22914:29:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":63685,"nodeType":"UserDefinedTypeName","pathNode":{"id":63684,"name":"IGalaxyMember","nameLocations":["22914:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"22914:13:111"},"referencedDeclaration":65196,"src":"22914:13:111","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"22913:31:111"},"returnParameters":{"id":63688,"nodeType":"ParameterList","parameters":[],"src":"22953:0:111"},"scope":63919,"src":"22889:65:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63690,"nodeType":"StructuredDocumentation","src":"22958:99:111","text":" @notice Get the GalaxyMember contract\n @return The current GalaxyMember contract"},"functionSelector":"f03a98d5","id":63696,"implemented":false,"kind":"function","modifiers":[],"name":"getGalaxyMemberContract","nameLocation":"23069:23:111","nodeType":"FunctionDefinition","parameters":{"id":63691,"nodeType":"ParameterList","parameters":[],"src":"23092:2:111"},"returnParameters":{"id":63695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63694,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63696,"src":"23118:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":63693,"nodeType":"UserDefinedTypeName","pathNode":{"id":63692,"name":"IGalaxyMember","nameLocations":["23118:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"23118:13:111"},"referencedDeclaration":65196,"src":"23118:13:111","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"}],"src":"23117:15:111"},"scope":63919,"src":"23060:73:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63697,"nodeType":"StructuredDocumentation","src":"23137:113:111","text":" @notice Set the GrantsManager contract\n @param newGrantsManager The new GrantsManager contract"},"functionSelector":"d53c74c1","id":63703,"implemented":false,"kind":"function","modifiers":[],"name":"setGrantsManager","nameLocation":"23262:16:111","nodeType":"FunctionDefinition","parameters":{"id":63701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63700,"mutability":"mutable","name":"newGrantsManager","nameLocation":"23294:16:111","nodeType":"VariableDeclaration","scope":63703,"src":"23279:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":63699,"nodeType":"UserDefinedTypeName","pathNode":{"id":63698,"name":"IGrantsManager","nameLocations":["23279:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"23279:14:111"},"referencedDeclaration":65639,"src":"23279:14:111","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"23278:33:111"},"returnParameters":{"id":63702,"nodeType":"ParameterList","parameters":[],"src":"23320:0:111"},"scope":63919,"src":"23253:68:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63704,"nodeType":"StructuredDocumentation","src":"23325:128:111","text":" @notice Set the RelayerRewardsPool contract\n @param newRelayerRewardsPool The new RelayerRewardsPool contract"},"functionSelector":"0dd8614c","id":63710,"implemented":false,"kind":"function","modifiers":[],"name":"setRelayerRewardsPool","nameLocation":"23465:21:111","nodeType":"FunctionDefinition","parameters":{"id":63708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63707,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"23507:21:111","nodeType":"VariableDeclaration","scope":63710,"src":"23487:41:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":63706,"nodeType":"UserDefinedTypeName","pathNode":{"id":63705,"name":"IRelayerRewardsPool","nameLocations":["23487:19:111"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"23487:19:111"},"referencedDeclaration":67117,"src":"23487:19:111","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"23486:43:111"},"returnParameters":{"id":63709,"nodeType":"ParameterList","parameters":[],"src":"23538:0:111"},"scope":63919,"src":"23456:83:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63711,"nodeType":"StructuredDocumentation","src":"23543:101:111","text":" @notice Get the GrantsManager contract\n @return The current GrantsManager contract"},"functionSelector":"cf09f8bf","id":63717,"implemented":false,"kind":"function","modifiers":[],"name":"getGrantsManagerContract","nameLocation":"23656:24:111","nodeType":"FunctionDefinition","parameters":{"id":63712,"nodeType":"ParameterList","parameters":[],"src":"23680:2:111"},"returnParameters":{"id":63716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63715,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63717,"src":"23706:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"},"typeName":{"id":63714,"nodeType":"UserDefinedTypeName","pathNode":{"id":63713,"name":"IGrantsManager","nameLocations":["23706:14:111"],"nodeType":"IdentifierPath","referencedDeclaration":65639,"src":"23706:14:111"},"referencedDeclaration":65639,"src":"23706:14:111","typeDescriptions":{"typeIdentifier":"t_contract$_IGrantsManager_$65639","typeString":"contract IGrantsManager"}},"visibility":"internal"}],"src":"23705:16:111"},"scope":63919,"src":"23647:75:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63718,"nodeType":"StructuredDocumentation","src":"23726:164:111","text":" @notice Get the GM weight for a proposal type\n @param proposalTypeValue The type of the proposal\n @return The GM weight for the proposal type"},"functionSelector":"6dd139be","id":63726,"implemented":false,"kind":"function","modifiers":[],"name":"getRequiredGMLevelByProposalType","nameLocation":"23902:32:111","nodeType":"FunctionDefinition","parameters":{"id":63722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63721,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"23967:17:111","nodeType":"VariableDeclaration","scope":63726,"src":"23940:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63720,"nodeType":"UserDefinedTypeName","pathNode":{"id":63719,"name":"GovernorTypes.ProposalType","nameLocations":["23940:13:111","23954:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"23940:26:111"},"referencedDeclaration":61431,"src":"23940:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"23934:54:111"},"returnParameters":{"id":63725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63724,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63726,"src":"24012:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63723,"name":"uint256","nodeType":"ElementaryTypeName","src":"24012:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24011:9:111"},"scope":63919,"src":"23893:128:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63727,"nodeType":"StructuredDocumentation","src":"24025:291:111","text":" @notice Set the GM weight for a proposal type\n @param proposalTypeValue The type of the proposal\n @param newGMWeight The new GM weight for the proposal type\n @notice e.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal"},"functionSelector":"406ced84","id":63735,"implemented":false,"kind":"function","modifiers":[],"name":"setRequiredGMLevelByProposalType","nameLocation":"24328:32:111","nodeType":"FunctionDefinition","parameters":{"id":63733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63730,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"24388:17:111","nodeType":"VariableDeclaration","scope":63735,"src":"24361:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63729,"nodeType":"UserDefinedTypeName","pathNode":{"id":63728,"name":"GovernorTypes.ProposalType","nameLocations":["24361:13:111","24375:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"24361:26:111"},"referencedDeclaration":61431,"src":"24361:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"},{"constant":false,"id":63732,"mutability":"mutable","name":"newGMWeight","nameLocation":"24415:11:111","nodeType":"VariableDeclaration","scope":63735,"src":"24407:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63731,"name":"uint256","nodeType":"ElementaryTypeName","src":"24407:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24360:67:111"},"returnParameters":{"id":63734,"nodeType":"ParameterList","parameters":[],"src":"24436:0:111"},"scope":63919,"src":"24319:118:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63736,"nodeType":"StructuredDocumentation","src":"24441:199:111","text":" @notice Returns the deposit threshold cap for a proposal type.\n @param proposalTypeValue The type of proposal.\n @return uint256 The deposit threshold cap for the proposal type."},"functionSelector":"e4ec85d4","id":63744,"implemented":false,"kind":"function","modifiers":[],"name":"depositThresholdCapByProposalType","nameLocation":"24652:33:111","nodeType":"FunctionDefinition","parameters":{"id":63740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63739,"mutability":"mutable","name":"proposalTypeValue","nameLocation":"24718:17:111","nodeType":"VariableDeclaration","scope":63744,"src":"24691:44:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"},"typeName":{"id":63738,"nodeType":"UserDefinedTypeName","pathNode":{"id":63737,"name":"GovernorTypes.ProposalType","nameLocations":["24691:13:111","24705:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":61431,"src":"24691:26:111"},"referencedDeclaration":61431,"src":"24691:26:111","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$61431","typeString":"enum GovernorTypes.ProposalType"}},"visibility":"internal"}],"src":"24685:54:111"},"returnParameters":{"id":63743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63744,"src":"24763:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63741,"name":"uint256","nodeType":"ElementaryTypeName","src":"24763:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24762:9:111"},"scope":63919,"src":"24643:129:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63745,"nodeType":"StructuredDocumentation","src":"24776:213:111","text":" @notice Get the deposit voting power for a given account at a given timepoint\n @param account The address of the account\n @param timepoint The timepoint\n @return The deposit voting power"},"functionSelector":"a56b5765","id":63754,"implemented":false,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"25001:21:111","nodeType":"FunctionDefinition","parameters":{"id":63750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63747,"mutability":"mutable","name":"account","nameLocation":"25031:7:111","nodeType":"VariableDeclaration","scope":63754,"src":"25023:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63746,"name":"address","nodeType":"ElementaryTypeName","src":"25023:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63749,"mutability":"mutable","name":"timepoint","nameLocation":"25048:9:111","nodeType":"VariableDeclaration","scope":63754,"src":"25040:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63748,"name":"uint256","nodeType":"ElementaryTypeName","src":"25040:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25022:36:111"},"returnParameters":{"id":63753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63754,"src":"25082:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63751,"name":"uint256","nodeType":"ElementaryTypeName","src":"25082:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25081:9:111"},"scope":63919,"src":"24992:99:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63755,"nodeType":"StructuredDocumentation","src":"25095:61:111","text":" @notice Returns currently active proposal IDs."},"functionSelector":"5584c4f9","id":63761,"implemented":false,"kind":"function","modifiers":[],"name":"getActiveProposals","nameLocation":"25168:18:111","nodeType":"FunctionDefinition","parameters":{"id":63756,"nodeType":"ParameterList","parameters":[],"src":"25186:2:111"},"returnParameters":{"id":63760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63759,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63761,"src":"25212:16:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":63757,"name":"uint256","nodeType":"ElementaryTypeName","src":"25212:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63758,"nodeType":"ArrayTypeName","src":"25212:9:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"25211:18:111"},"scope":63919,"src":"25159:71:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63762,"nodeType":"StructuredDocumentation","src":"25619:90:111","text":"@dev Caller is neither the proposal proposer nor a PROPOSAL_STATE_MANAGER_ROLE holder."},"errorSelector":"907ee9b6","id":63768,"name":"UnauthorizedCommunityExecution","nameLocation":"25718:30:111","nodeType":"ErrorDefinition","parameters":{"id":63767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63764,"mutability":"mutable","name":"caller","nameLocation":"25757:6:111","nodeType":"VariableDeclaration","scope":63768,"src":"25749:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63763,"name":"address","nodeType":"ElementaryTypeName","src":"25749:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63766,"mutability":"mutable","name":"proposalId","nameLocation":"25773:10:111","nodeType":"VariableDeclaration","scope":63768,"src":"25765:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63765,"name":"uint256","nodeType":"ElementaryTypeName","src":"25765:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25748:36:111"},"src":"25712:73:111"},{"documentation":{"id":63769,"nodeType":"StructuredDocumentation","src":"25789:87:111","text":"@dev No max budget was recorded for the proposal but a non-zero payee was provided."},"errorSelector":"8667f7cb","id":63773,"name":"MissingProposalBudget","nameLocation":"25885:21:111","nodeType":"ErrorDefinition","parameters":{"id":63772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63771,"mutability":"mutable","name":"proposalId","nameLocation":"25915:10:111","nodeType":"VariableDeclaration","scope":63773,"src":"25907:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63770,"name":"uint256","nodeType":"ElementaryTypeName","src":"25907:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25906:20:111"},"src":"25879:48:111"},{"documentation":{"id":63774,"nodeType":"StructuredDocumentation","src":"25931:89:111","text":"@dev Payee is the zero address while the proposal has a non-zero implementation cost."},"errorSelector":"f25dd3b6","id":63776,"name":"InvalidPayeeAddress","nameLocation":"26029:19:111","nodeType":"ErrorDefinition","parameters":{"id":63775,"nodeType":"ParameterList","parameters":[],"src":"26048:2:111"},"src":"26023:28:111"},{"documentation":{"id":63777,"nodeType":"StructuredDocumentation","src":"26055:70:111","text":"@dev Contributors array is larger than maxContributorsPerProposal."},"errorSelector":"3e79502e","id":63783,"name":"TooManyContributors","nameLocation":"26134:19:111","nodeType":"ErrorDefinition","parameters":{"id":63782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63779,"mutability":"mutable","name":"provided","nameLocation":"26162:8:111","nodeType":"VariableDeclaration","scope":63783,"src":"26154:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63778,"name":"uint256","nodeType":"ElementaryTypeName","src":"26154:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63781,"mutability":"mutable","name":"max","nameLocation":"26180:3:111","nodeType":"VariableDeclaration","scope":63783,"src":"26172:11:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63780,"name":"uint256","nodeType":"ElementaryTypeName","src":"26172:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26153:31:111"},"src":"26128:57:111"},{"documentation":{"id":63784,"nodeType":"StructuredDocumentation","src":"26189:66:111","text":"@dev markAsInDevelopment was already called for this proposal."},"errorSelector":"e4ce8690","id":63788,"name":"PayeesAlreadyFinalized","nameLocation":"26264:22:111","nodeType":"ErrorDefinition","parameters":{"id":63787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63786,"mutability":"mutable","name":"proposalId","nameLocation":"26295:10:111","nodeType":"VariableDeclaration","scope":63788,"src":"26287:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63785,"name":"uint256","nodeType":"ElementaryTypeName","src":"26287:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26286:20:111"},"src":"26258:49:111"},{"documentation":{"id":63789,"nodeType":"StructuredDocumentation","src":"26311:53:111","text":"@dev The payout was already pulled from Treasury."},"errorSelector":"637f9b3e","id":63793,"name":"PayoutAlreadyClaimed","nameLocation":"26373:20:111","nodeType":"ErrorDefinition","parameters":{"id":63792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63791,"mutability":"mutable","name":"proposalId","nameLocation":"26402:10:111","nodeType":"VariableDeclaration","scope":63793,"src":"26394:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63790,"name":"uint256","nodeType":"ElementaryTypeName","src":"26394:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26393:20:111"},"src":"26367:47:111"},{"documentation":{"id":63794,"nodeType":"StructuredDocumentation","src":"26418:99:111","text":"@dev The proposal is not in a state where the budget can be paid out (missing payee or budget)."},"errorSelector":"f64215ae","id":63798,"name":"NotReadyToClaim","nameLocation":"26526:15:111","nodeType":"ErrorDefinition","parameters":{"id":63797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63796,"mutability":"mutable","name":"proposalId","nameLocation":"26550:10:111","nodeType":"VariableDeclaration","scope":63798,"src":"26542:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63795,"name":"uint256","nodeType":"ElementaryTypeName","src":"26542:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26541:20:111"},"src":"26520:42:111"},{"anonymous":false,"documentation":{"id":63799,"nodeType":"StructuredDocumentation","src":"26566:82:111","text":"@notice Emitted when an implementation-cost budget is recorded for a proposal."},"eventSelector":"cd8165bf95ab7c7ec457210098e726b4261032710b47126b883ca5247afdd837","id":63805,"name":"ProposalBudgetSet","nameLocation":"26657:17:111","nodeType":"EventDefinition","parameters":{"id":63804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63801,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"26691:10:111","nodeType":"VariableDeclaration","scope":63805,"src":"26675:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63800,"name":"uint256","nodeType":"ElementaryTypeName","src":"26675:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63803,"indexed":false,"mutability":"mutable","name":"maxBudget","nameLocation":"26711:9:111","nodeType":"VariableDeclaration","scope":63805,"src":"26703:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63802,"name":"uint256","nodeType":"ElementaryTypeName","src":"26703:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26674:47:111"},"src":"26651:71:111"},{"anonymous":false,"documentation":{"id":63806,"nodeType":"StructuredDocumentation","src":"26726:157:111","text":"@notice Off-chain metadata registered alongside the payee when entering development\n         or replaced via updateCommunityExecution before payout."},"eventSelector":"e88c3dd4f40f87300587b77b8fd804224e789f0998e5421d84fc6641bc4206db","id":63816,"name":"ProposalInDevelopmentDetails","nameLocation":"26892:28:111","nodeType":"EventDefinition","parameters":{"id":63815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63808,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"26942:10:111","nodeType":"VariableDeclaration","scope":63816,"src":"26926:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63807,"name":"uint256","nodeType":"ElementaryTypeName","src":"26926:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63810,"indexed":true,"mutability":"mutable","name":"payee","nameLocation":"26974:5:111","nodeType":"VariableDeclaration","scope":63816,"src":"26958:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63809,"name":"address","nodeType":"ElementaryTypeName","src":"26958:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63812,"indexed":false,"mutability":"mutable","name":"description","nameLocation":"26992:11:111","nodeType":"VariableDeclaration","scope":63816,"src":"26985:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63811,"name":"string","nodeType":"ElementaryTypeName","src":"26985:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":63814,"indexed":false,"mutability":"mutable","name":"implementationDiscussion","nameLocation":"27016:24:111","nodeType":"VariableDeclaration","scope":63816,"src":"27009:31:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63813,"name":"string","nodeType":"ElementaryTypeName","src":"27009:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26920:124:111"},"src":"26886:159:111"},{"anonymous":false,"documentation":{"id":63817,"nodeType":"StructuredDocumentation","src":"27049:79:111","text":"@notice Emitted when the contributor handle list is (re)set for a proposal."},"eventSelector":"73a685e17e09a2fbdba72e1aa6c2adf949b4025a58dcb463ce267875fb7ea3f1","id":63824,"name":"ProposalContributorsSet","nameLocation":"27137:23:111","nodeType":"EventDefinition","parameters":{"id":63823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63819,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"27177:10:111","nodeType":"VariableDeclaration","scope":63824,"src":"27161:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63818,"name":"uint256","nodeType":"ElementaryTypeName","src":"27161:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63822,"indexed":false,"mutability":"mutable","name":"contributors","nameLocation":"27198:12:111","nodeType":"VariableDeclaration","scope":63824,"src":"27189:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":63820,"name":"string","nodeType":"ElementaryTypeName","src":"27189:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":63821,"nodeType":"ArrayTypeName","src":"27189:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"27160:51:111"},"src":"27131:81:111"},{"anonymous":false,"documentation":{"id":63825,"nodeType":"StructuredDocumentation","src":"27216:97:111","text":"@notice Emitted when the single registered payee pulls the implementation cost from Treasury."},"eventSelector":"ea09ed9ea14239b5e3188607c24cf3ee441615cfa1f8ff9dfeaf12f0a7949bc6","id":63833,"name":"ProposalPayoutClaimed","nameLocation":"27322:21:111","nodeType":"EventDefinition","parameters":{"id":63832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63827,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"27360:10:111","nodeType":"VariableDeclaration","scope":63833,"src":"27344:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63826,"name":"uint256","nodeType":"ElementaryTypeName","src":"27344:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63829,"indexed":true,"mutability":"mutable","name":"payee","nameLocation":"27388:5:111","nodeType":"VariableDeclaration","scope":63833,"src":"27372:21:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63828,"name":"address","nodeType":"ElementaryTypeName","src":"27372:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63831,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"27403:6:111","nodeType":"VariableDeclaration","scope":63833,"src":"27395:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63830,"name":"uint256","nodeType":"ElementaryTypeName","src":"27395:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27343:67:111"},"src":"27316:95:111"},{"documentation":{"id":63834,"nodeType":"StructuredDocumentation","src":"27415:83:111","text":"@notice Mark a proposal as InDevelopment and register the V11 payee + metadata."},"functionSelector":"ede8bed0","id":63848,"implemented":false,"kind":"function","modifiers":[],"name":"markAsInDevelopment","nameLocation":"27510:19:111","nodeType":"FunctionDefinition","parameters":{"id":63846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63836,"mutability":"mutable","name":"proposalId","nameLocation":"27543:10:111","nodeType":"VariableDeclaration","scope":63848,"src":"27535:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63835,"name":"uint256","nodeType":"ElementaryTypeName","src":"27535:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63838,"mutability":"mutable","name":"payee","nameLocation":"27567:5:111","nodeType":"VariableDeclaration","scope":63848,"src":"27559:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63837,"name":"address","nodeType":"ElementaryTypeName","src":"27559:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63840,"mutability":"mutable","name":"description","nameLocation":"27594:11:111","nodeType":"VariableDeclaration","scope":63848,"src":"27578:27:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":63839,"name":"string","nodeType":"ElementaryTypeName","src":"27578:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":63842,"mutability":"mutable","name":"implementationDiscussion","nameLocation":"27627:24:111","nodeType":"VariableDeclaration","scope":63848,"src":"27611:40:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":63841,"name":"string","nodeType":"ElementaryTypeName","src":"27611:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":63845,"mutability":"mutable","name":"contributors","nameLocation":"27675:12:111","nodeType":"VariableDeclaration","scope":63848,"src":"27657:30:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":63843,"name":"string","nodeType":"ElementaryTypeName","src":"27657:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":63844,"nodeType":"ArrayTypeName","src":"27657:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"27529:162:111"},"returnParameters":{"id":63847,"nodeType":"ParameterList","parameters":[],"src":"27700:0:111"},"scope":63919,"src":"27501:200:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63849,"nodeType":"StructuredDocumentation","src":"27705:152:111","text":"@notice Update the payee / description / implementation-discussion / contributors of a\n         proposal whose payout has not yet been claimed."},"functionSelector":"6a1423d7","id":63863,"implemented":false,"kind":"function","modifiers":[],"name":"updateCommunityExecution","nameLocation":"27869:24:111","nodeType":"FunctionDefinition","parameters":{"id":63861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63851,"mutability":"mutable","name":"proposalId","nameLocation":"27907:10:111","nodeType":"VariableDeclaration","scope":63863,"src":"27899:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63850,"name":"uint256","nodeType":"ElementaryTypeName","src":"27899:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63853,"mutability":"mutable","name":"payee","nameLocation":"27931:5:111","nodeType":"VariableDeclaration","scope":63863,"src":"27923:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63852,"name":"address","nodeType":"ElementaryTypeName","src":"27923:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63855,"mutability":"mutable","name":"description","nameLocation":"27958:11:111","nodeType":"VariableDeclaration","scope":63863,"src":"27942:27:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":63854,"name":"string","nodeType":"ElementaryTypeName","src":"27942:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":63857,"mutability":"mutable","name":"implementationDiscussion","nameLocation":"27991:24:111","nodeType":"VariableDeclaration","scope":63863,"src":"27975:40:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":63856,"name":"string","nodeType":"ElementaryTypeName","src":"27975:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":63860,"mutability":"mutable","name":"contributors","nameLocation":"28039:12:111","nodeType":"VariableDeclaration","scope":63863,"src":"28021:30:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":63858,"name":"string","nodeType":"ElementaryTypeName","src":"28021:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":63859,"nodeType":"ArrayTypeName","src":"28021:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"27893:162:111"},"returnParameters":{"id":63862,"nodeType":"ParameterList","parameters":[],"src":"28064:0:111"},"scope":63919,"src":"27860:205:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63864,"nodeType":"StructuredDocumentation","src":"28069:100:111","text":"@notice Pull the full implementation cost from Treasury to the registered payee. Permissionless."},"functionSelector":"8a69614e","id":63869,"implemented":false,"kind":"function","modifiers":[],"name":"claimPayout","nameLocation":"28181:11:111","nodeType":"FunctionDefinition","parameters":{"id":63867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63866,"mutability":"mutable","name":"proposalId","nameLocation":"28201:10:111","nodeType":"VariableDeclaration","scope":63869,"src":"28193:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63865,"name":"uint256","nodeType":"ElementaryTypeName","src":"28193:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28192:20:111"},"returnParameters":{"id":63868,"nodeType":"ParameterList","parameters":[],"src":"28221:0:111"},"scope":63919,"src":"28172:50:111","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":63870,"nodeType":"StructuredDocumentation","src":"28226:79:111","text":"@notice The maximum implementation cost (B3TR wei) recorded for a proposal."},"functionSelector":"01d6e78f","id":63877,"implemented":false,"kind":"function","modifiers":[],"name":"getProposalBudget","nameLocation":"28317:17:111","nodeType":"FunctionDefinition","parameters":{"id":63873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63872,"mutability":"mutable","name":"proposalId","nameLocation":"28343:10:111","nodeType":"VariableDeclaration","scope":63877,"src":"28335:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63871,"name":"uint256","nodeType":"ElementaryTypeName","src":"28335:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28334:20:111"},"returnParameters":{"id":63876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63875,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63877,"src":"28378:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63874,"name":"uint256","nodeType":"ElementaryTypeName","src":"28378:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28377:9:111"},"scope":63919,"src":"28308:79:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63878,"nodeType":"StructuredDocumentation","src":"28391:55:111","text":"@notice The single registered payee for a proposal."},"functionSelector":"5452a01b","id":63885,"implemented":false,"kind":"function","modifiers":[],"name":"getProposalPayee","nameLocation":"28458:16:111","nodeType":"FunctionDefinition","parameters":{"id":63881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63880,"mutability":"mutable","name":"proposalId","nameLocation":"28483:10:111","nodeType":"VariableDeclaration","scope":63885,"src":"28475:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63879,"name":"uint256","nodeType":"ElementaryTypeName","src":"28475:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28474:20:111"},"returnParameters":{"id":63884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63883,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63885,"src":"28518:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63882,"name":"address","nodeType":"ElementaryTypeName","src":"28518:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28517:9:111"},"scope":63919,"src":"28449:78:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63886,"nodeType":"StructuredDocumentation","src":"28531:62:111","text":"@notice True iff the payout has been pulled from Treasury."},"functionSelector":"c305f59a","id":63893,"implemented":false,"kind":"function","modifiers":[],"name":"isProposalPaid","nameLocation":"28605:14:111","nodeType":"FunctionDefinition","parameters":{"id":63889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63888,"mutability":"mutable","name":"proposalId","nameLocation":"28628:10:111","nodeType":"VariableDeclaration","scope":63893,"src":"28620:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63887,"name":"uint256","nodeType":"ElementaryTypeName","src":"28620:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28619:20:111"},"returnParameters":{"id":63892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63891,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63893,"src":"28663:4:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63890,"name":"bool","nodeType":"ElementaryTypeName","src":"28663:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28662:6:111"},"scope":63919,"src":"28596:73:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63894,"nodeType":"StructuredDocumentation","src":"28673:73:111","text":"@notice The free-text description registered alongside the V11 payee."},"functionSelector":"229acb17","id":63901,"implemented":false,"kind":"function","modifiers":[],"name":"getProposalDescription","nameLocation":"28758:22:111","nodeType":"FunctionDefinition","parameters":{"id":63897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63896,"mutability":"mutable","name":"proposalId","nameLocation":"28789:10:111","nodeType":"VariableDeclaration","scope":63901,"src":"28781:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63895,"name":"uint256","nodeType":"ElementaryTypeName","src":"28781:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28780:20:111"},"returnParameters":{"id":63900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63899,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63901,"src":"28824:13:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63898,"name":"string","nodeType":"ElementaryTypeName","src":"28824:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28823:15:111"},"scope":63919,"src":"28749:90:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63902,"nodeType":"StructuredDocumentation","src":"28843:62:111","text":"@notice The implementation-discussion link for a proposal."},"functionSelector":"656f3e40","id":63909,"implemented":false,"kind":"function","modifiers":[],"name":"getProposalImplementationDiscussion","nameLocation":"28917:35:111","nodeType":"FunctionDefinition","parameters":{"id":63905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63904,"mutability":"mutable","name":"proposalId","nameLocation":"28961:10:111","nodeType":"VariableDeclaration","scope":63909,"src":"28953:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63903,"name":"uint256","nodeType":"ElementaryTypeName","src":"28953:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28952:20:111"},"returnParameters":{"id":63908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63907,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63909,"src":"28996:13:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":63906,"name":"string","nodeType":"ElementaryTypeName","src":"28996:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28995:15:111"},"scope":63919,"src":"28908:103:111","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":63910,"nodeType":"StructuredDocumentation","src":"29015:84:111","text":"@notice The contributor handle list (github / twitter URLs etc.) for a proposal."},"functionSelector":"5b16e259","id":63918,"implemented":false,"kind":"function","modifiers":[],"name":"getProposalContributors","nameLocation":"29111:23:111","nodeType":"FunctionDefinition","parameters":{"id":63913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63912,"mutability":"mutable","name":"proposalId","nameLocation":"29143:10:111","nodeType":"VariableDeclaration","scope":63918,"src":"29135:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63911,"name":"uint256","nodeType":"ElementaryTypeName","src":"29135:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29134:20:111"},"returnParameters":{"id":63917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63916,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63918,"src":"29178:15:111","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":63914,"name":"string","nodeType":"ElementaryTypeName","src":"29178:6:111","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":63915,"nodeType":"ArrayTypeName","src":"29178:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"29177:17:111"},"scope":63919,"src":"29102:93:111","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":63920,"src":"1501:27696:111","usedErrors":[62924,62929,62932,62937,62944,62949,62954,62959,62966,62973,62980,62990,62995,63004,63009,63012,63015,63020,63025,63030,63037,63040,63045,63050,63055,63063,63068,63073,63078,63085,63768,63773,63776,63783,63788,63793,63798],"usedEvents":[63110,63117,63122,63127,63136,63143,63150,63159,63174,63179,63188,63195,63203,63213,63223,63233,63243,63250,63259,63264,63269,63274,63283,63805,63816,63824,63833]}],"src":"120:29078:111"},"id":111},"contracts/interfaces/IEmissions.sol":{"ast":{"absolutePath":"contracts/interfaces/IEmissions.sol","exportedSymbols":{"IEmissions":[64454]},"id":64455,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":63921,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:112"},{"abstract":false,"baseContracts":[],"canonicalName":"IEmissions","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":64454,"linearizedBaseContracts":[64454],"name":"IEmissions","nameLocation":"68:10:112","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IEmissions.Emission","id":63928,"members":[{"constant":false,"id":63923,"mutability":"mutable","name":"xAllocations","nameLocation":"113:12:112","nodeType":"VariableDeclaration","scope":63928,"src":"105:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63922,"name":"uint256","nodeType":"ElementaryTypeName","src":"105:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63925,"mutability":"mutable","name":"vote2Earn","nameLocation":"139:9:112","nodeType":"VariableDeclaration","scope":63928,"src":"131:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63924,"name":"uint256","nodeType":"ElementaryTypeName","src":"131:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63927,"mutability":"mutable","name":"treasury","nameLocation":"162:8:112","nodeType":"VariableDeclaration","scope":63928,"src":"154:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63926,"name":"uint256","nodeType":"ElementaryTypeName","src":"154:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Emission","nameLocation":"90:8:112","nodeType":"StructDefinition","scope":64454,"src":"83:92:112","visibility":"public"},{"canonicalName":"IEmissions.InitializationData","id":63959,"members":[{"constant":false,"id":63930,"mutability":"mutable","name":"minter","nameLocation":"219:6:112","nodeType":"VariableDeclaration","scope":63959,"src":"211:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63929,"name":"address","nodeType":"ElementaryTypeName","src":"211:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63932,"mutability":"mutable","name":"admin","nameLocation":"239:5:112","nodeType":"VariableDeclaration","scope":63959,"src":"231:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63931,"name":"address","nodeType":"ElementaryTypeName","src":"231:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63934,"mutability":"mutable","name":"upgrader","nameLocation":"258:8:112","nodeType":"VariableDeclaration","scope":63959,"src":"250:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63933,"name":"address","nodeType":"ElementaryTypeName","src":"250:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63936,"mutability":"mutable","name":"contractsAddressManager","nameLocation":"280:23:112","nodeType":"VariableDeclaration","scope":63959,"src":"272:31:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63935,"name":"address","nodeType":"ElementaryTypeName","src":"272:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63938,"mutability":"mutable","name":"decaySettingsManager","nameLocation":"317:20:112","nodeType":"VariableDeclaration","scope":63959,"src":"309:28:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63937,"name":"address","nodeType":"ElementaryTypeName","src":"309:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63940,"mutability":"mutable","name":"b3trAddress","nameLocation":"351:11:112","nodeType":"VariableDeclaration","scope":63959,"src":"343:19:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63939,"name":"address","nodeType":"ElementaryTypeName","src":"343:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63944,"mutability":"mutable","name":"destinations","nameLocation":"379:12:112","nodeType":"VariableDeclaration","scope":63959,"src":"368:23:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$4_storage_ptr","typeString":"address[4]"},"typeName":{"baseType":{"id":63941,"name":"address","nodeType":"ElementaryTypeName","src":"368:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63943,"length":{"hexValue":"34","id":63942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"376:1:112","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"nodeType":"ArrayTypeName","src":"368:10:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$4_storage_ptr","typeString":"address[4]"}},"visibility":"internal"},{"constant":false,"id":63946,"mutability":"mutable","name":"migrationAmount","nameLocation":"405:15:112","nodeType":"VariableDeclaration","scope":63959,"src":"397:23:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63945,"name":"uint256","nodeType":"ElementaryTypeName","src":"397:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63948,"mutability":"mutable","name":"initialXAppAllocation","nameLocation":"434:21:112","nodeType":"VariableDeclaration","scope":63959,"src":"426:29:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63947,"name":"uint256","nodeType":"ElementaryTypeName","src":"426:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63950,"mutability":"mutable","name":"cycleDuration","nameLocation":"469:13:112","nodeType":"VariableDeclaration","scope":63959,"src":"461:21:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63949,"name":"uint256","nodeType":"ElementaryTypeName","src":"461:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63954,"mutability":"mutable","name":"decaySettings","nameLocation":"499:13:112","nodeType":"VariableDeclaration","scope":63959,"src":"488:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$4_storage_ptr","typeString":"uint256[4]"},"typeName":{"baseType":{"id":63951,"name":"uint256","nodeType":"ElementaryTypeName","src":"488:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63953,"length":{"hexValue":"34","id":63952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"496:1:112","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"nodeType":"ArrayTypeName","src":"488:10:112","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$4_storage_ptr","typeString":"uint256[4]"}},"visibility":"internal"},{"constant":false,"id":63956,"mutability":"mutable","name":"treasuryPercentage","nameLocation":"526:18:112","nodeType":"VariableDeclaration","scope":63959,"src":"518:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63955,"name":"uint256","nodeType":"ElementaryTypeName","src":"518:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63958,"mutability":"mutable","name":"maxVote2EarnDecay","nameLocation":"558:17:112","nodeType":"VariableDeclaration","scope":63959,"src":"550:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63957,"name":"uint256","nodeType":"ElementaryTypeName","src":"550:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"186:18:112","nodeType":"StructDefinition","scope":64454,"src":"179:401:112","visibility":"public"},{"errorSelector":"6697b232","id":63961,"name":"AccessControlBadConfirmation","nameLocation":"590:28:112","nodeType":"ErrorDefinition","parameters":{"id":63960,"nodeType":"ParameterList","parameters":[],"src":"618:2:112"},"src":"584:37:112"},{"errorSelector":"e2517d3f","id":63967,"name":"AccessControlUnauthorizedAccount","nameLocation":"631:32:112","nodeType":"ErrorDefinition","parameters":{"id":63966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63963,"mutability":"mutable","name":"account","nameLocation":"672:7:112","nodeType":"VariableDeclaration","scope":63967,"src":"664:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63962,"name":"address","nodeType":"ElementaryTypeName","src":"664:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63965,"mutability":"mutable","name":"neededRole","nameLocation":"689:10:112","nodeType":"VariableDeclaration","scope":63967,"src":"681:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"681:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"663:37:112"},"src":"625:76:112"},{"errorSelector":"9996b315","id":63971,"name":"AddressEmptyCode","nameLocation":"711:16:112","nodeType":"ErrorDefinition","parameters":{"id":63970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63969,"mutability":"mutable","name":"target","nameLocation":"736:6:112","nodeType":"VariableDeclaration","scope":63971,"src":"728:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63968,"name":"address","nodeType":"ElementaryTypeName","src":"728:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"727:16:112"},"src":"705:39:112"},{"errorSelector":"4c9c8ce3","id":63975,"name":"ERC1967InvalidImplementation","nameLocation":"754:28:112","nodeType":"ErrorDefinition","parameters":{"id":63974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63973,"mutability":"mutable","name":"implementation","nameLocation":"791:14:112","nodeType":"VariableDeclaration","scope":63975,"src":"783:22:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63972,"name":"address","nodeType":"ElementaryTypeName","src":"783:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"782:24:112"},"src":"748:59:112"},{"errorSelector":"b398979f","id":63977,"name":"ERC1967NonPayable","nameLocation":"817:17:112","nodeType":"ErrorDefinition","parameters":{"id":63976,"nodeType":"ParameterList","parameters":[],"src":"834:2:112"},"src":"811:26:112"},{"errorSelector":"1425ea42","id":63979,"name":"FailedInnerCall","nameLocation":"847:15:112","nodeType":"ErrorDefinition","parameters":{"id":63978,"nodeType":"ParameterList","parameters":[],"src":"862:2:112"},"src":"841:24:112"},{"errorSelector":"f92ee8a9","id":63981,"name":"InvalidInitialization","nameLocation":"875:21:112","nodeType":"ErrorDefinition","parameters":{"id":63980,"nodeType":"ParameterList","parameters":[],"src":"896:2:112"},"src":"869:30:112"},{"errorSelector":"d7e6bcf8","id":63983,"name":"NotInitializing","nameLocation":"909:15:112","nodeType":"ErrorDefinition","parameters":{"id":63982,"nodeType":"ParameterList","parameters":[],"src":"924:2:112"},"src":"903:24:112"},{"errorSelector":"3ee5aeb5","id":63985,"name":"ReentrancyGuardReentrantCall","nameLocation":"937:28:112","nodeType":"ErrorDefinition","parameters":{"id":63984,"nodeType":"ParameterList","parameters":[],"src":"965:2:112"},"src":"931:37:112"},{"errorSelector":"e07c8dba","id":63987,"name":"UUPSUnauthorizedCallContext","nameLocation":"978:27:112","nodeType":"ErrorDefinition","parameters":{"id":63986,"nodeType":"ParameterList","parameters":[],"src":"1005:2:112"},"src":"972:36:112"},{"errorSelector":"aa1d49a4","id":63991,"name":"UUPSUnsupportedProxiableUUID","nameLocation":"1018:28:112","nodeType":"ErrorDefinition","parameters":{"id":63990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63989,"mutability":"mutable","name":"slot","nameLocation":"1055:4:112","nodeType":"VariableDeclaration","scope":63991,"src":"1047:12:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1047:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1046:14:112"},"src":"1012:49:112"},{"anonymous":false,"eventSelector":"7c897ff56bcd3a056ab27ca141deca9ce9a09fe7b851715a4c03b369fd70ad62","id":63997,"name":"EmissionCycleDurationUpdated","nameLocation":"1071:28:112","nodeType":"EventDefinition","parameters":{"id":63996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63993,"indexed":true,"mutability":"mutable","name":"newDuration","nameLocation":"1116:11:112","nodeType":"VariableDeclaration","scope":63997,"src":"1100:27:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63992,"name":"uint256","nodeType":"ElementaryTypeName","src":"1100:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63995,"indexed":true,"mutability":"mutable","name":"oldDuration","nameLocation":"1145:11:112","nodeType":"VariableDeclaration","scope":63997,"src":"1129:27:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63994,"name":"uint256","nodeType":"ElementaryTypeName","src":"1129:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1099:58:112"},"src":"1065:93:112"},{"anonymous":false,"eventSelector":"c10991af512b2eed20624a979ed5685f85c6c9f56aacb839270474da3acbfa61","id":64009,"name":"EmissionDistributedV2","nameLocation":"1168:21:112","nodeType":"EventDefinition","parameters":{"id":64008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63999,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"1211:5:112","nodeType":"VariableDeclaration","scope":64009,"src":"1195:21:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63998,"name":"uint256","nodeType":"ElementaryTypeName","src":"1195:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64001,"indexed":false,"mutability":"mutable","name":"xAllocations","nameLocation":"1230:12:112","nodeType":"VariableDeclaration","scope":64009,"src":"1222:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64000,"name":"uint256","nodeType":"ElementaryTypeName","src":"1222:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64003,"indexed":false,"mutability":"mutable","name":"vote2Earn","nameLocation":"1256:9:112","nodeType":"VariableDeclaration","scope":64009,"src":"1248:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64002,"name":"uint256","nodeType":"ElementaryTypeName","src":"1248:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64005,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"1279:8:112","nodeType":"VariableDeclaration","scope":64009,"src":"1271:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64004,"name":"uint256","nodeType":"ElementaryTypeName","src":"1271:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64007,"indexed":false,"mutability":"mutable","name":"gm","nameLocation":"1301:2:112","nodeType":"VariableDeclaration","scope":64009,"src":"1293:10:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64006,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1189:118:112"},"src":"1162:146:112"},{"anonymous":false,"eventSelector":"808dd6e6b8eac0877deeb0f618c8e6776fa59d4ce0ede71e3c4a41bf91e9e462","id":64019,"name":"EmissionDistributed","nameLocation":"1318:19:112","nodeType":"EventDefinition","parameters":{"id":64018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64011,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"1359:5:112","nodeType":"VariableDeclaration","scope":64019,"src":"1343:21:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64010,"name":"uint256","nodeType":"ElementaryTypeName","src":"1343:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64013,"indexed":false,"mutability":"mutable","name":"xAllocations","nameLocation":"1378:12:112","nodeType":"VariableDeclaration","scope":64019,"src":"1370:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64012,"name":"uint256","nodeType":"ElementaryTypeName","src":"1370:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64015,"indexed":false,"mutability":"mutable","name":"vote2Earn","nameLocation":"1404:9:112","nodeType":"VariableDeclaration","scope":64019,"src":"1396:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64014,"name":"uint256","nodeType":"ElementaryTypeName","src":"1396:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64017,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"1427:8:112","nodeType":"VariableDeclaration","scope":64019,"src":"1419:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64016,"name":"uint256","nodeType":"ElementaryTypeName","src":"1419:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1337:102:112"},"src":"1312:128:112"},{"anonymous":false,"eventSelector":"c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2","id":64023,"name":"Initialized","nameLocation":"1450:11:112","nodeType":"EventDefinition","parameters":{"id":64022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64021,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"1469:7:112","nodeType":"VariableDeclaration","scope":64023,"src":"1462:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":64020,"name":"uint64","nodeType":"ElementaryTypeName","src":"1462:6:112","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1461:16:112"},"src":"1444:34:112"},{"anonymous":false,"eventSelector":"25926bb56f58bd134092558734add1eb03c0cd4d2ed23753bc592d341efd1ef4","id":64029,"name":"MaxVote2EarnDecayUpdated","nameLocation":"1488:24:112","nodeType":"EventDefinition","parameters":{"id":64028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64025,"indexed":true,"mutability":"mutable","name":"newDecay","nameLocation":"1529:8:112","nodeType":"VariableDeclaration","scope":64029,"src":"1513:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64024,"name":"uint256","nodeType":"ElementaryTypeName","src":"1513:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64027,"indexed":true,"mutability":"mutable","name":"oldDecay","nameLocation":"1555:8:112","nodeType":"VariableDeclaration","scope":64029,"src":"1539:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64026,"name":"uint256","nodeType":"ElementaryTypeName","src":"1539:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1512:52:112"},"src":"1482:83:112"},{"anonymous":false,"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":64037,"name":"RoleAdminChanged","nameLocation":"1575:16:112","nodeType":"EventDefinition","parameters":{"id":64036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64031,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1608:4:112","nodeType":"VariableDeclaration","scope":64037,"src":"1592:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1592:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64033,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"1630:17:112","nodeType":"VariableDeclaration","scope":64037,"src":"1614:33:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1614:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64035,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"1665:12:112","nodeType":"VariableDeclaration","scope":64037,"src":"1649:28:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64034,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1649:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1591:87:112"},"src":"1569:110:112"},{"anonymous":false,"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":64045,"name":"RoleGranted","nameLocation":"1689:11:112","nodeType":"EventDefinition","parameters":{"id":64044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64039,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1717:4:112","nodeType":"VariableDeclaration","scope":64045,"src":"1701:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1701:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64041,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1739:7:112","nodeType":"VariableDeclaration","scope":64045,"src":"1723:23:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64040,"name":"address","nodeType":"ElementaryTypeName","src":"1723:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64043,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1764:6:112","nodeType":"VariableDeclaration","scope":64045,"src":"1748:22:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64042,"name":"address","nodeType":"ElementaryTypeName","src":"1748:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1700:71:112"},"src":"1683:89:112"},{"anonymous":false,"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":64053,"name":"RoleRevoked","nameLocation":"1782:11:112","nodeType":"EventDefinition","parameters":{"id":64052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64047,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1810:4:112","nodeType":"VariableDeclaration","scope":64053,"src":"1794:20:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64046,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1794:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64049,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1832:7:112","nodeType":"VariableDeclaration","scope":64053,"src":"1816:23:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64048,"name":"address","nodeType":"ElementaryTypeName","src":"1816:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64051,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1857:6:112","nodeType":"VariableDeclaration","scope":64053,"src":"1841:22:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64050,"name":"address","nodeType":"ElementaryTypeName","src":"1841:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1793:71:112"},"src":"1776:89:112"},{"anonymous":false,"eventSelector":"430359a6d97ced2b6f93c77a91e7ce9dfd43252eb91e916adba170485cd8a6a4","id":64059,"name":"TreasuryAddressUpdated","nameLocation":"1875:22:112","nodeType":"EventDefinition","parameters":{"id":64058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64055,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"1914:10:112","nodeType":"VariableDeclaration","scope":64059,"src":"1898:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64054,"name":"address","nodeType":"ElementaryTypeName","src":"1898:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64057,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"1942:10:112","nodeType":"VariableDeclaration","scope":64059,"src":"1926:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64056,"name":"address","nodeType":"ElementaryTypeName","src":"1926:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1897:56:112"},"src":"1869:85:112"},{"anonymous":false,"eventSelector":"0deeffbb4509f1ce2d10e6be0a39dd765796271e488c93b2f455d4f86f55bba7","id":64065,"name":"TreasuryPercentageUpdated","nameLocation":"1964:25:112","nodeType":"EventDefinition","parameters":{"id":64064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64061,"indexed":true,"mutability":"mutable","name":"newPercentage","nameLocation":"2006:13:112","nodeType":"VariableDeclaration","scope":64065,"src":"1990:29:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64060,"name":"uint256","nodeType":"ElementaryTypeName","src":"1990:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64063,"indexed":true,"mutability":"mutable","name":"oldPercentage","nameLocation":"2037:13:112","nodeType":"VariableDeclaration","scope":64065,"src":"2021:29:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64062,"name":"uint256","nodeType":"ElementaryTypeName","src":"2021:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1989:62:112"},"src":"1958:94:112"},{"anonymous":false,"eventSelector":"049c72084b7d7238f7555fe59ea17e899edc3f22f832086fe1b4549c4456e7ad","id":64071,"name":"GMPercentageUpdated","nameLocation":"2062:19:112","nodeType":"EventDefinition","parameters":{"id":64070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64067,"indexed":true,"mutability":"mutable","name":"newPercentage","nameLocation":"2098:13:112","nodeType":"VariableDeclaration","scope":64071,"src":"2082:29:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64066,"name":"uint256","nodeType":"ElementaryTypeName","src":"2082:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64069,"indexed":true,"mutability":"mutable","name":"oldPercentage","nameLocation":"2129:13:112","nodeType":"VariableDeclaration","scope":64071,"src":"2113:29:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64068,"name":"uint256","nodeType":"ElementaryTypeName","src":"2113:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2081:62:112"},"src":"2056:88:112"},{"anonymous":false,"eventSelector":"bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","id":64075,"name":"Upgraded","nameLocation":"2154:8:112","nodeType":"EventDefinition","parameters":{"id":64074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64073,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"2179:14:112","nodeType":"VariableDeclaration","scope":64075,"src":"2163:30:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64072,"name":"address","nodeType":"ElementaryTypeName","src":"2163:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2162:32:112"},"src":"2148:47:112"},{"anonymous":false,"eventSelector":"69a718f328110240051382af8d9230bd304c4f60d5c5c5c73b37629ba594c12b","id":64081,"name":"Vote2EarnAddressUpdated","nameLocation":"2205:23:112","nodeType":"EventDefinition","parameters":{"id":64080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64077,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"2245:10:112","nodeType":"VariableDeclaration","scope":64081,"src":"2229:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64076,"name":"address","nodeType":"ElementaryTypeName","src":"2229:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64079,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"2273:10:112","nodeType":"VariableDeclaration","scope":64081,"src":"2257:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64078,"name":"address","nodeType":"ElementaryTypeName","src":"2257:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2228:56:112"},"src":"2199:86:112"},{"anonymous":false,"eventSelector":"abd78647c007c6d1d6eecf4716e5a72a4d9bd9567a40c1bff6744afaea572e19","id":64087,"name":"Vote2EarnDecayPeriodUpdated","nameLocation":"2295:27:112","nodeType":"EventDefinition","parameters":{"id":64086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64083,"indexed":true,"mutability":"mutable","name":"newPeriod","nameLocation":"2339:9:112","nodeType":"VariableDeclaration","scope":64087,"src":"2323:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64082,"name":"uint256","nodeType":"ElementaryTypeName","src":"2323:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64085,"indexed":true,"mutability":"mutable","name":"oldPeriod","nameLocation":"2366:9:112","nodeType":"VariableDeclaration","scope":64087,"src":"2350:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64084,"name":"uint256","nodeType":"ElementaryTypeName","src":"2350:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2322:54:112"},"src":"2289:88:112"},{"anonymous":false,"eventSelector":"15aab0e25dd2072455ecac370347ecad5df8a13656d8bde714e0314ac71c5416","id":64093,"name":"Vote2EarnDecayUpdated","nameLocation":"2387:21:112","nodeType":"EventDefinition","parameters":{"id":64092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64089,"indexed":true,"mutability":"mutable","name":"newDecay","nameLocation":"2425:8:112","nodeType":"VariableDeclaration","scope":64093,"src":"2409:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64088,"name":"uint256","nodeType":"ElementaryTypeName","src":"2409:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64091,"indexed":true,"mutability":"mutable","name":"oldDecay","nameLocation":"2451:8:112","nodeType":"VariableDeclaration","scope":64093,"src":"2435:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64090,"name":"uint256","nodeType":"ElementaryTypeName","src":"2435:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2408:52:112"},"src":"2381:80:112"},{"anonymous":false,"eventSelector":"3e77e17725ad6388690c6b478b505741b36c387ddd1625044d8597cabe0790b5","id":64099,"name":"XAllocationsAddressUpdated","nameLocation":"2471:26:112","nodeType":"EventDefinition","parameters":{"id":64098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64095,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"2514:10:112","nodeType":"VariableDeclaration","scope":64099,"src":"2498:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64094,"name":"address","nodeType":"ElementaryTypeName","src":"2498:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64097,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"2542:10:112","nodeType":"VariableDeclaration","scope":64099,"src":"2526:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64096,"name":"address","nodeType":"ElementaryTypeName","src":"2526:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2497:56:112"},"src":"2465:89:112"},{"anonymous":false,"eventSelector":"36ad3c0b2a12e3b2cdd1d93564f27f8b4a45b28fd15338f0bb82b6cfbdd384f3","id":64105,"name":"XAllocationsDecayPeriodUpdated","nameLocation":"2564:30:112","nodeType":"EventDefinition","parameters":{"id":64104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64101,"indexed":true,"mutability":"mutable","name":"newPeriod","nameLocation":"2611:9:112","nodeType":"VariableDeclaration","scope":64105,"src":"2595:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64100,"name":"uint256","nodeType":"ElementaryTypeName","src":"2595:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64103,"indexed":true,"mutability":"mutable","name":"oldPeriod","nameLocation":"2638:9:112","nodeType":"VariableDeclaration","scope":64105,"src":"2622:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64102,"name":"uint256","nodeType":"ElementaryTypeName","src":"2622:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2594:54:112"},"src":"2558:91:112"},{"anonymous":false,"eventSelector":"3a1ff98d8ba06af5b7cd7bb19bca111f6fa1fba9552b8f15dd2b3f86dfbe2022","id":64111,"name":"XAllocationsDecayUpdated","nameLocation":"2659:24:112","nodeType":"EventDefinition","parameters":{"id":64110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64107,"indexed":true,"mutability":"mutable","name":"newDecay","nameLocation":"2700:8:112","nodeType":"VariableDeclaration","scope":64111,"src":"2684:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64106,"name":"uint256","nodeType":"ElementaryTypeName","src":"2684:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64109,"indexed":true,"mutability":"mutable","name":"oldDecay","nameLocation":"2726:8:112","nodeType":"VariableDeclaration","scope":64111,"src":"2710:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64108,"name":"uint256","nodeType":"ElementaryTypeName","src":"2710:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2683:52:112"},"src":"2653:83:112"},{"anonymous":false,"eventSelector":"d9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af129","id":64117,"name":"XAllocationsGovernorAddressUpdated","nameLocation":"2746:34:112","nodeType":"EventDefinition","parameters":{"id":64116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64113,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"2797:10:112","nodeType":"VariableDeclaration","scope":64117,"src":"2781:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64112,"name":"address","nodeType":"ElementaryTypeName","src":"2781:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64115,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"2825:10:112","nodeType":"VariableDeclaration","scope":64117,"src":"2809:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64114,"name":"address","nodeType":"ElementaryTypeName","src":"2809:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2780:56:112"},"src":"2740:97:112"},{"functionSelector":"952f2133","id":64122,"implemented":false,"kind":"function","modifiers":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"2850:30:112","nodeType":"FunctionDefinition","parameters":{"id":64118,"nodeType":"ParameterList","parameters":[],"src":"2880:2:112"},"returnParameters":{"id":64121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64122,"src":"2906:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2906:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2905:9:112"},"scope":64454,"src":"2841:74:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"dcb74b3f","id":64127,"implemented":false,"kind":"function","modifiers":[],"name":"DECAY_SETTINGS_MANAGER_ROLE","nameLocation":"2928:27:112","nodeType":"FunctionDefinition","parameters":{"id":64123,"nodeType":"ParameterList","parameters":[],"src":"2955:2:112"},"returnParameters":{"id":64126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64125,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64127,"src":"2981:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2981:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2980:9:112"},"scope":64454,"src":"2919:71:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a217fddf","id":64132,"implemented":false,"kind":"function","modifiers":[],"name":"DEFAULT_ADMIN_ROLE","nameLocation":"3003:18:112","nodeType":"FunctionDefinition","parameters":{"id":64128,"nodeType":"ParameterList","parameters":[],"src":"3021:2:112"},"returnParameters":{"id":64131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64130,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64132,"src":"3047:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3047:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3046:9:112"},"scope":64454,"src":"2994:62:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"d5391393","id":64137,"implemented":false,"kind":"function","modifiers":[],"name":"MINTER_ROLE","nameLocation":"3069:11:112","nodeType":"FunctionDefinition","parameters":{"id":64133,"nodeType":"ParameterList","parameters":[],"src":"3080:2:112"},"returnParameters":{"id":64136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64135,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64137,"src":"3106:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3106:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3105:9:112"},"scope":64454,"src":"3060:55:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ef4cadc5","id":64142,"implemented":false,"kind":"function","modifiers":[],"name":"SCALING_FACTOR","nameLocation":"3128:14:112","nodeType":"FunctionDefinition","parameters":{"id":64138,"nodeType":"ParameterList","parameters":[],"src":"3142:2:112"},"returnParameters":{"id":64141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64140,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64142,"src":"3168:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64139,"name":"uint256","nodeType":"ElementaryTypeName","src":"3168:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3167:9:112"},"scope":64454,"src":"3119:58:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f72c0d8b","id":64147,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADER_ROLE","nameLocation":"3190:13:112","nodeType":"FunctionDefinition","parameters":{"id":64143,"nodeType":"ParameterList","parameters":[],"src":"3203:2:112"},"returnParameters":{"id":64146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64147,"src":"3229:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3229:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3228:9:112"},"scope":64454,"src":"3181:57:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ad3cb1cc","id":64152,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADE_INTERFACE_VERSION","nameLocation":"3251:25:112","nodeType":"FunctionDefinition","parameters":{"id":64148,"nodeType":"ParameterList","parameters":[],"src":"3276:2:112"},"returnParameters":{"id":64151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64152,"src":"3302:13:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64149,"name":"string","nodeType":"ElementaryTypeName","src":"3302:6:112","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3301:15:112"},"scope":64454,"src":"3242:75:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"582a486a","id":64157,"implemented":false,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"3330:4:112","nodeType":"FunctionDefinition","parameters":{"id":64153,"nodeType":"ParameterList","parameters":[],"src":"3334:2:112"},"returnParameters":{"id":64156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64155,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64157,"src":"3360:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64154,"name":"address","nodeType":"ElementaryTypeName","src":"3360:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3359:9:112"},"scope":64454,"src":"3321:48:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"fb969b0a","id":64160,"implemented":false,"kind":"function","modifiers":[],"name":"bootstrap","nameLocation":"3382:9:112","nodeType":"FunctionDefinition","parameters":{"id":64158,"nodeType":"ParameterList","parameters":[],"src":"3391:2:112"},"returnParameters":{"id":64159,"nodeType":"ParameterList","parameters":[],"src":"3402:0:112"},"scope":64454,"src":"3373:30:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"5bec4cb4","id":64165,"implemented":false,"kind":"function","modifiers":[],"name":"cycleDuration","nameLocation":"3416:13:112","nodeType":"FunctionDefinition","parameters":{"id":64161,"nodeType":"ParameterList","parameters":[],"src":"3429:2:112"},"returnParameters":{"id":64164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64165,"src":"3455:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64162,"name":"uint256","nodeType":"ElementaryTypeName","src":"3455:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3454:9:112"},"scope":64454,"src":"3407:57:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e4fc6b6d","id":64168,"implemented":false,"kind":"function","modifiers":[],"name":"distribute","nameLocation":"3477:10:112","nodeType":"FunctionDefinition","parameters":{"id":64166,"nodeType":"ParameterList","parameters":[],"src":"3487:2:112"},"returnParameters":{"id":64167,"nodeType":"ParameterList","parameters":[],"src":"3498:0:112"},"scope":64454,"src":"3468:31:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"cb6da670","id":64181,"implemented":false,"kind":"function","modifiers":[],"name":"emissions","nameLocation":"3512:9:112","nodeType":"FunctionDefinition","parameters":{"id":64171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64170,"mutability":"mutable","name":"cycle","nameLocation":"3535:5:112","nodeType":"VariableDeclaration","scope":64181,"src":"3527:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64169,"name":"uint256","nodeType":"ElementaryTypeName","src":"3527:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3521:23:112"},"returnParameters":{"id":64180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64173,"mutability":"mutable","name":"xAllocationsAmount","nameLocation":"3588:18:112","nodeType":"VariableDeclaration","scope":64181,"src":"3580:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64172,"name":"uint256","nodeType":"ElementaryTypeName","src":"3580:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64175,"mutability":"mutable","name":"vote2EarnAmount","nameLocation":"3616:15:112","nodeType":"VariableDeclaration","scope":64181,"src":"3608:23:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64174,"name":"uint256","nodeType":"ElementaryTypeName","src":"3608:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64177,"mutability":"mutable","name":"treasuryAmount","nameLocation":"3641:14:112","nodeType":"VariableDeclaration","scope":64181,"src":"3633:22:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64176,"name":"uint256","nodeType":"ElementaryTypeName","src":"3633:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64179,"mutability":"mutable","name":"gmAmount","nameLocation":"3665:8:112","nodeType":"VariableDeclaration","scope":64181,"src":"3657:16:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64178,"name":"uint256","nodeType":"ElementaryTypeName","src":"3657:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3579:95:112"},"scope":64454,"src":"3503:172:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"be26ed7f","id":64186,"implemented":false,"kind":"function","modifiers":[],"name":"getCurrentCycle","nameLocation":"3688:15:112","nodeType":"FunctionDefinition","parameters":{"id":64182,"nodeType":"ParameterList","parameters":[],"src":"3703:2:112"},"returnParameters":{"id":64185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64184,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64186,"src":"3729:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64183,"name":"uint256","nodeType":"ElementaryTypeName","src":"3729:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3728:9:112"},"scope":64454,"src":"3679:59:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"32446203","id":64191,"implemented":false,"kind":"function","modifiers":[],"name":"getNextCycleBlock","nameLocation":"3751:17:112","nodeType":"FunctionDefinition","parameters":{"id":64187,"nodeType":"ParameterList","parameters":[],"src":"3768:2:112"},"returnParameters":{"id":64190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64189,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64191,"src":"3794:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64188,"name":"uint256","nodeType":"ElementaryTypeName","src":"3794:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3793:9:112"},"scope":64454,"src":"3742:61:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4bdd36ce","id":64196,"implemented":false,"kind":"function","modifiers":[],"name":"getRemainingEmissions","nameLocation":"3816:21:112","nodeType":"FunctionDefinition","parameters":{"id":64192,"nodeType":"ParameterList","parameters":[],"src":"3837:2:112"},"returnParameters":{"id":64195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64196,"src":"3863:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64193,"name":"uint256","nodeType":"ElementaryTypeName","src":"3863:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3862:9:112"},"scope":64454,"src":"3807:65:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"248a9ca3","id":64203,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"3885:12:112","nodeType":"FunctionDefinition","parameters":{"id":64199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64198,"mutability":"mutable","name":"role","nameLocation":"3906:4:112","nodeType":"VariableDeclaration","scope":64203,"src":"3898:12:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3898:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3897:14:112"},"returnParameters":{"id":64202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64203,"src":"3935:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3935:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3934:9:112"},"scope":64454,"src":"3876:68:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"eb358534","id":64210,"implemented":false,"kind":"function","modifiers":[],"name":"getTreasuryAmount","nameLocation":"3957:17:112","nodeType":"FunctionDefinition","parameters":{"id":64206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64205,"mutability":"mutable","name":"cycle","nameLocation":"3983:5:112","nodeType":"VariableDeclaration","scope":64210,"src":"3975:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64204,"name":"uint256","nodeType":"ElementaryTypeName","src":"3975:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3974:15:112"},"returnParameters":{"id":64209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64210,"src":"4013:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64207,"name":"uint256","nodeType":"ElementaryTypeName","src":"4013:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4012:9:112"},"scope":64454,"src":"3948:74:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3542e903","id":64217,"implemented":false,"kind":"function","modifiers":[],"name":"getVote2EarnAmount","nameLocation":"4035:18:112","nodeType":"FunctionDefinition","parameters":{"id":64213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64212,"mutability":"mutable","name":"cycle","nameLocation":"4062:5:112","nodeType":"VariableDeclaration","scope":64217,"src":"4054:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64211,"name":"uint256","nodeType":"ElementaryTypeName","src":"4054:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4053:15:112"},"returnParameters":{"id":64216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64217,"src":"4092:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64214,"name":"uint256","nodeType":"ElementaryTypeName","src":"4092:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4091:9:112"},"scope":64454,"src":"4026:75:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"273364ef","id":64224,"implemented":false,"kind":"function","modifiers":[],"name":"getXAllocationAmount","nameLocation":"4114:20:112","nodeType":"FunctionDefinition","parameters":{"id":64220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64219,"mutability":"mutable","name":"cycle","nameLocation":"4143:5:112","nodeType":"VariableDeclaration","scope":64224,"src":"4135:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64218,"name":"uint256","nodeType":"ElementaryTypeName","src":"4135:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4134:15:112"},"returnParameters":{"id":64223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64224,"src":"4173:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64221,"name":"uint256","nodeType":"ElementaryTypeName","src":"4173:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4172:9:112"},"scope":64454,"src":"4105:77:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"9be1f149","id":64231,"implemented":false,"kind":"function","modifiers":[],"name":"getGMAmount","nameLocation":"4195:11:112","nodeType":"FunctionDefinition","parameters":{"id":64227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64226,"mutability":"mutable","name":"cycle","nameLocation":"4215:5:112","nodeType":"VariableDeclaration","scope":64231,"src":"4207:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64225,"name":"uint256","nodeType":"ElementaryTypeName","src":"4207:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4206:15:112"},"returnParameters":{"id":64230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64229,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64231,"src":"4245:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64228,"name":"uint256","nodeType":"ElementaryTypeName","src":"4245:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4244:9:112"},"scope":64454,"src":"4186:68:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"2f2ff15d","id":64238,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"4267:9:112","nodeType":"FunctionDefinition","parameters":{"id":64236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64233,"mutability":"mutable","name":"role","nameLocation":"4285:4:112","nodeType":"VariableDeclaration","scope":64238,"src":"4277:12:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4277:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64235,"mutability":"mutable","name":"account","nameLocation":"4299:7:112","nodeType":"VariableDeclaration","scope":64238,"src":"4291:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64234,"name":"address","nodeType":"ElementaryTypeName","src":"4291:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4276:31:112"},"returnParameters":{"id":64237,"nodeType":"ParameterList","parameters":[],"src":"4316:0:112"},"scope":64454,"src":"4258:59:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"91d14854","id":64247,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"4330:7:112","nodeType":"FunctionDefinition","parameters":{"id":64243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64240,"mutability":"mutable","name":"role","nameLocation":"4346:4:112","nodeType":"VariableDeclaration","scope":64247,"src":"4338:12:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4338:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64242,"mutability":"mutable","name":"account","nameLocation":"4360:7:112","nodeType":"VariableDeclaration","scope":64247,"src":"4352:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64241,"name":"address","nodeType":"ElementaryTypeName","src":"4352:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4337:31:112"},"returnParameters":{"id":64246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64247,"src":"4392:4:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64244,"name":"bool","nodeType":"ElementaryTypeName","src":"4392:4:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4391:6:112"},"scope":64454,"src":"4321:77:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3fe0a055","id":64252,"implemented":false,"kind":"function","modifiers":[],"name":"initialXAppAllocation","nameLocation":"4411:21:112","nodeType":"FunctionDefinition","parameters":{"id":64248,"nodeType":"ParameterList","parameters":[],"src":"4432:2:112"},"returnParameters":{"id":64251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64252,"src":"4458:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64249,"name":"uint256","nodeType":"ElementaryTypeName","src":"4458:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4457:9:112"},"scope":64454,"src":"4402:65:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"323fe7b5","id":64258,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"4480:10:112","nodeType":"FunctionDefinition","parameters":{"id":64256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64255,"mutability":"mutable","name":"data","nameLocation":"4517:4:112","nodeType":"VariableDeclaration","scope":64258,"src":"4491:30:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$63959_memory_ptr","typeString":"struct IEmissions.InitializationData"},"typeName":{"id":64254,"nodeType":"UserDefinedTypeName","pathNode":{"id":64253,"name":"InitializationData","nameLocations":["4491:18:112"],"nodeType":"IdentifierPath","referencedDeclaration":63959,"src":"4491:18:112"},"referencedDeclaration":63959,"src":"4491:18:112","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$63959_storage_ptr","typeString":"struct IEmissions.InitializationData"}},"visibility":"internal"}],"src":"4490:32:112"},"returnParameters":{"id":64257,"nodeType":"ParameterList","parameters":[],"src":"4531:0:112"},"scope":64454,"src":"4471:61:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"41f6659b","id":64263,"implemented":false,"kind":"function","modifiers":[],"name":"initializeV2","nameLocation":"4545:12:112","nodeType":"FunctionDefinition","parameters":{"id":64261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64260,"mutability":"mutable","name":"_isEmissionsNotAligned","nameLocation":"4563:22:112","nodeType":"VariableDeclaration","scope":64263,"src":"4558:27:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64259,"name":"bool","nodeType":"ElementaryTypeName","src":"4558:4:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4557:29:112"},"returnParameters":{"id":64262,"nodeType":"ParameterList","parameters":[],"src":"4595:0:112"},"scope":64454,"src":"4536:60:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"a66bc817","id":64270,"implemented":false,"kind":"function","modifiers":[],"name":"isCycleDistributed","nameLocation":"4609:18:112","nodeType":"FunctionDefinition","parameters":{"id":64266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64265,"mutability":"mutable","name":"cycle","nameLocation":"4636:5:112","nodeType":"VariableDeclaration","scope":64270,"src":"4628:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64264,"name":"uint256","nodeType":"ElementaryTypeName","src":"4628:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4627:15:112"},"returnParameters":{"id":64269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64270,"src":"4666:4:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64267,"name":"bool","nodeType":"ElementaryTypeName","src":"4666:4:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4665:6:112"},"scope":64454,"src":"4600:72:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e52ef17f","id":64277,"implemented":false,"kind":"function","modifiers":[],"name":"isCycleEnded","nameLocation":"4685:12:112","nodeType":"FunctionDefinition","parameters":{"id":64273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64272,"mutability":"mutable","name":"cycle","nameLocation":"4706:5:112","nodeType":"VariableDeclaration","scope":64277,"src":"4698:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64271,"name":"uint256","nodeType":"ElementaryTypeName","src":"4698:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4697:15:112"},"returnParameters":{"id":64276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64275,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64277,"src":"4736:4:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64274,"name":"bool","nodeType":"ElementaryTypeName","src":"4736:4:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4735:6:112"},"scope":64454,"src":"4676:66:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a9a5aa56","id":64282,"implemented":false,"kind":"function","modifiers":[],"name":"isEmissionsNotAligned","nameLocation":"4755:21:112","nodeType":"FunctionDefinition","parameters":{"id":64278,"nodeType":"ParameterList","parameters":[],"src":"4776:2:112"},"returnParameters":{"id":64281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64280,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64282,"src":"4802:4:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64279,"name":"bool","nodeType":"ElementaryTypeName","src":"4802:4:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4801:6:112"},"scope":64454,"src":"4746:62:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"1e2272c5","id":64287,"implemented":false,"kind":"function","modifiers":[],"name":"isNextCycleDistributable","nameLocation":"4821:24:112","nodeType":"FunctionDefinition","parameters":{"id":64283,"nodeType":"ParameterList","parameters":[],"src":"4845:2:112"},"returnParameters":{"id":64286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64285,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64287,"src":"4871:4:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64284,"name":"bool","nodeType":"ElementaryTypeName","src":"4871:4:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4870:6:112"},"scope":64454,"src":"4812:65:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"c66966b7","id":64292,"implemented":false,"kind":"function","modifiers":[],"name":"lastEmissionBlock","nameLocation":"4890:17:112","nodeType":"FunctionDefinition","parameters":{"id":64288,"nodeType":"ParameterList","parameters":[],"src":"4907:2:112"},"returnParameters":{"id":64291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64292,"src":"4933:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64289,"name":"uint256","nodeType":"ElementaryTypeName","src":"4933:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4932:9:112"},"scope":64454,"src":"4881:61:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"367df424","id":64297,"implemented":false,"kind":"function","modifiers":[],"name":"maxVote2EarnDecay","nameLocation":"4955:17:112","nodeType":"FunctionDefinition","parameters":{"id":64293,"nodeType":"ParameterList","parameters":[],"src":"4972:2:112"},"returnParameters":{"id":64296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64295,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64297,"src":"4998:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64294,"name":"uint256","nodeType":"ElementaryTypeName","src":"4998:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4997:9:112"},"scope":64454,"src":"4946:61:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6b6923b8","id":64302,"implemented":false,"kind":"function","modifiers":[],"name":"nextCycle","nameLocation":"5020:9:112","nodeType":"FunctionDefinition","parameters":{"id":64298,"nodeType":"ParameterList","parameters":[],"src":"5029:2:112"},"returnParameters":{"id":64301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64302,"src":"5055:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64299,"name":"uint256","nodeType":"ElementaryTypeName","src":"5055:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5054:9:112"},"scope":64454,"src":"5011:53:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"52d1902d","id":64307,"implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"5077:13:112","nodeType":"FunctionDefinition","parameters":{"id":64303,"nodeType":"ParameterList","parameters":[],"src":"5090:2:112"},"returnParameters":{"id":64306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64307,"src":"5116:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5116:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5115:9:112"},"scope":64454,"src":"5068:57:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"36568abe","id":64314,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"5138:12:112","nodeType":"FunctionDefinition","parameters":{"id":64312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64309,"mutability":"mutable","name":"role","nameLocation":"5159:4:112","nodeType":"VariableDeclaration","scope":64314,"src":"5151:12:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5151:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64311,"mutability":"mutable","name":"callerConfirmation","nameLocation":"5173:18:112","nodeType":"VariableDeclaration","scope":64314,"src":"5165:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64310,"name":"address","nodeType":"ElementaryTypeName","src":"5165:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5150:42:112"},"returnParameters":{"id":64313,"nodeType":"ParameterList","parameters":[],"src":"5201:0:112"},"scope":64454,"src":"5129:73:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"d547741f","id":64321,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"5215:10:112","nodeType":"FunctionDefinition","parameters":{"id":64319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64316,"mutability":"mutable","name":"role","nameLocation":"5234:4:112","nodeType":"VariableDeclaration","scope":64321,"src":"5226:12:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5226:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64318,"mutability":"mutable","name":"account","nameLocation":"5248:7:112","nodeType":"VariableDeclaration","scope":64321,"src":"5240:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64317,"name":"address","nodeType":"ElementaryTypeName","src":"5240:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5225:31:112"},"returnParameters":{"id":64320,"nodeType":"ParameterList","parameters":[],"src":"5265:0:112"},"scope":64454,"src":"5206:60:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"8cc23934","id":64326,"implemented":false,"kind":"function","modifiers":[],"name":"setCycleDuration","nameLocation":"5279:16:112","nodeType":"FunctionDefinition","parameters":{"id":64324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64323,"mutability":"mutable","name":"_cycleDuration","nameLocation":"5304:14:112","nodeType":"VariableDeclaration","scope":64326,"src":"5296:22:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64322,"name":"uint256","nodeType":"ElementaryTypeName","src":"5296:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5295:24:112"},"returnParameters":{"id":64325,"nodeType":"ParameterList","parameters":[],"src":"5328:0:112"},"scope":64454,"src":"5270:59:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"4f4eeeaa","id":64331,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxVote2EarnDecay","nameLocation":"5342:20:112","nodeType":"FunctionDefinition","parameters":{"id":64329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64328,"mutability":"mutable","name":"_maxVote2EarnDecay","nameLocation":"5371:18:112","nodeType":"VariableDeclaration","scope":64331,"src":"5363:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64327,"name":"uint256","nodeType":"ElementaryTypeName","src":"5363:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5362:28:112"},"returnParameters":{"id":64330,"nodeType":"ParameterList","parameters":[],"src":"5399:0:112"},"scope":64454,"src":"5333:67:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"6605bfda","id":64336,"implemented":false,"kind":"function","modifiers":[],"name":"setTreasuryAddress","nameLocation":"5413:18:112","nodeType":"FunctionDefinition","parameters":{"id":64334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64333,"mutability":"mutable","name":"treasuryAddress","nameLocation":"5440:15:112","nodeType":"VariableDeclaration","scope":64336,"src":"5432:23:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64332,"name":"address","nodeType":"ElementaryTypeName","src":"5432:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5431:25:112"},"returnParameters":{"id":64335,"nodeType":"ParameterList","parameters":[],"src":"5465:0:112"},"scope":64454,"src":"5404:62:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"11c2e55d","id":64341,"implemented":false,"kind":"function","modifiers":[],"name":"setTreasuryPercentage","nameLocation":"5479:21:112","nodeType":"FunctionDefinition","parameters":{"id":64339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64338,"mutability":"mutable","name":"_percentage","nameLocation":"5509:11:112","nodeType":"VariableDeclaration","scope":64341,"src":"5501:19:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64337,"name":"uint256","nodeType":"ElementaryTypeName","src":"5501:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5500:21:112"},"returnParameters":{"id":64340,"nodeType":"ParameterList","parameters":[],"src":"5530:0:112"},"scope":64454,"src":"5470:61:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"e95e824a","id":64346,"implemented":false,"kind":"function","modifiers":[],"name":"setGmPercentage","nameLocation":"5544:15:112","nodeType":"FunctionDefinition","parameters":{"id":64344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64343,"mutability":"mutable","name":"_percentage","nameLocation":"5568:11:112","nodeType":"VariableDeclaration","scope":64346,"src":"5560:19:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64342,"name":"uint256","nodeType":"ElementaryTypeName","src":"5560:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5559:21:112"},"returnParameters":{"id":64345,"nodeType":"ParameterList","parameters":[],"src":"5589:0:112"},"scope":64454,"src":"5535:55:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"8e083b03","id":64351,"implemented":false,"kind":"function","modifiers":[],"name":"setVote2EarnAddress","nameLocation":"5603:19:112","nodeType":"FunctionDefinition","parameters":{"id":64349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64348,"mutability":"mutable","name":"vote2EarnAddress","nameLocation":"5631:16:112","nodeType":"VariableDeclaration","scope":64351,"src":"5623:24:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64347,"name":"address","nodeType":"ElementaryTypeName","src":"5623:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5622:26:112"},"returnParameters":{"id":64350,"nodeType":"ParameterList","parameters":[],"src":"5657:0:112"},"scope":64454,"src":"5594:64:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"8ffa2d0e","id":64356,"implemented":false,"kind":"function","modifiers":[],"name":"setVote2EarnDecay","nameLocation":"5671:17:112","nodeType":"FunctionDefinition","parameters":{"id":64354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64353,"mutability":"mutable","name":"_decay","nameLocation":"5697:6:112","nodeType":"VariableDeclaration","scope":64356,"src":"5689:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64352,"name":"uint256","nodeType":"ElementaryTypeName","src":"5689:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5688:16:112"},"returnParameters":{"id":64355,"nodeType":"ParameterList","parameters":[],"src":"5713:0:112"},"scope":64454,"src":"5662:52:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"4553e60a","id":64361,"implemented":false,"kind":"function","modifiers":[],"name":"setVote2EarnDecayPeriod","nameLocation":"5727:23:112","nodeType":"FunctionDefinition","parameters":{"id":64359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64358,"mutability":"mutable","name":"_period","nameLocation":"5759:7:112","nodeType":"VariableDeclaration","scope":64361,"src":"5751:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64357,"name":"uint256","nodeType":"ElementaryTypeName","src":"5751:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5750:17:112"},"returnParameters":{"id":64360,"nodeType":"ParameterList","parameters":[],"src":"5776:0:112"},"scope":64454,"src":"5718:59:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"289de0c1","id":64366,"implemented":false,"kind":"function","modifiers":[],"name":"setXAllocationsDecay","nameLocation":"5790:20:112","nodeType":"FunctionDefinition","parameters":{"id":64364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64363,"mutability":"mutable","name":"_decay","nameLocation":"5819:6:112","nodeType":"VariableDeclaration","scope":64366,"src":"5811:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64362,"name":"uint256","nodeType":"ElementaryTypeName","src":"5811:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5810:16:112"},"returnParameters":{"id":64365,"nodeType":"ParameterList","parameters":[],"src":"5835:0:112"},"scope":64454,"src":"5781:55:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"9e6fd7e6","id":64371,"implemented":false,"kind":"function","modifiers":[],"name":"setXAllocationsDecayPeriod","nameLocation":"5849:26:112","nodeType":"FunctionDefinition","parameters":{"id":64369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64368,"mutability":"mutable","name":"_period","nameLocation":"5884:7:112","nodeType":"VariableDeclaration","scope":64371,"src":"5876:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64367,"name":"uint256","nodeType":"ElementaryTypeName","src":"5876:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5875:17:112"},"returnParameters":{"id":64370,"nodeType":"ParameterList","parameters":[],"src":"5901:0:112"},"scope":64454,"src":"5840:62:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"3af03ea8","id":64376,"implemented":false,"kind":"function","modifiers":[],"name":"setXAllocationsGovernorAddress","nameLocation":"5915:30:112","nodeType":"FunctionDefinition","parameters":{"id":64374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64373,"mutability":"mutable","name":"_xAllocationsGovernor","nameLocation":"5954:21:112","nodeType":"VariableDeclaration","scope":64376,"src":"5946:29:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64372,"name":"address","nodeType":"ElementaryTypeName","src":"5946:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5945:31:112"},"returnParameters":{"id":64375,"nodeType":"ParameterList","parameters":[],"src":"5985:0:112"},"scope":64454,"src":"5906:80:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"19a66974","id":64381,"implemented":false,"kind":"function","modifiers":[],"name":"setXallocationsAddress","nameLocation":"5999:22:112","nodeType":"FunctionDefinition","parameters":{"id":64379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64378,"mutability":"mutable","name":"xAllocationAddress","nameLocation":"6030:18:112","nodeType":"VariableDeclaration","scope":64381,"src":"6022:26:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64377,"name":"address","nodeType":"ElementaryTypeName","src":"6022:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6021:28:112"},"returnParameters":{"id":64380,"nodeType":"ParameterList","parameters":[],"src":"6058:0:112"},"scope":64454,"src":"5990:69:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"be9a6555","id":64384,"implemented":false,"kind":"function","modifiers":[],"name":"start","nameLocation":"6072:5:112","nodeType":"FunctionDefinition","parameters":{"id":64382,"nodeType":"ParameterList","parameters":[],"src":"6077:2:112"},"returnParameters":{"id":64383,"nodeType":"ParameterList","parameters":[],"src":"6088:0:112"},"scope":64454,"src":"6063:26:112","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"01ffc9a7","id":64391,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"6102:17:112","nodeType":"FunctionDefinition","parameters":{"id":64387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64386,"mutability":"mutable","name":"interfaceId","nameLocation":"6127:11:112","nodeType":"VariableDeclaration","scope":64391,"src":"6120:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":64385,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6120:6:112","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6119:20:112"},"returnParameters":{"id":64390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64391,"src":"6163:4:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64388,"name":"bool","nodeType":"ElementaryTypeName","src":"6163:4:112","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6162:6:112"},"scope":64454,"src":"6093:76:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"450db90b","id":64396,"implemented":false,"kind":"function","modifiers":[],"name":"totalEmissions","nameLocation":"6182:14:112","nodeType":"FunctionDefinition","parameters":{"id":64392,"nodeType":"ParameterList","parameters":[],"src":"6196:2:112"},"returnParameters":{"id":64395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64394,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64396,"src":"6222:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64393,"name":"uint256","nodeType":"ElementaryTypeName","src":"6222:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6221:9:112"},"scope":64454,"src":"6173:58:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"61d027b3","id":64401,"implemented":false,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"6244:8:112","nodeType":"FunctionDefinition","parameters":{"id":64397,"nodeType":"ParameterList","parameters":[],"src":"6252:2:112"},"returnParameters":{"id":64400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64399,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64401,"src":"6278:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64398,"name":"address","nodeType":"ElementaryTypeName","src":"6278:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6277:9:112"},"scope":64454,"src":"6235:52:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"7ab56083","id":64406,"implemented":false,"kind":"function","modifiers":[],"name":"treasuryPercentage","nameLocation":"6300:18:112","nodeType":"FunctionDefinition","parameters":{"id":64402,"nodeType":"ParameterList","parameters":[],"src":"6318:2:112"},"returnParameters":{"id":64405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64404,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64406,"src":"6344:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64403,"name":"uint256","nodeType":"ElementaryTypeName","src":"6344:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6343:9:112"},"scope":64454,"src":"6291:62:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4f1ef286","id":64413,"implemented":false,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"6366:16:112","nodeType":"FunctionDefinition","parameters":{"id":64411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64408,"mutability":"mutable","name":"newImplementation","nameLocation":"6391:17:112","nodeType":"VariableDeclaration","scope":64413,"src":"6383:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64407,"name":"address","nodeType":"ElementaryTypeName","src":"6383:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64410,"mutability":"mutable","name":"data","nameLocation":"6423:4:112","nodeType":"VariableDeclaration","scope":64413,"src":"6410:17:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64409,"name":"bytes","nodeType":"ElementaryTypeName","src":"6410:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6382:46:112"},"returnParameters":{"id":64412,"nodeType":"ParameterList","parameters":[],"src":"6445:0:112"},"scope":64454,"src":"6357:89:112","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"54fd4d50","id":64418,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"6459:7:112","nodeType":"FunctionDefinition","parameters":{"id":64414,"nodeType":"ParameterList","parameters":[],"src":"6466:2:112"},"returnParameters":{"id":64417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64416,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64418,"src":"6492:13:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64415,"name":"string","nodeType":"ElementaryTypeName","src":"6492:6:112","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6491:15:112"},"scope":64454,"src":"6450:57:112","stateMutability":"pure","virtual":false,"visibility":"external"},{"functionSelector":"100e550a","id":64423,"implemented":false,"kind":"function","modifiers":[],"name":"vote2Earn","nameLocation":"6520:9:112","nodeType":"FunctionDefinition","parameters":{"id":64419,"nodeType":"ParameterList","parameters":[],"src":"6529:2:112"},"returnParameters":{"id":64422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64423,"src":"6555:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64420,"name":"address","nodeType":"ElementaryTypeName","src":"6555:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6554:9:112"},"scope":64454,"src":"6511:53:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"73e96a33","id":64428,"implemented":false,"kind":"function","modifiers":[],"name":"vote2EarnDecay","nameLocation":"6577:14:112","nodeType":"FunctionDefinition","parameters":{"id":64424,"nodeType":"ParameterList","parameters":[],"src":"6591:2:112"},"returnParameters":{"id":64427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64428,"src":"6617:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64425,"name":"uint256","nodeType":"ElementaryTypeName","src":"6617:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6616:9:112"},"scope":64454,"src":"6568:58:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e7b685cf","id":64433,"implemented":false,"kind":"function","modifiers":[],"name":"vote2EarnDecayPeriod","nameLocation":"6639:20:112","nodeType":"FunctionDefinition","parameters":{"id":64429,"nodeType":"ParameterList","parameters":[],"src":"6659:2:112"},"returnParameters":{"id":64432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64431,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64433,"src":"6685:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64430,"name":"uint256","nodeType":"ElementaryTypeName","src":"6685:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6684:9:112"},"scope":64454,"src":"6630:64:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a465fb0a","id":64438,"implemented":false,"kind":"function","modifiers":[],"name":"xAllocations","nameLocation":"6707:12:112","nodeType":"FunctionDefinition","parameters":{"id":64434,"nodeType":"ParameterList","parameters":[],"src":"6719:2:112"},"returnParameters":{"id":64437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64436,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64438,"src":"6745:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64435,"name":"address","nodeType":"ElementaryTypeName","src":"6745:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6744:9:112"},"scope":64454,"src":"6698:56:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"0b236bf7","id":64443,"implemented":false,"kind":"function","modifiers":[],"name":"xAllocationsDecay","nameLocation":"6767:17:112","nodeType":"FunctionDefinition","parameters":{"id":64439,"nodeType":"ParameterList","parameters":[],"src":"6784:2:112"},"returnParameters":{"id":64442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64443,"src":"6810:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64440,"name":"uint256","nodeType":"ElementaryTypeName","src":"6810:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6809:9:112"},"scope":64454,"src":"6758:61:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4f228ec2","id":64448,"implemented":false,"kind":"function","modifiers":[],"name":"xAllocationsDecayPeriod","nameLocation":"6832:23:112","nodeType":"FunctionDefinition","parameters":{"id":64444,"nodeType":"ParameterList","parameters":[],"src":"6855:2:112"},"returnParameters":{"id":64447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64448,"src":"6881:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64445,"name":"uint256","nodeType":"ElementaryTypeName","src":"6881:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6880:9:112"},"scope":64454,"src":"6823:67:112","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5ecf68e9","id":64453,"implemented":false,"kind":"function","modifiers":[],"name":"xAllocationsGovernor","nameLocation":"6903:20:112","nodeType":"FunctionDefinition","parameters":{"id":64449,"nodeType":"ParameterList","parameters":[],"src":"6923:2:112"},"returnParameters":{"id":64452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64451,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64453,"src":"6949:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64450,"name":"address","nodeType":"ElementaryTypeName","src":"6949:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6948:9:112"},"scope":64454,"src":"6894:64:112","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":64455,"src":"58:6902:112","usedErrors":[63961,63967,63971,63975,63977,63979,63981,63983,63985,63987,63991],"usedEvents":[63997,64009,64019,64023,64029,64037,64045,64053,64059,64065,64071,64075,64081,64087,64093,64099,64105,64111,64117]}],"src":"33:6928:112"},"id":112},"contracts/interfaces/IGalaxyMember.sol":{"ast":{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","exportedSymbols":{"Checkpoints":[10447],"IGalaxyMember":[65196],"Math":[7015]},"id":65197,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":64456,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:113"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":64457,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":65197,"sourceUnit":10448,"src":"58:63:113","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IGalaxyMember","contractDependencies":[],"contractKind":"interface","documentation":{"id":64458,"nodeType":"StructuredDocumentation","src":"123:258:113","text":" @title IGalaxyMember\n @notice Interface for the GalaxyMember contract which handles NFT membership and governance functionality\n @dev Implements ERC721 with additional features for level upgrades, node attachments, and governance participation"},"fullyImplemented":false,"id":65196,"linearizedBaseContracts":[65196],"name":"IGalaxyMember","nameLocation":"392:13:113","nodeType":"ContractDefinition","nodes":[{"errorSelector":"6697b232","id":64460,"name":"AccessControlBadConfirmation","nameLocation":"435:28:113","nodeType":"ErrorDefinition","parameters":{"id":64459,"nodeType":"ParameterList","parameters":[],"src":"463:2:113"},"src":"429:37:113"},{"errorSelector":"e2517d3f","id":64466,"name":"AccessControlUnauthorizedAccount","nameLocation":"475:32:113","nodeType":"ErrorDefinition","parameters":{"id":64465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64462,"mutability":"mutable","name":"account","nameLocation":"516:7:113","nodeType":"VariableDeclaration","scope":64466,"src":"508:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64461,"name":"address","nodeType":"ElementaryTypeName","src":"508:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64464,"mutability":"mutable","name":"neededRole","nameLocation":"533:10:113","nodeType":"VariableDeclaration","scope":64466,"src":"525:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"525:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"507:37:113"},"src":"469:76:113"},{"errorSelector":"9996b315","id":64470,"name":"AddressEmptyCode","nameLocation":"554:16:113","nodeType":"ErrorDefinition","parameters":{"id":64469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64468,"mutability":"mutable","name":"target","nameLocation":"579:6:113","nodeType":"VariableDeclaration","scope":64470,"src":"571:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64467,"name":"address","nodeType":"ElementaryTypeName","src":"571:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"570:16:113"},"src":"548:39:113"},{"errorSelector":"4c9c8ce3","id":64474,"name":"ERC1967InvalidImplementation","nameLocation":"596:28:113","nodeType":"ErrorDefinition","parameters":{"id":64473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64472,"mutability":"mutable","name":"implementation","nameLocation":"633:14:113","nodeType":"VariableDeclaration","scope":64474,"src":"625:22:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64471,"name":"address","nodeType":"ElementaryTypeName","src":"625:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"624:24:113"},"src":"590:59:113"},{"errorSelector":"b398979f","id":64476,"name":"ERC1967NonPayable","nameLocation":"658:17:113","nodeType":"ErrorDefinition","parameters":{"id":64475,"nodeType":"ParameterList","parameters":[],"src":"675:2:113"},"src":"652:26:113"},{"errorSelector":"ecd3f81e","id":64482,"name":"ERC5805FutureLookup","nameLocation":"687:19:113","nodeType":"ErrorDefinition","parameters":{"id":64481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64478,"mutability":"mutable","name":"timepoint","nameLocation":"715:9:113","nodeType":"VariableDeclaration","scope":64482,"src":"707:17:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64477,"name":"uint256","nodeType":"ElementaryTypeName","src":"707:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64480,"mutability":"mutable","name":"clock","nameLocation":"733:5:113","nodeType":"VariableDeclaration","scope":64482,"src":"726:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":64479,"name":"uint48","nodeType":"ElementaryTypeName","src":"726:6:113","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"706:33:113"},"src":"681:59:113"},{"errorSelector":"6ff07140","id":64484,"name":"ERC6372InconsistentClock","nameLocation":"749:24:113","nodeType":"ErrorDefinition","parameters":{"id":64483,"nodeType":"ParameterList","parameters":[],"src":"773:2:113"},"src":"743:33:113"},{"errorSelector":"59171fc1","id":64486,"name":"ERC721EnumerableForbiddenBatchMint","nameLocation":"785:34:113","nodeType":"ErrorDefinition","parameters":{"id":64485,"nodeType":"ParameterList","parameters":[],"src":"819:2:113"},"src":"779:43:113"},{"errorSelector":"64283d7b","id":64494,"name":"ERC721IncorrectOwner","nameLocation":"831:20:113","nodeType":"ErrorDefinition","parameters":{"id":64493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64488,"mutability":"mutable","name":"sender","nameLocation":"860:6:113","nodeType":"VariableDeclaration","scope":64494,"src":"852:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64487,"name":"address","nodeType":"ElementaryTypeName","src":"852:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64490,"mutability":"mutable","name":"tokenId","nameLocation":"876:7:113","nodeType":"VariableDeclaration","scope":64494,"src":"868:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64489,"name":"uint256","nodeType":"ElementaryTypeName","src":"868:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64492,"mutability":"mutable","name":"owner","nameLocation":"893:5:113","nodeType":"VariableDeclaration","scope":64494,"src":"885:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64491,"name":"address","nodeType":"ElementaryTypeName","src":"885:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"851:48:113"},"src":"825:75:113"},{"errorSelector":"177e802f","id":64500,"name":"ERC721InsufficientApproval","nameLocation":"909:26:113","nodeType":"ErrorDefinition","parameters":{"id":64499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64496,"mutability":"mutable","name":"operator","nameLocation":"944:8:113","nodeType":"VariableDeclaration","scope":64500,"src":"936:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64495,"name":"address","nodeType":"ElementaryTypeName","src":"936:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64498,"mutability":"mutable","name":"tokenId","nameLocation":"962:7:113","nodeType":"VariableDeclaration","scope":64500,"src":"954:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64497,"name":"uint256","nodeType":"ElementaryTypeName","src":"954:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"935:35:113"},"src":"903:68:113"},{"errorSelector":"a9fbf51f","id":64504,"name":"ERC721InvalidApprover","nameLocation":"980:21:113","nodeType":"ErrorDefinition","parameters":{"id":64503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64502,"mutability":"mutable","name":"approver","nameLocation":"1010:8:113","nodeType":"VariableDeclaration","scope":64504,"src":"1002:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64501,"name":"address","nodeType":"ElementaryTypeName","src":"1002:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1001:18:113"},"src":"974:46:113"},{"errorSelector":"5b08ba18","id":64508,"name":"ERC721InvalidOperator","nameLocation":"1029:21:113","nodeType":"ErrorDefinition","parameters":{"id":64507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64506,"mutability":"mutable","name":"operator","nameLocation":"1059:8:113","nodeType":"VariableDeclaration","scope":64508,"src":"1051:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64505,"name":"address","nodeType":"ElementaryTypeName","src":"1051:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1050:18:113"},"src":"1023:46:113"},{"errorSelector":"89c62b64","id":64512,"name":"ERC721InvalidOwner","nameLocation":"1078:18:113","nodeType":"ErrorDefinition","parameters":{"id":64511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64510,"mutability":"mutable","name":"owner","nameLocation":"1105:5:113","nodeType":"VariableDeclaration","scope":64512,"src":"1097:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64509,"name":"address","nodeType":"ElementaryTypeName","src":"1097:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1096:15:113"},"src":"1072:40:113"},{"errorSelector":"64a0ae92","id":64516,"name":"ERC721InvalidReceiver","nameLocation":"1121:21:113","nodeType":"ErrorDefinition","parameters":{"id":64515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64514,"mutability":"mutable","name":"receiver","nameLocation":"1151:8:113","nodeType":"VariableDeclaration","scope":64516,"src":"1143:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64513,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1142:18:113"},"src":"1115:46:113"},{"errorSelector":"73c6ac6e","id":64520,"name":"ERC721InvalidSender","nameLocation":"1170:19:113","nodeType":"ErrorDefinition","parameters":{"id":64519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64518,"mutability":"mutable","name":"sender","nameLocation":"1198:6:113","nodeType":"VariableDeclaration","scope":64520,"src":"1190:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64517,"name":"address","nodeType":"ElementaryTypeName","src":"1190:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1189:16:113"},"src":"1164:42:113"},{"errorSelector":"7e273289","id":64524,"name":"ERC721NonexistentToken","nameLocation":"1215:22:113","nodeType":"ErrorDefinition","parameters":{"id":64523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64522,"mutability":"mutable","name":"tokenId","nameLocation":"1246:7:113","nodeType":"VariableDeclaration","scope":64524,"src":"1238:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64521,"name":"uint256","nodeType":"ElementaryTypeName","src":"1238:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1237:17:113"},"src":"1209:46:113"},{"errorSelector":"a57d13dc","id":64530,"name":"ERC721OutOfBoundsIndex","nameLocation":"1264:22:113","nodeType":"ErrorDefinition","parameters":{"id":64529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64526,"mutability":"mutable","name":"owner","nameLocation":"1295:5:113","nodeType":"VariableDeclaration","scope":64530,"src":"1287:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64525,"name":"address","nodeType":"ElementaryTypeName","src":"1287:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64528,"mutability":"mutable","name":"index","nameLocation":"1310:5:113","nodeType":"VariableDeclaration","scope":64530,"src":"1302:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64527,"name":"uint256","nodeType":"ElementaryTypeName","src":"1302:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1286:30:113"},"src":"1258:59:113"},{"errorSelector":"d93c0665","id":64532,"name":"EnforcedPause","nameLocation":"1326:13:113","nodeType":"ErrorDefinition","parameters":{"id":64531,"nodeType":"ParameterList","parameters":[],"src":"1339:2:113"},"src":"1320:22:113"},{"errorSelector":"8dfc202b","id":64534,"name":"ExpectedPause","nameLocation":"1351:13:113","nodeType":"ErrorDefinition","parameters":{"id":64533,"nodeType":"ParameterList","parameters":[],"src":"1364:2:113"},"src":"1345:22:113"},{"errorSelector":"1425ea42","id":64536,"name":"FailedInnerCall","nameLocation":"1376:15:113","nodeType":"ErrorDefinition","parameters":{"id":64535,"nodeType":"ParameterList","parameters":[],"src":"1391:2:113"},"src":"1370:24:113"},{"errorSelector":"f92ee8a9","id":64538,"name":"InvalidInitialization","nameLocation":"1403:21:113","nodeType":"ErrorDefinition","parameters":{"id":64537,"nodeType":"ParameterList","parameters":[],"src":"1424:2:113"},"src":"1397:30:113"},{"errorSelector":"d7e6bcf8","id":64540,"name":"NotInitializing","nameLocation":"1436:15:113","nodeType":"ErrorDefinition","parameters":{"id":64539,"nodeType":"ParameterList","parameters":[],"src":"1451:2:113"},"src":"1430:24:113"},{"errorSelector":"3ee5aeb5","id":64542,"name":"ReentrancyGuardReentrantCall","nameLocation":"1463:28:113","nodeType":"ErrorDefinition","parameters":{"id":64541,"nodeType":"ParameterList","parameters":[],"src":"1491:2:113"},"src":"1457:37:113"},{"errorSelector":"e07c8dba","id":64544,"name":"UUPSUnauthorizedCallContext","nameLocation":"1503:27:113","nodeType":"ErrorDefinition","parameters":{"id":64543,"nodeType":"ParameterList","parameters":[],"src":"1530:2:113"},"src":"1497:36:113"},{"errorSelector":"aa1d49a4","id":64548,"name":"UUPSUnsupportedProxiableUUID","nameLocation":"1542:28:113","nodeType":"ErrorDefinition","parameters":{"id":64547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64546,"mutability":"mutable","name":"slot","nameLocation":"1579:4:113","nodeType":"VariableDeclaration","scope":64548,"src":"1571:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1571:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1570:14:113"},"src":"1536:49:113"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":64556,"name":"Approval","nameLocation":"1607:8:113","nodeType":"EventDefinition","parameters":{"id":64555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64550,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"1632:5:113","nodeType":"VariableDeclaration","scope":64556,"src":"1616:21:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64549,"name":"address","nodeType":"ElementaryTypeName","src":"1616:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64552,"indexed":true,"mutability":"mutable","name":"approved","nameLocation":"1655:8:113","nodeType":"VariableDeclaration","scope":64556,"src":"1639:24:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64551,"name":"address","nodeType":"ElementaryTypeName","src":"1639:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64554,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"1681:7:113","nodeType":"VariableDeclaration","scope":64556,"src":"1665:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64553,"name":"uint256","nodeType":"ElementaryTypeName","src":"1665:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1615:74:113"},"src":"1601:89:113"},{"anonymous":false,"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","id":64564,"name":"ApprovalForAll","nameLocation":"1699:14:113","nodeType":"EventDefinition","parameters":{"id":64563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64558,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"1730:5:113","nodeType":"VariableDeclaration","scope":64564,"src":"1714:21:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64557,"name":"address","nodeType":"ElementaryTypeName","src":"1714:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64560,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"1753:8:113","nodeType":"VariableDeclaration","scope":64564,"src":"1737:24:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64559,"name":"address","nodeType":"ElementaryTypeName","src":"1737:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64562,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"1768:8:113","nodeType":"VariableDeclaration","scope":64564,"src":"1763:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64561,"name":"bool","nodeType":"ElementaryTypeName","src":"1763:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1713:64:113"},"src":"1693:85:113"},{"anonymous":false,"eventSelector":"0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf870","id":64569,"name":"B3TRtoUpgradeToLevelUpdated","nameLocation":"1787:27:113","nodeType":"EventDefinition","parameters":{"id":64568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64567,"indexed":false,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"1825:20:113","nodeType":"VariableDeclaration","scope":64569,"src":"1815:30:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":64565,"name":"uint256","nodeType":"ElementaryTypeName","src":"1815:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64566,"nodeType":"ArrayTypeName","src":"1815:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1814:32:113"},"src":"1781:66:113"},{"anonymous":false,"eventSelector":"95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a8270","id":64575,"name":"B3trGovernorAddressUpdated","nameLocation":"1856:26:113","nodeType":"EventDefinition","parameters":{"id":64574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64571,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"1899:10:113","nodeType":"VariableDeclaration","scope":64575,"src":"1883:26:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64570,"name":"address","nodeType":"ElementaryTypeName","src":"1883:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64573,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"1927:10:113","nodeType":"VariableDeclaration","scope":64575,"src":"1911:26:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64572,"name":"address","nodeType":"ElementaryTypeName","src":"1911:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1882:56:113"},"src":"1850:89:113"},{"anonymous":false,"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":64581,"name":"BaseURIUpdated","nameLocation":"1948:14:113","nodeType":"EventDefinition","parameters":{"id":64580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64577,"indexed":true,"mutability":"mutable","name":"newBaseURI","nameLocation":"1978:10:113","nodeType":"VariableDeclaration","scope":64581,"src":"1963:25:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64576,"name":"string","nodeType":"ElementaryTypeName","src":"1963:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":64579,"indexed":true,"mutability":"mutable","name":"oldBaseURI","nameLocation":"2005:10:113","nodeType":"VariableDeclaration","scope":64581,"src":"1990:25:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64578,"name":"string","nodeType":"ElementaryTypeName","src":"1990:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1962:54:113"},"src":"1942:75:113"},{"anonymous":false,"eventSelector":"c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2","id":64585,"name":"Initialized","nameLocation":"2026:11:113","nodeType":"EventDefinition","parameters":{"id":64584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64583,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"2045:7:113","nodeType":"VariableDeclaration","scope":64585,"src":"2038:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":64582,"name":"uint64","nodeType":"ElementaryTypeName","src":"2038:6:113","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"2037:16:113"},"src":"2020:34:113"},{"anonymous":false,"eventSelector":"53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450","id":64591,"name":"MaxLevelUpdated","nameLocation":"2063:15:113","nodeType":"EventDefinition","parameters":{"id":64590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64587,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"2087:8:113","nodeType":"VariableDeclaration","scope":64591,"src":"2079:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64586,"name":"uint256","nodeType":"ElementaryTypeName","src":"2079:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64589,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"2105:8:113","nodeType":"VariableDeclaration","scope":64591,"src":"2097:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64588,"name":"uint256","nodeType":"ElementaryTypeName","src":"2097:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2078:36:113"},"src":"2057:58:113"},{"anonymous":false,"eventSelector":"62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258","id":64595,"name":"Paused","nameLocation":"2124:6:113","nodeType":"EventDefinition","parameters":{"id":64594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64593,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"2139:7:113","nodeType":"VariableDeclaration","scope":64595,"src":"2131:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64592,"name":"address","nodeType":"ElementaryTypeName","src":"2131:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2130:17:113"},"src":"2118:30:113"},{"anonymous":false,"eventSelector":"5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe","id":64599,"name":"PublicMintingPaused","nameLocation":"2157:19:113","nodeType":"EventDefinition","parameters":{"id":64598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64597,"indexed":false,"mutability":"mutable","name":"isPaused","nameLocation":"2182:8:113","nodeType":"VariableDeclaration","scope":64599,"src":"2177:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64596,"name":"bool","nodeType":"ElementaryTypeName","src":"2177:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2176:15:113"},"src":"2151:41:113"},{"anonymous":false,"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":64607,"name":"RoleAdminChanged","nameLocation":"2201:16:113","nodeType":"EventDefinition","parameters":{"id":64606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64601,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"2234:4:113","nodeType":"VariableDeclaration","scope":64607,"src":"2218:20:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2218:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64603,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"2256:17:113","nodeType":"VariableDeclaration","scope":64607,"src":"2240:33:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2240:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64605,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"2291:12:113","nodeType":"VariableDeclaration","scope":64607,"src":"2275:28:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64604,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2275:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2217:87:113"},"src":"2195:110:113"},{"anonymous":false,"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":64615,"name":"RoleGranted","nameLocation":"2314:11:113","nodeType":"EventDefinition","parameters":{"id":64614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64609,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"2342:4:113","nodeType":"VariableDeclaration","scope":64615,"src":"2326:20:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2326:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64611,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2364:7:113","nodeType":"VariableDeclaration","scope":64615,"src":"2348:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64610,"name":"address","nodeType":"ElementaryTypeName","src":"2348:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64613,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"2389:6:113","nodeType":"VariableDeclaration","scope":64615,"src":"2373:22:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64612,"name":"address","nodeType":"ElementaryTypeName","src":"2373:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2325:71:113"},"src":"2308:89:113"},{"anonymous":false,"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":64623,"name":"RoleRevoked","nameLocation":"2406:11:113","nodeType":"EventDefinition","parameters":{"id":64622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64617,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"2434:4:113","nodeType":"VariableDeclaration","scope":64623,"src":"2418:20:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2418:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64619,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2456:7:113","nodeType":"VariableDeclaration","scope":64623,"src":"2440:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64618,"name":"address","nodeType":"ElementaryTypeName","src":"2440:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64621,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"2481:6:113","nodeType":"VariableDeclaration","scope":64623,"src":"2465:22:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64620,"name":"address","nodeType":"ElementaryTypeName","src":"2465:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2417:71:113"},"src":"2400:89:113"},{"anonymous":false,"eventSelector":"d3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc","id":64629,"name":"Selected","nameLocation":"2498:8:113","nodeType":"EventDefinition","parameters":{"id":64628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64625,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"2523:5:113","nodeType":"VariableDeclaration","scope":64629,"src":"2507:21:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64624,"name":"address","nodeType":"ElementaryTypeName","src":"2507:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64627,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"2538:7:113","nodeType":"VariableDeclaration","scope":64629,"src":"2530:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64626,"name":"uint256","nodeType":"ElementaryTypeName","src":"2530:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2506:40:113"},"src":"2492:55:113"},{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":64637,"name":"Transfer","nameLocation":"2556:8:113","nodeType":"EventDefinition","parameters":{"id":64636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64631,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"2581:4:113","nodeType":"VariableDeclaration","scope":64637,"src":"2565:20:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64630,"name":"address","nodeType":"ElementaryTypeName","src":"2565:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64633,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"2603:2:113","nodeType":"VariableDeclaration","scope":64637,"src":"2587:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64632,"name":"address","nodeType":"ElementaryTypeName","src":"2587:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64635,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2623:7:113","nodeType":"VariableDeclaration","scope":64637,"src":"2607:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64634,"name":"uint256","nodeType":"ElementaryTypeName","src":"2607:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2564:67:113"},"src":"2550:82:113"},{"anonymous":false,"eventSelector":"5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa","id":64641,"name":"Unpaused","nameLocation":"2641:8:113","nodeType":"EventDefinition","parameters":{"id":64640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64639,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"2658:7:113","nodeType":"VariableDeclaration","scope":64641,"src":"2650:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64638,"name":"address","nodeType":"ElementaryTypeName","src":"2650:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2649:17:113"},"src":"2635:32:113"},{"anonymous":false,"eventSelector":"bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","id":64645,"name":"Upgraded","nameLocation":"2676:8:113","nodeType":"EventDefinition","parameters":{"id":64644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64643,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"2701:14:113","nodeType":"VariableDeclaration","scope":64645,"src":"2685:30:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64642,"name":"address","nodeType":"ElementaryTypeName","src":"2685:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2684:32:113"},"src":"2670:47:113"},{"anonymous":false,"eventSelector":"936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854","id":64653,"name":"Upgraded","nameLocation":"2726:8:113","nodeType":"EventDefinition","parameters":{"id":64652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64647,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2751:7:113","nodeType":"VariableDeclaration","scope":64653,"src":"2735:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64646,"name":"uint256","nodeType":"ElementaryTypeName","src":"2735:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64649,"indexed":false,"mutability":"mutable","name":"oldLevel","nameLocation":"2768:8:113","nodeType":"VariableDeclaration","scope":64653,"src":"2760:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64648,"name":"uint256","nodeType":"ElementaryTypeName","src":"2760:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64651,"indexed":false,"mutability":"mutable","name":"newLevel","nameLocation":"2786:8:113","nodeType":"VariableDeclaration","scope":64653,"src":"2778:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64650,"name":"uint256","nodeType":"ElementaryTypeName","src":"2778:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2734:61:113"},"src":"2720:76:113"},{"anonymous":false,"eventSelector":"d9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af129","id":64659,"name":"XAllocationsGovernorAddressUpdated","nameLocation":"2805:34:113","nodeType":"EventDefinition","parameters":{"id":64658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64655,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"2856:10:113","nodeType":"VariableDeclaration","scope":64659,"src":"2840:26:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64654,"name":"address","nodeType":"ElementaryTypeName","src":"2840:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64657,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"2884:10:113","nodeType":"VariableDeclaration","scope":64659,"src":"2868:26:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64656,"name":"address","nodeType":"ElementaryTypeName","src":"2868:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2839:56:113"},"src":"2799:97:113"},{"anonymous":false,"eventSelector":"d391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d708","id":64665,"name":"NodeDetached","nameLocation":"2905:12:113","nodeType":"EventDefinition","parameters":{"id":64664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64661,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"2934:11:113","nodeType":"VariableDeclaration","scope":64665,"src":"2918:27:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64660,"name":"uint256","nodeType":"ElementaryTypeName","src":"2918:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64663,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2963:7:113","nodeType":"VariableDeclaration","scope":64665,"src":"2947:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64662,"name":"uint256","nodeType":"ElementaryTypeName","src":"2947:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2917:54:113"},"src":"2899:73:113"},{"anonymous":false,"eventSelector":"b7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f","id":64671,"name":"NodeAttached","nameLocation":"2981:12:113","nodeType":"EventDefinition","parameters":{"id":64670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64667,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"3010:11:113","nodeType":"VariableDeclaration","scope":64671,"src":"2994:27:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64666,"name":"uint256","nodeType":"ElementaryTypeName","src":"2994:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64669,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"3039:7:113","nodeType":"VariableDeclaration","scope":64671,"src":"3023:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64668,"name":"uint256","nodeType":"ElementaryTypeName","src":"3023:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2993:54:113"},"src":"2975:73:113"},{"anonymous":false,"eventSelector":"dd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace7","id":64679,"name":"LevelWhenAttached","nameLocation":"3057:17:113","nodeType":"EventDefinition","parameters":{"id":64678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64673,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"3091:7:113","nodeType":"VariableDeclaration","scope":64679,"src":"3075:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64672,"name":"uint256","nodeType":"ElementaryTypeName","src":"3075:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64675,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"3116:11:113","nodeType":"VariableDeclaration","scope":64679,"src":"3100:27:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64674,"name":"uint256","nodeType":"ElementaryTypeName","src":"3100:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64677,"indexed":false,"mutability":"mutable","name":"level","nameLocation":"3137:5:113","nodeType":"VariableDeclaration","scope":64679,"src":"3129:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64676,"name":"uint256","nodeType":"ElementaryTypeName","src":"3129:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3074:69:113"},"src":"3051:93:113"},{"anonymous":false,"eventSelector":"48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b8590","id":64687,"name":"LevelWhenDetached","nameLocation":"3153:17:113","nodeType":"EventDefinition","parameters":{"id":64686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64681,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"3187:7:113","nodeType":"VariableDeclaration","scope":64687,"src":"3171:23:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64680,"name":"uint256","nodeType":"ElementaryTypeName","src":"3171:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64683,"indexed":true,"mutability":"mutable","name":"nodeTokenId","nameLocation":"3212:11:113","nodeType":"VariableDeclaration","scope":64687,"src":"3196:27:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64682,"name":"uint256","nodeType":"ElementaryTypeName","src":"3196:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64685,"indexed":false,"mutability":"mutable","name":"level","nameLocation":"3233:5:113","nodeType":"VariableDeclaration","scope":64687,"src":"3225:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64684,"name":"uint256","nodeType":"ElementaryTypeName","src":"3225:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3170:69:113"},"src":"3147:93:113"},{"anonymous":false,"eventSelector":"b6903cd12b733685254149291b10013cb82ad4c0da7775f32176e9f9b3334639","id":64693,"name":"StargateNFTAddressUpdated","nameLocation":"3249:25:113","nodeType":"EventDefinition","parameters":{"id":64692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64689,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"3291:10:113","nodeType":"VariableDeclaration","scope":64693,"src":"3275:26:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64688,"name":"address","nodeType":"ElementaryTypeName","src":"3275:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64691,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"3319:10:113","nodeType":"VariableDeclaration","scope":64693,"src":"3303:26:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64690,"name":"address","nodeType":"ElementaryTypeName","src":"3303:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3274:56:113"},"src":"3243:88:113"},{"documentation":{"id":64694,"nodeType":"StructuredDocumentation","src":"3335:69:113","text":"@notice Returns the role identifier for contracts address manager"},"functionSelector":"952f2133","id":64699,"implemented":false,"kind":"function","modifiers":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"3416:30:113","nodeType":"FunctionDefinition","parameters":{"id":64695,"nodeType":"ParameterList","parameters":[],"src":"3446:2:113"},"returnParameters":{"id":64698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64699,"src":"3472:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3472:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3471:9:113"},"scope":65196,"src":"3407:74:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64700,"nodeType":"StructuredDocumentation","src":"3485:57:113","text":"@notice Returns the role identifier for default admin"},"functionSelector":"a217fddf","id":64705,"implemented":false,"kind":"function","modifiers":[],"name":"DEFAULT_ADMIN_ROLE","nameLocation":"3554:18:113","nodeType":"FunctionDefinition","parameters":{"id":64701,"nodeType":"ParameterList","parameters":[],"src":"3572:2:113"},"returnParameters":{"id":64704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64703,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64705,"src":"3598:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3598:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3597:9:113"},"scope":65196,"src":"3545:62:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64706,"nodeType":"StructuredDocumentation","src":"3611:60:113","text":"@notice Returns the maximum level achievable for a token"},"functionSelector":"a49062d4","id":64711,"implemented":false,"kind":"function","modifiers":[],"name":"MAX_LEVEL","nameLocation":"3683:9:113","nodeType":"FunctionDefinition","parameters":{"id":64707,"nodeType":"ParameterList","parameters":[],"src":"3692:2:113"},"returnParameters":{"id":64710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64711,"src":"3718:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64708,"name":"uint256","nodeType":"ElementaryTypeName","src":"3718:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3717:9:113"},"scope":65196,"src":"3674:53:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64712,"nodeType":"StructuredDocumentation","src":"3731:50:113","text":"@notice Returns the role identifier for minter"},"functionSelector":"d5391393","id":64717,"implemented":false,"kind":"function","modifiers":[],"name":"MINTER_ROLE","nameLocation":"3793:11:113","nodeType":"FunctionDefinition","parameters":{"id":64713,"nodeType":"ParameterList","parameters":[],"src":"3804:2:113"},"returnParameters":{"id":64716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64715,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64717,"src":"3830:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3830:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3829:9:113"},"scope":65196,"src":"3784:55:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64718,"nodeType":"StructuredDocumentation","src":"3843:57:113","text":"@notice Returns the role identifier for nodes manager"},"functionSelector":"3d6dbee8","id":64723,"implemented":false,"kind":"function","modifiers":[],"name":"NODES_MANAGER_ROLE","nameLocation":"3912:18:113","nodeType":"FunctionDefinition","parameters":{"id":64719,"nodeType":"ParameterList","parameters":[],"src":"3930:2:113"},"returnParameters":{"id":64722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64723,"src":"3956:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3956:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3955:9:113"},"scope":65196,"src":"3903:62:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64724,"nodeType":"StructuredDocumentation","src":"3969:50:113","text":"@notice Returns the role identifier for pauser"},"functionSelector":"e63ab1e9","id":64729,"implemented":false,"kind":"function","modifiers":[],"name":"PAUSER_ROLE","nameLocation":"4031:11:113","nodeType":"FunctionDefinition","parameters":{"id":64725,"nodeType":"ParameterList","parameters":[],"src":"4042:2:113"},"returnParameters":{"id":64728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64727,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64729,"src":"4068:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4068:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4067:9:113"},"scope":65196,"src":"4022:55:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64730,"nodeType":"StructuredDocumentation","src":"4081:52:113","text":"@notice Returns the role identifier for upgrader"},"functionSelector":"f72c0d8b","id":64735,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADER_ROLE","nameLocation":"4145:13:113","nodeType":"FunctionDefinition","parameters":{"id":64731,"nodeType":"ParameterList","parameters":[],"src":"4158:2:113"},"returnParameters":{"id":64734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64733,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64735,"src":"4184:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4184:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4183:9:113"},"scope":65196,"src":"4136:57:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64736,"nodeType":"StructuredDocumentation","src":"4197:48:113","text":"@notice Returns the interface version string"},"functionSelector":"ad3cb1cc","id":64741,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADE_INTERFACE_VERSION","nameLocation":"4257:25:113","nodeType":"FunctionDefinition","parameters":{"id":64737,"nodeType":"ParameterList","parameters":[],"src":"4282:2:113"},"returnParameters":{"id":64740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64741,"src":"4308:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64738,"name":"string","nodeType":"ElementaryTypeName","src":"4308:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4307:15:113"},"scope":65196,"src":"4248:75:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64742,"nodeType":"StructuredDocumentation","src":"4327:151:113","text":"@notice Approves an address to transfer a specific token\n @param to Address to be approved\n @param tokenId ID of the token to be approved"},"functionSelector":"095ea7b3","id":64749,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4490:7:113","nodeType":"FunctionDefinition","parameters":{"id":64747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64744,"mutability":"mutable","name":"to","nameLocation":"4506:2:113","nodeType":"VariableDeclaration","scope":64749,"src":"4498:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64743,"name":"address","nodeType":"ElementaryTypeName","src":"4498:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64746,"mutability":"mutable","name":"tokenId","nameLocation":"4518:7:113","nodeType":"VariableDeclaration","scope":64749,"src":"4510:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64745,"name":"uint256","nodeType":"ElementaryTypeName","src":"4510:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4497:29:113"},"returnParameters":{"id":64748,"nodeType":"ParameterList","parameters":[],"src":"4535:0:113"},"scope":65196,"src":"4481:55:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":64750,"nodeType":"StructuredDocumentation","src":"4540:138:113","text":"@notice Attaches a node to a token\n @param nodeTokenId ID of the node to attach\n @param tokenId ID of the token to attach to"},"functionSelector":"88371110","id":64757,"implemented":false,"kind":"function","modifiers":[],"name":"attachNode","nameLocation":"4690:10:113","nodeType":"FunctionDefinition","parameters":{"id":64755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64752,"mutability":"mutable","name":"nodeTokenId","nameLocation":"4709:11:113","nodeType":"VariableDeclaration","scope":64757,"src":"4701:19:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64751,"name":"uint256","nodeType":"ElementaryTypeName","src":"4701:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64754,"mutability":"mutable","name":"tokenId","nameLocation":"4730:7:113","nodeType":"VariableDeclaration","scope":64757,"src":"4722:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64753,"name":"uint256","nodeType":"ElementaryTypeName","src":"4722:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4700:38:113"},"returnParameters":{"id":64756,"nodeType":"ParameterList","parameters":[],"src":"4747:0:113"},"scope":65196,"src":"4681:67:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":64758,"nodeType":"StructuredDocumentation","src":"4752:51:113","text":"@notice Returns the B3TR token contract address"},"functionSelector":"582a486a","id":64763,"implemented":false,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"4815:4:113","nodeType":"FunctionDefinition","parameters":{"id":64759,"nodeType":"ParameterList","parameters":[],"src":"4819:2:113"},"returnParameters":{"id":64762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64763,"src":"4845:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64760,"name":"address","nodeType":"ElementaryTypeName","src":"4845:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4844:9:113"},"scope":65196,"src":"4806:48:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64764,"nodeType":"StructuredDocumentation","src":"4858:54:113","text":"@notice Returns the B3TR governor contract address"},"functionSelector":"7893d736","id":64769,"implemented":false,"kind":"function","modifiers":[],"name":"b3trGovernor","nameLocation":"4924:12:113","nodeType":"FunctionDefinition","parameters":{"id":64765,"nodeType":"ParameterList","parameters":[],"src":"4936:2:113"},"returnParameters":{"id":64768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64767,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64769,"src":"4962:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64766,"name":"address","nodeType":"ElementaryTypeName","src":"4962:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4961:9:113"},"scope":65196,"src":"4915:56:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64770,"nodeType":"StructuredDocumentation","src":"4975:133:113","text":"@notice Returns the number of tokens owned by an address\n @param owner Address to query\n @return Number of tokens owned"},"functionSelector":"70a08231","id":64777,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"5120:9:113","nodeType":"FunctionDefinition","parameters":{"id":64773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64772,"mutability":"mutable","name":"owner","nameLocation":"5138:5:113","nodeType":"VariableDeclaration","scope":64777,"src":"5130:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64771,"name":"address","nodeType":"ElementaryTypeName","src":"5130:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5129:15:113"},"returnParameters":{"id":64776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64775,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64777,"src":"5168:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64774,"name":"uint256","nodeType":"ElementaryTypeName","src":"5168:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5167:9:113"},"scope":65196,"src":"5111:66:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64778,"nodeType":"StructuredDocumentation","src":"5181:51:113","text":"@notice Returns the base URI for token metadata"},"functionSelector":"6c0360eb","id":64783,"implemented":false,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"5244:7:113","nodeType":"FunctionDefinition","parameters":{"id":64779,"nodeType":"ParameterList","parameters":[],"src":"5251:2:113"},"returnParameters":{"id":64782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64783,"src":"5277:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64780,"name":"string","nodeType":"ElementaryTypeName","src":"5277:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5276:15:113"},"scope":65196,"src":"5235:57:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64784,"nodeType":"StructuredDocumentation","src":"5296:79:113","text":"@notice Burns a specific token\n @param tokenId ID of the token to burn"},"functionSelector":"42966c68","id":64789,"implemented":false,"kind":"function","modifiers":[],"name":"burn","nameLocation":"5387:4:113","nodeType":"FunctionDefinition","parameters":{"id":64787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64786,"mutability":"mutable","name":"tokenId","nameLocation":"5400:7:113","nodeType":"VariableDeclaration","scope":64789,"src":"5392:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64785,"name":"uint256","nodeType":"ElementaryTypeName","src":"5392:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5391:17:113"},"returnParameters":{"id":64788,"nodeType":"ParameterList","parameters":[],"src":"5417:0:113"},"scope":65196,"src":"5378:40:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":64790,"nodeType":"StructuredDocumentation","src":"5422:142:113","text":"@notice Detaches a node from a token\n @param nodeTokenId ID of the node to detach\n @param tokenId ID of the token to detach from"},"functionSelector":"4a6565e1","id":64797,"implemented":false,"kind":"function","modifiers":[],"name":"detachNode","nameLocation":"5576:10:113","nodeType":"FunctionDefinition","parameters":{"id":64795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64792,"mutability":"mutable","name":"nodeTokenId","nameLocation":"5595:11:113","nodeType":"VariableDeclaration","scope":64797,"src":"5587:19:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64791,"name":"uint256","nodeType":"ElementaryTypeName","src":"5587:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64794,"mutability":"mutable","name":"tokenId","nameLocation":"5616:7:113","nodeType":"VariableDeclaration","scope":64797,"src":"5608:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64793,"name":"uint256","nodeType":"ElementaryTypeName","src":"5608:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5586:38:113"},"returnParameters":{"id":64796,"nodeType":"ParameterList","parameters":[],"src":"5633:0:113"},"scope":65196,"src":"5567:67:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":64798,"nodeType":"StructuredDocumentation","src":"5638:62:113","text":"@notice Allows eligible addresses to mint a token for free"},"functionSelector":"5b70ea9f","id":64801,"implemented":false,"kind":"function","modifiers":[],"name":"freeMint","nameLocation":"5712:8:113","nodeType":"FunctionDefinition","parameters":{"id":64799,"nodeType":"ParameterList","parameters":[],"src":"5720:2:113"},"returnParameters":{"id":64800,"nodeType":"ParameterList","parameters":[],"src":"5731:0:113"},"scope":65196,"src":"5703:29:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":64802,"nodeType":"StructuredDocumentation","src":"5736:143:113","text":"@notice Returns the approved address for a token\n @param tokenId ID of the token to query\n @return Address approved for the token"},"functionSelector":"081812fc","id":64809,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"5891:11:113","nodeType":"FunctionDefinition","parameters":{"id":64805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64804,"mutability":"mutable","name":"tokenId","nameLocation":"5911:7:113","nodeType":"VariableDeclaration","scope":64809,"src":"5903:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64803,"name":"uint256","nodeType":"ElementaryTypeName","src":"5903:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5902:17:113"},"returnParameters":{"id":64808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64807,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64809,"src":"5943:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64806,"name":"address","nodeType":"ElementaryTypeName","src":"5943:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5942:9:113"},"scope":65196,"src":"5882:70:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64810,"nodeType":"StructuredDocumentation","src":"5956:141:113","text":"@notice Returns the amount of B3TR donated for a token\n @param tokenId ID of the token to query\n @return Amount of B3TR donated"},"functionSelector":"865c380b","id":64817,"implemented":false,"kind":"function","modifiers":[],"name":"getB3TRdonated","nameLocation":"6109:14:113","nodeType":"FunctionDefinition","parameters":{"id":64813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64812,"mutability":"mutable","name":"tokenId","nameLocation":"6132:7:113","nodeType":"VariableDeclaration","scope":64817,"src":"6124:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64811,"name":"uint256","nodeType":"ElementaryTypeName","src":"6124:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6123:17:113"},"returnParameters":{"id":64816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64815,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64817,"src":"6164:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64814,"name":"uint256","nodeType":"ElementaryTypeName","src":"6164:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6163:9:113"},"scope":65196,"src":"6100:73:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64818,"nodeType":"StructuredDocumentation","src":"6177:146:113","text":"@notice Returns the amount of B3TR needed to upgrade a token\n @param tokenId ID of the token to query\n @return Amount of B3TR needed"},"functionSelector":"a51d2e0b","id":64825,"implemented":false,"kind":"function","modifiers":[],"name":"getB3TRtoUpgrade","nameLocation":"6335:16:113","nodeType":"FunctionDefinition","parameters":{"id":64821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64820,"mutability":"mutable","name":"tokenId","nameLocation":"6360:7:113","nodeType":"VariableDeclaration","scope":64825,"src":"6352:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64819,"name":"uint256","nodeType":"ElementaryTypeName","src":"6352:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6351:17:113"},"returnParameters":{"id":64824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64823,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64825,"src":"6392:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64822,"name":"uint256","nodeType":"ElementaryTypeName","src":"6392:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6391:9:113"},"scope":65196,"src":"6326:75:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64826,"nodeType":"StructuredDocumentation","src":"6405:144:113","text":"@notice Returns the amount of B3TR needed to upgrade to a specific level\n @param level Target level\n @return Amount of B3TR needed"},"functionSelector":"2b42df38","id":64833,"implemented":false,"kind":"function","modifiers":[],"name":"getB3TRtoUpgradeToLevel","nameLocation":"6561:23:113","nodeType":"FunctionDefinition","parameters":{"id":64829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64828,"mutability":"mutable","name":"level","nameLocation":"6593:5:113","nodeType":"VariableDeclaration","scope":64833,"src":"6585:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64827,"name":"uint256","nodeType":"ElementaryTypeName","src":"6585:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6584:15:113"},"returnParameters":{"id":64832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64833,"src":"6623:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64830,"name":"uint256","nodeType":"ElementaryTypeName","src":"6623:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6622:9:113"},"scope":65196,"src":"6552:80:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64834,"nodeType":"StructuredDocumentation","src":"6636:139:113","text":"@notice Returns the token ID attached to a node\n @param nodeId ID of the node to query\n @return Token ID attached to the node"},"functionSelector":"51c438d1","id":64841,"implemented":false,"kind":"function","modifiers":[],"name":"getIdAttachedToNode","nameLocation":"6787:19:113","nodeType":"FunctionDefinition","parameters":{"id":64837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64836,"mutability":"mutable","name":"nodeId","nameLocation":"6815:6:113","nodeType":"VariableDeclaration","scope":64841,"src":"6807:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64835,"name":"uint256","nodeType":"ElementaryTypeName","src":"6807:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6806:16:113"},"returnParameters":{"id":64840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64841,"src":"6846:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64838,"name":"uint256","nodeType":"ElementaryTypeName","src":"6846:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6845:9:113"},"scope":65196,"src":"6778:77:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64842,"nodeType":"StructuredDocumentation","src":"6859:183:113","text":"@notice Calculates the level after attaching a node\n @param tokenId ID of the token\n @param nodeTokenId ID of the node to attach\n @return New level after attachment"},"functionSelector":"a1843bd0","id":64851,"implemented":false,"kind":"function","modifiers":[],"name":"getLevelAfterAttachingNode","nameLocation":"7054:26:113","nodeType":"FunctionDefinition","parameters":{"id":64847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64844,"mutability":"mutable","name":"tokenId","nameLocation":"7089:7:113","nodeType":"VariableDeclaration","scope":64851,"src":"7081:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64843,"name":"uint256","nodeType":"ElementaryTypeName","src":"7081:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64846,"mutability":"mutable","name":"nodeTokenId","nameLocation":"7106:11:113","nodeType":"VariableDeclaration","scope":64851,"src":"7098:19:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64845,"name":"uint256","nodeType":"ElementaryTypeName","src":"7098:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7080:38:113"},"returnParameters":{"id":64850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64851,"src":"7142:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64848,"name":"uint256","nodeType":"ElementaryTypeName","src":"7142:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7141:9:113"},"scope":65196,"src":"7045:106:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64852,"nodeType":"StructuredDocumentation","src":"7155:133:113","text":"@notice Calculates the level after detaching a node\n @param tokenId ID of the token\n @return New level after detachment"},"functionSelector":"cc421d07","id":64859,"implemented":false,"kind":"function","modifiers":[],"name":"getLevelAfterDetachingNode","nameLocation":"7300:26:113","nodeType":"FunctionDefinition","parameters":{"id":64855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64854,"mutability":"mutable","name":"tokenId","nameLocation":"7335:7:113","nodeType":"VariableDeclaration","scope":64859,"src":"7327:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64853,"name":"uint256","nodeType":"ElementaryTypeName","src":"7327:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7326:17:113"},"returnParameters":{"id":64858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64859,"src":"7367:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64856,"name":"uint256","nodeType":"ElementaryTypeName","src":"7367:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7366:9:113"},"scope":65196,"src":"7291:85:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64860,"nodeType":"StructuredDocumentation","src":"7380:135:113","text":"@notice Returns the node ID attached to a token\n @param tokenId ID of the token to query\n @return ID of the attached node"},"functionSelector":"958fc97d","id":64867,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeIdAttached","nameLocation":"7527:17:113","nodeType":"FunctionDefinition","parameters":{"id":64863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64862,"mutability":"mutable","name":"tokenId","nameLocation":"7553:7:113","nodeType":"VariableDeclaration","scope":64867,"src":"7545:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64861,"name":"uint256","nodeType":"ElementaryTypeName","src":"7545:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7544:17:113"},"returnParameters":{"id":64866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64867,"src":"7585:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64864,"name":"uint256","nodeType":"ElementaryTypeName","src":"7585:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7584:9:113"},"scope":65196,"src":"7518:76:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64868,"nodeType":"StructuredDocumentation","src":"7598:115:113","text":"@notice Returns the level of a node\n @param nodeId ID of the node to query\n @return Level of the node"},"functionSelector":"3ff453af","id":64875,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeLevelOf","nameLocation":"7725:14:113","nodeType":"FunctionDefinition","parameters":{"id":64871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64870,"mutability":"mutable","name":"nodeId","nameLocation":"7748:6:113","nodeType":"VariableDeclaration","scope":64875,"src":"7740:14:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64869,"name":"uint256","nodeType":"ElementaryTypeName","src":"7740:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7739:16:113"},"returnParameters":{"id":64874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64873,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64875,"src":"7779:5:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64872,"name":"uint8","nodeType":"ElementaryTypeName","src":"7779:5:113","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7778:7:113"},"scope":65196,"src":"7716:70:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64876,"nodeType":"StructuredDocumentation","src":"7790:132:113","text":"@notice Returns the free level granted by a node level\n @param nodeLevel Level of the node\n @return Free level granted"},"functionSelector":"e617e49f","id":64883,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeToFreeLevel","nameLocation":"7934:18:113","nodeType":"FunctionDefinition","parameters":{"id":64879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64878,"mutability":"mutable","name":"nodeLevel","nameLocation":"7959:9:113","nodeType":"VariableDeclaration","scope":64883,"src":"7953:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64877,"name":"uint8","nodeType":"ElementaryTypeName","src":"7953:5:113","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7952:17:113"},"returnParameters":{"id":64882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64881,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64883,"src":"7993:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64880,"name":"uint256","nodeType":"ElementaryTypeName","src":"7993:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7992:9:113"},"scope":65196,"src":"7925:77:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64884,"nodeType":"StructuredDocumentation","src":"8006:108:113","text":"@notice Returns the admin role for a given role\n @param role Role to query\n @return Admin role"},"functionSelector":"248a9ca3","id":64891,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"8126:12:113","nodeType":"FunctionDefinition","parameters":{"id":64887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64886,"mutability":"mutable","name":"role","nameLocation":"8147:4:113","nodeType":"VariableDeclaration","scope":64891,"src":"8139:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8139:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8138:14:113"},"returnParameters":{"id":64890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64891,"src":"8176:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8176:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8175:9:113"},"scope":65196,"src":"8117:68:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64892,"nodeType":"StructuredDocumentation","src":"8189:122:113","text":"@notice Returns the selected token ID for an owner\n @param owner Address to query\n @return Selected token ID"},"functionSelector":"d206885d","id":64899,"implemented":false,"kind":"function","modifiers":[],"name":"getSelectedTokenId","nameLocation":"8323:18:113","nodeType":"FunctionDefinition","parameters":{"id":64895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64894,"mutability":"mutable","name":"owner","nameLocation":"8350:5:113","nodeType":"VariableDeclaration","scope":64899,"src":"8342:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64893,"name":"address","nodeType":"ElementaryTypeName","src":"8342:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8341:15:113"},"returnParameters":{"id":64898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64899,"src":"8380:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64896,"name":"uint256","nodeType":"ElementaryTypeName","src":"8380:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8379:9:113"},"scope":65196,"src":"8314:75:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64900,"nodeType":"StructuredDocumentation","src":"8393:196:113","text":"@notice Returns the selected token ID for an owner in a specific block number\n @param owner Address to query\n @param blockNumber Block number to query\n @return Selected token ID"},"functionSelector":"3c60f55d","id":64909,"implemented":false,"kind":"function","modifiers":[],"name":"getSelectedTokenIdAtBlock","nameLocation":"8601:25:113","nodeType":"FunctionDefinition","parameters":{"id":64905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64902,"mutability":"mutable","name":"owner","nameLocation":"8635:5:113","nodeType":"VariableDeclaration","scope":64909,"src":"8627:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64901,"name":"address","nodeType":"ElementaryTypeName","src":"8627:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64904,"mutability":"mutable","name":"blockNumber","nameLocation":"8649:11:113","nodeType":"VariableDeclaration","scope":64909,"src":"8642:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":64903,"name":"uint48","nodeType":"ElementaryTypeName","src":"8642:6:113","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"8626:35:113"},"returnParameters":{"id":64908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64907,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64909,"src":"8685:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64906,"name":"uint256","nodeType":"ElementaryTypeName","src":"8685:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8684:9:113"},"scope":65196,"src":"8592:102:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64910,"nodeType":"StructuredDocumentation","src":"8698:120:113","text":"@notice Grants a role to an account\n @param role Role to grant\n @param account Account to receive the role"},"functionSelector":"2f2ff15d","id":64917,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"8830:9:113","nodeType":"FunctionDefinition","parameters":{"id":64915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64912,"mutability":"mutable","name":"role","nameLocation":"8848:4:113","nodeType":"VariableDeclaration","scope":64917,"src":"8840:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8840:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64914,"mutability":"mutable","name":"account","nameLocation":"8862:7:113","nodeType":"VariableDeclaration","scope":64917,"src":"8854:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64913,"name":"address","nodeType":"ElementaryTypeName","src":"8854:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8839:31:113"},"returnParameters":{"id":64916,"nodeType":"ParameterList","parameters":[],"src":"8879:0:113"},"scope":65196,"src":"8821:59:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":64918,"nodeType":"StructuredDocumentation","src":"8884:156:113","text":"@notice Checks if an account has a role\n @param role Role to check\n @param account Account to check\n @return True if account has the role"},"functionSelector":"91d14854","id":64927,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"9052:7:113","nodeType":"FunctionDefinition","parameters":{"id":64923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64920,"mutability":"mutable","name":"role","nameLocation":"9068:4:113","nodeType":"VariableDeclaration","scope":64927,"src":"9060:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9060:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64922,"mutability":"mutable","name":"account","nameLocation":"9082:7:113","nodeType":"VariableDeclaration","scope":64927,"src":"9074:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64921,"name":"address","nodeType":"ElementaryTypeName","src":"9074:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9059:31:113"},"returnParameters":{"id":64926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64927,"src":"9114:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64924,"name":"bool","nodeType":"ElementaryTypeName","src":"9114:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9113:6:113"},"scope":65196,"src":"9043:77:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64928,"nodeType":"StructuredDocumentation","src":"9124:216:113","text":"@notice Initializes the contract V2\n @param _vechainNodes Address of the VeChain nodes contract\n @param _nodesAdmin Address of the nodes admin\n @param _nodeFreeLevels Array of free levels for nodes"},"functionSelector":"fb966e9f","id":64938,"implemented":false,"kind":"function","modifiers":[],"name":"initializeV2","nameLocation":"9352:12:113","nodeType":"FunctionDefinition","parameters":{"id":64936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64930,"mutability":"mutable","name":"_vechainNodes","nameLocation":"9373:13:113","nodeType":"VariableDeclaration","scope":64938,"src":"9365:21:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64929,"name":"address","nodeType":"ElementaryTypeName","src":"9365:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64932,"mutability":"mutable","name":"_nodesAdmin","nameLocation":"9396:11:113","nodeType":"VariableDeclaration","scope":64938,"src":"9388:19:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64931,"name":"address","nodeType":"ElementaryTypeName","src":"9388:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64935,"mutability":"mutable","name":"_nodeFreeLevels","nameLocation":"9426:15:113","nodeType":"VariableDeclaration","scope":64938,"src":"9409:32:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":64933,"name":"uint256","nodeType":"ElementaryTypeName","src":"9409:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64934,"nodeType":"ArrayTypeName","src":"9409:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"9364:78:113"},"returnParameters":{"id":64937,"nodeType":"ParameterList","parameters":[],"src":"9451:0:113"},"scope":65196,"src":"9343:109:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":64939,"nodeType":"StructuredDocumentation","src":"9456:195:113","text":"@notice Checks if an operator is approved for all tokens of an owner\n @param owner Owner address\n @param operator Operator address\n @return True if operator is approved for all"},"functionSelector":"e985e9c5","id":64948,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"9663:16:113","nodeType":"FunctionDefinition","parameters":{"id":64944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64941,"mutability":"mutable","name":"owner","nameLocation":"9688:5:113","nodeType":"VariableDeclaration","scope":64948,"src":"9680:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64940,"name":"address","nodeType":"ElementaryTypeName","src":"9680:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64943,"mutability":"mutable","name":"operator","nameLocation":"9703:8:113","nodeType":"VariableDeclaration","scope":64948,"src":"9695:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64942,"name":"address","nodeType":"ElementaryTypeName","src":"9695:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9679:33:113"},"returnParameters":{"id":64947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64948,"src":"9736:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64945,"name":"bool","nodeType":"ElementaryTypeName","src":"9736:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9735:6:113"},"scope":65196,"src":"9654:88:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64949,"nodeType":"StructuredDocumentation","src":"9746:119:113","text":"@notice Returns the level of a token\n @param tokenId ID of the token to query\n @return Level of the token"},"functionSelector":"6d5e3032","id":64956,"implemented":false,"kind":"function","modifiers":[],"name":"levelOf","nameLocation":"9877:7:113","nodeType":"FunctionDefinition","parameters":{"id":64952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64951,"mutability":"mutable","name":"tokenId","nameLocation":"9893:7:113","nodeType":"VariableDeclaration","scope":64956,"src":"9885:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64950,"name":"uint256","nodeType":"ElementaryTypeName","src":"9885:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9884:17:113"},"returnParameters":{"id":64955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64954,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64956,"src":"9925:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64953,"name":"uint256","nodeType":"ElementaryTypeName","src":"9925:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9924:9:113"},"scope":65196,"src":"9868:66:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64957,"nodeType":"StructuredDocumentation","src":"9938:52:113","text":"@notice Returns the name of the token collection"},"functionSelector":"06fdde03","id":64962,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"10002:4:113","nodeType":"FunctionDefinition","parameters":{"id":64958,"nodeType":"ParameterList","parameters":[],"src":"10006:2:113"},"returnParameters":{"id":64961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64962,"src":"10032:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64959,"name":"string","nodeType":"ElementaryTypeName","src":"10032:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10031:15:113"},"scope":65196,"src":"9993:54:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64963,"nodeType":"StructuredDocumentation","src":"10051:121:113","text":"@notice Returns the owner of a token\n @param tokenId ID of the token to query\n @return Address of the owner"},"functionSelector":"6352211e","id":64970,"implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"10184:7:113","nodeType":"FunctionDefinition","parameters":{"id":64966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64965,"mutability":"mutable","name":"tokenId","nameLocation":"10200:7:113","nodeType":"VariableDeclaration","scope":64970,"src":"10192:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64964,"name":"uint256","nodeType":"ElementaryTypeName","src":"10192:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10191:17:113"},"returnParameters":{"id":64969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64970,"src":"10232:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64967,"name":"address","nodeType":"ElementaryTypeName","src":"10232:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10231:9:113"},"scope":65196,"src":"10175:66:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64971,"nodeType":"StructuredDocumentation","src":"10245:138:113","text":"@notice Checks if a user has participated in governance\n @param user Address to check\n @return True if user has participated"},"functionSelector":"8c5b76fb","id":64978,"implemented":false,"kind":"function","modifiers":[],"name":"participatedInGovernance","nameLocation":"10395:24:113","nodeType":"FunctionDefinition","parameters":{"id":64974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64973,"mutability":"mutable","name":"user","nameLocation":"10428:4:113","nodeType":"VariableDeclaration","scope":64978,"src":"10420:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64972,"name":"address","nodeType":"ElementaryTypeName","src":"10420:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10419:14:113"},"returnParameters":{"id":64977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64978,"src":"10457:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64975,"name":"bool","nodeType":"ElementaryTypeName","src":"10457:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10456:6:113"},"scope":65196,"src":"10386:77:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64979,"nodeType":"StructuredDocumentation","src":"10467:38:113","text":"@notice Pauses all token transfers"},"functionSelector":"8456cb59","id":64982,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"10517:5:113","nodeType":"FunctionDefinition","parameters":{"id":64980,"nodeType":"ParameterList","parameters":[],"src":"10522:2:113"},"returnParameters":{"id":64981,"nodeType":"ParameterList","parameters":[],"src":"10533:0:113"},"scope":65196,"src":"10508:26:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":64983,"nodeType":"StructuredDocumentation","src":"10538:94:113","text":"@notice Returns the paused status of the contract\n @return True if contract is paused"},"functionSelector":"5c975abb","id":64988,"implemented":false,"kind":"function","modifiers":[],"name":"paused","nameLocation":"10644:6:113","nodeType":"FunctionDefinition","parameters":{"id":64984,"nodeType":"ParameterList","parameters":[],"src":"10650:2:113"},"returnParameters":{"id":64987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64986,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64988,"src":"10676:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64985,"name":"bool","nodeType":"ElementaryTypeName","src":"10676:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10675:6:113"},"scope":65196,"src":"10635:47:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64989,"nodeType":"StructuredDocumentation","src":"10686:59:113","text":"@notice Returns the storage slot for the implementation"},"functionSelector":"52d1902d","id":64994,"implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"10757:13:113","nodeType":"FunctionDefinition","parameters":{"id":64990,"nodeType":"ParameterList","parameters":[],"src":"10770:2:113"},"returnParameters":{"id":64993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64992,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64994,"src":"10796:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10796:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10795:9:113"},"scope":65196,"src":"10748:57:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":64995,"nodeType":"StructuredDocumentation","src":"10809:154:113","text":"@notice Allows an account to renounce a role\n @param role Role to renounce\n @param callerConfirmation Address of the caller for confirmation"},"functionSelector":"36568abe","id":65002,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"10975:12:113","nodeType":"FunctionDefinition","parameters":{"id":65000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64997,"mutability":"mutable","name":"role","nameLocation":"10996:4:113","nodeType":"VariableDeclaration","scope":65002,"src":"10988:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10988:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64999,"mutability":"mutable","name":"callerConfirmation","nameLocation":"11010:18:113","nodeType":"VariableDeclaration","scope":65002,"src":"11002:26:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64998,"name":"address","nodeType":"ElementaryTypeName","src":"11002:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10987:42:113"},"returnParameters":{"id":65001,"nodeType":"ParameterList","parameters":[],"src":"11038:0:113"},"scope":65196,"src":"10966:73:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65003,"nodeType":"StructuredDocumentation","src":"11043:119:113","text":"@notice Revokes a role from an account\n @param role Role to revoke\n @param account Account to revoke from"},"functionSelector":"d547741f","id":65010,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"11174:10:113","nodeType":"FunctionDefinition","parameters":{"id":65008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65005,"mutability":"mutable","name":"role","nameLocation":"11193:4:113","nodeType":"VariableDeclaration","scope":65010,"src":"11185:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11185:7:113","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":65007,"mutability":"mutable","name":"account","nameLocation":"11207:7:113","nodeType":"VariableDeclaration","scope":65010,"src":"11199:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65006,"name":"address","nodeType":"ElementaryTypeName","src":"11199:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11184:31:113"},"returnParameters":{"id":65009,"nodeType":"ParameterList","parameters":[],"src":"11224:0:113"},"scope":65196,"src":"11165:60:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65011,"nodeType":"StructuredDocumentation","src":"11229:143:113","text":"@notice Safely transfers a token\n @param from Current owner\n @param to New owner\n @param tokenId ID of the token to transfer"},"functionSelector":"42842e0e","id":65020,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"11384:16:113","nodeType":"FunctionDefinition","parameters":{"id":65018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65013,"mutability":"mutable","name":"from","nameLocation":"11409:4:113","nodeType":"VariableDeclaration","scope":65020,"src":"11401:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65012,"name":"address","nodeType":"ElementaryTypeName","src":"11401:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65015,"mutability":"mutable","name":"to","nameLocation":"11423:2:113","nodeType":"VariableDeclaration","scope":65020,"src":"11415:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65014,"name":"address","nodeType":"ElementaryTypeName","src":"11415:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65017,"mutability":"mutable","name":"tokenId","nameLocation":"11435:7:113","nodeType":"VariableDeclaration","scope":65020,"src":"11427:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65016,"name":"uint256","nodeType":"ElementaryTypeName","src":"11427:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11400:43:113"},"returnParameters":{"id":65019,"nodeType":"ParameterList","parameters":[],"src":"11452:0:113"},"scope":65196,"src":"11375:78:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65021,"nodeType":"StructuredDocumentation","src":"11457:198:113","text":"@notice Safely transfers a token with additional data\n @param from Current owner\n @param to New owner\n @param tokenId ID of the token to transfer\n @param data Additional data"},"functionSelector":"b88d4fde","id":65032,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"11667:16:113","nodeType":"FunctionDefinition","parameters":{"id":65030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65023,"mutability":"mutable","name":"from","nameLocation":"11692:4:113","nodeType":"VariableDeclaration","scope":65032,"src":"11684:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65022,"name":"address","nodeType":"ElementaryTypeName","src":"11684:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65025,"mutability":"mutable","name":"to","nameLocation":"11706:2:113","nodeType":"VariableDeclaration","scope":65032,"src":"11698:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65024,"name":"address","nodeType":"ElementaryTypeName","src":"11698:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65027,"mutability":"mutable","name":"tokenId","nameLocation":"11718:7:113","nodeType":"VariableDeclaration","scope":65032,"src":"11710:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65026,"name":"uint256","nodeType":"ElementaryTypeName","src":"11710:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65029,"mutability":"mutable","name":"data","nameLocation":"11740:4:113","nodeType":"VariableDeclaration","scope":65032,"src":"11727:17:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65028,"name":"bytes","nodeType":"ElementaryTypeName","src":"11727:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11683:62:113"},"returnParameters":{"id":65031,"nodeType":"ParameterList","parameters":[],"src":"11754:0:113"},"scope":65196,"src":"11658:97:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65033,"nodeType":"StructuredDocumentation","src":"11759:87:113","text":"@notice Selects a token for an owner\n @param tokenID ID of the token to select"},"functionSelector":"839a19d9","id":65038,"implemented":false,"kind":"function","modifiers":[],"name":"select","nameLocation":"11858:6:113","nodeType":"FunctionDefinition","parameters":{"id":65036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65035,"mutability":"mutable","name":"tokenID","nameLocation":"11873:7:113","nodeType":"VariableDeclaration","scope":65038,"src":"11865:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65034,"name":"uint256","nodeType":"ElementaryTypeName","src":"11865:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11864:17:113"},"returnParameters":{"id":65037,"nodeType":"ParameterList","parameters":[],"src":"11890:0:113"},"scope":65196,"src":"11849:42:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65039,"nodeType":"StructuredDocumentation","src":"11895:119:113","text":"@notice Sets approval for all tokens\n @param operator Address to approve\n @param approved Approval status"},"functionSelector":"a22cb465","id":65046,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"12026:17:113","nodeType":"FunctionDefinition","parameters":{"id":65044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65041,"mutability":"mutable","name":"operator","nameLocation":"12052:8:113","nodeType":"VariableDeclaration","scope":65046,"src":"12044:16:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65040,"name":"address","nodeType":"ElementaryTypeName","src":"12044:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65043,"mutability":"mutable","name":"approved","nameLocation":"12067:8:113","nodeType":"VariableDeclaration","scope":65046,"src":"12062:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65042,"name":"bool","nodeType":"ElementaryTypeName","src":"12062:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12043:33:113"},"returnParameters":{"id":65045,"nodeType":"ParameterList","parameters":[],"src":"12085:0:113"},"scope":65196,"src":"12017:69:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65047,"nodeType":"StructuredDocumentation","src":"12090:115:113","text":"@notice Sets the B3TR amounts needed for level upgrades\n @param b3trToUpgradeToLevel Array of B3TR amounts"},"functionSelector":"b1ccbd2c","id":65053,"implemented":false,"kind":"function","modifiers":[],"name":"setB3TRtoUpgradeToLevel","nameLocation":"12217:23:113","nodeType":"FunctionDefinition","parameters":{"id":65051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65050,"mutability":"mutable","name":"b3trToUpgradeToLevel","nameLocation":"12258:20:113","nodeType":"VariableDeclaration","scope":65053,"src":"12241:37:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":65048,"name":"uint256","nodeType":"ElementaryTypeName","src":"12241:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65049,"nodeType":"ArrayTypeName","src":"12241:9:113","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"12240:39:113"},"returnParameters":{"id":65052,"nodeType":"ParameterList","parameters":[],"src":"12288:0:113"},"scope":65196,"src":"12208:81:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65054,"nodeType":"StructuredDocumentation","src":"12293:90:113","text":"@notice Sets the B3TR governor address\n @param _b3trGovernor New governor address"},"functionSelector":"ddd8634d","id":65059,"implemented":false,"kind":"function","modifiers":[],"name":"setB3trGovernorAddress","nameLocation":"12395:22:113","nodeType":"FunctionDefinition","parameters":{"id":65057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65056,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"12426:13:113","nodeType":"VariableDeclaration","scope":65059,"src":"12418:21:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65055,"name":"address","nodeType":"ElementaryTypeName","src":"12418:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12417:23:113"},"returnParameters":{"id":65058,"nodeType":"ParameterList","parameters":[],"src":"12449:0:113"},"scope":65196,"src":"12386:64:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65060,"nodeType":"StructuredDocumentation","src":"12454:87:113","text":"@notice Sets the base URI for token metadata\n @param baseTokenURI New base URI"},"functionSelector":"55f804b3","id":65065,"implemented":false,"kind":"function","modifiers":[],"name":"setBaseURI","nameLocation":"12553:10:113","nodeType":"FunctionDefinition","parameters":{"id":65063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65062,"mutability":"mutable","name":"baseTokenURI","nameLocation":"12578:12:113","nodeType":"VariableDeclaration","scope":65065,"src":"12564:26:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65061,"name":"string","nodeType":"ElementaryTypeName","src":"12564:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12563:28:113"},"returnParameters":{"id":65064,"nodeType":"ParameterList","parameters":[],"src":"12600:0:113"},"scope":65196,"src":"12544:57:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65066,"nodeType":"StructuredDocumentation","src":"12605:87:113","text":"@notice Sets the public minting pause status\n @param isPaused New pause status"},"functionSelector":"5b5da514","id":65071,"implemented":false,"kind":"function","modifiers":[],"name":"setIsPublicMintingPaused","nameLocation":"12704:24:113","nodeType":"FunctionDefinition","parameters":{"id":65069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65068,"mutability":"mutable","name":"isPaused","nameLocation":"12734:8:113","nodeType":"VariableDeclaration","scope":65071,"src":"12729:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65067,"name":"bool","nodeType":"ElementaryTypeName","src":"12729:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12728:15:113"},"returnParameters":{"id":65070,"nodeType":"ParameterList","parameters":[],"src":"12752:0:113"},"scope":65196,"src":"12695:58:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65072,"nodeType":"StructuredDocumentation","src":"12757:71:113","text":"@notice Sets the maximum level\n @param level New maximum level"},"functionSelector":"344f1ba5","id":65077,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxLevel","nameLocation":"12840:11:113","nodeType":"FunctionDefinition","parameters":{"id":65075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65074,"mutability":"mutable","name":"level","nameLocation":"12860:5:113","nodeType":"VariableDeclaration","scope":65077,"src":"12852:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65073,"name":"uint256","nodeType":"ElementaryTypeName","src":"12852:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12851:15:113"},"returnParameters":{"id":65076,"nodeType":"ParameterList","parameters":[],"src":"12875:0:113"},"scope":65196,"src":"12831:45:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65078,"nodeType":"StructuredDocumentation","src":"12880:135:113","text":"@notice Sets the free upgrade level for a node level\n @param nodeLevel Level of the node\n @param level Free upgrade level"},"functionSelector":"001db0dd","id":65085,"implemented":false,"kind":"function","modifiers":[],"name":"setNodeToFreeUpgradeLevel","nameLocation":"13027:25:113","nodeType":"FunctionDefinition","parameters":{"id":65083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65080,"mutability":"mutable","name":"nodeLevel","nameLocation":"13059:9:113","nodeType":"VariableDeclaration","scope":65085,"src":"13053:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":65079,"name":"uint8","nodeType":"ElementaryTypeName","src":"13053:5:113","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":65082,"mutability":"mutable","name":"level","nameLocation":"13078:5:113","nodeType":"VariableDeclaration","scope":65085,"src":"13070:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65081,"name":"uint256","nodeType":"ElementaryTypeName","src":"13070:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13052:32:113"},"returnParameters":{"id":65084,"nodeType":"ParameterList","parameters":[],"src":"13093:0:113"},"scope":65196,"src":"13018:76:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65086,"nodeType":"StructuredDocumentation","src":"13098:107:113","text":"@notice Sets the X-Allocations governor address\n @param _xAllocationsGovernor New governor address"},"functionSelector":"3af03ea8","id":65091,"implemented":false,"kind":"function","modifiers":[],"name":"setXAllocationsGovernorAddress","nameLocation":"13217:30:113","nodeType":"FunctionDefinition","parameters":{"id":65089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65088,"mutability":"mutable","name":"_xAllocationsGovernor","nameLocation":"13256:21:113","nodeType":"VariableDeclaration","scope":65091,"src":"13248:29:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65087,"name":"address","nodeType":"ElementaryTypeName","src":"13248:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13247:31:113"},"returnParameters":{"id":65090,"nodeType":"ParameterList","parameters":[],"src":"13287:0:113"},"scope":65196,"src":"13208:80:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65092,"nodeType":"StructuredDocumentation","src":"13292:108:113","text":"@notice Sets the StargateNFT contract address\n @param _stargateNFT New StargateNFT contract address"},"functionSelector":"36a49a3c","id":65097,"implemented":false,"kind":"function","modifiers":[],"name":"setStargateNFTAddress","nameLocation":"13412:21:113","nodeType":"FunctionDefinition","parameters":{"id":65095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65094,"mutability":"mutable","name":"_stargateNFT","nameLocation":"13442:12:113","nodeType":"VariableDeclaration","scope":65097,"src":"13434:20:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65093,"name":"address","nodeType":"ElementaryTypeName","src":"13434:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13433:22:113"},"returnParameters":{"id":65096,"nodeType":"ParameterList","parameters":[],"src":"13464:0:113"},"scope":65196,"src":"13403:62:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65098,"nodeType":"StructuredDocumentation","src":"13469:147:113","text":"@notice Checks if the contract supports an interface\n @param interfaceId Interface identifier\n @return True if interface is supported"},"functionSelector":"01ffc9a7","id":65105,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"13628:17:113","nodeType":"FunctionDefinition","parameters":{"id":65101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65100,"mutability":"mutable","name":"interfaceId","nameLocation":"13653:11:113","nodeType":"VariableDeclaration","scope":65105,"src":"13646:18:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":65099,"name":"bytes4","nodeType":"ElementaryTypeName","src":"13646:6:113","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"13645:20:113"},"returnParameters":{"id":65104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65105,"src":"13689:4:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65102,"name":"bool","nodeType":"ElementaryTypeName","src":"13689:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13688:6:113"},"scope":65196,"src":"13619:76:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65106,"nodeType":"StructuredDocumentation","src":"13699:54:113","text":"@notice Returns the symbol of the token collection"},"functionSelector":"95d89b41","id":65111,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"13765:6:113","nodeType":"FunctionDefinition","parameters":{"id":65107,"nodeType":"ParameterList","parameters":[],"src":"13771:2:113"},"returnParameters":{"id":65110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65111,"src":"13797:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65108,"name":"string","nodeType":"ElementaryTypeName","src":"13797:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13796:15:113"},"scope":65196,"src":"13756:56:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65112,"nodeType":"StructuredDocumentation","src":"13816:114:113","text":"@notice Returns a token by its index\n @param index Index of the token\n @return Token ID at the index"},"functionSelector":"4f6ccce7","id":65119,"implemented":false,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"13942:12:113","nodeType":"FunctionDefinition","parameters":{"id":65115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65114,"mutability":"mutable","name":"index","nameLocation":"13963:5:113","nodeType":"VariableDeclaration","scope":65119,"src":"13955:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65113,"name":"uint256","nodeType":"ElementaryTypeName","src":"13955:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13954:15:113"},"returnParameters":{"id":65118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65117,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65119,"src":"13993:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65116,"name":"uint256","nodeType":"ElementaryTypeName","src":"13993:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13992:9:113"},"scope":65196,"src":"13933:69:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65120,"nodeType":"StructuredDocumentation","src":"14006:163:113","text":"@notice Returns a token owned by an address by index\n @param owner Owner address\n @param index Index of the token\n @return Token ID at the index"},"functionSelector":"2f745c59","id":65129,"implemented":false,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"14181:19:113","nodeType":"FunctionDefinition","parameters":{"id":65125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65122,"mutability":"mutable","name":"owner","nameLocation":"14209:5:113","nodeType":"VariableDeclaration","scope":65129,"src":"14201:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65121,"name":"address","nodeType":"ElementaryTypeName","src":"14201:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65124,"mutability":"mutable","name":"index","nameLocation":"14224:5:113","nodeType":"VariableDeclaration","scope":65129,"src":"14216:13:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65123,"name":"uint256","nodeType":"ElementaryTypeName","src":"14216:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14200:30:113"},"returnParameters":{"id":65128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65127,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65129,"src":"14254:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65126,"name":"uint256","nodeType":"ElementaryTypeName","src":"14254:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14253:9:113"},"scope":65196,"src":"14172:91:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65130,"nodeType":"StructuredDocumentation","src":"14267:114:113","text":"@notice Returns the URI for a token's metadata\n @param tokenId ID of the token\n @return Metadata URI"},"functionSelector":"c87b56dd","id":65137,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"14393:8:113","nodeType":"FunctionDefinition","parameters":{"id":65133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65132,"mutability":"mutable","name":"tokenId","nameLocation":"14410:7:113","nodeType":"VariableDeclaration","scope":65137,"src":"14402:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65131,"name":"uint256","nodeType":"ElementaryTypeName","src":"14402:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14401:17:113"},"returnParameters":{"id":65136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65135,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65137,"src":"14442:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65134,"name":"string","nodeType":"ElementaryTypeName","src":"14442:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14441:15:113"},"scope":65196,"src":"14384:73:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65138,"nodeType":"StructuredDocumentation","src":"14461:83:113","text":"@notice Returns the total supply of tokens\n @return Total number of tokens"},"functionSelector":"18160ddd","id":65143,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"14556:11:113","nodeType":"FunctionDefinition","parameters":{"id":65139,"nodeType":"ParameterList","parameters":[],"src":"14567:2:113"},"returnParameters":{"id":65142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65141,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65143,"src":"14593:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65140,"name":"uint256","nodeType":"ElementaryTypeName","src":"14593:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14592:9:113"},"scope":65196,"src":"14547:55:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65144,"nodeType":"StructuredDocumentation","src":"14606:136:113","text":"@notice Transfers a token\n @param from Current owner\n @param to New owner\n @param tokenId ID of the token to transfer"},"functionSelector":"23b872dd","id":65153,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"14754:12:113","nodeType":"FunctionDefinition","parameters":{"id":65151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65146,"mutability":"mutable","name":"from","nameLocation":"14775:4:113","nodeType":"VariableDeclaration","scope":65153,"src":"14767:12:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65145,"name":"address","nodeType":"ElementaryTypeName","src":"14767:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65148,"mutability":"mutable","name":"to","nameLocation":"14789:2:113","nodeType":"VariableDeclaration","scope":65153,"src":"14781:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65147,"name":"address","nodeType":"ElementaryTypeName","src":"14781:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65150,"mutability":"mutable","name":"tokenId","nameLocation":"14801:7:113","nodeType":"VariableDeclaration","scope":65153,"src":"14793:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65149,"name":"uint256","nodeType":"ElementaryTypeName","src":"14793:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14766:43:113"},"returnParameters":{"id":65152,"nodeType":"ParameterList","parameters":[],"src":"14818:0:113"},"scope":65196,"src":"14745:74:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65154,"nodeType":"StructuredDocumentation","src":"14823:40:113","text":"@notice Returns the treasury address"},"functionSelector":"61d027b3","id":65159,"implemented":false,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"14875:8:113","nodeType":"FunctionDefinition","parameters":{"id":65155,"nodeType":"ParameterList","parameters":[],"src":"14883:2:113"},"returnParameters":{"id":65158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65157,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65159,"src":"14909:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65156,"name":"address","nodeType":"ElementaryTypeName","src":"14909:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14908:9:113"},"scope":65196,"src":"14866:52:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65160,"nodeType":"StructuredDocumentation","src":"14922:40:113","text":"@notice Unpauses all token transfers"},"functionSelector":"3f4ba83a","id":65163,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"14974:7:113","nodeType":"FunctionDefinition","parameters":{"id":65161,"nodeType":"ParameterList","parameters":[],"src":"14981:2:113"},"returnParameters":{"id":65162,"nodeType":"ParameterList","parameters":[],"src":"14992:0:113"},"scope":65196,"src":"14965:28:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65164,"nodeType":"StructuredDocumentation","src":"14997:84:113","text":"@notice Upgrades a token's level\n @param tokenId ID of the token to upgrade"},"functionSelector":"45977d03","id":65169,"implemented":false,"kind":"function","modifiers":[],"name":"upgrade","nameLocation":"15093:7:113","nodeType":"FunctionDefinition","parameters":{"id":65167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65166,"mutability":"mutable","name":"tokenId","nameLocation":"15109:7:113","nodeType":"VariableDeclaration","scope":65169,"src":"15101:15:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65165,"name":"uint256","nodeType":"ElementaryTypeName","src":"15101:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15100:17:113"},"returnParameters":{"id":65168,"nodeType":"ParameterList","parameters":[],"src":"15126:0:113"},"scope":65196,"src":"15084:43:113","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65170,"nodeType":"StructuredDocumentation","src":"15131:163:113","text":"@notice Upgrades the contract implementation\n @param newImplementation Address of the new implementation\n @param data Additional data for the upgrade"},"functionSelector":"4f1ef286","id":65177,"implemented":false,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"15306:16:113","nodeType":"FunctionDefinition","parameters":{"id":65175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65172,"mutability":"mutable","name":"newImplementation","nameLocation":"15331:17:113","nodeType":"VariableDeclaration","scope":65177,"src":"15323:25:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65171,"name":"address","nodeType":"ElementaryTypeName","src":"15323:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65174,"mutability":"mutable","name":"data","nameLocation":"15363:4:113","nodeType":"VariableDeclaration","scope":65177,"src":"15350:17:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65173,"name":"bytes","nodeType":"ElementaryTypeName","src":"15350:5:113","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15322:46:113"},"returnParameters":{"id":65176,"nodeType":"ParameterList","parameters":[],"src":"15385:0:113"},"scope":65196,"src":"15297:89:113","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":65178,"nodeType":"StructuredDocumentation","src":"15390:69:113","text":"@notice Returns the contract version\n @return Version string"},"functionSelector":"54fd4d50","id":65183,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"15471:7:113","nodeType":"FunctionDefinition","parameters":{"id":65179,"nodeType":"ParameterList","parameters":[],"src":"15478:2:113"},"returnParameters":{"id":65182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65183,"src":"15504:13:113","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65180,"name":"string","nodeType":"ElementaryTypeName","src":"15504:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15503:15:113"},"scope":65196,"src":"15462:57:113","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":65184,"nodeType":"StructuredDocumentation","src":"15523:54:113","text":"@notice Returns the X-Allocations governor address"},"functionSelector":"5ecf68e9","id":65189,"implemented":false,"kind":"function","modifiers":[],"name":"xAllocationsGovernor","nameLocation":"15589:20:113","nodeType":"FunctionDefinition","parameters":{"id":65185,"nodeType":"ParameterList","parameters":[],"src":"15609:2:113"},"returnParameters":{"id":65188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65189,"src":"15635:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65186,"name":"address","nodeType":"ElementaryTypeName","src":"15635:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15634:9:113"},"scope":65196,"src":"15580:64:113","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65190,"nodeType":"StructuredDocumentation","src":"15648:52:113","text":"@notice Returns the StargateNFT contract address"},"functionSelector":"5d21e15b","id":65195,"implemented":false,"kind":"function","modifiers":[],"name":"stargateNFT","nameLocation":"15712:11:113","nodeType":"FunctionDefinition","parameters":{"id":65191,"nodeType":"ParameterList","parameters":[],"src":"15723:2:113"},"returnParameters":{"id":65194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65195,"src":"15749:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65192,"name":"address","nodeType":"ElementaryTypeName","src":"15749:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15748:9:113"},"scope":65196,"src":"15703:55:113","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":65197,"src":"382:15378:113","usedErrors":[64460,64466,64470,64474,64476,64482,64484,64486,64494,64500,64504,64508,64512,64516,64520,64524,64530,64532,64534,64536,64538,64540,64542,64544,64548],"usedEvents":[64556,64564,64569,64575,64581,64585,64591,64595,64599,64607,64615,64623,64629,64637,64641,64645,64653,64659,64665,64671,64679,64687,64693]}],"src":"33:15728:113"},"id":113},"contracts/interfaces/IGrantsManager.sol":{"ast":{"absolutePath":"contracts/interfaces/IGrantsManager.sol","exportedSymbols":{"IGrantsManager":[65639]},"id":65640,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":65198,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:114"},{"abstract":false,"baseContracts":[],"canonicalName":"IGrantsManager","contractDependencies":[],"contractKind":"interface","documentation":{"id":65199,"nodeType":"StructuredDocumentation","src":"1220:244:114","text":" @title IGrantsManager\n @notice Interface for the GrantsManager contract that manages grant execution and milestone creation\n @dev This contract handles the execution of approved grant proposals and manages milestone-based funding"},"fullyImplemented":false,"id":65639,"linearizedBaseContracts":[65639],"name":"IGrantsManager","nameLocation":"1475:14:114","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":65200,"nodeType":"StructuredDocumentation","src":"1548:200:114","text":" @notice Emitted when a milestone is validated ( ready to be claimed by the receiver )\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"eventSelector":"345699b3779e7f0f3201b7d9d8c3e2bc3ce9f29696be4e3eebc592beb21727c3","id":65206,"name":"MilestoneValidated","nameLocation":"1757:18:114","nodeType":"EventDefinition","parameters":{"id":65205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65202,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"1792:10:114","nodeType":"VariableDeclaration","scope":65206,"src":"1776:26:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65201,"name":"uint256","nodeType":"ElementaryTypeName","src":"1776:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65204,"indexed":true,"mutability":"mutable","name":"milestoneIndex","nameLocation":"1820:14:114","nodeType":"VariableDeclaration","scope":65206,"src":"1804:30:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65203,"name":"uint256","nodeType":"ElementaryTypeName","src":"1804:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1775:60:114"},"src":"1751:85:114"},{"anonymous":false,"documentation":{"id":65207,"nodeType":"StructuredDocumentation","src":"1840:205:114","text":" @notice Emitted when a milestone is claimed\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @param amount The amount of the milestone"},"eventSelector":"6ecdb8cbf47483e6e73593d9d08161bd1c750eb1a8b0cfbaabc80317d281adbe","id":65215,"name":"MilestoneClaimed","nameLocation":"2054:16:114","nodeType":"EventDefinition","parameters":{"id":65214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65209,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2087:10:114","nodeType":"VariableDeclaration","scope":65215,"src":"2071:26:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65208,"name":"uint256","nodeType":"ElementaryTypeName","src":"2071:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65211,"indexed":true,"mutability":"mutable","name":"milestoneIndex","nameLocation":"2115:14:114","nodeType":"VariableDeclaration","scope":65215,"src":"2099:30:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65210,"name":"uint256","nodeType":"ElementaryTypeName","src":"2099:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65213,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2139:6:114","nodeType":"VariableDeclaration","scope":65215,"src":"2131:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65212,"name":"uint256","nodeType":"ElementaryTypeName","src":"2131:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2070:76:114"},"src":"2048:99:114"},{"anonymous":false,"documentation":{"id":65216,"nodeType":"StructuredDocumentation","src":"2151:152:114","text":" @notice Emitted when a milestone is rejected\n @param proposalId The ID of the proposal\n @param amount The amount of the milestone"},"eventSelector":"122fca773bdc90ed7da7c637fa41c96069c5b596f4ebfacfe0787da4ecce8693","id":65222,"name":"MilestoneRejectedAndFundsReturnedToTreasury","nameLocation":"2312:43:114","nodeType":"EventDefinition","parameters":{"id":65221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65218,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2372:10:114","nodeType":"VariableDeclaration","scope":65222,"src":"2356:26:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65217,"name":"uint256","nodeType":"ElementaryTypeName","src":"2356:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65220,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2392:6:114","nodeType":"VariableDeclaration","scope":65222,"src":"2384:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65219,"name":"uint256","nodeType":"ElementaryTypeName","src":"2384:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2355:44:114"},"src":"2306:94:114"},{"anonymous":false,"documentation":{"id":65223,"nodeType":"StructuredDocumentation","src":"2404:174:114","text":" @notice Emitted when a milestone metadata URI is updated\n @param proposalId The ID of the proposal\n @param newMilestoneMetadataURI The new metadata URI"},"eventSelector":"f54adc4fa88871bb9bb39a4fc2f5dc8b81291d5f344fd26b636ad128e8cab3a4","id":65229,"name":"MilestoneMetadataURIUpdated","nameLocation":"2587:27:114","nodeType":"EventDefinition","parameters":{"id":65228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65225,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2631:10:114","nodeType":"VariableDeclaration","scope":65229,"src":"2615:26:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65224,"name":"uint256","nodeType":"ElementaryTypeName","src":"2615:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65227,"indexed":false,"mutability":"mutable","name":"newMilestoneMetadataURI","nameLocation":"2650:23:114","nodeType":"VariableDeclaration","scope":65229,"src":"2643:30:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65226,"name":"string","nodeType":"ElementaryTypeName","src":"2643:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2614:60:114"},"src":"2581:94:114"},{"anonymous":false,"documentation":{"id":65230,"nodeType":"StructuredDocumentation","src":"2679:182:114","text":" @notice Emitted when the grants receiver address is updated\n @param proposalId The ID of the proposal\n @param newGrantsReceiver The new grants receiver address"},"eventSelector":"1796595f8b84e72820b0e06df582ff944db24f5e710795c7c8ac5112e6de039e","id":65236,"name":"GrantsReceiverUpdated","nameLocation":"2870:21:114","nodeType":"EventDefinition","parameters":{"id":65235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65232,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"2908:10:114","nodeType":"VariableDeclaration","scope":65236,"src":"2892:26:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65231,"name":"uint256","nodeType":"ElementaryTypeName","src":"2892:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65234,"indexed":false,"mutability":"mutable","name":"newGrantsReceiver","nameLocation":"2928:17:114","nodeType":"VariableDeclaration","scope":65236,"src":"2920:25:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65233,"name":"address","nodeType":"ElementaryTypeName","src":"2920:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2891:55:114"},"src":"2864:83:114"},{"anonymous":false,"documentation":{"id":65237,"nodeType":"StructuredDocumentation","src":"2951:356:114","text":" @notice Emitted when milestones are created for a proposal\n @param proposalId The ID of the proposal\n @param proposer The address of the proposer\n @param grantsReceiver The address of the grants receiver\n @param totalAmount The total amount of all milestones\n @param metadataURI The IPFS hash containing milestone details"},"eventSelector":"4881acb9050bcf1b58cd99d39b4d4497e03c9961e7466fdb95d6e422cd6f9553","id":65249,"name":"MilestonesCreated","nameLocation":"3316:17:114","nodeType":"EventDefinition","parameters":{"id":65248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65239,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3355:10:114","nodeType":"VariableDeclaration","scope":65249,"src":"3339:26:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65238,"name":"uint256","nodeType":"ElementaryTypeName","src":"3339:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65241,"indexed":true,"mutability":"mutable","name":"proposer","nameLocation":"3387:8:114","nodeType":"VariableDeclaration","scope":65249,"src":"3371:24:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65240,"name":"address","nodeType":"ElementaryTypeName","src":"3371:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65243,"indexed":true,"mutability":"mutable","name":"grantsReceiver","nameLocation":"3417:14:114","nodeType":"VariableDeclaration","scope":65249,"src":"3401:30:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65242,"name":"address","nodeType":"ElementaryTypeName","src":"3401:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65245,"indexed":false,"mutability":"mutable","name":"totalAmount","nameLocation":"3445:11:114","nodeType":"VariableDeclaration","scope":65249,"src":"3437:19:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65244,"name":"uint256","nodeType":"ElementaryTypeName","src":"3437:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65247,"indexed":false,"mutability":"mutable","name":"metadataURI","nameLocation":"3469:11:114","nodeType":"VariableDeclaration","scope":65249,"src":"3462:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65246,"name":"string","nodeType":"ElementaryTypeName","src":"3462:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3333:151:114"},"src":"3310:175:114"},{"anonymous":false,"documentation":{"id":65250,"nodeType":"StructuredDocumentation","src":"3489:101:114","text":" @notice Emitted when a grant is canceled\n @param proposalId The ID of the proposal"},"eventSelector":"f9125771cfea9a399996ab1f5e54c097b3bf95285fd184c2b05fdcef4dee834b","id":65254,"name":"GrantCanceled","nameLocation":"3599:13:114","nodeType":"EventDefinition","parameters":{"id":65253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65252,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"3629:10:114","nodeType":"VariableDeclaration","scope":65254,"src":"3613:26:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65251,"name":"uint256","nodeType":"ElementaryTypeName","src":"3613:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3612:28:114"},"src":"3593:48:114"},{"documentation":{"id":65255,"nodeType":"StructuredDocumentation","src":"3699:98:114","text":" @notice Error thrown when a target is invalid\n @param target The invalid target"},"errorSelector":"d08525e9","id":65259,"name":"InvalidTarget","nameLocation":"3806:13:114","nodeType":"ErrorDefinition","parameters":{"id":65258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65257,"mutability":"mutable","name":"target","nameLocation":"3828:6:114","nodeType":"VariableDeclaration","scope":65259,"src":"3820:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65256,"name":"address","nodeType":"ElementaryTypeName","src":"3820:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3819:16:114"},"src":"3800:36:114"},{"documentation":{"id":65260,"nodeType":"StructuredDocumentation","src":"3840:70:114","text":" @notice Error thrown when a milestone amount is invalid"},"errorSelector":"2c5211c6","id":65262,"name":"InvalidAmount","nameLocation":"3919:13:114","nodeType":"ErrorDefinition","parameters":{"id":65261,"nodeType":"ParameterList","parameters":[],"src":"3932:2:114"},"src":"3913:22:114"},{"documentation":{"id":65263,"nodeType":"StructuredDocumentation","src":"3939:113:114","text":" @notice Error thrown when a function selector is invalid\n @param selector The invalid selector"},"errorSelector":"432df3c4","id":65267,"name":"InvalidFunctionSelector","nameLocation":"4061:23:114","nodeType":"ErrorDefinition","parameters":{"id":65266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65265,"mutability":"mutable","name":"selector","nameLocation":"4092:8:114","nodeType":"VariableDeclaration","scope":65267,"src":"4085:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":65264,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4085:6:114","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4084:17:114"},"src":"4055:47:114"},{"documentation":{"id":65268,"nodeType":"StructuredDocumentation","src":"4106:173:114","text":" @notice Error thrown when a milestone is already validated\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"fec7498f","id":65274,"name":"MilestoneAlreadyApproved","nameLocation":"4288:24:114","nodeType":"ErrorDefinition","parameters":{"id":65273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65270,"mutability":"mutable","name":"proposalId","nameLocation":"4321:10:114","nodeType":"VariableDeclaration","scope":65274,"src":"4313:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65269,"name":"uint256","nodeType":"ElementaryTypeName","src":"4313:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65272,"mutability":"mutable","name":"milestoneIndex","nameLocation":"4341:14:114","nodeType":"VariableDeclaration","scope":65274,"src":"4333:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65271,"name":"uint256","nodeType":"ElementaryTypeName","src":"4333:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4312:44:114"},"src":"4282:75:114"},{"documentation":{"id":65275,"nodeType":"StructuredDocumentation","src":"4361:136:114","text":" @notice Error thrown when milestone amount is zero\n @param milestoneIndex The index of the milestone with zero amount"},"errorSelector":"abed7544","id":65279,"name":"MilestoneAmountZero","nameLocation":"4506:19:114","nodeType":"ErrorDefinition","parameters":{"id":65278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65277,"mutability":"mutable","name":"milestoneIndex","nameLocation":"4534:14:114","nodeType":"VariableDeclaration","scope":65279,"src":"4526:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65276,"name":"uint256","nodeType":"ElementaryTypeName","src":"4526:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4525:24:114"},"src":"4500:50:114"},{"documentation":{"id":65280,"nodeType":"StructuredDocumentation","src":"4554:71:114","text":" @notice Error thrown when milestone total amount is zero"},"errorSelector":"565e8112","id":65282,"name":"MilestoneTotalAmountZero","nameLocation":"4634:24:114","nodeType":"ErrorDefinition","parameters":{"id":65281,"nodeType":"ParameterList","parameters":[],"src":"4658:2:114"},"src":"4628:33:114"},{"documentation":{"id":65283,"nodeType":"StructuredDocumentation","src":"4665:182:114","text":" @notice Error thrown when milestone claimed amount exceeds total amount\n @param claimedAmount The amount claimed\n @param totalAmount The total amount available"},"errorSelector":"3b9f12cf","id":65289,"name":"MilestoneClaimedAmountExceedsTotalAmount","nameLocation":"4856:40:114","nodeType":"ErrorDefinition","parameters":{"id":65288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65285,"mutability":"mutable","name":"claimedAmount","nameLocation":"4905:13:114","nodeType":"VariableDeclaration","scope":65289,"src":"4897:21:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65284,"name":"uint256","nodeType":"ElementaryTypeName","src":"4897:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65287,"mutability":"mutable","name":"totalAmount","nameLocation":"4928:11:114","nodeType":"VariableDeclaration","scope":65289,"src":"4920:19:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65286,"name":"uint256","nodeType":"ElementaryTypeName","src":"4920:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4896:44:114"},"src":"4850:91:114"},{"documentation":{"id":65290,"nodeType":"StructuredDocumentation","src":"4945:209:114","text":" @notice Error thrown when number of milestones is less than minimum required\n @param provided The number of milestones provided\n @param required The minimum number of milestones required"},"errorSelector":"fd1c0ddb","id":65296,"name":"InvalidNumberOfMilestones","nameLocation":"5163:25:114","nodeType":"ErrorDefinition","parameters":{"id":65295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65292,"mutability":"mutable","name":"provided","nameLocation":"5197:8:114","nodeType":"VariableDeclaration","scope":65296,"src":"5189:16:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65291,"name":"uint256","nodeType":"ElementaryTypeName","src":"5189:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65294,"mutability":"mutable","name":"required","nameLocation":"5215:8:114","nodeType":"VariableDeclaration","scope":65296,"src":"5207:16:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65293,"name":"uint256","nodeType":"ElementaryTypeName","src":"5207:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5188:36:114"},"src":"5157:68:114"},{"documentation":{"id":65297,"nodeType":"StructuredDocumentation","src":"5229:126:114","text":" @notice Error thrown when milestone state is not pending\n @param status The current status of the milestone"},"errorSelector":"2367a31d","id":65302,"name":"MilestoneStateNotPending","nameLocation":"5364:24:114","nodeType":"ErrorDefinition","parameters":{"id":65301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65300,"mutability":"mutable","name":"status","nameLocation":"5404:6:114","nodeType":"VariableDeclaration","scope":65302,"src":"5389:21:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":65299,"nodeType":"UserDefinedTypeName","pathNode":{"id":65298,"name":"MilestoneState","nameLocations":["5389:14:114"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"5389:14:114"},"referencedDeclaration":65389,"src":"5389:14:114","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"src":"5388:23:114"},"src":"5358:54:114"},{"documentation":{"id":65303,"nodeType":"StructuredDocumentation","src":"5416:176:114","text":" @notice Error thrown when previous milestone is not validated\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"414e3ac7","id":65309,"name":"PreviousMilestoneNotApproved","nameLocation":"5601:28:114","nodeType":"ErrorDefinition","parameters":{"id":65308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65305,"mutability":"mutable","name":"proposalId","nameLocation":"5638:10:114","nodeType":"VariableDeclaration","scope":65309,"src":"5630:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65304,"name":"uint256","nodeType":"ElementaryTypeName","src":"5630:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65307,"mutability":"mutable","name":"milestoneIndex","nameLocation":"5658:14:114","nodeType":"VariableDeclaration","scope":65309,"src":"5650:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65306,"name":"uint256","nodeType":"ElementaryTypeName","src":"5650:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5629:44:114"},"src":"5595:79:114"},{"documentation":{"id":65310,"nodeType":"StructuredDocumentation","src":"5678:169:114","text":" @notice Error thrown when milestone is already claimed\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"c4fe487a","id":65316,"name":"MilestoneAlreadyClaimed","nameLocation":"5856:23:114","nodeType":"ErrorDefinition","parameters":{"id":65315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65312,"mutability":"mutable","name":"proposalId","nameLocation":"5888:10:114","nodeType":"VariableDeclaration","scope":65316,"src":"5880:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65311,"name":"uint256","nodeType":"ElementaryTypeName","src":"5880:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65314,"mutability":"mutable","name":"milestoneIndex","nameLocation":"5908:14:114","nodeType":"VariableDeclaration","scope":65316,"src":"5900:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65313,"name":"uint256","nodeType":"ElementaryTypeName","src":"5900:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5879:44:114"},"src":"5850:74:114"},{"documentation":{"id":65317,"nodeType":"StructuredDocumentation","src":"5928:81:114","text":" @notice Error thrown when caller is not an admin or grants manager"},"errorSelector":"ea8e4eb5","id":65319,"name":"NotAuthorized","nameLocation":"6018:13:114","nodeType":"ErrorDefinition","parameters":{"id":65318,"nodeType":"ParameterList","parameters":[],"src":"6031:2:114"},"src":"6012:22:114"},{"documentation":{"id":65320,"nodeType":"StructuredDocumentation","src":"6038:167:114","text":" @notice Error thrown when milestone is not validated\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"6ff77edd","id":65326,"name":"MilestoneNotApprovedByAdmin","nameLocation":"6214:27:114","nodeType":"ErrorDefinition","parameters":{"id":65325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65322,"mutability":"mutable","name":"proposalId","nameLocation":"6250:10:114","nodeType":"VariableDeclaration","scope":65326,"src":"6242:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65321,"name":"uint256","nodeType":"ElementaryTypeName","src":"6242:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65324,"mutability":"mutable","name":"milestoneIndex","nameLocation":"6270:14:114","nodeType":"VariableDeclaration","scope":65326,"src":"6262:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65323,"name":"uint256","nodeType":"ElementaryTypeName","src":"6262:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6241:44:114"},"src":"6208:78:114"},{"documentation":{"id":65327,"nodeType":"StructuredDocumentation","src":"6290:167:114","text":" @notice Error thrown when milestone index is invalid\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"errorSelector":"7854fafc","id":65333,"name":"InvalidMilestoneIndex","nameLocation":"6466:21:114","nodeType":"ErrorDefinition","parameters":{"id":65332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65329,"mutability":"mutable","name":"proposalId","nameLocation":"6496:10:114","nodeType":"VariableDeclaration","scope":65333,"src":"6488:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65328,"name":"uint256","nodeType":"ElementaryTypeName","src":"6488:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65331,"mutability":"mutable","name":"milestoneIndex","nameLocation":"6516:14:114","nodeType":"VariableDeclaration","scope":65333,"src":"6508:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65330,"name":"uint256","nodeType":"ElementaryTypeName","src":"6508:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6487:44:114"},"src":"6460:72:114"},{"documentation":{"id":65334,"nodeType":"StructuredDocumentation","src":"6536:75:114","text":" @notice Error thrown when milestone proposer is zero address"},"errorSelector":"65923117","id":65336,"name":"MilestoneProposerZeroAddress","nameLocation":"6620:28:114","nodeType":"ErrorDefinition","parameters":{"id":65335,"nodeType":"ParameterList","parameters":[],"src":"6648:2:114"},"src":"6614:37:114"},{"documentation":{"id":65337,"nodeType":"StructuredDocumentation","src":"6655:169:114","text":" @notice Error thrown when caller is not the grant receiver\n @param caller The address of the caller\n @param recipient The address of the recipient"},"errorSelector":"95efd215","id":65343,"name":"CallerIsNotTheGrantReceiver","nameLocation":"6833:27:114","nodeType":"ErrorDefinition","parameters":{"id":65342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65339,"mutability":"mutable","name":"caller","nameLocation":"6869:6:114","nodeType":"VariableDeclaration","scope":65343,"src":"6861:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65338,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65341,"mutability":"mutable","name":"recipient","nameLocation":"6885:9:114","nodeType":"VariableDeclaration","scope":65343,"src":"6877:17:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65340,"name":"address","nodeType":"ElementaryTypeName","src":"6877:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6860:35:114"},"src":"6827:69:114"},{"documentation":{"id":65344,"nodeType":"StructuredDocumentation","src":"6900:55:114","text":" @notice Error thrown when transfer fails"},"errorSelector":"90b8ec18","id":65346,"name":"TransferFailed","nameLocation":"6964:14:114","nodeType":"ErrorDefinition","parameters":{"id":65345,"nodeType":"ParameterList","parameters":[],"src":"6978:2:114"},"src":"6958:23:114"},{"documentation":{"id":65347,"nodeType":"StructuredDocumentation","src":"6985:155:114","text":" @notice Error thrown when funds are insufficient\n @param availableFunds The available funds\n @param requiredFunds The required funds"},"errorSelector":"03eb8b54","id":65353,"name":"InsufficientFunds","nameLocation":"7149:17:114","nodeType":"ErrorDefinition","parameters":{"id":65352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65349,"mutability":"mutable","name":"availableFunds","nameLocation":"7175:14:114","nodeType":"VariableDeclaration","scope":65353,"src":"7167:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65348,"name":"uint256","nodeType":"ElementaryTypeName","src":"7167:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65351,"mutability":"mutable","name":"requiredFunds","nameLocation":"7199:13:114","nodeType":"VariableDeclaration","scope":65353,"src":"7191:21:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65350,"name":"uint256","nodeType":"ElementaryTypeName","src":"7191:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7166:47:114"},"src":"7143:71:114"},{"documentation":{"id":65354,"nodeType":"StructuredDocumentation","src":"7218:80:114","text":" @notice Error thrown when milestone details metadata URI is empty"},"errorSelector":"436f9d57","id":65356,"name":"MilestoneDetailsMetadataURIEmpty","nameLocation":"7307:32:114","nodeType":"ErrorDefinition","parameters":{"id":65355,"nodeType":"ParameterList","parameters":[],"src":"7339:2:114"},"src":"7301:41:114"},{"documentation":{"id":65357,"nodeType":"StructuredDocumentation","src":"7346:111:114","text":" @notice Error thrown when proposal is not executed\n @param proposalId The ID of the proposal"},"errorSelector":"4d585ff2","id":65361,"name":"ProposalNotExecuted","nameLocation":"7466:19:114","nodeType":"ErrorDefinition","parameters":{"id":65360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65359,"mutability":"mutable","name":"proposalId","nameLocation":"7494:10:114","nodeType":"VariableDeclaration","scope":65361,"src":"7486:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65358,"name":"uint256","nodeType":"ElementaryTypeName","src":"7486:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7485:20:114"},"src":"7460:46:114"},{"documentation":{"id":65362,"nodeType":"StructuredDocumentation","src":"7510:113:114","text":" @notice Error thrown when grant is already completed\n @param proposalId The ID of the proposal"},"errorSelector":"b2e459af","id":65366,"name":"GrantAlreadyCompleted","nameLocation":"7632:21:114","nodeType":"ErrorDefinition","parameters":{"id":65365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65364,"mutability":"mutable","name":"proposalId","nameLocation":"7662:10:114","nodeType":"VariableDeclaration","scope":65366,"src":"7654:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65363,"name":"uint256","nodeType":"ElementaryTypeName","src":"7654:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7653:20:114"},"src":"7626:48:114"},{"documentation":{"id":65367,"nodeType":"StructuredDocumentation","src":"7678:112:114","text":" @notice Error thrown when grant is already rejected\n @param proposalId The ID of the proposal"},"errorSelector":"3dba08ff","id":65371,"name":"GrantAlreadyRejected","nameLocation":"7799:20:114","nodeType":"ErrorDefinition","parameters":{"id":65370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65369,"mutability":"mutable","name":"proposalId","nameLocation":"7828:10:114","nodeType":"VariableDeclaration","scope":65371,"src":"7820:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65368,"name":"uint256","nodeType":"ElementaryTypeName","src":"7820:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7819:20:114"},"src":"7793:47:114"},{"canonicalName":"IGrantsManager.GrantState","documentation":{"id":65372,"nodeType":"StructuredDocumentation","src":"7909:178:114","text":" @notice GrantState enum to store the status of the grant\n @dev This is the same as the ProposalState enum however with InDevelopment and Completed extra states"},"id":65383,"members":[{"id":65373,"name":"Pending","nameLocation":"8112:7:114","nodeType":"EnumValue","src":"8112:7:114"},{"id":65374,"name":"Active","nameLocation":"8130:6:114","nodeType":"EnumValue","src":"8130:6:114"},{"id":65375,"name":"Canceled","nameLocation":"8147:8:114","nodeType":"EnumValue","src":"8147:8:114"},{"id":65376,"name":"Defeated","nameLocation":"8166:8:114","nodeType":"EnumValue","src":"8166:8:114"},{"id":65377,"name":"Succeeded","nameLocation":"8185:9:114","nodeType":"EnumValue","src":"8185:9:114"},{"id":65378,"name":"Queued","nameLocation":"8205:6:114","nodeType":"EnumValue","src":"8205:6:114"},{"id":65379,"name":"Executed","nameLocation":"8222:8:114","nodeType":"EnumValue","src":"8222:8:114"},{"id":65380,"name":"DepositNotMet","nameLocation":"8241:13:114","nodeType":"EnumValue","src":"8241:13:114"},{"id":65381,"name":"InDevelopment","nameLocation":"8265:13:114","nodeType":"EnumValue","src":"8265:13:114"},{"id":65382,"name":"Completed","nameLocation":"8289:9:114","nodeType":"EnumValue","src":"8289:9:114"}],"name":"GrantState","nameLocation":"8095:10:114","nodeType":"EnumDefinition","src":"8090:217:114"},{"canonicalName":"IGrantsManager.MilestoneState","documentation":{"id":65384,"nodeType":"StructuredDocumentation","src":"8311:79:114","text":" @notice MilestoneState enum to store the status of the milestone"},"id":65389,"members":[{"id":65385,"name":"Pending","nameLocation":"8419:7:114","nodeType":"EnumValue","src":"8419:7:114"},{"id":65386,"name":"Approved","nameLocation":"8447:8:114","nodeType":"EnumValue","src":"8447:8:114"},{"id":65387,"name":"Claimed","nameLocation":"8500:7:114","nodeType":"EnumValue","src":"8500:7:114"},{"id":65388,"name":"Rejected","nameLocation":"8547:8:114","nodeType":"EnumValue","src":"8547:8:114"}],"name":"MilestoneState","nameLocation":"8398:14:114","nodeType":"EnumDefinition","src":"8393:187:114"},{"canonicalName":"IGrantsManager.Milestone","documentation":{"id":65390,"nodeType":"StructuredDocumentation","src":"8584:39:114","text":" @notice Milestone struct"},"id":65401,"members":[{"constant":false,"id":65392,"mutability":"mutable","name":"amount","nameLocation":"8657:6:114","nodeType":"VariableDeclaration","scope":65401,"src":"8649:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65391,"name":"uint256","nodeType":"ElementaryTypeName","src":"8649:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65394,"mutability":"mutable","name":"isClaimed","nameLocation":"8674:9:114","nodeType":"VariableDeclaration","scope":65401,"src":"8669:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65393,"name":"bool","nodeType":"ElementaryTypeName","src":"8669:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":65396,"mutability":"mutable","name":"isApproved","nameLocation":"8694:10:114","nodeType":"VariableDeclaration","scope":65401,"src":"8689:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65395,"name":"bool","nodeType":"ElementaryTypeName","src":"8689:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":65398,"mutability":"mutable","name":"isRejected","nameLocation":"8715:10:114","nodeType":"VariableDeclaration","scope":65401,"src":"8710:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65397,"name":"bool","nodeType":"ElementaryTypeName","src":"8710:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":65400,"mutability":"mutable","name":"reason","nameLocation":"8738:6:114","nodeType":"VariableDeclaration","scope":65401,"src":"8731:13:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":65399,"name":"string","nodeType":"ElementaryTypeName","src":"8731:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Milestone","nameLocation":"8633:9:114","nodeType":"StructDefinition","scope":65639,"src":"8626:123:114","visibility":"public"},{"canonicalName":"IGrantsManager.GrantProposal","documentation":{"id":65402,"nodeType":"StructuredDocumentation","src":"8753:43:114","text":" @notice GrantProposal struct"},"id":65419,"members":[{"constant":false,"id":65404,"mutability":"mutable","name":"id","nameLocation":"8834:2:114","nodeType":"VariableDeclaration","scope":65419,"src":"8826:10:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65403,"name":"uint256","nodeType":"ElementaryTypeName","src":"8826:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65406,"mutability":"mutable","name":"totalAmount","nameLocation":"8850:11:114","nodeType":"VariableDeclaration","scope":65419,"src":"8842:19:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65405,"name":"uint256","nodeType":"ElementaryTypeName","src":"8842:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65408,"mutability":"mutable","name":"claimedAmount","nameLocation":"8875:13:114","nodeType":"VariableDeclaration","scope":65419,"src":"8867:21:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65407,"name":"uint256","nodeType":"ElementaryTypeName","src":"8867:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65410,"mutability":"mutable","name":"proposer","nameLocation":"8902:8:114","nodeType":"VariableDeclaration","scope":65419,"src":"8894:16:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65409,"name":"address","nodeType":"ElementaryTypeName","src":"8894:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65412,"mutability":"mutable","name":"grantsReceiver","nameLocation":"8924:14:114","nodeType":"VariableDeclaration","scope":65419,"src":"8916:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65411,"name":"address","nodeType":"ElementaryTypeName","src":"8916:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65416,"mutability":"mutable","name":"milestones","nameLocation":"8956:10:114","nodeType":"VariableDeclaration","scope":65419,"src":"8944:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage_ptr","typeString":"struct IGrantsManager.Milestone[]"},"typeName":{"baseType":{"id":65414,"nodeType":"UserDefinedTypeName","pathNode":{"id":65413,"name":"Milestone","nameLocations":["8944:9:114"],"nodeType":"IdentifierPath","referencedDeclaration":65401,"src":"8944:9:114"},"referencedDeclaration":65401,"src":"8944:9:114","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage_ptr","typeString":"struct IGrantsManager.Milestone"}},"id":65415,"nodeType":"ArrayTypeName","src":"8944:11:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage_ptr","typeString":"struct IGrantsManager.Milestone[]"}},"visibility":"internal"},{"constant":false,"id":65418,"mutability":"mutable","name":"metadataURI","nameLocation":"8979:11:114","nodeType":"VariableDeclaration","scope":65419,"src":"8972:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":65417,"name":"string","nodeType":"ElementaryTypeName","src":"8972:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"GrantProposal","nameLocation":"8806:13:114","nodeType":"StructDefinition","scope":65639,"src":"8799:196:114","visibility":"public"},{"documentation":{"id":65420,"nodeType":"StructuredDocumentation","src":"9081:340:114","text":" @notice Creates milestones for a proposal\n @param metadataURI The IPFS hash containing the milestones metadata\n @param proposalId The ID of the proposal\n @param proposer The address of the proposer\n @param grantsReceiver The address of the grants receiver\n @param calldatas The calldatas of the milestones"},"functionSelector":"808860a5","id":65434,"implemented":false,"kind":"function","modifiers":[],"name":"createMilestones","nameLocation":"9433:16:114","nodeType":"FunctionDefinition","parameters":{"id":65432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65422,"mutability":"mutable","name":"metadataURI","nameLocation":"9469:11:114","nodeType":"VariableDeclaration","scope":65434,"src":"9455:25:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65421,"name":"string","nodeType":"ElementaryTypeName","src":"9455:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65424,"mutability":"mutable","name":"proposalId","nameLocation":"9494:10:114","nodeType":"VariableDeclaration","scope":65434,"src":"9486:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65423,"name":"uint256","nodeType":"ElementaryTypeName","src":"9486:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65426,"mutability":"mutable","name":"proposer","nameLocation":"9518:8:114","nodeType":"VariableDeclaration","scope":65434,"src":"9510:16:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65425,"name":"address","nodeType":"ElementaryTypeName","src":"9510:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65428,"mutability":"mutable","name":"grantsReceiver","nameLocation":"9540:14:114","nodeType":"VariableDeclaration","scope":65434,"src":"9532:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65427,"name":"address","nodeType":"ElementaryTypeName","src":"9532:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65431,"mutability":"mutable","name":"calldatas","nameLocation":"9575:9:114","nodeType":"VariableDeclaration","scope":65434,"src":"9560:24:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":65429,"name":"bytes","nodeType":"ElementaryTypeName","src":"9560:5:114","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":65430,"nodeType":"ArrayTypeName","src":"9560:7:114","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"9449:139:114"},"returnParameters":{"id":65433,"nodeType":"ParameterList","parameters":[],"src":"9597:0:114"},"scope":65639,"src":"9424:174:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65435,"nodeType":"StructuredDocumentation","src":"9602:194:114","text":" @notice Returns a milestone for a proposal\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @return Milestone The milestone"},"functionSelector":"8ed9895c","id":65445,"implemented":false,"kind":"function","modifiers":[],"name":"getMilestone","nameLocation":"9808:12:114","nodeType":"FunctionDefinition","parameters":{"id":65440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65437,"mutability":"mutable","name":"proposalId","nameLocation":"9829:10:114","nodeType":"VariableDeclaration","scope":65445,"src":"9821:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65436,"name":"uint256","nodeType":"ElementaryTypeName","src":"9821:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65439,"mutability":"mutable","name":"milestoneIndex","nameLocation":"9849:14:114","nodeType":"VariableDeclaration","scope":65445,"src":"9841:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65438,"name":"uint256","nodeType":"ElementaryTypeName","src":"9841:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9820:44:114"},"returnParameters":{"id":65444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65445,"src":"9888:16:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_memory_ptr","typeString":"struct IGrantsManager.Milestone"},"typeName":{"id":65442,"nodeType":"UserDefinedTypeName","pathNode":{"id":65441,"name":"Milestone","nameLocations":["9888:9:114"],"nodeType":"IdentifierPath","referencedDeclaration":65401,"src":"9888:9:114"},"referencedDeclaration":65401,"src":"9888:9:114","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage_ptr","typeString":"struct IGrantsManager.Milestone"}},"visibility":"internal"}],"src":"9887:18:114"},"scope":65639,"src":"9799:107:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65446,"nodeType":"StructuredDocumentation","src":"9910:164:114","text":" @notice Returns the milestones for a proposal\n @param proposalId The ID of the proposal\n @return GrantProposal struct created on proposeGrant"},"functionSelector":"24ad94cd","id":65454,"implemented":false,"kind":"function","modifiers":[],"name":"getGrantProposal","nameLocation":"10086:16:114","nodeType":"FunctionDefinition","parameters":{"id":65449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65448,"mutability":"mutable","name":"proposalId","nameLocation":"10111:10:114","nodeType":"VariableDeclaration","scope":65454,"src":"10103:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65447,"name":"uint256","nodeType":"ElementaryTypeName","src":"10103:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10102:20:114"},"returnParameters":{"id":65453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65452,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65454,"src":"10146:20:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_memory_ptr","typeString":"struct IGrantsManager.GrantProposal"},"typeName":{"id":65451,"nodeType":"UserDefinedTypeName","pathNode":{"id":65450,"name":"GrantProposal","nameLocations":["10146:13:114"],"nodeType":"IdentifierPath","referencedDeclaration":65419,"src":"10146:13:114"},"referencedDeclaration":65419,"src":"10146:13:114","typeDescriptions":{"typeIdentifier":"t_struct$_GrantProposal_$65419_storage_ptr","typeString":"struct IGrantsManager.GrantProposal"}},"visibility":"internal"}],"src":"10145:22:114"},"scope":65639,"src":"10077:91:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65455,"nodeType":"StructuredDocumentation","src":"10172:169:114","text":" @notice Returns the milestones for a proposal\n @param proposalId The ID of the proposal\n @return Milestone[] The milestones for the grant proposal"},"functionSelector":"42c549c0","id":65464,"implemented":false,"kind":"function","modifiers":[],"name":"getMilestones","nameLocation":"10353:13:114","nodeType":"FunctionDefinition","parameters":{"id":65458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65457,"mutability":"mutable","name":"proposalId","nameLocation":"10375:10:114","nodeType":"VariableDeclaration","scope":65464,"src":"10367:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65456,"name":"uint256","nodeType":"ElementaryTypeName","src":"10367:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10366:20:114"},"returnParameters":{"id":65463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65462,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65464,"src":"10410:18:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr","typeString":"struct IGrantsManager.Milestone[]"},"typeName":{"baseType":{"id":65460,"nodeType":"UserDefinedTypeName","pathNode":{"id":65459,"name":"Milestone","nameLocations":["10410:9:114"],"nodeType":"IdentifierPath","referencedDeclaration":65401,"src":"10410:9:114"},"referencedDeclaration":65401,"src":"10410:9:114","typeDescriptions":{"typeIdentifier":"t_struct$_Milestone_$65401_storage_ptr","typeString":"struct IGrantsManager.Milestone"}},"id":65461,"nodeType":"ArrayTypeName","src":"10410:11:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Milestone_$65401_storage_$dyn_storage_ptr","typeString":"struct IGrantsManager.Milestone[]"}},"visibility":"internal"}],"src":"10409:20:114"},"scope":65639,"src":"10344:86:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65465,"nodeType":"StructuredDocumentation","src":"10434:143:114","text":" @notice Approves a milestone\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"functionSelector":"767b1602","id":65472,"implemented":false,"kind":"function","modifiers":[],"name":"approveMilestones","nameLocation":"10589:17:114","nodeType":"FunctionDefinition","parameters":{"id":65470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65467,"mutability":"mutable","name":"proposalId","nameLocation":"10615:10:114","nodeType":"VariableDeclaration","scope":65472,"src":"10607:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65466,"name":"uint256","nodeType":"ElementaryTypeName","src":"10607:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65469,"mutability":"mutable","name":"milestoneIndex","nameLocation":"10635:14:114","nodeType":"VariableDeclaration","scope":65472,"src":"10627:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65468,"name":"uint256","nodeType":"ElementaryTypeName","src":"10627:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10606:44:114"},"returnParameters":{"id":65471,"nodeType":"ParameterList","parameters":[],"src":"10659:0:114"},"scope":65639,"src":"10580:80:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65473,"nodeType":"StructuredDocumentation","src":"10664:257:114","text":" @notice Approves a milestone with a reason\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @param reason The reason for approving the milestone\n @notice This is used to approve a mi"},"functionSelector":"b3396778","id":65482,"implemented":false,"kind":"function","modifiers":[],"name":"approveMilestoneWithReason","nameLocation":"10933:26:114","nodeType":"FunctionDefinition","parameters":{"id":65480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65475,"mutability":"mutable","name":"proposalId","nameLocation":"10968:10:114","nodeType":"VariableDeclaration","scope":65482,"src":"10960:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65474,"name":"uint256","nodeType":"ElementaryTypeName","src":"10960:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65477,"mutability":"mutable","name":"milestoneIndex","nameLocation":"10988:14:114","nodeType":"VariableDeclaration","scope":65482,"src":"10980:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65476,"name":"uint256","nodeType":"ElementaryTypeName","src":"10980:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65479,"mutability":"mutable","name":"reason","nameLocation":"11018:6:114","nodeType":"VariableDeclaration","scope":65482,"src":"11004:20:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65478,"name":"string","nodeType":"ElementaryTypeName","src":"11004:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10959:66:114"},"returnParameters":{"id":65481,"nodeType":"ParameterList","parameters":[],"src":"11034:0:114"},"scope":65639,"src":"10924:111:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65483,"nodeType":"StructuredDocumentation","src":"11038:117:114","text":" @notice Sets the minimum milestone count\n @param minimumMilestoneCount The minimum milestone count"},"functionSelector":"b2a2eef9","id":65488,"implemented":false,"kind":"function","modifiers":[],"name":"setMinimumMilestoneCount","nameLocation":"11167:24:114","nodeType":"FunctionDefinition","parameters":{"id":65486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65485,"mutability":"mutable","name":"minimumMilestoneCount","nameLocation":"11200:21:114","nodeType":"VariableDeclaration","scope":65488,"src":"11192:29:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65484,"name":"uint256","nodeType":"ElementaryTypeName","src":"11192:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11191:31:114"},"returnParameters":{"id":65487,"nodeType":"ParameterList","parameters":[],"src":"11231:0:114"},"scope":65639,"src":"11158:74:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65489,"nodeType":"StructuredDocumentation","src":"11236:99:114","text":" @notice Returns the minimum milestone count\n @return The minimum milestone count"},"functionSelector":"01294764","id":65494,"implemented":false,"kind":"function","modifiers":[],"name":"getMinimumMilestoneCount","nameLocation":"11347:24:114","nodeType":"FunctionDefinition","parameters":{"id":65490,"nodeType":"ParameterList","parameters":[],"src":"11371:2:114"},"returnParameters":{"id":65493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65492,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65494,"src":"11397:7:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65491,"name":"uint256","nodeType":"ElementaryTypeName","src":"11397:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11396:9:114"},"scope":65639,"src":"11338:68:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65495,"nodeType":"StructuredDocumentation","src":"11410:210:114","text":" @notice Returns the state of a milestone\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @return MilestoneState The state of the milestone"},"functionSelector":"e9af5d1b","id":65505,"implemented":false,"kind":"function","modifiers":[],"name":"milestoneState","nameLocation":"11632:14:114","nodeType":"FunctionDefinition","parameters":{"id":65500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65497,"mutability":"mutable","name":"proposalId","nameLocation":"11655:10:114","nodeType":"VariableDeclaration","scope":65505,"src":"11647:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65496,"name":"uint256","nodeType":"ElementaryTypeName","src":"11647:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65499,"mutability":"mutable","name":"milestoneIndex","nameLocation":"11675:14:114","nodeType":"VariableDeclaration","scope":65505,"src":"11667:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65498,"name":"uint256","nodeType":"ElementaryTypeName","src":"11667:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11646:44:114"},"returnParameters":{"id":65504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65505,"src":"11714:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"},"typeName":{"id":65502,"nodeType":"UserDefinedTypeName","pathNode":{"id":65501,"name":"MilestoneState","nameLocations":["11714:14:114"],"nodeType":"IdentifierPath","referencedDeclaration":65389,"src":"11714:14:114"},"referencedDeclaration":65389,"src":"11714:14:114","typeDescriptions":{"typeIdentifier":"t_enum$_MilestoneState_$65389","typeString":"enum IGrantsManager.MilestoneState"}},"visibility":"internal"}],"src":"11713:16:114"},"scope":65639,"src":"11623:107:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65506,"nodeType":"StructuredDocumentation","src":"11734:150:114","text":" @notice Returns the state of a proposal\n @param proposalId The ID of the proposal\n @return GrantState The state of the proposal"},"functionSelector":"bfda4e7c","id":65514,"implemented":false,"kind":"function","modifiers":[],"name":"grantState","nameLocation":"11896:10:114","nodeType":"FunctionDefinition","parameters":{"id":65509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65508,"mutability":"mutable","name":"proposalId","nameLocation":"11915:10:114","nodeType":"VariableDeclaration","scope":65514,"src":"11907:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65507,"name":"uint256","nodeType":"ElementaryTypeName","src":"11907:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11906:20:114"},"returnParameters":{"id":65513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65514,"src":"11950:10:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$65383","typeString":"enum IGrantsManager.GrantState"},"typeName":{"id":65511,"nodeType":"UserDefinedTypeName","pathNode":{"id":65510,"name":"GrantState","nameLocations":["11950:10:114"],"nodeType":"IdentifierPath","referencedDeclaration":65383,"src":"11950:10:114"},"referencedDeclaration":65383,"src":"11950:10:114","typeDescriptions":{"typeIdentifier":"t_enum$_GrantState_$65383","typeString":"enum IGrantsManager.GrantState"}},"visibility":"internal"}],"src":"11949:12:114"},"scope":65639,"src":"11887:75:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65515,"nodeType":"StructuredDocumentation","src":"11966:182:114","text":" @notice Returns if a proposal is in development\n @param proposalId The ID of the proposal\n @return bool True if the proposal is in development, false otherwise"},"functionSelector":"c2249389","id":65522,"implemented":false,"kind":"function","modifiers":[],"name":"isGrantCompleted","nameLocation":"12160:16:114","nodeType":"FunctionDefinition","parameters":{"id":65518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65517,"mutability":"mutable","name":"proposalId","nameLocation":"12185:10:114","nodeType":"VariableDeclaration","scope":65522,"src":"12177:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65516,"name":"uint256","nodeType":"ElementaryTypeName","src":"12177:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12176:20:114"},"returnParameters":{"id":65521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65520,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65522,"src":"12220:4:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65519,"name":"bool","nodeType":"ElementaryTypeName","src":"12220:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12219:6:114"},"scope":65639,"src":"12151:75:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65523,"nodeType":"StructuredDocumentation","src":"12230:182:114","text":" @notice Returns if a proposal is in development\n @param proposalId The ID of the proposal\n @return bool True if the proposal is in development, false otherwise"},"functionSelector":"9b154087","id":65530,"implemented":false,"kind":"function","modifiers":[],"name":"isGrantInDevelopment","nameLocation":"12424:20:114","nodeType":"FunctionDefinition","parameters":{"id":65526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65525,"mutability":"mutable","name":"proposalId","nameLocation":"12453:10:114","nodeType":"VariableDeclaration","scope":65530,"src":"12445:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65524,"name":"uint256","nodeType":"ElementaryTypeName","src":"12445:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12444:20:114"},"returnParameters":{"id":65529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65528,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65530,"src":"12488:4:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65527,"name":"bool","nodeType":"ElementaryTypeName","src":"12488:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12487:6:114"},"scope":65639,"src":"12415:79:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65531,"nodeType":"StructuredDocumentation","src":"12498:179:114","text":" @notice Returns if a proposal is rejected\n @param proposalId The ID of the proposal\n @return bool True if one of the milestones is rejected, false otherwise"},"functionSelector":"7da17bf3","id":65538,"implemented":false,"kind":"function","modifiers":[],"name":"isGrantRejected","nameLocation":"12689:15:114","nodeType":"FunctionDefinition","parameters":{"id":65534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65533,"mutability":"mutable","name":"proposalId","nameLocation":"12713:10:114","nodeType":"VariableDeclaration","scope":65538,"src":"12705:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65532,"name":"uint256","nodeType":"ElementaryTypeName","src":"12705:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12704:20:114"},"returnParameters":{"id":65537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65536,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65538,"src":"12748:4:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65535,"name":"bool","nodeType":"ElementaryTypeName","src":"12748:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12747:6:114"},"scope":65639,"src":"12680:74:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65539,"nodeType":"StructuredDocumentation","src":"12758:88:114","text":" @notice Rejects a milestone\n @param proposalId The ID of the proposal"},"functionSelector":"f23e227b","id":65544,"implemented":false,"kind":"function","modifiers":[],"name":"rejectMilestones","nameLocation":"12858:16:114","nodeType":"FunctionDefinition","parameters":{"id":65542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65541,"mutability":"mutable","name":"proposalId","nameLocation":"12883:10:114","nodeType":"VariableDeclaration","scope":65544,"src":"12875:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65540,"name":"uint256","nodeType":"ElementaryTypeName","src":"12875:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12874:20:114"},"returnParameters":{"id":65543,"nodeType":"ParameterList","parameters":[],"src":"12903:0:114"},"scope":65639,"src":"12849:55:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65545,"nodeType":"StructuredDocumentation","src":"12908:159:114","text":" @notice Returns the total amount for milestones\n @param milestoneId The ID of the milestone\n @return The total amount for the milestones"},"functionSelector":"5ade3874","id":65552,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalAmountForMilestones","nameLocation":"13079:27:114","nodeType":"FunctionDefinition","parameters":{"id":65548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65547,"mutability":"mutable","name":"milestoneId","nameLocation":"13115:11:114","nodeType":"VariableDeclaration","scope":65552,"src":"13107:19:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65546,"name":"uint256","nodeType":"ElementaryTypeName","src":"13107:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13106:21:114"},"returnParameters":{"id":65551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65550,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65552,"src":"13151:7:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65549,"name":"uint256","nodeType":"ElementaryTypeName","src":"13151:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13150:9:114"},"scope":65639,"src":"13070:90:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65553,"nodeType":"StructuredDocumentation","src":"13241:140:114","text":" @notice Claims milestones\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone"},"functionSelector":"c266aef7","id":65560,"implemented":false,"kind":"function","modifiers":[],"name":"claimMilestone","nameLocation":"13393:14:114","nodeType":"FunctionDefinition","parameters":{"id":65558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65555,"mutability":"mutable","name":"proposalId","nameLocation":"13416:10:114","nodeType":"VariableDeclaration","scope":65560,"src":"13408:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65554,"name":"uint256","nodeType":"ElementaryTypeName","src":"13408:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65557,"mutability":"mutable","name":"milestoneIndex","nameLocation":"13436:14:114","nodeType":"VariableDeclaration","scope":65560,"src":"13428:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65556,"name":"uint256","nodeType":"ElementaryTypeName","src":"13428:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13407:44:114"},"returnParameters":{"id":65559,"nodeType":"ParameterList","parameters":[],"src":"13460:0:114"},"scope":65639,"src":"13384:77:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65561,"nodeType":"StructuredDocumentation","src":"13465:228:114","text":" @notice Returns if a milestone is claimable\n @param proposalId The ID of the proposal\n @param milestoneIndex The index of the milestone\n @return bool True if the milestone is claimable, false otherwise"},"functionSelector":"c1a45a6a","id":65570,"implemented":false,"kind":"function","modifiers":[],"name":"isClaimable","nameLocation":"13705:11:114","nodeType":"FunctionDefinition","parameters":{"id":65566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65563,"mutability":"mutable","name":"proposalId","nameLocation":"13725:10:114","nodeType":"VariableDeclaration","scope":65570,"src":"13717:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65562,"name":"uint256","nodeType":"ElementaryTypeName","src":"13717:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65565,"mutability":"mutable","name":"milestoneIndex","nameLocation":"13745:14:114","nodeType":"VariableDeclaration","scope":65570,"src":"13737:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65564,"name":"uint256","nodeType":"ElementaryTypeName","src":"13737:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13716:44:114"},"returnParameters":{"id":65569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65568,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65570,"src":"13784:4:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65567,"name":"bool","nodeType":"ElementaryTypeName","src":"13784:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13783:6:114"},"scope":65639,"src":"13696:94:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65571,"nodeType":"StructuredDocumentation","src":"13873:108:114","text":" @notice Sets the governor contract\n @param _governor The address of the governor contract"},"functionSelector":"06c49822","id":65576,"implemented":false,"kind":"function","modifiers":[],"name":"setGovernorContract","nameLocation":"13993:19:114","nodeType":"FunctionDefinition","parameters":{"id":65574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65573,"mutability":"mutable","name":"_governor","nameLocation":"14021:9:114","nodeType":"VariableDeclaration","scope":65576,"src":"14013:17:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65572,"name":"address","nodeType":"ElementaryTypeName","src":"14013:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14012:19:114"},"returnParameters":{"id":65575,"nodeType":"ParameterList","parameters":[],"src":"14040:0:114"},"scope":65639,"src":"13984:57:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65577,"nodeType":"StructuredDocumentation","src":"14045:108:114","text":" @notice Sets the treasury contract\n @param _treasury The address of the treasury contract"},"functionSelector":"1ed65110","id":65582,"implemented":false,"kind":"function","modifiers":[],"name":"setTreasuryContract","nameLocation":"14165:19:114","nodeType":"FunctionDefinition","parameters":{"id":65580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65579,"mutability":"mutable","name":"_treasury","nameLocation":"14193:9:114","nodeType":"VariableDeclaration","scope":65582,"src":"14185:17:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65578,"name":"address","nodeType":"ElementaryTypeName","src":"14185:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14184:19:114"},"returnParameters":{"id":65581,"nodeType":"ParameterList","parameters":[],"src":"14212:0:114"},"scope":65639,"src":"14156:57:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65583,"nodeType":"StructuredDocumentation","src":"14217:102:114","text":" @notice Returns the governor contract\n @return The address of the governor contract"},"functionSelector":"0019cce6","id":65588,"implemented":false,"kind":"function","modifiers":[],"name":"getGovernorContract","nameLocation":"14331:19:114","nodeType":"FunctionDefinition","parameters":{"id":65584,"nodeType":"ParameterList","parameters":[],"src":"14350:2:114"},"returnParameters":{"id":65587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65588,"src":"14376:7:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65585,"name":"address","nodeType":"ElementaryTypeName","src":"14376:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14375:9:114"},"scope":65639,"src":"14322:63:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65589,"nodeType":"StructuredDocumentation","src":"14389:102:114","text":" @notice Returns the treasury contract\n @return The address of the treasury contract"},"functionSelector":"26c74fc3","id":65594,"implemented":false,"kind":"function","modifiers":[],"name":"getTreasuryContract","nameLocation":"14503:19:114","nodeType":"FunctionDefinition","parameters":{"id":65590,"nodeType":"ParameterList","parameters":[],"src":"14522:2:114"},"returnParameters":{"id":65593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65594,"src":"14548:7:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65591,"name":"address","nodeType":"ElementaryTypeName","src":"14548:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14547:9:114"},"scope":65639,"src":"14494:63:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65595,"nodeType":"StructuredDocumentation","src":"14561:94:114","text":" @notice Returns the b3tr contract\n @return The address of the b3tr contract"},"functionSelector":"c4ec8f98","id":65600,"implemented":false,"kind":"function","modifiers":[],"name":"getB3trContract","nameLocation":"14667:15:114","nodeType":"FunctionDefinition","parameters":{"id":65596,"nodeType":"ParameterList","parameters":[],"src":"14682:2:114"},"returnParameters":{"id":65599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65598,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65600,"src":"14708:7:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65597,"name":"address","nodeType":"ElementaryTypeName","src":"14708:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14707:9:114"},"scope":65639,"src":"14658:59:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65601,"nodeType":"StructuredDocumentation","src":"14721:96:114","text":" @notice Sets the b3tr contract\n @param _b3tr The address of the b3tr contract"},"functionSelector":"54b90b7b","id":65606,"implemented":false,"kind":"function","modifiers":[],"name":"setB3trContract","nameLocation":"14829:15:114","nodeType":"FunctionDefinition","parameters":{"id":65604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65603,"mutability":"mutable","name":"_b3tr","nameLocation":"14853:5:114","nodeType":"VariableDeclaration","scope":65606,"src":"14845:13:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65602,"name":"address","nodeType":"ElementaryTypeName","src":"14845:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14844:15:114"},"returnParameters":{"id":65605,"nodeType":"ParameterList","parameters":[],"src":"14868:0:114"},"scope":65639,"src":"14820:49:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65607,"nodeType":"StructuredDocumentation","src":"14873:166:114","text":" @notice Updates the grants receiver address\n @param proposalId The ID of the proposal\n @param newGrantsReceiver The new grants receiver address"},"functionSelector":"e03d759b","id":65614,"implemented":false,"kind":"function","modifiers":[],"name":"updateGrantsReceiver","nameLocation":"15051:20:114","nodeType":"FunctionDefinition","parameters":{"id":65612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65609,"mutability":"mutable","name":"proposalId","nameLocation":"15080:10:114","nodeType":"VariableDeclaration","scope":65614,"src":"15072:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65608,"name":"uint256","nodeType":"ElementaryTypeName","src":"15072:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65611,"mutability":"mutable","name":"newGrantsReceiver","nameLocation":"15100:17:114","nodeType":"VariableDeclaration","scope":65614,"src":"15092:25:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65610,"name":"address","nodeType":"ElementaryTypeName","src":"15092:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15071:47:114"},"returnParameters":{"id":65613,"nodeType":"ParameterList","parameters":[],"src":"15127:0:114"},"scope":65639,"src":"15042:86:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65615,"nodeType":"StructuredDocumentation","src":"15132:152:114","text":" @notice Returns the grants receiver address\n @param proposalId The ID of the proposal\n @return The address of the grants receiver"},"functionSelector":"da104fac","id":65622,"implemented":false,"kind":"function","modifiers":[],"name":"getGrantsReceiverAddress","nameLocation":"15296:24:114","nodeType":"FunctionDefinition","parameters":{"id":65618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65617,"mutability":"mutable","name":"proposalId","nameLocation":"15329:10:114","nodeType":"VariableDeclaration","scope":65622,"src":"15321:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65616,"name":"uint256","nodeType":"ElementaryTypeName","src":"15321:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15320:20:114"},"returnParameters":{"id":65621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65622,"src":"15364:7:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65619,"name":"address","nodeType":"ElementaryTypeName","src":"15364:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15363:9:114"},"scope":65639,"src":"15287:86:114","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":65623,"nodeType":"StructuredDocumentation","src":"15443:212:114","text":" @notice Updates the milestone description metadata URI for a proposal\n @param proposalId The ID of the proposal\n @param newMilestoneMetadataURI The milestone description metadata URI to set"},"functionSelector":"c42433b4","id":65630,"implemented":false,"kind":"function","modifiers":[],"name":"updateMilestoneMetadataURI","nameLocation":"15667:26:114","nodeType":"FunctionDefinition","parameters":{"id":65628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65625,"mutability":"mutable","name":"proposalId","nameLocation":"15702:10:114","nodeType":"VariableDeclaration","scope":65630,"src":"15694:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65624,"name":"uint256","nodeType":"ElementaryTypeName","src":"15694:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65627,"mutability":"mutable","name":"newMilestoneMetadataURI","nameLocation":"15728:23:114","nodeType":"VariableDeclaration","scope":65630,"src":"15714:37:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65626,"name":"string","nodeType":"ElementaryTypeName","src":"15714:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15693:59:114"},"returnParameters":{"id":65629,"nodeType":"ParameterList","parameters":[],"src":"15761:0:114"},"scope":65639,"src":"15658:104:114","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":65631,"nodeType":"StructuredDocumentation","src":"15766:177:114","text":" @notice Returns the milestone  metadata URI for a proposal\n @param proposalId The ID of the proposal\n @return The milestone  metadata URI for the proposal"},"functionSelector":"cff28c70","id":65638,"implemented":false,"kind":"function","modifiers":[],"name":"getMilestoneMetadataURI","nameLocation":"15955:23:114","nodeType":"FunctionDefinition","parameters":{"id":65634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65633,"mutability":"mutable","name":"proposalId","nameLocation":"15987:10:114","nodeType":"VariableDeclaration","scope":65638,"src":"15979:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65632,"name":"uint256","nodeType":"ElementaryTypeName","src":"15979:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15978:20:114"},"returnParameters":{"id":65637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65638,"src":"16022:13:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65635,"name":"string","nodeType":"ElementaryTypeName","src":"16022:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16021:15:114"},"scope":65639,"src":"15946:91:114","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":65640,"src":"1465:14574:114","usedErrors":[65259,65262,65267,65274,65279,65282,65289,65296,65302,65309,65316,65319,65326,65333,65336,65343,65346,65353,65356,65361,65366,65371],"usedEvents":[65206,65215,65222,65229,65236,65249,65254]}],"src":"1195:14845:114"},"id":114},"contracts/interfaces/INavigatorRegistry.sol":{"ast":{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","exportedSymbols":{"INavigatorRegistry":[66638]},"id":66639,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":65641,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:115"},{"abstract":false,"baseContracts":[],"canonicalName":"INavigatorRegistry","contractDependencies":[],"contractKind":"interface","documentation":{"id":65642,"nodeType":"StructuredDocumentation","src":"57:187:115","text":" @title INavigatorRegistry\n @notice Interface for the NavigatorRegistry contract.\n Navigators are professional voting delegates who stake B3TR to vote on behalf of citizens."},"fullyImplemented":false,"id":66638,"linearizedBaseContracts":[66638],"name":"INavigatorRegistry","nameLocation":"255:18:115","nodeType":"ContractDefinition","nodes":[{"canonicalName":"INavigatorRegistry.NavigatorStatus","documentation":{"id":65643,"nodeType":"StructuredDocumentation","src":"343:38:115","text":"@notice Navigator lifecycle status"},"id":65648,"members":[{"id":65644,"name":"NONE","nameLocation":"411:4:115","nodeType":"EnumValue","src":"411:4:115"},{"id":65645,"name":"ACTIVE","nameLocation":"439:6:115","nodeType":"EnumValue","src":"439:6:115"},{"id":65646,"name":"EXITING","nameLocation":"476:7:115","nodeType":"EnumValue","src":"476:7:115"},{"id":65647,"name":"DEACTIVATED","nameLocation":"534:11:115","nodeType":"EnumValue","src":"534:11:115"}],"name":"NavigatorStatus","nameLocation":"389:15:115","nodeType":"EnumDefinition","src":"384:226:115"},{"documentation":{"id":65649,"nodeType":"StructuredDocumentation","src":"700:46:115","text":"@notice Thrown when stake is below minimum"},"errorSelector":"78e030db","id":65655,"name":"StakeBelowMinimum","nameLocation":"755:17:115","nodeType":"ErrorDefinition","parameters":{"id":65654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65651,"mutability":"mutable","name":"provided","nameLocation":"781:8:115","nodeType":"VariableDeclaration","scope":65655,"src":"773:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65650,"name":"uint256","nodeType":"ElementaryTypeName","src":"773:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65653,"mutability":"mutable","name":"minimum","nameLocation":"799:7:115","nodeType":"VariableDeclaration","scope":65655,"src":"791:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65652,"name":"uint256","nodeType":"ElementaryTypeName","src":"791:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"772:35:115"},"src":"749:59:115"},{"documentation":{"id":65656,"nodeType":"StructuredDocumentation","src":"812:73:115","text":"@notice Thrown when stake exceeds maximum (percentage of VOT3 supply)"},"errorSelector":"01ce78ed","id":65662,"name":"StakeExceedsMaximum","nameLocation":"894:19:115","nodeType":"ErrorDefinition","parameters":{"id":65661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65658,"mutability":"mutable","name":"provided","nameLocation":"922:8:115","nodeType":"VariableDeclaration","scope":65662,"src":"914:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65657,"name":"uint256","nodeType":"ElementaryTypeName","src":"914:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65660,"mutability":"mutable","name":"maximum","nameLocation":"940:7:115","nodeType":"VariableDeclaration","scope":65662,"src":"932:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65659,"name":"uint256","nodeType":"ElementaryTypeName","src":"932:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"913:35:115"},"src":"888:61:115"},{"documentation":{"id":65663,"nodeType":"StructuredDocumentation","src":"953:64:115","text":"@notice Thrown when caller is already a registered navigator"},"errorSelector":"45ed80e9","id":65667,"name":"AlreadyRegistered","nameLocation":"1026:17:115","nodeType":"ErrorDefinition","parameters":{"id":65666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65665,"mutability":"mutable","name":"navigator","nameLocation":"1052:9:115","nodeType":"VariableDeclaration","scope":65667,"src":"1044:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65664,"name":"address","nodeType":"ElementaryTypeName","src":"1044:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1043:19:115"},"src":"1020:43:115"},{"documentation":{"id":65668,"nodeType":"StructuredDocumentation","src":"1067:69:115","text":"@notice Thrown when caller is currently delegating to a navigator"},"errorSelector":"b4e0c5fe","id":65674,"name":"DelegatorCannotRegister","nameLocation":"1145:23:115","nodeType":"ErrorDefinition","parameters":{"id":65673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65670,"mutability":"mutable","name":"delegator","nameLocation":"1177:9:115","nodeType":"VariableDeclaration","scope":65674,"src":"1169:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65669,"name":"address","nodeType":"ElementaryTypeName","src":"1169:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65672,"mutability":"mutable","name":"currentNavigator","nameLocation":"1196:16:115","nodeType":"VariableDeclaration","scope":65674,"src":"1188:24:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65671,"name":"address","nodeType":"ElementaryTypeName","src":"1188:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1168:45:115"},"src":"1139:75:115"},{"documentation":{"id":65675,"nodeType":"StructuredDocumentation","src":"1218:60:115","text":"@notice Thrown when caller is not a registered navigator"},"errorSelector":"bfc6c337","id":65679,"name":"NotRegistered","nameLocation":"1287:13:115","nodeType":"ErrorDefinition","parameters":{"id":65678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65677,"mutability":"mutable","name":"navigator","nameLocation":"1309:9:115","nodeType":"VariableDeclaration","scope":65679,"src":"1301:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65676,"name":"address","nodeType":"ElementaryTypeName","src":"1301:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1300:19:115"},"src":"1281:39:115"},{"documentation":{"id":65680,"nodeType":"StructuredDocumentation","src":"1324:48:115","text":"@notice Thrown when navigator is deactivated"},"errorSelector":"4ebc0125","id":65684,"name":"NavigatorDeactivated","nameLocation":"1381:20:115","nodeType":"ErrorDefinition","parameters":{"id":65683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65682,"mutability":"mutable","name":"navigator","nameLocation":"1410:9:115","nodeType":"VariableDeclaration","scope":65684,"src":"1402:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65681,"name":"address","nodeType":"ElementaryTypeName","src":"1402:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1401:19:115"},"src":"1375:46:115"},{"documentation":{"id":65685,"nodeType":"StructuredDocumentation","src":"1425:69:115","text":"@notice Thrown when navigator is still active and must exit first"},"errorSelector":"f1ac34f9","id":65689,"name":"NavigatorStillActive","nameLocation":"1503:20:115","nodeType":"ErrorDefinition","parameters":{"id":65688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65687,"mutability":"mutable","name":"navigator","nameLocation":"1532:9:115","nodeType":"VariableDeclaration","scope":65689,"src":"1524:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65686,"name":"address","nodeType":"ElementaryTypeName","src":"1524:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1523:19:115"},"src":"1497:46:115"},{"documentation":{"id":65690,"nodeType":"StructuredDocumentation","src":"1570:67:115","text":"@notice Thrown when citizen is already delegated to a navigator"},"errorSelector":"f8e7903c","id":65696,"name":"AlreadyDelegated","nameLocation":"1646:16:115","nodeType":"ErrorDefinition","parameters":{"id":65695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65692,"mutability":"mutable","name":"citizen","nameLocation":"1671:7:115","nodeType":"VariableDeclaration","scope":65696,"src":"1663:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65691,"name":"address","nodeType":"ElementaryTypeName","src":"1663:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65694,"mutability":"mutable","name":"currentNavigator","nameLocation":"1688:16:115","nodeType":"VariableDeclaration","scope":65696,"src":"1680:24:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65693,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1662:43:115"},"src":"1640:66:115"},{"documentation":{"id":65697,"nodeType":"StructuredDocumentation","src":"1710:65:115","text":"@notice Thrown when citizen is not delegated to any navigator"},"errorSelector":"d48bb6b6","id":65701,"name":"NotDelegated","nameLocation":"1784:12:115","nodeType":"ErrorDefinition","parameters":{"id":65700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65699,"mutability":"mutable","name":"citizen","nameLocation":"1805:7:115","nodeType":"VariableDeclaration","scope":65701,"src":"1797:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65698,"name":"address","nodeType":"ElementaryTypeName","src":"1797:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1796:17:115"},"src":"1778:36:115"},{"documentation":{"id":65702,"nodeType":"StructuredDocumentation","src":"1818:68:115","text":"@notice Thrown when target address is not a registered navigator"},"errorSelector":"08d493f6","id":65706,"name":"NotANavigator","nameLocation":"1895:13:115","nodeType":"ErrorDefinition","parameters":{"id":65705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65704,"mutability":"mutable","name":"account","nameLocation":"1917:7:115","nodeType":"VariableDeclaration","scope":65706,"src":"1909:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65703,"name":"address","nodeType":"ElementaryTypeName","src":"1909:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1908:17:115"},"src":"1889:37:115"},{"documentation":{"id":65707,"nodeType":"StructuredDocumentation","src":"1930:63:115","text":"@notice Thrown when navigator cannot accept new delegations"},"errorSelector":"252bcede","id":65711,"name":"NavigatorCannotAcceptDelegations","nameLocation":"2002:32:115","nodeType":"ErrorDefinition","parameters":{"id":65710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65709,"mutability":"mutable","name":"navigator","nameLocation":"2043:9:115","nodeType":"VariableDeclaration","scope":65711,"src":"2035:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65708,"name":"address","nodeType":"ElementaryTypeName","src":"2035:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2034:19:115"},"src":"1996:58:115"},{"documentation":{"id":65712,"nodeType":"StructuredDocumentation","src":"2058:68:115","text":"@notice Thrown when delegation would exceed navigator's capacity"},"errorSelector":"fa53851a","id":65720,"name":"ExceedsNavigatorCapacity","nameLocation":"2135:24:115","nodeType":"ErrorDefinition","parameters":{"id":65719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65714,"mutability":"mutable","name":"navigator","nameLocation":"2168:9:115","nodeType":"VariableDeclaration","scope":65720,"src":"2160:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65713,"name":"address","nodeType":"ElementaryTypeName","src":"2160:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65716,"mutability":"mutable","name":"requested","nameLocation":"2187:9:115","nodeType":"VariableDeclaration","scope":65720,"src":"2179:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65715,"name":"uint256","nodeType":"ElementaryTypeName","src":"2179:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65718,"mutability":"mutable","name":"available","nameLocation":"2206:9:115","nodeType":"VariableDeclaration","scope":65720,"src":"2198:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65717,"name":"uint256","nodeType":"ElementaryTypeName","src":"2198:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2159:57:115"},"src":"2129:88:115"},{"documentation":{"id":65721,"nodeType":"StructuredDocumentation","src":"2221:49:115","text":"@notice Thrown when delegation amount is zero"},"errorSelector":"7cddf3b1","id":65723,"name":"ZeroDelegationAmount","nameLocation":"2279:20:115","nodeType":"ErrorDefinition","parameters":{"id":65722,"nodeType":"ParameterList","parameters":[],"src":"2299:2:115"},"src":"2273:29:115"},{"documentation":{"id":65724,"nodeType":"StructuredDocumentation","src":"2306:116:115","text":"@notice Thrown when delegation is below 1 VOT3 or a partial reduction would leave a sub-minimum positive balance"},"errorSelector":"9dd31b68","id":65730,"name":"BelowMinimumDelegation","nameLocation":"2431:22:115","nodeType":"ErrorDefinition","parameters":{"id":65729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65726,"mutability":"mutable","name":"amount","nameLocation":"2462:6:115","nodeType":"VariableDeclaration","scope":65730,"src":"2454:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65725,"name":"uint256","nodeType":"ElementaryTypeName","src":"2454:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65728,"mutability":"mutable","name":"minimum","nameLocation":"2478:7:115","nodeType":"VariableDeclaration","scope":65730,"src":"2470:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65727,"name":"uint256","nodeType":"ElementaryTypeName","src":"2470:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2453:33:115"},"src":"2425:62:115"},{"documentation":{"id":65731,"nodeType":"StructuredDocumentation","src":"2491:71:115","text":"@notice Thrown when trying to reduce more than the delegated amount"},"errorSelector":"88c4fe8f","id":65737,"name":"InsufficientDelegation","nameLocation":"2571:22:115","nodeType":"ErrorDefinition","parameters":{"id":65736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65733,"mutability":"mutable","name":"requested","nameLocation":"2602:9:115","nodeType":"VariableDeclaration","scope":65737,"src":"2594:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65732,"name":"uint256","nodeType":"ElementaryTypeName","src":"2594:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65735,"mutability":"mutable","name":"available","nameLocation":"2621:9:115","nodeType":"VariableDeclaration","scope":65737,"src":"2613:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65734,"name":"uint256","nodeType":"ElementaryTypeName","src":"2613:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2593:38:115"},"src":"2565:67:115"},{"documentation":{"id":65738,"nodeType":"StructuredDocumentation","src":"2636:67:115","text":"@notice Thrown when a navigator tries to delegate to themselves"},"errorSelector":"0c71b3bd","id":65742,"name":"SelfDelegationNotAllowed","nameLocation":"2712:24:115","nodeType":"ErrorDefinition","parameters":{"id":65741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65740,"mutability":"mutable","name":"account","nameLocation":"2745:7:115","nodeType":"VariableDeclaration","scope":65742,"src":"2737:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65739,"name":"address","nodeType":"ElementaryTypeName","src":"2737:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2736:17:115"},"src":"2706:48:115"},{"documentation":{"id":65743,"nodeType":"StructuredDocumentation","src":"2758:83:115","text":"@notice Thrown when delegation would exceed the citizen's unlocked VOT3 balance"},"errorSelector":"3f0c4e2d","id":65751,"name":"InsufficientUnlockedBalance","nameLocation":"2850:27:115","nodeType":"ErrorDefinition","parameters":{"id":65750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65745,"mutability":"mutable","name":"citizen","nameLocation":"2886:7:115","nodeType":"VariableDeclaration","scope":65751,"src":"2878:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65744,"name":"address","nodeType":"ElementaryTypeName","src":"2878:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65747,"mutability":"mutable","name":"requested","nameLocation":"2903:9:115","nodeType":"VariableDeclaration","scope":65751,"src":"2895:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65746,"name":"uint256","nodeType":"ElementaryTypeName","src":"2895:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65749,"mutability":"mutable","name":"available","nameLocation":"2922:9:115","nodeType":"VariableDeclaration","scope":65751,"src":"2914:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65748,"name":"uint256","nodeType":"ElementaryTypeName","src":"2914:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2877:55:115"},"src":"2844:89:115"},{"documentation":{"id":65752,"nodeType":"StructuredDocumentation","src":"2956:76:115","text":"@notice Thrown when appIds and percentages arrays have different lengths"},"errorSelector":"ab8b67c6","id":65758,"name":"LengthMismatch","nameLocation":"3041:14:115","nodeType":"ErrorDefinition","parameters":{"id":65757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65754,"mutability":"mutable","name":"appsLength","nameLocation":"3064:10:115","nodeType":"VariableDeclaration","scope":65758,"src":"3056:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65753,"name":"uint256","nodeType":"ElementaryTypeName","src":"3056:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65756,"mutability":"mutable","name":"percentagesLength","nameLocation":"3084:17:115","nodeType":"VariableDeclaration","scope":65758,"src":"3076:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65755,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3055:47:115"},"src":"3035:68:115"},{"documentation":{"id":65759,"nodeType":"StructuredDocumentation","src":"3107:61:115","text":"@notice Thrown when allocation preferences array is empty"},"errorSelector":"f8ba61ed","id":65761,"name":"EmptyPreferences","nameLocation":"3177:16:115","nodeType":"ErrorDefinition","parameters":{"id":65760,"nodeType":"ParameterList","parameters":[],"src":"3193:2:115"},"src":"3171:25:115"},{"documentation":{"id":65762,"nodeType":"StructuredDocumentation","src":"3200:52:115","text":"@notice Thrown when too many apps in preferences"},"errorSelector":"d1a14227","id":65766,"name":"TooManyApps","nameLocation":"3261:11:115","nodeType":"ErrorDefinition","parameters":{"id":65765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65764,"mutability":"mutable","name":"count","nameLocation":"3281:5:115","nodeType":"VariableDeclaration","scope":65766,"src":"3273:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65763,"name":"uint256","nodeType":"ElementaryTypeName","src":"3273:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3272:15:115"},"src":"3255:33:115"},{"documentation":{"id":65767,"nodeType":"StructuredDocumentation","src":"3292:62:115","text":"@notice Thrown when preferences already set for this round"},"errorSelector":"a878708d","id":65773,"name":"PreferencesAlreadySet","nameLocation":"3363:21:115","nodeType":"ErrorDefinition","parameters":{"id":65772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65769,"mutability":"mutable","name":"navigator","nameLocation":"3393:9:115","nodeType":"VariableDeclaration","scope":65773,"src":"3385:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65768,"name":"address","nodeType":"ElementaryTypeName","src":"3385:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65771,"mutability":"mutable","name":"roundId","nameLocation":"3412:7:115","nodeType":"VariableDeclaration","scope":65773,"src":"3404:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65770,"name":"uint256","nodeType":"ElementaryTypeName","src":"3404:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3384:36:115"},"src":"3357:64:115"},{"documentation":{"id":65774,"nodeType":"StructuredDocumentation","src":"3425:60:115","text":"@notice Thrown when governance decision value is invalid"},"errorSelector":"cbb6a660","id":65778,"name":"InvalidDecision","nameLocation":"3494:15:115","nodeType":"ErrorDefinition","parameters":{"id":65777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65776,"mutability":"mutable","name":"decision","nameLocation":"3516:8:115","nodeType":"VariableDeclaration","scope":65778,"src":"3510:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":65775,"name":"uint8","nodeType":"ElementaryTypeName","src":"3510:5:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3509:16:115"},"src":"3488:38:115"},{"documentation":{"id":65779,"nodeType":"StructuredDocumentation","src":"3530:62:115","text":"@notice Thrown when decision already set for this proposal"},"errorSelector":"da085c1d","id":65785,"name":"DecisionAlreadySet","nameLocation":"3601:18:115","nodeType":"ErrorDefinition","parameters":{"id":65784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65781,"mutability":"mutable","name":"navigator","nameLocation":"3628:9:115","nodeType":"VariableDeclaration","scope":65785,"src":"3620:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65780,"name":"address","nodeType":"ElementaryTypeName","src":"3620:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65783,"mutability":"mutable","name":"proposalId","nameLocation":"3647:10:115","nodeType":"VariableDeclaration","scope":65785,"src":"3639:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65782,"name":"uint256","nodeType":"ElementaryTypeName","src":"3639:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3619:39:115"},"src":"3595:64:115"},{"documentation":{"id":65786,"nodeType":"StructuredDocumentation","src":"3663:64:115","text":"@notice Thrown when querying a decision that hasn't been set"},"errorSelector":"19d10b85","id":65792,"name":"DecisionNotSet","nameLocation":"3736:14:115","nodeType":"ErrorDefinition","parameters":{"id":65791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65788,"mutability":"mutable","name":"navigator","nameLocation":"3759:9:115","nodeType":"VariableDeclaration","scope":65792,"src":"3751:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65787,"name":"address","nodeType":"ElementaryTypeName","src":"3751:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65790,"mutability":"mutable","name":"proposalId","nameLocation":"3778:10:115","nodeType":"VariableDeclaration","scope":65792,"src":"3770:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65789,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3750:39:115"},"src":"3730:60:115"},{"documentation":{"id":65793,"nodeType":"StructuredDocumentation","src":"3794:66:115","text":"@notice Thrown when querying preferences that haven't been set"},"errorSelector":"41b00765","id":65799,"name":"PreferencesNotSet","nameLocation":"3869:17:115","nodeType":"ErrorDefinition","parameters":{"id":65798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65795,"mutability":"mutable","name":"navigator","nameLocation":"3895:9:115","nodeType":"VariableDeclaration","scope":65799,"src":"3887:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65794,"name":"address","nodeType":"ElementaryTypeName","src":"3887:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65797,"mutability":"mutable","name":"roundId","nameLocation":"3914:7:115","nodeType":"VariableDeclaration","scope":65799,"src":"3906:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65796,"name":"uint256","nodeType":"ElementaryTypeName","src":"3906:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3886:36:115"},"src":"3863:60:115"},{"documentation":{"id":65800,"nodeType":"StructuredDocumentation","src":"3944:66:115","text":"@notice Thrown when trying to claim fees that are still locked"},"errorSelector":"56de5c3d","id":65808,"name":"FeesStillLocked","nameLocation":"4019:15:115","nodeType":"ErrorDefinition","parameters":{"id":65807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65802,"mutability":"mutable","name":"roundId","nameLocation":"4043:7:115","nodeType":"VariableDeclaration","scope":65808,"src":"4035:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65801,"name":"uint256","nodeType":"ElementaryTypeName","src":"4035:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65804,"mutability":"mutable","name":"unlockRound","nameLocation":"4060:11:115","nodeType":"VariableDeclaration","scope":65808,"src":"4052:19:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65803,"name":"uint256","nodeType":"ElementaryTypeName","src":"4052:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65806,"mutability":"mutable","name":"currentRound","nameLocation":"4081:12:115","nodeType":"VariableDeclaration","scope":65808,"src":"4073:20:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65805,"name":"uint256","nodeType":"ElementaryTypeName","src":"4073:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4034:60:115"},"src":"4013:82:115"},{"documentation":{"id":65809,"nodeType":"StructuredDocumentation","src":"4099:64:115","text":"@notice Thrown when there are no fees to claim for the round"},"errorSelector":"53c10d2f","id":65815,"name":"NoFeesToClaim","nameLocation":"4172:13:115","nodeType":"ErrorDefinition","parameters":{"id":65814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65811,"mutability":"mutable","name":"navigator","nameLocation":"4194:9:115","nodeType":"VariableDeclaration","scope":65815,"src":"4186:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65810,"name":"address","nodeType":"ElementaryTypeName","src":"4186:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65813,"mutability":"mutable","name":"roundId","nameLocation":"4213:7:115","nodeType":"VariableDeclaration","scope":65815,"src":"4205:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65812,"name":"uint256","nodeType":"ElementaryTypeName","src":"4205:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4185:36:115"},"src":"4166:56:115"},{"documentation":{"id":65816,"nodeType":"StructuredDocumentation","src":"4226:76:115","text":"@notice Thrown when navigator's fees have been forfeited via major slash"},"errorSelector":"f0eebcd1","id":65820,"name":"FeesForfeited","nameLocation":"4311:13:115","nodeType":"ErrorDefinition","parameters":{"id":65819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65818,"mutability":"mutable","name":"navigator","nameLocation":"4333:9:115","nodeType":"VariableDeclaration","scope":65820,"src":"4325:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65817,"name":"address","nodeType":"ElementaryTypeName","src":"4325:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4324:19:115"},"src":"4305:39:115"},{"documentation":{"id":65821,"nodeType":"StructuredDocumentation","src":"4369:73:115","text":"@notice Thrown when navigator has already been slashed for this round"},"errorSelector":"1a02b0a6","id":65827,"name":"AlreadySlashed","nameLocation":"4451:14:115","nodeType":"ErrorDefinition","parameters":{"id":65826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65823,"mutability":"mutable","name":"navigator","nameLocation":"4474:9:115","nodeType":"VariableDeclaration","scope":65827,"src":"4466:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65822,"name":"address","nodeType":"ElementaryTypeName","src":"4466:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65825,"mutability":"mutable","name":"roundId","nameLocation":"4493:7:115","nodeType":"VariableDeclaration","scope":65827,"src":"4485:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65824,"name":"uint256","nodeType":"ElementaryTypeName","src":"4485:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4465:36:115"},"src":"4445:57:115"},{"documentation":{"id":65828,"nodeType":"StructuredDocumentation","src":"4506:82:115","text":"@notice Thrown when no infraction was found for this round (report is invalid)"},"errorSelector":"f392b435","id":65834,"name":"NoInfractionFound","nameLocation":"4597:17:115","nodeType":"ErrorDefinition","parameters":{"id":65833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65830,"mutability":"mutable","name":"navigator","nameLocation":"4623:9:115","nodeType":"VariableDeclaration","scope":65834,"src":"4615:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65829,"name":"address","nodeType":"ElementaryTypeName","src":"4615:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65832,"mutability":"mutable","name":"roundId","nameLocation":"4642:7:115","nodeType":"VariableDeclaration","scope":65834,"src":"4634:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65831,"name":"uint256","nodeType":"ElementaryTypeName","src":"4634:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4614:36:115"},"src":"4591:60:115"},{"documentation":{"id":65835,"nodeType":"StructuredDocumentation","src":"4655:77:115","text":"@notice Thrown when a report is attempted while the round is still active"},"errorSelector":"981b0255","id":65839,"name":"RoundStillActive","nameLocation":"4741:16:115","nodeType":"ErrorDefinition","parameters":{"id":65838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65837,"mutability":"mutable","name":"roundId","nameLocation":"4766:7:115","nodeType":"VariableDeclaration","scope":65839,"src":"4758:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65836,"name":"uint256","nodeType":"ElementaryTypeName","src":"4758:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4757:17:115"},"src":"4735:40:115"},{"documentation":{"id":65840,"nodeType":"StructuredDocumentation","src":"4779:55:115","text":"@notice Thrown when navigator has no stake to slash"},"errorSelector":"328d9ff2","id":65844,"name":"NoStakeToSlash","nameLocation":"4843:14:115","nodeType":"ErrorDefinition","parameters":{"id":65843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65842,"mutability":"mutable","name":"navigator","nameLocation":"4866:9:115","nodeType":"VariableDeclaration","scope":65844,"src":"4858:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65841,"name":"address","nodeType":"ElementaryTypeName","src":"4858:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4857:19:115"},"src":"4837:40:115"},{"documentation":{"id":65845,"nodeType":"StructuredDocumentation","src":"4903:60:115","text":"@notice Thrown when navigator has already announced exit"},"errorSelector":"a6613ec9","id":65849,"name":"AlreadyExiting","nameLocation":"4972:14:115","nodeType":"ErrorDefinition","parameters":{"id":65848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65847,"mutability":"mutable","name":"navigator","nameLocation":"4995:9:115","nodeType":"VariableDeclaration","scope":65849,"src":"4987:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65846,"name":"address","nodeType":"ElementaryTypeName","src":"4987:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4986:19:115"},"src":"4966:40:115"},{"documentation":{"id":65850,"nodeType":"StructuredDocumentation","src":"5010:56:115","text":"@notice Thrown when navigator has not announced exit"},"errorSelector":"b4ddacd3","id":65854,"name":"NotExiting","nameLocation":"5075:10:115","nodeType":"ErrorDefinition","parameters":{"id":65853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65852,"mutability":"mutable","name":"navigator","nameLocation":"5094:9:115","nodeType":"VariableDeclaration","scope":65854,"src":"5086:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65851,"name":"address","nodeType":"ElementaryTypeName","src":"5086:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5085:19:115"},"src":"5069:36:115"},{"documentation":{"id":65855,"nodeType":"StructuredDocumentation","src":"5109:53:115","text":"@notice Thrown when notice period has not elapsed"},"errorSelector":"3e556d83","id":65861,"name":"NoticePeriodNotElapsed","nameLocation":"5171:22:115","nodeType":"ErrorDefinition","parameters":{"id":65860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65857,"mutability":"mutable","name":"currentRound","nameLocation":"5202:12:115","nodeType":"VariableDeclaration","scope":65861,"src":"5194:20:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65856,"name":"uint256","nodeType":"ElementaryTypeName","src":"5194:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65859,"mutability":"mutable","name":"requiredRound","nameLocation":"5224:13:115","nodeType":"VariableDeclaration","scope":65861,"src":"5216:21:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65858,"name":"uint256","nodeType":"ElementaryTypeName","src":"5216:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5193:45:115"},"src":"5165:74:115"},{"documentation":{"id":65862,"nodeType":"StructuredDocumentation","src":"5243:56:115","text":"@notice Thrown when navigator is already deactivated"},"errorSelector":"b8aaac26","id":65866,"name":"AlreadyDeactivated","nameLocation":"5308:18:115","nodeType":"ErrorDefinition","parameters":{"id":65865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65864,"mutability":"mutable","name":"navigator","nameLocation":"5335:9:115","nodeType":"VariableDeclaration","scope":65866,"src":"5327:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65863,"name":"address","nodeType":"ElementaryTypeName","src":"5327:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5326:19:115"},"src":"5302:44:115"},{"documentation":{"id":65867,"nodeType":"StructuredDocumentation","src":"5370:75:115","text":"@notice Thrown when a zero address is provided for a required parameter"},"errorSelector":"eac0d389","id":65871,"name":"ZeroAddress","nameLocation":"5454:11:115","nodeType":"ErrorDefinition","parameters":{"id":65870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65869,"mutability":"mutable","name":"param","nameLocation":"5473:5:115","nodeType":"VariableDeclaration","scope":65871,"src":"5466:12:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65868,"name":"string","nodeType":"ElementaryTypeName","src":"5466:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5465:14:115"},"src":"5448:32:115"},{"documentation":{"id":65872,"nodeType":"StructuredDocumentation","src":"5484:52:115","text":"@notice Thrown when a parameter value is invalid"},"errorSelector":"aa33ade0","id":65876,"name":"InvalidParameter","nameLocation":"5545:16:115","nodeType":"ErrorDefinition","parameters":{"id":65875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65874,"mutability":"mutable","name":"reason","nameLocation":"5569:6:115","nodeType":"VariableDeclaration","scope":65876,"src":"5562:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65873,"name":"string","nodeType":"ElementaryTypeName","src":"5562:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5561:15:115"},"src":"5539:38:115"},{"documentation":{"id":65877,"nodeType":"StructuredDocumentation","src":"5581:48:115","text":"@notice Thrown when caller is not authorized"},"errorSelector":"d86ad9cf","id":65881,"name":"UnauthorizedCaller","nameLocation":"5638:18:115","nodeType":"ErrorDefinition","parameters":{"id":65880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65879,"mutability":"mutable","name":"caller","nameLocation":"5665:6:115","nodeType":"VariableDeclaration","scope":65881,"src":"5657:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65878,"name":"address","nodeType":"ElementaryTypeName","src":"5657:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5656:16:115"},"src":"5632:41:115"},{"documentation":{"id":65882,"nodeType":"StructuredDocumentation","src":"5677:68:115","text":"@notice Thrown when trying to withdraw more stake than available"},"errorSelector":"45be0a26","id":65888,"name":"InsufficientStake","nameLocation":"5754:17:115","nodeType":"ErrorDefinition","parameters":{"id":65887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65884,"mutability":"mutable","name":"available","nameLocation":"5780:9:115","nodeType":"VariableDeclaration","scope":65888,"src":"5772:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65883,"name":"uint256","nodeType":"ElementaryTypeName","src":"5772:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65886,"mutability":"mutable","name":"requested","nameLocation":"5799:9:115","nodeType":"VariableDeclaration","scope":65888,"src":"5791:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65885,"name":"uint256","nodeType":"ElementaryTypeName","src":"5791:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5771:38:115"},"src":"5748:62:115"},{"documentation":{"id":65889,"nodeType":"StructuredDocumentation","src":"5814:66:115","text":"@notice Thrown when a duplicate app ID is found in preferences"},"errorSelector":"de0927c9","id":65893,"name":"DuplicateApp","nameLocation":"5889:12:115","nodeType":"ErrorDefinition","parameters":{"id":65892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65891,"mutability":"mutable","name":"appId","nameLocation":"5910:5:115","nodeType":"VariableDeclaration","scope":65893,"src":"5902:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5902:7:115","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5901:15:115"},"src":"5883:34:115"},{"documentation":{"id":65894,"nodeType":"StructuredDocumentation","src":"5921:72:115","text":"@notice Thrown when allocation percentages don't sum to BASIS_POINTS"},"errorSelector":"4be909ea","id":65900,"name":"PercentageMismatch","nameLocation":"6002:18:115","nodeType":"ErrorDefinition","parameters":{"id":65899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65896,"mutability":"mutable","name":"total","nameLocation":"6029:5:115","nodeType":"VariableDeclaration","scope":65900,"src":"6021:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65895,"name":"uint256","nodeType":"ElementaryTypeName","src":"6021:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65898,"mutability":"mutable","name":"expected","nameLocation":"6044:8:115","nodeType":"VariableDeclaration","scope":65900,"src":"6036:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65897,"name":"uint256","nodeType":"ElementaryTypeName","src":"6036:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6020:33:115"},"src":"5996:58:115"},{"documentation":{"id":65901,"nodeType":"StructuredDocumentation","src":"6058:56:115","text":"@notice Thrown when slash percentage exceeds maximum"},"errorSelector":"76f5e03d","id":65907,"name":"SlashExceedsMax","nameLocation":"6123:15:115","nodeType":"ErrorDefinition","parameters":{"id":65906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65903,"mutability":"mutable","name":"slashPercentage","nameLocation":"6147:15:115","nodeType":"VariableDeclaration","scope":65907,"src":"6139:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65902,"name":"uint256","nodeType":"ElementaryTypeName","src":"6139:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65905,"mutability":"mutable","name":"max","nameLocation":"6172:3:115","nodeType":"VariableDeclaration","scope":65907,"src":"6164:11:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65904,"name":"uint256","nodeType":"ElementaryTypeName","src":"6164:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6138:38:115"},"src":"6117:60:115"},{"documentation":{"id":65908,"nodeType":"StructuredDocumentation","src":"6181:50:115","text":"@notice Thrown when a percentage value is zero"},"errorSelector":"b5646fa5","id":65910,"name":"ZeroPercentage","nameLocation":"6240:14:115","nodeType":"ErrorDefinition","parameters":{"id":65909,"nodeType":"ParameterList","parameters":[],"src":"6254:2:115"},"src":"6234:23:115"},{"anonymous":false,"documentation":{"id":65911,"nodeType":"StructuredDocumentation","src":"6347:209:115","text":"@notice Emitted when a navigator registers by staking B3TR\n @param navigator The navigator address\n @param stakeAmount The B3TR amount staked\n @param metadataURI The navigator's metadata URI"},"eventSelector":"50201612cd681f55c5840e0c0b195a2f66f02a765808e40ede34fe429e9f3adc","id":65919,"name":"NavigatorRegistered","nameLocation":"6565:19:115","nodeType":"EventDefinition","parameters":{"id":65918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65913,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"6601:9:115","nodeType":"VariableDeclaration","scope":65919,"src":"6585:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65912,"name":"address","nodeType":"ElementaryTypeName","src":"6585:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65915,"indexed":false,"mutability":"mutable","name":"stakeAmount","nameLocation":"6620:11:115","nodeType":"VariableDeclaration","scope":65919,"src":"6612:19:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65914,"name":"uint256","nodeType":"ElementaryTypeName","src":"6612:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65917,"indexed":false,"mutability":"mutable","name":"metadataURI","nameLocation":"6640:11:115","nodeType":"VariableDeclaration","scope":65919,"src":"6633:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65916,"name":"string","nodeType":"ElementaryTypeName","src":"6633:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6584:68:115"},"src":"6559:94:115"},{"anonymous":false,"documentation":{"id":65920,"nodeType":"StructuredDocumentation","src":"6657:190:115","text":"@notice Emitted when a navigator adds to their stake\n @param navigator The navigator address\n @param amount The additional B3TR staked\n @param newTotal The new total stake"},"eventSelector":"270d6dd254edd1d985c81cf7861b8f28fb06b6d719df04d90464034d43412440","id":65928,"name":"StakeAdded","nameLocation":"6856:10:115","nodeType":"EventDefinition","parameters":{"id":65927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65922,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"6883:9:115","nodeType":"VariableDeclaration","scope":65928,"src":"6867:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65921,"name":"address","nodeType":"ElementaryTypeName","src":"6867:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65924,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6902:6:115","nodeType":"VariableDeclaration","scope":65928,"src":"6894:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65923,"name":"uint256","nodeType":"ElementaryTypeName","src":"6894:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65926,"indexed":false,"mutability":"mutable","name":"newTotal","nameLocation":"6918:8:115","nodeType":"VariableDeclaration","scope":65928,"src":"6910:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65925,"name":"uint256","nodeType":"ElementaryTypeName","src":"6910:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6866:61:115"},"src":"6850:78:115"},{"anonymous":false,"documentation":{"id":65929,"nodeType":"StructuredDocumentation","src":"6932:197:115","text":"@notice Emitted when a navigator withdraws stake after exit\n @param navigator The navigator address\n @param amount The B3TR amount withdrawn\n @param remaining The remaining stake"},"eventSelector":"933735aa8de6d7547d0126171b2f31b9c34dd00f3ecd4be85a0ba047db4fafef","id":65937,"name":"StakeWithdrawn","nameLocation":"7138:14:115","nodeType":"EventDefinition","parameters":{"id":65936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65931,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"7169:9:115","nodeType":"VariableDeclaration","scope":65937,"src":"7153:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65930,"name":"address","nodeType":"ElementaryTypeName","src":"7153:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65933,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"7188:6:115","nodeType":"VariableDeclaration","scope":65937,"src":"7180:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65932,"name":"uint256","nodeType":"ElementaryTypeName","src":"7180:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65935,"indexed":false,"mutability":"mutable","name":"remaining","nameLocation":"7204:9:115","nodeType":"VariableDeclaration","scope":65937,"src":"7196:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65934,"name":"uint256","nodeType":"ElementaryTypeName","src":"7196:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7152:62:115"},"src":"7132:83:115"},{"anonymous":false,"documentation":{"id":65938,"nodeType":"StructuredDocumentation","src":"7242:243:115","text":"@notice Emitted when a citizen delegates VOT3 to a navigator for the first time\n @param citizen The delegating citizen address\n @param navigator The navigator receiving the delegation\n @param amount The VOT3 amount delegated"},"eventSelector":"f30d5f04d8ccb1d731ec50addde98da813e2697f466b244e045210fc90af1296","id":65946,"name":"DelegationCreated","nameLocation":"7494:17:115","nodeType":"EventDefinition","parameters":{"id":65945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65940,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"7528:7:115","nodeType":"VariableDeclaration","scope":65946,"src":"7512:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65939,"name":"address","nodeType":"ElementaryTypeName","src":"7512:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65942,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"7553:9:115","nodeType":"VariableDeclaration","scope":65946,"src":"7537:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65941,"name":"address","nodeType":"ElementaryTypeName","src":"7537:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65944,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"7572:6:115","nodeType":"VariableDeclaration","scope":65946,"src":"7564:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65943,"name":"uint256","nodeType":"ElementaryTypeName","src":"7564:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7511:68:115"},"src":"7488:92:115"},{"anonymous":false,"documentation":{"id":65947,"nodeType":"StructuredDocumentation","src":"7584:265:115","text":"@notice Emitted when a citizen increases their existing delegation\n @param citizen The citizen address\n @param navigator The navigator address\n @param addedAmount The additional VOT3 delegated\n @param newTotal The new total delegation amount"},"eventSelector":"f17f3266a20d82c0f0c42d702101166813b9ee3f68ae658f5408d9fbabfe8671","id":65957,"name":"DelegationIncreased","nameLocation":"7858:19:115","nodeType":"EventDefinition","parameters":{"id":65956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65949,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"7894:7:115","nodeType":"VariableDeclaration","scope":65957,"src":"7878:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65948,"name":"address","nodeType":"ElementaryTypeName","src":"7878:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65951,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"7919:9:115","nodeType":"VariableDeclaration","scope":65957,"src":"7903:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65950,"name":"address","nodeType":"ElementaryTypeName","src":"7903:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65953,"indexed":false,"mutability":"mutable","name":"addedAmount","nameLocation":"7938:11:115","nodeType":"VariableDeclaration","scope":65957,"src":"7930:19:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65952,"name":"uint256","nodeType":"ElementaryTypeName","src":"7930:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65955,"indexed":false,"mutability":"mutable","name":"newTotal","nameLocation":"7959:8:115","nodeType":"VariableDeclaration","scope":65957,"src":"7951:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65954,"name":"uint256","nodeType":"ElementaryTypeName","src":"7951:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7877:91:115"},"src":"7852:117:115"},{"anonymous":false,"documentation":{"id":65958,"nodeType":"StructuredDocumentation","src":"7973:277:115","text":"@notice Emitted when a citizen reduces their delegation (but doesn't fully remove)\n @param citizen The citizen address\n @param navigator The navigator address\n @param removedAmount The VOT3 amount removed\n @param newTotal The new total delegation amount"},"eventSelector":"c261b133a4ae727cc833b53c79e1135e9909a1d7b878724ceae6bc7dc5b7e67c","id":65968,"name":"DelegationDecreased","nameLocation":"8259:19:115","nodeType":"EventDefinition","parameters":{"id":65967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65960,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"8300:7:115","nodeType":"VariableDeclaration","scope":65968,"src":"8284:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65959,"name":"address","nodeType":"ElementaryTypeName","src":"8284:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65962,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"8329:9:115","nodeType":"VariableDeclaration","scope":65968,"src":"8313:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65961,"name":"address","nodeType":"ElementaryTypeName","src":"8313:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65964,"indexed":false,"mutability":"mutable","name":"removedAmount","nameLocation":"8352:13:115","nodeType":"VariableDeclaration","scope":65968,"src":"8344:21:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65963,"name":"uint256","nodeType":"ElementaryTypeName","src":"8344:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65966,"indexed":false,"mutability":"mutable","name":"newTotal","nameLocation":"8379:8:115","nodeType":"VariableDeclaration","scope":65968,"src":"8371:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65965,"name":"uint256","nodeType":"ElementaryTypeName","src":"8371:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8278:113:115"},"src":"8253:139:115"},{"anonymous":false,"documentation":{"id":65969,"nodeType":"StructuredDocumentation","src":"8396:210:115","text":"@notice Emitted when a citizen fully undelegates from a navigator\n @param citizen The citizen address\n @param navigator The navigator address\n @param amount The VOT3 amount that was delegated"},"eventSelector":"bf340c6e47f6acc1fa5fcad9ef75c1e4bd8d91e7313667c3c9859f230fc7f883","id":65977,"name":"DelegationRemoved","nameLocation":"8615:17:115","nodeType":"EventDefinition","parameters":{"id":65976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65971,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"8649:7:115","nodeType":"VariableDeclaration","scope":65977,"src":"8633:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65970,"name":"address","nodeType":"ElementaryTypeName","src":"8633:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65973,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"8674:9:115","nodeType":"VariableDeclaration","scope":65977,"src":"8658:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65972,"name":"address","nodeType":"ElementaryTypeName","src":"8658:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65975,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"8693:6:115","nodeType":"VariableDeclaration","scope":65977,"src":"8685:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65974,"name":"uint256","nodeType":"ElementaryTypeName","src":"8685:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8632:68:115"},"src":"8609:92:115"},{"anonymous":false,"documentation":{"id":65978,"nodeType":"StructuredDocumentation","src":"8724:207:115","text":"@notice Emitted when a navigator sets allocation preferences for a round\n @param navigator The navigator address\n @param roundId The allocation round ID\n @param appIds The app IDs selected"},"eventSelector":"4f18720ba255d35753a58bba29d296e450cb38f9e8ecb4e299de4f737ad5bb2b","id":65987,"name":"AllocationPreferencesSet","nameLocation":"8940:24:115","nodeType":"EventDefinition","parameters":{"id":65986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65980,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"8981:9:115","nodeType":"VariableDeclaration","scope":65987,"src":"8965:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65979,"name":"address","nodeType":"ElementaryTypeName","src":"8965:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65982,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"9008:7:115","nodeType":"VariableDeclaration","scope":65987,"src":"8992:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65981,"name":"uint256","nodeType":"ElementaryTypeName","src":"8992:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65985,"indexed":false,"mutability":"mutable","name":"appIds","nameLocation":"9027:6:115","nodeType":"VariableDeclaration","scope":65987,"src":"9017:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":65983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9017:7:115","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":65984,"nodeType":"ArrayTypeName","src":"9017:9:115","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8964:70:115"},"src":"8934:101:115"},{"anonymous":false,"documentation":{"id":65988,"nodeType":"StructuredDocumentation","src":"9039:227:115","text":"@notice Emitted when a navigator sets a governance proposal decision\n @param navigator The navigator address\n @param proposalId The proposal ID\n @param decision The vote decision (1=Against, 2=For, 3=Abstain)"},"eventSelector":"43eed3fffc0ab14cd7c4cec7b12381068682d3c399e1e436bf05b08a004ec333","id":65996,"name":"ProposalDecisionSet","nameLocation":"9275:19:115","nodeType":"EventDefinition","parameters":{"id":65995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65990,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"9311:9:115","nodeType":"VariableDeclaration","scope":65996,"src":"9295:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65989,"name":"address","nodeType":"ElementaryTypeName","src":"9295:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65992,"indexed":true,"mutability":"mutable","name":"proposalId","nameLocation":"9338:10:115","nodeType":"VariableDeclaration","scope":65996,"src":"9322:26:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65991,"name":"uint256","nodeType":"ElementaryTypeName","src":"9322:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65994,"indexed":false,"mutability":"mutable","name":"decision","nameLocation":"9356:8:115","nodeType":"VariableDeclaration","scope":65996,"src":"9350:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":65993,"name":"uint8","nodeType":"ElementaryTypeName","src":"9350:5:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9294:71:115"},"src":"9269:97:115"},{"anonymous":false,"documentation":{"id":65997,"nodeType":"StructuredDocumentation","src":"9387:197:115","text":"@notice Emitted when fees are deposited for a navigator\n @param navigator The navigator address\n @param roundId The round the fee was earned in\n @param amount The B3TR fee amount"},"eventSelector":"275b89eed5ec7d2f5c81a082034b08ff5a7a7ef3ad201abbb3524d0b95a34891","id":66005,"name":"FeeDeposited","nameLocation":"9593:12:115","nodeType":"EventDefinition","parameters":{"id":66004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65999,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"9622:9:115","nodeType":"VariableDeclaration","scope":66005,"src":"9606:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65998,"name":"address","nodeType":"ElementaryTypeName","src":"9606:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66001,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"9649:7:115","nodeType":"VariableDeclaration","scope":66005,"src":"9633:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66000,"name":"uint256","nodeType":"ElementaryTypeName","src":"9633:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66003,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"9666:6:115","nodeType":"VariableDeclaration","scope":66005,"src":"9658:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66002,"name":"uint256","nodeType":"ElementaryTypeName","src":"9658:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9605:68:115"},"src":"9587:87:115"},{"anonymous":false,"documentation":{"id":66006,"nodeType":"StructuredDocumentation","src":"9678:195:115","text":"@notice Emitted when a navigator claims their unlocked fees\n @param navigator The navigator address\n @param roundId The round claimed for\n @param amount The B3TR amount claimed"},"eventSelector":"534114bde8a4f5487c6eb9d267c214944566cf13de30333c7a2abed6857634cf","id":66014,"name":"FeeClaimed","nameLocation":"9882:10:115","nodeType":"EventDefinition","parameters":{"id":66013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66008,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"9909:9:115","nodeType":"VariableDeclaration","scope":66014,"src":"9893:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66007,"name":"address","nodeType":"ElementaryTypeName","src":"9893:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66010,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"9936:7:115","nodeType":"VariableDeclaration","scope":66014,"src":"9920:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66009,"name":"uint256","nodeType":"ElementaryTypeName","src":"9920:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66012,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"9953:6:115","nodeType":"VariableDeclaration","scope":66014,"src":"9945:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66011,"name":"uint256","nodeType":"ElementaryTypeName","src":"9945:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9892:68:115"},"src":"9876:85:115"},{"anonymous":false,"documentation":{"id":66015,"nodeType":"StructuredDocumentation","src":"9986:360:115","text":"@notice Emitted when a navigator is slashed for minor infractions in a round\n @param navigator The navigator address\n @param amount The B3TR amount slashed\n @param remainingStake The stake remaining after slash\n @param roundId The round ID associated with the slash\n @param infractionFlags Bitmask of infractions found in the round"},"eventSelector":"605bac7044738ccab54e9ad124898ce4e93a96cc020bc57fd1ade22ce6a22409","id":66027,"name":"NavigatorMinorSlashed","nameLocation":"10355:21:115","nodeType":"EventDefinition","parameters":{"id":66026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66017,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"10398:9:115","nodeType":"VariableDeclaration","scope":66027,"src":"10382:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66016,"name":"address","nodeType":"ElementaryTypeName","src":"10382:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66019,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"10421:6:115","nodeType":"VariableDeclaration","scope":66027,"src":"10413:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66018,"name":"uint256","nodeType":"ElementaryTypeName","src":"10413:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66021,"indexed":false,"mutability":"mutable","name":"remainingStake","nameLocation":"10441:14:115","nodeType":"VariableDeclaration","scope":66027,"src":"10433:22:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66020,"name":"uint256","nodeType":"ElementaryTypeName","src":"10433:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66023,"indexed":false,"mutability":"mutable","name":"roundId","nameLocation":"10469:7:115","nodeType":"VariableDeclaration","scope":66027,"src":"10461:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66022,"name":"uint256","nodeType":"ElementaryTypeName","src":"10461:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66025,"indexed":false,"mutability":"mutable","name":"infractionFlags","nameLocation":"10490:15:115","nodeType":"VariableDeclaration","scope":66027,"src":"10482:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66024,"name":"uint256","nodeType":"ElementaryTypeName","src":"10482:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10376:133:115"},"src":"10349:161:115"},{"anonymous":false,"documentation":{"id":66028,"nodeType":"StructuredDocumentation","src":"10514:273:115","text":"@notice Emitted when a navigator is slashed by governance (major infraction)\n @param navigator The navigator address\n @param amount The B3TR amount slashed\n @param remainingStake The stake remaining after slash\n @param reason The slash reason string"},"eventSelector":"f7c20589390e8a5eadee1646e9351e36c143db5f860e7c64d934f655bfb85b56","id":66038,"name":"NavigatorSlashed","nameLocation":"10796:16:115","nodeType":"EventDefinition","parameters":{"id":66037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66030,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"10829:9:115","nodeType":"VariableDeclaration","scope":66038,"src":"10813:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66029,"name":"address","nodeType":"ElementaryTypeName","src":"10813:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66032,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"10848:6:115","nodeType":"VariableDeclaration","scope":66038,"src":"10840:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66031,"name":"uint256","nodeType":"ElementaryTypeName","src":"10840:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66034,"indexed":false,"mutability":"mutable","name":"remainingStake","nameLocation":"10864:14:115","nodeType":"VariableDeclaration","scope":66038,"src":"10856:22:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66033,"name":"uint256","nodeType":"ElementaryTypeName","src":"10856:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66036,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"10887:6:115","nodeType":"VariableDeclaration","scope":66038,"src":"10880:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66035,"name":"string","nodeType":"ElementaryTypeName","src":"10880:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10812:82:115"},"src":"10790:105:115"},{"anonymous":false,"documentation":{"id":66039,"nodeType":"StructuredDocumentation","src":"10921:256:115","text":"@notice Emitted when a navigator announces their intent to exit\n @param navigator The navigator address\n @param announcedAtRound The round when exit was announced\n @param effectiveDeadline The block number when the navigator becomes dead"},"eventSelector":"a542d32ac71fcaee440e2537c820c341912c27de8dfb6621ccdd90a52f5f1236","id":66047,"name":"ExitAnnounced","nameLocation":"11186:13:115","nodeType":"EventDefinition","parameters":{"id":66046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66041,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"11216:9:115","nodeType":"VariableDeclaration","scope":66047,"src":"11200:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66040,"name":"address","nodeType":"ElementaryTypeName","src":"11200:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66043,"indexed":false,"mutability":"mutable","name":"announcedAtRound","nameLocation":"11235:16:115","nodeType":"VariableDeclaration","scope":66047,"src":"11227:24:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66042,"name":"uint256","nodeType":"ElementaryTypeName","src":"11227:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66045,"indexed":false,"mutability":"mutable","name":"effectiveDeadline","nameLocation":"11261:17:115","nodeType":"VariableDeclaration","scope":66047,"src":"11253:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66044,"name":"uint256","nodeType":"ElementaryTypeName","src":"11253:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11199:80:115"},"src":"11180:100:115"},{"anonymous":false,"documentation":{"id":66048,"nodeType":"StructuredDocumentation","src":"11284:183:115","text":"@notice Emitted when a navigator is deactivated by governance\n @param navigator The navigator address\n @param slashPercentage The slash percentage applied (basis points)"},"eventSelector":"977dedc05c971c9d63031ccdfb015b55101eb7ab7d29e180ce5ae748fd9ee53a","id":66054,"name":"NavigatorDeactivatedEvent","nameLocation":"11476:25:115","nodeType":"EventDefinition","parameters":{"id":66053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66050,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"11518:9:115","nodeType":"VariableDeclaration","scope":66054,"src":"11502:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66049,"name":"address","nodeType":"ElementaryTypeName","src":"11502:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66052,"indexed":false,"mutability":"mutable","name":"slashPercentage","nameLocation":"11537:15:115","nodeType":"VariableDeclaration","scope":66054,"src":"11529:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66051,"name":"uint256","nodeType":"ElementaryTypeName","src":"11529:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11501:52:115"},"src":"11470:84:115"},{"anonymous":false,"documentation":{"id":66055,"nodeType":"StructuredDocumentation","src":"11558:149:115","text":"@notice Emitted when a navigator updates their metadata URI\n @param navigator The navigator address\n @param newURI The new metadata URI"},"eventSelector":"1b460238cb695fc31c141a22bca8cea3e92a6fa4ded4ccee2a33f9972f2eece0","id":66061,"name":"MetadataURIUpdated","nameLocation":"11716:18:115","nodeType":"EventDefinition","parameters":{"id":66060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66057,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"11751:9:115","nodeType":"VariableDeclaration","scope":66061,"src":"11735:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66056,"name":"address","nodeType":"ElementaryTypeName","src":"11735:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66059,"indexed":false,"mutability":"mutable","name":"newURI","nameLocation":"11769:6:115","nodeType":"VariableDeclaration","scope":66061,"src":"11762:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66058,"name":"string","nodeType":"ElementaryTypeName","src":"11762:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11734:42:115"},"src":"11710:67:115"},{"anonymous":false,"documentation":{"id":66062,"nodeType":"StructuredDocumentation","src":"11781:203:115","text":"@notice Emitted when a navigator submits a periodic report\n @param navigator The navigator address\n @param roundId The round the report covers\n @param reportURI The report metadata URI"},"eventSelector":"7f16abb02bdd9850897d6fe45c00ffa45a9f8d5047103f9da3adcc0f3fd76f0f","id":66070,"name":"ReportSubmitted","nameLocation":"11993:15:115","nodeType":"EventDefinition","parameters":{"id":66069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66064,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"12025:9:115","nodeType":"VariableDeclaration","scope":66070,"src":"12009:25:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66063,"name":"address","nodeType":"ElementaryTypeName","src":"12009:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66066,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"12052:7:115","nodeType":"VariableDeclaration","scope":66070,"src":"12036:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66065,"name":"uint256","nodeType":"ElementaryTypeName","src":"12036:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66068,"indexed":false,"mutability":"mutable","name":"reportURI","nameLocation":"12068:9:115","nodeType":"VariableDeclaration","scope":66070,"src":"12061:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66067,"name":"string","nodeType":"ElementaryTypeName","src":"12061:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12008:70:115"},"src":"11987:92:115"},{"documentation":{"id":66071,"nodeType":"StructuredDocumentation","src":"12165:170:115","text":"@notice Register as a navigator by staking B3TR\n @param amount The B3TR amount to stake (must meet minimum)\n @param metadataURI The navigator's metadata URI"},"functionSelector":"a00fd3c8","id":66078,"implemented":false,"kind":"function","modifiers":[],"name":"register","nameLocation":"12347:8:115","nodeType":"FunctionDefinition","parameters":{"id":66076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66073,"mutability":"mutable","name":"amount","nameLocation":"12364:6:115","nodeType":"VariableDeclaration","scope":66078,"src":"12356:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66072,"name":"uint256","nodeType":"ElementaryTypeName","src":"12356:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66075,"mutability":"mutable","name":"metadataURI","nameLocation":"12388:11:115","nodeType":"VariableDeclaration","scope":66078,"src":"12372:27:115","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":66074,"name":"string","nodeType":"ElementaryTypeName","src":"12372:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12355:45:115"},"returnParameters":{"id":66077,"nodeType":"ParameterList","parameters":[],"src":"12409:0:115"},"scope":66638,"src":"12338:72:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66079,"nodeType":"StructuredDocumentation","src":"12414:107:115","text":"@notice Add more B3TR to an existing navigator's stake\n @param amount The additional B3TR to stake"},"functionSelector":"eb4f16b5","id":66084,"implemented":false,"kind":"function","modifiers":[],"name":"addStake","nameLocation":"12533:8:115","nodeType":"FunctionDefinition","parameters":{"id":66082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66081,"mutability":"mutable","name":"amount","nameLocation":"12550:6:115","nodeType":"VariableDeclaration","scope":66084,"src":"12542:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66080,"name":"uint256","nodeType":"ElementaryTypeName","src":"12542:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12541:16:115"},"returnParameters":{"id":66083,"nodeType":"ParameterList","parameters":[],"src":"12566:0:115"},"scope":66638,"src":"12524:43:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66085,"nodeType":"StructuredDocumentation","src":"12571:144:115","text":"@notice Reduce stake while active (must stay above min stake and maintain delegation capacity)\n @param amount The B3TR amount to reduce"},"functionSelector":"c3830618","id":66090,"implemented":false,"kind":"function","modifiers":[],"name":"reduceStake","nameLocation":"12727:11:115","nodeType":"FunctionDefinition","parameters":{"id":66088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66087,"mutability":"mutable","name":"amount","nameLocation":"12747:6:115","nodeType":"VariableDeclaration","scope":66090,"src":"12739:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66086,"name":"uint256","nodeType":"ElementaryTypeName","src":"12739:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12738:16:115"},"returnParameters":{"id":66089,"nodeType":"ParameterList","parameters":[],"src":"12763:0:115"},"scope":66638,"src":"12718:46:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66091,"nodeType":"StructuredDocumentation","src":"12768:127:115","text":"@notice Withdraw staked B3TR (only after exit is finalized or deactivation)\n @param amount The B3TR amount to withdraw"},"functionSelector":"25d5971f","id":66096,"implemented":false,"kind":"function","modifiers":[],"name":"withdrawStake","nameLocation":"12907:13:115","nodeType":"FunctionDefinition","parameters":{"id":66094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66093,"mutability":"mutable","name":"amount","nameLocation":"12929:6:115","nodeType":"VariableDeclaration","scope":66096,"src":"12921:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66092,"name":"uint256","nodeType":"ElementaryTypeName","src":"12921:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12920:16:115"},"returnParameters":{"id":66095,"nodeType":"ParameterList","parameters":[],"src":"12945:0:115"},"scope":66638,"src":"12898:48:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66097,"nodeType":"StructuredDocumentation","src":"13020:158:115","text":"@notice Delegate VOT3 to a navigator (first-time only)\n @param navigator The navigator to delegate to\n @param amount The VOT3 amount to delegate"},"functionSelector":"026e402b","id":66104,"implemented":false,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"13190:8:115","nodeType":"FunctionDefinition","parameters":{"id":66102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66099,"mutability":"mutable","name":"navigator","nameLocation":"13207:9:115","nodeType":"VariableDeclaration","scope":66104,"src":"13199:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66098,"name":"address","nodeType":"ElementaryTypeName","src":"13199:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66101,"mutability":"mutable","name":"amount","nameLocation":"13226:6:115","nodeType":"VariableDeclaration","scope":66104,"src":"13218:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66100,"name":"uint256","nodeType":"ElementaryTypeName","src":"13218:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13198:35:115"},"returnParameters":{"id":66103,"nodeType":"ParameterList","parameters":[],"src":"13242:0:115"},"scope":66638,"src":"13181:62:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66105,"nodeType":"StructuredDocumentation","src":"13247:108:115","text":"@notice Increase delegation to the current navigator\n @param amount The additional VOT3 to delegate"},"functionSelector":"dbd3aa8a","id":66110,"implemented":false,"kind":"function","modifiers":[],"name":"increaseDelegation","nameLocation":"13367:18:115","nodeType":"FunctionDefinition","parameters":{"id":66108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66107,"mutability":"mutable","name":"amount","nameLocation":"13394:6:115","nodeType":"VariableDeclaration","scope":66110,"src":"13386:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66106,"name":"uint256","nodeType":"ElementaryTypeName","src":"13386:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13385:16:115"},"returnParameters":{"id":66109,"nodeType":"ParameterList","parameters":[],"src":"13410:0:115"},"scope":66638,"src":"13358:53:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66111,"nodeType":"StructuredDocumentation","src":"13415:108:115","text":"@notice Partially reduce delegation amount\n @param reduceBy The VOT3 amount to reduce delegation by"},"functionSelector":"e2d4c0d6","id":66116,"implemented":false,"kind":"function","modifiers":[],"name":"reduceDelegation","nameLocation":"13535:16:115","nodeType":"FunctionDefinition","parameters":{"id":66114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66113,"mutability":"mutable","name":"reduceBy","nameLocation":"13560:8:115","nodeType":"VariableDeclaration","scope":66116,"src":"13552:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66112,"name":"uint256","nodeType":"ElementaryTypeName","src":"13552:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13551:18:115"},"returnParameters":{"id":66115,"nodeType":"ParameterList","parameters":[],"src":"13578:0:115"},"scope":66638,"src":"13526:53:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66117,"nodeType":"StructuredDocumentation","src":"13583:55:115","text":"@notice Fully undelegate from the current navigator"},"functionSelector":"92ab89bb","id":66120,"implemented":false,"kind":"function","modifiers":[],"name":"undelegate","nameLocation":"13650:10:115","nodeType":"FunctionDefinition","parameters":{"id":66118,"nodeType":"ParameterList","parameters":[],"src":"13660:2:115"},"returnParameters":{"id":66119,"nodeType":"ParameterList","parameters":[],"src":"13671:0:115"},"scope":66638,"src":"13641:31:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66121,"nodeType":"StructuredDocumentation","src":"13752:242:115","text":"@notice Set allocation voting preferences for a round\n @param roundId The allocation round ID\n @param appIds Array of app IDs to vote for\n @param percentages Allocation percentage per app in basis points (must sum to 10000)"},"functionSelector":"183b44f1","id":66132,"implemented":false,"kind":"function","modifiers":[],"name":"setAllocationPreferences","nameLocation":"14006:24:115","nodeType":"FunctionDefinition","parameters":{"id":66130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66123,"mutability":"mutable","name":"roundId","nameLocation":"14044:7:115","nodeType":"VariableDeclaration","scope":66132,"src":"14036:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66122,"name":"uint256","nodeType":"ElementaryTypeName","src":"14036:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66126,"mutability":"mutable","name":"appIds","nameLocation":"14076:6:115","nodeType":"VariableDeclaration","scope":66132,"src":"14057:25:115","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":66124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14057:7:115","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":66125,"nodeType":"ArrayTypeName","src":"14057:9:115","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":66129,"mutability":"mutable","name":"percentages","nameLocation":"14107:11:115","nodeType":"VariableDeclaration","scope":66132,"src":"14088:30:115","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":66127,"name":"uint256","nodeType":"ElementaryTypeName","src":"14088:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66128,"nodeType":"ArrayTypeName","src":"14088:9:115","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"14030:92:115"},"returnParameters":{"id":66131,"nodeType":"ParameterList","parameters":[],"src":"14131:0:115"},"scope":66638,"src":"13997:135:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66133,"nodeType":"StructuredDocumentation","src":"14136:174:115","text":"@notice Set a governance proposal voting decision\n @param proposalId The governance proposal ID\n @param decision The vote decision (1=Against, 2=For, 3=Abstain)"},"functionSelector":"09e07b03","id":66140,"implemented":false,"kind":"function","modifiers":[],"name":"setProposalDecision","nameLocation":"14322:19:115","nodeType":"FunctionDefinition","parameters":{"id":66138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66135,"mutability":"mutable","name":"proposalId","nameLocation":"14350:10:115","nodeType":"VariableDeclaration","scope":66140,"src":"14342:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66134,"name":"uint256","nodeType":"ElementaryTypeName","src":"14342:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66137,"mutability":"mutable","name":"decision","nameLocation":"14368:8:115","nodeType":"VariableDeclaration","scope":66140,"src":"14362:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66136,"name":"uint8","nodeType":"ElementaryTypeName","src":"14362:5:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"14341:36:115"},"returnParameters":{"id":66139,"nodeType":"ParameterList","parameters":[],"src":"14386:0:115"},"scope":66638,"src":"14313:74:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66141,"nodeType":"StructuredDocumentation","src":"14455:101:115","text":"@notice Claim unlocked fees for a specific round\n @param roundId The round to claim fees for"},"functionSelector":"f667526a","id":66146,"implemented":false,"kind":"function","modifiers":[],"name":"claimFee","nameLocation":"14568:8:115","nodeType":"FunctionDefinition","parameters":{"id":66144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66143,"mutability":"mutable","name":"roundId","nameLocation":"14585:7:115","nodeType":"VariableDeclaration","scope":66146,"src":"14577:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66142,"name":"uint256","nodeType":"ElementaryTypeName","src":"14577:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14576:17:115"},"returnParameters":{"id":66145,"nodeType":"ParameterList","parameters":[],"src":"14602:0:115"},"scope":66638,"src":"14559:44:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66147,"nodeType":"StructuredDocumentation","src":"14607:210:115","text":"@notice Deposit a fee for a navigator in a specific round\n @param navigator The navigator to receive the fee\n @param roundId The round the fee was earned in\n @param amount The B3TR fee amount"},"functionSelector":"41556405","id":66156,"implemented":false,"kind":"function","modifiers":[],"name":"depositNavigatorFee","nameLocation":"14829:19:115","nodeType":"FunctionDefinition","parameters":{"id":66154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66149,"mutability":"mutable","name":"navigator","nameLocation":"14857:9:115","nodeType":"VariableDeclaration","scope":66156,"src":"14849:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66148,"name":"address","nodeType":"ElementaryTypeName","src":"14849:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66151,"mutability":"mutable","name":"roundId","nameLocation":"14876:7:115","nodeType":"VariableDeclaration","scope":66156,"src":"14868:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66150,"name":"uint256","nodeType":"ElementaryTypeName","src":"14868:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66153,"mutability":"mutable","name":"amount","nameLocation":"14893:6:115","nodeType":"VariableDeclaration","scope":66156,"src":"14885:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66152,"name":"uint256","nodeType":"ElementaryTypeName","src":"14885:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14848:52:115"},"returnParameters":{"id":66155,"nodeType":"ParameterList","parameters":[],"src":"14909:0:115"},"scope":66638,"src":"14820:90:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66157,"nodeType":"StructuredDocumentation","src":"14990:237:115","text":"@notice Report a navigator for minor infractions in a completed round\n @param navigator The navigator address\n @param roundId The completed round to report\n @param proposalIds Proposal IDs that were active in the round"},"functionSelector":"af00578f","id":66167,"implemented":false,"kind":"function","modifiers":[],"name":"reportRoundInfractions","nameLocation":"15239:22:115","nodeType":"FunctionDefinition","parameters":{"id":66165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66159,"mutability":"mutable","name":"navigator","nameLocation":"15270:9:115","nodeType":"VariableDeclaration","scope":66167,"src":"15262:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66158,"name":"address","nodeType":"ElementaryTypeName","src":"15262:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66161,"mutability":"mutable","name":"roundId","nameLocation":"15289:7:115","nodeType":"VariableDeclaration","scope":66167,"src":"15281:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66160,"name":"uint256","nodeType":"ElementaryTypeName","src":"15281:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66164,"mutability":"mutable","name":"proposalIds","nameLocation":"15317:11:115","nodeType":"VariableDeclaration","scope":66167,"src":"15298:30:115","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":66162,"name":"uint256","nodeType":"ElementaryTypeName","src":"15298:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66163,"nodeType":"ArrayTypeName","src":"15298:9:115","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15261:68:115"},"returnParameters":{"id":66166,"nodeType":"ParameterList","parameters":[],"src":"15338:0:115"},"scope":66638,"src":"15230:109:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66168,"nodeType":"StructuredDocumentation","src":"15343:271:115","text":"@notice Deactivate a navigator by governance decision with optional slashing\n @param navigator The navigator address\n @param slashPercentage Percentage of stake to slash (basis points)\n @param slashFees Whether to also forfeit all unclaimed locked fees"},"functionSelector":"76880ddc","id":66177,"implemented":false,"kind":"function","modifiers":[],"name":"deactivateNavigator","nameLocation":"15626:19:115","nodeType":"FunctionDefinition","parameters":{"id":66175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66170,"mutability":"mutable","name":"navigator","nameLocation":"15654:9:115","nodeType":"VariableDeclaration","scope":66177,"src":"15646:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66169,"name":"address","nodeType":"ElementaryTypeName","src":"15646:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66172,"mutability":"mutable","name":"slashPercentage","nameLocation":"15673:15:115","nodeType":"VariableDeclaration","scope":66177,"src":"15665:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66171,"name":"uint256","nodeType":"ElementaryTypeName","src":"15665:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66174,"mutability":"mutable","name":"slashFees","nameLocation":"15695:9:115","nodeType":"VariableDeclaration","scope":66177,"src":"15690:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66173,"name":"bool","nodeType":"ElementaryTypeName","src":"15690:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15645:60:115"},"returnParameters":{"id":66176,"nodeType":"ParameterList","parameters":[],"src":"15714:0:115"},"scope":66638,"src":"15617:98:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66178,"nodeType":"StructuredDocumentation","src":"15788:78:115","text":"@notice Announce intent to exit as a navigator, starting the notice period"},"functionSelector":"18ff7536","id":66181,"implemented":false,"kind":"function","modifiers":[],"name":"announceExit","nameLocation":"15878:12:115","nodeType":"FunctionDefinition","parameters":{"id":66179,"nodeType":"ParameterList","parameters":[],"src":"15890:2:115"},"returnParameters":{"id":66180,"nodeType":"ParameterList","parameters":[],"src":"15901:0:115"},"scope":66638,"src":"15869:33:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66182,"nodeType":"StructuredDocumentation","src":"15906:85:115","text":"@notice Update the navigator's metadata URI\n @param uri The new metadata URI"},"functionSelector":"750521f5","id":66187,"implemented":false,"kind":"function","modifiers":[],"name":"setMetadataURI","nameLocation":"16003:14:115","nodeType":"FunctionDefinition","parameters":{"id":66185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66184,"mutability":"mutable","name":"uri","nameLocation":"16034:3:115","nodeType":"VariableDeclaration","scope":66187,"src":"16018:19:115","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":66183,"name":"string","nodeType":"ElementaryTypeName","src":"16018:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16017:21:115"},"returnParameters":{"id":66186,"nodeType":"ParameterList","parameters":[],"src":"16047:0:115"},"scope":66638,"src":"15994:54:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66188,"nodeType":"StructuredDocumentation","src":"16052:105:115","text":"@notice Submit a periodic report for the current round\n @param reportURI The report metadata URI"},"functionSelector":"635ac1ed","id":66193,"implemented":false,"kind":"function","modifiers":[],"name":"submitReport","nameLocation":"16169:12:115","nodeType":"FunctionDefinition","parameters":{"id":66191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66190,"mutability":"mutable","name":"reportURI","nameLocation":"16198:9:115","nodeType":"VariableDeclaration","scope":66193,"src":"16182:25:115","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":66189,"name":"string","nodeType":"ElementaryTypeName","src":"16182:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16181:27:115"},"returnParameters":{"id":66192,"nodeType":"ParameterList","parameters":[],"src":"16217:0:115"},"scope":66638,"src":"16160:58:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66194,"nodeType":"StructuredDocumentation","src":"16300:121:115","text":"@notice Set the minimum B3TR stake required to register as a navigator\n @param newMinStake The new minimum stake"},"functionSelector":"8c80fd90","id":66199,"implemented":false,"kind":"function","modifiers":[],"name":"setMinStake","nameLocation":"16433:11:115","nodeType":"FunctionDefinition","parameters":{"id":66197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66196,"mutability":"mutable","name":"newMinStake","nameLocation":"16453:11:115","nodeType":"VariableDeclaration","scope":66199,"src":"16445:19:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66195,"name":"uint256","nodeType":"ElementaryTypeName","src":"16445:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16444:21:115"},"returnParameters":{"id":66198,"nodeType":"ParameterList","parameters":[],"src":"16474:0:115"},"scope":66638,"src":"16424:51:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66200,"nodeType":"StructuredDocumentation","src":"16479:141:115","text":"@notice Set the maximum stake as a percentage of VOT3 total supply\n @param newPercentage The new max stake percentage (basis points)"},"functionSelector":"1598c511","id":66205,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxStakePercentage","nameLocation":"16632:21:115","nodeType":"FunctionDefinition","parameters":{"id":66203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66202,"mutability":"mutable","name":"newPercentage","nameLocation":"16662:13:115","nodeType":"VariableDeclaration","scope":66205,"src":"16654:21:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66201,"name":"uint256","nodeType":"ElementaryTypeName","src":"16654:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16653:23:115"},"returnParameters":{"id":66204,"nodeType":"ParameterList","parameters":[],"src":"16685:0:115"},"scope":66638,"src":"16623:63:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66206,"nodeType":"StructuredDocumentation","src":"16690:127:115","text":"@notice Set the number of rounds fees are locked before claiming\n @param newPeriod The new fee lock period (in rounds)"},"functionSelector":"74c0e768","id":66211,"implemented":false,"kind":"function","modifiers":[],"name":"setFeeLockPeriod","nameLocation":"16829:16:115","nodeType":"FunctionDefinition","parameters":{"id":66209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66208,"mutability":"mutable","name":"newPeriod","nameLocation":"16854:9:115","nodeType":"VariableDeclaration","scope":66211,"src":"16846:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66207,"name":"uint256","nodeType":"ElementaryTypeName","src":"16846:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16845:19:115"},"returnParameters":{"id":66210,"nodeType":"ParameterList","parameters":[],"src":"16873:0:115"},"scope":66638,"src":"16820:54:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66212,"nodeType":"StructuredDocumentation","src":"16878:139:115","text":"@notice Set the navigator fee percentage deducted from citizen rewards\n @param newPercentage The new fee percentage (basis points)"},"functionSelector":"ae06c1b7","id":66217,"implemented":false,"kind":"function","modifiers":[],"name":"setFeePercentage","nameLocation":"17029:16:115","nodeType":"FunctionDefinition","parameters":{"id":66215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66214,"mutability":"mutable","name":"newPercentage","nameLocation":"17054:13:115","nodeType":"VariableDeclaration","scope":66217,"src":"17046:21:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66213,"name":"uint256","nodeType":"ElementaryTypeName","src":"17046:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17045:23:115"},"returnParameters":{"id":66216,"nodeType":"ParameterList","parameters":[],"src":"17077:0:115"},"scope":66638,"src":"17020:58:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66218,"nodeType":"StructuredDocumentation","src":"17082:147:115","text":"@notice Set the exit notice period navigators must remain active after announcing exit\n @param newPeriod The new notice period (in rounds)"},"functionSelector":"5e27c95c","id":66223,"implemented":false,"kind":"function","modifiers":[],"name":"setExitNoticePeriod","nameLocation":"17241:19:115","nodeType":"FunctionDefinition","parameters":{"id":66221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66220,"mutability":"mutable","name":"newPeriod","nameLocation":"17269:9:115","nodeType":"VariableDeclaration","scope":66223,"src":"17261:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66219,"name":"uint256","nodeType":"ElementaryTypeName","src":"17261:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17260:19:115"},"returnParameters":{"id":66222,"nodeType":"ParameterList","parameters":[],"src":"17288:0:115"},"scope":66638,"src":"17232:57:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66224,"nodeType":"StructuredDocumentation","src":"17293:129:115","text":"@notice Set the interval at which navigators must submit reports\n @param newInterval The new report interval (in rounds)"},"functionSelector":"81ec292f","id":66229,"implemented":false,"kind":"function","modifiers":[],"name":"setReportInterval","nameLocation":"17434:17:115","nodeType":"FunctionDefinition","parameters":{"id":66227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66226,"mutability":"mutable","name":"newInterval","nameLocation":"17460:11:115","nodeType":"VariableDeclaration","scope":66229,"src":"17452:19:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66225,"name":"uint256","nodeType":"ElementaryTypeName","src":"17452:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17451:21:115"},"returnParameters":{"id":66228,"nodeType":"ParameterList","parameters":[],"src":"17481:0:115"},"scope":66638,"src":"17425:57:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66230,"nodeType":"StructuredDocumentation","src":"17486:142:115","text":"@notice Set the percentage of stake slashed for minor infractions\n @param newPercentage The new minor slash percentage (basis points)"},"functionSelector":"7b3d0cb5","id":66235,"implemented":false,"kind":"function","modifiers":[],"name":"setMinorSlashPercentage","nameLocation":"17640:23:115","nodeType":"FunctionDefinition","parameters":{"id":66233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66232,"mutability":"mutable","name":"newPercentage","nameLocation":"17672:13:115","nodeType":"VariableDeclaration","scope":66235,"src":"17664:21:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66231,"name":"uint256","nodeType":"ElementaryTypeName","src":"17664:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17663:23:115"},"returnParameters":{"id":66234,"nodeType":"ParameterList","parameters":[],"src":"17695:0:115"},"scope":66638,"src":"17631:65:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66236,"nodeType":"StructuredDocumentation","src":"17700:131:115","text":"@notice Set the cutoff period before round end for setting preferences\n @param newPeriod The new cutoff period (in blocks)"},"functionSelector":"f8af3bf5","id":66241,"implemented":false,"kind":"function","modifiers":[],"name":"setPreferenceCutoffPeriod","nameLocation":"17843:25:115","nodeType":"FunctionDefinition","parameters":{"id":66239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66238,"mutability":"mutable","name":"newPeriod","nameLocation":"17877:9:115","nodeType":"VariableDeclaration","scope":66241,"src":"17869:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66237,"name":"uint256","nodeType":"ElementaryTypeName","src":"17869:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17868:19:115"},"returnParameters":{"id":66240,"nodeType":"ParameterList","parameters":[],"src":"17896:0:115"},"scope":66638,"src":"17834:63:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66242,"nodeType":"StructuredDocumentation","src":"17901:112:115","text":"@notice Set the XAllocationVoting contract address\n @param newAddress The new XAllocationVoting address"},"functionSelector":"3d47fe94","id":66247,"implemented":false,"kind":"function","modifiers":[],"name":"setXAllocationVoting","nameLocation":"18025:20:115","nodeType":"FunctionDefinition","parameters":{"id":66245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66244,"mutability":"mutable","name":"newAddress","nameLocation":"18054:10:115","nodeType":"VariableDeclaration","scope":66247,"src":"18046:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66243,"name":"address","nodeType":"ElementaryTypeName","src":"18046:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18045:20:115"},"returnParameters":{"id":66246,"nodeType":"ParameterList","parameters":[],"src":"18074:0:115"},"scope":66638,"src":"18016:59:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66248,"nodeType":"StructuredDocumentation","src":"18079:114:115","text":"@notice Set the RelayerRewardsPool contract address\n @param newAddress The new RelayerRewardsPool address"},"functionSelector":"0dd8614c","id":66253,"implemented":false,"kind":"function","modifiers":[],"name":"setRelayerRewardsPool","nameLocation":"18205:21:115","nodeType":"FunctionDefinition","parameters":{"id":66251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66250,"mutability":"mutable","name":"newAddress","nameLocation":"18235:10:115","nodeType":"VariableDeclaration","scope":66253,"src":"18227:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66249,"name":"address","nodeType":"ElementaryTypeName","src":"18227:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18226:20:115"},"returnParameters":{"id":66252,"nodeType":"ParameterList","parameters":[],"src":"18255:0:115"},"scope":66638,"src":"18196:60:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66254,"nodeType":"StructuredDocumentation","src":"18260:102:115","text":"@notice Set the VoterRewards contract address\n @param newAddress The new VoterRewards address"},"functionSelector":"7a4cce6d","id":66259,"implemented":false,"kind":"function","modifiers":[],"name":"setVoterRewards","nameLocation":"18374:15:115","nodeType":"FunctionDefinition","parameters":{"id":66257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66256,"mutability":"mutable","name":"newAddress","nameLocation":"18398:10:115","nodeType":"VariableDeclaration","scope":66259,"src":"18390:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66255,"name":"address","nodeType":"ElementaryTypeName","src":"18390:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18389:20:115"},"returnParameters":{"id":66258,"nodeType":"ParameterList","parameters":[],"src":"18418:0:115"},"scope":66638,"src":"18365:54:115","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":66260,"nodeType":"StructuredDocumentation","src":"18517:136:115","text":"@notice Get the staked B3TR amount for a navigator\n @param navigator The navigator address\n @return The staked B3TR amount"},"functionSelector":"7a766460","id":66267,"implemented":false,"kind":"function","modifiers":[],"name":"getStake","nameLocation":"18665:8:115","nodeType":"FunctionDefinition","parameters":{"id":66263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66262,"mutability":"mutable","name":"navigator","nameLocation":"18682:9:115","nodeType":"VariableDeclaration","scope":66267,"src":"18674:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66261,"name":"address","nodeType":"ElementaryTypeName","src":"18674:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18673:19:115"},"returnParameters":{"id":66266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66267,"src":"18716:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66264,"name":"uint256","nodeType":"ElementaryTypeName","src":"18716:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18715:9:115"},"scope":66638,"src":"18656:69:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66268,"nodeType":"StructuredDocumentation","src":"18729:187:115","text":"@notice Check if an address is a registered and active navigator\n @param account The address to check\n @return True if the account is a registered, non-deactivated navigator"},"functionSelector":"a624f5aa","id":66275,"implemented":false,"kind":"function","modifiers":[],"name":"isNavigator","nameLocation":"18928:11:115","nodeType":"FunctionDefinition","parameters":{"id":66271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66270,"mutability":"mutable","name":"account","nameLocation":"18948:7:115","nodeType":"VariableDeclaration","scope":66275,"src":"18940:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66269,"name":"address","nodeType":"ElementaryTypeName","src":"18940:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18939:17:115"},"returnParameters":{"id":66274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66273,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66275,"src":"18980:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66272,"name":"bool","nodeType":"ElementaryTypeName","src":"18980:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18979:6:115"},"scope":66638,"src":"18919:67:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66276,"nodeType":"StructuredDocumentation","src":"18990:184:115","text":"@notice Check if a navigator can accept new delegations\n @param navigator The navigator address\n @return True if the navigator is active, above min stake, and not exiting"},"functionSelector":"7b13bd4c","id":66283,"implemented":false,"kind":"function","modifiers":[],"name":"canAcceptDelegations","nameLocation":"19186:20:115","nodeType":"FunctionDefinition","parameters":{"id":66279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66278,"mutability":"mutable","name":"navigator","nameLocation":"19215:9:115","nodeType":"VariableDeclaration","scope":66283,"src":"19207:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66277,"name":"address","nodeType":"ElementaryTypeName","src":"19207:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19206:19:115"},"returnParameters":{"id":66282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66283,"src":"19249:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66280,"name":"bool","nodeType":"ElementaryTypeName","src":"19249:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19248:6:115"},"scope":66638,"src":"19177:78:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66284,"nodeType":"StructuredDocumentation","src":"19259:173:115","text":"@notice Get the maximum VOT3 that can be delegated to a navigator\n @param navigator The navigator address\n @return The maximum delegation capacity (stake * 10)"},"functionSelector":"ab9d80f1","id":66291,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegationCapacity","nameLocation":"19444:21:115","nodeType":"FunctionDefinition","parameters":{"id":66287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66286,"mutability":"mutable","name":"navigator","nameLocation":"19474:9:115","nodeType":"VariableDeclaration","scope":66291,"src":"19466:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66285,"name":"address","nodeType":"ElementaryTypeName","src":"19466:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19465:19:115"},"returnParameters":{"id":66290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66289,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66291,"src":"19508:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66288,"name":"uint256","nodeType":"ElementaryTypeName","src":"19508:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19507:9:115"},"scope":66638,"src":"19435:82:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66292,"nodeType":"StructuredDocumentation","src":"19521:174:115","text":"@notice Get the remaining delegation capacity for a navigator\n @param navigator The navigator address\n @return The remaining capacity (0 if at or over capacity)"},"functionSelector":"9124ac48","id":66299,"implemented":false,"kind":"function","modifiers":[],"name":"getRemainingCapacity","nameLocation":"19707:20:115","nodeType":"FunctionDefinition","parameters":{"id":66295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66294,"mutability":"mutable","name":"navigator","nameLocation":"19736:9:115","nodeType":"VariableDeclaration","scope":66299,"src":"19728:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66293,"name":"address","nodeType":"ElementaryTypeName","src":"19728:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19727:19:115"},"returnParameters":{"id":66298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66297,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66299,"src":"19770:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66296,"name":"uint256","nodeType":"ElementaryTypeName","src":"19770:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19769:9:115"},"scope":66638,"src":"19698:81:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66300,"nodeType":"StructuredDocumentation","src":"19783:98:115","text":"@notice Get the minimum B3TR stake required to register\n @return The minimum stake amount"},"functionSelector":"56a3b5fa","id":66305,"implemented":false,"kind":"function","modifiers":[],"name":"getMinStake","nameLocation":"19893:11:115","nodeType":"FunctionDefinition","parameters":{"id":66301,"nodeType":"ParameterList","parameters":[],"src":"19904:2:115"},"returnParameters":{"id":66304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66303,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66305,"src":"19930:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66302,"name":"uint256","nodeType":"ElementaryTypeName","src":"19930:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19929:9:115"},"scope":66638,"src":"19884:55:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66306,"nodeType":"StructuredDocumentation","src":"19943:111:115","text":"@notice Get the current maximum stake allowed (based on VOT3 supply)\n @return The maximum stake amount"},"functionSelector":"fe35505b","id":66311,"implemented":false,"kind":"function","modifiers":[],"name":"getMaxStake","nameLocation":"20066:11:115","nodeType":"FunctionDefinition","parameters":{"id":66307,"nodeType":"ParameterList","parameters":[],"src":"20077:2:115"},"returnParameters":{"id":66310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66311,"src":"20103:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66308,"name":"uint256","nodeType":"ElementaryTypeName","src":"20103:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20102:9:115"},"scope":66638,"src":"20057:55:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66312,"nodeType":"StructuredDocumentation","src":"20116:373:115","text":"@notice Get the staked amount for a navigator at a past block (checkpointed)\n @dev Used by VotesUtils and GovernorVotesLogic to include staked amount in voting power.\n Returns 0 for non-navigators (no checkpoints).\n @param navigator The navigator address\n @param timepoint The block number to query\n @return The staked amount at the given block"},"functionSelector":"253dbca4","id":66321,"implemented":false,"kind":"function","modifiers":[],"name":"getStakedAmountAtTimepoint","nameLocation":"20501:26:115","nodeType":"FunctionDefinition","parameters":{"id":66317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66314,"mutability":"mutable","name":"navigator","nameLocation":"20536:9:115","nodeType":"VariableDeclaration","scope":66321,"src":"20528:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66313,"name":"address","nodeType":"ElementaryTypeName","src":"20528:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66316,"mutability":"mutable","name":"timepoint","nameLocation":"20555:9:115","nodeType":"VariableDeclaration","scope":66321,"src":"20547:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66315,"name":"uint256","nodeType":"ElementaryTypeName","src":"20547:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20527:38:115"},"returnParameters":{"id":66320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66321,"src":"20589:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66318,"name":"uint256","nodeType":"ElementaryTypeName","src":"20589:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20588:9:115"},"scope":66638,"src":"20492:106:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66322,"nodeType":"StructuredDocumentation","src":"20625:184:115","text":"@notice Get the navigator a citizen is delegated to\n @param citizen The citizen address\n @return The navigator address (address(0) if not delegated or delegation is void)"},"functionSelector":"453929e0","id":66329,"implemented":false,"kind":"function","modifiers":[],"name":"getNavigator","nameLocation":"20821:12:115","nodeType":"FunctionDefinition","parameters":{"id":66325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66324,"mutability":"mutable","name":"citizen","nameLocation":"20842:7:115","nodeType":"VariableDeclaration","scope":66329,"src":"20834:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66323,"name":"address","nodeType":"ElementaryTypeName","src":"20834:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20833:17:115"},"returnParameters":{"id":66328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66327,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66329,"src":"20874:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66326,"name":"address","nodeType":"ElementaryTypeName","src":"20874:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20873:9:115"},"scope":66638,"src":"20812:71:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66330,"nodeType":"StructuredDocumentation","src":"20887:336:115","text":"@notice Get the navigator a citizen was delegated to at a past block (checkpointed)\n @dev Does NOT apply dead-navigator invalidation — callers decide.\n @param citizen The citizen address\n @param timepoint The block number to query\n @return The navigator address at the given block (address(0) if not delegated)"},"functionSelector":"18be49d9","id":66339,"implemented":false,"kind":"function","modifiers":[],"name":"getNavigatorAtTimepoint","nameLocation":"21235:23:115","nodeType":"FunctionDefinition","parameters":{"id":66335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66332,"mutability":"mutable","name":"citizen","nameLocation":"21267:7:115","nodeType":"VariableDeclaration","scope":66339,"src":"21259:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66331,"name":"address","nodeType":"ElementaryTypeName","src":"21259:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66334,"mutability":"mutable","name":"timepoint","nameLocation":"21284:9:115","nodeType":"VariableDeclaration","scope":66339,"src":"21276:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66333,"name":"uint256","nodeType":"ElementaryTypeName","src":"21276:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21258:36:115"},"returnParameters":{"id":66338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66337,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66339,"src":"21318:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66336,"name":"address","nodeType":"ElementaryTypeName","src":"21318:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21317:9:115"},"scope":66638,"src":"21226:101:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66340,"nodeType":"StructuredDocumentation","src":"21331:216:115","text":"@notice Get the raw navigator stored for a citizen, ignoring dead-navigator status\n @param citizen The citizen address\n @return The raw navigator address, or address(0) if never delegated or undelegated"},"functionSelector":"589444bb","id":66347,"implemented":false,"kind":"function","modifiers":[],"name":"getRawNavigator","nameLocation":"21559:15:115","nodeType":"FunctionDefinition","parameters":{"id":66343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66342,"mutability":"mutable","name":"citizen","nameLocation":"21583:7:115","nodeType":"VariableDeclaration","scope":66347,"src":"21575:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66341,"name":"address","nodeType":"ElementaryTypeName","src":"21575:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21574:17:115"},"returnParameters":{"id":66346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66345,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66347,"src":"21615:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66344,"name":"address","nodeType":"ElementaryTypeName","src":"21615:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21614:9:115"},"scope":66638,"src":"21550:74:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66348,"nodeType":"StructuredDocumentation","src":"21628:374:115","text":"@notice Get the raw navigator stored for a citizen at a past block (checkpointed)\n @dev Useful for frontends to show delegation state even when navigator is dead/exiting.\n @param citizen The citizen address\n @param timepoint The block number to query\n @return The raw navigator address from checkpoint, or address(0) if never delegated or undelegated"},"functionSelector":"f3a84655","id":66357,"implemented":false,"kind":"function","modifiers":[],"name":"getRawNavigatorAtTimepoint","nameLocation":"22014:26:115","nodeType":"FunctionDefinition","parameters":{"id":66353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66350,"mutability":"mutable","name":"citizen","nameLocation":"22049:7:115","nodeType":"VariableDeclaration","scope":66357,"src":"22041:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66349,"name":"address","nodeType":"ElementaryTypeName","src":"22041:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66352,"mutability":"mutable","name":"timepoint","nameLocation":"22066:9:115","nodeType":"VariableDeclaration","scope":66357,"src":"22058:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66351,"name":"uint256","nodeType":"ElementaryTypeName","src":"22058:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22040:36:115"},"returnParameters":{"id":66356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66355,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66357,"src":"22100:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66354,"name":"address","nodeType":"ElementaryTypeName","src":"22100:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22099:9:115"},"scope":66638,"src":"22005:104:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66358,"nodeType":"StructuredDocumentation","src":"22113:187:115","text":"@notice Get the current VOT3 amount a citizen has delegated\n @param citizen The citizen address\n @return The delegated VOT3 amount (0 if not delegated or delegation is void)"},"functionSelector":"073ea6ae","id":66365,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegatedAmount","nameLocation":"22312:18:115","nodeType":"FunctionDefinition","parameters":{"id":66361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66360,"mutability":"mutable","name":"citizen","nameLocation":"22339:7:115","nodeType":"VariableDeclaration","scope":66365,"src":"22331:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66359,"name":"address","nodeType":"ElementaryTypeName","src":"22331:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22330:17:115"},"returnParameters":{"id":66364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66365,"src":"22371:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66362,"name":"uint256","nodeType":"ElementaryTypeName","src":"22371:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22370:9:115"},"scope":66638,"src":"22303:77:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66366,"nodeType":"StructuredDocumentation","src":"22384:146:115","text":"@notice Get the total VOT3 delegated to a navigator\n @param navigator The navigator address\n @return The total delegated VOT3 amount"},"functionSelector":"6fb7f7eb","id":66373,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalDelegated","nameLocation":"22542:17:115","nodeType":"FunctionDefinition","parameters":{"id":66369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66368,"mutability":"mutable","name":"navigator","nameLocation":"22568:9:115","nodeType":"VariableDeclaration","scope":66373,"src":"22560:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66367,"name":"address","nodeType":"ElementaryTypeName","src":"22560:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22559:19:115"},"returnParameters":{"id":66372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66373,"src":"22602:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66370,"name":"uint256","nodeType":"ElementaryTypeName","src":"22602:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22601:9:115"},"scope":66638,"src":"22533:78:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66374,"nodeType":"StructuredDocumentation","src":"22615:214:115","text":"@notice Get total VOT3 delegated to a navigator at a past block\n @param navigator The navigator address\n @param timepoint The block number to query\n @return The total VOT3 delegated at that block"},"functionSelector":"c7329cf7","id":66383,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalDelegatedAtTimepoint","nameLocation":"22841:28:115","nodeType":"FunctionDefinition","parameters":{"id":66379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66376,"mutability":"mutable","name":"navigator","nameLocation":"22878:9:115","nodeType":"VariableDeclaration","scope":66383,"src":"22870:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66375,"name":"address","nodeType":"ElementaryTypeName","src":"22870:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66378,"mutability":"mutable","name":"timepoint","nameLocation":"22897:9:115","nodeType":"VariableDeclaration","scope":66383,"src":"22889:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66377,"name":"uint256","nodeType":"ElementaryTypeName","src":"22889:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22869:38:115"},"returnParameters":{"id":66382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66383,"src":"22931:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66380,"name":"uint256","nodeType":"ElementaryTypeName","src":"22931:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22930:9:115"},"scope":66638,"src":"22832:108:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66384,"nodeType":"StructuredDocumentation","src":"22944:167:115","text":"@notice Get total delegated citizens at a past block\n @param timepoint The block number to query\n @return The total delegated citizens at the given block"},"functionSelector":"0a5515e3","id":66391,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalDelegatedCitizensAtTimepoint","nameLocation":"23123:36:115","nodeType":"FunctionDefinition","parameters":{"id":66387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66386,"mutability":"mutable","name":"timepoint","nameLocation":"23167:9:115","nodeType":"VariableDeclaration","scope":66391,"src":"23160:16:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":66385,"name":"uint48","nodeType":"ElementaryTypeName","src":"23160:6:115","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"23159:18:115"},"returnParameters":{"id":66390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66391,"src":"23201:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":66388,"name":"uint208","nodeType":"ElementaryTypeName","src":"23201:7:115","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"23200:9:115"},"scope":66638,"src":"23114:96:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66392,"nodeType":"StructuredDocumentation","src":"23214:151:115","text":"@notice Check if a citizen has an active delegation\n @param citizen The citizen address\n @return True if delegated to an active navigator"},"functionSelector":"3e28391d","id":66399,"implemented":false,"kind":"function","modifiers":[],"name":"isDelegated","nameLocation":"23377:11:115","nodeType":"FunctionDefinition","parameters":{"id":66395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66394,"mutability":"mutable","name":"citizen","nameLocation":"23397:7:115","nodeType":"VariableDeclaration","scope":66399,"src":"23389:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66393,"name":"address","nodeType":"ElementaryTypeName","src":"23389:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23388:17:115"},"returnParameters":{"id":66398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66397,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66399,"src":"23429:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66396,"name":"bool","nodeType":"ElementaryTypeName","src":"23429:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23428:6:115"},"scope":66638,"src":"23368:67:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66400,"nodeType":"StructuredDocumentation","src":"23439:235:115","text":"@notice Get the delegated amount at a past block (for snapshot-based voting power)\n @param citizen The citizen address\n @param timepoint The block number to query\n @return The delegated VOT3 amount at the given block"},"functionSelector":"c61c06e7","id":66409,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegatedAmountAtTimepoint","nameLocation":"23686:29:115","nodeType":"FunctionDefinition","parameters":{"id":66405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66402,"mutability":"mutable","name":"citizen","nameLocation":"23724:7:115","nodeType":"VariableDeclaration","scope":66409,"src":"23716:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66401,"name":"address","nodeType":"ElementaryTypeName","src":"23716:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66404,"mutability":"mutable","name":"timepoint","nameLocation":"23741:9:115","nodeType":"VariableDeclaration","scope":66409,"src":"23733:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66403,"name":"uint256","nodeType":"ElementaryTypeName","src":"23733:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23715:36:115"},"returnParameters":{"id":66408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66409,"src":"23775:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66406,"name":"uint256","nodeType":"ElementaryTypeName","src":"23775:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23774:9:115"},"scope":66638,"src":"23677:107:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66410,"nodeType":"StructuredDocumentation","src":"23788:308:115","text":"@notice Check if a citizen was delegated at a past block (checkpointed)\n @dev Does NOT apply dead-navigator invalidation — callers decide.\n @param citizen The citizen address\n @param timepoint The block number to query\n @return True if the citizen had a navigator at the given block"},"functionSelector":"516bb8a3","id":66419,"implemented":false,"kind":"function","modifiers":[],"name":"isDelegatedAtTimepoint","nameLocation":"24108:22:115","nodeType":"FunctionDefinition","parameters":{"id":66415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66412,"mutability":"mutable","name":"citizen","nameLocation":"24139:7:115","nodeType":"VariableDeclaration","scope":66419,"src":"24131:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66411,"name":"address","nodeType":"ElementaryTypeName","src":"24131:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66414,"mutability":"mutable","name":"timepoint","nameLocation":"24156:9:115","nodeType":"VariableDeclaration","scope":66419,"src":"24148:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66413,"name":"uint256","nodeType":"ElementaryTypeName","src":"24148:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24130:36:115"},"returnParameters":{"id":66418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66419,"src":"24190:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66416,"name":"bool","nodeType":"ElementaryTypeName","src":"24190:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24189:6:115"},"scope":66638,"src":"24099:97:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66420,"nodeType":"StructuredDocumentation","src":"24219:273:115","text":"@notice Get allocation preferences for a navigator in a round\n @param navigator The navigator address\n @param roundId The allocation round ID\n @return appIds The app IDs selected\n @return percentages The allocation percentages per app (basis points)"},"functionSelector":"f232dd60","id":66433,"implemented":false,"kind":"function","modifiers":[],"name":"getAllocationPreferences","nameLocation":"24504:24:115","nodeType":"FunctionDefinition","parameters":{"id":66425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66422,"mutability":"mutable","name":"navigator","nameLocation":"24542:9:115","nodeType":"VariableDeclaration","scope":66433,"src":"24534:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66421,"name":"address","nodeType":"ElementaryTypeName","src":"24534:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66424,"mutability":"mutable","name":"roundId","nameLocation":"24565:7:115","nodeType":"VariableDeclaration","scope":66433,"src":"24557:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66423,"name":"uint256","nodeType":"ElementaryTypeName","src":"24557:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24528:48:115"},"returnParameters":{"id":66432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66428,"mutability":"mutable","name":"appIds","nameLocation":"24617:6:115","nodeType":"VariableDeclaration","scope":66433,"src":"24600:23:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":66426,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24600:7:115","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":66427,"nodeType":"ArrayTypeName","src":"24600:9:115","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":66431,"mutability":"mutable","name":"percentages","nameLocation":"24642:11:115","nodeType":"VariableDeclaration","scope":66433,"src":"24625:28:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":66429,"name":"uint256","nodeType":"ElementaryTypeName","src":"24625:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66430,"nodeType":"ArrayTypeName","src":"24625:9:115","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"24599:55:115"},"scope":66638,"src":"24495:160:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66434,"nodeType":"StructuredDocumentation","src":"24659:202:115","text":"@notice Check if a navigator has set preferences for a round\n @param navigator The navigator address\n @param roundId The allocation round ID\n @return True if preferences have been set"},"functionSelector":"394f8454","id":66443,"implemented":false,"kind":"function","modifiers":[],"name":"hasSetPreferences","nameLocation":"24873:17:115","nodeType":"FunctionDefinition","parameters":{"id":66439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66436,"mutability":"mutable","name":"navigator","nameLocation":"24899:9:115","nodeType":"VariableDeclaration","scope":66443,"src":"24891:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66435,"name":"address","nodeType":"ElementaryTypeName","src":"24891:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66438,"mutability":"mutable","name":"roundId","nameLocation":"24918:7:115","nodeType":"VariableDeclaration","scope":66443,"src":"24910:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66437,"name":"uint256","nodeType":"ElementaryTypeName","src":"24910:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24890:36:115"},"returnParameters":{"id":66442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66443,"src":"24950:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66440,"name":"bool","nodeType":"ElementaryTypeName","src":"24950:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24949:6:115"},"scope":66638,"src":"24864:92:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66444,"nodeType":"StructuredDocumentation","src":"24960:194:115","text":"@notice Get the block number when preferences were set\n @param navigator The navigator address\n @param roundId The allocation round ID\n @return The block number (0 if not set)"},"functionSelector":"cb5bfd70","id":66453,"implemented":false,"kind":"function","modifiers":[],"name":"getPreferencesSetBlock","nameLocation":"25166:22:115","nodeType":"FunctionDefinition","parameters":{"id":66449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66446,"mutability":"mutable","name":"navigator","nameLocation":"25197:9:115","nodeType":"VariableDeclaration","scope":66453,"src":"25189:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66445,"name":"address","nodeType":"ElementaryTypeName","src":"25189:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66448,"mutability":"mutable","name":"roundId","nameLocation":"25216:7:115","nodeType":"VariableDeclaration","scope":66453,"src":"25208:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66447,"name":"uint256","nodeType":"ElementaryTypeName","src":"25208:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25188:36:115"},"returnParameters":{"id":66452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66451,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66453,"src":"25248:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66450,"name":"uint256","nodeType":"ElementaryTypeName","src":"25248:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25247:9:115"},"scope":66638,"src":"25157:100:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66454,"nodeType":"StructuredDocumentation","src":"25261:211:115","text":"@notice Get a navigator's decision for a governance proposal\n @param navigator The navigator address\n @param proposalId The proposal ID\n @return The vote decision (1=Against, 2=For, 3=Abstain)"},"functionSelector":"38b3ce13","id":66463,"implemented":false,"kind":"function","modifiers":[],"name":"getProposalDecision","nameLocation":"25484:19:115","nodeType":"FunctionDefinition","parameters":{"id":66459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66456,"mutability":"mutable","name":"navigator","nameLocation":"25512:9:115","nodeType":"VariableDeclaration","scope":66463,"src":"25504:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66455,"name":"address","nodeType":"ElementaryTypeName","src":"25504:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66458,"mutability":"mutable","name":"proposalId","nameLocation":"25531:10:115","nodeType":"VariableDeclaration","scope":66463,"src":"25523:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66457,"name":"uint256","nodeType":"ElementaryTypeName","src":"25523:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25503:39:115"},"returnParameters":{"id":66462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66463,"src":"25566:5:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66460,"name":"uint8","nodeType":"ElementaryTypeName","src":"25566:5:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"25565:7:115"},"scope":66638,"src":"25475:98:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66464,"nodeType":"StructuredDocumentation","src":"25577:197:115","text":"@notice Check if a navigator has set a decision for a proposal\n @param navigator The navigator address\n @param proposalId The proposal ID\n @return True if a decision has been set"},"functionSelector":"2246f2db","id":66473,"implemented":false,"kind":"function","modifiers":[],"name":"hasSetDecision","nameLocation":"25786:14:115","nodeType":"FunctionDefinition","parameters":{"id":66469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66466,"mutability":"mutable","name":"navigator","nameLocation":"25809:9:115","nodeType":"VariableDeclaration","scope":66473,"src":"25801:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66465,"name":"address","nodeType":"ElementaryTypeName","src":"25801:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66468,"mutability":"mutable","name":"proposalId","nameLocation":"25828:10:115","nodeType":"VariableDeclaration","scope":66473,"src":"25820:18:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66467,"name":"uint256","nodeType":"ElementaryTypeName","src":"25820:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25800:39:115"},"returnParameters":{"id":66472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66473,"src":"25863:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66470,"name":"bool","nodeType":"ElementaryTypeName","src":"25863:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25862:6:115"},"scope":66638,"src":"25777:92:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66474,"nodeType":"StructuredDocumentation","src":"25890:179:115","text":"@notice Get the fee amount for a navigator in a specific round\n @param navigator The navigator address\n @param roundId The round ID\n @return The B3TR fee amount"},"functionSelector":"b9c64fcd","id":66483,"implemented":false,"kind":"function","modifiers":[],"name":"getRoundFee","nameLocation":"26081:11:115","nodeType":"FunctionDefinition","parameters":{"id":66479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66476,"mutability":"mutable","name":"navigator","nameLocation":"26101:9:115","nodeType":"VariableDeclaration","scope":66483,"src":"26093:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66475,"name":"address","nodeType":"ElementaryTypeName","src":"26093:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66478,"mutability":"mutable","name":"roundId","nameLocation":"26120:7:115","nodeType":"VariableDeclaration","scope":66483,"src":"26112:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66477,"name":"uint256","nodeType":"ElementaryTypeName","src":"26112:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26092:36:115"},"returnParameters":{"id":66482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66483,"src":"26152:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66480,"name":"uint256","nodeType":"ElementaryTypeName","src":"26152:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26151:9:115"},"scope":66638,"src":"26072:89:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66484,"nodeType":"StructuredDocumentation","src":"26165:88:115","text":"@notice Get the fee lock period (number of rounds)\n @return The fee lock period"},"functionSelector":"3b103ee5","id":66489,"implemented":false,"kind":"function","modifiers":[],"name":"getFeeLockPeriod","nameLocation":"26265:16:115","nodeType":"FunctionDefinition","parameters":{"id":66485,"nodeType":"ParameterList","parameters":[],"src":"26281:2:115"},"returnParameters":{"id":66488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66489,"src":"26307:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66486,"name":"uint256","nodeType":"ElementaryTypeName","src":"26307:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26306:9:115"},"scope":66638,"src":"26256:60:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66490,"nodeType":"StructuredDocumentation","src":"26320:93:115","text":"@notice Get the navigator fee percentage in basis points\n @return The fee percentage"},"functionSelector":"11efbf61","id":66495,"implemented":false,"kind":"function","modifiers":[],"name":"getFeePercentage","nameLocation":"26425:16:115","nodeType":"FunctionDefinition","parameters":{"id":66491,"nodeType":"ParameterList","parameters":[],"src":"26441:2:115"},"returnParameters":{"id":66494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66495,"src":"26467:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66492,"name":"uint256","nodeType":"ElementaryTypeName","src":"26467:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26466:9:115"},"scope":66638,"src":"26416:60:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66496,"nodeType":"StructuredDocumentation","src":"26480:143:115","text":"@notice Check if fees for a round are unlocked\n @param roundId The round to check\n @return True if the round's fees are claimable"},"functionSelector":"23b343cf","id":66503,"implemented":false,"kind":"function","modifiers":[],"name":"isRoundFeeUnlocked","nameLocation":"26635:18:115","nodeType":"FunctionDefinition","parameters":{"id":66499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66498,"mutability":"mutable","name":"roundId","nameLocation":"26662:7:115","nodeType":"VariableDeclaration","scope":66503,"src":"26654:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66497,"name":"uint256","nodeType":"ElementaryTypeName","src":"26654:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26653:17:115"},"returnParameters":{"id":66502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66503,"src":"26694:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66500,"name":"bool","nodeType":"ElementaryTypeName","src":"26694:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26693:6:115"},"scope":66638,"src":"26626:74:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66504,"nodeType":"StructuredDocumentation","src":"26725:166:115","text":"@notice Get the total amount slashed from a navigator over their lifetime\n @param navigator The navigator address\n @return The total B3TR amount slashed"},"functionSelector":"960efad9","id":66511,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalSlashed","nameLocation":"26903:15:115","nodeType":"FunctionDefinition","parameters":{"id":66507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66506,"mutability":"mutable","name":"navigator","nameLocation":"26927:9:115","nodeType":"VariableDeclaration","scope":66511,"src":"26919:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66505,"name":"address","nodeType":"ElementaryTypeName","src":"26919:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26918:19:115"},"returnParameters":{"id":66510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66509,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66511,"src":"26961:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66508,"name":"uint256","nodeType":"ElementaryTypeName","src":"26961:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26960:9:115"},"scope":66638,"src":"26894:76:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66512,"nodeType":"StructuredDocumentation","src":"26974:99:115","text":"@notice Get the minor slash percentage in basis points\n @return The minor slash percentage"},"functionSelector":"c81bdf20","id":66517,"implemented":false,"kind":"function","modifiers":[],"name":"getMinorSlashPercentage","nameLocation":"27085:23:115","nodeType":"FunctionDefinition","parameters":{"id":66513,"nodeType":"ParameterList","parameters":[],"src":"27108:2:115"},"returnParameters":{"id":66516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66515,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66517,"src":"27134:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66514,"name":"uint256","nodeType":"ElementaryTypeName","src":"27134:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27133:9:115"},"scope":66638,"src":"27076:67:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66518,"nodeType":"StructuredDocumentation","src":"27147:268:115","text":"@notice Check if a navigator was already slashed for a round\n @param navigator The navigator address\n @param roundId The round ID\n @return slashed True if slashed for this round\n @return infractionFlags Bitmask of infractions found when slashed"},"functionSelector":"89c192ba","id":66529,"implemented":false,"kind":"function","modifiers":[],"name":"isSlashedForRound","nameLocation":"27427:17:115","nodeType":"FunctionDefinition","parameters":{"id":66523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66520,"mutability":"mutable","name":"navigator","nameLocation":"27458:9:115","nodeType":"VariableDeclaration","scope":66529,"src":"27450:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66519,"name":"address","nodeType":"ElementaryTypeName","src":"27450:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66522,"mutability":"mutable","name":"roundId","nameLocation":"27481:7:115","nodeType":"VariableDeclaration","scope":66529,"src":"27473:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66521,"name":"uint256","nodeType":"ElementaryTypeName","src":"27473:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27444:48:115"},"returnParameters":{"id":66528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66525,"mutability":"mutable","name":"slashed","nameLocation":"27521:7:115","nodeType":"VariableDeclaration","scope":66529,"src":"27516:12:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66524,"name":"bool","nodeType":"ElementaryTypeName","src":"27516:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":66527,"mutability":"mutable","name":"infractionFlags","nameLocation":"27538:15:115","nodeType":"VariableDeclaration","scope":66529,"src":"27530:23:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66526,"name":"uint256","nodeType":"ElementaryTypeName","src":"27530:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27515:39:115"},"scope":66638,"src":"27418:137:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66530,"nodeType":"StructuredDocumentation","src":"27559:115:115","text":"@notice Get the preference cutoff period (in blocks before round end)\n @return The cutoff period in blocks"},"functionSelector":"8e6bdcc5","id":66535,"implemented":false,"kind":"function","modifiers":[],"name":"getPreferenceCutoffPeriod","nameLocation":"27686:25:115","nodeType":"FunctionDefinition","parameters":{"id":66531,"nodeType":"ParameterList","parameters":[],"src":"27711:2:115"},"returnParameters":{"id":66534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66533,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66535,"src":"27737:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66532,"name":"uint256","nodeType":"ElementaryTypeName","src":"27737:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27736:9:115"},"scope":66638,"src":"27677:69:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66536,"nodeType":"StructuredDocumentation","src":"27772:158:115","text":"@notice Get the current lifecycle status of a navigator\n @param account The address to check\n @return 0=NONE, 1=ACTIVE, 2=EXITING, 3=DEACTIVATED"},"functionSelector":"30ccebb5","id":66543,"implemented":false,"kind":"function","modifiers":[],"name":"getStatus","nameLocation":"27942:9:115","nodeType":"FunctionDefinition","parameters":{"id":66539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66538,"mutability":"mutable","name":"account","nameLocation":"27960:7:115","nodeType":"VariableDeclaration","scope":66543,"src":"27952:15:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66537,"name":"address","nodeType":"ElementaryTypeName","src":"27952:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27951:17:115"},"returnParameters":{"id":66542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66543,"src":"27992:5:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66540,"name":"uint8","nodeType":"ElementaryTypeName","src":"27992:5:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"27991:7:115"},"scope":66638,"src":"27933:66:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66544,"nodeType":"StructuredDocumentation","src":"28003:155:115","text":"@notice Check if a navigator is in the exit process\n @param navigator The navigator address\n @return True if the navigator has announced exit"},"functionSelector":"33cc7534","id":66551,"implemented":false,"kind":"function","modifiers":[],"name":"isExiting","nameLocation":"28170:9:115","nodeType":"FunctionDefinition","parameters":{"id":66547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66546,"mutability":"mutable","name":"navigator","nameLocation":"28188:9:115","nodeType":"VariableDeclaration","scope":66551,"src":"28180:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66545,"name":"address","nodeType":"ElementaryTypeName","src":"28180:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28179:19:115"},"returnParameters":{"id":66550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66551,"src":"28222:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66548,"name":"bool","nodeType":"ElementaryTypeName","src":"28222:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28221:6:115"},"scope":66638,"src":"28161:67:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66552,"nodeType":"StructuredDocumentation","src":"28232:132:115","text":"@notice Check if a navigator has been deactivated\n @param navigator The navigator address\n @return True if deactivated"},"functionSelector":"a0d721b6","id":66559,"implemented":false,"kind":"function","modifiers":[],"name":"isDeactivated","nameLocation":"28376:13:115","nodeType":"FunctionDefinition","parameters":{"id":66555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66554,"mutability":"mutable","name":"navigator","nameLocation":"28398:9:115","nodeType":"VariableDeclaration","scope":66559,"src":"28390:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66553,"name":"address","nodeType":"ElementaryTypeName","src":"28390:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28389:19:115"},"returnParameters":{"id":66558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66559,"src":"28432:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66556,"name":"bool","nodeType":"ElementaryTypeName","src":"28432:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28431:6:115"},"scope":66638,"src":"28367:71:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66560,"nodeType":"StructuredDocumentation","src":"28442:325:115","text":"@notice Check if a navigator was deactivated (exited or governance-deactivated) at a given timepoint\n @dev Uses checkpointed navigatorDeactivated mapping.\n @param navigator The navigator address\n @param timepoint The block number to query\n @return True if the navigator was dead at the given timepoint"},"functionSelector":"53055e80","id":66569,"implemented":false,"kind":"function","modifiers":[],"name":"isDeactivatedAtTimepoint","nameLocation":"28779:24:115","nodeType":"FunctionDefinition","parameters":{"id":66565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66562,"mutability":"mutable","name":"navigator","nameLocation":"28812:9:115","nodeType":"VariableDeclaration","scope":66569,"src":"28804:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66561,"name":"address","nodeType":"ElementaryTypeName","src":"28804:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66564,"mutability":"mutable","name":"timepoint","nameLocation":"28831:9:115","nodeType":"VariableDeclaration","scope":66569,"src":"28823:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66563,"name":"uint256","nodeType":"ElementaryTypeName","src":"28823:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28803:38:115"},"returnParameters":{"id":66568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66569,"src":"28865:4:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66566,"name":"bool","nodeType":"ElementaryTypeName","src":"28865:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28864:6:115"},"scope":66638,"src":"28770:101:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66570,"nodeType":"StructuredDocumentation","src":"28875:173:115","text":"@notice Get the round when exit was announced (0 = not exiting)\n @param navigator The navigator address\n @return The exit-announced round ID (0 if not exiting)"},"functionSelector":"43028df4","id":66577,"implemented":false,"kind":"function","modifiers":[],"name":"exitAnnouncedRound","nameLocation":"29060:18:115","nodeType":"FunctionDefinition","parameters":{"id":66573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66572,"mutability":"mutable","name":"navigator","nameLocation":"29087:9:115","nodeType":"VariableDeclaration","scope":66577,"src":"29079:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66571,"name":"address","nodeType":"ElementaryTypeName","src":"29079:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29078:19:115"},"returnParameters":{"id":66576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66575,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66577,"src":"29121:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66574,"name":"uint256","nodeType":"ElementaryTypeName","src":"29121:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29120:9:115"},"scope":66638,"src":"29051:79:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66578,"nodeType":"StructuredDocumentation","src":"29134:82:115","text":"@notice Get the exit notice period (in rounds)\n @return The notice period"},"functionSelector":"0f5f9711","id":66583,"implemented":false,"kind":"function","modifiers":[],"name":"getExitNoticePeriod","nameLocation":"29228:19:115","nodeType":"FunctionDefinition","parameters":{"id":66579,"nodeType":"ParameterList","parameters":[],"src":"29247:2:115"},"returnParameters":{"id":66582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66581,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66583,"src":"29273:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66580,"name":"uint256","nodeType":"ElementaryTypeName","src":"29273:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29272:9:115"},"scope":66638,"src":"29219:63:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66584,"nodeType":"StructuredDocumentation","src":"29286:92:115","text":"@notice Get the report submission interval (in rounds)\n @return The report interval"},"functionSelector":"33d0e2e4","id":66589,"implemented":false,"kind":"function","modifiers":[],"name":"getReportInterval","nameLocation":"29390:17:115","nodeType":"FunctionDefinition","parameters":{"id":66585,"nodeType":"ParameterList","parameters":[],"src":"29407:2:115"},"returnParameters":{"id":66588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66589,"src":"29433:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66586,"name":"uint256","nodeType":"ElementaryTypeName","src":"29433:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29432:9:115"},"scope":66638,"src":"29381:61:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66590,"nodeType":"StructuredDocumentation","src":"29466:127:115","text":"@notice Get the navigator's metadata URI\n @param navigator The navigator address\n @return The metadata URI string"},"functionSelector":"0fcc3081","id":66597,"implemented":false,"kind":"function","modifiers":[],"name":"getMetadataURI","nameLocation":"29605:14:115","nodeType":"FunctionDefinition","parameters":{"id":66593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66592,"mutability":"mutable","name":"navigator","nameLocation":"29628:9:115","nodeType":"VariableDeclaration","scope":66597,"src":"29620:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66591,"name":"address","nodeType":"ElementaryTypeName","src":"29620:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29619:19:115"},"returnParameters":{"id":66596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66595,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66597,"src":"29662:13:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66594,"name":"string","nodeType":"ElementaryTypeName","src":"29662:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29661:15:115"},"scope":66638,"src":"29596:81:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66598,"nodeType":"StructuredDocumentation","src":"29681:158:115","text":"@notice Get the round of the navigator's last report submission\n @param navigator The navigator address\n @return The round ID of the last report"},"functionSelector":"38ac29a4","id":66605,"implemented":false,"kind":"function","modifiers":[],"name":"getLastReportRound","nameLocation":"29851:18:115","nodeType":"FunctionDefinition","parameters":{"id":66601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66600,"mutability":"mutable","name":"navigator","nameLocation":"29878:9:115","nodeType":"VariableDeclaration","scope":66605,"src":"29870:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66599,"name":"address","nodeType":"ElementaryTypeName","src":"29870:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29869:19:115"},"returnParameters":{"id":66604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66605,"src":"29912:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66602,"name":"uint256","nodeType":"ElementaryTypeName","src":"29912:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29911:9:115"},"scope":66638,"src":"29842:79:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66606,"nodeType":"StructuredDocumentation","src":"29925:128:115","text":"@notice Get the navigator's last report URI\n @param navigator The navigator address\n @return The report URI string"},"functionSelector":"32b20f34","id":66613,"implemented":false,"kind":"function","modifiers":[],"name":"getLastReportURI","nameLocation":"30065:16:115","nodeType":"FunctionDefinition","parameters":{"id":66609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66608,"mutability":"mutable","name":"navigator","nameLocation":"30090:9:115","nodeType":"VariableDeclaration","scope":66613,"src":"30082:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66607,"name":"address","nodeType":"ElementaryTypeName","src":"30082:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30081:19:115"},"returnParameters":{"id":66612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66613,"src":"30124:13:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66610,"name":"string","nodeType":"ElementaryTypeName","src":"30124:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30123:15:115"},"scope":66638,"src":"30056:83:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66614,"nodeType":"StructuredDocumentation","src":"30160:76:115","text":"@notice Get the contract version string\n @return The version string"},"functionSelector":"54fd4d50","id":66619,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"30248:7:115","nodeType":"FunctionDefinition","parameters":{"id":66615,"nodeType":"ParameterList","parameters":[],"src":"30255:2:115"},"returnParameters":{"id":66618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66617,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66619,"src":"30281:13:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66616,"name":"string","nodeType":"ElementaryTypeName","src":"30281:6:115","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30280:15:115"},"scope":66638,"src":"30239:57:115","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":66620,"nodeType":"StructuredDocumentation","src":"30300:82:115","text":"@notice Get the GOVERNANCE_ROLE identifier\n @return The role bytes32 hash"},"functionSelector":"f36c8f5c","id":66625,"implemented":false,"kind":"function","modifiers":[],"name":"GOVERNANCE_ROLE","nameLocation":"30394:15:115","nodeType":"FunctionDefinition","parameters":{"id":66621,"nodeType":"ParameterList","parameters":[],"src":"30409:2:115"},"returnParameters":{"id":66624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66623,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66625,"src":"30435:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30435:7:115","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"30434:9:115"},"scope":66638,"src":"30385:59:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66626,"nodeType":"StructuredDocumentation","src":"30448:80:115","text":"@notice Get the UPGRADER_ROLE identifier\n @return The role bytes32 hash"},"functionSelector":"f72c0d8b","id":66631,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADER_ROLE","nameLocation":"30540:13:115","nodeType":"FunctionDefinition","parameters":{"id":66627,"nodeType":"ParameterList","parameters":[],"src":"30553:2:115"},"returnParameters":{"id":66630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66631,"src":"30579:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66628,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30579:7:115","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"30578:9:115"},"scope":66638,"src":"30531:57:115","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66632,"nodeType":"StructuredDocumentation","src":"30592:86:115","text":"@notice Get the BASIS_POINTS constant (10000)\n @return The basis points scale"},"functionSelector":"e1f1c4a7","id":66637,"implemented":false,"kind":"function","modifiers":[],"name":"BASIS_POINTS","nameLocation":"30690:12:115","nodeType":"FunctionDefinition","parameters":{"id":66633,"nodeType":"ParameterList","parameters":[],"src":"30702:2:115"},"returnParameters":{"id":66636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66637,"src":"30728:7:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66634,"name":"uint256","nodeType":"ElementaryTypeName","src":"30728:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30727:9:115"},"scope":66638,"src":"30681:56:115","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":66639,"src":"245:30494:115","usedErrors":[65655,65662,65667,65674,65679,65684,65689,65696,65701,65706,65711,65720,65723,65730,65737,65742,65751,65758,65761,65766,65773,65778,65785,65792,65799,65808,65815,65820,65827,65834,65839,65844,65849,65854,65861,65866,65871,65876,65881,65888,65893,65900,65907,65910],"usedEvents":[65919,65928,65937,65946,65957,65968,65977,65987,65996,66005,66014,66027,66038,66047,66054,66061,66070]}],"src":"32:30708:115"},"id":115},"contracts/interfaces/IRelayerRewardsPool.sol":{"ast":{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","exportedSymbols":{"IRelayerRewardsPool":[67117],"RelayerAction":[66644]},"id":67118,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":66640,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:116"},{"canonicalName":"RelayerAction","documentation":{"id":66641,"nodeType":"StructuredDocumentation","src":"1220:62:116","text":" @notice Enum for different types of relayer actions"},"id":66644,"members":[{"id":66642,"name":"VOTE","nameLocation":"1306:4:116","nodeType":"EnumValue","src":"1306:4:116"},{"id":66643,"name":"CLAIM","nameLocation":"1350:5:116","nodeType":"EnumValue","src":"1350:5:116"}],"name":"RelayerAction","nameLocation":"1288:13:116","nodeType":"EnumDefinition","src":"1283:104:116"},{"abstract":false,"baseContracts":[],"canonicalName":"IRelayerRewardsPool","contractDependencies":[],"contractKind":"interface","documentation":{"id":66645,"nodeType":"StructuredDocumentation","src":"1389:206:116","text":" @title IRelayerRewardsPool\n @author VeBetterDAO\n @notice Interface for the RelayerRewardsPool contract that manages rewards for relayers\n who perform auto-voting actions on behalf of users."},"fullyImplemented":false,"id":67117,"linearizedBaseContracts":[67117],"name":"IRelayerRewardsPool","nameLocation":"1606:19:116","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":66646,"nodeType":"StructuredDocumentation","src":"1699:390:116","text":" @notice Emitted when early access vote allocations are set for a round\n @param roundId The round ID\n @param totalAutoVoteUsers The total number of auto-voting users\n @param totalActions The total number of actions to be allocated\n @param totalWeightedActions The total weighted actions to be allocated\n @param numRelayers The number of registered relayers"},"eventSelector":"0cfbd04f27dfdd7116e3d63de583a7cc8a337032164396bb6d7cac1deffbe415","id":66658,"name":"TotalAutoVotingActionsSet","nameLocation":"2098:25:116","nodeType":"EventDefinition","parameters":{"id":66657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66648,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"2145:7:116","nodeType":"VariableDeclaration","scope":66658,"src":"2129:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66647,"name":"uint256","nodeType":"ElementaryTypeName","src":"2129:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66650,"indexed":false,"mutability":"mutable","name":"totalAutoVoteUsers","nameLocation":"2166:18:116","nodeType":"VariableDeclaration","scope":66658,"src":"2158:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66649,"name":"uint256","nodeType":"ElementaryTypeName","src":"2158:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66652,"indexed":false,"mutability":"mutable","name":"totalActions","nameLocation":"2198:12:116","nodeType":"VariableDeclaration","scope":66658,"src":"2190:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66651,"name":"uint256","nodeType":"ElementaryTypeName","src":"2190:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66654,"indexed":false,"mutability":"mutable","name":"totalWeightedActions","nameLocation":"2224:20:116","nodeType":"VariableDeclaration","scope":66658,"src":"2216:28:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66653,"name":"uint256","nodeType":"ElementaryTypeName","src":"2216:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66656,"indexed":false,"mutability":"mutable","name":"numRelayers","nameLocation":"2258:11:116","nodeType":"VariableDeclaration","scope":66658,"src":"2250:19:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66655,"name":"uint256","nodeType":"ElementaryTypeName","src":"2250:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2123:150:116"},"src":"2092:182:116"},{"anonymous":false,"documentation":{"id":66659,"nodeType":"StructuredDocumentation","src":"2278:340:116","text":" @notice Emitted when expected actions are reduced for a round\n @param roundId The round ID\n @param actionsReduced Number of plain actions removed from the round totals in this update\n @param newTotalActions The new total actions required\n @param newTotalWeightedActions The new total weighted actions required"},"eventSelector":"dc97cd873d9883808c7cbb3b9fdd91ec6437deb4377e651606aff5aaa7be0837","id":66669,"name":"ExpectedActionsReduced","nameLocation":"2627:22:116","nodeType":"EventDefinition","parameters":{"id":66668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66661,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"2671:7:116","nodeType":"VariableDeclaration","scope":66669,"src":"2655:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66660,"name":"uint256","nodeType":"ElementaryTypeName","src":"2655:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66663,"indexed":false,"mutability":"mutable","name":"actionsReduced","nameLocation":"2692:14:116","nodeType":"VariableDeclaration","scope":66669,"src":"2684:22:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66662,"name":"uint256","nodeType":"ElementaryTypeName","src":"2684:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66665,"indexed":false,"mutability":"mutable","name":"newTotalActions","nameLocation":"2720:15:116","nodeType":"VariableDeclaration","scope":66669,"src":"2712:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66664,"name":"uint256","nodeType":"ElementaryTypeName","src":"2712:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66667,"indexed":false,"mutability":"mutable","name":"newTotalWeightedActions","nameLocation":"2749:23:116","nodeType":"VariableDeclaration","scope":66669,"src":"2741:31:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66666,"name":"uint256","nodeType":"ElementaryTypeName","src":"2741:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2649:127:116"},"src":"2621:156:116"},{"anonymous":false,"documentation":{"id":66670,"nodeType":"StructuredDocumentation","src":"2781:286:116","text":" @notice Emitted when a relayer action is registered\n @param relayer The relayer address\n @param voter The voter address\n @param roundId The round ID\n @param actionCount The new total action count for the relayer\n @param weight The weight of the action"},"eventSelector":"8ba2985939970b62349519dc163ea364f1724ad045a94aa004922836e951700d","id":66682,"name":"RelayerActionRegistered","nameLocation":"3076:23:116","nodeType":"EventDefinition","parameters":{"id":66681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66672,"indexed":true,"mutability":"mutable","name":"relayer","nameLocation":"3121:7:116","nodeType":"VariableDeclaration","scope":66682,"src":"3105:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66671,"name":"address","nodeType":"ElementaryTypeName","src":"3105:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66674,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"3150:5:116","nodeType":"VariableDeclaration","scope":66682,"src":"3134:21:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66673,"name":"address","nodeType":"ElementaryTypeName","src":"3134:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66676,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"3177:7:116","nodeType":"VariableDeclaration","scope":66682,"src":"3161:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66675,"name":"uint256","nodeType":"ElementaryTypeName","src":"3161:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66678,"indexed":false,"mutability":"mutable","name":"actionCount","nameLocation":"3198:11:116","nodeType":"VariableDeclaration","scope":66682,"src":"3190:19:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66677,"name":"uint256","nodeType":"ElementaryTypeName","src":"3190:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66680,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"3223:6:116","nodeType":"VariableDeclaration","scope":66682,"src":"3215:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66679,"name":"uint256","nodeType":"ElementaryTypeName","src":"3215:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3099:134:116"},"src":"3070:164:116"},{"anonymous":false,"documentation":{"id":66683,"nodeType":"StructuredDocumentation","src":"3238:203:116","text":" @notice Emitted when rewards are deposited for a round\n @param roundId The round ID\n @param amount The amount deposited\n @param totalRewards The new total rewards for the round"},"eventSelector":"c47834cdb0191cfa2b90f6ae336198ff404f06226170200c57ab15ade0510ae6","id":66691,"name":"RewardsDeposited","nameLocation":"3450:16:116","nodeType":"EventDefinition","parameters":{"id":66690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66685,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"3483:7:116","nodeType":"VariableDeclaration","scope":66691,"src":"3467:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66684,"name":"uint256","nodeType":"ElementaryTypeName","src":"3467:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66687,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"3500:6:116","nodeType":"VariableDeclaration","scope":66691,"src":"3492:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66686,"name":"uint256","nodeType":"ElementaryTypeName","src":"3492:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66689,"indexed":false,"mutability":"mutable","name":"totalRewards","nameLocation":"3516:12:116","nodeType":"VariableDeclaration","scope":66691,"src":"3508:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66688,"name":"uint256","nodeType":"ElementaryTypeName","src":"3508:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3466:63:116"},"src":"3444:86:116"},{"anonymous":false,"documentation":{"id":66692,"nodeType":"StructuredDocumentation","src":"3534:171:116","text":" @notice Emitted when a relayer claims rewards\n @param relayer The relayer address\n @param roundId The round ID\n @param amount The amount claimed"},"eventSelector":"930b7d519086654efd667eab36b878a04585f80f21637ea555a4317bdc531973","id":66700,"name":"RelayerRewardsClaimed","nameLocation":"3714:21:116","nodeType":"EventDefinition","parameters":{"id":66699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66694,"indexed":true,"mutability":"mutable","name":"relayer","nameLocation":"3752:7:116","nodeType":"VariableDeclaration","scope":66700,"src":"3736:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66693,"name":"address","nodeType":"ElementaryTypeName","src":"3736:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66696,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"3777:7:116","nodeType":"VariableDeclaration","scope":66700,"src":"3761:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66695,"name":"uint256","nodeType":"ElementaryTypeName","src":"3761:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66698,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"3794:6:116","nodeType":"VariableDeclaration","scope":66700,"src":"3786:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66697,"name":"uint256","nodeType":"ElementaryTypeName","src":"3786:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3735:66:116"},"src":"3708:94:116"},{"anonymous":false,"documentation":{"id":66701,"nodeType":"StructuredDocumentation","src":"3806:142:116","text":" @notice Emitted when vote weight is updated\n @param newWeight The new vote weight\n @param oldWeight The old vote weight"},"eventSelector":"c6d810f6c3aa465110416db0d540c72fcfe818503d1580fd90df38a482f81af8","id":66707,"name":"VoteWeightUpdated","nameLocation":"3957:17:116","nodeType":"EventDefinition","parameters":{"id":66706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66703,"indexed":false,"mutability":"mutable","name":"newWeight","nameLocation":"3983:9:116","nodeType":"VariableDeclaration","scope":66707,"src":"3975:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66702,"name":"uint256","nodeType":"ElementaryTypeName","src":"3975:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66705,"indexed":false,"mutability":"mutable","name":"oldWeight","nameLocation":"4002:9:116","nodeType":"VariableDeclaration","scope":66707,"src":"3994:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66704,"name":"uint256","nodeType":"ElementaryTypeName","src":"3994:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3974:38:116"},"src":"3951:62:116"},{"anonymous":false,"documentation":{"id":66708,"nodeType":"StructuredDocumentation","src":"4017:145:116","text":" @notice Emitted when claim weight is updated\n @param newWeight The new claim weight\n @param oldWeight The old claim weight"},"eventSelector":"ac463d979acc1ce3fe80c999b5375a1630b37589687e2a327a1d659787696c6e","id":66714,"name":"ClaimWeightUpdated","nameLocation":"4171:18:116","nodeType":"EventDefinition","parameters":{"id":66713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66710,"indexed":false,"mutability":"mutable","name":"newWeight","nameLocation":"4198:9:116","nodeType":"VariableDeclaration","scope":66714,"src":"4190:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66709,"name":"uint256","nodeType":"ElementaryTypeName","src":"4190:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66712,"indexed":false,"mutability":"mutable","name":"oldWeight","nameLocation":"4217:9:116","nodeType":"VariableDeclaration","scope":66714,"src":"4209:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66711,"name":"uint256","nodeType":"ElementaryTypeName","src":"4209:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4189:38:116"},"src":"4165:63:116"},{"anonymous":false,"documentation":{"id":66715,"nodeType":"StructuredDocumentation","src":"4232:169:116","text":" @notice Emitted when relayer fee percentage is updated\n @param newFee The new relayer fee percentage\n @param oldFee The old relayer fee percentage"},"eventSelector":"27af4d4dc613005fec6b04e77e25da6e4959b86d30ed1919104596e9211198ee","id":66721,"name":"RelayerFeePercentageUpdated","nameLocation":"4410:27:116","nodeType":"EventDefinition","parameters":{"id":66720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66717,"indexed":false,"mutability":"mutable","name":"newFee","nameLocation":"4446:6:116","nodeType":"VariableDeclaration","scope":66721,"src":"4438:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66716,"name":"uint256","nodeType":"ElementaryTypeName","src":"4438:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66719,"indexed":false,"mutability":"mutable","name":"oldFee","nameLocation":"4462:6:116","nodeType":"VariableDeclaration","scope":66721,"src":"4454:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66718,"name":"uint256","nodeType":"ElementaryTypeName","src":"4454:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4437:32:116"},"src":"4404:66:116"},{"anonymous":false,"documentation":{"id":66722,"nodeType":"StructuredDocumentation","src":"4474:124:116","text":" @notice Emitted when fee cap is updated\n @param newFee The new fee cap\n @param oldFee The old fee cap"},"eventSelector":"3fbd83025056799b6fe5bc1a011ec202bfc22364cb9adb116bb3c71cf47990a6","id":66728,"name":"FeeCapUpdated","nameLocation":"4607:13:116","nodeType":"EventDefinition","parameters":{"id":66727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66724,"indexed":false,"mutability":"mutable","name":"newFee","nameLocation":"4629:6:116","nodeType":"VariableDeclaration","scope":66728,"src":"4621:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66723,"name":"uint256","nodeType":"ElementaryTypeName","src":"4621:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66726,"indexed":false,"mutability":"mutable","name":"oldFee","nameLocation":"4645:6:116","nodeType":"VariableDeclaration","scope":66728,"src":"4637:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66725,"name":"uint256","nodeType":"ElementaryTypeName","src":"4637:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4620:32:116"},"src":"4601:52:116"},{"anonymous":false,"documentation":{"id":66729,"nodeType":"StructuredDocumentation","src":"4657:188:116","text":" @notice Emitted when relayer fee denominator is updated\n @param newDenominator The new relayer fee denominator\n @param oldDenominator The old relayer fee denominator"},"eventSelector":"9e1a0a1bebf6adfae16d1d3786df0b65ff4af6055dbefbc87da9529a239b9bf7","id":66735,"name":"RelayerFeeDenominatorUpdated","nameLocation":"4854:28:116","nodeType":"EventDefinition","parameters":{"id":66734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66731,"indexed":false,"mutability":"mutable","name":"newDenominator","nameLocation":"4891:14:116","nodeType":"VariableDeclaration","scope":66735,"src":"4883:22:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66730,"name":"uint256","nodeType":"ElementaryTypeName","src":"4883:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66733,"indexed":false,"mutability":"mutable","name":"oldDenominator","nameLocation":"4915:14:116","nodeType":"VariableDeclaration","scope":66735,"src":"4907:22:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66732,"name":"uint256","nodeType":"ElementaryTypeName","src":"4907:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4882:48:116"},"src":"4848:83:116"},{"anonymous":false,"documentation":{"id":66736,"nodeType":"StructuredDocumentation","src":"4935:117:116","text":" @notice Emitted when a relayer is registered\n @param relayer The address of the registered relayer"},"eventSelector":"c3b80e866c8bfbccbded69771f510856bb44660d40a0b760d9f0781728543e4e","id":66740,"name":"RelayerRegistered","nameLocation":"5061:17:116","nodeType":"EventDefinition","parameters":{"id":66739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66738,"indexed":true,"mutability":"mutable","name":"relayer","nameLocation":"5095:7:116","nodeType":"VariableDeclaration","scope":66740,"src":"5079:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66737,"name":"address","nodeType":"ElementaryTypeName","src":"5079:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5078:25:116"},"src":"5055:49:116"},{"anonymous":false,"documentation":{"id":66741,"nodeType":"StructuredDocumentation","src":"5108:121:116","text":" @notice Emitted when a relayer is unregistered\n @param relayer The address of the unregistered relayer"},"eventSelector":"490a66cc56c789979052c7052fc0c10a6c4627d8e6165caec80db97a4c383521","id":66745,"name":"RelayerUnregistered","nameLocation":"5238:19:116","nodeType":"EventDefinition","parameters":{"id":66744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66743,"indexed":true,"mutability":"mutable","name":"relayer","nameLocation":"5274:7:116","nodeType":"VariableDeclaration","scope":66745,"src":"5258:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66742,"name":"address","nodeType":"ElementaryTypeName","src":"5258:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5257:25:116"},"src":"5232:51:116"},{"anonymous":false,"documentation":{"id":66746,"nodeType":"StructuredDocumentation","src":"5287:196:116","text":" @notice Emitted when a user updates their preferred relayer\n @param user The user updating the preference\n @param relayer The preferred relayer, or zero address when cleared"},"eventSelector":"559697bf1386234c571f4d273988a5c0ddee76b32311191c33a667e4936f9ad6","id":66752,"name":"PreferredRelayerSet","nameLocation":"5492:19:116","nodeType":"EventDefinition","parameters":{"id":66751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66748,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"5528:4:116","nodeType":"VariableDeclaration","scope":66752,"src":"5512:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66747,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66750,"indexed":true,"mutability":"mutable","name":"relayer","nameLocation":"5550:7:116","nodeType":"VariableDeclaration","scope":66752,"src":"5534:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66749,"name":"address","nodeType":"ElementaryTypeName","src":"5534:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5511:47:116"},"src":"5486:73:116"},{"anonymous":false,"documentation":{"id":66753,"nodeType":"StructuredDocumentation","src":"5563:187:116","text":" @notice Emitted when early access blocks are updated\n @param newBlocks The new number of early access blocks\n @param oldBlocks The old number of early access blocks"},"eventSelector":"9f49ab705704ba5579e12282116057bb42856ad21fc913b1786bf1effc722b8d","id":66759,"name":"EarlyAccessBlocksUpdated","nameLocation":"5759:24:116","nodeType":"EventDefinition","parameters":{"id":66758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66755,"indexed":false,"mutability":"mutable","name":"newBlocks","nameLocation":"5792:9:116","nodeType":"VariableDeclaration","scope":66759,"src":"5784:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66754,"name":"uint256","nodeType":"ElementaryTypeName","src":"5784:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66757,"indexed":false,"mutability":"mutable","name":"oldBlocks","nameLocation":"5811:9:116","nodeType":"VariableDeclaration","scope":66759,"src":"5803:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66756,"name":"uint256","nodeType":"ElementaryTypeName","src":"5803:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5783:38:116"},"src":"5753:69:116"},{"anonymous":false,"documentation":{"id":66760,"nodeType":"StructuredDocumentation","src":"5826:178:116","text":" @notice Emitted when the B3TR contract address is updated\n @param newAddress The new B3TR contract address\n @param oldAddress The old B3TR contract address"},"eventSelector":"b3061a8192d243178b0fd92d1809bc86c3fa3b177c046cf74974c45c32cd25e0","id":66766,"name":"B3TRAddressUpdated","nameLocation":"6013:18:116","nodeType":"EventDefinition","parameters":{"id":66765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66762,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"6048:10:116","nodeType":"VariableDeclaration","scope":66766,"src":"6032:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66761,"name":"address","nodeType":"ElementaryTypeName","src":"6032:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66764,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"6076:10:116","nodeType":"VariableDeclaration","scope":66766,"src":"6060:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66763,"name":"address","nodeType":"ElementaryTypeName","src":"6060:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6031:56:116"},"src":"6007:81:116"},{"anonymous":false,"documentation":{"id":66767,"nodeType":"StructuredDocumentation","src":"6092:193:116","text":" @notice Emitted when the Emissions contract address is updated\n @param newAddress The new Emissions contract address\n @param oldAddress The old Emissions contract address"},"eventSelector":"ee0bb99897b3f409686cb6e56601a38cea38e9e00d9b28752b3be7b28ea8b0ad","id":66773,"name":"EmissionsAddressUpdated","nameLocation":"6294:23:116","nodeType":"EventDefinition","parameters":{"id":66772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66769,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"6334:10:116","nodeType":"VariableDeclaration","scope":66773,"src":"6318:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66768,"name":"address","nodeType":"ElementaryTypeName","src":"6318:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66771,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"6362:10:116","nodeType":"VariableDeclaration","scope":66773,"src":"6346:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66770,"name":"address","nodeType":"ElementaryTypeName","src":"6346:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6317:56:116"},"src":"6288:86:116"},{"anonymous":false,"documentation":{"id":66774,"nodeType":"StructuredDocumentation","src":"6378:217:116","text":" @notice Emitted when the XAllocationVoting contract address is updated\n @param newAddress The new XAllocationVoting contract address\n @param oldAddress The old XAllocationVoting contract address"},"eventSelector":"897acaec25783ce4cf8ff29c16715e089a40d285e2e5d6fcf567af00f4714259","id":66780,"name":"XAllocationVotingAddressUpdated","nameLocation":"6604:31:116","nodeType":"EventDefinition","parameters":{"id":66779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66776,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"6652:10:116","nodeType":"VariableDeclaration","scope":66780,"src":"6636:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66775,"name":"address","nodeType":"ElementaryTypeName","src":"6636:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66778,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"6680:10:116","nodeType":"VariableDeclaration","scope":66780,"src":"6664:26:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66777,"name":"address","nodeType":"ElementaryTypeName","src":"6664:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6635:56:116"},"src":"6598:94:116"},{"documentation":{"id":66781,"nodeType":"StructuredDocumentation","src":"6772:63:116","text":"@notice Custom error for when relayer is already registered"},"errorSelector":"4df9fbcf","id":66785,"name":"RelayerAlreadyRegistered","nameLocation":"6844:24:116","nodeType":"ErrorDefinition","parameters":{"id":66784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66783,"mutability":"mutable","name":"relayer","nameLocation":"6877:7:116","nodeType":"VariableDeclaration","scope":66785,"src":"6869:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66782,"name":"address","nodeType":"ElementaryTypeName","src":"6869:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6868:17:116"},"src":"6838:48:116"},{"documentation":{"id":66786,"nodeType":"StructuredDocumentation","src":"6890:59:116","text":"@notice Custom error for when relayer is not registered"},"errorSelector":"9c65ac48","id":66790,"name":"RelayerNotRegistered","nameLocation":"6958:20:116","nodeType":"ErrorDefinition","parameters":{"id":66789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66788,"mutability":"mutable","name":"relayer","nameLocation":"6987:7:116","nodeType":"VariableDeclaration","scope":66790,"src":"6979:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66787,"name":"address","nodeType":"ElementaryTypeName","src":"6979:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6978:17:116"},"src":"6952:44:116"},{"documentation":{"id":66791,"nodeType":"StructuredDocumentation","src":"7000:87:116","text":"@notice Custom error for when caller is not the relayer (self-unregister) nor admin"},"errorSelector":"0a3dad88","id":66797,"name":"UnauthorizedUnregister","nameLocation":"7096:22:116","nodeType":"ErrorDefinition","parameters":{"id":66796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66793,"mutability":"mutable","name":"caller","nameLocation":"7127:6:116","nodeType":"VariableDeclaration","scope":66797,"src":"7119:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66792,"name":"address","nodeType":"ElementaryTypeName","src":"7119:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66795,"mutability":"mutable","name":"relayer","nameLocation":"7143:7:116","nodeType":"VariableDeclaration","scope":66797,"src":"7135:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66794,"name":"address","nodeType":"ElementaryTypeName","src":"7135:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7118:33:116"},"src":"7090:62:116"},{"documentation":{"id":66798,"nodeType":"StructuredDocumentation","src":"7156:59:116","text":"@notice Custom error for when a round has not ended yet"},"errorSelector":"652d87c5","id":66802,"name":"RoundNotEnded","nameLocation":"7224:13:116","nodeType":"ErrorDefinition","parameters":{"id":66801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66800,"mutability":"mutable","name":"roundId","nameLocation":"7246:7:116","nodeType":"VariableDeclaration","scope":66802,"src":"7238:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66799,"name":"uint256","nodeType":"ElementaryTypeName","src":"7238:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7237:17:116"},"src":"7218:37:116"},{"documentation":{"id":66803,"nodeType":"StructuredDocumentation","src":"7259:63:116","text":"@notice Custom error for when trying to claim rewards twice"},"errorSelector":"ae19b577","id":66809,"name":"RewardsAlreadyClaimed","nameLocation":"7331:21:116","nodeType":"ErrorDefinition","parameters":{"id":66808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66805,"mutability":"mutable","name":"relayer","nameLocation":"7361:7:116","nodeType":"VariableDeclaration","scope":66809,"src":"7353:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66804,"name":"address","nodeType":"ElementaryTypeName","src":"7353:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66807,"mutability":"mutable","name":"roundId","nameLocation":"7378:7:116","nodeType":"VariableDeclaration","scope":66809,"src":"7370:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66806,"name":"uint256","nodeType":"ElementaryTypeName","src":"7370:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7352:34:116"},"src":"7325:62:116"},{"documentation":{"id":66810,"nodeType":"StructuredDocumentation","src":"7391:63:116","text":"@notice Custom error for when there are no rewards to claim"},"errorSelector":"4c8463db","id":66816,"name":"NoRewardsToClaim","nameLocation":"7463:16:116","nodeType":"ErrorDefinition","parameters":{"id":66815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66812,"mutability":"mutable","name":"relayer","nameLocation":"7488:7:116","nodeType":"VariableDeclaration","scope":66816,"src":"7480:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66811,"name":"address","nodeType":"ElementaryTypeName","src":"7480:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66814,"mutability":"mutable","name":"roundId","nameLocation":"7505:7:116","nodeType":"VariableDeclaration","scope":66816,"src":"7497:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66813,"name":"uint256","nodeType":"ElementaryTypeName","src":"7497:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7479:34:116"},"src":"7457:57:116"},{"documentation":{"id":66817,"nodeType":"StructuredDocumentation","src":"7518:48:116","text":"@notice Custom error for when transfer fails"},"errorSelector":"90b8ec18","id":66819,"name":"TransferFailed","nameLocation":"7575:14:116","nodeType":"ErrorDefinition","parameters":{"id":66818,"nodeType":"ParameterList","parameters":[],"src":"7589:2:116"},"src":"7569:23:116"},{"documentation":{"id":66820,"nodeType":"StructuredDocumentation","src":"7596:47:116","text":"@notice Custom error for invalid parameters"},"errorSelector":"aa33ade0","id":66824,"name":"InvalidParameter","nameLocation":"7652:16:116","nodeType":"ErrorDefinition","parameters":{"id":66823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66822,"mutability":"mutable","name":"parameter","nameLocation":"7676:9:116","nodeType":"VariableDeclaration","scope":66824,"src":"7669:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66821,"name":"string","nodeType":"ElementaryTypeName","src":"7669:6:116","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7668:18:116"},"src":"7646:41:116"},{"documentation":{"id":66825,"nodeType":"StructuredDocumentation","src":"7691:76:116","text":"@notice Custom error for when caller is not the user's preferred relayer"},"errorSelector":"c310a0be","id":66831,"name":"NotPreferredRelayer","nameLocation":"7776:19:116","nodeType":"ErrorDefinition","parameters":{"id":66830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66827,"mutability":"mutable","name":"caller","nameLocation":"7804:6:116","nodeType":"VariableDeclaration","scope":66831,"src":"7796:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66826,"name":"address","nodeType":"ElementaryTypeName","src":"7796:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66829,"mutability":"mutable","name":"preferredRelayer","nameLocation":"7820:16:116","nodeType":"VariableDeclaration","scope":66831,"src":"7812:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66828,"name":"address","nodeType":"ElementaryTypeName","src":"7812:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7795:42:116"},"src":"7770:68:116"},{"documentation":{"id":66832,"nodeType":"StructuredDocumentation","src":"7842:78:116","text":"@notice The user's allocation vote has already been reduced for this round"},"errorSelector":"87988dc2","id":66838,"name":"UserActionAlreadyReduced","nameLocation":"7929:24:116","nodeType":"ErrorDefinition","parameters":{"id":66837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66834,"mutability":"mutable","name":"user","nameLocation":"7962:4:116","nodeType":"VariableDeclaration","scope":66838,"src":"7954:12:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66833,"name":"address","nodeType":"ElementaryTypeName","src":"7954:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66836,"mutability":"mutable","name":"roundId","nameLocation":"7976:7:116","nodeType":"VariableDeclaration","scope":66838,"src":"7968:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66835,"name":"uint256","nodeType":"ElementaryTypeName","src":"7968:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7953:31:116"},"src":"7923:62:116"},{"documentation":{"id":66839,"nodeType":"StructuredDocumentation","src":"7989:87:116","text":"@notice The user's governance vote has already been reduced for this round/proposal"},"errorSelector":"27545eee","id":66847,"name":"UserGovernanceVoteAlreadyReduced","nameLocation":"8085:32:116","nodeType":"ErrorDefinition","parameters":{"id":66846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66841,"mutability":"mutable","name":"user","nameLocation":"8126:4:116","nodeType":"VariableDeclaration","scope":66847,"src":"8118:12:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66840,"name":"address","nodeType":"ElementaryTypeName","src":"8118:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66843,"mutability":"mutable","name":"roundId","nameLocation":"8140:7:116","nodeType":"VariableDeclaration","scope":66847,"src":"8132:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66842,"name":"uint256","nodeType":"ElementaryTypeName","src":"8132:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66845,"mutability":"mutable","name":"proposalId","nameLocation":"8157:10:116","nodeType":"VariableDeclaration","scope":66847,"src":"8149:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66844,"name":"uint256","nodeType":"ElementaryTypeName","src":"8149:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8117:51:116"},"src":"8079:90:116"},{"documentation":{"id":66848,"nodeType":"StructuredDocumentation","src":"8243:194:116","text":" @notice Returns the total rewards available for distribution among relayers in a round\n @param roundId The round ID to check\n @return The total reward amount for the round"},"functionSelector":"552164ee","id":66855,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalRewards","nameLocation":"8449:15:116","nodeType":"FunctionDefinition","parameters":{"id":66851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66850,"mutability":"mutable","name":"roundId","nameLocation":"8473:7:116","nodeType":"VariableDeclaration","scope":66855,"src":"8465:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66849,"name":"uint256","nodeType":"ElementaryTypeName","src":"8465:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8464:17:116"},"returnParameters":{"id":66854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66855,"src":"8505:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66852,"name":"uint256","nodeType":"ElementaryTypeName","src":"8505:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8504:9:116"},"scope":67117,"src":"8440:74:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66856,"nodeType":"StructuredDocumentation","src":"8518:177:116","text":" @notice Checks if rewards are claimable for a specific round\n @param roundId The round ID to check\n @return True if rewards are claimable, false otherwise"},"functionSelector":"3d009cee","id":66863,"implemented":false,"kind":"function","modifiers":[],"name":"isRewardClaimable","nameLocation":"8707:17:116","nodeType":"FunctionDefinition","parameters":{"id":66859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66858,"mutability":"mutable","name":"roundId","nameLocation":"8733:7:116","nodeType":"VariableDeclaration","scope":66863,"src":"8725:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66857,"name":"uint256","nodeType":"ElementaryTypeName","src":"8725:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8724:17:116"},"returnParameters":{"id":66862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66861,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66863,"src":"8765:4:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66860,"name":"bool","nodeType":"ElementaryTypeName","src":"8765:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8764:6:116"},"scope":67117,"src":"8698:73:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66864,"nodeType":"StructuredDocumentation","src":"8775:228:116","text":" @notice Returns the number of actions performed by a relayer in a specific round\n @param relayer The relayer address\n @param roundId The round ID\n @return The number of actions performed by the relayer"},"functionSelector":"241f9e2b","id":66873,"implemented":false,"kind":"function","modifiers":[],"name":"totalRelayerActions","nameLocation":"9015:19:116","nodeType":"FunctionDefinition","parameters":{"id":66869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66866,"mutability":"mutable","name":"relayer","nameLocation":"9043:7:116","nodeType":"VariableDeclaration","scope":66873,"src":"9035:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66865,"name":"address","nodeType":"ElementaryTypeName","src":"9035:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66868,"mutability":"mutable","name":"roundId","nameLocation":"9060:7:116","nodeType":"VariableDeclaration","scope":66873,"src":"9052:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66867,"name":"uint256","nodeType":"ElementaryTypeName","src":"9052:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9034:34:116"},"returnParameters":{"id":66872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66873,"src":"9092:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66870,"name":"uint256","nodeType":"ElementaryTypeName","src":"9092:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9091:9:116"},"scope":67117,"src":"9006:95:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66874,"nodeType":"StructuredDocumentation","src":"9105:332:116","text":" @notice Returns the total number of actions required for a round\n @dev There are 2 actions for auto-voting: cast vote on behalf and claim rewards for them\n So, each user who enables auto-voting requires 2 actions\n @param roundId The round ID\n @return The total number of actions required for the round"},"functionSelector":"85530201","id":66881,"implemented":false,"kind":"function","modifiers":[],"name":"totalActions","nameLocation":"9449:12:116","nodeType":"FunctionDefinition","parameters":{"id":66877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66876,"mutability":"mutable","name":"roundId","nameLocation":"9470:7:116","nodeType":"VariableDeclaration","scope":66881,"src":"9462:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66875,"name":"uint256","nodeType":"ElementaryTypeName","src":"9462:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9461:17:116"},"returnParameters":{"id":66880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66879,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66881,"src":"9502:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66878,"name":"uint256","nodeType":"ElementaryTypeName","src":"9502:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9501:9:116"},"scope":67117,"src":"9440:71:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66882,"nodeType":"StructuredDocumentation","src":"9515:111:116","text":" @notice Get the current relayer fee denominator\n @return The current relayer fee denominator"},"functionSelector":"7f5e98bd","id":66887,"implemented":false,"kind":"function","modifiers":[],"name":"getRelayerFeeDenominator","nameLocation":"9638:24:116","nodeType":"FunctionDefinition","parameters":{"id":66883,"nodeType":"ParameterList","parameters":[],"src":"9662:2:116"},"returnParameters":{"id":66886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66887,"src":"9688:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66884,"name":"uint256","nodeType":"ElementaryTypeName","src":"9688:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9687:9:116"},"scope":67117,"src":"9629:68:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66888,"nodeType":"StructuredDocumentation","src":"9701:109:116","text":" @notice Get the current relayer fee percentage\n @return The current relayer fee percentage"},"functionSelector":"b7fe075a","id":66893,"implemented":false,"kind":"function","modifiers":[],"name":"getRelayerFeePercentage","nameLocation":"9822:23:116","nodeType":"FunctionDefinition","parameters":{"id":66889,"nodeType":"ParameterList","parameters":[],"src":"9845:2:116"},"returnParameters":{"id":66892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66891,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66893,"src":"9871:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66890,"name":"uint256","nodeType":"ElementaryTypeName","src":"9871:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9870:9:116"},"scope":67117,"src":"9813:67:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66894,"nodeType":"StructuredDocumentation","src":"9884:79:116","text":" @notice Get the current fee cap\n @return The current fee cap"},"functionSelector":"36a7c134","id":66899,"implemented":false,"kind":"function","modifiers":[],"name":"getFeeCap","nameLocation":"9975:9:116","nodeType":"FunctionDefinition","parameters":{"id":66895,"nodeType":"ParameterList","parameters":[],"src":"9984:2:116"},"returnParameters":{"id":66898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66899,"src":"10010:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66896,"name":"uint256","nodeType":"ElementaryTypeName","src":"10010:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10009:9:116"},"scope":67117,"src":"9966:53:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66900,"nodeType":"StructuredDocumentation","src":"10023:87:116","text":" @notice Get the current vote weight\n @return The current vote weight"},"functionSelector":"d428cffc","id":66905,"implemented":false,"kind":"function","modifiers":[],"name":"getVoteWeight","nameLocation":"10122:13:116","nodeType":"FunctionDefinition","parameters":{"id":66901,"nodeType":"ParameterList","parameters":[],"src":"10135:2:116"},"returnParameters":{"id":66904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66903,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66905,"src":"10161:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66902,"name":"uint256","nodeType":"ElementaryTypeName","src":"10161:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10160:9:116"},"scope":67117,"src":"10113:57:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66906,"nodeType":"StructuredDocumentation","src":"10174:89:116","text":" @notice Get the current claim weight\n @return The current claim weight"},"functionSelector":"be9412df","id":66911,"implemented":false,"kind":"function","modifiers":[],"name":"getClaimWeight","nameLocation":"10275:14:116","nodeType":"FunctionDefinition","parameters":{"id":66907,"nodeType":"ParameterList","parameters":[],"src":"10289:2:116"},"returnParameters":{"id":66910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66911,"src":"10315:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66908,"name":"uint256","nodeType":"ElementaryTypeName","src":"10315:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10314:9:116"},"scope":67117,"src":"10266:58:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66912,"nodeType":"StructuredDocumentation","src":"10328:238:116","text":" @notice Returns the total weighted actions performed by a relayer in a specific round\n @param relayer The relayer address\n @param roundId The round ID\n @return The total weighted actions performed by the relayer"},"functionSelector":"9858b78a","id":66921,"implemented":false,"kind":"function","modifiers":[],"name":"totalRelayerWeightedActions","nameLocation":"10578:27:116","nodeType":"FunctionDefinition","parameters":{"id":66917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66914,"mutability":"mutable","name":"relayer","nameLocation":"10614:7:116","nodeType":"VariableDeclaration","scope":66921,"src":"10606:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66913,"name":"address","nodeType":"ElementaryTypeName","src":"10606:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66916,"mutability":"mutable","name":"roundId","nameLocation":"10631:7:116","nodeType":"VariableDeclaration","scope":66921,"src":"10623:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66915,"name":"uint256","nodeType":"ElementaryTypeName","src":"10623:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10605:34:116"},"returnParameters":{"id":66920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66919,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66921,"src":"10663:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66918,"name":"uint256","nodeType":"ElementaryTypeName","src":"10663:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10662:9:116"},"scope":67117,"src":"10569:103:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66922,"nodeType":"StructuredDocumentation","src":"10676:174:116","text":" @notice Returns the total weighted actions required for a round\n @param roundId The round ID\n @return The total weighted actions required for the round"},"functionSelector":"e78168b5","id":66929,"implemented":false,"kind":"function","modifiers":[],"name":"totalWeightedActions","nameLocation":"10862:20:116","nodeType":"FunctionDefinition","parameters":{"id":66925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66924,"mutability":"mutable","name":"roundId","nameLocation":"10891:7:116","nodeType":"VariableDeclaration","scope":66929,"src":"10883:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66923,"name":"uint256","nodeType":"ElementaryTypeName","src":"10883:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10882:17:116"},"returnParameters":{"id":66928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66929,"src":"10923:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66926,"name":"uint256","nodeType":"ElementaryTypeName","src":"10923:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10922:9:116"},"scope":67117,"src":"10853:79:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66930,"nodeType":"StructuredDocumentation","src":"10936:176:116","text":" @notice Returns the total completed weighted actions for a round\n @param roundId The round ID\n @return The total completed weighted actions for the round"},"functionSelector":"df171b0c","id":66937,"implemented":false,"kind":"function","modifiers":[],"name":"completedWeightedActions","nameLocation":"11124:24:116","nodeType":"FunctionDefinition","parameters":{"id":66933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66932,"mutability":"mutable","name":"roundId","nameLocation":"11157:7:116","nodeType":"VariableDeclaration","scope":66937,"src":"11149:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66931,"name":"uint256","nodeType":"ElementaryTypeName","src":"11149:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11148:17:116"},"returnParameters":{"id":66936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66935,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66937,"src":"11189:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66934,"name":"uint256","nodeType":"ElementaryTypeName","src":"11189:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11188:9:116"},"scope":67117,"src":"11115:83:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66938,"nodeType":"StructuredDocumentation","src":"11202:164:116","text":" @notice Check if an address is a registered relayer\n @param relayer The address to check\n @return True if the address is a registered relayer"},"functionSelector":"d5684392","id":66945,"implemented":false,"kind":"function","modifiers":[],"name":"isRegisteredRelayer","nameLocation":"11378:19:116","nodeType":"FunctionDefinition","parameters":{"id":66941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66940,"mutability":"mutable","name":"relayer","nameLocation":"11406:7:116","nodeType":"VariableDeclaration","scope":66945,"src":"11398:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66939,"name":"address","nodeType":"ElementaryTypeName","src":"11398:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11397:17:116"},"returnParameters":{"id":66944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66945,"src":"11438:4:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66942,"name":"bool","nodeType":"ElementaryTypeName","src":"11438:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11437:6:116"},"scope":67117,"src":"11369:75:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66946,"nodeType":"StructuredDocumentation","src":"11448:101:116","text":" @notice Get all registered relayers\n @return Array of registered relayer addresses"},"functionSelector":"ac4aa16b","id":66952,"implemented":false,"kind":"function","modifiers":[],"name":"getRegisteredRelayers","nameLocation":"11561:21:116","nodeType":"FunctionDefinition","parameters":{"id":66947,"nodeType":"ParameterList","parameters":[],"src":"11582:2:116"},"returnParameters":{"id":66951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66950,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66952,"src":"11608:16:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":66948,"name":"address","nodeType":"ElementaryTypeName","src":"11608:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66949,"nodeType":"ArrayTypeName","src":"11608:9:116","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11607:18:116"},"scope":67117,"src":"11552:74:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66953,"nodeType":"StructuredDocumentation","src":"11630:156:116","text":" @notice Get the preferred relayer for a user\n @param user The user address\n @return The preferred relayer, or zero address if not set"},"functionSelector":"650e8a76","id":66960,"implemented":false,"kind":"function","modifiers":[],"name":"getPreferredRelayer","nameLocation":"11798:19:116","nodeType":"FunctionDefinition","parameters":{"id":66956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66955,"mutability":"mutable","name":"user","nameLocation":"11826:4:116","nodeType":"VariableDeclaration","scope":66960,"src":"11818:12:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66954,"name":"address","nodeType":"ElementaryTypeName","src":"11818:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11817:14:116"},"returnParameters":{"id":66959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66958,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66960,"src":"11855:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66957,"name":"address","nodeType":"ElementaryTypeName","src":"11855:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11854:9:116"},"scope":67117,"src":"11789:75:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66961,"nodeType":"StructuredDocumentation","src":"11868:206:116","text":" @notice Returns the claimable reward amount for a relayer in a specific round\n @param relayer The relayer address\n @param roundId The round ID\n @return The claimable reward amount"},"functionSelector":"338111e7","id":66970,"implemented":false,"kind":"function","modifiers":[],"name":"claimableRewards","nameLocation":"12086:16:116","nodeType":"FunctionDefinition","parameters":{"id":66966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66963,"mutability":"mutable","name":"relayer","nameLocation":"12111:7:116","nodeType":"VariableDeclaration","scope":66970,"src":"12103:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66962,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66965,"mutability":"mutable","name":"roundId","nameLocation":"12128:7:116","nodeType":"VariableDeclaration","scope":66970,"src":"12120:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66964,"name":"uint256","nodeType":"ElementaryTypeName","src":"12120:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:34:116"},"returnParameters":{"id":66969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66970,"src":"12160:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66967,"name":"uint256","nodeType":"ElementaryTypeName","src":"12160:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12159:9:116"},"scope":67117,"src":"12077:92:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66971,"nodeType":"StructuredDocumentation","src":"12173:118:116","text":" @notice Get the number of early access blocks\n @return The number of blocks for early access period"},"functionSelector":"62f29478","id":66976,"implemented":false,"kind":"function","modifiers":[],"name":"getEarlyAccessBlocks","nameLocation":"12303:20:116","nodeType":"FunctionDefinition","parameters":{"id":66972,"nodeType":"ParameterList","parameters":[],"src":"12323:2:116"},"returnParameters":{"id":66975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66974,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66976,"src":"12349:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66973,"name":"uint256","nodeType":"ElementaryTypeName","src":"12349:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12348:9:116"},"scope":67117,"src":"12294:64:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66977,"nodeType":"StructuredDocumentation","src":"12362:169:116","text":" @notice Check if early access period is active for a given round\n @param roundId The round ID\n @return True if early access period is still active"},"functionSelector":"48c2bd78","id":66984,"implemented":false,"kind":"function","modifiers":[],"name":"isVoteEarlyAccessActive","nameLocation":"12543:23:116","nodeType":"FunctionDefinition","parameters":{"id":66980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66979,"mutability":"mutable","name":"roundId","nameLocation":"12575:7:116","nodeType":"VariableDeclaration","scope":66984,"src":"12567:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66978,"name":"uint256","nodeType":"ElementaryTypeName","src":"12567:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12566:17:116"},"returnParameters":{"id":66983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66984,"src":"12607:4:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66981,"name":"bool","nodeType":"ElementaryTypeName","src":"12607:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12606:6:116"},"scope":67117,"src":"12534:79:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66985,"nodeType":"StructuredDocumentation","src":"12617:181:116","text":" @notice Check if claim early access period is active for a given round\n @param roundId The round ID\n @return True if claim early access period is still active"},"functionSelector":"f5e57b39","id":66992,"implemented":false,"kind":"function","modifiers":[],"name":"isClaimEarlyAccessActive","nameLocation":"12810:24:116","nodeType":"FunctionDefinition","parameters":{"id":66988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66987,"mutability":"mutable","name":"roundId","nameLocation":"12843:7:116","nodeType":"VariableDeclaration","scope":66992,"src":"12835:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66986,"name":"uint256","nodeType":"ElementaryTypeName","src":"12835:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12834:17:116"},"returnParameters":{"id":66991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66990,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66992,"src":"12875:4:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66989,"name":"bool","nodeType":"ElementaryTypeName","src":"12875:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12874:6:116"},"scope":67117,"src":"12801:80:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":66993,"nodeType":"StructuredDocumentation","src":"12885:145:116","text":" @notice Calculate relayer fee from total reward\n @param totalReward Total reward amount in wei\n @return Relayer fee in wei"},"functionSelector":"dc404a0e","id":67000,"implemented":false,"kind":"function","modifiers":[],"name":"calculateRelayerFee","nameLocation":"13042:19:116","nodeType":"FunctionDefinition","parameters":{"id":66996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66995,"mutability":"mutable","name":"totalReward","nameLocation":"13070:11:116","nodeType":"VariableDeclaration","scope":67000,"src":"13062:19:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66994,"name":"uint256","nodeType":"ElementaryTypeName","src":"13062:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13061:21:116"},"returnParameters":{"id":66999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67000,"src":"13106:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66997,"name":"uint256","nodeType":"ElementaryTypeName","src":"13106:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13105:9:116"},"scope":67117,"src":"13033:82:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":67001,"nodeType":"StructuredDocumentation","src":"13119:162:116","text":" @notice Get the number of missed auto-voting users for a round\n @param roundId The round ID\n @return The number of missed auto-voting users"},"functionSelector":"4f6981ee","id":67008,"implemented":false,"kind":"function","modifiers":[],"name":"getMissedAutoVotingUsersCount","nameLocation":"13293:29:116","nodeType":"FunctionDefinition","parameters":{"id":67004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67003,"mutability":"mutable","name":"roundId","nameLocation":"13331:7:116","nodeType":"VariableDeclaration","scope":67008,"src":"13323:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67002,"name":"uint256","nodeType":"ElementaryTypeName","src":"13323:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13322:17:116"},"returnParameters":{"id":67007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67008,"src":"13363:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67005,"name":"uint256","nodeType":"ElementaryTypeName","src":"13363:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13362:9:116"},"scope":67117,"src":"13284:88:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":67009,"nodeType":"StructuredDocumentation","src":"13446:180:116","text":" @notice Sets the total number of actions required for a round\n @param roundId The round ID\n @param totalAutoVotingUsers The total number of auto-voting users"},"functionSelector":"5f72790a","id":67016,"implemented":false,"kind":"function","modifiers":[],"name":"setTotalActionsForRound","nameLocation":"13638:23:116","nodeType":"FunctionDefinition","parameters":{"id":67014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67011,"mutability":"mutable","name":"roundId","nameLocation":"13670:7:116","nodeType":"VariableDeclaration","scope":67016,"src":"13662:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67010,"name":"uint256","nodeType":"ElementaryTypeName","src":"13662:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67013,"mutability":"mutable","name":"totalAutoVotingUsers","nameLocation":"13687:20:116","nodeType":"VariableDeclaration","scope":67016,"src":"13679:28:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67012,"name":"uint256","nodeType":"ElementaryTypeName","src":"13679:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13661:47:116"},"returnParameters":{"id":67015,"nodeType":"ParameterList","parameters":[],"src":"13717:0:116"},"scope":67117,"src":"13629:89:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67017,"nodeType":"StructuredDocumentation","src":"13722:415:116","text":" @notice Sets expected actions for allocation and governance in a round\n @param roundId The round ID\n @param allocationUsers Number of users expected to perform allocation vote+claim actions\n @param governanceUsers Number of users expected to perform governance vote actions (citizens only)\n @param activeProposalIds IDs of active governance proposals for the round (cached in storage)"},"functionSelector":"bfaabf31","id":67029,"implemented":false,"kind":"function","modifiers":[],"name":"setTotalActionsForRoundWithGovernance","nameLocation":"14149:37:116","nodeType":"FunctionDefinition","parameters":{"id":67027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67019,"mutability":"mutable","name":"roundId","nameLocation":"14200:7:116","nodeType":"VariableDeclaration","scope":67029,"src":"14192:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67018,"name":"uint256","nodeType":"ElementaryTypeName","src":"14192:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67021,"mutability":"mutable","name":"allocationUsers","nameLocation":"14221:15:116","nodeType":"VariableDeclaration","scope":67029,"src":"14213:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67020,"name":"uint256","nodeType":"ElementaryTypeName","src":"14213:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67023,"mutability":"mutable","name":"governanceUsers","nameLocation":"14250:15:116","nodeType":"VariableDeclaration","scope":67029,"src":"14242:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67022,"name":"uint256","nodeType":"ElementaryTypeName","src":"14242:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67026,"mutability":"mutable","name":"activeProposalIds","nameLocation":"14288:17:116","nodeType":"VariableDeclaration","scope":67029,"src":"14271:34:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67024,"name":"uint256","nodeType":"ElementaryTypeName","src":"14271:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67025,"nodeType":"ArrayTypeName","src":"14271:9:116","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"14186:123:116"},"returnParameters":{"id":67028,"nodeType":"ParameterList","parameters":[],"src":"14318:0:116"},"scope":67117,"src":"14140:179:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67030,"nodeType":"StructuredDocumentation","src":"14323:93:116","text":" @notice Set the fee cap for the relayer.\n @param newFeeCap The new fee cap"},"functionSelector":"6bb07c73","id":67035,"implemented":false,"kind":"function","modifiers":[],"name":"setFeeCap","nameLocation":"14428:9:116","nodeType":"FunctionDefinition","parameters":{"id":67033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67032,"mutability":"mutable","name":"newFeeCap","nameLocation":"14446:9:116","nodeType":"VariableDeclaration","scope":67035,"src":"14438:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67031,"name":"uint256","nodeType":"ElementaryTypeName","src":"14438:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14437:19:116"},"returnParameters":{"id":67034,"nodeType":"ParameterList","parameters":[],"src":"14465:0:116"},"scope":67117,"src":"14419:47:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67036,"nodeType":"StructuredDocumentation","src":"14470:137:116","text":" @notice Set or clear the caller's preferred relayer\n @param relayer The preferred relayer, or zero address to clear it"},"functionSelector":"af54c53a","id":67041,"implemented":false,"kind":"function","modifiers":[],"name":"setPreferredRelayer","nameLocation":"14619:19:116","nodeType":"FunctionDefinition","parameters":{"id":67039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67038,"mutability":"mutable","name":"relayer","nameLocation":"14647:7:116","nodeType":"VariableDeclaration","scope":67041,"src":"14639:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67037,"name":"address","nodeType":"ElementaryTypeName","src":"14639:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14638:17:116"},"returnParameters":{"id":67040,"nodeType":"ParameterList","parameters":[],"src":"14664:0:116"},"scope":67117,"src":"14610:55:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67042,"nodeType":"StructuredDocumentation","src":"14669:322:116","text":" @notice Reduces the total expected actions for a round when a legacy auto-voting user cannot vote.\n @dev Reduces both vote and claim (2 actions per user). Used by castVoteOnBehalfOf.\n @param roundId The round ID\n @param userCount The number of users to remove from expected actions (typically 1)"},"functionSelector":"e7dfe672","id":67049,"implemented":false,"kind":"function","modifiers":[],"name":"reduceExpectedActionsForRound","nameLocation":"15003:29:116","nodeType":"FunctionDefinition","parameters":{"id":67047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67044,"mutability":"mutable","name":"roundId","nameLocation":"15041:7:116","nodeType":"VariableDeclaration","scope":67049,"src":"15033:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67043,"name":"uint256","nodeType":"ElementaryTypeName","src":"15033:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67046,"mutability":"mutable","name":"userCount","nameLocation":"15058:9:116","nodeType":"VariableDeclaration","scope":67049,"src":"15050:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67045,"name":"uint256","nodeType":"ElementaryTypeName","src":"15050:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15032:36:116"},"returnParameters":{"id":67048,"nodeType":"ParameterList","parameters":[],"src":"15077:0:116"},"scope":67117,"src":"14994:84:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67050,"nodeType":"StructuredDocumentation","src":"15082:263:116","text":" @notice Reduces allocation vote expectation for a specific user in a round.\n @dev Auto-reduces claim if all vote actions for the user have been skipped.\n @param roundId The round ID\n @param user The user whose allocation vote is skipped"},"functionSelector":"f71fdc16","id":67057,"implemented":false,"kind":"function","modifiers":[],"name":"reduceUserAllocationVote","nameLocation":"15357:24:116","nodeType":"FunctionDefinition","parameters":{"id":67055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67052,"mutability":"mutable","name":"roundId","nameLocation":"15390:7:116","nodeType":"VariableDeclaration","scope":67057,"src":"15382:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67051,"name":"uint256","nodeType":"ElementaryTypeName","src":"15382:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67054,"mutability":"mutable","name":"user","nameLocation":"15407:4:116","nodeType":"VariableDeclaration","scope":67057,"src":"15399:12:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67053,"name":"address","nodeType":"ElementaryTypeName","src":"15399:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15381:31:116"},"returnParameters":{"id":67056,"nodeType":"ParameterList","parameters":[],"src":"15421:0:116"},"scope":67117,"src":"15348:74:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67058,"nodeType":"StructuredDocumentation","src":"15426:322:116","text":" @notice Reduces governance vote expectation for a specific user/proposal in a round.\n @dev Auto-reduces claim if all vote actions for the user have been skipped.\n @param roundId The round ID\n @param user The user whose governance vote is skipped\n @param proposalId The governance proposal ID"},"functionSelector":"18b9baa1","id":67067,"implemented":false,"kind":"function","modifiers":[],"name":"reduceUserGovernanceVote","nameLocation":"15760:24:116","nodeType":"FunctionDefinition","parameters":{"id":67065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67060,"mutability":"mutable","name":"roundId","nameLocation":"15793:7:116","nodeType":"VariableDeclaration","scope":67067,"src":"15785:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67059,"name":"uint256","nodeType":"ElementaryTypeName","src":"15785:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67062,"mutability":"mutable","name":"user","nameLocation":"15810:4:116","nodeType":"VariableDeclaration","scope":67067,"src":"15802:12:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67061,"name":"address","nodeType":"ElementaryTypeName","src":"15802:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67064,"mutability":"mutable","name":"proposalId","nameLocation":"15824:10:116","nodeType":"VariableDeclaration","scope":67067,"src":"15816:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67063,"name":"uint256","nodeType":"ElementaryTypeName","src":"15816:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15784:51:116"},"returnParameters":{"id":67066,"nodeType":"ParameterList","parameters":[],"src":"15844:0:116"},"scope":67117,"src":"15751:94:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67068,"nodeType":"StructuredDocumentation","src":"15849:258:116","text":" @notice Registers an action performed by a relayer in a specific round\n @param relayer The relayer address\n @param voter The voter address\n @param roundId The round ID\n @param action The type of action performed (VOTE or CLAIM)"},"functionSelector":"6cf88e73","id":67080,"implemented":false,"kind":"function","modifiers":[],"name":"registerRelayerAction","nameLocation":"16119:21:116","nodeType":"FunctionDefinition","parameters":{"id":67078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67070,"mutability":"mutable","name":"relayer","nameLocation":"16149:7:116","nodeType":"VariableDeclaration","scope":67080,"src":"16141:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67069,"name":"address","nodeType":"ElementaryTypeName","src":"16141:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67072,"mutability":"mutable","name":"voter","nameLocation":"16166:5:116","nodeType":"VariableDeclaration","scope":67080,"src":"16158:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67071,"name":"address","nodeType":"ElementaryTypeName","src":"16158:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67074,"mutability":"mutable","name":"roundId","nameLocation":"16181:7:116","nodeType":"VariableDeclaration","scope":67080,"src":"16173:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67073,"name":"uint256","nodeType":"ElementaryTypeName","src":"16173:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67077,"mutability":"mutable","name":"action","nameLocation":"16204:6:116","nodeType":"VariableDeclaration","scope":67080,"src":"16190:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"},"typeName":{"id":67076,"nodeType":"UserDefinedTypeName","pathNode":{"id":67075,"name":"RelayerAction","nameLocations":["16190:13:116"],"nodeType":"IdentifierPath","referencedDeclaration":66644,"src":"16190:13:116"},"referencedDeclaration":66644,"src":"16190:13:116","typeDescriptions":{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}},"visibility":"internal"}],"src":"16140:71:116"},"returnParameters":{"id":67079,"nodeType":"ParameterList","parameters":[],"src":"16220:0:116"},"scope":67117,"src":"16110:111:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67081,"nodeType":"StructuredDocumentation","src":"16225:156:116","text":" @notice Allows a relayer to claim their rewards for a specific round\n @param relayer The relayer address\n @param roundId The round ID"},"functionSelector":"6c7b69cb","id":67088,"implemented":false,"kind":"function","modifiers":[],"name":"claimRewards","nameLocation":"16393:12:116","nodeType":"FunctionDefinition","parameters":{"id":67086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67083,"mutability":"mutable","name":"roundId","nameLocation":"16414:7:116","nodeType":"VariableDeclaration","scope":67088,"src":"16406:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67082,"name":"uint256","nodeType":"ElementaryTypeName","src":"16406:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67085,"mutability":"mutable","name":"relayer","nameLocation":"16431:7:116","nodeType":"VariableDeclaration","scope":67088,"src":"16423:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67084,"name":"address","nodeType":"ElementaryTypeName","src":"16423:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16405:34:116"},"returnParameters":{"id":67087,"nodeType":"ParameterList","parameters":[],"src":"16448:0:116"},"scope":67117,"src":"16384:65:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67089,"nodeType":"StructuredDocumentation","src":"16453:252:116","text":" @notice Deposits B3TR tokens into the pool for a specific round\n @dev This function should be called by the VoterRewards contract\n @param amount The amount of B3TR tokens to deposit\n @param roundId The round ID to deposit for"},"functionSelector":"e2bbb158","id":67096,"implemented":false,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"16717:7:116","nodeType":"FunctionDefinition","parameters":{"id":67094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67091,"mutability":"mutable","name":"amount","nameLocation":"16733:6:116","nodeType":"VariableDeclaration","scope":67096,"src":"16725:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67090,"name":"uint256","nodeType":"ElementaryTypeName","src":"16725:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67093,"mutability":"mutable","name":"roundId","nameLocation":"16749:7:116","nodeType":"VariableDeclaration","scope":67096,"src":"16741:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67092,"name":"uint256","nodeType":"ElementaryTypeName","src":"16741:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16724:33:116"},"returnParameters":{"id":67095,"nodeType":"ParameterList","parameters":[],"src":"16766:0:116"},"scope":67117,"src":"16708:59:116","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67097,"nodeType":"StructuredDocumentation","src":"16771:190:116","text":" @notice Check if a relayer can perform an action during early access\n @param roundId The round ID\n @param voter The voter address\n @param caller The caller address"},"functionSelector":"e5ed920b","id":67106,"implemented":false,"kind":"function","modifiers":[],"name":"validateVoteDuringEarlyAccess","nameLocation":"16973:29:116","nodeType":"FunctionDefinition","parameters":{"id":67104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67099,"mutability":"mutable","name":"roundId","nameLocation":"17011:7:116","nodeType":"VariableDeclaration","scope":67106,"src":"17003:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67098,"name":"uint256","nodeType":"ElementaryTypeName","src":"17003:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67101,"mutability":"mutable","name":"voter","nameLocation":"17028:5:116","nodeType":"VariableDeclaration","scope":67106,"src":"17020:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67100,"name":"address","nodeType":"ElementaryTypeName","src":"17020:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67103,"mutability":"mutable","name":"caller","nameLocation":"17043:6:116","nodeType":"VariableDeclaration","scope":67106,"src":"17035:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67102,"name":"address","nodeType":"ElementaryTypeName","src":"17035:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17002:48:116"},"returnParameters":{"id":67105,"nodeType":"ParameterList","parameters":[],"src":"17064:0:116"},"scope":67117,"src":"16964:101:116","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":67107,"nodeType":"StructuredDocumentation","src":"17069:186:116","text":" @notice Validates if a claim can proceed for an auto-voting user\n @param roundId The round ID\n @param voter The voter address\n @param caller The caller address"},"functionSelector":"5ae1cd14","id":67116,"implemented":false,"kind":"function","modifiers":[],"name":"validateClaimDuringEarlyAccess","nameLocation":"17267:30:116","nodeType":"FunctionDefinition","parameters":{"id":67114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67109,"mutability":"mutable","name":"roundId","nameLocation":"17306:7:116","nodeType":"VariableDeclaration","scope":67116,"src":"17298:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67108,"name":"uint256","nodeType":"ElementaryTypeName","src":"17298:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67111,"mutability":"mutable","name":"voter","nameLocation":"17323:5:116","nodeType":"VariableDeclaration","scope":67116,"src":"17315:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67110,"name":"address","nodeType":"ElementaryTypeName","src":"17315:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67113,"mutability":"mutable","name":"caller","nameLocation":"17338:6:116","nodeType":"VariableDeclaration","scope":67116,"src":"17330:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67112,"name":"address","nodeType":"ElementaryTypeName","src":"17330:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17297:48:116"},"returnParameters":{"id":67115,"nodeType":"ParameterList","parameters":[],"src":"17359:0:116"},"scope":67117,"src":"17258:102:116","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":67118,"src":"1596:15766:116","usedErrors":[66785,66790,66797,66802,66809,66816,66819,66824,66831,66838,66847],"usedEvents":[66658,66669,66682,66691,66700,66707,66714,66721,66728,66735,66740,66745,66752,66759,66766,66773,66780]}],"src":"1195:16168:116"},"id":116},"contracts/interfaces/ITreasury.sol":{"ast":{"absolutePath":"contracts/interfaces/ITreasury.sol","exportedSymbols":{"ITreasury":[67241]},"id":67242,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":67119,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:117"},{"abstract":false,"baseContracts":[],"canonicalName":"ITreasury","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":67241,"linearizedBaseContracts":[67241],"name":"ITreasury","nameLocation":"67:9:117","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"19fba008e9d79eb8a8325333a2a40c0eeb1cad9d3db2e3751def35008bc9f78f","id":67125,"name":"TransferLimitUpdated","nameLocation":"87:20:117","nodeType":"EventDefinition","parameters":{"id":67124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67121,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"124:5:117","nodeType":"VariableDeclaration","scope":67125,"src":"108:21:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67120,"name":"address","nodeType":"ElementaryTypeName","src":"108:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67123,"indexed":false,"mutability":"mutable","name":"limit","nameLocation":"139:5:117","nodeType":"VariableDeclaration","scope":67125,"src":"131:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67122,"name":"uint256","nodeType":"ElementaryTypeName","src":"131:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"107:38:117"},"src":"81:65:117"},{"anonymous":false,"eventSelector":"3ba2e1f2b2d2ca79a662bcc58e129b5e6ed8d222fc2ad49176e9834a69139eb2","id":67129,"name":"TransferLimitVETUpdated","nameLocation":"155:23:117","nodeType":"EventDefinition","parameters":{"id":67128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67127,"indexed":false,"mutability":"mutable","name":"limit","nameLocation":"187:5:117","nodeType":"VariableDeclaration","scope":67129,"src":"179:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67126,"name":"uint256","nodeType":"ElementaryTypeName","src":"179:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"178:15:117"},"src":"149:45:117"},{"functionSelector":"8456cb59","id":67132,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"206:5:117","nodeType":"FunctionDefinition","parameters":{"id":67130,"nodeType":"ParameterList","parameters":[],"src":"211:2:117"},"returnParameters":{"id":67131,"nodeType":"ParameterList","parameters":[],"src":"222:0:117"},"scope":67241,"src":"197:26:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"3f4ba83a","id":67135,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"235:7:117","nodeType":"FunctionDefinition","parameters":{"id":67133,"nodeType":"ParameterList","parameters":[],"src":"242:2:117"},"returnParameters":{"id":67134,"nodeType":"ParameterList","parameters":[],"src":"253:0:117"},"scope":67241,"src":"226:28:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"7df3f411","id":67142,"implemented":false,"kind":"function","modifiers":[],"name":"transferVTHO","nameLocation":"266:12:117","nodeType":"FunctionDefinition","parameters":{"id":67140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67137,"mutability":"mutable","name":"_to","nameLocation":"287:3:117","nodeType":"VariableDeclaration","scope":67142,"src":"279:11:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67136,"name":"address","nodeType":"ElementaryTypeName","src":"279:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67139,"mutability":"mutable","name":"_value","nameLocation":"300:6:117","nodeType":"VariableDeclaration","scope":67142,"src":"292:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67138,"name":"uint256","nodeType":"ElementaryTypeName","src":"292:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"278:29:117"},"returnParameters":{"id":67141,"nodeType":"ParameterList","parameters":[],"src":"316:0:117"},"scope":67241,"src":"257:60:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"8e184b3f","id":67149,"implemented":false,"kind":"function","modifiers":[],"name":"transferB3TR","nameLocation":"329:12:117","nodeType":"FunctionDefinition","parameters":{"id":67147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67144,"mutability":"mutable","name":"_to","nameLocation":"350:3:117","nodeType":"VariableDeclaration","scope":67149,"src":"342:11:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67143,"name":"address","nodeType":"ElementaryTypeName","src":"342:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67146,"mutability":"mutable","name":"_value","nameLocation":"363:6:117","nodeType":"VariableDeclaration","scope":67149,"src":"355:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67145,"name":"uint256","nodeType":"ElementaryTypeName","src":"355:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"341:29:117"},"returnParameters":{"id":67148,"nodeType":"ParameterList","parameters":[],"src":"379:0:117"},"scope":67241,"src":"320:60:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"9867cd19","id":67156,"implemented":false,"kind":"function","modifiers":[],"name":"transferVOT3","nameLocation":"392:12:117","nodeType":"FunctionDefinition","parameters":{"id":67154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67151,"mutability":"mutable","name":"_to","nameLocation":"413:3:117","nodeType":"VariableDeclaration","scope":67156,"src":"405:11:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67150,"name":"address","nodeType":"ElementaryTypeName","src":"405:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67153,"mutability":"mutable","name":"_value","nameLocation":"426:6:117","nodeType":"VariableDeclaration","scope":67156,"src":"418:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67152,"name":"uint256","nodeType":"ElementaryTypeName","src":"418:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"404:29:117"},"returnParameters":{"id":67155,"nodeType":"ParameterList","parameters":[],"src":"442:0:117"},"scope":67241,"src":"383:60:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"4a9e6645","id":67163,"implemented":false,"kind":"function","modifiers":[],"name":"transferVET","nameLocation":"455:11:117","nodeType":"FunctionDefinition","parameters":{"id":67161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67158,"mutability":"mutable","name":"_to","nameLocation":"475:3:117","nodeType":"VariableDeclaration","scope":67163,"src":"467:11:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67157,"name":"address","nodeType":"ElementaryTypeName","src":"467:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67160,"mutability":"mutable","name":"_value","nameLocation":"488:6:117","nodeType":"VariableDeclaration","scope":67163,"src":"480:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67159,"name":"uint256","nodeType":"ElementaryTypeName","src":"480:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"466:29:117"},"returnParameters":{"id":67162,"nodeType":"ParameterList","parameters":[],"src":"504:0:117"},"scope":67241,"src":"446:59:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"a64b6e5f","id":67172,"implemented":false,"kind":"function","modifiers":[],"name":"transferTokens","nameLocation":"517:14:117","nodeType":"FunctionDefinition","parameters":{"id":67170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67165,"mutability":"mutable","name":"_token","nameLocation":"540:6:117","nodeType":"VariableDeclaration","scope":67172,"src":"532:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67164,"name":"address","nodeType":"ElementaryTypeName","src":"532:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67167,"mutability":"mutable","name":"_to","nameLocation":"556:3:117","nodeType":"VariableDeclaration","scope":67172,"src":"548:11:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67166,"name":"address","nodeType":"ElementaryTypeName","src":"548:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67169,"mutability":"mutable","name":"_value","nameLocation":"569:6:117","nodeType":"VariableDeclaration","scope":67172,"src":"561:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67168,"name":"uint256","nodeType":"ElementaryTypeName","src":"561:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"531:45:117"},"returnParameters":{"id":67171,"nodeType":"ParameterList","parameters":[],"src":"585:0:117"},"scope":67241,"src":"508:78:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"69e9cae1","id":67181,"implemented":false,"kind":"function","modifiers":[],"name":"transferNFT","nameLocation":"598:11:117","nodeType":"FunctionDefinition","parameters":{"id":67179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67174,"mutability":"mutable","name":"_nft","nameLocation":"618:4:117","nodeType":"VariableDeclaration","scope":67181,"src":"610:12:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67173,"name":"address","nodeType":"ElementaryTypeName","src":"610:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67176,"mutability":"mutable","name":"_to","nameLocation":"632:3:117","nodeType":"VariableDeclaration","scope":67181,"src":"624:11:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67175,"name":"address","nodeType":"ElementaryTypeName","src":"624:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67178,"mutability":"mutable","name":"_tokenId","nameLocation":"645:8:117","nodeType":"VariableDeclaration","scope":67181,"src":"637:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67177,"name":"uint256","nodeType":"ElementaryTypeName","src":"637:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"609:45:117"},"returnParameters":{"id":67180,"nodeType":"ParameterList","parameters":[],"src":"663:0:117"},"scope":67241,"src":"589:75:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"0f6a0b37","id":67186,"implemented":false,"kind":"function","modifiers":[],"name":"convertB3TR","nameLocation":"676:11:117","nodeType":"FunctionDefinition","parameters":{"id":67184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67183,"mutability":"mutable","name":"_b3trAmount","nameLocation":"696:11:117","nodeType":"VariableDeclaration","scope":67186,"src":"688:19:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67182,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"687:21:117"},"returnParameters":{"id":67185,"nodeType":"ParameterList","parameters":[],"src":"717:0:117"},"scope":67241,"src":"667:51:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"bb180ec9","id":67191,"implemented":false,"kind":"function","modifiers":[],"name":"convertVOT3","nameLocation":"730:11:117","nodeType":"FunctionDefinition","parameters":{"id":67189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67188,"mutability":"mutable","name":"__vot3Amount","nameLocation":"750:12:117","nodeType":"VariableDeclaration","scope":67191,"src":"742:20:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67187,"name":"uint256","nodeType":"ElementaryTypeName","src":"742:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"741:22:117"},"returnParameters":{"id":67190,"nodeType":"ParameterList","parameters":[],"src":"772:0:117"},"scope":67241,"src":"721:52:117","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"53a4c7fa","id":67196,"implemented":false,"kind":"function","modifiers":[],"name":"getVTHOBalance","nameLocation":"785:14:117","nodeType":"FunctionDefinition","parameters":{"id":67192,"nodeType":"ParameterList","parameters":[],"src":"799:2:117"},"returnParameters":{"id":67195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67196,"src":"825:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67193,"name":"uint256","nodeType":"ElementaryTypeName","src":"825:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"824:9:117"},"scope":67241,"src":"776:58:117","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"58028923","id":67201,"implemented":false,"kind":"function","modifiers":[],"name":"getB3TRBalance","nameLocation":"846:14:117","nodeType":"FunctionDefinition","parameters":{"id":67197,"nodeType":"ParameterList","parameters":[],"src":"860:2:117"},"returnParameters":{"id":67200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67199,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67201,"src":"886:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67198,"name":"uint256","nodeType":"ElementaryTypeName","src":"886:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"885:9:117"},"scope":67241,"src":"837:58:117","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"9e4f88c8","id":67206,"implemented":false,"kind":"function","modifiers":[],"name":"getVOT3Balance","nameLocation":"907:14:117","nodeType":"FunctionDefinition","parameters":{"id":67202,"nodeType":"ParameterList","parameters":[],"src":"921:2:117"},"returnParameters":{"id":67205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67204,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67206,"src":"947:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67203,"name":"uint256","nodeType":"ElementaryTypeName","src":"947:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"946:9:117"},"scope":67241,"src":"898:58:117","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3c555f19","id":67211,"implemented":false,"kind":"function","modifiers":[],"name":"getVETBalance","nameLocation":"968:13:117","nodeType":"FunctionDefinition","parameters":{"id":67207,"nodeType":"ParameterList","parameters":[],"src":"981:2:117"},"returnParameters":{"id":67210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67211,"src":"1007:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67208,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1006:9:117"},"scope":67241,"src":"959:57:117","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3aecd0e3","id":67218,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenBalance","nameLocation":"1028:15:117","nodeType":"FunctionDefinition","parameters":{"id":67214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67213,"mutability":"mutable","name":"_token","nameLocation":"1052:6:117","nodeType":"VariableDeclaration","scope":67218,"src":"1044:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67212,"name":"address","nodeType":"ElementaryTypeName","src":"1044:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1043:16:117"},"returnParameters":{"id":67217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67216,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67218,"src":"1083:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67215,"name":"uint256","nodeType":"ElementaryTypeName","src":"1083:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1082:9:117"},"scope":67241,"src":"1019:73:117","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f7451ccf","id":67225,"implemented":false,"kind":"function","modifiers":[],"name":"getCollectionNFTBalance","nameLocation":"1104:23:117","nodeType":"FunctionDefinition","parameters":{"id":67221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67220,"mutability":"mutable","name":"_nft","nameLocation":"1136:4:117","nodeType":"VariableDeclaration","scope":67225,"src":"1128:12:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67219,"name":"address","nodeType":"ElementaryTypeName","src":"1128:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1127:14:117"},"returnParameters":{"id":67224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67225,"src":"1165:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67222,"name":"uint256","nodeType":"ElementaryTypeName","src":"1165:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1164:9:117"},"scope":67241,"src":"1095:79:117","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"54fd4d50","id":67230,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"1186:7:117","nodeType":"FunctionDefinition","parameters":{"id":67226,"nodeType":"ParameterList","parameters":[],"src":"1193:2:117"},"returnParameters":{"id":67229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67230,"src":"1219:13:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67227,"name":"string","nodeType":"ElementaryTypeName","src":"1219:6:117","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1218:15:117"},"scope":67241,"src":"1177:57:117","stateMutability":"pure","virtual":false,"visibility":"external"},{"functionSelector":"414dc27a","id":67235,"implemented":false,"kind":"function","modifiers":[],"name":"b3trAddress","nameLocation":"1246:11:117","nodeType":"FunctionDefinition","parameters":{"id":67231,"nodeType":"ParameterList","parameters":[],"src":"1257:2:117"},"returnParameters":{"id":67234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67233,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67235,"src":"1283:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67232,"name":"address","nodeType":"ElementaryTypeName","src":"1283:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1282:9:117"},"scope":67241,"src":"1237:55:117","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"7c47f24b","id":67240,"implemented":false,"kind":"function","modifiers":[],"name":"vot3Address","nameLocation":"1304:11:117","nodeType":"FunctionDefinition","parameters":{"id":67236,"nodeType":"ParameterList","parameters":[],"src":"1315:2:117"},"returnParameters":{"id":67239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67240,"src":"1341:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67237,"name":"address","nodeType":"ElementaryTypeName","src":"1341:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1340:9:117"},"scope":67241,"src":"1295:55:117","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":67242,"src":"57:1295:117","usedErrors":[],"usedEvents":[67125,67129]}],"src":"32:1321:117"},"id":117},"contracts/interfaces/IVOT3.sol":{"ast":{"absolutePath":"contracts/interfaces/IVOT3.sol","exportedSymbols":{"Checkpoints":[10447],"IVOT3":[67719],"Math":[7015]},"id":67720,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":67243,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:118"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":67244,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":67720,"sourceUnit":10448,"src":"58:63:118","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IVOT3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":67719,"linearizedBaseContracts":[67719],"name":"IVOT3","nameLocation":"133:5:118","nodeType":"ContractDefinition","nodes":[{"errorSelector":"6697b232","id":67246,"name":"AccessControlBadConfirmation","nameLocation":"149:28:118","nodeType":"ErrorDefinition","parameters":{"id":67245,"nodeType":"ParameterList","parameters":[],"src":"177:2:118"},"src":"143:37:118"},{"errorSelector":"e2517d3f","id":67252,"name":"AccessControlUnauthorizedAccount","nameLocation":"190:32:118","nodeType":"ErrorDefinition","parameters":{"id":67251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67248,"mutability":"mutable","name":"account","nameLocation":"231:7:118","nodeType":"VariableDeclaration","scope":67252,"src":"223:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67247,"name":"address","nodeType":"ElementaryTypeName","src":"223:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67250,"mutability":"mutable","name":"neededRole","nameLocation":"248:10:118","nodeType":"VariableDeclaration","scope":67252,"src":"240:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"240:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"222:37:118"},"src":"184:76:118"},{"errorSelector":"2520601d","id":67254,"name":"CheckpointUnorderedInsertion","nameLocation":"270:28:118","nodeType":"ErrorDefinition","parameters":{"id":67253,"nodeType":"ParameterList","parameters":[],"src":"298:2:118"},"src":"264:37:118"},{"errorSelector":"f645eedf","id":67256,"name":"ECDSAInvalidSignature","nameLocation":"311:21:118","nodeType":"ErrorDefinition","parameters":{"id":67255,"nodeType":"ParameterList","parameters":[],"src":"332:2:118"},"src":"305:30:118"},{"errorSelector":"fce698f7","id":67260,"name":"ECDSAInvalidSignatureLength","nameLocation":"345:27:118","nodeType":"ErrorDefinition","parameters":{"id":67259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67258,"mutability":"mutable","name":"length","nameLocation":"381:6:118","nodeType":"VariableDeclaration","scope":67260,"src":"373:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67257,"name":"uint256","nodeType":"ElementaryTypeName","src":"373:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"372:16:118"},"src":"339:50:118"},{"errorSelector":"d78bce0c","id":67264,"name":"ECDSAInvalidSignatureS","nameLocation":"399:22:118","nodeType":"ErrorDefinition","parameters":{"id":67263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67262,"mutability":"mutable","name":"s","nameLocation":"430:1:118","nodeType":"VariableDeclaration","scope":67264,"src":"422:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"421:11:118"},"src":"393:40:118"},{"errorSelector":"1cb15d26","id":67270,"name":"ERC20ExceededSafeSupply","nameLocation":"443:23:118","nodeType":"ErrorDefinition","parameters":{"id":67269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67266,"mutability":"mutable","name":"increasedSupply","nameLocation":"475:15:118","nodeType":"VariableDeclaration","scope":67270,"src":"467:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67265,"name":"uint256","nodeType":"ElementaryTypeName","src":"467:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67268,"mutability":"mutable","name":"cap","nameLocation":"500:3:118","nodeType":"VariableDeclaration","scope":67270,"src":"492:11:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67267,"name":"uint256","nodeType":"ElementaryTypeName","src":"492:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"466:38:118"},"src":"437:68:118"},{"errorSelector":"fb8f41b2","id":67278,"name":"ERC20InsufficientAllowance","nameLocation":"515:26:118","nodeType":"ErrorDefinition","parameters":{"id":67277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67272,"mutability":"mutable","name":"spender","nameLocation":"550:7:118","nodeType":"VariableDeclaration","scope":67278,"src":"542:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67271,"name":"address","nodeType":"ElementaryTypeName","src":"542:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67274,"mutability":"mutable","name":"allowance","nameLocation":"567:9:118","nodeType":"VariableDeclaration","scope":67278,"src":"559:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67273,"name":"uint256","nodeType":"ElementaryTypeName","src":"559:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67276,"mutability":"mutable","name":"needed","nameLocation":"586:6:118","nodeType":"VariableDeclaration","scope":67278,"src":"578:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67275,"name":"uint256","nodeType":"ElementaryTypeName","src":"578:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"541:52:118"},"src":"509:85:118"},{"errorSelector":"e450d38c","id":67286,"name":"ERC20InsufficientBalance","nameLocation":"604:24:118","nodeType":"ErrorDefinition","parameters":{"id":67285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67280,"mutability":"mutable","name":"sender","nameLocation":"637:6:118","nodeType":"VariableDeclaration","scope":67286,"src":"629:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67279,"name":"address","nodeType":"ElementaryTypeName","src":"629:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67282,"mutability":"mutable","name":"balance","nameLocation":"653:7:118","nodeType":"VariableDeclaration","scope":67286,"src":"645:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67281,"name":"uint256","nodeType":"ElementaryTypeName","src":"645:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67284,"mutability":"mutable","name":"needed","nameLocation":"670:6:118","nodeType":"VariableDeclaration","scope":67286,"src":"662:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67283,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"628:49:118"},"src":"598:80:118"},{"errorSelector":"e602df05","id":67290,"name":"ERC20InvalidApprover","nameLocation":"688:20:118","nodeType":"ErrorDefinition","parameters":{"id":67289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67288,"mutability":"mutable","name":"approver","nameLocation":"717:8:118","nodeType":"VariableDeclaration","scope":67290,"src":"709:16:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67287,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"708:18:118"},"src":"682:45:118"},{"errorSelector":"ec442f05","id":67294,"name":"ERC20InvalidReceiver","nameLocation":"737:20:118","nodeType":"ErrorDefinition","parameters":{"id":67293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67292,"mutability":"mutable","name":"receiver","nameLocation":"766:8:118","nodeType":"VariableDeclaration","scope":67294,"src":"758:16:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67291,"name":"address","nodeType":"ElementaryTypeName","src":"758:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"757:18:118"},"src":"731:45:118"},{"errorSelector":"96c6fd1e","id":67298,"name":"ERC20InvalidSender","nameLocation":"786:18:118","nodeType":"ErrorDefinition","parameters":{"id":67297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67296,"mutability":"mutable","name":"sender","nameLocation":"813:6:118","nodeType":"VariableDeclaration","scope":67298,"src":"805:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67295,"name":"address","nodeType":"ElementaryTypeName","src":"805:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"804:16:118"},"src":"780:41:118"},{"errorSelector":"94280d62","id":67302,"name":"ERC20InvalidSpender","nameLocation":"831:19:118","nodeType":"ErrorDefinition","parameters":{"id":67301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67300,"mutability":"mutable","name":"spender","nameLocation":"859:7:118","nodeType":"VariableDeclaration","scope":67302,"src":"851:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67299,"name":"address","nodeType":"ElementaryTypeName","src":"851:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"850:17:118"},"src":"825:43:118"},{"errorSelector":"62791302","id":67306,"name":"ERC2612ExpiredSignature","nameLocation":"878:23:118","nodeType":"ErrorDefinition","parameters":{"id":67305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67304,"mutability":"mutable","name":"deadline","nameLocation":"910:8:118","nodeType":"VariableDeclaration","scope":67306,"src":"902:16:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67303,"name":"uint256","nodeType":"ElementaryTypeName","src":"902:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"901:18:118"},"src":"872:48:118"},{"errorSelector":"4b800e46","id":67312,"name":"ERC2612InvalidSigner","nameLocation":"930:20:118","nodeType":"ErrorDefinition","parameters":{"id":67311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67308,"mutability":"mutable","name":"signer","nameLocation":"959:6:118","nodeType":"VariableDeclaration","scope":67312,"src":"951:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67307,"name":"address","nodeType":"ElementaryTypeName","src":"951:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67310,"mutability":"mutable","name":"owner","nameLocation":"975:5:118","nodeType":"VariableDeclaration","scope":67312,"src":"967:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67309,"name":"address","nodeType":"ElementaryTypeName","src":"967:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"950:31:118"},"src":"924:58:118"},{"errorSelector":"ecd3f81e","id":67318,"name":"ERC5805FutureLookup","nameLocation":"992:19:118","nodeType":"ErrorDefinition","parameters":{"id":67317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67314,"mutability":"mutable","name":"timepoint","nameLocation":"1020:9:118","nodeType":"VariableDeclaration","scope":67318,"src":"1012:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67313,"name":"uint256","nodeType":"ElementaryTypeName","src":"1012:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67316,"mutability":"mutable","name":"clock","nameLocation":"1038:5:118","nodeType":"VariableDeclaration","scope":67318,"src":"1031:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":67315,"name":"uint48","nodeType":"ElementaryTypeName","src":"1031:6:118","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"1011:33:118"},"src":"986:59:118"},{"errorSelector":"6ff07140","id":67320,"name":"ERC6372InconsistentClock","nameLocation":"1055:24:118","nodeType":"ErrorDefinition","parameters":{"id":67319,"nodeType":"ParameterList","parameters":[],"src":"1079:2:118"},"src":"1049:33:118"},{"errorSelector":"d93c0665","id":67322,"name":"EnforcedPause","nameLocation":"1092:13:118","nodeType":"ErrorDefinition","parameters":{"id":67321,"nodeType":"ParameterList","parameters":[],"src":"1105:2:118"},"src":"1086:22:118"},{"errorSelector":"8dfc202b","id":67324,"name":"ExpectedPause","nameLocation":"1118:13:118","nodeType":"ErrorDefinition","parameters":{"id":67323,"nodeType":"ParameterList","parameters":[],"src":"1131:2:118"},"src":"1112:22:118"},{"errorSelector":"752d88c0","id":67330,"name":"InvalidAccountNonce","nameLocation":"1144:19:118","nodeType":"ErrorDefinition","parameters":{"id":67329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67326,"mutability":"mutable","name":"account","nameLocation":"1172:7:118","nodeType":"VariableDeclaration","scope":67330,"src":"1164:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67325,"name":"address","nodeType":"ElementaryTypeName","src":"1164:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67328,"mutability":"mutable","name":"currentNonce","nameLocation":"1189:12:118","nodeType":"VariableDeclaration","scope":67330,"src":"1181:20:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67327,"name":"uint256","nodeType":"ElementaryTypeName","src":"1181:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1163:39:118"},"src":"1138:65:118"},{"errorSelector":"b3512b0c","id":67332,"name":"InvalidShortString","nameLocation":"1213:18:118","nodeType":"ErrorDefinition","parameters":{"id":67331,"nodeType":"ParameterList","parameters":[],"src":"1231:2:118"},"src":"1207:27:118"},{"errorSelector":"6dfcc650","id":67338,"name":"SafeCastOverflowedUintDowncast","nameLocation":"1244:30:118","nodeType":"ErrorDefinition","parameters":{"id":67337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67334,"mutability":"mutable","name":"bits","nameLocation":"1281:4:118","nodeType":"VariableDeclaration","scope":67338,"src":"1275:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67333,"name":"uint8","nodeType":"ElementaryTypeName","src":"1275:5:118","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":67336,"mutability":"mutable","name":"value","nameLocation":"1295:5:118","nodeType":"VariableDeclaration","scope":67338,"src":"1287:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67335,"name":"uint256","nodeType":"ElementaryTypeName","src":"1287:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1274:27:118"},"src":"1238:64:118"},{"errorSelector":"305a27a9","id":67342,"name":"StringTooLong","nameLocation":"1312:13:118","nodeType":"ErrorDefinition","parameters":{"id":67341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67340,"mutability":"mutable","name":"str","nameLocation":"1333:3:118","nodeType":"VariableDeclaration","scope":67342,"src":"1326:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67339,"name":"string","nodeType":"ElementaryTypeName","src":"1326:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1325:12:118"},"src":"1306:32:118"},{"errorSelector":"4683af0e","id":67346,"name":"VotesExpiredSignature","nameLocation":"1348:21:118","nodeType":"ErrorDefinition","parameters":{"id":67345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67344,"mutability":"mutable","name":"expiry","nameLocation":"1378:6:118","nodeType":"VariableDeclaration","scope":67346,"src":"1370:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67343,"name":"uint256","nodeType":"ElementaryTypeName","src":"1370:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1369:16:118"},"src":"1342:44:118"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":67354,"name":"Approval","nameLocation":"1396:8:118","nodeType":"EventDefinition","parameters":{"id":67353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67348,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"1421:5:118","nodeType":"VariableDeclaration","scope":67354,"src":"1405:21:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67347,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67350,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"1444:7:118","nodeType":"VariableDeclaration","scope":67354,"src":"1428:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67349,"name":"address","nodeType":"ElementaryTypeName","src":"1428:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67352,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"1461:5:118","nodeType":"VariableDeclaration","scope":67354,"src":"1453:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67351,"name":"uint256","nodeType":"ElementaryTypeName","src":"1453:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1404:63:118"},"src":"1390:78:118"},{"anonymous":false,"eventSelector":"3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f","id":67362,"name":"DelegateChanged","nameLocation":"1478:15:118","nodeType":"EventDefinition","parameters":{"id":67361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67356,"indexed":true,"mutability":"mutable","name":"delegator","nameLocation":"1510:9:118","nodeType":"VariableDeclaration","scope":67362,"src":"1494:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67355,"name":"address","nodeType":"ElementaryTypeName","src":"1494:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67358,"indexed":true,"mutability":"mutable","name":"fromDelegate","nameLocation":"1537:12:118","nodeType":"VariableDeclaration","scope":67362,"src":"1521:28:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67357,"name":"address","nodeType":"ElementaryTypeName","src":"1521:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67360,"indexed":true,"mutability":"mutable","name":"toDelegate","nameLocation":"1567:10:118","nodeType":"VariableDeclaration","scope":67362,"src":"1551:26:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67359,"name":"address","nodeType":"ElementaryTypeName","src":"1551:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1493:85:118"},"src":"1472:107:118"},{"anonymous":false,"eventSelector":"dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724","id":67370,"name":"DelegateVotesChanged","nameLocation":"1589:20:118","nodeType":"EventDefinition","parameters":{"id":67369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67364,"indexed":true,"mutability":"mutable","name":"delegate","nameLocation":"1626:8:118","nodeType":"VariableDeclaration","scope":67370,"src":"1610:24:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67363,"name":"address","nodeType":"ElementaryTypeName","src":"1610:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67366,"indexed":false,"mutability":"mutable","name":"previousVotes","nameLocation":"1644:13:118","nodeType":"VariableDeclaration","scope":67370,"src":"1636:21:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67365,"name":"uint256","nodeType":"ElementaryTypeName","src":"1636:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67368,"indexed":false,"mutability":"mutable","name":"newVotes","nameLocation":"1667:8:118","nodeType":"VariableDeclaration","scope":67370,"src":"1659:16:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67367,"name":"uint256","nodeType":"ElementaryTypeName","src":"1659:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1609:67:118"},"src":"1583:94:118"},{"anonymous":false,"eventSelector":"0a6387c9ea3628b88a633bb4f3b151770f70085117a15f9bf3787cda53f13d31","id":67372,"name":"EIP712DomainChanged","nameLocation":"1687:19:118","nodeType":"EventDefinition","parameters":{"id":67371,"nodeType":"ParameterList","parameters":[],"src":"1706:2:118"},"src":"1681:28:118"},{"anonymous":false,"eventSelector":"62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258","id":67376,"name":"Paused","nameLocation":"1719:6:118","nodeType":"EventDefinition","parameters":{"id":67375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67374,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"1734:7:118","nodeType":"VariableDeclaration","scope":67376,"src":"1726:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67373,"name":"address","nodeType":"ElementaryTypeName","src":"1726:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1725:17:118"},"src":"1713:30:118"},{"anonymous":false,"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":67384,"name":"RoleAdminChanged","nameLocation":"1753:16:118","nodeType":"EventDefinition","parameters":{"id":67383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67378,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1786:4:118","nodeType":"VariableDeclaration","scope":67384,"src":"1770:20:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1770:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67380,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"1808:17:118","nodeType":"VariableDeclaration","scope":67384,"src":"1792:33:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1792:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67382,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"1843:12:118","nodeType":"VariableDeclaration","scope":67384,"src":"1827:28:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1827:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1769:87:118"},"src":"1747:110:118"},{"anonymous":false,"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":67392,"name":"RoleGranted","nameLocation":"1867:11:118","nodeType":"EventDefinition","parameters":{"id":67391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67386,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1895:4:118","nodeType":"VariableDeclaration","scope":67392,"src":"1879:20:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1879:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67388,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1917:7:118","nodeType":"VariableDeclaration","scope":67392,"src":"1901:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67387,"name":"address","nodeType":"ElementaryTypeName","src":"1901:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67390,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1942:6:118","nodeType":"VariableDeclaration","scope":67392,"src":"1926:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67389,"name":"address","nodeType":"ElementaryTypeName","src":"1926:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1878:71:118"},"src":"1861:89:118"},{"anonymous":false,"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":67400,"name":"RoleRevoked","nameLocation":"1960:11:118","nodeType":"EventDefinition","parameters":{"id":67399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67394,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1988:4:118","nodeType":"VariableDeclaration","scope":67400,"src":"1972:20:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1972:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67396,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2010:7:118","nodeType":"VariableDeclaration","scope":67400,"src":"1994:23:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67395,"name":"address","nodeType":"ElementaryTypeName","src":"1994:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67398,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"2035:6:118","nodeType":"VariableDeclaration","scope":67400,"src":"2019:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67397,"name":"address","nodeType":"ElementaryTypeName","src":"2019:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1971:71:118"},"src":"1954:89:118"},{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":67408,"name":"Transfer","nameLocation":"2053:8:118","nodeType":"EventDefinition","parameters":{"id":67407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67402,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"2078:4:118","nodeType":"VariableDeclaration","scope":67408,"src":"2062:20:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67401,"name":"address","nodeType":"ElementaryTypeName","src":"2062:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67404,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"2100:2:118","nodeType":"VariableDeclaration","scope":67408,"src":"2084:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67403,"name":"address","nodeType":"ElementaryTypeName","src":"2084:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67406,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"2112:5:118","nodeType":"VariableDeclaration","scope":67408,"src":"2104:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67405,"name":"uint256","nodeType":"ElementaryTypeName","src":"2104:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2061:57:118"},"src":"2047:72:118"},{"anonymous":false,"eventSelector":"5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa","id":67412,"name":"Unpaused","nameLocation":"2129:8:118","nodeType":"EventDefinition","parameters":{"id":67411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67410,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"2146:7:118","nodeType":"VariableDeclaration","scope":67412,"src":"2138:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67409,"name":"address","nodeType":"ElementaryTypeName","src":"2138:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2137:17:118"},"src":"2123:32:118"},{"functionSelector":"4bf5d7e9","id":67417,"implemented":false,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"2168:10:118","nodeType":"FunctionDefinition","parameters":{"id":67413,"nodeType":"ParameterList","parameters":[],"src":"2178:2:118"},"returnParameters":{"id":67416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67417,"src":"2204:13:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67414,"name":"string","nodeType":"ElementaryTypeName","src":"2204:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2203:15:118"},"scope":67719,"src":"2159:60:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a217fddf","id":67422,"implemented":false,"kind":"function","modifiers":[],"name":"DEFAULT_ADMIN_ROLE","nameLocation":"2232:18:118","nodeType":"FunctionDefinition","parameters":{"id":67418,"nodeType":"ParameterList","parameters":[],"src":"2250:2:118"},"returnParameters":{"id":67421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67422,"src":"2276:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2276:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2275:9:118"},"scope":67719,"src":"2223:62:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3644e515","id":67427,"implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2298:16:118","nodeType":"FunctionDefinition","parameters":{"id":67423,"nodeType":"ParameterList","parameters":[],"src":"2314:2:118"},"returnParameters":{"id":67426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67427,"src":"2340:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2340:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2339:9:118"},"scope":67719,"src":"2289:60:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"dd62ed3e","id":67436,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"2362:9:118","nodeType":"FunctionDefinition","parameters":{"id":67432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67429,"mutability":"mutable","name":"owner","nameLocation":"2380:5:118","nodeType":"VariableDeclaration","scope":67436,"src":"2372:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67428,"name":"address","nodeType":"ElementaryTypeName","src":"2372:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67431,"mutability":"mutable","name":"spender","nameLocation":"2395:7:118","nodeType":"VariableDeclaration","scope":67436,"src":"2387:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67430,"name":"address","nodeType":"ElementaryTypeName","src":"2387:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2371:32:118"},"returnParameters":{"id":67435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67434,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67436,"src":"2427:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67433,"name":"uint256","nodeType":"ElementaryTypeName","src":"2427:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2426:9:118"},"scope":67719,"src":"2353:83:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"095ea7b3","id":67445,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2449:7:118","nodeType":"FunctionDefinition","parameters":{"id":67441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67438,"mutability":"mutable","name":"spender","nameLocation":"2465:7:118","nodeType":"VariableDeclaration","scope":67445,"src":"2457:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67437,"name":"address","nodeType":"ElementaryTypeName","src":"2457:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67440,"mutability":"mutable","name":"value","nameLocation":"2482:5:118","nodeType":"VariableDeclaration","scope":67445,"src":"2474:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67439,"name":"uint256","nodeType":"ElementaryTypeName","src":"2474:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2456:32:118"},"returnParameters":{"id":67444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67445,"src":"2507:4:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67442,"name":"bool","nodeType":"ElementaryTypeName","src":"2507:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2506:6:118"},"scope":67719,"src":"2440:73:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"582a486a","id":67450,"implemented":false,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"2526:4:118","nodeType":"FunctionDefinition","parameters":{"id":67446,"nodeType":"ParameterList","parameters":[],"src":"2530:2:118"},"returnParameters":{"id":67449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67450,"src":"2556:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67447,"name":"address","nodeType":"ElementaryTypeName","src":"2556:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2555:9:118"},"scope":67719,"src":"2517:48:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"70a08231","id":67457,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"2578:9:118","nodeType":"FunctionDefinition","parameters":{"id":67453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67452,"mutability":"mutable","name":"account","nameLocation":"2596:7:118","nodeType":"VariableDeclaration","scope":67457,"src":"2588:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67451,"name":"address","nodeType":"ElementaryTypeName","src":"2588:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2587:17:118"},"returnParameters":{"id":67456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67457,"src":"2628:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67454,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2627:9:118"},"scope":67719,"src":"2569:68:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f1127ed8","id":67467,"implemented":false,"kind":"function","modifiers":[],"name":"checkpoints","nameLocation":"2650:11:118","nodeType":"FunctionDefinition","parameters":{"id":67462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67459,"mutability":"mutable","name":"account","nameLocation":"2670:7:118","nodeType":"VariableDeclaration","scope":67467,"src":"2662:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67458,"name":"address","nodeType":"ElementaryTypeName","src":"2662:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67461,"mutability":"mutable","name":"pos","nameLocation":"2686:3:118","nodeType":"VariableDeclaration","scope":67467,"src":"2679:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":67460,"name":"uint32","nodeType":"ElementaryTypeName","src":"2679:6:118","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2661:29:118"},"returnParameters":{"id":67466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67467,"src":"2714:32:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_memory_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":67464,"nodeType":"UserDefinedTypeName","pathNode":{"id":67463,"name":"Checkpoints.Checkpoint208","nameLocations":["2714:11:118","2726:13:118"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"2714:25:118"},"referencedDeclaration":9414,"src":"2714:25:118","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"src":"2713:34:118"},"scope":67719,"src":"2641:107:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"91ddadf4","id":67472,"implemented":false,"kind":"function","modifiers":[],"name":"clock","nameLocation":"2761:5:118","nodeType":"FunctionDefinition","parameters":{"id":67468,"nodeType":"ParameterList","parameters":[],"src":"2766:2:118"},"returnParameters":{"id":67471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67470,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67472,"src":"2792:6:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":67469,"name":"uint48","nodeType":"ElementaryTypeName","src":"2792:6:118","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2791:8:118"},"scope":67719,"src":"2752:48:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"313ce567","id":67477,"implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2813:8:118","nodeType":"FunctionDefinition","parameters":{"id":67473,"nodeType":"ParameterList","parameters":[],"src":"2821:2:118"},"returnParameters":{"id":67476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67477,"src":"2847:5:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67474,"name":"uint8","nodeType":"ElementaryTypeName","src":"2847:5:118","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2846:7:118"},"scope":67719,"src":"2804:50:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5c19a95c","id":67482,"implemented":false,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"2867:8:118","nodeType":"FunctionDefinition","parameters":{"id":67480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67479,"mutability":"mutable","name":"delegatee","nameLocation":"2884:9:118","nodeType":"VariableDeclaration","scope":67482,"src":"2876:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67478,"name":"address","nodeType":"ElementaryTypeName","src":"2876:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2875:19:118"},"returnParameters":{"id":67481,"nodeType":"ParameterList","parameters":[],"src":"2903:0:118"},"scope":67719,"src":"2858:46:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"c3cda520","id":67497,"implemented":false,"kind":"function","modifiers":[],"name":"delegateBySig","nameLocation":"2917:13:118","nodeType":"FunctionDefinition","parameters":{"id":67495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67484,"mutability":"mutable","name":"delegatee","nameLocation":"2939:9:118","nodeType":"VariableDeclaration","scope":67497,"src":"2931:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67483,"name":"address","nodeType":"ElementaryTypeName","src":"2931:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67486,"mutability":"mutable","name":"nonce","nameLocation":"2958:5:118","nodeType":"VariableDeclaration","scope":67497,"src":"2950:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67485,"name":"uint256","nodeType":"ElementaryTypeName","src":"2950:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67488,"mutability":"mutable","name":"expiry","nameLocation":"2973:6:118","nodeType":"VariableDeclaration","scope":67497,"src":"2965:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67487,"name":"uint256","nodeType":"ElementaryTypeName","src":"2965:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67490,"mutability":"mutable","name":"v","nameLocation":"2987:1:118","nodeType":"VariableDeclaration","scope":67497,"src":"2981:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67489,"name":"uint8","nodeType":"ElementaryTypeName","src":"2981:5:118","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":67492,"mutability":"mutable","name":"r","nameLocation":"2998:1:118","nodeType":"VariableDeclaration","scope":67497,"src":"2990:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2990:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67494,"mutability":"mutable","name":"s","nameLocation":"3009:1:118","nodeType":"VariableDeclaration","scope":67497,"src":"3001:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3001:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2930:81:118"},"returnParameters":{"id":67496,"nodeType":"ParameterList","parameters":[],"src":"3020:0:118"},"scope":67719,"src":"2908:113:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"587cde1e","id":67504,"implemented":false,"kind":"function","modifiers":[],"name":"delegates","nameLocation":"3034:9:118","nodeType":"FunctionDefinition","parameters":{"id":67500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67499,"mutability":"mutable","name":"account","nameLocation":"3052:7:118","nodeType":"VariableDeclaration","scope":67504,"src":"3044:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67498,"name":"address","nodeType":"ElementaryTypeName","src":"3044:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3043:17:118"},"returnParameters":{"id":67503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67504,"src":"3084:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67501,"name":"address","nodeType":"ElementaryTypeName","src":"3084:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3083:9:118"},"scope":67719,"src":"3025:68:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"84b0196e","id":67522,"implemented":false,"kind":"function","modifiers":[],"name":"eip712Domain","nameLocation":"3106:12:118","nodeType":"FunctionDefinition","parameters":{"id":67505,"nodeType":"ParameterList","parameters":[],"src":"3118:2:118"},"returnParameters":{"id":67521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67507,"mutability":"mutable","name":"fields","nameLocation":"3170:6:118","nodeType":"VariableDeclaration","scope":67522,"src":"3163:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":67506,"name":"bytes1","nodeType":"ElementaryTypeName","src":"3163:6:118","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":67509,"mutability":"mutable","name":"name","nameLocation":"3198:4:118","nodeType":"VariableDeclaration","scope":67522,"src":"3184:18:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67508,"name":"string","nodeType":"ElementaryTypeName","src":"3184:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":67511,"mutability":"mutable","name":"version","nameLocation":"3224:7:118","nodeType":"VariableDeclaration","scope":67522,"src":"3210:21:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67510,"name":"string","nodeType":"ElementaryTypeName","src":"3210:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":67513,"mutability":"mutable","name":"chainId","nameLocation":"3247:7:118","nodeType":"VariableDeclaration","scope":67522,"src":"3239:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67512,"name":"uint256","nodeType":"ElementaryTypeName","src":"3239:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67515,"mutability":"mutable","name":"verifyingContract","nameLocation":"3270:17:118","nodeType":"VariableDeclaration","scope":67522,"src":"3262:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67514,"name":"address","nodeType":"ElementaryTypeName","src":"3262:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67517,"mutability":"mutable","name":"salt","nameLocation":"3303:4:118","nodeType":"VariableDeclaration","scope":67522,"src":"3295:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3295:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67520,"mutability":"mutable","name":"extensions","nameLocation":"3332:10:118","nodeType":"VariableDeclaration","scope":67522,"src":"3315:27:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67518,"name":"uint256","nodeType":"ElementaryTypeName","src":"3315:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67519,"nodeType":"ArrayTypeName","src":"3315:9:118","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3155:193:118"},"scope":67719,"src":"3097:252:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"8e539e8c","id":67529,"implemented":false,"kind":"function","modifiers":[],"name":"getPastTotalSupply","nameLocation":"3362:18:118","nodeType":"FunctionDefinition","parameters":{"id":67525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67524,"mutability":"mutable","name":"timepoint","nameLocation":"3389:9:118","nodeType":"VariableDeclaration","scope":67529,"src":"3381:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67523,"name":"uint256","nodeType":"ElementaryTypeName","src":"3381:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3380:19:118"},"returnParameters":{"id":67528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67529,"src":"3423:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67526,"name":"uint256","nodeType":"ElementaryTypeName","src":"3423:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3422:9:118"},"scope":67719,"src":"3353:79:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3a46b1a8","id":67538,"implemented":false,"kind":"function","modifiers":[],"name":"getPastVotes","nameLocation":"3445:12:118","nodeType":"FunctionDefinition","parameters":{"id":67534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67531,"mutability":"mutable","name":"account","nameLocation":"3466:7:118","nodeType":"VariableDeclaration","scope":67538,"src":"3458:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67530,"name":"address","nodeType":"ElementaryTypeName","src":"3458:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67533,"mutability":"mutable","name":"timepoint","nameLocation":"3483:9:118","nodeType":"VariableDeclaration","scope":67538,"src":"3475:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67532,"name":"uint256","nodeType":"ElementaryTypeName","src":"3475:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3457:36:118"},"returnParameters":{"id":67537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67536,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67538,"src":"3517:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67535,"name":"uint256","nodeType":"ElementaryTypeName","src":"3517:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3516:9:118"},"scope":67719,"src":"3436:90:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"248a9ca3","id":67545,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"3539:12:118","nodeType":"FunctionDefinition","parameters":{"id":67541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67540,"mutability":"mutable","name":"role","nameLocation":"3560:4:118","nodeType":"VariableDeclaration","scope":67545,"src":"3552:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3552:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3551:14:118"},"returnParameters":{"id":67544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67543,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67545,"src":"3589:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3589:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3588:9:118"},"scope":67719,"src":"3530:68:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"9ab24eb0","id":67552,"implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"3611:8:118","nodeType":"FunctionDefinition","parameters":{"id":67548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67547,"mutability":"mutable","name":"account","nameLocation":"3628:7:118","nodeType":"VariableDeclaration","scope":67552,"src":"3620:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67546,"name":"address","nodeType":"ElementaryTypeName","src":"3620:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3619:17:118"},"returnParameters":{"id":67551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67550,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67552,"src":"3660:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67549,"name":"uint256","nodeType":"ElementaryTypeName","src":"3660:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3659:9:118"},"scope":67719,"src":"3602:67:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"2f2ff15d","id":67559,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"3682:9:118","nodeType":"FunctionDefinition","parameters":{"id":67557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67554,"mutability":"mutable","name":"role","nameLocation":"3700:4:118","nodeType":"VariableDeclaration","scope":67559,"src":"3692:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3692:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67556,"mutability":"mutable","name":"account","nameLocation":"3714:7:118","nodeType":"VariableDeclaration","scope":67559,"src":"3706:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67555,"name":"address","nodeType":"ElementaryTypeName","src":"3706:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3691:31:118"},"returnParameters":{"id":67558,"nodeType":"ParameterList","parameters":[],"src":"3731:0:118"},"scope":67719,"src":"3673:59:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"91d14854","id":67568,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"3745:7:118","nodeType":"FunctionDefinition","parameters":{"id":67564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67561,"mutability":"mutable","name":"role","nameLocation":"3761:4:118","nodeType":"VariableDeclaration","scope":67568,"src":"3753:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3753:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67563,"mutability":"mutable","name":"account","nameLocation":"3775:7:118","nodeType":"VariableDeclaration","scope":67568,"src":"3767:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67562,"name":"address","nodeType":"ElementaryTypeName","src":"3767:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3752:31:118"},"returnParameters":{"id":67567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67568,"src":"3807:4:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67565,"name":"bool","nodeType":"ElementaryTypeName","src":"3807:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3806:6:118"},"scope":67719,"src":"3736:77:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"06fdde03","id":67573,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"3826:4:118","nodeType":"FunctionDefinition","parameters":{"id":67569,"nodeType":"ParameterList","parameters":[],"src":"3830:2:118"},"returnParameters":{"id":67572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67573,"src":"3856:13:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67570,"name":"string","nodeType":"ElementaryTypeName","src":"3856:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3855:15:118"},"scope":67719,"src":"3817:54:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"7ecebe00","id":67580,"implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"3884:6:118","nodeType":"FunctionDefinition","parameters":{"id":67576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67575,"mutability":"mutable","name":"owner","nameLocation":"3899:5:118","nodeType":"VariableDeclaration","scope":67580,"src":"3891:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67574,"name":"address","nodeType":"ElementaryTypeName","src":"3891:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3890:15:118"},"returnParameters":{"id":67579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67580,"src":"3929:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67577,"name":"uint256","nodeType":"ElementaryTypeName","src":"3929:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3928:9:118"},"scope":67719,"src":"3875:63:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6fcfff45","id":67587,"implemented":false,"kind":"function","modifiers":[],"name":"numCheckpoints","nameLocation":"3951:14:118","nodeType":"FunctionDefinition","parameters":{"id":67583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67582,"mutability":"mutable","name":"account","nameLocation":"3974:7:118","nodeType":"VariableDeclaration","scope":67587,"src":"3966:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67581,"name":"address","nodeType":"ElementaryTypeName","src":"3966:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3965:17:118"},"returnParameters":{"id":67586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67587,"src":"4006:6:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":67584,"name":"uint32","nodeType":"ElementaryTypeName","src":"4006:6:118","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"4005:8:118"},"scope":67719,"src":"3942:72:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"8456cb59","id":67590,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"4027:5:118","nodeType":"FunctionDefinition","parameters":{"id":67588,"nodeType":"ParameterList","parameters":[],"src":"4032:2:118"},"returnParameters":{"id":67589,"nodeType":"ParameterList","parameters":[],"src":"4043:0:118"},"scope":67719,"src":"4018:26:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"5c975abb","id":67595,"implemented":false,"kind":"function","modifiers":[],"name":"paused","nameLocation":"4057:6:118","nodeType":"FunctionDefinition","parameters":{"id":67591,"nodeType":"ParameterList","parameters":[],"src":"4063:2:118"},"returnParameters":{"id":67594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67595,"src":"4089:4:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67592,"name":"bool","nodeType":"ElementaryTypeName","src":"4089:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4088:6:118"},"scope":67719,"src":"4048:47:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"d505accf","id":67612,"implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4108:6:118","nodeType":"FunctionDefinition","parameters":{"id":67610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67597,"mutability":"mutable","name":"owner","nameLocation":"4128:5:118","nodeType":"VariableDeclaration","scope":67612,"src":"4120:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67596,"name":"address","nodeType":"ElementaryTypeName","src":"4120:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67599,"mutability":"mutable","name":"spender","nameLocation":"4147:7:118","nodeType":"VariableDeclaration","scope":67612,"src":"4139:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67598,"name":"address","nodeType":"ElementaryTypeName","src":"4139:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67601,"mutability":"mutable","name":"value","nameLocation":"4168:5:118","nodeType":"VariableDeclaration","scope":67612,"src":"4160:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67600,"name":"uint256","nodeType":"ElementaryTypeName","src":"4160:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67603,"mutability":"mutable","name":"deadline","nameLocation":"4187:8:118","nodeType":"VariableDeclaration","scope":67612,"src":"4179:16:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67602,"name":"uint256","nodeType":"ElementaryTypeName","src":"4179:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67605,"mutability":"mutable","name":"v","nameLocation":"4207:1:118","nodeType":"VariableDeclaration","scope":67612,"src":"4201:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67604,"name":"uint8","nodeType":"ElementaryTypeName","src":"4201:5:118","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":67607,"mutability":"mutable","name":"r","nameLocation":"4222:1:118","nodeType":"VariableDeclaration","scope":67612,"src":"4214:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4214:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67609,"mutability":"mutable","name":"s","nameLocation":"4237:1:118","nodeType":"VariableDeclaration","scope":67612,"src":"4229:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4229:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4114:128:118"},"returnParameters":{"id":67611,"nodeType":"ParameterList","parameters":[],"src":"4251:0:118"},"scope":67719,"src":"4099:153:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"36568abe","id":67619,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"4265:12:118","nodeType":"FunctionDefinition","parameters":{"id":67617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67614,"mutability":"mutable","name":"role","nameLocation":"4286:4:118","nodeType":"VariableDeclaration","scope":67619,"src":"4278:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4278:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67616,"mutability":"mutable","name":"callerConfirmation","nameLocation":"4300:18:118","nodeType":"VariableDeclaration","scope":67619,"src":"4292:26:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67615,"name":"address","nodeType":"ElementaryTypeName","src":"4292:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4277:42:118"},"returnParameters":{"id":67618,"nodeType":"ParameterList","parameters":[],"src":"4328:0:118"},"scope":67719,"src":"4256:73:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"d547741f","id":67626,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"4342:10:118","nodeType":"FunctionDefinition","parameters":{"id":67624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67621,"mutability":"mutable","name":"role","nameLocation":"4361:4:118","nodeType":"VariableDeclaration","scope":67626,"src":"4353:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4353:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67623,"mutability":"mutable","name":"account","nameLocation":"4375:7:118","nodeType":"VariableDeclaration","scope":67626,"src":"4367:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67622,"name":"address","nodeType":"ElementaryTypeName","src":"4367:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4352:31:118"},"returnParameters":{"id":67625,"nodeType":"ParameterList","parameters":[],"src":"4392:0:118"},"scope":67719,"src":"4333:60:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"e23285a0","id":67631,"implemented":false,"kind":"function","modifiers":[],"name":"convertToVOT3","nameLocation":"4406:13:118","nodeType":"FunctionDefinition","parameters":{"id":67629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67628,"mutability":"mutable","name":"amount","nameLocation":"4428:6:118","nodeType":"VariableDeclaration","scope":67631,"src":"4420:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67627,"name":"uint256","nodeType":"ElementaryTypeName","src":"4420:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4419:16:118"},"returnParameters":{"id":67630,"nodeType":"ParameterList","parameters":[],"src":"4444:0:118"},"scope":67719,"src":"4397:48:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"c731790a","id":67638,"implemented":false,"kind":"function","modifiers":[],"name":"convertedB3trOf","nameLocation":"4458:15:118","nodeType":"FunctionDefinition","parameters":{"id":67634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67633,"mutability":"mutable","name":"account","nameLocation":"4482:7:118","nodeType":"VariableDeclaration","scope":67638,"src":"4474:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67632,"name":"address","nodeType":"ElementaryTypeName","src":"4474:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4473:17:118"},"returnParameters":{"id":67637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67638,"src":"4514:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67635,"name":"uint256","nodeType":"ElementaryTypeName","src":"4514:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4513:9:118"},"scope":67719,"src":"4449:74:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"01ffc9a7","id":67645,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"4536:17:118","nodeType":"FunctionDefinition","parameters":{"id":67641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67640,"mutability":"mutable","name":"interfaceId","nameLocation":"4561:11:118","nodeType":"VariableDeclaration","scope":67645,"src":"4554:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":67639,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4554:6:118","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4553:20:118"},"returnParameters":{"id":67644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67643,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67645,"src":"4597:4:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67642,"name":"bool","nodeType":"ElementaryTypeName","src":"4597:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4596:6:118"},"scope":67719,"src":"4527:76:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"95d89b41","id":67650,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"4616:6:118","nodeType":"FunctionDefinition","parameters":{"id":67646,"nodeType":"ParameterList","parameters":[],"src":"4622:2:118"},"returnParameters":{"id":67649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67648,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67650,"src":"4648:13:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67647,"name":"string","nodeType":"ElementaryTypeName","src":"4648:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4647:15:118"},"scope":67719,"src":"4607:56:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"18160ddd","id":67655,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"4676:11:118","nodeType":"FunctionDefinition","parameters":{"id":67651,"nodeType":"ParameterList","parameters":[],"src":"4687:2:118"},"returnParameters":{"id":67654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67655,"src":"4713:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67652,"name":"uint256","nodeType":"ElementaryTypeName","src":"4713:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4712:9:118"},"scope":67719,"src":"4667:55:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a9059cbb","id":67664,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"4735:8:118","nodeType":"FunctionDefinition","parameters":{"id":67660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67657,"mutability":"mutable","name":"to","nameLocation":"4752:2:118","nodeType":"VariableDeclaration","scope":67664,"src":"4744:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67656,"name":"address","nodeType":"ElementaryTypeName","src":"4744:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67659,"mutability":"mutable","name":"value","nameLocation":"4764:5:118","nodeType":"VariableDeclaration","scope":67664,"src":"4756:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67658,"name":"uint256","nodeType":"ElementaryTypeName","src":"4756:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4743:27:118"},"returnParameters":{"id":67663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67662,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67664,"src":"4789:4:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67661,"name":"bool","nodeType":"ElementaryTypeName","src":"4789:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4788:6:118"},"scope":67719,"src":"4726:69:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"23b872dd","id":67675,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4808:12:118","nodeType":"FunctionDefinition","parameters":{"id":67671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67666,"mutability":"mutable","name":"from","nameLocation":"4829:4:118","nodeType":"VariableDeclaration","scope":67675,"src":"4821:12:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67665,"name":"address","nodeType":"ElementaryTypeName","src":"4821:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67668,"mutability":"mutable","name":"to","nameLocation":"4843:2:118","nodeType":"VariableDeclaration","scope":67675,"src":"4835:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67667,"name":"address","nodeType":"ElementaryTypeName","src":"4835:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67670,"mutability":"mutable","name":"value","nameLocation":"4855:5:118","nodeType":"VariableDeclaration","scope":67675,"src":"4847:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67669,"name":"uint256","nodeType":"ElementaryTypeName","src":"4847:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4820:41:118"},"returnParameters":{"id":67674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67673,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67675,"src":"4880:4:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67672,"name":"bool","nodeType":"ElementaryTypeName","src":"4880:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4879:6:118"},"scope":67719,"src":"4799:87:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"3f4ba83a","id":67678,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"4899:7:118","nodeType":"FunctionDefinition","parameters":{"id":67676,"nodeType":"ParameterList","parameters":[],"src":"4906:2:118"},"returnParameters":{"id":67677,"nodeType":"ParameterList","parameters":[],"src":"4917:0:118"},"scope":67719,"src":"4890:28:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"9ae05c35","id":67683,"implemented":false,"kind":"function","modifiers":[],"name":"convertToB3TR","nameLocation":"4931:13:118","nodeType":"FunctionDefinition","parameters":{"id":67681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67680,"mutability":"mutable","name":"amount","nameLocation":"4953:6:118","nodeType":"VariableDeclaration","scope":67683,"src":"4945:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67679,"name":"uint256","nodeType":"ElementaryTypeName","src":"4945:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4944:16:118"},"returnParameters":{"id":67682,"nodeType":"ParameterList","parameters":[],"src":"4969:0:118"},"scope":67719,"src":"4922:48:118","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"faad8676","id":67690,"implemented":false,"kind":"function","modifiers":[],"name":"getQuadraticVotingPower","nameLocation":"4983:23:118","nodeType":"FunctionDefinition","parameters":{"id":67686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67685,"mutability":"mutable","name":"account","nameLocation":"5015:7:118","nodeType":"VariableDeclaration","scope":67690,"src":"5007:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67684,"name":"address","nodeType":"ElementaryTypeName","src":"5007:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5006:17:118"},"returnParameters":{"id":67689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67688,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67690,"src":"5047:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67687,"name":"uint256","nodeType":"ElementaryTypeName","src":"5047:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5046:9:118"},"scope":67719,"src":"4974:82:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"114d621e","id":67699,"implemented":false,"kind":"function","modifiers":[],"name":"getPastQuadraticVotingPower","nameLocation":"5069:27:118","nodeType":"FunctionDefinition","parameters":{"id":67695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67692,"mutability":"mutable","name":"account","nameLocation":"5105:7:118","nodeType":"VariableDeclaration","scope":67699,"src":"5097:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67691,"name":"address","nodeType":"ElementaryTypeName","src":"5097:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67694,"mutability":"mutable","name":"timepoint","nameLocation":"5122:9:118","nodeType":"VariableDeclaration","scope":67699,"src":"5114:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67693,"name":"uint256","nodeType":"ElementaryTypeName","src":"5114:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5096:36:118"},"returnParameters":{"id":67698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67699,"src":"5156:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67696,"name":"uint256","nodeType":"ElementaryTypeName","src":"5156:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5155:9:118"},"scope":67719,"src":"5060:105:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"54fd4d50","id":67704,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"5178:7:118","nodeType":"FunctionDefinition","parameters":{"id":67700,"nodeType":"ParameterList","parameters":[],"src":"5185:2:118"},"returnParameters":{"id":67703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67704,"src":"5211:13:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67701,"name":"string","nodeType":"ElementaryTypeName","src":"5211:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5210:15:118"},"scope":67719,"src":"5169:57:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"b0385a12","id":67711,"implemented":false,"kind":"function","modifiers":[],"name":"getNavigatorLockedAmount","nameLocation":"5305:24:118","nodeType":"FunctionDefinition","parameters":{"id":67707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67706,"mutability":"mutable","name":"account","nameLocation":"5338:7:118","nodeType":"VariableDeclaration","scope":67711,"src":"5330:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67705,"name":"address","nodeType":"ElementaryTypeName","src":"5330:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5329:17:118"},"returnParameters":{"id":67710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67711,"src":"5370:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67708,"name":"uint256","nodeType":"ElementaryTypeName","src":"5370:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5369:9:118"},"scope":67719,"src":"5296:83:118","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5e0fac2e","id":67718,"implemented":false,"kind":"function","modifiers":[],"name":"unlockedBalance","nameLocation":"5392:15:118","nodeType":"FunctionDefinition","parameters":{"id":67714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67713,"mutability":"mutable","name":"account","nameLocation":"5416:7:118","nodeType":"VariableDeclaration","scope":67718,"src":"5408:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67712,"name":"address","nodeType":"ElementaryTypeName","src":"5408:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5407:17:118"},"returnParameters":{"id":67717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67716,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67718,"src":"5448:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67715,"name":"uint256","nodeType":"ElementaryTypeName","src":"5448:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5447:9:118"},"scope":67719,"src":"5383:74:118","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":67720,"src":"123:5336:118","usedErrors":[67246,67252,67254,67256,67260,67264,67270,67278,67286,67290,67294,67298,67302,67306,67312,67318,67320,67322,67324,67330,67332,67338,67342,67346],"usedEvents":[67354,67362,67370,67372,67376,67384,67392,67400,67408,67412]}],"src":"33:5427:118"},"id":118},"contracts/interfaces/IVeBetterPassport.sol":{"ast":{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","exportedSymbols":{"IVeBetterPassport":[68601],"IX2EarnApps":[69989],"IXAllocationVotingGovernor":[71124],"PassportTypes":[73234]},"id":68602,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":67721,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:119"},{"absolutePath":"contracts/ve-better-passport/libraries/PassportTypes.sol","file":"../ve-better-passport/libraries/PassportTypes.sol","id":67723,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":68602,"sourceUnit":73235,"src":"57:82:119","symbolAliases":[{"foreign":{"id":67722,"name":"PassportTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73234,"src":"66:13:119","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"./IX2EarnApps.sol","id":67725,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":68602,"sourceUnit":69990,"src":"140:48:119","symbolAliases":[{"foreign":{"id":67724,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"149:11:119","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"./IXAllocationVotingGovernor.sol","id":67727,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":68602,"sourceUnit":71125,"src":"189:78:119","symbolAliases":[{"foreign":{"id":67726,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"198:26:119","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IVeBetterPassport","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":68601,"linearizedBaseContracts":[68601],"name":"IVeBetterPassport","nameLocation":"279:17:119","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":67728,"nodeType":"StructuredDocumentation","src":"339:183:119","text":"@notice Emitted when a specific check is toggled.\n @param checkName The name of the check being toggled.\n @param enabled True if the check is enabled, false if disabled."},"eventSelector":"6597febd892627da1c0dcb869f4009fcddf0536800f46387a1c71ec0bb40b89c","id":67734,"name":"CheckToggled","nameLocation":"531:12:119","nodeType":"EventDefinition","parameters":{"id":67733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67730,"indexed":true,"mutability":"mutable","name":"checkName","nameLocation":"559:9:119","nodeType":"VariableDeclaration","scope":67734,"src":"544:24:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67729,"name":"string","nodeType":"ElementaryTypeName","src":"544:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":67732,"indexed":false,"mutability":"mutable","name":"enabled","nameLocation":"575:7:119","nodeType":"VariableDeclaration","scope":67734,"src":"570:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67731,"name":"bool","nodeType":"ElementaryTypeName","src":"570:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"543:40:119"},"src":"525:59:119"},{"anonymous":false,"documentation":{"id":67735,"nodeType":"StructuredDocumentation","src":"588:139:119","text":"@notice Emitted when the minimum galaxy member level is set.\n @param minimumGalaxyMemberLevel The new minimum galaxy member level."},"eventSelector":"a2c705c50ba0db842bd184a7106f86bf8f532c275513da346bc43c05c4cf0f4d","id":67739,"name":"MinimumGalaxyMemberLevelSet","nameLocation":"736:27:119","nodeType":"EventDefinition","parameters":{"id":67738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67737,"indexed":false,"mutability":"mutable","name":"minimumGalaxyMemberLevel","nameLocation":"772:24:119","nodeType":"VariableDeclaration","scope":67739,"src":"764:32:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67736,"name":"uint256","nodeType":"ElementaryTypeName","src":"764:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"763:34:119"},"src":"730:68:119"},{"anonymous":false,"documentation":{"id":67740,"nodeType":"StructuredDocumentation","src":"802:69:119","text":"@notice Emitted when a user delegates personhood to another user."},"eventSelector":"f644c2a6a740703067e9f00fb5a09444cd18cca01a19ce87915e934297a43fe2","id":67746,"name":"LinkCreated","nameLocation":"880:11:119","nodeType":"EventDefinition","parameters":{"id":67745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67742,"indexed":true,"mutability":"mutable","name":"entity","nameLocation":"908:6:119","nodeType":"VariableDeclaration","scope":67746,"src":"892:22:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67741,"name":"address","nodeType":"ElementaryTypeName","src":"892:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67744,"indexed":true,"mutability":"mutable","name":"passport","nameLocation":"932:8:119","nodeType":"VariableDeclaration","scope":67746,"src":"916:24:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67743,"name":"address","nodeType":"ElementaryTypeName","src":"916:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"891:50:119"},"src":"874:68:119"},{"anonymous":false,"documentation":{"id":67747,"nodeType":"StructuredDocumentation","src":"946:85:119","text":"@notice Emitted when a user revokes the delegation of personhood to another user."},"eventSelector":"916811490c3a0241b2088d3f6464fbfe3003b4bb42a760a720e893a81de60051","id":67753,"name":"LinkRemoved","nameLocation":"1040:11:119","nodeType":"EventDefinition","parameters":{"id":67752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67749,"indexed":true,"mutability":"mutable","name":"entity","nameLocation":"1068:6:119","nodeType":"VariableDeclaration","scope":67753,"src":"1052:22:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67748,"name":"address","nodeType":"ElementaryTypeName","src":"1052:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67751,"indexed":true,"mutability":"mutable","name":"passport","nameLocation":"1092:8:119","nodeType":"VariableDeclaration","scope":67753,"src":"1076:24:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67750,"name":"address","nodeType":"ElementaryTypeName","src":"1076:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1051:50:119"},"src":"1034:68:119"},{"anonymous":false,"documentation":{"id":67754,"nodeType":"StructuredDocumentation","src":"1106:88:119","text":"@notice Emitted when a user delegates personhood to another user pending acceptance."},"eventSelector":"a5ce3061f55dc6a6cb616713edbec99b638865accddbd58c83fd009e9ce920e7","id":67760,"name":"LinkPending","nameLocation":"1203:11:119","nodeType":"EventDefinition","parameters":{"id":67759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67756,"indexed":true,"mutability":"mutable","name":"entity","nameLocation":"1231:6:119","nodeType":"VariableDeclaration","scope":67760,"src":"1215:22:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67755,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67758,"indexed":true,"mutability":"mutable","name":"passport","nameLocation":"1255:8:119","nodeType":"VariableDeclaration","scope":67760,"src":"1239:24:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67757,"name":"address","nodeType":"ElementaryTypeName","src":"1239:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1214:50:119"},"src":"1197:68:119"},{"anonymous":false,"documentation":{"id":67761,"nodeType":"StructuredDocumentation","src":"1269:306:119","text":"@notice Emitted when a user registers an action\n @param user - the user that registered the action\n @param passport - the passport address of the user\n @param appId - the app id of the action\n @param round - the round of the action\n @param actionScore - the score of the action"},"eventSelector":"51ea9b7b791d42c8517fa7a13074dced51d4cc9afa4bdf03ea0371a0244f1331","id":67773,"name":"RegisteredAction","nameLocation":"1584:16:119","nodeType":"EventDefinition","parameters":{"id":67772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67763,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"1622:4:119","nodeType":"VariableDeclaration","scope":67773,"src":"1606:20:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67762,"name":"address","nodeType":"ElementaryTypeName","src":"1606:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67765,"indexed":false,"mutability":"mutable","name":"passport","nameLocation":"1640:8:119","nodeType":"VariableDeclaration","scope":67773,"src":"1632:16:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67764,"name":"address","nodeType":"ElementaryTypeName","src":"1632:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67767,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"1670:5:119","nodeType":"VariableDeclaration","scope":67773,"src":"1654:21:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1654:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67769,"indexed":true,"mutability":"mutable","name":"round","nameLocation":"1697:5:119","nodeType":"VariableDeclaration","scope":67773,"src":"1681:21:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67768,"name":"uint256","nodeType":"ElementaryTypeName","src":"1681:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67771,"indexed":false,"mutability":"mutable","name":"actionScore","nameLocation":"1716:11:119","nodeType":"VariableDeclaration","scope":67773,"src":"1708:19:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67770,"name":"uint256","nodeType":"ElementaryTypeName","src":"1708:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1600:131:119"},"src":"1578:154:119"},{"anonymous":false,"documentation":{"id":67774,"nodeType":"StructuredDocumentation","src":"1736:291:119","text":"@notice Emitted when a user is signaled.\n @param user  The address of the user that was signaled.\n @param signaler  The address of the user that signaled the user.\n @param app  The app that the user was signaled for.\n @param reason  The reason for signaling the user."},"eventSelector":"f25f15e8ef26f4be9336774a49507bb309a1336536723f5fde89b14057949dbd","id":67784,"name":"UserSignaled","nameLocation":"2036:12:119","nodeType":"EventDefinition","parameters":{"id":67783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67776,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"2065:4:119","nodeType":"VariableDeclaration","scope":67784,"src":"2049:20:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67775,"name":"address","nodeType":"ElementaryTypeName","src":"2049:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67778,"indexed":true,"mutability":"mutable","name":"signaler","nameLocation":"2087:8:119","nodeType":"VariableDeclaration","scope":67784,"src":"2071:24:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67777,"name":"address","nodeType":"ElementaryTypeName","src":"2071:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67780,"indexed":true,"mutability":"mutable","name":"app","nameLocation":"2113:3:119","nodeType":"VariableDeclaration","scope":67784,"src":"2097:19:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2097:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67782,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"2125:6:119","nodeType":"VariableDeclaration","scope":67784,"src":"2118:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67781,"name":"string","nodeType":"ElementaryTypeName","src":"2118:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2048:84:119"},"src":"2030:103:119"},{"anonymous":false,"documentation":{"id":67785,"nodeType":"StructuredDocumentation","src":"2137:178:119","text":"@notice Emited when an address is associated with an app.\n @param signaler  The address of the signaler.\n @param app  The app that the signaler was associated with."},"eventSelector":"d8c22d7f098517032ec270986bbe55478d2e791ccf89ee272402d487810b1254","id":67791,"name":"SignalerAssignedToApp","nameLocation":"2324:21:119","nodeType":"EventDefinition","parameters":{"id":67790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67787,"indexed":true,"mutability":"mutable","name":"signaler","nameLocation":"2362:8:119","nodeType":"VariableDeclaration","scope":67791,"src":"2346:24:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67786,"name":"address","nodeType":"ElementaryTypeName","src":"2346:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67789,"indexed":true,"mutability":"mutable","name":"app","nameLocation":"2388:3:119","nodeType":"VariableDeclaration","scope":67791,"src":"2372:19:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2372:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2345:47:119"},"src":"2318:75:119"},{"anonymous":false,"documentation":{"id":67792,"nodeType":"StructuredDocumentation","src":"2397:173:119","text":"@notice Emitted when an address is removed from an app.\n @param signaler  The address of the signaler.\n @param app  The app that the signaler was removed from."},"eventSelector":"617eb548e66b4e7465391879780b27e77c43a7af63e9dd6cf2e7076daff89057","id":67798,"name":"SignalerRemovedFromApp","nameLocation":"2579:22:119","nodeType":"EventDefinition","parameters":{"id":67797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67794,"indexed":true,"mutability":"mutable","name":"signaler","nameLocation":"2618:8:119","nodeType":"VariableDeclaration","scope":67798,"src":"2602:24:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67793,"name":"address","nodeType":"ElementaryTypeName","src":"2602:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67796,"indexed":true,"mutability":"mutable","name":"app","nameLocation":"2644:3:119","nodeType":"VariableDeclaration","scope":67798,"src":"2628:19:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2628:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2601:47:119"},"src":"2573:76:119"},{"anonymous":false,"documentation":{"id":67799,"nodeType":"StructuredDocumentation","src":"2653:184:119","text":"@notice Emitted when a user's signals are reset.\n @param user  The address of the user that had their signals reset.\n @param reason  The reason for resetting the signals."},"eventSelector":"1ebbf7da6e1ef1fb76df73897af6ec2fe552869d2be5ea5bb56770b82f27dd6c","id":67805,"name":"UserSignalsReset","nameLocation":"2846:16:119","nodeType":"EventDefinition","parameters":{"id":67804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67801,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"2879:4:119","nodeType":"VariableDeclaration","scope":67805,"src":"2863:20:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67800,"name":"address","nodeType":"ElementaryTypeName","src":"2863:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67803,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"2892:6:119","nodeType":"VariableDeclaration","scope":67805,"src":"2885:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67802,"name":"string","nodeType":"ElementaryTypeName","src":"2885:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2862:37:119"},"src":"2840:60:119"},{"anonymous":false,"documentation":{"id":67806,"nodeType":"StructuredDocumentation","src":"2904:159:119","text":"@notice Emitted when a user is whitelisted\n @param user - the user that is whitelisted\n @param whitelistedBy - the user that whitelisted the user"},"eventSelector":"4bc18aa4b0095c9a3b5cdf42d2322d5a145591b04045988a995a5da426075457","id":67812,"name":"UserWhitelisted","nameLocation":"3072:15:119","nodeType":"EventDefinition","parameters":{"id":67811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67808,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"3104:4:119","nodeType":"VariableDeclaration","scope":67812,"src":"3088:20:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67807,"name":"address","nodeType":"ElementaryTypeName","src":"3088:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67810,"indexed":true,"mutability":"mutable","name":"whitelistedBy","nameLocation":"3126:13:119","nodeType":"VariableDeclaration","scope":67812,"src":"3110:29:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67809,"name":"address","nodeType":"ElementaryTypeName","src":"3110:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3087:53:119"},"src":"3066:75:119"},{"anonymous":false,"documentation":{"id":67813,"nodeType":"StructuredDocumentation","src":"3145:200:119","text":"@notice Emitted when a user is removed from the whitelist\n @param user - the user that is removed from the whitelist\n @param removedBy - the user that removed the user from the whitelist"},"eventSelector":"dde27c144443a54dc101baecf71cf43c14f06defcd403bce05b372caba1cdcd0","id":67821,"name":"RemovedUserFromWhitelist","nameLocation":"3354:24:119","nodeType":"EventDefinition","parameters":{"id":67820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67815,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"3395:4:119","nodeType":"VariableDeclaration","scope":67821,"src":"3379:20:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67814,"name":"address","nodeType":"ElementaryTypeName","src":"3379:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67817,"indexed":true,"mutability":"mutable","name":"passport","nameLocation":"3417:8:119","nodeType":"VariableDeclaration","scope":67821,"src":"3401:24:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67816,"name":"address","nodeType":"ElementaryTypeName","src":"3401:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67819,"indexed":true,"mutability":"mutable","name":"removedBy","nameLocation":"3443:9:119","nodeType":"VariableDeclaration","scope":67821,"src":"3427:25:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67818,"name":"address","nodeType":"ElementaryTypeName","src":"3427:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3378:75:119"},"src":"3348:106:119"},{"anonymous":false,"documentation":{"id":67822,"nodeType":"StructuredDocumentation","src":"3458:159:119","text":"@notice Emitted when a user is blacklisted\n @param user - the user that is blacklisted\n @param blacklistedBy - the user that blacklisted the user"},"eventSelector":"b238e099a93706e73d75fdb8fb35f9a0a146e80ead15480e50fbc9db1736aa04","id":67828,"name":"UserBlacklisted","nameLocation":"3626:15:119","nodeType":"EventDefinition","parameters":{"id":67827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67824,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"3658:4:119","nodeType":"VariableDeclaration","scope":67828,"src":"3642:20:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67823,"name":"address","nodeType":"ElementaryTypeName","src":"3642:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67826,"indexed":true,"mutability":"mutable","name":"blacklistedBy","nameLocation":"3680:13:119","nodeType":"VariableDeclaration","scope":67828,"src":"3664:29:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67825,"name":"address","nodeType":"ElementaryTypeName","src":"3664:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3641:53:119"},"src":"3620:75:119"},{"anonymous":false,"documentation":{"id":67829,"nodeType":"StructuredDocumentation","src":"3699:200:119","text":"@notice Emitted when a user is removed from the blacklist\n @param user - the user that is removed from the blacklist\n @param removedBy - the user that removed the user from the blacklist"},"eventSelector":"d12ee140a2e74664b10a866c6f75c8b756520ad9b6bbbe4c33f10811a62cbf71","id":67835,"name":"RemovedUserFromBlacklist","nameLocation":"3908:24:119","nodeType":"EventDefinition","parameters":{"id":67834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67831,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"3949:4:119","nodeType":"VariableDeclaration","scope":67835,"src":"3933:20:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67830,"name":"address","nodeType":"ElementaryTypeName","src":"3933:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67833,"indexed":true,"mutability":"mutable","name":"removedBy","nameLocation":"3971:9:119","nodeType":"VariableDeclaration","scope":67835,"src":"3955:25:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67832,"name":"address","nodeType":"ElementaryTypeName","src":"3955:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3932:49:119"},"src":"3902:80:119"},{"anonymous":false,"documentation":{"id":67836,"nodeType":"StructuredDocumentation","src":"3986:265:119","text":"@notice Emitted when a user's signals are reset for an app.\n @param user  The address of the user that had their signals reset.\n @param app  The app that the user had their signals reset for.\n @param reason - The reason for resetting the signals."},"eventSelector":"d1a3831b3da91367737710ecdb8c8262265b33fa319568dd2a124926d26a7192","id":67844,"name":"UserSignalsResetForApp","nameLocation":"4260:22:119","nodeType":"EventDefinition","parameters":{"id":67843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67838,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"4299:4:119","nodeType":"VariableDeclaration","scope":67844,"src":"4283:20:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67837,"name":"address","nodeType":"ElementaryTypeName","src":"4283:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67840,"indexed":true,"mutability":"mutable","name":"app","nameLocation":"4321:3:119","nodeType":"VariableDeclaration","scope":67844,"src":"4305:19:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4305:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67842,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"4333:6:119","nodeType":"VariableDeclaration","scope":67844,"src":"4326:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67841,"name":"string","nodeType":"ElementaryTypeName","src":"4326:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4282:58:119"},"src":"4254:87:119"},{"anonymous":false,"documentation":{"id":67845,"nodeType":"StructuredDocumentation","src":"4345:67:119","text":"@notice Emitted when a user delegates passport to another user."},"eventSelector":"faf6077d874fc7f1716637c6f4ac4914ce0cfbf27767bb442ed23dd08dad4044","id":67851,"name":"DelegationCreated","nameLocation":"4421:17:119","nodeType":"EventDefinition","parameters":{"id":67850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67847,"indexed":true,"mutability":"mutable","name":"delegator","nameLocation":"4455:9:119","nodeType":"VariableDeclaration","scope":67851,"src":"4439:25:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67846,"name":"address","nodeType":"ElementaryTypeName","src":"4439:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67849,"indexed":true,"mutability":"mutable","name":"delegatee","nameLocation":"4482:9:119","nodeType":"VariableDeclaration","scope":67851,"src":"4466:25:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67848,"name":"address","nodeType":"ElementaryTypeName","src":"4466:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4438:54:119"},"src":"4415:78:119"},{"anonymous":false,"documentation":{"id":67852,"nodeType":"StructuredDocumentation","src":"4497:86:119","text":"@notice Emitted when a user delegates passport to another user pending acceptance."},"eventSelector":"74e65557682bd085b776a10c4542ef8a7be38069648dce172fe713b91c9700f1","id":67858,"name":"DelegationPending","nameLocation":"4592:17:119","nodeType":"EventDefinition","parameters":{"id":67857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67854,"indexed":true,"mutability":"mutable","name":"delegator","nameLocation":"4626:9:119","nodeType":"VariableDeclaration","scope":67858,"src":"4610:25:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67853,"name":"address","nodeType":"ElementaryTypeName","src":"4610:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67856,"indexed":true,"mutability":"mutable","name":"delegatee","nameLocation":"4653:9:119","nodeType":"VariableDeclaration","scope":67858,"src":"4637:25:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67855,"name":"address","nodeType":"ElementaryTypeName","src":"4637:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4609:54:119"},"src":"4586:78:119"},{"anonymous":false,"documentation":{"id":67859,"nodeType":"StructuredDocumentation","src":"4668:83:119","text":"@notice Emitted when a user revokes the delegation of passport to another user."},"eventSelector":"6f0412fa95f7f48ec7dc7631b382833d8eae9cf4082e5e859b94d091a4a846d4","id":67865,"name":"DelegationRevoked","nameLocation":"4760:17:119","nodeType":"EventDefinition","parameters":{"id":67864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67861,"indexed":true,"mutability":"mutable","name":"delegator","nameLocation":"4794:9:119","nodeType":"VariableDeclaration","scope":67865,"src":"4778:25:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67860,"name":"address","nodeType":"ElementaryTypeName","src":"4778:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67863,"indexed":true,"mutability":"mutable","name":"delegatee","nameLocation":"4821:9:119","nodeType":"VariableDeclaration","scope":67865,"src":"4805:25:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67862,"name":"address","nodeType":"ElementaryTypeName","src":"4805:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4777:54:119"},"src":"4754:78:119"},{"documentation":{"id":67866,"nodeType":"StructuredDocumentation","src":"4836:61:119","text":"@notice Emitted when an an entity is linked to a passport"},"errorSelector":"9546eb63","id":67870,"name":"AlreadyLinked","nameLocation":"4906:13:119","nodeType":"ErrorDefinition","parameters":{"id":67869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67868,"mutability":"mutable","name":"entity","nameLocation":"4928:6:119","nodeType":"VariableDeclaration","scope":67870,"src":"4920:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67867,"name":"address","nodeType":"ElementaryTypeName","src":"4920:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4919:16:119"},"src":"4900:36:119"},{"documentation":{"id":67871,"nodeType":"StructuredDocumentation","src":"4977:80:119","text":"@notice Emitted when a user does not have permission to delegate personhood."},"errorSelector":"ea93ab6d","id":67875,"name":"UnauthorizedUser","nameLocation":"5066:16:119","nodeType":"ErrorDefinition","parameters":{"id":67874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67873,"mutability":"mutable","name":"user","nameLocation":"5091:4:119","nodeType":"VariableDeclaration","scope":67875,"src":"5083:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67872,"name":"address","nodeType":"ElementaryTypeName","src":"5083:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5082:14:119"},"src":"5060:37:119"},{"documentation":{"id":67876,"nodeType":"StructuredDocumentation","src":"5101:106:119","text":"@notice Emitted when a user tries to delegate personhood to a user that has already been delegated to."},"errorSelector":"6f2e3efe","id":67880,"name":"AlreadyDelegated","nameLocation":"5216:16:119","nodeType":"ErrorDefinition","parameters":{"id":67879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67878,"mutability":"mutable","name":"entity","nameLocation":"5241:6:119","nodeType":"VariableDeclaration","scope":67880,"src":"5233:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67877,"name":"address","nodeType":"ElementaryTypeName","src":"5233:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5232:16:119"},"src":"5210:39:119"},{"documentation":{"id":67881,"nodeType":"StructuredDocumentation","src":"5253:75:119","text":"@notice Emitted when a user tries to delegate personhood to themselves."},"errorSelector":"2999fb78","id":67885,"name":"CannotLinkToSelf","nameLocation":"5337:16:119","nodeType":"ErrorDefinition","parameters":{"id":67884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67883,"mutability":"mutable","name":"user","nameLocation":"5362:4:119","nodeType":"VariableDeclaration","scope":67885,"src":"5354:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67882,"name":"address","nodeType":"ElementaryTypeName","src":"5354:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5353:14:119"},"src":"5331:37:119"},{"documentation":{"id":67886,"nodeType":"StructuredDocumentation","src":"5372:83:119","text":"@notice Emitted when a user tries to delegate personhood to more than one user."},"errorSelector":"e578ae26","id":67888,"name":"OnlyOneLinkAllowed","nameLocation":"5464:18:119","nodeType":"ErrorDefinition","parameters":{"id":67887,"nodeType":"ParameterList","parameters":[],"src":"5482:2:119"},"src":"5458:27:119"},{"documentation":{"id":67889,"nodeType":"StructuredDocumentation","src":"5489:94:119","text":"@notice Emitted when a user tries to call a function that they are not authorized to call."},"errorSelector":"4f2bbdc1","id":67893,"name":"VeBetterPassportUnauthorizedUser","nameLocation":"5592:32:119","nodeType":"ErrorDefinition","parameters":{"id":67892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67891,"mutability":"mutable","name":"user","nameLocation":"5633:4:119","nodeType":"VariableDeclaration","scope":67893,"src":"5625:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67890,"name":"address","nodeType":"ElementaryTypeName","src":"5625:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5624:14:119"},"src":"5586:53:119"},{"documentation":{"id":67894,"nodeType":"StructuredDocumentation","src":"5643:78:119","text":"@notice Emitted when a user does not have permission to delegate passport."},"errorSelector":"f6272f81","id":67898,"name":"PassportDelegationUnauthorizedUser","nameLocation":"5730:34:119","nodeType":"ErrorDefinition","parameters":{"id":67897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67896,"mutability":"mutable","name":"user","nameLocation":"5773:4:119","nodeType":"VariableDeclaration","scope":67898,"src":"5765:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67895,"name":"address","nodeType":"ElementaryTypeName","src":"5765:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5764:14:119"},"src":"5724:55:119"},{"documentation":{"id":67899,"nodeType":"StructuredDocumentation","src":"5783:73:119","text":"@notice Emitted when a user tries to delegate passport to themselves."},"errorSelector":"07bcecdf","id":67903,"name":"CannotDelegateToSelf","nameLocation":"5865:20:119","nodeType":"ErrorDefinition","parameters":{"id":67902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67901,"mutability":"mutable","name":"user","nameLocation":"5894:4:119","nodeType":"VariableDeclaration","scope":67903,"src":"5886:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67900,"name":"address","nodeType":"ElementaryTypeName","src":"5886:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5885:14:119"},"src":"5859:41:119"},{"documentation":{"id":67904,"nodeType":"StructuredDocumentation","src":"5904:81:119","text":"@notice Emitted when a user tries to revoke a delegation that does not exist."},"errorSelector":"d48bb6b6","id":67908,"name":"NotDelegated","nameLocation":"5994:12:119","nodeType":"ErrorDefinition","parameters":{"id":67907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67906,"mutability":"mutable","name":"user","nameLocation":"6015:4:119","nodeType":"VariableDeclaration","scope":67908,"src":"6007:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67905,"name":"address","nodeType":"ElementaryTypeName","src":"6007:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6006:14:119"},"src":"5988:33:119"},{"documentation":{"id":67909,"nodeType":"StructuredDocumentation","src":"6025:81:119","text":"@notice Emitted when a user tries to delegate passport to more than one user."},"errorSelector":"3df4ebd9","id":67911,"name":"OnlyOneUserAllowed","nameLocation":"6115:18:119","nodeType":"ErrorDefinition","parameters":{"id":67910,"nodeType":"ParameterList","parameters":[],"src":"6133:2:119"},"src":"6109:27:119"},{"documentation":{"id":67912,"nodeType":"StructuredDocumentation","src":"6140:91:119","text":"@notice Emiited when a user tries to delegate a passport to another passport or entity."},"errorSelector":"79eab24b","id":67914,"name":"PassportDelegationFromEntity","nameLocation":"6240:28:119","nodeType":"ErrorDefinition","parameters":{"id":67913,"nodeType":"ParameterList","parameters":[],"src":"6268:2:119"},"src":"6234:37:119"},{"documentation":{"id":67915,"nodeType":"StructuredDocumentation","src":"6275:79:119","text":"@notice Emitted when a user tries to delegate a passport to another entity."},"errorSelector":"98f64923","id":67917,"name":"PassportDelegationToEntity","nameLocation":"6363:26:119","nodeType":"ErrorDefinition","parameters":{"id":67916,"nodeType":"ParameterList","parameters":[],"src":"6389:2:119"},"src":"6357:35:119"},{"documentation":{"id":67918,"nodeType":"StructuredDocumentation","src":"6396:81:119","text":"@notice Emitted when a user tries to sign a message with an expired signature"},"errorSelector":"0819bdcd","id":67920,"name":"SignatureExpired","nameLocation":"6486:16:119","nodeType":"ErrorDefinition","parameters":{"id":67919,"nodeType":"ParameterList","parameters":[],"src":"6502:2:119"},"src":"6480:25:119"},{"documentation":{"id":67921,"nodeType":"StructuredDocumentation","src":"6509:81:119","text":"@notice Emitted when a user tries to sign a message with an invalid signature"},"errorSelector":"8baa579f","id":67923,"name":"InvalidSignature","nameLocation":"6599:16:119","nodeType":"ErrorDefinition","parameters":{"id":67922,"nodeType":"ParameterList","parameters":[],"src":"6615:2:119"},"src":"6593:25:119"},{"documentation":{"id":67924,"nodeType":"StructuredDocumentation","src":"6622:117:119","text":"@notice Thrown when a user tries to link a entity to a passport that has reached the maximum number of entities."},"errorSelector":"aca3ff43","id":67926,"name":"MaxEntitiesPerPassportReached","nameLocation":"6748:29:119","nodeType":"ErrorDefinition","parameters":{"id":67925,"nodeType":"ParameterList","parameters":[],"src":"6777:2:119"},"src":"6742:38:119"},{"documentation":{"id":67927,"nodeType":"StructuredDocumentation","src":"6784:109:119","text":"@notice Thrown when a user tries to link a entity to a passport that is already linked to another entity."},"errorSelector":"c6ac53df","id":67931,"name":"NotLinked","nameLocation":"6902:9:119","nodeType":"ErrorDefinition","parameters":{"id":67930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67929,"mutability":"mutable","name":"user","nameLocation":"6920:4:119","nodeType":"VariableDeclaration","scope":67931,"src":"6912:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67928,"name":"address","nodeType":"ElementaryTypeName","src":"6912:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6911:14:119"},"src":"6896:30:119"},{"documentation":{"id":67932,"nodeType":"StructuredDocumentation","src":"6930:94:119","text":"@notice Thrown when a user tries to link a entity to a passport that is already delegated."},"errorSelector":"7344f01c","id":67936,"name":"DelegatedEntity","nameLocation":"7033:15:119","nodeType":"ErrorDefinition","parameters":{"id":67935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67934,"mutability":"mutable","name":"entity","nameLocation":"7057:6:119","nodeType":"VariableDeclaration","scope":67936,"src":"7049:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67933,"name":"address","nodeType":"ElementaryTypeName","src":"7049:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7048:16:119"},"src":"7027:38:119"},{"documentation":{"id":67937,"nodeType":"StructuredDocumentation","src":"7109:181:119","text":"@notice Initializes the contract with the required data and roles\n @param data The initialization data for the contract\n @param roles The roles data for initialization"},"functionSelector":"52ba35c4","id":67946,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7302:10:119","nodeType":"FunctionDefinition","parameters":{"id":67944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67940,"mutability":"mutable","name":"data","nameLocation":"7360:4:119","nodeType":"VariableDeclaration","scope":67946,"src":"7318:46:119","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$73199_calldata_ptr","typeString":"struct PassportTypes.InitializationData"},"typeName":{"id":67939,"nodeType":"UserDefinedTypeName","pathNode":{"id":67938,"name":"PassportTypes.InitializationData","nameLocations":["7318:13:119","7332:18:119"],"nodeType":"IdentifierPath","referencedDeclaration":73199,"src":"7318:32:119"},"referencedDeclaration":73199,"src":"7318:32:119","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationData_$73199_storage_ptr","typeString":"struct PassportTypes.InitializationData"}},"visibility":"internal"},{"constant":false,"id":67943,"mutability":"mutable","name":"roles","nameLocation":"7416:5:119","nodeType":"VariableDeclaration","scope":67946,"src":"7370:51:119","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationRoleData_$73220_calldata_ptr","typeString":"struct PassportTypes.InitializationRoleData"},"typeName":{"id":67942,"nodeType":"UserDefinedTypeName","pathNode":{"id":67941,"name":"PassportTypes.InitializationRoleData","nameLocations":["7370:13:119","7384:22:119"],"nodeType":"IdentifierPath","referencedDeclaration":73220,"src":"7370:36:119"},"referencedDeclaration":73220,"src":"7370:36:119","typeDescriptions":{"typeIdentifier":"t_struct$_InitializationRoleData_$73220_storage_ptr","typeString":"struct PassportTypes.InitializationRoleData"}},"visibility":"internal"}],"src":"7312:113:119"},"returnParameters":{"id":67945,"nodeType":"ParameterList","parameters":[],"src":"7434:0:119"},"scope":68601,"src":"7293:142:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67947,"nodeType":"StructuredDocumentation","src":"7439:256:119","text":"@notice Checks if a user is a person based on the participation score and other criteria\n @param user The address of the user to check\n @return person True if the user is a valid person\n @return reason Reason why the user is not a person"},"functionSelector":"0f73927a","id":67956,"implemented":false,"kind":"function","modifiers":[],"name":"isPerson","nameLocation":"7707:8:119","nodeType":"FunctionDefinition","parameters":{"id":67950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67949,"mutability":"mutable","name":"user","nameLocation":"7724:4:119","nodeType":"VariableDeclaration","scope":67956,"src":"7716:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67948,"name":"address","nodeType":"ElementaryTypeName","src":"7716:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7715:14:119"},"returnParameters":{"id":67955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67952,"mutability":"mutable","name":"person","nameLocation":"7758:6:119","nodeType":"VariableDeclaration","scope":67956,"src":"7753:11:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67951,"name":"bool","nodeType":"ElementaryTypeName","src":"7753:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":67954,"mutability":"mutable","name":"reason","nameLocation":"7780:6:119","nodeType":"VariableDeclaration","scope":67956,"src":"7766:20:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67953,"name":"string","nodeType":"ElementaryTypeName","src":"7766:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7752:35:119"},"scope":68601,"src":"7698:90:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":67957,"nodeType":"StructuredDocumentation","src":"7792:377:119","text":"@notice Checks if a user is a person\n @dev Checks if a wallet is a person or not at a specific timepoint based on the participation score, blacklisting, and GM holdings\n @param user - the user address\n @param timepoint - the timepoint to query\n @return person - true if the user is a person\n @return reason - the reason why the user is not a person"},"functionSelector":"d0ebb0ee","id":67968,"implemented":false,"kind":"function","modifiers":[],"name":"isPersonAtTimepoint","nameLocation":"8181:19:119","nodeType":"FunctionDefinition","parameters":{"id":67962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67959,"mutability":"mutable","name":"user","nameLocation":"8214:4:119","nodeType":"VariableDeclaration","scope":67968,"src":"8206:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67958,"name":"address","nodeType":"ElementaryTypeName","src":"8206:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67961,"mutability":"mutable","name":"timepoint","nameLocation":"8231:9:119","nodeType":"VariableDeclaration","scope":67968,"src":"8224:16:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":67960,"name":"uint48","nodeType":"ElementaryTypeName","src":"8224:6:119","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"8200:44:119"},"returnParameters":{"id":67967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67964,"mutability":"mutable","name":"person","nameLocation":"8273:6:119","nodeType":"VariableDeclaration","scope":67968,"src":"8268:11:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67963,"name":"bool","nodeType":"ElementaryTypeName","src":"8268:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":67966,"mutability":"mutable","name":"reason","nameLocation":"8295:6:119","nodeType":"VariableDeclaration","scope":67968,"src":"8281:20:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67965,"name":"string","nodeType":"ElementaryTypeName","src":"8281:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8267:35:119"},"scope":68601,"src":"8172:131:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":67969,"nodeType":"StructuredDocumentation","src":"8307:126:119","text":"@notice Checks if a user is whitelisted\n @param _user The user to check\n @return True if the user is whitelisted"},"functionSelector":"3af32abf","id":67976,"implemented":false,"kind":"function","modifiers":[],"name":"isWhitelisted","nameLocation":"8445:13:119","nodeType":"FunctionDefinition","parameters":{"id":67972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67971,"mutability":"mutable","name":"_user","nameLocation":"8467:5:119","nodeType":"VariableDeclaration","scope":67976,"src":"8459:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67970,"name":"address","nodeType":"ElementaryTypeName","src":"8459:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8458:15:119"},"returnParameters":{"id":67975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67974,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67976,"src":"8497:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67973,"name":"bool","nodeType":"ElementaryTypeName","src":"8497:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8496:6:119"},"scope":68601,"src":"8436:67:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":67977,"nodeType":"StructuredDocumentation","src":"8507:126:119","text":"@notice Checks if a user is blacklisted\n @param _user The user to check\n @return True if the user is blacklisted"},"functionSelector":"fe575a87","id":67984,"implemented":false,"kind":"function","modifiers":[],"name":"isBlacklisted","nameLocation":"8645:13:119","nodeType":"FunctionDefinition","parameters":{"id":67980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67979,"mutability":"mutable","name":"_user","nameLocation":"8667:5:119","nodeType":"VariableDeclaration","scope":67984,"src":"8659:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67978,"name":"address","nodeType":"ElementaryTypeName","src":"8659:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8658:15:119"},"returnParameters":{"id":67983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67984,"src":"8697:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67981,"name":"bool","nodeType":"ElementaryTypeName","src":"8697:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8696:6:119"},"scope":68601,"src":"8636:67:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":67985,"nodeType":"StructuredDocumentation","src":"8707:39:119","text":"@notice Toggles the specified check"},"functionSelector":"d6cfbe1b","id":67991,"implemented":false,"kind":"function","modifiers":[],"name":"toggleCheck","nameLocation":"8758:11:119","nodeType":"FunctionDefinition","parameters":{"id":67989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67988,"mutability":"mutable","name":"check","nameLocation":"8794:5:119","nodeType":"VariableDeclaration","scope":67991,"src":"8770:29:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_CheckType_$73227","typeString":"enum PassportTypes.CheckType"},"typeName":{"id":67987,"nodeType":"UserDefinedTypeName","pathNode":{"id":67986,"name":"PassportTypes.CheckType","nameLocations":["8770:13:119","8784:9:119"],"nodeType":"IdentifierPath","referencedDeclaration":73227,"src":"8770:23:119"},"referencedDeclaration":73227,"src":"8770:23:119","typeDescriptions":{"typeIdentifier":"t_enum$_CheckType_$73227","typeString":"enum PassportTypes.CheckType"}},"visibility":"internal"}],"src":"8769:31:119"},"returnParameters":{"id":67990,"nodeType":"ParameterList","parameters":[],"src":"8809:0:119"},"scope":68601,"src":"8749:61:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":67992,"nodeType":"StructuredDocumentation","src":"8814:136:119","text":"@notice Returns the passport address for a entity\n @param entity The entity's address\n @return The address of the passport"},"functionSelector":"467b99b6","id":67999,"implemented":false,"kind":"function","modifiers":[],"name":"getPassportForEntity","nameLocation":"8962:20:119","nodeType":"FunctionDefinition","parameters":{"id":67995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67994,"mutability":"mutable","name":"entity","nameLocation":"8991:6:119","nodeType":"VariableDeclaration","scope":67999,"src":"8983:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67993,"name":"address","nodeType":"ElementaryTypeName","src":"8983:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8982:16:119"},"returnParameters":{"id":67998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67999,"src":"9022:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67996,"name":"address","nodeType":"ElementaryTypeName","src":"9022:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9021:9:119"},"scope":68601,"src":"8953:78:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68000,"nodeType":"StructuredDocumentation","src":"9035:262:119","text":"@notice Returns the pending links for a user (both incoming and outgoing)\n @param user The address of the user\n @return incoming The addresss of users that want to link to the user.\n @return outgoing The address that the user wants to link to."},"functionSelector":"f9cfdfcc","id":68010,"implemented":false,"kind":"function","modifiers":[],"name":"getPendingLinkings","nameLocation":"9309:18:119","nodeType":"FunctionDefinition","parameters":{"id":68003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68002,"mutability":"mutable","name":"user","nameLocation":"9336:4:119","nodeType":"VariableDeclaration","scope":68010,"src":"9328:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68001,"name":"address","nodeType":"ElementaryTypeName","src":"9328:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9327:14:119"},"returnParameters":{"id":68009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68006,"mutability":"mutable","name":"incoming","nameLocation":"9382:8:119","nodeType":"VariableDeclaration","scope":68010,"src":"9365:25:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68004,"name":"address","nodeType":"ElementaryTypeName","src":"9365:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68005,"nodeType":"ArrayTypeName","src":"9365:9:119","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":68008,"mutability":"mutable","name":"outgoing","nameLocation":"9400:8:119","nodeType":"VariableDeclaration","scope":68010,"src":"9392:16:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68007,"name":"address","nodeType":"ElementaryTypeName","src":"9392:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9364:45:119"},"scope":68601,"src":"9300:110:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68011,"nodeType":"StructuredDocumentation","src":"9414:164:119","text":"@notice Returns the passport address for a entity at a specific timepoint\n @param entity The entity's address\n @param timepoint The timepoint to query"},"functionSelector":"38d8d688","id":68020,"implemented":false,"kind":"function","modifiers":[],"name":"getPassportForEntityAtTimepoint","nameLocation":"9590:31:119","nodeType":"FunctionDefinition","parameters":{"id":68016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68013,"mutability":"mutable","name":"entity","nameLocation":"9630:6:119","nodeType":"VariableDeclaration","scope":68020,"src":"9622:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68012,"name":"address","nodeType":"ElementaryTypeName","src":"9622:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68015,"mutability":"mutable","name":"timepoint","nameLocation":"9646:9:119","nodeType":"VariableDeclaration","scope":68020,"src":"9638:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68014,"name":"uint256","nodeType":"ElementaryTypeName","src":"9638:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9621:35:119"},"returnParameters":{"id":68019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68020,"src":"9680:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68017,"name":"address","nodeType":"ElementaryTypeName","src":"9680:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9679:9:119"},"scope":68601,"src":"9581:108:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68021,"nodeType":"StructuredDocumentation","src":"9693:138:119","text":"@notice Returns the entity address for a passport\n @param passport The passport's address\n @return The address of the entity"},"functionSelector":"e60fd76c","id":68029,"implemented":false,"kind":"function","modifiers":[],"name":"getEntitiesLinkedToPassport","nameLocation":"9843:27:119","nodeType":"FunctionDefinition","parameters":{"id":68024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68023,"mutability":"mutable","name":"passport","nameLocation":"9879:8:119","nodeType":"VariableDeclaration","scope":68029,"src":"9871:16:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68022,"name":"address","nodeType":"ElementaryTypeName","src":"9871:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9870:18:119"},"returnParameters":{"id":68028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68029,"src":"9912:16:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68025,"name":"address","nodeType":"ElementaryTypeName","src":"9912:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68026,"nodeType":"ArrayTypeName","src":"9912:9:119","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9911:18:119"},"scope":68601,"src":"9834:96:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68030,"nodeType":"StructuredDocumentation","src":"9934:76:119","text":"@notice Returns if a user is a entity\n @param user The user address"},"functionSelector":"14887c58","id":68037,"implemented":false,"kind":"function","modifiers":[],"name":"isEntity","nameLocation":"10022:8:119","nodeType":"FunctionDefinition","parameters":{"id":68033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68032,"mutability":"mutable","name":"user","nameLocation":"10039:4:119","nodeType":"VariableDeclaration","scope":68037,"src":"10031:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68031,"name":"address","nodeType":"ElementaryTypeName","src":"10031:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10030:14:119"},"returnParameters":{"id":68036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68035,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68037,"src":"10068:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68034,"name":"bool","nodeType":"ElementaryTypeName","src":"10068:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10067:6:119"},"scope":68601,"src":"10013:61:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68038,"nodeType":"StructuredDocumentation","src":"10078:146:119","text":"@notice Returns if a user is a entity at a specific timepoint\n @param user The user address\n @param timepoint The timepoint to query"},"functionSelector":"6e6a304c","id":68047,"implemented":false,"kind":"function","modifiers":[],"name":"isEntityInTimepoint","nameLocation":"10236:19:119","nodeType":"FunctionDefinition","parameters":{"id":68043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68040,"mutability":"mutable","name":"user","nameLocation":"10264:4:119","nodeType":"VariableDeclaration","scope":68047,"src":"10256:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68039,"name":"address","nodeType":"ElementaryTypeName","src":"10256:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68042,"mutability":"mutable","name":"timepoint","nameLocation":"10278:9:119","nodeType":"VariableDeclaration","scope":68047,"src":"10270:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68041,"name":"uint256","nodeType":"ElementaryTypeName","src":"10270:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10255:33:119"},"returnParameters":{"id":68046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68047,"src":"10312:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68044,"name":"bool","nodeType":"ElementaryTypeName","src":"10312:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10311:6:119"},"scope":68601,"src":"10227:91:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68048,"nodeType":"StructuredDocumentation","src":"10322:78:119","text":"@notice Returns if a user is a passport\n @param user The user address"},"functionSelector":"5a1dcf2c","id":68055,"implemented":false,"kind":"function","modifiers":[],"name":"isPassport","nameLocation":"10412:10:119","nodeType":"FunctionDefinition","parameters":{"id":68051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68050,"mutability":"mutable","name":"user","nameLocation":"10431:4:119","nodeType":"VariableDeclaration","scope":68055,"src":"10423:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68049,"name":"address","nodeType":"ElementaryTypeName","src":"10423:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10422:14:119"},"returnParameters":{"id":68054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68055,"src":"10460:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68052,"name":"bool","nodeType":"ElementaryTypeName","src":"10460:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10459:6:119"},"scope":68601,"src":"10403:63:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68056,"nodeType":"StructuredDocumentation","src":"10470:148:119","text":"@notice Returns if a user is a passport at a specific timepoint\n @param user The user address\n @param timepoint The timepoint to query"},"functionSelector":"e4325044","id":68065,"implemented":false,"kind":"function","modifiers":[],"name":"isPassportInTimepoint","nameLocation":"10630:21:119","nodeType":"FunctionDefinition","parameters":{"id":68061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68058,"mutability":"mutable","name":"user","nameLocation":"10660:4:119","nodeType":"VariableDeclaration","scope":68065,"src":"10652:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68057,"name":"address","nodeType":"ElementaryTypeName","src":"10652:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68060,"mutability":"mutable","name":"timepoint","nameLocation":"10674:9:119","nodeType":"VariableDeclaration","scope":68065,"src":"10666:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68059,"name":"uint256","nodeType":"ElementaryTypeName","src":"10666:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10651:33:119"},"returnParameters":{"id":68064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68065,"src":"10708:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68062,"name":"bool","nodeType":"ElementaryTypeName","src":"10708:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10707:6:119"},"scope":68601,"src":"10621:93:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68066,"nodeType":"StructuredDocumentation","src":"10718:274:119","text":"@notice Gets the cumulative score of a user based on exponential decay for a number of last rounds\n @param user The user address\n @param lastRound The round to consider as a starting point for the cumulative score\n @return The cumulative score of the user"},"functionSelector":"e18c10d3","id":68075,"implemented":false,"kind":"function","modifiers":[],"name":"getCumulativeScoreWithDecay","nameLocation":"11004:27:119","nodeType":"FunctionDefinition","parameters":{"id":68071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68068,"mutability":"mutable","name":"user","nameLocation":"11040:4:119","nodeType":"VariableDeclaration","scope":68075,"src":"11032:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68067,"name":"address","nodeType":"ElementaryTypeName","src":"11032:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68070,"mutability":"mutable","name":"lastRound","nameLocation":"11054:9:119","nodeType":"VariableDeclaration","scope":68075,"src":"11046:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68069,"name":"uint256","nodeType":"ElementaryTypeName","src":"11046:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11031:33:119"},"returnParameters":{"id":68074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68073,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68075,"src":"11088:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68072,"name":"uint256","nodeType":"ElementaryTypeName","src":"11088:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11087:9:119"},"scope":68601,"src":"10995:102:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68076,"nodeType":"StructuredDocumentation","src":"11101:157:119","text":"@notice Gets the round score of a user\n @param user The user address\n @param round The round to check\n @return The round score of the user"},"functionSelector":"8919b6e5","id":68085,"implemented":false,"kind":"function","modifiers":[],"name":"userRoundScore","nameLocation":"11270:14:119","nodeType":"FunctionDefinition","parameters":{"id":68081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68078,"mutability":"mutable","name":"user","nameLocation":"11293:4:119","nodeType":"VariableDeclaration","scope":68085,"src":"11285:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68077,"name":"address","nodeType":"ElementaryTypeName","src":"11285:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68080,"mutability":"mutable","name":"round","nameLocation":"11307:5:119","nodeType":"VariableDeclaration","scope":68085,"src":"11299:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68079,"name":"uint256","nodeType":"ElementaryTypeName","src":"11299:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11284:29:119"},"returnParameters":{"id":68084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68083,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68085,"src":"11337:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68082,"name":"uint256","nodeType":"ElementaryTypeName","src":"11337:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11336:9:119"},"scope":68601,"src":"11261:85:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68086,"nodeType":"StructuredDocumentation","src":"11350:119:119","text":"@notice Gets the total score of a user\n @param user The user address\n @return The total score of the user"},"functionSelector":"d0023fcb","id":68093,"implemented":false,"kind":"function","modifiers":[],"name":"userTotalScore","nameLocation":"11481:14:119","nodeType":"FunctionDefinition","parameters":{"id":68089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68088,"mutability":"mutable","name":"user","nameLocation":"11504:4:119","nodeType":"VariableDeclaration","scope":68093,"src":"11496:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68087,"name":"address","nodeType":"ElementaryTypeName","src":"11496:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11495:14:119"},"returnParameters":{"id":68092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68093,"src":"11533:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68090,"name":"uint256","nodeType":"ElementaryTypeName","src":"11533:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11532:9:119"},"scope":68601,"src":"11472:70:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68094,"nodeType":"StructuredDocumentation","src":"11546:175:119","text":"@notice Gets the number of actions distributed by an app in a round\n @param appId The app ID\n @param round The round to check\n @return The number of actions"},"functionSelector":"00362016","id":68103,"implemented":false,"kind":"function","modifiers":[],"name":"appRoundActionCount","nameLocation":"11733:19:119","nodeType":"FunctionDefinition","parameters":{"id":68099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68096,"mutability":"mutable","name":"appId","nameLocation":"11761:5:119","nodeType":"VariableDeclaration","scope":68103,"src":"11753:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11753:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68098,"mutability":"mutable","name":"round","nameLocation":"11776:5:119","nodeType":"VariableDeclaration","scope":68103,"src":"11768:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68097,"name":"uint256","nodeType":"ElementaryTypeName","src":"11768:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11752:30:119"},"returnParameters":{"id":68102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68101,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68103,"src":"11806:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68100,"name":"uint256","nodeType":"ElementaryTypeName","src":"11806:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11805:9:119"},"scope":68601,"src":"11724:91:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68104,"nodeType":"StructuredDocumentation","src":"11819:197:119","text":"@notice Gets the number of distinct apps a user has interacted with in a round\n @param user The user address\n @param round The round to check\n @return The number of distinct apps"},"functionSelector":"d7ce41eb","id":68113,"implemented":false,"kind":"function","modifiers":[],"name":"userRoundAppCount","nameLocation":"12028:17:119","nodeType":"FunctionDefinition","parameters":{"id":68109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68106,"mutability":"mutable","name":"user","nameLocation":"12054:4:119","nodeType":"VariableDeclaration","scope":68113,"src":"12046:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68105,"name":"address","nodeType":"ElementaryTypeName","src":"12046:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68108,"mutability":"mutable","name":"round","nameLocation":"12068:5:119","nodeType":"VariableDeclaration","scope":68113,"src":"12060:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68107,"name":"uint256","nodeType":"ElementaryTypeName","src":"12060:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12045:29:119"},"returnParameters":{"id":68112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68113,"src":"12098:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68110,"name":"uint256","nodeType":"ElementaryTypeName","src":"12098:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12097:9:119"},"scope":68601,"src":"12019:88:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68114,"nodeType":"StructuredDocumentation","src":"12111:215:119","text":"@notice Gets how many actions a user registered in a specific round\n @param user The user address\n @param round The round to check\n @return The number of registered actions for that user and round"},"functionSelector":"886d15d2","id":68123,"implemented":false,"kind":"function","modifiers":[],"name":"userRoundActionCount","nameLocation":"12338:20:119","nodeType":"FunctionDefinition","parameters":{"id":68119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68116,"mutability":"mutable","name":"user","nameLocation":"12367:4:119","nodeType":"VariableDeclaration","scope":68123,"src":"12359:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68115,"name":"address","nodeType":"ElementaryTypeName","src":"12359:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68118,"mutability":"mutable","name":"round","nameLocation":"12381:5:119","nodeType":"VariableDeclaration","scope":68123,"src":"12373:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68117,"name":"uint256","nodeType":"ElementaryTypeName","src":"12373:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12358:29:119"},"returnParameters":{"id":68122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68123,"src":"12411:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68120,"name":"uint256","nodeType":"ElementaryTypeName","src":"12411:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12410:9:119"},"scope":68601,"src":"12329:91:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68124,"nodeType":"StructuredDocumentation","src":"12424:231:119","text":"@notice Gets the score of a user for an app in a specific round\n @param user The user address\n @param round The round to check\n @param appId The app ID\n @return The score of the user for the app in the round"},"functionSelector":"8d38b50f","id":68135,"implemented":false,"kind":"function","modifiers":[],"name":"userRoundScoreApp","nameLocation":"12667:17:119","nodeType":"FunctionDefinition","parameters":{"id":68131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68126,"mutability":"mutable","name":"user","nameLocation":"12693:4:119","nodeType":"VariableDeclaration","scope":68135,"src":"12685:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68125,"name":"address","nodeType":"ElementaryTypeName","src":"12685:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68128,"mutability":"mutable","name":"round","nameLocation":"12707:5:119","nodeType":"VariableDeclaration","scope":68135,"src":"12699:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68127,"name":"uint256","nodeType":"ElementaryTypeName","src":"12699:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68130,"mutability":"mutable","name":"appId","nameLocation":"12722:5:119","nodeType":"VariableDeclaration","scope":68135,"src":"12714:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12714:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12684:44:119"},"returnParameters":{"id":68134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68135,"src":"12752:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68132,"name":"uint256","nodeType":"ElementaryTypeName","src":"12752:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12751:9:119"},"scope":68601,"src":"12658:103:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68136,"nodeType":"StructuredDocumentation","src":"12765:262:119","text":"@notice Gets how many actions a user registered for an app in a specific round\n @param user The user address\n @param round The round to check\n @param appId The app ID\n @return The number of registered actions for that user, app, and round"},"functionSelector":"9352d272","id":68147,"implemented":false,"kind":"function","modifiers":[],"name":"userRoundActionCountApp","nameLocation":"13039:23:119","nodeType":"FunctionDefinition","parameters":{"id":68143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68138,"mutability":"mutable","name":"user","nameLocation":"13071:4:119","nodeType":"VariableDeclaration","scope":68147,"src":"13063:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68137,"name":"address","nodeType":"ElementaryTypeName","src":"13063:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68140,"mutability":"mutable","name":"round","nameLocation":"13085:5:119","nodeType":"VariableDeclaration","scope":68147,"src":"13077:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68139,"name":"uint256","nodeType":"ElementaryTypeName","src":"13077:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68142,"mutability":"mutable","name":"appId","nameLocation":"13100:5:119","nodeType":"VariableDeclaration","scope":68147,"src":"13092:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13092:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13062:44:119"},"returnParameters":{"id":68146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68147,"src":"13130:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68144,"name":"uint256","nodeType":"ElementaryTypeName","src":"13130:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13129:9:119"},"scope":68601,"src":"13030:109:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68148,"nodeType":"StructuredDocumentation","src":"13143:172:119","text":"@notice Gets the total score of a user for an app\n @param user The user address\n @param appId The app ID\n @return The total score of the user for the app"},"functionSelector":"3910d657","id":68157,"implemented":false,"kind":"function","modifiers":[],"name":"userAppTotalScore","nameLocation":"13327:17:119","nodeType":"FunctionDefinition","parameters":{"id":68153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68150,"mutability":"mutable","name":"user","nameLocation":"13353:4:119","nodeType":"VariableDeclaration","scope":68157,"src":"13345:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68149,"name":"address","nodeType":"ElementaryTypeName","src":"13345:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68152,"mutability":"mutable","name":"appId","nameLocation":"13367:5:119","nodeType":"VariableDeclaration","scope":68157,"src":"13359:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13359:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13344:29:119"},"returnParameters":{"id":68156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68155,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68157,"src":"13397:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68154,"name":"uint256","nodeType":"ElementaryTypeName","src":"13397:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13396:9:119"},"scope":68601,"src":"13318:88:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68158,"nodeType":"StructuredDocumentation","src":"13410:68:119","text":"@notice Checks if a user has ever interacted with a specific app"},"functionSelector":"428cce44","id":68167,"implemented":false,"kind":"function","modifiers":[],"name":"userUniqueAppInteraction","nameLocation":"13490:24:119","nodeType":"FunctionDefinition","parameters":{"id":68163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68160,"mutability":"mutable","name":"user","nameLocation":"13523:4:119","nodeType":"VariableDeclaration","scope":68167,"src":"13515:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68159,"name":"address","nodeType":"ElementaryTypeName","src":"13515:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68162,"mutability":"mutable","name":"appId","nameLocation":"13537:5:119","nodeType":"VariableDeclaration","scope":68167,"src":"13529:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13529:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13514:29:119"},"returnParameters":{"id":68166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68167,"src":"13567:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68164,"name":"bool","nodeType":"ElementaryTypeName","src":"13567:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13566:6:119"},"scope":68601,"src":"13481:92:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68168,"nodeType":"StructuredDocumentation","src":"13577:60:119","text":"@notice Gets the list of apps a user has interacted with"},"functionSelector":"a8165f86","id":68176,"implemented":false,"kind":"function","modifiers":[],"name":"userInteractedApps","nameLocation":"13649:18:119","nodeType":"FunctionDefinition","parameters":{"id":68171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68170,"mutability":"mutable","name":"user","nameLocation":"13676:4:119","nodeType":"VariableDeclaration","scope":68176,"src":"13668:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68169,"name":"address","nodeType":"ElementaryTypeName","src":"13668:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13667:14:119"},"returnParameters":{"id":68175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68174,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68176,"src":"13705:16:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":68172,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13705:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":68173,"nodeType":"ArrayTypeName","src":"13705:9:119","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"13704:18:119"},"scope":68601,"src":"13640:83:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68177,"nodeType":"StructuredDocumentation","src":"13727:121:119","text":"@notice Gets the threshold score for a user to be considered a person\n @return The threshold participation score"},"functionSelector":"315b8bd0","id":68182,"implemented":false,"kind":"function","modifiers":[],"name":"thresholdPoPScore","nameLocation":"13860:17:119","nodeType":"FunctionDefinition","parameters":{"id":68178,"nodeType":"ParameterList","parameters":[],"src":"13877:2:119"},"returnParameters":{"id":68181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68180,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68182,"src":"13903:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68179,"name":"uint256","nodeType":"ElementaryTypeName","src":"13903:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13902:9:119"},"scope":68601,"src":"13851:61:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68183,"nodeType":"StructuredDocumentation","src":"13916:97:119","text":"@notice Gets the threshold score for a user to be considered a person at a specific timepoint"},"functionSelector":"3c8c8f79","id":68190,"implemented":false,"kind":"function","modifiers":[],"name":"thresholdPoPScoreAtTimepoint","nameLocation":"14025:28:119","nodeType":"FunctionDefinition","parameters":{"id":68186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68185,"mutability":"mutable","name":"timepoint","nameLocation":"14061:9:119","nodeType":"VariableDeclaration","scope":68190,"src":"14054:16:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":68184,"name":"uint48","nodeType":"ElementaryTypeName","src":"14054:6:119","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"14053:18:119"},"returnParameters":{"id":68189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68190,"src":"14095:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68187,"name":"uint256","nodeType":"ElementaryTypeName","src":"14095:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14094:9:119"},"scope":68601,"src":"14016:88:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68191,"nodeType":"StructuredDocumentation","src":"14108:114:119","text":"@notice Gets the number of rounds to be considered for the cumulative score\n @return The number of rounds"},"functionSelector":"664d6e9e","id":68196,"implemented":false,"kind":"function","modifiers":[],"name":"roundsForCumulativeScore","nameLocation":"14234:24:119","nodeType":"FunctionDefinition","parameters":{"id":68192,"nodeType":"ParameterList","parameters":[],"src":"14258:2:119"},"returnParameters":{"id":68195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68196,"src":"14284:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68193,"name":"uint256","nodeType":"ElementaryTypeName","src":"14284:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14283:9:119"},"scope":68601,"src":"14225:68:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68197,"nodeType":"StructuredDocumentation","src":"14297:175:119","text":"@notice Gets the security multiplier for an app security\n @param security The app security level (LOW, MEDIUM, HIGH)\n @return The security multiplier for the app"},"functionSelector":"3e420ce3","id":68205,"implemented":false,"kind":"function","modifiers":[],"name":"securityMultiplier","nameLocation":"14484:18:119","nodeType":"FunctionDefinition","parameters":{"id":68201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68200,"mutability":"mutable","name":"security","nameLocation":"14530:8:119","nodeType":"VariableDeclaration","scope":68205,"src":"14503:35:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"},"typeName":{"id":68199,"nodeType":"UserDefinedTypeName","pathNode":{"id":68198,"name":"PassportTypes.APP_SECURITY","nameLocations":["14503:13:119","14517:12:119"],"nodeType":"IdentifierPath","referencedDeclaration":73233,"src":"14503:26:119"},"referencedDeclaration":73233,"src":"14503:26:119","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}},"visibility":"internal"}],"src":"14502:37:119"},"returnParameters":{"id":68204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68205,"src":"14563:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68202,"name":"uint256","nodeType":"ElementaryTypeName","src":"14563:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14562:9:119"},"scope":68601,"src":"14475:97:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68206,"nodeType":"StructuredDocumentation","src":"14576:119:119","text":"@notice Gets the security level of an app\n @param appId The app ID\n @return The security level of the app"},"functionSelector":"b292864a","id":68214,"implemented":false,"kind":"function","modifiers":[],"name":"appSecurity","nameLocation":"14707:11:119","nodeType":"FunctionDefinition","parameters":{"id":68209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68208,"mutability":"mutable","name":"appId","nameLocation":"14727:5:119","nodeType":"VariableDeclaration","scope":68214,"src":"14719:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14719:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14718:15:119"},"returnParameters":{"id":68213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68214,"src":"14757:26:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"},"typeName":{"id":68211,"nodeType":"UserDefinedTypeName","pathNode":{"id":68210,"name":"PassportTypes.APP_SECURITY","nameLocations":["14757:13:119","14771:12:119"],"nodeType":"IdentifierPath","referencedDeclaration":73233,"src":"14757:26:119"},"referencedDeclaration":73233,"src":"14757:26:119","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}},"visibility":"internal"}],"src":"14756:28:119"},"scope":68601,"src":"14698:87:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68215,"nodeType":"StructuredDocumentation","src":"14789:103:119","text":"@notice Gets the minimum galaxy member level required\n @return The minimum galaxy member level"},"functionSelector":"c817dcec","id":68220,"implemented":false,"kind":"function","modifiers":[],"name":"getMinimumGalaxyMemberLevel","nameLocation":"14904:27:119","nodeType":"FunctionDefinition","parameters":{"id":68216,"nodeType":"ParameterList","parameters":[],"src":"14931:2:119"},"returnParameters":{"id":68219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68218,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68220,"src":"14957:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68217,"name":"uint256","nodeType":"ElementaryTypeName","src":"14957:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14956:9:119"},"scope":68601,"src":"14895:71:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68221,"nodeType":"StructuredDocumentation","src":"14970:52:119","text":"@notice Returns if the specific check is enabled"},"functionSelector":"ccc3ced3","id":68229,"implemented":false,"kind":"function","modifiers":[],"name":"isCheckEnabled","nameLocation":"15034:14:119","nodeType":"FunctionDefinition","parameters":{"id":68225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68224,"mutability":"mutable","name":"check","nameLocation":"15073:5:119","nodeType":"VariableDeclaration","scope":68229,"src":"15049:29:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_CheckType_$73227","typeString":"enum PassportTypes.CheckType"},"typeName":{"id":68223,"nodeType":"UserDefinedTypeName","pathNode":{"id":68222,"name":"PassportTypes.CheckType","nameLocations":["15049:13:119","15063:9:119"],"nodeType":"IdentifierPath","referencedDeclaration":73227,"src":"15049:23:119"},"referencedDeclaration":73227,"src":"15049:23:119","typeDescriptions":{"typeIdentifier":"t_enum$_CheckType_$73227","typeString":"enum PassportTypes.CheckType"}},"visibility":"internal"}],"src":"15048:31:119"},"returnParameters":{"id":68228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68229,"src":"15103:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68226,"name":"bool","nodeType":"ElementaryTypeName","src":"15103:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15102:6:119"},"scope":68601,"src":"15025:84:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68230,"nodeType":"StructuredDocumentation","src":"15113:81:119","text":"@notice Returns the signaling threshold\n @return The signaling threshold"},"functionSelector":"7fd4f54f","id":68235,"implemented":false,"kind":"function","modifiers":[],"name":"signalingThreshold","nameLocation":"15206:18:119","nodeType":"FunctionDefinition","parameters":{"id":68231,"nodeType":"ParameterList","parameters":[],"src":"15224:2:119"},"returnParameters":{"id":68234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68233,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68235,"src":"15250:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68232,"name":"uint256","nodeType":"ElementaryTypeName","src":"15250:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15249:9:119"},"scope":68601,"src":"15197:62:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68236,"nodeType":"StructuredDocumentation","src":"15263:137:119","text":"@notice Gets the total number of signals for an app\n @param app The app ID\n @return The total number of signals for the app"},"functionSelector":"3bf451a9","id":68243,"implemented":false,"kind":"function","modifiers":[],"name":"appTotalSignalsCounter","nameLocation":"15412:22:119","nodeType":"FunctionDefinition","parameters":{"id":68239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68238,"mutability":"mutable","name":"app","nameLocation":"15443:3:119","nodeType":"VariableDeclaration","scope":68243,"src":"15435:11:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15435:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15434:13:119"},"returnParameters":{"id":68242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68243,"src":"15471:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68240,"name":"uint256","nodeType":"ElementaryTypeName","src":"15471:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15470:9:119"},"scope":68601,"src":"15403:77:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68244,"nodeType":"StructuredDocumentation","src":"15484:52:119","text":"@notice Returns the domain for EIP-712 signature"},"functionSelector":"84b0196e","id":68262,"implemented":false,"kind":"function","modifiers":[],"name":"eip712Domain","nameLocation":"15548:12:119","nodeType":"FunctionDefinition","parameters":{"id":68245,"nodeType":"ParameterList","parameters":[],"src":"15560:2:119"},"returnParameters":{"id":68261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68247,"mutability":"mutable","name":"fields","nameLocation":"15612:6:119","nodeType":"VariableDeclaration","scope":68262,"src":"15605:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":68246,"name":"bytes1","nodeType":"ElementaryTypeName","src":"15605:6:119","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":68249,"mutability":"mutable","name":"name","nameLocation":"15640:4:119","nodeType":"VariableDeclaration","scope":68262,"src":"15626:18:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68248,"name":"string","nodeType":"ElementaryTypeName","src":"15626:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68251,"mutability":"mutable","name":"signatureVersion","nameLocation":"15666:16:119","nodeType":"VariableDeclaration","scope":68262,"src":"15652:30:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68250,"name":"string","nodeType":"ElementaryTypeName","src":"15652:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68253,"mutability":"mutable","name":"chainId","nameLocation":"15698:7:119","nodeType":"VariableDeclaration","scope":68262,"src":"15690:15:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68252,"name":"uint256","nodeType":"ElementaryTypeName","src":"15690:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68255,"mutability":"mutable","name":"verifyingContract","nameLocation":"15721:17:119","nodeType":"VariableDeclaration","scope":68262,"src":"15713:25:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68254,"name":"address","nodeType":"ElementaryTypeName","src":"15713:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68257,"mutability":"mutable","name":"salt","nameLocation":"15754:4:119","nodeType":"VariableDeclaration","scope":68262,"src":"15746:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15746:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68260,"mutability":"mutable","name":"extensions","nameLocation":"15783:10:119","nodeType":"VariableDeclaration","scope":68262,"src":"15766:27:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68258,"name":"uint256","nodeType":"ElementaryTypeName","src":"15766:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68259,"nodeType":"ArrayTypeName","src":"15766:9:119","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15597:202:119"},"scope":68601,"src":"15539:261:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68263,"nodeType":"StructuredDocumentation","src":"15804:137:119","text":"@notice Grants a role to a specific account\n @param role The role to grant\n @param account The account to grant the role to"},"functionSelector":"2f2ff15d","id":68270,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"15953:9:119","nodeType":"FunctionDefinition","parameters":{"id":68268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68265,"mutability":"mutable","name":"role","nameLocation":"15971:4:119","nodeType":"VariableDeclaration","scope":68270,"src":"15963:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15963:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68267,"mutability":"mutable","name":"account","nameLocation":"15985:7:119","nodeType":"VariableDeclaration","scope":68270,"src":"15977:15:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68266,"name":"address","nodeType":"ElementaryTypeName","src":"15977:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15962:31:119"},"returnParameters":{"id":68269,"nodeType":"ParameterList","parameters":[],"src":"16002:0:119"},"scope":68601,"src":"15944:59:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68271,"nodeType":"StructuredDocumentation","src":"16007:144:119","text":"@notice Revokes a role from a specific account\n @param role The role to revoke\n @param account The account to revoke the role from"},"functionSelector":"d547741f","id":68278,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"16163:10:119","nodeType":"FunctionDefinition","parameters":{"id":68276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68273,"mutability":"mutable","name":"role","nameLocation":"16182:4:119","nodeType":"VariableDeclaration","scope":68278,"src":"16174:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16174:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68275,"mutability":"mutable","name":"account","nameLocation":"16196:7:119","nodeType":"VariableDeclaration","scope":68278,"src":"16188:15:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68274,"name":"address","nodeType":"ElementaryTypeName","src":"16188:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16173:31:119"},"returnParameters":{"id":68277,"nodeType":"ParameterList","parameters":[],"src":"16213:0:119"},"scope":68601,"src":"16154:60:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68279,"nodeType":"StructuredDocumentation","src":"16218:64:119","text":"@notice Signals a user\n @param _user The user to signal"},"functionSelector":"c60ef11d","id":68284,"implemented":false,"kind":"function","modifiers":[],"name":"signalUser","nameLocation":"16294:10:119","nodeType":"FunctionDefinition","parameters":{"id":68282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68281,"mutability":"mutable","name":"_user","nameLocation":"16313:5:119","nodeType":"VariableDeclaration","scope":68284,"src":"16305:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68280,"name":"address","nodeType":"ElementaryTypeName","src":"16305:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16304:15:119"},"returnParameters":{"id":68283,"nodeType":"ParameterList","parameters":[],"src":"16328:0:119"},"scope":68601,"src":"16285:44:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68285,"nodeType":"StructuredDocumentation","src":"16333:124:119","text":"@notice Signals a user with a reason\n @param _user The user to signal\n @param reason The reason for the signal"},"functionSelector":"ce371f06","id":68292,"implemented":false,"kind":"function","modifiers":[],"name":"signalUserWithReason","nameLocation":"16469:20:119","nodeType":"FunctionDefinition","parameters":{"id":68290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68287,"mutability":"mutable","name":"_user","nameLocation":"16498:5:119","nodeType":"VariableDeclaration","scope":68292,"src":"16490:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68286,"name":"address","nodeType":"ElementaryTypeName","src":"16490:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68289,"mutability":"mutable","name":"reason","nameLocation":"16519:6:119","nodeType":"VariableDeclaration","scope":68292,"src":"16505:20:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68288,"name":"string","nodeType":"ElementaryTypeName","src":"16505:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16489:37:119"},"returnParameters":{"id":68291,"nodeType":"ParameterList","parameters":[],"src":"16535:0:119"},"scope":68601,"src":"16460:76:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68293,"nodeType":"StructuredDocumentation","src":"16540:107:119","text":"@notice Assigns a signaler to an app\n @param app The app ID\n @param user The signaler address"},"functionSelector":"26b320ab","id":68300,"implemented":false,"kind":"function","modifiers":[],"name":"assignSignalerToApp","nameLocation":"16659:19:119","nodeType":"FunctionDefinition","parameters":{"id":68298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68295,"mutability":"mutable","name":"app","nameLocation":"16687:3:119","nodeType":"VariableDeclaration","scope":68300,"src":"16679:11:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16679:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68297,"mutability":"mutable","name":"user","nameLocation":"16700:4:119","nodeType":"VariableDeclaration","scope":68300,"src":"16692:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68296,"name":"address","nodeType":"ElementaryTypeName","src":"16692:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16678:27:119"},"returnParameters":{"id":68299,"nodeType":"ParameterList","parameters":[],"src":"16714:0:119"},"scope":68601,"src":"16650:65:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68301,"nodeType":"StructuredDocumentation","src":"16719:81:119","text":"@notice Removes a signaler from an app\n @param user The signaler address"},"functionSelector":"dc8debb0","id":68306,"implemented":false,"kind":"function","modifiers":[],"name":"removeSignalerFromApp","nameLocation":"16812:21:119","nodeType":"FunctionDefinition","parameters":{"id":68304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68303,"mutability":"mutable","name":"user","nameLocation":"16842:4:119","nodeType":"VariableDeclaration","scope":68306,"src":"16834:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68302,"name":"address","nodeType":"ElementaryTypeName","src":"16834:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16833:14:119"},"returnParameters":{"id":68305,"nodeType":"ParameterList","parameters":[],"src":"16856:0:119"},"scope":68601,"src":"16803:54:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68307,"nodeType":"StructuredDocumentation","src":"16861:152:119","text":"@notice Resets the signals of a user with a given reason\n @param user The user address\n @param reason The reason for resetting the signals"},"functionSelector":"1ee76323","id":68314,"implemented":false,"kind":"function","modifiers":[],"name":"resetUserSignalsWithReason","nameLocation":"17025:26:119","nodeType":"FunctionDefinition","parameters":{"id":68312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68309,"mutability":"mutable","name":"user","nameLocation":"17060:4:119","nodeType":"VariableDeclaration","scope":68314,"src":"17052:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68308,"name":"address","nodeType":"ElementaryTypeName","src":"17052:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68311,"mutability":"mutable","name":"reason","nameLocation":"17080:6:119","nodeType":"VariableDeclaration","scope":68314,"src":"17066:20:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68310,"name":"string","nodeType":"ElementaryTypeName","src":"17066:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17051:36:119"},"returnParameters":{"id":68313,"nodeType":"ParameterList","parameters":[],"src":"17096:0:119"},"scope":68601,"src":"17016:81:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68315,"nodeType":"StructuredDocumentation","src":"17101:98:119","text":"@notice Gets the version of the contract\n @return The version of the contract as a string"},"functionSelector":"54fd4d50","id":68320,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"17211:7:119","nodeType":"FunctionDefinition","parameters":{"id":68316,"nodeType":"ParameterList","parameters":[],"src":"17218:2:119"},"returnParameters":{"id":68319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68318,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68320,"src":"17244:13:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68317,"name":"string","nodeType":"ElementaryTypeName","src":"17244:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17243:15:119"},"scope":68601,"src":"17202:57:119","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":68321,"nodeType":"StructuredDocumentation","src":"17263:83:119","text":"@notice Returns the current block number\n @return The current block number"},"functionSelector":"91ddadf4","id":68326,"implemented":false,"kind":"function","modifiers":[],"name":"clock","nameLocation":"17358:5:119","nodeType":"FunctionDefinition","parameters":{"id":68322,"nodeType":"ParameterList","parameters":[],"src":"17363:2:119"},"returnParameters":{"id":68325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68326,"src":"17389:6:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":68323,"name":"uint48","nodeType":"ElementaryTypeName","src":"17389:6:119","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"17388:8:119"},"scope":68601,"src":"17349:48:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68327,"nodeType":"StructuredDocumentation","src":"17401:92:119","text":"@notice Returns the clock mode for the contract\n @return The clock mode as a string"},"functionSelector":"4bf5d7e9","id":68332,"implemented":false,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"17505:10:119","nodeType":"FunctionDefinition","parameters":{"id":68328,"nodeType":"ParameterList","parameters":[],"src":"17515:2:119"},"returnParameters":{"id":68331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68332,"src":"17541:13:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68329,"name":"string","nodeType":"ElementaryTypeName","src":"17541:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17540:15:119"},"scope":68601,"src":"17496:60:119","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":68333,"nodeType":"StructuredDocumentation","src":"17560:91:119","text":"@notice Sets the signaling threshold\n @param threshold The new signaling threshold"},"functionSelector":"ebd695c3","id":68338,"implemented":false,"kind":"function","modifiers":[],"name":"setSignalingThreshold","nameLocation":"17663:21:119","nodeType":"FunctionDefinition","parameters":{"id":68336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68335,"mutability":"mutable","name":"threshold","nameLocation":"17693:9:119","nodeType":"VariableDeclaration","scope":68338,"src":"17685:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68334,"name":"uint256","nodeType":"ElementaryTypeName","src":"17685:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17684:19:119"},"returnParameters":{"id":68337,"nodeType":"ParameterList","parameters":[],"src":"17712:0:119"},"scope":68601,"src":"17654:59:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68339,"nodeType":"StructuredDocumentation","src":"17717:159:119","text":"@notice Sets the security multiplier for an app security level\n @param security The app security level\n @param multiplier The security multiplier"},"functionSelector":"9f14e0e2","id":68347,"implemented":false,"kind":"function","modifiers":[],"name":"setSecurityMultiplier","nameLocation":"17888:21:119","nodeType":"FunctionDefinition","parameters":{"id":68345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68342,"mutability":"mutable","name":"security","nameLocation":"17937:8:119","nodeType":"VariableDeclaration","scope":68347,"src":"17910:35:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"},"typeName":{"id":68341,"nodeType":"UserDefinedTypeName","pathNode":{"id":68340,"name":"PassportTypes.APP_SECURITY","nameLocations":["17910:13:119","17924:12:119"],"nodeType":"IdentifierPath","referencedDeclaration":73233,"src":"17910:26:119"},"referencedDeclaration":73233,"src":"17910:26:119","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}},"visibility":"internal"},{"constant":false,"id":68344,"mutability":"mutable","name":"multiplier","nameLocation":"17955:10:119","nodeType":"VariableDeclaration","scope":68347,"src":"17947:18:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68343,"name":"uint256","nodeType":"ElementaryTypeName","src":"17947:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17909:57:119"},"returnParameters":{"id":68346,"nodeType":"ParameterList","parameters":[],"src":"17975:0:119"},"scope":68601,"src":"17879:97:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68348,"nodeType":"StructuredDocumentation","src":"17980:129:119","text":"@notice Sets the app security level for a specific app\n @param appId The app ID\n @param security The security level"},"functionSelector":"0e668aac","id":68356,"implemented":false,"kind":"function","modifiers":[],"name":"setAppSecurity","nameLocation":"18121:14:119","nodeType":"FunctionDefinition","parameters":{"id":68354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68350,"mutability":"mutable","name":"appId","nameLocation":"18144:5:119","nodeType":"VariableDeclaration","scope":68356,"src":"18136:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18136:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68353,"mutability":"mutable","name":"security","nameLocation":"18178:8:119","nodeType":"VariableDeclaration","scope":68356,"src":"18151:35:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"},"typeName":{"id":68352,"nodeType":"UserDefinedTypeName","pathNode":{"id":68351,"name":"PassportTypes.APP_SECURITY","nameLocations":["18151:13:119","18165:12:119"],"nodeType":"IdentifierPath","referencedDeclaration":73233,"src":"18151:26:119"},"referencedDeclaration":73233,"src":"18151:26:119","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}},"visibility":"internal"}],"src":"18135:52:119"},"returnParameters":{"id":68355,"nodeType":"ParameterList","parameters":[],"src":"18196:0:119"},"scope":68601,"src":"18112:85:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68357,"nodeType":"StructuredDocumentation","src":"18201:116:119","text":"@notice Sets the threshold score for a user to be considered a person\n @param threshold The threshold score"},"functionSelector":"a26596de","id":68362,"implemented":false,"kind":"function","modifiers":[],"name":"setThresholdPoPScore","nameLocation":"18329:20:119","nodeType":"FunctionDefinition","parameters":{"id":68360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68359,"mutability":"mutable","name":"threshold","nameLocation":"18358:9:119","nodeType":"VariableDeclaration","scope":68362,"src":"18350:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":68358,"name":"uint208","nodeType":"ElementaryTypeName","src":"18350:7:119","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"18349:19:119"},"returnParameters":{"id":68361,"nodeType":"ParameterList","parameters":[],"src":"18377:0:119"},"scope":68601,"src":"18320:58:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68363,"nodeType":"StructuredDocumentation","src":"18382:123:119","text":"@notice Sets the number of rounds to consider for cumulative score calculation\n @param rounds The number of rounds"},"functionSelector":"bb004e93","id":68368,"implemented":false,"kind":"function","modifiers":[],"name":"setRoundsForCumulativeScore","nameLocation":"18517:27:119","nodeType":"FunctionDefinition","parameters":{"id":68366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68365,"mutability":"mutable","name":"rounds","nameLocation":"18553:6:119","nodeType":"VariableDeclaration","scope":68368,"src":"18545:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68364,"name":"uint256","nodeType":"ElementaryTypeName","src":"18545:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18544:16:119"},"returnParameters":{"id":68367,"nodeType":"ParameterList","parameters":[],"src":"18569:0:119"},"scope":68601,"src":"18508:62:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68369,"nodeType":"StructuredDocumentation","src":"18574:99:119","text":"@notice Sets the decay rate for exponential decay scoring\n @param decayRate The decay rate"},"functionSelector":"04e7e0b9","id":68374,"implemented":false,"kind":"function","modifiers":[],"name":"setDecayRate","nameLocation":"18685:12:119","nodeType":"FunctionDefinition","parameters":{"id":68372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68371,"mutability":"mutable","name":"decayRate","nameLocation":"18706:9:119","nodeType":"VariableDeclaration","scope":68374,"src":"18698:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68370,"name":"uint256","nodeType":"ElementaryTypeName","src":"18698:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18697:19:119"},"returnParameters":{"id":68373,"nodeType":"ParameterList","parameters":[],"src":"18725:0:119"},"scope":68601,"src":"18676:50:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68375,"nodeType":"StructuredDocumentation","src":"18730:105:119","text":"@notice Sets the X2EarnApps contract address\n @param _x2EarnApps The X2EarnApps contract address"},"functionSelector":"40a6fc0b","id":68381,"implemented":false,"kind":"function","modifiers":[],"name":"setX2EarnApps","nameLocation":"18847:13:119","nodeType":"FunctionDefinition","parameters":{"id":68379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68378,"mutability":"mutable","name":"_x2EarnApps","nameLocation":"18873:11:119","nodeType":"VariableDeclaration","scope":68381,"src":"18861:23:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":68377,"nodeType":"UserDefinedTypeName","pathNode":{"id":68376,"name":"IX2EarnApps","nameLocations":["18861:11:119"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"18861:11:119"},"referencedDeclaration":69989,"src":"18861:11:119","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"18860:25:119"},"returnParameters":{"id":68380,"nodeType":"ParameterList","parameters":[],"src":"18894:0:119"},"scope":68601,"src":"18838:57:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68382,"nodeType":"StructuredDocumentation","src":"18899:125:119","text":"@notice Sets the xAllocationVoting contract address\n @param xAllocationVoting The xAllocationVoting contract address"},"functionSelector":"3d47fe94","id":68388,"implemented":false,"kind":"function","modifiers":[],"name":"setXAllocationVoting","nameLocation":"19036:20:119","nodeType":"FunctionDefinition","parameters":{"id":68386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68385,"mutability":"mutable","name":"xAllocationVoting","nameLocation":"19084:17:119","nodeType":"VariableDeclaration","scope":68388,"src":"19057:44:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":68384,"nodeType":"UserDefinedTypeName","pathNode":{"id":68383,"name":"IXAllocationVotingGovernor","nameLocations":["19057:26:119"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"19057:26:119"},"referencedDeclaration":71124,"src":"19057:26:119","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"src":"19056:46:119"},"returnParameters":{"id":68387,"nodeType":"ParameterList","parameters":[],"src":"19111:0:119"},"scope":68601,"src":"19027:85:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68389,"nodeType":"StructuredDocumentation","src":"19116:439:119","text":"@notice Link an account (which will become an entity) to a passport (an address that is not an enitity)\n After linking, the scores of the enitity will be stored to the linked account (passport)\n Balance is not transferred and the entity will not be able to vote after linking.\n @param entity The entity's address\n @param deadline The deadline for the signature\n @param signature The signature of the delegation"},"functionSelector":"c791e937","id":68398,"implemented":false,"kind":"function","modifiers":[],"name":"linkEntityToPassportWithSignature","nameLocation":"19567:33:119","nodeType":"FunctionDefinition","parameters":{"id":68396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68391,"mutability":"mutable","name":"entity","nameLocation":"19609:6:119","nodeType":"VariableDeclaration","scope":68398,"src":"19601:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68390,"name":"address","nodeType":"ElementaryTypeName","src":"19601:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68393,"mutability":"mutable","name":"deadline","nameLocation":"19625:8:119","nodeType":"VariableDeclaration","scope":68398,"src":"19617:16:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68392,"name":"uint256","nodeType":"ElementaryTypeName","src":"19617:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68395,"mutability":"mutable","name":"signature","nameLocation":"19648:9:119","nodeType":"VariableDeclaration","scope":68398,"src":"19635:22:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68394,"name":"bytes","nodeType":"ElementaryTypeName","src":"19635:5:119","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19600:58:119"},"returnParameters":{"id":68397,"nodeType":"ParameterList","parameters":[],"src":"19667:0:119"},"scope":68601,"src":"19558:110:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68399,"nodeType":"StructuredDocumentation","src":"19672:341:119","text":"@notice Link an account (which will become an entity) to a passport (an address that is not an enitity)\n After linking, the scores of the enitity will be stored to the linked account (passport)\n Balance is not transferred and the entity will not be able to vote after linking.\n @dev The passport must accept the delegation"},"functionSelector":"e0b23db4","id":68404,"implemented":false,"kind":"function","modifiers":[],"name":"linkEntityToPassport","nameLocation":"20025:20:119","nodeType":"FunctionDefinition","parameters":{"id":68402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68401,"mutability":"mutable","name":"passport","nameLocation":"20054:8:119","nodeType":"VariableDeclaration","scope":68404,"src":"20046:16:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68400,"name":"address","nodeType":"ElementaryTypeName","src":"20046:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20045:18:119"},"returnParameters":{"id":68403,"nodeType":"ParameterList","parameters":[],"src":"20072:0:119"},"scope":68601,"src":"20016:57:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68405,"nodeType":"StructuredDocumentation","src":"20077:96:119","text":"@notice Allow the passport to accept the delegation\n @param entity - the entity address"},"functionSelector":"d1143f3a","id":68410,"implemented":false,"kind":"function","modifiers":[],"name":"acceptEntityLink","nameLocation":"20185:16:119","nodeType":"FunctionDefinition","parameters":{"id":68408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68407,"mutability":"mutable","name":"entity","nameLocation":"20210:6:119","nodeType":"VariableDeclaration","scope":68410,"src":"20202:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68406,"name":"address","nodeType":"ElementaryTypeName","src":"20202:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20201:16:119"},"returnParameters":{"id":68409,"nodeType":"ParameterList","parameters":[],"src":"20226:0:119"},"scope":68601,"src":"20176:51:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68411,"nodeType":"StructuredDocumentation","src":"20231:115:119","text":"@notice Deny an incoming pending entity link to the sender's passport.\n @param entity - the entity address"},"functionSelector":"1332de46","id":68416,"implemented":false,"kind":"function","modifiers":[],"name":"denyIncomingPendingEntityLink","nameLocation":"20358:29:119","nodeType":"FunctionDefinition","parameters":{"id":68414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68413,"mutability":"mutable","name":"entity","nameLocation":"20396:6:119","nodeType":"VariableDeclaration","scope":68416,"src":"20388:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68412,"name":"address","nodeType":"ElementaryTypeName","src":"20388:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20387:16:119"},"returnParameters":{"id":68415,"nodeType":"ParameterList","parameters":[],"src":"20412:0:119"},"scope":68601,"src":"20349:64:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68417,"nodeType":"StructuredDocumentation","src":"20417:67:119","text":"@notice Cancel an outgoing pending entity link from the sender."},"functionSelector":"15b75cf0","id":68420,"implemented":false,"kind":"function","modifiers":[],"name":"cancelOutgoingPendingEntityLink","nameLocation":"20496:31:119","nodeType":"FunctionDefinition","parameters":{"id":68418,"nodeType":"ParameterList","parameters":[],"src":"20527:2:119"},"returnParameters":{"id":68419,"nodeType":"ParameterList","parameters":[],"src":"20538:0:119"},"scope":68601,"src":"20487:52:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68421,"nodeType":"StructuredDocumentation","src":"20543:96:119","text":"@notice Remove the linked enitity from the passport\n @param entity - the entity address"},"functionSelector":"0070f93d","id":68426,"implemented":false,"kind":"function","modifiers":[],"name":"removeEntityLink","nameLocation":"20651:16:119","nodeType":"FunctionDefinition","parameters":{"id":68424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68423,"mutability":"mutable","name":"entity","nameLocation":"20676:6:119","nodeType":"VariableDeclaration","scope":68426,"src":"20668:14:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68422,"name":"address","nodeType":"ElementaryTypeName","src":"20668:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20667:16:119"},"returnParameters":{"id":68425,"nodeType":"ParameterList","parameters":[],"src":"20692:0:119"},"scope":68601,"src":"20642:51:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68427,"nodeType":"StructuredDocumentation","src":"20697:143:119","text":"@notice Registers an action for a user\n @param user - the user that performed the action\n @param appId - the app id of the action"},"functionSelector":"b7af0690","id":68434,"implemented":false,"kind":"function","modifiers":[],"name":"registerAction","nameLocation":"20852:14:119","nodeType":"FunctionDefinition","parameters":{"id":68432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68429,"mutability":"mutable","name":"user","nameLocation":"20875:4:119","nodeType":"VariableDeclaration","scope":68434,"src":"20867:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68428,"name":"address","nodeType":"ElementaryTypeName","src":"20867:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68431,"mutability":"mutable","name":"appId","nameLocation":"20889:5:119","nodeType":"VariableDeclaration","scope":68434,"src":"20881:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68430,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20881:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20866:29:119"},"returnParameters":{"id":68433,"nodeType":"ParameterList","parameters":[],"src":"20904:0:119"},"scope":68601,"src":"20843:62:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68435,"nodeType":"StructuredDocumentation","src":"20909:202:119","text":"@notice Registers an action for a user in a round\n @param user - the user that performed the action\n @param appId - the app id of the action\n @param round - the round id of the action"},"functionSelector":"5801b70f","id":68444,"implemented":false,"kind":"function","modifiers":[],"name":"registerActionForRound","nameLocation":"21123:22:119","nodeType":"FunctionDefinition","parameters":{"id":68442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68437,"mutability":"mutable","name":"user","nameLocation":"21154:4:119","nodeType":"VariableDeclaration","scope":68444,"src":"21146:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68436,"name":"address","nodeType":"ElementaryTypeName","src":"21146:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68439,"mutability":"mutable","name":"appId","nameLocation":"21168:5:119","nodeType":"VariableDeclaration","scope":68444,"src":"21160:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68438,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21160:7:119","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68441,"mutability":"mutable","name":"round","nameLocation":"21183:5:119","nodeType":"VariableDeclaration","scope":68444,"src":"21175:13:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68440,"name":"uint256","nodeType":"ElementaryTypeName","src":"21175:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21145:44:119"},"returnParameters":{"id":68443,"nodeType":"ParameterList","parameters":[],"src":"21198:0:119"},"scope":68601,"src":"21114:85:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68445,"nodeType":"StructuredDocumentation","src":"21203:109:119","text":"@notice Gets the threshold percentage of blacklisted entities for a passport to be considered blacklisted"},"functionSelector":"5ce33093","id":68450,"implemented":false,"kind":"function","modifiers":[],"name":"blacklistThreshold","nameLocation":"21324:18:119","nodeType":"FunctionDefinition","parameters":{"id":68446,"nodeType":"ParameterList","parameters":[],"src":"21342:2:119"},"returnParameters":{"id":68449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68450,"src":"21368:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68447,"name":"uint256","nodeType":"ElementaryTypeName","src":"21368:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21367:9:119"},"scope":68601,"src":"21315:62:119","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"b5dadb17","id":68455,"implemented":false,"kind":"function","modifiers":[],"name":"whitelistThreshold","nameLocation":"21501:18:119","nodeType":"FunctionDefinition","parameters":{"id":68451,"nodeType":"ParameterList","parameters":[],"src":"21519:2:119"},"returnParameters":{"id":68454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68455,"src":"21545:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68452,"name":"uint256","nodeType":"ElementaryTypeName","src":"21545:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21544:9:119"},"scope":68601,"src":"21492:62:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68456,"nodeType":"StructuredDocumentation","src":"21558:63:119","text":"@notice Returns the maximum number of entities per passport"},"functionSelector":"4f69de08","id":68461,"implemented":false,"kind":"function","modifiers":[],"name":"maxEntitiesPerPassport","nameLocation":"21633:22:119","nodeType":"FunctionDefinition","parameters":{"id":68457,"nodeType":"ParameterList","parameters":[],"src":"21655:2:119"},"returnParameters":{"id":68460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68461,"src":"21681:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68458,"name":"uint256","nodeType":"ElementaryTypeName","src":"21681:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21680:9:119"},"scope":68601,"src":"21624:66:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68462,"nodeType":"StructuredDocumentation","src":"21694:56:119","text":"@notice Gets the decay rate for the cumulative score"},"functionSelector":"a9c1f2f1","id":68467,"implemented":false,"kind":"function","modifiers":[],"name":"decayRate","nameLocation":"21762:9:119","nodeType":"FunctionDefinition","parameters":{"id":68463,"nodeType":"ParameterList","parameters":[],"src":"21771:2:119"},"returnParameters":{"id":68466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68467,"src":"21797:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68464,"name":"uint256","nodeType":"ElementaryTypeName","src":"21797:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21796:9:119"},"scope":68601,"src":"21753:53:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68468,"nodeType":"StructuredDocumentation","src":"21810:74:119","text":"@notice Gets the minimum galaxy member level to be considered a person"},"functionSelector":"9687f511","id":68473,"implemented":false,"kind":"function","modifiers":[],"name":"minimumGalaxyMemberLevel","nameLocation":"21896:24:119","nodeType":"FunctionDefinition","parameters":{"id":68469,"nodeType":"ParameterList","parameters":[],"src":"21920:2:119"},"returnParameters":{"id":68472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68473,"src":"21946:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68470,"name":"uint256","nodeType":"ElementaryTypeName","src":"21946:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21945:9:119"},"scope":68601,"src":"21887:68:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68474,"nodeType":"StructuredDocumentation","src":"21959:109:119","text":"@notice Sets the threshold percentage of blacklisted entities for a passport to be considered blacklisted"},"functionSelector":"453b8b07","id":68479,"implemented":false,"kind":"function","modifiers":[],"name":"setBlacklistThreshold","nameLocation":"22080:21:119","nodeType":"FunctionDefinition","parameters":{"id":68477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68476,"mutability":"mutable","name":"_threshold","nameLocation":"22110:10:119","nodeType":"VariableDeclaration","scope":68479,"src":"22102:18:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68475,"name":"uint256","nodeType":"ElementaryTypeName","src":"22102:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22101:20:119"},"returnParameters":{"id":68478,"nodeType":"ParameterList","parameters":[],"src":"22130:0:119"},"scope":68601,"src":"22071:60:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68480,"nodeType":"StructuredDocumentation","src":"22135:109:119","text":"@notice Sets the threshold percentage of whitelisted entities for a passport to be considered whitelisted"},"functionSelector":"97d88868","id":68485,"implemented":false,"kind":"function","modifiers":[],"name":"setWhitelistThreshold","nameLocation":"22256:21:119","nodeType":"FunctionDefinition","parameters":{"id":68483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68482,"mutability":"mutable","name":"_threshold","nameLocation":"22286:10:119","nodeType":"VariableDeclaration","scope":68485,"src":"22278:18:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68481,"name":"uint256","nodeType":"ElementaryTypeName","src":"22278:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22277:20:119"},"returnParameters":{"id":68484,"nodeType":"ParameterList","parameters":[],"src":"22306:0:119"},"scope":68601,"src":"22247:60:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68486,"nodeType":"StructuredDocumentation","src":"22311:138:119","text":"@notice Sets the maximum number of entities that can be linked to a passport\n @param maxEntities - the maximum number of entities"},"functionSelector":"d2a98f8b","id":68491,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxEntitiesPerPassport","nameLocation":"22461:25:119","nodeType":"FunctionDefinition","parameters":{"id":68489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68488,"mutability":"mutable","name":"maxEntities","nameLocation":"22495:11:119","nodeType":"VariableDeclaration","scope":68491,"src":"22487:19:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68487,"name":"uint256","nodeType":"ElementaryTypeName","src":"22487:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22486:21:119"},"returnParameters":{"id":68490,"nodeType":"ParameterList","parameters":[],"src":"22516:0:119"},"scope":68601,"src":"22452:65:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68492,"nodeType":"StructuredDocumentation","src":"22521:101:119","text":"@notice Delegate the personhood to another address\n @param delegatee - the delegatee address"},"functionSelector":"49599712","id":68497,"implemented":false,"kind":"function","modifiers":[],"name":"delegatePassport","nameLocation":"22634:16:119","nodeType":"FunctionDefinition","parameters":{"id":68495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68494,"mutability":"mutable","name":"delegatee","nameLocation":"22659:9:119","nodeType":"VariableDeclaration","scope":68497,"src":"22651:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68493,"name":"address","nodeType":"ElementaryTypeName","src":"22651:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22650:19:119"},"returnParameters":{"id":68496,"nodeType":"ParameterList","parameters":[],"src":"22678:0:119"},"scope":68601,"src":"22625:54:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68498,"nodeType":"StructuredDocumentation","src":"22683:103:119","text":"@notice Allow the delegatee to accept the delegation\n @param delegator - the delegator address"},"functionSelector":"b48a9634","id":68503,"implemented":false,"kind":"function","modifiers":[],"name":"acceptDelegation","nameLocation":"22798:16:119","nodeType":"FunctionDefinition","parameters":{"id":68501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68500,"mutability":"mutable","name":"delegator","nameLocation":"22823:9:119","nodeType":"VariableDeclaration","scope":68503,"src":"22815:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68499,"name":"address","nodeType":"ElementaryTypeName","src":"22815:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22814:19:119"},"returnParameters":{"id":68502,"nodeType":"ParameterList","parameters":[],"src":"22842:0:119"},"scope":68601,"src":"22789:54:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68504,"nodeType":"StructuredDocumentation","src":"22847:81:119","text":"@notice Revoke the delegation (can be done by the delegator or the delegatee)"},"functionSelector":"a4d31805","id":68507,"implemented":false,"kind":"function","modifiers":[],"name":"revokeDelegation","nameLocation":"22940:16:119","nodeType":"FunctionDefinition","parameters":{"id":68505,"nodeType":"ParameterList","parameters":[],"src":"22956:2:119"},"returnParameters":{"id":68506,"nodeType":"ParameterList","parameters":[],"src":"22967:0:119"},"scope":68601,"src":"22931:37:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68508,"nodeType":"StructuredDocumentation","src":"22972:161:119","text":"@notice Allows a delegator to deny (and remove) an incoming pending delegation.\n @param delegator - the user who is delegating to me (aka the delegator)"},"functionSelector":"2be4d14d","id":68513,"implemented":false,"kind":"function","modifiers":[],"name":"denyIncomingPendingDelegation","nameLocation":"23145:29:119","nodeType":"FunctionDefinition","parameters":{"id":68511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68510,"mutability":"mutable","name":"delegator","nameLocation":"23183:9:119","nodeType":"VariableDeclaration","scope":68513,"src":"23175:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68509,"name":"address","nodeType":"ElementaryTypeName","src":"23175:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23174:19:119"},"returnParameters":{"id":68512,"nodeType":"ParameterList","parameters":[],"src":"23202:0:119"},"scope":68601,"src":"23136:67:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68514,"nodeType":"StructuredDocumentation","src":"23207:86:119","text":"@notice Allows a delegator to cancel (and remove) the outgoing pending delegation."},"functionSelector":"36db28b3","id":68517,"implemented":false,"kind":"function","modifiers":[],"name":"cancelOutgoingPendingDelegation","nameLocation":"23305:31:119","nodeType":"FunctionDefinition","parameters":{"id":68515,"nodeType":"ParameterList","parameters":[],"src":"23336:2:119"},"returnParameters":{"id":68516,"nodeType":"ParameterList","parameters":[],"src":"23347:0:119"},"scope":68601,"src":"23296:52:119","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68518,"nodeType":"StructuredDocumentation","src":"23352:147:119","text":"@notice Returns the delegatee address for a delegator\n @param delegator The delegator's address\n @return The address of the delegatee"},"functionSelector":"9b4e735f","id":68525,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegatee","nameLocation":"23511:12:119","nodeType":"FunctionDefinition","parameters":{"id":68521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68520,"mutability":"mutable","name":"delegator","nameLocation":"23532:9:119","nodeType":"VariableDeclaration","scope":68525,"src":"23524:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68519,"name":"address","nodeType":"ElementaryTypeName","src":"23524:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23523:19:119"},"returnParameters":{"id":68524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68523,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68525,"src":"23566:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68522,"name":"address","nodeType":"ElementaryTypeName","src":"23566:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23565:9:119"},"scope":68601,"src":"23502:73:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68526,"nodeType":"StructuredDocumentation","src":"23579:266:119","text":"@notice Returns the incoming and outgoing pending delegations for a user\n @param user - the user address\n @return incoming The address[] memory of users that are delegating to the user.\n @return outgoing The address that the user is delegating to."},"functionSelector":"ca3f511f","id":68536,"implemented":false,"kind":"function","modifiers":[],"name":"getPendingDelegations","nameLocation":"23857:21:119","nodeType":"FunctionDefinition","parameters":{"id":68529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68528,"mutability":"mutable","name":"user","nameLocation":"23887:4:119","nodeType":"VariableDeclaration","scope":68536,"src":"23879:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68527,"name":"address","nodeType":"ElementaryTypeName","src":"23879:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23878:14:119"},"returnParameters":{"id":68535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68532,"mutability":"mutable","name":"incoming","nameLocation":"23933:8:119","nodeType":"VariableDeclaration","scope":68536,"src":"23916:25:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68530,"name":"address","nodeType":"ElementaryTypeName","src":"23916:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68531,"nodeType":"ArrayTypeName","src":"23916:9:119","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":68534,"mutability":"mutable","name":"outgoing","nameLocation":"23951:8:119","nodeType":"VariableDeclaration","scope":68536,"src":"23943:16:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68533,"name":"address","nodeType":"ElementaryTypeName","src":"23943:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23915:45:119"},"scope":68601,"src":"23848:113:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68537,"nodeType":"StructuredDocumentation","src":"23965:174:119","text":"@notice Returns the delegatee address for a delegator at a specific timepoint\n @param delegator The delegator's address\n @param timepoint The timepoint to query"},"functionSelector":"bc6237ff","id":68546,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegateeInTimepoint","nameLocation":"24151:23:119","nodeType":"FunctionDefinition","parameters":{"id":68542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68539,"mutability":"mutable","name":"delegator","nameLocation":"24183:9:119","nodeType":"VariableDeclaration","scope":68546,"src":"24175:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68538,"name":"address","nodeType":"ElementaryTypeName","src":"24175:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68541,"mutability":"mutable","name":"timepoint","nameLocation":"24202:9:119","nodeType":"VariableDeclaration","scope":68546,"src":"24194:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68540,"name":"uint256","nodeType":"ElementaryTypeName","src":"24194:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24174:38:119"},"returnParameters":{"id":68545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68544,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68546,"src":"24236:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68543,"name":"address","nodeType":"ElementaryTypeName","src":"24236:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24235:9:119"},"scope":68601,"src":"24142:103:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68547,"nodeType":"StructuredDocumentation","src":"24249:147:119","text":"@notice Returns the delegator address for a delegatee\n @param delegatee The delegatee's address\n @return The address of the delegator"},"functionSelector":"a64ad595","id":68554,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegator","nameLocation":"24408:12:119","nodeType":"FunctionDefinition","parameters":{"id":68550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68549,"mutability":"mutable","name":"delegatee","nameLocation":"24429:9:119","nodeType":"VariableDeclaration","scope":68554,"src":"24421:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68548,"name":"address","nodeType":"ElementaryTypeName","src":"24421:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24420:19:119"},"returnParameters":{"id":68553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68554,"src":"24463:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68551,"name":"address","nodeType":"ElementaryTypeName","src":"24463:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24462:9:119"},"scope":68601,"src":"24399:73:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68555,"nodeType":"StructuredDocumentation","src":"24476:174:119","text":"@notice Returns the delegator address for a delegatee at a specific timepoint\n @param delegatee The delegatee's address\n @param timepoint The timepoint to query"},"functionSelector":"f9561f67","id":68564,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegatorInTimepoint","nameLocation":"24662:23:119","nodeType":"FunctionDefinition","parameters":{"id":68560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68557,"mutability":"mutable","name":"delegatee","nameLocation":"24694:9:119","nodeType":"VariableDeclaration","scope":68564,"src":"24686:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68556,"name":"address","nodeType":"ElementaryTypeName","src":"24686:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68559,"mutability":"mutable","name":"timepoint","nameLocation":"24713:9:119","nodeType":"VariableDeclaration","scope":68564,"src":"24705:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68558,"name":"uint256","nodeType":"ElementaryTypeName","src":"24705:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24685:38:119"},"returnParameters":{"id":68563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68564,"src":"24747:7:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68561,"name":"address","nodeType":"ElementaryTypeName","src":"24747:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24746:9:119"},"scope":68601,"src":"24653:103:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68565,"nodeType":"StructuredDocumentation","src":"24760:79:119","text":"@notice Returns if a user is a delegator\n @param user The user address"},"functionSelector":"fd8ab482","id":68572,"implemented":false,"kind":"function","modifiers":[],"name":"isDelegator","nameLocation":"24851:11:119","nodeType":"FunctionDefinition","parameters":{"id":68568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68567,"mutability":"mutable","name":"user","nameLocation":"24871:4:119","nodeType":"VariableDeclaration","scope":68572,"src":"24863:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68566,"name":"address","nodeType":"ElementaryTypeName","src":"24863:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24862:14:119"},"returnParameters":{"id":68571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68570,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68572,"src":"24900:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68569,"name":"bool","nodeType":"ElementaryTypeName","src":"24900:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24899:6:119"},"scope":68601,"src":"24842:64:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68573,"nodeType":"StructuredDocumentation","src":"24910:149:119","text":"@notice Returns if a user is a delegator at a specific timepoint\n @param user The user address\n @param timepoint The timepoint to query"},"functionSelector":"f4079c1f","id":68582,"implemented":false,"kind":"function","modifiers":[],"name":"isDelegatorInTimepoint","nameLocation":"25071:22:119","nodeType":"FunctionDefinition","parameters":{"id":68578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68575,"mutability":"mutable","name":"user","nameLocation":"25102:4:119","nodeType":"VariableDeclaration","scope":68582,"src":"25094:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68574,"name":"address","nodeType":"ElementaryTypeName","src":"25094:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68577,"mutability":"mutable","name":"timepoint","nameLocation":"25116:9:119","nodeType":"VariableDeclaration","scope":68582,"src":"25108:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68576,"name":"uint256","nodeType":"ElementaryTypeName","src":"25108:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25093:33:119"},"returnParameters":{"id":68581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68582,"src":"25150:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68579,"name":"bool","nodeType":"ElementaryTypeName","src":"25150:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25149:6:119"},"scope":68601,"src":"25062:94:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68583,"nodeType":"StructuredDocumentation","src":"25160:79:119","text":"@notice Returns if a user is a delegatee\n @param user The user address"},"functionSelector":"080abb4c","id":68590,"implemented":false,"kind":"function","modifiers":[],"name":"isDelegatee","nameLocation":"25251:11:119","nodeType":"FunctionDefinition","parameters":{"id":68586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68585,"mutability":"mutable","name":"user","nameLocation":"25271:4:119","nodeType":"VariableDeclaration","scope":68590,"src":"25263:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68584,"name":"address","nodeType":"ElementaryTypeName","src":"25263:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25262:14:119"},"returnParameters":{"id":68589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68588,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68590,"src":"25300:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68587,"name":"bool","nodeType":"ElementaryTypeName","src":"25300:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25299:6:119"},"scope":68601,"src":"25242:64:119","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68591,"nodeType":"StructuredDocumentation","src":"25310:149:119","text":"@notice Returns if a user is a delegatee at a specific timepoint\n @param user The user address\n @param timepoint The timepoint to query"},"functionSelector":"08b76b3a","id":68600,"implemented":false,"kind":"function","modifiers":[],"name":"isDelegateeInTimepoint","nameLocation":"25471:22:119","nodeType":"FunctionDefinition","parameters":{"id":68596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68593,"mutability":"mutable","name":"user","nameLocation":"25502:4:119","nodeType":"VariableDeclaration","scope":68600,"src":"25494:12:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68592,"name":"address","nodeType":"ElementaryTypeName","src":"25494:7:119","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68595,"mutability":"mutable","name":"timepoint","nameLocation":"25516:9:119","nodeType":"VariableDeclaration","scope":68600,"src":"25508:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68594,"name":"uint256","nodeType":"ElementaryTypeName","src":"25508:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25493:33:119"},"returnParameters":{"id":68599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68598,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68600,"src":"25550:4:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68597,"name":"bool","nodeType":"ElementaryTypeName","src":"25550:4:119","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25549:6:119"},"scope":68601,"src":"25462:94:119","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":68602,"src":"269:25289:119","usedErrors":[67870,67875,67880,67885,67888,67893,67898,67903,67908,67911,67914,67917,67920,67923,67926,67931,67936],"usedEvents":[67734,67739,67746,67753,67760,67773,67784,67791,67798,67805,67812,67821,67828,67835,67844,67851,67858,67865]}],"src":"32:25527:119"},"id":119},"contracts/interfaces/IVoterRewards.sol":{"ast":{"absolutePath":"contracts/interfaces/IVoterRewards.sol","exportedSymbols":{"IVoterRewards":[69092]},"id":69093,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":68603,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:120"},{"abstract":false,"baseContracts":[],"canonicalName":"IVoterRewards","contractDependencies":[],"contractKind":"interface","documentation":{"id":68604,"nodeType":"StructuredDocumentation","src":"58:228:120","text":" @title IVoterRewards Interface\n @notice Interface for managing voter rewards, roles, emissions, and galaxy membership\n @dev Handles reward distribution, vote registration, and role management for the voting system"},"fullyImplemented":false,"id":69092,"linearizedBaseContracts":[69092],"name":"IVoterRewards","nameLocation":"297:13:120","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":68605,"nodeType":"StructuredDocumentation","src":"315:62:120","text":"@notice Thrown when access control confirmation is invalid"},"errorSelector":"6697b232","id":68607,"name":"AccessControlBadConfirmation","nameLocation":"386:28:120","nodeType":"ErrorDefinition","parameters":{"id":68606,"nodeType":"ParameterList","parameters":[],"src":"414:2:120"},"src":"380:37:120"},{"documentation":{"id":68608,"nodeType":"StructuredDocumentation","src":"421:156:120","text":"@notice Thrown when account doesn't have required role\n @param account The address that lacks permissions\n @param neededRole The required role"},"errorSelector":"e2517d3f","id":68614,"name":"AccessControlUnauthorizedAccount","nameLocation":"586:32:120","nodeType":"ErrorDefinition","parameters":{"id":68613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68610,"mutability":"mutable","name":"account","nameLocation":"627:7:120","nodeType":"VariableDeclaration","scope":68614,"src":"619:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68609,"name":"address","nodeType":"ElementaryTypeName","src":"619:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68612,"mutability":"mutable","name":"neededRole","nameLocation":"644:10:120","nodeType":"VariableDeclaration","scope":68614,"src":"636:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"636:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"618:37:120"},"src":"580:76:120"},{"documentation":{"id":68615,"nodeType":"StructuredDocumentation","src":"660:104:120","text":"@notice Thrown when target address contains no code\n @param target The address checked for code"},"errorSelector":"9996b315","id":68619,"name":"AddressEmptyCode","nameLocation":"773:16:120","nodeType":"ErrorDefinition","parameters":{"id":68618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68617,"mutability":"mutable","name":"target","nameLocation":"798:6:120","nodeType":"VariableDeclaration","scope":68619,"src":"790:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68616,"name":"address","nodeType":"ElementaryTypeName","src":"790:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"789:16:120"},"src":"767:39:120"},{"documentation":{"id":68620,"nodeType":"StructuredDocumentation","src":"810:124:120","text":"@notice Thrown when implementation is invalid for ERC1967\n @param implementation The invalid implementation address"},"errorSelector":"4c9c8ce3","id":68624,"name":"ERC1967InvalidImplementation","nameLocation":"943:28:120","nodeType":"ErrorDefinition","parameters":{"id":68623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68622,"mutability":"mutable","name":"implementation","nameLocation":"980:14:120","nodeType":"VariableDeclaration","scope":68624,"src":"972:22:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68621,"name":"address","nodeType":"ElementaryTypeName","src":"972:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"971:24:120"},"src":"937:59:120"},{"documentation":{"id":68625,"nodeType":"StructuredDocumentation","src":"1000:59:120","text":"@notice Thrown when non-payable function receives Ether"},"errorSelector":"b398979f","id":68627,"name":"ERC1967NonPayable","nameLocation":"1068:17:120","nodeType":"ErrorDefinition","parameters":{"id":68626,"nodeType":"ParameterList","parameters":[],"src":"1085:2:120"},"src":"1062:26:120"},{"documentation":{"id":68628,"nodeType":"StructuredDocumentation","src":"1092:43:120","text":"@notice Thrown when internal call fails"},"errorSelector":"1425ea42","id":68630,"name":"FailedInnerCall","nameLocation":"1144:15:120","nodeType":"ErrorDefinition","parameters":{"id":68629,"nodeType":"ParameterList","parameters":[],"src":"1159:2:120"},"src":"1138:24:120"},{"documentation":{"id":68631,"nodeType":"StructuredDocumentation","src":"1166:53:120","text":"@notice Thrown when contract is initialized again"},"errorSelector":"f92ee8a9","id":68633,"name":"InvalidInitialization","nameLocation":"1228:21:120","nodeType":"ErrorDefinition","parameters":{"id":68632,"nodeType":"ParameterList","parameters":[],"src":"1249:2:120"},"src":"1222:30:120"},{"documentation":{"id":68634,"nodeType":"StructuredDocumentation","src":"1256:62:120","text":"@notice Thrown when function called outside initialization"},"errorSelector":"d7e6bcf8","id":68636,"name":"NotInitializing","nameLocation":"1327:15:120","nodeType":"ErrorDefinition","parameters":{"id":68635,"nodeType":"ParameterList","parameters":[],"src":"1342:2:120"},"src":"1321:24:120"},{"documentation":{"id":68637,"nodeType":"StructuredDocumentation","src":"1349:36:120","text":"@notice Thrown on reentrant call"},"errorSelector":"3ee5aeb5","id":68639,"name":"ReentrancyGuardReentrantCall","nameLocation":"1394:28:120","nodeType":"ErrorDefinition","parameters":{"id":68638,"nodeType":"ParameterList","parameters":[],"src":"1422:2:120"},"src":"1388:37:120"},{"documentation":{"id":68640,"nodeType":"StructuredDocumentation","src":"1429:64:120","text":"@notice Thrown when upgrade called from unauthorized context"},"errorSelector":"e07c8dba","id":68642,"name":"UUPSUnauthorizedCallContext","nameLocation":"1502:27:120","nodeType":"ErrorDefinition","parameters":{"id":68641,"nodeType":"ParameterList","parameters":[],"src":"1529:2:120"},"src":"1496:36:120"},{"documentation":{"id":68643,"nodeType":"StructuredDocumentation","src":"1536:87:120","text":"@notice Thrown when UUID doesn't match UUPS\n @param slot The invalid UUID slot"},"errorSelector":"aa1d49a4","id":68647,"name":"UUPSUnsupportedProxiableUUID","nameLocation":"1632:28:120","nodeType":"ErrorDefinition","parameters":{"id":68646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68645,"mutability":"mutable","name":"slot","nameLocation":"1669:4:120","nodeType":"VariableDeclaration","scope":68647,"src":"1661:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1661:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1660:14:120"},"src":"1626:49:120"},{"anonymous":false,"documentation":{"id":68648,"nodeType":"StructuredDocumentation","src":"1679:88:120","text":"@notice Emitted when contract is initialized\n @param version The version number"},"eventSelector":"c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2","id":68652,"name":"Initialized","nameLocation":"1776:11:120","nodeType":"EventDefinition","parameters":{"id":68651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68650,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"1795:7:120","nodeType":"VariableDeclaration","scope":68652,"src":"1788:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":68649,"name":"uint64","nodeType":"ElementaryTypeName","src":"1788:6:120","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1787:16:120"},"src":"1770:34:120"},{"anonymous":false,"documentation":{"id":68653,"nodeType":"StructuredDocumentation","src":"1808:221:120","text":"@notice Emitted when reward is claimed\n @dev This event is deprecated, use RewardClaimedV2 instead.\n @param cycle The reward cycle\n @param voter The voter's address\n @param reward The reward amount"},"eventSelector":"24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7","id":68661,"name":"RewardClaimed","nameLocation":"2038:13:120","nodeType":"EventDefinition","parameters":{"id":68660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68655,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"2068:5:120","nodeType":"VariableDeclaration","scope":68661,"src":"2052:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68654,"name":"uint256","nodeType":"ElementaryTypeName","src":"2052:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68657,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"2091:5:120","nodeType":"VariableDeclaration","scope":68661,"src":"2075:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68656,"name":"address","nodeType":"ElementaryTypeName","src":"2075:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68659,"indexed":false,"mutability":"mutable","name":"reward","nameLocation":"2106:6:120","nodeType":"VariableDeclaration","scope":68661,"src":"2098:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68658,"name":"uint256","nodeType":"ElementaryTypeName","src":"2098:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2051:62:120"},"src":"2032:82:120"},{"anonymous":false,"documentation":{"id":68662,"nodeType":"StructuredDocumentation","src":"2118:203:120","text":"@notice Emitted when reward is claimed, V2.\n @param cycle The reward cycle\n @param voter The voter's address\n @param reward The reward amount\n @param gmReward The GM reward amount"},"eventSelector":"5141bec81f3347f1f4850164c7b8a0ebb6e206143d6b483238206f7543ccb425","id":68672,"name":"RewardClaimedV2","nameLocation":"2330:15:120","nodeType":"EventDefinition","parameters":{"id":68671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68664,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"2362:5:120","nodeType":"VariableDeclaration","scope":68672,"src":"2346:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68663,"name":"uint256","nodeType":"ElementaryTypeName","src":"2346:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68666,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"2385:5:120","nodeType":"VariableDeclaration","scope":68672,"src":"2369:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68665,"name":"address","nodeType":"ElementaryTypeName","src":"2369:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68668,"indexed":false,"mutability":"mutable","name":"reward","nameLocation":"2400:6:120","nodeType":"VariableDeclaration","scope":68672,"src":"2392:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68667,"name":"uint256","nodeType":"ElementaryTypeName","src":"2392:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68670,"indexed":false,"mutability":"mutable","name":"gmReward","nameLocation":"2416:8:120","nodeType":"VariableDeclaration","scope":68672,"src":"2408:16:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68669,"name":"uint256","nodeType":"ElementaryTypeName","src":"2408:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2345:80:120"},"src":"2324:102:120"},{"anonymous":false,"documentation":{"id":68673,"nodeType":"StructuredDocumentation","src":"2430:188:120","text":"@notice Emitted when role admin is changed\n @param role The role being modified\n @param previousAdminRole The previous admin role\n @param newAdminRole The new admin role"},"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":68681,"name":"RoleAdminChanged","nameLocation":"2627:16:120","nodeType":"EventDefinition","parameters":{"id":68680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68675,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"2660:4:120","nodeType":"VariableDeclaration","scope":68681,"src":"2644:20:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2644:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68677,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"2682:17:120","nodeType":"VariableDeclaration","scope":68681,"src":"2666:33:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2666:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68679,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"2717:12:120","nodeType":"VariableDeclaration","scope":68681,"src":"2701:28:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2701:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2643:87:120"},"src":"2621:110:120"},{"anonymous":false,"documentation":{"id":68682,"nodeType":"StructuredDocumentation","src":"2735:183:120","text":"@notice Emitted when role is granted\n @param role The role being granted\n @param account The account receiving the role\n @param sender The account granting the role"},"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":68690,"name":"RoleGranted","nameLocation":"2927:11:120","nodeType":"EventDefinition","parameters":{"id":68689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68684,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"2955:4:120","nodeType":"VariableDeclaration","scope":68690,"src":"2939:20:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2939:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68686,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2977:7:120","nodeType":"VariableDeclaration","scope":68690,"src":"2961:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68685,"name":"address","nodeType":"ElementaryTypeName","src":"2961:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68688,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"3002:6:120","nodeType":"VariableDeclaration","scope":68690,"src":"2986:22:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68687,"name":"address","nodeType":"ElementaryTypeName","src":"2986:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2938:71:120"},"src":"2921:89:120"},{"anonymous":false,"documentation":{"id":68691,"nodeType":"StructuredDocumentation","src":"3014:180:120","text":"@notice Emitted when role is revoked\n @param role The role being revoked\n @param account The account losing the role\n @param sender The account revoking the role"},"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":68699,"name":"RoleRevoked","nameLocation":"3203:11:120","nodeType":"EventDefinition","parameters":{"id":68698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68693,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"3231:4:120","nodeType":"VariableDeclaration","scope":68699,"src":"3215:20:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3215:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68695,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"3253:7:120","nodeType":"VariableDeclaration","scope":68699,"src":"3237:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68694,"name":"address","nodeType":"ElementaryTypeName","src":"3237:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68697,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"3278:6:120","nodeType":"VariableDeclaration","scope":68699,"src":"3262:22:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68696,"name":"address","nodeType":"ElementaryTypeName","src":"3262:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3214:71:120"},"src":"3197:89:120"},{"anonymous":false,"documentation":{"id":68700,"nodeType":"StructuredDocumentation","src":"3290:104:120","text":"@notice Emitted when contract is upgraded\n @param implementation The new implementation address"},"eventSelector":"bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","id":68704,"name":"Upgraded","nameLocation":"3403:8:120","nodeType":"EventDefinition","parameters":{"id":68703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68702,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"3428:14:120","nodeType":"VariableDeclaration","scope":68704,"src":"3412:30:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68701,"name":"address","nodeType":"ElementaryTypeName","src":"3412:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3411:32:120"},"src":"3397:47:120"},{"anonymous":false,"documentation":{"id":68705,"nodeType":"StructuredDocumentation","src":"3448:215:120","text":"@notice Emitted when vote is registered\n @param cycle The voting cycle\n @param voter The voter's address\n @param votes Number of votes cast\n @param rewardWeightedVote The weighted vote amount"},"eventSelector":"ac45cfd9cf13dd2e8b216503a1ca26d9f2a35e9a6b4b1b5cecc415db06ddf63f","id":68715,"name":"VoteRegistered","nameLocation":"3672:14:120","nodeType":"EventDefinition","parameters":{"id":68714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68707,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"3703:5:120","nodeType":"VariableDeclaration","scope":68715,"src":"3687:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68706,"name":"uint256","nodeType":"ElementaryTypeName","src":"3687:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68709,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"3726:5:120","nodeType":"VariableDeclaration","scope":68715,"src":"3710:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68708,"name":"address","nodeType":"ElementaryTypeName","src":"3710:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68711,"indexed":false,"mutability":"mutable","name":"votes","nameLocation":"3741:5:120","nodeType":"VariableDeclaration","scope":68715,"src":"3733:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68710,"name":"uint256","nodeType":"ElementaryTypeName","src":"3733:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68713,"indexed":false,"mutability":"mutable","name":"rewardWeightedVote","nameLocation":"3756:18:120","nodeType":"VariableDeclaration","scope":68715,"src":"3748:26:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68712,"name":"uint256","nodeType":"ElementaryTypeName","src":"3748:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3686:89:120"},"src":"3666:110:120"},{"anonymous":false,"documentation":{"id":68716,"nodeType":"StructuredDocumentation","src":"3780:170:120","text":"@notice Emitted when galaxy member address is updated\n @param newAddress The new galaxy member address\n @param oldAddress The previous galaxy member address"},"eventSelector":"3e9cacccd727006bc0e1f6b190b46b34090f490cd3ab7e45f3ac7a9cfeda63ff","id":68722,"name":"GalaxyMemberAddressUpdated","nameLocation":"3959:26:120","nodeType":"EventDefinition","parameters":{"id":68721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68718,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"4002:10:120","nodeType":"VariableDeclaration","scope":68722,"src":"3986:26:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68717,"name":"address","nodeType":"ElementaryTypeName","src":"3986:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68720,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"4030:10:120","nodeType":"VariableDeclaration","scope":68722,"src":"4014:26:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68719,"name":"address","nodeType":"ElementaryTypeName","src":"4014:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3985:56:120"},"src":"3953:89:120"},{"anonymous":false,"documentation":{"id":68723,"nodeType":"StructuredDocumentation","src":"4046:158:120","text":"@notice Emitted when emissions address is updated\n @param newAddress The new emissions address\n @param oldAddress The previous emissions address"},"eventSelector":"ee0bb99897b3f409686cb6e56601a38cea38e9e00d9b28752b3be7b28ea8b0ad","id":68729,"name":"EmissionsAddressUpdated","nameLocation":"4213:23:120","nodeType":"EventDefinition","parameters":{"id":68728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68725,"indexed":true,"mutability":"mutable","name":"newAddress","nameLocation":"4253:10:120","nodeType":"VariableDeclaration","scope":68729,"src":"4237:26:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68724,"name":"address","nodeType":"ElementaryTypeName","src":"4237:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68727,"indexed":true,"mutability":"mutable","name":"oldAddress","nameLocation":"4281:10:120","nodeType":"VariableDeclaration","scope":68729,"src":"4265:26:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68726,"name":"address","nodeType":"ElementaryTypeName","src":"4265:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4236:56:120"},"src":"4207:86:120"},{"anonymous":false,"documentation":{"id":68730,"nodeType":"StructuredDocumentation","src":"4297:141:120","text":"@notice Emitted when level multiplier is set\n @param level The level being modified\n @param multiplier The new multiplier value"},"eventSelector":"cc259987543a764767934b4d714760c68fdeb2ba8318210d9802cf66ae854001","id":68736,"name":"LevelToMultiplierSet","nameLocation":"4447:20:120","nodeType":"EventDefinition","parameters":{"id":68735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68732,"indexed":true,"mutability":"mutable","name":"level","nameLocation":"4484:5:120","nodeType":"VariableDeclaration","scope":68736,"src":"4468:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68731,"name":"uint256","nodeType":"ElementaryTypeName","src":"4468:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68734,"indexed":false,"mutability":"mutable","name":"multiplier","nameLocation":"4499:10:120","nodeType":"VariableDeclaration","scope":68736,"src":"4491:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68733,"name":"uint256","nodeType":"ElementaryTypeName","src":"4491:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4467:43:120"},"src":"4441:70:120"},{"anonymous":false,"documentation":{"id":68737,"nodeType":"StructuredDocumentation","src":"4515:255:120","text":"@notice Emitted when the level to multiplier mapping is updated and will be applied to the next cycle.\n @param level - The level of the Galaxy Member NFT.\n @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT."},"eventSelector":"15981e0d250056d8a624ef3f1b96fddad0d42fd3aeb971e048b9b591674e385a","id":68743,"name":"LevelToMultiplierPending","nameLocation":"4779:24:120","nodeType":"EventDefinition","parameters":{"id":68742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68739,"indexed":true,"mutability":"mutable","name":"level","nameLocation":"4820:5:120","nodeType":"VariableDeclaration","scope":68743,"src":"4804:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68738,"name":"uint256","nodeType":"ElementaryTypeName","src":"4804:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68741,"indexed":false,"mutability":"mutable","name":"multiplier","nameLocation":"4835:10:120","nodeType":"VariableDeclaration","scope":68743,"src":"4827:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68740,"name":"uint256","nodeType":"ElementaryTypeName","src":"4827:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4803:43:120"},"src":"4773:74:120"},{"anonymous":false,"documentation":{"id":68744,"nodeType":"StructuredDocumentation","src":"4851:100:120","text":"@notice Emitted when quadratic rewarding is toggled\n @param disabled The new disabled state"},"eventSelector":"651ad94ba6c2a06f4989443e5d90671f2783e33b13b8e15b7687af08603aa242","id":68748,"name":"QuadraticRewardingDisabled","nameLocation":"4960:26:120","nodeType":"EventDefinition","parameters":{"id":68747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68746,"indexed":true,"mutability":"mutable","name":"disabled","nameLocation":"5000:8:120","nodeType":"VariableDeclaration","scope":68748,"src":"4987:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68745,"name":"bool","nodeType":"ElementaryTypeName","src":"4987:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4986:23:120"},"src":"4954:56:120"},{"anonymous":false,"documentation":{"id":68749,"nodeType":"StructuredDocumentation","src":"5014:308:120","text":"@notice GM NFT vote is registered.\n @param cycle - The cycle in which the vote was registered.\n @param tokenId - The ID of the Galaxy Member NFT.\n @param level - The level of the Galaxy Member NFT.\n @param multiplier - The percentage multiplier for the level of the Galaxy Member NFT."},"eventSelector":"44b066f968384399d4dd42ceb1c632bb821317a77627627be1541c011a81974c","id":68759,"name":"GMVoteRegistered","nameLocation":"5331:16:120","nodeType":"EventDefinition","parameters":{"id":68758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68751,"indexed":true,"mutability":"mutable","name":"cycle","nameLocation":"5364:5:120","nodeType":"VariableDeclaration","scope":68759,"src":"5348:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68750,"name":"uint256","nodeType":"ElementaryTypeName","src":"5348:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68753,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"5387:7:120","nodeType":"VariableDeclaration","scope":68759,"src":"5371:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68752,"name":"uint256","nodeType":"ElementaryTypeName","src":"5371:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68755,"indexed":true,"mutability":"mutable","name":"level","nameLocation":"5412:5:120","nodeType":"VariableDeclaration","scope":68759,"src":"5396:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68754,"name":"uint256","nodeType":"ElementaryTypeName","src":"5396:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68757,"indexed":false,"mutability":"mutable","name":"multiplier","nameLocation":"5427:10:120","nodeType":"VariableDeclaration","scope":68759,"src":"5419:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68756,"name":"uint256","nodeType":"ElementaryTypeName","src":"5419:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5347:91:120"},"src":"5325:114:120"},{"documentation":{"id":68760,"nodeType":"StructuredDocumentation","src":"5443:87:120","text":"@notice Gets the default admin role\n @return bytes32 The admin role identifier"},"functionSelector":"a217fddf","id":68765,"implemented":false,"kind":"function","modifiers":[],"name":"DEFAULT_ADMIN_ROLE","nameLocation":"5542:18:120","nodeType":"FunctionDefinition","parameters":{"id":68761,"nodeType":"ParameterList","parameters":[],"src":"5560:2:120"},"returnParameters":{"id":68764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68765,"src":"5586:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5586:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5585:9:120"},"scope":69092,"src":"5533:62:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68766,"nodeType":"StructuredDocumentation","src":"5599:85:120","text":"@notice Gets the upgrader role\n @return bytes32 The upgrader role identifier"},"functionSelector":"f72c0d8b","id":68771,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADER_ROLE","nameLocation":"5696:13:120","nodeType":"FunctionDefinition","parameters":{"id":68767,"nodeType":"ParameterList","parameters":[],"src":"5709:2:120"},"returnParameters":{"id":68770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68769,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68771,"src":"5735:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5735:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5734:9:120"},"scope":69092,"src":"5687:57:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68772,"nodeType":"StructuredDocumentation","src":"5748:81:120","text":"@notice Gets the interface version\n @return string The interface version"},"functionSelector":"ad3cb1cc","id":68777,"implemented":false,"kind":"function","modifiers":[],"name":"UPGRADE_INTERFACE_VERSION","nameLocation":"5841:25:120","nodeType":"FunctionDefinition","parameters":{"id":68773,"nodeType":"ParameterList","parameters":[],"src":"5866:2:120"},"returnParameters":{"id":68776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68775,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68777,"src":"5892:13:120","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68774,"name":"string","nodeType":"ElementaryTypeName","src":"5892:6:120","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5891:15:120"},"scope":69092,"src":"5832:75:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68778,"nodeType":"StructuredDocumentation","src":"5911:97:120","text":"@notice Gets the vote registrar role\n @return bytes32 The vote registrar role identifier"},"functionSelector":"de7fd133","id":68783,"implemented":false,"kind":"function","modifiers":[],"name":"VOTE_REGISTRAR_ROLE","nameLocation":"6020:19:120","nodeType":"FunctionDefinition","parameters":{"id":68779,"nodeType":"ParameterList","parameters":[],"src":"6039:2:120"},"returnParameters":{"id":68782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68783,"src":"6065:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6065:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6064:9:120"},"scope":69092,"src":"6011:63:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68784,"nodeType":"StructuredDocumentation","src":"6078:87:120","text":"@notice Gets the B3TR token address\n @return address The B3TR contract address"},"functionSelector":"582a486a","id":68789,"implemented":false,"kind":"function","modifiers":[],"name":"b3tr","nameLocation":"6177:4:120","nodeType":"FunctionDefinition","parameters":{"id":68785,"nodeType":"ParameterList","parameters":[],"src":"6181:2:120"},"returnParameters":{"id":68788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68787,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68789,"src":"6207:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68786,"name":"address","nodeType":"ElementaryTypeName","src":"6207:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6206:9:120"},"scope":69092,"src":"6168:48:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68790,"nodeType":"StructuredDocumentation","src":"6220:118:120","text":"@notice Gets the RelayerRewardsPool contract address\n @return address The RelayerRewardsPool contract address"},"functionSelector":"6e8a1823","id":68795,"implemented":false,"kind":"function","modifiers":[],"name":"relayerRewardsPool","nameLocation":"6350:18:120","nodeType":"FunctionDefinition","parameters":{"id":68791,"nodeType":"ParameterList","parameters":[],"src":"6368:2:120"},"returnParameters":{"id":68794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68793,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68795,"src":"6394:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68792,"name":"address","nodeType":"ElementaryTypeName","src":"6394:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6393:9:120"},"scope":69092,"src":"6341:62:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68796,"nodeType":"StructuredDocumentation","src":"6407:108:120","text":"@notice Gets the galaxy member contract address\n @return address The galaxy member contract address"},"functionSelector":"2325e4b9","id":68801,"implemented":false,"kind":"function","modifiers":[],"name":"galaxyMember","nameLocation":"6527:12:120","nodeType":"FunctionDefinition","parameters":{"id":68797,"nodeType":"ParameterList","parameters":[],"src":"6539:2:120"},"returnParameters":{"id":68800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68801,"src":"6565:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68798,"name":"address","nodeType":"ElementaryTypeName","src":"6565:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6564:9:120"},"scope":69092,"src":"6518:56:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68802,"nodeType":"StructuredDocumentation","src":"6578:123:120","text":"@notice Claims reward for a voter in a cycle\n @param cycle The reward cycle\n @param voter The voter's address"},"functionSelector":"e70eb392","id":68809,"implemented":false,"kind":"function","modifiers":[],"name":"claimReward","nameLocation":"6713:11:120","nodeType":"FunctionDefinition","parameters":{"id":68807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68804,"mutability":"mutable","name":"cycle","nameLocation":"6733:5:120","nodeType":"VariableDeclaration","scope":68809,"src":"6725:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68803,"name":"uint256","nodeType":"ElementaryTypeName","src":"6725:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68806,"mutability":"mutable","name":"voter","nameLocation":"6748:5:120","nodeType":"VariableDeclaration","scope":68809,"src":"6740:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68805,"name":"address","nodeType":"ElementaryTypeName","src":"6740:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6724:30:120"},"returnParameters":{"id":68808,"nodeType":"ParameterList","parameters":[],"src":"6763:0:120"},"scope":69092,"src":"6704:60:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68810,"nodeType":"StructuredDocumentation","src":"6768:120:120","text":"@notice Gets total rewards for a cycle\n @param cycle The cycle to query\n @return uint256 The total rewards"},"functionSelector":"c208b4e7","id":68817,"implemented":false,"kind":"function","modifiers":[],"name":"cycleToTotal","nameLocation":"6900:12:120","nodeType":"FunctionDefinition","parameters":{"id":68813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68812,"mutability":"mutable","name":"cycle","nameLocation":"6921:5:120","nodeType":"VariableDeclaration","scope":68817,"src":"6913:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68811,"name":"uint256","nodeType":"ElementaryTypeName","src":"6913:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6912:15:120"},"returnParameters":{"id":68816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68815,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68817,"src":"6951:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68814,"name":"uint256","nodeType":"ElementaryTypeName","src":"6951:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6950:9:120"},"scope":69092,"src":"6891:69:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68818,"nodeType":"StructuredDocumentation","src":"6964:124:120","text":"@notice Gets total GM weight for a cycle\n @param cycle The cycle to query\n @return uint256 The total GM weight"},"functionSelector":"6a79bd46","id":68825,"implemented":false,"kind":"function","modifiers":[],"name":"cycleToTotalGM","nameLocation":"7100:14:120","nodeType":"FunctionDefinition","parameters":{"id":68821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68820,"mutability":"mutable","name":"cycle","nameLocation":"7123:5:120","nodeType":"VariableDeclaration","scope":68825,"src":"7115:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68819,"name":"uint256","nodeType":"ElementaryTypeName","src":"7115:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7114:15:120"},"returnParameters":{"id":68824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68823,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68825,"src":"7153:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68822,"name":"uint256","nodeType":"ElementaryTypeName","src":"7153:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7152:9:120"},"scope":69092,"src":"7091:71:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68826,"nodeType":"StructuredDocumentation","src":"7166:159:120","text":"@notice Gets voter's total for a cycle\n @param cycle The cycle to query\n @param voter The voter's address\n @return uint256 The voter's total"},"functionSelector":"105fe500","id":68835,"implemented":false,"kind":"function","modifiers":[],"name":"cycleToVoterToTotal","nameLocation":"7337:19:120","nodeType":"FunctionDefinition","parameters":{"id":68831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68828,"mutability":"mutable","name":"cycle","nameLocation":"7365:5:120","nodeType":"VariableDeclaration","scope":68835,"src":"7357:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68827,"name":"uint256","nodeType":"ElementaryTypeName","src":"7357:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68830,"mutability":"mutable","name":"voter","nameLocation":"7380:5:120","nodeType":"VariableDeclaration","scope":68835,"src":"7372:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68829,"name":"address","nodeType":"ElementaryTypeName","src":"7372:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7356:30:120"},"returnParameters":{"id":68834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68835,"src":"7410:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68832,"name":"uint256","nodeType":"ElementaryTypeName","src":"7410:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7409:9:120"},"scope":69092,"src":"7328:91:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68836,"nodeType":"StructuredDocumentation","src":"7423:124:120","text":"@notice Gets total GM weight for a cycle\n @param cycle The cycle to query\n @return uint256 The total GM weight"},"functionSelector":"13a23060","id":68843,"implemented":false,"kind":"function","modifiers":[],"name":"cycleToTotalGMWeight","nameLocation":"7559:20:120","nodeType":"FunctionDefinition","parameters":{"id":68839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68838,"mutability":"mutable","name":"cycle","nameLocation":"7588:5:120","nodeType":"VariableDeclaration","scope":68843,"src":"7580:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68837,"name":"uint256","nodeType":"ElementaryTypeName","src":"7580:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7579:15:120"},"returnParameters":{"id":68842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68843,"src":"7618:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68840,"name":"uint256","nodeType":"ElementaryTypeName","src":"7618:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7617:9:120"},"scope":69092,"src":"7550:77:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68844,"nodeType":"StructuredDocumentation","src":"7631:100:120","text":"@notice Gets the emissions contract address\n @return address The emissions contract address"},"functionSelector":"2267716c","id":68849,"implemented":false,"kind":"function","modifiers":[],"name":"emissions","nameLocation":"7743:9:120","nodeType":"FunctionDefinition","parameters":{"id":68845,"nodeType":"ParameterList","parameters":[],"src":"7752:2:120"},"returnParameters":{"id":68848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68849,"src":"7778:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68846,"name":"address","nodeType":"ElementaryTypeName","src":"7778:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7777:9:120"},"scope":69092,"src":"7734:53:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68850,"nodeType":"StructuredDocumentation","src":"7791:164:120","text":"@notice Gets reward amount for voter in cycle\n @param cycle The reward cycle\n @param voter The voter's address\n @return uint256 The reward amount"},"functionSelector":"008f33d7","id":68859,"implemented":false,"kind":"function","modifiers":[],"name":"getReward","nameLocation":"7967:9:120","nodeType":"FunctionDefinition","parameters":{"id":68855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68852,"mutability":"mutable","name":"cycle","nameLocation":"7985:5:120","nodeType":"VariableDeclaration","scope":68859,"src":"7977:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68851,"name":"uint256","nodeType":"ElementaryTypeName","src":"7977:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68854,"mutability":"mutable","name":"voter","nameLocation":"8000:5:120","nodeType":"VariableDeclaration","scope":68859,"src":"7992:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68853,"name":"address","nodeType":"ElementaryTypeName","src":"7992:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7976:30:120"},"returnParameters":{"id":68858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68859,"src":"8030:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68856,"name":"uint256","nodeType":"ElementaryTypeName","src":"8030:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8029:9:120"},"scope":69092,"src":"7958:81:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68860,"nodeType":"StructuredDocumentation","src":"8043:170:120","text":"@notice Gets GM reward amount for voter in cycle\n @param cycle The reward cycle\n @param voter The voter's address\n @return uint256 The GM reward amount"},"functionSelector":"84d14f34","id":68869,"implemented":false,"kind":"function","modifiers":[],"name":"getGMReward","nameLocation":"8225:11:120","nodeType":"FunctionDefinition","parameters":{"id":68865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68862,"mutability":"mutable","name":"cycle","nameLocation":"8245:5:120","nodeType":"VariableDeclaration","scope":68869,"src":"8237:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68861,"name":"uint256","nodeType":"ElementaryTypeName","src":"8237:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68864,"mutability":"mutable","name":"voter","nameLocation":"8260:5:120","nodeType":"VariableDeclaration","scope":68869,"src":"8252:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68863,"name":"address","nodeType":"ElementaryTypeName","src":"8252:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8236:30:120"},"returnParameters":{"id":68868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68867,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68869,"src":"8290:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68866,"name":"uint256","nodeType":"ElementaryTypeName","src":"8290:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8289:9:120"},"scope":69092,"src":"8216:83:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68870,"nodeType":"StructuredDocumentation","src":"8303:111:120","text":"@notice Gets admin role for a role\n @param role The role to query\n @return bytes32 The admin role"},"functionSelector":"248a9ca3","id":68877,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"8426:12:120","nodeType":"FunctionDefinition","parameters":{"id":68873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68872,"mutability":"mutable","name":"role","nameLocation":"8447:4:120","nodeType":"VariableDeclaration","scope":68877,"src":"8439:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8439:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8438:14:120"},"returnParameters":{"id":68876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68875,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68877,"src":"8476:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8476:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8475:9:120"},"scope":69092,"src":"8417:68:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68878,"nodeType":"StructuredDocumentation","src":"8489:113:120","text":"@notice Grants role to account\n @param role The role to grant\n @param account The receiving account"},"functionSelector":"2f2ff15d","id":68885,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"8614:9:120","nodeType":"FunctionDefinition","parameters":{"id":68883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68880,"mutability":"mutable","name":"role","nameLocation":"8632:4:120","nodeType":"VariableDeclaration","scope":68885,"src":"8624:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8624:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68882,"mutability":"mutable","name":"account","nameLocation":"8646:7:120","nodeType":"VariableDeclaration","scope":68885,"src":"8638:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68881,"name":"address","nodeType":"ElementaryTypeName","src":"8638:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8623:31:120"},"returnParameters":{"id":68884,"nodeType":"ParameterList","parameters":[],"src":"8663:0:120"},"scope":69092,"src":"8605:59:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68886,"nodeType":"StructuredDocumentation","src":"8668:160:120","text":"@notice Checks if account has role\n @param role The role to check\n @param account The account to check\n @return bool True if account has role"},"functionSelector":"91d14854","id":68895,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"8840:7:120","nodeType":"FunctionDefinition","parameters":{"id":68891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68888,"mutability":"mutable","name":"role","nameLocation":"8856:4:120","nodeType":"VariableDeclaration","scope":68895,"src":"8848:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8848:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68890,"mutability":"mutable","name":"account","nameLocation":"8870:7:120","nodeType":"VariableDeclaration","scope":68895,"src":"8862:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68889,"name":"address","nodeType":"ElementaryTypeName","src":"8862:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8847:31:120"},"returnParameters":{"id":68894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68893,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68895,"src":"8902:4:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68892,"name":"bool","nodeType":"ElementaryTypeName","src":"8902:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8901:6:120"},"scope":69092,"src":"8831:77:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68896,"nodeType":"StructuredDocumentation","src":"8912:118:120","text":"@notice Gets multiplier for level\n @param level The level to query\n @return uint256 The multiplier value"},"functionSelector":"5fdc1752","id":68903,"implemented":false,"kind":"function","modifiers":[],"name":"levelToMultiplier","nameLocation":"9042:17:120","nodeType":"FunctionDefinition","parameters":{"id":68899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68898,"mutability":"mutable","name":"level","nameLocation":"9068:5:120","nodeType":"VariableDeclaration","scope":68903,"src":"9060:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68897,"name":"uint256","nodeType":"ElementaryTypeName","src":"9060:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9059:15:120"},"returnParameters":{"id":68902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68903,"src":"9098:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68900,"name":"uint256","nodeType":"ElementaryTypeName","src":"9098:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9097:9:120"},"scope":69092,"src":"9033:74:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68904,"nodeType":"StructuredDocumentation","src":"9111:167:120","text":"@notice Gets relayer fee for voter in cycle\n @param cycle The reward cycle\n @param voter The voter's address\n @return uint256 The relayer fee amount"},"functionSelector":"2dc9376f","id":68913,"implemented":false,"kind":"function","modifiers":[],"name":"getRelayerFee","nameLocation":"9290:13:120","nodeType":"FunctionDefinition","parameters":{"id":68909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68906,"mutability":"mutable","name":"cycle","nameLocation":"9312:5:120","nodeType":"VariableDeclaration","scope":68913,"src":"9304:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68905,"name":"uint256","nodeType":"ElementaryTypeName","src":"9304:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68908,"mutability":"mutable","name":"voter","nameLocation":"9327:5:120","nodeType":"VariableDeclaration","scope":68913,"src":"9319:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68907,"name":"address","nodeType":"ElementaryTypeName","src":"9319:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9303:30:120"},"returnParameters":{"id":68912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68911,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68913,"src":"9357:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68910,"name":"uint256","nodeType":"ElementaryTypeName","src":"9357:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9356:9:120"},"scope":69092,"src":"9281:85:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68914,"nodeType":"StructuredDocumentation","src":"9370:66:120","text":"@notice Gets the proxiable UUID\n @return bytes32 The UUID"},"functionSelector":"52d1902d","id":68919,"implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"9448:13:120","nodeType":"FunctionDefinition","parameters":{"id":68915,"nodeType":"ParameterList","parameters":[],"src":"9461:2:120"},"returnParameters":{"id":68918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68919,"src":"9487:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9487:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9486:9:120"},"scope":69092,"src":"9439:57:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68920,"nodeType":"StructuredDocumentation","src":"9500:191:120","text":"@notice Registers a vote\n @param proposalStart The proposal start time\n @param voter The voter's address\n @param votes Number of votes\n @param votePower The vote power"},"functionSelector":"2f18339d","id":68931,"implemented":false,"kind":"function","modifiers":[],"name":"registerVote","nameLocation":"9703:12:120","nodeType":"FunctionDefinition","parameters":{"id":68929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68922,"mutability":"mutable","name":"proposalStart","nameLocation":"9724:13:120","nodeType":"VariableDeclaration","scope":68931,"src":"9716:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68921,"name":"uint256","nodeType":"ElementaryTypeName","src":"9716:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68924,"mutability":"mutable","name":"voter","nameLocation":"9747:5:120","nodeType":"VariableDeclaration","scope":68931,"src":"9739:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68923,"name":"address","nodeType":"ElementaryTypeName","src":"9739:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68926,"mutability":"mutable","name":"votes","nameLocation":"9762:5:120","nodeType":"VariableDeclaration","scope":68931,"src":"9754:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68925,"name":"uint256","nodeType":"ElementaryTypeName","src":"9754:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68928,"mutability":"mutable","name":"votePower","nameLocation":"9777:9:120","nodeType":"VariableDeclaration","scope":68931,"src":"9769:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68927,"name":"uint256","nodeType":"ElementaryTypeName","src":"9769:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9715:72:120"},"returnParameters":{"id":68930,"nodeType":"ParameterList","parameters":[],"src":"9796:0:120"},"scope":69092,"src":"9694:103:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68932,"nodeType":"StructuredDocumentation","src":"9801:146:120","text":"@notice Renounces role for caller\n @param role The role to renounce\n @param callerConfirmation The caller's address for confirmation"},"functionSelector":"36568abe","id":68939,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"9959:12:120","nodeType":"FunctionDefinition","parameters":{"id":68937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68934,"mutability":"mutable","name":"role","nameLocation":"9980:4:120","nodeType":"VariableDeclaration","scope":68939,"src":"9972:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9972:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68936,"mutability":"mutable","name":"callerConfirmation","nameLocation":"9994:18:120","nodeType":"VariableDeclaration","scope":68939,"src":"9986:26:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68935,"name":"address","nodeType":"ElementaryTypeName","src":"9986:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9971:42:120"},"returnParameters":{"id":68938,"nodeType":"ParameterList","parameters":[],"src":"10022:0:120"},"scope":69092,"src":"9950:73:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68940,"nodeType":"StructuredDocumentation","src":"10027:122:120","text":"@notice Revokes role from account\n @param role The role to revoke\n @param account The account to revoke from"},"functionSelector":"d547741f","id":68947,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"10161:10:120","nodeType":"FunctionDefinition","parameters":{"id":68945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68942,"mutability":"mutable","name":"role","nameLocation":"10180:4:120","nodeType":"VariableDeclaration","scope":68947,"src":"10172:12:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68941,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10172:7:120","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68944,"mutability":"mutable","name":"account","nameLocation":"10194:7:120","nodeType":"VariableDeclaration","scope":68947,"src":"10186:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68943,"name":"address","nodeType":"ElementaryTypeName","src":"10186:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10171:31:120"},"returnParameters":{"id":68946,"nodeType":"ParameterList","parameters":[],"src":"10211:0:120"},"scope":69092,"src":"10152:60:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68948,"nodeType":"StructuredDocumentation","src":"10216:76:120","text":"@notice Gets the scaling factor\n @return uint256 The scaling factor"},"functionSelector":"ed3437f8","id":68953,"implemented":false,"kind":"function","modifiers":[],"name":"scalingFactor","nameLocation":"10304:13:120","nodeType":"FunctionDefinition","parameters":{"id":68949,"nodeType":"ParameterList","parameters":[],"src":"10317:2:120"},"returnParameters":{"id":68952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68951,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68953,"src":"10343:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68950,"name":"uint256","nodeType":"ElementaryTypeName","src":"10343:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10342:9:120"},"scope":69092,"src":"10295:57:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68954,"nodeType":"StructuredDocumentation","src":"10356:99:120","text":"@notice Sets the galaxy member address\n @param _galaxyMember The new galaxy member address"},"functionSelector":"ae0b8da8","id":68959,"implemented":false,"kind":"function","modifiers":[],"name":"setGalaxyMember","nameLocation":"10467:15:120","nodeType":"FunctionDefinition","parameters":{"id":68957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68956,"mutability":"mutable","name":"_galaxyMember","nameLocation":"10491:13:120","nodeType":"VariableDeclaration","scope":68959,"src":"10483:21:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68955,"name":"address","nodeType":"ElementaryTypeName","src":"10483:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10482:23:120"},"returnParameters":{"id":68958,"nodeType":"ParameterList","parameters":[],"src":"10514:0:120"},"scope":69092,"src":"10458:57:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68960,"nodeType":"StructuredDocumentation","src":"10519:88:120","text":"@notice Sets the emissions address\n @param _emissions The new emissions address"},"functionSelector":"08834ee7","id":68965,"implemented":false,"kind":"function","modifiers":[],"name":"setEmissions","nameLocation":"10619:12:120","nodeType":"FunctionDefinition","parameters":{"id":68963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68962,"mutability":"mutable","name":"_emissions","nameLocation":"10640:10:120","nodeType":"VariableDeclaration","scope":68965,"src":"10632:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68961,"name":"address","nodeType":"ElementaryTypeName","src":"10632:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10631:20:120"},"returnParameters":{"id":68964,"nodeType":"ParameterList","parameters":[],"src":"10660:0:120"},"scope":69092,"src":"10610:51:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68966,"nodeType":"StructuredDocumentation","src":"10665:122:120","text":"@notice Sets multiplier for level\n @param level The level to set\n @param multiplier The new multiplier value"},"functionSelector":"b0b3de89","id":68973,"implemented":false,"kind":"function","modifiers":[],"name":"setLevelToMultiplier","nameLocation":"10799:20:120","nodeType":"FunctionDefinition","parameters":{"id":68971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68968,"mutability":"mutable","name":"level","nameLocation":"10828:5:120","nodeType":"VariableDeclaration","scope":68973,"src":"10820:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68967,"name":"uint256","nodeType":"ElementaryTypeName","src":"10820:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68970,"mutability":"mutable","name":"multiplier","nameLocation":"10843:10:120","nodeType":"VariableDeclaration","scope":68973,"src":"10835:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68969,"name":"uint256","nodeType":"ElementaryTypeName","src":"10835:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10819:35:120"},"returnParameters":{"id":68972,"nodeType":"ParameterList","parameters":[],"src":"10863:0:120"},"scope":69092,"src":"10790:74:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68974,"nodeType":"StructuredDocumentation","src":"10868:88:120","text":"@notice Sets the scaling factor\n @param newScalingFactor The new scaling factor"},"functionSelector":"672abd2d","id":68979,"implemented":false,"kind":"function","modifiers":[],"name":"setScalingFactor","nameLocation":"10968:16:120","nodeType":"FunctionDefinition","parameters":{"id":68977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68976,"mutability":"mutable","name":"newScalingFactor","nameLocation":"10993:16:120","nodeType":"VariableDeclaration","scope":68979,"src":"10985:24:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68975,"name":"uint256","nodeType":"ElementaryTypeName","src":"10985:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10984:26:120"},"returnParameters":{"id":68978,"nodeType":"ParameterList","parameters":[],"src":"11019:0:120"},"scope":69092,"src":"10959:61:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68980,"nodeType":"StructuredDocumentation","src":"11024:99:120","text":"@notice Sets the vote registrar role\n @param _voteRegistrar The new vote registrar address"},"functionSelector":"788bc618","id":68985,"implemented":false,"kind":"function","modifiers":[],"name":"setXallocationVoteRegistrarRole","nameLocation":"11135:31:120","nodeType":"FunctionDefinition","parameters":{"id":68983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68982,"mutability":"mutable","name":"_voteRegistrar","nameLocation":"11175:14:120","nodeType":"VariableDeclaration","scope":68985,"src":"11167:22:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68981,"name":"address","nodeType":"ElementaryTypeName","src":"11167:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11166:24:120"},"returnParameters":{"id":68984,"nodeType":"ParameterList","parameters":[],"src":"11199:0:120"},"scope":69092,"src":"11126:74:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":68986,"nodeType":"StructuredDocumentation","src":"11204:131:120","text":"@notice Checks if interface is supported\n @param interfaceId The interface identifier\n @return bool True if supported"},"functionSelector":"01ffc9a7","id":68993,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11347:17:120","nodeType":"FunctionDefinition","parameters":{"id":68989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68988,"mutability":"mutable","name":"interfaceId","nameLocation":"11372:11:120","nodeType":"VariableDeclaration","scope":68993,"src":"11365:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":68987,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11365:6:120","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11364:20:120"},"returnParameters":{"id":68992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68991,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68993,"src":"11408:4:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68990,"name":"bool","nodeType":"ElementaryTypeName","src":"11408:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11407:6:120"},"scope":69092,"src":"11338:76:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":68994,"nodeType":"StructuredDocumentation","src":"11418:77:120","text":"@notice Gets the contract version\n @return string The version string"},"functionSelector":"54fd4d50","id":68999,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"11507:7:120","nodeType":"FunctionDefinition","parameters":{"id":68995,"nodeType":"ParameterList","parameters":[],"src":"11514:2:120"},"returnParameters":{"id":68998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68999,"src":"11540:13:120","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68996,"name":"string","nodeType":"ElementaryTypeName","src":"11540:6:120","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11539:15:120"},"scope":69092,"src":"11498:57:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69000,"nodeType":"StructuredDocumentation","src":"11559:151:120","text":"@notice Upgrades contract and calls function\n @param newImplementation The new implementation address\n @param data The function call data"},"functionSelector":"4f1ef286","id":69007,"implemented":false,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"11722:16:120","nodeType":"FunctionDefinition","parameters":{"id":69005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69002,"mutability":"mutable","name":"newImplementation","nameLocation":"11747:17:120","nodeType":"VariableDeclaration","scope":69007,"src":"11739:25:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69001,"name":"address","nodeType":"ElementaryTypeName","src":"11739:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69004,"mutability":"mutable","name":"data","nameLocation":"11779:4:120","nodeType":"VariableDeclaration","scope":69007,"src":"11766:17:120","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69003,"name":"bytes","nodeType":"ElementaryTypeName","src":"11766:5:120","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11738:46:120"},"returnParameters":{"id":69006,"nodeType":"ParameterList","parameters":[],"src":"11801:0:120"},"scope":69092,"src":"11713:89:120","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":69008,"nodeType":"StructuredDocumentation","src":"11806:169:120","text":"@notice Checks if node has voted on proposal\n @param nodeId The node identifier\n @param proposalId The proposal identifier\n @return bool True if voted"},"functionSelector":"eea41608","id":69017,"implemented":false,"kind":"function","modifiers":[],"name":"hasNodeVoted","nameLocation":"11987:12:120","nodeType":"FunctionDefinition","parameters":{"id":69013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69010,"mutability":"mutable","name":"nodeId","nameLocation":"12008:6:120","nodeType":"VariableDeclaration","scope":69017,"src":"12000:14:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69009,"name":"uint256","nodeType":"ElementaryTypeName","src":"12000:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69012,"mutability":"mutable","name":"proposalId","nameLocation":"12024:10:120","nodeType":"VariableDeclaration","scope":69017,"src":"12016:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69011,"name":"uint256","nodeType":"ElementaryTypeName","src":"12016:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11999:36:120"},"returnParameters":{"id":69016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69015,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69017,"src":"12059:4:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69014,"name":"bool","nodeType":"ElementaryTypeName","src":"12059:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12058:6:120"},"scope":69092,"src":"11978:87:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69018,"nodeType":"StructuredDocumentation","src":"12069:172:120","text":"@notice Checks if token has voted on proposal\n @param tokenId The token identifier\n @param proposalId The proposal identifier\n @return bool True if voted"},"functionSelector":"ae075b07","id":69027,"implemented":false,"kind":"function","modifiers":[],"name":"hasTokenVoted","nameLocation":"12253:13:120","nodeType":"FunctionDefinition","parameters":{"id":69023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69020,"mutability":"mutable","name":"tokenId","nameLocation":"12275:7:120","nodeType":"VariableDeclaration","scope":69027,"src":"12267:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69019,"name":"uint256","nodeType":"ElementaryTypeName","src":"12267:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69022,"mutability":"mutable","name":"proposalId","nameLocation":"12292:10:120","nodeType":"VariableDeclaration","scope":69027,"src":"12284:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69021,"name":"uint256","nodeType":"ElementaryTypeName","src":"12284:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12266:37:120"},"returnParameters":{"id":69026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69025,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69027,"src":"12327:4:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69024,"name":"bool","nodeType":"ElementaryTypeName","src":"12327:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12326:6:120"},"scope":69092,"src":"12244:89:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69028,"nodeType":"StructuredDocumentation","src":"12337:183:120","text":"@notice Gets multiplier for token and proposal\n @param tokenId The token identifier\n @param proposalId The proposal identifier\n @return uint256 The multiplier value"},"functionSelector":"8dbb1e3a","id":69037,"implemented":false,"kind":"function","modifiers":[],"name":"getMultiplier","nameLocation":"12532:13:120","nodeType":"FunctionDefinition","parameters":{"id":69033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69030,"mutability":"mutable","name":"tokenId","nameLocation":"12554:7:120","nodeType":"VariableDeclaration","scope":69037,"src":"12546:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69029,"name":"uint256","nodeType":"ElementaryTypeName","src":"12546:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69032,"mutability":"mutable","name":"proposalId","nameLocation":"12571:10:120","nodeType":"VariableDeclaration","scope":69037,"src":"12563:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69031,"name":"uint256","nodeType":"ElementaryTypeName","src":"12563:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12545:37:120"},"returnParameters":{"id":69036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69035,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69037,"src":"12606:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69034,"name":"uint256","nodeType":"ElementaryTypeName","src":"12606:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12605:9:120"},"scope":69092,"src":"12523:92:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69038,"nodeType":"StructuredDocumentation","src":"12619:104:120","text":"@notice Initializes V2 of contract\n @param _quadraticRewardingFlag The quadratic rewarding flag"},"functionSelector":"41f6659b","id":69043,"implemented":false,"kind":"function","modifiers":[],"name":"initializeV2","nameLocation":"12735:12:120","nodeType":"FunctionDefinition","parameters":{"id":69041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69040,"mutability":"mutable","name":"_quadraticRewardingFlag","nameLocation":"12753:23:120","nodeType":"VariableDeclaration","scope":69043,"src":"12748:28:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69039,"name":"bool","nodeType":"ElementaryTypeName","src":"12748:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12747:30:120"},"returnParameters":{"id":69042,"nodeType":"ParameterList","parameters":[],"src":"12786:0:120"},"scope":69092,"src":"12726:61:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69044,"nodeType":"StructuredDocumentation","src":"12791:146:120","text":"@notice Checks if quadratic rewarding disabled at block\n @param blockNumber The block number to check\n @return bool True if disabled"},"functionSelector":"ee80e932","id":69051,"implemented":false,"kind":"function","modifiers":[],"name":"isQuadraticRewardingDisabledAtBlock","nameLocation":"12949:35:120","nodeType":"FunctionDefinition","parameters":{"id":69047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69046,"mutability":"mutable","name":"blockNumber","nameLocation":"12992:11:120","nodeType":"VariableDeclaration","scope":69051,"src":"12985:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":69045,"name":"uint48","nodeType":"ElementaryTypeName","src":"12985:6:120","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"12984:20:120"},"returnParameters":{"id":69050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69051,"src":"13028:4:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69048,"name":"bool","nodeType":"ElementaryTypeName","src":"13028:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13027:6:120"},"scope":69092,"src":"12940:94:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69052,"nodeType":"StructuredDocumentation","src":"13038:104:120","text":"@notice Checks if quadratic rewarding disabled for current cycle\n @return bool True if disabled"},"functionSelector":"71057f75","id":69057,"implemented":false,"kind":"function","modifiers":[],"name":"isQuadraticRewardingDisabledForCurrentCycle","nameLocation":"13154:43:120","nodeType":"FunctionDefinition","parameters":{"id":69053,"nodeType":"ParameterList","parameters":[],"src":"13197:2:120"},"returnParameters":{"id":69056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69057,"src":"13223:4:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69054,"name":"bool","nodeType":"ElementaryTypeName","src":"13223:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13222:6:120"},"scope":69092,"src":"13145:84:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69058,"nodeType":"StructuredDocumentation","src":"13233:97:120","text":"@notice Disables quadratic rewarding\n @param _disableQuadraticRewarding The disable flag"},"functionSelector":"b3fe913c","id":69063,"implemented":false,"kind":"function","modifiers":[],"name":"disableQuadraticRewarding","nameLocation":"13342:25:120","nodeType":"FunctionDefinition","parameters":{"id":69061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69060,"mutability":"mutable","name":"_disableQuadraticRewarding","nameLocation":"13373:26:120","nodeType":"VariableDeclaration","scope":69063,"src":"13368:31:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69059,"name":"bool","nodeType":"ElementaryTypeName","src":"13368:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13367:33:120"},"returnParameters":{"id":69062,"nodeType":"ParameterList","parameters":[],"src":"13409:0:120"},"scope":69092,"src":"13333:77:120","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69064,"nodeType":"StructuredDocumentation","src":"13498:326:120","text":"@notice Returns freshness multiplier values at a given timepoint\n @param timepoint The block number to query (typically round snapshot)\n @return tier1 Basis points for \"updated this round\"\n @return tier2 Basis points for \"updated within 2 rounds\"\n @return tier3 Basis points for \"no update >= 3 rounds\""},"functionSelector":"08d059dd","id":69075,"implemented":false,"kind":"function","modifiers":[],"name":"getFreshnessMultipliers","nameLocation":"13836:23:120","nodeType":"FunctionDefinition","parameters":{"id":69067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69066,"mutability":"mutable","name":"timepoint","nameLocation":"13868:9:120","nodeType":"VariableDeclaration","scope":69075,"src":"13860:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69065,"name":"uint256","nodeType":"ElementaryTypeName","src":"13860:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13859:19:120"},"returnParameters":{"id":69074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69069,"mutability":"mutable","name":"tier1","nameLocation":"13910:5:120","nodeType":"VariableDeclaration","scope":69075,"src":"13902:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69068,"name":"uint256","nodeType":"ElementaryTypeName","src":"13902:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69071,"mutability":"mutable","name":"tier2","nameLocation":"13925:5:120","nodeType":"VariableDeclaration","scope":69075,"src":"13917:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69070,"name":"uint256","nodeType":"ElementaryTypeName","src":"13917:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69073,"mutability":"mutable","name":"tier3","nameLocation":"13940:5:120","nodeType":"VariableDeclaration","scope":69075,"src":"13932:13:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69072,"name":"uint256","nodeType":"ElementaryTypeName","src":"13932:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13901:45:120"},"scope":69092,"src":"13827:120:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69076,"nodeType":"StructuredDocumentation","src":"13951:268:120","text":"@notice Returns governance intent multiplier values at a given timepoint\n @param timepoint The block number to query (typically proposal snapshot)\n @return forAgainst Basis points for For/Against votes\n @return abstain Basis points for Abstain votes"},"functionSelector":"a7381dab","id":69085,"implemented":false,"kind":"function","modifiers":[],"name":"getIntentMultipliers","nameLocation":"14231:20:120","nodeType":"FunctionDefinition","parameters":{"id":69079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69078,"mutability":"mutable","name":"timepoint","nameLocation":"14260:9:120","nodeType":"VariableDeclaration","scope":69085,"src":"14252:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69077,"name":"uint256","nodeType":"ElementaryTypeName","src":"14252:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14251:19:120"},"returnParameters":{"id":69084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69081,"mutability":"mutable","name":"forAgainst","nameLocation":"14302:10:120","nodeType":"VariableDeclaration","scope":69085,"src":"14294:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69080,"name":"uint256","nodeType":"ElementaryTypeName","src":"14294:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69083,"mutability":"mutable","name":"abstain","nameLocation":"14322:7:120","nodeType":"VariableDeclaration","scope":69085,"src":"14314:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69082,"name":"uint256","nodeType":"ElementaryTypeName","src":"14314:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14293:37:120"},"scope":69092,"src":"14222:109:120","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69086,"nodeType":"StructuredDocumentation","src":"14335:64:120","text":"@notice Returns the basis points scale constant (10000 = 1x)"},"functionSelector":"57314870","id":69091,"implemented":false,"kind":"function","modifiers":[],"name":"MULTIPLIER_SCALE","nameLocation":"14411:16:120","nodeType":"FunctionDefinition","parameters":{"id":69087,"nodeType":"ParameterList","parameters":[],"src":"14427:2:120"},"returnParameters":{"id":69090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69091,"src":"14453:7:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69088,"name":"uint256","nodeType":"ElementaryTypeName","src":"14453:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14452:9:120"},"scope":69092,"src":"14402:60:120","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":69093,"src":"287:14177:120","usedErrors":[68607,68614,68619,68624,68627,68630,68633,68636,68639,68642,68647],"usedEvents":[68652,68661,68672,68681,68690,68699,68704,68715,68722,68729,68736,68743,68748,68759]}],"src":"33:14432:120"},"id":120},"contracts/interfaces/IX2EarnApps.sol":{"ast":{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","exportedSymbols":{"EndorsementUtils":[76581],"IStargateNFT":[72687],"IX2EarnApps":[69989],"IX2EarnCreator":[70102],"IX2EarnRewardsPool":[70427],"IXAllocationVotingGovernor":[71124],"X2EarnAppsDataTypes":[71147],"X2EarnAppsStorageTypes":[76848]},"id":69990,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":69094,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:121"},{"absolutePath":"contracts/libraries/X2EarnAppsDataTypes.sol","file":"../libraries/X2EarnAppsDataTypes.sol","id":69096,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":69990,"sourceUnit":71148,"src":"57:75:121","symbolAliases":[{"foreign":{"id":69095,"name":"X2EarnAppsDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71147,"src":"66:19:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol","file":"../x-2-earn-apps/libraries/EndorsementUtils.sol","id":69098,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":69990,"sourceUnit":76582,"src":"133:83:121","symbolAliases":[{"foreign":{"id":69097,"name":"EndorsementUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76581,"src":"142:16:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol","file":"../x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol","id":69100,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":69990,"sourceUnit":76849,"src":"217:95:121","symbolAliases":[{"foreign":{"id":69099,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"226:22:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnCreator.sol","file":"./IX2EarnCreator.sol","id":69102,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":69990,"sourceUnit":70103,"src":"313:54:121","symbolAliases":[{"foreign":{"id":69101,"name":"IX2EarnCreator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70102,"src":"322:14:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"./IXAllocationVotingGovernor.sol","id":69104,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":69990,"sourceUnit":71125,"src":"368:78:121","symbolAliases":[{"foreign":{"id":69103,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"377:26:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnRewardsPool.sol","file":"./IX2EarnRewardsPool.sol","id":69106,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":69990,"sourceUnit":70428,"src":"447:62:121","symbolAliases":[{"foreign":{"id":69105,"name":"IX2EarnRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70427,"src":"456:18:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/IStargateNFT.sol","file":"../mocks/Stargate/interfaces/IStargateNFT.sol","id":69108,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":69990,"sourceUnit":72688,"src":"510:77:121","symbolAliases":[{"foreign":{"id":69107,"name":"IStargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72687,"src":"519:12:121","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IX2EarnApps","contractDependencies":[],"contractKind":"interface","documentation":{"id":69109,"nodeType":"StructuredDocumentation","src":"589:212:121","text":" @title IX2EarnApps\n @notice Interface for the X2EarnApps contract.\n @dev The contract inheriting this interface should be able to manage the x2earn apps and their Eligibility for allocation voting."},"fullyImplemented":false,"id":69989,"linearizedBaseContracts":[69989],"name":"IX2EarnApps","nameLocation":"812:11:121","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":69110,"nodeType":"StructuredDocumentation","src":"828:55:121","text":" @dev The clock was incorrectly modified."},"errorSelector":"6ff07140","id":69112,"name":"ERC6372InconsistentClock","nameLocation":"892:24:121","nodeType":"ErrorDefinition","parameters":{"id":69111,"nodeType":"ParameterList","parameters":[],"src":"916:2:121"},"src":"886:33:121"},{"documentation":{"id":69113,"nodeType":"StructuredDocumentation","src":"923:46:121","text":" @dev The `appId` doesn't exist."},"errorSelector":"0c7ac578","id":69117,"name":"X2EarnNonexistentApp","nameLocation":"978:20:121","nodeType":"ErrorDefinition","parameters":{"id":69116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69115,"mutability":"mutable","name":"appId","nameLocation":"1007:5:121","nodeType":"VariableDeclaration","scope":69117,"src":"999:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"999:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"998:15:121"},"src":"972:42:121"},{"documentation":{"id":69118,"nodeType":"StructuredDocumentation","src":"1018:57:121","text":" @dev The creator of the app doesn't exist."},"errorSelector":"23e85272","id":69124,"name":"X2EarnNonexistentCreator","nameLocation":"1084:24:121","nodeType":"ErrorDefinition","parameters":{"id":69123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69120,"mutability":"mutable","name":"appId","nameLocation":"1117:5:121","nodeType":"VariableDeclaration","scope":69124,"src":"1109:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1109:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69122,"mutability":"mutable","name":"creator","nameLocation":"1132:7:121","nodeType":"VariableDeclaration","scope":69124,"src":"1124:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69121,"name":"address","nodeType":"ElementaryTypeName","src":"1124:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1108:32:121"},"src":"1078:63:121"},{"documentation":{"id":69125,"nodeType":"StructuredDocumentation","src":"1145:70:121","text":" @dev The `addr` is not valid (eg: is the ZERO ADDRESS)."},"errorSelector":"3aa06cfc","id":69129,"name":"X2EarnInvalidAddress","nameLocation":"1224:20:121","nodeType":"ErrorDefinition","parameters":{"id":69128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69127,"mutability":"mutable","name":"addr","nameLocation":"1253:4:121","nodeType":"VariableDeclaration","scope":69129,"src":"1245:12:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69126,"name":"address","nodeType":"ElementaryTypeName","src":"1245:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1244:14:121"},"src":"1218:41:121"},{"documentation":{"id":69130,"nodeType":"StructuredDocumentation","src":"1263:54:121","text":" @dev The caller is already an endorser."},"errorSelector":"e0d39a86","id":69132,"name":"X2EarnAlreadyEndorser","nameLocation":"1326:21:121","nodeType":"ErrorDefinition","parameters":{"id":69131,"nodeType":"ParameterList","parameters":[],"src":"1347:2:121"},"src":"1320:30:121"},{"documentation":{"id":69133,"nodeType":"StructuredDocumentation","src":"1354:52:121","text":" @dev The caller is not a node holder."},"errorSelector":"9a88246c","id":69135,"name":"X2EarnNonNodeHolder","nameLocation":"1415:19:121","nodeType":"ErrorDefinition","parameters":{"id":69134,"nodeType":"ParameterList","parameters":[],"src":"1434:2:121"},"src":"1409:28:121"},{"documentation":{"id":69136,"nodeType":"StructuredDocumentation","src":"1441:50:121","text":" @dev The caller is not an endorser."},"errorSelector":"48d2eaea","id":69138,"name":"X2EarnNonEndorser","nameLocation":"1500:17:121","nodeType":"ErrorDefinition","parameters":{"id":69137,"nodeType":"ParameterList","parameters":[],"src":"1517:2:121"},"src":"1494:26:121"},{"documentation":{"id":69139,"nodeType":"StructuredDocumentation","src":"1524:52:121","text":" @dev The `appId` is already endorsed."},"errorSelector":"bf700bb2","id":69143,"name":"X2EarnAppAlreadyEndorsed","nameLocation":"1585:24:121","nodeType":"ErrorDefinition","parameters":{"id":69142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69141,"mutability":"mutable","name":"appId","nameLocation":"1618:5:121","nodeType":"VariableDeclaration","scope":69143,"src":"1610:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1610:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1609:15:121"},"src":"1579:46:121"},{"documentation":{"id":69144,"nodeType":"StructuredDocumentation","src":"1629:69:121","text":" @dev An app with the specified `appId` already exists."},"errorSelector":"6b4fdeb3","id":69148,"name":"X2EarnAppAlreadyExists","nameLocation":"1707:22:121","nodeType":"ErrorDefinition","parameters":{"id":69147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69146,"mutability":"mutable","name":"appId","nameLocation":"1738:5:121","nodeType":"VariableDeclaration","scope":69148,"src":"1730:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1730:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1729:15:121"},"src":"1701:44:121"},{"documentation":{"id":69149,"nodeType":"StructuredDocumentation","src":"1749:97:121","text":" @dev The Vechain Node is in a cooldown period, and the action cannot be performed."},"errorSelector":"f4042205","id":69151,"name":"X2EarnNodeCooldownActive","nameLocation":"1855:24:121","nodeType":"ErrorDefinition","parameters":{"id":69150,"nodeType":"ParameterList","parameters":[],"src":"1879:2:121"},"src":"1849:33:121"},{"documentation":{"id":69152,"nodeType":"StructuredDocumentation","src":"1886:69:121","text":" @dev The user is not authorized to perform the action."},"errorSelector":"c74e099e","id":69156,"name":"X2EarnUnauthorizedUser","nameLocation":"1964:22:121","nodeType":"ErrorDefinition","parameters":{"id":69155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69154,"mutability":"mutable","name":"user","nameLocation":"1995:4:121","nodeType":"VariableDeclaration","scope":69156,"src":"1987:12:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69153,"name":"address","nodeType":"ElementaryTypeName","src":"1987:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1986:14:121"},"src":"1958:43:121"},{"documentation":{"id":69157,"nodeType":"StructuredDocumentation","src":"2005:68:121","text":" @dev The maximum number of creators has been reached."},"errorSelector":"c7e6e348","id":69161,"name":"X2EarnMaxCreatorsReached","nameLocation":"2082:24:121","nodeType":"ErrorDefinition","parameters":{"id":69160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69159,"mutability":"mutable","name":"appId","nameLocation":"2115:5:121","nodeType":"VariableDeclaration","scope":69161,"src":"2107:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2107:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2106:15:121"},"src":"2076:46:121"},{"documentation":{"id":69162,"nodeType":"StructuredDocumentation","src":"2126:65:121","text":" @dev The caller is already the creator of the app."},"errorSelector":"d01c4c55","id":69166,"name":"X2EarnAlreadyCreator","nameLocation":"2200:20:121","nodeType":"ErrorDefinition","parameters":{"id":69165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69164,"mutability":"mutable","name":"creator","nameLocation":"2229:7:121","nodeType":"VariableDeclaration","scope":69166,"src":"2221:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69163,"name":"address","nodeType":"ElementaryTypeName","src":"2221:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2220:17:121"},"src":"2194:44:121"},{"documentation":{"id":69167,"nodeType":"StructuredDocumentation","src":"2242:56:121","text":" @dev The caller is an unverified creator."},"errorSelector":"1223ae89","id":69171,"name":"X2EarnUnverifiedCreator","nameLocation":"2307:23:121","nodeType":"ErrorDefinition","parameters":{"id":69170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69169,"mutability":"mutable","name":"creator","nameLocation":"2339:7:121","nodeType":"VariableDeclaration","scope":69171,"src":"2331:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69168,"name":"address","nodeType":"ElementaryTypeName","src":"2331:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2330:17:121"},"src":"2301:47:121"},{"documentation":{"id":69172,"nodeType":"StructuredDocumentation","src":"2352:68:121","text":" @dev The creator NFT is already used for another app."},"errorSelector":"c615aa4e","id":69176,"name":"CreatorNFTAlreadyUsed","nameLocation":"2429:21:121","nodeType":"ErrorDefinition","parameters":{"id":69175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69174,"mutability":"mutable","name":"creator","nameLocation":"2459:7:121","nodeType":"VariableDeclaration","scope":69176,"src":"2451:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69173,"name":"address","nodeType":"ElementaryTypeName","src":"2451:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2450:17:121"},"src":"2423:45:121"},{"documentation":{"id":69177,"nodeType":"StructuredDocumentation","src":"2472:63:121","text":" @dev Invalid start index for get apps pagination"},"errorSelector":"bd6a7192","id":69179,"name":"X2EarnInvalidStartIndex","nameLocation":"2544:23:121","nodeType":"ErrorDefinition","parameters":{"id":69178,"nodeType":"ParameterList","parameters":[],"src":"2567:2:121"},"src":"2538:32:121"},{"documentation":{"id":69180,"nodeType":"StructuredDocumentation","src":"2574:140:121","text":" @notice Error indicating that an XAPP has already been included in a XAllocation Voting round and submission cant be removed."},"errorSelector":"e2cf34b7","id":69184,"name":"NodeManagementXAppAlreadyIncluded","nameLocation":"2723:33:121","nodeType":"ErrorDefinition","parameters":{"id":69183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69182,"mutability":"mutable","name":"appId","nameLocation":"2765:5:121","nodeType":"VariableDeclaration","scope":69184,"src":"2757:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2757:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2756:15:121"},"src":"2717:55:121"},{"documentation":{"id":69185,"nodeType":"StructuredDocumentation","src":"2776:60:121","text":" @dev Lookup to future votes is not available."},"errorSelector":"ecd3f81e","id":69191,"name":"ERC5805FutureLookup","nameLocation":"2845:19:121","nodeType":"ErrorDefinition","parameters":{"id":69190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69187,"mutability":"mutable","name":"timepoint","nameLocation":"2873:9:121","nodeType":"VariableDeclaration","scope":69191,"src":"2865:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69186,"name":"uint256","nodeType":"ElementaryTypeName","src":"2865:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69189,"mutability":"mutable","name":"clock","nameLocation":"2891:5:121","nodeType":"VariableDeclaration","scope":69191,"src":"2884:12:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":69188,"name":"uint48","nodeType":"ElementaryTypeName","src":"2884:6:121","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2864:33:121"},"src":"2839:59:121"},{"documentation":{"id":69192,"nodeType":"StructuredDocumentation","src":"2902:50:121","text":" @dev The `percentage` is not valid."},"errorSelector":"72709bbb","id":69196,"name":"X2EarnInvalidAllocationPercentage","nameLocation":"2961:33:121","nodeType":"ErrorDefinition","parameters":{"id":69195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69194,"mutability":"mutable","name":"percentage","nameLocation":"3003:10:121","nodeType":"VariableDeclaration","scope":69196,"src":"2995:18:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69193,"name":"uint256","nodeType":"ElementaryTypeName","src":"2995:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2994:20:121"},"src":"2955:60:121"},{"documentation":{"id":69197,"nodeType":"StructuredDocumentation","src":"3019:58:121","text":" @dev The `distributorAddress` is not valid."},"errorSelector":"becb2b1e","id":69203,"name":"X2EarnNonexistentRewardDistributor","nameLocation":"3086:34:121","nodeType":"ErrorDefinition","parameters":{"id":69202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69199,"mutability":"mutable","name":"appId","nameLocation":"3129:5:121","nodeType":"VariableDeclaration","scope":69203,"src":"3121:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69198,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3121:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69201,"mutability":"mutable","name":"distributorAddress","nameLocation":"3144:18:121","nodeType":"VariableDeclaration","scope":69203,"src":"3136:26:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69200,"name":"address","nodeType":"ElementaryTypeName","src":"3136:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3120:43:121"},"src":"3080:84:121"},{"documentation":{"id":69204,"nodeType":"StructuredDocumentation","src":"3168:49:121","text":" @dev The `moderator` is not valid."},"errorSelector":"b212b09c","id":69210,"name":"X2EarnNonexistentModerator","nameLocation":"3226:26:121","nodeType":"ErrorDefinition","parameters":{"id":69209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69206,"mutability":"mutable","name":"appId","nameLocation":"3261:5:121","nodeType":"VariableDeclaration","scope":69210,"src":"3253:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3253:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69208,"mutability":"mutable","name":"moderator","nameLocation":"3276:9:121","nodeType":"VariableDeclaration","scope":69210,"src":"3268:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69207,"name":"address","nodeType":"ElementaryTypeName","src":"3268:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3252:34:121"},"src":"3220:67:121"},{"documentation":{"id":69211,"nodeType":"StructuredDocumentation","src":"3291:70:121","text":" @dev The maximum number of moderators has been reached."},"errorSelector":"77ffca9f","id":69215,"name":"X2EarnMaxModeratorsReached","nameLocation":"3370:26:121","nodeType":"ErrorDefinition","parameters":{"id":69214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69213,"mutability":"mutable","name":"appId","nameLocation":"3405:5:121","nodeType":"VariableDeclaration","scope":69215,"src":"3397:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3397:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3396:15:121"},"src":"3364:48:121"},{"documentation":{"id":69216,"nodeType":"StructuredDocumentation","src":"3416:43:121","text":" @dev The app is blacklisted."},"errorSelector":"3126f1ab","id":69220,"name":"X2EarnAppBlacklisted","nameLocation":"3468:20:121","nodeType":"ErrorDefinition","parameters":{"id":69219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69218,"mutability":"mutable","name":"appId","nameLocation":"3497:5:121","nodeType":"VariableDeclaration","scope":69220,"src":"3489:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3489:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3488:15:121"},"src":"3462:42:121"},{"documentation":{"id":69221,"nodeType":"StructuredDocumentation","src":"3508:79:121","text":" @dev The maximum number of reward distributors has been reached."},"errorSelector":"3be3601b","id":69225,"name":"X2EarnMaxRewardDistributorsReached","nameLocation":"3596:34:121","nodeType":"ErrorDefinition","parameters":{"id":69224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69223,"mutability":"mutable","name":"appId","nameLocation":"3639:5:121","nodeType":"VariableDeclaration","scope":69225,"src":"3631:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3631:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3630:15:121"},"src":"3590:56:121"},{"documentation":{"id":69226,"nodeType":"StructuredDocumentation","src":"3650:68:121","text":" @dev The maximum number of managers has been reached."},"errorSelector":"8c2a4130","id":69230,"name":"X2EarnMaxManagersReached","nameLocation":"3727:24:121","nodeType":"ErrorDefinition","parameters":{"id":69229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69228,"mutability":"mutable","name":"appId","nameLocation":"3760:5:121","nodeType":"VariableDeclaration","scope":69230,"src":"3752:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3752:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3751:15:121"},"src":"3721:46:121"},{"documentation":{"id":69231,"nodeType":"StructuredDocumentation","src":"3771:70:121","text":" @dev The user has a node that cannot be used to endorse"},"errorSelector":"ba391c6c","id":69233,"name":"NodeNotAllowedToEndorse","nameLocation":"3850:23:121","nodeType":"ErrorDefinition","parameters":{"id":69232,"nodeType":"ParameterList","parameters":[],"src":"3873:2:121"},"src":"3844:32:121"},{"documentation":{"id":69234,"nodeType":"StructuredDocumentation","src":"3895:73:121","text":" @dev Endorsements are currently paused (during migration)."},"errorSelector":"7bd63419","id":69236,"name":"EndorsementsPaused","nameLocation":"3977:18:121","nodeType":"ErrorDefinition","parameters":{"id":69235,"nodeType":"ParameterList","parameters":[],"src":"3995:2:121"},"src":"3971:27:121"},{"documentation":{"id":69237,"nodeType":"StructuredDocumentation","src":"4002:87:121","text":" @dev Cooldown period not expired for the specified node-app endorsement."},"errorSelector":"564f58b3","id":69243,"name":"CooldownNotExpired","nameLocation":"4098:18:121","nodeType":"ErrorDefinition","parameters":{"id":69242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69239,"mutability":"mutable","name":"nodeId","nameLocation":"4125:6:121","nodeType":"VariableDeclaration","scope":69243,"src":"4117:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69238,"name":"uint256","nodeType":"ElementaryTypeName","src":"4117:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69241,"mutability":"mutable","name":"appId","nameLocation":"4141:5:121","nodeType":"VariableDeclaration","scope":69243,"src":"4133:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4133:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4116:31:121"},"src":"4092:56:121"},{"documentation":{"id":69244,"nodeType":"StructuredDocumentation","src":"4152:59:121","text":" @dev Exceeds maximum points allowed per app."},"errorSelector":"68615086","id":69252,"name":"ExceedsMaxPointsPerApp","nameLocation":"4220:22:121","nodeType":"ErrorDefinition","parameters":{"id":69251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69246,"mutability":"mutable","name":"appId","nameLocation":"4251:5:121","nodeType":"VariableDeclaration","scope":69252,"src":"4243:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4243:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69248,"mutability":"mutable","name":"current","nameLocation":"4266:7:121","nodeType":"VariableDeclaration","scope":69252,"src":"4258:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69247,"name":"uint256","nodeType":"ElementaryTypeName","src":"4258:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69250,"mutability":"mutable","name":"max","nameLocation":"4283:3:121","nodeType":"VariableDeclaration","scope":69252,"src":"4275:11:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69249,"name":"uint256","nodeType":"ElementaryTypeName","src":"4275:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4242:45:121"},"src":"4214:74:121"},{"documentation":{"id":69253,"nodeType":"StructuredDocumentation","src":"4292:80:121","text":" @dev Exceeds maximum points a single node can endorse to one app."},"errorSelector":"87b212fd","id":69261,"name":"ExceedsMaxPointsPerNode","nameLocation":"4381:23:121","nodeType":"ErrorDefinition","parameters":{"id":69260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69255,"mutability":"mutable","name":"nodeId","nameLocation":"4413:6:121","nodeType":"VariableDeclaration","scope":69261,"src":"4405:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69254,"name":"uint256","nodeType":"ElementaryTypeName","src":"4405:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69257,"mutability":"mutable","name":"appId","nameLocation":"4429:5:121","nodeType":"VariableDeclaration","scope":69261,"src":"4421:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4421:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69259,"mutability":"mutable","name":"max","nameLocation":"4444:3:121","nodeType":"VariableDeclaration","scope":69261,"src":"4436:11:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69258,"name":"uint256","nodeType":"ElementaryTypeName","src":"4436:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4404:44:121"},"src":"4375:74:121"},{"documentation":{"id":69262,"nodeType":"StructuredDocumentation","src":"4453:62:121","text":" @dev Node doesn't have enough available points."},"errorSelector":"133dd146","id":69270,"name":"InsufficientAvailablePoints","nameLocation":"4524:27:121","nodeType":"ErrorDefinition","parameters":{"id":69269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69264,"mutability":"mutable","name":"nodeId","nameLocation":"4560:6:121","nodeType":"VariableDeclaration","scope":69270,"src":"4552:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69263,"name":"uint256","nodeType":"ElementaryTypeName","src":"4552:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69266,"mutability":"mutable","name":"available","nameLocation":"4576:9:121","nodeType":"VariableDeclaration","scope":69270,"src":"4568:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69265,"name":"uint256","nodeType":"ElementaryTypeName","src":"4568:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69268,"mutability":"mutable","name":"requested","nameLocation":"4595:9:121","nodeType":"VariableDeclaration","scope":69270,"src":"4587:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69267,"name":"uint256","nodeType":"ElementaryTypeName","src":"4587:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4551:54:121"},"src":"4518:88:121"},{"documentation":{"id":69271,"nodeType":"StructuredDocumentation","src":"4610:51:121","text":" @dev Invalid points amount provided."},"errorSelector":"b15e3914","id":69273,"name":"InvalidPointsAmount","nameLocation":"4670:19:121","nodeType":"ErrorDefinition","parameters":{"id":69272,"nodeType":"ParameterList","parameters":[],"src":"4689:2:121"},"src":"4664:28:121"},{"anonymous":false,"documentation":{"id":69274,"nodeType":"StructuredDocumentation","src":"4696:56:121","text":" @dev Event fired when a new app is added."},"eventSelector":"181c8615e49dc4eaed218e1d225e4a34a0fb364fc70601a191573daa19d57eda","id":69284,"name":"AppAdded","nameLocation":"4761:8:121","nodeType":"EventDefinition","parameters":{"id":69283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69276,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"4786:2:121","nodeType":"VariableDeclaration","scope":69284,"src":"4770:18:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4770:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69278,"indexed":false,"mutability":"mutable","name":"addr","nameLocation":"4798:4:121","nodeType":"VariableDeclaration","scope":69284,"src":"4790:12:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69277,"name":"address","nodeType":"ElementaryTypeName","src":"4790:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69280,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"4811:4:121","nodeType":"VariableDeclaration","scope":69284,"src":"4804:11:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69279,"name":"string","nodeType":"ElementaryTypeName","src":"4804:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":69282,"indexed":false,"mutability":"mutable","name":"appAvailableForAllocationVoting","nameLocation":"4822:31:121","nodeType":"VariableDeclaration","scope":69284,"src":"4817:36:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69281,"name":"bool","nodeType":"ElementaryTypeName","src":"4817:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4769:85:121"},"src":"4755:100:121"},{"anonymous":false,"documentation":{"id":69285,"nodeType":"StructuredDocumentation","src":"4859:86:121","text":" @dev Event fired when an app Eligibility for allocation voting changes."},"eventSelector":"67a3d5f523bbd1855235e1573461f352e4f47a2e67434dac8ac4cf04be557c51","id":69291,"name":"VotingEligibilityUpdated","nameLocation":"4954:24:121","nodeType":"EventDefinition","parameters":{"id":69290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69287,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"4995:5:121","nodeType":"VariableDeclaration","scope":69291,"src":"4979:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4979:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69289,"indexed":false,"mutability":"mutable","name":"isAvailable","nameLocation":"5007:11:121","nodeType":"VariableDeclaration","scope":69291,"src":"5002:16:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69288,"name":"bool","nodeType":"ElementaryTypeName","src":"5002:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4978:41:121"},"src":"4948:72:121"},{"anonymous":false,"documentation":{"id":69292,"nodeType":"StructuredDocumentation","src":"5024:76:121","text":" @dev Event fired when an app is blacklisted or unblacklisted."},"eventSelector":"dcf7bb788a4c8c91f85b15fa04797101b624ce86f804c2ccc49d8474adeb90ba","id":69298,"name":"BlacklistUpdated","nameLocation":"5109:16:121","nodeType":"EventDefinition","parameters":{"id":69297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69294,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"5142:5:121","nodeType":"VariableDeclaration","scope":69298,"src":"5126:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5126:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69296,"indexed":false,"mutability":"mutable","name":"isBlacklisted","nameLocation":"5154:13:121","nodeType":"VariableDeclaration","scope":69298,"src":"5149:18:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69295,"name":"bool","nodeType":"ElementaryTypeName","src":"5149:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5125:43:121"},"src":"5103:66:121"},{"anonymous":false,"documentation":{"id":69299,"nodeType":"StructuredDocumentation","src":"5173:68:121","text":" @dev Event fired when the score threshold is updated."},"eventSelector":"c0d3753bc89284345726d88cd5c82025ebedac4070cdbc551a0ba27b5180a637","id":69305,"name":"EndorsementScoreThresholdUpdated","nameLocation":"5250:32:121","nodeType":"EventDefinition","parameters":{"id":69304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69301,"indexed":false,"mutability":"mutable","name":"oldThreshold","nameLocation":"5291:12:121","nodeType":"VariableDeclaration","scope":69305,"src":"5283:20:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69300,"name":"uint256","nodeType":"ElementaryTypeName","src":"5283:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69303,"indexed":false,"mutability":"mutable","name":"newThreshold","nameLocation":"5313:12:121","nodeType":"VariableDeclaration","scope":69305,"src":"5305:20:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69302,"name":"uint256","nodeType":"ElementaryTypeName","src":"5305:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5282:44:121"},"src":"5244:83:121"},{"anonymous":false,"documentation":{"id":69306,"nodeType":"StructuredDocumentation","src":"5331:79:121","text":" @dev Event fired when the admin adds a new moderator to the app."},"eventSelector":"25050ac96acd2401160d6a87fc508fb2b6e5404bbd0537ddfb451e0119a9baa7","id":69312,"name":"ModeratorAddedToApp","nameLocation":"5419:19:121","nodeType":"EventDefinition","parameters":{"id":69311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69308,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"5455:5:121","nodeType":"VariableDeclaration","scope":69312,"src":"5439:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5439:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69310,"indexed":false,"mutability":"mutable","name":"moderator","nameLocation":"5470:9:121","nodeType":"VariableDeclaration","scope":69312,"src":"5462:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69309,"name":"address","nodeType":"ElementaryTypeName","src":"5462:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5438:42:121"},"src":"5413:68:121"},{"anonymous":false,"documentation":{"id":69313,"nodeType":"StructuredDocumentation","src":"5485:80:121","text":" @dev Event fired when the admin removes a moderator from the app."},"eventSelector":"82f635984e0b60385ea0976cdf92f1e5528f83bf7b8ee457f4c6fae2dd198abb","id":69319,"name":"ModeratorRemovedFromApp","nameLocation":"5574:23:121","nodeType":"EventDefinition","parameters":{"id":69318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69315,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"5614:5:121","nodeType":"VariableDeclaration","scope":69319,"src":"5598:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5598:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69317,"indexed":false,"mutability":"mutable","name":"moderator","nameLocation":"5629:9:121","nodeType":"VariableDeclaration","scope":69319,"src":"5621:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69316,"name":"address","nodeType":"ElementaryTypeName","src":"5621:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5597:42:121"},"src":"5568:72:121"},{"anonymous":false,"documentation":{"id":69320,"nodeType":"StructuredDocumentation","src":"5644:78:121","text":" @dev Event fired when the admin removes a creator from the app."},"eventSelector":"76ddb80550f2cd4dee165bc4afcbd48ce12b9e21793a5cd49f100dc907ba2aae","id":69326,"name":"CreatorRemovedFromApp","nameLocation":"5731:21:121","nodeType":"EventDefinition","parameters":{"id":69325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69322,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"5769:5:121","nodeType":"VariableDeclaration","scope":69326,"src":"5753:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5753:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69324,"indexed":false,"mutability":"mutable","name":"creator","nameLocation":"5784:7:121","nodeType":"VariableDeclaration","scope":69326,"src":"5776:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69323,"name":"address","nodeType":"ElementaryTypeName","src":"5776:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5752:40:121"},"src":"5725:68:121"},{"anonymous":false,"documentation":{"id":69327,"nodeType":"StructuredDocumentation","src":"5797:107:121","text":" @dev Event fired when the admin adds a new creator to the app and new creator NFT is minted."},"eventSelector":"928a476639d8dad692dd208cb0c483506a16fe80d05e24390188eb9f30686866","id":69333,"name":"CreatorAddedToApp","nameLocation":"5913:17:121","nodeType":"EventDefinition","parameters":{"id":69332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69329,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"5947:5:121","nodeType":"VariableDeclaration","scope":69333,"src":"5931:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5931:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69331,"indexed":false,"mutability":"mutable","name":"creatorAddress","nameLocation":"5962:14:121","nodeType":"VariableDeclaration","scope":69333,"src":"5954:22:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69330,"name":"address","nodeType":"ElementaryTypeName","src":"5954:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5930:47:121"},"src":"5907:71:121"},{"anonymous":false,"documentation":{"id":69334,"nodeType":"StructuredDocumentation","src":"5982:88:121","text":" @dev Event fired when the admin adds a new reward distributor to the app."},"eventSelector":"ff61d9fea8a697c08f6ce345a762521d2e5fd7cce8e235fb4bf9337ba0c57c29","id":69340,"name":"RewardDistributorAddedToApp","nameLocation":"6079:27:121","nodeType":"EventDefinition","parameters":{"id":69339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69336,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"6123:5:121","nodeType":"VariableDeclaration","scope":69340,"src":"6107:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6107:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69338,"indexed":false,"mutability":"mutable","name":"distributorAddress","nameLocation":"6138:18:121","nodeType":"VariableDeclaration","scope":69340,"src":"6130:26:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69337,"name":"address","nodeType":"ElementaryTypeName","src":"6130:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6106:51:121"},"src":"6073:85:121"},{"anonymous":false,"documentation":{"id":69341,"nodeType":"StructuredDocumentation","src":"6162:89:121","text":" @dev Event fired when the admin removes a reward distributor from the app."},"eventSelector":"5d49a79e91765aff88a22b5e1ac2373c3035e839101aca1496177c0709e53b5a","id":69347,"name":"RewardDistributorRemovedFromApp","nameLocation":"6260:31:121","nodeType":"EventDefinition","parameters":{"id":69346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69343,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"6308:5:121","nodeType":"VariableDeclaration","scope":69347,"src":"6292:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6292:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69345,"indexed":false,"mutability":"mutable","name":"distributorAddress","nameLocation":"6323:18:121","nodeType":"VariableDeclaration","scope":69347,"src":"6315:26:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69344,"name":"address","nodeType":"ElementaryTypeName","src":"6315:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6291:51:121"},"src":"6254:89:121"},{"anonymous":false,"documentation":{"id":69348,"nodeType":"StructuredDocumentation","src":"6347:65:121","text":" @dev Event fired when the admin of an app changes."},"eventSelector":"f731532cb185ec0e4f09f397cce651bf601970ff3c051d753e42a427448c3d20","id":69356,"name":"AppAdminUpdated","nameLocation":"6421:15:121","nodeType":"EventDefinition","parameters":{"id":69355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69350,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"6453:5:121","nodeType":"VariableDeclaration","scope":69356,"src":"6437:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6437:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69352,"indexed":false,"mutability":"mutable","name":"oldAdmin","nameLocation":"6468:8:121","nodeType":"VariableDeclaration","scope":69356,"src":"6460:16:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69351,"name":"address","nodeType":"ElementaryTypeName","src":"6460:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69354,"indexed":false,"mutability":"mutable","name":"newAdmin","nameLocation":"6486:8:121","nodeType":"VariableDeclaration","scope":69356,"src":"6478:16:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69353,"name":"address","nodeType":"ElementaryTypeName","src":"6478:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6436:59:121"},"src":"6415:81:121"},{"anonymous":false,"documentation":{"id":69357,"nodeType":"StructuredDocumentation","src":"6500:107:121","text":" @dev Event fired when the address where the x2earn app receives allocation funds is changed."},"eventSelector":"9402e8cef9f513d1d61b2df14b6521dfc70cfe4f750d10e413ef6f618b4be4f6","id":69365,"name":"TeamWalletAddressUpdated","nameLocation":"6616:24:121","nodeType":"EventDefinition","parameters":{"id":69364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69359,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"6657:5:121","nodeType":"VariableDeclaration","scope":69365,"src":"6641:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6641:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69361,"indexed":false,"mutability":"mutable","name":"oldTeamWalletAddress","nameLocation":"6672:20:121","nodeType":"VariableDeclaration","scope":69365,"src":"6664:28:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69360,"name":"address","nodeType":"ElementaryTypeName","src":"6664:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69363,"indexed":false,"mutability":"mutable","name":"newTeamWalletAddress","nameLocation":"6702:20:121","nodeType":"VariableDeclaration","scope":69365,"src":"6694:28:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69362,"name":"address","nodeType":"ElementaryTypeName","src":"6694:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6640:83:121"},"src":"6610:114:121"},{"anonymous":false,"documentation":{"id":69366,"nodeType":"StructuredDocumentation","src":"6728:76:121","text":" @dev Event fired when the metadata URI of the app is changed."},"eventSelector":"cffcc4ac44fe5b203e220bf515ab2632e760bfc04adba8ad3d88245651ba3343","id":69374,"name":"AppMetadataURIUpdated","nameLocation":"6813:21:121","nodeType":"EventDefinition","parameters":{"id":69373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69368,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"6851:5:121","nodeType":"VariableDeclaration","scope":69374,"src":"6835:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6835:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69370,"indexed":false,"mutability":"mutable","name":"oldMetadataURI","nameLocation":"6865:14:121","nodeType":"VariableDeclaration","scope":69374,"src":"6858:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69369,"name":"string","nodeType":"ElementaryTypeName","src":"6858:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":69372,"indexed":false,"mutability":"mutable","name":"newMetadataURI","nameLocation":"6888:14:121","nodeType":"VariableDeclaration","scope":69374,"src":"6881:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69371,"name":"string","nodeType":"ElementaryTypeName","src":"6881:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6834:69:121"},"src":"6807:97:121"},{"anonymous":false,"documentation":{"id":69375,"nodeType":"StructuredDocumentation","src":"6908:61:121","text":" @dev Event fired when the base URI is updated."},"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":69381,"name":"BaseURIUpdated","nameLocation":"6978:14:121","nodeType":"EventDefinition","parameters":{"id":69380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69377,"indexed":false,"mutability":"mutable","name":"oldBaseURI","nameLocation":"7000:10:121","nodeType":"VariableDeclaration","scope":69381,"src":"6993:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69376,"name":"string","nodeType":"ElementaryTypeName","src":"6993:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":69379,"indexed":false,"mutability":"mutable","name":"newBaseURI","nameLocation":"7019:10:121","nodeType":"VariableDeclaration","scope":69381,"src":"7012:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69378,"name":"string","nodeType":"ElementaryTypeName","src":"7012:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6992:38:121"},"src":"6972:59:121"},{"anonymous":false,"documentation":{"id":69382,"nodeType":"StructuredDocumentation","src":"7035:77:121","text":" @dev Event fired when the cooldown period duration is updated."},"eventSelector":"98eaabfe135a9c40c420208962bf81e7926b4d6df3e23502164c0554b7b35224","id":69388,"name":"CooldownPeriodUpdated","nameLocation":"7121:21:121","nodeType":"EventDefinition","parameters":{"id":69387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69384,"indexed":false,"mutability":"mutable","name":"oldCooldownPeriod","nameLocation":"7151:17:121","nodeType":"VariableDeclaration","scope":69388,"src":"7143:25:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69383,"name":"uint256","nodeType":"ElementaryTypeName","src":"7143:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69386,"indexed":false,"mutability":"mutable","name":"newCooldownPeriod","nameLocation":"7178:17:121","nodeType":"VariableDeclaration","scope":69388,"src":"7170:25:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69385,"name":"uint256","nodeType":"ElementaryTypeName","src":"7170:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7142:54:121"},"src":"7115:82:121"},{"anonymous":false,"documentation":{"id":69389,"nodeType":"StructuredDocumentation","src":"7201:74:121","text":" @dev Event fired when the grace period duration is updated."},"eventSelector":"55c7a79c45e9a972909cd640f9336a14a84adbaf756211f16267001854110191","id":69395,"name":"GracePeriodUpdated","nameLocation":"7284:18:121","nodeType":"EventDefinition","parameters":{"id":69394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69391,"indexed":false,"mutability":"mutable","name":"oldGracePeriod","nameLocation":"7311:14:121","nodeType":"VariableDeclaration","scope":69395,"src":"7303:22:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69390,"name":"uint256","nodeType":"ElementaryTypeName","src":"7303:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69393,"indexed":false,"mutability":"mutable","name":"newGracePeriod","nameLocation":"7335:14:121","nodeType":"VariableDeclaration","scope":69395,"src":"7327:22:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69392,"name":"uint256","nodeType":"ElementaryTypeName","src":"7327:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7302:48:121"},"src":"7278:73:121"},{"anonymous":false,"documentation":{"id":69396,"nodeType":"StructuredDocumentation","src":"7355:75:121","text":" @dev Event fired when the app endorsement status is updated."},"eventSelector":"39ed358ca65699fee4083beb84f3d91ce2201bb0c89859317fc5be02231609ed","id":69402,"name":"AppEndorsementStatusUpdated","nameLocation":"7439:27:121","nodeType":"EventDefinition","parameters":{"id":69401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69398,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"7483:5:121","nodeType":"VariableDeclaration","scope":69402,"src":"7467:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7467:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69400,"indexed":false,"mutability":"mutable","name":"endorsed","nameLocation":"7495:8:121","nodeType":"VariableDeclaration","scope":69402,"src":"7490:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69399,"name":"bool","nodeType":"ElementaryTypeName","src":"7490:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7466:38:121"},"src":"7433:72:121"},{"anonymous":false,"documentation":{"id":69403,"nodeType":"StructuredDocumentation","src":"7509:81:121","text":" @dev Event fired when the app endorsement grace period is started."},"eventSelector":"502689eeffd57ae8470e1d86a4a8cd293a44bfbbd2429cb375da3d901a3dd80f","id":69411,"name":"AppUnendorsedGracePeriodStarted","nameLocation":"7599:31:121","nodeType":"EventDefinition","parameters":{"id":69410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69405,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"7647:5:121","nodeType":"VariableDeclaration","scope":69411,"src":"7631:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7631:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69407,"indexed":false,"mutability":"mutable","name":"startBlock","nameLocation":"7661:10:121","nodeType":"VariableDeclaration","scope":69411,"src":"7654:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":69406,"name":"uint48","nodeType":"ElementaryTypeName","src":"7654:6:121","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":69409,"indexed":false,"mutability":"mutable","name":"endBlock","nameLocation":"7680:8:121","nodeType":"VariableDeclaration","scope":69411,"src":"7673:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":69408,"name":"uint48","nodeType":"ElementaryTypeName","src":"7673:6:121","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"7630:59:121"},"src":"7593:97:121"},{"anonymous":false,"documentation":{"id":69412,"nodeType":"StructuredDocumentation","src":"7694:79:121","text":" @dev Event fired when the team allocation percentage is updated."},"eventSelector":"fa00d62daa32bee936460eef242354969c99d01d5e406a2ca006a39e9df6b2b6","id":69420,"name":"TeamAllocationPercentageUpdated","nameLocation":"7782:31:121","nodeType":"EventDefinition","parameters":{"id":69419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69414,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"7830:5:121","nodeType":"VariableDeclaration","scope":69420,"src":"7814:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7814:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69416,"indexed":false,"mutability":"mutable","name":"oldPercentage","nameLocation":"7845:13:121","nodeType":"VariableDeclaration","scope":69420,"src":"7837:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69415,"name":"uint256","nodeType":"ElementaryTypeName","src":"7837:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69418,"indexed":false,"mutability":"mutable","name":"newPercentage","nameLocation":"7868:13:121","nodeType":"VariableDeclaration","scope":69420,"src":"7860:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69417,"name":"uint256","nodeType":"ElementaryTypeName","src":"7860:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7813:69:121"},"src":"7776:107:121"},{"anonymous":false,"documentation":{"id":69421,"nodeType":"StructuredDocumentation","src":"7887:72:121","text":" @dev V8: Event fired when an app is endorsed with points."},"eventSelector":"1193ced031b3229da69fab9691642274e1ea2625dfce9967135e6d5e6029d220","id":69431,"name":"AppEndorsed","nameLocation":"7968:11:121","nodeType":"EventDefinition","parameters":{"id":69430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69423,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"7996:5:121","nodeType":"VariableDeclaration","scope":69431,"src":"7980:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7980:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69425,"indexed":true,"mutability":"mutable","name":"nodeId","nameLocation":"8019:6:121","nodeType":"VariableDeclaration","scope":69431,"src":"8003:22:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69424,"name":"uint256","nodeType":"ElementaryTypeName","src":"8003:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69427,"indexed":false,"mutability":"mutable","name":"endorser","nameLocation":"8035:8:121","nodeType":"VariableDeclaration","scope":69431,"src":"8027:16:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69426,"name":"address","nodeType":"ElementaryTypeName","src":"8027:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69429,"indexed":false,"mutability":"mutable","name":"points","nameLocation":"8053:6:121","nodeType":"VariableDeclaration","scope":69431,"src":"8045:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69428,"name":"uint256","nodeType":"ElementaryTypeName","src":"8045:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7979:81:121"},"src":"7962:99:121"},{"anonymous":false,"documentation":{"id":69432,"nodeType":"StructuredDocumentation","src":"8065:62:121","text":" @dev V8: Event fired when an app is unendorsed."},"eventSelector":"75a2c0f7478dc6b5e01e316a07fc6b72d32d90ca051d898b5d198300d1a7c036","id":69440,"name":"AppUnendorsed","nameLocation":"8136:13:121","nodeType":"EventDefinition","parameters":{"id":69439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69434,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"8166:5:121","nodeType":"VariableDeclaration","scope":69440,"src":"8150:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8150:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69436,"indexed":true,"mutability":"mutable","name":"nodeId","nameLocation":"8189:6:121","nodeType":"VariableDeclaration","scope":69440,"src":"8173:22:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69435,"name":"uint256","nodeType":"ElementaryTypeName","src":"8173:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69438,"indexed":false,"mutability":"mutable","name":"points","nameLocation":"8205:6:121","nodeType":"VariableDeclaration","scope":69440,"src":"8197:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69437,"name":"uint256","nodeType":"ElementaryTypeName","src":"8197:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8149:63:121"},"src":"8130:83:121"},{"anonymous":false,"documentation":{"id":69441,"nodeType":"StructuredDocumentation","src":"8217:75:121","text":" @dev V8: Event fired when endorsements paused state changes."},"eventSelector":"fd9f033c3b3a54e30cfe5bf2bc66dea3bac111d66ecc2c03a2bcc1c5ccdd0250","id":69445,"name":"EndorsementsPausedUpdated","nameLocation":"8301:25:121","nodeType":"EventDefinition","parameters":{"id":69444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69443,"indexed":false,"mutability":"mutable","name":"paused","nameLocation":"8332:6:121","nodeType":"VariableDeclaration","scope":69445,"src":"8327:11:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69442,"name":"bool","nodeType":"ElementaryTypeName","src":"8327:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8326:13:121"},"src":"8295:45:121"},{"anonymous":false,"documentation":{"id":69446,"nodeType":"StructuredDocumentation","src":"8344:80:121","text":" @dev V8: Event fired when max points per node per app is updated."},"eventSelector":"ff24fd32f78a666774cb7265d538935a108bff58375ccca2d01c4c9b66ac22a5","id":69452,"name":"MaxPointsPerNodePerAppUpdated","nameLocation":"8433:29:121","nodeType":"EventDefinition","parameters":{"id":69451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69448,"indexed":false,"mutability":"mutable","name":"oldMax","nameLocation":"8471:6:121","nodeType":"VariableDeclaration","scope":69452,"src":"8463:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69447,"name":"uint256","nodeType":"ElementaryTypeName","src":"8463:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69450,"indexed":false,"mutability":"mutable","name":"newMax","nameLocation":"8487:6:121","nodeType":"VariableDeclaration","scope":69452,"src":"8479:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69449,"name":"uint256","nodeType":"ElementaryTypeName","src":"8479:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8462:32:121"},"src":"8427:68:121"},{"anonymous":false,"documentation":{"id":69453,"nodeType":"StructuredDocumentation","src":"8499:71:121","text":" @dev V8: Event fired when max points per app is updated."},"eventSelector":"f4c290bd7ee941689bccbabc9dbd567d76db3be9871c7aa182dabf6737f7fc70","id":69459,"name":"MaxPointsPerAppUpdated","nameLocation":"8579:22:121","nodeType":"EventDefinition","parameters":{"id":69458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69455,"indexed":false,"mutability":"mutable","name":"oldMax","nameLocation":"8610:6:121","nodeType":"VariableDeclaration","scope":69459,"src":"8602:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69454,"name":"uint256","nodeType":"ElementaryTypeName","src":"8602:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69457,"indexed":false,"mutability":"mutable","name":"newMax","nameLocation":"8626:6:121","nodeType":"VariableDeclaration","scope":69459,"src":"8618:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69456,"name":"uint256","nodeType":"ElementaryTypeName","src":"8618:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8601:32:121"},"src":"8573:61:121"},{"anonymous":false,"documentation":{"id":69460,"nodeType":"StructuredDocumentation","src":"8638:84:121","text":" @dev V8: Event fired when an app admin voluntarily delists their app."},"eventSelector":"5a6c1432141559a12a66c9321806df68b9948db6cc62bffed540b668c3165bf8","id":69466,"name":"AppSelfBlacklisted","nameLocation":"8731:18:121","nodeType":"EventDefinition","parameters":{"id":69465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69462,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"8766:5:121","nodeType":"VariableDeclaration","scope":69466,"src":"8750:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8750:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69464,"indexed":true,"mutability":"mutable","name":"admin","nameLocation":"8789:5:121","nodeType":"VariableDeclaration","scope":69466,"src":"8773:21:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69463,"name":"address","nodeType":"ElementaryTypeName","src":"8773:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8749:46:121"},"src":"8725:71:121"},{"anonymous":false,"documentation":{"id":69467,"nodeType":"StructuredDocumentation","src":"8800:74:121","text":" @dev Event fired when the node strength scores are updated."},"eventSelector":"c91e5ded81b3894187855cc79c29a7eaa6b412d30cfa1658fe313129291db242","id":69472,"name":"NodeStrengthScoresUpdated","nameLocation":"8883:25:121","nodeType":"EventDefinition","parameters":{"id":69471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69470,"indexed":true,"mutability":"mutable","name":"nodeStrengthScores","nameLocation":"8953:18:121","nodeType":"VariableDeclaration","scope":69472,"src":"8909:62:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_memory_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores"},"typeName":{"id":69469,"nodeType":"UserDefinedTypeName","pathNode":{"id":69468,"name":"EndorsementUtils.NodeStrengthScores","nameLocations":["8909:16:121","8926:18:121"],"nodeType":"IdentifierPath","referencedDeclaration":73281,"src":"8909:35:121"},"referencedDeclaration":73281,"src":"8909:35:121","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_storage_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores"}},"visibility":"internal"}],"src":"8908:64:121"},"src":"8877:96:121"},{"documentation":{"id":69473,"nodeType":"StructuredDocumentation","src":"8977:122:121","text":" @dev Generates the hash of the app name to be used as the app id.\n @param name the name of the app"},"functionSelector":"34b0e6b3","id":69480,"implemented":false,"kind":"function","modifiers":[],"name":"hashAppName","nameLocation":"9111:11:121","nodeType":"FunctionDefinition","parameters":{"id":69476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69475,"mutability":"mutable","name":"name","nameLocation":"9137:4:121","nodeType":"VariableDeclaration","scope":69480,"src":"9123:18:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69474,"name":"string","nodeType":"ElementaryTypeName","src":"9123:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9122:20:121"},"returnParameters":{"id":69479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69478,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69480,"src":"9166:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9166:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9165:9:121"},"scope":69989,"src":"9102:73:121","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":69481,"nodeType":"StructuredDocumentation","src":"9179:88:121","text":" @dev Get the app data by its id.\n @param appId the id of the app"},"functionSelector":"785d6e18","id":69489,"implemented":false,"kind":"function","modifiers":[],"name":"app","nameLocation":"9279:3:121","nodeType":"FunctionDefinition","parameters":{"id":69484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69483,"mutability":"mutable","name":"appId","nameLocation":"9291:5:121","nodeType":"VariableDeclaration","scope":69489,"src":"9283:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9283:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9282:15:121"},"returnParameters":{"id":69488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69489,"src":"9321:51:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"},"typeName":{"id":69486,"nodeType":"UserDefinedTypeName","pathNode":{"id":69485,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["9321:19:121","9341:24:121"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"9321:44:121"},"referencedDeclaration":71146,"src":"9321:44:121","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"visibility":"internal"}],"src":"9320:53:121"},"scope":69989,"src":"9270:104:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69490,"nodeType":"StructuredDocumentation","src":"9378:190:121","text":" @notice Get all the apps that exist in the VeBetter DAO ecosystem.\n @dev An XApp must have been included in at least one allocation round to be considered an existing app."},"functionSelector":"f7703379","id":69497,"implemented":false,"kind":"function","modifiers":[],"name":"apps","nameLocation":"9580:4:121","nodeType":"FunctionDefinition","parameters":{"id":69491,"nodeType":"ParameterList","parameters":[],"src":"9584:2:121"},"returnParameters":{"id":69496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69495,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69497,"src":"9610:53:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":69493,"nodeType":"UserDefinedTypeName","pathNode":{"id":69492,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["9610:19:121","9630:24:121"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"9610:44:121"},"referencedDeclaration":71146,"src":"9610:44:121","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":69494,"nodeType":"ArrayTypeName","src":"9610:46:121","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"src":"9609:55:121"},"scope":69989,"src":"9571:94:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69498,"nodeType":"StructuredDocumentation","src":"9669:190:121","text":" @dev Add a new moderator to the app.\n @param appId the id of the app\n @param moderator the address of the moderator\n Emits a {ModeratorAddedToApp} event."},"functionSelector":"0cb212e1","id":69505,"implemented":false,"kind":"function","modifiers":[],"name":"addAppModerator","nameLocation":"9871:15:121","nodeType":"FunctionDefinition","parameters":{"id":69503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69500,"mutability":"mutable","name":"appId","nameLocation":"9895:5:121","nodeType":"VariableDeclaration","scope":69505,"src":"9887:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9887:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69502,"mutability":"mutable","name":"moderator","nameLocation":"9910:9:121","nodeType":"VariableDeclaration","scope":69505,"src":"9902:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69501,"name":"address","nodeType":"ElementaryTypeName","src":"9902:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9886:34:121"},"returnParameters":{"id":69504,"nodeType":"ParameterList","parameters":[],"src":"9929:0:121"},"scope":69989,"src":"9862:68:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69506,"nodeType":"StructuredDocumentation","src":"9934:195:121","text":" @dev Remove a moderator from the app.\n @param appId the id of the app\n @param moderator the address of the moderator\n Emits a {ModeratorRemovedFromApp} event."},"functionSelector":"2589a49d","id":69513,"implemented":false,"kind":"function","modifiers":[],"name":"removeAppModerator","nameLocation":"10141:18:121","nodeType":"FunctionDefinition","parameters":{"id":69511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69508,"mutability":"mutable","name":"appId","nameLocation":"10168:5:121","nodeType":"VariableDeclaration","scope":69513,"src":"10160:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69507,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10160:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69510,"mutability":"mutable","name":"moderator","nameLocation":"10183:9:121","nodeType":"VariableDeclaration","scope":69513,"src":"10175:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69509,"name":"address","nodeType":"ElementaryTypeName","src":"10175:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10159:34:121"},"returnParameters":{"id":69512,"nodeType":"ParameterList","parameters":[],"src":"10202:0:121"},"scope":69989,"src":"10132:71:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69514,"nodeType":"StructuredDocumentation","src":"10207:165:121","text":" @dev Set the app admin.\n @param appId the id of the app\n @param admin the address of the admin\n Emits a {AppAdminUpdated} event."},"functionSelector":"833d29b4","id":69521,"implemented":false,"kind":"function","modifiers":[],"name":"setAppAdmin","nameLocation":"10384:11:121","nodeType":"FunctionDefinition","parameters":{"id":69519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69516,"mutability":"mutable","name":"appId","nameLocation":"10404:5:121","nodeType":"VariableDeclaration","scope":69521,"src":"10396:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10396:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69518,"mutability":"mutable","name":"admin","nameLocation":"10419:5:121","nodeType":"VariableDeclaration","scope":69521,"src":"10411:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69517,"name":"address","nodeType":"ElementaryTypeName","src":"10411:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10395:30:121"},"returnParameters":{"id":69520,"nodeType":"ParameterList","parameters":[],"src":"10434:0:121"},"scope":69989,"src":"10375:60:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69522,"nodeType":"StructuredDocumentation","src":"10439:182:121","text":" @dev Add a new creator to the app.\n @param appId the id of the app\n @param creator the address of the creator\n Emits a {CreatorAddedToApp} event."},"functionSelector":"993f8d36","id":69529,"implemented":false,"kind":"function","modifiers":[],"name":"addCreator","nameLocation":"10633:10:121","nodeType":"FunctionDefinition","parameters":{"id":69527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69524,"mutability":"mutable","name":"appId","nameLocation":"10652:5:121","nodeType":"VariableDeclaration","scope":69529,"src":"10644:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10644:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69526,"mutability":"mutable","name":"creator","nameLocation":"10667:7:121","nodeType":"VariableDeclaration","scope":69529,"src":"10659:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69525,"name":"address","nodeType":"ElementaryTypeName","src":"10659:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10643:32:121"},"returnParameters":{"id":69528,"nodeType":"ParameterList","parameters":[],"src":"10684:0:121"},"scope":69989,"src":"10624:61:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69530,"nodeType":"StructuredDocumentation","src":"10689:129:121","text":" @dev Check if a creator has already been used for another app.\n @param creator the address of the creator"},"functionSelector":"bcbd410c","id":69537,"implemented":false,"kind":"function","modifiers":[],"name":"isCreatorOfAnyApp","nameLocation":"10830:17:121","nodeType":"FunctionDefinition","parameters":{"id":69533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69532,"mutability":"mutable","name":"creator","nameLocation":"10856:7:121","nodeType":"VariableDeclaration","scope":69537,"src":"10848:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69531,"name":"address","nodeType":"ElementaryTypeName","src":"10848:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10847:17:121"},"returnParameters":{"id":69536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69535,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69537,"src":"10883:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69534,"name":"bool","nodeType":"ElementaryTypeName","src":"10883:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10882:6:121"},"scope":69989,"src":"10821:68:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69538,"nodeType":"StructuredDocumentation","src":"10893:187:121","text":" @dev Remove a creator from the app.\n @param appId the id of the app\n @param creator the address of the creator\n Emits a {CreatorRemovedFromApp} event."},"functionSelector":"9fa949ad","id":69545,"implemented":false,"kind":"function","modifiers":[],"name":"removeAppCreator","nameLocation":"11092:16:121","nodeType":"FunctionDefinition","parameters":{"id":69543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69540,"mutability":"mutable","name":"appId","nameLocation":"11117:5:121","nodeType":"VariableDeclaration","scope":69545,"src":"11109:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11109:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69542,"mutability":"mutable","name":"creator","nameLocation":"11132:7:121","nodeType":"VariableDeclaration","scope":69545,"src":"11124:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69541,"name":"address","nodeType":"ElementaryTypeName","src":"11124:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11108:32:121"},"returnParameters":{"id":69544,"nodeType":"ParameterList","parameters":[],"src":"11149:0:121"},"scope":69989,"src":"11083:67:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69546,"nodeType":"StructuredDocumentation","src":"11154:88:121","text":" @dev Get the creators of an app.\n @param appId the id of the app"},"functionSelector":"b747e2e9","id":69554,"implemented":false,"kind":"function","modifiers":[],"name":"appCreators","nameLocation":"11254:11:121","nodeType":"FunctionDefinition","parameters":{"id":69549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69548,"mutability":"mutable","name":"appId","nameLocation":"11274:5:121","nodeType":"VariableDeclaration","scope":69554,"src":"11266:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11266:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11265:15:121"},"returnParameters":{"id":69553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69554,"src":"11304:16:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69550,"name":"address","nodeType":"ElementaryTypeName","src":"11304:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69551,"nodeType":"ArrayTypeName","src":"11304:9:121","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11303:18:121"},"scope":69989,"src":"11245:77:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69555,"nodeType":"StructuredDocumentation","src":"11326:117:121","text":" @dev Get the number of apps created by an account.\n @param creator the address of the creator"},"functionSelector":"6912f1f6","id":69562,"implemented":false,"kind":"function","modifiers":[],"name":"creatorApps","nameLocation":"11455:11:121","nodeType":"FunctionDefinition","parameters":{"id":69558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69557,"mutability":"mutable","name":"creator","nameLocation":"11475:7:121","nodeType":"VariableDeclaration","scope":69562,"src":"11467:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69556,"name":"address","nodeType":"ElementaryTypeName","src":"11467:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11466:17:121"},"returnParameters":{"id":69561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69562,"src":"11507:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69559,"name":"uint256","nodeType":"ElementaryTypeName","src":"11507:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11506:9:121"},"scope":69989,"src":"11446:70:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69563,"nodeType":"StructuredDocumentation","src":"11520:79:121","text":" @dev Get the app admin.\n @param appId the id of the app"},"functionSelector":"2c35f428","id":69570,"implemented":false,"kind":"function","modifiers":[],"name":"appAdmin","nameLocation":"11611:8:121","nodeType":"FunctionDefinition","parameters":{"id":69566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69565,"mutability":"mutable","name":"appId","nameLocation":"11628:5:121","nodeType":"VariableDeclaration","scope":69570,"src":"11620:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69564,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11620:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11619:15:121"},"returnParameters":{"id":69569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69568,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69570,"src":"11658:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69567,"name":"address","nodeType":"ElementaryTypeName","src":"11658:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11657:9:121"},"scope":69989,"src":"11602:65:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69571,"nodeType":"StructuredDocumentation","src":"11671:160:121","text":" @dev Check if an account is the admin of the app\n @param appId the hashed name of the app\n @param account the address of the account"},"functionSelector":"8e3a29dc","id":69580,"implemented":false,"kind":"function","modifiers":[],"name":"isAppAdmin","nameLocation":"11843:10:121","nodeType":"FunctionDefinition","parameters":{"id":69576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69573,"mutability":"mutable","name":"appId","nameLocation":"11862:5:121","nodeType":"VariableDeclaration","scope":69580,"src":"11854:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11854:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69575,"mutability":"mutable","name":"account","nameLocation":"11877:7:121","nodeType":"VariableDeclaration","scope":69580,"src":"11869:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69574,"name":"address","nodeType":"ElementaryTypeName","src":"11869:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11853:32:121"},"returnParameters":{"id":69579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69580,"src":"11909:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69577,"name":"bool","nodeType":"ElementaryTypeName","src":"11909:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11908:6:121"},"scope":69989,"src":"11834:81:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69581,"nodeType":"StructuredDocumentation","src":"11919:274:121","text":" @dev Update the address where the x2earn app receives allocation funds.\n @param appId the id of the app\n @param newTeamWalletAddress the new address where the app should receive allocation funds\n Emits a {TeamWalletAddressUpdated} event."},"functionSelector":"6165267c","id":69588,"implemented":false,"kind":"function","modifiers":[],"name":"updateTeamWalletAddress","nameLocation":"12205:23:121","nodeType":"FunctionDefinition","parameters":{"id":69586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69583,"mutability":"mutable","name":"appId","nameLocation":"12237:5:121","nodeType":"VariableDeclaration","scope":69588,"src":"12229:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69582,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12229:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69585,"mutability":"mutable","name":"newTeamWalletAddress","nameLocation":"12252:20:121","nodeType":"VariableDeclaration","scope":69588,"src":"12244:28:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69584,"name":"address","nodeType":"ElementaryTypeName","src":"12244:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12228:45:121"},"returnParameters":{"id":69587,"nodeType":"ParameterList","parameters":[],"src":"12282:0:121"},"scope":69989,"src":"12196:87:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69589,"nodeType":"StructuredDocumentation","src":"12287:124:121","text":" @dev Get the address where the x2earn app receives allocation funds.\n @param appId the id of the app"},"functionSelector":"1772503b","id":69596,"implemented":false,"kind":"function","modifiers":[],"name":"teamWalletAddress","nameLocation":"12423:17:121","nodeType":"FunctionDefinition","parameters":{"id":69592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69591,"mutability":"mutable","name":"appId","nameLocation":"12449:5:121","nodeType":"VariableDeclaration","scope":69596,"src":"12441:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12441:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12440:15:121"},"returnParameters":{"id":69595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69596,"src":"12479:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69593,"name":"address","nodeType":"ElementaryTypeName","src":"12479:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12478:9:121"},"scope":69989,"src":"12414:74:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69597,"nodeType":"StructuredDocumentation","src":"12492:139:121","text":" @dev Function to get the percentage of the allocation sent to the team address each round.\n @param appId the app id"},"functionSelector":"826b9a4e","id":69604,"implemented":false,"kind":"function","modifiers":[],"name":"teamAllocationPercentage","nameLocation":"12643:24:121","nodeType":"FunctionDefinition","parameters":{"id":69600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69599,"mutability":"mutable","name":"appId","nameLocation":"12676:5:121","nodeType":"VariableDeclaration","scope":69604,"src":"12668:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12668:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12667:15:121"},"returnParameters":{"id":69603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69602,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69604,"src":"12706:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69601,"name":"uint256","nodeType":"ElementaryTypeName","src":"12706:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12705:9:121"},"scope":69989,"src":"12634:81:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69605,"nodeType":"StructuredDocumentation","src":"12719:176:121","text":" @dev Update the allocation percentage to be sent to the team\n @param appId the id of the app\n @param percentage the new percentage of the allocation"},"functionSelector":"54933bf0","id":69612,"implemented":false,"kind":"function","modifiers":[],"name":"setTeamAllocationPercentage","nameLocation":"12907:27:121","nodeType":"FunctionDefinition","parameters":{"id":69610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69607,"mutability":"mutable","name":"appId","nameLocation":"12943:5:121","nodeType":"VariableDeclaration","scope":69612,"src":"12935:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12935:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69609,"mutability":"mutable","name":"percentage","nameLocation":"12958:10:121","nodeType":"VariableDeclaration","scope":69612,"src":"12950:18:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69608,"name":"uint256","nodeType":"ElementaryTypeName","src":"12950:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12934:35:121"},"returnParameters":{"id":69611,"nodeType":"ParameterList","parameters":[],"src":"12978:0:121"},"scope":69989,"src":"12898:81:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69613,"nodeType":"StructuredDocumentation","src":"12983:225:121","text":" @dev Add a new reward distributor to the app.\n @param appId the id of the app\n @param distributorAddress the address of the reward distributor\n Emits a {RewardDistributorAddedToApp} event."},"functionSelector":"83802165","id":69620,"implemented":false,"kind":"function","modifiers":[],"name":"addRewardDistributor","nameLocation":"13220:20:121","nodeType":"FunctionDefinition","parameters":{"id":69618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69615,"mutability":"mutable","name":"appId","nameLocation":"13249:5:121","nodeType":"VariableDeclaration","scope":69620,"src":"13241:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13241:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69617,"mutability":"mutable","name":"distributorAddress","nameLocation":"13264:18:121","nodeType":"VariableDeclaration","scope":69620,"src":"13256:26:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69616,"name":"address","nodeType":"ElementaryTypeName","src":"13256:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13240:43:121"},"returnParameters":{"id":69619,"nodeType":"ParameterList","parameters":[],"src":"13292:0:121"},"scope":69989,"src":"13211:82:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69621,"nodeType":"StructuredDocumentation","src":"13297:230:121","text":" @dev Remove a reward distributor from the app.\n @param appId the id of the app\n @param distributorAddress the address of the reward distributor\n Emits a {RewardDistributorRemovedFromApp} event."},"functionSelector":"a06bb129","id":69628,"implemented":false,"kind":"function","modifiers":[],"name":"removeRewardDistributor","nameLocation":"13539:23:121","nodeType":"FunctionDefinition","parameters":{"id":69626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69623,"mutability":"mutable","name":"appId","nameLocation":"13571:5:121","nodeType":"VariableDeclaration","scope":69628,"src":"13563:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13563:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69625,"mutability":"mutable","name":"distributorAddress","nameLocation":"13586:18:121","nodeType":"VariableDeclaration","scope":69628,"src":"13578:26:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69624,"name":"address","nodeType":"ElementaryTypeName","src":"13578:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13562:43:121"},"returnParameters":{"id":69627,"nodeType":"ParameterList","parameters":[],"src":"13614:0:121"},"scope":69989,"src":"13530:85:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69629,"nodeType":"StructuredDocumentation","src":"13619:180:121","text":" @dev Returns true if an account is a reward distributor of the app\n @param appId the id of the app\n @param distributorAddress the address of the account"},"functionSelector":"b58a7547","id":69638,"implemented":false,"kind":"function","modifiers":[],"name":"isRewardDistributor","nameLocation":"13811:19:121","nodeType":"FunctionDefinition","parameters":{"id":69634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69631,"mutability":"mutable","name":"appId","nameLocation":"13839:5:121","nodeType":"VariableDeclaration","scope":69638,"src":"13831:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13831:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69633,"mutability":"mutable","name":"distributorAddress","nameLocation":"13854:18:121","nodeType":"VariableDeclaration","scope":69638,"src":"13846:26:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69632,"name":"address","nodeType":"ElementaryTypeName","src":"13846:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13830:43:121"},"returnParameters":{"id":69637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69638,"src":"13897:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69635,"name":"bool","nodeType":"ElementaryTypeName","src":"13897:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13896:6:121"},"scope":69989,"src":"13802:101:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69639,"nodeType":"StructuredDocumentation","src":"13907:99:121","text":" @dev Enable the rewards pool for a new app.\n @param appId the id of the app"},"functionSelector":"1a25071f","id":69644,"implemented":false,"kind":"function","modifiers":[],"name":"enableRewardsPoolForNewApp","nameLocation":"14018:26:121","nodeType":"FunctionDefinition","parameters":{"id":69642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69641,"mutability":"mutable","name":"appId","nameLocation":"14053:5:121","nodeType":"VariableDeclaration","scope":69644,"src":"14045:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14045:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14044:15:121"},"returnParameters":{"id":69643,"nodeType":"ParameterList","parameters":[],"src":"14068:0:121"},"scope":69989,"src":"14009:60:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69645,"nodeType":"StructuredDocumentation","src":"14073:669:121","text":" @notice Checks endorsements for a given app and updates its voting eligibility based on the endorsements' scores.\n @dev This function is intended to be called by a cron job prior to the start of each voting round.\n If the app has less than 100 points, the grace period elasped is checked.\n If the grace period elapsed by the app is greater than the threshold grace period, the app is marked as not eligible for voting.\n If an endorser has lost its node status (level 0), it is removed from the endorsers list.\n @param appId The unique identifier of the app being checked.\n @return True if the app is eligible for voting."},"functionSelector":"a099a192","id":69652,"implemented":false,"kind":"function","modifiers":[],"name":"checkEndorsement","nameLocation":"14754:16:121","nodeType":"FunctionDefinition","parameters":{"id":69648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69647,"mutability":"mutable","name":"appId","nameLocation":"14779:5:121","nodeType":"VariableDeclaration","scope":69652,"src":"14771:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14771:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14770:15:121"},"returnParameters":{"id":69651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69650,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69652,"src":"14804:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69649,"name":"bool","nodeType":"ElementaryTypeName","src":"14804:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14803:6:121"},"scope":69989,"src":"14745:65:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69653,"nodeType":"StructuredDocumentation","src":"14814:234:121","text":" @dev Update the metadata URI of the app.\n @param appId the id of the app\n @param metadataURI the new metadata URI of the app containing details about the app\n Emits a {AppMetadataURIUpdated} event."},"functionSelector":"e9a1fee4","id":69660,"implemented":false,"kind":"function","modifiers":[],"name":"updateAppMetadata","nameLocation":"15060:17:121","nodeType":"FunctionDefinition","parameters":{"id":69658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69655,"mutability":"mutable","name":"appId","nameLocation":"15086:5:121","nodeType":"VariableDeclaration","scope":69660,"src":"15078:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15078:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69657,"mutability":"mutable","name":"metadataURI","nameLocation":"15107:11:121","nodeType":"VariableDeclaration","scope":69660,"src":"15093:25:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69656,"name":"string","nodeType":"ElementaryTypeName","src":"15093:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15077:42:121"},"returnParameters":{"id":69659,"nodeType":"ParameterList","parameters":[],"src":"15128:0:121"},"scope":69989,"src":"15051:78:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69661,"nodeType":"StructuredDocumentation","src":"15133:318:121","text":" @dev Check if there is an app with the specified `appId`.\n @dev This function should be used to check if an app exists is part of the VeBetter DAO ecosystem.\n @notice An app is considered to exist if it has been included in at least one allocation round.\n @param appId the id of the app"},"functionSelector":"607bfb24","id":69668,"implemented":false,"kind":"function","modifiers":[],"name":"appExists","nameLocation":"15463:9:121","nodeType":"FunctionDefinition","parameters":{"id":69664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69663,"mutability":"mutable","name":"appId","nameLocation":"15481:5:121","nodeType":"VariableDeclaration","scope":69668,"src":"15473:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69662,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15473:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15472:15:121"},"returnParameters":{"id":69667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69668,"src":"15511:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69665,"name":"bool","nodeType":"ElementaryTypeName","src":"15511:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15510:6:121"},"scope":69989,"src":"15454:63:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69669,"nodeType":"StructuredDocumentation","src":"15521:92:121","text":" @dev Check if an app is blacklisted.\n @param appId the id of the app"},"functionSelector":"6b623bbe","id":69676,"implemented":false,"kind":"function","modifiers":[],"name":"isBlacklisted","nameLocation":"15625:13:121","nodeType":"FunctionDefinition","parameters":{"id":69672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69671,"mutability":"mutable","name":"appId","nameLocation":"15647:5:121","nodeType":"VariableDeclaration","scope":69676,"src":"15639:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15639:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15638:15:121"},"returnParameters":{"id":69675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69676,"src":"15677:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69673,"name":"bool","nodeType":"ElementaryTypeName","src":"15677:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15676:6:121"},"scope":69989,"src":"15616:67:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69677,"nodeType":"StructuredDocumentation","src":"15687:274:121","text":" @dev Allow or deny an app to participate in the next allocation voting rounds.\n @param _appId the id of the app\n @param _isEligible true if the app should be eligible for voting, false otherwise\n Emits a {VotingEligibilityUpdated} event."},"functionSelector":"0765ef60","id":69684,"implemented":false,"kind":"function","modifiers":[],"name":"setVotingEligibility","nameLocation":"15973:20:121","nodeType":"FunctionDefinition","parameters":{"id":69682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69679,"mutability":"mutable","name":"_appId","nameLocation":"16002:6:121","nodeType":"VariableDeclaration","scope":69684,"src":"15994:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15994:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69681,"mutability":"mutable","name":"_isEligible","nameLocation":"16015:11:121","nodeType":"VariableDeclaration","scope":69684,"src":"16010:16:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69680,"name":"bool","nodeType":"ElementaryTypeName","src":"16010:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15993:34:121"},"returnParameters":{"id":69683,"nodeType":"ParameterList","parameters":[],"src":"16036:0:121"},"scope":69989,"src":"15964:73:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69685,"nodeType":"StructuredDocumentation","src":"16041:99:121","text":" @dev Get all the app ids that are eligible for voting in the next allocation rounds."},"functionSelector":"c04cff19","id":69691,"implemented":false,"kind":"function","modifiers":[],"name":"allEligibleApps","nameLocation":"16152:15:121","nodeType":"FunctionDefinition","parameters":{"id":69686,"nodeType":"ParameterList","parameters":[],"src":"16167:2:121"},"returnParameters":{"id":69690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69689,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69691,"src":"16193:16:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":69687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16193:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":69688,"nodeType":"ArrayTypeName","src":"16193:9:121","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"16192:18:121"},"scope":69989,"src":"16143:68:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69692,"nodeType":"StructuredDocumentation","src":"16215:369:121","text":" @dev Check if an app was allowed to participate in the allocation rounds in a specific timepoint.\n XAllocationVoting contract can use this function to check if an app was eligible for voting in the block when the round starts.\n @param appId the id of the app\n @param timepoint the timepoint when the app should be checked for Eligibility"},"functionSelector":"d2570b94","id":69701,"implemented":false,"kind":"function","modifiers":[],"name":"isEligible","nameLocation":"16596:10:121","nodeType":"FunctionDefinition","parameters":{"id":69697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69694,"mutability":"mutable","name":"appId","nameLocation":"16615:5:121","nodeType":"VariableDeclaration","scope":69701,"src":"16607:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16607:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69696,"mutability":"mutable","name":"timepoint","nameLocation":"16630:9:121","nodeType":"VariableDeclaration","scope":69701,"src":"16622:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69695,"name":"uint256","nodeType":"ElementaryTypeName","src":"16622:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16606:34:121"},"returnParameters":{"id":69700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69699,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69701,"src":"16664:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69698,"name":"bool","nodeType":"ElementaryTypeName","src":"16664:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16663:6:121"},"scope":69989,"src":"16587:83:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69702,"nodeType":"StructuredDocumentation","src":"16674:56:121","text":" @dev return the base URI for the contract"},"functionSelector":"6c0360eb","id":69707,"implemented":false,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"16742:7:121","nodeType":"FunctionDefinition","parameters":{"id":69703,"nodeType":"ParameterList","parameters":[],"src":"16749:2:121"},"returnParameters":{"id":69706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69705,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69707,"src":"16775:13:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69704,"name":"string","nodeType":"ElementaryTypeName","src":"16775:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16774:15:121"},"scope":69989,"src":"16733:57:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69708,"nodeType":"StructuredDocumentation","src":"16794:113:121","text":" @dev return the grace period for an XApp to find new endorsers after the previous one was removed."},"functionSelector":"a06db7dc","id":69713,"implemented":false,"kind":"function","modifiers":[],"name":"gracePeriod","nameLocation":"16919:11:121","nodeType":"FunctionDefinition","parameters":{"id":69709,"nodeType":"ParameterList","parameters":[],"src":"16930:2:121"},"returnParameters":{"id":69712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69711,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69713,"src":"16956:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69710,"name":"uint256","nodeType":"ElementaryTypeName","src":"16956:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16955:9:121"},"scope":69989,"src":"16910:55:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69714,"nodeType":"StructuredDocumentation","src":"16969:69:121","text":" @dev return true if an app is pending for endorsement."},"functionSelector":"c7b24f30","id":69721,"implemented":false,"kind":"function","modifiers":[],"name":"isAppUnendorsed","nameLocation":"17050:15:121","nodeType":"FunctionDefinition","parameters":{"id":69717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69716,"mutability":"mutable","name":"appId","nameLocation":"17074:5:121","nodeType":"VariableDeclaration","scope":69721,"src":"17066:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69715,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17066:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17065:15:121"},"returnParameters":{"id":69720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69721,"src":"17104:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69718,"name":"bool","nodeType":"ElementaryTypeName","src":"17104:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17103:6:121"},"scope":69989,"src":"17041:69:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69722,"nodeType":"StructuredDocumentation","src":"17114:147:121","text":" @notice Gets the ids of all apps that are looking for endorsement.\n @return the ids of the apps that are pending for endorsement"},"functionSelector":"d6418b8a","id":69728,"implemented":false,"kind":"function","modifiers":[],"name":"unendorsedAppIds","nameLocation":"17273:16:121","nodeType":"FunctionDefinition","parameters":{"id":69723,"nodeType":"ParameterList","parameters":[],"src":"17289:2:121"},"returnParameters":{"id":69727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69728,"src":"17315:16:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":69724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17315:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":69725,"nodeType":"ArrayTypeName","src":"17315:9:121","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"17314:18:121"},"scope":69989,"src":"17264:69:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69729,"nodeType":"StructuredDocumentation","src":"17337:169:121","text":" @notice Gets the information about all apps that are looking for endorsement.\n @return the information about the apps that are pending for endorsement"},"functionSelector":"03bc087f","id":69736,"implemented":false,"kind":"function","modifiers":[],"name":"unendorsedApps","nameLocation":"17518:14:121","nodeType":"FunctionDefinition","parameters":{"id":69730,"nodeType":"ParameterList","parameters":[],"src":"17532:2:121"},"returnParameters":{"id":69735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69734,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69736,"src":"17558:53:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":69732,"nodeType":"UserDefinedTypeName","pathNode":{"id":69731,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["17558:19:121","17578:24:121"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"17558:44:121"},"referencedDeclaration":71146,"src":"17558:44:121","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":69733,"nodeType":"ArrayTypeName","src":"17558:46:121","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"src":"17557:55:121"},"scope":69989,"src":"17509:104:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69737,"nodeType":"StructuredDocumentation","src":"17617:97:121","text":" @dev Get the endorsement score of an app.\n @param appId the id of the app"},"functionSelector":"7ba53285","id":69744,"implemented":false,"kind":"function","modifiers":[],"name":"getScore","nameLocation":"17726:8:121","nodeType":"FunctionDefinition","parameters":{"id":69740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69739,"mutability":"mutable","name":"appId","nameLocation":"17743:5:121","nodeType":"VariableDeclaration","scope":69744,"src":"17735:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17735:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17734:15:121"},"returnParameters":{"id":69743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69744,"src":"17768:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69741,"name":"uint256","nodeType":"ElementaryTypeName","src":"17768:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17767:9:121"},"scope":69989,"src":"17717:60:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69745,"nodeType":"StructuredDocumentation","src":"17781:251:121","text":" @notice Returns the endorsement score for an app at a specific block number.\n @param appId The unique identifier of the app.\n @param timepoint The block number to query.\n @return The endorsement score at the given timepoint."},"functionSelector":"9ab17c9b","id":69754,"implemented":false,"kind":"function","modifiers":[],"name":"getScoreAtTimepoint","nameLocation":"18044:19:121","nodeType":"FunctionDefinition","parameters":{"id":69750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69747,"mutability":"mutable","name":"appId","nameLocation":"18072:5:121","nodeType":"VariableDeclaration","scope":69754,"src":"18064:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18064:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69749,"mutability":"mutable","name":"timepoint","nameLocation":"18087:9:121","nodeType":"VariableDeclaration","scope":69754,"src":"18079:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69748,"name":"uint256","nodeType":"ElementaryTypeName","src":"18079:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18063:34:121"},"returnParameters":{"id":69753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69754,"src":"18121:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69751,"name":"uint256","nodeType":"ElementaryTypeName","src":"18121:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18120:9:121"},"scope":69989,"src":"18035:95:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69755,"nodeType":"StructuredDocumentation","src":"18134:89:121","text":" @dev Get the endorsers of an app.\n @param appId the id of the app"},"functionSelector":"44bb58f7","id":69763,"implemented":false,"kind":"function","modifiers":[],"name":"getEndorsers","nameLocation":"18235:12:121","nodeType":"FunctionDefinition","parameters":{"id":69758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69757,"mutability":"mutable","name":"appId","nameLocation":"18256:5:121","nodeType":"VariableDeclaration","scope":69763,"src":"18248:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18248:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18247:15:121"},"returnParameters":{"id":69762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69763,"src":"18286:16:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69759,"name":"address","nodeType":"ElementaryTypeName","src":"18286:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69760,"nodeType":"ArrayTypeName","src":"18286:9:121","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18285:18:121"},"scope":69989,"src":"18226:78:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69764,"nodeType":"StructuredDocumentation","src":"18308:60:121","text":" @notice Get all endorser node IDs for an app."},"functionSelector":"5cfdd470","id":69772,"implemented":false,"kind":"function","modifiers":[],"name":"getEndorserNodes","nameLocation":"18380:16:121","nodeType":"FunctionDefinition","parameters":{"id":69767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69766,"mutability":"mutable","name":"appId","nameLocation":"18405:5:121","nodeType":"VariableDeclaration","scope":69772,"src":"18397:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18397:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18396:15:121"},"returnParameters":{"id":69771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69772,"src":"18435:16:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":69768,"name":"uint256","nodeType":"ElementaryTypeName","src":"18435:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69769,"nodeType":"ArrayTypeName","src":"18435:9:121","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"18434:18:121"},"scope":69989,"src":"18371:82:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69773,"nodeType":"StructuredDocumentation","src":"18457:128:121","text":" @dev Get the endorsersment score of an individual.\n @param user the address of the user who holds a NODE"},"functionSelector":"c996c624","id":69780,"implemented":false,"kind":"function","modifiers":[],"name":"getUsersEndorsementScore","nameLocation":"18597:24:121","nodeType":"FunctionDefinition","parameters":{"id":69776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69775,"mutability":"mutable","name":"user","nameLocation":"18630:4:121","nodeType":"VariableDeclaration","scope":69780,"src":"18622:12:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69774,"name":"address","nodeType":"ElementaryTypeName","src":"18622:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18621:14:121"},"returnParameters":{"id":69779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69780,"src":"18659:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69777,"name":"uint256","nodeType":"ElementaryTypeName","src":"18659:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18658:9:121"},"scope":69989,"src":"18588:80:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69781,"nodeType":"StructuredDocumentation","src":"18672:103:121","text":" @dev Get the endorsersment score of a node ID.\n @param nodeId the ID of a node."},"functionSelector":"42c89f52","id":69788,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeEndorsementScore","nameLocation":"18787:23:121","nodeType":"FunctionDefinition","parameters":{"id":69784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69783,"mutability":"mutable","name":"nodeId","nameLocation":"18819:6:121","nodeType":"VariableDeclaration","scope":69788,"src":"18811:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69782,"name":"uint256","nodeType":"ElementaryTypeName","src":"18811:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18810:16:121"},"returnParameters":{"id":69787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69786,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69788,"src":"18850:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69785,"name":"uint256","nodeType":"ElementaryTypeName","src":"18850:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18849:9:121"},"scope":69989,"src":"18778:81:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69789,"nodeType":"StructuredDocumentation","src":"18863:144:121","text":" @notice Get the version of the contract.\n @dev This should be updated every time a new version of implementation is deployed."},"functionSelector":"54fd4d50","id":69794,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"19019:7:121","nodeType":"FunctionDefinition","parameters":{"id":69790,"nodeType":"ParameterList","parameters":[],"src":"19026:2:121"},"returnParameters":{"id":69793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69792,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69794,"src":"19052:13:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69791,"name":"string","nodeType":"ElementaryTypeName","src":"19052:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19051:15:121"},"scope":69989,"src":"19010:57:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69795,"nodeType":"StructuredDocumentation","src":"19071:312:121","text":" @dev Register a new app.\n @param _teamWalletAddress the address where the app will receive the allocation funds\n @param _admin the address of the admin\n @param _appName the name of the app\n @param _appMetadataURI the metadata URI of the app\n Emits a {AppAdded} event."},"functionSelector":"169efd47","id":69806,"implemented":false,"kind":"function","modifiers":[],"name":"submitApp","nameLocation":"19395:9:121","nodeType":"FunctionDefinition","parameters":{"id":69804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69797,"mutability":"mutable","name":"_teamWalletAddress","nameLocation":"19418:18:121","nodeType":"VariableDeclaration","scope":69806,"src":"19410:26:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69796,"name":"address","nodeType":"ElementaryTypeName","src":"19410:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69799,"mutability":"mutable","name":"_admin","nameLocation":"19450:6:121","nodeType":"VariableDeclaration","scope":69806,"src":"19442:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69798,"name":"address","nodeType":"ElementaryTypeName","src":"19442:7:121","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69801,"mutability":"mutable","name":"_appName","nameLocation":"19476:8:121","nodeType":"VariableDeclaration","scope":69806,"src":"19462:22:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69800,"name":"string","nodeType":"ElementaryTypeName","src":"19462:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":69803,"mutability":"mutable","name":"_appMetadataURI","nameLocation":"19504:15:121","nodeType":"VariableDeclaration","scope":69806,"src":"19490:29:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":69802,"name":"string","nodeType":"ElementaryTypeName","src":"19490:6:121","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19404:119:121"},"returnParameters":{"id":69805,"nodeType":"ParameterList","parameters":[],"src":"19532:0:121"},"scope":69989,"src":"19386:147:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69807,"nodeType":"StructuredDocumentation","src":"19537:195:121","text":" @dev Update the the endorsement scores of each node level.\n @param _nodeStrengthScores The node level scores to update.\n Emits a {NodeStrengthScoreUpdated} event."},"functionSelector":"0e1fb61a","id":69813,"implemented":false,"kind":"function","modifiers":[],"name":"updateNodeEndorsementScores","nameLocation":"19744:27:121","nodeType":"FunctionDefinition","parameters":{"id":69811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69810,"mutability":"mutable","name":"_nodeStrengthScores","nameLocation":"19817:19:121","nodeType":"VariableDeclaration","scope":69813,"src":"19772:64:121","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores"},"typeName":{"id":69809,"nodeType":"UserDefinedTypeName","pathNode":{"id":69808,"name":"EndorsementUtils.NodeStrengthScores","nameLocations":["19772:16:121","19789:18:121"],"nodeType":"IdentifierPath","referencedDeclaration":73281,"src":"19772:35:121"},"referencedDeclaration":73281,"src":"19772:35:121","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_storage_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores"}},"visibility":"internal"}],"src":"19771:66:121"},"returnParameters":{"id":69812,"nodeType":"ParameterList","parameters":[],"src":"19846:0:121"},"scope":69989,"src":"19735:112:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69814,"nodeType":"StructuredDocumentation","src":"19851:276:121","text":" @notice Update the endorsement score threshold\n @dev This should be minimum endorsement score required for an app to be eligible for voting.\n @param _scoreThreshold the new score threshold\n Emits a {EndorsementScoreThresholdUpdated} event."},"functionSelector":"4f77fe12","id":69819,"implemented":false,"kind":"function","modifiers":[],"name":"updateEndorsementScoreThreshold","nameLocation":"20140:31:121","nodeType":"FunctionDefinition","parameters":{"id":69817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69816,"mutability":"mutable","name":"_scoreThreshold","nameLocation":"20180:15:121","nodeType":"VariableDeclaration","scope":69819,"src":"20172:23:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69815,"name":"uint256","nodeType":"ElementaryTypeName","src":"20172:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20171:25:121"},"returnParameters":{"id":69818,"nodeType":"ParameterList","parameters":[],"src":"20205:0:121"},"scope":69989,"src":"20131:75:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69820,"nodeType":"StructuredDocumentation","src":"20210:375:121","text":" @notice This function can be called by an XAPP admin that wishes to remove an endorserment from a specific node ID\n @dev Can only be valled by DEFAULT_ADMIN or XAPP admin\n @param _appId The unique identifier of the app that wishes to be unendorsed.\n @param _nodeId The unique identifier of the node they wish to remove from their list of endorsers."},"functionSelector":"e123cd0c","id":69827,"implemented":false,"kind":"function","modifiers":[],"name":"removeNodeEndorsement","nameLocation":"20597:21:121","nodeType":"FunctionDefinition","parameters":{"id":69825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69822,"mutability":"mutable","name":"_appId","nameLocation":"20627:6:121","nodeType":"VariableDeclaration","scope":69827,"src":"20619:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20619:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69824,"mutability":"mutable","name":"_nodeId","nameLocation":"20643:7:121","nodeType":"VariableDeclaration","scope":69827,"src":"20635:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69823,"name":"uint256","nodeType":"ElementaryTypeName","src":"20635:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20618:33:121"},"returnParameters":{"id":69826,"nodeType":"ParameterList","parameters":[],"src":"20660:0:121"},"scope":69989,"src":"20588:73:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69828,"nodeType":"StructuredDocumentation","src":"20665:44:121","text":" @dev Get the score threshold."},"functionSelector":"f1a962ac","id":69833,"implemented":false,"kind":"function","modifiers":[],"name":"endorsementScoreThreshold","nameLocation":"20721:25:121","nodeType":"FunctionDefinition","parameters":{"id":69829,"nodeType":"ParameterList","parameters":[],"src":"20746:2:121"},"returnParameters":{"id":69832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69833,"src":"20772:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69830,"name":"uint256","nodeType":"ElementaryTypeName","src":"20772:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20771:9:121"},"scope":69989,"src":"20712:69:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69834,"nodeType":"StructuredDocumentation","src":"20785:47:121","text":" @dev Remove an XApps submission."},"functionSelector":"0ab12e14","id":69839,"implemented":false,"kind":"function","modifiers":[],"name":"removeXAppSubmission","nameLocation":"20844:20:121","nodeType":"FunctionDefinition","parameters":{"id":69837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69836,"mutability":"mutable","name":"_appId","nameLocation":"20873:6:121","nodeType":"VariableDeclaration","scope":69839,"src":"20865:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20865:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20864:16:121"},"returnParameters":{"id":69838,"nodeType":"ParameterList","parameters":[],"src":"20889:0:121"},"scope":69989,"src":"20835:55:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69840,"nodeType":"StructuredDocumentation","src":"20894:198:121","text":" @notice this function returns the endorsement score of a node level\n @param nodeLevel The strength level of the node.\n @return uint256 The endorsement score of the node level."},"functionSelector":"acdb9f05","id":69847,"implemented":false,"kind":"function","modifiers":[],"name":"nodeLevelEndorsementScore","nameLocation":"21104:25:121","nodeType":"FunctionDefinition","parameters":{"id":69843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69842,"mutability":"mutable","name":"nodeLevel","nameLocation":"21136:9:121","nodeType":"VariableDeclaration","scope":69847,"src":"21130:15:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":69841,"name":"uint8","nodeType":"ElementaryTypeName","src":"21130:5:121","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21129:17:121"},"returnParameters":{"id":69846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69847,"src":"21170:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69844,"name":"uint256","nodeType":"ElementaryTypeName","src":"21170:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21169:9:121"},"scope":69989,"src":"21095:84:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69848,"nodeType":"StructuredDocumentation","src":"21183:66:121","text":" @dev Get the cooldown period for a node in seconds."},"functionSelector":"04646a49","id":69853,"implemented":false,"kind":"function","modifiers":[],"name":"cooldownPeriod","nameLocation":"21261:14:121","nodeType":"FunctionDefinition","parameters":{"id":69849,"nodeType":"ParameterList","parameters":[],"src":"21275:2:121"},"returnParameters":{"id":69852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69853,"src":"21301:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69850,"name":"uint256","nodeType":"ElementaryTypeName","src":"21301:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21300:9:121"},"scope":69989,"src":"21252:58:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69854,"nodeType":"StructuredDocumentation","src":"21314:150:121","text":" @notice Function to update the grace period.\n @param _newGracePeriod The new grace period.\n Emits a {GracePeriodUpdated} event."},"functionSelector":"0bf4f68e","id":69859,"implemented":false,"kind":"function","modifiers":[],"name":"updateGracePeriod","nameLocation":"21476:17:121","nodeType":"FunctionDefinition","parameters":{"id":69857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69856,"mutability":"mutable","name":"_newGracePeriod","nameLocation":"21501:15:121","nodeType":"VariableDeclaration","scope":69859,"src":"21494:22:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":69855,"name":"uint48","nodeType":"ElementaryTypeName","src":"21494:6:121","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"21493:24:121"},"returnParameters":{"id":69858,"nodeType":"ParameterList","parameters":[],"src":"21526:0:121"},"scope":69989,"src":"21467:60:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69860,"nodeType":"StructuredDocumentation","src":"21531:162:121","text":" @notice Function to update the cooldown period.\n @param _newCooldownPeriod The new cooldown period.\n Emits a {CooldownPeriodUpdated} event."},"functionSelector":"861f6bfd","id":69865,"implemented":false,"kind":"function","modifiers":[],"name":"updateCooldownPeriod","nameLocation":"21705:20:121","nodeType":"FunctionDefinition","parameters":{"id":69863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69862,"mutability":"mutable","name":"_newCooldownPeriod","nameLocation":"21734:18:121","nodeType":"VariableDeclaration","scope":69865,"src":"21726:26:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69861,"name":"uint256","nodeType":"ElementaryTypeName","src":"21726:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21725:28:121"},"returnParameters":{"id":69864,"nodeType":"ParameterList","parameters":[],"src":"21762:0:121"},"scope":69989,"src":"21696:67:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69866,"nodeType":"StructuredDocumentation","src":"21822:197:121","text":" @notice Endorse an app with a specified number of points.\n @param appId The app to endorse.\n @param nodeId The node endorsing.\n @param points Number of points to endorse."},"functionSelector":"109eea01","id":69875,"implemented":false,"kind":"function","modifiers":[],"name":"endorseApp","nameLocation":"22031:10:121","nodeType":"FunctionDefinition","parameters":{"id":69873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69868,"mutability":"mutable","name":"appId","nameLocation":"22050:5:121","nodeType":"VariableDeclaration","scope":69875,"src":"22042:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22042:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69870,"mutability":"mutable","name":"nodeId","nameLocation":"22065:6:121","nodeType":"VariableDeclaration","scope":69875,"src":"22057:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69869,"name":"uint256","nodeType":"ElementaryTypeName","src":"22057:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69872,"mutability":"mutable","name":"points","nameLocation":"22081:6:121","nodeType":"VariableDeclaration","scope":69875,"src":"22073:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69871,"name":"uint256","nodeType":"ElementaryTypeName","src":"22073:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22041:47:121"},"returnParameters":{"id":69874,"nodeType":"ParameterList","parameters":[],"src":"22097:0:121"},"scope":69989,"src":"22022:76:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69876,"nodeType":"StructuredDocumentation","src":"22102:204:121","text":" @notice Unendorse an app by removing points.\n @param appId The app to unendorse.\n @param nodeId The node unendorsing.\n @param points Number of points to remove (0 = remove all)."},"functionSelector":"6939cec8","id":69885,"implemented":false,"kind":"function","modifiers":[],"name":"unendorseApp","nameLocation":"22318:12:121","nodeType":"FunctionDefinition","parameters":{"id":69883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69878,"mutability":"mutable","name":"appId","nameLocation":"22339:5:121","nodeType":"VariableDeclaration","scope":69885,"src":"22331:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22331:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69880,"mutability":"mutable","name":"nodeId","nameLocation":"22354:6:121","nodeType":"VariableDeclaration","scope":69885,"src":"22346:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69879,"name":"uint256","nodeType":"ElementaryTypeName","src":"22346:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69882,"mutability":"mutable","name":"points","nameLocation":"22370:6:121","nodeType":"VariableDeclaration","scope":69885,"src":"22362:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69881,"name":"uint256","nodeType":"ElementaryTypeName","src":"22362:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22330:47:121"},"returnParameters":{"id":69884,"nodeType":"ParameterList","parameters":[],"src":"22386:0:121"},"scope":69989,"src":"22309:78:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69886,"nodeType":"StructuredDocumentation","src":"22391:52:121","text":" @notice Pause endorsement operations."},"functionSelector":"9294b7a4","id":69889,"implemented":false,"kind":"function","modifiers":[],"name":"pauseEndorsements","nameLocation":"22455:17:121","nodeType":"FunctionDefinition","parameters":{"id":69887,"nodeType":"ParameterList","parameters":[],"src":"22472:2:121"},"returnParameters":{"id":69888,"nodeType":"ParameterList","parameters":[],"src":"22483:0:121"},"scope":69989,"src":"22446:38:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69890,"nodeType":"StructuredDocumentation","src":"22488:54:121","text":" @notice Unpause endorsement operations."},"functionSelector":"1d6dbc78","id":69893,"implemented":false,"kind":"function","modifiers":[],"name":"unpauseEndorsements","nameLocation":"22554:19:121","nodeType":"FunctionDefinition","parameters":{"id":69891,"nodeType":"ParameterList","parameters":[],"src":"22573:2:121"},"returnParameters":{"id":69892,"nodeType":"ParameterList","parameters":[],"src":"22584:0:121"},"scope":69989,"src":"22545:40:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69894,"nodeType":"StructuredDocumentation","src":"22589:57:121","text":" @notice Seed endorsement during migration."},"functionSelector":"ee9419cf","id":69903,"implemented":false,"kind":"function","modifiers":[],"name":"seedEndorsement","nameLocation":"22658:15:121","nodeType":"FunctionDefinition","parameters":{"id":69901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69896,"mutability":"mutable","name":"appId","nameLocation":"22682:5:121","nodeType":"VariableDeclaration","scope":69903,"src":"22674:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22674:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69898,"mutability":"mutable","name":"nodeId","nameLocation":"22697:6:121","nodeType":"VariableDeclaration","scope":69903,"src":"22689:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69897,"name":"uint256","nodeType":"ElementaryTypeName","src":"22689:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69900,"mutability":"mutable","name":"points","nameLocation":"22713:6:121","nodeType":"VariableDeclaration","scope":69903,"src":"22705:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69899,"name":"uint256","nodeType":"ElementaryTypeName","src":"22705:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22673:47:121"},"returnParameters":{"id":69902,"nodeType":"ParameterList","parameters":[],"src":"22729:0:121"},"scope":69989,"src":"22649:81:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69904,"nodeType":"StructuredDocumentation","src":"22734:50:121","text":" @notice Mark migration as complete."},"functionSelector":"c296b1d2","id":69907,"implemented":false,"kind":"function","modifiers":[],"name":"markMigrationComplete","nameLocation":"22796:21:121","nodeType":"FunctionDefinition","parameters":{"id":69905,"nodeType":"ParameterList","parameters":[],"src":"22817:2:121"},"returnParameters":{"id":69906,"nodeType":"ParameterList","parameters":[],"src":"22828:0:121"},"scope":69989,"src":"22787:42:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69908,"nodeType":"StructuredDocumentation","src":"22833:55:121","text":" @notice Set max points per node per app."},"functionSelector":"6fb44f5f","id":69913,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxPointsPerNodePerApp","nameLocation":"22900:25:121","nodeType":"FunctionDefinition","parameters":{"id":69911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69910,"mutability":"mutable","name":"maxPoints","nameLocation":"22934:9:121","nodeType":"VariableDeclaration","scope":69913,"src":"22926:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69909,"name":"uint256","nodeType":"ElementaryTypeName","src":"22926:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22925:19:121"},"returnParameters":{"id":69912,"nodeType":"ParameterList","parameters":[],"src":"22953:0:121"},"scope":69989,"src":"22891:63:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69914,"nodeType":"StructuredDocumentation","src":"22958:52:121","text":" @notice Set max total points per app."},"functionSelector":"51d2a6e3","id":69919,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxPointsPerApp","nameLocation":"23022:18:121","nodeType":"FunctionDefinition","parameters":{"id":69917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69916,"mutability":"mutable","name":"maxPoints","nameLocation":"23049:9:121","nodeType":"VariableDeclaration","scope":69919,"src":"23041:17:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69915,"name":"uint256","nodeType":"ElementaryTypeName","src":"23041:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23040:19:121"},"returnParameters":{"id":69918,"nodeType":"ParameterList","parameters":[],"src":"23068:0:121"},"scope":69989,"src":"23013:56:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69920,"nodeType":"StructuredDocumentation","src":"23073:67:121","text":" @notice Get available endorsement points for a node."},"functionSelector":"e9f9739d","id":69927,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeAvailablePoints","nameLocation":"23152:22:121","nodeType":"FunctionDefinition","parameters":{"id":69923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69922,"mutability":"mutable","name":"nodeId","nameLocation":"23183:6:121","nodeType":"VariableDeclaration","scope":69927,"src":"23175:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69921,"name":"uint256","nodeType":"ElementaryTypeName","src":"23175:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23174:16:121"},"returnParameters":{"id":69926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69927,"src":"23214:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69924,"name":"uint256","nodeType":"ElementaryTypeName","src":"23214:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23213:9:121"},"scope":69989,"src":"23143:80:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69928,"nodeType":"StructuredDocumentation","src":"23227:80:121","text":" @notice Get comprehensive info about a node's endorsement points."},"functionSelector":"5dd3a4f1","id":69936,"implemented":false,"kind":"function","modifiers":[],"name":"getNodePointsInfo","nameLocation":"23319:17:121","nodeType":"FunctionDefinition","parameters":{"id":69931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69930,"mutability":"mutable","name":"nodeId","nameLocation":"23345:6:121","nodeType":"VariableDeclaration","scope":69936,"src":"23337:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69929,"name":"uint256","nodeType":"ElementaryTypeName","src":"23337:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23336:16:121"},"returnParameters":{"id":69935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69934,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69936,"src":"23376:44:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo"},"typeName":{"id":69933,"nodeType":"UserDefinedTypeName","pathNode":{"id":69932,"name":"X2EarnAppsStorageTypes.NodePointsInfo","nameLocations":["23376:22:121","23399:14:121"],"nodeType":"IdentifierPath","referencedDeclaration":76653,"src":"23376:37:121"},"referencedDeclaration":76653,"src":"23376:37:121","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo"}},"visibility":"internal"}],"src":"23375:46:121"},"scope":69989,"src":"23310:112:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69937,"nodeType":"StructuredDocumentation","src":"23426:62:121","text":" @notice Get all active endorsements for a node."},"functionSelector":"44532be2","id":69946,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeActiveEndorsements","nameLocation":"23500:25:121","nodeType":"FunctionDefinition","parameters":{"id":69940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69939,"mutability":"mutable","name":"nodeId","nameLocation":"23539:6:121","nodeType":"VariableDeclaration","scope":69946,"src":"23531:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69938,"name":"uint256","nodeType":"ElementaryTypeName","src":"23531:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23525:24:121"},"returnParameters":{"id":69945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69944,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69946,"src":"23573:43:121","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":69942,"nodeType":"UserDefinedTypeName","pathNode":{"id":69941,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["23573:22:121","23596:11:121"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"23573:34:121"},"referencedDeclaration":76643,"src":"23573:34:121","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":69943,"nodeType":"ArrayTypeName","src":"23573:36:121","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"src":"23572:45:121"},"scope":69989,"src":"23491:127:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69947,"nodeType":"StructuredDocumentation","src":"23622:77:121","text":" @notice Check if node can unendorse an app (cooldown expired)."},"functionSelector":"ccd4baca","id":69956,"implemented":false,"kind":"function","modifiers":[],"name":"canUnendorse","nameLocation":"23711:12:121","nodeType":"FunctionDefinition","parameters":{"id":69952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69949,"mutability":"mutable","name":"nodeId","nameLocation":"23732:6:121","nodeType":"VariableDeclaration","scope":69956,"src":"23724:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69948,"name":"uint256","nodeType":"ElementaryTypeName","src":"23724:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69951,"mutability":"mutable","name":"appId","nameLocation":"23748:5:121","nodeType":"VariableDeclaration","scope":69956,"src":"23740:13:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69950,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23740:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"23723:31:121"},"returnParameters":{"id":69955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69954,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69956,"src":"23778:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69953,"name":"bool","nodeType":"ElementaryTypeName","src":"23778:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23777:6:121"},"scope":69989,"src":"23702:82:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69957,"nodeType":"StructuredDocumentation","src":"23788:55:121","text":" @notice Get max points per node per app."},"functionSelector":"4a0c4a42","id":69962,"implemented":false,"kind":"function","modifiers":[],"name":"maxPointsPerNodePerApp","nameLocation":"23855:22:121","nodeType":"FunctionDefinition","parameters":{"id":69958,"nodeType":"ParameterList","parameters":[],"src":"23877:2:121"},"returnParameters":{"id":69961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69962,"src":"23903:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69959,"name":"uint256","nodeType":"ElementaryTypeName","src":"23903:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23902:9:121"},"scope":69989,"src":"23846:66:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69963,"nodeType":"StructuredDocumentation","src":"23916:46:121","text":" @notice Get max points per app."},"functionSelector":"5cbc2ffb","id":69968,"implemented":false,"kind":"function","modifiers":[],"name":"maxPointsPerApp","nameLocation":"23974:15:121","nodeType":"FunctionDefinition","parameters":{"id":69964,"nodeType":"ParameterList","parameters":[],"src":"23989:2:121"},"returnParameters":{"id":69967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69968,"src":"24015:7:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69965,"name":"uint256","nodeType":"ElementaryTypeName","src":"24015:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24014:9:121"},"scope":69989,"src":"23965:59:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69969,"nodeType":"StructuredDocumentation","src":"24028:56:121","text":" @notice Check if endorsements are paused."},"functionSelector":"b90a30ea","id":69974,"implemented":false,"kind":"function","modifiers":[],"name":"endorsementsPaused","nameLocation":"24096:18:121","nodeType":"FunctionDefinition","parameters":{"id":69970,"nodeType":"ParameterList","parameters":[],"src":"24114:2:121"},"returnParameters":{"id":69973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69972,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69974,"src":"24140:4:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69971,"name":"bool","nodeType":"ElementaryTypeName","src":"24140:4:121","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24139:6:121"},"scope":69989,"src":"24087:59:121","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":69975,"nodeType":"StructuredDocumentation","src":"24150:70:121","text":" @notice V8 initializer for flexible endorsement config."},"functionSelector":"27d91b0e","id":69982,"implemented":false,"kind":"function","modifiers":[],"name":"initializeV8","nameLocation":"24232:12:121","nodeType":"FunctionDefinition","parameters":{"id":69980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69977,"mutability":"mutable","name":"_maxPointsPerNodePerApp","nameLocation":"24253:23:121","nodeType":"VariableDeclaration","scope":69982,"src":"24245:31:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69976,"name":"uint256","nodeType":"ElementaryTypeName","src":"24245:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69979,"mutability":"mutable","name":"_maxPointsPerApp","nameLocation":"24286:16:121","nodeType":"VariableDeclaration","scope":69982,"src":"24278:24:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69978,"name":"uint256","nodeType":"ElementaryTypeName","src":"24278:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24244:59:121"},"returnParameters":{"id":69981,"nodeType":"ParameterList","parameters":[],"src":"24312:0:121"},"scope":69989,"src":"24223:90:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":69983,"nodeType":"StructuredDocumentation","src":"24317:238:121","text":" @notice Allows an app admin to voluntarily blacklist their app from allocation voting.\n @dev Blacklists the app and revokes creator NFTs. Only governance can restore.\n @param _appId The unique identifier of the app."},"functionSelector":"76cd2fa5","id":69988,"implemented":false,"kind":"function","modifiers":[],"name":"selfBlacklistApp","nameLocation":"24567:16:121","nodeType":"FunctionDefinition","parameters":{"id":69986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69985,"mutability":"mutable","name":"_appId","nameLocation":"24592:6:121","nodeType":"VariableDeclaration","scope":69988,"src":"24584:14:121","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69984,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24584:7:121","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"24583:16:121"},"returnParameters":{"id":69987,"nodeType":"ParameterList","parameters":[],"src":"24608:0:121"},"scope":69989,"src":"24558:51:121","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":69990,"src":"802:23809:121","usedErrors":[69112,69117,69124,69129,69132,69135,69138,69143,69148,69151,69156,69161,69166,69171,69176,69179,69184,69191,69196,69203,69210,69215,69220,69225,69230,69233,69236,69243,69252,69261,69270,69273],"usedEvents":[69284,69291,69298,69305,69312,69319,69326,69333,69340,69347,69356,69365,69374,69381,69388,69395,69402,69411,69420,69431,69440,69445,69452,69459,69466,69472]}],"src":"32:24580:121"},"id":121},"contracts/interfaces/IX2EarnCreator.sol":{"ast":{"absolutePath":"contracts/interfaces/IX2EarnCreator.sol","exportedSymbols":{"IX2EarnCreator":[70102]},"id":70103,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":69991,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:122"},{"abstract":false,"baseContracts":[],"canonicalName":"IX2EarnCreator","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":70102,"linearizedBaseContracts":[70102],"name":"IX2EarnCreator","nameLocation":"67:14:122","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":69992,"nodeType":"StructuredDocumentation","src":"142:130:122","text":"@notice Grants a role to an account\n @param role The role to assign\n @param account The account to grant the role to"},"functionSelector":"2f2ff15d","id":69999,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"284:9:122","nodeType":"FunctionDefinition","parameters":{"id":69997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69994,"mutability":"mutable","name":"role","nameLocation":"302:4:122","nodeType":"VariableDeclaration","scope":69999,"src":"294:12:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69993,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294:7:122","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69996,"mutability":"mutable","name":"account","nameLocation":"316:7:122","nodeType":"VariableDeclaration","scope":69999,"src":"308:15:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69995,"name":"address","nodeType":"ElementaryTypeName","src":"308:7:122","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"293:31:122"},"returnParameters":{"id":69998,"nodeType":"ParameterList","parameters":[],"src":"333:0:122"},"scope":70102,"src":"275:59:122","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70000,"nodeType":"StructuredDocumentation","src":"338:136:122","text":"@notice Revokes a role from an account\n @param role The role to revoke\n @param account The account to revoke the role from"},"functionSelector":"d547741f","id":70007,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"486:10:122","nodeType":"FunctionDefinition","parameters":{"id":70005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70002,"mutability":"mutable","name":"role","nameLocation":"505:4:122","nodeType":"VariableDeclaration","scope":70007,"src":"497:12:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"497:7:122","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70004,"mutability":"mutable","name":"account","nameLocation":"519:7:122","nodeType":"VariableDeclaration","scope":70007,"src":"511:15:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70003,"name":"address","nodeType":"ElementaryTypeName","src":"511:7:122","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"496:31:122"},"returnParameters":{"id":70006,"nodeType":"ParameterList","parameters":[],"src":"536:0:122"},"scope":70102,"src":"477:60:122","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70008,"nodeType":"StructuredDocumentation","src":"541:193:122","text":"@notice Checks if an account has a specific role\n @param role The role identifier\n @param account The account to check\n @return Boolean indicating if the account has the role"},"functionSelector":"91d14854","id":70017,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"746:7:122","nodeType":"FunctionDefinition","parameters":{"id":70013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70010,"mutability":"mutable","name":"role","nameLocation":"762:4:122","nodeType":"VariableDeclaration","scope":70017,"src":"754:12:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70009,"name":"bytes32","nodeType":"ElementaryTypeName","src":"754:7:122","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70012,"mutability":"mutable","name":"account","nameLocation":"776:7:122","nodeType":"VariableDeclaration","scope":70017,"src":"768:15:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70011,"name":"address","nodeType":"ElementaryTypeName","src":"768:7:122","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"753:31:122"},"returnParameters":{"id":70016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70015,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70017,"src":"808:4:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70014,"name":"bool","nodeType":"ElementaryTypeName","src":"808:4:122","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"807:6:122"},"scope":70102,"src":"737:77:122","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70018,"nodeType":"StructuredDocumentation","src":"875:103:122","text":"@notice Mints a new token to the specified address\n @param to The address to receive the token"},"functionSelector":"40d097c3","id":70023,"implemented":false,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"990:8:122","nodeType":"FunctionDefinition","parameters":{"id":70021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70020,"mutability":"mutable","name":"to","nameLocation":"1007:2:122","nodeType":"VariableDeclaration","scope":70023,"src":"999:10:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70019,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:122","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"998:12:122"},"returnParameters":{"id":70022,"nodeType":"ParameterList","parameters":[],"src":"1019:0:122"},"scope":70102,"src":"981:39:122","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70024,"nodeType":"StructuredDocumentation","src":"1024:90:122","text":"@notice Allows a user to mint a Creator NFT to themselves when self-minting is enabled"},"functionSelector":"e495d3e5","id":70027,"implemented":false,"kind":"function","modifiers":[],"name":"selfMint","nameLocation":"1126:8:122","nodeType":"FunctionDefinition","parameters":{"id":70025,"nodeType":"ParameterList","parameters":[],"src":"1134:2:122"},"returnParameters":{"id":70026,"nodeType":"ParameterList","parameters":[],"src":"1145:0:122"},"scope":70102,"src":"1117:29:122","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70028,"nodeType":"StructuredDocumentation","src":"1150:51:122","text":"@notice Returns whether self-minting is enabled"},"functionSelector":"e6e05f88","id":70033,"implemented":false,"kind":"function","modifiers":[],"name":"selfMintEnabled","nameLocation":"1213:15:122","nodeType":"FunctionDefinition","parameters":{"id":70029,"nodeType":"ParameterList","parameters":[],"src":"1228:2:122"},"returnParameters":{"id":70032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70033,"src":"1254:4:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70030,"name":"bool","nodeType":"ElementaryTypeName","src":"1254:4:122","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1253:6:122"},"scope":70102,"src":"1204:56:122","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70034,"nodeType":"StructuredDocumentation","src":"1264:114:122","text":"@notice Burns a specified token, removing it from circulation\n @param tokenId The ID of the token to burn"},"functionSelector":"42966c68","id":70039,"implemented":false,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1390:4:122","nodeType":"FunctionDefinition","parameters":{"id":70037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70036,"mutability":"mutable","name":"tokenId","nameLocation":"1403:7:122","nodeType":"VariableDeclaration","scope":70039,"src":"1395:15:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70035,"name":"uint256","nodeType":"ElementaryTypeName","src":"1395:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1394:17:122"},"returnParameters":{"id":70038,"nodeType":"ParameterList","parameters":[],"src":"1420:0:122"},"scope":70102,"src":"1381:40:122","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70040,"nodeType":"StructuredDocumentation","src":"1425:152:122","text":"@notice Retrieves the token URI for a given token ID\n @param tokenId The ID of the token\n @return The URI pointing to the token's metadata"},"functionSelector":"c87b56dd","id":70047,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"1589:8:122","nodeType":"FunctionDefinition","parameters":{"id":70043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70042,"mutability":"mutable","name":"tokenId","nameLocation":"1606:7:122","nodeType":"VariableDeclaration","scope":70047,"src":"1598:15:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70041,"name":"uint256","nodeType":"ElementaryTypeName","src":"1598:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1597:17:122"},"returnParameters":{"id":70046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70047,"src":"1638:13:122","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70044,"name":"string","nodeType":"ElementaryTypeName","src":"1638:6:122","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1637:15:122"},"scope":70102,"src":"1580:73:122","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70048,"nodeType":"StructuredDocumentation","src":"1716:52:122","text":"@notice Pauses all minting and burning functions"},"functionSelector":"8456cb59","id":70051,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"1780:5:122","nodeType":"FunctionDefinition","parameters":{"id":70049,"nodeType":"ParameterList","parameters":[],"src":"1785:2:122"},"returnParameters":{"id":70050,"nodeType":"ParameterList","parameters":[],"src":"1796:0:122"},"scope":70102,"src":"1771:26:122","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70052,"nodeType":"StructuredDocumentation","src":"1801:50:122","text":"@notice Unpauses minting and burning functions"},"functionSelector":"3f4ba83a","id":70055,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"1863:7:122","nodeType":"FunctionDefinition","parameters":{"id":70053,"nodeType":"ParameterList","parameters":[],"src":"1870:2:122"},"returnParameters":{"id":70054,"nodeType":"ParameterList","parameters":[],"src":"1881:0:122"},"scope":70102,"src":"1854:28:122","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70056,"nodeType":"StructuredDocumentation","src":"1886:114:122","text":"@notice Returns whether the contract is paused\n @return Boolean indicating whether the contract is paused"},"functionSelector":"5c975abb","id":70061,"implemented":false,"kind":"function","modifiers":[],"name":"paused","nameLocation":"2012:6:122","nodeType":"FunctionDefinition","parameters":{"id":70057,"nodeType":"ParameterList","parameters":[],"src":"2018:2:122"},"returnParameters":{"id":70060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70059,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70061,"src":"2044:4:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70058,"name":"bool","nodeType":"ElementaryTypeName","src":"2044:4:122","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2043:6:122"},"scope":70102,"src":"2003:47:122","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70062,"nodeType":"StructuredDocumentation","src":"2116:93:122","text":"@notice Gets the total number of tokens in existence\n @return Total supply of tokens"},"functionSelector":"18160ddd","id":70067,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"2221:11:122","nodeType":"FunctionDefinition","parameters":{"id":70063,"nodeType":"ParameterList","parameters":[],"src":"2232:2:122"},"returnParameters":{"id":70066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70067,"src":"2258:7:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70064,"name":"uint256","nodeType":"ElementaryTypeName","src":"2258:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2257:9:122"},"scope":70102,"src":"2212:55:122","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70068,"nodeType":"StructuredDocumentation","src":"2271:246:122","text":"@notice Gets the token ID owned by `owner` at a specific `index`\n @param owner Address owning the tokens\n @param index Index of the token in the owner's list of tokens\n @return Token ID owned by `owner` at the specified `index`"},"functionSelector":"2f745c59","id":70077,"implemented":false,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"2529:19:122","nodeType":"FunctionDefinition","parameters":{"id":70073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70070,"mutability":"mutable","name":"owner","nameLocation":"2557:5:122","nodeType":"VariableDeclaration","scope":70077,"src":"2549:13:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70069,"name":"address","nodeType":"ElementaryTypeName","src":"2549:7:122","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70072,"mutability":"mutable","name":"index","nameLocation":"2572:5:122","nodeType":"VariableDeclaration","scope":70077,"src":"2564:13:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70071,"name":"uint256","nodeType":"ElementaryTypeName","src":"2564:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2548:30:122"},"returnParameters":{"id":70076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70075,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70077,"src":"2602:7:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70074,"name":"uint256","nodeType":"ElementaryTypeName","src":"2602:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2601:9:122"},"scope":70102,"src":"2520:91:122","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70078,"nodeType":"StructuredDocumentation","src":"2615:164:122","text":"@notice Gets the token ID at a specific global `index`\n @param index Index of the token in the total supply\n @return Token ID at the specified `index`"},"functionSelector":"4f6ccce7","id":70085,"implemented":false,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"2791:12:122","nodeType":"FunctionDefinition","parameters":{"id":70081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70080,"mutability":"mutable","name":"index","nameLocation":"2812:5:122","nodeType":"VariableDeclaration","scope":70085,"src":"2804:13:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70079,"name":"uint256","nodeType":"ElementaryTypeName","src":"2804:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2803:15:122"},"returnParameters":{"id":70084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70083,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70085,"src":"2842:7:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70082,"name":"uint256","nodeType":"ElementaryTypeName","src":"2842:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2841:9:122"},"scope":70102,"src":"2782:69:122","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70086,"nodeType":"StructuredDocumentation","src":"2910:177:122","text":"@notice Checks if the contract supports a specific interface\n @param interfaceId The interface identifier\n @return Boolean indicating if the interface is supported"},"functionSelector":"01ffc9a7","id":70093,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"3099:17:122","nodeType":"FunctionDefinition","parameters":{"id":70089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70088,"mutability":"mutable","name":"interfaceId","nameLocation":"3124:11:122","nodeType":"VariableDeclaration","scope":70093,"src":"3117:18:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":70087,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3117:6:122","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3116:20:122"},"returnParameters":{"id":70092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70093,"src":"3160:4:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70090,"name":"bool","nodeType":"ElementaryTypeName","src":"3160:4:122","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3159:6:122"},"scope":70102,"src":"3090:76:122","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70094,"nodeType":"StructuredDocumentation","src":"3170:156:122","text":"@notice Returns the balance of tokens held by `owner`\n @param owner Address to query the balance of\n @return Balance of tokens held by `owner`"},"functionSelector":"70a08231","id":70101,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3338:9:122","nodeType":"FunctionDefinition","parameters":{"id":70097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70096,"mutability":"mutable","name":"owner","nameLocation":"3356:5:122","nodeType":"VariableDeclaration","scope":70101,"src":"3348:13:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70095,"name":"address","nodeType":"ElementaryTypeName","src":"3348:7:122","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3347:15:122"},"returnParameters":{"id":70100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70099,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70101,"src":"3386:7:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70098,"name":"uint256","nodeType":"ElementaryTypeName","src":"3386:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3385:9:122"},"scope":70102,"src":"3329:66:122","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":70103,"src":"57:3340:122","usedErrors":[],"usedEvents":[]}],"src":"32:3366:122"},"id":122},"contracts/interfaces/IX2EarnRewardsPool.sol":{"ast":{"absolutePath":"contracts/interfaces/IX2EarnRewardsPool.sol","exportedSymbols":{"IX2EarnRewardsPool":[70427]},"id":70428,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":70104,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:123"},{"abstract":false,"baseContracts":[],"canonicalName":"IX2EarnRewardsPool","contractDependencies":[],"contractKind":"interface","documentation":{"id":70105,"nodeType":"StructuredDocumentation","src":"58:362:123","text":" @title IX2EarnRewardsPool\n @dev Interface designed to be used by a contract that allows x2Earn apps to reward users that performed sustainable actions.\n Funds can be deposited into this contract by specifying the app id that can access the funds.\n Admins of x2EarnApps can withdraw funds from the rewards pool, whihc are sent to the team wallet."},"fullyImplemented":false,"id":70427,"linearizedBaseContracts":[70427],"name":"IX2EarnRewardsPool","nameLocation":"431:18:123","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":70106,"nodeType":"StructuredDocumentation","src":"454:278:123","text":" @dev Event emitted when a new deposit is made into the rewards pool.\n @param amount The amount of $B3TR deposited.\n @param appId The ID of the app for which the deposit was made.\n @param depositor The address of the user that deposited the funds."},"eventSelector":"b129470ed4a80566812579bd667bb40c9cc246b5470797f9291f8a27cd3d1630","id":70114,"name":"NewDeposit","nameLocation":"741:10:123","nodeType":"EventDefinition","parameters":{"id":70113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70108,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"760:6:123","nodeType":"VariableDeclaration","scope":70114,"src":"752:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70107,"name":"uint256","nodeType":"ElementaryTypeName","src":"752:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70110,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"784:5:123","nodeType":"VariableDeclaration","scope":70114,"src":"768:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"768:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70112,"indexed":true,"mutability":"mutable","name":"depositor","nameLocation":"807:9:123","nodeType":"VariableDeclaration","scope":70114,"src":"791:25:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70111,"name":"address","nodeType":"ElementaryTypeName","src":"791:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"751:66:123"},"src":"735:83:123"},{"anonymous":false,"documentation":{"id":70115,"nodeType":"StructuredDocumentation","src":"822:411:123","text":" @dev Event emitted when a team withdraws funds from the rewards pool.\n @param amount The amount of $B3TR withdrawn.\n @param appId The ID of the app for which the withdrawal was made.\n @param teamWallet The address of the team wallet that received the funds.\n @param withdrawer The address of the user that withdrew the funds.\n @param reason The reason for the withdrawal."},"eventSelector":"d9ffa9a1a748d0d5a7264f97f319a08a8d4925854093354e05965ff93e46d804","id":70127,"name":"TeamWithdrawal","nameLocation":"1242:14:123","nodeType":"EventDefinition","parameters":{"id":70126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70117,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1270:6:123","nodeType":"VariableDeclaration","scope":70127,"src":"1262:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70116,"name":"uint256","nodeType":"ElementaryTypeName","src":"1262:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70119,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"1298:5:123","nodeType":"VariableDeclaration","scope":70127,"src":"1282:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1282:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70121,"indexed":true,"mutability":"mutable","name":"teamWallet","nameLocation":"1325:10:123","nodeType":"VariableDeclaration","scope":70127,"src":"1309:26:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70120,"name":"address","nodeType":"ElementaryTypeName","src":"1309:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70123,"indexed":false,"mutability":"mutable","name":"withdrawer","nameLocation":"1349:10:123","nodeType":"VariableDeclaration","scope":70127,"src":"1341:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70122,"name":"address","nodeType":"ElementaryTypeName","src":"1341:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70125,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"1372:6:123","nodeType":"VariableDeclaration","scope":70127,"src":"1365:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70124,"name":"string","nodeType":"ElementaryTypeName","src":"1365:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1256:126:123"},"src":"1236:147:123"},{"anonymous":false,"documentation":{"id":70128,"nodeType":"StructuredDocumentation","src":"1387:406:123","text":" @dev Event emitted when a reward is emitted by an app.\n @param amount The amount of $B3TR rewarded.\n @param appId The ID of the app that emitted the reward.\n @param receiver The address of the user that received the reward.\n @param proof The proof of the sustainable action that was performed.\n @param distributor The address of the user that distributed the reward."},"eventSelector":"4811710b0c25cc7e05baf214b3a939cf893f1cbff4d0b219e680f069a4f204a2","id":70140,"name":"RewardDistributed","nameLocation":"1802:17:123","nodeType":"EventDefinition","parameters":{"id":70139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70130,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1833:6:123","nodeType":"VariableDeclaration","scope":70140,"src":"1825:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70129,"name":"uint256","nodeType":"ElementaryTypeName","src":"1825:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70132,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"1861:5:123","nodeType":"VariableDeclaration","scope":70140,"src":"1845:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1845:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70134,"indexed":true,"mutability":"mutable","name":"receiver","nameLocation":"1888:8:123","nodeType":"VariableDeclaration","scope":70140,"src":"1872:24:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70133,"name":"address","nodeType":"ElementaryTypeName","src":"1872:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70136,"indexed":false,"mutability":"mutable","name":"proof","nameLocation":"1909:5:123","nodeType":"VariableDeclaration","scope":70140,"src":"1902:12:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70135,"name":"string","nodeType":"ElementaryTypeName","src":"1902:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70138,"indexed":true,"mutability":"mutable","name":"distributor","nameLocation":"1936:11:123","nodeType":"VariableDeclaration","scope":70140,"src":"1920:27:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70137,"name":"address","nodeType":"ElementaryTypeName","src":"1920:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1819:132:123"},"src":"1796:156:123"},{"anonymous":false,"documentation":{"id":70141,"nodeType":"StructuredDocumentation","src":"1956:227:123","text":" @dev Event emitted when the proof of sustainability external contract call fails.\n @param reason The reason for the failure.\n @param lowLevelData The low level data returned by the external contract."},"eventSelector":"60d31a41349f4f78a019d64d088a78b27da96d17d6b2de5bac97516e9c0df128","id":70147,"name":"RegisterActionFailed","nameLocation":"2192:20:123","nodeType":"EventDefinition","parameters":{"id":70146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70143,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"2220:6:123","nodeType":"VariableDeclaration","scope":70147,"src":"2213:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70142,"name":"string","nodeType":"ElementaryTypeName","src":"2213:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70145,"indexed":false,"mutability":"mutable","name":"lowLevelData","nameLocation":"2234:12:123","nodeType":"VariableDeclaration","scope":70147,"src":"2228:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":70144,"name":"bytes","nodeType":"ElementaryTypeName","src":"2228:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2212:35:123"},"src":"2186:62:123"},{"anonymous":false,"documentation":{"id":70148,"nodeType":"StructuredDocumentation","src":"2252:194:123","text":" @dev Event emitted when an app's reward distribution is paused.\n @param appId The ID of the app that was paused.\n @param admin The address of the admin who paused the app."},"eventSelector":"acca5e415b8aed07cbd321de9d16effb4a77548130d6e3f218adb63b40d53f48","id":70154,"name":"AppPaused","nameLocation":"2455:9:123","nodeType":"EventDefinition","parameters":{"id":70153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70150,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"2481:5:123","nodeType":"VariableDeclaration","scope":70154,"src":"2465:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2465:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70152,"indexed":true,"mutability":"mutable","name":"admin","nameLocation":"2504:5:123","nodeType":"VariableDeclaration","scope":70154,"src":"2488:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70151,"name":"address","nodeType":"ElementaryTypeName","src":"2488:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2464:46:123"},"src":"2449:62:123"},{"anonymous":false,"documentation":{"id":70155,"nodeType":"StructuredDocumentation","src":"2515:200:123","text":" @dev Event emitted when an app's reward distribution is unpaused.\n @param appId The ID of the app that was unpaused.\n @param admin The address of the admin who unpaused the app."},"eventSelector":"23a8a3a8a84537d60bdd2345bf190d189d31179dbbb1c6aefe29166ad8f6579a","id":70161,"name":"AppUnpaused","nameLocation":"2724:11:123","nodeType":"EventDefinition","parameters":{"id":70160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70157,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"2752:5:123","nodeType":"VariableDeclaration","scope":70161,"src":"2736:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2736:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70159,"indexed":true,"mutability":"mutable","name":"admin","nameLocation":"2775:5:123","nodeType":"VariableDeclaration","scope":70161,"src":"2759:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70158,"name":"address","nodeType":"ElementaryTypeName","src":"2759:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2735:46:123"},"src":"2718:64:123"},{"anonymous":false,"documentation":{"id":70162,"nodeType":"StructuredDocumentation","src":"2785:423:123","text":" @dev Event emitted when a reward is emitted by an app with proof and metadata.\n @param amount The amount of $B3TR rewarded.\n @param appId The ID of the app that emitted the reward.\n @param receiver The address of the user that received the reward.\n @param metadata The metadata of the sustainable action that was performed.\n @param distributor The address of the user that distributed the reward."},"eventSelector":"c56b89dcf339c479f6e2af79e456c592b86e3014b888582db81d00ff7c51c1c6","id":70174,"name":"RewardMetadata","nameLocation":"3217:14:123","nodeType":"EventDefinition","parameters":{"id":70173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70164,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"3245:6:123","nodeType":"VariableDeclaration","scope":70174,"src":"3237:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70163,"name":"uint256","nodeType":"ElementaryTypeName","src":"3237:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70166,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"3273:5:123","nodeType":"VariableDeclaration","scope":70174,"src":"3257:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3257:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70168,"indexed":true,"mutability":"mutable","name":"receiver","nameLocation":"3300:8:123","nodeType":"VariableDeclaration","scope":70174,"src":"3284:24:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70167,"name":"address","nodeType":"ElementaryTypeName","src":"3284:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70170,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"3321:8:123","nodeType":"VariableDeclaration","scope":70174,"src":"3314:15:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70169,"name":"string","nodeType":"ElementaryTypeName","src":"3314:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70172,"indexed":true,"mutability":"mutable","name":"distributor","nameLocation":"3351:11:123","nodeType":"VariableDeclaration","scope":70174,"src":"3335:27:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70171,"name":"address","nodeType":"ElementaryTypeName","src":"3335:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3231:135:123"},"src":"3211:156:123"},{"anonymous":false,"documentation":{"id":70175,"nodeType":"StructuredDocumentation","src":"3371:173:123","text":" @dev Event emitted when the admin configure the rewards pool balance\n @param appId - the app ID\n @param enable - true to enable, false to disable"},"eventSelector":"00931d752286e23fcdacca93deeddd7c78cee51157d50c56f09f3a5cc7c14b77","id":70181,"name":"RewardsPoolBalanceEnabled","nameLocation":"3553:25:123","nodeType":"EventDefinition","parameters":{"id":70180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70177,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"3595:5:123","nodeType":"VariableDeclaration","scope":70181,"src":"3579:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3579:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70179,"indexed":false,"mutability":"mutable","name":"enable","nameLocation":"3607:6:123","nodeType":"VariableDeclaration","scope":70181,"src":"3602:11:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70178,"name":"bool","nodeType":"ElementaryTypeName","src":"3602:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3578:36:123"},"src":"3547:68:123"},{"anonymous":false,"documentation":{"id":70182,"nodeType":"StructuredDocumentation","src":"3619:427:123","text":" @dev Event emitted when the balance of the rewards pool for an app is initialized or updated.\n @param appId The ID of the app for which the balance was updated.\n @param amount The amount being added or removed from the rewards pool.\n @param availableFunds The current balance of the available funds for the app.\n @param rewardsPoolBalance The current balance of the rewards pool for the app."},"eventSelector":"7edf7f16b6ec1a7be78507b450fd1504bc48e72ff18e5b620a6f0fd24717f49d","id":70192,"name":"RewardsPoolBalanceUpdated","nameLocation":"4055:25:123","nodeType":"EventDefinition","parameters":{"id":70191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70184,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"4097:5:123","nodeType":"VariableDeclaration","scope":70192,"src":"4081:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4081:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70186,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"4112:6:123","nodeType":"VariableDeclaration","scope":70192,"src":"4104:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70185,"name":"uint256","nodeType":"ElementaryTypeName","src":"4104:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70188,"indexed":false,"mutability":"mutable","name":"availableFunds","nameLocation":"4128:14:123","nodeType":"VariableDeclaration","scope":70192,"src":"4120:22:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70187,"name":"uint256","nodeType":"ElementaryTypeName","src":"4120:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70190,"indexed":false,"mutability":"mutable","name":"rewardsPoolBalance","nameLocation":"4152:18:123","nodeType":"VariableDeclaration","scope":70192,"src":"4144:26:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70189,"name":"uint256","nodeType":"ElementaryTypeName","src":"4144:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4080:91:123"},"src":"4049:123:123"},{"documentation":{"id":70193,"nodeType":"StructuredDocumentation","src":"4177:113:123","text":" @dev Retrieves the current version of the contract.\n @return The version of the contract."},"functionSelector":"54fd4d50","id":70198,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"4302:7:123","nodeType":"FunctionDefinition","parameters":{"id":70194,"nodeType":"ParameterList","parameters":[],"src":"4309:2:123"},"returnParameters":{"id":70197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70198,"src":"4335:13:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70195,"name":"string","nodeType":"ElementaryTypeName","src":"4335:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4334:15:123"},"scope":70427,"src":"4293:57:123","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":70199,"nodeType":"StructuredDocumentation","src":"4354:181:123","text":" @dev Function used by x2earn apps to deposit funds into the rewards pool.\n @param amount The amount of $B3TR to deposit.\n @param appId The ID of the app."},"functionSelector":"c9630cb0","id":70208,"implemented":false,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"4547:7:123","nodeType":"FunctionDefinition","parameters":{"id":70204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70201,"mutability":"mutable","name":"amount","nameLocation":"4563:6:123","nodeType":"VariableDeclaration","scope":70208,"src":"4555:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70200,"name":"uint256","nodeType":"ElementaryTypeName","src":"4555:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70203,"mutability":"mutable","name":"appId","nameLocation":"4579:5:123","nodeType":"VariableDeclaration","scope":70208,"src":"4571:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4571:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4554:31:123"},"returnParameters":{"id":70207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70208,"src":"4604:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70205,"name":"bool","nodeType":"ElementaryTypeName","src":"4604:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4603:6:123"},"scope":70427,"src":"4538:72:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70209,"nodeType":"StructuredDocumentation","src":"4614:233:123","text":" @dev Function used by x2earn apps to withdraw funds from the rewards pool.\n @param amount The amount of $B3TR to withdraw.\n @param appId The ID of the app.\n @param reason The reason for the withdrawal."},"functionSelector":"cfe706b3","id":70218,"implemented":false,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"4859:8:123","nodeType":"FunctionDefinition","parameters":{"id":70216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70211,"mutability":"mutable","name":"amount","nameLocation":"4876:6:123","nodeType":"VariableDeclaration","scope":70218,"src":"4868:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70210,"name":"uint256","nodeType":"ElementaryTypeName","src":"4868:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70213,"mutability":"mutable","name":"appId","nameLocation":"4892:5:123","nodeType":"VariableDeclaration","scope":70218,"src":"4884:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4884:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70215,"mutability":"mutable","name":"reason","nameLocation":"4913:6:123","nodeType":"VariableDeclaration","scope":70218,"src":"4899:20:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70214,"name":"string","nodeType":"ElementaryTypeName","src":"4899:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4867:53:123"},"returnParameters":{"id":70217,"nodeType":"ParameterList","parameters":[],"src":"4929:0:123"},"scope":70427,"src":"4850:80:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70219,"nodeType":"StructuredDocumentation","src":"4934:165:123","text":" @dev Gets the amount of funds available for an app to withdraw and reward user if the dual-pool is disabled.\n @param appId The ID of the app."},"functionSelector":"f2744334","id":70226,"implemented":false,"kind":"function","modifiers":[],"name":"availableFunds","nameLocation":"5111:14:123","nodeType":"FunctionDefinition","parameters":{"id":70222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70221,"mutability":"mutable","name":"appId","nameLocation":"5134:5:123","nodeType":"VariableDeclaration","scope":70226,"src":"5126:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70220,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5126:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5125:15:123"},"returnParameters":{"id":70225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70224,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70226,"src":"5164:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70223,"name":"uint256","nodeType":"ElementaryTypeName","src":"5164:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5163:9:123"},"scope":70427,"src":"5102:71:123","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70227,"nodeType":"StructuredDocumentation","src":"5177:136:123","text":" @dev Gets the total of funds available for withdrawal and rewards distribution.\n @param appId The ID of the app."},"functionSelector":"b51fc445","id":70234,"implemented":false,"kind":"function","modifiers":[],"name":"totalBalance","nameLocation":"5325:12:123","nodeType":"FunctionDefinition","parameters":{"id":70230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70229,"mutability":"mutable","name":"appId","nameLocation":"5346:5:123","nodeType":"VariableDeclaration","scope":70234,"src":"5338:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5338:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5337:15:123"},"returnParameters":{"id":70233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70232,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70234,"src":"5376:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70231,"name":"uint256","nodeType":"ElementaryTypeName","src":"5376:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5375:9:123"},"scope":70427,"src":"5316:69:123","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70235,"nodeType":"StructuredDocumentation","src":"5389:127:123","text":" @dev Gets either the dual-pool rewards pool balance is enabled or not.\n @param appId The ID of the app."},"functionSelector":"b81ddb2e","id":70242,"implemented":false,"kind":"function","modifiers":[],"name":"isRewardsPoolEnabled","nameLocation":"5528:20:123","nodeType":"FunctionDefinition","parameters":{"id":70238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70237,"mutability":"mutable","name":"appId","nameLocation":"5557:5:123","nodeType":"VariableDeclaration","scope":70242,"src":"5549:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5549:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5548:15:123"},"returnParameters":{"id":70241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70242,"src":"5587:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70239,"name":"bool","nodeType":"ElementaryTypeName","src":"5587:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5586:6:123"},"scope":70427,"src":"5519:74:123","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70243,"nodeType":"StructuredDocumentation","src":"5597:128:123","text":" @dev Gets whether the distribution is paused or not for a specific xApp\n @param appId The ID of the app."},"functionSelector":"8a7793b1","id":70250,"implemented":false,"kind":"function","modifiers":[],"name":"isDistributionPaused","nameLocation":"5737:20:123","nodeType":"FunctionDefinition","parameters":{"id":70246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70245,"mutability":"mutable","name":"appId","nameLocation":"5766:5:123","nodeType":"VariableDeclaration","scope":70250,"src":"5758:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5758:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5757:15:123"},"returnParameters":{"id":70249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70250,"src":"5796:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70247,"name":"bool","nodeType":"ElementaryTypeName","src":"5796:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5795:6:123"},"scope":70427,"src":"5728:74:123","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70251,"nodeType":"StructuredDocumentation","src":"5806:201:123","text":" @dev Enables the rewards pool for a newly created app.\n @param appId The ID of the app.\n @notice This function can only be called by the X2EarnApps contract during app submission"},"functionSelector":"1a25071f","id":70256,"implemented":false,"kind":"function","modifiers":[],"name":"enableRewardsPoolForNewApp","nameLocation":"6019:26:123","nodeType":"FunctionDefinition","parameters":{"id":70254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70253,"mutability":"mutable","name":"appId","nameLocation":"6054:5:123","nodeType":"VariableDeclaration","scope":70256,"src":"6046:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6046:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6045:15:123"},"returnParameters":{"id":70255,"nodeType":"ParameterList","parameters":[],"src":"6069:0:123"},"scope":70427,"src":"6010:60:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70257,"nodeType":"StructuredDocumentation","src":"6076:152:123","text":" @dev Gets the amount of funds available for an app to reward users if the dual-pool is enabled.\n @param appId The ID of the app."},"functionSelector":"60dbdd08","id":70264,"implemented":false,"kind":"function","modifiers":[],"name":"rewardsPoolBalance","nameLocation":"6240:18:123","nodeType":"FunctionDefinition","parameters":{"id":70260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70259,"mutability":"mutable","name":"appId","nameLocation":"6267:5:123","nodeType":"VariableDeclaration","scope":70264,"src":"6259:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70258,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6259:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6258:15:123"},"returnParameters":{"id":70263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70262,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70264,"src":"6297:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70261,"name":"uint256","nodeType":"ElementaryTypeName","src":"6297:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6296:9:123"},"scope":70427,"src":"6231:75:123","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70265,"nodeType":"StructuredDocumentation","src":"6312:399:123","text":" @dev Function used by x2earn apps to reward users that performed sustainable actions.\n @param appId the app id that is emitting the reward\n @param amount the amount of B3TR token the user is rewarded with\n @param receiver the address of the user that performed the sustainable action and is rewarded\n @param proof deprecated argument, pass an empty string instead"},"functionSelector":"f7335f11","id":70276,"implemented":false,"kind":"function","modifiers":[],"name":"distributeReward","nameLocation":"6723:16:123","nodeType":"FunctionDefinition","parameters":{"id":70274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70267,"mutability":"mutable","name":"appId","nameLocation":"6748:5:123","nodeType":"VariableDeclaration","scope":70276,"src":"6740:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6740:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70269,"mutability":"mutable","name":"amount","nameLocation":"6763:6:123","nodeType":"VariableDeclaration","scope":70276,"src":"6755:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70268,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70271,"mutability":"mutable","name":"receiver","nameLocation":"6779:8:123","nodeType":"VariableDeclaration","scope":70276,"src":"6771:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70270,"name":"address","nodeType":"ElementaryTypeName","src":"6771:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70273,"mutability":"mutable","name":"proof","nameLocation":"6803:5:123","nodeType":"VariableDeclaration","scope":70276,"src":"6789:19:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70272,"name":"string","nodeType":"ElementaryTypeName","src":"6789:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6739:70:123"},"returnParameters":{"id":70275,"nodeType":"ParameterList","parameters":[],"src":"6818:0:123"},"scope":70427,"src":"6714:105:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70277,"nodeType":"StructuredDocumentation","src":"6823:505:123","text":" @dev Function used by x2earn apps to reward users that performed sustainable actions.\n @notice This function is depracted in favor of distributeRewardWithProof.\n @param appId the app id that is emitting the reward\n @param amount the amount of B3TR token the user is rewarded with\n @param receiver the address of the user that performed the sustainable action and is rewarded\n @param proof the JSON string that contains the proof and impact of the sustainable action"},"functionSelector":"69933c78","id":70288,"implemented":false,"kind":"function","modifiers":[],"name":"distributeRewardDeprecated","nameLocation":"7340:26:123","nodeType":"FunctionDefinition","parameters":{"id":70286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70279,"mutability":"mutable","name":"appId","nameLocation":"7375:5:123","nodeType":"VariableDeclaration","scope":70288,"src":"7367:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7367:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70281,"mutability":"mutable","name":"amount","nameLocation":"7390:6:123","nodeType":"VariableDeclaration","scope":70288,"src":"7382:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70280,"name":"uint256","nodeType":"ElementaryTypeName","src":"7382:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70283,"mutability":"mutable","name":"receiver","nameLocation":"7406:8:123","nodeType":"VariableDeclaration","scope":70288,"src":"7398:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70282,"name":"address","nodeType":"ElementaryTypeName","src":"7398:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70285,"mutability":"mutable","name":"proof","nameLocation":"7430:5:123","nodeType":"VariableDeclaration","scope":70288,"src":"7416:19:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70284,"name":"string","nodeType":"ElementaryTypeName","src":"7416:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7366:70:123"},"returnParameters":{"id":70287,"nodeType":"ParameterList","parameters":[],"src":"7445:0:123"},"scope":70427,"src":"7331:115:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70289,"nodeType":"StructuredDocumentation","src":"7450:695:123","text":" @dev Function used by x2earn apps to reward users that performed sustainable actions.\n @param appId the app id that is emitting the reward\n @param amount the amount of B3TR token the user is rewarded with\n @param receiver the address of the user that performed the sustainable action and is rewarded\n @param proofTypes the types of the proof of the sustainable action\n @param proofValues the values of the proof of the sustainable action\n @param impactCodes the codes of the impacts of the sustainable action\n @param impactValues the values of the impacts of the sustainable action\n @param description the description of the sustainable action"},"functionSelector":"7b924532","id":70312,"implemented":false,"kind":"function","modifiers":[],"name":"distributeRewardWithProof","nameLocation":"8157:25:123","nodeType":"FunctionDefinition","parameters":{"id":70310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70291,"mutability":"mutable","name":"appId","nameLocation":"8196:5:123","nodeType":"VariableDeclaration","scope":70312,"src":"8188:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8188:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70293,"mutability":"mutable","name":"amount","nameLocation":"8215:6:123","nodeType":"VariableDeclaration","scope":70312,"src":"8207:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70292,"name":"uint256","nodeType":"ElementaryTypeName","src":"8207:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70295,"mutability":"mutable","name":"receiver","nameLocation":"8235:8:123","nodeType":"VariableDeclaration","scope":70312,"src":"8227:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70294,"name":"address","nodeType":"ElementaryTypeName","src":"8227:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70298,"mutability":"mutable","name":"proofTypes","nameLocation":"8265:10:123","nodeType":"VariableDeclaration","scope":70312,"src":"8249:26:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70296,"name":"string","nodeType":"ElementaryTypeName","src":"8249:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70297,"nodeType":"ArrayTypeName","src":"8249:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70301,"mutability":"mutable","name":"proofValues","nameLocation":"8331:11:123","nodeType":"VariableDeclaration","scope":70312,"src":"8315:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70299,"name":"string","nodeType":"ElementaryTypeName","src":"8315:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70300,"nodeType":"ArrayTypeName","src":"8315:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70304,"mutability":"mutable","name":"impactCodes","nameLocation":"8397:11:123","nodeType":"VariableDeclaration","scope":70312,"src":"8381:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70302,"name":"string","nodeType":"ElementaryTypeName","src":"8381:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70303,"nodeType":"ArrayTypeName","src":"8381:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70307,"mutability":"mutable","name":"impactValues","nameLocation":"8454:12:123","nodeType":"VariableDeclaration","scope":70312,"src":"8437:29:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":70305,"name":"uint256","nodeType":"ElementaryTypeName","src":"8437:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70306,"nodeType":"ArrayTypeName","src":"8437:9:123","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":70309,"mutability":"mutable","name":"description","nameLocation":"8505:11:123","nodeType":"VariableDeclaration","scope":70312,"src":"8491:25:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70308,"name":"string","nodeType":"ElementaryTypeName","src":"8491:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8182:338:123"},"returnParameters":{"id":70311,"nodeType":"ParameterList","parameters":[],"src":"8529:0:123"},"scope":70427,"src":"8148:382:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70313,"nodeType":"StructuredDocumentation","src":"8534:779:123","text":" @dev Function used by x2earn apps to reward users that performed sustainable actions and emit metadata event.\n @param appId the app id that is emitting the reward\n @param amount the amount of B3TR token the user is rewarded with\n @param receiver the address of the user that performed the sustainable action and is rewarded\n @param proofTypes the types of the proof of the sustainable action\n @param proofValues the values of the proof of the sustainable action\n @param impactCodes the codes of the impacts of the sustainable action\n @param impactValues the values of the impacts of the sustainable action\n @param description the description of the sustainable action\n @param metadata the metadata of the sustainable action"},"functionSelector":"0eb11eb8","id":70338,"implemented":false,"kind":"function","modifiers":[],"name":"distributeRewardWithProofAndMetadata","nameLocation":"9325:36:123","nodeType":"FunctionDefinition","parameters":{"id":70336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70315,"mutability":"mutable","name":"appId","nameLocation":"9375:5:123","nodeType":"VariableDeclaration","scope":70338,"src":"9367:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9367:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70317,"mutability":"mutable","name":"amount","nameLocation":"9394:6:123","nodeType":"VariableDeclaration","scope":70338,"src":"9386:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70316,"name":"uint256","nodeType":"ElementaryTypeName","src":"9386:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70319,"mutability":"mutable","name":"receiver","nameLocation":"9414:8:123","nodeType":"VariableDeclaration","scope":70338,"src":"9406:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70318,"name":"address","nodeType":"ElementaryTypeName","src":"9406:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70322,"mutability":"mutable","name":"proofTypes","nameLocation":"9444:10:123","nodeType":"VariableDeclaration","scope":70338,"src":"9428:26:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70320,"name":"string","nodeType":"ElementaryTypeName","src":"9428:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70321,"nodeType":"ArrayTypeName","src":"9428:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70325,"mutability":"mutable","name":"proofValues","nameLocation":"9510:11:123","nodeType":"VariableDeclaration","scope":70338,"src":"9494:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70323,"name":"string","nodeType":"ElementaryTypeName","src":"9494:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70324,"nodeType":"ArrayTypeName","src":"9494:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70328,"mutability":"mutable","name":"impactCodes","nameLocation":"9576:11:123","nodeType":"VariableDeclaration","scope":70338,"src":"9560:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70326,"name":"string","nodeType":"ElementaryTypeName","src":"9560:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70327,"nodeType":"ArrayTypeName","src":"9560:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70331,"mutability":"mutable","name":"impactValues","nameLocation":"9633:12:123","nodeType":"VariableDeclaration","scope":70338,"src":"9616:29:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":70329,"name":"uint256","nodeType":"ElementaryTypeName","src":"9616:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70330,"nodeType":"ArrayTypeName","src":"9616:9:123","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":70333,"mutability":"mutable","name":"description","nameLocation":"9684:11:123","nodeType":"VariableDeclaration","scope":70338,"src":"9670:25:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70332,"name":"string","nodeType":"ElementaryTypeName","src":"9670:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70335,"mutability":"mutable","name":"metadata","nameLocation":"9715:8:123","nodeType":"VariableDeclaration","scope":70338,"src":"9701:22:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70334,"name":"string","nodeType":"ElementaryTypeName","src":"9701:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9361:413:123"},"returnParameters":{"id":70337,"nodeType":"ParameterList","parameters":[],"src":"9783:0:123"},"scope":70427,"src":"9316:468:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70339,"nodeType":"StructuredDocumentation","src":"9788:486:123","text":" @dev Function used by x2earn apps to reward users and attribute the action to a specific round.\n @param appId the app id that is emitting the reward\n @param amount the amount of B3TR token the user is rewarded with\n @param receiver the address of the user that performed the sustainable action and is rewarded\n @param proof deprecated argument, pass an empty string instead\n @param actionRound the round in which the action was actually performed"},"functionSelector":"ad0f96b1","id":70352,"implemented":false,"kind":"function","modifiers":[],"name":"distributeRewardForRound","nameLocation":"10286:24:123","nodeType":"FunctionDefinition","parameters":{"id":70350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70341,"mutability":"mutable","name":"appId","nameLocation":"10324:5:123","nodeType":"VariableDeclaration","scope":70352,"src":"10316:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10316:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70343,"mutability":"mutable","name":"amount","nameLocation":"10343:6:123","nodeType":"VariableDeclaration","scope":70352,"src":"10335:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70342,"name":"uint256","nodeType":"ElementaryTypeName","src":"10335:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70345,"mutability":"mutable","name":"receiver","nameLocation":"10363:8:123","nodeType":"VariableDeclaration","scope":70352,"src":"10355:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70344,"name":"address","nodeType":"ElementaryTypeName","src":"10355:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70347,"mutability":"mutable","name":"proof","nameLocation":"10391:5:123","nodeType":"VariableDeclaration","scope":70352,"src":"10377:19:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70346,"name":"string","nodeType":"ElementaryTypeName","src":"10377:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70349,"mutability":"mutable","name":"actionRound","nameLocation":"10410:11:123","nodeType":"VariableDeclaration","scope":70352,"src":"10402:19:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70348,"name":"uint256","nodeType":"ElementaryTypeName","src":"10402:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10310:115:123"},"returnParameters":{"id":70351,"nodeType":"ParameterList","parameters":[],"src":"10434:0:123"},"scope":70427,"src":"10277:158:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70353,"nodeType":"StructuredDocumentation","src":"10439:793:123","text":" @dev Function used by x2earn apps to reward users with proof and attribute the action to a specific round.\n @param appId the app id that is emitting the reward\n @param amount the amount of B3TR token the user is rewarded with\n @param receiver the address of the user that performed the sustainable action and is rewarded\n @param proofTypes the types of the proof of the sustainable action\n @param proofValues the values of the proof of the sustainable action\n @param impactCodes the codes of the impacts of the sustainable action\n @param impactValues the values of the impacts of the sustainable action\n @param description the description of the sustainable action\n @param actionRound the round in which the action was actually performed"},"functionSelector":"6b2c1bb8","id":70378,"implemented":false,"kind":"function","modifiers":[],"name":"distributeRewardWithProofForRound","nameLocation":"11244:33:123","nodeType":"FunctionDefinition","parameters":{"id":70376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70355,"mutability":"mutable","name":"appId","nameLocation":"11291:5:123","nodeType":"VariableDeclaration","scope":70378,"src":"11283:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11283:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70357,"mutability":"mutable","name":"amount","nameLocation":"11310:6:123","nodeType":"VariableDeclaration","scope":70378,"src":"11302:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70356,"name":"uint256","nodeType":"ElementaryTypeName","src":"11302:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70359,"mutability":"mutable","name":"receiver","nameLocation":"11330:8:123","nodeType":"VariableDeclaration","scope":70378,"src":"11322:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70358,"name":"address","nodeType":"ElementaryTypeName","src":"11322:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70362,"mutability":"mutable","name":"proofTypes","nameLocation":"11360:10:123","nodeType":"VariableDeclaration","scope":70378,"src":"11344:26:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70360,"name":"string","nodeType":"ElementaryTypeName","src":"11344:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70361,"nodeType":"ArrayTypeName","src":"11344:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70365,"mutability":"mutable","name":"proofValues","nameLocation":"11392:11:123","nodeType":"VariableDeclaration","scope":70378,"src":"11376:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70363,"name":"string","nodeType":"ElementaryTypeName","src":"11376:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70364,"nodeType":"ArrayTypeName","src":"11376:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70368,"mutability":"mutable","name":"impactCodes","nameLocation":"11425:11:123","nodeType":"VariableDeclaration","scope":70378,"src":"11409:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70366,"name":"string","nodeType":"ElementaryTypeName","src":"11409:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70367,"nodeType":"ArrayTypeName","src":"11409:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70371,"mutability":"mutable","name":"impactValues","nameLocation":"11459:12:123","nodeType":"VariableDeclaration","scope":70378,"src":"11442:29:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":70369,"name":"uint256","nodeType":"ElementaryTypeName","src":"11442:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70370,"nodeType":"ArrayTypeName","src":"11442:9:123","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":70373,"mutability":"mutable","name":"description","nameLocation":"11491:11:123","nodeType":"VariableDeclaration","scope":70378,"src":"11477:25:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70372,"name":"string","nodeType":"ElementaryTypeName","src":"11477:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70375,"mutability":"mutable","name":"actionRound","nameLocation":"11516:11:123","nodeType":"VariableDeclaration","scope":70378,"src":"11508:19:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70374,"name":"uint256","nodeType":"ElementaryTypeName","src":"11508:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11277:254:123"},"returnParameters":{"id":70377,"nodeType":"ParameterList","parameters":[],"src":"11540:0:123"},"scope":70427,"src":"11235:306:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70379,"nodeType":"StructuredDocumentation","src":"11545:863:123","text":" @dev Function used by x2earn apps to reward users with proof, metadata and attribute the action to a specific round.\n @param appId the app id that is emitting the reward\n @param amount the amount of B3TR token the user is rewarded with\n @param receiver the address of the user that performed the sustainable action and is rewarded\n @param proofTypes the types of the proof of the sustainable action\n @param proofValues the values of the proof of the sustainable action\n @param impactCodes the codes of the impacts of the sustainable action\n @param impactValues the values of the impacts of the sustainable action\n @param description the description of the sustainable action\n @param metadata the metadata of the sustainable action\n @param actionRound the round in which the action was actually performed"},"functionSelector":"2a308afa","id":70406,"implemented":false,"kind":"function","modifiers":[],"name":"distributeRewardWithProofAndMetadataForRound","nameLocation":"12420:44:123","nodeType":"FunctionDefinition","parameters":{"id":70404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70381,"mutability":"mutable","name":"appId","nameLocation":"12478:5:123","nodeType":"VariableDeclaration","scope":70406,"src":"12470:13:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12470:7:123","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70383,"mutability":"mutable","name":"amount","nameLocation":"12497:6:123","nodeType":"VariableDeclaration","scope":70406,"src":"12489:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70382,"name":"uint256","nodeType":"ElementaryTypeName","src":"12489:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70385,"mutability":"mutable","name":"receiver","nameLocation":"12517:8:123","nodeType":"VariableDeclaration","scope":70406,"src":"12509:16:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70384,"name":"address","nodeType":"ElementaryTypeName","src":"12509:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70388,"mutability":"mutable","name":"proofTypes","nameLocation":"12547:10:123","nodeType":"VariableDeclaration","scope":70406,"src":"12531:26:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70386,"name":"string","nodeType":"ElementaryTypeName","src":"12531:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70387,"nodeType":"ArrayTypeName","src":"12531:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70391,"mutability":"mutable","name":"proofValues","nameLocation":"12579:11:123","nodeType":"VariableDeclaration","scope":70406,"src":"12563:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70389,"name":"string","nodeType":"ElementaryTypeName","src":"12563:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70390,"nodeType":"ArrayTypeName","src":"12563:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70394,"mutability":"mutable","name":"impactCodes","nameLocation":"12612:11:123","nodeType":"VariableDeclaration","scope":70406,"src":"12596:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70392,"name":"string","nodeType":"ElementaryTypeName","src":"12596:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70393,"nodeType":"ArrayTypeName","src":"12596:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70397,"mutability":"mutable","name":"impactValues","nameLocation":"12646:12:123","nodeType":"VariableDeclaration","scope":70406,"src":"12629:29:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":70395,"name":"uint256","nodeType":"ElementaryTypeName","src":"12629:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70396,"nodeType":"ArrayTypeName","src":"12629:9:123","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":70399,"mutability":"mutable","name":"description","nameLocation":"12678:11:123","nodeType":"VariableDeclaration","scope":70406,"src":"12664:25:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70398,"name":"string","nodeType":"ElementaryTypeName","src":"12664:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70401,"mutability":"mutable","name":"metadata","nameLocation":"12709:8:123","nodeType":"VariableDeclaration","scope":70406,"src":"12695:22:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70400,"name":"string","nodeType":"ElementaryTypeName","src":"12695:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70403,"mutability":"mutable","name":"actionRound","nameLocation":"12731:11:123","nodeType":"VariableDeclaration","scope":70406,"src":"12723:19:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70402,"name":"uint256","nodeType":"ElementaryTypeName","src":"12723:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12464:282:123"},"returnParameters":{"id":70405,"nodeType":"ParameterList","parameters":[],"src":"12755:0:123"},"scope":70427,"src":"12411:345:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70407,"nodeType":"StructuredDocumentation","src":"12760:524:123","text":" @dev Builds the JSON proof string that will be stored\n on chain regarding the proofs, impacts and description of the sustainable action.\n @param proofTypes the types of the proof of the sustainable action\n @param proofValues the values of the proof of the sustainable action\n @param impactCodes the codes of the impacts of the sustainable action\n @param impactValues the values of the impacts of the sustainable action\n @param description the description of the sustainable action"},"functionSelector":"4879ed08","id":70426,"implemented":false,"kind":"function","modifiers":[],"name":"buildProof","nameLocation":"13296:10:123","nodeType":"FunctionDefinition","parameters":{"id":70422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70410,"mutability":"mutable","name":"proofTypes","nameLocation":"13328:10:123","nodeType":"VariableDeclaration","scope":70426,"src":"13312:26:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70408,"name":"string","nodeType":"ElementaryTypeName","src":"13312:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70409,"nodeType":"ArrayTypeName","src":"13312:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70413,"mutability":"mutable","name":"proofValues","nameLocation":"13394:11:123","nodeType":"VariableDeclaration","scope":70426,"src":"13378:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70411,"name":"string","nodeType":"ElementaryTypeName","src":"13378:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70412,"nodeType":"ArrayTypeName","src":"13378:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70416,"mutability":"mutable","name":"impactCodes","nameLocation":"13460:11:123","nodeType":"VariableDeclaration","scope":70426,"src":"13444:27:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":70414,"name":"string","nodeType":"ElementaryTypeName","src":"13444:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":70415,"nodeType":"ArrayTypeName","src":"13444:8:123","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":70419,"mutability":"mutable","name":"impactValues","nameLocation":"13517:12:123","nodeType":"VariableDeclaration","scope":70426,"src":"13500:29:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":70417,"name":"uint256","nodeType":"ElementaryTypeName","src":"13500:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70418,"nodeType":"ArrayTypeName","src":"13500:9:123","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":70421,"mutability":"mutable","name":"description","nameLocation":"13568:11:123","nodeType":"VariableDeclaration","scope":70426,"src":"13554:25:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70420,"name":"string","nodeType":"ElementaryTypeName","src":"13554:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13306:277:123"},"returnParameters":{"id":70425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70426,"src":"13602:13:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70423,"name":"string","nodeType":"ElementaryTypeName","src":"13602:6:123","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13601:15:123"},"scope":70427,"src":"13287:330:123","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":70428,"src":"421:13198:123","usedErrors":[],"usedEvents":[70114,70127,70140,70147,70154,70161,70174,70181,70192]}],"src":"33:13587:123"},"id":123},"contracts/interfaces/IXAllocationPool.sol":{"ast":{"absolutePath":"contracts/interfaces/IXAllocationPool.sol","exportedSymbols":{"IXAllocationPool":[70597]},"id":70598,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":70429,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:124"},{"abstract":false,"baseContracts":[],"canonicalName":"IXAllocationPool","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":70597,"linearizedBaseContracts":[70597],"name":"IXAllocationPool","nameLocation":"67:16:124","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":70430,"nodeType":"StructuredDocumentation","src":"88:865:124","text":" @dev Event emitted when an app claims its rewards for a given round.\n Total amount of $B3TR tokens earned in a round are the sum of the\n team allocation and the rewards allocation.\n @param appId The ID of the app for which the rewards were claimed.\n @param roundId The round ID for which the rewards were claimed.\n @param totalAmount The total amount of $B3TR available for allocation to the app.\n @param recipient The address of the recipient of the rewards sent to the team.\n @param caller The address that triggered this operation.\n @param unallocatedAmount The amount of $B3TR that was not allocated, and were sent to the treasury.\n @param teamAllocationAmount The amount of $B3TR sent to the team.\n @param rewardsAllocationAmount The amount of $B3TR left in the cotnract and reserved to reward users."},"eventSelector":"21c83a4a400e6919b7607b7d561c696fbed4080d691d738eae21d7a4bdb03b2a","id":70448,"name":"AllocationRewardsClaimed","nameLocation":"962:24:124","nodeType":"EventDefinition","parameters":{"id":70447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70432,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"1008:5:124","nodeType":"VariableDeclaration","scope":70448,"src":"992:21:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"992:7:124","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70434,"indexed":false,"mutability":"mutable","name":"roundId","nameLocation":"1027:7:124","nodeType":"VariableDeclaration","scope":70448,"src":"1019:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70433,"name":"uint256","nodeType":"ElementaryTypeName","src":"1019:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70436,"indexed":false,"mutability":"mutable","name":"totalAmount","nameLocation":"1048:11:124","nodeType":"VariableDeclaration","scope":70448,"src":"1040:19:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70435,"name":"uint256","nodeType":"ElementaryTypeName","src":"1040:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70438,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"1081:9:124","nodeType":"VariableDeclaration","scope":70448,"src":"1065:25:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70437,"name":"address","nodeType":"ElementaryTypeName","src":"1065:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70440,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1104:6:124","nodeType":"VariableDeclaration","scope":70448,"src":"1096:14:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70439,"name":"address","nodeType":"ElementaryTypeName","src":"1096:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70442,"indexed":false,"mutability":"mutable","name":"unallocatedAmount","nameLocation":"1124:17:124","nodeType":"VariableDeclaration","scope":70448,"src":"1116:25:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70441,"name":"uint256","nodeType":"ElementaryTypeName","src":"1116:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70444,"indexed":false,"mutability":"mutable","name":"teamAllocationAmount","nameLocation":"1155:20:124","nodeType":"VariableDeclaration","scope":70448,"src":"1147:28:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70443,"name":"uint256","nodeType":"ElementaryTypeName","src":"1147:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70446,"indexed":false,"mutability":"mutable","name":"rewardsAllocationAmount","nameLocation":"1189:23:124","nodeType":"VariableDeclaration","scope":70448,"src":"1181:31:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70445,"name":"uint256","nodeType":"ElementaryTypeName","src":"1181:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"986:230:124"},"src":"956:261:124"},{"anonymous":false,"documentation":{"id":70449,"nodeType":"StructuredDocumentation","src":"1220:179:124","text":" @dev Emit when the xAllocationVoting contract is set\n @param oldContractAddress The old contract address\n @param newContractAddress The new contract address"},"eventSelector":"71004d26dc692e8d5005fb307953a5ce05000120035aa3f83615abc6c6fbba2e","id":70455,"name":"XAllocationVotingSet","nameLocation":"1408:20:124","nodeType":"EventDefinition","parameters":{"id":70454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70451,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1437:18:124","nodeType":"VariableDeclaration","scope":70455,"src":"1429:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70450,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70453,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1465:18:124","nodeType":"VariableDeclaration","scope":70455,"src":"1457:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70452,"name":"address","nodeType":"ElementaryTypeName","src":"1457:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1428:56:124"},"src":"1402:83:124"},{"anonymous":false,"documentation":{"id":70456,"nodeType":"StructuredDocumentation","src":"1488:171:124","text":" @dev Emit when the emissions contract is set\n @param oldContractAddress The old contract address\n @param newContractAddress The new contract address"},"eventSelector":"0c4e40f9b8842fc7e1d8e529109dcebad1ad36cea4ef437522deb3ae27571243","id":70462,"name":"EmissionsContractSet","nameLocation":"1668:20:124","nodeType":"EventDefinition","parameters":{"id":70461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70458,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1697:18:124","nodeType":"VariableDeclaration","scope":70462,"src":"1689:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70457,"name":"address","nodeType":"ElementaryTypeName","src":"1689:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70460,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1725:18:124","nodeType":"VariableDeclaration","scope":70462,"src":"1717:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70459,"name":"address","nodeType":"ElementaryTypeName","src":"1717:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1688:56:124"},"src":"1662:83:124"},{"anonymous":false,"documentation":{"id":70463,"nodeType":"StructuredDocumentation","src":"1748:199:124","text":" @dev Emit when the treasury contract is set (deprecated after version 7)\n @param oldContractAddress The old contract address\n @param newContractAddress The new contract address"},"eventSelector":"04054341a9f0ae8a648cb2d27d371fcd1b038cfbe7d7131d562d1202af78bacd","id":70469,"name":"TreasuryContractSet","nameLocation":"1956:19:124","nodeType":"EventDefinition","parameters":{"id":70468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70465,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1984:18:124","nodeType":"VariableDeclaration","scope":70469,"src":"1976:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70464,"name":"address","nodeType":"ElementaryTypeName","src":"1976:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70467,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"2012:18:124","nodeType":"VariableDeclaration","scope":70469,"src":"2004:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70466,"name":"address","nodeType":"ElementaryTypeName","src":"2004:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1975:56:124"},"src":"1950:82:124"},{"anonymous":false,"documentation":{"id":70470,"nodeType":"StructuredDocumentation","src":"2035:172:124","text":" @dev Emit when the x2EarnApps contract is set\n @param oldContractAddress The old contract address\n @param newContractAddress The new contract address"},"eventSelector":"7ccde7e0475442e95ab2e158122d49ae6dca103483fd66385ac6d81444b0d794","id":70476,"name":"X2EarnAppsContractSet","nameLocation":"2216:21:124","nodeType":"EventDefinition","parameters":{"id":70475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70472,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"2246:18:124","nodeType":"VariableDeclaration","scope":70476,"src":"2238:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70471,"name":"address","nodeType":"ElementaryTypeName","src":"2238:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70474,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"2274:18:124","nodeType":"VariableDeclaration","scope":70476,"src":"2266:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70473,"name":"address","nodeType":"ElementaryTypeName","src":"2266:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2237:56:124"},"src":"2210:84:124"},{"anonymous":false,"documentation":{"id":70477,"nodeType":"StructuredDocumentation","src":"2297:198:124","text":" @dev Emit when the unallocated funds receiver contract or wallet is set\n @param oldContractAddress The old contract address\n @param newContractAddress The new contract address"},"eventSelector":"1ed2c10649133a04ad7c6468724a9e30c9d030895523a45472d0489696c654b5","id":70483,"name":"UnallocatedFundsReceiverSet","nameLocation":"2504:27:124","nodeType":"EventDefinition","parameters":{"id":70482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70479,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"2540:18:124","nodeType":"VariableDeclaration","scope":70483,"src":"2532:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70478,"name":"address","nodeType":"ElementaryTypeName","src":"2532:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70481,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"2568:18:124","nodeType":"VariableDeclaration","scope":70483,"src":"2560:26:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70480,"name":"address","nodeType":"ElementaryTypeName","src":"2560:7:124","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2531:56:124"},"src":"2498:90:124"},{"anonymous":false,"documentation":{"id":70484,"nodeType":"StructuredDocumentation","src":"2591:141:124","text":" @dev Emit when quadratic funding is disabled or enabled\n @param isDisabled The flag to enable or disable quadratic funding"},"eventSelector":"2b43d88a3bdd9854ab27c30e8ece4fd10557c123742887b6343ae77bc1fe6e5d","id":70488,"name":"QuadraticFundingToggled","nameLocation":"2741:23:124","nodeType":"EventDefinition","parameters":{"id":70487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70486,"indexed":true,"mutability":"mutable","name":"isDisabled","nameLocation":"2778:10:124","nodeType":"VariableDeclaration","scope":70488,"src":"2765:23:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70485,"name":"bool","nodeType":"ElementaryTypeName","src":"2765:4:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2764:25:124"},"src":"2735:55:124"},{"documentation":{"id":70489,"nodeType":"StructuredDocumentation","src":"2794:419:124","text":" @dev Fetches the id of the current round and calculates the earnings.\n Usually when calling this function round is active, and the results should be treated as real time estimation and not final results.\n If round ends and a new round did not start yet, then the results can be considered final.\n @param appId The ID of the app for which to calculate the amount available for allocation."},"functionSelector":"fd0aac5e","id":70496,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundEarnings","nameLocation":"3225:20:124","nodeType":"FunctionDefinition","parameters":{"id":70492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70491,"mutability":"mutable","name":"appId","nameLocation":"3254:5:124","nodeType":"VariableDeclaration","scope":70496,"src":"3246:13:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3246:7:124","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3245:15:124"},"returnParameters":{"id":70495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70496,"src":"3284:7:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70493,"name":"uint256","nodeType":"ElementaryTypeName","src":"3284:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3283:9:124"},"scope":70597,"src":"3216:77:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70497,"nodeType":"StructuredDocumentation","src":"3297:1519:124","text":" @dev The amount of allocation to distribute to the apps is calculated in two parts:\n - There is a minimum amount calculated through the `baseAllocationPercentage` of total available funds for the round divided by the number of eligible apps\n - There is a variable amount (calculated upon the `variableAllocationPercentage` of total available funds) that depends on the amounts of votes that an app receives.\n There is a cap to how much each x-app will be able to receive each round. Unallocated amount is calculated when the app share is greater than the max share an app get have.\n If a round fails then we calculate the % of received votes (shares) against the previous succeeded round.\n If a round is succeeded then we calculate the % of received votes (shares) against it.\n If a round is active then results should be treated as real time estimation and not final results, since voting is still in progress.\n @param roundId The round ID for which to calculate the amount available for allocation.\n @param appId The ID of the app for which to calculate the amount available for allocation.\n @return totalAmount The total amount of $B3TR available for allocation to the app.\n @return unallocatedAmount The amount of $B3TR that was not allocated, and will be sent to the treasury.\n @return teamAllocationAmount The amount of $B3TR that will be sent to the team.\n @return x2EarnRewardsPoolAmount The amount of $B3TR reserved to reward users."},"functionSelector":"d41fc653","id":70512,"implemented":false,"kind":"function","modifiers":[],"name":"roundEarnings","nameLocation":"4828:13:124","nodeType":"FunctionDefinition","parameters":{"id":70502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70499,"mutability":"mutable","name":"roundId","nameLocation":"4855:7:124","nodeType":"VariableDeclaration","scope":70512,"src":"4847:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70498,"name":"uint256","nodeType":"ElementaryTypeName","src":"4847:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70501,"mutability":"mutable","name":"appId","nameLocation":"4876:5:124","nodeType":"VariableDeclaration","scope":70512,"src":"4868:13:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4868:7:124","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4841:44:124"},"returnParameters":{"id":70511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70504,"mutability":"mutable","name":"totalAmount","nameLocation":"4936:11:124","nodeType":"VariableDeclaration","scope":70512,"src":"4928:19:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70503,"name":"uint256","nodeType":"ElementaryTypeName","src":"4928:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70506,"mutability":"mutable","name":"unallocatedAmount","nameLocation":"4963:17:124","nodeType":"VariableDeclaration","scope":70512,"src":"4955:25:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70505,"name":"uint256","nodeType":"ElementaryTypeName","src":"4955:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70508,"mutability":"mutable","name":"teamAllocationAmount","nameLocation":"4996:20:124","nodeType":"VariableDeclaration","scope":70512,"src":"4988:28:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70507,"name":"uint256","nodeType":"ElementaryTypeName","src":"4988:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70510,"mutability":"mutable","name":"x2EarnRewardsPoolAmount","nameLocation":"5032:23:124","nodeType":"VariableDeclaration","scope":70512,"src":"5024:31:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70509,"name":"uint256","nodeType":"ElementaryTypeName","src":"5024:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4920:141:124"},"scope":70597,"src":"4819:243:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70513,"nodeType":"StructuredDocumentation","src":"5066:627:124","text":" @dev Get how much an app can claim for a given round.\n @param roundId The round ID for which to calculate the amount available for allocation.\n @param appId The ID of the app for which to calculate the amount available for allocation.\n @return totalAmount The total amount of $B3TR available for allocation to the app.\n @return unallocatedAmount The amount of $B3TR that was not allocated, and will be sent to the treasury.\n @return teamAllocationAmount The amount of $B3TR that will be sent to the team.\n @return x2EarnRewardsPoolAmount The amount of $B3TR reserved to reward users."},"functionSelector":"d39b3e85","id":70528,"implemented":false,"kind":"function","modifiers":[],"name":"claimableAmount","nameLocation":"5705:15:124","nodeType":"FunctionDefinition","parameters":{"id":70518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70515,"mutability":"mutable","name":"roundId","nameLocation":"5734:7:124","nodeType":"VariableDeclaration","scope":70528,"src":"5726:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70514,"name":"uint256","nodeType":"ElementaryTypeName","src":"5726:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70517,"mutability":"mutable","name":"appId","nameLocation":"5755:5:124","nodeType":"VariableDeclaration","scope":70528,"src":"5747:13:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5747:7:124","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5720:44:124"},"returnParameters":{"id":70527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70520,"mutability":"mutable","name":"totalAmount","nameLocation":"5815:11:124","nodeType":"VariableDeclaration","scope":70528,"src":"5807:19:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70519,"name":"uint256","nodeType":"ElementaryTypeName","src":"5807:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70522,"mutability":"mutable","name":"unallocatedAmount","nameLocation":"5842:17:124","nodeType":"VariableDeclaration","scope":70528,"src":"5834:25:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70521,"name":"uint256","nodeType":"ElementaryTypeName","src":"5834:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70524,"mutability":"mutable","name":"teamAllocationAmount","nameLocation":"5875:20:124","nodeType":"VariableDeclaration","scope":70528,"src":"5867:28:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70523,"name":"uint256","nodeType":"ElementaryTypeName","src":"5867:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70526,"mutability":"mutable","name":"x2EarnRewardsPoolAmount","nameLocation":"5911:23:124","nodeType":"VariableDeclaration","scope":70528,"src":"5903:31:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70525,"name":"uint256","nodeType":"ElementaryTypeName","src":"5903:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5799:141:124"},"scope":70597,"src":"5696:245:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70529,"nodeType":"StructuredDocumentation","src":"5945:716:124","text":" @dev Returns the scaled quadratic funding percentage of votes for a given app in a given round.\n When calculating the percentage of votes received we check if the app exceeds the max cap of shares, eg:\n if an app has 80 votes out of 100, and the max cap is 50, then the app will have a share of 50% of the available funds.\n The remaining 30% will be sent to the treasury.\n @param roundId The round ID for which to calculate the amount of votes received in percentage.\n @param appId The ID of the app.\n @return appShare The percentage of votes received by the app.\n @return unallocatedShare The amount of votes that were not allocated, and will be sent to the treasury."},"functionSelector":"738640d6","id":70540,"implemented":false,"kind":"function","modifiers":[],"name":"getAppShares","nameLocation":"6673:12:124","nodeType":"FunctionDefinition","parameters":{"id":70534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70531,"mutability":"mutable","name":"roundId","nameLocation":"6694:7:124","nodeType":"VariableDeclaration","scope":70540,"src":"6686:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70530,"name":"uint256","nodeType":"ElementaryTypeName","src":"6686:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70533,"mutability":"mutable","name":"appId","nameLocation":"6711:5:124","nodeType":"VariableDeclaration","scope":70540,"src":"6703:13:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6703:7:124","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6685:32:124"},"returnParameters":{"id":70539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70536,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70540,"src":"6741:7:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70535,"name":"uint256","nodeType":"ElementaryTypeName","src":"6741:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70540,"src":"6750:7:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70537,"name":"uint256","nodeType":"ElementaryTypeName","src":"6750:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6740:18:124"},"scope":70597,"src":"6664:95:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70541,"nodeType":"StructuredDocumentation","src":"6763:458:124","text":" @dev Calculate the minimum amount of $B3TR that will be distributed to each qualified X Application in a given round.\n `baseAllocationPercentage`% of allocations will be on average distributed to each qualified X Application as the base\n part of the allocation (so all the x-apps in the ecosystem will receive a minimum amount of $B3TR).\n @param roundId The round ID for which to calculate the amount available for allocation."},"functionSelector":"4705bdbd","id":70548,"implemented":false,"kind":"function","modifiers":[],"name":"baseAllocationAmount","nameLocation":"7233:20:124","nodeType":"FunctionDefinition","parameters":{"id":70544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70543,"mutability":"mutable","name":"roundId","nameLocation":"7262:7:124","nodeType":"VariableDeclaration","scope":70548,"src":"7254:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70542,"name":"uint256","nodeType":"ElementaryTypeName","src":"7254:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7253:17:124"},"returnParameters":{"id":70547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70546,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70548,"src":"7294:7:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70545,"name":"uint256","nodeType":"ElementaryTypeName","src":"7294:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7293:9:124"},"scope":70597,"src":"7224:79:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70549,"nodeType":"StructuredDocumentation","src":"7307:120:124","text":" @dev Returns the maximum amount an app can claim for a given round.\n @param roundId The round ID"},"functionSelector":"ca20db6e","id":70556,"implemented":false,"kind":"function","modifiers":[],"name":"getMaxAppAllocation","nameLocation":"7439:19:124","nodeType":"FunctionDefinition","parameters":{"id":70552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70551,"mutability":"mutable","name":"roundId","nameLocation":"7467:7:124","nodeType":"VariableDeclaration","scope":70556,"src":"7459:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70550,"name":"uint256","nodeType":"ElementaryTypeName","src":"7459:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7458:17:124"},"returnParameters":{"id":70555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70556,"src":"7499:7:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70553,"name":"uint256","nodeType":"ElementaryTypeName","src":"7499:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7498:9:124"},"scope":70597,"src":"7430:78:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70557,"nodeType":"StructuredDocumentation","src":"7512:103:124","text":" @dev Returns the version of the contract\n @return string The version of the contract"},"functionSelector":"54fd4d50","id":70562,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"7627:7:124","nodeType":"FunctionDefinition","parameters":{"id":70558,"nodeType":"ParameterList","parameters":[],"src":"7634:2:124"},"returnParameters":{"id":70561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70562,"src":"7660:13:124","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70559,"name":"string","nodeType":"ElementaryTypeName","src":"7660:6:124","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7659:15:124"},"scope":70597,"src":"7618:57:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70563,"nodeType":"StructuredDocumentation","src":"7679:178:124","text":" @dev Check if quadratic funding is disabled at a given round\n @param roundId The round ID\n @return true if quadratic funding is disabled at the given round"},"functionSelector":"c4b933c8","id":70570,"implemented":false,"kind":"function","modifiers":[],"name":"isQuadraticFundingDisabledForRound","nameLocation":"7869:34:124","nodeType":"FunctionDefinition","parameters":{"id":70566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70565,"mutability":"mutable","name":"roundId","nameLocation":"7912:7:124","nodeType":"VariableDeclaration","scope":70570,"src":"7904:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70564,"name":"uint256","nodeType":"ElementaryTypeName","src":"7904:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7903:17:124"},"returnParameters":{"id":70569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70568,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70570,"src":"7944:4:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70567,"name":"bool","nodeType":"ElementaryTypeName","src":"7944:4:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7943:6:124"},"scope":70597,"src":"7860:90:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70571,"nodeType":"StructuredDocumentation","src":"7954:153:124","text":" @dev Check if quadratic funding is disabled for the current round\n @return true if quadratic funding is disabled for the current round"},"functionSelector":"cc04e757","id":70576,"implemented":false,"kind":"function","modifiers":[],"name":"isQuadraticFundingDisabledForCurrentRound","nameLocation":"8119:41:124","nodeType":"FunctionDefinition","parameters":{"id":70572,"nodeType":"ParameterList","parameters":[],"src":"8160:2:124"},"returnParameters":{"id":70575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70574,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70576,"src":"8186:4:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70573,"name":"bool","nodeType":"ElementaryTypeName","src":"8186:4:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8185:6:124"},"scope":70597,"src":"8110:82:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70577,"nodeType":"StructuredDocumentation","src":"8196:63:124","text":" @dev Function to toggle quadratic funding on/off"},"functionSelector":"68575f10","id":70580,"implemented":false,"kind":"function","modifiers":[],"name":"toggleQuadraticFunding","nameLocation":"8271:22:124","nodeType":"FunctionDefinition","parameters":{"id":70578,"nodeType":"ParameterList","parameters":[],"src":"8293:2:124"},"returnParameters":{"id":70579,"nodeType":"ParameterList","parameters":[],"src":"8304:0:124"},"scope":70597,"src":"8262:43:124","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70581,"nodeType":"StructuredDocumentation","src":"8309:284:124","text":" @dev Returns the unallocated funds for a given round.\n This value is provisional until all the funds for the round have been claimed.\n @param roundId The round ID for which to return the unallocated funds.\n @return The unallocated funds for the given round."},"functionSelector":"e9a585d8","id":70588,"implemented":false,"kind":"function","modifiers":[],"name":"unallocatedFunds","nameLocation":"8605:16:124","nodeType":"FunctionDefinition","parameters":{"id":70584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70583,"mutability":"mutable","name":"roundId","nameLocation":"8630:7:124","nodeType":"VariableDeclaration","scope":70588,"src":"8622:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70582,"name":"uint256","nodeType":"ElementaryTypeName","src":"8622:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8621:17:124"},"returnParameters":{"id":70587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70588,"src":"8662:7:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70585,"name":"uint256","nodeType":"ElementaryTypeName","src":"8662:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8661:9:124"},"scope":70597,"src":"8596:75:124","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70589,"nodeType":"StructuredDocumentation","src":"8675:260:124","text":" @dev Returns true if all the funds for a given round have been claimed.\n @param roundId The round ID for which to return the all funds claimed status.\n @return True if all the funds for the given round have been claimed, false otherwise."},"functionSelector":"348a94dd","id":70596,"implemented":false,"kind":"function","modifiers":[],"name":"allFundsClaimed","nameLocation":"8947:15:124","nodeType":"FunctionDefinition","parameters":{"id":70592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70591,"mutability":"mutable","name":"roundId","nameLocation":"8971:7:124","nodeType":"VariableDeclaration","scope":70596,"src":"8963:15:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70590,"name":"uint256","nodeType":"ElementaryTypeName","src":"8963:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8962:17:124"},"returnParameters":{"id":70595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70596,"src":"9003:4:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70593,"name":"bool","nodeType":"ElementaryTypeName","src":"9003:4:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9002:6:124"},"scope":70597,"src":"8938:71:124","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":70598,"src":"57:8954:124","usedErrors":[],"usedEvents":[70448,70455,70462,70469,70476,70483,70488]}],"src":"32:8980:124"},"id":124},"contracts/interfaces/IXAllocationVotingGovernor.sol":{"ast":{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","exportedSymbols":{"IERC165":[5961],"IERC6372":[4552],"IXAllocationVotingGovernor":[71124]},"id":71125,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":70599,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:125"},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","file":"@openzeppelin/contracts/interfaces/IERC165.sol","id":70601,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71125,"sourceUnit":4503,"src":"57:73:125","symbolAliases":[{"foreign":{"id":70600,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"66:7:125","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC6372.sol","file":"@openzeppelin/contracts/interfaces/IERC6372.sol","id":70603,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71125,"sourceUnit":4553,"src":"131:75:125","symbolAliases":[{"foreign":{"id":70602,"name":"IERC6372","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4552,"src":"140:8:125","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":70605,"name":"IERC165","nameLocations":["1267:7:125"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"1267:7:125"},"id":70606,"nodeType":"InheritanceSpecifier","src":"1267:7:125"},{"baseName":{"id":70607,"name":"IERC6372","nameLocations":["1276:8:125"],"nodeType":"IdentifierPath","referencedDeclaration":4552,"src":"1276:8:125"},"id":70608,"nodeType":"InheritanceSpecifier","src":"1276:8:125"}],"canonicalName":"IXAllocationVotingGovernor","contractDependencies":[],"contractKind":"interface","documentation":{"id":70604,"nodeType":"StructuredDocumentation","src":"208:1018:125","text":" @dev Interface of the distribution allocation voting for the x-allocation pool reward distributions.\n This interface was forked from OpenZeppelin's IGovernor.sol and modified to fit the needs of a voting mechanism\n where a user can vote on multpile x-apps belonging to the ecosystem and fractionalize their votes accross the x-apps.\n There can be only one round per time.\n After the round is created  it becomes immediately active.\n There can be only two possible outcomes of a round: it succeeds or it fails.\n To succeed the only requirement is that the quorum is reached.\n New allocation rounds can be started only by the Emissions contract, this way we can align the duration\n of emission cycles and allocation rounds.\n If the round fails, we will need to “finalize” it, which means we will create a pointer to the last succeeded round\n where shares should be calculated. Anyone can finalize the failed round,\n but it will be automatically done when a new round starts."},"fullyImplemented":false,"id":71124,"linearizedBaseContracts":[71124,4552,5961],"name":"IXAllocationVotingGovernor","nameLocation":"1237:26:125","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IXAllocationVotingGovernor.RoundState","id":70612,"members":[{"id":70609,"name":"Active","nameLocation":"1311:6:125","nodeType":"EnumValue","src":"1311:6:125"},{"id":70610,"name":"Failed","nameLocation":"1323:6:125","nodeType":"EnumValue","src":"1323:6:125"},{"id":70611,"name":"Succeeded","nameLocation":"1335:9:125","nodeType":"EnumValue","src":"1335:9:125"}],"name":"RoundState","nameLocation":"1294:10:125","nodeType":"EnumDefinition","src":"1289:59:125"},{"documentation":{"id":70613,"nodeType":"StructuredDocumentation","src":"1352:46:125","text":" @dev The vote was already cast."},"errorSelector":"71c6af49","id":70617,"name":"GovernorAlreadyCastVote","nameLocation":"1407:23:125","nodeType":"ErrorDefinition","parameters":{"id":70616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70615,"mutability":"mutable","name":"voter","nameLocation":"1439:5:125","nodeType":"VariableDeclaration","scope":70617,"src":"1431:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70614,"name":"address","nodeType":"ElementaryTypeName","src":"1431:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1430:15:125"},"src":"1401:45:125"},{"documentation":{"id":70618,"nodeType":"StructuredDocumentation","src":"1450:65:125","text":" @dev The `account` is not the governance executor."},"errorSelector":"5e309d21","id":70622,"name":"B3TRGovernorOnlyExecutor","nameLocation":"1524:24:125","nodeType":"ErrorDefinition","parameters":{"id":70621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70620,"mutability":"mutable","name":"account","nameLocation":"1557:7:125","nodeType":"VariableDeclaration","scope":70622,"src":"1549:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70619,"name":"address","nodeType":"ElementaryTypeName","src":"1549:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1548:17:125"},"src":"1518:48:125"},{"documentation":{"id":70623,"nodeType":"StructuredDocumentation","src":"1570:48:125","text":" @dev The `roundId` doesn't exist."},"errorSelector":"ced38c6c","id":70627,"name":"GovernorNonexistentRound","nameLocation":"1627:24:125","nodeType":"ErrorDefinition","parameters":{"id":70626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70625,"mutability":"mutable","name":"roundId","nameLocation":"1660:7:125","nodeType":"VariableDeclaration","scope":70627,"src":"1652:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70624,"name":"uint256","nodeType":"ElementaryTypeName","src":"1652:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1651:17:125"},"src":"1621:48:125"},{"documentation":{"id":70628,"nodeType":"StructuredDocumentation","src":"1673:497:125","text":" @dev The current state of a round is not the required for performing an operation.\n The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position\n counting from right to left.\n NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist).\n This is the case when a round that is expected to be unset is already initiated (the round is duplicated).\n See {Governor-_encodeStateBitmap}."},"errorSelector":"43656b56","id":70637,"name":"GovernorUnexpectedRoundState","nameLocation":"2179:28:125","nodeType":"ErrorDefinition","parameters":{"id":70636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70630,"mutability":"mutable","name":"roundId","nameLocation":"2216:7:125","nodeType":"VariableDeclaration","scope":70637,"src":"2208:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70629,"name":"uint256","nodeType":"ElementaryTypeName","src":"2208:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70633,"mutability":"mutable","name":"current","nameLocation":"2236:7:125","nodeType":"VariableDeclaration","scope":70637,"src":"2225:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":70632,"nodeType":"UserDefinedTypeName","pathNode":{"id":70631,"name":"RoundState","nameLocations":["2225:10:125"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"2225:10:125"},"referencedDeclaration":70612,"src":"2225:10:125","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"},{"constant":false,"id":70635,"mutability":"mutable","name":"expectedStates","nameLocation":"2253:14:125","nodeType":"VariableDeclaration","scope":70637,"src":"2245:22:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2245:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2207:61:125"},"src":"2173:96:125"},{"documentation":{"id":70638,"nodeType":"StructuredDocumentation","src":"2273:64:125","text":" @dev The voting period set is not a valid period."},"errorSelector":"f1cfbf05","id":70642,"name":"GovernorInvalidVotingPeriod","nameLocation":"2346:27:125","nodeType":"ErrorDefinition","parameters":{"id":70641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70640,"mutability":"mutable","name":"votingPeriod","nameLocation":"2382:12:125","nodeType":"VariableDeclaration","scope":70642,"src":"2374:20:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70639,"name":"uint256","nodeType":"ElementaryTypeName","src":"2374:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2373:22:125"},"src":"2340:56:125"},{"documentation":{"id":70643,"nodeType":"StructuredDocumentation","src":"2400:110:125","text":" @dev The `appId` is not present in the list with the available x-apps for voting in this round."},"errorSelector":"4b8a7232","id":70647,"name":"GovernorAppNotAvailableForVoting","nameLocation":"2519:32:125","nodeType":"ErrorDefinition","parameters":{"id":70646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70645,"mutability":"mutable","name":"appId","nameLocation":"2560:5:125","nodeType":"VariableDeclaration","scope":70647,"src":"2552:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2552:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2551:15:125"},"src":"2513:54:125"},{"documentation":{"id":70648,"nodeType":"StructuredDocumentation","src":"2571:53:125","text":" @dev The `votingThreshold` is not met."},"errorSelector":"742f62c3","id":70654,"name":"GovernorVotingThresholdNotMet","nameLocation":"2633:29:125","nodeType":"ErrorDefinition","parameters":{"id":70653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70650,"mutability":"mutable","name":"threshold","nameLocation":"2671:9:125","nodeType":"VariableDeclaration","scope":70654,"src":"2663:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70649,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70652,"mutability":"mutable","name":"votes","nameLocation":"2690:5:125","nodeType":"VariableDeclaration","scope":70654,"src":"2682:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70651,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2662:34:125"},"src":"2627:70:125"},{"documentation":{"id":70655,"nodeType":"StructuredDocumentation","src":"2701:95:125","text":" @dev The `voter` has insufficient voting power for this round to cast the votes."},"errorSelector":"0cc9baf7","id":70657,"name":"GovernorInsufficientVotingPower","nameLocation":"2805:31:125","nodeType":"ErrorDefinition","parameters":{"id":70656,"nodeType":"ParameterList","parameters":[],"src":"2836:2:125"},"src":"2799:40:125"},{"documentation":{"id":70658,"nodeType":"StructuredDocumentation","src":"2843:98:125","text":" @dev The `voter` has voted for the same app multiple times in the same transaction."},"errorSelector":"8d9eb3dc","id":70660,"name":"DuplicateAppVote","nameLocation":"2950:16:125","nodeType":"ErrorDefinition","parameters":{"id":70659,"nodeType":"ParameterList","parameters":[],"src":"2966:2:125"},"src":"2944:25:125"},{"documentation":{"id":70661,"nodeType":"StructuredDocumentation","src":"2973:82:125","text":" The `voter` is not identified as a person via the VeBetterPassport."},"errorSelector":"44c45349","id":70667,"name":"GovernorPersonhoodVerificationFailed","nameLocation":"3064:36:125","nodeType":"ErrorDefinition","parameters":{"id":70666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70663,"mutability":"mutable","name":"person","nameLocation":"3109:6:125","nodeType":"VariableDeclaration","scope":70667,"src":"3101:14:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70662,"name":"address","nodeType":"ElementaryTypeName","src":"3101:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70665,"mutability":"mutable","name":"reason","nameLocation":"3124:6:125","nodeType":"VariableDeclaration","scope":70667,"src":"3117:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70664,"name":"string","nodeType":"ElementaryTypeName","src":"3117:6:125","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3100:31:125"},"src":"3058:74:125"},{"documentation":{"id":70668,"nodeType":"StructuredDocumentation","src":"3136:88:125","text":" @dev The `person` is not identified as a person via the VeBetterPassport."},"errorSelector":"68804cc0","id":70672,"name":"XAllocationVotingPersonhoodVerificationFailed","nameLocation":"3233:45:125","nodeType":"ErrorDefinition","parameters":{"id":70671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70670,"mutability":"mutable","name":"person","nameLocation":"3287:6:125","nodeType":"VariableDeclaration","scope":70672,"src":"3279:14:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70669,"name":"address","nodeType":"ElementaryTypeName","src":"3279:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3278:16:125"},"src":"3227:68:125"},{"documentation":{"id":70673,"nodeType":"StructuredDocumentation","src":"3299:60:125","text":" @dev The `voter` has auto-voting not enabled."},"errorSelector":"2b8b7c89","id":70677,"name":"AutoVotingNotEnabled","nameLocation":"3368:20:125","nodeType":"ErrorDefinition","parameters":{"id":70676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70675,"mutability":"mutable","name":"voter","nameLocation":"3397:5:125","nodeType":"VariableDeclaration","scope":70677,"src":"3389:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70674,"name":"address","nodeType":"ElementaryTypeName","src":"3389:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3388:15:125"},"src":"3362:42:125"},{"documentation":{"id":70678,"nodeType":"StructuredDocumentation","src":"3408:56:125","text":" @dev The `voter` has auto-voting enabled."},"errorSelector":"05b27abd","id":70682,"name":"AutoVotingEnabled","nameLocation":"3473:17:125","nodeType":"ErrorDefinition","parameters":{"id":70681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70680,"mutability":"mutable","name":"voter","nameLocation":"3499:5:125","nodeType":"VariableDeclaration","scope":70682,"src":"3491:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70679,"name":"address","nodeType":"ElementaryTypeName","src":"3491:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3490:15:125"},"src":"3467:39:125"},{"documentation":{"id":70683,"nodeType":"StructuredDocumentation","src":"3510:174:125","text":" @dev Thrown when a zero address is provided for a contract address parameter\n @param contractName The name/type of the contract that cannot be zero address"},"errorSelector":"e21b9230","id":70687,"name":"InvalidContractAddress","nameLocation":"3693:22:125","nodeType":"ErrorDefinition","parameters":{"id":70686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70685,"mutability":"mutable","name":"contractName","nameLocation":"3723:12:125","nodeType":"VariableDeclaration","scope":70687,"src":"3716:19:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70684,"name":"string","nodeType":"ElementaryTypeName","src":"3716:6:125","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3715:21:125"},"src":"3687:50:125"},{"documentation":{"id":70688,"nodeType":"StructuredDocumentation","src":"3741:45:125","text":" @dev The `caller` is not valid"},"errorSelector":"cbd9d2e0","id":70692,"name":"InvalidCaller","nameLocation":"3795:13:125","nodeType":"ErrorDefinition","parameters":{"id":70691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70690,"mutability":"mutable","name":"caller","nameLocation":"3817:6:125","nodeType":"VariableDeclaration","scope":70692,"src":"3809:14:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70689,"name":"address","nodeType":"ElementaryTypeName","src":"3809:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3808:16:125"},"src":"3789:36:125"},{"documentation":{"id":70693,"nodeType":"StructuredDocumentation","src":"3829:61:125","text":" @dev Citizen is not delegated to any navigator"},"errorSelector":"68e4d5d8","id":70697,"name":"NotDelegatedToNavigator","nameLocation":"3899:23:125","nodeType":"ErrorDefinition","parameters":{"id":70696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70695,"mutability":"mutable","name":"citizen","nameLocation":"3931:7:125","nodeType":"VariableDeclaration","scope":70697,"src":"3923:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70694,"name":"address","nodeType":"ElementaryTypeName","src":"3923:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3922:17:125"},"src":"3893:47:125"},{"documentation":{"id":70698,"nodeType":"StructuredDocumentation","src":"3944:80:125","text":" @dev Citizen is delegated to a navigator and cannot vote manually"},"errorSelector":"640ed183","id":70702,"name":"DelegatedToNavigator","nameLocation":"4033:20:125","nodeType":"ErrorDefinition","parameters":{"id":70701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70700,"mutability":"mutable","name":"citizen","nameLocation":"4062:7:125","nodeType":"VariableDeclaration","scope":70702,"src":"4054:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70699,"name":"address","nodeType":"ElementaryTypeName","src":"4054:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4053:17:125"},"src":"4027:44:125"},{"documentation":{"id":70703,"nodeType":"StructuredDocumentation","src":"4075:55:125","text":" @dev Navigator cannot enable auto-voting"},"errorSelector":"8523c47f","id":70707,"name":"NavigatorCannotEnableAutoVoting","nameLocation":"4139:31:125","nodeType":"ErrorDefinition","parameters":{"id":70706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70705,"mutability":"mutable","name":"navigator","nameLocation":"4179:9:125","nodeType":"VariableDeclaration","scope":70707,"src":"4171:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70704,"name":"address","nodeType":"ElementaryTypeName","src":"4171:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4170:19:125"},"src":"4133:57:125"},{"documentation":{"id":70708,"nodeType":"StructuredDocumentation","src":"4194:78:125","text":" @dev Navigator has not set allocation preferences for the round"},"errorSelector":"aee9bd3f","id":70714,"name":"NavigatorPreferencesNotSet","nameLocation":"4281:26:125","nodeType":"ErrorDefinition","parameters":{"id":70713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70710,"mutability":"mutable","name":"navigator","nameLocation":"4316:9:125","nodeType":"VariableDeclaration","scope":70714,"src":"4308:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70709,"name":"address","nodeType":"ElementaryTypeName","src":"4308:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70712,"mutability":"mutable","name":"roundId","nameLocation":"4335:7:125","nodeType":"VariableDeclaration","scope":70714,"src":"4327:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70711,"name":"uint256","nodeType":"ElementaryTypeName","src":"4327:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4307:36:125"},"src":"4275:69:125"},{"documentation":{"id":70715,"nodeType":"StructuredDocumentation","src":"4348:111:125","text":" @dev The skip window (minimum time into the round before skips are allowed) has not been reached"},"errorSelector":"8e951db6","id":70719,"name":"SkipWindowNotReached","nameLocation":"4468:20:125","nodeType":"ErrorDefinition","parameters":{"id":70718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70717,"mutability":"mutable","name":"roundId","nameLocation":"4497:7:125","nodeType":"VariableDeclaration","scope":70719,"src":"4489:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70716,"name":"uint256","nodeType":"ElementaryTypeName","src":"4489:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4488:17:125"},"src":"4462:44:125"},{"documentation":{"id":70720,"nodeType":"StructuredDocumentation","src":"4510:90:125","text":" @dev The voter has already been processed (voted or skipped) for this round"},"errorSelector":"15217ac6","id":70726,"name":"VoteAlreadyProcessed","nameLocation":"4609:20:125","nodeType":"ErrorDefinition","parameters":{"id":70725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70722,"mutability":"mutable","name":"voter","nameLocation":"4638:5:125","nodeType":"VariableDeclaration","scope":70726,"src":"4630:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70721,"name":"address","nodeType":"ElementaryTypeName","src":"4630:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70724,"mutability":"mutable","name":"roundId","nameLocation":"4653:7:125","nodeType":"VariableDeclaration","scope":70726,"src":"4645:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70723,"name":"uint256","nodeType":"ElementaryTypeName","src":"4645:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4629:32:125"},"src":"4603:59:125"},{"anonymous":false,"documentation":{"id":70727,"nodeType":"StructuredDocumentation","src":"4666:56:125","text":" @dev Emitted when auto-voting is skipped."},"eventSelector":"55b62c33ca46df94310e16fc7e52e8ed456d93a5f21b1e7b5b4c2428905ddebc","id":70739,"name":"AutoVoteSkipped","nameLocation":"4731:15:125","nodeType":"EventDefinition","parameters":{"id":70738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70729,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"4768:5:125","nodeType":"VariableDeclaration","scope":70739,"src":"4752:21:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70728,"name":"address","nodeType":"ElementaryTypeName","src":"4752:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70731,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"4795:7:125","nodeType":"VariableDeclaration","scope":70739,"src":"4779:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70730,"name":"uint256","nodeType":"ElementaryTypeName","src":"4779:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70733,"indexed":false,"mutability":"mutable","name":"isPerson","nameLocation":"4813:8:125","nodeType":"VariableDeclaration","scope":70739,"src":"4808:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70732,"name":"bool","nodeType":"ElementaryTypeName","src":"4808:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":70735,"indexed":false,"mutability":"mutable","name":"appCount","nameLocation":"4835:8:125","nodeType":"VariableDeclaration","scope":70739,"src":"4827:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70734,"name":"uint256","nodeType":"ElementaryTypeName","src":"4827:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70737,"indexed":false,"mutability":"mutable","name":"votingPower","nameLocation":"4857:11:125","nodeType":"VariableDeclaration","scope":70739,"src":"4849:19:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70736,"name":"uint256","nodeType":"ElementaryTypeName","src":"4849:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4746:126:125"},"src":"4725:148:125"},{"anonymous":false,"documentation":{"id":70740,"nodeType":"StructuredDocumentation","src":"4877:52:125","text":" @dev Emitted when a round is created."},"eventSelector":"ed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c8","id":70753,"name":"RoundCreated","nameLocation":"4938:12:125","nodeType":"EventDefinition","parameters":{"id":70752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70742,"indexed":false,"mutability":"mutable","name":"roundId","nameLocation":"4959:7:125","nodeType":"VariableDeclaration","scope":70753,"src":"4951:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70741,"name":"uint256","nodeType":"ElementaryTypeName","src":"4951:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70744,"indexed":false,"mutability":"mutable","name":"proposer","nameLocation":"4976:8:125","nodeType":"VariableDeclaration","scope":70753,"src":"4968:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70743,"name":"address","nodeType":"ElementaryTypeName","src":"4968:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70746,"indexed":false,"mutability":"mutable","name":"voteStart","nameLocation":"4994:9:125","nodeType":"VariableDeclaration","scope":70753,"src":"4986:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70745,"name":"uint256","nodeType":"ElementaryTypeName","src":"4986:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70748,"indexed":false,"mutability":"mutable","name":"voteEnd","nameLocation":"5013:7:125","nodeType":"VariableDeclaration","scope":70753,"src":"5005:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70747,"name":"uint256","nodeType":"ElementaryTypeName","src":"5005:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70751,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"5032:7:125","nodeType":"VariableDeclaration","scope":70753,"src":"5022:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":70749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5022:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":70750,"nodeType":"ArrayTypeName","src":"5022:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4950:90:125"},"src":"4932:109:125"},{"anonymous":false,"documentation":{"id":70754,"nodeType":"StructuredDocumentation","src":"5045:53:125","text":" @dev Emitted when votes are cast."},"eventSelector":"e2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e2","id":70766,"name":"AllocationVoteCast","nameLocation":"5107:18:125","nodeType":"EventDefinition","parameters":{"id":70765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70756,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"5142:5:125","nodeType":"VariableDeclaration","scope":70766,"src":"5126:21:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70755,"name":"address","nodeType":"ElementaryTypeName","src":"5126:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70758,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"5165:7:125","nodeType":"VariableDeclaration","scope":70766,"src":"5149:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70757,"name":"uint256","nodeType":"ElementaryTypeName","src":"5149:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70761,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"5184:7:125","nodeType":"VariableDeclaration","scope":70766,"src":"5174:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":70759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5174:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":70760,"nodeType":"ArrayTypeName","src":"5174:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":70764,"indexed":false,"mutability":"mutable","name":"voteWeights","nameLocation":"5203:11:125","nodeType":"VariableDeclaration","scope":70766,"src":"5193:21:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":70762,"name":"uint256","nodeType":"ElementaryTypeName","src":"5193:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70763,"nodeType":"ArrayTypeName","src":"5193:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5125:90:125"},"src":"5101:115:125"},{"anonymous":false,"documentation":{"id":70767,"nodeType":"StructuredDocumentation","src":"5220:72:125","text":" @dev Emitted when a vote is cast on behalf of an account."},"eventSelector":"64dbcb1d23926d04f2fea8c7cc3f5d02846ee1e48940419cf422f69ae35813aa","id":70779,"name":"AllocationAutoVoteCast","nameLocation":"5301:22:125","nodeType":"EventDefinition","parameters":{"id":70778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70769,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"5345:5:125","nodeType":"VariableDeclaration","scope":70779,"src":"5329:21:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70768,"name":"address","nodeType":"ElementaryTypeName","src":"5329:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70771,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"5372:7:125","nodeType":"VariableDeclaration","scope":70779,"src":"5356:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70770,"name":"uint256","nodeType":"ElementaryTypeName","src":"5356:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70774,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"5395:7:125","nodeType":"VariableDeclaration","scope":70779,"src":"5385:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":70772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5385:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":70773,"nodeType":"ArrayTypeName","src":"5385:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":70777,"indexed":false,"mutability":"mutable","name":"voteWeights","nameLocation":"5418:11:125","nodeType":"VariableDeclaration","scope":70779,"src":"5408:21:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":70775,"name":"uint256","nodeType":"ElementaryTypeName","src":"5408:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70776,"nodeType":"ArrayTypeName","src":"5408:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5323:110:125"},"src":"5295:139:125"},{"anonymous":false,"documentation":{"id":70780,"nodeType":"StructuredDocumentation","src":"5438:70:125","text":" @dev Emitted when autovoting is toggled for an account."},"eventSelector":"6baead299a74ec4ebb558b9c9507046309c90e561107f4776cef02327b526549","id":70786,"name":"AutoVotingToggled","nameLocation":"5517:17:125","nodeType":"EventDefinition","parameters":{"id":70785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70782,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"5551:7:125","nodeType":"VariableDeclaration","scope":70786,"src":"5535:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70781,"name":"address","nodeType":"ElementaryTypeName","src":"5535:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70784,"indexed":false,"mutability":"mutable","name":"enabled","nameLocation":"5565:7:125","nodeType":"VariableDeclaration","scope":70786,"src":"5560:12:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70783,"name":"bool","nodeType":"ElementaryTypeName","src":"5560:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5534:39:125"},"src":"5511:63:125"},{"anonymous":false,"documentation":{"id":70787,"nodeType":"StructuredDocumentation","src":"5578:79:125","text":" @dev Emitted when the preferred apps are updated for an account."},"eventSelector":"3e3998ec06c031c887b2c4825699d96390034bafa666cc53be14a1b832a0654e","id":70794,"name":"PreferredAppsUpdated","nameLocation":"5666:20:125","nodeType":"EventDefinition","parameters":{"id":70793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70789,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"5703:7:125","nodeType":"VariableDeclaration","scope":70794,"src":"5687:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70788,"name":"address","nodeType":"ElementaryTypeName","src":"5687:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70792,"indexed":false,"mutability":"mutable","name":"apps","nameLocation":"5722:4:125","nodeType":"VariableDeclaration","scope":70794,"src":"5712:14:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":70790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5712:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":70791,"nodeType":"ArrayTypeName","src":"5712:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5686:41:125"},"src":"5660:68:125"},{"anonymous":false,"documentation":{"id":70795,"nodeType":"StructuredDocumentation","src":"5732:90:125","text":" @dev Emitted when a navigator casts a vote on behalf of a delegated citizen"},"eventSelector":"28e698009c3f75a566409d95005b1906bbae152060ccf899a822777dd147950c","id":70809,"name":"NavigatorVoteCast","nameLocation":"5831:17:125","nodeType":"EventDefinition","parameters":{"id":70808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70797,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"5870:7:125","nodeType":"VariableDeclaration","scope":70809,"src":"5854:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70796,"name":"address","nodeType":"ElementaryTypeName","src":"5854:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70799,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"5899:9:125","nodeType":"VariableDeclaration","scope":70809,"src":"5883:25:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70798,"name":"address","nodeType":"ElementaryTypeName","src":"5883:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70801,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"5930:7:125","nodeType":"VariableDeclaration","scope":70809,"src":"5914:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70800,"name":"uint256","nodeType":"ElementaryTypeName","src":"5914:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70804,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"5953:7:125","nodeType":"VariableDeclaration","scope":70809,"src":"5943:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":70802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5943:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":70803,"nodeType":"ArrayTypeName","src":"5943:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":70807,"indexed":false,"mutability":"mutable","name":"voteWeights","nameLocation":"5976:11:125","nodeType":"VariableDeclaration","scope":70809,"src":"5966:21:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":70805,"name":"uint256","nodeType":"ElementaryTypeName","src":"5966:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70806,"nodeType":"ArrayTypeName","src":"5966:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5848:143:125"},"src":"5825:167:125"},{"anonymous":false,"documentation":{"id":70810,"nodeType":"StructuredDocumentation","src":"5996:99:125","text":" @dev Emitted when a navigator vote is skipped (navigator dead or no preferences set)"},"eventSelector":"8e8addaac431662b768d45375ef48133b8bad0daad5ce4096fd41007e8d31a87","id":70818,"name":"NavigatorVoteSkipped","nameLocation":"6104:20:125","nodeType":"EventDefinition","parameters":{"id":70817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70812,"indexed":true,"mutability":"mutable","name":"citizen","nameLocation":"6141:7:125","nodeType":"VariableDeclaration","scope":70818,"src":"6125:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70811,"name":"address","nodeType":"ElementaryTypeName","src":"6125:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70814,"indexed":true,"mutability":"mutable","name":"navigator","nameLocation":"6166:9:125","nodeType":"VariableDeclaration","scope":70818,"src":"6150:25:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70813,"name":"address","nodeType":"ElementaryTypeName","src":"6150:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70816,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"6193:7:125","nodeType":"VariableDeclaration","scope":70818,"src":"6177:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70815,"name":"uint256","nodeType":"ElementaryTypeName","src":"6177:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6124:77:125"},"src":"6098:104:125"},{"anonymous":false,"documentation":{"id":70819,"nodeType":"StructuredDocumentation","src":"6206:396:125","text":" @dev Emitted when a freshness multiplier is applied to a vote.\n @param voter The voter address\n @param roundId The round in which the vote was cast\n @param fingerprint The XOR fingerprint of the voted apps\n @param lastChangedRound The round when the voter's fingerprint last changed\n @param multiplier The freshness multiplier applied (basis points, 10000 = 1x)"},"eventSelector":"0e517902a3b560beed6397b3f68b465d56e2928c11722f4e1766c6a25ff65906","id":70831,"name":"FreshnessMultiplierApplied","nameLocation":"6611:26:125","nodeType":"EventDefinition","parameters":{"id":70830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70821,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"6659:5:125","nodeType":"VariableDeclaration","scope":70831,"src":"6643:21:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70820,"name":"address","nodeType":"ElementaryTypeName","src":"6643:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70823,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"6686:7:125","nodeType":"VariableDeclaration","scope":70831,"src":"6670:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70822,"name":"uint256","nodeType":"ElementaryTypeName","src":"6670:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70825,"indexed":false,"mutability":"mutable","name":"fingerprint","nameLocation":"6707:11:125","nodeType":"VariableDeclaration","scope":70831,"src":"6699:19:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6699:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70827,"indexed":false,"mutability":"mutable","name":"lastChangedRound","nameLocation":"6732:16:125","nodeType":"VariableDeclaration","scope":70831,"src":"6724:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70826,"name":"uint256","nodeType":"ElementaryTypeName","src":"6724:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70829,"indexed":false,"mutability":"mutable","name":"multiplier","nameLocation":"6762:10:125","nodeType":"VariableDeclaration","scope":70831,"src":"6754:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70828,"name":"uint256","nodeType":"ElementaryTypeName","src":"6754:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6637:139:125"},"src":"6605:172:125"},{"documentation":{"id":70832,"nodeType":"StructuredDocumentation","src":"6781:138:125","text":" @notice module:core\n @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\""},"functionSelector":"54fd4d50","id":70837,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"6931:7:125","nodeType":"FunctionDefinition","parameters":{"id":70833,"nodeType":"ParameterList","parameters":[],"src":"6938:2:125"},"returnParameters":{"id":70836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70835,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70837,"src":"6964:13:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70834,"name":"string","nodeType":"ElementaryTypeName","src":"6964:6:125","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6963:15:125"},"scope":71124,"src":"6922:57:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70838,"nodeType":"StructuredDocumentation","src":"6983:69:125","text":" @notice module:core\n @dev Current state of a round"},"functionSelector":"3e4f49e6","id":70846,"implemented":false,"kind":"function","modifiers":[],"name":"state","nameLocation":"7064:5:125","nodeType":"FunctionDefinition","parameters":{"id":70841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70840,"mutability":"mutable","name":"roundId","nameLocation":"7078:7:125","nodeType":"VariableDeclaration","scope":70846,"src":"7070:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70839,"name":"uint256","nodeType":"ElementaryTypeName","src":"7070:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7069:17:125"},"returnParameters":{"id":70845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70846,"src":"7110:10:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":70843,"nodeType":"UserDefinedTypeName","pathNode":{"id":70842,"name":"RoundState","nameLocations":["7110:10:125"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"7110:10:125"},"referencedDeclaration":70612,"src":"7110:10:125","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"}],"src":"7109:12:125"},"scope":71124,"src":"7055:67:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70847,"nodeType":"StructuredDocumentation","src":"7126:283:125","text":" @notice module:core\n @dev Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the\n snapshot is performed at the end of this block. Hence, voting for this round starts at the beginning of the\n following block."},"functionSelector":"d06efeda","id":70854,"implemented":false,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"7421:13:125","nodeType":"FunctionDefinition","parameters":{"id":70850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70849,"mutability":"mutable","name":"roundId","nameLocation":"7443:7:125","nodeType":"VariableDeclaration","scope":70854,"src":"7435:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70848,"name":"uint256","nodeType":"ElementaryTypeName","src":"7435:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7434:17:125"},"returnParameters":{"id":70853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70852,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70854,"src":"7475:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70851,"name":"uint256","nodeType":"ElementaryTypeName","src":"7475:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:9:125"},"scope":71124,"src":"7412:72:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70855,"nodeType":"StructuredDocumentation","src":"7488:194:125","text":" @notice module:core\n @dev Timepoint at which votes close. If using block number, votes close at the end of this block, so it is\n possible to cast a vote during this block."},"functionSelector":"d3a368bd","id":70862,"implemented":false,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"7694:13:125","nodeType":"FunctionDefinition","parameters":{"id":70858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70857,"mutability":"mutable","name":"roundId","nameLocation":"7716:7:125","nodeType":"VariableDeclaration","scope":70862,"src":"7708:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70856,"name":"uint256","nodeType":"ElementaryTypeName","src":"7708:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7707:17:125"},"returnParameters":{"id":70861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70862,"src":"7748:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70859,"name":"uint256","nodeType":"ElementaryTypeName","src":"7748:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7747:9:125"},"scope":71124,"src":"7685:72:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70863,"nodeType":"StructuredDocumentation","src":"7761:507:125","text":" @notice module:user-config\n @dev Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock\n (see EIP-6372) this contract uses.\n NOTE: This value is stored when the round is submitted so that possible changes to the value do not affect\n proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this\n interface returns a uint256, the value it returns should fit in a uint32."},"functionSelector":"02a251a3","id":70868,"implemented":false,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"8280:12:125","nodeType":"FunctionDefinition","parameters":{"id":70864,"nodeType":"ParameterList","parameters":[],"src":"8292:2:125"},"returnParameters":{"id":70867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70868,"src":"8318:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70865,"name":"uint256","nodeType":"ElementaryTypeName","src":"8318:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8317:9:125"},"scope":71124,"src":"8271:56:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70869,"nodeType":"StructuredDocumentation","src":"8331:343:125","text":" @notice module:user-config\n @dev Minimum number of cast voted required for a round to be successful.\n NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes})."},"functionSelector":"f8ce560a","id":70876,"implemented":false,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"8686:6:125","nodeType":"FunctionDefinition","parameters":{"id":70872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70871,"mutability":"mutable","name":"timepoint","nameLocation":"8701:9:125","nodeType":"VariableDeclaration","scope":70876,"src":"8693:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70870,"name":"uint256","nodeType":"ElementaryTypeName","src":"8693:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8692:19:125"},"returnParameters":{"id":70875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70876,"src":"8735:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70873,"name":"uint256","nodeType":"ElementaryTypeName","src":"8735:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8734:9:125"},"scope":71124,"src":"8677:67:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70877,"nodeType":"StructuredDocumentation","src":"8748:220:125","text":" @notice module:user-config\n @dev Minimum number of cast voted required for a round to be successful.\n NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated."},"functionSelector":"59529edd","id":70884,"implemented":false,"kind":"function","modifiers":[],"name":"roundQuorum","nameLocation":"8980:11:125","nodeType":"FunctionDefinition","parameters":{"id":70880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70879,"mutability":"mutable","name":"roundId","nameLocation":"9000:7:125","nodeType":"VariableDeclaration","scope":70884,"src":"8992:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70878,"name":"uint256","nodeType":"ElementaryTypeName","src":"8992:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8991:17:125"},"returnParameters":{"id":70883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70882,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70884,"src":"9032:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70881,"name":"uint256","nodeType":"ElementaryTypeName","src":"9032:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9031:9:125"},"scope":71124,"src":"8971:70:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70885,"nodeType":"StructuredDocumentation","src":"9045:262:125","text":" @notice module:reputation\n @dev Voting power of an `account` at a specific `timepoint`.\n Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n multiple), {ERC20Votes} tokens."},"functionSelector":"eb9019d4","id":70894,"implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"9319:8:125","nodeType":"FunctionDefinition","parameters":{"id":70890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70887,"mutability":"mutable","name":"account","nameLocation":"9336:7:125","nodeType":"VariableDeclaration","scope":70894,"src":"9328:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70886,"name":"address","nodeType":"ElementaryTypeName","src":"9328:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70889,"mutability":"mutable","name":"timepoint","nameLocation":"9353:9:125","nodeType":"VariableDeclaration","scope":70894,"src":"9345:17:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70888,"name":"uint256","nodeType":"ElementaryTypeName","src":"9345:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9327:36:125"},"returnParameters":{"id":70893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70892,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70894,"src":"9387:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70891,"name":"uint256","nodeType":"ElementaryTypeName","src":"9387:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9386:9:125"},"scope":71124,"src":"9310:86:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70895,"nodeType":"StructuredDocumentation","src":"9400:101:125","text":" @notice module:reputation\n @dev Total number of votes cast in an allocation round."},"functionSelector":"19e6e158","id":70902,"implemented":false,"kind":"function","modifiers":[],"name":"totalVotes","nameLocation":"9513:10:125","nodeType":"FunctionDefinition","parameters":{"id":70898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70897,"mutability":"mutable","name":"roundId","nameLocation":"9532:7:125","nodeType":"VariableDeclaration","scope":70902,"src":"9524:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70896,"name":"uint256","nodeType":"ElementaryTypeName","src":"9524:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9523:17:125"},"returnParameters":{"id":70901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70900,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70902,"src":"9564:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70899,"name":"uint256","nodeType":"ElementaryTypeName","src":"9564:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9563:9:125"},"scope":71124,"src":"9504:69:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70903,"nodeType":"StructuredDocumentation","src":"9577:97:125","text":" @notice module:reputation\n @dev Total number of voters in an allocation round."},"functionSelector":"498d91bf","id":70910,"implemented":false,"kind":"function","modifiers":[],"name":"totalVoters","nameLocation":"9686:11:125","nodeType":"FunctionDefinition","parameters":{"id":70906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70905,"mutability":"mutable","name":"roundId","nameLocation":"9706:7:125","nodeType":"VariableDeclaration","scope":70910,"src":"9698:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70904,"name":"uint256","nodeType":"ElementaryTypeName","src":"9698:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9697:17:125"},"returnParameters":{"id":70909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70908,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70910,"src":"9738:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70907,"name":"uint256","nodeType":"ElementaryTypeName","src":"9738:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9737:9:125"},"scope":71124,"src":"9677:70:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70911,"nodeType":"StructuredDocumentation","src":"9751:114:125","text":" @notice module:reputation\n @dev Number of votes cast for a specific app in an allocation round."},"functionSelector":"4bb5181a","id":70920,"implemented":false,"kind":"function","modifiers":[],"name":"getAppVotes","nameLocation":"9877:11:125","nodeType":"FunctionDefinition","parameters":{"id":70916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70913,"mutability":"mutable","name":"roundId","nameLocation":"9897:7:125","nodeType":"VariableDeclaration","scope":70920,"src":"9889:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70912,"name":"uint256","nodeType":"ElementaryTypeName","src":"9889:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70915,"mutability":"mutable","name":"appId","nameLocation":"9914:5:125","nodeType":"VariableDeclaration","scope":70920,"src":"9906:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9906:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9888:32:125"},"returnParameters":{"id":70919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70918,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70920,"src":"9944:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70917,"name":"uint256","nodeType":"ElementaryTypeName","src":"9944:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9943:9:125"},"scope":71124,"src":"9868:85:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70921,"nodeType":"StructuredDocumentation","src":"9957:161:125","text":" @notice module:reputation\n @dev Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding."},"functionSelector":"bed73010","id":70930,"implemented":false,"kind":"function","modifiers":[],"name":"getAppVotesQF","nameLocation":"10130:13:125","nodeType":"FunctionDefinition","parameters":{"id":70926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70923,"mutability":"mutable","name":"roundId","nameLocation":"10152:7:125","nodeType":"VariableDeclaration","scope":70930,"src":"10144:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70922,"name":"uint256","nodeType":"ElementaryTypeName","src":"10144:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70925,"mutability":"mutable","name":"app","nameLocation":"10169:3:125","nodeType":"VariableDeclaration","scope":70930,"src":"10161:11:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10161:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10143:30:125"},"returnParameters":{"id":70929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70930,"src":"10197:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70927,"name":"uint256","nodeType":"ElementaryTypeName","src":"10197:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10196:9:125"},"scope":71124,"src":"10121:85:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70931,"nodeType":"StructuredDocumentation","src":"10210:169:125","text":" @notice module:reputation\n @dev Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round."},"functionSelector":"fb03ec6f","id":70938,"implemented":false,"kind":"function","modifiers":[],"name":"totalVotesQF","nameLocation":"10391:12:125","nodeType":"FunctionDefinition","parameters":{"id":70934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70933,"mutability":"mutable","name":"roundId","nameLocation":"10412:7:125","nodeType":"VariableDeclaration","scope":70938,"src":"10404:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70932,"name":"uint256","nodeType":"ElementaryTypeName","src":"10404:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10403:17:125"},"returnParameters":{"id":70937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70936,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70938,"src":"10444:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70935,"name":"uint256","nodeType":"ElementaryTypeName","src":"10444:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10443:9:125"},"scope":71124,"src":"10382:71:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70939,"nodeType":"StructuredDocumentation","src":"10457:102:125","text":" @notice module:voting\n @dev Returns whether `account` has cast a vote on `roundId`."},"functionSelector":"43859632","id":70948,"implemented":false,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"10571:8:125","nodeType":"FunctionDefinition","parameters":{"id":70944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70941,"mutability":"mutable","name":"roundId","nameLocation":"10588:7:125","nodeType":"VariableDeclaration","scope":70948,"src":"10580:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70940,"name":"uint256","nodeType":"ElementaryTypeName","src":"10580:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70943,"mutability":"mutable","name":"account","nameLocation":"10605:7:125","nodeType":"VariableDeclaration","scope":70948,"src":"10597:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70942,"name":"address","nodeType":"ElementaryTypeName","src":"10597:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10579:34:125"},"returnParameters":{"id":70947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70948,"src":"10637:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70945,"name":"bool","nodeType":"ElementaryTypeName","src":"10637:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10636:6:125"},"scope":71124,"src":"10562:81:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70949,"nodeType":"StructuredDocumentation","src":"10647:180:125","text":" @dev Create a new allocation round (round). Vote starts immediatly and lasts for a\n duration specified by {votingPeriod}.\n Emits a {RoundCreated} event."},"functionSelector":"bd85948c","id":70954,"implemented":false,"kind":"function","modifiers":[],"name":"startNewRound","nameLocation":"10839:13:125","nodeType":"FunctionDefinition","parameters":{"id":70950,"nodeType":"ParameterList","parameters":[],"src":"10852:2:125"},"returnParameters":{"id":70953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70952,"mutability":"mutable","name":"roundId","nameLocation":"10881:7:125","nodeType":"VariableDeclaration","scope":70954,"src":"10873:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70951,"name":"uint256","nodeType":"ElementaryTypeName","src":"10873:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10872:17:125"},"scope":71124,"src":"10830:60:125","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70955,"nodeType":"StructuredDocumentation","src":"10894:93:125","text":" @dev Cast multiple votes at once\n Emits a {AllocationVoteCast} event."},"functionSelector":"53ed6399","id":70966,"implemented":false,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"10999:8:125","nodeType":"FunctionDefinition","parameters":{"id":70964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70957,"mutability":"mutable","name":"roundId","nameLocation":"11016:7:125","nodeType":"VariableDeclaration","scope":70966,"src":"11008:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70956,"name":"uint256","nodeType":"ElementaryTypeName","src":"11008:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70960,"mutability":"mutable","name":"appsIds","nameLocation":"11042:7:125","nodeType":"VariableDeclaration","scope":70966,"src":"11025:24:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":70958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11025:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":70959,"nodeType":"ArrayTypeName","src":"11025:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":70963,"mutability":"mutable","name":"voteWeights","nameLocation":"11068:11:125","nodeType":"VariableDeclaration","scope":70966,"src":"11051:28:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":70961,"name":"uint256","nodeType":"ElementaryTypeName","src":"11051:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70962,"nodeType":"ArrayTypeName","src":"11051:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"11007:73:125"},"returnParameters":{"id":70965,"nodeType":"ParameterList","parameters":[],"src":"11089:0:125"},"scope":71124,"src":"10990:100:125","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70967,"nodeType":"StructuredDocumentation","src":"11094:190:125","text":" @dev Toggle autovoting for a user\n @param user The address to toggle autovoting for\n @notice This function is only callable by the VOT3 contract or the user themselves"},"functionSelector":"8a829eda","id":70972,"implemented":false,"kind":"function","modifiers":[],"name":"toggleAutoVoting","nameLocation":"11296:16:125","nodeType":"FunctionDefinition","parameters":{"id":70970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70969,"mutability":"mutable","name":"user","nameLocation":"11321:4:125","nodeType":"VariableDeclaration","scope":70972,"src":"11313:12:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70968,"name":"address","nodeType":"ElementaryTypeName","src":"11313:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11312:14:125"},"returnParameters":{"id":70971,"nodeType":"ParameterList","parameters":[],"src":"11335:0:125"},"scope":71124,"src":"11287:49:125","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70973,"nodeType":"StructuredDocumentation","src":"11340:159:125","text":" @dev Disable autovoting for a user. Called by NavigatorRegistry when a citizen delegates.\n @param user The address to disable autovoting for"},"functionSelector":"673fc724","id":70978,"implemented":false,"kind":"function","modifiers":[],"name":"disableAutoVotingFor","nameLocation":"11511:20:125","nodeType":"FunctionDefinition","parameters":{"id":70976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70975,"mutability":"mutable","name":"user","nameLocation":"11540:4:125","nodeType":"VariableDeclaration","scope":70978,"src":"11532:12:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70974,"name":"address","nodeType":"ElementaryTypeName","src":"11532:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11531:14:125"},"returnParameters":{"id":70977,"nodeType":"ParameterList","parameters":[],"src":"11554:0:125"},"scope":71124,"src":"11502:53:125","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":70979,"nodeType":"StructuredDocumentation","src":"11559:162:125","text":" @dev Check if autovoting is enabled for an account\n @param user The address to check\n @return Whether autovoting is enabled for the account"},"functionSelector":"802d2709","id":70986,"implemented":false,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabled","nameLocation":"11733:23:125","nodeType":"FunctionDefinition","parameters":{"id":70982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70981,"mutability":"mutable","name":"user","nameLocation":"11765:4:125","nodeType":"VariableDeclaration","scope":70986,"src":"11757:12:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70980,"name":"address","nodeType":"ElementaryTypeName","src":"11757:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11756:14:125"},"returnParameters":{"id":70985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70984,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70986,"src":"11794:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70983,"name":"bool","nodeType":"ElementaryTypeName","src":"11794:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11793:6:125"},"scope":71124,"src":"11724:76:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70987,"nodeType":"StructuredDocumentation","src":"11804:165:125","text":" @dev Check if autovoting is enabled for an account\n @param account The address to check\n @return Whether autovoting is enabled for the account"},"functionSelector":"5fb26367","id":70994,"implemented":false,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledInCurrentRound","nameLocation":"11981:37:125","nodeType":"FunctionDefinition","parameters":{"id":70990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70989,"mutability":"mutable","name":"account","nameLocation":"12027:7:125","nodeType":"VariableDeclaration","scope":70994,"src":"12019:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70988,"name":"address","nodeType":"ElementaryTypeName","src":"12019:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12018:17:125"},"returnParameters":{"id":70993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70992,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70994,"src":"12059:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70991,"name":"bool","nodeType":"ElementaryTypeName","src":"12059:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12058:6:125"},"scope":71124,"src":"11972:93:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":70995,"nodeType":"StructuredDocumentation","src":"12069:249:125","text":" @dev Check if autovoting is enabled for an account at a specific round\n @param account The address to check\n @param roundId The round id to check\n @return Whether autovoting is enabled for the account at the specific round"},"functionSelector":"3d4fd3c7","id":71004,"implemented":false,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledForRound","nameLocation":"12330:31:125","nodeType":"FunctionDefinition","parameters":{"id":71000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70997,"mutability":"mutable","name":"account","nameLocation":"12370:7:125","nodeType":"VariableDeclaration","scope":71004,"src":"12362:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70996,"name":"address","nodeType":"ElementaryTypeName","src":"12362:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70999,"mutability":"mutable","name":"roundId","nameLocation":"12387:7:125","nodeType":"VariableDeclaration","scope":71004,"src":"12379:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70998,"name":"uint256","nodeType":"ElementaryTypeName","src":"12379:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12361:34:125"},"returnParameters":{"id":71003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71004,"src":"12419:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71001,"name":"bool","nodeType":"ElementaryTypeName","src":"12419:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12418:6:125"},"scope":71124,"src":"12321:104:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71005,"nodeType":"StructuredDocumentation","src":"12429:89:125","text":" @dev Check if autovoting is enabled for an account at a specific timepoint"},"functionSelector":"a461a94d","id":71014,"implemented":false,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledAtTimepoint","nameLocation":"12530:34:125","nodeType":"FunctionDefinition","parameters":{"id":71010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71007,"mutability":"mutable","name":"account","nameLocation":"12573:7:125","nodeType":"VariableDeclaration","scope":71014,"src":"12565:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71006,"name":"address","nodeType":"ElementaryTypeName","src":"12565:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71009,"mutability":"mutable","name":"timepoint","nameLocation":"12589:9:125","nodeType":"VariableDeclaration","scope":71014,"src":"12582:16:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":71008,"name":"uint48","nodeType":"ElementaryTypeName","src":"12582:6:125","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"12564:35:125"},"returnParameters":{"id":71013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71012,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71014,"src":"12623:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71011,"name":"bool","nodeType":"ElementaryTypeName","src":"12623:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12622:6:125"},"scope":71124,"src":"12521:108:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71015,"nodeType":"StructuredDocumentation","src":"12633:63:125","text":" @dev Returns the current allocation round round."},"functionSelector":"9cbe5efd","id":71020,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"12708:14:125","nodeType":"FunctionDefinition","parameters":{"id":71016,"nodeType":"ParameterList","parameters":[],"src":"12722:2:125"},"returnParameters":{"id":71019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71020,"src":"12748:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71017,"name":"uint256","nodeType":"ElementaryTypeName","src":"12748:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12747:9:125"},"scope":71124,"src":"12699:58:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71021,"nodeType":"StructuredDocumentation","src":"12761:78:125","text":" @dev Returns the current allocation round block when it starts."},"functionSelector":"561b64ef","id":71026,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"12851:20:125","nodeType":"FunctionDefinition","parameters":{"id":71022,"nodeType":"ParameterList","parameters":[],"src":"12871:2:125"},"returnParameters":{"id":71025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71026,"src":"12897:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71023,"name":"uint256","nodeType":"ElementaryTypeName","src":"12897:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12896:9:125"},"scope":71124,"src":"12842:64:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71027,"nodeType":"StructuredDocumentation","src":"12910:76:125","text":" @dev Returns the current allocation round block when it ends."},"functionSelector":"59372812","id":71032,"implemented":false,"kind":"function","modifiers":[],"name":"currentRoundDeadline","nameLocation":"12998:20:125","nodeType":"FunctionDefinition","parameters":{"id":71028,"nodeType":"ParameterList","parameters":[],"src":"13018:2:125"},"returnParameters":{"id":71031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71032,"src":"13044:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71029,"name":"uint256","nodeType":"ElementaryTypeName","src":"13044:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13043:9:125"},"scope":71124,"src":"12989:64:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71033,"nodeType":"StructuredDocumentation","src":"13057:75:125","text":" \n@dev Returns if quorum was reached for a specific round."},"functionSelector":"d4a8dd98","id":71040,"implemented":false,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"13144:13:125","nodeType":"FunctionDefinition","parameters":{"id":71036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71035,"mutability":"mutable","name":"roundId","nameLocation":"13166:7:125","nodeType":"VariableDeclaration","scope":71040,"src":"13158:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71034,"name":"uint256","nodeType":"ElementaryTypeName","src":"13158:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13157:17:125"},"returnParameters":{"id":71039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71040,"src":"13198:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71037,"name":"bool","nodeType":"ElementaryTypeName","src":"13198:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13197:6:125"},"scope":71124,"src":"13135:69:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71041,"nodeType":"StructuredDocumentation","src":"13208:94:125","text":" @dev Returns the ids of apps that are available for voting in a specific round."},"functionSelector":"7ace2485","id":71049,"implemented":false,"kind":"function","modifiers":[],"name":"getAppIdsOfRound","nameLocation":"13314:16:125","nodeType":"FunctionDefinition","parameters":{"id":71044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71043,"mutability":"mutable","name":"roundId","nameLocation":"13339:7:125","nodeType":"VariableDeclaration","scope":71049,"src":"13331:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71042,"name":"uint256","nodeType":"ElementaryTypeName","src":"13331:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13330:17:125"},"returnParameters":{"id":71048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71047,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71049,"src":"13371:16:125","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":71045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13371:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":71046,"nodeType":"ArrayTypeName","src":"13371:9:125","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"13370:18:125"},"scope":71124,"src":"13305:84:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71050,"nodeType":"StructuredDocumentation","src":"13393:71:125","text":" @dev Returns if an app can be voted in a specific round."},"functionSelector":"d68b4c36","id":71059,"implemented":false,"kind":"function","modifiers":[],"name":"isEligibleForVote","nameLocation":"13476:17:125","nodeType":"FunctionDefinition","parameters":{"id":71055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71052,"mutability":"mutable","name":"appId","nameLocation":"13502:5:125","nodeType":"VariableDeclaration","scope":71059,"src":"13494:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":71051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13494:7:125","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":71054,"mutability":"mutable","name":"roundId","nameLocation":"13517:7:125","nodeType":"VariableDeclaration","scope":71059,"src":"13509:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71053,"name":"uint256","nodeType":"ElementaryTypeName","src":"13509:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13493:32:125"},"returnParameters":{"id":71058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71057,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71059,"src":"13549:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71056,"name":"bool","nodeType":"ElementaryTypeName","src":"13549:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13548:6:125"},"scope":71124,"src":"13467:88:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71060,"nodeType":"StructuredDocumentation","src":"13559:76:125","text":" @dev Checks if the state of the round is {RoundState.Active}."},"functionSelector":"82afd23b","id":71067,"implemented":false,"kind":"function","modifiers":[],"name":"isActive","nameLocation":"13647:8:125","nodeType":"FunctionDefinition","parameters":{"id":71063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71062,"mutability":"mutable","name":"roundId","nameLocation":"13664:7:125","nodeType":"VariableDeclaration","scope":71067,"src":"13656:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71061,"name":"uint256","nodeType":"ElementaryTypeName","src":"13656:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13655:17:125"},"returnParameters":{"id":71066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71067,"src":"13696:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71064,"name":"bool","nodeType":"ElementaryTypeName","src":"13696:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13695:6:125"},"scope":71124,"src":"13638:64:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71068,"nodeType":"StructuredDocumentation","src":"13706:68:125","text":" @dev Returns the id of the last round that succeeded."},"functionSelector":"30097377","id":71075,"implemented":false,"kind":"function","modifiers":[],"name":"latestSucceededRoundId","nameLocation":"13786:22:125","nodeType":"FunctionDefinition","parameters":{"id":71071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71070,"mutability":"mutable","name":"roundId","nameLocation":"13817:7:125","nodeType":"VariableDeclaration","scope":71075,"src":"13809:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71069,"name":"uint256","nodeType":"ElementaryTypeName","src":"13809:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13808:17:125"},"returnParameters":{"id":71074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71073,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71075,"src":"13849:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71072,"name":"uint256","nodeType":"ElementaryTypeName","src":"13849:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13848:9:125"},"scope":71124,"src":"13777:81:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71076,"nodeType":"StructuredDocumentation","src":"13862:88:125","text":" @dev Returns true if an account has voted at least one time in any round."},"functionSelector":"9aeb962b","id":71083,"implemented":false,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"13962:12:125","nodeType":"FunctionDefinition","parameters":{"id":71079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71078,"mutability":"mutable","name":"user","nameLocation":"13983:4:125","nodeType":"VariableDeclaration","scope":71083,"src":"13975:12:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71077,"name":"address","nodeType":"ElementaryTypeName","src":"13975:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13974:14:125"},"returnParameters":{"id":71082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71083,"src":"14012:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71080,"name":"bool","nodeType":"ElementaryTypeName","src":"14012:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14011:6:125"},"scope":71124,"src":"13953:65:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71084,"nodeType":"StructuredDocumentation","src":"14022:93:125","text":" @dev Returns the base allocation percentage for funds distribution in a round."},"functionSelector":"0eca87fb","id":71091,"implemented":false,"kind":"function","modifiers":[],"name":"getRoundBaseAllocationPercentage","nameLocation":"14127:32:125","nodeType":"FunctionDefinition","parameters":{"id":71087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71086,"mutability":"mutable","name":"roundId","nameLocation":"14168:7:125","nodeType":"VariableDeclaration","scope":71091,"src":"14160:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71085,"name":"uint256","nodeType":"ElementaryTypeName","src":"14160:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14159:17:125"},"returnParameters":{"id":71090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71091,"src":"14200:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71088,"name":"uint256","nodeType":"ElementaryTypeName","src":"14200:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14199:9:125"},"scope":71124,"src":"14118:91:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71092,"nodeType":"StructuredDocumentation","src":"14213:79:125","text":" @dev Returns the max amount of shares an app can get in a round."},"functionSelector":"0a0e74ef","id":71099,"implemented":false,"kind":"function","modifiers":[],"name":"getRoundAppSharesCap","nameLocation":"14304:20:125","nodeType":"FunctionDefinition","parameters":{"id":71095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71094,"mutability":"mutable","name":"roundId","nameLocation":"14333:7:125","nodeType":"VariableDeclaration","scope":71099,"src":"14325:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71093,"name":"uint256","nodeType":"ElementaryTypeName","src":"14325:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14324:17:125"},"returnParameters":{"id":71098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71099,"src":"14365:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71096,"name":"uint256","nodeType":"ElementaryTypeName","src":"14365:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14364:9:125"},"scope":71124,"src":"14295:79:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71100,"nodeType":"StructuredDocumentation","src":"14378:55:125","text":" @dev Validates if an account is a person"},"functionSelector":"cfea80ed","id":71107,"implemented":false,"kind":"function","modifiers":[],"name":"validatePersonhoodForCurrentRound","nameLocation":"14445:33:125","nodeType":"FunctionDefinition","parameters":{"id":71103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71102,"mutability":"mutable","name":"account","nameLocation":"14487:7:125","nodeType":"VariableDeclaration","scope":71107,"src":"14479:15:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71101,"name":"address","nodeType":"ElementaryTypeName","src":"14479:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14478:17:125"},"returnParameters":{"id":71106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71107,"src":"14519:4:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71104,"name":"bool","nodeType":"ElementaryTypeName","src":"14519:4:125","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14518:6:125"},"scope":71124,"src":"14436:89:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71108,"nodeType":"StructuredDocumentation","src":"14529:83:125","text":"@dev Deprecated: use getVotes instead, which now includes deposit voting power."},"functionSelector":"4cadad2f","id":71117,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalVotingPower","nameLocation":"14624:19:125","nodeType":"FunctionDefinition","parameters":{"id":71113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71110,"mutability":"mutable","name":"voter","nameLocation":"14652:5:125","nodeType":"VariableDeclaration","scope":71117,"src":"14644:13:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71109,"name":"address","nodeType":"ElementaryTypeName","src":"14644:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71112,"mutability":"mutable","name":"roundStart","nameLocation":"14667:10:125","nodeType":"VariableDeclaration","scope":71117,"src":"14659:18:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71111,"name":"uint256","nodeType":"ElementaryTypeName","src":"14659:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14643:35:125"},"returnParameters":{"id":71116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71115,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71117,"src":"14702:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71114,"name":"uint256","nodeType":"ElementaryTypeName","src":"14702:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14701:9:125"},"scope":71124,"src":"14615:96:125","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71118,"nodeType":"StructuredDocumentation","src":"14715:92:125","text":" @dev Get the total number of users who enabled auto-voting at the round start"},"functionSelector":"a022756b","id":71123,"implemented":false,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtRoundStart","nameLocation":"14819:35:125","nodeType":"FunctionDefinition","parameters":{"id":71119,"nodeType":"ParameterList","parameters":[],"src":"14854:2:125"},"returnParameters":{"id":71122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71123,"src":"14880:7:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":71120,"name":"uint208","nodeType":"ElementaryTypeName","src":"14880:7:125","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"14879:9:125"},"scope":71124,"src":"14810:79:125","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":71125,"src":"1227:13664:125","usedErrors":[70617,70622,70627,70637,70642,70647,70654,70657,70660,70667,70672,70677,70682,70687,70692,70697,70702,70707,70714,70719,70726],"usedEvents":[70739,70753,70766,70779,70786,70794,70809,70818,70831]}],"src":"32:14860:125"},"id":125},"contracts/libraries/X2EarnAppsDataTypes.sol":{"ast":{"absolutePath":"contracts/libraries/X2EarnAppsDataTypes.sol","exportedSymbols":{"X2EarnAppsDataTypes":[71147]},"id":71148,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":71126,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:126"},{"abstract":false,"baseContracts":[],"canonicalName":"X2EarnAppsDataTypes","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":71147,"linearizedBaseContracts":[71147],"name":"X2EarnAppsDataTypes","nameLocation":"65:19:126","nodeType":"ContractDefinition","nodes":[{"canonicalName":"X2EarnAppsDataTypes.App","id":71133,"members":[{"constant":false,"id":71128,"mutability":"mutable","name":"id","nameLocation":"114:2:126","nodeType":"VariableDeclaration","scope":71133,"src":"106:10:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":71127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106:7:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":71130,"mutability":"mutable","name":"name","nameLocation":"129:4:126","nodeType":"VariableDeclaration","scope":71133,"src":"122:11:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71129,"name":"string","nodeType":"ElementaryTypeName","src":"122:6:126","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71132,"mutability":"mutable","name":"createdAtTimestamp","nameLocation":"147:18:126","nodeType":"VariableDeclaration","scope":71133,"src":"139:26:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71131,"name":"uint256","nodeType":"ElementaryTypeName","src":"139:7:126","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"App","nameLocation":"96:3:126","nodeType":"StructDefinition","scope":71147,"src":"89:81:126","visibility":"public"},{"canonicalName":"X2EarnAppsDataTypes.AppWithDetailsReturnType","id":71146,"members":[{"constant":false,"id":71135,"mutability":"mutable","name":"id","nameLocation":"220:2:126","nodeType":"VariableDeclaration","scope":71146,"src":"212:10:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":71134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212:7:126","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":71137,"mutability":"mutable","name":"teamWalletAddress","nameLocation":"236:17:126","nodeType":"VariableDeclaration","scope":71146,"src":"228:25:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71136,"name":"address","nodeType":"ElementaryTypeName","src":"228:7:126","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71139,"mutability":"mutable","name":"name","nameLocation":"266:4:126","nodeType":"VariableDeclaration","scope":71146,"src":"259:11:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71138,"name":"string","nodeType":"ElementaryTypeName","src":"259:6:126","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71141,"mutability":"mutable","name":"metadataURI","nameLocation":"283:11:126","nodeType":"VariableDeclaration","scope":71146,"src":"276:18:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71140,"name":"string","nodeType":"ElementaryTypeName","src":"276:6:126","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71143,"mutability":"mutable","name":"createdAtTimestamp","nameLocation":"308:18:126","nodeType":"VariableDeclaration","scope":71146,"src":"300:26:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71142,"name":"uint256","nodeType":"ElementaryTypeName","src":"300:7:126","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71145,"mutability":"mutable","name":"appAvailableForAllocationVoting","nameLocation":"337:31:126","nodeType":"VariableDeclaration","scope":71146,"src":"332:36:126","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71144,"name":"bool","nodeType":"ElementaryTypeName","src":"332:4:126","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"AppWithDetailsReturnType","nameLocation":"181:24:126","nodeType":"StructDefinition","scope":71147,"src":"174:199:126","visibility":"public"}],"scope":71148,"src":"57:318:126","usedErrors":[],"usedEvents":[]}],"src":"32:344:126"},"id":126},"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol":{"ast":{"absolutePath":"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol","exportedSymbols":{"VechainNodesDataTypes":[71181]},"id":71182,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":71149,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:127"},{"abstract":false,"baseContracts":[],"canonicalName":"VechainNodesDataTypes","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":71181,"linearizedBaseContracts":[71181],"name":"VechainNodesDataTypes","nameLocation":"65:21:127","nodeType":"ContractDefinition","nodes":[{"canonicalName":"VechainNodesDataTypes.NodeStrengthLevel","documentation":{"id":71150,"nodeType":"StructuredDocumentation","src":"93:56:127","text":" @dev The strength level of each node."},"id":71159,"members":[{"id":71151,"name":"None","nameLocation":"187:4:127","nodeType":"EnumValue","src":"187:4:127"},{"id":71152,"name":"Strength","nameLocation":"225:8:127","nodeType":"EnumValue","src":"225:8:127"},{"id":71153,"name":"Thunder","nameLocation":"243:7:127","nodeType":"EnumValue","src":"243:7:127"},{"id":71154,"name":"Mjolnir","nameLocation":"260:7:127","nodeType":"EnumValue","src":"260:7:127"},{"id":71155,"name":"VeThorX","nameLocation":"296:7:127","nodeType":"EnumValue","src":"296:7:127"},{"id":71156,"name":"StrengthX","nameLocation":"313:9:127","nodeType":"EnumValue","src":"313:9:127"},{"id":71157,"name":"ThunderX","nameLocation":"332:8:127","nodeType":"EnumValue","src":"332:8:127"},{"id":71158,"name":"MjolnirX","nameLocation":"350:8:127","nodeType":"EnumValue","src":"350:8:127"}],"name":"NodeStrengthLevel","nameLocation":"159:17:127","nodeType":"EnumDefinition","src":"154:210:127"},{"canonicalName":"VechainNodesDataTypes.NodeStrengthScores","documentation":{"id":71160,"nodeType":"StructuredDocumentation","src":"370:44:127","text":" @dev The score of a node."},"id":71175,"members":[{"constant":false,"id":71162,"mutability":"mutable","name":"strength","nameLocation":"463:8:127","nodeType":"VariableDeclaration","scope":71175,"src":"455:16:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71161,"name":"uint256","nodeType":"ElementaryTypeName","src":"455:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71164,"mutability":"mutable","name":"thunder","nameLocation":"489:7:127","nodeType":"VariableDeclaration","scope":71175,"src":"481:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71163,"name":"uint256","nodeType":"ElementaryTypeName","src":"481:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71166,"mutability":"mutable","name":"mjolnir","nameLocation":"514:7:127","nodeType":"VariableDeclaration","scope":71175,"src":"506:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71165,"name":"uint256","nodeType":"ElementaryTypeName","src":"506:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71168,"mutability":"mutable","name":"veThorX","nameLocation":"539:7:127","nodeType":"VariableDeclaration","scope":71175,"src":"531:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71167,"name":"uint256","nodeType":"ElementaryTypeName","src":"531:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71170,"mutability":"mutable","name":"strengthX","nameLocation":"564:9:127","nodeType":"VariableDeclaration","scope":71175,"src":"556:17:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71169,"name":"uint256","nodeType":"ElementaryTypeName","src":"556:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71172,"mutability":"mutable","name":"thunderX","nameLocation":"591:8:127","nodeType":"VariableDeclaration","scope":71175,"src":"583:16:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71171,"name":"uint256","nodeType":"ElementaryTypeName","src":"583:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71174,"mutability":"mutable","name":"mjolnirX","nameLocation":"617:8:127","nodeType":"VariableDeclaration","scope":71175,"src":"609:16:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71173,"name":"uint256","nodeType":"ElementaryTypeName","src":"609:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"NodeStrengthScores","nameLocation":"426:18:127","nodeType":"StructDefinition","scope":71181,"src":"419:213:127","visibility":"public"},{"canonicalName":"VechainNodesDataTypes.NodeSource","documentation":{"id":71176,"nodeType":"StructuredDocumentation","src":"638:87:127","text":" @dev The source of a node: VeChainNodes legacy contract or Stargate."},"id":71180,"members":[{"id":71177,"name":"None","nameLocation":"756:4:127","nodeType":"EnumValue","src":"756:4:127"},{"id":71178,"name":"VeChainNodes","nameLocation":"770:12:127","nodeType":"EnumValue","src":"770:12:127"},{"id":71179,"name":"StargateNFT","nameLocation":"792:11:127","nodeType":"EnumValue","src":"792:11:127"}],"name":"NodeSource","nameLocation":"735:10:127","nodeType":"EnumDefinition","src":"730:79:127"}],"scope":71182,"src":"57:754:127","usedErrors":[],"usedEvents":[]}],"src":"32:780:127"},"id":127},"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol":{"ast":{"absolutePath":"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol","exportedSymbols":{"Checkpoints":[10447],"DataTypes":[71347],"EnumerableSet":[11394],"IERC20":[5136],"IStargate":[71931],"IStargateDelegation":[72178],"ITokenAuction":[73165]},"id":71348,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":71183,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"833:23:128"},{"absolutePath":"@openzeppelin/contracts/utils/structs/EnumerableSet.sol","file":"@openzeppelin/contracts/utils/structs/EnumerableSet.sol","id":71185,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71348,"sourceUnit":11395,"src":"858:88:128","symbolAliases":[{"foreign":{"id":71184,"name":"EnumerableSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11394,"src":"867:13:128","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","id":71187,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71348,"sourceUnit":5137,"src":"947:72:128","symbolAliases":[{"foreign":{"id":71186,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"956:6:128","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":71189,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71348,"sourceUnit":10448,"src":"1020:84:128","symbolAliases":[{"foreign":{"id":71188,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1029:11:128","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/ITokenAuction.sol","file":"../../interfaces/ITokenAuction.sol","id":71191,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71348,"sourceUnit":73166,"src":"1105:67:128","symbolAliases":[{"foreign":{"id":71190,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"1114:13:128","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol","file":"../../interfaces/IStargateDelegation.sol","id":71193,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71348,"sourceUnit":72179,"src":"1173:79:128","symbolAliases":[{"foreign":{"id":71192,"name":"IStargateDelegation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72178,"src":"1182:19:128","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/IStargate.sol","file":"../../interfaces/IStargate.sol","id":71195,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71348,"sourceUnit":71932,"src":"1253:59:128","symbolAliases":[{"foreign":{"id":71194,"name":"IStargate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71931,"src":"1262:9:128","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"DataTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":71196,"nodeType":"StructuredDocumentation","src":"1314:145:128","text":"@title DataTypes\n @notice Library for the StargateNFT contract to store data structure definitions used across the contract and libraries"},"fullyImplemented":true,"id":71347,"linearizedBaseContracts":[71347],"name":"DataTypes","nameLocation":"1467:9:128","nodeType":"ContractDefinition","nodes":[{"global":false,"id":71200,"libraryName":{"id":71197,"name":"Checkpoints","nameLocations":["1487:11:128"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"1487:11:128"},"nodeType":"UsingForDirective","src":"1481:43:128","typeName":{"id":71199,"nodeType":"UserDefinedTypeName","pathNode":{"id":71198,"name":"Checkpoints.Trace208","nameLocations":["1503:11:128","1515:8:128"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"1503:20:128"},"referencedDeclaration":9409,"src":"1503:20:128","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"global":false,"id":71204,"libraryName":{"id":71201,"name":"EnumerableSet","nameLocations":["1533:13:128"],"nodeType":"IdentifierPath","referencedDeclaration":11394,"src":"1533:13:128"},"nodeType":"UsingForDirective","src":"1527:46:128","typeName":{"id":71203,"nodeType":"UserDefinedTypeName","pathNode":{"id":71202,"name":"EnumerableSet.UintSet","nameLocations":["1551:13:128","1565:7:128"],"nodeType":"IdentifierPath","referencedDeclaration":11264,"src":"1551:21:128"},"referencedDeclaration":11264,"src":"1551:21:128","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"}}},{"canonicalName":"DataTypes.StargateNFTStorage","id":71266,"members":[{"constant":false,"id":71206,"mutability":"mutable","name":"vthoGenerationEndTimestamp_deprecated","nameLocation":"1616:37:128","nodeType":"VariableDeclaration","scope":71266,"src":"1609:44:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":71205,"name":"uint48","nodeType":"ElementaryTypeName","src":"1609:6:128","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":71208,"mutability":"mutable","name":"MAX_LEVEL_ID","nameLocation":"1807:12:128","nodeType":"VariableDeclaration","scope":71266,"src":"1801:18:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71207,"name":"uint8","nodeType":"ElementaryTypeName","src":"1801:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":71211,"mutability":"mutable","name":"legacyNodes","nameLocation":"1859:11:128","nodeType":"VariableDeclaration","scope":71266,"src":"1845:25:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"},"typeName":{"id":71210,"nodeType":"UserDefinedTypeName","pathNode":{"id":71209,"name":"ITokenAuction","nameLocations":["1845:13:128"],"nodeType":"IdentifierPath","referencedDeclaration":73165,"src":"1845:13:128"},"referencedDeclaration":73165,"src":"1845:13:128","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"visibility":"internal"},{"constant":false,"id":71214,"mutability":"mutable","name":"stargateDelegation_deprecated","nameLocation":"1921:29:128","nodeType":"VariableDeclaration","scope":71266,"src":"1901:49:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateDelegation_$72178","typeString":"contract IStargateDelegation"},"typeName":{"id":71213,"nodeType":"UserDefinedTypeName","pathNode":{"id":71212,"name":"IStargateDelegation","nameLocations":["1901:19:128"],"nodeType":"IdentifierPath","referencedDeclaration":72178,"src":"1901:19:128"},"referencedDeclaration":72178,"src":"1901:19:128","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateDelegation_$72178","typeString":"contract IStargateDelegation"}},"visibility":"internal"},{"constant":false,"id":71217,"mutability":"mutable","name":"vthoToken","nameLocation":"2021:9:128","nodeType":"VariableDeclaration","scope":71266,"src":"2014:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$5136","typeString":"contract IERC20"},"typeName":{"id":71216,"nodeType":"UserDefinedTypeName","pathNode":{"id":71215,"name":"IERC20","nameLocations":["2014:6:128"],"nodeType":"IdentifierPath","referencedDeclaration":5136,"src":"2014:6:128"},"referencedDeclaration":5136,"src":"2014:6:128","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$5136","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":71219,"mutability":"mutable","name":"currentTokenId","nameLocation":"2067:14:128","nodeType":"VariableDeclaration","scope":71266,"src":"2059:22:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71218,"name":"uint256","nodeType":"ElementaryTypeName","src":"2059:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71221,"mutability":"mutable","name":"baseTokenURI","nameLocation":"2130:12:128","nodeType":"VariableDeclaration","scope":71266,"src":"2123:19:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71220,"name":"string","nodeType":"ElementaryTypeName","src":"2123:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71226,"mutability":"mutable","name":"levels","nameLocation":"2215:6:128","nodeType":"VariableDeclaration","scope":71266,"src":"2183:38:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_struct$_Level_$71306_storage_$","typeString":"mapping(uint8 => struct DataTypes.Level)"},"typeName":{"id":71225,"keyName":"levelId","keyNameLocation":"2197:7:128","keyType":{"id":71222,"name":"uint8","nodeType":"ElementaryTypeName","src":"2191:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"2183:31:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_struct$_Level_$71306_storage_$","typeString":"mapping(uint8 => struct DataTypes.Level)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71224,"nodeType":"UserDefinedTypeName","pathNode":{"id":71223,"name":"Level","nameLocations":["2208:5:128"],"nodeType":"IdentifierPath","referencedDeclaration":71306,"src":"2208:5:128"},"referencedDeclaration":71306,"src":"2208:5:128","typeDescriptions":{"typeIdentifier":"t_struct$_Level_$71306_storage_ptr","typeString":"struct DataTypes.Level"}}},"visibility":"internal"},{"constant":false,"id":71231,"mutability":"mutable","name":"circulatingSupply","nameLocation":"2342:17:128","nodeType":"VariableDeclaration","scope":71266,"src":"2295:64:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(uint8 => struct Checkpoints.Trace208)"},"typeName":{"id":71230,"keyName":"levelId","keyNameLocation":"2309:7:128","keyType":{"id":71227,"name":"uint8","nodeType":"ElementaryTypeName","src":"2303:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"2295:46:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(uint8 => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71229,"nodeType":"UserDefinedTypeName","pathNode":{"id":71228,"name":"Checkpoints.Trace208","nameLocations":["2320:11:128","2332:8:128"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"2320:20:128"},"referencedDeclaration":9409,"src":"2320:20:128","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":71235,"mutability":"mutable","name":"cap","nameLocation":"2465:3:128","nodeType":"VariableDeclaration","scope":71266,"src":"2432:36:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint32_$","typeString":"mapping(uint8 => uint32)"},"typeName":{"id":71234,"keyName":"levelId","keyNameLocation":"2446:7:128","keyType":{"id":71232,"name":"uint8","nodeType":"ElementaryTypeName","src":"2440:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"2432:32:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint32_$","typeString":"mapping(uint8 => uint32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71233,"name":"uint32","nodeType":"ElementaryTypeName","src":"2457:6:128","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}},"visibility":"internal"},{"constant":false,"id":71240,"mutability":"mutable","name":"tokens","nameLocation":"2575:6:128","nodeType":"VariableDeclaration","scope":71266,"src":"2541:40:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Token_$71325_storage_$","typeString":"mapping(uint256 => struct DataTypes.Token)"},"typeName":{"id":71239,"keyName":"tokenId","keyNameLocation":"2557:7:128","keyType":{"id":71236,"name":"uint256","nodeType":"ElementaryTypeName","src":"2549:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2541:33:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Token_$71325_storage_$","typeString":"mapping(uint256 => struct DataTypes.Token)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71238,"nodeType":"UserDefinedTypeName","pathNode":{"id":71237,"name":"Token","nameLocations":["2568:5:128"],"nodeType":"IdentifierPath","referencedDeclaration":71325,"src":"2568:5:128"},"referencedDeclaration":71325,"src":"2568:5:128","typeDescriptions":{"typeIdentifier":"t_struct$_Token_$71325_storage_ptr","typeString":"struct DataTypes.Token"}}},"visibility":"internal"},{"constant":false,"id":71244,"mutability":"mutable","name":"maturityPeriodEndBlock","nameLocation":"2667:22:128","nodeType":"VariableDeclaration","scope":71266,"src":"2632:57:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint64_$","typeString":"mapping(uint256 => uint64)"},"typeName":{"id":71243,"keyName":"tokenId","keyNameLocation":"2648:7:128","keyType":{"id":71241,"name":"uint256","nodeType":"ElementaryTypeName","src":"2640:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2632:34:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint64_$","typeString":"mapping(uint256 => uint64)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71242,"name":"uint64","nodeType":"ElementaryTypeName","src":"2659:6:128","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}},"visibility":"internal"},{"constant":false,"id":71249,"mutability":"mutable","name":"whitelistEntries_deprecated","nameLocation":"2775:27:128","nodeType":"VariableDeclaration","scope":71266,"src":"2740:62:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_WhitelistEntry_$71330_storage_$","typeString":"mapping(address => struct DataTypes.WhitelistEntry)"},"typeName":{"id":71248,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":71245,"name":"address","nodeType":"ElementaryTypeName","src":"2748:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2740:34:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_WhitelistEntry_$71330_storage_$","typeString":"mapping(address => struct DataTypes.WhitelistEntry)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71247,"nodeType":"UserDefinedTypeName","pathNode":{"id":71246,"name":"WhitelistEntry","nameLocations":["2759:14:128"],"nodeType":"IdentifierPath","referencedDeclaration":71330,"src":"2759:14:128"},"referencedDeclaration":71330,"src":"2759:14:128","typeDescriptions":{"typeIdentifier":"t_struct$_WhitelistEntry_$71330_storage_ptr","typeString":"struct DataTypes.WhitelistEntry"}}},"visibility":"internal"},{"constant":false,"id":71252,"mutability":"mutable","name":"stargate","nameLocation":"2924:8:128","nodeType":"VariableDeclaration","scope":71266,"src":"2914:18:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStargate_$71931","typeString":"contract IStargate"},"typeName":{"id":71251,"nodeType":"UserDefinedTypeName","pathNode":{"id":71250,"name":"IStargate","nameLocations":["2914:9:128"],"nodeType":"IdentifierPath","referencedDeclaration":71931,"src":"2914:9:128"},"referencedDeclaration":71931,"src":"2914:9:128","typeDescriptions":{"typeIdentifier":"t_contract$_IStargate_$71931","typeString":"contract IStargate"}},"visibility":"internal"},{"constant":false,"id":71257,"mutability":"mutable","name":"managerToTokenIds","nameLocation":"3010:17:128","nodeType":"VariableDeclaration","scope":71266,"src":"2968:59:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_UintSet_$11264_storage_$","typeString":"mapping(address => struct EnumerableSet.UintSet)"},"typeName":{"id":71256,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":71253,"name":"address","nodeType":"ElementaryTypeName","src":"2976:7:128","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2968:41:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_UintSet_$11264_storage_$","typeString":"mapping(address => struct EnumerableSet.UintSet)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71255,"nodeType":"UserDefinedTypeName","pathNode":{"id":71254,"name":"EnumerableSet.UintSet","nameLocations":["2987:13:128","3001:7:128"],"nodeType":"IdentifierPath","referencedDeclaration":11264,"src":"2987:21:128"},"referencedDeclaration":11264,"src":"2987:21:128","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$11264_storage_ptr","typeString":"struct EnumerableSet.UintSet"}}},"visibility":"internal"},{"constant":false,"id":71261,"mutability":"mutable","name":"tokenIdToManager","nameLocation":"3097:16:128","nodeType":"VariableDeclaration","scope":71266,"src":"3069:44:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":71260,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":71258,"name":"uint256","nodeType":"ElementaryTypeName","src":"3077:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3069:27:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71259,"name":"address","nodeType":"ElementaryTypeName","src":"3088:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"constant":false,"id":71265,"mutability":"mutable","name":"boostPricePerBlock","nameLocation":"3188:18:128","nodeType":"VariableDeclaration","scope":71266,"src":"3154:52:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"typeName":{"id":71264,"keyName":"levelId","keyNameLocation":"3168:7:128","keyType":{"id":71262,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"3154:33:128","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71263,"name":"uint256","nodeType":"ElementaryTypeName","src":"3179:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"StargateNFTStorage","nameLocation":"1584:18:128","nodeType":"StructDefinition","scope":71347,"src":"1577:1675:128","visibility":"public"},{"canonicalName":"DataTypes.StargateNFTInitParams","id":71293,"members":[{"constant":false,"id":71268,"mutability":"mutable","name":"tokenCollectionName","nameLocation":"3298:19:128","nodeType":"VariableDeclaration","scope":71293,"src":"3291:26:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71267,"name":"string","nodeType":"ElementaryTypeName","src":"3291:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71270,"mutability":"mutable","name":"tokenCollectionSymbol","nameLocation":"3362:21:128","nodeType":"VariableDeclaration","scope":71293,"src":"3355:28:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71269,"name":"string","nodeType":"ElementaryTypeName","src":"3355:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71272,"mutability":"mutable","name":"baseTokenURI","nameLocation":"3430:12:128","nodeType":"VariableDeclaration","scope":71293,"src":"3423:19:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71271,"name":"string","nodeType":"ElementaryTypeName","src":"3423:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71274,"mutability":"mutable","name":"admin","nameLocation":"3491:5:128","nodeType":"VariableDeclaration","scope":71293,"src":"3483:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71273,"name":"address","nodeType":"ElementaryTypeName","src":"3483:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71276,"mutability":"mutable","name":"upgrader","nameLocation":"3551:8:128","nodeType":"VariableDeclaration","scope":71293,"src":"3543:16:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71275,"name":"address","nodeType":"ElementaryTypeName","src":"3543:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71278,"mutability":"mutable","name":"pauser","nameLocation":"3609:6:128","nodeType":"VariableDeclaration","scope":71293,"src":"3601:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71277,"name":"address","nodeType":"ElementaryTypeName","src":"3601:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71280,"mutability":"mutable","name":"levelOperator","nameLocation":"3663:13:128","nodeType":"VariableDeclaration","scope":71293,"src":"3655:21:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71279,"name":"address","nodeType":"ElementaryTypeName","src":"3655:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71282,"mutability":"mutable","name":"legacyNodes","nameLocation":"3732:11:128","nodeType":"VariableDeclaration","scope":71293,"src":"3724:19:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71281,"name":"address","nodeType":"ElementaryTypeName","src":"3724:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71284,"mutability":"mutable","name":"stargateDelegation","nameLocation":"3804:18:128","nodeType":"VariableDeclaration","scope":71293,"src":"3796:26:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71283,"name":"address","nodeType":"ElementaryTypeName","src":"3796:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71286,"mutability":"mutable","name":"vthoToken","nameLocation":"3883:9:128","nodeType":"VariableDeclaration","scope":71293,"src":"3875:17:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71285,"name":"address","nodeType":"ElementaryTypeName","src":"3875:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71288,"mutability":"mutable","name":"legacyLastTokenId","nameLocation":"3944:17:128","nodeType":"VariableDeclaration","scope":71293,"src":"3936:25:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71287,"name":"uint256","nodeType":"ElementaryTypeName","src":"3936:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71292,"mutability":"mutable","name":"levelsAndSupplies","nameLocation":"4072:17:128","nodeType":"VariableDeclaration","scope":71293,"src":"4055:34:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_LevelAndSupply_$71314_storage_$dyn_storage_ptr","typeString":"struct DataTypes.LevelAndSupply[]"},"typeName":{"baseType":{"id":71290,"nodeType":"UserDefinedTypeName","pathNode":{"id":71289,"name":"LevelAndSupply","nameLocations":["4055:14:128"],"nodeType":"IdentifierPath","referencedDeclaration":71314,"src":"4055:14:128"},"referencedDeclaration":71314,"src":"4055:14:128","typeDescriptions":{"typeIdentifier":"t_struct$_LevelAndSupply_$71314_storage_ptr","typeString":"struct DataTypes.LevelAndSupply"}},"id":71291,"nodeType":"ArrayTypeName","src":"4055:16:128","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_LevelAndSupply_$71314_storage_$dyn_storage_ptr","typeString":"struct DataTypes.LevelAndSupply[]"}},"visibility":"internal"}],"name":"StargateNFTInitParams","nameLocation":"3263:21:128","nodeType":"StructDefinition","scope":71347,"src":"3256:875:128","visibility":"public"},{"canonicalName":"DataTypes.Level","id":71306,"members":[{"constant":false,"id":71295,"mutability":"mutable","name":"name","nameLocation":"4161:4:128","nodeType":"VariableDeclaration","scope":71306,"src":"4154:11:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":71294,"name":"string","nodeType":"ElementaryTypeName","src":"4154:6:128","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71297,"mutability":"mutable","name":"isX","nameLocation":"4226:3:128","nodeType":"VariableDeclaration","scope":71306,"src":"4221:8:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71296,"name":"bool","nodeType":"ElementaryTypeName","src":"4221:4:128","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":71299,"mutability":"mutable","name":"id","nameLocation":"4278:2:128","nodeType":"VariableDeclaration","scope":71306,"src":"4272:8:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71298,"name":"uint8","nodeType":"ElementaryTypeName","src":"4272:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":71301,"mutability":"mutable","name":"maturityBlocks","nameLocation":"4370:14:128","nodeType":"VariableDeclaration","scope":71306,"src":"4363:21:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":71300,"name":"uint64","nodeType":"ElementaryTypeName","src":"4363:6:128","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":71303,"mutability":"mutable","name":"scaledRewardFactor","nameLocation":"4426:18:128","nodeType":"VariableDeclaration","scope":71306,"src":"4419:25:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":71302,"name":"uint64","nodeType":"ElementaryTypeName","src":"4419:6:128","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":71305,"mutability":"mutable","name":"vetAmountRequiredToStake","nameLocation":"4532:24:128","nodeType":"VariableDeclaration","scope":71306,"src":"4524:32:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71304,"name":"uint256","nodeType":"ElementaryTypeName","src":"4524:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Level","nameLocation":"4142:5:128","nodeType":"StructDefinition","scope":71347,"src":"4135:461:128","visibility":"public"},{"canonicalName":"DataTypes.LevelAndSupply","id":71314,"members":[{"constant":false,"id":71309,"mutability":"mutable","name":"level","nameLocation":"4634:5:128","nodeType":"VariableDeclaration","scope":71314,"src":"4628:11:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Level_$71306_storage_ptr","typeString":"struct DataTypes.Level"},"typeName":{"id":71308,"nodeType":"UserDefinedTypeName","pathNode":{"id":71307,"name":"Level","nameLocations":["4628:5:128"],"nodeType":"IdentifierPath","referencedDeclaration":71306,"src":"4628:5:128"},"referencedDeclaration":71306,"src":"4628:5:128","typeDescriptions":{"typeIdentifier":"t_struct$_Level_$71306_storage_ptr","typeString":"struct DataTypes.Level"}},"visibility":"internal"},{"constant":false,"id":71311,"mutability":"mutable","name":"circulatingSupply","nameLocation":"4670:17:128","nodeType":"VariableDeclaration","scope":71314,"src":"4662:25:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":71310,"name":"uint208","nodeType":"ElementaryTypeName","src":"4662:7:128","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"},{"constant":false,"id":71313,"mutability":"mutable","name":"cap","nameLocation":"4730:3:128","nodeType":"VariableDeclaration","scope":71314,"src":"4723:10:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71312,"name":"uint32","nodeType":"ElementaryTypeName","src":"4723:6:128","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"name":"LevelAndSupply","nameLocation":"4607:14:128","nodeType":"StructDefinition","scope":71347,"src":"4600:160:128","visibility":"public"},{"canonicalName":"DataTypes.Token","id":71325,"members":[{"constant":false,"id":71316,"mutability":"mutable","name":"tokenId","nameLocation":"4791:7:128","nodeType":"VariableDeclaration","scope":71325,"src":"4783:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71315,"name":"uint256","nodeType":"ElementaryTypeName","src":"4783:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71318,"mutability":"mutable","name":"levelId","nameLocation":"4810:7:128","nodeType":"VariableDeclaration","scope":71325,"src":"4804:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71317,"name":"uint8","nodeType":"ElementaryTypeName","src":"4804:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":71320,"mutability":"mutable","name":"mintedAtBlock","nameLocation":"4830:13:128","nodeType":"VariableDeclaration","scope":71325,"src":"4823:20:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":71319,"name":"uint64","nodeType":"ElementaryTypeName","src":"4823:6:128","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":71322,"mutability":"mutable","name":"vetAmountStaked","nameLocation":"4857:15:128","nodeType":"VariableDeclaration","scope":71325,"src":"4849:23:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71321,"name":"uint256","nodeType":"ElementaryTypeName","src":"4849:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71324,"mutability":"mutable","name":"lastVetGeneratedVthoClaimTimestamp_deprecated","nameLocation":"4885:45:128","nodeType":"VariableDeclaration","scope":71325,"src":"4878:52:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":71323,"name":"uint48","nodeType":"ElementaryTypeName","src":"4878:6:128","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"name":"Token","nameLocation":"4771:5:128","nodeType":"StructDefinition","scope":71347,"src":"4764:311:128","visibility":"public"},{"canonicalName":"DataTypes.WhitelistEntry","id":71330,"members":[{"constant":false,"id":71327,"mutability":"mutable","name":"tokenId","nameLocation":"5115:7:128","nodeType":"VariableDeclaration","scope":71330,"src":"5107:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71326,"name":"uint256","nodeType":"ElementaryTypeName","src":"5107:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71329,"mutability":"mutable","name":"levelId","nameLocation":"5134:7:128","nodeType":"VariableDeclaration","scope":71330,"src":"5128:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71328,"name":"uint8","nodeType":"ElementaryTypeName","src":"5128:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"name":"WhitelistEntry","nameLocation":"5086:14:128","nodeType":"StructDefinition","scope":71347,"src":"5079:67:128","visibility":"public"},{"canonicalName":"DataTypes.WhitelistEntryInit","id":71337,"members":[{"constant":false,"id":71332,"mutability":"mutable","name":"owner","nameLocation":"5190:5:128","nodeType":"VariableDeclaration","scope":71337,"src":"5182:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71331,"name":"address","nodeType":"ElementaryTypeName","src":"5182:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71334,"mutability":"mutable","name":"tokenId","nameLocation":"5209:7:128","nodeType":"VariableDeclaration","scope":71337,"src":"5201:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71333,"name":"uint256","nodeType":"ElementaryTypeName","src":"5201:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71336,"mutability":"mutable","name":"levelId","nameLocation":"5228:7:128","nodeType":"VariableDeclaration","scope":71337,"src":"5222:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71335,"name":"uint8","nodeType":"ElementaryTypeName","src":"5222:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"name":"WhitelistEntryInit","nameLocation":"5157:18:128","nodeType":"StructDefinition","scope":71347,"src":"5150:90:128","visibility":"public"},{"canonicalName":"DataTypes.TokenOverview","id":71346,"members":[{"constant":false,"id":71339,"mutability":"mutable","name":"id","nameLocation":"5279:2:128","nodeType":"VariableDeclaration","scope":71346,"src":"5271:10:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71338,"name":"uint256","nodeType":"ElementaryTypeName","src":"5271:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71341,"mutability":"mutable","name":"owner","nameLocation":"5295:5:128","nodeType":"VariableDeclaration","scope":71346,"src":"5287:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71340,"name":"address","nodeType":"ElementaryTypeName","src":"5287:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71343,"mutability":"mutable","name":"manager","nameLocation":"5314:7:128","nodeType":"VariableDeclaration","scope":71346,"src":"5306:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71342,"name":"address","nodeType":"ElementaryTypeName","src":"5306:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71345,"mutability":"mutable","name":"levelId","nameLocation":"5333:7:128","nodeType":"VariableDeclaration","scope":71346,"src":"5327:13:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71344,"name":"uint8","nodeType":"ElementaryTypeName","src":"5327:5:128","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"name":"TokenOverview","nameLocation":"5251:13:128","nodeType":"StructDefinition","scope":71347,"src":"5244:101:128","visibility":"public"}],"scope":71348,"src":"1459:3888:128","usedErrors":[],"usedEvents":[]}],"src":"833:4515:128"},"id":128},"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol":{"ast":{"absolutePath":"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol","exportedSymbols":{"DataTypes":[71347],"INodeManagementV3":[71617],"VechainNodesDataTypes":[71181]},"id":71618,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":71349,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"33:23:129"},{"absolutePath":"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol","file":"../../NodeManagement/libraries/VechainNodesDataTypes.sol","id":71351,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71618,"sourceUnit":71182,"src":"58:97:129","symbolAliases":[{"foreign":{"id":71350,"name":"VechainNodesDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71181,"src":"67:21:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol","file":"../../StargateNFT/libraries/DataTypes.sol","id":71353,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":71618,"sourceUnit":71348,"src":"156:70:129","symbolAliases":[{"foreign":{"id":71352,"name":"DataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71347,"src":"165:9:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"INodeManagementV3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":71617,"linearizedBaseContracts":[71617],"name":"INodeManagementV3","nameLocation":"238:17:129","nodeType":"ContractDefinition","nodes":[{"canonicalName":"INodeManagementV3.NodeSource","id":71357,"members":[{"id":71354,"name":"Node","nameLocation":"282:4:129","nodeType":"EnumValue","src":"282:4:129"},{"id":71355,"name":"VeChainNodes","nameLocation":"292:12:129","nodeType":"EnumValue","src":"292:12:129"},{"id":71356,"name":"StargateNFT","nameLocation":"310:11:129","nodeType":"EnumValue","src":"310:11:129"}],"name":"NodeSource","nameLocation":"265:10:129","nodeType":"EnumDefinition","src":"260:65:129"},{"canonicalName":"INodeManagementV3.NodeInfo","id":71374,"members":[{"constant":false,"id":71359,"mutability":"mutable","name":"nodeId","nameLocation":"417:6:129","nodeType":"VariableDeclaration","scope":71374,"src":"409:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71358,"name":"uint256","nodeType":"ElementaryTypeName","src":"409:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71361,"mutability":"mutable","name":"nodeLevel","nameLocation":"435:9:129","nodeType":"VariableDeclaration","scope":71374,"src":"429:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71360,"name":"uint8","nodeType":"ElementaryTypeName","src":"429:5:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":71363,"mutability":"mutable","name":"xNodeOwner","nameLocation":"458:10:129","nodeType":"VariableDeclaration","scope":71374,"src":"450:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71362,"name":"address","nodeType":"ElementaryTypeName","src":"450:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71365,"mutability":"mutable","name":"isXNodeHolder","nameLocation":"479:13:129","nodeType":"VariableDeclaration","scope":71374,"src":"474:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71364,"name":"bool","nodeType":"ElementaryTypeName","src":"474:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":71367,"mutability":"mutable","name":"isXNodeDelegated","nameLocation":"503:16:129","nodeType":"VariableDeclaration","scope":71374,"src":"498:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71366,"name":"bool","nodeType":"ElementaryTypeName","src":"498:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":71369,"mutability":"mutable","name":"isXNodeDelegator","nameLocation":"530:16:129","nodeType":"VariableDeclaration","scope":71374,"src":"525:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71368,"name":"bool","nodeType":"ElementaryTypeName","src":"525:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":71371,"mutability":"mutable","name":"isXNodeDelegatee","nameLocation":"557:16:129","nodeType":"VariableDeclaration","scope":71374,"src":"552:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71370,"name":"bool","nodeType":"ElementaryTypeName","src":"552:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":71373,"mutability":"mutable","name":"delegatee","nameLocation":"587:9:129","nodeType":"VariableDeclaration","scope":71374,"src":"579:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71372,"name":"address","nodeType":"ElementaryTypeName","src":"579:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"NodeInfo","nameLocation":"394:8:129","nodeType":"StructDefinition","scope":71617,"src":"387:214:129","visibility":"public"},{"documentation":{"id":71375,"nodeType":"StructuredDocumentation","src":"605:76:129","text":" @notice Error indicating that the caller does not own a node."},"errorSelector":"fec8382d","id":71377,"name":"NodeManagementNonNodeHolder","nameLocation":"690:27:129","nodeType":"ErrorDefinition","parameters":{"id":71376,"nodeType":"ParameterList","parameters":[],"src":"717:2:129"},"src":"684:36:129"},{"documentation":{"id":71378,"nodeType":"StructuredDocumentation","src":"724:81:129","text":" @notice Error indicating that the node is not currently delegated."},"errorSelector":"dfdadbf3","id":71380,"name":"NodeManagementNodeNotDelegated","nameLocation":"814:30:129","nodeType":"ErrorDefinition","parameters":{"id":71379,"nodeType":"ParameterList","parameters":[],"src":"844:2:129"},"src":"808:39:129"},{"documentation":{"id":71381,"nodeType":"StructuredDocumentation","src":"851:89:129","text":" @notice Error indicating that an address is being set to the zero address."},"errorSelector":"b772cd5b","id":71383,"name":"NodeManagementZeroAddress","nameLocation":"949:25:129","nodeType":"ErrorDefinition","parameters":{"id":71382,"nodeType":"ParameterList","parameters":[],"src":"974:2:129"},"src":"943:34:129"},{"documentation":{"id":71384,"nodeType":"StructuredDocumentation","src":"981:89:129","text":" @notice Error indicating that an address is being set to the zero address."},"errorSelector":"eb6f110e","id":71386,"name":"NodeManagementSelfDelegation","nameLocation":"1079:28:129","nodeType":"ErrorDefinition","parameters":{"id":71385,"nodeType":"ParameterList","parameters":[],"src":"1107:2:129"},"src":"1073:37:129"},{"documentation":{"id":71387,"nodeType":"StructuredDocumentation","src":"1114:216:129","text":" @notice Error indicating that the node is already delegated to another user.\n @param nodeId The ID of the node that is already delegated.\n @param delegatee The address of the current delegatee."},"errorSelector":"03dcf91e","id":71393,"name":"NodeManagementNodeAlreadyDelegated","nameLocation":"1339:34:129","nodeType":"ErrorDefinition","parameters":{"id":71392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71389,"mutability":"mutable","name":"nodeId","nameLocation":"1382:6:129","nodeType":"VariableDeclaration","scope":71393,"src":"1374:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71388,"name":"uint256","nodeType":"ElementaryTypeName","src":"1374:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71391,"mutability":"mutable","name":"delegatee","nameLocation":"1398:9:129","nodeType":"VariableDeclaration","scope":71393,"src":"1390:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71390,"name":"address","nodeType":"ElementaryTypeName","src":"1390:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1373:35:129"},"src":"1333:76:129"},{"documentation":{"id":71394,"nodeType":"StructuredDocumentation","src":"1413:142:129","text":" @notice Error indicating that the user does not own the node.\n @param nodeId The ID of the node that the user does not own."},"errorSelector":"7759d448","id":71398,"name":"NodeManagementNotNodeOwner","nameLocation":"1564:26:129","nodeType":"ErrorDefinition","parameters":{"id":71397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71396,"mutability":"mutable","name":"nodeId","nameLocation":"1599:6:129","nodeType":"VariableDeclaration","scope":71398,"src":"1591:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71395,"name":"uint256","nodeType":"ElementaryTypeName","src":"1591:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1590:16:129"},"src":"1558:49:129"},{"documentation":{"id":71399,"nodeType":"StructuredDocumentation","src":"1611:148:129","text":" @notice Error indicating that the user does not manage the node.\n @param nodeId The ID of the node that the user does not manage."},"errorSelector":"677d7b01","id":71403,"name":"NodeManagementNotNodeOwnerOrManager","nameLocation":"1768:35:129","nodeType":"ErrorDefinition","parameters":{"id":71402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71401,"mutability":"mutable","name":"nodeId","nameLocation":"1812:6:129","nodeType":"VariableDeclaration","scope":71403,"src":"1804:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71400,"name":"uint256","nodeType":"ElementaryTypeName","src":"1804:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1803:16:129"},"src":"1762:58:129"},{"anonymous":false,"documentation":{"id":71404,"nodeType":"StructuredDocumentation","src":"1824:403:129","text":" @notice Event emitted when a node is delegated or the delegation is removed.\n @param nodeId The ID of the node being delegated or having its delegation removed.\n @param delegatee The address to which the node is delegated or from which the delegation is removed.\n @param delegated A boolean indicating whether the node is delegated (true) or the delegation is removed (false)."},"eventSelector":"9d779bef74377ebed4cc811ab6a0971e9f183847056487e78a11882694d53cec","id":71412,"name":"NodeDelegated","nameLocation":"2236:13:129","nodeType":"EventDefinition","parameters":{"id":71411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71406,"indexed":true,"mutability":"mutable","name":"nodeId","nameLocation":"2266:6:129","nodeType":"VariableDeclaration","scope":71412,"src":"2250:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71405,"name":"uint256","nodeType":"ElementaryTypeName","src":"2250:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71408,"indexed":true,"mutability":"mutable","name":"delegatee","nameLocation":"2290:9:129","nodeType":"VariableDeclaration","scope":71412,"src":"2274:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71407,"name":"address","nodeType":"ElementaryTypeName","src":"2274:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71410,"indexed":false,"mutability":"mutable","name":"delegated","nameLocation":"2306:9:129","nodeType":"VariableDeclaration","scope":71412,"src":"2301:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71409,"name":"bool","nodeType":"ElementaryTypeName","src":"2301:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2249:67:129"},"src":"2230:87:129"},{"anonymous":false,"documentation":{"id":71413,"nodeType":"StructuredDocumentation","src":"2321:82:129","text":"  @dev Emit when the vechain node contract address is set or updated"},"eventSelector":"74dd84f988c93e13e3e1c4bc4661d03c04b202314e983cf17537bfe04b86fdf2","id":71419,"name":"VechainNodeContractSet","nameLocation":"2412:22:129","nodeType":"EventDefinition","parameters":{"id":71418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71415,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"2443:18:129","nodeType":"VariableDeclaration","scope":71419,"src":"2435:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71414,"name":"address","nodeType":"ElementaryTypeName","src":"2435:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71417,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"2471:18:129","nodeType":"VariableDeclaration","scope":71419,"src":"2463:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71416,"name":"address","nodeType":"ElementaryTypeName","src":"2463:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2434:56:129"},"src":"2406:85:129"},{"anonymous":false,"documentation":{"id":71420,"nodeType":"StructuredDocumentation","src":"2495:82:129","text":"  @dev Emit when the stargate NFT contract address is set or updated"},"eventSelector":"2b41eef7a45e73aa079672c7e7e24f5556631f6d0b821b1dd1d7e05470a67245","id":71426,"name":"StargateNftSet","nameLocation":"2586:14:129","nodeType":"EventDefinition","parameters":{"id":71425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71422,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"2609:18:129","nodeType":"VariableDeclaration","scope":71426,"src":"2601:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71421,"name":"address","nodeType":"ElementaryTypeName","src":"2601:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71424,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"2637:18:129","nodeType":"VariableDeclaration","scope":71426,"src":"2629:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71423,"name":"address","nodeType":"ElementaryTypeName","src":"2629:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2600:56:129"},"src":"2580:77:129"},{"documentation":{"id":71427,"nodeType":"StructuredDocumentation","src":"2661:68:129","text":" @notice Error indicating that a node ID is not valid."},"errorSelector":"d50d8900","id":71429,"name":"NodeManagementInvalidNodeId","nameLocation":"2738:27:129","nodeType":"ErrorDefinition","parameters":{"id":71428,"nodeType":"ParameterList","parameters":[],"src":"2765:2:129"},"src":"2732:36:129"},{"documentation":{"id":71430,"nodeType":"StructuredDocumentation","src":"2772:330:129","text":" @notice Initialize the contract with the specified VeChain Nodes contract, admin, and upgrader addresses.\n @param vechainNodesContract The address of the VeChain Nodes contract.\n @param admin The address to be granted the default admin role.\n @param upgrader The address to be granted the upgrader role."},"functionSelector":"c0c53b8b","id":71439,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"3114:10:129","nodeType":"FunctionDefinition","parameters":{"id":71437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71432,"mutability":"mutable","name":"vechainNodesContract","nameLocation":"3133:20:129","nodeType":"VariableDeclaration","scope":71439,"src":"3125:28:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71431,"name":"address","nodeType":"ElementaryTypeName","src":"3125:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71434,"mutability":"mutable","name":"admin","nameLocation":"3163:5:129","nodeType":"VariableDeclaration","scope":71439,"src":"3155:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71433,"name":"address","nodeType":"ElementaryTypeName","src":"3155:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71436,"mutability":"mutable","name":"upgrader","nameLocation":"3178:8:129","nodeType":"VariableDeclaration","scope":71439,"src":"3170:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71435,"name":"address","nodeType":"ElementaryTypeName","src":"3170:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3124:63:129"},"returnParameters":{"id":71438,"nodeType":"ParameterList","parameters":[],"src":"3196:0:129"},"scope":71617,"src":"3105:92:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71440,"nodeType":"StructuredDocumentation","src":"3201:149:129","text":" @notice Set the address of the VeChain Nodes contract.\n @param vechainNodesContract The new address of the VeChain Nodes contract."},"functionSelector":"0df9dff8","id":71445,"implemented":false,"kind":"function","modifiers":[],"name":"setVechainNodesContract","nameLocation":"3362:23:129","nodeType":"FunctionDefinition","parameters":{"id":71443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71442,"mutability":"mutable","name":"vechainNodesContract","nameLocation":"3394:20:129","nodeType":"VariableDeclaration","scope":71445,"src":"3386:28:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71441,"name":"address","nodeType":"ElementaryTypeName","src":"3386:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3385:30:129"},"returnParameters":{"id":71444,"nodeType":"ParameterList","parameters":[],"src":"3424:0:129"},"scope":71617,"src":"3353:72:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71446,"nodeType":"StructuredDocumentation","src":"3429:138:129","text":" @notice Set the address of the Stargate NFT contract.\n @param stargateNft The new address of the Stargate NFT contract."},"functionSelector":"b9349c90","id":71451,"implemented":false,"kind":"function","modifiers":[],"name":"setStargateNft","nameLocation":"3579:14:129","nodeType":"FunctionDefinition","parameters":{"id":71449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71448,"mutability":"mutable","name":"stargateNft","nameLocation":"3602:11:129","nodeType":"VariableDeclaration","scope":71451,"src":"3594:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71447,"name":"address","nodeType":"ElementaryTypeName","src":"3594:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3593:21:129"},"returnParameters":{"id":71450,"nodeType":"ParameterList","parameters":[],"src":"3623:0:129"},"scope":71617,"src":"3570:54:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71452,"nodeType":"StructuredDocumentation","src":"3628:168:129","text":" @notice Delegate a node to another address.\n @param delegatee The address to delegate the node to.\n @param nodeId The ID of the node to delegate."},"functionSelector":"c79bb94b","id":71459,"implemented":false,"kind":"function","modifiers":[],"name":"delegateNode","nameLocation":"3808:12:129","nodeType":"FunctionDefinition","parameters":{"id":71457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71454,"mutability":"mutable","name":"delegatee","nameLocation":"3829:9:129","nodeType":"VariableDeclaration","scope":71459,"src":"3821:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71453,"name":"address","nodeType":"ElementaryTypeName","src":"3821:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71456,"mutability":"mutable","name":"nodeId","nameLocation":"3848:6:129","nodeType":"VariableDeclaration","scope":71459,"src":"3840:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71455,"name":"uint256","nodeType":"ElementaryTypeName","src":"3840:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3820:35:129"},"returnParameters":{"id":71458,"nodeType":"ParameterList","parameters":[],"src":"3864:0:129"},"scope":71617,"src":"3799:66:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71460,"nodeType":"StructuredDocumentation","src":"3869:124:129","text":" @notice Remove the delegation of a node.\n @param nodeId The ID of the node to remove the delegation from."},"functionSelector":"61302213","id":71465,"implemented":false,"kind":"function","modifiers":[],"name":"removeNodeDelegation","nameLocation":"4005:20:129","nodeType":"FunctionDefinition","parameters":{"id":71463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71462,"mutability":"mutable","name":"nodeId","nameLocation":"4034:6:129","nodeType":"VariableDeclaration","scope":71465,"src":"4026:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71461,"name":"uint256","nodeType":"ElementaryTypeName","src":"4026:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4025:16:129"},"returnParameters":{"id":71464,"nodeType":"ParameterList","parameters":[],"src":"4050:0:129"},"scope":71617,"src":"3996:55:129","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71466,"nodeType":"StructuredDocumentation","src":"4055:224:129","text":" @notice Retrieve the node ID associated with a user, either through direct ownership or delegation.\n @param user The address of the user to check.\n @return uint256 The node ID associated with the user."},"functionSelector":"2e4e2531","id":71474,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeIds","nameLocation":"4291:10:129","nodeType":"FunctionDefinition","parameters":{"id":71469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71468,"mutability":"mutable","name":"user","nameLocation":"4310:4:129","nodeType":"VariableDeclaration","scope":71474,"src":"4302:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71467,"name":"address","nodeType":"ElementaryTypeName","src":"4302:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4301:14:129"},"returnParameters":{"id":71473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71474,"src":"4339:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":71470,"name":"uint256","nodeType":"ElementaryTypeName","src":"4339:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71471,"nodeType":"ArrayTypeName","src":"4339:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4338:18:129"},"scope":71617,"src":"4282:75:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71475,"nodeType":"StructuredDocumentation","src":"4361:288:129","text":" @notice Retrieves the address of the user managing the node ID endorsement either through ownership or delegation.\n @param nodeId The ID of the node for which the manager address is being retrieved.\n @return address The address of the manager of the specified node."},"functionSelector":"9e2c2f3e","id":71482,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeManager","nameLocation":"4661:14:129","nodeType":"FunctionDefinition","parameters":{"id":71478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71477,"mutability":"mutable","name":"nodeId","nameLocation":"4684:6:129","nodeType":"VariableDeclaration","scope":71482,"src":"4676:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71476,"name":"uint256","nodeType":"ElementaryTypeName","src":"4676:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4675:16:129"},"returnParameters":{"id":71481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71482,"src":"4715:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71479,"name":"address","nodeType":"ElementaryTypeName","src":"4715:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4714:9:129"},"scope":71617,"src":"4652:72:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71483,"nodeType":"StructuredDocumentation","src":"4728:228:129","text":" @notice Retrieves the address of the true owner of a node.\n @param nodeId The ID of the node for which the owner address is being retrieved.\n @return address The address of the owner of the specified node."},"functionSelector":"5d3c373f","id":71490,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeOwner","nameLocation":"4968:12:129","nodeType":"FunctionDefinition","parameters":{"id":71486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71485,"mutability":"mutable","name":"nodeId","nameLocation":"4989:6:129","nodeType":"VariableDeclaration","scope":71490,"src":"4981:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71484,"name":"uint256","nodeType":"ElementaryTypeName","src":"4981:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4980:16:129"},"returnParameters":{"id":71489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71490,"src":"5020:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71487,"name":"address","nodeType":"ElementaryTypeName","src":"5020:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5019:9:129"},"scope":71617,"src":"4959:70:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71491,"nodeType":"StructuredDocumentation","src":"5033:176:129","text":" @notice Retrieves the node IDs delegated to a user.\n @param user The address of the user to check.\n @return uint256[] The node IDs delegated to the user."},"functionSelector":"766b2a60","id":71499,"implemented":false,"kind":"function","modifiers":[],"name":"getNodesDelegatedTo","nameLocation":"5221:19:129","nodeType":"FunctionDefinition","parameters":{"id":71494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71493,"mutability":"mutable","name":"user","nameLocation":"5249:4:129","nodeType":"VariableDeclaration","scope":71499,"src":"5241:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71492,"name":"address","nodeType":"ElementaryTypeName","src":"5241:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5240:14:129"},"returnParameters":{"id":71498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71497,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71499,"src":"5278:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":71495,"name":"uint256","nodeType":"ElementaryTypeName","src":"5278:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71496,"nodeType":"ArrayTypeName","src":"5278:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5277:18:129"},"scope":71617,"src":"5212:84:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71500,"nodeType":"StructuredDocumentation","src":"5300:285:129","text":" @notice Check if a user is holding a specific node ID either directly or through delegation.\n @param user The address of the user to check.\n @param nodeId The node ID to check for.\n @return bool True if the user is holding the node ID and it is a valid node."},"functionSelector":"3258cc2f","id":71509,"implemented":false,"kind":"function","modifiers":[],"name":"isNodeManager","nameLocation":"5597:13:129","nodeType":"FunctionDefinition","parameters":{"id":71505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71502,"mutability":"mutable","name":"user","nameLocation":"5619:4:129","nodeType":"VariableDeclaration","scope":71509,"src":"5611:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71501,"name":"address","nodeType":"ElementaryTypeName","src":"5611:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71504,"mutability":"mutable","name":"nodeId","nameLocation":"5633:6:129","nodeType":"VariableDeclaration","scope":71509,"src":"5625:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71503,"name":"uint256","nodeType":"ElementaryTypeName","src":"5625:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5610:30:129"},"returnParameters":{"id":71508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71507,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71509,"src":"5664:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71506,"name":"bool","nodeType":"ElementaryTypeName","src":"5664:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5663:6:129"},"scope":71617,"src":"5588:82:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71510,"nodeType":"StructuredDocumentation","src":"5674:146:129","text":" @notice Check if a node is delegated.\n @param nodeId The node ID to check for.\n @return bool True if the node is delegated."},"functionSelector":"53fff87c","id":71517,"implemented":false,"kind":"function","modifiers":[],"name":"isNodeDelegated","nameLocation":"5832:15:129","nodeType":"FunctionDefinition","parameters":{"id":71513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71512,"mutability":"mutable","name":"nodeId","nameLocation":"5856:6:129","nodeType":"VariableDeclaration","scope":71517,"src":"5848:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71511,"name":"uint256","nodeType":"ElementaryTypeName","src":"5848:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5847:16:129"},"returnParameters":{"id":71516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71515,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71517,"src":"5887:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71514,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5886:6:129"},"scope":71617,"src":"5823:70:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71518,"nodeType":"StructuredDocumentation","src":"5897:156:129","text":" @notice Check if a user is a delegator.\n @param user The address of the user to check.\n @return bool True if the user is a delegator."},"functionSelector":"4f444d25","id":71525,"implemented":false,"kind":"function","modifiers":[],"name":"isNodeDelegator","nameLocation":"6065:15:129","nodeType":"FunctionDefinition","parameters":{"id":71521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71520,"mutability":"mutable","name":"user","nameLocation":"6089:4:129","nodeType":"VariableDeclaration","scope":71525,"src":"6081:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71519,"name":"address","nodeType":"ElementaryTypeName","src":"6081:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6080:14:129"},"returnParameters":{"id":71524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71523,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71525,"src":"6118:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71522,"name":"bool","nodeType":"ElementaryTypeName","src":"6118:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6117:6:129"},"scope":71617,"src":"6056:68:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71526,"nodeType":"StructuredDocumentation","src":"6128:200:129","text":" @notice Check if a user is a node holder (either directly or through delegation).\n @param user The address of the user to check.\n @return bool True if the user is a node holder."},"functionSelector":"beba8408","id":71533,"implemented":false,"kind":"function","modifiers":[],"name":"isNodeHolder","nameLocation":"6340:12:129","nodeType":"FunctionDefinition","parameters":{"id":71529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71528,"mutability":"mutable","name":"user","nameLocation":"6361:4:129","nodeType":"VariableDeclaration","scope":71533,"src":"6353:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71527,"name":"address","nodeType":"ElementaryTypeName","src":"6353:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6352:14:129"},"returnParameters":{"id":71532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71533,"src":"6390:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71530,"name":"bool","nodeType":"ElementaryTypeName","src":"6390:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6389:6:129"},"scope":71617,"src":"6331:65:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71534,"nodeType":"StructuredDocumentation","src":"6400:186:129","text":" @notice Check if a user directly owns a node (not delegated).\n @param user The address of the user to check.\n @return uint256 The ID of the owned node (0 if none)."},"functionSelector":"97a4f3c4","id":71541,"implemented":false,"kind":"function","modifiers":[],"name":"getDirectNodeOwnership","nameLocation":"6598:22:129","nodeType":"FunctionDefinition","parameters":{"id":71537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71536,"mutability":"mutable","name":"user","nameLocation":"6629:4:129","nodeType":"VariableDeclaration","scope":71541,"src":"6621:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71535,"name":"address","nodeType":"ElementaryTypeName","src":"6621:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6620:14:129"},"returnParameters":{"id":71540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71541,"src":"6658:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71538,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6657:9:129"},"scope":71617,"src":"6589:78:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71542,"nodeType":"StructuredDocumentation","src":"6671:237:129","text":" @notice Retrieves the node IDs directly owned by a user.\n @param user The address of the user to check.\n @return uint256[] The node IDs directly owned by the user. If no nodes are owned, an empty array is returned."},"functionSelector":"0470bfcc","id":71550,"implemented":false,"kind":"function","modifiers":[],"name":"getDirectNodesOwnership","nameLocation":"6920:23:129","nodeType":"FunctionDefinition","parameters":{"id":71545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71544,"mutability":"mutable","name":"user","nameLocation":"6952:4:129","nodeType":"VariableDeclaration","scope":71550,"src":"6944:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71543,"name":"address","nodeType":"ElementaryTypeName","src":"6944:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6943:14:129"},"returnParameters":{"id":71549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71548,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71550,"src":"6981:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":71546,"name":"uint256","nodeType":"ElementaryTypeName","src":"6981:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71547,"nodeType":"ArrayTypeName","src":"6981:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6980:18:129"},"scope":71617,"src":"6911:88:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71551,"nodeType":"StructuredDocumentation","src":"7003:254:129","text":" @notice Checks if a user is the direct owner of a node.\n @param user The address of the user to check.\n @param nodeId The ID of the node to check.\n @return bool True if the user is the direct owner of the node, false otherwise."},"functionSelector":"3b276ecc","id":71560,"implemented":false,"kind":"function","modifiers":[],"name":"isDirectNodeOwner","nameLocation":"7269:17:129","nodeType":"FunctionDefinition","parameters":{"id":71556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71553,"mutability":"mutable","name":"user","nameLocation":"7295:4:129","nodeType":"VariableDeclaration","scope":71560,"src":"7287:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71552,"name":"address","nodeType":"ElementaryTypeName","src":"7287:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71555,"mutability":"mutable","name":"nodeId","nameLocation":"7309:6:129","nodeType":"VariableDeclaration","scope":71560,"src":"7301:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71554,"name":"uint256","nodeType":"ElementaryTypeName","src":"7301:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7286:30:129"},"returnParameters":{"id":71559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71558,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71560,"src":"7340:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71557,"name":"bool","nodeType":"ElementaryTypeName","src":"7340:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7339:6:129"},"scope":71617,"src":"7260:86:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71561,"nodeType":"StructuredDocumentation","src":"7350:185:129","text":" @notice Retrieves the node level of a given node ID.\n @param nodeId The token ID of the endorsing node.\n @return levelId The node level of the specified token ID."},"functionSelector":"1ceae42f","id":71568,"implemented":false,"kind":"function","modifiers":[],"name":"getNodeLevel","nameLocation":"7547:12:129","nodeType":"FunctionDefinition","parameters":{"id":71564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71563,"mutability":"mutable","name":"nodeId","nameLocation":"7568:6:129","nodeType":"VariableDeclaration","scope":71568,"src":"7560:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71562,"name":"uint256","nodeType":"ElementaryTypeName","src":"7560:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7559:16:129"},"returnParameters":{"id":71567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71566,"mutability":"mutable","name":"levelId","nameLocation":"7605:7:129","nodeType":"VariableDeclaration","scope":71568,"src":"7599:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71565,"name":"uint8","nodeType":"ElementaryTypeName","src":"7599:5:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7598:15:129"},"scope":71617,"src":"7538:76:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71569,"nodeType":"StructuredDocumentation","src":"7618:202:129","text":" @notice Retrieves the node level of a user's managed node.\n @param user The address of the user managing the node.\n @return uint8[] The node level of the node managed by the user."},"functionSelector":"d466d80b","id":71577,"implemented":false,"kind":"function","modifiers":[],"name":"getUsersNodeLevels","nameLocation":"7832:18:129","nodeType":"FunctionDefinition","parameters":{"id":71572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71571,"mutability":"mutable","name":"user","nameLocation":"7859:4:129","nodeType":"VariableDeclaration","scope":71577,"src":"7851:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71570,"name":"address","nodeType":"ElementaryTypeName","src":"7851:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7850:14:129"},"returnParameters":{"id":71576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71575,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71577,"src":"7888:14:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":71573,"name":"uint8","nodeType":"ElementaryTypeName","src":"7888:5:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":71574,"nodeType":"ArrayTypeName","src":"7888:7:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"7887:16:129"},"scope":71617,"src":"7823:81:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71578,"nodeType":"StructuredDocumentation","src":"7908:175:129","text":" @notice Checks if a node is a legacy node.\n @param nodeId The ID of the node to check.\n @return bool True if the node is a legacy node, false otherwise."},"functionSelector":"b721e8e0","id":71585,"implemented":false,"kind":"function","modifiers":[],"name":"isLegacyNode","nameLocation":"8095:12:129","nodeType":"FunctionDefinition","parameters":{"id":71581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71580,"mutability":"mutable","name":"nodeId","nameLocation":"8116:6:129","nodeType":"VariableDeclaration","scope":71585,"src":"8108:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71579,"name":"uint256","nodeType":"ElementaryTypeName","src":"8108:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8107:16:129"},"returnParameters":{"id":71584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71583,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71585,"src":"8147:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71582,"name":"bool","nodeType":"ElementaryTypeName","src":"8147:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8146:6:129"},"scope":71617,"src":"8086:67:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71586,"nodeType":"StructuredDocumentation","src":"8157:258:129","text":" @notice Check if a node exists in the VeChainNodes contract or the StargateNFT contract\n @param nodeId The ID of the node to check.\n @return bool True if the node exists, false otherwise.\n @return NodeSource The source of the node."},"functionSelector":"4f558e79","id":71596,"implemented":false,"kind":"function","modifiers":[],"name":"exists","nameLocation":"8427:6:129","nodeType":"FunctionDefinition","parameters":{"id":71589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71588,"mutability":"mutable","name":"nodeId","nameLocation":"8442:6:129","nodeType":"VariableDeclaration","scope":71596,"src":"8434:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71587,"name":"uint256","nodeType":"ElementaryTypeName","src":"8434:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8433:16:129"},"returnParameters":{"id":71595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71591,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71596,"src":"8473:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71590,"name":"bool","nodeType":"ElementaryTypeName","src":"8473:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":71594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71596,"src":"8479:32:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_NodeSource_$71180","typeString":"enum VechainNodesDataTypes.NodeSource"},"typeName":{"id":71593,"nodeType":"UserDefinedTypeName","pathNode":{"id":71592,"name":"VechainNodesDataTypes.NodeSource","nameLocations":["8479:21:129","8501:10:129"],"nodeType":"IdentifierPath","referencedDeclaration":71180,"src":"8479:32:129"},"referencedDeclaration":71180,"src":"8479:32:129","typeDescriptions":{"typeIdentifier":"t_enum$_NodeSource_$71180","typeString":"enum VechainNodesDataTypes.NodeSource"}},"visibility":"internal"}],"src":"8472:40:129"},"scope":71617,"src":"8418:95:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71597,"nodeType":"StructuredDocumentation","src":"8517:168:129","text":" @notice Retrieves the node IDs owned by a user.\n @param user The address of the user to check.\n @return uint256[] The node IDs owned by the user."},"functionSelector":"2130fe23","id":71606,"implemented":false,"kind":"function","modifiers":[],"name":"getUserNodes","nameLocation":"8697:12:129","nodeType":"FunctionDefinition","parameters":{"id":71600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71599,"mutability":"mutable","name":"user","nameLocation":"8718:4:129","nodeType":"VariableDeclaration","scope":71606,"src":"8710:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71598,"name":"address","nodeType":"ElementaryTypeName","src":"8710:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8709:14:129"},"returnParameters":{"id":71605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71606,"src":"8747:17:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_NodeInfo_$71374_memory_ptr_$dyn_memory_ptr","typeString":"struct INodeManagementV3.NodeInfo[]"},"typeName":{"baseType":{"id":71602,"nodeType":"UserDefinedTypeName","pathNode":{"id":71601,"name":"NodeInfo","nameLocations":["8747:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":71374,"src":"8747:8:129"},"referencedDeclaration":71374,"src":"8747:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_NodeInfo_$71374_storage_ptr","typeString":"struct INodeManagementV3.NodeInfo"}},"id":71603,"nodeType":"ArrayTypeName","src":"8747:10:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_NodeInfo_$71374_storage_$dyn_storage_ptr","typeString":"struct INodeManagementV3.NodeInfo[]"}},"visibility":"internal"}],"src":"8746:19:129"},"scope":71617,"src":"8688:78:129","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71607,"nodeType":"StructuredDocumentation","src":"8770:168:129","text":" @notice Retrieves the node IDs owned by a user.\n @param user The address of the user to check.\n @return uint256[] The node IDs owned by the user."},"functionSelector":"a7c928cc","id":71616,"implemented":false,"kind":"function","modifiers":[],"name":"getUserStargateNFTsInfo","nameLocation":"8950:23:129","nodeType":"FunctionDefinition","parameters":{"id":71610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71609,"mutability":"mutable","name":"user","nameLocation":"8982:4:129","nodeType":"VariableDeclaration","scope":71616,"src":"8974:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71608,"name":"address","nodeType":"ElementaryTypeName","src":"8974:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8973:14:129"},"returnParameters":{"id":71615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71616,"src":"9011:24:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr","typeString":"struct DataTypes.Token[]"},"typeName":{"baseType":{"id":71612,"nodeType":"UserDefinedTypeName","pathNode":{"id":71611,"name":"DataTypes.Token","nameLocations":["9011:9:129","9021:5:129"],"nodeType":"IdentifierPath","referencedDeclaration":71325,"src":"9011:15:129"},"referencedDeclaration":71325,"src":"9011:15:129","typeDescriptions":{"typeIdentifier":"t_struct$_Token_$71325_storage_ptr","typeString":"struct DataTypes.Token"}},"id":71613,"nodeType":"ArrayTypeName","src":"9011:17:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_storage_$dyn_storage_ptr","typeString":"struct DataTypes.Token[]"}},"visibility":"internal"}],"src":"9010:26:129"},"scope":71617,"src":"8941:96:129","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":71618,"src":"228:8811:129","usedErrors":[71377,71380,71383,71386,71393,71398,71403,71429],"usedEvents":[71412,71419,71426]}],"src":"33:9007:129"},"id":129},"contracts/mocks/Stargate/interfaces/IStargate.sol":{"ast":{"absolutePath":"contracts/mocks/Stargate/interfaces/IStargate.sol","exportedSymbols":{"IStargate":[71931]},"id":71932,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":71619,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:130"},{"abstract":false,"baseContracts":[],"canonicalName":"IStargate","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":71931,"linearizedBaseContracts":[71931],"name":"IStargate","nameLocation":"67:9:130","nodeType":"ContractDefinition","nodes":[{"errorSelector":"ea93ab6d","id":71623,"name":"UnauthorizedUser","nameLocation":"131:16:130","nodeType":"ErrorDefinition","parameters":{"id":71622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71621,"mutability":"mutable","name":"user","nameLocation":"156:4:130","nodeType":"VariableDeclaration","scope":71623,"src":"148:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71620,"name":"address","nodeType":"ElementaryTypeName","src":"148:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"147:14:130"},"src":"125:37:130"},{"errorSelector":"6f7a29e2","id":71625,"name":"DelegationExitAlreadyRequested","nameLocation":"173:30:130","nodeType":"ErrorDefinition","parameters":{"id":71624,"nodeType":"ParameterList","parameters":[],"src":"203:2:130"},"src":"167:39:130"},{"errorSelector":"d5a996d1","id":71632,"name":"InvalidDelegationStatus","nameLocation":"217:23:130","nodeType":"ErrorDefinition","parameters":{"id":71631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71627,"mutability":"mutable","name":"tokenId","nameLocation":"249:7:130","nodeType":"VariableDeclaration","scope":71632,"src":"241:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71626,"name":"uint256","nodeType":"ElementaryTypeName","src":"241:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71630,"mutability":"mutable","name":"status","nameLocation":"275:6:130","nodeType":"VariableDeclaration","scope":71632,"src":"258:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DelegationStatus_$71758","typeString":"enum IStargate.DelegationStatus"},"typeName":{"id":71629,"nodeType":"UserDefinedTypeName","pathNode":{"id":71628,"name":"DelegationStatus","nameLocations":["258:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":71758,"src":"258:16:130"},"referencedDeclaration":71758,"src":"258:16:130","typeDescriptions":{"typeIdentifier":"t_enum$_DelegationStatus_$71758","typeString":"enum IStargate.DelegationStatus"}},"visibility":"internal"}],"src":"240:42:130"},"src":"211:72:130"},{"errorSelector":"58a04cf8","id":71636,"name":"DelegationNotFound","nameLocation":"294:18:130","nodeType":"ErrorDefinition","parameters":{"id":71635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71634,"mutability":"mutable","name":"tokenId","nameLocation":"321:7:130","nodeType":"VariableDeclaration","scope":71636,"src":"313:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71633,"name":"uint256","nodeType":"ElementaryTypeName","src":"313:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"312:17:130"},"src":"288:42:130"},{"errorSelector":"4b0c8742","id":71640,"name":"TokenUnderMaturityPeriod","nameLocation":"341:24:130","nodeType":"ErrorDefinition","parameters":{"id":71639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71638,"mutability":"mutable","name":"tokenId","nameLocation":"374:7:130","nodeType":"VariableDeclaration","scope":71640,"src":"366:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71637,"name":"uint256","nodeType":"ElementaryTypeName","src":"366:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"365:17:130"},"src":"335:48:130"},{"errorSelector":"925d6b18","id":71644,"name":"InvalidToken","nameLocation":"394:12:130","nodeType":"ErrorDefinition","parameters":{"id":71643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71642,"mutability":"mutable","name":"tokenId","nameLocation":"415:7:130","nodeType":"VariableDeclaration","scope":71644,"src":"407:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71641,"name":"uint256","nodeType":"ElementaryTypeName","src":"407:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"406:17:130"},"src":"388:36:130"},{"errorSelector":"2b46d4d2","id":71648,"name":"ValidatorNotActiveOrQueued","nameLocation":"435:26:130","nodeType":"ErrorDefinition","parameters":{"id":71647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71646,"mutability":"mutable","name":"validator","nameLocation":"470:9:130","nodeType":"VariableDeclaration","scope":71648,"src":"462:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71645,"name":"address","nodeType":"ElementaryTypeName","src":"462:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"461:19:130"},"src":"429:52:130"},{"errorSelector":"31bbcc6f","id":71652,"name":"TokenAlreadyDelegated","nameLocation":"492:21:130","nodeType":"ErrorDefinition","parameters":{"id":71651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71650,"mutability":"mutable","name":"tokenId","nameLocation":"522:7:130","nodeType":"VariableDeclaration","scope":71652,"src":"514:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71649,"name":"uint256","nodeType":"ElementaryTypeName","src":"514:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"513:17:130"},"src":"486:45:130"},{"errorSelector":"80c6edb1","id":71654,"name":"OnlyStargateNFTAndProtocolStaker","nameLocation":"542:32:130","nodeType":"ErrorDefinition","parameters":{"id":71653,"nodeType":"ParameterList","parameters":[],"src":"574:2:130"},"src":"536:41:130"},{"errorSelector":"7676b397","id":71656,"name":"InvalidInitializationParams","nameLocation":"588:27:130","nodeType":"ErrorDefinition","parameters":{"id":71655,"nodeType":"ParameterList","parameters":[],"src":"615:2:130"},"src":"582:36:130"},{"errorSelector":"6b78e9ed","id":71664,"name":"VetAmountMismatch","nameLocation":"629:17:130","nodeType":"ErrorDefinition","parameters":{"id":71663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71658,"mutability":"mutable","name":"levelId","nameLocation":"653:7:130","nodeType":"VariableDeclaration","scope":71664,"src":"647:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71657,"name":"uint8","nodeType":"ElementaryTypeName","src":"647:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":71660,"mutability":"mutable","name":"required","nameLocation":"670:8:130","nodeType":"VariableDeclaration","scope":71664,"src":"662:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71659,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71662,"mutability":"mutable","name":"provided","nameLocation":"688:8:130","nodeType":"VariableDeclaration","scope":71664,"src":"680:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71661,"name":"uint256","nodeType":"ElementaryTypeName","src":"680:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"646:51:130"},"src":"623:75:130"},{"errorSelector":"ed59364e","id":71670,"name":"VetTransferFailed","nameLocation":"709:17:130","nodeType":"ErrorDefinition","parameters":{"id":71669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71666,"mutability":"mutable","name":"receiver","nameLocation":"735:8:130","nodeType":"VariableDeclaration","scope":71670,"src":"727:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71665,"name":"address","nodeType":"ElementaryTypeName","src":"727:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71668,"mutability":"mutable","name":"amount","nameLocation":"753:6:130","nodeType":"VariableDeclaration","scope":71670,"src":"745:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71667,"name":"uint256","nodeType":"ElementaryTypeName","src":"745:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"726:34:130"},"src":"703:58:130"},{"errorSelector":"b7ddd88b","id":71676,"name":"InsufficientContractBalance","nameLocation":"772:27:130","nodeType":"ErrorDefinition","parameters":{"id":71675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71672,"mutability":"mutable","name":"contractBalance","nameLocation":"808:15:130","nodeType":"VariableDeclaration","scope":71676,"src":"800:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71671,"name":"uint256","nodeType":"ElementaryTypeName","src":"800:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71674,"mutability":"mutable","name":"tokenAmount","nameLocation":"833:11:130","nodeType":"VariableDeclaration","scope":71676,"src":"825:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71673,"name":"uint256","nodeType":"ElementaryTypeName","src":"825:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"799:46:130"},"src":"766:80:130"},{"errorSelector":"462cd83f","id":71678,"name":"MaxClaimablePeriodsExceeded","nameLocation":"857:27:130","nodeType":"ErrorDefinition","parameters":{"id":71677,"nodeType":"ParameterList","parameters":[],"src":"884:2:130"},"src":"851:36:130"},{"errorSelector":"874e74df","id":71680,"name":"InvalidMaxClaimablePeriods","nameLocation":"898:26:130","nodeType":"ErrorDefinition","parameters":{"id":71679,"nodeType":"ParameterList","parameters":[],"src":"924:2:130"},"src":"892:35:130"},{"anonymous":false,"documentation":{"id":71681,"nodeType":"StructuredDocumentation","src":"975:407:130","text":"@notice Emitted when a delegation is initiated\n @param tokenId The ID of the token that was delegated\n @param validator The validator that was delegated to\n @param delegationId The ID of the delegation\n @param amount The amount of VET delegated\n @param levelId The level ID of the token\n @param probabilityMultiplier The probability multiplier of the delegation"},"eventSelector":"a0286778706a77850b9dd59b02210d97bb93f749fdde710fa08088f5a6bb9626","id":71695,"name":"DelegationInitiated","nameLocation":"1393:19:130","nodeType":"EventDefinition","parameters":{"id":71694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71683,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"1438:7:130","nodeType":"VariableDeclaration","scope":71695,"src":"1422:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71682,"name":"uint256","nodeType":"ElementaryTypeName","src":"1422:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71685,"indexed":true,"mutability":"mutable","name":"validator","nameLocation":"1471:9:130","nodeType":"VariableDeclaration","scope":71695,"src":"1455:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71684,"name":"address","nodeType":"ElementaryTypeName","src":"1455:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71687,"indexed":true,"mutability":"mutable","name":"delegationId","nameLocation":"1506:12:130","nodeType":"VariableDeclaration","scope":71695,"src":"1490:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71686,"name":"uint256","nodeType":"ElementaryTypeName","src":"1490:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71689,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1536:6:130","nodeType":"VariableDeclaration","scope":71695,"src":"1528:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71688,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71691,"indexed":false,"mutability":"mutable","name":"levelId","nameLocation":"1558:7:130","nodeType":"VariableDeclaration","scope":71695,"src":"1552:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71690,"name":"uint8","nodeType":"ElementaryTypeName","src":"1552:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":71693,"indexed":false,"mutability":"mutable","name":"probabilityMultiplier","nameLocation":"1581:21:130","nodeType":"VariableDeclaration","scope":71695,"src":"1575:27:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71692,"name":"uint8","nodeType":"ElementaryTypeName","src":"1575:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1412:196:130"},"src":"1387:222:130"},{"anonymous":false,"documentation":{"id":71696,"nodeType":"StructuredDocumentation","src":"1615:474:130","text":"@notice Emitted when a delegation exit is requested\n @dev When the delegation is pending, exit is immediate and this event is emitted\n @param tokenId The ID of the token that was delegated\n @param validator The validator that was delegated to\n @param delegationId The ID of the delegation\n @param exitBlock The block at which the delegation exit will be processed,\n in case the delegation is pending it will be the current block"},"eventSelector":"12f4dc5b5d4c737ec034e6ccc4dc7dfd5a8e64278712100d7fab8bb99c850a2e","id":71706,"name":"DelegationExitRequested","nameLocation":"2100:23:130","nodeType":"EventDefinition","parameters":{"id":71705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71698,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2149:7:130","nodeType":"VariableDeclaration","scope":71706,"src":"2133:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71697,"name":"uint256","nodeType":"ElementaryTypeName","src":"2133:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71700,"indexed":true,"mutability":"mutable","name":"validator","nameLocation":"2182:9:130","nodeType":"VariableDeclaration","scope":71706,"src":"2166:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71699,"name":"address","nodeType":"ElementaryTypeName","src":"2166:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71702,"indexed":true,"mutability":"mutable","name":"delegationId","nameLocation":"2217:12:130","nodeType":"VariableDeclaration","scope":71706,"src":"2201:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2201:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71704,"indexed":false,"mutability":"mutable","name":"exitBlock","nameLocation":"2246:9:130","nodeType":"VariableDeclaration","scope":71706,"src":"2239:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":71703,"name":"uint48","nodeType":"ElementaryTypeName","src":"2239:6:130","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2123:138:130"},"src":"2094:168:130"},{"anonymous":false,"documentation":{"id":71707,"nodeType":"StructuredDocumentation","src":"2268:574:130","text":"@notice Emitted when a delegation is withdrawn\n @dev This is emitted when the delegation is withdrawn, either because the user requested to exit\n or because the delegation is called with a new validator or if requestDelegationExit is called\n the delegation is still pending.\n @param tokenId The ID of the token that was delegated\n @param validator The validator that was delegated to\n @param delegationId The ID of the delegation\n @param amount The amount of VET withdrawn\n @param levelId The level ID of the token"},"eventSelector":"52cf95d4800dbd9d79fecf9c78327e2f578c08091413b6d49037953c7a06fa35","id":71719,"name":"DelegationWithdrawn","nameLocation":"2853:19:130","nodeType":"EventDefinition","parameters":{"id":71718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71709,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2898:7:130","nodeType":"VariableDeclaration","scope":71719,"src":"2882:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71708,"name":"uint256","nodeType":"ElementaryTypeName","src":"2882:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71711,"indexed":true,"mutability":"mutable","name":"validator","nameLocation":"2931:9:130","nodeType":"VariableDeclaration","scope":71719,"src":"2915:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71710,"name":"address","nodeType":"ElementaryTypeName","src":"2915:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71713,"indexed":true,"mutability":"mutable","name":"delegationId","nameLocation":"2966:12:130","nodeType":"VariableDeclaration","scope":71719,"src":"2950:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71712,"name":"uint256","nodeType":"ElementaryTypeName","src":"2950:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71715,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2996:6:130","nodeType":"VariableDeclaration","scope":71719,"src":"2988:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71714,"name":"uint256","nodeType":"ElementaryTypeName","src":"2988:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71717,"indexed":false,"mutability":"mutable","name":"levelId","nameLocation":"3018:7:130","nodeType":"VariableDeclaration","scope":71719,"src":"3012:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71716,"name":"uint8","nodeType":"ElementaryTypeName","src":"3012:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2872:159:130"},"src":"2847:185:130"},{"anonymous":false,"documentation":{"id":71720,"nodeType":"StructuredDocumentation","src":"3038:471:130","text":"@notice Emitted when rewards are claimed\n @param receiver The address that claimed the rewards\n @param tokenId The ID of the token that claimed the rewards\n @param delegationId The ID of the delegation that claimed the rewards\n @param amount The amount of rewards claimed\n @param firstClaimedPeriod The first period that the rewards were claimed for\n @param lastClaimedPeriod The last period that the rewards were claimed for"},"eventSelector":"f4cde2b5a31835b3dac5ba586238b7160063a46803ccbf2322db0933efe694ed","id":71734,"name":"DelegationRewardsClaimed","nameLocation":"3520:24:130","nodeType":"EventDefinition","parameters":{"id":71733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71722,"indexed":true,"mutability":"mutable","name":"receiver","nameLocation":"3570:8:130","nodeType":"VariableDeclaration","scope":71734,"src":"3554:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71721,"name":"address","nodeType":"ElementaryTypeName","src":"3554:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71724,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"3604:7:130","nodeType":"VariableDeclaration","scope":71734,"src":"3588:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71723,"name":"uint256","nodeType":"ElementaryTypeName","src":"3588:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71726,"indexed":true,"mutability":"mutable","name":"delegationId","nameLocation":"3637:12:130","nodeType":"VariableDeclaration","scope":71734,"src":"3621:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71725,"name":"uint256","nodeType":"ElementaryTypeName","src":"3621:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71728,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"3667:6:130","nodeType":"VariableDeclaration","scope":71734,"src":"3659:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71727,"name":"uint256","nodeType":"ElementaryTypeName","src":"3659:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71730,"indexed":false,"mutability":"mutable","name":"firstClaimedPeriod","nameLocation":"3690:18:130","nodeType":"VariableDeclaration","scope":71734,"src":"3683:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71729,"name":"uint32","nodeType":"ElementaryTypeName","src":"3683:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":71732,"indexed":false,"mutability":"mutable","name":"lastClaimedPeriod","nameLocation":"3725:17:130","nodeType":"VariableDeclaration","scope":71734,"src":"3718:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71731,"name":"uint32","nodeType":"ElementaryTypeName","src":"3718:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"3544:204:130"},"src":"3514:235:130"},{"canonicalName":"IStargate.Delegation","id":71752,"members":[{"constant":false,"id":71736,"mutability":"mutable","name":"delegationId","nameLocation":"3837:12:130","nodeType":"VariableDeclaration","scope":71752,"src":"3829:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71735,"name":"uint256","nodeType":"ElementaryTypeName","src":"3829:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71738,"mutability":"mutable","name":"validator","nameLocation":"3945:9:130","nodeType":"VariableDeclaration","scope":71752,"src":"3937:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71737,"name":"address","nodeType":"ElementaryTypeName","src":"3937:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71740,"mutability":"mutable","name":"stake","nameLocation":"3997:5:130","nodeType":"VariableDeclaration","scope":71752,"src":"3989:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71739,"name":"uint256","nodeType":"ElementaryTypeName","src":"3989:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71742,"mutability":"mutable","name":"probabilityMultiplier","nameLocation":"4109:21:130","nodeType":"VariableDeclaration","scope":71752,"src":"4103:27:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71741,"name":"uint8","nodeType":"ElementaryTypeName","src":"4103:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":71744,"mutability":"mutable","name":"startPeriod","nameLocation":"4264:11:130","nodeType":"VariableDeclaration","scope":71752,"src":"4257:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71743,"name":"uint32","nodeType":"ElementaryTypeName","src":"4257:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":71746,"mutability":"mutable","name":"endPeriod","nameLocation":"4340:9:130","nodeType":"VariableDeclaration","scope":71752,"src":"4333:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71745,"name":"uint32","nodeType":"ElementaryTypeName","src":"4333:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":71748,"mutability":"mutable","name":"isLocked","nameLocation":"4444:8:130","nodeType":"VariableDeclaration","scope":71752,"src":"4439:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71747,"name":"bool","nodeType":"ElementaryTypeName","src":"4439:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":71751,"mutability":"mutable","name":"status","nameLocation":"4601:6:130","nodeType":"VariableDeclaration","scope":71752,"src":"4584:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DelegationStatus_$71758","typeString":"enum IStargate.DelegationStatus"},"typeName":{"id":71750,"nodeType":"UserDefinedTypeName","pathNode":{"id":71749,"name":"DelegationStatus","nameLocations":["4584:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":71758,"src":"4584:16:130"},"referencedDeclaration":71758,"src":"4584:16:130","typeDescriptions":{"typeIdentifier":"t_enum$_DelegationStatus_$71758","typeString":"enum IStargate.DelegationStatus"}},"visibility":"internal"}],"name":"Delegation","nameLocation":"3808:10:130","nodeType":"StructDefinition","scope":71931,"src":"3801:813:130","visibility":"public"},{"canonicalName":"IStargate.DelegationStatus","documentation":{"id":71753,"nodeType":"StructuredDocumentation","src":"4620:610:130","text":"@notice The status of a delegation returned by the StargateStaker contract\n @dev NONE: the delegation id is not valid, or user never delegated\n @dev PENDING: the user has selected a validator and staked the VET, but is waiting for the next period to start or for the validator to be become active\n @dev ACTIVE: the user is accumulating rewards; if the user requests to exit the delegation the status remains ACTIVE\n @dev EXITED: the user has exited the delegation or the validator exited and forced the user to exit or the user exited a pending delegation and the stake is now 0"},"id":71758,"members":[{"id":71754,"name":"NONE","nameLocation":"5267:4:130","nodeType":"EnumValue","src":"5267:4:130"},{"id":71755,"name":"PENDING","nameLocation":"5281:7:130","nodeType":"EnumValue","src":"5281:7:130"},{"id":71756,"name":"ACTIVE","nameLocation":"5298:6:130","nodeType":"EnumValue","src":"5298:6:130"},{"id":71757,"name":"EXITED","nameLocation":"5314:6:130","nodeType":"EnumValue","src":"5314:6:130"}],"name":"DelegationStatus","nameLocation":"5240:16:130","nodeType":"EnumDefinition","src":"5235:91:130"},{"documentation":{"id":71759,"nodeType":"StructuredDocumentation","src":"5376:162:130","text":"@notice Pauses the StargateNFT contract\n @dev Only the DEFAULT_ADMIN_ROLE can call this function\n @dev Pausing the contract will prevent minting"},"functionSelector":"8456cb59","id":71762,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"5552:5:130","nodeType":"FunctionDefinition","parameters":{"id":71760,"nodeType":"ParameterList","parameters":[],"src":"5557:2:130"},"returnParameters":{"id":71761,"nodeType":"ParameterList","parameters":[],"src":"5568:0:130"},"scope":71931,"src":"5543:26:130","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71763,"nodeType":"StructuredDocumentation","src":"5575:109:130","text":"@notice Unpauses the StargateNFT contract\n @dev Only the DEFAULT_ADMIN_ROLE can call this function"},"functionSelector":"3f4ba83a","id":71766,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"5698:7:130","nodeType":"FunctionDefinition","parameters":{"id":71764,"nodeType":"ParameterList","parameters":[],"src":"5705:2:130"},"returnParameters":{"id":71765,"nodeType":"ParameterList","parameters":[],"src":"5716:0:130"},"scope":71931,"src":"5689:28:130","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71767,"nodeType":"StructuredDocumentation","src":"5766:164:130","text":"@notice Stakes VET and mints an NFT\n @param _levelId The ID of the token level to mint, VET as msg.value\n @return tokenId The ID of the minted NFT"},"functionSelector":"604f2177","id":71774,"implemented":false,"kind":"function","modifiers":[],"name":"stake","nameLocation":"5944:5:130","nodeType":"FunctionDefinition","parameters":{"id":71770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71769,"mutability":"mutable","name":"_levelId","nameLocation":"5956:8:130","nodeType":"VariableDeclaration","scope":71774,"src":"5950:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71768,"name":"uint8","nodeType":"ElementaryTypeName","src":"5950:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"5949:16:130"},"returnParameters":{"id":71773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71772,"mutability":"mutable","name":"tokenId","nameLocation":"6000:7:130","nodeType":"VariableDeclaration","scope":71774,"src":"5992:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71771,"name":"uint256","nodeType":"ElementaryTypeName","src":"5992:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5991:17:130"},"scope":71931,"src":"5935:74:130","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":71775,"nodeType":"StructuredDocumentation","src":"6015:288:130","text":"@notice Unstakes a token from the Stargate contract, will return the VET to the user and burn the NFT\n for token to be unstaked, its delegation status must not be ACTIVE\n @param _tokenId The ID of the token to unstake\n @dev Emits a {IStargate.TokenUnstaked} event"},"functionSelector":"2e17de78","id":71780,"implemented":false,"kind":"function","modifiers":[],"name":"unstake","nameLocation":"6317:7:130","nodeType":"FunctionDefinition","parameters":{"id":71778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71777,"mutability":"mutable","name":"_tokenId","nameLocation":"6333:8:130","nodeType":"VariableDeclaration","scope":71780,"src":"6325:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71776,"name":"uint256","nodeType":"ElementaryTypeName","src":"6325:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6324:18:130"},"returnParameters":{"id":71779,"nodeType":"ParameterList","parameters":[],"src":"6351:0:130"},"scope":71931,"src":"6308:44:130","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71781,"nodeType":"StructuredDocumentation","src":"6405:1184:130","text":"@notice Delegates the token to the validator to increase its probability of being selected as\n a validator and accumulate rewards for each mined block.\n The amount of rewards depends on the effective stake compared to the total effective stake of the validator.\n The delegation is not active until the start of the next period of the validator. In the meantime, the user\n can change the validator by calling this function again, cancel the delegation or unstaking the token.\n Once the delegation is active, the user can request to exit the delegation by calling requestDelegationExit.\n The token will remain delegated until the end of the validator period end block.\n This contract will need to move the VET associated to the token from the StargateNFT contract and deposit\n it in the protocol staking contract.\n If the token was previously delegated, the VET will be moved from the protocol staking contract to this contract\n again and then moved back to the protocol staking contract.\n @param _tokenId - the token ID to delegate\n @param _validator - the validator to delegate to"},"functionSelector":"08bbb824","id":71788,"implemented":false,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"7603:8:130","nodeType":"FunctionDefinition","parameters":{"id":71786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71783,"mutability":"mutable","name":"_tokenId","nameLocation":"7620:8:130","nodeType":"VariableDeclaration","scope":71788,"src":"7612:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71782,"name":"uint256","nodeType":"ElementaryTypeName","src":"7612:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71785,"mutability":"mutable","name":"_validator","nameLocation":"7638:10:130","nodeType":"VariableDeclaration","scope":71788,"src":"7630:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71784,"name":"address","nodeType":"ElementaryTypeName","src":"7630:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7611:38:130"},"returnParameters":{"id":71787,"nodeType":"ParameterList","parameters":[],"src":"7658:0:130"},"scope":71931,"src":"7594:65:130","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71789,"nodeType":"StructuredDocumentation","src":"7665:237:130","text":"@notice Stakes VET and mints an NFT, and delegates it\n @param _levelId The ID of the token level to mint, VET as msg.value\n @param _validator The validator to delegate to\n @return tokenId The ID of the minted NFT"},"functionSelector":"15fa1bdf","id":71798,"implemented":false,"kind":"function","modifiers":[],"name":"stakeAndDelegate","nameLocation":"7916:16:130","nodeType":"FunctionDefinition","parameters":{"id":71794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71791,"mutability":"mutable","name":"_levelId","nameLocation":"7948:8:130","nodeType":"VariableDeclaration","scope":71798,"src":"7942:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":71790,"name":"uint8","nodeType":"ElementaryTypeName","src":"7942:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":71793,"mutability":"mutable","name":"_validator","nameLocation":"7974:10:130","nodeType":"VariableDeclaration","scope":71798,"src":"7966:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71792,"name":"address","nodeType":"ElementaryTypeName","src":"7966:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7932:58:130"},"returnParameters":{"id":71797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71796,"mutability":"mutable","name":"tokenId","nameLocation":"8025:7:130","nodeType":"VariableDeclaration","scope":71798,"src":"8017:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71795,"name":"uint256","nodeType":"ElementaryTypeName","src":"8017:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8016:17:130"},"scope":71931,"src":"7907:127:130","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":71799,"nodeType":"StructuredDocumentation","src":"8040:202:130","text":"@notice Migrates a token from the legacy nodes contract to StargateNFT, and delegates it\n @param _tokenId The ID of the token to migrate\n @param _validator The validator to delegate to"},"functionSelector":"584a983f","id":71806,"implemented":false,"kind":"function","modifiers":[],"name":"migrateAndDelegate","nameLocation":"8256:18:130","nodeType":"FunctionDefinition","parameters":{"id":71804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71801,"mutability":"mutable","name":"_tokenId","nameLocation":"8283:8:130","nodeType":"VariableDeclaration","scope":71806,"src":"8275:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71800,"name":"uint256","nodeType":"ElementaryTypeName","src":"8275:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71803,"mutability":"mutable","name":"_validator","nameLocation":"8301:10:130","nodeType":"VariableDeclaration","scope":71806,"src":"8293:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71802,"name":"address","nodeType":"ElementaryTypeName","src":"8293:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8274:38:130"},"returnParameters":{"id":71805,"nodeType":"ParameterList","parameters":[],"src":"8329:0:130"},"scope":71931,"src":"8247:83:130","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":71807,"nodeType":"StructuredDocumentation","src":"8336:695:130","text":"@notice Requests a delegation exit by signalling the exit to the protocol staking contract.\n If the delegation is active, the user will need to wait for then end of the period to actually exit, if instead\n the delegation is pending the user will exit immediatly.\n Once the request to exit is signalled, the user cannot undo it and cannot request to exit again.\n @dev Exiting a pending delegation, differs from exiting an active delegation.\n In the first case, it is enough to withdraw the VET from the protocol, in the second case\n we will signal to the protocol to exit the delegation.\n @param _tokenId - the token ID to request the exit for"},"functionSelector":"69e79b7d","id":71812,"implemented":false,"kind":"function","modifiers":[],"name":"requestDelegationExit","nameLocation":"9045:21:130","nodeType":"FunctionDefinition","parameters":{"id":71810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71809,"mutability":"mutable","name":"_tokenId","nameLocation":"9075:8:130","nodeType":"VariableDeclaration","scope":71812,"src":"9067:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71808,"name":"uint256","nodeType":"ElementaryTypeName","src":"9067:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9066:18:130"},"returnParameters":{"id":71811,"nodeType":"ParameterList","parameters":[],"src":"9093:0:130"},"scope":71931,"src":"9036:58:130","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71813,"nodeType":"StructuredDocumentation","src":"9100:240:130","text":"@notice Returns the details of the delegation of a token\n @dev If the token does not have any delegation, it will return a set of default values\n @param _tokenId - the token ID\n @return The details of the delegation"},"functionSelector":"eabfa044","id":71821,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegationDetails","nameLocation":"9354:20:130","nodeType":"FunctionDefinition","parameters":{"id":71816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71815,"mutability":"mutable","name":"_tokenId","nameLocation":"9383:8:130","nodeType":"VariableDeclaration","scope":71821,"src":"9375:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71814,"name":"uint256","nodeType":"ElementaryTypeName","src":"9375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9374:18:130"},"returnParameters":{"id":71820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71819,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71821,"src":"9416:17:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Delegation_$71752_memory_ptr","typeString":"struct IStargate.Delegation"},"typeName":{"id":71818,"nodeType":"UserDefinedTypeName","pathNode":{"id":71817,"name":"Delegation","nameLocations":["9416:10:130"],"nodeType":"IdentifierPath","referencedDeclaration":71752,"src":"9416:10:130"},"referencedDeclaration":71752,"src":"9416:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Delegation_$71752_storage_ptr","typeString":"struct IStargate.Delegation"}},"visibility":"internal"}],"src":"9415:19:130"},"scope":71931,"src":"9345:90:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71822,"nodeType":"StructuredDocumentation","src":"9441:166:130","text":"@notice Will fetch the latest delegation of a token and will return its status\n @param _tokenId - the token ID\n @return The status of the delegation"},"functionSelector":"f4655cd1","id":71830,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegationStatus","nameLocation":"9621:19:130","nodeType":"FunctionDefinition","parameters":{"id":71825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71824,"mutability":"mutable","name":"_tokenId","nameLocation":"9649:8:130","nodeType":"VariableDeclaration","scope":71830,"src":"9641:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71823,"name":"uint256","nodeType":"ElementaryTypeName","src":"9641:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9640:18:130"},"returnParameters":{"id":71829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71828,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71830,"src":"9682:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DelegationStatus_$71758","typeString":"enum IStargate.DelegationStatus"},"typeName":{"id":71827,"nodeType":"UserDefinedTypeName","pathNode":{"id":71826,"name":"DelegationStatus","nameLocations":["9682:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":71758,"src":"9682:16:130"},"referencedDeclaration":71758,"src":"9682:16:130","typeDescriptions":{"typeIdentifier":"t_enum$_DelegationStatus_$71758","typeString":"enum IStargate.DelegationStatus"}},"visibility":"internal"}],"src":"9681:18:130"},"scope":71931,"src":"9612:88:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71831,"nodeType":"StructuredDocumentation","src":"9706:159:130","text":"@notice Will return the latest delegation id of a token (regardless of its status)\n @param _tokenId - the token ID\n @return The delegation id"},"functionSelector":"07a9bbbb","id":71838,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegationIdOfToken","nameLocation":"9879:22:130","nodeType":"FunctionDefinition","parameters":{"id":71834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71833,"mutability":"mutable","name":"_tokenId","nameLocation":"9910:8:130","nodeType":"VariableDeclaration","scope":71838,"src":"9902:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71832,"name":"uint256","nodeType":"ElementaryTypeName","src":"9902:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9901:18:130"},"returnParameters":{"id":71837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71836,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71838,"src":"9943:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71835,"name":"uint256","nodeType":"ElementaryTypeName","src":"9943:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9942:9:130"},"scope":71931,"src":"9870:82:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71839,"nodeType":"StructuredDocumentation","src":"9958:288:130","text":"@notice Will return true if the user has requested to exit the latest delegation (regardless of its status)\n @dev This will return true even if the delegation is EXITED\n @param _tokenId - the token ID\n @return True if the user has requested to exit the delegation"},"functionSelector":"71569e2f","id":71846,"implemented":false,"kind":"function","modifiers":[],"name":"hasRequestedExit","nameLocation":"10260:16:130","nodeType":"FunctionDefinition","parameters":{"id":71842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71841,"mutability":"mutable","name":"_tokenId","nameLocation":"10285:8:130","nodeType":"VariableDeclaration","scope":71846,"src":"10277:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71840,"name":"uint256","nodeType":"ElementaryTypeName","src":"10277:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10276:18:130"},"returnParameters":{"id":71845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71846,"src":"10318:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71843,"name":"bool","nodeType":"ElementaryTypeName","src":"10318:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10317:6:130"},"scope":71931,"src":"10251:73:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71847,"nodeType":"StructuredDocumentation","src":"10330:285:130","text":"@notice Returns the total effective stake of the delegators of a validator in a specific period\n @param _validator - the validator address\n @param _period - the period to check\n @return The total effective stake of the delegators of the validator in the period"},"functionSelector":"f2d804ef","id":71856,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegatorsEffectiveStake","nameLocation":"10629:27:130","nodeType":"FunctionDefinition","parameters":{"id":71852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71849,"mutability":"mutable","name":"_validator","nameLocation":"10674:10:130","nodeType":"VariableDeclaration","scope":71856,"src":"10666:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71848,"name":"address","nodeType":"ElementaryTypeName","src":"10666:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71851,"mutability":"mutable","name":"_period","nameLocation":"10701:7:130","nodeType":"VariableDeclaration","scope":71856,"src":"10694:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71850,"name":"uint32","nodeType":"ElementaryTypeName","src":"10694:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"10656:58:130"},"returnParameters":{"id":71855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71854,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71856,"src":"10738:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71853,"name":"uint256","nodeType":"ElementaryTypeName","src":"10738:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10737:9:130"},"scope":71931,"src":"10620:127:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71857,"nodeType":"StructuredDocumentation","src":"10753:345:130","text":"@notice Returns the effective stake of a token\n @dev The effective stake is the amount of VET that is staked by the token multiplied\n by the reward multiplier of the level, and is used to calculate the share of the delegator in the period.\n @param _tokenId - the token ID\n @return The effective stake of the token"},"functionSelector":"0f20d6f8","id":71864,"implemented":false,"kind":"function","modifiers":[],"name":"getEffectiveStake","nameLocation":"11112:17:130","nodeType":"FunctionDefinition","parameters":{"id":71860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71859,"mutability":"mutable","name":"_tokenId","nameLocation":"11138:8:130","nodeType":"VariableDeclaration","scope":71864,"src":"11130:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71858,"name":"uint256","nodeType":"ElementaryTypeName","src":"11130:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11129:18:130"},"returnParameters":{"id":71863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71862,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71864,"src":"11171:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71861,"name":"uint256","nodeType":"ElementaryTypeName","src":"11171:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11170:9:130"},"scope":71931,"src":"11103:77:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71865,"nodeType":"StructuredDocumentation","src":"11229:222:130","text":"@notice Claims all the rewards for a token\n @dev This function will claim the rewards for each period between the last\n claimed period and the last claimable period.\n @param _tokenId - the token ID"},"functionSelector":"0962ef79","id":71870,"implemented":false,"kind":"function","modifiers":[],"name":"claimRewards","nameLocation":"11465:12:130","nodeType":"FunctionDefinition","parameters":{"id":71868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71867,"mutability":"mutable","name":"_tokenId","nameLocation":"11486:8:130","nodeType":"VariableDeclaration","scope":71870,"src":"11478:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71866,"name":"uint256","nodeType":"ElementaryTypeName","src":"11478:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11477:18:130"},"returnParameters":{"id":71869,"nodeType":"ParameterList","parameters":[],"src":"11504:0:130"},"scope":71931,"src":"11456:49:130","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71871,"nodeType":"StructuredDocumentation","src":"11511:309:130","text":"@notice Returns the claimable rewards for a token for batch 0 (first 832 periods)\n @dev This is the sum of the claimable rewards for each period between the last claimed period and the last claimable period.\n @param _tokenId - the token ID\n @return The claimable rewards for the token"},"functionSelector":"9835fc7e","id":71878,"implemented":false,"kind":"function","modifiers":[],"name":"claimableRewards","nameLocation":"11834:16:130","nodeType":"FunctionDefinition","parameters":{"id":71874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71873,"mutability":"mutable","name":"_tokenId","nameLocation":"11859:8:130","nodeType":"VariableDeclaration","scope":71878,"src":"11851:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71872,"name":"uint256","nodeType":"ElementaryTypeName","src":"11851:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11850:18:130"},"returnParameters":{"id":71877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71878,"src":"11892:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71875,"name":"uint256","nodeType":"ElementaryTypeName","src":"11892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11891:9:130"},"scope":71931,"src":"11825:76:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71879,"nodeType":"StructuredDocumentation","src":"11907:341:130","text":"@notice Returns the claimable rewards for a token for a specific batch\n @dev This is the sum of the claimable rewards for each period between the last claimed period and the last claimable period.\n @param _tokenId - the token ID\n @param _batch - the batch to check\n @return The claimable rewards for the token"},"functionSelector":"e2735134","id":71888,"implemented":false,"kind":"function","modifiers":[],"name":"claimableRewards","nameLocation":"12262:16:130","nodeType":"FunctionDefinition","parameters":{"id":71884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71881,"mutability":"mutable","name":"_tokenId","nameLocation":"12287:8:130","nodeType":"VariableDeclaration","scope":71888,"src":"12279:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71880,"name":"uint256","nodeType":"ElementaryTypeName","src":"12279:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71883,"mutability":"mutable","name":"_batch","nameLocation":"12304:6:130","nodeType":"VariableDeclaration","scope":71888,"src":"12297:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71882,"name":"uint32","nodeType":"ElementaryTypeName","src":"12297:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"12278:33:130"},"returnParameters":{"id":71887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71886,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71888,"src":"12335:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71885,"name":"uint256","nodeType":"ElementaryTypeName","src":"12335:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12334:9:130"},"scope":71931,"src":"12253:91:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71889,"nodeType":"StructuredDocumentation","src":"12350:308:130","text":"@notice Returns the locked rewards for a token\n @dev When the delegation is active, the rewards rewards of the current period are locked\n and cannot be claimed until the next period. This function retur\n @param _tokenId - the token ID\n @return The locked rewards for the token"},"functionSelector":"c728b740","id":71896,"implemented":false,"kind":"function","modifiers":[],"name":"lockedRewards","nameLocation":"12672:13:130","nodeType":"FunctionDefinition","parameters":{"id":71892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71891,"mutability":"mutable","name":"_tokenId","nameLocation":"12694:8:130","nodeType":"VariableDeclaration","scope":71896,"src":"12686:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71890,"name":"uint256","nodeType":"ElementaryTypeName","src":"12686:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12685:18:130"},"returnParameters":{"id":71895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71896,"src":"12727:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71893,"name":"uint256","nodeType":"ElementaryTypeName","src":"12727:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12726:9:130"},"scope":71931,"src":"12663:73:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71897,"nodeType":"StructuredDocumentation","src":"12742:266:130","text":"@notice Returns the latestClaimedPeriod and the endPeriod of the latest delegation of a token\n @param _tokenId - the token ID\n @return lastClaimedPeriod - the latest claimed period\n @return endPeriod - the end period of the latest delegation"},"functionSelector":"f040812e","id":71906,"implemented":false,"kind":"function","modifiers":[],"name":"claimableDelegationPeriods","nameLocation":"13022:26:130","nodeType":"FunctionDefinition","parameters":{"id":71900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71899,"mutability":"mutable","name":"_tokenId","nameLocation":"13057:8:130","nodeType":"VariableDeclaration","scope":71906,"src":"13049:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71898,"name":"uint256","nodeType":"ElementaryTypeName","src":"13049:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13048:18:130"},"returnParameters":{"id":71905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71902,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71906,"src":"13090:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71901,"name":"uint32","nodeType":"ElementaryTypeName","src":"13090:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":71904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71906,"src":"13098:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71903,"name":"uint32","nodeType":"ElementaryTypeName","src":"13098:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13089:16:130"},"scope":71931,"src":"13013:93:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71907,"nodeType":"StructuredDocumentation","src":"13167:87:130","text":"@notice Returns the max claimable periods\n @return The max claimable periods"},"functionSelector":"b0d76cad","id":71912,"implemented":false,"kind":"function","modifiers":[],"name":"getMaxClaimablePeriods","nameLocation":"13268:22:130","nodeType":"FunctionDefinition","parameters":{"id":71908,"nodeType":"ParameterList","parameters":[],"src":"13290:2:130"},"returnParameters":{"id":71911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71910,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71912,"src":"13316:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71909,"name":"uint32","nodeType":"ElementaryTypeName","src":"13316:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13315:8:130"},"scope":71931,"src":"13259:65:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71913,"nodeType":"StructuredDocumentation","src":"13330:106:130","text":"@notice Sets the max claimable periods\n @param _maxClaimablePeriods - the max claimable periods"},"functionSelector":"9af02d9d","id":71918,"implemented":false,"kind":"function","modifiers":[],"name":"setMaxClaimablePeriods","nameLocation":"13450:22:130","nodeType":"FunctionDefinition","parameters":{"id":71916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71915,"mutability":"mutable","name":"_maxClaimablePeriods","nameLocation":"13480:20:130","nodeType":"VariableDeclaration","scope":71918,"src":"13473:27:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":71914,"name":"uint32","nodeType":"ElementaryTypeName","src":"13473:6:130","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13472:29:130"},"returnParameters":{"id":71917,"nodeType":"ParameterList","parameters":[],"src":"13510:0:130"},"scope":71931,"src":"13441:70:130","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":71919,"nodeType":"StructuredDocumentation","src":"13558:119:130","text":"@notice Returns the current clock\n @dev Call CLOCK_MODE() to know if the clock is in timestamp or block mode"},"functionSelector":"91ddadf4","id":71924,"implemented":false,"kind":"function","modifiers":[],"name":"clock","nameLocation":"13691:5:130","nodeType":"FunctionDefinition","parameters":{"id":71920,"nodeType":"ParameterList","parameters":[],"src":"13696:2:130"},"returnParameters":{"id":71923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71924,"src":"13722:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":71921,"name":"uint48","nodeType":"ElementaryTypeName","src":"13722:6:130","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"13721:8:130"},"scope":71931,"src":"13682:48:130","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":71925,"nodeType":"StructuredDocumentation","src":"13736:86:130","text":"@notice Returns the clock mode\n @dev Call clock() to know the current clock"},"functionSelector":"4bf5d7e9","id":71930,"implemented":false,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"13836:10:130","nodeType":"FunctionDefinition","parameters":{"id":71926,"nodeType":"ParameterList","parameters":[],"src":"13846:2:130"},"returnParameters":{"id":71929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":71930,"src":"13872:13:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":71927,"name":"string","nodeType":"ElementaryTypeName","src":"13872:6:130","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13871:15:130"},"scope":71931,"src":"13827:60:130","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":71932,"src":"57:13832:130","usedErrors":[71623,71625,71632,71636,71640,71644,71648,71652,71654,71656,71664,71670,71676,71678,71680],"usedEvents":[71695,71706,71719,71734]}],"src":"32:13858:130"},"id":130},"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol":{"ast":{"absolutePath":"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol","exportedSymbols":{"IStargateDelegation":[72178]},"id":72179,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":71933,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:131"},{"abstract":false,"baseContracts":[],"canonicalName":"IStargateDelegation","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":72178,"linearizedBaseContracts":[72178],"name":"IStargateDelegation","nameLocation":"67:19:131","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":71934,"nodeType":"StructuredDocumentation","src":"124:75:131","text":"@notice Error thrown when a user is not authorized to perform an action"},"errorSelector":"ea93ab6d","id":71938,"name":"UnauthorizedUser","nameLocation":"210:16:131","nodeType":"ErrorDefinition","parameters":{"id":71937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71936,"mutability":"mutable","name":"user","nameLocation":"235:4:131","nodeType":"VariableDeclaration","scope":71938,"src":"227:12:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71935,"name":"address","nodeType":"ElementaryTypeName","src":"227:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"226:14:131"},"src":"204:37:131"},{"documentation":{"id":71939,"nodeType":"StructuredDocumentation","src":"246:65:131","text":"@notice Error thrown when an NFT is under the maturity period"},"errorSelector":"a11ec53c","id":71943,"name":"NFTUnderMaturityPeriod","nameLocation":"322:22:131","nodeType":"ErrorDefinition","parameters":{"id":71942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71941,"mutability":"mutable","name":"tokenId","nameLocation":"353:7:131","nodeType":"VariableDeclaration","scope":71943,"src":"345:15:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71940,"name":"uint256","nodeType":"ElementaryTypeName","src":"345:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"344:17:131"},"src":"316:46:131"},{"documentation":{"id":71944,"nodeType":"StructuredDocumentation","src":"367:57:131","text":"@notice Error thrown when an NFT is already delegated"},"errorSelector":"b61ba74c","id":71948,"name":"NFTAlreadyDelegated","nameLocation":"435:19:131","nodeType":"ErrorDefinition","parameters":{"id":71947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71946,"mutability":"mutable","name":"tokenId","nameLocation":"463:7:131","nodeType":"VariableDeclaration","scope":71948,"src":"455:15:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71945,"name":"uint256","nodeType":"ElementaryTypeName","src":"455:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"454:17:131"},"src":"429:43:131"},{"documentation":{"id":71949,"nodeType":"StructuredDocumentation","src":"477:53:131","text":"@notice Error thrown when an NFT is not delegated"},"errorSelector":"c0343708","id":71953,"name":"NFTNotDelegated","nameLocation":"541:15:131","nodeType":"ErrorDefinition","parameters":{"id":71952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71951,"mutability":"mutable","name":"tokenId","nameLocation":"565:7:131","nodeType":"VariableDeclaration","scope":71953,"src":"557:15:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71950,"name":"uint256","nodeType":"ElementaryTypeName","src":"557:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"556:17:131"},"src":"535:39:131"},{"documentation":{"id":71954,"nodeType":"StructuredDocumentation","src":"579:59:131","text":"@notice Error thrown when there are no rewards to claim"},"errorSelector":"0801beb0","id":71958,"name":"NoRewardsToClaim","nameLocation":"649:16:131","nodeType":"ErrorDefinition","parameters":{"id":71957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71956,"mutability":"mutable","name":"tokenId","nameLocation":"674:7:131","nodeType":"VariableDeclaration","scope":71958,"src":"666:15:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71955,"name":"uint256","nodeType":"ElementaryTypeName","src":"666:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"665:17:131"},"src":"643:40:131"},{"documentation":{"id":71959,"nodeType":"StructuredDocumentation","src":"688:60:131","text":"@notice Error thrown when an address is the zero address"},"errorSelector":"e622e040","id":71961,"name":"AddressCannotBeZero","nameLocation":"759:19:131","nodeType":"ErrorDefinition","parameters":{"id":71960,"nodeType":"ParameterList","parameters":[],"src":"778:2:131"},"src":"753:28:131"},{"documentation":{"id":71962,"nodeType":"StructuredDocumentation","src":"786:78:131","text":"@notice Error thrown when a vtho reward per block per NFT level is invalid"},"errorSelector":"43c8cd96","id":71968,"name":"InvalidVthoRewardPerBlock","nameLocation":"875:25:131","nodeType":"ErrorDefinition","parameters":{"id":71967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71964,"mutability":"mutable","name":"level","nameLocation":"909:5:131","nodeType":"VariableDeclaration","scope":71968,"src":"901:13:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71963,"name":"uint256","nodeType":"ElementaryTypeName","src":"901:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71966,"mutability":"mutable","name":"value","nameLocation":"924:5:131","nodeType":"VariableDeclaration","scope":71968,"src":"916:13:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71965,"name":"uint256","nodeType":"ElementaryTypeName","src":"916:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"900:30:131"},"src":"869:62:131"},{"documentation":{"id":71969,"nodeType":"StructuredDocumentation","src":"936:60:131","text":"@notice Error thrown when a delegation period is invalid"},"errorSelector":"bf5bfca5","id":71971,"name":"InvalidDelegationPeriod","nameLocation":"1007:23:131","nodeType":"ErrorDefinition","parameters":{"id":71970,"nodeType":"ParameterList","parameters":[],"src":"1030:2:131"},"src":"1001:32:131"},{"documentation":{"id":71972,"nodeType":"StructuredDocumentation","src":"1038:47:131","text":"@notice Error thrown when an array is empty"},"errorSelector":"61c10e1c","id":71974,"name":"ArrayCannotBeEmpty","nameLocation":"1096:18:131","nodeType":"ErrorDefinition","parameters":{"id":71973,"nodeType":"ParameterList","parameters":[],"src":"1114:2:131"},"src":"1090:27:131"},{"documentation":{"id":71975,"nodeType":"StructuredDocumentation","src":"1122:53:131","text":"@notice Error thrown when an NFT level is invalid"},"errorSelector":"ba531933","id":71981,"name":"InvalidNFTLevel","nameLocation":"1186:15:131","nodeType":"ErrorDefinition","parameters":{"id":71980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71977,"mutability":"mutable","name":"tokenId","nameLocation":"1210:7:131","nodeType":"VariableDeclaration","scope":71981,"src":"1202:15:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71976,"name":"uint256","nodeType":"ElementaryTypeName","src":"1202:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71979,"mutability":"mutable","name":"level","nameLocation":"1227:5:131","nodeType":"VariableDeclaration","scope":71981,"src":"1219:13:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71978,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1201:32:131"},"src":"1180:54:131"},{"documentation":{"id":71982,"nodeType":"StructuredDocumentation","src":"1239:82:131","text":"@notice Error thrown when there is insufficient VTHO balance for rewards claim"},"errorSelector":"ae4b5673","id":71988,"name":"InsufficientVthoBalanceForRewardsClaim","nameLocation":"1332:38:131","nodeType":"ErrorDefinition","parameters":{"id":71987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71984,"mutability":"mutable","name":"balance","nameLocation":"1379:7:131","nodeType":"VariableDeclaration","scope":71988,"src":"1371:15:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71983,"name":"uint256","nodeType":"ElementaryTypeName","src":"1371:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71986,"mutability":"mutable","name":"required","nameLocation":"1396:8:131","nodeType":"VariableDeclaration","scope":71988,"src":"1388:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71985,"name":"uint256","nodeType":"ElementaryTypeName","src":"1388:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1370:35:131"},"src":"1326:80:131"},{"documentation":{"id":71989,"nodeType":"StructuredDocumentation","src":"1411:51:131","text":"@notice Error thrown when a VTHO transfer fails"},"errorSelector":"d2e360a3","id":71995,"name":"VthoTransferFailed","nameLocation":"1473:18:131","nodeType":"ErrorDefinition","parameters":{"id":71994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71991,"mutability":"mutable","name":"recipient","nameLocation":"1500:9:131","nodeType":"VariableDeclaration","scope":71995,"src":"1492:17:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71990,"name":"address","nodeType":"ElementaryTypeName","src":"1492:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71993,"mutability":"mutable","name":"amount","nameLocation":"1519:6:131","nodeType":"VariableDeclaration","scope":71995,"src":"1511:14:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71992,"name":"uint256","nodeType":"ElementaryTypeName","src":"1511:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1491:35:131"},"src":"1467:60:131"},{"documentation":{"id":71996,"nodeType":"StructuredDocumentation","src":"1532:67:131","text":"@notice Error thrown when the rewards accumulation period ended"},"errorSelector":"37bd1772","id":71998,"name":"RewardsAccumulationPeriodEnded","nameLocation":"1610:30:131","nodeType":"ErrorDefinition","parameters":{"id":71997,"nodeType":"ParameterList","parameters":[],"src":"1640:2:131"},"src":"1604:39:131"},{"documentation":{"id":71999,"nodeType":"StructuredDocumentation","src":"1648:77:131","text":"@notice Error thrown when the user requests to exit delegation repeatedly"},"errorSelector":"6f7a29e2","id":72001,"name":"DelegationExitAlreadyRequested","nameLocation":"1736:30:131","nodeType":"ErrorDefinition","parameters":{"id":72000,"nodeType":"ParameterList","parameters":[],"src":"1766:2:131"},"src":"1730:39:131"},{"documentation":{"id":72002,"nodeType":"StructuredDocumentation","src":"1774:64:131","text":"@notice Error thrown when there are no lost rewards to claim"},"errorSelector":"6e605fff","id":72008,"name":"NoLostRewardsToClaim","nameLocation":"1849:20:131","nodeType":"ErrorDefinition","parameters":{"id":72007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72004,"mutability":"mutable","name":"owner","nameLocation":"1878:5:131","nodeType":"VariableDeclaration","scope":72008,"src":"1870:13:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72003,"name":"address","nodeType":"ElementaryTypeName","src":"1870:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72006,"mutability":"mutable","name":"tokenId","nameLocation":"1893:7:131","nodeType":"VariableDeclaration","scope":72008,"src":"1885:15:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72005,"name":"uint256","nodeType":"ElementaryTypeName","src":"1885:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1869:32:131"},"src":"1843:59:131"},{"anonymous":false,"documentation":{"id":72009,"nodeType":"StructuredDocumentation","src":"1939:65:131","text":"@notice Event emitted when a delegation simulation is started"},"eventSelector":"8c474be8f4aa05d9d3dd7a9a7e2398f084970227d3151860ff5efc1b5ec3ef92","id":72021,"name":"DelegationSimulationStarted","nameLocation":"2015:27:131","nodeType":"EventDefinition","parameters":{"id":72020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72011,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2068:7:131","nodeType":"VariableDeclaration","scope":72021,"src":"2052:23:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72010,"name":"uint256","nodeType":"ElementaryTypeName","src":"2052:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72013,"indexed":true,"mutability":"mutable","name":"delegator","nameLocation":"2101:9:131","nodeType":"VariableDeclaration","scope":72021,"src":"2085:25:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72012,"name":"address","nodeType":"ElementaryTypeName","src":"2085:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72015,"indexed":false,"mutability":"mutable","name":"rewardsAccumulationStartBlock","nameLocation":"2128:29:131","nodeType":"VariableDeclaration","scope":72021,"src":"2120:37:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72014,"name":"uint256","nodeType":"ElementaryTypeName","src":"2120:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72017,"indexed":true,"mutability":"mutable","name":"isDelegationForever","nameLocation":"2180:19:131","nodeType":"VariableDeclaration","scope":72021,"src":"2167:32:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72016,"name":"bool","nodeType":"ElementaryTypeName","src":"2167:4:131","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":72019,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"2217:6:131","nodeType":"VariableDeclaration","scope":72021,"src":"2209:14:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72018,"name":"address","nodeType":"ElementaryTypeName","src":"2209:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2042:187:131"},"src":"2009:221:131"},{"anonymous":false,"documentation":{"id":72022,"nodeType":"StructuredDocumentation","src":"2235:61:131","text":"@notice Event emitted when a delegation exit is requested"},"eventSelector":"a9c4810ca742dbbe9265a83bf95c6bd92653ff80948f8fb013d94abce87528ad","id":72028,"name":"DelegationExitRequested","nameLocation":"2307:23:131","nodeType":"EventDefinition","parameters":{"id":72027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72024,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2347:7:131","nodeType":"VariableDeclaration","scope":72028,"src":"2331:23:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72023,"name":"uint256","nodeType":"ElementaryTypeName","src":"2331:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72026,"indexed":false,"mutability":"mutable","name":"delegationEndBlock","nameLocation":"2364:18:131","nodeType":"VariableDeclaration","scope":72028,"src":"2356:26:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72025,"name":"uint256","nodeType":"ElementaryTypeName","src":"2356:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2330:53:131"},"src":"2301:83:131"},{"anonymous":false,"documentation":{"id":72029,"nodeType":"StructuredDocumentation","src":"2389:63:131","text":"@notice Event emitted when a delegation rewards are claimed"},"eventSelector":"e4fea81930180a28bed643ad84b5c70b47a7f780388053588df3b32a5d3ac2e6","id":72039,"name":"DelegationRewardsClaimed","nameLocation":"2463:24:131","nodeType":"EventDefinition","parameters":{"id":72038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72031,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2513:7:131","nodeType":"VariableDeclaration","scope":72039,"src":"2497:23:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72030,"name":"uint256","nodeType":"ElementaryTypeName","src":"2497:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72033,"indexed":false,"mutability":"mutable","name":"rewards","nameLocation":"2538:7:131","nodeType":"VariableDeclaration","scope":72039,"src":"2530:15:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72032,"name":"uint256","nodeType":"ElementaryTypeName","src":"2530:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72035,"indexed":true,"mutability":"mutable","name":"claimer","nameLocation":"2571:7:131","nodeType":"VariableDeclaration","scope":72039,"src":"2555:23:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72034,"name":"address","nodeType":"ElementaryTypeName","src":"2555:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72037,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"2604:9:131","nodeType":"VariableDeclaration","scope":72039,"src":"2588:25:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72036,"name":"address","nodeType":"ElementaryTypeName","src":"2588:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2487:132:131"},"src":"2457:163:131"},{"anonymous":false,"documentation":{"id":72040,"nodeType":"StructuredDocumentation","src":"2625:72:131","text":"@notice Event emitted when the rewards accumulation end block is set"},"eventSelector":"5f2e3a40647c8856b414700c638b0de43e923591bfa6727a42d02d6893708be7","id":72044,"name":"RewardsAccumulationEndBlockSet","nameLocation":"2708:30:131","nodeType":"EventDefinition","parameters":{"id":72043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72042,"indexed":false,"mutability":"mutable","name":"rewardsAccumulationEndBlock","nameLocation":"2747:27:131","nodeType":"VariableDeclaration","scope":72044,"src":"2739:35:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72041,"name":"uint256","nodeType":"ElementaryTypeName","src":"2739:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2738:37:131"},"src":"2702:74:131"},{"anonymous":false,"documentation":{"id":72045,"nodeType":"StructuredDocumentation","src":"2781:53:131","text":"@notice Event emitted when lost rewards are added"},"eventSelector":"214b0dec028e510bdb41a3d507b75306efdc8ac735c7e5db498a5eb8e4d3b263","id":72053,"name":"LostRewardsAdded","nameLocation":"2845:16:131","nodeType":"EventDefinition","parameters":{"id":72052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72047,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"2878:5:131","nodeType":"VariableDeclaration","scope":72053,"src":"2862:21:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72046,"name":"address","nodeType":"ElementaryTypeName","src":"2862:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72049,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2901:7:131","nodeType":"VariableDeclaration","scope":72053,"src":"2885:23:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72048,"name":"uint256","nodeType":"ElementaryTypeName","src":"2885:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72051,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2918:6:131","nodeType":"VariableDeclaration","scope":72053,"src":"2910:14:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72050,"name":"uint256","nodeType":"ElementaryTypeName","src":"2910:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2861:64:131"},"src":"2839:87:131"},{"anonymous":false,"documentation":{"id":72054,"nodeType":"StructuredDocumentation","src":"2931:55:131","text":"@notice Event emitted when lost rewards are removed"},"eventSelector":"12e6f6fd735d5f5552f050f21f0bb6e778513f31190ee7173dc48a713c3c5dd0","id":72062,"name":"LostRewardsRemoved","nameLocation":"2997:18:131","nodeType":"EventDefinition","parameters":{"id":72061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72056,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"3032:5:131","nodeType":"VariableDeclaration","scope":72062,"src":"3016:21:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72055,"name":"address","nodeType":"ElementaryTypeName","src":"3016:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72058,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"3055:7:131","nodeType":"VariableDeclaration","scope":72062,"src":"3039:23:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72057,"name":"uint256","nodeType":"ElementaryTypeName","src":"3039:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72060,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"3072:6:131","nodeType":"VariableDeclaration","scope":72062,"src":"3064:14:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72059,"name":"uint256","nodeType":"ElementaryTypeName","src":"3064:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3015:64:131"},"src":"2991:89:131"},{"anonymous":false,"documentation":{"id":72063,"nodeType":"StructuredDocumentation","src":"3085:55:131","text":"@notice Event emitted when lost rewards are claimed"},"eventSelector":"77953bc894590294256cdac3803da37df5c2ec3ee31e6411685ac5de39415ebb","id":72073,"name":"LostRewardsClaimed","nameLocation":"3151:18:131","nodeType":"EventDefinition","parameters":{"id":72072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72065,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"3195:5:131","nodeType":"VariableDeclaration","scope":72073,"src":"3179:21:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72064,"name":"address","nodeType":"ElementaryTypeName","src":"3179:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72067,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"3226:7:131","nodeType":"VariableDeclaration","scope":72073,"src":"3210:23:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72066,"name":"uint256","nodeType":"ElementaryTypeName","src":"3210:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72069,"indexed":true,"mutability":"mutable","name":"claimer","nameLocation":"3259:7:131","nodeType":"VariableDeclaration","scope":72073,"src":"3243:23:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72068,"name":"address","nodeType":"ElementaryTypeName","src":"3243:7:131","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72071,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"3284:6:131","nodeType":"VariableDeclaration","scope":72073,"src":"3276:14:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72070,"name":"uint256","nodeType":"ElementaryTypeName","src":"3276:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3169:127:131"},"src":"3145:152:131"},{"functionSelector":"54fd4d50","id":72078,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"3347:7:131","nodeType":"FunctionDefinition","parameters":{"id":72074,"nodeType":"ParameterList","parameters":[],"src":"3354:2:131"},"returnParameters":{"id":72077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72078,"src":"3380:7:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72075,"name":"uint256","nodeType":"ElementaryTypeName","src":"3380:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3379:9:131"},"scope":72178,"src":"3338:51:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"91ddadf4","id":72083,"implemented":false,"kind":"function","modifiers":[],"name":"clock","nameLocation":"3404:5:131","nodeType":"FunctionDefinition","parameters":{"id":72079,"nodeType":"ParameterList","parameters":[],"src":"3409:2:131"},"returnParameters":{"id":72082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72083,"src":"3435:6:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":72080,"name":"uint48","nodeType":"ElementaryTypeName","src":"3435:6:131","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3434:8:131"},"scope":72178,"src":"3395:48:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4bf5d7e9","id":72088,"implemented":false,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"3458:10:131","nodeType":"FunctionDefinition","parameters":{"id":72084,"nodeType":"ParameterList","parameters":[],"src":"3468:2:131"},"returnParameters":{"id":72087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72086,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72088,"src":"3494:13:131","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72085,"name":"string","nodeType":"ElementaryTypeName","src":"3494:6:131","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3493:15:131"},"scope":72178,"src":"3449:60:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3207555d","id":72095,"implemented":false,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"3524:8:131","nodeType":"FunctionDefinition","parameters":{"id":72093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72090,"mutability":"mutable","name":"_tokenId","nameLocation":"3541:8:131","nodeType":"VariableDeclaration","scope":72095,"src":"3533:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72089,"name":"uint256","nodeType":"ElementaryTypeName","src":"3533:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72092,"mutability":"mutable","name":"_delegateForever","nameLocation":"3556:16:131","nodeType":"VariableDeclaration","scope":72095,"src":"3551:21:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72091,"name":"bool","nodeType":"ElementaryTypeName","src":"3551:4:131","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3532:41:131"},"returnParameters":{"id":72094,"nodeType":"ParameterList","parameters":[],"src":"3582:0:131"},"scope":72178,"src":"3515:68:131","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"69e79b7d","id":72100,"implemented":false,"kind":"function","modifiers":[],"name":"requestDelegationExit","nameLocation":"3598:21:131","nodeType":"FunctionDefinition","parameters":{"id":72098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72097,"mutability":"mutable","name":"_tokenId","nameLocation":"3628:8:131","nodeType":"VariableDeclaration","scope":72100,"src":"3620:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72096,"name":"uint256","nodeType":"ElementaryTypeName","src":"3620:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3619:18:131"},"returnParameters":{"id":72099,"nodeType":"ParameterList","parameters":[],"src":"3646:0:131"},"scope":72178,"src":"3589:58:131","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"0962ef79","id":72105,"implemented":false,"kind":"function","modifiers":[],"name":"claimRewards","nameLocation":"3662:12:131","nodeType":"FunctionDefinition","parameters":{"id":72103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72102,"mutability":"mutable","name":"_tokenId","nameLocation":"3683:8:131","nodeType":"VariableDeclaration","scope":72105,"src":"3675:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72101,"name":"uint256","nodeType":"ElementaryTypeName","src":"3675:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3674:18:131"},"returnParameters":{"id":72104,"nodeType":"ParameterList","parameters":[],"src":"3701:0:131"},"scope":72178,"src":"3653:49:131","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"9835fc7e","id":72112,"implemented":false,"kind":"function","modifiers":[],"name":"claimableRewards","nameLocation":"3717:16:131","nodeType":"FunctionDefinition","parameters":{"id":72108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72107,"mutability":"mutable","name":"_tokenId","nameLocation":"3742:8:131","nodeType":"VariableDeclaration","scope":72112,"src":"3734:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72106,"name":"uint256","nodeType":"ElementaryTypeName","src":"3734:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3733:18:131"},"returnParameters":{"id":72111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72112,"src":"3775:7:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72109,"name":"uint256","nodeType":"ElementaryTypeName","src":"3775:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3774:9:131"},"scope":72178,"src":"3708:76:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"9bc4fd6e","id":72119,"implemented":false,"kind":"function","modifiers":[],"name":"accumulatedRewards","nameLocation":"3799:18:131","nodeType":"FunctionDefinition","parameters":{"id":72115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72114,"mutability":"mutable","name":"_tokenId","nameLocation":"3826:8:131","nodeType":"VariableDeclaration","scope":72119,"src":"3818:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72113,"name":"uint256","nodeType":"ElementaryTypeName","src":"3818:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3817:18:131"},"returnParameters":{"id":72118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72117,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72119,"src":"3859:7:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72116,"name":"uint256","nodeType":"ElementaryTypeName","src":"3859:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3858:9:131"},"scope":72178,"src":"3790:78:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"83c04aa2","id":72126,"implemented":false,"kind":"function","modifiers":[],"name":"isDelegationActive","nameLocation":"3883:18:131","nodeType":"FunctionDefinition","parameters":{"id":72122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72121,"mutability":"mutable","name":"_tokenId","nameLocation":"3910:8:131","nodeType":"VariableDeclaration","scope":72126,"src":"3902:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72120,"name":"uint256","nodeType":"ElementaryTypeName","src":"3902:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3901:18:131"},"returnParameters":{"id":72125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72126,"src":"3943:4:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72123,"name":"bool","nodeType":"ElementaryTypeName","src":"3943:4:131","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3942:6:131"},"scope":72178,"src":"3874:75:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"dc4dfd46","id":72133,"implemented":false,"kind":"function","modifiers":[],"name":"getVthoRewardPerBlock","nameLocation":"3964:21:131","nodeType":"FunctionDefinition","parameters":{"id":72129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72128,"mutability":"mutable","name":"_level","nameLocation":"3994:6:131","nodeType":"VariableDeclaration","scope":72133,"src":"3986:14:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72127,"name":"uint256","nodeType":"ElementaryTypeName","src":"3986:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3985:16:131"},"returnParameters":{"id":72132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72131,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72133,"src":"4025:7:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72130,"name":"uint256","nodeType":"ElementaryTypeName","src":"4025:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4024:9:131"},"scope":72178,"src":"3955:79:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ebf1fe14","id":72138,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegationPeriod","nameLocation":"4049:19:131","nodeType":"FunctionDefinition","parameters":{"id":72134,"nodeType":"ParameterList","parameters":[],"src":"4068:2:131"},"returnParameters":{"id":72137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72138,"src":"4094:7:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72135,"name":"uint256","nodeType":"ElementaryTypeName","src":"4094:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4093:9:131"},"scope":72178,"src":"4040:63:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a38e3941","id":72143,"implemented":false,"kind":"function","modifiers":[],"name":"getRewardsAccumulationEndBlock","nameLocation":"4118:30:131","nodeType":"FunctionDefinition","parameters":{"id":72139,"nodeType":"ParameterList","parameters":[],"src":"4148:2:131"},"returnParameters":{"id":72142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72141,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72143,"src":"4174:7:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72140,"name":"uint256","nodeType":"ElementaryTypeName","src":"4174:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4173:9:131"},"scope":72178,"src":"4109:74:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5be826c5","id":72150,"implemented":false,"kind":"function","modifiers":[],"name":"getRewardsAccumulationStartBlock","nameLocation":"4198:32:131","nodeType":"FunctionDefinition","parameters":{"id":72146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72145,"mutability":"mutable","name":"_tokenId","nameLocation":"4239:8:131","nodeType":"VariableDeclaration","scope":72150,"src":"4231:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72144,"name":"uint256","nodeType":"ElementaryTypeName","src":"4231:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4230:18:131"},"returnParameters":{"id":72149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72148,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72150,"src":"4272:7:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72147,"name":"uint256","nodeType":"ElementaryTypeName","src":"4272:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4271:9:131"},"scope":72178,"src":"4189:92:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a2a96ed4","id":72157,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegationEndBlock","nameLocation":"4296:21:131","nodeType":"FunctionDefinition","parameters":{"id":72153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72152,"mutability":"mutable","name":"_tokenId","nameLocation":"4326:8:131","nodeType":"VariableDeclaration","scope":72157,"src":"4318:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72151,"name":"uint256","nodeType":"ElementaryTypeName","src":"4318:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4317:18:131"},"returnParameters":{"id":72156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72155,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72157,"src":"4359:7:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72154,"name":"uint256","nodeType":"ElementaryTypeName","src":"4359:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4358:9:131"},"scope":72178,"src":"4287:81:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"d57610d0","id":72164,"implemented":false,"kind":"function","modifiers":[],"name":"currentDelegationPeriodEndBlock","nameLocation":"4383:31:131","nodeType":"FunctionDefinition","parameters":{"id":72160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72159,"mutability":"mutable","name":"_tokenId","nameLocation":"4423:8:131","nodeType":"VariableDeclaration","scope":72164,"src":"4415:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72158,"name":"uint256","nodeType":"ElementaryTypeName","src":"4415:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4414:18:131"},"returnParameters":{"id":72163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72164,"src":"4456:7:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72161,"name":"uint256","nodeType":"ElementaryTypeName","src":"4456:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4455:9:131"},"scope":72178,"src":"4374:91:131","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"eabfa044","id":72177,"implemented":false,"kind":"function","modifiers":[],"name":"getDelegationDetails","nameLocation":"4480:20:131","nodeType":"FunctionDefinition","parameters":{"id":72167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72166,"mutability":"mutable","name":"_tokenId","nameLocation":"4518:8:131","nodeType":"VariableDeclaration","scope":72177,"src":"4510:16:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72165,"name":"uint256","nodeType":"ElementaryTypeName","src":"4510:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4500:32:131"},"returnParameters":{"id":72176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72169,"mutability":"mutable","name":"isDelegationActive","nameLocation":"4598:18:131","nodeType":"VariableDeclaration","scope":72177,"src":"4593:23:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72168,"name":"bool","nodeType":"ElementaryTypeName","src":"4593:4:131","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":72171,"mutability":"mutable","name":"claimableRewards","nameLocation":"4638:16:131","nodeType":"VariableDeclaration","scope":72177,"src":"4630:24:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72170,"name":"uint256","nodeType":"ElementaryTypeName","src":"4630:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72173,"mutability":"mutable","name":"rewardsAccumulationStartBlock","nameLocation":"4676:29:131","nodeType":"VariableDeclaration","scope":72177,"src":"4668:37:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72172,"name":"uint256","nodeType":"ElementaryTypeName","src":"4668:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72175,"mutability":"mutable","name":"delegationEndBlock","nameLocation":"4727:18:131","nodeType":"VariableDeclaration","scope":72177,"src":"4719:26:131","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72174,"name":"uint256","nodeType":"ElementaryTypeName","src":"4719:7:131","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4579:176:131"},"scope":72178,"src":"4471:285:131","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":72179,"src":"57:4701:131","usedErrors":[71938,71943,71948,71953,71958,71961,71968,71971,71974,71981,71988,71995,71998,72001,72008],"usedEvents":[72021,72028,72039,72044,72053,72062,72073]}],"src":"32:4727:131"},"id":131},"contracts/mocks/Stargate/interfaces/IStargateNFT.sol":{"ast":{"absolutePath":"contracts/mocks/Stargate/interfaces/IStargateNFT.sol","exportedSymbols":{"DataTypes":[71347],"IERC165":[5961],"IERC721":[5253],"IERC721Enumerable":[5303],"IStargateNFT":[72687],"ITokenAuction":[73165]},"id":72688,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":72180,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:132"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"@openzeppelin/contracts/token/ERC721/IERC721.sol","id":72182,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":72688,"sourceUnit":5254,"src":"57:75:132","symbolAliases":[{"foreign":{"id":72181,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5253,"src":"66:7:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol","id":72184,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":72688,"sourceUnit":5304,"src":"133:106:132","symbolAliases":[{"foreign":{"id":72183,"name":"IERC721Enumerable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5303,"src":"142:17:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":72186,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":72688,"sourceUnit":5962,"src":"240:82:132","symbolAliases":[{"foreign":{"id":72185,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"249:7:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol","file":"../StargateNFT/libraries/DataTypes.sol","id":72188,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":72688,"sourceUnit":71348,"src":"323:67:132","symbolAliases":[{"foreign":{"id":72187,"name":"DataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71347,"src":"332:9:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/ITokenAuction.sol","file":"./ITokenAuction.sol","id":72190,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":72688,"sourceUnit":73166,"src":"391:52:132","symbolAliases":[{"foreign":{"id":72189,"name":"ITokenAuction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73165,"src":"400:13:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":72191,"name":"IERC165","nameLocations":["471:7:132"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"471:7:132"},"id":72192,"nodeType":"InheritanceSpecifier","src":"471:7:132"},{"baseName":{"id":72193,"name":"IERC721","nameLocations":["480:7:132"],"nodeType":"IdentifierPath","referencedDeclaration":5253,"src":"480:7:132"},"id":72194,"nodeType":"InheritanceSpecifier","src":"480:7:132"},{"baseName":{"id":72195,"name":"IERC721Enumerable","nameLocations":["489:17:132"],"nodeType":"IdentifierPath","referencedDeclaration":5303,"src":"489:17:132"},"id":72196,"nodeType":"InheritanceSpecifier","src":"489:17:132"}],"canonicalName":"IStargateNFT","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":72687,"linearizedBaseContracts":[72687,5303,5253,5961],"name":"IStargateNFT","nameLocation":"455:12:132","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":72197,"nodeType":"StructuredDocumentation","src":"569:411:132","text":" @notice Emitted when a token level is updated\n @param levelId The ID of the level that was updated\n @param name The new name of the level\n @param isX The new X status\n @param maturityBlocks The new maturity period in blocks\n @param scaledRewardFactor The new scaled reward multiplier\n @param vetAmountRequiredToStake The new VET amount required for staking"},"eventSelector":"f100d70d7533f8cc876180c07c9da3b2fb3dd79fbcd54884d6264774f6bd9a8b","id":72211,"name":"LevelUpdated","nameLocation":"991:12:132","nodeType":"EventDefinition","parameters":{"id":72210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72199,"indexed":true,"mutability":"mutable","name":"levelId","nameLocation":"1027:7:132","nodeType":"VariableDeclaration","scope":72211,"src":"1013:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72198,"name":"uint8","nodeType":"ElementaryTypeName","src":"1013:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72201,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"1051:4:132","nodeType":"VariableDeclaration","scope":72211,"src":"1044:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72200,"name":"string","nodeType":"ElementaryTypeName","src":"1044:6:132","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":72203,"indexed":false,"mutability":"mutable","name":"isX","nameLocation":"1070:3:132","nodeType":"VariableDeclaration","scope":72211,"src":"1065:8:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72202,"name":"bool","nodeType":"ElementaryTypeName","src":"1065:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":72205,"indexed":false,"mutability":"mutable","name":"maturityBlocks","nameLocation":"1090:14:132","nodeType":"VariableDeclaration","scope":72211,"src":"1083:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72204,"name":"uint64","nodeType":"ElementaryTypeName","src":"1083:6:132","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":72207,"indexed":false,"mutability":"mutable","name":"scaledRewardFactor","nameLocation":"1121:18:132","nodeType":"VariableDeclaration","scope":72211,"src":"1114:25:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72206,"name":"uint64","nodeType":"ElementaryTypeName","src":"1114:6:132","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":72209,"indexed":false,"mutability":"mutable","name":"vetAmountRequiredToStake","nameLocation":"1157:24:132","nodeType":"VariableDeclaration","scope":72211,"src":"1149:32:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72208,"name":"uint256","nodeType":"ElementaryTypeName","src":"1149:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1003:184:132"},"src":"985:203:132"},{"anonymous":false,"documentation":{"id":72212,"nodeType":"StructuredDocumentation","src":"1194:280:132","text":" @notice Emitted when the circulating supply of a token level is updated\n @param levelId The ID of the level supply that was updated\n @param oldCirculatingSupply The old circulating supply\n @param newCirculatingSupply The new circulating supply"},"eventSelector":"2d3ae9d6214117349be592e75147c4a63aa26af4abdf41364cab8409def6c55f","id":72220,"name":"LevelCirculatingSupplyUpdated","nameLocation":"1485:29:132","nodeType":"EventDefinition","parameters":{"id":72219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72214,"indexed":true,"mutability":"mutable","name":"levelId","nameLocation":"1538:7:132","nodeType":"VariableDeclaration","scope":72220,"src":"1524:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72213,"name":"uint8","nodeType":"ElementaryTypeName","src":"1524:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72216,"indexed":false,"mutability":"mutable","name":"oldCirculatingSupply","nameLocation":"1563:20:132","nodeType":"VariableDeclaration","scope":72220,"src":"1555:28:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":72215,"name":"uint208","nodeType":"ElementaryTypeName","src":"1555:7:132","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"},{"constant":false,"id":72218,"indexed":false,"mutability":"mutable","name":"newCirculatingSupply","nameLocation":"1601:20:132","nodeType":"VariableDeclaration","scope":72220,"src":"1593:28:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":72217,"name":"uint208","nodeType":"ElementaryTypeName","src":"1593:7:132","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"1514:113:132"},"src":"1479:149:132"},{"anonymous":false,"documentation":{"id":72221,"nodeType":"StructuredDocumentation","src":"1634:204:132","text":" @notice Emitted when the cap of a token level is updated\n @param levelId The ID of the level cap that was updated\n @param oldCap The old cap\n @param newCap The new cap"},"eventSelector":"a8fea641f11db999cf8191284c4fa96dc28a20a81368b7190b9fd772d2d2c153","id":72229,"name":"LevelCapUpdated","nameLocation":"1849:15:132","nodeType":"EventDefinition","parameters":{"id":72228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72223,"indexed":true,"mutability":"mutable","name":"levelId","nameLocation":"1879:7:132","nodeType":"VariableDeclaration","scope":72229,"src":"1865:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72222,"name":"uint8","nodeType":"ElementaryTypeName","src":"1865:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72225,"indexed":false,"mutability":"mutable","name":"oldCap","nameLocation":"1895:6:132","nodeType":"VariableDeclaration","scope":72229,"src":"1888:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":72224,"name":"uint32","nodeType":"ElementaryTypeName","src":"1888:6:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":72227,"indexed":false,"mutability":"mutable","name":"newCap","nameLocation":"1910:6:132","nodeType":"VariableDeclaration","scope":72229,"src":"1903:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":72226,"name":"uint32","nodeType":"ElementaryTypeName","src":"1903:6:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"1864:53:132"},"src":"1843:75:132"},{"anonymous":false,"documentation":{"id":72230,"nodeType":"StructuredDocumentation","src":"1924:306:132","text":" @notice Emitted when the boost price per block of a token level is updated\n @param levelId The ID of the level boost price per block that was updated\n @param oldBoostPricePerBlock The old boost price per block\n @param newBoostPricePerBlock The new boost price per block"},"eventSelector":"87623ef67665e7508956ddb5ddaaafe677f92446bbe364db9e4c1289d6cdec4e","id":72238,"name":"LevelBoostPricePerBlockUpdated","nameLocation":"2241:30:132","nodeType":"EventDefinition","parameters":{"id":72237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72232,"indexed":true,"mutability":"mutable","name":"levelId","nameLocation":"2295:7:132","nodeType":"VariableDeclaration","scope":72238,"src":"2281:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72231,"name":"uint8","nodeType":"ElementaryTypeName","src":"2281:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72234,"indexed":false,"mutability":"mutable","name":"oldBoostPricePerBlock","nameLocation":"2320:21:132","nodeType":"VariableDeclaration","scope":72238,"src":"2312:29:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72233,"name":"uint256","nodeType":"ElementaryTypeName","src":"2312:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72236,"indexed":false,"mutability":"mutable","name":"newBoostPricePerBlock","nameLocation":"2359:21:132","nodeType":"VariableDeclaration","scope":72238,"src":"2351:29:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72235,"name":"uint256","nodeType":"ElementaryTypeName","src":"2351:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2271:115:132"},"src":"2235:152:132"},{"anonymous":false,"documentation":{"id":72239,"nodeType":"StructuredDocumentation","src":"2393:383:132","text":" @notice Emitted when an NFT is minted\n @param owner The address that owns the newly minted NFT\n @param levelId The level ID of the newly minted NFT\n @param migrated Whether the token was migrated from legacy nodes contract\n @param tokenId The ID of the newly minted NFT\n @param vetAmountStaked The amount of VET staked to mint the NFT"},"eventSelector":"77da7e47d62c495735ba6de40ed9f4f0cf78d6a35e8b7e61b87145f4c91ee0f7","id":72251,"name":"TokenMinted","nameLocation":"2787:11:132","nodeType":"EventDefinition","parameters":{"id":72250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72241,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"2824:5:132","nodeType":"VariableDeclaration","scope":72251,"src":"2808:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72240,"name":"address","nodeType":"ElementaryTypeName","src":"2808:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72243,"indexed":true,"mutability":"mutable","name":"levelId","nameLocation":"2853:7:132","nodeType":"VariableDeclaration","scope":72251,"src":"2839:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72242,"name":"uint8","nodeType":"ElementaryTypeName","src":"2839:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72245,"indexed":true,"mutability":"mutable","name":"migrated","nameLocation":"2883:8:132","nodeType":"VariableDeclaration","scope":72251,"src":"2870:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72244,"name":"bool","nodeType":"ElementaryTypeName","src":"2870:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":72247,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"2909:7:132","nodeType":"VariableDeclaration","scope":72251,"src":"2901:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72246,"name":"uint256","nodeType":"ElementaryTypeName","src":"2901:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72249,"indexed":false,"mutability":"mutable","name":"vetAmountStaked","nameLocation":"2934:15:132","nodeType":"VariableDeclaration","scope":72251,"src":"2926:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72248,"name":"uint256","nodeType":"ElementaryTypeName","src":"2926:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2798:157:132"},"src":"2781:175:132"},{"anonymous":false,"documentation":{"id":72252,"nodeType":"StructuredDocumentation","src":"2962:302:132","text":" @notice Emitted when an NFT is burned\n @param owner The address that owns the newly burned NFT\n @param levelId The level ID of the newly burned NFT\n @param tokenId The ID of the newly burned NFT\n @param vetAmountStaked The amount of VET staked to burn the NFT"},"eventSelector":"355103f9b8153e2d8052446029758fac8de69ef88551f67429b4873d21b2cd6c","id":72262,"name":"TokenBurned","nameLocation":"3275:11:132","nodeType":"EventDefinition","parameters":{"id":72261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72254,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"3312:5:132","nodeType":"VariableDeclaration","scope":72262,"src":"3296:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72253,"name":"address","nodeType":"ElementaryTypeName","src":"3296:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72256,"indexed":true,"mutability":"mutable","name":"levelId","nameLocation":"3341:7:132","nodeType":"VariableDeclaration","scope":72262,"src":"3327:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72255,"name":"uint8","nodeType":"ElementaryTypeName","src":"3327:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72258,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"3366:7:132","nodeType":"VariableDeclaration","scope":72262,"src":"3358:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72257,"name":"uint256","nodeType":"ElementaryTypeName","src":"3358:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72260,"indexed":false,"mutability":"mutable","name":"vetAmountStaked","nameLocation":"3391:15:132","nodeType":"VariableDeclaration","scope":72262,"src":"3383:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72259,"name":"uint256","nodeType":"ElementaryTypeName","src":"3383:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3286:126:132"},"src":"3269:144:132"},{"anonymous":false,"documentation":{"id":72263,"nodeType":"StructuredDocumentation","src":"3419:170:132","text":" @notice Emitted when the base URI for the token metadata is updated\n @param oldBaseURI The old base URI\n @param newBaseURI The new base URI"},"eventSelector":"309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc1","id":72269,"name":"BaseURIUpdated","nameLocation":"3600:14:132","nodeType":"EventDefinition","parameters":{"id":72268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72265,"indexed":false,"mutability":"mutable","name":"oldBaseURI","nameLocation":"3622:10:132","nodeType":"VariableDeclaration","scope":72269,"src":"3615:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72264,"name":"string","nodeType":"ElementaryTypeName","src":"3615:6:132","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":72267,"indexed":false,"mutability":"mutable","name":"newBaseURI","nameLocation":"3641:10:132","nodeType":"VariableDeclaration","scope":72269,"src":"3634:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72266,"name":"string","nodeType":"ElementaryTypeName","src":"3634:6:132","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3614:38:132"},"src":"3594:59:132"},{"anonymous":false,"documentation":{"id":72270,"nodeType":"StructuredDocumentation","src":"3659:123:132","text":" @notice Emitted when a whitelist entry is removed\n @param owner The address of the whitelist entry"},"eventSelector":"f5a17fc6cae0f780fd428d880fbc80162c6bc3fa0973463efcd4ee95067b382c","id":72274,"name":"WhitelistEntryRemoved","nameLocation":"3793:21:132","nodeType":"EventDefinition","parameters":{"id":72273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72272,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"3823:5:132","nodeType":"VariableDeclaration","scope":72274,"src":"3815:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72271,"name":"address","nodeType":"ElementaryTypeName","src":"3815:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3814:15:132"},"src":"3787:43:132"},{"anonymous":false,"documentation":{"id":72275,"nodeType":"StructuredDocumentation","src":"3836:166:132","text":" @notice Emitted when a token manager is added to a token\n @param tokenId The ID of the token\n @param manager The address of the manager"},"eventSelector":"4c34999c3933469b9ae5b27867157f18b49db2bab5549f03a1ee6145bc731e28","id":72281,"name":"TokenManagerAdded","nameLocation":"4013:17:132","nodeType":"EventDefinition","parameters":{"id":72280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72277,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"4047:7:132","nodeType":"VariableDeclaration","scope":72281,"src":"4031:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72276,"name":"uint256","nodeType":"ElementaryTypeName","src":"4031:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72279,"indexed":true,"mutability":"mutable","name":"manager","nameLocation":"4072:7:132","nodeType":"VariableDeclaration","scope":72281,"src":"4056:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72278,"name":"address","nodeType":"ElementaryTypeName","src":"4056:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4030:50:132"},"src":"4007:74:132"},{"anonymous":false,"documentation":{"id":72282,"nodeType":"StructuredDocumentation","src":"4087:170:132","text":" @notice Emitted when a token manager is removed from a token\n @param tokenId The ID of the token\n @param manager The address of the manager"},"eventSelector":"2dea8fdc0115667de4800362c74206112df0a3a139fa2c217218b27a5da20259","id":72288,"name":"TokenManagerRemoved","nameLocation":"4268:19:132","nodeType":"EventDefinition","parameters":{"id":72287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72284,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"4304:7:132","nodeType":"VariableDeclaration","scope":72288,"src":"4288:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72283,"name":"uint256","nodeType":"ElementaryTypeName","src":"4288:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72286,"indexed":true,"mutability":"mutable","name":"manager","nameLocation":"4329:7:132","nodeType":"VariableDeclaration","scope":72288,"src":"4313:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72285,"name":"address","nodeType":"ElementaryTypeName","src":"4313:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4287:50:132"},"src":"4262:76:132"},{"anonymous":false,"documentation":{"id":72289,"nodeType":"StructuredDocumentation","src":"4538:367:132","text":" @notice Emitted when VTHO rewards are claimed for a token\n @dev Not emitted anymore in V3, since we don't generate VTHO anymore\n @param owner The address that claimed the rewards\n @param tokenId The ID of the token for which rewards were claimed\n @param amount The amount of VTHO rewards claimed\n @dev Deprecated in V3"},"eventSelector":"fd607be866b63b8e815d2012454b3085c5d64f7c7a461ff7fd9c14a8860bf531","id":72297,"name":"BaseVTHORewardsClaimed","nameLocation":"4916:22:132","nodeType":"EventDefinition","parameters":{"id":72296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72291,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"4955:5:132","nodeType":"VariableDeclaration","scope":72297,"src":"4939:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72290,"name":"address","nodeType":"ElementaryTypeName","src":"4939:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72293,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"4978:7:132","nodeType":"VariableDeclaration","scope":72297,"src":"4962:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72292,"name":"uint256","nodeType":"ElementaryTypeName","src":"4962:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72295,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"4995:6:132","nodeType":"VariableDeclaration","scope":72297,"src":"4987:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72294,"name":"uint256","nodeType":"ElementaryTypeName","src":"4987:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4938:64:132"},"src":"4910:93:132"},{"anonymous":false,"documentation":{"id":72298,"nodeType":"StructuredDocumentation","src":"5009:336:132","text":" @notice Emitted when the VTHO generation end timestamp is updated\n @dev Not emitted anymore in V3, since there is no need to set this value anymore\n @param oldVthoGenerationEndTimestamp The old VTHO generation end timestamp\n @param newVthoGenerationEndTimestamp The new VTHO generation end timestamp"},"eventSelector":"1b3d245cb52f4d9a4ae9f6bb387f728341fac7f6f39c3ef814628577545f722f","id":72304,"name":"VthoGenerationEndTimestampSet","nameLocation":"5356:29:132","nodeType":"EventDefinition","parameters":{"id":72303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72300,"indexed":false,"mutability":"mutable","name":"oldVthoGenerationEndTimestamp","nameLocation":"5402:29:132","nodeType":"VariableDeclaration","scope":72304,"src":"5395:36:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":72299,"name":"uint48","nodeType":"ElementaryTypeName","src":"5395:6:132","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":72302,"indexed":false,"mutability":"mutable","name":"newVthoGenerationEndTimestamp","nameLocation":"5448:29:132","nodeType":"VariableDeclaration","scope":72304,"src":"5441:36:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":72301,"name":"uint48","nodeType":"ElementaryTypeName","src":"5441:6:132","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"5385:98:132"},"src":"5350:134:132"},{"functionSelector":"54fd4d50","id":72309,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"5558:7:132","nodeType":"FunctionDefinition","parameters":{"id":72305,"nodeType":"ParameterList","parameters":[],"src":"5565:2:132"},"returnParameters":{"id":72308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72307,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72309,"src":"5591:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72306,"name":"uint256","nodeType":"ElementaryTypeName","src":"5591:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5590:9:132"},"scope":72687,"src":"5549:51:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72310,"nodeType":"StructuredDocumentation","src":"5641:274:132","text":"@notice Callback function to ERC721Upgradeable._safeMint, called by StargateNFTMinting.stake\n @dev Only the StargateNFT contract can call this function\n @param to - the address to mint the token to\n @param tokenId - the token ID of the token to mint"},"functionSelector":"7aee0158","id":72317,"implemented":false,"kind":"function","modifiers":[],"name":"_safeMintCallback","nameLocation":"5929:17:132","nodeType":"FunctionDefinition","parameters":{"id":72315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72312,"mutability":"mutable","name":"to","nameLocation":"5955:2:132","nodeType":"VariableDeclaration","scope":72317,"src":"5947:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72311,"name":"address","nodeType":"ElementaryTypeName","src":"5947:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72314,"mutability":"mutable","name":"tokenId","nameLocation":"5967:7:132","nodeType":"VariableDeclaration","scope":72317,"src":"5959:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72313,"name":"uint256","nodeType":"ElementaryTypeName","src":"5959:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5946:29:132"},"returnParameters":{"id":72316,"nodeType":"ParameterList","parameters":[],"src":"5984:0:132"},"scope":72687,"src":"5920:65:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72318,"nodeType":"StructuredDocumentation","src":"5991:219:132","text":"@notice Callback function to ERC721Upgradeable._burn, called by StargateNFTMinting.unstake\n @dev Only the StargateNFT contract can call this function\n @param tokenId - the token ID of the token to burn"},"functionSelector":"84e66840","id":72323,"implemented":false,"kind":"function","modifiers":[],"name":"_burnCallback","nameLocation":"6224:13:132","nodeType":"FunctionDefinition","parameters":{"id":72321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72320,"mutability":"mutable","name":"tokenId","nameLocation":"6246:7:132","nodeType":"VariableDeclaration","scope":72323,"src":"6238:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72319,"name":"uint256","nodeType":"ElementaryTypeName","src":"6238:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6237:17:132"},"returnParameters":{"id":72322,"nodeType":"ParameterList","parameters":[],"src":"6263:0:132"},"scope":72687,"src":"6215:49:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72324,"nodeType":"StructuredDocumentation","src":"6313:155:132","text":"@notice Pauses the StargateNFT contract\n @dev Only the PAUSER_ROLE can call this function\n @dev Pausing the contract will prevent minting"},"functionSelector":"8456cb59","id":72327,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"6482:5:132","nodeType":"FunctionDefinition","parameters":{"id":72325,"nodeType":"ParameterList","parameters":[],"src":"6487:2:132"},"returnParameters":{"id":72326,"nodeType":"ParameterList","parameters":[],"src":"6498:0:132"},"scope":72687,"src":"6473:26:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72328,"nodeType":"StructuredDocumentation","src":"6505:102:132","text":"@notice Unpauses the StargateNFT contract\n @dev Only the PAUSER_ROLE can call this function"},"functionSelector":"3f4ba83a","id":72331,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"6621:7:132","nodeType":"FunctionDefinition","parameters":{"id":72329,"nodeType":"ParameterList","parameters":[],"src":"6628:2:132"},"returnParameters":{"id":72330,"nodeType":"ParameterList","parameters":[],"src":"6639:0:132"},"scope":72687,"src":"6612:28:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72332,"nodeType":"StructuredDocumentation","src":"6687:432:132","text":"@notice Adds a new token level\n @param _levelAndSupply - The level and supply to add, see {DataTypes.LevelAndSupply}\n @dev Only the LEVEL_OPERATOR_ROLE can call this function\n Check the {Levels.addLevel} library function for more details\n Emits a {IStargateNFT.LevelUpdated} event\n Emits a {IStargateNFT.LevelCirculatingSupplyUpdated} event\n Emits a {IStargateNFT.LevelCapUpdated} event"},"functionSelector":"e2540d8a","id":72338,"implemented":false,"kind":"function","modifiers":[],"name":"addLevel","nameLocation":"7133:8:132","nodeType":"FunctionDefinition","parameters":{"id":72336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72335,"mutability":"mutable","name":"_levelAndSupply","nameLocation":"7174:15:132","nodeType":"VariableDeclaration","scope":72338,"src":"7142:47:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_LevelAndSupply_$71314_memory_ptr","typeString":"struct DataTypes.LevelAndSupply"},"typeName":{"id":72334,"nodeType":"UserDefinedTypeName","pathNode":{"id":72333,"name":"DataTypes.LevelAndSupply","nameLocations":["7142:9:132","7152:14:132"],"nodeType":"IdentifierPath","referencedDeclaration":71314,"src":"7142:24:132"},"referencedDeclaration":71314,"src":"7142:24:132","typeDescriptions":{"typeIdentifier":"t_struct$_LevelAndSupply_$71314_storage_ptr","typeString":"struct DataTypes.LevelAndSupply"}},"visibility":"internal"}],"src":"7141:49:132"},"returnParameters":{"id":72337,"nodeType":"ParameterList","parameters":[],"src":"7199:0:132"},"scope":72687,"src":"7124:76:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72339,"nodeType":"StructuredDocumentation","src":"7206:114:132","text":"@notice Returns a list of all token level spec IDs\n @return levelIds - The list of token level spec IDs"},"functionSelector":"724b4fcf","id":72345,"implemented":false,"kind":"function","modifiers":[],"name":"getLevelIds","nameLocation":"7334:11:132","nodeType":"FunctionDefinition","parameters":{"id":72340,"nodeType":"ParameterList","parameters":[],"src":"7345:2:132"},"returnParameters":{"id":72344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72345,"src":"7371:14:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":72341,"name":"uint8","nodeType":"ElementaryTypeName","src":"7371:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":72342,"nodeType":"ArrayTypeName","src":"7371:7:132","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"7370:16:132"},"scope":72687,"src":"7325:62:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72346,"nodeType":"StructuredDocumentation","src":"7393:169:132","text":"@notice Returns a token level spec for a given level ID\n @param _levelId The ID of the token level spec to return\n @return Level - The token level spec"},"functionSelector":"6d779991","id":72354,"implemented":false,"kind":"function","modifiers":[],"name":"getLevel","nameLocation":"7576:8:132","nodeType":"FunctionDefinition","parameters":{"id":72349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72348,"mutability":"mutable","name":"_levelId","nameLocation":"7591:8:132","nodeType":"VariableDeclaration","scope":72354,"src":"7585:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72347,"name":"uint8","nodeType":"ElementaryTypeName","src":"7585:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7584:16:132"},"returnParameters":{"id":72353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72352,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72354,"src":"7624:22:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Level_$71306_memory_ptr","typeString":"struct DataTypes.Level"},"typeName":{"id":72351,"nodeType":"UserDefinedTypeName","pathNode":{"id":72350,"name":"DataTypes.Level","nameLocations":["7624:9:132","7634:5:132"],"nodeType":"IdentifierPath","referencedDeclaration":71306,"src":"7624:15:132"},"referencedDeclaration":71306,"src":"7624:15:132","typeDescriptions":{"typeIdentifier":"t_struct$_Level_$71306_storage_ptr","typeString":"struct DataTypes.Level"}},"visibility":"internal"}],"src":"7623:24:132"},"scope":72687,"src":"7567:81:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72355,"nodeType":"StructuredDocumentation","src":"7654:106:132","text":"@notice Returns a list of all token level specs\n @return levels - The list of token level specs"},"functionSelector":"0c394a60","id":72362,"implemented":false,"kind":"function","modifiers":[],"name":"getLevels","nameLocation":"7774:9:132","nodeType":"FunctionDefinition","parameters":{"id":72356,"nodeType":"ParameterList","parameters":[],"src":"7783:2:132"},"returnParameters":{"id":72361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72360,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72362,"src":"7809:24:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Level_$71306_memory_ptr_$dyn_memory_ptr","typeString":"struct DataTypes.Level[]"},"typeName":{"baseType":{"id":72358,"nodeType":"UserDefinedTypeName","pathNode":{"id":72357,"name":"DataTypes.Level","nameLocations":["7809:9:132","7819:5:132"],"nodeType":"IdentifierPath","referencedDeclaration":71306,"src":"7809:15:132"},"referencedDeclaration":71306,"src":"7809:15:132","typeDescriptions":{"typeIdentifier":"t_struct$_Level_$71306_storage_ptr","typeString":"struct DataTypes.Level"}},"id":72359,"nodeType":"ArrayTypeName","src":"7809:17:132","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Level_$71306_storage_$dyn_storage_ptr","typeString":"struct DataTypes.Level[]"}},"visibility":"internal"}],"src":"7808:26:132"},"scope":72687,"src":"7765:70:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72363,"nodeType":"StructuredDocumentation","src":"7841:166:132","text":"@notice Returns the circulating supply for all levels\n @return circulatingSupplies An array of circulating supply values for all levels, sorted by level id"},"functionSelector":"29f7540b","id":72369,"implemented":false,"kind":"function","modifiers":[],"name":"getLevelsCirculatingSupplies","nameLocation":"8021:28:132","nodeType":"FunctionDefinition","parameters":{"id":72364,"nodeType":"ParameterList","parameters":[],"src":"8049:2:132"},"returnParameters":{"id":72368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72369,"src":"8075:16:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint208_$dyn_memory_ptr","typeString":"uint208[]"},"typeName":{"baseType":{"id":72365,"name":"uint208","nodeType":"ElementaryTypeName","src":"8075:7:132","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":72366,"nodeType":"ArrayTypeName","src":"8075:9:132","typeDescriptions":{"typeIdentifier":"t_array$_t_uint208_$dyn_storage_ptr","typeString":"uint208[]"}},"visibility":"internal"}],"src":"8074:18:132"},"scope":72687,"src":"8012:81:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72370,"nodeType":"StructuredDocumentation","src":"8099:264:132","text":"@notice Returns the circulating supply and cap for a given token level\n @param _levelId The ID of the token level to get supply data for\n @return circulating The circulating supply of the token level\n @return cap The cap of the token level"},"functionSelector":"0c0f1c84","id":72379,"implemented":false,"kind":"function","modifiers":[],"name":"getLevelSupply","nameLocation":"8377:14:132","nodeType":"FunctionDefinition","parameters":{"id":72373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72372,"mutability":"mutable","name":"_levelId","nameLocation":"8398:8:132","nodeType":"VariableDeclaration","scope":72379,"src":"8392:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72371,"name":"uint8","nodeType":"ElementaryTypeName","src":"8392:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8391:16:132"},"returnParameters":{"id":72378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72375,"mutability":"mutable","name":"circulating","nameLocation":"8439:11:132","nodeType":"VariableDeclaration","scope":72379,"src":"8431:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":72374,"name":"uint208","nodeType":"ElementaryTypeName","src":"8431:7:132","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"},{"constant":false,"id":72377,"mutability":"mutable","name":"cap","nameLocation":"8459:3:132","nodeType":"VariableDeclaration","scope":72379,"src":"8452:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":72376,"name":"uint32","nodeType":"ElementaryTypeName","src":"8452:6:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"8430:33:132"},"scope":72687,"src":"8368:96:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72380,"nodeType":"StructuredDocumentation","src":"8470:306:132","text":"@notice Returns the circulating supply for a given level at a specific block\n @param _levelId The ID of the level to get supply data for\n @param _blockNumber The block number to get the supply at\n @return circulatingSupply The circulating supply of the level at the specified block"},"functionSelector":"aef0c8ee","id":72389,"implemented":false,"kind":"function","modifiers":[],"name":"getCirculatingSupplyAtBlock","nameLocation":"8790:27:132","nodeType":"FunctionDefinition","parameters":{"id":72385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72382,"mutability":"mutable","name":"_levelId","nameLocation":"8833:8:132","nodeType":"VariableDeclaration","scope":72389,"src":"8827:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72381,"name":"uint8","nodeType":"ElementaryTypeName","src":"8827:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72384,"mutability":"mutable","name":"_blockNumber","nameLocation":"8858:12:132","nodeType":"VariableDeclaration","scope":72389,"src":"8851:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":72383,"name":"uint48","nodeType":"ElementaryTypeName","src":"8851:6:132","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"8817:59:132"},"returnParameters":{"id":72388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72387,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72389,"src":"8900:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":72386,"name":"uint208","nodeType":"ElementaryTypeName","src":"8900:7:132","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"8899:9:132"},"scope":72687,"src":"8781:128:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72390,"nodeType":"StructuredDocumentation","src":"8915:251:132","text":"@notice Returns the circulating supply for all levels at a certain block\n @param _blockNumber The block number to get the supply at\n @return circulatingSupplies An array of circulating supply values for all levels, sorted by level id"},"functionSelector":"2c5811da","id":72398,"implemented":false,"kind":"function","modifiers":[],"name":"getLevelsCirculatingSuppliesAtBlock","nameLocation":"9180:35:132","nodeType":"FunctionDefinition","parameters":{"id":72393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72392,"mutability":"mutable","name":"_blockNumber","nameLocation":"9232:12:132","nodeType":"VariableDeclaration","scope":72398,"src":"9225:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":72391,"name":"uint48","nodeType":"ElementaryTypeName","src":"9225:6:132","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"9215:35:132"},"returnParameters":{"id":72397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72396,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72398,"src":"9274:16:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint208_$dyn_memory_ptr","typeString":"uint208[]"},"typeName":{"baseType":{"id":72394,"name":"uint208","nodeType":"ElementaryTypeName","src":"9274:7:132","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":72395,"nodeType":"ArrayTypeName","src":"9274:9:132","typeDescriptions":{"typeIdentifier":"t_array$_t_uint208_$dyn_storage_ptr","typeString":"uint208[]"}},"visibility":"internal"}],"src":"9273:18:132"},"scope":72687,"src":"9171:121:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72399,"nodeType":"StructuredDocumentation","src":"9347:185:132","text":"@notice Get the latest token id that was minted\n @dev Ids start from the total supply of the legacy contrat\n @return currentTokenId the latest token id that was minted"},"functionSelector":"56189236","id":72404,"implemented":false,"kind":"function","modifiers":[],"name":"getCurrentTokenId","nameLocation":"9546:17:132","nodeType":"FunctionDefinition","parameters":{"id":72400,"nodeType":"ParameterList","parameters":[],"src":"9563:2:132"},"returnParameters":{"id":72403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72402,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72404,"src":"9589:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72401,"name":"uint256","nodeType":"ElementaryTypeName","src":"9589:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9588:9:132"},"scope":72687,"src":"9537:61:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72405,"nodeType":"StructuredDocumentation","src":"9604:131:132","text":"@notice Returns a token for a given token ID\n @param _tokenId The ID of the token to get\n @return token The token"},"functionSelector":"e4b50cb8","id":72413,"implemented":false,"kind":"function","modifiers":[],"name":"getToken","nameLocation":"9749:8:132","nodeType":"FunctionDefinition","parameters":{"id":72408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72407,"mutability":"mutable","name":"_tokenId","nameLocation":"9766:8:132","nodeType":"VariableDeclaration","scope":72413,"src":"9758:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72406,"name":"uint256","nodeType":"ElementaryTypeName","src":"9758:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9757:18:132"},"returnParameters":{"id":72412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72413,"src":"9799:22:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Token_$71325_memory_ptr","typeString":"struct DataTypes.Token"},"typeName":{"id":72410,"nodeType":"UserDefinedTypeName","pathNode":{"id":72409,"name":"DataTypes.Token","nameLocations":["9799:9:132","9809:5:132"],"nodeType":"IdentifierPath","referencedDeclaration":71325,"src":"9799:15:132"},"referencedDeclaration":71325,"src":"9799:15:132","typeDescriptions":{"typeIdentifier":"t_struct$_Token_$71325_storage_ptr","typeString":"struct DataTypes.Token"}},"visibility":"internal"}],"src":"9798:24:132"},"scope":72687,"src":"9740:83:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72414,"nodeType":"StructuredDocumentation","src":"9829:149:132","text":"@notice Returns the level ID of a given token\n @param _tokenId - the token ID of the NFT\n @return levelId - the level ID of the NFT"},"functionSelector":"d011645c","id":72421,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenLevel","nameLocation":"9992:13:132","nodeType":"FunctionDefinition","parameters":{"id":72417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72416,"mutability":"mutable","name":"_tokenId","nameLocation":"10014:8:132","nodeType":"VariableDeclaration","scope":72421,"src":"10006:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72415,"name":"uint256","nodeType":"ElementaryTypeName","src":"10006:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10005:18:132"},"returnParameters":{"id":72420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72419,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72421,"src":"10047:5:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72418,"name":"uint8","nodeType":"ElementaryTypeName","src":"10047:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"10046:7:132"},"scope":72687,"src":"9983:71:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72422,"nodeType":"StructuredDocumentation","src":"10060:165:132","text":"@notice Returns the tokens owned by an address\n @param _owner The address to get tokens for\n @return tokens An array of tokens owned by the address"},"functionSelector":"ea66aeb3","id":72431,"implemented":false,"kind":"function","modifiers":[],"name":"tokensOwnedBy","nameLocation":"10239:13:132","nodeType":"FunctionDefinition","parameters":{"id":72425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72424,"mutability":"mutable","name":"_owner","nameLocation":"10261:6:132","nodeType":"VariableDeclaration","scope":72431,"src":"10253:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72423,"name":"address","nodeType":"ElementaryTypeName","src":"10253:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10252:16:132"},"returnParameters":{"id":72430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72431,"src":"10292:24:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr","typeString":"struct DataTypes.Token[]"},"typeName":{"baseType":{"id":72427,"nodeType":"UserDefinedTypeName","pathNode":{"id":72426,"name":"DataTypes.Token","nameLocations":["10292:9:132","10302:5:132"],"nodeType":"IdentifierPath","referencedDeclaration":71325,"src":"10292:15:132"},"referencedDeclaration":71325,"src":"10292:15:132","typeDescriptions":{"typeIdentifier":"t_struct$_Token_$71325_storage_ptr","typeString":"struct DataTypes.Token"}},"id":72428,"nodeType":"ArrayTypeName","src":"10292:17:132","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_storage_$dyn_storage_ptr","typeString":"struct DataTypes.Token[]"}},"visibility":"internal"}],"src":"10291:26:132"},"scope":72687,"src":"10230:88:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72432,"nodeType":"StructuredDocumentation","src":"10324:183:132","text":"@notice Returns the total VET staked by an address\n @param _owner The address to get total VET staked for\n @return totalVetStaked The total VET staked by the address"},"functionSelector":"a780f539","id":72439,"implemented":false,"kind":"function","modifiers":[],"name":"ownerTotalVetStaked","nameLocation":"10521:19:132","nodeType":"FunctionDefinition","parameters":{"id":72435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72434,"mutability":"mutable","name":"_owner","nameLocation":"10549:6:132","nodeType":"VariableDeclaration","scope":72439,"src":"10541:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72433,"name":"address","nodeType":"ElementaryTypeName","src":"10541:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10540:16:132"},"returnParameters":{"id":72438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72439,"src":"10580:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72436,"name":"uint256","nodeType":"ElementaryTypeName","src":"10580:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10579:9:132"},"scope":72687,"src":"10512:77:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72440,"nodeType":"StructuredDocumentation","src":"10595:172:132","text":"@notice Returns a list of token IDs for a given owner\n @param _owner The address of the owner to get token IDs for\n @return tokenIds The list of token IDs"},"functionSelector":"e764c7c4","id":72448,"implemented":false,"kind":"function","modifiers":[],"name":"idsOwnedBy","nameLocation":"10781:10:132","nodeType":"FunctionDefinition","parameters":{"id":72443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72442,"mutability":"mutable","name":"_owner","nameLocation":"10800:6:132","nodeType":"VariableDeclaration","scope":72448,"src":"10792:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72441,"name":"address","nodeType":"ElementaryTypeName","src":"10792:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10791:16:132"},"returnParameters":{"id":72447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72448,"src":"10831:16:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":72444,"name":"uint256","nodeType":"ElementaryTypeName","src":"10831:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72445,"nodeType":"ArrayTypeName","src":"10831:9:132","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"10830:18:132"},"scope":72687,"src":"10772:77:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72449,"nodeType":"StructuredDocumentation","src":"10855:153:132","text":"@notice Returns true if a token exists\n @param _tokenId The ID of the token to check\n @return True if the token exists, false otherwise"},"functionSelector":"00923f9e","id":72456,"implemented":false,"kind":"function","modifiers":[],"name":"tokenExists","nameLocation":"11022:11:132","nodeType":"FunctionDefinition","parameters":{"id":72452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72451,"mutability":"mutable","name":"_tokenId","nameLocation":"11042:8:132","nodeType":"VariableDeclaration","scope":72456,"src":"11034:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72450,"name":"uint256","nodeType":"ElementaryTypeName","src":"11034:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11033:18:132"},"returnParameters":{"id":72455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72456,"src":"11075:4:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72453,"name":"bool","nodeType":"ElementaryTypeName","src":"11075:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11074:6:132"},"scope":72687,"src":"11013:68:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72457,"nodeType":"StructuredDocumentation","src":"11141:228:132","text":"@notice Boosts the maturity period of a token\n @dev This can only be called by the Stargate contract\n @param _tokenId The ID of the token to boost\n @dev Emits a {IStargateNFT.MaturityPeriodBoosted} event"},"functionSelector":"1b55d19e","id":72462,"implemented":false,"kind":"function","modifiers":[],"name":"boost","nameLocation":"11383:5:132","nodeType":"FunctionDefinition","parameters":{"id":72460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72459,"mutability":"mutable","name":"_tokenId","nameLocation":"11397:8:132","nodeType":"VariableDeclaration","scope":72462,"src":"11389:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72458,"name":"uint256","nodeType":"ElementaryTypeName","src":"11389:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11388:18:132"},"returnParameters":{"id":72461,"nodeType":"ParameterList","parameters":[],"src":"11415:0:132"},"scope":72687,"src":"11374:42:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72463,"nodeType":"StructuredDocumentation","src":"11422:228:132","text":"@notice Returns the amount of VTHO required to boost a token's maturity period\n @param _tokenId The ID of the token to boost\n @return boostAmount The amount of VTHO required to boost the token's maturity period"},"functionSelector":"13e09e96","id":72470,"implemented":false,"kind":"function","modifiers":[],"name":"boostAmount","nameLocation":"11664:11:132","nodeType":"FunctionDefinition","parameters":{"id":72466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72465,"mutability":"mutable","name":"_tokenId","nameLocation":"11684:8:132","nodeType":"VariableDeclaration","scope":72470,"src":"11676:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72464,"name":"uint256","nodeType":"ElementaryTypeName","src":"11676:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11675:18:132"},"returnParameters":{"id":72469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72470,"src":"11717:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72467,"name":"uint256","nodeType":"ElementaryTypeName","src":"11717:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11716:9:132"},"scope":72687,"src":"11655:71:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72471,"nodeType":"StructuredDocumentation","src":"11732:234:132","text":"@notice Returns the amount of VTHO required to boost a token's maturity period\n @param _levelId The level ID of the token to boost\n @return boostAmount The amount of VTHO required to boost the token's maturity period"},"functionSelector":"c1ea9258","id":72478,"implemented":false,"kind":"function","modifiers":[],"name":"boostAmountOfLevel","nameLocation":"11980:18:132","nodeType":"FunctionDefinition","parameters":{"id":72474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72473,"mutability":"mutable","name":"_levelId","nameLocation":"12005:8:132","nodeType":"VariableDeclaration","scope":72478,"src":"11999:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72472,"name":"uint8","nodeType":"ElementaryTypeName","src":"11999:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"11998:16:132"},"returnParameters":{"id":72477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72478,"src":"12038:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72475,"name":"uint256","nodeType":"ElementaryTypeName","src":"12038:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12037:9:132"},"scope":72687,"src":"11971:76:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72479,"nodeType":"StructuredDocumentation","src":"12053:197:132","text":"@notice Returns the boost price per block for a given level\n @param _levelId The level ID of the token to boost\n @return boostPricePerBlock The boost price per block for the level"},"functionSelector":"a9fa6f58","id":72486,"implemented":false,"kind":"function","modifiers":[],"name":"boostPricePerBlock","nameLocation":"12264:18:132","nodeType":"FunctionDefinition","parameters":{"id":72482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72481,"mutability":"mutable","name":"_levelId","nameLocation":"12289:8:132","nodeType":"VariableDeclaration","scope":72486,"src":"12283:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72480,"name":"uint8","nodeType":"ElementaryTypeName","src":"12283:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"12282:16:132"},"returnParameters":{"id":72485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72486,"src":"12322:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72483,"name":"uint256","nodeType":"ElementaryTypeName","src":"12322:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12321:9:132"},"scope":72687,"src":"12255:76:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72487,"nodeType":"StructuredDocumentation","src":"12337:217:132","text":"@notice Returns the maturity period end block for a given token\n @param _tokenId The ID of the token to get maturity period end block for\n @return maturityPeriodEndBlock The maturity period end block"},"functionSelector":"a77ad11d","id":72494,"implemented":false,"kind":"function","modifiers":[],"name":"maturityPeriodEndBlock","nameLocation":"12568:22:132","nodeType":"FunctionDefinition","parameters":{"id":72490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72489,"mutability":"mutable","name":"_tokenId","nameLocation":"12599:8:132","nodeType":"VariableDeclaration","scope":72494,"src":"12591:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72488,"name":"uint256","nodeType":"ElementaryTypeName","src":"12591:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12590:18:132"},"returnParameters":{"id":72493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72492,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72494,"src":"12632:6:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72491,"name":"uint64","nodeType":"ElementaryTypeName","src":"12632:6:132","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"12631:8:132"},"scope":72687,"src":"12559:81:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72495,"nodeType":"StructuredDocumentation","src":"12646:210:132","text":"@notice Returns true if a token is in the maturity period\n @param _tokenId The ID of the token to check\n @return isInMaturityPeriod True if the token is in the maturity period, false otherwise"},"functionSelector":"d621517e","id":72502,"implemented":false,"kind":"function","modifiers":[],"name":"isUnderMaturityPeriod","nameLocation":"12870:21:132","nodeType":"FunctionDefinition","parameters":{"id":72498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72497,"mutability":"mutable","name":"_tokenId","nameLocation":"12900:8:132","nodeType":"VariableDeclaration","scope":72502,"src":"12892:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72496,"name":"uint256","nodeType":"ElementaryTypeName","src":"12892:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12891:18:132"},"returnParameters":{"id":72501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72500,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72502,"src":"12933:4:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72499,"name":"bool","nodeType":"ElementaryTypeName","src":"12933:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12932:6:132"},"scope":72687,"src":"12861:78:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72503,"nodeType":"StructuredDocumentation","src":"13002:503:132","text":"@notice Adds a manager to a token\n @dev This manager can use the token for voting on VeVote\n or in B3TR but it cant calim rewards for themselves, transfer,\n delegate or unstake the token\n @dev If a token already has a manager, it will be removed and\n the new manager will be added\n @param _manager The address of the manager to add\n @param _tokenId The ID of the token to add the manager to\n @dev Emits a {IStargateNFT.TokenManagerAdded} event"},"functionSelector":"0c72580f","id":72510,"implemented":false,"kind":"function","modifiers":[],"name":"addTokenManager","nameLocation":"13519:15:132","nodeType":"FunctionDefinition","parameters":{"id":72508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72505,"mutability":"mutable","name":"_manager","nameLocation":"13543:8:132","nodeType":"VariableDeclaration","scope":72510,"src":"13535:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72504,"name":"address","nodeType":"ElementaryTypeName","src":"13535:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72507,"mutability":"mutable","name":"_tokenId","nameLocation":"13561:8:132","nodeType":"VariableDeclaration","scope":72510,"src":"13553:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72506,"name":"uint256","nodeType":"ElementaryTypeName","src":"13553:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13534:36:132"},"returnParameters":{"id":72509,"nodeType":"ParameterList","parameters":[],"src":"13579:0:132"},"scope":72687,"src":"13510:70:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72511,"nodeType":"StructuredDocumentation","src":"13586:419:132","text":"@notice Removes a manager from a token\n @dev This manager can no longer use the token for voting on VeVote\n or in B3TR but it can still claim rewards for themselves, transfer,\n delegate or unstake the token\n @dev If a token has no manager, it will revert\n @param _tokenId The ID of the token to remove the manager from\n @dev Emits a {IStargateNFT.TokenManagerRemoved} event"},"functionSelector":"d4dfed36","id":72516,"implemented":false,"kind":"function","modifiers":[],"name":"removeTokenManager","nameLocation":"14019:18:132","nodeType":"FunctionDefinition","parameters":{"id":72514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72513,"mutability":"mutable","name":"_tokenId","nameLocation":"14046:8:132","nodeType":"VariableDeclaration","scope":72516,"src":"14038:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72512,"name":"uint256","nodeType":"ElementaryTypeName","src":"14038:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14037:18:132"},"returnParameters":{"id":72515,"nodeType":"ParameterList","parameters":[],"src":"14064:0:132"},"scope":72687,"src":"14010:55:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72517,"nodeType":"StructuredDocumentation","src":"14071:242:132","text":"@notice Returns the manager of a token, if the token does not have a manager\n it will return the owner of the token\n @param _tokenId The ID of the token to get the manager for\n @return manager The manager of the token"},"functionSelector":"692b26ff","id":72524,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenManager","nameLocation":"14327:15:132","nodeType":"FunctionDefinition","parameters":{"id":72520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72519,"mutability":"mutable","name":"_tokenId","nameLocation":"14351:8:132","nodeType":"VariableDeclaration","scope":72524,"src":"14343:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72518,"name":"uint256","nodeType":"ElementaryTypeName","src":"14343:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14342:18:132"},"returnParameters":{"id":72523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72524,"src":"14384:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72521,"name":"address","nodeType":"ElementaryTypeName","src":"14384:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14383:9:132"},"scope":72687,"src":"14318:75:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72525,"nodeType":"StructuredDocumentation","src":"14399:356:132","text":"@notice Returns the list of:\n 1) Token ids managed by the user\n 2) Token ids owned by the user and not managed by someone else\n Token ids owned by the user, but managed by others, won't be returned\n @param _user The address of the user to get the tokens for\n @return tokenIds The list of token ids managed by the user"},"functionSelector":"afad8f5e","id":72533,"implemented":false,"kind":"function","modifiers":[],"name":"idsManagedBy","nameLocation":"14769:12:132","nodeType":"FunctionDefinition","parameters":{"id":72528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72527,"mutability":"mutable","name":"_user","nameLocation":"14790:5:132","nodeType":"VariableDeclaration","scope":72533,"src":"14782:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72526,"name":"address","nodeType":"ElementaryTypeName","src":"14782:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14781:15:132"},"returnParameters":{"id":72532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72533,"src":"14820:16:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":72529,"name":"uint256","nodeType":"ElementaryTypeName","src":"14820:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72530,"nodeType":"ArrayTypeName","src":"14820:9:132","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"14819:18:132"},"scope":72687,"src":"14760:78:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72534,"nodeType":"StructuredDocumentation","src":"14844:342:132","text":"@notice Returns the list of:\n 1) Tokens managed by the user\n 2) Tokens owned by the user and not managed by someone else\n Tokens owned by the user, but managed by others, won't be returned\n @param _user The address of the user to get the tokens for\n @return tokens The list of tokens managed by the user"},"functionSelector":"cd2c6efe","id":72543,"implemented":false,"kind":"function","modifiers":[],"name":"tokensManagedBy","nameLocation":"15200:15:132","nodeType":"FunctionDefinition","parameters":{"id":72537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72536,"mutability":"mutable","name":"_user","nameLocation":"15224:5:132","nodeType":"VariableDeclaration","scope":72543,"src":"15216:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72535,"name":"address","nodeType":"ElementaryTypeName","src":"15216:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15215:15:132"},"returnParameters":{"id":72542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72543,"src":"15254:24:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr","typeString":"struct DataTypes.Token[]"},"typeName":{"baseType":{"id":72539,"nodeType":"UserDefinedTypeName","pathNode":{"id":72538,"name":"DataTypes.Token","nameLocations":["15254:9:132","15264:5:132"],"nodeType":"IdentifierPath","referencedDeclaration":71325,"src":"15254:15:132"},"referencedDeclaration":71325,"src":"15254:15:132","typeDescriptions":{"typeIdentifier":"t_struct$_Token_$71325_storage_ptr","typeString":"struct DataTypes.Token"}},"id":72540,"nodeType":"ArrayTypeName","src":"15254:17:132","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_storage_$dyn_storage_ptr","typeString":"struct DataTypes.Token[]"}},"visibility":"internal"}],"src":"15253:26:132"},"scope":72687,"src":"15191:89:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72544,"nodeType":"StructuredDocumentation","src":"15286:248:132","text":"@notice Checks if an address is a manager of a token\n @param _manager The address of the manager to check\n @param _tokenId The ID of the token to check\n @return True if the address is a manager of the token, false otherwise"},"functionSelector":"32ebc612","id":72553,"implemented":false,"kind":"function","modifiers":[],"name":"isTokenManager","nameLocation":"15548:14:132","nodeType":"FunctionDefinition","parameters":{"id":72549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72546,"mutability":"mutable","name":"_manager","nameLocation":"15571:8:132","nodeType":"VariableDeclaration","scope":72553,"src":"15563:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72545,"name":"address","nodeType":"ElementaryTypeName","src":"15563:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72548,"mutability":"mutable","name":"_tokenId","nameLocation":"15589:8:132","nodeType":"VariableDeclaration","scope":72553,"src":"15581:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72547,"name":"uint256","nodeType":"ElementaryTypeName","src":"15581:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15562:36:132"},"returnParameters":{"id":72552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72553,"src":"15622:4:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72550,"name":"bool","nodeType":"ElementaryTypeName","src":"15622:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15621:6:132"},"scope":72687,"src":"15539:89:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72554,"nodeType":"StructuredDocumentation","src":"15634:181:132","text":"@notice Checks if a token is managed by the owner\n @param _tokenId The ID of the token to check\n @return True if the token is managed by the owner, false otherwise"},"functionSelector":"8419de89","id":72561,"implemented":false,"kind":"function","modifiers":[],"name":"isManagedByOwner","nameLocation":"15829:16:132","nodeType":"FunctionDefinition","parameters":{"id":72557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72556,"mutability":"mutable","name":"_tokenId","nameLocation":"15854:8:132","nodeType":"VariableDeclaration","scope":72561,"src":"15846:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72555,"name":"uint256","nodeType":"ElementaryTypeName","src":"15846:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15845:18:132"},"returnParameters":{"id":72560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72561,"src":"15887:4:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72558,"name":"bool","nodeType":"ElementaryTypeName","src":"15887:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15886:6:132"},"scope":72687,"src":"15820:73:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72562,"nodeType":"StructuredDocumentation","src":"15899:544:132","text":"@notice Function to get the overview of the tokens related to a user\n A token is related to a user if it is owned by the user or if it is managed by the user\n This includes:\n - Tokens owned by the user and managed by the user\n - Tokens owned by the user and not managed by the user\n - Tokens managed by the user and not owned by the user\n @param _user The address of the user to get the overview of the tokens\n @return DataTypes.TokenOverview[] The overview of the tokens related to the user"},"functionSelector":"05a03f50","id":72571,"implemented":false,"kind":"function","modifiers":[],"name":"tokensOverview","nameLocation":"16457:14:132","nodeType":"FunctionDefinition","parameters":{"id":72565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72564,"mutability":"mutable","name":"_user","nameLocation":"16480:5:132","nodeType":"VariableDeclaration","scope":72571,"src":"16472:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72563,"name":"address","nodeType":"ElementaryTypeName","src":"16472:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16471:15:132"},"returnParameters":{"id":72570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72569,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72571,"src":"16510:32:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenOverview_$71346_memory_ptr_$dyn_memory_ptr","typeString":"struct DataTypes.TokenOverview[]"},"typeName":{"baseType":{"id":72567,"nodeType":"UserDefinedTypeName","pathNode":{"id":72566,"name":"DataTypes.TokenOverview","nameLocations":["16510:9:132","16520:13:132"],"nodeType":"IdentifierPath","referencedDeclaration":71346,"src":"16510:23:132"},"referencedDeclaration":71346,"src":"16510:23:132","typeDescriptions":{"typeIdentifier":"t_struct$_TokenOverview_$71346_storage_ptr","typeString":"struct DataTypes.TokenOverview"}},"id":72568,"nodeType":"ArrayTypeName","src":"16510:25:132","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenOverview_$71346_storage_$dyn_storage_ptr","typeString":"struct DataTypes.TokenOverview[]"}},"visibility":"internal"}],"src":"16509:34:132"},"scope":72687,"src":"16448:96:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72572,"nodeType":"StructuredDocumentation","src":"16602:326:132","text":"@notice Sets the base URI for the token collection metadata\n @dev Only the MANAGER_ROLE can call this function\n @dev Metadata is hosted on IPFS, and the base URI is the base path to the collection metadata\n @param _baseTokenURI The new base URI\n @dev Emits a {IStargateNFT.BaseURIUpdated} event"},"functionSelector":"55f804b3","id":72577,"implemented":false,"kind":"function","modifiers":[],"name":"setBaseURI","nameLocation":"16942:10:132","nodeType":"FunctionDefinition","parameters":{"id":72575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72574,"mutability":"mutable","name":"_baseTokenURI","nameLocation":"16967:13:132","nodeType":"VariableDeclaration","scope":72577,"src":"16953:27:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72573,"name":"string","nodeType":"ElementaryTypeName","src":"16953:6:132","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16952:29:132"},"returnParameters":{"id":72576,"nodeType":"ParameterList","parameters":[],"src":"16990:0:132"},"scope":72687,"src":"16933:58:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72578,"nodeType":"StructuredDocumentation","src":"16997:112:132","text":"@notice Returns the base URI for the token collection metadata\n @return baseURI - the base URI string"},"functionSelector":"6c0360eb","id":72583,"implemented":false,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"17123:7:132","nodeType":"FunctionDefinition","parameters":{"id":72579,"nodeType":"ParameterList","parameters":[],"src":"17130:2:132"},"returnParameters":{"id":72582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72581,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72583,"src":"17156:13:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72580,"name":"string","nodeType":"ElementaryTypeName","src":"17156:6:132","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17155:15:132"},"scope":72687,"src":"17114:57:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72584,"nodeType":"StructuredDocumentation","src":"17229:281:132","text":"@notice Mints a token from the StargateNFT contract\n @dev This can only be called by the Stargate contract\n @param _levelId The ID of the token level to mint\n @param _to The address to mint the token to\n @dev Emits a {IStargateNFT.TokenMinted} event"},"functionSelector":"7bf75f6c","id":72593,"implemented":false,"kind":"function","modifiers":[],"name":"mint","nameLocation":"17524:4:132","nodeType":"FunctionDefinition","parameters":{"id":72589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72586,"mutability":"mutable","name":"_levelId","nameLocation":"17535:8:132","nodeType":"VariableDeclaration","scope":72593,"src":"17529:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72585,"name":"uint8","nodeType":"ElementaryTypeName","src":"17529:5:132","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72588,"mutability":"mutable","name":"_to","nameLocation":"17553:3:132","nodeType":"VariableDeclaration","scope":72593,"src":"17545:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72587,"name":"address","nodeType":"ElementaryTypeName","src":"17545:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17528:29:132"},"returnParameters":{"id":72592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72591,"mutability":"mutable","name":"tokenId","nameLocation":"17584:7:132","nodeType":"VariableDeclaration","scope":72593,"src":"17576:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72590,"name":"uint256","nodeType":"ElementaryTypeName","src":"17576:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17575:17:132"},"scope":72687,"src":"17515:78:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72594,"nodeType":"StructuredDocumentation","src":"17599:223:132","text":"@notice Burns a token from the StargateNFT contract\n @dev This can only be called by the Stargate contract\n @param _tokenId The ID of the token to burn\n @dev Emits a {IStargateNFT.TokenBurned} event"},"functionSelector":"42966c68","id":72599,"implemented":false,"kind":"function","modifiers":[],"name":"burn","nameLocation":"17836:4:132","nodeType":"FunctionDefinition","parameters":{"id":72597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72596,"mutability":"mutable","name":"_tokenId","nameLocation":"17849:8:132","nodeType":"VariableDeclaration","scope":72599,"src":"17841:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72595,"name":"uint256","nodeType":"ElementaryTypeName","src":"17841:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17840:18:132"},"returnParameters":{"id":72598,"nodeType":"ParameterList","parameters":[],"src":"17867:0:132"},"scope":72687,"src":"17827:41:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72600,"nodeType":"StructuredDocumentation","src":"17874:375:132","text":"@notice Migrates a token from the legacy nodes contract to StargateNFT to the same owner address\n as the owner of the token in the legacy nodes contract\n @dev This can only be called by the Stargate contract\n @param _tokenId The ID of the token to migrate\n @dev Emits a {IStargateNFT.TokenMinted} event and a {IStargateNFT.TokenMigrated} event"},"functionSelector":"454b0608","id":72605,"implemented":false,"kind":"function","modifiers":[],"name":"migrate","nameLocation":"18263:7:132","nodeType":"FunctionDefinition","parameters":{"id":72603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72602,"mutability":"mutable","name":"_tokenId","nameLocation":"18279:8:132","nodeType":"VariableDeclaration","scope":72605,"src":"18271:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72601,"name":"uint256","nodeType":"ElementaryTypeName","src":"18271:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18270:18:132"},"returnParameters":{"id":72604,"nodeType":"ParameterList","parameters":[],"src":"18297:0:132"},"scope":72687,"src":"18254:44:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72606,"nodeType":"StructuredDocumentation","src":"18304:286:132","text":"@notice Boosts the maturity period of a token\n @dev This can only be called by the Stargate contract\n @param _sender The address to boost the token for\n @param _tokenId The ID of the token to boost\n @dev Emits a {IStargateNFT.MaturityPeriodBoosted} event"},"functionSelector":"996fa255","id":72613,"implemented":false,"kind":"function","modifiers":[],"name":"boostOnBehalfOf","nameLocation":"18604:15:132","nodeType":"FunctionDefinition","parameters":{"id":72611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72608,"mutability":"mutable","name":"_sender","nameLocation":"18628:7:132","nodeType":"VariableDeclaration","scope":72613,"src":"18620:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72607,"name":"address","nodeType":"ElementaryTypeName","src":"18620:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72610,"mutability":"mutable","name":"_tokenId","nameLocation":"18645:8:132","nodeType":"VariableDeclaration","scope":72613,"src":"18637:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72609,"name":"uint256","nodeType":"ElementaryTypeName","src":"18637:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18619:35:132"},"returnParameters":{"id":72612,"nodeType":"ParameterList","parameters":[],"src":"18663:0:132"},"scope":72687,"src":"18595:69:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72614,"nodeType":"StructuredDocumentation","src":"18670:105:132","text":"@notice Returns the address of the Stargate contract\n @return stargate - the Stargate contract"},"functionSelector":"736f9035","id":72619,"implemented":false,"kind":"function","modifiers":[],"name":"getStargate","nameLocation":"18789:11:132","nodeType":"FunctionDefinition","parameters":{"id":72615,"nodeType":"ParameterList","parameters":[],"src":"18800:2:132"},"returnParameters":{"id":72618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72617,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72619,"src":"18826:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72616,"name":"address","nodeType":"ElementaryTypeName","src":"18826:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18825:9:132"},"scope":72687,"src":"18780:55:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72620,"nodeType":"StructuredDocumentation","src":"18890:99:132","text":"@notice Returns the current block number\n @return blockNumber - the current block number"},"functionSelector":"91ddadf4","id":72625,"implemented":false,"kind":"function","modifiers":[],"name":"clock","nameLocation":"19003:5:132","nodeType":"FunctionDefinition","parameters":{"id":72621,"nodeType":"ParameterList","parameters":[],"src":"19008:2:132"},"returnParameters":{"id":72624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72623,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72625,"src":"19034:6:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":72622,"name":"uint48","nodeType":"ElementaryTypeName","src":"19034:6:132","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"19033:8:132"},"scope":72687,"src":"18994:48:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72626,"nodeType":"StructuredDocumentation","src":"19048:34:132","text":"@notice Returns the clock mode"},"functionSelector":"4bf5d7e9","id":72631,"implemented":false,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"19096:10:132","nodeType":"FunctionDefinition","parameters":{"id":72627,"nodeType":"ParameterList","parameters":[],"src":"19106:2:132"},"returnParameters":{"id":72630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72631,"src":"19132:13:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72628,"name":"string","nodeType":"ElementaryTypeName","src":"19132:6:132","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19131:15:132"},"scope":72687,"src":"19087:60:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72632,"nodeType":"StructuredDocumentation","src":"19153:91:132","text":"@notice Returns the current timestamp\n @return timestamp - the current timestamp"},"functionSelector":"b80777ea","id":72637,"implemented":false,"kind":"function","modifiers":[],"name":"timestamp","nameLocation":"19258:9:132","nodeType":"FunctionDefinition","parameters":{"id":72633,"nodeType":"ParameterList","parameters":[],"src":"19267:2:132"},"returnParameters":{"id":72636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72637,"src":"19293:6:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":72634,"name":"uint48","nodeType":"ElementaryTypeName","src":"19293:6:132","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"19292:8:132"},"scope":72687,"src":"19249:52:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72638,"nodeType":"StructuredDocumentation","src":"19355:110:132","text":"@notice Returns the address of the VTHO token contract\n @return vthoToken - the VTHO token contract"},"functionSelector":"1e813caf","id":72643,"implemented":false,"kind":"function","modifiers":[],"name":"getVthoTokenAddress","nameLocation":"19479:19:132","nodeType":"FunctionDefinition","parameters":{"id":72639,"nodeType":"ParameterList","parameters":[],"src":"19498:2:132"},"returnParameters":{"id":72642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72643,"src":"19524:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72640,"name":"address","nodeType":"ElementaryTypeName","src":"19524:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19523:9:132"},"scope":72687,"src":"19470:63:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72644,"nodeType":"StructuredDocumentation","src":"19595:214:132","text":"@notice Returns the number of X tokens in circulation\n @dev Get the count of normal tokens by subtracting the count of X tokens from the total supply\n @return xTokensCount - the number of X tokens"},"functionSelector":"e1fac594","id":72649,"implemented":false,"kind":"function","modifiers":[],"name":"xTokensCount","nameLocation":"19823:12:132","nodeType":"FunctionDefinition","parameters":{"id":72645,"nodeType":"ParameterList","parameters":[],"src":"19835:2:132"},"returnParameters":{"id":72648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72649,"src":"19861:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":72646,"name":"uint208","nodeType":"ElementaryTypeName","src":"19861:7:132","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"19860:9:132"},"scope":72687,"src":"19814:56:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72650,"nodeType":"StructuredDocumentation","src":"19876:169:132","text":"@notice Checks if an owner owns an X token\n @param _owner The address of the owner to check\n @return True if the owner owns an X token, false otherwise"},"functionSelector":"a4984009","id":72657,"implemented":false,"kind":"function","modifiers":[],"name":"ownsXToken","nameLocation":"20059:10:132","nodeType":"FunctionDefinition","parameters":{"id":72653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72652,"mutability":"mutable","name":"_owner","nameLocation":"20078:6:132","nodeType":"VariableDeclaration","scope":72657,"src":"20070:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72651,"name":"address","nodeType":"ElementaryTypeName","src":"20070:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20069:16:132"},"returnParameters":{"id":72656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72657,"src":"20109:4:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72654,"name":"bool","nodeType":"ElementaryTypeName","src":"20109:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20108:6:132"},"scope":72687,"src":"20050:65:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72658,"nodeType":"StructuredDocumentation","src":"20121:161:132","text":"@notice Checks if a token is an X token\n @param _tokenId The ID of the token to check\n @return True if the token is an X token, false otherwise"},"functionSelector":"f0572485","id":72665,"implemented":false,"kind":"function","modifiers":[],"name":"isXToken","nameLocation":"20296:8:132","nodeType":"FunctionDefinition","parameters":{"id":72661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72660,"mutability":"mutable","name":"_tokenId","nameLocation":"20313:8:132","nodeType":"VariableDeclaration","scope":72665,"src":"20305:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72659,"name":"uint256","nodeType":"ElementaryTypeName","src":"20305:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20304:18:132"},"returnParameters":{"id":72664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72665,"src":"20346:4:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72662,"name":"bool","nodeType":"ElementaryTypeName","src":"20346:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20345:6:132"},"scope":72687,"src":"20287:65:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72666,"nodeType":"StructuredDocumentation","src":"20358:101:132","text":"@notice Returns the legacy nodes contract\n @return legacyNodes - the legacy nodes contract"},"functionSelector":"59c87d14","id":72672,"implemented":false,"kind":"function","modifiers":[],"name":"legacyNodes","nameLocation":"20473:11:132","nodeType":"FunctionDefinition","parameters":{"id":72667,"nodeType":"ParameterList","parameters":[],"src":"20484:2:132"},"returnParameters":{"id":72671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72670,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72672,"src":"20510:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"},"typeName":{"id":72669,"nodeType":"UserDefinedTypeName","pathNode":{"id":72668,"name":"ITokenAuction","nameLocations":["20510:13:132"],"nodeType":"IdentifierPath","referencedDeclaration":73165,"src":"20510:13:132"},"referencedDeclaration":73165,"src":"20510:13:132","typeDescriptions":{"typeIdentifier":"t_contract$_ITokenAuction_$73165","typeString":"contract ITokenAuction"}},"visibility":"internal"}],"src":"20509:15:132"},"scope":72687,"src":"20464:61:132","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":72673,"nodeType":"StructuredDocumentation","src":"20584:873:132","text":"@notice Transfers the balance of the contract to the Stargate contract\n @dev This function was created after the refactor on the StargateNFT and Stargate\n contracts. After the refactor, all VET is handled by Stargate, this means\n stake, stakeAndDelegate, unstake... functions were moved to the Stargate.\n Since up until now we were using the StagateNFT contract to handle the VET,\n we need to transfer back all the previous staked VET to the Stargate\n so user can delegate it and unstake it. This functions transfers all the VET\n to the Stargate contract in one go.\n This function is called by the admin after the upgrade to V3 and the\n Stargate variable is set to the correct value\n @dev Only the DEFAULT_ADMIN_ROLE can call this function\n @dev Emits a {IStargateNFT.VetTransferFailed} event"},"functionSelector":"8a60c4c1","id":72678,"implemented":false,"kind":"function","modifiers":[],"name":"transferBalance","nameLocation":"21471:15:132","nodeType":"FunctionDefinition","parameters":{"id":72676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72675,"mutability":"mutable","name":"amount","nameLocation":"21495:6:132","nodeType":"VariableDeclaration","scope":72678,"src":"21487:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72674,"name":"uint256","nodeType":"ElementaryTypeName","src":"21487:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21486:16:132"},"returnParameters":{"id":72677,"nodeType":"ParameterList","parameters":[],"src":"21511:0:132"},"scope":72687,"src":"21462:50:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":72679,"nodeType":"StructuredDocumentation","src":"21518:362:132","text":"@notice Migrate a token manager to the StargateNFT contract, this function is only callable by the DEFAULT_ADMIN_ROLE\n so we can migrate the storage from NodeManagementV3 to StargateNFT, after the migration we can remove this function\n @param _tokenId The ID of the token to migrate\n @param _manager The address of the manager to migrate"},"functionSelector":"ecf79966","id":72686,"implemented":false,"kind":"function","modifiers":[],"name":"migrateTokenManager","nameLocation":"21894:19:132","nodeType":"FunctionDefinition","parameters":{"id":72684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72681,"mutability":"mutable","name":"_tokenId","nameLocation":"21922:8:132","nodeType":"VariableDeclaration","scope":72686,"src":"21914:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72680,"name":"uint256","nodeType":"ElementaryTypeName","src":"21914:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72683,"mutability":"mutable","name":"_manager","nameLocation":"21940:8:132","nodeType":"VariableDeclaration","scope":72686,"src":"21932:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72682,"name":"address","nodeType":"ElementaryTypeName","src":"21932:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21913:36:132"},"returnParameters":{"id":72685,"nodeType":"ParameterList","parameters":[],"src":"21958:0:132"},"scope":72687,"src":"21885:74:132","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":72688,"src":"445:21516:132","usedErrors":[],"usedEvents":[5152,5161,5170,72211,72220,72229,72238,72251,72262,72269,72274,72281,72288,72297,72304]}],"src":"32:21930:132"},"id":132},"contracts/mocks/Stargate/interfaces/ITokenAuction.sol":{"ast":{"absolutePath":"contracts/mocks/Stargate/interfaces/ITokenAuction.sol","exportedSymbols":{"ITokenAuction":[73165]},"id":73166,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":72689,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:133"},{"abstract":false,"baseContracts":[],"canonicalName":"ITokenAuction","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":73165,"linearizedBaseContracts":[73165],"name":"ITokenAuction","nameLocation":"67:13:133","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"50417882ac38f5bd0dd968f4b17f72ab38a7bd228eeec270f01466a5724684b4","id":72701,"name":"AuctionCreated","nameLocation":"167:14:133","nodeType":"EventDefinition","parameters":{"id":72700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72691,"indexed":true,"mutability":"mutable","name":"_auctionId","nameLocation":"207:10:133","nodeType":"VariableDeclaration","scope":72701,"src":"191:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72690,"name":"uint256","nodeType":"ElementaryTypeName","src":"191:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72693,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"243:8:133","nodeType":"VariableDeclaration","scope":72701,"src":"227:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72692,"name":"uint256","nodeType":"ElementaryTypeName","src":"227:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72695,"indexed":false,"mutability":"mutable","name":"_startingPrice","nameLocation":"269:14:133","nodeType":"VariableDeclaration","scope":72701,"src":"261:22:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72694,"name":"uint256","nodeType":"ElementaryTypeName","src":"261:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72697,"indexed":false,"mutability":"mutable","name":"_endingPrice","nameLocation":"301:12:133","nodeType":"VariableDeclaration","scope":72701,"src":"293:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72696,"name":"uint256","nodeType":"ElementaryTypeName","src":"293:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72699,"indexed":false,"mutability":"mutable","name":"_duration","nameLocation":"330:9:133","nodeType":"VariableDeclaration","scope":72701,"src":"323:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72698,"name":"uint64","nodeType":"ElementaryTypeName","src":"323:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"181:164:133"},"src":"161:185:133"},{"anonymous":false,"eventSelector":"c2a394cb356728b3540b84dee72ea6de41f44fd94de223565258efe1549ee06f","id":72713,"name":"AuctionSuccessful","nameLocation":"358:17:133","nodeType":"EventDefinition","parameters":{"id":72712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72703,"indexed":true,"mutability":"mutable","name":"_auctionId","nameLocation":"401:10:133","nodeType":"VariableDeclaration","scope":72713,"src":"385:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72702,"name":"uint256","nodeType":"ElementaryTypeName","src":"385:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72705,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"437:8:133","nodeType":"VariableDeclaration","scope":72713,"src":"421:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72704,"name":"uint256","nodeType":"ElementaryTypeName","src":"421:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72707,"indexed":true,"mutability":"mutable","name":"_seller","nameLocation":"471:7:133","nodeType":"VariableDeclaration","scope":72713,"src":"455:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72706,"name":"address","nodeType":"ElementaryTypeName","src":"455:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72709,"indexed":false,"mutability":"mutable","name":"_winner","nameLocation":"496:7:133","nodeType":"VariableDeclaration","scope":72713,"src":"488:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72708,"name":"address","nodeType":"ElementaryTypeName","src":"488:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72711,"indexed":false,"mutability":"mutable","name":"_finalPrice","nameLocation":"521:11:133","nodeType":"VariableDeclaration","scope":72713,"src":"513:19:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72710,"name":"uint256","nodeType":"ElementaryTypeName","src":"513:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"375:163:133"},"src":"352:187:133"},{"anonymous":false,"eventSelector":"c42e7df8c9dcd26c4a8b5134e17fa2481ababcb828e3b316b89b63c57b61f3b8","id":72721,"name":"AddAuctionWhiteList","nameLocation":"551:19:133","nodeType":"EventDefinition","parameters":{"id":72720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72715,"indexed":true,"mutability":"mutable","name":"_auctionId","nameLocation":"596:10:133","nodeType":"VariableDeclaration","scope":72721,"src":"580:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72714,"name":"uint256","nodeType":"ElementaryTypeName","src":"580:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72717,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"632:8:133","nodeType":"VariableDeclaration","scope":72721,"src":"616:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72716,"name":"uint256","nodeType":"ElementaryTypeName","src":"616:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72719,"indexed":true,"mutability":"mutable","name":"_candidate","nameLocation":"666:10:133","nodeType":"VariableDeclaration","scope":72721,"src":"650:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72718,"name":"address","nodeType":"ElementaryTypeName","src":"650:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"570:112:133"},"src":"545:138:133"},{"anonymous":false,"eventSelector":"9bd63f96cf38bbd738ef415c10d8ce738b56b75bbe3b31f6bf2059d35f3a8f3a","id":72729,"name":"RemoveAuctionWhiteList","nameLocation":"695:22:133","nodeType":"EventDefinition","parameters":{"id":72728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72723,"indexed":true,"mutability":"mutable","name":"_auctionId","nameLocation":"743:10:133","nodeType":"VariableDeclaration","scope":72729,"src":"727:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72722,"name":"uint256","nodeType":"ElementaryTypeName","src":"727:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72725,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"779:8:133","nodeType":"VariableDeclaration","scope":72729,"src":"763:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72724,"name":"uint256","nodeType":"ElementaryTypeName","src":"763:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72727,"indexed":true,"mutability":"mutable","name":"_candidate","nameLocation":"813:10:133","nodeType":"VariableDeclaration","scope":72729,"src":"797:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72726,"name":"address","nodeType":"ElementaryTypeName","src":"797:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"717:112:133"},"src":"689:141:133"},{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":72737,"name":"Transfer","nameLocation":"842:8:133","nodeType":"EventDefinition","parameters":{"id":72736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72731,"indexed":true,"mutability":"mutable","name":"_from","nameLocation":"867:5:133","nodeType":"VariableDeclaration","scope":72737,"src":"851:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72730,"name":"address","nodeType":"ElementaryTypeName","src":"851:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72733,"indexed":true,"mutability":"mutable","name":"_to","nameLocation":"890:3:133","nodeType":"VariableDeclaration","scope":72737,"src":"874:19:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72732,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72735,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"911:8:133","nodeType":"VariableDeclaration","scope":72737,"src":"895:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72734,"name":"uint256","nodeType":"ElementaryTypeName","src":"895:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"850:70:133"},"src":"836:85:133"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":72745,"name":"Approval","nameLocation":"933:8:133","nodeType":"EventDefinition","parameters":{"id":72744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72739,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"958:6:133","nodeType":"VariableDeclaration","scope":72745,"src":"942:22:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72738,"name":"address","nodeType":"ElementaryTypeName","src":"942:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72741,"indexed":true,"mutability":"mutable","name":"_approved","nameLocation":"982:9:133","nodeType":"VariableDeclaration","scope":72745,"src":"966:25:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72740,"name":"address","nodeType":"ElementaryTypeName","src":"966:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72743,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"1009:8:133","nodeType":"VariableDeclaration","scope":72745,"src":"993:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72742,"name":"uint256","nodeType":"ElementaryTypeName","src":"993:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"941:77:133"},"src":"927:92:133"},{"anonymous":false,"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","id":72753,"name":"ApprovalForAll","nameLocation":"1031:14:133","nodeType":"EventDefinition","parameters":{"id":72752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72747,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"1062:6:133","nodeType":"VariableDeclaration","scope":72753,"src":"1046:22:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72746,"name":"address","nodeType":"ElementaryTypeName","src":"1046:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72749,"indexed":true,"mutability":"mutable","name":"_operator","nameLocation":"1086:9:133","nodeType":"VariableDeclaration","scope":72753,"src":"1070:25:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72748,"name":"address","nodeType":"ElementaryTypeName","src":"1070:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72751,"indexed":false,"mutability":"mutable","name":"_approved","nameLocation":"1102:9:133","nodeType":"VariableDeclaration","scope":72753,"src":"1097:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72750,"name":"bool","nodeType":"ElementaryTypeName","src":"1097:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1045:67:133"},"src":"1025:88:133"},{"anonymous":false,"eventSelector":"e925483a08461d851abfcfd476ed282a68d87b23cc45add5a8dc7f1ad7825ce9","id":72765,"name":"NewUpgradeApply","nameLocation":"1125:15:133","nodeType":"EventDefinition","parameters":{"id":72764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72755,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"1166:8:133","nodeType":"VariableDeclaration","scope":72765,"src":"1150:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72754,"name":"uint256","nodeType":"ElementaryTypeName","src":"1150:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72757,"indexed":true,"mutability":"mutable","name":"_applier","nameLocation":"1200:8:133","nodeType":"VariableDeclaration","scope":72765,"src":"1184:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72756,"name":"address","nodeType":"ElementaryTypeName","src":"1184:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72759,"indexed":false,"mutability":"mutable","name":"_level","nameLocation":"1224:6:133","nodeType":"VariableDeclaration","scope":72765,"src":"1218:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72758,"name":"uint8","nodeType":"ElementaryTypeName","src":"1218:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72761,"indexed":false,"mutability":"mutable","name":"_applyTime","nameLocation":"1247:10:133","nodeType":"VariableDeclaration","scope":72765,"src":"1240:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72760,"name":"uint64","nodeType":"ElementaryTypeName","src":"1240:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":72763,"indexed":false,"mutability":"mutable","name":"_applyBlockno","nameLocation":"1274:13:133","nodeType":"VariableDeclaration","scope":72765,"src":"1267:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72762,"name":"uint64","nodeType":"ElementaryTypeName","src":"1267:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1140:153:133"},"src":"1119:175:133"},{"anonymous":false,"eventSelector":"ddc99f00cc50e9442de66784f25bd218c8c63f4c4103b817692da0a63fb80a96","id":72771,"name":"CancelUpgrade","nameLocation":"1306:13:133","nodeType":"EventDefinition","parameters":{"id":72770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72767,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"1336:8:133","nodeType":"VariableDeclaration","scope":72771,"src":"1320:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72766,"name":"uint256","nodeType":"ElementaryTypeName","src":"1320:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72769,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"1362:6:133","nodeType":"VariableDeclaration","scope":72771,"src":"1346:22:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72768,"name":"address","nodeType":"ElementaryTypeName","src":"1346:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1319:50:133"},"src":"1300:70:133"},{"anonymous":false,"eventSelector":"b6fd4b2356bc13ccc82da8b790e9bf9bdcfd4743d32dd10aa48189ec53f6bc00","id":72781,"name":"LevelChanged","nameLocation":"1382:12:133","nodeType":"EventDefinition","parameters":{"id":72780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72773,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"1420:8:133","nodeType":"VariableDeclaration","scope":72781,"src":"1404:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72772,"name":"uint256","nodeType":"ElementaryTypeName","src":"1404:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72775,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"1454:6:133","nodeType":"VariableDeclaration","scope":72781,"src":"1438:22:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72774,"name":"address","nodeType":"ElementaryTypeName","src":"1438:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72777,"indexed":false,"mutability":"mutable","name":"_fromLevel","nameLocation":"1476:10:133","nodeType":"VariableDeclaration","scope":72781,"src":"1470:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72776,"name":"uint8","nodeType":"ElementaryTypeName","src":"1470:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":72779,"indexed":false,"mutability":"mutable","name":"_toLevel","nameLocation":"1502:8:133","nodeType":"VariableDeclaration","scope":72781,"src":"1496:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72778,"name":"uint8","nodeType":"ElementaryTypeName","src":"1496:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1394:122:133"},"src":"1376:141:133"},{"anonymous":false,"eventSelector":"db9cc99dc874f9afbae71151f737e51547d3d412b52922793437d86607050c3c","id":72787,"name":"AuctionCancelled","nameLocation":"1529:16:133","nodeType":"EventDefinition","parameters":{"id":72786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72783,"indexed":true,"mutability":"mutable","name":"_auctionId","nameLocation":"1562:10:133","nodeType":"VariableDeclaration","scope":72787,"src":"1546:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72782,"name":"uint256","nodeType":"ElementaryTypeName","src":"1546:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72785,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"1590:8:133","nodeType":"VariableDeclaration","scope":72787,"src":"1574:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72784,"name":"uint256","nodeType":"ElementaryTypeName","src":"1574:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1545:54:133"},"src":"1523:77:133"},{"anonymous":false,"eventSelector":"b69d08e828d243d599db935e2be5ce7ed7b0d2f9c9f712ff469a10a27924deb8","id":72791,"name":"ProtocolUpgrade","nameLocation":"1612:15:133","nodeType":"EventDefinition","parameters":{"id":72790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72789,"indexed":false,"mutability":"mutable","name":"_saleAuction","nameLocation":"1636:12:133","nodeType":"VariableDeclaration","scope":72791,"src":"1628:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72788,"name":"address","nodeType":"ElementaryTypeName","src":"1628:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1627:22:133"},"src":"1606:44:133"},{"anonymous":false,"eventSelector":"966c160e1c4dbc7df8d69af4ace01e9297c3cf016397b7914971f2fbfa32672d","id":72797,"name":"OperatorUpdated","nameLocation":"1662:15:133","nodeType":"EventDefinition","parameters":{"id":72796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72793,"indexed":false,"mutability":"mutable","name":"_op","nameLocation":"1686:3:133","nodeType":"VariableDeclaration","scope":72797,"src":"1678:11:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72792,"name":"address","nodeType":"ElementaryTypeName","src":"1678:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72795,"indexed":false,"mutability":"mutable","name":"_enabled","nameLocation":"1696:8:133","nodeType":"VariableDeclaration","scope":72797,"src":"1691:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72794,"name":"bool","nodeType":"ElementaryTypeName","src":"1691:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1677:28:133"},"src":"1656:50:133"},{"anonymous":false,"eventSelector":"0baadf7b35b83c7d3a00874b5406dca58c60d0ff7d8c825ad02ec55484beb455","id":72803,"name":"BlackListUpdated","nameLocation":"1718:16:133","nodeType":"EventDefinition","parameters":{"id":72802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72799,"indexed":false,"mutability":"mutable","name":"_person","nameLocation":"1743:7:133","nodeType":"VariableDeclaration","scope":72803,"src":"1735:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72798,"name":"address","nodeType":"ElementaryTypeName","src":"1735:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72801,"indexed":false,"mutability":"mutable","name":"_op","nameLocation":"1757:3:133","nodeType":"VariableDeclaration","scope":72803,"src":"1752:8:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72800,"name":"bool","nodeType":"ElementaryTypeName","src":"1752:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1734:27:133"},"src":"1712:50:133"},{"anonymous":false,"eventSelector":"6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625","id":72805,"name":"Pause","nameLocation":"1774:5:133","nodeType":"EventDefinition","parameters":{"id":72804,"nodeType":"ParameterList","parameters":[],"src":"1779:2:133"},"src":"1768:14:133"},{"anonymous":false,"eventSelector":"7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33","id":72807,"name":"Unpause","nameLocation":"1794:7:133","nodeType":"EventDefinition","parameters":{"id":72806,"nodeType":"ParameterList","parameters":[],"src":"1801:2:133"},"src":"1788:16:133"},{"anonymous":false,"eventSelector":"8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","id":72813,"name":"OwnershipTransferred","nameLocation":"1816:20:133","nodeType":"EventDefinition","parameters":{"id":72812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72809,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"1853:13:133","nodeType":"VariableDeclaration","scope":72813,"src":"1837:29:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72808,"name":"address","nodeType":"ElementaryTypeName","src":"1837:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72811,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"1884:8:133","nodeType":"VariableDeclaration","scope":72813,"src":"1868:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72810,"name":"address","nodeType":"ElementaryTypeName","src":"1868:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1836:57:133"},"src":"1810:84:133"},{"functionSelector":"01921197","id":72820,"implemented":false,"kind":"function","modifiers":[],"name":"removeAuctionWhiteList","nameLocation":"1956:22:133","nodeType":"FunctionDefinition","parameters":{"id":72818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72815,"mutability":"mutable","name":"_tokenId","nameLocation":"1987:8:133","nodeType":"VariableDeclaration","scope":72820,"src":"1979:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72814,"name":"uint256","nodeType":"ElementaryTypeName","src":"1979:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72817,"mutability":"mutable","name":"_address","nameLocation":"2005:8:133","nodeType":"VariableDeclaration","scope":72820,"src":"1997:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72816,"name":"address","nodeType":"ElementaryTypeName","src":"1997:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1978:36:133"},"returnParameters":{"id":72819,"nodeType":"ParameterList","parameters":[],"src":"2023:0:133"},"scope":73165,"src":"1947:77:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"01ffc9a7","id":72827,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"2039:17:133","nodeType":"FunctionDefinition","parameters":{"id":72823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72822,"mutability":"mutable","name":"_interfaceId","nameLocation":"2064:12:133","nodeType":"VariableDeclaration","scope":72827,"src":"2057:19:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":72821,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2057:6:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2056:21:133"},"returnParameters":{"id":72826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72825,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72827,"src":"2101:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72824,"name":"bool","nodeType":"ElementaryTypeName","src":"2101:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2100:6:133"},"scope":73165,"src":"2030:77:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"0324529c","id":72834,"implemented":false,"kind":"function","modifiers":[],"name":"sendBonusTo","nameLocation":"2122:11:133","nodeType":"FunctionDefinition","parameters":{"id":72832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72829,"mutability":"mutable","name":"_to","nameLocation":"2142:3:133","nodeType":"VariableDeclaration","scope":72834,"src":"2134:11:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72828,"name":"address","nodeType":"ElementaryTypeName","src":"2134:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72831,"mutability":"mutable","name":"_amount","nameLocation":"2155:7:133","nodeType":"VariableDeclaration","scope":72834,"src":"2147:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72830,"name":"uint256","nodeType":"ElementaryTypeName","src":"2147:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2133:30:133"},"returnParameters":{"id":72833,"nodeType":"ParameterList","parameters":[],"src":"2172:0:133"},"scope":73165,"src":"2113:60:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"06fdde03","id":72839,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"2188:4:133","nodeType":"FunctionDefinition","parameters":{"id":72835,"nodeType":"ParameterList","parameters":[],"src":"2192:2:133"},"returnParameters":{"id":72838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72837,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72839,"src":"2218:13:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72836,"name":"string","nodeType":"ElementaryTypeName","src":"2218:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2217:15:133"},"scope":73165,"src":"2179:54:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"07fa65f9","id":72846,"implemented":false,"kind":"function","modifiers":[],"name":"isNormalToken","nameLocation":"2248:13:133","nodeType":"FunctionDefinition","parameters":{"id":72842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72841,"mutability":"mutable","name":"_target","nameLocation":"2270:7:133","nodeType":"VariableDeclaration","scope":72846,"src":"2262:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72840,"name":"address","nodeType":"ElementaryTypeName","src":"2262:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2261:17:133"},"returnParameters":{"id":72845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72846,"src":"2302:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72843,"name":"bool","nodeType":"ElementaryTypeName","src":"2302:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2301:6:133"},"scope":73165,"src":"2239:69:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"081812fc","id":72853,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"2323:11:133","nodeType":"FunctionDefinition","parameters":{"id":72849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72848,"mutability":"mutable","name":"_tokenId","nameLocation":"2343:8:133","nodeType":"VariableDeclaration","scope":72853,"src":"2335:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72847,"name":"uint256","nodeType":"ElementaryTypeName","src":"2335:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2334:18:133"},"returnParameters":{"id":72852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72853,"src":"2376:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72850,"name":"address","nodeType":"ElementaryTypeName","src":"2376:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2375:9:133"},"scope":73165,"src":"2314:71:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"095ea7b3","id":72860,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2400:7:133","nodeType":"FunctionDefinition","parameters":{"id":72858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72855,"mutability":"mutable","name":"_to","nameLocation":"2416:3:133","nodeType":"VariableDeclaration","scope":72860,"src":"2408:11:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72854,"name":"address","nodeType":"ElementaryTypeName","src":"2408:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72857,"mutability":"mutable","name":"_tokenId","nameLocation":"2429:8:133","nodeType":"VariableDeclaration","scope":72860,"src":"2421:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72856,"name":"uint256","nodeType":"ElementaryTypeName","src":"2421:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2407:31:133"},"returnParameters":{"id":72859,"nodeType":"ParameterList","parameters":[],"src":"2447:0:133"},"scope":73165,"src":"2391:57:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"13e7c9d8","id":72867,"implemented":false,"kind":"function","modifiers":[],"name":"operators","nameLocation":"2463:9:133","nodeType":"FunctionDefinition","parameters":{"id":72863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72862,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72867,"src":"2473:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72861,"name":"address","nodeType":"ElementaryTypeName","src":"2473:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2472:9:133"},"returnParameters":{"id":72866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72865,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72867,"src":"2505:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72864,"name":"bool","nodeType":"ElementaryTypeName","src":"2505:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2504:6:133"},"scope":73165,"src":"2454:57:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"18160ddd","id":72872,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"2526:11:133","nodeType":"FunctionDefinition","parameters":{"id":72868,"nodeType":"ParameterList","parameters":[],"src":"2537:2:133"},"returnParameters":{"id":72871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72870,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72872,"src":"2563:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72869,"name":"uint256","nodeType":"ElementaryTypeName","src":"2563:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2562:9:133"},"scope":73165,"src":"2517:55:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"19f37361","id":72879,"implemented":false,"kind":"function","modifiers":[],"name":"isToken","nameLocation":"2587:7:133","nodeType":"FunctionDefinition","parameters":{"id":72875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72874,"mutability":"mutable","name":"_target","nameLocation":"2603:7:133","nodeType":"VariableDeclaration","scope":72879,"src":"2595:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72873,"name":"address","nodeType":"ElementaryTypeName","src":"2595:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2594:17:133"},"returnParameters":{"id":72878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72879,"src":"2635:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72876,"name":"bool","nodeType":"ElementaryTypeName","src":"2635:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2634:6:133"},"scope":73165,"src":"2578:63:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"19fa8f50","id":72884,"implemented":false,"kind":"function","modifiers":[],"name":"InterfaceId_ERC165","nameLocation":"2656:18:133","nodeType":"FunctionDefinition","parameters":{"id":72880,"nodeType":"ParameterList","parameters":[],"src":"2674:2:133"},"returnParameters":{"id":72883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72882,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72884,"src":"2700:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":72881,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2700:6:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2699:8:133"},"scope":73165,"src":"2647:61:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"1e20363a","id":72889,"implemented":false,"kind":"function","modifiers":[],"name":"setTokenMetadataBaseURI","nameLocation":"2723:23:133","nodeType":"FunctionDefinition","parameters":{"id":72887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72886,"mutability":"mutable","name":"_newBaseURI","nameLocation":"2761:11:133","nodeType":"VariableDeclaration","scope":72889,"src":"2747:25:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72885,"name":"string","nodeType":"ElementaryTypeName","src":"2747:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2746:27:133"},"returnParameters":{"id":72888,"nodeType":"ParameterList","parameters":[],"src":"2782:0:133"},"scope":73165,"src":"2714:69:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"23b872dd","id":72898,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2798:12:133","nodeType":"FunctionDefinition","parameters":{"id":72896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72891,"mutability":"mutable","name":"_from","nameLocation":"2819:5:133","nodeType":"VariableDeclaration","scope":72898,"src":"2811:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72890,"name":"address","nodeType":"ElementaryTypeName","src":"2811:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72893,"mutability":"mutable","name":"_to","nameLocation":"2834:3:133","nodeType":"VariableDeclaration","scope":72898,"src":"2826:11:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72892,"name":"address","nodeType":"ElementaryTypeName","src":"2826:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72895,"mutability":"mutable","name":"_tokenId","nameLocation":"2847:8:133","nodeType":"VariableDeclaration","scope":72898,"src":"2839:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72894,"name":"uint256","nodeType":"ElementaryTypeName","src":"2839:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2810:46:133"},"returnParameters":{"id":72897,"nodeType":"ParameterList","parameters":[],"src":"2865:0:133"},"scope":73165,"src":"2789:77:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"287e8495","id":72911,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenParams","nameLocation":"2881:14:133","nodeType":"FunctionDefinition","parameters":{"id":72901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72900,"mutability":"mutable","name":"_level","nameLocation":"2902:6:133","nodeType":"VariableDeclaration","scope":72911,"src":"2896:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72899,"name":"uint8","nodeType":"ElementaryTypeName","src":"2896:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2895:14:133"},"returnParameters":{"id":72910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72903,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72911,"src":"2933:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72902,"name":"uint256","nodeType":"ElementaryTypeName","src":"2933:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72911,"src":"2942:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72904,"name":"uint64","nodeType":"ElementaryTypeName","src":"2942:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":72907,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72911,"src":"2950:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72906,"name":"uint64","nodeType":"ElementaryTypeName","src":"2950:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":72909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72911,"src":"2958:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72908,"name":"uint64","nodeType":"ElementaryTypeName","src":"2958:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"2932:33:133"},"scope":73165,"src":"2872:94:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"2ad71573","id":72916,"implemented":false,"kind":"function","modifiers":[],"name":"auctionCount","nameLocation":"2981:12:133","nodeType":"FunctionDefinition","parameters":{"id":72912,"nodeType":"ParameterList","parameters":[],"src":"2993:2:133"},"returnParameters":{"id":72915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72914,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72916,"src":"3019:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72913,"name":"uint256","nodeType":"ElementaryTypeName","src":"3019:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3018:9:133"},"scope":73165,"src":"2972:56:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"2c12cc9f","id":72921,"implemented":false,"kind":"function","modifiers":[],"name":"setLeadTime","nameLocation":"3043:11:133","nodeType":"FunctionDefinition","parameters":{"id":72919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72918,"mutability":"mutable","name":"_leadtime","nameLocation":"3062:9:133","nodeType":"VariableDeclaration","scope":72921,"src":"3055:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72917,"name":"uint64","nodeType":"ElementaryTypeName","src":"3055:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3054:18:133"},"returnParameters":{"id":72920,"nodeType":"ParameterList","parameters":[],"src":"3081:0:133"},"scope":73165,"src":"3034:48:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"2ed9b4fd","id":72932,"implemented":false,"kind":"function","modifiers":[],"name":"createDirectionalSaleAuction","nameLocation":"3097:28:133","nodeType":"FunctionDefinition","parameters":{"id":72930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72923,"mutability":"mutable","name":"_tokenId","nameLocation":"3143:8:133","nodeType":"VariableDeclaration","scope":72932,"src":"3135:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72922,"name":"uint256","nodeType":"ElementaryTypeName","src":"3135:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72925,"mutability":"mutable","name":"_price","nameLocation":"3169:6:133","nodeType":"VariableDeclaration","scope":72932,"src":"3161:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":72924,"name":"uint128","nodeType":"ElementaryTypeName","src":"3161:7:133","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":72927,"mutability":"mutable","name":"_duration","nameLocation":"3192:9:133","nodeType":"VariableDeclaration","scope":72932,"src":"3185:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72926,"name":"uint64","nodeType":"ElementaryTypeName","src":"3185:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":72929,"mutability":"mutable","name":"_toAddress","nameLocation":"3219:10:133","nodeType":"VariableDeclaration","scope":72932,"src":"3211:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72928,"name":"address","nodeType":"ElementaryTypeName","src":"3211:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3125:110:133"},"returnParameters":{"id":72931,"nodeType":"ParameterList","parameters":[],"src":"3244:0:133"},"scope":73165,"src":"3088:157:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"3f4ba83a","id":72937,"implemented":false,"kind":"function","modifiers":[],"name":"unpause","nameLocation":"3260:7:133","nodeType":"FunctionDefinition","parameters":{"id":72933,"nodeType":"ParameterList","parameters":[],"src":"3267:2:133"},"returnParameters":{"id":72936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72935,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72937,"src":"3288:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72934,"name":"bool","nodeType":"ElementaryTypeName","src":"3288:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3287:6:133"},"scope":73165,"src":"3251:43:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"417c73a7","id":72942,"implemented":false,"kind":"function","modifiers":[],"name":"addToBlackList","nameLocation":"3309:14:133","nodeType":"FunctionDefinition","parameters":{"id":72940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72939,"mutability":"mutable","name":"_badGuy","nameLocation":"3332:7:133","nodeType":"VariableDeclaration","scope":72942,"src":"3324:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72938,"name":"address","nodeType":"ElementaryTypeName","src":"3324:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3323:17:133"},"returnParameters":{"id":72941,"nodeType":"ParameterList","parameters":[],"src":"3349:0:133"},"scope":73165,"src":"3300:50:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"454a2ab3","id":72947,"implemented":false,"kind":"function","modifiers":[],"name":"bid","nameLocation":"3365:3:133","nodeType":"FunctionDefinition","parameters":{"id":72945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72944,"mutability":"mutable","name":"_tokenId","nameLocation":"3377:8:133","nodeType":"VariableDeclaration","scope":72947,"src":"3369:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72943,"name":"uint256","nodeType":"ElementaryTypeName","src":"3369:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3368:18:133"},"returnParameters":{"id":72946,"nodeType":"ParameterList","parameters":[],"src":"3403:0:133"},"scope":73165,"src":"3356:48:133","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"4838d165","id":72954,"implemented":false,"kind":"function","modifiers":[],"name":"blackList","nameLocation":"3419:9:133","nodeType":"FunctionDefinition","parameters":{"id":72950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72949,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72954,"src":"3429:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72948,"name":"address","nodeType":"ElementaryTypeName","src":"3429:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3428:9:133"},"returnParameters":{"id":72953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72954,"src":"3461:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72951,"name":"bool","nodeType":"ElementaryTypeName","src":"3461:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3460:6:133"},"scope":73165,"src":"3410:57:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4a49ac4c","id":72959,"implemented":false,"kind":"function","modifiers":[],"name":"removeFromBlackList","nameLocation":"3482:19:133","nodeType":"FunctionDefinition","parameters":{"id":72957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72956,"mutability":"mutable","name":"_innocent","nameLocation":"3510:9:133","nodeType":"VariableDeclaration","scope":72959,"src":"3502:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72955,"name":"address","nodeType":"ElementaryTypeName","src":"3502:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3501:19:133"},"returnParameters":{"id":72958,"nodeType":"ParameterList","parameters":[],"src":"3529:0:133"},"scope":73165,"src":"3473:57:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"4d4f6ea9","id":72966,"implemented":false,"kind":"function","modifiers":[],"name":"canTransfer","nameLocation":"3545:11:133","nodeType":"FunctionDefinition","parameters":{"id":72962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72961,"mutability":"mutable","name":"_tokenId","nameLocation":"3565:8:133","nodeType":"VariableDeclaration","scope":72966,"src":"3557:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72960,"name":"uint256","nodeType":"ElementaryTypeName","src":"3557:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3556:18:133"},"returnParameters":{"id":72965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72964,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72966,"src":"3598:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72963,"name":"bool","nodeType":"ElementaryTypeName","src":"3598:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3597:6:133"},"scope":73165,"src":"3536:68:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"5c975abb","id":72971,"implemented":false,"kind":"function","modifiers":[],"name":"paused","nameLocation":"3619:6:133","nodeType":"FunctionDefinition","parameters":{"id":72967,"nodeType":"ParameterList","parameters":[],"src":"3625:2:133"},"returnParameters":{"id":72970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72971,"src":"3651:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72968,"name":"bool","nodeType":"ElementaryTypeName","src":"3651:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3650:6:133"},"scope":73165,"src":"3610:47:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"60836166","id":72978,"implemented":false,"kind":"function","modifiers":[],"name":"upgradeTo","nameLocation":"3672:9:133","nodeType":"FunctionDefinition","parameters":{"id":72976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72973,"mutability":"mutable","name":"_tokenId","nameLocation":"3690:8:133","nodeType":"VariableDeclaration","scope":72978,"src":"3682:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72972,"name":"uint256","nodeType":"ElementaryTypeName","src":"3682:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72975,"mutability":"mutable","name":"_toLvl","nameLocation":"3706:6:133","nodeType":"VariableDeclaration","scope":72978,"src":"3700:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":72974,"name":"uint8","nodeType":"ElementaryTypeName","src":"3700:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3681:32:133"},"returnParameters":{"id":72977,"nodeType":"ParameterList","parameters":[],"src":"3722:0:133"},"scope":73165,"src":"3663:60:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"6352211e","id":72985,"implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"3738:7:133","nodeType":"FunctionDefinition","parameters":{"id":72981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72980,"mutability":"mutable","name":"_tokenId","nameLocation":"3754:8:133","nodeType":"VariableDeclaration","scope":72985,"src":"3746:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72979,"name":"uint256","nodeType":"ElementaryTypeName","src":"3746:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3745:18:133"},"returnParameters":{"id":72984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72983,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72985,"src":"3787:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72982,"name":"address","nodeType":"ElementaryTypeName","src":"3787:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3786:9:133"},"scope":73165,"src":"3729:67:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"68f16293","id":72990,"implemented":false,"kind":"function","modifiers":[],"name":"transferCooldown","nameLocation":"3811:16:133","nodeType":"FunctionDefinition","parameters":{"id":72986,"nodeType":"ParameterList","parameters":[],"src":"3827:2:133"},"returnParameters":{"id":72989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72988,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72990,"src":"3853:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":72987,"name":"uint64","nodeType":"ElementaryTypeName","src":"3853:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3852:8:133"},"scope":73165,"src":"3802:59:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"6fbde40d","id":72995,"implemented":false,"kind":"function","modifiers":[],"name":"setSaleAuctionAddress","nameLocation":"3876:21:133","nodeType":"FunctionDefinition","parameters":{"id":72993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72992,"mutability":"mutable","name":"_address","nameLocation":"3906:8:133","nodeType":"VariableDeclaration","scope":72995,"src":"3898:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72991,"name":"address","nodeType":"ElementaryTypeName","src":"3898:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3897:18:133"},"returnParameters":{"id":72994,"nodeType":"ParameterList","parameters":[],"src":"3924:0:133"},"scope":73165,"src":"3867:58:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"70a08231","id":73002,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3940:9:133","nodeType":"FunctionDefinition","parameters":{"id":72998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72997,"mutability":"mutable","name":"_owner","nameLocation":"3958:6:133","nodeType":"VariableDeclaration","scope":73002,"src":"3950:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72996,"name":"address","nodeType":"ElementaryTypeName","src":"3950:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3949:16:133"},"returnParameters":{"id":73001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73000,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73002,"src":"3989:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72999,"name":"uint256","nodeType":"ElementaryTypeName","src":"3989:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3988:9:133"},"scope":73165,"src":"3931:67:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"79512513","id":73007,"implemented":false,"kind":"function","modifiers":[],"name":"applyUpgrade","nameLocation":"4013:12:133","nodeType":"FunctionDefinition","parameters":{"id":73005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73004,"mutability":"mutable","name":"_toLvl","nameLocation":"4032:6:133","nodeType":"VariableDeclaration","scope":73007,"src":"4026:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73003,"name":"uint8","nodeType":"ElementaryTypeName","src":"4026:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4025:14:133"},"returnParameters":{"id":73006,"nodeType":"ParameterList","parameters":[],"src":"4048:0:133"},"scope":73165,"src":"4004:45:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"7aaed899","id":73020,"implemented":false,"kind":"function","modifiers":[],"name":"addToken","nameLocation":"4064:8:133","nodeType":"FunctionDefinition","parameters":{"id":73018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73009,"mutability":"mutable","name":"_addr","nameLocation":"4090:5:133","nodeType":"VariableDeclaration","scope":73020,"src":"4082:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73008,"name":"address","nodeType":"ElementaryTypeName","src":"4082:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73011,"mutability":"mutable","name":"_lvl","nameLocation":"4111:4:133","nodeType":"VariableDeclaration","scope":73020,"src":"4105:10:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73010,"name":"uint8","nodeType":"ElementaryTypeName","src":"4105:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":73013,"mutability":"mutable","name":"_onUpgrade","nameLocation":"4130:10:133","nodeType":"VariableDeclaration","scope":73020,"src":"4125:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73012,"name":"bool","nodeType":"ElementaryTypeName","src":"4125:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":73015,"mutability":"mutable","name":"_applyUpgradeTime","nameLocation":"4157:17:133","nodeType":"VariableDeclaration","scope":73020,"src":"4150:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73014,"name":"uint64","nodeType":"ElementaryTypeName","src":"4150:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":73017,"mutability":"mutable","name":"_applyUpgradeBlockno","nameLocation":"4191:20:133","nodeType":"VariableDeclaration","scope":73020,"src":"4184:27:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73016,"name":"uint64","nodeType":"ElementaryTypeName","src":"4184:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"4072:145:133"},"returnParameters":{"id":73019,"nodeType":"ParameterList","parameters":[],"src":"4226:0:133"},"scope":73165,"src":"4055:172:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"8456cb59","id":73025,"implemented":false,"kind":"function","modifiers":[],"name":"pause","nameLocation":"4242:5:133","nodeType":"FunctionDefinition","parameters":{"id":73021,"nodeType":"ParameterList","parameters":[],"src":"4247:2:133"},"returnParameters":{"id":73024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73023,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73025,"src":"4268:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73022,"name":"bool","nodeType":"ElementaryTypeName","src":"4268:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4267:6:133"},"scope":73165,"src":"4233:41:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"8c8d04a7","id":73030,"implemented":false,"kind":"function","modifiers":[],"name":"leadTime","nameLocation":"4289:8:133","nodeType":"FunctionDefinition","parameters":{"id":73026,"nodeType":"ParameterList","parameters":[],"src":"4297:2:133"},"returnParameters":{"id":73029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73028,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73030,"src":"4323:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73027,"name":"uint64","nodeType":"ElementaryTypeName","src":"4323:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"4322:8:133"},"scope":73165,"src":"4280:51:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"8da5cb5b","id":73035,"implemented":false,"kind":"function","modifiers":[],"name":"owner","nameLocation":"4346:5:133","nodeType":"FunctionDefinition","parameters":{"id":73031,"nodeType":"ParameterList","parameters":[],"src":"4351:2:133"},"returnParameters":{"id":73034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73033,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73035,"src":"4377:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73032,"name":"address","nodeType":"ElementaryTypeName","src":"4377:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4376:9:133"},"scope":73165,"src":"4337:49:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"95d89b41","id":73040,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"4401:6:133","nodeType":"FunctionDefinition","parameters":{"id":73036,"nodeType":"ParameterList","parameters":[],"src":"4407:2:133"},"returnParameters":{"id":73039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73040,"src":"4433:13:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73037,"name":"string","nodeType":"ElementaryTypeName","src":"4433:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4432:15:133"},"scope":73165,"src":"4392:56:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"96b5a755","id":73045,"implemented":false,"kind":"function","modifiers":[],"name":"cancelAuction","nameLocation":"4463:13:133","nodeType":"FunctionDefinition","parameters":{"id":73043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73042,"mutability":"mutable","name":"_tokenId","nameLocation":"4485:8:133","nodeType":"VariableDeclaration","scope":73045,"src":"4477:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73041,"name":"uint256","nodeType":"ElementaryTypeName","src":"4477:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4476:18:133"},"returnParameters":{"id":73044,"nodeType":"ParameterList","parameters":[],"src":"4503:0:133"},"scope":73165,"src":"4454:50:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"9870d7fe","id":73050,"implemented":false,"kind":"function","modifiers":[],"name":"addOperator","nameLocation":"4519:11:133","nodeType":"FunctionDefinition","parameters":{"id":73048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73047,"mutability":"mutable","name":"_operator","nameLocation":"4539:9:133","nodeType":"VariableDeclaration","scope":73050,"src":"4531:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73046,"name":"address","nodeType":"ElementaryTypeName","src":"4531:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4530:19:133"},"returnParameters":{"id":73049,"nodeType":"ParameterList","parameters":[],"src":"4558:0:133"},"scope":73165,"src":"4510:49:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"a574cea4","id":73069,"implemented":false,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"4574:11:133","nodeType":"FunctionDefinition","parameters":{"id":73053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73052,"mutability":"mutable","name":"_tokenId","nameLocation":"4603:8:133","nodeType":"VariableDeclaration","scope":73069,"src":"4595:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73051,"name":"uint256","nodeType":"ElementaryTypeName","src":"4595:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4585:32:133"},"returnParameters":{"id":73068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73069,"src":"4641:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73054,"name":"address","nodeType":"ElementaryTypeName","src":"4641:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73057,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73069,"src":"4650:5:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73056,"name":"uint8","nodeType":"ElementaryTypeName","src":"4650:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":73059,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73069,"src":"4657:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73058,"name":"bool","nodeType":"ElementaryTypeName","src":"4657:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":73061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73069,"src":"4663:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73060,"name":"bool","nodeType":"ElementaryTypeName","src":"4663:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":73063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73069,"src":"4669:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73062,"name":"uint64","nodeType":"ElementaryTypeName","src":"4669:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":73065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73069,"src":"4677:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73064,"name":"uint64","nodeType":"ElementaryTypeName","src":"4677:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":73067,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73069,"src":"4685:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73066,"name":"uint64","nodeType":"ElementaryTypeName","src":"4685:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"4640:52:133"},"scope":73165,"src":"4565:128:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a9059cbb","id":73076,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"4708:8:133","nodeType":"FunctionDefinition","parameters":{"id":73074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73071,"mutability":"mutable","name":"_to","nameLocation":"4725:3:133","nodeType":"VariableDeclaration","scope":73076,"src":"4717:11:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73070,"name":"address","nodeType":"ElementaryTypeName","src":"4717:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73073,"mutability":"mutable","name":"_tokenId","nameLocation":"4738:8:133","nodeType":"VariableDeclaration","scope":73076,"src":"4730:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73072,"name":"uint256","nodeType":"ElementaryTypeName","src":"4730:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4716:31:133"},"returnParameters":{"id":73075,"nodeType":"ParameterList","parameters":[],"src":"4756:0:133"},"scope":73165,"src":"4699:58:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"ac8a584a","id":73081,"implemented":false,"kind":"function","modifiers":[],"name":"removeOperator","nameLocation":"4772:14:133","nodeType":"FunctionDefinition","parameters":{"id":73079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73078,"mutability":"mutable","name":"_operator","nameLocation":"4795:9:133","nodeType":"VariableDeclaration","scope":73081,"src":"4787:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73077,"name":"address","nodeType":"ElementaryTypeName","src":"4787:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4786:19:133"},"returnParameters":{"id":73080,"nodeType":"ParameterList","parameters":[],"src":"4814:0:133"},"scope":73165,"src":"4763:52:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"b03e02c2","id":73088,"implemented":false,"kind":"function","modifiers":[],"name":"downgradeTo","nameLocation":"4830:11:133","nodeType":"FunctionDefinition","parameters":{"id":73086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73083,"mutability":"mutable","name":"_tokenId","nameLocation":"4850:8:133","nodeType":"VariableDeclaration","scope":73088,"src":"4842:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73082,"name":"uint256","nodeType":"ElementaryTypeName","src":"4842:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73085,"mutability":"mutable","name":"_toLvl","nameLocation":"4866:6:133","nodeType":"VariableDeclaration","scope":73088,"src":"4860:12:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73084,"name":"uint8","nodeType":"ElementaryTypeName","src":"4860:5:133","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4841:32:133"},"returnParameters":{"id":73087,"nodeType":"ParameterList","parameters":[],"src":"4882:0:133"},"scope":73165,"src":"4821:62:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"ba2a954d","id":73093,"implemented":false,"kind":"function","modifiers":[],"name":"cancelUpgrade","nameLocation":"4898:13:133","nodeType":"FunctionDefinition","parameters":{"id":73091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73090,"mutability":"mutable","name":"_tokenId","nameLocation":"4920:8:133","nodeType":"VariableDeclaration","scope":73093,"src":"4912:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73089,"name":"uint256","nodeType":"ElementaryTypeName","src":"4912:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4911:18:133"},"returnParameters":{"id":73092,"nodeType":"ParameterList","parameters":[],"src":"4938:0:133"},"scope":73165,"src":"4889:50:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"ba6f2e65","id":73098,"implemented":false,"kind":"function","modifiers":[],"name":"setTransferCooldown","nameLocation":"4954:19:133","nodeType":"FunctionDefinition","parameters":{"id":73096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73095,"mutability":"mutable","name":"_cooldown","nameLocation":"4981:9:133","nodeType":"VariableDeclaration","scope":73098,"src":"4974:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73094,"name":"uint64","nodeType":"ElementaryTypeName","src":"4974:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"4973:18:133"},"returnParameters":{"id":73097,"nodeType":"ParameterList","parameters":[],"src":"5000:0:133"},"scope":73165,"src":"4945:56:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"bae3e19e","id":73109,"implemented":false,"kind":"function","modifiers":[],"name":"createSaleAuction","nameLocation":"5016:17:133","nodeType":"FunctionDefinition","parameters":{"id":73107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73100,"mutability":"mutable","name":"_tokenId","nameLocation":"5051:8:133","nodeType":"VariableDeclaration","scope":73109,"src":"5043:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73099,"name":"uint256","nodeType":"ElementaryTypeName","src":"5043:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73102,"mutability":"mutable","name":"_startingPrice","nameLocation":"5077:14:133","nodeType":"VariableDeclaration","scope":73109,"src":"5069:22:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":73101,"name":"uint128","nodeType":"ElementaryTypeName","src":"5069:7:133","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":73104,"mutability":"mutable","name":"_endingPrice","nameLocation":"5109:12:133","nodeType":"VariableDeclaration","scope":73109,"src":"5101:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":73103,"name":"uint128","nodeType":"ElementaryTypeName","src":"5101:7:133","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":73106,"mutability":"mutable","name":"_duration","nameLocation":"5138:9:133","nodeType":"VariableDeclaration","scope":73109,"src":"5131:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73105,"name":"uint64","nodeType":"ElementaryTypeName","src":"5131:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"5033:120:133"},"returnParameters":{"id":73108,"nodeType":"ParameterList","parameters":[],"src":"5162:0:133"},"scope":73165,"src":"5007:156:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"bfc206ed","id":73116,"implemented":false,"kind":"function","modifiers":[],"name":"idToOwner","nameLocation":"5178:9:133","nodeType":"FunctionDefinition","parameters":{"id":73112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73116,"src":"5188:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73110,"name":"uint256","nodeType":"ElementaryTypeName","src":"5188:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5187:9:133"},"returnParameters":{"id":73115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73114,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73116,"src":"5220:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73113,"name":"address","nodeType":"ElementaryTypeName","src":"5220:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5219:9:133"},"scope":73165,"src":"5169:60:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"c87b56dd","id":73123,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"5244:8:133","nodeType":"FunctionDefinition","parameters":{"id":73119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73118,"mutability":"mutable","name":"_tokenId","nameLocation":"5261:8:133","nodeType":"VariableDeclaration","scope":73123,"src":"5253:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73117,"name":"uint256","nodeType":"ElementaryTypeName","src":"5253:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5252:18:133"},"returnParameters":{"id":73122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73123,"src":"5294:13:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73120,"name":"string","nodeType":"ElementaryTypeName","src":"5294:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5293:15:133"},"scope":73165,"src":"5235:74:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"cd5967db","id":73130,"implemented":false,"kind":"function","modifiers":[],"name":"addAuctionWhiteList","nameLocation":"5324:19:133","nodeType":"FunctionDefinition","parameters":{"id":73128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73125,"mutability":"mutable","name":"_tokenId","nameLocation":"5352:8:133","nodeType":"VariableDeclaration","scope":73130,"src":"5344:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73124,"name":"uint256","nodeType":"ElementaryTypeName","src":"5344:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73127,"mutability":"mutable","name":"_address","nameLocation":"5370:8:133","nodeType":"VariableDeclaration","scope":73130,"src":"5362:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73126,"name":"address","nodeType":"ElementaryTypeName","src":"5362:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5343:36:133"},"returnParameters":{"id":73129,"nodeType":"ParameterList","parameters":[],"src":"5388:0:133"},"scope":73165,"src":"5315:74:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"d4156148","id":73135,"implemented":false,"kind":"function","modifiers":[],"name":"xTokenCount","nameLocation":"5404:11:133","nodeType":"FunctionDefinition","parameters":{"id":73131,"nodeType":"ParameterList","parameters":[],"src":"5415:2:133"},"returnParameters":{"id":73134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73135,"src":"5441:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73132,"name":"uint64","nodeType":"ElementaryTypeName","src":"5441:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"5440:8:133"},"scope":73165,"src":"5395:54:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e6cbe351","id":73140,"implemented":false,"kind":"function","modifiers":[],"name":"saleAuction","nameLocation":"5464:11:133","nodeType":"FunctionDefinition","parameters":{"id":73136,"nodeType":"ParameterList","parameters":[],"src":"5475:2:133"},"returnParameters":{"id":73139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73138,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73140,"src":"5501:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73137,"name":"address","nodeType":"ElementaryTypeName","src":"5501:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5500:9:133"},"scope":73165,"src":"5455:55:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e729e3a4","id":73147,"implemented":false,"kind":"function","modifiers":[],"name":"ownerToId","nameLocation":"5525:9:133","nodeType":"FunctionDefinition","parameters":{"id":73143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73147,"src":"5535:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73141,"name":"address","nodeType":"ElementaryTypeName","src":"5535:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5534:9:133"},"returnParameters":{"id":73146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73147,"src":"5567:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73144,"name":"uint256","nodeType":"ElementaryTypeName","src":"5567:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5566:9:133"},"scope":73165,"src":"5516:60:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f2fde38b","id":73152,"implemented":false,"kind":"function","modifiers":[],"name":"transferOwnership","nameLocation":"5591:17:133","nodeType":"FunctionDefinition","parameters":{"id":73150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73149,"mutability":"mutable","name":"newOwner","nameLocation":"5617:8:133","nodeType":"VariableDeclaration","scope":73152,"src":"5609:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73148,"name":"address","nodeType":"ElementaryTypeName","src":"5609:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5608:18:133"},"returnParameters":{"id":73151,"nodeType":"ParameterList","parameters":[],"src":"5635:0:133"},"scope":73165,"src":"5582:54:133","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"f7e6e60c","id":73157,"implemented":false,"kind":"function","modifiers":[],"name":"normalTokenCount","nameLocation":"5651:16:133","nodeType":"FunctionDefinition","parameters":{"id":73153,"nodeType":"ParameterList","parameters":[],"src":"5667:2:133"},"returnParameters":{"id":73156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73155,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73157,"src":"5693:6:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73154,"name":"uint64","nodeType":"ElementaryTypeName","src":"5693:6:133","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"5692:8:133"},"scope":73165,"src":"5642:59:133","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"f9574c69","id":73164,"implemented":false,"kind":"function","modifiers":[],"name":"isX","nameLocation":"5716:3:133","nodeType":"FunctionDefinition","parameters":{"id":73160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73159,"mutability":"mutable","name":"_target","nameLocation":"5728:7:133","nodeType":"VariableDeclaration","scope":73164,"src":"5720:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73158,"name":"address","nodeType":"ElementaryTypeName","src":"5720:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5719:17:133"},"returnParameters":{"id":73163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73164,"src":"5760:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73161,"name":"bool","nodeType":"ElementaryTypeName","src":"5760:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5759:6:133"},"scope":73165,"src":"5707:59:133","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":73166,"src":"57:5711:133","usedErrors":[],"usedEvents":[72701,72713,72721,72729,72737,72745,72753,72765,72771,72781,72787,72791,72797,72803,72805,72807,72813]}],"src":"32:5737:133"},"id":133},"contracts/ve-better-passport/libraries/PassportTypes.sol":{"ast":{"absolutePath":"contracts/ve-better-passport/libraries/PassportTypes.sol","exportedSymbols":{"IGalaxyMember":[65196],"IX2EarnApps":[69989],"IXAllocationVotingGovernor":[71124],"PassportTypes":[73234]},"id":73235,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":73167,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:134"},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":73169,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":73235,"sourceUnit":71125,"src":"1220:93:134","symbolAliases":[{"foreign":{"id":73168,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1229:26:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../interfaces/IX2EarnApps.sol","id":73171,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":73235,"sourceUnit":69990,"src":"1314:63:134","symbolAliases":[{"foreign":{"id":73170,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"1323:11:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IGalaxyMember.sol","file":"../../interfaces/IGalaxyMember.sol","id":73173,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":73235,"sourceUnit":65197,"src":"1378:67:134","symbolAliases":[{"foreign":{"id":73172,"name":"IGalaxyMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65196,"src":"1387:13:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"PassportTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":73174,"nodeType":"StructuredDocumentation","src":"1447:415:134","text":" @title PassportTypes\n @notice This library defines various data types, enumerations, and initialization parameters used within the Passport contract.\n It includes the `InitializationData` struct, which contains references to external contracts and configurations for personhood checks,\n proof of participation, signaling, and passport delegation. It also includes role-based configuration settings."},"fullyImplemented":true,"id":73234,"linearizedBaseContracts":[73234],"name":"PassportTypes","nameLocation":"1871:13:134","nodeType":"ContractDefinition","nodes":[{"canonicalName":"PassportTypes.InitializationData","documentation":{"id":73175,"nodeType":"StructuredDocumentation","src":"1889:997:134","text":" @dev Struct containing data to initialize the contract\n @param xAllocationVoting The address of the xAllocationVoting\n @param x2EarnApps The address of the x2EarnApps\n @param galaxyMember The address of the galaxy member contract\n @param upgrader The address of the upgrader\n @param admins The addresses of the admins\n @param settingsManagers The addresses of the settings managers\n @param roleGranters The addresses of the role granters\n @param blacklisters The addresses of the blacklisters\n @param whitelisters The addresses of the whitelisters\n @param actionRegistrar The address of the action registrar\n @param actionScoreManager The address of the action score manager\n @param popScoreThreshold The threshold proof of participation score for a wallet to be considered a person\n @param signalingThreshold The threshold for a proposal to be active\n @param roundsForCumulativeScore The number of rounds for cumulative score"},"id":73199,"members":[{"constant":false,"id":73178,"mutability":"mutable","name":"xAllocationVoting","nameLocation":"2948:17:134","nodeType":"VariableDeclaration","scope":73199,"src":"2921:44:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":73177,"nodeType":"UserDefinedTypeName","pathNode":{"id":73176,"name":"IXAllocationVotingGovernor","nameLocations":["2921:26:134"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"2921:26:134"},"referencedDeclaration":71124,"src":"2921:26:134","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":73181,"mutability":"mutable","name":"x2EarnApps","nameLocation":"2983:10:134","nodeType":"VariableDeclaration","scope":73199,"src":"2971:22:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":73180,"nodeType":"UserDefinedTypeName","pathNode":{"id":73179,"name":"IX2EarnApps","nameLocations":["2971:11:134"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"2971:11:134"},"referencedDeclaration":69989,"src":"2971:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":73184,"mutability":"mutable","name":"galaxyMember","nameLocation":"3013:12:134","nodeType":"VariableDeclaration","scope":73199,"src":"2999:26:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"},"typeName":{"id":73183,"nodeType":"UserDefinedTypeName","pathNode":{"id":73182,"name":"IGalaxyMember","nameLocations":["2999:13:134"],"nodeType":"IdentifierPath","referencedDeclaration":65196,"src":"2999:13:134"},"referencedDeclaration":65196,"src":"2999:13:134","typeDescriptions":{"typeIdentifier":"t_contract$_IGalaxyMember_$65196","typeString":"contract IGalaxyMember"}},"visibility":"internal"},{"constant":false,"id":73186,"mutability":"mutable","name":"signalingThreshold","nameLocation":"3039:18:134","nodeType":"VariableDeclaration","scope":73199,"src":"3031:26:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73185,"name":"uint256","nodeType":"ElementaryTypeName","src":"3031:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73188,"mutability":"mutable","name":"roundsForCumulativeScore","nameLocation":"3071:24:134","nodeType":"VariableDeclaration","scope":73199,"src":"3063:32:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73187,"name":"uint256","nodeType":"ElementaryTypeName","src":"3063:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73190,"mutability":"mutable","name":"minimumGalaxyMemberLevel","nameLocation":"3109:24:134","nodeType":"VariableDeclaration","scope":73199,"src":"3101:32:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73189,"name":"uint256","nodeType":"ElementaryTypeName","src":"3101:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73192,"mutability":"mutable","name":"blacklistThreshold","nameLocation":"3147:18:134","nodeType":"VariableDeclaration","scope":73199,"src":"3139:26:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73191,"name":"uint256","nodeType":"ElementaryTypeName","src":"3139:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73194,"mutability":"mutable","name":"whitelistThreshold","nameLocation":"3179:18:134","nodeType":"VariableDeclaration","scope":73199,"src":"3171:26:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73193,"name":"uint256","nodeType":"ElementaryTypeName","src":"3171:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73196,"mutability":"mutable","name":"maxEntitiesPerPassport","nameLocation":"3211:22:134","nodeType":"VariableDeclaration","scope":73199,"src":"3203:30:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73195,"name":"uint256","nodeType":"ElementaryTypeName","src":"3203:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73198,"mutability":"mutable","name":"decayRate","nameLocation":"3247:9:134","nodeType":"VariableDeclaration","scope":73199,"src":"3239:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73197,"name":"uint256","nodeType":"ElementaryTypeName","src":"3239:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"InitializationData","nameLocation":"2896:18:134","nodeType":"StructDefinition","scope":73234,"src":"2889:372:134","visibility":"public"},{"canonicalName":"PassportTypes.InitializationRoleData","id":73220,"members":[{"constant":false,"id":73201,"mutability":"mutable","name":"admin","nameLocation":"3309:5:134","nodeType":"VariableDeclaration","scope":73220,"src":"3301:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73200,"name":"address","nodeType":"ElementaryTypeName","src":"3301:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73203,"mutability":"mutable","name":"botSignaler","nameLocation":"3328:11:134","nodeType":"VariableDeclaration","scope":73220,"src":"3320:19:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73202,"name":"address","nodeType":"ElementaryTypeName","src":"3320:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73205,"mutability":"mutable","name":"upgrader","nameLocation":"3353:8:134","nodeType":"VariableDeclaration","scope":73220,"src":"3345:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73204,"name":"address","nodeType":"ElementaryTypeName","src":"3345:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73207,"mutability":"mutable","name":"settingsManager","nameLocation":"3375:15:134","nodeType":"VariableDeclaration","scope":73220,"src":"3367:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73206,"name":"address","nodeType":"ElementaryTypeName","src":"3367:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73209,"mutability":"mutable","name":"roleGranter","nameLocation":"3404:11:134","nodeType":"VariableDeclaration","scope":73220,"src":"3396:19:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73208,"name":"address","nodeType":"ElementaryTypeName","src":"3396:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73211,"mutability":"mutable","name":"blacklister","nameLocation":"3429:11:134","nodeType":"VariableDeclaration","scope":73220,"src":"3421:19:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73210,"name":"address","nodeType":"ElementaryTypeName","src":"3421:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73213,"mutability":"mutable","name":"whitelister","nameLocation":"3454:11:134","nodeType":"VariableDeclaration","scope":73220,"src":"3446:19:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73212,"name":"address","nodeType":"ElementaryTypeName","src":"3446:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73215,"mutability":"mutable","name":"actionRegistrar","nameLocation":"3479:15:134","nodeType":"VariableDeclaration","scope":73220,"src":"3471:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73214,"name":"address","nodeType":"ElementaryTypeName","src":"3471:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73217,"mutability":"mutable","name":"actionScoreManager","nameLocation":"3508:18:134","nodeType":"VariableDeclaration","scope":73220,"src":"3500:26:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73216,"name":"address","nodeType":"ElementaryTypeName","src":"3500:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73219,"mutability":"mutable","name":"resetSignaler","nameLocation":"3540:13:134","nodeType":"VariableDeclaration","scope":73220,"src":"3532:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73218,"name":"address","nodeType":"ElementaryTypeName","src":"3532:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializationRoleData","nameLocation":"3272:22:134","nodeType":"StructDefinition","scope":73234,"src":"3265:293:134","visibility":"public"},{"canonicalName":"PassportTypes.CheckType","id":73227,"members":[{"id":73221,"name":"UNDEFINED","nameLocation":"3583:9:134","nodeType":"EnumValue","src":"3583:9:134"},{"id":73222,"name":"WHITELIST_CHECK","nameLocation":"3651:15:134","nodeType":"EnumValue","src":"3651:15:134"},{"id":73223,"name":"BLACKLIST_CHECK","nameLocation":"3708:15:134","nodeType":"EnumValue","src":"3708:15:134"},{"id":73224,"name":"SIGNALING_CHECK","nameLocation":"3765:15:134","nodeType":"EnumValue","src":"3765:15:134"},{"id":73225,"name":"PARTICIPATION_SCORE_CHECK","nameLocation":"3840:25:134","nodeType":"EnumValue","src":"3840:25:134"},{"id":73226,"name":"GM_OWNERSHIP_CHECK","nameLocation":"3911:18:134","nodeType":"EnumValue","src":"3911:18:134"}],"name":"CheckType","nameLocation":"3567:9:134","nodeType":"EnumDefinition","src":"3562:408:134"},{"canonicalName":"PassportTypes.APP_SECURITY","documentation":{"id":73228,"nodeType":"StructuredDocumentation","src":"3974:145:134","text":"@notice Security level indicates how secure the app is\n @dev App security is used to calculate the overall score of a sustainable action"},"id":73233,"members":[{"id":73229,"name":"NONE","nameLocation":"4146:4:134","nodeType":"EnumValue","src":"4146:4:134"},{"id":73230,"name":"LOW","nameLocation":"4156:3:134","nodeType":"EnumValue","src":"4156:3:134"},{"id":73231,"name":"MEDIUM","nameLocation":"4165:6:134","nodeType":"EnumValue","src":"4165:6:134"},{"id":73232,"name":"HIGH","nameLocation":"4177:4:134","nodeType":"EnumValue","src":"4177:4:134"}],"name":"APP_SECURITY","nameLocation":"4127:12:134","nodeType":"EnumDefinition","src":"4122:63:134"}],"scope":73235,"src":"1863:2324:134","usedErrors":[],"usedEvents":[]}],"src":"1195:2993:134"},"id":134},"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol":{"ast":{"absolutePath":"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol","exportedSymbols":{"Checkpoints":[10447],"DataTypes":[71347],"EndorsementUtils":[76581],"IStargateNFT":[72687],"IVeBetterPassport":[68601],"IXAllocationVotingGovernor":[71124],"PassportTypes":[73234],"SafeCast":[8770],"X2EarnAppsStorageTypes":[76848]},"id":76582,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":73236,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:135"},{"absolutePath":"contracts/ve-better-passport/libraries/PassportTypes.sol","file":"../../ve-better-passport/libraries/PassportTypes.sol","id":73238,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76582,"sourceUnit":73235,"src":"1220:85:135","symbolAliases":[{"foreign":{"id":73237,"name":"PassportTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73234,"src":"1229:13:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../interfaces/IVeBetterPassport.sol","id":73240,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76582,"sourceUnit":68602,"src":"1306:75:135","symbolAliases":[{"foreign":{"id":73239,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"1315:17:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":73242,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76582,"sourceUnit":71125,"src":"1382:93:135","symbolAliases":[{"foreign":{"id":73241,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1391:26:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/IStargateNFT.sol","file":"../../mocks/Stargate/interfaces/IStargateNFT.sol","id":73244,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76582,"sourceUnit":72688,"src":"1476:80:135","symbolAliases":[{"foreign":{"id":73243,"name":"IStargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72687,"src":"1485:12:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol","file":"../../mocks/Stargate/StargateNFT/libraries/DataTypes.sol","id":73246,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76582,"sourceUnit":71348,"src":"1557:85:135","symbolAliases":[{"foreign":{"id":73245,"name":"DataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71347,"src":"1566:9:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":73248,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76582,"sourceUnit":10448,"src":"1643:84:135","symbolAliases":[{"foreign":{"id":73247,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1652:11:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":73250,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76582,"sourceUnit":8771,"src":"1728:75:135","symbolAliases":[{"foreign":{"id":73249,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1737:8:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol","file":"./X2EarnAppsStorageTypes.sol","id":73252,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76582,"sourceUnit":76849,"src":"1804:70:135","symbolAliases":[{"foreign":{"id":73251,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"1813:22:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"EndorsementUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":73253,"nodeType":"StructuredDocumentation","src":"1876:121:135","text":" @title EndorsementUtils\n @dev Utility library for handling endorsements of applications in a voting context."},"fullyImplemented":true,"id":76581,"linearizedBaseContracts":[76581],"name":"EndorsementUtils","nameLocation":"2006:16:135","nodeType":"ContractDefinition","nodes":[{"global":false,"id":73257,"libraryName":{"id":73254,"name":"Checkpoints","nameLocations":["2033:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"2033:11:135"},"nodeType":"UsingForDirective","src":"2027:43:135","typeName":{"id":73256,"nodeType":"UserDefinedTypeName","pathNode":{"id":73255,"name":"Checkpoints.Trace208","nameLocations":["2049:11:135","2061:8:135"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"2049:20:135"},"referencedDeclaration":9409,"src":"2049:20:135","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"canonicalName":"EndorsementUtils.NodeStrengthLevel","id":73266,"members":[{"id":73258,"name":"None","nameLocation":"2187:4:135","nodeType":"EnumValue","src":"2187:4:135"},{"id":73259,"name":"Strength","nameLocation":"2197:8:135","nodeType":"EnumValue","src":"2197:8:135"},{"id":73260,"name":"Thunder","nameLocation":"2211:7:135","nodeType":"EnumValue","src":"2211:7:135"},{"id":73261,"name":"Mjolnir","nameLocation":"2224:7:135","nodeType":"EnumValue","src":"2224:7:135"},{"id":73262,"name":"VeThorX","nameLocation":"2237:7:135","nodeType":"EnumValue","src":"2237:7:135"},{"id":73263,"name":"StrengthX","nameLocation":"2250:9:135","nodeType":"EnumValue","src":"2250:9:135"},{"id":73264,"name":"ThunderX","nameLocation":"2265:8:135","nodeType":"EnumValue","src":"2265:8:135"},{"id":73265,"name":"MjolnirX","nameLocation":"2279:8:135","nodeType":"EnumValue","src":"2279:8:135"}],"name":"NodeStrengthLevel","nameLocation":"2163:17:135","nodeType":"EnumDefinition","src":"2158:133:135"},{"canonicalName":"EndorsementUtils.NodeStrengthScores","id":73281,"members":[{"constant":false,"id":73268,"mutability":"mutable","name":"strength","nameLocation":"2335:8:135","nodeType":"VariableDeclaration","scope":73281,"src":"2327:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73267,"name":"uint256","nodeType":"ElementaryTypeName","src":"2327:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73270,"mutability":"mutable","name":"thunder","nameLocation":"2357:7:135","nodeType":"VariableDeclaration","scope":73281,"src":"2349:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73269,"name":"uint256","nodeType":"ElementaryTypeName","src":"2349:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73272,"mutability":"mutable","name":"mjolnir","nameLocation":"2378:7:135","nodeType":"VariableDeclaration","scope":73281,"src":"2370:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73271,"name":"uint256","nodeType":"ElementaryTypeName","src":"2370:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73274,"mutability":"mutable","name":"veThorX","nameLocation":"2399:7:135","nodeType":"VariableDeclaration","scope":73281,"src":"2391:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73273,"name":"uint256","nodeType":"ElementaryTypeName","src":"2391:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73276,"mutability":"mutable","name":"strengthX","nameLocation":"2420:9:135","nodeType":"VariableDeclaration","scope":73281,"src":"2412:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73275,"name":"uint256","nodeType":"ElementaryTypeName","src":"2412:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73278,"mutability":"mutable","name":"thunderX","nameLocation":"2443:8:135","nodeType":"VariableDeclaration","scope":73281,"src":"2435:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73277,"name":"uint256","nodeType":"ElementaryTypeName","src":"2435:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73280,"mutability":"mutable","name":"mjolnirX","nameLocation":"2465:8:135","nodeType":"VariableDeclaration","scope":73281,"src":"2457:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73279,"name":"uint256","nodeType":"ElementaryTypeName","src":"2457:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"NodeStrengthScores","nameLocation":"2302:18:135","nodeType":"StructDefinition","scope":76581,"src":"2295:183:135","visibility":"public"},{"canonicalName":"EndorsementUtils.NodeSource","id":73285,"members":[{"id":73282,"name":"None","nameLocation":"2504:4:135","nodeType":"EnumValue","src":"2504:4:135"},{"id":73283,"name":"VeChainNodes","nameLocation":"2514:12:135","nodeType":"EnumValue","src":"2514:12:135"},{"id":73284,"name":"StargateNFT","nameLocation":"2532:11:135","nodeType":"EnumValue","src":"2532:11:135"}],"name":"NodeSource","nameLocation":"2487:10:135","nodeType":"EnumDefinition","src":"2482:65:135"},{"errorSelector":"0c7ac578","id":73289,"name":"X2EarnNonexistentApp","nameLocation":"2633:20:135","nodeType":"ErrorDefinition","parameters":{"id":73288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73287,"mutability":"mutable","name":"appId","nameLocation":"2662:5:135","nodeType":"VariableDeclaration","scope":73289,"src":"2654:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2654:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2653:15:135"},"src":"2627:42:135"},{"errorSelector":"3126f1ab","id":73293,"name":"X2EarnAppBlacklisted","nameLocation":"2678:20:135","nodeType":"ErrorDefinition","parameters":{"id":73292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73291,"mutability":"mutable","name":"appId","nameLocation":"2707:5:135","nodeType":"VariableDeclaration","scope":73293,"src":"2699:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2699:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2698:15:135"},"src":"2672:42:135"},{"errorSelector":"9a88246c","id":73295,"name":"X2EarnNonNodeHolder","nameLocation":"2723:19:135","nodeType":"ErrorDefinition","parameters":{"id":73294,"nodeType":"ParameterList","parameters":[],"src":"2742:2:135"},"src":"2717:28:135"},{"errorSelector":"bf700bb2","id":73299,"name":"X2EarnAppAlreadyEndorsed","nameLocation":"2754:24:135","nodeType":"ErrorDefinition","parameters":{"id":73298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73297,"mutability":"mutable","name":"appId","nameLocation":"2787:5:135","nodeType":"VariableDeclaration","scope":73299,"src":"2779:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2779:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2778:15:135"},"src":"2748:46:135"},{"errorSelector":"ba391c6c","id":73301,"name":"NodeNotAllowedToEndorse","nameLocation":"2803:23:135","nodeType":"ErrorDefinition","parameters":{"id":73300,"nodeType":"ParameterList","parameters":[],"src":"2826:2:135"},"src":"2797:32:135"},{"errorSelector":"48d2eaea","id":73303,"name":"X2EarnNonEndorser","nameLocation":"2838:17:135","nodeType":"ErrorDefinition","parameters":{"id":73302,"nodeType":"ParameterList","parameters":[],"src":"2855:2:135"},"src":"2832:26:135"},{"errorSelector":"e2cf34b7","id":73307,"name":"NodeManagementXAppAlreadyIncluded","nameLocation":"2867:33:135","nodeType":"ErrorDefinition","parameters":{"id":73306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73305,"mutability":"mutable","name":"appId","nameLocation":"2909:5:135","nodeType":"VariableDeclaration","scope":73307,"src":"2901:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2901:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2900:15:135"},"src":"2861:55:135"},{"errorSelector":"3aa06cfc","id":73311,"name":"X2EarnInvalidAddress","nameLocation":"2925:20:135","nodeType":"ErrorDefinition","parameters":{"id":73310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73309,"mutability":"mutable","name":"addr","nameLocation":"2954:4:135","nodeType":"VariableDeclaration","scope":73311,"src":"2946:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73308,"name":"address","nodeType":"ElementaryTypeName","src":"2946:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2945:14:135"},"src":"2919:41:135"},{"errorSelector":"7bd63419","id":73313,"name":"EndorsementsPaused","nameLocation":"2984:18:135","nodeType":"ErrorDefinition","parameters":{"id":73312,"nodeType":"ParameterList","parameters":[],"src":"3002:2:135"},"src":"2978:27:135"},{"errorSelector":"564f58b3","id":73319,"name":"CooldownNotExpired","nameLocation":"3014:18:135","nodeType":"ErrorDefinition","parameters":{"id":73318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73315,"mutability":"mutable","name":"nodeId","nameLocation":"3041:6:135","nodeType":"VariableDeclaration","scope":73319,"src":"3033:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73314,"name":"uint256","nodeType":"ElementaryTypeName","src":"3033:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73317,"mutability":"mutable","name":"appId","nameLocation":"3057:5:135","nodeType":"VariableDeclaration","scope":73319,"src":"3049:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3049:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3032:31:135"},"src":"3008:56:135"},{"errorSelector":"68615086","id":73327,"name":"ExceedsMaxPointsPerApp","nameLocation":"3073:22:135","nodeType":"ErrorDefinition","parameters":{"id":73326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73321,"mutability":"mutable","name":"appId","nameLocation":"3104:5:135","nodeType":"VariableDeclaration","scope":73327,"src":"3096:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3096:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73323,"mutability":"mutable","name":"current","nameLocation":"3119:7:135","nodeType":"VariableDeclaration","scope":73327,"src":"3111:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73322,"name":"uint256","nodeType":"ElementaryTypeName","src":"3111:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73325,"mutability":"mutable","name":"max","nameLocation":"3136:3:135","nodeType":"VariableDeclaration","scope":73327,"src":"3128:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73324,"name":"uint256","nodeType":"ElementaryTypeName","src":"3128:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3095:45:135"},"src":"3067:74:135"},{"errorSelector":"87b212fd","id":73335,"name":"ExceedsMaxPointsPerNode","nameLocation":"3150:23:135","nodeType":"ErrorDefinition","parameters":{"id":73334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73329,"mutability":"mutable","name":"nodeId","nameLocation":"3182:6:135","nodeType":"VariableDeclaration","scope":73335,"src":"3174:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73328,"name":"uint256","nodeType":"ElementaryTypeName","src":"3174:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73331,"mutability":"mutable","name":"appId","nameLocation":"3198:5:135","nodeType":"VariableDeclaration","scope":73335,"src":"3190:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3190:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73333,"mutability":"mutable","name":"max","nameLocation":"3213:3:135","nodeType":"VariableDeclaration","scope":73335,"src":"3205:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73332,"name":"uint256","nodeType":"ElementaryTypeName","src":"3205:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3173:44:135"},"src":"3144:74:135"},{"errorSelector":"133dd146","id":73343,"name":"InsufficientAvailablePoints","nameLocation":"3227:27:135","nodeType":"ErrorDefinition","parameters":{"id":73342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73337,"mutability":"mutable","name":"nodeId","nameLocation":"3263:6:135","nodeType":"VariableDeclaration","scope":73343,"src":"3255:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73336,"name":"uint256","nodeType":"ElementaryTypeName","src":"3255:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73339,"mutability":"mutable","name":"available","nameLocation":"3279:9:135","nodeType":"VariableDeclaration","scope":73343,"src":"3271:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73338,"name":"uint256","nodeType":"ElementaryTypeName","src":"3271:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73341,"mutability":"mutable","name":"requested","nameLocation":"3298:9:135","nodeType":"VariableDeclaration","scope":73343,"src":"3290:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73340,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3254:54:135"},"src":"3221:88:135"},{"errorSelector":"b15e3914","id":73345,"name":"InvalidPointsAmount","nameLocation":"3318:19:135","nodeType":"ErrorDefinition","parameters":{"id":73344,"nodeType":"ParameterList","parameters":[],"src":"3337:2:135"},"src":"3312:28:135"},{"errorSelector":"3dbff3b5","id":73347,"name":"MigrationAlreadyCompleted","nameLocation":"3349:25:135","nodeType":"ErrorDefinition","parameters":{"id":73346,"nodeType":"ParameterList","parameters":[],"src":"3374:2:135"},"src":"3343:34:135"},{"errorSelector":"33b11f83","id":73353,"name":"InvalidEndorsementIndex","nameLocation":"3386:23:135","nodeType":"ErrorDefinition","parameters":{"id":73352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73349,"mutability":"mutable","name":"nodeId","nameLocation":"3418:6:135","nodeType":"VariableDeclaration","scope":73353,"src":"3410:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73348,"name":"uint256","nodeType":"ElementaryTypeName","src":"3410:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73351,"mutability":"mutable","name":"appId","nameLocation":"3434:5:135","nodeType":"VariableDeclaration","scope":73353,"src":"3426:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3426:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3409:31:135"},"src":"3380:61:135"},{"errorSelector":"5ab47377","id":73359,"name":"MaxPointsPerAppBelowThreshold","nameLocation":"3450:29:135","nodeType":"ErrorDefinition","parameters":{"id":73358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73355,"mutability":"mutable","name":"maxPoints","nameLocation":"3488:9:135","nodeType":"VariableDeclaration","scope":73359,"src":"3480:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73354,"name":"uint256","nodeType":"ElementaryTypeName","src":"3480:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73357,"mutability":"mutable","name":"threshold","nameLocation":"3507:9:135","nodeType":"VariableDeclaration","scope":73359,"src":"3499:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73356,"name":"uint256","nodeType":"ElementaryTypeName","src":"3499:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3479:38:135"},"src":"3444:74:135"},{"errorSelector":"48b11bea","id":73365,"name":"ThresholdExceedsMaxPointsPerApp","nameLocation":"3527:31:135","nodeType":"ErrorDefinition","parameters":{"id":73364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73361,"mutability":"mutable","name":"threshold","nameLocation":"3567:9:135","nodeType":"VariableDeclaration","scope":73365,"src":"3559:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73360,"name":"uint256","nodeType":"ElementaryTypeName","src":"3559:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73363,"mutability":"mutable","name":"maxPointsPerApp","nameLocation":"3586:15:135","nodeType":"VariableDeclaration","scope":73365,"src":"3578:23:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73362,"name":"uint256","nodeType":"ElementaryTypeName","src":"3578:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3558:44:135"},"src":"3521:82:135"},{"errorSelector":"7f07449b","id":73371,"name":"FutureLookup","nameLocation":"3612:12:135","nodeType":"ErrorDefinition","parameters":{"id":73370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73367,"mutability":"mutable","name":"timepoint","nameLocation":"3633:9:135","nodeType":"VariableDeclaration","scope":73371,"src":"3625:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73366,"name":"uint256","nodeType":"ElementaryTypeName","src":"3625:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73369,"mutability":"mutable","name":"currentBlock","nameLocation":"3652:12:135","nodeType":"VariableDeclaration","scope":73371,"src":"3644:20:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73368,"name":"uint256","nodeType":"ElementaryTypeName","src":"3644:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3624:41:135"},"src":"3606:60:135"},{"anonymous":false,"eventSelector":"181c8615e49dc4eaed218e1d225e4a34a0fb364fc70601a191573daa19d57eda","id":73381,"name":"AppAdded","nameLocation":"3752:8:135","nodeType":"EventDefinition","parameters":{"id":73380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73373,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"3777:2:135","nodeType":"VariableDeclaration","scope":73381,"src":"3761:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3761:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73375,"indexed":false,"mutability":"mutable","name":"addr","nameLocation":"3789:4:135","nodeType":"VariableDeclaration","scope":73381,"src":"3781:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73374,"name":"address","nodeType":"ElementaryTypeName","src":"3781:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73377,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"3802:4:135","nodeType":"VariableDeclaration","scope":73381,"src":"3795:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73376,"name":"string","nodeType":"ElementaryTypeName","src":"3795:6:135","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":73379,"indexed":false,"mutability":"mutable","name":"appAvailableForAllocationVoting","nameLocation":"3813:31:135","nodeType":"VariableDeclaration","scope":73381,"src":"3808:36:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73378,"name":"bool","nodeType":"ElementaryTypeName","src":"3808:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3760:85:135"},"src":"3746:100:135"},{"anonymous":false,"eventSelector":"1193ced031b3229da69fab9691642274e1ea2625dfce9967135e6d5e6029d220","id":73391,"name":"AppEndorsed","nameLocation":"3855:11:135","nodeType":"EventDefinition","parameters":{"id":73390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73383,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"3883:5:135","nodeType":"VariableDeclaration","scope":73391,"src":"3867:21:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3867:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73385,"indexed":true,"mutability":"mutable","name":"nodeId","nameLocation":"3906:6:135","nodeType":"VariableDeclaration","scope":73391,"src":"3890:22:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73384,"name":"uint256","nodeType":"ElementaryTypeName","src":"3890:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73387,"indexed":false,"mutability":"mutable","name":"endorser","nameLocation":"3922:8:135","nodeType":"VariableDeclaration","scope":73391,"src":"3914:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73386,"name":"address","nodeType":"ElementaryTypeName","src":"3914:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73389,"indexed":false,"mutability":"mutable","name":"points","nameLocation":"3940:6:135","nodeType":"VariableDeclaration","scope":73391,"src":"3932:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73388,"name":"uint256","nodeType":"ElementaryTypeName","src":"3932:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3866:81:135"},"src":"3849:99:135"},{"anonymous":false,"eventSelector":"75a2c0f7478dc6b5e01e316a07fc6b72d32d90ca051d898b5d198300d1a7c036","id":73399,"name":"AppUnendorsed","nameLocation":"3957:13:135","nodeType":"EventDefinition","parameters":{"id":73398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73393,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"3987:5:135","nodeType":"VariableDeclaration","scope":73399,"src":"3971:21:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3971:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73395,"indexed":true,"mutability":"mutable","name":"nodeId","nameLocation":"4010:6:135","nodeType":"VariableDeclaration","scope":73399,"src":"3994:22:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73394,"name":"uint256","nodeType":"ElementaryTypeName","src":"3994:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73397,"indexed":false,"mutability":"mutable","name":"points","nameLocation":"4026:6:135","nodeType":"VariableDeclaration","scope":73399,"src":"4018:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73396,"name":"uint256","nodeType":"ElementaryTypeName","src":"4018:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3970:63:135"},"src":"3951:83:135"},{"anonymous":false,"eventSelector":"fd9f033c3b3a54e30cfe5bf2bc66dea3bac111d66ecc2c03a2bcc1c5ccdd0250","id":73403,"name":"EndorsementsPausedUpdated","nameLocation":"4043:25:135","nodeType":"EventDefinition","parameters":{"id":73402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73401,"indexed":false,"mutability":"mutable","name":"paused","nameLocation":"4074:6:135","nodeType":"VariableDeclaration","scope":73403,"src":"4069:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73400,"name":"bool","nodeType":"ElementaryTypeName","src":"4069:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4068:13:135"},"src":"4037:45:135"},{"anonymous":false,"eventSelector":"c91e5ded81b3894187855cc79c29a7eaa6b412d30cfa1658fe313129291db242","id":73408,"name":"NodeStrengthScoresUpdated","nameLocation":"4091:25:135","nodeType":"EventDefinition","parameters":{"id":73407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73406,"indexed":false,"mutability":"mutable","name":"nodeStrengthScores","nameLocation":"4136:18:135","nodeType":"VariableDeclaration","scope":73408,"src":"4117:37:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_memory_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores"},"typeName":{"id":73405,"nodeType":"UserDefinedTypeName","pathNode":{"id":73404,"name":"NodeStrengthScores","nameLocations":["4117:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":73281,"src":"4117:18:135"},"referencedDeclaration":73281,"src":"4117:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_storage_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores"}},"visibility":"internal"}],"src":"4116:39:135"},"src":"4085:71:135"},{"anonymous":false,"eventSelector":"39ed358ca65699fee4083beb84f3d91ce2201bb0c89859317fc5be02231609ed","id":73414,"name":"AppEndorsementStatusUpdated","nameLocation":"4165:27:135","nodeType":"EventDefinition","parameters":{"id":73413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73410,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"4209:5:135","nodeType":"VariableDeclaration","scope":73414,"src":"4193:21:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4193:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73412,"indexed":false,"mutability":"mutable","name":"endorsed","nameLocation":"4221:8:135","nodeType":"VariableDeclaration","scope":73414,"src":"4216:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73411,"name":"bool","nodeType":"ElementaryTypeName","src":"4216:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4192:38:135"},"src":"4159:72:135"},{"anonymous":false,"eventSelector":"502689eeffd57ae8470e1d86a4a8cd293a44bfbbd2429cb375da3d901a3dd80f","id":73422,"name":"AppUnendorsedGracePeriodStarted","nameLocation":"4240:31:135","nodeType":"EventDefinition","parameters":{"id":73421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73416,"indexed":true,"mutability":"mutable","name":"appId","nameLocation":"4288:5:135","nodeType":"VariableDeclaration","scope":73422,"src":"4272:21:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4272:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73418,"indexed":false,"mutability":"mutable","name":"startBlock","nameLocation":"4302:10:135","nodeType":"VariableDeclaration","scope":73422,"src":"4295:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":73417,"name":"uint48","nodeType":"ElementaryTypeName","src":"4295:6:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":73420,"indexed":false,"mutability":"mutable","name":"endBlock","nameLocation":"4321:8:135","nodeType":"VariableDeclaration","scope":73422,"src":"4314:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":73419,"name":"uint48","nodeType":"ElementaryTypeName","src":"4314:6:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"4271:59:135"},"src":"4234:97:135"},{"anonymous":false,"eventSelector":"55c7a79c45e9a972909cd640f9336a14a84adbaf756211f16267001854110191","id":73428,"name":"GracePeriodUpdated","nameLocation":"4340:18:135","nodeType":"EventDefinition","parameters":{"id":73427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73424,"indexed":false,"mutability":"mutable","name":"oldGracePeriod","nameLocation":"4367:14:135","nodeType":"VariableDeclaration","scope":73428,"src":"4359:22:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73423,"name":"uint256","nodeType":"ElementaryTypeName","src":"4359:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73426,"indexed":false,"mutability":"mutable","name":"newGracePeriod","nameLocation":"4391:14:135","nodeType":"VariableDeclaration","scope":73428,"src":"4383:22:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73425,"name":"uint256","nodeType":"ElementaryTypeName","src":"4383:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4358:48:135"},"src":"4334:73:135"},{"anonymous":false,"eventSelector":"98eaabfe135a9c40c420208962bf81e7926b4d6df3e23502164c0554b7b35224","id":73434,"name":"CooldownPeriodUpdated","nameLocation":"4416:21:135","nodeType":"EventDefinition","parameters":{"id":73433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73430,"indexed":false,"mutability":"mutable","name":"oldCooldownPeriod","nameLocation":"4446:17:135","nodeType":"VariableDeclaration","scope":73434,"src":"4438:25:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73429,"name":"uint256","nodeType":"ElementaryTypeName","src":"4438:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73432,"indexed":false,"mutability":"mutable","name":"newCooldownPeriod","nameLocation":"4473:17:135","nodeType":"VariableDeclaration","scope":73434,"src":"4465:25:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73431,"name":"uint256","nodeType":"ElementaryTypeName","src":"4465:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4437:54:135"},"src":"4410:82:135"},{"anonymous":false,"eventSelector":"c0d3753bc89284345726d88cd5c82025ebedac4070cdbc551a0ba27b5180a637","id":73440,"name":"EndorsementScoreThresholdUpdated","nameLocation":"4501:32:135","nodeType":"EventDefinition","parameters":{"id":73439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73436,"indexed":false,"mutability":"mutable","name":"oldThreshold","nameLocation":"4542:12:135","nodeType":"VariableDeclaration","scope":73440,"src":"4534:20:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73435,"name":"uint256","nodeType":"ElementaryTypeName","src":"4534:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73438,"indexed":false,"mutability":"mutable","name":"newThreshold","nameLocation":"4564:12:135","nodeType":"VariableDeclaration","scope":73440,"src":"4556:20:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73437,"name":"uint256","nodeType":"ElementaryTypeName","src":"4556:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4533:44:135"},"src":"4495:83:135"},{"anonymous":false,"eventSelector":"ff24fd32f78a666774cb7265d538935a108bff58375ccca2d01c4c9b66ac22a5","id":73446,"name":"MaxPointsPerNodePerAppUpdated","nameLocation":"4587:29:135","nodeType":"EventDefinition","parameters":{"id":73445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73442,"indexed":false,"mutability":"mutable","name":"oldMax","nameLocation":"4625:6:135","nodeType":"VariableDeclaration","scope":73446,"src":"4617:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73441,"name":"uint256","nodeType":"ElementaryTypeName","src":"4617:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73444,"indexed":false,"mutability":"mutable","name":"newMax","nameLocation":"4641:6:135","nodeType":"VariableDeclaration","scope":73446,"src":"4633:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73443,"name":"uint256","nodeType":"ElementaryTypeName","src":"4633:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4616:32:135"},"src":"4581:68:135"},{"anonymous":false,"eventSelector":"f4c290bd7ee941689bccbabc9dbd567d76db3be9871c7aa182dabf6737f7fc70","id":73452,"name":"MaxPointsPerAppUpdated","nameLocation":"4658:22:135","nodeType":"EventDefinition","parameters":{"id":73451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73448,"indexed":false,"mutability":"mutable","name":"oldMax","nameLocation":"4689:6:135","nodeType":"VariableDeclaration","scope":73452,"src":"4681:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73447,"name":"uint256","nodeType":"ElementaryTypeName","src":"4681:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73450,"indexed":false,"mutability":"mutable","name":"newMax","nameLocation":"4705:6:135","nodeType":"VariableDeclaration","scope":73452,"src":"4697:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73449,"name":"uint256","nodeType":"ElementaryTypeName","src":"4697:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4680:32:135"},"src":"4652:61:135"},{"body":{"id":73472,"nodeType":"Block","src":"5060:122:135","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73462,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"5081:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5104:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"5081:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5081:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5129:31:135","memberName":"_appEndorsementScoreCheckpoints","nodeType":"MemberAccess","referencedDeclaration":76749,"src":"5081:79:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(bytes32 => struct Checkpoints.Trace208 storage ref)"}},"id":73467,"indexExpression":{"id":73466,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73455,"src":"5161:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5081:86:135","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":73468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5168:6:135","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"5081:93:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":73469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5081:95:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":73461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5073:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73460,"name":"uint256","nodeType":"ElementaryTypeName","src":"5073:7:135","typeDescriptions":{}}},"id":73470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5073:104:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73459,"id":73471,"nodeType":"Return","src":"5066:111:135"}]},"documentation":{"id":73453,"nodeType":"StructuredDocumentation","src":"4804:188:135","text":" @notice Returns the current endorsement score for an app.\n @param appId The unique identifier of the app.\n @return The total endorsement points the app has received."},"functionSelector":"7ba53285","id":73473,"implemented":true,"kind":"function","modifiers":[],"name":"getScore","nameLocation":"5004:8:135","nodeType":"FunctionDefinition","parameters":{"id":73456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73455,"mutability":"mutable","name":"appId","nameLocation":"5021:5:135","nodeType":"VariableDeclaration","scope":73473,"src":"5013:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5013:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5012:15:135"},"returnParameters":{"id":73459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73473,"src":"5051:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73457,"name":"uint256","nodeType":"ElementaryTypeName","src":"5051:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5050:9:135"},"scope":76581,"src":"4995:187:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73518,"nodeType":"Block","src":"5535:316:135","statements":[{"assignments":[73487],"declarations":[{"constant":false,"id":73487,"mutability":"mutable","name":"$","nameLocation":"5591:1:135","nodeType":"VariableDeclaration","scope":73518,"src":"5541:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":73486,"nodeType":"UserDefinedTypeName","pathNode":{"id":73485,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["5541:22:135","5564:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"5541:41:135"},"referencedDeclaration":76750,"src":"5541:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":73491,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73488,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"5595:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5618:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"5595:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5595:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5541:101:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73492,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73478,"src":"5652:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":73493,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5664:5:135","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":73494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5670:6:135","memberName":"number","nodeType":"MemberAccess","src":"5664:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5652:24:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73503,"nodeType":"IfStatement","src":"5648:89:135","trueBody":{"id":73502,"nodeType":"Block","src":"5678:59:135","statements":[{"errorCall":{"arguments":[{"id":73497,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73478,"src":"5706:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73498,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5717:5:135","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":73499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5723:6:135","memberName":"number","nodeType":"MemberAccess","src":"5717:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73496,"name":"FutureLookup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73371,"src":"5693:12:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":73500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5693:37:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73501,"nodeType":"RevertStatement","src":"5686:44:135"}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":73513,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73478,"src":"5834:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73511,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"5816:8:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":73512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5825:8:135","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"5816:17:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":73514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5816:28:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":73506,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73487,"src":"5757:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5759:31:135","memberName":"_appEndorsementScoreCheckpoints","nodeType":"MemberAccess","referencedDeclaration":76749,"src":"5757:33:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(bytes32 => struct Checkpoints.Trace208 storage ref)"}},"id":73509,"indexExpression":{"id":73508,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73476,"src":"5791:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5757:40:135","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":73510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5798:17:135","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"5757:58:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":73515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5757:88:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":73505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5749:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":73504,"name":"uint256","nodeType":"ElementaryTypeName","src":"5749:7:135","typeDescriptions":{}}},"id":73516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5749:97:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73482,"id":73517,"nodeType":"Return","src":"5742:104:135"}]},"documentation":{"id":73474,"nodeType":"StructuredDocumentation","src":"5186:251:135","text":" @notice Returns the endorsement score for an app at a specific block number.\n @param appId The unique identifier of the app.\n @param timepoint The block number to query.\n @return The endorsement score at the given timepoint."},"functionSelector":"9ab17c9b","id":73519,"implemented":true,"kind":"function","modifiers":[],"name":"getScoreAtTimepoint","nameLocation":"5449:19:135","nodeType":"FunctionDefinition","parameters":{"id":73479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73476,"mutability":"mutable","name":"appId","nameLocation":"5477:5:135","nodeType":"VariableDeclaration","scope":73519,"src":"5469:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5469:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73478,"mutability":"mutable","name":"timepoint","nameLocation":"5492:9:135","nodeType":"VariableDeclaration","scope":73519,"src":"5484:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73477,"name":"uint256","nodeType":"ElementaryTypeName","src":"5484:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5468:34:135"},"returnParameters":{"id":73482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73519,"src":"5526:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73480,"name":"uint256","nodeType":"ElementaryTypeName","src":"5526:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5525:9:135"},"scope":76581,"src":"5440:411:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73619,"nodeType":"Block","src":"6200:657:135","statements":[{"assignments":[73532],"declarations":[{"constant":false,"id":73532,"mutability":"mutable","name":"$","nameLocation":"6256:1:135","nodeType":"VariableDeclaration","scope":73619,"src":"6206:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":73531,"nodeType":"UserDefinedTypeName","pathNode":{"id":73530,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["6206:22:135","6229:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"6206:41:135"},"referencedDeclaration":76750,"src":"6206:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":73536,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73533,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"6260:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6283:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"6260:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6260:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6206:101:135"},{"assignments":[73541],"declarations":[{"constant":false,"id":73541,"mutability":"mutable","name":"nodeIds","nameLocation":"6331:7:135","nodeType":"VariableDeclaration","scope":73619,"src":"6313:25:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":73539,"name":"uint256","nodeType":"ElementaryTypeName","src":"6313:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73540,"nodeType":"ArrayTypeName","src":"6313:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":73546,"initialValue":{"baseExpression":{"expression":{"id":73542,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73532,"src":"6341:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6343:17:135","memberName":"_appEndorserNodes","nodeType":"MemberAccess","referencedDeclaration":76730,"src":"6341:19:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[] storage ref)"}},"id":73545,"indexExpression":{"id":73544,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73522,"src":"6361:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6341:26:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6313:54:135"},{"assignments":[73548],"declarations":[{"constant":false,"id":73548,"mutability":"mutable","name":"length","nameLocation":"6381:6:135","nodeType":"VariableDeclaration","scope":73619,"src":"6373:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73547,"name":"uint256","nodeType":"ElementaryTypeName","src":"6373:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73551,"initialValue":{"expression":{"id":73549,"name":"nodeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73541,"src":"6390:7:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":73550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6398:6:135","memberName":"length","nodeType":"MemberAccess","src":"6390:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6373:31:135"},{"assignments":[73556],"declarations":[{"constant":false,"id":73556,"mutability":"mutable","name":"endorsers","nameLocation":"6427:9:135","nodeType":"VariableDeclaration","scope":73619,"src":"6410:26:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73554,"name":"address","nodeType":"ElementaryTypeName","src":"6410:7:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73555,"nodeType":"ArrayTypeName","src":"6410:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":73562,"initialValue":{"arguments":[{"id":73560,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73548,"src":"6453:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6439:13:135","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":73557,"name":"address","nodeType":"ElementaryTypeName","src":"6443:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73558,"nodeType":"ArrayTypeName","src":"6443:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":73561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6439:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6410:50:135"},{"assignments":[73564],"declarations":[{"constant":false,"id":73564,"mutability":"mutable","name":"count","nameLocation":"6474:5:135","nodeType":"VariableDeclaration","scope":73619,"src":"6466:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73563,"name":"uint256","nodeType":"ElementaryTypeName","src":"6466:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73565,"nodeType":"VariableDeclarationStatement","src":"6466:13:135"},{"body":{"id":73614,"nodeType":"Block","src":"6519:259:135","statements":[{"assignments":[73576],"declarations":[{"constant":false,"id":73576,"mutability":"mutable","name":"nodeId","nameLocation":"6535:6:135","nodeType":"VariableDeclaration","scope":73614,"src":"6527:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73575,"name":"uint256","nodeType":"ElementaryTypeName","src":"6527:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73580,"initialValue":{"baseExpression":{"id":73577,"name":"nodeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73541,"src":"6544:7:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":73579,"indexExpression":{"id":73578,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73567,"src":"6552:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6544:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6527:27:135"},{"condition":{"id":73586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6566:35:135","subExpression":{"arguments":[{"id":73584,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73576,"src":"6594:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":73581,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73532,"src":"6567:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6569:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"6567:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":73583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6582:11:135","memberName":"tokenExists","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"6567:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":73585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6567:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73588,"nodeType":"IfStatement","src":"6562:49:135","trueBody":{"id":73587,"nodeType":"Continue","src":"6603:8:135"}},{"assignments":[73590],"declarations":[{"constant":false,"id":73590,"mutability":"mutable","name":"manager","nameLocation":"6627:7:135","nodeType":"VariableDeclaration","scope":73614,"src":"6619:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73589,"name":"address","nodeType":"ElementaryTypeName","src":"6619:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":73596,"initialValue":{"arguments":[{"id":73594,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73576,"src":"6668:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":73591,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73532,"src":"6637:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6639:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"6637:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":73593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6652:15:135","memberName":"getTokenManager","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"6637:30:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":73595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6637:38:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6619:56:135"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73597,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73590,"src":"6687:7:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":73600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6706: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"}],"id":73599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6698:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73598,"name":"address","nodeType":"ElementaryTypeName","src":"6698:7:135","typeDescriptions":{}}},"id":73601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6698:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6687:21:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73613,"nodeType":"IfStatement","src":"6683:89:135","trueBody":{"id":73612,"nodeType":"Block","src":"6710:62:135","statements":[{"expression":{"id":73607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":73603,"name":"endorsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73556,"src":"6720:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":73605,"indexExpression":{"id":73604,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73564,"src":"6730:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6720:16:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73606,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73590,"src":"6739:7:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6720:26:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73608,"nodeType":"ExpressionStatement","src":"6720:26:135"},{"expression":{"id":73610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6756:7:135","subExpression":{"id":73609,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73564,"src":"6756:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73611,"nodeType":"ExpressionStatement","src":"6756:7:135"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73569,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73567,"src":"6502:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":73570,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73548,"src":"6506:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6502:10:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73615,"initializationExpression":{"assignments":[73567],"declarations":[{"constant":false,"id":73567,"mutability":"mutable","name":"i","nameLocation":"6499:1:135","nodeType":"VariableDeclaration","scope":73615,"src":"6491:9:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73566,"name":"uint256","nodeType":"ElementaryTypeName","src":"6491:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73568,"nodeType":"VariableDeclarationStatement","src":"6491:9:135"},"loopExpression":{"expression":{"id":73573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6514:3:135","subExpression":{"id":73572,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73567,"src":"6514:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73574,"nodeType":"ExpressionStatement","src":"6514:3:135"},"nodeType":"ForStatement","src":"6486:292:135"},{"AST":{"nodeType":"YulBlock","src":"6793:38:135","statements":[{"expression":{"arguments":[{"name":"endorsers","nodeType":"YulIdentifier","src":"6808:9:135"},{"name":"count","nodeType":"YulIdentifier","src":"6819:5:135"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6801:6:135"},"nodeType":"YulFunctionCall","src":"6801:24:135"},"nodeType":"YulExpressionStatement","src":"6801:24:135"}]},"evmVersion":"paris","externalReferences":[{"declaration":73564,"isOffset":false,"isSlot":false,"src":"6819:5:135","valueSize":1},{"declaration":73556,"isOffset":false,"isSlot":false,"src":"6808:9:135","valueSize":1}],"id":73616,"nodeType":"InlineAssembly","src":"6784:47:135"},{"expression":{"id":73617,"name":"endorsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73556,"src":"6843:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":73527,"id":73618,"nodeType":"Return","src":"6836:16:135"}]},"documentation":{"id":73520,"nodeType":"StructuredDocumentation","src":"5855:264:135","text":" @notice Returns all endorser addresses for an app.\n @dev Filters out burned nodes and returns only valid manager addresses.\n @param appId The unique identifier of the app.\n @return Array of addresses managing nodes that endorse this app."},"functionSelector":"44bb58f7","id":73620,"implemented":true,"kind":"function","modifiers":[],"name":"getEndorsers","nameLocation":"6131:12:135","nodeType":"FunctionDefinition","parameters":{"id":73523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73522,"mutability":"mutable","name":"appId","nameLocation":"6152:5:135","nodeType":"VariableDeclaration","scope":73620,"src":"6144:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6144:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6143:15:135"},"returnParameters":{"id":73527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73526,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73620,"src":"6182:16:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73524,"name":"address","nodeType":"ElementaryTypeName","src":"6182:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73525,"nodeType":"ArrayTypeName","src":"6182:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6181:18:135"},"scope":76581,"src":"6122:735:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73636,"nodeType":"Block","src":"7113:90:135","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73629,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"7126:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7149:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"7126:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7126:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73632,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7174:17:135","memberName":"_appEndorserNodes","nodeType":"MemberAccess","referencedDeclaration":76730,"src":"7126:65:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[] storage ref)"}},"id":73634,"indexExpression":{"id":73633,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73623,"src":"7192:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7126:72:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"functionReturnParameters":73628,"id":73635,"nodeType":"Return","src":"7119:79:135"}]},"documentation":{"id":73621,"nodeType":"StructuredDocumentation","src":"6861:167:135","text":" @notice Returns all node IDs that endorse an app.\n @param appId The unique identifier of the app.\n @return Array of node IDs endorsing this app."},"functionSelector":"5cfdd470","id":73637,"implemented":true,"kind":"function","modifiers":[],"name":"getEndorserNodes","nameLocation":"7040:16:135","nodeType":"FunctionDefinition","parameters":{"id":73624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73623,"mutability":"mutable","name":"appId","nameLocation":"7065:5:135","nodeType":"VariableDeclaration","scope":73637,"src":"7057:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7057:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7056:15:135"},"returnParameters":{"id":73628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73627,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73637,"src":"7095:16:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":73625,"name":"uint256","nodeType":"ElementaryTypeName","src":"7095:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73626,"nodeType":"ArrayTypeName","src":"7095:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7094:18:135"},"scope":76581,"src":"7031:172:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73693,"nodeType":"Block","src":"7504:363:135","statements":[{"assignments":[73649],"declarations":[{"constant":false,"id":73649,"mutability":"mutable","name":"$","nameLocation":"7560:1:135","nodeType":"VariableDeclaration","scope":73693,"src":"7510:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":73648,"nodeType":"UserDefinedTypeName","pathNode":{"id":73647,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["7510:22:135","7533:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"7510:41:135"},"referencedDeclaration":76750,"src":"7510:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":73653,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73650,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"7564:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7587:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"7564:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7564:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7510:101:135"},{"assignments":[73659],"declarations":[{"constant":false,"id":73659,"mutability":"mutable","name":"nodeLevels","nameLocation":"7642:10:135","nodeType":"VariableDeclaration","scope":73693,"src":"7617:35:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr","typeString":"struct DataTypes.Token[]"},"typeName":{"baseType":{"id":73657,"nodeType":"UserDefinedTypeName","pathNode":{"id":73656,"name":"DataTypes.Token","nameLocations":["7617:9:135","7627:5:135"],"nodeType":"IdentifierPath","referencedDeclaration":71325,"src":"7617:15:135"},"referencedDeclaration":71325,"src":"7617:15:135","typeDescriptions":{"typeIdentifier":"t_struct$_Token_$71325_storage_ptr","typeString":"struct DataTypes.Token"}},"id":73658,"nodeType":"ArrayTypeName","src":"7617:17:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_storage_$dyn_storage_ptr","typeString":"struct DataTypes.Token[]"}},"visibility":"internal"}],"id":73665,"initialValue":{"arguments":[{"id":73663,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73640,"src":"7686:4:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":73660,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73649,"src":"7655:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7657:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"7655:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":73662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7670:15:135","memberName":"tokensManagedBy","nodeType":"MemberAccess","referencedDeclaration":72543,"src":"7655:30:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address) view external returns (struct DataTypes.Token memory[] memory)"}},"id":73664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7655:36:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr","typeString":"struct DataTypes.Token memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7617:74:135"},{"assignments":[73667],"declarations":[{"constant":false,"id":73667,"mutability":"mutable","name":"totalScore","nameLocation":"7705:10:135","nodeType":"VariableDeclaration","scope":73693,"src":"7697:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73666,"name":"uint256","nodeType":"ElementaryTypeName","src":"7697:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73668,"nodeType":"VariableDeclarationStatement","src":"7697:18:135"},{"body":{"id":73689,"nodeType":"Block","src":"7765:75:135","statements":[{"expression":{"id":73687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73679,"name":"totalScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73667,"src":"7773:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"expression":{"id":73680,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73649,"src":"7787:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7789:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"7787:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":73686,"indexExpression":{"expression":{"baseExpression":{"id":73682,"name":"nodeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73659,"src":"7811:10:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr","typeString":"struct DataTypes.Token memory[] memory"}},"id":73684,"indexExpression":{"id":73683,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73670,"src":"7822:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7811:13:135","typeDescriptions":{"typeIdentifier":"t_struct$_Token_$71325_memory_ptr","typeString":"struct DataTypes.Token memory"}},"id":73685,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7825:7:135","memberName":"levelId","nodeType":"MemberAccess","referencedDeclaration":71318,"src":"7811:21:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7787:46:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7773:60:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73688,"nodeType":"ExpressionStatement","src":"7773:60:135"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73672,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73670,"src":"7737:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":73673,"name":"nodeLevels","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73659,"src":"7741:10:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr","typeString":"struct DataTypes.Token memory[] memory"}},"id":73674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7752:6:135","memberName":"length","nodeType":"MemberAccess","src":"7741:17:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7737:21:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73690,"initializationExpression":{"assignments":[73670],"declarations":[{"constant":false,"id":73670,"mutability":"mutable","name":"i","nameLocation":"7734:1:135","nodeType":"VariableDeclaration","scope":73690,"src":"7726:9:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73669,"name":"uint256","nodeType":"ElementaryTypeName","src":"7726:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73671,"nodeType":"VariableDeclarationStatement","src":"7726:9:135"},"loopExpression":{"expression":{"id":73677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7760:3:135","subExpression":{"id":73676,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73670,"src":"7760:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73678,"nodeType":"ExpressionStatement","src":"7760:3:135"},"nodeType":"ForStatement","src":"7721:119:135"},{"expression":{"id":73691,"name":"totalScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73667,"src":"7852:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73644,"id":73692,"nodeType":"Return","src":"7845:17:135"}]},"documentation":{"id":73638,"nodeType":"StructuredDocumentation","src":"7207:214:135","text":" @notice Returns the total endorsement score a user has from all their managed nodes.\n @param user The address of the user.\n @return Total endorsement points across all nodes the user manages."},"functionSelector":"c996c624","id":73694,"implemented":true,"kind":"function","modifiers":[],"name":"getUsersEndorsementScore","nameLocation":"7433:24:135","nodeType":"FunctionDefinition","parameters":{"id":73641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73640,"mutability":"mutable","name":"user","nameLocation":"7466:4:135","nodeType":"VariableDeclaration","scope":73694,"src":"7458:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73639,"name":"address","nodeType":"ElementaryTypeName","src":"7458:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7457:14:135"},"returnParameters":{"id":73644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73643,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73694,"src":"7495:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73642,"name":"uint256","nodeType":"ElementaryTypeName","src":"7495:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7494:9:135"},"scope":76581,"src":"7424:443:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73724,"nodeType":"Block","src":"8178:219:135","statements":[{"assignments":[73706],"declarations":[{"constant":false,"id":73706,"mutability":"mutable","name":"$","nameLocation":"8234:1:135","nodeType":"VariableDeclaration","scope":73724,"src":"8184:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":73705,"nodeType":"UserDefinedTypeName","pathNode":{"id":73704,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["8184:22:135","8207:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"8184:41:135"},"referencedDeclaration":76750,"src":"8184:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":73710,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73707,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"8238:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8261:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"8238:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8238:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8184:101:135"},{"assignments":[73712],"declarations":[{"constant":false,"id":73712,"mutability":"mutable","name":"nodeLevel","nameLocation":"8297:9:135","nodeType":"VariableDeclaration","scope":73724,"src":"8291:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73711,"name":"uint8","nodeType":"ElementaryTypeName","src":"8291:5:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":73718,"initialValue":{"arguments":[{"id":73716,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73697,"src":"8338:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":73713,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73706,"src":"8309:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73714,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8311:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"8309:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":73715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8324:13:135","memberName":"getTokenLevel","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"8309:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view external returns (uint8)"}},"id":73717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8309:36:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"8291:54:135"},{"expression":{"baseExpression":{"expression":{"id":73719,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73706,"src":"8358:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73720,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8360:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"8358:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":73722,"indexExpression":{"id":73721,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73712,"src":"8382:9:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8358:34:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73701,"id":73723,"nodeType":"Return","src":"8351:41:135"}]},"documentation":{"id":73695,"nodeType":"StructuredDocumentation","src":"7871:223:135","text":" @notice Returns the endorsement score for a specific node based on its level.\n @param nodeId The unique identifier of the node.\n @return The endorsement score the node has based on its strength level."},"functionSelector":"42c89f52","id":73725,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeEndorsementScore","nameLocation":"8106:23:135","nodeType":"FunctionDefinition","parameters":{"id":73698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73697,"mutability":"mutable","name":"nodeId","nameLocation":"8138:6:135","nodeType":"VariableDeclaration","scope":73725,"src":"8130:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73696,"name":"uint256","nodeType":"ElementaryTypeName","src":"8130:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8129:16:135"},"returnParameters":{"id":73701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73725,"src":"8169:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73699,"name":"uint256","nodeType":"ElementaryTypeName","src":"8169:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8168:9:135"},"scope":76581,"src":"8097:300:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73740,"nodeType":"Block","src":"8726:98:135","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73733,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"8739:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8762:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"8739:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8739:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73736,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8787:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"8739:69:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":73738,"indexExpression":{"id":73737,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73728,"src":"8809:9:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8739:80:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73732,"id":73739,"nodeType":"Return","src":"8732:87:135"}]},"documentation":{"id":73726,"nodeType":"StructuredDocumentation","src":"8401:238:135","text":" @notice Returns the endorsement score for a specific node strength level.\n @param nodeLevel The strength level (1-7 corresponding to different node types).\n @return The endorsement score assigned to that node level."},"functionSelector":"acdb9f05","id":73741,"implemented":true,"kind":"function","modifiers":[],"name":"nodeLevelEndorsementScore","nameLocation":"8651:25:135","nodeType":"FunctionDefinition","parameters":{"id":73729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73728,"mutability":"mutable","name":"nodeLevel","nameLocation":"8683:9:135","nodeType":"VariableDeclaration","scope":73741,"src":"8677:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73727,"name":"uint8","nodeType":"ElementaryTypeName","src":"8677:5:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8676:17:135"},"returnParameters":{"id":73732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73731,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73741,"src":"8717:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73730,"name":"uint256","nodeType":"ElementaryTypeName","src":"8717:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8716:9:135"},"scope":76581,"src":"8642:182:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73752,"nodeType":"Block","src":"9097:86:135","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73747,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"9110:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9133:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"9110:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9110:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9158:20:135","memberName":"_gracePeriodDuration","nodeType":"MemberAccess","referencedDeclaration":76680,"src":"9110:68:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":73746,"id":73751,"nodeType":"Return","src":"9103:75:135"}]},"documentation":{"id":73742,"nodeType":"StructuredDocumentation","src":"8828:211:135","text":" @notice Returns the grace period duration in blocks.\n @dev Grace period is the time an app has to regain endorsement after losing eligibility.\n @return The grace period duration in blocks."},"functionSelector":"a06db7dc","id":73753,"implemented":true,"kind":"function","modifiers":[],"name":"gracePeriod","nameLocation":"9051:11:135","nodeType":"FunctionDefinition","parameters":{"id":73743,"nodeType":"ParameterList","parameters":[],"src":"9062:2:135"},"returnParameters":{"id":73746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73753,"src":"9088:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73744,"name":"uint256","nodeType":"ElementaryTypeName","src":"9088:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9087:9:135"},"scope":76581,"src":"9042:141:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73764,"nodeType":"Block","src":"9448:81:135","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73759,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"9461:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9484:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"9461:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9461:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9509:15:135","memberName":"_cooldownPeriod","nodeType":"MemberAccess","referencedDeclaration":76703,"src":"9461:63:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73758,"id":73763,"nodeType":"Return","src":"9454:70:135"}]},"documentation":{"id":73754,"nodeType":"StructuredDocumentation","src":"9187:200:135","text":" @notice Returns the cooldown period duration in rounds.\n @dev Cooldown prevents immediate un-endorsement after endorsing an app.\n @return The cooldown period duration in rounds."},"functionSelector":"04646a49","id":73765,"implemented":true,"kind":"function","modifiers":[],"name":"cooldownPeriod","nameLocation":"9399:14:135","nodeType":"FunctionDefinition","parameters":{"id":73755,"nodeType":"ParameterList","parameters":[],"src":"9413:2:135"},"returnParameters":{"id":73758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73757,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73765,"src":"9439:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73756,"name":"uint256","nodeType":"ElementaryTypeName","src":"9439:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9438:9:135"},"scope":76581,"src":"9390:139:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73776,"nodeType":"Block","src":"9761:92:135","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73771,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"9774:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9797:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"9774:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9774:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73774,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9822:26:135","memberName":"_endorsementScoreThreshold","nodeType":"MemberAccess","referencedDeclaration":76682,"src":"9774:74:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73770,"id":73775,"nodeType":"Return","src":"9767:81:135"}]},"documentation":{"id":73766,"nodeType":"StructuredDocumentation","src":"9533:156:135","text":" @notice Returns the minimum endorsement score required for an app to be eligible.\n @return The endorsement score threshold (default 100)."},"functionSelector":"f1a962ac","id":73777,"implemented":true,"kind":"function","modifiers":[],"name":"endorsementScoreThreshold","nameLocation":"9701:25:135","nodeType":"FunctionDefinition","parameters":{"id":73767,"nodeType":"ParameterList","parameters":[],"src":"9726:2:135"},"returnParameters":{"id":73770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73769,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73777,"src":"9752:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73768,"name":"uint256","nodeType":"ElementaryTypeName","src":"9752:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9751:9:135"},"scope":76581,"src":"9692:161:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73800,"nodeType":"Block","src":"10217:134:135","statements":[{"condition":{"id":73787,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73782,"src":"10227:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73790,"nodeType":"IfStatement","src":"10223:31:135","trueBody":{"expression":{"hexValue":"66616c7365","id":73788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10249:5:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":73786,"id":73789,"nodeType":"Return","src":"10242:12:135"}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73791,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"10267:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10290:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"10267:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10267:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10315:20:135","memberName":"_unendorsedAppsIndex","nodeType":"MemberAccess","referencedDeclaration":76661,"src":"10267:68:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":73796,"indexExpression":{"id":73795,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73780,"src":"10336:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10267:75:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":73797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10345:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10267:79:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73786,"id":73799,"nodeType":"Return","src":"10260:86:135"}]},"documentation":{"id":73778,"nodeType":"StructuredDocumentation","src":"9857:268:135","text":" @notice Checks if an app is in the unendorsed (pending endorsement) list.\n @param appId The unique identifier of the app.\n @param isBlacklisted Whether the app is blacklisted.\n @return True if the app is pending endorsement, false otherwise."},"functionSelector":"1e13ed7a","id":73801,"implemented":true,"kind":"function","modifiers":[],"name":"isAppUnendorsed","nameLocation":"10137:15:135","nodeType":"FunctionDefinition","parameters":{"id":73783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73780,"mutability":"mutable","name":"appId","nameLocation":"10161:5:135","nodeType":"VariableDeclaration","scope":73801,"src":"10153:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10153:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73782,"mutability":"mutable","name":"isBlacklisted","nameLocation":"10173:13:135","nodeType":"VariableDeclaration","scope":73801,"src":"10168:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73781,"name":"bool","nodeType":"ElementaryTypeName","src":"10168:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10152:35:135"},"returnParameters":{"id":73786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73785,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73801,"src":"10211:4:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73784,"name":"bool","nodeType":"ElementaryTypeName","src":"10211:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10210:6:135"},"scope":76581,"src":"10128:223:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73813,"nodeType":"Block","src":"10583:81:135","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73808,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"10596:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10619:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"10596:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10596:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10644:15:135","memberName":"_unendorsedApps","nodeType":"MemberAccess","referencedDeclaration":76657,"src":"10596:63:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"functionReturnParameters":73807,"id":73812,"nodeType":"Return","src":"10589:70:135"}]},"documentation":{"id":73802,"nodeType":"StructuredDocumentation","src":"10355:156:135","text":" @notice Returns all app IDs that are currently pending endorsement.\n @return Array of app IDs waiting to reach the endorsement threshold."},"functionSelector":"d6418b8a","id":73814,"implemented":true,"kind":"function","modifiers":[],"name":"unendorsedAppIds","nameLocation":"10523:16:135","nodeType":"FunctionDefinition","parameters":{"id":73803,"nodeType":"ParameterList","parameters":[],"src":"10539:2:135"},"returnParameters":{"id":73807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73806,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73814,"src":"10565:16:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":73804,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10565:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":73805,"nodeType":"ArrayTypeName","src":"10565:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"10564:18:135"},"scope":76581,"src":"10514:150:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73825,"nodeType":"Block","src":"10882:89:135","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73820,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"10895:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10918:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"10895:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10895:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10943:23:135","memberName":"_maxPointsPerNodePerApp","nodeType":"MemberAccess","referencedDeclaration":76738,"src":"10895:71:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73819,"id":73824,"nodeType":"Return","src":"10888:78:135"}]},"documentation":{"id":73815,"nodeType":"StructuredDocumentation","src":"10668:145:135","text":" @notice Returns the maximum points a single node can assign to one app.\n @return The max points per node per app (default 49)."},"functionSelector":"4a0c4a42","id":73826,"implemented":true,"kind":"function","modifiers":[],"name":"maxPointsPerNodePerApp","nameLocation":"10825:22:135","nodeType":"FunctionDefinition","parameters":{"id":73816,"nodeType":"ParameterList","parameters":[],"src":"10847:2:135"},"returnParameters":{"id":73819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73826,"src":"10873:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73817,"name":"uint256","nodeType":"ElementaryTypeName","src":"10873:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10872:9:135"},"scope":76581,"src":"10816:155:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73837,"nodeType":"Block","src":"11182:82:135","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73832,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"11195:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11218:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"11195:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11195:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11243:16:135","memberName":"_maxPointsPerApp","nodeType":"MemberAccess","referencedDeclaration":76740,"src":"11195:64:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73831,"id":73836,"nodeType":"Return","src":"11188:71:135"}]},"documentation":{"id":73827,"nodeType":"StructuredDocumentation","src":"10975:145:135","text":" @notice Returns the maximum total points an app can receive from all endorsers.\n @return The max points per app (default 110)."},"functionSelector":"5cbc2ffb","id":73838,"implemented":true,"kind":"function","modifiers":[],"name":"maxPointsPerApp","nameLocation":"11132:15:135","nodeType":"FunctionDefinition","parameters":{"id":73828,"nodeType":"ParameterList","parameters":[],"src":"11147:2:135"},"returnParameters":{"id":73831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73830,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73838,"src":"11173:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73829,"name":"uint256","nodeType":"ElementaryTypeName","src":"11173:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11172:9:135"},"scope":76581,"src":"11123:141:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73849,"nodeType":"Block","src":"11479:85:135","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73844,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"11492:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11515:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"11492:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11492:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73847,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11540:19:135","memberName":"_endorsementsPaused","nodeType":"MemberAccess","referencedDeclaration":76742,"src":"11492:67:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73843,"id":73848,"nodeType":"Return","src":"11485:74:135"}]},"documentation":{"id":73839,"nodeType":"StructuredDocumentation","src":"11268:149:135","text":" @notice Checks if endorsements are currently paused (during migration).\n @return True if endorsements are paused, false otherwise."},"functionSelector":"b90a30ea","id":73850,"implemented":true,"kind":"function","modifiers":[],"name":"endorsementsPaused","nameLocation":"11429:18:135","nodeType":"FunctionDefinition","parameters":{"id":73840,"nodeType":"ParameterList","parameters":[],"src":"11447:2:135"},"returnParameters":{"id":73843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73842,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73850,"src":"11473:4:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73841,"name":"bool","nodeType":"ElementaryTypeName","src":"11473:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11472:6:135"},"scope":76581,"src":"11420:144:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73861,"nodeType":"Block","src":"11760:85:135","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73856,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"11773:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11796:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"11773:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11773:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73859,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11821:19:135","memberName":"_migrationCompleted","nodeType":"MemberAccess","referencedDeclaration":76744,"src":"11773:67:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73855,"id":73860,"nodeType":"Return","src":"11766:74:135"}]},"documentation":{"id":73851,"nodeType":"StructuredDocumentation","src":"11568:130:135","text":" @notice Checks if the V8 migration has been completed.\n @return True if migration is complete, false otherwise."},"functionSelector":"31677980","id":73862,"implemented":true,"kind":"function","modifiers":[],"name":"migrationCompleted","nameLocation":"11710:18:135","nodeType":"FunctionDefinition","parameters":{"id":73852,"nodeType":"ParameterList","parameters":[],"src":"11728:2:135"},"returnParameters":{"id":73855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73854,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73862,"src":"11754:4:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73853,"name":"bool","nodeType":"ElementaryTypeName","src":"11754:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11753:6:135"},"scope":76581,"src":"11701:144:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73879,"nodeType":"Block","src":"12276:93:135","statements":[{"expression":{"baseExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73872,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"12289:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12312:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"12289:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12289:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12337:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"12289:67:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":73877,"indexExpression":{"id":73876,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73865,"src":"12357:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12289:75:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"functionReturnParameters":73871,"id":73878,"nodeType":"Return","src":"12282:82:135"}]},"documentation":{"id":73863,"nodeType":"StructuredDocumentation","src":"11849:297:135","text":" @notice Returns all active endorsements for a node.\n @dev Each endorsement contains appId, points, and endorsedAtRound for cooldown tracking.\n @param nodeId The unique identifier of the node.\n @return Array of Endorsement structs representing all apps the node endorses."},"functionSelector":"44532be2","id":73880,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeActiveEndorsements","nameLocation":"12158:25:135","nodeType":"FunctionDefinition","parameters":{"id":73866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73865,"mutability":"mutable","name":"nodeId","nameLocation":"12197:6:135","nodeType":"VariableDeclaration","scope":73880,"src":"12189:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73864,"name":"uint256","nodeType":"ElementaryTypeName","src":"12189:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12183:24:135"},"returnParameters":{"id":73871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73870,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73880,"src":"12231:43:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":73868,"nodeType":"UserDefinedTypeName","pathNode":{"id":73867,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["12231:22:135","12254:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"12231:34:135"},"referencedDeclaration":76643,"src":"12231:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":73869,"nodeType":"ArrayTypeName","src":"12231:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"src":"12230:45:135"},"scope":76581,"src":"12149:220:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73945,"nodeType":"Block","src":"12729:442:135","statements":[{"assignments":[73894],"declarations":[{"constant":false,"id":73894,"mutability":"mutable","name":"$","nameLocation":"12785:1:135","nodeType":"VariableDeclaration","scope":73945,"src":"12735:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":73893,"nodeType":"UserDefinedTypeName","pathNode":{"id":73892,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["12735:22:135","12758:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"12735:41:135"},"referencedDeclaration":76750,"src":"12735:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":73898,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73895,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"12789:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12812:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"12789:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12789:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12735:101:135"},{"assignments":[73904],"declarations":[{"constant":false,"id":73904,"mutability":"mutable","name":"endorsements","nameLocation":"12887:12:135","nodeType":"VariableDeclaration","scope":73945,"src":"12842:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":73902,"nodeType":"UserDefinedTypeName","pathNode":{"id":73901,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["12842:22:135","12865:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"12842:34:135"},"referencedDeclaration":76643,"src":"12842:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":73903,"nodeType":"ArrayTypeName","src":"12842:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":73909,"initialValue":{"baseExpression":{"expression":{"id":73905,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73894,"src":"12902:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12904:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"12902:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":73908,"indexExpression":{"id":73907,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"12924:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12902:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12842:89:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73910,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"12941:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":73911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12954:6:135","memberName":"length","nodeType":"MemberAccess","src":"12941:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":73912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12964:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12941:24:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73916,"nodeType":"IfStatement","src":"12937:38:135","trueBody":{"expression":{"hexValue":"30","id":73914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12974:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":73889,"id":73915,"nodeType":"Return","src":"12967:8:135"}},{"assignments":[73918],"declarations":[{"constant":false,"id":73918,"mutability":"mutable","name":"index","nameLocation":"12989:5:135","nodeType":"VariableDeclaration","scope":73945,"src":"12981:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73917,"name":"uint256","nodeType":"ElementaryTypeName","src":"12981:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73925,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":73919,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73894,"src":"12997:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12999:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"12997:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":73922,"indexExpression":{"id":73921,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73883,"src":"13027:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12997:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":73924,"indexExpression":{"id":73923,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73885,"src":"13035:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12997:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12981:60:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":73936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73926,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73918,"src":"13051:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":73927,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"13060:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":73928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13073:6:135","memberName":"length","nodeType":"MemberAccess","src":"13060:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13051:28:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":73935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":73930,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"13083:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":73932,"indexExpression":{"id":73931,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73918,"src":"13096:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13083:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":73933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13103:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"13083:25:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":73934,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73885,"src":"13112:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13083:34:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13051:66:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73939,"nodeType":"IfStatement","src":"13047:80:135","trueBody":{"expression":{"hexValue":"30","id":73937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13126:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":73889,"id":73938,"nodeType":"Return","src":"13119:8:135"}},{"expression":{"expression":{"baseExpression":{"id":73940,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73904,"src":"13140:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":73942,"indexExpression":{"id":73941,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73918,"src":"13153:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13140:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":73943,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13160:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"13140:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73889,"id":73944,"nodeType":"Return","src":"13133:33:135"}]},"documentation":{"id":73881,"nodeType":"StructuredDocumentation","src":"12373:261:135","text":" @notice Returns how many points a node has allocated to a specific app.\n @param nodeId The unique identifier of the node.\n @param appId The unique identifier of the app.\n @return The number of points the node has endorsed to this app."},"functionSelector":"72584102","id":73946,"implemented":true,"kind":"function","modifiers":[],"name":"getNodePointsForApp","nameLocation":"12646:19:135","nodeType":"FunctionDefinition","parameters":{"id":73886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73883,"mutability":"mutable","name":"nodeId","nameLocation":"12674:6:135","nodeType":"VariableDeclaration","scope":73946,"src":"12666:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73882,"name":"uint256","nodeType":"ElementaryTypeName","src":"12666:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73885,"mutability":"mutable","name":"appId","nameLocation":"12690:5:135","nodeType":"VariableDeclaration","scope":73946,"src":"12682:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12682:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12665:31:135"},"returnParameters":{"id":73889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73946,"src":"12720:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73887,"name":"uint256","nodeType":"ElementaryTypeName","src":"12720:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12719:9:135"},"scope":76581,"src":"12637:534:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":73998,"nodeType":"Block","src":"13453:356:135","statements":[{"assignments":[73958],"declarations":[{"constant":false,"id":73958,"mutability":"mutable","name":"$","nameLocation":"13509:1:135","nodeType":"VariableDeclaration","scope":73998,"src":"13459:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":73957,"nodeType":"UserDefinedTypeName","pathNode":{"id":73956,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["13459:22:135","13482:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"13459:41:135"},"referencedDeclaration":76750,"src":"13459:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":73962,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":73959,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"13513:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":73960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13536:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"13513:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":73961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13513:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13459:101:135"},{"assignments":[73968],"declarations":[{"constant":false,"id":73968,"mutability":"mutable","name":"endorsements","nameLocation":"13611:12:135","nodeType":"VariableDeclaration","scope":73998,"src":"13566:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":73966,"nodeType":"UserDefinedTypeName","pathNode":{"id":73965,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["13566:22:135","13589:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"13566:34:135"},"referencedDeclaration":76643,"src":"13566:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":73967,"nodeType":"ArrayTypeName","src":"13566:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":73973,"initialValue":{"baseExpression":{"expression":{"id":73969,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73958,"src":"13626:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":73970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13628:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"13626:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":73972,"indexExpression":{"id":73971,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73949,"src":"13648:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13626:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13566:89:135"},{"assignments":[73975],"declarations":[{"constant":false,"id":73975,"mutability":"mutable","name":"usedPoints","nameLocation":"13669:10:135","nodeType":"VariableDeclaration","scope":73998,"src":"13661:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73974,"name":"uint256","nodeType":"ElementaryTypeName","src":"13661:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73976,"nodeType":"VariableDeclarationStatement","src":"13661:18:135"},{"body":{"id":73994,"nodeType":"Block","src":"13731:51:135","statements":[{"expression":{"id":73992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73987,"name":"usedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73975,"src":"13739:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":73988,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73968,"src":"13753:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":73990,"indexExpression":{"id":73989,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73978,"src":"13766:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13753:15:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":73991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13769:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"13753:22:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13739:36:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73993,"nodeType":"ExpressionStatement","src":"13739:36:135"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73980,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73978,"src":"13701:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":73981,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73968,"src":"13705:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":73982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13718:6:135","memberName":"length","nodeType":"MemberAccess","src":"13705:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13701:23:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73995,"initializationExpression":{"assignments":[73978],"declarations":[{"constant":false,"id":73978,"mutability":"mutable","name":"i","nameLocation":"13698:1:135","nodeType":"VariableDeclaration","scope":73995,"src":"13690:9:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73977,"name":"uint256","nodeType":"ElementaryTypeName","src":"13690:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":73979,"nodeType":"VariableDeclarationStatement","src":"13690:9:135"},"loopExpression":{"expression":{"id":73985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13726:3:135","subExpression":{"id":73984,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73978,"src":"13726:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73986,"nodeType":"ExpressionStatement","src":"13726:3:135"},"nodeType":"ForStatement","src":"13685:97:135"},{"expression":{"id":73996,"name":"usedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73975,"src":"13794:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73953,"id":73997,"nodeType":"Return","src":"13787:17:135"}]},"documentation":{"id":73947,"nodeType":"StructuredDocumentation","src":"13175:200:135","text":" @notice Returns the total points a node has used across all endorsements.\n @param nodeId The unique identifier of the node.\n @return Total points the node has allocated to apps."},"functionSelector":"d76c3973","id":73999,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeUsedPoints","nameLocation":"13387:17:135","nodeType":"FunctionDefinition","parameters":{"id":73950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73949,"mutability":"mutable","name":"nodeId","nameLocation":"13413:6:135","nodeType":"VariableDeclaration","scope":73999,"src":"13405:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73948,"name":"uint256","nodeType":"ElementaryTypeName","src":"13405:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13404:16:135"},"returnParameters":{"id":73953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73999,"src":"13444:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73951,"name":"uint256","nodeType":"ElementaryTypeName","src":"13444:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13443:9:135"},"scope":76581,"src":"13378:431:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":74073,"nodeType":"Block","src":"14204:523:135","statements":[{"assignments":[74011],"declarations":[{"constant":false,"id":74011,"mutability":"mutable","name":"$","nameLocation":"14260:1:135","nodeType":"VariableDeclaration","scope":74073,"src":"14210:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74010,"nodeType":"UserDefinedTypeName","pathNode":{"id":74009,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["14210:22:135","14233:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"14210:41:135"},"referencedDeclaration":76750,"src":"14210:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74015,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74012,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"14264:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14287:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"14264:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14264:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"14210:101:135"},{"assignments":[74017],"declarations":[{"constant":false,"id":74017,"mutability":"mutable","name":"nodeLevel","nameLocation":"14323:9:135","nodeType":"VariableDeclaration","scope":74073,"src":"14317:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":74016,"name":"uint8","nodeType":"ElementaryTypeName","src":"14317:5:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":74023,"initialValue":{"arguments":[{"id":74021,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74002,"src":"14364:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":74018,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74011,"src":"14335:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14337:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"14335:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":74020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14350:13:135","memberName":"getTokenLevel","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"14335:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view external returns (uint8)"}},"id":74022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14335:36:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"14317:54:135"},{"assignments":[74025],"declarations":[{"constant":false,"id":74025,"mutability":"mutable","name":"totalPoints","nameLocation":"14385:11:135","nodeType":"VariableDeclaration","scope":74073,"src":"14377:19:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74024,"name":"uint256","nodeType":"ElementaryTypeName","src":"14377:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74030,"initialValue":{"baseExpression":{"expression":{"id":74026,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74011,"src":"14399:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14401:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"14399:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74029,"indexExpression":{"id":74028,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74017,"src":"14423:9:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14399:34:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14377:56:135"},{"assignments":[74036],"declarations":[{"constant":false,"id":74036,"mutability":"mutable","name":"endorsements","nameLocation":"14484:12:135","nodeType":"VariableDeclaration","scope":74073,"src":"14439:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":74034,"nodeType":"UserDefinedTypeName","pathNode":{"id":74033,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["14439:22:135","14462:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"14439:34:135"},"referencedDeclaration":76643,"src":"14439:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":74035,"nodeType":"ArrayTypeName","src":"14439:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":74041,"initialValue":{"baseExpression":{"expression":{"id":74037,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74011,"src":"14499:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14501:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"14499:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":74040,"indexExpression":{"id":74039,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74002,"src":"14521:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14499:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14439:89:135"},{"assignments":[74043],"declarations":[{"constant":false,"id":74043,"mutability":"mutable","name":"usedPoints","nameLocation":"14542:10:135","nodeType":"VariableDeclaration","scope":74073,"src":"14534:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74042,"name":"uint256","nodeType":"ElementaryTypeName","src":"14534:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74044,"nodeType":"VariableDeclarationStatement","src":"14534:18:135"},{"body":{"id":74062,"nodeType":"Block","src":"14604:51:135","statements":[{"expression":{"id":74060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74055,"name":"usedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74043,"src":"14612:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":74056,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74036,"src":"14626:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74058,"indexExpression":{"id":74057,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"14639:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14626:15:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":74059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14642:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"14626:22:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14612:36:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74061,"nodeType":"ExpressionStatement","src":"14612:36:135"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74048,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"14574:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74049,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74036,"src":"14578:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14591:6:135","memberName":"length","nodeType":"MemberAccess","src":"14578:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14574:23:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74063,"initializationExpression":{"assignments":[74046],"declarations":[{"constant":false,"id":74046,"mutability":"mutable","name":"i","nameLocation":"14571:1:135","nodeType":"VariableDeclaration","scope":74063,"src":"14563:9:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74045,"name":"uint256","nodeType":"ElementaryTypeName","src":"14563:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74047,"nodeType":"VariableDeclarationStatement","src":"14563:9:135"},"loopExpression":{"expression":{"id":74053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14599:3:135","subExpression":{"id":74052,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74046,"src":"14599:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74054,"nodeType":"ExpressionStatement","src":"14599:3:135"},"nodeType":"ForStatement","src":"14558:97:135"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74064,"name":"totalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74025,"src":"14667:11:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":74065,"name":"usedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74043,"src":"14681:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14667:24:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":74070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14721:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":74071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14667:55:135","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74067,"name":"totalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74025,"src":"14694:11:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74068,"name":"usedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74043,"src":"14708:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14694:24:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74006,"id":74072,"nodeType":"Return","src":"14660:62:135"}]},"documentation":{"id":74000,"nodeType":"StructuredDocumentation","src":"13813:308:135","text":" @notice Returns the available points a node can still allocate to apps.\n @dev Calculated as: totalPoints (based on node level) - usedPoints (sum of all endorsements).\n @param nodeId The unique identifier of the node.\n @return Available points the node can use for new endorsements."},"functionSelector":"e9f9739d","id":74074,"implemented":true,"kind":"function","modifiers":[],"name":"getNodeAvailablePoints","nameLocation":"14133:22:135","nodeType":"FunctionDefinition","parameters":{"id":74003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74002,"mutability":"mutable","name":"nodeId","nameLocation":"14164:6:135","nodeType":"VariableDeclaration","scope":74074,"src":"14156:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74001,"name":"uint256","nodeType":"ElementaryTypeName","src":"14156:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14155:16:135"},"returnParameters":{"id":74006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74074,"src":"14195:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74004,"name":"uint256","nodeType":"ElementaryTypeName","src":"14195:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14194:9:135"},"scope":76581,"src":"14124:603:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":74185,"nodeType":"Block","src":"15183:755:135","statements":[{"assignments":[74087],"declarations":[{"constant":false,"id":74087,"mutability":"mutable","name":"$","nameLocation":"15239:1:135","nodeType":"VariableDeclaration","scope":74185,"src":"15189:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74086,"nodeType":"UserDefinedTypeName","pathNode":{"id":74085,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["15189:22:135","15212:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"15189:41:135"},"referencedDeclaration":76750,"src":"15189:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74091,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74088,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"15243:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15266:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"15243:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15243:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15189:101:135"},{"assignments":[74093],"declarations":[{"constant":false,"id":74093,"mutability":"mutable","name":"nodeLevel","nameLocation":"15302:9:135","nodeType":"VariableDeclaration","scope":74185,"src":"15296:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":74092,"name":"uint8","nodeType":"ElementaryTypeName","src":"15296:5:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":74099,"initialValue":{"arguments":[{"id":74097,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"15343:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":74094,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74087,"src":"15314:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15316:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"15314:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":74096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15329:13:135","memberName":"getTokenLevel","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"15314:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view external returns (uint8)"}},"id":74098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15314:36:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"15296:54:135"},{"expression":{"id":74107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74100,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74081,"src":"15356:4:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo memory"}},"id":74102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15361:11:135","memberName":"totalPoints","nodeType":"MemberAccess","referencedDeclaration":76646,"src":"15356:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":74103,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74087,"src":"15375:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15377:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"15375:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74106,"indexExpression":{"id":74105,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74093,"src":"15399:9:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15375:34:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15356:53:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74108,"nodeType":"ExpressionStatement","src":"15356:53:135"},{"assignments":[74114],"declarations":[{"constant":false,"id":74114,"mutability":"mutable","name":"endorsements","nameLocation":"15461:12:135","nodeType":"VariableDeclaration","scope":74185,"src":"15416:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":74112,"nodeType":"UserDefinedTypeName","pathNode":{"id":74111,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["15416:22:135","15439:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"15416:34:135"},"referencedDeclaration":76643,"src":"15416:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":74113,"nodeType":"ArrayTypeName","src":"15416:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":74119,"initialValue":{"baseExpression":{"expression":{"id":74115,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74087,"src":"15476:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15478:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"15476:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":74118,"indexExpression":{"id":74117,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"15498:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15476:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15416:89:135"},{"assignments":[74121],"declarations":[{"constant":false,"id":74121,"mutability":"mutable","name":"currentRound","nameLocation":"15519:12:135","nodeType":"VariableDeclaration","scope":74185,"src":"15511:20:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74120,"name":"uint256","nodeType":"ElementaryTypeName","src":"15511:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74126,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":74122,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74087,"src":"15534:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15536:26:135","memberName":"_xAllocationVotingGovernor","nodeType":"MemberAccess","referencedDeclaration":76706,"src":"15534:28:135","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":74124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15563:14:135","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"15534:43:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15534:45:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15511:68:135"},{"body":{"id":74166,"nodeType":"Block","src":"15632:197:135","statements":[{"expression":{"id":74144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74137,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74081,"src":"15640:4:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo memory"}},"id":74139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15645:10:135","memberName":"usedPoints","nodeType":"MemberAccess","referencedDeclaration":76648,"src":"15640:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":74140,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74114,"src":"15659:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74142,"indexExpression":{"id":74141,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74128,"src":"15672:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15659:15:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":74143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15675:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"15659:22:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15640:41:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74145,"nodeType":"ExpressionStatement","src":"15640:41:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74146,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74121,"src":"15693:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74147,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74114,"src":"15708:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74149,"indexExpression":{"id":74148,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74128,"src":"15721:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15708:15:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":74150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15724:15:135","memberName":"endorsedAtRound","nodeType":"MemberAccess","referencedDeclaration":76642,"src":"15708:31:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":74151,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74087,"src":"15742:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15744:15:135","memberName":"_cooldownPeriod","nodeType":"MemberAccess","referencedDeclaration":76703,"src":"15742:17:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15708:51:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15693:66:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74165,"nodeType":"IfStatement","src":"15689:134:135","trueBody":{"id":74164,"nodeType":"Block","src":"15761:62:135","statements":[{"expression":{"id":74162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74155,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74081,"src":"15771:4:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo memory"}},"id":74157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15776:12:135","memberName":"lockedPoints","nodeType":"MemberAccess","referencedDeclaration":76652,"src":"15771:17:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":74158,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74114,"src":"15792:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74160,"indexExpression":{"id":74159,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74128,"src":"15805:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15792:15:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":74161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15808:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"15792:22:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15771:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74163,"nodeType":"ExpressionStatement","src":"15771:43:135"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74130,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74128,"src":"15602:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74131,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74114,"src":"15606:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15619:6:135","memberName":"length","nodeType":"MemberAccess","src":"15606:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15602:23:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74167,"initializationExpression":{"assignments":[74128],"declarations":[{"constant":false,"id":74128,"mutability":"mutable","name":"i","nameLocation":"15599:1:135","nodeType":"VariableDeclaration","scope":74167,"src":"15591:9:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74127,"name":"uint256","nodeType":"ElementaryTypeName","src":"15591:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74129,"nodeType":"VariableDeclarationStatement","src":"15591:9:135"},"loopExpression":{"expression":{"id":74135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15627:3:135","subExpression":{"id":74134,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74128,"src":"15627:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74136,"nodeType":"ExpressionStatement","src":"15627:3:135"},"nodeType":"ForStatement","src":"15586:243:135"},{"expression":{"id":74183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74168,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74081,"src":"15835:4:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo memory"}},"id":74170,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15840:15:135","memberName":"availablePoints","nodeType":"MemberAccess","referencedDeclaration":76650,"src":"15835:20:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74171,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74081,"src":"15858:4:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo memory"}},"id":74172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15863:11:135","memberName":"totalPoints","nodeType":"MemberAccess","referencedDeclaration":76646,"src":"15858:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":74173,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74081,"src":"15877:4:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo memory"}},"id":74174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15882:10:135","memberName":"usedPoints","nodeType":"MemberAccess","referencedDeclaration":76648,"src":"15877:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15858:34:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":74181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15932:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":74182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"15858:75:135","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74176,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74081,"src":"15895:4:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo memory"}},"id":74177,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15900:11:135","memberName":"totalPoints","nodeType":"MemberAccess","referencedDeclaration":76646,"src":"15895:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":74178,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74081,"src":"15914:4:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo memory"}},"id":74179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15919:10:135","memberName":"usedPoints","nodeType":"MemberAccess","referencedDeclaration":76648,"src":"15914:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15895:34:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15835:98:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74184,"nodeType":"ExpressionStatement","src":"15835:98:135"}]},"documentation":{"id":74075,"nodeType":"StructuredDocumentation","src":"14731:332:135","text":" @notice Returns comprehensive info about a node's endorsement points.\n @dev Calculates total, used, available, and locked (under cooldown) points in a single call.\n @param nodeId The unique identifier of the node.\n @return info Struct containing totalPoints, usedPoints, availablePoints, and lockedPoints."},"functionSelector":"5dd3a4f1","id":74186,"implemented":true,"kind":"function","modifiers":[],"name":"getNodePointsInfo","nameLocation":"15075:17:135","nodeType":"FunctionDefinition","parameters":{"id":74078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74077,"mutability":"mutable","name":"nodeId","nameLocation":"15101:6:135","nodeType":"VariableDeclaration","scope":74186,"src":"15093:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74076,"name":"uint256","nodeType":"ElementaryTypeName","src":"15093:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15092:16:135"},"returnParameters":{"id":74082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74081,"mutability":"mutable","name":"info","nameLocation":"15177:4:135","nodeType":"VariableDeclaration","scope":74186,"src":"15132:49:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo"},"typeName":{"id":74080,"nodeType":"UserDefinedTypeName","pathNode":{"id":74079,"name":"X2EarnAppsStorageTypes.NodePointsInfo","nameLocations":["15132:22:135","15155:14:135"],"nodeType":"IdentifierPath","referencedDeclaration":76653,"src":"15132:37:135"},"referencedDeclaration":76653,"src":"15132:37:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodePointsInfo_$76653_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.NodePointsInfo"}},"visibility":"internal"}],"src":"15131:51:135"},"scope":76581,"src":"15066:872:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":74259,"nodeType":"Block","src":"16452:528:135","statements":[{"assignments":[74200],"declarations":[{"constant":false,"id":74200,"mutability":"mutable","name":"$","nameLocation":"16508:1:135","nodeType":"VariableDeclaration","scope":74259,"src":"16458:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74199,"nodeType":"UserDefinedTypeName","pathNode":{"id":74198,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["16458:22:135","16481:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"16458:41:135"},"referencedDeclaration":76750,"src":"16458:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74204,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74201,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"16512:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16535:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"16512:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16512:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16458:101:135"},{"assignments":[74210],"declarations":[{"constant":false,"id":74210,"mutability":"mutable","name":"endorsements","nameLocation":"16610:12:135","nodeType":"VariableDeclaration","scope":74259,"src":"16565:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":74208,"nodeType":"UserDefinedTypeName","pathNode":{"id":74207,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["16565:22:135","16588:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"16565:34:135"},"referencedDeclaration":76643,"src":"16565:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":74209,"nodeType":"ArrayTypeName","src":"16565:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":74215,"initialValue":{"baseExpression":{"expression":{"id":74211,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74200,"src":"16625:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16627:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"16625:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":74214,"indexExpression":{"id":74213,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74189,"src":"16647:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16625:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16565:89:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74216,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74210,"src":"16664:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16677:6:135","memberName":"length","nodeType":"MemberAccess","src":"16664:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16687:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16664:24:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74222,"nodeType":"IfStatement","src":"16660:42:135","trueBody":{"expression":{"hexValue":"66616c7365","id":74220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16697:5:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":74195,"id":74221,"nodeType":"Return","src":"16690:12:135"}},{"assignments":[74224],"declarations":[{"constant":false,"id":74224,"mutability":"mutable","name":"index","nameLocation":"16716:5:135","nodeType":"VariableDeclaration","scope":74259,"src":"16708:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74223,"name":"uint256","nodeType":"ElementaryTypeName","src":"16708:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74231,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":74225,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74200,"src":"16724:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16726:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"16724:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":74228,"indexExpression":{"id":74227,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74189,"src":"16754:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16724:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":74230,"indexExpression":{"id":74229,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74191,"src":"16762:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16724:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16708:60:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74232,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74224,"src":"16778:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":74233,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74210,"src":"16787:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16800:6:135","memberName":"length","nodeType":"MemberAccess","src":"16787:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16778:28:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":74241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74236,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74210,"src":"16810:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74238,"indexExpression":{"id":74237,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74224,"src":"16823:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16810:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":74239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16830:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"16810:25:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":74240,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74191,"src":"16839:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16810:34:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16778:66:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74245,"nodeType":"IfStatement","src":"16774:84:135","trueBody":{"expression":{"hexValue":"66616c7365","id":74243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16853:5:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":74195,"id":74244,"nodeType":"Return","src":"16846:12:135"}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":74246,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74200,"src":"16871:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16873:26:135","memberName":"_xAllocationVotingGovernor","nodeType":"MemberAccess","referencedDeclaration":76706,"src":"16871:28:135","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":74248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16900:14:135","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"16871:43:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16871:45:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":74250,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74210,"src":"16920:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":74252,"indexExpression":{"id":74251,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74224,"src":"16933:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16920:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":74253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16940:15:135","memberName":"endorsedAtRound","nodeType":"MemberAccess","referencedDeclaration":76642,"src":"16920:35:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":74254,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74200,"src":"16958:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16960:15:135","memberName":"_cooldownPeriod","nodeType":"MemberAccess","referencedDeclaration":76703,"src":"16958:17:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16920:55:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16871:104:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74195,"id":74258,"nodeType":"Return","src":"16864:111:135"}]},"documentation":{"id":74187,"nodeType":"StructuredDocumentation","src":"15942:425:135","text":" @notice Checks if a node can unendorse a specific app (cooldown expired).\n @dev Returns false if node doesn't endorse the app or if cooldown hasn't expired.\n      Cooldown is measured in rounds (VeBetterDAO allocation rounds).\n @param nodeId The unique identifier of the node.\n @param appId The unique identifier of the app.\n @return True if the node can unendorse the app, false otherwise."},"functionSelector":"ccd4baca","id":74260,"implemented":true,"kind":"function","modifiers":[],"name":"canUnendorse","nameLocation":"16379:12:135","nodeType":"FunctionDefinition","parameters":{"id":74192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74189,"mutability":"mutable","name":"nodeId","nameLocation":"16400:6:135","nodeType":"VariableDeclaration","scope":74260,"src":"16392:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74188,"name":"uint256","nodeType":"ElementaryTypeName","src":"16392:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74191,"mutability":"mutable","name":"appId","nameLocation":"16416:5:135","nodeType":"VariableDeclaration","scope":74260,"src":"16408:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16408:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16391:31:135"},"returnParameters":{"id":74195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74260,"src":"16446:4:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74193,"name":"bool","nodeType":"ElementaryTypeName","src":"16446:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16445:6:135"},"scope":76581,"src":"16370:610:135","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":74343,"nodeType":"Block","src":"17424:600:135","statements":[{"assignments":[74271],"declarations":[{"constant":false,"id":74271,"mutability":"mutable","name":"$","nameLocation":"17480:1:135","nodeType":"VariableDeclaration","scope":74343,"src":"17430:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74270,"nodeType":"UserDefinedTypeName","pathNode":{"id":74269,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["17430:22:135","17453:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"17430:41:135"},"referencedDeclaration":76750,"src":"17430:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74275,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74272,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"17484:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17507:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"17484:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17484:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17430:101:135"},{"expression":{"id":74283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74276,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"17537:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17539:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"17537:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74280,"indexExpression":{"hexValue":"31","id":74278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17561:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17537:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74281,"name":"nodeStrengthScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74264,"src":"17566:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores calldata"}},"id":74282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17585:8:135","memberName":"strength","nodeType":"MemberAccess","referencedDeclaration":73268,"src":"17566:27:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17537:56:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74284,"nodeType":"ExpressionStatement","src":"17537:56:135"},{"expression":{"id":74292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74285,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"17599:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17601:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"17599:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74289,"indexExpression":{"hexValue":"32","id":74287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17623:1:135","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17599:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74290,"name":"nodeStrengthScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74264,"src":"17628:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores calldata"}},"id":74291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17647:7:135","memberName":"thunder","nodeType":"MemberAccess","referencedDeclaration":73270,"src":"17628:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17599:55:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74293,"nodeType":"ExpressionStatement","src":"17599:55:135"},{"expression":{"id":74301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74294,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"17660:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17662:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"17660:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74298,"indexExpression":{"hexValue":"33","id":74296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17684:1:135","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17660:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74299,"name":"nodeStrengthScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74264,"src":"17689:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores calldata"}},"id":74300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17708:7:135","memberName":"mjolnir","nodeType":"MemberAccess","referencedDeclaration":73272,"src":"17689:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17660:55:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74302,"nodeType":"ExpressionStatement","src":"17660:55:135"},{"expression":{"id":74310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74303,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"17721:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17723:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"17721:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74307,"indexExpression":{"hexValue":"34","id":74305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17745:1:135","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17721:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74308,"name":"nodeStrengthScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74264,"src":"17750:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores calldata"}},"id":74309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17769:7:135","memberName":"veThorX","nodeType":"MemberAccess","referencedDeclaration":73274,"src":"17750:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17721:55:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74311,"nodeType":"ExpressionStatement","src":"17721:55:135"},{"expression":{"id":74319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74312,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"17782:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17784:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"17782:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74316,"indexExpression":{"hexValue":"35","id":74314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17806:1:135","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17782:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74317,"name":"nodeStrengthScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74264,"src":"17811:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores calldata"}},"id":74318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17830:9:135","memberName":"strengthX","nodeType":"MemberAccess","referencedDeclaration":73276,"src":"17811:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17782:57:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74320,"nodeType":"ExpressionStatement","src":"17782:57:135"},{"expression":{"id":74328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74321,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"17845:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17847:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"17845:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74325,"indexExpression":{"hexValue":"36","id":74323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17869:1:135","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17845:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74326,"name":"nodeStrengthScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74264,"src":"17874:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores calldata"}},"id":74327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17893:8:135","memberName":"thunderX","nodeType":"MemberAccess","referencedDeclaration":73278,"src":"17874:27:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17845:56:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74329,"nodeType":"ExpressionStatement","src":"17845:56:135"},{"expression":{"id":74337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74330,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74271,"src":"17907:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17909:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"17907:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74334,"indexExpression":{"hexValue":"37","id":74332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17931:1:135","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17907:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":74335,"name":"nodeStrengthScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74264,"src":"17936:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores calldata"}},"id":74336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17955:8:135","memberName":"mjolnirX","nodeType":"MemberAccess","referencedDeclaration":73280,"src":"17936:27:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17907:56:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74338,"nodeType":"ExpressionStatement","src":"17907:56:135"},{"eventCall":{"arguments":[{"id":74340,"name":"nodeStrengthScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74264,"src":"18000:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores calldata"}],"id":74339,"name":"NodeStrengthScoresUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73408,"src":"17974:25:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_NodeStrengthScores_$73281_memory_ptr_$returns$__$","typeString":"function (struct EndorsementUtils.NodeStrengthScores memory)"}},"id":74341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17974:45:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74342,"nodeType":"EmitStatement","src":"17969:50:135"}]},"documentation":{"id":74261,"nodeType":"StructuredDocumentation","src":"17071:256:135","text":" @notice Updates the endorsement scores for all node strength levels.\n @dev Called by governance to adjust how many endorsement points each node type provides.\n @param nodeStrengthScores Struct containing scores for all 7 node levels."},"functionSelector":"38114221","id":74344,"implemented":true,"kind":"function","modifiers":[],"name":"updateNodeEndorsementScores","nameLocation":"17339:27:135","nodeType":"FunctionDefinition","parameters":{"id":74265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74264,"mutability":"mutable","name":"nodeStrengthScores","nameLocation":"17395:18:135","nodeType":"VariableDeclaration","scope":74344,"src":"17367:46:135","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_calldata_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores"},"typeName":{"id":74263,"nodeType":"UserDefinedTypeName","pathNode":{"id":74262,"name":"NodeStrengthScores","nameLocations":["17367:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":73281,"src":"17367:18:135"},"referencedDeclaration":73281,"src":"17367:18:135","typeDescriptions":{"typeIdentifier":"t_struct$_NodeStrengthScores_$73281_storage_ptr","typeString":"struct EndorsementUtils.NodeStrengthScores"}},"visibility":"internal"}],"src":"17366:48:135"},"returnParameters":{"id":74266,"nodeType":"ParameterList","parameters":[],"src":"17424:0:135"},"scope":76581,"src":"17330:694:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":74438,"nodeType":"Block","src":"18448:591:135","statements":[{"assignments":[74356],"declarations":[{"constant":false,"id":74356,"mutability":"mutable","name":"$","nameLocation":"18504:1:135","nodeType":"VariableDeclaration","scope":74438,"src":"18454:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74355,"nodeType":"UserDefinedTypeName","pathNode":{"id":74354,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["18454:22:135","18477:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"18454:41:135"},"referencedDeclaration":76750,"src":"18454:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74360,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74357,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"18508:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18531:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"18508:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18508:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"18454:101:135"},{"condition":{"id":74361,"name":"remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74349,"src":"18565:6:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":74436,"nodeType":"Block","src":"18927:108:135","statements":[{"expression":{"arguments":[{"id":74423,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74347,"src":"18958:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":74418,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"18935:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18937:15:135","memberName":"_unendorsedApps","nodeType":"MemberAccess","referencedDeclaration":76657,"src":"18935:17:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":74422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18953:4:135","memberName":"push","nodeType":"MemberAccess","src":"18935:22:135","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":74424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18935:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74425,"nodeType":"ExpressionStatement","src":"18935:29:135"},{"expression":{"id":74434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74426,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"18972:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18974:20:135","memberName":"_unendorsedAppsIndex","nodeType":"MemberAccess","referencedDeclaration":76661,"src":"18972:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":74430,"indexExpression":{"id":74428,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74347,"src":"18995:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18972:29:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":74431,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"19004:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19006:15:135","memberName":"_unendorsedApps","nodeType":"MemberAccess","referencedDeclaration":76657,"src":"19004:17:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":74433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19022:6:135","memberName":"length","nodeType":"MemberAccess","src":"19004:24:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18972:56:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74435,"nodeType":"ExpressionStatement","src":"18972:56:135"}]},"id":74437,"nodeType":"IfStatement","src":"18561:474:135","trueBody":{"id":74417,"nodeType":"Block","src":"18573:348:135","statements":[{"assignments":[74363],"declarations":[{"constant":false,"id":74363,"mutability":"mutable","name":"index","nameLocation":"18589:5:135","nodeType":"VariableDeclaration","scope":74417,"src":"18581:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74362,"name":"uint256","nodeType":"ElementaryTypeName","src":"18581:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74370,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":74364,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"18597:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18599:20:135","memberName":"_unendorsedAppsIndex","nodeType":"MemberAccess","referencedDeclaration":76661,"src":"18597:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":74367,"indexExpression":{"id":74366,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74347,"src":"18620:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18597:29:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":74368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18629:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18597:33:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18581:49:135"},{"assignments":[74372],"declarations":[{"constant":false,"id":74372,"mutability":"mutable","name":"lastIndex","nameLocation":"18646:9:135","nodeType":"VariableDeclaration","scope":74417,"src":"18638:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74371,"name":"uint256","nodeType":"ElementaryTypeName","src":"18638:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74378,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":74373,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"18658:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18660:15:135","memberName":"_unendorsedApps","nodeType":"MemberAccess","referencedDeclaration":76657,"src":"18658:17:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":74375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18676:6:135","memberName":"length","nodeType":"MemberAccess","src":"18658:24:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":74376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18685:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18658:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18638:48:135"},{"assignments":[74380],"declarations":[{"constant":false,"id":74380,"mutability":"mutable","name":"lastAppId","nameLocation":"18702:9:135","nodeType":"VariableDeclaration","scope":74417,"src":"18694:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18694:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":74385,"initialValue":{"baseExpression":{"expression":{"id":74381,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"18714:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74382,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18716:15:135","memberName":"_unendorsedApps","nodeType":"MemberAccess","referencedDeclaration":76657,"src":"18714:17:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":74384,"indexExpression":{"id":74383,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74372,"src":"18732:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18714:28:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18694:48:135"},{"expression":{"id":74392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74386,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"18750:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18752:15:135","memberName":"_unendorsedApps","nodeType":"MemberAccess","referencedDeclaration":76657,"src":"18750:17:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":74390,"indexExpression":{"id":74388,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74363,"src":"18768:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18750:24:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74391,"name":"lastAppId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74380,"src":"18777:9:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18750:36:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":74393,"nodeType":"ExpressionStatement","src":"18750:36:135"},{"expression":{"id":74402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":74394,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"18794:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18796:20:135","memberName":"_unendorsedAppsIndex","nodeType":"MemberAccess","referencedDeclaration":76661,"src":"18794:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":74398,"indexExpression":{"id":74396,"name":"lastAppId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74380,"src":"18817:9:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18794:33:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74399,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74363,"src":"18830:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":74400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18838:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18830:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18794:45:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74403,"nodeType":"ExpressionStatement","src":"18794:45:135"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":74404,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"18847:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18849:15:135","memberName":"_unendorsedApps","nodeType":"MemberAccess","referencedDeclaration":76657,"src":"18847:17:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":74408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18865:3:135","memberName":"pop","nodeType":"MemberAccess","src":"18847:21:135","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer)"}},"id":74409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18847:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74410,"nodeType":"ExpressionStatement","src":"18847:23:135"},{"expression":{"id":74415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"18878:36:135","subExpression":{"baseExpression":{"expression":{"id":74411,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"18885:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18887:20:135","memberName":"_unendorsedAppsIndex","nodeType":"MemberAccess","referencedDeclaration":76661,"src":"18885:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":74414,"indexExpression":{"id":74413,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74347,"src":"18908:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18885:29:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74416,"nodeType":"ExpressionStatement","src":"18878:36:135"}]}}]},"documentation":{"id":74345,"nodeType":"StructuredDocumentation","src":"18028:352:135","text":" @notice Adds or removes an app from the unendorsed apps list.\n @dev Apps in this list have been submitted but haven't reached the endorsement threshold yet.\n      Uses swap-and-pop pattern for O(1) removal.\n @param appId The unique identifier of the app.\n @param remove If true, removes from list; if false, adds to list."},"functionSelector":"fcaf9a76","id":74439,"implemented":true,"kind":"function","modifiers":[],"name":"updateUnendorsedApps","nameLocation":"18392:20:135","nodeType":"FunctionDefinition","parameters":{"id":74350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74347,"mutability":"mutable","name":"appId","nameLocation":"18421:5:135","nodeType":"VariableDeclaration","scope":74439,"src":"18413:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18413:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":74349,"mutability":"mutable","name":"remove","nameLocation":"18433:6:135","nodeType":"VariableDeclaration","scope":74439,"src":"18428:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74348,"name":"bool","nodeType":"ElementaryTypeName","src":"18428:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18412:28:135"},"returnParameters":{"id":74351,"nodeType":"ParameterList","parameters":[],"src":"18448:0:135"},"scope":76581,"src":"18383:656:135","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":74466,"nodeType":"Block","src":"19319:236:135","statements":[{"assignments":[74449],"declarations":[{"constant":false,"id":74449,"mutability":"mutable","name":"$","nameLocation":"19375:1:135","nodeType":"VariableDeclaration","scope":74466,"src":"19325:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74448,"nodeType":"UserDefinedTypeName","pathNode":{"id":74447,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["19325:22:135","19348:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"19325:41:135"},"referencedDeclaration":76750,"src":"19325:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74453,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74450,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"19379:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19402:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"19379:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19325:101:135"},{"eventCall":{"arguments":[{"expression":{"id":74455,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74449,"src":"19456:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19458:20:135","memberName":"_gracePeriodDuration","nodeType":"MemberAccess","referencedDeclaration":76680,"src":"19456:22:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":74457,"name":"gracePeriodDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74442,"src":"19480:19:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":74454,"name":"GracePeriodUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73428,"src":"19437:18:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":74458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19437:63:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74459,"nodeType":"EmitStatement","src":"19432:68:135"},{"expression":{"id":74464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74460,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74449,"src":"19506:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74462,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19508:20:135","memberName":"_gracePeriodDuration","nodeType":"MemberAccess","referencedDeclaration":76680,"src":"19506:22:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74463,"name":"gracePeriodDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74442,"src":"19531:19:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"19506:44:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":74465,"nodeType":"ExpressionStatement","src":"19506:44:135"}]},"documentation":{"id":74440,"nodeType":"StructuredDocumentation","src":"19043:212:135","text":" @notice Sets the grace period duration.\n @dev Grace period is the time an app has to regain endorsement after losing eligibility.\n @param gracePeriodDuration The new grace period in blocks."},"functionSelector":"a11bd9fb","id":74467,"implemented":true,"kind":"function","modifiers":[],"name":"setGracePeriod","nameLocation":"19267:14:135","nodeType":"FunctionDefinition","parameters":{"id":74443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74442,"mutability":"mutable","name":"gracePeriodDuration","nameLocation":"19289:19:135","nodeType":"VariableDeclaration","scope":74467,"src":"19282:26:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":74441,"name":"uint48","nodeType":"ElementaryTypeName","src":"19282:6:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"19281:28:135"},"returnParameters":{"id":74444,"nodeType":"ParameterList","parameters":[],"src":"19319:0:135"},"scope":76581,"src":"19258:297:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":74494,"nodeType":"Block","src":"19834:235:135","statements":[{"assignments":[74477],"declarations":[{"constant":false,"id":74477,"mutability":"mutable","name":"$","nameLocation":"19890:1:135","nodeType":"VariableDeclaration","scope":74494,"src":"19840:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74476,"nodeType":"UserDefinedTypeName","pathNode":{"id":74475,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["19840:22:135","19863:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"19840:41:135"},"referencedDeclaration":76750,"src":"19840:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74481,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74478,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"19894:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19917:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"19894:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19894:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"19840:101:135"},{"eventCall":{"arguments":[{"expression":{"id":74483,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74477,"src":"19974:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19976:15:135","memberName":"_cooldownPeriod","nodeType":"MemberAccess","referencedDeclaration":76703,"src":"19974:17:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74485,"name":"cooldownPeriodDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74470,"src":"19993:22:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74482,"name":"CooldownPeriodUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73434,"src":"19952:21:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":74486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19952:64:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74487,"nodeType":"EmitStatement","src":"19947:69:135"},{"expression":{"id":74492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74488,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74477,"src":"20022:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20024:15:135","memberName":"_cooldownPeriod","nodeType":"MemberAccess","referencedDeclaration":76703,"src":"20022:17:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74491,"name":"cooldownPeriodDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74470,"src":"20042:22:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20022:42:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74493,"nodeType":"ExpressionStatement","src":"20022:42:135"}]},"documentation":{"id":74468,"nodeType":"StructuredDocumentation","src":"19559:204:135","text":" @notice Sets the cooldown period duration.\n @dev Cooldown prevents immediate un-endorsement after endorsing an app.\n @param cooldownPeriodDuration The new cooldown period in rounds."},"functionSelector":"80ea3de1","id":74495,"implemented":true,"kind":"function","modifiers":[],"name":"setCooldownPeriod","nameLocation":"19775:17:135","nodeType":"FunctionDefinition","parameters":{"id":74471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74470,"mutability":"mutable","name":"cooldownPeriodDuration","nameLocation":"19801:22:135","nodeType":"VariableDeclaration","scope":74495,"src":"19793:30:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74469,"name":"uint256","nodeType":"ElementaryTypeName","src":"19793:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19792:32:135"},"returnParameters":{"id":74472,"nodeType":"ParameterList","parameters":[],"src":"19834:0:135"},"scope":76581,"src":"19766:303:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":74534,"nodeType":"Block","src":"20394:387:135","statements":[{"assignments":[74505],"declarations":[{"constant":false,"id":74505,"mutability":"mutable","name":"$","nameLocation":"20450:1:135","nodeType":"VariableDeclaration","scope":74534,"src":"20400:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74504,"nodeType":"UserDefinedTypeName","pathNode":{"id":74503,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["20400:22:135","20423:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"20400:41:135"},"referencedDeclaration":76750,"src":"20400:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74509,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74506,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"20454:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20477:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"20454:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20454:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20400:101:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74510,"name":"scoreThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74498,"src":"20511:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":74511,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74505,"src":"20528:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20530:16:135","memberName":"_maxPointsPerApp","nodeType":"MemberAccess","referencedDeclaration":76740,"src":"20528:18:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20511:35:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74521,"nodeType":"IfStatement","src":"20507:130:135","trueBody":{"id":74520,"nodeType":"Block","src":"20548:89:135","statements":[{"errorCall":{"arguments":[{"id":74515,"name":"scoreThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74498,"src":"20595:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74516,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74505,"src":"20611:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20613:16:135","memberName":"_maxPointsPerApp","nodeType":"MemberAccess","referencedDeclaration":76740,"src":"20611:18:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74514,"name":"ThresholdExceedsMaxPointsPerApp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73365,"src":"20563:31:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20563:67:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74519,"nodeType":"RevertStatement","src":"20556:74:135"}]}},{"eventCall":{"arguments":[{"expression":{"id":74523,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74505,"src":"20680:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20682:26:135","memberName":"_endorsementScoreThreshold","nodeType":"MemberAccess","referencedDeclaration":76682,"src":"20680:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74525,"name":"scoreThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74498,"src":"20710:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74522,"name":"EndorsementScoreThresholdUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73440,"src":"20647:32:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":74526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20647:78:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74527,"nodeType":"EmitStatement","src":"20642:83:135"},{"expression":{"id":74532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74528,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74505,"src":"20731:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20733:26:135","memberName":"_endorsementScoreThreshold","nodeType":"MemberAccess","referencedDeclaration":76682,"src":"20731:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74531,"name":"scoreThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74498,"src":"20762:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20731:45:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74533,"nodeType":"ExpressionStatement","src":"20731:45:135"}]},"documentation":{"id":74496,"nodeType":"StructuredDocumentation","src":"20073:244:135","text":" @notice Updates the minimum endorsement score required for app eligibility.\n @dev Reverts if scoreThreshold > maxPointsPerApp (would make threshold unreachable).\n @param scoreThreshold The new endorsement score threshold."},"functionSelector":"4f77fe12","id":74535,"implemented":true,"kind":"function","modifiers":[],"name":"updateEndorsementScoreThreshold","nameLocation":"20329:31:135","nodeType":"FunctionDefinition","parameters":{"id":74499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74498,"mutability":"mutable","name":"scoreThreshold","nameLocation":"20369:14:135","nodeType":"VariableDeclaration","scope":74535,"src":"20361:22:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74497,"name":"uint256","nodeType":"ElementaryTypeName","src":"20361:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20360:24:135"},"returnParameters":{"id":74500,"nodeType":"ParameterList","parameters":[],"src":"20394:0:135"},"scope":76581,"src":"20320:461:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":74553,"nodeType":"Block","src":"21082:103:135","statements":[{"expression":{"arguments":[{"id":74544,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"21109:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":74545,"name":"endorsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"21116:8:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74543,"name":"updateUnendorsedApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74439,"src":"21088:20:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bool)"}},"id":74546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21088:37:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74547,"nodeType":"ExpressionStatement","src":"21088:37:135"},{"eventCall":{"arguments":[{"id":74549,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74538,"src":"21164:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":74550,"name":"endorsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"21171:8:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74548,"name":"AppEndorsementStatusUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73414,"src":"21136:27:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bool)"}},"id":74551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21136:44:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74552,"nodeType":"EmitStatement","src":"21131:49:135"}]},"documentation":{"id":74536,"nodeType":"StructuredDocumentation","src":"20785:227:135","text":" @notice Sets the endorsement status of an app and updates pending list.\n @param appId The unique identifier of the app.\n @param endorsed If true, removes from pending list; if false, adds to pending list."},"functionSelector":"9fcb2b41","id":74554,"implemented":true,"kind":"function","modifiers":[],"name":"setEndorsementStatus","nameLocation":"21024:20:135","nodeType":"FunctionDefinition","parameters":{"id":74541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74538,"mutability":"mutable","name":"appId","nameLocation":"21053:5:135","nodeType":"VariableDeclaration","scope":74554,"src":"21045:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21045:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":74540,"mutability":"mutable","name":"endorsed","nameLocation":"21065:8:135","nodeType":"VariableDeclaration","scope":74554,"src":"21060:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74539,"name":"bool","nodeType":"ElementaryTypeName","src":"21060:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21044:30:135"},"returnParameters":{"id":74542,"nodeType":"ParameterList","parameters":[],"src":"21082:0:135"},"scope":76581,"src":"21015:170:135","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":74581,"nodeType":"Block","src":"21507:233:135","statements":[{"assignments":[74564],"declarations":[{"constant":false,"id":74564,"mutability":"mutable","name":"$","nameLocation":"21563:1:135","nodeType":"VariableDeclaration","scope":74581,"src":"21513:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74563,"nodeType":"UserDefinedTypeName","pathNode":{"id":74562,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["21513:22:135","21536:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"21513:41:135"},"referencedDeclaration":76750,"src":"21513:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74568,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74565,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"21567:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21590:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"21567:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21567:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"21513:101:135"},{"eventCall":{"arguments":[{"expression":{"id":74570,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74564,"src":"21655:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21657:23:135","memberName":"_maxPointsPerNodePerApp","nodeType":"MemberAccess","referencedDeclaration":76738,"src":"21655:25:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74572,"name":"maxPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74557,"src":"21682:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74569,"name":"MaxPointsPerNodePerAppUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73446,"src":"21625:29:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":74573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21625:67:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74574,"nodeType":"EmitStatement","src":"21620:72:135"},{"expression":{"id":74579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74575,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74564,"src":"21698:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21700:23:135","memberName":"_maxPointsPerNodePerApp","nodeType":"MemberAccess","referencedDeclaration":76738,"src":"21698:25:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74578,"name":"maxPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74557,"src":"21726:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21698:37:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74580,"nodeType":"ExpressionStatement","src":"21698:37:135"}]},"documentation":{"id":74555,"nodeType":"StructuredDocumentation","src":"21189:252:135","text":" @notice Sets the maximum points a single node can assign to one app.\n @dev Enforces decentralization by preventing one node from dominating an app's endorsement.\n @param maxPoints The new max points per node per app (default 49)."},"functionSelector":"6fb44f5f","id":74582,"implemented":true,"kind":"function","modifiers":[],"name":"setMaxPointsPerNodePerApp","nameLocation":"21453:25:135","nodeType":"FunctionDefinition","parameters":{"id":74558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74557,"mutability":"mutable","name":"maxPoints","nameLocation":"21487:9:135","nodeType":"VariableDeclaration","scope":74582,"src":"21479:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74556,"name":"uint256","nodeType":"ElementaryTypeName","src":"21479:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21478:19:135"},"returnParameters":{"id":74559,"nodeType":"ParameterList","parameters":[],"src":"21507:0:135"},"scope":76581,"src":"21444:296:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":74621,"nodeType":"Block","src":"22130:355:135","statements":[{"assignments":[74592],"declarations":[{"constant":false,"id":74592,"mutability":"mutable","name":"$","nameLocation":"22186:1:135","nodeType":"VariableDeclaration","scope":74621,"src":"22136:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74591,"nodeType":"UserDefinedTypeName","pathNode":{"id":74590,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["22136:22:135","22159:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"22136:41:135"},"referencedDeclaration":76750,"src":"22136:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74596,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74593,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"22190:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22213:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"22190:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22190:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22136:101:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74597,"name":"maxPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74585,"src":"22247:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74598,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74592,"src":"22259:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22261:26:135","memberName":"_endorsementScoreThreshold","nodeType":"MemberAccess","referencedDeclaration":76682,"src":"22259:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22247:40:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74608,"nodeType":"IfStatement","src":"22243:138:135","trueBody":{"id":74607,"nodeType":"Block","src":"22289:92:135","statements":[{"errorCall":{"arguments":[{"id":74602,"name":"maxPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74585,"src":"22334:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74603,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74592,"src":"22345:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22347:26:135","memberName":"_endorsementScoreThreshold","nodeType":"MemberAccess","referencedDeclaration":76682,"src":"22345:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74601,"name":"MaxPointsPerAppBelowThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73359,"src":"22304:29:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":74605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22304:70:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74606,"nodeType":"RevertStatement","src":"22297:77:135"}]}},{"eventCall":{"arguments":[{"expression":{"id":74610,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74592,"src":"22414:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22416:16:135","memberName":"_maxPointsPerApp","nodeType":"MemberAccess","referencedDeclaration":76740,"src":"22414:18:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74612,"name":"maxPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74585,"src":"22434:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74609,"name":"MaxPointsPerAppUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73452,"src":"22391:22:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":74613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22391:53:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74614,"nodeType":"EmitStatement","src":"22386:58:135"},{"expression":{"id":74619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74615,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74592,"src":"22450:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22452:16:135","memberName":"_maxPointsPerApp","nodeType":"MemberAccess","referencedDeclaration":76740,"src":"22450:18:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74618,"name":"maxPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74585,"src":"22471:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22450:30:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74620,"nodeType":"ExpressionStatement","src":"22450:30:135"}]},"documentation":{"id":74583,"nodeType":"StructuredDocumentation","src":"21744:327:135","text":" @notice Sets the maximum total points an app can receive from all endorsers.\n @dev Provides a buffer above the threshold to prevent over-endorsement.\n      Reverts if maxPoints < endorsementScoreThreshold (would make threshold unreachable).\n @param maxPoints The new max points per app (default 110)."},"functionSelector":"51d2a6e3","id":74622,"implemented":true,"kind":"function","modifiers":[],"name":"setMaxPointsPerApp","nameLocation":"22083:18:135","nodeType":"FunctionDefinition","parameters":{"id":74586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74585,"mutability":"mutable","name":"maxPoints","nameLocation":"22110:9:135","nodeType":"VariableDeclaration","scope":74622,"src":"22102:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74584,"name":"uint256","nodeType":"ElementaryTypeName","src":"22102:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22101:19:135"},"returnParameters":{"id":74587,"nodeType":"ParameterList","parameters":[],"src":"22130:0:135"},"scope":76581,"src":"22074:411:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":74647,"nodeType":"Block","src":"22764:192:135","statements":[{"assignments":[74632],"declarations":[{"constant":false,"id":74632,"mutability":"mutable","name":"$","nameLocation":"22820:1:135","nodeType":"VariableDeclaration","scope":74647,"src":"22770:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74631,"nodeType":"UserDefinedTypeName","pathNode":{"id":74630,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["22770:22:135","22793:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"22770:41:135"},"referencedDeclaration":76750,"src":"22770:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74636,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74633,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"22824:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22847:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"22824:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22824:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"22770:101:135"},{"expression":{"id":74641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74637,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74632,"src":"22877:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22879:19:135","memberName":"_endorsementsPaused","nodeType":"MemberAccess","referencedDeclaration":76742,"src":"22877:21:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74640,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74625,"src":"22901:6:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22877:30:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74642,"nodeType":"ExpressionStatement","src":"22877:30:135"},{"eventCall":{"arguments":[{"id":74644,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74625,"src":"22944:6:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74643,"name":"EndorsementsPausedUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73403,"src":"22918:25:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":74645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22918:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74646,"nodeType":"EmitStatement","src":"22913:38:135"}]},"documentation":{"id":74623,"nodeType":"StructuredDocumentation","src":"22489:219:135","text":" @notice Pauses or unpauses endorsement operations.\n @dev Used during migration to prevent state changes while data is being seeded.\n @param paused If true, pauses endorsements; if false, unpauses."},"functionSelector":"fcd190c4","id":74648,"implemented":true,"kind":"function","modifiers":[],"name":"setEndorsementsPaused","nameLocation":"22720:21:135","nodeType":"FunctionDefinition","parameters":{"id":74626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74625,"mutability":"mutable","name":"paused","nameLocation":"22747:6:135","nodeType":"VariableDeclaration","scope":74648,"src":"22742:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74624,"name":"bool","nodeType":"ElementaryTypeName","src":"22742:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22741:13:135"},"returnParameters":{"id":74627,"nodeType":"ParameterList","parameters":[],"src":"22764:0:135"},"scope":76581,"src":"22711:245:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":74662,"nodeType":"Block","src":"23219:90:135","statements":[{"expression":{"id":74660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74654,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"23225:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23248:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"23225:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23225:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"23273:19:135","memberName":"_migrationCompleted","nodeType":"MemberAccess","referencedDeclaration":76744,"src":"23225:67:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74659,"name":"completed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74651,"src":"23295:9:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23225:79:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74661,"nodeType":"ExpressionStatement","src":"23225:79:135"}]},"documentation":{"id":74649,"nodeType":"StructuredDocumentation","src":"22960:200:135","text":" @notice Marks the V8 migration as complete or incomplete.\n @dev Once complete, seedEndorsement() can no longer be called.\n @param completed If true, marks migration as complete."},"functionSelector":"47e5dcbc","id":74663,"implemented":true,"kind":"function","modifiers":[],"name":"setMigrationCompleted","nameLocation":"23172:21:135","nodeType":"FunctionDefinition","parameters":{"id":74652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74651,"mutability":"mutable","name":"completed","nameLocation":"23199:9:135","nodeType":"VariableDeclaration","scope":74663,"src":"23194:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74650,"name":"bool","nodeType":"ElementaryTypeName","src":"23194:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23193:16:135"},"returnParameters":{"id":74653,"nodeType":"ParameterList","parameters":[],"src":"23219:0:135"},"scope":76581,"src":"23163:146:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":74771,"nodeType":"Block","src":"24303:870:135","statements":[{"assignments":[74683],"declarations":[{"constant":false,"id":74683,"mutability":"mutable","name":"appsStorage","nameLocation":"24359:11:135","nodeType":"VariableDeclaration","scope":74771,"src":"24309:61:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"},"typeName":{"id":74682,"nodeType":"UserDefinedTypeName","pathNode":{"id":74681,"name":"X2EarnAppsStorageTypes.AppsStorageStorage","nameLocations":["24309:22:135","24332:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76764,"src":"24309:41:135"},"referencedDeclaration":76764,"src":"24309:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"}},"visibility":"internal"}],"id":74687,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74684,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"24373:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24396:22:135","memberName":"_getAppsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":76839,"src":"24373:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AppsStorageStorage_$76764_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer)"}},"id":74686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24373:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24309:111:135"},{"assignments":[74692],"declarations":[{"constant":false,"id":74692,"mutability":"mutable","name":"$","nameLocation":"24476:1:135","nodeType":"VariableDeclaration","scope":74771,"src":"24426:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74691,"nodeType":"UserDefinedTypeName","pathNode":{"id":74690,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["24426:22:135","24449:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"24426:41:135"},"referencedDeclaration":76750,"src":"24426:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":74696,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74693,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"24480:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":74694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24503:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"24480:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":74695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24480:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"24426:101:135"},{"expression":{"arguments":[{"id":74698,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"24555:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":74699,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74683,"src":"24558:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},{"id":74700,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74666,"src":"24571:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":74701,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74668,"src":"24578:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74702,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74670,"src":"24586:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74703,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74672,"src":"24594:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74697,"name":"_validateEndorsement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74946,"src":"24534:20:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_struct$_AppsStorageStorage_$76764_storage_ptr_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer,bytes32,uint256,uint256,bool) view"}},"id":74704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24534:74:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74705,"nodeType":"ExpressionStatement","src":"24534:74:135"},{"assignments":[74707],"declarations":[{"constant":false,"id":74707,"mutability":"mutable","name":"currentAppPoints","nameLocation":"24623:16:135","nodeType":"VariableDeclaration","scope":74771,"src":"24615:24:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74706,"name":"uint256","nodeType":"ElementaryTypeName","src":"24615:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74713,"initialValue":{"arguments":[{"id":74709,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"24671:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":74710,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74668,"src":"24674:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74711,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74666,"src":"24682:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":74708,"name":"_getNodePointsForAppInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76159,"src":"24642:28:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_uint256_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,uint256,bytes32) view returns (uint256)"}},"id":74712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24642:46:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24615:73:135"},{"expression":{"arguments":[{"id":74715,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"24713:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":74716,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74668,"src":"24716:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74717,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74666,"src":"24724:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":74718,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74670,"src":"24731:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74719,"name":"currentAppPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74707,"src":"24739:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":74720,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"24757:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24759:26:135","memberName":"_xAllocationVotingGovernor","nodeType":"MemberAccess","referencedDeclaration":76706,"src":"24757:28:135","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":74722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24786:14:135","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"24757:43:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24757:45:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74714,"name":"_updateEndorsement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75057,"src":"24694:18:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,uint256,bytes32,uint256,uint256,uint256)"}},"id":74724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24694:109:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74725,"nodeType":"ExpressionStatement","src":"24694:109:135"},{"assignments":[74727],"declarations":[{"constant":false,"id":74727,"mutability":"mutable","name":"newScore","nameLocation":"24817:8:135","nodeType":"VariableDeclaration","scope":74771,"src":"24809:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74726,"name":"uint256","nodeType":"ElementaryTypeName","src":"24809:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74734,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":74729,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"24838:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":74730,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74666,"src":"24841:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":74728,"name":"_getScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76439,"src":"24828:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32) view returns (uint256)"}},"id":74731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24828:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74732,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74670,"src":"24850:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24828:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24809:47:135"},{"expression":{"arguments":[{"id":74736,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"24872:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":74737,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74666,"src":"24875:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":74738,"name":"newScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74727,"src":"24882:8:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74735,"name":"_setScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76467,"src":"24862:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32,uint256)"}},"id":74739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24862:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74740,"nodeType":"ExpressionStatement","src":"24862:29:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74741,"name":"newScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74727,"src":"24902:8:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":74742,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"24914:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24916:26:135","memberName":"_endorsementScoreThreshold","nodeType":"MemberAccess","referencedDeclaration":76682,"src":"24914:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24902:40:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74755,"nodeType":"IfStatement","src":"24898:152:135","trueBody":{"id":74754,"nodeType":"Block","src":"24944:106:135","statements":[{"expression":{"arguments":[{"id":74746,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"24980:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":74747,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74683,"src":"24983:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},{"id":74748,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74666,"src":"24996:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":74749,"name":"appExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74674,"src":"25003:9:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":74750,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74676,"src":"25014:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":74751,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74672,"src":"25029:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74745,"name":"_updateStatusIfThresholdMet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76418,"src":"24952:27:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_struct$_AppsStorageStorage_$76764_storage_ptr_$_t_bytes32_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer,bytes32,bool,bool,bool)"}},"id":74752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24952:91:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74753,"nodeType":"ExpressionStatement","src":"24952:91:135"}]}},{"assignments":[74757],"declarations":[{"constant":false,"id":74757,"mutability":"mutable","name":"endorser","nameLocation":"25064:8:135","nodeType":"VariableDeclaration","scope":74771,"src":"25056:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74756,"name":"address","nodeType":"ElementaryTypeName","src":"25056:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":74763,"initialValue":{"arguments":[{"id":74761,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74668,"src":"25106:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":74758,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"25075:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74759,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25077:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"25075:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":74760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25090:15:135","memberName":"getTokenManager","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"25075:30:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":74762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25075:38:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"25056:57:135"},{"eventCall":{"arguments":[{"id":74765,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74666,"src":"25136:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":74766,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74668,"src":"25143:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74767,"name":"endorser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74757,"src":"25151:8:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74768,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74670,"src":"25161:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74764,"name":"AppEndorsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73391,"src":"25124:11:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,address,uint256)"}},"id":74769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25124:44:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74770,"nodeType":"EmitStatement","src":"25119:49:135"}]},"documentation":{"id":74664,"nodeType":"StructuredDocumentation","src":"23404:736:135","text":" @notice Endorses an app with a specified number of points from a node.\n @dev Validates all constraints (paused, caps, node ownership) before creating endorsement.\n      If node already endorses this app, adds points and resets cooldown.\n      Cooldown is tracked per-app using the current round ID.\n @param appId The unique identifier of the app to endorse.\n @param nodeId The unique identifier of the endorsing node.\n @param points The number of points to endorse with.\n @param isBlacklisted Whether the app is currently blacklisted.\n @param appExists Whether the app has been fully created (not just submitted).\n @param isEligibleNow Whether the app is currently eligible for voting."},"functionSelector":"9a116641","id":74772,"implemented":true,"kind":"function","modifiers":[],"name":"endorseApp","nameLocation":"24152:10:135","nodeType":"FunctionDefinition","parameters":{"id":74677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74666,"mutability":"mutable","name":"appId","nameLocation":"24176:5:135","nodeType":"VariableDeclaration","scope":74772,"src":"24168:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24168:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":74668,"mutability":"mutable","name":"nodeId","nameLocation":"24195:6:135","nodeType":"VariableDeclaration","scope":74772,"src":"24187:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74667,"name":"uint256","nodeType":"ElementaryTypeName","src":"24187:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74670,"mutability":"mutable","name":"points","nameLocation":"24215:6:135","nodeType":"VariableDeclaration","scope":74772,"src":"24207:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74669,"name":"uint256","nodeType":"ElementaryTypeName","src":"24207:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74672,"mutability":"mutable","name":"isBlacklisted","nameLocation":"24232:13:135","nodeType":"VariableDeclaration","scope":74772,"src":"24227:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74671,"name":"bool","nodeType":"ElementaryTypeName","src":"24227:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":74674,"mutability":"mutable","name":"appExists","nameLocation":"24256:9:135","nodeType":"VariableDeclaration","scope":74772,"src":"24251:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74673,"name":"bool","nodeType":"ElementaryTypeName","src":"24251:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":74676,"mutability":"mutable","name":"isEligibleNow","nameLocation":"24276:13:135","nodeType":"VariableDeclaration","scope":74772,"src":"24271:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74675,"name":"bool","nodeType":"ElementaryTypeName","src":"24271:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24162:131:135"},"returnParameters":{"id":74678,"nodeType":"ParameterList","parameters":[],"src":"24303:0:135"},"scope":76581,"src":"24143:1030:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":74945,"nodeType":"Block","src":"25431:1302:135","statements":[{"condition":{"expression":{"id":74789,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"25441:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25443:19:135","memberName":"_endorsementsPaused","nodeType":"MemberAccess","referencedDeclaration":76742,"src":"25441:21:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74794,"nodeType":"IfStatement","src":"25437:54:135","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74791,"name":"EndorsementsPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"25471:18:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25471:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74793,"nodeType":"RevertStatement","src":"25464:27:135"}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":74804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":74795,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74778,"src":"25501:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":74796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25513:5:135","memberName":"_apps","nodeType":"MemberAccess","referencedDeclaration":76760,"src":"25501:17:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App storage ref)"}},"id":74798,"indexExpression":{"id":74797,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74780,"src":"25519:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25501:24:135","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage","typeString":"struct X2EarnAppsDataTypes.App storage ref"}},"id":74799,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25526:2:135","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":71128,"src":"25501:27:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25540: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"}],"id":74801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25532:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":74800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25532:7:135","typeDescriptions":{}}},"id":74803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25532:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"25501:41:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74809,"nodeType":"IfStatement","src":"25497:81:135","trueBody":{"errorCall":{"arguments":[{"id":74806,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74780,"src":"25572:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":74805,"name":"X2EarnNonexistentApp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73289,"src":"25551:20:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":74807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25551:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74808,"nodeType":"RevertStatement","src":"25544:34:135"}},{"condition":{"id":74810,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74786,"src":"25588:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74815,"nodeType":"IfStatement","src":"25584:53:135","trueBody":{"errorCall":{"arguments":[{"id":74812,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74780,"src":"25631:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":74811,"name":"X2EarnAppBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73293,"src":"25610:20:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":74813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25610:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74814,"nodeType":"RevertStatement","src":"25603:34:135"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74816,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"25647:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25657:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25647:11:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74819,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74784,"src":"25662:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25672:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25662:11:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25647:26:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74826,"nodeType":"IfStatement","src":"25643:60:135","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74823,"name":"InvalidPointsAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73345,"src":"25682:19:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25682:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74825,"nodeType":"RevertStatement","src":"25675:28:135"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"25713:35:135","subExpression":{"arguments":[{"id":74830,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"25741:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":74827,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"25714:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25716:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"25714:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":74829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25729:11:135","memberName":"tokenExists","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"25714:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":74831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25714:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":74840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"25752:50:135","subExpression":{"arguments":[{"expression":{"id":74836,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25783:3:135","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25787:6:135","memberName":"sender","nodeType":"MemberAccess","src":"25783:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74838,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"25795:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":74833,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"25753:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25755:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"25753:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":74835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25768:14:135","memberName":"isTokenManager","nodeType":"MemberAccess","referencedDeclaration":72553,"src":"25753:29:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view external returns (bool)"}},"id":74839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25753:49:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25713:89:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74846,"nodeType":"IfStatement","src":"25709:138:135","trueBody":{"id":74845,"nodeType":"Block","src":"25804:43:135","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74842,"name":"X2EarnNonNodeHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73295,"src":"25819:19:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25819:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74844,"nodeType":"RevertStatement","src":"25812:28:135"}]}},{"assignments":[74848],"declarations":[{"constant":false,"id":74848,"mutability":"mutable","name":"nodeLevel","nameLocation":"25859:9:135","nodeType":"VariableDeclaration","scope":74945,"src":"25853:15:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":74847,"name":"uint8","nodeType":"ElementaryTypeName","src":"25853:5:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":74854,"initialValue":{"arguments":[{"id":74852,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"25900:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":74849,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"25871:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25873:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"25871:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":74851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25886:13:135","memberName":"getTokenLevel","nodeType":"MemberAccess","referencedDeclaration":72421,"src":"25871:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) view external returns (uint8)"}},"id":74853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25871:36:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"25853:54:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":74855,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"25917:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25919:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"25917:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74858,"indexExpression":{"id":74857,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74848,"src":"25941:9:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25917:34:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":74859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25955:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25917:39:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74864,"nodeType":"IfStatement","src":"25913:77:135","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74861,"name":"NodeNotAllowedToEndorse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73301,"src":"25965:23:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25965:25:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74863,"nodeType":"RevertStatement","src":"25958:32:135"}},{"assignments":[74866],"declarations":[{"constant":false,"id":74866,"mutability":"mutable","name":"totalNodePoints","nameLocation":"26005:15:135","nodeType":"VariableDeclaration","scope":74945,"src":"25997:23:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74865,"name":"uint256","nodeType":"ElementaryTypeName","src":"25997:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74871,"initialValue":{"baseExpression":{"expression":{"id":74867,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"26023:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26025:21:135","memberName":"_nodeEnodorsmentScore","nodeType":"MemberAccess","referencedDeclaration":76670,"src":"26023:23:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":74870,"indexExpression":{"id":74869,"name":"nodeLevel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74848,"src":"26047:9:135","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26023:34:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25997:60:135"},{"assignments":[74873],"declarations":[{"constant":false,"id":74873,"mutability":"mutable","name":"usedPoints","nameLocation":"26071:10:135","nodeType":"VariableDeclaration","scope":74945,"src":"26063:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74872,"name":"uint256","nodeType":"ElementaryTypeName","src":"26063:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74878,"initialValue":{"arguments":[{"id":74875,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"26103:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":74876,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"26106:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74874,"name":"_getNodeUsedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76100,"src":"26084:18:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,uint256) view returns (uint256)"}},"id":74877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26084:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26063:50:135"},{"assignments":[74880],"declarations":[{"constant":false,"id":74880,"mutability":"mutable","name":"availablePoints","nameLocation":"26127:15:135","nodeType":"VariableDeclaration","scope":74945,"src":"26119:23:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74879,"name":"uint256","nodeType":"ElementaryTypeName","src":"26119:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74889,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74881,"name":"totalNodePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74866,"src":"26145:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":74882,"name":"usedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74873,"src":"26163:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26145:28:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":74887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26207:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":74888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26145:63:135","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74884,"name":"totalNodePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74866,"src":"26176:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":74885,"name":"usedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74873,"src":"26194:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26176:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26119:89:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74890,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74784,"src":"26218:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":74891,"name":"availablePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74880,"src":"26227:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26218:24:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74899,"nodeType":"IfStatement","src":"26214:97:135","trueBody":{"errorCall":{"arguments":[{"id":74894,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"26279:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74895,"name":"availablePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74880,"src":"26287:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74896,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74784,"src":"26304:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74893,"name":"InsufficientAvailablePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73343,"src":"26251:27:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":74897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26251:60:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74898,"nodeType":"RevertStatement","src":"26244:67:135"}},{"assignments":[74901],"declarations":[{"constant":false,"id":74901,"mutability":"mutable","name":"currentAppPoints","nameLocation":"26326:16:135","nodeType":"VariableDeclaration","scope":74945,"src":"26318:24:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74900,"name":"uint256","nodeType":"ElementaryTypeName","src":"26318:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74907,"initialValue":{"arguments":[{"id":74903,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"26374:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":74904,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"26377:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74905,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74780,"src":"26385:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":74902,"name":"_getNodePointsForAppInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76159,"src":"26345:28:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_uint256_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,uint256,bytes32) view returns (uint256)"}},"id":74906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26345:46:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26318:73:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74908,"name":"currentAppPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74901,"src":"26401:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74909,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74784,"src":"26420:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26401:25:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":74911,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"26429:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26431:23:135","memberName":"_maxPointsPerNodePerApp","nodeType":"MemberAccess","referencedDeclaration":76738,"src":"26429:25:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26401:53:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74922,"nodeType":"IfStatement","src":"26397:146:135","trueBody":{"id":74921,"nodeType":"Block","src":"26456:87:135","statements":[{"errorCall":{"arguments":[{"id":74915,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74782,"src":"26495:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74916,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74780,"src":"26503:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":74917,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"26510:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74918,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26512:23:135","memberName":"_maxPointsPerNodePerApp","nodeType":"MemberAccess","referencedDeclaration":76738,"src":"26510:25:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74914,"name":"ExceedsMaxPointsPerNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73335,"src":"26471:23:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (uint256,bytes32,uint256) pure"}},"id":74919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26471:65:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74920,"nodeType":"RevertStatement","src":"26464:72:135"}]}},{"assignments":[74924],"declarations":[{"constant":false,"id":74924,"mutability":"mutable","name":"currentScore","nameLocation":"26556:12:135","nodeType":"VariableDeclaration","scope":74945,"src":"26548:20:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74923,"name":"uint256","nodeType":"ElementaryTypeName","src":"26548:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74929,"initialValue":{"arguments":[{"id":74926,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"26581:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":74927,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74780,"src":"26584:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":74925,"name":"_getScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76439,"src":"26571:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32) view returns (uint256)"}},"id":74928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26571:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26548:42:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74930,"name":"currentScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74924,"src":"26600:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74931,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74784,"src":"26615:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26600:21:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":74933,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"26624:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26626:16:135","memberName":"_maxPointsPerApp","nodeType":"MemberAccess","referencedDeclaration":76740,"src":"26624:18:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26600:42:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74944,"nodeType":"IfStatement","src":"26596:133:135","trueBody":{"id":74943,"nodeType":"Block","src":"26644:85:135","statements":[{"errorCall":{"arguments":[{"id":74937,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74780,"src":"26682:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":74938,"name":"currentScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74924,"src":"26689:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74939,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74775,"src":"26703:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26705:16:135","memberName":"_maxPointsPerApp","nodeType":"MemberAccess","referencedDeclaration":76740,"src":"26703:18:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74936,"name":"ExceedsMaxPointsPerApp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73327,"src":"26659:22:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256) pure"}},"id":74941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26659:63:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74942,"nodeType":"RevertStatement","src":"26652:70:135"}]}}]},"id":74946,"implemented":true,"kind":"function","modifiers":[],"name":"_validateEndorsement","nameLocation":"25186:20:135","nodeType":"FunctionDefinition","parameters":{"id":74787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74775,"mutability":"mutable","name":"$","nameLocation":"25262:1:135","nodeType":"VariableDeclaration","scope":74946,"src":"25212:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74774,"nodeType":"UserDefinedTypeName","pathNode":{"id":74773,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["25212:22:135","25235:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"25212:41:135"},"referencedDeclaration":76750,"src":"25212:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":74778,"mutability":"mutable","name":"appsStorage","nameLocation":"25319:11:135","nodeType":"VariableDeclaration","scope":74946,"src":"25269:61:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"},"typeName":{"id":74777,"nodeType":"UserDefinedTypeName","pathNode":{"id":74776,"name":"X2EarnAppsStorageTypes.AppsStorageStorage","nameLocations":["25269:22:135","25292:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76764,"src":"25269:41:135"},"referencedDeclaration":76764,"src":"25269:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"}},"visibility":"internal"},{"constant":false,"id":74780,"mutability":"mutable","name":"appId","nameLocation":"25344:5:135","nodeType":"VariableDeclaration","scope":74946,"src":"25336:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25336:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":74782,"mutability":"mutable","name":"nodeId","nameLocation":"25363:6:135","nodeType":"VariableDeclaration","scope":74946,"src":"25355:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74781,"name":"uint256","nodeType":"ElementaryTypeName","src":"25355:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74784,"mutability":"mutable","name":"points","nameLocation":"25383:6:135","nodeType":"VariableDeclaration","scope":74946,"src":"25375:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74783,"name":"uint256","nodeType":"ElementaryTypeName","src":"25375:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74786,"mutability":"mutable","name":"isBlacklisted","nameLocation":"25400:13:135","nodeType":"VariableDeclaration","scope":74946,"src":"25395:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74785,"name":"bool","nodeType":"ElementaryTypeName","src":"25395:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25206:211:135"},"returnParameters":{"id":74788,"nodeType":"ParameterList","parameters":[],"src":"25431:0:135"},"scope":76581,"src":"25177:1556:135","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":75056,"nodeType":"Block","src":"26949:758:135","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74962,"name":"currentAppPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74957,"src":"26959:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":74963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26978:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26959:20:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75054,"nodeType":"Block","src":"27216:487:135","statements":[{"expression":{"arguments":[{"arguments":[{"id":75007,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74953,"src":"27348:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75008,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"27363:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75009,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74959,"src":"27388:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75005,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"27304:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27327:11:135","memberName":"Endorsement","nodeType":"MemberAccess","referencedDeclaration":76643,"src":"27304:34:135","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Endorsement_$76643_storage_ptr_$","typeString":"type(struct X2EarnAppsStorageTypes.Endorsement storage pointer)"}},"id":75010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27341:5:135","27355:6:135","27371:15:135"],"names":["appId","points","endorsedAtRound"],"nodeType":"FunctionCall","src":"27304:99:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Endorsement_$76643_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement memory"}],"expression":{"baseExpression":{"expression":{"id":74999,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74949,"src":"27260:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27262:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"27260:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":75003,"indexExpression":{"id":75001,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"27282:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27260:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"id":75004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27290:4:135","memberName":"push","nodeType":"MemberAccess","src":"27260:34:135","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr_$_t_struct$_Endorsement_$76643_storage_$returns$__$attached_to$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr_$","typeString":"function (struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer,struct X2EarnAppsStorageTypes.Endorsement storage ref)"}},"id":75011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27260:151:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75012,"nodeType":"ExpressionStatement","src":"27260:151:135"},{"expression":{"id":75027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":75013,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74949,"src":"27419:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27421:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"27419:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":75018,"indexExpression":{"id":75015,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"27449:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27419:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":75019,"indexExpression":{"id":75016,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74953,"src":"27457:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27419:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":75020,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74949,"src":"27466:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27468:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"27466:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":75023,"indexExpression":{"id":75022,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"27488:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27466:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"id":75024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27496:6:135","memberName":"length","nodeType":"MemberAccess","src":"27466:36:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":75025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27505:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"27466:40:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27419:87:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75028,"nodeType":"ExpressionStatement","src":"27419:87:135"},{"expression":{"arguments":[{"id":75035,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"27602:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"expression":{"id":75029,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74949,"src":"27570:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27572:17:135","memberName":"_appEndorserNodes","nodeType":"MemberAccess","referencedDeclaration":76730,"src":"27570:19:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[] storage ref)"}},"id":75033,"indexExpression":{"id":75031,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74953,"src":"27590:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27570:26:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":75034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27597:4:135","memberName":"push","nodeType":"MemberAccess","src":"27570:31:135","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":75036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27570:39:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75037,"nodeType":"ExpressionStatement","src":"27570:39:135"},{"expression":{"id":75052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":75038,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74949,"src":"27617:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27619:22:135","memberName":"_appEndorserNodesIndex","nodeType":"MemberAccess","referencedDeclaration":76736,"src":"27617:24:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(bytes32 => mapping(uint256 => uint256))"}},"id":75043,"indexExpression":{"id":75040,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74953,"src":"27642:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27617:31:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75044,"indexExpression":{"id":75041,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"27649:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27617:39:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":75045,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74949,"src":"27659:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27661:17:135","memberName":"_appEndorserNodes","nodeType":"MemberAccess","referencedDeclaration":76730,"src":"27659:19:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[] storage ref)"}},"id":75048,"indexExpression":{"id":75047,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74953,"src":"27679:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27659:26:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":75049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27686:6:135","memberName":"length","nodeType":"MemberAccess","src":"27659:33:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":75050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27695:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"27659:37:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27617:79:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75053,"nodeType":"ExpressionStatement","src":"27617:79:135"}]},"id":75055,"nodeType":"IfStatement","src":"26955:748:135","trueBody":{"id":74998,"nodeType":"Block","src":"26981:229:135","statements":[{"assignments":[74966],"declarations":[{"constant":false,"id":74966,"mutability":"mutable","name":"index","nameLocation":"26997:5:135","nodeType":"VariableDeclaration","scope":74998,"src":"26989:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74965,"name":"uint256","nodeType":"ElementaryTypeName","src":"26989:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74973,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":74967,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74949,"src":"27005:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27007:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"27005:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":74970,"indexExpression":{"id":74969,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"27035:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27005:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":74972,"indexExpression":{"id":74971,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74953,"src":"27043:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27005:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26989:60:135"},{"expression":{"id":74985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":74974,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74949,"src":"27057:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27059:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"27057:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":74979,"indexExpression":{"id":74976,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"27079:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27057:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"id":74980,"indexExpression":{"id":74977,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74966,"src":"27087:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27057:36:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":74981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"27094:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"27057:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74982,"name":"currentAppPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74957,"src":"27103:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":74983,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"27122:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27103:25:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27057:71:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74986,"nodeType":"ExpressionStatement","src":"27057:71:135"},{"expression":{"id":74996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":74987,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74949,"src":"27136:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":74991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27138:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"27136:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":74992,"indexExpression":{"id":74989,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"27158:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27136:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"id":74993,"indexExpression":{"id":74990,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74966,"src":"27166:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27136:36:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":74994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"27173:15:135","memberName":"endorsedAtRound","nodeType":"MemberAccess","referencedDeclaration":76642,"src":"27136:52:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74995,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74959,"src":"27191:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27136:67:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74997,"nodeType":"ExpressionStatement","src":"27136:67:135"}]}}]},"id":75057,"implemented":true,"kind":"function","modifiers":[],"name":"_updateEndorsement","nameLocation":"26746:18:135","nodeType":"FunctionDefinition","parameters":{"id":74960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74949,"mutability":"mutable","name":"$","nameLocation":"26820:1:135","nodeType":"VariableDeclaration","scope":75057,"src":"26770:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":74948,"nodeType":"UserDefinedTypeName","pathNode":{"id":74947,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["26770:22:135","26793:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"26770:41:135"},"referencedDeclaration":76750,"src":"26770:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":74951,"mutability":"mutable","name":"nodeId","nameLocation":"26835:6:135","nodeType":"VariableDeclaration","scope":75057,"src":"26827:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74950,"name":"uint256","nodeType":"ElementaryTypeName","src":"26827:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74953,"mutability":"mutable","name":"appId","nameLocation":"26855:5:135","nodeType":"VariableDeclaration","scope":75057,"src":"26847:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26847:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":74955,"mutability":"mutable","name":"points","nameLocation":"26874:6:135","nodeType":"VariableDeclaration","scope":75057,"src":"26866:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74954,"name":"uint256","nodeType":"ElementaryTypeName","src":"26866:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74957,"mutability":"mutable","name":"currentAppPoints","nameLocation":"26894:16:135","nodeType":"VariableDeclaration","scope":75057,"src":"26886:24:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74956,"name":"uint256","nodeType":"ElementaryTypeName","src":"26886:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74959,"mutability":"mutable","name":"currentRound","nameLocation":"26924:12:135","nodeType":"VariableDeclaration","scope":75057,"src":"26916:20:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74958,"name":"uint256","nodeType":"ElementaryTypeName","src":"26916:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26764:176:135"},"returnParameters":{"id":74961,"nodeType":"ParameterList","parameters":[],"src":"26949:0:135"},"scope":76581,"src":"26737:970:135","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":75290,"nodeType":"Block","src":"28585:1885:135","statements":[{"assignments":[75079],"declarations":[{"constant":false,"id":75079,"mutability":"mutable","name":"$","nameLocation":"28641:1:135","nodeType":"VariableDeclaration","scope":75290,"src":"28591:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":75078,"nodeType":"UserDefinedTypeName","pathNode":{"id":75077,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["28591:22:135","28614:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"28591:41:135"},"referencedDeclaration":76750,"src":"28591:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":75083,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75080,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"28645:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28668:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"28645:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":75082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28645:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28591:101:135"},{"id":75114,"nodeType":"Block","src":"28699:277:135","statements":[{"assignments":[75088],"declarations":[{"constant":false,"id":75088,"mutability":"mutable","name":"appsStorage","nameLocation":"28757:11:135","nodeType":"VariableDeclaration","scope":75114,"src":"28707:61:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"},"typeName":{"id":75087,"nodeType":"UserDefinedTypeName","pathNode":{"id":75086,"name":"X2EarnAppsStorageTypes.AppsStorageStorage","nameLocations":["28707:22:135","28730:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76764,"src":"28707:41:135"},"referencedDeclaration":76764,"src":"28707:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"}},"visibility":"internal"}],"id":75092,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75089,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"28771:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28794:22:135","memberName":"_getAppsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":76839,"src":"28771:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AppsStorageStorage_$76764_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer)"}},"id":75091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28771:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28707:111:135"},{"condition":{"expression":{"id":75093,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"28830:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75094,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28832:19:135","memberName":"_endorsementsPaused","nodeType":"MemberAccess","referencedDeclaration":76742,"src":"28830:21:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75098,"nodeType":"IfStatement","src":"28826:54:135","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75095,"name":"EndorsementsPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73313,"src":"28860:18:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28860:20:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75097,"nodeType":"RevertStatement","src":"28853:27:135"}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":75108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":75099,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75088,"src":"28892:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":75100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28904:5:135","memberName":"_apps","nodeType":"MemberAccess","referencedDeclaration":76760,"src":"28892:17:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App storage ref)"}},"id":75102,"indexExpression":{"id":75101,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"28910:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28892:24:135","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage","typeString":"struct X2EarnAppsDataTypes.App storage ref"}},"id":75103,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28917:2:135","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":71128,"src":"28892:27:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28931: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"}],"id":75105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28923:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":75104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28923:7:135","typeDescriptions":{}}},"id":75107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28923:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"28892:41:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75113,"nodeType":"IfStatement","src":"28888:81:135","trueBody":{"errorCall":{"arguments":[{"id":75110,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"28963:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75109,"name":"X2EarnNonexistentApp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73289,"src":"28942:20:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":75111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28942:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75112,"nodeType":"RevertStatement","src":"28935:34:135"}}]},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28986:35:135","subExpression":{"arguments":[{"id":75118,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75062,"src":"29014:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":75115,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"28987:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28989:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"28987:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":75117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29002:11:135","memberName":"tokenExists","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"28987:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":75119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28987:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":75128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"29025:50:135","subExpression":{"arguments":[{"expression":{"id":75124,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"29056:3:135","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29060:6:135","memberName":"sender","nodeType":"MemberAccess","src":"29056:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75126,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75062,"src":"29068:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":75121,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"29026:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29028:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"29026:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":75123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29041:14:135","memberName":"isTokenManager","nodeType":"MemberAccess","referencedDeclaration":72553,"src":"29026:29:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view external returns (bool)"}},"id":75127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29026:49:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28986:89:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75134,"nodeType":"IfStatement","src":"28982:138:135","trueBody":{"id":75133,"nodeType":"Block","src":"29077:43:135","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75130,"name":"X2EarnNonNodeHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73295,"src":"29092:19:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29092:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75132,"nodeType":"RevertStatement","src":"29085:28:135"}]}},{"assignments":[75136],"declarations":[{"constant":false,"id":75136,"mutability":"mutable","name":"pointsToRemove","nameLocation":"29134:14:135","nodeType":"VariableDeclaration","scope":75290,"src":"29126:22:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75135,"name":"uint256","nodeType":"ElementaryTypeName","src":"29126:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75137,"nodeType":"VariableDeclarationStatement","src":"29126:22:135"},{"id":75244,"nodeType":"Block","src":"29154:905:135","statements":[{"assignments":[75143],"declarations":[{"constant":false,"id":75143,"mutability":"mutable","name":"endorsements","nameLocation":"29207:12:135","nodeType":"VariableDeclaration","scope":75244,"src":"29162:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":75141,"nodeType":"UserDefinedTypeName","pathNode":{"id":75140,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["29162:22:135","29185:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"29162:34:135"},"referencedDeclaration":76643,"src":"29162:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":75142,"nodeType":"ArrayTypeName","src":"29162:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":75148,"initialValue":{"baseExpression":{"expression":{"id":75144,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"29222:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29224:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"29222:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":75147,"indexExpression":{"id":75146,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75062,"src":"29244:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29222:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29162:89:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75149,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75143,"src":"29263:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29276:6:135","memberName":"length","nodeType":"MemberAccess","src":"29263:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29286:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29263:24:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75156,"nodeType":"IfStatement","src":"29259:56:135","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75153,"name":"X2EarnNonEndorser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73303,"src":"29296:17:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29296:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75155,"nodeType":"RevertStatement","src":"29289:26:135"}},{"assignments":[75158],"declarations":[{"constant":false,"id":75158,"mutability":"mutable","name":"index","nameLocation":"29332:5:135","nodeType":"VariableDeclaration","scope":75244,"src":"29324:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75157,"name":"uint256","nodeType":"ElementaryTypeName","src":"29324:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75165,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":75159,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"29340:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29342:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"29340:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":75162,"indexExpression":{"id":75161,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75062,"src":"29370:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29340:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":75164,"indexExpression":{"id":75163,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"29378:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29340:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29324:60:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75166,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75158,"src":"29396:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":75167,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75143,"src":"29405:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29418:6:135","memberName":"length","nodeType":"MemberAccess","src":"29405:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29396:28:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":75175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":75170,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75143,"src":"29428:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75172,"indexExpression":{"id":75171,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75158,"src":"29441:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29428:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29448:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"29428:25:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75174,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"29457:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"29428:34:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29396:66:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75181,"nodeType":"IfStatement","src":"29392:117:135","trueBody":{"id":75180,"nodeType":"Block","src":"29464:45:135","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75177,"name":"X2EarnNonEndorser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73303,"src":"29481:17:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29481:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75179,"nodeType":"RevertStatement","src":"29474:26:135"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":75182,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"29521:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29523:26:135","memberName":"_xAllocationVotingGovernor","nodeType":"MemberAccess","referencedDeclaration":76706,"src":"29521:28:135","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":75184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29550:14:135","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"29521:43:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":75185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29521:45:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":75186,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75143,"src":"29569:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75188,"indexExpression":{"id":75187,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75158,"src":"29582:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29569:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75189,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29589:15:135","memberName":"endorsedAtRound","nodeType":"MemberAccess","referencedDeclaration":76642,"src":"29569:35:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":75190,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"29607:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29609:15:135","memberName":"_cooldownPeriod","nodeType":"MemberAccess","referencedDeclaration":76703,"src":"29607:17:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29569:55:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29521:103:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75200,"nodeType":"IfStatement","src":"29517:168:135","trueBody":{"id":75199,"nodeType":"Block","src":"29626:59:135","statements":[{"errorCall":{"arguments":[{"id":75195,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75062,"src":"29662:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75196,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"29670:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75194,"name":"CooldownNotExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73319,"src":"29643:18:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,bytes32) pure"}},"id":75197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29643:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75198,"nodeType":"RevertStatement","src":"29636:40:135"}]}},{"assignments":[75202],"declarations":[{"constant":false,"id":75202,"mutability":"mutable","name":"currentPoints","nameLocation":"29701:13:135","nodeType":"VariableDeclaration","scope":75244,"src":"29693:21:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75201,"name":"uint256","nodeType":"ElementaryTypeName","src":"29693:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75207,"initialValue":{"expression":{"baseExpression":{"id":75203,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75143,"src":"29717:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75205,"indexExpression":{"id":75204,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75158,"src":"29730:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29717:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29737:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"29717:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29693:50:135"},{"expression":{"id":75215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75208,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75136,"src":"29751:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75209,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75064,"src":"29768:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29778:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29768:11:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":75213,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75064,"src":"29798:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29768:36:135","trueExpression":{"id":75212,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75202,"src":"29782:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29751:53:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75216,"nodeType":"ExpressionStatement","src":"29751:53:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75217,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75136,"src":"29816:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":75218,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75202,"src":"29833:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29816:30:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75223,"nodeType":"IfStatement","src":"29812:64:135","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75220,"name":"InvalidPointsAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73345,"src":"29855:19:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29855:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75222,"nodeType":"RevertStatement","src":"29848:28:135"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75224,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75136,"src":"29889:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75225,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75202,"src":"29907:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29889:31:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75242,"nodeType":"Block","src":"29990:63:135","statements":[{"expression":{"id":75240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":75235,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75143,"src":"30000:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75237,"indexExpression":{"id":75236,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75158,"src":"30013:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30000:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"30020:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"30000:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":75239,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75136,"src":"30030:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30000:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75241,"nodeType":"ExpressionStatement","src":"30000:44:135"}]},"id":75243,"nodeType":"IfStatement","src":"29885:168:135","trueBody":{"id":75234,"nodeType":"Block","src":"29922:62:135","statements":[{"expression":{"arguments":[{"id":75228,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"29951:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75229,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75062,"src":"29954:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75230,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"29962:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75231,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75158,"src":"29969:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75227,"name":"_removeEndorsement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76300,"src":"29932:18:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,uint256,bytes32,uint256)"}},"id":75232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29932:43:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75233,"nodeType":"ExpressionStatement","src":"29932:43:135"}]}}]},{"assignments":[75246],"declarations":[{"constant":false,"id":75246,"mutability":"mutable","name":"newScore","nameLocation":"30073:8:135","nodeType":"VariableDeclaration","scope":75290,"src":"30065:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75245,"name":"uint256","nodeType":"ElementaryTypeName","src":"30065:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75253,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75248,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"30094:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75249,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"30097:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75247,"name":"_getScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76439,"src":"30084:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32) view returns (uint256)"}},"id":75250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30084:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75251,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75136,"src":"30106:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30084:36:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30065:55:135"},{"expression":{"arguments":[{"id":75255,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"30136:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75256,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"30139:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75257,"name":"newScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"30146:8:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75254,"name":"_setScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76467,"src":"30126:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32,uint256)"}},"id":75258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30126:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75259,"nodeType":"ExpressionStatement","src":"30126:29:135"},{"eventCall":{"arguments":[{"id":75261,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"30181:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75262,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75062,"src":"30188:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75263,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75136,"src":"30196:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75260,"name":"AppUnendorsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73399,"src":"30167:13:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256)"}},"id":75264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30167:44:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75265,"nodeType":"EmitStatement","src":"30162:49:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30222:14:135","subExpression":{"id":75266,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75068,"src":"30223:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":75268,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75066,"src":"30240:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30222:31:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75273,"nodeType":"IfStatement","src":"30218:72:135","trueBody":{"id":75272,"nodeType":"Block","src":"30255:35:135","statements":[{"expression":{"id":75270,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75068,"src":"30270:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75074,"id":75271,"nodeType":"Return","src":"30263:20:135"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75274,"name":"newScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75246,"src":"30300:8:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75275,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"30311:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30313:26:135","memberName":"_endorsementScoreThreshold","nodeType":"MemberAccess","referencedDeclaration":76682,"src":"30311:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30300:39:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75287,"nodeType":"IfStatement","src":"30296:152:135","trueBody":{"id":75286,"nodeType":"Block","src":"30341:107:135","statements":[{"expression":{"arguments":[{"id":75279,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75079,"src":"30395:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75280,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75060,"src":"30398:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75281,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75066,"src":"30405:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":75282,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75068,"src":"30420:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":75283,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75070,"src":"30435:5:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":75278,"name":"_updateStatusIfThresholdNotMetWithVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76580,"src":"30356:38:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$_t_bool_$_t_bool_$_t_uint48_$returns$_t_bool_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32,bool,bool,uint48) returns (bool)"}},"id":75284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30356:85:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75074,"id":75285,"nodeType":"Return","src":"30349:92:135"}]}},{"expression":{"hexValue":"74727565","id":75288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30461:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":75074,"id":75289,"nodeType":"Return","src":"30454:11:135"}]},"documentation":{"id":75058,"nodeType":"StructuredDocumentation","src":"27711:682:135","text":" @notice Removes points from an endorsement (partial or full un-endorsement).\n @dev Requires cooldown to have expired. If points=0, removes entire endorsement.\n @param appId The unique identifier of the app to unendorse.\n @param nodeId The unique identifier of the endorsing node.\n @param points The number of points to remove (0 = remove all).\n @param isBlacklisted Whether the app is currently blacklisted.\n @param isEligibleNow Whether the app is currently eligible for voting.\n @param clock The current block timestamp for grace period calculations.\n @return stillEligible Whether the app remains eligible after this un-endorsement."},"functionSelector":"4fd4e1b8","id":75291,"implemented":true,"kind":"function","modifiers":[],"name":"unendorseApp","nameLocation":"28405:12:135","nodeType":"FunctionDefinition","parameters":{"id":75071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75060,"mutability":"mutable","name":"appId","nameLocation":"28431:5:135","nodeType":"VariableDeclaration","scope":75291,"src":"28423:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":75059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28423:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":75062,"mutability":"mutable","name":"nodeId","nameLocation":"28450:6:135","nodeType":"VariableDeclaration","scope":75291,"src":"28442:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75061,"name":"uint256","nodeType":"ElementaryTypeName","src":"28442:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75064,"mutability":"mutable","name":"points","nameLocation":"28470:6:135","nodeType":"VariableDeclaration","scope":75291,"src":"28462:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75063,"name":"uint256","nodeType":"ElementaryTypeName","src":"28462:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75066,"mutability":"mutable","name":"isBlacklisted","nameLocation":"28487:13:135","nodeType":"VariableDeclaration","scope":75291,"src":"28482:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75065,"name":"bool","nodeType":"ElementaryTypeName","src":"28482:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":75068,"mutability":"mutable","name":"isEligibleNow","nameLocation":"28511:13:135","nodeType":"VariableDeclaration","scope":75291,"src":"28506:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75067,"name":"bool","nodeType":"ElementaryTypeName","src":"28506:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":75070,"mutability":"mutable","name":"clock","nameLocation":"28537:5:135","nodeType":"VariableDeclaration","scope":75291,"src":"28530:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":75069,"name":"uint48","nodeType":"ElementaryTypeName","src":"28530:6:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"28417:129:135"},"returnParameters":{"id":75074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75073,"mutability":"mutable","name":"stillEligible","nameLocation":"28570:13:135","nodeType":"VariableDeclaration","scope":75291,"src":"28565:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75072,"name":"bool","nodeType":"ElementaryTypeName","src":"28565:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28564:20:135"},"scope":76581,"src":"28396:2074:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":75448,"nodeType":"Block","src":"31252:1238:135","statements":[{"assignments":[75311],"declarations":[{"constant":false,"id":75311,"mutability":"mutable","name":"$","nameLocation":"31308:1:135","nodeType":"VariableDeclaration","scope":75448,"src":"31258:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":75310,"nodeType":"UserDefinedTypeName","pathNode":{"id":75309,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["31258:22:135","31281:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"31258:41:135"},"referencedDeclaration":76750,"src":"31258:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":75315,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75312,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"31312:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31335:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"31312:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":75314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31312:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31258:101:135"},{"id":75340,"nodeType":"Block","src":"31366:215:135","statements":[{"assignments":[75320],"declarations":[{"constant":false,"id":75320,"mutability":"mutable","name":"appsStorage","nameLocation":"31424:11:135","nodeType":"VariableDeclaration","scope":75340,"src":"31374:61:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"},"typeName":{"id":75319,"nodeType":"UserDefinedTypeName","pathNode":{"id":75318,"name":"X2EarnAppsStorageTypes.AppsStorageStorage","nameLocations":["31374:22:135","31397:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76764,"src":"31374:41:135"},"referencedDeclaration":76764,"src":"31374:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"}},"visibility":"internal"}],"id":75324,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75321,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"31438:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31461:22:135","memberName":"_getAppsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":76839,"src":"31438:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AppsStorageStorage_$76764_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer)"}},"id":75323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31438:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31374:111:135"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":75334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":75325,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75320,"src":"31497:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":75326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31509:5:135","memberName":"_apps","nodeType":"MemberAccess","referencedDeclaration":76760,"src":"31497:17:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App storage ref)"}},"id":75328,"indexExpression":{"id":75327,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75294,"src":"31515:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31497:24:135","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage","typeString":"struct X2EarnAppsDataTypes.App storage ref"}},"id":75329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31522:2:135","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":71128,"src":"31497:27:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31536: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"}],"id":75331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31528:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":75330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31528:7:135","typeDescriptions":{}}},"id":75333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31528:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"31497:41:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75339,"nodeType":"IfStatement","src":"31493:81:135","trueBody":{"errorCall":{"arguments":[{"id":75336,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75294,"src":"31568:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75335,"name":"X2EarnNonexistentApp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73289,"src":"31547:20:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":75337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31547:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75338,"nodeType":"RevertStatement","src":"31540:34:135"}}]},{"assignments":[75342],"declarations":[{"constant":false,"id":75342,"mutability":"mutable","name":"pointsToRemove","nameLocation":"31595:14:135","nodeType":"VariableDeclaration","scope":75448,"src":"31587:22:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75341,"name":"uint256","nodeType":"ElementaryTypeName","src":"31587:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75343,"nodeType":"VariableDeclarationStatement","src":"31587:22:135"},{"id":75402,"nodeType":"Block","src":"31615:464:135","statements":[{"assignments":[75349],"declarations":[{"constant":false,"id":75349,"mutability":"mutable","name":"endorsements","nameLocation":"31668:12:135","nodeType":"VariableDeclaration","scope":75402,"src":"31623:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":75347,"nodeType":"UserDefinedTypeName","pathNode":{"id":75346,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["31623:22:135","31646:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"31623:34:135"},"referencedDeclaration":76643,"src":"31623:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":75348,"nodeType":"ArrayTypeName","src":"31623:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":75354,"initialValue":{"baseExpression":{"expression":{"id":75350,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"31683:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31685:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"31683:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":75353,"indexExpression":{"id":75352,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75296,"src":"31705:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31683:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"31623:89:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75355,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75349,"src":"31724:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31737:6:135","memberName":"length","nodeType":"MemberAccess","src":"31724:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31747:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31724:24:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75362,"nodeType":"IfStatement","src":"31720:56:135","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75359,"name":"X2EarnNonEndorser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73303,"src":"31757:17:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31757:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75361,"nodeType":"RevertStatement","src":"31750:26:135"}},{"assignments":[75364],"declarations":[{"constant":false,"id":75364,"mutability":"mutable","name":"index","nameLocation":"31793:5:135","nodeType":"VariableDeclaration","scope":75402,"src":"31785:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75363,"name":"uint256","nodeType":"ElementaryTypeName","src":"31785:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75371,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":75365,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"31801:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31803:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"31801:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":75368,"indexExpression":{"id":75367,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75296,"src":"31831:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31801:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":75370,"indexExpression":{"id":75369,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75294,"src":"31839:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31801:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31785:60:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75372,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75364,"src":"31857:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":75373,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75349,"src":"31866:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31879:6:135","memberName":"length","nodeType":"MemberAccess","src":"31866:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31857:28:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":75381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":75376,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75349,"src":"31889:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75378,"indexExpression":{"id":75377,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75364,"src":"31902:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31889:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31909:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"31889:25:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75380,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75294,"src":"31918:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"31889:34:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"31857:66:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75387,"nodeType":"IfStatement","src":"31853:117:135","trueBody":{"id":75386,"nodeType":"Block","src":"31925:45:135","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75383,"name":"X2EarnNonEndorser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73303,"src":"31942:17:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31942:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75385,"nodeType":"RevertStatement","src":"31935:26:135"}]}},{"expression":{"id":75393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75388,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75342,"src":"31978:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":75389,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75349,"src":"31995:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75391,"indexExpression":{"id":75390,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75364,"src":"32008:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31995:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32015:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"31995:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31978:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75394,"nodeType":"ExpressionStatement","src":"31978:43:135"},{"expression":{"arguments":[{"id":75396,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"32048:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75397,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75296,"src":"32051:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75398,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75294,"src":"32059:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75399,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75364,"src":"32066:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75395,"name":"_removeEndorsement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76300,"src":"32029:18:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,uint256,bytes32,uint256)"}},"id":75400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32029:43:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75401,"nodeType":"ExpressionStatement","src":"32029:43:135"}]},{"assignments":[75404],"declarations":[{"constant":false,"id":75404,"mutability":"mutable","name":"newScore","nameLocation":"32093:8:135","nodeType":"VariableDeclaration","scope":75448,"src":"32085:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75403,"name":"uint256","nodeType":"ElementaryTypeName","src":"32085:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75411,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75406,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"32114:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75407,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75294,"src":"32117:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75405,"name":"_getScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76439,"src":"32104:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32) view returns (uint256)"}},"id":75408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32104:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75409,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75342,"src":"32126:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32104:36:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32085:55:135"},{"expression":{"arguments":[{"id":75413,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"32156:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75414,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75294,"src":"32159:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75415,"name":"newScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75404,"src":"32166:8:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75412,"name":"_setScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76467,"src":"32146:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32,uint256)"}},"id":75416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32146:29:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75417,"nodeType":"ExpressionStatement","src":"32146:29:135"},{"eventCall":{"arguments":[{"id":75419,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75294,"src":"32201:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75420,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75296,"src":"32208:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75421,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75342,"src":"32216:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75418,"name":"AppUnendorsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73399,"src":"32187:13:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256)"}},"id":75422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32187:44:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75423,"nodeType":"EmitStatement","src":"32182:49:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"32242:14:135","subExpression":{"id":75424,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75300,"src":"32243:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":75426,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75298,"src":"32260:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32242:31:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75431,"nodeType":"IfStatement","src":"32238:72:135","trueBody":{"id":75430,"nodeType":"Block","src":"32275:35:135","statements":[{"expression":{"id":75428,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75300,"src":"32290:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75306,"id":75429,"nodeType":"Return","src":"32283:20:135"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75432,"name":"newScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75404,"src":"32320:8:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75433,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"32331:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32333:26:135","memberName":"_endorsementScoreThreshold","nodeType":"MemberAccess","referencedDeclaration":76682,"src":"32331:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32320:39:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75445,"nodeType":"IfStatement","src":"32316:152:135","trueBody":{"id":75444,"nodeType":"Block","src":"32361:107:135","statements":[{"expression":{"arguments":[{"id":75437,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"32415:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75438,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75294,"src":"32418:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75439,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75298,"src":"32425:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":75440,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75300,"src":"32440:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":75441,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75302,"src":"32455:5:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":75436,"name":"_updateStatusIfThresholdNotMetWithVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76580,"src":"32376:38:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$_t_bool_$_t_bool_$_t_uint48_$returns$_t_bool_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32,bool,bool,uint48) returns (bool)"}},"id":75442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32376:85:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75306,"id":75443,"nodeType":"Return","src":"32369:92:135"}]}},{"expression":{"hexValue":"74727565","id":75446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"32481:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":75306,"id":75447,"nodeType":"Return","src":"32474:11:135"}]},"documentation":{"id":75292,"nodeType":"StructuredDocumentation","src":"30474:599:135","text":" @notice Removes a node's endorsement from an app (called by app admin).\n @dev Unlike unendorseApp, this bypasses cooldown check. Used by app admins to remove endorsers.\n @param appId The unique identifier of the app.\n @param nodeId The unique identifier of the node to remove.\n @param isBlacklisted Whether the app is currently blacklisted.\n @param isEligibleNow Whether the app is currently eligible for voting.\n @param clock The current block timestamp for grace period calculations.\n @return stillEligible Whether the app remains eligible after removal."},"functionSelector":"e8786a58","id":75449,"implemented":true,"kind":"function","modifiers":[],"name":"removeNodeEndorsement","nameLocation":"31085:21:135","nodeType":"FunctionDefinition","parameters":{"id":75303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75294,"mutability":"mutable","name":"appId","nameLocation":"31120:5:135","nodeType":"VariableDeclaration","scope":75449,"src":"31112:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":75293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31112:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":75296,"mutability":"mutable","name":"nodeId","nameLocation":"31139:6:135","nodeType":"VariableDeclaration","scope":75449,"src":"31131:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75295,"name":"uint256","nodeType":"ElementaryTypeName","src":"31131:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75298,"mutability":"mutable","name":"isBlacklisted","nameLocation":"31156:13:135","nodeType":"VariableDeclaration","scope":75449,"src":"31151:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75297,"name":"bool","nodeType":"ElementaryTypeName","src":"31151:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":75300,"mutability":"mutable","name":"isEligibleNow","nameLocation":"31180:13:135","nodeType":"VariableDeclaration","scope":75449,"src":"31175:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75299,"name":"bool","nodeType":"ElementaryTypeName","src":"31175:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":75302,"mutability":"mutable","name":"clock","nameLocation":"31206:5:135","nodeType":"VariableDeclaration","scope":75449,"src":"31199:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":75301,"name":"uint48","nodeType":"ElementaryTypeName","src":"31199:6:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"31106:109:135"},"returnParameters":{"id":75306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75305,"mutability":"mutable","name":"stillEligible","nameLocation":"31237:13:135","nodeType":"VariableDeclaration","scope":75449,"src":"31232:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75304,"name":"bool","nodeType":"ElementaryTypeName","src":"31232:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31231:20:135"},"scope":76581,"src":"31076:1414:135","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":75496,"nodeType":"Block","src":"32801:355:135","statements":[{"assignments":[75459],"declarations":[{"constant":false,"id":75459,"mutability":"mutable","name":"appsStorage","nameLocation":"32857:11:135","nodeType":"VariableDeclaration","scope":75496,"src":"32807:61:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"},"typeName":{"id":75458,"nodeType":"UserDefinedTypeName","pathNode":{"id":75457,"name":"X2EarnAppsStorageTypes.AppsStorageStorage","nameLocations":["32807:22:135","32830:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76764,"src":"32807:41:135"},"referencedDeclaration":76764,"src":"32807:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"}},"visibility":"internal"}],"id":75463,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75460,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"32871:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32894:22:135","memberName":"_getAppsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":76839,"src":"32871:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AppsStorageStorage_$76764_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer)"}},"id":75462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32871:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"32807:111:135"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":75473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":75464,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75459,"src":"32928:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":75465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32940:5:135","memberName":"_apps","nodeType":"MemberAccess","referencedDeclaration":76760,"src":"32928:17:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App storage ref)"}},"id":75467,"indexExpression":{"id":75466,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"32946:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32928:24:135","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage","typeString":"struct X2EarnAppsDataTypes.App storage ref"}},"id":75468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32953:2:135","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":71128,"src":"32928:27:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32967: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"}],"id":75470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32959:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":75469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32959:7:135","typeDescriptions":{}}},"id":75472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32959:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"32928:41:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75478,"nodeType":"IfStatement","src":"32924:81:135","trueBody":{"errorCall":{"arguments":[{"id":75475,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"32999:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75474,"name":"X2EarnNonexistentApp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73289,"src":"32978:20:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":75476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32978:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75477,"nodeType":"RevertStatement","src":"32971:34:135"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":75479,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75459,"src":"33015:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":75480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33027:5:135","memberName":"_apps","nodeType":"MemberAccess","referencedDeclaration":76760,"src":"33015:17:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App storage ref)"}},"id":75482,"indexExpression":{"id":75481,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"33033:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33015:24:135","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage","typeString":"struct X2EarnAppsDataTypes.App storage ref"}},"id":75483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33040:18:135","memberName":"createdAtTimestamp","nodeType":"MemberAccess","referencedDeclaration":71132,"src":"33015:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33062:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33015:48:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75490,"nodeType":"IfStatement","src":"33011:101:135","trueBody":{"errorCall":{"arguments":[{"id":75487,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"33106:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75486,"name":"NodeManagementXAppAlreadyIncluded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73307,"src":"33072:33:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":75488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33072:40:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75489,"nodeType":"RevertStatement","src":"33065:47:135"}},{"expression":{"arguments":[{"id":75492,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75452,"src":"33139:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":75493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33146:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75491,"name":"updateUnendorsedApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74439,"src":"33118:20:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bool)"}},"id":75494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33118:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75495,"nodeType":"ExpressionStatement","src":"33118:33:135"}]},"documentation":{"id":75450,"nodeType":"StructuredDocumentation","src":"32494:250:135","text":" @notice Removes an app submission that hasn't been fully created yet.\n @dev Can only be called on apps that were submitted but not yet created (createdAtTimestamp == 0).\n @param appId The unique identifier of the app to remove."},"functionSelector":"0ab12e14","id":75497,"implemented":true,"kind":"function","modifiers":[],"name":"removeXAppSubmission","nameLocation":"32756:20:135","nodeType":"FunctionDefinition","parameters":{"id":75453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75452,"mutability":"mutable","name":"appId","nameLocation":"32785:5:135","nodeType":"VariableDeclaration","scope":75497,"src":"32777:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":75451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32777:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"32776:15:135"},"returnParameters":{"id":75454,"nodeType":"ParameterList","parameters":[],"src":"32801:0:135"},"scope":76581,"src":"32747:409:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":75616,"nodeType":"Block","src":"33711:1133:135","statements":[{"assignments":[75511],"declarations":[{"constant":false,"id":75511,"mutability":"mutable","name":"appsStorage","nameLocation":"33767:11:135","nodeType":"VariableDeclaration","scope":75616,"src":"33717:61:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"},"typeName":{"id":75510,"nodeType":"UserDefinedTypeName","pathNode":{"id":75509,"name":"X2EarnAppsStorageTypes.AppsStorageStorage","nameLocations":["33717:22:135","33740:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76764,"src":"33717:41:135"},"referencedDeclaration":76764,"src":"33717:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"}},"visibility":"internal"}],"id":75515,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75512,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"33781:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33804:22:135","memberName":"_getAppsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":76839,"src":"33781:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AppsStorageStorage_$76764_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer)"}},"id":75514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33781:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"33717:111:135"},{"assignments":[75520],"declarations":[{"constant":false,"id":75520,"mutability":"mutable","name":"voteStorage","nameLocation":"33888:11:135","nodeType":"VariableDeclaration","scope":75616,"src":"33834:65:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoteEligibilityStorage_$76635_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.VoteEligibilityStorage"},"typeName":{"id":75519,"nodeType":"UserDefinedTypeName","pathNode":{"id":75518,"name":"X2EarnAppsStorageTypes.VoteEligibilityStorage","nameLocations":["33834:22:135","33857:22:135"],"nodeType":"IdentifierPath","referencedDeclaration":76635,"src":"33834:45:135"},"referencedDeclaration":76635,"src":"33834:45:135","typeDescriptions":{"typeIdentifier":"t_struct$_VoteEligibilityStorage_$76635_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.VoteEligibilityStorage"}},"visibility":"internal"}],"id":75524,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75521,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"33902:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33932:26:135","memberName":"_getVoteEligibilityStorage","nodeType":"MemberAccess","referencedDeclaration":76815,"src":"33902:56:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VoteEligibilityStorage_$76635_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.VoteEligibilityStorage storage pointer)"}},"id":75523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33902:58:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VoteEligibilityStorage_$76635_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.VoteEligibilityStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"33834:126:135"},{"assignments":[75529],"declarations":[{"constant":false,"id":75529,"mutability":"mutable","name":"$","nameLocation":"34016:1:135","nodeType":"VariableDeclaration","scope":75616,"src":"33966:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":75528,"nodeType":"UserDefinedTypeName","pathNode":{"id":75527,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["33966:22:135","33989:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"33966:41:135"},"referencedDeclaration":76750,"src":"33966:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":75533,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75530,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"34020:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34043:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"34020:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":75532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34020:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"33966:101:135"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":75543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":75534,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75511,"src":"34078:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":75535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34090:5:135","memberName":"_apps","nodeType":"MemberAccess","referencedDeclaration":76760,"src":"34078:17:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App storage ref)"}},"id":75537,"indexExpression":{"id":75536,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75500,"src":"34096:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34078:24:135","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage","typeString":"struct X2EarnAppsDataTypes.App storage ref"}},"id":75538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34103:2:135","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":71128,"src":"34078:27:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34117: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"}],"id":75540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34109:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":75539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34109:7:135","typeDescriptions":{}}},"id":75542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34109:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"34078:41:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75548,"nodeType":"IfStatement","src":"34074:81:135","trueBody":{"errorCall":{"arguments":[{"id":75545,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75500,"src":"34149:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75544,"name":"X2EarnNonexistentApp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73289,"src":"34128:20:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":75546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34128:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75547,"nodeType":"RevertStatement","src":"34121:34:135"}},{"assignments":[75550],"declarations":[{"constant":false,"id":75550,"mutability":"mutable","name":"isBlacklisted","nameLocation":"34167:13:135","nodeType":"VariableDeclaration","scope":75616,"src":"34162:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75549,"name":"bool","nodeType":"ElementaryTypeName","src":"34162:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75555,"initialValue":{"baseExpression":{"expression":{"id":75551,"name":"voteStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75520,"src":"34183:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_VoteEligibilityStorage_$76635_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.VoteEligibilityStorage storage pointer"}},"id":75552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34195:10:135","memberName":"_blackList","nodeType":"MemberAccess","referencedDeclaration":76634,"src":"34183:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":75554,"indexExpression":{"id":75553,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75500,"src":"34206:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34183:29:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"34162:50:135"},{"condition":{"id":75556,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75550,"src":"34222:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75559,"nodeType":"IfStatement","src":"34218:31:135","trueBody":{"expression":{"hexValue":"66616c7365","id":75557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34244:5:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":75506,"id":75558,"nodeType":"Return","src":"34237:12:135"}},{"assignments":[75561],"declarations":[{"constant":false,"id":75561,"mutability":"mutable","name":"score","nameLocation":"34338:5:135","nodeType":"VariableDeclaration","scope":75616,"src":"34330:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75560,"name":"uint256","nodeType":"ElementaryTypeName","src":"34330:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75566,"initialValue":{"arguments":[{"id":75563,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"34376:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75564,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75500,"src":"34379:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75562,"name":"_validateAndCleanEndorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75870,"src":"34346:29:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32) returns (uint256)"}},"id":75565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34346:39:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34330:55:135"},{"assignments":[75568],"declarations":[{"constant":false,"id":75568,"mutability":"mutable","name":"existsNow","nameLocation":"34396:9:135","nodeType":"VariableDeclaration","scope":75616,"src":"34391:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75567,"name":"bool","nodeType":"ElementaryTypeName","src":"34391:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75576,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":75569,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75511,"src":"34408:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":75570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34420:5:135","memberName":"_apps","nodeType":"MemberAccess","referencedDeclaration":76760,"src":"34408:17:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App storage ref)"}},"id":75572,"indexExpression":{"id":75571,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75500,"src":"34426:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34408:24:135","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage","typeString":"struct X2EarnAppsDataTypes.App storage ref"}},"id":75573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34433:18:135","memberName":"createdAtTimestamp","nodeType":"MemberAccess","referencedDeclaration":71132,"src":"34408:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":75574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34455:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34408:48:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"34391:65:135"},{"assignments":[75578],"declarations":[{"constant":false,"id":75578,"mutability":"mutable","name":"isEligibleNow","nameLocation":"34467:13:135","nodeType":"VariableDeclaration","scope":75616,"src":"34462:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75577,"name":"bool","nodeType":"ElementaryTypeName","src":"34462:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75589,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75579,"name":"existsNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"34483:9:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":75587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":75580,"name":"voteStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75520,"src":"34496:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_VoteEligibilityStorage_$76635_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.VoteEligibilityStorage storage pointer"}},"id":75581,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34508:25:135","memberName":"_isAppEligibleCheckpoints","nodeType":"MemberAccess","referencedDeclaration":76630,"src":"34496:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(bytes32 => struct Checkpoints.Trace208 storage ref)"}},"id":75583,"indexExpression":{"id":75582,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75500,"src":"34534:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34496:44:135","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":75584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34541:6:135","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"34496:51:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":75585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34496:53:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34553:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"34496:58:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"34483:71:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"34462:92:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75590,"name":"score","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75561,"src":"34565:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75591,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"34573:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34575:26:135","memberName":"_endorsementScoreThreshold","nodeType":"MemberAccess","referencedDeclaration":76682,"src":"34573:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34565:36:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75612,"nodeType":"Block","src":"34716:106:135","statements":[{"expression":{"arguments":[{"id":75604,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"34752:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75605,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75511,"src":"34755:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},{"id":75606,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75500,"src":"34768:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75607,"name":"existsNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"34775:9:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":75608,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75578,"src":"34786:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":75609,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75550,"src":"34801:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75603,"name":"_updateStatusIfThresholdMet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76418,"src":"34724:27:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_struct$_AppsStorageStorage_$76764_storage_ptr_$_t_bytes32_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer,bytes32,bool,bool,bool)"}},"id":75610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34724:91:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75611,"nodeType":"ExpressionStatement","src":"34724:91:135"}]},"id":75613,"nodeType":"IfStatement","src":"34561:261:135","trueBody":{"id":75602,"nodeType":"Block","src":"34603:107:135","statements":[{"expression":{"arguments":[{"id":75595,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75529,"src":"34657:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75596,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75500,"src":"34660:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75597,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75550,"src":"34667:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":75598,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75578,"src":"34682:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":75599,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75502,"src":"34697:5:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":75594,"name":"_updateStatusIfThresholdNotMetWithVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76580,"src":"34618:38:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$_t_bool_$_t_bool_$_t_uint48_$returns$_t_bool_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32,bool,bool,uint48) returns (bool)"}},"id":75600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34618:85:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75506,"id":75601,"nodeType":"Return","src":"34611:92:135"}]}},{"expression":{"hexValue":"74727565","id":75614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34835:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":75506,"id":75615,"nodeType":"Return","src":"34828:11:135"}]},"documentation":{"id":75498,"nodeType":"StructuredDocumentation","src":"33160:469:135","text":" @notice Validates an app's endorsement status and cleans up invalid endorsements.\n @dev Removes endorsements from burned/invalid nodes and updates eligibility status.\n      Triggers grace period if score drops below threshold.\n @param appId The unique identifier of the app to check.\n @param clock The current block timestamp for grace period calculations.\n @return True if the app is still eligible after validation, false otherwise."},"functionSelector":"6e054773","id":75617,"implemented":true,"kind":"function","modifiers":[],"name":"checkEndorsement","nameLocation":"33641:16:135","nodeType":"FunctionDefinition","parameters":{"id":75503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75500,"mutability":"mutable","name":"appId","nameLocation":"33666:5:135","nodeType":"VariableDeclaration","scope":75617,"src":"33658:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":75499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33658:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":75502,"mutability":"mutable","name":"clock","nameLocation":"33680:5:135","nodeType":"VariableDeclaration","scope":75617,"src":"33673:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":75501,"name":"uint48","nodeType":"ElementaryTypeName","src":"33673:6:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"33657:29:135"},"returnParameters":{"id":75506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75617,"src":"33705:4:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75504,"name":"bool","nodeType":"ElementaryTypeName","src":"33705:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33704:6:135"},"scope":76581,"src":"33632:1212:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":75869,"nodeType":"Block","src":"35088:2309:135","statements":[{"assignments":[75632],"declarations":[{"constant":false,"id":75632,"mutability":"mutable","name":"nodeIds","nameLocation":"35112:7:135","nodeType":"VariableDeclaration","scope":75869,"src":"35094:25:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":75630,"name":"uint256","nodeType":"ElementaryTypeName","src":"35094:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75631,"nodeType":"ArrayTypeName","src":"35094:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":75637,"initialValue":{"baseExpression":{"expression":{"id":75633,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"35122:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35124:17:135","memberName":"_appEndorserNodes","nodeType":"MemberAccess","referencedDeclaration":76730,"src":"35122:19:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[] storage ref)"}},"id":75636,"indexExpression":{"id":75635,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"35142:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35122:26:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35094:54:135"},{"assignments":[75639],"declarations":[{"constant":false,"id":75639,"mutability":"mutable","name":"validScore","nameLocation":"35162:10:135","nodeType":"VariableDeclaration","scope":75869,"src":"35154:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75638,"name":"uint256","nodeType":"ElementaryTypeName","src":"35154:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75640,"nodeType":"VariableDeclarationStatement","src":"35154:18:135"},{"assignments":[75642],"declarations":[{"constant":false,"id":75642,"mutability":"mutable","name":"i","nameLocation":"35186:1:135","nodeType":"VariableDeclaration","scope":75869,"src":"35178:9:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75641,"name":"uint256","nodeType":"ElementaryTypeName","src":"35178:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75643,"nodeType":"VariableDeclarationStatement","src":"35178:9:135"},{"body":{"id":75859,"nodeType":"Block","src":"35221:2084:135","statements":[{"assignments":[75649],"declarations":[{"constant":false,"id":75649,"mutability":"mutable","name":"nodeId","nameLocation":"35237:6:135","nodeType":"VariableDeclaration","scope":75859,"src":"35229:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75648,"name":"uint256","nodeType":"ElementaryTypeName","src":"35229:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75653,"initialValue":{"baseExpression":{"id":75650,"name":"nodeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75632,"src":"35246:7:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":75652,"indexExpression":{"id":75651,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75642,"src":"35254:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35246:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35229:27:135"},{"assignments":[75655],"declarations":[{"constant":false,"id":75655,"mutability":"mutable","name":"isValid","nameLocation":"35269:7:135","nodeType":"VariableDeclaration","scope":75859,"src":"35264:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75654,"name":"bool","nodeType":"ElementaryTypeName","src":"35264:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75661,"initialValue":{"arguments":[{"id":75659,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"35306:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":75656,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"35279:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35281:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"35279:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":75658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35294:11:135","memberName":"tokenExists","nodeType":"MemberAccess","referencedDeclaration":72456,"src":"35279:26:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":75660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35279:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"35264:49:135"},{"condition":{"id":75663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35326:8:135","subExpression":{"id":75662,"name":"isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75655,"src":"35327:7:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75857,"nodeType":"Block","src":"36776:523:135","statements":[{"assignments":[75814],"declarations":[{"constant":false,"id":75814,"mutability":"mutable","name":"endorsements","nameLocation":"36875:12:135","nodeType":"VariableDeclaration","scope":75857,"src":"36830:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":75812,"nodeType":"UserDefinedTypeName","pathNode":{"id":75811,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["36830:22:135","36853:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"36830:34:135"},"referencedDeclaration":76643,"src":"36830:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":75813,"nodeType":"ArrayTypeName","src":"36830:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":75819,"initialValue":{"baseExpression":{"expression":{"id":75815,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"36890:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36892:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"36890:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":75818,"indexExpression":{"id":75817,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"36912:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36890:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"36830:89:135"},{"assignments":[75821],"declarations":[{"constant":false,"id":75821,"mutability":"mutable","name":"endorseIndex","nameLocation":"36937:12:135","nodeType":"VariableDeclaration","scope":75857,"src":"36929:20:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75820,"name":"uint256","nodeType":"ElementaryTypeName","src":"36929:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75828,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":75822,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"36952:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36954:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"36952:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":75825,"indexExpression":{"id":75824,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"36982:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36952:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":75827,"indexExpression":{"id":75826,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"36990:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36952:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36929:67:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75829,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75821,"src":"37070:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":75830,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75814,"src":"37086:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37099:6:135","memberName":"length","nodeType":"MemberAccess","src":"37086:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37070:35:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":75838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":75833,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75814,"src":"37109:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75835,"indexExpression":{"id":75834,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75821,"src":"37122:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37109:26:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37136:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"37109:32:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75837,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"37145:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"37109:41:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37070:80:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75846,"nodeType":"IfStatement","src":"37066:154:135","trueBody":{"id":75845,"nodeType":"Block","src":"37152:68:135","statements":[{"errorCall":{"arguments":[{"id":75841,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"37195:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75842,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"37203:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75840,"name":"InvalidEndorsementIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73353,"src":"37171:23:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,bytes32) pure"}},"id":75843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37171:38:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75844,"nodeType":"RevertStatement","src":"37164:45:135"}]}},{"expression":{"id":75852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75847,"name":"validScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75639,"src":"37230:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":75848,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75814,"src":"37244:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75850,"indexExpression":{"id":75849,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75821,"src":"37257:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37244:26:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37271:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"37244:33:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37230:47:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75853,"nodeType":"ExpressionStatement","src":"37230:47:135"},{"expression":{"id":75855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"37287:3:135","subExpression":{"id":75854,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75642,"src":"37287:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75856,"nodeType":"ExpressionStatement","src":"37287:3:135"}]},"id":75858,"nodeType":"IfStatement","src":"35322:1977:135","trueBody":{"id":75808,"nodeType":"Block","src":"35336:1434:135","statements":[{"assignments":[75669],"declarations":[{"constant":false,"id":75669,"mutability":"mutable","name":"endorsements","nameLocation":"35435:12:135","nodeType":"VariableDeclaration","scope":75808,"src":"35390:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":75667,"nodeType":"UserDefinedTypeName","pathNode":{"id":75666,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["35390:22:135","35413:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"35390:34:135"},"referencedDeclaration":76643,"src":"35390:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":75668,"nodeType":"ArrayTypeName","src":"35390:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":75674,"initialValue":{"baseExpression":{"expression":{"id":75670,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"35450:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35452:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"35450:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":75673,"indexExpression":{"id":75672,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"35472:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35450:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35390:89:135"},{"assignments":[75676],"declarations":[{"constant":false,"id":75676,"mutability":"mutable","name":"endorseIndex","nameLocation":"35497:12:135","nodeType":"VariableDeclaration","scope":75808,"src":"35489:20:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75675,"name":"uint256","nodeType":"ElementaryTypeName","src":"35489:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75683,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":75677,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"35512:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75678,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35514:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"35512:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":75680,"indexExpression":{"id":75679,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"35542:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35512:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":75682,"indexExpression":{"id":75681,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"35550:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35512:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35489:67:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75684,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75676,"src":"35630:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":75685,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75669,"src":"35646:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35659:6:135","memberName":"length","nodeType":"MemberAccess","src":"35646:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35630:35:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":75693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":75688,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75669,"src":"35669:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75690,"indexExpression":{"id":75689,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75676,"src":"35682:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35669:26:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35696:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"35669:32:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75692,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"35705:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"35669:41:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"35630:80:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75701,"nodeType":"IfStatement","src":"35626:154:135","trueBody":{"id":75700,"nodeType":"Block","src":"35712:68:135","statements":[{"errorCall":{"arguments":[{"id":75696,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"35755:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75697,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"35763:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75695,"name":"InvalidEndorsementIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73353,"src":"35731:23:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,bytes32) pure"}},"id":75698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35731:38:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75699,"nodeType":"RevertStatement","src":"35724:45:135"}]}},{"assignments":[75703],"declarations":[{"constant":false,"id":75703,"mutability":"mutable","name":"pointsToRemove","nameLocation":"35798:14:135","nodeType":"VariableDeclaration","scope":75808,"src":"35790:22:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75702,"name":"uint256","nodeType":"ElementaryTypeName","src":"35790:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75708,"initialValue":{"expression":{"baseExpression":{"id":75704,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75669,"src":"35815:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75706,"indexExpression":{"id":75705,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75676,"src":"35828:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35815:26:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35842:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"35815:33:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35790:58:135"},{"assignments":[75710],"declarations":[{"constant":false,"id":75710,"mutability":"mutable","name":"lastEndorseIndex","nameLocation":"35914:16:135","nodeType":"VariableDeclaration","scope":75808,"src":"35906:24:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75709,"name":"uint256","nodeType":"ElementaryTypeName","src":"35906:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75715,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75711,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75669,"src":"35933:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35946:6:135","memberName":"length","nodeType":"MemberAccess","src":"35933:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":75713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35955:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35933:23:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35906:50:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75716,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75676,"src":"35970:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75717,"name":"lastEndorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75710,"src":"35986:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35970:32:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75741,"nodeType":"IfStatement","src":"35966:218:135","trueBody":{"id":75740,"nodeType":"Block","src":"36004:180:135","statements":[{"expression":{"id":75725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75719,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75669,"src":"36016:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75721,"indexExpression":{"id":75720,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75676,"src":"36029:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36016:26:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":75722,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75669,"src":"36045:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75724,"indexExpression":{"id":75723,"name":"lastEndorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75710,"src":"36058:16:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36045:30:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"src":"36016:59:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75726,"nodeType":"ExpressionStatement","src":"36016:59:135"},{"expression":{"id":75738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":75727,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"36087:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36089:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"36087:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":75735,"indexExpression":{"id":75729,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"36117:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36087:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":75736,"indexExpression":{"expression":{"baseExpression":{"id":75730,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75669,"src":"36125:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75732,"indexExpression":{"id":75731,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75676,"src":"36138:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36125:26:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36152:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"36125:32:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36087:71:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75737,"name":"endorseIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75676,"src":"36161:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36087:86:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75739,"nodeType":"ExpressionStatement","src":"36087:86:135"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75742,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75669,"src":"36193:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36206:3:135","memberName":"pop","nodeType":"MemberAccess","src":"36193:16:135","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr_$","typeString":"function (struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer)"}},"id":75745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36193:18:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75746,"nodeType":"ExpressionStatement","src":"36193:18:135"},{"expression":{"id":75753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"36221:51:135","subExpression":{"baseExpression":{"baseExpression":{"expression":{"id":75747,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"36228:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36230:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"36228:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":75750,"indexExpression":{"id":75749,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"36258:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36228:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":75752,"indexExpression":{"id":75751,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"36266:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36228:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75754,"nodeType":"ExpressionStatement","src":"36221:51:135"},{"assignments":[75756],"declarations":[{"constant":false,"id":75756,"mutability":"mutable","name":"lastNodeIndex","nameLocation":"36349:13:135","nodeType":"VariableDeclaration","scope":75808,"src":"36341:21:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75755,"name":"uint256","nodeType":"ElementaryTypeName","src":"36341:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75761,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75757,"name":"nodeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75632,"src":"36365:7:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":75758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36373:6:135","memberName":"length","nodeType":"MemberAccess","src":"36365:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":75759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36382:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"36365:18:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36341:42:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75762,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75642,"src":"36397:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75763,"name":"lastNodeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75756,"src":"36402:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36397:18:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75788,"nodeType":"IfStatement","src":"36393:184:135","trueBody":{"id":75787,"nodeType":"Block","src":"36417:160:135","statements":[{"assignments":[75766],"declarations":[{"constant":false,"id":75766,"mutability":"mutable","name":"lastNodeId","nameLocation":"36437:10:135","nodeType":"VariableDeclaration","scope":75787,"src":"36429:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75765,"name":"uint256","nodeType":"ElementaryTypeName","src":"36429:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75770,"initialValue":{"baseExpression":{"id":75767,"name":"nodeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75632,"src":"36450:7:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":75769,"indexExpression":{"id":75768,"name":"lastNodeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75756,"src":"36458:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36450:22:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36429:43:135"},{"expression":{"id":75775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75771,"name":"nodeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75632,"src":"36484:7:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":75773,"indexExpression":{"id":75772,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75642,"src":"36492:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36484:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75774,"name":"lastNodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75766,"src":"36497:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36484:23:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75776,"nodeType":"ExpressionStatement","src":"36484:23:135"},{"expression":{"id":75785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":75777,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"36519:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36521:22:135","memberName":"_appEndorserNodesIndex","nodeType":"MemberAccess","referencedDeclaration":76736,"src":"36519:24:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(bytes32 => mapping(uint256 => uint256))"}},"id":75782,"indexExpression":{"id":75779,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"36544:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36519:31:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75783,"indexExpression":{"id":75780,"name":"lastNodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75766,"src":"36551:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36519:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75784,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75642,"src":"36565:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36519:47:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75786,"nodeType":"ExpressionStatement","src":"36519:47:135"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75789,"name":"nodeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75632,"src":"36586:7:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":75791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36594:3:135","memberName":"pop","nodeType":"MemberAccess","src":"36586:11:135","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer)"}},"id":75792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36586:13:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75793,"nodeType":"ExpressionStatement","src":"36586:13:135"},{"expression":{"id":75800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"36609:46:135","subExpression":{"baseExpression":{"baseExpression":{"expression":{"id":75794,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"36616:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36618:22:135","memberName":"_appEndorserNodesIndex","nodeType":"MemberAccess","referencedDeclaration":76736,"src":"36616:24:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(bytes32 => mapping(uint256 => uint256))"}},"id":75797,"indexExpression":{"id":75796,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"36641:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36616:31:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75799,"indexExpression":{"id":75798,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"36648:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36616:39:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75801,"nodeType":"ExpressionStatement","src":"36609:46:135"},{"eventCall":{"arguments":[{"id":75803,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"36685:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75804,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75649,"src":"36692:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75805,"name":"pointsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75703,"src":"36700:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75802,"name":"AppUnendorsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73399,"src":"36671:13:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256)"}},"id":75806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36671:44:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75807,"nodeType":"EmitStatement","src":"36666:49:135"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75642,"src":"35201:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75645,"name":"nodeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75632,"src":"35205:7:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":75646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35213:6:135","memberName":"length","nodeType":"MemberAccess","src":"35205:14:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35201:18:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75860,"nodeType":"WhileStatement","src":"35194:2111:135"},{"expression":{"arguments":[{"id":75862,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75621,"src":"37348:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75863,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75623,"src":"37351:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75864,"name":"validScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75639,"src":"37358:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75861,"name":"_setScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76467,"src":"37338:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32,uint256)"}},"id":75865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37338:31:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75866,"nodeType":"ExpressionStatement","src":"37338:31:135"},{"expression":{"id":75867,"name":"validScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75639,"src":"37382:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75627,"id":75868,"nodeType":"Return","src":"37375:17:135"}]},"documentation":{"id":75618,"nodeType":"StructuredDocumentation","src":"34848:92:135","text":"@dev Validate all endorsements for an app, remove invalid ones, and return updated score"},"id":75870,"implemented":true,"kind":"function","modifiers":[],"name":"_validateAndCleanEndorsements","nameLocation":"34952:29:135","nodeType":"FunctionDefinition","parameters":{"id":75624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75621,"mutability":"mutable","name":"$","nameLocation":"35037:1:135","nodeType":"VariableDeclaration","scope":75870,"src":"34987:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":75620,"nodeType":"UserDefinedTypeName","pathNode":{"id":75619,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["34987:22:135","35010:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"34987:41:135"},"referencedDeclaration":76750,"src":"34987:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":75623,"mutability":"mutable","name":"appId","nameLocation":"35052:5:135","nodeType":"VariableDeclaration","scope":75870,"src":"35044:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":75622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35044:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34981:80:135"},"returnParameters":{"id":75627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75870,"src":"35079:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75625,"name":"uint256","nodeType":"ElementaryTypeName","src":"35079:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35078:9:135"},"scope":76581,"src":"34943:2454:135","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":76053,"nodeType":"Block","src":"37482:1718:135","statements":[{"assignments":[75883],"declarations":[{"constant":false,"id":75883,"mutability":"mutable","name":"$","nameLocation":"37538:1:135","nodeType":"VariableDeclaration","scope":76053,"src":"37488:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":75882,"nodeType":"UserDefinedTypeName","pathNode":{"id":75881,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["37488:22:135","37511:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"37488:41:135"},"referencedDeclaration":76750,"src":"37488:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"id":75887,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75884,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"37542:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37565:22:135","memberName":"_getEndorsementStorage","nodeType":"MemberAccess","referencedDeclaration":76823,"src":"37542:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EndorsementStorage_$76750_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer)"}},"id":75886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37542:47:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"37488:101:135"},{"condition":{"expression":{"id":75888,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"37600:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37602:19:135","memberName":"_migrationCompleted","nodeType":"MemberAccess","referencedDeclaration":76744,"src":"37600:21:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75893,"nodeType":"IfStatement","src":"37596:61:135","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75890,"name":"MigrationAlreadyCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73347,"src":"37630:25:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37630:27:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75892,"nodeType":"RevertStatement","src":"37623:34:135"}},{"assignments":[75895],"declarations":[{"constant":false,"id":75895,"mutability":"mutable","name":"currentRound","nameLocation":"37672:12:135","nodeType":"VariableDeclaration","scope":76053,"src":"37664:20:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75894,"name":"uint256","nodeType":"ElementaryTypeName","src":"37664:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75900,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":75896,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"37687:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37689:26:135","memberName":"_xAllocationVotingGovernor","nodeType":"MemberAccess","referencedDeclaration":76706,"src":"37687:28:135","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":75898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37716:14:135","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"37687:43:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":75899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37687:45:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37664:68:135"},{"assignments":[75906],"declarations":[{"constant":false,"id":75906,"mutability":"mutable","name":"endorsements","nameLocation":"37783:12:135","nodeType":"VariableDeclaration","scope":76053,"src":"37738:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":75904,"nodeType":"UserDefinedTypeName","pathNode":{"id":75903,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["37738:22:135","37761:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"37738:34:135"},"referencedDeclaration":76643,"src":"37738:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":75905,"nodeType":"ArrayTypeName","src":"37738:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":75911,"initialValue":{"baseExpression":{"expression":{"id":75907,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"37798:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37800:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"37798:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":75910,"indexExpression":{"id":75909,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"37820:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37798:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"37738:89:135"},{"assignments":[75913],"declarations":[{"constant":false,"id":75913,"mutability":"mutable","name":"existingIndex","nameLocation":"37841:13:135","nodeType":"VariableDeclaration","scope":76053,"src":"37833:21:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75912,"name":"uint256","nodeType":"ElementaryTypeName","src":"37833:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75920,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":75914,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"37857:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37859:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"37857:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":75917,"indexExpression":{"id":75916,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"37887:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37857:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":75919,"indexExpression":{"id":75918,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"37895:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37857:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37833:68:135"},{"assignments":[75922],"declarations":[{"constant":false,"id":75922,"mutability":"mutable","name":"exists","nameLocation":"37981:6:135","nodeType":"VariableDeclaration","scope":76053,"src":"37976:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75921,"name":"bool","nodeType":"ElementaryTypeName","src":"37976:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75939,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75923,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"37990:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38003:6:135","memberName":"length","nodeType":"MemberAccess","src":"37990:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38012:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37990:23:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75927,"name":"existingIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75913,"src":"38023:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75928,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"38039:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38052:6:135","memberName":"length","nodeType":"MemberAccess","src":"38039:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38023:35:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37990:68:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":75937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":75932,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"38068:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75934,"indexExpression":{"id":75933,"name":"existingIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75913,"src":"38081:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38068:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75935,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38096:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"38068:33:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75936,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"38105:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"38068:42:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"37990:120:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"37976:134:135"},{"condition":{"id":75940,"name":"exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75922,"src":"38121:6:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76036,"nodeType":"Block","src":"38496:535:135","statements":[{"expression":{"arguments":[{"arguments":[{"id":75981,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"38607:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":75982,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75876,"src":"38622:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75983,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75895,"src":"38647:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75979,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"38563:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":75980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38586:11:135","memberName":"Endorsement","nodeType":"MemberAccess","referencedDeclaration":76643,"src":"38563:34:135","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Endorsement_$76643_storage_ptr_$","typeString":"type(struct X2EarnAppsStorageTypes.Endorsement storage pointer)"}},"id":75984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["38600:5:135","38614:6:135","38630:15:135"],"names":["appId","points","endorsedAtRound"],"nodeType":"FunctionCall","src":"38563:99:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Endorsement_$76643_memory_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement memory"}],"expression":{"id":75976,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"38536:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38549:4:135","memberName":"push","nodeType":"MemberAccess","src":"38536:17:135","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr_$_t_struct$_Endorsement_$76643_storage_$returns$__$attached_to$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr_$","typeString":"function (struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer,struct X2EarnAppsStorageTypes.Endorsement storage ref)"}},"id":75985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38536:134:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75986,"nodeType":"ExpressionStatement","src":"38536:134:135"},{"expression":{"id":75998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":75987,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"38678:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":75991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38680:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"38678:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":75992,"indexExpression":{"id":75989,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"38708:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38678:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":75993,"indexExpression":{"id":75990,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"38716:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"38678:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75994,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"38725:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38738:6:135","memberName":"length","nodeType":"MemberAccess","src":"38725:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":75996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38747:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38725:23:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38678:70:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75999,"nodeType":"ExpressionStatement","src":"38678:70:135"},{"expression":{"arguments":[{"id":76006,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"38872:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"expression":{"id":76000,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"38840:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38842:17:135","memberName":"_appEndorserNodes","nodeType":"MemberAccess","referencedDeclaration":76730,"src":"38840:19:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[] storage ref)"}},"id":76004,"indexExpression":{"id":76002,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"38860:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38840:26:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38867:4:135","memberName":"push","nodeType":"MemberAccess","src":"38840:31:135","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":76007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38840:39:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76008,"nodeType":"ExpressionStatement","src":"38840:39:135"},{"expression":{"id":76023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":76009,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"38887:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76013,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38889:22:135","memberName":"_appEndorserNodesIndex","nodeType":"MemberAccess","referencedDeclaration":76736,"src":"38887:24:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(bytes32 => mapping(uint256 => uint256))"}},"id":76014,"indexExpression":{"id":76011,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"38912:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38887:31:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76015,"indexExpression":{"id":76012,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"38919:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"38887:39:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":76016,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"38929:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38931:17:135","memberName":"_appEndorserNodes","nodeType":"MemberAccess","referencedDeclaration":76730,"src":"38929:19:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[] storage ref)"}},"id":76019,"indexExpression":{"id":76018,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"38949:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38929:26:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38956:6:135","memberName":"length","nodeType":"MemberAccess","src":"38929:33:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":76021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38965:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38929:37:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38887:79:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76024,"nodeType":"ExpressionStatement","src":"38887:79:135"},{"expression":{"arguments":[{"id":76026,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"38985:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":76027,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"38988:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":76029,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"39005:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":76030,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"39008:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":76028,"name":"_getScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76439,"src":"38995:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32) view returns (uint256)"}},"id":76031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38995:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":76032,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75876,"src":"39017:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38995:28:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76025,"name":"_setScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76467,"src":"38975:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32,uint256)"}},"id":76034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38975:49:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76035,"nodeType":"ExpressionStatement","src":"38975:49:135"}]},"id":76037,"nodeType":"IfStatement","src":"38117:914:135","trueBody":{"id":75975,"nodeType":"Block","src":"38129:361:135","statements":[{"assignments":[75942],"declarations":[{"constant":false,"id":75942,"mutability":"mutable","name":"oldPoints","nameLocation":"38203:9:135","nodeType":"VariableDeclaration","scope":75975,"src":"38195:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75941,"name":"uint256","nodeType":"ElementaryTypeName","src":"38195:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75947,"initialValue":{"expression":{"baseExpression":{"id":75943,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"38215:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75945,"indexExpression":{"id":75944,"name":"existingIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75913,"src":"38228:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38215:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75946,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38243:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"38215:34:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38195:54:135"},{"expression":{"id":75953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":75948,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"38257:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75950,"indexExpression":{"id":75949,"name":"existingIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75913,"src":"38270:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38257:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75951,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38285:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"38257:34:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75952,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75876,"src":"38294:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38257:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75954,"nodeType":"ExpressionStatement","src":"38257:43:135"},{"expression":{"id":75960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":75955,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"38308:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":75957,"indexExpression":{"id":75956,"name":"existingIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75913,"src":"38321:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38308:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":75958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38336:15:135","memberName":"endorsedAtRound","nodeType":"MemberAccess","referencedDeclaration":76642,"src":"38308:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75959,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75895,"src":"38354:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38308:58:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75961,"nodeType":"ExpressionStatement","src":"38308:58:135"},{"expression":{"arguments":[{"id":75963,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"38432:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75964,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"38435:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75966,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"38452:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},{"id":75967,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"38455:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":75965,"name":"_getScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76439,"src":"38442:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32) view returns (uint256)"}},"id":75968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38442:19:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75969,"name":"oldPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75942,"src":"38464:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38442:31:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75971,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75876,"src":"38476:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38442:40:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75962,"name":"_setScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76467,"src":"38422:9:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_EndorsementStorage_$76750_storage_ptr_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer,bytes32,uint256)"}},"id":75973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38422:61:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75974,"nodeType":"ExpressionStatement","src":"38422:61:135"}]}},{"assignments":[76039],"declarations":[{"constant":false,"id":76039,"mutability":"mutable","name":"endorser","nameLocation":"39091:8:135","nodeType":"VariableDeclaration","scope":76053,"src":"39083:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76038,"name":"address","nodeType":"ElementaryTypeName","src":"39083:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":76045,"initialValue":{"arguments":[{"id":76043,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"39133:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":76040,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75883,"src":"39102:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39104:12:135","memberName":"_stargateNFT","nodeType":"MemberAccess","referencedDeclaration":76709,"src":"39102:14:135","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"id":76042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39117:15:135","memberName":"getTokenManager","nodeType":"MemberAccess","referencedDeclaration":72524,"src":"39102:30:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":76044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39102:38:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"39083:57:135"},{"eventCall":{"arguments":[{"id":76047,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"39163:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":76048,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"39170:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76049,"name":"endorser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76039,"src":"39178:8:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76050,"name":"points","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75876,"src":"39188:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76046,"name":"AppEndorsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73391,"src":"39151:11:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,address,uint256)"}},"id":76051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39151:44:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76052,"nodeType":"EmitStatement","src":"39146:49:135"}]},"functionSelector":"ee9419cf","id":76054,"implemented":true,"kind":"function","modifiers":[],"name":"seedEndorsement","nameLocation":"37410:15:135","nodeType":"FunctionDefinition","parameters":{"id":75877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75872,"mutability":"mutable","name":"appId","nameLocation":"37434:5:135","nodeType":"VariableDeclaration","scope":76054,"src":"37426:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":75871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37426:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":75874,"mutability":"mutable","name":"nodeId","nameLocation":"37449:6:135","nodeType":"VariableDeclaration","scope":76054,"src":"37441:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75873,"name":"uint256","nodeType":"ElementaryTypeName","src":"37441:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75876,"mutability":"mutable","name":"points","nameLocation":"37465:6:135","nodeType":"VariableDeclaration","scope":76054,"src":"37457:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75875,"name":"uint256","nodeType":"ElementaryTypeName","src":"37457:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37425:47:135"},"returnParameters":{"id":75878,"nodeType":"ParameterList","parameters":[],"src":"37482:0:135"},"scope":76581,"src":"37401:1799:135","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":76099,"nodeType":"Block","src":"39432:249:135","statements":[{"assignments":[76069],"declarations":[{"constant":false,"id":76069,"mutability":"mutable","name":"endorsements","nameLocation":"39483:12:135","nodeType":"VariableDeclaration","scope":76099,"src":"39438:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":76067,"nodeType":"UserDefinedTypeName","pathNode":{"id":76066,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["39438:22:135","39461:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"39438:34:135"},"referencedDeclaration":76643,"src":"39438:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":76068,"nodeType":"ArrayTypeName","src":"39438:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":76074,"initialValue":{"baseExpression":{"expression":{"id":76070,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76057,"src":"39498:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76071,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39500:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"39498:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":76073,"indexExpression":{"id":76072,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76059,"src":"39520:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39498:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39438:89:135"},{"assignments":[76076],"declarations":[{"constant":false,"id":76076,"mutability":"mutable","name":"usedPoints","nameLocation":"39541:10:135","nodeType":"VariableDeclaration","scope":76099,"src":"39533:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76075,"name":"uint256","nodeType":"ElementaryTypeName","src":"39533:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76077,"nodeType":"VariableDeclarationStatement","src":"39533:18:135"},{"body":{"id":76095,"nodeType":"Block","src":"39603:51:135","statements":[{"expression":{"id":76093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76088,"name":"usedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76076,"src":"39611:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":76089,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76069,"src":"39625:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76091,"indexExpression":{"id":76090,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76079,"src":"39638:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39625:15:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":76092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39641:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"39625:22:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39611:36:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76094,"nodeType":"ExpressionStatement","src":"39611:36:135"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76081,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76079,"src":"39573:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76082,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76069,"src":"39577:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39590:6:135","memberName":"length","nodeType":"MemberAccess","src":"39577:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39573:23:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76096,"initializationExpression":{"assignments":[76079],"declarations":[{"constant":false,"id":76079,"mutability":"mutable","name":"i","nameLocation":"39570:1:135","nodeType":"VariableDeclaration","scope":76096,"src":"39562:9:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76078,"name":"uint256","nodeType":"ElementaryTypeName","src":"39562:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76080,"nodeType":"VariableDeclarationStatement","src":"39562:9:135"},"loopExpression":{"expression":{"id":76086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"39598:3:135","subExpression":{"id":76085,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76079,"src":"39598:1:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76087,"nodeType":"ExpressionStatement","src":"39598:3:135"},"nodeType":"ForStatement","src":"39557:97:135"},{"expression":{"id":76097,"name":"usedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76076,"src":"39666:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76063,"id":76098,"nodeType":"Return","src":"39659:17:135"}]},"id":76100,"implemented":true,"kind":"function","modifiers":[],"name":"_getNodeUsedPoints","nameLocation":"39301:18:135","nodeType":"FunctionDefinition","parameters":{"id":76060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76057,"mutability":"mutable","name":"$","nameLocation":"39375:1:135","nodeType":"VariableDeclaration","scope":76100,"src":"39325:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":76056,"nodeType":"UserDefinedTypeName","pathNode":{"id":76055,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["39325:22:135","39348:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"39325:41:135"},"referencedDeclaration":76750,"src":"39325:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":76059,"mutability":"mutable","name":"nodeId","nameLocation":"39390:6:135","nodeType":"VariableDeclaration","scope":76100,"src":"39382:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76058,"name":"uint256","nodeType":"ElementaryTypeName","src":"39382:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39319:81:135"},"returnParameters":{"id":76063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76100,"src":"39423:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76061,"name":"uint256","nodeType":"ElementaryTypeName","src":"39423:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39422:9:135"},"scope":76581,"src":"39292:389:135","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":76158,"nodeType":"Block","src":"39854:335:135","statements":[{"assignments":[76117],"declarations":[{"constant":false,"id":76117,"mutability":"mutable","name":"endorsements","nameLocation":"39905:12:135","nodeType":"VariableDeclaration","scope":76158,"src":"39860:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":76115,"nodeType":"UserDefinedTypeName","pathNode":{"id":76114,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["39860:22:135","39883:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"39860:34:135"},"referencedDeclaration":76643,"src":"39860:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":76116,"nodeType":"ArrayTypeName","src":"39860:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":76122,"initialValue":{"baseExpression":{"expression":{"id":76118,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76103,"src":"39920:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39922:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"39920:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":76121,"indexExpression":{"id":76120,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76105,"src":"39942:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39920:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39860:89:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76123,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76117,"src":"39959:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39972:6:135","memberName":"length","nodeType":"MemberAccess","src":"39959:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39982:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"39959:24:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76129,"nodeType":"IfStatement","src":"39955:38:135","trueBody":{"expression":{"hexValue":"30","id":76127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39992:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":76111,"id":76128,"nodeType":"Return","src":"39985:8:135"}},{"assignments":[76131],"declarations":[{"constant":false,"id":76131,"mutability":"mutable","name":"index","nameLocation":"40007:5:135","nodeType":"VariableDeclaration","scope":76158,"src":"39999:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76130,"name":"uint256","nodeType":"ElementaryTypeName","src":"39999:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76138,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":76132,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76103,"src":"40015:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40017:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"40015:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":76135,"indexExpression":{"id":76134,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76105,"src":"40045:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40015:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":76137,"indexExpression":{"id":76136,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76107,"src":"40053:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40015:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39999:60:135"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76139,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76131,"src":"40069:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":76140,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76117,"src":"40078:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40091:6:135","memberName":"length","nodeType":"MemberAccess","src":"40078:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40069:28:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":76148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76143,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76117,"src":"40101:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76145,"indexExpression":{"id":76144,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76131,"src":"40114:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40101:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":76146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40121:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"40101:25:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":76147,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76107,"src":"40130:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"40101:34:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"40069:66:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76152,"nodeType":"IfStatement","src":"40065:80:135","trueBody":{"expression":{"hexValue":"30","id":76150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40144:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":76111,"id":76151,"nodeType":"Return","src":"40137:8:135"}},{"expression":{"expression":{"baseExpression":{"id":76153,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76117,"src":"40158:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76155,"indexExpression":{"id":76154,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76131,"src":"40171:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40158:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":76156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40178:6:135","memberName":"points","nodeType":"MemberAccess","referencedDeclaration":76640,"src":"40158:26:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76111,"id":76157,"nodeType":"Return","src":"40151:33:135"}]},"id":76159,"implemented":true,"kind":"function","modifiers":[],"name":"_getNodePointsForAppInternal","nameLocation":"39694:28:135","nodeType":"FunctionDefinition","parameters":{"id":76108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76103,"mutability":"mutable","name":"$","nameLocation":"39778:1:135","nodeType":"VariableDeclaration","scope":76159,"src":"39728:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":76102,"nodeType":"UserDefinedTypeName","pathNode":{"id":76101,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["39728:22:135","39751:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"39728:41:135"},"referencedDeclaration":76750,"src":"39728:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":76105,"mutability":"mutable","name":"nodeId","nameLocation":"39793:6:135","nodeType":"VariableDeclaration","scope":76159,"src":"39785:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76104,"name":"uint256","nodeType":"ElementaryTypeName","src":"39785:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76107,"mutability":"mutable","name":"appId","nameLocation":"39813:5:135","nodeType":"VariableDeclaration","scope":76159,"src":"39805:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39805:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"39722:100:135"},"returnParameters":{"id":76111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76159,"src":"39845:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76109,"name":"uint256","nodeType":"ElementaryTypeName","src":"39845:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39844:9:135"},"scope":76581,"src":"39685:504:135","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":76299,"nodeType":"Block","src":"40348:1056:135","statements":[{"assignments":[76176],"declarations":[{"constant":false,"id":76176,"mutability":"mutable","name":"endorsements","nameLocation":"40453:12:135","nodeType":"VariableDeclaration","scope":76299,"src":"40408:57:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"},"typeName":{"baseType":{"id":76174,"nodeType":"UserDefinedTypeName","pathNode":{"id":76173,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["40408:22:135","40431:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"40408:34:135"},"referencedDeclaration":76643,"src":"40408:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":76175,"nodeType":"ArrayTypeName","src":"40408:36:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}},"visibility":"internal"}],"id":76181,"initialValue":{"baseExpression":{"expression":{"id":76177,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76162,"src":"40468:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40470:19:135","memberName":"_activeEndorsements","nodeType":"MemberAccess","referencedDeclaration":76715,"src":"40468:21:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref)"}},"id":76180,"indexExpression":{"id":76179,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76164,"src":"40490:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40468:29:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"40408:89:135"},{"assignments":[76183],"declarations":[{"constant":false,"id":76183,"mutability":"mutable","name":"lastIndex","nameLocation":"40511:9:135","nodeType":"VariableDeclaration","scope":76299,"src":"40503:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76182,"name":"uint256","nodeType":"ElementaryTypeName","src":"40503:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76188,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76184,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76176,"src":"40523:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40536:6:135","memberName":"length","nodeType":"MemberAccess","src":"40523:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":76186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40545:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"40523:23:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"40503:43:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76189,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76168,"src":"40557:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":76190,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76183,"src":"40566:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40557:18:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76219,"nodeType":"IfStatement","src":"40553:244:135","trueBody":{"id":76218,"nodeType":"Block","src":"40577:220:135","statements":[{"assignments":[76196],"declarations":[{"constant":false,"id":76196,"mutability":"mutable","name":"lastEndorsement","nameLocation":"40628:15:135","nodeType":"VariableDeclaration","scope":76218,"src":"40585:58:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"},"typeName":{"id":76195,"nodeType":"UserDefinedTypeName","pathNode":{"id":76194,"name":"X2EarnAppsStorageTypes.Endorsement","nameLocations":["40585:22:135","40608:11:135"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"40585:34:135"},"referencedDeclaration":76643,"src":"40585:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"visibility":"internal"}],"id":76200,"initialValue":{"baseExpression":{"id":76197,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76176,"src":"40646:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76199,"indexExpression":{"id":76198,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76183,"src":"40659:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40646:23:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"nodeType":"VariableDeclarationStatement","src":"40585:84:135"},{"expression":{"id":76205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76201,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76176,"src":"40677:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76203,"indexExpression":{"id":76202,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76168,"src":"40690:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"40677:19:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76204,"name":"lastEndorsement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76196,"src":"40699:15:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage pointer"}},"src":"40677:37:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref"}},"id":76206,"nodeType":"ExpressionStatement","src":"40677:37:135"},{"expression":{"id":76216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":76207,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76162,"src":"40722:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40724:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"40722:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":76213,"indexExpression":{"id":76209,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76164,"src":"40752:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40722:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":76214,"indexExpression":{"expression":{"id":76210,"name":"lastEndorsement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76196,"src":"40760:15:135","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage pointer"}},"id":76211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40776:5:135","memberName":"appId","nodeType":"MemberAccess","referencedDeclaration":76638,"src":"40760:21:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"40722:60:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76215,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76168,"src":"40785:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40722:68:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76217,"nodeType":"ExpressionStatement","src":"40722:68:135"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":76220,"name":"endorsements","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76176,"src":"40803:12:135","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer"}},"id":76222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40816:3:135","memberName":"pop","nodeType":"MemberAccess","src":"40803:16:135","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr_$","typeString":"function (struct X2EarnAppsStorageTypes.Endorsement storage ref[] storage pointer)"}},"id":76223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40803:18:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76224,"nodeType":"ExpressionStatement","src":"40803:18:135"},{"expression":{"id":76231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"40827:51:135","subExpression":{"baseExpression":{"baseExpression":{"expression":{"id":76225,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76162,"src":"40834:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40836:27:135","memberName":"_activeEndorsementsAppIndex","nodeType":"MemberAccess","referencedDeclaration":76721,"src":"40834:29:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"}},"id":76228,"indexExpression":{"id":76227,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76164,"src":"40864:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40834:37:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":76230,"indexExpression":{"id":76229,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76166,"src":"40872:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"40834:44:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76232,"nodeType":"ExpressionStatement","src":"40827:51:135"},{"assignments":[76237],"declarations":[{"constant":false,"id":76237,"mutability":"mutable","name":"appNodes","nameLocation":"40975:8:135","nodeType":"VariableDeclaration","scope":76299,"src":"40957:26:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76235,"name":"uint256","nodeType":"ElementaryTypeName","src":"40957:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76236,"nodeType":"ArrayTypeName","src":"40957:9:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76242,"initialValue":{"baseExpression":{"expression":{"id":76238,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76162,"src":"40986:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40988:17:135","memberName":"_appEndorserNodes","nodeType":"MemberAccess","referencedDeclaration":76730,"src":"40986:19:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[] storage ref)"}},"id":76241,"indexExpression":{"id":76240,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76166,"src":"41006:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40986:26:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"40957:55:135"},{"assignments":[76244],"declarations":[{"constant":false,"id":76244,"mutability":"mutable","name":"nodeIndex","nameLocation":"41026:9:135","nodeType":"VariableDeclaration","scope":76299,"src":"41018:17:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76243,"name":"uint256","nodeType":"ElementaryTypeName","src":"41018:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76251,"initialValue":{"baseExpression":{"baseExpression":{"expression":{"id":76245,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76162,"src":"41038:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41040:22:135","memberName":"_appEndorserNodesIndex","nodeType":"MemberAccess","referencedDeclaration":76736,"src":"41038:24:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(bytes32 => mapping(uint256 => uint256))"}},"id":76248,"indexExpression":{"id":76247,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76166,"src":"41063:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"41038:31:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76250,"indexExpression":{"id":76249,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76164,"src":"41070:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"41038:39:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41018:59:135"},{"assignments":[76253],"declarations":[{"constant":false,"id":76253,"mutability":"mutable","name":"lastNodeIndex","nameLocation":"41091:13:135","nodeType":"VariableDeclaration","scope":76299,"src":"41083:21:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76252,"name":"uint256","nodeType":"ElementaryTypeName","src":"41083:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76258,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76254,"name":"appNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"41107:8:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":76255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41116:6:135","memberName":"length","nodeType":"MemberAccess","src":"41107:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":76256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41125:1:135","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41107:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41083:43:135"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76259,"name":"nodeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76244,"src":"41137:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":76260,"name":"lastNodeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76253,"src":"41150:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41137:26:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76285,"nodeType":"IfStatement","src":"41133:194:135","trueBody":{"id":76284,"nodeType":"Block","src":"41165:162:135","statements":[{"assignments":[76263],"declarations":[{"constant":false,"id":76263,"mutability":"mutable","name":"lastNodeId","nameLocation":"41181:10:135","nodeType":"VariableDeclaration","scope":76284,"src":"41173:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76262,"name":"uint256","nodeType":"ElementaryTypeName","src":"41173:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76267,"initialValue":{"baseExpression":{"id":76264,"name":"appNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"41194:8:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":76266,"indexExpression":{"id":76265,"name":"lastNodeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76253,"src":"41203:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"41194:23:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41173:44:135"},{"expression":{"id":76272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76268,"name":"appNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"41225:8:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":76270,"indexExpression":{"id":76269,"name":"nodeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76244,"src":"41234:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"41225:19:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76271,"name":"lastNodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76263,"src":"41247:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41225:32:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76273,"nodeType":"ExpressionStatement","src":"41225:32:135"},{"expression":{"id":76282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":76274,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76162,"src":"41265:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41267:22:135","memberName":"_appEndorserNodesIndex","nodeType":"MemberAccess","referencedDeclaration":76736,"src":"41265:24:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(bytes32 => mapping(uint256 => uint256))"}},"id":76279,"indexExpression":{"id":76276,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76166,"src":"41290:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"41265:31:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76280,"indexExpression":{"id":76277,"name":"lastNodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76263,"src":"41297:10:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"41265:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76281,"name":"nodeIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76244,"src":"41311:9:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41265:55:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76283,"nodeType":"ExpressionStatement","src":"41265:55:135"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":76286,"name":"appNodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"41333:8:135","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":76288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41342:3:135","memberName":"pop","nodeType":"MemberAccess","src":"41333:12:135","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer)"}},"id":76289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41333:14:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76290,"nodeType":"ExpressionStatement","src":"41333:14:135"},{"expression":{"id":76297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"41353:46:135","subExpression":{"baseExpression":{"baseExpression":{"expression":{"id":76291,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76162,"src":"41360:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76292,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41362:22:135","memberName":"_appEndorserNodesIndex","nodeType":"MemberAccess","referencedDeclaration":76736,"src":"41360:24:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(bytes32 => mapping(uint256 => uint256))"}},"id":76294,"indexExpression":{"id":76293,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76166,"src":"41385:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"41360:31:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76296,"indexExpression":{"id":76295,"name":"nodeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76164,"src":"41392:6:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"41360:39:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76298,"nodeType":"ExpressionStatement","src":"41353:46:135"}]},"id":76300,"implemented":true,"kind":"function","modifiers":[],"name":"_removeEndorsement","nameLocation":"40202:18:135","nodeType":"FunctionDefinition","parameters":{"id":76169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76162,"mutability":"mutable","name":"$","nameLocation":"40276:1:135","nodeType":"VariableDeclaration","scope":76300,"src":"40226:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":76161,"nodeType":"UserDefinedTypeName","pathNode":{"id":76160,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["40226:22:135","40249:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"40226:41:135"},"referencedDeclaration":76750,"src":"40226:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":76164,"mutability":"mutable","name":"nodeId","nameLocation":"40291:6:135","nodeType":"VariableDeclaration","scope":76300,"src":"40283:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76163,"name":"uint256","nodeType":"ElementaryTypeName","src":"40283:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76166,"mutability":"mutable","name":"appId","nameLocation":"40311:5:135","nodeType":"VariableDeclaration","scope":76300,"src":"40303:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40303:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":76168,"mutability":"mutable","name":"index","nameLocation":"40330:5:135","nodeType":"VariableDeclaration","scope":76300,"src":"40322:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76167,"name":"uint256","nodeType":"ElementaryTypeName","src":"40322:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40220:119:135"},"returnParameters":{"id":76170,"nodeType":"ParameterList","parameters":[],"src":"40348:0:135"},"scope":76581,"src":"40193:1211:135","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":76417,"nodeType":"Block","src":"41668:759:135","statements":[{"condition":{"id":76318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"41678:10:135","subExpression":{"id":76317,"name":"appExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76310,"src":"41679:9:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":76373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"42137:14:135","subExpression":{"id":76372,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76312,"src":"42138:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76387,"nodeType":"IfStatement","src":"42133:99:135","trueBody":{"id":76386,"nodeType":"Block","src":"42153:79:135","statements":[{"expression":{"arguments":[{"id":76379,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"42196:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"expression":{"id":76380,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76303,"src":"42203:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42205:12:135","memberName":"_appSecurity","nodeType":"MemberAccess","referencedDeclaration":76691,"src":"42203:14:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_enum$_APP_SECURITY_$73233_$","typeString":"mapping(bytes32 => enum PassportTypes.APP_SECURITY)"}},"id":76383,"indexExpression":{"id":76382,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"42218:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42203:21:135","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}],"expression":{"expression":{"id":76374,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76303,"src":"42161:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42163:17:135","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":76697,"src":"42161:19:135","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":76378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42181:14:135","memberName":"setAppSecurity","nodeType":"MemberAccess","referencedDeclaration":68356,"src":"42161:34:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_enum$_APP_SECURITY_$73233_$returns$__$","typeString":"function (bytes32,enum PassportTypes.APP_SECURITY) external"}},"id":76384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42161:64:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76385,"nodeType":"ExpressionStatement","src":"42161:64:135"}]}},"id":76388,"nodeType":"IfStatement","src":"41674:558:135","trueBody":{"id":76371,"nodeType":"Block","src":"41690:437:135","statements":[{"expression":{"id":76327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":76319,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76306,"src":"41698:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":76322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41710:5:135","memberName":"_apps","nodeType":"MemberAccess","referencedDeclaration":76760,"src":"41698:17:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App storage ref)"}},"id":76323,"indexExpression":{"id":76321,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"41716:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"41698:24:135","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage","typeString":"struct X2EarnAppsDataTypes.App storage ref"}},"id":76324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"41723:18:135","memberName":"createdAtTimestamp","nodeType":"MemberAccess","referencedDeclaration":71132,"src":"41698:43:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":76325,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"41744:5:135","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":76326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41750:9:135","memberName":"timestamp","nodeType":"MemberAccess","src":"41744:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41698:61:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76328,"nodeType":"ExpressionStatement","src":"41698:61:135"},{"expression":{"arguments":[{"id":76334,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"41792:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":76329,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76306,"src":"41767:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":76332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41779:7:135","memberName":"_appIds","nodeType":"MemberAccess","referencedDeclaration":76763,"src":"41767:19:135","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":76333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41787:4:135","memberName":"push","nodeType":"MemberAccess","src":"41767:24:135","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":76335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41767:31:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76336,"nodeType":"ExpressionStatement","src":"41767:31:135"},{"expression":{"arguments":[{"id":76342,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"41841:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"expression":{"id":76343,"name":"PassportTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73234,"src":"41848:13:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportTypes_$73234_$","typeString":"type(library PassportTypes)"}},"id":76344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41862:12:135","memberName":"APP_SECURITY","nodeType":"MemberAccess","referencedDeclaration":73233,"src":"41848:26:135","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_APP_SECURITY_$73233_$","typeString":"type(enum PassportTypes.APP_SECURITY)"}},"id":76345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41875:3:135","memberName":"LOW","nodeType":"MemberAccess","referencedDeclaration":73230,"src":"41848:30:135","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}],"expression":{"expression":{"id":76337,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76303,"src":"41806:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41808:17:135","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":76697,"src":"41806:19:135","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":76341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41826:14:135","memberName":"setAppSecurity","nodeType":"MemberAccess","referencedDeclaration":68356,"src":"41806:34:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_enum$_APP_SECURITY_$73233_$returns$__$","typeString":"function (bytes32,enum PassportTypes.APP_SECURITY) external"}},"id":76346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41806:73:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76347,"nodeType":"ExpressionStatement","src":"41806:73:135"},{"assignments":[76352],"declarations":[{"constant":false,"id":76352,"mutability":"mutable","name":"adminStorage","nameLocation":"41941:12:135","nodeType":"VariableDeclaration","scope":76371,"src":"41888:65:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AdministrationStorage_$76807_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AdministrationStorage"},"typeName":{"id":76351,"nodeType":"UserDefinedTypeName","pathNode":{"id":76350,"name":"X2EarnAppsStorageTypes.AdministrationStorage","nameLocations":["41888:22:135","41911:21:135"],"nodeType":"IdentifierPath","referencedDeclaration":76807,"src":"41888:44:135"},"referencedDeclaration":76807,"src":"41888:44:135","typeDescriptions":{"typeIdentifier":"t_struct$_AdministrationStorage_$76807_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AdministrationStorage"}},"visibility":"internal"}],"id":76356,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":76353,"name":"X2EarnAppsStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76848,"src":"41956:22:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_X2EarnAppsStorageTypes_$76848_$","typeString":"type(library X2EarnAppsStorageTypes)"}},"id":76354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41988:25:135","memberName":"_getAdministrationStorage","nodeType":"MemberAccess","referencedDeclaration":76847,"src":"41956:57:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AdministrationStorage_$76807_storage_ptr_$","typeString":"function () pure returns (struct X2EarnAppsStorageTypes.AdministrationStorage storage pointer)"}},"id":76355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41956:59:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AdministrationStorage_$76807_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AdministrationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"41888:127:135"},{"eventCall":{"arguments":[{"id":76358,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"42037:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"expression":{"id":76359,"name":"adminStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76352,"src":"42044:12:135","typeDescriptions":{"typeIdentifier":"t_struct$_AdministrationStorage_$76807_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AdministrationStorage storage pointer"}},"id":76360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42057:18:135","memberName":"_teamWalletAddress","nodeType":"MemberAccess","referencedDeclaration":76783,"src":"42044:31:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":76362,"indexExpression":{"id":76361,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"42076:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42044:38:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"expression":{"id":76363,"name":"appsStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76306,"src":"42084:11:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage storage pointer"}},"id":76364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42096:5:135","memberName":"_apps","nodeType":"MemberAccess","referencedDeclaration":76760,"src":"42084:17:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App storage ref)"}},"id":76366,"indexExpression":{"id":76365,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"42102:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42084:24:135","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage","typeString":"struct X2EarnAppsDataTypes.App storage ref"}},"id":76367,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42109:4:135","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":71130,"src":"42084:29:135","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"hexValue":"74727565","id":76368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42115:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":76357,"name":"AppAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73381,"src":"42028:8:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_string_memory_ptr_$_t_bool_$returns$__$","typeString":"function (bytes32,address,string memory,bool)"}},"id":76369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42028:92:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76370,"nodeType":"EmitStatement","src":"42023:97:135"}]}},{"assignments":[76390],"declarations":[{"constant":false,"id":76390,"mutability":"mutable","name":"appUnendorsed","nameLocation":"42243:13:135","nodeType":"VariableDeclaration","scope":76417,"src":"42238:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76389,"name":"bool","nodeType":"ElementaryTypeName","src":"42238:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76400,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"42259:14:135","subExpression":{"id":76391,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76314,"src":"42260:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":76393,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76303,"src":"42277:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42279:20:135","memberName":"_unendorsedAppsIndex","nodeType":"MemberAccess","referencedDeclaration":76661,"src":"42277:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":76396,"indexExpression":{"id":76395,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"42300:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42277:29:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42309:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42277:33:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"42259:51:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"42238:72:135"},{"condition":{"id":76401,"name":"appUnendorsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76390,"src":"42320:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76408,"nodeType":"IfStatement","src":"42316:67:135","trueBody":{"id":76407,"nodeType":"Block","src":"42335:48:135","statements":[{"expression":{"arguments":[{"id":76403,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"42364:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":76404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42371:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":76402,"name":"setEndorsementStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74554,"src":"42343:20:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bool)"}},"id":76405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42343:33:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76406,"nodeType":"ExpressionStatement","src":"42343:33:135"}]}},{"expression":{"id":76415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":76409,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76303,"src":"42389:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42391:20:135","memberName":"_appGracePeriodStart","nodeType":"MemberAccess","referencedDeclaration":76674,"src":"42389:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint48_$","typeString":"mapping(bytes32 => uint48)"}},"id":76413,"indexExpression":{"id":76411,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76308,"src":"42412:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"42389:29:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":76414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42421:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42389:33:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":76416,"nodeType":"ExpressionStatement","src":"42389:33:135"}]},"id":76418,"implemented":true,"kind":"function","modifiers":[],"name":"_updateStatusIfThresholdMet","nameLocation":"41417:27:135","nodeType":"FunctionDefinition","parameters":{"id":76315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76303,"mutability":"mutable","name":"$","nameLocation":"41500:1:135","nodeType":"VariableDeclaration","scope":76418,"src":"41450:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":76302,"nodeType":"UserDefinedTypeName","pathNode":{"id":76301,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["41450:22:135","41473:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"41450:41:135"},"referencedDeclaration":76750,"src":"41450:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":76306,"mutability":"mutable","name":"appsStorage","nameLocation":"41557:11:135","nodeType":"VariableDeclaration","scope":76418,"src":"41507:61:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"},"typeName":{"id":76305,"nodeType":"UserDefinedTypeName","pathNode":{"id":76304,"name":"X2EarnAppsStorageTypes.AppsStorageStorage","nameLocations":["41507:22:135","41530:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76764,"src":"41507:41:135"},"referencedDeclaration":76764,"src":"41507:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"}},"visibility":"internal"},{"constant":false,"id":76308,"mutability":"mutable","name":"appId","nameLocation":"41582:5:135","nodeType":"VariableDeclaration","scope":76418,"src":"41574:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41574:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":76310,"mutability":"mutable","name":"appExists","nameLocation":"41598:9:135","nodeType":"VariableDeclaration","scope":76418,"src":"41593:14:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76309,"name":"bool","nodeType":"ElementaryTypeName","src":"41593:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76312,"mutability":"mutable","name":"isEligibleNow","nameLocation":"41618:13:135","nodeType":"VariableDeclaration","scope":76418,"src":"41613:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76311,"name":"bool","nodeType":"ElementaryTypeName","src":"41613:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76314,"mutability":"mutable","name":"isBlacklisted","nameLocation":"41642:13:135","nodeType":"VariableDeclaration","scope":76418,"src":"41637:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76313,"name":"bool","nodeType":"ElementaryTypeName","src":"41637:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41444:215:135"},"returnParameters":{"id":76316,"nodeType":"ParameterList","parameters":[],"src":"41668:0:135"},"scope":76581,"src":"41408:1019:135","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":76438,"nodeType":"Block","src":"42561:76:135","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":76430,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76421,"src":"42582:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42584:31:135","memberName":"_appEndorsementScoreCheckpoints","nodeType":"MemberAccess","referencedDeclaration":76749,"src":"42582:33:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(bytes32 => struct Checkpoints.Trace208 storage ref)"}},"id":76433,"indexExpression":{"id":76432,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76423,"src":"42616:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42582:40:135","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":76434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42623:6:135","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"42582:47:135","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":76435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42582:49:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":76429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42574:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76428,"name":"uint256","nodeType":"ElementaryTypeName","src":"42574:7:135","typeDescriptions":{}}},"id":76436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42574:58:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76427,"id":76437,"nodeType":"Return","src":"42567:65:135"}]},"id":76439,"implemented":true,"kind":"function","modifiers":[],"name":"_getScore","nameLocation":"42440:9:135","nodeType":"FunctionDefinition","parameters":{"id":76424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76421,"mutability":"mutable","name":"$","nameLocation":"42505:1:135","nodeType":"VariableDeclaration","scope":76439,"src":"42455:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":76420,"nodeType":"UserDefinedTypeName","pathNode":{"id":76419,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["42455:22:135","42478:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"42455:41:135"},"referencedDeclaration":76750,"src":"42455:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":76423,"mutability":"mutable","name":"appId","nameLocation":"42520:5:135","nodeType":"VariableDeclaration","scope":76439,"src":"42512:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42512:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"42449:80:135"},"returnParameters":{"id":76427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76439,"src":"42552:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76425,"name":"uint256","nodeType":"ElementaryTypeName","src":"42552:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42551:9:135"},"scope":76581,"src":"42431:206:135","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":76466,"nodeType":"Block","src":"42754:119:135","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":76457,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"42824:5:135","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":76458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42830:6:135","memberName":"number","nodeType":"MemberAccess","src":"42824:12:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76455,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"42806:8:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":76456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42815:8:135","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"42806:17:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":76459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42806:31:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":76462,"name":"newScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76446,"src":"42858:8:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76460,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"42839:8:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":76461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42848:9:135","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"42839:18:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":76463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42839:28:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":76449,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76442,"src":"42760:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42762:31:135","memberName":"_appEndorsementScoreCheckpoints","nodeType":"MemberAccess","referencedDeclaration":76749,"src":"42760:33:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(bytes32 => struct Checkpoints.Trace208 storage ref)"}},"id":76453,"indexExpression":{"id":76451,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76444,"src":"42794:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42760:40:135","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":76454,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42801:4:135","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"42760:45:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":76464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42760:108:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":76465,"nodeType":"ExpressionStatement","src":"42760:108:135"}]},"id":76467,"implemented":true,"kind":"function","modifiers":[],"name":"_setScore","nameLocation":"42650:9:135","nodeType":"FunctionDefinition","parameters":{"id":76447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76442,"mutability":"mutable","name":"$","nameLocation":"42710:1:135","nodeType":"VariableDeclaration","scope":76467,"src":"42660:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":76441,"nodeType":"UserDefinedTypeName","pathNode":{"id":76440,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["42660:22:135","42683:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"42660:41:135"},"referencedDeclaration":76750,"src":"42660:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":76444,"mutability":"mutable","name":"appId","nameLocation":"42721:5:135","nodeType":"VariableDeclaration","scope":76467,"src":"42713:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42713:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":76446,"mutability":"mutable","name":"newScore","nameLocation":"42736:8:135","nodeType":"VariableDeclaration","scope":76467,"src":"42728:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76445,"name":"uint256","nodeType":"ElementaryTypeName","src":"42728:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42659:86:135"},"returnParameters":{"id":76448,"nodeType":"ParameterList","parameters":[],"src":"42754:0:135"},"scope":76581,"src":"42641:232:135","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":76579,"nodeType":"Block","src":"43108:726:135","statements":[{"assignments":[76484],"declarations":[{"constant":false,"id":76484,"mutability":"mutable","name":"appUnendorsed","nameLocation":"43119:13:135","nodeType":"VariableDeclaration","scope":76579,"src":"43114:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76483,"name":"bool","nodeType":"ElementaryTypeName","src":"43114:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76494,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"43135:14:135","subExpression":{"id":76485,"name":"isBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76474,"src":"43136:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":76487,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76470,"src":"43153:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76488,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43155:20:135","memberName":"_unendorsedAppsIndex","nodeType":"MemberAccess","referencedDeclaration":76661,"src":"43153:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":76490,"indexExpression":{"id":76489,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43176:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"43153:29:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43185:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43153:33:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43135:51:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"43114:72:135"},{"condition":{"id":76496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"43197:14:135","subExpression":{"id":76495,"name":"appUnendorsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76484,"src":"43198:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76508,"nodeType":"IfStatement","src":"43193:123:135","trueBody":{"id":76507,"nodeType":"Block","src":"43213:103:135","statements":[{"expression":{"arguments":[{"id":76498,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43242:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"66616c7365","id":76499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43249:5:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":76497,"name":"updateUnendorsedApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74439,"src":"43221:20:135","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bool)"}},"id":76500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43221:34:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76501,"nodeType":"ExpressionStatement","src":"43221:34:135"},{"eventCall":{"arguments":[{"id":76503,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43296:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"66616c7365","id":76504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43303:5:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":76502,"name":"AppEndorsementStatusUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73414,"src":"43268:27:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bool)"}},"id":76505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43268:41:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76506,"nodeType":"EmitStatement","src":"43263:46:135"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":76514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":76509,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76470,"src":"43326:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43328:20:135","memberName":"_appGracePeriodStart","nodeType":"MemberAccess","referencedDeclaration":76674,"src":"43326:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint48_$","typeString":"mapping(bytes32 => uint48)"}},"id":76512,"indexExpression":{"id":76511,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43349:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"43326:29:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43359:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43326:34:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":76515,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76476,"src":"43364:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43326:51:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":76545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76537,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76478,"src":"43551:5:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":76544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":76538,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76470,"src":"43559:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43561:20:135","memberName":"_appGracePeriodStart","nodeType":"MemberAccess","referencedDeclaration":76674,"src":"43559:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint48_$","typeString":"mapping(bytes32 => uint48)"}},"id":76541,"indexExpression":{"id":76540,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43582:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"43559:29:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":76542,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76470,"src":"43591:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43593:20:135","memberName":"_gracePeriodDuration","nodeType":"MemberAccess","referencedDeclaration":76680,"src":"43591:22:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"43559:54:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"43551:62:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":76546,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43550:64:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":76547,"name":"isEligibleNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76476,"src":"43618:13:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43550:81:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76575,"nodeType":"IfStatement","src":"43546:266:135","trueBody":{"id":76574,"nodeType":"Block","src":"43633:179:135","statements":[{"expression":{"id":76559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":76549,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76470,"src":"43641:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43643:12:135","memberName":"_appSecurity","nodeType":"MemberAccess","referencedDeclaration":76691,"src":"43641:14:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_enum$_APP_SECURITY_$73233_$","typeString":"mapping(bytes32 => enum PassportTypes.APP_SECURITY)"}},"id":76553,"indexExpression":{"id":76551,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43656:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"43641:21:135","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":76557,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43697:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":76554,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76470,"src":"43665:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76555,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43667:17:135","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":76697,"src":"43665:19:135","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":76556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43685:11:135","memberName":"appSecurity","nodeType":"MemberAccess","referencedDeclaration":68214,"src":"43665:31:135","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_enum$_APP_SECURITY_$73233_$","typeString":"function (bytes32) view external returns (enum PassportTypes.APP_SECURITY)"}},"id":76558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43665:38:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}},"src":"43641:62:135","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}},"id":76560,"nodeType":"ExpressionStatement","src":"43641:62:135"},{"expression":{"arguments":[{"id":76566,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43746:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"expression":{"id":76567,"name":"PassportTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73234,"src":"43753:13:135","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportTypes_$73234_$","typeString":"type(library PassportTypes)"}},"id":76568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43767:12:135","memberName":"APP_SECURITY","nodeType":"MemberAccess","referencedDeclaration":73233,"src":"43753:26:135","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_APP_SECURITY_$73233_$","typeString":"type(enum PassportTypes.APP_SECURITY)"}},"id":76569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43780:4:135","memberName":"NONE","nodeType":"MemberAccess","referencedDeclaration":73229,"src":"43753:31:135","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}],"expression":{"expression":{"id":76561,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76470,"src":"43711:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76564,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43713:17:135","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":76697,"src":"43711:19:135","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":76565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43731:14:135","memberName":"setAppSecurity","nodeType":"MemberAccess","referencedDeclaration":68356,"src":"43711:34:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_enum$_APP_SECURITY_$73233_$returns$__$","typeString":"function (bytes32,enum PassportTypes.APP_SECURITY) external"}},"id":76570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43711:74:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76571,"nodeType":"ExpressionStatement","src":"43711:74:135"},{"expression":{"hexValue":"66616c7365","id":76572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43800:5:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":76482,"id":76573,"nodeType":"Return","src":"43793:12:135"}]}},"id":76576,"nodeType":"IfStatement","src":"43322:490:135","trueBody":{"id":76536,"nodeType":"Block","src":"43379:161:135","statements":[{"expression":{"id":76523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":76517,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76470,"src":"43387:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43389:20:135","memberName":"_appGracePeriodStart","nodeType":"MemberAccess","referencedDeclaration":76674,"src":"43387:22:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint48_$","typeString":"mapping(bytes32 => uint48)"}},"id":76521,"indexExpression":{"id":76519,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43410:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"43387:29:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76522,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76478,"src":"43419:5:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"43387:37:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":76524,"nodeType":"ExpressionStatement","src":"43387:37:135"},{"eventCall":{"arguments":[{"id":76526,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76472,"src":"43469:5:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":76527,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76478,"src":"43476:5:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":76531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76528,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76478,"src":"43483:5:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":76529,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76470,"src":"43491:1:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage storage pointer"}},"id":76530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43493:20:135","memberName":"_gracePeriodDuration","nodeType":"MemberAccess","referencedDeclaration":76680,"src":"43491:22:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"43483:30:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":76525,"name":"AppUnendorsedGracePeriodStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73422,"src":"43437:31:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint48_$_t_uint48_$returns$__$","typeString":"function (bytes32,uint48,uint48)"}},"id":76532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43437:77:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76533,"nodeType":"EmitStatement","src":"43432:82:135"},{"expression":{"hexValue":"74727565","id":76534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43529:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":76482,"id":76535,"nodeType":"Return","src":"43522:11:135"}]}},{"expression":{"hexValue":"74727565","id":76577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43825:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":76482,"id":76578,"nodeType":"Return","src":"43818:11:135"}]},"id":76580,"implemented":true,"kind":"function","modifiers":[],"name":"_updateStatusIfThresholdNotMetWithVote","nameLocation":"42886:38:135","nodeType":"FunctionDefinition","parameters":{"id":76479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76470,"mutability":"mutable","name":"$","nameLocation":"42980:1:135","nodeType":"VariableDeclaration","scope":76580,"src":"42930:51:135","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":76469,"nodeType":"UserDefinedTypeName","pathNode":{"id":76468,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["42930:22:135","42953:18:135"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"42930:41:135"},"referencedDeclaration":76750,"src":"42930:41:135","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"},{"constant":false,"id":76472,"mutability":"mutable","name":"appId","nameLocation":"42995:5:135","nodeType":"VariableDeclaration","scope":76580,"src":"42987:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42987:7:135","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":76474,"mutability":"mutable","name":"isBlacklisted","nameLocation":"43011:13:135","nodeType":"VariableDeclaration","scope":76580,"src":"43006:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76473,"name":"bool","nodeType":"ElementaryTypeName","src":"43006:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76476,"mutability":"mutable","name":"isEligibleNow","nameLocation":"43035:13:135","nodeType":"VariableDeclaration","scope":76580,"src":"43030:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76475,"name":"bool","nodeType":"ElementaryTypeName","src":"43030:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76478,"mutability":"mutable","name":"clock","nameLocation":"43061:5:135","nodeType":"VariableDeclaration","scope":76580,"src":"43054:12:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":76477,"name":"uint48","nodeType":"ElementaryTypeName","src":"43054:6:135","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"42924:146:135"},"returnParameters":{"id":76482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76481,"mutability":"mutable","name":"stillEligible","nameLocation":"43093:13:135","nodeType":"VariableDeclaration","scope":76580,"src":"43088:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76480,"name":"bool","nodeType":"ElementaryTypeName","src":"43088:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43087:20:135"},"scope":76581,"src":"42877:957:135","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":76582,"src":"1998:41838:135","usedErrors":[7025,8883,73289,73293,73295,73299,73301,73303,73307,73311,73313,73319,73327,73335,73343,73345,73347,73353,73359,73365,73371],"usedEvents":[73381,73391,73399,73403,73408,73414,73422,73428,73434,73440,73446,73452]}],"src":"1195:42642:135"},"id":135},"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol":{"ast":{"absolutePath":"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol","exportedSymbols":{"Checkpoints":[10447],"INodeManagementV3":[71617],"IStargateNFT":[72687],"IVeBetterPassport":[68601],"IX2EarnCreator":[70102],"IX2EarnRewardsPool":[70427],"IXAllocationVotingGovernor":[71124],"PassportTypes":[73234],"X2EarnAppsDataTypes":[71147],"X2EarnAppsStorageTypes":[76848]},"id":76849,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":76583,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:136"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":76585,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76849,"sourceUnit":10448,"src":"1220:84:136","symbolAliases":[{"foreign":{"id":76584,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1229:11:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/ve-better-passport/libraries/PassportTypes.sol","file":"../../ve-better-passport/libraries/PassportTypes.sol","id":76587,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76849,"sourceUnit":73235,"src":"1305:85:136","symbolAliases":[{"foreign":{"id":76586,"name":"PassportTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73234,"src":"1314:13:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol","file":"../../mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol","id":76589,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76849,"sourceUnit":71618,"src":"1391:106:136","symbolAliases":[{"foreign":{"id":76588,"name":"INodeManagementV3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71617,"src":"1400:17:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../interfaces/IVeBetterPassport.sol","id":76591,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76849,"sourceUnit":68602,"src":"1498:75:136","symbolAliases":[{"foreign":{"id":76590,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"1507:17:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":76593,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76849,"sourceUnit":71125,"src":"1574:93:136","symbolAliases":[{"foreign":{"id":76592,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1583:26:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/mocks/Stargate/interfaces/IStargateNFT.sol","file":"../../mocks/Stargate/interfaces/IStargateNFT.sol","id":76595,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76849,"sourceUnit":72688,"src":"1668:80:136","symbolAliases":[{"foreign":{"id":76594,"name":"IStargateNFT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72687,"src":"1677:12:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/libraries/X2EarnAppsDataTypes.sol","file":"../../libraries/X2EarnAppsDataTypes.sol","id":76597,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76849,"sourceUnit":71148,"src":"1749:78:136","symbolAliases":[{"foreign":{"id":76596,"name":"X2EarnAppsDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71147,"src":"1758:19:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnCreator.sol","file":"../../interfaces/IX2EarnCreator.sol","id":76599,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76849,"sourceUnit":70103,"src":"1828:69:136","symbolAliases":[{"foreign":{"id":76598,"name":"IX2EarnCreator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70102,"src":"1837:14:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnRewardsPool.sol","file":"../../interfaces/IX2EarnRewardsPool.sol","id":76601,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":76849,"sourceUnit":70428,"src":"1898:77:136","symbolAliases":[{"foreign":{"id":76600,"name":"IX2EarnRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70427,"src":"1907:18:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"X2EarnAppsStorageTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":76602,"nodeType":"StructuredDocumentation","src":"1977:135:136","text":" @title X2EarnAppsStorageTypes\n @notice This library defines the primary storage types used within the X2EarnApps contract."},"fullyImplemented":true,"id":76848,"linearizedBaseContracts":[76848],"name":"X2EarnAppsStorageTypes","nameLocation":"2121:22:136","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":76605,"mutability":"constant","name":"VoteEligibilityStorageLocation","nameLocation":"2173:30:136","nodeType":"VariableDeclaration","scope":76848,"src":"2148:128:136","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2148:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307862356238643631386166316666623864356263633462643233663434356261333465643038643761313664316531623534313163666265373931336535393030","id":76604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2210:66:136","typeDescriptions":{"typeIdentifier":"t_rational_82195203092690180135568947753121709022914817764835557719341530417656271624448_by_1","typeString":"int_const 8219...(69 digits omitted)...4448"},"value":"0xb5b8d618af1ffb8d5bcc4bd23f445ba34ed08d7a16d1e1b5411cfbe7913e5900"},"visibility":"private"},{"constant":true,"id":76608,"mutability":"constant","name":"EndorsementStorageLocation","nameLocation":"2305:26:136","nodeType":"VariableDeclaration","scope":76848,"src":"2280:124:136","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2280:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307863316137626364633063373765386337376164653435343164313737373930316162393663613539386431363464383961666135633864666266633434333030","id":76607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2338:66:136","typeDescriptions":{"typeIdentifier":"t_rational_87592746697202941860609992291556237951102788875373307740699708277178318996224_by_1","typeString":"int_const 8759...(69 digits omitted)...6224"},"value":"0xc1a7bcdc0c77e8c77ade4541d1777901ab96ca598d164d89afa5c8dfbfc44300"},"visibility":"private"},{"constant":true,"id":76611,"mutability":"constant","name":"SettingsStorageLocation","nameLocation":"2433:23:136","nodeType":"VariableDeclaration","scope":76848,"src":"2408:117:136","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2408:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307838336239613765353166333934656661393331303763333838383731363133383930386262626536313164666338366166613336333961383236343431313030","id":76610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2459:66:136","typeDescriptions":{"typeIdentifier":"t_rational_59581008640147855175243384111363715668609500011613031740909751673979561840896_by_1","typeString":"int_const 5958...(69 digits omitted)...0896"},"value":"0x83b9a7e51f394efa93107c3888716138908bbbe611dfc86afa3639a826441100"},"visibility":"private"},{"constant":true,"id":76614,"mutability":"constant","name":"AppsStorageStorageLocation","nameLocation":"2554:26:136","nodeType":"VariableDeclaration","scope":76848,"src":"2529:124:136","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2529:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307862363930393035386264353237313430623864353561343433343463356534326631663134386631623362313664663736343138383264663864643732393030","id":76613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2587:66:136","typeDescriptions":{"typeIdentifier":"t_rational_82576360663369752536894691862557284507760576222780413367971896591492870252800_by_1","typeString":"int_const 8257...(69 digits omitted)...2800"},"value":"0xb6909058bd527140b8d55a44344c5e42f1f148f1b3b16df7641882df8dd72900"},"visibility":"private"},{"constant":true,"id":76617,"mutability":"constant","name":"AdministrationStorageLocation","nameLocation":"2682:29:136","nodeType":"VariableDeclaration","scope":76848,"src":"2657:127:136","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2657:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307835383330663065393563303137313264393136633334643965326661343265396637343962333235623637626365373338326437306262393963363233353030","id":76616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2718:66:136","typeDescriptions":{"typeIdentifier":"t_rational_39890002044916931885761505485275529359026139072415496233615764266644775515392_by_1","typeString":"int_const 3989...(69 digits omitted)...5392"},"value":"0x5830f0e95c01712d916c34d9e2fa42e9f749b325b67bce7382d70bb99c623500"},"visibility":"private"},{"canonicalName":"X2EarnAppsStorageTypes.VoteEligibilityStorage","documentation":{"id":76618,"nodeType":"StructuredDocumentation","src":"2789:76:136","text":"@custom:storage-location erc7201:b3tr.storage.X2EarnApps.VoteEligibility"},"id":76635,"members":[{"constant":false,"id":76621,"mutability":"mutable","name":"_eligibleApps","nameLocation":"2914:13:136","nodeType":"VariableDeclaration","scope":76635,"src":"2904:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":76619,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2904:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":76620,"nodeType":"ArrayTypeName","src":"2904:9:136","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":76625,"mutability":"mutable","name":"_eligibleAppIndex","nameLocation":"3049:17:136","nodeType":"VariableDeclaration","scope":76635,"src":"3009:57:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":76624,"keyName":"appId","keyNameLocation":"3025:5:136","keyType":{"id":76622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3017:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"3009:39:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"index","valueNameLocation":"3042:5:136","valueType":{"id":76623,"name":"uint256","nodeType":"ElementaryTypeName","src":"3034:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":76630,"mutability":"mutable","name":"_isAppEligibleCheckpoints","nameLocation":"3211:25:136","nodeType":"VariableDeclaration","scope":76635,"src":"3164:72:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(bytes32 => struct Checkpoints.Trace208)"},"typeName":{"id":76629,"keyName":"appId","keyNameLocation":"3180:5:136","keyType":{"id":76626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3172:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"3164:46:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(bytes32 => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76628,"nodeType":"UserDefinedTypeName","pathNode":{"id":76627,"name":"Checkpoints.Trace208","nameLocations":["3189:11:136","3201:8:136"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"3189:20:136"},"referencedDeclaration":9409,"src":"3189:20:136","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":76634,"mutability":"mutable","name":"_blackList","nameLocation":"3335:10:136","nodeType":"VariableDeclaration","scope":76635,"src":"3310:35:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"typeName":{"id":76633,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3318:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"3310:24:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76632,"name":"bool","nodeType":"ElementaryTypeName","src":"3329:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"VoteEligibilityStorage","nameLocation":"2875:22:136","nodeType":"StructDefinition","scope":76848,"src":"2868:523:136","visibility":"public"},{"canonicalName":"X2EarnAppsStorageTypes.Endorsement","documentation":{"id":76636,"nodeType":"StructuredDocumentation","src":"3395:66:136","text":"@notice Represents an active endorsement from a node to an app"},"id":76643,"members":[{"constant":false,"id":76638,"mutability":"mutable","name":"appId","nameLocation":"3497:5:136","nodeType":"VariableDeclaration","scope":76643,"src":"3489:13:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3489:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":76640,"mutability":"mutable","name":"points","nameLocation":"3516:6:136","nodeType":"VariableDeclaration","scope":76643,"src":"3508:14:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76639,"name":"uint256","nodeType":"ElementaryTypeName","src":"3508:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76642,"mutability":"mutable","name":"endorsedAtRound","nameLocation":"3536:15:136","nodeType":"VariableDeclaration","scope":76643,"src":"3528:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76641,"name":"uint256","nodeType":"ElementaryTypeName","src":"3528:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Endorsement","nameLocation":"3471:11:136","nodeType":"StructDefinition","scope":76848,"src":"3464:170:136","visibility":"public"},{"canonicalName":"X2EarnAppsStorageTypes.NodePointsInfo","documentation":{"id":76644,"nodeType":"StructuredDocumentation","src":"3638:61:136","text":"@notice Summary of a node's endorsement points allocation"},"id":76653,"members":[{"constant":false,"id":76646,"mutability":"mutable","name":"totalPoints","nameLocation":"3738:11:136","nodeType":"VariableDeclaration","scope":76653,"src":"3730:19:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76645,"name":"uint256","nodeType":"ElementaryTypeName","src":"3730:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76648,"mutability":"mutable","name":"usedPoints","nameLocation":"3811:10:136","nodeType":"VariableDeclaration","scope":76653,"src":"3803:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76647,"name":"uint256","nodeType":"ElementaryTypeName","src":"3803:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76650,"mutability":"mutable","name":"availablePoints","nameLocation":"3873:15:136","nodeType":"VariableDeclaration","scope":76653,"src":"3865:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76649,"name":"uint256","nodeType":"ElementaryTypeName","src":"3865:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76652,"mutability":"mutable","name":"lockedPoints","nameLocation":"3943:12:136","nodeType":"VariableDeclaration","scope":76653,"src":"3935:20:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76651,"name":"uint256","nodeType":"ElementaryTypeName","src":"3935:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"NodePointsInfo","nameLocation":"3709:14:136","nodeType":"StructDefinition","scope":76848,"src":"3702:310:136","visibility":"public"},{"canonicalName":"X2EarnAppsStorageTypes.EndorsementStorage","documentation":{"id":76654,"nodeType":"StructuredDocumentation","src":"4016:71:136","text":"@custom:storage-location erc7201:b3tr.storage.X2EarnApps.Endorsment"},"id":76750,"members":[{"constant":false,"id":76657,"mutability":"mutable","name":"_unendorsedApps","nameLocation":"4132:15:136","nodeType":"VariableDeclaration","scope":76750,"src":"4122:25:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":76655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4122:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":76656,"nodeType":"ArrayTypeName","src":"4122:9:136","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":76661,"mutability":"mutable","name":"_unendorsedAppsIndex","nameLocation":"4217:20:136","nodeType":"VariableDeclaration","scope":76750,"src":"4189:48:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":76660,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4197:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"4189:27:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76659,"name":"uint256","nodeType":"ElementaryTypeName","src":"4208:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":76666,"mutability":"mutable","name":"_appEndorsers_DEPRECATED","nameLocation":"4367:24:136","nodeType":"VariableDeclaration","scope":76750,"src":"4337:54:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[])"},"typeName":{"id":76665,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76662,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4345:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"4337:29:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":76663,"name":"uint256","nodeType":"ElementaryTypeName","src":"4356:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76664,"nodeType":"ArrayTypeName","src":"4356:9:136","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"internal"},{"constant":false,"id":76670,"mutability":"mutable","name":"_nodeEnodorsmentScore","nameLocation":"4473:21:136","nodeType":"VariableDeclaration","scope":76750,"src":"4447:47:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"typeName":{"id":76669,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76667,"name":"uint8","nodeType":"ElementaryTypeName","src":"4455:5:136","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"4447:25:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76668,"name":"uint256","nodeType":"ElementaryTypeName","src":"4464:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":76674,"mutability":"mutable","name":"_appGracePeriodStart","nameLocation":"4572:20:136","nodeType":"VariableDeclaration","scope":76750,"src":"4545:47:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint48_$","typeString":"mapping(bytes32 => uint48)"},"typeName":{"id":76673,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4553:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"4545:26:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint48_$","typeString":"mapping(bytes32 => uint48)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76672,"name":"uint48","nodeType":"ElementaryTypeName","src":"4564:6:136","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}},"visibility":"internal"},{"constant":false,"id":76678,"mutability":"mutable","name":"_nodeToEndorsedApp_DEPRECATED","nameLocation":"4680:29:136","nodeType":"VariableDeclaration","scope":76750,"src":"4652:57:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"typeName":{"id":76677,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76675,"name":"uint256","nodeType":"ElementaryTypeName","src":"4660:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4652:27:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4671:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"internal"},{"constant":false,"id":76680,"mutability":"mutable","name":"_gracePeriodDuration","nameLocation":"4772:20:136","nodeType":"VariableDeclaration","scope":76750,"src":"4765:27:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":76679,"name":"uint48","nodeType":"ElementaryTypeName","src":"4765:6:136","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":76682,"mutability":"mutable","name":"_endorsementScoreThreshold","nameLocation":"4865:26:136","nodeType":"VariableDeclaration","scope":76750,"src":"4857:34:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76681,"name":"uint256","nodeType":"ElementaryTypeName","src":"4857:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76686,"mutability":"mutable","name":"_appScores_DEPRECATED","nameLocation":"4997:21:136","nodeType":"VariableDeclaration","scope":76750,"src":"4969:49:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":76685,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4977:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"4969:27:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76684,"name":"uint256","nodeType":"ElementaryTypeName","src":"4988:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":76691,"mutability":"mutable","name":"_appSecurity","nameLocation":"5133:12:136","nodeType":"VariableDeclaration","scope":76750,"src":"5086:59:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_enum$_APP_SECURITY_$73233_$","typeString":"mapping(bytes32 => enum PassportTypes.APP_SECURITY)"},"typeName":{"id":76690,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5094:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5086:46:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_enum$_APP_SECURITY_$73233_$","typeString":"mapping(bytes32 => enum PassportTypes.APP_SECURITY)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76689,"nodeType":"UserDefinedTypeName","pathNode":{"id":76688,"name":"PassportTypes.APP_SECURITY","nameLocations":["5105:13:136","5119:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":73233,"src":"5105:26:136"},"referencedDeclaration":73233,"src":"5105:26:136","typeDescriptions":{"typeIdentifier":"t_enum$_APP_SECURITY_$73233","typeString":"enum PassportTypes.APP_SECURITY"}}},"visibility":"internal"},{"constant":false,"id":76694,"mutability":"mutable","name":"_nodeManagementContract","nameLocation":"5203:23:136","nodeType":"VariableDeclaration","scope":76750,"src":"5185:41:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"},"typeName":{"id":76693,"nodeType":"UserDefinedTypeName","pathNode":{"id":76692,"name":"INodeManagementV3","nameLocations":["5185:17:136"],"nodeType":"IdentifierPath","referencedDeclaration":71617,"src":"5185:17:136"},"referencedDeclaration":71617,"src":"5185:17:136","typeDescriptions":{"typeIdentifier":"t_contract$_INodeManagementV3_$71617","typeString":"contract INodeManagementV3"}},"visibility":"internal"},{"constant":false,"id":76697,"mutability":"mutable","name":"_veBetterPassport","nameLocation":"5280:17:136","nodeType":"VariableDeclaration","scope":76750,"src":"5262:35:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":76696,"nodeType":"UserDefinedTypeName","pathNode":{"id":76695,"name":"IVeBetterPassport","nameLocations":["5262:17:136"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"5262:17:136"},"referencedDeclaration":68601,"src":"5262:17:136","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"},{"constant":false,"id":76701,"mutability":"mutable","name":"_endorsementRound_DEPRECATED","nameLocation":"5364:28:136","nodeType":"VariableDeclaration","scope":76750,"src":"5336:56:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":76700,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76698,"name":"uint256","nodeType":"ElementaryTypeName","src":"5344:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5336:27:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76699,"name":"uint256","nodeType":"ElementaryTypeName","src":"5355:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":76703,"mutability":"mutable","name":"_cooldownPeriod","nameLocation":"5467:15:136","nodeType":"VariableDeclaration","scope":76750,"src":"5459:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76702,"name":"uint256","nodeType":"ElementaryTypeName","src":"5459:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76706,"mutability":"mutable","name":"_xAllocationVotingGovernor","nameLocation":"5562:26:136","nodeType":"VariableDeclaration","scope":76750,"src":"5535:53:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":76705,"nodeType":"UserDefinedTypeName","pathNode":{"id":76704,"name":"IXAllocationVotingGovernor","nameLocations":["5535:26:136"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"5535:26:136"},"referencedDeclaration":71124,"src":"5535:26:136","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":76709,"mutability":"mutable","name":"_stargateNFT","nameLocation":"5683:12:136","nodeType":"VariableDeclaration","scope":76750,"src":"5670:25:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"},"typeName":{"id":76708,"nodeType":"UserDefinedTypeName","pathNode":{"id":76707,"name":"IStargateNFT","nameLocations":["5670:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":72687,"src":"5670:12:136"},"referencedDeclaration":72687,"src":"5670:12:136","typeDescriptions":{"typeIdentifier":"t_contract$_IStargateNFT_$72687","typeString":"contract IStargateNFT"}},"visibility":"internal"},{"constant":false,"id":76715,"mutability":"mutable","name":"_activeEndorsements","nameLocation":"5976:19:136","nodeType":"VariableDeclaration","scope":76750,"src":"5935:60:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement[])"},"typeName":{"id":76714,"keyName":"nodeId","keyNameLocation":"5951:6:136","keyType":{"id":76710,"name":"uint256","nodeType":"ElementaryTypeName","src":"5943:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5935:40:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_$","typeString":"mapping(uint256 => struct X2EarnAppsStorageTypes.Endorsement[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":76712,"nodeType":"UserDefinedTypeName","pathNode":{"id":76711,"name":"Endorsement","nameLocations":["5961:11:136"],"nodeType":"IdentifierPath","referencedDeclaration":76643,"src":"5961:11:136"},"referencedDeclaration":76643,"src":"5961:11:136","typeDescriptions":{"typeIdentifier":"t_struct$_Endorsement_$76643_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement"}},"id":76713,"nodeType":"ArrayTypeName","src":"5961:13:136","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Endorsement_$76643_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.Endorsement[]"}}},"visibility":"internal"},{"constant":false,"id":76721,"mutability":"mutable","name":"_activeEndorsementsAppIndex","nameLocation":"6105:27:136","nodeType":"VariableDeclaration","scope":76750,"src":"6038:94:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"},"typeName":{"id":76720,"keyName":"nodeId","keyNameLocation":"6054:6:136","keyType":{"id":76716,"name":"uint256","nodeType":"ElementaryTypeName","src":"6046:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6038:66:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(bytes32 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76719,"keyName":"appId","keyNameLocation":"6080:5:136","keyType":{"id":76717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6072:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"6064:39:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"index","valueNameLocation":"6097:5:136","valueType":{"id":76718,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":76725,"mutability":"mutable","name":"_appEndorsementScore_DEPRECATED","nameLocation":"6210:31:136","nodeType":"VariableDeclaration","scope":76750,"src":"6170:71:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":76724,"keyName":"appId","keyNameLocation":"6186:5:136","keyType":{"id":76722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6178:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"6170:39:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"score","valueNameLocation":"6203:5:136","valueType":{"id":76723,"name":"uint256","nodeType":"ElementaryTypeName","src":"6195:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":76730,"mutability":"mutable","name":"_appEndorserNodes","nameLocation":"6345:17:136","nodeType":"VariableDeclaration","scope":76750,"src":"6309:53:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[])"},"typeName":{"id":76729,"keyName":"appId","keyNameLocation":"6325:5:136","keyType":{"id":76726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6317:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"6309:35:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(bytes32 => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":76727,"name":"uint256","nodeType":"ElementaryTypeName","src":"6334:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76728,"nodeType":"ArrayTypeName","src":"6334:9:136","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"internal"},{"constant":false,"id":76736,"mutability":"mutable","name":"_appEndorserNodesIndex","nameLocation":"6480:22:136","nodeType":"VariableDeclaration","scope":76750,"src":"6413:89:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(bytes32 => mapping(uint256 => uint256))"},"typeName":{"id":76735,"keyName":"appId","keyNameLocation":"6429:5:136","keyType":{"id":76731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6421:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"6413:66:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(bytes32 => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76734,"keyName":"nodeId","keyNameLocation":"6454:6:136","keyType":{"id":76732,"name":"uint256","nodeType":"ElementaryTypeName","src":"6446:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6438:40:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"index","valueNameLocation":"6472:5:136","valueType":{"id":76733,"name":"uint256","nodeType":"ElementaryTypeName","src":"6464:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"constant":false,"id":76738,"mutability":"mutable","name":"_maxPointsPerNodePerApp","nameLocation":"6542:23:136","nodeType":"VariableDeclaration","scope":76750,"src":"6534:31:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76737,"name":"uint256","nodeType":"ElementaryTypeName","src":"6534:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76740,"mutability":"mutable","name":"_maxPointsPerApp","nameLocation":"6642:16:136","nodeType":"VariableDeclaration","scope":76750,"src":"6634:24:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76739,"name":"uint256","nodeType":"ElementaryTypeName","src":"6634:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76742,"mutability":"mutable","name":"_endorsementsPaused","nameLocation":"6722:19:136","nodeType":"VariableDeclaration","scope":76750,"src":"6717:24:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76741,"name":"bool","nodeType":"ElementaryTypeName","src":"6717:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76744,"mutability":"mutable","name":"_migrationCompleted","nameLocation":"6791:19:136","nodeType":"VariableDeclaration","scope":76750,"src":"6786:24:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76743,"name":"bool","nodeType":"ElementaryTypeName","src":"6786:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76749,"mutability":"mutable","name":"_appEndorsementScoreCheckpoints","nameLocation":"6890:31:136","nodeType":"VariableDeclaration","scope":76750,"src":"6843:78:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(bytes32 => struct Checkpoints.Trace208)"},"typeName":{"id":76748,"keyName":"appId","keyNameLocation":"6859:5:136","keyType":{"id":76745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6851:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"6843:46:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(bytes32 => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76747,"nodeType":"UserDefinedTypeName","pathNode":{"id":76746,"name":"Checkpoints.Trace208","nameLocations":["6868:11:136","6880:8:136"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"6868:20:136"},"referencedDeclaration":9409,"src":"6868:20:136","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"}],"name":"EndorsementStorage","nameLocation":"4097:18:136","nodeType":"StructDefinition","scope":76848,"src":"4090:2894:136","visibility":"public"},{"canonicalName":"X2EarnAppsStorageTypes.ContractSettingsStorage","documentation":{"id":76751,"nodeType":"StructuredDocumentation","src":"6988:69:136","text":"@custom:storage-location erc7201:b3tr.storage.X2EarnApps.Settings"},"id":76754,"members":[{"constant":false,"id":76753,"mutability":"mutable","name":"_baseURI","nameLocation":"7104:8:136","nodeType":"VariableDeclaration","scope":76754,"src":"7097:15:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":76752,"name":"string","nodeType":"ElementaryTypeName","src":"7097:6:136","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ContractSettingsStorage","nameLocation":"7067:23:136","nodeType":"StructDefinition","scope":76848,"src":"7060:57:136","visibility":"public"},{"canonicalName":"X2EarnAppsStorageTypes.AppsStorageStorage","documentation":{"id":76755,"nodeType":"StructuredDocumentation","src":"7121:72:136","text":"@custom:storage-location erc7201:b3tr.storage.X2EarnApps.AppsStorage"},"id":76764,"members":[{"constant":false,"id":76760,"mutability":"mutable","name":"_apps","nameLocation":"7312:5:136","nodeType":"VariableDeclaration","scope":76764,"src":"7262:55:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App)"},"typeName":{"id":76759,"keyName":"appId","keyNameLocation":"7278:5:136","keyType":{"id":76756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7270:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"7262:49:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_App_$71133_storage_$","typeString":"mapping(bytes32 => struct X2EarnAppsDataTypes.App)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76758,"nodeType":"UserDefinedTypeName","pathNode":{"id":76757,"name":"X2EarnAppsDataTypes.App","nameLocations":["7287:19:136","7307:3:136"],"nodeType":"IdentifierPath","referencedDeclaration":71133,"src":"7287:23:136"},"referencedDeclaration":71133,"src":"7287:23:136","typeDescriptions":{"typeIdentifier":"t_struct$_App_$71133_storage_ptr","typeString":"struct X2EarnAppsDataTypes.App"}}},"visibility":"internal"},{"constant":false,"id":76763,"mutability":"mutable","name":"_appIds","nameLocation":"7389:7:136","nodeType":"VariableDeclaration","scope":76764,"src":"7379:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":76761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7379:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":76762,"nodeType":"ArrayTypeName","src":"7379:9:136","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AppsStorageStorage","nameLocation":"7203:18:136","nodeType":"StructDefinition","scope":76848,"src":"7196:205:136","visibility":"public"},{"canonicalName":"X2EarnAppsStorageTypes.AdministrationStorage","documentation":{"id":76765,"nodeType":"StructuredDocumentation","src":"7405:75:136","text":"@custom:storage-location erc7201:b3tr.storage.X2EarnApps.Administration"},"id":76807,"members":[{"constant":false,"id":76769,"mutability":"mutable","name":"_admin","nameLocation":"7552:6:136","nodeType":"VariableDeclaration","scope":76807,"src":"7518:40:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":76768,"keyName":"appId","keyNameLocation":"7534:5:136","keyType":{"id":76766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7526:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"7518:33:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76767,"name":"address","nodeType":"ElementaryTypeName","src":"7543:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"constant":false,"id":76774,"mutability":"mutable","name":"_moderators","nameLocation":"7600:11:136","nodeType":"VariableDeclaration","scope":76807,"src":"7564:47:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(bytes32 => address[])"},"typeName":{"id":76773,"keyName":"appId","keyNameLocation":"7580:5:136","keyType":{"id":76770,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7572:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"7564:35:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(bytes32 => address[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":76771,"name":"address","nodeType":"ElementaryTypeName","src":"7589:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76772,"nodeType":"ArrayTypeName","src":"7589:9:136","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"internal"},{"constant":false,"id":76779,"mutability":"mutable","name":"_rewardDistributors","nameLocation":"7653:19:136","nodeType":"VariableDeclaration","scope":76807,"src":"7617:55:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(bytes32 => address[])"},"typeName":{"id":76778,"keyName":"appId","keyNameLocation":"7633:5:136","keyType":{"id":76775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7625:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"7617:35:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(bytes32 => address[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":76776,"name":"address","nodeType":"ElementaryTypeName","src":"7642:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76777,"nodeType":"ArrayTypeName","src":"7642:9:136","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"internal"},{"constant":false,"id":76783,"mutability":"mutable","name":"_teamWalletAddress","nameLocation":"7776:18:136","nodeType":"VariableDeclaration","scope":76807,"src":"7742:52:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":76782,"keyName":"appId","keyNameLocation":"7758:5:136","keyType":{"id":76780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7750:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"7742:33:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76781,"name":"address","nodeType":"ElementaryTypeName","src":"7767:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"constant":false,"id":76787,"mutability":"mutable","name":"_teamAllocationPercentage","nameLocation":"7834:25:136","nodeType":"VariableDeclaration","scope":76807,"src":"7800:59:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":76786,"keyName":"appId","keyNameLocation":"7816:5:136","keyType":{"id":76784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7808:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"7800:33:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76785,"name":"uint256","nodeType":"ElementaryTypeName","src":"7825:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":76791,"mutability":"mutable","name":"_metadataURI","nameLocation":"7970:12:136","nodeType":"VariableDeclaration","scope":76807,"src":"7937:45:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_string_storage_$","typeString":"mapping(bytes32 => string)"},"typeName":{"id":76790,"keyName":"appId","keyNameLocation":"7953:5:136","keyType":{"id":76788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7945:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"7937:32:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_string_storage_$","typeString":"mapping(bytes32 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76789,"name":"string","nodeType":"ElementaryTypeName","src":"7962:6:136","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"internal"},{"constant":false,"id":76796,"mutability":"mutable","name":"_creators","nameLocation":"8024:9:136","nodeType":"VariableDeclaration","scope":76807,"src":"7988:45:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(bytes32 => address[])"},"typeName":{"id":76795,"keyName":"appId","keyNameLocation":"8004:5:136","keyType":{"id":76792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7996:7:136","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"7988:35:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(bytes32 => address[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":76793,"name":"address","nodeType":"ElementaryTypeName","src":"8013:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76794,"nodeType":"ArrayTypeName","src":"8013:9:136","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"internal"},{"constant":false,"id":76800,"mutability":"mutable","name":"_creatorApps","nameLocation":"8164:12:136","nodeType":"VariableDeclaration","scope":76807,"src":"8123:53:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":76799,"keyName":"creator","keyNameLocation":"8139:7:136","keyType":{"id":76797,"name":"address","nodeType":"ElementaryTypeName","src":"8131:7:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"8123:40:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"apps","valueNameLocation":"8158:4:136","valueType":{"id":76798,"name":"uint256","nodeType":"ElementaryTypeName","src":"8150:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":76803,"mutability":"mutable","name":"_x2EarnCreatorContract","nameLocation":"8236:22:136","nodeType":"VariableDeclaration","scope":76807,"src":"8221:37:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnCreator_$70102","typeString":"contract IX2EarnCreator"},"typeName":{"id":76802,"nodeType":"UserDefinedTypeName","pathNode":{"id":76801,"name":"IX2EarnCreator","nameLocations":["8221:14:136"],"nodeType":"IdentifierPath","referencedDeclaration":70102,"src":"8221:14:136"},"referencedDeclaration":70102,"src":"8221:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnCreator_$70102","typeString":"contract IX2EarnCreator"}},"visibility":"internal"},{"constant":false,"id":76806,"mutability":"mutable","name":"_x2EarnRewardsPoolContract","nameLocation":"8283:26:136","nodeType":"VariableDeclaration","scope":76807,"src":"8264:45:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnRewardsPool_$70427","typeString":"contract IX2EarnRewardsPool"},"typeName":{"id":76805,"nodeType":"UserDefinedTypeName","pathNode":{"id":76804,"name":"IX2EarnRewardsPool","nameLocations":["8264:18:136"],"nodeType":"IdentifierPath","referencedDeclaration":70427,"src":"8264:18:136"},"referencedDeclaration":70427,"src":"8264:18:136","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnRewardsPool_$70427","typeString":"contract IX2EarnRewardsPool"}},"visibility":"internal"}],"name":"AdministrationStorage","nameLocation":"7490:21:136","nodeType":"StructDefinition","scope":76848,"src":"7483:899:136","visibility":"public"},{"body":{"id":76814,"nodeType":"Block","src":"8518:73:136","statements":[{"AST":{"nodeType":"YulBlock","src":"8533:54:136","statements":[{"nodeType":"YulAssignment","src":"8541:40:136","value":{"name":"VoteEligibilityStorageLocation","nodeType":"YulIdentifier","src":"8551:30:136"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"8541:6:136"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":76811,"isOffset":false,"isSlot":true,"src":"8541:6:136","suffix":"slot","valueSize":1},{"declaration":76605,"isOffset":false,"isSlot":false,"src":"8551:30:136","valueSize":1}],"id":76813,"nodeType":"InlineAssembly","src":"8524:63:136"}]},"id":76815,"implemented":true,"kind":"function","modifiers":[],"name":"_getVoteEligibilityStorage","nameLocation":"8395:26:136","nodeType":"FunctionDefinition","parameters":{"id":76808,"nodeType":"ParameterList","parameters":[],"src":"8421:2:136"},"returnParameters":{"id":76812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76811,"mutability":"mutable","name":"$","nameLocation":"8513:1:136","nodeType":"VariableDeclaration","scope":76815,"src":"8459:55:136","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VoteEligibilityStorage_$76635_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.VoteEligibilityStorage"},"typeName":{"id":76810,"nodeType":"UserDefinedTypeName","pathNode":{"id":76809,"name":"X2EarnAppsStorageTypes.VoteEligibilityStorage","nameLocations":["8459:22:136","8482:22:136"],"nodeType":"IdentifierPath","referencedDeclaration":76635,"src":"8459:45:136"},"referencedDeclaration":76635,"src":"8459:45:136","typeDescriptions":{"typeIdentifier":"t_struct$_VoteEligibilityStorage_$76635_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.VoteEligibilityStorage"}},"visibility":"internal"}],"src":"8458:57:136"},"scope":76848,"src":"8386:205:136","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":76822,"nodeType":"Block","src":"8705:69:136","statements":[{"AST":{"nodeType":"YulBlock","src":"8720:50:136","statements":[{"nodeType":"YulAssignment","src":"8728:36:136","value":{"name":"EndorsementStorageLocation","nodeType":"YulIdentifier","src":"8738:26:136"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"8728:6:136"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":76819,"isOffset":false,"isSlot":true,"src":"8728:6:136","suffix":"slot","valueSize":1},{"declaration":76608,"isOffset":false,"isSlot":false,"src":"8738:26:136","valueSize":1}],"id":76821,"nodeType":"InlineAssembly","src":"8711:59:136"}]},"id":76823,"implemented":true,"kind":"function","modifiers":[],"name":"_getEndorsementStorage","nameLocation":"8604:22:136","nodeType":"FunctionDefinition","parameters":{"id":76816,"nodeType":"ParameterList","parameters":[],"src":"8626:2:136"},"returnParameters":{"id":76820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76819,"mutability":"mutable","name":"$","nameLocation":"8702:1:136","nodeType":"VariableDeclaration","scope":76823,"src":"8652:51:136","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"},"typeName":{"id":76818,"nodeType":"UserDefinedTypeName","pathNode":{"id":76817,"name":"X2EarnAppsStorageTypes.EndorsementStorage","nameLocations":["8652:22:136","8675:18:136"],"nodeType":"IdentifierPath","referencedDeclaration":76750,"src":"8652:41:136"},"referencedDeclaration":76750,"src":"8652:41:136","typeDescriptions":{"typeIdentifier":"t_struct$_EndorsementStorage_$76750_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.EndorsementStorage"}},"visibility":"internal"}],"src":"8651:53:136"},"scope":76848,"src":"8595:179:136","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":76830,"nodeType":"Block","src":"8912:66:136","statements":[{"AST":{"nodeType":"YulBlock","src":"8927:47:136","statements":[{"nodeType":"YulAssignment","src":"8935:33:136","value":{"name":"SettingsStorageLocation","nodeType":"YulIdentifier","src":"8945:23:136"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"8935:6:136"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":76827,"isOffset":false,"isSlot":true,"src":"8935:6:136","suffix":"slot","valueSize":1},{"declaration":76611,"isOffset":false,"isSlot":false,"src":"8945:23:136","valueSize":1}],"id":76829,"nodeType":"InlineAssembly","src":"8918:56:136"}]},"id":76831,"implemented":true,"kind":"function","modifiers":[],"name":"_getContractSettingsStorage","nameLocation":"8787:27:136","nodeType":"FunctionDefinition","parameters":{"id":76824,"nodeType":"ParameterList","parameters":[],"src":"8814:2:136"},"returnParameters":{"id":76828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76827,"mutability":"mutable","name":"$","nameLocation":"8907:1:136","nodeType":"VariableDeclaration","scope":76831,"src":"8852:56:136","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ContractSettingsStorage_$76754_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.ContractSettingsStorage"},"typeName":{"id":76826,"nodeType":"UserDefinedTypeName","pathNode":{"id":76825,"name":"X2EarnAppsStorageTypes.ContractSettingsStorage","nameLocations":["8852:22:136","8875:23:136"],"nodeType":"IdentifierPath","referencedDeclaration":76754,"src":"8852:46:136"},"referencedDeclaration":76754,"src":"8852:46:136","typeDescriptions":{"typeIdentifier":"t_struct$_ContractSettingsStorage_$76754_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.ContractSettingsStorage"}},"visibility":"internal"}],"src":"8851:58:136"},"scope":76848,"src":"8778:200:136","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":76838,"nodeType":"Block","src":"9092:69:136","statements":[{"AST":{"nodeType":"YulBlock","src":"9107:50:136","statements":[{"nodeType":"YulAssignment","src":"9115:36:136","value":{"name":"AppsStorageStorageLocation","nodeType":"YulIdentifier","src":"9125:26:136"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"9115:6:136"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":76835,"isOffset":false,"isSlot":true,"src":"9115:6:136","suffix":"slot","valueSize":1},{"declaration":76614,"isOffset":false,"isSlot":false,"src":"9125:26:136","valueSize":1}],"id":76837,"nodeType":"InlineAssembly","src":"9098:59:136"}]},"id":76839,"implemented":true,"kind":"function","modifiers":[],"name":"_getAppsStorageStorage","nameLocation":"8991:22:136","nodeType":"FunctionDefinition","parameters":{"id":76832,"nodeType":"ParameterList","parameters":[],"src":"9013:2:136"},"returnParameters":{"id":76836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76835,"mutability":"mutable","name":"$","nameLocation":"9089:1:136","nodeType":"VariableDeclaration","scope":76839,"src":"9039:51:136","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"},"typeName":{"id":76834,"nodeType":"UserDefinedTypeName","pathNode":{"id":76833,"name":"X2EarnAppsStorageTypes.AppsStorageStorage","nameLocations":["9039:22:136","9062:18:136"],"nodeType":"IdentifierPath","referencedDeclaration":76764,"src":"9039:41:136"},"referencedDeclaration":76764,"src":"9039:41:136","typeDescriptions":{"typeIdentifier":"t_struct$_AppsStorageStorage_$76764_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AppsStorageStorage"}},"visibility":"internal"}],"src":"9038:53:136"},"scope":76848,"src":"8982:179:136","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":76846,"nodeType":"Block","src":"9281:72:136","statements":[{"AST":{"nodeType":"YulBlock","src":"9296:53:136","statements":[{"nodeType":"YulAssignment","src":"9304:39:136","value":{"name":"AdministrationStorageLocation","nodeType":"YulIdentifier","src":"9314:29:136"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"9304:6:136"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":76843,"isOffset":false,"isSlot":true,"src":"9304:6:136","suffix":"slot","valueSize":1},{"declaration":76617,"isOffset":false,"isSlot":false,"src":"9314:29:136","valueSize":1}],"id":76845,"nodeType":"InlineAssembly","src":"9287:62:136"}]},"id":76847,"implemented":true,"kind":"function","modifiers":[],"name":"_getAdministrationStorage","nameLocation":"9174:25:136","nodeType":"FunctionDefinition","parameters":{"id":76840,"nodeType":"ParameterList","parameters":[],"src":"9199:2:136"},"returnParameters":{"id":76844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76843,"mutability":"mutable","name":"$","nameLocation":"9278:1:136","nodeType":"VariableDeclaration","scope":76847,"src":"9225:54:136","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AdministrationStorage_$76807_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AdministrationStorage"},"typeName":{"id":76842,"nodeType":"UserDefinedTypeName","pathNode":{"id":76841,"name":"X2EarnAppsStorageTypes.AdministrationStorage","nameLocations":["9225:22:136","9248:21:136"],"nodeType":"IdentifierPath","referencedDeclaration":76807,"src":"9225:44:136"},"referencedDeclaration":76807,"src":"9225:44:136","typeDescriptions":{"typeIdentifier":"t_struct$_AdministrationStorage_$76807_storage_ptr","typeString":"struct X2EarnAppsStorageTypes.AdministrationStorage"}},"visibility":"internal"}],"src":"9224:56:136"},"scope":76848,"src":"9165:188:136","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":76849,"src":"2113:7242:136","usedErrors":[],"usedEvents":[]}],"src":"1195:8161:136"},"id":136},"contracts/x-allocation-voting-governance/XAllocationVoting.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/XAllocationVoting.sol","exportedSymbols":{"AccessControlUpgradeable":[362],"AutoVotingLogic":[79881],"ContextUpgradeable":[3987],"ERC165Upgradeable":[4332],"ERC1967Utils":[5006],"ExternalContractsUtils":[80338],"IAccessControl":[4415],"IB3TRGovernor":[63919],"IERC165":[5961],"IERC1822Proxiable":[4566],"IERC6372":[4552],"IEmissions":[64454],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IVotes":[4498],"IX2EarnApps":[69989],"IXAllocationVotingGovernor":[71124],"Initializable":[1732],"RelayerAction":[66644],"RoundEarningsSettingsUtils":[80751],"RoundFinalizationUtils":[80898],"RoundVotesCountingUtils":[81679],"RoundsStorageUtils":[82091],"SafeCast":[8770],"UUPSUpgradeable":[1914],"VotesQuorumFractionUtils":[82434],"VotesUtils":[82662],"VotingSettingsUtils":[82801],"X2EarnAppsDataTypes":[71147],"XAllocationVoting":[79243],"XAllocationVotingStorageTypes":[83099]},"id":79244,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":76850,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:137"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","id":76852,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":5962,"src":"1220:82:137","symbolAliases":[{"foreign":{"id":76851,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"1229:7:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol","id":76854,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":4333,"src":"1303:114:137","symbolAliases":[{"foreign":{"id":76853,"name":"ERC165Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"1312:17:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":76856,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":1733,"src":"1418:98:137","symbolAliases":[{"foreign":{"id":76855,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"1427:13:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","id":76858,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":3988,"src":"1517:102:137","symbolAliases":[{"foreign":{"id":76857,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"1526:18:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol","id":76859,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":363,"src":"1620:81:137","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","id":76860,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":1915,"src":"1702:77:137","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/governance/utils/IVotes.sol","file":"@openzeppelin/contracts/governance/utils/IVotes.sol","id":76862,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":4499,"src":"1780:77:137","symbolAliases":[{"foreign":{"id":76861,"name":"IVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"1789:6:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":76864,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":8771,"src":"1858:75:137","symbolAliases":[{"foreign":{"id":76863,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1867:8:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../interfaces/IXAllocationVotingGovernor.sol","id":76867,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":71125,"src":"1935:100:137","symbolAliases":[{"foreign":{"id":76865,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"1944:26:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76866,"name":"IERC6372","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4552,"src":"1972:8:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../interfaces/IX2EarnApps.sol","id":76869,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":69990,"src":"2036:60:137","symbolAliases":[{"foreign":{"id":76868,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"2045:11:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../interfaces/IEmissions.sol","id":76871,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":64455,"src":"2097:58:137","symbolAliases":[{"foreign":{"id":76870,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"2106:10:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../interfaces/IVoterRewards.sol","id":76873,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":69093,"src":"2156:64:137","symbolAliases":[{"foreign":{"id":76872,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"2165:13:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../interfaces/IVeBetterPassport.sol","id":76875,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":68602,"src":"2221:72:137","symbolAliases":[{"foreign":{"id":76874,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"2230:17:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../interfaces/IB3TRGovernor.sol","id":76877,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":63920,"src":"2294:64:137","symbolAliases":[{"foreign":{"id":76876,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"2303:13:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../interfaces/IRelayerRewardsPool.sol","id":76880,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":67118,"src":"2359:91:137","symbolAliases":[{"foreign":{"id":76878,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"2368:19:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":76879,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"2389:13:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../interfaces/INavigatorRegistry.sol","id":76882,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":66639,"src":"2451:74:137","symbolAliases":[{"foreign":{"id":76881,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"2460:18:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/libraries/X2EarnAppsDataTypes.sol","file":"../libraries/X2EarnAppsDataTypes.sol","id":76884,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":71148,"src":"2526:75:137","symbolAliases":[{"foreign":{"id":76883,"name":"X2EarnAppsDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71147,"src":"2535:19:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./libraries/XAllocationVotingStorageTypes.sol","id":76886,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":83100,"src":"2616:94:137","symbolAliases":[{"foreign":{"id":76885,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2625:29:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol","file":"./libraries/ExternalContractsUtils.sol","id":76888,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":80339,"src":"2711:80:137","symbolAliases":[{"foreign":{"id":76887,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"2720:22:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol","file":"./libraries/VotingSettingsUtils.sol","id":76890,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":82802,"src":"2792:74:137","symbolAliases":[{"foreign":{"id":76889,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"2801:19:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol","file":"./libraries/VotesUtils.sol","id":76892,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":82663,"src":"2867:56:137","symbolAliases":[{"foreign":{"id":76891,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"2876:10:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol","file":"./libraries/VotesQuorumFractionUtils.sol","id":76894,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":82435,"src":"2924:84:137","symbolAliases":[{"foreign":{"id":76893,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"2933:24:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol","file":"./libraries/RoundEarningsSettingsUtils.sol","id":76896,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":80752,"src":"3009:88:137","symbolAliases":[{"foreign":{"id":76895,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"3018:26:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol","file":"./libraries/RoundFinalizationUtils.sol","id":76898,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":80899,"src":"3098:80:137","symbolAliases":[{"foreign":{"id":76897,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"3107:22:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol","file":"./libraries/RoundsStorageUtils.sol","id":76900,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":82092,"src":"3179:72:137","symbolAliases":[{"foreign":{"id":76899,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"3188:18:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol","file":"./libraries/RoundVotesCountingUtils.sol","id":76902,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":81680,"src":"3252:82:137","symbolAliases":[{"foreign":{"id":76901,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"3261:23:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol","file":"./libraries/AutoVotingLogic.sol","id":76904,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79244,"sourceUnit":79882,"src":"3335:66:137","symbolAliases":[{"foreign":{"id":76903,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"3344:15:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":76906,"name":"Initializable","nameLocations":["6920:13:137"],"nodeType":"IdentifierPath","referencedDeclaration":1732,"src":"6920:13:137"},"id":76907,"nodeType":"InheritanceSpecifier","src":"6920:13:137"},{"baseName":{"id":76908,"name":"ContextUpgradeable","nameLocations":["6937:18:137"],"nodeType":"IdentifierPath","referencedDeclaration":3987,"src":"6937:18:137"},"id":76909,"nodeType":"InheritanceSpecifier","src":"6937:18:137"},{"baseName":{"id":76910,"name":"ERC165Upgradeable","nameLocations":["6959:17:137"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"6959:17:137"},"id":76911,"nodeType":"InheritanceSpecifier","src":"6959:17:137"},{"baseName":{"id":76912,"name":"IXAllocationVotingGovernor","nameLocations":["6980:26:137"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"6980:26:137"},"id":76913,"nodeType":"InheritanceSpecifier","src":"6980:26:137"},{"baseName":{"id":76914,"name":"AccessControlUpgradeable","nameLocations":["7010:24:137"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"7010:24:137"},"id":76915,"nodeType":"InheritanceSpecifier","src":"7010:24:137"},{"baseName":{"id":76916,"name":"UUPSUpgradeable","nameLocations":["7038:15:137"],"nodeType":"IdentifierPath","referencedDeclaration":1914,"src":"7038:15:137"},"id":76917,"nodeType":"InheritanceSpecifier","src":"7038:15:137"}],"canonicalName":"XAllocationVoting","contractDependencies":[],"contractKind":"contract","documentation":{"id":76905,"nodeType":"StructuredDocumentation","src":"3403:3484:137","text":" @title XAllocationVoting\n @notice This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds.\n The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \"Quadratic Funding\" formula.\n @dev Rounds are started by the Emissions contract.\n @dev Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).\n @dev Interacts with the VotingRewards contract to save the user from casting a vote.\n @dev The contract is using AccessControl to handle roles for admin, governance, and round-starting operations.\n ----- Version 2 -----\n - Integrated VeBetterPassport\n - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold\n ----- Version 3 -----\n - Updated the X2EarnApps interface to support node endorsement feature\n ----- Version 4 -----\n - Updated the X2EarnApps interface to support node cooldown functionality\n ----- Version 6 -----\n  - Align IVoterRewards and IEmissions interfaces with the new contracts\n ----- Version 7 -----\n - Proposal Execution: Count proposal deposits to x-allocation voting power\n ----- Version 8 -----\n  - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences\n ----- Version 9 -----\n  - Refactored from module inheritance to library architecture for contract size optimization\n  - Removed the following public functions to reduce contract size (accessible via libraries or storage reads):\n    - name(), initialize(), COUNTING_MODE()\n    - x2EarnApps(), emissions(), voterRewards(), veBetterPassport(), b3trGovernor(), relayerRewardsPool(), token()\n    - roundProposer(), getAndValidateVotingPower()\n  - Added freshness multiplier (XOR fingerprint) in RoundVotesCountingUtils via FreshnessUtils library\n  - New storage in RoundVotesCountingStorage: _lastVoteFingerprint, _lastFingerprintChangedRound, userVotedForApp\n  - New storage in ExternalContractsStorage: _navigatorRegistry (INavigatorRegistry)\n  - New function: castNavigatorVote(citizen, roundId) — votes on behalf of navigator-delegated citizens\n    - Voting power = delegated amount at round snapshot (checkpointed in NavigatorRegistry)\n    - Uses navigator's allocation percentages (basis points, sum to 10000) converted to absolute weights\n    - Registers RelayerAction.VOTE for the caller\n  - New function: disableAutoVotingFor(user) — privileged, callable only by NavigatorRegistry\n  - New events: NavigatorVoteCast, FreshnessMultiplierApplied\n  - New errors: NotDelegatedToNavigator, NavigatorPreferencesNotSet\n  - New initializer: initializeV9(INavigatorRegistry, uint256 citizenSkipWindowBlocks) — reinitializer(8)\n  - setNavigatorRegistry() setter via ExternalContractsUtils\n  - citizenSkipWindowBlocks moved from constant to storage (VotingSettingsStorage), configurable per env\n  - setCitizenSkipWindowBlocks(uint256) governance-gated setter\n  - VotesUtils.getVotes() returns delegated amount when citizen has active navigator at snapshot\n  - Deprecated: getTotalVotingPower() is replaced by getVotes()\n ----- Version 10 -----\n  - Added _relayerVoteProcessed guard to prevent double-processing of relayer-mediated votes\n  - Both castVoteOnBehalfOf and castNavigatorVote now revert with VoteAlreadyProcessed on retry"},"fullyImplemented":true,"id":79243,"linearizedBaseContracts":[79243,1914,4566,362,71124,4332,4552,5961,4415,3987,1732],"name":"XAllocationVoting","nameLocation":"6897:17:137","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":76918,"nodeType":"StructuredDocumentation","src":"7058:70:137","text":"@notice Role identifier for the address that can start a new round"},"functionSelector":"cd669a72","id":76923,"mutability":"constant","name":"ROUND_STARTER_ROLE","nameLocation":"7155:18:137","nodeType":"VariableDeclaration","scope":79243,"src":"7131:76:137","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7131:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"524f554e445f535441525445525f524f4c45","id":76921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7186:20:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b","typeString":"literal_string \"ROUND_STARTER_ROLE\""},"value":"ROUND_STARTER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b","typeString":"literal_string \"ROUND_STARTER_ROLE\""}],"id":76920,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7176:9:137","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":76922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7176:31:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":76924,"nodeType":"StructuredDocumentation","src":"7211:73:137","text":"@notice Role identifier for the address that can upgrade the contract"},"functionSelector":"f72c0d8b","id":76929,"mutability":"constant","name":"UPGRADER_ROLE","nameLocation":"7311:13:137","nodeType":"VariableDeclaration","scope":79243,"src":"7287:66:137","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7287:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"55504752414445525f524f4c45","id":76927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7337:15:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""},"value":"UPGRADER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3","typeString":"literal_string \"UPGRADER_ROLE\""}],"id":76926,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7327:9:137","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":76928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7327:26:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":76930,"nodeType":"StructuredDocumentation","src":"7357:53:137","text":"@notice Role identifier for governance operations"},"functionSelector":"f36c8f5c","id":76935,"mutability":"constant","name":"GOVERNANCE_ROLE","nameLocation":"7437:15:137","nodeType":"VariableDeclaration","scope":79243,"src":"7413:70:137","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7413:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"474f5645524e414e43455f524f4c45","id":76933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7465:17:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""},"value":"GOVERNANCE_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1","typeString":"literal_string \"GOVERNANCE_ROLE\""}],"id":76932,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7455:9:137","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":76934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7455:28:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":76936,"nodeType":"StructuredDocumentation","src":"7487:99:137","text":"@notice The role that can set the addresses of the contracts used by the VoterRewards contract."},"functionSelector":"952f2133","id":76941,"mutability":"constant","name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nameLocation":"7613:30:137","nodeType":"VariableDeclaration","scope":79243,"src":"7589:100:137","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7589:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e5452414354535f414444524553535f4d414e414745525f524f4c45","id":76939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7656:32:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""},"value":"CONTRACTS_ADDRESS_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7","typeString":"literal_string \"CONTRACTS_ADDRESS_MANAGER_ROLE\""}],"id":76938,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7646:9:137","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":76940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7646:43:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":76942,"nodeType":"StructuredDocumentation","src":"7693:214:137","text":"@dev Bitmask with every valid `RoundState` bit set: bit `i` is 1 for enum value `i` (same layout as\n      `_encodeStateBitmap`). `2 ** (max + 1) - 1` sets bits `0` through `type(RoundState).max` inclusive."},"id":76962,"mutability":"constant","name":"ALL_ROUND_STATES_BITMAP","nameLocation":"7935:23:137","nodeType":"VariableDeclaration","scope":79243,"src":"7910:104:137","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7910:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":76946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7970:1:137","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":76955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"arguments":[{"id":76950,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"7987:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}],"id":76949,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7982:4:137","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":76951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7982:16:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_enum$_RoundState_$70612","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":76952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7999:3:137","memberName":"max","nodeType":"MemberAccess","src":"7982:20:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":76948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7976:5:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":76947,"name":"uint8","nodeType":"ElementaryTypeName","src":"7976:5:137","typeDescriptions":{}}},"id":76953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7976:27:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":76954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8006:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7976:31:137","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":76956,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7975:33:137","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7970:38:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76958,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7969:40:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":76959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8012:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7969:44:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7961:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":76944,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7961:7:137","typeDescriptions":{}}},"id":76961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7961:53:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"body":{"id":76969,"nodeType":"Block","src":"8083:33:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":76966,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"8089:20:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":76967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8089:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76968,"nodeType":"ExpressionStatement","src":"8089:22:137"}]},"documentation":{"id":76963,"nodeType":"StructuredDocumentation","src":"8018:48:137","text":"@custom:oz-upgrades-unsafe-allow constructor"},"id":76970,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":76964,"nodeType":"ParameterList","parameters":[],"src":"8080:2:137"},"returnParameters":{"id":76965,"nodeType":"ParameterList","parameters":[],"src":"8083:0:137"},"scope":79243,"src":"8069:47:137","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":77010,"nodeType":"Block","src":"8360:257:137","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":76988,"name":"_navigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76974,"src":"8382:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":76987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8374:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76986,"name":"address","nodeType":"ElementaryTypeName","src":"8374:7:137","typeDescriptions":{}}},"id":76989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8374:27:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":76992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8413:1:137","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":76991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8405:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76990,"name":"address","nodeType":"ElementaryTypeName","src":"8405:7:137","typeDescriptions":{}}},"id":76993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8405:10:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8374:41:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c6964206e6176696761746f72207265676973747279","id":76995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8417:47:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6","typeString":"literal_string \"XAllocationVoting: invalid navigator registry\""},"value":"XAllocationVoting: invalid navigator registry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6","typeString":"literal_string \"XAllocationVoting: invalid navigator registry\""}],"id":76985,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8366:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":76996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8366:99:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76997,"nodeType":"ExpressionStatement","src":"8366:99:137"},{"expression":{"arguments":[{"id":77001,"name":"_navigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76974,"src":"8515:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"expression":{"id":76998,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"8471:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":77000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8494:20:137","memberName":"setNavigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":80337,"src":"8471:43:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_INavigatorRegistry_$66638_$returns$__$","typeString":"function (contract INavigatorRegistry)"}},"id":77002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8471:63:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77003,"nodeType":"ExpressionStatement","src":"8471:63:137"},{"expression":{"arguments":[{"id":77007,"name":"_citizenSkipWindowBlocks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76976,"src":"8587:24:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77004,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"8540:19:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":77006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8560:26:137","memberName":"setCitizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82800,"src":"8540:46:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8540:72:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77009,"nodeType":"ExpressionStatement","src":"8540:72:137"}]},"documentation":{"id":76971,"nodeType":"StructuredDocumentation","src":"8120:80:137","text":"@notice Initialize V9: set NavigatorRegistry address and citizen skip window"},"functionSelector":"aa863286","id":77011,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":76979,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76929,"src":"8328:13:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":76980,"kind":"modifierInvocation","modifierName":{"id":76978,"name":"onlyRole","nameLocations":["8319:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8319:8:137"},"nodeType":"ModifierInvocation","src":"8319:23:137"},{"arguments":[{"hexValue":"38","id":76982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8357:1:137","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"}],"id":76983,"kind":"modifierInvocation","modifierName":{"id":76981,"name":"reinitializer","nameLocations":["8343:13:137"],"nodeType":"IdentifierPath","referencedDeclaration":1633,"src":"8343:13:137"},"nodeType":"ModifierInvocation","src":"8343:16:137"}],"name":"initializeV9","nameLocation":"8212:12:137","nodeType":"FunctionDefinition","parameters":{"id":76977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76974,"mutability":"mutable","name":"_navigatorRegistry","nameLocation":"8249:18:137","nodeType":"VariableDeclaration","scope":77011,"src":"8230:37:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":76973,"nodeType":"UserDefinedTypeName","pathNode":{"id":76972,"name":"INavigatorRegistry","nameLocations":["8230:18:137"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"8230:18:137"},"referencedDeclaration":66638,"src":"8230:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"},{"constant":false,"id":76976,"mutability":"mutable","name":"_citizenSkipWindowBlocks","nameLocation":"8281:24:137","nodeType":"VariableDeclaration","scope":77011,"src":"8273:32:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76975,"name":"uint256","nodeType":"ElementaryTypeName","src":"8273:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8224:85:137"},"returnParameters":{"id":76984,"nodeType":"ParameterList","parameters":[],"src":"8360:0:137"},"scope":79243,"src":"8203:414:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1868],"body":{"id":77020,"nodeType":"Block","src":"8791:2:137","statements":[]},"id":77021,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":77017,"name":"UPGRADER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76929,"src":"8776:13:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":77018,"kind":"modifierInvocation","modifierName":{"id":77016,"name":"onlyRole","nameLocations":["8767:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"8767:8:137"},"nodeType":"ModifierInvocation","src":"8767:23:137"}],"name":"_authorizeUpgrade","nameLocation":"8704:17:137","nodeType":"FunctionDefinition","overrides":{"id":77015,"nodeType":"OverrideSpecifier","overrides":[],"src":"8758:8:137"},"parameters":{"id":77014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77013,"mutability":"mutable","name":"newImplementation","nameLocation":"8730:17:137","nodeType":"VariableDeclaration","scope":77021,"src":"8722:25:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77012,"name":"address","nodeType":"ElementaryTypeName","src":"8722:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8721:27:137"},"returnParameters":{"id":77019,"nodeType":"ParameterList","parameters":[],"src":"8791:0:137"},"scope":79243,"src":"8695:98:137","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[70954],"body":{"id":77235,"nodeType":"Block","src":"9172:2406:137","statements":[{"assignments":[77031],"declarations":[{"constant":false,"id":77031,"mutability":"mutable","name":"proposer","nameLocation":"9186:8:137","nodeType":"VariableDeclaration","scope":77235,"src":"9178:16:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77030,"name":"address","nodeType":"ElementaryTypeName","src":"9178:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77034,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":77032,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"9197:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9197:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9178:31:137"},{"assignments":[77036],"declarations":[{"constant":false,"id":77036,"mutability":"mutable","name":"currentRound","nameLocation":"9387:12:137","nodeType":"VariableDeclaration","scope":77235,"src":"9379:20:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77035,"name":"uint256","nodeType":"ElementaryTypeName","src":"9379:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77040,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77037,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"9402:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":77038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9421:14:137","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":81812,"src":"9402:33:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":77039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9402:35:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9379:58:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77041,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77036,"src":"9447:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9462:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9447:16:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77053,"nodeType":"IfStatement","src":"9443:136:137","trueBody":{"id":77052,"nodeType":"Block","src":"9465:114:137","statements":[{"expression":{"arguments":[{"id":77048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9481:23:137","subExpression":{"arguments":[{"id":77046,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77036,"src":"9491:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77045,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78462,"src":"9482:8:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":77047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9482:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a2074686572652063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65","id":77049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9506:65:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5","typeString":"literal_string \"XAllocationVotingGovernor: there can be only one round per time\""},"value":"XAllocationVotingGovernor: there can be only one round per time"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5","typeString":"literal_string \"XAllocationVotingGovernor: there can be only one round per time\""}],"id":77044,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9473:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9473:99:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77051,"nodeType":"ExpressionStatement","src":"9473:99:137"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77054,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77036,"src":"9635:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9650:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9635:16:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":77061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9655:49:137","subExpression":{"arguments":[{"id":77059,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77036,"src":"9691:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77057,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"9656:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":77058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9679:11:137","memberName":"isFinalized","nodeType":"MemberAccess","referencedDeclaration":80897,"src":"9656:34:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":77060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9656:48:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9635:69:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77079,"nodeType":"IfStatement","src":"9631:192:137","trueBody":{"id":77078,"nodeType":"Block","src":"9706:117:137","statements":[{"expression":{"arguments":[{"id":77066,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77036,"src":"9751:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":77070,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77036,"src":"9777:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77069,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78526,"src":"9771:5:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":77071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9771:19:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":77068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9765:5:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":77067,"name":"uint8","nodeType":"ElementaryTypeName","src":"9765:5:137","typeDescriptions":{}}},"id":77072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9765:26:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"id":77074,"name":"currentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77036,"src":"9802:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77073,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78462,"src":"9793:8:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":77075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9793:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":77063,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"9714:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":77065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9737:13:137","memberName":"finalizeRound","nodeType":"MemberAccess","referencedDeclaration":80851,"src":"9714:36:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_uint8_$_t_bool_$returns$__$","typeString":"function (uint256,uint8,bool)"}},"id":77076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9714:102:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77077,"nodeType":"ExpressionStatement","src":"9714:102:137"}]}},{"assignments":[77084],"declarations":[{"constant":false,"id":77084,"mutability":"mutable","name":"eligibleApps","nameLocation":"9871:12:137","nodeType":"VariableDeclaration","scope":77235,"src":"9854:29:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":77082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9854:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77083,"nodeType":"ArrayTypeName","src":"9854:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":77091,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77085,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"9886:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9923:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"9886:65:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9886:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9961:11:137","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"9886:86:137","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":77089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9980:15:137","memberName":"allEligibleApps","nodeType":"MemberAccess","referencedDeclaration":69691,"src":"9886:109:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function () view external returns (bytes32[] memory)"}},"id":77090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9886:111:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9854:143:137"},{"assignments":[77093],"declarations":[{"constant":false,"id":77093,"mutability":"mutable","name":"currentClock","nameLocation":"10035:12:137","nodeType":"VariableDeclaration","scope":77235,"src":"10028:19:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":77092,"name":"uint48","nodeType":"ElementaryTypeName","src":"10028:6:137","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":77097,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77094,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"10050:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":77095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10061:5:137","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"10050:16:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":77096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10050:18:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"10028:40:137"},{"assignments":[77099],"declarations":[{"constant":false,"id":77099,"mutability":"mutable","name":"currentVotingPeriod","nameLocation":"10081:19:137","nodeType":"VariableDeclaration","scope":77235,"src":"10074:26:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":77098,"name":"uint32","nodeType":"ElementaryTypeName","src":"10074:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":77106,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77102,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"10110:19:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":77103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10130:12:137","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":82705,"src":"10110:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":77104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10110:34:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10103:6:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":77100,"name":"uint32","nodeType":"ElementaryTypeName","src":"10103:6:137","typeDescriptions":{}}},"id":77105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10103:42:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"10074:71:137"},{"assignments":[77108],"declarations":[{"constant":false,"id":77108,"mutability":"mutable","name":"newRoundId","nameLocation":"10159:10:137","nodeType":"VariableDeclaration","scope":77235,"src":"10151:18:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77107,"name":"uint256","nodeType":"ElementaryTypeName","src":"10151:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77116,"initialValue":{"arguments":[{"id":77111,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77031,"src":"10203:8:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77112,"name":"currentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77093,"src":"10213:12:137","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":77113,"name":"currentVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77099,"src":"10227:19:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":77114,"name":"eligibleApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77084,"src":"10248:12:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":77109,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"10172:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":77110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10191:11:137","memberName":"createRound","nodeType":"MemberAccess","referencedDeclaration":81793,"src":"10172:30:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_uint48_$_t_uint32_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint48,uint32,bytes32[] memory) returns (uint256)"}},"id":77115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10172:89:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10151:110:137"},{"expression":{"arguments":[{"id":77120,"name":"newRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77108,"src":"10368:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77117,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"10316:26:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":77119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10343:24:137","memberName":"snapshotRoundEarningsCap","nodeType":"MemberAccess","referencedDeclaration":80750,"src":"10316:51:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10316:63:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77122,"nodeType":"ExpressionStatement","src":"10316:63:137"},{"assignments":[77124],"declarations":[{"constant":false,"id":77124,"mutability":"mutable","name":"totalAutoVotingUsers","nameLocation":"10465:20:137","nodeType":"VariableDeclaration","scope":77235,"src":"10457:28:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":77123,"name":"uint208","nodeType":"ElementaryTypeName","src":"10457:7:137","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":77129,"initialValue":{"arguments":[{"id":77127,"name":"currentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77093,"src":"10539:12:137","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":77125,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"10488:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":77126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10504:34:137","memberName":"getTotalAutoVotingUsersAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79658,"src":"10488:50:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view returns (uint208)"}},"id":77128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10488:64:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"10457:95:137"},{"assignments":[77132],"declarations":[{"constant":false,"id":77132,"mutability":"mutable","name":"navRegistry","nameLocation":"10577:11:137","nodeType":"VariableDeclaration","scope":77235,"src":"10558:30:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":77131,"nodeType":"UserDefinedTypeName","pathNode":{"id":77130,"name":"INavigatorRegistry","nameLocations":["10558:18:137"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"10558:18:137"},"referencedDeclaration":66638,"src":"10558:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":77137,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77133,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"10591:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10621:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"10591:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10591:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10652:18:137","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"10591:79:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"10558:112:137"},{"assignments":[77139],"declarations":[{"constant":false,"id":77139,"mutability":"mutable","name":"totalDelegatedCitizens","nameLocation":"10684:22:137","nodeType":"VariableDeclaration","scope":77235,"src":"10676:30:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":77138,"name":"uint208","nodeType":"ElementaryTypeName","src":"10676:7:137","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":77155,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":77142,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77132,"src":"10717:11:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":77141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10709:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77140,"name":"address","nodeType":"ElementaryTypeName","src":"10709:7:137","typeDescriptions":{}}},"id":77143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10709:20:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":77146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10741:1:137","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":77145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10733:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77144,"name":"address","nodeType":"ElementaryTypeName","src":"10733:7:137","typeDescriptions":{}}},"id":77147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10733:10:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10709:34:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":77152,"name":"currentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77093,"src":"10811:12:137","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":77150,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77132,"src":"10762:11:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":77151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10774:36:137","memberName":"getTotalDelegatedCitizensAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66391,"src":"10762:48:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view external returns (uint208)"}},"id":77153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10762:62:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":77154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10709:115:137","trueExpression":{"hexValue":"30","id":77149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10752:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"10676:148:137"},{"assignments":[77157],"declarations":[{"constant":false,"id":77157,"mutability":"mutable","name":"allocationUsers","nameLocation":"10838:15:137","nodeType":"VariableDeclaration","scope":77235,"src":"10830:23:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77156,"name":"uint256","nodeType":"ElementaryTypeName","src":"10830:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77167,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":77160,"name":"totalAutoVotingUsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77124,"src":"10864:20:137","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":77159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10856:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":77158,"name":"uint256","nodeType":"ElementaryTypeName","src":"10856:7:137","typeDescriptions":{}}},"id":77161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10856:29:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":77164,"name":"totalDelegatedCitizens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77139,"src":"10896:22:137","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":77163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10888:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":77162,"name":"uint256","nodeType":"ElementaryTypeName","src":"10888:7:137","typeDescriptions":{}}},"id":77165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10888:31:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10856:63:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10830:89:137"},{"assignments":[77172],"declarations":[{"constant":false,"id":77172,"mutability":"mutable","name":"activeProposals","nameLocation":"10943:15:137","nodeType":"VariableDeclaration","scope":77235,"src":"10926:32:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":77170,"name":"uint256","nodeType":"ElementaryTypeName","src":"10926:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77171,"nodeType":"ArrayTypeName","src":"10926:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":77173,"nodeType":"VariableDeclarationStatement","src":"10926:32:137"},{"assignments":[77176],"declarations":[{"constant":false,"id":77176,"mutability":"mutable","name":"governor","nameLocation":"10978:8:137","nodeType":"VariableDeclaration","scope":77235,"src":"10964:22:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":77175,"nodeType":"UserDefinedTypeName","pathNode":{"id":77174,"name":"IB3TRGovernor","nameLocations":["10964:13:137"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"10964:13:137"},"referencedDeclaration":63919,"src":"10964:13:137","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"id":77181,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77177,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"10989:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11019:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"10989:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10989:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11050:13:137","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":82997,"src":"10989:74:137","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"VariableDeclarationStatement","src":"10964:99:137"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":77184,"name":"governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77176,"src":"11081:8:137","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":77183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11073:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77182,"name":"address","nodeType":"ElementaryTypeName","src":"11073:7:137","typeDescriptions":{}}},"id":77185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11073:17:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":77188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11102:1:137","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":77187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11094:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77186,"name":"address","nodeType":"ElementaryTypeName","src":"11094:7:137","typeDescriptions":{}}},"id":77189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11094:10:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11073:31:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":77193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77191,"name":"totalDelegatedCitizens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77139,"src":"11108:22:137","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11133:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11108:26:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11073:61:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77202,"nodeType":"IfStatement","src":"11069:129:137","trueBody":{"id":77201,"nodeType":"Block","src":"11136:62:137","statements":[{"expression":{"id":77199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77195,"name":"activeProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77172,"src":"11144:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77196,"name":"governor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77176,"src":"11162:8:137","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":77197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11171:18:137","memberName":"getActiveProposals","nodeType":"MemberAccess","referencedDeclaration":63761,"src":"11162:27:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function () view external returns (uint256[] memory)"}},"id":77198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11162:29:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"11144:47:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77200,"nodeType":"ExpressionStatement","src":"11144:47:137"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77203,"name":"allocationUsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77157,"src":"11208:15:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11226:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11208:19:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77206,"name":"activeProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77172,"src":"11231:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11247:6:137","memberName":"length","nodeType":"MemberAccess","src":"11231:22:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11256:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11231:26:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11208:49:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77232,"nodeType":"IfStatement","src":"11204:346:137","trueBody":{"id":77231,"nodeType":"Block","src":"11259:291:137","statements":[{"assignments":[77213],"declarations":[{"constant":false,"id":77213,"mutability":"mutable","name":"pool","nameLocation":"11287:4:137","nodeType":"VariableDeclaration","scope":77231,"src":"11267:24:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":77212,"nodeType":"UserDefinedTypeName","pathNode":{"id":77211,"name":"IRelayerRewardsPool","nameLocations":["11267:19:137"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"11267:19:137"},"referencedDeclaration":67117,"src":"11267:19:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"id":77218,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77214,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"11294:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11324:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"11294:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11294:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11355:19:137","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"11294:80:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"nodeType":"VariableDeclarationStatement","src":"11267:107:137"},{"expression":{"arguments":[{"id":77222,"name":"newRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77108,"src":"11434:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77223,"name":"allocationUsers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77157,"src":"11454:15:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":77226,"name":"totalDelegatedCitizens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77139,"src":"11487:22:137","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint208","typeString":"uint208"}],"id":77225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11479:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":77224,"name":"uint256","nodeType":"ElementaryTypeName","src":"11479:7:137","typeDescriptions":{}}},"id":77227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11479:31:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77228,"name":"activeProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77172,"src":"11520:15:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":77219,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77213,"src":"11382:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":77221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11387:37:137","memberName":"setTotalActionsForRoundWithGovernance","nodeType":"MemberAccess","referencedDeclaration":67029,"src":"11382:42:137","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256[] memory) external"}},"id":77229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11382:161:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77230,"nodeType":"ExpressionStatement","src":"11382:161:137"}]}},{"expression":{"id":77233,"name":"newRoundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77108,"src":"11563:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77029,"id":77234,"nodeType":"Return","src":"11556:17:137"}]},"documentation":{"id":77022,"nodeType":"StructuredDocumentation","src":"8874:216:137","text":" @dev Starts a new round of voting to allocate funds to x-2-earn applications.\n Orchestrates: finalize previous round → create new round → snapshot earnings → setup auto-voting relayer actions"},"functionSelector":"bd85948c","id":77236,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":77025,"name":"ROUND_STARTER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76923,"src":"9134:18:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":77026,"kind":"modifierInvocation","modifierName":{"id":77024,"name":"onlyRole","nameLocations":["9125:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"9125:8:137"},"nodeType":"ModifierInvocation","src":"9125:28:137"}],"name":"startNewRound","nameLocation":"9102:13:137","nodeType":"FunctionDefinition","parameters":{"id":77023,"nodeType":"ParameterList","parameters":[],"src":"9115:2:137"},"returnParameters":{"id":77029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77028,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77236,"src":"9163:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77027,"name":"uint256","nodeType":"ElementaryTypeName","src":"9163:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9162:9:137"},"scope":79243,"src":"9093:2485:137","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[70966],"body":{"id":77335,"nodeType":"Block","src":"11878:966:137","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77249,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77242,"src":"11892:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":77250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11899:6:137","memberName":"length","nodeType":"MemberAccess","src":"11892:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":77251,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77245,"src":"11909:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11921:6:137","memberName":"length","nodeType":"MemberAccess","src":"11909:18:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11892:35:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206170707320616e642077656967687473206c656e677468206d69736d61746368","id":77254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11929:61:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11","typeString":"literal_string \"XAllocationVotingGovernor: apps and weights length mismatch\""},"value":"XAllocationVotingGovernor: apps and weights length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11","typeString":"literal_string \"XAllocationVotingGovernor: apps and weights length mismatch\""}],"id":77248,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11884:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11884:107:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77256,"nodeType":"ExpressionStatement","src":"11884:107:137"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77258,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77242,"src":"12005:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":77259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12012:6:137","memberName":"length","nodeType":"MemberAccess","src":"12005:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12021:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12005:17:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f206170707320746f20766f746520666f72","id":77262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12024:48:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645","typeString":"literal_string \"XAllocationVotingGovernor: no apps to vote for\""},"value":"XAllocationVotingGovernor: no apps to vote for"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645","typeString":"literal_string \"XAllocationVotingGovernor: no apps to vote for\""}],"id":77257,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11997:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11997:76:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77264,"nodeType":"ExpressionStatement","src":"11997:76:137"},{"condition":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77267,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12124:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12124:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77271,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"12156:20:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":77272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12156:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77269,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"12138:8:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":77270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12147:8:137","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"12138:17:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":77273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12138:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":77265,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12084:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}},"id":77266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12089:34:137","memberName":"isUserAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79132,"src":"12084:39:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view external returns (bool)"}},"id":77274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12084:96:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77281,"nodeType":"IfStatement","src":"12080:155:137","trueBody":{"id":77280,"nodeType":"Block","src":"12182:53:137","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77276,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12215:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12215:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77275,"name":"AutoVotingEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70682,"src":"12197:17:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12197:31:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77279,"nodeType":"RevertStatement","src":"12190:38:137"}]}},{"assignments":[77284],"declarations":[{"constant":false,"id":77284,"mutability":"mutable","name":"navigatorRegistryContract","nameLocation":"12351:25:137","nodeType":"VariableDeclaration","scope":77335,"src":"12332:44:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":77283,"nodeType":"UserDefinedTypeName","pathNode":{"id":77282,"name":"INavigatorRegistry","nameLocations":["12332:18:137"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"12332:18:137"},"referencedDeclaration":66638,"src":"12332:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":77289,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77285,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"12379:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12416:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"12379:65:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12454:18:137","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"12379:93:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"12332:140:137"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":77292,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77284,"src":"12490:25:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":77291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12482:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77290,"name":"address","nodeType":"ElementaryTypeName","src":"12482:7:137","typeDescriptions":{}}},"id":77293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12482:34:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":77296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12528:1:137","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":77295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12520:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77294,"name":"address","nodeType":"ElementaryTypeName","src":"12520:7:137","typeDescriptions":{}}},"id":77297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12520:10:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12482:48:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77320,"nodeType":"IfStatement","src":"12478:235:137","trueBody":{"id":77319,"nodeType":"Block","src":"12532:181:137","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77301,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12594:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12594:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77304,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77239,"src":"12622:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77303,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78714,"src":"12608:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":77305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12608:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77299,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77284,"src":"12544:25:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":77300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12570:23:137","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"12544:49:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":77306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12544:87:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":77309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12643:1:137","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":77308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12635:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77307,"name":"address","nodeType":"ElementaryTypeName","src":"12635:7:137","typeDescriptions":{}}},"id":77310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12635:10:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12544:101:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77318,"nodeType":"IfStatement","src":"12540:167:137","trueBody":{"id":77317,"nodeType":"Block","src":"12647:60:137","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77313,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12685:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12685:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77312,"name":"DelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70702,"src":"12664:20:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12664:34:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77316,"nodeType":"RevertStatement","src":"12657:41:137"}]}}]}},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77322,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12753:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12753:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77321,"name":"validatePersonhoodForCurrentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"12719:33:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":77324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12719:47:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77325,"nodeType":"ExpressionStatement","src":"12719:47:137"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77327,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"12789:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12789:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77329,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77239,"src":"12803:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77330,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77242,"src":"12812:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":77331,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77245,"src":"12820:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"66616c7365","id":77332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12833:5:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":77326,"name":"_handleCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77830,"src":"12773:15:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,bool)"}},"id":77333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12773:66:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77334,"nodeType":"ExpressionStatement","src":"12773:66:137"}]},"documentation":{"id":77237,"nodeType":"StructuredDocumentation","src":"11582:188:137","text":" @dev Cast a vote for a set of x-2-earn applications.\n @notice Only addresses with a valid passport can vote.\n @notice Reverts if autovoting is enabled for the voter."},"functionSelector":"53ed6399","id":77336,"implemented":true,"kind":"function","modifiers":[],"name":"castVote","nameLocation":"11782:8:137","nodeType":"FunctionDefinition","parameters":{"id":77246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77239,"mutability":"mutable","name":"roundId","nameLocation":"11799:7:137","nodeType":"VariableDeclaration","scope":77336,"src":"11791:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77238,"name":"uint256","nodeType":"ElementaryTypeName","src":"11791:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77242,"mutability":"mutable","name":"appIds","nameLocation":"11825:6:137","nodeType":"VariableDeclaration","scope":77336,"src":"11808:23:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":77240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11808:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77241,"nodeType":"ArrayTypeName","src":"11808:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":77245,"mutability":"mutable","name":"voteWeights","nameLocation":"11850:11:137","nodeType":"VariableDeclaration","scope":77336,"src":"11833:28:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":77243,"name":"uint256","nodeType":"ElementaryTypeName","src":"11833:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77244,"nodeType":"ArrayTypeName","src":"11833:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"11790:72:137"},"returnParameters":{"id":77247,"nodeType":"ParameterList","parameters":[],"src":"11878:0:137"},"scope":79243,"src":"11773:1071:137","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":77494,"nodeType":"Block","src":"13096:1692:137","statements":[{"condition":{"id":77354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13106:90:137","subExpression":{"arguments":[{"id":77346,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"13147:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":77350,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"13186:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77349,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78714,"src":"13172:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":77351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13172:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77347,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"13154:8:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":77348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13163:8:137","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"13154:17:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":77352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13154:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":77344,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13107:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}},"id":77345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13112:34:137","memberName":"isUserAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79132,"src":"13107:39:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view external returns (bool)"}},"id":77353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13107:89:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77360,"nodeType":"IfStatement","src":"13102:145:137","trueBody":{"id":77359,"nodeType":"Block","src":"13198:49:137","statements":[{"errorCall":{"arguments":[{"id":77356,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"13234:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77355,"name":"AutoVotingNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70677,"src":"13213:20:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13213:27:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77358,"nodeType":"RevertStatement","src":"13206:34:137"}]}},{"condition":{"arguments":[{"id":77363,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"13304:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77364,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"13313:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77361,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"13257:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":77362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13281:22:137","memberName":"isRelayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":81650,"src":"13257:46:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":77365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13257:62:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77372,"nodeType":"IfStatement","src":"13253:126:137","trueBody":{"id":77371,"nodeType":"Block","src":"13321:58:137","statements":[{"errorCall":{"arguments":[{"id":77367,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"13357:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77368,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"13364:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77366,"name":"VoteAlreadyProcessed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70726,"src":"13336:20:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":77369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13336:36:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77370,"nodeType":"RevertStatement","src":"13329:43:137"}]}},{"expression":{"arguments":[{"id":77374,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"13414:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77375,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"13423:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77373,"name":"_checkEarlyAccessEligibility","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78158,"src":"13385:28:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) view"}},"id":77376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13385:44:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77377,"nodeType":"ExpressionStatement","src":"13385:44:137"},{"assignments":[77379,null],"declarations":[{"constant":false,"id":77379,"mutability":"mutable","name":"isPerson","nameLocation":"13442:8:137","nodeType":"VariableDeclaration","scope":77494,"src":"13437:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77378,"name":"bool","nodeType":"ElementaryTypeName","src":"13437:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":77392,"initialValue":{"arguments":[{"id":77385,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"13576:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77388,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"13601:20:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":77389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13601:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77386,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"13583:8:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":77387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13592:8:137","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"13583:17:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":77390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13583:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77380,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"13456:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13493:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"13456:65:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13456:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13531:17:137","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":82994,"src":"13456:92:137","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":77384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13556:19:137","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"13456:119:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":77391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13456:169:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"13436:189:137"},{"assignments":[77397],"declarations":[{"constant":false,"id":77397,"mutability":"mutable","name":"appIds","nameLocation":"13649:6:137","nodeType":"VariableDeclaration","scope":77494,"src":"13632:23:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":77395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13632:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77396,"nodeType":"ArrayTypeName","src":"13632:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":77402,"initialValue":{"arguments":[{"id":77400,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"13699:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77398,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"13658:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":77399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13674:24:137","memberName":"getUserVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":79634,"src":"13658:40:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) view returns (bytes32[] memory)"}},"id":77401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13658:47:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13632:73:137"},{"assignments":[77407,77410,77412],"declarations":[{"constant":false,"id":77407,"mutability":"mutable","name":"finalAppIds","nameLocation":"13730:11:137","nodeType":"VariableDeclaration","scope":77494,"src":"13713:28:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":77405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13713:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77406,"nodeType":"ArrayTypeName","src":"13713:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":77410,"mutability":"mutable","name":"voteWeightsArr","nameLocation":"13760:14:137","nodeType":"VariableDeclaration","scope":77494,"src":"13743:31:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":77408,"name":"uint256","nodeType":"ElementaryTypeName","src":"13743:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77409,"nodeType":"ArrayTypeName","src":"13743:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":77412,"mutability":"mutable","name":"votingPower","nameLocation":"13784:11:137","nodeType":"VariableDeclaration","scope":77494,"src":"13776:19:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77411,"name":"uint256","nodeType":"ElementaryTypeName","src":"13776:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77423,"initialValue":{"arguments":[{"arguments":[{"id":77417,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13852:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}],"id":77416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13844:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77415,"name":"address","nodeType":"ElementaryTypeName","src":"13844:7:137","typeDescriptions":{}}},"id":77418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13844:13:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77419,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"13859:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77420,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"13866:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77421,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77397,"src":"13875:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":77413,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"13799:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":77414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13822:21:137","memberName":"prepareAutoVoteArrays","nodeType":"MemberAccess","referencedDeclaration":79880,"src":"13799:44:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"function (address,address,uint256,bytes32[] memory) view returns (bytes32[] memory,uint256[] memory,uint256)"}},"id":77422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13799:83:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13712:170:137"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14039:9:137","subExpression":{"id":77424,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77379,"src":"14040:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77426,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77407,"src":"14052:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":77427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14064:6:137","memberName":"length","nodeType":"MemberAccess","src":"14052:18:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14074:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14052:23:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14039:36:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77478,"nodeType":"IfStatement","src":"14035:606:137","trueBody":{"id":77477,"nodeType":"Block","src":"14077:564:137","statements":[{"condition":{"arguments":[{"id":77433,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"14199:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77431,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"14163:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":77432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14179:19:137","memberName":"isAutoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":79580,"src":"14163:35:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":77434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14163:42:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77459,"nodeType":"IfStatement","src":"14159:303:137","trueBody":{"id":77458,"nodeType":"Block","src":"14207:255:137","statements":[{"expression":{"arguments":[{"arguments":[{"id":77440,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14258:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}],"id":77439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14250:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77438,"name":"address","nodeType":"ElementaryTypeName","src":"14250:7:137","typeDescriptions":{}}},"id":77441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14250:13:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77442,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"14265:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77443,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"14272:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":77444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14283:5:137","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"14272:16:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":77445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14272:18:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":77435,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"14217:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":77437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14233:16:137","memberName":"toggleAutoVoting","nodeType":"MemberAccess","referencedDeclaration":79418,"src":"14217:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_address_$_t_uint48_$returns$__$","typeString":"function (address,address,uint48)"}},"id":77446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14217:74:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77447,"nodeType":"ExpressionStatement","src":"14217:74:137"},{"expression":{"arguments":[{"id":77454,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"14423:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":77455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14442:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77448,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"14301:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14331:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"14301:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14301:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14362:19:137","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"14301:80:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":77453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14382:29:137","memberName":"reduceExpectedActionsForRound","nodeType":"MemberAccess","referencedDeclaration":67049,"src":"14301:110:137","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":77456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14301:152:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77457,"nodeType":"ExpressionStatement","src":"14301:152:137"}]}},{"expression":{"arguments":[{"id":77463,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"14518:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77464,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"14527:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77460,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"14469:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":77462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14493:24:137","memberName":"markRelayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":81678,"src":"14469:48:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":77465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14469:64:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77466,"nodeType":"ExpressionStatement","src":"14469:64:137"},{"eventCall":{"arguments":[{"id":77468,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"14562:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77469,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"14569:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77470,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77379,"src":"14578:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":77471,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77407,"src":"14588:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":77472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14600:6:137","memberName":"length","nodeType":"MemberAccess","src":"14588:18:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77473,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77412,"src":"14608:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77467,"name":"AutoVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70739,"src":"14546:15:137","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,bool,uint256,uint256)"}},"id":77474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14546:74:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77475,"nodeType":"EmitStatement","src":"14541:79:137"},{"functionReturnParameters":77343,"id":77476,"nodeType":"Return","src":"14628:7:137"}]}},{"expression":{"arguments":[{"id":77482,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"14696:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77483,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"14705:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77479,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"14647:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":77481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14671:24:137","memberName":"markRelayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":81678,"src":"14647:48:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":77484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14647:64:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77485,"nodeType":"ExpressionStatement","src":"14647:64:137"},{"expression":{"arguments":[{"id":77487,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77339,"src":"14733:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77488,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77341,"src":"14740:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77489,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77407,"src":"14749:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":77490,"name":"voteWeightsArr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77410,"src":"14762:14:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"74727565","id":77491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14778:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":77486,"name":"_handleCastVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77830,"src":"14717:15:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,bool)"}},"id":77492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14717:66:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77493,"nodeType":"ExpressionStatement","src":"14717:66:137"}]},"documentation":{"id":77337,"nodeType":"StructuredDocumentation","src":"12848:178:137","text":" @dev Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\n @notice Reverts if autovoting is not enabled for the voter."},"functionSelector":"a5ae08e9","id":77495,"implemented":true,"kind":"function","modifiers":[],"name":"castVoteOnBehalfOf","nameLocation":"13038:18:137","nodeType":"FunctionDefinition","parameters":{"id":77342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77339,"mutability":"mutable","name":"voter","nameLocation":"13065:5:137","nodeType":"VariableDeclaration","scope":77495,"src":"13057:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77338,"name":"address","nodeType":"ElementaryTypeName","src":"13057:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77341,"mutability":"mutable","name":"roundId","nameLocation":"13080:7:137","nodeType":"VariableDeclaration","scope":77495,"src":"13072:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77340,"name":"uint256","nodeType":"ElementaryTypeName","src":"13072:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13056:32:137"},"returnParameters":{"id":77343,"nodeType":"ParameterList","parameters":[],"src":"13096:0:137"},"scope":79243,"src":"13029:1759:137","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":77794,"nodeType":"Block","src":"15563:3415:137","statements":[{"expression":{"arguments":[{"id":77504,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"15590:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":77506,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"15618:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":77507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15629:6:137","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":70609,"src":"15618:17:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":77505,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79218,"src":"15599:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$70612_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernor.RoundState) pure returns (bytes32)"}},"id":77508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:37:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":77503,"name":"_validateStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77991,"src":"15569:20:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256,bytes32) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":77509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15569:68:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"id":77510,"nodeType":"ExpressionStatement","src":"15569:68:137"},{"assignments":[77513],"declarations":[{"constant":false,"id":77513,"mutability":"mutable","name":"navigatorRegistryContract","nameLocation":"15663:25:137","nodeType":"VariableDeclaration","scope":77794,"src":"15644:44:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":77512,"nodeType":"UserDefinedTypeName","pathNode":{"id":77511,"name":"INavigatorRegistry","nameLocations":["15644:18:137"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"15644:18:137"},"referencedDeclaration":66638,"src":"15644:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":77518,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77514,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"15691:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15728:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"15691:65:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15691:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15766:18:137","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"15691:93:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"15644:140:137"},{"assignments":[77520],"declarations":[{"constant":false,"id":77520,"mutability":"mutable","name":"snapshot","nameLocation":"15896:8:137","nodeType":"VariableDeclaration","scope":77794,"src":"15888:16:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77519,"name":"uint256","nodeType":"ElementaryTypeName","src":"15888:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77524,"initialValue":{"arguments":[{"id":77522,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"15921:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77521,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78714,"src":"15907:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":77523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15907:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15888:41:137"},{"assignments":[77526],"declarations":[{"constant":false,"id":77526,"mutability":"mutable","name":"navigator","nameLocation":"15943:9:137","nodeType":"VariableDeclaration","scope":77794,"src":"15935:17:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77525,"name":"address","nodeType":"ElementaryTypeName","src":"15935:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77532,"initialValue":{"arguments":[{"id":77529,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"16005:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77530,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77520,"src":"16014:8:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77527,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77513,"src":"15955:25:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":77528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15981:23:137","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"15955:49:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":77531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15955:68:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15935:88:137"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77533,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77526,"src":"16033:9:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":77536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16054:1:137","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":77535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16046:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77534,"name":"address","nodeType":"ElementaryTypeName","src":"16046:7:137","typeDescriptions":{}}},"id":77537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16046:10:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16033:23:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77543,"nodeType":"IfStatement","src":"16029:68:137","trueBody":{"errorCall":{"arguments":[{"id":77540,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"16089:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77539,"name":"NotDelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70697,"src":"16065:23:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16065:32:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77542,"nodeType":"RevertStatement","src":"16058:39:137"}},{"condition":{"arguments":[{"id":77546,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"16155:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77547,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"16164:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77544,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"16108:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":77545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16132:22:137","memberName":"isRelayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":81650,"src":"16108:46:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":77548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16108:64:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77555,"nodeType":"IfStatement","src":"16104:130:137","trueBody":{"id":77554,"nodeType":"Block","src":"16174:60:137","statements":[{"errorCall":{"arguments":[{"id":77550,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"16210:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77551,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"16219:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77549,"name":"VoteAlreadyProcessed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70726,"src":"16189:20:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":77552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16189:38:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77553,"nodeType":"RevertStatement","src":"16182:45:137"}]}},{"assignments":[77558],"declarations":[{"constant":false,"id":77558,"mutability":"mutable","name":"pool","nameLocation":"16260:4:137","nodeType":"VariableDeclaration","scope":77794,"src":"16240:24:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":77557,"nodeType":"UserDefinedTypeName","pathNode":{"id":77556,"name":"IRelayerRewardsPool","nameLocations":["16240:19:137"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"16240:19:137"},"referencedDeclaration":67117,"src":"16240:19:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"id":77563,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77559,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"16267:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16297:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"16267:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16267:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16328:19:137","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"16267:80:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"nodeType":"VariableDeclarationStatement","src":"16240:107:137"},{"condition":{"arguments":[{"id":77565,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77526,"src":"16463:9:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77564,"name":"_isNavigatorDead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78202,"src":"16446:16:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":77566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16446:27:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77589,"nodeType":"IfStatement","src":"16442:245:137","trueBody":{"id":77588,"nodeType":"Block","src":"16475:212:137","statements":[{"expression":{"arguments":[{"id":77570,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"16532:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77571,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"16541:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77567,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"16483:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":77569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16507:24:137","memberName":"markRelayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":81678,"src":"16483:48:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":77572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16483:66:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77573,"nodeType":"ExpressionStatement","src":"16483:66:137"},{"expression":{"arguments":[{"id":77577,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"16587:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77578,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"16596:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77574,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77558,"src":"16557:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":77576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16562:24:137","memberName":"reduceUserAllocationVote","nodeType":"MemberAccess","referencedDeclaration":67057,"src":"16557:29:137","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":77579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16557:47:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77580,"nodeType":"ExpressionStatement","src":"16557:47:137"},{"eventCall":{"arguments":[{"id":77582,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"16638:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77583,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77526,"src":"16647:9:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77584,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"16658:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77581,"name":"NavigatorVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70818,"src":"16617:20:137","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":77585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16617:49:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77586,"nodeType":"EmitStatement","src":"16612:54:137"},{"functionReturnParameters":77502,"id":77587,"nodeType":"Return","src":"16674:7:137"}]}},{"condition":{"id":77595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16742:64:137","subExpression":{"arguments":[{"id":77592,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77526,"src":"16787:9:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77593,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"16798:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77590,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77513,"src":"16743:25:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":77591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16769:17:137","memberName":"hasSetPreferences","nodeType":"MemberAccess","referencedDeclaration":66443,"src":"16743:43:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view external returns (bool)"}},"id":77594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16743:63:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77622,"nodeType":"IfStatement","src":"16738:418:137","trueBody":{"id":77621,"nodeType":"Block","src":"16808:348:137","statements":[{"expression":{"arguments":[{"id":77597,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"16936:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77596,"name":"_validateSkipWindow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78185,"src":"16916:19:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":77598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:28:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77599,"nodeType":"ExpressionStatement","src":"16916:28:137"},{"expression":{"arguments":[{"id":77603,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"17001:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77604,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"17010:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77600,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"16952:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":77602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16976:24:137","memberName":"markRelayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":81678,"src":"16952:48:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":77605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16952:66:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77606,"nodeType":"ExpressionStatement","src":"16952:66:137"},{"expression":{"arguments":[{"id":77610,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"17056:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77611,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"17065:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77607,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77558,"src":"17026:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":77609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17031:24:137","memberName":"reduceUserAllocationVote","nodeType":"MemberAccess","referencedDeclaration":67057,"src":"17026:29:137","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":77612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17026:47:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77613,"nodeType":"ExpressionStatement","src":"17026:47:137"},{"eventCall":{"arguments":[{"id":77615,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"17107:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77616,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77526,"src":"17116:9:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77617,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"17127:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77614,"name":"NavigatorVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70818,"src":"17086:20:137","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":77618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17086:49:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77619,"nodeType":"EmitStatement","src":"17081:54:137"},{"functionReturnParameters":77502,"id":77620,"nodeType":"Return","src":"17143:7:137"}]}},{"assignments":[77624,null],"declarations":[{"constant":false,"id":77624,"mutability":"mutable","name":"isPerson","nameLocation":"17243:8:137","nodeType":"VariableDeclaration","scope":77794,"src":"17238:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77623,"name":"bool","nodeType":"ElementaryTypeName","src":"17238:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":77636,"initialValue":{"arguments":[{"id":77630,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"17377:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77633,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77520,"src":"17404:8:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77631,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"17386:8:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":77632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17395:8:137","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"17386:17:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":77634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17386:27:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77625,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"17257:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17294:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"17257:65:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17257:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17332:17:137","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":82994,"src":"17257:92:137","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":77629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17357:19:137","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"17257:119:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":77635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17257:157:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"17237:177:137"},{"condition":{"id":77638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17424:9:137","subExpression":{"id":77637,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77624,"src":"17425:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77661,"nodeType":"IfStatement","src":"17420:227:137","trueBody":{"id":77660,"nodeType":"Block","src":"17435:212:137","statements":[{"expression":{"arguments":[{"id":77642,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"17492:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77643,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"17501:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77639,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"17443:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":77641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17467:24:137","memberName":"markRelayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":81678,"src":"17443:48:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":77644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17443:66:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77645,"nodeType":"ExpressionStatement","src":"17443:66:137"},{"expression":{"arguments":[{"id":77649,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"17547:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77650,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"17556:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77646,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77558,"src":"17517:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":77648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17522:24:137","memberName":"reduceUserAllocationVote","nodeType":"MemberAccess","referencedDeclaration":67057,"src":"17517:29:137","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":77651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17517:47:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77652,"nodeType":"ExpressionStatement","src":"17517:47:137"},{"eventCall":{"arguments":[{"id":77654,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"17598:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77655,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77526,"src":"17607:9:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77656,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"17618:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77653,"name":"NavigatorVoteSkipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70818,"src":"17577:20:137","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":77657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17577:49:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77658,"nodeType":"EmitStatement","src":"17572:54:137"},{"functionReturnParameters":77502,"id":77659,"nodeType":"Return","src":"17634:7:137"}]}},{"expression":{"arguments":[{"id":77663,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"17682:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77664,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"17691:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77662,"name":"_checkEarlyAccessEligibility","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78158,"src":"17653:28:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) view"}},"id":77665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17653:46:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77666,"nodeType":"ExpressionStatement","src":"17653:46:137"},{"assignments":[77671,77674],"declarations":[{"constant":false,"id":77671,"mutability":"mutable","name":"appIds","nameLocation":"17816:6:137","nodeType":"VariableDeclaration","scope":77794,"src":"17799:23:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":77669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17799:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77670,"nodeType":"ArrayTypeName","src":"17799:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":77674,"mutability":"mutable","name":"percentages","nameLocation":"17841:11:137","nodeType":"VariableDeclaration","scope":77794,"src":"17824:28:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":77672,"name":"uint256","nodeType":"ElementaryTypeName","src":"17824:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77673,"nodeType":"ArrayTypeName","src":"17824:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":77680,"initialValue":{"arguments":[{"id":77677,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77526,"src":"17914:9:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77678,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"17931:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77675,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77513,"src":"17856:25:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":77676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17882:24:137","memberName":"getAllocationPreferences","nodeType":"MemberAccess","referencedDeclaration":66433,"src":"17856:50:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (address,uint256) view external returns (bytes32[] memory,uint256[] memory)"}},"id":77679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17856:88:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"tuple(bytes32[] memory,uint256[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"17798:146:137"},{"assignments":[77682],"declarations":[{"constant":false,"id":77682,"mutability":"mutable","name":"delegatedPower","nameLocation":"18016:14:137","nodeType":"VariableDeclaration","scope":77794,"src":"18008:22:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77681,"name":"uint256","nodeType":"ElementaryTypeName","src":"18008:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77688,"initialValue":{"arguments":[{"id":77685,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"18089:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77686,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77520,"src":"18098:8:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77683,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77513,"src":"18033:25:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":77684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18059:29:137","memberName":"getDelegatedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66409,"src":"18033:55:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":77687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18033:74:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18008:99:137"},{"assignments":[77690],"declarations":[{"constant":false,"id":77690,"mutability":"mutable","name":"basisPoints","nameLocation":"18211:11:137","nodeType":"VariableDeclaration","scope":77794,"src":"18203:19:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77689,"name":"uint256","nodeType":"ElementaryTypeName","src":"18203:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77694,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77691,"name":"navigatorRegistryContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77513,"src":"18225:25:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":77692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18251:12:137","memberName":"BASIS_POINTS","nodeType":"MemberAccess","referencedDeclaration":66637,"src":"18225:38:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":77693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18225:40:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18203:62:137"},{"assignments":[77699],"declarations":[{"constant":false,"id":77699,"mutability":"mutable","name":"voteWeights","nameLocation":"18288:11:137","nodeType":"VariableDeclaration","scope":77794,"src":"18271:28:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":77697,"name":"uint256","nodeType":"ElementaryTypeName","src":"18271:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77698,"nodeType":"ArrayTypeName","src":"18271:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":77706,"initialValue":{"arguments":[{"expression":{"id":77703,"name":"percentages","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77674,"src":"18316:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18328:6:137","memberName":"length","nodeType":"MemberAccess","src":"18316:18:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18302:13:137","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":77700,"name":"uint256","nodeType":"ElementaryTypeName","src":"18306:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77701,"nodeType":"ArrayTypeName","src":"18306:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":77705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18302:33:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18271:64:137"},{"assignments":[77708],"declarations":[{"constant":false,"id":77708,"mutability":"mutable","name":"allocated","nameLocation":"18349:9:137","nodeType":"VariableDeclaration","scope":77794,"src":"18341:17:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77707,"name":"uint256","nodeType":"ElementaryTypeName","src":"18341:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77709,"nodeType":"VariableDeclarationStatement","src":"18341:17:137"},{"body":{"id":77739,"nodeType":"Block","src":"18409:114:137","statements":[{"expression":{"id":77731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77720,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77699,"src":"18417:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77722,"indexExpression":{"id":77721,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77711,"src":"18429:1:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18417:14:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77723,"name":"delegatedPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77682,"src":"18435:14:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"baseExpression":{"id":77724,"name":"percentages","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77674,"src":"18452:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77726,"indexExpression":{"id":77725,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77711,"src":"18464:1:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18452:14:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18435:31:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77728,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18434:33:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77729,"name":"basisPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77690,"src":"18470:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18434:47:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18417:64:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77732,"nodeType":"ExpressionStatement","src":"18417:64:137"},{"expression":{"id":77737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77733,"name":"allocated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77708,"src":"18489:9:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"id":77734,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77699,"src":"18502:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77736,"indexExpression":{"id":77735,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77711,"src":"18514:1:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18502:14:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18489:27:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77738,"nodeType":"ExpressionStatement","src":"18489:27:137"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77713,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77711,"src":"18380:1:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":77714,"name":"percentages","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77674,"src":"18384:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18396:6:137","memberName":"length","nodeType":"MemberAccess","src":"18384:18:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18380:22:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77740,"initializationExpression":{"assignments":[77711],"declarations":[{"constant":false,"id":77711,"mutability":"mutable","name":"i","nameLocation":"18377:1:137","nodeType":"VariableDeclaration","scope":77740,"src":"18369:9:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77710,"name":"uint256","nodeType":"ElementaryTypeName","src":"18369:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77712,"nodeType":"VariableDeclarationStatement","src":"18369:9:137"},"loopExpression":{"expression":{"id":77718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18404:3:137","subExpression":{"id":77717,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77711,"src":"18404:1:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77719,"nodeType":"ExpressionStatement","src":"18404:3:137"},"nodeType":"ForStatement","src":"18364:159:137"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77741,"name":"allocated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77708,"src":"18532:9:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77742,"name":"delegatedPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77682,"src":"18544:14:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18532:26:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77744,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77699,"src":"18562:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18574:6:137","memberName":"length","nodeType":"MemberAccess","src":"18562:18:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18583:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18562:22:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18532:52:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77758,"nodeType":"IfStatement","src":"18528:117:137","trueBody":{"id":77757,"nodeType":"Block","src":"18586:59:137","statements":[{"expression":{"id":77755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77749,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77699,"src":"18594:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":77751,"indexExpression":{"hexValue":"30","id":77750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18606:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18594:14:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77752,"name":"delegatedPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77682,"src":"18612:14:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77753,"name":"allocated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77708,"src":"18629:9:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18612:26:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18594:44:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77756,"nodeType":"ExpressionStatement","src":"18594:44:137"}]}},{"expression":{"arguments":[{"id":77762,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"18700:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77763,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"18709:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":77759,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"18651:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":77761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18675:24:137","memberName":"markRelayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":81678,"src":"18651:48:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":77764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18651:66:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77765,"nodeType":"ExpressionStatement","src":"18651:66:137"},{"expression":{"arguments":[{"id":77767,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"18748:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77768,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"18757:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77769,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77671,"src":"18766:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":77770,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77699,"src":"18774:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":77771,"name":"delegatedPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77682,"src":"18787:14:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":77772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18803:5:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":77766,"name":"_handleCastVoteWithPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77893,"src":"18723:24:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,uint256,bool)"}},"id":77773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18723:86:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77774,"nodeType":"ExpressionStatement","src":"18723:86:137"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77778,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"18843:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18843:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77780,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"18857:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77781,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"18866:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77782,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"18875:13:137","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RelayerAction_$66644_$","typeString":"type(enum RelayerAction)"}},"id":77783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18889:4:137","memberName":"VOTE","nodeType":"MemberAccess","referencedDeclaration":66642,"src":"18875:18:137","typeDescriptions":{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}],"expression":{"id":77775,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77558,"src":"18816:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":77777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18821:21:137","memberName":"registerRelayerAction","nodeType":"MemberAccess","referencedDeclaration":67080,"src":"18816:26:137","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_RelayerAction_$66644_$returns$__$","typeString":"function (address,address,uint256,enum RelayerAction) external"}},"id":77784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18816:78:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77785,"nodeType":"ExpressionStatement","src":"18816:78:137"},{"eventCall":{"arguments":[{"id":77787,"name":"citizen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77498,"src":"18924:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77788,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77526,"src":"18933:9:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77789,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77500,"src":"18944:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77790,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77671,"src":"18953:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":77791,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77699,"src":"18961:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":77786,"name":"NavigatorVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70809,"src":"18906:17:137","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes32[] memory,uint256[] memory)"}},"id":77792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18906:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77793,"nodeType":"EmitStatement","src":"18901:72:137"}]},"documentation":{"id":77496,"nodeType":"StructuredDocumentation","src":"14792:700:137","text":" @dev Cast a vote on behalf of a citizen delegated to a navigator, or auto-skip if the\n      navigator is dead / has not set preferences (after the skip window).\n Decision flow:\n   1. Navigator dead at snapshot → revert (citizen not delegated)\n   2. Navigator dead NOW → skip immediately, reduce allocation vote expectation\n   3. Navigator alive + no preferences + skip window NOT reached → revert (relayer retries later)\n   4. Navigator alive + no preferences + skip window reached → skip\n   5. Navigator alive + preferences set + citizen not a person → skip\n   6. Navigator alive + preferences set + citizen is a person → vote normally"},"functionSelector":"be2a9f8f","id":77795,"implemented":true,"kind":"function","modifiers":[],"name":"castNavigatorVote","nameLocation":"15504:17:137","nodeType":"FunctionDefinition","parameters":{"id":77501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77498,"mutability":"mutable","name":"citizen","nameLocation":"15530:7:137","nodeType":"VariableDeclaration","scope":77795,"src":"15522:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77497,"name":"address","nodeType":"ElementaryTypeName","src":"15522:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77500,"mutability":"mutable","name":"roundId","nameLocation":"15547:7:137","nodeType":"VariableDeclaration","scope":77795,"src":"15539:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77499,"name":"uint256","nodeType":"ElementaryTypeName","src":"15539:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15521:34:137"},"returnParameters":{"id":77502,"nodeType":"ParameterList","parameters":[],"src":"15563:0:137"},"scope":79243,"src":"15495:3483:137","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":77829,"nodeType":"Block","src":"19501:164:137","statements":[{"assignments":[77812],"declarations":[{"constant":false,"id":77812,"mutability":"mutable","name":"votingPower","nameLocation":"19515:11:137","nodeType":"VariableDeclaration","scope":77829,"src":"19507:19:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77811,"name":"uint256","nodeType":"ElementaryTypeName","src":"19507:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77819,"initialValue":{"arguments":[{"id":77814,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77798,"src":"19538:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77816,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77800,"src":"19559:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77815,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78714,"src":"19545:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":77817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19545:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77813,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78562,"src":"19529:8:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":77818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19529:39:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19507:61:137"},{"expression":{"arguments":[{"id":77821,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77798,"src":"19599:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77822,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77800,"src":"19606:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77823,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77803,"src":"19615:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":77824,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77806,"src":"19623:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":77825,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77812,"src":"19636:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77826,"name":"isAutoVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77808,"src":"19649:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":77820,"name":"_handleCastVoteWithPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77893,"src":"19574:24:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory,uint256,bool)"}},"id":77827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19574:86:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77828,"nodeType":"ExpressionStatement","src":"19574:86:137"}]},"documentation":{"id":77796,"nodeType":"StructuredDocumentation","src":"18982:354:137","text":" @dev Internal function to handle common voting logic\n @param voter The address casting the vote\n @param roundId The round ID to vote in\n @param appIds Array of app IDs to vote for\n @param voteWeights Array of vote weights for each app\n @param isAutoVote Whether this is an auto vote (affects events and relayer rewards)"},"id":77830,"implemented":true,"kind":"function","modifiers":[],"name":"_handleCastVote","nameLocation":"19348:15:137","nodeType":"FunctionDefinition","parameters":{"id":77809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77798,"mutability":"mutable","name":"voter","nameLocation":"19377:5:137","nodeType":"VariableDeclaration","scope":77830,"src":"19369:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77797,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77800,"mutability":"mutable","name":"roundId","nameLocation":"19396:7:137","nodeType":"VariableDeclaration","scope":77830,"src":"19388:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77799,"name":"uint256","nodeType":"ElementaryTypeName","src":"19388:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77803,"mutability":"mutable","name":"appIds","nameLocation":"19426:6:137","nodeType":"VariableDeclaration","scope":77830,"src":"19409:23:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":77801,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19409:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77802,"nodeType":"ArrayTypeName","src":"19409:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":77806,"mutability":"mutable","name":"voteWeights","nameLocation":"19455:11:137","nodeType":"VariableDeclaration","scope":77830,"src":"19438:28:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":77804,"name":"uint256","nodeType":"ElementaryTypeName","src":"19438:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77805,"nodeType":"ArrayTypeName","src":"19438:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":77808,"mutability":"mutable","name":"isAutoVote","nameLocation":"19477:10:137","nodeType":"VariableDeclaration","scope":77830,"src":"19472:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77807,"name":"bool","nodeType":"ElementaryTypeName","src":"19472:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19363:128:137"},"returnParameters":{"id":77810,"nodeType":"ParameterList","parameters":[],"src":"19501:0:137"},"scope":79243,"src":"19339:326:137","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":77892,"nodeType":"Block","src":"19865:534:137","statements":[{"expression":{"arguments":[{"id":77848,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77834,"src":"19892:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":77850,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"19920:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":77851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19931:6:137","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":70609,"src":"19920:17:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":77849,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79218,"src":"19901:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$70612_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernor.RoundState) pure returns (bytes32)"}},"id":77852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19901:37:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":77847,"name":"_validateStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77991,"src":"19871:20:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256,bytes32) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":77853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19871:68:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"id":77854,"nodeType":"ExpressionStatement","src":"19871:68:137"},{"expression":{"arguments":[{"id":77858,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77834,"src":"20020:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77859,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77832,"src":"20029:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77860,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"20036:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":77861,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77840,"src":"20044:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":77862,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77842,"src":"20057:11:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":77864,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77834,"src":"20084:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77863,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78714,"src":"20070:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":77865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20070:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77855,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"19986:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":77857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20010:9:137","memberName":"countVote","nodeType":"MemberAccess","referencedDeclaration":81543,"src":"19986:33:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,bytes32[] memory,uint256[] memory,uint256,uint256)"}},"id":77866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19986:107:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77867,"nodeType":"ExpressionStatement","src":"19986:107:137"},{"condition":{"id":77868,"name":"isAutoVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77844,"src":"20104:10:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77891,"nodeType":"IfStatement","src":"20100:295:137","trueBody":{"id":77890,"nodeType":"Block","src":"20116:279:137","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77875,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"20236:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20236:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77877,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77832,"src":"20258:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77878,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77834,"src":"20273:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77879,"name":"RelayerAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66644,"src":"20290:13:137","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RelayerAction_$66644_$","typeString":"type(enum RelayerAction)"}},"id":77880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20304:4:137","memberName":"VOTE","nodeType":"MemberAccess","referencedDeclaration":66642,"src":"20290:18:137","typeDescriptions":{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RelayerAction_$66644","typeString":"enum RelayerAction"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77869,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"20124:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20154:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"20124:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20124:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20185:19:137","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"20124:80:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":77874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20205:21:137","memberName":"registerRelayerAction","nodeType":"MemberAccess","referencedDeclaration":67080,"src":"20124:102:137","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_RelayerAction_$66644_$returns$__$","typeString":"function (address,address,uint256,enum RelayerAction) external"}},"id":77881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20124:192:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77882,"nodeType":"ExpressionStatement","src":"20124:192:137"},{"eventCall":{"arguments":[{"id":77884,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77832,"src":"20352:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77885,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77834,"src":"20359:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77886,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"20368:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":77887,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77840,"src":"20376:11:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":77883,"name":"AllocationAutoVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70779,"src":"20329:22:137","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory)"}},"id":77888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20329:59:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77889,"nodeType":"EmitStatement","src":"20324:64:137"}]}}]},"id":77893,"implemented":true,"kind":"function","modifiers":[],"name":"_handleCastVoteWithPower","nameLocation":"19678:24:137","nodeType":"FunctionDefinition","parameters":{"id":77845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77832,"mutability":"mutable","name":"voter","nameLocation":"19716:5:137","nodeType":"VariableDeclaration","scope":77893,"src":"19708:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77831,"name":"address","nodeType":"ElementaryTypeName","src":"19708:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77834,"mutability":"mutable","name":"roundId","nameLocation":"19735:7:137","nodeType":"VariableDeclaration","scope":77893,"src":"19727:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77833,"name":"uint256","nodeType":"ElementaryTypeName","src":"19727:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77837,"mutability":"mutable","name":"appIds","nameLocation":"19765:6:137","nodeType":"VariableDeclaration","scope":77893,"src":"19748:23:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":77835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19748:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77836,"nodeType":"ArrayTypeName","src":"19748:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":77840,"mutability":"mutable","name":"voteWeights","nameLocation":"19794:11:137","nodeType":"VariableDeclaration","scope":77893,"src":"19777:28:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":77838,"name":"uint256","nodeType":"ElementaryTypeName","src":"19777:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77839,"nodeType":"ArrayTypeName","src":"19777:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":77842,"mutability":"mutable","name":"votingPower","nameLocation":"19819:11:137","nodeType":"VariableDeclaration","scope":77893,"src":"19811:19:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77841,"name":"uint256","nodeType":"ElementaryTypeName","src":"19811:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77844,"mutability":"mutable","name":"isAutoVote","nameLocation":"19841:10:137","nodeType":"VariableDeclaration","scope":77893,"src":"19836:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77843,"name":"bool","nodeType":"ElementaryTypeName","src":"19836:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19702:153:137"},"returnParameters":{"id":77846,"nodeType":"ParameterList","parameters":[],"src":"19865:0:137"},"scope":79243,"src":"19669:730:137","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":77914,"nodeType":"Block","src":"20536:98:137","statements":[{"expression":{"arguments":[{"id":77902,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77896,"src":"20579:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":77906,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77896,"src":"20600:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77905,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78526,"src":"20594:5:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":77907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20594:14:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":77904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20588:5:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":77903,"name":"uint8","nodeType":"ElementaryTypeName","src":"20588:5:137","typeDescriptions":{}}},"id":77908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20588:21:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"id":77910,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77896,"src":"20620:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77909,"name":"isActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78462,"src":"20611:8:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":77911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20611:17:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":77899,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"20542:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":77901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20565:13:137","memberName":"finalizeRound","nodeType":"MemberAccess","referencedDeclaration":80851,"src":"20542:36:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_uint8_$_t_bool_$returns$__$","typeString":"function (uint256,uint8,bool)"}},"id":77912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20542:87:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77913,"nodeType":"ExpressionStatement","src":"20542:87:137"}]},"documentation":{"id":77894,"nodeType":"StructuredDocumentation","src":"20403:81:137","text":" @dev Function to store the last succeeded round once a round ends."},"functionSelector":"3469f6e2","id":77915,"implemented":true,"kind":"function","modifiers":[],"name":"finalizeRound","nameLocation":"20496:13:137","nodeType":"FunctionDefinition","parameters":{"id":77897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77896,"mutability":"mutable","name":"roundId","nameLocation":"20518:7:137","nodeType":"VariableDeclaration","scope":77915,"src":"20510:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77895,"name":"uint256","nodeType":"ElementaryTypeName","src":"20510:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20509:17:137"},"returnParameters":{"id":77898,"nodeType":"ParameterList","parameters":[],"src":"20536:0:137"},"scope":79243,"src":"20487:147:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[71107],"body":{"id":77951,"nodeType":"Block","src":"20930:344:137","statements":[{"assignments":[77924,77926],"declarations":[{"constant":false,"id":77924,"mutability":"mutable","name":"isPerson","nameLocation":"20942:8:137","nodeType":"VariableDeclaration","scope":77951,"src":"20937:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77923,"name":"bool","nodeType":"ElementaryTypeName","src":"20937:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":77926,"mutability":"mutable","name":"explanation","nameLocation":"20966:11:137","nodeType":"VariableDeclaration","scope":77951,"src":"20952:25:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":77925,"name":"string","nodeType":"ElementaryTypeName","src":"20952:6:137","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":77939,"initialValue":{"arguments":[{"id":77932,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77918,"src":"21101:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":77935,"name":"currentRoundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"21126:20:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":77936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21126:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77933,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"21108:8:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":77934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21117:8:137","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"21108:17:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":77937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21108:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77927,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"20981:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":77928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21018:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"20981:65:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":77929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20981:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":77930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21056:17:137","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":82994,"src":"20981:92:137","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":77931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21081:19:137","memberName":"isPersonAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":67968,"src":"20981:119:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint48_$returns$_t_bool_$_t_string_memory_ptr_$","typeString":"function (address,uint48) view external returns (bool,string memory)"}},"id":77938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20981:169:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"20936:214:137"},{"condition":{"id":77941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21160:9:137","subExpression":{"id":77940,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77924,"src":"21161:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77948,"nodeType":"IfStatement","src":"21156:93:137","trueBody":{"id":77947,"nodeType":"Block","src":"21171:78:137","statements":[{"errorCall":{"arguments":[{"id":77943,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77918,"src":"21223:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77944,"name":"explanation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77926,"src":"21230:11:137","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":77942,"name":"GovernorPersonhoodVerificationFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70667,"src":"21186:36:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) pure"}},"id":77945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21186:56:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77946,"nodeType":"RevertStatement","src":"21179:63:137"}]}},{"expression":{"id":77949,"name":"isPerson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77924,"src":"21261:8:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":77922,"id":77950,"nodeType":"Return","src":"21254:15:137"}]},"documentation":{"id":77916,"nodeType":"StructuredDocumentation","src":"20721:121:137","text":" @dev Validate that the voter is a person at the current round snapshot\n @param voter The voter address"},"functionSelector":"cfea80ed","id":77952,"implemented":true,"kind":"function","modifiers":[],"name":"validatePersonhoodForCurrentRound","nameLocation":"20854:33:137","nodeType":"FunctionDefinition","parameters":{"id":77919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77918,"mutability":"mutable","name":"voter","nameLocation":"20896:5:137","nodeType":"VariableDeclaration","scope":77952,"src":"20888:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77917,"name":"address","nodeType":"ElementaryTypeName","src":"20888:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20887:15:137"},"returnParameters":{"id":77922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77952,"src":"20924:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77920,"name":"bool","nodeType":"ElementaryTypeName","src":"20924:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20923:6:137"},"scope":79243,"src":"20845:429:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":77990,"nodeType":"Block","src":"21663:237:137","statements":[{"assignments":[77965],"declarations":[{"constant":false,"id":77965,"mutability":"mutable","name":"currentState","nameLocation":"21680:12:137","nodeType":"VariableDeclaration","scope":77990,"src":"21669:23:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":77964,"nodeType":"UserDefinedTypeName","pathNode":{"id":77963,"name":"RoundState","nameLocations":["21669:10:137"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"21669:10:137"},"referencedDeclaration":70612,"src":"21669:10:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"}],"id":77969,"initialValue":{"arguments":[{"id":77967,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"21701:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77966,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78526,"src":"21695:5:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":77968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21695:14:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"nodeType":"VariableDeclarationStatement","src":"21669:40:137"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":77979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":77974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":77971,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77965,"src":"21738:12:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":77970,"name":"_encodeStateBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79218,"src":"21719:18:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RoundState_$70612_$returns$_t_bytes32_$","typeString":"function (enum IXAllocationVotingGovernor.RoundState) pure returns (bytes32)"}},"id":77972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21719:32:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":77973,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77957,"src":"21754:13:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"21719:48:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":77977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21779:1:137","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":77976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21771:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":77975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21771:7:137","typeDescriptions":{}}},"id":77978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21771:10:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"21719:62:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77987,"nodeType":"IfStatement","src":"21715:156:137","trueBody":{"id":77986,"nodeType":"Block","src":"21783:88:137","statements":[{"errorCall":{"arguments":[{"id":77981,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"21827:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77982,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77965,"src":"21836:12:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},{"id":77983,"name":"allowedStates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77957,"src":"21850:13:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":77980,"name":"GovernorUnexpectedRoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70637,"src":"21798:28:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_RoundState_$70612_$_t_bytes32_$returns$__$","typeString":"function (uint256,enum IXAllocationVotingGovernor.RoundState,bytes32) pure"}},"id":77984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21798:66:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77985,"nodeType":"RevertStatement","src":"21791:73:137"}]}},{"expression":{"id":77988,"name":"currentState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77965,"src":"21883:12:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"functionReturnParameters":77962,"id":77989,"nodeType":"Return","src":"21876:19:137"}]},"documentation":{"id":77953,"nodeType":"StructuredDocumentation","src":"21278:278:137","text":" @dev Check that the current state of a round matches the requirements described by the `allowedStates` bitmap.\n This bitmap should be built using `_encodeStateBitmap`.\n If requirements are not met, reverts with a {GovernorUnexpectedRoundState} error."},"id":77991,"implemented":true,"kind":"function","modifiers":[],"name":"_validateStateBitmap","nameLocation":"21568:20:137","nodeType":"FunctionDefinition","parameters":{"id":77958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77955,"mutability":"mutable","name":"roundId","nameLocation":"21597:7:137","nodeType":"VariableDeclaration","scope":77991,"src":"21589:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77954,"name":"uint256","nodeType":"ElementaryTypeName","src":"21589:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77957,"mutability":"mutable","name":"allowedStates","nameLocation":"21614:13:137","nodeType":"VariableDeclaration","scope":77991,"src":"21606:21:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":77956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21606:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21588:40:137"},"returnParameters":{"id":77962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77961,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77991,"src":"21651:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":77960,"nodeType":"UserDefinedTypeName","pathNode":{"id":77959,"name":"RoundState","nameLocations":["21651:10:137"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"21651:10:137"},"referencedDeclaration":70612,"src":"21651:10:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"}],"src":"21650:12:137"},"scope":79243,"src":"21559:341:137","stateMutability":"view","virtual":false,"visibility":"private"},{"baseFunctions":[70972],"body":{"id":78058,"nodeType":"Block","src":"22079:566:137","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":77997,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"22089:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":77998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22089:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":77999,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77994,"src":"22105:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22089:20:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78007,"nodeType":"IfStatement","src":"22085:75:137","trueBody":{"id":78006,"nodeType":"Block","src":"22111:49:137","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":78002,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"22140:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":78003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22140:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78001,"name":"InvalidCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70692,"src":"22126:13:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22126:27:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78005,"nodeType":"RevertStatement","src":"22119:34:137"}]}},{"assignments":[78010],"declarations":[{"constant":false,"id":78010,"mutability":"mutable","name":"navRegistry","nameLocation":"22252:11:137","nodeType":"VariableDeclaration","scope":78058,"src":"22233:30:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":78009,"nodeType":"UserDefinedTypeName","pathNode":{"id":78008,"name":"INavigatorRegistry","nameLocations":["22233:18:137"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"22233:18:137"},"referencedDeclaration":66638,"src":"22233:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":78015,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78011,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"22266:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":78012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22296:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"22266:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":78013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22266:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":78014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22327:18:137","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"22266:79:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"22233:112:137"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78018,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78010,"src":"22363:11:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":78017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22355:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78016,"name":"address","nodeType":"ElementaryTypeName","src":"22355:7:137","typeDescriptions":{}}},"id":78019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22355:20:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":78022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22387:1:137","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":78021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22379:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78020,"name":"address","nodeType":"ElementaryTypeName","src":"22379:7:137","typeDescriptions":{}}},"id":78023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22379:10:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22355:34:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78044,"nodeType":"IfStatement","src":"22351:210:137","trueBody":{"id":78043,"nodeType":"Block","src":"22391:170:137","statements":[{"condition":{"arguments":[{"id":78027,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77994,"src":"22427:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78025,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78010,"src":"22403:11:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":78026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22415:11:137","memberName":"isNavigator","nodeType":"MemberAccess","referencedDeclaration":66275,"src":"22403:23:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":78028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22403:29:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78033,"nodeType":"IfStatement","src":"22399:79:137","trueBody":{"errorCall":{"arguments":[{"id":78030,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77994,"src":"22473:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78029,"name":"NavigatorCannotEnableAutoVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70707,"src":"22441:31:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22441:37:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78032,"nodeType":"RevertStatement","src":"22434:44:137"}},{"condition":{"arguments":[{"id":78036,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77994,"src":"22514:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78034,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78010,"src":"22490:11:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":78035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22502:11:137","memberName":"isDelegated","nodeType":"MemberAccess","referencedDeclaration":66399,"src":"22490:23:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":78037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22490:29:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78042,"nodeType":"IfStatement","src":"22486:68:137","trueBody":{"errorCall":{"arguments":[{"id":78039,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77994,"src":"22549:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78038,"name":"DelegatedToNavigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70702,"src":"22528:20:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:26:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78041,"nodeType":"RevertStatement","src":"22521:33:137"}}]}},{"expression":{"arguments":[{"arguments":[{"id":78050,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22608:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}],"id":78049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22600:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78048,"name":"address","nodeType":"ElementaryTypeName","src":"22600:7:137","typeDescriptions":{}}},"id":78051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22600:13:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78052,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77994,"src":"22615:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78053,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"22621:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":78054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22632:5:137","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"22621:16:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":78055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22621:18:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":78045,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"22567:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":78047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22583:16:137","memberName":"toggleAutoVoting","nodeType":"MemberAccess","referencedDeclaration":79418,"src":"22567:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_address_$_t_uint48_$returns$__$","typeString":"function (address,address,uint48)"}},"id":78056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22567:73:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78057,"nodeType":"ExpressionStatement","src":"22567:73:137"}]},"documentation":{"id":77992,"nodeType":"StructuredDocumentation","src":"21975:52:137","text":" @dev Toggle autovoting for the caller"},"functionSelector":"8a829eda","id":78059,"implemented":true,"kind":"function","modifiers":[],"name":"toggleAutoVoting","nameLocation":"22039:16:137","nodeType":"FunctionDefinition","parameters":{"id":77995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77994,"mutability":"mutable","name":"user","nameLocation":"22064:4:137","nodeType":"VariableDeclaration","scope":78059,"src":"22056:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77993,"name":"address","nodeType":"ElementaryTypeName","src":"22056:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22055:14:137"},"returnParameters":{"id":77996,"nodeType":"ParameterList","parameters":[],"src":"22079:0:137"},"scope":79243,"src":"22030:615:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[70978],"body":{"id":78113,"nodeType":"Block","src":"22856:416:137","statements":[{"assignments":[78067],"declarations":[{"constant":false,"id":78067,"mutability":"mutable","name":"navRegistry","nameLocation":"22881:11:137","nodeType":"VariableDeclaration","scope":78113,"src":"22862:30:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":78066,"nodeType":"UserDefinedTypeName","pathNode":{"id":78065,"name":"INavigatorRegistry","nameLocations":["22862:18:137"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"22862:18:137"},"referencedDeclaration":66638,"src":"22862:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":78072,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78068,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"22895:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":78069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22925:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"22895:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":78070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22895:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":78071,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22956:18:137","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"22895:79:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"22862:112:137"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78076,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78067,"src":"23003:11:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":78075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22995:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78074,"name":"address","nodeType":"ElementaryTypeName","src":"22995:7:137","typeDescriptions":{}}},"id":78077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22995:20:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":78080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23027:1:137","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":78079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23019:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78078,"name":"address","nodeType":"ElementaryTypeName","src":"23019:7:137","typeDescriptions":{}}},"id":78081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23019:10:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22995:34:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":78083,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"23033:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":78084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23033:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":78087,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78067,"src":"23057:11:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":78086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23049:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78085,"name":"address","nodeType":"ElementaryTypeName","src":"23049:7:137","typeDescriptions":{}}},"id":78088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23049:20:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23033:36:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22995:74:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e673a206e6f74206e6176696761746f72207265676973747279","id":78091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23077:43:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8","typeString":"literal_string \"XAllocationVoting: not navigator registry\""},"value":"XAllocationVoting: not navigator registry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8","typeString":"literal_string \"XAllocationVoting: not navigator registry\""}],"id":78073,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22980:7:137","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":78092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22980:146:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78093,"nodeType":"ExpressionStatement","src":"22980:146:137"},{"condition":{"arguments":[{"id":78096,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78062,"src":"23173:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78094,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"23137:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":78095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23153:19:137","memberName":"isAutoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":79580,"src":"23137:35:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23137:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78112,"nodeType":"IfStatement","src":"23133:135:137","trueBody":{"id":78111,"nodeType":"Block","src":"23180:88:137","statements":[{"expression":{"arguments":[{"arguments":[{"id":78103,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"23229:4:137","typeDescriptions":{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_XAllocationVoting_$79243","typeString":"contract XAllocationVoting"}],"id":78102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23221:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78101,"name":"address","nodeType":"ElementaryTypeName","src":"23221:7:137","typeDescriptions":{}}},"id":78104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23221:13:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78105,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78062,"src":"23236:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78106,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"23242:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":78107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23253:5:137","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"23242:16:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":78108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23242:18:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":78098,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"23188:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":78100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23204:16:137","memberName":"toggleAutoVoting","nodeType":"MemberAccess","referencedDeclaration":79418,"src":"23188:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_address_$_t_uint48_$returns$__$","typeString":"function (address,address,uint48)"}},"id":78109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23188:73:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78110,"nodeType":"ExpressionStatement","src":"23188:73:137"}]}}]},"documentation":{"id":78060,"nodeType":"StructuredDocumentation","src":"22649:151:137","text":" @dev Disable autovoting for a user. Called by NavigatorRegistry when a citizen delegates.\n No-op if auto-voting is already disabled."},"functionSelector":"673fc724","id":78114,"implemented":true,"kind":"function","modifiers":[],"name":"disableAutoVotingFor","nameLocation":"22812:20:137","nodeType":"FunctionDefinition","parameters":{"id":78063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78062,"mutability":"mutable","name":"user","nameLocation":"22841:4:137","nodeType":"VariableDeclaration","scope":78114,"src":"22833:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78061,"name":"address","nodeType":"ElementaryTypeName","src":"22833:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22832:14:137"},"returnParameters":{"id":78064,"nodeType":"ParameterList","parameters":[],"src":"22856:0:137"},"scope":79243,"src":"22803:469:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78136,"nodeType":"Block","src":"23408:180:137","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78126,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"23470:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":78127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23500:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"23470:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":78128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23470:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":78129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23531:11:137","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"23470:72:137","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":78125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23462:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78124,"name":"address","nodeType":"ElementaryTypeName","src":"23462:7:137","typeDescriptions":{}}},"id":78130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23462:81:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":78131,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"23551:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":78132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23551:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78133,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"23571:6:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":78121,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"23414:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":78123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23430:24:137","memberName":"setUserVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":79553,"src":"23414:40:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,bytes32[] memory)"}},"id":78134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23414:169:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78135,"nodeType":"ExpressionStatement","src":"23414:169:137"}]},"documentation":{"id":78115,"nodeType":"StructuredDocumentation","src":"23276:61:137","text":" @dev Set the voting preferences for the caller"},"functionSelector":"3b395cbe","id":78137,"implemented":true,"kind":"function","modifiers":[],"name":"setUserVotingPreferences","nameLocation":"23349:24:137","nodeType":"FunctionDefinition","parameters":{"id":78119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78118,"mutability":"mutable","name":"appIds","nameLocation":"23391:6:137","nodeType":"VariableDeclaration","scope":78137,"src":"23374:23:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":78116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23374:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":78117,"nodeType":"ArrayTypeName","src":"23374:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"23373:25:137"},"returnParameters":{"id":78120,"nodeType":"ParameterList","parameters":[],"src":"23408:0:137"},"scope":79243,"src":"23340:248:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78157,"nodeType":"Block","src":"23784:175:137","statements":[{"expression":{"arguments":[{"id":78151,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78140,"src":"23908:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78152,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78142,"src":"23923:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":78153,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"23936:10:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":78154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23936:12:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78145,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"23790:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":78147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23820:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"23790:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":78148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23790:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":78149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23851:19:137","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"23790:80:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":78150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23871:29:137","memberName":"validateVoteDuringEarlyAccess","nodeType":"MemberAccess","referencedDeclaration":67106,"src":"23790:110:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,address,address) view external"}},"id":78155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23790:164:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78156,"nodeType":"ExpressionStatement","src":"23790:164:137"}]},"documentation":{"id":78138,"nodeType":"StructuredDocumentation","src":"23592:105:137","text":" @dev Check if the caller is eligible to perform relayer actions during early access period"},"id":78158,"implemented":true,"kind":"function","modifiers":[],"name":"_checkEarlyAccessEligibility","nameLocation":"23709:28:137","nodeType":"FunctionDefinition","parameters":{"id":78143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78140,"mutability":"mutable","name":"roundId","nameLocation":"23746:7:137","nodeType":"VariableDeclaration","scope":78158,"src":"23738:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78139,"name":"uint256","nodeType":"ElementaryTypeName","src":"23738:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78142,"mutability":"mutable","name":"voter","nameLocation":"23763:5:137","nodeType":"VariableDeclaration","scope":78158,"src":"23755:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78141,"name":"address","nodeType":"ElementaryTypeName","src":"23755:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23737:32:137"},"returnParameters":{"id":78144,"nodeType":"ParameterList","parameters":[],"src":"23784:0:137"},"scope":79243,"src":"23700:259:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":78184,"nodeType":"Block","src":"24155:190:137","statements":[{"assignments":[78165],"declarations":[{"constant":false,"id":78165,"mutability":"mutable","name":"deadline","nameLocation":"24169:8:137","nodeType":"VariableDeclaration","scope":78184,"src":"24161:16:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78164,"name":"uint256","nodeType":"ElementaryTypeName","src":"24161:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78170,"initialValue":{"arguments":[{"id":78168,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78161,"src":"24213:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78166,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"24180:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24199:13:137","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":81938,"src":"24180:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24180:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24161:60:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78171,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24231:5:137","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":78172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24237:6:137","memberName":"number","nodeType":"MemberAccess","src":"24231:12:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78173,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"24246:19:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":78174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24266:23:137","memberName":"citizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82765,"src":"24246:43:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24246:45:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24231:60:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":78177,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78165,"src":"24294:8:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24231:71:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78183,"nodeType":"IfStatement","src":"24227:113:137","trueBody":{"errorCall":{"arguments":[{"id":78180,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78161,"src":"24332:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78179,"name":"SkipWindowNotReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70719,"src":"24311:20:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":78181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24311:29:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78182,"nodeType":"RevertStatement","src":"24304:36:137"}}]},"documentation":{"id":78159,"nodeType":"StructuredDocumentation","src":"23963:129:137","text":" @dev Validate that the skip window has been reached for a given round\n @param roundId The round ID to validate"},"id":78185,"implemented":true,"kind":"function","modifiers":[],"name":"_validateSkipWindow","nameLocation":"24104:19:137","nodeType":"FunctionDefinition","parameters":{"id":78162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78161,"mutability":"mutable","name":"roundId","nameLocation":"24132:7:137","nodeType":"VariableDeclaration","scope":78185,"src":"24124:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78160,"name":"uint256","nodeType":"ElementaryTypeName","src":"24124:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24123:17:137"},"returnParameters":{"id":78163,"nodeType":"ParameterList","parameters":[],"src":"24155:0:137"},"scope":79243,"src":"24095:250:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":78201,"nodeType":"Block","src":"24561:122:137","statements":[{"expression":{"arguments":[{"id":78198,"name":"navigator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78188,"src":"24668:9:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78193,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"24574:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":78194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24604:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"24574:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":78195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24574:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":78196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24635:18:137","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"24574:79:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":78197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24654:13:137","memberName":"isDeactivated","nodeType":"MemberAccess","referencedDeclaration":66559,"src":"24574:93:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":78199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24574:104:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78192,"id":78200,"nodeType":"Return","src":"24567:111:137"}]},"documentation":{"id":78186,"nodeType":"StructuredDocumentation","src":"24349:135:137","text":" @dev Check if a navigator is dead\n @param navigator The navigator address\n @return True if the navigator is dead"},"id":78202,"implemented":true,"kind":"function","modifiers":[],"name":"_isNavigatorDead","nameLocation":"24496:16:137","nodeType":"FunctionDefinition","parameters":{"id":78189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78188,"mutability":"mutable","name":"navigator","nameLocation":"24521:9:137","nodeType":"VariableDeclaration","scope":78202,"src":"24513:17:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78187,"name":"address","nodeType":"ElementaryTypeName","src":"24513:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24512:19:137"},"returnParameters":{"id":78192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78191,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78202,"src":"24555:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78190,"name":"bool","nodeType":"ElementaryTypeName","src":"24555:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24554:6:137"},"scope":79243,"src":"24487:196:137","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":78218,"nodeType":"Block","src":"24939:62:137","statements":[{"expression":{"arguments":[{"id":78215,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78206,"src":"24982:13:137","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"expression":{"id":78212,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"24945:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":78214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24968:13:137","memberName":"setX2EarnApps","nodeType":"MemberAccess","referencedDeclaration":80092,"src":"24945:36:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IX2EarnApps_$69989_$returns$__$","typeString":"function (contract IX2EarnApps)"}},"id":78216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24945:51:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78217,"nodeType":"ExpressionStatement","src":"24945:51:137"}]},"documentation":{"id":78203,"nodeType":"StructuredDocumentation","src":"24767:62:137","text":" @dev Set the address of the X2EarnApps contract"},"functionSelector":"c048f6c9","id":78219,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78209,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76941,"src":"24907:30:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78210,"kind":"modifierInvocation","modifierName":{"id":78208,"name":"onlyRole","nameLocations":["24898:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"24898:8:137"},"nodeType":"ModifierInvocation","src":"24898:40:137"}],"name":"setX2EarnAppsAddress","nameLocation":"24841:20:137","nodeType":"FunctionDefinition","parameters":{"id":78207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78206,"mutability":"mutable","name":"newX2EarnApps","nameLocation":"24874:13:137","nodeType":"VariableDeclaration","scope":78219,"src":"24862:25:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":78205,"nodeType":"UserDefinedTypeName","pathNode":{"id":78204,"name":"IX2EarnApps","nameLocations":["24862:11:137"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"24862:11:137"},"referencedDeclaration":69989,"src":"24862:11:137","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"24861:27:137"},"returnParameters":{"id":78211,"nodeType":"ParameterList","parameters":[],"src":"24939:0:137"},"scope":79243,"src":"24832:169:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78235,"nodeType":"Block","src":"25173:60:137","statements":[{"expression":{"arguments":[{"id":78232,"name":"newEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78223,"src":"25215:12:137","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"expression":{"id":78229,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"25179:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":78231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25202:12:137","memberName":"setEmissions","nodeType":"MemberAccess","referencedDeclaration":80043,"src":"25179:35:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IEmissions_$64454_$returns$__$","typeString":"function (contract IEmissions)"}},"id":78233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25179:49:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78234,"nodeType":"ExpressionStatement","src":"25179:49:137"}]},"documentation":{"id":78220,"nodeType":"StructuredDocumentation","src":"25005:61:137","text":" @dev Set the address of the Emissions contract"},"functionSelector":"57181609","id":78236,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78226,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76941,"src":"25141:30:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78227,"kind":"modifierInvocation","modifierName":{"id":78225,"name":"onlyRole","nameLocations":["25132:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"25132:8:137"},"nodeType":"ModifierInvocation","src":"25132:40:137"}],"name":"setEmissionsAddress","nameLocation":"25078:19:137","nodeType":"FunctionDefinition","parameters":{"id":78224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78223,"mutability":"mutable","name":"newEmissions","nameLocation":"25109:12:137","nodeType":"VariableDeclaration","scope":78236,"src":"25098:23:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":78222,"nodeType":"UserDefinedTypeName","pathNode":{"id":78221,"name":"IEmissions","nameLocations":["25098:10:137"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"25098:10:137"},"referencedDeclaration":64454,"src":"25098:10:137","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"25097:25:137"},"returnParameters":{"id":78228,"nodeType":"ParameterList","parameters":[],"src":"25173:0:137"},"scope":79243,"src":"25069:164:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78252,"nodeType":"Block","src":"25417:66:137","statements":[{"expression":{"arguments":[{"id":78249,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"25462:15:137","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"expression":{"id":78246,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"25423:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":78248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25446:15:137","memberName":"setVoterRewards","nodeType":"MemberAccess","referencedDeclaration":80141,"src":"25423:38:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IVoterRewards_$69092_$returns$__$","typeString":"function (contract IVoterRewards)"}},"id":78250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25423:55:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78251,"nodeType":"ExpressionStatement","src":"25423:55:137"}]},"documentation":{"id":78237,"nodeType":"StructuredDocumentation","src":"25237:64:137","text":" @dev Set the address of the VoterRewards contract"},"functionSelector":"b25d6f62","id":78253,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78243,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76941,"src":"25385:30:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78244,"kind":"modifierInvocation","modifierName":{"id":78242,"name":"onlyRole","nameLocations":["25376:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"25376:8:137"},"nodeType":"ModifierInvocation","src":"25376:40:137"}],"name":"setVoterRewardsAddress","nameLocation":"25313:22:137","nodeType":"FunctionDefinition","parameters":{"id":78241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78240,"mutability":"mutable","name":"newVoterRewards","nameLocation":"25350:15:137","nodeType":"VariableDeclaration","scope":78253,"src":"25336:29:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":78239,"nodeType":"UserDefinedTypeName","pathNode":{"id":78238,"name":"IVoterRewards","nameLocations":["25336:13:137"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"25336:13:137"},"referencedDeclaration":69092,"src":"25336:13:137","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"25335:31:137"},"returnParameters":{"id":78245,"nodeType":"ParameterList","parameters":[],"src":"25417:0:137"},"scope":79243,"src":"25304:179:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78269,"nodeType":"Block","src":"25669:74:137","statements":[{"expression":{"arguments":[{"id":78266,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78257,"src":"25718:19:137","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"expression":{"id":78263,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"25675:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":78265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25698:19:137","memberName":"setVeBetterPassport","nodeType":"MemberAccess","referencedDeclaration":80190,"src":"25675:42:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IVeBetterPassport_$68601_$returns$__$","typeString":"function (contract IVeBetterPassport)"}},"id":78267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25675:63:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78268,"nodeType":"ExpressionStatement","src":"25675:63:137"}]},"documentation":{"id":78254,"nodeType":"StructuredDocumentation","src":"25487:53:137","text":" @dev Set the VeBetterPassport contract"},"functionSelector":"b3c93dab","id":78270,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78260,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76941,"src":"25637:30:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78261,"kind":"modifierInvocation","modifierName":{"id":78259,"name":"onlyRole","nameLocations":["25628:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"25628:8:137"},"nodeType":"ModifierInvocation","src":"25628:40:137"}],"name":"setVeBetterPassport","nameLocation":"25552:19:137","nodeType":"FunctionDefinition","parameters":{"id":78258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78257,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"25595:19:137","nodeType":"VariableDeclaration","scope":78270,"src":"25577:37:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":78256,"nodeType":"UserDefinedTypeName","pathNode":{"id":78255,"name":"IVeBetterPassport","nameLocations":["25577:17:137"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"25577:17:137"},"referencedDeclaration":68601,"src":"25577:17:137","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"25571:47:137"},"returnParameters":{"id":78262,"nodeType":"ParameterList","parameters":[],"src":"25669:0:137"},"scope":79243,"src":"25543:200:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78286,"nodeType":"Block","src":"25905:66:137","statements":[{"expression":{"arguments":[{"id":78283,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78274,"src":"25950:15:137","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"expression":{"id":78280,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"25911:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":78282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25934:15:137","memberName":"setB3TRGovernor","nodeType":"MemberAccess","referencedDeclaration":80239,"src":"25911:38:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IB3TRGovernor_$63919_$returns$__$","typeString":"function (contract IB3TRGovernor)"}},"id":78284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25911:55:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78285,"nodeType":"ExpressionStatement","src":"25911:55:137"}]},"documentation":{"id":78271,"nodeType":"StructuredDocumentation","src":"25747:49:137","text":" @dev Set the B3TRGovernor contract"},"functionSelector":"78a81336","id":78287,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78277,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76941,"src":"25873:30:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78278,"kind":"modifierInvocation","modifierName":{"id":78276,"name":"onlyRole","nameLocations":["25864:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"25864:8:137"},"nodeType":"ModifierInvocation","src":"25864:40:137"}],"name":"setB3TRGovernor","nameLocation":"25808:15:137","nodeType":"FunctionDefinition","parameters":{"id":78275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78274,"mutability":"mutable","name":"newB3TRGovernor","nameLocation":"25838:15:137","nodeType":"VariableDeclaration","scope":78287,"src":"25824:29:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":78273,"nodeType":"UserDefinedTypeName","pathNode":{"id":78272,"name":"IB3TRGovernor","nameLocations":["25824:13:137"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"25824:13:137"},"referencedDeclaration":63919,"src":"25824:13:137","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"25823:31:137"},"returnParameters":{"id":78279,"nodeType":"ParameterList","parameters":[],"src":"25905:0:137"},"scope":79243,"src":"25799:172:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78303,"nodeType":"Block","src":"26187:78:137","statements":[{"expression":{"arguments":[{"id":78300,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78291,"src":"26238:21:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"expression":{"id":78297,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"26193:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":78299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26216:21:137","memberName":"setRelayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":80288,"src":"26193:44:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_IRelayerRewardsPool_$67117_$returns$__$","typeString":"function (contract IRelayerRewardsPool)"}},"id":78301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26193:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78302,"nodeType":"ExpressionStatement","src":"26193:67:137"}]},"documentation":{"id":78288,"nodeType":"StructuredDocumentation","src":"25975:70:137","text":" @dev Set the address of the RelayerRewardsPool contract"},"functionSelector":"5dbdba6e","id":78304,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78294,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76941,"src":"26155:30:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78295,"kind":"modifierInvocation","modifierName":{"id":78293,"name":"onlyRole","nameLocations":["26146:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"26146:8:137"},"nodeType":"ModifierInvocation","src":"26146:40:137"}],"name":"setRelayerRewardsPoolAddress","nameLocation":"26057:28:137","nodeType":"FunctionDefinition","parameters":{"id":78292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78291,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"26111:21:137","nodeType":"VariableDeclaration","scope":78304,"src":"26091:41:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":78290,"nodeType":"UserDefinedTypeName","pathNode":{"id":78289,"name":"IRelayerRewardsPool","nameLocations":["26091:19:137"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"26091:19:137"},"referencedDeclaration":67117,"src":"26091:19:137","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"26085:51:137"},"returnParameters":{"id":78296,"nodeType":"ParameterList","parameters":[],"src":"26187:0:137"},"scope":79243,"src":"26048:217:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78320,"nodeType":"Block","src":"26470:76:137","statements":[{"expression":{"arguments":[{"id":78317,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78308,"src":"26520:20:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"expression":{"id":78314,"name":"ExternalContractsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80338,"src":"26476:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ExternalContractsUtils_$80338_$","typeString":"type(library ExternalContractsUtils)"}},"id":78316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26499:20:137","memberName":"setNavigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":80337,"src":"26476:43:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_contract$_INavigatorRegistry_$66638_$returns$__$","typeString":"function (contract INavigatorRegistry)"}},"id":78318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26476:65:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78319,"nodeType":"ExpressionStatement","src":"26476:65:137"}]},"documentation":{"id":78305,"nodeType":"StructuredDocumentation","src":"26269:69:137","text":" @dev Set the address of the NavigatorRegistry contract"},"functionSelector":"f530108f","id":78321,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78311,"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76941,"src":"26438:30:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78312,"kind":"modifierInvocation","modifierName":{"id":78310,"name":"onlyRole","nameLocations":["26429:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"26429:8:137"},"nodeType":"ModifierInvocation","src":"26429:40:137"}],"name":"setNavigatorRegistry","nameLocation":"26350:20:137","nodeType":"FunctionDefinition","parameters":{"id":78309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78308,"mutability":"mutable","name":"newNavigatorRegistry","nameLocation":"26395:20:137","nodeType":"VariableDeclaration","scope":78321,"src":"26376:39:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":78307,"nodeType":"UserDefinedTypeName","pathNode":{"id":78306,"name":"INavigatorRegistry","nameLocations":["26376:18:137"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"26376:18:137"},"referencedDeclaration":66638,"src":"26376:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"26370:49:137"},"returnParameters":{"id":78313,"nodeType":"ParameterList","parameters":[],"src":"26470:0:137"},"scope":79243,"src":"26341:205:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78336,"nodeType":"Block","src":"26804:73:137","statements":[{"expression":{"arguments":[{"id":78333,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78324,"src":"26853:18:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78330,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"26810:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26834:18:137","memberName":"setVotingThreshold","nodeType":"MemberAccess","referencedDeclaration":80982,"src":"26810:42:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26810:62:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78335,"nodeType":"ExpressionStatement","src":"26810:62:137"}]},"documentation":{"id":78322,"nodeType":"StructuredDocumentation","src":"26550:162:137","text":" @dev Update the voting threshold. This operation can only be performed through a governance proposal.\n Emits a {VotingThresholdSet} event."},"functionSelector":"836761e0","id":78337,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78327,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76935,"src":"26787:15:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78328,"kind":"modifierInvocation","modifierName":{"id":78326,"name":"onlyRole","nameLocations":["26778:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"26778:8:137"},"nodeType":"ModifierInvocation","src":"26778:25:137"}],"name":"setVotingThreshold","nameLocation":"26724:18:137","nodeType":"FunctionDefinition","parameters":{"id":78325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78324,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"26751:18:137","nodeType":"VariableDeclaration","scope":78337,"src":"26743:26:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78323,"name":"uint256","nodeType":"ElementaryTypeName","src":"26743:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26742:28:137"},"returnParameters":{"id":78329,"nodeType":"ParameterList","parameters":[],"src":"26804:0:137"},"scope":79243,"src":"26715:162:137","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":78352,"nodeType":"Block","src":"27041:68:137","statements":[{"expression":{"arguments":[{"id":78349,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78340,"src":"27090:13:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78346,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"27047:26:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":78348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27074:15:137","memberName":"setAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":80716,"src":"27047:42:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27047:57:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78351,"nodeType":"ExpressionStatement","src":"27047:57:137"}]},"documentation":{"id":78338,"nodeType":"StructuredDocumentation","src":"26881:74:137","text":" @dev Set the max amount of shares an app can get in a round"},"functionSelector":"74038935","id":78353,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78343,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76935,"src":"27024:15:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78344,"kind":"modifierInvocation","modifierName":{"id":78342,"name":"onlyRole","nameLocations":["27015:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"27015:8:137"},"nodeType":"ModifierInvocation","src":"27015:25:137"}],"name":"setAppSharesCap","nameLocation":"26967:15:137","nodeType":"FunctionDefinition","parameters":{"id":78341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78340,"mutability":"mutable","name":"appSharesCap_","nameLocation":"26991:13:137","nodeType":"VariableDeclaration","scope":78353,"src":"26983:21:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78339,"name":"uint256","nodeType":"ElementaryTypeName","src":"26983:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26982:23:137"},"returnParameters":{"id":78345,"nodeType":"ParameterList","parameters":[],"src":"27041:0:137"},"scope":79243,"src":"26958:151:137","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":78368,"nodeType":"Block","src":"27309:92:137","statements":[{"expression":{"arguments":[{"id":78365,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78356,"src":"27370:25:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78362,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"27315:26:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":78364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27342:27:137","memberName":"setBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":80685,"src":"27315:54:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27315:81:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78367,"nodeType":"ExpressionStatement","src":"27315:81:137"}]},"documentation":{"id":78354,"nodeType":"StructuredDocumentation","src":"27113:88:137","text":" @dev Set the base allocation percentage for funds distribution in a round"},"functionSelector":"f5fae136","id":78369,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78359,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76935,"src":"27292:15:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78360,"kind":"modifierInvocation","modifierName":{"id":78358,"name":"onlyRole","nameLocations":["27283:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"27283:8:137"},"nodeType":"ModifierInvocation","src":"27283:25:137"}],"name":"setBaseAllocationPercentage","nameLocation":"27213:27:137","nodeType":"FunctionDefinition","parameters":{"id":78357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78356,"mutability":"mutable","name":"baseAllocationPercentage_","nameLocation":"27249:25:137","nodeType":"VariableDeclaration","scope":78369,"src":"27241:33:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78355,"name":"uint256","nodeType":"ElementaryTypeName","src":"27241:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27240:35:137"},"returnParameters":{"id":78361,"nodeType":"ParameterList","parameters":[],"src":"27309:0:137"},"scope":79243,"src":"27204:197:137","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":78390,"nodeType":"Block","src":"27543:170:137","statements":[{"expression":{"arguments":[{"id":78381,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78372,"src":"27592:15:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78382,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"27615:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":78383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27645:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"27615:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":78384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27615:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":78385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27676:10:137","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":82988,"src":"27615:71:137","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":78386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27687:13:137","memberName":"cycleDuration","nodeType":"MemberAccess","referencedDeclaration":64165,"src":"27615:85:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":78387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27615:87:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78378,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"27549:19:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":78380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27569:15:137","memberName":"setVotingPeriod","nodeType":"MemberAccess","referencedDeclaration":82753,"src":"27549:35:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint32_$_t_uint256_$returns$__$","typeString":"function (uint32,uint256)"}},"id":78388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27549:159:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78389,"nodeType":"ExpressionStatement","src":"27549:159:137"}]},"documentation":{"id":78370,"nodeType":"StructuredDocumentation","src":"27405:53:137","text":" @dev Set the voting period for a round"},"functionSelector":"e540d01d","id":78391,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78375,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76935,"src":"27526:15:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78376,"kind":"modifierInvocation","modifierName":{"id":78374,"name":"onlyRole","nameLocations":["27517:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"27517:8:137"},"nodeType":"ModifierInvocation","src":"27517:25:137"}],"name":"setVotingPeriod","nameLocation":"27470:15:137","nodeType":"FunctionDefinition","parameters":{"id":78373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78372,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"27493:15:137","nodeType":"VariableDeclaration","scope":78391,"src":"27486:22:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":78371,"name":"uint32","nodeType":"ElementaryTypeName","src":"27486:6:137","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"27485:24:137"},"returnParameters":{"id":78377,"nodeType":"ParameterList","parameters":[],"src":"27543:0:137"},"scope":79243,"src":"27461:252:137","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":78406,"nodeType":"Block","src":"27924:67:137","statements":[{"expression":{"arguments":[{"id":78403,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78394,"src":"27977:8:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78400,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"27930:19:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":78402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27950:26:137","memberName":"setCitizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82800,"src":"27930:46:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27930:56:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78405,"nodeType":"ExpressionStatement","src":"27930:56:137"}]},"documentation":{"id":78392,"nodeType":"StructuredDocumentation","src":"27717:117:137","text":" @dev Set the citizen skip window (blocks before round deadline when relayers can skip navigator votes)"},"functionSelector":"9382c818","id":78407,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78397,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76935,"src":"27907:15:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78398,"kind":"modifierInvocation","modifierName":{"id":78396,"name":"onlyRole","nameLocations":["27898:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"27898:8:137"},"nodeType":"ModifierInvocation","src":"27898:25:137"}],"name":"setCitizenSkipWindowBlocks","nameLocation":"27846:26:137","nodeType":"FunctionDefinition","parameters":{"id":78395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78394,"mutability":"mutable","name":"newValue","nameLocation":"27881:8:137","nodeType":"VariableDeclaration","scope":78407,"src":"27873:16:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78393,"name":"uint256","nodeType":"ElementaryTypeName","src":"27873:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27872:18:137"},"returnParameters":{"id":78399,"nodeType":"ParameterList","parameters":[],"src":"27924:0:137"},"scope":79243,"src":"27837:154:137","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":78425,"nodeType":"Block","src":"28167:97:137","statements":[{"expression":{"arguments":[{"id":78419,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78410,"src":"28220:18:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78420,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"28240:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":78421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28251:5:137","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"28240:16:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":78422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28240:18:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":78416,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"28173:24:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":78418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28198:21:137","memberName":"updateQuorumNumerator","nodeType":"MemberAccess","referencedDeclaration":82412,"src":"28173:46:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_uint256_$_t_uint48_$returns$__$","typeString":"function (uint256,uint48)"}},"id":78423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28173:86:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78424,"nodeType":"ExpressionStatement","src":"28173:86:137"}]},"documentation":{"id":78408,"nodeType":"StructuredDocumentation","src":"27995:77:137","text":" @dev Update the quorum a round needs to reach to be successful"},"functionSelector":"06f3f9e6","id":78426,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":78413,"name":"GOVERNANCE_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76935,"src":"28150:15:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":78414,"kind":"modifierInvocation","modifierName":{"id":78412,"name":"onlyRole","nameLocations":["28141:8:137"],"nodeType":"IdentifierPath","referencedDeclaration":57,"src":"28141:8:137"},"nodeType":"ModifierInvocation","src":"28141:25:137"}],"name":"updateQuorumNumerator","nameLocation":"28084:21:137","nodeType":"FunctionDefinition","parameters":{"id":78411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78410,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"28114:18:137","nodeType":"VariableDeclaration","scope":78426,"src":"28106:26:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78409,"name":"uint256","nodeType":"ElementaryTypeName","src":"28106:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28105:28:137"},"returnParameters":{"id":78415,"nodeType":"ParameterList","parameters":[],"src":"28167:0:137"},"scope":79243,"src":"28075:189:137","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[70837],"body":{"id":78434,"nodeType":"Block","src":"28449:22:137","statements":[{"expression":{"hexValue":"3130","id":78432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28462:4:137","typeDescriptions":{"typeIdentifier":"t_stringliteral_1a192fabce13988b84994d4296e6cdc418d55e2f1d7f942188d4040b94fc57ac","typeString":"literal_string \"10\""},"value":"10"},"functionReturnParameters":78431,"id":78433,"nodeType":"Return","src":"28455:11:137"}]},"documentation":{"id":78427,"nodeType":"StructuredDocumentation","src":"28335:56:137","text":" @dev Returns the version of the governor."},"functionSelector":"54fd4d50","id":78435,"implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"28403:7:137","nodeType":"FunctionDefinition","parameters":{"id":78428,"nodeType":"ParameterList","parameters":[],"src":"28410:2:137"},"returnParameters":{"id":78431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78430,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78435,"src":"28434:13:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":78429,"name":"string","nodeType":"ElementaryTypeName","src":"28434:6:137","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28433:15:137"},"scope":79243,"src":"28394:77:137","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":78445,"nodeType":"Block","src":"28604:63:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78441,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"28617:19:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":78442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28637:23:137","memberName":"citizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82765,"src":"28617:43:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28617:45:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78440,"id":78444,"nodeType":"Return","src":"28610:52:137"}]},"documentation":{"id":78436,"nodeType":"StructuredDocumentation","src":"28475:61:137","text":" @dev Returns the citizen skip window in blocks"},"functionSelector":"abc517fd","id":78446,"implemented":true,"kind":"function","modifiers":[],"name":"citizenSkipWindowBlocks","nameLocation":"28548:23:137","nodeType":"FunctionDefinition","parameters":{"id":78437,"nodeType":"ParameterList","parameters":[],"src":"28571:2:137"},"returnParameters":{"id":78440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78446,"src":"28595:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78438,"name":"uint256","nodeType":"ElementaryTypeName","src":"28595:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28594:9:137"},"scope":79243,"src":"28539:128:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71067],"body":{"id":78461,"nodeType":"Block","src":"28812:53:137","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"id":78459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78455,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78449,"src":"28831:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78454,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78526,"src":"28825:5:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_enum$_RoundState_$70612_$","typeString":"function (uint256) view returns (enum IXAllocationVotingGovernor.RoundState)"}},"id":78456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28825:14:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":78457,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"28843:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":78458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28854:6:137","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":70609,"src":"28843:17:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"src":"28825:35:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78453,"id":78460,"nodeType":"Return","src":"28818:42:137"}]},"documentation":{"id":78447,"nodeType":"StructuredDocumentation","src":"28671:76:137","text":" @dev Checks if the specified round is in active state or not."},"functionSelector":"82afd23b","id":78462,"implemented":true,"kind":"function","modifiers":[],"name":"isActive","nameLocation":"28759:8:137","nodeType":"FunctionDefinition","parameters":{"id":78450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78449,"mutability":"mutable","name":"roundId","nameLocation":"28776:7:137","nodeType":"VariableDeclaration","scope":78462,"src":"28768:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78448,"name":"uint256","nodeType":"ElementaryTypeName","src":"28768:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28767:17:137"},"returnParameters":{"id":78453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78452,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78462,"src":"28806:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78451,"name":"bool","nodeType":"ElementaryTypeName","src":"28806:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28805:6:137"},"scope":79243,"src":"28750:115:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70846],"body":{"id":78525,"nodeType":"Block","src":"28994:512:137","statements":[{"assignments":[78472],"declarations":[{"constant":false,"id":78472,"mutability":"mutable","name":"snapshot","nameLocation":"29008:8:137","nodeType":"VariableDeclaration","scope":78525,"src":"29000:16:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78471,"name":"uint256","nodeType":"ElementaryTypeName","src":"29000:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78477,"initialValue":{"arguments":[{"id":78475,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78465,"src":"29052:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78473,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"29019:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29038:13:137","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":81902,"src":"29019:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29019:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29000:60:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78478,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78472,"src":"29071:8:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":78479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29083:1:137","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29071:13:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78486,"nodeType":"IfStatement","src":"29067:74:137","trueBody":{"id":78485,"nodeType":"Block","src":"29086:55:137","statements":[{"errorCall":{"arguments":[{"id":78482,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78465,"src":"29126:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78481,"name":"GovernorNonexistentRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70627,"src":"29101:24:137","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":78483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29101:33:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78484,"nodeType":"RevertStatement","src":"29094:40:137"}]}},{"assignments":[78488],"declarations":[{"constant":false,"id":78488,"mutability":"mutable","name":"currentTimepoint","nameLocation":"29155:16:137","nodeType":"VariableDeclaration","scope":78525,"src":"29147:24:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78487,"name":"uint256","nodeType":"ElementaryTypeName","src":"29147:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78492,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78489,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"29174:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":78490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29185:5:137","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"29174:16:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":78491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29174:18:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"29147:45:137"},{"assignments":[78494],"declarations":[{"constant":false,"id":78494,"mutability":"mutable","name":"deadline","nameLocation":"29206:8:137","nodeType":"VariableDeclaration","scope":78525,"src":"29198:16:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78493,"name":"uint256","nodeType":"ElementaryTypeName","src":"29198:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78499,"initialValue":{"arguments":[{"id":78497,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78465,"src":"29250:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78495,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"29217:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29236:13:137","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":81938,"src":"29217:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29217:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29198:60:137"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78500,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78494,"src":"29269:8:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":78501,"name":"currentTimepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78488,"src":"29281:16:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29269:28:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":78514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"29348:65:137","subExpression":{"arguments":[{"id":78509,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78465,"src":"29387:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":78511,"name":"snapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78472,"src":"29403:8:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78510,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78645,"src":"29396:6:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29396:16:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78507,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"29349:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29373:13:137","memberName":"voteSucceeded","nodeType":"MemberAccess","referencedDeclaration":81268,"src":"29349:37:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) view returns (bool)"}},"id":78513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29349:64:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78522,"nodeType":"Block","src":"29460:42:137","statements":[{"expression":{"expression":{"id":78519,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"29475:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":78520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29486:9:137","memberName":"Succeeded","nodeType":"MemberAccess","referencedDeclaration":70611,"src":"29475:20:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"functionReturnParameters":78470,"id":78521,"nodeType":"Return","src":"29468:27:137"}]},"id":78523,"nodeType":"IfStatement","src":"29344:158:137","trueBody":{"id":78518,"nodeType":"Block","src":"29415:39:137","statements":[{"expression":{"expression":{"id":78515,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"29430:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":78516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29441:6:137","memberName":"Failed","nodeType":"MemberAccess","referencedDeclaration":70610,"src":"29430:17:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"functionReturnParameters":78470,"id":78517,"nodeType":"Return","src":"29423:24:137"}]}},"id":78524,"nodeType":"IfStatement","src":"29265:237:137","trueBody":{"id":78506,"nodeType":"Block","src":"29299:39:137","statements":[{"expression":{"expression":{"id":78503,"name":"RoundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70612,"src":"29314:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RoundState_$70612_$","typeString":"type(enum IXAllocationVotingGovernor.RoundState)"}},"id":78504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29325:6:137","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":70609,"src":"29314:17:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"functionReturnParameters":78470,"id":78505,"nodeType":"Return","src":"29307:24:137"}]}}]},"documentation":{"id":78463,"nodeType":"StructuredDocumentation","src":"28869:57:137","text":" @dev Returns the current state of a round."},"functionSelector":"3e4f49e6","id":78526,"implemented":true,"kind":"function","modifiers":[],"name":"state","nameLocation":"28938:5:137","nodeType":"FunctionDefinition","parameters":{"id":78466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78465,"mutability":"mutable","name":"roundId","nameLocation":"28952:7:137","nodeType":"VariableDeclaration","scope":78526,"src":"28944:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78464,"name":"uint256","nodeType":"ElementaryTypeName","src":"28944:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28943:17:137"},"returnParameters":{"id":78470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78469,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78526,"src":"28982:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":78468,"nodeType":"UserDefinedTypeName","pathNode":{"id":78467,"name":"RoundState","nameLocations":["28982:10:137"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"28982:10:137"},"referencedDeclaration":70612,"src":"28982:10:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"}],"src":"28981:12:137"},"scope":79243,"src":"28929:577:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71040],"body":{"id":78544,"nodeType":"Block","src":"29656:96:137","statements":[{"expression":{"arguments":[{"id":78536,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78529,"src":"29707:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":78539,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78529,"src":"29737:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78538,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78714,"src":"29723:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29723:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78537,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78645,"src":"29716:6:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29716:30:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78534,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"29669:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29693:13:137","memberName":"quorumReached","nodeType":"MemberAccess","referencedDeclaration":81208,"src":"29669:37:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) view returns (bool)"}},"id":78542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:78:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78533,"id":78543,"nodeType":"Return","src":"29662:85:137"}]},"documentation":{"id":78527,"nodeType":"StructuredDocumentation","src":"29510:76:137","text":" @dev Checks if the quorum has been reached for a given round."},"functionSelector":"d4a8dd98","id":78545,"implemented":true,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"29598:13:137","nodeType":"FunctionDefinition","parameters":{"id":78530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78529,"mutability":"mutable","name":"roundId","nameLocation":"29620:7:137","nodeType":"VariableDeclaration","scope":78545,"src":"29612:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78528,"name":"uint256","nodeType":"ElementaryTypeName","src":"29612:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29611:17:137"},"returnParameters":{"id":78533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78545,"src":"29650:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78531,"name":"bool","nodeType":"ElementaryTypeName","src":"29650:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29649:6:137"},"scope":79243,"src":"29589:163:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70894],"body":{"id":78561,"nodeType":"Block","src":"29932:57:137","statements":[{"expression":{"arguments":[{"id":78557,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78548,"src":"29965:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78558,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78550,"src":"29974:9:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78555,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"29945:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":78556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29956:8:137","memberName":"getVotes","nodeType":"MemberAccess","referencedDeclaration":82661,"src":"29945:19:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29945:39:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78554,"id":78560,"nodeType":"Return","src":"29938:46:137"}]},"documentation":{"id":78546,"nodeType":"StructuredDocumentation","src":"29756:89:137","text":" @dev Returns the available votes for a given account at a given timepoint."},"functionSelector":"eb9019d4","id":78562,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"29857:8:137","nodeType":"FunctionDefinition","parameters":{"id":78551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78548,"mutability":"mutable","name":"account","nameLocation":"29874:7:137","nodeType":"VariableDeclaration","scope":78562,"src":"29866:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78547,"name":"address","nodeType":"ElementaryTypeName","src":"29866:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78550,"mutability":"mutable","name":"timepoint","nameLocation":"29891:9:137","nodeType":"VariableDeclaration","scope":78562,"src":"29883:17:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78549,"name":"uint256","nodeType":"ElementaryTypeName","src":"29883:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29865:36:137"},"returnParameters":{"id":78554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78562,"src":"29923:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78552,"name":"uint256","nodeType":"ElementaryTypeName","src":"29923:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29922:9:137"},"scope":79243,"src":"29848:141:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71117],"body":{"id":78577,"nodeType":"Block","src":"30173:45:137","statements":[{"expression":{"arguments":[{"id":78573,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78565,"src":"30195:5:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78574,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78567,"src":"30202:10:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78572,"name":"getVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78562,"src":"30186:8:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30186:27:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78571,"id":78576,"nodeType":"Return","src":"30179:34:137"}]},"documentation":{"id":78563,"nodeType":"StructuredDocumentation","src":"29993:83:137","text":"@dev Deprecated: use getVotes instead, which now includes deposit voting power."},"functionSelector":"4cadad2f","id":78578,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalVotingPower","nameLocation":"30088:19:137","nodeType":"FunctionDefinition","parameters":{"id":78568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78565,"mutability":"mutable","name":"voter","nameLocation":"30116:5:137","nodeType":"VariableDeclaration","scope":78578,"src":"30108:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78564,"name":"address","nodeType":"ElementaryTypeName","src":"30108:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78567,"mutability":"mutable","name":"roundStart","nameLocation":"30131:10:137","nodeType":"VariableDeclaration","scope":78578,"src":"30123:18:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78566,"name":"uint256","nodeType":"ElementaryTypeName","src":"30123:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30107:35:137"},"returnParameters":{"id":78571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78570,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78578,"src":"30164:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78569,"name":"uint256","nodeType":"ElementaryTypeName","src":"30164:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30163:9:137"},"scope":79243,"src":"30079:139:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71059],"body":{"id":78599,"nodeType":"Block","src":"30393:162:137","statements":[{"expression":{"arguments":[{"id":78593,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78581,"src":"30505:5:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":78595,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78583,"src":"30534:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78594,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78714,"src":"30520:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30520:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78588,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"30412:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":78589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30442:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"30412:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":78590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30412:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":78591,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30473:11:137","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"30412:72:137","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":78592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30485:10:137","memberName":"isEligible","nodeType":"MemberAccess","referencedDeclaration":69701,"src":"30412:83:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$","typeString":"function (bytes32,uint256) view external returns (bool)"}},"id":78597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30412:138:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78587,"id":78598,"nodeType":"Return","src":"30399:151:137"}]},"documentation":{"id":78579,"nodeType":"StructuredDocumentation","src":"30222:82:137","text":" @dev Checks if the given appId can be voted for in the given round."},"functionSelector":"d68b4c36","id":78600,"implemented":true,"kind":"function","modifiers":[],"name":"isEligibleForVote","nameLocation":"30316:17:137","nodeType":"FunctionDefinition","parameters":{"id":78584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78581,"mutability":"mutable","name":"appId","nameLocation":"30342:5:137","nodeType":"VariableDeclaration","scope":78600,"src":"30334:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":78580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30334:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":78583,"mutability":"mutable","name":"roundId","nameLocation":"30357:7:137","nodeType":"VariableDeclaration","scope":78600,"src":"30349:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78582,"name":"uint256","nodeType":"ElementaryTypeName","src":"30349:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30333:32:137"},"returnParameters":{"id":78587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78600,"src":"30387:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78585,"name":"bool","nodeType":"ElementaryTypeName","src":"30387:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30386:6:137"},"scope":79243,"src":"30307:248:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":78619,"nodeType":"Block","src":"30753:164:137","statements":[{"expression":{"arguments":[{"id":78615,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78603,"src":"30878:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78616,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78605,"src":"30895:9:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78610,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"30772:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":78611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30802:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"30772:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":78612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30772:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":78613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30833:13:137","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":82997,"src":"30772:74:137","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":78614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30847:21:137","memberName":"getDepositVotingPower","nodeType":"MemberAccess","referencedDeclaration":63754,"src":"30772:96:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":78617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30772:140:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78609,"id":78618,"nodeType":"Return","src":"30759:153:137"}]},"documentation":{"id":78601,"nodeType":"StructuredDocumentation","src":"30559:94:137","text":" @dev Returns the deposit voting power for a given account at a given timepoint."},"functionSelector":"a56b5765","id":78620,"implemented":true,"kind":"function","modifiers":[],"name":"getDepositVotingPower","nameLocation":"30665:21:137","nodeType":"FunctionDefinition","parameters":{"id":78606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78603,"mutability":"mutable","name":"account","nameLocation":"30695:7:137","nodeType":"VariableDeclaration","scope":78620,"src":"30687:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78602,"name":"address","nodeType":"ElementaryTypeName","src":"30687:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78605,"mutability":"mutable","name":"timepoint","nameLocation":"30712:9:137","nodeType":"VariableDeclaration","scope":78620,"src":"30704:17:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78604,"name":"uint256","nodeType":"ElementaryTypeName","src":"30704:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30686:36:137"},"returnParameters":{"id":78609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78608,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78620,"src":"30744:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78607,"name":"uint256","nodeType":"ElementaryTypeName","src":"30744:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30743:9:137"},"scope":79243,"src":"30656:261:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70868],"body":{"id":78630,"nodeType":"Block","src":"31108:52:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78626,"name":"VotingSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82801,"src":"31121:19:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotingSettingsUtils_$82801_$","typeString":"type(library VotingSettingsUtils)"}},"id":78627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31141:12:137","memberName":"votingPeriod","nodeType":"MemberAccess","referencedDeclaration":82705,"src":"31121:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31121:34:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78625,"id":78629,"nodeType":"Return","src":"31114:41:137"}]},"documentation":{"id":78621,"nodeType":"StructuredDocumentation","src":"30996:55:137","text":"@dev See {IXAllocationVotingGovernor-votingPeriod}."},"functionSelector":"02a251a3","id":78631,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"31063:12:137","nodeType":"FunctionDefinition","parameters":{"id":78622,"nodeType":"ParameterList","parameters":[],"src":"31075:2:137"},"returnParameters":{"id":78625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78624,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78631,"src":"31099:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78623,"name":"uint256","nodeType":"ElementaryTypeName","src":"31099:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31098:9:137"},"scope":79243,"src":"31054:106:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70876],"body":{"id":78644,"nodeType":"Block","src":"31311:60:137","statements":[{"expression":{"arguments":[{"id":78641,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78634,"src":"31356:9:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78639,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"31324:24:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":78640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31349:6:137","memberName":"quorum","nodeType":"MemberAccess","referencedDeclaration":82355,"src":"31324:31:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31324:42:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78638,"id":78643,"nodeType":"Return","src":"31317:49:137"}]},"documentation":{"id":78632,"nodeType":"StructuredDocumentation","src":"31164:79:137","text":"@dev Returns the quorum for a given timepoint, based on token total supply."},"functionSelector":"f8ce560a","id":78645,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"31255:6:137","nodeType":"FunctionDefinition","parameters":{"id":78635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78634,"mutability":"mutable","name":"timepoint","nameLocation":"31270:9:137","nodeType":"VariableDeclaration","scope":78645,"src":"31262:17:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78633,"name":"uint256","nodeType":"ElementaryTypeName","src":"31262:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31261:19:137"},"returnParameters":{"id":78638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78645,"src":"31302:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78636,"name":"uint256","nodeType":"ElementaryTypeName","src":"31302:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31301:9:137"},"scope":79243,"src":"31246:125:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[4545],"body":{"id":78655,"nodeType":"Block","src":"31601:36:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78651,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"31614:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":78652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31625:5:137","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":82511,"src":"31614:16:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":78653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31614:18:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":78650,"id":78654,"nodeType":"Return","src":"31607:25:137"}]},"documentation":{"id":78646,"nodeType":"StructuredDocumentation","src":"31451:101:137","text":"@dev Clock used for flagging checkpoints, as specified in EIP-6372. Matched to the token's clock."},"functionSelector":"91ddadf4","id":78656,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"31564:5:137","nodeType":"FunctionDefinition","parameters":{"id":78647,"nodeType":"ParameterList","parameters":[],"src":"31569:2:137"},"returnParameters":{"id":78650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78656,"src":"31593:6:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":78648,"name":"uint48","nodeType":"ElementaryTypeName","src":"31593:6:137","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"31592:8:137"},"scope":79243,"src":"31555:82:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[4551],"body":{"id":78666,"nodeType":"Block","src":"31829:41:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78662,"name":"VotesUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82662,"src":"31842:10:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesUtils_$82662_$","typeString":"type(library VotesUtils)"}},"id":78663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31853:10:137","memberName":"CLOCK_MODE","nodeType":"MemberAccess","referencedDeclaration":82543,"src":"31842:21:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":78664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31842:23:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":78661,"id":78665,"nodeType":"Return","src":"31835:30:137"}]},"documentation":{"id":78657,"nodeType":"StructuredDocumentation","src":"31641:76:137","text":"@dev Machine-readable description of the clock as specified in EIP-6372."},"functionSelector":"4bf5d7e9","id":78667,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"31780:10:137","nodeType":"FunctionDefinition","parameters":{"id":78658,"nodeType":"ParameterList","parameters":[],"src":"31790:2:137"},"returnParameters":{"id":78661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78660,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78667,"src":"31814:13:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":78659,"name":"string","nodeType":"ElementaryTypeName","src":"31814:6:137","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31813:15:137"},"scope":79243,"src":"31771:99:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71020],"body":{"id":78677,"nodeType":"Block","src":"32043:53:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78673,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32056:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32075:14:137","memberName":"currentRoundId","nodeType":"MemberAccess","referencedDeclaration":81812,"src":"32056:33:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32056:35:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78672,"id":78676,"nodeType":"Return","src":"32049:42:137"}]},"documentation":{"id":78668,"nodeType":"StructuredDocumentation","src":"31947:37:137","text":"@dev Returns the latest round id."},"functionSelector":"9cbe5efd","id":78678,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"31996:14:137","nodeType":"FunctionDefinition","parameters":{"id":78669,"nodeType":"ParameterList","parameters":[],"src":"32010:2:137"},"returnParameters":{"id":78672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78671,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78678,"src":"32034:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78670,"name":"uint256","nodeType":"ElementaryTypeName","src":"32034:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32033:9:137"},"scope":79243,"src":"31987:109:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71026],"body":{"id":78688,"nodeType":"Block","src":"32245:59:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78684,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32258:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32277:20:137","memberName":"currentRoundSnapshot","nodeType":"MemberAccess","referencedDeclaration":81839,"src":"32258:39:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32258:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78683,"id":78687,"nodeType":"Return","src":"32251:48:137"}]},"documentation":{"id":78679,"nodeType":"StructuredDocumentation","src":"32100:80:137","text":"@dev Returns the block number at which the current round snapshot was taken."},"functionSelector":"561b64ef","id":78689,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"32192:20:137","nodeType":"FunctionDefinition","parameters":{"id":78680,"nodeType":"ParameterList","parameters":[],"src":"32212:2:137"},"returnParameters":{"id":78683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78682,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78689,"src":"32236:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78681,"name":"uint256","nodeType":"ElementaryTypeName","src":"32236:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32235:9:137"},"scope":79243,"src":"32183:121:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71032],"body":{"id":78699,"nodeType":"Block","src":"32439:59:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78695,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32452:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32471:20:137","memberName":"currentRoundDeadline","nodeType":"MemberAccess","referencedDeclaration":81878,"src":"32452:39:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32452:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78694,"id":78698,"nodeType":"Return","src":"32445:48:137"}]},"documentation":{"id":78690,"nodeType":"StructuredDocumentation","src":"32308:66:137","text":"@dev Returns the block number at which the current round ends."},"functionSelector":"59372812","id":78700,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundDeadline","nameLocation":"32386:20:137","nodeType":"FunctionDefinition","parameters":{"id":78691,"nodeType":"ParameterList","parameters":[],"src":"32406:2:137"},"returnParameters":{"id":78694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78700,"src":"32430:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78692,"name":"uint256","nodeType":"ElementaryTypeName","src":"32430:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32429:9:137"},"scope":79243,"src":"32377:121:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70854],"body":{"id":78713,"nodeType":"Block","src":"32642:59:137","statements":[{"expression":{"arguments":[{"id":78710,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78703,"src":"32688:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78708,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32655:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32674:13:137","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":81902,"src":"32655:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32655:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78707,"id":78712,"nodeType":"Return","src":"32648:48:137"}]},"documentation":{"id":78701,"nodeType":"StructuredDocumentation","src":"32502:67:137","text":"@dev Returns the block number when the round starts (snapshot)."},"functionSelector":"d06efeda","id":78714,"implemented":true,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"32581:13:137","nodeType":"FunctionDefinition","parameters":{"id":78704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78703,"mutability":"mutable","name":"roundId","nameLocation":"32603:7:137","nodeType":"VariableDeclaration","scope":78714,"src":"32595:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78702,"name":"uint256","nodeType":"ElementaryTypeName","src":"32595:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32594:17:137"},"returnParameters":{"id":78707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78706,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78714,"src":"32633:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78705,"name":"uint256","nodeType":"ElementaryTypeName","src":"32633:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32632:9:137"},"scope":79243,"src":"32572:129:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70862],"body":{"id":78727,"nodeType":"Block","src":"32832:59:137","statements":[{"expression":{"arguments":[{"id":78724,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78717,"src":"32878:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78722,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"32845:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32864:13:137","memberName":"roundDeadline","nodeType":"MemberAccess","referencedDeclaration":81938,"src":"32845:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32845:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78721,"id":78726,"nodeType":"Return","src":"32838:48:137"}]},"documentation":{"id":78715,"nodeType":"StructuredDocumentation","src":"32705:54:137","text":"@dev Returns the block number when the round ends."},"functionSelector":"d3a368bd","id":78728,"implemented":true,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"32771:13:137","nodeType":"FunctionDefinition","parameters":{"id":78718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78717,"mutability":"mutable","name":"roundId","nameLocation":"32793:7:137","nodeType":"VariableDeclaration","scope":78728,"src":"32785:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78716,"name":"uint256","nodeType":"ElementaryTypeName","src":"32785:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32784:17:137"},"returnParameters":{"id":78721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78728,"src":"32823:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78719,"name":"uint256","nodeType":"ElementaryTypeName","src":"32823:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32822:9:137"},"scope":79243,"src":"32762:129:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71049],"body":{"id":78742,"nodeType":"Block","src":"33048:62:137","statements":[{"expression":{"arguments":[{"id":78739,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78731,"src":"33097:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78737,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"33061:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33080:16:137","memberName":"getAppIdsOfRound","nodeType":"MemberAccess","referencedDeclaration":81986,"src":"33061:35:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) view returns (bytes32[] memory)"}},"id":78740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33061:44:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":78736,"id":78741,"nodeType":"Return","src":"33054:51:137"}]},"documentation":{"id":78729,"nodeType":"StructuredDocumentation","src":"32895:68:137","text":"@dev Returns the ids of the apps eligible for voting in a round."},"functionSelector":"7ace2485","id":78743,"implemented":true,"kind":"function","modifiers":[],"name":"getAppIdsOfRound","nameLocation":"32975:16:137","nodeType":"FunctionDefinition","parameters":{"id":78732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78731,"mutability":"mutable","name":"roundId","nameLocation":"33000:7:137","nodeType":"VariableDeclaration","scope":78743,"src":"32992:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78730,"name":"uint256","nodeType":"ElementaryTypeName","src":"32992:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32991:17:137"},"returnParameters":{"id":78736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78735,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78743,"src":"33030:16:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":78733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33030:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":78734,"nodeType":"ArrayTypeName","src":"33030:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"33029:18:137"},"scope":79243,"src":"32966:144:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":78757,"nodeType":"Block","src":"33260:54:137","statements":[{"expression":{"arguments":[{"id":78754,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78746,"src":"33301:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78752,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"33273:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33292:8:137","memberName":"getRound","nodeType":"MemberAccess","referencedDeclaration":82010,"src":"33273:27:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_struct$_RoundCore_$82969_memory_ptr_$","typeString":"function (uint256) view returns (struct XAllocationVotingStorageTypes.RoundCore memory)"}},"id":78755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33273:36:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_memory_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore memory"}},"functionReturnParameters":78751,"id":78756,"nodeType":"Return","src":"33266:43:137"}]},"documentation":{"id":78744,"nodeType":"StructuredDocumentation","src":"33114:37:137","text":"@dev Returns the data of a round."},"functionSelector":"8f1327c0","id":78758,"implemented":true,"kind":"function","modifiers":[],"name":"getRound","nameLocation":"33163:8:137","nodeType":"FunctionDefinition","parameters":{"id":78747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78746,"mutability":"mutable","name":"roundId","nameLocation":"33180:7:137","nodeType":"VariableDeclaration","scope":78758,"src":"33172:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78745,"name":"uint256","nodeType":"ElementaryTypeName","src":"33172:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33171:17:137"},"returnParameters":{"id":78751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78750,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78758,"src":"33212:46:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_memory_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore"},"typeName":{"id":78749,"nodeType":"UserDefinedTypeName","pathNode":{"id":78748,"name":"XAllocationVotingStorageTypes.RoundCore","nameLocations":["33212:29:137","33242:9:137"],"nodeType":"IdentifierPath","referencedDeclaration":82969,"src":"33212:39:137"},"referencedDeclaration":82969,"src":"33212:39:137","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore"}},"visibility":"internal"}],"src":"33211:48:137"},"scope":79243,"src":"33154:160:137","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":78773,"nodeType":"Block","src":"33638:60:137","statements":[{"expression":{"arguments":[{"id":78770,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"33685:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78768,"name":"RoundsStorageUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82091,"src":"33651:18:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundsStorageUtils_$82091_$","typeString":"type(library RoundsStorageUtils)"}},"id":78769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33670:14:137","memberName":"getAppsOfRound","nodeType":"MemberAccess","referencedDeclaration":82090,"src":"33651:33:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) view returns (struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory)"}},"id":78771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33651:42:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"functionReturnParameters":78767,"id":78772,"nodeType":"Return","src":"33644:49:137"}]},"documentation":{"id":78759,"nodeType":"StructuredDocumentation","src":"33318:190:137","text":"@dev Returns all the apps eligible for voting in a round with details.\n @notice Could be inefficient with a large number of apps; use {getAppIdsOfRound} + {IX2EarnApps-app} instead."},"functionSelector":"291605f7","id":78774,"implemented":true,"kind":"function","modifiers":[],"name":"getAppsOfRound","nameLocation":"33520:14:137","nodeType":"FunctionDefinition","parameters":{"id":78762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78761,"mutability":"mutable","name":"roundId","nameLocation":"33548:7:137","nodeType":"VariableDeclaration","scope":78774,"src":"33540:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78760,"name":"uint256","nodeType":"ElementaryTypeName","src":"33540:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33534:25:137"},"returnParameters":{"id":78767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78774,"src":"33583:53:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":78764,"nodeType":"UserDefinedTypeName","pathNode":{"id":78763,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["33583:19:137","33603:24:137"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"33583:44:137"},"referencedDeclaration":71146,"src":"33583:44:137","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":78765,"nodeType":"ArrayTypeName","src":"33583:46:137","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"src":"33582:55:137"},"scope":79243,"src":"33511:187:137","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":78784,"nodeType":"Block","src":"33927:71:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78780,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"33940:26:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":78781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33967:24:137","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":80589,"src":"33940:51:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33940:53:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78779,"id":78783,"nodeType":"Return","src":"33933:60:137"}]},"documentation":{"id":78775,"nodeType":"StructuredDocumentation","src":"33779:79:137","text":"@dev Returns the current base allocation percentage for funds distribution."},"functionSelector":"8ab52d4b","id":78785,"implemented":true,"kind":"function","modifiers":[],"name":"baseAllocationPercentage","nameLocation":"33870:24:137","nodeType":"FunctionDefinition","parameters":{"id":78776,"nodeType":"ParameterList","parameters":[],"src":"33894:2:137"},"returnParameters":{"id":78779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78785,"src":"33918:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78777,"name":"uint256","nodeType":"ElementaryTypeName","src":"33918:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33917:9:137"},"scope":79243,"src":"33861:137:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":78795,"nodeType":"Block","src":"34130:59:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78791,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"34143:26:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":78792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34170:12:137","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":80608,"src":"34143:39:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34143:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78790,"id":78794,"nodeType":"Return","src":"34136:48:137"}]},"documentation":{"id":78786,"nodeType":"StructuredDocumentation","src":"34002:71:137","text":"@dev Returns the max percentage of votes an app can get in a round."},"functionSelector":"bb7de6d4","id":78796,"implemented":true,"kind":"function","modifiers":[],"name":"appSharesCap","nameLocation":"34085:12:137","nodeType":"FunctionDefinition","parameters":{"id":78787,"nodeType":"ParameterList","parameters":[],"src":"34097:2:137"},"returnParameters":{"id":78790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78789,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78796,"src":"34121:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78788,"name":"uint256","nodeType":"ElementaryTypeName","src":"34121:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34120:9:137"},"scope":79243,"src":"34076:113:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71091],"body":{"id":78809,"nodeType":"Block","src":"34380:86:137","statements":[{"expression":{"arguments":[{"id":78806,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78799,"src":"34453:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78804,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"34393:26:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":78805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34420:32:137","memberName":"getRoundBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":80631,"src":"34393:59:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34393:68:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78803,"id":78808,"nodeType":"Return","src":"34386:75:137"}]},"documentation":{"id":78797,"nodeType":"StructuredDocumentation","src":"34193:95:137","text":"@dev Returns the base allocation percentage for a given round (snapshotted at round start)."},"functionSelector":"0eca87fb","id":78810,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundBaseAllocationPercentage","nameLocation":"34300:32:137","nodeType":"FunctionDefinition","parameters":{"id":78800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78799,"mutability":"mutable","name":"roundId","nameLocation":"34341:7:137","nodeType":"VariableDeclaration","scope":78810,"src":"34333:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78798,"name":"uint256","nodeType":"ElementaryTypeName","src":"34333:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34332:17:137"},"returnParameters":{"id":78803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78802,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78810,"src":"34371:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78801,"name":"uint256","nodeType":"ElementaryTypeName","src":"34371:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34370:9:137"},"scope":79243,"src":"34291:175:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71099],"body":{"id":78823,"nodeType":"Block","src":"34633:74:137","statements":[{"expression":{"arguments":[{"id":78820,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78813,"src":"34694:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78818,"name":"RoundEarningsSettingsUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"34646:26:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundEarningsSettingsUtils_$80751_$","typeString":"type(library RoundEarningsSettingsUtils)"}},"id":78819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34673:20:137","memberName":"getRoundAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":80654,"src":"34646:47:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34646:56:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78817,"id":78822,"nodeType":"Return","src":"34639:63:137"}]},"documentation":{"id":78811,"nodeType":"StructuredDocumentation","src":"34470:83:137","text":"@dev Returns the app shares cap for a given round (snapshotted at round start)."},"functionSelector":"0a0e74ef","id":78824,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundAppSharesCap","nameLocation":"34565:20:137","nodeType":"FunctionDefinition","parameters":{"id":78814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78813,"mutability":"mutable","name":"roundId","nameLocation":"34594:7:137","nodeType":"VariableDeclaration","scope":78824,"src":"34586:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78812,"name":"uint256","nodeType":"ElementaryTypeName","src":"34586:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34585:17:137"},"returnParameters":{"id":78817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78824,"src":"34624:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78815,"name":"uint256","nodeType":"ElementaryTypeName","src":"34624:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34623:9:137"},"scope":79243,"src":"34556:151:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70920],"body":{"id":78840,"nodeType":"Block","src":"34945:67:137","statements":[{"expression":{"arguments":[{"id":78836,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78827,"src":"34994:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78837,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78829,"src":"35003:3:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":78834,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"34958:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34982:11:137","memberName":"getAppVotes","nodeType":"MemberAccess","referencedDeclaration":81029,"src":"34958:35:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (uint256,bytes32) view returns (uint256)"}},"id":78838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34958:49:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78833,"id":78839,"nodeType":"Return","src":"34951:56:137"}]},"documentation":{"id":78825,"nodeType":"StructuredDocumentation","src":"34784:77:137","text":"@dev Returns the total votes received by a specific app in a given round."},"functionSelector":"4bb5181a","id":78841,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotes","nameLocation":"34873:11:137","nodeType":"FunctionDefinition","parameters":{"id":78830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78827,"mutability":"mutable","name":"roundId","nameLocation":"34893:7:137","nodeType":"VariableDeclaration","scope":78841,"src":"34885:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78826,"name":"uint256","nodeType":"ElementaryTypeName","src":"34885:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78829,"mutability":"mutable","name":"app","nameLocation":"34910:3:137","nodeType":"VariableDeclaration","scope":78841,"src":"34902:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":78828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34902:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34884:30:137"},"returnParameters":{"id":78833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78832,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78841,"src":"34936:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78831,"name":"uint256","nodeType":"ElementaryTypeName","src":"34936:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34935:9:137"},"scope":79243,"src":"34864:148:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70930],"body":{"id":78857,"nodeType":"Block","src":"35191:69:137","statements":[{"expression":{"arguments":[{"id":78853,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78844,"src":"35242:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78854,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"35251:3:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":78851,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"35204:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35228:13:137","memberName":"getAppVotesQF","nodeType":"MemberAccess","referencedDeclaration":81057,"src":"35204:37:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (uint256,bytes32) view returns (uint256)"}},"id":78855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35204:51:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78850,"id":78856,"nodeType":"Return","src":"35197:58:137"}]},"documentation":{"id":78842,"nodeType":"StructuredDocumentation","src":"35016:89:137","text":"@dev Returns the quadratic funding votes received by a specific app in a given round."},"functionSelector":"bed73010","id":78858,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotesQF","nameLocation":"35117:13:137","nodeType":"FunctionDefinition","parameters":{"id":78847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78844,"mutability":"mutable","name":"roundId","nameLocation":"35139:7:137","nodeType":"VariableDeclaration","scope":78858,"src":"35131:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78843,"name":"uint256","nodeType":"ElementaryTypeName","src":"35131:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78846,"mutability":"mutable","name":"app","nameLocation":"35156:3:137","nodeType":"VariableDeclaration","scope":78858,"src":"35148:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":78845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35148:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"35130:30:137"},"returnParameters":{"id":78850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78858,"src":"35182:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78848,"name":"uint256","nodeType":"ElementaryTypeName","src":"35182:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35181:9:137"},"scope":79243,"src":"35108:152:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70902],"body":{"id":78871,"nodeType":"Block","src":"35389:61:137","statements":[{"expression":{"arguments":[{"id":78868,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78861,"src":"35437:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78866,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"35402:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35426:10:137","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":81081,"src":"35402:34:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35402:43:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78865,"id":78870,"nodeType":"Return","src":"35395:50:137"}]},"documentation":{"id":78859,"nodeType":"StructuredDocumentation","src":"35264:55:137","text":"@dev Returns the total votes cast in a given round."},"functionSelector":"19e6e158","id":78872,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotes","nameLocation":"35331:10:137","nodeType":"FunctionDefinition","parameters":{"id":78862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78861,"mutability":"mutable","name":"roundId","nameLocation":"35350:7:137","nodeType":"VariableDeclaration","scope":78872,"src":"35342:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78860,"name":"uint256","nodeType":"ElementaryTypeName","src":"35342:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35341:17:137"},"returnParameters":{"id":78865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78864,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78872,"src":"35380:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78863,"name":"uint256","nodeType":"ElementaryTypeName","src":"35380:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35379:9:137"},"scope":79243,"src":"35322:128:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70938],"body":{"id":78885,"nodeType":"Block","src":"35599:63:137","statements":[{"expression":{"arguments":[{"id":78882,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78875,"src":"35649:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78880,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"35612:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35636:12:137","memberName":"totalVotesQF","nodeType":"MemberAccess","referencedDeclaration":81105,"src":"35612:36:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35612:45:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78879,"id":78884,"nodeType":"Return","src":"35605:52:137"}]},"documentation":{"id":78873,"nodeType":"StructuredDocumentation","src":"35454:73:137","text":"@dev Returns the total quadratic funding votes cast in a given round."},"functionSelector":"fb03ec6f","id":78886,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotesQF","nameLocation":"35539:12:137","nodeType":"FunctionDefinition","parameters":{"id":78876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78875,"mutability":"mutable","name":"roundId","nameLocation":"35560:7:137","nodeType":"VariableDeclaration","scope":78886,"src":"35552:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78874,"name":"uint256","nodeType":"ElementaryTypeName","src":"35552:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35551:17:137"},"returnParameters":{"id":78879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78878,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78886,"src":"35590:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78877,"name":"uint256","nodeType":"ElementaryTypeName","src":"35590:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35589:9:137"},"scope":79243,"src":"35530:132:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70910],"body":{"id":78899,"nodeType":"Block","src":"35798:62:137","statements":[{"expression":{"arguments":[{"id":78896,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78889,"src":"35847:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78894,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"35811:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35835:11:137","memberName":"totalVoters","nodeType":"MemberAccess","referencedDeclaration":81129,"src":"35811:35:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35811:44:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78893,"id":78898,"nodeType":"Return","src":"35804:51:137"}]},"documentation":{"id":78887,"nodeType":"StructuredDocumentation","src":"35666:61:137","text":"@dev Returns the total number of voters in a given round."},"functionSelector":"498d91bf","id":78900,"implemented":true,"kind":"function","modifiers":[],"name":"totalVoters","nameLocation":"35739:11:137","nodeType":"FunctionDefinition","parameters":{"id":78890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78889,"mutability":"mutable","name":"roundId","nameLocation":"35759:7:137","nodeType":"VariableDeclaration","scope":78900,"src":"35751:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78888,"name":"uint256","nodeType":"ElementaryTypeName","src":"35751:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35750:17:137"},"returnParameters":{"id":78893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78892,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78900,"src":"35789:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78891,"name":"uint256","nodeType":"ElementaryTypeName","src":"35789:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35788:9:137"},"scope":79243,"src":"35730:130:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70948],"body":{"id":78916,"nodeType":"Block","src":"36002:65:137","statements":[{"expression":{"arguments":[{"id":78912,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78903,"src":"36048:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78913,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78905,"src":"36057:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78910,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"36015:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36039:8:137","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":81157,"src":"36015:32:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":78914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36015:47:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78909,"id":78915,"nodeType":"Return","src":"36008:54:137"}]},"documentation":{"id":78901,"nodeType":"StructuredDocumentation","src":"35864:59:137","text":"@dev Returns whether a user has voted in a given round."},"functionSelector":"43859632","id":78917,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"35935:8:137","nodeType":"FunctionDefinition","parameters":{"id":78906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78903,"mutability":"mutable","name":"roundId","nameLocation":"35952:7:137","nodeType":"VariableDeclaration","scope":78917,"src":"35944:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78902,"name":"uint256","nodeType":"ElementaryTypeName","src":"35944:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78905,"mutability":"mutable","name":"user","nameLocation":"35969:4:137","nodeType":"VariableDeclaration","scope":78917,"src":"35961:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78904,"name":"address","nodeType":"ElementaryTypeName","src":"35961:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35943:31:137"},"returnParameters":{"id":78909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78908,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78917,"src":"35996:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78907,"name":"bool","nodeType":"ElementaryTypeName","src":"35996:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35995:6:137"},"scope":79243,"src":"35926:141:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71083],"body":{"id":78930,"nodeType":"Block","src":"36211:60:137","statements":[{"expression":{"arguments":[{"id":78927,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78920,"src":"36261:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78925,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"36224:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36248:12:137","memberName":"hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":81180,"src":"36224:36:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36224:42:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78924,"id":78929,"nodeType":"Return","src":"36217:49:137"}]},"documentation":{"id":78918,"nodeType":"StructuredDocumentation","src":"36071:74:137","text":"@dev Returns whether a user has voted at least once across all rounds."},"functionSelector":"9aeb962b","id":78931,"implemented":true,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"36157:12:137","nodeType":"FunctionDefinition","parameters":{"id":78921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78920,"mutability":"mutable","name":"user","nameLocation":"36178:4:137","nodeType":"VariableDeclaration","scope":78931,"src":"36170:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78919,"name":"address","nodeType":"ElementaryTypeName","src":"36170:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36169:14:137"},"returnParameters":{"id":78924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78923,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78931,"src":"36205:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78922,"name":"bool","nodeType":"ElementaryTypeName","src":"36205:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36204:6:137"},"scope":79243,"src":"36148:123:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":78950,"nodeType":"Block","src":"36453:82:137","statements":[{"expression":{"arguments":[{"id":78945,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78934,"src":"36509:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78946,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78936,"src":"36518:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78947,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78938,"src":"36524:5:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":78943,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"36466:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36490:18:137","memberName":"hasUserVotedForApp","nodeType":"MemberAccess","referencedDeclaration":81240,"src":"36466:42:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$","typeString":"function (uint256,address,bytes32) view returns (bool)"}},"id":78948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36466:64:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78942,"id":78949,"nodeType":"Return","src":"36459:71:137"}]},"documentation":{"id":78932,"nodeType":"StructuredDocumentation","src":"36275:74:137","text":"@dev Returns whether a user voted for a specific app in a given round."},"functionSelector":"42707a43","id":78951,"implemented":true,"kind":"function","modifiers":[],"name":"hasUserVotedForApp","nameLocation":"36361:18:137","nodeType":"FunctionDefinition","parameters":{"id":78939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78934,"mutability":"mutable","name":"roundId","nameLocation":"36388:7:137","nodeType":"VariableDeclaration","scope":78951,"src":"36380:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78933,"name":"uint256","nodeType":"ElementaryTypeName","src":"36380:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78936,"mutability":"mutable","name":"user","nameLocation":"36405:4:137","nodeType":"VariableDeclaration","scope":78951,"src":"36397:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78935,"name":"address","nodeType":"ElementaryTypeName","src":"36397:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78938,"mutability":"mutable","name":"appId","nameLocation":"36419:5:137","nodeType":"VariableDeclaration","scope":78951,"src":"36411:13:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":78937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36411:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"36379:46:137"},"returnParameters":{"id":78942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78941,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78951,"src":"36447:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78940,"name":"bool","nodeType":"ElementaryTypeName","src":"36447:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36446:6:137"},"scope":79243,"src":"36352:183:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":78961,"nodeType":"Block","src":"36667:59:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78957,"name":"RoundVotesCountingUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81679,"src":"36680:23:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundVotesCountingUtils_$81679_$","typeString":"type(library RoundVotesCountingUtils)"}},"id":78958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36704:15:137","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":81001,"src":"36680:39:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36680:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78956,"id":78960,"nodeType":"Return","src":"36673:48:137"}]},"documentation":{"id":78952,"nodeType":"StructuredDocumentation","src":"36539:68:137","text":"@dev Returns the minimum amount of tokens needed to cast a vote."},"functionSelector":"62827733","id":78962,"implemented":true,"kind":"function","modifiers":[],"name":"votingThreshold","nameLocation":"36619:15:137","nodeType":"FunctionDefinition","parameters":{"id":78953,"nodeType":"ParameterList","parameters":[],"src":"36634:2:137"},"returnParameters":{"id":78956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78962,"src":"36658:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78954,"name":"uint256","nodeType":"ElementaryTypeName","src":"36658:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36657:9:137"},"scope":79243,"src":"36610:116:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":78972,"nodeType":"Block","src":"36922:60:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78968,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"36935:24:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":78969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36960:15:137","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":82188,"src":"36935:40:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":78970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36935:42:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78967,"id":78971,"nodeType":"Return","src":"36928:49:137"}]},"documentation":{"id":78963,"nodeType":"StructuredDocumentation","src":"36796:66:137","text":"@dev Returns the current quorum numerator (latest checkpoint)."},"functionSelector":"a7713a70","id":78973,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"36874:15:137","nodeType":"FunctionDefinition","parameters":{"id":78964,"nodeType":"ParameterList","parameters":[],"src":"36889:2:137"},"returnParameters":{"id":78967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78973,"src":"36913:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78965,"name":"uint256","nodeType":"ElementaryTypeName","src":"36913:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36912:9:137"},"scope":79243,"src":"36865:117:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":78986,"nodeType":"Block","src":"37125:69:137","statements":[{"expression":{"arguments":[{"id":78983,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78976,"src":"37179:9:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78981,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"37138:24:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":78982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37163:15:137","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":82252,"src":"37138:40:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":78984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37138:51:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78980,"id":78985,"nodeType":"Return","src":"37131:58:137"}]},"documentation":{"id":78974,"nodeType":"StructuredDocumentation","src":"36986:62:137","text":"@dev Returns the quorum numerator at a specific timepoint."},"functionSelector":"60c4247f","id":78987,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"37060:15:137","nodeType":"FunctionDefinition","parameters":{"id":78977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78976,"mutability":"mutable","name":"timepoint","nameLocation":"37084:9:137","nodeType":"VariableDeclaration","scope":78987,"src":"37076:17:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78975,"name":"uint256","nodeType":"ElementaryTypeName","src":"37076:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37075:19:137"},"returnParameters":{"id":78980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78979,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78987,"src":"37116:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78978,"name":"uint256","nodeType":"ElementaryTypeName","src":"37116:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37115:9:137"},"scope":79243,"src":"37051:143:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":78997,"nodeType":"Block","src":"37313:62:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78993,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"37326:24:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":78994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37351:17:137","memberName":"quorumDenominator","nodeType":"MemberAccess","referencedDeclaration":82261,"src":"37326:42:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":78995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37326:44:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78992,"id":78996,"nodeType":"Return","src":"37319:51:137"}]},"documentation":{"id":78988,"nodeType":"StructuredDocumentation","src":"37198:53:137","text":"@dev Returns the quorum denominator (always 100)."},"functionSelector":"97c3d334","id":78998,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"37263:17:137","nodeType":"FunctionDefinition","parameters":{"id":78989,"nodeType":"ParameterList","parameters":[],"src":"37280:2:137"},"returnParameters":{"id":78992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78991,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78998,"src":"37304:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78990,"name":"uint256","nodeType":"ElementaryTypeName","src":"37304:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37303:9:137"},"scope":79243,"src":"37254:121:137","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":79008,"nodeType":"Block","src":"37516:60:137","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79004,"name":"VotesQuorumFractionUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82434,"src":"37529:24:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VotesQuorumFractionUtils_$82434_$","typeString":"type(library VotesQuorumFractionUtils)"}},"id":79005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37554:15:137","memberName":"quorumNumerator","nodeType":"MemberAccess","referencedDeclaration":82188,"src":"37529:40:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":79006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37529:42:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79003,"id":79007,"nodeType":"Return","src":"37522:49:137"}]},"documentation":{"id":78999,"nodeType":"StructuredDocumentation","src":"37379:76:137","text":"@dev Alias for quorumNumerator() — returns the quorum as a percentage."},"functionSelector":"4fa76ec9","id":79009,"implemented":true,"kind":"function","modifiers":[],"name":"quorumPercentage","nameLocation":"37467:16:137","nodeType":"FunctionDefinition","parameters":{"id":79000,"nodeType":"ParameterList","parameters":[],"src":"37483:2:137"},"returnParameters":{"id":79003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79009,"src":"37507:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79001,"name":"uint256","nodeType":"ElementaryTypeName","src":"37507:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37506:9:137"},"scope":79243,"src":"37458:118:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71075],"body":{"id":79022,"nodeType":"Block","src":"37804:72:137","statements":[{"expression":{"arguments":[{"id":79019,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79012,"src":"37863:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79017,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"37817:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":79018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37840:22:137","memberName":"latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":80874,"src":"37817:45:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37817:54:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79016,"id":79021,"nodeType":"Return","src":"37810:61:137"}]},"documentation":{"id":79010,"nodeType":"StructuredDocumentation","src":"37658:62:137","text":"@dev Returns the last succeeded round for the given round."},"functionSelector":"30097377","id":79023,"implemented":true,"kind":"function","modifiers":[],"name":"latestSucceededRoundId","nameLocation":"37732:22:137","nodeType":"FunctionDefinition","parameters":{"id":79013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79012,"mutability":"mutable","name":"roundId","nameLocation":"37763:7:137","nodeType":"VariableDeclaration","scope":79023,"src":"37755:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79011,"name":"uint256","nodeType":"ElementaryTypeName","src":"37755:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37754:17:137"},"returnParameters":{"id":79016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79015,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79023,"src":"37795:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79014,"name":"uint256","nodeType":"ElementaryTypeName","src":"37795:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37794:9:137"},"scope":79243,"src":"37723:153:137","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":79036,"nodeType":"Block","src":"38002:61:137","statements":[{"expression":{"arguments":[{"id":79033,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79026,"src":"38050:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79031,"name":"RoundFinalizationUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80898,"src":"38015:22:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RoundFinalizationUtils_$80898_$","typeString":"type(library RoundFinalizationUtils)"}},"id":79032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38038:11:137","memberName":"isFinalized","nodeType":"MemberAccess","referencedDeclaration":80897,"src":"38015:34:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38015:43:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79030,"id":79035,"nodeType":"Return","src":"38008:50:137"}]},"documentation":{"id":79024,"nodeType":"StructuredDocumentation","src":"37880:52:137","text":"@dev Returns whether a round has been finalized."},"functionSelector":"33727c4d","id":79037,"implemented":true,"kind":"function","modifiers":[],"name":"isFinalized","nameLocation":"37944:11:137","nodeType":"FunctionDefinition","parameters":{"id":79027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79026,"mutability":"mutable","name":"roundId","nameLocation":"37964:7:137","nodeType":"VariableDeclaration","scope":79037,"src":"37956:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79025,"name":"uint256","nodeType":"ElementaryTypeName","src":"37956:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37955:17:137"},"returnParameters":{"id":79030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79029,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79037,"src":"37996:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79028,"name":"bool","nodeType":"ElementaryTypeName","src":"37996:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37995:6:137"},"scope":79243,"src":"37935:128:137","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[70884],"body":{"id":79051,"nodeType":"Block","src":"38191:48:137","statements":[{"expression":{"arguments":[{"arguments":[{"id":79047,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79040,"src":"38225:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79046,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78714,"src":"38211:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38211:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79045,"name":"quorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78645,"src":"38204:6:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38204:30:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79044,"id":79050,"nodeType":"Return","src":"38197:37:137"}]},"documentation":{"id":79038,"nodeType":"StructuredDocumentation","src":"38067:51:137","text":" Returns the quorum for a given round"},"functionSelector":"59529edd","id":79052,"implemented":true,"kind":"function","modifiers":[],"name":"roundQuorum","nameLocation":"38130:11:137","nodeType":"FunctionDefinition","parameters":{"id":79041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79040,"mutability":"mutable","name":"roundId","nameLocation":"38150:7:137","nodeType":"VariableDeclaration","scope":79052,"src":"38142:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79039,"name":"uint256","nodeType":"ElementaryTypeName","src":"38142:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38141:17:137"},"returnParameters":{"id":79044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79043,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79052,"src":"38182:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79042,"name":"uint256","nodeType":"ElementaryTypeName","src":"38182:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38181:9:137"},"scope":79243,"src":"38121:118:137","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[70986],"body":{"id":79065,"nodeType":"Block","src":"38466:59:137","statements":[{"expression":{"arguments":[{"id":79062,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79055,"src":"38515:4:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79060,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"38479:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":79061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38495:19:137","memberName":"isAutoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":79580,"src":"38479:35:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":79063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38479:41:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79059,"id":79064,"nodeType":"Return","src":"38472:48:137"}]},"documentation":{"id":79053,"nodeType":"StructuredDocumentation","src":"38322:67:137","text":" @dev Checks if auto-voting is enabled for an account"},"functionSelector":"802d2709","id":79066,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabled","nameLocation":"38401:23:137","nodeType":"FunctionDefinition","parameters":{"id":79056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79055,"mutability":"mutable","name":"user","nameLocation":"38433:4:137","nodeType":"VariableDeclaration","scope":79066,"src":"38425:12:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79054,"name":"address","nodeType":"ElementaryTypeName","src":"38425:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38424:14:137"},"returnParameters":{"id":79059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79058,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79066,"src":"38460:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79057,"name":"bool","nodeType":"ElementaryTypeName","src":"38460:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38459:6:137"},"scope":79243,"src":"38392:133:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[70994],"body":{"id":79092,"nodeType":"Block","src":"38802:246:137","statements":[{"assignments":[79075],"declarations":[{"constant":false,"id":79075,"mutability":"mutable","name":"lastEmissionBlock","nameLocation":"38816:17:137","nodeType":"VariableDeclaration","scope":79092,"src":"38808:25:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79074,"name":"uint256","nodeType":"ElementaryTypeName","src":"38808:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79082,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79076,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"38836:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38873:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"38836:65:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":79078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38836:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":79079,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38911:10:137","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":82988,"src":"38836:85:137","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":79080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38929:17:137","memberName":"lastEmissionBlock","nodeType":"MemberAccess","referencedDeclaration":64292,"src":"38836:110:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":79081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38836:112:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38808:140:137"},{"expression":{"arguments":[{"id":79085,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79069,"src":"39008:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":79088,"name":"lastEmissionBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79075,"src":"39024:17:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39017:6:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":79086,"name":"uint48","nodeType":"ElementaryTypeName","src":"39017:6:137","typeDescriptions":{}}},"id":79089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39017:25:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":79083,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"38961:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":79084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38977:30:137","memberName":"isAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79610,"src":"38961:46:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view returns (bool)"}},"id":79090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38961:82:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79073,"id":79091,"nodeType":"Return","src":"38954:89:137"}]},"documentation":{"id":79067,"nodeType":"StructuredDocumentation","src":"38529:179:137","text":" @dev Checks if auto-voting is enabled for an account at the start of the current cycle\n @notice Status changes mid-cycle will only take effect in the next cycle"},"functionSelector":"5fb26367","id":79093,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledInCurrentRound","nameLocation":"38720:37:137","nodeType":"FunctionDefinition","parameters":{"id":79070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79069,"mutability":"mutable","name":"account","nameLocation":"38766:7:137","nodeType":"VariableDeclaration","scope":79093,"src":"38758:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79068,"name":"address","nodeType":"ElementaryTypeName","src":"38758:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38757:17:137"},"returnParameters":{"id":79073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79072,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79093,"src":"38796:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79071,"name":"bool","nodeType":"ElementaryTypeName","src":"38796:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38795:6:137"},"scope":79243,"src":"38711:337:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71004],"body":{"id":79114,"nodeType":"Block","src":"39310:105:137","statements":[{"expression":{"arguments":[{"id":79105,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79096,"src":"39370:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":79109,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79098,"src":"39400:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79108,"name":"roundSnapshot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78714,"src":"39386:13:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39386:22:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39379:6:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":79106,"name":"uint48","nodeType":"ElementaryTypeName","src":"39379:6:137","typeDescriptions":{}}},"id":79111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39379:30:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":79103,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"39323:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":79104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39339:30:137","memberName":"isAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79610,"src":"39323:46:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view returns (bool)"}},"id":79112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39323:87:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79102,"id":79113,"nodeType":"Return","src":"39316:94:137"}]},"documentation":{"id":79094,"nodeType":"StructuredDocumentation","src":"39052:153:137","text":" @dev Checks if auto-voting is enabled for an account at the start of a specific round\n @notice Useful function for frontend to consume"},"functionSelector":"3d4fd3c7","id":79115,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledForRound","nameLocation":"39217:31:137","nodeType":"FunctionDefinition","parameters":{"id":79099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79096,"mutability":"mutable","name":"account","nameLocation":"39257:7:137","nodeType":"VariableDeclaration","scope":79115,"src":"39249:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79095,"name":"address","nodeType":"ElementaryTypeName","src":"39249:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79098,"mutability":"mutable","name":"roundId","nameLocation":"39274:7:137","nodeType":"VariableDeclaration","scope":79115,"src":"39266:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79097,"name":"uint256","nodeType":"ElementaryTypeName","src":"39266:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39248:34:137"},"returnParameters":{"id":79102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79101,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79115,"src":"39304:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79100,"name":"bool","nodeType":"ElementaryTypeName","src":"39304:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39303:6:137"},"scope":79243,"src":"39208:207:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71014],"body":{"id":79131,"nodeType":"Block","src":"39684:84:137","statements":[{"expression":{"arguments":[{"id":79127,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79118,"src":"39744:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79128,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79120,"src":"39753:9:137","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":79125,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"39697:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":79126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39713:30:137","memberName":"isAutoVotingEnabledAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79610,"src":"39697:46:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$_t_uint48_$returns$_t_bool_$","typeString":"function (address,uint48) view returns (bool)"}},"id":79129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39697:66:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79124,"id":79130,"nodeType":"Return","src":"39690:73:137"}]},"documentation":{"id":79116,"nodeType":"StructuredDocumentation","src":"39419:156:137","text":" @dev Check if auto-voting is enabled for an account at a specific\n @param account The address to check\n @param timepoint block number"},"functionSelector":"a461a94d","id":79132,"implemented":true,"kind":"function","modifiers":[],"name":"isUserAutoVotingEnabledAtTimepoint","nameLocation":"39587:34:137","nodeType":"FunctionDefinition","parameters":{"id":79121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79118,"mutability":"mutable","name":"account","nameLocation":"39630:7:137","nodeType":"VariableDeclaration","scope":79132,"src":"39622:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79117,"name":"address","nodeType":"ElementaryTypeName","src":"39622:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79120,"mutability":"mutable","name":"timepoint","nameLocation":"39646:9:137","nodeType":"VariableDeclaration","scope":79132,"src":"39639:16:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":79119,"name":"uint48","nodeType":"ElementaryTypeName","src":"39639:6:137","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"39621:35:137"},"returnParameters":{"id":79124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79123,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79132,"src":"39678:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79122,"name":"bool","nodeType":"ElementaryTypeName","src":"39678:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39677:6:137"},"scope":79243,"src":"39578:190:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":79146,"nodeType":"Block","src":"39926:67:137","statements":[{"expression":{"arguments":[{"id":79143,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79135,"src":"39980:7:137","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79141,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"39939:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":79142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39955:24:137","memberName":"getUserVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":79634,"src":"39939:40:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) view returns (bytes32[] memory)"}},"id":79144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39939:49:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":79140,"id":79145,"nodeType":"Return","src":"39932:56:137"}]},"documentation":{"id":79133,"nodeType":"StructuredDocumentation","src":"39772:61:137","text":" @dev Get the voting preferences for an account"},"functionSelector":"412caf0b","id":79147,"implemented":true,"kind":"function","modifiers":[],"name":"getUserVotingPreferences","nameLocation":"39845:24:137","nodeType":"FunctionDefinition","parameters":{"id":79136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79135,"mutability":"mutable","name":"account","nameLocation":"39878:7:137","nodeType":"VariableDeclaration","scope":79147,"src":"39870:15:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79134,"name":"address","nodeType":"ElementaryTypeName","src":"39870:7:137","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39869:17:137"},"returnParameters":{"id":79140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79147,"src":"39908:16:137","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":79137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39908:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79138,"nodeType":"ArrayTypeName","src":"39908:9:137","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"39907:18:137"},"scope":79243,"src":"39836:157:137","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[71123],"body":{"id":79170,"nodeType":"Block","src":"40177:241:137","statements":[{"assignments":[79154],"declarations":[{"constant":false,"id":79154,"mutability":"mutable","name":"lastEmissionBlock","nameLocation":"40191:17:137","nodeType":"VariableDeclaration","scope":79170,"src":"40183:25:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79153,"name":"uint256","nodeType":"ElementaryTypeName","src":"40183:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79161,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79155,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"40211:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40248:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"40211:65:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":79157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40211:67:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":79158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40286:10:137","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":82988,"src":"40211:85:137","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":79159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40304:17:137","memberName":"lastEmissionBlock","nodeType":"MemberAccess","referencedDeclaration":64292,"src":"40211:110:137","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":79160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40211:112:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"40183:140:137"},{"expression":{"arguments":[{"arguments":[{"id":79166,"name":"lastEmissionBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79154,"src":"40394:17:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40387:6:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":79164,"name":"uint48","nodeType":"ElementaryTypeName","src":"40387:6:137","typeDescriptions":{}}},"id":79167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40387:25:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":79162,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"40336:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":79163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40352:34:137","memberName":"getTotalAutoVotingUsersAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79658,"src":"40336:50:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view returns (uint208)"}},"id":79168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40336:77:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":79152,"id":79169,"nodeType":"Return","src":"40329:84:137"}]},"documentation":{"id":79148,"nodeType":"StructuredDocumentation","src":"39997:100:137","text":" @dev Get the total number of users who enabled auto-voting at the last emission block"},"functionSelector":"a022756b","id":79171,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtRoundStart","nameLocation":"40109:35:137","nodeType":"FunctionDefinition","parameters":{"id":79149,"nodeType":"ParameterList","parameters":[],"src":"40144:2:137"},"returnParameters":{"id":79152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79151,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79171,"src":"40168:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":79150,"name":"uint208","nodeType":"ElementaryTypeName","src":"40168:7:137","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"40167:9:137"},"scope":79243,"src":"40100:318:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":79184,"nodeType":"Block","src":"40613:79:137","statements":[{"expression":{"arguments":[{"id":79181,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79174,"src":"40677:9:137","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":79179,"name":"AutoVotingLogic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79881,"src":"40626:15:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AutoVotingLogic_$79881_$","typeString":"type(library AutoVotingLogic)"}},"id":79180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40642:34:137","memberName":"getTotalAutoVotingUsersAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":79658,"src":"40626:50:137","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_uint48_$returns$_t_uint208_$","typeString":"function (uint48) view returns (uint208)"}},"id":79182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40626:61:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":79178,"id":79183,"nodeType":"Return","src":"40619:68:137"}]},"documentation":{"id":79172,"nodeType":"StructuredDocumentation","src":"40422:96:137","text":" @dev Get the total number of users who enabled autovoting at a specific timepoint"},"functionSelector":"059e952b","id":79185,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtTimepoint","nameLocation":"40530:34:137","nodeType":"FunctionDefinition","parameters":{"id":79175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79174,"mutability":"mutable","name":"timepoint","nameLocation":"40572:9:137","nodeType":"VariableDeclaration","scope":79185,"src":"40565:16:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":79173,"name":"uint48","nodeType":"ElementaryTypeName","src":"40565:6:137","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"40564:18:137"},"returnParameters":{"id":79178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79177,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79185,"src":"40604:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":79176,"name":"uint208","nodeType":"ElementaryTypeName","src":"40604:7:137","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"40603:9:137"},"scope":79243,"src":"40521:171:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":79197,"nodeType":"Block","src":"40902:97:137","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79192,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"40915:29:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40945:28:137","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"40915:58:137","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":79194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40915:60:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":79195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40976:18:137","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"40915:79:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"functionReturnParameters":79191,"id":79196,"nodeType":"Return","src":"40908:86:137"}]},"documentation":{"id":79186,"nodeType":"StructuredDocumentation","src":"40774:55:137","text":" @dev Get the NavigatorRegistry contract."},"functionSelector":"e125f74e","id":79198,"implemented":true,"kind":"function","modifiers":[],"name":"navigatorRegistry","nameLocation":"40841:17:137","nodeType":"FunctionDefinition","parameters":{"id":79187,"nodeType":"ParameterList","parameters":[],"src":"40858:2:137"},"returnParameters":{"id":79191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79190,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79198,"src":"40882:18:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":79189,"nodeType":"UserDefinedTypeName","pathNode":{"id":79188,"name":"INavigatorRegistry","nameLocations":["40882:18:137"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"40882:18:137"},"referencedDeclaration":66638,"src":"40882:18:137","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"40881:20:137"},"scope":79243,"src":"40832:167:137","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":79217,"nodeType":"Block","src":"41323:49:137","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":79209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41344:1:137","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"id":79212,"name":"roundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79202,"src":"41355:10:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}],"id":79211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41349:5:137","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":79210,"name":"uint8","nodeType":"ElementaryTypeName","src":"41349:5:137","typeDescriptions":{}}},"id":79213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41349:17:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"41344:22:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41336:7:137","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":79207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41336:7:137","typeDescriptions":{}}},"id":79215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41336:31:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":79206,"id":79216,"nodeType":"Return","src":"41329:38:137"}]},"documentation":{"id":79199,"nodeType":"StructuredDocumentation","src":"41070:167:137","text":" @dev Encodes a `RoundState` into a `bytes32` representation where each bit enabled corresponds to\n the underlying position in the `RoundState` enum."},"id":79218,"implemented":true,"kind":"function","modifiers":[],"name":"_encodeStateBitmap","nameLocation":"41249:18:137","nodeType":"FunctionDefinition","parameters":{"id":79203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79202,"mutability":"mutable","name":"roundState","nameLocation":"41279:10:137","nodeType":"VariableDeclaration","scope":79218,"src":"41268:21:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"},"typeName":{"id":79201,"nodeType":"UserDefinedTypeName","pathNode":{"id":79200,"name":"RoundState","nameLocations":["41268:10:137"],"nodeType":"IdentifierPath","referencedDeclaration":70612,"src":"41268:10:137"},"referencedDeclaration":70612,"src":"41268:10:137","typeDescriptions":{"typeIdentifier":"t_enum$_RoundState_$70612","typeString":"enum IXAllocationVotingGovernor.RoundState"}},"visibility":"internal"}],"src":"41267:23:137"},"returnParameters":{"id":79206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79205,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79218,"src":"41314:7:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":79204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41314:7:137","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"41313:9:137"},"scope":79243,"src":"41240:132:137","stateMutability":"pure","virtual":false,"visibility":"internal"},{"baseFunctions":[91,4331,5960],"body":{"id":79241,"nodeType":"Block","src":"41521:117:137","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":79234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79229,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79220,"src":"41534:11:137","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":79231,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"41554:26:137","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}],"id":79230,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"41549:4:137","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":79232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41549:32:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IXAllocationVotingGovernor_$71124","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":79233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41582:11:137","memberName":"interfaceId","nodeType":"MemberAccess","src":"41549:44:137","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"41534:59:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":79237,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79220,"src":"41621:11:137","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":79235,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"41597:5:137","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_XAllocationVoting_$79243_$","typeString":"type(contract super XAllocationVoting)"}},"id":79236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41603:17:137","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":91,"src":"41597:23:137","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":79238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41597:36:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"41534:99:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79228,"id":79240,"nodeType":"Return","src":"41527:106:137"}]},"functionSelector":"01ffc9a7","id":79242,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"41385:17:137","nodeType":"FunctionDefinition","overrides":{"id":79225,"nodeType":"OverrideSpecifier","overrides":[{"id":79222,"name":"AccessControlUpgradeable","nameLocations":["41452:24:137"],"nodeType":"IdentifierPath","referencedDeclaration":362,"src":"41452:24:137"},{"id":79223,"name":"IERC165","nameLocations":["41478:7:137"],"nodeType":"IdentifierPath","referencedDeclaration":5961,"src":"41478:7:137"},{"id":79224,"name":"ERC165Upgradeable","nameLocations":["41487:17:137"],"nodeType":"IdentifierPath","referencedDeclaration":4332,"src":"41487:17:137"}],"src":"41443:62:137"},"parameters":{"id":79221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79220,"mutability":"mutable","name":"interfaceId","nameLocation":"41415:11:137","nodeType":"VariableDeclaration","scope":79242,"src":"41408:18:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":79219,"name":"bytes4","nodeType":"ElementaryTypeName","src":"41408:6:137","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"41402:28:137"},"returnParameters":{"id":79228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79242,"src":"41515:4:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79226,"name":"bool","nodeType":"ElementaryTypeName","src":"41515:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41514:6:137"},"scope":79243,"src":"41376:262:137","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":79244,"src":"6888:34752:137","usedErrors":[1495,1498,1759,1764,4342,4345,4738,4751,5344,5347,7025,70617,70622,70627,70637,70642,70647,70654,70657,70660,70667,70672,70677,70682,70687,70692,70697,70702,70707,70714,70719,70726],"usedEvents":[1503,4354,4363,4372,4717,70739,70753,70766,70779,70786,70794,70809,70818,70831]}],"src":"1195:40446:137"},"id":137},"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol","exportedSymbols":{"AutoVotingLogic":[79881],"Checkpoints":[10447],"IX2EarnApps":[69989],"IXAllocationVotingGovernor":[71124],"SafeCast":[8770],"XAllocationVotingDataTypes":[82822],"XAllocationVotingStorageTypes":[83099]},"id":79882,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":79245,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:138"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":79247,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79882,"sourceUnit":10448,"src":"57:84:138","symbolAliases":[{"foreign":{"id":79246,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"66:11:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":79249,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79882,"sourceUnit":8771,"src":"142:75:138","symbolAliases":[{"foreign":{"id":79248,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"151:8:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../interfaces/IX2EarnApps.sol","id":79251,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79882,"sourceUnit":69990,"src":"218:63:138","symbolAliases":[{"foreign":{"id":79250,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"227:11:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":79253,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79882,"sourceUnit":71125,"src":"282:93:138","symbolAliases":[{"foreign":{"id":79252,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"291:26:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol","file":"./XAllocationVotingDataTypes.sol","id":79255,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79882,"sourceUnit":82823,"src":"376:78:138","symbolAliases":[{"foreign":{"id":79254,"name":"XAllocationVotingDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82822,"src":"385:26:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":79257,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":79882,"sourceUnit":83100,"src":"455:84:138","symbolAliases":[{"foreign":{"id":79256,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"464:29:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"AutoVotingLogic","contractDependencies":[],"contractKind":"library","documentation":{"id":79258,"nodeType":"StructuredDocumentation","src":"541:202:138","text":" @title AutoVotingLogic\n @notice Library that handles user preferences for automatic voting in allocation rounds\n @dev This library is intended to be used by the XAllocationVoting contract"},"fullyImplemented":true,"id":79881,"linearizedBaseContracts":[79881],"name":"AutoVotingLogic","nameLocation":"752:15:138","nodeType":"ContractDefinition","nodes":[{"global":false,"id":79262,"libraryName":{"id":79259,"name":"Checkpoints","nameLocations":["778:11:138"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"778:11:138"},"nodeType":"UsingForDirective","src":"772:43:138","typeName":{"id":79261,"nodeType":"UserDefinedTypeName","pathNode":{"id":79260,"name":"Checkpoints.Trace208","nameLocations":["794:11:138","806:8:138"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"794:20:138"},"referencedDeclaration":9409,"src":"794:20:138","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"anonymous":false,"documentation":{"id":79263,"nodeType":"StructuredDocumentation","src":"819:180:138","text":" @notice Emitted when a user toggles their autovoting status\n @param account The address of the user\n @param enabled Whether autovoting is enabled or disabled"},"eventSelector":"6baead299a74ec4ebb558b9c9507046309c90e561107f4776cef02327b526549","id":79269,"name":"AutoVotingToggled","nameLocation":"1008:17:138","nodeType":"EventDefinition","parameters":{"id":79268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79265,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1042:7:138","nodeType":"VariableDeclaration","scope":79269,"src":"1026:23:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79264,"name":"address","nodeType":"ElementaryTypeName","src":"1026:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79267,"indexed":false,"mutability":"mutable","name":"enabled","nameLocation":"1056:7:138","nodeType":"VariableDeclaration","scope":79269,"src":"1051:12:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79266,"name":"bool","nodeType":"ElementaryTypeName","src":"1051:4:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1025:39:138"},"src":"1002:63:138"},{"anonymous":false,"documentation":{"id":79270,"nodeType":"StructuredDocumentation","src":"1069:196:138","text":" @notice Emitted when a user updates their preferred apps for autovoting\n @param account The address of the user\n @param apps The list of app IDs the user prefers to vote for"},"eventSelector":"3e3998ec06c031c887b2c4825699d96390034bafa666cc53be14a1b832a0654e","id":79277,"name":"PreferredAppsUpdated","nameLocation":"1274:20:138","nodeType":"EventDefinition","parameters":{"id":79276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79272,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1311:7:138","nodeType":"VariableDeclaration","scope":79277,"src":"1295:23:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79271,"name":"address","nodeType":"ElementaryTypeName","src":"1295:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79275,"indexed":false,"mutability":"mutable","name":"apps","nameLocation":"1330:4:138","nodeType":"VariableDeclaration","scope":79277,"src":"1320:14:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":79273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1320:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79274,"nodeType":"ArrayTypeName","src":"1320:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1294:41:138"},"src":"1268:68:138"},{"body":{"id":79417,"nodeType":"Block","src":"2299:1649:138","statements":[{"assignments":[79291],"declarations":[{"constant":false,"id":79291,"mutability":"mutable","name":"autoVotingStorage","nameLocation":"2361:17:138","nodeType":"VariableDeclaration","scope":79417,"src":"2305:73:138","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"},"typeName":{"id":79290,"nodeType":"UserDefinedTypeName","pathNode":{"id":79289,"name":"XAllocationVotingStorageTypes.AutoVotingStorage","nameLocations":["2305:29:138","2335:17:138"],"nodeType":"IdentifierPath","referencedDeclaration":83018,"src":"2305:47:138"},"referencedDeclaration":83018,"src":"2305:47:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"}},"visibility":"internal"}],"id":79295,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79292,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2381:29:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2418:21:138","memberName":"_getAutoVotingStorage","nodeType":"MemberAccess","referencedDeclaration":83098,"src":"2381:58:138","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$83018_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer)"}},"id":79294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2381:60:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2305:136:138"},{"assignments":[79297],"declarations":[{"constant":false,"id":79297,"mutability":"mutable","name":"currentStatus","nameLocation":"2452:13:138","nodeType":"VariableDeclaration","scope":79417,"src":"2447:18:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79296,"name":"bool","nodeType":"ElementaryTypeName","src":"2447:4:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79307,"initialValue":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":79306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":79303,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79284,"src":"2532:5:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":79298,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79291,"src":"2468:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79299,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2486:18:138","memberName":"_autoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":83009,"src":"2468:36:138","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":79301,"indexExpression":{"id":79300,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79282,"src":"2505:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2468:45:138","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":79302,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2514:17:138","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"2468:63:138","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":79304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2468:70:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":79305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2542:1:138","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2468:75:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"2447:96:138"},{"assignments":[79309],"declarations":[{"constant":false,"id":79309,"mutability":"mutable","name":"newStatus","nameLocation":"2554:9:138","nodeType":"VariableDeclaration","scope":79417,"src":"2549:14:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79308,"name":"bool","nodeType":"ElementaryTypeName","src":"2549:4:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79312,"initialValue":{"id":79311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2566:14:138","subExpression":{"id":79310,"name":"currentStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79297,"src":"2567:13:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"2549:31:138"},{"assignments":[79315],"declarations":[{"constant":false,"id":79315,"mutability":"mutable","name":"xAllocationVotingGovernor","nameLocation":"2614:25:138","nodeType":"VariableDeclaration","scope":79417,"src":"2587:52:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":79314,"nodeType":"UserDefinedTypeName","pathNode":{"id":79313,"name":"IXAllocationVotingGovernor","nameLocations":["2587:26:138"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"2587:26:138"},"referencedDeclaration":71124,"src":"2587:26:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"id":79319,"initialValue":{"arguments":[{"id":79317,"name":"xAllocationVotingGovernorAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79280,"src":"2669:32:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79316,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"2642:26:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":79318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2642:60:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"VariableDeclarationStatement","src":"2587:115:138"},{"condition":{"id":79321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2799:14:138","subExpression":{"id":79320,"name":"currentStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79297,"src":"2800:13:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79355,"nodeType":"IfStatement","src":"2795:496:138","trueBody":{"id":79354,"nodeType":"Block","src":"2815:476:138","statements":[{"expression":{"arguments":[{"id":79325,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79282,"src":"2883:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79322,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79315,"src":"2823:25:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":79324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2849:33:138","memberName":"validatePersonhoodForCurrentRound","nodeType":"MemberAccess","referencedDeclaration":71107,"src":"2823:59:138","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":79326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2823:68:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79327,"nodeType":"ExpressionStatement","src":"2823:68:138"},{"assignments":[null,79329],"declarations":[null,{"constant":false,"id":79329,"mutability":"mutable","name":"isValid","nameLocation":"2907:7:138","nodeType":"VariableDeclaration","scope":79354,"src":"2902:12:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79328,"name":"bool","nodeType":"ElementaryTypeName","src":"2902:4:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79337,"initialValue":{"arguments":[{"id":79331,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79315,"src":"2954:25:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},{"id":79332,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79282,"src":"2989:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79333,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79315,"src":"3006:25:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":79334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3032:20:138","memberName":"currentRoundSnapshot","nodeType":"MemberAccess","referencedDeclaration":71026,"src":"3006:46:138","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":79335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3006:48:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79330,"name":"_getAndValidateVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79452,"src":"2918:26:138","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IXAllocationVotingGovernor_$71124_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_bool_$","typeString":"function (contract IXAllocationVotingGovernor,address,uint256) view returns (uint256,bool)"}},"id":79336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2918:144:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$","typeString":"tuple(uint256,bool)"}},"nodeType":"VariableDeclarationStatement","src":"2899:163:138"},{"expression":{"arguments":[{"id":79339,"name":"isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79329,"src":"3078:7:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206174206c65617374203120564f5433206973207265717569726564","id":79340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3087:46:138","typeDescriptions":{"typeIdentifier":"t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b","typeString":"literal_string \"AutoVotingLogic: at least 1 VOT3 is required\""},"value":"AutoVotingLogic: at least 1 VOT3 is required"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b","typeString":"literal_string \"AutoVotingLogic: at least 1 VOT3 is required\""}],"id":79338,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3070:7:138","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3070:64:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79342,"nodeType":"ExpressionStatement","src":"3070:64:138"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":79344,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79291,"src":"3159:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79345,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3177:22:138","memberName":"_userVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":83014,"src":"3159:40:138","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[] storage ref)"}},"id":79347,"indexExpression":{"id":79346,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79282,"src":"3200:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3159:49:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":79348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3209:6:138","memberName":"length","nodeType":"MemberAccess","src":"3159:56:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3218:1:138","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3159:60:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206d7573742073656c656374206174206c65617374206f6e6520617070","id":79351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3229:47:138","typeDescriptions":{"typeIdentifier":"t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285","typeString":"literal_string \"AutoVotingLogic: must select at least one app\""},"value":"AutoVotingLogic: must select at least one app"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285","typeString":"literal_string \"AutoVotingLogic: must select at least one app\""}],"id":79343,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3142:7:138","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3142:142:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79353,"nodeType":"ExpressionStatement","src":"3142:142:138"}]}},{"condition":{"id":79356,"name":"currentStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79297,"src":"3388:13:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79364,"nodeType":"IfStatement","src":"3384:90:138","trueBody":{"id":79363,"nodeType":"Block","src":"3403:71:138","statements":[{"expression":{"id":79361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3411:56:138","subExpression":{"baseExpression":{"expression":{"id":79357,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79291,"src":"3418:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3436:22:138","memberName":"_userVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":83014,"src":"3418:40:138","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[] storage ref)"}},"id":79360,"indexExpression":{"id":79359,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79282,"src":"3459:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3418:49:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79362,"nodeType":"ExpressionStatement","src":"3411:56:138"}]}},{"expression":{"arguments":[{"id":79371,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79284,"src":"3585:5:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"condition":{"id":79372,"name":"newStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79309,"src":"3598:9:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30","id":79379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3653:1:138","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":79377,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"3634:8:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":79378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3643:9:138","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"3634:18:138","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":79380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3634:21:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":79381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3598:57:138","trueExpression":{"arguments":[{"hexValue":"31","id":79375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3629:1:138","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":79373,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"3610:8:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":79374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3619:9:138","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"3610:18:138","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":79376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3610:21:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"baseExpression":{"expression":{"id":79365,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79291,"src":"3527:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3545:18:138","memberName":"_autoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":83009,"src":"3527:36:138","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":79369,"indexExpression":{"id":79367,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79282,"src":"3564:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3527:45:138","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":79370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3573:4:138","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"3527:50:138","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":79382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3527:134:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":79383,"nodeType":"ExpressionStatement","src":"3527:134:138"},{"assignments":[79385],"declarations":[{"constant":false,"id":79385,"mutability":"mutable","name":"currentTotal","nameLocation":"3676:12:138","nodeType":"VariableDeclaration","scope":79417,"src":"3668:20:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":79384,"name":"uint208","nodeType":"ElementaryTypeName","src":"3668:7:138","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":79391,"initialValue":{"arguments":[{"id":79389,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79284,"src":"3749:5:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":79386,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79291,"src":"3691:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3709:21:138","memberName":"_totalAutoVotingUsers","nodeType":"MemberAccess","referencedDeclaration":83017,"src":"3691:39:138","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":79388,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3731:17:138","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"3691:57:138","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":79390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3691:64:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"3668:87:138"},{"assignments":[79393],"declarations":[{"constant":false,"id":79393,"mutability":"mutable","name":"newTotal","nameLocation":"3769:8:138","nodeType":"VariableDeclaration","scope":79417,"src":"3761:16:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":79392,"name":"uint208","nodeType":"ElementaryTypeName","src":"3761:7:138","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":79402,"initialValue":{"condition":{"id":79394,"name":"newStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79309,"src":"3780:9:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":79400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79398,"name":"currentTotal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79385,"src":"3811:12:138","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":79399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3826:1:138","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3811:16:138","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":79401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3780:47:138","trueExpression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":79397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79395,"name":"currentTotal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79385,"src":"3792:12:138","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":79396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3807:1:138","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3792:16:138","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"3761:66:138"},{"expression":{"arguments":[{"id":79408,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79284,"src":"3878:5:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":79409,"name":"newTotal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79393,"src":"3885:8:138","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"expression":{"id":79403,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79291,"src":"3833:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79406,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3851:21:138","memberName":"_totalAutoVotingUsers","nodeType":"MemberAccess","referencedDeclaration":83017,"src":"3833:39:138","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":79407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3873:4:138","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"3833:44:138","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":79410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3833:61:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":79411,"nodeType":"ExpressionStatement","src":"3833:61:138"},{"eventCall":{"arguments":[{"id":79413,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79282,"src":"3924:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79414,"name":"newStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79309,"src":"3933:9:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":79412,"name":"AutoVotingToggled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79269,"src":"3906:17:138","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":79415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3906:37:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79416,"nodeType":"EmitStatement","src":"3901:42:138"}]},"documentation":{"id":79278,"nodeType":"StructuredDocumentation","src":"1379:809:138","text":" @dev Toggles autovoting for an account\n @param xAllocationVotingGovernorAddress The address of the XAllocationVotingGovernor contract\n @param account The address to toggle autovoting for\n @param clock The current timepoint\n @notice\n User Enabled: false ──────────────────────→ true\n Total Count:  100   ──────────────────────→ 101\n User Prefs:   [existing preferences kept]\n User Enabled: true ──────────────────────→ false\n Total Count:  101   ──────────────────────→ 100\n User Prefs:   [app1, app2] ────────────────→ [] (deleted)"},"functionSelector":"217940a6","id":79418,"implemented":true,"kind":"function","modifiers":[],"name":"toggleAutoVoting","nameLocation":"2200:16:138","nodeType":"FunctionDefinition","parameters":{"id":79285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79280,"mutability":"mutable","name":"xAllocationVotingGovernorAddress","nameLocation":"2225:32:138","nodeType":"VariableDeclaration","scope":79418,"src":"2217:40:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79279,"name":"address","nodeType":"ElementaryTypeName","src":"2217:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79282,"mutability":"mutable","name":"account","nameLocation":"2267:7:138","nodeType":"VariableDeclaration","scope":79418,"src":"2259:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79281,"name":"address","nodeType":"ElementaryTypeName","src":"2259:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79284,"mutability":"mutable","name":"clock","nameLocation":"2283:5:138","nodeType":"VariableDeclaration","scope":79418,"src":"2276:12:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":79283,"name":"uint48","nodeType":"ElementaryTypeName","src":"2276:6:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2216:73:138"},"returnParameters":{"id":79286,"nodeType":"ParameterList","parameters":[],"src":"2299:0:138"},"scope":79881,"src":"2191:1757:138","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":79451,"nodeType":"Block","src":"4258:189:138","statements":[{"assignments":[79434],"declarations":[{"constant":false,"id":79434,"mutability":"mutable","name":"voterAvailableVotes","nameLocation":"4272:19:138","nodeType":"VariableDeclaration","scope":79451,"src":"4264:27:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79433,"name":"uint256","nodeType":"ElementaryTypeName","src":"4264:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79440,"initialValue":{"arguments":[{"id":79437,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79424,"src":"4329:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79438,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79426,"src":"4338:9:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79435,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79422,"src":"4294:25:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":79436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4320:8:138","memberName":"getVotes","nodeType":"MemberAccess","referencedDeclaration":70894,"src":"4294:34:138","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":79439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4294:54:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4264:84:138"},{"assignments":[79442],"declarations":[{"constant":false,"id":79442,"mutability":"mutable","name":"isValid","nameLocation":"4359:7:138","nodeType":"VariableDeclaration","scope":79451,"src":"4354:12:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79441,"name":"bool","nodeType":"ElementaryTypeName","src":"4354:4:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79446,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79443,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79434,"src":"4369:19:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"31","id":79444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4392:7:138","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"src":"4369:30:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4354:45:138"},{"expression":{"components":[{"id":79447,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79434,"src":"4413:19:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79448,"name":"isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79442,"src":"4434:7:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":79449,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4412:30:138","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$","typeString":"tuple(uint256,bool)"}},"functionReturnParameters":79432,"id":79450,"nodeType":"Return","src":"4405:37:138"}]},"documentation":{"id":79419,"nodeType":"StructuredDocumentation","src":"3952:123:138","text":" @dev Gets effective voting power for an account and validates it meets the minimum threshold for auto-voting"},"id":79452,"implemented":true,"kind":"function","modifiers":[],"name":"_getAndValidateVotingPower","nameLocation":"4087:26:138","nodeType":"FunctionDefinition","parameters":{"id":79427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79422,"mutability":"mutable","name":"xAllocationVotingGovernor","nameLocation":"4146:25:138","nodeType":"VariableDeclaration","scope":79452,"src":"4119:52:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":79421,"nodeType":"UserDefinedTypeName","pathNode":{"id":79420,"name":"IXAllocationVotingGovernor","nameLocations":["4119:26:138"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"4119:26:138"},"referencedDeclaration":71124,"src":"4119:26:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"},{"constant":false,"id":79424,"mutability":"mutable","name":"account","nameLocation":"4185:7:138","nodeType":"VariableDeclaration","scope":79452,"src":"4177:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79423,"name":"address","nodeType":"ElementaryTypeName","src":"4177:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79426,"mutability":"mutable","name":"timepoint","nameLocation":"4206:9:138","nodeType":"VariableDeclaration","scope":79452,"src":"4198:17:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79425,"name":"uint256","nodeType":"ElementaryTypeName","src":"4198:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4113:106:138"},"returnParameters":{"id":79432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79452,"src":"4243:7:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79428,"name":"uint256","nodeType":"ElementaryTypeName","src":"4243:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79431,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79452,"src":"4252:4:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79430,"name":"bool","nodeType":"ElementaryTypeName","src":"4252:4:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4242:15:138"},"scope":79881,"src":"4078:369:138","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":79552,"nodeType":"Block","src":"4799:925:138","statements":[{"assignments":[79467],"declarations":[{"constant":false,"id":79467,"mutability":"mutable","name":"autoVotingStorage","nameLocation":"4861:17:138","nodeType":"VariableDeclaration","scope":79552,"src":"4805:73:138","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"},"typeName":{"id":79466,"nodeType":"UserDefinedTypeName","pathNode":{"id":79465,"name":"XAllocationVotingStorageTypes.AutoVotingStorage","nameLocations":["4805:29:138","4835:17:138"],"nodeType":"IdentifierPath","referencedDeclaration":83018,"src":"4805:47:138"},"referencedDeclaration":83018,"src":"4805:47:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"}},"visibility":"internal"}],"id":79471,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79468,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4881:29:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4918:21:138","memberName":"_getAutoVotingStorage","nodeType":"MemberAccess","referencedDeclaration":83098,"src":"4881:58:138","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$83018_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer)"}},"id":79470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4881:60:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4805:136:138"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79473,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79460,"src":"4955:4:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4960:6:138","memberName":"length","nodeType":"MemberAccess","src":"4955:11:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4969:1:138","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4955:15:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206e6f206170707320746f20766f746520666f72","id":79477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4972:38:138","typeDescriptions":{"typeIdentifier":"t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d","typeString":"literal_string \"AutoVotingLogic: no apps to vote for\""},"value":"AutoVotingLogic: no apps to vote for"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d","typeString":"literal_string \"AutoVotingLogic: no apps to vote for\""}],"id":79472,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4947:7:138","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4947:64:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79479,"nodeType":"ExpressionStatement","src":"4947:64:138"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79481,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79460,"src":"5025:4:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5030:6:138","memberName":"length","nodeType":"MemberAccess","src":"5025:11:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3135","id":79483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5040:2:138","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"src":"5025:17:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206d75737420766f746520666f72206c657373207468616e2031352061707073","id":79485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5044:50:138","typeDescriptions":{"typeIdentifier":"t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda","typeString":"literal_string \"AutoVotingLogic: must vote for less than 15 apps\""},"value":"AutoVotingLogic: must vote for less than 15 apps"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda","typeString":"literal_string \"AutoVotingLogic: must vote for less than 15 apps\""}],"id":79480,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5017:7:138","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5017:78:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79487,"nodeType":"ExpressionStatement","src":"5017:78:138"},{"assignments":[79490],"declarations":[{"constant":false,"id":79490,"mutability":"mutable","name":"x2EarnAppsContract","nameLocation":"5114:18:138","nodeType":"VariableDeclaration","scope":79552,"src":"5102:30:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":79489,"nodeType":"UserDefinedTypeName","pathNode":{"id":79488,"name":"IX2EarnApps","nameLocations":["5102:11:138"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"5102:11:138"},"referencedDeclaration":69989,"src":"5102:11:138","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"id":79494,"initialValue":{"arguments":[{"id":79492,"name":"x2EarnAppsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79455,"src":"5147:17:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79491,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"5135:11:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IX2EarnApps_$69989_$","typeString":"type(contract IX2EarnApps)"}},"id":79493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5135:30:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"nodeType":"VariableDeclarationStatement","src":"5102:63:138"},{"body":{"id":79537,"nodeType":"Block","src":"5315:295:138","statements":[{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":79508,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79460,"src":"5393:4:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79510,"indexExpression":{"id":79509,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79496,"src":"5398:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5393:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":79506,"name":"x2EarnAppsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79490,"src":"5364:18:138","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":79507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5383:9:138","memberName":"appExists","nodeType":"MemberAccess","referencedDeclaration":69668,"src":"5364:28:138","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":79511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5364:37:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a20696e76616c696420617070","id":79512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5403:30:138","typeDescriptions":{"typeIdentifier":"t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5","typeString":"literal_string \"AutoVotingLogic: invalid app\""},"value":"AutoVotingLogic: invalid app"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5","typeString":"literal_string \"AutoVotingLogic: invalid app\""}],"id":79505,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5356:7:138","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:78:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79514,"nodeType":"ExpressionStatement","src":"5356:78:138"},{"body":{"id":79535,"nodeType":"Block","src":"5524:80:138","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":79531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":79525,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79460,"src":"5542:4:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79527,"indexExpression":{"id":79526,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79496,"src":"5547:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5542:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"baseExpression":{"id":79528,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79460,"src":"5553:4:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79530,"indexExpression":{"id":79529,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79516,"src":"5558:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5553:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5542:18:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4175746f566f74696e674c6f6769633a206475706c696361746520617070","id":79532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5562:32:138","typeDescriptions":{"typeIdentifier":"t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d","typeString":"literal_string \"AutoVotingLogic: duplicate app\""},"value":"AutoVotingLogic: duplicate app"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d","typeString":"literal_string \"AutoVotingLogic: duplicate app\""}],"id":79524,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5534:7:138","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5534:61:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79534,"nodeType":"ExpressionStatement","src":"5534:61:138"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79518,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79516,"src":"5512:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79519,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79496,"src":"5516:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5512:5:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79536,"initializationExpression":{"assignments":[79516],"declarations":[{"constant":false,"id":79516,"mutability":"mutable","name":"j","nameLocation":"5509:1:138","nodeType":"VariableDeclaration","scope":79536,"src":"5501:9:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79515,"name":"uint256","nodeType":"ElementaryTypeName","src":"5501:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79517,"nodeType":"VariableDeclarationStatement","src":"5501:9:138"},"loopExpression":{"expression":{"id":79522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5519:3:138","subExpression":{"id":79521,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79516,"src":"5519:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79523,"nodeType":"ExpressionStatement","src":"5519:3:138"},"nodeType":"ForStatement","src":"5496:108:138"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79498,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79496,"src":"5293:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79499,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79460,"src":"5297:4:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5302:6:138","memberName":"length","nodeType":"MemberAccess","src":"5297:11:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5293:15:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79538,"initializationExpression":{"assignments":[79496],"declarations":[{"constant":false,"id":79496,"mutability":"mutable","name":"i","nameLocation":"5290:1:138","nodeType":"VariableDeclaration","scope":79538,"src":"5282:9:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79495,"name":"uint256","nodeType":"ElementaryTypeName","src":"5282:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79497,"nodeType":"VariableDeclarationStatement","src":"5282:9:138"},"loopExpression":{"expression":{"id":79503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5310:3:138","subExpression":{"id":79502,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79496,"src":"5310:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79504,"nodeType":"ExpressionStatement","src":"5310:3:138"},"nodeType":"ForStatement","src":"5277:333:138"},{"expression":{"id":79545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79539,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79467,"src":"5616:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79542,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5634:22:138","memberName":"_userVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":83014,"src":"5616:40:138","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[] storage ref)"}},"id":79543,"indexExpression":{"id":79541,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79457,"src":"5657:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5616:49:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79544,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79460,"src":"5668:4:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"5616:56:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":79546,"nodeType":"ExpressionStatement","src":"5616:56:138"},{"eventCall":{"arguments":[{"id":79548,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79457,"src":"5705:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79549,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79460,"src":"5714:4:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":79547,"name":"PreferredAppsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79277,"src":"5684:20:138","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (address,bytes32[] memory)"}},"id":79550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5684:35:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79551,"nodeType":"EmitStatement","src":"5679:40:138"}]},"documentation":{"id":79453,"nodeType":"StructuredDocumentation","src":"4451:235:138","text":" @dev Sets the voting preferences for an account\n @param x2EarnAppsAddress The address of the X2EarnApps contract\n @param account The address to set preferences for\n @param apps The list of app IDs to vote for"},"functionSelector":"64299881","id":79553,"implemented":true,"kind":"function","modifiers":[],"name":"setUserVotingPreferences","nameLocation":"4698:24:138","nodeType":"FunctionDefinition","parameters":{"id":79461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79455,"mutability":"mutable","name":"x2EarnAppsAddress","nameLocation":"4731:17:138","nodeType":"VariableDeclaration","scope":79553,"src":"4723:25:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79454,"name":"address","nodeType":"ElementaryTypeName","src":"4723:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79457,"mutability":"mutable","name":"account","nameLocation":"4758:7:138","nodeType":"VariableDeclaration","scope":79553,"src":"4750:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79456,"name":"address","nodeType":"ElementaryTypeName","src":"4750:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79460,"mutability":"mutable","name":"apps","nameLocation":"4784:4:138","nodeType":"VariableDeclaration","scope":79553,"src":"4767:21:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":79458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4767:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79459,"nodeType":"ArrayTypeName","src":"4767:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4722:67:138"},"returnParameters":{"id":79462,"nodeType":"ParameterList","parameters":[],"src":"4799:0:138"},"scope":79881,"src":"4689:1035:138","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":79579,"nodeType":"Block","src":"6059:219:138","statements":[{"assignments":[79565],"declarations":[{"constant":false,"id":79565,"mutability":"mutable","name":"autoVotingStorage","nameLocation":"6121:17:138","nodeType":"VariableDeclaration","scope":79579,"src":"6065:73:138","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"},"typeName":{"id":79564,"nodeType":"UserDefinedTypeName","pathNode":{"id":79563,"name":"XAllocationVotingStorageTypes.AutoVotingStorage","nameLocations":["6065:29:138","6095:17:138"],"nodeType":"IdentifierPath","referencedDeclaration":83018,"src":"6065:47:138"},"referencedDeclaration":83018,"src":"6065:47:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"}},"visibility":"internal"}],"id":79569,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79566,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"6141:29:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6178:21:138","memberName":"_getAutoVotingStorage","nodeType":"MemberAccess","referencedDeclaration":83098,"src":"6141:58:138","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$83018_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer)"}},"id":79568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6141:60:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6065:136:138"},{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":79577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"expression":{"id":79570,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79565,"src":"6214:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6232:18:138","memberName":"_autoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":83009,"src":"6214:36:138","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":79573,"indexExpression":{"id":79572,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79556,"src":"6251:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6214:45:138","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":79574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6260:6:138","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"6214:52:138","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":79575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6214:54:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":79576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6272:1:138","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6214:59:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79560,"id":79578,"nodeType":"Return","src":"6207:66:138"}]},"documentation":{"id":79554,"nodeType":"StructuredDocumentation","src":"5767:214:138","text":" @dev Checks if autovoting is enabled for an account at the latest timepoint\n @param account The address to check\n @return Whether autovoting is enabled for the account at the latest timepoint"},"functionSelector":"528f108a","id":79580,"implemented":true,"kind":"function","modifiers":[],"name":"isAutoVotingEnabled","nameLocation":"5993:19:138","nodeType":"FunctionDefinition","parameters":{"id":79557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79556,"mutability":"mutable","name":"account","nameLocation":"6021:7:138","nodeType":"VariableDeclaration","scope":79580,"src":"6013:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79555,"name":"address","nodeType":"ElementaryTypeName","src":"6013:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6012:17:138"},"returnParameters":{"id":79560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79580,"src":"6053:4:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79558,"name":"bool","nodeType":"ElementaryTypeName","src":"6053:4:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6052:6:138"},"scope":79881,"src":"5984:294:138","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":79609,"nodeType":"Block","src":"6650:239:138","statements":[{"assignments":[79594],"declarations":[{"constant":false,"id":79594,"mutability":"mutable","name":"autoVotingStorage","nameLocation":"6712:17:138","nodeType":"VariableDeclaration","scope":79609,"src":"6656:73:138","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"},"typeName":{"id":79593,"nodeType":"UserDefinedTypeName","pathNode":{"id":79592,"name":"XAllocationVotingStorageTypes.AutoVotingStorage","nameLocations":["6656:29:138","6686:17:138"],"nodeType":"IdentifierPath","referencedDeclaration":83018,"src":"6656:47:138"},"referencedDeclaration":83018,"src":"6656:47:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"}},"visibility":"internal"}],"id":79598,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79595,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"6732:29:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6769:21:138","memberName":"_getAutoVotingStorage","nodeType":"MemberAccess","referencedDeclaration":83098,"src":"6732:58:138","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$83018_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer)"}},"id":79597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6732:60:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6656:136:138"},{"expression":{"commonType":{"typeIdentifier":"t_uint208","typeString":"uint208"},"id":79607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":79604,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79585,"src":"6869:9:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"baseExpression":{"expression":{"id":79599,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79594,"src":"6805:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6823:18:138","memberName":"_autoVotingEnabled","nodeType":"MemberAccess","referencedDeclaration":83009,"src":"6805:36:138","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208 storage ref)"}},"id":79602,"indexExpression":{"id":79601,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79583,"src":"6842:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6805:45:138","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":79603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6851:17:138","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"6805:63:138","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":79605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6805:74:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":79606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6883:1:138","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6805:79:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79589,"id":79608,"nodeType":"Return","src":"6798:86:138"}]},"documentation":{"id":79581,"nodeType":"StructuredDocumentation","src":"6282:261:138","text":" @dev Checks if autovoting is enabled for an account at a specific timepoint\n @param account The address to check\n @param timepoint The timepoint to check\n @return Whether autovoting is enabled for the account at the specific timepoint"},"functionSelector":"1f59dfd7","id":79610,"implemented":true,"kind":"function","modifiers":[],"name":"isAutoVotingEnabledAtTimepoint","nameLocation":"6555:30:138","nodeType":"FunctionDefinition","parameters":{"id":79586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79583,"mutability":"mutable","name":"account","nameLocation":"6594:7:138","nodeType":"VariableDeclaration","scope":79610,"src":"6586:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79582,"name":"address","nodeType":"ElementaryTypeName","src":"6586:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79585,"mutability":"mutable","name":"timepoint","nameLocation":"6610:9:138","nodeType":"VariableDeclaration","scope":79610,"src":"6603:16:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":79584,"name":"uint48","nodeType":"ElementaryTypeName","src":"6603:6:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"6585:35:138"},"returnParameters":{"id":79589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79588,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79610,"src":"6644:4:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79587,"name":"bool","nodeType":"ElementaryTypeName","src":"6644:4:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6643:6:138"},"scope":79881,"src":"6546:343:138","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":79633,"nodeType":"Block","src":"7170:209:138","statements":[{"assignments":[79623],"declarations":[{"constant":false,"id":79623,"mutability":"mutable","name":"autoVotingStorage","nameLocation":"7232:17:138","nodeType":"VariableDeclaration","scope":79633,"src":"7176:73:138","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"},"typeName":{"id":79622,"nodeType":"UserDefinedTypeName","pathNode":{"id":79621,"name":"XAllocationVotingStorageTypes.AutoVotingStorage","nameLocations":["7176:29:138","7206:17:138"],"nodeType":"IdentifierPath","referencedDeclaration":83018,"src":"7176:47:138"},"referencedDeclaration":83018,"src":"7176:47:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"}},"visibility":"internal"}],"id":79627,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79624,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"7252:29:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7289:21:138","memberName":"_getAutoVotingStorage","nodeType":"MemberAccess","referencedDeclaration":83098,"src":"7252:58:138","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$83018_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer)"}},"id":79626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7252:60:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7176:136:138"},{"expression":{"baseExpression":{"expression":{"id":79628,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79623,"src":"7325:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7343:22:138","memberName":"_userVotingPreferences","nodeType":"MemberAccess","referencedDeclaration":83014,"src":"7325:40:138","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[] storage ref)"}},"id":79631,"indexExpression":{"id":79630,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79613,"src":"7366:7:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7325:49:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"functionReturnParameters":79618,"id":79632,"nodeType":"Return","src":"7318:56:138"}]},"documentation":{"id":79611,"nodeType":"StructuredDocumentation","src":"6893:182:138","text":" @dev Gets the voting preferences for an account\n @param account The address to get preferences for\n @return The list of app IDs the account prefers to vote for"},"functionSelector":"412caf0b","id":79634,"implemented":true,"kind":"function","modifiers":[],"name":"getUserVotingPreferences","nameLocation":"7087:24:138","nodeType":"FunctionDefinition","parameters":{"id":79614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79613,"mutability":"mutable","name":"account","nameLocation":"7120:7:138","nodeType":"VariableDeclaration","scope":79634,"src":"7112:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79612,"name":"address","nodeType":"ElementaryTypeName","src":"7112:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7111:17:138"},"returnParameters":{"id":79618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79617,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79634,"src":"7152:16:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":79615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7152:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79616,"nodeType":"ArrayTypeName","src":"7152:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"7151:18:138"},"scope":79881,"src":"7078:301:138","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":79657,"nodeType":"Block","src":"7710:228:138","statements":[{"assignments":[79646],"declarations":[{"constant":false,"id":79646,"mutability":"mutable","name":"autoVotingStorage","nameLocation":"7772:17:138","nodeType":"VariableDeclaration","scope":79657,"src":"7716:73:138","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"},"typeName":{"id":79645,"nodeType":"UserDefinedTypeName","pathNode":{"id":79644,"name":"XAllocationVotingStorageTypes.AutoVotingStorage","nameLocations":["7716:29:138","7746:17:138"],"nodeType":"IdentifierPath","referencedDeclaration":83018,"src":"7716:47:138"},"referencedDeclaration":83018,"src":"7716:47:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"}},"visibility":"internal"}],"id":79650,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79647,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"7792:29:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7829:21:138","memberName":"_getAutoVotingStorage","nodeType":"MemberAccess","referencedDeclaration":83098,"src":"7792:58:138","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$83018_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer)"}},"id":79649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7792:60:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7716:136:138"},{"expression":{"arguments":[{"id":79654,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79637,"src":"7923:9:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":79651,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79646,"src":"7865:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7883:21:138","memberName":"_totalAutoVotingUsers","nodeType":"MemberAccess","referencedDeclaration":83017,"src":"7865:39:138","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":79653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7905:17:138","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"7865:57:138","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":79655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7865:68:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":79641,"id":79656,"nodeType":"Return","src":"7858:75:138"}]},"documentation":{"id":79635,"nodeType":"StructuredDocumentation","src":"7383:230:138","text":" @dev Gets the total number of users who enabled autovoting at a specific timepoint\n @param timepoint The timepoint to check\n @return The total number of users who enabled autovoting at the specific timepoint"},"functionSelector":"059e952b","id":79658,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsersAtTimepoint","nameLocation":"7625:34:138","nodeType":"FunctionDefinition","parameters":{"id":79638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79637,"mutability":"mutable","name":"timepoint","nameLocation":"7667:9:138","nodeType":"VariableDeclaration","scope":79658,"src":"7660:16:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":79636,"name":"uint48","nodeType":"ElementaryTypeName","src":"7660:6:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"7659:18:138"},"returnParameters":{"id":79641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79658,"src":"7701:7:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":79639,"name":"uint208","nodeType":"ElementaryTypeName","src":"7701:7:138","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"7700:9:138"},"scope":79881,"src":"7616:322:138","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":79681,"nodeType":"Block","src":"8249:224:138","statements":[{"assignments":[79670],"declarations":[{"constant":false,"id":79670,"mutability":"mutable","name":"autoVotingStorage","nameLocation":"8311:17:138","nodeType":"VariableDeclaration","scope":79681,"src":"8255:73:138","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"},"typeName":{"id":79669,"nodeType":"UserDefinedTypeName","pathNode":{"id":79668,"name":"XAllocationVotingStorageTypes.AutoVotingStorage","nameLocations":["8255:29:138","8285:17:138"],"nodeType":"IdentifierPath","referencedDeclaration":83018,"src":"8255:47:138"},"referencedDeclaration":83018,"src":"8255:47:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"}},"visibility":"internal"}],"id":79674,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79671,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"8331:29:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8368:21:138","memberName":"_getAutoVotingStorage","nodeType":"MemberAccess","referencedDeclaration":83098,"src":"8331:58:138","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AutoVotingStorage_$83018_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer)"}},"id":79673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8331:60:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8255:136:138"},{"expression":{"arguments":[{"id":79678,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79661,"src":"8462:5:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":79675,"name":"autoVotingStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79670,"src":"8404:17:138","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage storage pointer"}},"id":79676,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8422:21:138","memberName":"_totalAutoVotingUsers","nodeType":"MemberAccess","referencedDeclaration":83017,"src":"8404:39:138","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":79677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8444:17:138","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"8404:57:138","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":79679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8404:64:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":79665,"id":79680,"nodeType":"Return","src":"8397:71:138"}]},"documentation":{"id":79659,"nodeType":"StructuredDocumentation","src":"7942:225:138","text":" @dev Gets the total number of users who enabled autovoting at the current timepoint\n @param clock The current timepoint\n @return The total number of users who enabled autovoting at the current timepoint"},"functionSelector":"fb9cd346","id":79682,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalAutoVotingUsers","nameLocation":"8179:23:138","nodeType":"FunctionDefinition","parameters":{"id":79662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79661,"mutability":"mutable","name":"clock","nameLocation":"8210:5:138","nodeType":"VariableDeclaration","scope":79682,"src":"8203:12:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":79660,"name":"uint48","nodeType":"ElementaryTypeName","src":"8203:6:138","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"8202:14:138"},"returnParameters":{"id":79665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79682,"src":"8240:7:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":79663,"name":"uint208","nodeType":"ElementaryTypeName","src":"8240:7:138","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"8239:9:138"},"scope":79881,"src":"8170:303:138","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":79879,"nodeType":"Block","src":"9389:1623:138","statements":[{"assignments":[79705],"declarations":[{"constant":false,"id":79705,"mutability":"mutable","name":"xAllocationVotingGovernor","nameLocation":"9422:25:138","nodeType":"VariableDeclaration","scope":79879,"src":"9395:52:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},"typeName":{"id":79704,"nodeType":"UserDefinedTypeName","pathNode":{"id":79703,"name":"IXAllocationVotingGovernor","nameLocations":["9395:26:138"],"nodeType":"IdentifierPath","referencedDeclaration":71124,"src":"9395:26:138"},"referencedDeclaration":71124,"src":"9395:26:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"visibility":"internal"}],"id":79709,"initialValue":{"arguments":[{"id":79707,"name":"xAllocationVotingGovernorAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79685,"src":"9477:32:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79706,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"9450:26:138","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":79708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:60:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"nodeType":"VariableDeclarationStatement","src":"9395:115:138"},{"assignments":[79711,79713],"declarations":[{"constant":false,"id":79711,"mutability":"mutable","name":"voterAvailableVotes","nameLocation":"9526:19:138","nodeType":"VariableDeclaration","scope":79879,"src":"9518:27:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79710,"name":"uint256","nodeType":"ElementaryTypeName","src":"9518:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79713,"mutability":"mutable","name":"isValid","nameLocation":"9552:7:138","nodeType":"VariableDeclaration","scope":79879,"src":"9547:12:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79712,"name":"bool","nodeType":"ElementaryTypeName","src":"9547:4:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79722,"initialValue":{"arguments":[{"id":79715,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79705,"src":"9597:25:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},{"id":79716,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79687,"src":"9630:5:138","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":79719,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79689,"src":"9683:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79717,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79705,"src":"9643:25:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":79718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9669:13:138","memberName":"roundSnapshot","nodeType":"MemberAccess","referencedDeclaration":70854,"src":"9643:39:138","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":79720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9643:48:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79714,"name":"_getAndValidateVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79452,"src":"9563:26:138","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IXAllocationVotingGovernor_$71124_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_bool_$","typeString":"function (contract IXAllocationVotingGovernor,address,uint256) view returns (uint256,bool)"}},"id":79721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9563:134:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$","typeString":"tuple(uint256,bool)"}},"nodeType":"VariableDeclarationStatement","src":"9517:180:138"},{"expression":{"id":79725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79723,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79701,"src":"9704:11:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79724,"name":"voterAvailableVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79711,"src":"9718:19:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9704:33:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79726,"nodeType":"ExpressionStatement","src":"9704:33:138"},{"condition":{"id":79728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9815:8:138","subExpression":{"id":79727,"name":"isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79713,"src":"9816:7:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79743,"nodeType":"IfStatement","src":"9811:85:138","trueBody":{"id":79742,"nodeType":"Block","src":"9825:71:138","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":79732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9855:1:138","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":79731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9841:13:138","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":79729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9845:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79730,"nodeType":"ArrayTypeName","src":"9845:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":79733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9841:16:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"arguments":[{"hexValue":"30","id":79737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9873:1:138","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":79736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9859:13:138","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":79734,"name":"uint256","nodeType":"ElementaryTypeName","src":"9863:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79735,"nodeType":"ArrayTypeName","src":"9863:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9859:16:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":79739,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79701,"src":"9877:11:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79740,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9840:49:138","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"functionReturnParameters":79702,"id":79741,"nodeType":"Return","src":"9833:56:138"}]}},{"assignments":[79745],"declarations":[{"constant":false,"id":79745,"mutability":"mutable","name":"len","nameLocation":"9949:3:138","nodeType":"VariableDeclaration","scope":79879,"src":"9941:11:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79744,"name":"uint256","nodeType":"ElementaryTypeName","src":"9941:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79748,"initialValue":{"expression":{"id":79746,"name":"preferredApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79692,"src":"9955:13:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9969:6:138","memberName":"length","nodeType":"MemberAccess","src":"9955:20:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9941:34:138"},{"assignments":[79753],"declarations":[{"constant":false,"id":79753,"mutability":"mutable","name":"tempAppIds","nameLocation":"9998:10:138","nodeType":"VariableDeclaration","scope":79879,"src":"9981:27:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":79751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9981:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79752,"nodeType":"ArrayTypeName","src":"9981:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":79759,"initialValue":{"arguments":[{"id":79757,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79745,"src":"10025:3:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10011:13:138","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":79754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10015:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79755,"nodeType":"ArrayTypeName","src":"10015:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":79758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10011:18:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9981:48:138"},{"assignments":[79761],"declarations":[{"constant":false,"id":79761,"mutability":"mutable","name":"count","nameLocation":"10043:5:138","nodeType":"VariableDeclaration","scope":79879,"src":"10035:13:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79760,"name":"uint256","nodeType":"ElementaryTypeName","src":"10035:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79762,"nodeType":"VariableDeclarationStatement","src":"10035:13:138"},{"body":{"id":79790,"nodeType":"Block","src":"10085:147:138","statements":[{"condition":{"arguments":[{"baseExpression":{"id":79774,"name":"preferredApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79692,"src":"10141:13:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79776,"indexExpression":{"id":79775,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79764,"src":"10155:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10141:16:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":79777,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79689,"src":"10159:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79772,"name":"xAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79705,"src":"10097:25:138","typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":79773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10123:17:138","memberName":"isEligibleForVote","nodeType":"MemberAccess","referencedDeclaration":71059,"src":"10097:43:138","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$","typeString":"function (bytes32,uint256) view external returns (bool)"}},"id":79778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10097:70:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79789,"nodeType":"IfStatement","src":"10093:133:138","trueBody":{"id":79788,"nodeType":"Block","src":"10169:57:138","statements":[{"expression":{"id":79786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79779,"name":"tempAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79753,"src":"10179:10:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79782,"indexExpression":{"id":79781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10190:7:138","subExpression":{"id":79780,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79761,"src":"10190:5:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10179:19:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":79783,"name":"preferredApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79692,"src":"10201:13:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79785,"indexExpression":{"id":79784,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79764,"src":"10215:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10201:16:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10179:38:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79787,"nodeType":"ExpressionStatement","src":"10179:38:138"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79766,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79764,"src":"10071:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79767,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79745,"src":"10075:3:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10071:7:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79791,"initializationExpression":{"assignments":[79764],"declarations":[{"constant":false,"id":79764,"mutability":"mutable","name":"i","nameLocation":"10068:1:138","nodeType":"VariableDeclaration","scope":79791,"src":"10060:9:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79763,"name":"uint256","nodeType":"ElementaryTypeName","src":"10060:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79765,"nodeType":"VariableDeclarationStatement","src":"10060:9:138"},"loopExpression":{"expression":{"id":79770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10080:3:138","subExpression":{"id":79769,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79764,"src":"10082:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79771,"nodeType":"ExpressionStatement","src":"10080:3:138"},"nodeType":"ForStatement","src":"10055:177:138"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79792,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79761,"src":"10296:5:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10305:1:138","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10296:10:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79809,"nodeType":"IfStatement","src":"10292:87:138","trueBody":{"id":79808,"nodeType":"Block","src":"10308:71:138","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":79798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10338:1:138","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":79797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10324:13:138","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":79795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10328:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79796,"nodeType":"ArrayTypeName","src":"10328:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":79799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10324:16:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"arguments":[{"hexValue":"30","id":79803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10356:1:138","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":79802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10342:13:138","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":79800,"name":"uint256","nodeType":"ElementaryTypeName","src":"10346:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79801,"nodeType":"ArrayTypeName","src":"10346:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10342:16:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":79805,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79701,"src":"10360:11:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79806,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10323:49:138","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"functionReturnParameters":79702,"id":79807,"nodeType":"Return","src":"10316:56:138"}]}},{"expression":{"id":79816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79810,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79696,"src":"10428:11:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":79814,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79761,"src":"10456:5:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10442:13:138","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":79811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10446:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79812,"nodeType":"ArrayTypeName","src":"10446:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":79815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10442:20:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"10428:34:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79817,"nodeType":"ExpressionStatement","src":"10428:34:138"},{"expression":{"id":79824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79818,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"10468:11:138","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":79822,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79761,"src":"10496:5:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10482:13:138","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":79819,"name":"uint256","nodeType":"ElementaryTypeName","src":"10486:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79820,"nodeType":"ArrayTypeName","src":"10486:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10482:20:138","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"10468:34:138","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79825,"nodeType":"ExpressionStatement","src":"10468:34:138"},{"assignments":[79827],"declarations":[{"constant":false,"id":79827,"mutability":"mutable","name":"votePerApp","nameLocation":"10516:10:138","nodeType":"VariableDeclaration","scope":79879,"src":"10508:18:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79826,"name":"uint256","nodeType":"ElementaryTypeName","src":"10508:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79831,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79828,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79701,"src":"10529:11:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":79829,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79761,"src":"10543:5:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10529:19:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10508:40:138"},{"assignments":[79833],"declarations":[{"constant":false,"id":79833,"mutability":"mutable","name":"remainingVotes","nameLocation":"10562:14:138","nodeType":"VariableDeclaration","scope":79879,"src":"10554:22:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79832,"name":"uint256","nodeType":"ElementaryTypeName","src":"10554:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79837,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79834,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79701,"src":"10579:11:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":79835,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79761,"src":"10593:5:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10579:19:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10554:44:138"},{"body":{"id":79872,"nodeType":"Block","src":"10637:318:138","statements":[{"expression":{"id":79853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79847,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79696,"src":"10645:11:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79849,"indexExpression":{"id":79848,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79839,"src":"10657:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10645:14:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":79850,"name":"tempAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79753,"src":"10662:10:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":79852,"indexExpression":{"id":79851,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79839,"src":"10673:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10662:13:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10645:30:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79854,"nodeType":"ExpressionStatement","src":"10645:30:138"},{"expression":{"id":79859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79855,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"10683:11:138","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79857,"indexExpression":{"id":79856,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79839,"src":"10695:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10683:14:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79858,"name":"votePerApp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79827,"src":"10700:10:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10683:27:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79860,"nodeType":"ExpressionStatement","src":"10683:27:138"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79861,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79839,"src":"10891:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79862,"name":"remainingVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79833,"src":"10895:14:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10891:18:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79871,"nodeType":"IfStatement","src":"10887:62:138","trueBody":{"id":79870,"nodeType":"Block","src":"10911:38:138","statements":[{"expression":{"id":79868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79864,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"10921:11:138","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79866,"indexExpression":{"id":79865,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79839,"src":"10933:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10921:14:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":79867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10939:1:138","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10921:19:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79869,"nodeType":"ExpressionStatement","src":"10921:19:138"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79841,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79839,"src":"10621:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79842,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79761,"src":"10625:5:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10621:9:138","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79873,"initializationExpression":{"assignments":[79839],"declarations":[{"constant":false,"id":79839,"mutability":"mutable","name":"i","nameLocation":"10618:1:138","nodeType":"VariableDeclaration","scope":79873,"src":"10610:9:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79838,"name":"uint256","nodeType":"ElementaryTypeName","src":"10610:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79840,"nodeType":"VariableDeclarationStatement","src":"10610:9:138"},"loopExpression":{"expression":{"id":79845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10632:3:138","subExpression":{"id":79844,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79839,"src":"10634:1:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79846,"nodeType":"ExpressionStatement","src":"10632:3:138"},"nodeType":"ForStatement","src":"10605:350:138"},{"expression":{"components":[{"id":79874,"name":"finalAppIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79696,"src":"10969:11:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":79875,"name":"voteWeights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"10982:11:138","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":79876,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79701,"src":"10995:11:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79877,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10968:39:138","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes32[] memory,uint256[] memory,uint256)"}},"functionReturnParameters":79702,"id":79878,"nodeType":"Return","src":"10961:46:138"}]},"documentation":{"id":79683,"nodeType":"StructuredDocumentation","src":"8477:648:138","text":" @dev Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights\n @notice Returns empty arrays if voter has insufficient voting power\n @notice Returns empty arrays if no eligible apps found\n @param xAllocationVotingGovernorAddress The address of the XAllocationVotingGovernor contract\n @param voter The address of the voter\n @param roundId The round ID to vote in\n @param preferredApps Array of preferred app IDs\n @return finalAppIds Array of eligible app IDs\n @return voteWeights Array of equal vote weights\n @return votingPower The voting power of the voter"},"functionSelector":"ea66e04a","id":79880,"implemented":true,"kind":"function","modifiers":[],"name":"prepareAutoVoteArrays","nameLocation":"9137:21:138","nodeType":"FunctionDefinition","parameters":{"id":79693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79685,"mutability":"mutable","name":"xAllocationVotingGovernorAddress","nameLocation":"9172:32:138","nodeType":"VariableDeclaration","scope":79880,"src":"9164:40:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79684,"name":"address","nodeType":"ElementaryTypeName","src":"9164:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79687,"mutability":"mutable","name":"voter","nameLocation":"9218:5:138","nodeType":"VariableDeclaration","scope":79880,"src":"9210:13:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79686,"name":"address","nodeType":"ElementaryTypeName","src":"9210:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79689,"mutability":"mutable","name":"roundId","nameLocation":"9237:7:138","nodeType":"VariableDeclaration","scope":79880,"src":"9229:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79688,"name":"uint256","nodeType":"ElementaryTypeName","src":"9229:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79692,"mutability":"mutable","name":"preferredApps","nameLocation":"9267:13:138","nodeType":"VariableDeclaration","scope":79880,"src":"9250:30:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":79690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9250:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79691,"nodeType":"ArrayTypeName","src":"9250:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"9158:126:138"},"returnParameters":{"id":79702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79696,"mutability":"mutable","name":"finalAppIds","nameLocation":"9325:11:138","nodeType":"VariableDeclaration","scope":79880,"src":"9308:28:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":79694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9308:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79695,"nodeType":"ArrayTypeName","src":"9308:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":79699,"mutability":"mutable","name":"voteWeights","nameLocation":"9355:11:138","nodeType":"VariableDeclaration","scope":79880,"src":"9338:28:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79697,"name":"uint256","nodeType":"ElementaryTypeName","src":"9338:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79698,"nodeType":"ArrayTypeName","src":"9338:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":79701,"mutability":"mutable","name":"votingPower","nameLocation":"9376:11:138","nodeType":"VariableDeclaration","scope":79880,"src":"9368:19:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79700,"name":"uint256","nodeType":"ElementaryTypeName","src":"9368:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9307:81:138"},"scope":79881,"src":"9128:1884:138","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":79882,"src":"744:10270:138","usedErrors":[7025,8883],"usedEvents":[79269,79277]}],"src":"32:10983:138"},"id":138},"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol","exportedSymbols":{"ExternalContractsUtils":[80338],"IB3TRGovernor":[63919],"IEmissions":[64454],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IX2EarnApps":[69989],"XAllocationVotingStorageTypes":[83099]},"id":80339,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":79883,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:139"},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../../interfaces/IEmissions.sol","id":79885,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80339,"sourceUnit":64455,"src":"57:61:139","symbolAliases":[{"foreign":{"id":79884,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"66:10:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../interfaces/IX2EarnApps.sol","id":79887,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80339,"sourceUnit":69990,"src":"119:63:139","symbolAliases":[{"foreign":{"id":79886,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"128:11:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../interfaces/IVoterRewards.sol","id":79889,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80339,"sourceUnit":69093,"src":"183:67:139","symbolAliases":[{"foreign":{"id":79888,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"192:13:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../interfaces/IVeBetterPassport.sol","id":79891,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80339,"sourceUnit":68602,"src":"251:75:139","symbolAliases":[{"foreign":{"id":79890,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"260:17:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":79893,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80339,"sourceUnit":63920,"src":"327:67:139","symbolAliases":[{"foreign":{"id":79892,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"336:13:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../interfaces/IRelayerRewardsPool.sol","id":79895,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80339,"sourceUnit":67118,"src":"395:79:139","symbolAliases":[{"foreign":{"id":79894,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"404:19:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../../interfaces/INavigatorRegistry.sol","id":79897,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80339,"sourceUnit":66639,"src":"475:77:139","symbolAliases":[{"foreign":{"id":79896,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"484:18:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":79899,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80339,"sourceUnit":83100,"src":"553:84:139","symbolAliases":[{"foreign":{"id":79898,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"562:29:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"ExternalContractsUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":79900,"nodeType":"StructuredDocumentation","src":"639:234:139","text":" @title ExternalContractsUtils\n @notice Library for managing external contract references in XAllocationVoting.\n @dev Self-fetches storage via XAllocationVotingStorageTypes. All functions are external for size reduction."},"fullyImplemented":true,"id":80338,"linearizedBaseContracts":[80338],"name":"ExternalContractsUtils","nameLocation":"882:22:139","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":79901,"nodeType":"StructuredDocumentation","src":"941:51:139","text":"@dev Emitted when the emissions contract is set"},"eventSelector":"602f97505d28fb0206888a82df7cb072ec7ff056c77134b64368322bcb9f5aba","id":79907,"name":"EmissionsSet","nameLocation":"1001:12:139","nodeType":"EventDefinition","parameters":{"id":79906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79903,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1022:18:139","nodeType":"VariableDeclaration","scope":79907,"src":"1014:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79902,"name":"address","nodeType":"ElementaryTypeName","src":"1014:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79905,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1050:18:139","nodeType":"VariableDeclaration","scope":79907,"src":"1042:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79904,"name":"address","nodeType":"ElementaryTypeName","src":"1042:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1013:56:139"},"src":"995:75:139"},{"anonymous":false,"documentation":{"id":79908,"nodeType":"StructuredDocumentation","src":"1073:52:139","text":"@dev Emitted when the X2EarnApps contract is set"},"eventSelector":"6183e90e12923ae97651b48be341fb5bcfd7bb63a987353dbcf962851011974d","id":79914,"name":"X2EarnAppsSet","nameLocation":"1134:13:139","nodeType":"EventDefinition","parameters":{"id":79913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79910,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1156:18:139","nodeType":"VariableDeclaration","scope":79914,"src":"1148:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79909,"name":"address","nodeType":"ElementaryTypeName","src":"1148:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79912,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1184:18:139","nodeType":"VariableDeclaration","scope":79914,"src":"1176:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79911,"name":"address","nodeType":"ElementaryTypeName","src":"1176:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1147:56:139"},"src":"1128:76:139"},{"anonymous":false,"documentation":{"id":79915,"nodeType":"StructuredDocumentation","src":"1207:55:139","text":"@dev Emitted when the voter rewards contract is set"},"eventSelector":"285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c4","id":79921,"name":"VoterRewardsSet","nameLocation":"1271:15:139","nodeType":"EventDefinition","parameters":{"id":79920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79917,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1295:18:139","nodeType":"VariableDeclaration","scope":79921,"src":"1287:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79916,"name":"address","nodeType":"ElementaryTypeName","src":"1287:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79919,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1323:18:139","nodeType":"VariableDeclaration","scope":79921,"src":"1315:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79918,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1286:56:139"},"src":"1265:78:139"},{"anonymous":false,"documentation":{"id":79922,"nodeType":"StructuredDocumentation","src":"1346:58:139","text":"@dev Emitted when the VeBetterPassport contract is set"},"eventSelector":"1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160","id":79928,"name":"VeBetterPassportSet","nameLocation":"1413:19:139","nodeType":"EventDefinition","parameters":{"id":79927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79924,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1441:18:139","nodeType":"VariableDeclaration","scope":79928,"src":"1433:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79923,"name":"address","nodeType":"ElementaryTypeName","src":"1433:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79926,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1469:18:139","nodeType":"VariableDeclaration","scope":79928,"src":"1461:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79925,"name":"address","nodeType":"ElementaryTypeName","src":"1461:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1432:56:139"},"src":"1407:82:139"},{"anonymous":false,"documentation":{"id":79929,"nodeType":"StructuredDocumentation","src":"1492:54:139","text":"@dev Emitted when the B3TRGovernor contract is set"},"eventSelector":"b77fb0ff0b0446f13e672c64b103afd9da2774098ab3de2150eca002248bb298","id":79935,"name":"B3TRGovernorSet","nameLocation":"1555:15:139","nodeType":"EventDefinition","parameters":{"id":79934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79931,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1579:18:139","nodeType":"VariableDeclaration","scope":79935,"src":"1571:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79930,"name":"address","nodeType":"ElementaryTypeName","src":"1571:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79933,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1607:18:139","nodeType":"VariableDeclaration","scope":79935,"src":"1599:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79932,"name":"address","nodeType":"ElementaryTypeName","src":"1599:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1570:56:139"},"src":"1549:78:139"},{"anonymous":false,"documentation":{"id":79936,"nodeType":"StructuredDocumentation","src":"1630:60:139","text":"@dev Emitted when the RelayerRewardsPool contract is set"},"eventSelector":"1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e","id":79942,"name":"RelayerRewardsPoolSet","nameLocation":"1699:21:139","nodeType":"EventDefinition","parameters":{"id":79941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79938,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1729:18:139","nodeType":"VariableDeclaration","scope":79942,"src":"1721:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79937,"name":"address","nodeType":"ElementaryTypeName","src":"1721:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79940,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1757:18:139","nodeType":"VariableDeclaration","scope":79942,"src":"1749:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79939,"name":"address","nodeType":"ElementaryTypeName","src":"1749:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1720:56:139"},"src":"1693:84:139"},{"anonymous":false,"documentation":{"id":79943,"nodeType":"StructuredDocumentation","src":"1780:59:139","text":"@dev Emitted when the NavigatorRegistry contract is set"},"eventSelector":"072ec7147cbb6a8d38bd6caa7fdf26b9987bb2ec536bbc5288c4a4c335c58c80","id":79949,"name":"NavigatorRegistrySet","nameLocation":"1848:20:139","nodeType":"EventDefinition","parameters":{"id":79948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79945,"indexed":false,"mutability":"mutable","name":"oldContractAddress","nameLocation":"1877:18:139","nodeType":"VariableDeclaration","scope":79949,"src":"1869:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79944,"name":"address","nodeType":"ElementaryTypeName","src":"1869:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79947,"indexed":false,"mutability":"mutable","name":"newContractAddress","nameLocation":"1905:18:139","nodeType":"VariableDeclaration","scope":79949,"src":"1897:26:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79946,"name":"address","nodeType":"ElementaryTypeName","src":"1897:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1868:56:139"},"src":"1842:83:139"},{"errorSelector":"e21b9230","id":79953,"name":"InvalidContractAddress","nameLocation":"1967:22:139","nodeType":"ErrorDefinition","parameters":{"id":79952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79951,"mutability":"mutable","name":"contractName","nameLocation":"1997:12:139","nodeType":"VariableDeclaration","scope":79953,"src":"1990:19:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":79950,"name":"string","nodeType":"ElementaryTypeName","src":"1990:6:139","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1989:21:139"},"src":"1961:50:139"},{"body":{"id":79993,"nodeType":"Block","src":"2450:264:139","statements":[{"assignments":[79970],"declarations":[{"constant":false,"id":79970,"mutability":"mutable","name":"$","nameLocation":"2519:1:139","nodeType":"VariableDeclaration","scope":79993,"src":"2456:64:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":79969,"nodeType":"UserDefinedTypeName","pathNode":{"id":79968,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["2456:29:139","2486:24:139"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"2456:54:139"},"referencedDeclaration":83004,"src":"2456:54:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":79974,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79971,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2523:29:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":79972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2560:28:139","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"2523:65:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":79973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2523:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2456:134:139"},{"expression":{"id":79979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79975,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79970,"src":"2596:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":79977,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2598:11:139","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"2596:13:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79978,"name":"initialX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79957,"src":"2612:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"src":"2596:33:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":79980,"nodeType":"ExpressionStatement","src":"2596:33:139"},{"expression":{"id":79985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79981,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79970,"src":"2635:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":79983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2637:10:139","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":82988,"src":"2635:12:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79984,"name":"initialEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79960,"src":"2650:16:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"2635:31:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":79986,"nodeType":"ExpressionStatement","src":"2635:31:139"},{"expression":{"id":79991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79987,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79970,"src":"2672:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":79989,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2674:13:139","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":82991,"src":"2672:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79990,"name":"initialVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79963,"src":"2690:19:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"src":"2672:37:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":79992,"nodeType":"ExpressionStatement","src":"2672:37:139"}]},"documentation":{"id":79954,"nodeType":"StructuredDocumentation","src":"2055:252:139","text":" @notice Initializes external contract references.\n @param initialX2EarnApps The initial X2EarnApps contract\n @param initialEmissions The initial Emissions contract\n @param initialVoterRewards The initial VoterRewards contract"},"functionSelector":"c852a53b","id":79994,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2319:10:139","nodeType":"FunctionDefinition","parameters":{"id":79964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79957,"mutability":"mutable","name":"initialX2EarnApps","nameLocation":"2347:17:139","nodeType":"VariableDeclaration","scope":79994,"src":"2335:29:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":79956,"nodeType":"UserDefinedTypeName","pathNode":{"id":79955,"name":"IX2EarnApps","nameLocations":["2335:11:139"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"2335:11:139"},"referencedDeclaration":69989,"src":"2335:11:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":79960,"mutability":"mutable","name":"initialEmissions","nameLocation":"2381:16:139","nodeType":"VariableDeclaration","scope":79994,"src":"2370:27:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":79959,"nodeType":"UserDefinedTypeName","pathNode":{"id":79958,"name":"IEmissions","nameLocations":["2370:10:139"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"2370:10:139"},"referencedDeclaration":64454,"src":"2370:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":79963,"mutability":"mutable","name":"initialVoterRewards","nameLocation":"2417:19:139","nodeType":"VariableDeclaration","scope":79994,"src":"2403:33:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":79962,"nodeType":"UserDefinedTypeName","pathNode":{"id":79961,"name":"IVoterRewards","nameLocations":["2403:13:139"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"2403:13:139"},"referencedDeclaration":69092,"src":"2403:13:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"2329:111:139"},"returnParameters":{"id":79965,"nodeType":"ParameterList","parameters":[],"src":"2450:0:139"},"scope":80338,"src":"2310:404:139","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80042,"nodeType":"Block","src":"2943:337:139","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80003,"name":"newEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79998,"src":"2961:12:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":80002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2953:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80001,"name":"address","nodeType":"ElementaryTypeName","src":"2953:7:139","typeDescriptions":{}}},"id":80004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2953:21:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2986:1:139","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":80006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2978:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80005,"name":"address","nodeType":"ElementaryTypeName","src":"2978:7:139","typeDescriptions":{}}},"id":80008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2978:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2953:35:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80014,"nodeType":"IfStatement","src":"2949:83:139","trueBody":{"errorCall":{"arguments":[{"hexValue":"656d697373696f6e73","id":80011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3020:11:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3","typeString":"literal_string \"emissions\""},"value":"emissions"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3","typeString":"literal_string \"emissions\""}],"id":80010,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79953,"src":"2997:22:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":80012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:35:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80013,"nodeType":"RevertStatement","src":"2990:42:139"}},{"assignments":[80019],"declarations":[{"constant":false,"id":80019,"mutability":"mutable","name":"$","nameLocation":"3102:1:139","nodeType":"VariableDeclaration","scope":80042,"src":"3039:64:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":80018,"nodeType":"UserDefinedTypeName","pathNode":{"id":80017,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["3039:29:139","3069:24:139"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"3039:54:139"},"referencedDeclaration":83004,"src":"3039:54:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":80023,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80020,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3106:29:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3143:28:139","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"3106:65:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":80022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3106:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3039:134:139"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":80027,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80019,"src":"3205:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3207:10:139","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":82988,"src":"3205:12:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":80026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3197:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80025,"name":"address","nodeType":"ElementaryTypeName","src":"3197:7:139","typeDescriptions":{}}},"id":80029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3197:21:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":80032,"name":"newEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79998,"src":"3228:12:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}],"id":80031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3220:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80030,"name":"address","nodeType":"ElementaryTypeName","src":"3220:7:139","typeDescriptions":{}}},"id":80033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3220:21:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80024,"name":"EmissionsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79907,"src":"3184:12:139","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":80034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3184:58:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80035,"nodeType":"EmitStatement","src":"3179:63:139"},{"expression":{"id":80040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80036,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80019,"src":"3248:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3250:10:139","memberName":"_emissions","nodeType":"MemberAccess","referencedDeclaration":82988,"src":"3248:12:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80039,"name":"newEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79998,"src":"3263:12:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"src":"3248:27:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"id":80041,"nodeType":"ExpressionStatement","src":"3248:27:139"}]},"documentation":{"id":79995,"nodeType":"StructuredDocumentation","src":"2784:100:139","text":"@notice Sets the Emissions contract\n @param newEmissions The new Emissions contract address"},"functionSelector":"2b9f45b7","id":80043,"implemented":true,"kind":"function","modifiers":[],"name":"setEmissions","nameLocation":"2896:12:139","nodeType":"FunctionDefinition","parameters":{"id":79999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79998,"mutability":"mutable","name":"newEmissions","nameLocation":"2920:12:139","nodeType":"VariableDeclaration","scope":80043,"src":"2909:23:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":79997,"nodeType":"UserDefinedTypeName","pathNode":{"id":79996,"name":"IEmissions","nameLocations":["2909:10:139"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"2909:10:139"},"referencedDeclaration":64454,"src":"2909:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"}],"src":"2908:25:139"},"returnParameters":{"id":80000,"nodeType":"ParameterList","parameters":[],"src":"2943:0:139"},"scope":80338,"src":"2887:393:139","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80091,"nodeType":"Block","src":"3449:344:139","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80052,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80047,"src":"3467:13:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":80051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3459:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80050,"name":"address","nodeType":"ElementaryTypeName","src":"3459:7:139","typeDescriptions":{}}},"id":80053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3459:22:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3493:1:139","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":80055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3485:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80054,"name":"address","nodeType":"ElementaryTypeName","src":"3485:7:139","typeDescriptions":{}}},"id":80057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3485:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3459:36:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80063,"nodeType":"IfStatement","src":"3455:85:139","trueBody":{"errorCall":{"arguments":[{"hexValue":"58324561726e41707073","id":80060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3527:12:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2","typeString":"literal_string \"X2EarnApps\""},"value":"X2EarnApps"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2","typeString":"literal_string \"X2EarnApps\""}],"id":80059,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79953,"src":"3504:22:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":80061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3504:36:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80062,"nodeType":"RevertStatement","src":"3497:43:139"}},{"assignments":[80068],"declarations":[{"constant":false,"id":80068,"mutability":"mutable","name":"$","nameLocation":"3610:1:139","nodeType":"VariableDeclaration","scope":80091,"src":"3547:64:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":80067,"nodeType":"UserDefinedTypeName","pathNode":{"id":80066,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["3547:29:139","3577:24:139"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"3547:54:139"},"referencedDeclaration":83004,"src":"3547:54:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":80072,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80069,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3614:29:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3651:28:139","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"3614:65:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":80071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3614:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3547:134:139"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":80076,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80068,"src":"3714:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3716:11:139","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"3714:13:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":80075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3706:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80074,"name":"address","nodeType":"ElementaryTypeName","src":"3706:7:139","typeDescriptions":{}}},"id":80078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3706:22:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":80081,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80047,"src":"3738:13:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}],"id":80080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3730:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80079,"name":"address","nodeType":"ElementaryTypeName","src":"3730:7:139","typeDescriptions":{}}},"id":80082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3730:22:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80073,"name":"X2EarnAppsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79914,"src":"3692:13:139","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":80083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3692:61:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80084,"nodeType":"EmitStatement","src":"3687:66:139"},{"expression":{"id":80089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80085,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80068,"src":"3759:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3761:11:139","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"3759:13:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80088,"name":"newX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80047,"src":"3775:13:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"src":"3759:29:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":80090,"nodeType":"ExpressionStatement","src":"3759:29:139"}]},"documentation":{"id":80044,"nodeType":"StructuredDocumentation","src":"3284:103:139","text":"@notice Sets the X2EarnApps contract\n @param newX2EarnApps The new X2EarnApps contract address"},"functionSelector":"7d4b9483","id":80092,"implemented":true,"kind":"function","modifiers":[],"name":"setX2EarnApps","nameLocation":"3399:13:139","nodeType":"FunctionDefinition","parameters":{"id":80048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80047,"mutability":"mutable","name":"newX2EarnApps","nameLocation":"3425:13:139","nodeType":"VariableDeclaration","scope":80092,"src":"3413:25:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":80046,"nodeType":"UserDefinedTypeName","pathNode":{"id":80045,"name":"IX2EarnApps","nameLocations":["3413:11:139"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"3413:11:139"},"referencedDeclaration":69989,"src":"3413:11:139","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"src":"3412:27:139"},"returnParameters":{"id":80049,"nodeType":"ParameterList","parameters":[],"src":"3449:0:139"},"scope":80338,"src":"3390:403:139","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80140,"nodeType":"Block","src":"3974:359:139","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80101,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80096,"src":"3992:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":80100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3984:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80099,"name":"address","nodeType":"ElementaryTypeName","src":"3984:7:139","typeDescriptions":{}}},"id":80102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3984:24:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4020:1:139","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":80104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4012:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80103,"name":"address","nodeType":"ElementaryTypeName","src":"4012:7:139","typeDescriptions":{}}},"id":80106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4012:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3984:38:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80112,"nodeType":"IfStatement","src":"3980:90:139","trueBody":{"errorCall":{"arguments":[{"hexValue":"766f7465722072657761726473","id":80109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4054:15:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677","typeString":"literal_string \"voter rewards\""},"value":"voter rewards"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677","typeString":"literal_string \"voter rewards\""}],"id":80108,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79953,"src":"4031:22:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":80110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4031:39:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80111,"nodeType":"RevertStatement","src":"4024:46:139"}},{"assignments":[80117],"declarations":[{"constant":false,"id":80117,"mutability":"mutable","name":"$","nameLocation":"4140:1:139","nodeType":"VariableDeclaration","scope":80140,"src":"4077:64:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":80116,"nodeType":"UserDefinedTypeName","pathNode":{"id":80115,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["4077:29:139","4107:24:139"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"4077:54:139"},"referencedDeclaration":83004,"src":"4077:54:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":80121,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80118,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4144:29:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4181:28:139","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"4144:65:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":80120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4144:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4077:134:139"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":80125,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80117,"src":"4246:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4248:13:139","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":82991,"src":"4246:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":80124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4238:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80123,"name":"address","nodeType":"ElementaryTypeName","src":"4238:7:139","typeDescriptions":{}}},"id":80127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4238:24:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":80130,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80096,"src":"4272:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":80129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4264:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80128,"name":"address","nodeType":"ElementaryTypeName","src":"4264:7:139","typeDescriptions":{}}},"id":80131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4264:24:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80122,"name":"VoterRewardsSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79921,"src":"4222:15:139","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":80132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4222:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80133,"nodeType":"EmitStatement","src":"4217:72:139"},{"expression":{"id":80138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80134,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80117,"src":"4295:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4297:13:139","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":82991,"src":"4295:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80137,"name":"newVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80096,"src":"4313:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"src":"4295:33:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":80139,"nodeType":"ExpressionStatement","src":"4295:33:139"}]},"documentation":{"id":80093,"nodeType":"StructuredDocumentation","src":"3797:109:139","text":"@notice Sets the VoterRewards contract\n @param newVoterRewards The new VoterRewards contract address"},"functionSelector":"d639f65c","id":80141,"implemented":true,"kind":"function","modifiers":[],"name":"setVoterRewards","nameLocation":"3918:15:139","nodeType":"FunctionDefinition","parameters":{"id":80097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80096,"mutability":"mutable","name":"newVoterRewards","nameLocation":"3948:15:139","nodeType":"VariableDeclaration","scope":80141,"src":"3934:29:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":80095,"nodeType":"UserDefinedTypeName","pathNode":{"id":80094,"name":"IVoterRewards","nameLocations":["3934:13:139"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"3934:13:139"},"referencedDeclaration":69092,"src":"3934:13:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"}],"src":"3933:31:139"},"returnParameters":{"id":80098,"nodeType":"ParameterList","parameters":[],"src":"3974:0:139"},"scope":80338,"src":"3909:424:139","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80189,"nodeType":"Block","src":"4538:386:139","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80150,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80145,"src":"4556:19:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":80149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4548:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80148,"name":"address","nodeType":"ElementaryTypeName","src":"4548:7:139","typeDescriptions":{}}},"id":80151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4548:28:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4588:1:139","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":80153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4580:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80152,"name":"address","nodeType":"ElementaryTypeName","src":"4580:7:139","typeDescriptions":{}}},"id":80155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4580:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4548:42:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80161,"nodeType":"IfStatement","src":"4544:97:139","trueBody":{"errorCall":{"arguments":[{"hexValue":"566542657474657250617373706f7274","id":80158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4622:18:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84","typeString":"literal_string \"VeBetterPassport\""},"value":"VeBetterPassport"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84","typeString":"literal_string \"VeBetterPassport\""}],"id":80157,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79953,"src":"4599:22:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":80159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4599:42:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80160,"nodeType":"RevertStatement","src":"4592:49:139"}},{"assignments":[80166],"declarations":[{"constant":false,"id":80166,"mutability":"mutable","name":"$","nameLocation":"4711:1:139","nodeType":"VariableDeclaration","scope":80189,"src":"4648:64:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":80165,"nodeType":"UserDefinedTypeName","pathNode":{"id":80164,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["4648:29:139","4678:24:139"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"4648:54:139"},"referencedDeclaration":83004,"src":"4648:54:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":80170,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80167,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4715:29:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4752:28:139","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"4715:65:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":80169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4715:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4648:134:139"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":80174,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80166,"src":"4821:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80175,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4823:17:139","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":82994,"src":"4821:19:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":80173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4813:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80172,"name":"address","nodeType":"ElementaryTypeName","src":"4813:7:139","typeDescriptions":{}}},"id":80176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4813:28:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":80179,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80145,"src":"4851:19:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}],"id":80178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4843:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80177,"name":"address","nodeType":"ElementaryTypeName","src":"4843:7:139","typeDescriptions":{}}},"id":80180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4843:28:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80171,"name":"VeBetterPassportSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79928,"src":"4793:19:139","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":80181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4793:79:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80182,"nodeType":"EmitStatement","src":"4788:84:139"},{"expression":{"id":80187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80183,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80166,"src":"4878:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4880:17:139","memberName":"_veBetterPassport","nodeType":"MemberAccess","referencedDeclaration":82994,"src":"4878:19:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80186,"name":"newVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80145,"src":"4900:19:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"src":"4878:41:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"id":80188,"nodeType":"ExpressionStatement","src":"4878:41:139"}]},"documentation":{"id":80142,"nodeType":"StructuredDocumentation","src":"4337:121:139","text":"@notice Sets the VeBetterPassport contract\n @param newVeBetterPassport The new VeBetterPassport contract address"},"functionSelector":"4784a113","id":80190,"implemented":true,"kind":"function","modifiers":[],"name":"setVeBetterPassport","nameLocation":"4470:19:139","nodeType":"FunctionDefinition","parameters":{"id":80146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80145,"mutability":"mutable","name":"newVeBetterPassport","nameLocation":"4508:19:139","nodeType":"VariableDeclaration","scope":80190,"src":"4490:37:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":80144,"nodeType":"UserDefinedTypeName","pathNode":{"id":80143,"name":"IVeBetterPassport","nameLocations":["4490:17:139"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"4490:17:139"},"referencedDeclaration":68601,"src":"4490:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"}],"src":"4489:39:139"},"returnParameters":{"id":80147,"nodeType":"ParameterList","parameters":[],"src":"4538:0:139"},"scope":80338,"src":"4461:463:139","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80238,"nodeType":"Block","src":"5105:358:139","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80199,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80194,"src":"5123:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":80198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5115:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80197,"name":"address","nodeType":"ElementaryTypeName","src":"5115:7:139","typeDescriptions":{}}},"id":80200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5115:24:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5151:1:139","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":80202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5143:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80201,"name":"address","nodeType":"ElementaryTypeName","src":"5143:7:139","typeDescriptions":{}}},"id":80204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5143:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5115:38:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80210,"nodeType":"IfStatement","src":"5111:89:139","trueBody":{"errorCall":{"arguments":[{"hexValue":"42335452476f7665726e6f72","id":80207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5185:14:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea","typeString":"literal_string \"B3TRGovernor\""},"value":"B3TRGovernor"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea","typeString":"literal_string \"B3TRGovernor\""}],"id":80206,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79953,"src":"5162:22:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":80208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5162:38:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80209,"nodeType":"RevertStatement","src":"5155:45:139"}},{"assignments":[80215],"declarations":[{"constant":false,"id":80215,"mutability":"mutable","name":"$","nameLocation":"5270:1:139","nodeType":"VariableDeclaration","scope":80238,"src":"5207:64:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":80214,"nodeType":"UserDefinedTypeName","pathNode":{"id":80213,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["5207:29:139","5237:24:139"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"5207:54:139"},"referencedDeclaration":83004,"src":"5207:54:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":80219,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80216,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"5274:29:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5311:28:139","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"5274:65:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":80218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5274:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5207:134:139"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":80223,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80215,"src":"5376:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5378:13:139","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":82997,"src":"5376:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":80222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5368:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80221,"name":"address","nodeType":"ElementaryTypeName","src":"5368:7:139","typeDescriptions":{}}},"id":80225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5368:24:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":80228,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80194,"src":"5402:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":80227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5394:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80226,"name":"address","nodeType":"ElementaryTypeName","src":"5394:7:139","typeDescriptions":{}}},"id":80229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5394:24:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80220,"name":"B3TRGovernorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79935,"src":"5352:15:139","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":80230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5352:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80231,"nodeType":"EmitStatement","src":"5347:72:139"},{"expression":{"id":80236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80232,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80215,"src":"5425:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5427:13:139","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":82997,"src":"5425:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80235,"name":"newB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80194,"src":"5443:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"src":"5425:33:139","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":80237,"nodeType":"ExpressionStatement","src":"5425:33:139"}]},"documentation":{"id":80191,"nodeType":"StructuredDocumentation","src":"4928:109:139","text":"@notice Sets the B3TRGovernor contract\n @param newB3TRGovernor The new B3TRGovernor contract address"},"functionSelector":"65d47ee6","id":80239,"implemented":true,"kind":"function","modifiers":[],"name":"setB3TRGovernor","nameLocation":"5049:15:139","nodeType":"FunctionDefinition","parameters":{"id":80195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80194,"mutability":"mutable","name":"newB3TRGovernor","nameLocation":"5079:15:139","nodeType":"VariableDeclaration","scope":80239,"src":"5065:29:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":80193,"nodeType":"UserDefinedTypeName","pathNode":{"id":80192,"name":"IB3TRGovernor","nameLocations":["5065:13:139"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"5065:13:139"},"referencedDeclaration":63919,"src":"5065:13:139","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"src":"5064:31:139"},"returnParameters":{"id":80196,"nodeType":"ParameterList","parameters":[],"src":"5105:0:139"},"scope":80338,"src":"5040:423:139","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80287,"nodeType":"Block","src":"5680:400:139","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80248,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"5698:21:139","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":80247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5690:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80246,"name":"address","nodeType":"ElementaryTypeName","src":"5690:7:139","typeDescriptions":{}}},"id":80249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5690:30:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5732:1:139","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":80251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5724:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80250,"name":"address","nodeType":"ElementaryTypeName","src":"5724:7:139","typeDescriptions":{}}},"id":80253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5724:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5690:44:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80259,"nodeType":"IfStatement","src":"5686:101:139","trueBody":{"errorCall":{"arguments":[{"hexValue":"52656c6179657252657761726473506f6f6c","id":80256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5766:20:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c","typeString":"literal_string \"RelayerRewardsPool\""},"value":"RelayerRewardsPool"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c","typeString":"literal_string \"RelayerRewardsPool\""}],"id":80255,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79953,"src":"5743:22:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":80257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5743:44:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80258,"nodeType":"RevertStatement","src":"5736:51:139"}},{"assignments":[80264],"declarations":[{"constant":false,"id":80264,"mutability":"mutable","name":"$","nameLocation":"5857:1:139","nodeType":"VariableDeclaration","scope":80287,"src":"5794:64:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":80263,"nodeType":"UserDefinedTypeName","pathNode":{"id":80262,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["5794:29:139","5824:24:139"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"5794:54:139"},"referencedDeclaration":83004,"src":"5794:54:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":80268,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80265,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"5861:29:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5898:28:139","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"5861:65:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":80267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5861:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5794:134:139"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":80272,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80264,"src":"5969:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5971:19:139","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"5969:21:139","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":80271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5961:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80270,"name":"address","nodeType":"ElementaryTypeName","src":"5961:7:139","typeDescriptions":{}}},"id":80274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5961:30:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":80277,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"6001:21:139","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}],"id":80276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5993:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80275,"name":"address","nodeType":"ElementaryTypeName","src":"5993:7:139","typeDescriptions":{}}},"id":80278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5993:30:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80269,"name":"RelayerRewardsPoolSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79942,"src":"5939:21:139","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":80279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:85:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80280,"nodeType":"EmitStatement","src":"5934:90:139"},{"expression":{"id":80285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80281,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80264,"src":"6030:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6032:19:139","memberName":"_relayerRewardsPool","nodeType":"MemberAccess","referencedDeclaration":83000,"src":"6030:21:139","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80284,"name":"newRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"6054:21:139","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"src":"6030:45:139","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"id":80286,"nodeType":"ExpressionStatement","src":"6030:45:139"}]},"documentation":{"id":80240,"nodeType":"StructuredDocumentation","src":"5467:127:139","text":"@notice Sets the RelayerRewardsPool contract\n @param newRelayerRewardsPool The new RelayerRewardsPool contract address"},"functionSelector":"382fa8ec","id":80288,"implemented":true,"kind":"function","modifiers":[],"name":"setRelayerRewardsPool","nameLocation":"5606:21:139","nodeType":"FunctionDefinition","parameters":{"id":80244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80243,"mutability":"mutable","name":"newRelayerRewardsPool","nameLocation":"5648:21:139","nodeType":"VariableDeclaration","scope":80288,"src":"5628:41:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":80242,"nodeType":"UserDefinedTypeName","pathNode":{"id":80241,"name":"IRelayerRewardsPool","nameLocations":["5628:19:139"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"5628:19:139"},"referencedDeclaration":67117,"src":"5628:19:139","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"}],"src":"5627:43:139"},"returnParameters":{"id":80245,"nodeType":"ParameterList","parameters":[],"src":"5680:0:139"},"scope":80338,"src":"5597:483:139","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80336,"nodeType":"Block","src":"6291:393:139","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80297,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80292,"src":"6309:20:139","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":80296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6301:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80295,"name":"address","nodeType":"ElementaryTypeName","src":"6301:7:139","typeDescriptions":{}}},"id":80298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6342:1:139","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":80300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6334:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80299,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:139","typeDescriptions":{}}},"id":80302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6334:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6301:43:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80308,"nodeType":"IfStatement","src":"6297:99:139","trueBody":{"errorCall":{"arguments":[{"hexValue":"4e6176696761746f725265676973747279","id":80305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6376:19:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_59d3b6266aae24b98b34256b2837febf15ab67d9db8431f7fc92b2a5198002f1","typeString":"literal_string \"NavigatorRegistry\""},"value":"NavigatorRegistry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59d3b6266aae24b98b34256b2837febf15ab67d9db8431f7fc92b2a5198002f1","typeString":"literal_string \"NavigatorRegistry\""}],"id":80304,"name":"InvalidContractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79953,"src":"6353:22:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":80306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6353:43:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80307,"nodeType":"RevertStatement","src":"6346:50:139"}},{"assignments":[80313],"declarations":[{"constant":false,"id":80313,"mutability":"mutable","name":"$","nameLocation":"6466:1:139","nodeType":"VariableDeclaration","scope":80336,"src":"6403:64:139","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":80312,"nodeType":"UserDefinedTypeName","pathNode":{"id":80311,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["6403:29:139","6433:24:139"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"6403:54:139"},"referencedDeclaration":83004,"src":"6403:54:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":80317,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80314,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"6470:29:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6507:28:139","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"6470:65:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":80316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6470:67:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6403:134:139"},{"eventCall":{"arguments":[{"arguments":[{"expression":{"id":80321,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80313,"src":"6577:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6579:18:139","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"6577:20:139","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":80320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6569:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80319,"name":"address","nodeType":"ElementaryTypeName","src":"6569:7:139","typeDescriptions":{}}},"id":80323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6569:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":80326,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80292,"src":"6608:20:139","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":80325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6600:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80324,"name":"address","nodeType":"ElementaryTypeName","src":"6600:7:139","typeDescriptions":{}}},"id":80327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6600:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80318,"name":"NavigatorRegistrySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79949,"src":"6548:20:139","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":80328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6548:82:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80329,"nodeType":"EmitStatement","src":"6543:87:139"},{"expression":{"id":80334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80330,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80313,"src":"6636:1:139","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":80332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6638:18:139","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"6636:20:139","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80333,"name":"newNavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80292,"src":"6659:20:139","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"src":"6636:43:139","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":80335,"nodeType":"ExpressionStatement","src":"6636:43:139"}]},"documentation":{"id":80289,"nodeType":"StructuredDocumentation","src":"6084:124:139","text":"@notice Sets the NavigatorRegistry contract\n @param newNavigatorRegistry The new NavigatorRegistry contract address"},"functionSelector":"ce396b1f","id":80337,"implemented":true,"kind":"function","modifiers":[],"name":"setNavigatorRegistry","nameLocation":"6220:20:139","nodeType":"FunctionDefinition","parameters":{"id":80293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80292,"mutability":"mutable","name":"newNavigatorRegistry","nameLocation":"6260:20:139","nodeType":"VariableDeclaration","scope":80337,"src":"6241:39:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":80291,"nodeType":"UserDefinedTypeName","pathNode":{"id":80290,"name":"INavigatorRegistry","nameLocations":["6241:18:139"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"6241:18:139"},"referencedDeclaration":66638,"src":"6241:18:139","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"src":"6240:41:139"},"returnParameters":{"id":80294,"nodeType":"ParameterList","parameters":[],"src":"6291:0:139"},"scope":80338,"src":"6211:473:139","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":80339,"src":"874:5812:139","usedErrors":[79953],"usedEvents":[79907,79914,79921,79928,79935,79942,79949]}],"src":"32:6655:139"},"id":139},"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol","exportedSymbols":{"FreshnessUtils":[80555],"IVoterRewards":[69092],"XAllocationVotingStorageTypes":[83099]},"id":80556,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":80340,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:140"},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":80342,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80556,"sourceUnit":83100,"src":"57:84:140","symbolAliases":[{"foreign":{"id":80341,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"66:29:140","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../interfaces/IVoterRewards.sol","id":80344,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80556,"sourceUnit":69093,"src":"142:67:140","symbolAliases":[{"foreign":{"id":80343,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"151:13:140","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"FreshnessUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":80345,"nodeType":"StructuredDocumentation","src":"211:779:140","text":" @title FreshnessUtils\n @notice Library for computing and tracking vote freshness in XAllocationVoting.\n @dev Freshness measures whether a voter actively changes their app selection between rounds.\n A \"fingerprint\" of the voted apps is computed using XOR, which is order-independent and gas-efficient.\n The fingerprint is compared against the stored value to determine if the vote is \"fresh\".\n Freshness tiers (in basis points, 10000 = 1x):\n - Updated this round (roundsSinceChange == 0) → tier 1 (default x3)\n - Updated last round (roundsSinceChange == 1) → tier 2 (default x2)\n - No update >= 2 rounds (roundsSinceChange >= 2) → tier 3 (default x1)\n Reusable for Phase 2 (navigators inherit freshness from their navigator's preferences)."},"fullyImplemented":true,"id":80555,"linearizedBaseContracts":[80555],"name":"FreshnessUtils","nameLocation":"999:14:140","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":80346,"nodeType":"StructuredDocumentation","src":"1018:389:140","text":"@notice Emitted when a vote's freshness multiplier is applied\n @param voter The voter address\n @param roundId The round in which the vote was cast\n @param fingerprint The XOR fingerprint of the voted apps\n @param lastChangedRound The round when the voter's fingerprint last changed\n @param multiplier The freshness multiplier applied (basis points, 10000 = 1x)"},"eventSelector":"0e517902a3b560beed6397b3f68b465d56e2928c11722f4e1766c6a25ff65906","id":80358,"name":"FreshnessMultiplierApplied","nameLocation":"1416:26:140","nodeType":"EventDefinition","parameters":{"id":80357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80348,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"1464:5:140","nodeType":"VariableDeclaration","scope":80358,"src":"1448:21:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80347,"name":"address","nodeType":"ElementaryTypeName","src":"1448:7:140","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80350,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"1491:7:140","nodeType":"VariableDeclaration","scope":80358,"src":"1475:23:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80349,"name":"uint256","nodeType":"ElementaryTypeName","src":"1475:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80352,"indexed":false,"mutability":"mutable","name":"fingerprint","nameLocation":"1512:11:140","nodeType":"VariableDeclaration","scope":80358,"src":"1504:19:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":80351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1504:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":80354,"indexed":false,"mutability":"mutable","name":"lastChangedRound","nameLocation":"1537:16:140","nodeType":"VariableDeclaration","scope":80358,"src":"1529:24:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80353,"name":"uint256","nodeType":"ElementaryTypeName","src":"1529:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80356,"indexed":false,"mutability":"mutable","name":"multiplier","nameLocation":"1567:10:140","nodeType":"VariableDeclaration","scope":80358,"src":"1559:18:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80355,"name":"uint256","nodeType":"ElementaryTypeName","src":"1559:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1442:139:140"},"src":"1410:172:140"},{"body":{"id":80385,"nodeType":"Block","src":"2013:89:140","statements":[{"body":{"id":80383,"nodeType":"Block","src":"2059:39:140","statements":[{"expression":{"id":80381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80377,"name":"fingerprint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80365,"src":"2067:11:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"^=","rightHandSide":{"baseExpression":{"id":80378,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80362,"src":"2082:6:140","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":80380,"indexExpression":{"id":80379,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80368,"src":"2089:1:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2082:9:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2067:24:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":80382,"nodeType":"ExpressionStatement","src":"2067:24:140"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80370,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80368,"src":"2035:1:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":80371,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80362,"src":"2039:6:140","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":80372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2046:6:140","memberName":"length","nodeType":"MemberAccess","src":"2039:13:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2035:17:140","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80384,"initializationExpression":{"assignments":[80368],"declarations":[{"constant":false,"id":80368,"mutability":"mutable","name":"i","nameLocation":"2032:1:140","nodeType":"VariableDeclaration","scope":80384,"src":"2024:9:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80367,"name":"uint256","nodeType":"ElementaryTypeName","src":"2024:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80369,"nodeType":"VariableDeclarationStatement","src":"2024:9:140"},"loopExpression":{"expression":{"id":80375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2054:3:140","subExpression":{"id":80374,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80368,"src":"2054:1:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80376,"nodeType":"ExpressionStatement","src":"2054:3:140"},"nodeType":"ForStatement","src":"2019:79:140"}]},"documentation":{"id":80359,"nodeType":"StructuredDocumentation","src":"1586:327:140","text":"@notice Compute a fingerprint of the voted apps using XOR\n @dev Order-independent: voting [A, B] and [B, A] produce the same fingerprint.\n Only detects app set changes — weight distribution changes are NOT detected.\n @param appIds Array of app IDs voted for\n @return fingerprint The XOR of all app IDs"},"id":80386,"implemented":true,"kind":"function","modifiers":[],"name":"computeFingerprint","nameLocation":"1925:18:140","nodeType":"FunctionDefinition","parameters":{"id":80363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80362,"mutability":"mutable","name":"appIds","nameLocation":"1961:6:140","nodeType":"VariableDeclaration","scope":80386,"src":"1944:23:140","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":80360,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1944:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":80361,"nodeType":"ArrayTypeName","src":"1944:9:140","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1943:25:140"},"returnParameters":{"id":80366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80365,"mutability":"mutable","name":"fingerprint","nameLocation":"2000:11:140","nodeType":"VariableDeclaration","scope":80386,"src":"1992:19:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":80364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1992:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1991:21:140"},"scope":80555,"src":"1916:186:140","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":80442,"nodeType":"Block","src":"3028:586:140","statements":[{"assignments":[80404],"declarations":[{"constant":false,"id":80404,"mutability":"mutable","name":"roundsSinceChange","nameLocation":"3109:17:140","nodeType":"VariableDeclaration","scope":80442,"src":"3101:25:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80403,"name":"uint256","nodeType":"ElementaryTypeName","src":"3101:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80410,"initialValue":{"arguments":[{"id":80406,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80389,"src":"3148:5:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80407,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80391,"src":"3155:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80408,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80394,"src":"3164:6:140","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":80405,"name":"_updateFingerprint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80514,"src":"3129:18:140","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,bytes32[] memory) returns (uint256)"}},"id":80409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3129:42:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3101:70:140"},{"expression":{"id":80417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80411,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80401,"src":"3219:10:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80413,"name":"roundsSinceChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80404,"src":"3244:17:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80414,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80396,"src":"3263:9:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80415,"name":"voterRewardsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80398,"src":"3274:19:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80412,"name":"_selectTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80554,"src":"3232:11:140","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,uint256,address) view returns (uint256)"}},"id":80416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3232:62:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3219:75:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80418,"nodeType":"ExpressionStatement","src":"3219:75:140"},{"assignments":[80423],"declarations":[{"constant":false,"id":80423,"mutability":"mutable","name":"$","nameLocation":"3402:1:140","nodeType":"VariableDeclaration","scope":80442,"src":"3338:65:140","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":80422,"nodeType":"UserDefinedTypeName","pathNode":{"id":80421,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["3338:29:140","3368:25:140"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"3338:55:140"},"referencedDeclaration":82940,"src":"3338:55:140","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":80427,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80424,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3406:29:140","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3443:29:140","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"3406:66:140","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":80426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3406:68:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3338:136:140"},{"eventCall":{"arguments":[{"id":80429,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80389,"src":"3512:5:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80430,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80391,"src":"3519:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":80431,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80423,"src":"3528:1:140","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3530:20:140","memberName":"_lastVoteFingerprint","nodeType":"MemberAccess","referencedDeclaration":82929,"src":"3528:22:140","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":80434,"indexExpression":{"id":80433,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80389,"src":"3551:5:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3528:29:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"expression":{"id":80435,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80423,"src":"3559:1:140","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3561:28:140","memberName":"_lastFingerprintChangedRound","nodeType":"MemberAccess","referencedDeclaration":82933,"src":"3559:30:140","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":80438,"indexExpression":{"id":80437,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80389,"src":"3590:5:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3559:37:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80439,"name":"multiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80401,"src":"3598:10:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80428,"name":"FreshnessMultiplierApplied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80358,"src":"3485:26:140","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,bytes32,uint256,uint256)"}},"id":80440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3485:124:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80441,"nodeType":"EmitStatement","src":"3480:129:140"}]},"documentation":{"id":80387,"nodeType":"StructuredDocumentation","src":"2106:720:140","text":"@notice Update fingerprint storage and return the freshness multiplier in basis points\n @dev Computes fingerprint, compares to stored value, updates storage, and looks up multiplier\n from VoterRewards checkpoints at the given timepoint.\n First-time voters (lastFingerprint == bytes32(0)) are treated as fresh (tier 1).\n @param voter The voter address\n @param roundId The current round ID\n @param appIds Array of app IDs voted for\n @param timepoint The round snapshot block for checkpoint lookup\n @param voterRewardsAddress The VoterRewards contract address for multiplier config lookup\n @return multiplier The freshness multiplier in basis points (10000 = 1x)"},"functionSelector":"bd5d1827","id":80443,"implemented":true,"kind":"function","modifiers":[],"name":"updateAndGetMultiplier","nameLocation":"2838:22:140","nodeType":"FunctionDefinition","parameters":{"id":80399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80389,"mutability":"mutable","name":"voter","nameLocation":"2874:5:140","nodeType":"VariableDeclaration","scope":80443,"src":"2866:13:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80388,"name":"address","nodeType":"ElementaryTypeName","src":"2866:7:140","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80391,"mutability":"mutable","name":"roundId","nameLocation":"2893:7:140","nodeType":"VariableDeclaration","scope":80443,"src":"2885:15:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80390,"name":"uint256","nodeType":"ElementaryTypeName","src":"2885:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80394,"mutability":"mutable","name":"appIds","nameLocation":"2923:6:140","nodeType":"VariableDeclaration","scope":80443,"src":"2906:23:140","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":80392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2906:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":80393,"nodeType":"ArrayTypeName","src":"2906:9:140","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":80396,"mutability":"mutable","name":"timepoint","nameLocation":"2943:9:140","nodeType":"VariableDeclaration","scope":80443,"src":"2935:17:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80395,"name":"uint256","nodeType":"ElementaryTypeName","src":"2935:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80398,"mutability":"mutable","name":"voterRewardsAddress","nameLocation":"2966:19:140","nodeType":"VariableDeclaration","scope":80443,"src":"2958:27:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80397,"name":"address","nodeType":"ElementaryTypeName","src":"2958:7:140","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2860:129:140"},"returnParameters":{"id":80402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80401,"mutability":"mutable","name":"multiplier","nameLocation":"3016:10:140","nodeType":"VariableDeclaration","scope":80443,"src":"3008:18:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80400,"name":"uint256","nodeType":"ElementaryTypeName","src":"3008:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3007:20:140"},"scope":80555,"src":"2829:785:140","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80513,"nodeType":"Block","src":"3803:587:140","statements":[{"assignments":[80460],"declarations":[{"constant":false,"id":80460,"mutability":"mutable","name":"$","nameLocation":"3873:1:140","nodeType":"VariableDeclaration","scope":80513,"src":"3809:65:140","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":80459,"nodeType":"UserDefinedTypeName","pathNode":{"id":80458,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["3809:29:140","3839:25:140"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"3809:55:140"},"referencedDeclaration":82940,"src":"3809:55:140","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":80464,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80461,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3877:29:140","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3914:29:140","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"3877:66:140","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":80463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3877:68:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3809:136:140"},{"assignments":[80466],"declarations":[{"constant":false,"id":80466,"mutability":"mutable","name":"newFingerprint","nameLocation":"3960:14:140","nodeType":"VariableDeclaration","scope":80513,"src":"3952:22:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":80465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3952:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":80470,"initialValue":{"arguments":[{"id":80468,"name":"appIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80451,"src":"3996:6:140","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":80467,"name":"computeFingerprint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"3977:18:140","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32[] memory) pure returns (bytes32)"}},"id":80469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3977:26:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3952:51:140"},{"assignments":[80472],"declarations":[{"constant":false,"id":80472,"mutability":"mutable","name":"lastFingerprint","nameLocation":"4017:15:140","nodeType":"VariableDeclaration","scope":80513,"src":"4009:23:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":80471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4009:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":80477,"initialValue":{"baseExpression":{"expression":{"id":80473,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80460,"src":"4035:1:140","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4037:20:140","memberName":"_lastVoteFingerprint","nodeType":"MemberAccess","referencedDeclaration":82929,"src":"4035:22:140","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":80476,"indexExpression":{"id":80475,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80446,"src":"4058:5:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4035:29:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4009:55:140"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":80483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80478,"name":"lastFingerprint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80472,"src":"4141:15:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4168:1:140","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":80480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4160:7:140","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":80479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4160:7:140","typeDescriptions":{}}},"id":80482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4160:10:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4141:29:140","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":80486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80484,"name":"newFingerprint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80466,"src":"4174:14:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":80485,"name":"lastFingerprint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80472,"src":"4192:15:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4174:33:140","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4141:66:140","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80505,"nodeType":"IfStatement","src":"4137:188:140","trueBody":{"id":80504,"nodeType":"Block","src":"4209:116:140","statements":[{"expression":{"id":80494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80488,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80460,"src":"4217:1:140","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4219:20:140","memberName":"_lastVoteFingerprint","nodeType":"MemberAccess","referencedDeclaration":82929,"src":"4217:22:140","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":80492,"indexExpression":{"id":80490,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80446,"src":"4240:5:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4217:29:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80493,"name":"newFingerprint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80466,"src":"4249:14:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4217:46:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":80495,"nodeType":"ExpressionStatement","src":"4217:46:140"},{"expression":{"id":80502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80496,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80460,"src":"4271:1:140","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80499,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4273:28:140","memberName":"_lastFingerprintChangedRound","nodeType":"MemberAccess","referencedDeclaration":82933,"src":"4271:30:140","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":80500,"indexExpression":{"id":80498,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80446,"src":"4302:5:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4271:37:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80501,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80448,"src":"4311:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4271:47:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80503,"nodeType":"ExpressionStatement","src":"4271:47:140"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80506,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80448,"src":"4338:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"baseExpression":{"expression":{"id":80507,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80460,"src":"4348:1:140","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4350:28:140","memberName":"_lastFingerprintChangedRound","nodeType":"MemberAccess","referencedDeclaration":82933,"src":"4348:30:140","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":80510,"indexExpression":{"id":80509,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80446,"src":"4379:5:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4348:37:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4338:47:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80455,"id":80512,"nodeType":"Return","src":"4331:54:140"}]},"documentation":{"id":80444,"nodeType":"StructuredDocumentation","src":"3618:71:140","text":"@dev Update fingerprint storage and return rounds since last change"},"id":80514,"implemented":true,"kind":"function","modifiers":[],"name":"_updateFingerprint","nameLocation":"3701:18:140","nodeType":"FunctionDefinition","parameters":{"id":80452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80446,"mutability":"mutable","name":"voter","nameLocation":"3728:5:140","nodeType":"VariableDeclaration","scope":80514,"src":"3720:13:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80445,"name":"address","nodeType":"ElementaryTypeName","src":"3720:7:140","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80448,"mutability":"mutable","name":"roundId","nameLocation":"3743:7:140","nodeType":"VariableDeclaration","scope":80514,"src":"3735:15:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80447,"name":"uint256","nodeType":"ElementaryTypeName","src":"3735:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80451,"mutability":"mutable","name":"appIds","nameLocation":"3769:6:140","nodeType":"VariableDeclaration","scope":80514,"src":"3752:23:140","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":80449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3752:7:140","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":80450,"nodeType":"ArrayTypeName","src":"3752:9:140","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"3719:57:140"},"returnParameters":{"id":80455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80514,"src":"3794:7:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80453,"name":"uint256","nodeType":"ElementaryTypeName","src":"3794:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3793:9:140"},"scope":80555,"src":"3692:698:140","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":80553,"nodeType":"Block","src":"4599:239:140","statements":[{"assignments":[80527,80529,80531],"declarations":[{"constant":false,"id":80527,"mutability":"mutable","name":"tier1","nameLocation":"4614:5:140","nodeType":"VariableDeclaration","scope":80553,"src":"4606:13:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80526,"name":"uint256","nodeType":"ElementaryTypeName","src":"4606:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80529,"mutability":"mutable","name":"tier2","nameLocation":"4629:5:140","nodeType":"VariableDeclaration","scope":80553,"src":"4621:13:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80528,"name":"uint256","nodeType":"ElementaryTypeName","src":"4621:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80531,"mutability":"mutable","name":"tier3","nameLocation":"4644:5:140","nodeType":"VariableDeclaration","scope":80553,"src":"4636:13:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80530,"name":"uint256","nodeType":"ElementaryTypeName","src":"4636:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80538,"initialValue":{"arguments":[{"id":80536,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80519,"src":"4712:9:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":80533,"name":"voterRewardsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80521,"src":"4667:19:140","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80532,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"4653:13:140","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IVoterRewards_$69092_$","typeString":"type(contract IVoterRewards)"}},"id":80534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4653:34:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":80535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4688:23:140","memberName":"getFreshnessMultipliers","nodeType":"MemberAccess","referencedDeclaration":69075,"src":"4653:58:140","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (uint256,uint256,uint256)"}},"id":80537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4653:69:140","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"4605:117:140"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80539,"name":"roundsSinceChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80517,"src":"4733:17:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4754:1:140","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4733:22:140","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80544,"nodeType":"IfStatement","src":"4729:40:140","trueBody":{"expression":{"id":80542,"name":"tier1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80527,"src":"4764:5:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80525,"id":80543,"nodeType":"Return","src":"4757:12:140"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80545,"name":"roundsSinceChange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80517,"src":"4779:17:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":80546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4800:1:140","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4779:22:140","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80550,"nodeType":"IfStatement","src":"4775:40:140","trueBody":{"expression":{"id":80548,"name":"tier2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"4810:5:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80525,"id":80549,"nodeType":"Return","src":"4803:12:140"}},{"expression":{"id":80551,"name":"tier3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80531,"src":"4828:5:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80525,"id":80552,"nodeType":"Return","src":"4821:12:140"}]},"documentation":{"id":80515,"nodeType":"StructuredDocumentation","src":"4394:75:140","text":"@dev Select the appropriate freshness tier based on rounds since change"},"id":80554,"implemented":true,"kind":"function","modifiers":[],"name":"_selectTier","nameLocation":"4481:11:140","nodeType":"FunctionDefinition","parameters":{"id":80522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80517,"mutability":"mutable","name":"roundsSinceChange","nameLocation":"4501:17:140","nodeType":"VariableDeclaration","scope":80554,"src":"4493:25:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80516,"name":"uint256","nodeType":"ElementaryTypeName","src":"4493:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80519,"mutability":"mutable","name":"timepoint","nameLocation":"4528:9:140","nodeType":"VariableDeclaration","scope":80554,"src":"4520:17:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80518,"name":"uint256","nodeType":"ElementaryTypeName","src":"4520:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80521,"mutability":"mutable","name":"voterRewardsAddress","nameLocation":"4547:19:140","nodeType":"VariableDeclaration","scope":80554,"src":"4539:27:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80520,"name":"address","nodeType":"ElementaryTypeName","src":"4539:7:140","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4492:75:140"},"returnParameters":{"id":80525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80524,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80554,"src":"4590:7:140","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80523,"name":"uint256","nodeType":"ElementaryTypeName","src":"4590:7:140","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4589:9:140"},"scope":80555,"src":"4472:366:140","stateMutability":"view","virtual":false,"visibility":"private"}],"scope":80556,"src":"991:3849:140","usedErrors":[],"usedEvents":[80358]}],"src":"32:4809:140"},"id":140},"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol","exportedSymbols":{"RoundEarningsSettingsUtils":[80751],"XAllocationVotingStorageTypes":[83099]},"id":80752,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":80557,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:141"},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":80559,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80752,"sourceUnit":83100,"src":"57:84:141","symbolAliases":[{"foreign":{"id":80558,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"66:29:141","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"RoundEarningsSettingsUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":80560,"nodeType":"StructuredDocumentation","src":"143:363:141","text":" @title RoundEarningsSettingsUtils\n @notice Library for managing x-allocation earnings settings (base allocation percentage, app shares cap).\n @dev Extracted from RoundEarningsSettingsUpgradeable module. Uses ERC-7201 namespaced storage.\n Since the base allocation percentage and app shares cap can be updated, values are snapshotted per round."},"fullyImplemented":true,"id":80751,"linearizedBaseContracts":[80751],"name":"RoundEarningsSettingsUtils","nameLocation":"515:26:141","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":80561,"nodeType":"StructuredDocumentation","src":"546:66:141","text":"@notice Thrown when the base allocation percentage exceeds 100"},"errorSelector":"58bb0370","id":80565,"name":"BaseAllocationPercentageTooHigh","nameLocation":"621:31:141","nodeType":"ErrorDefinition","parameters":{"id":80564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80563,"mutability":"mutable","name":"provided","nameLocation":"661:8:141","nodeType":"VariableDeclaration","scope":80565,"src":"653:16:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80562,"name":"uint256","nodeType":"ElementaryTypeName","src":"653:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"652:18:141"},"src":"615:56:141"},{"documentation":{"id":80566,"nodeType":"StructuredDocumentation","src":"675:54:141","text":"@notice Thrown when the app shares cap exceeds 100"},"errorSelector":"f838fdca","id":80570,"name":"AppSharesCapTooHigh","nameLocation":"738:19:141","nodeType":"ErrorDefinition","parameters":{"id":80569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80568,"mutability":"mutable","name":"provided","nameLocation":"766:8:141","nodeType":"VariableDeclaration","scope":80570,"src":"758:16:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80567,"name":"uint256","nodeType":"ElementaryTypeName","src":"758:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"757:18:141"},"src":"732:44:141"},{"body":{"id":80588,"nodeType":"Block","src":"955:182:141","statements":[{"assignments":[80580],"declarations":[{"constant":false,"id":80580,"mutability":"mutable","name":"$","nameLocation":"1023:1:141","nodeType":"VariableDeclaration","scope":80588,"src":"961:63:141","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"},"typeName":{"id":80579,"nodeType":"UserDefinedTypeName","pathNode":{"id":80578,"name":"XAllocationVotingStorageTypes.EarningsSettingsStorage","nameLocations":["961:29:141","991:23:141"],"nodeType":"IdentifierPath","referencedDeclaration":82953,"src":"961:53:141"},"referencedDeclaration":82953,"src":"961:53:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"}},"visibility":"internal"}],"id":80584,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80581,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1027:29:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1064:27:141","memberName":"_getEarningsSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83066,"src":"1027:64:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$82953_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer)"}},"id":80583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1027:66:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"961:132:141"},{"expression":{"expression":{"id":80585,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80580,"src":"1106:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1108:24:141","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":82942,"src":"1106:26:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80575,"id":80587,"nodeType":"Return","src":"1099:33:141"}]},"documentation":{"id":80571,"nodeType":"StructuredDocumentation","src":"819:65:141","text":" @notice Get the current base allocation percentage"},"functionSelector":"8ab52d4b","id":80589,"implemented":true,"kind":"function","modifiers":[],"name":"baseAllocationPercentage","nameLocation":"896:24:141","nodeType":"FunctionDefinition","parameters":{"id":80572,"nodeType":"ParameterList","parameters":[],"src":"920:2:141"},"returnParameters":{"id":80575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80574,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80589,"src":"946:7:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80573,"name":"uint256","nodeType":"ElementaryTypeName","src":"946:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"945:9:141"},"scope":80751,"src":"887:250:141","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":80607,"nodeType":"Block","src":"1253:170:141","statements":[{"assignments":[80599],"declarations":[{"constant":false,"id":80599,"mutability":"mutable","name":"$","nameLocation":"1321:1:141","nodeType":"VariableDeclaration","scope":80607,"src":"1259:63:141","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"},"typeName":{"id":80598,"nodeType":"UserDefinedTypeName","pathNode":{"id":80597,"name":"XAllocationVotingStorageTypes.EarningsSettingsStorage","nameLocations":["1259:29:141","1289:23:141"],"nodeType":"IdentifierPath","referencedDeclaration":82953,"src":"1259:53:141"},"referencedDeclaration":82953,"src":"1259:53:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"}},"visibility":"internal"}],"id":80603,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80600,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1325:29:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1362:27:141","memberName":"_getEarningsSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83066,"src":"1325:64:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$82953_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer)"}},"id":80602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1325:66:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1259:132:141"},{"expression":{"expression":{"id":80604,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80599,"src":"1404:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1406:12:141","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":82944,"src":"1404:14:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80594,"id":80606,"nodeType":"Return","src":"1397:21:141"}]},"documentation":{"id":80590,"nodeType":"StructuredDocumentation","src":"1141:53:141","text":" @notice Get the current app shares cap"},"functionSelector":"bb7de6d4","id":80608,"implemented":true,"kind":"function","modifiers":[],"name":"appSharesCap","nameLocation":"1206:12:141","nodeType":"FunctionDefinition","parameters":{"id":80591,"nodeType":"ParameterList","parameters":[],"src":"1218:2:141"},"returnParameters":{"id":80594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80608,"src":"1244:7:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80592,"name":"uint256","nodeType":"ElementaryTypeName","src":"1244:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1243:9:141"},"scope":80751,"src":"1197:226:141","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":80630,"nodeType":"Block","src":"1639:197:141","statements":[{"assignments":[80620],"declarations":[{"constant":false,"id":80620,"mutability":"mutable","name":"$","nameLocation":"1707:1:141","nodeType":"VariableDeclaration","scope":80630,"src":"1645:63:141","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"},"typeName":{"id":80619,"nodeType":"UserDefinedTypeName","pathNode":{"id":80618,"name":"XAllocationVotingStorageTypes.EarningsSettingsStorage","nameLocations":["1645:29:141","1675:23:141"],"nodeType":"IdentifierPath","referencedDeclaration":82953,"src":"1645:53:141"},"referencedDeclaration":82953,"src":"1645:53:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"}},"visibility":"internal"}],"id":80624,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80621,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1711:29:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1748:27:141","memberName":"_getEarningsSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83066,"src":"1711:64:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$82953_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer)"}},"id":80623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1711:66:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1645:132:141"},{"expression":{"baseExpression":{"expression":{"id":80625,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80620,"src":"1790:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80626,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1792:30:141","memberName":"_roundBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":82948,"src":"1790:32:141","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80628,"indexExpression":{"id":80627,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80611,"src":"1823:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1790:41:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80615,"id":80629,"nodeType":"Return","src":"1783:48:141"}]},"documentation":{"id":80609,"nodeType":"StructuredDocumentation","src":"1427:118:141","text":" @notice Returns the base allocation percentage for a given round\n @param roundId The round to query"},"functionSelector":"0eca87fb","id":80631,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundBaseAllocationPercentage","nameLocation":"1557:32:141","nodeType":"FunctionDefinition","parameters":{"id":80612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80611,"mutability":"mutable","name":"roundId","nameLocation":"1598:7:141","nodeType":"VariableDeclaration","scope":80631,"src":"1590:15:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80610,"name":"uint256","nodeType":"ElementaryTypeName","src":"1590:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1589:17:141"},"returnParameters":{"id":80615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80631,"src":"1630:7:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80613,"name":"uint256","nodeType":"ElementaryTypeName","src":"1630:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1629:9:141"},"scope":80751,"src":"1548:288:141","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":80653,"nodeType":"Block","src":"2028:185:141","statements":[{"assignments":[80643],"declarations":[{"constant":false,"id":80643,"mutability":"mutable","name":"$","nameLocation":"2096:1:141","nodeType":"VariableDeclaration","scope":80653,"src":"2034:63:141","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"},"typeName":{"id":80642,"nodeType":"UserDefinedTypeName","pathNode":{"id":80641,"name":"XAllocationVotingStorageTypes.EarningsSettingsStorage","nameLocations":["2034:29:141","2064:23:141"],"nodeType":"IdentifierPath","referencedDeclaration":82953,"src":"2034:53:141"},"referencedDeclaration":82953,"src":"2034:53:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"}},"visibility":"internal"}],"id":80647,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80644,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2100:29:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2137:27:141","memberName":"_getEarningsSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83066,"src":"2100:64:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$82953_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer)"}},"id":80646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2100:66:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2034:132:141"},{"expression":{"baseExpression":{"expression":{"id":80648,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80643,"src":"2179:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2181:18:141","memberName":"_roundAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":82952,"src":"2179:20:141","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80651,"indexExpression":{"id":80650,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80634,"src":"2200:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2179:29:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80638,"id":80652,"nodeType":"Return","src":"2172:36:141"}]},"documentation":{"id":80632,"nodeType":"StructuredDocumentation","src":"1840:106:141","text":" @notice Returns the app shares cap for a given round\n @param roundId The round to query"},"functionSelector":"0a0e74ef","id":80654,"implemented":true,"kind":"function","modifiers":[],"name":"getRoundAppSharesCap","nameLocation":"1958:20:141","nodeType":"FunctionDefinition","parameters":{"id":80635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80634,"mutability":"mutable","name":"roundId","nameLocation":"1987:7:141","nodeType":"VariableDeclaration","scope":80654,"src":"1979:15:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80633,"name":"uint256","nodeType":"ElementaryTypeName","src":"1979:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1978:17:141"},"returnParameters":{"id":80638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80654,"src":"2019:7:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80636,"name":"uint256","nodeType":"ElementaryTypeName","src":"2019:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2018:9:141"},"scope":80751,"src":"1949:264:141","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":80684,"nodeType":"Block","src":"2487:325:141","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80660,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80657,"src":"2497:25:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"313030","id":80661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2525:3:141","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"2497:31:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80668,"nodeType":"IfStatement","src":"2493:117:141","trueBody":{"id":80667,"nodeType":"Block","src":"2530:80:141","statements":[{"errorCall":{"arguments":[{"id":80664,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80657,"src":"2577:25:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80663,"name":"BaseAllocationPercentageTooHigh","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80565,"src":"2545:31:141","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2545:58:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80666,"nodeType":"RevertStatement","src":"2538:65:141"}]}},{"assignments":[80673],"declarations":[{"constant":false,"id":80673,"mutability":"mutable","name":"$","nameLocation":"2677:1:141","nodeType":"VariableDeclaration","scope":80684,"src":"2615:63:141","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"},"typeName":{"id":80672,"nodeType":"UserDefinedTypeName","pathNode":{"id":80671,"name":"XAllocationVotingStorageTypes.EarningsSettingsStorage","nameLocations":["2615:29:141","2645:23:141"],"nodeType":"IdentifierPath","referencedDeclaration":82953,"src":"2615:53:141"},"referencedDeclaration":82953,"src":"2615:53:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"}},"visibility":"internal"}],"id":80677,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80674,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2681:29:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2718:27:141","memberName":"_getEarningsSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83066,"src":"2681:64:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$82953_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer)"}},"id":80676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2681:66:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2615:132:141"},{"expression":{"id":80682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80678,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80673,"src":"2753:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2755:24:141","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":82942,"src":"2753:26:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80681,"name":"baseAllocationPercentage_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80657,"src":"2782:25:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2753:54:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80683,"nodeType":"ExpressionStatement","src":"2753:54:141"}]},"documentation":{"id":80655,"nodeType":"StructuredDocumentation","src":"2256:147:141","text":" @notice Set the base allocation percentage\n @param baseAllocationPercentage_ The new base allocation percentage (must be <= 100)"},"functionSelector":"f5fae136","id":80685,"implemented":true,"kind":"function","modifiers":[],"name":"setBaseAllocationPercentage","nameLocation":"2415:27:141","nodeType":"FunctionDefinition","parameters":{"id":80658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80657,"mutability":"mutable","name":"baseAllocationPercentage_","nameLocation":"2451:25:141","nodeType":"VariableDeclaration","scope":80685,"src":"2443:33:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80656,"name":"uint256","nodeType":"ElementaryTypeName","src":"2443:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2442:35:141"},"returnParameters":{"id":80659,"nodeType":"ParameterList","parameters":[],"src":"2487:0:141"},"scope":80751,"src":"2406:406:141","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80715,"nodeType":"Block","src":"2987:265:141","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80691,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80688,"src":"2997:13:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"313030","id":80692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3013:3:141","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"2997:19:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80699,"nodeType":"IfStatement","src":"2993:81:141","trueBody":{"id":80698,"nodeType":"Block","src":"3018:56:141","statements":[{"errorCall":{"arguments":[{"id":80695,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80688,"src":"3053:13:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80694,"name":"AppSharesCapTooHigh","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80570,"src":"3033:19:141","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3033:34:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80697,"nodeType":"RevertStatement","src":"3026:41:141"}]}},{"assignments":[80704],"declarations":[{"constant":false,"id":80704,"mutability":"mutable","name":"$","nameLocation":"3141:1:141","nodeType":"VariableDeclaration","scope":80715,"src":"3079:63:141","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"},"typeName":{"id":80703,"nodeType":"UserDefinedTypeName","pathNode":{"id":80702,"name":"XAllocationVotingStorageTypes.EarningsSettingsStorage","nameLocations":["3079:29:141","3109:23:141"],"nodeType":"IdentifierPath","referencedDeclaration":82953,"src":"3079:53:141"},"referencedDeclaration":82953,"src":"3079:53:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"}},"visibility":"internal"}],"id":80708,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80705,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3145:29:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3182:27:141","memberName":"_getEarningsSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83066,"src":"3145:64:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$82953_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer)"}},"id":80707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3145:66:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3079:132:141"},{"expression":{"id":80713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80709,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80704,"src":"3217:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80711,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3219:12:141","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":82944,"src":"3217:14:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80712,"name":"appSharesCap_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80688,"src":"3234:13:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3217:30:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80714,"nodeType":"ExpressionStatement","src":"3217:30:141"}]},"documentation":{"id":80686,"nodeType":"StructuredDocumentation","src":"2816:111:141","text":" @notice Set the app shares cap\n @param appSharesCap_ The new app shares cap (must be <= 100)"},"functionSelector":"74038935","id":80716,"implemented":true,"kind":"function","modifiers":[],"name":"setAppSharesCap","nameLocation":"2939:15:141","nodeType":"FunctionDefinition","parameters":{"id":80689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80688,"mutability":"mutable","name":"appSharesCap_","nameLocation":"2963:13:141","nodeType":"VariableDeclaration","scope":80716,"src":"2955:21:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80687,"name":"uint256","nodeType":"ElementaryTypeName","src":"2955:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2954:23:141"},"returnParameters":{"id":80690,"nodeType":"ParameterList","parameters":[],"src":"2987:0:141"},"scope":80751,"src":"2930:322:141","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80749,"nodeType":"Block","src":"3571:271:141","statements":[{"assignments":[80726],"declarations":[{"constant":false,"id":80726,"mutability":"mutable","name":"$","nameLocation":"3639:1:141","nodeType":"VariableDeclaration","scope":80749,"src":"3577:63:141","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"},"typeName":{"id":80725,"nodeType":"UserDefinedTypeName","pathNode":{"id":80724,"name":"XAllocationVotingStorageTypes.EarningsSettingsStorage","nameLocations":["3577:29:141","3607:23:141"],"nodeType":"IdentifierPath","referencedDeclaration":82953,"src":"3577:53:141"},"referencedDeclaration":82953,"src":"3577:53:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"}},"visibility":"internal"}],"id":80730,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80727,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3643:29:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3680:27:141","memberName":"_getEarningsSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83066,"src":"3643:64:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_EarningsSettingsStorage_$82953_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer)"}},"id":80729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3643:66:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3577:132:141"},{"expression":{"id":80738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80731,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80726,"src":"3715:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3717:30:141","memberName":"_roundBaseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":82948,"src":"3715:32:141","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80735,"indexExpression":{"id":80733,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80719,"src":"3748:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3715:41:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":80736,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80726,"src":"3759:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3761:24:141","memberName":"baseAllocationPercentage","nodeType":"MemberAccess","referencedDeclaration":82942,"src":"3759:26:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3715:70:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80739,"nodeType":"ExpressionStatement","src":"3715:70:141"},{"expression":{"id":80747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80740,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80726,"src":"3791:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3793:18:141","memberName":"_roundAppSharesCap","nodeType":"MemberAccess","referencedDeclaration":82952,"src":"3791:20:141","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80744,"indexExpression":{"id":80742,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80719,"src":"3812:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3791:29:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":80745,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80726,"src":"3823:1:141","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage storage pointer"}},"id":80746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3825:12:141","memberName":"appSharesCap","nodeType":"MemberAccess","referencedDeclaration":82944,"src":"3823:14:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3791:46:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80748,"nodeType":"ExpressionStatement","src":"3791:46:141"}]},"documentation":{"id":80717,"nodeType":"StructuredDocumentation","src":"3296:212:141","text":" @notice Snapshot the current earnings settings for a round\n @param roundId The id of the round to snapshot\n @dev Stores current baseAllocationPercentage and appSharesCap for the given round"},"functionSelector":"7db361fe","id":80750,"implemented":true,"kind":"function","modifiers":[],"name":"snapshotRoundEarningsCap","nameLocation":"3520:24:141","nodeType":"FunctionDefinition","parameters":{"id":80720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80719,"mutability":"mutable","name":"roundId","nameLocation":"3553:7:141","nodeType":"VariableDeclaration","scope":80750,"src":"3545:15:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80718,"name":"uint256","nodeType":"ElementaryTypeName","src":"3545:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3544:17:141"},"returnParameters":{"id":80721,"nodeType":"ParameterList","parameters":[],"src":"3571:0:141"},"scope":80751,"src":"3511:331:141","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":80752,"src":"507:3337:141","usedErrors":[80565,80570],"usedEvents":[]}],"src":"32:3813:141"},"id":141},"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol","exportedSymbols":{"RoundFinalizationUtils":[80898],"XAllocationVotingStorageTypes":[83099]},"id":80899,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":80753,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:142"},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":80755,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":80899,"sourceUnit":83100,"src":"57:84:142","symbolAliases":[{"foreign":{"id":80754,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"66:29:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"RoundFinalizationUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":80756,"nodeType":"StructuredDocumentation","src":"143:438:142","text":" @title RoundFinalizationUtils\n @notice Library that handles the finalization of allocation voting rounds\n @dev If a round does not meet the quorum (Failed) we need to know the last round that succeeded,\n so we can calculate the earnings for the x-2-earn-apps upon that round. By always pointing each round at the last succeeded one, if a round fails,\n it will be enough to look at what round the previous one points to."},"fullyImplemented":true,"id":80898,"linearizedBaseContracts":[80898],"name":"RoundFinalizationUtils","nameLocation":"590:22:142","nodeType":"ContractDefinition","nodes":[{"body":{"id":80850,"nodeType":"Block","src":"962:885:142","statements":[{"expression":{"arguments":[{"id":80768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"976:7:142","subExpression":{"id":80767,"name":"active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80763,"src":"977:6:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64206973206e6f7420656e64656420796574","id":80769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"985:51:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba","typeString":"literal_string \"XAllocationVotingGovernor: round is not ended yet\""},"value":"XAllocationVotingGovernor: round is not ended yet"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba","typeString":"literal_string \"XAllocationVotingGovernor: round is not ended yet\""}],"id":80766,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"968:7:142","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"968:69:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80771,"nodeType":"ExpressionStatement","src":"968:69:142"},{"assignments":[80776],"declarations":[{"constant":false,"id":80776,"mutability":"mutable","name":"$","nameLocation":"1107:1:142","nodeType":"VariableDeclaration","scope":80850,"src":"1044:64:142","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage"},"typeName":{"id":80775,"nodeType":"UserDefinedTypeName","pathNode":{"id":80774,"name":"XAllocationVotingStorageTypes.RoundFinalizationStorage","nameLocations":["1044:29:142","1074:24:142"],"nodeType":"IdentifierPath","referencedDeclaration":82962,"src":"1044:54:142"},"referencedDeclaration":82962,"src":"1044:54:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage"}},"visibility":"internal"}],"id":80780,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80777,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1111:29:142","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1148:28:142","memberName":"_getRoundFinalizationStorage","nodeType":"MemberAccess","referencedDeclaration":83074,"src":"1111:65:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundFinalizationStorage_$82962_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer)"}},"id":80779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1111:67:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1044:134:142"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80781,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80759,"src":"1239:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":80782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1250:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1239:12:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80802,"nodeType":"IfStatement","src":"1235:126:142","trueBody":{"id":80801,"nodeType":"Block","src":"1253:108:142","statements":[{"expression":{"id":80790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80784,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80776,"src":"1261:1:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"id":80787,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1263:23:142","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":82957,"src":"1261:25:142","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80788,"indexExpression":{"id":80786,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80759,"src":"1287:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1261:34:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":80789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1298:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1261:38:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80791,"nodeType":"ExpressionStatement","src":"1261:38:142"},{"expression":{"id":80798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80792,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80776,"src":"1307:1:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"id":80795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1309:15:142","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":82961,"src":"1307:17:142","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":80796,"indexExpression":{"id":80794,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80759,"src":"1325:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1307:26:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":80797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1336:4:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1307:33:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80799,"nodeType":"ExpressionStatement","src":"1307:33:142"},{"functionReturnParameters":80765,"id":80800,"nodeType":"Return","src":"1348:7:142"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":80805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80803,"name":"roundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80761,"src":"1404:10:142","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":80804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1418:1:142","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1404:15:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":80825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80823,"name":"roundState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80761,"src":"1628:10:142","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":80824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1642:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1628:15:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80848,"nodeType":"IfStatement","src":"1624:219:142","trueBody":{"id":80847,"nodeType":"Block","src":"1645:198:142","statements":[{"expression":{"id":80837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80826,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80776,"src":"1720:1:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"id":80829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1722:23:142","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":82957,"src":"1720:25:142","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80830,"indexExpression":{"id":80828,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80759,"src":"1746:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1720:34:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"id":80831,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80776,"src":"1757:1:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"id":80832,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1759:23:142","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":82957,"src":"1757:25:142","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80836,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80833,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80759,"src":"1783:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":80834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1793:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1783:11:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1757:38:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1720:75:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80838,"nodeType":"ExpressionStatement","src":"1720:75:142"},{"expression":{"id":80845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80839,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80776,"src":"1803:1:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"id":80842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1805:15:142","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":82961,"src":"1803:17:142","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":80843,"indexExpression":{"id":80841,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80759,"src":"1821:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1803:26:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":80844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1832:4:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1803:33:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80846,"nodeType":"ExpressionStatement","src":"1803:33:142"}]}},"id":80849,"nodeType":"IfStatement","src":"1400:443:142","trueBody":{"id":80822,"nodeType":"Block","src":"1421:163:142","statements":[{"expression":{"id":80812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80806,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80776,"src":"1492:1:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"id":80809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1494:23:142","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":82957,"src":"1492:25:142","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80810,"indexExpression":{"id":80808,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80759,"src":"1518:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1492:34:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80811,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80759,"src":"1529:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1492:44:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80813,"nodeType":"ExpressionStatement","src":"1492:44:142"},{"expression":{"id":80820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":80814,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80776,"src":"1544:1:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"id":80817,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1546:15:142","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":82961,"src":"1544:17:142","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":80818,"indexExpression":{"id":80816,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80759,"src":"1562:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1544:26:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":80819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1573:4:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1544:33:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80821,"nodeType":"ExpressionStatement","src":"1544:33:142"}]}}]},"documentation":{"id":80757,"nodeType":"StructuredDocumentation","src":"617:262:142","text":" @dev Store the last succeeded round for the given round\n @param roundId The round to finalize\n @param roundState The pre-computed state of the round (0=Active, 1=Failed, 2=Succeeded)\n @param active Whether the round is currently active"},"functionSelector":"09d3c59b","id":80851,"implemented":true,"kind":"function","modifiers":[],"name":"finalizeRound","nameLocation":"891:13:142","nodeType":"FunctionDefinition","parameters":{"id":80764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80759,"mutability":"mutable","name":"roundId","nameLocation":"913:7:142","nodeType":"VariableDeclaration","scope":80851,"src":"905:15:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80758,"name":"uint256","nodeType":"ElementaryTypeName","src":"905:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80761,"mutability":"mutable","name":"roundState","nameLocation":"928:10:142","nodeType":"VariableDeclaration","scope":80851,"src":"922:16:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":80760,"name":"uint8","nodeType":"ElementaryTypeName","src":"922:5:142","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":80763,"mutability":"mutable","name":"active","nameLocation":"945:6:142","nodeType":"VariableDeclaration","scope":80851,"src":"940:11:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":80762,"name":"bool","nodeType":"ElementaryTypeName","src":"940:4:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"904:48:142"},"returnParameters":{"id":80765,"nodeType":"ParameterList","parameters":[],"src":"962:0:142"},"scope":80898,"src":"882:965:142","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80873,"nodeType":"Block","src":"2105:192:142","statements":[{"assignments":[80863],"declarations":[{"constant":false,"id":80863,"mutability":"mutable","name":"$","nameLocation":"2174:1:142","nodeType":"VariableDeclaration","scope":80873,"src":"2111:64:142","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage"},"typeName":{"id":80862,"nodeType":"UserDefinedTypeName","pathNode":{"id":80861,"name":"XAllocationVotingStorageTypes.RoundFinalizationStorage","nameLocations":["2111:29:142","2141:24:142"],"nodeType":"IdentifierPath","referencedDeclaration":82962,"src":"2111:54:142"},"referencedDeclaration":82962,"src":"2111:54:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage"}},"visibility":"internal"}],"id":80867,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80864,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2178:29:142","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2215:28:142","memberName":"_getRoundFinalizationStorage","nodeType":"MemberAccess","referencedDeclaration":83074,"src":"2178:65:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundFinalizationStorage_$82962_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer)"}},"id":80866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2178:67:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2111:134:142"},{"expression":{"baseExpression":{"expression":{"id":80868,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80863,"src":"2258:1:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"id":80869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2260:23:142","memberName":"_latestSucceededRoundId","nodeType":"MemberAccess","referencedDeclaration":82957,"src":"2258:25:142","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80871,"indexExpression":{"id":80870,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80854,"src":"2284:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2258:34:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80858,"id":80872,"nodeType":"Return","src":"2251:41:142"}]},"documentation":{"id":80852,"nodeType":"StructuredDocumentation","src":"1851:170:142","text":" @dev Get the last succeeded round for the given round\n @param roundId The round to query\n @return The latest succeeded round id for the given round"},"functionSelector":"30097377","id":80874,"implemented":true,"kind":"function","modifiers":[],"name":"latestSucceededRoundId","nameLocation":"2033:22:142","nodeType":"FunctionDefinition","parameters":{"id":80855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80854,"mutability":"mutable","name":"roundId","nameLocation":"2064:7:142","nodeType":"VariableDeclaration","scope":80874,"src":"2056:15:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80853,"name":"uint256","nodeType":"ElementaryTypeName","src":"2056:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2055:17:142"},"returnParameters":{"id":80858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80874,"src":"2096:7:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80856,"name":"uint256","nodeType":"ElementaryTypeName","src":"2096:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2095:9:142"},"scope":80898,"src":"2024:273:142","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":80896,"nodeType":"Block","src":"2511:184:142","statements":[{"assignments":[80886],"declarations":[{"constant":false,"id":80886,"mutability":"mutable","name":"$","nameLocation":"2580:1:142","nodeType":"VariableDeclaration","scope":80896,"src":"2517:64:142","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage"},"typeName":{"id":80885,"nodeType":"UserDefinedTypeName","pathNode":{"id":80884,"name":"XAllocationVotingStorageTypes.RoundFinalizationStorage","nameLocations":["2517:29:142","2547:24:142"],"nodeType":"IdentifierPath","referencedDeclaration":82962,"src":"2517:54:142"},"referencedDeclaration":82962,"src":"2517:54:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage"}},"visibility":"internal"}],"id":80890,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80887,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2584:29:142","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2621:28:142","memberName":"_getRoundFinalizationStorage","nodeType":"MemberAccess","referencedDeclaration":83074,"src":"2584:65:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundFinalizationStorage_$82962_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer)"}},"id":80889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2584:67:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2517:134:142"},{"expression":{"baseExpression":{"expression":{"id":80891,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80886,"src":"2664:1:142","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage storage pointer"}},"id":80892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2666:15:142","memberName":"_roundFinalized","nodeType":"MemberAccess","referencedDeclaration":82961,"src":"2664:17:142","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":80894,"indexExpression":{"id":80893,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80877,"src":"2682:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2664:26:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":80881,"id":80895,"nodeType":"Return","src":"2657:33:142"}]},"documentation":{"id":80875,"nodeType":"StructuredDocumentation","src":"2301:140:142","text":" @dev Check if the round is finalized\n @param roundId The round to query\n @return Whether the round has been finalized"},"functionSelector":"33727c4d","id":80897,"implemented":true,"kind":"function","modifiers":[],"name":"isFinalized","nameLocation":"2453:11:142","nodeType":"FunctionDefinition","parameters":{"id":80878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80877,"mutability":"mutable","name":"roundId","nameLocation":"2473:7:142","nodeType":"VariableDeclaration","scope":80897,"src":"2465:15:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80876,"name":"uint256","nodeType":"ElementaryTypeName","src":"2465:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2464:17:142"},"returnParameters":{"id":80881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80880,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80897,"src":"2505:4:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":80879,"name":"bool","nodeType":"ElementaryTypeName","src":"2505:4:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2504:6:142"},"scope":80898,"src":"2444:251:142","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":80899,"src":"582:2115:142","usedErrors":[],"usedEvents":[]}],"src":"32:2666:142"},"id":142},"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol","exportedSymbols":{"FreshnessUtils":[80555],"IXAllocationVotingGovernor":[71124],"Math":[7015],"RoundVotesCountingUtils":[81679],"XAllocationVotingStorageTypes":[83099]},"id":81680,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":80900,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:143"},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":80902,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":81680,"sourceUnit":83100,"src":"57:84:143","symbolAliases":[{"foreign":{"id":80901,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"66:29:143","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","id":80904,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":81680,"sourceUnit":7016,"src":"142:67:143","symbolAliases":[{"foreign":{"id":80903,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"151:4:143","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IXAllocationVotingGovernor.sol","file":"../../interfaces/IXAllocationVotingGovernor.sol","id":80906,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":81680,"sourceUnit":71125,"src":"210:93:143","symbolAliases":[{"foreign":{"id":80905,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"219:26:143","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol","file":"./FreshnessUtils.sol","id":80908,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":81680,"sourceUnit":80556,"src":"304:54:143","symbolAliases":[{"foreign":{"id":80907,"name":"FreshnessUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80555,"src":"313:14:143","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"RoundVotesCountingUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":80909,"nodeType":"StructuredDocumentation","src":"360:234:143","text":" @title RoundVotesCountingUtils\n @notice Library for vote counting with quadratic funding math in the XAllocationVoting system.\n @dev Extracted from RoundVotesCountingUpgradeable module. Uses ERC-7201 namespaced storage."},"fullyImplemented":true,"id":81679,"linearizedBaseContracts":[81679],"name":"RoundVotesCountingUtils","nameLocation":"603:23:143","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":80910,"nodeType":"StructuredDocumentation","src":"663:56:143","text":"@notice Emitted when the voting threshold is updated"},"eventSelector":"a5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05","id":80916,"name":"VotingThresholdSet","nameLocation":"728:18:143","nodeType":"EventDefinition","parameters":{"id":80915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80912,"indexed":false,"mutability":"mutable","name":"oldVotingThreshold","nameLocation":"755:18:143","nodeType":"VariableDeclaration","scope":80916,"src":"747:26:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80911,"name":"uint256","nodeType":"ElementaryTypeName","src":"747:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80914,"indexed":false,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"783:18:143","nodeType":"VariableDeclaration","scope":80916,"src":"775:26:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80913,"name":"uint256","nodeType":"ElementaryTypeName","src":"775:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"746:56:143"},"src":"722:81:143"},{"anonymous":false,"documentation":{"id":80917,"nodeType":"StructuredDocumentation","src":"807:39:143","text":"@notice Emitted when a vote is cast"},"eventSelector":"e2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e2","id":80929,"name":"AllocationVoteCast","nameLocation":"855:18:143","nodeType":"EventDefinition","parameters":{"id":80928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80919,"indexed":true,"mutability":"mutable","name":"voter","nameLocation":"890:5:143","nodeType":"VariableDeclaration","scope":80929,"src":"874:21:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80918,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:143","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80921,"indexed":true,"mutability":"mutable","name":"roundId","nameLocation":"913:7:143","nodeType":"VariableDeclaration","scope":80929,"src":"897:23:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80920,"name":"uint256","nodeType":"ElementaryTypeName","src":"897:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80924,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"932:7:143","nodeType":"VariableDeclaration","scope":80929,"src":"922:17:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":80922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"922:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":80923,"nodeType":"ArrayTypeName","src":"922:9:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":80927,"indexed":false,"mutability":"mutable","name":"voteWeights","nameLocation":"951:11:143","nodeType":"VariableDeclaration","scope":80929,"src":"941:21:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":80925,"name":"uint256","nodeType":"ElementaryTypeName","src":"941:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80926,"nodeType":"ArrayTypeName","src":"941:9:143","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"873:90:143"},"src":"849:115:143"},{"documentation":{"id":80930,"nodeType":"StructuredDocumentation","src":"1000:92:143","text":"@dev Error thrown when trying to vote for the same app multiple times in one transaction"},"errorSelector":"8d9eb3dc","id":80932,"name":"DuplicateAppVote","nameLocation":"1101:16:143","nodeType":"ErrorDefinition","parameters":{"id":80931,"nodeType":"ParameterList","parameters":[],"src":"1117:2:143"},"src":"1095:25:143"},{"body":{"id":80953,"nodeType":"Block","src":"1365:189:143","statements":[{"assignments":[80942],"declarations":[{"constant":false,"id":80942,"mutability":"mutable","name":"$","nameLocation":"1435:1:143","nodeType":"VariableDeclaration","scope":80953,"src":"1371:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":80941,"nodeType":"UserDefinedTypeName","pathNode":{"id":80940,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["1371:29:143","1401:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"1371:55:143"},"referencedDeclaration":82940,"src":"1371:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":80946,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80943,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1439:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1476:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"1439:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":80945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1439:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1371:136:143"},{"expression":{"id":80951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80947,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80942,"src":"1513:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1515:15:143","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":82925,"src":"1513:17:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80950,"name":"votingThreshold_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80935,"src":"1533:16:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1513:36:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80952,"nodeType":"ExpressionStatement","src":"1513:36:143"}]},"documentation":{"id":80933,"nodeType":"StructuredDocumentation","src":"1164:143:143","text":" @notice Initializes the voting threshold\n @param votingThreshold_ The initial minimum number of tokens needed to cast a vote"},"functionSelector":"fe4b84df","id":80954,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"1319:10:143","nodeType":"FunctionDefinition","parameters":{"id":80936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80935,"mutability":"mutable","name":"votingThreshold_","nameLocation":"1338:16:143","nodeType":"VariableDeclaration","scope":80954,"src":"1330:24:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80934,"name":"uint256","nodeType":"ElementaryTypeName","src":"1330:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1329:26:143"},"returnParameters":{"id":80937,"nodeType":"ParameterList","parameters":[],"src":"1365:0:143"},"scope":81679,"src":"1310:244:143","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":80981,"nodeType":"Block","src":"1793:259:143","statements":[{"assignments":[80964],"declarations":[{"constant":false,"id":80964,"mutability":"mutable","name":"$","nameLocation":"1863:1:143","nodeType":"VariableDeclaration","scope":80981,"src":"1799:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":80963,"nodeType":"UserDefinedTypeName","pathNode":{"id":80962,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["1799:29:143","1829:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"1799:55:143"},"referencedDeclaration":82940,"src":"1799:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":80968,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80965,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1867:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1904:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"1867:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":80967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1867:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1799:136:143"},{"eventCall":{"arguments":[{"expression":{"id":80970,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80964,"src":"1965:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1967:15:143","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":82925,"src":"1965:17:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80972,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80957,"src":"1984:18:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80969,"name":"VotingThresholdSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80916,"src":"1946:18:143","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":80973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1946:57:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80974,"nodeType":"EmitStatement","src":"1941:62:143"},{"expression":{"id":80979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80975,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80964,"src":"2009:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80977,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2011:15:143","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":82925,"src":"2009:17:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80978,"name":"newVotingThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80957,"src":"2029:18:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2009:38:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80980,"nodeType":"ExpressionStatement","src":"2009:38:143"}]},"documentation":{"id":80955,"nodeType":"StructuredDocumentation","src":"1591:134:143","text":" @notice Sets the voting threshold\n @param newVotingThreshold The new minimum number of tokens needed to cast a vote"},"functionSelector":"836761e0","id":80982,"implemented":true,"kind":"function","modifiers":[],"name":"setVotingThreshold","nameLocation":"1737:18:143","nodeType":"FunctionDefinition","parameters":{"id":80958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80957,"mutability":"mutable","name":"newVotingThreshold","nameLocation":"1764:18:143","nodeType":"VariableDeclaration","scope":80982,"src":"1756:26:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80956,"name":"uint256","nodeType":"ElementaryTypeName","src":"1756:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1755:28:143"},"returnParameters":{"id":80959,"nodeType":"ParameterList","parameters":[],"src":"1793:0:143"},"scope":81679,"src":"1728:324:143","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":81000,"nodeType":"Block","src":"2199:177:143","statements":[{"assignments":[80992],"declarations":[{"constant":false,"id":80992,"mutability":"mutable","name":"$","nameLocation":"2269:1:143","nodeType":"VariableDeclaration","scope":81000,"src":"2205:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":80991,"nodeType":"UserDefinedTypeName","pathNode":{"id":80990,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["2205:29:143","2235:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"2205:55:143"},"referencedDeclaration":82940,"src":"2205:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":80996,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80993,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2273:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":80994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2310:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"2273:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":80995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2273:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2205:136:143"},{"expression":{"expression":{"id":80997,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80992,"src":"2354:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":80998,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2356:15:143","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":82925,"src":"2354:17:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80987,"id":80999,"nodeType":"Return","src":"2347:24:143"}]},"documentation":{"id":80983,"nodeType":"StructuredDocumentation","src":"2089:48:143","text":"@notice Returns the current voting threshold"},"functionSelector":"62827733","id":81001,"implemented":true,"kind":"function","modifiers":[],"name":"votingThreshold","nameLocation":"2149:15:143","nodeType":"FunctionDefinition","parameters":{"id":80984,"nodeType":"ParameterList","parameters":[],"src":"2164:2:143"},"returnParameters":{"id":80987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80986,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81001,"src":"2190:7:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80985,"name":"uint256","nodeType":"ElementaryTypeName","src":"2190:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2189:9:143"},"scope":81679,"src":"2140:236:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81028,"nodeType":"Block","src":"2539:201:143","statements":[{"assignments":[81015],"declarations":[{"constant":false,"id":81015,"mutability":"mutable","name":"$","nameLocation":"2609:1:143","nodeType":"VariableDeclaration","scope":81028,"src":"2545:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81014,"nodeType":"UserDefinedTypeName","pathNode":{"id":81013,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["2545:29:143","2575:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"2545:55:143"},"referencedDeclaration":82940,"src":"2545:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81019,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81016,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2613:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2650:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"2613:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2613:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2545:136:143"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81020,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81015,"src":"2694:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2696:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"2694:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81023,"indexExpression":{"id":81022,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81004,"src":"2708:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2694:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2717:13:143","memberName":"votesReceived","nodeType":"MemberAccess","referencedDeclaration":82893,"src":"2694:36:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":81026,"indexExpression":{"id":81025,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81006,"src":"2731:3:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2694:41:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":81010,"id":81027,"nodeType":"Return","src":"2687:48:143"}]},"documentation":{"id":81002,"nodeType":"StructuredDocumentation","src":"2380:73:143","text":"@notice Returns the votes received by a specific app in a given round"},"functionSelector":"4bb5181a","id":81029,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotes","nameLocation":"2465:11:143","nodeType":"FunctionDefinition","parameters":{"id":81007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81004,"mutability":"mutable","name":"roundId","nameLocation":"2485:7:143","nodeType":"VariableDeclaration","scope":81029,"src":"2477:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81003,"name":"uint256","nodeType":"ElementaryTypeName","src":"2477:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81006,"mutability":"mutable","name":"app","nameLocation":"2502:3:143","nodeType":"VariableDeclaration","scope":81029,"src":"2494:11:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81005,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2494:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2476:30:143"},"returnParameters":{"id":81010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81009,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81029,"src":"2530:7:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81008,"name":"uint256","nodeType":"ElementaryTypeName","src":"2530:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2529:9:143"},"scope":81679,"src":"2456:284:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81056,"nodeType":"Block","src":"2923:203:143","statements":[{"assignments":[81043],"declarations":[{"constant":false,"id":81043,"mutability":"mutable","name":"$","nameLocation":"2993:1:143","nodeType":"VariableDeclaration","scope":81056,"src":"2929:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81042,"nodeType":"UserDefinedTypeName","pathNode":{"id":81041,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["2929:29:143","2959:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"2929:55:143"},"referencedDeclaration":82940,"src":"2929:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81047,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81044,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2997:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3034:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"2997:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2929:136:143"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81048,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81043,"src":"3078:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3080:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"3078:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81051,"indexExpression":{"id":81050,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81032,"src":"3092:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3078:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3101:15:143","memberName":"votesReceivedQF","nodeType":"MemberAccess","referencedDeclaration":82897,"src":"3078:38:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":81054,"indexExpression":{"id":81053,"name":"app","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81034,"src":"3117:3:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3078:43:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":81038,"id":81055,"nodeType":"Return","src":"3071:50:143"}]},"documentation":{"id":81030,"nodeType":"StructuredDocumentation","src":"2744:91:143","text":"@notice Returns the quadratic funding votes received by a specific app in a given round"},"functionSelector":"bed73010","id":81057,"implemented":true,"kind":"function","modifiers":[],"name":"getAppVotesQF","nameLocation":"2847:13:143","nodeType":"FunctionDefinition","parameters":{"id":81035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81032,"mutability":"mutable","name":"roundId","nameLocation":"2869:7:143","nodeType":"VariableDeclaration","scope":81057,"src":"2861:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81031,"name":"uint256","nodeType":"ElementaryTypeName","src":"2861:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81034,"mutability":"mutable","name":"app","nameLocation":"2886:3:143","nodeType":"VariableDeclaration","scope":81057,"src":"2878:11:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2878:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2860:30:143"},"returnParameters":{"id":81038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81057,"src":"2914:7:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81036,"name":"uint256","nodeType":"ElementaryTypeName","src":"2914:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2913:9:143"},"scope":81679,"src":"2838:288:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81080,"nodeType":"Block","src":"3259:193:143","statements":[{"assignments":[81069],"declarations":[{"constant":false,"id":81069,"mutability":"mutable","name":"$","nameLocation":"3329:1:143","nodeType":"VariableDeclaration","scope":81080,"src":"3265:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81068,"nodeType":"UserDefinedTypeName","pathNode":{"id":81067,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["3265:29:143","3295:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"3265:55:143"},"referencedDeclaration":82940,"src":"3265:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81073,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81070,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3333:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3370:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"3333:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3333:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3265:136:143"},{"expression":{"expression":{"baseExpression":{"expression":{"id":81074,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81069,"src":"3414:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3416:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"3414:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81077,"indexExpression":{"id":81076,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81060,"src":"3428:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3414:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81078,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3437:10:143","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":82899,"src":"3414:33:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":81064,"id":81079,"nodeType":"Return","src":"3407:40:143"}]},"documentation":{"id":81058,"nodeType":"StructuredDocumentation","src":"3130:57:143","text":"@notice Returns the total votes cast in a given round"},"functionSelector":"19e6e158","id":81081,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotes","nameLocation":"3199:10:143","nodeType":"FunctionDefinition","parameters":{"id":81061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81060,"mutability":"mutable","name":"roundId","nameLocation":"3218:7:143","nodeType":"VariableDeclaration","scope":81081,"src":"3210:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81059,"name":"uint256","nodeType":"ElementaryTypeName","src":"3210:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3209:17:143"},"returnParameters":{"id":81064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81081,"src":"3250:7:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81062,"name":"uint256","nodeType":"ElementaryTypeName","src":"3250:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3249:9:143"},"scope":81679,"src":"3190:262:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81104,"nodeType":"Block","src":"3605:195:143","statements":[{"assignments":[81093],"declarations":[{"constant":false,"id":81093,"mutability":"mutable","name":"$","nameLocation":"3675:1:143","nodeType":"VariableDeclaration","scope":81104,"src":"3611:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81092,"nodeType":"UserDefinedTypeName","pathNode":{"id":81091,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["3611:29:143","3641:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"3611:55:143"},"referencedDeclaration":82940,"src":"3611:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81097,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81094,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3679:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3716:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"3679:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3679:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3611:136:143"},{"expression":{"expression":{"baseExpression":{"expression":{"id":81098,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81093,"src":"3760:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3762:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"3760:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81101,"indexExpression":{"id":81100,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81084,"src":"3774:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3760:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3783:12:143","memberName":"totalVotesQF","nodeType":"MemberAccess","referencedDeclaration":82901,"src":"3760:35:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":81088,"id":81103,"nodeType":"Return","src":"3753:42:143"}]},"documentation":{"id":81082,"nodeType":"StructuredDocumentation","src":"3456:75:143","text":"@notice Returns the total quadratic funding votes cast in a given round"},"functionSelector":"fb03ec6f","id":81105,"implemented":true,"kind":"function","modifiers":[],"name":"totalVotesQF","nameLocation":"3543:12:143","nodeType":"FunctionDefinition","parameters":{"id":81085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81084,"mutability":"mutable","name":"roundId","nameLocation":"3564:7:143","nodeType":"VariableDeclaration","scope":81105,"src":"3556:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81083,"name":"uint256","nodeType":"ElementaryTypeName","src":"3556:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3555:17:143"},"returnParameters":{"id":81088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81087,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81105,"src":"3596:7:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81086,"name":"uint256","nodeType":"ElementaryTypeName","src":"3596:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3595:9:143"},"scope":81679,"src":"3534:266:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81128,"nodeType":"Block","src":"3940:194:143","statements":[{"assignments":[81117],"declarations":[{"constant":false,"id":81117,"mutability":"mutable","name":"$","nameLocation":"4010:1:143","nodeType":"VariableDeclaration","scope":81128,"src":"3946:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81116,"nodeType":"UserDefinedTypeName","pathNode":{"id":81115,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["3946:29:143","3976:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"3946:55:143"},"referencedDeclaration":82940,"src":"3946:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81121,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81118,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4014:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4051:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"4014:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4014:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3946:136:143"},{"expression":{"expression":{"baseExpression":{"expression":{"id":81122,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81117,"src":"4095:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4097:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"4095:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81125,"indexExpression":{"id":81124,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81108,"src":"4109:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4095:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4118:11:143","memberName":"totalVoters","nodeType":"MemberAccess","referencedDeclaration":82907,"src":"4095:34:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":81112,"id":81127,"nodeType":"Return","src":"4088:41:143"}]},"documentation":{"id":81106,"nodeType":"StructuredDocumentation","src":"3804:63:143","text":"@notice Returns the total number of voters in a given round"},"functionSelector":"498d91bf","id":81129,"implemented":true,"kind":"function","modifiers":[],"name":"totalVoters","nameLocation":"3879:11:143","nodeType":"FunctionDefinition","parameters":{"id":81109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81108,"mutability":"mutable","name":"roundId","nameLocation":"3899:7:143","nodeType":"VariableDeclaration","scope":81129,"src":"3891:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81107,"name":"uint256","nodeType":"ElementaryTypeName","src":"3891:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3890:17:143"},"returnParameters":{"id":81112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81129,"src":"3931:7:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81110,"name":"uint256","nodeType":"ElementaryTypeName","src":"3931:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3930:9:143"},"scope":81679,"src":"3870:264:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81156,"nodeType":"Block","src":"4280:197:143","statements":[{"assignments":[81143],"declarations":[{"constant":false,"id":81143,"mutability":"mutable","name":"$","nameLocation":"4350:1:143","nodeType":"VariableDeclaration","scope":81156,"src":"4286:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81142,"nodeType":"UserDefinedTypeName","pathNode":{"id":81141,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["4286:29:143","4316:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"4286:55:143"},"referencedDeclaration":82940,"src":"4286:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81147,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81144,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4354:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4391:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"4354:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4286:136:143"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81148,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81143,"src":"4435:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4437:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"4435:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81151,"indexExpression":{"id":81150,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81132,"src":"4449:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4435:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4458:8:143","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":82905,"src":"4435:31:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81154,"indexExpression":{"id":81153,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81134,"src":"4467:4:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4435:37:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":81138,"id":81155,"nodeType":"Return","src":"4428:44:143"}]},"documentation":{"id":81130,"nodeType":"StructuredDocumentation","src":"4138:61:143","text":"@notice Returns whether a user has voted in a given round"},"functionSelector":"43859632","id":81157,"implemented":true,"kind":"function","modifiers":[],"name":"hasVoted","nameLocation":"4211:8:143","nodeType":"FunctionDefinition","parameters":{"id":81135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81132,"mutability":"mutable","name":"roundId","nameLocation":"4228:7:143","nodeType":"VariableDeclaration","scope":81157,"src":"4220:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81131,"name":"uint256","nodeType":"ElementaryTypeName","src":"4220:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81134,"mutability":"mutable","name":"user","nameLocation":"4245:4:143","nodeType":"VariableDeclaration","scope":81157,"src":"4237:12:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81133,"name":"address","nodeType":"ElementaryTypeName","src":"4237:7:143","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4219:31:143"},"returnParameters":{"id":81138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81137,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81157,"src":"4274:4:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81136,"name":"bool","nodeType":"ElementaryTypeName","src":"4274:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4273:6:143"},"scope":81679,"src":"4202:275:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81179,"nodeType":"Block","src":"4625:181:143","statements":[{"assignments":[81169],"declarations":[{"constant":false,"id":81169,"mutability":"mutable","name":"$","nameLocation":"4695:1:143","nodeType":"VariableDeclaration","scope":81179,"src":"4631:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81168,"nodeType":"UserDefinedTypeName","pathNode":{"id":81167,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["4631:29:143","4661:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"4631:55:143"},"referencedDeclaration":82940,"src":"4631:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81173,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81170,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4699:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4736:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"4699:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4699:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4631:136:143"},{"expression":{"baseExpression":{"expression":{"id":81174,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81169,"src":"4780:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81175,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4782:13:143","memberName":"_hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":82918,"src":"4780:15:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81177,"indexExpression":{"id":81176,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81160,"src":"4796:4:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4780:21:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":81164,"id":81178,"nodeType":"Return","src":"4773:28:143"}]},"documentation":{"id":81158,"nodeType":"StructuredDocumentation","src":"4481:76:143","text":"@notice Returns whether a user has voted at least once across all rounds"},"functionSelector":"9aeb962b","id":81180,"implemented":true,"kind":"function","modifiers":[],"name":"hasVotedOnce","nameLocation":"4569:12:143","nodeType":"FunctionDefinition","parameters":{"id":81161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81160,"mutability":"mutable","name":"user","nameLocation":"4590:4:143","nodeType":"VariableDeclaration","scope":81180,"src":"4582:12:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81159,"name":"address","nodeType":"ElementaryTypeName","src":"4582:7:143","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4581:14:143"},"returnParameters":{"id":81164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81180,"src":"4619:4:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81162,"name":"bool","nodeType":"ElementaryTypeName","src":"4619:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4618:6:143"},"scope":81679,"src":"4560:246:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81207,"nodeType":"Block","src":"5080:208:143","statements":[{"assignments":[81194],"declarations":[{"constant":false,"id":81194,"mutability":"mutable","name":"$","nameLocation":"5150:1:143","nodeType":"VariableDeclaration","scope":81207,"src":"5086:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81193,"nodeType":"UserDefinedTypeName","pathNode":{"id":81192,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["5086:29:143","5116:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"5086:55:143"},"referencedDeclaration":82940,"src":"5086:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81198,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81195,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"5154:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5191:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"5154:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5154:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5086:136:143"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81199,"name":"quorumValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81185,"src":"5235:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"baseExpression":{"expression":{"id":81200,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81194,"src":"5250:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81201,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5252:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"5250:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81203,"indexExpression":{"id":81202,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81183,"src":"5264:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5250:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5273:10:143","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":82899,"src":"5250:33:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5235:48:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":81189,"id":81206,"nodeType":"Return","src":"5228:55:143"}]},"documentation":{"id":81181,"nodeType":"StructuredDocumentation","src":"4810:177:143","text":"@notice Returns whether quorum has been reached for a given round\n @param roundId The round to check\n @param quorumValue The quorum threshold (caller must provide)"},"functionSelector":"754ba25d","id":81208,"implemented":true,"kind":"function","modifiers":[],"name":"quorumReached","nameLocation":"4999:13:143","nodeType":"FunctionDefinition","parameters":{"id":81186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81183,"mutability":"mutable","name":"roundId","nameLocation":"5021:7:143","nodeType":"VariableDeclaration","scope":81208,"src":"5013:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81182,"name":"uint256","nodeType":"ElementaryTypeName","src":"5013:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81185,"mutability":"mutable","name":"quorumValue","nameLocation":"5038:11:143","nodeType":"VariableDeclaration","scope":81208,"src":"5030:19:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81184,"name":"uint256","nodeType":"ElementaryTypeName","src":"5030:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5012:38:143"},"returnParameters":{"id":81189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81208,"src":"5074:4:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81187,"name":"bool","nodeType":"ElementaryTypeName","src":"5074:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5073:6:143"},"scope":81679,"src":"4990:298:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81239,"nodeType":"Block","src":"5586:211:143","statements":[{"assignments":[81224],"declarations":[{"constant":false,"id":81224,"mutability":"mutable","name":"$","nameLocation":"5656:1:143","nodeType":"VariableDeclaration","scope":81239,"src":"5592:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81223,"nodeType":"UserDefinedTypeName","pathNode":{"id":81222,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["5592:29:143","5622:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"5592:55:143"},"referencedDeclaration":82940,"src":"5592:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81228,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81225,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"5660:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5697:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"5660:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5660:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5592:136:143"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81229,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81224,"src":"5741:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81230,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5743:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"5741:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81232,"indexExpression":{"id":81231,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81211,"src":"5755:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5741:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5764:15:143","memberName":"userVotedForApp","nodeType":"MemberAccess","referencedDeclaration":82913,"src":"5741:38:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes32 => bool))"}},"id":81235,"indexExpression":{"id":81234,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81213,"src":"5780:4:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5741:44:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":81237,"indexExpression":{"id":81236,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81215,"src":"5786:5:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5741:51:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":81219,"id":81238,"nodeType":"Return","src":"5734:58:143"}]},"documentation":{"id":81209,"nodeType":"StructuredDocumentation","src":"5292:188:143","text":"@notice Returns whether a user voted for a specific app in a given round\n @param roundId The round to query\n @param user The voter address\n @param appId The app to check"},"functionSelector":"42707a43","id":81240,"implemented":true,"kind":"function","modifiers":[],"name":"hasUserVotedForApp","nameLocation":"5492:18:143","nodeType":"FunctionDefinition","parameters":{"id":81216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81211,"mutability":"mutable","name":"roundId","nameLocation":"5519:7:143","nodeType":"VariableDeclaration","scope":81240,"src":"5511:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81210,"name":"uint256","nodeType":"ElementaryTypeName","src":"5511:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81213,"mutability":"mutable","name":"user","nameLocation":"5536:4:143","nodeType":"VariableDeclaration","scope":81240,"src":"5528:12:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81212,"name":"address","nodeType":"ElementaryTypeName","src":"5528:7:143","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81215,"mutability":"mutable","name":"appId","nameLocation":"5550:5:143","nodeType":"VariableDeclaration","scope":81240,"src":"5542:13:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5542:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5510:46:143"},"returnParameters":{"id":81219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81218,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81240,"src":"5580:4:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81217,"name":"bool","nodeType":"ElementaryTypeName","src":"5580:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5579:6:143"},"scope":81679,"src":"5483:314:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81267,"nodeType":"Block","src":"6008:208:143","statements":[{"assignments":[81254],"declarations":[{"constant":false,"id":81254,"mutability":"mutable","name":"$","nameLocation":"6078:1:143","nodeType":"VariableDeclaration","scope":81267,"src":"6014:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81253,"nodeType":"UserDefinedTypeName","pathNode":{"id":81252,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["6014:29:143","6044:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"6014:55:143"},"referencedDeclaration":82940,"src":"6014:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81258,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81255,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"6082:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6119:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"6082:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6082:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6014:136:143"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"id":81259,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81254,"src":"6163:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6165:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"6163:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81262,"indexExpression":{"id":81261,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81243,"src":"6177:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6163:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6186:10:143","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":82899,"src":"6163:33:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":81264,"name":"quorumValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81245,"src":"6200:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6163:48:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":81249,"id":81266,"nodeType":"Return","src":"6156:55:143"}]},"documentation":{"id":81241,"nodeType":"StructuredDocumentation","src":"5801:114:143","text":"@notice Returns whether the vote succeeded (totalVotes > 0)\n @dev Vote is successful if quorum is reached"},"functionSelector":"adf86523","id":81268,"implemented":true,"kind":"function","modifiers":[],"name":"voteSucceeded","nameLocation":"5927:13:143","nodeType":"FunctionDefinition","parameters":{"id":81246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81243,"mutability":"mutable","name":"roundId","nameLocation":"5949:7:143","nodeType":"VariableDeclaration","scope":81268,"src":"5941:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81242,"name":"uint256","nodeType":"ElementaryTypeName","src":"5941:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81245,"mutability":"mutable","name":"quorumValue","nameLocation":"5966:11:143","nodeType":"VariableDeclaration","scope":81268,"src":"5958:19:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81244,"name":"uint256","nodeType":"ElementaryTypeName","src":"5958:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5940:38:143"},"returnParameters":{"id":81249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81268,"src":"6002:4:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81247,"name":"bool","nodeType":"ElementaryTypeName","src":"6002:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6001:6:143"},"scope":81679,"src":"5918:298:143","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81542,"nodeType":"Block","src":"7281:3286:143","statements":[{"assignments":[81290],"declarations":[{"constant":false,"id":81290,"mutability":"mutable","name":"$","nameLocation":"7351:1:143","nodeType":"VariableDeclaration","scope":81542,"src":"7287:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81289,"nodeType":"UserDefinedTypeName","pathNode":{"id":81288,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["7287:29:143","7317:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"7287:55:143"},"referencedDeclaration":82940,"src":"7287:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81294,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81291,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"7355:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7392:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"7355:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7355:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7287:136:143"},{"assignments":[81299],"declarations":[{"constant":false,"id":81299,"mutability":"mutable","name":"contracts","nameLocation":"7492:9:143","nodeType":"VariableDeclaration","scope":81542,"src":"7429:72:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":81298,"nodeType":"UserDefinedTypeName","pathNode":{"id":81297,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["7429:29:143","7459:24:143"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"7429:54:143"},"referencedDeclaration":83004,"src":"7429:54:143","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":81303,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81300,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"7504:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7541:28:143","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"7504:65:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":81302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7504:67:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7429:142:143"},{"condition":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81304,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"7637:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81305,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7639:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"7637:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81307,"indexExpression":{"id":81306,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"7651:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7637:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7660:8:143","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":82905,"src":"7637:31:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81310,"indexExpression":{"id":81309,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81273,"src":"7669:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7637:38:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81318,"nodeType":"IfStatement","src":"7633:123:143","trueBody":{"id":81317,"nodeType":"Block","src":"7677:79:143","statements":[{"errorCall":{"arguments":[{"id":81314,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81273,"src":"7743:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":81311,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"7692:26:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":81313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7719:23:143","memberName":"GovernorAlreadyCastVote","nodeType":"MemberAccess","referencedDeclaration":70617,"src":"7692:50:143","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7692:57:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81316,"nodeType":"RevertStatement","src":"7685:64:143"}]}},{"assignments":[81320],"declarations":[{"constant":false,"id":81320,"mutability":"mutable","name":"totalWeight","nameLocation":"7829:11:143","nodeType":"VariableDeclaration","scope":81542,"src":"7821:19:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81319,"name":"uint256","nodeType":"ElementaryTypeName","src":"7821:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81321,"nodeType":"VariableDeclarationStatement","src":"7821:19:143"},{"assignments":[81323],"declarations":[{"constant":false,"id":81323,"mutability":"mutable","name":"totalQFVotesAdjustment","nameLocation":"7939:22:143","nodeType":"VariableDeclaration","scope":81542,"src":"7931:30:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81322,"name":"uint256","nodeType":"ElementaryTypeName","src":"7931:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81324,"nodeType":"VariableDeclarationStatement","src":"7931:30:143"},{"body":{"id":81425,"nodeType":"Block","src":"8107:854:143","statements":[{"body":{"id":81356,"nodeType":"Block","src":"8220:90:143","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":81350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":81344,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81276,"src":"8234:4:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":81346,"indexExpression":{"id":81345,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8239:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8234:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":81347,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81276,"src":"8245:4:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":81349,"indexExpression":{"id":81348,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81336,"src":"8250:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8245:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8234:18:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81355,"nodeType":"IfStatement","src":"8230:72:143","trueBody":{"id":81354,"nodeType":"Block","src":"8254:48:143","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81351,"name":"DuplicateAppVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80932,"src":"8273:16:143","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8273:18:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81353,"nodeType":"RevertStatement","src":"8266:25:143"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81338,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81336,"src":"8208:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":81339,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8212:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8208:5:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81357,"initializationExpression":{"assignments":[81336],"declarations":[{"constant":false,"id":81336,"mutability":"mutable","name":"j","nameLocation":"8205:1:143","nodeType":"VariableDeclaration","scope":81357,"src":"8197:9:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81335,"name":"uint256","nodeType":"ElementaryTypeName","src":"8197:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81337,"nodeType":"VariableDeclarationStatement","src":"8197:9:143"},"loopExpression":{"expression":{"id":81342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8215:3:143","subExpression":{"id":81341,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81336,"src":"8215:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81343,"nodeType":"ExpressionStatement","src":"8215:3:143"},"nodeType":"ForStatement","src":"8192:118:143"},{"expression":{"id":81362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81358,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81320,"src":"8318:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"id":81359,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81279,"src":"8333:7:143","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":81361,"indexExpression":{"id":81360,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8341:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8333:10:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8318:25:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81363,"nodeType":"ExpressionStatement","src":"8318:25:143"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81364,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81320,"src":"8356:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":81365,"name":"voterTotalVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81281,"src":"8370:21:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8356:35:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81373,"nodeType":"IfStatement","src":"8352:127:143","trueBody":{"id":81372,"nodeType":"Block","src":"8393:86:143","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81367,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"8410:26:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":81369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8437:31:143","memberName":"GovernorInsufficientVotingPower","nodeType":"MemberAccess","referencedDeclaration":70657,"src":"8410:58:143","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8410:60:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81371,"nodeType":"RevertStatement","src":"8403:67:143"}]}},{"condition":{"id":81386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8560:78:143","subExpression":{"arguments":[{"baseExpression":{"id":81381,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81276,"src":"8621:4:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":81383,"indexExpression":{"id":81382,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8626:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8621:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":81384,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"8630:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":81377,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8596:4:143","typeDescriptions":{"typeIdentifier":"t_contract$_RoundVotesCountingUtils_$81679","typeString":"library RoundVotesCountingUtils"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RoundVotesCountingUtils_$81679","typeString":"library RoundVotesCountingUtils"}],"id":81376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8588:7:143","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81375,"name":"address","nodeType":"ElementaryTypeName","src":"8588:7:143","typeDescriptions":{}}},"id":81378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8588:13:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81374,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"8561:26:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":81379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8561:41:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IXAllocationVotingGovernor_$71124","typeString":"contract IXAllocationVotingGovernor"}},"id":81380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8603:17:143","memberName":"isEligibleForVote","nodeType":"MemberAccess","referencedDeclaration":71059,"src":"8561:59:143","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$","typeString":"function (bytes32,uint256) view external returns (bool)"}},"id":81385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8561:77:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81396,"nodeType":"IfStatement","src":"8556:178:143","trueBody":{"id":81395,"nodeType":"Block","src":"8640:94:143","statements":[{"errorCall":{"arguments":[{"baseExpression":{"id":81390,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81276,"src":"8717:4:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":81392,"indexExpression":{"id":81391,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8722:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8717:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":81387,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"8657:26:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":81389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8684:32:143","memberName":"GovernorAppNotAvailableForVoting","nodeType":"MemberAccess","referencedDeclaration":70647,"src":"8657:59:143","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":81393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8657:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81394,"nodeType":"RevertStatement","src":"8650:75:143"}]}},{"expression":{"id":81408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81397,"name":"totalQFVotesAdjustment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81323,"src":"8742:22:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":81399,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"8784:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},{"id":81400,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"8787:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":81401,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81276,"src":"8796:4:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":81403,"indexExpression":{"id":81402,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8801:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8796:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":81404,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81279,"src":"8805:7:143","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":81406,"indexExpression":{"id":81405,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8813:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8805:10:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":81398,"name":"_processAppVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81623,"src":"8768:15:143","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer,uint256,bytes32,uint256) returns (uint256)"}},"id":81407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8768:48:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8742:74:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81409,"nodeType":"ExpressionStatement","src":"8742:74:143"},{"expression":{"id":81423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81410,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"8893:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8895:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"8893:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81414,"indexExpression":{"id":81412,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"8907:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8893:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8916:15:143","memberName":"userVotedForApp","nodeType":"MemberAccess","referencedDeclaration":82913,"src":"8893:38:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes32 => bool))"}},"id":81417,"indexExpression":{"id":81416,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81273,"src":"8932:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8893:45:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":81421,"indexExpression":{"baseExpression":{"id":81418,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81276,"src":"8939:4:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":81420,"indexExpression":{"id":81419,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8944:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8939:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8893:54:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":81422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8950:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8893:61:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81424,"nodeType":"ExpressionStatement","src":"8893:61:143"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81328,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8085:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":81329,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81276,"src":"8089:4:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":81330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8094:6:143","memberName":"length","nodeType":"MemberAccess","src":"8089:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8085:15:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81426,"initializationExpression":{"assignments":[81326],"declarations":[{"constant":false,"id":81326,"mutability":"mutable","name":"i","nameLocation":"8082:1:143","nodeType":"VariableDeclaration","scope":81426,"src":"8074:9:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81325,"name":"uint256","nodeType":"ElementaryTypeName","src":"8074:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81327,"nodeType":"VariableDeclarationStatement","src":"8074:9:143"},"loopExpression":{"expression":{"id":81333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8102:3:143","subExpression":{"id":81332,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81326,"src":"8102:1:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81334,"nodeType":"ExpressionStatement","src":"8102:3:143"},"nodeType":"ForStatement","src":"8069:892:143"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81427,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81320,"src":"9068:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":81428,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"9082:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9084:15:143","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":82925,"src":"9082:17:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9068:31:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81440,"nodeType":"IfStatement","src":"9064:147:143","trueBody":{"id":81439,"nodeType":"Block","src":"9101:110:143","statements":[{"errorCall":{"arguments":[{"expression":{"id":81434,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"9173:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9175:15:143","memberName":"votingThreshold","nodeType":"MemberAccess","referencedDeclaration":82925,"src":"9173:17:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81436,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81320,"src":"9192:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":81431,"name":"IXAllocationVotingGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71124,"src":"9116:26:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IXAllocationVotingGovernor_$71124_$","typeString":"type(contract IXAllocationVotingGovernor)"}},"id":81433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9143:29:143","memberName":"GovernorVotingThresholdNotMet","nodeType":"MemberAccess","referencedDeclaration":70654,"src":"9116:56:143","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":81437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9116:88:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81438,"nodeType":"RevertStatement","src":"9109:95:143"}]}},{"expression":{"id":81448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":81441,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"9456:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9458:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"9456:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81445,"indexExpression":{"id":81443,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"9470:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9456:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9479:12:143","memberName":"totalVotesQF","nodeType":"MemberAccess","referencedDeclaration":82901,"src":"9456:35:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":81447,"name":"totalQFVotesAdjustment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81323,"src":"9495:22:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9456:61:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81449,"nodeType":"ExpressionStatement","src":"9456:61:143"},{"expression":{"id":81457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":81450,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"9549:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9551:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"9549:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81454,"indexExpression":{"id":81452,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"9563:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9549:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9572:10:143","memberName":"totalVotes","nodeType":"MemberAccess","referencedDeclaration":82899,"src":"9549:33:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":81456,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81320,"src":"9586:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9549:48:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81458,"nodeType":"ExpressionStatement","src":"9549:48:143"},{"expression":{"id":81468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81459,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"9641:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81462,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9643:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"9641:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81463,"indexExpression":{"id":81461,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"9655:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9641:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9664:8:143","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":82905,"src":"9641:31:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81466,"indexExpression":{"id":81465,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81273,"src":"9673:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9641:38:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":81467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9682:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"9641:45:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81469,"nodeType":"ExpressionStatement","src":"9641:45:143"},{"expression":{"id":81476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9736:36:143","subExpression":{"expression":{"baseExpression":{"expression":{"id":81470,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"9736:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9738:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"9736:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81474,"indexExpression":{"id":81472,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"9750:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9736:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81475,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9759:11:143","memberName":"totalVoters","nodeType":"MemberAccess","referencedDeclaration":82907,"src":"9736:34:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81477,"nodeType":"ExpressionStatement","src":"9736:36:143"},{"condition":{"id":81482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9835:23:143","subExpression":{"baseExpression":{"expression":{"id":81478,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"9836:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9838:13:143","memberName":"_hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":82918,"src":"9836:15:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81481,"indexExpression":{"id":81480,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81273,"src":"9852:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9836:22:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81492,"nodeType":"IfStatement","src":"9831:73:143","trueBody":{"id":81491,"nodeType":"Block","src":"9860:44:143","statements":[{"expression":{"id":81489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":81483,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81290,"src":"9868:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9870:13:143","memberName":"_hasVotedOnce","nodeType":"MemberAccess","referencedDeclaration":82918,"src":"9868:15:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81487,"indexExpression":{"id":81485,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81273,"src":"9884:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9868:22:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":81488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9893:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"9868:29:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81490,"nodeType":"ExpressionStatement","src":"9868:29:143"}]}},{"assignments":[81494],"declarations":[{"constant":false,"id":81494,"mutability":"mutable","name":"freshnessMultiplier","nameLocation":"10007:19:143","nodeType":"VariableDeclaration","scope":81542,"src":"9999:27:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81493,"name":"uint256","nodeType":"ElementaryTypeName","src":"9999:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81507,"initialValue":{"arguments":[{"id":81497,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81273,"src":"10074:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81498,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"10087:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81499,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81276,"src":"10102:4:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":81500,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81283,"src":"10114:10:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":81503,"name":"contracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81299,"src":"10140:9:143","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":81504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10150:13:143","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":82991,"src":"10140:23:143","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}],"id":81502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10132:7:143","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81501,"name":"address","nodeType":"ElementaryTypeName","src":"10132:7:143","typeDescriptions":{}}},"id":81505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10132:32:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":81495,"name":"FreshnessUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80555,"src":"10029:14:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FreshnessUtils_$80555_$","typeString":"type(library FreshnessUtils)"}},"id":81496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10044:22:143","memberName":"updateAndGetMultiplier","nodeType":"MemberAccess","referencedDeclaration":80443,"src":"10029:37:143","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (address,uint256,bytes32[] memory,uint256,address) returns (uint256)"}},"id":81506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10029:141:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9999:171:143"},{"assignments":[81509],"declarations":[{"constant":false,"id":81509,"mutability":"mutable","name":"rewardWeight","nameLocation":"10184:12:143","nodeType":"VariableDeclaration","scope":81542,"src":"10176:20:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81508,"name":"uint256","nodeType":"ElementaryTypeName","src":"10176:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81516,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81510,"name":"totalWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81320,"src":"10200:11:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":81511,"name":"freshnessMultiplier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81494,"src":"10214:19:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10200:33:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":81513,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10199:35:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3130303030","id":81514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10237:5:143","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10000"},"src":"10199:43:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10176:66:143"},{"assignments":[81518],"declarations":[{"constant":false,"id":81518,"mutability":"mutable","name":"rewardSqrt","nameLocation":"10256:10:143","nodeType":"VariableDeclaration","scope":81542,"src":"10248:18:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81517,"name":"uint256","nodeType":"ElementaryTypeName","src":"10248:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81523,"initialValue":{"arguments":[{"id":81521,"name":"rewardWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81509,"src":"10279:12:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":81519,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"10269:4:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":81520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10274:4:143","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"10269:9:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":81522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10269:23:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10248:44:143"},{"expression":{"arguments":[{"id":81529,"name":"roundStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81283,"src":"10416:10:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81530,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81273,"src":"10428:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81531,"name":"rewardWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81509,"src":"10435:12:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81532,"name":"rewardSqrt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81518,"src":"10449:10:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":81524,"name":"contracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81299,"src":"10379:9:143","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":81527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10389:13:143","memberName":"_voterRewards","nodeType":"MemberAccess","referencedDeclaration":82991,"src":"10379:23:143","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"id":81528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10403:12:143","memberName":"registerVote","nodeType":"MemberAccess","referencedDeclaration":68931,"src":"10379:36:143","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256,uint256) external"}},"id":81533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10379:81:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81534,"nodeType":"ExpressionStatement","src":"10379:81:143"},{"eventCall":{"arguments":[{"id":81536,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81273,"src":"10532:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81537,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81271,"src":"10539:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81538,"name":"apps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81276,"src":"10548:4:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":81539,"name":"weights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81279,"src":"10554:7:143","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":81535,"name":"AllocationVoteCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80929,"src":"10513:18:143","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes32[] memory,uint256[] memory)"}},"id":81540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10513:49:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81541,"nodeType":"EmitStatement","src":"10508:54:143"}]},"documentation":{"id":81269,"nodeType":"StructuredDocumentation","src":"6264:826:143","text":" @notice Counts votes for a given round, applying quadratic funding principles.\n @dev Allows a voter to allocate weights to various apps for a specific voting round.\n Each voter can only vote once per round. Quadratic funding calculates the impact of each vote\n by computing the square root of each individual vote weight and aggregating them.\n @param roundId The identifier of the current voting round\n @param voter The address of the voter casting the votes\n @param apps An array of app identifiers that the voter is allocating votes to\n @param weights An array of vote weights corresponding to each app\n @param voterTotalVotingPower The total voting power available to the voter\n @param roundStart The block number when the round started (used for reward registration)"},"functionSelector":"cdc6ac0c","id":81543,"implemented":true,"kind":"function","modifiers":[],"name":"countVote","nameLocation":"7102:9:143","nodeType":"FunctionDefinition","parameters":{"id":81284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81271,"mutability":"mutable","name":"roundId","nameLocation":"7125:7:143","nodeType":"VariableDeclaration","scope":81543,"src":"7117:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81270,"name":"uint256","nodeType":"ElementaryTypeName","src":"7117:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81273,"mutability":"mutable","name":"voter","nameLocation":"7146:5:143","nodeType":"VariableDeclaration","scope":81543,"src":"7138:13:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81272,"name":"address","nodeType":"ElementaryTypeName","src":"7138:7:143","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81276,"mutability":"mutable","name":"apps","nameLocation":"7174:4:143","nodeType":"VariableDeclaration","scope":81543,"src":"7157:21:143","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":81274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7157:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":81275,"nodeType":"ArrayTypeName","src":"7157:9:143","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":81279,"mutability":"mutable","name":"weights","nameLocation":"7201:7:143","nodeType":"VariableDeclaration","scope":81543,"src":"7184:24:143","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":81277,"name":"uint256","nodeType":"ElementaryTypeName","src":"7184:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81278,"nodeType":"ArrayTypeName","src":"7184:9:143","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":81281,"mutability":"mutable","name":"voterTotalVotingPower","nameLocation":"7222:21:143","nodeType":"VariableDeclaration","scope":81543,"src":"7214:29:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81280,"name":"uint256","nodeType":"ElementaryTypeName","src":"7214:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81283,"mutability":"mutable","name":"roundStart","nameLocation":"7257:10:143","nodeType":"VariableDeclaration","scope":81543,"src":"7249:18:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81282,"name":"uint256","nodeType":"ElementaryTypeName","src":"7249:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7111:160:143"},"returnParameters":{"id":81285,"nodeType":"ParameterList","parameters":[],"src":"7281:0:143"},"scope":81679,"src":"7093:3474:143","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":81622,"nodeType":"Block","src":"10861:1267:143","statements":[{"assignments":[81559],"declarations":[{"constant":false,"id":81559,"mutability":"mutable","name":"qfAppVotesPreVote","nameLocation":"11040:17:143","nodeType":"VariableDeclaration","scope":81622,"src":"11032:25:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81558,"name":"uint256","nodeType":"ElementaryTypeName","src":"11032:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81567,"initialValue":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81560,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81547,"src":"11060:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11062:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"11060:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81563,"indexExpression":{"id":81562,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81549,"src":"11074:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11060:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81564,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11083:15:143","memberName":"votesReceivedQF","nodeType":"MemberAccess","referencedDeclaration":82897,"src":"11060:38:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":81566,"indexExpression":{"id":81565,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81551,"src":"11099:5:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11060:45:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11032:73:143"},{"assignments":[81569],"declarations":[{"constant":false,"id":81569,"mutability":"mutable","name":"newQFVotes","nameLocation":"11333:10:143","nodeType":"VariableDeclaration","scope":81622,"src":"11325:18:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81568,"name":"uint256","nodeType":"ElementaryTypeName","src":"11325:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81581,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81570,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"11346:6:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":81571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11355:4:143","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"11346:13:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81577,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"11382:6:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"316539","id":81578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11391:3:143","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1e9"},"src":"11382:12:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11346:48:143","trueExpression":{"arguments":[{"id":81575,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"11372:6:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":81573,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"11362:4:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$7015_$","typeString":"type(library Math)"}},"id":81574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11367:4:143","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":6504,"src":"11362:9:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":81576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11362:17:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11325:69:143"},{"assignments":[81583],"declarations":[{"constant":false,"id":81583,"mutability":"mutable","name":"qfAppVotesPostVote","nameLocation":"11501:18:143","nodeType":"VariableDeclaration","scope":81622,"src":"11493:26:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81582,"name":"uint256","nodeType":"ElementaryTypeName","src":"11493:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81587,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81584,"name":"qfAppVotesPreVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"11522:17:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":81585,"name":"newQFVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"11542:10:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11522:30:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11493:59:143"},{"expression":{"id":81598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81588,"name":"qfAdjustment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81556,"src":"11727:12:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81589,"name":"qfAppVotesPostVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"11743:18:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":81590,"name":"qfAppVotesPostVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"11764:18:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11743:39:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":81592,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11742:41:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81593,"name":"qfAppVotesPreVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"11787:17:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":81594,"name":"qfAppVotesPreVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"11807:17:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11787:37:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":81596,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11786:39:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11742:83:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11727:98:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81599,"nodeType":"ExpressionStatement","src":"11727:98:143"},{"expression":{"id":81609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81600,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81547,"src":"11947:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11949:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"11947:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81604,"indexExpression":{"id":81602,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81549,"src":"11961:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11947:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11970:15:143","memberName":"votesReceivedQF","nodeType":"MemberAccess","referencedDeclaration":82897,"src":"11947:38:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":81607,"indexExpression":{"id":81606,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81551,"src":"11986:5:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11947:45:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81608,"name":"qfAppVotesPostVote","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"11995:18:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11947:66:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81610,"nodeType":"ExpressionStatement","src":"11947:66:143"},{"expression":{"id":81620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":81611,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81547,"src":"12070:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12072:11:143","memberName":"_roundVotes","nodeType":"MemberAccess","referencedDeclaration":82923,"src":"12070:13:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote storage ref)"}},"id":81615,"indexExpression":{"id":81613,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81549,"src":"12084:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12070:22:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage","typeString":"struct XAllocationVotingStorageTypes.RoundVote storage ref"}},"id":81616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12093:13:143","memberName":"votesReceived","nodeType":"MemberAccess","referencedDeclaration":82893,"src":"12070:36:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":81618,"indexExpression":{"id":81617,"name":"appId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81551,"src":"12107:5:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12070:43:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":81619,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"12117:6:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12070:53:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81621,"nodeType":"ExpressionStatement","src":"12070:53:143"}]},"documentation":{"id":81544,"nodeType":"StructuredDocumentation","src":"10571:88:143","text":"@dev Process a single app vote: update QF and raw vote storage, return QF adjustment"},"id":81623,"implemented":true,"kind":"function","modifiers":[],"name":"_processAppVote","nameLocation":"10671:15:143","nodeType":"FunctionDefinition","parameters":{"id":81554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81547,"mutability":"mutable","name":"$","nameLocation":"10756:1:143","nodeType":"VariableDeclaration","scope":81623,"src":"10692:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81546,"nodeType":"UserDefinedTypeName","pathNode":{"id":81545,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["10692:29:143","10722:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"10692:55:143"},"referencedDeclaration":82940,"src":"10692:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"},{"constant":false,"id":81549,"mutability":"mutable","name":"roundId","nameLocation":"10771:7:143","nodeType":"VariableDeclaration","scope":81623,"src":"10763:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81548,"name":"uint256","nodeType":"ElementaryTypeName","src":"10763:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81551,"mutability":"mutable","name":"appId","nameLocation":"10792:5:143","nodeType":"VariableDeclaration","scope":81623,"src":"10784:13:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10784:7:143","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":81553,"mutability":"mutable","name":"weight","nameLocation":"10811:6:143","nodeType":"VariableDeclaration","scope":81623,"src":"10803:14:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81552,"name":"uint256","nodeType":"ElementaryTypeName","src":"10803:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10686:135:143"},"returnParameters":{"id":81557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81556,"mutability":"mutable","name":"qfAdjustment","nameLocation":"10847:12:143","nodeType":"VariableDeclaration","scope":81623,"src":"10839:20:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81555,"name":"uint256","nodeType":"ElementaryTypeName","src":"10839:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10838:22:143"},"scope":81679,"src":"10662:1466:143","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":81649,"nodeType":"Block","src":"12377:199:143","statements":[{"assignments":[81637],"declarations":[{"constant":false,"id":81637,"mutability":"mutable","name":"$","nameLocation":"12447:1:143","nodeType":"VariableDeclaration","scope":81649,"src":"12383:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81636,"nodeType":"UserDefinedTypeName","pathNode":{"id":81635,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["12383:29:143","12413:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"12383:55:143"},"referencedDeclaration":82940,"src":"12383:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81641,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81638,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"12451:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12488:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"12451:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12451:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12383:136:143"},{"expression":{"baseExpression":{"baseExpression":{"expression":{"id":81642,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81637,"src":"12532:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12534:21:143","memberName":"_relayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":82939,"src":"12532:23:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(address => bool))"}},"id":81645,"indexExpression":{"id":81644,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81626,"src":"12556:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12532:32:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81647,"indexExpression":{"id":81646,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81628,"src":"12565:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12532:39:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":81632,"id":81648,"nodeType":"Return","src":"12525:46:143"}]},"documentation":{"id":81624,"nodeType":"StructuredDocumentation","src":"12187:94:143","text":"@notice Check if a relayer-mediated vote has already been processed for a voter in a round"},"id":81650,"implemented":true,"kind":"function","modifiers":[],"name":"isRelayerVoteProcessed","nameLocation":"12293:22:143","nodeType":"FunctionDefinition","parameters":{"id":81629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81626,"mutability":"mutable","name":"roundId","nameLocation":"12324:7:143","nodeType":"VariableDeclaration","scope":81650,"src":"12316:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81625,"name":"uint256","nodeType":"ElementaryTypeName","src":"12316:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81628,"mutability":"mutable","name":"voter","nameLocation":"12341:5:143","nodeType":"VariableDeclaration","scope":81650,"src":"12333:13:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81627,"name":"address","nodeType":"ElementaryTypeName","src":"12333:7:143","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12315:32:143"},"returnParameters":{"id":81632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81650,"src":"12371:4:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81630,"name":"bool","nodeType":"ElementaryTypeName","src":"12371:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12370:6:143"},"scope":81679,"src":"12284:292:143","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":81677,"nodeType":"Block","src":"12734:199:143","statements":[{"assignments":[81662],"declarations":[{"constant":false,"id":81662,"mutability":"mutable","name":"$","nameLocation":"12804:1:143","nodeType":"VariableDeclaration","scope":81677,"src":"12740:65:143","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":81661,"nodeType":"UserDefinedTypeName","pathNode":{"id":81660,"name":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","nameLocations":["12740:29:143","12770:25:143"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"12740:55:143"},"referencedDeclaration":82940,"src":"12740:55:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"id":81666,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81663,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"12808:29:143","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12845:29:143","memberName":"_getRoundVotesCountingStorage","nodeType":"MemberAccess","referencedDeclaration":83058,"src":"12808:66:143","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundVotesCountingStorage_$82940_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer)"}},"id":81665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12808:68:143","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12740:136:143"},{"expression":{"id":81675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"expression":{"id":81667,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81662,"src":"12882:1:143","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage storage pointer"}},"id":81671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12884:21:143","memberName":"_relayerVoteProcessed","nodeType":"MemberAccess","referencedDeclaration":82939,"src":"12882:23:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(address => bool))"}},"id":81672,"indexExpression":{"id":81669,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81653,"src":"12906:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12882:32:143","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81673,"indexExpression":{"id":81670,"name":"voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81655,"src":"12915:5:143","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12882:39:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":81674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12924:4:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"12882:46:143","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81676,"nodeType":"ExpressionStatement","src":"12882:46:143"}]},"documentation":{"id":81651,"nodeType":"StructuredDocumentation","src":"12580:76:143","text":"@notice Mark a relayer-mediated vote as processed for a voter in a round"},"functionSelector":"6eafa5f6","id":81678,"implemented":true,"kind":"function","modifiers":[],"name":"markRelayerVoteProcessed","nameLocation":"12668:24:143","nodeType":"FunctionDefinition","parameters":{"id":81656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81653,"mutability":"mutable","name":"roundId","nameLocation":"12701:7:143","nodeType":"VariableDeclaration","scope":81678,"src":"12693:15:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81652,"name":"uint256","nodeType":"ElementaryTypeName","src":"12693:7:143","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81655,"mutability":"mutable","name":"voter","nameLocation":"12718:5:143","nodeType":"VariableDeclaration","scope":81678,"src":"12710:13:143","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81654,"name":"address","nodeType":"ElementaryTypeName","src":"12710:7:143","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12692:32:143"},"returnParameters":{"id":81657,"nodeType":"ParameterList","parameters":[],"src":"12734:0:143"},"scope":81679,"src":"12659:274:143","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":81680,"src":"595:12340:143","usedErrors":[70617,70647,70654,70657,80932],"usedEvents":[80916,80929]}],"src":"32:12904:143"},"id":143},"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol","exportedSymbols":{"IX2EarnApps":[69989],"RoundsStorageUtils":[82091],"SafeCast":[8770],"X2EarnAppsDataTypes":[71147],"XAllocationVotingStorageTypes":[83099]},"id":82092,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":81681,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:144"},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":81683,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82092,"sourceUnit":83100,"src":"57:84:144","symbolAliases":[{"foreign":{"id":81682,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"66:29:144","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":81685,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82092,"sourceUnit":8771,"src":"142:75:144","symbolAliases":[{"foreign":{"id":81684,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"151:8:144","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/libraries/X2EarnAppsDataTypes.sol","file":"../../libraries/X2EarnAppsDataTypes.sol","id":81687,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82092,"sourceUnit":71148,"src":"218:78:144","symbolAliases":[{"foreign":{"id":81686,"name":"X2EarnAppsDataTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71147,"src":"227:19:144","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../interfaces/IX2EarnApps.sol","id":81689,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82092,"sourceUnit":69990,"src":"297:63:144","symbolAliases":[{"foreign":{"id":81688,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"306:11:144","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"RoundsStorageUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":81690,"nodeType":"StructuredDocumentation","src":"362:274:144","text":" @title RoundsStorageUtils\n @notice Library for round lifecycle storage operations.\n @dev Handles round creation and read access. Does NOT orchestrate external calls\n (finalization, earnings snapshots, relayer rewards) — the caller is responsible for that."},"fullyImplemented":true,"id":82091,"linearizedBaseContracts":[82091],"name":"RoundsStorageUtils","nameLocation":"645:18:144","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":81691,"nodeType":"StructuredDocumentation","src":"668:44:144","text":"@dev Emitted when a new round is created"},"eventSelector":"ed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c8","id":81704,"name":"RoundCreated","nameLocation":"721:12:144","nodeType":"EventDefinition","parameters":{"id":81703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81693,"indexed":false,"mutability":"mutable","name":"roundId","nameLocation":"747:7:144","nodeType":"VariableDeclaration","scope":81704,"src":"739:15:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81692,"name":"uint256","nodeType":"ElementaryTypeName","src":"739:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81695,"indexed":false,"mutability":"mutable","name":"proposer","nameLocation":"768:8:144","nodeType":"VariableDeclaration","scope":81704,"src":"760:16:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81694,"name":"address","nodeType":"ElementaryTypeName","src":"760:7:144","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81697,"indexed":false,"mutability":"mutable","name":"voteStart","nameLocation":"790:9:144","nodeType":"VariableDeclaration","scope":81704,"src":"782:17:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81696,"name":"uint256","nodeType":"ElementaryTypeName","src":"782:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81699,"indexed":false,"mutability":"mutable","name":"voteEnd","nameLocation":"813:7:144","nodeType":"VariableDeclaration","scope":81704,"src":"805:15:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81698,"name":"uint256","nodeType":"ElementaryTypeName","src":"805:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81702,"indexed":false,"mutability":"mutable","name":"appsIds","nameLocation":"836:7:144","nodeType":"VariableDeclaration","scope":81704,"src":"826:17:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":81700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"826:7:144","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":81701,"nodeType":"ArrayTypeName","src":"826:9:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"733:114:144"},"src":"715:133:144"},{"body":{"id":81792,"nodeType":"Block","src":"1520:646:144","statements":[{"assignments":[81723],"declarations":[{"constant":false,"id":81723,"mutability":"mutable","name":"$","nameLocation":"1585:1:144","nodeType":"VariableDeclaration","scope":81792,"src":"1526:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":81722,"nodeType":"UserDefinedTypeName","pathNode":{"id":81721,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["1526:29:144","1556:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"1526:50:144"},"referencedDeclaration":82982,"src":"1526:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":81727,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81724,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1589:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1626:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"1589:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":81726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1589:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1526:126:144"},{"expression":{"id":81730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"1659:15:144","subExpression":{"expression":{"id":81728,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81723,"src":"1661:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81729,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1663:11:144","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":82971,"src":"1661:13:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81731,"nodeType":"ExpressionStatement","src":"1659:15:144"},{"expression":{"id":81735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81732,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81717,"src":"1680:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81733,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81723,"src":"1690:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1692:11:144","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":82971,"src":"1690:13:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1680:23:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81736,"nodeType":"ExpressionStatement","src":"1680:23:144"},{"assignments":[81741],"declarations":[{"constant":false,"id":81741,"mutability":"mutable","name":"round","nameLocation":"1758:5:144","nodeType":"VariableDeclaration","scope":81792,"src":"1710:53:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore"},"typeName":{"id":81740,"nodeType":"UserDefinedTypeName","pathNode":{"id":81739,"name":"XAllocationVotingStorageTypes.RoundCore","nameLocations":["1710:29:144","1740:9:144"],"nodeType":"IdentifierPath","referencedDeclaration":82969,"src":"1710:39:144"},"referencedDeclaration":82969,"src":"1710:39:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore"}},"visibility":"internal"}],"id":81746,"initialValue":{"baseExpression":{"expression":{"id":81742,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81723,"src":"1766:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1768:7:144","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":82976,"src":"1766:9:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore storage ref)"}},"id":81745,"indexExpression":{"id":81744,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81717,"src":"1776:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1766:18:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1710:74:144"},{"expression":{"id":81751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":81747,"name":"round","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81741,"src":"1790:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage pointer"}},"id":81749,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1796:8:144","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":82964,"src":"1790:14:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81750,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81707,"src":"1807:8:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1790:25:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81752,"nodeType":"ExpressionStatement","src":"1790:25:144"},{"expression":{"id":81760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":81753,"name":"round","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81741,"src":"1821:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage pointer"}},"id":81755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1827:9:144","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":82966,"src":"1821:15:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":81758,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81709,"src":"1857:5:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":81756,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1839:8:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":81757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1848:8:144","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"1839:17:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":81759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1839:24:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"1821:42:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":81761,"nodeType":"ExpressionStatement","src":"1821:42:144"},{"expression":{"id":81766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":81762,"name":"round","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81741,"src":"1869:5:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage pointer"}},"id":81764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1875:12:144","memberName":"voteDuration","nodeType":"MemberAccess","referencedDeclaration":82968,"src":"1869:18:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81765,"name":"votingPeriodDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81711,"src":"1890:20:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"1869:41:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":81767,"nodeType":"ExpressionStatement","src":"1869:41:144"},{"expression":{"id":81774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":81768,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81723,"src":"2001:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2003:22:144","memberName":"_appsEligibleForVoting","nodeType":"MemberAccess","referencedDeclaration":82981,"src":"2001:24:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[] storage ref)"}},"id":81772,"indexExpression":{"id":81770,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81717,"src":"2026:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2001:33:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81773,"name":"eligibleApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81714,"src":"2037:12:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"2001:48:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":81775,"nodeType":"ExpressionStatement","src":"2001:48:144"},{"eventCall":{"arguments":[{"id":81777,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81717,"src":"2074:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81778,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81707,"src":"2083:8:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81779,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81709,"src":"2093:5:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":81782,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81709,"src":"2108:5:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":81781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2100:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":81780,"name":"uint256","nodeType":"ElementaryTypeName","src":"2100:7:144","typeDescriptions":{}}},"id":81783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2100:14:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":81786,"name":"votingPeriodDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81711,"src":"2125:20:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":81785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2117:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":81784,"name":"uint256","nodeType":"ElementaryTypeName","src":"2117:7:144","typeDescriptions":{}}},"id":81787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2117:29:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2100:46:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81789,"name":"eligibleApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81714,"src":"2148:12:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":81776,"name":"RoundCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81704,"src":"2061:12:144","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address,uint256,uint256,bytes32[] memory)"}},"id":81790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2061:100:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81791,"nodeType":"EmitStatement","src":"2056:105:144"}]},"documentation":{"id":81705,"nodeType":"StructuredDocumentation","src":"885:464:144","text":" @dev Create a new round. Increments round count, stores RoundCore, and emits RoundCreated.\n Does NOT finalize the previous round, snapshot earnings, or call external contracts.\n @param proposer The address of the proposer\n @param clock The current clock value (block number / timestamp)\n @param votingPeriodDuration The duration of the voting period\n @return roundId The id of the new round\n Emits a {RoundCreated} event"},"functionSelector":"7ad59a23","id":81793,"implemented":true,"kind":"function","modifiers":[],"name":"createRound","nameLocation":"1361:11:144","nodeType":"FunctionDefinition","parameters":{"id":81715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81707,"mutability":"mutable","name":"proposer","nameLocation":"1386:8:144","nodeType":"VariableDeclaration","scope":81793,"src":"1378:16:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81706,"name":"address","nodeType":"ElementaryTypeName","src":"1378:7:144","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81709,"mutability":"mutable","name":"clock","nameLocation":"1407:5:144","nodeType":"VariableDeclaration","scope":81793,"src":"1400:12:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":81708,"name":"uint48","nodeType":"ElementaryTypeName","src":"1400:6:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":81711,"mutability":"mutable","name":"votingPeriodDuration","nameLocation":"1425:20:144","nodeType":"VariableDeclaration","scope":81793,"src":"1418:27:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":81710,"name":"uint32","nodeType":"ElementaryTypeName","src":"1418:6:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":81714,"mutability":"mutable","name":"eligibleApps","nameLocation":"1468:12:144","nodeType":"VariableDeclaration","scope":81793,"src":"1451:29:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":81712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1451:7:144","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":81713,"nodeType":"ArrayTypeName","src":"1451:9:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1372:112:144"},"returnParameters":{"id":81718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81717,"mutability":"mutable","name":"roundId","nameLocation":"1511:7:144","nodeType":"VariableDeclaration","scope":81793,"src":"1503:15:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81716,"name":"uint256","nodeType":"ElementaryTypeName","src":"1503:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1502:17:144"},"scope":82091,"src":"1352:814:144","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":81811,"nodeType":"Block","src":"2308:163:144","statements":[{"assignments":[81803],"declarations":[{"constant":false,"id":81803,"mutability":"mutable","name":"$","nameLocation":"2373:1:144","nodeType":"VariableDeclaration","scope":81811,"src":"2314:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":81802,"nodeType":"UserDefinedTypeName","pathNode":{"id":81801,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["2314:29:144","2344:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"2314:50:144"},"referencedDeclaration":82982,"src":"2314:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":81807,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81804,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2377:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2414:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"2377:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":81806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2377:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2314:126:144"},{"expression":{"expression":{"id":81808,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81803,"src":"2453:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2455:11:144","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":82971,"src":"2453:13:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":81798,"id":81810,"nodeType":"Return","src":"2446:20:144"}]},"documentation":{"id":81794,"nodeType":"StructuredDocumentation","src":"2203:44:144","text":" @dev Get the current round id"},"functionSelector":"9cbe5efd","id":81812,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundId","nameLocation":"2259:14:144","nodeType":"FunctionDefinition","parameters":{"id":81795,"nodeType":"ParameterList","parameters":[],"src":"2273:2:144"},"returnParameters":{"id":81798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81797,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81812,"src":"2299:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81796,"name":"uint256","nodeType":"ElementaryTypeName","src":"2299:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2298:9:144"},"scope":82091,"src":"2250:221:144","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81838,"nodeType":"Block","src":"2595:205:144","statements":[{"assignments":[81822],"declarations":[{"constant":false,"id":81822,"mutability":"mutable","name":"$","nameLocation":"2660:1:144","nodeType":"VariableDeclaration","scope":81838,"src":"2601:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":81821,"nodeType":"UserDefinedTypeName","pathNode":{"id":81820,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["2601:29:144","2631:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"2601:50:144"},"referencedDeclaration":82982,"src":"2601:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":81826,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81823,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2664:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2701:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"2664:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":81825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2664:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2601:126:144"},{"assignments":[81828],"declarations":[{"constant":false,"id":81828,"mutability":"mutable","name":"id","nameLocation":"2741:2:144","nodeType":"VariableDeclaration","scope":81838,"src":"2733:10:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81827,"name":"uint256","nodeType":"ElementaryTypeName","src":"2733:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81831,"initialValue":{"expression":{"id":81829,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81822,"src":"2746:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2748:11:144","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":82971,"src":"2746:13:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2733:26:144"},{"expression":{"expression":{"baseExpression":{"expression":{"id":81832,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81822,"src":"2772:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81833,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2774:7:144","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":82976,"src":"2772:9:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore storage ref)"}},"id":81835,"indexExpression":{"id":81834,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81828,"src":"2782:2:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2772:13:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage ref"}},"id":81836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2786:9:144","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":82966,"src":"2772:23:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":81817,"id":81837,"nodeType":"Return","src":"2765:30:144"}]},"documentation":{"id":81813,"nodeType":"StructuredDocumentation","src":"2475:53:144","text":" @dev Get the current round start block"},"functionSelector":"561b64ef","id":81839,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundSnapshot","nameLocation":"2540:20:144","nodeType":"FunctionDefinition","parameters":{"id":81814,"nodeType":"ParameterList","parameters":[],"src":"2560:2:144"},"returnParameters":{"id":81817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81839,"src":"2586:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81815,"name":"uint256","nodeType":"ElementaryTypeName","src":"2586:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2585:9:144"},"scope":82091,"src":"2531:269:144","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81877,"nodeType":"Block","src":"2927:252:144","statements":[{"assignments":[81849],"declarations":[{"constant":false,"id":81849,"mutability":"mutable","name":"$","nameLocation":"2992:1:144","nodeType":"VariableDeclaration","scope":81877,"src":"2933:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":81848,"nodeType":"UserDefinedTypeName","pathNode":{"id":81847,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["2933:29:144","2963:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"2933:50:144"},"referencedDeclaration":82982,"src":"2933:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":81853,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81850,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2996:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3033:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"2996:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":81852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2996:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2933:126:144"},{"assignments":[81855],"declarations":[{"constant":false,"id":81855,"mutability":"mutable","name":"id","nameLocation":"3073:2:144","nodeType":"VariableDeclaration","scope":81877,"src":"3065:10:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81854,"name":"uint256","nodeType":"ElementaryTypeName","src":"3065:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81858,"initialValue":{"expression":{"id":81856,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81849,"src":"3078:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81857,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3080:11:144","memberName":"_roundCount","nodeType":"MemberAccess","referencedDeclaration":82971,"src":"3078:13:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3065:26:144"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"expression":{"id":81861,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81849,"src":"3112:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3114:7:144","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":82976,"src":"3112:9:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore storage ref)"}},"id":81864,"indexExpression":{"id":81863,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81855,"src":"3122:2:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3112:13:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage ref"}},"id":81865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3126:9:144","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":82966,"src":"3112:23:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":81860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3104:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":81859,"name":"uint256","nodeType":"ElementaryTypeName","src":"3104:7:144","typeDescriptions":{}}},"id":81866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3104:32:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"expression":{"baseExpression":{"expression":{"id":81869,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81849,"src":"3147:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81870,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3149:7:144","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":82976,"src":"3147:9:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore storage ref)"}},"id":81872,"indexExpression":{"id":81871,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81855,"src":"3157:2:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3147:13:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage ref"}},"id":81873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3161:12:144","memberName":"voteDuration","nodeType":"MemberAccess","referencedDeclaration":82968,"src":"3147:26:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":81868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3139:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":81867,"name":"uint256","nodeType":"ElementaryTypeName","src":"3139:7:144","typeDescriptions":{}}},"id":81874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3139:35:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3104:70:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":81844,"id":81876,"nodeType":"Return","src":"3097:77:144"}]},"documentation":{"id":81840,"nodeType":"StructuredDocumentation","src":"2804:56:144","text":" @dev Get the current round deadline block"},"functionSelector":"59372812","id":81878,"implemented":true,"kind":"function","modifiers":[],"name":"currentRoundDeadline","nameLocation":"2872:20:144","nodeType":"FunctionDefinition","parameters":{"id":81841,"nodeType":"ParameterList","parameters":[],"src":"2892:2:144"},"returnParameters":{"id":81844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81878,"src":"2918:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81842,"name":"uint256","nodeType":"ElementaryTypeName","src":"2918:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2917:9:144"},"scope":82091,"src":"2863:316:144","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81901,"nodeType":"Block","src":"3308:178:144","statements":[{"assignments":[81890],"declarations":[{"constant":false,"id":81890,"mutability":"mutable","name":"$","nameLocation":"3373:1:144","nodeType":"VariableDeclaration","scope":81901,"src":"3314:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":81889,"nodeType":"UserDefinedTypeName","pathNode":{"id":81888,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["3314:29:144","3344:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"3314:50:144"},"referencedDeclaration":82982,"src":"3314:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":81894,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81891,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3377:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3414:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"3377:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":81893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3314:126:144"},{"expression":{"expression":{"baseExpression":{"expression":{"id":81895,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81890,"src":"3453:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81896,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3455:7:144","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":82976,"src":"3453:9:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore storage ref)"}},"id":81898,"indexExpression":{"id":81897,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81881,"src":"3463:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3453:18:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage ref"}},"id":81899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3472:9:144","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":82966,"src":"3453:28:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":81885,"id":81900,"nodeType":"Return","src":"3446:35:144"}]},"documentation":{"id":81879,"nodeType":"StructuredDocumentation","src":"3183:50:144","text":" @dev Get the start block of a round"},"functionSelector":"d06efeda","id":81902,"implemented":true,"kind":"function","modifiers":[],"name":"roundSnapshot","nameLocation":"3245:13:144","nodeType":"FunctionDefinition","parameters":{"id":81882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81881,"mutability":"mutable","name":"roundId","nameLocation":"3267:7:144","nodeType":"VariableDeclaration","scope":81902,"src":"3259:15:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81880,"name":"uint256","nodeType":"ElementaryTypeName","src":"3259:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3258:17:144"},"returnParameters":{"id":81885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81902,"src":"3299:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81883,"name":"uint256","nodeType":"ElementaryTypeName","src":"3299:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3298:9:144"},"scope":82091,"src":"3236:250:144","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81937,"nodeType":"Block","src":"3618:230:144","statements":[{"assignments":[81914],"declarations":[{"constant":false,"id":81914,"mutability":"mutable","name":"$","nameLocation":"3683:1:144","nodeType":"VariableDeclaration","scope":81937,"src":"3624:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":81913,"nodeType":"UserDefinedTypeName","pathNode":{"id":81912,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["3624:29:144","3654:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"3624:50:144"},"referencedDeclaration":82982,"src":"3624:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":81918,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81915,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3687:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3724:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"3687:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":81917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3687:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3624:126:144"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"expression":{"id":81921,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81914,"src":"3771:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3773:7:144","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":82976,"src":"3771:9:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore storage ref)"}},"id":81924,"indexExpression":{"id":81923,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81905,"src":"3781:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3771:18:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage ref"}},"id":81925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3790:9:144","memberName":"voteStart","nodeType":"MemberAccess","referencedDeclaration":82966,"src":"3771:28:144","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":81920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3763:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":81919,"name":"uint256","nodeType":"ElementaryTypeName","src":"3763:7:144","typeDescriptions":{}}},"id":81926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3763:37:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"expression":{"baseExpression":{"expression":{"id":81929,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81914,"src":"3811:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3813:7:144","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":82976,"src":"3811:9:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore storage ref)"}},"id":81932,"indexExpression":{"id":81931,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81905,"src":"3821:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3811:18:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage ref"}},"id":81933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3830:12:144","memberName":"voteDuration","nodeType":"MemberAccess","referencedDeclaration":82968,"src":"3811:31:144","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":81928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3803:7:144","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":81927,"name":"uint256","nodeType":"ElementaryTypeName","src":"3803:7:144","typeDescriptions":{}}},"id":81934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3803:40:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3763:80:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":81909,"id":81936,"nodeType":"Return","src":"3756:87:144"}]},"documentation":{"id":81903,"nodeType":"StructuredDocumentation","src":"3490:53:144","text":" @dev Get the deadline block of a round"},"functionSelector":"d3a368bd","id":81938,"implemented":true,"kind":"function","modifiers":[],"name":"roundDeadline","nameLocation":"3555:13:144","nodeType":"FunctionDefinition","parameters":{"id":81906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81905,"mutability":"mutable","name":"roundId","nameLocation":"3577:7:144","nodeType":"VariableDeclaration","scope":81938,"src":"3569:15:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81904,"name":"uint256","nodeType":"ElementaryTypeName","src":"3569:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3568:17:144"},"returnParameters":{"id":81909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81908,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81938,"src":"3609:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81907,"name":"uint256","nodeType":"ElementaryTypeName","src":"3609:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3608:9:144"},"scope":82091,"src":"3546:302:144","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81961,"nodeType":"Block","src":"3974:177:144","statements":[{"assignments":[81950],"declarations":[{"constant":false,"id":81950,"mutability":"mutable","name":"$","nameLocation":"4039:1:144","nodeType":"VariableDeclaration","scope":81961,"src":"3980:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":81949,"nodeType":"UserDefinedTypeName","pathNode":{"id":81948,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["3980:29:144","4010:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"3980:50:144"},"referencedDeclaration":82982,"src":"3980:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":81954,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81951,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4043:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4080:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"4043:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":81953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4043:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3980:126:144"},{"expression":{"expression":{"baseExpression":{"expression":{"id":81955,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81950,"src":"4119:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4121:7:144","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":82976,"src":"4119:9:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore storage ref)"}},"id":81958,"indexExpression":{"id":81957,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81941,"src":"4129:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4119:18:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage ref"}},"id":81959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4138:8:144","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":82964,"src":"4119:27:144","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":81945,"id":81960,"nodeType":"Return","src":"4112:34:144"}]},"documentation":{"id":81939,"nodeType":"StructuredDocumentation","src":"3852:47:144","text":" @dev Get the proposer of a round"},"functionSelector":"5320a147","id":81962,"implemented":true,"kind":"function","modifiers":[],"name":"roundProposer","nameLocation":"3911:13:144","nodeType":"FunctionDefinition","parameters":{"id":81942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81941,"mutability":"mutable","name":"roundId","nameLocation":"3933:7:144","nodeType":"VariableDeclaration","scope":81962,"src":"3925:15:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81940,"name":"uint256","nodeType":"ElementaryTypeName","src":"3925:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3924:17:144"},"returnParameters":{"id":81945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81944,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81962,"src":"3965:7:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81943,"name":"address","nodeType":"ElementaryTypeName","src":"3965:7:144","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3964:9:144"},"scope":82091,"src":"3902:249:144","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":81985,"nodeType":"Block","src":"4316:183:144","statements":[{"assignments":[81975],"declarations":[{"constant":false,"id":81975,"mutability":"mutable","name":"$","nameLocation":"4381:1:144","nodeType":"VariableDeclaration","scope":81985,"src":"4322:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":81974,"nodeType":"UserDefinedTypeName","pathNode":{"id":81973,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["4322:29:144","4352:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"4322:50:144"},"referencedDeclaration":82982,"src":"4322:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":81979,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81976,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4385:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":81977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"4385:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":81978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4322:126:144"},{"expression":{"baseExpression":{"expression":{"id":81980,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81975,"src":"4461:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":81981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4463:22:144","memberName":"_appsEligibleForVoting","nodeType":"MemberAccess","referencedDeclaration":82981,"src":"4461:24:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[] storage ref)"}},"id":81983,"indexExpression":{"id":81982,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81965,"src":"4486:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4461:33:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"functionReturnParameters":81970,"id":81984,"nodeType":"Return","src":"4454:40:144"}]},"documentation":{"id":81963,"nodeType":"StructuredDocumentation","src":"4155:74:144","text":" @dev Get the ids of the apps eligible for voting in a round"},"functionSelector":"7ace2485","id":81986,"implemented":true,"kind":"function","modifiers":[],"name":"getAppIdsOfRound","nameLocation":"4241:16:144","nodeType":"FunctionDefinition","parameters":{"id":81966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81965,"mutability":"mutable","name":"roundId","nameLocation":"4266:7:144","nodeType":"VariableDeclaration","scope":81986,"src":"4258:15:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81964,"name":"uint256","nodeType":"ElementaryTypeName","src":"4258:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4257:17:144"},"returnParameters":{"id":81970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81986,"src":"4298:16:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":81967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4298:7:144","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":81968,"nodeType":"ArrayTypeName","src":"4298:9:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4297:18:144"},"scope":82091,"src":"4232:267:144","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":82009,"nodeType":"Block","src":"4655:168:144","statements":[{"assignments":[81999],"declarations":[{"constant":false,"id":81999,"mutability":"mutable","name":"$","nameLocation":"4720:1:144","nodeType":"VariableDeclaration","scope":82009,"src":"4661:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":81998,"nodeType":"UserDefinedTypeName","pathNode":{"id":81997,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["4661:29:144","4691:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"4661:50:144"},"referencedDeclaration":82982,"src":"4661:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":82003,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82000,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4724:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4761:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"4724:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":82002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4724:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4661:126:144"},{"expression":{"baseExpression":{"expression":{"id":82004,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81999,"src":"4800:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":82005,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4802:7:144","memberName":"_rounds","nodeType":"MemberAccess","referencedDeclaration":82976,"src":"4800:9:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore storage ref)"}},"id":82007,"indexExpression":{"id":82006,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81989,"src":"4810:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4800:18:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage","typeString":"struct XAllocationVotingStorageTypes.RoundCore storage ref"}},"functionReturnParameters":81994,"id":82008,"nodeType":"Return","src":"4793:25:144"}]},"documentation":{"id":81987,"nodeType":"StructuredDocumentation","src":"4503:43:144","text":" @dev Get the data of a round"},"functionSelector":"8f1327c0","id":82010,"implemented":true,"kind":"function","modifiers":[],"name":"getRound","nameLocation":"4558:8:144","nodeType":"FunctionDefinition","parameters":{"id":81990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81989,"mutability":"mutable","name":"roundId","nameLocation":"4575:7:144","nodeType":"VariableDeclaration","scope":82010,"src":"4567:15:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81988,"name":"uint256","nodeType":"ElementaryTypeName","src":"4567:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4566:17:144"},"returnParameters":{"id":81994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81993,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82010,"src":"4607:46:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_memory_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore"},"typeName":{"id":81992,"nodeType":"UserDefinedTypeName","pathNode":{"id":81991,"name":"XAllocationVotingStorageTypes.RoundCore","nameLocations":["4607:29:144","4637:9:144"],"nodeType":"IdentifierPath","referencedDeclaration":82969,"src":"4607:39:144"},"referencedDeclaration":82969,"src":"4607:39:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore"}},"visibility":"internal"}],"src":"4606:48:144"},"scope":82091,"src":"4549:274:144","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":82089,"nodeType":"Block","src":"5274:622:144","statements":[{"assignments":[82022],"declarations":[{"constant":false,"id":82022,"mutability":"mutable","name":"x2EarnAppsContract","nameLocation":"5292:18:144","nodeType":"VariableDeclaration","scope":82089,"src":"5280:30:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":82021,"nodeType":"UserDefinedTypeName","pathNode":{"id":82020,"name":"IX2EarnApps","nameLocations":["5280:11:144"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"5280:11:144"},"referencedDeclaration":69989,"src":"5280:11:144","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"}],"id":82027,"initialValue":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82023,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"5313:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5343:28:144","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"5313:58:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":82025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5313:60:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":82026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5374:11:144","memberName":"_x2EarnApps","nodeType":"MemberAccess","referencedDeclaration":82985,"src":"5313:72:144","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"nodeType":"VariableDeclarationStatement","src":"5280:105:144"},{"assignments":[82032],"declarations":[{"constant":false,"id":82032,"mutability":"mutable","name":"$","nameLocation":"5450:1:144","nodeType":"VariableDeclaration","scope":82089,"src":"5391:60:144","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":82031,"nodeType":"UserDefinedTypeName","pathNode":{"id":82030,"name":"XAllocationVotingStorageTypes.RoundsStorageStorage","nameLocations":["5391:29:144","5421:20:144"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"5391:50:144"},"referencedDeclaration":82982,"src":"5391:50:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"id":82036,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82033,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"5454:29:144","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5491:24:144","memberName":"_getRoundsStorageStorage","nodeType":"MemberAccess","referencedDeclaration":83082,"src":"5454:61:144","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_RoundsStorageStorage_$82982_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer)"}},"id":82035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5454:63:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5391:126:144"},{"assignments":[82041],"declarations":[{"constant":false,"id":82041,"mutability":"mutable","name":"appsInRound","nameLocation":"5541:11:144","nodeType":"VariableDeclaration","scope":82089,"src":"5524:28:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":82039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5524:7:144","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":82040,"nodeType":"ArrayTypeName","src":"5524:9:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":82046,"initialValue":{"baseExpression":{"expression":{"id":82042,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82032,"src":"5555:1:144","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage storage pointer"}},"id":82043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5557:22:144","memberName":"_appsEligibleForVoting","nodeType":"MemberAccess","referencedDeclaration":82981,"src":"5555:24:144","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[] storage ref)"}},"id":82045,"indexExpression":{"id":82044,"name":"roundId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82013,"src":"5580:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5555:33:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5524:64:144"},{"assignments":[82048],"declarations":[{"constant":false,"id":82048,"mutability":"mutable","name":"length","nameLocation":"5602:6:144","nodeType":"VariableDeclaration","scope":82089,"src":"5594:14:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82047,"name":"uint256","nodeType":"ElementaryTypeName","src":"5594:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82051,"initialValue":{"expression":{"id":82049,"name":"appsInRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82041,"src":"5611:11:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":82050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5623:6:144","memberName":"length","nodeType":"MemberAccess","src":"5611:18:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5594:35:144"},{"assignments":[82057],"declarations":[{"constant":false,"id":82057,"mutability":"mutable","name":"allApps","nameLocation":"5689:7:144","nodeType":"VariableDeclaration","scope":82089,"src":"5635:61:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":82055,"nodeType":"UserDefinedTypeName","pathNode":{"id":82054,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["5635:19:144","5655:24:144"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"5635:44:144"},"referencedDeclaration":71146,"src":"5635:44:144","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":82056,"nodeType":"ArrayTypeName","src":"5635:46:144","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"id":82064,"initialValue":{"arguments":[{"id":82062,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82048,"src":"5757:6:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5699:50:144","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory)"},"typeName":{"baseType":{"id":82059,"nodeType":"UserDefinedTypeName","pathNode":{"id":82058,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["5703:19:144","5723:24:144"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"5703:44:144"},"referencedDeclaration":71146,"src":"5703:44:144","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":82060,"nodeType":"ArrayTypeName","src":"5703:46:144","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}}},"id":82063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5699:70:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5635:134:144"},{"body":{"id":82085,"nodeType":"Block","src":"5806:66:144","statements":[{"expression":{"id":82083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82074,"name":"allApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82057,"src":"5814:7:144","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"id":82076,"indexExpression":{"id":82075,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82066,"src":"5822:1:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5814:10:144","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":82079,"name":"appsInRound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82041,"src":"5850:11:144","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":82081,"indexExpression":{"id":82080,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82066,"src":"5862:1:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5850:14:144","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":82077,"name":"x2EarnAppsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82022,"src":"5827:18:144","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"id":82078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5846:3:144","memberName":"app","nodeType":"MemberAccess","referencedDeclaration":69489,"src":"5827:22:144","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$","typeString":"function (bytes32) view external returns (struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory)"}},"id":82082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5827:38:144","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory"}},"src":"5814:51:144","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory"}},"id":82084,"nodeType":"ExpressionStatement","src":"5814:51:144"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82068,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82066,"src":"5789:1:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":82069,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82048,"src":"5793:6:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5789:10:144","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82086,"initializationExpression":{"assignments":[82066],"declarations":[{"constant":false,"id":82066,"mutability":"mutable","name":"i","nameLocation":"5786:1:144","nodeType":"VariableDeclaration","scope":82086,"src":"5781:6:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82065,"name":"uint","nodeType":"ElementaryTypeName","src":"5781:4:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82067,"nodeType":"VariableDeclarationStatement","src":"5781:6:144"},"loopExpression":{"expression":{"id":82072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5801:3:144","subExpression":{"id":82071,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82066,"src":"5801:1:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82073,"nodeType":"ExpressionStatement","src":"5801:3:144"},"nodeType":"ForStatement","src":"5776:96:144"},{"expression":{"id":82087,"name":"allApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82057,"src":"5884:7:144","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType memory[] memory"}},"functionReturnParameters":82019,"id":82088,"nodeType":"Return","src":"5877:14:144"}]},"documentation":{"id":82011,"nodeType":"StructuredDocumentation","src":"4827:317:144","text":" @dev Get all the apps in the form of {AppWithDetailsReturnType} eligible for voting in a round\n @notice This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound}\n and then call {IX2EarnApps-app} for each app id\n @param roundId The round to query"},"functionSelector":"291605f7","id":82090,"implemented":true,"kind":"function","modifiers":[],"name":"getAppsOfRound","nameLocation":"5156:14:144","nodeType":"FunctionDefinition","parameters":{"id":82014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82013,"mutability":"mutable","name":"roundId","nameLocation":"5184:7:144","nodeType":"VariableDeclaration","scope":82090,"src":"5176:15:144","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82012,"name":"uint256","nodeType":"ElementaryTypeName","src":"5176:7:144","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5170:25:144"},"returnParameters":{"id":82019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82090,"src":"5219:53:144","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"},"typeName":{"baseType":{"id":82016,"nodeType":"UserDefinedTypeName","pathNode":{"id":82015,"name":"X2EarnAppsDataTypes.AppWithDetailsReturnType","nameLocations":["5219:19:144","5239:24:144"],"nodeType":"IdentifierPath","referencedDeclaration":71146,"src":"5219:44:144"},"referencedDeclaration":71146,"src":"5219:44:144","typeDescriptions":{"typeIdentifier":"t_struct$_AppWithDetailsReturnType_$71146_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType"}},"id":82017,"nodeType":"ArrayTypeName","src":"5219:46:144","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AppWithDetailsReturnType_$71146_storage_$dyn_storage_ptr","typeString":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]"}},"visibility":"internal"}],"src":"5218:55:144"},"scope":82091,"src":"5147:749:144","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":82092,"src":"637:5261:144","usedErrors":[7025],"usedEvents":[81704]}],"src":"32:5867:144"},"id":144},"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol","exportedSymbols":{"Checkpoints":[10447],"SafeCast":[8770],"VotesQuorumFractionUtils":[82434],"XAllocationVotingStorageTypes":[83099]},"id":82435,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":82093,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"1195:23:145"},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":82095,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82435,"sourceUnit":83100,"src":"1220:84:145","symbolAliases":[{"foreign":{"id":82094,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1229:29:145","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":82097,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82435,"sourceUnit":10448,"src":"1305:84:145","symbolAliases":[{"foreign":{"id":82096,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"1314:11:145","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","id":82099,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82435,"sourceUnit":8771,"src":"1390:75:145","symbolAliases":[{"foreign":{"id":82098,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"1399:8:145","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"VotesQuorumFractionUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":82100,"nodeType":"StructuredDocumentation","src":"1467:342:145","text":" @title VotesQuorumFractionUtils\n @notice Library for managing quorum as a fraction of total token supply in the XAllocationVoting system.\n @dev Extracted from VotesQuorumFractionUpgradeable module. Uses ERC-7201 namespaced storage.\n      Cross-reads VotesStorage for the token (to get pastTotalSupply for quorum calculation)."},"fullyImplemented":true,"id":82434,"linearizedBaseContracts":[82434],"name":"VotesQuorumFractionUtils","nameLocation":"1818:24:145","nodeType":"ContractDefinition","nodes":[{"global":false,"id":82104,"libraryName":{"id":82101,"name":"Checkpoints","nameLocations":["1853:11:145"],"nodeType":"IdentifierPath","referencedDeclaration":10447,"src":"1853:11:145"},"nodeType":"UsingForDirective","src":"1847:43:145","typeName":{"id":82103,"nodeType":"UserDefinedTypeName","pathNode":{"id":82102,"name":"Checkpoints.Trace208","nameLocations":["1869:11:145","1881:8:145"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"1869:20:145"},"referencedDeclaration":9409,"src":"1869:20:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},{"anonymous":false,"eventSelector":"0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997","id":82110,"name":"QuorumNumeratorUpdated","nameLocation":"1900:22:145","nodeType":"EventDefinition","parameters":{"id":82109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82106,"indexed":false,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"1931:18:145","nodeType":"VariableDeclaration","scope":82110,"src":"1923:26:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82105,"name":"uint256","nodeType":"ElementaryTypeName","src":"1923:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82108,"indexed":false,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"1959:18:145","nodeType":"VariableDeclaration","scope":82110,"src":"1951:26:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82107,"name":"uint256","nodeType":"ElementaryTypeName","src":"1951:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1922:56:145"},"src":"1894:85:145"},{"documentation":{"id":82111,"nodeType":"StructuredDocumentation","src":"1983:59:145","text":" @dev The quorum set is not a valid fraction."},"errorSelector":"243e5445","id":82117,"name":"GovernorInvalidQuorumFraction","nameLocation":"2051:29:145","nodeType":"ErrorDefinition","parameters":{"id":82116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82113,"mutability":"mutable","name":"quorumNumerator","nameLocation":"2089:15:145","nodeType":"VariableDeclaration","scope":82117,"src":"2081:23:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82112,"name":"uint256","nodeType":"ElementaryTypeName","src":"2081:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82115,"mutability":"mutable","name":"quorumDenominator","nameLocation":"2114:17:145","nodeType":"VariableDeclaration","scope":82117,"src":"2106:25:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82114,"name":"uint256","nodeType":"ElementaryTypeName","src":"2106:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2080:52:145"},"src":"2045:88:145"},{"body":{"id":82166,"nodeType":"Block","src":"2679:479:145","statements":[{"assignments":[82129],"declarations":[{"constant":false,"id":82129,"mutability":"mutable","name":"$","nameLocation":"2756:1:145","nodeType":"VariableDeclaration","scope":82166,"src":"2685:72:145","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"},"typeName":{"id":82128,"nodeType":"UserDefinedTypeName","pathNode":{"id":82127,"name":"XAllocationVotingStorageTypes.VotesQuorumFractionStorage","nameLocations":["2685:29:145","2715:26:145"],"nodeType":"IdentifierPath","referencedDeclaration":82889,"src":"2685:56:145"},"referencedDeclaration":82889,"src":"2685:56:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":82133,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82130,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2760:29:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2790:30:145","memberName":"_getVotesQuorumFractionStorage","nodeType":"MemberAccess","referencedDeclaration":83050,"src":"2760:60:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer)"}},"id":82132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2760:62:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2685:137:145"},{"assignments":[82135],"declarations":[{"constant":false,"id":82135,"mutability":"mutable","name":"denominator","nameLocation":"2837:11:145","nodeType":"VariableDeclaration","scope":82166,"src":"2829:19:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82134,"name":"uint256","nodeType":"ElementaryTypeName","src":"2829:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82138,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":82136,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82261,"src":"2851:17:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":82137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2851:19:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2829:41:145"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82139,"name":"quorumNumeratorValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82120,"src":"2880:20:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":82140,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82135,"src":"2903:11:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2880:34:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82148,"nodeType":"IfStatement","src":"2876:126:145","trueBody":{"id":82147,"nodeType":"Block","src":"2916:86:145","statements":[{"errorCall":{"arguments":[{"id":82143,"name":"quorumNumeratorValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82120,"src":"2961:20:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":82144,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82135,"src":"2983:11:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82142,"name":"GovernorInvalidQuorumFraction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"2931:29:145","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":82145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2931:64:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82146,"nodeType":"RevertStatement","src":"2924:71:145"}]}},{"expression":{"arguments":[{"id":82154,"name":"currentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82122,"src":"3039:12:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":82157,"name":"quorumNumeratorValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82120,"src":"3072:20:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82155,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"3053:8:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":82156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3062:9:145","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"3053:18:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":82158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3053:40:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"expression":{"id":82149,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82129,"src":"3008:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3010:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"3008:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82153,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3034:4:145","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"3008:30:145","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":82159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3008:86:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":82160,"nodeType":"ExpressionStatement","src":"3008:86:145"},{"eventCall":{"arguments":[{"hexValue":"30","id":82162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3129:1:145","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":82163,"name":"quorumNumeratorValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82120,"src":"3132:20:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82161,"name":"QuorumNumeratorUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82110,"src":"3106:22:145","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":82164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3106:47:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82165,"nodeType":"EmitStatement","src":"3101:52:145"}]},"documentation":{"id":82118,"nodeType":"StructuredDocumentation","src":"2137:459:145","text":" @notice Initialize quorum as a fraction of the token's total supply.\n @dev The fraction is specified as `numerator / denominator`. The denominator is 100,\n      so quorum is specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply.\n @param quorumNumeratorValue The initial quorum numerator value\n @param currentClock The current clock value (passed by caller to avoid cross-reading VotesStorage)"},"functionSelector":"af741595","id":82167,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2608:10:145","nodeType":"FunctionDefinition","parameters":{"id":82123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82120,"mutability":"mutable","name":"quorumNumeratorValue","nameLocation":"2627:20:145","nodeType":"VariableDeclaration","scope":82167,"src":"2619:28:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82119,"name":"uint256","nodeType":"ElementaryTypeName","src":"2619:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82122,"mutability":"mutable","name":"currentClock","nameLocation":"2656:12:145","nodeType":"VariableDeclaration","scope":82167,"src":"2649:19:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":82121,"name":"uint48","nodeType":"ElementaryTypeName","src":"2649:6:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2618:51:145"},"returnParameters":{"id":82124,"nodeType":"ParameterList","parameters":[],"src":"2679:0:145"},"scope":82434,"src":"2599:559:145","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":82187,"nodeType":"Block","src":"3356:195:145","statements":[{"assignments":[82177],"declarations":[{"constant":false,"id":82177,"mutability":"mutable","name":"$","nameLocation":"3433:1:145","nodeType":"VariableDeclaration","scope":82187,"src":"3362:72:145","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"},"typeName":{"id":82176,"nodeType":"UserDefinedTypeName","pathNode":{"id":82175,"name":"XAllocationVotingStorageTypes.VotesQuorumFractionStorage","nameLocations":["3362:29:145","3392:26:145"],"nodeType":"IdentifierPath","referencedDeclaration":82889,"src":"3362:56:145"},"referencedDeclaration":82889,"src":"3362:56:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":82181,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82178,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3437:29:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3467:30:145","memberName":"_getVotesQuorumFractionStorage","nodeType":"MemberAccess","referencedDeclaration":83050,"src":"3437:60:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer)"}},"id":82180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3437:62:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3362:137:145"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":82182,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82177,"src":"3512:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3514:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"3512:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3538:6:145","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"3512:32:145","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":82185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3512:34:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":82172,"id":82186,"nodeType":"Return","src":"3505:41:145"}]},"documentation":{"id":82168,"nodeType":"StructuredDocumentation","src":"3162:132:145","text":" @notice Returns the current quorum numerator. See {quorumDenominator}.\n @return The latest quorum numerator value"},"functionSelector":"a7713a70","id":82188,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"3306:15:145","nodeType":"FunctionDefinition","parameters":{"id":82169,"nodeType":"ParameterList","parameters":[],"src":"3321:2:145"},"returnParameters":{"id":82172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82171,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82188,"src":"3347:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82170,"name":"uint256","nodeType":"ElementaryTypeName","src":"3347:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3346:9:145"},"scope":82434,"src":"3297:254:145","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":82251,"nodeType":"Block","src":"3930:640:145","statements":[{"assignments":[82200],"declarations":[{"constant":false,"id":82200,"mutability":"mutable","name":"$","nameLocation":"4007:1:145","nodeType":"VariableDeclaration","scope":82251,"src":"3936:72:145","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"},"typeName":{"id":82199,"nodeType":"UserDefinedTypeName","pathNode":{"id":82198,"name":"XAllocationVotingStorageTypes.VotesQuorumFractionStorage","nameLocations":["3936:29:145","3966:26:145"],"nodeType":"IdentifierPath","referencedDeclaration":82889,"src":"3936:56:145"},"referencedDeclaration":82889,"src":"3936:56:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":82204,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82201,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"4011:29:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4041:30:145","memberName":"_getVotesQuorumFractionStorage","nodeType":"MemberAccess","referencedDeclaration":83050,"src":"4011:60:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer)"}},"id":82203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4011:62:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3936:137:145"},{"assignments":[82206],"declarations":[{"constant":false,"id":82206,"mutability":"mutable","name":"length","nameLocation":"4088:6:145","nodeType":"VariableDeclaration","scope":82251,"src":"4080:14:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82205,"name":"uint256","nodeType":"ElementaryTypeName","src":"4080:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82211,"initialValue":{"expression":{"expression":{"expression":{"id":82207,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82200,"src":"4097:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4099:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"4097:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82209,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4123:12:145","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"4097:38:145","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":82210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4136:6:145","memberName":"length","nodeType":"MemberAccess","src":"4097:45:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4080:62:145"},{"assignments":[82216],"declarations":[{"constant":false,"id":82216,"mutability":"mutable","name":"latest","nameLocation":"4237:6:145","nodeType":"VariableDeclaration","scope":82251,"src":"4203:40:145","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":82215,"nodeType":"UserDefinedTypeName","pathNode":{"id":82214,"name":"Checkpoints.Checkpoint208","nameLocations":["4203:11:145","4215:13:145"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"4203:25:145"},"referencedDeclaration":9414,"src":"4203:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":82224,"initialValue":{"baseExpression":{"expression":{"expression":{"id":82217,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82200,"src":"4246:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4248:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"4246:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4272:12:145","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"4246:38:145","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":82223,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82220,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82206,"src":"4285:6:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":82221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4294:1:145","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4285:10:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4246:50:145","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4203:93:145"},{"assignments":[82226],"declarations":[{"constant":false,"id":82226,"mutability":"mutable","name":"latestKey","nameLocation":"4309:9:145","nodeType":"VariableDeclaration","scope":82251,"src":"4302:16:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":82225,"name":"uint48","nodeType":"ElementaryTypeName","src":"4302:6:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":82229,"initialValue":{"expression":{"id":82227,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82216,"src":"4321:6:145","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":82228,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4328:4:145","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"4321:11:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"4302:30:145"},{"assignments":[82231],"declarations":[{"constant":false,"id":82231,"mutability":"mutable","name":"latestValue","nameLocation":"4346:11:145","nodeType":"VariableDeclaration","scope":82251,"src":"4338:19:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":82230,"name":"uint208","nodeType":"ElementaryTypeName","src":"4338:7:145","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":82234,"initialValue":{"expression":{"id":82232,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82216,"src":"4360:6:145","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":82233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4367:6:145","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"4360:13:145","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"4338:35:145"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82235,"name":"latestKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82226,"src":"4383:9:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":82236,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82191,"src":"4396:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4383:22:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82241,"nodeType":"IfStatement","src":"4379:61:145","trueBody":{"id":82240,"nodeType":"Block","src":"4407:33:145","statements":[{"expression":{"id":82238,"name":"latestValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82231,"src":"4422:11:145","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":82195,"id":82239,"nodeType":"Return","src":"4415:18:145"}]}},{"expression":{"arguments":[{"arguments":[{"id":82247,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82191,"src":"4554:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82245,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"4536:8:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":82246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4545:8:145","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"4536:17:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":82248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4536:28:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":82242,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82200,"src":"4492:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4494:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"4492:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4518:17:145","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"4492:43:145","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":82249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4492:73:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":82195,"id":82250,"nodeType":"Return","src":"4485:80:145"}]},"documentation":{"id":82189,"nodeType":"StructuredDocumentation","src":"3555:296:145","text":" @notice Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\n @dev Uses an optimistic lookup on the latest checkpoint, falling back to binary search.\n @param timepoint The timepoint to query\n @return The quorum numerator at the given timepoint"},"functionSelector":"60c4247f","id":82252,"implemented":true,"kind":"function","modifiers":[],"name":"quorumNumerator","nameLocation":"3863:15:145","nodeType":"FunctionDefinition","parameters":{"id":82192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82191,"mutability":"mutable","name":"timepoint","nameLocation":"3887:9:145","nodeType":"VariableDeclaration","scope":82252,"src":"3879:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82190,"name":"uint256","nodeType":"ElementaryTypeName","src":"3879:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3878:19:145"},"returnParameters":{"id":82195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82252,"src":"3921:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82193,"name":"uint256","nodeType":"ElementaryTypeName","src":"3921:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3920:9:145"},"scope":82434,"src":"3854:716:145","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":82260,"nodeType":"Block","src":"4743:21:145","statements":[{"expression":{"hexValue":"313030","id":82258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4756:3:145","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"functionReturnParameters":82257,"id":82259,"nodeType":"Return","src":"4749:10:145"}]},"documentation":{"id":82253,"nodeType":"StructuredDocumentation","src":"4574:107:145","text":" @notice Returns the quorum denominator. Defaults to 100.\n @return The quorum denominator"},"functionSelector":"97c3d334","id":82261,"implemented":true,"kind":"function","modifiers":[],"name":"quorumDenominator","nameLocation":"4693:17:145","nodeType":"FunctionDefinition","parameters":{"id":82254,"nodeType":"ParameterList","parameters":[],"src":"4710:2:145"},"returnParameters":{"id":82257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82256,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82261,"src":"4734:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82255,"name":"uint256","nodeType":"ElementaryTypeName","src":"4734:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4733:9:145"},"scope":82434,"src":"4684:80:145","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":82354,"nodeType":"Block","src":"5154:928:145","statements":[{"assignments":[82273],"declarations":[{"constant":false,"id":82273,"mutability":"mutable","name":"votesStorage","nameLocation":"5211:12:145","nodeType":"VariableDeclaration","scope":82354,"src":"5160:63:145","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"},"typeName":{"id":82272,"nodeType":"UserDefinedTypeName","pathNode":{"id":82271,"name":"XAllocationVotingStorageTypes.VotesStorage","nameLocations":["5160:29:145","5190:12:145"],"nodeType":"IdentifierPath","referencedDeclaration":82885,"src":"5160:42:145"},"referencedDeclaration":82885,"src":"5160:42:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"}},"visibility":"internal"}],"id":82277,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82274,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"5226:29:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5256:16:145","memberName":"_getVotesStorage","nodeType":"MemberAccess","referencedDeclaration":83042,"src":"5226:46:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesStorage_$82885_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesStorage storage pointer)"}},"id":82276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5226:48:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5160:114:145"},{"assignments":[82282],"declarations":[{"constant":false,"id":82282,"mutability":"mutable","name":"$","nameLocation":"5351:1:145","nodeType":"VariableDeclaration","scope":82354,"src":"5280:72:145","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"},"typeName":{"id":82281,"nodeType":"UserDefinedTypeName","pathNode":{"id":82280,"name":"XAllocationVotingStorageTypes.VotesQuorumFractionStorage","nameLocations":["5280:29:145","5310:26:145"],"nodeType":"IdentifierPath","referencedDeclaration":82889,"src":"5280:56:145"},"referencedDeclaration":82889,"src":"5280:56:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":82286,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82283,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"5355:29:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5385:30:145","memberName":"_getVotesQuorumFractionStorage","nodeType":"MemberAccess","referencedDeclaration":83050,"src":"5355:60:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer)"}},"id":82285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5355:62:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5280:137:145"},{"assignments":[82288],"declarations":[{"constant":false,"id":82288,"mutability":"mutable","name":"numerator","nameLocation":"5518:9:145","nodeType":"VariableDeclaration","scope":82354,"src":"5510:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82287,"name":"uint256","nodeType":"ElementaryTypeName","src":"5510:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82289,"nodeType":"VariableDeclarationStatement","src":"5510:17:145"},{"id":82341,"nodeType":"Block","src":"5533:446:145","statements":[{"assignments":[82291],"declarations":[{"constant":false,"id":82291,"mutability":"mutable","name":"length","nameLocation":"5549:6:145","nodeType":"VariableDeclaration","scope":82341,"src":"5541:14:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82290,"name":"uint256","nodeType":"ElementaryTypeName","src":"5541:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82296,"initialValue":{"expression":{"expression":{"expression":{"id":82292,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"5558:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5560:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"5558:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5584:12:145","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"5558:38:145","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":82295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5597:6:145","memberName":"length","nodeType":"MemberAccess","src":"5558:45:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5541:62:145"},{"assignments":[82301],"declarations":[{"constant":false,"id":82301,"mutability":"mutable","name":"latest","nameLocation":"5645:6:145","nodeType":"VariableDeclaration","scope":82341,"src":"5611:40:145","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"},"typeName":{"id":82300,"nodeType":"UserDefinedTypeName","pathNode":{"id":82299,"name":"Checkpoints.Checkpoint208","nameLocations":["5611:11:145","5623:13:145"],"nodeType":"IdentifierPath","referencedDeclaration":9414,"src":"5611:25:145"},"referencedDeclaration":9414,"src":"5611:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208"}},"visibility":"internal"}],"id":82309,"initialValue":{"baseExpression":{"expression":{"expression":{"id":82302,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"5654:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5656:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"5654:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5680:12:145","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":9408,"src":"5654:38:145","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint208_$9414_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref[] storage ref"}},"id":82308,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82305,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82291,"src":"5693:6:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":82306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5702:1:145","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5693:10:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5654:50:145","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage","typeString":"struct Checkpoints.Checkpoint208 storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5611:93:145"},{"assignments":[82311],"declarations":[{"constant":false,"id":82311,"mutability":"mutable","name":"latestKey","nameLocation":"5719:9:145","nodeType":"VariableDeclaration","scope":82341,"src":"5712:16:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":82310,"name":"uint48","nodeType":"ElementaryTypeName","src":"5712:6:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":82314,"initialValue":{"expression":{"id":82312,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82301,"src":"5731:6:145","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":82313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5738:4:145","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":9411,"src":"5731:11:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"5712:30:145"},{"assignments":[82316],"declarations":[{"constant":false,"id":82316,"mutability":"mutable","name":"latestValue","nameLocation":"5758:11:145","nodeType":"VariableDeclaration","scope":82341,"src":"5750:19:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":82315,"name":"uint208","nodeType":"ElementaryTypeName","src":"5750:7:145","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"id":82319,"initialValue":{"expression":{"id":82317,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82301,"src":"5772:6:145","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint208_$9414_storage_ptr","typeString":"struct Checkpoints.Checkpoint208 storage pointer"}},"id":82318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5779:6:145","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":9413,"src":"5772:13:145","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"5750:35:145"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82320,"name":"latestKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82311,"src":"5797:9:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":82321,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82264,"src":"5810:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5797:22:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":82339,"nodeType":"Block","src":"5869:104:145","statements":[{"expression":{"id":82337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82328,"name":"numerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82288,"src":"5879:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":82334,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82264,"src":"5953:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82332,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"5935:8:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":82333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5944:8:145","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":7770,"src":"5935:17:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":82335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5935:28:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"expression":{"id":82329,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"5891:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5893:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"5891:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5917:17:145","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"5891:43:145","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48) view returns (uint208)"}},"id":82336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5891:73:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"5879:85:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82338,"nodeType":"ExpressionStatement","src":"5879:85:145"}]},"id":82340,"nodeType":"IfStatement","src":"5793:180:145","trueBody":{"id":82327,"nodeType":"Block","src":"5821:42:145","statements":[{"expression":{"id":82325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82323,"name":"numerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82288,"src":"5831:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82324,"name":"latestValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82316,"src":"5843:11:145","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"5831:23:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82326,"nodeType":"ExpressionStatement","src":"5831:23:145"}]}}]},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":82345,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82264,"src":"6032:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":82342,"name":"votesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82273,"src":"5993:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"id":82343,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6006:6:145","memberName":"_token","nodeType":"MemberAccess","referencedDeclaration":82884,"src":"5993:19:145","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":82344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6013:18:145","memberName":"getPastTotalSupply","nodeType":"MemberAccess","referencedDeclaration":4467,"src":"5993:38:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":82346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5993:49:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82347,"name":"numerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82288,"src":"6045:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5993:61:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82349,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5992:63:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":82350,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82261,"src":"6058:17:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":82351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6058:19:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5992:85:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82268,"id":82353,"nodeType":"Return","src":"5985:92:145"}]},"documentation":{"id":82262,"nodeType":"StructuredDocumentation","src":"4768:316:145","text":" @notice Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\n @dev Cross-reads VotesStorage to get the token for getPastTotalSupply.\n @param timepoint The timepoint to query\n @return The quorum (minimum votes required) at the given timepoint"},"functionSelector":"f8ce560a","id":82355,"implemented":true,"kind":"function","modifiers":[],"name":"quorum","nameLocation":"5096:6:145","nodeType":"FunctionDefinition","parameters":{"id":82265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82264,"mutability":"mutable","name":"timepoint","nameLocation":"5111:9:145","nodeType":"VariableDeclaration","scope":82355,"src":"5103:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82263,"name":"uint256","nodeType":"ElementaryTypeName","src":"5103:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5102:19:145"},"returnParameters":{"id":82268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82267,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82355,"src":"5145:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82266,"name":"uint256","nodeType":"ElementaryTypeName","src":"5145:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5144:9:145"},"scope":82434,"src":"5087:995:145","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":82411,"nodeType":"Block","src":"6649:558:145","statements":[{"assignments":[82364],"declarations":[{"constant":false,"id":82364,"mutability":"mutable","name":"denominator","nameLocation":"6663:11:145","nodeType":"VariableDeclaration","scope":82411,"src":"6655:19:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82363,"name":"uint256","nodeType":"ElementaryTypeName","src":"6655:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82367,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":82365,"name":"quorumDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82261,"src":"6677:17:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":82366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6677:19:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6655:41:145"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82368,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82358,"src":"6706:18:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":82369,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82364,"src":"6727:11:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6706:32:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82377,"nodeType":"IfStatement","src":"6702:122:145","trueBody":{"id":82376,"nodeType":"Block","src":"6740:84:145","statements":[{"errorCall":{"arguments":[{"id":82372,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82358,"src":"6785:18:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":82373,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82364,"src":"6805:11:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82371,"name":"GovernorInvalidQuorumFraction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"6755:29:145","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":82374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6755:62:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82375,"nodeType":"RevertStatement","src":"6748:69:145"}]}},{"assignments":[82382],"declarations":[{"constant":false,"id":82382,"mutability":"mutable","name":"$","nameLocation":"6901:1:145","nodeType":"VariableDeclaration","scope":82411,"src":"6830:72:145","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"},"typeName":{"id":82381,"nodeType":"UserDefinedTypeName","pathNode":{"id":82380,"name":"XAllocationVotingStorageTypes.VotesQuorumFractionStorage","nameLocations":["6830:29:145","6860:26:145"],"nodeType":"IdentifierPath","referencedDeclaration":82889,"src":"6830:56:145"},"referencedDeclaration":82889,"src":"6830:56:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":82386,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82383,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"6905:29:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6935:30:145","memberName":"_getVotesQuorumFractionStorage","nodeType":"MemberAccess","referencedDeclaration":83050,"src":"6905:60:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer)"}},"id":82385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6905:62:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6830:137:145"},{"assignments":[82388],"declarations":[{"constant":false,"id":82388,"mutability":"mutable","name":"oldQuorumNumerator","nameLocation":"6982:18:145","nodeType":"VariableDeclaration","scope":82411,"src":"6974:26:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82387,"name":"uint256","nodeType":"ElementaryTypeName","src":"6974:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82393,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":82389,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82382,"src":"7003:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82390,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7005:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"7003:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7029:6:145","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"7003:32:145","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":82392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7003:34:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"nodeType":"VariableDeclarationStatement","src":"6974:63:145"},{"expression":{"arguments":[{"id":82399,"name":"currentClock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82360,"src":"7075:12:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[{"id":82402,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82358,"src":"7108:18:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82400,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"7089:8:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$8770_$","typeString":"type(library SafeCast)"}},"id":82401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7098:9:145","memberName":"toUint208","nodeType":"MemberAccess","referencedDeclaration":7210,"src":"7089:18:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint208_$","typeString":"function (uint256) pure returns (uint208)"}},"id":82403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7089:38:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint208","typeString":"uint208"}],"expression":{"expression":{"id":82394,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82382,"src":"7044:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7046:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"7044:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7070:4:145","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":9437,"src":"7044:30:145","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace208_$9409_storage_ptr_$_t_uint48_$_t_uint208_$returns$_t_uint208_$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer,uint48,uint208) returns (uint208,uint208)"}},"id":82404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7044:84:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint208_$_t_uint208_$","typeString":"tuple(uint208,uint208)"}},"id":82405,"nodeType":"ExpressionStatement","src":"7044:84:145"},{"eventCall":{"arguments":[{"id":82407,"name":"oldQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82388,"src":"7163:18:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":82408,"name":"newQuorumNumerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82358,"src":"7183:18:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82406,"name":"QuorumNumeratorUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82110,"src":"7140:22:145","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":82409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7140:62:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82410,"nodeType":"EmitStatement","src":"7135:67:145"}]},"documentation":{"id":82356,"nodeType":"StructuredDocumentation","src":"6086:471:145","text":" @notice Changes the quorum numerator.\n @dev Validates the new numerator and pushes it to the checkpoint history.\n      Receives clock as param to avoid needing VotesStorage.\n Emits a {QuorumNumeratorUpdated} event.\n Requirements:\n - New numerator must be smaller or equal to the denominator.\n @param newQuorumNumerator The new quorum numerator value\n @param currentClock The current clock value (passed by caller)"},"functionSelector":"bd88fe32","id":82412,"implemented":true,"kind":"function","modifiers":[],"name":"updateQuorumNumerator","nameLocation":"6569:21:145","nodeType":"FunctionDefinition","parameters":{"id":82361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82358,"mutability":"mutable","name":"newQuorumNumerator","nameLocation":"6599:18:145","nodeType":"VariableDeclaration","scope":82412,"src":"6591:26:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82357,"name":"uint256","nodeType":"ElementaryTypeName","src":"6591:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82360,"mutability":"mutable","name":"currentClock","nameLocation":"6626:12:145","nodeType":"VariableDeclaration","scope":82412,"src":"6619:19:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":82359,"name":"uint48","nodeType":"ElementaryTypeName","src":"6619:6:145","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"6590:49:145"},"returnParameters":{"id":82362,"nodeType":"ParameterList","parameters":[],"src":"6649:0:145"},"scope":82434,"src":"6560:647:145","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":82432,"nodeType":"Block","src":"7413:195:145","statements":[{"assignments":[82422],"declarations":[{"constant":false,"id":82422,"mutability":"mutable","name":"$","nameLocation":"7490:1:145","nodeType":"VariableDeclaration","scope":82432,"src":"7419:72:145","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"},"typeName":{"id":82421,"nodeType":"UserDefinedTypeName","pathNode":{"id":82420,"name":"XAllocationVotingStorageTypes.VotesQuorumFractionStorage","nameLocations":["7419:29:145","7449:26:145"],"nodeType":"IdentifierPath","referencedDeclaration":82889,"src":"7419:56:145"},"referencedDeclaration":82889,"src":"7419:56:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"}},"visibility":"internal"}],"id":82426,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82423,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"7494:29:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7524:30:145","memberName":"_getVotesQuorumFractionStorage","nodeType":"MemberAccess","referencedDeclaration":83050,"src":"7494:60:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer)"}},"id":82425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7494:62:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7419:137:145"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":82427,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82422,"src":"7569:1:145","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage storage pointer"}},"id":82428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7571:23:145","memberName":"_quorumNumeratorHistory","nodeType":"MemberAccess","referencedDeclaration":82888,"src":"7569:25:145","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage","typeString":"struct Checkpoints.Trace208 storage ref"}},"id":82429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7595:6:145","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"7569:32:145","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace208_$9409_storage_ptr_$returns$_t_uint208_$attached_to$_t_struct$_Trace208_$9409_storage_ptr_$","typeString":"function (struct Checkpoints.Trace208 storage pointer) view returns (uint208)"}},"id":82430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7569:34:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":82417,"id":82431,"nodeType":"Return","src":"7562:41:145"}]},"documentation":{"id":82413,"nodeType":"StructuredDocumentation","src":"7211:139:145","text":" @notice Returns the current quorum percentage (alias for latest quorumNumerator).\n @return The current quorum percentage"},"functionSelector":"4fa76ec9","id":82433,"implemented":true,"kind":"function","modifiers":[],"name":"quorumPercentage","nameLocation":"7362:16:145","nodeType":"FunctionDefinition","parameters":{"id":82414,"nodeType":"ParameterList","parameters":[],"src":"7378:2:145"},"returnParameters":{"id":82417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82416,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82433,"src":"7404:7:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82415,"name":"uint256","nodeType":"ElementaryTypeName","src":"7404:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7403:9:145"},"scope":82434,"src":"7353:255:145","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":82435,"src":"1810:5800:145","usedErrors":[7025,8883,82117],"usedEvents":[82110]}],"src":"1195:6416:145"},"id":145},"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol","exportedSymbols":{"IB3TRGovernor":[63919],"IERC5805":[4537],"INavigatorRegistry":[66638],"IVotes":[4498],"Time":[11669],"VotesUtils":[82662],"XAllocationVotingStorageTypes":[83099]},"id":82663,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":82436,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:146"},{"absolutePath":"@openzeppelin/contracts/governance/utils/IVotes.sol","file":"@openzeppelin/contracts/governance/utils/IVotes.sol","id":82438,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82663,"sourceUnit":4499,"src":"57:77:146","symbolAliases":[{"foreign":{"id":82437,"name":"IVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"66:6:146","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC5805.sol","file":"@openzeppelin/contracts/interfaces/IERC5805.sol","id":82440,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82663,"sourceUnit":4538,"src":"135:75:146","symbolAliases":[{"foreign":{"id":82439,"name":"IERC5805","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4537,"src":"144:8:146","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/types/Time.sol","file":"@openzeppelin/contracts/utils/types/Time.sol","id":82442,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82663,"sourceUnit":11670,"src":"211:68:146","symbolAliases":[{"foreign":{"id":82441,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"220:4:146","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":82444,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82663,"sourceUnit":83100,"src":"280:84:146","symbolAliases":[{"foreign":{"id":82443,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"289:29:146","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../../interfaces/INavigatorRegistry.sol","id":82446,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82663,"sourceUnit":66639,"src":"365:77:146","symbolAliases":[{"foreign":{"id":82445,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"374:18:146","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":82448,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82663,"sourceUnit":63920,"src":"443:67:146","symbolAliases":[{"foreign":{"id":82447,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"452:13:146","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"VotesUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":82449,"nodeType":"StructuredDocumentation","src":"512:221:146","text":" @title VotesUtils\n @notice Library for managing the voting token and extracting voting weight in the XAllocationVoting system.\n @dev Extracted from VotesUpgradeable module. Uses ERC-7201 namespaced storage."},"fullyImplemented":true,"id":82662,"linearizedBaseContracts":[82662],"name":"VotesUtils","nameLocation":"742:10:146","nodeType":"ContractDefinition","nodes":[{"body":{"id":82476,"nodeType":"Block","src":"943:162:146","statements":[{"assignments":[82460],"declarations":[{"constant":false,"id":82460,"mutability":"mutable","name":"$","nameLocation":"1000:1:146","nodeType":"VariableDeclaration","scope":82476,"src":"949:52:146","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"},"typeName":{"id":82459,"nodeType":"UserDefinedTypeName","pathNode":{"id":82458,"name":"XAllocationVotingStorageTypes.VotesStorage","nameLocations":["949:29:146","979:12:146"],"nodeType":"IdentifierPath","referencedDeclaration":82885,"src":"949:42:146"},"referencedDeclaration":82885,"src":"949:42:146","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"}},"visibility":"internal"}],"id":82464,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82461,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1004:29:146","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1034:16:146","memberName":"_getVotesStorage","nodeType":"MemberAccess","referencedDeclaration":83042,"src":"1004:46:146","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesStorage_$82885_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesStorage storage pointer)"}},"id":82463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1004:48:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"949:103:146"},{"expression":{"id":82474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82465,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82460,"src":"1058:1:146","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"id":82467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1060:6:146","memberName":"_token","nodeType":"MemberAccess","referencedDeclaration":82884,"src":"1058:8:146","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":82471,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82453,"src":"1086:12:146","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}],"id":82470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1078:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82469,"name":"address","nodeType":"ElementaryTypeName","src":"1078:7:146","typeDescriptions":{}}},"id":82472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1078:21:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82468,"name":"IERC5805","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4537,"src":"1069:8:146","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC5805_$4537_$","typeString":"type(contract IERC5805)"}},"id":82473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1069:31:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"src":"1058:42:146","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":82475,"nodeType":"ExpressionStatement","src":"1058:42:146"}]},"documentation":{"id":82450,"nodeType":"StructuredDocumentation","src":"757:133:146","text":" @notice Initializes the voting token\n @param tokenAddress The ERC20Votes / ERC721Votes token used for voting power"},"functionSelector":"b623d384","id":82477,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"902:10:146","nodeType":"FunctionDefinition","parameters":{"id":82454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82453,"mutability":"mutable","name":"tokenAddress","nameLocation":"920:12:146","nodeType":"VariableDeclaration","scope":82477,"src":"913:19:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"},"typeName":{"id":82452,"nodeType":"UserDefinedTypeName","pathNode":{"id":82451,"name":"IVotes","nameLocations":["913:6:146"],"nodeType":"IdentifierPath","referencedDeclaration":4498,"src":"913:6:146"},"referencedDeclaration":4498,"src":"913:6:146","typeDescriptions":{"typeIdentifier":"t_contract$_IVotes_$4498","typeString":"contract IVotes"}},"visibility":"internal"}],"src":"912:21:146"},"returnParameters":{"id":82455,"nodeType":"ParameterList","parameters":[],"src":"943:0:146"},"scope":82662,"src":"893:212:146","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":82510,"nodeType":"Block","src":"1371:245:146","statements":[{"assignments":[82487],"declarations":[{"constant":false,"id":82487,"mutability":"mutable","name":"$","nameLocation":"1428:1:146","nodeType":"VariableDeclaration","scope":82510,"src":"1377:52:146","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"},"typeName":{"id":82486,"nodeType":"UserDefinedTypeName","pathNode":{"id":82485,"name":"XAllocationVotingStorageTypes.VotesStorage","nameLocations":["1377:29:146","1407:12:146"],"nodeType":"IdentifierPath","referencedDeclaration":82885,"src":"1377:42:146"},"referencedDeclaration":82885,"src":"1377:42:146","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"}},"visibility":"internal"}],"id":82491,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82488,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1432:29:146","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1462:16:146","memberName":"_getVotesStorage","nodeType":"MemberAccess","referencedDeclaration":83042,"src":"1432:46:146","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesStorage_$82885_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesStorage storage pointer)"}},"id":82490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1432:48:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1377:103:146"},{"clauses":[{"block":{"id":82501,"nodeType":"Block","src":"1534:31:146","statements":[{"expression":{"id":82499,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82497,"src":"1549:9:146","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":82482,"id":82500,"nodeType":"Return","src":"1542:16:146"}]},"errorName":"","id":82502,"nodeType":"TryCatchClause","parameters":{"id":82498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82497,"mutability":"mutable","name":"timepoint","nameLocation":"1523:9:146","nodeType":"VariableDeclaration","scope":82502,"src":"1516:16:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":82496,"name":"uint48","nodeType":"ElementaryTypeName","src":"1516:6:146","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"1515:18:146"},"src":"1507:58:146"},{"block":{"id":82507,"nodeType":"Block","src":"1572:40:146","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82503,"name":"Time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"1587:4:146","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Time_$11669_$","typeString":"type(library Time)"}},"id":82504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1592:11:146","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":11429,"src":"1587:16:146","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":82505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1587:18:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":82482,"id":82506,"nodeType":"Return","src":"1580:25:146"}]},"errorName":"","id":82508,"nodeType":"TryCatchClause","src":"1566:46:146"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":82492,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82487,"src":"1490:1:146","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"id":82493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1492:6:146","memberName":"_token","nodeType":"MemberAccess","referencedDeclaration":82884,"src":"1490:8:146","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":82494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1499:5:146","memberName":"clock","nodeType":"MemberAccess","referencedDeclaration":4545,"src":"1490:14:146","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint48_$","typeString":"function () view external returns (uint48)"}},"id":82495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1490:16:146","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":82509,"nodeType":"TryStatement","src":"1486:126:146"}]},"documentation":{"id":82478,"nodeType":"StructuredDocumentation","src":"1122:198:146","text":" @notice Clock as specified in EIP-6372, matched to the token's clock.\n @dev Falls back to block number if the token does not implement EIP-6372.\n @return The current timepoint"},"functionSelector":"91ddadf4","id":82511,"implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"1332:5:146","nodeType":"FunctionDefinition","parameters":{"id":82479,"nodeType":"ParameterList","parameters":[],"src":"1337:2:146"},"returnParameters":{"id":82482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82511,"src":"1363:6:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":82480,"name":"uint48","nodeType":"ElementaryTypeName","src":"1363:6:146","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"1362:8:146"},"scope":82662,"src":"1323:293:146","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":82542,"nodeType":"Block","src":"1951:270:146","statements":[{"assignments":[82521],"declarations":[{"constant":false,"id":82521,"mutability":"mutable","name":"$","nameLocation":"2008:1:146","nodeType":"VariableDeclaration","scope":82542,"src":"1957:52:146","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"},"typeName":{"id":82520,"nodeType":"UserDefinedTypeName","pathNode":{"id":82519,"name":"XAllocationVotingStorageTypes.VotesStorage","nameLocations":["1957:29:146","1987:12:146"],"nodeType":"IdentifierPath","referencedDeclaration":82885,"src":"1957:42:146"},"referencedDeclaration":82885,"src":"1957:42:146","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"}},"visibility":"internal"}],"id":82525,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82522,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2012:29:146","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2042:16:146","memberName":"_getVotesStorage","nodeType":"MemberAccess","referencedDeclaration":83042,"src":"2012:46:146","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesStorage_$82885_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesStorage storage pointer)"}},"id":82524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2012:48:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1957:103:146"},{"clauses":[{"block":{"id":82535,"nodeType":"Block","src":"2126:31:146","statements":[{"expression":{"id":82533,"name":"clockmode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82531,"src":"2141:9:146","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":82516,"id":82534,"nodeType":"Return","src":"2134:16:146"}]},"errorName":"","id":82536,"nodeType":"TryCatchClause","parameters":{"id":82532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82531,"mutability":"mutable","name":"clockmode","nameLocation":"2115:9:146","nodeType":"VariableDeclaration","scope":82536,"src":"2101:23:146","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":82530,"name":"string","nodeType":"ElementaryTypeName","src":"2101:6:146","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2100:25:146"},"src":"2092:65:146"},{"block":{"id":82539,"nodeType":"Block","src":"2164:53:146","statements":[{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":82537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2179:31:146","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":82516,"id":82538,"nodeType":"Return","src":"2172:38:146"}]},"errorName":"","id":82540,"nodeType":"TryCatchClause","src":"2158:59:146"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":82526,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82521,"src":"2070:1:146","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"id":82527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2072:6:146","memberName":"_token","nodeType":"MemberAccess","referencedDeclaration":82884,"src":"2070:8:146","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":82528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2079:10:146","memberName":"CLOCK_MODE","nodeType":"MemberAccess","referencedDeclaration":4551,"src":"2070:19:146","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view external returns (string memory)"}},"id":82529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2070:21:146","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":82541,"nodeType":"TryStatement","src":"2066:151:146"}]},"documentation":{"id":82512,"nodeType":"StructuredDocumentation","src":"1620:217:146","text":" @notice Machine-readable description of the clock as specified in EIP-6372.\n @dev Falls back to default block number mode if the token does not implement EIP-6372.\n @return The clock mode string"},"functionSelector":"4bf5d7e9","id":82543,"implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"1900:10:146","nodeType":"FunctionDefinition","parameters":{"id":82513,"nodeType":"ParameterList","parameters":[],"src":"1910:2:146"},"returnParameters":{"id":82516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82515,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82543,"src":"1936:13:146","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":82514,"name":"string","nodeType":"ElementaryTypeName","src":"1936:6:146","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1935:15:146"},"scope":82662,"src":"1891:330:146","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":82660,"nodeType":"Block","src":"2966:1151:146","statements":[{"assignments":[82557],"declarations":[{"constant":false,"id":82557,"mutability":"mutable","name":"vs","nameLocation":"3023:2:146","nodeType":"VariableDeclaration","scope":82660,"src":"2972:53:146","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"},"typeName":{"id":82556,"nodeType":"UserDefinedTypeName","pathNode":{"id":82555,"name":"XAllocationVotingStorageTypes.VotesStorage","nameLocations":["2972:29:146","3002:12:146"],"nodeType":"IdentifierPath","referencedDeclaration":82885,"src":"2972:42:146"},"referencedDeclaration":82885,"src":"2972:42:146","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"}},"visibility":"internal"}],"id":82561,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82558,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3028:29:146","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3058:16:146","memberName":"_getVotesStorage","nodeType":"MemberAccess","referencedDeclaration":83042,"src":"3028:46:146","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotesStorage_$82885_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotesStorage storage pointer)"}},"id":82560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3028:48:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2972:104:146"},{"assignments":[82566],"declarations":[{"constant":false,"id":82566,"mutability":"mutable","name":"ext","nameLocation":"3145:3:146","nodeType":"VariableDeclaration","scope":82660,"src":"3082:66:146","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":82565,"nodeType":"UserDefinedTypeName","pathNode":{"id":82564,"name":"XAllocationVotingStorageTypes.ExternalContractsStorage","nameLocations":["3082:29:146","3112:24:146"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"3082:54:146"},"referencedDeclaration":83004,"src":"3082:54:146","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"id":82570,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82567,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"3151:29:146","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3188:28:146","memberName":"_getExternalContractsStorage","nodeType":"MemberAccess","referencedDeclaration":83090,"src":"3151:65:146","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ExternalContractsStorage_$83004_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer)"}},"id":82569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3151:67:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3082:136:146"},{"assignments":[82572],"declarations":[{"constant":false,"id":82572,"mutability":"mutable","name":"totalVotes","nameLocation":"3233:10:146","nodeType":"VariableDeclaration","scope":82660,"src":"3225:18:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82571,"name":"uint256","nodeType":"ElementaryTypeName","src":"3225:7:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82579,"initialValue":{"arguments":[{"id":82576,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82546,"src":"3269:7:146","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82577,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82548,"src":"3278:9:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":82573,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82557,"src":"3246:2:146","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage storage pointer"}},"id":82574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3249:6:146","memberName":"_token","nodeType":"MemberAccess","referencedDeclaration":82884,"src":"3246:9:146","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"id":82575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3256:12:146","memberName":"getPastVotes","nodeType":"MemberAccess","referencedDeclaration":4459,"src":"3246:22:146","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":82578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3246:42:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3225:63:146"},{"assignments":[82582],"declarations":[{"constant":false,"id":82582,"mutability":"mutable","name":"navRegistry","nameLocation":"3314:11:146","nodeType":"VariableDeclaration","scope":82660,"src":"3295:30:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":82581,"nodeType":"UserDefinedTypeName","pathNode":{"id":82580,"name":"INavigatorRegistry","nameLocations":["3295:18:146"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"3295:18:146"},"referencedDeclaration":66638,"src":"3295:18:146","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"id":82585,"initialValue":{"expression":{"id":82583,"name":"ext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82566,"src":"3328:3:146","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":82584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3332:18:146","memberName":"_navigatorRegistry","nodeType":"MemberAccess","referencedDeclaration":83003,"src":"3328:22:146","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"nodeType":"VariableDeclarationStatement","src":"3295:55:146"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":82605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":82588,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82582,"src":"3368:11:146","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":82587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3360:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82586,"name":"address","nodeType":"ElementaryTypeName","src":"3360:7:146","typeDescriptions":{}}},"id":82589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3360:20:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":82592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3392:1:146","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":82591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3384:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82590,"name":"address","nodeType":"ElementaryTypeName","src":"3384:7:146","typeDescriptions":{}}},"id":82593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:10:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3360:34:146","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":82597,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82546,"src":"3434:7:146","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82598,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82548,"src":"3443:9:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82595,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82582,"src":"3398:11:146","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":82596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3410:23:146","memberName":"getNavigatorAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66339,"src":"3398:35:146","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":82599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3398:55:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":82602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3465:1:146","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":82601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3457:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82600,"name":"address","nodeType":"ElementaryTypeName","src":"3457:7:146","typeDescriptions":{}}},"id":82603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3457:10:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3398:69:146","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3360:107:146","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82613,"nodeType":"IfStatement","src":"3356:196:146","trueBody":{"id":82612,"nodeType":"Block","src":"3469:83:146","statements":[{"expression":{"arguments":[{"id":82608,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82546,"src":"3526:7:146","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82609,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82548,"src":"3535:9:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82606,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82582,"src":"3484:11:146","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":82607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3496:29:146","memberName":"getDelegatedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66409,"src":"3484:41:146","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":82610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3484:61:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82552,"id":82611,"nodeType":"Return","src":"3477:68:146"}]}},{"assignments":[82616],"declarations":[{"constant":false,"id":82616,"mutability":"mutable","name":"b3trGovernor","nameLocation":"3657:12:146","nodeType":"VariableDeclaration","scope":82660,"src":"3643:26:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":82615,"nodeType":"UserDefinedTypeName","pathNode":{"id":82614,"name":"IB3TRGovernor","nameLocations":["3643:13:146"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"3643:13:146"},"referencedDeclaration":63919,"src":"3643:13:146","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"}],"id":82619,"initialValue":{"expression":{"id":82617,"name":"ext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82566,"src":"3672:3:146","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage storage pointer"}},"id":82618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3676:13:146","memberName":"_b3trGovernor","nodeType":"MemberAccess","referencedDeclaration":82997,"src":"3672:17:146","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"nodeType":"VariableDeclarationStatement","src":"3643:46:146"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":82622,"name":"b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82616,"src":"3707:12:146","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}],"id":82621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3699:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82620,"name":"address","nodeType":"ElementaryTypeName","src":"3699:7:146","typeDescriptions":{}}},"id":82623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3699:21:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":82626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3732:1:146","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":82625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3724:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82624,"name":"address","nodeType":"ElementaryTypeName","src":"3724:7:146","typeDescriptions":{}}},"id":82627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3724:10:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3699:35:146","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82638,"nodeType":"IfStatement","src":"3695:124:146","trueBody":{"id":82637,"nodeType":"Block","src":"3736:83:146","statements":[{"expression":{"id":82635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82629,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82572,"src":"3744:10:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":82632,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82546,"src":"3793:7:146","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82633,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82548,"src":"3802:9:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82630,"name":"b3trGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82616,"src":"3758:12:146","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"id":82631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3771:21:146","memberName":"getDepositVotingPower","nodeType":"MemberAccess","referencedDeclaration":63754,"src":"3758:34:146","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":82634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3758:54:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3744:68:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82636,"nodeType":"ExpressionStatement","src":"3744:68:146"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":82641,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82582,"src":"3974:11:146","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}],"id":82640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3966:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82639,"name":"address","nodeType":"ElementaryTypeName","src":"3966:7:146","typeDescriptions":{}}},"id":82642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3966:20:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":82645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3998:1:146","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":82644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3990:7:146","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82643,"name":"address","nodeType":"ElementaryTypeName","src":"3990:7:146","typeDescriptions":{}}},"id":82646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3990:10:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3966:34:146","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82657,"nodeType":"IfStatement","src":"3962:127:146","trueBody":{"id":82656,"nodeType":"Block","src":"4002:87:146","statements":[{"expression":{"id":82654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82648,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82572,"src":"4010:10:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":82651,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82546,"src":"4063:7:146","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82652,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82548,"src":"4072:9:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82649,"name":"navRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82582,"src":"4024:11:146","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"id":82650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4036:26:146","memberName":"getStakedAmountAtTimepoint","nodeType":"MemberAccess","referencedDeclaration":66321,"src":"4024:38:146","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":82653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4024:58:146","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4010:72:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82655,"nodeType":"ExpressionStatement","src":"4010:72:146"}]}},{"expression":{"id":82658,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82572,"src":"4102:10:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82552,"id":82659,"nodeType":"Return","src":"4095:17:146"}]},"documentation":{"id":82544,"nodeType":"StructuredDocumentation","src":"2225:652:146","text":" @notice Returns the effective voting power of an account at a given timepoint.\n @dev For non-delegated users: VOT3 balance + deposit voting power (proposal support) + staked B3TR\n      (converted to VOT3 under the hood, counts as voting power for navigators; returns 0 for non-navigators).\n      For navigator-delegated citizens: delegated amount only (deposits excluded\n      because the navigator votes with only the delegated amount).\n @param account The address to get votes for\n @param timepoint The timepoint (block number / timestamp) to query\n @return The effective voting power at the given timepoint"},"functionSelector":"eb9019d4","id":82661,"implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"2889:8:146","nodeType":"FunctionDefinition","parameters":{"id":82549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82546,"mutability":"mutable","name":"account","nameLocation":"2906:7:146","nodeType":"VariableDeclaration","scope":82661,"src":"2898:15:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82545,"name":"address","nodeType":"ElementaryTypeName","src":"2898:7:146","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82548,"mutability":"mutable","name":"timepoint","nameLocation":"2923:9:146","nodeType":"VariableDeclaration","scope":82661,"src":"2915:17:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82547,"name":"uint256","nodeType":"ElementaryTypeName","src":"2915:7:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2897:36:146"},"returnParameters":{"id":82552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82661,"src":"2957:7:146","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82550,"name":"uint256","nodeType":"ElementaryTypeName","src":"2957:7:146","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2956:9:146"},"scope":82662,"src":"2880:1237:146","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":82663,"src":"734:3385:146","usedErrors":[7025],"usedEvents":[]}],"src":"32:4088:146"},"id":146},"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol","exportedSymbols":{"VotingSettingsUtils":[82801],"XAllocationVotingStorageTypes":[83099]},"id":82802,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":82664,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:147"},{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","file":"./XAllocationVotingStorageTypes.sol","id":82666,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82802,"sourceUnit":83100,"src":"57:84:147","symbolAliases":[{"foreign":{"id":82665,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"66:29:147","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"VotingSettingsUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":82667,"nodeType":"StructuredDocumentation","src":"143:216:147","text":" @title VotingSettingsUtils\n @notice Library for managing voting period settings in the XAllocationVoting system.\n @dev Extracted from VotingSettingsUpgradeable module. Uses ERC-7201 namespaced storage."},"fullyImplemented":true,"id":82801,"linearizedBaseContracts":[82801],"name":"VotingSettingsUtils","nameLocation":"368:19:147","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":82668,"nodeType":"StructuredDocumentation","src":"392:53:147","text":"@notice Emitted when the voting period is updated"},"eventSelector":"7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828","id":82674,"name":"VotingPeriodSet","nameLocation":"454:15:147","nodeType":"EventDefinition","parameters":{"id":82673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82670,"indexed":false,"mutability":"mutable","name":"oldVotingPeriod","nameLocation":"478:15:147","nodeType":"VariableDeclaration","scope":82674,"src":"470:23:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82669,"name":"uint256","nodeType":"ElementaryTypeName","src":"470:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82672,"indexed":false,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"503:15:147","nodeType":"VariableDeclaration","scope":82674,"src":"495:23:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82671,"name":"uint256","nodeType":"ElementaryTypeName","src":"495:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"469:50:147"},"src":"448:72:147"},{"anonymous":false,"documentation":{"id":82675,"nodeType":"StructuredDocumentation","src":"524:59:147","text":"@notice Emitted when the citizen skip window is updated"},"eventSelector":"75e6b9204b5cdeef455a644570d4efa3117566d11758242b7d55138eafa63af2","id":82681,"name":"CitizenSkipWindowBlocksSet","nameLocation":"592:26:147","nodeType":"EventDefinition","parameters":{"id":82680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82677,"indexed":false,"mutability":"mutable","name":"oldValue","nameLocation":"627:8:147","nodeType":"VariableDeclaration","scope":82681,"src":"619:16:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82676,"name":"uint256","nodeType":"ElementaryTypeName","src":"619:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82679,"indexed":false,"mutability":"mutable","name":"newValue","nameLocation":"645:8:147","nodeType":"VariableDeclaration","scope":82681,"src":"637:16:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82678,"name":"uint256","nodeType":"ElementaryTypeName","src":"637:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"618:36:147"},"src":"586:69:147"},{"documentation":{"id":82682,"nodeType":"StructuredDocumentation","src":"659:90:147","text":"@notice Thrown when the voting period is invalid (zero or >= emissions cycle duration)"},"errorSelector":"f1cfbf05","id":82686,"name":"GovernorInvalidVotingPeriod","nameLocation":"758:27:147","nodeType":"ErrorDefinition","parameters":{"id":82685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82684,"mutability":"mutable","name":"votingPeriod","nameLocation":"794:12:147","nodeType":"VariableDeclaration","scope":82686,"src":"786:20:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82683,"name":"uint256","nodeType":"ElementaryTypeName","src":"786:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"785:22:147"},"src":"752:56:147"},{"body":{"id":82704,"nodeType":"Block","src":"968:167:147","statements":[{"assignments":[82696],"declarations":[{"constant":false,"id":82696,"mutability":"mutable","name":"$","nameLocation":"1034:1:147","nodeType":"VariableDeclaration","scope":82704,"src":"974:61:147","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage"},"typeName":{"id":82695,"nodeType":"UserDefinedTypeName","pathNode":{"id":82694,"name":"XAllocationVotingStorageTypes.VotingSettingsStorage","nameLocations":["974:29:147","1004:21:147"],"nodeType":"IdentifierPath","referencedDeclaration":82881,"src":"974:51:147"},"referencedDeclaration":82881,"src":"974:51:147","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage"}},"visibility":"internal"}],"id":82700,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82697,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1038:29:147","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1075:25:147","memberName":"_getVotingSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83034,"src":"1038:62:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotingSettingsStorage_$82881_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer)"}},"id":82699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1038:64:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"974:128:147"},{"expression":{"expression":{"id":82701,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82696,"src":"1115:1:147","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer"}},"id":82702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1117:13:147","memberName":"_votingPeriod","nodeType":"MemberAccess","referencedDeclaration":82878,"src":"1115:15:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":82691,"id":82703,"nodeType":"Return","src":"1108:22:147"}]},"documentation":{"id":82687,"nodeType":"StructuredDocumentation","src":"812:97:147","text":" @notice Returns the current voting period\n @return The voting period in blocks"},"functionSelector":"02a251a3","id":82705,"implemented":true,"kind":"function","modifiers":[],"name":"votingPeriod","nameLocation":"921:12:147","nodeType":"FunctionDefinition","parameters":{"id":82688,"nodeType":"ParameterList","parameters":[],"src":"933:2:147"},"returnParameters":{"id":82691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82705,"src":"959:7:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82689,"name":"uint256","nodeType":"ElementaryTypeName","src":"959:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"958:9:147"},"scope":82801,"src":"912:223:147","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":82752,"nodeType":"Block","src":"1549:517:147","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":82715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82713,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82708,"src":"1559:15:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":82714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1578:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1559:20:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82721,"nodeType":"IfStatement","src":"1555:78:147","trueBody":{"id":82720,"nodeType":"Block","src":"1581:52:147","statements":[{"errorCall":{"arguments":[{"hexValue":"30","id":82717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1624:1:147","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":82716,"name":"GovernorInvalidVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82686,"src":"1596:27:147","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":82718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1596:30:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82719,"nodeType":"RevertStatement","src":"1589:37:147"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82722,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82708,"src":"1718:15:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":82723,"name":"emissionsCycleDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82710,"src":"1737:22:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1718:41:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82730,"nodeType":"IfStatement","src":"1714:113:147","trueBody":{"id":82729,"nodeType":"Block","src":"1761:66:147","statements":[{"errorCall":{"arguments":[{"id":82726,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82708,"src":"1804:15:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":82725,"name":"GovernorInvalidVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82686,"src":"1776:27:147","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":82727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1776:44:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82728,"nodeType":"RevertStatement","src":"1769:51:147"}]}},{"assignments":[82735],"declarations":[{"constant":false,"id":82735,"mutability":"mutable","name":"$","nameLocation":"1893:1:147","nodeType":"VariableDeclaration","scope":82752,"src":"1833:61:147","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage"},"typeName":{"id":82734,"nodeType":"UserDefinedTypeName","pathNode":{"id":82733,"name":"XAllocationVotingStorageTypes.VotingSettingsStorage","nameLocations":["1833:29:147","1863:21:147"],"nodeType":"IdentifierPath","referencedDeclaration":82881,"src":"1833:51:147"},"referencedDeclaration":82881,"src":"1833:51:147","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage"}},"visibility":"internal"}],"id":82739,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82736,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"1897:29:147","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1934:25:147","memberName":"_getVotingSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83034,"src":"1897:62:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotingSettingsStorage_$82881_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer)"}},"id":82738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1897:64:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"1833:128:147"},{"eventCall":{"arguments":[{"expression":{"id":82741,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82735,"src":"1989:1:147","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer"}},"id":82742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1991:13:147","memberName":"_votingPeriod","nodeType":"MemberAccess","referencedDeclaration":82878,"src":"1989:15:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":82743,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82708,"src":"2006:15:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":82740,"name":"VotingPeriodSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82674,"src":"1973:15:147","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":82744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1973:49:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82745,"nodeType":"EmitStatement","src":"1968:54:147"},{"expression":{"id":82750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82746,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82735,"src":"2028:1:147","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer"}},"id":82748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2030:13:147","memberName":"_votingPeriod","nodeType":"MemberAccess","referencedDeclaration":82878,"src":"2028:15:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82749,"name":"newVotingPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82708,"src":"2046:15:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"2028:33:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":82751,"nodeType":"ExpressionStatement","src":"2028:33:147"}]},"documentation":{"id":82706,"nodeType":"StructuredDocumentation","src":"1139:317:147","text":" @notice Sets the voting period\n @param newVotingPeriod The new voting period in blocks\n @param emissionsCycleDuration The current emissions cycle duration (caller must provide)\n @dev Validates that newVotingPeriod > 0 and < emissionsCycleDuration.\n Emits a {VotingPeriodSet} event."},"functionSelector":"0ff235a9","id":82753,"implemented":true,"kind":"function","modifiers":[],"name":"setVotingPeriod","nameLocation":"1468:15:147","nodeType":"FunctionDefinition","parameters":{"id":82711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82708,"mutability":"mutable","name":"newVotingPeriod","nameLocation":"1491:15:147","nodeType":"VariableDeclaration","scope":82753,"src":"1484:22:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":82707,"name":"uint32","nodeType":"ElementaryTypeName","src":"1484:6:147","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":82710,"mutability":"mutable","name":"emissionsCycleDuration","nameLocation":"1516:22:147","nodeType":"VariableDeclaration","scope":82753,"src":"1508:30:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82709,"name":"uint256","nodeType":"ElementaryTypeName","src":"1508:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1483:56:147"},"returnParameters":{"id":82712,"nodeType":"ParameterList","parameters":[],"src":"1549:0:147"},"scope":82801,"src":"1459:607:147","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":82764,"nodeType":"Block","src":"2243:100:147","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82759,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2256:29:147","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2286:25:147","memberName":"_getVotingSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83034,"src":"2256:55:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotingSettingsStorage_$82881_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer)"}},"id":82761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2256:57:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer"}},"id":82762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2314:24:147","memberName":"_citizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82880,"src":"2256:82:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82758,"id":82763,"nodeType":"Return","src":"2249:89:147"}]},"documentation":{"id":82754,"nodeType":"StructuredDocumentation","src":"2070:103:147","text":" @notice Returns the citizen skip window in blocks\n @return The skip window in blocks"},"functionSelector":"abc517fd","id":82765,"implemented":true,"kind":"function","modifiers":[],"name":"citizenSkipWindowBlocks","nameLocation":"2185:23:147","nodeType":"FunctionDefinition","parameters":{"id":82755,"nodeType":"ParameterList","parameters":[],"src":"2208:2:147"},"returnParameters":{"id":82758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82757,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82765,"src":"2234:7:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82756,"name":"uint256","nodeType":"ElementaryTypeName","src":"2234:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2233:9:147"},"scope":82801,"src":"2176:167:147","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":82799,"nodeType":"Block","src":"2515:332:147","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82772,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82768,"src":"2529:8:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":82773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2540:1:147","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2529:12:147","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f74696e6753657474696e67735574696c733a20736b69702077696e646f77206d757374206265203e2030","id":82775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2543:46:147","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a1a4a2c547a23d7256a23364bd454f9ca55d047c66b2f63ead306ccecf867ce","typeString":"literal_string \"VotingSettingsUtils: skip window must be > 0\""},"value":"VotingSettingsUtils: skip window must be > 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9a1a4a2c547a23d7256a23364bd454f9ca55d047c66b2f63ead306ccecf867ce","typeString":"literal_string \"VotingSettingsUtils: skip window must be > 0\""}],"id":82771,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2521:7:147","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":82776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2521:69:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82777,"nodeType":"ExpressionStatement","src":"2521:69:147"},{"assignments":[82782],"declarations":[{"constant":false,"id":82782,"mutability":"mutable","name":"$","nameLocation":"2656:1:147","nodeType":"VariableDeclaration","scope":82799,"src":"2596:61:147","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage"},"typeName":{"id":82781,"nodeType":"UserDefinedTypeName","pathNode":{"id":82780,"name":"XAllocationVotingStorageTypes.VotingSettingsStorage","nameLocations":["2596:29:147","2626:21:147"],"nodeType":"IdentifierPath","referencedDeclaration":82881,"src":"2596:51:147"},"referencedDeclaration":82881,"src":"2596:51:147","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage"}},"visibility":"internal"}],"id":82786,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82783,"name":"XAllocationVotingStorageTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83099,"src":"2660:29:147","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_XAllocationVotingStorageTypes_$83099_$","typeString":"type(library XAllocationVotingStorageTypes)"}},"id":82784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2697:25:147","memberName":"_getVotingSettingsStorage","nodeType":"MemberAccess","referencedDeclaration":83034,"src":"2660:62:147","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_VotingSettingsStorage_$82881_storage_ptr_$","typeString":"function () pure returns (struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer)"}},"id":82785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2660:64:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2596:128:147"},{"eventCall":{"arguments":[{"expression":{"id":82788,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82782,"src":"2762:1:147","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer"}},"id":82789,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2764:24:147","memberName":"_citizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82880,"src":"2762:26:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":82790,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82768,"src":"2790:8:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82787,"name":"CitizenSkipWindowBlocksSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82681,"src":"2735:26:147","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":82791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2735:64:147","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82792,"nodeType":"EmitStatement","src":"2730:69:147"},{"expression":{"id":82797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82793,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82782,"src":"2805:1:147","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage storage pointer"}},"id":82795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2807:24:147","memberName":"_citizenSkipWindowBlocks","nodeType":"MemberAccess","referencedDeclaration":82880,"src":"2805:26:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82796,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82768,"src":"2834:8:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2805:37:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82798,"nodeType":"ExpressionStatement","src":"2805:37:147"}]},"documentation":{"id":82766,"nodeType":"StructuredDocumentation","src":"2347:102:147","text":" @notice Sets the citizen skip window\n @param newValue The new skip window in blocks"},"functionSelector":"9382c818","id":82800,"implemented":true,"kind":"function","modifiers":[],"name":"setCitizenSkipWindowBlocks","nameLocation":"2461:26:147","nodeType":"FunctionDefinition","parameters":{"id":82769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82768,"mutability":"mutable","name":"newValue","nameLocation":"2496:8:147","nodeType":"VariableDeclaration","scope":82800,"src":"2488:16:147","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82767,"name":"uint256","nodeType":"ElementaryTypeName","src":"2488:7:147","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2487:18:147"},"returnParameters":{"id":82770,"nodeType":"ParameterList","parameters":[],"src":"2515:0:147"},"scope":82801,"src":"2452:395:147","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":82802,"src":"360:2489:147","usedErrors":[82686],"usedEvents":[82674,82681]}],"src":"32:2818:147"},"id":147},"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol","exportedSymbols":{"Checkpoints":[10447],"XAllocationVotingDataTypes":[82822]},"id":82823,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":82803,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:148"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":82805,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":82823,"sourceUnit":10448,"src":"57:84:148","symbolAliases":[{"foreign":{"id":82804,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"66:11:148","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"XAllocationVotingDataTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":82806,"nodeType":"StructuredDocumentation","src":"143:209:148","text":" @title XAllocationVotingDataTypes\n @notice Library defining data types used in the XAllocationVoting contract\n @dev Contains storage structures and data types for allocation voting functionality"},"fullyImplemented":true,"id":82822,"linearizedBaseContracts":[82822],"name":"XAllocationVotingDataTypes","nameLocation":"361:26:148","nodeType":"ContractDefinition","nodes":[{"canonicalName":"XAllocationVotingDataTypes.AutoVotingStorage","documentation":{"id":82807,"nodeType":"StructuredDocumentation","src":"392:325:148","text":" @dev Storage structure for AutoVoting\n @param _autoVotingEnabled Mapping of user addresses to their auto-voting status checkpoints\n @param _userVotingPreferences Mapping of user addresses to their preferred app IDs\n @param _totalAutoVotingUsers Checkpoint tracking total number of auto-voting users"},"id":82821,"members":[{"constant":false,"id":82812,"mutability":"mutable","name":"_autoVotingEnabled","nameLocation":"792:18:148","nodeType":"VariableDeclaration","scope":82821,"src":"751:59:148","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":82811,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":82808,"name":"address","nodeType":"ElementaryTypeName","src":"759:7:148","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"751:40:148","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82810,"nodeType":"UserDefinedTypeName","pathNode":{"id":82809,"name":"Checkpoints.Trace208","nameLocations":["770:11:148","782:8:148"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"770:20:148"},"referencedDeclaration":9409,"src":"770:20:148","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":82817,"mutability":"mutable","name":"_userVotingPreferences","nameLocation":"846:22:148","nodeType":"VariableDeclaration","scope":82821,"src":"816:52:148","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[])"},"typeName":{"id":82816,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":82813,"name":"address","nodeType":"ElementaryTypeName","src":"824:7:148","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"816:29:148","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":82814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"835:7:148","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":82815,"nodeType":"ArrayTypeName","src":"835:9:148","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"visibility":"internal"},{"constant":false,"id":82820,"mutability":"mutable","name":"_totalAutoVotingUsers","nameLocation":"895:21:148","nodeType":"VariableDeclaration","scope":82821,"src":"874:42:148","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":82819,"nodeType":"UserDefinedTypeName","pathNode":{"id":82818,"name":"Checkpoints.Trace208","nameLocations":["874:11:148","886:8:148"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"874:20:148"},"referencedDeclaration":9409,"src":"874:20:148","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"}],"name":"AutoVotingStorage","nameLocation":"727:17:148","nodeType":"StructDefinition","scope":82822,"src":"720:201:148","visibility":"public"}],"scope":82823,"src":"353:570:148","usedErrors":[],"usedEvents":[]}],"src":"32:892:148"},"id":148},"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol":{"ast":{"absolutePath":"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol","exportedSymbols":{"Checkpoints":[10447],"IB3TRGovernor":[63919],"IERC5805":[4537],"IEmissions":[64454],"INavigatorRegistry":[66638],"IRelayerRewardsPool":[67117],"IVeBetterPassport":[68601],"IVoterRewards":[69092],"IX2EarnApps":[69989],"XAllocationVotingStorageTypes":[83099]},"id":83100,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":82824,"literals":["solidity","0.8",".20"],"nodeType":"PragmaDirective","src":"32:23:149"},{"absolutePath":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","file":"@openzeppelin/contracts/utils/structs/Checkpoints.sol","id":82826,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":83100,"sourceUnit":10448,"src":"57:84:149","symbolAliases":[{"foreign":{"id":82825,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"66:11:149","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC5805.sol","file":"@openzeppelin/contracts/interfaces/IERC5805.sol","id":82828,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":83100,"sourceUnit":4538,"src":"142:75:149","symbolAliases":[{"foreign":{"id":82827,"name":"IERC5805","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4537,"src":"151:8:149","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IEmissions.sol","file":"../../interfaces/IEmissions.sol","id":82830,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":83100,"sourceUnit":64455,"src":"218:61:149","symbolAliases":[{"foreign":{"id":82829,"name":"IEmissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64454,"src":"227:10:149","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IX2EarnApps.sol","file":"../../interfaces/IX2EarnApps.sol","id":82832,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":83100,"sourceUnit":69990,"src":"280:63:149","symbolAliases":[{"foreign":{"id":82831,"name":"IX2EarnApps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69989,"src":"289:11:149","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVoterRewards.sol","file":"../../interfaces/IVoterRewards.sol","id":82834,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":83100,"sourceUnit":69093,"src":"344:67:149","symbolAliases":[{"foreign":{"id":82833,"name":"IVoterRewards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69092,"src":"353:13:149","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IVeBetterPassport.sol","file":"../../interfaces/IVeBetterPassport.sol","id":82836,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":83100,"sourceUnit":68602,"src":"412:75:149","symbolAliases":[{"foreign":{"id":82835,"name":"IVeBetterPassport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68601,"src":"421:17:149","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IB3TRGovernor.sol","file":"../../interfaces/IB3TRGovernor.sol","id":82838,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":83100,"sourceUnit":63920,"src":"488:67:149","symbolAliases":[{"foreign":{"id":82837,"name":"IB3TRGovernor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63919,"src":"497:13:149","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/IRelayerRewardsPool.sol","file":"../../interfaces/IRelayerRewardsPool.sol","id":82840,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":83100,"sourceUnit":67118,"src":"556:79:149","symbolAliases":[{"foreign":{"id":82839,"name":"IRelayerRewardsPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67117,"src":"565:19:149","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/interfaces/INavigatorRegistry.sol","file":"../../interfaces/INavigatorRegistry.sol","id":82842,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":83100,"sourceUnit":66639,"src":"636:77:149","symbolAliases":[{"foreign":{"id":82841,"name":"INavigatorRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66638,"src":"645:18:149","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"XAllocationVotingStorageTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":82843,"nodeType":"StructuredDocumentation","src":"715:224:149","text":"@title XAllocationVotingStorageTypes\n @notice Defines all storage types and getters for the XAllocationVoting system.\n @dev Uses ERC-7201 namespaced storage pattern. Slot constants MUST NOT change across upgrades."},"fullyImplemented":true,"id":83099,"linearizedBaseContracts":[83099],"name":"XAllocationVotingStorageTypes","nameLocation":"947:29:149","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":82846,"mutability":"constant","name":"GovernorStorageLocation","nameLocation":"1092:23:149","nodeType":"VariableDeclaration","scope":83099,"src":"1067:121:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1067:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837666236336263643433336336393131306164393631626662653338616566353138313463626239653131616636666532313031316165343366623462653030","id":82845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1122:66:149","typeDescriptions":{"typeIdentifier":"t_rational_57765710672768799626165491671121261519051267988050200230250974502604607110656_by_1","typeString":"int_const 5776...(69 digits omitted)...0656"},"value":"0x7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be00"},"visibility":"private"},{"constant":true,"id":82849,"mutability":"constant","name":"VotingSettingsStorageLocation","nameLocation":"1217:29:149","nodeType":"VariableDeclaration","scope":83099,"src":"1192:127:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1192:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307864363964303638303533363731383831643235613464373531646361643165363932373439643962323431383466363038636231643031616633613939393030","id":82848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1253:66:149","typeDescriptions":{"typeIdentifier":"t_rational_97072389456123798922558854231403716866043431376468812838237617778661698148608_by_1","typeString":"int_const 9707...(69 digits omitted)...8608"},"value":"0xd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a99900"},"visibility":"private"},{"constant":true,"id":82852,"mutability":"constant","name":"VotesStorageLocation","nameLocation":"1348:20:149","nodeType":"VariableDeclaration","scope":83099,"src":"1323:118:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1323:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307836656231626630613136306364663162356536336635653563366233313066366332353432636439653261343766663162633937376335323664666162353030","id":82851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1375:66:149","typeDescriptions":{"typeIdentifier":"t_rational_50068463780098945865951985210166762119830310029031004036240120053434102232320_by_1","typeString":"int_const 5006...(69 digits omitted)...2320"},"value":"0x6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab500"},"visibility":"private"},{"constant":true,"id":82855,"mutability":"constant","name":"VotesQuorumFractionStorageLocation","nameLocation":"1470:34:149","nodeType":"VariableDeclaration","scope":83099,"src":"1445:132:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1445:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307834396439393238346430313336343766353265326132363766643539343435383362643336626531373434336537383465633365383662626434633332343030","id":82854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1511:66:149","typeDescriptions":{"typeIdentifier":"t_rational_33403254995227881543705515889457669818781179811184482133917306896037471003648_by_1","typeString":"int_const 3340...(69 digits omitted)...3648"},"value":"0x49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c32400"},"visibility":"private"},{"constant":true,"id":82858,"mutability":"constant","name":"RoundVotesCountingStorageLocation","nameLocation":"1606:33:149","nodeType":"VariableDeclaration","scope":83099,"src":"1581:131:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1581:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307861373630633034316434613966613361326336376430643332356633353932626132633765343333306637626132323833656266396665363339313364353030","id":82857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1646:66:149","typeDescriptions":{"typeIdentifier":"t_rational_75707189941715459407976635804996749017233695915597846200462631701644016080128_by_1","typeString":"int_const 7570...(69 digits omitted)...0128"},"value":"0xa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d500"},"visibility":"private"},{"constant":true,"id":82861,"mutability":"constant","name":"EarningsSettingsStorageLocation","nameLocation":"1741:31:149","nodeType":"VariableDeclaration","scope":83099,"src":"1716:129:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1716:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307863373464623465313931343130633761366331386631343638346531323138623565383763343439643066383161623437653863363762663937316333353030","id":82860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1779:66:149","typeDescriptions":{"typeIdentifier":"t_rational_90147552487685411082755859645775835527521746310334070795643373317980065379584_by_1","typeString":"int_const 9014...(69 digits omitted)...9584"},"value":"0xc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c3500"},"visibility":"private"},{"constant":true,"id":82864,"mutability":"constant","name":"RoundFinalizationStorageLocation","nameLocation":"1874:32:149","nodeType":"VariableDeclaration","scope":83099,"src":"1849:130:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1849:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837646433323531623938383261386230376463323833613062343331393761613262653361366166316137663032383430373066653564383665353032353030","id":82863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1913:66:149","typeDescriptions":{"typeIdentifier":"t_rational_56912166912171147209313599689234814512225880911826322595024863211913751831808_by_1","typeString":"int_const 5691...(69 digits omitted)...1808"},"value":"0x7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e502500"},"visibility":"private"},{"constant":true,"id":82867,"mutability":"constant","name":"RoundsStorageStorageLocation","nameLocation":"2008:28:149","nodeType":"VariableDeclaration","scope":83099,"src":"1983:126:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1983:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307830663532313063343763336262373363343731373730613163626235623764646330336330656338383636393463633137616532316431663539356631393030","id":82866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2043:66:149","typeDescriptions":{"typeIdentifier":"t_rational_6929689913235208558324634004230702343375600041120498433503329356232945244416_by_1","typeString":"int_const 6929...(68 digits omitted)...4416"},"value":"0x0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f1900"},"visibility":"private"},{"constant":true,"id":82870,"mutability":"constant","name":"ExternalContractsStorageLocation","nameLocation":"2138:32:149","nodeType":"VariableDeclaration","scope":83099,"src":"2113:130:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2113:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307831646138636262623262313239383761343337353935363035343332613662626538346330386539363835616661616565353933663035363539663530643030","id":82869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2177:66:149","typeDescriptions":{"typeIdentifier":"t_rational_13415309016351997406114026504463319987678381007976206569466059973884044971264_by_1","typeString":"int_const 1341...(69 digits omitted)...1264"},"value":"0x1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00"},"visibility":"private"},{"constant":true,"id":82873,"mutability":"constant","name":"AutoVotingStorageLocation","nameLocation":"2272:25:149","nodeType":"VariableDeclaration","scope":83099,"src":"2247:123:149","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2247:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307833386261346439323034373430323562633131393835316435313633303739346162323564633931623566363133616663336330653835663039666463313030","id":82872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2304:66:149","typeDescriptions":{"typeIdentifier":"t_rational_25658688445801586100277369522089327290399681424734744397325263245830673776896_by_1","typeString":"int_const 2565...(69 digits omitted)...6896"},"value":"0x38ba4d920474025bc119851d51630794ab25dc91b5f613afc3c0e85f09fdc100"},"visibility":"private"},{"canonicalName":"XAllocationVotingStorageTypes.GovernorStorage","id":82876,"members":[{"constant":false,"id":82875,"mutability":"mutable","name":"_name","nameLocation":"2486:5:149","nodeType":"VariableDeclaration","scope":82876,"src":"2479:12:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":82874,"name":"string","nodeType":"ElementaryTypeName","src":"2479:6:149","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"GovernorStorage","nameLocation":"2457:15:149","nodeType":"StructDefinition","scope":83099,"src":"2450:46:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.VotingSettingsStorage","id":82881,"members":[{"constant":false,"id":82878,"mutability":"mutable","name":"_votingPeriod","nameLocation":"2542:13:149","nodeType":"VariableDeclaration","scope":82881,"src":"2535:20:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":82877,"name":"uint32","nodeType":"ElementaryTypeName","src":"2535:6:149","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":82880,"mutability":"mutable","name":"_citizenSkipWindowBlocks","nameLocation":"2664:24:149","nodeType":"VariableDeclaration","scope":82881,"src":"2656:32:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82879,"name":"uint256","nodeType":"ElementaryTypeName","src":"2656:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"VotingSettingsStorage","nameLocation":"2507:21:149","nodeType":"StructDefinition","scope":83099,"src":"2500:193:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.VotesStorage","id":82885,"members":[{"constant":false,"id":82884,"mutability":"mutable","name":"_token","nameLocation":"2732:6:149","nodeType":"VariableDeclaration","scope":82885,"src":"2723:15:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"},"typeName":{"id":82883,"nodeType":"UserDefinedTypeName","pathNode":{"id":82882,"name":"IERC5805","nameLocations":["2723:8:149"],"nodeType":"IdentifierPath","referencedDeclaration":4537,"src":"2723:8:149"},"referencedDeclaration":4537,"src":"2723:8:149","typeDescriptions":{"typeIdentifier":"t_contract$_IERC5805_$4537","typeString":"contract IERC5805"}},"visibility":"internal"}],"name":"VotesStorage","nameLocation":"2704:12:149","nodeType":"StructDefinition","scope":83099,"src":"2697:46:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.VotesQuorumFractionStorage","id":82889,"members":[{"constant":false,"id":82888,"mutability":"mutable","name":"_quorumNumeratorHistory","nameLocation":"2808:23:149","nodeType":"VariableDeclaration","scope":82889,"src":"2787:44:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":82887,"nodeType":"UserDefinedTypeName","pathNode":{"id":82886,"name":"Checkpoints.Trace208","nameLocations":["2787:11:149","2799:8:149"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"2787:20:149"},"referencedDeclaration":9409,"src":"2787:20:149","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"}],"name":"VotesQuorumFractionStorage","nameLocation":"2754:26:149","nodeType":"StructDefinition","scope":83099,"src":"2747:89:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.RoundVote","id":82914,"members":[{"constant":false,"id":82893,"mutability":"mutable","name":"votesReceived","nameLocation":"2938:13:149","nodeType":"VariableDeclaration","scope":82914,"src":"2904:47:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":82892,"keyName":"appId","keyNameLocation":"2920:5:149","keyType":{"id":82890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2912:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2904:33:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82891,"name":"uint256","nodeType":"ElementaryTypeName","src":"2929:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":82897,"mutability":"mutable","name":"votesReceivedQF","nameLocation":"3053:15:149","nodeType":"VariableDeclaration","scope":82914,"src":"3019:49:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":82896,"keyName":"appId","keyNameLocation":"3035:5:149","keyType":{"id":82894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3027:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"3019:33:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82895,"name":"uint256","nodeType":"ElementaryTypeName","src":"3044:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":82899,"mutability":"mutable","name":"totalVotes","nameLocation":"3176:10:149","nodeType":"VariableDeclaration","scope":82914,"src":"3168:18:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82898,"name":"uint256","nodeType":"ElementaryTypeName","src":"3168:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82901,"mutability":"mutable","name":"totalVotesQF","nameLocation":"3258:12:149","nodeType":"VariableDeclaration","scope":82914,"src":"3250:20:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82900,"name":"uint256","nodeType":"ElementaryTypeName","src":"3250:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82905,"mutability":"mutable","name":"hasVoted","nameLocation":"3478:8:149","nodeType":"VariableDeclaration","scope":82914,"src":"3448:38:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":82904,"keyName":"user","keyNameLocation":"3464:4:149","keyType":{"id":82902,"name":"address","nodeType":"ElementaryTypeName","src":"3456:7:149","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3448:29:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82903,"name":"bool","nodeType":"ElementaryTypeName","src":"3472:4:149","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":82907,"mutability":"mutable","name":"totalVoters","nameLocation":"3543:11:149","nodeType":"VariableDeclaration","scope":82914,"src":"3535:19:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82906,"name":"uint256","nodeType":"ElementaryTypeName","src":"3535:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82913,"mutability":"mutable","name":"userVotedForApp","nameLocation":"3682:15:149","nodeType":"VariableDeclaration","scope":82914,"src":"3626:71:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes32 => bool))"},"typeName":{"id":82912,"keyName":"user","keyNameLocation":"3642:4:149","keyType":{"id":82908,"name":"address","nodeType":"ElementaryTypeName","src":"3634:7:149","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3626:55:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes32 => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82911,"keyName":"appId","keyNameLocation":"3666:5:149","keyType":{"id":82909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3658:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"3650:30:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82910,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:149","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"}],"name":"RoundVote","nameLocation":"2847:9:149","nodeType":"StructDefinition","scope":83099,"src":"2840:862:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.RoundVotesCountingStorage","id":82940,"members":[{"constant":false,"id":82918,"mutability":"mutable","name":"_hasVotedOnce","nameLocation":"3775:13:149","nodeType":"VariableDeclaration","scope":82940,"src":"3745:43:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":82917,"keyName":"user","keyNameLocation":"3761:4:149","keyType":{"id":82915,"name":"address","nodeType":"ElementaryTypeName","src":"3753:7:149","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3745:29:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82916,"name":"bool","nodeType":"ElementaryTypeName","src":"3769:4:149","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":82923,"mutability":"mutable","name":"_roundVotes","nameLocation":"3832:11:149","nodeType":"VariableDeclaration","scope":82940,"src":"3794:49:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote)"},"typeName":{"id":82922,"keyName":"roundId","keyNameLocation":"3810:7:149","keyType":{"id":82919,"name":"uint256","nodeType":"ElementaryTypeName","src":"3802:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3794:37:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundVote_$82914_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundVote)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82921,"nodeType":"UserDefinedTypeName","pathNode":{"id":82920,"name":"RoundVote","nameLocations":["3821:9:149"],"nodeType":"IdentifierPath","referencedDeclaration":82914,"src":"3821:9:149"},"referencedDeclaration":82914,"src":"3821:9:149","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVote_$82914_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVote"}}},"visibility":"internal"},{"constant":false,"id":82925,"mutability":"mutable","name":"votingThreshold","nameLocation":"3857:15:149","nodeType":"VariableDeclaration","scope":82940,"src":"3849:23:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82924,"name":"uint256","nodeType":"ElementaryTypeName","src":"3849:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82929,"mutability":"mutable","name":"_lastVoteFingerprint","nameLocation":"4077:20:149","nodeType":"VariableDeclaration","scope":82940,"src":"4043:54:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"typeName":{"id":82928,"keyName":"voter","keyNameLocation":"4059:5:149","keyType":{"id":82926,"name":"address","nodeType":"ElementaryTypeName","src":"4051:7:149","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4043:33:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4068:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"internal"},{"constant":false,"id":82933,"mutability":"mutable","name":"_lastFingerprintChangedRound","nameLocation":"4191:28:149","nodeType":"VariableDeclaration","scope":82940,"src":"4157:62:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":82932,"keyName":"voter","keyNameLocation":"4173:5:149","keyType":{"id":82930,"name":"address","nodeType":"ElementaryTypeName","src":"4165:7:149","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4157:33:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82931,"name":"uint256","nodeType":"ElementaryTypeName","src":"4182:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":82939,"mutability":"mutable","name":"_relayerVoteProcessed","nameLocation":"4471:21:149","nodeType":"VariableDeclaration","scope":82940,"src":"4412:80:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(address => bool))"},"typeName":{"id":82938,"keyName":"roundId","keyNameLocation":"4428:7:149","keyType":{"id":82934,"name":"uint256","nodeType":"ElementaryTypeName","src":"4420:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4412:58:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82937,"keyName":"voter","keyNameLocation":"4455:5:149","keyType":{"id":82935,"name":"address","nodeType":"ElementaryTypeName","src":"4447:7:149","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4439:30:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82936,"name":"bool","nodeType":"ElementaryTypeName","src":"4464:4:149","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"}],"name":"RoundVotesCountingStorage","nameLocation":"3713:25:149","nodeType":"StructDefinition","scope":83099,"src":"3706:791:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.EarningsSettingsStorage","id":82953,"members":[{"constant":false,"id":82942,"mutability":"mutable","name":"baseAllocationPercentage","nameLocation":"4546:24:149","nodeType":"VariableDeclaration","scope":82953,"src":"4538:32:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82941,"name":"uint256","nodeType":"ElementaryTypeName","src":"4538:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82944,"mutability":"mutable","name":"appSharesCap","nameLocation":"4584:12:149","nodeType":"VariableDeclaration","scope":82953,"src":"4576:20:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82943,"name":"uint256","nodeType":"ElementaryTypeName","src":"4576:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82948,"mutability":"mutable","name":"_roundBaseAllocationPercentage","nameLocation":"4638:30:149","nodeType":"VariableDeclaration","scope":82953,"src":"4602:66:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":82947,"keyName":"roundId","keyNameLocation":"4618:7:149","keyType":{"id":82945,"name":"uint256","nodeType":"ElementaryTypeName","src":"4610:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4602:35:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82946,"name":"uint256","nodeType":"ElementaryTypeName","src":"4629:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":82952,"mutability":"mutable","name":"_roundAppSharesCap","nameLocation":"4710:18:149","nodeType":"VariableDeclaration","scope":82953,"src":"4674:54:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":82951,"keyName":"roundId","keyNameLocation":"4690:7:149","keyType":{"id":82949,"name":"uint256","nodeType":"ElementaryTypeName","src":"4682:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4674:35:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82950,"name":"uint256","nodeType":"ElementaryTypeName","src":"4701:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"EarningsSettingsStorage","nameLocation":"4508:23:149","nodeType":"StructDefinition","scope":83099,"src":"4501:232:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.RoundFinalizationStorage","id":82962,"members":[{"constant":false,"id":82957,"mutability":"mutable","name":"_latestSucceededRoundId","nameLocation":"4811:23:149","nodeType":"VariableDeclaration","scope":82962,"src":"4775:59:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":82956,"keyName":"roundId","keyNameLocation":"4791:7:149","keyType":{"id":82954,"name":"uint256","nodeType":"ElementaryTypeName","src":"4783:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4775:35:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82955,"name":"uint256","nodeType":"ElementaryTypeName","src":"4802:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":82961,"mutability":"mutable","name":"_roundFinalized","nameLocation":"4873:15:149","nodeType":"VariableDeclaration","scope":82962,"src":"4840:48:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":82960,"keyName":"roundId","keyNameLocation":"4856:7:149","keyType":{"id":82958,"name":"uint256","nodeType":"ElementaryTypeName","src":"4848:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4840:32:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82959,"name":"bool","nodeType":"ElementaryTypeName","src":"4867:4:149","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"RoundFinalizationStorage","nameLocation":"4744:24:149","nodeType":"StructDefinition","scope":83099,"src":"4737:156:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.RoundCore","id":82969,"members":[{"constant":false,"id":82964,"mutability":"mutable","name":"proposer","nameLocation":"4928:8:149","nodeType":"VariableDeclaration","scope":82969,"src":"4920:16:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82963,"name":"address","nodeType":"ElementaryTypeName","src":"4920:7:149","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82966,"mutability":"mutable","name":"voteStart","nameLocation":"4949:9:149","nodeType":"VariableDeclaration","scope":82969,"src":"4942:16:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":82965,"name":"uint48","nodeType":"ElementaryTypeName","src":"4942:6:149","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":82968,"mutability":"mutable","name":"voteDuration","nameLocation":"4971:12:149","nodeType":"VariableDeclaration","scope":82969,"src":"4964:19:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":82967,"name":"uint32","nodeType":"ElementaryTypeName","src":"4964:6:149","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"name":"RoundCore","nameLocation":"4904:9:149","nodeType":"StructDefinition","scope":83099,"src":"4897:91:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.RoundsStorageStorage","id":82982,"members":[{"constant":false,"id":82971,"mutability":"mutable","name":"_roundCount","nameLocation":"5034:11:149","nodeType":"VariableDeclaration","scope":82982,"src":"5026:19:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82970,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":82976,"mutability":"mutable","name":"_rounds","nameLocation":"5089:7:149","nodeType":"VariableDeclaration","scope":82982,"src":"5051:45:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore)"},"typeName":{"id":82975,"keyName":"roundId","keyNameLocation":"5067:7:149","keyType":{"id":82972,"name":"uint256","nodeType":"ElementaryTypeName","src":"5059:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5051:37:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_RoundCore_$82969_storage_$","typeString":"mapping(uint256 => struct XAllocationVotingStorageTypes.RoundCore)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":82974,"nodeType":"UserDefinedTypeName","pathNode":{"id":82973,"name":"RoundCore","nameLocations":["5078:9:149"],"nodeType":"IdentifierPath","referencedDeclaration":82969,"src":"5078:9:149"},"referencedDeclaration":82969,"src":"5078:9:149","typeDescriptions":{"typeIdentifier":"t_struct$_RoundCore_$82969_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundCore"}}},"visibility":"internal"},{"constant":false,"id":82981,"mutability":"mutable","name":"_appsEligibleForVoting","nameLocation":"5140:22:149","nodeType":"VariableDeclaration","scope":82982,"src":"5102:60:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[])"},"typeName":{"id":82980,"keyName":"roundId","keyNameLocation":"5118:7:149","keyType":{"id":82977,"name":"uint256","nodeType":"ElementaryTypeName","src":"5110:7:149","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5102:37:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(uint256 => bytes32[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":82978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5129:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":82979,"nodeType":"ArrayTypeName","src":"5129:9:149","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"visibility":"internal"}],"name":"RoundsStorageStorage","nameLocation":"4999:20:149","nodeType":"StructDefinition","scope":83099,"src":"4992:175:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.ExternalContractsStorage","id":83004,"members":[{"constant":false,"id":82985,"mutability":"mutable","name":"_x2EarnApps","nameLocation":"5221:11:149","nodeType":"VariableDeclaration","scope":83004,"src":"5209:23:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"},"typeName":{"id":82984,"nodeType":"UserDefinedTypeName","pathNode":{"id":82983,"name":"IX2EarnApps","nameLocations":["5209:11:149"],"nodeType":"IdentifierPath","referencedDeclaration":69989,"src":"5209:11:149"},"referencedDeclaration":69989,"src":"5209:11:149","typeDescriptions":{"typeIdentifier":"t_contract$_IX2EarnApps_$69989","typeString":"contract IX2EarnApps"}},"visibility":"internal"},{"constant":false,"id":82988,"mutability":"mutable","name":"_emissions","nameLocation":"5249:10:149","nodeType":"VariableDeclaration","scope":83004,"src":"5238:21:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"},"typeName":{"id":82987,"nodeType":"UserDefinedTypeName","pathNode":{"id":82986,"name":"IEmissions","nameLocations":["5238:10:149"],"nodeType":"IdentifierPath","referencedDeclaration":64454,"src":"5238:10:149"},"referencedDeclaration":64454,"src":"5238:10:149","typeDescriptions":{"typeIdentifier":"t_contract$_IEmissions_$64454","typeString":"contract IEmissions"}},"visibility":"internal"},{"constant":false,"id":82991,"mutability":"mutable","name":"_voterRewards","nameLocation":"5279:13:149","nodeType":"VariableDeclaration","scope":83004,"src":"5265:27:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"},"typeName":{"id":82990,"nodeType":"UserDefinedTypeName","pathNode":{"id":82989,"name":"IVoterRewards","nameLocations":["5265:13:149"],"nodeType":"IdentifierPath","referencedDeclaration":69092,"src":"5265:13:149"},"referencedDeclaration":69092,"src":"5265:13:149","typeDescriptions":{"typeIdentifier":"t_contract$_IVoterRewards_$69092","typeString":"contract IVoterRewards"}},"visibility":"internal"},{"constant":false,"id":82994,"mutability":"mutable","name":"_veBetterPassport","nameLocation":"5316:17:149","nodeType":"VariableDeclaration","scope":83004,"src":"5298:35:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"},"typeName":{"id":82993,"nodeType":"UserDefinedTypeName","pathNode":{"id":82992,"name":"IVeBetterPassport","nameLocations":["5298:17:149"],"nodeType":"IdentifierPath","referencedDeclaration":68601,"src":"5298:17:149"},"referencedDeclaration":68601,"src":"5298:17:149","typeDescriptions":{"typeIdentifier":"t_contract$_IVeBetterPassport_$68601","typeString":"contract IVeBetterPassport"}},"visibility":"internal"},{"constant":false,"id":82997,"mutability":"mutable","name":"_b3trGovernor","nameLocation":"5353:13:149","nodeType":"VariableDeclaration","scope":83004,"src":"5339:27:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"},"typeName":{"id":82996,"nodeType":"UserDefinedTypeName","pathNode":{"id":82995,"name":"IB3TRGovernor","nameLocations":["5339:13:149"],"nodeType":"IdentifierPath","referencedDeclaration":63919,"src":"5339:13:149"},"referencedDeclaration":63919,"src":"5339:13:149","typeDescriptions":{"typeIdentifier":"t_contract$_IB3TRGovernor_$63919","typeString":"contract IB3TRGovernor"}},"visibility":"internal"},{"constant":false,"id":83000,"mutability":"mutable","name":"_relayerRewardsPool","nameLocation":"5392:19:149","nodeType":"VariableDeclaration","scope":83004,"src":"5372:39:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"},"typeName":{"id":82999,"nodeType":"UserDefinedTypeName","pathNode":{"id":82998,"name":"IRelayerRewardsPool","nameLocations":["5372:19:149"],"nodeType":"IdentifierPath","referencedDeclaration":67117,"src":"5372:19:149"},"referencedDeclaration":67117,"src":"5372:19:149","typeDescriptions":{"typeIdentifier":"t_contract$_IRelayerRewardsPool_$67117","typeString":"contract IRelayerRewardsPool"}},"visibility":"internal"},{"constant":false,"id":83003,"mutability":"mutable","name":"_navigatorRegistry","nameLocation":"5498:18:149","nodeType":"VariableDeclaration","scope":83004,"src":"5479:37:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"},"typeName":{"id":83002,"nodeType":"UserDefinedTypeName","pathNode":{"id":83001,"name":"INavigatorRegistry","nameLocations":["5479:18:149"],"nodeType":"IdentifierPath","referencedDeclaration":66638,"src":"5479:18:149"},"referencedDeclaration":66638,"src":"5479:18:149","typeDescriptions":{"typeIdentifier":"t_contract$_INavigatorRegistry_$66638","typeString":"contract INavigatorRegistry"}},"visibility":"internal"}],"name":"ExternalContractsStorage","nameLocation":"5178:24:149","nodeType":"StructDefinition","scope":83099,"src":"5171:350:149","visibility":"public"},{"canonicalName":"XAllocationVotingStorageTypes.AutoVotingStorage","id":83018,"members":[{"constant":false,"id":83009,"mutability":"mutable","name":"_autoVotingEnabled","nameLocation":"5597:18:149","nodeType":"VariableDeclaration","scope":83018,"src":"5556:59:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"typeName":{"id":83008,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":83005,"name":"address","nodeType":"ElementaryTypeName","src":"5564:7:149","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5556:40:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace208_$9409_storage_$","typeString":"mapping(address => struct Checkpoints.Trace208)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":83007,"nodeType":"UserDefinedTypeName","pathNode":{"id":83006,"name":"Checkpoints.Trace208","nameLocations":["5575:11:149","5587:8:149"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"5575:20:149"},"referencedDeclaration":9409,"src":"5575:20:149","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}}},"visibility":"internal"},{"constant":false,"id":83014,"mutability":"mutable","name":"_userVotingPreferences","nameLocation":"5651:22:149","nodeType":"VariableDeclaration","scope":83018,"src":"5621:52:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[])"},"typeName":{"id":83013,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":83010,"name":"address","nodeType":"ElementaryTypeName","src":"5629:7:149","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5621:29:149","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$","typeString":"mapping(address => bytes32[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":83011,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5640:7:149","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":83012,"nodeType":"ArrayTypeName","src":"5640:9:149","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"visibility":"internal"},{"constant":false,"id":83017,"mutability":"mutable","name":"_totalAutoVotingUsers","nameLocation":"5700:21:149","nodeType":"VariableDeclaration","scope":83018,"src":"5679:42:149","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"},"typeName":{"id":83016,"nodeType":"UserDefinedTypeName","pathNode":{"id":83015,"name":"Checkpoints.Trace208","nameLocations":["5679:11:149","5691:8:149"],"nodeType":"IdentifierPath","referencedDeclaration":9409,"src":"5679:20:149"},"referencedDeclaration":9409,"src":"5679:20:149","typeDescriptions":{"typeIdentifier":"t_struct$_Trace208_$9409_storage_ptr","typeString":"struct Checkpoints.Trace208"}},"visibility":"internal"}],"name":"AutoVotingStorage","nameLocation":"5532:17:149","nodeType":"StructDefinition","scope":83099,"src":"5525:201:149","visibility":"public"},{"body":{"id":83025,"nodeType":"Block","src":"5886:66:149","statements":[{"AST":{"nodeType":"YulBlock","src":"5901:47:149","statements":[{"nodeType":"YulAssignment","src":"5909:33:149","value":{"name":"GovernorStorageLocation","nodeType":"YulIdentifier","src":"5919:23:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"5909:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83022,"isOffset":false,"isSlot":true,"src":"5909:6:149","suffix":"slot","valueSize":1},{"declaration":82846,"isOffset":false,"isSlot":false,"src":"5919:23:149","valueSize":1}],"id":83024,"nodeType":"InlineAssembly","src":"5892:56:149"}]},"id":83026,"implemented":true,"kind":"function","modifiers":[],"name":"_getGovernorStorage","nameLocation":"5814:19:149","nodeType":"FunctionDefinition","parameters":{"id":83019,"nodeType":"ParameterList","parameters":[],"src":"5833:2:149"},"returnParameters":{"id":83023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83022,"mutability":"mutable","name":"$","nameLocation":"5883:1:149","nodeType":"VariableDeclaration","scope":83026,"src":"5859:25:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$82876_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.GovernorStorage"},"typeName":{"id":83021,"nodeType":"UserDefinedTypeName","pathNode":{"id":83020,"name":"GovernorStorage","nameLocations":["5859:15:149"],"nodeType":"IdentifierPath","referencedDeclaration":82876,"src":"5859:15:149"},"referencedDeclaration":82876,"src":"5859:15:149","typeDescriptions":{"typeIdentifier":"t_struct$_GovernorStorage_$82876_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.GovernorStorage"}},"visibility":"internal"}],"src":"5858:27:149"},"scope":83099,"src":"5805:147:149","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":83033,"nodeType":"Block","src":"6049:72:149","statements":[{"AST":{"nodeType":"YulBlock","src":"6064:53:149","statements":[{"nodeType":"YulAssignment","src":"6072:39:149","value":{"name":"VotingSettingsStorageLocation","nodeType":"YulIdentifier","src":"6082:29:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"6072:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83030,"isOffset":false,"isSlot":true,"src":"6072:6:149","suffix":"slot","valueSize":1},{"declaration":82849,"isOffset":false,"isSlot":false,"src":"6082:29:149","valueSize":1}],"id":83032,"nodeType":"InlineAssembly","src":"6055:62:149"}]},"id":83034,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotingSettingsStorage","nameLocation":"5965:25:149","nodeType":"FunctionDefinition","parameters":{"id":83027,"nodeType":"ParameterList","parameters":[],"src":"5990:2:149"},"returnParameters":{"id":83031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83030,"mutability":"mutable","name":"$","nameLocation":"6046:1:149","nodeType":"VariableDeclaration","scope":83034,"src":"6016:31:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage"},"typeName":{"id":83029,"nodeType":"UserDefinedTypeName","pathNode":{"id":83028,"name":"VotingSettingsStorage","nameLocations":["6016:21:149"],"nodeType":"IdentifierPath","referencedDeclaration":82881,"src":"6016:21:149"},"referencedDeclaration":82881,"src":"6016:21:149","typeDescriptions":{"typeIdentifier":"t_struct$_VotingSettingsStorage_$82881_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotingSettingsStorage"}},"visibility":"internal"}],"src":"6015:33:149"},"scope":83099,"src":"5956:165:149","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":83041,"nodeType":"Block","src":"6200:63:149","statements":[{"AST":{"nodeType":"YulBlock","src":"6215:44:149","statements":[{"nodeType":"YulAssignment","src":"6223:30:149","value":{"name":"VotesStorageLocation","nodeType":"YulIdentifier","src":"6233:20:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"6223:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83038,"isOffset":false,"isSlot":true,"src":"6223:6:149","suffix":"slot","valueSize":1},{"declaration":82852,"isOffset":false,"isSlot":false,"src":"6233:20:149","valueSize":1}],"id":83040,"nodeType":"InlineAssembly","src":"6206:53:149"}]},"id":83042,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotesStorage","nameLocation":"6134:16:149","nodeType":"FunctionDefinition","parameters":{"id":83035,"nodeType":"ParameterList","parameters":[],"src":"6150:2:149"},"returnParameters":{"id":83039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83038,"mutability":"mutable","name":"$","nameLocation":"6197:1:149","nodeType":"VariableDeclaration","scope":83042,"src":"6176:22:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"},"typeName":{"id":83037,"nodeType":"UserDefinedTypeName","pathNode":{"id":83036,"name":"VotesStorage","nameLocations":["6176:12:149"],"nodeType":"IdentifierPath","referencedDeclaration":82885,"src":"6176:12:149"},"referencedDeclaration":82885,"src":"6176:12:149","typeDescriptions":{"typeIdentifier":"t_struct$_VotesStorage_$82885_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesStorage"}},"visibility":"internal"}],"src":"6175:24:149"},"scope":83099,"src":"6125:138:149","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":83049,"nodeType":"Block","src":"6370:77:149","statements":[{"AST":{"nodeType":"YulBlock","src":"6385:58:149","statements":[{"nodeType":"YulAssignment","src":"6393:44:149","value":{"name":"VotesQuorumFractionStorageLocation","nodeType":"YulIdentifier","src":"6403:34:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"6393:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83046,"isOffset":false,"isSlot":true,"src":"6393:6:149","suffix":"slot","valueSize":1},{"declaration":82855,"isOffset":false,"isSlot":false,"src":"6403:34:149","valueSize":1}],"id":83048,"nodeType":"InlineAssembly","src":"6376:67:149"}]},"id":83050,"implemented":true,"kind":"function","modifiers":[],"name":"_getVotesQuorumFractionStorage","nameLocation":"6276:30:149","nodeType":"FunctionDefinition","parameters":{"id":83043,"nodeType":"ParameterList","parameters":[],"src":"6306:2:149"},"returnParameters":{"id":83047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83046,"mutability":"mutable","name":"$","nameLocation":"6367:1:149","nodeType":"VariableDeclaration","scope":83050,"src":"6332:36:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"},"typeName":{"id":83045,"nodeType":"UserDefinedTypeName","pathNode":{"id":83044,"name":"VotesQuorumFractionStorage","nameLocations":["6332:26:149"],"nodeType":"IdentifierPath","referencedDeclaration":82889,"src":"6332:26:149"},"referencedDeclaration":82889,"src":"6332:26:149","typeDescriptions":{"typeIdentifier":"t_struct$_VotesQuorumFractionStorage_$82889_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.VotesQuorumFractionStorage"}},"visibility":"internal"}],"src":"6331:38:149"},"scope":83099,"src":"6267:180:149","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":83057,"nodeType":"Block","src":"6552:76:149","statements":[{"AST":{"nodeType":"YulBlock","src":"6567:57:149","statements":[{"nodeType":"YulAssignment","src":"6575:43:149","value":{"name":"RoundVotesCountingStorageLocation","nodeType":"YulIdentifier","src":"6585:33:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"6575:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83054,"isOffset":false,"isSlot":true,"src":"6575:6:149","suffix":"slot","valueSize":1},{"declaration":82858,"isOffset":false,"isSlot":false,"src":"6585:33:149","valueSize":1}],"id":83056,"nodeType":"InlineAssembly","src":"6558:66:149"}]},"id":83058,"implemented":true,"kind":"function","modifiers":[],"name":"_getRoundVotesCountingStorage","nameLocation":"6460:29:149","nodeType":"FunctionDefinition","parameters":{"id":83051,"nodeType":"ParameterList","parameters":[],"src":"6489:2:149"},"returnParameters":{"id":83055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83054,"mutability":"mutable","name":"$","nameLocation":"6549:1:149","nodeType":"VariableDeclaration","scope":83058,"src":"6515:35:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"},"typeName":{"id":83053,"nodeType":"UserDefinedTypeName","pathNode":{"id":83052,"name":"RoundVotesCountingStorage","nameLocations":["6515:25:149"],"nodeType":"IdentifierPath","referencedDeclaration":82940,"src":"6515:25:149"},"referencedDeclaration":82940,"src":"6515:25:149","typeDescriptions":{"typeIdentifier":"t_struct$_RoundVotesCountingStorage_$82940_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundVotesCountingStorage"}},"visibility":"internal"}],"src":"6514:37:149"},"scope":83099,"src":"6451:177:149","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":83065,"nodeType":"Block","src":"6729:74:149","statements":[{"AST":{"nodeType":"YulBlock","src":"6744:55:149","statements":[{"nodeType":"YulAssignment","src":"6752:41:149","value":{"name":"EarningsSettingsStorageLocation","nodeType":"YulIdentifier","src":"6762:31:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"6752:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83062,"isOffset":false,"isSlot":true,"src":"6752:6:149","suffix":"slot","valueSize":1},{"declaration":82861,"isOffset":false,"isSlot":false,"src":"6762:31:149","valueSize":1}],"id":83064,"nodeType":"InlineAssembly","src":"6735:64:149"}]},"id":83066,"implemented":true,"kind":"function","modifiers":[],"name":"_getEarningsSettingsStorage","nameLocation":"6641:27:149","nodeType":"FunctionDefinition","parameters":{"id":83059,"nodeType":"ParameterList","parameters":[],"src":"6668:2:149"},"returnParameters":{"id":83063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83062,"mutability":"mutable","name":"$","nameLocation":"6726:1:149","nodeType":"VariableDeclaration","scope":83066,"src":"6694:33:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"},"typeName":{"id":83061,"nodeType":"UserDefinedTypeName","pathNode":{"id":83060,"name":"EarningsSettingsStorage","nameLocations":["6694:23:149"],"nodeType":"IdentifierPath","referencedDeclaration":82953,"src":"6694:23:149"},"referencedDeclaration":82953,"src":"6694:23:149","typeDescriptions":{"typeIdentifier":"t_struct$_EarningsSettingsStorage_$82953_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.EarningsSettingsStorage"}},"visibility":"internal"}],"src":"6693:35:149"},"scope":83099,"src":"6632:171:149","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":83073,"nodeType":"Block","src":"6906:75:149","statements":[{"AST":{"nodeType":"YulBlock","src":"6921:56:149","statements":[{"nodeType":"YulAssignment","src":"6929:42:149","value":{"name":"RoundFinalizationStorageLocation","nodeType":"YulIdentifier","src":"6939:32:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"6929:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83070,"isOffset":false,"isSlot":true,"src":"6929:6:149","suffix":"slot","valueSize":1},{"declaration":82864,"isOffset":false,"isSlot":false,"src":"6939:32:149","valueSize":1}],"id":83072,"nodeType":"InlineAssembly","src":"6912:65:149"}]},"id":83074,"implemented":true,"kind":"function","modifiers":[],"name":"_getRoundFinalizationStorage","nameLocation":"6816:28:149","nodeType":"FunctionDefinition","parameters":{"id":83067,"nodeType":"ParameterList","parameters":[],"src":"6844:2:149"},"returnParameters":{"id":83071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83070,"mutability":"mutable","name":"$","nameLocation":"6903:1:149","nodeType":"VariableDeclaration","scope":83074,"src":"6870:34:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage"},"typeName":{"id":83069,"nodeType":"UserDefinedTypeName","pathNode":{"id":83068,"name":"RoundFinalizationStorage","nameLocations":["6870:24:149"],"nodeType":"IdentifierPath","referencedDeclaration":82962,"src":"6870:24:149"},"referencedDeclaration":82962,"src":"6870:24:149","typeDescriptions":{"typeIdentifier":"t_struct$_RoundFinalizationStorage_$82962_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundFinalizationStorage"}},"visibility":"internal"}],"src":"6869:36:149"},"scope":83099,"src":"6807:174:149","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":83081,"nodeType":"Block","src":"7076:71:149","statements":[{"AST":{"nodeType":"YulBlock","src":"7091:52:149","statements":[{"nodeType":"YulAssignment","src":"7099:38:149","value":{"name":"RoundsStorageStorageLocation","nodeType":"YulIdentifier","src":"7109:28:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"7099:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83078,"isOffset":false,"isSlot":true,"src":"7099:6:149","suffix":"slot","valueSize":1},{"declaration":82867,"isOffset":false,"isSlot":false,"src":"7109:28:149","valueSize":1}],"id":83080,"nodeType":"InlineAssembly","src":"7082:61:149"}]},"id":83082,"implemented":true,"kind":"function","modifiers":[],"name":"_getRoundsStorageStorage","nameLocation":"6994:24:149","nodeType":"FunctionDefinition","parameters":{"id":83075,"nodeType":"ParameterList","parameters":[],"src":"7018:2:149"},"returnParameters":{"id":83079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83078,"mutability":"mutable","name":"$","nameLocation":"7073:1:149","nodeType":"VariableDeclaration","scope":83082,"src":"7044:30:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"},"typeName":{"id":83077,"nodeType":"UserDefinedTypeName","pathNode":{"id":83076,"name":"RoundsStorageStorage","nameLocations":["7044:20:149"],"nodeType":"IdentifierPath","referencedDeclaration":82982,"src":"7044:20:149"},"referencedDeclaration":82982,"src":"7044:20:149","typeDescriptions":{"typeIdentifier":"t_struct$_RoundsStorageStorage_$82982_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.RoundsStorageStorage"}},"visibility":"internal"}],"src":"7043:32:149"},"scope":83099,"src":"6985:162:149","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":83089,"nodeType":"Block","src":"7250:75:149","statements":[{"AST":{"nodeType":"YulBlock","src":"7265:56:149","statements":[{"nodeType":"YulAssignment","src":"7273:42:149","value":{"name":"ExternalContractsStorageLocation","nodeType":"YulIdentifier","src":"7283:32:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"7273:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83086,"isOffset":false,"isSlot":true,"src":"7273:6:149","suffix":"slot","valueSize":1},{"declaration":82870,"isOffset":false,"isSlot":false,"src":"7283:32:149","valueSize":1}],"id":83088,"nodeType":"InlineAssembly","src":"7256:65:149"}]},"id":83090,"implemented":true,"kind":"function","modifiers":[],"name":"_getExternalContractsStorage","nameLocation":"7160:28:149","nodeType":"FunctionDefinition","parameters":{"id":83083,"nodeType":"ParameterList","parameters":[],"src":"7188:2:149"},"returnParameters":{"id":83087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83086,"mutability":"mutable","name":"$","nameLocation":"7247:1:149","nodeType":"VariableDeclaration","scope":83090,"src":"7214:34:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"},"typeName":{"id":83085,"nodeType":"UserDefinedTypeName","pathNode":{"id":83084,"name":"ExternalContractsStorage","nameLocations":["7214:24:149"],"nodeType":"IdentifierPath","referencedDeclaration":83004,"src":"7214:24:149"},"referencedDeclaration":83004,"src":"7214:24:149","typeDescriptions":{"typeIdentifier":"t_struct$_ExternalContractsStorage_$83004_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.ExternalContractsStorage"}},"visibility":"internal"}],"src":"7213:36:149"},"scope":83099,"src":"7151:174:149","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":83097,"nodeType":"Block","src":"7414:68:149","statements":[{"AST":{"nodeType":"YulBlock","src":"7429:49:149","statements":[{"nodeType":"YulAssignment","src":"7437:35:149","value":{"name":"AutoVotingStorageLocation","nodeType":"YulIdentifier","src":"7447:25:149"},"variableNames":[{"name":"$.slot","nodeType":"YulIdentifier","src":"7437:6:149"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":83094,"isOffset":false,"isSlot":true,"src":"7437:6:149","suffix":"slot","valueSize":1},{"declaration":82873,"isOffset":false,"isSlot":false,"src":"7447:25:149","valueSize":1}],"id":83096,"nodeType":"InlineAssembly","src":"7420:58:149"}]},"id":83098,"implemented":true,"kind":"function","modifiers":[],"name":"_getAutoVotingStorage","nameLocation":"7338:21:149","nodeType":"FunctionDefinition","parameters":{"id":83091,"nodeType":"ParameterList","parameters":[],"src":"7359:2:149"},"returnParameters":{"id":83095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83094,"mutability":"mutable","name":"$","nameLocation":"7411:1:149","nodeType":"VariableDeclaration","scope":83098,"src":"7385:27:149","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"},"typeName":{"id":83093,"nodeType":"UserDefinedTypeName","pathNode":{"id":83092,"name":"AutoVotingStorage","nameLocations":["7385:17:149"],"nodeType":"IdentifierPath","referencedDeclaration":83018,"src":"7385:17:149"},"referencedDeclaration":83018,"src":"7385:17:149","typeDescriptions":{"typeIdentifier":"t_struct$_AutoVotingStorage_$83018_storage_ptr","typeString":"struct XAllocationVotingStorageTypes.AutoVotingStorage"}},"visibility":"internal"}],"src":"7384:29:149"},"scope":83099,"src":"7329:153:149","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":83100,"src":"939:6545:149","usedErrors":[],"usedEvents":[]}],"src":"32:7453:149"},"id":149}},"contracts":{"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol":{"AccessControlUpgradeable":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","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":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"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":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"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\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"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\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ```solidity bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ```solidity function foo() public {     require(hasRole(MY_ROLE, msg.sender));     ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules} to enforce additional security measures for this role.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"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.\"},\"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\":{\"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`.\"},\"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 `callerConfirmation`. 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}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":\"AccessControlUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol":{"TimelockControllerUpgradeable":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint256","name":"delay","type":"uint256"},{"internalType":"uint256","name":"minDelay","type":"uint256"}],"name":"TimelockInsufficientDelay","type":"error"},{"inputs":[{"internalType":"uint256","name":"targets","type":"uint256"},{"internalType":"uint256","name":"payloads","type":"uint256"},{"internalType":"uint256","name":"values","type":"uint256"}],"name":"TimelockInvalidOperationLength","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"TimelockUnauthorizedCaller","type":"error"},{"inputs":[{"internalType":"bytes32","name":"predecessorId","type":"bytes32"}],"name":"TimelockUnexecutedPredecessor","type":"error"},{"inputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"TimelockUnexpectedOperationState","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"CallExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"CallSalt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"delay","type":"uint256"}],"name":"CallScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"Cancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldDuration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"MinDelayChange","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":"CANCELLER_ROLE","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":"EXECUTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROPOSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"cancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"executeBatch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getMinDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"getOperationState","outputs":[{"internalType":"enum TimelockControllerUpgradeable.OperationState","name":"","type":"uint8"}],"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":"id","type":"bytes32"}],"name":"getTimestamp","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":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"hashOperation","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"hashOperationBatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"isOperation","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"isOperationDone","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"isOperationPending","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"isOperationReady","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256","name":"delay","type":"uint256"}],"name":"schedule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256","name":"delay","type":"uint256"}],"name":"scheduleBatch","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":"uint256","name":"newDelay","type":"uint256"}],"name":"updateDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50611a74806100206000396000f3fe60806040526004361061014b5760003560e01c806301d5062a1461015757806301ffc9a71461017957806307bd0265146101ae578063134008d3146101de57806313bc9f20146101f1578063150b7a0214610211578063248a9ca3146102555780632ab0f529146102755780632f2ff15d1461029557806331d50750146102b557806336568abe146102d5578063584b153e146102f557806364d62353146103155780637958004c146103355780638065657f146103625780638f2a0bb0146103825780638f61f4f5146103a257806391d14854146103c4578063a217fddf146103e4578063b08e51c0146103f9578063b1c5f4271461041b578063bc197c811461043b578063c4d252f514610467578063d45c443514610487578063d547741f146104a7578063e38335e5146104c7578063f23a6e61146104da578063f27a0c921461050657600080fd5b3661015257005b600080fd5b34801561016357600080fd5b506101776101723660046110f6565b61051b565b005b34801561018557600080fd5b5061019961019436600461116a565b6105bb565b60405190151581526020015b60405180910390f35b3480156101ba57600080fd5b506101d06000805160206119bf83398151915281565b6040519081526020016101a5565b6101776101ec366004611194565b6105cc565b3480156101fd57600080fd5b5061019961020c3660046111ff565b61065d565b34801561021d57600080fd5b5061023c61022c3660046112cd565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016101a5565b34801561026157600080fd5b506101d06102703660046111ff565b610683565b34801561028157600080fd5b506101996102903660046111ff565b6106a3565b3480156102a157600080fd5b506101776102b0366004611334565b6106ac565b3480156102c157600080fd5b506101996102d03660046111ff565b6106ce565b3480156102e157600080fd5b506101776102f0366004611334565b6106f3565b34801561030157600080fd5b506101996103103660046111ff565b61072b565b34801561032157600080fd5b506101776103303660046111ff565b610771565b34801561034157600080fd5b506103556103503660046111ff565b6107f2565b6040516101a59190611376565b34801561036e57600080fd5b506101d061037d366004611194565b61083c565b34801561038e57600080fd5b5061017761039d3660046113e2565b61087b565b3480156103ae57600080fd5b506101d060008051602061199f83398151915281565b3480156103d057600080fd5b506101996103df366004611334565b6109d0565b3480156103f057600080fd5b506101d0600081565b34801561040557600080fd5b506101d06000805160206119ff83398151915281565b34801561042757600080fd5b506101d0610436366004611493565b610a06565b34801561044757600080fd5b5061023c6104563660046115ba565b63bc197c8160e01b95945050505050565b34801561047357600080fd5b506101776104823660046111ff565b610a4b565b34801561049357600080fd5b506101d06104a23660046111ff565b610aea565b3480156104b357600080fd5b506101776104c2366004611334565b610b07565b6101776104d5366004611493565b610b23565b3480156104e657600080fd5b5061023c6104f5366004611663565b63f23a6e6160e01b95945050505050565b34801561051257600080fd5b506101d0610c81565b60008051602061199f83398151915261053381610c96565b600061054389898989898961083c565b905061054f8184610ca3565b6000816000805160206119df8339815191528b8b8b8b8b8a604051610579969594939291906116f0565b60405180910390a383156105b05780600080516020611a1f833981519152856040516105a791815260200190565b60405180910390a25b505050505050505050565b60006105c682610d36565b92915050565b6000805160206119bf8339815191526105e68160006109d0565b6105f4576105f48133610d5b565b600061060488888888888861083c565b90506106108185610d98565b61061c88888888610de6565b60008160008051602061197f8339815191528a8a8a8a604051610642949392919061172d565b60405180910390a361065381610e5e565b5050505050505050565b600060025b61066b836107f2565b600381111561067c5761067c611360565b1492915050565b60008061068e610e94565b60009384526020525050604090206001015490565b60006003610662565b6106b582610683565b6106be81610c96565b6106c88383610eb8565b50505050565b6000806106da836107f2565b60038111156106eb576106eb611360565b141592915050565b6001600160a01b038116331461071c5760405163334bd91960e11b815260040160405180910390fd5b6107268282610f59565b505050565b600080610737836107f2565b9050600181600381111561074d5761074d611360565b148061076a5750600281600381111561076857610768611360565b145b9392505050565b600061077b610fd1565b9050333081146107ae5760405163e2850c5960e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d58260010154846040516107e392919061175f565b60405180910390a15060010155565b6000806107fe83610aea565b9050806000036108115750600092915050565b600181036108225750600392915050565b428111156108335750600192915050565b50600292915050565b6000868686868686604051602001610859969594939291906116f0565b6040516020818303038152906040528051906020012090509695505050505050565b60008051602061199f83398151915261089381610c96565b88871415806108a25750888514155b156108c9576040516001624fcdef60e01b031981526107a5908a9087908a9060040161176d565b60006108db8b8b8b8b8b8b8b8b610a06565b90506108e78184610ca3565b60005b8a8110156109935780826000805160206119df8339815191528e8e8581811061091557610915611783565b905060200201602081019061092a9190611799565b8d8d8681811061093c5761093c611783565b905060200201358c8c8781811061095557610955611783565b905060200281019061096791906117b4565b8c8b60405161097b969594939291906116f0565b60405180910390a361098c81611810565b90506108ea565b5083156109c35780600080516020611a1f833981519152856040516109ba91815260200190565b60405180910390a25b5050505050505050505050565b6000806109db610e94565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60008888888888888888604051602001610a279897969594939291906118ba565b60405160208183030381529060405280519060200120905098975050505050505050565b6000805160206119ff833981519152610a6381610c96565b6000610a6d610fd1565b9050610a788361072b565b610aad5782610a876002610ff5565b610a916001610ff5565b17604051635ead8eb560e01b81526004016107a592919061175f565b6000838152602082905260408082208290555184917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a2505050565b600080610af5610fd1565b60009384526020525050604090205490565b610b1082610683565b610b1981610c96565b6106c88383610f59565b6000805160206119bf833981519152610b3d8160006109d0565b610b4b57610b4b8133610d5b565b8786141580610b5a5750878414155b15610b81576040516001624fcdef60e01b031981526107a59089908690899060040161176d565b6000610b938a8a8a8a8a8a8a8a610a06565b9050610b9f8185610d98565b60005b89811015610c6b5760008b8b83818110610bbe57610bbe611783565b9050602002016020810190610bd39190611799565b905060008a8a84818110610be957610be9611783565b9050602002013590503660008a8a86818110610c0757610c07611783565b9050602002810190610c1991906117b4565b91509150610c2984848484610de6565b848660008051602061197f83398151915286868686604051610c4e949392919061172d565b60405180910390a35050505080610c6490611810565b9050610ba2565b50610c7581610e5e565b50505050505050505050565b600080610c8c610fd1565b6001015492915050565b610ca08133610d5b565b50565b6000610cad610fd1565b9050610cb8836106ce565b15610ce35782610cc86000610ff5565b604051635ead8eb560e01b81526004016107a592919061175f565b6000610ced610c81565b905080831015610d14578281604051635433660960e01b81526004016107a592919061175f565b610d1e834261195b565b60009485526020929092525060409092209190915550565b60006001600160e01b03198216630271189760e51b14806105c657506105c682611018565b610d6582826109d0565b610d945760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016107a5565b5050565b610da18261065d565b610db05781610cc86002610ff5565b8015801590610dc55750610dc3816106a3565b155b15610d945760405163121534c360e31b8152600481018290526024016107a5565b600080856001600160a01b0316858585604051610e0492919061196e565b60006040518083038185875af1925050503d8060008114610e41576040519150601f19603f3d011682016040523d82523d6000602084013e610e46565b606091505b5091509150610e55828261104d565b50505050505050565b6000610e68610fd1565b9050610e738261065d565b610e825781610cc86002610ff5565b60009182526020526040902060019055565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600080610ec3610e94565b9050610ecf84846109d0565b610f4f576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055610f053390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506105c6565b60009150506105c6565b600080610f64610e94565b9050610f7084846109d0565b15610f4f576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506105c6565b7f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360090565b600081600381111561100957611009611360565b600160ff919091161b92915050565b60006001600160e01b03198216637965db0b60e01b14806105c657506301ffc9a760e01b6001600160e01b03198316146105c6565b6060826110625761105d82611069565b6105c6565b50806105c6565b8051156110795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b03811681146110a957600080fd5b919050565b60008083601f8401126110c057600080fd5b5081356001600160401b038111156110d757600080fd5b6020830191508360208285010111156110ef57600080fd5b9250929050565b600080600080600080600060c0888a03121561111157600080fd5b61111a88611092565b96506020880135955060408801356001600160401b0381111561113c57600080fd5b6111488a828b016110ae565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561117c57600080fd5b81356001600160e01b03198116811461076a57600080fd5b60008060008060008060a087890312156111ad57600080fd5b6111b687611092565b95506020870135945060408701356001600160401b038111156111d857600080fd5b6111e489828a016110ae565b979a9699509760608101359660809091013595509350505050565b60006020828403121561121157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561125657611256611218565b604052919050565b600082601f83011261126f57600080fd5b81356001600160401b0381111561128857611288611218565b61129b601f8201601f191660200161122e565b8181528460208386010111156112b057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156112e357600080fd5b6112ec85611092565b93506112fa60208601611092565b92506040850135915060608501356001600160401b0381111561131c57600080fd5b6113288782880161125e565b91505092959194509250565b6000806040838503121561134757600080fd5b8235915061135760208401611092565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b602081016004831061139857634e487b7160e01b600052602160045260246000fd5b91905290565b60008083601f8401126113b057600080fd5b5081356001600160401b038111156113c757600080fd5b6020830191508360208260051b85010111156110ef57600080fd5b600080600080600080600080600060c08a8c03121561140057600080fd5b89356001600160401b038082111561141757600080fd5b6114238d838e0161139e565b909b50995060208c013591508082111561143c57600080fd5b6114488d838e0161139e565b909950975060408c013591508082111561146157600080fd5b5061146e8c828d0161139e565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b0312156114af57600080fd5b88356001600160401b03808211156114c657600080fd5b6114d28c838d0161139e565b909a50985060208b01359150808211156114eb57600080fd5b6114f78c838d0161139e565b909850965060408b013591508082111561151057600080fd5b5061151d8b828c0161139e565b999c989b509699959896976060870135966080013595509350505050565b600082601f83011261154c57600080fd5b813560206001600160401b0382111561156757611567611218565b8160051b61157682820161122e565b928352848101820192828101908785111561159057600080fd5b83870192505b848310156115af57823582529183019190830190611596565b979650505050505050565b600080600080600060a086880312156115d257600080fd5b6115db86611092565b94506115e960208701611092565b935060408601356001600160401b038082111561160557600080fd5b61161189838a0161153b565b9450606088013591508082111561162757600080fd5b61163389838a0161153b565b9350608088013591508082111561164957600080fd5b506116568882890161125e565b9150509295509295909350565b600080600080600060a0868803121561167b57600080fd5b61168486611092565b945061169260208701611092565b9350604086013592506060860135915060808601356001600160401b038111156116bb57600080fd5b6116568882890161125e565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a06040820152600061171860a0830186886116c7565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006117556060830184866116c7565b9695505050505050565b918252602082015260400190565b9283526020830191909152604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117ab57600080fd5b61076a82611092565b6000808335601e198436030181126117cb57600080fd5b8301803591506001600160401b038211156117e557600080fd5b6020019150368190038213156110ef57600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611822576118226117fa565b5060010190565b81835260006020808501808196508560051b810191508460005b878110156118ad5782840389528135601e1988360301811261186457600080fd5b870185810190356001600160401b0381111561187f57600080fd5b80360382131561188e57600080fd5b6118998682846116c7565b9a87019a9550505090840190600101611843565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b8110156118fb576001600160a01b036118e684611092565b168252602092830192909101906001016118cd565b5083810360208501528881526001600160fb1b0389111561191b57600080fd5b8860051b9150818a602083013701828103602090810160408501526119439082018789611829565b60608401959095525050608001529695505050505050565b808201808211156105c6576105c66117fa565b818382376000910190815291905056fec2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e634cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dcafd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78320fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387a26469706673582212205b4b496e7ac29da5ad5320999946925d04b59ac3a36c8fc092c0a1451f92798d64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A74 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1D5062A EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0x7BD0265 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x134008D3 EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x13BC9F20 EQ PUSH2 0x1F1 JUMPI DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x211 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x255 JUMPI DUP1 PUSH4 0x2AB0F529 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x31D50750 EQ PUSH2 0x2B5 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x584B153E EQ PUSH2 0x2F5 JUMPI DUP1 PUSH4 0x64D62353 EQ PUSH2 0x315 JUMPI DUP1 PUSH4 0x7958004C EQ PUSH2 0x335 JUMPI DUP1 PUSH4 0x8065657F EQ PUSH2 0x362 JUMPI DUP1 PUSH4 0x8F2A0BB0 EQ PUSH2 0x382 JUMPI DUP1 PUSH4 0x8F61F4F5 EQ PUSH2 0x3A2 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x3C4 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x3E4 JUMPI DUP1 PUSH4 0xB08E51C0 EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xB1C5F427 EQ PUSH2 0x41B JUMPI DUP1 PUSH4 0xBC197C81 EQ PUSH2 0x43B JUMPI DUP1 PUSH4 0xC4D252F5 EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xD45C4435 EQ PUSH2 0x487 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x4A7 JUMPI DUP1 PUSH4 0xE38335E5 EQ PUSH2 0x4C7 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x4DA JUMPI DUP1 PUSH4 0xF27A0C92 EQ PUSH2 0x506 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x152 JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0x10F6 JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x194 CALLDATASIZE PUSH1 0x4 PUSH2 0x116A JUMP JUMPDEST PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19BF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1A5 JUMP JUMPDEST PUSH2 0x177 PUSH2 0x1EC CALLDATASIZE PUSH1 0x4 PUSH2 0x1194 JUMP JUMPDEST PUSH2 0x5CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x20C CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x65D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23C PUSH2 0x22C CALLDATASIZE PUSH1 0x4 PUSH2 0x12CD JUMP JUMPDEST PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x270 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x683 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x6A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1334 JUMP JUMPDEST PUSH2 0x6AC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x2D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x6CE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x2F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1334 JUMP JUMPDEST PUSH2 0x6F3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x301 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x310 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x72B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x330 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x771 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x341 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x355 PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x7F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A5 SWAP2 SWAP1 PUSH2 0x1376 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x37D CALLDATASIZE PUSH1 0x4 PUSH2 0x1194 JUMP JUMPDEST PUSH2 0x83C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x39D CALLDATASIZE PUSH1 0x4 PUSH2 0x13E2 JUMP JUMPDEST PUSH2 0x87B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x199F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x3DF CALLDATASIZE PUSH1 0x4 PUSH2 0x1334 JUMP JUMPDEST PUSH2 0x9D0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19FF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x427 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x436 CALLDATASIZE PUSH1 0x4 PUSH2 0x1493 JUMP JUMPDEST PUSH2 0xA06 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x447 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23C PUSH2 0x456 CALLDATASIZE PUSH1 0x4 PUSH2 0x15BA JUMP JUMPDEST PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x473 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x482 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0xA4B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x493 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x4A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0xAEA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x4C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1334 JUMP JUMPDEST PUSH2 0xB07 JUMP JUMPDEST PUSH2 0x177 PUSH2 0x4D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1493 JUMP JUMPDEST PUSH2 0xB23 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23C PUSH2 0x4F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1663 JUMP JUMPDEST PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0xC81 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x199F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x533 DUP2 PUSH2 0xC96 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x543 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x83C JUMP JUMPDEST SWAP1 POP PUSH2 0x54F DUP2 DUP5 PUSH2 0xCA3 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19DF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP12 DUP12 DUP12 DUP12 DUP12 DUP11 PUSH1 0x40 MLOAD PUSH2 0x579 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP4 ISZERO PUSH2 0x5B0 JUMPI DUP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1A1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP6 PUSH1 0x40 MLOAD PUSH2 0x5A7 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C6 DUP3 PUSH2 0xD36 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19BF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x5E6 DUP2 PUSH1 0x0 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0x5F4 JUMPI PUSH2 0x5F4 DUP2 CALLER PUSH2 0xD5B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x604 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x83C JUMP JUMPDEST SWAP1 POP PUSH2 0x610 DUP2 DUP6 PUSH2 0xD98 JUMP JUMPDEST PUSH2 0x61C DUP9 DUP9 DUP9 DUP9 PUSH2 0xDE6 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x197F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP11 DUP11 DUP11 DUP11 PUSH1 0x40 MLOAD PUSH2 0x642 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x172D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x653 DUP2 PUSH2 0xE5E JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 JUMPDEST PUSH2 0x66B DUP4 PUSH2 0x7F2 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x67C JUMPI PUSH2 0x67C PUSH2 0x1360 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x68E PUSH2 0xE94 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH2 0x662 JUMP JUMPDEST PUSH2 0x6B5 DUP3 PUSH2 0x683 JUMP JUMPDEST PUSH2 0x6BE DUP2 PUSH2 0xC96 JUMP JUMPDEST PUSH2 0x6C8 DUP4 DUP4 PUSH2 0xEB8 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6DA DUP4 PUSH2 0x7F2 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x6EB JUMPI PUSH2 0x6EB PUSH2 0x1360 JUMP JUMPDEST EQ ISZERO SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x71C JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x726 DUP3 DUP3 PUSH2 0xF59 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x737 DUP4 PUSH2 0x7F2 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x74D JUMPI PUSH2 0x74D PUSH2 0x1360 JUMP JUMPDEST EQ DUP1 PUSH2 0x76A JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x768 JUMPI PUSH2 0x768 PUSH2 0x1360 JUMP JUMPDEST EQ JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x77B PUSH2 0xFD1 JUMP JUMPDEST SWAP1 POP CALLER ADDRESS DUP2 EQ PUSH2 0x7AE JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2850C59 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x11C24F4EAD16507C69AC467FBD5E4EED5FB5C699626D2CC6D66421DF253886D5 DUP3 PUSH1 0x1 ADD SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0x7E3 SWAP3 SWAP2 SWAP1 PUSH2 0x175F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP PUSH1 0x1 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7FE DUP4 PUSH2 0xAEA JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x811 JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 SUB PUSH2 0x822 JUMPI POP PUSH1 0x3 SWAP3 SWAP2 POP POP JUMP JUMPDEST TIMESTAMP DUP2 GT ISZERO PUSH2 0x833 JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP7 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x859 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16F0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x199F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x893 DUP2 PUSH2 0xC96 JUMP JUMPDEST DUP9 DUP8 EQ ISZERO DUP1 PUSH2 0x8A2 JUMPI POP DUP9 DUP6 EQ ISZERO JUMPDEST ISZERO PUSH2 0x8C9 JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH3 0x4FCDEF PUSH1 0xE0 SHL SUB NOT DUP2 MSTORE PUSH2 0x7A5 SWAP1 DUP11 SWAP1 DUP8 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x176D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8DB DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH2 0xA06 JUMP JUMPDEST SWAP1 POP PUSH2 0x8E7 DUP2 DUP5 PUSH2 0xCA3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP11 DUP2 LT ISZERO PUSH2 0x993 JUMPI DUP1 DUP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19DF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP15 DUP15 DUP6 DUP2 DUP2 LT PUSH2 0x915 JUMPI PUSH2 0x915 PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x92A SWAP2 SWAP1 PUSH2 0x1799 JUMP JUMPDEST DUP14 DUP14 DUP7 DUP2 DUP2 LT PUSH2 0x93C JUMPI PUSH2 0x93C PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD DUP13 DUP13 DUP8 DUP2 DUP2 LT PUSH2 0x955 JUMPI PUSH2 0x955 PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x967 SWAP2 SWAP1 PUSH2 0x17B4 JUMP JUMPDEST DUP13 DUP12 PUSH1 0x40 MLOAD PUSH2 0x97B SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x98C DUP2 PUSH2 0x1810 JUMP JUMPDEST SWAP1 POP PUSH2 0x8EA JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x9C3 JUMPI DUP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1A1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP6 PUSH1 0x40 MLOAD PUSH2 0x9BA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x9DB PUSH2 0xE94 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xA27 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19FF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xA63 DUP2 PUSH2 0xC96 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA6D PUSH2 0xFD1 JUMP JUMPDEST SWAP1 POP PUSH2 0xA78 DUP4 PUSH2 0x72B JUMP JUMPDEST PUSH2 0xAAD JUMPI DUP3 PUSH2 0xA87 PUSH1 0x2 PUSH2 0xFF5 JUMP JUMPDEST PUSH2 0xA91 PUSH1 0x1 PUSH2 0xFF5 JUMP JUMPDEST OR PUSH1 0x40 MLOAD PUSH4 0x5EAD8EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A5 SWAP3 SWAP2 SWAP1 PUSH2 0x175F JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP5 SWAP2 PUSH32 0xBAA1EB22F2A492BA1A5FEA61B8DF4D27C6C8B5F3971E63BB58FA14FF72EEDB70 SWAP2 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAF5 PUSH2 0xFD1 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB10 DUP3 PUSH2 0x683 JUMP JUMPDEST PUSH2 0xB19 DUP2 PUSH2 0xC96 JUMP JUMPDEST PUSH2 0x6C8 DUP4 DUP4 PUSH2 0xF59 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19BF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xB3D DUP2 PUSH1 0x0 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0xB4B JUMPI PUSH2 0xB4B DUP2 CALLER PUSH2 0xD5B JUMP JUMPDEST DUP8 DUP7 EQ ISZERO DUP1 PUSH2 0xB5A JUMPI POP DUP8 DUP5 EQ ISZERO JUMPDEST ISZERO PUSH2 0xB81 JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH3 0x4FCDEF PUSH1 0xE0 SHL SUB NOT DUP2 MSTORE PUSH2 0x7A5 SWAP1 DUP10 SWAP1 DUP7 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x176D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB93 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0xA06 JUMP JUMPDEST SWAP1 POP PUSH2 0xB9F DUP2 DUP6 PUSH2 0xD98 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP10 DUP2 LT ISZERO PUSH2 0xC6B JUMPI PUSH1 0x0 DUP12 DUP12 DUP4 DUP2 DUP2 LT PUSH2 0xBBE JUMPI PUSH2 0xBBE PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xBD3 SWAP2 SWAP1 PUSH2 0x1799 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP11 DUP11 DUP5 DUP2 DUP2 LT PUSH2 0xBE9 JUMPI PUSH2 0xBE9 PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP CALLDATASIZE PUSH1 0x0 DUP11 DUP11 DUP7 DUP2 DUP2 LT PUSH2 0xC07 JUMPI PUSH2 0xC07 PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xC19 SWAP2 SWAP1 PUSH2 0x17B4 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xC29 DUP5 DUP5 DUP5 DUP5 PUSH2 0xDE6 JUMP JUMPDEST DUP5 DUP7 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x197F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xC4E SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x172D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP DUP1 PUSH2 0xC64 SWAP1 PUSH2 0x1810 JUMP JUMPDEST SWAP1 POP PUSH2 0xBA2 JUMP JUMPDEST POP PUSH2 0xC75 DUP2 PUSH2 0xE5E JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC8C PUSH2 0xFD1 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xCA0 DUP2 CALLER PUSH2 0xD5B JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCAD PUSH2 0xFD1 JUMP JUMPDEST SWAP1 POP PUSH2 0xCB8 DUP4 PUSH2 0x6CE JUMP JUMPDEST ISZERO PUSH2 0xCE3 JUMPI DUP3 PUSH2 0xCC8 PUSH1 0x0 PUSH2 0xFF5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x5EAD8EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A5 SWAP3 SWAP2 SWAP1 PUSH2 0x175F JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCED PUSH2 0xC81 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0xD14 JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH4 0x54336609 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A5 SWAP3 SWAP2 SWAP1 PUSH2 0x175F JUMP JUMPDEST PUSH2 0xD1E DUP4 TIMESTAMP PUSH2 0x195B JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP3 SWAP1 SWAP3 MSTORE POP PUSH1 0x40 SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ DUP1 PUSH2 0x5C6 JUMPI POP PUSH2 0x5C6 DUP3 PUSH2 0x1018 JUMP JUMPDEST PUSH2 0xD65 DUP3 DUP3 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0xD94 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x7A5 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xDA1 DUP3 PUSH2 0x65D JUMP JUMPDEST PUSH2 0xDB0 JUMPI DUP2 PUSH2 0xCC8 PUSH1 0x2 PUSH2 0xFF5 JUMP JUMPDEST DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0xDC5 JUMPI POP PUSH2 0xDC3 DUP2 PUSH2 0x6A3 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xD94 JUMPI PUSH1 0x40 MLOAD PUSH4 0x121534C3 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x7A5 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xE04 SWAP3 SWAP2 SWAP1 PUSH2 0x196E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xE41 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xE46 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xE55 DUP3 DUP3 PUSH2 0x104D JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE68 PUSH2 0xFD1 JUMP JUMPDEST SWAP1 POP PUSH2 0xE73 DUP3 PUSH2 0x65D JUMP JUMPDEST PUSH2 0xE82 JUMPI DUP2 PUSH2 0xCC8 PUSH1 0x2 PUSH2 0xFF5 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 SWAP1 SSTORE JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEC3 PUSH2 0xE94 JUMP JUMPDEST SWAP1 POP PUSH2 0xECF DUP5 DUP5 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0xF4F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xF05 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x5C6 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x5C6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF64 PUSH2 0xE94 JUMP JUMPDEST SWAP1 POP PUSH2 0xF70 DUP5 DUP5 PUSH2 0x9D0 JUMP JUMPDEST ISZERO PUSH2 0xF4F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x5C6 JUMP JUMPDEST PUSH32 0x9A37C2AA9D186A0969FF8A8267BF4E07E864C2F2768F5040949E28A624FB3600 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1009 JUMPI PUSH2 0x1009 PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x5C6 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x5C6 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1062 JUMPI PUSH2 0x105D DUP3 PUSH2 0x1069 JUMP JUMPDEST PUSH2 0x5C6 JUMP JUMPDEST POP DUP1 PUSH2 0x5C6 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1079 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x10A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x10C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x10D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x10EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1111 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x111A DUP9 PUSH2 0x1092 JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x113C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1148 DUP11 DUP3 DUP12 ADD PUSH2 0x10AE JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP9 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x117C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x76A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x11AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11B6 DUP8 PUSH2 0x1092 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x11D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11E4 DUP10 DUP3 DUP11 ADD PUSH2 0x10AE JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP8 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP7 PUSH1 0x80 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1256 JUMPI PUSH2 0x1256 PUSH2 0x1218 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x126F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1288 JUMPI PUSH2 0x1288 PUSH2 0x1218 JUMP JUMPDEST PUSH2 0x129B PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x122E JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x12B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x12E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12EC DUP6 PUSH2 0x1092 JUMP JUMPDEST SWAP4 POP PUSH2 0x12FA PUSH1 0x20 DUP7 ADD PUSH2 0x1092 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x131C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1328 DUP8 DUP3 DUP9 ADD PUSH2 0x125E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1347 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1357 PUSH1 0x20 DUP5 ADD PUSH2 0x1092 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x4 DUP4 LT PUSH2 0x1398 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x13B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x13C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x10EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x1400 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1423 DUP14 DUP4 DUP15 ADD PUSH2 0x139E JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x20 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x143C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1448 DUP14 DUP4 DUP15 ADD PUSH2 0x139E JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1461 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x146E DUP13 DUP3 DUP14 ADD PUSH2 0x139E JUMP JUMPDEST SWAP11 SWAP14 SWAP10 SWAP13 POP SWAP8 SWAP11 SWAP7 SWAP10 SWAP8 SWAP9 PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x14AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x14C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D2 DUP13 DUP4 DUP14 ADD PUSH2 0x139E JUMP JUMPDEST SWAP1 SWAP11 POP SWAP9 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x14EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14F7 DUP13 DUP4 DUP14 ADD PUSH2 0x139E JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1510 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x151D DUP12 DUP3 DUP13 ADD PUSH2 0x139E JUMP JUMPDEST SWAP10 SWAP13 SWAP9 SWAP12 POP SWAP7 SWAP10 SWAP6 SWAP9 SWAP7 SWAP8 PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP7 PUSH1 0x80 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x154C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x1567 JUMPI PUSH2 0x1567 PUSH2 0x1218 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x1576 DUP3 DUP3 ADD PUSH2 0x122E JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x1590 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x15AF JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1596 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x15D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15DB DUP7 PUSH2 0x1092 JUMP JUMPDEST SWAP5 POP PUSH2 0x15E9 PUSH1 0x20 DUP8 ADD PUSH2 0x1092 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1605 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1611 DUP10 DUP4 DUP11 ADD PUSH2 0x153B JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1633 DUP10 DUP4 DUP11 ADD PUSH2 0x153B JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1649 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1656 DUP9 DUP3 DUP10 ADD PUSH2 0x125E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x167B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1684 DUP7 PUSH2 0x1092 JUMP JUMPDEST SWAP5 POP PUSH2 0x1692 PUSH1 0x20 DUP8 ADD PUSH2 0x1092 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x16BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1656 DUP9 DUP3 DUP10 ADD PUSH2 0x125E JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP8 AND DUP2 MSTORE DUP6 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1718 PUSH1 0xA0 DUP4 ADD DUP7 DUP9 PUSH2 0x16C7 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x80 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1755 PUSH1 0x60 DUP4 ADD DUP5 DUP7 PUSH2 0x16C7 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76A DUP3 PUSH2 0x1092 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x17CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x17E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x10EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1822 JUMPI PUSH2 0x1822 PUSH2 0x17FA JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x0 PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP6 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP5 PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x18AD JUMPI DUP3 DUP5 SUB DUP10 MSTORE DUP2 CALLDATALOAD PUSH1 0x1E NOT DUP9 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x1864 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 ADD DUP6 DUP2 ADD SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x187F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATASIZE SUB DUP3 SGT ISZERO PUSH2 0x188E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1899 DUP7 DUP3 DUP5 PUSH2 0x16C7 JUMP JUMPDEST SWAP11 DUP8 ADD SWAP11 SWAP6 POP POP POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1843 JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP1 DUP3 MSTORE DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x0 DUP10 PUSH1 0xC0 DUP4 ADD DUP3 JUMPDEST DUP12 DUP2 LT ISZERO PUSH2 0x18FB JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x18E6 DUP5 PUSH2 0x1092 JUMP JUMPDEST AND DUP3 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x18CD JUMP JUMPDEST POP DUP4 DUP2 SUB PUSH1 0x20 DUP6 ADD MSTORE DUP9 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xFB SHL SUB DUP10 GT ISZERO PUSH2 0x191B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 PUSH1 0x5 SHL SWAP2 POP DUP2 DUP11 PUSH1 0x20 DUP4 ADD CALLDATACOPY ADD DUP3 DUP2 SUB PUSH1 0x20 SWAP1 DUP2 ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1943 SWAP1 DUP3 ADD DUP8 DUP10 PUSH2 0x1829 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x5C6 JUMPI PUSH2 0x5C6 PUSH2 0x17FA JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID 0xC2 PUSH2 0x7EFA PUSH10 0xBAB66782FA2195437143 CODESIZE BASEFEE SWAP13 0x4E SWAP15 OR DUP3 PUSH18 0x560A91B82C3F612B58B09AA5AEB3702CFD50 0xB6 0xB6 0x2B 0xC4 MSTORE8 0x26 DIV SWAP4 DUP16 0x21 0x24 DUP11 0x27 LOG1 0xD5 0xCA PUSH20 0x6082B6819CC1D8AA0F3194971A2A116679F7C209 0xF PUSH10 0x39C8D4E01A2A8D7E41D5 0x5E MSTORE8 MLOAD CHAINID SWAP15 PUSH4 0x4CF4410C 0xC5 PUSH17 0x40E44862EF0F45F3DD5A5E02DB8EB8ADD6 BASEFEE 0xD4 0xB0 0xE2 CALLDATASIZE CALL 0xD0 PUSH30 0xCAFD643C72710C63C0180259ABA6B2D05451E3591A24E58B622393780857 0x26 0xF7 DUP4 KECCAK256 REVERT 0xA5 REVERT 0x27 LOG1 0xEA PUSH28 0xF5B9567F143AC5470BB059374A27E8F67CB44F946F6D0387A2646970 PUSH7 0x73582212205B4B 0x49 PUSH15 0x7AC29DA5AD5320999946925D04B59A 0xC3 LOG3 PUSH13 0x8FC092C0A1451F92798D64736F PUSH13 0x63430008140033000000000000 ","sourceMap":"1235:16733:1:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CANCELLER_ROLE_398":{"entryPoint":null,"id":398,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@EXECUTOR_ROLE_393":{"entryPoint":null,"id":393,"parameterSlots":0,"returnSlots":0},"@PROPOSER_ROLE_388":{"entryPoint":null,"id":388,"parameterSlots":0,"returnSlots":0},"@_663":{"entryPoint":null,"id":663,"parameterSlots":0,"returnSlots":0},"@_afterCall_1415":{"entryPoint":3678,"id":1415,"parameterSlots":1,"returnSlots":0},"@_beforeCall_1380":{"entryPoint":3480,"id":1380,"parameterSlots":2,"returnSlots":0},"@_checkRole_129":{"entryPoint":3222,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":3419,"id":150,"parameterSlots":2,"returnSlots":0},"@_encodeStateBitmap_1477":{"entryPoint":4085,"id":1477,"parameterSlots":1,"returnSlots":1},"@_execute_1340":{"entryPoint":3558,"id":1340,"parameterSlots":4,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":3732,"id":46,"parameterSlots":0,"returnSlots":1},"@_getTimelockControllerStorage_423":{"entryPoint":4049,"id":423,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":3768,"id":315,"parameterSlots":2,"returnSlots":1},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_revert_5583":{"entryPoint":4201,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":3929,"id":361,"parameterSlots":2,"returnSlots":1},"@_schedule_1108":{"entryPoint":3235,"id":1108,"parameterSlots":2,"returnSlots":0},"@cancel_1153":{"entryPoint":2635,"id":1153,"parameterSlots":1,"returnSlots":0},"@executeBatch_1311":{"entryPoint":2851,"id":1311,"parameterSlots":8,"returnSlots":0},"@execute_1204":{"entryPoint":1484,"id":1204,"parameterSlots":6,"returnSlots":0},"@getMinDelay_835":{"entryPoint":3201,"id":835,"parameterSlots":0,"returnSlots":1},"@getOperationState_819":{"entryPoint":2034,"id":819,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":1667,"id":171,"parameterSlots":1,"returnSlots":1},"@getTimestamp_774":{"entryPoint":2794,"id":774,"parameterSlots":1,"returnSlots":1},"@grantRole_190":{"entryPoint":1708,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":2512,"id":116,"parameterSlots":2,"returnSlots":1},"@hashOperationBatch_894":{"entryPoint":2566,"id":894,"parameterSlots":8,"returnSlots":1},"@hashOperation_863":{"entryPoint":2108,"id":863,"parameterSlots":6,"returnSlots":1},"@isOperationDone_754":{"entryPoint":1699,"id":754,"parameterSlots":1,"returnSlots":1},"@isOperationPending_722":{"entryPoint":1835,"id":722,"parameterSlots":1,"returnSlots":1},"@isOperationReady_738":{"entryPoint":1629,"id":738,"parameterSlots":1,"returnSlots":1},"@isOperation_696":{"entryPoint":1742,"id":696,"parameterSlots":1,"returnSlots":1},"@onERC1155BatchReceived_2011":{"entryPoint":null,"id":2011,"parameterSlots":5,"returnSlots":1},"@onERC1155Received_1988":{"entryPoint":null,"id":1988,"parameterSlots":5,"returnSlots":1},"@onERC721Received_3940":{"entryPoint":null,"id":3940,"parameterSlots":4,"returnSlots":1},"@renounceRole_232":{"entryPoint":1779,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":2823,"id":209,"parameterSlots":2,"returnSlots":0},"@scheduleBatch_1054":{"entryPoint":2171,"id":1054,"parameterSlots":9,"returnSlots":0},"@schedule_952":{"entryPoint":1307,"id":952,"parameterSlots":7,"returnSlots":0},"@supportsInterface_1967":{"entryPoint":3382,"id":1967,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_680":{"entryPoint":1467,"id":680,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":4120,"id":91,"parameterSlots":1,"returnSlots":1},"@updateDelay_1457":{"entryPoint":1905,"id":1457,"parameterSlots":1,"returnSlots":0},"@verifyCallResult_5565":{"entryPoint":4173,"id":5565,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":4242,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_address_dyn_calldata":{"entryPoint":5022,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_array_uint256_dyn":{"entryPoint":5435,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":4702,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes_calldata":{"entryPoint":4270,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_address":{"entryPoint":6041,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr":{"entryPoint":5562,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":4813,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr":{"entryPoint":5731,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32":{"entryPoint":4500,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32t_uint256":{"entryPoint":4342,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32":{"entryPoint":5267,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32t_uint256":{"entryPoint":5090,"id":null,"parameterSlots":2,"returnSlots":9},"abi_decode_tuple_t_bytes32":{"entryPoint":4607,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":4916,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":4458,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_bytes_calldata_dyn_calldata":{"entryPoint":6185,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_bytes_calldata":{"entryPoint":5831,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":6510,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":5933,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_bytes32__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_uint256__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":5872,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_t_bytes32_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":6330,"id":null,"parameterSlots":9,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_OperationState_$428__to_t_uint8__fromStack_reversed":{"entryPoint":4982,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":5983,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":5997,"id":null,"parameterSlots":4,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":6068,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_memory":{"entryPoint":4654,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":6491,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":6160,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":6138,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":4960,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":6019,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":4632,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:17980:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:150","statements":[{"nodeType":"YulAssignment","src":"73:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:150"},"nodeType":"YulFunctionCall","src":"82:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:150"}]},{"body":{"nodeType":"YulBlock","src":"165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:150"},"nodeType":"YulFunctionCall","src":"167:12:150"},"nodeType":"YulExpressionStatement","src":"167:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:150"},"nodeType":"YulFunctionCall","src":"146:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:150"},"nodeType":"YulFunctionCall","src":"142:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:150"},"nodeType":"YulFunctionCall","src":"121:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:150"},"nodeType":"YulFunctionCall","src":"114:50:150"},"nodeType":"YulIf","src":"111:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:150","type":""}],"src":"14:173:150"},{"body":{"nodeType":"YulBlock","src":"264:275:150","statements":[{"body":{"nodeType":"YulBlock","src":"313:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"322:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"325:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"315:6:150"},"nodeType":"YulFunctionCall","src":"315:12:150"},"nodeType":"YulExpressionStatement","src":"315:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"292:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"300:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"288:3:150"},"nodeType":"YulFunctionCall","src":"288:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"307:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"284:3:150"},"nodeType":"YulFunctionCall","src":"284:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"277:6:150"},"nodeType":"YulFunctionCall","src":"277:35:150"},"nodeType":"YulIf","src":"274:55:150"},{"nodeType":"YulAssignment","src":"338:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"361:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"348:12:150"},"nodeType":"YulFunctionCall","src":"348:20:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"338:6:150"}]},{"body":{"nodeType":"YulBlock","src":"411:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"420:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"423:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"413:6:150"},"nodeType":"YulFunctionCall","src":"413:12:150"},"nodeType":"YulExpressionStatement","src":"413:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"383:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"399:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"403:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"395:3:150"},"nodeType":"YulFunctionCall","src":"395:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"407:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"391:3:150"},"nodeType":"YulFunctionCall","src":"391:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"380:2:150"},"nodeType":"YulFunctionCall","src":"380:30:150"},"nodeType":"YulIf","src":"377:50:150"},{"nodeType":"YulAssignment","src":"436:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"452:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"460:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"448:3:150"},"nodeType":"YulFunctionCall","src":"448:17:150"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"436:8:150"}]},{"body":{"nodeType":"YulBlock","src":"517:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"526:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"529:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"519:6:150"},"nodeType":"YulFunctionCall","src":"519:12:150"},"nodeType":"YulExpressionStatement","src":"519:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"488:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"496:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"484:3:150"},"nodeType":"YulFunctionCall","src":"484:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"480:3:150"},"nodeType":"YulFunctionCall","src":"480:30:150"},{"name":"end","nodeType":"YulIdentifier","src":"512:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"477:2:150"},"nodeType":"YulFunctionCall","src":"477:39:150"},"nodeType":"YulIf","src":"474:59:150"}]},"name":"abi_decode_bytes_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"227:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"235:3:150","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"243:8:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"253:6:150","type":""}],"src":"192:347:150"},{"body":{"nodeType":"YulBlock","src":"718:584:150","statements":[{"body":{"nodeType":"YulBlock","src":"765:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"774:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"777:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"767:6:150"},"nodeType":"YulFunctionCall","src":"767:12:150"},"nodeType":"YulExpressionStatement","src":"767:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"739:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"748:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"735:3:150"},"nodeType":"YulFunctionCall","src":"735:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"760:3:150","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"731:3:150"},"nodeType":"YulFunctionCall","src":"731:33:150"},"nodeType":"YulIf","src":"728:53:150"},{"nodeType":"YulAssignment","src":"790:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"819:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"800:18:150"},"nodeType":"YulFunctionCall","src":"800:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"790:6:150"}]},{"nodeType":"YulAssignment","src":"838:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"865:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"876:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"861:3:150"},"nodeType":"YulFunctionCall","src":"861:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"848:12:150"},"nodeType":"YulFunctionCall","src":"848:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"838:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"889:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"920:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"931:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"916:3:150"},"nodeType":"YulFunctionCall","src":"916:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"903:12:150"},"nodeType":"YulFunctionCall","src":"903:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"893:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"978:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"987:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"990:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"980:6:150"},"nodeType":"YulFunctionCall","src":"980:12:150"},"nodeType":"YulExpressionStatement","src":"980:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"950:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"966:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"970:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"962:3:150"},"nodeType":"YulFunctionCall","src":"962:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"974:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"958:3:150"},"nodeType":"YulFunctionCall","src":"958:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"947:2:150"},"nodeType":"YulFunctionCall","src":"947:30:150"},"nodeType":"YulIf","src":"944:50:150"},{"nodeType":"YulVariableDeclaration","src":"1003:84:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1059:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"1070:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1055:3:150"},"nodeType":"YulFunctionCall","src":"1055:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1079:7:150"}],"functionName":{"name":"abi_decode_bytes_calldata","nodeType":"YulIdentifier","src":"1029:25:150"},"nodeType":"YulFunctionCall","src":"1029:58:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"1007:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"1017:8:150","type":""}]},{"nodeType":"YulAssignment","src":"1096:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"1106:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1096:6:150"}]},{"nodeType":"YulAssignment","src":"1123:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"1133:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1123:6:150"}]},{"nodeType":"YulAssignment","src":"1150:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1177:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1188:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1173:3:150"},"nodeType":"YulFunctionCall","src":"1173:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1160:12:150"},"nodeType":"YulFunctionCall","src":"1160:32:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"1150:6:150"}]},{"nodeType":"YulAssignment","src":"1201:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1228:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1239:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1224:3:150"},"nodeType":"YulFunctionCall","src":"1224:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1211:12:150"},"nodeType":"YulFunctionCall","src":"1211:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"1201:6:150"}]},{"nodeType":"YulAssignment","src":"1253:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1280:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1291:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1276:3:150"},"nodeType":"YulFunctionCall","src":"1276:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1263:12:150"},"nodeType":"YulFunctionCall","src":"1263:33:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"1253:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"636:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"647:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"659:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"667:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"675:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"683:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"691:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"699:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"707:6:150","type":""}],"src":"544:758:150"},{"body":{"nodeType":"YulBlock","src":"1376:217:150","statements":[{"body":{"nodeType":"YulBlock","src":"1422:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1431:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1434:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1424:6:150"},"nodeType":"YulFunctionCall","src":"1424:12:150"},"nodeType":"YulExpressionStatement","src":"1424:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1397:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1406:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1393:3:150"},"nodeType":"YulFunctionCall","src":"1393:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1418:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1389:3:150"},"nodeType":"YulFunctionCall","src":"1389:32:150"},"nodeType":"YulIf","src":"1386:52:150"},{"nodeType":"YulVariableDeclaration","src":"1447:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1473:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1460:12:150"},"nodeType":"YulFunctionCall","src":"1460:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1451:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1547:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1556:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1559:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1549:6:150"},"nodeType":"YulFunctionCall","src":"1549:12:150"},"nodeType":"YulExpressionStatement","src":"1549:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1505:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1516:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1527:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1532:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1523:3:150"},"nodeType":"YulFunctionCall","src":"1523:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1512:3:150"},"nodeType":"YulFunctionCall","src":"1512:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1502:2:150"},"nodeType":"YulFunctionCall","src":"1502:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1495:6:150"},"nodeType":"YulFunctionCall","src":"1495:51:150"},"nodeType":"YulIf","src":"1492:71:150"},{"nodeType":"YulAssignment","src":"1572:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1582:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1572:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1342:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1353:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1365:6:150","type":""}],"src":"1307:286:150"},{"body":{"nodeType":"YulBlock","src":"1693:92:150","statements":[{"nodeType":"YulAssignment","src":"1703:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1715:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1726:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1711:3:150"},"nodeType":"YulFunctionCall","src":"1711:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1703:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1745:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1770:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1763:6:150"},"nodeType":"YulFunctionCall","src":"1763:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1756:6:150"},"nodeType":"YulFunctionCall","src":"1756:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1738:6:150"},"nodeType":"YulFunctionCall","src":"1738:41:150"},"nodeType":"YulExpressionStatement","src":"1738:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1662:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1673:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1684:4:150","type":""}],"src":"1598:187:150"},{"body":{"nodeType":"YulBlock","src":"1891:76:150","statements":[{"nodeType":"YulAssignment","src":"1901:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1913:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1924:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1909:3:150"},"nodeType":"YulFunctionCall","src":"1909:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1901:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1943:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1954:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1936:6:150"},"nodeType":"YulFunctionCall","src":"1936:25:150"},"nodeType":"YulExpressionStatement","src":"1936:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1860:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1871:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1882:4:150","type":""}],"src":"1790:177:150"},{"body":{"nodeType":"YulBlock","src":"2129:532:150","statements":[{"body":{"nodeType":"YulBlock","src":"2176:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2185:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2188:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2178:6:150"},"nodeType":"YulFunctionCall","src":"2178:12:150"},"nodeType":"YulExpressionStatement","src":"2178:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2150:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2159:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2146:3:150"},"nodeType":"YulFunctionCall","src":"2146:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2171:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2142:3:150"},"nodeType":"YulFunctionCall","src":"2142:33:150"},"nodeType":"YulIf","src":"2139:53:150"},{"nodeType":"YulAssignment","src":"2201:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2230:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2211:18:150"},"nodeType":"YulFunctionCall","src":"2211:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2201:6:150"}]},{"nodeType":"YulAssignment","src":"2249:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2276:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2287:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2272:3:150"},"nodeType":"YulFunctionCall","src":"2272:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2259:12:150"},"nodeType":"YulFunctionCall","src":"2259:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2249:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"2300:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2331:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2342:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2327:3:150"},"nodeType":"YulFunctionCall","src":"2327:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2314:12:150"},"nodeType":"YulFunctionCall","src":"2314:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2304:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2389:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2398:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2401:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2391:6:150"},"nodeType":"YulFunctionCall","src":"2391:12:150"},"nodeType":"YulExpressionStatement","src":"2391:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2361:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2377:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2381:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2373:3:150"},"nodeType":"YulFunctionCall","src":"2373:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2385:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2369:3:150"},"nodeType":"YulFunctionCall","src":"2369:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2358:2:150"},"nodeType":"YulFunctionCall","src":"2358:30:150"},"nodeType":"YulIf","src":"2355:50:150"},{"nodeType":"YulVariableDeclaration","src":"2414:84:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2470:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"2481:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2466:3:150"},"nodeType":"YulFunctionCall","src":"2466:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2490:7:150"}],"functionName":{"name":"abi_decode_bytes_calldata","nodeType":"YulIdentifier","src":"2440:25:150"},"nodeType":"YulFunctionCall","src":"2440:58:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"2418:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"2428:8:150","type":""}]},{"nodeType":"YulAssignment","src":"2507:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"2517:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2507:6:150"}]},{"nodeType":"YulAssignment","src":"2534:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"2544:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2534:6:150"}]},{"nodeType":"YulAssignment","src":"2561:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2588:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2599:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2584:3:150"},"nodeType":"YulFunctionCall","src":"2584:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2571:12:150"},"nodeType":"YulFunctionCall","src":"2571:32:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2561:6:150"}]},{"nodeType":"YulAssignment","src":"2612:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2639:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2650:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2635:3:150"},"nodeType":"YulFunctionCall","src":"2635:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2622:12:150"},"nodeType":"YulFunctionCall","src":"2622:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"2612:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2055:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2066:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2078:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2086:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2094:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2102:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2110:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"2118:6:150","type":""}],"src":"1972:689:150"},{"body":{"nodeType":"YulBlock","src":"2736:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"2782:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2791:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2794:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2784:6:150"},"nodeType":"YulFunctionCall","src":"2784:12:150"},"nodeType":"YulExpressionStatement","src":"2784:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2757:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2766:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2753:3:150"},"nodeType":"YulFunctionCall","src":"2753:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2778:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2749:3:150"},"nodeType":"YulFunctionCall","src":"2749:32:150"},"nodeType":"YulIf","src":"2746:52:150"},{"nodeType":"YulAssignment","src":"2807:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2830:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2817:12:150"},"nodeType":"YulFunctionCall","src":"2817:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2807:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2702:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2713:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2725:6:150","type":""}],"src":"2666:180:150"},{"body":{"nodeType":"YulBlock","src":"2883:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2900:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2907:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2912:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2903:3:150"},"nodeType":"YulFunctionCall","src":"2903:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2893:6:150"},"nodeType":"YulFunctionCall","src":"2893:31:150"},"nodeType":"YulExpressionStatement","src":"2893:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2940:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2943:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2933:6:150"},"nodeType":"YulFunctionCall","src":"2933:15:150"},"nodeType":"YulExpressionStatement","src":"2933:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2964:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2967:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2957:6:150"},"nodeType":"YulFunctionCall","src":"2957:15:150"},"nodeType":"YulExpressionStatement","src":"2957:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2851:127:150"},{"body":{"nodeType":"YulBlock","src":"3028:230:150","statements":[{"nodeType":"YulAssignment","src":"3038:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3054:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3048:5:150"},"nodeType":"YulFunctionCall","src":"3048:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3038:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3066:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3088:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"3104:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"3110:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3100:3:150"},"nodeType":"YulFunctionCall","src":"3100:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3119:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3115:3:150"},"nodeType":"YulFunctionCall","src":"3115:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3096:3:150"},"nodeType":"YulFunctionCall","src":"3096:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3084:3:150"},"nodeType":"YulFunctionCall","src":"3084:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"3070:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3199:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3201:16:150"},"nodeType":"YulFunctionCall","src":"3201:18:150"},"nodeType":"YulExpressionStatement","src":"3201:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3142:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3162:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3166:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3158:3:150"},"nodeType":"YulFunctionCall","src":"3158:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3170:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3154:3:150"},"nodeType":"YulFunctionCall","src":"3154:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3139:2:150"},"nodeType":"YulFunctionCall","src":"3139:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3178:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"3190:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3175:2:150"},"nodeType":"YulFunctionCall","src":"3175:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3136:2:150"},"nodeType":"YulFunctionCall","src":"3136:62:150"},"nodeType":"YulIf","src":"3133:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3237:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3241:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3230:6:150"},"nodeType":"YulFunctionCall","src":"3230:22:150"},"nodeType":"YulExpressionStatement","src":"3230:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"3008:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3017:6:150","type":""}],"src":"2983:275:150"},{"body":{"nodeType":"YulBlock","src":"3315:478:150","statements":[{"body":{"nodeType":"YulBlock","src":"3364:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3373:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3376:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3366:6:150"},"nodeType":"YulFunctionCall","src":"3366:12:150"},"nodeType":"YulExpressionStatement","src":"3366:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3343:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3351:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3339:3:150"},"nodeType":"YulFunctionCall","src":"3339:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"3358:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3335:3:150"},"nodeType":"YulFunctionCall","src":"3335:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3328:6:150"},"nodeType":"YulFunctionCall","src":"3328:35:150"},"nodeType":"YulIf","src":"3325:55:150"},{"nodeType":"YulVariableDeclaration","src":"3389:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3412:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3399:12:150"},"nodeType":"YulFunctionCall","src":"3399:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3393:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3458:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3460:16:150"},"nodeType":"YulFunctionCall","src":"3460:18:150"},"nodeType":"YulExpressionStatement","src":"3460:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3434:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3446:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3450:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3442:3:150"},"nodeType":"YulFunctionCall","src":"3442:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3454:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3438:3:150"},"nodeType":"YulFunctionCall","src":"3438:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3431:2:150"},"nodeType":"YulFunctionCall","src":"3431:26:150"},"nodeType":"YulIf","src":"3428:52:150"},{"nodeType":"YulVariableDeclaration","src":"3489:70:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3532:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"3536:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3528:3:150"},"nodeType":"YulFunctionCall","src":"3528:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3547:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3543:3:150"},"nodeType":"YulFunctionCall","src":"3543:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3524:3:150"},"nodeType":"YulFunctionCall","src":"3524:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"3553:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3520:3:150"},"nodeType":"YulFunctionCall","src":"3520:38:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3504:15:150"},"nodeType":"YulFunctionCall","src":"3504:55:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"3493:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3575:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3584:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3568:6:150"},"nodeType":"YulFunctionCall","src":"3568:19:150"},"nodeType":"YulExpressionStatement","src":"3568:19:150"},{"body":{"nodeType":"YulBlock","src":"3635:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3644:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3647:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3637:6:150"},"nodeType":"YulFunctionCall","src":"3637:12:150"},"nodeType":"YulExpressionStatement","src":"3637:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3610:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3618:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3606:3:150"},"nodeType":"YulFunctionCall","src":"3606:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"3623:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3602:3:150"},"nodeType":"YulFunctionCall","src":"3602:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"3630:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3599:2:150"},"nodeType":"YulFunctionCall","src":"3599:35:150"},"nodeType":"YulIf","src":"3596:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3677:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"3686:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3673:3:150"},"nodeType":"YulFunctionCall","src":"3673:18:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3697:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3705:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3693:3:150"},"nodeType":"YulFunctionCall","src":"3693:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3712:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3660:12:150"},"nodeType":"YulFunctionCall","src":"3660:55:150"},"nodeType":"YulExpressionStatement","src":"3660:55:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3739:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3748:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3735:3:150"},"nodeType":"YulFunctionCall","src":"3735:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"3753:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3731:3:150"},"nodeType":"YulFunctionCall","src":"3731:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"3760:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3724:6:150"},"nodeType":"YulFunctionCall","src":"3724:38:150"},"nodeType":"YulExpressionStatement","src":"3724:38:150"},{"nodeType":"YulAssignment","src":"3771:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"3780:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3771:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3289:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"3297:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3305:5:150","type":""}],"src":"3263:530:150"},{"body":{"nodeType":"YulBlock","src":"3928:407:150","statements":[{"body":{"nodeType":"YulBlock","src":"3975:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3984:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3987:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3977:6:150"},"nodeType":"YulFunctionCall","src":"3977:12:150"},"nodeType":"YulExpressionStatement","src":"3977:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3949:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3958:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3945:3:150"},"nodeType":"YulFunctionCall","src":"3945:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3970:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3941:3:150"},"nodeType":"YulFunctionCall","src":"3941:33:150"},"nodeType":"YulIf","src":"3938:53:150"},{"nodeType":"YulAssignment","src":"4000:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4029:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4010:18:150"},"nodeType":"YulFunctionCall","src":"4010:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4000:6:150"}]},{"nodeType":"YulAssignment","src":"4048:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4092:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4077:3:150"},"nodeType":"YulFunctionCall","src":"4077:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4058:18:150"},"nodeType":"YulFunctionCall","src":"4058:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4048:6:150"}]},{"nodeType":"YulAssignment","src":"4105:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4132:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4143:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4128:3:150"},"nodeType":"YulFunctionCall","src":"4128:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4115:12:150"},"nodeType":"YulFunctionCall","src":"4115:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4105:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4156:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4187:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4198:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4183:3:150"},"nodeType":"YulFunctionCall","src":"4183:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4170:12:150"},"nodeType":"YulFunctionCall","src":"4170:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4160:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4245:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4254:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4257:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4247:6:150"},"nodeType":"YulFunctionCall","src":"4247:12:150"},"nodeType":"YulExpressionStatement","src":"4247:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4217:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4233:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4237:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4229:3:150"},"nodeType":"YulFunctionCall","src":"4229:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4241:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4225:3:150"},"nodeType":"YulFunctionCall","src":"4225:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4214:2:150"},"nodeType":"YulFunctionCall","src":"4214:30:150"},"nodeType":"YulIf","src":"4211:50:150"},{"nodeType":"YulAssignment","src":"4270:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4301:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"4312:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4297:3:150"},"nodeType":"YulFunctionCall","src":"4297:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4321:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4280:16:150"},"nodeType":"YulFunctionCall","src":"4280:49:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4270:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3870:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3881:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3893:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3901:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3909:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3917:6:150","type":""}],"src":"3798:537:150"},{"body":{"nodeType":"YulBlock","src":"4439:103:150","statements":[{"nodeType":"YulAssignment","src":"4449:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4461:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4472:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4457:3:150"},"nodeType":"YulFunctionCall","src":"4457:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4449:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4491:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4506:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4518:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4523:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4514:3:150"},"nodeType":"YulFunctionCall","src":"4514:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4502:3:150"},"nodeType":"YulFunctionCall","src":"4502:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4484:6:150"},"nodeType":"YulFunctionCall","src":"4484:52:150"},"nodeType":"YulExpressionStatement","src":"4484:52:150"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4408:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4419:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4430:4:150","type":""}],"src":"4340:202:150"},{"body":{"nodeType":"YulBlock","src":"4634:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"4680:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4689:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4692:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4682:6:150"},"nodeType":"YulFunctionCall","src":"4682:12:150"},"nodeType":"YulExpressionStatement","src":"4682:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4655:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4664:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4651:3:150"},"nodeType":"YulFunctionCall","src":"4651:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4676:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4647:3:150"},"nodeType":"YulFunctionCall","src":"4647:32:150"},"nodeType":"YulIf","src":"4644:52:150"},{"nodeType":"YulAssignment","src":"4705:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4728:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4715:12:150"},"nodeType":"YulFunctionCall","src":"4715:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4705:6:150"}]},{"nodeType":"YulAssignment","src":"4747:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4780:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4791:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4776:3:150"},"nodeType":"YulFunctionCall","src":"4776:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4757:18:150"},"nodeType":"YulFunctionCall","src":"4757:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4747:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4592:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4603:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4615:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4623:6:150","type":""}],"src":"4547:254:150"},{"body":{"nodeType":"YulBlock","src":"4876:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"4922:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4931:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4934:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4924:6:150"},"nodeType":"YulFunctionCall","src":"4924:12:150"},"nodeType":"YulExpressionStatement","src":"4924:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4897:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4906:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4893:3:150"},"nodeType":"YulFunctionCall","src":"4893:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4918:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4889:3:150"},"nodeType":"YulFunctionCall","src":"4889:32:150"},"nodeType":"YulIf","src":"4886:52:150"},{"nodeType":"YulAssignment","src":"4947:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4970:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4957:12:150"},"nodeType":"YulFunctionCall","src":"4957:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4947:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4842:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4853:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4865:6:150","type":""}],"src":"4806:180:150"},{"body":{"nodeType":"YulBlock","src":"5023:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5040:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5047:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5052:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5043:3:150"},"nodeType":"YulFunctionCall","src":"5043:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5033:6:150"},"nodeType":"YulFunctionCall","src":"5033:31:150"},"nodeType":"YulExpressionStatement","src":"5033:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5080:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5083:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5073:6:150"},"nodeType":"YulFunctionCall","src":"5073:15:150"},"nodeType":"YulExpressionStatement","src":"5073:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5104:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5107:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5097:6:150"},"nodeType":"YulFunctionCall","src":"5097:15:150"},"nodeType":"YulExpressionStatement","src":"5097:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"4991:127:150"},{"body":{"nodeType":"YulBlock","src":"5240:229:150","statements":[{"nodeType":"YulAssignment","src":"5250:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5262:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5273:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5258:3:150"},"nodeType":"YulFunctionCall","src":"5258:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5250:4:150"}]},{"body":{"nodeType":"YulBlock","src":"5318:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5339:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5346:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5351:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5342:3:150"},"nodeType":"YulFunctionCall","src":"5342:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5332:6:150"},"nodeType":"YulFunctionCall","src":"5332:31:150"},"nodeType":"YulExpressionStatement","src":"5332:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5383:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5386:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5376:6:150"},"nodeType":"YulFunctionCall","src":"5376:15:150"},"nodeType":"YulExpressionStatement","src":"5376:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5411:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5414:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5404:6:150"},"nodeType":"YulFunctionCall","src":"5404:15:150"},"nodeType":"YulExpressionStatement","src":"5404:15:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5298:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5306:1:150","type":"","value":"4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5295:2:150"},"nodeType":"YulFunctionCall","src":"5295:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5288:6:150"},"nodeType":"YulFunctionCall","src":"5288:21:150"},"nodeType":"YulIf","src":"5285:144:150"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5445:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"5456:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5438:6:150"},"nodeType":"YulFunctionCall","src":"5438:25:150"},"nodeType":"YulExpressionStatement","src":"5438:25:150"}]},"name":"abi_encode_tuple_t_enum$_OperationState_$428__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5209:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5220:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5231:4:150","type":""}],"src":"5123:346:150"},{"body":{"nodeType":"YulBlock","src":"5558:283:150","statements":[{"body":{"nodeType":"YulBlock","src":"5607:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5616:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5619:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5609:6:150"},"nodeType":"YulFunctionCall","src":"5609:12:150"},"nodeType":"YulExpressionStatement","src":"5609:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5586:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5594:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5582:3:150"},"nodeType":"YulFunctionCall","src":"5582:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"5601:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5578:3:150"},"nodeType":"YulFunctionCall","src":"5578:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5571:6:150"},"nodeType":"YulFunctionCall","src":"5571:35:150"},"nodeType":"YulIf","src":"5568:55:150"},{"nodeType":"YulAssignment","src":"5632:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5655:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5642:12:150"},"nodeType":"YulFunctionCall","src":"5642:20:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5632:6:150"}]},{"body":{"nodeType":"YulBlock","src":"5705:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5714:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5717:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5707:6:150"},"nodeType":"YulFunctionCall","src":"5707:12:150"},"nodeType":"YulExpressionStatement","src":"5707:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5677:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5693:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5697:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5689:3:150"},"nodeType":"YulFunctionCall","src":"5689:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5701:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5685:3:150"},"nodeType":"YulFunctionCall","src":"5685:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5674:2:150"},"nodeType":"YulFunctionCall","src":"5674:30:150"},"nodeType":"YulIf","src":"5671:50:150"},{"nodeType":"YulAssignment","src":"5730:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5746:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5754:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5742:3:150"},"nodeType":"YulFunctionCall","src":"5742:17:150"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5730:8:150"}]},{"body":{"nodeType":"YulBlock","src":"5819:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5828:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5831:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5821:6:150"},"nodeType":"YulFunctionCall","src":"5821:12:150"},"nodeType":"YulExpressionStatement","src":"5821:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5782:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5794:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"5797:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5790:3:150"},"nodeType":"YulFunctionCall","src":"5790:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5778:3:150"},"nodeType":"YulFunctionCall","src":"5778:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"5807:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5774:3:150"},"nodeType":"YulFunctionCall","src":"5774:38:150"},{"name":"end","nodeType":"YulIdentifier","src":"5814:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5771:2:150"},"nodeType":"YulFunctionCall","src":"5771:47:150"},"nodeType":"YulIf","src":"5768:67:150"}]},"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5521:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5529:3:150","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"5537:8:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"5547:6:150","type":""}],"src":"5474:367:150"},{"body":{"nodeType":"YulBlock","src":"6117:1035:150","statements":[{"body":{"nodeType":"YulBlock","src":"6164:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6173:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6176:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6166:6:150"},"nodeType":"YulFunctionCall","src":"6166:12:150"},"nodeType":"YulExpressionStatement","src":"6166:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6138:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6147:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6134:3:150"},"nodeType":"YulFunctionCall","src":"6134:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6159:3:150","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6130:3:150"},"nodeType":"YulFunctionCall","src":"6130:33:150"},"nodeType":"YulIf","src":"6127:53:150"},{"nodeType":"YulVariableDeclaration","src":"6189:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6216:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6203:12:150"},"nodeType":"YulFunctionCall","src":"6203:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6193:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6235:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6253:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6257:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6249:3:150"},"nodeType":"YulFunctionCall","src":"6249:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6261:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6245:3:150"},"nodeType":"YulFunctionCall","src":"6245:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6239:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6290:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6299:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6302:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6292:6:150"},"nodeType":"YulFunctionCall","src":"6292:12:150"},"nodeType":"YulExpressionStatement","src":"6292:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6278:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6286:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6275:2:150"},"nodeType":"YulFunctionCall","src":"6275:14:150"},"nodeType":"YulIf","src":"6272:34:150"},{"nodeType":"YulVariableDeclaration","src":"6315:96:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6383:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6394:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6379:3:150"},"nodeType":"YulFunctionCall","src":"6379:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6403:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"6341:37:150"},"nodeType":"YulFunctionCall","src":"6341:70:150"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"6319:8:150","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"6329:8:150","type":""}]},{"nodeType":"YulAssignment","src":"6420:18:150","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"6430:8:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6420:6:150"}]},{"nodeType":"YulAssignment","src":"6447:18:150","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"6457:8:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6447:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6474:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6507:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6518:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6503:3:150"},"nodeType":"YulFunctionCall","src":"6503:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6490:12:150"},"nodeType":"YulFunctionCall","src":"6490:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"6478:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6551:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6560:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6563:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6553:6:150"},"nodeType":"YulFunctionCall","src":"6553:12:150"},"nodeType":"YulExpressionStatement","src":"6553:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"6537:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6547:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6534:2:150"},"nodeType":"YulFunctionCall","src":"6534:16:150"},"nodeType":"YulIf","src":"6531:36:150"},{"nodeType":"YulVariableDeclaration","src":"6576:98:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6644:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"6655:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6640:3:150"},"nodeType":"YulFunctionCall","src":"6640:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6666:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"6602:37:150"},"nodeType":"YulFunctionCall","src":"6602:72:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"6580:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"6590:8:150","type":""}]},{"nodeType":"YulAssignment","src":"6683:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"6693:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6683:6:150"}]},{"nodeType":"YulAssignment","src":"6710:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"6720:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6710:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6737:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6770:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6781:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6766:3:150"},"nodeType":"YulFunctionCall","src":"6766:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6753:12:150"},"nodeType":"YulFunctionCall","src":"6753:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"6741:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6814:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6823:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6826:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6816:6:150"},"nodeType":"YulFunctionCall","src":"6816:12:150"},"nodeType":"YulExpressionStatement","src":"6816:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"6800:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6810:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6797:2:150"},"nodeType":"YulFunctionCall","src":"6797:16:150"},"nodeType":"YulIf","src":"6794:36:150"},{"nodeType":"YulVariableDeclaration","src":"6839:98:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6907:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"6918:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6903:3:150"},"nodeType":"YulFunctionCall","src":"6903:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6929:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"6865:37:150"},"nodeType":"YulFunctionCall","src":"6865:72:150"},"variables":[{"name":"value4_1","nodeType":"YulTypedName","src":"6843:8:150","type":""},{"name":"value5_1","nodeType":"YulTypedName","src":"6853:8:150","type":""}]},{"nodeType":"YulAssignment","src":"6946:18:150","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"6956:8:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"6946:6:150"}]},{"nodeType":"YulAssignment","src":"6973:18:150","value":{"name":"value5_1","nodeType":"YulIdentifier","src":"6983:8:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"6973:6:150"}]},{"nodeType":"YulAssignment","src":"7000:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7027:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7038:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7023:3:150"},"nodeType":"YulFunctionCall","src":"7023:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7010:12:150"},"nodeType":"YulFunctionCall","src":"7010:32:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"7000:6:150"}]},{"nodeType":"YulAssignment","src":"7051:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7078:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7089:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7074:3:150"},"nodeType":"YulFunctionCall","src":"7074:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7061:12:150"},"nodeType":"YulFunctionCall","src":"7061:33:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"7051:6:150"}]},{"nodeType":"YulAssignment","src":"7103:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7130:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7141:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7126:3:150"},"nodeType":"YulFunctionCall","src":"7126:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7113:12:150"},"nodeType":"YulFunctionCall","src":"7113:33:150"},"variableNames":[{"name":"value8","nodeType":"YulIdentifier","src":"7103:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6019:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6030:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6042:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6050:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6058:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6066:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"6074:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"6082:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"6090:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"6098:6:150","type":""},{"name":"value8","nodeType":"YulTypedName","src":"6106:6:150","type":""}],"src":"5846:1306:150"},{"body":{"nodeType":"YulBlock","src":"7411:983:150","statements":[{"body":{"nodeType":"YulBlock","src":"7458:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7467:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7470:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7460:6:150"},"nodeType":"YulFunctionCall","src":"7460:12:150"},"nodeType":"YulExpressionStatement","src":"7460:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7432:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7441:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7428:3:150"},"nodeType":"YulFunctionCall","src":"7428:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7453:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7424:3:150"},"nodeType":"YulFunctionCall","src":"7424:33:150"},"nodeType":"YulIf","src":"7421:53:150"},{"nodeType":"YulVariableDeclaration","src":"7483:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7510:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7497:12:150"},"nodeType":"YulFunctionCall","src":"7497:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7487:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7529:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7547:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7551:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7543:3:150"},"nodeType":"YulFunctionCall","src":"7543:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7555:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7539:3:150"},"nodeType":"YulFunctionCall","src":"7539:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7533:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7584:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7593:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7596:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7586:6:150"},"nodeType":"YulFunctionCall","src":"7586:12:150"},"nodeType":"YulExpressionStatement","src":"7586:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7572:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7580:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7569:2:150"},"nodeType":"YulFunctionCall","src":"7569:14:150"},"nodeType":"YulIf","src":"7566:34:150"},{"nodeType":"YulVariableDeclaration","src":"7609:96:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7677:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"7688:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7673:3:150"},"nodeType":"YulFunctionCall","src":"7673:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7697:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"7635:37:150"},"nodeType":"YulFunctionCall","src":"7635:70:150"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"7613:8:150","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"7623:8:150","type":""}]},{"nodeType":"YulAssignment","src":"7714:18:150","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"7724:8:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7714:6:150"}]},{"nodeType":"YulAssignment","src":"7741:18:150","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"7751:8:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7741:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7768:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7801:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7812:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7797:3:150"},"nodeType":"YulFunctionCall","src":"7797:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7784:12:150"},"nodeType":"YulFunctionCall","src":"7784:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"7772:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7845:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7854:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7857:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7847:6:150"},"nodeType":"YulFunctionCall","src":"7847:12:150"},"nodeType":"YulExpressionStatement","src":"7847:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"7831:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7841:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7828:2:150"},"nodeType":"YulFunctionCall","src":"7828:16:150"},"nodeType":"YulIf","src":"7825:36:150"},{"nodeType":"YulVariableDeclaration","src":"7870:98:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7938:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"7949:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7934:3:150"},"nodeType":"YulFunctionCall","src":"7934:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7960:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"7896:37:150"},"nodeType":"YulFunctionCall","src":"7896:72:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"7874:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"7884:8:150","type":""}]},{"nodeType":"YulAssignment","src":"7977:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"7987:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"7977:6:150"}]},{"nodeType":"YulAssignment","src":"8004:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"8014:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"8004:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8031:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8064:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8075:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8060:3:150"},"nodeType":"YulFunctionCall","src":"8060:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8047:12:150"},"nodeType":"YulFunctionCall","src":"8047:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"8035:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8108:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8117:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8120:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8110:6:150"},"nodeType":"YulFunctionCall","src":"8110:12:150"},"nodeType":"YulExpressionStatement","src":"8110:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"8094:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8104:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8091:2:150"},"nodeType":"YulFunctionCall","src":"8091:16:150"},"nodeType":"YulIf","src":"8088:36:150"},{"nodeType":"YulVariableDeclaration","src":"8133:98:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8201:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"8212:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8197:3:150"},"nodeType":"YulFunctionCall","src":"8197:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8223:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn_calldata","nodeType":"YulIdentifier","src":"8159:37:150"},"nodeType":"YulFunctionCall","src":"8159:72:150"},"variables":[{"name":"value4_1","nodeType":"YulTypedName","src":"8137:8:150","type":""},{"name":"value5_1","nodeType":"YulTypedName","src":"8147:8:150","type":""}]},{"nodeType":"YulAssignment","src":"8240:18:150","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"8250:8:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"8240:6:150"}]},{"nodeType":"YulAssignment","src":"8267:18:150","value":{"name":"value5_1","nodeType":"YulIdentifier","src":"8277:8:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"8267:6:150"}]},{"nodeType":"YulAssignment","src":"8294:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8321:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8332:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8317:3:150"},"nodeType":"YulFunctionCall","src":"8317:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8304:12:150"},"nodeType":"YulFunctionCall","src":"8304:32:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"8294:6:150"}]},{"nodeType":"YulAssignment","src":"8345:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8372:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8383:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8368:3:150"},"nodeType":"YulFunctionCall","src":"8368:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8355:12:150"},"nodeType":"YulFunctionCall","src":"8355:33:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"8345:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7321:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7332:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7344:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7352:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7360:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7368:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7376:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"7384:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"7392:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"7400:6:150","type":""}],"src":"7157:1237:150"},{"body":{"nodeType":"YulBlock","src":"8463:648:150","statements":[{"body":{"nodeType":"YulBlock","src":"8512:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8521:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8524:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8514:6:150"},"nodeType":"YulFunctionCall","src":"8514:12:150"},"nodeType":"YulExpressionStatement","src":"8514:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8491:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8499:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8487:3:150"},"nodeType":"YulFunctionCall","src":"8487:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"8506:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8483:3:150"},"nodeType":"YulFunctionCall","src":"8483:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8476:6:150"},"nodeType":"YulFunctionCall","src":"8476:35:150"},"nodeType":"YulIf","src":"8473:55:150"},{"nodeType":"YulVariableDeclaration","src":"8537:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8560:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8547:12:150"},"nodeType":"YulFunctionCall","src":"8547:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8541:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8576:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8586:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8580:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8629:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8631:16:150"},"nodeType":"YulFunctionCall","src":"8631:18:150"},"nodeType":"YulExpressionStatement","src":"8631:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"8605:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8617:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"8621:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8613:3:150"},"nodeType":"YulFunctionCall","src":"8613:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"8625:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8609:3:150"},"nodeType":"YulFunctionCall","src":"8609:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8602:2:150"},"nodeType":"YulFunctionCall","src":"8602:26:150"},"nodeType":"YulIf","src":"8599:52:150"},{"nodeType":"YulVariableDeclaration","src":"8660:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8674:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"8677:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8670:3:150"},"nodeType":"YulFunctionCall","src":"8670:10:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"8664:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8689:39:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8720:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8724:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8716:3:150"},"nodeType":"YulFunctionCall","src":"8716:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8700:15:150"},"nodeType":"YulFunctionCall","src":"8700:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"8693:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8737:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"8750:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"8741:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8769:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8774:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8762:6:150"},"nodeType":"YulFunctionCall","src":"8762:15:150"},"nodeType":"YulExpressionStatement","src":"8762:15:150"},{"nodeType":"YulAssignment","src":"8786:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8797:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8802:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8793:3:150"},"nodeType":"YulFunctionCall","src":"8793:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8786:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"8814:38:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8836:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"8844:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8832:3:150"},"nodeType":"YulFunctionCall","src":"8832:15:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8849:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8828:3:150"},"nodeType":"YulFunctionCall","src":"8828:24:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"8818:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8880:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8889:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8892:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8882:6:150"},"nodeType":"YulFunctionCall","src":"8882:12:150"},"nodeType":"YulExpressionStatement","src":"8882:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"8867:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"8875:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8864:2:150"},"nodeType":"YulFunctionCall","src":"8864:15:150"},"nodeType":"YulIf","src":"8861:35:150"},{"nodeType":"YulVariableDeclaration","src":"8905:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8920:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8928:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8916:3:150"},"nodeType":"YulFunctionCall","src":"8916:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"8909:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8996:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9017:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9035:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9022:12:150"},"nodeType":"YulFunctionCall","src":"9022:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9010:6:150"},"nodeType":"YulFunctionCall","src":"9010:30:150"},"nodeType":"YulExpressionStatement","src":"9010:30:150"},{"nodeType":"YulAssignment","src":"9053:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9064:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9069:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9060:3:150"},"nodeType":"YulFunctionCall","src":"9060:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"9053:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8951:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"8956:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8948:2:150"},"nodeType":"YulFunctionCall","src":"8948:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8964:23:150","statements":[{"nodeType":"YulAssignment","src":"8966:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8977:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8982:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8973:3:150"},"nodeType":"YulFunctionCall","src":"8973:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"8966:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"8944:3:150","statements":[]},"src":"8940:142:150"},{"nodeType":"YulAssignment","src":"9091:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"9100:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"9091:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8437:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"8445:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8453:5:150","type":""}],"src":"8399:712:150"},{"body":{"nodeType":"YulBlock","src":"9313:746:150","statements":[{"body":{"nodeType":"YulBlock","src":"9360:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9369:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9372:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9362:6:150"},"nodeType":"YulFunctionCall","src":"9362:12:150"},"nodeType":"YulExpressionStatement","src":"9362:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9334:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9343:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9330:3:150"},"nodeType":"YulFunctionCall","src":"9330:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9355:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9326:3:150"},"nodeType":"YulFunctionCall","src":"9326:33:150"},"nodeType":"YulIf","src":"9323:53:150"},{"nodeType":"YulAssignment","src":"9385:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9414:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9395:18:150"},"nodeType":"YulFunctionCall","src":"9395:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9385:6:150"}]},{"nodeType":"YulAssignment","src":"9433:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9466:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9477:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9462:3:150"},"nodeType":"YulFunctionCall","src":"9462:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9443:18:150"},"nodeType":"YulFunctionCall","src":"9443:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9433:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9490:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9521:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9532:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9517:3:150"},"nodeType":"YulFunctionCall","src":"9517:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9504:12:150"},"nodeType":"YulFunctionCall","src":"9504:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9494:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9545:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9563:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9567:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9559:3:150"},"nodeType":"YulFunctionCall","src":"9559:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9571:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9555:3:150"},"nodeType":"YulFunctionCall","src":"9555:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9549:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9600:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9609:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9612:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9602:6:150"},"nodeType":"YulFunctionCall","src":"9602:12:150"},"nodeType":"YulExpressionStatement","src":"9602:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9588:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9596:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9585:2:150"},"nodeType":"YulFunctionCall","src":"9585:14:150"},"nodeType":"YulIf","src":"9582:34:150"},{"nodeType":"YulAssignment","src":"9625:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9668:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9679:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9664:3:150"},"nodeType":"YulFunctionCall","src":"9664:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9688:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"9635:28:150"},"nodeType":"YulFunctionCall","src":"9635:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9625:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9705:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9738:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9749:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9734:3:150"},"nodeType":"YulFunctionCall","src":"9734:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9721:12:150"},"nodeType":"YulFunctionCall","src":"9721:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"9709:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9782:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9791:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9794:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9784:6:150"},"nodeType":"YulFunctionCall","src":"9784:12:150"},"nodeType":"YulExpressionStatement","src":"9784:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"9768:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9778:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9765:2:150"},"nodeType":"YulFunctionCall","src":"9765:16:150"},"nodeType":"YulIf","src":"9762:36:150"},{"nodeType":"YulAssignment","src":"9807:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9850:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9861:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9846:3:150"},"nodeType":"YulFunctionCall","src":"9846:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9872:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"9817:28:150"},"nodeType":"YulFunctionCall","src":"9817:63:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"9807:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9889:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9922:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9933:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9918:3:150"},"nodeType":"YulFunctionCall","src":"9918:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9905:12:150"},"nodeType":"YulFunctionCall","src":"9905:33:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"9893:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9967:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9976:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9979:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9969:6:150"},"nodeType":"YulFunctionCall","src":"9969:12:150"},"nodeType":"YulExpressionStatement","src":"9969:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"9953:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9963:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9950:2:150"},"nodeType":"YulFunctionCall","src":"9950:16:150"},"nodeType":"YulIf","src":"9947:36:150"},{"nodeType":"YulAssignment","src":"9992:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10023:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"10034:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10019:3:150"},"nodeType":"YulFunctionCall","src":"10019:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10045:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"10002:16:150"},"nodeType":"YulFunctionCall","src":"10002:51:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"9992:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9247:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9258:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9270:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9278:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9286:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9294:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"9302:6:150","type":""}],"src":"9116:943:150"},{"body":{"nodeType":"YulBlock","src":"10165:76:150","statements":[{"nodeType":"YulAssignment","src":"10175:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10187:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10198:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10183:3:150"},"nodeType":"YulFunctionCall","src":"10183:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10175:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10217:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10228:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10210:6:150"},"nodeType":"YulFunctionCall","src":"10210:25:150"},"nodeType":"YulExpressionStatement","src":"10210:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10134:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10145:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10156:4:150","type":""}],"src":"10064:177:150"},{"body":{"nodeType":"YulBlock","src":"10393:459:150","statements":[{"body":{"nodeType":"YulBlock","src":"10440:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10449:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10452:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10442:6:150"},"nodeType":"YulFunctionCall","src":"10442:12:150"},"nodeType":"YulExpressionStatement","src":"10442:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10414:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10423:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10410:3:150"},"nodeType":"YulFunctionCall","src":"10410:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10435:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10406:3:150"},"nodeType":"YulFunctionCall","src":"10406:33:150"},"nodeType":"YulIf","src":"10403:53:150"},{"nodeType":"YulAssignment","src":"10465:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10494:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10475:18:150"},"nodeType":"YulFunctionCall","src":"10475:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10465:6:150"}]},{"nodeType":"YulAssignment","src":"10513:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10546:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10557:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10542:3:150"},"nodeType":"YulFunctionCall","src":"10542:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10523:18:150"},"nodeType":"YulFunctionCall","src":"10523:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10513:6:150"}]},{"nodeType":"YulAssignment","src":"10570:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10597:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10608:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10593:3:150"},"nodeType":"YulFunctionCall","src":"10593:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10580:12:150"},"nodeType":"YulFunctionCall","src":"10580:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10570:6:150"}]},{"nodeType":"YulAssignment","src":"10621:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10648:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10659:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10644:3:150"},"nodeType":"YulFunctionCall","src":"10644:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10631:12:150"},"nodeType":"YulFunctionCall","src":"10631:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"10621:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10672:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10703:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10714:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10699:3:150"},"nodeType":"YulFunctionCall","src":"10699:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10686:12:150"},"nodeType":"YulFunctionCall","src":"10686:33:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10676:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10762:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10771:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10774:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10764:6:150"},"nodeType":"YulFunctionCall","src":"10764:12:150"},"nodeType":"YulExpressionStatement","src":"10764:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10734:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10750:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"10754:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10746:3:150"},"nodeType":"YulFunctionCall","src":"10746:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"10758:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10742:3:150"},"nodeType":"YulFunctionCall","src":"10742:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10731:2:150"},"nodeType":"YulFunctionCall","src":"10731:30:150"},"nodeType":"YulIf","src":"10728:50:150"},{"nodeType":"YulAssignment","src":"10787:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10818:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"10829:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10814:3:150"},"nodeType":"YulFunctionCall","src":"10814:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10838:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"10797:16:150"},"nodeType":"YulFunctionCall","src":"10797:49:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"10787:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10327:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10338:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10350:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10358:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10366:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"10374:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"10382:6:150","type":""}],"src":"10246:606:150"},{"body":{"nodeType":"YulBlock","src":"10923:200:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10940:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"10945:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10933:6:150"},"nodeType":"YulFunctionCall","src":"10933:19:150"},"nodeType":"YulExpressionStatement","src":"10933:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10978:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10983:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10974:3:150"},"nodeType":"YulFunctionCall","src":"10974:14:150"},{"name":"start","nodeType":"YulIdentifier","src":"10990:5:150"},{"name":"length","nodeType":"YulIdentifier","src":"10997:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"10961:12:150"},"nodeType":"YulFunctionCall","src":"10961:43:150"},"nodeType":"YulExpressionStatement","src":"10961:43:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11028:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"11033:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11024:3:150"},"nodeType":"YulFunctionCall","src":"11024:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"11042:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11020:3:150"},"nodeType":"YulFunctionCall","src":"11020:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"11049:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11013:6:150"},"nodeType":"YulFunctionCall","src":"11013:38:150"},"nodeType":"YulExpressionStatement","src":"11013:38:150"},{"nodeType":"YulAssignment","src":"11060:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11075:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11088:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"11096:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11084:3:150"},"nodeType":"YulFunctionCall","src":"11084:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11105:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"11101:3:150"},"nodeType":"YulFunctionCall","src":"11101:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11080:3:150"},"nodeType":"YulFunctionCall","src":"11080:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11071:3:150"},"nodeType":"YulFunctionCall","src":"11071:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"11112:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11067:3:150"},"nodeType":"YulFunctionCall","src":"11067:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11060:3:150"}]}]},"name":"abi_encode_bytes_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"10892:5:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"10899:6:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10907:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10915:3:150","type":""}],"src":"10857:266:150"},{"body":{"nodeType":"YulBlock","src":"11369:316:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11386:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11401:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11417:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11422:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11413:3:150"},"nodeType":"YulFunctionCall","src":"11413:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11426:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11409:3:150"},"nodeType":"YulFunctionCall","src":"11409:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11397:3:150"},"nodeType":"YulFunctionCall","src":"11397:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11379:6:150"},"nodeType":"YulFunctionCall","src":"11379:51:150"},"nodeType":"YulExpressionStatement","src":"11379:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11450:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11461:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11446:3:150"},"nodeType":"YulFunctionCall","src":"11446:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"11466:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11439:6:150"},"nodeType":"YulFunctionCall","src":"11439:34:150"},"nodeType":"YulExpressionStatement","src":"11439:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11493:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11504:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11489:3:150"},"nodeType":"YulFunctionCall","src":"11489:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"11509:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11482:6:150"},"nodeType":"YulFunctionCall","src":"11482:31:150"},"nodeType":"YulExpressionStatement","src":"11482:31:150"},{"nodeType":"YulAssignment","src":"11522:70:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"11556:6:150"},{"name":"value3","nodeType":"YulIdentifier","src":"11564:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11576:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11587:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11572:3:150"},"nodeType":"YulFunctionCall","src":"11572:19:150"}],"functionName":{"name":"abi_encode_bytes_calldata","nodeType":"YulIdentifier","src":"11530:25:150"},"nodeType":"YulFunctionCall","src":"11530:62:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11522:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11612:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11623:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11608:3:150"},"nodeType":"YulFunctionCall","src":"11608:18:150"},{"name":"value4","nodeType":"YulIdentifier","src":"11628:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11601:6:150"},"nodeType":"YulFunctionCall","src":"11601:34:150"},"nodeType":"YulExpressionStatement","src":"11601:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11655:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11666:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11651:3:150"},"nodeType":"YulFunctionCall","src":"11651:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"11672:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11644:6:150"},"nodeType":"YulFunctionCall","src":"11644:35:150"},"nodeType":"YulExpressionStatement","src":"11644:35:150"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_uint256__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11298:9:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"11309:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"11317:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11325:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11333:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11341:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11349:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11360:4:150","type":""}],"src":"11128:557:150"},{"body":{"nodeType":"YulBlock","src":"11875:227:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11892:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11907:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11923:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11928:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11919:3:150"},"nodeType":"YulFunctionCall","src":"11919:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11932:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11915:3:150"},"nodeType":"YulFunctionCall","src":"11915:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11903:3:150"},"nodeType":"YulFunctionCall","src":"11903:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11885:6:150"},"nodeType":"YulFunctionCall","src":"11885:51:150"},"nodeType":"YulExpressionStatement","src":"11885:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11956:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11967:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11952:3:150"},"nodeType":"YulFunctionCall","src":"11952:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"11972:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11945:6:150"},"nodeType":"YulFunctionCall","src":"11945:34:150"},"nodeType":"YulExpressionStatement","src":"11945:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11999:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12010:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11995:3:150"},"nodeType":"YulFunctionCall","src":"11995:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"12015:2:150","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11988:6:150"},"nodeType":"YulFunctionCall","src":"11988:30:150"},"nodeType":"YulExpressionStatement","src":"11988:30:150"},{"nodeType":"YulAssignment","src":"12027:69:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"12061:6:150"},{"name":"value3","nodeType":"YulIdentifier","src":"12069:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12092:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12077:3:150"},"nodeType":"YulFunctionCall","src":"12077:18:150"}],"functionName":{"name":"abi_encode_bytes_calldata","nodeType":"YulIdentifier","src":"12035:25:150"},"nodeType":"YulFunctionCall","src":"12035:61:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12027:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11820:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11831:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11839:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11847:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11855:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11866:4:150","type":""}],"src":"11690:412:150"},{"body":{"nodeType":"YulBlock","src":"12208:102:150","statements":[{"nodeType":"YulAssignment","src":"12218:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12230:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12241:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12226:3:150"},"nodeType":"YulFunctionCall","src":"12226:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12218:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12260:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12275:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12291:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12296:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12287:3:150"},"nodeType":"YulFunctionCall","src":"12287:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"12300:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12283:3:150"},"nodeType":"YulFunctionCall","src":"12283:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12271:3:150"},"nodeType":"YulFunctionCall","src":"12271:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12253:6:150"},"nodeType":"YulFunctionCall","src":"12253:51:150"},"nodeType":"YulExpressionStatement","src":"12253:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12177:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12188:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12199:4:150","type":""}],"src":"12107:203:150"},{"body":{"nodeType":"YulBlock","src":"12444:119:150","statements":[{"nodeType":"YulAssignment","src":"12454:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12466:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12477:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12462:3:150"},"nodeType":"YulFunctionCall","src":"12462:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12454:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12496:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12507:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12489:6:150"},"nodeType":"YulFunctionCall","src":"12489:25:150"},"nodeType":"YulExpressionStatement","src":"12489:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12534:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12545:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12530:3:150"},"nodeType":"YulFunctionCall","src":"12530:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12550:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12523:6:150"},"nodeType":"YulFunctionCall","src":"12523:34:150"},"nodeType":"YulExpressionStatement","src":"12523:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12405:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12416:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12424:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12435:4:150","type":""}],"src":"12315:248:150"},{"body":{"nodeType":"YulBlock","src":"12809:316:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12826:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12841:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12857:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12862:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12853:3:150"},"nodeType":"YulFunctionCall","src":"12853:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"12866:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12849:3:150"},"nodeType":"YulFunctionCall","src":"12849:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12837:3:150"},"nodeType":"YulFunctionCall","src":"12837:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12819:6:150"},"nodeType":"YulFunctionCall","src":"12819:51:150"},"nodeType":"YulExpressionStatement","src":"12819:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12890:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12901:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12886:3:150"},"nodeType":"YulFunctionCall","src":"12886:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12906:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12879:6:150"},"nodeType":"YulFunctionCall","src":"12879:34:150"},"nodeType":"YulExpressionStatement","src":"12879:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12933:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12944:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12929:3:150"},"nodeType":"YulFunctionCall","src":"12929:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"12949:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12922:6:150"},"nodeType":"YulFunctionCall","src":"12922:31:150"},"nodeType":"YulExpressionStatement","src":"12922:31:150"},{"nodeType":"YulAssignment","src":"12962:70:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"12996:6:150"},{"name":"value3","nodeType":"YulIdentifier","src":"13004:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13016:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13027:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13012:3:150"},"nodeType":"YulFunctionCall","src":"13012:19:150"}],"functionName":{"name":"abi_encode_bytes_calldata","nodeType":"YulIdentifier","src":"12970:25:150"},"nodeType":"YulFunctionCall","src":"12970:62:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12962:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13052:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13063:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13048:3:150"},"nodeType":"YulFunctionCall","src":"13048:18:150"},{"name":"value4","nodeType":"YulIdentifier","src":"13068:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13041:6:150"},"nodeType":"YulFunctionCall","src":"13041:34:150"},"nodeType":"YulExpressionStatement","src":"13041:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13095:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13106:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13091:3:150"},"nodeType":"YulFunctionCall","src":"13091:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"13112:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13084:6:150"},"nodeType":"YulFunctionCall","src":"13084:35:150"},"nodeType":"YulExpressionStatement","src":"13084:35:150"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_bytes32__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12738:9:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"12749:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"12757:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"12765:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"12773:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12781:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12789:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12800:4:150","type":""}],"src":"12568:557:150"},{"body":{"nodeType":"YulBlock","src":"13287:162:150","statements":[{"nodeType":"YulAssignment","src":"13297:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13309:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13320:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13305:3:150"},"nodeType":"YulFunctionCall","src":"13305:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13297:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13339:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"13350:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13332:6:150"},"nodeType":"YulFunctionCall","src":"13332:25:150"},"nodeType":"YulExpressionStatement","src":"13332:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13377:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13388:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13373:3:150"},"nodeType":"YulFunctionCall","src":"13373:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"13393:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13366:6:150"},"nodeType":"YulFunctionCall","src":"13366:34:150"},"nodeType":"YulExpressionStatement","src":"13366:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13420:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13431:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13416:3:150"},"nodeType":"YulFunctionCall","src":"13416:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"13436:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13409:6:150"},"nodeType":"YulFunctionCall","src":"13409:34:150"},"nodeType":"YulExpressionStatement","src":"13409:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13240:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13251:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13259:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13267:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13278:4:150","type":""}],"src":"13130:319:150"},{"body":{"nodeType":"YulBlock","src":"13486:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13503:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13510:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13515:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13506:3:150"},"nodeType":"YulFunctionCall","src":"13506:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13496:6:150"},"nodeType":"YulFunctionCall","src":"13496:31:150"},"nodeType":"YulExpressionStatement","src":"13496:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13543:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13546:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13536:6:150"},"nodeType":"YulFunctionCall","src":"13536:15:150"},"nodeType":"YulExpressionStatement","src":"13536:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13567:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13570:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13560:6:150"},"nodeType":"YulFunctionCall","src":"13560:15:150"},"nodeType":"YulExpressionStatement","src":"13560:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"13454:127:150"},{"body":{"nodeType":"YulBlock","src":"13656:116:150","statements":[{"body":{"nodeType":"YulBlock","src":"13702:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13711:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13714:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13704:6:150"},"nodeType":"YulFunctionCall","src":"13704:12:150"},"nodeType":"YulExpressionStatement","src":"13704:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13677:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13686:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13673:3:150"},"nodeType":"YulFunctionCall","src":"13673:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13698:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13669:3:150"},"nodeType":"YulFunctionCall","src":"13669:32:150"},"nodeType":"YulIf","src":"13666:52:150"},{"nodeType":"YulAssignment","src":"13727:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13756:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"13737:18:150"},"nodeType":"YulFunctionCall","src":"13737:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13727:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13622:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13633:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13645:6:150","type":""}],"src":"13586:186:150"},{"body":{"nodeType":"YulBlock","src":"13871:427:150","statements":[{"nodeType":"YulVariableDeclaration","src":"13881:51:150","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"13920:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13907:12:150"},"nodeType":"YulFunctionCall","src":"13907:25:150"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"13885:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14021:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14030:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14033:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14023:6:150"},"nodeType":"YulFunctionCall","src":"14023:12:150"},"nodeType":"YulExpressionStatement","src":"14023:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"13955:18:150"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"13983:12:150"},"nodeType":"YulFunctionCall","src":"13983:14:150"},{"name":"base_ref","nodeType":"YulIdentifier","src":"13999:8:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13979:3:150"},"nodeType":"YulFunctionCall","src":"13979:29:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14014:2:150","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14010:3:150"},"nodeType":"YulFunctionCall","src":"14010:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13975:3:150"},"nodeType":"YulFunctionCall","src":"13975:43:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13951:3:150"},"nodeType":"YulFunctionCall","src":"13951:68:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13944:6:150"},"nodeType":"YulFunctionCall","src":"13944:76:150"},"nodeType":"YulIf","src":"13941:96:150"},{"nodeType":"YulVariableDeclaration","src":"14046:47:150","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"14064:8:150"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"14074:18:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14060:3:150"},"nodeType":"YulFunctionCall","src":"14060:33:150"},"variables":[{"name":"addr_1","nodeType":"YulTypedName","src":"14050:6:150","type":""}]},{"nodeType":"YulAssignment","src":"14102:30:150","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"14125:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14112:12:150"},"nodeType":"YulFunctionCall","src":"14112:20:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"14102:6:150"}]},{"body":{"nodeType":"YulBlock","src":"14175:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14184:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14187:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14177:6:150"},"nodeType":"YulFunctionCall","src":"14177:12:150"},"nodeType":"YulExpressionStatement","src":"14177:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"14147:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14163:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14167:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14159:3:150"},"nodeType":"YulFunctionCall","src":"14159:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14171:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14155:3:150"},"nodeType":"YulFunctionCall","src":"14155:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14144:2:150"},"nodeType":"YulFunctionCall","src":"14144:30:150"},"nodeType":"YulIf","src":"14141:50:150"},{"nodeType":"YulAssignment","src":"14200:25:150","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"14212:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"14220:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14208:3:150"},"nodeType":"YulFunctionCall","src":"14208:17:150"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"14200:4:150"}]},{"body":{"nodeType":"YulBlock","src":"14276:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14285:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14288:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14278:6:150"},"nodeType":"YulFunctionCall","src":"14278:12:150"},"nodeType":"YulExpressionStatement","src":"14278:12:150"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"14241:4:150"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"14251:12:150"},"nodeType":"YulFunctionCall","src":"14251:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"14267:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14247:3:150"},"nodeType":"YulFunctionCall","src":"14247:27:150"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"14237:3:150"},"nodeType":"YulFunctionCall","src":"14237:38:150"},"nodeType":"YulIf","src":"14234:58:150"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"13828:8:150","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"13838:11:150","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"13854:4:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"13860:6:150","type":""}],"src":"13777:521:150"},{"body":{"nodeType":"YulBlock","src":"14335:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14352:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14359:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"14364:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14355:3:150"},"nodeType":"YulFunctionCall","src":"14355:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14345:6:150"},"nodeType":"YulFunctionCall","src":"14345:31:150"},"nodeType":"YulExpressionStatement","src":"14345:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14392:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"14395:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14385:6:150"},"nodeType":"YulFunctionCall","src":"14385:15:150"},"nodeType":"YulExpressionStatement","src":"14385:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14416:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14419:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14409:6:150"},"nodeType":"YulFunctionCall","src":"14409:15:150"},"nodeType":"YulExpressionStatement","src":"14409:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"14303:127:150"},{"body":{"nodeType":"YulBlock","src":"14482:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"14513:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14515:16:150"},"nodeType":"YulFunctionCall","src":"14515:18:150"},"nodeType":"YulExpressionStatement","src":"14515:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14498:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14509:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14505:3:150"},"nodeType":"YulFunctionCall","src":"14505:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14495:2:150"},"nodeType":"YulFunctionCall","src":"14495:17:150"},"nodeType":"YulIf","src":"14492:43:150"},{"nodeType":"YulAssignment","src":"14544:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14555:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"14562:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14551:3:150"},"nodeType":"YulFunctionCall","src":"14551:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"14544:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14464:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"14474:3:150","type":""}],"src":"14435:135:150"},{"body":{"nodeType":"YulBlock","src":"14660:982:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14677:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"14682:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14670:6:150"},"nodeType":"YulFunctionCall","src":"14670:19:150"},"nodeType":"YulExpressionStatement","src":"14670:19:150"},{"nodeType":"YulVariableDeclaration","src":"14698:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14708:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14702:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14721:31:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14744:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14749:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14740:3:150"},"nodeType":"YulFunctionCall","src":"14740:12:150"},"variables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"14725:11:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14761:24:150","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"14774:11:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"14765:5:150","type":""}]},{"nodeType":"YulAssignment","src":"14794:18:150","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"14801:11:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14794:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"14821:38:150","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"14837:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14848:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"14851:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14844:3:150"},"nodeType":"YulFunctionCall","src":"14844:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14833:3:150"},"nodeType":"YulFunctionCall","src":"14833:26:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"14825:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14868:19:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14882:5:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"14872:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14896:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14905:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"14900:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14964:652:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14985:3:150"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14994:4:150"},{"name":"pos_1","nodeType":"YulIdentifier","src":"15000:5:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14990:3:150"},"nodeType":"YulFunctionCall","src":"14990:16:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14978:6:150"},"nodeType":"YulFunctionCall","src":"14978:29:150"},"nodeType":"YulExpressionStatement","src":"14978:29:150"},{"nodeType":"YulVariableDeclaration","src":"15020:46:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15059:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15046:12:150"},"nodeType":"YulFunctionCall","src":"15046:20:150"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"15024:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15156:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15165:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15168:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15158:6:150"},"nodeType":"YulFunctionCall","src":"15158:12:150"},"nodeType":"YulExpressionStatement","src":"15158:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15093:18:150"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15121:12:150"},"nodeType":"YulFunctionCall","src":"15121:14:150"},{"name":"value","nodeType":"YulIdentifier","src":"15137:5:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15117:3:150"},"nodeType":"YulFunctionCall","src":"15117:26:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15149:2:150","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15145:3:150"},"nodeType":"YulFunctionCall","src":"15145:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15113:3:150"},"nodeType":"YulFunctionCall","src":"15113:40:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15089:3:150"},"nodeType":"YulFunctionCall","src":"15089:65:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15082:6:150"},"nodeType":"YulFunctionCall","src":"15082:73:150"},"nodeType":"YulIf","src":"15079:93:150"},{"nodeType":"YulVariableDeclaration","src":"15185:45:150","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"15204:18:150"},{"name":"value","nodeType":"YulIdentifier","src":"15224:5:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15200:3:150"},"nodeType":"YulFunctionCall","src":"15200:30:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"15189:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15243:37:150","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15272:7:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15259:12:150"},"nodeType":"YulFunctionCall","src":"15259:21:150"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"15247:8:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15293:31:150","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15312:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15321:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15308:3:150"},"nodeType":"YulFunctionCall","src":"15308:16:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"15297:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15373:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15382:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15385:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15375:6:150"},"nodeType":"YulFunctionCall","src":"15375:12:150"},"nodeType":"YulExpressionStatement","src":"15375:12:150"}]},"condition":{"arguments":[{"name":"length_1","nodeType":"YulIdentifier","src":"15343:8:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15361:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"15365:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15357:3:150"},"nodeType":"YulFunctionCall","src":"15357:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"15369:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15353:3:150"},"nodeType":"YulFunctionCall","src":"15353:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15340:2:150"},"nodeType":"YulFunctionCall","src":"15340:32:150"},"nodeType":"YulIf","src":"15337:52:150"},{"body":{"nodeType":"YulBlock","src":"15449:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15458:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15461:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15451:6:150"},"nodeType":"YulFunctionCall","src":"15451:12:150"},"nodeType":"YulExpressionStatement","src":"15451:12:150"}]},"condition":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"15409:7:150"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"15422:12:150"},"nodeType":"YulFunctionCall","src":"15422:14:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"15438:8:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15418:3:150"},"nodeType":"YulFunctionCall","src":"15418:29:150"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"15405:3:150"},"nodeType":"YulFunctionCall","src":"15405:43:150"},"nodeType":"YulIf","src":"15402:63:150"},{"nodeType":"YulAssignment","src":"15478:58:150","value":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"15512:7:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"15521:8:150"},{"name":"tail","nodeType":"YulIdentifier","src":"15531:4:150"}],"functionName":{"name":"abi_encode_bytes_calldata","nodeType":"YulIdentifier","src":"15486:25:150"},"nodeType":"YulFunctionCall","src":"15486:50:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15478:4:150"}]},{"nodeType":"YulAssignment","src":"15549:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15563:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15571:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15559:3:150"},"nodeType":"YulFunctionCall","src":"15559:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"15549:6:150"}]},{"nodeType":"YulAssignment","src":"15587:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15598:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15603:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15594:3:150"},"nodeType":"YulFunctionCall","src":"15594:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15587:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14926:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"14929:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14923:2:150"},"nodeType":"YulFunctionCall","src":"14923:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"14937:18:150","statements":[{"nodeType":"YulAssignment","src":"14939:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14948:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"14951:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14944:3:150"},"nodeType":"YulFunctionCall","src":"14944:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"14939:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"14919:3:150","statements":[]},"src":"14915:701:150"},{"nodeType":"YulAssignment","src":"15625:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"15632:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15625:3:150"}]}]},"name":"abi_encode_array_bytes_calldata_dyn_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14629:5:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"14636:6:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14644:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14652:3:150","type":""}],"src":"14575:1067:150"},{"body":{"nodeType":"YulBlock","src":"16060:980:150","statements":[{"nodeType":"YulVariableDeclaration","src":"16070:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16088:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16099:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16084:3:150"},"nodeType":"YulFunctionCall","src":"16084:19:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"16074:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16119:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16130:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16112:6:150"},"nodeType":"YulFunctionCall","src":"16112:22:150"},"nodeType":"YulExpressionStatement","src":"16112:22:150"},{"nodeType":"YulVariableDeclaration","src":"16143:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"16154:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"16147:3:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"16176:6:150"},{"name":"value1","nodeType":"YulIdentifier","src":"16184:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16169:6:150"},"nodeType":"YulFunctionCall","src":"16169:22:150"},"nodeType":"YulExpressionStatement","src":"16169:22:150"},{"nodeType":"YulAssignment","src":"16200:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16211:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16222:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16207:3:150"},"nodeType":"YulFunctionCall","src":"16207:19:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16200:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"16235:20:150","value":{"name":"value0","nodeType":"YulIdentifier","src":"16249:6:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"16239:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16264:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16273:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"16268:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16332:186:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16353:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16381:6:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"16362:18:150"},"nodeType":"YulFunctionCall","src":"16362:26:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16398:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"16403:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16394:3:150"},"nodeType":"YulFunctionCall","src":"16394:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16407:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16390:3:150"},"nodeType":"YulFunctionCall","src":"16390:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16358:3:150"},"nodeType":"YulFunctionCall","src":"16358:52:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16346:6:150"},"nodeType":"YulFunctionCall","src":"16346:65:150"},"nodeType":"YulExpressionStatement","src":"16346:65:150"},{"nodeType":"YulVariableDeclaration","src":"16424:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16434:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16428:2:150","type":""}]},{"nodeType":"YulAssignment","src":"16451:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16462:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16467:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16458:3:150"},"nodeType":"YulFunctionCall","src":"16458:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16451:3:150"}]},{"nodeType":"YulAssignment","src":"16483:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16497:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16505:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16493:3:150"},"nodeType":"YulFunctionCall","src":"16493:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16483:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16294:1:150"},{"name":"value1","nodeType":"YulIdentifier","src":"16297:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16291:2:150"},"nodeType":"YulFunctionCall","src":"16291:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16305:18:150","statements":[{"nodeType":"YulAssignment","src":"16307:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16316:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"16319:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16312:3:150"},"nodeType":"YulFunctionCall","src":"16312:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16307:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"16287:3:150","statements":[]},"src":"16283:235:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16538:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16549:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16534:3:150"},"nodeType":"YulFunctionCall","src":"16534:20:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16560:3:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16565:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16556:3:150"},"nodeType":"YulFunctionCall","src":"16556:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16527:6:150"},"nodeType":"YulFunctionCall","src":"16527:49:150"},"nodeType":"YulExpressionStatement","src":"16527:49:150"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16592:3:150"},{"name":"value3","nodeType":"YulIdentifier","src":"16597:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16585:6:150"},"nodeType":"YulFunctionCall","src":"16585:19:150"},"nodeType":"YulExpressionStatement","src":"16585:19:150"},{"body":{"nodeType":"YulBlock","src":"16648:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16657:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16660:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16650:6:150"},"nodeType":"YulFunctionCall","src":"16650:12:150"},"nodeType":"YulExpressionStatement","src":"16650:12:150"}]},"condition":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"16619:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16635:3:150","type":"","value":"251"},{"kind":"number","nodeType":"YulLiteral","src":"16640:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16631:3:150"},"nodeType":"YulFunctionCall","src":"16631:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16644:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16627:3:150"},"nodeType":"YulFunctionCall","src":"16627:19:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16616:2:150"},"nodeType":"YulFunctionCall","src":"16616:31:150"},"nodeType":"YulIf","src":"16613:51:150"},{"nodeType":"YulVariableDeclaration","src":"16673:28:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16691:1:150","type":"","value":"5"},{"name":"value3","nodeType":"YulIdentifier","src":"16694:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16687:3:150"},"nodeType":"YulFunctionCall","src":"16687:14:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"16677:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16727:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"16732:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16723:3:150"},"nodeType":"YulFunctionCall","src":"16723:14:150"},{"name":"value2","nodeType":"YulIdentifier","src":"16739:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"16747:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"16710:12:150"},"nodeType":"YulFunctionCall","src":"16710:44:150"},"nodeType":"YulExpressionStatement","src":"16710:44:150"},{"nodeType":"YulVariableDeclaration","src":"16763:26:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16777:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"16782:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16773:3:150"},"nodeType":"YulFunctionCall","src":"16773:16:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"16767:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16809:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16820:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16805:3:150"},"nodeType":"YulFunctionCall","src":"16805:18:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16833:2:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16837:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16829:3:150"},"nodeType":"YulFunctionCall","src":"16829:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16849:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16825:3:150"},"nodeType":"YulFunctionCall","src":"16825:29:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16798:6:150"},"nodeType":"YulFunctionCall","src":"16798:57:150"},"nodeType":"YulExpressionStatement","src":"16798:57:150"},{"nodeType":"YulAssignment","src":"16864:83:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"16917:6:150"},{"name":"value5","nodeType":"YulIdentifier","src":"16925:6:150"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16937:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"16941:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16933:3:150"},"nodeType":"YulFunctionCall","src":"16933:13:150"}],"functionName":{"name":"abi_encode_array_bytes_calldata_dyn_calldata","nodeType":"YulIdentifier","src":"16872:44:150"},"nodeType":"YulFunctionCall","src":"16872:75:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16864:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16978:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16963:3:150"},"nodeType":"YulFunctionCall","src":"16963:18:150"},{"name":"value6","nodeType":"YulIdentifier","src":"16983:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16956:6:150"},"nodeType":"YulFunctionCall","src":"16956:34:150"},"nodeType":"YulExpressionStatement","src":"16956:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17010:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17021:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17006:3:150"},"nodeType":"YulFunctionCall","src":"17006:19:150"},{"name":"value7","nodeType":"YulIdentifier","src":"17027:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16999:6:150"},"nodeType":"YulFunctionCall","src":"16999:35:150"},"nodeType":"YulExpressionStatement","src":"16999:35:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_t_bytes32_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15973:9:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"15984:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"15992:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"16000:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"16008:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"16016:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"16024:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16032:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16040:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16051:4:150","type":""}],"src":"15647:1393:150"},{"body":{"nodeType":"YulBlock","src":"17174:119:150","statements":[{"nodeType":"YulAssignment","src":"17184:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17196:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17207:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17192:3:150"},"nodeType":"YulFunctionCall","src":"17192:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17184:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17226:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"17237:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17219:6:150"},"nodeType":"YulFunctionCall","src":"17219:25:150"},"nodeType":"YulExpressionStatement","src":"17219:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17264:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17275:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17260:3:150"},"nodeType":"YulFunctionCall","src":"17260:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17280:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17253:6:150"},"nodeType":"YulFunctionCall","src":"17253:34:150"},"nodeType":"YulExpressionStatement","src":"17253:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17135:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17146:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17154:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17165:4:150","type":""}],"src":"17045:248:150"},{"body":{"nodeType":"YulBlock","src":"17346:77:150","statements":[{"nodeType":"YulAssignment","src":"17356:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"17367:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"17370:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17363:3:150"},"nodeType":"YulFunctionCall","src":"17363:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"17356:3:150"}]},{"body":{"nodeType":"YulBlock","src":"17395:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"17397:16:150"},"nodeType":"YulFunctionCall","src":"17397:18:150"},"nodeType":"YulExpressionStatement","src":"17397:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"17387:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"17390:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17384:2:150"},"nodeType":"YulFunctionCall","src":"17384:10:150"},"nodeType":"YulIf","src":"17381:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"17329:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"17332:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"17338:3:150","type":""}],"src":"17298:125:150"},{"body":{"nodeType":"YulBlock","src":"17557:145:150","statements":[{"nodeType":"YulAssignment","src":"17567:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17579:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17590:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17575:3:150"},"nodeType":"YulFunctionCall","src":"17575:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17567:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17609:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17624:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17640:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17645:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17636:3:150"},"nodeType":"YulFunctionCall","src":"17636:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17649:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17632:3:150"},"nodeType":"YulFunctionCall","src":"17632:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17620:3:150"},"nodeType":"YulFunctionCall","src":"17620:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17602:6:150"},"nodeType":"YulFunctionCall","src":"17602:51:150"},"nodeType":"YulExpressionStatement","src":"17602:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17673:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17684:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17669:3:150"},"nodeType":"YulFunctionCall","src":"17669:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17689:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17662:6:150"},"nodeType":"YulFunctionCall","src":"17662:34:150"},"nodeType":"YulExpressionStatement","src":"17662:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17518:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17529:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17537:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17548:4:150","type":""}],"src":"17428:274:150"},{"body":{"nodeType":"YulBlock","src":"17854:124:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17877:3:150"},{"name":"value0","nodeType":"YulIdentifier","src":"17882:6:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17890:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"17864:12:150"},"nodeType":"YulFunctionCall","src":"17864:33:150"},"nodeType":"YulExpressionStatement","src":"17864:33:150"},{"nodeType":"YulVariableDeclaration","src":"17906:26:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17920:3:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17925:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17916:3:150"},"nodeType":"YulFunctionCall","src":"17916:16:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17910:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17948:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"17952:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17941:6:150"},"nodeType":"YulFunctionCall","src":"17941:13:150"},"nodeType":"YulExpressionStatement","src":"17941:13:150"},{"nodeType":"YulAssignment","src":"17963:9:150","value":{"name":"_1","nodeType":"YulIdentifier","src":"17970:2:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"17963:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"17822:3:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17827:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17835:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"17846:3:150","type":""}],"src":"17707:271:150"}]},"contents":"{\n    { }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_bytes_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        value4 := calldataload(add(headStart, 96))\n        value5 := calldataload(add(headStart, 128))\n        value6 := calldataload(add(headStart, 160))\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        value4 := calldataload(add(headStart, 96))\n        value5 := calldataload(add(headStart, 128))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_enum$_OperationState_$428__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 4))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(headStart, value0)\n    }\n    function abi_decode_array_address_dyn_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset_1), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        let value4_1, value5_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset_2), dataEnd)\n        value4 := value4_1\n        value5 := value5_1\n        value6 := calldataload(add(headStart, 96))\n        value7 := calldataload(add(headStart, 128))\n        value8 := calldataload(add(headStart, 160))\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset_1), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        let value4_1, value5_1 := abi_decode_array_address_dyn_calldata(add(headStart, offset_2), dataEnd)\n        value4 := value4_1\n        value5 := value5_1\n        value6 := calldataload(add(headStart, 96))\n        value7 := calldataload(add(headStart, 128))\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let _3 := shl(5, _1)\n        let dst := allocate_memory(add(_3, _2))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, _3), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value2 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 128))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value4 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        value3 := calldataload(add(headStart, 96))\n        let offset := calldataload(add(headStart, 128))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value4 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_bytes_calldata(start, length, pos) -> end\n    {\n        mstore(pos, length)\n        calldatacopy(add(pos, 0x20), start, length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_uint256__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), 160)\n        tail := abi_encode_bytes_calldata(value2, value3, add(headStart, 160))\n        mstore(add(headStart, 96), value4)\n        mstore(add(headStart, 128), value5)\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), 96)\n        tail := abi_encode_bytes_calldata(value2, value3, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_bytes32__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), 160)\n        tail := abi_encode_bytes_calldata(value2, value3, add(headStart, 160))\n        mstore(add(headStart, 96), value4)\n        mstore(add(headStart, 128), value5)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n    }\n    function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let addr_1 := add(base_ref, rel_offset_of_tail)\n        length := calldataload(addr_1)\n        if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n        addr := add(addr_1, 0x20)\n        if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_array_bytes_calldata_dyn_calldata(value, length, pos) -> end\n    {\n        mstore(pos, length)\n        let _1 := 0x20\n        let updated_pos := add(pos, _1)\n        let pos_1 := updated_pos\n        pos := updated_pos\n        let tail := add(pos_1, shl(5, length))\n        let srcPtr := value\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, sub(tail, pos_1))\n            let rel_offset_of_tail := calldataload(srcPtr)\n            if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), value), not(30)))) { revert(0, 0) }\n            let value_1 := add(rel_offset_of_tail, value)\n            let length_1 := calldataload(value_1)\n            let value_2 := add(value_1, _1)\n            if gt(length_1, sub(shl(64, 1), 1)) { revert(0, 0) }\n            if sgt(value_2, sub(calldatasize(), length_1)) { revert(0, 0) }\n            tail := abi_encode_bytes_calldata(value_2, length_1, tail)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_t_bytes32_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 160)\n        mstore(headStart, 160)\n        let pos := tail_1\n        mstore(tail_1, value1)\n        pos := add(headStart, 192)\n        let srcPtr := value0\n        let i := 0\n        for { } lt(i, value1) { i := add(i, 1) }\n        {\n            mstore(pos, and(abi_decode_address(srcPtr), sub(shl(160, 1), 1)))\n            let _1 := 0x20\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        mstore(add(headStart, 0x20), sub(pos, headStart))\n        mstore(pos, value3)\n        if gt(value3, sub(shl(251, 1), 1)) { revert(0, 0) }\n        let length := shl(5, value3)\n        calldatacopy(add(pos, 0x20), value2, length)\n        let _2 := add(pos, length)\n        mstore(add(headStart, 64), add(sub(_2, headStart), 0x20))\n        tail := abi_encode_array_bytes_calldata_dyn_calldata(value4, value5, add(_2, 0x20))\n        mstore(add(headStart, 96), value6)\n        mstore(add(headStart, 128), value7)\n    }\n    function abi_encode_tuple_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        calldatacopy(pos, value0, value1)\n        let _1 := add(pos, value1)\n        mstore(_1, 0)\n        end := _1\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040526004361061014b5760003560e01c806301d5062a1461015757806301ffc9a71461017957806307bd0265146101ae578063134008d3146101de57806313bc9f20146101f1578063150b7a0214610211578063248a9ca3146102555780632ab0f529146102755780632f2ff15d1461029557806331d50750146102b557806336568abe146102d5578063584b153e146102f557806364d62353146103155780637958004c146103355780638065657f146103625780638f2a0bb0146103825780638f61f4f5146103a257806391d14854146103c4578063a217fddf146103e4578063b08e51c0146103f9578063b1c5f4271461041b578063bc197c811461043b578063c4d252f514610467578063d45c443514610487578063d547741f146104a7578063e38335e5146104c7578063f23a6e61146104da578063f27a0c921461050657600080fd5b3661015257005b600080fd5b34801561016357600080fd5b506101776101723660046110f6565b61051b565b005b34801561018557600080fd5b5061019961019436600461116a565b6105bb565b60405190151581526020015b60405180910390f35b3480156101ba57600080fd5b506101d06000805160206119bf83398151915281565b6040519081526020016101a5565b6101776101ec366004611194565b6105cc565b3480156101fd57600080fd5b5061019961020c3660046111ff565b61065d565b34801561021d57600080fd5b5061023c61022c3660046112cd565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016101a5565b34801561026157600080fd5b506101d06102703660046111ff565b610683565b34801561028157600080fd5b506101996102903660046111ff565b6106a3565b3480156102a157600080fd5b506101776102b0366004611334565b6106ac565b3480156102c157600080fd5b506101996102d03660046111ff565b6106ce565b3480156102e157600080fd5b506101776102f0366004611334565b6106f3565b34801561030157600080fd5b506101996103103660046111ff565b61072b565b34801561032157600080fd5b506101776103303660046111ff565b610771565b34801561034157600080fd5b506103556103503660046111ff565b6107f2565b6040516101a59190611376565b34801561036e57600080fd5b506101d061037d366004611194565b61083c565b34801561038e57600080fd5b5061017761039d3660046113e2565b61087b565b3480156103ae57600080fd5b506101d060008051602061199f83398151915281565b3480156103d057600080fd5b506101996103df366004611334565b6109d0565b3480156103f057600080fd5b506101d0600081565b34801561040557600080fd5b506101d06000805160206119ff83398151915281565b34801561042757600080fd5b506101d0610436366004611493565b610a06565b34801561044757600080fd5b5061023c6104563660046115ba565b63bc197c8160e01b95945050505050565b34801561047357600080fd5b506101776104823660046111ff565b610a4b565b34801561049357600080fd5b506101d06104a23660046111ff565b610aea565b3480156104b357600080fd5b506101776104c2366004611334565b610b07565b6101776104d5366004611493565b610b23565b3480156104e657600080fd5b5061023c6104f5366004611663565b63f23a6e6160e01b95945050505050565b34801561051257600080fd5b506101d0610c81565b60008051602061199f83398151915261053381610c96565b600061054389898989898961083c565b905061054f8184610ca3565b6000816000805160206119df8339815191528b8b8b8b8b8a604051610579969594939291906116f0565b60405180910390a383156105b05780600080516020611a1f833981519152856040516105a791815260200190565b60405180910390a25b505050505050505050565b60006105c682610d36565b92915050565b6000805160206119bf8339815191526105e68160006109d0565b6105f4576105f48133610d5b565b600061060488888888888861083c565b90506106108185610d98565b61061c88888888610de6565b60008160008051602061197f8339815191528a8a8a8a604051610642949392919061172d565b60405180910390a361065381610e5e565b5050505050505050565b600060025b61066b836107f2565b600381111561067c5761067c611360565b1492915050565b60008061068e610e94565b60009384526020525050604090206001015490565b60006003610662565b6106b582610683565b6106be81610c96565b6106c88383610eb8565b50505050565b6000806106da836107f2565b60038111156106eb576106eb611360565b141592915050565b6001600160a01b038116331461071c5760405163334bd91960e11b815260040160405180910390fd5b6107268282610f59565b505050565b600080610737836107f2565b9050600181600381111561074d5761074d611360565b148061076a5750600281600381111561076857610768611360565b145b9392505050565b600061077b610fd1565b9050333081146107ae5760405163e2850c5960e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d58260010154846040516107e392919061175f565b60405180910390a15060010155565b6000806107fe83610aea565b9050806000036108115750600092915050565b600181036108225750600392915050565b428111156108335750600192915050565b50600292915050565b6000868686868686604051602001610859969594939291906116f0565b6040516020818303038152906040528051906020012090509695505050505050565b60008051602061199f83398151915261089381610c96565b88871415806108a25750888514155b156108c9576040516001624fcdef60e01b031981526107a5908a9087908a9060040161176d565b60006108db8b8b8b8b8b8b8b8b610a06565b90506108e78184610ca3565b60005b8a8110156109935780826000805160206119df8339815191528e8e8581811061091557610915611783565b905060200201602081019061092a9190611799565b8d8d8681811061093c5761093c611783565b905060200201358c8c8781811061095557610955611783565b905060200281019061096791906117b4565b8c8b60405161097b969594939291906116f0565b60405180910390a361098c81611810565b90506108ea565b5083156109c35780600080516020611a1f833981519152856040516109ba91815260200190565b60405180910390a25b5050505050505050505050565b6000806109db610e94565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60008888888888888888604051602001610a279897969594939291906118ba565b60405160208183030381529060405280519060200120905098975050505050505050565b6000805160206119ff833981519152610a6381610c96565b6000610a6d610fd1565b9050610a788361072b565b610aad5782610a876002610ff5565b610a916001610ff5565b17604051635ead8eb560e01b81526004016107a592919061175f565b6000838152602082905260408082208290555184917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a2505050565b600080610af5610fd1565b60009384526020525050604090205490565b610b1082610683565b610b1981610c96565b6106c88383610f59565b6000805160206119bf833981519152610b3d8160006109d0565b610b4b57610b4b8133610d5b565b8786141580610b5a5750878414155b15610b81576040516001624fcdef60e01b031981526107a59089908690899060040161176d565b6000610b938a8a8a8a8a8a8a8a610a06565b9050610b9f8185610d98565b60005b89811015610c6b5760008b8b83818110610bbe57610bbe611783565b9050602002016020810190610bd39190611799565b905060008a8a84818110610be957610be9611783565b9050602002013590503660008a8a86818110610c0757610c07611783565b9050602002810190610c1991906117b4565b91509150610c2984848484610de6565b848660008051602061197f83398151915286868686604051610c4e949392919061172d565b60405180910390a35050505080610c6490611810565b9050610ba2565b50610c7581610e5e565b50505050505050505050565b600080610c8c610fd1565b6001015492915050565b610ca08133610d5b565b50565b6000610cad610fd1565b9050610cb8836106ce565b15610ce35782610cc86000610ff5565b604051635ead8eb560e01b81526004016107a592919061175f565b6000610ced610c81565b905080831015610d14578281604051635433660960e01b81526004016107a592919061175f565b610d1e834261195b565b60009485526020929092525060409092209190915550565b60006001600160e01b03198216630271189760e51b14806105c657506105c682611018565b610d6582826109d0565b610d945760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016107a5565b5050565b610da18261065d565b610db05781610cc86002610ff5565b8015801590610dc55750610dc3816106a3565b155b15610d945760405163121534c360e31b8152600481018290526024016107a5565b600080856001600160a01b0316858585604051610e0492919061196e565b60006040518083038185875af1925050503d8060008114610e41576040519150601f19603f3d011682016040523d82523d6000602084013e610e46565b606091505b5091509150610e55828261104d565b50505050505050565b6000610e68610fd1565b9050610e738261065d565b610e825781610cc86002610ff5565b60009182526020526040902060019055565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600080610ec3610e94565b9050610ecf84846109d0565b610f4f576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055610f053390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506105c6565b60009150506105c6565b600080610f64610e94565b9050610f7084846109d0565b15610f4f576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506105c6565b7f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360090565b600081600381111561100957611009611360565b600160ff919091161b92915050565b60006001600160e01b03198216637965db0b60e01b14806105c657506301ffc9a760e01b6001600160e01b03198316146105c6565b6060826110625761105d82611069565b6105c6565b50806105c6565b8051156110795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b03811681146110a957600080fd5b919050565b60008083601f8401126110c057600080fd5b5081356001600160401b038111156110d757600080fd5b6020830191508360208285010111156110ef57600080fd5b9250929050565b600080600080600080600060c0888a03121561111157600080fd5b61111a88611092565b96506020880135955060408801356001600160401b0381111561113c57600080fd5b6111488a828b016110ae565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561117c57600080fd5b81356001600160e01b03198116811461076a57600080fd5b60008060008060008060a087890312156111ad57600080fd5b6111b687611092565b95506020870135945060408701356001600160401b038111156111d857600080fd5b6111e489828a016110ae565b979a9699509760608101359660809091013595509350505050565b60006020828403121561121157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561125657611256611218565b604052919050565b600082601f83011261126f57600080fd5b81356001600160401b0381111561128857611288611218565b61129b601f8201601f191660200161122e565b8181528460208386010111156112b057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156112e357600080fd5b6112ec85611092565b93506112fa60208601611092565b92506040850135915060608501356001600160401b0381111561131c57600080fd5b6113288782880161125e565b91505092959194509250565b6000806040838503121561134757600080fd5b8235915061135760208401611092565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b602081016004831061139857634e487b7160e01b600052602160045260246000fd5b91905290565b60008083601f8401126113b057600080fd5b5081356001600160401b038111156113c757600080fd5b6020830191508360208260051b85010111156110ef57600080fd5b600080600080600080600080600060c08a8c03121561140057600080fd5b89356001600160401b038082111561141757600080fd5b6114238d838e0161139e565b909b50995060208c013591508082111561143c57600080fd5b6114488d838e0161139e565b909950975060408c013591508082111561146157600080fd5b5061146e8c828d0161139e565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b0312156114af57600080fd5b88356001600160401b03808211156114c657600080fd5b6114d28c838d0161139e565b909a50985060208b01359150808211156114eb57600080fd5b6114f78c838d0161139e565b909850965060408b013591508082111561151057600080fd5b5061151d8b828c0161139e565b999c989b509699959896976060870135966080013595509350505050565b600082601f83011261154c57600080fd5b813560206001600160401b0382111561156757611567611218565b8160051b61157682820161122e565b928352848101820192828101908785111561159057600080fd5b83870192505b848310156115af57823582529183019190830190611596565b979650505050505050565b600080600080600060a086880312156115d257600080fd5b6115db86611092565b94506115e960208701611092565b935060408601356001600160401b038082111561160557600080fd5b61161189838a0161153b565b9450606088013591508082111561162757600080fd5b61163389838a0161153b565b9350608088013591508082111561164957600080fd5b506116568882890161125e565b9150509295509295909350565b600080600080600060a0868803121561167b57600080fd5b61168486611092565b945061169260208701611092565b9350604086013592506060860135915060808601356001600160401b038111156116bb57600080fd5b6116568882890161125e565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a06040820152600061171860a0830186886116c7565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006117556060830184866116c7565b9695505050505050565b918252602082015260400190565b9283526020830191909152604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117ab57600080fd5b61076a82611092565b6000808335601e198436030181126117cb57600080fd5b8301803591506001600160401b038211156117e557600080fd5b6020019150368190038213156110ef57600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611822576118226117fa565b5060010190565b81835260006020808501808196508560051b810191508460005b878110156118ad5782840389528135601e1988360301811261186457600080fd5b870185810190356001600160401b0381111561187f57600080fd5b80360382131561188e57600080fd5b6118998682846116c7565b9a87019a9550505090840190600101611843565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b8110156118fb576001600160a01b036118e684611092565b168252602092830192909101906001016118cd565b5083810360208501528881526001600160fb1b0389111561191b57600080fd5b8860051b9150818a602083013701828103602090810160408501526119439082018789611829565b60608401959095525050608001529695505050505050565b808201808211156105c6576105c66117fa565b818382376000910190815291905056fec2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e634cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dcafd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78320fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387a26469706673582212205b4b496e7ac29da5ad5320999946925d04b59ac3a36c8fc092c0a1451f92798d64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1D5062A EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0x7BD0265 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x134008D3 EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x13BC9F20 EQ PUSH2 0x1F1 JUMPI DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x211 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x255 JUMPI DUP1 PUSH4 0x2AB0F529 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x31D50750 EQ PUSH2 0x2B5 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x584B153E EQ PUSH2 0x2F5 JUMPI DUP1 PUSH4 0x64D62353 EQ PUSH2 0x315 JUMPI DUP1 PUSH4 0x7958004C EQ PUSH2 0x335 JUMPI DUP1 PUSH4 0x8065657F EQ PUSH2 0x362 JUMPI DUP1 PUSH4 0x8F2A0BB0 EQ PUSH2 0x382 JUMPI DUP1 PUSH4 0x8F61F4F5 EQ PUSH2 0x3A2 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x3C4 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x3E4 JUMPI DUP1 PUSH4 0xB08E51C0 EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xB1C5F427 EQ PUSH2 0x41B JUMPI DUP1 PUSH4 0xBC197C81 EQ PUSH2 0x43B JUMPI DUP1 PUSH4 0xC4D252F5 EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xD45C4435 EQ PUSH2 0x487 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x4A7 JUMPI DUP1 PUSH4 0xE38335E5 EQ PUSH2 0x4C7 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x4DA JUMPI DUP1 PUSH4 0xF27A0C92 EQ PUSH2 0x506 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x152 JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0x10F6 JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x194 CALLDATASIZE PUSH1 0x4 PUSH2 0x116A JUMP JUMPDEST PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19BF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1A5 JUMP JUMPDEST PUSH2 0x177 PUSH2 0x1EC CALLDATASIZE PUSH1 0x4 PUSH2 0x1194 JUMP JUMPDEST PUSH2 0x5CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x20C CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x65D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23C PUSH2 0x22C CALLDATASIZE PUSH1 0x4 PUSH2 0x12CD JUMP JUMPDEST PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x270 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x683 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x6A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1334 JUMP JUMPDEST PUSH2 0x6AC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x2D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x6CE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x2F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1334 JUMP JUMPDEST PUSH2 0x6F3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x301 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x310 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x72B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x330 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x771 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x341 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x355 PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0x7F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A5 SWAP2 SWAP1 PUSH2 0x1376 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x37D CALLDATASIZE PUSH1 0x4 PUSH2 0x1194 JUMP JUMPDEST PUSH2 0x83C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x39D CALLDATASIZE PUSH1 0x4 PUSH2 0x13E2 JUMP JUMPDEST PUSH2 0x87B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x199F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x3DF CALLDATASIZE PUSH1 0x4 PUSH2 0x1334 JUMP JUMPDEST PUSH2 0x9D0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19FF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x427 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x436 CALLDATASIZE PUSH1 0x4 PUSH2 0x1493 JUMP JUMPDEST PUSH2 0xA06 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x447 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23C PUSH2 0x456 CALLDATASIZE PUSH1 0x4 PUSH2 0x15BA JUMP JUMPDEST PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x473 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x482 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0xA4B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x493 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x4A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x11FF JUMP JUMPDEST PUSH2 0xAEA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH2 0x4C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1334 JUMP JUMPDEST PUSH2 0xB07 JUMP JUMPDEST PUSH2 0x177 PUSH2 0x4D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1493 JUMP JUMPDEST PUSH2 0xB23 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23C PUSH2 0x4F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1663 JUMP JUMPDEST PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0xC81 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x199F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x533 DUP2 PUSH2 0xC96 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x543 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x83C JUMP JUMPDEST SWAP1 POP PUSH2 0x54F DUP2 DUP5 PUSH2 0xCA3 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19DF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP12 DUP12 DUP12 DUP12 DUP12 DUP11 PUSH1 0x40 MLOAD PUSH2 0x579 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP4 ISZERO PUSH2 0x5B0 JUMPI DUP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1A1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP6 PUSH1 0x40 MLOAD PUSH2 0x5A7 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C6 DUP3 PUSH2 0xD36 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19BF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x5E6 DUP2 PUSH1 0x0 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0x5F4 JUMPI PUSH2 0x5F4 DUP2 CALLER PUSH2 0xD5B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x604 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x83C JUMP JUMPDEST SWAP1 POP PUSH2 0x610 DUP2 DUP6 PUSH2 0xD98 JUMP JUMPDEST PUSH2 0x61C DUP9 DUP9 DUP9 DUP9 PUSH2 0xDE6 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x197F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP11 DUP11 DUP11 DUP11 PUSH1 0x40 MLOAD PUSH2 0x642 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x172D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x653 DUP2 PUSH2 0xE5E JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 JUMPDEST PUSH2 0x66B DUP4 PUSH2 0x7F2 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x67C JUMPI PUSH2 0x67C PUSH2 0x1360 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x68E PUSH2 0xE94 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH2 0x662 JUMP JUMPDEST PUSH2 0x6B5 DUP3 PUSH2 0x683 JUMP JUMPDEST PUSH2 0x6BE DUP2 PUSH2 0xC96 JUMP JUMPDEST PUSH2 0x6C8 DUP4 DUP4 PUSH2 0xEB8 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6DA DUP4 PUSH2 0x7F2 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x6EB JUMPI PUSH2 0x6EB PUSH2 0x1360 JUMP JUMPDEST EQ ISZERO SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x71C JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x726 DUP3 DUP3 PUSH2 0xF59 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x737 DUP4 PUSH2 0x7F2 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x74D JUMPI PUSH2 0x74D PUSH2 0x1360 JUMP JUMPDEST EQ DUP1 PUSH2 0x76A JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x768 JUMPI PUSH2 0x768 PUSH2 0x1360 JUMP JUMPDEST EQ JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x77B PUSH2 0xFD1 JUMP JUMPDEST SWAP1 POP CALLER ADDRESS DUP2 EQ PUSH2 0x7AE JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2850C59 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x11C24F4EAD16507C69AC467FBD5E4EED5FB5C699626D2CC6D66421DF253886D5 DUP3 PUSH1 0x1 ADD SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0x7E3 SWAP3 SWAP2 SWAP1 PUSH2 0x175F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP PUSH1 0x1 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7FE DUP4 PUSH2 0xAEA JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x811 JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 SUB PUSH2 0x822 JUMPI POP PUSH1 0x3 SWAP3 SWAP2 POP POP JUMP JUMPDEST TIMESTAMP DUP2 GT ISZERO PUSH2 0x833 JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP7 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x859 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16F0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x199F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x893 DUP2 PUSH2 0xC96 JUMP JUMPDEST DUP9 DUP8 EQ ISZERO DUP1 PUSH2 0x8A2 JUMPI POP DUP9 DUP6 EQ ISZERO JUMPDEST ISZERO PUSH2 0x8C9 JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH3 0x4FCDEF PUSH1 0xE0 SHL SUB NOT DUP2 MSTORE PUSH2 0x7A5 SWAP1 DUP11 SWAP1 DUP8 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x176D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8DB DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH2 0xA06 JUMP JUMPDEST SWAP1 POP PUSH2 0x8E7 DUP2 DUP5 PUSH2 0xCA3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP11 DUP2 LT ISZERO PUSH2 0x993 JUMPI DUP1 DUP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19DF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP15 DUP15 DUP6 DUP2 DUP2 LT PUSH2 0x915 JUMPI PUSH2 0x915 PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x92A SWAP2 SWAP1 PUSH2 0x1799 JUMP JUMPDEST DUP14 DUP14 DUP7 DUP2 DUP2 LT PUSH2 0x93C JUMPI PUSH2 0x93C PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD DUP13 DUP13 DUP8 DUP2 DUP2 LT PUSH2 0x955 JUMPI PUSH2 0x955 PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x967 SWAP2 SWAP1 PUSH2 0x17B4 JUMP JUMPDEST DUP13 DUP12 PUSH1 0x40 MLOAD PUSH2 0x97B SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x98C DUP2 PUSH2 0x1810 JUMP JUMPDEST SWAP1 POP PUSH2 0x8EA JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x9C3 JUMPI DUP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1A1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP6 PUSH1 0x40 MLOAD PUSH2 0x9BA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x9DB PUSH2 0xE94 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xA27 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19FF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xA63 DUP2 PUSH2 0xC96 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA6D PUSH2 0xFD1 JUMP JUMPDEST SWAP1 POP PUSH2 0xA78 DUP4 PUSH2 0x72B JUMP JUMPDEST PUSH2 0xAAD JUMPI DUP3 PUSH2 0xA87 PUSH1 0x2 PUSH2 0xFF5 JUMP JUMPDEST PUSH2 0xA91 PUSH1 0x1 PUSH2 0xFF5 JUMP JUMPDEST OR PUSH1 0x40 MLOAD PUSH4 0x5EAD8EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A5 SWAP3 SWAP2 SWAP1 PUSH2 0x175F JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP5 SWAP2 PUSH32 0xBAA1EB22F2A492BA1A5FEA61B8DF4D27C6C8B5F3971E63BB58FA14FF72EEDB70 SWAP2 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAF5 PUSH2 0xFD1 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB10 DUP3 PUSH2 0x683 JUMP JUMPDEST PUSH2 0xB19 DUP2 PUSH2 0xC96 JUMP JUMPDEST PUSH2 0x6C8 DUP4 DUP4 PUSH2 0xF59 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x19BF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xB3D DUP2 PUSH1 0x0 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0xB4B JUMPI PUSH2 0xB4B DUP2 CALLER PUSH2 0xD5B JUMP JUMPDEST DUP8 DUP7 EQ ISZERO DUP1 PUSH2 0xB5A JUMPI POP DUP8 DUP5 EQ ISZERO JUMPDEST ISZERO PUSH2 0xB81 JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH3 0x4FCDEF PUSH1 0xE0 SHL SUB NOT DUP2 MSTORE PUSH2 0x7A5 SWAP1 DUP10 SWAP1 DUP7 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x176D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB93 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0xA06 JUMP JUMPDEST SWAP1 POP PUSH2 0xB9F DUP2 DUP6 PUSH2 0xD98 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP10 DUP2 LT ISZERO PUSH2 0xC6B JUMPI PUSH1 0x0 DUP12 DUP12 DUP4 DUP2 DUP2 LT PUSH2 0xBBE JUMPI PUSH2 0xBBE PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xBD3 SWAP2 SWAP1 PUSH2 0x1799 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP11 DUP11 DUP5 DUP2 DUP2 LT PUSH2 0xBE9 JUMPI PUSH2 0xBE9 PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP CALLDATASIZE PUSH1 0x0 DUP11 DUP11 DUP7 DUP2 DUP2 LT PUSH2 0xC07 JUMPI PUSH2 0xC07 PUSH2 0x1783 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xC19 SWAP2 SWAP1 PUSH2 0x17B4 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xC29 DUP5 DUP5 DUP5 DUP5 PUSH2 0xDE6 JUMP JUMPDEST DUP5 DUP7 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x197F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xC4E SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x172D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP DUP1 PUSH2 0xC64 SWAP1 PUSH2 0x1810 JUMP JUMPDEST SWAP1 POP PUSH2 0xBA2 JUMP JUMPDEST POP PUSH2 0xC75 DUP2 PUSH2 0xE5E JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC8C PUSH2 0xFD1 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xCA0 DUP2 CALLER PUSH2 0xD5B JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCAD PUSH2 0xFD1 JUMP JUMPDEST SWAP1 POP PUSH2 0xCB8 DUP4 PUSH2 0x6CE JUMP JUMPDEST ISZERO PUSH2 0xCE3 JUMPI DUP3 PUSH2 0xCC8 PUSH1 0x0 PUSH2 0xFF5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x5EAD8EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A5 SWAP3 SWAP2 SWAP1 PUSH2 0x175F JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCED PUSH2 0xC81 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0xD14 JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH4 0x54336609 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A5 SWAP3 SWAP2 SWAP1 PUSH2 0x175F JUMP JUMPDEST PUSH2 0xD1E DUP4 TIMESTAMP PUSH2 0x195B JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP3 SWAP1 SWAP3 MSTORE POP PUSH1 0x40 SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ DUP1 PUSH2 0x5C6 JUMPI POP PUSH2 0x5C6 DUP3 PUSH2 0x1018 JUMP JUMPDEST PUSH2 0xD65 DUP3 DUP3 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0xD94 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x7A5 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xDA1 DUP3 PUSH2 0x65D JUMP JUMPDEST PUSH2 0xDB0 JUMPI DUP2 PUSH2 0xCC8 PUSH1 0x2 PUSH2 0xFF5 JUMP JUMPDEST DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0xDC5 JUMPI POP PUSH2 0xDC3 DUP2 PUSH2 0x6A3 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xD94 JUMPI PUSH1 0x40 MLOAD PUSH4 0x121534C3 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x7A5 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xE04 SWAP3 SWAP2 SWAP1 PUSH2 0x196E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xE41 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xE46 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xE55 DUP3 DUP3 PUSH2 0x104D JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE68 PUSH2 0xFD1 JUMP JUMPDEST SWAP1 POP PUSH2 0xE73 DUP3 PUSH2 0x65D JUMP JUMPDEST PUSH2 0xE82 JUMPI DUP2 PUSH2 0xCC8 PUSH1 0x2 PUSH2 0xFF5 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 SWAP1 SSTORE JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEC3 PUSH2 0xE94 JUMP JUMPDEST SWAP1 POP PUSH2 0xECF DUP5 DUP5 PUSH2 0x9D0 JUMP JUMPDEST PUSH2 0xF4F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xF05 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x5C6 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x5C6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF64 PUSH2 0xE94 JUMP JUMPDEST SWAP1 POP PUSH2 0xF70 DUP5 DUP5 PUSH2 0x9D0 JUMP JUMPDEST ISZERO PUSH2 0xF4F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x5C6 JUMP JUMPDEST PUSH32 0x9A37C2AA9D186A0969FF8A8267BF4E07E864C2F2768F5040949E28A624FB3600 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1009 JUMPI PUSH2 0x1009 PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x5C6 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x5C6 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1062 JUMPI PUSH2 0x105D DUP3 PUSH2 0x1069 JUMP JUMPDEST PUSH2 0x5C6 JUMP JUMPDEST POP DUP1 PUSH2 0x5C6 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1079 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x10A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x10C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x10D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x10EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1111 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x111A DUP9 PUSH2 0x1092 JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x113C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1148 DUP11 DUP3 DUP12 ADD PUSH2 0x10AE JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP9 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x117C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x76A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x11AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11B6 DUP8 PUSH2 0x1092 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x11D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11E4 DUP10 DUP3 DUP11 ADD PUSH2 0x10AE JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP8 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP7 PUSH1 0x80 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1256 JUMPI PUSH2 0x1256 PUSH2 0x1218 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x126F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1288 JUMPI PUSH2 0x1288 PUSH2 0x1218 JUMP JUMPDEST PUSH2 0x129B PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x122E JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x12B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x12E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12EC DUP6 PUSH2 0x1092 JUMP JUMPDEST SWAP4 POP PUSH2 0x12FA PUSH1 0x20 DUP7 ADD PUSH2 0x1092 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x131C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1328 DUP8 DUP3 DUP9 ADD PUSH2 0x125E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1347 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1357 PUSH1 0x20 DUP5 ADD PUSH2 0x1092 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x4 DUP4 LT PUSH2 0x1398 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x13B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x13C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x10EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x1400 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1423 DUP14 DUP4 DUP15 ADD PUSH2 0x139E JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x20 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x143C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1448 DUP14 DUP4 DUP15 ADD PUSH2 0x139E JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1461 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x146E DUP13 DUP3 DUP14 ADD PUSH2 0x139E JUMP JUMPDEST SWAP11 SWAP14 SWAP10 SWAP13 POP SWAP8 SWAP11 SWAP7 SWAP10 SWAP8 SWAP9 PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x14AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x14C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D2 DUP13 DUP4 DUP14 ADD PUSH2 0x139E JUMP JUMPDEST SWAP1 SWAP11 POP SWAP9 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x14EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14F7 DUP13 DUP4 DUP14 ADD PUSH2 0x139E JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1510 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x151D DUP12 DUP3 DUP13 ADD PUSH2 0x139E JUMP JUMPDEST SWAP10 SWAP13 SWAP9 SWAP12 POP SWAP7 SWAP10 SWAP6 SWAP9 SWAP7 SWAP8 PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP7 PUSH1 0x80 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x154C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x1567 JUMPI PUSH2 0x1567 PUSH2 0x1218 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x1576 DUP3 DUP3 ADD PUSH2 0x122E JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x1590 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x15AF JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1596 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x15D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15DB DUP7 PUSH2 0x1092 JUMP JUMPDEST SWAP5 POP PUSH2 0x15E9 PUSH1 0x20 DUP8 ADD PUSH2 0x1092 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1605 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1611 DUP10 DUP4 DUP11 ADD PUSH2 0x153B JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1633 DUP10 DUP4 DUP11 ADD PUSH2 0x153B JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1649 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1656 DUP9 DUP3 DUP10 ADD PUSH2 0x125E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x167B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1684 DUP7 PUSH2 0x1092 JUMP JUMPDEST SWAP5 POP PUSH2 0x1692 PUSH1 0x20 DUP8 ADD PUSH2 0x1092 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x16BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1656 DUP9 DUP3 DUP10 ADD PUSH2 0x125E JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP8 AND DUP2 MSTORE DUP6 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1718 PUSH1 0xA0 DUP4 ADD DUP7 DUP9 PUSH2 0x16C7 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x80 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1755 PUSH1 0x60 DUP4 ADD DUP5 DUP7 PUSH2 0x16C7 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76A DUP3 PUSH2 0x1092 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x17CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x17E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x10EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1822 JUMPI PUSH2 0x1822 PUSH2 0x17FA JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x0 PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP6 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP5 PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x18AD JUMPI DUP3 DUP5 SUB DUP10 MSTORE DUP2 CALLDATALOAD PUSH1 0x1E NOT DUP9 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x1864 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 ADD DUP6 DUP2 ADD SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x187F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATASIZE SUB DUP3 SGT ISZERO PUSH2 0x188E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1899 DUP7 DUP3 DUP5 PUSH2 0x16C7 JUMP JUMPDEST SWAP11 DUP8 ADD SWAP11 SWAP6 POP POP POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1843 JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP1 DUP3 MSTORE DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x0 DUP10 PUSH1 0xC0 DUP4 ADD DUP3 JUMPDEST DUP12 DUP2 LT ISZERO PUSH2 0x18FB JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x18E6 DUP5 PUSH2 0x1092 JUMP JUMPDEST AND DUP3 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x18CD JUMP JUMPDEST POP DUP4 DUP2 SUB PUSH1 0x20 DUP6 ADD MSTORE DUP9 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xFB SHL SUB DUP10 GT ISZERO PUSH2 0x191B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 PUSH1 0x5 SHL SWAP2 POP DUP2 DUP11 PUSH1 0x20 DUP4 ADD CALLDATACOPY ADD DUP3 DUP2 SUB PUSH1 0x20 SWAP1 DUP2 ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1943 SWAP1 DUP3 ADD DUP8 DUP10 PUSH2 0x1829 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x5C6 JUMPI PUSH2 0x5C6 PUSH2 0x17FA JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID 0xC2 PUSH2 0x7EFA PUSH10 0xBAB66782FA2195437143 CODESIZE BASEFEE SWAP13 0x4E SWAP15 OR DUP3 PUSH18 0x560A91B82C3F612B58B09AA5AEB3702CFD50 0xB6 0xB6 0x2B 0xC4 MSTORE8 0x26 DIV SWAP4 DUP16 0x21 0x24 DUP11 0x27 LOG1 0xD5 0xCA PUSH20 0x6082B6819CC1D8AA0F3194971A2A116679F7C209 0xF PUSH10 0x39C8D4E01A2A8D7E41D5 0x5E MSTORE8 MLOAD CHAINID SWAP15 PUSH4 0x4CF4410C 0xC5 PUSH17 0x40E44862EF0F45F3DD5A5E02DB8EB8ADD6 BASEFEE 0xD4 0xB0 0xE2 CALLDATASIZE CALL 0xD0 PUSH30 0xCAFD643C72710C63C0180259ABA6B2D05451E3591A24E58B622393780857 0x26 0xF7 DUP4 KECCAK256 REVERT 0xA5 REVERT 0x27 LOG1 0xEA PUSH28 0xF5B9567F143AC5470BB059374A27E8F67CB44F946F6D0387A2646970 PUSH7 0x73582212205B4B 0x49 PUSH15 0x7AC29DA5AD5320999946925D04B59A 0xC3 LOG3 PUSH13 0x8FC092C0A1451F92798D64736F PUSH13 0x63430008140033000000000000 ","sourceMap":"1235:16733:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10449:483;;;;;;;;;;-1:-1:-1;10449:483:1;;;;;:::i;:::-;;:::i;:::-;;6814:217;;;;;;;;;;-1:-1:-1;6814:217:1;;;;;:::i;:::-;;:::i;:::-;;;1763:14:150;;1756:22;1738:41;;1726:2;1711:18;6814:217:1;;;;;;;;1446:66;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1446:66:1;;;;;1936:25:150;;;1924:2;1909:18;1446:66:1;1790:177:150;13681:459:1;;;;;;:::i;:::-;;:::i;7798:134::-;;;;;;;;;;-1:-1:-1;7798:134:1;;;;;:::i;:::-;;:::i;918:153:10:-;;;;;;;;;;-1:-1:-1;918:153:10;;;;;:::i;:::-;-1:-1:-1;;;918:153:10;;;;;;;;;;-1:-1:-1;;;;;;4502:33:150;;;4484:52;;4472:2;4457:18;918:153:10;4340:202:150;4759:191:0;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;8011:132:1:-;;;;;;;;;;-1:-1:-1;8011:132:1;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;7189:129:1:-;;;;;;;;;;-1:-1:-1;7189:129:1;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;7453:209:1:-;;;;;;;;;;-1:-1:-1;7453:209:1;;;;;:::i;:::-;;:::i;17081:369::-;;;;;;;;;;-1:-1:-1;17081:369:1;;;;;:::i;:::-;;:::i;8542:460::-;;;;;;;;;;-1:-1:-1;8542:460:1;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9487:279::-;;;;;;;;;;-1:-1:-1;9487:279:1;;;;;:::i;:::-;;:::i;11221:807::-;;;;;;;;;;-1:-1:-1;11221:807:1;;;;;:::i;:::-;;:::i;1374:66::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1374:66:1;;3732:207:0;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;2317:49::-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;1518:68:1;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1518:68:1;;9882:320;;;;;;;;;;-1:-1:-1;9882:320:1;;;;;:::i;:::-;;:::i;1499:247:4:-;;;;;;;;;;-1:-1:-1;1499:247:4;;;;;:::i;:::-;-1:-1:-1;;;1499:247:4;;;;;;;;12751:456:1;;;;;;;;;;-1:-1:-1;12751:456:1;;;;;:::i;:::-;;:::i;8291:192::-;;;;;;;;;;-1:-1:-1;8291:192:1;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;14648:896:1:-;;;;;;:::i;:::-;;:::i;1274:219:4:-;;;;;;;;;;-1:-1:-1;1274:219:4;;;;;:::i;:::-;-1:-1:-1;;;1274:219:4;;;;;;;;9199:175:1;;;;;;;;;;;;;:::i;10449:483::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;10672:10:1::1;10685:53;10699:6;10707:5;10714:4;;10720:11;10733:4;10685:13;:53::i;:::-;10672:66;;10748:20;10758:2;10762:5;10748:9;:20::i;:::-;10801:1;10797:2;-1:-1:-1::0;;;;;;;;;;;10804:6:1::1;10812:5;10819:4;;10825:11;10838:5;10783:61;;;;;;;;;;;:::i;:::-;;;;;;;;10858:18:::0;;10854:72:::1;;10906:2;-1:-1:-1::0;;;;;;;;;;;10910:4:1::1;10897:18;;;;1936:25:150::0;;1924:2;1909:18;;1790:177;10897:18:1::1;;;;;;;;10854:72;10662:270;10449:483:::0;;;;;;;;:::o;6814:217::-;6965:4;6988:36;7012:11;6988:23;:36::i;:::-;6981:43;6814:217;-1:-1:-1;;6814:217:1:o;13681:459::-;-1:-1:-1;;;;;;;;;;;6517:25:1;6525:4;6539:1;6517:7;:25::i;:::-;6512:87;;6558:30;6569:4;966:10:11;6558::1;:30::i;:::-;13901:10:::1;13914:56;13928:6;13936:5;13943:7;;13952:11;13965:4;13914:13;:56::i;:::-;13901:69;;13981:28;13993:2;13997:11;13981;:28::i;:::-;14019:32;14028:6;14036:5;14043:7;;14019:8;:32::i;:::-;14083:1;14079:2;-1:-1:-1::0;;;;;;;;;;;14086:6:1::1;14094:5;14101:7;;14066:43;;;;;;;;;:::i;:::-;;;;;;;;14119:14;14130:2;14119:10;:14::i;:::-;13891:249;13681:459:::0;;;;;;;:::o;7798:134::-;7857:4;7905:20;7880:45;:21;7898:2;7880:17;:21::i;:::-;:45;;;;;;;;:::i;:::-;;;7798:134;-1:-1:-1;;7798:134:1:o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;8011:132:1:-;8069:4;8117:19;8092:44;;5246:136:0;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;7189:129:1:-;7243:4;;7266:21;7284:2;7266:17;:21::i;:::-;:45;;;;;;;;:::i;:::-;;;;7189:129;-1:-1:-1;;7189:129:1:o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;7453:209:1:-;7514:4;7530:20;7553:21;7571:2;7553:17;:21::i;:::-;7530:44;-1:-1:-1;7600:22:1;7591:5;:31;;;;;;;;:::i;:::-;;:64;;;-1:-1:-1;7635:20:1;7626:5;:29;;;;;;;;:::i;:::-;;7591:64;7584:71;7453:209;-1:-1:-1;;;7453:209:1:o;17081:369::-;17147:35;17185:31;:29;:31::i;:::-;17147:69;-1:-1:-1;966:10:11;17287:4:1;17269:23;;17265:95;;17315:34;;-1:-1:-1;;;17315:34:1;;-1:-1:-1;;;;;12271:32:150;;17315:34:1;;;12253:51:150;12226:18;;17315:34:1;;;;;;;;17265:95;17374:37;17389:1;:11;;;17402:8;17374:37;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;17421:11:1;;:22;17081:369::o;8542:460::-;8610:14;8636:17;8656:16;8669:2;8656:12;:16::i;:::-;8636:36;;8686:9;8699:1;8686:14;8682:314;;-1:-1:-1;8723:20:1;;8542:460;-1:-1:-1;;8542:460:1:o;8682:314::-;1644:1;8764:9;:28;8760:236;;-1:-1:-1;8815:19:1;;8542:460;-1:-1:-1;;8542:460:1:o;8760:236::-;8867:15;8855:9;:27;8851:145;;;-1:-1:-1;8905:22:1;;8542:460;-1:-1:-1;;8542:460:1:o;8851:145::-;-1:-1:-1;8965:20:1;;8542:460;-1:-1:-1;;8542:460:1:o;9487:279::-;9672:7;9719:6;9727:5;9734:4;;9740:11;9753:4;9708:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9698:61;;;;;;9691:68;;9487:279;;;;;;;;:::o;11221:807::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;11483:31:1;;::::1;;::::0;:68:::1;;-1:-1:-1::0;11518:33:1;;::::1;;11483:68;11479:184;;;11574:78;::::0;-1:-1:-1;;;;;;11574:78:1;;::::1;::::0;11605:7;;11621:8;;11638:6;;11574:78:::1;;;:::i;11479:184::-;11673:10;11686:64;11705:7;;11714:6;;11722:8;;11732:11;11745:4;11686:18;:64::i;:::-;11673:77;;11760:20;11770:2;11774:5;11760:9;:20::i;:::-;11795:9;11790:151;11810:18:::0;;::::1;11790:151;;;11872:1;11868:2;-1:-1:-1::0;;;;;;;;;;;11875:7:1::1;;11883:1;11875:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11887:6;;11894:1;11887:9;;;;;;;:::i;:::-;;;;;;;11898:8;;11907:1;11898:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;11911;11924:5;11854:76;;;;;;;;;;;:::i;:::-;;;;;;;;11830:3;::::0;::::1;:::i;:::-;;;11790:151;;;-1:-1:-1::0;11954:18:1;;11950:72:::1;;12002:2;-1:-1:-1::0;;;;;;;;;;;12006:4:1::1;11993:18;;;;1936:25:150::0;;1924:2;1909:18;;1790:177;11993:18:1::1;;;;;;;;11950:72;11469:559;11221:807:::0;;;;;;;;;;:::o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;9882:320:1:-;10102:7;10149;;10158:6;;10166:8;;10176:11;10189:4;10138:56;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10128:67;;;;;;10121:74;;9882:320;;;;;;;;;;:::o;12751:456::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;12829:35:1::1;12867:31;:29;:31::i;:::-;12829:69;;12913:22;12932:2;12913:18;:22::i;:::-;12908:230;;13008:2;13073:40;13092:20;13073:18;:40::i;:::-;13028:42;13047:22;13028:18;:42::i;:::-;:85;12958:169;;-1:-1:-1::0;;;12958:169:1::1;;;;;;;;;:::i;12908:230::-;13154:13;:17:::0;;;::::1;::::0;;;;;;;13147:24;;;13187:13;13168:2;;13187:13:::1;::::0;::::1;12819:388;12751:456:::0;;:::o;8291:192::-;8354:7;8373:35;8411:31;:29;:31::i;:::-;8459:13;:17;;;;;-1:-1:-1;;8459:17:1;;;;;8291:192::o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;14648:896:1:-:0;-1:-1:-1;;;;;;;;;;;6517:25:1;6525:4;6539:1;6517:7;:25::i;:::-;6512:87;;6558:30;6569:4;966:10:11;6558::1;:30::i;:::-;14904:31;;::::1;;::::0;:68:::1;;-1:-1:-1::0;14939:33:1;;::::1;;14904:68;14900:184;;;14995:78;::::0;-1:-1:-1;;;;;;14995:78:1;;::::1;::::0;15026:7;;15042:8;;15059:6;;14995:78:::1;;;:::i;14900:184::-;15094:10;15107:64;15126:7;;15135:6;;15143:8;;15153:11;15166:4;15107:18;:64::i;:::-;15094:77;;15182:28;15194:2;15198:11;15182;:28::i;:::-;15225:9;15220:294;15240:18:::0;;::::1;15220:294;;;15279:14;15296:7;;15304:1;15296:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;15279:27;;15320:13;15336:6;;15343:1;15336:9;;;;;;;:::i;:::-;;;;;;;15320:25;;15359:22;;15384:8;;15393:1;15384:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;15359:36;;;;15409:32;15418:6;15426:5;15433:7;;15409:8;:32::i;:::-;15477:1;15473:2;-1:-1:-1::0;;;;;;;;;;;15480:6:1::1;15488:5;15495:7;;15460:43;;;;;;;;;:::i;:::-;;;;;;;;15265:249;;;;15260:3;;;;:::i;:::-;;;15220:294;;;;15523:14;15534:2;15523:10;:14::i;:::-;14890:654;14648:896:::0;;;;;;;;;:::o;9199:175::-;9251:7;9270:35;9308:31;:29;:31::i;:::-;9356:11;;;;9199:175;-1:-1:-1;;9199:175:1:o;4148:103:0:-;4214:30;4225:4;966:10:11;6558::1;:30::i;4214::0:-;4148:103;:::o;12129:480:1:-;12193:35;12231:31;:29;:31::i;:::-;12193:69;;12276:15;12288:2;12276:11;:15::i;:::-;12272:131;;;12347:2;12351:40;12370:20;12351:18;:40::i;:::-;12314:78;;-1:-1:-1;;;12314:78:1;;;;;;;;;:::i;12272:131::-;12412:16;12431:13;:11;:13::i;:::-;12412:32;;12466:8;12458:5;:16;12454:96;;;12523:5;12530:8;12497:42;;-1:-1:-1;;;12497:42:1;;;;;;;;;:::i;12454:96::-;12579:23;12597:5;12579:15;:23;:::i;:::-;12559:13;:17;;;;;;;;-1:-1:-1;12559:17:1;;;;:43;;;;-1:-1:-1;12129:480:1:o;1036:232:4:-;1149:4;-1:-1:-1;;;;;;1172:49:4;;-1:-1:-1;;;1172:49:4;;:89;;;1225:36;1249:11;1225:23;:36::i;4381:197:0:-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4514:47;;-1:-1:-1;;;4514:47:0;;-1:-1:-1;;;;;17620:32:150;;4514:47:0;;;17602:51:150;17669:18;;;17662:34;;;17575:18;;4514:47:0;17428:274:150;4464:108:0;4381:197;;:::o;15922:367:1:-;16004:20;16021:2;16004:16;:20::i;:::-;15999:137;;16080:2;16084:40;16103:20;16084:18;:40::i;15999:137::-;16149:25;;;;;:58;;;16179:28;16195:11;16179:15;:28::i;:::-;16178:29;16149:58;16145:138;;;16230:42;;-1:-1:-1;;;16230:42:1;;;;;1936:25:150;;;1909:18;;16230:42:1;1790:177:150;15607:232:1;15705:12;15719:23;15746:6;-1:-1:-1;;;;;15746:11:1;15765:5;15772:4;;15746:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15704:73;;;;15787:45;15812:7;15821:10;15787:24;:45::i;:::-;;15694:145;;15607:232;;;;:::o;16371:317::-;16421:35;16459:31;:29;:31::i;:::-;16421:69;;16505:20;16522:2;16505:16;:20::i;:::-;16500:137;;16581:2;16585:40;16604:20;16585:18;:40::i;16500:137::-;16646:13;:17;;;;;;;;1644:1;16646:35;;16371:317::o;2787:177:0:-;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;2115:192:1;2258:33;;2115:192::o;17816:150::-;17898:7;17943:14;17937:21;;;;;;;;:::i;:::-;17932:1;:26;;;;;;;17816:150;-1:-1:-1;;17816:150:1:o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;-1:-1:-1;;;;;;;;;;1133:40:14;;;3602:36:0;1034:146:14;5407:224:32;5495:12;5524:7;5519:106;;5547:19;5555:10;5547:7;:19::i;:::-;5519:106;;;-1:-1:-1;5604:10:32;5597:17;;5743:516;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;14:173:150;82:20;;-1:-1:-1;;;;;131:31:150;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:347::-;243:8;253:6;307:3;300:4;292:6;288:17;284:27;274:55;;325:1;322;315:12;274:55;-1:-1:-1;348:20:150;;-1:-1:-1;;;;;380:30:150;;377:50;;;423:1;420;413:12;377:50;460:4;452:6;448:17;436:29;;512:3;505:4;496:6;488;484:19;480:30;477:39;474:59;;;529:1;526;519:12;474:59;192:347;;;;;:::o;544:758::-;659:6;667;675;683;691;699;707;760:3;748:9;739:7;735:23;731:33;728:53;;;777:1;774;767:12;728:53;800:29;819:9;800:29;:::i;:::-;790:39;-1:-1:-1;876:2:150;861:18;;848:32;;-1:-1:-1;931:2:150;916:18;;903:32;-1:-1:-1;;;;;947:30:150;;944:50;;;990:1;987;980:12;944:50;1029:58;1079:7;1070:6;1059:9;1055:22;1029:58;:::i;:::-;544:758;;;;-1:-1:-1;1106:8:150;1188:2;1173:18;;1160:32;;1239:3;1224:19;;1211:33;;-1:-1:-1;1291:3:150;1276:19;;;1263:33;;-1:-1:-1;544:758:150;-1:-1:-1;;;;544:758:150:o;1307:286::-;1365:6;1418:2;1406:9;1397:7;1393:23;1389:32;1386:52;;;1434:1;1431;1424:12;1386:52;1460:23;;-1:-1:-1;;;;;;1512:32:150;;1502:43;;1492:71;;1559:1;1556;1549:12;1972:689;2078:6;2086;2094;2102;2110;2118;2171:3;2159:9;2150:7;2146:23;2142:33;2139:53;;;2188:1;2185;2178:12;2139:53;2211:29;2230:9;2211:29;:::i;:::-;2201:39;-1:-1:-1;2287:2:150;2272:18;;2259:32;;-1:-1:-1;2342:2:150;2327:18;;2314:32;-1:-1:-1;;;;;2358:30:150;;2355:50;;;2401:1;2398;2391:12;2355:50;2440:58;2490:7;2481:6;2470:9;2466:22;2440:58;:::i;:::-;1972:689;;;;-1:-1:-1;2517:8:150;2599:2;2584:18;;2571:32;;2650:3;2635:19;;;2622:33;;-1:-1:-1;1972:689:150;-1:-1:-1;;;;1972:689:150:o;2666:180::-;2725:6;2778:2;2766:9;2757:7;2753:23;2749:32;2746:52;;;2794:1;2791;2784:12;2746:52;-1:-1:-1;2817:23:150;;2666:180;-1:-1:-1;2666:180:150:o;2851:127::-;2912:10;2907:3;2903:20;2900:1;2893:31;2943:4;2940:1;2933:15;2967:4;2964:1;2957:15;2983:275;3054:2;3048:9;3119:2;3100:13;;-1:-1:-1;;3096:27:150;3084:40;;-1:-1:-1;;;;;3139:34:150;;3175:22;;;3136:62;3133:88;;;3201:18;;:::i;:::-;3237:2;3230:22;2983:275;;-1:-1:-1;2983:275:150:o;3263:530::-;3305:5;3358:3;3351:4;3343:6;3339:17;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3399:20;;-1:-1:-1;;;;;3431:26:150;;3428:52;;;3460:18;;:::i;:::-;3504:55;3547:2;3528:13;;-1:-1:-1;;3524:27:150;3553:4;3520:38;3504:55;:::i;:::-;3584:2;3575:7;3568:19;3630:3;3623:4;3618:2;3610:6;3606:15;3602:26;3599:35;3596:55;;;3647:1;3644;3637:12;3596:55;3712:2;3705:4;3697:6;3693:17;3686:4;3677:7;3673:18;3660:55;3760:1;3735:16;;;3753:4;3731:27;3724:38;;;;3739:7;3263:530;-1:-1:-1;;;3263:530:150:o;3798:537::-;3893:6;3901;3909;3917;3970:3;3958:9;3949:7;3945:23;3941:33;3938:53;;;3987:1;3984;3977:12;3938:53;4010:29;4029:9;4010:29;:::i;:::-;4000:39;;4058:38;4092:2;4081:9;4077:18;4058:38;:::i;:::-;4048:48;-1:-1:-1;4143:2:150;4128:18;;4115:32;;-1:-1:-1;4198:2:150;4183:18;;4170:32;-1:-1:-1;;;;;4214:30:150;;4211:50;;;4257:1;4254;4247:12;4211:50;4280:49;4321:7;4312:6;4301:9;4297:22;4280:49;:::i;:::-;4270:59;;;3798:537;;;;;;;:::o;4547:254::-;4615:6;4623;4676:2;4664:9;4655:7;4651:23;4647:32;4644:52;;;4692:1;4689;4682:12;4644:52;4728:9;4715:23;4705:33;;4757:38;4791:2;4780:9;4776:18;4757:38;:::i;:::-;4747:48;;4547:254;;;;;:::o;4991:127::-;5052:10;5047:3;5043:20;5040:1;5033:31;5083:4;5080:1;5073:15;5107:4;5104:1;5097:15;5123:346;5273:2;5258:18;;5306:1;5295:13;;5285:144;;5351:10;5346:3;5342:20;5339:1;5332:31;5386:4;5383:1;5376:15;5414:4;5411:1;5404:15;5285:144;5438:25;;;5123:346;:::o;5474:367::-;5537:8;5547:6;5601:3;5594:4;5586:6;5582:17;5578:27;5568:55;;5619:1;5616;5609:12;5568:55;-1:-1:-1;5642:20:150;;-1:-1:-1;;;;;5674:30:150;;5671:50;;;5717:1;5714;5707:12;5671:50;5754:4;5746:6;5742:17;5730:29;;5814:3;5807:4;5797:6;5794:1;5790:14;5782:6;5778:27;5774:38;5771:47;5768:67;;;5831:1;5828;5821:12;5846:1306;6042:6;6050;6058;6066;6074;6082;6090;6098;6106;6159:3;6147:9;6138:7;6134:23;6130:33;6127:53;;;6176:1;6173;6166:12;6127:53;6203:23;;-1:-1:-1;;;;;6275:14:150;;;6272:34;;;6302:1;6299;6292:12;6272:34;6341:70;6403:7;6394:6;6383:9;6379:22;6341:70;:::i;:::-;6430:8;;-1:-1:-1;6315:96:150;-1:-1:-1;6518:2:150;6503:18;;6490:32;;-1:-1:-1;6534:16:150;;;6531:36;;;6563:1;6560;6553:12;6531:36;6602:72;6666:7;6655:8;6644:9;6640:24;6602:72;:::i;:::-;6693:8;;-1:-1:-1;6576:98:150;-1:-1:-1;6781:2:150;6766:18;;6753:32;;-1:-1:-1;6797:16:150;;;6794:36;;;6826:1;6823;6816:12;6794:36;;6865:72;6929:7;6918:8;6907:9;6903:24;6865:72;:::i;:::-;5846:1306;;;;-1:-1:-1;5846:1306:150;;;;6956:8;;7038:2;7023:18;;7010:32;;7089:3;7074:19;;7061:33;;-1:-1:-1;7141:3:150;7126:19;7113:33;;-1:-1:-1;5846:1306:150;-1:-1:-1;;;;5846:1306:150:o;7157:1237::-;7344:6;7352;7360;7368;7376;7384;7392;7400;7453:3;7441:9;7432:7;7428:23;7424:33;7421:53;;;7470:1;7467;7460:12;7421:53;7497:23;;-1:-1:-1;;;;;7569:14:150;;;7566:34;;;7596:1;7593;7586:12;7566:34;7635:70;7697:7;7688:6;7677:9;7673:22;7635:70;:::i;:::-;7724:8;;-1:-1:-1;7609:96:150;-1:-1:-1;7812:2:150;7797:18;;7784:32;;-1:-1:-1;7828:16:150;;;7825:36;;;7857:1;7854;7847:12;7825:36;7896:72;7960:7;7949:8;7938:9;7934:24;7896:72;:::i;:::-;7987:8;;-1:-1:-1;7870:98:150;-1:-1:-1;8075:2:150;8060:18;;8047:32;;-1:-1:-1;8091:16:150;;;8088:36;;;8120:1;8117;8110:12;8088:36;;8159:72;8223:7;8212:8;8201:9;8197:24;8159:72;:::i;:::-;7157:1237;;;;-1:-1:-1;7157:1237:150;;;;8250:8;;8332:2;8317:18;;8304:32;;8383:3;8368:19;8355:33;;-1:-1:-1;7157:1237:150;-1:-1:-1;;;;7157:1237:150:o;8399:712::-;8453:5;8506:3;8499:4;8491:6;8487:17;8483:27;8473:55;;8524:1;8521;8514:12;8473:55;8547:20;;8586:4;-1:-1:-1;;;;;8602:26:150;;8599:52;;;8631:18;;:::i;:::-;8677:2;8674:1;8670:10;8700:28;8724:2;8720;8716:11;8700:28;:::i;:::-;8762:15;;;8832;;;8828:24;;;8793:12;;;;8864:15;;;8861:35;;;8892:1;8889;8882:12;8861:35;8928:2;8920:6;8916:15;8905:26;;8940:142;8956:6;8951:3;8948:15;8940:142;;;9022:17;;9010:30;;8973:12;;;;9060;;;;8940:142;;;9100:5;8399:712;-1:-1:-1;;;;;;;8399:712:150:o;9116:943::-;9270:6;9278;9286;9294;9302;9355:3;9343:9;9334:7;9330:23;9326:33;9323:53;;;9372:1;9369;9362:12;9323:53;9395:29;9414:9;9395:29;:::i;:::-;9385:39;;9443:38;9477:2;9466:9;9462:18;9443:38;:::i;:::-;9433:48;-1:-1:-1;9532:2:150;9517:18;;9504:32;-1:-1:-1;;;;;9585:14:150;;;9582:34;;;9612:1;9609;9602:12;9582:34;9635:61;9688:7;9679:6;9668:9;9664:22;9635:61;:::i;:::-;9625:71;;9749:2;9738:9;9734:18;9721:32;9705:48;;9778:2;9768:8;9765:16;9762:36;;;9794:1;9791;9784:12;9762:36;9817:63;9872:7;9861:8;9850:9;9846:24;9817:63;:::i;:::-;9807:73;;9933:3;9922:9;9918:19;9905:33;9889:49;;9963:2;9953:8;9950:16;9947:36;;;9979:1;9976;9969:12;9947:36;;10002:51;10045:7;10034:8;10023:9;10019:24;10002:51;:::i;:::-;9992:61;;;9116:943;;;;;;;;:::o;10246:606::-;10350:6;10358;10366;10374;10382;10435:3;10423:9;10414:7;10410:23;10406:33;10403:53;;;10452:1;10449;10442:12;10403:53;10475:29;10494:9;10475:29;:::i;:::-;10465:39;;10523:38;10557:2;10546:9;10542:18;10523:38;:::i;:::-;10513:48;-1:-1:-1;10608:2:150;10593:18;;10580:32;;-1:-1:-1;10659:2:150;10644:18;;10631:32;;-1:-1:-1;10714:3:150;10699:19;;10686:33;-1:-1:-1;;;;;10731:30:150;;10728:50;;;10774:1;10771;10764:12;10728:50;10797:49;10838:7;10829:6;10818:9;10814:22;10797:49;:::i;10857:266::-;10945:6;10940:3;10933:19;10997:6;10990:5;10983:4;10978:3;10974:14;10961:43;-1:-1:-1;11049:1:150;11024:16;;;11042:4;11020:27;;;11013:38;;;;11105:2;11084:15;;;-1:-1:-1;;11080:29:150;11071:39;;;11067:50;;10857:266::o;11128:557::-;11426:1;11422;11417:3;11413:11;11409:19;11401:6;11397:32;11386:9;11379:51;11466:6;11461:2;11450:9;11446:18;11439:34;11509:3;11504:2;11493:9;11489:18;11482:31;11360:4;11530:62;11587:3;11576:9;11572:19;11564:6;11556;11530:62;:::i;:::-;11623:2;11608:18;;11601:34;;;;-1:-1:-1;11666:3:150;11651:19;11644:35;11522:70;11128:557;-1:-1:-1;;;;11128:557:150:o;11690:412::-;11932:1;11928;11923:3;11919:11;11915:19;11907:6;11903:32;11892:9;11885:51;11972:6;11967:2;11956:9;11952:18;11945:34;12015:2;12010;11999:9;11995:18;11988:30;11866:4;12035:61;12092:2;12081:9;12077:18;12069:6;12061;12035:61;:::i;:::-;12027:69;11690:412;-1:-1:-1;;;;;;11690:412:150:o;12315:248::-;12489:25;;;12545:2;12530:18;;12523:34;12477:2;12462:18;;12315:248::o;13130:319::-;13332:25;;;13388:2;13373:18;;13366:34;;;;13431:2;13416:18;;13409:34;13320:2;13305:18;;13130:319::o;13454:127::-;13515:10;13510:3;13506:20;13503:1;13496:31;13546:4;13543:1;13536:15;13570:4;13567:1;13560:15;13586:186;13645:6;13698:2;13686:9;13677:7;13673:23;13669:32;13666:52;;;13714:1;13711;13704:12;13666:52;13737:29;13756:9;13737:29;:::i;13777:521::-;13854:4;13860:6;13920:11;13907:25;14014:2;14010:7;13999:8;13983:14;13979:29;13975:43;13955:18;13951:68;13941:96;;14033:1;14030;14023:12;13941:96;14060:33;;14112:20;;;-1:-1:-1;;;;;;14144:30:150;;14141:50;;;14187:1;14184;14177:12;14141:50;14220:4;14208:17;;-1:-1:-1;14251:14:150;14247:27;;;14237:38;;14234:58;;;14288:1;14285;14278:12;14303:127;14364:10;14359:3;14355:20;14352:1;14345:31;14395:4;14392:1;14385:15;14419:4;14416:1;14409:15;14435:135;14474:3;14495:17;;;14492:43;;14515:18;;:::i;:::-;-1:-1:-1;14562:1:150;14551:13;;14435:135::o;14575:1067::-;14682:6;14677:3;14670:19;14652:3;14708:4;14749:2;14744:3;14740:12;14774:11;14801;14794:18;;14851:6;14848:1;14844:14;14837:5;14833:26;14821:38;;14882:5;14905:1;14915:701;14929:6;14926:1;14923:13;14915:701;;;15000:5;14994:4;14990:16;14985:3;14978:29;15059:6;15046:20;15149:2;15145:7;15137:5;15121:14;15117:26;15113:40;15093:18;15089:65;15079:93;;15168:1;15165;15158:12;15079:93;15200:30;;15308:16;;;;15259:21;-1:-1:-1;;;;;15340:32:150;;15337:52;;;15385:1;15382;15375:12;15337:52;15438:8;15422:14;15418:29;15409:7;15405:43;15402:63;;;15461:1;15458;15451:12;15402:63;15486:50;15531:4;15521:8;15512:7;15486:50;:::i;:::-;15594:12;;;;15478:58;-1:-1:-1;;;15559:15:150;;;;14951:1;14944:9;14915:701;;;-1:-1:-1;15632:4:150;;14575:1067;-1:-1:-1;;;;;;;14575:1067:150:o;15647:1393::-;16099:3;16112:22;;;16084:19;;16169:22;;;16051:4;16249:6;16222:3;16207:19;;16051:4;16283:235;16297:6;16294:1;16291:13;16283:235;;;-1:-1:-1;;;;;16362:26:150;16381:6;16362:26;:::i;:::-;16358:52;16346:65;;16434:4;16493:15;;;;16458:12;;;;16319:1;16312:9;16283:235;;;-1:-1:-1;16556:19:150;;;16549:4;16534:20;;16527:49;16585:19;;;-1:-1:-1;;;;;16616:31:150;;16613:51;;;16660:1;16657;16650:12;16613:51;16694:6;16691:1;16687:14;16673:28;;16747:6;16739;16732:4;16727:3;16723:14;16710:44;16773:16;16829:18;;;16849:4;16825:29;;;16820:2;16805:18;;16798:57;16872:75;;16933:13;;16925:6;16917;16872:75;:::i;:::-;16978:2;16963:18;;16956:34;;;;-1:-1:-1;;17021:3:150;17006:19;16999:35;16864:83;15647:1393;-1:-1:-1;;;;;;15647:1393:150:o;17298:125::-;17363:9;;;17384:10;;;17381:36;;;17397:18;;:::i;17707:271::-;17890:6;17882;17877:3;17864:33;17846:3;17916:16;;17941:13;;;17916:16;17707:271;-1:-1:-1;17707:271:150:o"},"methodIdentifiers":{"CANCELLER_ROLE()":"b08e51c0","DEFAULT_ADMIN_ROLE()":"a217fddf","EXECUTOR_ROLE()":"07bd0265","PROPOSER_ROLE()":"8f61f4f5","cancel(bytes32)":"c4d252f5","execute(address,uint256,bytes,bytes32,bytes32)":"134008d3","executeBatch(address[],uint256[],bytes[],bytes32,bytes32)":"e38335e5","getMinDelay()":"f27a0c92","getOperationState(bytes32)":"7958004c","getRoleAdmin(bytes32)":"248a9ca3","getTimestamp(bytes32)":"d45c4435","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hashOperation(address,uint256,bytes,bytes32,bytes32)":"8065657f","hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)":"b1c5f427","isOperation(bytes32)":"31d50750","isOperationDone(bytes32)":"2ab0f529","isOperationPending(bytes32)":"584b153e","isOperationReady(bytes32)":"13bc9f20","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","schedule(address,uint256,bytes,bytes32,bytes32,uint256)":"01d5062a","scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)":"8f2a0bb0","supportsInterface(bytes4)":"01ffc9a7","updateDelay(uint256)":"64d62353"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDelay\",\"type\":\"uint256\"}],\"name\":\"TimelockInsufficientDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"payloads\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"values\",\"type\":\"uint256\"}],\"name\":\"TimelockInvalidOperationLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"TimelockUnauthorizedCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"predecessorId\",\"type\":\"bytes32\"}],\"name\":\"TimelockUnexecutedPredecessor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"operationId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"TimelockUnexpectedOperationState\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"CallExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"CallSalt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"CallScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"Cancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDuration\",\"type\":\"uint256\"}],\"name\":\"MinDelayChange\",\"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\":\"CANCELLER_ROLE\",\"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\":\"EXECUTOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROPOSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"payloads\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"executeBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"getOperationState\",\"outputs\":[{\"internalType\":\"enum TimelockControllerUpgradeable.OperationState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"id\",\"type\":\"bytes32\"}],\"name\":\"getTimestamp\",\"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\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"hashOperation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"payloads\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"hashOperationBatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationDone\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationPending\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationReady\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"schedule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"payloads\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"scheduleBatch\",\"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\":\"uint256\",\"name\":\"newDelay\",\"type\":\"uint256\"}],\"name\":\"updateDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Contract module which acts as a timelocked controller. When set as the owner of an `Ownable` smart contract, it enforces a timelock on all `onlyOwner` maintenance operations. This gives time for users of the controlled contract to exit before a potentially dangerous maintenance operation is applied. By default, this contract is self administered, meaning administration tasks have to go through the timelock process. The proposer (resp executor) role is in charge of proposing (resp executing) operations. A common use case is to position this {TimelockController} as the owner of a smart contract, with a multisig or a DAO as the sole proposer.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"TimelockInsufficientDelay(uint256,uint256)\":[{\"details\":\"The schedule operation doesn't meet the minimum delay.\"}],\"TimelockInvalidOperationLength(uint256,uint256,uint256)\":[{\"details\":\"Mismatch between the parameters length for an operation call.\"}],\"TimelockUnauthorizedCaller(address)\":[{\"details\":\"The caller account is not authorized.\"}],\"TimelockUnexecutedPredecessor(bytes32)\":[{\"details\":\"The predecessor to an operation not yet done.\"}],\"TimelockUnexpectedOperationState(bytes32,bytes32)\":[{\"details\":\"The current state of an operation is not as required. The `expectedStates` is a bitmap with the bits enabled for each OperationState enum position counting from right to left. See {_encodeStateBitmap}.\"}]},\"events\":{\"CallExecuted(bytes32,uint256,address,uint256,bytes)\":{\"details\":\"Emitted when a call is performed as part of operation `id`.\"},\"CallSalt(bytes32,bytes32)\":{\"details\":\"Emitted when new proposal is scheduled with non-zero salt.\"},\"CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)\":{\"details\":\"Emitted when a call is scheduled as part of operation `id`.\"},\"Cancelled(bytes32)\":{\"details\":\"Emitted when operation `id` is cancelled.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"MinDelayChange(uint256,uint256)\":{\"details\":\"Emitted when the minimum delay for future operations is modified.\"},\"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.\"},\"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\":{\"cancel(bytes32)\":{\"details\":\"Cancel an operation. Requirements: - the caller must have the 'canceller' role.\"},\"execute(address,uint256,bytes,bytes32,bytes32)\":{\"details\":\"Execute an (ready) operation containing a single transaction. Emits a {CallExecuted} event. Requirements: - the caller must have the 'executor' role.\"},\"executeBatch(address[],uint256[],bytes[],bytes32,bytes32)\":{\"details\":\"Execute an (ready) operation containing a batch of transactions. Emits one {CallExecuted} event per transaction in the batch. Requirements: - the caller must have the 'executor' role.\"},\"getMinDelay()\":{\"details\":\"Returns the minimum delay in seconds for an operation to become valid. This value can be changed by executing an operation that calls `updateDelay`.\"},\"getOperationState(bytes32)\":{\"details\":\"Returns operation state.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getTimestamp(bytes32)\":{\"details\":\"Returns the timestamp at which an operation becomes ready (0 for unset operations, 1 for done operations).\"},\"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`.\"},\"hashOperation(address,uint256,bytes,bytes32,bytes32)\":{\"details\":\"Returns the identifier of an operation containing a single transaction.\"},\"hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)\":{\"details\":\"Returns the identifier of an operation containing a batch of transactions.\"},\"isOperation(bytes32)\":{\"details\":\"Returns whether an id corresponds to a registered operation. This includes both Waiting, Ready, and Done operations.\"},\"isOperationDone(bytes32)\":{\"details\":\"Returns whether an operation is done or not.\"},\"isOperationPending(bytes32)\":{\"details\":\"Returns whether an operation is pending or not. Note that a \\\"pending\\\" operation may also be \\\"ready\\\".\"},\"isOperationReady(bytes32)\":{\"details\":\"Returns whether an operation is ready for execution. Note that a \\\"ready\\\" operation is also \\\"pending\\\".\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}. Always returns `IERC721Receiver.onERC721Received.selector`.\"},\"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 `callerConfirmation`. 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.\"},\"schedule(address,uint256,bytes,bytes32,bytes32,uint256)\":{\"details\":\"Schedule an operation containing a single transaction. Emits {CallSalt} if salt is nonzero, and {CallScheduled}. Requirements: - the caller must have the 'proposer' role.\"},\"scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)\":{\"details\":\"Schedule an operation containing a batch of transactions. Emits {CallSalt} if salt is nonzero, and one {CallScheduled} event per transaction in the batch. Requirements: - the caller must have the 'proposer' role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateDelay(uint256)\":{\"details\":\"Changes the minimum timelock duration for future operations. Emits a {MinDelayChange} event. Requirements: - the caller must be the timelock itself. This can only be achieved by scheduling and later executing an operation where the timelock is the target and the data is the ABI-encoded call to this function.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":\"TimelockControllerUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"Initializable":{"abi":[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor constructor() {     _disableInitializers(); } ``` ====\",\"details\":\"This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. The initialization functions use a version number. Once a version number is used, it is consumed and cannot be reused. This mechanism prevents re-execution of each \\\"step\\\" but allows the creation of new initialization steps in case an upgrade adds a module that needs to be initialized. For example: [.hljs-theme-light.nopadding] ```solidity contract MyToken is ERC20Upgradeable {     function initialize() initializer public {         __ERC20_init(\\\"MyToken\\\", \\\"MTK\\\");     } } contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {     function initializeV2() reinitializer(2) public {         __ERC20Permit_init(\\\"MyToken\\\");     } } ``` TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. [CAUTION] ==== Avoid leaving a contract uninitialized. An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke the {_disableInitializers} function in the constructor to automatically lock it when it is deployed: [.hljs-theme-light.nopadding] ```\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":\"Initializable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"UUPSUpgradeable":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","proxiableUUID()":"52d1902d","upgradeToAndCall(address,bytes)":"4f1ef286"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing `UUPSUpgradeable` with a custom implementation of upgrades. The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"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.\"},\"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.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)` and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"},\"__self\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":\"UUPSUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol":{"ERC1155HolderUpgradeable":{"abi":[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Simple implementation of `IERC1155Receiver` that will allow a contract to hold ERC1155 tokens. IMPORTANT: When inheriting this contract, you must include a way to use the received tokens, otherwise they will be stuck.\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":\"ERC1155HolderUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol":{"ERC721Upgradeable":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":\"ERC721Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"ERC721BurnableUpgradeable":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC721 Token that can be burned (destroyed).\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"ERC721 Burnable Token\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":\"ERC721BurnableUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x5d1215064b3e114d329b1544cf65d33404f63e7841184e55267f4d8b114608e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1699c6ecb0511cb626f40814463aaf4e5c8c36399689e0f3de7561f227a5b50a\",\"dweb:/ipfs/QmQDxPddEsajUEPDRsfPekEhBRjmBTepYALuTwdM7h6mRz\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol":{"ERC721EnumerableUpgradeable":{"abi":[{"inputs":[],"name":"ERC721EnumerableForbiddenBatchMint","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"ERC721OutOfBoundsIndex","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This implements an optional extension of {ERC721} defined in the EIP that adds enumerability of all the token ids in the contract as well as all token ids owned by each account. CAUTION: `ERC721` extensions that implement custom `balanceOf` logic, such as `ERC721Consecutive`, interfere with enumerability and should not be used together with `ERC721Enumerable`.\",\"errors\":{\"ERC721EnumerableForbiddenBatchMint()\":[{\"details\":\"Batch mint is not allowed.\"}],\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721OutOfBoundsIndex(address,uint256)\":[{\"details\":\"An `owner`'s token query was out of bounds for `index`. NOTE: The owner being `address(0)` indicates a global out of bounds index.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\":\"ERC721EnumerableUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\":{\"keccak256\":\"0xe3c0b8baf1c6c26bd7944f5c7e71d0e902cbd1a90509f093524c289b89ad5344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9b136fb95c70aa8bce31e2fbaea664bd44afc305b8b75547d90944c89f2acc4\",\"dweb:/ipfs/QmRZbDHHu8obmna5Aj8iP2xNC4xC3p2RtdhpsYiJ8Bbm3M\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol":{"ERC721PausableUpgradeable":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","paused()":"5c975abb","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC721 token with pausable token transfers, minting and burning. Useful for scenarios such as preventing trades until the end of an evaluation period, or having an emergency switch for freezing all token transfers in the event of a large bug. IMPORTANT: This contract does not include public pause and unpause functions. In addition to inheriting this contract, you must define both functions, invoking the {Pausable-_pause} and {Pausable-_unpause} internal functions, with appropriate access control, e.g. using {AccessControl} or {Ownable}. Not doing so will make the contract pause mechanism of the contract unreachable, and thus unusable.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\":\"ERC721PausableUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\":{\"keccak256\":\"0x6a7330cb4ed2bea90bed97483d55f11ccf98af6c1dd1e2b1739040b679ff9545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a274337315d1f332ba80f7cfbe5243267db6a015514c5a0e7898219ab51fb52\",\"dweb:/ipfs/QmTZdtdWgVs7VmP1dUW4idVpLK4pVFS6sfoi2pQCnaKgSX\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol":{"ERC721URIStorageUpgradeable":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC721 token with storage based token URI management.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\":\"ERC721URIStorageUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\":{\"keccak256\":\"0x7e68925d3373bd2baa7ac36839c464b2e77b67764201c4e0196d62699ee220b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0896e7ff605a131ca982da1175d798c19588852dc74329f5c3675ac76cb80ff\",\"dweb:/ipfs/QmdePp3XmXaKz4A9qqj6enFuqERWvJoN4uRmFzu2cwLPX8\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0xb31b86c03f4677dcffa4655285d62433509513be9bafa0e04984565052d34e44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a89c6fb0cd5fef4244500b633f63def9f2bb2134debb961e590bd5a2910662fd\",\"dweb:/ipfs/QmNqWyCxyopvb99RbRomPpfTZGXRi5MnzgpFXE2BFLLgMc\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol":{"ERC721HolderUpgradeable":{"abi":[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC721Receiver} interface. Accepts all token transfers. Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}. Always returns `IERC721Receiver.onERC721Received.selector`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":\"ERC721HolderUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"ContextUpgradeable":{"abi":[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":\"ContextUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol":{"PausableUpgradeable":{"abi":[{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"paused()":"5c975abb"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which allows children to implement an emergency stop mechanism that can be triggered by an authorized account. This module is used through inheritance. It will make available the modifiers `whenNotPaused` and `whenPaused`, which can be applied to the functions of your contract. Note that they will not be pausable by simply including this module, only once the modifiers are put in place.\",\"errors\":{\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"}},\"kind\":\"dev\",\"methods\":{\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":\"PausableUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol":{"ReentrancyGuardUpgradeable":{"abi":[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":\"ReentrancyGuardUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]}},\"version\":1}"}},"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol":{"ERC165Upgradeable":{"abi":[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {     return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ```\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":\"ERC165Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts/access/IAccessControl.sol":{"IAccessControl":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"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":[{"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":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"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\":[{\"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\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC165 detection.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"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.\"},\"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\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_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.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"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 granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`.\"},\"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.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]}},\"version\":1}"}},"@openzeppelin/contracts/governance/utils/IVotes.sol":{"IVotes":{"abi":[{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"name":"VotesExpiredSignature","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousVotes","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotes","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts.\",\"errors\":{\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"}},\"kind\":\"dev\",\"methods\":{\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/governance/utils/IVotes.sol\":\"IVotes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]}},\"version\":1}"}},"@openzeppelin/contracts/interfaces/IERC4906.sol":{"IERC4906":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or   {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the address zero. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"EIP-721 Metadata Update Extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC4906.sol\":\"IERC4906\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0xb31b86c03f4677dcffa4655285d62433509513be9bafa0e04984565052d34e44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a89c6fb0cd5fef4244500b633f63def9f2bb2134debb961e590bd5a2910662fd\",\"dweb:/ipfs/QmNqWyCxyopvb99RbRomPpfTZGXRi5MnzgpFXE2BFLLgMc\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts/interfaces/IERC5805.sol":{"IERC5805":{"abi":[{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"name":"VotesExpiredSignature","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousVotes","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotes","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","clock()":"91ddadf4","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC5805.sol\":\"IERC5805\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]}},\"version\":1}"}},"@openzeppelin/contracts/interfaces/IERC6372.sol":{"IERC6372":{"abi":[{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","clock()":"91ddadf4"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC6372.sol\":\"IERC6372\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]}},\"version\":1}"}},"@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"IERC1822Proxiable":{"abi":[{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"proxiableUUID()":"52d1902d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. 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.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":\"IERC1822Proxiable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]}},\"version\":1}"}},"@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"IERC1155Errors":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC1155InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC1155InvalidApprover","type":"error"},{"inputs":[{"internalType":"uint256","name":"idsLength","type":"uint256"},{"internalType":"uint256","name":"valuesLength","type":"uint256"}],"name":"ERC1155InvalidArrayLength","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC1155InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC1155InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC1155InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC1155MissingApprovalForAll","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]}},\"version\":1}"},"IERC20Errors":{"abi":[{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]}},\"version\":1}"},"IERC721Errors":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]}},\"version\":1}"}},"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"ERC1967Utils":{"abi":[{"inputs":[{"internalType":"address","name":"admin","type":"address"}],"name":"ERC1967InvalidAdmin","type":"error"},{"inputs":[{"internalType":"address","name":"beacon","type":"address"}],"name":"ERC1967InvalidBeacon","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","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":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122080d025bde6ecd3e9751bf52f4767f80cad11d4bafac081158d8af523c400a75c64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP1 0xD0 0x25 0xBD 0xE6 0xEC 0xD3 0xE9 PUSH22 0x1BF52F4767F80CAD11D4BAFAC081158D8AF523C400A7 0x5C PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"449:6273:24:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;449:6273:24;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122080d025bde6ecd3e9751bf52f4767f80cad11d4bafac081158d8af523c400a75c64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP1 0xD0 0x25 0xBD 0xE6 0xEC 0xD3 0xE9 PUSH22 0x1BF52F4767F80CAD11D4BAFAC081158D8AF523C400A7 0x5C PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"449:6273:24:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidBeacon\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"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\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"This abstract contract provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.\",\"errors\":{\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidBeacon(address)\":[{\"details\":\"The `beacon` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the contract. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1.\"},\"BEACON_SLOT\":{\"details\":\"The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is the keccak-256 hash of \\\"eip1967.proxy.beacon\\\" subtracted by 1.\"},\"IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the current implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":\"ERC1967Utils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]}},\"version\":1}"}},"@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"IBeacon":{"abi":[{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"implementation()":"5c60da1b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is the interface that {BeaconProxy} expects of its beacon.\",\"kind\":\"dev\",\"methods\":{\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {UpgradeableBeacon} will check that this address is a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol":{"IERC1155Receiver":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface that must be implemented by smart contracts in order to receive ERC-1155 token transfers.\",\"kind\":\"dev\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. NOTE: To accept the transfer(s), this must return `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` (i.e. 0xbc197c81, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"ids\":\"An array containing ids of each token being transferred (order and length must match values array)\",\"operator\":\"The address which initiated the batch transfer (i.e. msg.sender)\",\"values\":\"An array containing amounts of each token being transferred (order and length must match ids array)\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` if transfer is allowed\"}},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. NOTE: To accept the transfer, this must return `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` (i.e. 0xf23a6e61, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which initiated the transfer (i.e. msg.sender)\",\"value\":\"The amount of tokens being transferred\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` if transfer is allowed\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":\"IERC1155Receiver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"IERC20":{"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":"value","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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"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\":\"value\",\"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\":\"value\",\"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\":\"value\",\"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 a `value` amount of tokens 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 value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of 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 a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` 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\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC721/IERC721.sol":{"IERC721":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or   {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the address zero. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"IERC721Receiver":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"IERC721Enumerable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or   {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the address zero. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional enumeration extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":\"IERC721Enumerable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"IERC721Metadata":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or   {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the address zero. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/Address.sol":{"Address":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122081915854002fb72622c28f83807c38783a97c6f16bd53c22259a96632faec00764736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP2 SWAP2 PC SLOAD STOP 0x2F 0xB7 0x26 0x22 0xC2 DUP16 DUP4 DUP1 PUSH29 0x38783A97C6F16BD53C22259A96632FAEC00764736F6C63430008140033 ","sourceMap":"195:6066:32:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;195:6066:32;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122081915854002fb72622c28f83807c38783a97c6f16bd53c22259a96632faec00764736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP2 SWAP2 PC SLOAD STOP 0x2F 0xB7 0x26 0x22 0xC2 DUP16 DUP4 DUP1 PUSH29 0x38783A97C6F16BD53C22259A96632FAEC00764736F6C63430008140033 ","sourceMap":"195:6066:32:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AddressInsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"AddressInsufficientBalance(address)\":[{\"details\":\"The ETH balance of the account is not enough to perform the operation.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/StorageSlot.sol":{"StorageSlot":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205cc67f1c6d050a7fd0a79ec5484fb335fa9c52db1691422755a8085de8784fc264736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C 0xC6 PUSH32 0x1C6D050A7FD0A79EC5484FB335FA9C52DB1691422755A8085DE8784FC264736F PUSH13 0x63430008140033000000000000 ","sourceMap":"1245:2685:33:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1245:2685:33;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205cc67f1c6d050a7fd0a79ec5484fb335fa9c52db1691422755a8085de8784fc264736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C 0xC6 PUSH32 0x1C6D050A7FD0A79EC5484FB335FA9C52DB1691422755A8085DE8784FC264736F PUSH13 0x63430008140033000000000000 ","sourceMap":"1245:2685:33:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC1967 implementation slot: ```solidity contract ERC1967 {     bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;     function _getImplementation() internal view returns (address) {         return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;     }     function _setImplementation(address newImplementation) internal {         require(newImplementation.code.length > 0);         StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;     } } ```\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/Strings.sol":{"Strings":{"abi":[{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"StringsInsufficientHexLength","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202c8f51defbd094d41d9d701b809d3b6b6a5a55e257dd351c1f9892f5ffef683164736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2C DUP16 MLOAD 0xDE 0xFB 0xD0 SWAP5 0xD4 SAR SWAP14 PUSH17 0x1B809D3B6B6A5A55E257DD351C1F9892F5 SELFDESTRUCT 0xEF PUSH9 0x3164736F6C63430008 EQ STOP CALLER ","sourceMap":"251:2847:34:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;251:2847:34;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202c8f51defbd094d41d9d701b809d3b6b6a5a55e257dd351c1f9892f5ffef683164736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2C DUP16 MLOAD 0xDE 0xFB 0xD0 SWAP5 0xD4 SAR SWAP14 PUSH17 0x1B809D3B6B6A5A55E257DD351C1F9892F5 SELFDESTRUCT 0xEF PUSH9 0x3164736F6C63430008 EQ STOP CALLER ","sourceMap":"251:2847:34:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"IERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/math/Math.sol":{"Math":{"abi":[{"inputs":[],"name":"MathOverflowedMulDiv","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207565d92611bb45e5cf3283afb56ef19f4dce0b6f5f6743955f54893769b831ba64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0x65D92611BB45E5CF3283AFB56EF19F4DCE0B6F5F6743 SWAP6 PUSH0 SLOAD DUP10 CALLDATACOPY PUSH10 0xB831BA64736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"203:14914:36:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;203:14914:36;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207565d92611bb45e5cf3283afb56ef19f4dce0b6f5f6743955f54893769b831ba64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0x65D92611BB45E5CF3283AFB56EF19F4DCE0B6F5F6743 SWAP6 PUSH0 SLOAD DUP10 CALLDATACOPY PUSH10 0xB831BA64736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"203:14914:36:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MathOverflowedMulDiv\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"errors\":{\"MathOverflowedMulDiv()\":[{\"details\":\"Muldiv operation overflow.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/math/SafeCast.sol":{"SafeCast":{"abi":[{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"int256","name":"value","type":"int256"}],"name":"SafeCastOverflowedIntDowncast","type":"error"},{"inputs":[{"internalType":"int256","name":"value","type":"int256"}],"name":"SafeCastOverflowedIntToUint","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintToInt","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200ee3940e1e46d14be116abfd86f7b5c8853d6c47522a1d1b61b3f5b368a7ddf764736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE 0xE3 SWAP5 0xE 0x1E CHAINID 0xD1 0x4B 0xE1 AND 0xAB REVERT DUP7 0xF7 0xB5 0xC8 DUP6 RETURNDATASIZE PUSH13 0x47522A1D1B61B3F5B368A7DDF7 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"764:33927:37:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;764:33927:37;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200ee3940e1e46d14be116abfd86f7b5c8853d6c47522a1d1b61b3f5b368a7ddf764736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE 0xE3 SWAP5 0xE 0x1E CHAINID 0xD1 0x4B 0xE1 AND 0xAB REVERT DUP7 0xF7 0xB5 0xC8 DUP6 RETURNDATASIZE PUSH13 0x47522A1D1B61B3F5B368A7DDF7 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"764:33927:37:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntToUint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintToInt\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"errors\":{\"SafeCastOverflowedIntDowncast(uint8,int256)\":[{\"details\":\"Value doesn't fit in an int of `bits` size.\"}],\"SafeCastOverflowedIntToUint(int256)\":[{\"details\":\"An int value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintToInt(uint256)\":[{\"details\":\"An uint value doesn't fit in an int of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/math/SignedMath.sol":{"SignedMath":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209ebd7ab1ddbc7a46cfc7da79334d254228b11acfbc12db71f2226ab9d6e032c464736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 0xBD PUSH27 0xB1DDBC7A46CFC7DA79334D254228B11ACFBC12DB71F2226AB9D6E0 ORIGIN 0xC4 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"216:1047:38:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;216:1047:38;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209ebd7ab1ddbc7a46cfc7da79334d254228b11acfbc12db71f2226ab9d6e032c464736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 0xBD PUSH27 0xB1DDBC7A46CFC7DA79334D254228B11ACFBC12DB71F2226AB9D6E0 ORIGIN 0xC4 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"216:1047:38:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/structs/Checkpoints.sol":{"Checkpoints":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bb41c4dbd69d0575179f6f479577b9bf6e588ab5e8faecb896251c1b12af4ed364736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB COINBASE 0xC4 0xDB 0xD6 SWAP14 SDIV PUSH22 0x179F6F479577B9BF6E588AB5E8FAECB896251C1B12AF 0x4E 0xD3 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"668:20471:39:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;668:20471:39;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bb41c4dbd69d0575179f6f479577b9bf6e588ab5e8faecb896251c1b12af4ed364736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB COINBASE 0xC4 0xDB 0xD6 SWAP14 SDIV PUSH22 0x179F6F479577B9BF6E588AB5E8FAECB896251C1B12AF 0x4E 0xD3 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"668:20471:39:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library defines the `Trace*` struct, for checkpointing values as they change at different points in time, and later looking up past values by block number. See {Votes} as an example. To create a history of checkpoints define a variable type `Checkpoints.Trace*` in your contract, and store a new checkpoint for the current transaction block using the {push} function.\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":\"Checkpoints\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol":{"DoubleEndedQueue":{"abi":[{"inputs":[],"name":"QueueEmpty","type":"error"},{"inputs":[],"name":"QueueFull","type":"error"},{"inputs":[],"name":"QueueOutOfBounds","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f8ef8ae9a9fbe2565a70b69fbe382208eee1b44079a87b478501288749af2d8264736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 0xEF DUP11 0xE9 0xA9 0xFB 0xE2 JUMP GAS PUSH17 0xB69FBE382208EEE1B44079A87B47850128 DUP8 0x49 0xAF 0x2D DUP3 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"782:5071:40:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;782:5071:40;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f8ef8ae9a9fbe2565a70b69fbe382208eee1b44079a87b478501288749af2d8264736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 0xEF DUP11 0xE9 0xA9 0xFB 0xE2 JUMP GAS PUSH17 0xB69FBE382208EEE1B44079A87B47850128 DUP8 0x49 0xAF 0x2D DUP3 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"782:5071:40:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"QueueEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"QueueFull\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"QueueOutOfBounds\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"A sequence of items with the ability to efficiently push and pop items (i.e. insert and remove) on both ends of the sequence (called front and back). Among other access patterns, it can be used to implement efficient LIFO and FIFO queues. Storage use is optimized, and all operations are O(1) constant time. This includes {clear}, given that the existing queue contents are left in storage. The struct is called `Bytes32Deque`. Other types can be cast to and from `bytes32`. This data structure can only be used in storage, and not in memory. ```solidity DoubleEndedQueue.Bytes32Deque queue; ```\",\"errors\":{\"QueueEmpty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}],\"QueueFull()\":[{\"details\":\"A push operation couldn't be completed due to the queue being full.\"}],\"QueueOutOfBounds()\":[{\"details\":\"An operation (e.g. {at}) couldn't be completed due to an index being out of bounds.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":\"DoubleEndedQueue\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"EnumerableSet":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122097ca15e807b43e0054aa3f37f8cce3d1bf1bc3fb3a58a7c46e72825aa213e8e964736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 0xCA ISZERO 0xE8 SMOD 0xB4 RETURNDATACOPY STOP SLOAD 0xAA EXTCODEHASH CALLDATACOPY 0xF8 0xCC 0xE3 0xD1 0xBF SHL 0xC3 0xFB GASPRICE PC 0xA7 0xC4 PUSH15 0x72825AA213E8E964736F6C63430008 EQ STOP CALLER ","sourceMap":"1330:11640:41:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1330:11640:41;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122097ca15e807b43e0054aa3f37f8cce3d1bf1bc3fb3a58a7c46e72825aa213e8e964736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 0xCA ISZERO 0xE8 SMOD 0xB4 RETURNDATACOPY STOP SLOAD 0xAA EXTCODEHASH CALLDATACOPY 0xF8 0xCC 0xE3 0xD1 0xBF SHL 0xC3 0xFB GASPRICE PC 0xA7 0xC4 PUSH15 0x72825AA213E8E964736F6C63430008 EQ STOP CALLER ","sourceMap":"1330:11640:41:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. Sets have the following properties: - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. ```solidity contract Example {     // Add the library methods     using EnumerableSet for EnumerableSet.AddressSet;     // Declare a set state variable     EnumerableSet.AddressSet private mySet; } ``` As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) and `uint256` (`UintSet`) are supported. [WARNING] ==== Trying to delete such a structure from storage will likely result in data corruption, rendering the structure unusable. See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info. In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an array of EnumerableSet. ====\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":\"EnumerableSet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/types/Time.sol":{"Time":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220df63f53595a171dc6edca2868de2152951c5b369395e93c33aef93fe85d848c464736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF PUSH4 0xF53595A1 PUSH18 0xDC6EDCA2868DE2152951C5B369395E93C33A 0xEF SWAP4 INVALID DUP6 0xD8 BASEFEE 0xC4 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"640:4454:42:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;640:4454:42;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220df63f53595a171dc6edca2868de2152951c5b369395e93c33aef93fe85d848c464736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF PUSH4 0xF53595A1 PUSH18 0xDC6EDCA2868DE2152951C5B369395E93C33A 0xEF SWAP4 INVALID DUP6 0xD8 BASEFEE 0xC4 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"640:4454:42:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"This library provides helpers for manipulating time-related objects. It uses the following types: - `uint48` for timepoints - `uint32` for durations While the library doesn't provide specific types for timepoints and duration, it does provide: - a `Delay` type to represent duration that can be programmed to change value automatically at a given point - additional helper functions\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/types/Time.sol\":\"Time\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]}},\"version\":1}"}},"contracts/GalaxyMember.sol":{"GalaxyMember":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"ERC721EnumerableForbiddenBatchMint","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"ERC721OutOfBoundsIndex","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"B3TRtoUpgradeToLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"B3trGovernorAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newBaseURI","type":"string"},{"indexed":true,"internalType":"string","name":"oldBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"LevelWhenAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"LevelWhenDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"MaxLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PublicMintingPaused","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":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Selected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"StargateNFTAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsGovernorAddressUpdated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NODES_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"attachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"detachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRdonated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRtoUpgrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getB3TRtoUpgradeToLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getIdAttachedToNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"nodeTokenId","type":"uint256"}],"name":"getLevelAfterAttachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getLevelAfterDetachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getNodeIdAttached","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevelOf","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"}],"name":"getNodeToFreeLevel","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":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint48","name":"blockNumber","type":"uint48"}],"name":"getSelectedTokenIdAtBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMember.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getTokenInfoByTokenId","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMember.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"name":"getTokensInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMember.TokenInfo[]","name":"","type":"tuple[]"}],"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":"_stargateNFT","type":"address"}],"name":"initializeV6","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"levelOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"participatedInGovernance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"select","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"selectFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"setB3TRtoUpgradeToLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3trGovernor","type":"address"}],"name":"setB3trGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setIsPublicMintingPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setMaxLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setNodeToFreeUpgradeLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_stargateNFT","type":"address"}],"name":"setStargateNFTAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xAllocationsGovernor","type":"address"}],"name":"setXAllocationsGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stargateNFT","outputs":[{"internalType":"contract IStargateNFT","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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"upgrade","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":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"xAllocationsGovernor","outputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_11952":{"entryPoint":null,"id":11952,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615732620001046000396000818161374c0152818161377501526138bd01526157326000f3fe60806040526004361061034b5760003560e01c80621db0dd1461035057806301ffc9a71461037257806306fdde03146103a7578063081812fc146103c9578063095ea7b3146103f6578063154edef11461041657806318160ddd1461043657806323b872dd14610459578063248a9ca3146104795780632b42df38146104995780632f2ff15d146104b95780632f745c59146104d9578063344f1ba5146104f957806336568abe1461051957806336a49a3c146105395780633af03ea8146105595780633c60f55d146105795780633d6dbee8146105995780633f4ba83a146105bb5780633ff453af146105d057806342842e0e1461060257806342966c681461062257806345977d03146106425780634a6565e1146106625780634bf5d7e9146106825780634f1ef286146106c85780634f6ccce7146106db57806351c438d1146106fb57806352d1902d1461071b57806354fd4d501461073057806355f804b31461075a578063582a486a1461077a5780635b5da5141461078f5780635b70ea9f146107af5780635c975abb146107c45780635d21e15b146107d95780635ecf68e9146107ee57806361d027b3146108035780636352211e14610818578063643ce418146108385780636c0360eb146108655780636d5e30321461087a57806370a082311461089a5780637893d736146108ba578063839a19d9146108cf5780638456cb59146108ef578063851f738e14610904578063865c380b1461093157806388371110146109515780638c5b76fb1461097157806391d148541461099157806391ddadf4146109b1578063952f2133146109dd578063958fc97d146109ff57806395d89b4114610a1f578063a1843bd014610a34578063a217fddf14610a54578063a22cb46514610a69578063a49062d414610a89578063a51d2e0b14610a9e578063aa3491eb14610abe578063ad3cb1cc14610ade578063b1ccbd2c14610b0f578063b88d4fde14610b2f578063c87b56dd14610b4f578063cc421d0714610b6f578063d206885d14610b8f578063d539139314610baf578063d547741f14610be3578063ddd8634d14610c03578063de4983a214610c23578063e617e49f14610c43578063e63ab1e914610c63578063e985e9c514610c85578063f72c0d8b14610ca5575b600080fd5b34801561035c57600080fd5b5061037061036b366004614ab7565b610cc7565b005b34801561037e57600080fd5b5061039261038d366004614af9565b610e26565b60405190151581526020015b60405180910390f35b3480156103b357600080fd5b506103bc610e37565b60405161039e9190614b66565b3480156103d557600080fd5b506103e96103e4366004614b79565b610ed8565b60405161039e9190614b92565b34801561040257600080fd5b50610370610411366004614bbb565b610eed565b34801561042257600080fd5b50610370610431366004614bd9565b610efc565b34801561044257600080fd5b5061044b61101f565b60405190815260200161039e565b34801561046557600080fd5b50610370610474366004614bf6565b611034565b34801561048557600080fd5b5061044b610494366004614b79565b6110bf565b3480156104a557600080fd5b5061044b6104b4366004614b79565b6110df565b3480156104c557600080fd5b506103706104d4366004614c37565b6110ff565b3480156104e557600080fd5b5061044b6104f4366004614bbb565b61111b565b34801561050557600080fd5b50610370610514366004614b79565b61117d565b34801561052557600080fd5b50610370610534366004614c37565b6112fb565b34801561054557600080fd5b50610370610554366004614bd9565b611333565b34801561056557600080fd5b50610370610574366004614bd9565b6113e1565b34801561058557600080fd5b5061044b610594366004614c67565b6114df565b3480156105a557600080fd5b5061044b6000805160206156dd83398151915281565b3480156105c757600080fd5b50610370611522565b3480156105dc57600080fd5b506105f06105eb366004614b79565b611545565b60405160ff909116815260200161039e565b34801561060e57600080fd5b5061037061061d366004614bf6565b6115c7565b34801561062e57600080fd5b5061037061063d366004614b79565b6115e2565b34801561064e57600080fd5b5061037061065d366004614b79565b61161b565b34801561066e57600080fd5b5061037061067d366004614ca0565b611a31565b34801561068e57600080fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526103bc565b6103706106d6366004614d7f565b611d80565b3480156106e757600080fd5b5061044b6106f6366004614b79565b611d9b565b34801561070757600080fd5b5061044b610716366004614b79565b611dfc565b34801561072757600080fd5b5061044b611e0f565b34801561073c57600080fd5b506040805180820190915260018152601b60f91b60208201526103bc565b34801561076657600080fd5b50610370610775366004614dce565b611e2c565b34801561078657600080fd5b506103e9611f05565b34801561079b57600080fd5b506103706107aa366004614e24565b611f23565b3480156107bb57600080fd5b50610370611f8b565b3480156107d057600080fd5b5061039261207a565b3480156107e557600080fd5b506103e961208f565b3480156107fa57600080fd5b506103e96120ab565b34801561080f57600080fd5b506103e96120c6565b34801561082457600080fd5b506103e9610833366004614b79565b6120e4565b34801561084457600080fd5b50610858610853366004614b79565b6120ef565b60405161039e9190614e80565b34801561087157600080fd5b506103bc61219f565b34801561088657600080fd5b5061044b610895366004614b79565b6121ae565b3480156108a657600080fd5b5061044b6108b5366004614bd9565b6121d1565b3480156108c657600080fd5b506103e9612229565b3480156108db57600080fd5b506103706108ea366004614b79565b612247565b3480156108fb57600080fd5b50610370612251565b34801561091057600080fd5b5061092461091f366004614e93565b612271565b60405161039e9190614ec8565b34801561093d57600080fd5b5061044b61094c366004614b79565b612455565b34801561095d57600080fd5b5061037061096c366004614ca0565b612473565b34801561097d57600080fd5b5061039261098c366004614bd9565b61276c565b34801561099d57600080fd5b506103926109ac366004614c37565b612950565b3480156109bd57600080fd5b506109c6612986565b60405165ffffffffffff909116815260200161039e565b3480156109e957600080fd5b5061044b6000805160206156bd83398151915281565b348015610a0b57600080fd5b5061044b610a1a366004614b79565b612990565b348015610a2b57600080fd5b506103bc6129a3565b348015610a4057600080fd5b5061044b610a4f366004614ca0565b6129c0565b348015610a6057600080fd5b5061044b600081565b348015610a7557600080fd5b50610370610a84366004614f2a565b6129cd565b348015610a9557600080fd5b5061044b6129d8565b348015610aaa57600080fd5b5061044b610ab9366004614b79565b6129ed565b348015610aca57600080fd5b50610370610ad9366004614bbb565b612a68565b348015610aea57600080fd5b506103bc604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610b1b57600080fd5b50610370610b2a366004614f58565b612a7d565b348015610b3b57600080fd5b50610370610b4a366004614ffd565b612b95565b348015610b5b57600080fd5b506103bc610b6a366004614b79565b612bac565b348015610b7b57600080fd5b5061044b610b8a366004614b79565b612c3d565b348015610b9b57600080fd5b5061044b610baa366004614bd9565b612c53565b348015610bbb57600080fd5b5061044b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b348015610bef57600080fd5b50610370610bfe366004614c37565b612c94565b348015610c0f57600080fd5b50610370610c1e366004614bd9565b612cb0565b348015610c2f57600080fd5b50610858610c3e366004614bd9565b612dae565b348015610c4f57600080fd5b5061044b610c5e366004615068565b612dcc565b348015610c6f57600080fd5b5061044b60008051602061569d83398151915281565b348015610c9157600080fd5b50610392610ca0366004615085565b612df2565b348015610cb157600080fd5b5061044b60008051602061563d83398151915281565b6000805160206156dd833981519152610cdf81612e31565b6001821015610d335760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610d875760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610d2a565b6000610d91612e3b565b90508060060154831115610e0b5760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610d2a565b60ff9093166000908152600f90930160205250604090912055565b6000610e3182612e5f565b92915050565b60606000610e43612e84565b9050806000018054610e54906150b3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e80906150b3565b8015610ecd5780601f10610ea257610100808354040283529160200191610ecd565b820191906000526020600020905b815481529060010190602001808311610eb057829003601f168201915b505050505091505090565b6000610ee382612ea8565b50610e3182612ee0565b610ef8828233612f09565b5050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460069190600160401b900460ff1680610f45575080546001600160401b03808416911610155b15610f635760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038316610fa85760405162461bcd60e51b8152600401610d2a906150ed565b82610fb1612e3b565b60130180546001600160a01b0319166001600160a01b0392909216919091179055805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a1505050565b60008061102a612f16565b6002015492915050565b6001600160a01b03821661105e576000604051633250574960e11b8152600401610d2a9190614b92565b600061106b838333612f3a565b9050836001600160a01b0316816001600160a01b0316146110b9576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610d2a565b50505050565b6000806110ca6130ae565b60009384526020525050604090206001015490565b6000806110ea612e3b565b60009384526008016020525050604090205490565b611108826110bf565b61111181612e31565b6110b983836130d2565b600080611126612f16565b9050611131846121d1565b831061115457838360405163295f44f760e21b8152600401610d2a929190615143565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b600061118881612e31565b6000611192612e3b565b9050806006015483116112195760405162461bcd60e51b815260206004820152604360248201527f47616c617879204d656d6265723a204d6178206c6576656c206d75737420626560448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610d2a565b60025b8381116112b157600081815260088301602052604090205461129f5760405162461bcd60e51b8152602060048201526042602482015260008051602061561d83398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610d2a565b806112a981615172565b91505061121c565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b03811633146113245760405163334bd91960e11b815260040160405180910390fd5b61132e8282613173565b505050565b6000805160206156bd83398151915261134b81612e31565b6001600160a01b0382166113715760405162461bcd60e51b8152600401610d2a906150ed565b600061137b612e3b565b60138101546040519192506001600160a01b0390811691908516907fb6903cd12b733685254149291b10013cb82ad4c0da7775f32176e9f9b333463990600090a360130180546001600160a01b0319166001600160a01b03939093169290921790915550565b6000805160206156bd8339815191526113f981612e31565b6001600160a01b0382166114755760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610d2a565b600061147f612e3b565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b6000806114ea612e3b565b6001600160a01b0385166000908152601282016020526040902090915061151190846131eb565b6001600160d01b0316949350505050565b60008051602061569d83398151915261153a81612e31565b6115426132a1565b50565b600080611550612e3b565b6013810154604051633404591760e21b8152600481018690529192506001600160a01b03169063d011645c90602401602060405180830381865afa15801561159c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c0919061518b565b9392505050565b61132e83838360405180602001604052806000815250612b95565b336115ec826120e4565b6001600160a01b0316146116125760405162461bcd60e51b8152600401610d2a906151a8565b611542816132f8565b611623613304565b61162b61333a565b33611635826120e4565b6001600160a01b0316146116a75760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610d2a565b60006116b1612e3b565b905060006116be836121ae565b90506116c86129d8565b811061172b5760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610d2a565b6000611736846129ed565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a082319061176d903390600401614b92565b602060405180830381865afa15801561178a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ae91906151fb565b10156118135760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610d2a565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015611863573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188791906151fb565b10156118ee5760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610d2a565b60008481526010840160205260408120805483929061190e908490615214565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af1158015611972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119969190615227565b6119e25760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610d2a565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec42885483611a0e876121ae565b6040805192835260208301919091520160405180910390a2505050611542613362565b611a3961333a565b6000611a43612e3b565b9050811580611a6457506000611a5883613373565b6001600160a01b031614155b611a805760405162461bcd60e51b8152600401610d2a90615244565b33611a8a836120e4565b6001600160a01b03161480611b0f57506013810154604051631975e30960e11b81526001600160a01b03909116906332ebc61290611ace9033908790600401615143565b602060405180830381865afa158015611aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0f9190615227565b80611b8f575060138101546040516331a9108f60e11b81526004810185905233916001600160a01b031690636352211e90602401602060405180830381865afa158015611b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b849190615286565b6001600160a01b0316145b611c065760405162461bcd60e51b815260206004820152604e602482015260008051602061567d83398151915260448201527f6d616e616765642062792063616c6c6572206f7220746f6b656e206e6f74206f60648201526d3bb732b210313c9031b0b63632b960911b608482015260a401610d2a565b81611c11848361339c565b14611c735760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610d2a565b82611c7e83836134c6565b14611ce05760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610d2a565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a36000611d3c8360006135cc565b50905083837f48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b859083604051611d7291815260200190565b60405180910390a350505050565b611d88613741565b611d91826137e6565b610ef882826137fe565b600080611da6612f16565b9050611db061101f565b8310611dd45760008360405163295f44f760e21b8152600401610d2a929190615143565b806002018381548110611de957611de96152a3565b9060005260206000200154915050919050565b6000610e3182611e0a612e3b565b61339c565b6000611e196138b2565b5060008051602061565d83398151915290565b6000611e3781612e31565b6000825111611e945760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a204261736520555249206d757374206265206044820152621cd95d60ea1b6064820152608401610d2a565b6000611e9e612e3b565b905080600401604051611eb191906152b9565b604051809103902083604051611ec7919061532f565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a3600481016110b98482615399565b600080611f10612e3b565b600201546001600160a01b031692915050565b6000611f2e81612e31565b6000611f38612e3b565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611f6d911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611f95612e3b565b600b81015490915060ff1615611ffd5760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610d2a565b6120063361276c565b6120715760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610d2a565b611542336138fb565b60008061208561392c565b5460ff1692915050565b6000612099612e3b565b601301546001600160a01b0316919050565b6000806120b6612e3b565b546001600160a01b031692915050565b6000806120d1612e3b565b600301546001600160a01b031692915050565b6000610e3182612ea8565b6120f7614a80565b600061210283613373565b6001600160a01b0316036121645760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610d2a565b61216c614a80565b82815261217883612bac565b6020820152612186836121ae565b6040820152612194836129ed565b606082015292915050565b60606121a9613950565b905090565b6000806121ba83612990565b905060006121c884836135cc565b50949350505050565b6000806121dc612e84565b90506001600160a01b0383166122085760006040516322718ad960e21b8152600401610d2a9190614b92565b6001600160a01b039092166000908152600390920160205250604090205490565b600080612234612e3b565b600101546001600160a01b031692915050565b611542338261396d565b60008051602061569d83398151915261226981612e31565b611542613a31565b6060816000036122c15760405162461bcd60e51b815260206004820152602760248201526000805160206155fd83398151915260448201526606f7420626520360cc1b6064820152608401610d2a565b60648083111561230a576122d481613a78565b6040516020016122e49190615458565b60408051601f198184030181529082905262461bcd60e51b8252610d2a91600401614b66565b6000612315866121d1565b9050600061232385876154a7565b905081811061236857604080516000808252602082019092529061235d565b61234a614a80565b8152602001906001900390816123425790505b5093505050506115c0565b60006123748683615214565b9050828111156123815750815b600061238d83836154be565b90506000816001600160401b038111156123a9576123a9614cc2565b6040519080825280602002602001820160405280156123e257816020015b6123cf614a80565b8152602001906001900390816123c75790505b50905060005b828110156124475760006123fc8287615214565b9050600061240a8d8361111b565b9050612415816120ef565b848481518110612427576124276152a3565b60200260200101819052505050808061243f90615172565b9150506123e8565b509998505050505050505050565b600061245f612e3b565b600092835260100160205250604090205490565b61247b61333a565b6000612485612e3b565b90508115806124a65750600061249a83613373565b6001600160a01b031614155b6124c25760405162461bcd60e51b8152600401610d2a90615244565b336124cc836120e4565b6001600160a01b0316146125325760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610d2a565b601381015460405163692b26ff60e01b81526004810185905233916001600160a01b03169063692b26ff90602401602060405180830381865afa15801561257d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a19190615286565b6001600160a01b0316146125ff5760405162461bcd60e51b8152602060048201526031602482015260008051602061567d83398151915260448201527036b0b730b3b2b210313c9031b0b63632b960791b6064820152608401610d2a565b612609838261339c565b1561266d5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610d2a565b61267782826134c6565b156126db5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610d2a565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a3600061273683856135cc565b50905083837fdd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace783604051611d7291815260200190565b600080612777612e3b565b80549091506001600160a01b03166127ea5760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610d2a565b60018101546001600160a01b03166128505760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610d2a565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b9061287f908690600401614b92565b602060405180830381865afa15801561289c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c09190615227565b8061293957506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b906128f8908690600401614b92565b602060405180830381865afa158015612915573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129399190615227565b156129475750600192915050565b50600092915050565b60008061295b6130ae565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006121a9613b0a565b6000610e318261299e612e3b565b6134c6565b606060006129af612e84565b9050806001018054610e54906150b3565b6000806121c884846135cc565b610ef8338383613b15565b6000806129e3612e3b565b6006015492915050565b6000806129f983613373565b6001600160a01b031603612a0f57506000919050565b6000612a1a83612990565b9050600080612a2985846135cc565b91509150612a356129d8565b8203612a4657506000949350505050565b80612a556104b4846001615214565b612a5f91906154be565b95945050505050565b6000612a7381612e31565b61132e838361396d565b6000612a8881612e31565b6000612a92612e3b565b905060005b8351811015612b65576000848281518110612ab457612ab46152a3565b602002602001015111612b155760405162461bcd60e51b8152602060048201526035602482015260008051602061561d83398151915260448201527407573742062652067726561746572207468616e203605c1b6064820152608401610d2a565b838181518110612b2757612b276152a3565b6020026020010151826008016000836002612b429190615214565b815260208101919091526040016000205580612b5d81615172565b915050612a97565b507f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf8708360405161101291906154d1565b612ba0848484611034565b6110b984848484613bb1565b60606000612bb983613373565b6001600160a01b031603612bdb57505060408051602081019091526000815290565b6000612be6836121ae565b905060008111612c0557604051806020016040528060008152506115c0565b612c0d61219f565b612c1682613a78565b604051602001612c27929190615515565b6040516020818303038152906040529392505050565b600080612c4b8360006135cc565b509392505050565b600080612c5e612e3b565b6001600160a01b03841660009081526012820160205260409020909150612c8490613cc8565b6001600160d01b03169392505050565b612c9d826110bf565b612ca681612e31565b6110b98383613173565b6000805160206156bd833981519152612cc881612e31565b6001600160a01b038216612d3e5760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d2a565b6000612d48612e3b565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b612db6614a80565b6000612dc183612c53565b90506115c0816120ef565b6000612dd6612e3b565b60ff9092166000908152600f9290920160205250604090205490565b600080612dfd612e84565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b6115428133613cf8565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610e315750610e3182613d23565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b600080612eb483613373565b90506001600160a01b038116610e3157604051637e27328960e01b815260048101849052602401610d2a565b600080612eeb612e84565b6000938452600401602052505060409020546001600160a01b031690565b61132e8383836001613d48565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b6000612f4461333a565b6000612f4e612e3b565b9050612f5a84826134c6565b15612fcd5760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610d2a565b6000612fda868686613e52565b90506001600160a01b03811615801590612ffa5750612ff8816121d1565b155b1561302e5761302b61300a612986565b6001600160a01b038316600090815260128501602052604081209190613e6f565b50505b6001600160a01b0381161580159061304d57508461304b82612c53565b145b80156130615750600061305f826121d1565b115b1561307a5761307a8161307583600061111b565b61396d565b6001600160a01b0386161580159061309a5750613096866121d1565b6001145b15612a5f57612a5f8661307588600061111b565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806130dd6130ae565b90506130e98484612950565b613169576000848152602082815260408083206001600160a01b03871684529091529020805460ff1916600117905561311f3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610e31565b6000915050610e31565b60008061317e6130ae565b905061318a8484612950565b15613169576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610e31565b81546000908181600581111561324a57600061320684613e8a565b61321090856154be565b60008881526020902090915081015465ffffffffffff908116908716101561323a57809150613248565b613245816001615214565b92505b505b600061325887878585613f72565b905080156132935761327d8761326f6001846154be565b600091825260209091200190565b54600160301b90046001600160d01b0316613296565b60005b979650505050505050565b6132a9613fcc565b60006132b361392c565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516132ed9190614b92565b60405180910390a150565b610ef860008233612f3a565b600061330e613ff1565b80549091506001190161333457604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b61334261207a565b156133605760405163d93c066560e01b815260040160405180910390fd5b565b600061336c613ff1565b6001905550565b60008061337e612e84565b6000938452600201602052505060409020546001600160a01b031690565b6000828152600d820160205260408120548015806134245750601383015460405162491fcf60e11b8152600481018690526001600160a01b039091169062923f9e90602401602060405180830381865afa1580156133fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134229190615227565b155b806134b75750601383015460405163692b26ff60e01b8152600481018690526001600160a01b039091169063692b26ff90602401602060405180830381865afa158015613475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134999190615286565b6001600160a01b03166134ab826120e4565b6001600160a01b031614155b156115c0576000915050610e31565b6000828152600e82016020526040808220546013840154915162491fcf60e11b81526004810182905290916001600160a01b03169062923f9e90602401602060405180830381865afa158015613520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135449190615227565b15806134b75750601383015460405163692b26ff60e01b8152600481018390526001600160a01b039091169063692b26ff90602401602060405180830381865afa158015613596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ba9190615286565b6001600160a01b03166134ab856120e4565b60008060006135d9612e3b565b90506001841580159061366e57506135f0866120e4565b601383015460405163692b26ff60e01b8152600481018890526001600160a01b03928316929091169063692b26ff90602401602060405180830381865afa15801561363f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136639190615286565b6001600160a01b0316145b156136b457600061367e86611545565b905060ff8116156136b257600061369482612dcc565b905083600601548111156136ac5783600601546136ae565b805b9250505b505b6000868152601083016020526040812054906136d1836001615214565b90505b83600601548111613734576000818152600885016020526040902054821061371d576000818152600885016020526040902054909250829061371690836154be565b9150613722565b613734565b8061372c81615172565b9150506136d4565b5090969095509350505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806137c857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166137bc60008051602061565d833981519152546001600160a01b031690565b6001600160a01b031614155b156133605760405163703e46dd60e11b815260040160405180910390fd5b60008051602061563d833981519152610ef881612e31565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613858575060408051601f3d908101601f19168201909252613855918101906151fb565b60015b6138775781604051634c9c8ce360e01b8152600401610d2a9190614b92565b60008051602061565d83398151915281146138a857604051632a87526960e21b815260048101829052602401610d2a565b61132e8383614015565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146133605760405163703e46dd60e11b815260040160405180910390fd5b6000613905612e3b565b600581018054919250600091908261391c83615172565b91905055905061132e838261406b565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b6060600061395c612e3b565b9050806004018054610e54906150b3565b816001600160a01b0316613980826120e4565b6001600160a01b0316146139a65760405162461bcd60e51b8152600401610d2a906151a8565b60006139b0612e3b565b90506139e76139bd612986565b6139c684614085565b6001600160a01b038616600090815260128501602052604090209190613e6f565b5050826001600160a01b03167fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc83604051613a2491815260200190565b60405180910390a2505050565b613a3961333a565b6000613a4361392c565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586132e03390565b60606000613a85836140bd565b60010190506000816001600160401b03811115613aa457613aa4614cc2565b6040519080825280601f01601f191660200182016040528015613ace576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613ad857509392505050565b60006121a943614193565b6000613b1f612e84565b90506001600160a01b038316613b4a5782604051630b61174360e31b8152600401610d2a9190614b92565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611d72565b6001600160a01b0383163b156110b957604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613bf390339088908790879060040161556a565b6020604051808303816000875af1925050508015613c2e575060408051601f3d908101601f19168201909252613c2b918101906155a7565b60015b613c8e573d808015613c5c576040519150601f19603f3d011682016040523d82523d6000602084013e613c61565b606091505b508051600003613c865783604051633250574960e11b8152600401610d2a9190614b92565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14613cc15783604051633250574960e11b8152600401610d2a9190614b92565b5050505050565b8054600090801561294757613ce28361326f6001846154be565b54600160301b90046001600160d01b03166115c0565b613d028282612950565b610ef857808260405163e2517d3f60e01b8152600401610d2a929190615143565b60006001600160e01b0319821663780e9d6360e01b1480610e315750610e31826141c6565b6000613d52612e84565b90508180613d6857506001600160a01b03831615155b15613e21576000613d7885612ea8565b90506001600160a01b03841615801590613da45750836001600160a01b0316816001600160a01b031614155b8015613db75750613db58185612df2565b155b15613dd7578360405163a9fbf51f60e01b8152600401610d2a9190614b92565b8215613e1f5784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6000613e5c61333a565b613e67848484614216565b949350505050565b600080613e7d8585856142a4565b915091505b935093915050565b600081600003613e9c57506000919050565b60006001613ea98461441e565b901c6001901b90506001818481613ec257613ec2615554565b048201901c90506001818481613eda57613eda615554565b048201901c90506001818481613ef257613ef2615554565b048201901c90506001818481613f0a57613f0a615554565b048201901c90506001818481613f2257613f22615554565b048201901c90506001818481613f3a57613f3a615554565b048201901c90506001818481613f5257613f52615554565b048201901c90506115c081828581613f6c57613f6c615554565b046144b2565b60005b81831015612c4b576000613f8984846144c8565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613fb857809250613fc6565b613fc3816001615214565b93505b50613f75565b613fd461207a565b61336057604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b61401e826144e3565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156140635761132e828261453f565b610ef86145ac565b610ef88282604051806020016040528060008152506145cb565b60006001600160d01b038211156140b9576040516306dfcc6560e41b815260d0600482015260248101839052604401610d2a565b5090565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106140fc5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310614126576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061414457662386f26fc10000830492506010015b6305f5e100831061415c576305f5e100830492506008015b612710831061417057612710830492506004015b60648310614182576064830492506002015b600a8310610e315760010192915050565b600065ffffffffffff8211156140b9576040516306dfcc6560e41b81526030600482015260248101839052604401610d2a565b60006001600160e01b031982166380ac58cd60e01b14806141f757506001600160e01b03198216635b5e139f60e01b145b80610e3157506301ffc9a760e01b6001600160e01b0319831614610e31565b6000806142248585856145e2565b90506001600160a01b0381166142425761423d846146e9565b614265565b846001600160a01b0316816001600160a01b031614614265576142658185614722565b6001600160a01b0385166142815761427c846147c3565b613e67565b846001600160a01b0316816001600160a01b031614613e6757613e67858561488c565b8254600090819080156143c35760006142c28761326f6001856154be565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561431657604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff80881691160361436257846143398861326f6001866154be565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556143b3565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150613e829050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081613e82565b600080608083901c1561443357608092831c92015b604083901c1561444557604092831c92015b602083901c1561445757602092831c92015b601083901c1561446957601092831c92015b600883901c1561447b57600892831c92015b600483901c1561448d57600492831c92015b600283901c1561449f57600292831c92015b600183901c15610e315760010192915050565b60008183106144c157816115c0565b5090919050565b60006144d760028484186155c4565b6115c090848416615214565b806001600160a01b03163b6000036145105780604051634c9c8ce360e01b8152600401610d2a9190614b92565b60008051602061565d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161455c919061532f565b600060405180830381855af49150503d8060008114614597576040519150601f19603f3d011682016040523d82523d6000602084013e61459c565b606091505b5091509150612a5f8583836148e4565b34156133605760405163b398979f60e01b815260040160405180910390fd5b6145d58383614937565b61132e6000848484613bb1565b6000806145ed612e84565b905060006145fa85613373565b90506001600160a01b038416156146165761461681858761499c565b6001600160a01b0381161561465657614633600086600080613d48565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614687576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b60006146f3612f16565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b600061472c612f16565b90506000614739846121d1565b600084815260018401602052604090205490915080821461478e576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b60006147cd612f16565b60028101549091506000906147e4906001906154be565b6000848152600384016020526040812054600285018054939450909284908110614810576148106152a3565b9060005260206000200154905080846002018381548110614833576148336152a3565b60009182526020808320909101929092558281526003860190915260408082208490558682528120556002840180548061486f5761486f6155e6565b600190038181906000526020600020016000905590555050505050565b6000614896612f16565b9050600060016148a5856121d1565b6148af91906154be565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b6060826148f9576148f4826149f2565b6115c0565b815115801561491057506001600160a01b0384163b155b156149305783604051639996b31560e01b8152600401610d2a9190614b92565b50806115c0565b6001600160a01b038216614961576000604051633250574960e11b8152600401610d2a9190614b92565b600061496f83836000612f3a565b90506001600160a01b0381161561132e5760006040516339e3563760e11b8152600401610d2a9190614b92565b6149a7838383614a1b565b61132e576001600160a01b0383166149d557604051637e27328960e01b815260048101829052602401610d2a565b818160405163177e802f60e01b8152600401610d2a929190615143565b805115614a025780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b03831615801590613e675750826001600160a01b0316846001600160a01b03161480614a555750614a558484612df2565b80613e675750826001600160a01b0316614a6e83612ee0565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461154257600080fd5b60008060408385031215614aca57600080fd5b8235614ad581614aa8565b946020939093013593505050565b6001600160e01b03198116811461154257600080fd5b600060208284031215614b0b57600080fd5b81356115c081614ae3565b60005b83811015614b31578181015183820152602001614b19565b50506000910152565b60008151808452614b52816020860160208601614b16565b601f01601f19169290920160200192915050565b6020815260006115c06020830184614b3a565b600060208284031215614b8b57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461154257600080fd5b60008060408385031215614bce57600080fd5b8235614ad581614ba6565b600060208284031215614beb57600080fd5b81356115c081614ba6565b600080600060608486031215614c0b57600080fd5b8335614c1681614ba6565b92506020840135614c2681614ba6565b929592945050506040919091013590565b60008060408385031215614c4a57600080fd5b823591506020830135614c5c81614ba6565b809150509250929050565b60008060408385031215614c7a57600080fd5b8235614c8581614ba6565b9150602083013565ffffffffffff81168114614c5c57600080fd5b60008060408385031215614cb357600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614d0057614d00614cc2565b604052919050565b60006001600160401b03831115614d2157614d21614cc2565b614d34601f8401601f1916602001614cd8565b9050828152838383011115614d4857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614d7057600080fd5b6115c083833560208501614d08565b60008060408385031215614d9257600080fd5b8235614d9d81614ba6565b915060208301356001600160401b03811115614db857600080fd5b614dc485828601614d5f565b9150509250929050565b600060208284031215614de057600080fd5b81356001600160401b03811115614df657600080fd5b8201601f81018413614e0757600080fd5b613e6784823560208401614d08565b801515811461154257600080fd5b600060208284031215614e3657600080fd5b81356115c081614e16565b805182526000602082015160806020850152614e606080850182614b3a565b905060408301516040850152606083015160608501528091505092915050565b6020815260006115c06020830184614e41565b600080600060608486031215614ea857600080fd5b8335614eb381614ba6565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614f1d57603f19888603018452614f0b858351614e41565b94509285019290850190600101614eef565b5092979650505050505050565b60008060408385031215614f3d57600080fd5b8235614f4881614ba6565b91506020830135614c5c81614e16565b60006020808385031215614f6b57600080fd5b82356001600160401b0380821115614f8257600080fd5b818501915085601f830112614f9657600080fd5b813581811115614fa857614fa8614cc2565b8060051b9150614fb9848301614cd8565b8181529183018401918481019088841115614fd357600080fd5b938501935b83851015614ff157843582529385019390850190614fd8565b98975050505050505050565b6000806000806080858703121561501357600080fd5b843561501e81614ba6565b9350602085013561502e81614ba6565b92506040850135915060608501356001600160401b0381111561505057600080fd5b61505c87828801614d5f565b91505092959194509250565b60006020828403121561507a57600080fd5b81356115c081614aa8565b6000806040838503121561509857600080fd5b82356150a381614ba6565b91506020830135614c5c81614ba6565b600181811c908216806150c757607f821691505b6020821081036150e757634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526036908201527f47616c617879204d656d6265723a205f73746172676174654e46542063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b6000600182016151845761518461515c565b5060010190565b60006020828403121561519d57600080fd5b81516115c081614aa8565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b60006020828403121561520d57600080fd5b5051919050565b80820180821115610e3157610e3161515c565b60006020828403121561523957600080fd5b81516115c081614e16565b60208082526022908201527f47616c6178794d656d6265723a20746f6b656e20646f6573206e6f74206578696040820152611cdd60f21b606082015260800190565b60006020828403121561529857600080fd5b81516115c081614ba6565b634e487b7160e01b600052603260045260246000fd5b60008083546152c7816150b3565b600182811680156152df57600181146152f457615323565b60ff1984168752821515830287019450615323565b8760005260208060002060005b8581101561531a5781548a820152908401908201615301565b50505082870194505b50929695505050505050565b60008251615341818460208701614b16565b9190910192915050565b601f82111561132e57600081815260208120601f850160051c810160208610156153725750805b601f850160051c820191505b818110156153915782815560010161537e565b505050505050565b81516001600160401b038111156153b2576153b2614cc2565b6153c6816153c084546150b3565b8461534b565b602080601f8311600181146153fb57600084156153e35750858301515b600019600386901b1c1916600185901b178555615391565b600085815260208120601f198616915b8281101561542a5788860151825594840194600190910190840161540b565b50858210156154485787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000805160206155fd833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b60208201526000825161549a816033850160208701614b16565b9190910160330192915050565b8082028115828204841417610e3157610e3161515c565b81810381811115610e3157610e3161515c565b6020808252825182820181905260009190848201906040850190845b81811015615509578351835292840192918401916001016154ed565b50909695505050505050565b60008351615527818460208801614b16565b83519083019061553b818360208801614b16565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061559d90830184614b3a565b9695505050505050565b6000602082840312156155b957600080fd5b81516115c081614ae3565b6000826155e157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204233545220746f2075706772616465206d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc47616c6178794d656d6265723a206e6f6465206e6f74206f776e6564206f722065d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5a264697066735822122069f2bd2c72d82dc89487dd1ec575152b8212d265fb9461d8eb06efa2e66c229164736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x5732 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x374C ADD MSTORE DUP2 DUP2 PUSH2 0x3775 ADD MSTORE PUSH2 0x38BD ADD MSTORE PUSH2 0x5732 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x350 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x372 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x3C9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x154EDEF1 EQ PUSH2 0x416 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x436 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x459 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x479 JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x499 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x4D9 JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4F9 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x519 JUMPI DUP1 PUSH4 0x36A49A3C EQ PUSH2 0x539 JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0x3C60F55D EQ PUSH2 0x579 JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x599 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x5BB JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x5D0 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x622 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x642 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x662 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x682 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x6C8 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x6DB JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x6FB JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x71B JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x730 JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x75A JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x77A JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x78F JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x7AF JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x7C4 JUMPI DUP1 PUSH4 0x5D21E15B EQ PUSH2 0x7D9 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x7EE JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x803 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x818 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x838 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x865 JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x87A JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x89A JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x8BA JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x8CF JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x8EF JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x904 JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x931 JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x951 JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x971 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x991 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x9B1 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x9DD JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x9FF JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA1F JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0xA34 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xA54 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0xA69 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0xA89 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0xA9E JUMPI DUP1 PUSH4 0xAA3491EB EQ PUSH2 0xABE JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xADE JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xB0F JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xB2F JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xB4F JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xB6F JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xB8F JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xBAF JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xBE3 JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xC03 JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xC23 JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xC43 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xC63 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xC85 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xCA5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x36B CALLDATASIZE PUSH1 0x4 PUSH2 0x4AB7 JUMP JUMPDEST PUSH2 0xCC7 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x38D CALLDATASIZE PUSH1 0x4 PUSH2 0x4AF9 JUMP JUMPDEST PUSH2 0xE26 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xE37 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4B66 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x3E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x402 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x411 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BBB JUMP JUMPDEST PUSH2 0xEED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x422 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x431 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0xEFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x442 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x101F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x465 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x474 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BF6 JUMP JUMPDEST PUSH2 0x1034 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x494 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x10BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x4B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x10DF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4C37 JUMP JUMPDEST PUSH2 0x10FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x4F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BBB JUMP JUMPDEST PUSH2 0x111B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x505 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x514 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x117D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x534 CALLDATASIZE PUSH1 0x4 PUSH2 0x4C37 JUMP JUMPDEST PUSH2 0x12FB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x545 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x554 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x1333 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x574 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x13E1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x594 CALLDATASIZE PUSH1 0x4 PUSH2 0x4C67 JUMP JUMPDEST PUSH2 0x14DF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56DD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1522 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5F0 PUSH2 0x5EB CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x1545 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x61D CALLDATASIZE PUSH1 0x4 PUSH2 0x4BF6 JUMP JUMPDEST PUSH2 0x15C7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x63D CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x15E2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x65D CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x161B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x67D CALLDATASIZE PUSH1 0x4 PUSH2 0x4CA0 JUMP JUMPDEST PUSH2 0x1A31 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST PUSH2 0x370 PUSH2 0x6D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D7F JUMP JUMPDEST PUSH2 0x1D80 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x6F6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x1D9B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x707 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x716 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x1DFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x727 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x1E0F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x1B PUSH1 0xF9 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x766 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x775 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DCE JUMP JUMPDEST PUSH2 0x1E2C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x786 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1F05 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7AA CALLDATASIZE PUSH1 0x4 PUSH2 0x4E24 JUMP JUMPDEST PUSH2 0x1F23 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1F8B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x207A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x208F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x20AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x80F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x20C6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x824 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x833 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x20E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x844 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x858 PUSH2 0x853 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x20EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4E80 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x219F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x886 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x895 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x21AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x8B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x21D1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x2229 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x8EA CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2247 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x2251 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x910 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x924 PUSH2 0x91F CALLDATASIZE PUSH1 0x4 PUSH2 0x4E93 JUMP JUMPDEST PUSH2 0x2271 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4EC8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x93D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x94C CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2455 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x95D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x96C CALLDATASIZE PUSH1 0x4 PUSH2 0x4CA0 JUMP JUMPDEST PUSH2 0x2473 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x98C CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x276C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x99D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x9AC CALLDATASIZE PUSH1 0x4 PUSH2 0x4C37 JUMP JUMPDEST PUSH2 0x2950 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C6 PUSH2 0x2986 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56BD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xA1A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2990 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x29A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xA4F CALLDATASIZE PUSH1 0x4 PUSH2 0x4CA0 JUMP JUMPDEST PUSH2 0x29C0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xA84 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F2A JUMP JUMPDEST PUSH2 0x29CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x29D8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xAB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x29ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xACA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xAD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BBB JUMP JUMPDEST PUSH2 0x2A68 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB2A CALLDATASIZE PUSH1 0x4 PUSH2 0x4F58 JUMP JUMPDEST PUSH2 0x2A7D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB4A CALLDATASIZE PUSH1 0x4 PUSH2 0x4FFD JUMP JUMPDEST PUSH2 0x2B95 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xB6A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2BAC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xB8A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2C3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xBAA CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x2C53 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xBFE CALLDATASIZE PUSH1 0x4 PUSH2 0x4C37 JUMP JUMPDEST PUSH2 0x2C94 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xC1E CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x2CB0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x858 PUSH2 0xC3E CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x2DAE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xC5E CALLDATASIZE PUSH1 0x4 PUSH2 0x5068 JUMP JUMPDEST PUSH2 0x2DCC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x569D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0xCA0 CALLDATASIZE PUSH1 0x4 PUSH2 0x5085 JUMP JUMPDEST PUSH2 0x2DF2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x563D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56DD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCDF DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xD33 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xD87 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD91 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xE0B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE31 DUP3 PUSH2 0x2E5F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE43 PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xE54 SWAP1 PUSH2 0x50B3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE80 SWAP1 PUSH2 0x50B3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xECD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xEA2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xECD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xEB0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEE3 DUP3 PUSH2 0x2EA8 JUMP JUMPDEST POP PUSH2 0xE31 DUP3 PUSH2 0x2EE0 JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 CALLER PUSH2 0x2F09 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x6 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xF45 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0xF63 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xFA8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x50ED JUMP JUMPDEST DUP3 PUSH2 0xFB1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x13 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x102A PUSH2 0x2F16 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x105E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x106B DUP4 DUP4 CALLER PUSH2 0x2F3A JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x10B9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD2A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x10CA PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x10EA PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1108 DUP3 PUSH2 0x10BF JUMP JUMPDEST PUSH2 0x1111 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x10B9 DUP4 DUP4 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1126 PUSH2 0x2F16 JUMP JUMPDEST SWAP1 POP PUSH2 0x1131 DUP5 PUSH2 0x21D1 JUMP JUMPDEST DUP4 LT PUSH2 0x1154 JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP3 SWAP2 SWAP1 PUSH2 0x5143 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1188 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1192 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0x1219 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204D6178206C6576656C206D757374206265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x12B1 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x129F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x561D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD2A JUMP JUMPDEST DUP1 PUSH2 0x12A9 DUP2 PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x121C JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x1324 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x132E DUP3 DUP3 PUSH2 0x3173 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56BD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x134B DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1371 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x50ED JUMP JUMPDEST PUSH1 0x0 PUSH2 0x137B PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xB6903CD12B733685254149291B10013CB82AD4C0DA7775F32176E9F9B3334639 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x13 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56BD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x13F9 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1475 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147F PUSH2 0x2E3B JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x14EA PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x1511 SWAP1 DUP5 PUSH2 0x31EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x569D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x153A DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x32A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1550 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x159C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15C0 SWAP2 SWAP1 PUSH2 0x518B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x132E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2B95 JUMP JUMPDEST CALLER PUSH2 0x15EC DUP3 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1612 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x51A8 JUMP JUMPDEST PUSH2 0x1542 DUP2 PUSH2 0x32F8 JUMP JUMPDEST PUSH2 0x1623 PUSH2 0x3304 JUMP JUMPDEST PUSH2 0x162B PUSH2 0x333A JUMP JUMPDEST CALLER PUSH2 0x1635 DUP3 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x16A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16B1 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x16BE DUP4 PUSH2 0x21AE JUMP JUMPDEST SWAP1 POP PUSH2 0x16C8 PUSH2 0x29D8 JUMP JUMPDEST DUP2 LT PUSH2 0x172B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1736 DUP5 PUSH2 0x29ED JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x176D SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x178A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17AE SWAP2 SWAP1 PUSH2 0x51FB JUMP JUMPDEST LT ISZERO PUSH2 0x1813 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1863 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1887 SWAP2 SWAP1 PUSH2 0x51FB JUMP JUMPDEST LT ISZERO PUSH2 0x18EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x190E SWAP1 DUP5 SWAP1 PUSH2 0x5214 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1972 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1996 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST PUSH2 0x19E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD2A JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x1A0E DUP8 PUSH2 0x21AE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x1542 PUSH2 0x3362 JUMP JUMPDEST PUSH2 0x1A39 PUSH2 0x333A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A43 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 PUSH2 0x1A64 JUMPI POP PUSH1 0x0 PUSH2 0x1A58 DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST PUSH2 0x1A80 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x5244 JUMP JUMPDEST CALLER PUSH2 0x1A8A DUP4 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x1B0F JUMPI POP PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1975E309 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x32EBC612 SWAP1 PUSH2 0x1ACE SWAP1 CALLER SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5143 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1AEB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B0F SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST DUP1 PUSH2 0x1B8F JUMPI POP PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x31A9108F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6352211E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B60 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x1C06 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4E PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x567D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6D616E616765642062792063616C6C6572206F7220746F6B656E206E6F74206F PUSH1 0x64 DUP3 ADD MSTORE PUSH14 0x3BB732B210313C9031B0B63632B9 PUSH1 0x91 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD2A JUMP JUMPDEST DUP2 PUSH2 0x1C11 DUP5 DUP4 PUSH2 0x339C JUMP JUMPDEST EQ PUSH2 0x1C73 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST DUP3 PUSH2 0x1C7E DUP4 DUP4 PUSH2 0x34C6 JUMP JUMPDEST EQ PUSH2 0x1CE0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x1D3C DUP4 PUSH1 0x0 PUSH2 0x35CC JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0x48129B4A18F9CA1400152E3F45A48CF58787E9948A48294199C83A66517B8590 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1D72 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0x1D88 PUSH2 0x3741 JUMP JUMPDEST PUSH2 0x1D91 DUP3 PUSH2 0x37E6 JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 PUSH2 0x37FE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1DA6 PUSH2 0x2F16 JUMP JUMPDEST SWAP1 POP PUSH2 0x1DB0 PUSH2 0x101F JUMP JUMPDEST DUP4 LT PUSH2 0x1DD4 JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP3 SWAP2 SWAP1 PUSH2 0x5143 JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1DE9 JUMPI PUSH2 0x1DE9 PUSH2 0x52A3 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE31 DUP3 PUSH2 0x1E0A PUSH2 0x2E3B JUMP JUMPDEST PUSH2 0x339C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E19 PUSH2 0x38B2 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x565D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E37 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1E94 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E9E PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1EB1 SWAP2 SWAP1 PUSH2 0x52B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1EC7 SWAP2 SWAP1 PUSH2 0x532F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0x10B9 DUP5 DUP3 PUSH2 0x5399 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1F10 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F2E DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F38 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1F6D SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F95 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1FFD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x2006 CALLER PUSH2 0x276C JUMP JUMPDEST PUSH2 0x2071 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x1542 CALLER PUSH2 0x38FB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2085 PUSH2 0x392C JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2099 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x13 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x20B6 PUSH2 0x2E3B JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x20D1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE31 DUP3 PUSH2 0x2EA8 JUMP JUMPDEST PUSH2 0x20F7 PUSH2 0x4A80 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2102 DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2164 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x216C PUSH2 0x4A80 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x2178 DUP4 PUSH2 0x2BAC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2186 DUP4 PUSH2 0x21AE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2194 DUP4 PUSH2 0x29ED JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x21A9 PUSH2 0x3950 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21BA DUP4 PUSH2 0x2990 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x21C8 DUP5 DUP4 PUSH2 0x35CC JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21DC PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x2208 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2234 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1542 CALLER DUP3 PUSH2 0x396D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x569D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2269 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x3A31 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x22C1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x55FD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x230A JUMPI PUSH2 0x22D4 DUP2 PUSH2 0x3A78 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x22E4 SWAP2 SWAP1 PUSH2 0x5458 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xD2A SWAP2 PUSH1 0x4 ADD PUSH2 0x4B66 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2315 DUP7 PUSH2 0x21D1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2323 DUP6 DUP8 PUSH2 0x54A7 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x2368 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x235D JUMP JUMPDEST PUSH2 0x234A PUSH2 0x4A80 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2342 JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2374 DUP7 DUP4 PUSH2 0x5214 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x2381 JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x238D DUP4 DUP4 PUSH2 0x54BE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x23A9 JUMPI PUSH2 0x23A9 PUSH2 0x4CC2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x23E2 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x23CF PUSH2 0x4A80 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x23C7 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2447 JUMPI PUSH1 0x0 PUSH2 0x23FC DUP3 DUP8 PUSH2 0x5214 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x240A DUP14 DUP4 PUSH2 0x111B JUMP JUMPDEST SWAP1 POP PUSH2 0x2415 DUP2 PUSH2 0x20EF JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2427 JUMPI PUSH2 0x2427 PUSH2 0x52A3 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x243F SWAP1 PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x23E8 JUMP JUMPDEST POP SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x245F PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x247B PUSH2 0x333A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2485 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 PUSH2 0x24A6 JUMPI POP PUSH1 0x0 PUSH2 0x249A DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST PUSH2 0x24C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x5244 JUMP JUMPDEST CALLER PUSH2 0x24CC DUP4 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2532 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x257D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x25A1 SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x25FF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x567D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x36B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x79 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x2609 DUP4 DUP3 PUSH2 0x339C JUMP JUMPDEST ISZERO PUSH2 0x266D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x2677 DUP3 DUP3 PUSH2 0x34C6 JUMP JUMPDEST ISZERO PUSH2 0x26DB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x2736 DUP4 DUP6 PUSH2 0x35CC JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0xDD061FFADD9DFF78128B6AF54ABBF2B83CBC680B9F75A2C08294800146BAACE7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1D72 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2777 PUSH2 0x2E3B JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x27EA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2850 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x287F SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x289C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28C0 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST DUP1 PUSH2 0x2939 JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x28F8 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2915 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2939 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST ISZERO PUSH2 0x2947 JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x295B PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21A9 PUSH2 0x3B0A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE31 DUP3 PUSH2 0x299E PUSH2 0x2E3B JUMP JUMPDEST PUSH2 0x34C6 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x29AF PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE54 SWAP1 PUSH2 0x50B3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21C8 DUP5 DUP5 PUSH2 0x35CC JUMP JUMPDEST PUSH2 0xEF8 CALLER DUP4 DUP4 PUSH2 0x3B15 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29E3 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29F9 DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2A0F JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A1A DUP4 PUSH2 0x2990 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2A29 DUP6 DUP5 PUSH2 0x35CC JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2A35 PUSH2 0x29D8 JUMP JUMPDEST DUP3 SUB PUSH2 0x2A46 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2A55 PUSH2 0x4B4 DUP5 PUSH1 0x1 PUSH2 0x5214 JUMP JUMPDEST PUSH2 0x2A5F SWAP2 SWAP1 PUSH2 0x54BE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A73 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x132E DUP4 DUP4 PUSH2 0x396D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A88 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A92 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2B65 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2AB4 JUMPI PUSH2 0x2AB4 PUSH2 0x52A3 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2B15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x561D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2B27 JUMPI PUSH2 0x2B27 PUSH2 0x52A3 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2B42 SWAP2 SWAP1 PUSH2 0x5214 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2B5D DUP2 PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2A97 JUMP JUMPDEST POP PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1012 SWAP2 SWAP1 PUSH2 0x54D1 JUMP JUMPDEST PUSH2 0x2BA0 DUP5 DUP5 DUP5 PUSH2 0x1034 JUMP JUMPDEST PUSH2 0x10B9 DUP5 DUP5 DUP5 DUP5 PUSH2 0x3BB1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2BB9 DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2BDB JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BE6 DUP4 PUSH2 0x21AE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x2C05 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x15C0 JUMP JUMPDEST PUSH2 0x2C0D PUSH2 0x219F JUMP JUMPDEST PUSH2 0x2C16 DUP3 PUSH2 0x3A78 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2C27 SWAP3 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C4B DUP4 PUSH1 0x0 PUSH2 0x35CC JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C5E PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x2C84 SWAP1 PUSH2 0x3CC8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x2C9D DUP3 PUSH2 0x10BF JUMP JUMPDEST PUSH2 0x2CA6 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x10B9 DUP4 DUP4 PUSH2 0x3173 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56BD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2CC8 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x2D3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D48 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x2DB6 PUSH2 0x4A80 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DC1 DUP4 PUSH2 0x2C53 JUMP JUMPDEST SWAP1 POP PUSH2 0x15C0 DUP2 PUSH2 0x20EF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DD6 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2DFD PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1542 DUP2 CALLER PUSH2 0x3CF8 JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE31 JUMPI POP PUSH2 0xE31 DUP3 PUSH2 0x3D23 JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2EB4 DUP4 PUSH2 0x3373 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2EEB PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x132E DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x3D48 JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F44 PUSH2 0x333A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F4E PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH2 0x2F5A DUP5 DUP3 PUSH2 0x34C6 JUMP JUMPDEST ISZERO PUSH2 0x2FCD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FDA DUP7 DUP7 DUP7 PUSH2 0x3E52 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x2FFA JUMPI POP PUSH2 0x2FF8 DUP2 PUSH2 0x21D1 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x302E JUMPI PUSH2 0x302B PUSH2 0x300A PUSH2 0x2986 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP1 PUSH2 0x3E6F JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x304D JUMPI POP DUP5 PUSH2 0x304B DUP3 PUSH2 0x2C53 JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x3061 JUMPI POP PUSH1 0x0 PUSH2 0x305F DUP3 PUSH2 0x21D1 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x307A JUMPI PUSH2 0x307A DUP2 PUSH2 0x3075 DUP4 PUSH1 0x0 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x396D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x309A JUMPI POP PUSH2 0x3096 DUP7 PUSH2 0x21D1 JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x2A5F JUMPI PUSH2 0x2A5F DUP7 PUSH2 0x3075 DUP9 PUSH1 0x0 PUSH2 0x111B JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x30DD PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x30E9 DUP5 DUP5 PUSH2 0x2950 JUMP JUMPDEST PUSH2 0x3169 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x311F CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x317E PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x318A DUP5 DUP5 PUSH2 0x2950 JUMP JUMPDEST ISZERO PUSH2 0x3169 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE31 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x324A JUMPI PUSH1 0x0 PUSH2 0x3206 DUP5 PUSH2 0x3E8A JUMP JUMPDEST PUSH2 0x3210 SWAP1 DUP6 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x323A JUMPI DUP1 SWAP2 POP PUSH2 0x3248 JUMP JUMPDEST PUSH2 0x3245 DUP2 PUSH1 0x1 PUSH2 0x5214 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x3258 DUP8 DUP8 DUP6 DUP6 PUSH2 0x3F72 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3293 JUMPI PUSH2 0x327D DUP8 PUSH2 0x326F PUSH1 0x1 DUP5 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x3296 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x32A9 PUSH2 0x3FCC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32B3 PUSH2 0x392C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x32ED SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xEF8 PUSH1 0x0 DUP3 CALLER PUSH2 0x2F3A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x330E PUSH2 0x3FF1 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3334 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x3342 PUSH2 0x207A JUMP JUMPDEST ISZERO PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x336C PUSH2 0x3FF1 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x337E PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO DUP1 PUSH2 0x3424 JUMPI POP PUSH1 0x13 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x33FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3422 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST ISZERO JUMPDEST DUP1 PUSH2 0x34B7 JUMPI POP PUSH1 0x13 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3499 SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x34AB DUP3 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x15C0 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xE DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SLOAD PUSH1 0x13 DUP5 ADD SLOAD SWAP2 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3520 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3544 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x34B7 JUMPI POP PUSH1 0x13 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3596 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35BA SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x34AB DUP6 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x35D9 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x366E JUMPI POP PUSH2 0x35F0 DUP7 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x13 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x363F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3663 SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x36B4 JUMPI PUSH1 0x0 PUSH2 0x367E DUP7 PUSH2 0x1545 JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x36B2 JUMPI PUSH1 0x0 PUSH2 0x3694 DUP3 PUSH2 0x2DCC JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x36AC JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x36AE JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x36D1 DUP4 PUSH1 0x1 PUSH2 0x5214 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3734 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x371D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3716 SWAP1 DUP4 PUSH2 0x54BE JUMP JUMPDEST SWAP2 POP PUSH2 0x3722 JUMP JUMPDEST PUSH2 0x3734 JUMP JUMPDEST DUP1 PUSH2 0x372C DUP2 PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x36D4 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x37C8 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x37BC PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x565D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x563D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEF8 DUP2 PUSH2 0x2E31 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3858 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3855 SWAP2 DUP2 ADD SWAP1 PUSH2 0x51FB JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3877 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x565D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x38A8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x132E DUP4 DUP4 PUSH2 0x4015 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3905 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x391C DUP4 PUSH2 0x5172 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x132E DUP4 DUP3 PUSH2 0x406B JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x395C PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xE54 SWAP1 PUSH2 0x50B3 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3980 DUP3 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x39A6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x51A8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39B0 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH2 0x39E7 PUSH2 0x39BD PUSH2 0x2986 JUMP JUMPDEST PUSH2 0x39C6 DUP5 PUSH2 0x4085 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x3E6F JUMP JUMPDEST POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC DUP4 PUSH1 0x40 MLOAD PUSH2 0x3A24 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3A39 PUSH2 0x333A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A43 PUSH2 0x392C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x32E0 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3A85 DUP4 PUSH2 0x40BD JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3AA4 JUMPI PUSH2 0x3AA4 PUSH2 0x4CC2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3ACE JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3AD8 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21A9 NUMBER PUSH2 0x4193 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B1F PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3B4A JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x10B9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x3BF3 SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x556A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3C2E JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3C2B SWAP2 DUP2 ADD SWAP1 PUSH2 0x55A7 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3C8E JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x3C5C JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3C61 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x3C86 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x3CC1 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2947 JUMPI PUSH2 0x3CE2 DUP4 PUSH2 0x326F PUSH1 0x1 DUP5 PUSH2 0x54BE JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x15C0 JUMP JUMPDEST PUSH2 0x3D02 DUP3 DUP3 PUSH2 0x2950 JUMP JUMPDEST PUSH2 0xEF8 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP3 SWAP2 SWAP1 PUSH2 0x5143 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE31 JUMPI POP PUSH2 0xE31 DUP3 PUSH2 0x41C6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D52 PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x3D68 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x3E21 JUMPI PUSH1 0x0 PUSH2 0x3D78 DUP6 PUSH2 0x2EA8 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3DA4 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x3DB7 JUMPI POP PUSH2 0x3DB5 DUP2 DUP6 PUSH2 0x2DF2 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3DD7 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x3E1F JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E5C PUSH2 0x333A JUMP JUMPDEST PUSH2 0x3E67 DUP5 DUP5 DUP5 PUSH2 0x4216 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E7D DUP6 DUP6 DUP6 PUSH2 0x42A4 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x3E9C JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x3EA9 DUP5 PUSH2 0x441E JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3EC2 JUMPI PUSH2 0x3EC2 PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3EDA JUMPI PUSH2 0x3EDA PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3EF2 JUMPI PUSH2 0x3EF2 PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3F0A JUMPI PUSH2 0x3F0A PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3F22 JUMPI PUSH2 0x3F22 PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3F3A JUMPI PUSH2 0x3F3A PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3F52 JUMPI PUSH2 0x3F52 PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x15C0 DUP2 DUP3 DUP6 DUP2 PUSH2 0x3F6C JUMPI PUSH2 0x3F6C PUSH2 0x5554 JUMP JUMPDEST DIV PUSH2 0x44B2 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x2C4B JUMPI PUSH1 0x0 PUSH2 0x3F89 DUP5 DUP5 PUSH2 0x44C8 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x3FB8 JUMPI DUP1 SWAP3 POP PUSH2 0x3FC6 JUMP JUMPDEST PUSH2 0x3FC3 DUP2 PUSH1 0x1 PUSH2 0x5214 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x3F75 JUMP JUMPDEST PUSH2 0x3FD4 PUSH2 0x207A JUMP JUMPDEST PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x401E DUP3 PUSH2 0x44E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4063 JUMPI PUSH2 0x132E DUP3 DUP3 PUSH2 0x453F JUMP JUMPDEST PUSH2 0xEF8 PUSH2 0x45AC JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x45CB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x40B9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD2A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x40FC JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x4126 JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x4144 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x415C JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x4170 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4182 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xE31 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x40B9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x41F7 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xE31 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4224 DUP6 DUP6 DUP6 PUSH2 0x45E2 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4242 JUMPI PUSH2 0x423D DUP5 PUSH2 0x46E9 JUMP JUMPDEST PUSH2 0x4265 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4265 JUMPI PUSH2 0x4265 DUP2 DUP6 PUSH2 0x4722 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4281 JUMPI PUSH2 0x427C DUP5 PUSH2 0x47C3 JUMP JUMPDEST PUSH2 0x3E67 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3E67 JUMPI PUSH2 0x3E67 DUP6 DUP6 PUSH2 0x488C JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x43C3 JUMPI PUSH1 0x0 PUSH2 0x42C2 DUP8 PUSH2 0x326F PUSH1 0x1 DUP6 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x4316 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x4362 JUMPI DUP5 PUSH2 0x4339 DUP9 PUSH2 0x326F PUSH1 0x1 DUP7 PUSH2 0x54BE JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x43B3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x3E82 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x3E82 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x4433 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x4445 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x4457 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x4469 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x447B JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x448D JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x449F JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xE31 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x44C1 JUMPI DUP2 PUSH2 0x15C0 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44D7 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x55C4 JUMP JUMPDEST PUSH2 0x15C0 SWAP1 DUP5 DUP5 AND PUSH2 0x5214 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4510 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x565D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x455C SWAP2 SWAP1 PUSH2 0x532F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4597 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x459C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2A5F DUP6 DUP4 DUP4 PUSH2 0x48E4 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x45D5 DUP4 DUP4 PUSH2 0x4937 JUMP JUMPDEST PUSH2 0x132E PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3BB1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x45ED PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x45FA DUP6 PUSH2 0x3373 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x4616 JUMPI PUSH2 0x4616 DUP2 DUP6 DUP8 PUSH2 0x499C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x4656 JUMPI PUSH2 0x4633 PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x3D48 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4687 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46F3 PUSH2 0x2F16 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x472C PUSH2 0x2F16 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4739 DUP5 PUSH2 0x21D1 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x478E JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47CD PUSH2 0x2F16 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x47E4 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x4810 JUMPI PUSH2 0x4810 PUSH2 0x52A3 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x4833 JUMPI PUSH2 0x4833 PUSH2 0x52A3 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x486F JUMPI PUSH2 0x486F PUSH2 0x55E6 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4896 PUSH2 0x2F16 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x48A5 DUP6 PUSH2 0x21D1 JUMP JUMPDEST PUSH2 0x48AF SWAP2 SWAP1 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x48F9 JUMPI PUSH2 0x48F4 DUP3 PUSH2 0x49F2 JUMP JUMPDEST PUSH2 0x15C0 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4910 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4930 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST POP DUP1 PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4961 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x496F DUP4 DUP4 PUSH1 0x0 PUSH2 0x2F3A JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x132E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH2 0x49A7 DUP4 DUP4 DUP4 PUSH2 0x4A1B JUMP JUMPDEST PUSH2 0x132E JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x49D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD2A JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP3 SWAP2 SWAP1 PUSH2 0x5143 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4A02 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3E67 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x4A55 JUMPI POP PUSH2 0x4A55 DUP5 DUP5 PUSH2 0x2DF2 JUMP JUMPDEST DUP1 PUSH2 0x3E67 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4A6E DUP4 PUSH2 0x2EE0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4ACA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4AD5 DUP2 PUSH2 0x4AA8 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x15C0 DUP2 PUSH2 0x4AE3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4B31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4B19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x15C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4B3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4BCE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4AD5 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x15C0 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4C0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4C16 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4C26 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4C4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4C5C DUP2 PUSH2 0x4BA6 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4C7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4C85 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x4C5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4CB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4D00 JUMPI PUSH2 0x4D00 PUSH2 0x4CC2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT ISZERO PUSH2 0x4D21 JUMPI PUSH2 0x4D21 PUSH2 0x4CC2 JUMP JUMPDEST PUSH2 0x4D34 PUSH1 0x1F DUP5 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x4CD8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x4D48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15C0 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x4D08 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4D9D DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4DC4 DUP6 DUP3 DUP7 ADD PUSH2 0x4D5F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4DE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x4E07 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E67 DUP5 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x4D08 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x15C0 DUP2 PUSH2 0x4E16 JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x4E60 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x4B3A JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x15C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4E41 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4EA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4EB3 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4F1D JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x4F0B DUP6 DUP4 MLOAD PUSH2 0x4E41 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4EEF JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F48 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4C5C DUP2 PUSH2 0x4E16 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4F82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4F96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4FA8 JUMPI PUSH2 0x4FA8 PUSH2 0x4CC2 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP2 POP PUSH2 0x4FB9 DUP5 DUP4 ADD PUSH2 0x4CD8 JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP2 DUP4 ADD DUP5 ADD SWAP2 DUP5 DUP2 ADD SWAP1 DUP9 DUP5 GT ISZERO PUSH2 0x4FD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0x4FF1 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x4FD8 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5013 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x501E DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x502E DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5050 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x505C DUP8 DUP3 DUP9 ADD PUSH2 0x4D5F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x507A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x15C0 DUP2 PUSH2 0x4AA8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5098 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x50A3 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4C5C DUP2 PUSH2 0x4BA6 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x50C7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x50E7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F73746172676174654E46542063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x5184 JUMPI PUSH2 0x5184 PUSH2 0x515C JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x519D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x15C0 DUP2 PUSH2 0x4AA8 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x520D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xE31 JUMPI PUSH2 0xE31 PUSH2 0x515C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5239 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x15C0 DUP2 PUSH2 0x4E16 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20646F6573206E6F7420657869 PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x1CDD PUSH1 0xF2 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x15C0 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x52C7 DUP2 PUSH2 0x50B3 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x52DF JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x52F4 JUMPI PUSH2 0x5323 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x5323 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x531A JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x5301 JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5341 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4B16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x132E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5372 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5391 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x537E JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x53B2 JUMPI PUSH2 0x53B2 PUSH2 0x4CC2 JUMP JUMPDEST PUSH2 0x53C6 DUP2 PUSH2 0x53C0 DUP5 SLOAD PUSH2 0x50B3 JUMP JUMPDEST DUP5 PUSH2 0x534B JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x53FB JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x53E3 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x5391 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x542A JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x540B JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5448 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x55FD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x549A DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4B16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xE31 JUMPI PUSH2 0xE31 PUSH2 0x515C JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xE31 JUMPI PUSH2 0xE31 PUSH2 0x515C JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5509 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x54ED JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5527 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4B16 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x553B DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B16 JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x559D SWAP1 DUP4 ADD DUP5 PUSH2 0x4B3A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x15C0 DUP2 PUSH2 0x4AE3 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x55E1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 TIMESTAMP CALLER SLOAD MSTORE KECCAK256 PUSH21 0x6F2075706772616465206D189AB7A9244DF0848122 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC47616C6178794D656D6265 PUSH19 0x3A206E6F6465206E6F74206F776E6564206F72 KECCAK256 PUSH6 0xD7A28E3265B3 PUSH27 0x6474929F336521B332C1681B933F6CB9F3376673440D862A56AF92 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F5A26469706673582212 KECCAK256 PUSH10 0xF2BD2C72D82DC89487DD 0x1E 0xC5 PUSH22 0x152B8212D265FB9461D8EB06EFA2E66C229164736F6C PUSH4 0x43000814 STOP CALLER ","sourceMap":"5167:33789:43:-:0;;;1171:4:3;1128:48;;11561:47:43;;;;;;;;;-1:-1:-1;11581:22:43;:20;:22::i;:::-;5167:33789;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;5167:33789:43;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_13677":{"entryPoint":null,"id":13677,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_11739":{"entryPoint":null,"id":11739,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@MAX_LEVEL_13362":{"entryPoint":10712,"id":13362,"parameterSlots":0,"returnSlots":1},"@MINTER_ROLE_11734":{"entryPoint":null,"id":11734,"parameterSlots":0,"returnSlots":0},"@NODES_MANAGER_ROLE_11744":{"entryPoint":null,"id":11744,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_11729":{"entryPoint":null,"id":11729,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_11724":{"entryPoint":null,"id":11724,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@_addTokenToAllTokensEnumeration_3510":{"entryPoint":18153,"id":3510,"parameterSlots":1,"returnSlots":0},"@_addTokenToOwnerEnumeration_3479":{"entryPoint":18572,"id":3479,"parameterSlots":2,"returnSlots":0},"@_approve_2931":{"entryPoint":12041,"id":2931,"parameterSlots":3,"returnSlots":0},"@_approve_3005":{"entryPoint":15688,"id":3005,"parameterSlots":4,"returnSlots":0},"@_authorizeUpgrade_11991":{"entryPoint":14310,"id":11991,"parameterSlots":1,"returnSlots":0},"@_baseURI_13937":{"entryPoint":14672,"id":13937,"parameterSlots":0,"returnSlots":1},"@_checkAuthorized_2559":{"entryPoint":18844,"id":2559,"parameterSlots":3,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":17836,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":14514,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkOnERC721Received_3143":{"entryPoint":15281,"id":3143,"parameterSlots":4,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":14145,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":11825,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":15608,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":12462,"id":46,"parameterSlots":0,"returnSlots":1},"@_getApproved_2486":{"entryPoint":12000,"id":2486,"parameterSlots":1,"returnSlots":1},"@_getERC721EnumerableStorage_3236":{"entryPoint":12054,"id":3236,"parameterSlots":0,"returnSlots":1},"@_getERC721Storage_2083":{"entryPoint":11908,"id":2083,"parameterSlots":0,"returnSlots":1},"@_getGalaxyMemberStorage_11832":{"entryPoint":11835,"id":11832,"parameterSlots":0,"returnSlots":1},"@_getIdAttachedToNode_13762":{"entryPoint":13212,"id":13762,"parameterSlots":2,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getLevelOfAndB3TRleft_13025":{"entryPoint":13772,"id":13025,"parameterSlots":2,"returnSlots":2},"@_getNodeIdAttached_13718":{"entryPoint":13510,"id":13718,"parameterSlots":2,"returnSlots":1},"@_getPausableStorage_4013":{"entryPoint":14636,"id":4013,"parameterSlots":0,"returnSlots":1},"@_getReentrancyGuardStorage_4191":{"entryPoint":16369,"id":4191,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":12498,"id":315,"parameterSlots":2,"returnSlots":1},"@_insert_9806":{"entryPoint":17060,"id":9806,"parameterSlots":3,"returnSlots":2},"@_isAuthorized_2522":{"entryPoint":18971,"id":2522,"parameterSlots":3,"returnSlots":1},"@_mint_2735":{"entryPoint":18743,"id":2735,"parameterSlots":2,"returnSlots":0},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_nonReentrantAfter_4273":{"entryPoint":13154,"id":4273,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_4257":{"entryPoint":13060,"id":4257,"parameterSlots":0,"returnSlots":0},"@_ownerOf_2466":{"entryPoint":13171,"id":2466,"parameterSlots":1,"returnSlots":1},"@_pause_4138":{"entryPoint":14897,"id":4138,"parameterSlots":0,"returnSlots":0},"@_removeTokenFromAllTokensEnumeration_3648":{"entryPoint":18371,"id":3648,"parameterSlots":1,"returnSlots":0},"@_removeTokenFromOwnerEnumeration_3584":{"entryPoint":18210,"id":3584,"parameterSlots":2,"returnSlots":0},"@_requireNotPaused_4101":{"entryPoint":13114,"id":4101,"parameterSlots":0,"returnSlots":0},"@_requireOwned_3079":{"entryPoint":11944,"id":3079,"parameterSlots":1,"returnSlots":1},"@_requirePaused_4114":{"entryPoint":16332,"id":4114,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":18930,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":12659,"id":361,"parameterSlots":2,"returnSlots":1},"@_safeMint_2750":{"entryPoint":16491,"id":2750,"parameterSlots":2,"returnSlots":0},"@_safeMint_2776":{"entryPoint":17867,"id":2776,"parameterSlots":3,"returnSlots":0},"@_select_12210":{"entryPoint":14701,"id":12210,"parameterSlots":2,"returnSlots":0},"@_setApprovalForAll_3050":{"entryPoint":15125,"id":3050,"parameterSlots":3,"returnSlots":0},"@_setImplementation_4791":{"entryPoint":17635,"id":4791,"parameterSlots":1,"returnSlots":0},"@_unpause_4162":{"entryPoint":12961,"id":4162,"parameterSlots":0,"returnSlots":0},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_update_13883":{"entryPoint":12090,"id":13883,"parameterSlots":3,"returnSlots":1},"@_update_2685":{"entryPoint":17890,"id":2685,"parameterSlots":3,"returnSlots":1},"@_update_3438":{"entryPoint":16918,"id":3438,"parameterSlots":3,"returnSlots":1},"@_update_3727":{"entryPoint":15954,"id":3727,"parameterSlots":3,"returnSlots":1},"@_upgradeToAndCallUUPS_1913":{"entryPoint":14334,"id":1913,"parameterSlots":2,"returnSlots":0},"@_upperBinaryLookup_9858":{"entryPoint":16242,"id":9858,"parameterSlots":4,"returnSlots":1},"@approve_2299":{"entryPoint":3821,"id":2299,"parameterSlots":2,"returnSlots":0},"@attachNode_12343":{"entryPoint":9331,"id":12343,"parameterSlots":2,"returnSlots":0},"@average_6189":{"entryPoint":17608,"id":6189,"parameterSlots":2,"returnSlots":1},"@b3trGovernor_13301":{"entryPoint":8745,"id":13301,"parameterSlots":0,"returnSlots":1},"@b3tr_13318":{"entryPoint":7941,"id":13318,"parameterSlots":0,"returnSlots":1},"@balanceOf_2193":{"entryPoint":8657,"id":2193,"parameterSlots":1,"returnSlots":1},"@baseURI_13202":{"entryPoint":8607,"id":13202,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":15114,"id":11429,"parameterSlots":0,"returnSlots":1},"@burn_12235":{"entryPoint":5602,"id":12235,"parameterSlots":1,"returnSlots":0},"@burn_3188":{"entryPoint":13048,"id":3188,"parameterSlots":1,"returnSlots":0},"@clock_13668":{"entryPoint":10630,"id":13668,"parameterSlots":0,"returnSlots":1},"@detachNode_12452":{"entryPoint":6705,"id":12452,"parameterSlots":2,"returnSlots":0},"@freeMint_12033":{"entryPoint":8075,"id":12033,"parameterSlots":0,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":17727,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getApproved_2316":{"entryPoint":3800,"id":2316,"parameterSlots":1,"returnSlots":1},"@getB3TRdonated_13422":{"entryPoint":9301,"id":13422,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgradeToLevel_13222":{"entryPoint":4319,"id":13222,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgrade_12912":{"entryPoint":10733,"id":12912,"parameterSlots":1,"returnSlots":1},"@getIdAttachedToNode_13377":{"entryPoint":7676,"id":13377,"parameterSlots":1,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getLevelAfterAttachingNode_13113":{"entryPoint":10688,"id":13113,"parameterSlots":2,"returnSlots":1},"@getLevelAfterDetachingNode_13131":{"entryPoint":11325,"id":13131,"parameterSlots":1,"returnSlots":1},"@getNodeIdAttached_13392":{"entryPoint":10640,"id":13392,"parameterSlots":1,"returnSlots":1},"@getNodeLevelOf_13046":{"entryPoint":5445,"id":13046,"parameterSlots":1,"returnSlots":1},"@getNodeToFreeLevel_13407":{"entryPoint":11724,"id":13407,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":4287,"id":171,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenIdAtBlock_13093":{"entryPoint":5343,"id":13093,"parameterSlots":2,"returnSlots":1},"@getSelectedTokenId_13068":{"entryPoint":11347,"id":13068,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenInfoByOwner_13518":{"entryPoint":11694,"id":13518,"parameterSlots":1,"returnSlots":1},"@getTokenInfoByTokenId_13498":{"entryPoint":8431,"id":13498,"parameterSlots":1,"returnSlots":1},"@getTokensInfoByOwner_13657":{"entryPoint":8817,"id":13657,"parameterSlots":3,"returnSlots":1},"@grantRole_190":{"entryPoint":4351,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":10576,"id":116,"parameterSlots":2,"returnSlots":1},"@initializeV6_11980":{"entryPoint":3836,"id":11980,"parameterSlots":1,"returnSlots":0},"@isApprovedForAll_2356":{"entryPoint":11762,"id":2356,"parameterSlots":2,"returnSlots":1},"@latest_9634":{"entryPoint":15560,"id":9634,"parameterSlots":1,"returnSlots":1},"@levelOf_12861":{"entryPoint":8622,"id":12861,"parameterSlots":1,"returnSlots":1},"@log10_6835":{"entryPoint":16573,"id":6835,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":17438,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":17586,"id":6166,"parameterSlots":2,"returnSlots":1},"@name_2222":{"entryPoint":3639,"id":2222,"parameterSlots":0,"returnSlots":1},"@ownerOf_2206":{"entryPoint":8420,"id":2206,"parameterSlots":1,"returnSlots":1},"@participatedInGovernance_13192":{"entryPoint":10092,"id":13192,"parameterSlots":1,"returnSlots":1},"@pause_12002":{"entryPoint":8785,"id":12002,"parameterSlots":0,"returnSlots":0},"@paused_4089":{"entryPoint":8314,"id":4089,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":7695,"id":1804,"parameterSlots":0,"returnSlots":1},"@push_9437":{"entryPoint":15983,"id":9437,"parameterSlots":3,"returnSlots":2},"@renounceRole_232":{"entryPoint":4859,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":11412,"id":209,"parameterSlots":2,"returnSlots":0},"@safeMint_12476":{"entryPoint":14587,"id":12476,"parameterSlots":1,"returnSlots":0},"@safeTransferFrom_2420":{"entryPoint":5575,"id":2420,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_2446":{"entryPoint":11157,"id":2446,"parameterSlots":4,"returnSlots":0},"@selectFor_12167":{"entryPoint":10856,"id":12167,"parameterSlots":2,"returnSlots":0},"@select_12150":{"entryPoint":8775,"id":12150,"parameterSlots":1,"returnSlots":0},"@setApprovalForAll_2332":{"entryPoint":10701,"id":2332,"parameterSlots":2,"returnSlots":0},"@setB3TRtoUpgradeToLevel_12720":{"entryPoint":10877,"id":12720,"parameterSlots":1,"returnSlots":0},"@setB3trGovernorAddress_12627":{"entryPoint":11440,"id":12627,"parameterSlots":1,"returnSlots":0},"@setBaseURI_12666":{"entryPoint":7724,"id":12666,"parameterSlots":1,"returnSlots":0},"@setIsPublicMintingPaused_12746":{"entryPoint":7971,"id":12746,"parameterSlots":1,"returnSlots":0},"@setMaxLevel_12538":{"entryPoint":4477,"id":12538,"parameterSlots":1,"returnSlots":0},"@setNodeToFreeUpgradeLevel_12794":{"entryPoint":3271,"id":12794,"parameterSlots":2,"returnSlots":0},"@setStargateNFTAddress_12837":{"entryPoint":4915,"id":12837,"parameterSlots":1,"returnSlots":0},"@setXAllocationsGovernorAddress_12581":{"entryPoint":5089,"id":12581,"parameterSlots":1,"returnSlots":0},"@sqrt_6504":{"entryPoint":16010,"id":6504,"parameterSlots":1,"returnSlots":1},"@stargateNFT_13346":{"entryPoint":8335,"id":13346,"parameterSlots":0,"returnSlots":1},"@supportsInterface_13920":{"entryPoint":3622,"id":13920,"parameterSlots":1,"returnSlots":1},"@supportsInterface_2158":{"entryPoint":16838,"id":2158,"parameterSlots":1,"returnSlots":1},"@supportsInterface_3282":{"entryPoint":15651,"id":3282,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":11871,"id":91,"parameterSlots":1,"returnSlots":1},"@symbol_2238":{"entryPoint":10659,"id":2238,"parameterSlots":0,"returnSlots":1},"@toString_5762":{"entryPoint":14968,"id":5762,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":16517,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":16787,"id":7770,"parameterSlots":1,"returnSlots":1},"@tokenByIndex_3369":{"entryPoint":7579,"id":3369,"parameterSlots":1,"returnSlots":1},"@tokenOfOwnerByIndex_3318":{"entryPoint":4379,"id":3318,"parameterSlots":2,"returnSlots":1},"@tokenURI_13267":{"entryPoint":11180,"id":13267,"parameterSlots":1,"returnSlots":1},"@totalSupply_3335":{"entryPoint":4127,"id":3335,"parameterSlots":0,"returnSlots":1},"@transferFrom_2402":{"entryPoint":4148,"id":2402,"parameterSlots":3,"returnSlots":0},"@treasury_13334":{"entryPoint":8390,"id":13334,"parameterSlots":0,"returnSlots":1},"@unpause_12013":{"entryPoint":5410,"id":12013,"parameterSlots":0,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":7552,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":16405,"id":4825,"parameterSlots":2,"returnSlots":0},"@upgrade_12137":{"entryPoint":5659,"id":12137,"parameterSlots":1,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":12779,"id":9604,"parameterSlots":2,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":18660,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_13431":{"entryPoint":null,"id":13431,"parameterSlots":0,"returnSlots":1},"@xAllocationsGovernor_13284":{"entryPoint":8363,"id":13284,"parameterSlots":0,"returnSlots":1},"abi_decode_available_length_bytes":{"entryPoint":19720,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_bytes":{"entryPoint":19807,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":19417,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":21126,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":20613,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":19446,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":20477,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":20266,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":19839,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":19387,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_uint256":{"entryPoint":20115,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint48":{"entryPoint":19559,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":20312,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool":{"entryPoint":20004,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":21031,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":19511,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":19193,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":21927,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":19918,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":19321,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":20987,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":19616,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint8":{"entryPoint":20584,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8_fromMemory":{"entryPoint":20875,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8t_uint256":{"entryPoint":19127,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_string":{"entryPoint":19258,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_struct_TokenInfo":{"entryPoint":20033,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21295,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed":{"entryPoint":21781,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21177,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21592,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":19346,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":21866,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":20803,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":20168,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":21713,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IStargateNFT_$72687__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":19302,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4481d4cc122a9096a433ef77418d25d21f54c331245a3431108d3eef5d74a9c4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_50331b0424526a6436124a585c481f24602c921ae5d40c354e3b100c37eae3a1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":20904,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a38e447c5b0b4349960f55aa87f10b03e4f9a190d02e4cb0f1b55ca947b45ce5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":20717,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f16ac10570b456d06db80bd2fe423215070a3564b91d14bb04028128bc67ea7f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":21060,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_TokenInfo_$13440_memory_ptr__to_t_struct$_TokenInfo_$13440_memory_ptr__fromStack_reversed":{"entryPoint":20096,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":19672,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":21012,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":21956,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":21671,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":21694,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":21323,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":21401,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":19222,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":20659,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":20850,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":20828,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":21844,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":21990,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":21155,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":19650,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":19366,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":19990,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":19171,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":19112,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:37683:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"57:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"106:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"115:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"118:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"108:6:150"},"nodeType":"YulFunctionCall","src":"108:12:150"},"nodeType":"YulExpressionStatement","src":"108:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"98:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"87:3:150"},"nodeType":"YulFunctionCall","src":"87:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"77:2:150"},"nodeType":"YulFunctionCall","src":"77:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"70:6:150"},"nodeType":"YulFunctionCall","src":"70:35:150"},"nodeType":"YulIf","src":"67:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"46:5:150","type":""}],"src":"14:114:150"},{"body":{"nodeType":"YulBlock","src":"218:226:150","statements":[{"body":{"nodeType":"YulBlock","src":"264:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"273:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"276:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"266:6:150"},"nodeType":"YulFunctionCall","src":"266:12:150"},"nodeType":"YulExpressionStatement","src":"266:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"239:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"248:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:150"},"nodeType":"YulFunctionCall","src":"235:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"260:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"231:3:150"},"nodeType":"YulFunctionCall","src":"231:32:150"},"nodeType":"YulIf","src":"228:52:150"},{"nodeType":"YulVariableDeclaration","src":"289:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"315:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"302:12:150"},"nodeType":"YulFunctionCall","src":"302:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"293:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"357:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"334:22:150"},"nodeType":"YulFunctionCall","src":"334:29:150"},"nodeType":"YulExpressionStatement","src":"334:29:150"},{"nodeType":"YulAssignment","src":"372:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"382:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"372:6:150"}]},{"nodeType":"YulAssignment","src":"396:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"434:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"419:3:150"},"nodeType":"YulFunctionCall","src":"419:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"406:12:150"},"nodeType":"YulFunctionCall","src":"406:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"396:6:150"}]}]},"name":"abi_decode_tuple_t_uint8t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"176:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"187:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"199:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"207:6:150","type":""}],"src":"133:311:150"},{"body":{"nodeType":"YulBlock","src":"493:87:150","statements":[{"body":{"nodeType":"YulBlock","src":"558:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"567:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"570:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"560:6:150"},"nodeType":"YulFunctionCall","src":"560:12:150"},"nodeType":"YulExpressionStatement","src":"560:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"516:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"527:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"538:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"543:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"534:3:150"},"nodeType":"YulFunctionCall","src":"534:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"523:3:150"},"nodeType":"YulFunctionCall","src":"523:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"513:2:150"},"nodeType":"YulFunctionCall","src":"513:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"506:6:150"},"nodeType":"YulFunctionCall","src":"506:51:150"},"nodeType":"YulIf","src":"503:71:150"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"482:5:150","type":""}],"src":"449:131:150"},{"body":{"nodeType":"YulBlock","src":"654:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"700:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"709:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"712:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"702:6:150"},"nodeType":"YulFunctionCall","src":"702:12:150"},"nodeType":"YulExpressionStatement","src":"702:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"675:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"684:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"671:3:150"},"nodeType":"YulFunctionCall","src":"671:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"696:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"667:3:150"},"nodeType":"YulFunctionCall","src":"667:32:150"},"nodeType":"YulIf","src":"664:52:150"},{"nodeType":"YulVariableDeclaration","src":"725:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"751:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"738:12:150"},"nodeType":"YulFunctionCall","src":"738:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"729:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"794:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"770:23:150"},"nodeType":"YulFunctionCall","src":"770:30:150"},"nodeType":"YulExpressionStatement","src":"770:30:150"},{"nodeType":"YulAssignment","src":"809:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"819:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"809:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"620:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"631:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"643:6:150","type":""}],"src":"585:245:150"},{"body":{"nodeType":"YulBlock","src":"930:92:150","statements":[{"nodeType":"YulAssignment","src":"940:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"963:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"948:3:150"},"nodeType":"YulFunctionCall","src":"948:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"940:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"982:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1007:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1000:6:150"},"nodeType":"YulFunctionCall","src":"1000:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"993:6:150"},"nodeType":"YulFunctionCall","src":"993:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"975:6:150"},"nodeType":"YulFunctionCall","src":"975:41:150"},"nodeType":"YulExpressionStatement","src":"975:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"899:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"910:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"921:4:150","type":""}],"src":"835:187:150"},{"body":{"nodeType":"YulBlock","src":"1093:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1103:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1112:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1107:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1172:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1197:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1202:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1193:3:150"},"nodeType":"YulFunctionCall","src":"1193:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1216:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1221:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1212:3:150"},"nodeType":"YulFunctionCall","src":"1212:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1206:5:150"},"nodeType":"YulFunctionCall","src":"1206:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1186:6:150"},"nodeType":"YulFunctionCall","src":"1186:39:150"},"nodeType":"YulExpressionStatement","src":"1186:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1133:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1136:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1130:2:150"},"nodeType":"YulFunctionCall","src":"1130:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1144:19:150","statements":[{"nodeType":"YulAssignment","src":"1146:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1155:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1158:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1151:3:150"},"nodeType":"YulFunctionCall","src":"1151:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1146:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1126:3:150","statements":[]},"src":"1122:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1255:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1260:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1251:3:150"},"nodeType":"YulFunctionCall","src":"1251:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"1269:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1244:6:150"},"nodeType":"YulFunctionCall","src":"1244:27:150"},"nodeType":"YulExpressionStatement","src":"1244:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1071:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1076:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1081:6:150","type":""}],"src":"1027:250:150"},{"body":{"nodeType":"YulBlock","src":"1332:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1342:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1362:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1356:5:150"},"nodeType":"YulFunctionCall","src":"1356:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1346:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1384:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1389:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1377:6:150"},"nodeType":"YulFunctionCall","src":"1377:19:150"},"nodeType":"YulExpressionStatement","src":"1377:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1444:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1451:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1440:3:150"},"nodeType":"YulFunctionCall","src":"1440:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1462:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"1467:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1458:3:150"},"nodeType":"YulFunctionCall","src":"1458:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"1474:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"1405:34:150"},"nodeType":"YulFunctionCall","src":"1405:76:150"},"nodeType":"YulExpressionStatement","src":"1405:76:150"},{"nodeType":"YulAssignment","src":"1490:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1505:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1518:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1526:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1514:3:150"},"nodeType":"YulFunctionCall","src":"1514:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1535:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1531:3:150"},"nodeType":"YulFunctionCall","src":"1531:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1510:3:150"},"nodeType":"YulFunctionCall","src":"1510:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1501:3:150"},"nodeType":"YulFunctionCall","src":"1501:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"1542:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1497:3:150"},"nodeType":"YulFunctionCall","src":"1497:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1490:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1309:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1316:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1324:3:150","type":""}],"src":"1282:271:150"},{"body":{"nodeType":"YulBlock","src":"1679:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1696:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1707:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1689:6:150"},"nodeType":"YulFunctionCall","src":"1689:21:150"},"nodeType":"YulExpressionStatement","src":"1689:21:150"},{"nodeType":"YulAssignment","src":"1719:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1745:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1757:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1768:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1753:3:150"},"nodeType":"YulFunctionCall","src":"1753:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1727:17:150"},"nodeType":"YulFunctionCall","src":"1727:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1719:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1648:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1659:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1670:4:150","type":""}],"src":"1558:220:150"},{"body":{"nodeType":"YulBlock","src":"1853:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1899:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1908:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1911:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1901:6:150"},"nodeType":"YulFunctionCall","src":"1901:12:150"},"nodeType":"YulExpressionStatement","src":"1901:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1874:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1883:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1870:3:150"},"nodeType":"YulFunctionCall","src":"1870:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1895:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1866:3:150"},"nodeType":"YulFunctionCall","src":"1866:32:150"},"nodeType":"YulIf","src":"1863:52:150"},{"nodeType":"YulAssignment","src":"1924:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1947:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1934:12:150"},"nodeType":"YulFunctionCall","src":"1934:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1924:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1819:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1830:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1842:6:150","type":""}],"src":"1783:180:150"},{"body":{"nodeType":"YulBlock","src":"2069:102:150","statements":[{"nodeType":"YulAssignment","src":"2079:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2091:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2102:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2087:3:150"},"nodeType":"YulFunctionCall","src":"2087:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2079:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2121:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2136:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2152:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2157:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2148:3:150"},"nodeType":"YulFunctionCall","src":"2148:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2161:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2144:3:150"},"nodeType":"YulFunctionCall","src":"2144:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2132:3:150"},"nodeType":"YulFunctionCall","src":"2132:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2114:6:150"},"nodeType":"YulFunctionCall","src":"2114:51:150"},"nodeType":"YulExpressionStatement","src":"2114:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2038:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2049:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2060:4:150","type":""}],"src":"1968:203:150"},{"body":{"nodeType":"YulBlock","src":"2221:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"2285:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2294:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2297:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2287:6:150"},"nodeType":"YulFunctionCall","src":"2287:12:150"},"nodeType":"YulExpressionStatement","src":"2287:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2244:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2255:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2270:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2275:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2266:3:150"},"nodeType":"YulFunctionCall","src":"2266:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2279:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2262:3:150"},"nodeType":"YulFunctionCall","src":"2262:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2251:3:150"},"nodeType":"YulFunctionCall","src":"2251:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2241:2:150"},"nodeType":"YulFunctionCall","src":"2241:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2234:6:150"},"nodeType":"YulFunctionCall","src":"2234:50:150"},"nodeType":"YulIf","src":"2231:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2210:5:150","type":""}],"src":"2176:131:150"},{"body":{"nodeType":"YulBlock","src":"2399:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"2445:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2454:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2457:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2447:6:150"},"nodeType":"YulFunctionCall","src":"2447:12:150"},"nodeType":"YulExpressionStatement","src":"2447:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2420:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2429:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2416:3:150"},"nodeType":"YulFunctionCall","src":"2416:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2441:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2412:3:150"},"nodeType":"YulFunctionCall","src":"2412:32:150"},"nodeType":"YulIf","src":"2409:52:150"},{"nodeType":"YulVariableDeclaration","src":"2470:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2496:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2483:12:150"},"nodeType":"YulFunctionCall","src":"2483:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2474:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2540:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2515:24:150"},"nodeType":"YulFunctionCall","src":"2515:31:150"},"nodeType":"YulExpressionStatement","src":"2515:31:150"},{"nodeType":"YulAssignment","src":"2555:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2565:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2555:6:150"}]},{"nodeType":"YulAssignment","src":"2579:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2606:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2617:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2602:3:150"},"nodeType":"YulFunctionCall","src":"2602:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2589:12:150"},"nodeType":"YulFunctionCall","src":"2589:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2579:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2357:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2368:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2380:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2388:6:150","type":""}],"src":"2312:315:150"},{"body":{"nodeType":"YulBlock","src":"2702:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"2748:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2757:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2760:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2750:6:150"},"nodeType":"YulFunctionCall","src":"2750:12:150"},"nodeType":"YulExpressionStatement","src":"2750:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2723:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2732:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2719:3:150"},"nodeType":"YulFunctionCall","src":"2719:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2744:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2715:3:150"},"nodeType":"YulFunctionCall","src":"2715:32:150"},"nodeType":"YulIf","src":"2712:52:150"},{"nodeType":"YulVariableDeclaration","src":"2773:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2799:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2786:12:150"},"nodeType":"YulFunctionCall","src":"2786:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2777:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2843:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2818:24:150"},"nodeType":"YulFunctionCall","src":"2818:31:150"},"nodeType":"YulExpressionStatement","src":"2818:31:150"},{"nodeType":"YulAssignment","src":"2858:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2868:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2858:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2668:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2679:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2691:6:150","type":""}],"src":"2632:247:150"},{"body":{"nodeType":"YulBlock","src":"2985:76:150","statements":[{"nodeType":"YulAssignment","src":"2995:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3007:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3018:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3003:3:150"},"nodeType":"YulFunctionCall","src":"3003:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2995:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3037:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3048:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3030:6:150"},"nodeType":"YulFunctionCall","src":"3030:25:150"},"nodeType":"YulExpressionStatement","src":"3030:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2954:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2965:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2976:4:150","type":""}],"src":"2884:177:150"},{"body":{"nodeType":"YulBlock","src":"3170:352:150","statements":[{"body":{"nodeType":"YulBlock","src":"3216:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3225:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3228:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3218:6:150"},"nodeType":"YulFunctionCall","src":"3218:12:150"},"nodeType":"YulExpressionStatement","src":"3218:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3191:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3200:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3187:3:150"},"nodeType":"YulFunctionCall","src":"3187:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3212:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3183:3:150"},"nodeType":"YulFunctionCall","src":"3183:32:150"},"nodeType":"YulIf","src":"3180:52:150"},{"nodeType":"YulVariableDeclaration","src":"3241:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3267:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3254:12:150"},"nodeType":"YulFunctionCall","src":"3254:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3245:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3311:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3286:24:150"},"nodeType":"YulFunctionCall","src":"3286:31:150"},"nodeType":"YulExpressionStatement","src":"3286:31:150"},{"nodeType":"YulAssignment","src":"3326:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3336:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3326:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3350:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3382:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3393:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3378:3:150"},"nodeType":"YulFunctionCall","src":"3378:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3365:12:150"},"nodeType":"YulFunctionCall","src":"3365:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"3354:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"3431:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3406:24:150"},"nodeType":"YulFunctionCall","src":"3406:33:150"},"nodeType":"YulExpressionStatement","src":"3406:33:150"},{"nodeType":"YulAssignment","src":"3448:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"3458:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3448:6:150"}]},{"nodeType":"YulAssignment","src":"3474:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3501:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3512:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3497:3:150"},"nodeType":"YulFunctionCall","src":"3497:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3484:12:150"},"nodeType":"YulFunctionCall","src":"3484:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3474:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3120:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3131:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3143:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3151:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3159:6:150","type":""}],"src":"3066:456:150"},{"body":{"nodeType":"YulBlock","src":"3597:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"3643:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3652:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3655:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3645:6:150"},"nodeType":"YulFunctionCall","src":"3645:12:150"},"nodeType":"YulExpressionStatement","src":"3645:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3618:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3627:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3614:3:150"},"nodeType":"YulFunctionCall","src":"3614:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3639:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3610:3:150"},"nodeType":"YulFunctionCall","src":"3610:32:150"},"nodeType":"YulIf","src":"3607:52:150"},{"nodeType":"YulAssignment","src":"3668:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3691:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3678:12:150"},"nodeType":"YulFunctionCall","src":"3678:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3668:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3563:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3574:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3586:6:150","type":""}],"src":"3527:180:150"},{"body":{"nodeType":"YulBlock","src":"3813:76:150","statements":[{"nodeType":"YulAssignment","src":"3823:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3835:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3846:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3831:3:150"},"nodeType":"YulFunctionCall","src":"3831:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3823:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3865:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3876:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3858:6:150"},"nodeType":"YulFunctionCall","src":"3858:25:150"},"nodeType":"YulExpressionStatement","src":"3858:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3782:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3793:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3804:4:150","type":""}],"src":"3712:177:150"},{"body":{"nodeType":"YulBlock","src":"3981:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"4027:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4036:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4039:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4029:6:150"},"nodeType":"YulFunctionCall","src":"4029:12:150"},"nodeType":"YulExpressionStatement","src":"4029:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4002:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4011:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3998:3:150"},"nodeType":"YulFunctionCall","src":"3998:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4023:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3994:3:150"},"nodeType":"YulFunctionCall","src":"3994:32:150"},"nodeType":"YulIf","src":"3991:52:150"},{"nodeType":"YulAssignment","src":"4052:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4075:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4062:12:150"},"nodeType":"YulFunctionCall","src":"4062:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4052:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4094:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4124:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4135:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4120:3:150"},"nodeType":"YulFunctionCall","src":"4120:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4107:12:150"},"nodeType":"YulFunctionCall","src":"4107:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4098:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4173:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4148:24:150"},"nodeType":"YulFunctionCall","src":"4148:31:150"},"nodeType":"YulExpressionStatement","src":"4148:31:150"},{"nodeType":"YulAssignment","src":"4188:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4198:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4188:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3939:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3950:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3962:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3970:6:150","type":""}],"src":"3894:315:150"},{"body":{"nodeType":"YulBlock","src":"4300:337:150","statements":[{"body":{"nodeType":"YulBlock","src":"4346:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4355:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4358:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4348:6:150"},"nodeType":"YulFunctionCall","src":"4348:12:150"},"nodeType":"YulExpressionStatement","src":"4348:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4321:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4330:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4317:3:150"},"nodeType":"YulFunctionCall","src":"4317:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4342:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4313:3:150"},"nodeType":"YulFunctionCall","src":"4313:32:150"},"nodeType":"YulIf","src":"4310:52:150"},{"nodeType":"YulVariableDeclaration","src":"4371:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4397:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4384:12:150"},"nodeType":"YulFunctionCall","src":"4384:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4375:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4441:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4416:24:150"},"nodeType":"YulFunctionCall","src":"4416:31:150"},"nodeType":"YulExpressionStatement","src":"4416:31:150"},{"nodeType":"YulAssignment","src":"4456:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4466:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4456:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4480:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4512:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4523:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4508:3:150"},"nodeType":"YulFunctionCall","src":"4508:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4495:12:150"},"nodeType":"YulFunctionCall","src":"4495:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"4484:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4589:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4598:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4601:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4591:6:150"},"nodeType":"YulFunctionCall","src":"4591:12:150"},"nodeType":"YulExpressionStatement","src":"4591:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4549:7:150"},{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4562:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"4571:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4558:3:150"},"nodeType":"YulFunctionCall","src":"4558:28:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4546:2:150"},"nodeType":"YulFunctionCall","src":"4546:41:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4539:6:150"},"nodeType":"YulFunctionCall","src":"4539:49:150"},"nodeType":"YulIf","src":"4536:69:150"},{"nodeType":"YulAssignment","src":"4614:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"4624:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4614:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4258:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4269:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4281:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4289:6:150","type":""}],"src":"4214:423:150"},{"body":{"nodeType":"YulBlock","src":"4739:87:150","statements":[{"nodeType":"YulAssignment","src":"4749:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4761:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4772:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4757:3:150"},"nodeType":"YulFunctionCall","src":"4757:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4749:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4791:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4806:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4814:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4802:3:150"},"nodeType":"YulFunctionCall","src":"4802:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4784:6:150"},"nodeType":"YulFunctionCall","src":"4784:36:150"},"nodeType":"YulExpressionStatement","src":"4784:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4708:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4719:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4730:4:150","type":""}],"src":"4642:184:150"},{"body":{"nodeType":"YulBlock","src":"4918:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"4964:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4973:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4976:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4966:6:150"},"nodeType":"YulFunctionCall","src":"4966:12:150"},"nodeType":"YulExpressionStatement","src":"4966:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4939:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4948:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4935:3:150"},"nodeType":"YulFunctionCall","src":"4935:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4960:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4931:3:150"},"nodeType":"YulFunctionCall","src":"4931:32:150"},"nodeType":"YulIf","src":"4928:52:150"},{"nodeType":"YulAssignment","src":"4989:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5012:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4999:12:150"},"nodeType":"YulFunctionCall","src":"4999:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4989:6:150"}]},{"nodeType":"YulAssignment","src":"5031:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5058:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5069:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5054:3:150"},"nodeType":"YulFunctionCall","src":"5054:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5041:12:150"},"nodeType":"YulFunctionCall","src":"5041:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5031:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4876:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4887:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4899:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4907:6:150","type":""}],"src":"4831:248:150"},{"body":{"nodeType":"YulBlock","src":"5116:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5133:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5140:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5145:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5136:3:150"},"nodeType":"YulFunctionCall","src":"5136:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5126:6:150"},"nodeType":"YulFunctionCall","src":"5126:31:150"},"nodeType":"YulExpressionStatement","src":"5126:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5173:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5176:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5166:6:150"},"nodeType":"YulFunctionCall","src":"5166:15:150"},"nodeType":"YulExpressionStatement","src":"5166:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5197:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5200:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5190:6:150"},"nodeType":"YulFunctionCall","src":"5190:15:150"},"nodeType":"YulExpressionStatement","src":"5190:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5084:127:150"},{"body":{"nodeType":"YulBlock","src":"5261:230:150","statements":[{"nodeType":"YulAssignment","src":"5271:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5287:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5281:5:150"},"nodeType":"YulFunctionCall","src":"5281:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5271:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5299:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5321:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"5337:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"5343:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5333:3:150"},"nodeType":"YulFunctionCall","src":"5333:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5352:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5348:3:150"},"nodeType":"YulFunctionCall","src":"5348:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5329:3:150"},"nodeType":"YulFunctionCall","src":"5329:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5317:3:150"},"nodeType":"YulFunctionCall","src":"5317:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5303:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5432:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5434:16:150"},"nodeType":"YulFunctionCall","src":"5434:18:150"},"nodeType":"YulExpressionStatement","src":"5434:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5375:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5395:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5399:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5391:3:150"},"nodeType":"YulFunctionCall","src":"5391:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5403:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5387:3:150"},"nodeType":"YulFunctionCall","src":"5387:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5372:2:150"},"nodeType":"YulFunctionCall","src":"5372:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5411:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5423:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5408:2:150"},"nodeType":"YulFunctionCall","src":"5408:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5369:2:150"},"nodeType":"YulFunctionCall","src":"5369:62:150"},"nodeType":"YulIf","src":"5366:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5470:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5474:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5463:6:150"},"nodeType":"YulFunctionCall","src":"5463:22:150"},"nodeType":"YulExpressionStatement","src":"5463:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"5241:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5250:6:150","type":""}],"src":"5216:275:150"},{"body":{"nodeType":"YulBlock","src":"5570:332:150","statements":[{"body":{"nodeType":"YulBlock","src":"5614:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5616:16:150"},"nodeType":"YulFunctionCall","src":"5616:18:150"},"nodeType":"YulExpressionStatement","src":"5616:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5586:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5602:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5606:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5598:3:150"},"nodeType":"YulFunctionCall","src":"5598:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5610:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5594:3:150"},"nodeType":"YulFunctionCall","src":"5594:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5583:2:150"},"nodeType":"YulFunctionCall","src":"5583:30:150"},"nodeType":"YulIf","src":"5580:56:150"},{"nodeType":"YulAssignment","src":"5645:66:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5682:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5690:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5678:3:150"},"nodeType":"YulFunctionCall","src":"5678:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5699:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5695:3:150"},"nodeType":"YulFunctionCall","src":"5695:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5674:3:150"},"nodeType":"YulFunctionCall","src":"5674:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"5705:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5670:3:150"},"nodeType":"YulFunctionCall","src":"5670:40:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5654:15:150"},"nodeType":"YulFunctionCall","src":"5654:57:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5645:5:150"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5727:5:150"},{"name":"length","nodeType":"YulIdentifier","src":"5734:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5720:6:150"},"nodeType":"YulFunctionCall","src":"5720:21:150"},"nodeType":"YulExpressionStatement","src":"5720:21:150"},{"body":{"nodeType":"YulBlock","src":"5779:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5788:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5791:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5781:6:150"},"nodeType":"YulFunctionCall","src":"5781:12:150"},"nodeType":"YulExpressionStatement","src":"5781:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5760:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"5765:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5756:3:150"},"nodeType":"YulFunctionCall","src":"5756:16:150"},{"name":"end","nodeType":"YulIdentifier","src":"5774:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5753:2:150"},"nodeType":"YulFunctionCall","src":"5753:25:150"},"nodeType":"YulIf","src":"5750:45:150"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5821:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"5828:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5817:3:150"},"nodeType":"YulFunctionCall","src":"5817:16:150"},{"name":"src","nodeType":"YulIdentifier","src":"5835:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"5840:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"5804:12:150"},"nodeType":"YulFunctionCall","src":"5804:43:150"},"nodeType":"YulExpressionStatement","src":"5804:43:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5871:5:150"},{"name":"length","nodeType":"YulIdentifier","src":"5878:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5867:3:150"},"nodeType":"YulFunctionCall","src":"5867:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"5887:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5863:3:150"},"nodeType":"YulFunctionCall","src":"5863:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"5894:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5856:6:150"},"nodeType":"YulFunctionCall","src":"5856:40:150"},"nodeType":"YulExpressionStatement","src":"5856:40:150"}]},"name":"abi_decode_available_length_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5539:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"5544:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5552:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5560:5:150","type":""}],"src":"5496:406:150"},{"body":{"nodeType":"YulBlock","src":"5959:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"6008:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6017:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6020:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6010:6:150"},"nodeType":"YulFunctionCall","src":"6010:12:150"},"nodeType":"YulExpressionStatement","src":"6010:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5987:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5995:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5983:3:150"},"nodeType":"YulFunctionCall","src":"5983:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"6002:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5979:3:150"},"nodeType":"YulFunctionCall","src":"5979:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5972:6:150"},"nodeType":"YulFunctionCall","src":"5972:35:150"},"nodeType":"YulIf","src":"5969:55:150"},{"nodeType":"YulAssignment","src":"6033:88:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6080:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6088:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6076:3:150"},"nodeType":"YulFunctionCall","src":"6076:17:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6108:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6095:12:150"},"nodeType":"YulFunctionCall","src":"6095:20:150"},{"name":"end","nodeType":"YulIdentifier","src":"6117:3:150"}],"functionName":{"name":"abi_decode_available_length_bytes","nodeType":"YulIdentifier","src":"6042:33:150"},"nodeType":"YulFunctionCall","src":"6042:79:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"6033:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5933:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5941:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5949:5:150","type":""}],"src":"5907:220:150"},{"body":{"nodeType":"YulBlock","src":"6228:359:150","statements":[{"body":{"nodeType":"YulBlock","src":"6274:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6283:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6286:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6276:6:150"},"nodeType":"YulFunctionCall","src":"6276:12:150"},"nodeType":"YulExpressionStatement","src":"6276:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6249:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6258:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6245:3:150"},"nodeType":"YulFunctionCall","src":"6245:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6270:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6241:3:150"},"nodeType":"YulFunctionCall","src":"6241:32:150"},"nodeType":"YulIf","src":"6238:52:150"},{"nodeType":"YulVariableDeclaration","src":"6299:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6325:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6312:12:150"},"nodeType":"YulFunctionCall","src":"6312:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6303:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6369:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6344:24:150"},"nodeType":"YulFunctionCall","src":"6344:31:150"},"nodeType":"YulExpressionStatement","src":"6344:31:150"},{"nodeType":"YulAssignment","src":"6384:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6394:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6384:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6408:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6439:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6450:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6435:3:150"},"nodeType":"YulFunctionCall","src":"6435:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6422:12:150"},"nodeType":"YulFunctionCall","src":"6422:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6412:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6497:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6506:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6509:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6499:6:150"},"nodeType":"YulFunctionCall","src":"6499:12:150"},"nodeType":"YulExpressionStatement","src":"6499:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6469:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6485:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6489:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6481:3:150"},"nodeType":"YulFunctionCall","src":"6481:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6493:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6477:3:150"},"nodeType":"YulFunctionCall","src":"6477:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6466:2:150"},"nodeType":"YulFunctionCall","src":"6466:30:150"},"nodeType":"YulIf","src":"6463:50:150"},{"nodeType":"YulAssignment","src":"6522:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6553:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6564:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6549:3:150"},"nodeType":"YulFunctionCall","src":"6549:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6573:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6532:16:150"},"nodeType":"YulFunctionCall","src":"6532:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6522:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6186:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6197:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6209:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6217:6:150","type":""}],"src":"6132:455:150"},{"body":{"nodeType":"YulBlock","src":"6672:370:150","statements":[{"body":{"nodeType":"YulBlock","src":"6718:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6727:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6730:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6720:6:150"},"nodeType":"YulFunctionCall","src":"6720:12:150"},"nodeType":"YulExpressionStatement","src":"6720:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6693:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6702:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6689:3:150"},"nodeType":"YulFunctionCall","src":"6689:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6714:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6685:3:150"},"nodeType":"YulFunctionCall","src":"6685:32:150"},"nodeType":"YulIf","src":"6682:52:150"},{"nodeType":"YulVariableDeclaration","src":"6743:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6770:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6757:12:150"},"nodeType":"YulFunctionCall","src":"6757:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6747:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6823:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6832:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6835:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6825:6:150"},"nodeType":"YulFunctionCall","src":"6825:12:150"},"nodeType":"YulExpressionStatement","src":"6825:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6795:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6811:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6815:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6807:3:150"},"nodeType":"YulFunctionCall","src":"6807:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6819:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6803:3:150"},"nodeType":"YulFunctionCall","src":"6803:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6792:2:150"},"nodeType":"YulFunctionCall","src":"6792:30:150"},"nodeType":"YulIf","src":"6789:50:150"},{"nodeType":"YulVariableDeclaration","src":"6848:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6862:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6873:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6858:3:150"},"nodeType":"YulFunctionCall","src":"6858:22:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6852:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6928:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6937:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6940:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6930:6:150"},"nodeType":"YulFunctionCall","src":"6930:12:150"},"nodeType":"YulExpressionStatement","src":"6930:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6907:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6911:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6903:3:150"},"nodeType":"YulFunctionCall","src":"6903:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6918:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6899:3:150"},"nodeType":"YulFunctionCall","src":"6899:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6892:6:150"},"nodeType":"YulFunctionCall","src":"6892:35:150"},"nodeType":"YulIf","src":"6889:55:150"},{"nodeType":"YulAssignment","src":"6953:83:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"7001:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"7005:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6997:3:150"},"nodeType":"YulFunctionCall","src":"6997:11:150"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"7023:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7010:12:150"},"nodeType":"YulFunctionCall","src":"7010:16:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7028:7:150"}],"functionName":{"name":"abi_decode_available_length_bytes","nodeType":"YulIdentifier","src":"6963:33:150"},"nodeType":"YulFunctionCall","src":"6963:73:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6953:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6638:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6649:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6661:6:150","type":""}],"src":"6592:450:150"},{"body":{"nodeType":"YulBlock","src":"7163:102:150","statements":[{"nodeType":"YulAssignment","src":"7173:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7185:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7196:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7181:3:150"},"nodeType":"YulFunctionCall","src":"7181:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7173:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7215:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7230:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7246:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7251:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7242:3:150"},"nodeType":"YulFunctionCall","src":"7242:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7255:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7238:3:150"},"nodeType":"YulFunctionCall","src":"7238:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7226:3:150"},"nodeType":"YulFunctionCall","src":"7226:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7208:6:150"},"nodeType":"YulFunctionCall","src":"7208:51:150"},"nodeType":"YulExpressionStatement","src":"7208:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7132:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7143:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7154:4:150","type":""}],"src":"7047:218:150"},{"body":{"nodeType":"YulBlock","src":"7312:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"7366:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7375:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7378:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7368:6:150"},"nodeType":"YulFunctionCall","src":"7368:12:150"},"nodeType":"YulExpressionStatement","src":"7368:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7335:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7356:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7349:6:150"},"nodeType":"YulFunctionCall","src":"7349:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7342:6:150"},"nodeType":"YulFunctionCall","src":"7342:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7332:2:150"},"nodeType":"YulFunctionCall","src":"7332:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7325:6:150"},"nodeType":"YulFunctionCall","src":"7325:40:150"},"nodeType":"YulIf","src":"7322:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7301:5:150","type":""}],"src":"7270:118:150"},{"body":{"nodeType":"YulBlock","src":"7460:174:150","statements":[{"body":{"nodeType":"YulBlock","src":"7506:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7515:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7518:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7508:6:150"},"nodeType":"YulFunctionCall","src":"7508:12:150"},"nodeType":"YulExpressionStatement","src":"7508:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7481:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7490:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7477:3:150"},"nodeType":"YulFunctionCall","src":"7477:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7502:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7473:3:150"},"nodeType":"YulFunctionCall","src":"7473:32:150"},"nodeType":"YulIf","src":"7470:52:150"},{"nodeType":"YulVariableDeclaration","src":"7531:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7557:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7544:12:150"},"nodeType":"YulFunctionCall","src":"7544:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7535:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7598:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"7576:21:150"},"nodeType":"YulFunctionCall","src":"7576:28:150"},"nodeType":"YulExpressionStatement","src":"7576:28:150"},{"nodeType":"YulAssignment","src":"7613:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7623:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7613:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7426:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7437:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7449:6:150","type":""}],"src":"7393:241:150"},{"body":{"nodeType":"YulBlock","src":"7762:102:150","statements":[{"nodeType":"YulAssignment","src":"7772:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7784:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7795:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7780:3:150"},"nodeType":"YulFunctionCall","src":"7780:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7772:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7814:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7829:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7845:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7850:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7841:3:150"},"nodeType":"YulFunctionCall","src":"7841:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7854:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7837:3:150"},"nodeType":"YulFunctionCall","src":"7837:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7825:3:150"},"nodeType":"YulFunctionCall","src":"7825:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7807:6:150"},"nodeType":"YulFunctionCall","src":"7807:51:150"},"nodeType":"YulExpressionStatement","src":"7807:51:150"}]},"name":"abi_encode_tuple_t_contract$_IStargateNFT_$72687__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7731:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7742:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7753:4:150","type":""}],"src":"7639:225:150"},{"body":{"nodeType":"YulBlock","src":"8006:102:150","statements":[{"nodeType":"YulAssignment","src":"8016:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8028:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8039:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8024:3:150"},"nodeType":"YulFunctionCall","src":"8024:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8016:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8058:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8073:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8089:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8094:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8085:3:150"},"nodeType":"YulFunctionCall","src":"8085:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8098:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8081:3:150"},"nodeType":"YulFunctionCall","src":"8081:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8069:3:150"},"nodeType":"YulFunctionCall","src":"8069:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8051:6:150"},"nodeType":"YulFunctionCall","src":"8051:51:150"},"nodeType":"YulExpressionStatement","src":"8051:51:150"}]},"name":"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7975:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7986:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7997:4:150","type":""}],"src":"7869:239:150"},{"body":{"nodeType":"YulBlock","src":"8173:330:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8190:3:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8201:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8195:5:150"},"nodeType":"YulFunctionCall","src":"8195:12:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8183:6:150"},"nodeType":"YulFunctionCall","src":"8183:25:150"},"nodeType":"YulExpressionStatement","src":"8183:25:150"},{"nodeType":"YulVariableDeclaration","src":"8217:43:150","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8247:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"8254:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8243:3:150"},"nodeType":"YulFunctionCall","src":"8243:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8237:5:150"},"nodeType":"YulFunctionCall","src":"8237:23:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"8221:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8280:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"8285:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8276:3:150"},"nodeType":"YulFunctionCall","src":"8276:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"8292:4:150","type":"","value":"0x80"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8269:6:150"},"nodeType":"YulFunctionCall","src":"8269:28:150"},"nodeType":"YulExpressionStatement","src":"8269:28:150"},{"nodeType":"YulVariableDeclaration","src":"8306:59:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"8336:12:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8354:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"8359:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8350:3:150"},"nodeType":"YulFunctionCall","src":"8350:14:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"8318:17:150"},"nodeType":"YulFunctionCall","src":"8318:47:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"8310:4:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8385:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"8390:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8381:3:150"},"nodeType":"YulFunctionCall","src":"8381:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8407:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"8414:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8403:3:150"},"nodeType":"YulFunctionCall","src":"8403:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8397:5:150"},"nodeType":"YulFunctionCall","src":"8397:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8374:6:150"},"nodeType":"YulFunctionCall","src":"8374:47:150"},"nodeType":"YulExpressionStatement","src":"8374:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8441:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"8446:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8437:3:150"},"nodeType":"YulFunctionCall","src":"8437:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8463:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"8470:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8459:3:150"},"nodeType":"YulFunctionCall","src":"8459:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8453:5:150"},"nodeType":"YulFunctionCall","src":"8453:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8430:6:150"},"nodeType":"YulFunctionCall","src":"8430:47:150"},"nodeType":"YulExpressionStatement","src":"8430:47:150"},{"nodeType":"YulAssignment","src":"8486:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"8493:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8486:3:150"}]}]},"name":"abi_encode_struct_TokenInfo","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8150:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8157:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8165:3:150","type":""}],"src":"8113:390:150"},{"body":{"nodeType":"YulBlock","src":"8665:109:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8682:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8693:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8675:6:150"},"nodeType":"YulFunctionCall","src":"8675:21:150"},"nodeType":"YulExpressionStatement","src":"8675:21:150"},{"nodeType":"YulAssignment","src":"8705:63:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8741:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8753:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8764:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8749:3:150"},"nodeType":"YulFunctionCall","src":"8749:18:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"8713:27:150"},"nodeType":"YulFunctionCall","src":"8713:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8705:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_TokenInfo_$13440_memory_ptr__to_t_struct$_TokenInfo_$13440_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8634:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8645:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8656:4:150","type":""}],"src":"8508:266:150"},{"body":{"nodeType":"YulBlock","src":"8903:102:150","statements":[{"nodeType":"YulAssignment","src":"8913:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8925:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8936:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8921:3:150"},"nodeType":"YulFunctionCall","src":"8921:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8913:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8955:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8970:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8986:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8991:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8982:3:150"},"nodeType":"YulFunctionCall","src":"8982:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8995:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8978:3:150"},"nodeType":"YulFunctionCall","src":"8978:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8966:3:150"},"nodeType":"YulFunctionCall","src":"8966:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8948:6:150"},"nodeType":"YulFunctionCall","src":"8948:51:150"},"nodeType":"YulExpressionStatement","src":"8948:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8872:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8883:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8894:4:150","type":""}],"src":"8779:226:150"},{"body":{"nodeType":"YulBlock","src":"9114:279:150","statements":[{"body":{"nodeType":"YulBlock","src":"9160:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9169:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9172:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9162:6:150"},"nodeType":"YulFunctionCall","src":"9162:12:150"},"nodeType":"YulExpressionStatement","src":"9162:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9135:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9144:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9131:3:150"},"nodeType":"YulFunctionCall","src":"9131:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9156:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9127:3:150"},"nodeType":"YulFunctionCall","src":"9127:32:150"},"nodeType":"YulIf","src":"9124:52:150"},{"nodeType":"YulVariableDeclaration","src":"9185:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9211:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9198:12:150"},"nodeType":"YulFunctionCall","src":"9198:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9189:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9255:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"9230:24:150"},"nodeType":"YulFunctionCall","src":"9230:31:150"},"nodeType":"YulExpressionStatement","src":"9230:31:150"},{"nodeType":"YulAssignment","src":"9270:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"9280:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9270:6:150"}]},{"nodeType":"YulAssignment","src":"9294:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9321:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9332:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9317:3:150"},"nodeType":"YulFunctionCall","src":"9317:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9304:12:150"},"nodeType":"YulFunctionCall","src":"9304:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9294:6:150"}]},{"nodeType":"YulAssignment","src":"9345:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9372:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9383:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9368:3:150"},"nodeType":"YulFunctionCall","src":"9368:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9355:12:150"},"nodeType":"YulFunctionCall","src":"9355:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9345:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9064:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9075:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9087:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9095:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9103:6:150","type":""}],"src":"9010:383:150"},{"body":{"nodeType":"YulBlock","src":"9605:642:150","statements":[{"nodeType":"YulVariableDeclaration","src":"9615:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9625:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9619:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9636:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9654:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9665:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9650:3:150"},"nodeType":"YulFunctionCall","src":"9650:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"9640:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9684:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9695:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9677:6:150"},"nodeType":"YulFunctionCall","src":"9677:21:150"},"nodeType":"YulExpressionStatement","src":"9677:21:150"},{"nodeType":"YulVariableDeclaration","src":"9707:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"9718:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"9711:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9733:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9753:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9747:5:150"},"nodeType":"YulFunctionCall","src":"9747:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9737:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"9776:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"9784:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9769:6:150"},"nodeType":"YulFunctionCall","src":"9769:22:150"},"nodeType":"YulExpressionStatement","src":"9769:22:150"},{"nodeType":"YulAssignment","src":"9800:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9811:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9822:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9807:3:150"},"nodeType":"YulFunctionCall","src":"9807:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9800:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"9834:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9856:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9871:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"9874:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9867:3:150"},"nodeType":"YulFunctionCall","src":"9867:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9852:3:150"},"nodeType":"YulFunctionCall","src":"9852:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"9884:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9848:3:150"},"nodeType":"YulFunctionCall","src":"9848:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"9838:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9896:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9914:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9922:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9910:3:150"},"nodeType":"YulFunctionCall","src":"9910:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"9900:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9934:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9943:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"9938:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10002:216:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10023:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"10036:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10044:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10032:3:150"},"nodeType":"YulFunctionCall","src":"10032:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10060:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10056:3:150"},"nodeType":"YulFunctionCall","src":"10056:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10028:3:150"},"nodeType":"YulFunctionCall","src":"10028:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10016:6:150"},"nodeType":"YulFunctionCall","src":"10016:49:150"},"nodeType":"YulExpressionStatement","src":"10016:49:150"},{"nodeType":"YulAssignment","src":"10078:60:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"10122:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10116:5:150"},"nodeType":"YulFunctionCall","src":"10116:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"10131:6:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"10088:27:150"},"nodeType":"YulFunctionCall","src":"10088:50:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"10078:6:150"}]},{"nodeType":"YulAssignment","src":"10151:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"10165:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10173:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10161:3:150"},"nodeType":"YulFunctionCall","src":"10161:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"10151:6:150"}]},{"nodeType":"YulAssignment","src":"10189:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10200:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10205:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10196:3:150"},"nodeType":"YulFunctionCall","src":"10196:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10189:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9964:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"9967:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9961:2:150"},"nodeType":"YulFunctionCall","src":"9961:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9975:18:150","statements":[{"nodeType":"YulAssignment","src":"9977:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9986:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"9989:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9982:3:150"},"nodeType":"YulFunctionCall","src":"9982:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"9977:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"9957:3:150","statements":[]},"src":"9953:265:150"},{"nodeType":"YulAssignment","src":"10227:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"10235:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10227:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9574:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9585:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9596:4:150","type":""}],"src":"9398:849:150"},{"body":{"nodeType":"YulBlock","src":"10351:97:150","statements":[{"nodeType":"YulAssignment","src":"10361:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10373:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10384:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10369:3:150"},"nodeType":"YulFunctionCall","src":"10369:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10361:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10403:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10418:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10426:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10414:3:150"},"nodeType":"YulFunctionCall","src":"10414:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10396:6:150"},"nodeType":"YulFunctionCall","src":"10396:46:150"},"nodeType":"YulExpressionStatement","src":"10396:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10320:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10331:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10342:4:150","type":""}],"src":"10252:196:150"},{"body":{"nodeType":"YulBlock","src":"10537:298:150","statements":[{"body":{"nodeType":"YulBlock","src":"10583:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10592:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10595:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10585:6:150"},"nodeType":"YulFunctionCall","src":"10585:12:150"},"nodeType":"YulExpressionStatement","src":"10585:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10558:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10567:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10554:3:150"},"nodeType":"YulFunctionCall","src":"10554:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10579:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10550:3:150"},"nodeType":"YulFunctionCall","src":"10550:32:150"},"nodeType":"YulIf","src":"10547:52:150"},{"nodeType":"YulVariableDeclaration","src":"10608:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10634:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10621:12:150"},"nodeType":"YulFunctionCall","src":"10621:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10612:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10678:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"10653:24:150"},"nodeType":"YulFunctionCall","src":"10653:31:150"},"nodeType":"YulExpressionStatement","src":"10653:31:150"},{"nodeType":"YulAssignment","src":"10693:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10703:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10693:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10717:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10749:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10760:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10745:3:150"},"nodeType":"YulFunctionCall","src":"10745:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10732:12:150"},"nodeType":"YulFunctionCall","src":"10732:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"10721:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"10795:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"10773:21:150"},"nodeType":"YulFunctionCall","src":"10773:30:150"},"nodeType":"YulExpressionStatement","src":"10773:30:150"},{"nodeType":"YulAssignment","src":"10812:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"10822:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10812:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10495:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10506:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10518:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10526:6:150","type":""}],"src":"10453:382:150"},{"body":{"nodeType":"YulBlock","src":"10935:851:150","statements":[{"nodeType":"YulVariableDeclaration","src":"10945:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10955:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"10949:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11002:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11011:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11014:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11004:6:150"},"nodeType":"YulFunctionCall","src":"11004:12:150"},"nodeType":"YulExpressionStatement","src":"11004:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10977:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10986:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10973:3:150"},"nodeType":"YulFunctionCall","src":"10973:23:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10998:2:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10969:3:150"},"nodeType":"YulFunctionCall","src":"10969:32:150"},"nodeType":"YulIf","src":"10966:52:150"},{"nodeType":"YulVariableDeclaration","src":"11027:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11054:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11041:12:150"},"nodeType":"YulFunctionCall","src":"11041:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11031:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11073:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11091:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"11095:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11087:3:150"},"nodeType":"YulFunctionCall","src":"11087:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"11099:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11083:3:150"},"nodeType":"YulFunctionCall","src":"11083:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"11077:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11128:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11137:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11140:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11130:6:150"},"nodeType":"YulFunctionCall","src":"11130:12:150"},"nodeType":"YulExpressionStatement","src":"11130:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11116:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"11124:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11113:2:150"},"nodeType":"YulFunctionCall","src":"11113:14:150"},"nodeType":"YulIf","src":"11110:34:150"},{"nodeType":"YulVariableDeclaration","src":"11153:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11167:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"11178:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11163:3:150"},"nodeType":"YulFunctionCall","src":"11163:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"11157:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11233:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11242:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11245:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11235:6:150"},"nodeType":"YulFunctionCall","src":"11235:12:150"},"nodeType":"YulExpressionStatement","src":"11235:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11212:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"11216:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11208:3:150"},"nodeType":"YulFunctionCall","src":"11208:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11223:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11204:3:150"},"nodeType":"YulFunctionCall","src":"11204:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11197:6:150"},"nodeType":"YulFunctionCall","src":"11197:35:150"},"nodeType":"YulIf","src":"11194:55:150"},{"nodeType":"YulVariableDeclaration","src":"11258:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11281:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11268:12:150"},"nodeType":"YulFunctionCall","src":"11268:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"11262:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11307:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"11309:16:150"},"nodeType":"YulFunctionCall","src":"11309:18:150"},"nodeType":"YulExpressionStatement","src":"11309:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"11299:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"11303:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11296:2:150"},"nodeType":"YulFunctionCall","src":"11296:10:150"},"nodeType":"YulIf","src":"11293:36:150"},{"nodeType":"YulVariableDeclaration","src":"11338:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11352:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"11355:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11348:3:150"},"nodeType":"YulFunctionCall","src":"11348:10:150"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"11342:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11367:39:150","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"11398:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11402:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11394:3:150"},"nodeType":"YulFunctionCall","src":"11394:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"11378:15:150"},"nodeType":"YulFunctionCall","src":"11378:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"11371:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11415:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"11428:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"11419:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11447:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"11452:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11440:6:150"},"nodeType":"YulFunctionCall","src":"11440:15:150"},"nodeType":"YulExpressionStatement","src":"11440:15:150"},{"nodeType":"YulAssignment","src":"11464:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11475:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11480:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11471:3:150"},"nodeType":"YulFunctionCall","src":"11471:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"11464:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"11492:34:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11514:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"11518:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11510:3:150"},"nodeType":"YulFunctionCall","src":"11510:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11523:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11506:3:150"},"nodeType":"YulFunctionCall","src":"11506:20:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"11496:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11558:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11567:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11570:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11560:6:150"},"nodeType":"YulFunctionCall","src":"11560:12:150"},"nodeType":"YulExpressionStatement","src":"11560:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"11541:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11549:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11538:2:150"},"nodeType":"YulFunctionCall","src":"11538:19:150"},"nodeType":"YulIf","src":"11535:39:150"},{"nodeType":"YulVariableDeclaration","src":"11583:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11598:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11602:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11594:3:150"},"nodeType":"YulFunctionCall","src":"11594:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"11587:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11670:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11691:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11709:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11696:12:150"},"nodeType":"YulFunctionCall","src":"11696:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11684:6:150"},"nodeType":"YulFunctionCall","src":"11684:30:150"},"nodeType":"YulExpressionStatement","src":"11684:30:150"},{"nodeType":"YulAssignment","src":"11727:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11738:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11743:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11734:3:150"},"nodeType":"YulFunctionCall","src":"11734:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"11727:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11625:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"11630:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11622:2:150"},"nodeType":"YulFunctionCall","src":"11622:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11638:23:150","statements":[{"nodeType":"YulAssignment","src":"11640:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11651:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11656:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11647:3:150"},"nodeType":"YulFunctionCall","src":"11647:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"11640:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"11618:3:150","statements":[]},"src":"11614:142:150"},{"nodeType":"YulAssignment","src":"11765:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"11775:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11765:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10901:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10912:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10924:6:150","type":""}],"src":"10840:946:150"},{"body":{"nodeType":"YulBlock","src":"11921:535:150","statements":[{"body":{"nodeType":"YulBlock","src":"11968:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11977:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11980:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11970:6:150"},"nodeType":"YulFunctionCall","src":"11970:12:150"},"nodeType":"YulExpressionStatement","src":"11970:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11942:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11951:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11938:3:150"},"nodeType":"YulFunctionCall","src":"11938:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11963:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11934:3:150"},"nodeType":"YulFunctionCall","src":"11934:33:150"},"nodeType":"YulIf","src":"11931:53:150"},{"nodeType":"YulVariableDeclaration","src":"11993:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12019:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12006:12:150"},"nodeType":"YulFunctionCall","src":"12006:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11997:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12063:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12038:24:150"},"nodeType":"YulFunctionCall","src":"12038:31:150"},"nodeType":"YulExpressionStatement","src":"12038:31:150"},{"nodeType":"YulAssignment","src":"12078:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12088:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12078:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"12102:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12134:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12145:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12130:3:150"},"nodeType":"YulFunctionCall","src":"12130:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12117:12:150"},"nodeType":"YulFunctionCall","src":"12117:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"12106:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"12183:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12158:24:150"},"nodeType":"YulFunctionCall","src":"12158:33:150"},"nodeType":"YulExpressionStatement","src":"12158:33:150"},{"nodeType":"YulAssignment","src":"12200:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"12210:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"12200:6:150"}]},{"nodeType":"YulAssignment","src":"12226:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12253:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12264:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12249:3:150"},"nodeType":"YulFunctionCall","src":"12249:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12236:12:150"},"nodeType":"YulFunctionCall","src":"12236:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"12226:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"12277:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12308:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12319:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12304:3:150"},"nodeType":"YulFunctionCall","src":"12304:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12291:12:150"},"nodeType":"YulFunctionCall","src":"12291:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12281:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12366:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12375:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12378:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12368:6:150"},"nodeType":"YulFunctionCall","src":"12368:12:150"},"nodeType":"YulExpressionStatement","src":"12368:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12338:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12354:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"12358:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12350:3:150"},"nodeType":"YulFunctionCall","src":"12350:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"12362:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12346:3:150"},"nodeType":"YulFunctionCall","src":"12346:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12335:2:150"},"nodeType":"YulFunctionCall","src":"12335:30:150"},"nodeType":"YulIf","src":"12332:50:150"},{"nodeType":"YulAssignment","src":"12391:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12422:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"12433:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12418:3:150"},"nodeType":"YulFunctionCall","src":"12418:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"12442:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"12401:16:150"},"nodeType":"YulFunctionCall","src":"12401:49:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"12391:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11863:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11874:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11886:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11894:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11902:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11910:6:150","type":""}],"src":"11791:665:150"},{"body":{"nodeType":"YulBlock","src":"12529:175:150","statements":[{"body":{"nodeType":"YulBlock","src":"12575:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12584:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12587:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12577:6:150"},"nodeType":"YulFunctionCall","src":"12577:12:150"},"nodeType":"YulExpressionStatement","src":"12577:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12550:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12559:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12546:3:150"},"nodeType":"YulFunctionCall","src":"12546:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12571:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12542:3:150"},"nodeType":"YulFunctionCall","src":"12542:32:150"},"nodeType":"YulIf","src":"12539:52:150"},{"nodeType":"YulVariableDeclaration","src":"12600:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12626:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12613:12:150"},"nodeType":"YulFunctionCall","src":"12613:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12604:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12668:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"12645:22:150"},"nodeType":"YulFunctionCall","src":"12645:29:150"},"nodeType":"YulExpressionStatement","src":"12645:29:150"},{"nodeType":"YulAssignment","src":"12683:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12693:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12683:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12495:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12506:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12518:6:150","type":""}],"src":"12461:243:150"},{"body":{"nodeType":"YulBlock","src":"12796:301:150","statements":[{"body":{"nodeType":"YulBlock","src":"12842:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12851:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12854:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12844:6:150"},"nodeType":"YulFunctionCall","src":"12844:12:150"},"nodeType":"YulExpressionStatement","src":"12844:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12817:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12826:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12813:3:150"},"nodeType":"YulFunctionCall","src":"12813:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12838:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12809:3:150"},"nodeType":"YulFunctionCall","src":"12809:32:150"},"nodeType":"YulIf","src":"12806:52:150"},{"nodeType":"YulVariableDeclaration","src":"12867:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12893:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12880:12:150"},"nodeType":"YulFunctionCall","src":"12880:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12871:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12937:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12912:24:150"},"nodeType":"YulFunctionCall","src":"12912:31:150"},"nodeType":"YulExpressionStatement","src":"12912:31:150"},{"nodeType":"YulAssignment","src":"12952:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12962:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12952:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"12976:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13008:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13019:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13004:3:150"},"nodeType":"YulFunctionCall","src":"13004:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12991:12:150"},"nodeType":"YulFunctionCall","src":"12991:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"12980:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13057:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13032:24:150"},"nodeType":"YulFunctionCall","src":"13032:33:150"},"nodeType":"YulExpressionStatement","src":"13032:33:150"},{"nodeType":"YulAssignment","src":"13074:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"13084:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13074:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12754:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12765:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12777:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12785:6:150","type":""}],"src":"12709:388:150"},{"body":{"nodeType":"YulBlock","src":"13276:177:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13293:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13304:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13286:6:150"},"nodeType":"YulFunctionCall","src":"13286:21:150"},"nodeType":"YulExpressionStatement","src":"13286:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13327:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13338:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13323:3:150"},"nodeType":"YulFunctionCall","src":"13323:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"13343:2:150","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13316:6:150"},"nodeType":"YulFunctionCall","src":"13316:30:150"},"nodeType":"YulExpressionStatement","src":"13316:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13366:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13377:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13362:3:150"},"nodeType":"YulFunctionCall","src":"13362:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","kind":"string","nodeType":"YulLiteral","src":"13382:29:150","type":"","value":"GalaxyMember: invalid level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13355:6:150"},"nodeType":"YulFunctionCall","src":"13355:57:150"},"nodeType":"YulExpressionStatement","src":"13355:57:150"},{"nodeType":"YulAssignment","src":"13421:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13433:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13444:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13429:3:150"},"nodeType":"YulFunctionCall","src":"13429:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13421:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13253:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13267:4:150","type":""}],"src":"13102:351:150"},{"body":{"nodeType":"YulBlock","src":"13632:182:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13649:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13660:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13642:6:150"},"nodeType":"YulFunctionCall","src":"13642:21:150"},"nodeType":"YulExpressionStatement","src":"13642:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13683:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13694:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13679:3:150"},"nodeType":"YulFunctionCall","src":"13679:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"13699:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13672:6:150"},"nodeType":"YulFunctionCall","src":"13672:30:150"},"nodeType":"YulExpressionStatement","src":"13672:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13722:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13733:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13718:3:150"},"nodeType":"YulFunctionCall","src":"13718:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","kind":"string","nodeType":"YulLiteral","src":"13738:34:150","type":"","value":"GalaxyMember: invalid node level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13711:6:150"},"nodeType":"YulFunctionCall","src":"13711:62:150"},"nodeType":"YulExpressionStatement","src":"13711:62:150"},{"nodeType":"YulAssignment","src":"13782:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13794:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13805:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13790:3:150"},"nodeType":"YulFunctionCall","src":"13790:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13782:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13609:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13623:4:150","type":""}],"src":"13458:356:150"},{"body":{"nodeType":"YulBlock","src":"13993:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14010:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14021:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14003:6:150"},"nodeType":"YulFunctionCall","src":"14003:21:150"},"nodeType":"YulExpressionStatement","src":"14003:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14044:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14055:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14040:3:150"},"nodeType":"YulFunctionCall","src":"14040:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"14060:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14033:6:150"},"nodeType":"YulFunctionCall","src":"14033:30:150"},"nodeType":"YulExpressionStatement","src":"14033:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14083:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14094:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14079:3:150"},"nodeType":"YulFunctionCall","src":"14079:18:150"},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373","kind":"string","nodeType":"YulLiteral","src":"14099:34:150","type":"","value":"GalaxyMember: level must be less"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14072:6:150"},"nodeType":"YulFunctionCall","src":"14072:62:150"},"nodeType":"YulExpressionStatement","src":"14072:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14154:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14165:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14150:3:150"},"nodeType":"YulFunctionCall","src":"14150:18:150"},{"hexValue":"207468616e206f7220657175616c20746f204d41585f4c4556454c","kind":"string","nodeType":"YulLiteral","src":"14170:29:150","type":"","value":" than or equal to MAX_LEVEL"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14143:6:150"},"nodeType":"YulFunctionCall","src":"14143:57:150"},"nodeType":"YulExpressionStatement","src":"14143:57:150"},{"nodeType":"YulAssignment","src":"14209:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14221:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14232:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14217:3:150"},"nodeType":"YulFunctionCall","src":"14217:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14209:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13970:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13984:4:150","type":""}],"src":"13819:423:150"},{"body":{"nodeType":"YulBlock","src":"14302:325:150","statements":[{"nodeType":"YulAssignment","src":"14312:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14326:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"14329:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"14322:3:150"},"nodeType":"YulFunctionCall","src":"14322:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"14312:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14343:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14373:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"14379:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14369:3:150"},"nodeType":"YulFunctionCall","src":"14369:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"14347:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14420:31:150","statements":[{"nodeType":"YulAssignment","src":"14422:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"14436:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"14444:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14432:3:150"},"nodeType":"YulFunctionCall","src":"14432:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"14422:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"14400:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14393:6:150"},"nodeType":"YulFunctionCall","src":"14393:26:150"},"nodeType":"YulIf","src":"14390:61:150"},{"body":{"nodeType":"YulBlock","src":"14510:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14531:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14538:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"14543:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14534:3:150"},"nodeType":"YulFunctionCall","src":"14534:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14524:6:150"},"nodeType":"YulFunctionCall","src":"14524:31:150"},"nodeType":"YulExpressionStatement","src":"14524:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14575:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"14578:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14568:6:150"},"nodeType":"YulFunctionCall","src":"14568:15:150"},"nodeType":"YulExpressionStatement","src":"14568:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14603:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14606:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14596:6:150"},"nodeType":"YulFunctionCall","src":"14596:15:150"},"nodeType":"YulExpressionStatement","src":"14596:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"14466:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"14489:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"14497:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14486:2:150"},"nodeType":"YulFunctionCall","src":"14486:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14463:2:150"},"nodeType":"YulFunctionCall","src":"14463:38:150"},"nodeType":"YulIf","src":"14460:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"14282:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"14291:6:150","type":""}],"src":"14247:380:150"},{"body":{"nodeType":"YulBlock","src":"14806:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14823:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14834:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14816:6:150"},"nodeType":"YulFunctionCall","src":"14816:21:150"},"nodeType":"YulExpressionStatement","src":"14816:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14857:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14868:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14853:3:150"},"nodeType":"YulFunctionCall","src":"14853:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"14873:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14846:6:150"},"nodeType":"YulFunctionCall","src":"14846:30:150"},"nodeType":"YulExpressionStatement","src":"14846:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14896:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14907:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14892:3:150"},"nodeType":"YulFunctionCall","src":"14892:18:150"},{"hexValue":"47616c617879204d656d6265723a205f73746172676174654e46542063616e6e","kind":"string","nodeType":"YulLiteral","src":"14912:34:150","type":"","value":"Galaxy Member: _stargateNFT cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14885:6:150"},"nodeType":"YulFunctionCall","src":"14885:62:150"},"nodeType":"YulExpressionStatement","src":"14885:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14978:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14963:3:150"},"nodeType":"YulFunctionCall","src":"14963:18:150"},{"hexValue":"6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"14983:24:150","type":"","value":"ot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14956:6:150"},"nodeType":"YulFunctionCall","src":"14956:52:150"},"nodeType":"YulExpressionStatement","src":"14956:52:150"},{"nodeType":"YulAssignment","src":"15017:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15029:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15040:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15025:3:150"},"nodeType":"YulFunctionCall","src":"15025:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15017:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_a38e447c5b0b4349960f55aa87f10b03e4f9a190d02e4cb0f1b55ca947b45ce5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14783:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14797:4:150","type":""}],"src":"14632:418:150"},{"body":{"nodeType":"YulBlock","src":"15154:101:150","statements":[{"nodeType":"YulAssignment","src":"15164:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15176:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15187:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15172:3:150"},"nodeType":"YulFunctionCall","src":"15172:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15164:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15206:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15221:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15237:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"15241:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15233:3:150"},"nodeType":"YulFunctionCall","src":"15233:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"15245:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15229:3:150"},"nodeType":"YulFunctionCall","src":"15229:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15217:3:150"},"nodeType":"YulFunctionCall","src":"15217:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15199:6:150"},"nodeType":"YulFunctionCall","src":"15199:50:150"},"nodeType":"YulExpressionStatement","src":"15199:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15123:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15134:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15145:4:150","type":""}],"src":"15055:200:150"},{"body":{"nodeType":"YulBlock","src":"15417:218:150","statements":[{"nodeType":"YulAssignment","src":"15427:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15439:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15450:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15435:3:150"},"nodeType":"YulFunctionCall","src":"15435:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15427:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"15462:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15480:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"15485:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15476:3:150"},"nodeType":"YulFunctionCall","src":"15476:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"15489:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15472:3:150"},"nodeType":"YulFunctionCall","src":"15472:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"15466:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15507:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15522:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15530:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15518:3:150"},"nodeType":"YulFunctionCall","src":"15518:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15500:6:150"},"nodeType":"YulFunctionCall","src":"15500:34:150"},"nodeType":"YulExpressionStatement","src":"15500:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15554:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15565:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15550:3:150"},"nodeType":"YulFunctionCall","src":"15550:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"15570:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15543:6:150"},"nodeType":"YulFunctionCall","src":"15543:34:150"},"nodeType":"YulExpressionStatement","src":"15543:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15597:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15608:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15593:3:150"},"nodeType":"YulFunctionCall","src":"15593:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"15617:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15625:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15613:3:150"},"nodeType":"YulFunctionCall","src":"15613:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15586:6:150"},"nodeType":"YulFunctionCall","src":"15586:43:150"},"nodeType":"YulExpressionStatement","src":"15586:43:150"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15370:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"15381:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15389:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15397:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15408:4:150","type":""}],"src":"15260:375:150"},{"body":{"nodeType":"YulBlock","src":"15769:145:150","statements":[{"nodeType":"YulAssignment","src":"15779:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15791:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15802:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15787:3:150"},"nodeType":"YulFunctionCall","src":"15787:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15779:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15821:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15836:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15852:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"15857:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15848:3:150"},"nodeType":"YulFunctionCall","src":"15848:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"15861:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15844:3:150"},"nodeType":"YulFunctionCall","src":"15844:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15832:3:150"},"nodeType":"YulFunctionCall","src":"15832:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15814:6:150"},"nodeType":"YulFunctionCall","src":"15814:51:150"},"nodeType":"YulExpressionStatement","src":"15814:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15885:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15896:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15881:3:150"},"nodeType":"YulFunctionCall","src":"15881:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"15901:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15874:6:150"},"nodeType":"YulFunctionCall","src":"15874:34:150"},"nodeType":"YulExpressionStatement","src":"15874:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15730:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15741:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15749:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15760:4:150","type":""}],"src":"15640:274:150"},{"body":{"nodeType":"YulBlock","src":"16093:297:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16110:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16121:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16103:6:150"},"nodeType":"YulFunctionCall","src":"16103:21:150"},"nodeType":"YulExpressionStatement","src":"16103:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16144:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16155:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16140:3:150"},"nodeType":"YulFunctionCall","src":"16140:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16160:2:150","type":"","value":"67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16133:6:150"},"nodeType":"YulFunctionCall","src":"16133:30:150"},"nodeType":"YulExpressionStatement","src":"16133:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16183:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16194:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16179:3:150"},"nodeType":"YulFunctionCall","src":"16179:18:150"},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d757374206265","kind":"string","nodeType":"YulLiteral","src":"16199:34:150","type":"","value":"Galaxy Member: Max level must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16172:6:150"},"nodeType":"YulFunctionCall","src":"16172:62:150"},"nodeType":"YulExpressionStatement","src":"16172:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16254:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16265:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16250:3:150"},"nodeType":"YulFunctionCall","src":"16250:18:150"},{"hexValue":"2067726561746572207468616e207468652063757272656e74206d6178206c65","kind":"string","nodeType":"YulLiteral","src":"16270:34:150","type":"","value":" greater than the current max le"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16243:6:150"},"nodeType":"YulFunctionCall","src":"16243:62:150"},"nodeType":"YulExpressionStatement","src":"16243:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16325:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16336:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16321:3:150"},"nodeType":"YulFunctionCall","src":"16321:19:150"},{"hexValue":"76656c","kind":"string","nodeType":"YulLiteral","src":"16342:5:150","type":"","value":"vel"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16314:6:150"},"nodeType":"YulFunctionCall","src":"16314:34:150"},"nodeType":"YulExpressionStatement","src":"16314:34:150"},{"nodeType":"YulAssignment","src":"16357:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16369:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16380:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16365:3:150"},"nodeType":"YulFunctionCall","src":"16365:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16357:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16070:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16084:4:150","type":""}],"src":"15919:471:150"},{"body":{"nodeType":"YulBlock","src":"16569:296:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16586:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16597:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16579:6:150"},"nodeType":"YulFunctionCall","src":"16579:21:150"},"nodeType":"YulExpressionStatement","src":"16579:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16620:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16631:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16616:3:150"},"nodeType":"YulFunctionCall","src":"16616:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16636:2:150","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16609:6:150"},"nodeType":"YulFunctionCall","src":"16609:30:150"},"nodeType":"YulExpressionStatement","src":"16609:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16659:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16670:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16655:3:150"},"nodeType":"YulFunctionCall","src":"16655:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"16675:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16648:6:150"},"nodeType":"YulFunctionCall","src":"16648:62:150"},"nodeType":"YulExpressionStatement","src":"16648:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16730:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16741:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16726:3:150"},"nodeType":"YulFunctionCall","src":"16726:18:150"},{"hexValue":"7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b","kind":"string","nodeType":"YulLiteral","src":"16746:34:150","type":"","value":"ust be set for all levels unlock"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16719:6:150"},"nodeType":"YulFunctionCall","src":"16719:62:150"},"nodeType":"YulExpressionStatement","src":"16719:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16801:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16812:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16797:3:150"},"nodeType":"YulFunctionCall","src":"16797:19:150"},{"hexValue":"6564","kind":"string","nodeType":"YulLiteral","src":"16818:4:150","type":"","value":"ed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16790:6:150"},"nodeType":"YulFunctionCall","src":"16790:33:150"},"nodeType":"YulExpressionStatement","src":"16790:33:150"},{"nodeType":"YulAssignment","src":"16832:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16844:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16855:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16840:3:150"},"nodeType":"YulFunctionCall","src":"16840:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16832:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16546:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16560:4:150","type":""}],"src":"16395:470:150"},{"body":{"nodeType":"YulBlock","src":"16902:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16919:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16926:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"16931:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16922:3:150"},"nodeType":"YulFunctionCall","src":"16922:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16912:6:150"},"nodeType":"YulFunctionCall","src":"16912:31:150"},"nodeType":"YulExpressionStatement","src":"16912:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16959:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"16962:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16952:6:150"},"nodeType":"YulFunctionCall","src":"16952:15:150"},"nodeType":"YulExpressionStatement","src":"16952:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16983:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16986:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16976:6:150"},"nodeType":"YulFunctionCall","src":"16976:15:150"},"nodeType":"YulExpressionStatement","src":"16976:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"16870:127:150"},{"body":{"nodeType":"YulBlock","src":"17049:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"17080:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"17082:16:150"},"nodeType":"YulFunctionCall","src":"17082:18:150"},"nodeType":"YulExpressionStatement","src":"17082:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17065:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17076:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"17072:3:150"},"nodeType":"YulFunctionCall","src":"17072:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17062:2:150"},"nodeType":"YulFunctionCall","src":"17062:17:150"},"nodeType":"YulIf","src":"17059:43:150"},{"nodeType":"YulAssignment","src":"17111:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17122:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"17129:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17118:3:150"},"nodeType":"YulFunctionCall","src":"17118:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"17111:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17031:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"17041:3:150","type":""}],"src":"17002:135:150"},{"body":{"nodeType":"YulBlock","src":"17271:119:150","statements":[{"nodeType":"YulAssignment","src":"17281:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17293:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17304:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17289:3:150"},"nodeType":"YulFunctionCall","src":"17289:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17281:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17323:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"17334:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17316:6:150"},"nodeType":"YulFunctionCall","src":"17316:25:150"},"nodeType":"YulExpressionStatement","src":"17316:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17361:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17372:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17357:3:150"},"nodeType":"YulFunctionCall","src":"17357:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17377:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17350:6:150"},"nodeType":"YulFunctionCall","src":"17350:34:150"},"nodeType":"YulExpressionStatement","src":"17350:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17232:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17243:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17251:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17262:4:150","type":""}],"src":"17142:248:150"},{"body":{"nodeType":"YulBlock","src":"17569:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17586:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17597:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17579:6:150"},"nodeType":"YulFunctionCall","src":"17579:21:150"},"nodeType":"YulExpressionStatement","src":"17579:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17620:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17631:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17616:3:150"},"nodeType":"YulFunctionCall","src":"17616:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"17636:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17609:6:150"},"nodeType":"YulFunctionCall","src":"17609:30:150"},"nodeType":"YulExpressionStatement","src":"17609:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17659:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17670:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17655:3:150"},"nodeType":"YulFunctionCall","src":"17655:18:150"},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665","kind":"string","nodeType":"YulLiteral","src":"17675:34:150","type":"","value":"Galaxy Member: _xAllocationsGove"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17648:6:150"},"nodeType":"YulFunctionCall","src":"17648:62:150"},"nodeType":"YulExpressionStatement","src":"17648:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17730:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17741:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17726:3:150"},"nodeType":"YulFunctionCall","src":"17726:18:150"},{"hexValue":"726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"17746:33:150","type":"","value":"rnor cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17719:6:150"},"nodeType":"YulFunctionCall","src":"17719:61:150"},"nodeType":"YulExpressionStatement","src":"17719:61:150"},{"nodeType":"YulAssignment","src":"17789:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17801:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17812:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17797:3:150"},"nodeType":"YulFunctionCall","src":"17797:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17789:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17546:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17560:4:150","type":""}],"src":"17395:427:150"},{"body":{"nodeType":"YulBlock","src":"17906:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"17952:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17961:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17964:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17954:6:150"},"nodeType":"YulFunctionCall","src":"17954:12:150"},"nodeType":"YulExpressionStatement","src":"17954:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17927:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17936:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17923:3:150"},"nodeType":"YulFunctionCall","src":"17923:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"17948:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17919:3:150"},"nodeType":"YulFunctionCall","src":"17919:32:150"},"nodeType":"YulIf","src":"17916:52:150"},{"nodeType":"YulVariableDeclaration","src":"17977:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17996:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17990:5:150"},"nodeType":"YulFunctionCall","src":"17990:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17981:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18038:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"18015:22:150"},"nodeType":"YulFunctionCall","src":"18015:29:150"},"nodeType":"YulExpressionStatement","src":"18015:29:150"},{"nodeType":"YulAssignment","src":"18053:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"18063:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"18053:6:150"}]}]},"name":"abi_decode_tuple_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17872:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17883:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17895:6:150","type":""}],"src":"17827:247:150"},{"body":{"nodeType":"YulBlock","src":"18253:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18270:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18281:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18263:6:150"},"nodeType":"YulFunctionCall","src":"18263:21:150"},"nodeType":"YulExpressionStatement","src":"18263:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18304:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18315:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18300:3:150"},"nodeType":"YulFunctionCall","src":"18300:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18320:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18293:6:150"},"nodeType":"YulFunctionCall","src":"18293:30:150"},"nodeType":"YulExpressionStatement","src":"18293:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18343:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18354:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18339:3:150"},"nodeType":"YulFunctionCall","src":"18339:18:150"},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865","kind":"string","nodeType":"YulLiteral","src":"18359:34:150","type":"","value":"Galaxy Member: caller is not the"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18332:6:150"},"nodeType":"YulFunctionCall","src":"18332:62:150"},"nodeType":"YulExpressionStatement","src":"18332:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18414:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18425:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18410:3:150"},"nodeType":"YulFunctionCall","src":"18410:18:150"},{"hexValue":"206f776e6572206f662074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"18430:21:150","type":"","value":" owner of the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18403:6:150"},"nodeType":"YulFunctionCall","src":"18403:49:150"},"nodeType":"YulExpressionStatement","src":"18403:49:150"},{"nodeType":"YulAssignment","src":"18461:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18473:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18484:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18469:3:150"},"nodeType":"YulFunctionCall","src":"18469:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18461:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18230:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18244:4:150","type":""}],"src":"18079:415:150"},{"body":{"nodeType":"YulBlock","src":"18673:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18690:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18701:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18683:6:150"},"nodeType":"YulFunctionCall","src":"18683:21:150"},"nodeType":"YulExpressionStatement","src":"18683:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18724:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18735:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18720:3:150"},"nodeType":"YulFunctionCall","src":"18720:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18740:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18713:6:150"},"nodeType":"YulFunctionCall","src":"18713:30:150"},"nodeType":"YulExpressionStatement","src":"18713:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18763:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18774:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18759:3:150"},"nodeType":"YulFunctionCall","src":"18759:18:150"},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520","kind":"string","nodeType":"YulLiteral","src":"18779:34:150","type":"","value":"Galaxy Member: you must own the "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18752:6:150"},"nodeType":"YulFunctionCall","src":"18752:62:150"},"nodeType":"YulExpressionStatement","src":"18752:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18834:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18845:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18830:3:150"},"nodeType":"YulFunctionCall","src":"18830:18:150"},{"hexValue":"546f6b656e20746f2075706772616465206974","kind":"string","nodeType":"YulLiteral","src":"18850:21:150","type":"","value":"Token to upgrade it"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18823:6:150"},"nodeType":"YulFunctionCall","src":"18823:49:150"},"nodeType":"YulExpressionStatement","src":"18823:49:150"},{"nodeType":"YulAssignment","src":"18881:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18893:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18904:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18889:3:150"},"nodeType":"YulFunctionCall","src":"18889:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18881:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18650:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18664:4:150","type":""}],"src":"18499:415:150"},{"body":{"nodeType":"YulBlock","src":"19093:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19110:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19121:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19103:6:150"},"nodeType":"YulFunctionCall","src":"19103:21:150"},"nodeType":"YulExpressionStatement","src":"19103:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19144:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19155:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19140:3:150"},"nodeType":"YulFunctionCall","src":"19140:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"19160:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19133:6:150"},"nodeType":"YulFunctionCall","src":"19133:30:150"},"nodeType":"YulExpressionStatement","src":"19133:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19183:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19194:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19179:3:150"},"nodeType":"YulFunctionCall","src":"19179:18:150"},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c726561647920","kind":"string","nodeType":"YulLiteral","src":"19199:34:150","type":"","value":"Galaxy Member: Token is already "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19172:6:150"},"nodeType":"YulFunctionCall","src":"19172:62:150"},"nodeType":"YulExpressionStatement","src":"19172:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19254:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19265:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19250:3:150"},"nodeType":"YulFunctionCall","src":"19250:18:150"},{"hexValue":"6174206d6178206c6576656c","kind":"string","nodeType":"YulLiteral","src":"19270:14:150","type":"","value":"at max level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19243:6:150"},"nodeType":"YulFunctionCall","src":"19243:42:150"},"nodeType":"YulExpressionStatement","src":"19243:42:150"},{"nodeType":"YulAssignment","src":"19294:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19306:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19317:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19302:3:150"},"nodeType":"YulFunctionCall","src":"19302:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19294:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19070:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19084:4:150","type":""}],"src":"18919:408:150"},{"body":{"nodeType":"YulBlock","src":"19413:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"19459:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19468:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19471:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19461:6:150"},"nodeType":"YulFunctionCall","src":"19461:12:150"},"nodeType":"YulExpressionStatement","src":"19461:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19434:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19443:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19430:3:150"},"nodeType":"YulFunctionCall","src":"19430:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19455:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19426:3:150"},"nodeType":"YulFunctionCall","src":"19426:32:150"},"nodeType":"YulIf","src":"19423:52:150"},{"nodeType":"YulAssignment","src":"19484:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19500:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19494:5:150"},"nodeType":"YulFunctionCall","src":"19494:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19484:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19379:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19390:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19402:6:150","type":""}],"src":"19332:184:150"},{"body":{"nodeType":"YulBlock","src":"19695:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19712:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19723:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19705:6:150"},"nodeType":"YulFunctionCall","src":"19705:21:150"},"nodeType":"YulExpressionStatement","src":"19705:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19746:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19757:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19742:3:150"},"nodeType":"YulFunctionCall","src":"19742:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"19762:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19735:6:150"},"nodeType":"YulFunctionCall","src":"19735:30:150"},"nodeType":"YulExpressionStatement","src":"19735:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19785:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19796:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19781:3:150"},"nodeType":"YulFunctionCall","src":"19781:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c61","kind":"string","nodeType":"YulLiteral","src":"19801:34:150","type":"","value":"Galaxy Member: Insufficient bala"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19774:6:150"},"nodeType":"YulFunctionCall","src":"19774:62:150"},"nodeType":"YulExpressionStatement","src":"19774:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19856:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19867:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19852:3:150"},"nodeType":"YulFunctionCall","src":"19852:18:150"},{"hexValue":"6e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"19872:16:150","type":"","value":"nce to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19845:6:150"},"nodeType":"YulFunctionCall","src":"19845:44:150"},"nodeType":"YulExpressionStatement","src":"19845:44:150"},{"nodeType":"YulAssignment","src":"19898:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19910:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19921:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19906:3:150"},"nodeType":"YulFunctionCall","src":"19906:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19898:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19672:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19686:4:150","type":""}],"src":"19521:410:150"},{"body":{"nodeType":"YulBlock","src":"20065:175:150","statements":[{"nodeType":"YulAssignment","src":"20075:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20087:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20098:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20083:3:150"},"nodeType":"YulFunctionCall","src":"20083:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20075:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"20110:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20128:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"20133:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20124:3:150"},"nodeType":"YulFunctionCall","src":"20124:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"20137:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20120:3:150"},"nodeType":"YulFunctionCall","src":"20120:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"20114:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20155:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20170:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20178:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20166:3:150"},"nodeType":"YulFunctionCall","src":"20166:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20148:6:150"},"nodeType":"YulFunctionCall","src":"20148:34:150"},"nodeType":"YulExpressionStatement","src":"20148:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20202:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20213:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20198:3:150"},"nodeType":"YulFunctionCall","src":"20198:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20222:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20230:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20218:3:150"},"nodeType":"YulFunctionCall","src":"20218:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20191:6:150"},"nodeType":"YulFunctionCall","src":"20191:43:150"},"nodeType":"YulExpressionStatement","src":"20191:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20026:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20037:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20045:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20056:4:150","type":""}],"src":"19936:304:150"},{"body":{"nodeType":"YulBlock","src":"20419:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20436:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20447:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20429:6:150"},"nodeType":"YulFunctionCall","src":"20429:21:150"},"nodeType":"YulExpressionStatement","src":"20429:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20470:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20481:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20466:3:150"},"nodeType":"YulFunctionCall","src":"20466:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"20486:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20459:6:150"},"nodeType":"YulFunctionCall","src":"20459:30:150"},"nodeType":"YulExpressionStatement","src":"20459:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20509:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20520:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20505:3:150"},"nodeType":"YulFunctionCall","src":"20505:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f","kind":"string","nodeType":"YulLiteral","src":"20525:34:150","type":"","value":"Galaxy Member: Insufficient allo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20498:6:150"},"nodeType":"YulFunctionCall","src":"20498:62:150"},"nodeType":"YulExpressionStatement","src":"20498:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20580:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20591:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20576:3:150"},"nodeType":"YulFunctionCall","src":"20576:18:150"},{"hexValue":"77616e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"20596:18:150","type":"","value":"wance to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20569:6:150"},"nodeType":"YulFunctionCall","src":"20569:46:150"},"nodeType":"YulExpressionStatement","src":"20569:46:150"},{"nodeType":"YulAssignment","src":"20624:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20636:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20647:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20632:3:150"},"nodeType":"YulFunctionCall","src":"20632:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20624:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20396:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20410:4:150","type":""}],"src":"20245:412:150"},{"body":{"nodeType":"YulBlock","src":"20710:77:150","statements":[{"nodeType":"YulAssignment","src":"20720:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20731:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"20734:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20727:3:150"},"nodeType":"YulFunctionCall","src":"20727:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"20720:3:150"}]},{"body":{"nodeType":"YulBlock","src":"20759:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"20761:16:150"},"nodeType":"YulFunctionCall","src":"20761:18:150"},"nodeType":"YulExpressionStatement","src":"20761:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20751:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"20754:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20748:2:150"},"nodeType":"YulFunctionCall","src":"20748:10:150"},"nodeType":"YulIf","src":"20745:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"20693:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"20696:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"20702:3:150","type":""}],"src":"20662:125:150"},{"body":{"nodeType":"YulBlock","src":"20949:218:150","statements":[{"nodeType":"YulAssignment","src":"20959:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20971:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20982:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20967:3:150"},"nodeType":"YulFunctionCall","src":"20967:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20959:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"20994:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21012:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"21017:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21008:3:150"},"nodeType":"YulFunctionCall","src":"21008:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"21021:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21004:3:150"},"nodeType":"YulFunctionCall","src":"21004:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"20998:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21039:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21054:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"21062:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21050:3:150"},"nodeType":"YulFunctionCall","src":"21050:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21032:6:150"},"nodeType":"YulFunctionCall","src":"21032:34:150"},"nodeType":"YulExpressionStatement","src":"21032:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21086:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21097:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21082:3:150"},"nodeType":"YulFunctionCall","src":"21082:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"21106:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"21114:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21102:3:150"},"nodeType":"YulFunctionCall","src":"21102:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21075:6:150"},"nodeType":"YulFunctionCall","src":"21075:43:150"},"nodeType":"YulExpressionStatement","src":"21075:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21138:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21149:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21134:3:150"},"nodeType":"YulFunctionCall","src":"21134:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"21154:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21127:6:150"},"nodeType":"YulFunctionCall","src":"21127:34:150"},"nodeType":"YulExpressionStatement","src":"21127:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20902:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20913:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20921:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20929:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20940:4:150","type":""}],"src":"20792:375:150"},{"body":{"nodeType":"YulBlock","src":"21250:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"21296:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21305:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21308:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21298:6:150"},"nodeType":"YulFunctionCall","src":"21298:12:150"},"nodeType":"YulExpressionStatement","src":"21298:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21271:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21280:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21267:3:150"},"nodeType":"YulFunctionCall","src":"21267:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21292:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21263:3:150"},"nodeType":"YulFunctionCall","src":"21263:32:150"},"nodeType":"YulIf","src":"21260:52:150"},{"nodeType":"YulVariableDeclaration","src":"21321:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21340:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21334:5:150"},"nodeType":"YulFunctionCall","src":"21334:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21325:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21381:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"21359:21:150"},"nodeType":"YulFunctionCall","src":"21359:28:150"},"nodeType":"YulExpressionStatement","src":"21359:28:150"},{"nodeType":"YulAssignment","src":"21396:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21406:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21396:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21216:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21227:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21239:6:150","type":""}],"src":"21172:245:150"},{"body":{"nodeType":"YulBlock","src":"21596:179:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21613:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21624:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21606:6:150"},"nodeType":"YulFunctionCall","src":"21606:21:150"},"nodeType":"YulExpressionStatement","src":"21606:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21647:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21658:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21643:3:150"},"nodeType":"YulFunctionCall","src":"21643:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21663:2:150","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21636:6:150"},"nodeType":"YulFunctionCall","src":"21636:30:150"},"nodeType":"YulExpressionStatement","src":"21636:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21686:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21697:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21682:3:150"},"nodeType":"YulFunctionCall","src":"21682:18:150"},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"21702:31:150","type":"","value":"GalaxyMember: Transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21675:6:150"},"nodeType":"YulFunctionCall","src":"21675:59:150"},"nodeType":"YulExpressionStatement","src":"21675:59:150"},{"nodeType":"YulAssignment","src":"21743:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21755:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21766:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21751:3:150"},"nodeType":"YulFunctionCall","src":"21751:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21743:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21573:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21587:4:150","type":""}],"src":"21422:353:150"},{"body":{"nodeType":"YulBlock","src":"21954:224:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21971:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21982:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21964:6:150"},"nodeType":"YulFunctionCall","src":"21964:21:150"},"nodeType":"YulExpressionStatement","src":"21964:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22005:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22016:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22001:3:150"},"nodeType":"YulFunctionCall","src":"22001:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"22021:2:150","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21994:6:150"},"nodeType":"YulFunctionCall","src":"21994:30:150"},"nodeType":"YulExpressionStatement","src":"21994:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22044:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22055:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22040:3:150"},"nodeType":"YulFunctionCall","src":"22040:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20646f6573206e6f7420657869","kind":"string","nodeType":"YulLiteral","src":"22060:34:150","type":"","value":"GalaxyMember: token does not exi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22033:6:150"},"nodeType":"YulFunctionCall","src":"22033:62:150"},"nodeType":"YulExpressionStatement","src":"22033:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22115:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22126:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22111:3:150"},"nodeType":"YulFunctionCall","src":"22111:18:150"},{"hexValue":"7374","kind":"string","nodeType":"YulLiteral","src":"22131:4:150","type":"","value":"st"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22104:6:150"},"nodeType":"YulFunctionCall","src":"22104:32:150"},"nodeType":"YulExpressionStatement","src":"22104:32:150"},{"nodeType":"YulAssignment","src":"22145:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22157:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22168:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22153:3:150"},"nodeType":"YulFunctionCall","src":"22153:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22145:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_f16ac10570b456d06db80bd2fe423215070a3564b91d14bb04028128bc67ea7f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21931:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21945:4:150","type":""}],"src":"21780:398:150"},{"body":{"nodeType":"YulBlock","src":"22264:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"22310:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22319:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22322:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22312:6:150"},"nodeType":"YulFunctionCall","src":"22312:12:150"},"nodeType":"YulExpressionStatement","src":"22312:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22285:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22294:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22281:3:150"},"nodeType":"YulFunctionCall","src":"22281:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22306:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22277:3:150"},"nodeType":"YulFunctionCall","src":"22277:32:150"},"nodeType":"YulIf","src":"22274:52:150"},{"nodeType":"YulVariableDeclaration","src":"22335:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22354:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22348:5:150"},"nodeType":"YulFunctionCall","src":"22348:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"22339:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22398:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"22373:24:150"},"nodeType":"YulFunctionCall","src":"22373:31:150"},"nodeType":"YulExpressionStatement","src":"22373:31:150"},{"nodeType":"YulAssignment","src":"22413:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"22423:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22413:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22230:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22241:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22253:6:150","type":""}],"src":"22183:251:150"},{"body":{"nodeType":"YulBlock","src":"22613:308:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22630:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22641:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22623:6:150"},"nodeType":"YulFunctionCall","src":"22623:21:150"},"nodeType":"YulExpressionStatement","src":"22623:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22664:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22675:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22660:3:150"},"nodeType":"YulFunctionCall","src":"22660:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"22680:2:150","type":"","value":"78"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22653:6:150"},"nodeType":"YulFunctionCall","src":"22653:30:150"},"nodeType":"YulExpressionStatement","src":"22653:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22703:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22714:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22699:3:150"},"nodeType":"YulFunctionCall","src":"22699:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f74206f776e6564206f7220","kind":"string","nodeType":"YulLiteral","src":"22719:34:150","type":"","value":"GalaxyMember: node not owned or "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22692:6:150"},"nodeType":"YulFunctionCall","src":"22692:62:150"},"nodeType":"YulExpressionStatement","src":"22692:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22774:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22785:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22770:3:150"},"nodeType":"YulFunctionCall","src":"22770:18:150"},{"hexValue":"6d616e616765642062792063616c6c6572206f7220746f6b656e206e6f74206f","kind":"string","nodeType":"YulLiteral","src":"22790:34:150","type":"","value":"managed by caller or token not o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22763:6:150"},"nodeType":"YulFunctionCall","src":"22763:62:150"},"nodeType":"YulExpressionStatement","src":"22763:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22845:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22856:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22841:3:150"},"nodeType":"YulFunctionCall","src":"22841:19:150"},{"hexValue":"776e65642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"22862:16:150","type":"","value":"wned by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22834:6:150"},"nodeType":"YulFunctionCall","src":"22834:45:150"},"nodeType":"YulExpressionStatement","src":"22834:45:150"},{"nodeType":"YulAssignment","src":"22888:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22900:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22911:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22896:3:150"},"nodeType":"YulFunctionCall","src":"22896:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22888:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_50331b0424526a6436124a585c481f24602c921ae5d40c354e3b100c37eae3a1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22590:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22604:4:150","type":""}],"src":"22439:482:150"},{"body":{"nodeType":"YulBlock","src":"23100:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23117:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23128:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23110:6:150"},"nodeType":"YulFunctionCall","src":"23110:21:150"},"nodeType":"YulExpressionStatement","src":"23110:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23151:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23162:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23147:3:150"},"nodeType":"YulFunctionCall","src":"23147:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"23167:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23140:6:150"},"nodeType":"YulFunctionCall","src":"23140:30:150"},"nodeType":"YulExpressionStatement","src":"23140:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23190:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23201:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23186:3:150"},"nodeType":"YulFunctionCall","src":"23186:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420","kind":"string","nodeType":"YulLiteral","src":"23206:34:150","type":"","value":"GalaxyMember: node not attached "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23179:6:150"},"nodeType":"YulFunctionCall","src":"23179:62:150"},"nodeType":"YulExpressionStatement","src":"23179:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23261:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23272:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23257:3:150"},"nodeType":"YulFunctionCall","src":"23257:18:150"},{"hexValue":"746f2074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"23277:14:150","type":"","value":"to the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23250:6:150"},"nodeType":"YulFunctionCall","src":"23250:42:150"},"nodeType":"YulExpressionStatement","src":"23250:42:150"},{"nodeType":"YulAssignment","src":"23301:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23324:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23309:3:150"},"nodeType":"YulFunctionCall","src":"23309:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23301:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23077:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23091:4:150","type":""}],"src":"22926:408:150"},{"body":{"nodeType":"YulBlock","src":"23513:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23530:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23541:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23523:6:150"},"nodeType":"YulFunctionCall","src":"23523:21:150"},"nodeType":"YulExpressionStatement","src":"23523:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23564:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23575:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23560:3:150"},"nodeType":"YulFunctionCall","src":"23560:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"23580:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23553:6:150"},"nodeType":"YulFunctionCall","src":"23553:30:150"},"nodeType":"YulExpressionStatement","src":"23553:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23603:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23614:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23599:3:150"},"nodeType":"YulFunctionCall","src":"23599:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206174746163686564","kind":"string","nodeType":"YulLiteral","src":"23619:34:150","type":"","value":"GalaxyMember: token not attached"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23592:6:150"},"nodeType":"YulFunctionCall","src":"23592:62:150"},"nodeType":"YulExpressionStatement","src":"23592:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23674:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23685:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23670:3:150"},"nodeType":"YulFunctionCall","src":"23670:18:150"},{"hexValue":"20746f20746865206e6f6465","kind":"string","nodeType":"YulLiteral","src":"23690:14:150","type":"","value":" to the node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23663:6:150"},"nodeType":"YulFunctionCall","src":"23663:42:150"},"nodeType":"YulExpressionStatement","src":"23663:42:150"},{"nodeType":"YulAssignment","src":"23714:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23726:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23737:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23722:3:150"},"nodeType":"YulFunctionCall","src":"23722:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23714:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23490:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23504:4:150","type":""}],"src":"23339:408:150"},{"body":{"nodeType":"YulBlock","src":"23784:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23801:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23808:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"23813:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23804:3:150"},"nodeType":"YulFunctionCall","src":"23804:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23794:6:150"},"nodeType":"YulFunctionCall","src":"23794:31:150"},"nodeType":"YulExpressionStatement","src":"23794:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23841:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23844:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23834:6:150"},"nodeType":"YulFunctionCall","src":"23834:15:150"},"nodeType":"YulExpressionStatement","src":"23834:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23865:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23868:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23858:6:150"},"nodeType":"YulFunctionCall","src":"23858:15:150"},"nodeType":"YulExpressionStatement","src":"23858:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"23752:127:150"},{"body":{"nodeType":"YulBlock","src":"24058:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24075:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24086:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24068:6:150"},"nodeType":"YulFunctionCall","src":"24068:21:150"},"nodeType":"YulExpressionStatement","src":"24068:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24109:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24120:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24105:3:150"},"nodeType":"YulFunctionCall","src":"24105:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24125:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24098:6:150"},"nodeType":"YulFunctionCall","src":"24098:30:150"},"nodeType":"YulExpressionStatement","src":"24098:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24148:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24159:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24144:3:150"},"nodeType":"YulFunctionCall","src":"24144:18:150"},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520","kind":"string","nodeType":"YulLiteral","src":"24164:34:150","type":"","value":"Galaxy Member: Base URI must be "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24137:6:150"},"nodeType":"YulFunctionCall","src":"24137:62:150"},"nodeType":"YulExpressionStatement","src":"24137:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24219:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24230:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24215:3:150"},"nodeType":"YulFunctionCall","src":"24215:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"24235:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24208:6:150"},"nodeType":"YulFunctionCall","src":"24208:33:150"},"nodeType":"YulExpressionStatement","src":"24208:33:150"},{"nodeType":"YulAssignment","src":"24250:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24262:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24273:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24258:3:150"},"nodeType":"YulFunctionCall","src":"24258:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24250:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24035:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24049:4:150","type":""}],"src":"23884:399:150"},{"body":{"nodeType":"YulBlock","src":"24344:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24361:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"24364:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24354:6:150"},"nodeType":"YulFunctionCall","src":"24354:14:150"},"nodeType":"YulExpressionStatement","src":"24354:14:150"},{"nodeType":"YulAssignment","src":"24377:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24395:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24398:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"24385:9:150"},"nodeType":"YulFunctionCall","src":"24385:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"24377:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"24327:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"24335:4:150","type":""}],"src":"24288:121:150"},{"body":{"nodeType":"YulBlock","src":"24550:706:150","statements":[{"nodeType":"YulVariableDeclaration","src":"24560:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"24571:1:150","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"24564:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24581:30:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24604:6:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"24598:5:150"},"nodeType":"YulFunctionCall","src":"24598:13:150"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"24585:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24620:50:150","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"24660:9:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"24634:25:150"},"nodeType":"YulFunctionCall","src":"24634:36:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"24624:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24679:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"24689:1:150","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"24683:2:150","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"24740:126:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24761:3:150"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"24770:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24785:3:150","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"24781:3:150"},"nodeType":"YulFunctionCall","src":"24781:8:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24766:3:150"},"nodeType":"YulFunctionCall","src":"24766:24:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24754:6:150"},"nodeType":"YulFunctionCall","src":"24754:37:150"},"nodeType":"YulExpressionStatement","src":"24754:37:150"},{"nodeType":"YulAssignment","src":"24804:52:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24815:3:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"24824:6:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"24846:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"24839:6:150"},"nodeType":"YulFunctionCall","src":"24839:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"24832:6:150"},"nodeType":"YulFunctionCall","src":"24832:22:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"24820:3:150"},"nodeType":"YulFunctionCall","src":"24820:35:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24811:3:150"},"nodeType":"YulFunctionCall","src":"24811:45:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"24804:3:150"}]}]},"nodeType":"YulCase","src":"24733:133:150","value":{"kind":"number","nodeType":"YulLiteral","src":"24738:1:150","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"24882:349:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24903:1:150","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"24906:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24896:6:150"},"nodeType":"YulFunctionCall","src":"24896:17:150"},"nodeType":"YulExpressionStatement","src":"24896:17:150"},{"nodeType":"YulVariableDeclaration","src":"24926:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"24936:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"24930:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24953:31:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24978:1:150","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"24981:2:150"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"24968:9:150"},"nodeType":"YulFunctionCall","src":"24968:16:150"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"24957:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24997:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"25006:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"25001:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"25074:111:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25103:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"25108:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25099:3:150"},"nodeType":"YulFunctionCall","src":"25099:11:150"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"25118:7:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"25112:5:150"},"nodeType":"YulFunctionCall","src":"25112:14:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25092:6:150"},"nodeType":"YulFunctionCall","src":"25092:35:150"},"nodeType":"YulExpressionStatement","src":"25092:35:150"},{"nodeType":"YulAssignment","src":"25144:27:150","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"25159:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"25168:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25155:3:150"},"nodeType":"YulFunctionCall","src":"25155:16:150"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"25144:7:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"25031:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"25034:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"25028:2:150"},"nodeType":"YulFunctionCall","src":"25028:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"25042:19:150","statements":[{"nodeType":"YulAssignment","src":"25044:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"25053:1:150"},{"name":"_2","nodeType":"YulIdentifier","src":"25056:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25049:3:150"},"nodeType":"YulFunctionCall","src":"25049:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"25044:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"25024:3:150","statements":[]},"src":"25020:165:150"},{"nodeType":"YulAssignment","src":"25198:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25209:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"25214:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25205:3:150"},"nodeType":"YulFunctionCall","src":"25205:16:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"25198:3:150"}]}]},"nodeType":"YulCase","src":"24875:356:150","value":{"kind":"number","nodeType":"YulLiteral","src":"24880:1:150","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"24710:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24721:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24706:3:150"},"nodeType":"YulFunctionCall","src":"24706:18:150"},"nodeType":"YulSwitch","src":"24699:532:150"},{"nodeType":"YulAssignment","src":"25240:10:150","value":{"name":"ret","nodeType":"YulIdentifier","src":"25247:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"25240:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"24526:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24531:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"24542:3:150","type":""}],"src":"24414:842:150"},{"body":{"nodeType":"YulBlock","src":"25400:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"25410:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25430:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25424:5:150"},"nodeType":"YulFunctionCall","src":"25424:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"25414:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25485:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"25493:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25481:3:150"},"nodeType":"YulFunctionCall","src":"25481:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"25500:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"25505:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"25446:34:150"},"nodeType":"YulFunctionCall","src":"25446:66:150"},"nodeType":"YulExpressionStatement","src":"25446:66:150"},{"nodeType":"YulAssignment","src":"25521:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25532:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"25537:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25528:3:150"},"nodeType":"YulFunctionCall","src":"25528:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"25521:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"25376:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25381:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"25392:3:150","type":""}],"src":"25261:289:150"},{"body":{"nodeType":"YulBlock","src":"25636:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"25669:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"25683:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"25693:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"25687:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"25714:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"25718:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25707:6:150"},"nodeType":"YulFunctionCall","src":"25707:17:150"},"nodeType":"YulExpressionStatement","src":"25707:17:150"},{"nodeType":"YulVariableDeclaration","src":"25737:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"25759:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"25763:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"25749:9:150"},"nodeType":"YulFunctionCall","src":"25749:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"25741:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"25781:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"25804:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25814:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"25821:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"25833:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25817:3:150"},"nodeType":"YulFunctionCall","src":"25817:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"25810:3:150"},"nodeType":"YulFunctionCall","src":"25810:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25800:3:150"},"nodeType":"YulFunctionCall","src":"25800:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"25785:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"25875:23:150","statements":[{"nodeType":"YulAssignment","src":"25877:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"25892:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"25877:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"25857:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"25869:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"25854:2:150"},"nodeType":"YulFunctionCall","src":"25854:20:150"},"nodeType":"YulIf","src":"25851:47:150"},{"nodeType":"YulVariableDeclaration","src":"25911:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"25925:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25935:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"25942:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"25947:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25938:3:150"},"nodeType":"YulFunctionCall","src":"25938:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"25931:3:150"},"nodeType":"YulFunctionCall","src":"25931:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25921:3:150"},"nodeType":"YulFunctionCall","src":"25921:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"25915:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"25965:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"25978:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"25969:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26063:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"26072:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26079:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"26065:6:150"},"nodeType":"YulFunctionCall","src":"26065:17:150"},"nodeType":"YulExpressionStatement","src":"26065:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"26013:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"26020:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"26010:2:150"},"nodeType":"YulFunctionCall","src":"26010:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"26024:26:150","statements":[{"nodeType":"YulAssignment","src":"26026:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"26039:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"26046:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26035:3:150"},"nodeType":"YulFunctionCall","src":"26035:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"26026:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"26006:3:150","statements":[]},"src":"26002:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"25652:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"25657:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"25649:2:150"},"nodeType":"YulFunctionCall","src":"25649:11:150"},"nodeType":"YulIf","src":"25646:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"25608:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"25615:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"25620:10:150","type":""}],"src":"25555:545:150"},{"body":{"nodeType":"YulBlock","src":"26190:81:150","statements":[{"nodeType":"YulAssignment","src":"26200:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"26215:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26233:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"26236:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26229:3:150"},"nodeType":"YulFunctionCall","src":"26229:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26246:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"26242:3:150"},"nodeType":"YulFunctionCall","src":"26242:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"26225:3:150"},"nodeType":"YulFunctionCall","src":"26225:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"26221:3:150"},"nodeType":"YulFunctionCall","src":"26221:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26211:3:150"},"nodeType":"YulFunctionCall","src":"26211:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26257:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"26260:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26253:3:150"},"nodeType":"YulFunctionCall","src":"26253:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"26208:2:150"},"nodeType":"YulFunctionCall","src":"26208:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"26200:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"26167:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"26173:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"26181:4:150","type":""}],"src":"26105:166:150"},{"body":{"nodeType":"YulBlock","src":"26372:1256:150","statements":[{"nodeType":"YulVariableDeclaration","src":"26382:24:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"26402:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26396:5:150"},"nodeType":"YulFunctionCall","src":"26396:10:150"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"26386:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26449:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"26451:16:150"},"nodeType":"YulFunctionCall","src":"26451:18:150"},"nodeType":"YulExpressionStatement","src":"26451:18:150"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"26421:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26437:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"26441:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26433:3:150"},"nodeType":"YulFunctionCall","src":"26433:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"26445:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26429:3:150"},"nodeType":"YulFunctionCall","src":"26429:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26418:2:150"},"nodeType":"YulFunctionCall","src":"26418:30:150"},"nodeType":"YulIf","src":"26415:56:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"26524:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"26562:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"26556:5:150"},"nodeType":"YulFunctionCall","src":"26556:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"26530:25:150"},"nodeType":"YulFunctionCall","src":"26530:38:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"26570:6:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"26480:43:150"},"nodeType":"YulFunctionCall","src":"26480:97:150"},"nodeType":"YulExpressionStatement","src":"26480:97:150"},{"nodeType":"YulVariableDeclaration","src":"26586:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26603:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"26590:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26613:23:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26632:4:150","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"26617:11:150","type":""}]},{"nodeType":"YulAssignment","src":"26645:24:150","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"26658:11:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"26645:9:150"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"26715:656:150","statements":[{"nodeType":"YulVariableDeclaration","src":"26729:35:150","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"26748:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26760:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"26756:3:150"},"nodeType":"YulFunctionCall","src":"26756:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26744:3:150"},"nodeType":"YulFunctionCall","src":"26744:20:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"26733:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26777:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"26821:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"26791:29:150"},"nodeType":"YulFunctionCall","src":"26791:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"26781:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26839:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26848:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"26843:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26926:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"26951:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"26969:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"26974:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26965:3:150"},"nodeType":"YulFunctionCall","src":"26965:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26959:5:150"},"nodeType":"YulFunctionCall","src":"26959:26:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"26944:6:150"},"nodeType":"YulFunctionCall","src":"26944:42:150"},"nodeType":"YulExpressionStatement","src":"26944:42:150"},{"nodeType":"YulAssignment","src":"27003:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"27017:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"27025:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27013:3:150"},"nodeType":"YulFunctionCall","src":"27013:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"27003:6:150"}]},{"nodeType":"YulAssignment","src":"27044:40:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"27061:9:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"27072:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27057:3:150"},"nodeType":"YulFunctionCall","src":"27057:27:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"27044:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26873:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"26876:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"26870:2:150"},"nodeType":"YulFunctionCall","src":"26870:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"26885:28:150","statements":[{"nodeType":"YulAssignment","src":"26887:24:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26896:1:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"26899:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26892:3:150"},"nodeType":"YulFunctionCall","src":"26892:19:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"26887:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"26866:3:150","statements":[]},"src":"26862:236:150"},{"body":{"nodeType":"YulBlock","src":"27146:166:150","statements":[{"nodeType":"YulVariableDeclaration","src":"27164:43:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"27191:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"27196:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27187:3:150"},"nodeType":"YulFunctionCall","src":"27187:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27181:5:150"},"nodeType":"YulFunctionCall","src":"27181:26:150"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"27168:9:150","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"27231:6:150"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"27243:9:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27270:1:150","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"27273:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27266:3:150"},"nodeType":"YulFunctionCall","src":"27266:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"27282:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27262:3:150"},"nodeType":"YulFunctionCall","src":"27262:24:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27292:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27288:3:150"},"nodeType":"YulFunctionCall","src":"27288:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27258:3:150"},"nodeType":"YulFunctionCall","src":"27258:37:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27254:3:150"},"nodeType":"YulFunctionCall","src":"27254:42:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27239:3:150"},"nodeType":"YulFunctionCall","src":"27239:58:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"27224:6:150"},"nodeType":"YulFunctionCall","src":"27224:74:150"},"nodeType":"YulExpressionStatement","src":"27224:74:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"27117:7:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"27126:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27114:2:150"},"nodeType":"YulFunctionCall","src":"27114:19:150"},"nodeType":"YulIf","src":"27111:201:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"27332:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27346:1:150","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"27349:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27342:3:150"},"nodeType":"YulFunctionCall","src":"27342:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"27358:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27338:3:150"},"nodeType":"YulFunctionCall","src":"27338:22:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"27325:6:150"},"nodeType":"YulFunctionCall","src":"27325:36:150"},"nodeType":"YulExpressionStatement","src":"27325:36:150"}]},"nodeType":"YulCase","src":"26708:663:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26713:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"27388:234:150","statements":[{"nodeType":"YulVariableDeclaration","src":"27402:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27415:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"27406:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27451:67:150","statements":[{"nodeType":"YulAssignment","src":"27469:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"27488:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"27493:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27484:3:150"},"nodeType":"YulFunctionCall","src":"27484:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27478:5:150"},"nodeType":"YulFunctionCall","src":"27478:26:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"27469:5:150"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"27432:6:150"},"nodeType":"YulIf","src":"27429:89:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"27538:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27597:5:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"27604:6:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"27544:52:150"},"nodeType":"YulFunctionCall","src":"27544:67:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"27531:6:150"},"nodeType":"YulFunctionCall","src":"27531:81:150"},"nodeType":"YulExpressionStatement","src":"27531:81:150"}]},"nodeType":"YulCase","src":"27380:242:150","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"26688:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"26696:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26685:2:150"},"nodeType":"YulFunctionCall","src":"26685:14:150"},"nodeType":"YulSwitch","src":"26678:944:150"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"26357:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"26363:3:150","type":""}],"src":"26276:1352:150"},{"body":{"nodeType":"YulBlock","src":"27807:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27824:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27835:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27817:6:150"},"nodeType":"YulFunctionCall","src":"27817:21:150"},"nodeType":"YulExpressionStatement","src":"27817:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27858:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27869:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27854:3:150"},"nodeType":"YulFunctionCall","src":"27854:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"27874:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27847:6:150"},"nodeType":"YulFunctionCall","src":"27847:30:150"},"nodeType":"YulExpressionStatement","src":"27847:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27897:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27908:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27893:3:150"},"nodeType":"YulFunctionCall","src":"27893:18:150"},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e67206973","kind":"string","nodeType":"YulLiteral","src":"27913:34:150","type":"","value":"Galaxy Member: Public minting is"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27886:6:150"},"nodeType":"YulFunctionCall","src":"27886:62:150"},"nodeType":"YulExpressionStatement","src":"27886:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27968:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27979:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27964:3:150"},"nodeType":"YulFunctionCall","src":"27964:18:150"},{"hexValue":"20706175736564","kind":"string","nodeType":"YulLiteral","src":"27984:9:150","type":"","value":" paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27957:6:150"},"nodeType":"YulFunctionCall","src":"27957:37:150"},"nodeType":"YulExpressionStatement","src":"27957:37:150"},{"nodeType":"YulAssignment","src":"28003:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28015:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28026:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28011:3:150"},"nodeType":"YulFunctionCall","src":"28011:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28003:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27784:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27798:4:150","type":""}],"src":"27633:403:150"},{"body":{"nodeType":"YulBlock","src":"28215:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28232:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28243:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28225:6:150"},"nodeType":"YulFunctionCall","src":"28225:21:150"},"nodeType":"YulExpressionStatement","src":"28225:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28266:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28277:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28262:3:150"},"nodeType":"YulFunctionCall","src":"28262:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"28282:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28255:6:150"},"nodeType":"YulFunctionCall","src":"28255:30:150"},"nodeType":"YulExpressionStatement","src":"28255:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28305:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28316:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28301:3:150"},"nodeType":"YulFunctionCall","src":"28301:18:150"},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274","kind":"string","nodeType":"YulLiteral","src":"28321:34:150","type":"","value":"Galaxy Member: User has not part"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28294:6:150"},"nodeType":"YulFunctionCall","src":"28294:62:150"},"nodeType":"YulExpressionStatement","src":"28294:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28376:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28387:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28372:3:150"},"nodeType":"YulFunctionCall","src":"28372:18:150"},{"hexValue":"696369706174656420696e20676f7665726e616e6365","kind":"string","nodeType":"YulLiteral","src":"28392:24:150","type":"","value":"icipated in governance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28365:6:150"},"nodeType":"YulFunctionCall","src":"28365:52:150"},"nodeType":"YulExpressionStatement","src":"28365:52:150"},{"nodeType":"YulAssignment","src":"28426:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28438:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28449:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28434:3:150"},"nodeType":"YulFunctionCall","src":"28434:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28426:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28192:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28206:4:150","type":""}],"src":"28041:418:150"},{"body":{"nodeType":"YulBlock","src":"28638:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28655:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28666:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28648:6:150"},"nodeType":"YulFunctionCall","src":"28648:21:150"},"nodeType":"YulExpressionStatement","src":"28648:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28689:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28700:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28685:3:150"},"nodeType":"YulFunctionCall","src":"28685:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"28705:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28678:6:150"},"nodeType":"YulFunctionCall","src":"28678:30:150"},"nodeType":"YulExpressionStatement","src":"28678:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28728:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28739:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28724:3:150"},"nodeType":"YulFunctionCall","src":"28724:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578","kind":"string","nodeType":"YulLiteral","src":"28744:34:150","type":"","value":"GalaxyMember: tokenId doesn't ex"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28717:6:150"},"nodeType":"YulFunctionCall","src":"28717:62:150"},"nodeType":"YulExpressionStatement","src":"28717:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28799:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28810:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28795:3:150"},"nodeType":"YulFunctionCall","src":"28795:18:150"},{"hexValue":"697374","kind":"string","nodeType":"YulLiteral","src":"28815:5:150","type":"","value":"ist"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28788:6:150"},"nodeType":"YulFunctionCall","src":"28788:33:150"},"nodeType":"YulExpressionStatement","src":"28788:33:150"},{"nodeType":"YulAssignment","src":"28830:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28842:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28853:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28838:3:150"},"nodeType":"YulFunctionCall","src":"28838:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28830:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28615:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28629:4:150","type":""}],"src":"28464:399:150"},{"body":{"nodeType":"YulBlock","src":"29042:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29059:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29070:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29052:6:150"},"nodeType":"YulFunctionCall","src":"29052:21:150"},"nodeType":"YulExpressionStatement","src":"29052:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29093:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29104:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29089:3:150"},"nodeType":"YulFunctionCall","src":"29089:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"29109:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29082:6:150"},"nodeType":"YulFunctionCall","src":"29082:30:150"},"nodeType":"YulExpressionStatement","src":"29082:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29132:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29143:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29128:3:150"},"nodeType":"YulFunctionCall","src":"29128:18:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"29148:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29121:6:150"},"nodeType":"YulFunctionCall","src":"29121:62:150"},"nodeType":"YulExpressionStatement","src":"29121:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29203:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29214:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29199:3:150"},"nodeType":"YulFunctionCall","src":"29199:18:150"},{"hexValue":"6f742062652030","kind":"string","nodeType":"YulLiteral","src":"29219:9:150","type":"","value":"ot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29192:6:150"},"nodeType":"YulFunctionCall","src":"29192:37:150"},"nodeType":"YulExpressionStatement","src":"29192:37:150"},{"nodeType":"YulAssignment","src":"29238:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29250:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29261:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29246:3:150"},"nodeType":"YulFunctionCall","src":"29246:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29238:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29019:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29033:4:150","type":""}],"src":"28868:403:150"},{"body":{"nodeType":"YulBlock","src":"29516:274:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29533:3:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"29538:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29526:6:150"},"nodeType":"YulFunctionCall","src":"29526:47:150"},"nodeType":"YulExpressionStatement","src":"29526:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29593:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"29598:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29589:3:150"},"nodeType":"YulFunctionCall","src":"29589:12:150"},{"hexValue":"6f742062652067726561746572207468616e20","kind":"string","nodeType":"YulLiteral","src":"29603:21:150","type":"","value":"ot be greater than "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29582:6:150"},"nodeType":"YulFunctionCall","src":"29582:43:150"},"nodeType":"YulExpressionStatement","src":"29582:43:150"},{"nodeType":"YulVariableDeclaration","src":"29634:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"29654:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29648:5:150"},"nodeType":"YulFunctionCall","src":"29648:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"29638:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"29709:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"29717:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29705:3:150"},"nodeType":"YulFunctionCall","src":"29705:15:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29726:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"29731:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29722:3:150"},"nodeType":"YulFunctionCall","src":"29722:12:150"},{"name":"length","nodeType":"YulIdentifier","src":"29736:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"29670:34:150"},"nodeType":"YulFunctionCall","src":"29670:73:150"},"nodeType":"YulExpressionStatement","src":"29670:73:150"},{"nodeType":"YulAssignment","src":"29752:32:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29767:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"29772:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29763:3:150"},"nodeType":"YulFunctionCall","src":"29763:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"29781:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29759:3:150"},"nodeType":"YulFunctionCall","src":"29759:25:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"29752:3:150"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"29492:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"29497:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"29508:3:150","type":""}],"src":"29276:514:150"},{"body":{"nodeType":"YulBlock","src":"29847:116:150","statements":[{"nodeType":"YulAssignment","src":"29857:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"29872:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"29875:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"29868:3:150"},"nodeType":"YulFunctionCall","src":"29868:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"29857:7:150"}]},{"body":{"nodeType":"YulBlock","src":"29935:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"29937:16:150"},"nodeType":"YulFunctionCall","src":"29937:18:150"},"nodeType":"YulExpressionStatement","src":"29937:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"29906:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"29899:6:150"},"nodeType":"YulFunctionCall","src":"29899:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"29913:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"29920:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"29929:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"29916:3:150"},"nodeType":"YulFunctionCall","src":"29916:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"29910:2:150"},"nodeType":"YulFunctionCall","src":"29910:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"29896:2:150"},"nodeType":"YulFunctionCall","src":"29896:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"29889:6:150"},"nodeType":"YulFunctionCall","src":"29889:45:150"},"nodeType":"YulIf","src":"29886:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"29826:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"29829:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"29835:7:150","type":""}],"src":"29795:168:150"},{"body":{"nodeType":"YulBlock","src":"30017:79:150","statements":[{"nodeType":"YulAssignment","src":"30027:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"30039:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"30042:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30035:3:150"},"nodeType":"YulFunctionCall","src":"30035:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"30027:4:150"}]},{"body":{"nodeType":"YulBlock","src":"30068:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"30070:16:150"},"nodeType":"YulFunctionCall","src":"30070:18:150"},"nodeType":"YulExpressionStatement","src":"30070:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"30059:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"30065:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"30056:2:150"},"nodeType":"YulFunctionCall","src":"30056:11:150"},"nodeType":"YulIf","src":"30053:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"29999:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"30002:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"30008:4:150","type":""}],"src":"29968:128:150"},{"body":{"nodeType":"YulBlock","src":"30275:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30292:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30303:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30285:6:150"},"nodeType":"YulFunctionCall","src":"30285:21:150"},"nodeType":"YulExpressionStatement","src":"30285:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30326:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30337:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30322:3:150"},"nodeType":"YulFunctionCall","src":"30322:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30342:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30315:6:150"},"nodeType":"YulFunctionCall","src":"30315:30:150"},"nodeType":"YulExpressionStatement","src":"30315:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30365:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30376:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30361:3:150"},"nodeType":"YulFunctionCall","src":"30361:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e6564206279","kind":"string","nodeType":"YulLiteral","src":"30381:34:150","type":"","value":"GalaxyMember: token not owned by"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30354:6:150"},"nodeType":"YulFunctionCall","src":"30354:62:150"},"nodeType":"YulExpressionStatement","src":"30354:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30436:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30447:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30432:3:150"},"nodeType":"YulFunctionCall","src":"30432:18:150"},{"hexValue":"2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"30452:9:150","type":"","value":" caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30425:6:150"},"nodeType":"YulFunctionCall","src":"30425:37:150"},"nodeType":"YulExpressionStatement","src":"30425:37:150"},{"nodeType":"YulAssignment","src":"30471:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30483:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30494:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30479:3:150"},"nodeType":"YulFunctionCall","src":"30479:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30471:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30252:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30266:4:150","type":""}],"src":"30101:403:150"},{"body":{"nodeType":"YulBlock","src":"30683:239:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30700:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30711:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30693:6:150"},"nodeType":"YulFunctionCall","src":"30693:21:150"},"nodeType":"YulExpressionStatement","src":"30693:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30734:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30745:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30730:3:150"},"nodeType":"YulFunctionCall","src":"30730:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30750:2:150","type":"","value":"49"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30723:6:150"},"nodeType":"YulFunctionCall","src":"30723:30:150"},"nodeType":"YulExpressionStatement","src":"30723:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30773:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30784:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30769:3:150"},"nodeType":"YulFunctionCall","src":"30769:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f74206f776e6564206f7220","kind":"string","nodeType":"YulLiteral","src":"30789:34:150","type":"","value":"GalaxyMember: node not owned or "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30762:6:150"},"nodeType":"YulFunctionCall","src":"30762:62:150"},"nodeType":"YulExpressionStatement","src":"30762:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30844:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30855:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30840:3:150"},"nodeType":"YulFunctionCall","src":"30840:18:150"},{"hexValue":"6d616e616765642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"30860:19:150","type":"","value":"managed by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30833:6:150"},"nodeType":"YulFunctionCall","src":"30833:47:150"},"nodeType":"YulExpressionStatement","src":"30833:47:150"},{"nodeType":"YulAssignment","src":"30889:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30901:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30912:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30897:3:150"},"nodeType":"YulFunctionCall","src":"30897:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30889:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_4481d4cc122a9096a433ef77418d25d21f54c331245a3431108d3eef5d74a9c4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30660:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30674:4:150","type":""}],"src":"30509:413:150"},{"body":{"nodeType":"YulBlock","src":"31101:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31118:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31129:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31111:6:150"},"nodeType":"YulFunctionCall","src":"31111:21:150"},"nodeType":"YulExpressionStatement","src":"31111:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31152:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31163:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31148:3:150"},"nodeType":"YulFunctionCall","src":"31148:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31168:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31141:6:150"},"nodeType":"YulFunctionCall","src":"31141:30:150"},"nodeType":"YulExpressionStatement","src":"31141:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31191:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31202:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31187:3:150"},"nodeType":"YulFunctionCall","src":"31187:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c7265616479206174746163","kind":"string","nodeType":"YulLiteral","src":"31207:34:150","type":"","value":"GalaxyMember: node already attac"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31180:6:150"},"nodeType":"YulFunctionCall","src":"31180:62:150"},"nodeType":"YulExpressionStatement","src":"31180:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31262:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31273:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31258:3:150"},"nodeType":"YulFunctionCall","src":"31258:18:150"},{"hexValue":"68656420746f206120746f6b656e","kind":"string","nodeType":"YulLiteral","src":"31278:16:150","type":"","value":"hed to a token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31251:6:150"},"nodeType":"YulFunctionCall","src":"31251:44:150"},"nodeType":"YulExpressionStatement","src":"31251:44:150"},{"nodeType":"YulAssignment","src":"31304:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31316:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31327:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31312:3:150"},"nodeType":"YulFunctionCall","src":"31312:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31304:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31078:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31092:4:150","type":""}],"src":"30927:410:150"},{"body":{"nodeType":"YulBlock","src":"31516:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31533:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31544:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31526:6:150"},"nodeType":"YulFunctionCall","src":"31526:21:150"},"nodeType":"YulExpressionStatement","src":"31526:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31567:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31578:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31563:3:150"},"nodeType":"YulFunctionCall","src":"31563:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31583:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31556:6:150"},"nodeType":"YulFunctionCall","src":"31556:30:150"},"nodeType":"YulExpressionStatement","src":"31556:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31606:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31617:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31602:3:150"},"nodeType":"YulFunctionCall","src":"31602:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c72656164792061747461","kind":"string","nodeType":"YulLiteral","src":"31622:34:150","type":"","value":"GalaxyMember: token already atta"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31595:6:150"},"nodeType":"YulFunctionCall","src":"31595:62:150"},"nodeType":"YulExpressionStatement","src":"31595:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31677:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31688:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31673:3:150"},"nodeType":"YulFunctionCall","src":"31673:18:150"},{"hexValue":"6368656420746f2061206e6f6465","kind":"string","nodeType":"YulLiteral","src":"31693:16:150","type":"","value":"ched to a node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31666:6:150"},"nodeType":"YulFunctionCall","src":"31666:44:150"},"nodeType":"YulExpressionStatement","src":"31666:44:150"},{"nodeType":"YulAssignment","src":"31719:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31731:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31742:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31727:3:150"},"nodeType":"YulFunctionCall","src":"31727:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31719:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31493:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31507:4:150","type":""}],"src":"31342:410:150"},{"body":{"nodeType":"YulBlock","src":"31931:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31948:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31959:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31941:6:150"},"nodeType":"YulFunctionCall","src":"31941:21:150"},"nodeType":"YulExpressionStatement","src":"31941:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31982:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31993:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31978:3:150"},"nodeType":"YulFunctionCall","src":"31978:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31998:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31971:6:150"},"nodeType":"YulFunctionCall","src":"31971:30:150"},"nodeType":"YulExpressionStatement","src":"31971:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32021:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32032:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32017:3:150"},"nodeType":"YulFunctionCall","src":"32017:18:150"},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67","kind":"string","nodeType":"YulLiteral","src":"32037:34:150","type":"","value":"Galaxy Member: XAllocationVoting"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32010:6:150"},"nodeType":"YulFunctionCall","src":"32010:62:150"},"nodeType":"YulExpressionStatement","src":"32010:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32092:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32103:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32088:3:150"},"nodeType":"YulFunctionCall","src":"32088:18:150"},{"hexValue":"476f7665726e6f72206e6f7420736574","kind":"string","nodeType":"YulLiteral","src":"32108:18:150","type":"","value":"Governor not set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32081:6:150"},"nodeType":"YulFunctionCall","src":"32081:46:150"},"nodeType":"YulExpressionStatement","src":"32081:46:150"},{"nodeType":"YulAssignment","src":"32136:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32148:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32159:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32144:3:150"},"nodeType":"YulFunctionCall","src":"32144:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32136:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31908:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31922:4:150","type":""}],"src":"31757:412:150"},{"body":{"nodeType":"YulBlock","src":"32348:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32365:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32376:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32358:6:150"},"nodeType":"YulFunctionCall","src":"32358:21:150"},"nodeType":"YulExpressionStatement","src":"32358:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32399:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32410:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32395:3:150"},"nodeType":"YulFunctionCall","src":"32395:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32415:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32388:6:150"},"nodeType":"YulFunctionCall","src":"32388:30:150"},"nodeType":"YulExpressionStatement","src":"32388:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32438:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32449:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32434:3:150"},"nodeType":"YulFunctionCall","src":"32434:18:150"},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420","kind":"string","nodeType":"YulLiteral","src":"32454:34:150","type":"","value":"Galaxy Member: B3TRGovernor not "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32427:6:150"},"nodeType":"YulFunctionCall","src":"32427:62:150"},"nodeType":"YulExpressionStatement","src":"32427:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32509:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32520:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32505:3:150"},"nodeType":"YulFunctionCall","src":"32505:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"32525:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32498:6:150"},"nodeType":"YulFunctionCall","src":"32498:33:150"},"nodeType":"YulExpressionStatement","src":"32498:33:150"},{"nodeType":"YulAssignment","src":"32540:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32552:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32563:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32548:3:150"},"nodeType":"YulFunctionCall","src":"32548:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32540:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32325:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32339:4:150","type":""}],"src":"32174:399:150"},{"body":{"nodeType":"YulBlock","src":"32752:243:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32769:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32780:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32762:6:150"},"nodeType":"YulFunctionCall","src":"32762:21:150"},"nodeType":"YulExpressionStatement","src":"32762:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32803:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32814:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32799:3:150"},"nodeType":"YulFunctionCall","src":"32799:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32819:2:150","type":"","value":"53"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32792:6:150"},"nodeType":"YulFunctionCall","src":"32792:30:150"},"nodeType":"YulExpressionStatement","src":"32792:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32842:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32853:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32838:3:150"},"nodeType":"YulFunctionCall","src":"32838:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"32858:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32831:6:150"},"nodeType":"YulFunctionCall","src":"32831:62:150"},"nodeType":"YulExpressionStatement","src":"32831:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32913:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32924:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32909:3:150"},"nodeType":"YulFunctionCall","src":"32909:18:150"},{"hexValue":"7573742062652067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"32929:23:150","type":"","value":"ust be greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32902:6:150"},"nodeType":"YulFunctionCall","src":"32902:51:150"},"nodeType":"YulExpressionStatement","src":"32902:51:150"},{"nodeType":"YulAssignment","src":"32962:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32974:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32985:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32970:3:150"},"nodeType":"YulFunctionCall","src":"32970:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32962:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32729:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32743:4:150","type":""}],"src":"32578:417:150"},{"body":{"nodeType":"YulBlock","src":"33151:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"33161:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"33171:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"33165:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"33182:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33200:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33211:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33196:3:150"},"nodeType":"YulFunctionCall","src":"33196:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"33186:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33230:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33241:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33223:6:150"},"nodeType":"YulFunctionCall","src":"33223:21:150"},"nodeType":"YulExpressionStatement","src":"33223:21:150"},{"nodeType":"YulVariableDeclaration","src":"33253:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"33264:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"33257:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"33279:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33299:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33293:5:150"},"nodeType":"YulFunctionCall","src":"33293:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"33283:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"33322:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"33330:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33315:6:150"},"nodeType":"YulFunctionCall","src":"33315:22:150"},"nodeType":"YulExpressionStatement","src":"33315:22:150"},{"nodeType":"YulAssignment","src":"33346:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33357:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33368:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33353:3:150"},"nodeType":"YulFunctionCall","src":"33353:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"33346:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"33380:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33398:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33406:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33394:3:150"},"nodeType":"YulFunctionCall","src":"33394:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"33384:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"33418:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"33427:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"33422:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"33486:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33507:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"33518:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33512:5:150"},"nodeType":"YulFunctionCall","src":"33512:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33500:6:150"},"nodeType":"YulFunctionCall","src":"33500:26:150"},"nodeType":"YulExpressionStatement","src":"33500:26:150"},{"nodeType":"YulAssignment","src":"33539:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33550:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33555:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33546:3:150"},"nodeType":"YulFunctionCall","src":"33546:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"33539:3:150"}]},{"nodeType":"YulAssignment","src":"33571:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"33585:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33593:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33581:3:150"},"nodeType":"YulFunctionCall","src":"33581:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"33571:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"33448:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"33451:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"33445:2:150"},"nodeType":"YulFunctionCall","src":"33445:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"33459:18:150","statements":[{"nodeType":"YulAssignment","src":"33461:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"33470:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"33473:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33466:3:150"},"nodeType":"YulFunctionCall","src":"33466:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"33461:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"33441:3:150","statements":[]},"src":"33437:169:150"},{"nodeType":"YulAssignment","src":"33615:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"33623:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33615:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33120:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33131:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33142:4:150","type":""}],"src":"33000:632:150"},{"body":{"nodeType":"YulBlock","src":"33914:375:150","statements":[{"nodeType":"YulVariableDeclaration","src":"33924:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33944:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33938:5:150"},"nodeType":"YulFunctionCall","src":"33938:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"33928:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33999:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"34007:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33995:3:150"},"nodeType":"YulFunctionCall","src":"33995:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"34014:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"34019:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"33960:34:150"},"nodeType":"YulFunctionCall","src":"33960:66:150"},"nodeType":"YulExpressionStatement","src":"33960:66:150"},{"nodeType":"YulVariableDeclaration","src":"34035:29:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34052:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"34057:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34048:3:150"},"nodeType":"YulFunctionCall","src":"34048:16:150"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"34039:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"34073:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"34095:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34089:5:150"},"nodeType":"YulFunctionCall","src":"34089:13:150"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"34077:8:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"34150:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"34158:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34146:3:150"},"nodeType":"YulFunctionCall","src":"34146:17:150"},{"name":"end_1","nodeType":"YulIdentifier","src":"34165:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"34172:8:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"34111:34:150"},"nodeType":"YulFunctionCall","src":"34111:70:150"},"nodeType":"YulExpressionStatement","src":"34111:70:150"},{"nodeType":"YulVariableDeclaration","src":"34190:33:150","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"34207:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"34214:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34203:3:150"},"nodeType":"YulFunctionCall","src":"34203:20:150"},"variables":[{"name":"end_2","nodeType":"YulTypedName","src":"34194:5:150","type":""}]},{"expression":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"34239:5:150"},{"hexValue":"2e6a736f6e","kind":"string","nodeType":"YulLiteral","src":"34246:7:150","type":"","value":".json"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34232:6:150"},"nodeType":"YulFunctionCall","src":"34232:22:150"},"nodeType":"YulExpressionStatement","src":"34232:22:150"},{"nodeType":"YulAssignment","src":"34263:20:150","value":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"34274:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"34281:1:150","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34270:3:150"},"nodeType":"YulFunctionCall","src":"34270:13:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"34263:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"33882:3:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33887:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33895:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"33906:3:150","type":""}],"src":"33637:652:150"},{"body":{"nodeType":"YulBlock","src":"34468:245:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34485:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34496:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34478:6:150"},"nodeType":"YulFunctionCall","src":"34478:21:150"},"nodeType":"YulExpressionStatement","src":"34478:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34519:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34530:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34515:3:150"},"nodeType":"YulFunctionCall","src":"34515:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34535:2:150","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34508:6:150"},"nodeType":"YulFunctionCall","src":"34508:30:150"},"nodeType":"YulExpressionStatement","src":"34508:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34558:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34569:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34554:3:150"},"nodeType":"YulFunctionCall","src":"34554:18:150"},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e","kind":"string","nodeType":"YulLiteral","src":"34574:34:150","type":"","value":"Galaxy Member: _b3trGovernor can"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34547:6:150"},"nodeType":"YulFunctionCall","src":"34547:62:150"},"nodeType":"YulExpressionStatement","src":"34547:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34640:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34625:3:150"},"nodeType":"YulFunctionCall","src":"34625:18:150"},{"hexValue":"6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"34645:25:150","type":"","value":"not be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34618:6:150"},"nodeType":"YulFunctionCall","src":"34618:53:150"},"nodeType":"YulExpressionStatement","src":"34618:53:150"},{"nodeType":"YulAssignment","src":"34680:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34692:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34703:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34688:3:150"},"nodeType":"YulFunctionCall","src":"34688:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34680:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34445:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34459:4:150","type":""}],"src":"34294:419:150"},{"body":{"nodeType":"YulBlock","src":"34892:252:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34909:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34920:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34902:6:150"},"nodeType":"YulFunctionCall","src":"34902:21:150"},"nodeType":"YulExpressionStatement","src":"34902:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34943:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34954:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34939:3:150"},"nodeType":"YulFunctionCall","src":"34939:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34959:2:150","type":"","value":"62"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34932:6:150"},"nodeType":"YulFunctionCall","src":"34932:30:150"},"nodeType":"YulExpressionStatement","src":"34932:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34982:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34993:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34978:3:150"},"nodeType":"YulFunctionCall","src":"34978:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f20","kind":"string","nodeType":"YulLiteral","src":"34998:34:150","type":"","value":"GalaxyMember: token attached to "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34971:6:150"},"nodeType":"YulFunctionCall","src":"34971:62:150"},"nodeType":"YulExpressionStatement","src":"34971:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35053:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35064:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35049:3:150"},"nodeType":"YulFunctionCall","src":"35049:18:150"},{"hexValue":"61206e6f64652c20646574616368206265666f7265207472616e73666572","kind":"string","nodeType":"YulLiteral","src":"35069:32:150","type":"","value":"a node, detach before transfer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35042:6:150"},"nodeType":"YulFunctionCall","src":"35042:60:150"},"nodeType":"YulExpressionStatement","src":"35042:60:150"},{"nodeType":"YulAssignment","src":"35111:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35123:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35134:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35119:3:150"},"nodeType":"YulFunctionCall","src":"35119:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35111:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34869:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34883:4:150","type":""}],"src":"34718:426:150"},{"body":{"nodeType":"YulBlock","src":"35230:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"35276:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35285:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35288:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35278:6:150"},"nodeType":"YulFunctionCall","src":"35278:12:150"},"nodeType":"YulExpressionStatement","src":"35278:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"35251:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"35260:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35247:3:150"},"nodeType":"YulFunctionCall","src":"35247:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"35272:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"35243:3:150"},"nodeType":"YulFunctionCall","src":"35243:32:150"},"nodeType":"YulIf","src":"35240:52:150"},{"nodeType":"YulAssignment","src":"35301:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35317:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35311:5:150"},"nodeType":"YulFunctionCall","src":"35311:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"35301:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35196:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"35207:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"35219:6:150","type":""}],"src":"35149:184:150"},{"body":{"nodeType":"YulBlock","src":"35370:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35387:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35394:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"35399:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35390:3:150"},"nodeType":"YulFunctionCall","src":"35390:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35380:6:150"},"nodeType":"YulFunctionCall","src":"35380:31:150"},"nodeType":"YulExpressionStatement","src":"35380:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35427:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"35430:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35420:6:150"},"nodeType":"YulFunctionCall","src":"35420:15:150"},"nodeType":"YulExpressionStatement","src":"35420:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35451:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35454:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35444:6:150"},"nodeType":"YulFunctionCall","src":"35444:15:150"},"nodeType":"YulExpressionStatement","src":"35444:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"35338:127:150"},{"body":{"nodeType":"YulBlock","src":"35673:286:150","statements":[{"nodeType":"YulVariableDeclaration","src":"35683:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35701:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35706:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35697:3:150"},"nodeType":"YulFunctionCall","src":"35697:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"35710:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35693:3:150"},"nodeType":"YulFunctionCall","src":"35693:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"35687:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35728:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35743:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35751:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35739:3:150"},"nodeType":"YulFunctionCall","src":"35739:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35721:6:150"},"nodeType":"YulFunctionCall","src":"35721:34:150"},"nodeType":"YulExpressionStatement","src":"35721:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35775:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35786:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35771:3:150"},"nodeType":"YulFunctionCall","src":"35771:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35795:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35803:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35791:3:150"},"nodeType":"YulFunctionCall","src":"35791:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35764:6:150"},"nodeType":"YulFunctionCall","src":"35764:43:150"},"nodeType":"YulExpressionStatement","src":"35764:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35827:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35838:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35823:3:150"},"nodeType":"YulFunctionCall","src":"35823:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"35843:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35816:6:150"},"nodeType":"YulFunctionCall","src":"35816:34:150"},"nodeType":"YulExpressionStatement","src":"35816:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35870:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35881:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35866:3:150"},"nodeType":"YulFunctionCall","src":"35866:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35886:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35859:6:150"},"nodeType":"YulFunctionCall","src":"35859:31:150"},"nodeType":"YulExpressionStatement","src":"35859:31:150"},{"nodeType":"YulAssignment","src":"35899:54:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"35925:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35937:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35948:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35933:3:150"},"nodeType":"YulFunctionCall","src":"35933:19:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"35907:17:150"},"nodeType":"YulFunctionCall","src":"35907:46:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35899:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35618:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"35629:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35637:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35645:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35653:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35664:4:150","type":""}],"src":"35470:489:150"},{"body":{"nodeType":"YulBlock","src":"36044:169:150","statements":[{"body":{"nodeType":"YulBlock","src":"36090:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36099:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"36102:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"36092:6:150"},"nodeType":"YulFunctionCall","src":"36092:12:150"},"nodeType":"YulExpressionStatement","src":"36092:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"36065:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"36074:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36061:3:150"},"nodeType":"YulFunctionCall","src":"36061:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"36086:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"36057:3:150"},"nodeType":"YulFunctionCall","src":"36057:32:150"},"nodeType":"YulIf","src":"36054:52:150"},{"nodeType":"YulVariableDeclaration","src":"36115:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36134:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36128:5:150"},"nodeType":"YulFunctionCall","src":"36128:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"36119:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36177:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"36153:23:150"},"nodeType":"YulFunctionCall","src":"36153:30:150"},"nodeType":"YulExpressionStatement","src":"36153:30:150"},{"nodeType":"YulAssignment","src":"36192:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"36202:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"36192:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36010:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"36021:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"36033:6:150","type":""}],"src":"35964:249:150"},{"body":{"nodeType":"YulBlock","src":"36347:145:150","statements":[{"nodeType":"YulAssignment","src":"36357:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36369:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36380:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36365:3:150"},"nodeType":"YulFunctionCall","src":"36365:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36357:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36399:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"36414:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36430:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"36435:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"36426:3:150"},"nodeType":"YulFunctionCall","src":"36426:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"36439:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36422:3:150"},"nodeType":"YulFunctionCall","src":"36422:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36410:3:150"},"nodeType":"YulFunctionCall","src":"36410:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36392:6:150"},"nodeType":"YulFunctionCall","src":"36392:51:150"},"nodeType":"YulExpressionStatement","src":"36392:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36463:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36474:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36459:3:150"},"nodeType":"YulFunctionCall","src":"36459:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"36479:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36452:6:150"},"nodeType":"YulFunctionCall","src":"36452:34:150"},"nodeType":"YulExpressionStatement","src":"36452:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36308:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"36319:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"36327:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36338:4:150","type":""}],"src":"36218:274:150"},{"body":{"nodeType":"YulBlock","src":"36634:130:150","statements":[{"nodeType":"YulAssignment","src":"36644:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36656:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36667:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36652:3:150"},"nodeType":"YulFunctionCall","src":"36652:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36644:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36686:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"36701:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"36709:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36697:3:150"},"nodeType":"YulFunctionCall","src":"36697:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36679:6:150"},"nodeType":"YulFunctionCall","src":"36679:36:150"},"nodeType":"YulExpressionStatement","src":"36679:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36735:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36746:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36731:3:150"},"nodeType":"YulFunctionCall","src":"36731:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"36751:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36724:6:150"},"nodeType":"YulFunctionCall","src":"36724:34:150"},"nodeType":"YulExpressionStatement","src":"36724:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36595:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"36606:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"36614:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36625:4:150","type":""}],"src":"36497:267:150"},{"body":{"nodeType":"YulBlock","src":"36905:130:150","statements":[{"nodeType":"YulAssignment","src":"36915:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36927:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36938:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36923:3:150"},"nodeType":"YulFunctionCall","src":"36923:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36915:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36957:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"36972:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"36980:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36968:3:150"},"nodeType":"YulFunctionCall","src":"36968:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36950:6:150"},"nodeType":"YulFunctionCall","src":"36950:36:150"},"nodeType":"YulExpressionStatement","src":"36950:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37006:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37017:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37002:3:150"},"nodeType":"YulFunctionCall","src":"37002:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"37022:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36995:6:150"},"nodeType":"YulFunctionCall","src":"36995:34:150"},"nodeType":"YulExpressionStatement","src":"36995:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36866:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"36877:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"36885:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36896:4:150","type":""}],"src":"36769:266:150"},{"body":{"nodeType":"YulBlock","src":"37086:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"37117:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37138:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37145:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"37150:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37141:3:150"},"nodeType":"YulFunctionCall","src":"37141:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37131:6:150"},"nodeType":"YulFunctionCall","src":"37131:31:150"},"nodeType":"YulExpressionStatement","src":"37131:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37182:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"37185:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37175:6:150"},"nodeType":"YulFunctionCall","src":"37175:15:150"},"nodeType":"YulExpressionStatement","src":"37175:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37210:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37213:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37203:6:150"},"nodeType":"YulFunctionCall","src":"37203:15:150"},"nodeType":"YulExpressionStatement","src":"37203:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"37106:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"37099:6:150"},"nodeType":"YulFunctionCall","src":"37099:9:150"},"nodeType":"YulIf","src":"37096:132:150"},{"nodeType":"YulAssignment","src":"37237:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"37246:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"37249:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"37242:3:150"},"nodeType":"YulFunctionCall","src":"37242:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"37237:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"37071:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"37074:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"37080:1:150","type":""}],"src":"37040:217:150"},{"body":{"nodeType":"YulBlock","src":"37399:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"37409:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37429:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37423:5:150"},"nodeType":"YulFunctionCall","src":"37423:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"37413:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37484:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"37492:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37480:3:150"},"nodeType":"YulFunctionCall","src":"37480:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"37499:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"37504:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"37445:34:150"},"nodeType":"YulFunctionCall","src":"37445:66:150"},"nodeType":"YulExpressionStatement","src":"37445:66:150"},{"nodeType":"YulAssignment","src":"37520:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37531:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"37536:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37527:3:150"},"nodeType":"YulFunctionCall","src":"37527:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"37520:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37375:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37380:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"37391:3:150","type":""}],"src":"37262:287:150"},{"body":{"nodeType":"YulBlock","src":"37586:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37603:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37610:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"37615:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37606:3:150"},"nodeType":"YulFunctionCall","src":"37606:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37596:6:150"},"nodeType":"YulFunctionCall","src":"37596:31:150"},"nodeType":"YulExpressionStatement","src":"37596:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37643:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"37646:4:150","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37636:6:150"},"nodeType":"YulFunctionCall","src":"37636:15:150"},"nodeType":"YulExpressionStatement","src":"37636:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37667:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37670:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37660:6:150"},"nodeType":"YulFunctionCall","src":"37660:15:150"},"nodeType":"YulExpressionStatement","src":"37660:15:150"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"37554:127:150"}]},"contents":"{\n    { }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint8t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function validator_revert_bytes4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_addresst_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        if iszero(eq(value_1, and(value_1, 0xffffffffffff))) { revert(0, 0) }\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_available_length_bytes(src, length, end) -> array\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        array := allocate_memory(add(and(add(length, 31), not(31)), 0x20))\n        mstore(array, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        calldatacopy(add(array, 0x20), src, length)\n        mstore(add(add(array, length), 0x20), 0)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        array := abi_decode_available_length_bytes(add(offset, 0x20), calldataload(offset), end)\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n    }\n    function abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IStargateNFT_$72687__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_struct_TokenInfo(value, pos) -> end\n    {\n        mstore(pos, mload(value))\n        let memberValue0 := mload(add(value, 0x20))\n        mstore(add(pos, 0x20), 0x80)\n        let tail := abi_encode_string(memberValue0, add(pos, 0x80))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n        mstore(add(pos, 0x60), mload(add(value, 0x60)))\n        end := tail\n    }\n    function abi_encode_tuple_t_struct$_TokenInfo_$13440_memory_ptr__to_t_struct$_TokenInfo_$13440_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_TokenInfo(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$13440_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_struct_TokenInfo(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_bool(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        if gt(_4, _2) { panic_error_0x41() }\n        let _5 := shl(5, _4)\n        let dst := allocate_memory(add(_5, _1))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, _5), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _1)\n        }\n        value0 := dst_1\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 27)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"GalaxyMember: level must be less\")\n        mstore(add(headStart, 96), \" than or equal to MAX_LEVEL\")\n        tail := add(headStart, 128)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_stringliteral_a38e447c5b0b4349960f55aa87f10b03e4f9a190d02e4cb0f1b55ca947b45ce5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"Galaxy Member: _stargateNFT cann\")\n        mstore(add(headStart, 96), \"ot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, _1))\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 67)\n        mstore(add(headStart, 64), \"Galaxy Member: Max level must be\")\n        mstore(add(headStart, 96), \" greater than the current max le\")\n        mstore(add(headStart, 128), \"vel\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 66)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be set for all levels unlock\")\n        mstore(add(headStart, 128), \"ed\")\n        tail := add(headStart, 160)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"Galaxy Member: _xAllocationsGove\")\n        mstore(add(headStart, 96), \"rnor cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: caller is not the\")\n        mstore(add(headStart, 96), \" owner of the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: you must own the \")\n        mstore(add(headStart, 96), \"Token to upgrade it\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"Galaxy Member: Token is already \")\n        mstore(add(headStart, 96), \"at max level\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient bala\")\n        mstore(add(headStart, 96), \"nce to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient allo\")\n        mstore(add(headStart, 96), \"wance to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"GalaxyMember: Transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_f16ac10570b456d06db80bd2fe423215070a3564b91d14bb04028128bc67ea7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 34)\n        mstore(add(headStart, 64), \"GalaxyMember: token does not exi\")\n        mstore(add(headStart, 96), \"st\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_50331b0424526a6436124a585c481f24602c921ae5d40c354e3b100c37eae3a1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 78)\n        mstore(add(headStart, 64), \"GalaxyMember: node not owned or \")\n        mstore(add(headStart, 96), \"managed by caller or token not o\")\n        mstore(add(headStart, 128), \"wned by caller\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: node not attached \")\n        mstore(add(headStart, 96), \"to the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: token not attached\")\n        mstore(add(headStart, 96), \" to the node\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: Base URI must be \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let ret := 0\n        let slotValue := sload(value0)\n        let length := extract_byte_array_length(slotValue)\n        let _1 := 1\n        switch and(slotValue, _1)\n        case 0 {\n            mstore(pos, and(slotValue, not(255)))\n            ret := add(pos, mul(length, iszero(iszero(length))))\n        }\n        case 1 {\n            mstore(0, value0)\n            let _2 := 0x20\n            let dataPos := keccak256(0, _2)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _2) }\n            {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, _1)\n            }\n            ret := add(pos, length)\n        }\n        end := ret\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := srcOffset_1\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"Galaxy Member: Public minting is\")\n        mstore(add(headStart, 96), \" paused\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"Galaxy Member: User has not part\")\n        mstore(add(headStart, 96), \"icipated in governance\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"GalaxyMember: tokenId doesn't ex\")\n        mstore(add(headStart, 96), \"ist\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: Invalid size, cann\")\n        mstore(add(headStart, 96), \"ot be 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"GalaxyMember: Invalid size, cann\")\n        mstore(add(pos, 32), \"ot be greater than \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(pos, 51), length)\n        end := add(add(pos, length), 51)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: token not owned by\")\n        mstore(add(headStart, 96), \" caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_4481d4cc122a9096a433ef77418d25d21f54c331245a3431108d3eef5d74a9c4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 49)\n        mstore(add(headStart, 64), \"GalaxyMember: node not owned or \")\n        mstore(add(headStart, 96), \"managed by caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: node already attac\")\n        mstore(add(headStart, 96), \"hed to a token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: token already atta\")\n        mstore(add(headStart, 96), \"ched to a node\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: XAllocationVoting\")\n        mstore(add(headStart, 96), \"Governor not set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TRGovernor not \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 53)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        let end_2 := add(end_1, length_1)\n        mstore(end_2, \".json\")\n        end := add(end_2, 5)\n    }\n    function abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 55)\n        mstore(add(headStart, 64), \"Galaxy Member: _b3trGovernor can\")\n        mstore(add(headStart, 96), \"not be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 62)\n        mstore(add(headStart, 64), \"GalaxyMember: token attached to \")\n        mstore(add(headStart, 96), \"a node, detach before transfer\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_string(value3, add(headStart, 128))\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function panic_error_0x31()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x31)\n        revert(0, 0x24)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":14156},{"length":32,"start":14197},{"length":32,"start":14525}]},"linkReferences":{},"object":"60806040526004361061034b5760003560e01c80621db0dd1461035057806301ffc9a71461037257806306fdde03146103a7578063081812fc146103c9578063095ea7b3146103f6578063154edef11461041657806318160ddd1461043657806323b872dd14610459578063248a9ca3146104795780632b42df38146104995780632f2ff15d146104b95780632f745c59146104d9578063344f1ba5146104f957806336568abe1461051957806336a49a3c146105395780633af03ea8146105595780633c60f55d146105795780633d6dbee8146105995780633f4ba83a146105bb5780633ff453af146105d057806342842e0e1461060257806342966c681461062257806345977d03146106425780634a6565e1146106625780634bf5d7e9146106825780634f1ef286146106c85780634f6ccce7146106db57806351c438d1146106fb57806352d1902d1461071b57806354fd4d501461073057806355f804b31461075a578063582a486a1461077a5780635b5da5141461078f5780635b70ea9f146107af5780635c975abb146107c45780635d21e15b146107d95780635ecf68e9146107ee57806361d027b3146108035780636352211e14610818578063643ce418146108385780636c0360eb146108655780636d5e30321461087a57806370a082311461089a5780637893d736146108ba578063839a19d9146108cf5780638456cb59146108ef578063851f738e14610904578063865c380b1461093157806388371110146109515780638c5b76fb1461097157806391d148541461099157806391ddadf4146109b1578063952f2133146109dd578063958fc97d146109ff57806395d89b4114610a1f578063a1843bd014610a34578063a217fddf14610a54578063a22cb46514610a69578063a49062d414610a89578063a51d2e0b14610a9e578063aa3491eb14610abe578063ad3cb1cc14610ade578063b1ccbd2c14610b0f578063b88d4fde14610b2f578063c87b56dd14610b4f578063cc421d0714610b6f578063d206885d14610b8f578063d539139314610baf578063d547741f14610be3578063ddd8634d14610c03578063de4983a214610c23578063e617e49f14610c43578063e63ab1e914610c63578063e985e9c514610c85578063f72c0d8b14610ca5575b600080fd5b34801561035c57600080fd5b5061037061036b366004614ab7565b610cc7565b005b34801561037e57600080fd5b5061039261038d366004614af9565b610e26565b60405190151581526020015b60405180910390f35b3480156103b357600080fd5b506103bc610e37565b60405161039e9190614b66565b3480156103d557600080fd5b506103e96103e4366004614b79565b610ed8565b60405161039e9190614b92565b34801561040257600080fd5b50610370610411366004614bbb565b610eed565b34801561042257600080fd5b50610370610431366004614bd9565b610efc565b34801561044257600080fd5b5061044b61101f565b60405190815260200161039e565b34801561046557600080fd5b50610370610474366004614bf6565b611034565b34801561048557600080fd5b5061044b610494366004614b79565b6110bf565b3480156104a557600080fd5b5061044b6104b4366004614b79565b6110df565b3480156104c557600080fd5b506103706104d4366004614c37565b6110ff565b3480156104e557600080fd5b5061044b6104f4366004614bbb565b61111b565b34801561050557600080fd5b50610370610514366004614b79565b61117d565b34801561052557600080fd5b50610370610534366004614c37565b6112fb565b34801561054557600080fd5b50610370610554366004614bd9565b611333565b34801561056557600080fd5b50610370610574366004614bd9565b6113e1565b34801561058557600080fd5b5061044b610594366004614c67565b6114df565b3480156105a557600080fd5b5061044b6000805160206156dd83398151915281565b3480156105c757600080fd5b50610370611522565b3480156105dc57600080fd5b506105f06105eb366004614b79565b611545565b60405160ff909116815260200161039e565b34801561060e57600080fd5b5061037061061d366004614bf6565b6115c7565b34801561062e57600080fd5b5061037061063d366004614b79565b6115e2565b34801561064e57600080fd5b5061037061065d366004614b79565b61161b565b34801561066e57600080fd5b5061037061067d366004614ca0565b611a31565b34801561068e57600080fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526103bc565b6103706106d6366004614d7f565b611d80565b3480156106e757600080fd5b5061044b6106f6366004614b79565b611d9b565b34801561070757600080fd5b5061044b610716366004614b79565b611dfc565b34801561072757600080fd5b5061044b611e0f565b34801561073c57600080fd5b506040805180820190915260018152601b60f91b60208201526103bc565b34801561076657600080fd5b50610370610775366004614dce565b611e2c565b34801561078657600080fd5b506103e9611f05565b34801561079b57600080fd5b506103706107aa366004614e24565b611f23565b3480156107bb57600080fd5b50610370611f8b565b3480156107d057600080fd5b5061039261207a565b3480156107e557600080fd5b506103e961208f565b3480156107fa57600080fd5b506103e96120ab565b34801561080f57600080fd5b506103e96120c6565b34801561082457600080fd5b506103e9610833366004614b79565b6120e4565b34801561084457600080fd5b50610858610853366004614b79565b6120ef565b60405161039e9190614e80565b34801561087157600080fd5b506103bc61219f565b34801561088657600080fd5b5061044b610895366004614b79565b6121ae565b3480156108a657600080fd5b5061044b6108b5366004614bd9565b6121d1565b3480156108c657600080fd5b506103e9612229565b3480156108db57600080fd5b506103706108ea366004614b79565b612247565b3480156108fb57600080fd5b50610370612251565b34801561091057600080fd5b5061092461091f366004614e93565b612271565b60405161039e9190614ec8565b34801561093d57600080fd5b5061044b61094c366004614b79565b612455565b34801561095d57600080fd5b5061037061096c366004614ca0565b612473565b34801561097d57600080fd5b5061039261098c366004614bd9565b61276c565b34801561099d57600080fd5b506103926109ac366004614c37565b612950565b3480156109bd57600080fd5b506109c6612986565b60405165ffffffffffff909116815260200161039e565b3480156109e957600080fd5b5061044b6000805160206156bd83398151915281565b348015610a0b57600080fd5b5061044b610a1a366004614b79565b612990565b348015610a2b57600080fd5b506103bc6129a3565b348015610a4057600080fd5b5061044b610a4f366004614ca0565b6129c0565b348015610a6057600080fd5b5061044b600081565b348015610a7557600080fd5b50610370610a84366004614f2a565b6129cd565b348015610a9557600080fd5b5061044b6129d8565b348015610aaa57600080fd5b5061044b610ab9366004614b79565b6129ed565b348015610aca57600080fd5b50610370610ad9366004614bbb565b612a68565b348015610aea57600080fd5b506103bc604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610b1b57600080fd5b50610370610b2a366004614f58565b612a7d565b348015610b3b57600080fd5b50610370610b4a366004614ffd565b612b95565b348015610b5b57600080fd5b506103bc610b6a366004614b79565b612bac565b348015610b7b57600080fd5b5061044b610b8a366004614b79565b612c3d565b348015610b9b57600080fd5b5061044b610baa366004614bd9565b612c53565b348015610bbb57600080fd5b5061044b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b348015610bef57600080fd5b50610370610bfe366004614c37565b612c94565b348015610c0f57600080fd5b50610370610c1e366004614bd9565b612cb0565b348015610c2f57600080fd5b50610858610c3e366004614bd9565b612dae565b348015610c4f57600080fd5b5061044b610c5e366004615068565b612dcc565b348015610c6f57600080fd5b5061044b60008051602061569d83398151915281565b348015610c9157600080fd5b50610392610ca0366004615085565b612df2565b348015610cb157600080fd5b5061044b60008051602061563d83398151915281565b6000805160206156dd833981519152610cdf81612e31565b6001821015610d335760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610d875760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610d2a565b6000610d91612e3b565b90508060060154831115610e0b5760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610d2a565b60ff9093166000908152600f90930160205250604090912055565b6000610e3182612e5f565b92915050565b60606000610e43612e84565b9050806000018054610e54906150b3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e80906150b3565b8015610ecd5780601f10610ea257610100808354040283529160200191610ecd565b820191906000526020600020905b815481529060010190602001808311610eb057829003601f168201915b505050505091505090565b6000610ee382612ea8565b50610e3182612ee0565b610ef8828233612f09565b5050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460069190600160401b900460ff1680610f45575080546001600160401b03808416911610155b15610f635760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038316610fa85760405162461bcd60e51b8152600401610d2a906150ed565b82610fb1612e3b565b60130180546001600160a01b0319166001600160a01b0392909216919091179055805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a1505050565b60008061102a612f16565b6002015492915050565b6001600160a01b03821661105e576000604051633250574960e11b8152600401610d2a9190614b92565b600061106b838333612f3a565b9050836001600160a01b0316816001600160a01b0316146110b9576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610d2a565b50505050565b6000806110ca6130ae565b60009384526020525050604090206001015490565b6000806110ea612e3b565b60009384526008016020525050604090205490565b611108826110bf565b61111181612e31565b6110b983836130d2565b600080611126612f16565b9050611131846121d1565b831061115457838360405163295f44f760e21b8152600401610d2a929190615143565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b600061118881612e31565b6000611192612e3b565b9050806006015483116112195760405162461bcd60e51b815260206004820152604360248201527f47616c617879204d656d6265723a204d6178206c6576656c206d75737420626560448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610d2a565b60025b8381116112b157600081815260088301602052604090205461129f5760405162461bcd60e51b8152602060048201526042602482015260008051602061561d83398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610d2a565b806112a981615172565b91505061121c565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b03811633146113245760405163334bd91960e11b815260040160405180910390fd5b61132e8282613173565b505050565b6000805160206156bd83398151915261134b81612e31565b6001600160a01b0382166113715760405162461bcd60e51b8152600401610d2a906150ed565b600061137b612e3b565b60138101546040519192506001600160a01b0390811691908516907fb6903cd12b733685254149291b10013cb82ad4c0da7775f32176e9f9b333463990600090a360130180546001600160a01b0319166001600160a01b03939093169290921790915550565b6000805160206156bd8339815191526113f981612e31565b6001600160a01b0382166114755760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610d2a565b600061147f612e3b565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b6000806114ea612e3b565b6001600160a01b0385166000908152601282016020526040902090915061151190846131eb565b6001600160d01b0316949350505050565b60008051602061569d83398151915261153a81612e31565b6115426132a1565b50565b600080611550612e3b565b6013810154604051633404591760e21b8152600481018690529192506001600160a01b03169063d011645c90602401602060405180830381865afa15801561159c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c0919061518b565b9392505050565b61132e83838360405180602001604052806000815250612b95565b336115ec826120e4565b6001600160a01b0316146116125760405162461bcd60e51b8152600401610d2a906151a8565b611542816132f8565b611623613304565b61162b61333a565b33611635826120e4565b6001600160a01b0316146116a75760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610d2a565b60006116b1612e3b565b905060006116be836121ae565b90506116c86129d8565b811061172b5760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610d2a565b6000611736846129ed565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a082319061176d903390600401614b92565b602060405180830381865afa15801561178a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ae91906151fb565b10156118135760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610d2a565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015611863573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188791906151fb565b10156118ee5760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610d2a565b60008481526010840160205260408120805483929061190e908490615214565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af1158015611972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119969190615227565b6119e25760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610d2a565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec42885483611a0e876121ae565b6040805192835260208301919091520160405180910390a2505050611542613362565b611a3961333a565b6000611a43612e3b565b9050811580611a6457506000611a5883613373565b6001600160a01b031614155b611a805760405162461bcd60e51b8152600401610d2a90615244565b33611a8a836120e4565b6001600160a01b03161480611b0f57506013810154604051631975e30960e11b81526001600160a01b03909116906332ebc61290611ace9033908790600401615143565b602060405180830381865afa158015611aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0f9190615227565b80611b8f575060138101546040516331a9108f60e11b81526004810185905233916001600160a01b031690636352211e90602401602060405180830381865afa158015611b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b849190615286565b6001600160a01b0316145b611c065760405162461bcd60e51b815260206004820152604e602482015260008051602061567d83398151915260448201527f6d616e616765642062792063616c6c6572206f7220746f6b656e206e6f74206f60648201526d3bb732b210313c9031b0b63632b960911b608482015260a401610d2a565b81611c11848361339c565b14611c735760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610d2a565b82611c7e83836134c6565b14611ce05760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610d2a565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a36000611d3c8360006135cc565b50905083837f48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b859083604051611d7291815260200190565b60405180910390a350505050565b611d88613741565b611d91826137e6565b610ef882826137fe565b600080611da6612f16565b9050611db061101f565b8310611dd45760008360405163295f44f760e21b8152600401610d2a929190615143565b806002018381548110611de957611de96152a3565b9060005260206000200154915050919050565b6000610e3182611e0a612e3b565b61339c565b6000611e196138b2565b5060008051602061565d83398151915290565b6000611e3781612e31565b6000825111611e945760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a204261736520555249206d757374206265206044820152621cd95d60ea1b6064820152608401610d2a565b6000611e9e612e3b565b905080600401604051611eb191906152b9565b604051809103902083604051611ec7919061532f565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a3600481016110b98482615399565b600080611f10612e3b565b600201546001600160a01b031692915050565b6000611f2e81612e31565b6000611f38612e3b565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611f6d911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611f95612e3b565b600b81015490915060ff1615611ffd5760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610d2a565b6120063361276c565b6120715760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610d2a565b611542336138fb565b60008061208561392c565b5460ff1692915050565b6000612099612e3b565b601301546001600160a01b0316919050565b6000806120b6612e3b565b546001600160a01b031692915050565b6000806120d1612e3b565b600301546001600160a01b031692915050565b6000610e3182612ea8565b6120f7614a80565b600061210283613373565b6001600160a01b0316036121645760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610d2a565b61216c614a80565b82815261217883612bac565b6020820152612186836121ae565b6040820152612194836129ed565b606082015292915050565b60606121a9613950565b905090565b6000806121ba83612990565b905060006121c884836135cc565b50949350505050565b6000806121dc612e84565b90506001600160a01b0383166122085760006040516322718ad960e21b8152600401610d2a9190614b92565b6001600160a01b039092166000908152600390920160205250604090205490565b600080612234612e3b565b600101546001600160a01b031692915050565b611542338261396d565b60008051602061569d83398151915261226981612e31565b611542613a31565b6060816000036122c15760405162461bcd60e51b815260206004820152602760248201526000805160206155fd83398151915260448201526606f7420626520360cc1b6064820152608401610d2a565b60648083111561230a576122d481613a78565b6040516020016122e49190615458565b60408051601f198184030181529082905262461bcd60e51b8252610d2a91600401614b66565b6000612315866121d1565b9050600061232385876154a7565b905081811061236857604080516000808252602082019092529061235d565b61234a614a80565b8152602001906001900390816123425790505b5093505050506115c0565b60006123748683615214565b9050828111156123815750815b600061238d83836154be565b90506000816001600160401b038111156123a9576123a9614cc2565b6040519080825280602002602001820160405280156123e257816020015b6123cf614a80565b8152602001906001900390816123c75790505b50905060005b828110156124475760006123fc8287615214565b9050600061240a8d8361111b565b9050612415816120ef565b848481518110612427576124276152a3565b60200260200101819052505050808061243f90615172565b9150506123e8565b509998505050505050505050565b600061245f612e3b565b600092835260100160205250604090205490565b61247b61333a565b6000612485612e3b565b90508115806124a65750600061249a83613373565b6001600160a01b031614155b6124c25760405162461bcd60e51b8152600401610d2a90615244565b336124cc836120e4565b6001600160a01b0316146125325760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610d2a565b601381015460405163692b26ff60e01b81526004810185905233916001600160a01b03169063692b26ff90602401602060405180830381865afa15801561257d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a19190615286565b6001600160a01b0316146125ff5760405162461bcd60e51b8152602060048201526031602482015260008051602061567d83398151915260448201527036b0b730b3b2b210313c9031b0b63632b960791b6064820152608401610d2a565b612609838261339c565b1561266d5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610d2a565b61267782826134c6565b156126db5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610d2a565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a3600061273683856135cc565b50905083837fdd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace783604051611d7291815260200190565b600080612777612e3b565b80549091506001600160a01b03166127ea5760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610d2a565b60018101546001600160a01b03166128505760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610d2a565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b9061287f908690600401614b92565b602060405180830381865afa15801561289c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c09190615227565b8061293957506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b906128f8908690600401614b92565b602060405180830381865afa158015612915573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129399190615227565b156129475750600192915050565b50600092915050565b60008061295b6130ae565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006121a9613b0a565b6000610e318261299e612e3b565b6134c6565b606060006129af612e84565b9050806001018054610e54906150b3565b6000806121c884846135cc565b610ef8338383613b15565b6000806129e3612e3b565b6006015492915050565b6000806129f983613373565b6001600160a01b031603612a0f57506000919050565b6000612a1a83612990565b9050600080612a2985846135cc565b91509150612a356129d8565b8203612a4657506000949350505050565b80612a556104b4846001615214565b612a5f91906154be565b95945050505050565b6000612a7381612e31565b61132e838361396d565b6000612a8881612e31565b6000612a92612e3b565b905060005b8351811015612b65576000848281518110612ab457612ab46152a3565b602002602001015111612b155760405162461bcd60e51b8152602060048201526035602482015260008051602061561d83398151915260448201527407573742062652067726561746572207468616e203605c1b6064820152608401610d2a565b838181518110612b2757612b276152a3565b6020026020010151826008016000836002612b429190615214565b815260208101919091526040016000205580612b5d81615172565b915050612a97565b507f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf8708360405161101291906154d1565b612ba0848484611034565b6110b984848484613bb1565b60606000612bb983613373565b6001600160a01b031603612bdb57505060408051602081019091526000815290565b6000612be6836121ae565b905060008111612c0557604051806020016040528060008152506115c0565b612c0d61219f565b612c1682613a78565b604051602001612c27929190615515565b6040516020818303038152906040529392505050565b600080612c4b8360006135cc565b509392505050565b600080612c5e612e3b565b6001600160a01b03841660009081526012820160205260409020909150612c8490613cc8565b6001600160d01b03169392505050565b612c9d826110bf565b612ca681612e31565b6110b98383613173565b6000805160206156bd833981519152612cc881612e31565b6001600160a01b038216612d3e5760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d2a565b6000612d48612e3b565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b612db6614a80565b6000612dc183612c53565b90506115c0816120ef565b6000612dd6612e3b565b60ff9092166000908152600f9290920160205250604090205490565b600080612dfd612e84565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b6115428133613cf8565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610e315750610e3182613d23565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b600080612eb483613373565b90506001600160a01b038116610e3157604051637e27328960e01b815260048101849052602401610d2a565b600080612eeb612e84565b6000938452600401602052505060409020546001600160a01b031690565b61132e8383836001613d48565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b6000612f4461333a565b6000612f4e612e3b565b9050612f5a84826134c6565b15612fcd5760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610d2a565b6000612fda868686613e52565b90506001600160a01b03811615801590612ffa5750612ff8816121d1565b155b1561302e5761302b61300a612986565b6001600160a01b038316600090815260128501602052604081209190613e6f565b50505b6001600160a01b0381161580159061304d57508461304b82612c53565b145b80156130615750600061305f826121d1565b115b1561307a5761307a8161307583600061111b565b61396d565b6001600160a01b0386161580159061309a5750613096866121d1565b6001145b15612a5f57612a5f8661307588600061111b565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806130dd6130ae565b90506130e98484612950565b613169576000848152602082815260408083206001600160a01b03871684529091529020805460ff1916600117905561311f3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610e31565b6000915050610e31565b60008061317e6130ae565b905061318a8484612950565b15613169576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610e31565b81546000908181600581111561324a57600061320684613e8a565b61321090856154be565b60008881526020902090915081015465ffffffffffff908116908716101561323a57809150613248565b613245816001615214565b92505b505b600061325887878585613f72565b905080156132935761327d8761326f6001846154be565b600091825260209091200190565b54600160301b90046001600160d01b0316613296565b60005b979650505050505050565b6132a9613fcc565b60006132b361392c565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516132ed9190614b92565b60405180910390a150565b610ef860008233612f3a565b600061330e613ff1565b80549091506001190161333457604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b61334261207a565b156133605760405163d93c066560e01b815260040160405180910390fd5b565b600061336c613ff1565b6001905550565b60008061337e612e84565b6000938452600201602052505060409020546001600160a01b031690565b6000828152600d820160205260408120548015806134245750601383015460405162491fcf60e11b8152600481018690526001600160a01b039091169062923f9e90602401602060405180830381865afa1580156133fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134229190615227565b155b806134b75750601383015460405163692b26ff60e01b8152600481018690526001600160a01b039091169063692b26ff90602401602060405180830381865afa158015613475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134999190615286565b6001600160a01b03166134ab826120e4565b6001600160a01b031614155b156115c0576000915050610e31565b6000828152600e82016020526040808220546013840154915162491fcf60e11b81526004810182905290916001600160a01b03169062923f9e90602401602060405180830381865afa158015613520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135449190615227565b15806134b75750601383015460405163692b26ff60e01b8152600481018390526001600160a01b039091169063692b26ff90602401602060405180830381865afa158015613596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ba9190615286565b6001600160a01b03166134ab856120e4565b60008060006135d9612e3b565b90506001841580159061366e57506135f0866120e4565b601383015460405163692b26ff60e01b8152600481018890526001600160a01b03928316929091169063692b26ff90602401602060405180830381865afa15801561363f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136639190615286565b6001600160a01b0316145b156136b457600061367e86611545565b905060ff8116156136b257600061369482612dcc565b905083600601548111156136ac5783600601546136ae565b805b9250505b505b6000868152601083016020526040812054906136d1836001615214565b90505b83600601548111613734576000818152600885016020526040902054821061371d576000818152600885016020526040902054909250829061371690836154be565b9150613722565b613734565b8061372c81615172565b9150506136d4565b5090969095509350505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806137c857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166137bc60008051602061565d833981519152546001600160a01b031690565b6001600160a01b031614155b156133605760405163703e46dd60e11b815260040160405180910390fd5b60008051602061563d833981519152610ef881612e31565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613858575060408051601f3d908101601f19168201909252613855918101906151fb565b60015b6138775781604051634c9c8ce360e01b8152600401610d2a9190614b92565b60008051602061565d83398151915281146138a857604051632a87526960e21b815260048101829052602401610d2a565b61132e8383614015565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146133605760405163703e46dd60e11b815260040160405180910390fd5b6000613905612e3b565b600581018054919250600091908261391c83615172565b91905055905061132e838261406b565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b6060600061395c612e3b565b9050806004018054610e54906150b3565b816001600160a01b0316613980826120e4565b6001600160a01b0316146139a65760405162461bcd60e51b8152600401610d2a906151a8565b60006139b0612e3b565b90506139e76139bd612986565b6139c684614085565b6001600160a01b038616600090815260128501602052604090209190613e6f565b5050826001600160a01b03167fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc83604051613a2491815260200190565b60405180910390a2505050565b613a3961333a565b6000613a4361392c565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586132e03390565b60606000613a85836140bd565b60010190506000816001600160401b03811115613aa457613aa4614cc2565b6040519080825280601f01601f191660200182016040528015613ace576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613ad857509392505050565b60006121a943614193565b6000613b1f612e84565b90506001600160a01b038316613b4a5782604051630b61174360e31b8152600401610d2a9190614b92565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611d72565b6001600160a01b0383163b156110b957604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613bf390339088908790879060040161556a565b6020604051808303816000875af1925050508015613c2e575060408051601f3d908101601f19168201909252613c2b918101906155a7565b60015b613c8e573d808015613c5c576040519150601f19603f3d011682016040523d82523d6000602084013e613c61565b606091505b508051600003613c865783604051633250574960e11b8152600401610d2a9190614b92565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14613cc15783604051633250574960e11b8152600401610d2a9190614b92565b5050505050565b8054600090801561294757613ce28361326f6001846154be565b54600160301b90046001600160d01b03166115c0565b613d028282612950565b610ef857808260405163e2517d3f60e01b8152600401610d2a929190615143565b60006001600160e01b0319821663780e9d6360e01b1480610e315750610e31826141c6565b6000613d52612e84565b90508180613d6857506001600160a01b03831615155b15613e21576000613d7885612ea8565b90506001600160a01b03841615801590613da45750836001600160a01b0316816001600160a01b031614155b8015613db75750613db58185612df2565b155b15613dd7578360405163a9fbf51f60e01b8152600401610d2a9190614b92565b8215613e1f5784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6000613e5c61333a565b613e67848484614216565b949350505050565b600080613e7d8585856142a4565b915091505b935093915050565b600081600003613e9c57506000919050565b60006001613ea98461441e565b901c6001901b90506001818481613ec257613ec2615554565b048201901c90506001818481613eda57613eda615554565b048201901c90506001818481613ef257613ef2615554565b048201901c90506001818481613f0a57613f0a615554565b048201901c90506001818481613f2257613f22615554565b048201901c90506001818481613f3a57613f3a615554565b048201901c90506001818481613f5257613f52615554565b048201901c90506115c081828581613f6c57613f6c615554565b046144b2565b60005b81831015612c4b576000613f8984846144c8565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613fb857809250613fc6565b613fc3816001615214565b93505b50613f75565b613fd461207a565b61336057604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b61401e826144e3565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156140635761132e828261453f565b610ef86145ac565b610ef88282604051806020016040528060008152506145cb565b60006001600160d01b038211156140b9576040516306dfcc6560e41b815260d0600482015260248101839052604401610d2a565b5090565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106140fc5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310614126576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061414457662386f26fc10000830492506010015b6305f5e100831061415c576305f5e100830492506008015b612710831061417057612710830492506004015b60648310614182576064830492506002015b600a8310610e315760010192915050565b600065ffffffffffff8211156140b9576040516306dfcc6560e41b81526030600482015260248101839052604401610d2a565b60006001600160e01b031982166380ac58cd60e01b14806141f757506001600160e01b03198216635b5e139f60e01b145b80610e3157506301ffc9a760e01b6001600160e01b0319831614610e31565b6000806142248585856145e2565b90506001600160a01b0381166142425761423d846146e9565b614265565b846001600160a01b0316816001600160a01b031614614265576142658185614722565b6001600160a01b0385166142815761427c846147c3565b613e67565b846001600160a01b0316816001600160a01b031614613e6757613e67858561488c565b8254600090819080156143c35760006142c28761326f6001856154be565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561431657604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff80881691160361436257846143398861326f6001866154be565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556143b3565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150613e829050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081613e82565b600080608083901c1561443357608092831c92015b604083901c1561444557604092831c92015b602083901c1561445757602092831c92015b601083901c1561446957601092831c92015b600883901c1561447b57600892831c92015b600483901c1561448d57600492831c92015b600283901c1561449f57600292831c92015b600183901c15610e315760010192915050565b60008183106144c157816115c0565b5090919050565b60006144d760028484186155c4565b6115c090848416615214565b806001600160a01b03163b6000036145105780604051634c9c8ce360e01b8152600401610d2a9190614b92565b60008051602061565d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161455c919061532f565b600060405180830381855af49150503d8060008114614597576040519150601f19603f3d011682016040523d82523d6000602084013e61459c565b606091505b5091509150612a5f8583836148e4565b34156133605760405163b398979f60e01b815260040160405180910390fd5b6145d58383614937565b61132e6000848484613bb1565b6000806145ed612e84565b905060006145fa85613373565b90506001600160a01b038416156146165761461681858761499c565b6001600160a01b0381161561465657614633600086600080613d48565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614687576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b60006146f3612f16565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b600061472c612f16565b90506000614739846121d1565b600084815260018401602052604090205490915080821461478e576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b60006147cd612f16565b60028101549091506000906147e4906001906154be565b6000848152600384016020526040812054600285018054939450909284908110614810576148106152a3565b9060005260206000200154905080846002018381548110614833576148336152a3565b60009182526020808320909101929092558281526003860190915260408082208490558682528120556002840180548061486f5761486f6155e6565b600190038181906000526020600020016000905590555050505050565b6000614896612f16565b9050600060016148a5856121d1565b6148af91906154be565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b6060826148f9576148f4826149f2565b6115c0565b815115801561491057506001600160a01b0384163b155b156149305783604051639996b31560e01b8152600401610d2a9190614b92565b50806115c0565b6001600160a01b038216614961576000604051633250574960e11b8152600401610d2a9190614b92565b600061496f83836000612f3a565b90506001600160a01b0381161561132e5760006040516339e3563760e11b8152600401610d2a9190614b92565b6149a7838383614a1b565b61132e576001600160a01b0383166149d557604051637e27328960e01b815260048101829052602401610d2a565b818160405163177e802f60e01b8152600401610d2a929190615143565b805115614a025780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b03831615801590613e675750826001600160a01b0316846001600160a01b03161480614a555750614a558484612df2565b80613e675750826001600160a01b0316614a6e83612ee0565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461154257600080fd5b60008060408385031215614aca57600080fd5b8235614ad581614aa8565b946020939093013593505050565b6001600160e01b03198116811461154257600080fd5b600060208284031215614b0b57600080fd5b81356115c081614ae3565b60005b83811015614b31578181015183820152602001614b19565b50506000910152565b60008151808452614b52816020860160208601614b16565b601f01601f19169290920160200192915050565b6020815260006115c06020830184614b3a565b600060208284031215614b8b57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461154257600080fd5b60008060408385031215614bce57600080fd5b8235614ad581614ba6565b600060208284031215614beb57600080fd5b81356115c081614ba6565b600080600060608486031215614c0b57600080fd5b8335614c1681614ba6565b92506020840135614c2681614ba6565b929592945050506040919091013590565b60008060408385031215614c4a57600080fd5b823591506020830135614c5c81614ba6565b809150509250929050565b60008060408385031215614c7a57600080fd5b8235614c8581614ba6565b9150602083013565ffffffffffff81168114614c5c57600080fd5b60008060408385031215614cb357600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614d0057614d00614cc2565b604052919050565b60006001600160401b03831115614d2157614d21614cc2565b614d34601f8401601f1916602001614cd8565b9050828152838383011115614d4857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614d7057600080fd5b6115c083833560208501614d08565b60008060408385031215614d9257600080fd5b8235614d9d81614ba6565b915060208301356001600160401b03811115614db857600080fd5b614dc485828601614d5f565b9150509250929050565b600060208284031215614de057600080fd5b81356001600160401b03811115614df657600080fd5b8201601f81018413614e0757600080fd5b613e6784823560208401614d08565b801515811461154257600080fd5b600060208284031215614e3657600080fd5b81356115c081614e16565b805182526000602082015160806020850152614e606080850182614b3a565b905060408301516040850152606083015160608501528091505092915050565b6020815260006115c06020830184614e41565b600080600060608486031215614ea857600080fd5b8335614eb381614ba6565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614f1d57603f19888603018452614f0b858351614e41565b94509285019290850190600101614eef565b5092979650505050505050565b60008060408385031215614f3d57600080fd5b8235614f4881614ba6565b91506020830135614c5c81614e16565b60006020808385031215614f6b57600080fd5b82356001600160401b0380821115614f8257600080fd5b818501915085601f830112614f9657600080fd5b813581811115614fa857614fa8614cc2565b8060051b9150614fb9848301614cd8565b8181529183018401918481019088841115614fd357600080fd5b938501935b83851015614ff157843582529385019390850190614fd8565b98975050505050505050565b6000806000806080858703121561501357600080fd5b843561501e81614ba6565b9350602085013561502e81614ba6565b92506040850135915060608501356001600160401b0381111561505057600080fd5b61505c87828801614d5f565b91505092959194509250565b60006020828403121561507a57600080fd5b81356115c081614aa8565b6000806040838503121561509857600080fd5b82356150a381614ba6565b91506020830135614c5c81614ba6565b600181811c908216806150c757607f821691505b6020821081036150e757634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526036908201527f47616c617879204d656d6265723a205f73746172676174654e46542063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b6000600182016151845761518461515c565b5060010190565b60006020828403121561519d57600080fd5b81516115c081614aa8565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b60006020828403121561520d57600080fd5b5051919050565b80820180821115610e3157610e3161515c565b60006020828403121561523957600080fd5b81516115c081614e16565b60208082526022908201527f47616c6178794d656d6265723a20746f6b656e20646f6573206e6f74206578696040820152611cdd60f21b606082015260800190565b60006020828403121561529857600080fd5b81516115c081614ba6565b634e487b7160e01b600052603260045260246000fd5b60008083546152c7816150b3565b600182811680156152df57600181146152f457615323565b60ff1984168752821515830287019450615323565b8760005260208060002060005b8581101561531a5781548a820152908401908201615301565b50505082870194505b50929695505050505050565b60008251615341818460208701614b16565b9190910192915050565b601f82111561132e57600081815260208120601f850160051c810160208610156153725750805b601f850160051c820191505b818110156153915782815560010161537e565b505050505050565b81516001600160401b038111156153b2576153b2614cc2565b6153c6816153c084546150b3565b8461534b565b602080601f8311600181146153fb57600084156153e35750858301515b600019600386901b1c1916600185901b178555615391565b600085815260208120601f198616915b8281101561542a5788860151825594840194600190910190840161540b565b50858210156154485787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000805160206155fd833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b60208201526000825161549a816033850160208701614b16565b9190910160330192915050565b8082028115828204841417610e3157610e3161515c565b81810381811115610e3157610e3161515c565b6020808252825182820181905260009190848201906040850190845b81811015615509578351835292840192918401916001016154ed565b50909695505050505050565b60008351615527818460208801614b16565b83519083019061553b818360208801614b16565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061559d90830184614b3a565b9695505050505050565b6000602082840312156155b957600080fd5b81516115c081614ae3565b6000826155e157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204233545220746f2075706772616465206d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc47616c6178794d656d6265723a206e6f6465206e6f74206f776e6564206f722065d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f5a264697066735822122069f2bd2c72d82dc89487dd1ec575152b8212d265fb9461d8eb06efa2e66c229164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x350 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x372 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x3C9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x154EDEF1 EQ PUSH2 0x416 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x436 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x459 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x479 JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x499 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x4D9 JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4F9 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x519 JUMPI DUP1 PUSH4 0x36A49A3C EQ PUSH2 0x539 JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0x3C60F55D EQ PUSH2 0x579 JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x599 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x5BB JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x5D0 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x622 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x642 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x662 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x682 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x6C8 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x6DB JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x6FB JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x71B JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x730 JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x75A JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x77A JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x78F JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x7AF JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x7C4 JUMPI DUP1 PUSH4 0x5D21E15B EQ PUSH2 0x7D9 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x7EE JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x803 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x818 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x838 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x865 JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x87A JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x89A JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x8BA JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x8CF JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x8EF JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x904 JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x931 JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x951 JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x971 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x991 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x9B1 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x9DD JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x9FF JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA1F JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0xA34 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xA54 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0xA69 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0xA89 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0xA9E JUMPI DUP1 PUSH4 0xAA3491EB EQ PUSH2 0xABE JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xADE JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xB0F JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xB2F JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xB4F JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xB6F JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xB8F JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xBAF JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xBE3 JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xC03 JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xC23 JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xC43 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xC63 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xC85 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xCA5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x36B CALLDATASIZE PUSH1 0x4 PUSH2 0x4AB7 JUMP JUMPDEST PUSH2 0xCC7 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x38D CALLDATASIZE PUSH1 0x4 PUSH2 0x4AF9 JUMP JUMPDEST PUSH2 0xE26 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xE37 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4B66 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x3E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x402 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x411 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BBB JUMP JUMPDEST PUSH2 0xEED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x422 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x431 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0xEFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x442 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x101F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x465 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x474 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BF6 JUMP JUMPDEST PUSH2 0x1034 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x494 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x10BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x4B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x10DF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4C37 JUMP JUMPDEST PUSH2 0x10FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x4F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BBB JUMP JUMPDEST PUSH2 0x111B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x505 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x514 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x117D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x534 CALLDATASIZE PUSH1 0x4 PUSH2 0x4C37 JUMP JUMPDEST PUSH2 0x12FB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x545 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x554 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x1333 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x574 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x13E1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x594 CALLDATASIZE PUSH1 0x4 PUSH2 0x4C67 JUMP JUMPDEST PUSH2 0x14DF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56DD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1522 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5F0 PUSH2 0x5EB CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x1545 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x61D CALLDATASIZE PUSH1 0x4 PUSH2 0x4BF6 JUMP JUMPDEST PUSH2 0x15C7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x63D CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x15E2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x65D CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x161B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x67D CALLDATASIZE PUSH1 0x4 PUSH2 0x4CA0 JUMP JUMPDEST PUSH2 0x1A31 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST PUSH2 0x370 PUSH2 0x6D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D7F JUMP JUMPDEST PUSH2 0x1D80 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x6F6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x1D9B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x707 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x716 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x1DFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x727 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x1E0F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x1B PUSH1 0xF9 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x766 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x775 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DCE JUMP JUMPDEST PUSH2 0x1E2C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x786 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1F05 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7AA CALLDATASIZE PUSH1 0x4 PUSH2 0x4E24 JUMP JUMPDEST PUSH2 0x1F23 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1F8B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x207A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x208F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x20AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x80F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x20C6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x824 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x833 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x20E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x844 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x858 PUSH2 0x853 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x20EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4E80 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x219F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x886 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x895 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x21AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x8B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x21D1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x2229 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x8EA CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2247 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x2251 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x910 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x924 PUSH2 0x91F CALLDATASIZE PUSH1 0x4 PUSH2 0x4E93 JUMP JUMPDEST PUSH2 0x2271 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4EC8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x93D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x94C CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2455 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x95D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x96C CALLDATASIZE PUSH1 0x4 PUSH2 0x4CA0 JUMP JUMPDEST PUSH2 0x2473 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x98C CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x276C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x99D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x9AC CALLDATASIZE PUSH1 0x4 PUSH2 0x4C37 JUMP JUMPDEST PUSH2 0x2950 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C6 PUSH2 0x2986 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56BD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xA1A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2990 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x29A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xA4F CALLDATASIZE PUSH1 0x4 PUSH2 0x4CA0 JUMP JUMPDEST PUSH2 0x29C0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xA84 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F2A JUMP JUMPDEST PUSH2 0x29CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0x29D8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xAB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x29ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xACA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xAD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BBB JUMP JUMPDEST PUSH2 0x2A68 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB2A CALLDATASIZE PUSH1 0x4 PUSH2 0x4F58 JUMP JUMPDEST PUSH2 0x2A7D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB4A CALLDATASIZE PUSH1 0x4 PUSH2 0x4FFD JUMP JUMPDEST PUSH2 0x2B95 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xB6A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2BAC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xB8A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B79 JUMP JUMPDEST PUSH2 0x2C3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xBAA CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x2C53 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xBFE CALLDATASIZE PUSH1 0x4 PUSH2 0x4C37 JUMP JUMPDEST PUSH2 0x2C94 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xC1E CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x2CB0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x858 PUSH2 0xC3E CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD9 JUMP JUMPDEST PUSH2 0x2DAE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xC5E CALLDATASIZE PUSH1 0x4 PUSH2 0x5068 JUMP JUMPDEST PUSH2 0x2DCC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x569D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0xCA0 CALLDATASIZE PUSH1 0x4 PUSH2 0x5085 JUMP JUMPDEST PUSH2 0x2DF2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x563D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56DD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCDF DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xD33 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xD87 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD91 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xE0B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE31 DUP3 PUSH2 0x2E5F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE43 PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xE54 SWAP1 PUSH2 0x50B3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE80 SWAP1 PUSH2 0x50B3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xECD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xEA2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xECD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xEB0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEE3 DUP3 PUSH2 0x2EA8 JUMP JUMPDEST POP PUSH2 0xE31 DUP3 PUSH2 0x2EE0 JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 CALLER PUSH2 0x2F09 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x6 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xF45 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0xF63 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xFA8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x50ED JUMP JUMPDEST DUP3 PUSH2 0xFB1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x13 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x102A PUSH2 0x2F16 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x105E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x106B DUP4 DUP4 CALLER PUSH2 0x2F3A JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x10B9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD2A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x10CA PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x10EA PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1108 DUP3 PUSH2 0x10BF JUMP JUMPDEST PUSH2 0x1111 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x10B9 DUP4 DUP4 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1126 PUSH2 0x2F16 JUMP JUMPDEST SWAP1 POP PUSH2 0x1131 DUP5 PUSH2 0x21D1 JUMP JUMPDEST DUP4 LT PUSH2 0x1154 JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP3 SWAP2 SWAP1 PUSH2 0x5143 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1188 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1192 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0x1219 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204D6178206C6576656C206D757374206265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x12B1 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x129F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x561D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD2A JUMP JUMPDEST DUP1 PUSH2 0x12A9 DUP2 PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x121C JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x1324 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x132E DUP3 DUP3 PUSH2 0x3173 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56BD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x134B DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1371 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x50ED JUMP JUMPDEST PUSH1 0x0 PUSH2 0x137B PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xB6903CD12B733685254149291B10013CB82AD4C0DA7775F32176E9F9B3334639 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x13 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56BD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x13F9 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1475 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147F PUSH2 0x2E3B JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x14EA PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x1511 SWAP1 DUP5 PUSH2 0x31EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x569D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x153A DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x32A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1550 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x159C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15C0 SWAP2 SWAP1 PUSH2 0x518B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x132E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2B95 JUMP JUMPDEST CALLER PUSH2 0x15EC DUP3 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1612 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x51A8 JUMP JUMPDEST PUSH2 0x1542 DUP2 PUSH2 0x32F8 JUMP JUMPDEST PUSH2 0x1623 PUSH2 0x3304 JUMP JUMPDEST PUSH2 0x162B PUSH2 0x333A JUMP JUMPDEST CALLER PUSH2 0x1635 DUP3 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x16A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16B1 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x16BE DUP4 PUSH2 0x21AE JUMP JUMPDEST SWAP1 POP PUSH2 0x16C8 PUSH2 0x29D8 JUMP JUMPDEST DUP2 LT PUSH2 0x172B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1736 DUP5 PUSH2 0x29ED JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x176D SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x178A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17AE SWAP2 SWAP1 PUSH2 0x51FB JUMP JUMPDEST LT ISZERO PUSH2 0x1813 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1863 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1887 SWAP2 SWAP1 PUSH2 0x51FB JUMP JUMPDEST LT ISZERO PUSH2 0x18EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x190E SWAP1 DUP5 SWAP1 PUSH2 0x5214 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1972 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1996 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST PUSH2 0x19E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD2A JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x1A0E DUP8 PUSH2 0x21AE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x1542 PUSH2 0x3362 JUMP JUMPDEST PUSH2 0x1A39 PUSH2 0x333A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A43 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 PUSH2 0x1A64 JUMPI POP PUSH1 0x0 PUSH2 0x1A58 DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST PUSH2 0x1A80 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x5244 JUMP JUMPDEST CALLER PUSH2 0x1A8A DUP4 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x1B0F JUMPI POP PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1975E309 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x32EBC612 SWAP1 PUSH2 0x1ACE SWAP1 CALLER SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5143 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1AEB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B0F SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST DUP1 PUSH2 0x1B8F JUMPI POP PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x31A9108F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6352211E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B60 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x1C06 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4E PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x567D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6D616E616765642062792063616C6C6572206F7220746F6B656E206E6F74206F PUSH1 0x64 DUP3 ADD MSTORE PUSH14 0x3BB732B210313C9031B0B63632B9 PUSH1 0x91 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD2A JUMP JUMPDEST DUP2 PUSH2 0x1C11 DUP5 DUP4 PUSH2 0x339C JUMP JUMPDEST EQ PUSH2 0x1C73 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST DUP3 PUSH2 0x1C7E DUP4 DUP4 PUSH2 0x34C6 JUMP JUMPDEST EQ PUSH2 0x1CE0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x1D3C DUP4 PUSH1 0x0 PUSH2 0x35CC JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0x48129B4A18F9CA1400152E3F45A48CF58787E9948A48294199C83A66517B8590 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1D72 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0x1D88 PUSH2 0x3741 JUMP JUMPDEST PUSH2 0x1D91 DUP3 PUSH2 0x37E6 JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 PUSH2 0x37FE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1DA6 PUSH2 0x2F16 JUMP JUMPDEST SWAP1 POP PUSH2 0x1DB0 PUSH2 0x101F JUMP JUMPDEST DUP4 LT PUSH2 0x1DD4 JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP3 SWAP2 SWAP1 PUSH2 0x5143 JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1DE9 JUMPI PUSH2 0x1DE9 PUSH2 0x52A3 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE31 DUP3 PUSH2 0x1E0A PUSH2 0x2E3B JUMP JUMPDEST PUSH2 0x339C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E19 PUSH2 0x38B2 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x565D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E37 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1E94 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E9E PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1EB1 SWAP2 SWAP1 PUSH2 0x52B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1EC7 SWAP2 SWAP1 PUSH2 0x532F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0x10B9 DUP5 DUP3 PUSH2 0x5399 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1F10 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F2E DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F38 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1F6D SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F95 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1FFD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x2006 CALLER PUSH2 0x276C JUMP JUMPDEST PUSH2 0x2071 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x1542 CALLER PUSH2 0x38FB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2085 PUSH2 0x392C JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2099 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x13 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x20B6 PUSH2 0x2E3B JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x20D1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE31 DUP3 PUSH2 0x2EA8 JUMP JUMPDEST PUSH2 0x20F7 PUSH2 0x4A80 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2102 DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2164 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x216C PUSH2 0x4A80 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x2178 DUP4 PUSH2 0x2BAC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2186 DUP4 PUSH2 0x21AE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2194 DUP4 PUSH2 0x29ED JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x21A9 PUSH2 0x3950 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21BA DUP4 PUSH2 0x2990 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x21C8 DUP5 DUP4 PUSH2 0x35CC JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21DC PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x2208 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2234 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1542 CALLER DUP3 PUSH2 0x396D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x569D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2269 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x3A31 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x22C1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x55FD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x230A JUMPI PUSH2 0x22D4 DUP2 PUSH2 0x3A78 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x22E4 SWAP2 SWAP1 PUSH2 0x5458 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xD2A SWAP2 PUSH1 0x4 ADD PUSH2 0x4B66 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2315 DUP7 PUSH2 0x21D1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2323 DUP6 DUP8 PUSH2 0x54A7 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x2368 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x235D JUMP JUMPDEST PUSH2 0x234A PUSH2 0x4A80 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2342 JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2374 DUP7 DUP4 PUSH2 0x5214 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x2381 JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x238D DUP4 DUP4 PUSH2 0x54BE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x23A9 JUMPI PUSH2 0x23A9 PUSH2 0x4CC2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x23E2 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x23CF PUSH2 0x4A80 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x23C7 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2447 JUMPI PUSH1 0x0 PUSH2 0x23FC DUP3 DUP8 PUSH2 0x5214 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x240A DUP14 DUP4 PUSH2 0x111B JUMP JUMPDEST SWAP1 POP PUSH2 0x2415 DUP2 PUSH2 0x20EF JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2427 JUMPI PUSH2 0x2427 PUSH2 0x52A3 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x243F SWAP1 PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x23E8 JUMP JUMPDEST POP SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x245F PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x247B PUSH2 0x333A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2485 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 PUSH2 0x24A6 JUMPI POP PUSH1 0x0 PUSH2 0x249A DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST PUSH2 0x24C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x5244 JUMP JUMPDEST CALLER PUSH2 0x24CC DUP4 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2532 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x13 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x257D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x25A1 SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x25FF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x567D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x36B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x79 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x2609 DUP4 DUP3 PUSH2 0x339C JUMP JUMPDEST ISZERO PUSH2 0x266D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x2677 DUP3 DUP3 PUSH2 0x34C6 JUMP JUMPDEST ISZERO PUSH2 0x26DB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x2736 DUP4 DUP6 PUSH2 0x35CC JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0xDD061FFADD9DFF78128B6AF54ABBF2B83CBC680B9F75A2C08294800146BAACE7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1D72 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2777 PUSH2 0x2E3B JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x27EA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2850 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x287F SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x289C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28C0 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST DUP1 PUSH2 0x2939 JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x28F8 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2915 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2939 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST ISZERO PUSH2 0x2947 JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x295B PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21A9 PUSH2 0x3B0A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE31 DUP3 PUSH2 0x299E PUSH2 0x2E3B JUMP JUMPDEST PUSH2 0x34C6 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x29AF PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE54 SWAP1 PUSH2 0x50B3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21C8 DUP5 DUP5 PUSH2 0x35CC JUMP JUMPDEST PUSH2 0xEF8 CALLER DUP4 DUP4 PUSH2 0x3B15 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29E3 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29F9 DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2A0F JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A1A DUP4 PUSH2 0x2990 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2A29 DUP6 DUP5 PUSH2 0x35CC JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2A35 PUSH2 0x29D8 JUMP JUMPDEST DUP3 SUB PUSH2 0x2A46 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2A55 PUSH2 0x4B4 DUP5 PUSH1 0x1 PUSH2 0x5214 JUMP JUMPDEST PUSH2 0x2A5F SWAP2 SWAP1 PUSH2 0x54BE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A73 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x132E DUP4 DUP4 PUSH2 0x396D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A88 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A92 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2B65 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2AB4 JUMPI PUSH2 0x2AB4 PUSH2 0x52A3 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2B15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x561D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2B27 JUMPI PUSH2 0x2B27 PUSH2 0x52A3 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2B42 SWAP2 SWAP1 PUSH2 0x5214 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2B5D DUP2 PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2A97 JUMP JUMPDEST POP PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1012 SWAP2 SWAP1 PUSH2 0x54D1 JUMP JUMPDEST PUSH2 0x2BA0 DUP5 DUP5 DUP5 PUSH2 0x1034 JUMP JUMPDEST PUSH2 0x10B9 DUP5 DUP5 DUP5 DUP5 PUSH2 0x3BB1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2BB9 DUP4 PUSH2 0x3373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2BDB JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BE6 DUP4 PUSH2 0x21AE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x2C05 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x15C0 JUMP JUMPDEST PUSH2 0x2C0D PUSH2 0x219F JUMP JUMPDEST PUSH2 0x2C16 DUP3 PUSH2 0x3A78 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2C27 SWAP3 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C4B DUP4 PUSH1 0x0 PUSH2 0x35CC JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C5E PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x2C84 SWAP1 PUSH2 0x3CC8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x2C9D DUP3 PUSH2 0x10BF JUMP JUMPDEST PUSH2 0x2CA6 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH2 0x10B9 DUP4 DUP4 PUSH2 0x3173 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56BD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2CC8 DUP2 PUSH2 0x2E31 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x2D3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D48 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x2DB6 PUSH2 0x4A80 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DC1 DUP4 PUSH2 0x2C53 JUMP JUMPDEST SWAP1 POP PUSH2 0x15C0 DUP2 PUSH2 0x20EF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DD6 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2DFD PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1542 DUP2 CALLER PUSH2 0x3CF8 JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE31 JUMPI POP PUSH2 0xE31 DUP3 PUSH2 0x3D23 JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2EB4 DUP4 PUSH2 0x3373 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2EEB PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x132E DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x3D48 JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F44 PUSH2 0x333A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F4E PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH2 0x2F5A DUP5 DUP3 PUSH2 0x34C6 JUMP JUMPDEST ISZERO PUSH2 0x2FCD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FDA DUP7 DUP7 DUP7 PUSH2 0x3E52 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x2FFA JUMPI POP PUSH2 0x2FF8 DUP2 PUSH2 0x21D1 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x302E JUMPI PUSH2 0x302B PUSH2 0x300A PUSH2 0x2986 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP1 PUSH2 0x3E6F JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x304D JUMPI POP DUP5 PUSH2 0x304B DUP3 PUSH2 0x2C53 JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x3061 JUMPI POP PUSH1 0x0 PUSH2 0x305F DUP3 PUSH2 0x21D1 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x307A JUMPI PUSH2 0x307A DUP2 PUSH2 0x3075 DUP4 PUSH1 0x0 PUSH2 0x111B JUMP JUMPDEST PUSH2 0x396D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x309A JUMPI POP PUSH2 0x3096 DUP7 PUSH2 0x21D1 JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x2A5F JUMPI PUSH2 0x2A5F DUP7 PUSH2 0x3075 DUP9 PUSH1 0x0 PUSH2 0x111B JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x30DD PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x30E9 DUP5 DUP5 PUSH2 0x2950 JUMP JUMPDEST PUSH2 0x3169 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x311F CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x317E PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x318A DUP5 DUP5 PUSH2 0x2950 JUMP JUMPDEST ISZERO PUSH2 0x3169 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE31 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x324A JUMPI PUSH1 0x0 PUSH2 0x3206 DUP5 PUSH2 0x3E8A JUMP JUMPDEST PUSH2 0x3210 SWAP1 DUP6 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x323A JUMPI DUP1 SWAP2 POP PUSH2 0x3248 JUMP JUMPDEST PUSH2 0x3245 DUP2 PUSH1 0x1 PUSH2 0x5214 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x3258 DUP8 DUP8 DUP6 DUP6 PUSH2 0x3F72 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3293 JUMPI PUSH2 0x327D DUP8 PUSH2 0x326F PUSH1 0x1 DUP5 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x3296 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x32A9 PUSH2 0x3FCC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32B3 PUSH2 0x392C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x32ED SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xEF8 PUSH1 0x0 DUP3 CALLER PUSH2 0x2F3A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x330E PUSH2 0x3FF1 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3334 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x3342 PUSH2 0x207A JUMP JUMPDEST ISZERO PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x336C PUSH2 0x3FF1 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x337E PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO DUP1 PUSH2 0x3424 JUMPI POP PUSH1 0x13 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x33FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3422 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST ISZERO JUMPDEST DUP1 PUSH2 0x34B7 JUMPI POP PUSH1 0x13 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3499 SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x34AB DUP3 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x15C0 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xE DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SLOAD PUSH1 0x13 DUP5 ADD SLOAD SWAP2 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3520 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3544 SWAP2 SWAP1 PUSH2 0x5227 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x34B7 JUMPI POP PUSH1 0x13 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3596 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35BA SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x34AB DUP6 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x35D9 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x366E JUMPI POP PUSH2 0x35F0 DUP7 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x13 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x363F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3663 SWAP2 SWAP1 PUSH2 0x5286 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x36B4 JUMPI PUSH1 0x0 PUSH2 0x367E DUP7 PUSH2 0x1545 JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x36B2 JUMPI PUSH1 0x0 PUSH2 0x3694 DUP3 PUSH2 0x2DCC JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x36AC JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x36AE JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x36D1 DUP4 PUSH1 0x1 PUSH2 0x5214 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3734 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x371D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3716 SWAP1 DUP4 PUSH2 0x54BE JUMP JUMPDEST SWAP2 POP PUSH2 0x3722 JUMP JUMPDEST PUSH2 0x3734 JUMP JUMPDEST DUP1 PUSH2 0x372C DUP2 PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x36D4 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x37C8 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x37BC PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x565D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x563D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEF8 DUP2 PUSH2 0x2E31 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3858 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3855 SWAP2 DUP2 ADD SWAP1 PUSH2 0x51FB JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3877 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x565D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x38A8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH2 0x132E DUP4 DUP4 PUSH2 0x4015 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3905 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x391C DUP4 PUSH2 0x5172 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x132E DUP4 DUP3 PUSH2 0x406B JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x395C PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xE54 SWAP1 PUSH2 0x50B3 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3980 DUP3 PUSH2 0x20E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x39A6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP1 PUSH2 0x51A8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39B0 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP PUSH2 0x39E7 PUSH2 0x39BD PUSH2 0x2986 JUMP JUMPDEST PUSH2 0x39C6 DUP5 PUSH2 0x4085 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x3E6F JUMP JUMPDEST POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC DUP4 PUSH1 0x40 MLOAD PUSH2 0x3A24 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3A39 PUSH2 0x333A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A43 PUSH2 0x392C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x32E0 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3A85 DUP4 PUSH2 0x40BD JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3AA4 JUMPI PUSH2 0x3AA4 PUSH2 0x4CC2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3ACE JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3AD8 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21A9 NUMBER PUSH2 0x4193 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B1F PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3B4A JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x10B9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x3BF3 SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x556A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3C2E JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3C2B SWAP2 DUP2 ADD SWAP1 PUSH2 0x55A7 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3C8E JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x3C5C JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3C61 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x3C86 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x3CC1 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2947 JUMPI PUSH2 0x3CE2 DUP4 PUSH2 0x326F PUSH1 0x1 DUP5 PUSH2 0x54BE JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x15C0 JUMP JUMPDEST PUSH2 0x3D02 DUP3 DUP3 PUSH2 0x2950 JUMP JUMPDEST PUSH2 0xEF8 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP3 SWAP2 SWAP1 PUSH2 0x5143 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE31 JUMPI POP PUSH2 0xE31 DUP3 PUSH2 0x41C6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D52 PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x3D68 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x3E21 JUMPI PUSH1 0x0 PUSH2 0x3D78 DUP6 PUSH2 0x2EA8 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3DA4 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x3DB7 JUMPI POP PUSH2 0x3DB5 DUP2 DUP6 PUSH2 0x2DF2 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3DD7 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x3E1F JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E5C PUSH2 0x333A JUMP JUMPDEST PUSH2 0x3E67 DUP5 DUP5 DUP5 PUSH2 0x4216 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E7D DUP6 DUP6 DUP6 PUSH2 0x42A4 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x3E9C JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x3EA9 DUP5 PUSH2 0x441E JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3EC2 JUMPI PUSH2 0x3EC2 PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3EDA JUMPI PUSH2 0x3EDA PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3EF2 JUMPI PUSH2 0x3EF2 PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3F0A JUMPI PUSH2 0x3F0A PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3F22 JUMPI PUSH2 0x3F22 PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3F3A JUMPI PUSH2 0x3F3A PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3F52 JUMPI PUSH2 0x3F52 PUSH2 0x5554 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x15C0 DUP2 DUP3 DUP6 DUP2 PUSH2 0x3F6C JUMPI PUSH2 0x3F6C PUSH2 0x5554 JUMP JUMPDEST DIV PUSH2 0x44B2 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x2C4B JUMPI PUSH1 0x0 PUSH2 0x3F89 DUP5 DUP5 PUSH2 0x44C8 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x3FB8 JUMPI DUP1 SWAP3 POP PUSH2 0x3FC6 JUMP JUMPDEST PUSH2 0x3FC3 DUP2 PUSH1 0x1 PUSH2 0x5214 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x3F75 JUMP JUMPDEST PUSH2 0x3FD4 PUSH2 0x207A JUMP JUMPDEST PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x401E DUP3 PUSH2 0x44E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4063 JUMPI PUSH2 0x132E DUP3 DUP3 PUSH2 0x453F JUMP JUMPDEST PUSH2 0xEF8 PUSH2 0x45AC JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x45CB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x40B9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD2A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x40FC JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x4126 JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x4144 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x415C JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x4170 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4182 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xE31 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x40B9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD2A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x41F7 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xE31 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4224 DUP6 DUP6 DUP6 PUSH2 0x45E2 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4242 JUMPI PUSH2 0x423D DUP5 PUSH2 0x46E9 JUMP JUMPDEST PUSH2 0x4265 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4265 JUMPI PUSH2 0x4265 DUP2 DUP6 PUSH2 0x4722 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4281 JUMPI PUSH2 0x427C DUP5 PUSH2 0x47C3 JUMP JUMPDEST PUSH2 0x3E67 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3E67 JUMPI PUSH2 0x3E67 DUP6 DUP6 PUSH2 0x488C JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x43C3 JUMPI PUSH1 0x0 PUSH2 0x42C2 DUP8 PUSH2 0x326F PUSH1 0x1 DUP6 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x4316 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x4362 JUMPI DUP5 PUSH2 0x4339 DUP9 PUSH2 0x326F PUSH1 0x1 DUP7 PUSH2 0x54BE JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x43B3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x3E82 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x3E82 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x4433 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x4445 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x4457 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x4469 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x447B JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x448D JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x449F JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xE31 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x44C1 JUMPI DUP2 PUSH2 0x15C0 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44D7 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x55C4 JUMP JUMPDEST PUSH2 0x15C0 SWAP1 DUP5 DUP5 AND PUSH2 0x5214 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4510 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x565D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x455C SWAP2 SWAP1 PUSH2 0x532F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4597 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x459C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2A5F DUP6 DUP4 DUP4 PUSH2 0x48E4 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3360 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x45D5 DUP4 DUP4 PUSH2 0x4937 JUMP JUMPDEST PUSH2 0x132E PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3BB1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x45ED PUSH2 0x2E84 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x45FA DUP6 PUSH2 0x3373 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x4616 JUMPI PUSH2 0x4616 DUP2 DUP6 DUP8 PUSH2 0x499C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x4656 JUMPI PUSH2 0x4633 PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x3D48 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4687 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46F3 PUSH2 0x2F16 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x472C PUSH2 0x2F16 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4739 DUP5 PUSH2 0x21D1 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x478E JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47CD PUSH2 0x2F16 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x47E4 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x4810 JUMPI PUSH2 0x4810 PUSH2 0x52A3 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x4833 JUMPI PUSH2 0x4833 PUSH2 0x52A3 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x486F JUMPI PUSH2 0x486F PUSH2 0x55E6 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4896 PUSH2 0x2F16 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x48A5 DUP6 PUSH2 0x21D1 JUMP JUMPDEST PUSH2 0x48AF SWAP2 SWAP1 PUSH2 0x54BE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x48F9 JUMPI PUSH2 0x48F4 DUP3 PUSH2 0x49F2 JUMP JUMPDEST PUSH2 0x15C0 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4910 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4930 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST POP DUP1 PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4961 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x496F DUP4 DUP4 PUSH1 0x0 PUSH2 0x2F3A JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x132E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP2 SWAP1 PUSH2 0x4B92 JUMP JUMPDEST PUSH2 0x49A7 DUP4 DUP4 DUP4 PUSH2 0x4A1B JUMP JUMPDEST PUSH2 0x132E JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x49D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD2A JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD2A SWAP3 SWAP2 SWAP1 PUSH2 0x5143 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4A02 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3E67 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x4A55 JUMPI POP PUSH2 0x4A55 DUP5 DUP5 PUSH2 0x2DF2 JUMP JUMPDEST DUP1 PUSH2 0x3E67 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4A6E DUP4 PUSH2 0x2EE0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4ACA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4AD5 DUP2 PUSH2 0x4AA8 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x15C0 DUP2 PUSH2 0x4AE3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4B31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4B19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x15C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4B3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4BCE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4AD5 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x15C0 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4C0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4C16 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4C26 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4C4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4C5C DUP2 PUSH2 0x4BA6 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4C7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4C85 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x4C5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4CB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4D00 JUMPI PUSH2 0x4D00 PUSH2 0x4CC2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT ISZERO PUSH2 0x4D21 JUMPI PUSH2 0x4D21 PUSH2 0x4CC2 JUMP JUMPDEST PUSH2 0x4D34 PUSH1 0x1F DUP5 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x4CD8 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x4D48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15C0 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x4D08 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4D9D DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4DC4 DUP6 DUP3 DUP7 ADD PUSH2 0x4D5F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4DE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x4E07 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E67 DUP5 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x4D08 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x15C0 DUP2 PUSH2 0x4E16 JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x4E60 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x4B3A JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x15C0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4E41 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4EA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4EB3 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4F1D JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x4F0B DUP6 DUP4 MLOAD PUSH2 0x4E41 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4EEF JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F48 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4C5C DUP2 PUSH2 0x4E16 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4F82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4F96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4FA8 JUMPI PUSH2 0x4FA8 PUSH2 0x4CC2 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP2 POP PUSH2 0x4FB9 DUP5 DUP4 ADD PUSH2 0x4CD8 JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP2 DUP4 ADD DUP5 ADD SWAP2 DUP5 DUP2 ADD SWAP1 DUP9 DUP5 GT ISZERO PUSH2 0x4FD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0x4FF1 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x4FD8 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5013 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x501E DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x502E DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5050 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x505C DUP8 DUP3 DUP9 ADD PUSH2 0x4D5F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x507A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x15C0 DUP2 PUSH2 0x4AA8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5098 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x50A3 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4C5C DUP2 PUSH2 0x4BA6 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x50C7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x50E7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F73746172676174654E46542063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x5184 JUMPI PUSH2 0x5184 PUSH2 0x515C JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x519D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x15C0 DUP2 PUSH2 0x4AA8 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x520D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xE31 JUMPI PUSH2 0xE31 PUSH2 0x515C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5239 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x15C0 DUP2 PUSH2 0x4E16 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20646F6573206E6F7420657869 PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x1CDD PUSH1 0xF2 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x15C0 DUP2 PUSH2 0x4BA6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x52C7 DUP2 PUSH2 0x50B3 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x52DF JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x52F4 JUMPI PUSH2 0x5323 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x5323 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x531A JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x5301 JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5341 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4B16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x132E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5372 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5391 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x537E JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x53B2 JUMPI PUSH2 0x53B2 PUSH2 0x4CC2 JUMP JUMPDEST PUSH2 0x53C6 DUP2 PUSH2 0x53C0 DUP5 SLOAD PUSH2 0x50B3 JUMP JUMPDEST DUP5 PUSH2 0x534B JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x53FB JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x53E3 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x5391 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x542A JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x540B JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5448 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x55FD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x549A DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4B16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xE31 JUMPI PUSH2 0xE31 PUSH2 0x515C JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xE31 JUMPI PUSH2 0xE31 PUSH2 0x515C JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5509 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x54ED JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5527 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4B16 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x553B DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B16 JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x559D SWAP1 DUP4 ADD DUP5 PUSH2 0x4B3A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x15C0 DUP2 PUSH2 0x4AE3 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x55E1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 TIMESTAMP CALLER SLOAD MSTORE KECCAK256 PUSH21 0x6F2075706772616465206D189AB7A9244DF0848122 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC47616C6178794D656D6265 PUSH19 0x3A206E6F6465206E6F74206F776E6564206F72 KECCAK256 PUSH6 0xD7A28E3265B3 PUSH27 0x6474929F336521B332C1681B933F6CB9F3376673440D862A56AF92 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F5A26469706673582212 KECCAK256 PUSH10 0xF2BD2C72D82DC89487DD 0x1E 0xC5 PUSH22 0x152B8212D265FB9461D8EB06EFA2E66C229164736F6C PUSH4 0x43000814 STOP CALLER ","sourceMap":"5167:33789:43:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22188:451;;;;;;;;;;-1:-1:-1;22188:451:43;;;;;:::i;:::-;;:::i;:::-;;38502:219;;;;;;;;;;-1:-1:-1;38502:219:43;;;;;:::i;:::-;;:::i;:::-;;;1000:14:150;;993:22;975:41;;963:2;948:18;38502:219:43;;;;;;;;3546:146:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4792:154::-;;;;;;;;;;-1:-1:-1;4792:154:5;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4618:113::-;;;;;;;;;;-1:-1:-1;4618:113:5;;;;;:::i;:::-;;:::i;11755:252:43:-;;;;;;;;;;-1:-1:-1;11755:252:43;;;;;:::i;:::-;;:::i;3048:179:7:-;;;;;;;;;;;;;:::i;:::-;;;3030:25:150;;;3018:2;3003:18;3048:179:7;2884:177:150;5495:578:5;;;;;;;;;;-1:-1:-1;5495:578:5;;;;;:::i;:::-;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;28954:197:43:-;;;;;;;;;;-1:-1:-1;28954:197:43;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;2645:332:7:-;;;;;;;;;;-1:-1:-1;2645:332:7;;;;;:::i;:::-;;:::i;18409:648:43:-;;;;;;;;;;-1:-1:-1;18409:648:43;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;22811:399:43:-;;;;;;;;;;-1:-1:-1;22811:399:43;;;;;:::i;:::-;;:::i;19266:502::-;;;;;;;;;;-1:-1:-1;19266:502:43;;;;;:::i;:::-;;:::i;27132:256::-;;;;;;;;;;-1:-1:-1;27132:256:43;;;;;:::i;:::-;;:::i;5820:76::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5820:76:43;;12680:77;;;;;;;;;;;;;:::i;26432:193::-;;;;;;;;;;-1:-1:-1;26432:193:43;;;;;:::i;:::-;;:::i;:::-;;;4814:4:150;4802:17;;;4784:36;;4772:2;4757:18;26432:193:43;4642:184:150;6139:132:5;;;;;;;;;;-1:-1:-1;6139:132:5;;;;;:::i;:::-;;:::i;15416:213:43:-;;;;;;;;;;-1:-1:-1;15416:213:43;;;;;:::i;:::-;;:::i;13348:912::-;;;;;;;;;;-1:-1:-1;13348:912:43;;;;;:::i;:::-;;:::i;16750:1048::-;;;;;;;;;;-1:-1:-1;16750:1048:43;;;;;:::i;:::-;;:::i;35338:115::-;;;;;;;;;;-1:-1:-1;35410:38:43;;;;;;;;;;;;;;;;;35338:115;;4158:214:3;;;;;;:::i;:::-;;:::i;3299:303:7:-;;;;;;;;;;-1:-1:-1;3299:303:7;;;;;:::i;:::-;;:::i;31024:156:43:-;;;;;;;;;;-1:-1:-1;31024:156:43;;;;;:::i;:::-;;:::i;3705:134:3:-;;;;;;;;;;;;;:::i;32223:86:43:-;;;;;;;;;;-1:-1:-1;32294:10:43;;;;;;;;;;;;-1:-1:-1;;;32294:10:43;;;;32223:86;;20516:336;;;;;;;;;;-1:-1:-1;20516:336:43;;;;;:::i;:::-;;:::i;30173:133::-;;;;;;;;;;;;;:::i;21709:241::-;;;;;;;;;;-1:-1:-1;21709:241:43;;;;;:::i;:::-;;:::i;12940:203::-;;;;;;;;;;;;;:::i;2692:145:12:-;;;;;;;;;;;;;:::i;30558:115:43:-;;;;;;;;;;;;;:::i;29718:186::-;;;;;;;;;;;;;:::i;30359:143::-;;;;;;;;;;;;;:::i;3366:118:5:-;;;;;;;;;;-1:-1:-1;3366:118:5;;;;;:::i;:::-;;:::i;32567:455:43:-;;;;;;;;;;-1:-1:-1;32567:455:43;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;28752:91::-;;;;;;;;;;;;;:::i;23337:211::-;;;;;;;;;;-1:-1:-1;23337:211:43;;;;;:::i;:::-;;:::i;3044:265:5:-;;;;;;;;;;-1:-1:-1;3044:265:5;;;;;:::i;:::-;;:::i;29961:157:43:-;;;;;;;;;;;;;:::i;14382:87::-;;;;;;;;;;-1:-1:-1;14382:87:43;;;;;:::i;:::-;;:::i;12509:73::-;;;;;;;;;;;;;:::i;33649:1490::-;;;;;;;;;;-1:-1:-1;33649:1490:43;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;31842:153::-;;;;;;;;;;-1:-1:-1;31842:153:43;;;;;:::i;:::-;;:::i;15730:1016::-;;;;;;;;;;-1:-1:-1;15730:1016:43;;;;;:::i;:::-;;:::i;28148:541::-;;;;;;;;;;-1:-1:-1;28148:541:43;;;;;:::i;:::-;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;35191:90:43:-;;;;;;;;;;;;;:::i;:::-;;;10426:14:150;10414:27;;;10396:46;;10384:2;10369:18;35191:90:43;10252:196:150;5716:100:43;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5716:100:43;;31289:154;;;;;;;;;;-1:-1:-1;31289:154:43;;;;;:::i;:::-;;:::i;3756:150:5:-;;;;;;;;;;;;;:::i;27541:206:43:-;;;;;;;;;;-1:-1:-1;27541:206:43;;;;;:::i;:::-;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;5013:144:5;;;;;;;;;;-1:-1:-1;5013:144:5;;;;;:::i;:::-;;:::i;30755:151:43:-;;;;;;;;;;;;;:::i;23657:691::-;;;;;;;;;;-1:-1:-1;23657:691:43;;;;;:::i;:::-;;:::i;14588:129::-;;;;;;;;;;-1:-1:-1;14588:129:43;;;;;:::i;:::-;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;21044:520:43;;;;;;;;;;-1:-1:-1;21044:520:43;;;;;:::i;:::-;;:::i;6337:208:5:-;;;;;;;;;;-1:-1:-1;6337:208:5;;;;;:::i;:::-;;:::i;29341:312:43:-;;;;;;;;;;-1:-1:-1;29341:312:43;;;;;:::i;:::-;;:::i;27851:175::-;;;;;;;;;;-1:-1:-1;27851:175:43;;;;;:::i;:::-;;:::i;26736:207::-;;;;;;;;;;-1:-1:-1;26736:207:43;;;;;:::i;:::-;;:::i;5650:62::-;;;;;;;;;;;;5688:24;5650:62;;5662:138:0;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;19943:418:43:-;;;;;;;;;;-1:-1:-1;19943:418:43;;;;;:::i;:::-;;:::i;33185:188::-;;;;;;;;;;-1:-1:-1;33185:188:43;;;;;:::i;:::-;;:::i;31581:161::-;;;;;;;;;;-1:-1:-1;31581:161:43;;;;;:::i;:::-;;:::i;5584:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5584:62:43;;5223:210:5;;;;;;;;;;-1:-1:-1;5223:210:5;;;;;:::i;:::-;;:::i;5514:66:43:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5514:66:43;;22188:451;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;22322:1:43::1;22313:5;:10;;22305:50;;;::::0;-1:-1:-1;;;22305:50:43;;13304:2:150;22305:50:43::1;::::0;::::1;13286:21:150::0;13343:2;13323:18;;;13316:30;-1:-1:-1;;;13362:18:150;;;13355:57;13429:18;;22305:50:43::1;;;;;;;;;22382:1;22369:9;:14;;;;22361:59;;;::::0;-1:-1:-1;;;22361:59:43;;13660:2:150;22361:59:43::1;::::0;::::1;13642:21:150::0;;;13679:18;;;13672:30;13738:34;13718:18;;;13711:62;13790:18;;22361:59:43::1;13458:356:150::0;22361:59:43::1;22427:29;22459:25;:23;:25::i;:::-;22427:57;;22508:1;:11;;;22499:5;:20;;22491:92;;;::::0;-1:-1:-1;;;22491:92:43;;14021:2:150;22491:92:43::1;::::0;::::1;14003:21:150::0;14060:2;14040:18;;;14033:30;14099:34;14079:18;;;14072:62;-1:-1:-1;;;14150:18:150;;;14143:57;14217:19;;22491:92:43::1;13819:423:150::0;22491:92:43::1;22590:36;::::0;;::::1;;::::0;;;:25:::1;::::0;;::::1;:36;::::0;-1:-1:-1;22590:36:43;;;;:44;22188:451::o;38502:219::-;38661:4;38680:36;38704:11;38680:23;:36::i;:::-;38673:43;38502:219;-1:-1:-1;;38502:219:43:o;3546:146:5:-;3591:13;3616:23;3642:19;:17;:19::i;:::-;3616:45;;3678:1;:7;;3671:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3546:146;:::o;4792:154::-;4859:7;4878:22;4892:7;4878:13;:22::i;:::-;;4918:21;4931:7;4918:12;:21::i;4618:113::-;4689:35;4698:2;4702:7;966:10:11;4689:8:5;:35::i;:::-;4618:113;;:::o;11755:252:43:-;8870:21:2;6431:15;;11828:1:43;;8870:21:2;-1:-1:-1;;;6431:15:2;;;;;:44;;-1:-1:-1;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;;:14;;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1;;;6498:23:2;;;;;;;;;;;6427:105;6541:24;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;;6575:22;-1:-1:-1;;;6575:22:2;;;-1:-1:-1;;;;;11845:26:43;::::1;11837:93;;;;-1:-1:-1::0;;;11837:93:43::1;;;;;;;:::i;:::-;11989:12;11936:25;:23;:25::i;:::-;:37;;:66:::0;;-1:-1:-1;;;;;;11936:66:43::1;-1:-1:-1::0;;;;;11936:66:43;;;::::1;::::0;;;::::1;::::0;;6618:23:2;;-1:-1:-1;;;;6618:23:2;;;6656:20;;-1:-1:-1;;;;;15217:31:150;;15199:50;;6656:20:2;;15187:2:150;15172:18;6656:20:2;;;;;;;;6291:392;11755:252:43;;:::o;3048:179:7:-;3100:7;3119:33;3155:29;:27;:29::i;:::-;3201:12;;:19;;3048:179;-1:-1:-1;;3048:179:7:o;5495:578:5:-;-1:-1:-1;;;;;5589:16:5;;5585:87;;5658:1;5628:33;;-1:-1:-1;;;5628:33:5;;;;;;;;:::i;5585:87::-;5890:21;5914:34;5922:2;5926:7;966:10:11;5914:7:5;:34::i;:::-;5890:58;;5979:4;-1:-1:-1;;;;;5962:21:5;:13;-1:-1:-1;;;;;5962:21:5;;5958:109;;6006:50;;-1:-1:-1;;;6006:50:5;;-1:-1:-1;;;;;15518:15:150;;;6006:50:5;;;15500:34:150;15550:18;;;15543:34;;;15613:15;;15593:18;;;15586:43;15435:18;;6006:50:5;15260:375:150;5958:109:5;5575:498;5495:578;;;:::o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;28954:197:43:-;29031:7;29046:29;29078:25;:23;:25::i;:::-;29116:30;;;;:23;;:30;;-1:-1:-1;;29116:30:43;;;;;28954:197::o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;2645:332:7:-:0;2733:7;2752:33;2788:29;:27;:29::i;:::-;2752:65;;2840:16;2850:5;2840:9;:16::i;:::-;2831:5;:25;2827:99;;2902:5;2909;2879:36;;-1:-1:-1;;;2879:36:7;;;;;;;;;:::i;2827:99::-;-1:-1:-1;;;;;2942:21:7;;:14;:21;;;;;;;;;;;:28;;;;;;;;;-1:-1:-1;2645:332:7;;;;:::o;18409:648:43:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;18495:29:43::1;18527:25;:23;:25::i;:::-;18495:57;;18575:1;:11;;;18567:5;:19;18559:99;;;::::0;-1:-1:-1;;;18559:99:43;;16121:2:150;18559:99:43::1;::::0;::::1;16103:21:150::0;16160:2;16140:18;;;16133:30;16199:34;16179:18;;;16172:62;16270:34;16250:18;;;16243:62;-1:-1:-1;;;16321:19:150;;;16314:34;16365:19;;18559:99:43::1;15919:471:150::0;18559:99:43::1;18731:1;18714:232;18739:5;18734:1;:10;18714:232;;18796:1;18767:26:::0;;;:23:::1;::::0;::::1;:26;::::0;;;;;18759:109:::1;;;::::0;-1:-1:-1;;;18759:109:43;;16597:2:150;18759:109:43::1;::::0;::::1;16579:21:150::0;16636:2;16616:18;;;16609:30;-1:-1:-1;;;;;;;;;;;16655:18:150;;;16648:62;16746:34;16726:18;;;16719:62;-1:-1:-1;;;16797:19:150;;;16790:33;16840:19;;18759:109:43::1;16395:470:150::0;18759:109:43::1;18746:3:::0;::::1;::::0;::::1;:::i;:::-;;;;18714:232;;;-1:-1:-1::0;18971:11:43::1;::::0;::::1;::::0;;18989:19;;;;19020:32:::1;::::0;;17316:25:150;;;17372:2;17357:18;;17350:34;;;19020:32:43::1;::::0;17289:18:150;19020:32:43::1;;;;;;;18489:568;;18409:648:::0;;:::o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;22811:399:43:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;22934:26:43;::::1;22926:93;;;;-1:-1:-1::0;;;22926:93:43::1;;;;;;;:::i;:::-;23025:29;23057:25;:23;:25::i;:::-;23142:13;::::0;::::1;::::0;23094:63:::1;::::0;23025:57;;-1:-1:-1;;;;;;23142:13:43;;::::1;::::0;23094:63;;::::1;::::0;::::1;::::0;23142:13:::1;::::0;23094:63:::1;23163:13;;:42:::0;;-1:-1:-1;;;;;;23163:42:43::1;-1:-1:-1::0;;;;;23163:42:43;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;22811:399:43:o;19266:502::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;19415:35:43;::::1;19407:111;;;::::0;-1:-1:-1;;;19407:111:43;;17597:2:150;19407:111:43::1;::::0;::::1;17579:21:150::0;17636:2;17616:18;;;17609:30;17675:34;17655:18;;;17648:62;17746:33;17726:18;;;17719:61;17797:19;;19407:111:43::1;17395:427:150::0;19407:111:43::1;19524:29;19556:25;:23;:25::i;:::-;19659:22:::0;;19593:90:::1;::::0;19524:57;;-1:-1:-1;;;;;;19659:22:43;;::::1;::::0;19593:90;;::::1;::::0;::::1;::::0;19659:22:::1;::::0;19593:90:::1;19689:74:::0;;-1:-1:-1;;;;;;19689:74:43::1;-1:-1:-1::0;;;;;19689:74:43;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;19266:502:43:o;27132:256::-;27231:7;27246:29;27278:25;:23;:25::i;:::-;-1:-1:-1;;;;;27316:36:43;;;;;;:29;;;:36;;;;;27246:57;;-1:-1:-1;27316:67:43;;27371:11;27316:54;:67::i;:::-;-1:-1:-1;;;;;27309:74:43;;27132:256;-1:-1:-1;;;;27132:256:43:o;12680:77::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;12742:10:43::1;:8;:10::i;:::-;12680:77:::0;:::o;26432:193::-;26501:5;26514:29;26546:25;:23;:25::i;:::-;26585:13;;;;:35;;-1:-1:-1;;;26585:35:43;;;;;3030:25:150;;;26585:13:43;;-1:-1:-1;;;;;;26585:13:43;;:27;;3003:18:150;;26585:35:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26578:42;26432:193;-1:-1:-1;;;26432:193:43:o;6139:132:5:-;6225:39;6242:4;6248:2;6252:7;6225:39;;;;;;;;;;;;:16;:39::i;15416:213:43:-;15532:10;15512:16;15520:7;15512;:16::i;:::-;-1:-1:-1;;;;;15512:30:43;;15504:94;;;;-1:-1:-1;;;15504:94:43;;;;;;;:::i;:::-;15605:19;15616:7;15605:10;:19::i;13348:912::-;3251:21:13;:19;:21::i;:::-;2316:19:12::1;:17;:19::i;:::-;13458:10:43::2;13438:16;13446:7:::0;13438::::2;:16::i;:::-;-1:-1:-1::0;;;;;13438:30:43::2;;13430:94;;;::::0;-1:-1:-1;;;13430:94:43;;18701:2:150;13430:94:43::2;::::0;::::2;18683:21:150::0;18740:2;18720:18;;;18713:30;18779:34;18759:18;;;18752:62;-1:-1:-1;;;18830:18:150;;;18823:49;18889:19;;13430:94:43::2;18499:415:150::0;13430:94:43::2;13530:29;13562:25;:23;:25::i;:::-;13530:57;;13594:20;13617:16;13625:7;13617;:16::i;:::-;13594:39;;13663:11;:9;:11::i;:::-;13648:12;:26;13640:83;;;::::0;-1:-1:-1;;;13640:83:43;;19121:2:150;13640:83:43::2;::::0;::::2;19103:21:150::0;19160:2;19140:18;;;19133:30;19199:34;19179:18;;;19172:62;-1:-1:-1;;;19250:18:150;;;19243:42;19302:19;;13640:83:43::2;18919:408:150::0;13640:83:43::2;13730:20;13753:25;13770:7;13753:16;:25::i;:::-;13793:6;::::0;::::2;::::0;:28:::2;::::0;-1:-1:-1;;;13793:28:43;;13730:48;;-1:-1:-1;13730:48:43;;-1:-1:-1;;;;;13793:6:43;;::::2;::::0;:16:::2;::::0;:28:::2;::::0;13810:10:::2;::::0;13793:28:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;13785:103;;;::::0;-1:-1:-1;;;13785:103:43;;19723:2:150;13785:103:43::2;::::0;::::2;19705:21:150::0;19762:2;19742:18;;;19735:30;19801:34;19781:18;;;19774:62;-1:-1:-1;;;19852:18:150;;;19845:44;19906:19;;13785:103:43::2;19521:410:150::0;13785:103:43::2;13910:6;::::0;::::2;::::0;:43:::2;::::0;-1:-1:-1;;;13910:43:43;;13927:10:::2;13910:43;::::0;::::2;20148:34:150::0;13947:4:43::2;20198:18:150::0;;;20191:43;13957:12:43;;-1:-1:-1;;;;;13910:6:43::2;::::0;:16:::2;::::0;20083:18:150;;13910:43:43::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;13895:138;;;::::0;-1:-1:-1;;;13895:138:43;;20447:2:150;13895:138:43::2;::::0;::::2;20429:21:150::0;20486:2;20466:18;;;20459:30;20525:34;20505:18;;;20498:62;-1:-1:-1;;;20576:18:150;;;20569:46;20632:19;;13895:138:43::2;20245:412:150::0;13895:138:43::2;14040:32;::::0;;;:23:::2;::::0;::::2;:32;::::0;;;;:48;;14076:12;;14040:32;:48:::2;::::0;14076:12;;14040:48:::2;:::i;:::-;::::0;;;-1:-1:-1;;14103:6:43::2;::::0;::::2;::::0;14135:10:::2;::::0;::::2;::::0;14103:57:::2;::::0;-1:-1:-1;;;14103:57:43;;14123:10:::2;14103:57;::::0;::::2;21032:34:150::0;-1:-1:-1;;;;;14135:10:43;;::::2;21082:18:150::0;;;21075:43;21134:18;;;21127:34;;;14103:6:43;::::2;::::0;:19:::2;::::0;20967:18:150;;14103:57:43::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14095:99;;;::::0;-1:-1:-1;;;14095:99:43;;21624:2:150;14095:99:43::2;::::0;::::2;21606:21:150::0;21663:2;21643:18;;;21636:30;21702:31;21682:18;;;21675:59;21751:18;;14095:99:43::2;21422:353:150::0;14095:99:43::2;14215:7;14206:49;14224:12;14238:16;14246:7;14238;:16::i;:::-;14206:49;::::0;;17316:25:150;;;17372:2;17357:18;;17350:34;;;;17289:18;14206:49:43::2;;;;;;;13424:836;;;3293:20:13::0;:18;:20::i;16750:1048:43:-;2316:19:12;:17;:19::i;:::-;16843:29:43::1;16875:25;:23;:25::i;:::-;16843:57:::0;-1:-1:-1;16915:12:43;;;:47:::1;;-1:-1:-1::0;16960:1:43::1;16931:17;16940:7:::0;16931:8:::1;:17::i;:::-;-1:-1:-1::0;;;;;16931:31:43::1;;;16915:47;16907:94;;;;-1:-1:-1::0;;;16907:94:43::1;;;;;;;:::i;:::-;17042:10;17022:16;17030:7:::0;17022::::1;:16::i;:::-;-1:-1:-1::0;;;;;17022:30:43::1;;:95;;;-1:-1:-1::0;17064:13:43::1;::::0;::::1;::::0;:53:::1;::::0;-1:-1:-1;;;17064:53:43;;-1:-1:-1;;;;;17064:13:43;;::::1;::::0;:28:::1;::::0;:53:::1;::::0;17093:10:::1;::::0;17105:11;;17064:53:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17022:155;;;-1:-1:-1::0;17129:13:43::1;::::0;::::1;::::0;:34:::1;::::0;-1:-1:-1;;;17129:34:43;;::::1;::::0;::::1;3030:25:150::0;;;17167:10:43::1;::::0;-1:-1:-1;;;;;17129:13:43::1;::::0;:21:::1;::::0;3003:18:150;;17129:34:43::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17129:48:43::1;;17022:155;17007:264;;;::::0;-1:-1:-1;;;17007:264:43;;22641:2:150;17007:264:43::1;::::0;::::1;22623:21:150::0;22680:2;22660:18;;;22653:30;-1:-1:-1;;;;;;;;;;;22699:18:150;;;22692:62;22790:34;22770:18;;;22763:62;-1:-1:-1;;;22841:19:150;;;22834:45;22896:19;;17007:264:43::1;22439:482:150::0;17007:264:43::1;17325:7;17285:36;17306:11;17319:1;17285:20;:36::i;:::-;:47;17277:104;;;::::0;-1:-1:-1;;;17277:104:43;;23128:2:150;17277:104:43::1;::::0;::::1;23110:21:150::0;23167:2;23147:18;;;23140:30;23206:34;23186:18;;;23179:62;-1:-1:-1;;;23257:18:150;;;23250:42;23309:19;;17277:104:43::1;22926:408:150::0;17277:104:43::1;17429:11;17395:30;17414:7;17423:1;17395:18;:30::i;:::-;:45;17387:102;;;::::0;-1:-1:-1;;;17387:102:43;;23541:2:150;17387:102:43::1;::::0;::::1;23523:21:150::0;23580:2;23560:18;;;23553:30;23619:34;23599:18;;;23592:62;-1:-1:-1;;;23670:18:150;;;23663:42;23722:19;;17387:102:43::1;23339:408:150::0;17387:102:43::1;17503:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;17496:36;;;17545:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;17538:32;;;17582:34;17562:7;;17520:11;;17582:34:::1;::::0;17503:29;17582:34:::1;17683:13;17702:34;17725:7;17734:1;17702:22;:34::i;:::-;17682:54;;;17774:11;17765:7;17747:46;17787:5;17747:46;;;;3030:25:150::0;;3018:2;3003:18;;2884:177;17747:46:43::1;;;;;;;;16837:961;;16750:1048:::0;;:::o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;3299:303:7:-:0;3365:7;3384:33;3420:29;:27;:29::i;:::-;3384:65;;3472:13;:11;:13::i;:::-;3463:5;:22;3459:101;;3539:1;3543:5;3508:41;;-1:-1:-1;;;3508:41:7;;;;;;;;;:::i;3459:101::-;3576:1;:12;;3589:5;3576:19;;;;;;;;:::i;:::-;;;;;;;;;3569:26;;;3299:303;;;:::o;31024:156:43:-;31098:7;31120:55;31141:6;31149:25;:23;:25::i;:::-;31120:20;:55::i;3705:134:3:-;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;20516:336:43:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;20651:1:43::1;20628:12;20622:26;:30;20614:78;;;::::0;-1:-1:-1;;;20614:78:43;;24086:2:150;20614:78:43::1;::::0;::::1;24068:21:150::0;24125:2;24105:18;;;24098:30;24164:34;24144:18;;;24137:62;-1:-1:-1;;;24215:18:150;;;24208:33;24258:19;;20614:78:43::1;23884:399:150::0;20614:78:43::1;20698:29;20730:25;:23;:25::i;:::-;20698:57;;20795:1;:15;;20766:45;;;;;;:::i;:::-;;;;;;;;20781:12;20766:45;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;20817:15;::::0;::::1;:30;20835:12:::0;20817:15;:30:::1;:::i;30173:133::-:0;30212:5;30225:29;30257:25;:23;:25::i;:::-;30295:6;;;-1:-1:-1;;;;;30295:6:43;;30173:133;-1:-1:-1;;30173:133:43:o;21709:241::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;21808:29:43::1;21840:25;:23;:25::i;:::-;21808:57;;21876:29;21896:8;21876:29;;;;1000:14:150::0;993:22;975:41;;963:2;948:18;;835:187;21876:29:43::1;;;;;;;;21911:23;;:34:::0;;-1:-1:-1;;21911:34:43::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;21709:241:43:o;12940:203::-;11272:29;11304:25;:23;:25::i;:::-;11344:23;;;;11272:57;;-1:-1:-1;11344:23:43;;11343:24;11335:76;;;;-1:-1:-1;;;11335:76:43;;27835:2:150;11335:76:43;;;27817:21:150;27874:2;27854:18;;;27847:30;27913:34;27893:18;;;27886:62;-1:-1:-1;;;27964:18:150;;;27957:37;28011:19;;11335:76:43;27633:403:150;11335:76:43;13016:36:::1;13041:10;13016:24;:36::i;:::-;13008:103;;;::::0;-1:-1:-1;;;13008:103:43;;28243:2:150;13008:103:43::1;::::0;::::1;28225:21:150::0;28282:2;28262:18;;;28255:30;28321:34;28301:18;;;28294:62;-1:-1:-1;;;28372:18:150;;;28365:52;28434:19;;13008:103:43::1;28041:418:150::0;13008:103:43::1;13118:20;13127:10;13118:8;:20::i;2692:145:12:-:0;2739:4;2755:25;2783:21;:19;:21::i;:::-;2821:9;;;;2692:145;-1:-1:-1;;2692:145:12:o;30558:115:43:-;30604:12;30631:25;:23;:25::i;:::-;:37;;;-1:-1:-1;;;;;30631:37:43;;30558:115;-1:-1:-1;30558:115:43:o;29718:186::-;29773:26;29807:29;29839:25;:23;:25::i;:::-;29877:22;-1:-1:-1;;;;;29877:22:43;;29718:186;-1:-1:-1;;29718:186:43:o;30359:143::-;30402:7;30417:29;30449:25;:23;:25::i;:::-;30487:10;;;-1:-1:-1;;;;;30487:10:43;;30359:143;-1:-1:-1;;30359:143:43:o;3366:118:5:-;3429:7;3455:22;3469:7;3455:13;:22::i;32567:455:43:-;32644:16;;:::i;:::-;32741:1;32712:17;32721:7;32712:8;:17::i;:::-;-1:-1:-1;;;;;32712:31:43;;32704:79;;;;-1:-1:-1;;;32704:79:43;;28666:2:150;32704:79:43;;;28648:21:150;28705:2;28685:18;;;28678:30;28744:34;28724:18;;;28717:62;-1:-1:-1;;;28795:18:150;;;28788:33;28838:19;;32704:79:43;28464:399:150;32704:79:43;32790:26;;:::i;:::-;32822:27;;;32876:17;32842:7;32876:8;:17::i;:::-;32855:18;;;:38;32922:16;32930:7;32922;:16::i;:::-;32899:20;;;:39;32970:25;32987:7;32970:16;:25::i;:::-;32944:23;;;:51;:9;32567:455;-1:-1:-1;;32567:455:43:o;28752:91::-;28800:13;28828:10;:8;:10::i;:::-;28821:17;;28752:91;:::o;23337:211::-;23400:7;23415:14;23432:26;23450:7;23432:17;:26::i;:::-;23415:43;;23466:13;23485:39;23508:7;23517:6;23485:22;:39::i;:::-;-1:-1:-1;23465:59:43;23337:211;-1:-1:-1;;;;23337:211:43:o;3044:265:5:-;3107:7;3126:23;3152:19;:17;:19::i;:::-;3126:45;-1:-1:-1;;;;;;3185:19:5;;3181:87;;3254:1;3227:30;;-1:-1:-1;;;3227:30:5;;;;;;;;:::i;3181:87::-;-1:-1:-1;;;;;3284:18:5;;;;;;;:11;;;;:18;;-1:-1:-1;3284:18:5;;;;;3044:265::o;29961:157:43:-;30008:13;30029:29;30061:25;:23;:25::i;:::-;30099:14;;;-1:-1:-1;;;;;30099:14:43;;29961:157;-1:-1:-1;;29961:157:43:o;14382:87::-;14436:28;14444:10;14456:7;14436;:28::i;12509:73::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;12569:8:43::1;:6;:8::i;33649:1490::-:0;33743:18;33801:4;33809:1;33801:9;33797:79;;33820:49;;-1:-1:-1;;;33820:49:43;;29070:2:150;33820:49:43;;;29052:21:150;29109:2;29089:18;;;29082:30;-1:-1:-1;;;;;;;;;;;29128:18:150;;;29121:62;-1:-1:-1;;;29199:18:150;;;29192:37;29246:19;;33820:49:43;28868:403:150;33797:79:43;33962:3;34041:26;;;34037:209;;;34183:37;34200:19;34183:16;:37::i;:::-;34111:110;;;;;;;;:::i;:::-;;;;-1:-1:-1;;34111:110:43;;;;;;;;;;-1:-1:-1;;;34077:162:43;;;;;;;:::i;34037:209::-;34252:15;34270:16;34280:5;34270:9;:16::i;:::-;34252:34;-1:-1:-1;34399:13:43;34415:11;34422:4;34415;:11;:::i;:::-;34399:27;;34527:7;34518:5;:16;34514:62;;34551:18;;;34567:1;34551:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;34544:25;;;;;;;34514:62;34625:11;34639:12;34647:4;34639:5;:12;:::i;:::-;34625:26;;34667:7;34661:3;:13;34657:106;;;-1:-1:-1;34690:7:43;34657:106;34817:17;34837:11;34843:5;34837:3;:11;:::i;:::-;34817:31;;34855:25;34899:9;-1:-1:-1;;;;;34883:26:43;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;34855:54;;34921:9;34916:199;34940:9;34936:1;:13;34916:199;;;34964:18;34985:9;34993:1;34985:5;:9;:::i;:::-;34964:30;;35002:15;35020:38;35040:5;35047:10;35020:19;:38::i;:::-;35002:56;;35078:30;35100:7;35078:21;:30::i;:::-;35066:6;35073:1;35066:9;;;;;;;;:::i;:::-;;;;;;:42;;;;34956:159;;34951:3;;;;;:::i;:::-;;;;34916:199;;;-1:-1:-1;35128:6:43;33649:1490;-1:-1:-1;;;;;;;;;33649:1490:43:o;31842:153::-;31912:7;31934:25;:23;:25::i;:::-;:56;;;;:47;;:56;;-1:-1:-1;31934:56:43;;;;;31842:153::o;15730:1016::-;2316:19:12;:17;:19::i;:::-;15823:29:43::1;15855:25;:23;:25::i;:::-;15823:57:::0;-1:-1:-1;15895:12:43;;;:47:::1;;-1:-1:-1::0;15940:1:43::1;15911:17;15920:7:::0;15911:8:::1;:17::i;:::-;-1:-1:-1::0;;;;;15911:31:43::1;;;15895:47;15887:94;;;;-1:-1:-1::0;;;15887:94:43::1;;;;;;;:::i;:::-;16015:10;15995:16;16003:7:::0;15995::::1;:16::i;:::-;-1:-1:-1::0;;;;;15995:30:43::1;;15987:82;;;::::0;-1:-1:-1;;;15987:82:43;;30303:2:150;15987:82:43::1;::::0;::::1;30285:21:150::0;30342:2;30322:18;;;30315:30;30381:34;30361:18;;;30354:62;-1:-1:-1;;;30432:18:150;;;30425:37;30479:19;;15987:82:43::1;30101:403:150::0;15987:82:43::1;16090:13;::::0;::::1;::::0;:42:::1;::::0;-1:-1:-1;;;16090:42:43;;::::1;::::0;::::1;3030:25:150::0;;;16136:10:43::1;::::0;-1:-1:-1;;;;;16090:13:43::1;::::0;:29:::1;::::0;3003:18:150;;16090:42:43::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16090:56:43::1;;16075:136;;;::::0;-1:-1:-1;;;16075:136:43;;30711:2:150;16075:136:43::1;::::0;::::1;30693:21:150::0;30750:2;30730:18;;;30723:30;-1:-1:-1;;;;;;;;;;;30769:18:150;;;30762:62;-1:-1:-1;;;30840:18:150;;;30833:47;30897:19;;16075:136:43::1;30509:413:150::0;16075:136:43::1;16225:36;16246:11;16259:1;16225:20;:36::i;:::-;:41:::0;16217:100:::1;;;::::0;-1:-1:-1;;;16217:100:43;;31129:2:150;16217:100:43::1;::::0;::::1;31111:21:150::0;31168:2;31148:18;;;31141:30;31207:34;31187:18;;;31180:62;-1:-1:-1;;;31258:18:150;;;31251:44;31312:19;;16217:100:43::1;30927:410:150::0;16217:100:43::1;16331:30;16350:7;16359:1;16331:18;:30::i;:::-;:35:::0;16323:94:::1;;;::::0;-1:-1:-1;;;16323:94:43;;31544:2:150;16323:94:43::1;::::0;::::1;31526:21:150::0;31583:2;31563:18;;;31556:30;31622:34;31602:18;;;31595:62;-1:-1:-1;;;31673:18:150;;;31666:44;31727:19;;16323:94:43::1;31342:410:150::0;16323:94:43::1;16424:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;:39;;;16469:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;:39;;;16520:34;16456:7;;16441:11;;16520:34:::1;::::0;16424:29;16520:34:::1;16621:13;16640:44;16663:7;16672:11;16640:22;:44::i;:::-;16620:64;;;16722:11;16713:7;16695:46;16735:5;16695:46;;;;3030:25:150::0;;3018:2;3003:18;;2884:177;28148:541:43;28225:4;28237:29;28269:25;:23;:25::i;:::-;28315:22;;28237:57;;-1:-1:-1;;;;;;28315:22:43;28300:143;;;;-1:-1:-1;;;28300:143:43;;31959:2:150;28300:143:43;;;31941:21:150;31998:2;31978:18;;;31971:30;32037:34;32017:18;;;32010:62;-1:-1:-1;;;32088:18:150;;;32081:46;32144:19;;28300:143:43;31757:412:150;28300:143:43;28457:14;;;;-1:-1:-1;;;;;28457:14:43;28449:100;;;;-1:-1:-1;;;28449:100:43;;32376:2:150;28449:100:43;;;32358:21:150;32415:2;32395:18;;;32388:30;32454:34;32434:18;;;32427:62;-1:-1:-1;;;32505:18:150;;;32498:33;32548:19;;28449:100:43;32174:399:150;28449:100:43;28560:22;;:41;;-1:-1:-1;;;28560:41:43;;-1:-1:-1;;;;;28560:22:43;;;;:35;;:41;;28596:4;;28560:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;-1:-1:-1;28605:14:43;;;;:33;;-1:-1:-1;;;28605:33:43;;-1:-1:-1;;;;;28605:14:43;;;;:27;;:33;;28633:4;;28605:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28556:110;;;-1:-1:-1;28655:4:43;;28148:541;-1:-1:-1;;28148:541:43:o;28556:110::-;-1:-1:-1;28679:5:43;;28148:541;-1:-1:-1;;28148:541:43:o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;35191:90:43:-;35237:6;35258:18;:16;:18::i;31289:154::-;31362:7;31384:54;31403:7;31412:25;:23;:25::i;:::-;31384:18;:54::i;3756:150:5:-;3803:13;3828:23;3854:19;:17;:19::i;:::-;3828:45;;3890:1;:9;;3883:16;;;;;:::i;27541:206:43:-;27644:7;27660:13;27679:44;27702:7;27711:11;27679:22;:44::i;5013:144:5:-;5098:52;966:10:11;5131:8:5;5141;5098:18;:52::i;30755:151:43:-;30805:7;30820:29;30852:25;:23;:25::i;:::-;30890:11;;;;30755:151;-1:-1:-1;;30755:151:43:o;23657:691::-;23729:7;;23748:17;23757:7;23748:8;:17::i;:::-;-1:-1:-1;;;;;23748:31:43;;23744:45;;-1:-1:-1;23788:1:43;;23657:691;-1:-1:-1;23657:691:43:o;23744:45::-;23796:14;23813:26;23831:7;23813:17;:26::i;:::-;23796:43;;23918:20;23940:23;23967:39;23990:7;23999:6;23967:22;:39::i;:::-;23917:89;;;;24088:11;:9;:11::i;:::-;24072:12;:27;24068:56;;-1:-1:-1;24116:1:43;;23657:691;-1:-1:-1;;;;23657:691:43:o;24068:56::-;24328:15;24284:41;24308:16;:12;24323:1;24308:16;:::i;24284:41::-;:59;;;;:::i;:::-;24277:66;23657:691;-1:-1:-1;;;;;23657:691:43:o;14588:129::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;14689:23:43::1;14697:5;14704:7;14689;:23::i;21044:520::-:0;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;21166:29:43::1;21198:25;:23;:25::i;:::-;21166:57;;21234:9;21229:271;21249:20;:27;21245:1;:31;21229:271;;;21325:1;21299:20;21320:1;21299:23;;;;;;;;:::i;:::-;;;;;;;:27;21291:93;;;::::0;-1:-1:-1;;;21291:93:43;;32780:2:150;21291:93:43::1;::::0;::::1;32762:21:150::0;32819:2;32799:18;;;32792:30;-1:-1:-1;;;;;;;;;;;32838:18:150;;;32831:62;-1:-1:-1;;;32909:18:150;;;32902:51;32970:19;;21291:93:43::1;32578:417:150::0;21291:93:43::1;21425:20;21446:1;21425:23;;;;;;;;:::i;:::-;;;;;;;21392:1;:23;;:30;21416:1;21420;21416:5;;;;:::i;:::-;21392:30:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;21392:30:43;:56;21278:3;::::1;::::0;::::1;:::i;:::-;;;;21229:271;;;;21510:49;21538:20;21510:49;;;;;;:::i;6337:208:5:-:0;6450:31;6463:4;6469:2;6473:7;6450:12;:31::i;:::-;6491:47;6514:4;6520:2;6524:7;6533:4;6491:22;:47::i;29341:312:43:-;29433:13;29487:1;29458:17;29467:7;29458:8;:17::i;:::-;-1:-1:-1;;;;;29458:31:43;;29454:46;;-1:-1:-1;;29491:9:43;;;;;;;;;-1:-1:-1;29491:9:43;;;29341:312::o;29454:46::-;29507:20;29530:16;29538:7;29530;:16::i;:::-;29507:39;;29574:1;29559:12;:16;:89;;;;;;;;;;;;;;;;;29592:9;:7;:9::i;:::-;29603:30;29620:12;29603:16;:30::i;:::-;29578:65;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29552:96;29341:312;-1:-1:-1;;;29341:312:43:o;27851:175::-;27933:7;27949:13;27968:34;27991:7;28000:1;27968:22;:34::i;:::-;-1:-1:-1;27948:54:43;27851:175;-1:-1:-1;;;27851:175:43:o;26736:207::-;26808:7;26823:29;26855:25;:23;:25::i;:::-;-1:-1:-1;;;;;26893:36:43;;;;;;:29;;;:36;;;;;26823:57;;-1:-1:-1;26893:45:43;;:43;:45::i;:::-;-1:-1:-1;;;;;26886:52:43;;26736:207;-1:-1:-1;;;26736:207:43:o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;19943:418:43:-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;20068:27:43;::::1;20060:95;;;::::0;-1:-1:-1;;;20060:95:43;;34496:2:150;20060:95:43::1;::::0;::::1;34478:21:150::0;34535:2;34515:18;;;34508:30;34574:34;34554:18;;;34547:62;-1:-1:-1;;;34625:18:150;;;34618:53;34688:19;;20060:95:43::1;34294:419:150::0;20060:95:43::1;20161:29;20193:25;:23;:25::i;:::-;20280:14;::::0;::::1;::::0;20230:66:::1;::::0;20161:57;;-1:-1:-1;;;;;;20280:14:43;;::::1;::::0;20230:66;;::::1;::::0;::::1;::::0;20280:14:::1;::::0;20230:66:::1;20302:14;;:54:::0;;-1:-1:-1;;;;;;20302:54:43::1;-1:-1:-1::0;;;;;20302:54:43;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;19943:418:43:o;33185:188::-;33258:16;;:::i;:::-;33282:15;33300:25;33319:5;33300:18;:25::i;:::-;33282:43;;33338:30;33360:7;33338:21;:30::i;31581:161::-;31655:7;31677:25;:23;:25::i;:::-;:60;;;;;;;;:49;;;;;:60;;-1:-1:-1;31677:60:43;;;;;31581:161::o;5223:210:5:-;5311:4;5327:23;5353:19;:17;:19::i;:::-;-1:-1:-1;;;;;5389:27:5;;;;;;;:20;;;;;:27;;;;;;;;:37;;;;;;;;;;-1:-1:-1;;5389:37:5;;;;;5223:210::o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;9202:158:43:-;9323:27;;9202:158::o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;;3602:36;3626:11;3602:23;:36::i;1958:156:5:-;2077:21;;1958:156::o;17836:241::-;17899:7;17918:13;17934:17;17943:7;17934:8;:17::i;:::-;17918:33;-1:-1:-1;;;;;;17965:19:5;;17961:88;;18007:31;;-1:-1:-1;;;18007:31:5;;;;;3030:25:150;;;3003:18;;18007:31:5;2884:177:150;7347:184:5;7417:7;7436:23;7462:19;:17;:19::i;:::-;7498:26;;;;:17;;:26;;-1:-1:-1;;7498:26:5;;;;-1:-1:-1;;;;;7498:26:5;;7347:184::o;16002:120::-;16082:33;16091:2;16095:7;16104:4;16110;16082:8;:33::i;1581:186:7:-;1720:31;;1581:186::o;36930:1159:43:-;37138:7;2316:19:12;:17;:19::i;:::-;37155:29:43::1;37187:25;:23;:25::i;:::-;37155:57;;37226:30;37245:7;37254:1;37226:18;:30::i;:::-;:35:::0;37218:110:::1;;;::::0;-1:-1:-1;;;37218:110:43;;34920:2:150;37218:110:43::1;::::0;::::1;34902:21:150::0;34959:2;34939:18;;;34932:30;34998:34;34978:18;;;34971:62;35069:32;35049:18;;;35042:60;35119:19;;37218:110:43::1;34718:426:150::0;37218:110:43::1;37335:22;37360:32;37374:2;37378:7;37387:4;37360:13;:32::i;:::-;37335:57:::0;-1:-1:-1;;;;;;37461:28:43;::::1;::::0;;::::1;::::0;:62:::1;;;37493:25;37503:14;37493:9;:25::i;:::-;:30:::0;37461:62:::1;37457:145;;;37533:62;37584:7;:5;:7::i;:::-;-1:-1:-1::0;;;;;37533:45:43;::::1;37593:1;37533:45:::0;;;:29:::1;::::0;::::1;:45;::::0;;;;;:62;:50:::1;:62::i;:::-;;;37457:145;-1:-1:-1::0;;;;;37704:28:43;::::1;::::0;;::::1;::::0;:77:::1;;;37774:7;37736:34;37755:14;37736:18;:34::i;:::-;:45;37704:77;:110;;;;;37813:1;37785:25;37795:14;37785:9;:25::i;:::-;:29;37704:110;37693:206;;;37829:63;37837:14;37853:38;37873:14;37889:1;37853:19;:38::i;:::-;37829:7;:63::i;:::-;-1:-1:-1::0;;;;;37963:16:43;::::1;::::0;;::::1;::::0;:38:::1;;;37983:13;37993:2;37983:9;:13::i;:::-;38000:1;37983:18;37963:38;37959:98;;;38011:39;38019:2;38023:26;38043:2;38047:1;38023:19;:26::i;2787:177:0:-:0;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;9441:606:39;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;3674:178:12:-;2563:16;:14;:16::i;:::-;3732:25:::1;3760:21;:19;:21::i;:::-;3791:17:::0;;-1:-1:-1;;3791:17:12::1;::::0;;;-1:-1:-1;3823:22:12::1;966:10:11::0;3832:12:12::1;3823:22;;;;;;:::i;:::-;;;;;;;;3722:130;3674:178::o:0;876:314:6:-;1141:42;1157:1;1161:7;966:10:11;5914:7:5;:34::i;3326:384:13:-;3375:32;3410:28;:26;:28::i;:::-;3526:9;;3375:63;;-1:-1:-1;;;3526:20:13;3522:88;;3569:30;;-1:-1:-1;;;3569:30:13;;;;;;;;;;;3522:88;1847:1;3684:19;;3326:384::o;2905:128:12:-;2970:8;:6;:8::i;:::-;2966:61;;;3001:15;;-1:-1:-1;;;3001:15:12;;;;;;;;;;;2966:61;2905:128::o;3716:283:13:-;3764:32;3799:28;:26;:28::i;:::-;1805:1;3969:23;;-1:-1:-1;3716:283:13:o;7059:172:5:-;7125:7;7144:23;7170:19;:17;:19::i;:::-;7206:18;;;;:9;;:18;;-1:-1:-1;;7206:18:5;;;;-1:-1:-1;;;;;7206:18:5;;7059:172::o;36252:336:43:-;36360:7;36393:24;;;:16;;;:24;;;;;;36427:12;;;:50;;-1:-1:-1;36444:13:43;;;;:33;;-1:-1:-1;;;36444:33:43;;;;;3030:25:150;;;-1:-1:-1;;;;;36444:13:43;;;;:25;;3003:18:150;;36444:33:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36443:34;36427:50;:111;;;-1:-1:-1;36501:13:43;;;;:37;;-1:-1:-1;;;36501:37:43;;;;;3030:25:150;;;-1:-1:-1;;;;;36501:13:43;;;;:29;;3003:18:150;;36501:37:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;36481:57:43;:16;36489:7;36481;:16::i;:::-;-1:-1:-1;;;;;36481:57:43;;;36427:111;36423:140;;;36555:1;36548:8;;;;;35728:520;35835:7;35867:25;;;:16;;;:25;;;;;;;36105:13;;;;:33;;-1:-1:-1;;;36105:33:43;;;;;3030:25:150;;;35867::43;;-1:-1:-1;;;;;36105:13:43;;:25;;3003:18:150;;36105:33:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36104:34;:95;;;-1:-1:-1;36162:13:43;;;;:37;;-1:-1:-1;;;36162:37:43;;;;;3030:25:150;;;-1:-1:-1;;;;;36162:13:43;;;;:29;;3003:18:150;;36162:37:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;36142:57:43;:16;36150:7;36142;:16::i;24579:1749::-;24675:7;24684;24699:29;24731:25;:23;:25::i;:::-;24699:57;-1:-1:-1;24879:1:43;24971:11;;;;;:72;;;25027:16;25035:7;25027;:16::i;:::-;24986:13;;;;:37;;-1:-1:-1;;;24986:37:43;;;;;3030:25:150;;;-1:-1:-1;;;;;24986:57:43;;;;:13;;;;:29;;3003:18:150;;24986:37:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24986:57:43;;24971:72;24967:650;;;25163:15;25181:22;25196:6;25181:14;:22::i;:::-;25163:40;-1:-1:-1;25265:14:43;;;;25261:350;;25359:23;25385:29;25404:9;25385:18;:29::i;:::-;25359:55;;25559:1;:11;;;25540:15;:30;;:62;;25591:1;:11;;;25540:62;;;25573:15;25540:62;25532:70;;25281:330;25261:350;25045:572;24967:650;25719:23;25745:32;;;:23;;;:32;;;;;;;25933:9;:5;25941:1;25933:9;:::i;:::-;25921:21;;25916:319;25949:1;:11;;;25944:1;:16;25916:319;;25998:26;;;;:23;;;:26;;;;;;25979:45;;25975:254;;26074:26;;;;:23;;;:26;;;;;;26044:1;;-1:-1:-1;26044:1:43;;26055:45;;;;:::i;:::-;;;25975:254;;;26215:5;;25975:254;25962:3;;;;:::i;:::-;;;;25916:319;;;-1:-1:-1;26300:5:43;;;;-1:-1:-1;24579:1749:43;-1:-1:-1;;;;24579:1749:43:o;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;12223:98:43;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;3030:25:150;;;3003:18;;6312:34:3;2884:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;18061:184:43;18114:29;18146:25;:23;:25::i;:::-;18196:14;;;:16;;18114:57;;-1:-1:-1;18178:15:43;;18196:16;18178:15;18196:16;;;:::i;:::-;;;;;18178:34;;18218:22;18228:2;18232:7;18218:9;:22::i;1147:162:12:-;1270:23;;1147:162::o;38791:163:43:-;38843:13;38864:29;38896:25;:23;:25::i;:::-;38864:57;;38934:1;:15;;38927:22;;;;;:::i;14873:352::-;14973:5;-1:-1:-1;;;;;14953:25:43;:16;14961:7;14953;:16::i;:::-;-1:-1:-1;;;;;14953:25:43;;14945:89;;;;-1:-1:-1;;;14945:89:43;;;;;;;:::i;:::-;15041:29;15073:25;:23;:25::i;:::-;15041:57;;15105:79;15147:7;:5;:7::i;:::-;15156:27;15175:7;15156:18;:27::i;:::-;-1:-1:-1;;;;;15105:36:43;;;;;;:29;;;:36;;;;;;:79;:41;:79::i;:::-;;;15205:5;-1:-1:-1;;;;;15196:24:43;;15212:7;15196:24;;;;3030:25:150;;3018:2;3003:18;;2884:177;15196:24:43;;;;;;;;14939:286;14873:352;;:::o;3366:176:12:-;2316:19;:17;:19::i;:::-;3425:25:::1;3453:21;:19;:21::i;:::-;3484:16:::0;;-1:-1:-1;;3484:16:12::1;3496:4;3484:16;::::0;;3425:49;-1:-1:-1;3515:20:12::1;3522:12;966:10:11::0;;887:96;637:698:34;693:13;742:14;759:17;770:5;759:10;:17::i;:::-;779:1;759:21;742:38;;794:20;828:6;-1:-1:-1;;;;;817:18:34;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:18:34;-1:-1:-1;794:41:34;-1:-1:-1;955:28:34;;;971:2;955:28;1010:282;-1:-1:-1;;1041:5:34;-1:-1:-1;;;1175:2:34;1164:14;;1159:32;1041:5;1146:46;1236:2;1227:11;;;-1:-1:-1;1256:21:34;1010:282;1256:21;-1:-1:-1;1312:6:34;637:698;-1:-1:-1;;;637:698:34:o;931:109:42:-;977:6;1002:31;1020:12;1002:17;:31::i;17232:369:5:-;17335:23;17361:19;:17;:19::i;:::-;17335:45;-1:-1:-1;;;;;;17394:22:5;;17390:91;;17461:8;17439:31;;-1:-1:-1;;;17439:31:5;;;;;;;;:::i;17390:91::-;-1:-1:-1;;;;;17490:27:5;;;;;;;:20;;;:27;;;;;;;;:37;;;;;;;;;;;;;:48;;-1:-1:-1;;17490:48:5;;;;;;;;;;17553:41;;975::150;;;17553::5;;948:18:150;17553:41:5;835:187:150;18616:782:5;-1:-1:-1;;;;;18732:14:5;;;:18;18728:664;;18770:71;;-1:-1:-1;;;18770:71:5;;-1:-1:-1;;;;;18770:36:5;;;;;:71;;966:10:11;;18821:4:5;;18827:7;;18836:4;;18770:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18770:71:5;;;;;;;;-1:-1:-1;;18770:71:5;;;;;;;;;;;;:::i;:::-;;;18766:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19079:6;:13;19096:1;19079:18;19075:293;;19150:2;19128:25;;-1:-1:-1;;;19128:25:5;;;;;;;;:::i;19075:293::-;19320:6;19314:13;19305:6;19301:2;19297:15;19290:38;18766:616;-1:-1:-1;;;;;;18888:51:5;;-1:-1:-1;;;18888:51:5;18884:130;;18992:2;18970:25;;-1:-1:-1;;;18970:25:5;;;;;;;;:::i;18884:130::-;18842:186;18616:782;;;;:::o;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;10318:41::-;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;4381:197:0;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;2333:233:7:-;2446:4;-1:-1:-1;;;;;;2469:50:7;;-1:-1:-1;;;2469:50:7;;:90;;;2523:36;2547:11;2523:23;:36::i;16304:719:5:-;16408:23;16434:19;:17;:19::i;:::-;16408:45;;16519:9;:31;;;-1:-1:-1;;;;;;16532:18:5;;;;16519:31;16515:460;;;16566:13;16582:22;16596:7;16582:13;:22::i;:::-;16566:38;-1:-1:-1;;;;;;16732:18:5;;;;;;:35;;;16763:4;-1:-1:-1;;;;;16754:13:5;:5;-1:-1:-1;;;;;16754:13:5;;;16732:35;:69;;;;;16772:29;16789:5;16796:4;16772:16;:29::i;:::-;16771:30;16732:69;16728:142;;;16850:4;16828:27;;-1:-1:-1;;;16828:27:5;;;;;;;;:::i;16728:142::-;16888:9;16884:81;;;16942:7;16938:2;-1:-1:-1;;;;;16922:28:5;16931:5;-1:-1:-1;;;;;16922:28:5;;;;;;;;;;;16884:81;16552:423;16515:460;16985:26;;;;:17;;:26;;-1:-1:-1;;16985:26:5;;;:31;;-1:-1:-1;;;;;;16985:31:5;-1:-1:-1;;;;;16985:31:5;;;;;;;;;;16304:719::o;1472:204:8:-;1611:7;2316:19:12;:17;:19::i;:::-;1637:32:8::1;1651:2;1655:7;1664:4;1637:13;:32::i;:::-;1630:39:::0;1472:204;-1:-1:-1;;;;1472:204:8:o;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;3105:126:12;3168:8;:6;:8::i;:::-;3163:62;;3199:15;;-1:-1:-1;;;3199:15:12;;;;;;;;;;;2251:183:13;2388:30;;2251:183::o;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;12217:100:5:-;12284:26;12294:2;12298:7;12284:26;;;;;;;;;;;;:9;:26::i;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;36679:36:150;36731:18;;;36724:34;;;36652:18;;4297:42:37;36497:267:150;4245:105:37;-1:-1:-1;4374:5:37;4169:218::o;12214:916:36:-;12267:7;;-1:-1:-1;;;12342:17:36;;12338:103;;-1:-1:-1;;;12379:17:36;;;-1:-1:-1;12424:2:36;12414:12;12338:103;-1:-1:-1;;;12458:5:36;:17;12454:103;;-1:-1:-1;;;12495:17:36;;;-1:-1:-1;12540:2:36;12530:12;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;-1:-1:-1;12656:2:36;12646:12;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;-1:-1:-1;12770:1:36;12760:11;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;-1:-1:-1;12883:1:36;12873:11;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;-1:-1:-1;12996:1:36;12986:11;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;13117:6;12214:916;-1:-1:-1;;12214:916:36:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;36679:36:150;36731:18;;;36724:34;;;36652:18;;14416:41:37;36497:267:150;2674:311:5;2787:4;-1:-1:-1;;;;;;2822:40:5;;-1:-1:-1;;;2822:40:5;;:104;;-1:-1:-1;;;;;;;2878:48:5;;-1:-1:-1;;;2878:48:5;2822:104;:156;;;-1:-1:-1;;;;;;;;;;1133:40:14;;;2942:36:5;1034:146:14;3658:625:7;3753:7;3772:21;3796:32;3810:2;3814:7;3823:4;3796:13;:32::i;:::-;3772:56;-1:-1:-1;;;;;;3843:27:7;;3839:210;;3886:40;3918:7;3886:31;:40::i;:::-;3839:210;;;3964:2;-1:-1:-1;;;;;3947:19:7;:13;-1:-1:-1;;;;;3947:19:7;;3943:106;;3982:56;4015:13;4030:7;3982:32;:56::i;:::-;-1:-1:-1;;;;;4062:16:7;;4058:188;;4094:45;4131:7;4094:36;:45::i;:::-;4058:188;;;4177:2;-1:-1:-1;;;;;4160:19:7;:13;-1:-1:-1;;;;;4160:19:7;;4156:90;;4195:40;4223:2;4227:7;4195:27;:40::i;11513:870:39:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;12538:182:5;12632:18;12638:2;12642:7;12632:5;:18::i;:::-;12660:53;12691:1;12695:2;12699:7;12708:4;12660:22;:53::i;10361:856::-;10447:7;10466:23;10492:19;:17;:19::i;:::-;10466:45;;10521:12;10536:17;10545:7;10536:8;:17::i;:::-;10521:32;-1:-1:-1;;;;;;10613:18:5;;;10609:86;;10647:37;10664:4;10670;10676:7;10647:16;:37::i;:::-;-1:-1:-1;;;;;10739:18:5;;;10735:258;;10855:48;10872:1;10876:7;10893:1;10897:5;10855:8;:48::i;:::-;-1:-1:-1;;;;;10946:17:5;;;;;;:11;;;:17;;;;;:22;;-1:-1:-1;;10946:22:5;;;10735:258;-1:-1:-1;;;;;11007:16:5;;;11003:109;;-1:-1:-1;;;;;11067:15:5;;;;;;:11;;;:15;;;;;:20;;11086:1;11067:20;;;11003:109;11122:18;;;;:9;;;:18;;;;;;:23;;-1:-1:-1;;;;;;11122:23:5;-1:-1:-1;;;;;11122:23:5;;;;;;;;;11161:27;;11122:18;;11161:27;;;;;;;11206:4;10361:856;-1:-1:-1;;;;;10361:856:5:o;5065:242:7:-;5141:33;5177:29;:27;:29::i;:::-;5245:12;;;:19;;5216:26;;;;:17;;;;:26;;;;;;;:48;;;5274:26;;;;;;;;;;;;;;;-1:-1:-1;5065:242:7:o;5924:1046::-;6015:33;6051:29;:27;:29::i;:::-;6015:65;;6261:22;6286:15;6296:4;6286:9;:15::i;:::-;6311:18;6332:28;;;:19;;;:28;;;;;;6261:40;;-1:-1:-1;6464:28:7;;;6460:329;;-1:-1:-1;;;;;6530:20:7;;6508:19;6530:20;;;;;;;;;;;:36;;;;;;;;;6581:32;;;;;;:46;;;6699:32;;:19;;;:32;;;;;:45;;;6460:329;-1:-1:-1;6882:28:7;;;;:19;;;:28;;;;;;;;6875:35;;;-1:-1:-1;;;;;6927:20:7;;;;;;;;;;;:36;;;;;;;;6920:43;5924:1046::o;7258:1150::-;7339:33;7375:29;:27;:29::i;:::-;7607:12;;;:19;7339:65;;-1:-1:-1;7582:22:7;;7607:23;;7629:1;;7607:23;:::i;:::-;7640:18;7661:26;;;:17;;;:26;;;;;;8031:12;;;:28;;7582:48;;-1:-1:-1;7661:26:7;;7582:48;;8031:28;;;;;;:::i;:::-;;;;;;;;;8009:50;;8097:11;8070:1;:12;;8083:10;8070:24;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;8176:30;;;:17;;;:30;;;;;;;:43;;;8347:26;;;;;8340:33;8383:12;;;:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7329:1079;;;;7258:1150;:::o;4577:293::-;4661:33;4697:29;:27;:29::i;:::-;4661:65;;4736:14;4769:1;4753:13;4763:2;4753:9;:13::i;:::-;:17;;;;:::i;:::-;-1:-1:-1;;;;;4780:18:7;;;:14;:18;;;;;;;;;;;:26;;;;;;;;:36;;;4826:28;;;:19;;;;:28;;;-1:-1:-1;4826:28:7;:37;4577:293::o;4625:582:32:-;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;5173:17;;11539:327:5;-1:-1:-1;;;;;11606:16:5;;11602:87;;11675:1;11645:33;;-1:-1:-1;;;11645:33:5;;;;;;;;:::i;11602:87::-;11698:21;11722:32;11730:2;11734:7;11751:1;11722:7;:32::i;:::-;11698:56;-1:-1:-1;;;;;;11768:27:5;;;11764:96;;11846:1;11818:31;;-1:-1:-1;;;11818:31:5;;;;;;;;:::i;8548:368::-;8660:38;8674:5;8681:7;8690;8660:13;:38::i;:::-;8655:255;;-1:-1:-1;;;;;8718:19:5;;8714:186;;8764:31;;-1:-1:-1;;;8764:31:5;;;;;3030:25:150;;;3003:18;;8764:31:5;2884:177:150;8714:186:5;8868:7;8877;8841:44;;-1:-1:-1;;;8841:44:5;;;;;;;;;:::i;5743:516:32:-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;7842:272:5;7945:4;-1:-1:-1;;;;;7980:21:5;;;;;;:127;;;8027:7;-1:-1:-1;;;;;8018:16:5;:5;-1:-1:-1;;;;;8018:16:5;;:52;;;;8038:32;8055:5;8062:7;8038:16;:32::i;:::-;8018:88;;;;8099:7;-1:-1:-1;;;;;8074:32:5;:21;8087:7;8074:12;:21::i;:::-;-1:-1:-1;;;;;8074:32:5;;;7842:272;-1:-1:-1;;;;7842:272:5:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:114:150:-;98:4;91:5;87:16;80:5;77:27;67:55;;118:1;115;108:12;133:311;199:6;207;260:2;248:9;239:7;235:23;231:32;228:52;;;276:1;273;266:12;228:52;315:9;302:23;334:29;357:5;334:29;:::i;:::-;382:5;434:2;419:18;;;;406:32;;-1:-1:-1;;;133:311:150:o;449:131::-;-1:-1:-1;;;;;;523:32:150;;513:43;;503:71;;570:1;567;560:12;585:245;643:6;696:2;684:9;675:7;671:23;667:32;664:52;;;712:1;709;702:12;664:52;751:9;738:23;770:30;794:5;770:30;:::i;1027:250::-;1112:1;1122:113;1136:6;1133:1;1130:13;1122:113;;;1212:11;;;1206:18;1193:11;;;1186:39;1158:2;1151:10;1122:113;;;-1:-1:-1;;1269:1:150;1251:16;;1244:27;1027:250::o;1282:271::-;1324:3;1362:5;1356:12;1389:6;1384:3;1377:19;1405:76;1474:6;1467:4;1462:3;1458:14;1451:4;1444:5;1440:16;1405:76;:::i;:::-;1535:2;1514:15;-1:-1:-1;;1510:29:150;1501:39;;;;1542:4;1497:50;;1282:271;-1:-1:-1;;1282:271:150:o;1558:220::-;1707:2;1696:9;1689:21;1670:4;1727:45;1768:2;1757:9;1753:18;1745:6;1727:45;:::i;1783:180::-;1842:6;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;-1:-1:-1;1934:23:150;;1783:180;-1:-1:-1;1783:180:150:o;1968:203::-;-1:-1:-1;;;;;2132:32:150;;;;2114:51;;2102:2;2087:18;;1968:203::o;2176:131::-;-1:-1:-1;;;;;2251:31:150;;2241:42;;2231:70;;2297:1;2294;2287:12;2312:315;2380:6;2388;2441:2;2429:9;2420:7;2416:23;2412:32;2409:52;;;2457:1;2454;2447:12;2409:52;2496:9;2483:23;2515:31;2540:5;2515:31;:::i;2632:247::-;2691:6;2744:2;2732:9;2723:7;2719:23;2715:32;2712:52;;;2760:1;2757;2750:12;2712:52;2799:9;2786:23;2818:31;2843:5;2818:31;:::i;3066:456::-;3143:6;3151;3159;3212:2;3200:9;3191:7;3187:23;3183:32;3180:52;;;3228:1;3225;3218:12;3180:52;3267:9;3254:23;3286:31;3311:5;3286:31;:::i;:::-;3336:5;-1:-1:-1;3393:2:150;3378:18;;3365:32;3406:33;3365:32;3406:33;:::i;:::-;3066:456;;3458:7;;-1:-1:-1;;;3512:2:150;3497:18;;;;3484:32;;3066:456::o;3894:315::-;3962:6;3970;4023:2;4011:9;4002:7;3998:23;3994:32;3991:52;;;4039:1;4036;4029:12;3991:52;4075:9;4062:23;4052:33;;4135:2;4124:9;4120:18;4107:32;4148:31;4173:5;4148:31;:::i;:::-;4198:5;4188:15;;;3894:315;;;;;:::o;4214:423::-;4281:6;4289;4342:2;4330:9;4321:7;4317:23;4313:32;4310:52;;;4358:1;4355;4348:12;4310:52;4397:9;4384:23;4416:31;4441:5;4416:31;:::i;:::-;4466:5;-1:-1:-1;4523:2:150;4508:18;;4495:32;4571:14;4558:28;;4546:41;;4536:69;;4601:1;4598;4591:12;4831:248;4899:6;4907;4960:2;4948:9;4939:7;4935:23;4931:32;4928:52;;;4976:1;4973;4966:12;4928:52;-1:-1:-1;;4999:23:150;;;5069:2;5054:18;;;5041:32;;-1:-1:-1;4831:248:150:o;5084:127::-;5145:10;5140:3;5136:20;5133:1;5126:31;5176:4;5173:1;5166:15;5200:4;5197:1;5190:15;5216:275;5287:2;5281:9;5352:2;5333:13;;-1:-1:-1;;5329:27:150;5317:40;;-1:-1:-1;;;;;5372:34:150;;5408:22;;;5369:62;5366:88;;;5434:18;;:::i;:::-;5470:2;5463:22;5216:275;;-1:-1:-1;5216:275:150:o;5496:406::-;5560:5;-1:-1:-1;;;;;5583:30:150;;5580:56;;;5616:18;;:::i;:::-;5654:57;5699:2;5678:15;;-1:-1:-1;;5674:29:150;5705:4;5670:40;5654:57;:::i;:::-;5645:66;;5734:6;5727:5;5720:21;5774:3;5765:6;5760:3;5756:16;5753:25;5750:45;;;5791:1;5788;5781:12;5750:45;5840:6;5835:3;5828:4;5821:5;5817:16;5804:43;5894:1;5887:4;5878:6;5871:5;5867:18;5863:29;5856:40;5496:406;;;;;:::o;5907:220::-;5949:5;6002:3;5995:4;5987:6;5983:17;5979:27;5969:55;;6020:1;6017;6010:12;5969:55;6042:79;6117:3;6108:6;6095:20;6088:4;6080:6;6076:17;6042:79;:::i;6132:455::-;6209:6;6217;6270:2;6258:9;6249:7;6245:23;6241:32;6238:52;;;6286:1;6283;6276:12;6238:52;6325:9;6312:23;6344:31;6369:5;6344:31;:::i;:::-;6394:5;-1:-1:-1;6450:2:150;6435:18;;6422:32;-1:-1:-1;;;;;6466:30:150;;6463:50;;;6509:1;6506;6499:12;6463:50;6532:49;6573:7;6564:6;6553:9;6549:22;6532:49;:::i;:::-;6522:59;;;6132:455;;;;;:::o;6592:450::-;6661:6;6714:2;6702:9;6693:7;6689:23;6685:32;6682:52;;;6730:1;6727;6720:12;6682:52;6757:23;;-1:-1:-1;;;;;6792:30:150;;6789:50;;;6835:1;6832;6825:12;6789:50;6858:22;;6911:4;6903:13;;6899:27;-1:-1:-1;6889:55:150;;6940:1;6937;6930:12;6889:55;6963:73;7028:7;7023:2;7010:16;7005:2;7001;6997:11;6963:73;:::i;7270:118::-;7356:5;7349:13;7342:21;7335:5;7332:32;7322:60;;7378:1;7375;7368:12;7393:241;7449:6;7502:2;7490:9;7481:7;7477:23;7473:32;7470:52;;;7518:1;7515;7508:12;7470:52;7557:9;7544:23;7576:28;7598:5;7576:28;:::i;8113:390::-;8201:5;8195:12;8190:3;8183:25;8165:3;8254:4;8247:5;8243:16;8237:23;8292:4;8285;8280:3;8276:14;8269:28;8318:47;8359:4;8354:3;8350:14;8336:12;8318:47;:::i;:::-;8306:59;;8414:4;8407:5;8403:16;8397:23;8390:4;8385:3;8381:14;8374:47;8470:4;8463:5;8459:16;8453:23;8446:4;8441:3;8437:14;8430:47;8493:4;8486:11;;;8113:390;;;;:::o;8508:266::-;8693:2;8682:9;8675:21;8656:4;8713:55;8764:2;8753:9;8749:18;8741:6;8713:55;:::i;9010:383::-;9087:6;9095;9103;9156:2;9144:9;9135:7;9131:23;9127:32;9124:52;;;9172:1;9169;9162:12;9124:52;9211:9;9198:23;9230:31;9255:5;9230:31;:::i;:::-;9280:5;9332:2;9317:18;;9304:32;;-1:-1:-1;9383:2:150;9368:18;;;9355:32;;9010:383;-1:-1:-1;;;9010:383:150:o;9398:849::-;9596:4;9625:2;9665;9654:9;9650:18;9695:2;9684:9;9677:21;9718:6;9753;9747:13;9784:6;9776;9769:22;9822:2;9811:9;9807:18;9800:25;;9884:2;9874:6;9871:1;9867:14;9856:9;9852:30;9848:39;9834:53;;9922:2;9914:6;9910:15;9943:1;9953:265;9967:6;9964:1;9961:13;9953:265;;;10060:2;10056:7;10044:9;10036:6;10032:22;10028:36;10023:3;10016:49;10088:50;10131:6;10122;10116:13;10088:50;:::i;:::-;10078:60;-1:-1:-1;10196:12:150;;;;10161:15;;;;9989:1;9982:9;9953:265;;;-1:-1:-1;10235:6:150;;9398:849;-1:-1:-1;;;;;;;9398:849:150:o;10453:382::-;10518:6;10526;10579:2;10567:9;10558:7;10554:23;10550:32;10547:52;;;10595:1;10592;10585:12;10547:52;10634:9;10621:23;10653:31;10678:5;10653:31;:::i;:::-;10703:5;-1:-1:-1;10760:2:150;10745:18;;10732:32;10773:30;10732:32;10773:30;:::i;10840:946::-;10924:6;10955:2;10998;10986:9;10977:7;10973:23;10969:32;10966:52;;;11014:1;11011;11004:12;10966:52;11041:23;;-1:-1:-1;;;;;11113:14:150;;;11110:34;;;11140:1;11137;11130:12;11110:34;11178:6;11167:9;11163:22;11153:32;;11223:7;11216:4;11212:2;11208:13;11204:27;11194:55;;11245:1;11242;11235:12;11194:55;11281:2;11268:16;11303:2;11299;11296:10;11293:36;;;11309:18;;:::i;:::-;11355:2;11352:1;11348:10;11338:20;;11378:28;11402:2;11398;11394:11;11378:28;:::i;:::-;11440:15;;;11510:11;;;11506:20;;;11471:12;;;;11538:19;;;11535:39;;;11570:1;11567;11560:12;11535:39;11594:11;;;;11614:142;11630:6;11625:3;11622:15;11614:142;;;11696:17;;11684:30;;11647:12;;;;11734;;;;11614:142;;;11775:5;10840:946;-1:-1:-1;;;;;;;;10840:946:150:o;11791:665::-;11886:6;11894;11902;11910;11963:3;11951:9;11942:7;11938:23;11934:33;11931:53;;;11980:1;11977;11970:12;11931:53;12019:9;12006:23;12038:31;12063:5;12038:31;:::i;:::-;12088:5;-1:-1:-1;12145:2:150;12130:18;;12117:32;12158:33;12117:32;12158:33;:::i;:::-;12210:7;-1:-1:-1;12264:2:150;12249:18;;12236:32;;-1:-1:-1;12319:2:150;12304:18;;12291:32;-1:-1:-1;;;;;12335:30:150;;12332:50;;;12378:1;12375;12368:12;12332:50;12401:49;12442:7;12433:6;12422:9;12418:22;12401:49;:::i;:::-;12391:59;;;11791:665;;;;;;;:::o;12461:243::-;12518:6;12571:2;12559:9;12550:7;12546:23;12542:32;12539:52;;;12587:1;12584;12577:12;12539:52;12626:9;12613:23;12645:29;12668:5;12645:29;:::i;12709:388::-;12777:6;12785;12838:2;12826:9;12817:7;12813:23;12809:32;12806:52;;;12854:1;12851;12844:12;12806:52;12893:9;12880:23;12912:31;12937:5;12912:31;:::i;:::-;12962:5;-1:-1:-1;13019:2:150;13004:18;;12991:32;13032:33;12991:32;13032:33;:::i;14247:380::-;14326:1;14322:12;;;;14369;;;14390:61;;14444:4;14436:6;14432:17;14422:27;;14390:61;14497:2;14489:6;14486:14;14466:18;14463:38;14460:161;;14543:10;14538:3;14534:20;14531:1;14524:31;14578:4;14575:1;14568:15;14606:4;14603:1;14596:15;14460:161;;14247:380;;;:::o;14632:418::-;14834:2;14816:21;;;14873:2;14853:18;;;14846:30;14912:34;14907:2;14892:18;;14885:62;-1:-1:-1;;;14978:2:150;14963:18;;14956:52;15040:3;15025:19;;14632:418::o;15640:274::-;-1:-1:-1;;;;;15832:32:150;;;;15814:51;;15896:2;15881:18;;15874:34;15802:2;15787:18;;15640:274::o;16870:127::-;16931:10;16926:3;16922:20;16919:1;16912:31;16962:4;16959:1;16952:15;16986:4;16983:1;16976:15;17002:135;17041:3;17062:17;;;17059:43;;17082:18;;:::i;:::-;-1:-1:-1;17129:1:150;17118:13;;17002:135::o;17827:247::-;17895:6;17948:2;17936:9;17927:7;17923:23;17919:32;17916:52;;;17964:1;17961;17954:12;17916:52;17996:9;17990:16;18015:29;18038:5;18015:29;:::i;18079:415::-;18281:2;18263:21;;;18320:2;18300:18;;;18293:30;18359:34;18354:2;18339:18;;18332:62;-1:-1:-1;;;18425:2:150;18410:18;;18403:49;18484:3;18469:19;;18079:415::o;19332:184::-;19402:6;19455:2;19443:9;19434:7;19430:23;19426:32;19423:52;;;19471:1;19468;19461:12;19423:52;-1:-1:-1;19494:16:150;;19332:184;-1:-1:-1;19332:184:150:o;20662:125::-;20727:9;;;20748:10;;;20745:36;;;20761:18;;:::i;21172:245::-;21239:6;21292:2;21280:9;21271:7;21267:23;21263:32;21260:52;;;21308:1;21305;21298:12;21260:52;21340:9;21334:16;21359:28;21381:5;21359:28;:::i;21780:398::-;21982:2;21964:21;;;22021:2;22001:18;;;21994:30;22060:34;22055:2;22040:18;;22033:62;-1:-1:-1;;;22126:2:150;22111:18;;22104:32;22168:3;22153:19;;21780:398::o;22183:251::-;22253:6;22306:2;22294:9;22285:7;22281:23;22277:32;22274:52;;;22322:1;22319;22312:12;22274:52;22354:9;22348:16;22373:31;22398:5;22373:31;:::i;23752:127::-;23813:10;23808:3;23804:20;23801:1;23794:31;23844:4;23841:1;23834:15;23868:4;23865:1;23858:15;24414:842;24542:3;24571:1;24604:6;24598:13;24634:36;24660:9;24634:36;:::i;:::-;24689:1;24706:18;;;24733:133;;;;24880:1;24875:356;;;;24699:532;;24733:133;-1:-1:-1;;24766:24:150;;24754:37;;24839:14;;24832:22;24820:35;;24811:45;;;-1:-1:-1;24733:133:150;;24875:356;24906:6;24903:1;24896:17;24936:4;24981:2;24978:1;24968:16;25006:1;25020:165;25034:6;25031:1;25028:13;25020:165;;;25112:14;;25099:11;;;25092:35;25155:16;;;;25049:10;;25020:165;;;25024:3;;;25214:6;25209:3;25205:16;25198:23;;24699:532;-1:-1:-1;25247:3:150;;24414:842;-1:-1:-1;;;;;;24414:842:150:o;25261:289::-;25392:3;25430:6;25424:13;25446:66;25505:6;25500:3;25493:4;25485:6;25481:17;25446:66;:::i;:::-;25528:16;;;;;25261:289;-1:-1:-1;;25261:289:150:o;25555:545::-;25657:2;25652:3;25649:11;25646:448;;;25693:1;25718:5;25714:2;25707:17;25763:4;25759:2;25749:19;25833:2;25821:10;25817:19;25814:1;25810:27;25804:4;25800:38;25869:4;25857:10;25854:20;25851:47;;;-1:-1:-1;25892:4:150;25851:47;25947:2;25942:3;25938:12;25935:1;25931:20;25925:4;25921:31;25911:41;;26002:82;26020:2;26013:5;26010:13;26002:82;;;26065:17;;;26046:1;26035:13;26002:82;;;26006:3;;;25555:545;;;:::o;26276:1352::-;26396:10;;-1:-1:-1;;;;;26418:30:150;;26415:56;;;26451:18;;:::i;:::-;26480:97;26570:6;26530:38;26562:4;26556:11;26530:38;:::i;:::-;26524:4;26480:97;:::i;:::-;26632:4;;26696:2;26685:14;;26713:1;26708:663;;;;27415:1;27432:6;27429:89;;;-1:-1:-1;27484:19:150;;;27478:26;27429:89;-1:-1:-1;;26233:1:150;26229:11;;;26225:24;26221:29;26211:40;26257:1;26253:11;;;26208:57;27531:81;;26678:944;;26708:663;24361:1;24354:14;;;24398:4;24385:18;;-1:-1:-1;;26744:20:150;;;26862:236;26876:7;26873:1;26870:14;26862:236;;;26965:19;;;26959:26;26944:42;;27057:27;;;;27025:1;27013:14;;;;26892:19;;26862:236;;;26866:3;27126:6;27117:7;27114:19;27111:201;;;27187:19;;;27181:26;-1:-1:-1;;27270:1:150;27266:14;;;27282:3;27262:24;27258:37;27254:42;27239:58;27224:74;;27111:201;-1:-1:-1;;;;;27358:1:150;27342:14;;;27338:22;27325:36;;-1:-1:-1;26276:1352:150:o;29276:514::-;-1:-1:-1;;;;;;;;;;;29533:3:150;29526:47;-1:-1:-1;;;29598:2:150;29593:3;29589:12;29582:43;29508:3;29654:6;29648:13;29670:73;29736:6;29731:2;29726:3;29722:12;29717:2;29709:6;29705:15;29670:73;:::i;:::-;29763:16;;;;29781:2;29759:25;;29276:514;-1:-1:-1;;29276:514:150:o;29795:168::-;29868:9;;;29899;;29916:15;;;29910:22;;29896:37;29886:71;;29937:18;;:::i;29968:128::-;30035:9;;;30056:11;;;30053:37;;;30070:18;;:::i;33000:632::-;33171:2;33223:21;;;33293:13;;33196:18;;;33315:22;;;33142:4;;33171:2;33394:15;;;;33368:2;33353:18;;;33142:4;33437:169;33451:6;33448:1;33445:13;33437:169;;;33512:13;;33500:26;;33581:15;;;;33546:12;;;;33473:1;33466:9;33437:169;;;-1:-1:-1;33623:3:150;;33000:632;-1:-1:-1;;;;;;33000:632:150:o;33637:652::-;33906:3;33944:6;33938:13;33960:66;34019:6;34014:3;34007:4;33999:6;33995:17;33960:66;:::i;:::-;34089:13;;34048:16;;;;34111:70;34089:13;34048:16;34158:4;34146:17;;34111:70;:::i;:::-;-1:-1:-1;;;34203:20:150;;34232:22;;;34281:1;34270:13;;33637:652;-1:-1:-1;;;;33637:652:150:o;35338:127::-;35399:10;35394:3;35390:20;35387:1;35380:31;35430:4;35427:1;35420:15;35454:4;35451:1;35444:15;35470:489;-1:-1:-1;;;;;35739:15:150;;;35721:34;;35791:15;;35786:2;35771:18;;35764:43;35838:2;35823:18;;35816:34;;;35886:3;35881:2;35866:18;;35859:31;;;35664:4;;35907:46;;35933:19;;35925:6;35907:46;:::i;:::-;35899:54;35470:489;-1:-1:-1;;;;;;35470:489:150:o;35964:249::-;36033:6;36086:2;36074:9;36065:7;36061:23;36057:32;36054:52;;;36102:1;36099;36092:12;36054:52;36134:9;36128:16;36153:30;36177:5;36153:30;:::i;37040:217::-;37080:1;37106;37096:132;;37150:10;37145:3;37141:20;37138:1;37131:31;37185:4;37182:1;37175:15;37213:4;37210:1;37203:15;37096:132;-1:-1:-1;37242:9:150;;37040:217::o;37554:127::-;37615:10;37610:3;37606:20;37603:1;37596:31;37646:4;37643:1;37636:15;37670:4;37667:1;37660:15"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_LEVEL()":"a49062d4","MINTER_ROLE()":"d5391393","NODES_MANAGER_ROLE()":"3d6dbee8","PAUSER_ROLE()":"e63ab1e9","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approve(address,uint256)":"095ea7b3","attachNode(uint256,uint256)":"88371110","b3tr()":"582a486a","b3trGovernor()":"7893d736","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","burn(uint256)":"42966c68","clock()":"91ddadf4","detachNode(uint256,uint256)":"4a6565e1","freeMint()":"5b70ea9f","getApproved(uint256)":"081812fc","getB3TRdonated(uint256)":"865c380b","getB3TRtoUpgrade(uint256)":"a51d2e0b","getB3TRtoUpgradeToLevel(uint256)":"2b42df38","getIdAttachedToNode(uint256)":"51c438d1","getLevelAfterAttachingNode(uint256,uint256)":"a1843bd0","getLevelAfterDetachingNode(uint256)":"cc421d07","getNodeIdAttached(uint256)":"958fc97d","getNodeLevelOf(uint256)":"3ff453af","getNodeToFreeLevel(uint8)":"e617e49f","getRoleAdmin(bytes32)":"248a9ca3","getSelectedTokenId(address)":"d206885d","getSelectedTokenIdAtBlock(address,uint48)":"3c60f55d","getSelectedTokenInfoByOwner(address)":"de4983a2","getTokenInfoByTokenId(uint256)":"643ce418","getTokensInfoByOwner(address,uint256,uint256)":"851f738e","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initializeV6(address)":"154edef1","isApprovedForAll(address,address)":"e985e9c5","levelOf(uint256)":"6d5e3032","name()":"06fdde03","ownerOf(uint256)":"6352211e","participatedInGovernance(address)":"8c5b76fb","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","select(uint256)":"839a19d9","selectFor(address,uint256)":"aa3491eb","setApprovalForAll(address,bool)":"a22cb465","setB3TRtoUpgradeToLevel(uint256[])":"b1ccbd2c","setB3trGovernorAddress(address)":"ddd8634d","setBaseURI(string)":"55f804b3","setIsPublicMintingPaused(bool)":"5b5da514","setMaxLevel(uint256)":"344f1ba5","setNodeToFreeUpgradeLevel(uint8,uint256)":"001db0dd","setStargateNFTAddress(address)":"36a49a3c","setXAllocationsGovernorAddress(address)":"3af03ea8","stargateNFT()":"5d21e15b","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","treasury()":"61d027b3","unpause()":"3f4ba83a","upgrade(uint256)":"45977d03","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50","xAllocationsGovernor()":"5ecf68e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"B3TRtoUpgradeToLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"B3trGovernorAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"LevelWhenAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"LevelWhenDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"MaxLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PublicMintingPaused\",\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Selected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"StargateNFTAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsGovernorAddressUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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_LEVEL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NODES_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"attachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"detachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRdonated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgrade\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgradeToLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getIdAttachedToNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterAttachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterDetachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getNodeIdAttached\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevelOf\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"}],\"name\":\"getNodeToFreeLevel\",\"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\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"blockNumber\",\"type\":\"uint48\"}],\"name\":\"getSelectedTokenIdAtBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMember.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenInfoByTokenId\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMember.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"getTokensInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMember.TokenInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"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\":\"_stargateNFT\",\"type\":\"address\"}],\"name\":\"initializeV6\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"levelOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"participatedInGovernance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"select\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"selectFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"setB3TRtoUpgradeToLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3trGovernor\",\"type\":\"address\"}],\"name\":\"setB3trGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"setIsPublicMintingPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setMaxLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setNodeToFreeUpgradeLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stargateNFT\",\"type\":\"address\"}],\"name\":\"setStargateNFTAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_xAllocationsGovernor\",\"type\":\"address\"}],\"name\":\"setXAllocationsGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stargateNFT\",\"outputs\":[{\"internalType\":\"contract IStargateNFT\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"upgrade\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsGovernor\",\"outputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities. --------------------------------- VERSION 2 --------------------------------- - Added Vechain Nodes contract to attach and detach nodes to tokens - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels - Added free upgrade levels for each Vechain node level - Removed automatic highest level owned selection - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading - Core logic functions are now overridable through inheritance - B3TRGovernor has been updated to V2 thus pointing to the new interface - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too --------------------------------- VERSION 3 --------------------------------- - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated()) - Added `selectFor` function to allow the admin to select a token for the user - Added checkpoints for the selected token ID of the user - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking --------------------------------- VERSION 4 --------------------------------- - Added events to track the level of the token when attaching and detaching nodes --------------------------------- VERSION 5 --------------------------------- - Upon StarGate launch, we updated the NodeManagement contract to V3 - Deprecated usage of vechainNodes contract address in favor of nodeManagement contract address, ie   removed `setVechainNodes`   updated `getNodeLevelOf` to use nodeManagement contract   updated ownership conditions on `detachNode` to use nodeManagement contract --------------------------------- VERSION 6 --------------------------------- - Removes Nodemanagement and TokenAuction in favor of Stargate Contract - Replaced `nodeManagement.getNodeManager` with `stargateNFT.getTokenManager` - Replaced `nodeManagement.getNodeOwner` with `stargateNFT.ownerOf` - Replaced `nodeManagement.getNodeLevel` with `stargateNFT.getTokenLevel`\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"ERC721EnumerableForbiddenBatchMint()\":[{\"details\":\"Batch mint is not allowed.\"}],\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721OutOfBoundsIndex(address,uint256)\":[{\"details\":\"An `owner`'s token query was out of bounds for `index`. NOTE: The owner being `address(0)` indicates a global out of bounds index.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"B3TRtoUpgradeToLevelUpdated(uint256[])\":{\"details\":\"Emitted when B3TR required to upgrade to each level is updated\"},\"B3trGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when B3TRGovernor contract address is updated\"},\"BaseURIUpdated(string,string)\":{\"details\":\"Emitted when base URI is updated\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"LevelWhenAttached(uint256,uint256,uint256)\":{\"details\":\"Emitted when node is attached to a token\"},\"LevelWhenDetached(uint256,uint256,uint256)\":{\"details\":\"Emitted when node is detached from a token\"},\"MaxLevelUpdated(uint256,uint256)\":{\"details\":\"Emitted when the max level is updated.\"},\"NodeAttached(uint256,uint256)\":{\"details\":\"Emitted when a node is attached to a token\"},\"NodeDetached(uint256,uint256)\":{\"details\":\"Emitted when a node is detached from a token\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"PublicMintingPaused(bool)\":{\"details\":\"Emitted when public minting is paused\"},\"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.\"},\"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`)\"},\"Selected(address,uint256)\":{\"details\":\"Emitted when an account changes the selected token for voting rewards.\"},\"StargateNFTAddressUpdated(address,address)\":{\"details\":\"Emitted when the StargateNFT contract address is updated\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"},\"Upgraded(uint256,uint256,uint256)\":{\"details\":\"Emitted when a token is upgraded.\"},\"XAllocationsGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when XAllocationVotingGovernor contract address is updated\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Returns the mode of the clock.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Overrides the ERC721BurnableUpgradeable function to include custom burning logic\",\"params\":{\"tokenId\":\"Token ID to burn\"}},\"clock()\":{\"details\":\"Clock used for flagging checkpoints.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"freeMint()\":{\"details\":\"Mints a token with level 1 and ensures that the public minting is not paused\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getB3TRdonated(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgrade(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgradeToLevel(uint256)\":{\"params\":{\"level\":\"Level to upgrade to\"}},\"getIdAttachedToNode(uint256)\":{\"params\":{\"nodeId\":\"Vechain node Token ID\"}},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"- Vechain Node Token ID\",\"tokenId\":\"- GM Token ID\"}},\"getLevelAfterDetachingNode(uint256)\":{\"params\":{\"tokenId\":\"- GM Token ID\"}},\"getNodeIdAttached(uint256)\":{\"params\":{\"tokenId\":\"GM Token ID\"}},\"getNodeLevelOf(uint256)\":{\"params\":{\"nodeId\":\"Vechain Node Token ID\"}},\"getNodeToFreeLevel(uint8)\":{\"params\":{\"nodeLevel\":\"Vechain node level\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getSelectedTokenId(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"}},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"params\":{\"blockNumber\":\"The block number to check\",\"owner\":\"The address of the owner to check\"}},\"getSelectedTokenInfoByOwner(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"},\"returns\":{\"_0\":\"TokenInfo The selected token info\"}},\"getTokenInfoByTokenId(uint256)\":{\"params\":{\"tokenId\":\"Token ID to get the info for\"},\"returns\":{\"_0\":\"TokenInfo The token info\"}},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"params\":{\"owner\":\"The address of the owner to check\",\"page\":\"The page number to fetch\",\"size\":\"The number of tokens to fetch (cannot exceed 100)\"},\"returns\":{\"_0\":\"TokenInfo[] The tokens owned by the 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`.\"},\"initializeV6(address)\":{\"details\":\"Only callable by the UPGRADER_ROLE\",\"params\":{\"_stargateNFT\":\"StargateNFT contract address\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"levelOf(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"participatedInGovernance(address)\":{\"params\":{\"user\":\"The address of the user to check\"}},\"pause()\":{\"details\":\"pausing the contract will prevent minting, upgrading, and transferring of tokensOnly callable by the pauser role\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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.\"},\"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 `callerConfirmation`. 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.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"select(uint256)\":{\"params\":{\"tokenID\":\"Token ID to select\"}},\"selectFor(address,uint256)\":{\"params\":{\"owner\":\"The address of the owner to check\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"details\":\"Only callable by the admin role\",\"params\":{\"b3trToUpgradeToLevel\":\"Mapping of B3TR requirements per level\"}},\"setB3trGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_b3trGovernor\":\"B3TRGovernor contract address\"}},\"setBaseURI(string)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"baseTokenURI\":\"Base URI for the Token\"}},\"setIsPublicMintingPaused(bool)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"isPaused\":\"Flag to pause or unpause public minting\"}},\"setMaxLevel(uint256)\":{\"details\":\"Only callable by the admin role\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"params\":{\"level\":\"new free upgrade level\",\"nodeLevel\":\"Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\"}},\"setStargateNFTAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_stargateNFT\":\"StargateNFT contract address\"}},\"setXAllocationsGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_xAllocationsGovernor\":\"XAllocationVotingGovernor contract address\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"computes the token URI based on the base URI and the level of the token\",\"params\":{\"tokenId\":\"Token ID to get the URI for\"}},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unpause()\":{\"details\":\"Only callable by the pauser role\"},\"upgrade(uint256)\":{\"details\":\"Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\",\"params\":{\"tokenId\":\"Token ID to upgrade\"}},\"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()\":{\"details\":\"This function is used to identify the version of the contract and should be updated in each new version\",\"returns\":{\"_0\":\"string The version of the contract\"}}},\"stateVariables\":{\"GalaxyMemberStorageLocation\":{\"details\":\"keccak256(abi.encode(uint256(keccak256(\\\"b3tr.storage.GalaxyMember\\\")) - 1)) & ~bytes32(uint256(0xff))\"}},\"title\":\"GalaxyMember\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"MAX_LEVEL()\":{\"notice\":\"Gets the maximum level that tokens can be minted or upgraded to\"},\"b3tr()\":{\"notice\":\"Gets the B3TR token contract address\"},\"b3trGovernor()\":{\"notice\":\"Gets the b3trGovernor contract address\"},\"baseURI()\":{\"notice\":\"Gets the base URI for computing the tokenURI\"},\"burn(uint256)\":{\"notice\":\"Allows the token owner to burn their token\"},\"constructor\":{\"notice\":\"Ensures only initializer functions are called when deploying a proxy\"},\"freeMint()\":{\"notice\":\"Allows a user to freely mint a token if they have participated in governance\"},\"getB3TRdonated(uint256)\":{\"notice\":\"Get the B3TR donated for upgrading a token\"},\"getB3TRtoUpgrade(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to the next level\"},\"getB3TRtoUpgradeToLevel(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to a specific level\"},\"getIdAttachedToNode(uint256)\":{\"notice\":\"Get the GM Token ID attached to the Vechain Node Token ID\"},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"notice\":\"Gets the level of the token after attaching a node\"},\"getLevelAfterDetachingNode(uint256)\":{\"notice\":\"Gets the level of the token after detaching a node\"},\"getNodeIdAttached(uint256)\":{\"notice\":\"Get the Vechain Node Token ID attached to the GM Token ID\"},\"getNodeLevelOf(uint256)\":{\"notice\":\"Gets the strength level of the Vechain node\"},\"getNodeToFreeLevel(uint8)\":{\"notice\":\"Get the GM level that can be upgraded for free for a given Vechain node level\"},\"getSelectedTokenId(address)\":{\"notice\":\"Gets the selected token ID for the user\"},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"notice\":\"Gets the selected token ID for the user in a specific block number\"},\"getSelectedTokenInfoByOwner(address)\":{\"notice\":\"Gets the selected token info for an address\"},\"getTokenInfoByTokenId(uint256)\":{\"notice\":\"Gets the token info by token ID\"},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"notice\":\"Gets the tokens owned by an address\"},\"initializeV6(address)\":{\"notice\":\"Initializes the contract V6\"},\"levelOf(uint256)\":{\"notice\":\"Gets the level of the GM token\"},\"participatedInGovernance(address)\":{\"notice\":\"Gets whether the user has participated in governance\"},\"pause()\":{\"notice\":\"Pauses the Galaxy Member contract\"},\"select(uint256)\":{\"notice\":\"Allows the user to select a token for voting rewards multiplier\"},\"selectFor(address,uint256)\":{\"notice\":\"Allows the admin to select a token for the user\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"notice\":\"Sets the amount of B3TR required to upgrade to each level\"},\"setB3trGovernorAddress(address)\":{\"notice\":\"Sets the B3TRGovernor contract address\"},\"setBaseURI(string)\":{\"notice\":\"Sets the base URI for computing the tokenURI\"},\"setIsPublicMintingPaused(bool)\":{\"notice\":\"Pauses public minting\"},\"setMaxLevel(uint256)\":{\"notice\":\"Sets the maximum level that tokens can be minted or upgraded to\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"notice\":\"Sets the treasury contract address\"},\"setStargateNFTAddress(address)\":{\"notice\":\"Sets the StargateNFT contract address\"},\"setXAllocationsGovernorAddress(address)\":{\"notice\":\"Sets the XAllocationVotingGovernor contract address\"},\"stargateNFT()\":{\"notice\":\"Gets the StargateNFT contract address\"},\"tokenURI(uint256)\":{\"notice\":\"gets the token URI for a specific token\"},\"treasury()\":{\"notice\":\"Gets the treasury contract address\"},\"unpause()\":{\"notice\":\"Unpauses the Galaxy Member contract\"},\"upgrade(uint256)\":{\"notice\":\"Upgrades a token to the next level\"},\"version()\":{\"notice\":\"Retrieves the current version of the contract\"},\"xAllocationsGovernor()\":{\"notice\":\"Gets the xAllocationsGovernor contract address\"}},\"notice\":\"This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/GalaxyMember.sol\":\"GalaxyMember\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x5d1215064b3e114d329b1544cf65d33404f63e7841184e55267f4d8b114608e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1699c6ecb0511cb626f40814463aaf4e5c8c36399689e0f3de7561f227a5b50a\",\"dweb:/ipfs/QmQDxPddEsajUEPDRsfPekEhBRjmBTepYALuTwdM7h6mRz\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\":{\"keccak256\":\"0xe3c0b8baf1c6c26bd7944f5c7e71d0e902cbd1a90509f093524c289b89ad5344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9b136fb95c70aa8bce31e2fbaea664bd44afc305b8b75547d90944c89f2acc4\",\"dweb:/ipfs/QmRZbDHHu8obmna5Aj8iP2xNC4xC3p2RtdhpsYiJ8Bbm3M\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\":{\"keccak256\":\"0x6a7330cb4ed2bea90bed97483d55f11ccf98af6c1dd1e2b1739040b679ff9545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a274337315d1f332ba80f7cfbe5243267db6a015514c5a0e7898219ab51fb52\",\"dweb:/ipfs/QmTZdtdWgVs7VmP1dUW4idVpLK4pVFS6sfoi2pQCnaKgSX\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\":{\"keccak256\":\"0x7e68925d3373bd2baa7ac36839c464b2e77b67764201c4e0196d62699ee220b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0896e7ff605a131ca982da1175d798c19588852dc74329f5c3675ac76cb80ff\",\"dweb:/ipfs/QmdePp3XmXaKz4A9qqj6enFuqERWvJoN4uRmFzu2cwLPX8\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0xb31b86c03f4677dcffa4655285d62433509513be9bafa0e04984565052d34e44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a89c6fb0cd5fef4244500b633f63def9f2bb2134debb961e590bd5a2910662fd\",\"dweb:/ipfs/QmNqWyCxyopvb99RbRomPpfTZGXRi5MnzgpFXE2BFLLgMc\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/GalaxyMember.sol\":{\"keccak256\":\"0x5b94692a336d899b07dff61b7a880b1531b80b2c13f92cb4d8bf3fa9b4960095\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaaabcfd7a420d6caf7531ffc2b04dc4ee14b1bebec4595a0428d2c738edad72\",\"dweb:/ipfs/QmXiMMyiLqS3GuqaV6JhdcrdevVd938RLkuHNSQpqbFGiY\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/GrantsManager.sol":{"GrantsManager":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"recipient","type":"address"}],"name":"CallerIsNotTheGrantReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantAlreadyCompleted","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantAlreadyRejected","type":"error"},{"inputs":[{"internalType":"uint256","name":"availableFunds","type":"uint256"},{"internalType":"uint256","name":"requiredFunds","type":"uint256"}],"name":"InsufficientFunds","type":"error"},{"inputs":[],"name":"InvalidAmount","type":"error"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"InvalidFunctionSelector","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"InvalidMilestoneIndex","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"required","type":"uint256"}],"name":"InvalidNumberOfMilestones","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"InvalidTarget","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAlreadyApproved","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAlreadyClaimed","type":"error"},{"inputs":[{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAmountZero","type":"error"},{"inputs":[{"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"}],"name":"MilestoneClaimedAmountExceedsTotalAmount","type":"error"},{"inputs":[],"name":"MilestoneDetailsMetadataURIEmpty","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneNotApprovedByAdmin","type":"error"},{"inputs":[],"name":"MilestoneProposerZeroAddress","type":"error"},{"inputs":[{"internalType":"enum IGrantsManager.MilestoneState","name":"status","type":"uint8"}],"name":"MilestoneStateNotPending","type":"error"},{"inputs":[],"name":"MilestoneTotalAmountZero","type":"error"},{"inputs":[],"name":"NotAuthorized","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"PreviousMilestoneNotApproved","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalNotExecuted","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"newGrantsReceiver","type":"address"}],"name":"GrantsReceiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"milestoneIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MilestoneClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"string","name":"newMilestoneMetadataURI","type":"string"}],"name":"MilestoneMetadataURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MilestoneRejectedAndFundsReturnedToTreasury","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneValidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":true,"internalType":"address","name":"grantsReceiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"},{"indexed":false,"internalType":"string","name":"metadataURI","type":"string"}],"name":"MilestonesCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOVERNANCE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GRANTS_APPROVER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GRANTS_REJECTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"name":"approveMilestoneWithReason","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"approveMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"claimMilestone","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"}],"name":"createMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getB3trContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGovernorContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getGrantProposal","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManager.Milestone[]","name":"milestones","type":"tuple[]"},{"internalType":"string","name":"metadataURI","type":"string"}],"internalType":"struct IGrantsManager.GrantProposal","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getGrantsReceiverAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"getMilestone","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManager.Milestone","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMilestoneMetadataURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMilestones","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManager.Milestone[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinimumMilestoneCount","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":[{"internalType":"uint256","name":"milestoneId","type":"uint256"}],"name":"getTotalAmountForMilestones","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasuryContract","outputs":[{"internalType":"address","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":"uint256","name":"proposalId","type":"uint256"}],"name":"grantState","outputs":[{"internalType":"enum IGrantsManager.GrantState","name":"","type":"uint8"}],"stateMutability":"view","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":"_governor","type":"address"},{"internalType":"address","name":"_treasury","type":"address"},{"internalType":"address","name":"defaultAdmin","type":"address"},{"internalType":"address","name":"_b3tr","type":"address"},{"internalType":"uint256","name":"_minimumMilestoneCount","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"isClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantCompleted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantInDevelopment","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantRejected","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"milestoneState","outputs":[{"internalType":"enum IGrantsManager.MilestoneState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"rejectMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"_b3tr","type":"address"}],"name":"setB3trContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governor","type":"address"}],"name":"setGovernorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minimumMilestoneCount","type":"uint256"}],"name":"setMinimumMilestoneCount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasuryContract","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":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"newGrantsReceiver","type":"address"}],"name":"updateGrantsReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"newMilestoneMetadataURI","type":"string"}],"name":"updateMilestoneMetadataURI","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":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_14035":{"entryPoint":null,"id":14035,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161487f62000104600039600081816132d1015281816132fa0152613444015261487f6000f3fe6080604052600436106102175760003560e01c806219cce61461021c578063012947641461024757806301ffc9a71461026a57806306c498221461029a5780631ed65110146102bc57806321afd1f6146102dc578063248a9ca3146102fe57806324ad94cd1461031e57806326c74fc31461034b5780632f2ff15d1461036057806336568abe146103805780633f36cd7f146103a05780633f4ba83a146103c257806342c549c0146103d75780634f1ef2861461040457806352d1902d1461041757806354b90b7b1461042c57806354fd4d501461044c5780635ade3874146104605780635c975abb14610480578063767b1602146104955780637da17bf3146104b5578063808860a5146104d55780638456cb59146104f55780638ed9895c1461050a57806391d14854146105375780639b15408714610557578063a217fddf14610577578063ad3cb1cc1461058c578063b2a2eef9146105ca578063b3396778146105ea578063bfda4e7c1461060a578063c1a45a6a14610637578063c224938914610657578063c266aef714610677578063c42433b414610697578063c4ec8f98146106b7578063cff28c70146106cc578063d547741f146106ec578063da104fac1461070c578063e03d759b1461072c578063e63ab1e91461074c578063e9af5d1b1461076e578063f23e227b1461079b578063f36c8f5c146107bb578063f7013ef6146107dd578063f72c0d8b146107fd575b600080fd5b34801561022857600080fd5b5061023161081f565b60405161023e9190613ed6565b60405180910390f35b34801561025357600080fd5b5061025c61083d565b60405190815260200161023e565b34801561027657600080fd5b5061028a610285366004613eea565b610852565b604051901515815260200161023e565b3480156102a657600080fd5b506102ba6102b5366004613f29565b610889565b005b3480156102c857600080fd5b506102ba6102d7366004613f29565b6108c4565b3480156102e857600080fd5b5061025c60008051602061476a83398151915281565b34801561030a57600080fd5b5061025c610319366004613f46565b6108ff565b34801561032a57600080fd5b5061033e610339366004613f46565b61091f565b60405161023e9190613ff2565b34801561035757600080fd5b50610231610b96565b34801561036c57600080fd5b506102ba61037b3660046140b7565b610bb4565b34801561038c57600080fd5b506102ba61039b3660046140b7565b610bd6565b3480156103ac57600080fd5b5061025c60008051602061482a83398151915281565b3480156103ce57600080fd5b506102ba610c0e565b3480156103e357600080fd5b506103f76103f2366004613f46565b610c7a565b60405161023e91906140e7565b6102ba6104123660046141fe565b610dc6565b34801561042357600080fd5b5061025c610de1565b34801561043857600080fd5b506102ba610447366004613f29565b610dfe565b34801561045857600080fd5b50600361025c565b34801561046c57600080fd5b5061025c61047b366004613f46565b610e39565b34801561048c57600080fd5b5061028a610e44565b3480156104a157600080fd5b506102ba6104b036600461424d565b610e59565b3480156104c157600080fd5b5061028a6104d0366004613f46565b610fd1565b3480156104e157600080fd5b506102ba6104f036600461426f565b611254565b34801561050157600080fd5b506102ba6117e5565b34801561051657600080fd5b5061052a61052536600461424d565b61184d565b60405161023e9190614384565b34801561054357600080fd5b5061028a6105523660046140b7565b6119ae565b34801561056357600080fd5b5061028a610572366004613f46565b6119e4565b34801561058357600080fd5b5061025c600081565b34801561059857600080fd5b506105bd604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161023e9190614397565b3480156105d657600080fd5b506102ba6105e5366004613f46565b611d43565b3480156105f657600080fd5b506102ba6106053660046143aa565b611d63565b34801561061657600080fd5b5061062a610625366004613f46565b611efc565b60405161023e919061440f565b34801561064357600080fd5b5061028a61065236600461424d565b611ff1565b34801561066357600080fd5b5061028a610672366004613f46565b612018565b34801561068357600080fd5b506102ba61069236600461424d565b61237c565b3480156106a357600080fd5b506102ba6106b2366004614429565b6127f6565b3480156106c357600080fd5b506102316128e9565b3480156106d857600080fd5b506105bd6106e7366004613f46565b612907565b3480156106f857600080fd5b506102ba6107073660046140b7565b6129b9565b34801561071857600080fd5b50610231610727366004613f46565b6129d5565b34801561073857600080fd5b506102ba6107473660046140b7565b6129fe565b34801561075857600080fd5b5061025c60008051602061480a83398151915281565b34801561077a57600080fd5b5061078e61078936600461424d565b612ae5565b60405161023e9190614459565b3480156107a757600080fd5b506102ba6107b6366004613f46565b612af8565b3480156107c757600080fd5b5061025c60008051602061478a83398151915281565b3480156107e957600080fd5b506102ba6107f836600461446d565b612dbd565b34801561080957600080fd5b5061025c6000805160206147ca83398151915281565b60008061082a613101565b600101546001600160a01b031692915050565b600080610848613101565b6004015492915050565b60006001600160e01b03198216637965db0b60e01b148061088357506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061089481613125565b600061089e613101565b60010180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60006108cf81613125565b60006108d9613101565b60020180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a613132565b60009384526020525050604090206001015490565b6109716040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160608152602001606081525090565b600061097b613101565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b03908116606083015260048301541660808201526005820180548451818702810187019095528085529697509095919460a087019491929184015b82821015610af45760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610a63906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8f906144d1565b8015610adc5780601f10610ab157610100808354040283529160200191610adc565b820191906000526020600020905b815481529060010190602001808311610abf57829003601f168201915b505050505081525050815260200190600101906109ef565b505050508152602001600682018054610b0c906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610b38906144d1565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050505081525050915050919050565b600080610ba1613101565b600201546001600160a01b031692915050565b610bbd826108ff565b610bc681613125565b610bd08383613156565b50505050565b6001600160a01b0381163314610bff5760405163334bd91960e11b815260040160405180910390fd5b610c0982826131f7565b505050565b60008051602061480a8339815191526000610c27613101565b9050610c3382336119ae565b80610c515750610c5160008051602061478a833981519152336119ae565b610c6e5760405163ea8e4eb560e01b815260040160405180910390fd5b610c7661326f565b5050565b60606000610c86613101565b600084815260208281526040808320600501805482518185028101850190935280835294955090939092909184015b82821015610dba5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610d29906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610d55906144d1565b8015610da25780601f10610d7757610100808354040283529160200191610da2565b820191906000526020600020905b815481529060010190602001808311610d8557829003601f168201915b50505050508152505081526020019060010190610cb5565b50505050915050919050565b610dce6132c6565b610dd78261336d565b610c768282613385565b6000610deb613439565b506000805160206147ea83398151915290565b6000610e0981613125565b6000610e13613101565b60030180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a613101565b600080610e4f613482565b5460ff1692915050565b60008051602061482a8339815191526000610e72613101565b9050610e7e82336119ae565b80610e9c5750610e9c60008051602061478a833981519152336119ae565b610eb95760405163ea8e4eb560e01b815260040160405180910390fd5b6000610ec3613101565b9050610ece856134a6565b610ed8858561355c565b8315610f61576000610ef486610eef600188614521565b61359e565b90506001816003811115610f0a57610f0a6143f9565b14158015610f2a57506002816003811115610f2757610f276143f9565b14155b15610f5f5785610f3b600187614521565b60405163414e3ac760e01b8152600401610f56929190614534565b60405180910390fd5b505b600085815260208290526040902060050180546001919086908110610f8857610f88614542565b60009182526020822060016003909202010180549215156101000261ff001990931692909217909155604051859187916000805160206147aa8339815191529190a35050505050565b600080610fdc613101565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156111595760008481526020908190206040805160a0810182526003860290920180548352600181015460ff8082161515958501959095526101008104851615159284019290925262010000909104909216151560608201526002820180549192916080840191906110c8906144d1565b80601f01602080910402602001604051908101604052809291908181526020018280546110f4906144d1565b80156111415780601f1061111657610100808354040283529160200191611141565b820191906000526020600020905b81548152906001019060200180831161112457829003601f168201915b50505050508152505081526020019060010190611054565b505050508152602001600682018054611171906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461119d906144d1565b80156111ea5780601f106111bf576101008083540402835291602001916111ea565b820191906000526020600020905b8154815290600101906020018083116111cd57829003601f168201915b505050505081525050905060005b8160a0015151811015611249578160a00151818151811061121b5761121b614542565b6020026020010151606001511561123757506001949350505050565b8061124181614558565b9150506111f8565b506000949350505050565b600061125e613101565b905061127860008051602061478a833981519152336119ae565b6112955760405163ea8e4eb560e01b815260040160405180910390fd5b61129d613826565b60006112a7613101565b6000878152602082905260408120919250805b855181101561152e5760008682815181106112d7576112d7614542565b602090810291909101810151908101519091506001600160e01b03198116638e184b3f60e01b14611327576040516310cb7cf160e21b81526001600160e01b031982166004820152602401610f56565b6000600483516113379190614521565b6001600160401b0381111561134e5761134e614149565b6040519080825280601f01601f191660200182016040528015611378576020820181803683370190505b50905060005b81518110156113e95783611393826004614571565b815181106113a3576113a3614542565b602001015160f81c60f81b8282815181106113c0576113c0614542565b60200101906001600160f81b031916908160001a905350806113e181614558565b91505061137e565b50600080828060200190518101906114019190614584565b90925090506001600160a01b0382163014611431578160405163d08525e960e01b8152600401610f569190613ed6565b806000036114525760405163162908e360e11b815260040160405180910390fd5b61145c8188614571565b60008f815260208b81526040808320815160a08101835286815280840185815281840186815260608301878152855180880190965287865260808401958652600590940180546001818101835591895296909720835160039097020195865590519585018054915193511515620100000262ff0000199415156101000261ff00199815159890981661ffff199093169290921796909617929092169190911790935551929950909160028201906115139082614600565b5050505050505050808061152690614558565b9150506112ba565b508782556003820180546001600160a01b0319166001600160a01b0389161790556006820161155d8a82614600565b50600182018190556000600283018190556004830180546001600160a01b0319166001600160a01b038981169182179092556040805160e08101825286548152602080820187905281830186905260038801549094166060820152608081019290925260058601805482518186028101860190935280835261178c959394889460a087019493929184015b828210156116ed5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061165c906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054611688906144d1565b80156116d55780601f106116aa576101008083540402835291602001916116d5565b820191906000526020600020905b8154815290600101906020018083116116b857829003601f168201915b505050505081525050815260200190600101906115e8565b505050508152602001600682018054611705906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054611731906144d1565b801561177e5780601f106117535761010080835404028352916020019161177e565b820191906000526020600020905b81548152906001019060200180831161176157829003601f168201915b50505050508152505061384c565b856001600160a01b0316876001600160a01b0316897f4881acb9050bcf1b58cd99d39b4d4497e03c9961e7466fdb95d6e422cd6f9553848d6040516117d29291906146bf565b60405180910390a4505050505050505050565b60008051602061480a83398151915260006117fe613101565b905061180a82336119ae565b80611828575061182860008051602061478a833981519152336119ae565b6118455760405163ea8e4eb560e01b815260040160405180910390fd5b610c766139ce565b6118856040518060a0016040528060008152602001600015158152602001600015158152602001600015158152602001606081525090565b600061188f613101565b6000858152602082905260409020600501805491925090849081106118b6576118b6614542565b60009182526020918290206040805160a081018252600390930290910180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190611923906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461194f906144d1565b801561199c5780601f106119715761010080835404028352916020019161199c565b820191906000526020600020905b81548152906001019060200180831161197f57829003601f168201915b50505050508152505091505092915050565b6000806119b9613132565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000806119ef613101565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b82821015611b6c5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190611adb906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054611b07906144d1565b8015611b545780601f10611b2957610100808354040283529160200191611b54565b820191906000526020600020905b815481529060010190602001808311611b3757829003601f168201915b50505050508152505081526020019060010190611a67565b505050508152602001600682018054611b84906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054611bb0906144d1565b8015611bfd5780601f10611bd257610100808354040283529160200191611bfd565b820191906000526020600020905b815481529060010190602001808311611be057829003601f168201915b505050919092525050506001830154604051631f27a4f360e11b8152600481018790529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7c91906146d8565b90506006816009811115611c9257611c926143f9565b14158015611cb257506008816009811115611caf57611caf6143f9565b14155b8015611cd057506009816009811115611ccd57611ccd6143f9565b14155b15611ce057506000949350505050565b60005b8260a0015151811015611d37576000611cfc878361359e565b90506000816003811115611d1257611d126143f9565b03611d24575060019695505050505050565b5080611d2f81614558565b915050611ce3565b50600095945050505050565b6000611d4e81613125565b6000611d58613101565b600401929092555050565b60008051602061482a8339815191526000611d7c613101565b9050611d8882336119ae565b80611da65750611da660008051602061478a833981519152336119ae565b611dc35760405163ea8e4eb560e01b815260040160405180910390fd5b6000611dcd613101565b9050611dd8866134a6565b611de2868661355c565b8415611e42576000611df987610eef600189614521565b90506001816003811115611e0f57611e0f6143f9565b14158015611e2f57506002816003811115611e2c57611e2c6143f9565b14155b15611e405786610f3b600188614521565b505b600086815260208290526040902060050180546001919087908110611e6957611e69614542565b906000526020600020906003020160010160016101000a81548160ff021916908315150217905550838160000160008881526020019081526020016000206005018681548110611ebb57611ebb614542565b90600052602060002090600302016002019081611ed89190614600565b50604051859087906000805160206147aa83398151915290600090a3505050505050565b600080611f07613101565b6001810154604051631f27a4f360e11b8152600481018690529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7c91906146d8565b9050611f8784610fd1565b15611f96575060029392505050565b611f9f846119e4565b15611fae575060089392505050565b611fb784612018565b15611fc6575060099392505050565b806009811115611fd857611fd86143f9565b6009811115611fe957611fe96143f9565b949350505050565b60006001611fff848461359e565b6003811115612010576120106143f9565b149392505050565b600080612023613101565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156121a05760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061210f906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461213b906144d1565b80156121885780601f1061215d57610100808354040283529160200191612188565b820191906000526020600020905b81548152906001019060200180831161216b57829003601f168201915b5050505050815250508152602001906001019061209b565b5050505081526020016006820180546121b8906144d1565b80601f01602080910402602001604051908101604052809291908181526020018280546121e4906144d1565b80156122315780601f1061220657610100808354040283529160200191612231565b820191906000526020600020905b81548152906001019060200180831161221457829003601f168201915b505050919092525050506001830154604051631f27a4f360e11b8152600481018790529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa15801561228c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b091906146d8565b905060068160098111156122c6576122c66143f9565b141580156122e6575060088160098111156122e3576122e36143f9565b14155b801561230457506009816009811115612301576123016143f9565b14155b1561231457506000949350505050565b600061232c8660018560a0015151610eef9190614521565b90506000816003811115612342576123426143f9565b148061235f5750600381600381111561235d5761235d6143f9565b145b156123705750600095945050505050565b50600195945050505050565b612384613a15565b61238c613826565b6000612396613101565b600084815260208290526040902060058101549192509083106123d0578383604051631e153ebf60e21b8152600401610f56929190614534565b60048101546001600160a01b031633811461240f576040516395efd21560e01b81523360048201526001600160a01b0382166024820152604401610f56565b600082600501858154811061242657612426614542565b60009182526020918290206040805160a081018252600390930290910180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190612493906144d1565b80601f01602080910402602001604051908101604052809291908181526020018280546124bf906144d1565b801561250c5780601f106124e15761010080835404028352916020019161250c565b820191906000526020600020905b8154815290600101906020018083116124ef57829003601f168201915b50505050508152505090506000612523878761359e565b90506001816003811115612539576125396143f9565b1415801561255957506002816003811115612556576125566143f9565b14155b1561257b578686604051636ff77edd60e01b8152600401610f56929190614534565b600281600381111561258f5761258f6143f9565b036125b157868660405163627f243d60e11b8152600401610f56929190614534565b815160038601546040516370a0823160e01b81526001600160a01b03909116906370a08231906125e5903090600401613ed6565b602060405180830381865afa158015612602573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262691906146f9565b10156126bb5760038501546040516370a0823160e01b81526001600160a01b03909116906370a082319061265e903090600401613ed6565b602060405180830381865afa15801561267b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269f91906146f9565b825160405162fae2d560e21b8152610f56929190600401614534565b6003850154825160405163a9059cbb60e01b81526000926001600160a01b03169163a9059cbb916126f0918891600401614712565b6020604051808303816000875af115801561270f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612733919061472b565b905080612753576040516312171d8360e31b815260040160405180910390fd5b600185600501888154811061276a5761276a614542565b906000526020600020906003020160010160006101000a81548160ff02191690831515021790555082600001518560020160008282546127aa9190614571565b90915550508251604051908152879089907f6ecdb8cbf47483e6e73593d9d08161bd1c750eb1a8b0cfbaabc80317d281adbe9060200160405180910390a3505050505050610c76613a4b565b6000612800613101565b60008481526020829052604090206003810154919250906001600160a01b0316331480159061283c575060048101546001600160a01b03163314155b801561285d575061285b60008051602061482a833981519152336119ae565b155b801561287e575061287c60008051602061478a833981519152336119ae565b155b1561289c5760405163ea8e4eb560e01b815260040160405180910390fd5b600681016128aa8482614600565b50837ff54adc4fa88871bb9bb39a4fc2f5dc8b81291d5f344fd26b636ad128e8cab3a4846040516128db9190614397565b60405180910390a250505050565b6000806128f4613101565b600301546001600160a01b031692915050565b60606000612913613101565b6000848152602082905260409020600601805491925090612933906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461295f906144d1565b80156129ac5780601f10612981576101008083540402835291602001916129ac565b820191906000526020600020905b81548152906001019060200180831161298f57829003601f168201915b5050505050915050919050565b6129c2826108ff565b6129cb81613125565b610bd083836131f7565b6000806129e0613101565b6000938452602052505060409020600401546001600160a01b031690565b816000612a09613101565b9050612a2360008051602061478a833981519152336119ae565b80612a5057506000828152602082905260409020600401546001600160a01b0316336001600160a01b0316145b612a6d5760405163ea8e4eb560e01b815260040160405180910390fd5b6000612a77613101565b6000868152602082905260409081902060040180546001600160a01b0319166001600160a01b0388161790555190915085907f1796595f8b84e72820b0e06df582ff944db24f5e710795c7c8ac5112e6de039e90612ad6908790613ed6565b60405180910390a25050505050565b6000612af1838361359e565b9392505050565b60008051602061476a8339815191526000612b11613101565b9050612b1d82336119ae565b80612b3b5750612b3b60008051602061478a833981519152336119ae565b612b585760405163ea8e4eb560e01b815260040160405180910390fd5b6000612b62613101565b60008581526020828152604080832060050180548251818502810185019093528083529495509293909291849084015b82821015612c975760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190612c06906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054612c32906144d1565b8015612c7f5780601f10612c5457610100808354040283529160200191612c7f565b820191906000526020600020905b815481529060010190602001808311612c6257829003601f168201915b50505050508152505081526020019060010190612b92565b505050509050612ca685612018565b15612cc75760405163b2e459af60e01b815260048101869052602401610f56565b612cd085610fd1565b15612cf157604051633dba08ff60e01b815260048101869052602401610f56565b60005b8151811015612d81576000612d09878361359e565b6003811115612d1a57612d1a6143f9565b03612d6f57600086815260208490526040902060050180546001919083908110612d4657612d46614542565b906000526020600020906003020160010160026101000a81548160ff0219169083151502179055505b80612d7981614558565b915050612cf4565b50612d8b85613a5c565b60405185907ff9125771cfea9a399996ab1f5e54c097b3bf95285fd184c2b05fdcef4dee834b90600090a25050505050565b6000612dc7613bef565b805490915060ff600160401b82041615906001600160401b0316600081158015612dee5750825b90506000826001600160401b03166001148015612e0a5750303b155b905081158015612e18575080155b15612e365760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315612e5f57845460ff60401b1916600160401b1785555b6001600160a01b038a16612eb45760405162461bcd60e51b815260206004820152601c60248201527b0476f7665726e6f7220616464726573732063616e6e6f7420626520360241b6044820152606401610f56565b6001600160a01b038916612f095760405162461bcd60e51b815260206004820152601c60248201527b0547265617375727920616464726573732063616e6e6f7420626520360241b6044820152606401610f56565b6001600160a01b038716612f5a5760405162461bcd60e51b815260206004820152601860248201527704233545220616464726573732063616e6e6f7420626520360441b6044820152606401610f56565b6001600160a01b038816612fba5760405162461bcd60e51b815260206004820152602160248201527f44656661756c742061646d696e20616464726573732063616e6e6f74206265206044820152600360fc1b6064820152608401610f56565b600086116130165760405162461bcd60e51b815260206004820152602360248201527f4d696e696d756d206d696c6573746f6e6520636f756e742063616e6e6f74206260448201526206520360ec1b6064820152608401610f56565b61301e613c13565b613026613c13565b61302e613c1b565b613036613c2b565b613041600089613156565b5061305a60008051602061478a8339815191528b613156565b506000613065613101565b6001810180546001600160a01b03808f166001600160a01b0319928316179092556002830180548e8416908316179055600383018054928c16929091169190911790556004018790555083156130f557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b7f827ef7a586340a0afd9df4d10dcd47e35ee20572dbc95830311fcb8284606d0090565b61312f8133613c3b565b50565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600080613161613132565b905061316d84846119ae565b6131ed576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556131a33390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610883565b6000915050610883565b600080613202613132565b905061320e84846119ae565b156131ed576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610883565b613277613c66565b6000613281613482565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516132bb9190613ed6565b60405180910390a150565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061334d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166133416000805160206147ea833981519152546001600160a01b031690565b6001600160a01b031614155b1561336b5760405163703e46dd60e11b815260040160405180910390fd5b565b6000805160206147ca833981519152610c7681613125565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156133df575060408051601f3d908101601f191682019092526133dc918101906146f9565b60015b6133fe5781604051634c9c8ce360e01b8152600401610f569190613ed6565b6000805160206147ea833981519152811461342f57604051632a87526960e21b815260048101829052602401610f56565b610c098383613c8b565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461336b5760405163703e46dd60e11b815260040160405180910390fd5b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b60006134b0613101565b6001810154604051631f27a4f360e11b8152600481018590529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015613501573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061352591906146d8565b9050600681600981111561353b5761353b6143f9565b14610c09576040516326ac2ff960e11b815260048101849052602401610f56565b6000613568838361359e565b9050600081600381111561357e5761357e6143f9565b14610c095780604051632367a31d60e01b8152600401610f569190614459565b6000806135a9613101565b600085815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156137265760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190613695906144d1565b80601f01602080910402602001604051908101604052809291908181526020018280546136c1906144d1565b801561370e5780601f106136e35761010080835404028352916020019161370e565b820191906000526020600020905b8154815290600101906020018083116136f157829003601f168201915b50505050508152505081526020019060010190613621565b50505050815260200160068201805461373e906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461376a906144d1565b80156137b75780601f1061378c576101008083540402835291602001916137b7565b820191906000526020600020905b81548152906001019060200180831161379a57829003601f168201915b505050505081525050905060008160a0015185815181106137da576137da614542565b602002602001015190508060600151156137fa5760039350505050610883565b8060200151156138105760029350505050610883565b806040015115611d375760019350505050610883565b61382e610e44565b1561336b5760405163d93c066560e01b815260040160405180910390fd5b6000613856613101565b60018101549091506001600160a01b031633146138865760405163ea8e4eb560e01b815260040160405180910390fd5b60608201516001600160a01b03166138b157604051636592311760e01b815260040160405180910390fd5b8160c00151516000036138d75760405163436f9d5760e01b815260040160405180910390fd5b60005b8260a001515181101561393e578260a0015181815181106138fd576138fd614542565b60200260200101516000015160000361392c57604051632afb5d5160e21b815260048101829052602401610f56565b8061393681614558565b9150506138da565b50816020015160000361396457604051632b2f408960e11b815260040160405180910390fd5b8160200151826040015111156139995781604001518260200151604051633b9f12cf60e01b8152600401610f56929190614534565b80600401548260a00151511015610c765760a08201515160048083015460405163fd1c0ddb60e01b8152610f56939201614534565b6139d6613826565b60006139e0613482565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586132ae3390565b6000613a1f613ce1565b805490915060011901613a4557604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6000613a55613ce1565b6001905550565b6000613a66613101565b600083815260208290526040812060028101546001909101549293509091613a8e9190614521565b90508015613bb05760038201546040516370a0823160e01b81526000916001600160a01b0316906370a0823190613ac9903090600401613ed6565b602060405180830381865afa158015613ae6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0a91906146f9565b905081811015613b3057808260405162fae2d560e21b8152600401610f56929190614534565b6003830154600284015460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92613b6a929116908690600401614712565b6020604051808303816000875af1158015613b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bad919061472b565b50505b827f122fca773bdc90ed7da7c637fa41c96069c5b596f4ebfacfe0787da4ecce869382604051613be291815260200190565b60405180910390a2505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b61336b613d05565b613c23613d05565b61336b613d2a565b613c33613d05565b61336b613d47565b613c4582826119ae565b610c7657808260405163e2517d3f60e01b8152600401610f56929190614712565b613c6e610e44565b61336b57604051638dfc202b60e01b815260040160405180910390fd5b613c9482613d4f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613cd957610c098282613dab565b610c76613e21565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b613d0d613e40565b61336b57604051631afcd79f60e31b815260040160405180910390fd5b613d32613d05565b6000613d3c613482565b805460ff1916905550565b613a4b613d05565b806001600160a01b03163b600003613d7c5780604051634c9c8ce360e01b8152600401610f569190613ed6565b6000805160206147ea83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613dc8919061474d565b600060405180830381855af49150503d8060008114613e03576040519150601f19603f3d011682016040523d82523d6000602084013e613e08565b606091505b5091509150613e18858383613e5a565b95945050505050565b341561336b5760405163b398979f60e01b815260040160405180910390fd5b6000613e4a613bef565b54600160401b900460ff16919050565b606082613e6f57613e6a82613ead565b612af1565b8151158015613e8657506001600160a01b0384163b155b15613ea65783604051639996b31560e01b8152600401610f569190613ed6565b5092915050565b805115613ebd5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0391909116815260200190565b600060208284031215613efc57600080fd5b81356001600160e01b031981168114612af157600080fd5b6001600160a01b038116811461312f57600080fd5b600060208284031215613f3b57600080fd5b8135612af181613f14565b600060208284031215613f5857600080fd5b5035919050565b60005b83811015613f7a578181015183820152602001613f62565b50506000910152565b60008151808452613f9b816020860160208601613f5f565b601f01601f19169290920160200192915050565b805182526020810151151560208301526040810151151560408301526060810151151560608301526000608082015160a06080850152611fe960a0850182613f83565b60006020808352610100830184518285015281850151604085015260408501516060850152606085015160018060a01b0380821660808701528060808801511660a0870152505060a085015160e060c086015281815180845261012093508387019150838160051b8801019350848301925060005b818110156140965761011f19888603018352614084858551613faf565b94509285019291850191600101614067565b5050505060c0850151848203601f190160e08601529150613e188183613f83565b600080604083850312156140ca57600080fd5b8235915060208301356140dc81613f14565b809150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561413c57603f1988860301845261412a858351613faf565b9450928501929085019060010161410e565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561418757614187614149565b604052919050565b600082601f8301126141a057600080fd5b81356001600160401b038111156141b9576141b9614149565b6141cc601f8201601f191660200161415f565b8181528460208386010111156141e157600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561421157600080fd5b823561421c81613f14565b915060208301356001600160401b0381111561423757600080fd5b6142438582860161418f565b9150509250929050565b6000806040838503121561426057600080fd5b50508035926020909101359150565b600080600080600060a0868803121561428757600080fd5b85356001600160401b038082111561429e57600080fd5b6142aa89838a0161418f565b96506020915081880135955060408801356142c481613f14565b945060608801356142d481613f14565b93506080880135818111156142e857600080fd5b8801601f81018a136142f957600080fd5b80358281111561430b5761430b614149565b8060051b61431a85820161415f565b918252828101850191858101908d84111561433457600080fd5b86850192505b83831015614370578235868111156143525760008081fd5b6143608f898389010161418f565b835250918601919086019061433a565b809750505050505050509295509295909350565b602081526000612af16020830184613faf565b602081526000612af16020830184613f83565b6000806000606084860312156143bf57600080fd5b833592506020840135915060408401356001600160401b038111156143e357600080fd5b6143ef8682870161418f565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60208101600a8310614423576144236143f9565b91905290565b6000806040838503121561443c57600080fd5b8235915060208301356001600160401b0381111561423757600080fd5b6020810160048310614423576144236143f9565b600080600080600060a0868803121561448557600080fd5b853561449081613f14565b945060208601356144a081613f14565b935060408601356144b081613f14565b925060608601356144c081613f14565b949793965091946080013592915050565b600181811c908216806144e557607f821691505b60208210810361450557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108835761088361450b565b918252602082015260400190565b634e487b7160e01b600052603260045260246000fd5b60006001820161456a5761456a61450b565b5060010190565b808201808211156108835761088361450b565b6000806040838503121561459757600080fd5b82516145a281613f14565b6020939093015192949293505050565b601f821115610c0957600081815260208120601f850160051c810160208610156145d95750805b601f850160051c820191505b818110156145f8578281556001016145e5565b505050505050565b81516001600160401b0381111561461957614619614149565b61462d8161462784546144d1565b846145b2565b602080601f831160018114614662576000841561464a5750858301515b600019600386901b1c1916600185901b1785556145f8565b600085815260208120601f198616915b8281101561469157888601518255948401946001909101908401614672565b50858210156146af5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b828152604060208201526000611fe96040830184613f83565b6000602082840312156146ea57600080fd5b8151600a8110612af157600080fd5b60006020828403121561470b57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561473d57600080fd5b81518015158114612af157600080fd5b6000825161475f818460208701613f5f565b919091019291505056fec30f7ed76aad52e1db9d4574c81f8eeb708f6974b7f45424a3f1b7394c2885e171840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1345699b3779e7f0f3201b7d9d8c3e2bc3ce9f29696be4e3eebc592beb21727c3189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a47aa345c1c0453f4ea63d2f908a9cb372d89b5a419b982b903f655cfc8fb9956a264697066735822122019773720083323a28268186cfa27763dd1cf95f502734a6e1978fa89ce8ba1f164736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x487F PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x32D1 ADD MSTORE DUP2 DUP2 PUSH2 0x32FA ADD MSTORE PUSH2 0x3444 ADD MSTORE PUSH2 0x487F PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x217 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x19CCE6 EQ PUSH2 0x21C JUMPI DUP1 PUSH4 0x1294764 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x26A JUMPI DUP1 PUSH4 0x6C49822 EQ PUSH2 0x29A JUMPI DUP1 PUSH4 0x1ED65110 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x21AFD1F6 EQ PUSH2 0x2DC JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0x24AD94CD EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0x26C74FC3 EQ PUSH2 0x34B JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x360 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x380 JUMPI DUP1 PUSH4 0x3F36CD7F EQ PUSH2 0x3A0 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x3C2 JUMPI DUP1 PUSH4 0x42C549C0 EQ PUSH2 0x3D7 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x404 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x417 JUMPI DUP1 PUSH4 0x54B90B7B EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x44C JUMPI DUP1 PUSH4 0x5ADE3874 EQ PUSH2 0x460 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x480 JUMPI DUP1 PUSH4 0x767B1602 EQ PUSH2 0x495 JUMPI DUP1 PUSH4 0x7DA17BF3 EQ PUSH2 0x4B5 JUMPI DUP1 PUSH4 0x808860A5 EQ PUSH2 0x4D5 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x4F5 JUMPI DUP1 PUSH4 0x8ED9895C EQ PUSH2 0x50A JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x537 JUMPI DUP1 PUSH4 0x9B154087 EQ PUSH2 0x557 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x577 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x58C JUMPI DUP1 PUSH4 0xB2A2EEF9 EQ PUSH2 0x5CA JUMPI DUP1 PUSH4 0xB3396778 EQ PUSH2 0x5EA JUMPI DUP1 PUSH4 0xBFDA4E7C EQ PUSH2 0x60A JUMPI DUP1 PUSH4 0xC1A45A6A EQ PUSH2 0x637 JUMPI DUP1 PUSH4 0xC2249389 EQ PUSH2 0x657 JUMPI DUP1 PUSH4 0xC266AEF7 EQ PUSH2 0x677 JUMPI DUP1 PUSH4 0xC42433B4 EQ PUSH2 0x697 JUMPI DUP1 PUSH4 0xC4EC8F98 EQ PUSH2 0x6B7 JUMPI DUP1 PUSH4 0xCFF28C70 EQ PUSH2 0x6CC JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x6EC JUMPI DUP1 PUSH4 0xDA104FAC EQ PUSH2 0x70C JUMPI DUP1 PUSH4 0xE03D759B EQ PUSH2 0x72C JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x74C JUMPI DUP1 PUSH4 0xE9AF5D1B EQ PUSH2 0x76E JUMPI DUP1 PUSH4 0xF23E227B EQ PUSH2 0x79B JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0x7BB JUMPI DUP1 PUSH4 0xF7013EF6 EQ PUSH2 0x7DD JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0x7FD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x228 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x81F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x83D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x285 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EEA JUMP JUMPDEST PUSH2 0x852 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x2B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F29 JUMP JUMPDEST PUSH2 0x889 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x2D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F29 JUMP JUMPDEST PUSH2 0x8C4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x476A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x8FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33E PUSH2 0x339 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x91F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x3FF2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0xB96 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x37B CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0xBB4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x39B CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0xBD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x482A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0xC0E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F7 PUSH2 0x3F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0xC7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x40E7 JUMP JUMPDEST PUSH2 0x2BA PUSH2 0x412 CALLDATASIZE PUSH1 0x4 PUSH2 0x41FE JUMP JUMPDEST PUSH2 0xDC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0xDE1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x447 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F29 JUMP JUMPDEST PUSH2 0xDFE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 PUSH2 0x25C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x46C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x47B CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0xE39 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0xE44 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x4B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0xE59 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x4D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0xFD1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x4F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x426F JUMP JUMPDEST PUSH2 0x1254 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x501 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x17E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x52A PUSH2 0x525 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4384 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x543 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x552 CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0x19AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x563 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x572 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x19E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x598 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4397 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x5E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x1D43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x605 CALLDATASIZE PUSH1 0x4 PUSH2 0x43AA JUMP JUMPDEST PUSH2 0x1D63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x616 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x62A PUSH2 0x625 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x1EFC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x440F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x652 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0x1FF1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x663 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x672 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x2018 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x692 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0x237C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x6B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4429 JUMP JUMPDEST PUSH2 0x27F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x28E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BD PUSH2 0x6E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x2907 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x707 CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0x29B9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x718 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x727 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x29D5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x747 CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0x29FE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x758 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x480A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x78E PUSH2 0x789 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0x2AE5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4459 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x7B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x2AF8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x7F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x446D JUMP JUMPDEST PUSH2 0x2DBD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x809 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x82A PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x848 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x883 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x894 DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x89E PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8CF DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D9 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A PUSH2 0x3132 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x971 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x97B PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP1 SWAP6 SWAP2 SWAP5 PUSH1 0xA0 DUP8 ADD SWAP5 SWAP2 SWAP3 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xAF4 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0xA63 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA8F SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xADC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xAB1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xADC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xABF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x9EF JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0xB0C SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xB38 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xB85 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xB5A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xB85 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB68 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA1 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBBD DUP3 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0xBC6 DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH2 0xBD0 DUP4 DUP4 PUSH2 0x3156 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0xBFF JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC09 DUP3 DUP3 PUSH2 0x31F7 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x480A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0xC27 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0xC33 DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0xC51 JUMPI POP PUSH2 0xC51 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xC6E JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC76 PUSH2 0x326F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xC86 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP1 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xDBA JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0xD29 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD55 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDA2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD77 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDA2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD85 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xCB5 JUMP JUMPDEST POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCE PUSH2 0x32C6 JUMP JUMPDEST PUSH2 0xDD7 DUP3 PUSH2 0x336D JUMP JUMPDEST PUSH2 0xC76 DUP3 DUP3 PUSH2 0x3385 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDEB PUSH2 0x3439 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47EA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE09 DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE13 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE4F PUSH2 0x3482 JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x482A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0xE72 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0xE7E DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0xE9C JUMPI POP PUSH2 0xE9C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xEB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEC3 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0xECE DUP6 PUSH2 0x34A6 JUMP JUMPDEST PUSH2 0xED8 DUP6 DUP6 PUSH2 0x355C JUMP JUMPDEST DUP4 ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 PUSH2 0xEF4 DUP7 PUSH2 0xEEF PUSH1 0x1 DUP9 PUSH2 0x4521 JUMP JUMPDEST PUSH2 0x359E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xF0A JUMPI PUSH2 0xF0A PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0xF2A JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0xF5F JUMPI DUP6 PUSH2 0xF3B PUSH1 0x1 DUP8 PUSH2 0x4521 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x414E3AC7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP7 SWAP1 DUP2 LT PUSH2 0xF88 JUMPI PUSH2 0xF88 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x3 SWAP1 SWAP3 MUL ADD ADD DUP1 SLOAD SWAP3 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD DUP6 SWAP2 DUP8 SWAP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFDC PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1159 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x10C8 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10F4 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1141 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1116 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1141 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1124 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1054 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1171 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x119D SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11EA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x11BF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11EA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11CD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x1249 JUMPI DUP2 PUSH1 0xA0 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x121B JUMPI PUSH2 0x121B PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x60 ADD MLOAD ISZERO PUSH2 0x1237 JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x1241 DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11F8 JUMP JUMPDEST POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x125E PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x1278 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1295 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x129D PUSH2 0x3826 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12A7 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP DUP1 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x152E JUMPI PUSH1 0x0 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x12D7 JUMPI PUSH2 0x12D7 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD SWAP1 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0x8E184B3F PUSH1 0xE0 SHL EQ PUSH2 0x1327 JUMPI PUSH1 0x40 MLOAD PUSH4 0x10CB7CF1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP4 MLOAD PUSH2 0x1337 SWAP2 SWAP1 PUSH2 0x4521 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x134E JUMPI PUSH2 0x134E PUSH2 0x4149 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1378 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x13E9 JUMPI DUP4 PUSH2 0x1393 DUP3 PUSH1 0x4 PUSH2 0x4571 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x13A3 JUMPI PUSH2 0x13A3 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x13C0 JUMPI PUSH2 0x13C0 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 PUSH2 0x13E1 DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x137E JUMP JUMPDEST POP PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1401 SWAP2 SWAP1 PUSH2 0x4584 JUMP JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ADDRESS EQ PUSH2 0x1431 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0xD08525E9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x1452 JUMPI PUSH1 0x40 MLOAD PUSH4 0x162908E3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x145C DUP2 DUP9 PUSH2 0x4571 JUMP JUMPDEST PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 DUP12 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xA0 DUP2 ADD DUP4 MSTORE DUP7 DUP2 MSTORE DUP1 DUP5 ADD DUP6 DUP2 MSTORE DUP2 DUP5 ADD DUP7 DUP2 MSTORE PUSH1 0x60 DUP4 ADD DUP8 DUP2 MSTORE DUP6 MLOAD DUP1 DUP9 ADD SWAP1 SWAP7 MSTORE DUP8 DUP7 MSTORE PUSH1 0x80 DUP5 ADD SWAP6 DUP7 MSTORE PUSH1 0x5 SWAP1 SWAP5 ADD DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP10 MSTORE SWAP7 SWAP1 SWAP8 KECCAK256 DUP4 MLOAD PUSH1 0x3 SWAP1 SWAP8 MUL ADD SWAP6 DUP7 SSTORE SWAP1 MLOAD SWAP6 DUP6 ADD DUP1 SLOAD SWAP2 MLOAD SWAP4 MLOAD ISZERO ISZERO PUSH3 0x10000 MUL PUSH3 0xFF0000 NOT SWAP5 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP9 ISZERO ISZERO SWAP9 SWAP1 SWAP9 AND PUSH2 0xFFFF NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP7 SWAP1 SWAP7 OR SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP4 SSTORE MLOAD SWAP3 SWAP10 POP SWAP1 SWAP2 PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x1513 SWAP1 DUP3 PUSH2 0x4600 JUMP JUMPDEST POP POP POP POP POP POP POP POP DUP1 DUP1 PUSH2 0x1526 SWAP1 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x12BA JUMP JUMPDEST POP DUP8 DUP3 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x6 DUP3 ADD PUSH2 0x155D DUP11 DUP3 PUSH2 0x4600 JUMP JUMPDEST POP PUSH1 0x1 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x0 PUSH1 0x2 DUP4 ADD DUP2 SWAP1 SSTORE PUSH1 0x4 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0xE0 DUP2 ADD DUP3 MSTORE DUP7 SLOAD DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP8 SWAP1 MSTORE DUP2 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x3 DUP9 ADD SLOAD SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x5 DUP7 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP7 MUL DUP2 ADD DUP7 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE PUSH2 0x178C SWAP6 SWAP4 SWAP5 DUP9 SWAP5 PUSH1 0xA0 DUP8 ADD SWAP5 SWAP4 SWAP3 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x16ED JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x165C SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1688 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16D5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16AA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x16D5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x16B8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x15E8 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1705 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1731 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x177E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1753 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x177E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1761 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP PUSH2 0x384C JUMP JUMPDEST DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0x4881ACB9050BCF1B58CD99D39B4D4497E03C9961E7466FDB95D6E422CD6F9553 DUP5 DUP14 PUSH1 0x40 MLOAD PUSH2 0x17D2 SWAP3 SWAP2 SWAP1 PUSH2 0x46BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x480A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x17FE PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x180A DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x1828 JUMPI POP PUSH2 0x1828 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1845 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC76 PUSH2 0x39CE JUMP JUMPDEST PUSH2 0x1885 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x188F PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x18B6 JUMPI PUSH2 0x18B6 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 SWAP1 SWAP4 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x1923 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x194F SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x199C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1971 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x199C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x197F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19B9 PUSH2 0x3132 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19EF PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1B6C JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x1ADB SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B07 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B54 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B29 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B54 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B37 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1A67 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1B84 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1BB0 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1BFD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1BD2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1BFD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BE0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 SWAP1 SWAP3 MSTORE POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C7C SWAP2 SWAP1 PUSH2 0x46D8 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1C92 JUMPI PUSH2 0x1C92 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x1CB2 JUMPI POP PUSH1 0x8 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1CAF JUMPI PUSH2 0x1CAF PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x1CD0 JUMPI POP PUSH1 0x9 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1CCD JUMPI PUSH2 0x1CCD PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x1CE0 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x1D37 JUMPI PUSH1 0x0 PUSH2 0x1CFC DUP8 DUP4 PUSH2 0x359E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1D12 JUMPI PUSH2 0x1D12 PUSH2 0x43F9 JUMP JUMPDEST SUB PUSH2 0x1D24 JUMPI POP PUSH1 0x1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST POP DUP1 PUSH2 0x1D2F DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1CE3 JUMP JUMPDEST POP PUSH1 0x0 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4E DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D58 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x4 ADD SWAP3 SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x482A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x1D7C PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x1D88 DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x1DA6 JUMPI POP PUSH2 0x1DA6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1DC3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1DCD PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x1DD8 DUP7 PUSH2 0x34A6 JUMP JUMPDEST PUSH2 0x1DE2 DUP7 DUP7 PUSH2 0x355C JUMP JUMPDEST DUP5 ISZERO PUSH2 0x1E42 JUMPI PUSH1 0x0 PUSH2 0x1DF9 DUP8 PUSH2 0xEEF PUSH1 0x1 DUP10 PUSH2 0x4521 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E0F JUMPI PUSH2 0x1E0F PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x1E2F JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E2C JUMPI PUSH2 0x1E2C PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x1E40 JUMPI DUP7 PUSH2 0xF3B PUSH1 0x1 DUP9 PUSH2 0x4521 JUMP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP8 SWAP1 DUP2 LT PUSH2 0x1E69 JUMPI PUSH2 0x1E69 PUSH2 0x4542 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x5 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1EBB JUMPI PUSH2 0x1EBB PUSH2 0x4542 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SWAP1 DUP2 PUSH2 0x1ED8 SWAP2 SWAP1 PUSH2 0x4600 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1F07 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F7C SWAP2 SWAP1 PUSH2 0x46D8 JUMP JUMPDEST SWAP1 POP PUSH2 0x1F87 DUP5 PUSH2 0xFD1 JUMP JUMPDEST ISZERO PUSH2 0x1F96 JUMPI POP PUSH1 0x2 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1F9F DUP5 PUSH2 0x19E4 JUMP JUMPDEST ISZERO PUSH2 0x1FAE JUMPI POP PUSH1 0x8 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1FB7 DUP5 PUSH2 0x2018 JUMP JUMPDEST ISZERO PUSH2 0x1FC6 JUMPI POP PUSH1 0x9 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1FD8 JUMPI PUSH2 0x1FD8 PUSH2 0x43F9 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1FE9 JUMPI PUSH2 0x1FE9 PUSH2 0x43F9 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1FFF DUP5 DUP5 PUSH2 0x359E JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2010 JUMPI PUSH2 0x2010 PUSH2 0x43F9 JUMP JUMPDEST EQ SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2023 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x21A0 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x210F SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x213B SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2188 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x215D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2188 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x216B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x209B JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x21B8 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x21E4 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2231 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2206 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2231 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2214 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 SWAP1 SWAP3 MSTORE POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x228C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22B0 SWAP2 SWAP1 PUSH2 0x46D8 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x22C6 JUMPI PUSH2 0x22C6 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x22E6 JUMPI POP PUSH1 0x8 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x22E3 JUMPI PUSH2 0x22E3 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x2304 JUMPI POP PUSH1 0x9 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x2301 JUMPI PUSH2 0x2301 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x2314 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x232C DUP7 PUSH1 0x1 DUP6 PUSH1 0xA0 ADD MLOAD MLOAD PUSH2 0xEEF SWAP2 SWAP1 PUSH2 0x4521 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2342 JUMPI PUSH2 0x2342 PUSH2 0x43F9 JUMP JUMPDEST EQ DUP1 PUSH2 0x235F JUMPI POP PUSH1 0x3 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x235D JUMPI PUSH2 0x235D PUSH2 0x43F9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2370 JUMPI POP PUSH1 0x0 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2384 PUSH2 0x3A15 JUMP JUMPDEST PUSH2 0x238C PUSH2 0x3826 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2396 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 DUP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 DUP4 LT PUSH2 0x23D0 JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x1E153EBF PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP2 EQ PUSH2 0x240F JUMPI PUSH1 0x40 MLOAD PUSH4 0x95EFD215 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x5 ADD DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x2426 JUMPI PUSH2 0x2426 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 SWAP1 SWAP4 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2493 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x24BF SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x250C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x24E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x250C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x24EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x2523 DUP8 DUP8 PUSH2 0x359E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2539 JUMPI PUSH2 0x2539 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x2559 JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2556 JUMPI PUSH2 0x2556 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x257B JUMPI DUP7 DUP7 PUSH1 0x40 MLOAD PUSH4 0x6FF77EDD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x258F JUMPI PUSH2 0x258F PUSH2 0x43F9 JUMP JUMPDEST SUB PUSH2 0x25B1 JUMPI DUP7 DUP7 PUSH1 0x40 MLOAD PUSH4 0x627F243D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x3 DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x25E5 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2602 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2626 SWAP2 SWAP1 PUSH2 0x46F9 JUMP JUMPDEST LT ISZERO PUSH2 0x26BB JUMPI PUSH1 0x3 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x265E SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x267B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x269F SWAP2 SWAP1 PUSH2 0x46F9 JUMP JUMPDEST DUP3 MLOAD PUSH1 0x40 MLOAD PUSH3 0xFAE2D5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x3 DUP6 ADD SLOAD DUP3 MLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0xA9059CBB SWAP2 PUSH2 0x26F0 SWAP2 DUP9 SWAP2 PUSH1 0x4 ADD PUSH2 0x4712 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x270F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2733 SWAP2 SWAP1 PUSH2 0x472B JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2753 JUMPI PUSH1 0x40 MLOAD PUSH4 0x12171D83 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0x5 ADD DUP9 DUP2 SLOAD DUP2 LT PUSH2 0x276A JUMPI PUSH2 0x276A PUSH2 0x4542 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x27AA SWAP2 SWAP1 PUSH2 0x4571 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP DUP3 MLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE DUP8 SWAP1 DUP10 SWAP1 PUSH32 0x6ECDB8CBF47483E6E73593D9D08161BD1C750EB1A8B0CFBAABC80317D281ADBE SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP PUSH2 0xC76 PUSH2 0x3A4B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2800 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO SWAP1 PUSH2 0x283C JUMPI POP PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x285D JUMPI POP PUSH2 0x285B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x482A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x287E JUMPI POP PUSH2 0x287C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x289C JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 DUP2 ADD PUSH2 0x28AA DUP5 DUP3 PUSH2 0x4600 JUMP JUMPDEST POP DUP4 PUSH32 0xF54ADC4FA88871BB9BB39A4FC2F5DC8B81291D5F344FD26B636AD128E8CAB3A4 DUP5 PUSH1 0x40 MLOAD PUSH2 0x28DB SWAP2 SWAP1 PUSH2 0x4397 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28F4 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2913 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x6 ADD DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x2933 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x295F SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x29AC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2981 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x29AC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x298F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x29C2 DUP3 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0x29CB DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH2 0xBD0 DUP4 DUP4 PUSH2 0x31F7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29E0 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 PUSH2 0x2A09 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A23 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x2A50 JUMPI POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x2A6D JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A77 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP6 SWAP1 PUSH32 0x1796595F8B84E72820B0E06DF582FF944DB24F5E710795C7C8AC5112E6DE039E SWAP1 PUSH2 0x2AD6 SWAP1 DUP8 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AF1 DUP4 DUP4 PUSH2 0x359E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x476A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x2B11 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B1D DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x2B3B JUMPI POP PUSH2 0x2B3B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x2B58 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2B62 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP5 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x2C97 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2C06 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2C32 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2C7F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C54 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2C7F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2C62 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2B92 JUMP JUMPDEST POP POP POP POP SWAP1 POP PUSH2 0x2CA6 DUP6 PUSH2 0x2018 JUMP JUMPDEST ISZERO PUSH2 0x2CC7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB2E459AF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0x2CD0 DUP6 PUSH2 0xFD1 JUMP JUMPDEST ISZERO PUSH2 0x2CF1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3DBA08FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x2D81 JUMPI PUSH1 0x0 PUSH2 0x2D09 DUP8 DUP4 PUSH2 0x359E JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2D1A JUMPI PUSH2 0x2D1A PUSH2 0x43F9 JUMP JUMPDEST SUB PUSH2 0x2D6F JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP5 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x2D46 JUMPI PUSH2 0x2D46 PUSH2 0x4542 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST DUP1 PUSH2 0x2D79 DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CF4 JUMP JUMPDEST POP PUSH2 0x2D8B DUP6 PUSH2 0x3A5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP6 SWAP1 PUSH32 0xF9125771CFEA9A399996AB1F5E54C097B3BF95285FD184C2B05FDCEF4DEE834B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DC7 PUSH2 0x3BEF JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x2DEE JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x2E0A JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x2E18 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x2E36 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x2E5F JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH2 0x2EB4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x476F7665726E6F7220616464726573732063616E6E6F74206265203 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH2 0x2F09 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x547265617375727920616464726573732063616E6E6F74206265203 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH2 0x2F5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x4233545220616464726573732063616E6E6F74206265203 PUSH1 0x44 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0x2FBA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x44656661756C742061646D696E20616464726573732063616E6E6F7420626520 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 DUP7 GT PUSH2 0x3016 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E696D756D206D696C6573746F6E6520636F756E742063616E6E6F742062 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x65203 PUSH1 0xEC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0x301E PUSH2 0x3C13 JUMP JUMPDEST PUSH2 0x3026 PUSH2 0x3C13 JUMP JUMPDEST PUSH2 0x302E PUSH2 0x3C1B JUMP JUMPDEST PUSH2 0x3036 PUSH2 0x3C2B JUMP JUMPDEST PUSH2 0x3041 PUSH1 0x0 DUP10 PUSH2 0x3156 JUMP JUMPDEST POP PUSH2 0x305A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP12 PUSH2 0x3156 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x3065 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP16 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD DUP15 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x3 DUP4 ADD DUP1 SLOAD SWAP3 DUP13 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 ADD DUP8 SWAP1 SSTORE POP DUP4 ISZERO PUSH2 0x30F5 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x827EF7A586340A0AFD9DF4D10DCD47E35EE20572DBC95830311FCB8284606D00 SWAP1 JUMP JUMPDEST PUSH2 0x312F DUP2 CALLER PUSH2 0x3C3B JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3161 PUSH2 0x3132 JUMP JUMPDEST SWAP1 POP PUSH2 0x316D DUP5 DUP5 PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x31ED JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x31A3 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3202 PUSH2 0x3132 JUMP JUMPDEST SWAP1 POP PUSH2 0x320E DUP5 DUP5 PUSH2 0x19AE JUMP JUMPDEST ISZERO PUSH2 0x31ED JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH2 0x3277 PUSH2 0x3C66 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3281 PUSH2 0x3482 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x32BB SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x334D JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3341 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47EA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xC76 DUP2 PUSH2 0x3125 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x33DF JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x33DC SWAP2 DUP2 ADD SWAP1 PUSH2 0x46F9 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x33FE JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47EA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x342F JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0xC09 DUP4 DUP4 PUSH2 0x3C8B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34B0 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3501 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3525 SWAP2 SWAP1 PUSH2 0x46D8 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x353B JUMPI PUSH2 0x353B PUSH2 0x43F9 JUMP JUMPDEST EQ PUSH2 0xC09 JUMPI PUSH1 0x40 MLOAD PUSH4 0x26AC2FF9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3568 DUP4 DUP4 PUSH2 0x359E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x357E JUMPI PUSH2 0x357E PUSH2 0x43F9 JUMP JUMPDEST EQ PUSH2 0xC09 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x2367A31D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x4459 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x35A9 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x3726 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3695 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x36C1 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x370E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x36E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x370E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x36F1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3621 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x373E SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x376A SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x37B7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x378C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37B7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x379A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA0 ADD MLOAD DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x37DA JUMPI PUSH2 0x37DA PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP1 PUSH1 0x60 ADD MLOAD ISZERO PUSH2 0x37FA JUMPI PUSH1 0x3 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST DUP1 PUSH1 0x20 ADD MLOAD ISZERO PUSH2 0x3810 JUMPI PUSH1 0x2 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST DUP1 PUSH1 0x40 ADD MLOAD ISZERO PUSH2 0x1D37 JUMPI PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST PUSH2 0x382E PUSH2 0xE44 JUMP JUMPDEST ISZERO PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3856 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3886 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x38B1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x65923117 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xC0 ADD MLOAD MLOAD PUSH1 0x0 SUB PUSH2 0x38D7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x436F9D57 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x393E JUMPI DUP3 PUSH1 0xA0 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x38FD JUMPI PUSH2 0x38FD PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x0 SUB PUSH2 0x392C JUMPI PUSH1 0x40 MLOAD PUSH4 0x2AFB5D51 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST DUP1 PUSH2 0x3936 DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x38DA JUMP JUMPDEST POP DUP2 PUSH1 0x20 ADD MLOAD PUSH1 0x0 SUB PUSH2 0x3964 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2B2F4089 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x40 ADD MLOAD GT ISZERO PUSH2 0x3999 JUMPI DUP2 PUSH1 0x40 ADD MLOAD DUP3 PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x3B9F12CF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD SLOAD DUP3 PUSH1 0xA0 ADD MLOAD MLOAD LT ISZERO PUSH2 0xC76 JUMPI PUSH1 0xA0 DUP3 ADD MLOAD MLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xFD1C0DDB PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0xF56 SWAP4 SWAP3 ADD PUSH2 0x4534 JUMP JUMPDEST PUSH2 0x39D6 PUSH2 0x3826 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39E0 PUSH2 0x3482 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x32AE CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A1F PUSH2 0x3CE1 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A55 PUSH2 0x3CE1 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A66 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 PUSH2 0x3A8E SWAP2 SWAP1 PUSH2 0x4521 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3BB0 JUMPI PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x3AC9 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3AE6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B0A SWAP2 SWAP1 PUSH2 0x46F9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x3B30 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH3 0xFAE2D5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 PUSH4 0xA9059CBB SWAP3 PUSH2 0x3B6A SWAP3 SWAP2 AND SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4712 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3B89 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3BAD SWAP2 SWAP1 PUSH2 0x472B JUMP JUMPDEST POP POP JUMPDEST DUP3 PUSH32 0x122FCA773BDC90ED7DA7C637FA41C96069C5B596F4EBFACFE0787DA4ECCE8693 DUP3 PUSH1 0x40 MLOAD PUSH2 0x3BE2 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x336B PUSH2 0x3D05 JUMP JUMPDEST PUSH2 0x3C23 PUSH2 0x3D05 JUMP JUMPDEST PUSH2 0x336B PUSH2 0x3D2A JUMP JUMPDEST PUSH2 0x3C33 PUSH2 0x3D05 JUMP JUMPDEST PUSH2 0x336B PUSH2 0x3D47 JUMP JUMPDEST PUSH2 0x3C45 DUP3 DUP3 PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xC76 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4712 JUMP JUMPDEST PUSH2 0x3C6E PUSH2 0xE44 JUMP JUMPDEST PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3C94 DUP3 PUSH2 0x3D4F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x3CD9 JUMPI PUSH2 0xC09 DUP3 DUP3 PUSH2 0x3DAB JUMP JUMPDEST PUSH2 0xC76 PUSH2 0x3E21 JUMP JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x3D0D PUSH2 0x3E40 JUMP JUMPDEST PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3D32 PUSH2 0x3D05 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D3C PUSH2 0x3482 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x3A4B PUSH2 0x3D05 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x3D7C JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47EA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x3DC8 SWAP2 SWAP1 PUSH2 0x474D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3E03 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3E08 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x3E18 DUP6 DUP4 DUP4 PUSH2 0x3E5A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3E4A PUSH2 0x3BEF JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x3E6F JUMPI PUSH2 0x3E6A DUP3 PUSH2 0x3EAD JUMP JUMPDEST PUSH2 0x2AF1 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x3E86 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x3EA6 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x3EBD JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3EFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x2AF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x312F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3F3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2AF1 DUP2 PUSH2 0x3F14 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3F58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3F7A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x3F62 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x3F9B DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x3F5F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x80 DUP3 ADD MLOAD PUSH1 0xA0 PUSH1 0x80 DUP6 ADD MSTORE PUSH2 0x1FE9 PUSH1 0xA0 DUP6 ADD DUP3 PUSH2 0x3F83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE PUSH2 0x100 DUP4 ADD DUP5 MLOAD DUP3 DUP6 ADD MSTORE DUP2 DUP6 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x80 DUP8 ADD MSTORE DUP1 PUSH1 0x80 DUP9 ADD MLOAD AND PUSH1 0xA0 DUP8 ADD MSTORE POP POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xE0 PUSH1 0xC0 DUP7 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x120 SWAP4 POP DUP4 DUP8 ADD SWAP2 POP DUP4 DUP2 PUSH1 0x5 SHL DUP9 ADD ADD SWAP4 POP DUP5 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4096 JUMPI PUSH2 0x11F NOT DUP9 DUP7 SUB ADD DUP4 MSTORE PUSH2 0x4084 DUP6 DUP6 MLOAD PUSH2 0x3FAF JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP2 DUP6 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4067 JUMP JUMPDEST POP POP POP POP PUSH1 0xC0 DUP6 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0xE0 DUP7 ADD MSTORE SWAP2 POP PUSH2 0x3E18 DUP2 DUP4 PUSH2 0x3F83 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x40CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x40DC DUP2 PUSH2 0x3F14 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x413C JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x412A DUP6 DUP4 MLOAD PUSH2 0x3FAF JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x410E JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4187 JUMPI PUSH2 0x4187 PUSH2 0x4149 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x41A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41B9 JUMPI PUSH2 0x41B9 PUSH2 0x4149 JUMP JUMPDEST PUSH2 0x41CC PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x415F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x41E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x421C DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4243 DUP6 DUP3 DUP7 ADD PUSH2 0x418F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4260 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x429E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x42AA DUP10 DUP4 DUP11 ADD PUSH2 0x418F JUMP JUMPDEST SWAP7 POP PUSH1 0x20 SWAP2 POP DUP2 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH2 0x42C4 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH2 0x42D4 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x42E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 ADD PUSH1 0x1F DUP2 ADD DUP11 SGT PUSH2 0x42F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x430B JUMPI PUSH2 0x430B PUSH2 0x4149 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH2 0x431A DUP6 DUP3 ADD PUSH2 0x415F JUMP JUMPDEST SWAP2 DUP3 MSTORE DUP3 DUP2 ADD DUP6 ADD SWAP2 DUP6 DUP2 ADD SWAP1 DUP14 DUP5 GT ISZERO PUSH2 0x4334 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 DUP6 ADD SWAP3 POP JUMPDEST DUP4 DUP4 LT ISZERO PUSH2 0x4370 JUMPI DUP3 CALLDATALOAD DUP7 DUP2 GT ISZERO PUSH2 0x4352 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4360 DUP16 DUP10 DUP4 DUP10 ADD ADD PUSH2 0x418F JUMP JUMPDEST DUP4 MSTORE POP SWAP2 DUP7 ADD SWAP2 SWAP1 DUP7 ADD SWAP1 PUSH2 0x433A JUMP JUMPDEST DUP1 SWAP8 POP POP POP POP POP POP POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2AF1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3FAF JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2AF1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3F83 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x43BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x43E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43EF DUP7 DUP3 DUP8 ADD PUSH2 0x418F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0xA DUP4 LT PUSH2 0x4423 JUMPI PUSH2 0x4423 PUSH2 0x43F9 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x443C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x4 DUP4 LT PUSH2 0x4423 JUMPI PUSH2 0x4423 PUSH2 0x43F9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4490 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x44A0 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x44B0 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x44C0 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x44E5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x4505 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x883 JUMPI PUSH2 0x883 PUSH2 0x450B JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x456A JUMPI PUSH2 0x456A PUSH2 0x450B JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x883 JUMPI PUSH2 0x883 PUSH2 0x450B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4597 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH2 0x45A2 DUP2 PUSH2 0x3F14 JUMP JUMPDEST PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD MLOAD SWAP3 SWAP5 SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC09 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x45D9 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x45F8 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x45E5 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4619 JUMPI PUSH2 0x4619 PUSH2 0x4149 JUMP JUMPDEST PUSH2 0x462D DUP2 PUSH2 0x4627 DUP5 SLOAD PUSH2 0x44D1 JUMP JUMPDEST DUP5 PUSH2 0x45B2 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4662 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x464A JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x45F8 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4691 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x4672 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x46AF JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1FE9 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x3F83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x46EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xA DUP2 LT PUSH2 0x2AF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x470B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x473D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2AF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x475F DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x3F5F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID 0xC3 0xF PUSH31 0xD76AAD52E1DB9D4574C81F8EEB708F6974B7F45424A3F1B7394C2885E17184 0xD 0xC4 SWAP1 PUSH4 0x52362B0C 0xDA 0xF7 SWAP9 PUSH17 0x196C8E42ACAFADE72D5D5A6D59291253CE 0xB1 CALLVALUE JUMP SWAP10 0xB3 PUSH24 0x9E7F0F3201B7D9D8C3E2BC3CE9F29696BE4E3EEBC592BEB2 OR 0x27 0xC3 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A47AA345C SHR DIV MSTORE8 DELEGATECALL 0xEA PUSH4 0xD2F908A9 0xCB CALLDATACOPY 0x2D DUP10 0xB5 LOG4 NOT 0xB9 DUP3 0xB9 SUB 0xF6 SSTORE 0xCF 0xC8 0xFB SWAP10 JUMP LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NOT PUSH24 0x3720083323A28268186CFA27763DD1CF95F502734A6E1978 STATICCALL DUP10 0xCE DUP12 LOG1 CALL PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"2256:26513:44:-:0;;;1171:4:3;1128:48;;3740:47:44;;;;;;;;;-1:-1:-1;3760:22:44;:20;:22::i;:::-;2256:26513;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;2256:26513:44;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@GOVERNANCE_ROLE_13978":{"entryPoint":null,"id":13978,"parameterSlots":0,"returnSlots":0},"@GRANTS_APPROVER_ROLE_13988":{"entryPoint":null,"id":13988,"parameterSlots":0,"returnSlots":0},"@GRANTS_REJECTOR_ROLE_13993":{"entryPoint":null,"id":13993,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_13998":{"entryPoint":null,"id":13998,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_13983":{"entryPoint":null,"id":13983,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":null,"id":63,"parameterSlots":0,"returnSlots":0},"@__Pausable_init_4039":{"entryPoint":15387,"id":4039,"parameterSlots":0,"returnSlots":0},"@__Pausable_init_unchained_4057":{"entryPoint":15658,"id":4057,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_4203":{"entryPoint":15403,"id":4203,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_unchained_4221":{"entryPoint":15687,"id":4221,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":15379,"id":1786,"parameterSlots":0,"returnSlots":0},"@_authorizeUpgrade_15957":{"entryPoint":13165,"id":15957,"parameterSlots":1,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":15621,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkMilestoneState_15937":{"entryPoint":13660,"id":15937,"parameterSlots":2,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":15905,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":13369,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProposalState_15910":{"entryPoint":13478,"id":15910,"parameterSlots":1,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":12998,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":12581,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":15419,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":12594,"id":46,"parameterSlots":0,"returnSlots":1},"@_getGrantsManagerStorage_14027":{"entryPoint":12545,"id":14027,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":15343,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getMilestoneState_14780":{"entryPoint":13726,"id":14780,"parameterSlots":2,"returnSlots":1},"@_getPausableStorage_4013":{"entryPoint":13442,"id":4013,"parameterSlots":0,"returnSlots":1},"@_getReentrancyGuardStorage_4191":{"entryPoint":15585,"id":4191,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":12630,"id":315,"parameterSlots":2,"returnSlots":1},"@_isInitializing_1722":{"entryPoint":15936,"id":1722,"parameterSlots":0,"returnSlots":1},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_nonReentrantAfter_4273":{"entryPoint":14923,"id":4273,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_4257":{"entryPoint":14869,"id":4257,"parameterSlots":0,"returnSlots":0},"@_pause_4138":{"entryPoint":14798,"id":4138,"parameterSlots":0,"returnSlots":0},"@_requireNotPaused_4101":{"entryPoint":14374,"id":4101,"parameterSlots":0,"returnSlots":0},"@_requirePaused_4114":{"entryPoint":15462,"id":4114,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":16045,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":12791,"id":361,"parameterSlots":2,"returnSlots":1},"@_setImplementation_4791":{"entryPoint":15695,"id":4791,"parameterSlots":1,"returnSlots":0},"@_transferRemainingAmountToTreasury_15875":{"entryPoint":14940,"id":15875,"parameterSlots":1,"returnSlots":0},"@_unpause_4162":{"entryPoint":12911,"id":4162,"parameterSlots":0,"returnSlots":0},"@_upgradeToAndCallUUPS_1913":{"entryPoint":13189,"id":1913,"parameterSlots":2,"returnSlots":0},"@_validateMilestones_15804":{"entryPoint":14412,"id":15804,"parameterSlots":1,"returnSlots":0},"@approveMilestoneWithReason_14992":{"entryPoint":7523,"id":14992,"parameterSlots":3,"returnSlots":0},"@approveMilestones_14901":{"entryPoint":3673,"id":14901,"parameterSlots":2,"returnSlots":0},"@claimMilestone_15320":{"entryPoint":9084,"id":15320,"parameterSlots":2,"returnSlots":0},"@createMilestones_14479":{"entryPoint":4692,"id":14479,"parameterSlots":5,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":15787,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getB3trContract_15555":{"entryPoint":10473,"id":15555,"parameterSlots":0,"returnSlots":1},"@getGovernorContract_15440":{"entryPoint":2079,"id":15440,"parameterSlots":0,"returnSlots":1},"@getGrantProposal_14824":{"entryPoint":2335,"id":14824,"parameterSlots":1,"returnSlots":1},"@getGrantsReceiverAddress_15493":{"entryPoint":10709,"id":15493,"parameterSlots":1,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getMilestoneMetadataURI_15686":{"entryPoint":10503,"id":15686,"parameterSlots":1,"returnSlots":1},"@getMilestone_14505":{"entryPoint":6221,"id":14505,"parameterSlots":2,"returnSlots":1},"@getMilestones_14803":{"entryPoint":3194,"id":14803,"parameterSlots":1,"returnSlots":1},"@getMinimumMilestoneCount_15030":{"entryPoint":2109,"id":15030,"parameterSlots":0,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":2303,"id":171,"parameterSlots":1,"returnSlots":1},"@getTotalAmountForMilestones_15155":{"entryPoint":3641,"id":15155,"parameterSlots":1,"returnSlots":1},"@getTreasuryContract_15536":{"entryPoint":2966,"id":15536,"parameterSlots":0,"returnSlots":1},"@grantRole_190":{"entryPoint":2996,"id":190,"parameterSlots":2,"returnSlots":0},"@grantState_15397":{"entryPoint":7932,"id":15397,"parameterSlots":1,"returnSlots":1},"@hasRole_116":{"entryPoint":6574,"id":116,"parameterSlots":2,"returnSlots":1},"@initialize_14156":{"entryPoint":11709,"id":14156,"parameterSlots":5,"returnSlots":0},"@isClaimable_15339":{"entryPoint":8177,"id":15339,"parameterSlots":2,"returnSlots":1},"@isGrantCompleted_14722":{"entryPoint":8216,"id":14722,"parameterSlots":1,"returnSlots":1},"@isGrantInDevelopment_14640":{"entryPoint":6628,"id":14640,"parameterSlots":1,"returnSlots":1},"@isGrantRejected_14553":{"entryPoint":4049,"id":14553,"parameterSlots":1,"returnSlots":1},"@milestoneState_15047":{"entryPoint":10981,"id":15047,"parameterSlots":2,"returnSlots":1},"@pause_15590":{"entryPoint":6117,"id":15590,"parameterSlots":0,"returnSlots":0},"@paused_4089":{"entryPoint":3652,"id":4089,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":3553,"id":1804,"parameterSlots":0,"returnSlots":1},"@rejectMilestones_15134":{"entryPoint":11000,"id":15134,"parameterSlots":1,"returnSlots":0},"@renounceRole_232":{"entryPoint":3030,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":10681,"id":209,"parameterSlots":2,"returnSlots":0},"@setB3trContract_15579":{"entryPoint":3582,"id":15579,"parameterSlots":1,"returnSlots":0},"@setGovernorContract_15421":{"entryPoint":2185,"id":15421,"parameterSlots":1,"returnSlots":0},"@setMinimumMilestoneCount_15014":{"entryPoint":7491,"id":15014,"parameterSlots":1,"returnSlots":0},"@setTreasuryContract_15517":{"entryPoint":2244,"id":15517,"parameterSlots":1,"returnSlots":0},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":2130,"id":91,"parameterSlots":1,"returnSlots":1},"@unpause_15601":{"entryPoint":3086,"id":15601,"parameterSlots":0,"returnSlots":0},"@updateGrantsReceiver_15472":{"entryPoint":10750,"id":15472,"parameterSlots":2,"returnSlots":0},"@updateMilestoneMetadataURI_15665":{"entryPoint":10230,"id":15665,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":3526,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":15499,"id":4825,"parameterSlots":2,"returnSlots":0},"@verifyCallResultFromTarget_5543":{"entryPoint":15962,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_15946":{"entryPoint":null,"id":15946,"parameterSlots":0,"returnSlots":1},"abi_decode_bytes":{"entryPoint":16783,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":16169,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_payablet_uint256_fromMemory":{"entryPoint":17796,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_addresst_addresst_uint256":{"entryPoint":17517,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":16894,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":18219,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":16198,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":16567,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":16106,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ProposalState_$61406_fromMemory":{"entryPoint":18136,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_uint256t_addresst_addresst_array$_t_bytes_memory_ptr_$dyn_memory_ptr":{"entryPoint":17007,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":18169,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_string_memory_ptr":{"entryPoint":17449,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":16973,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr":{"entryPoint":17322,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_string":{"entryPoint":16259,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_struct_Milestone":{"entryPoint":16303,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":18253,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":16086,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":18194,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":16615,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_GrantState_$65383__to_t_uint8__fromStack_reversed":{"entryPoint":17423,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_MilestoneState_$65389__to_t_uint8__fromStack_reversed":{"entryPoint":17497,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":17303,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_GrantProposal_$65419_memory_ptr__to_t_struct$_GrantProposal_$65419_memory_ptr__fromStack_reversed":{"entryPoint":16370,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_Milestone_$65401_memory_ptr__to_t_struct$_Milestone_$65401_memory_ptr__fromStack_reversed":{"entryPoint":17284,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":18111,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":17716,"id":null,"parameterSlots":3,"returnSlots":1},"allocate_memory":{"entryPoint":16735,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":17777,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":17697,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":17842,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":17920,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":16223,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":17617,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":17752,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":17675,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":17401,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":17730,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":16713,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":16148,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:20462:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"115:102:150","statements":[{"nodeType":"YulAssignment","src":"125:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"137:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"148:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"133:3:150"},"nodeType":"YulFunctionCall","src":"133:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"125:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"167:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"182:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"198:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"203:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"194:3:150"},"nodeType":"YulFunctionCall","src":"194:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"207:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"190:3:150"},"nodeType":"YulFunctionCall","src":"190:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"178:3:150"},"nodeType":"YulFunctionCall","src":"178:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"160:6:150"},"nodeType":"YulFunctionCall","src":"160:51:150"},"nodeType":"YulExpressionStatement","src":"160:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"84:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"95:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"106:4:150","type":""}],"src":"14:203:150"},{"body":{"nodeType":"YulBlock","src":"323:76:150","statements":[{"nodeType":"YulAssignment","src":"333:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"345:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"356:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"341:3:150"},"nodeType":"YulFunctionCall","src":"341:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"333:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"375:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"386:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"368:6:150"},"nodeType":"YulFunctionCall","src":"368:25:150"},"nodeType":"YulExpressionStatement","src":"368:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"292:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"303:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"314:4:150","type":""}],"src":"222:177:150"},{"body":{"nodeType":"YulBlock","src":"473:217:150","statements":[{"body":{"nodeType":"YulBlock","src":"519:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"528:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"531:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"521:6:150"},"nodeType":"YulFunctionCall","src":"521:12:150"},"nodeType":"YulExpressionStatement","src":"521:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"494:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"503:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"490:3:150"},"nodeType":"YulFunctionCall","src":"490:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"515:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"486:3:150"},"nodeType":"YulFunctionCall","src":"486:32:150"},"nodeType":"YulIf","src":"483:52:150"},{"nodeType":"YulVariableDeclaration","src":"544:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"570:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"557:12:150"},"nodeType":"YulFunctionCall","src":"557:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"548:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"644:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"653:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"656:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"646:6:150"},"nodeType":"YulFunctionCall","src":"646:12:150"},"nodeType":"YulExpressionStatement","src":"646:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"602:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"613:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"629:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"620:3:150"},"nodeType":"YulFunctionCall","src":"620:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"609:3:150"},"nodeType":"YulFunctionCall","src":"609:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"599:2:150"},"nodeType":"YulFunctionCall","src":"599:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"592:6:150"},"nodeType":"YulFunctionCall","src":"592:51:150"},"nodeType":"YulIf","src":"589:71:150"},{"nodeType":"YulAssignment","src":"669:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"679:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"669:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"439:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"450:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"462:6:150","type":""}],"src":"404:286:150"},{"body":{"nodeType":"YulBlock","src":"790:92:150","statements":[{"nodeType":"YulAssignment","src":"800:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"812:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"823:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"808:3:150"},"nodeType":"YulFunctionCall","src":"808:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"800:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"842:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"867:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"860:6:150"},"nodeType":"YulFunctionCall","src":"860:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"853:6:150"},"nodeType":"YulFunctionCall","src":"853:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"835:6:150"},"nodeType":"YulFunctionCall","src":"835:41:150"},"nodeType":"YulExpressionStatement","src":"835:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"759:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"770:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"781:4:150","type":""}],"src":"695:187:150"},{"body":{"nodeType":"YulBlock","src":"932:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"998:6:150"},"nodeType":"YulFunctionCall","src":"998:12:150"},"nodeType":"YulExpressionStatement","src":"998:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"955:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"966:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"981:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"986:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"977:3:150"},"nodeType":"YulFunctionCall","src":"977:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"990:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"973:3:150"},"nodeType":"YulFunctionCall","src":"973:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"962:3:150"},"nodeType":"YulFunctionCall","src":"962:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"952:2:150"},"nodeType":"YulFunctionCall","src":"952:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"945:6:150"},"nodeType":"YulFunctionCall","src":"945:50:150"},"nodeType":"YulIf","src":"942:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"921:5:150","type":""}],"src":"887:131:150"},{"body":{"nodeType":"YulBlock","src":"1093:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"1139:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1148:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1151:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1141:6:150"},"nodeType":"YulFunctionCall","src":"1141:12:150"},"nodeType":"YulExpressionStatement","src":"1141:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1114:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1123:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1110:3:150"},"nodeType":"YulFunctionCall","src":"1110:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1135:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1106:3:150"},"nodeType":"YulFunctionCall","src":"1106:32:150"},"nodeType":"YulIf","src":"1103:52:150"},{"nodeType":"YulVariableDeclaration","src":"1164:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1190:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1177:12:150"},"nodeType":"YulFunctionCall","src":"1177:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1168:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1234:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1209:24:150"},"nodeType":"YulFunctionCall","src":"1209:31:150"},"nodeType":"YulExpressionStatement","src":"1209:31:150"},{"nodeType":"YulAssignment","src":"1249:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1259:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1249:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1059:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1070:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1082:6:150","type":""}],"src":"1023:247:150"},{"body":{"nodeType":"YulBlock","src":"1376:76:150","statements":[{"nodeType":"YulAssignment","src":"1386:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1398:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1409:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1394:3:150"},"nodeType":"YulFunctionCall","src":"1394:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1386:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1428:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1439:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1421:6:150"},"nodeType":"YulFunctionCall","src":"1421:25:150"},"nodeType":"YulExpressionStatement","src":"1421:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1345:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1356:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1367:4:150","type":""}],"src":"1275:177:150"},{"body":{"nodeType":"YulBlock","src":"1527:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1573:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1582:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1585:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1575:6:150"},"nodeType":"YulFunctionCall","src":"1575:12:150"},"nodeType":"YulExpressionStatement","src":"1575:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1548:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1557:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1544:3:150"},"nodeType":"YulFunctionCall","src":"1544:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1569:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1540:3:150"},"nodeType":"YulFunctionCall","src":"1540:32:150"},"nodeType":"YulIf","src":"1537:52:150"},{"nodeType":"YulAssignment","src":"1598:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1621:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1608:12:150"},"nodeType":"YulFunctionCall","src":"1608:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1598:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1493:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1504:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1516:6:150","type":""}],"src":"1457:180:150"},{"body":{"nodeType":"YulBlock","src":"1712:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1758:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1767:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1770:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1760:6:150"},"nodeType":"YulFunctionCall","src":"1760:12:150"},"nodeType":"YulExpressionStatement","src":"1760:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1733:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1742:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1729:3:150"},"nodeType":"YulFunctionCall","src":"1729:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1754:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1725:3:150"},"nodeType":"YulFunctionCall","src":"1725:32:150"},"nodeType":"YulIf","src":"1722:52:150"},{"nodeType":"YulAssignment","src":"1783:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1806:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1793:12:150"},"nodeType":"YulFunctionCall","src":"1793:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1783:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1678:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1689:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1701:6:150","type":""}],"src":"1642:180:150"},{"body":{"nodeType":"YulBlock","src":"1893:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1903:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1912:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1907:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1972:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1997:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"2002:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1993:3:150"},"nodeType":"YulFunctionCall","src":"1993:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2016:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"2021:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2012:3:150"},"nodeType":"YulFunctionCall","src":"2012:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2006:5:150"},"nodeType":"YulFunctionCall","src":"2006:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1986:6:150"},"nodeType":"YulFunctionCall","src":"1986:39:150"},"nodeType":"YulExpressionStatement","src":"1986:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1933:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1936:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1930:2:150"},"nodeType":"YulFunctionCall","src":"1930:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1944:19:150","statements":[{"nodeType":"YulAssignment","src":"1946:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1955:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1958:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1951:3:150"},"nodeType":"YulFunctionCall","src":"1951:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1946:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1926:3:150","statements":[]},"src":"1922:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2055:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2060:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2051:3:150"},"nodeType":"YulFunctionCall","src":"2051:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"2069:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2044:6:150"},"nodeType":"YulFunctionCall","src":"2044:27:150"},"nodeType":"YulExpressionStatement","src":"2044:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1871:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1876:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1881:6:150","type":""}],"src":"1827:250:150"},{"body":{"nodeType":"YulBlock","src":"2132:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2142:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2162:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2156:5:150"},"nodeType":"YulFunctionCall","src":"2156:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2146:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2184:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2189:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2177:6:150"},"nodeType":"YulFunctionCall","src":"2177:19:150"},"nodeType":"YulExpressionStatement","src":"2177:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2244:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2251:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2240:3:150"},"nodeType":"YulFunctionCall","src":"2240:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2262:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2267:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2258:3:150"},"nodeType":"YulFunctionCall","src":"2258:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"2274:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2205:34:150"},"nodeType":"YulFunctionCall","src":"2205:76:150"},"nodeType":"YulExpressionStatement","src":"2205:76:150"},{"nodeType":"YulAssignment","src":"2290:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2305:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2318:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2326:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2314:3:150"},"nodeType":"YulFunctionCall","src":"2314:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2335:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2331:3:150"},"nodeType":"YulFunctionCall","src":"2331:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2310:3:150"},"nodeType":"YulFunctionCall","src":"2310:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2301:3:150"},"nodeType":"YulFunctionCall","src":"2301:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"2342:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2297:3:150"},"nodeType":"YulFunctionCall","src":"2297:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2290:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2109:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2116:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2124:3:150","type":""}],"src":"2082:271:150"},{"body":{"nodeType":"YulBlock","src":"2418:409:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2435:3:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2446:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2440:5:150"},"nodeType":"YulFunctionCall","src":"2440:12:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2428:6:150"},"nodeType":"YulFunctionCall","src":"2428:25:150"},"nodeType":"YulExpressionStatement","src":"2428:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2473:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2478:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2469:3:150"},"nodeType":"YulFunctionCall","src":"2469:14:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2509:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2516:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2505:3:150"},"nodeType":"YulFunctionCall","src":"2505:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2499:5:150"},"nodeType":"YulFunctionCall","src":"2499:23:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2492:6:150"},"nodeType":"YulFunctionCall","src":"2492:31:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2485:6:150"},"nodeType":"YulFunctionCall","src":"2485:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2462:6:150"},"nodeType":"YulFunctionCall","src":"2462:63:150"},"nodeType":"YulExpressionStatement","src":"2462:63:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2545:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2550:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2541:3:150"},"nodeType":"YulFunctionCall","src":"2541:14:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2581:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2588:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2577:3:150"},"nodeType":"YulFunctionCall","src":"2577:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2571:5:150"},"nodeType":"YulFunctionCall","src":"2571:23:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2564:6:150"},"nodeType":"YulFunctionCall","src":"2564:31:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2557:6:150"},"nodeType":"YulFunctionCall","src":"2557:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2534:6:150"},"nodeType":"YulFunctionCall","src":"2534:63:150"},"nodeType":"YulExpressionStatement","src":"2534:63:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2617:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2622:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2613:3:150"},"nodeType":"YulFunctionCall","src":"2613:14:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2653:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2660:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2649:3:150"},"nodeType":"YulFunctionCall","src":"2649:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2643:5:150"},"nodeType":"YulFunctionCall","src":"2643:23:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2636:6:150"},"nodeType":"YulFunctionCall","src":"2636:31:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2629:6:150"},"nodeType":"YulFunctionCall","src":"2629:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2606:6:150"},"nodeType":"YulFunctionCall","src":"2606:63:150"},"nodeType":"YulExpressionStatement","src":"2606:63:150"},{"nodeType":"YulVariableDeclaration","src":"2678:43:150","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2708:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2715:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2704:3:150"},"nodeType":"YulFunctionCall","src":"2704:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2698:5:150"},"nodeType":"YulFunctionCall","src":"2698:23:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"2682:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2741:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2746:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2737:3:150"},"nodeType":"YulFunctionCall","src":"2737:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"2753:4:150","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2730:6:150"},"nodeType":"YulFunctionCall","src":"2730:28:150"},"nodeType":"YulExpressionStatement","src":"2730:28:150"},{"nodeType":"YulAssignment","src":"2767:54:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"2792:12:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2810:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2815:4:150","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2806:3:150"},"nodeType":"YulFunctionCall","src":"2806:14:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"2774:17:150"},"nodeType":"YulFunctionCall","src":"2774:47:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2767:3:150"}]}]},"name":"abi_encode_struct_Milestone","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2395:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2402:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2410:3:150","type":""}],"src":"2358:469:150"},{"body":{"nodeType":"YulBlock","src":"2997:1328:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3007:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3017:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3011:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3035:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3046:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3028:6:150"},"nodeType":"YulFunctionCall","src":"3028:21:150"},"nodeType":"YulExpressionStatement","src":"3028:21:150"},{"nodeType":"YulVariableDeclaration","src":"3058:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3076:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3087:3:150","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3072:3:150"},"nodeType":"YulFunctionCall","src":"3072:19:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"3062:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3111:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3122:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3107:3:150"},"nodeType":"YulFunctionCall","src":"3107:18:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3133:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3127:5:150"},"nodeType":"YulFunctionCall","src":"3127:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3100:6:150"},"nodeType":"YulFunctionCall","src":"3100:41:150"},"nodeType":"YulExpressionStatement","src":"3100:41:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3161:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3172:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3157:3:150"},"nodeType":"YulFunctionCall","src":"3157:18:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3187:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3195:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3183:3:150"},"nodeType":"YulFunctionCall","src":"3183:15:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3177:5:150"},"nodeType":"YulFunctionCall","src":"3177:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3150:6:150"},"nodeType":"YulFunctionCall","src":"3150:50:150"},"nodeType":"YulExpressionStatement","src":"3150:50:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3220:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3231:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3216:3:150"},"nodeType":"YulFunctionCall","src":"3216:18:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3246:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3254:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3242:3:150"},"nodeType":"YulFunctionCall","src":"3242:15:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3236:5:150"},"nodeType":"YulFunctionCall","src":"3236:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3209:6:150"},"nodeType":"YulFunctionCall","src":"3209:50:150"},"nodeType":"YulExpressionStatement","src":"3209:50:150"},{"nodeType":"YulVariableDeclaration","src":"3268:42:150","value":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3298:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3306:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3294:3:150"},"nodeType":"YulFunctionCall","src":"3294:15:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3288:5:150"},"nodeType":"YulFunctionCall","src":"3288:22:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"3272:12:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3319:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3337:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3342:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3333:3:150"},"nodeType":"YulFunctionCall","src":"3333:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3346:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3329:3:150"},"nodeType":"YulFunctionCall","src":"3329:19:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3323:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3368:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3379:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3364:3:150"},"nodeType":"YulFunctionCall","src":"3364:19:150"},{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"3389:12:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3403:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3385:3:150"},"nodeType":"YulFunctionCall","src":"3385:21:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3357:6:150"},"nodeType":"YulFunctionCall","src":"3357:50:150"},"nodeType":"YulExpressionStatement","src":"3357:50:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3427:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3438:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3423:3:150"},"nodeType":"YulFunctionCall","src":"3423:19:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3458:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3466:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3454:3:150"},"nodeType":"YulFunctionCall","src":"3454:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3448:5:150"},"nodeType":"YulFunctionCall","src":"3448:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3473:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3444:3:150"},"nodeType":"YulFunctionCall","src":"3444:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3416:6:150"},"nodeType":"YulFunctionCall","src":"3416:61:150"},"nodeType":"YulExpressionStatement","src":"3416:61:150"},{"nodeType":"YulVariableDeclaration","src":"3486:45:150","value":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3518:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3526:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3514:3:150"},"nodeType":"YulFunctionCall","src":"3514:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3508:5:150"},"nodeType":"YulFunctionCall","src":"3508:23:150"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"3490:14:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3551:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3562:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3547:3:150"},"nodeType":"YulFunctionCall","src":"3547:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"3568:4:150","type":"","value":"0xe0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3540:6:150"},"nodeType":"YulFunctionCall","src":"3540:33:150"},"nodeType":"YulExpressionStatement","src":"3540:33:150"},{"nodeType":"YulVariableDeclaration","src":"3582:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"3593:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"3586:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3608:35:150","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"3628:14:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3622:5:150"},"nodeType":"YulFunctionCall","src":"3622:21:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3612:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"3659:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"3667:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3652:6:150"},"nodeType":"YulFunctionCall","src":"3652:22:150"},"nodeType":"YulExpressionStatement","src":"3652:22:150"},{"nodeType":"YulVariableDeclaration","src":"3683:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3693:3:150","type":"","value":"288"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3687:2:150","type":""}]},{"nodeType":"YulAssignment","src":"3705:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3716:9:150"},{"name":"_3","nodeType":"YulIdentifier","src":"3727:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3712:3:150"},"nodeType":"YulFunctionCall","src":"3712:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3705:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"3739:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3761:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3776:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"3779:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3772:3:150"},"nodeType":"YulFunctionCall","src":"3772:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3757:3:150"},"nodeType":"YulFunctionCall","src":"3757:30:150"},{"name":"_3","nodeType":"YulIdentifier","src":"3789:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3753:3:150"},"nodeType":"YulFunctionCall","src":"3753:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"3743:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3801:37:150","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"3819:14:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3835:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3815:3:150"},"nodeType":"YulFunctionCall","src":"3815:23:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"3805:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3847:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3856:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3851:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3915:217:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3936:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3949:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3957:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3945:3:150"},"nodeType":"YulFunctionCall","src":"3945:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3973:3:150","type":"","value":"287"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3969:3:150"},"nodeType":"YulFunctionCall","src":"3969:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3941:3:150"},"nodeType":"YulFunctionCall","src":"3941:37:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3929:6:150"},"nodeType":"YulFunctionCall","src":"3929:50:150"},"nodeType":"YulExpressionStatement","src":"3929:50:150"},{"nodeType":"YulAssignment","src":"3992:60:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4036:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4030:5:150"},"nodeType":"YulFunctionCall","src":"4030:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"4045:6:150"}],"functionName":{"name":"abi_encode_struct_Milestone","nodeType":"YulIdentifier","src":"4002:27:150"},"nodeType":"YulFunctionCall","src":"4002:50:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3992:6:150"}]},{"nodeType":"YulAssignment","src":"4065:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4079:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4087:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4075:3:150"},"nodeType":"YulFunctionCall","src":"4075:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4065:6:150"}]},{"nodeType":"YulAssignment","src":"4103:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4114:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4119:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4110:3:150"},"nodeType":"YulFunctionCall","src":"4110:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4103:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3877:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"3880:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3874:2:150"},"nodeType":"YulFunctionCall","src":"3874:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3888:18:150","statements":[{"nodeType":"YulAssignment","src":"3890:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3899:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"3902:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3895:3:150"},"nodeType":"YulFunctionCall","src":"3895:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3890:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3870:3:150","statements":[]},"src":"3866:266:150"},{"nodeType":"YulVariableDeclaration","src":"4141:45:150","value":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4173:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4181:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4169:3:150"},"nodeType":"YulFunctionCall","src":"4169:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4163:5:150"},"nodeType":"YulFunctionCall","src":"4163:23:150"},"variables":[{"name":"memberValue0_2","nodeType":"YulTypedName","src":"4145:14:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4206:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4217:4:150","type":"","value":"0xe0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4202:3:150"},"nodeType":"YulFunctionCall","src":"4202:20:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4232:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4240:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4228:3:150"},"nodeType":"YulFunctionCall","src":"4228:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4256:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4252:3:150"},"nodeType":"YulFunctionCall","src":"4252:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4224:3:150"},"nodeType":"YulFunctionCall","src":"4224:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4195:6:150"},"nodeType":"YulFunctionCall","src":"4195:66:150"},"nodeType":"YulExpressionStatement","src":"4195:66:150"},{"nodeType":"YulAssignment","src":"4270:49:150","value":{"arguments":[{"name":"memberValue0_2","nodeType":"YulIdentifier","src":"4296:14:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"4312:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"4278:17:150"},"nodeType":"YulFunctionCall","src":"4278:41:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4270:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_GrantProposal_$65419_memory_ptr__to_t_struct$_GrantProposal_$65419_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2966:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2977:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2988:4:150","type":""}],"src":"2832:1493:150"},{"body":{"nodeType":"YulBlock","src":"4417:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"4463:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4472:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4475:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4465:6:150"},"nodeType":"YulFunctionCall","src":"4465:12:150"},"nodeType":"YulExpressionStatement","src":"4465:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4438:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4447:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4434:3:150"},"nodeType":"YulFunctionCall","src":"4434:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4459:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4430:3:150"},"nodeType":"YulFunctionCall","src":"4430:32:150"},"nodeType":"YulIf","src":"4427:52:150"},{"nodeType":"YulAssignment","src":"4488:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4511:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4498:12:150"},"nodeType":"YulFunctionCall","src":"4498:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4488:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4530:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4560:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4571:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4556:3:150"},"nodeType":"YulFunctionCall","src":"4556:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4543:12:150"},"nodeType":"YulFunctionCall","src":"4543:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4534:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4609:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4584:24:150"},"nodeType":"YulFunctionCall","src":"4584:31:150"},"nodeType":"YulExpressionStatement","src":"4584:31:150"},{"nodeType":"YulAssignment","src":"4624:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4634:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4624:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4375:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4386:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4398:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4406:6:150","type":""}],"src":"4330:315:150"},{"body":{"nodeType":"YulBlock","src":"4857:642:150","statements":[{"nodeType":"YulVariableDeclaration","src":"4867:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4877:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4871:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4888:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4906:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4917:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4902:3:150"},"nodeType":"YulFunctionCall","src":"4902:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"4892:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4936:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4947:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4929:6:150"},"nodeType":"YulFunctionCall","src":"4929:21:150"},"nodeType":"YulExpressionStatement","src":"4929:21:150"},{"nodeType":"YulVariableDeclaration","src":"4959:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"4970:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"4963:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4985:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5005:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4999:5:150"},"nodeType":"YulFunctionCall","src":"4999:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4989:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"5028:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"5036:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5021:6:150"},"nodeType":"YulFunctionCall","src":"5021:22:150"},"nodeType":"YulExpressionStatement","src":"5021:22:150"},{"nodeType":"YulAssignment","src":"5052:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5063:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5074:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5059:3:150"},"nodeType":"YulFunctionCall","src":"5059:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5052:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"5086:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5108:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5123:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"5126:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5119:3:150"},"nodeType":"YulFunctionCall","src":"5119:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5104:3:150"},"nodeType":"YulFunctionCall","src":"5104:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"5136:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5100:3:150"},"nodeType":"YulFunctionCall","src":"5100:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"5090:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5148:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5166:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5174:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5162:3:150"},"nodeType":"YulFunctionCall","src":"5162:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"5152:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5186:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5195:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5190:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5254:216:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5275:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"5288:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5296:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5284:3:150"},"nodeType":"YulFunctionCall","src":"5284:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5312:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5308:3:150"},"nodeType":"YulFunctionCall","src":"5308:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5280:3:150"},"nodeType":"YulFunctionCall","src":"5280:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5268:6:150"},"nodeType":"YulFunctionCall","src":"5268:49:150"},"nodeType":"YulExpressionStatement","src":"5268:49:150"},{"nodeType":"YulAssignment","src":"5330:60:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5374:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5368:5:150"},"nodeType":"YulFunctionCall","src":"5368:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"5383:6:150"}],"functionName":{"name":"abi_encode_struct_Milestone","nodeType":"YulIdentifier","src":"5340:27:150"},"nodeType":"YulFunctionCall","src":"5340:50:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"5330:6:150"}]},{"nodeType":"YulAssignment","src":"5403:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5417:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5425:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5413:3:150"},"nodeType":"YulFunctionCall","src":"5413:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5403:6:150"}]},{"nodeType":"YulAssignment","src":"5441:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5452:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5457:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5448:3:150"},"nodeType":"YulFunctionCall","src":"5448:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5441:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5216:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"5219:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5213:2:150"},"nodeType":"YulFunctionCall","src":"5213:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5227:18:150","statements":[{"nodeType":"YulAssignment","src":"5229:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5238:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"5241:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5234:3:150"},"nodeType":"YulFunctionCall","src":"5234:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5229:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5209:3:150","statements":[]},"src":"5205:265:150"},{"nodeType":"YulAssignment","src":"5479:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"5487:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5479:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4826:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4837:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4848:4:150","type":""}],"src":"4650:849:150"},{"body":{"nodeType":"YulBlock","src":"5536:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5553:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5560:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5565:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5556:3:150"},"nodeType":"YulFunctionCall","src":"5556:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5546:6:150"},"nodeType":"YulFunctionCall","src":"5546:31:150"},"nodeType":"YulExpressionStatement","src":"5546:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5593:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5596:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5586:6:150"},"nodeType":"YulFunctionCall","src":"5586:15:150"},"nodeType":"YulExpressionStatement","src":"5586:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5617:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5620:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5610:6:150"},"nodeType":"YulFunctionCall","src":"5610:15:150"},"nodeType":"YulExpressionStatement","src":"5610:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5504:127:150"},{"body":{"nodeType":"YulBlock","src":"5681:230:150","statements":[{"nodeType":"YulAssignment","src":"5691:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5707:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5701:5:150"},"nodeType":"YulFunctionCall","src":"5701:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5691:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5719:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5741:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"5757:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"5763:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5753:3:150"},"nodeType":"YulFunctionCall","src":"5753:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5772:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5768:3:150"},"nodeType":"YulFunctionCall","src":"5768:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5749:3:150"},"nodeType":"YulFunctionCall","src":"5749:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5737:3:150"},"nodeType":"YulFunctionCall","src":"5737:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5723:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5852:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5854:16:150"},"nodeType":"YulFunctionCall","src":"5854:18:150"},"nodeType":"YulExpressionStatement","src":"5854:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5795:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5815:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5819:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5811:3:150"},"nodeType":"YulFunctionCall","src":"5811:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5823:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5807:3:150"},"nodeType":"YulFunctionCall","src":"5807:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5792:2:150"},"nodeType":"YulFunctionCall","src":"5792:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5831:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5843:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5828:2:150"},"nodeType":"YulFunctionCall","src":"5828:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5789:2:150"},"nodeType":"YulFunctionCall","src":"5789:62:150"},"nodeType":"YulIf","src":"5786:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5890:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5894:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5883:6:150"},"nodeType":"YulFunctionCall","src":"5883:22:150"},"nodeType":"YulExpressionStatement","src":"5883:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"5661:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5670:6:150","type":""}],"src":"5636:275:150"},{"body":{"nodeType":"YulBlock","src":"5968:478:150","statements":[{"body":{"nodeType":"YulBlock","src":"6017:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6026:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6029:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6019:6:150"},"nodeType":"YulFunctionCall","src":"6019:12:150"},"nodeType":"YulExpressionStatement","src":"6019:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5996:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6004:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5992:3:150"},"nodeType":"YulFunctionCall","src":"5992:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"6011:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5988:3:150"},"nodeType":"YulFunctionCall","src":"5988:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5981:6:150"},"nodeType":"YulFunctionCall","src":"5981:35:150"},"nodeType":"YulIf","src":"5978:55:150"},{"nodeType":"YulVariableDeclaration","src":"6042:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6065:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6052:12:150"},"nodeType":"YulFunctionCall","src":"6052:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6046:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6111:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6113:16:150"},"nodeType":"YulFunctionCall","src":"6113:18:150"},"nodeType":"YulExpressionStatement","src":"6113:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6087:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6099:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6103:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6095:3:150"},"nodeType":"YulFunctionCall","src":"6095:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6107:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6091:3:150"},"nodeType":"YulFunctionCall","src":"6091:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6084:2:150"},"nodeType":"YulFunctionCall","src":"6084:26:150"},"nodeType":"YulIf","src":"6081:52:150"},{"nodeType":"YulVariableDeclaration","src":"6142:70:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6185:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6189:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6181:3:150"},"nodeType":"YulFunctionCall","src":"6181:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6200:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6196:3:150"},"nodeType":"YulFunctionCall","src":"6196:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6177:3:150"},"nodeType":"YulFunctionCall","src":"6177:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6206:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6173:3:150"},"nodeType":"YulFunctionCall","src":"6173:38:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"6157:15:150"},"nodeType":"YulFunctionCall","src":"6157:55:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"6146:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6228:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6237:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6221:6:150"},"nodeType":"YulFunctionCall","src":"6221:19:150"},"nodeType":"YulExpressionStatement","src":"6221:19:150"},{"body":{"nodeType":"YulBlock","src":"6288:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6297:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6300:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6290:6:150"},"nodeType":"YulFunctionCall","src":"6290:12:150"},"nodeType":"YulExpressionStatement","src":"6290:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6263:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6271:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6259:3:150"},"nodeType":"YulFunctionCall","src":"6259:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"6276:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6255:3:150"},"nodeType":"YulFunctionCall","src":"6255:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"6283:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6252:2:150"},"nodeType":"YulFunctionCall","src":"6252:35:150"},"nodeType":"YulIf","src":"6249:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6330:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"6339:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6326:3:150"},"nodeType":"YulFunctionCall","src":"6326:18:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6350:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6358:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6346:3:150"},"nodeType":"YulFunctionCall","src":"6346:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6365:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"6313:12:150"},"nodeType":"YulFunctionCall","src":"6313:55:150"},"nodeType":"YulExpressionStatement","src":"6313:55:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6392:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6401:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6388:3:150"},"nodeType":"YulFunctionCall","src":"6388:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"6406:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6384:3:150"},"nodeType":"YulFunctionCall","src":"6384:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6413:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6377:6:150"},"nodeType":"YulFunctionCall","src":"6377:38:150"},"nodeType":"YulExpressionStatement","src":"6377:38:150"},{"nodeType":"YulAssignment","src":"6424:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"6433:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"6424:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5942:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5950:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5958:5:150","type":""}],"src":"5916:530:150"},{"body":{"nodeType":"YulBlock","src":"6547:359:150","statements":[{"body":{"nodeType":"YulBlock","src":"6593:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6602:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6605:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6595:6:150"},"nodeType":"YulFunctionCall","src":"6595:12:150"},"nodeType":"YulExpressionStatement","src":"6595:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6568:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6577:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6564:3:150"},"nodeType":"YulFunctionCall","src":"6564:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6589:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6560:3:150"},"nodeType":"YulFunctionCall","src":"6560:32:150"},"nodeType":"YulIf","src":"6557:52:150"},{"nodeType":"YulVariableDeclaration","src":"6618:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6644:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6631:12:150"},"nodeType":"YulFunctionCall","src":"6631:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6622:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6688:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6663:24:150"},"nodeType":"YulFunctionCall","src":"6663:31:150"},"nodeType":"YulExpressionStatement","src":"6663:31:150"},{"nodeType":"YulAssignment","src":"6703:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6713:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6703:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6727:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6758:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6769:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6754:3:150"},"nodeType":"YulFunctionCall","src":"6754:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6741:12:150"},"nodeType":"YulFunctionCall","src":"6741:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6731:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6816:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6825:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6828:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6818:6:150"},"nodeType":"YulFunctionCall","src":"6818:12:150"},"nodeType":"YulExpressionStatement","src":"6818:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6788:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6804:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6808:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6800:3:150"},"nodeType":"YulFunctionCall","src":"6800:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6812:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6796:3:150"},"nodeType":"YulFunctionCall","src":"6796:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6785:2:150"},"nodeType":"YulFunctionCall","src":"6785:30:150"},"nodeType":"YulIf","src":"6782:50:150"},{"nodeType":"YulAssignment","src":"6841:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6872:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6883:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6868:3:150"},"nodeType":"YulFunctionCall","src":"6868:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6892:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6851:16:150"},"nodeType":"YulFunctionCall","src":"6851:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6841:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6505:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6516:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6528:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6536:6:150","type":""}],"src":"6451:455:150"},{"body":{"nodeType":"YulBlock","src":"6998:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"7044:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7053:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7056:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7046:6:150"},"nodeType":"YulFunctionCall","src":"7046:12:150"},"nodeType":"YulExpressionStatement","src":"7046:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7019:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7028:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7015:3:150"},"nodeType":"YulFunctionCall","src":"7015:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7040:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7011:3:150"},"nodeType":"YulFunctionCall","src":"7011:32:150"},"nodeType":"YulIf","src":"7008:52:150"},{"nodeType":"YulAssignment","src":"7069:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7092:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7079:12:150"},"nodeType":"YulFunctionCall","src":"7079:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7069:6:150"}]},{"nodeType":"YulAssignment","src":"7111:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7138:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7149:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7134:3:150"},"nodeType":"YulFunctionCall","src":"7134:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7121:12:150"},"nodeType":"YulFunctionCall","src":"7121:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7111:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6956:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6967:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6979:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6987:6:150","type":""}],"src":"6911:248:150"},{"body":{"nodeType":"YulBlock","src":"7346:1528:150","statements":[{"body":{"nodeType":"YulBlock","src":"7393:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7402:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7405:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7395:6:150"},"nodeType":"YulFunctionCall","src":"7395:12:150"},"nodeType":"YulExpressionStatement","src":"7395:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7367:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7376:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7363:3:150"},"nodeType":"YulFunctionCall","src":"7363:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7388:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7359:3:150"},"nodeType":"YulFunctionCall","src":"7359:33:150"},"nodeType":"YulIf","src":"7356:53:150"},{"nodeType":"YulVariableDeclaration","src":"7418:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7445:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7432:12:150"},"nodeType":"YulFunctionCall","src":"7432:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7422:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7464:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7482:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7486:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7478:3:150"},"nodeType":"YulFunctionCall","src":"7478:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7490:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7474:3:150"},"nodeType":"YulFunctionCall","src":"7474:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7468:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7519:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7528:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7531:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7521:6:150"},"nodeType":"YulFunctionCall","src":"7521:12:150"},"nodeType":"YulExpressionStatement","src":"7521:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7507:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7515:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7504:2:150"},"nodeType":"YulFunctionCall","src":"7504:14:150"},"nodeType":"YulIf","src":"7501:34:150"},{"nodeType":"YulAssignment","src":"7544:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7575:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"7586:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7571:3:150"},"nodeType":"YulFunctionCall","src":"7571:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7595:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"7554:16:150"},"nodeType":"YulFunctionCall","src":"7554:49:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7544:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7612:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7622:2:150","type":"","value":"32"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"7616:2:150","type":""}]},{"nodeType":"YulAssignment","src":"7633:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7660:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7671:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7656:3:150"},"nodeType":"YulFunctionCall","src":"7656:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7643:12:150"},"nodeType":"YulFunctionCall","src":"7643:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7633:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7684:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7714:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7725:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7710:3:150"},"nodeType":"YulFunctionCall","src":"7710:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7697:12:150"},"nodeType":"YulFunctionCall","src":"7697:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7688:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7763:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"7738:24:150"},"nodeType":"YulFunctionCall","src":"7738:31:150"},"nodeType":"YulExpressionStatement","src":"7738:31:150"},{"nodeType":"YulAssignment","src":"7778:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7788:5:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"7778:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7802:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7834:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7845:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7830:3:150"},"nodeType":"YulFunctionCall","src":"7830:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7817:12:150"},"nodeType":"YulFunctionCall","src":"7817:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"7806:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"7883:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"7858:24:150"},"nodeType":"YulFunctionCall","src":"7858:33:150"},"nodeType":"YulExpressionStatement","src":"7858:33:150"},{"nodeType":"YulAssignment","src":"7900:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"7910:7:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7900:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7926:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7959:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7970:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7955:3:150"},"nodeType":"YulFunctionCall","src":"7955:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7942:12:150"},"nodeType":"YulFunctionCall","src":"7942:33:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"7930:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8004:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8013:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8016:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8006:6:150"},"nodeType":"YulFunctionCall","src":"8006:12:150"},"nodeType":"YulExpressionStatement","src":"8006:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"7990:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8000:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7987:2:150"},"nodeType":"YulFunctionCall","src":"7987:16:150"},"nodeType":"YulIf","src":"7984:36:150"},{"nodeType":"YulVariableDeclaration","src":"8029:34:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8043:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"8054:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8039:3:150"},"nodeType":"YulFunctionCall","src":"8039:24:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"8033:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8111:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8120:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8123:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8113:6:150"},"nodeType":"YulFunctionCall","src":"8113:12:150"},"nodeType":"YulExpressionStatement","src":"8113:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8090:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"8094:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8086:3:150"},"nodeType":"YulFunctionCall","src":"8086:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8101:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8082:3:150"},"nodeType":"YulFunctionCall","src":"8082:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8075:6:150"},"nodeType":"YulFunctionCall","src":"8075:35:150"},"nodeType":"YulIf","src":"8072:55:150"},{"nodeType":"YulVariableDeclaration","src":"8136:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8159:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8146:12:150"},"nodeType":"YulFunctionCall","src":"8146:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"8140:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8185:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8187:16:150"},"nodeType":"YulFunctionCall","src":"8187:18:150"},"nodeType":"YulExpressionStatement","src":"8187:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"8177:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8181:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8174:2:150"},"nodeType":"YulFunctionCall","src":"8174:10:150"},"nodeType":"YulIf","src":"8171:36:150"},{"nodeType":"YulVariableDeclaration","src":"8216:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8230:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"8233:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8226:3:150"},"nodeType":"YulFunctionCall","src":"8226:10:150"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"8220:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8245:39:150","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"8276:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8280:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8272:3:150"},"nodeType":"YulFunctionCall","src":"8272:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8256:15:150"},"nodeType":"YulFunctionCall","src":"8256:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"8249:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8293:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"8306:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"8297:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8325:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"8330:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8318:6:150"},"nodeType":"YulFunctionCall","src":"8318:15:150"},"nodeType":"YulExpressionStatement","src":"8318:15:150"},{"nodeType":"YulAssignment","src":"8342:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8353:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8358:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8349:3:150"},"nodeType":"YulFunctionCall","src":"8349:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8342:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"8370:34:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8392:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"8396:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8388:3:150"},"nodeType":"YulFunctionCall","src":"8388:11:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8401:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8384:3:150"},"nodeType":"YulFunctionCall","src":"8384:20:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"8374:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8436:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8445:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8448:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8438:6:150"},"nodeType":"YulFunctionCall","src":"8438:12:150"},"nodeType":"YulExpressionStatement","src":"8438:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"8419:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8427:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8416:2:150"},"nodeType":"YulFunctionCall","src":"8416:19:150"},"nodeType":"YulIf","src":"8413:39:150"},{"nodeType":"YulVariableDeclaration","src":"8461:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8476:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8480:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8472:3:150"},"nodeType":"YulFunctionCall","src":"8472:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"8465:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8548:296:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8562:36:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8594:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8581:12:150"},"nodeType":"YulFunctionCall","src":"8581:17:150"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"8566:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8646:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8664:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8674:1:150","type":"","value":"0"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"8668:2:150","type":""}]},{"expression":{"arguments":[{"name":"_6","nodeType":"YulIdentifier","src":"8699:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"8703:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8692:6:150"},"nodeType":"YulFunctionCall","src":"8692:14:150"},"nodeType":"YulExpressionStatement","src":"8692:14:150"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"8617:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8630:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8614:2:150"},"nodeType":"YulFunctionCall","src":"8614:19:150"},"nodeType":"YulIf","src":"8611:109:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8740:3:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8770:2:150"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"8774:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8766:3:150"},"nodeType":"YulFunctionCall","src":"8766:20:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8788:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8762:3:150"},"nodeType":"YulFunctionCall","src":"8762:29:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8793:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"8745:16:150"},"nodeType":"YulFunctionCall","src":"8745:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8733:6:150"},"nodeType":"YulFunctionCall","src":"8733:69:150"},"nodeType":"YulExpressionStatement","src":"8733:69:150"},{"nodeType":"YulAssignment","src":"8815:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8826:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8831:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8822:3:150"},"nodeType":"YulFunctionCall","src":"8822:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8815:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8503:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"8508:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8500:2:150"},"nodeType":"YulFunctionCall","src":"8500:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8516:23:150","statements":[{"nodeType":"YulAssignment","src":"8518:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8529:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8534:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8525:3:150"},"nodeType":"YulFunctionCall","src":"8525:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"8518:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"8496:3:150","statements":[]},"src":"8492:352:150"},{"nodeType":"YulAssignment","src":"8853:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"8863:5:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"8853:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_uint256t_addresst_addresst_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7280:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7291:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7303:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7311:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7319:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7327:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7335:6:150","type":""}],"src":"7164:1710:150"},{"body":{"nodeType":"YulBlock","src":"9036:109:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9053:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9064:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9046:6:150"},"nodeType":"YulFunctionCall","src":"9046:21:150"},"nodeType":"YulExpressionStatement","src":"9046:21:150"},{"nodeType":"YulAssignment","src":"9076:63:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9112:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9124:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9135:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9120:3:150"},"nodeType":"YulFunctionCall","src":"9120:18:150"}],"functionName":{"name":"abi_encode_struct_Milestone","nodeType":"YulIdentifier","src":"9084:27:150"},"nodeType":"YulFunctionCall","src":"9084:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9076:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_Milestone_$65401_memory_ptr__to_t_struct$_Milestone_$65401_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9005:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9016:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9027:4:150","type":""}],"src":"8879:266:150"},{"body":{"nodeType":"YulBlock","src":"9271:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9288:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9299:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9281:6:150"},"nodeType":"YulFunctionCall","src":"9281:21:150"},"nodeType":"YulExpressionStatement","src":"9281:21:150"},{"nodeType":"YulAssignment","src":"9311:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9337:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9349:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9360:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9345:3:150"},"nodeType":"YulFunctionCall","src":"9345:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"9319:17:150"},"nodeType":"YulFunctionCall","src":"9319:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9311:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9240:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9251:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9262:4:150","type":""}],"src":"9150:220:150"},{"body":{"nodeType":"YulBlock","src":"9489:343:150","statements":[{"body":{"nodeType":"YulBlock","src":"9535:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9544:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9547:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9537:6:150"},"nodeType":"YulFunctionCall","src":"9537:12:150"},"nodeType":"YulExpressionStatement","src":"9537:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9510:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9519:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9506:3:150"},"nodeType":"YulFunctionCall","src":"9506:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9531:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9502:3:150"},"nodeType":"YulFunctionCall","src":"9502:32:150"},"nodeType":"YulIf","src":"9499:52:150"},{"nodeType":"YulAssignment","src":"9560:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9583:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9570:12:150"},"nodeType":"YulFunctionCall","src":"9570:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9560:6:150"}]},{"nodeType":"YulAssignment","src":"9602:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9640:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9625:3:150"},"nodeType":"YulFunctionCall","src":"9625:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9612:12:150"},"nodeType":"YulFunctionCall","src":"9612:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9602:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9653:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9684:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9695:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9680:3:150"},"nodeType":"YulFunctionCall","src":"9680:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9667:12:150"},"nodeType":"YulFunctionCall","src":"9667:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9657:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9742:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9751:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9754:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9744:6:150"},"nodeType":"YulFunctionCall","src":"9744:12:150"},"nodeType":"YulExpressionStatement","src":"9744:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9714:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9730:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9734:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9726:3:150"},"nodeType":"YulFunctionCall","src":"9726:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9738:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9722:3:150"},"nodeType":"YulFunctionCall","src":"9722:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9711:2:150"},"nodeType":"YulFunctionCall","src":"9711:30:150"},"nodeType":"YulIf","src":"9708:50:150"},{"nodeType":"YulAssignment","src":"9767:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9798:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9809:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9794:3:150"},"nodeType":"YulFunctionCall","src":"9794:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9818:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9777:16:150"},"nodeType":"YulFunctionCall","src":"9777:49:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9767:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9439:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9450:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9462:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9470:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9478:6:150","type":""}],"src":"9375:457:150"},{"body":{"nodeType":"YulBlock","src":"9869:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9886:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9893:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9898:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9889:3:150"},"nodeType":"YulFunctionCall","src":"9889:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9879:6:150"},"nodeType":"YulFunctionCall","src":"9879:31:150"},"nodeType":"YulExpressionStatement","src":"9879:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9926:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9929:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9919:6:150"},"nodeType":"YulFunctionCall","src":"9919:15:150"},"nodeType":"YulExpressionStatement","src":"9919:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9950:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9953:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9943:6:150"},"nodeType":"YulFunctionCall","src":"9943:15:150"},"nodeType":"YulExpressionStatement","src":"9943:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"9837:127:150"},{"body":{"nodeType":"YulBlock","src":"10084:133:150","statements":[{"nodeType":"YulAssignment","src":"10094:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10106:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10117:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10102:3:150"},"nodeType":"YulFunctionCall","src":"10102:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10094:4:150"}]},{"body":{"nodeType":"YulBlock","src":"10155:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"10157:16:150"},"nodeType":"YulFunctionCall","src":"10157:18:150"},"nodeType":"YulExpressionStatement","src":"10157:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10142:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10150:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10139:2:150"},"nodeType":"YulFunctionCall","src":"10139:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10132:6:150"},"nodeType":"YulFunctionCall","src":"10132:22:150"},"nodeType":"YulIf","src":"10129:48:150"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10193:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10204:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10186:6:150"},"nodeType":"YulFunctionCall","src":"10186:25:150"},"nodeType":"YulExpressionStatement","src":"10186:25:150"}]},"name":"abi_encode_tuple_t_enum$_GrantState_$65383__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10053:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10064:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10075:4:150","type":""}],"src":"9969:248:150"},{"body":{"nodeType":"YulBlock","src":"10319:292:150","statements":[{"body":{"nodeType":"YulBlock","src":"10365:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10374:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10377:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10367:6:150"},"nodeType":"YulFunctionCall","src":"10367:12:150"},"nodeType":"YulExpressionStatement","src":"10367:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10340:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10349:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10336:3:150"},"nodeType":"YulFunctionCall","src":"10336:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10361:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10332:3:150"},"nodeType":"YulFunctionCall","src":"10332:32:150"},"nodeType":"YulIf","src":"10329:52:150"},{"nodeType":"YulAssignment","src":"10390:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10413:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10400:12:150"},"nodeType":"YulFunctionCall","src":"10400:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10390:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10432:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10463:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10474:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10459:3:150"},"nodeType":"YulFunctionCall","src":"10459:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10446:12:150"},"nodeType":"YulFunctionCall","src":"10446:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10436:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10521:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10530:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10533:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10523:6:150"},"nodeType":"YulFunctionCall","src":"10523:12:150"},"nodeType":"YulExpressionStatement","src":"10523:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10493:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10509:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"10513:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10505:3:150"},"nodeType":"YulFunctionCall","src":"10505:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"10517:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10501:3:150"},"nodeType":"YulFunctionCall","src":"10501:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10490:2:150"},"nodeType":"YulFunctionCall","src":"10490:30:150"},"nodeType":"YulIf","src":"10487:50:150"},{"nodeType":"YulAssignment","src":"10546:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10577:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"10588:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10573:3:150"},"nodeType":"YulFunctionCall","src":"10573:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10597:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"10556:16:150"},"nodeType":"YulFunctionCall","src":"10556:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10546:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10277:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10288:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10300:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10308:6:150","type":""}],"src":"10222:389:150"},{"body":{"nodeType":"YulBlock","src":"10703:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"10749:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10758:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10761:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10751:6:150"},"nodeType":"YulFunctionCall","src":"10751:12:150"},"nodeType":"YulExpressionStatement","src":"10751:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10724:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10733:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10720:3:150"},"nodeType":"YulFunctionCall","src":"10720:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10745:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10716:3:150"},"nodeType":"YulFunctionCall","src":"10716:32:150"},"nodeType":"YulIf","src":"10713:52:150"},{"nodeType":"YulAssignment","src":"10774:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10797:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10784:12:150"},"nodeType":"YulFunctionCall","src":"10784:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10774:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10816:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10846:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10857:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10842:3:150"},"nodeType":"YulFunctionCall","src":"10842:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10829:12:150"},"nodeType":"YulFunctionCall","src":"10829:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10820:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10895:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"10870:24:150"},"nodeType":"YulFunctionCall","src":"10870:31:150"},"nodeType":"YulExpressionStatement","src":"10870:31:150"},{"nodeType":"YulAssignment","src":"10910:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10920:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10910:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10661:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10672:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10684:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10692:6:150","type":""}],"src":"10616:315:150"},{"body":{"nodeType":"YulBlock","src":"11055:132:150","statements":[{"nodeType":"YulAssignment","src":"11065:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11077:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11088:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11073:3:150"},"nodeType":"YulFunctionCall","src":"11073:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11065:4:150"}]},{"body":{"nodeType":"YulBlock","src":"11125:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"11127:16:150"},"nodeType":"YulFunctionCall","src":"11127:18:150"},"nodeType":"YulExpressionStatement","src":"11127:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11113:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"11121:1:150","type":"","value":"4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11110:2:150"},"nodeType":"YulFunctionCall","src":"11110:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11103:6:150"},"nodeType":"YulFunctionCall","src":"11103:21:150"},"nodeType":"YulIf","src":"11100:47:150"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11163:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"11174:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11156:6:150"},"nodeType":"YulFunctionCall","src":"11156:25:150"},"nodeType":"YulExpressionStatement","src":"11156:25:150"}]},"name":"abi_encode_tuple_t_enum$_MilestoneState_$65389__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11024:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11035:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11046:4:150","type":""}],"src":"10936:251:150"},{"body":{"nodeType":"YulBlock","src":"11330:602:150","statements":[{"body":{"nodeType":"YulBlock","src":"11377:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11386:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11389:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11379:6:150"},"nodeType":"YulFunctionCall","src":"11379:12:150"},"nodeType":"YulExpressionStatement","src":"11379:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11351:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11360:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11347:3:150"},"nodeType":"YulFunctionCall","src":"11347:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11372:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11343:3:150"},"nodeType":"YulFunctionCall","src":"11343:33:150"},"nodeType":"YulIf","src":"11340:53:150"},{"nodeType":"YulVariableDeclaration","src":"11402:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11428:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11415:12:150"},"nodeType":"YulFunctionCall","src":"11415:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11406:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11472:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11447:24:150"},"nodeType":"YulFunctionCall","src":"11447:31:150"},"nodeType":"YulExpressionStatement","src":"11447:31:150"},{"nodeType":"YulAssignment","src":"11487:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11497:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11487:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11511:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11543:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11554:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11539:3:150"},"nodeType":"YulFunctionCall","src":"11539:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11526:12:150"},"nodeType":"YulFunctionCall","src":"11526:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"11515:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"11592:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11567:24:150"},"nodeType":"YulFunctionCall","src":"11567:33:150"},"nodeType":"YulExpressionStatement","src":"11567:33:150"},{"nodeType":"YulAssignment","src":"11609:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"11619:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11609:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11635:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11667:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11678:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11663:3:150"},"nodeType":"YulFunctionCall","src":"11663:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11650:12:150"},"nodeType":"YulFunctionCall","src":"11650:32:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"11639:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"11716:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11691:24:150"},"nodeType":"YulFunctionCall","src":"11691:33:150"},"nodeType":"YulExpressionStatement","src":"11691:33:150"},{"nodeType":"YulAssignment","src":"11733:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"11743:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11733:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11759:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11791:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11802:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11787:3:150"},"nodeType":"YulFunctionCall","src":"11787:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11774:12:150"},"nodeType":"YulFunctionCall","src":"11774:32:150"},"variables":[{"name":"value_3","nodeType":"YulTypedName","src":"11763:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_3","nodeType":"YulIdentifier","src":"11840:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11815:24:150"},"nodeType":"YulFunctionCall","src":"11815:33:150"},"nodeType":"YulExpressionStatement","src":"11815:33:150"},{"nodeType":"YulAssignment","src":"11857:17:150","value":{"name":"value_3","nodeType":"YulIdentifier","src":"11867:7:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"11857:6:150"}]},{"nodeType":"YulAssignment","src":"11883:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11910:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11921:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11906:3:150"},"nodeType":"YulFunctionCall","src":"11906:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11893:12:150"},"nodeType":"YulFunctionCall","src":"11893:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"11883:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11264:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11275:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11287:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11295:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11303:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11311:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"11319:6:150","type":""}],"src":"11192:740:150"},{"body":{"nodeType":"YulBlock","src":"11992:325:150","statements":[{"nodeType":"YulAssignment","src":"12002:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12016:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"12019:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"12012:3:150"},"nodeType":"YulFunctionCall","src":"12012:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"12002:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"12033:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"12063:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"12069:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12059:3:150"},"nodeType":"YulFunctionCall","src":"12059:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"12037:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12110:31:150","statements":[{"nodeType":"YulAssignment","src":"12112:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12126:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12134:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12122:3:150"},"nodeType":"YulFunctionCall","src":"12122:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"12112:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"12090:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12083:6:150"},"nodeType":"YulFunctionCall","src":"12083:26:150"},"nodeType":"YulIf","src":"12080:61:150"},{"body":{"nodeType":"YulBlock","src":"12200:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12221:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12228:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12233:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12224:3:150"},"nodeType":"YulFunctionCall","src":"12224:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12214:6:150"},"nodeType":"YulFunctionCall","src":"12214:31:150"},"nodeType":"YulExpressionStatement","src":"12214:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12265:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12268:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12258:6:150"},"nodeType":"YulFunctionCall","src":"12258:15:150"},"nodeType":"YulExpressionStatement","src":"12258:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12293:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12296:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12286:6:150"},"nodeType":"YulFunctionCall","src":"12286:15:150"},"nodeType":"YulExpressionStatement","src":"12286:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"12156:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12179:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12187:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12176:2:150"},"nodeType":"YulFunctionCall","src":"12176:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12153:2:150"},"nodeType":"YulFunctionCall","src":"12153:38:150"},"nodeType":"YulIf","src":"12150:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"11972:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"11981:6:150","type":""}],"src":"11937:380:150"},{"body":{"nodeType":"YulBlock","src":"12354:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12371:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12378:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12383:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12374:3:150"},"nodeType":"YulFunctionCall","src":"12374:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12364:6:150"},"nodeType":"YulFunctionCall","src":"12364:31:150"},"nodeType":"YulExpressionStatement","src":"12364:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12411:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12414:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12404:6:150"},"nodeType":"YulFunctionCall","src":"12404:15:150"},"nodeType":"YulExpressionStatement","src":"12404:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12435:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12438:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12428:6:150"},"nodeType":"YulFunctionCall","src":"12428:15:150"},"nodeType":"YulExpressionStatement","src":"12428:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"12322:127:150"},{"body":{"nodeType":"YulBlock","src":"12503:79:150","statements":[{"nodeType":"YulAssignment","src":"12513:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12525:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12528:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12521:3:150"},"nodeType":"YulFunctionCall","src":"12521:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"12513:4:150"}]},{"body":{"nodeType":"YulBlock","src":"12554:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12556:16:150"},"nodeType":"YulFunctionCall","src":"12556:18:150"},"nodeType":"YulExpressionStatement","src":"12556:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"12545:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"12551:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12542:2:150"},"nodeType":"YulFunctionCall","src":"12542:11:150"},"nodeType":"YulIf","src":"12539:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12485:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12488:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"12494:4:150","type":""}],"src":"12454:128:150"},{"body":{"nodeType":"YulBlock","src":"12716:119:150","statements":[{"nodeType":"YulAssignment","src":"12726:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12738:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12749:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12734:3:150"},"nodeType":"YulFunctionCall","src":"12734:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12726:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12768:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12779:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12761:6:150"},"nodeType":"YulFunctionCall","src":"12761:25:150"},"nodeType":"YulExpressionStatement","src":"12761:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12806:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12817:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12802:3:150"},"nodeType":"YulFunctionCall","src":"12802:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12822:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12795:6:150"},"nodeType":"YulFunctionCall","src":"12795:34:150"},"nodeType":"YulExpressionStatement","src":"12795:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12677:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12688:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12696:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12707:4:150","type":""}],"src":"12587:248:150"},{"body":{"nodeType":"YulBlock","src":"12872:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12889:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12896:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12901:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12892:3:150"},"nodeType":"YulFunctionCall","src":"12892:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12882:6:150"},"nodeType":"YulFunctionCall","src":"12882:31:150"},"nodeType":"YulExpressionStatement","src":"12882:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12929:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12932:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12922:6:150"},"nodeType":"YulFunctionCall","src":"12922:15:150"},"nodeType":"YulExpressionStatement","src":"12922:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12953:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12956:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12946:6:150"},"nodeType":"YulFunctionCall","src":"12946:15:150"},"nodeType":"YulExpressionStatement","src":"12946:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"12840:127:150"},{"body":{"nodeType":"YulBlock","src":"13019:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"13050:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13052:16:150"},"nodeType":"YulFunctionCall","src":"13052:18:150"},"nodeType":"YulExpressionStatement","src":"13052:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13035:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13046:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"13042:3:150"},"nodeType":"YulFunctionCall","src":"13042:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13032:2:150"},"nodeType":"YulFunctionCall","src":"13032:17:150"},"nodeType":"YulIf","src":"13029:43:150"},{"nodeType":"YulAssignment","src":"13081:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13092:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"13099:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13088:3:150"},"nodeType":"YulFunctionCall","src":"13088:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"13081:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13001:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"13011:3:150","type":""}],"src":"12972:135:150"},{"body":{"nodeType":"YulBlock","src":"13211:103:150","statements":[{"nodeType":"YulAssignment","src":"13221:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13233:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13244:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13229:3:150"},"nodeType":"YulFunctionCall","src":"13229:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13221:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13263:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13278:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13290:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13295:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13286:3:150"},"nodeType":"YulFunctionCall","src":"13286:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13274:3:150"},"nodeType":"YulFunctionCall","src":"13274:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13256:6:150"},"nodeType":"YulFunctionCall","src":"13256:52:150"},"nodeType":"YulExpressionStatement","src":"13256:52:150"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13180:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13191:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13202:4:150","type":""}],"src":"13112:202:150"},{"body":{"nodeType":"YulBlock","src":"13367:77:150","statements":[{"nodeType":"YulAssignment","src":"13377:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13388:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"13391:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13384:3:150"},"nodeType":"YulFunctionCall","src":"13384:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"13377:3:150"}]},{"body":{"nodeType":"YulBlock","src":"13416:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13418:16:150"},"nodeType":"YulFunctionCall","src":"13418:18:150"},"nodeType":"YulExpressionStatement","src":"13418:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13408:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"13411:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13405:2:150"},"nodeType":"YulFunctionCall","src":"13405:10:150"},"nodeType":"YulIf","src":"13402:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13350:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"13353:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"13359:3:150","type":""}],"src":"13319:125:150"},{"body":{"nodeType":"YulBlock","src":"13555:214:150","statements":[{"body":{"nodeType":"YulBlock","src":"13601:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13610:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13613:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13603:6:150"},"nodeType":"YulFunctionCall","src":"13603:12:150"},"nodeType":"YulExpressionStatement","src":"13603:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13576:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13585:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13572:3:150"},"nodeType":"YulFunctionCall","src":"13572:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13597:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13568:3:150"},"nodeType":"YulFunctionCall","src":"13568:32:150"},"nodeType":"YulIf","src":"13565:52:150"},{"nodeType":"YulVariableDeclaration","src":"13626:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13645:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13639:5:150"},"nodeType":"YulFunctionCall","src":"13639:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13630:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13689:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13664:24:150"},"nodeType":"YulFunctionCall","src":"13664:31:150"},"nodeType":"YulExpressionStatement","src":"13664:31:150"},{"nodeType":"YulAssignment","src":"13704:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13714:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13704:6:150"}]},{"nodeType":"YulAssignment","src":"13728:35:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13748:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13759:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13744:3:150"},"nodeType":"YulFunctionCall","src":"13744:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13738:5:150"},"nodeType":"YulFunctionCall","src":"13738:25:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13728:6:150"}]}]},"name":"abi_decode_tuple_t_address_payablet_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13513:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13524:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13536:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13544:6:150","type":""}],"src":"13449:320:150"},{"body":{"nodeType":"YulBlock","src":"13830:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13847:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"13850:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13840:6:150"},"nodeType":"YulFunctionCall","src":"13840:14:150"},"nodeType":"YulExpressionStatement","src":"13840:14:150"},{"nodeType":"YulAssignment","src":"13863:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13881:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13884:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"13871:9:150"},"nodeType":"YulFunctionCall","src":"13871:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"13863:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"13813:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"13821:4:150","type":""}],"src":"13774:121:150"},{"body":{"nodeType":"YulBlock","src":"13981:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"14014:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"14028:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14038:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14032:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"14059:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"14063:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14052:6:150"},"nodeType":"YulFunctionCall","src":"14052:17:150"},"nodeType":"YulExpressionStatement","src":"14052:17:150"},{"nodeType":"YulVariableDeclaration","src":"14082:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"14104:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"14108:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"14094:9:150"},"nodeType":"YulFunctionCall","src":"14094:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"14086:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14126:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14149:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14159:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"14166:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14178:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14162:3:150"},"nodeType":"YulFunctionCall","src":"14162:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"14155:3:150"},"nodeType":"YulFunctionCall","src":"14155:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14145:3:150"},"nodeType":"YulFunctionCall","src":"14145:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"14130:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14220:23:150","statements":[{"nodeType":"YulAssignment","src":"14222:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"14237:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"14222:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"14202:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14214:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14199:2:150"},"nodeType":"YulFunctionCall","src":"14199:20:150"},"nodeType":"YulIf","src":"14196:47:150"},{"nodeType":"YulVariableDeclaration","src":"14256:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14270:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14280:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"14287:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"14292:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14283:3:150"},"nodeType":"YulFunctionCall","src":"14283:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"14276:3:150"},"nodeType":"YulFunctionCall","src":"14276:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14266:3:150"},"nodeType":"YulFunctionCall","src":"14266:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"14260:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14310:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"14323:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"14314:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14408:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"14417:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14424:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"14410:6:150"},"nodeType":"YulFunctionCall","src":"14410:17:150"},"nodeType":"YulExpressionStatement","src":"14410:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"14358:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"14365:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14355:2:150"},"nodeType":"YulFunctionCall","src":"14355:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"14369:26:150","statements":[{"nodeType":"YulAssignment","src":"14371:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"14384:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"14391:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14380:3:150"},"nodeType":"YulFunctionCall","src":"14380:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"14371:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"14351:3:150","statements":[]},"src":"14347:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"13997:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"14002:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13994:2:150"},"nodeType":"YulFunctionCall","src":"13994:11:150"},"nodeType":"YulIf","src":"13991:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"13953:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"13960:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"13965:10:150","type":""}],"src":"13900:545:150"},{"body":{"nodeType":"YulBlock","src":"14535:81:150","statements":[{"nodeType":"YulAssignment","src":"14545:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14560:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14578:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"14581:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14574:3:150"},"nodeType":"YulFunctionCall","src":"14574:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14591:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14587:3:150"},"nodeType":"YulFunctionCall","src":"14587:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"14570:3:150"},"nodeType":"YulFunctionCall","src":"14570:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14566:3:150"},"nodeType":"YulFunctionCall","src":"14566:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14556:3:150"},"nodeType":"YulFunctionCall","src":"14556:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14602:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"14605:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14598:3:150"},"nodeType":"YulFunctionCall","src":"14598:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14553:2:150"},"nodeType":"YulFunctionCall","src":"14553:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"14545:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"14512:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"14518:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"14526:4:150","type":""}],"src":"14450:166:150"},{"body":{"nodeType":"YulBlock","src":"14717:1256:150","statements":[{"nodeType":"YulVariableDeclaration","src":"14727:24:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"14747:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14741:5:150"},"nodeType":"YulFunctionCall","src":"14741:10:150"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"14731:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14794:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"14796:16:150"},"nodeType":"YulFunctionCall","src":"14796:18:150"},"nodeType":"YulExpressionStatement","src":"14796:18:150"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"14766:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14782:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14786:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14778:3:150"},"nodeType":"YulFunctionCall","src":"14778:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14790:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14774:3:150"},"nodeType":"YulFunctionCall","src":"14774:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14763:2:150"},"nodeType":"YulFunctionCall","src":"14763:30:150"},"nodeType":"YulIf","src":"14760:56:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"14869:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"14907:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"14901:5:150"},"nodeType":"YulFunctionCall","src":"14901:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"14875:25:150"},"nodeType":"YulFunctionCall","src":"14875:38:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"14915:6:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"14825:43:150"},"nodeType":"YulFunctionCall","src":"14825:97:150"},"nodeType":"YulExpressionStatement","src":"14825:97:150"},{"nodeType":"YulVariableDeclaration","src":"14931:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14948:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"14935:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14958:23:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14977:4:150","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"14962:11:150","type":""}]},{"nodeType":"YulAssignment","src":"14990:24:150","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"15003:11:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"14990:9:150"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"15060:656:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15074:35:150","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"15093:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15105:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15101:3:150"},"nodeType":"YulFunctionCall","src":"15101:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15089:3:150"},"nodeType":"YulFunctionCall","src":"15089:20:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"15078:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15122:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15166:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"15136:29:150"},"nodeType":"YulFunctionCall","src":"15136:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"15126:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15184:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15193:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"15188:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15271:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"15296:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15314:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"15319:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15310:3:150"},"nodeType":"YulFunctionCall","src":"15310:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15304:5:150"},"nodeType":"YulFunctionCall","src":"15304:26:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15289:6:150"},"nodeType":"YulFunctionCall","src":"15289:42:150"},"nodeType":"YulExpressionStatement","src":"15289:42:150"},{"nodeType":"YulAssignment","src":"15348:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"15362:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"15370:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15358:3:150"},"nodeType":"YulFunctionCall","src":"15358:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"15348:6:150"}]},{"nodeType":"YulAssignment","src":"15389:40:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"15406:9:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"15417:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15402:3:150"},"nodeType":"YulFunctionCall","src":"15402:27:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"15389:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15218:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"15221:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15215:2:150"},"nodeType":"YulFunctionCall","src":"15215:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"15230:28:150","statements":[{"nodeType":"YulAssignment","src":"15232:24:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15241:1:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"15244:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15237:3:150"},"nodeType":"YulFunctionCall","src":"15237:19:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"15232:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"15211:3:150","statements":[]},"src":"15207:236:150"},{"body":{"nodeType":"YulBlock","src":"15491:166:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15509:43:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15536:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"15541:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15532:3:150"},"nodeType":"YulFunctionCall","src":"15532:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15526:5:150"},"nodeType":"YulFunctionCall","src":"15526:26:150"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"15513:9:150","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"15576:6:150"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"15588:9:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15615:1:150","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"15618:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15611:3:150"},"nodeType":"YulFunctionCall","src":"15611:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"15627:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15607:3:150"},"nodeType":"YulFunctionCall","src":"15607:24:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15637:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15633:3:150"},"nodeType":"YulFunctionCall","src":"15633:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"15603:3:150"},"nodeType":"YulFunctionCall","src":"15603:37:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15599:3:150"},"nodeType":"YulFunctionCall","src":"15599:42:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15584:3:150"},"nodeType":"YulFunctionCall","src":"15584:58:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15569:6:150"},"nodeType":"YulFunctionCall","src":"15569:74:150"},"nodeType":"YulExpressionStatement","src":"15569:74:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"15462:7:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"15471:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15459:2:150"},"nodeType":"YulFunctionCall","src":"15459:19:150"},"nodeType":"YulIf","src":"15456:201:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15677:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15691:1:150","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"15694:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15687:3:150"},"nodeType":"YulFunctionCall","src":"15687:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"15703:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15683:3:150"},"nodeType":"YulFunctionCall","src":"15683:22:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15670:6:150"},"nodeType":"YulFunctionCall","src":"15670:36:150"},"nodeType":"YulExpressionStatement","src":"15670:36:150"}]},"nodeType":"YulCase","src":"15053:663:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15058:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"15733:234:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15747:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15760:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15751:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15796:67:150","statements":[{"nodeType":"YulAssignment","src":"15814:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15833:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"15838:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15829:3:150"},"nodeType":"YulFunctionCall","src":"15829:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15823:5:150"},"nodeType":"YulFunctionCall","src":"15823:26:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"15814:5:150"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"15777:6:150"},"nodeType":"YulIf","src":"15774:89:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15883:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15942:5:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"15949:6:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"15889:52:150"},"nodeType":"YulFunctionCall","src":"15889:67:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15876:6:150"},"nodeType":"YulFunctionCall","src":"15876:81:150"},"nodeType":"YulExpressionStatement","src":"15876:81:150"}]},"nodeType":"YulCase","src":"15725:242:150","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"15033:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"15041:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15030:2:150"},"nodeType":"YulFunctionCall","src":"15030:14:150"},"nodeType":"YulSwitch","src":"15023:944:150"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"14702:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"14708:3:150","type":""}],"src":"14621:1352:150"},{"body":{"nodeType":"YulBlock","src":"16127:142:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16144:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"16155:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16137:6:150"},"nodeType":"YulFunctionCall","src":"16137:25:150"},"nodeType":"YulExpressionStatement","src":"16137:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16182:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16193:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16178:3:150"},"nodeType":"YulFunctionCall","src":"16178:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16198:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16171:6:150"},"nodeType":"YulFunctionCall","src":"16171:30:150"},"nodeType":"YulExpressionStatement","src":"16171:30:150"},{"nodeType":"YulAssignment","src":"16210:53:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16236:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16248:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16259:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16244:3:150"},"nodeType":"YulFunctionCall","src":"16244:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"16218:17:150"},"nodeType":"YulFunctionCall","src":"16218:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16210:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16088:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16099:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16107:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16118:4:150","type":""}],"src":"15978:291:150"},{"body":{"nodeType":"YulBlock","src":"16374:180:150","statements":[{"body":{"nodeType":"YulBlock","src":"16420:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16429:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16432:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16422:6:150"},"nodeType":"YulFunctionCall","src":"16422:12:150"},"nodeType":"YulExpressionStatement","src":"16422:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16395:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16404:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16391:3:150"},"nodeType":"YulFunctionCall","src":"16391:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16416:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16387:3:150"},"nodeType":"YulFunctionCall","src":"16387:32:150"},"nodeType":"YulIf","src":"16384:52:150"},{"nodeType":"YulVariableDeclaration","src":"16445:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16464:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16458:5:150"},"nodeType":"YulFunctionCall","src":"16458:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16449:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16508:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16517:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16520:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16510:6:150"},"nodeType":"YulFunctionCall","src":"16510:12:150"},"nodeType":"YulExpressionStatement","src":"16510:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16496:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16503:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16493:2:150"},"nodeType":"YulFunctionCall","src":"16493:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16486:6:150"},"nodeType":"YulFunctionCall","src":"16486:21:150"},"nodeType":"YulIf","src":"16483:41:150"},{"nodeType":"YulAssignment","src":"16533:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"16543:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16533:6:150"}]}]},"name":"abi_decode_tuple_t_enum$_ProposalState_$61406_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16340:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16351:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16363:6:150","type":""}],"src":"16274:280:150"},{"body":{"nodeType":"YulBlock","src":"16688:175:150","statements":[{"nodeType":"YulAssignment","src":"16698:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16710:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16721:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16706:3:150"},"nodeType":"YulFunctionCall","src":"16706:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16698:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"16733:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16751:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"16756:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16747:3:150"},"nodeType":"YulFunctionCall","src":"16747:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16760:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16743:3:150"},"nodeType":"YulFunctionCall","src":"16743:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16737:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16778:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16793:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16801:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16789:3:150"},"nodeType":"YulFunctionCall","src":"16789:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16771:6:150"},"nodeType":"YulFunctionCall","src":"16771:34:150"},"nodeType":"YulExpressionStatement","src":"16771:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16825:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16836:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16821:3:150"},"nodeType":"YulFunctionCall","src":"16821:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16845:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16853:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16841:3:150"},"nodeType":"YulFunctionCall","src":"16841:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16814:6:150"},"nodeType":"YulFunctionCall","src":"16814:43:150"},"nodeType":"YulExpressionStatement","src":"16814:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16649:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16660:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16668:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16679:4:150","type":""}],"src":"16559:304:150"},{"body":{"nodeType":"YulBlock","src":"16949:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"16995:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17004:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17007:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16997:6:150"},"nodeType":"YulFunctionCall","src":"16997:12:150"},"nodeType":"YulExpressionStatement","src":"16997:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16970:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16979:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16966:3:150"},"nodeType":"YulFunctionCall","src":"16966:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16991:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16962:3:150"},"nodeType":"YulFunctionCall","src":"16962:32:150"},"nodeType":"YulIf","src":"16959:52:150"},{"nodeType":"YulAssignment","src":"17020:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17036:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17030:5:150"},"nodeType":"YulFunctionCall","src":"17030:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17020:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16915:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16926:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16938:6:150","type":""}],"src":"16868:184:150"},{"body":{"nodeType":"YulBlock","src":"17186:145:150","statements":[{"nodeType":"YulAssignment","src":"17196:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17208:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17219:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17204:3:150"},"nodeType":"YulFunctionCall","src":"17204:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17196:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17238:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17253:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17269:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17274:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17265:3:150"},"nodeType":"YulFunctionCall","src":"17265:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17278:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17261:3:150"},"nodeType":"YulFunctionCall","src":"17261:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17249:3:150"},"nodeType":"YulFunctionCall","src":"17249:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17231:6:150"},"nodeType":"YulFunctionCall","src":"17231:51:150"},"nodeType":"YulExpressionStatement","src":"17231:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17302:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17313:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17298:3:150"},"nodeType":"YulFunctionCall","src":"17298:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17318:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17291:6:150"},"nodeType":"YulFunctionCall","src":"17291:34:150"},"nodeType":"YulExpressionStatement","src":"17291:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17147:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17158:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17166:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17177:4:150","type":""}],"src":"17057:274:150"},{"body":{"nodeType":"YulBlock","src":"17414:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"17460:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17469:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17472:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17462:6:150"},"nodeType":"YulFunctionCall","src":"17462:12:150"},"nodeType":"YulExpressionStatement","src":"17462:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17435:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17444:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17431:3:150"},"nodeType":"YulFunctionCall","src":"17431:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"17456:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17427:3:150"},"nodeType":"YulFunctionCall","src":"17427:32:150"},"nodeType":"YulIf","src":"17424:52:150"},{"nodeType":"YulVariableDeclaration","src":"17485:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17504:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17498:5:150"},"nodeType":"YulFunctionCall","src":"17498:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17489:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17567:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17576:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17579:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17569:6:150"},"nodeType":"YulFunctionCall","src":"17569:12:150"},"nodeType":"YulExpressionStatement","src":"17569:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17536:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17557:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17550:6:150"},"nodeType":"YulFunctionCall","src":"17550:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17543:6:150"},"nodeType":"YulFunctionCall","src":"17543:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17533:2:150"},"nodeType":"YulFunctionCall","src":"17533:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17526:6:150"},"nodeType":"YulFunctionCall","src":"17526:40:150"},"nodeType":"YulIf","src":"17523:60:150"},{"nodeType":"YulAssignment","src":"17592:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"17602:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17592:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17380:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17391:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17403:6:150","type":""}],"src":"17336:277:150"},{"body":{"nodeType":"YulBlock","src":"17792:178:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17809:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17820:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17802:6:150"},"nodeType":"YulFunctionCall","src":"17802:21:150"},"nodeType":"YulExpressionStatement","src":"17802:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17843:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17854:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17839:3:150"},"nodeType":"YulFunctionCall","src":"17839:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"17859:2:150","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17832:6:150"},"nodeType":"YulFunctionCall","src":"17832:30:150"},"nodeType":"YulExpressionStatement","src":"17832:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17893:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17878:3:150"},"nodeType":"YulFunctionCall","src":"17878:18:150"},{"hexValue":"476f7665726e6f7220616464726573732063616e6e6f742062652030","kind":"string","nodeType":"YulLiteral","src":"17898:30:150","type":"","value":"Governor address cannot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17871:6:150"},"nodeType":"YulFunctionCall","src":"17871:58:150"},"nodeType":"YulExpressionStatement","src":"17871:58:150"},{"nodeType":"YulAssignment","src":"17938:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17950:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17961:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17946:3:150"},"nodeType":"YulFunctionCall","src":"17946:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17938:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17769:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17783:4:150","type":""}],"src":"17618:352:150"},{"body":{"nodeType":"YulBlock","src":"18149:178:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18177:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18159:6:150"},"nodeType":"YulFunctionCall","src":"18159:21:150"},"nodeType":"YulExpressionStatement","src":"18159:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18200:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18211:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18196:3:150"},"nodeType":"YulFunctionCall","src":"18196:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18216:2:150","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18189:6:150"},"nodeType":"YulFunctionCall","src":"18189:30:150"},"nodeType":"YulExpressionStatement","src":"18189:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18239:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18250:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18235:3:150"},"nodeType":"YulFunctionCall","src":"18235:18:150"},{"hexValue":"547265617375727920616464726573732063616e6e6f742062652030","kind":"string","nodeType":"YulLiteral","src":"18255:30:150","type":"","value":"Treasury address cannot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18228:6:150"},"nodeType":"YulFunctionCall","src":"18228:58:150"},"nodeType":"YulExpressionStatement","src":"18228:58:150"},{"nodeType":"YulAssignment","src":"18295:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18307:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18318:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18303:3:150"},"nodeType":"YulFunctionCall","src":"18303:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18295:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18126:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18140:4:150","type":""}],"src":"17975:352:150"},{"body":{"nodeType":"YulBlock","src":"18506:174:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18523:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18534:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18516:6:150"},"nodeType":"YulFunctionCall","src":"18516:21:150"},"nodeType":"YulExpressionStatement","src":"18516:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18557:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18568:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18553:3:150"},"nodeType":"YulFunctionCall","src":"18553:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18573:2:150","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18546:6:150"},"nodeType":"YulFunctionCall","src":"18546:30:150"},"nodeType":"YulExpressionStatement","src":"18546:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18596:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18607:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18592:3:150"},"nodeType":"YulFunctionCall","src":"18592:18:150"},{"hexValue":"4233545220616464726573732063616e6e6f742062652030","kind":"string","nodeType":"YulLiteral","src":"18612:26:150","type":"","value":"B3TR address cannot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18585:6:150"},"nodeType":"YulFunctionCall","src":"18585:54:150"},"nodeType":"YulExpressionStatement","src":"18585:54:150"},{"nodeType":"YulAssignment","src":"18648:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18660:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18671:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18656:3:150"},"nodeType":"YulFunctionCall","src":"18656:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18648:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18483:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18497:4:150","type":""}],"src":"18332:348:150"},{"body":{"nodeType":"YulBlock","src":"18859:223:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18876:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18887:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18869:6:150"},"nodeType":"YulFunctionCall","src":"18869:21:150"},"nodeType":"YulExpressionStatement","src":"18869:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18910:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18921:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18906:3:150"},"nodeType":"YulFunctionCall","src":"18906:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18926:2:150","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18899:6:150"},"nodeType":"YulFunctionCall","src":"18899:30:150"},"nodeType":"YulExpressionStatement","src":"18899:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18949:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18960:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18945:3:150"},"nodeType":"YulFunctionCall","src":"18945:18:150"},{"hexValue":"44656661756c742061646d696e20616464726573732063616e6e6f7420626520","kind":"string","nodeType":"YulLiteral","src":"18965:34:150","type":"","value":"Default admin address cannot be "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18938:6:150"},"nodeType":"YulFunctionCall","src":"18938:62:150"},"nodeType":"YulExpressionStatement","src":"18938:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19020:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19031:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19016:3:150"},"nodeType":"YulFunctionCall","src":"19016:18:150"},{"hexValue":"30","kind":"string","nodeType":"YulLiteral","src":"19036:3:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19009:6:150"},"nodeType":"YulFunctionCall","src":"19009:31:150"},"nodeType":"YulExpressionStatement","src":"19009:31:150"},{"nodeType":"YulAssignment","src":"19049:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19061:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19072:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19057:3:150"},"nodeType":"YulFunctionCall","src":"19057:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19049:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18836:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18850:4:150","type":""}],"src":"18685:397:150"},{"body":{"nodeType":"YulBlock","src":"19261:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19278:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19289:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19271:6:150"},"nodeType":"YulFunctionCall","src":"19271:21:150"},"nodeType":"YulExpressionStatement","src":"19271:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19312:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19323:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19308:3:150"},"nodeType":"YulFunctionCall","src":"19308:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"19328:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19301:6:150"},"nodeType":"YulFunctionCall","src":"19301:30:150"},"nodeType":"YulExpressionStatement","src":"19301:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19351:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19362:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19347:3:150"},"nodeType":"YulFunctionCall","src":"19347:18:150"},{"hexValue":"4d696e696d756d206d696c6573746f6e6520636f756e742063616e6e6f742062","kind":"string","nodeType":"YulLiteral","src":"19367:34:150","type":"","value":"Minimum milestone count cannot b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19340:6:150"},"nodeType":"YulFunctionCall","src":"19340:62:150"},"nodeType":"YulExpressionStatement","src":"19340:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19422:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19433:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19418:3:150"},"nodeType":"YulFunctionCall","src":"19418:18:150"},{"hexValue":"652030","kind":"string","nodeType":"YulLiteral","src":"19438:5:150","type":"","value":"e 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19411:6:150"},"nodeType":"YulFunctionCall","src":"19411:33:150"},"nodeType":"YulExpressionStatement","src":"19411:33:150"},{"nodeType":"YulAssignment","src":"19453:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19465:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19476:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19461:3:150"},"nodeType":"YulFunctionCall","src":"19461:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19453:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19238:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19252:4:150","type":""}],"src":"19087:399:150"},{"body":{"nodeType":"YulBlock","src":"19599:101:150","statements":[{"nodeType":"YulAssignment","src":"19609:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19621:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19632:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19617:3:150"},"nodeType":"YulFunctionCall","src":"19617:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19609:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19651:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19666:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19682:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"19686:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19678:3:150"},"nodeType":"YulFunctionCall","src":"19678:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"19690:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19674:3:150"},"nodeType":"YulFunctionCall","src":"19674:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19662:3:150"},"nodeType":"YulFunctionCall","src":"19662:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19644:6:150"},"nodeType":"YulFunctionCall","src":"19644:50:150"},"nodeType":"YulExpressionStatement","src":"19644:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19568:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19579:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19590:4:150","type":""}],"src":"19491:209:150"},{"body":{"nodeType":"YulBlock","src":"19786:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"19832:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19841:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19844:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19834:6:150"},"nodeType":"YulFunctionCall","src":"19834:12:150"},"nodeType":"YulExpressionStatement","src":"19834:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19807:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19816:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19803:3:150"},"nodeType":"YulFunctionCall","src":"19803:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19828:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19799:3:150"},"nodeType":"YulFunctionCall","src":"19799:32:150"},"nodeType":"YulIf","src":"19796:52:150"},{"nodeType":"YulAssignment","src":"19857:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19873:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19867:5:150"},"nodeType":"YulFunctionCall","src":"19867:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19857:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19752:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19763:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19775:6:150","type":""}],"src":"19705:184:150"},{"body":{"nodeType":"YulBlock","src":"20023:145:150","statements":[{"nodeType":"YulAssignment","src":"20033:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20045:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20056:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20041:3:150"},"nodeType":"YulFunctionCall","src":"20041:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20033:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20075:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20090:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20106:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"20111:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20102:3:150"},"nodeType":"YulFunctionCall","src":"20102:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"20115:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20098:3:150"},"nodeType":"YulFunctionCall","src":"20098:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20086:3:150"},"nodeType":"YulFunctionCall","src":"20086:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20068:6:150"},"nodeType":"YulFunctionCall","src":"20068:51:150"},"nodeType":"YulExpressionStatement","src":"20068:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20139:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20150:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20135:3:150"},"nodeType":"YulFunctionCall","src":"20135:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"20155:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20128:6:150"},"nodeType":"YulFunctionCall","src":"20128:34:150"},"nodeType":"YulExpressionStatement","src":"20128:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19984:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19995:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20003:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20014:4:150","type":""}],"src":"19894:274:150"},{"body":{"nodeType":"YulBlock","src":"20310:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"20320:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20340:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20334:5:150"},"nodeType":"YulFunctionCall","src":"20334:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"20324:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20395:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"20403:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20391:3:150"},"nodeType":"YulFunctionCall","src":"20391:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"20410:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"20415:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"20356:34:150"},"nodeType":"YulFunctionCall","src":"20356:66:150"},"nodeType":"YulExpressionStatement","src":"20356:66:150"},{"nodeType":"YulAssignment","src":"20431:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20442:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"20447:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20438:3:150"},"nodeType":"YulFunctionCall","src":"20438:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"20431:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"20286:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20291:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"20302:3:150","type":""}],"src":"20173:287:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_struct_Milestone(value, pos) -> end\n    {\n        mstore(pos, mload(value))\n        mstore(add(pos, 0x20), iszero(iszero(mload(add(value, 0x20)))))\n        mstore(add(pos, 0x40), iszero(iszero(mload(add(value, 0x40)))))\n        mstore(add(pos, 0x60), iszero(iszero(mload(add(value, 0x60)))))\n        let memberValue0 := mload(add(value, 0x80))\n        mstore(add(pos, 0x80), 0xa0)\n        end := abi_encode_string(memberValue0, add(pos, 0xa0))\n    }\n    function abi_encode_tuple_t_struct$_GrantProposal_$65419_memory_ptr__to_t_struct$_GrantProposal_$65419_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        mstore(headStart, _1)\n        let tail_1 := add(headStart, 256)\n        mstore(add(headStart, _1), mload(value0))\n        mstore(add(headStart, 64), mload(add(value0, _1)))\n        mstore(add(headStart, 96), mload(add(value0, 64)))\n        let memberValue0 := mload(add(value0, 96))\n        let _2 := sub(shl(160, 1), 1)\n        mstore(add(headStart, 128), and(memberValue0, _2))\n        mstore(add(headStart, 160), and(mload(add(value0, 128)), _2))\n        let memberValue0_1 := mload(add(value0, 160))\n        mstore(add(headStart, 192), 0xe0)\n        let pos := tail_1\n        let length := mload(memberValue0_1)\n        mstore(tail_1, length)\n        let _3 := 288\n        pos := add(headStart, _3)\n        let tail_2 := add(add(headStart, shl(5, length)), _3)\n        let srcPtr := add(memberValue0_1, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(287)))\n            tail_2 := abi_encode_struct_Milestone(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        let memberValue0_2 := mload(add(value0, 192))\n        mstore(add(headStart, 0xe0), add(sub(tail_2, headStart), not(31)))\n        tail := abi_encode_string(memberValue0_2, tail_2)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Milestone_$65401_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_struct_Milestone(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_string_memory_ptrt_uint256t_addresst_addresst_array$_t_bytes_memory_ptr_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n        let _2 := 32\n        value1 := calldataload(add(headStart, _2))\n        let value := calldataload(add(headStart, 64))\n        validator_revert_address(value)\n        value2 := value\n        let value_1 := calldataload(add(headStart, 96))\n        validator_revert_address(value_1)\n        value3 := value_1\n        let offset_1 := calldataload(add(headStart, 128))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let _3 := add(headStart, offset_1)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        if gt(_4, _1) { panic_error_0x41() }\n        let _5 := shl(5, _4)\n        let dst := allocate_memory(add(_5, _2))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _2)\n        let srcEnd := add(add(_3, _5), _2)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, _1)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            mstore(dst, abi_decode_bytes(add(add(_3, innerOffset), _2), dataEnd))\n            dst := add(dst, _2)\n        }\n        value4 := dst_1\n    }\n    function abi_encode_tuple_t_struct$_Milestone_$65401_memory_ptr__to_t_struct$_Milestone_$65401_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Milestone(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value2 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_enum$_GrantState_$65383__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 10)) { panic_error_0x21() }\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_enum$_MilestoneState_$65389__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 4)) { panic_error_0x21() }\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_addresst_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        let value_2 := calldataload(add(headStart, 64))\n        validator_revert_address(value_2)\n        value2 := value_2\n        let value_3 := calldataload(add(headStart, 96))\n        validator_revert_address(value_3)\n        value3 := value_3\n        value4 := calldataload(add(headStart, 128))\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_address_payablet_uint256_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := mload(add(headStart, 32))\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := srcOffset_1\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_string(value1, add(headStart, 64))\n    }\n    function abi_decode_tuple_t_enum$_ProposalState_$61406_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(lt(value, 10)) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"Governor address cannot be 0\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"Treasury address cannot be 0\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 24)\n        mstore(add(headStart, 64), \"B3TR address cannot be 0\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 33)\n        mstore(add(headStart, 64), \"Default admin address cannot be \")\n        mstore(add(headStart, 96), \"0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Minimum milestone count cannot b\")\n        mstore(add(headStart, 96), \"e 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":13009},{"length":32,"start":13050},{"length":32,"start":13380}]},"linkReferences":{},"object":"6080604052600436106102175760003560e01c806219cce61461021c578063012947641461024757806301ffc9a71461026a57806306c498221461029a5780631ed65110146102bc57806321afd1f6146102dc578063248a9ca3146102fe57806324ad94cd1461031e57806326c74fc31461034b5780632f2ff15d1461036057806336568abe146103805780633f36cd7f146103a05780633f4ba83a146103c257806342c549c0146103d75780634f1ef2861461040457806352d1902d1461041757806354b90b7b1461042c57806354fd4d501461044c5780635ade3874146104605780635c975abb14610480578063767b1602146104955780637da17bf3146104b5578063808860a5146104d55780638456cb59146104f55780638ed9895c1461050a57806391d14854146105375780639b15408714610557578063a217fddf14610577578063ad3cb1cc1461058c578063b2a2eef9146105ca578063b3396778146105ea578063bfda4e7c1461060a578063c1a45a6a14610637578063c224938914610657578063c266aef714610677578063c42433b414610697578063c4ec8f98146106b7578063cff28c70146106cc578063d547741f146106ec578063da104fac1461070c578063e03d759b1461072c578063e63ab1e91461074c578063e9af5d1b1461076e578063f23e227b1461079b578063f36c8f5c146107bb578063f7013ef6146107dd578063f72c0d8b146107fd575b600080fd5b34801561022857600080fd5b5061023161081f565b60405161023e9190613ed6565b60405180910390f35b34801561025357600080fd5b5061025c61083d565b60405190815260200161023e565b34801561027657600080fd5b5061028a610285366004613eea565b610852565b604051901515815260200161023e565b3480156102a657600080fd5b506102ba6102b5366004613f29565b610889565b005b3480156102c857600080fd5b506102ba6102d7366004613f29565b6108c4565b3480156102e857600080fd5b5061025c60008051602061476a83398151915281565b34801561030a57600080fd5b5061025c610319366004613f46565b6108ff565b34801561032a57600080fd5b5061033e610339366004613f46565b61091f565b60405161023e9190613ff2565b34801561035757600080fd5b50610231610b96565b34801561036c57600080fd5b506102ba61037b3660046140b7565b610bb4565b34801561038c57600080fd5b506102ba61039b3660046140b7565b610bd6565b3480156103ac57600080fd5b5061025c60008051602061482a83398151915281565b3480156103ce57600080fd5b506102ba610c0e565b3480156103e357600080fd5b506103f76103f2366004613f46565b610c7a565b60405161023e91906140e7565b6102ba6104123660046141fe565b610dc6565b34801561042357600080fd5b5061025c610de1565b34801561043857600080fd5b506102ba610447366004613f29565b610dfe565b34801561045857600080fd5b50600361025c565b34801561046c57600080fd5b5061025c61047b366004613f46565b610e39565b34801561048c57600080fd5b5061028a610e44565b3480156104a157600080fd5b506102ba6104b036600461424d565b610e59565b3480156104c157600080fd5b5061028a6104d0366004613f46565b610fd1565b3480156104e157600080fd5b506102ba6104f036600461426f565b611254565b34801561050157600080fd5b506102ba6117e5565b34801561051657600080fd5b5061052a61052536600461424d565b61184d565b60405161023e9190614384565b34801561054357600080fd5b5061028a6105523660046140b7565b6119ae565b34801561056357600080fd5b5061028a610572366004613f46565b6119e4565b34801561058357600080fd5b5061025c600081565b34801561059857600080fd5b506105bd604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161023e9190614397565b3480156105d657600080fd5b506102ba6105e5366004613f46565b611d43565b3480156105f657600080fd5b506102ba6106053660046143aa565b611d63565b34801561061657600080fd5b5061062a610625366004613f46565b611efc565b60405161023e919061440f565b34801561064357600080fd5b5061028a61065236600461424d565b611ff1565b34801561066357600080fd5b5061028a610672366004613f46565b612018565b34801561068357600080fd5b506102ba61069236600461424d565b61237c565b3480156106a357600080fd5b506102ba6106b2366004614429565b6127f6565b3480156106c357600080fd5b506102316128e9565b3480156106d857600080fd5b506105bd6106e7366004613f46565b612907565b3480156106f857600080fd5b506102ba6107073660046140b7565b6129b9565b34801561071857600080fd5b50610231610727366004613f46565b6129d5565b34801561073857600080fd5b506102ba6107473660046140b7565b6129fe565b34801561075857600080fd5b5061025c60008051602061480a83398151915281565b34801561077a57600080fd5b5061078e61078936600461424d565b612ae5565b60405161023e9190614459565b3480156107a757600080fd5b506102ba6107b6366004613f46565b612af8565b3480156107c757600080fd5b5061025c60008051602061478a83398151915281565b3480156107e957600080fd5b506102ba6107f836600461446d565b612dbd565b34801561080957600080fd5b5061025c6000805160206147ca83398151915281565b60008061082a613101565b600101546001600160a01b031692915050565b600080610848613101565b6004015492915050565b60006001600160e01b03198216637965db0b60e01b148061088357506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061089481613125565b600061089e613101565b60010180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60006108cf81613125565b60006108d9613101565b60020180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a613132565b60009384526020525050604090206001015490565b6109716040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160608152602001606081525090565b600061097b613101565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b03908116606083015260048301541660808201526005820180548451818702810187019095528085529697509095919460a087019491929184015b82821015610af45760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610a63906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8f906144d1565b8015610adc5780601f10610ab157610100808354040283529160200191610adc565b820191906000526020600020905b815481529060010190602001808311610abf57829003601f168201915b505050505081525050815260200190600101906109ef565b505050508152602001600682018054610b0c906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610b38906144d1565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050505081525050915050919050565b600080610ba1613101565b600201546001600160a01b031692915050565b610bbd826108ff565b610bc681613125565b610bd08383613156565b50505050565b6001600160a01b0381163314610bff5760405163334bd91960e11b815260040160405180910390fd5b610c0982826131f7565b505050565b60008051602061480a8339815191526000610c27613101565b9050610c3382336119ae565b80610c515750610c5160008051602061478a833981519152336119ae565b610c6e5760405163ea8e4eb560e01b815260040160405180910390fd5b610c7661326f565b5050565b60606000610c86613101565b600084815260208281526040808320600501805482518185028101850190935280835294955090939092909184015b82821015610dba5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610d29906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610d55906144d1565b8015610da25780601f10610d7757610100808354040283529160200191610da2565b820191906000526020600020905b815481529060010190602001808311610d8557829003601f168201915b50505050508152505081526020019060010190610cb5565b50505050915050919050565b610dce6132c6565b610dd78261336d565b610c768282613385565b6000610deb613439565b506000805160206147ea83398151915290565b6000610e0981613125565b6000610e13613101565b60030180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a613101565b600080610e4f613482565b5460ff1692915050565b60008051602061482a8339815191526000610e72613101565b9050610e7e82336119ae565b80610e9c5750610e9c60008051602061478a833981519152336119ae565b610eb95760405163ea8e4eb560e01b815260040160405180910390fd5b6000610ec3613101565b9050610ece856134a6565b610ed8858561355c565b8315610f61576000610ef486610eef600188614521565b61359e565b90506001816003811115610f0a57610f0a6143f9565b14158015610f2a57506002816003811115610f2757610f276143f9565b14155b15610f5f5785610f3b600187614521565b60405163414e3ac760e01b8152600401610f56929190614534565b60405180910390fd5b505b600085815260208290526040902060050180546001919086908110610f8857610f88614542565b60009182526020822060016003909202010180549215156101000261ff001990931692909217909155604051859187916000805160206147aa8339815191529190a35050505050565b600080610fdc613101565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156111595760008481526020908190206040805160a0810182526003860290920180548352600181015460ff8082161515958501959095526101008104851615159284019290925262010000909104909216151560608201526002820180549192916080840191906110c8906144d1565b80601f01602080910402602001604051908101604052809291908181526020018280546110f4906144d1565b80156111415780601f1061111657610100808354040283529160200191611141565b820191906000526020600020905b81548152906001019060200180831161112457829003601f168201915b50505050508152505081526020019060010190611054565b505050508152602001600682018054611171906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461119d906144d1565b80156111ea5780601f106111bf576101008083540402835291602001916111ea565b820191906000526020600020905b8154815290600101906020018083116111cd57829003601f168201915b505050505081525050905060005b8160a0015151811015611249578160a00151818151811061121b5761121b614542565b6020026020010151606001511561123757506001949350505050565b8061124181614558565b9150506111f8565b506000949350505050565b600061125e613101565b905061127860008051602061478a833981519152336119ae565b6112955760405163ea8e4eb560e01b815260040160405180910390fd5b61129d613826565b60006112a7613101565b6000878152602082905260408120919250805b855181101561152e5760008682815181106112d7576112d7614542565b602090810291909101810151908101519091506001600160e01b03198116638e184b3f60e01b14611327576040516310cb7cf160e21b81526001600160e01b031982166004820152602401610f56565b6000600483516113379190614521565b6001600160401b0381111561134e5761134e614149565b6040519080825280601f01601f191660200182016040528015611378576020820181803683370190505b50905060005b81518110156113e95783611393826004614571565b815181106113a3576113a3614542565b602001015160f81c60f81b8282815181106113c0576113c0614542565b60200101906001600160f81b031916908160001a905350806113e181614558565b91505061137e565b50600080828060200190518101906114019190614584565b90925090506001600160a01b0382163014611431578160405163d08525e960e01b8152600401610f569190613ed6565b806000036114525760405163162908e360e11b815260040160405180910390fd5b61145c8188614571565b60008f815260208b81526040808320815160a08101835286815280840185815281840186815260608301878152855180880190965287865260808401958652600590940180546001818101835591895296909720835160039097020195865590519585018054915193511515620100000262ff0000199415156101000261ff00199815159890981661ffff199093169290921796909617929092169190911790935551929950909160028201906115139082614600565b5050505050505050808061152690614558565b9150506112ba565b508782556003820180546001600160a01b0319166001600160a01b0389161790556006820161155d8a82614600565b50600182018190556000600283018190556004830180546001600160a01b0319166001600160a01b038981169182179092556040805160e08101825286548152602080820187905281830186905260038801549094166060820152608081019290925260058601805482518186028101860190935280835261178c959394889460a087019493929184015b828210156116ed5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061165c906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054611688906144d1565b80156116d55780601f106116aa576101008083540402835291602001916116d5565b820191906000526020600020905b8154815290600101906020018083116116b857829003601f168201915b505050505081525050815260200190600101906115e8565b505050508152602001600682018054611705906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054611731906144d1565b801561177e5780601f106117535761010080835404028352916020019161177e565b820191906000526020600020905b81548152906001019060200180831161176157829003601f168201915b50505050508152505061384c565b856001600160a01b0316876001600160a01b0316897f4881acb9050bcf1b58cd99d39b4d4497e03c9961e7466fdb95d6e422cd6f9553848d6040516117d29291906146bf565b60405180910390a4505050505050505050565b60008051602061480a83398151915260006117fe613101565b905061180a82336119ae565b80611828575061182860008051602061478a833981519152336119ae565b6118455760405163ea8e4eb560e01b815260040160405180910390fd5b610c766139ce565b6118856040518060a0016040528060008152602001600015158152602001600015158152602001600015158152602001606081525090565b600061188f613101565b6000858152602082905260409020600501805491925090849081106118b6576118b6614542565b60009182526020918290206040805160a081018252600390930290910180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190611923906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461194f906144d1565b801561199c5780601f106119715761010080835404028352916020019161199c565b820191906000526020600020905b81548152906001019060200180831161197f57829003601f168201915b50505050508152505091505092915050565b6000806119b9613132565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000806119ef613101565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b82821015611b6c5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190611adb906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054611b07906144d1565b8015611b545780601f10611b2957610100808354040283529160200191611b54565b820191906000526020600020905b815481529060010190602001808311611b3757829003601f168201915b50505050508152505081526020019060010190611a67565b505050508152602001600682018054611b84906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054611bb0906144d1565b8015611bfd5780601f10611bd257610100808354040283529160200191611bfd565b820191906000526020600020905b815481529060010190602001808311611be057829003601f168201915b505050919092525050506001830154604051631f27a4f360e11b8152600481018790529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7c91906146d8565b90506006816009811115611c9257611c926143f9565b14158015611cb257506008816009811115611caf57611caf6143f9565b14155b8015611cd057506009816009811115611ccd57611ccd6143f9565b14155b15611ce057506000949350505050565b60005b8260a0015151811015611d37576000611cfc878361359e565b90506000816003811115611d1257611d126143f9565b03611d24575060019695505050505050565b5080611d2f81614558565b915050611ce3565b50600095945050505050565b6000611d4e81613125565b6000611d58613101565b600401929092555050565b60008051602061482a8339815191526000611d7c613101565b9050611d8882336119ae565b80611da65750611da660008051602061478a833981519152336119ae565b611dc35760405163ea8e4eb560e01b815260040160405180910390fd5b6000611dcd613101565b9050611dd8866134a6565b611de2868661355c565b8415611e42576000611df987610eef600189614521565b90506001816003811115611e0f57611e0f6143f9565b14158015611e2f57506002816003811115611e2c57611e2c6143f9565b14155b15611e405786610f3b600188614521565b505b600086815260208290526040902060050180546001919087908110611e6957611e69614542565b906000526020600020906003020160010160016101000a81548160ff021916908315150217905550838160000160008881526020019081526020016000206005018681548110611ebb57611ebb614542565b90600052602060002090600302016002019081611ed89190614600565b50604051859087906000805160206147aa83398151915290600090a3505050505050565b600080611f07613101565b6001810154604051631f27a4f360e11b8152600481018690529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7c91906146d8565b9050611f8784610fd1565b15611f96575060029392505050565b611f9f846119e4565b15611fae575060089392505050565b611fb784612018565b15611fc6575060099392505050565b806009811115611fd857611fd86143f9565b6009811115611fe957611fe96143f9565b949350505050565b60006001611fff848461359e565b6003811115612010576120106143f9565b149392505050565b600080612023613101565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156121a05760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061210f906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461213b906144d1565b80156121885780601f1061215d57610100808354040283529160200191612188565b820191906000526020600020905b81548152906001019060200180831161216b57829003601f168201915b5050505050815250508152602001906001019061209b565b5050505081526020016006820180546121b8906144d1565b80601f01602080910402602001604051908101604052809291908181526020018280546121e4906144d1565b80156122315780601f1061220657610100808354040283529160200191612231565b820191906000526020600020905b81548152906001019060200180831161221457829003601f168201915b505050919092525050506001830154604051631f27a4f360e11b8152600481018790529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa15801561228c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b091906146d8565b905060068160098111156122c6576122c66143f9565b141580156122e6575060088160098111156122e3576122e36143f9565b14155b801561230457506009816009811115612301576123016143f9565b14155b1561231457506000949350505050565b600061232c8660018560a0015151610eef9190614521565b90506000816003811115612342576123426143f9565b148061235f5750600381600381111561235d5761235d6143f9565b145b156123705750600095945050505050565b50600195945050505050565b612384613a15565b61238c613826565b6000612396613101565b600084815260208290526040902060058101549192509083106123d0578383604051631e153ebf60e21b8152600401610f56929190614534565b60048101546001600160a01b031633811461240f576040516395efd21560e01b81523360048201526001600160a01b0382166024820152604401610f56565b600082600501858154811061242657612426614542565b60009182526020918290206040805160a081018252600390930290910180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190612493906144d1565b80601f01602080910402602001604051908101604052809291908181526020018280546124bf906144d1565b801561250c5780601f106124e15761010080835404028352916020019161250c565b820191906000526020600020905b8154815290600101906020018083116124ef57829003601f168201915b50505050508152505090506000612523878761359e565b90506001816003811115612539576125396143f9565b1415801561255957506002816003811115612556576125566143f9565b14155b1561257b578686604051636ff77edd60e01b8152600401610f56929190614534565b600281600381111561258f5761258f6143f9565b036125b157868660405163627f243d60e11b8152600401610f56929190614534565b815160038601546040516370a0823160e01b81526001600160a01b03909116906370a08231906125e5903090600401613ed6565b602060405180830381865afa158015612602573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262691906146f9565b10156126bb5760038501546040516370a0823160e01b81526001600160a01b03909116906370a082319061265e903090600401613ed6565b602060405180830381865afa15801561267b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269f91906146f9565b825160405162fae2d560e21b8152610f56929190600401614534565b6003850154825160405163a9059cbb60e01b81526000926001600160a01b03169163a9059cbb916126f0918891600401614712565b6020604051808303816000875af115801561270f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612733919061472b565b905080612753576040516312171d8360e31b815260040160405180910390fd5b600185600501888154811061276a5761276a614542565b906000526020600020906003020160010160006101000a81548160ff02191690831515021790555082600001518560020160008282546127aa9190614571565b90915550508251604051908152879089907f6ecdb8cbf47483e6e73593d9d08161bd1c750eb1a8b0cfbaabc80317d281adbe9060200160405180910390a3505050505050610c76613a4b565b6000612800613101565b60008481526020829052604090206003810154919250906001600160a01b0316331480159061283c575060048101546001600160a01b03163314155b801561285d575061285b60008051602061482a833981519152336119ae565b155b801561287e575061287c60008051602061478a833981519152336119ae565b155b1561289c5760405163ea8e4eb560e01b815260040160405180910390fd5b600681016128aa8482614600565b50837ff54adc4fa88871bb9bb39a4fc2f5dc8b81291d5f344fd26b636ad128e8cab3a4846040516128db9190614397565b60405180910390a250505050565b6000806128f4613101565b600301546001600160a01b031692915050565b60606000612913613101565b6000848152602082905260409020600601805491925090612933906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461295f906144d1565b80156129ac5780601f10612981576101008083540402835291602001916129ac565b820191906000526020600020905b81548152906001019060200180831161298f57829003601f168201915b5050505050915050919050565b6129c2826108ff565b6129cb81613125565b610bd083836131f7565b6000806129e0613101565b6000938452602052505060409020600401546001600160a01b031690565b816000612a09613101565b9050612a2360008051602061478a833981519152336119ae565b80612a5057506000828152602082905260409020600401546001600160a01b0316336001600160a01b0316145b612a6d5760405163ea8e4eb560e01b815260040160405180910390fd5b6000612a77613101565b6000868152602082905260409081902060040180546001600160a01b0319166001600160a01b0388161790555190915085907f1796595f8b84e72820b0e06df582ff944db24f5e710795c7c8ac5112e6de039e90612ad6908790613ed6565b60405180910390a25050505050565b6000612af1838361359e565b9392505050565b60008051602061476a8339815191526000612b11613101565b9050612b1d82336119ae565b80612b3b5750612b3b60008051602061478a833981519152336119ae565b612b585760405163ea8e4eb560e01b815260040160405180910390fd5b6000612b62613101565b60008581526020828152604080832060050180548251818502810185019093528083529495509293909291849084015b82821015612c975760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190612c06906144d1565b80601f0160208091040260200160405190810160405280929190818152602001828054612c32906144d1565b8015612c7f5780601f10612c5457610100808354040283529160200191612c7f565b820191906000526020600020905b815481529060010190602001808311612c6257829003601f168201915b50505050508152505081526020019060010190612b92565b505050509050612ca685612018565b15612cc75760405163b2e459af60e01b815260048101869052602401610f56565b612cd085610fd1565b15612cf157604051633dba08ff60e01b815260048101869052602401610f56565b60005b8151811015612d81576000612d09878361359e565b6003811115612d1a57612d1a6143f9565b03612d6f57600086815260208490526040902060050180546001919083908110612d4657612d46614542565b906000526020600020906003020160010160026101000a81548160ff0219169083151502179055505b80612d7981614558565b915050612cf4565b50612d8b85613a5c565b60405185907ff9125771cfea9a399996ab1f5e54c097b3bf95285fd184c2b05fdcef4dee834b90600090a25050505050565b6000612dc7613bef565b805490915060ff600160401b82041615906001600160401b0316600081158015612dee5750825b90506000826001600160401b03166001148015612e0a5750303b155b905081158015612e18575080155b15612e365760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315612e5f57845460ff60401b1916600160401b1785555b6001600160a01b038a16612eb45760405162461bcd60e51b815260206004820152601c60248201527b0476f7665726e6f7220616464726573732063616e6e6f7420626520360241b6044820152606401610f56565b6001600160a01b038916612f095760405162461bcd60e51b815260206004820152601c60248201527b0547265617375727920616464726573732063616e6e6f7420626520360241b6044820152606401610f56565b6001600160a01b038716612f5a5760405162461bcd60e51b815260206004820152601860248201527704233545220616464726573732063616e6e6f7420626520360441b6044820152606401610f56565b6001600160a01b038816612fba5760405162461bcd60e51b815260206004820152602160248201527f44656661756c742061646d696e20616464726573732063616e6e6f74206265206044820152600360fc1b6064820152608401610f56565b600086116130165760405162461bcd60e51b815260206004820152602360248201527f4d696e696d756d206d696c6573746f6e6520636f756e742063616e6e6f74206260448201526206520360ec1b6064820152608401610f56565b61301e613c13565b613026613c13565b61302e613c1b565b613036613c2b565b613041600089613156565b5061305a60008051602061478a8339815191528b613156565b506000613065613101565b6001810180546001600160a01b03808f166001600160a01b0319928316179092556002830180548e8416908316179055600383018054928c16929091169190911790556004018790555083156130f557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b7f827ef7a586340a0afd9df4d10dcd47e35ee20572dbc95830311fcb8284606d0090565b61312f8133613c3b565b50565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600080613161613132565b905061316d84846119ae565b6131ed576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556131a33390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610883565b6000915050610883565b600080613202613132565b905061320e84846119ae565b156131ed576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610883565b613277613c66565b6000613281613482565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516132bb9190613ed6565b60405180910390a150565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061334d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166133416000805160206147ea833981519152546001600160a01b031690565b6001600160a01b031614155b1561336b5760405163703e46dd60e11b815260040160405180910390fd5b565b6000805160206147ca833981519152610c7681613125565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156133df575060408051601f3d908101601f191682019092526133dc918101906146f9565b60015b6133fe5781604051634c9c8ce360e01b8152600401610f569190613ed6565b6000805160206147ea833981519152811461342f57604051632a87526960e21b815260048101829052602401610f56565b610c098383613c8b565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461336b5760405163703e46dd60e11b815260040160405180910390fd5b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b60006134b0613101565b6001810154604051631f27a4f360e11b8152600481018590529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015613501573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061352591906146d8565b9050600681600981111561353b5761353b6143f9565b14610c09576040516326ac2ff960e11b815260048101849052602401610f56565b6000613568838361359e565b9050600081600381111561357e5761357e6143f9565b14610c095780604051632367a31d60e01b8152600401610f569190614459565b6000806135a9613101565b600085815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156137265760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190613695906144d1565b80601f01602080910402602001604051908101604052809291908181526020018280546136c1906144d1565b801561370e5780601f106136e35761010080835404028352916020019161370e565b820191906000526020600020905b8154815290600101906020018083116136f157829003601f168201915b50505050508152505081526020019060010190613621565b50505050815260200160068201805461373e906144d1565b80601f016020809104026020016040519081016040528092919081815260200182805461376a906144d1565b80156137b75780601f1061378c576101008083540402835291602001916137b7565b820191906000526020600020905b81548152906001019060200180831161379a57829003601f168201915b505050505081525050905060008160a0015185815181106137da576137da614542565b602002602001015190508060600151156137fa5760039350505050610883565b8060200151156138105760029350505050610883565b806040015115611d375760019350505050610883565b61382e610e44565b1561336b5760405163d93c066560e01b815260040160405180910390fd5b6000613856613101565b60018101549091506001600160a01b031633146138865760405163ea8e4eb560e01b815260040160405180910390fd5b60608201516001600160a01b03166138b157604051636592311760e01b815260040160405180910390fd5b8160c00151516000036138d75760405163436f9d5760e01b815260040160405180910390fd5b60005b8260a001515181101561393e578260a0015181815181106138fd576138fd614542565b60200260200101516000015160000361392c57604051632afb5d5160e21b815260048101829052602401610f56565b8061393681614558565b9150506138da565b50816020015160000361396457604051632b2f408960e11b815260040160405180910390fd5b8160200151826040015111156139995781604001518260200151604051633b9f12cf60e01b8152600401610f56929190614534565b80600401548260a00151511015610c765760a08201515160048083015460405163fd1c0ddb60e01b8152610f56939201614534565b6139d6613826565b60006139e0613482565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586132ae3390565b6000613a1f613ce1565b805490915060011901613a4557604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6000613a55613ce1565b6001905550565b6000613a66613101565b600083815260208290526040812060028101546001909101549293509091613a8e9190614521565b90508015613bb05760038201546040516370a0823160e01b81526000916001600160a01b0316906370a0823190613ac9903090600401613ed6565b602060405180830381865afa158015613ae6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0a91906146f9565b905081811015613b3057808260405162fae2d560e21b8152600401610f56929190614534565b6003830154600284015460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92613b6a929116908690600401614712565b6020604051808303816000875af1158015613b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bad919061472b565b50505b827f122fca773bdc90ed7da7c637fa41c96069c5b596f4ebfacfe0787da4ecce869382604051613be291815260200190565b60405180910390a2505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b61336b613d05565b613c23613d05565b61336b613d2a565b613c33613d05565b61336b613d47565b613c4582826119ae565b610c7657808260405163e2517d3f60e01b8152600401610f56929190614712565b613c6e610e44565b61336b57604051638dfc202b60e01b815260040160405180910390fd5b613c9482613d4f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613cd957610c098282613dab565b610c76613e21565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b613d0d613e40565b61336b57604051631afcd79f60e31b815260040160405180910390fd5b613d32613d05565b6000613d3c613482565b805460ff1916905550565b613a4b613d05565b806001600160a01b03163b600003613d7c5780604051634c9c8ce360e01b8152600401610f569190613ed6565b6000805160206147ea83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613dc8919061474d565b600060405180830381855af49150503d8060008114613e03576040519150601f19603f3d011682016040523d82523d6000602084013e613e08565b606091505b5091509150613e18858383613e5a565b95945050505050565b341561336b5760405163b398979f60e01b815260040160405180910390fd5b6000613e4a613bef565b54600160401b900460ff16919050565b606082613e6f57613e6a82613ead565b612af1565b8151158015613e8657506001600160a01b0384163b155b15613ea65783604051639996b31560e01b8152600401610f569190613ed6565b5092915050565b805115613ebd5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0391909116815260200190565b600060208284031215613efc57600080fd5b81356001600160e01b031981168114612af157600080fd5b6001600160a01b038116811461312f57600080fd5b600060208284031215613f3b57600080fd5b8135612af181613f14565b600060208284031215613f5857600080fd5b5035919050565b60005b83811015613f7a578181015183820152602001613f62565b50506000910152565b60008151808452613f9b816020860160208601613f5f565b601f01601f19169290920160200192915050565b805182526020810151151560208301526040810151151560408301526060810151151560608301526000608082015160a06080850152611fe960a0850182613f83565b60006020808352610100830184518285015281850151604085015260408501516060850152606085015160018060a01b0380821660808701528060808801511660a0870152505060a085015160e060c086015281815180845261012093508387019150838160051b8801019350848301925060005b818110156140965761011f19888603018352614084858551613faf565b94509285019291850191600101614067565b5050505060c0850151848203601f190160e08601529150613e188183613f83565b600080604083850312156140ca57600080fd5b8235915060208301356140dc81613f14565b809150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561413c57603f1988860301845261412a858351613faf565b9450928501929085019060010161410e565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561418757614187614149565b604052919050565b600082601f8301126141a057600080fd5b81356001600160401b038111156141b9576141b9614149565b6141cc601f8201601f191660200161415f565b8181528460208386010111156141e157600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561421157600080fd5b823561421c81613f14565b915060208301356001600160401b0381111561423757600080fd5b6142438582860161418f565b9150509250929050565b6000806040838503121561426057600080fd5b50508035926020909101359150565b600080600080600060a0868803121561428757600080fd5b85356001600160401b038082111561429e57600080fd5b6142aa89838a0161418f565b96506020915081880135955060408801356142c481613f14565b945060608801356142d481613f14565b93506080880135818111156142e857600080fd5b8801601f81018a136142f957600080fd5b80358281111561430b5761430b614149565b8060051b61431a85820161415f565b918252828101850191858101908d84111561433457600080fd5b86850192505b83831015614370578235868111156143525760008081fd5b6143608f898389010161418f565b835250918601919086019061433a565b809750505050505050509295509295909350565b602081526000612af16020830184613faf565b602081526000612af16020830184613f83565b6000806000606084860312156143bf57600080fd5b833592506020840135915060408401356001600160401b038111156143e357600080fd5b6143ef8682870161418f565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60208101600a8310614423576144236143f9565b91905290565b6000806040838503121561443c57600080fd5b8235915060208301356001600160401b0381111561423757600080fd5b6020810160048310614423576144236143f9565b600080600080600060a0868803121561448557600080fd5b853561449081613f14565b945060208601356144a081613f14565b935060408601356144b081613f14565b925060608601356144c081613f14565b949793965091946080013592915050565b600181811c908216806144e557607f821691505b60208210810361450557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108835761088361450b565b918252602082015260400190565b634e487b7160e01b600052603260045260246000fd5b60006001820161456a5761456a61450b565b5060010190565b808201808211156108835761088361450b565b6000806040838503121561459757600080fd5b82516145a281613f14565b6020939093015192949293505050565b601f821115610c0957600081815260208120601f850160051c810160208610156145d95750805b601f850160051c820191505b818110156145f8578281556001016145e5565b505050505050565b81516001600160401b0381111561461957614619614149565b61462d8161462784546144d1565b846145b2565b602080601f831160018114614662576000841561464a5750858301515b600019600386901b1c1916600185901b1785556145f8565b600085815260208120601f198616915b8281101561469157888601518255948401946001909101908401614672565b50858210156146af5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b828152604060208201526000611fe96040830184613f83565b6000602082840312156146ea57600080fd5b8151600a8110612af157600080fd5b60006020828403121561470b57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561473d57600080fd5b81518015158114612af157600080fd5b6000825161475f818460208701613f5f565b919091019291505056fec30f7ed76aad52e1db9d4574c81f8eeb708f6974b7f45424a3f1b7394c2885e171840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1345699b3779e7f0f3201b7d9d8c3e2bc3ce9f29696be4e3eebc592beb21727c3189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a47aa345c1c0453f4ea63d2f908a9cb372d89b5a419b982b903f655cfc8fb9956a264697066735822122019773720083323a28268186cfa27763dd1cf95f502734a6e1978fa89ce8ba1f164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x217 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x19CCE6 EQ PUSH2 0x21C JUMPI DUP1 PUSH4 0x1294764 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x26A JUMPI DUP1 PUSH4 0x6C49822 EQ PUSH2 0x29A JUMPI DUP1 PUSH4 0x1ED65110 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x21AFD1F6 EQ PUSH2 0x2DC JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0x24AD94CD EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0x26C74FC3 EQ PUSH2 0x34B JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x360 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x380 JUMPI DUP1 PUSH4 0x3F36CD7F EQ PUSH2 0x3A0 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x3C2 JUMPI DUP1 PUSH4 0x42C549C0 EQ PUSH2 0x3D7 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x404 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x417 JUMPI DUP1 PUSH4 0x54B90B7B EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x44C JUMPI DUP1 PUSH4 0x5ADE3874 EQ PUSH2 0x460 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x480 JUMPI DUP1 PUSH4 0x767B1602 EQ PUSH2 0x495 JUMPI DUP1 PUSH4 0x7DA17BF3 EQ PUSH2 0x4B5 JUMPI DUP1 PUSH4 0x808860A5 EQ PUSH2 0x4D5 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x4F5 JUMPI DUP1 PUSH4 0x8ED9895C EQ PUSH2 0x50A JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x537 JUMPI DUP1 PUSH4 0x9B154087 EQ PUSH2 0x557 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x577 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x58C JUMPI DUP1 PUSH4 0xB2A2EEF9 EQ PUSH2 0x5CA JUMPI DUP1 PUSH4 0xB3396778 EQ PUSH2 0x5EA JUMPI DUP1 PUSH4 0xBFDA4E7C EQ PUSH2 0x60A JUMPI DUP1 PUSH4 0xC1A45A6A EQ PUSH2 0x637 JUMPI DUP1 PUSH4 0xC2249389 EQ PUSH2 0x657 JUMPI DUP1 PUSH4 0xC266AEF7 EQ PUSH2 0x677 JUMPI DUP1 PUSH4 0xC42433B4 EQ PUSH2 0x697 JUMPI DUP1 PUSH4 0xC4EC8F98 EQ PUSH2 0x6B7 JUMPI DUP1 PUSH4 0xCFF28C70 EQ PUSH2 0x6CC JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x6EC JUMPI DUP1 PUSH4 0xDA104FAC EQ PUSH2 0x70C JUMPI DUP1 PUSH4 0xE03D759B EQ PUSH2 0x72C JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x74C JUMPI DUP1 PUSH4 0xE9AF5D1B EQ PUSH2 0x76E JUMPI DUP1 PUSH4 0xF23E227B EQ PUSH2 0x79B JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0x7BB JUMPI DUP1 PUSH4 0xF7013EF6 EQ PUSH2 0x7DD JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0x7FD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x228 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x81F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x83D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x285 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EEA JUMP JUMPDEST PUSH2 0x852 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x2B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F29 JUMP JUMPDEST PUSH2 0x889 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x2D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F29 JUMP JUMPDEST PUSH2 0x8C4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x476A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x8FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33E PUSH2 0x339 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x91F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x3FF2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0xB96 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x37B CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0xBB4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x39B CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0xBD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x482A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0xC0E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F7 PUSH2 0x3F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0xC7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x40E7 JUMP JUMPDEST PUSH2 0x2BA PUSH2 0x412 CALLDATASIZE PUSH1 0x4 PUSH2 0x41FE JUMP JUMPDEST PUSH2 0xDC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0xDE1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x447 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F29 JUMP JUMPDEST PUSH2 0xDFE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 PUSH2 0x25C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x46C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x47B CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0xE39 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0xE44 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x4B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0xE59 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x4D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0xFD1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x4F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x426F JUMP JUMPDEST PUSH2 0x1254 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x501 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x17E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x52A PUSH2 0x525 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4384 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x543 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x552 CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0x19AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x563 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x572 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x19E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x598 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4397 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x5E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x1D43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x605 CALLDATASIZE PUSH1 0x4 PUSH2 0x43AA JUMP JUMPDEST PUSH2 0x1D63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x616 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x62A PUSH2 0x625 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x1EFC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x440F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x652 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0x1FF1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x663 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x672 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x2018 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x692 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0x237C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x6B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4429 JUMP JUMPDEST PUSH2 0x27F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x28E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BD PUSH2 0x6E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x2907 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x707 CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0x29B9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x718 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x727 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x29D5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x747 CALLDATASIZE PUSH1 0x4 PUSH2 0x40B7 JUMP JUMPDEST PUSH2 0x29FE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x758 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x480A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x78E PUSH2 0x789 CALLDATASIZE PUSH1 0x4 PUSH2 0x424D JUMP JUMPDEST PUSH2 0x2AE5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4459 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x7B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F46 JUMP JUMPDEST PUSH2 0x2AF8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x7F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x446D JUMP JUMPDEST PUSH2 0x2DBD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x809 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x82A PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x848 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x883 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x894 DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x89E PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8CF DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D9 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A PUSH2 0x3132 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x971 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x97B PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP1 SWAP6 SWAP2 SWAP5 PUSH1 0xA0 DUP8 ADD SWAP5 SWAP2 SWAP3 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xAF4 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0xA63 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA8F SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xADC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xAB1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xADC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xABF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x9EF JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0xB0C SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xB38 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xB85 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xB5A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xB85 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB68 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA1 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBBD DUP3 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0xBC6 DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH2 0xBD0 DUP4 DUP4 PUSH2 0x3156 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0xBFF JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC09 DUP3 DUP3 PUSH2 0x31F7 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x480A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0xC27 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0xC33 DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0xC51 JUMPI POP PUSH2 0xC51 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xC6E JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC76 PUSH2 0x326F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xC86 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP1 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xDBA JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0xD29 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD55 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDA2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD77 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDA2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD85 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xCB5 JUMP JUMPDEST POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCE PUSH2 0x32C6 JUMP JUMPDEST PUSH2 0xDD7 DUP3 PUSH2 0x336D JUMP JUMPDEST PUSH2 0xC76 DUP3 DUP3 PUSH2 0x3385 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDEB PUSH2 0x3439 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47EA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE09 DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE13 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE4F PUSH2 0x3482 JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x482A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0xE72 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0xE7E DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0xE9C JUMPI POP PUSH2 0xE9C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xEB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEC3 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0xECE DUP6 PUSH2 0x34A6 JUMP JUMPDEST PUSH2 0xED8 DUP6 DUP6 PUSH2 0x355C JUMP JUMPDEST DUP4 ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 PUSH2 0xEF4 DUP7 PUSH2 0xEEF PUSH1 0x1 DUP9 PUSH2 0x4521 JUMP JUMPDEST PUSH2 0x359E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xF0A JUMPI PUSH2 0xF0A PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0xF2A JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0xF5F JUMPI DUP6 PUSH2 0xF3B PUSH1 0x1 DUP8 PUSH2 0x4521 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x414E3AC7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP7 SWAP1 DUP2 LT PUSH2 0xF88 JUMPI PUSH2 0xF88 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x3 SWAP1 SWAP3 MUL ADD ADD DUP1 SLOAD SWAP3 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD DUP6 SWAP2 DUP8 SWAP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFDC PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1159 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x10C8 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10F4 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1141 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1116 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1141 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1124 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1054 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1171 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x119D SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11EA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x11BF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11EA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11CD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x1249 JUMPI DUP2 PUSH1 0xA0 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x121B JUMPI PUSH2 0x121B PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x60 ADD MLOAD ISZERO PUSH2 0x1237 JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x1241 DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11F8 JUMP JUMPDEST POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x125E PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x1278 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1295 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x129D PUSH2 0x3826 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12A7 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP DUP1 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x152E JUMPI PUSH1 0x0 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x12D7 JUMPI PUSH2 0x12D7 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD SWAP1 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0x8E184B3F PUSH1 0xE0 SHL EQ PUSH2 0x1327 JUMPI PUSH1 0x40 MLOAD PUSH4 0x10CB7CF1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP4 MLOAD PUSH2 0x1337 SWAP2 SWAP1 PUSH2 0x4521 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x134E JUMPI PUSH2 0x134E PUSH2 0x4149 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1378 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x13E9 JUMPI DUP4 PUSH2 0x1393 DUP3 PUSH1 0x4 PUSH2 0x4571 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x13A3 JUMPI PUSH2 0x13A3 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x13C0 JUMPI PUSH2 0x13C0 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 PUSH2 0x13E1 DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x137E JUMP JUMPDEST POP PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1401 SWAP2 SWAP1 PUSH2 0x4584 JUMP JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ADDRESS EQ PUSH2 0x1431 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0xD08525E9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x1452 JUMPI PUSH1 0x40 MLOAD PUSH4 0x162908E3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x145C DUP2 DUP9 PUSH2 0x4571 JUMP JUMPDEST PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 DUP12 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xA0 DUP2 ADD DUP4 MSTORE DUP7 DUP2 MSTORE DUP1 DUP5 ADD DUP6 DUP2 MSTORE DUP2 DUP5 ADD DUP7 DUP2 MSTORE PUSH1 0x60 DUP4 ADD DUP8 DUP2 MSTORE DUP6 MLOAD DUP1 DUP9 ADD SWAP1 SWAP7 MSTORE DUP8 DUP7 MSTORE PUSH1 0x80 DUP5 ADD SWAP6 DUP7 MSTORE PUSH1 0x5 SWAP1 SWAP5 ADD DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP10 MSTORE SWAP7 SWAP1 SWAP8 KECCAK256 DUP4 MLOAD PUSH1 0x3 SWAP1 SWAP8 MUL ADD SWAP6 DUP7 SSTORE SWAP1 MLOAD SWAP6 DUP6 ADD DUP1 SLOAD SWAP2 MLOAD SWAP4 MLOAD ISZERO ISZERO PUSH3 0x10000 MUL PUSH3 0xFF0000 NOT SWAP5 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP9 ISZERO ISZERO SWAP9 SWAP1 SWAP9 AND PUSH2 0xFFFF NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP7 SWAP1 SWAP7 OR SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP4 SSTORE MLOAD SWAP3 SWAP10 POP SWAP1 SWAP2 PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x1513 SWAP1 DUP3 PUSH2 0x4600 JUMP JUMPDEST POP POP POP POP POP POP POP POP DUP1 DUP1 PUSH2 0x1526 SWAP1 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x12BA JUMP JUMPDEST POP DUP8 DUP3 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x6 DUP3 ADD PUSH2 0x155D DUP11 DUP3 PUSH2 0x4600 JUMP JUMPDEST POP PUSH1 0x1 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x0 PUSH1 0x2 DUP4 ADD DUP2 SWAP1 SSTORE PUSH1 0x4 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0xE0 DUP2 ADD DUP3 MSTORE DUP7 SLOAD DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP8 SWAP1 MSTORE DUP2 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x3 DUP9 ADD SLOAD SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x5 DUP7 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP7 MUL DUP2 ADD DUP7 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE PUSH2 0x178C SWAP6 SWAP4 SWAP5 DUP9 SWAP5 PUSH1 0xA0 DUP8 ADD SWAP5 SWAP4 SWAP3 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x16ED JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x165C SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1688 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16D5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16AA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x16D5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x16B8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x15E8 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1705 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1731 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x177E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1753 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x177E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1761 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP PUSH2 0x384C JUMP JUMPDEST DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0x4881ACB9050BCF1B58CD99D39B4D4497E03C9961E7466FDB95D6E422CD6F9553 DUP5 DUP14 PUSH1 0x40 MLOAD PUSH2 0x17D2 SWAP3 SWAP2 SWAP1 PUSH2 0x46BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x480A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x17FE PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x180A DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x1828 JUMPI POP PUSH2 0x1828 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1845 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC76 PUSH2 0x39CE JUMP JUMPDEST PUSH2 0x1885 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x188F PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x18B6 JUMPI PUSH2 0x18B6 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 SWAP1 SWAP4 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x1923 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x194F SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x199C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1971 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x199C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x197F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19B9 PUSH2 0x3132 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19EF PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1B6C JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x1ADB SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B07 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B54 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B29 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B54 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B37 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1A67 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1B84 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1BB0 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1BFD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1BD2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1BFD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BE0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 SWAP1 SWAP3 MSTORE POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C7C SWAP2 SWAP1 PUSH2 0x46D8 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1C92 JUMPI PUSH2 0x1C92 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x1CB2 JUMPI POP PUSH1 0x8 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1CAF JUMPI PUSH2 0x1CAF PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x1CD0 JUMPI POP PUSH1 0x9 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1CCD JUMPI PUSH2 0x1CCD PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x1CE0 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x1D37 JUMPI PUSH1 0x0 PUSH2 0x1CFC DUP8 DUP4 PUSH2 0x359E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1D12 JUMPI PUSH2 0x1D12 PUSH2 0x43F9 JUMP JUMPDEST SUB PUSH2 0x1D24 JUMPI POP PUSH1 0x1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST POP DUP1 PUSH2 0x1D2F DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1CE3 JUMP JUMPDEST POP PUSH1 0x0 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4E DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D58 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x4 ADD SWAP3 SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x482A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x1D7C PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x1D88 DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x1DA6 JUMPI POP PUSH2 0x1DA6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1DC3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1DCD PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x1DD8 DUP7 PUSH2 0x34A6 JUMP JUMPDEST PUSH2 0x1DE2 DUP7 DUP7 PUSH2 0x355C JUMP JUMPDEST DUP5 ISZERO PUSH2 0x1E42 JUMPI PUSH1 0x0 PUSH2 0x1DF9 DUP8 PUSH2 0xEEF PUSH1 0x1 DUP10 PUSH2 0x4521 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E0F JUMPI PUSH2 0x1E0F PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x1E2F JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E2C JUMPI PUSH2 0x1E2C PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x1E40 JUMPI DUP7 PUSH2 0xF3B PUSH1 0x1 DUP9 PUSH2 0x4521 JUMP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP8 SWAP1 DUP2 LT PUSH2 0x1E69 JUMPI PUSH2 0x1E69 PUSH2 0x4542 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x5 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1EBB JUMPI PUSH2 0x1EBB PUSH2 0x4542 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SWAP1 DUP2 PUSH2 0x1ED8 SWAP2 SWAP1 PUSH2 0x4600 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1F07 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F7C SWAP2 SWAP1 PUSH2 0x46D8 JUMP JUMPDEST SWAP1 POP PUSH2 0x1F87 DUP5 PUSH2 0xFD1 JUMP JUMPDEST ISZERO PUSH2 0x1F96 JUMPI POP PUSH1 0x2 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1F9F DUP5 PUSH2 0x19E4 JUMP JUMPDEST ISZERO PUSH2 0x1FAE JUMPI POP PUSH1 0x8 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1FB7 DUP5 PUSH2 0x2018 JUMP JUMPDEST ISZERO PUSH2 0x1FC6 JUMPI POP PUSH1 0x9 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1FD8 JUMPI PUSH2 0x1FD8 PUSH2 0x43F9 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1FE9 JUMPI PUSH2 0x1FE9 PUSH2 0x43F9 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1FFF DUP5 DUP5 PUSH2 0x359E JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2010 JUMPI PUSH2 0x2010 PUSH2 0x43F9 JUMP JUMPDEST EQ SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2023 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x21A0 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x210F SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x213B SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2188 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x215D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2188 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x216B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x209B JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x21B8 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x21E4 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2231 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2206 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2231 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2214 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 SWAP1 SWAP3 MSTORE POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x228C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22B0 SWAP2 SWAP1 PUSH2 0x46D8 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x22C6 JUMPI PUSH2 0x22C6 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x22E6 JUMPI POP PUSH1 0x8 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x22E3 JUMPI PUSH2 0x22E3 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x2304 JUMPI POP PUSH1 0x9 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x2301 JUMPI PUSH2 0x2301 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x2314 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x232C DUP7 PUSH1 0x1 DUP6 PUSH1 0xA0 ADD MLOAD MLOAD PUSH2 0xEEF SWAP2 SWAP1 PUSH2 0x4521 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2342 JUMPI PUSH2 0x2342 PUSH2 0x43F9 JUMP JUMPDEST EQ DUP1 PUSH2 0x235F JUMPI POP PUSH1 0x3 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x235D JUMPI PUSH2 0x235D PUSH2 0x43F9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2370 JUMPI POP PUSH1 0x0 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2384 PUSH2 0x3A15 JUMP JUMPDEST PUSH2 0x238C PUSH2 0x3826 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2396 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 DUP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 DUP4 LT PUSH2 0x23D0 JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x1E153EBF PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP2 EQ PUSH2 0x240F JUMPI PUSH1 0x40 MLOAD PUSH4 0x95EFD215 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x5 ADD DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x2426 JUMPI PUSH2 0x2426 PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 SWAP1 SWAP4 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2493 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x24BF SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x250C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x24E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x250C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x24EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x2523 DUP8 DUP8 PUSH2 0x359E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2539 JUMPI PUSH2 0x2539 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x2559 JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2556 JUMPI PUSH2 0x2556 PUSH2 0x43F9 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x257B JUMPI DUP7 DUP7 PUSH1 0x40 MLOAD PUSH4 0x6FF77EDD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x258F JUMPI PUSH2 0x258F PUSH2 0x43F9 JUMP JUMPDEST SUB PUSH2 0x25B1 JUMPI DUP7 DUP7 PUSH1 0x40 MLOAD PUSH4 0x627F243D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x3 DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x25E5 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2602 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2626 SWAP2 SWAP1 PUSH2 0x46F9 JUMP JUMPDEST LT ISZERO PUSH2 0x26BB JUMPI PUSH1 0x3 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x265E SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x267B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x269F SWAP2 SWAP1 PUSH2 0x46F9 JUMP JUMPDEST DUP3 MLOAD PUSH1 0x40 MLOAD PUSH3 0xFAE2D5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x3 DUP6 ADD SLOAD DUP3 MLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0xA9059CBB SWAP2 PUSH2 0x26F0 SWAP2 DUP9 SWAP2 PUSH1 0x4 ADD PUSH2 0x4712 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x270F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2733 SWAP2 SWAP1 PUSH2 0x472B JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2753 JUMPI PUSH1 0x40 MLOAD PUSH4 0x12171D83 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0x5 ADD DUP9 DUP2 SLOAD DUP2 LT PUSH2 0x276A JUMPI PUSH2 0x276A PUSH2 0x4542 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x27AA SWAP2 SWAP1 PUSH2 0x4571 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP DUP3 MLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE DUP8 SWAP1 DUP10 SWAP1 PUSH32 0x6ECDB8CBF47483E6E73593D9D08161BD1C750EB1A8B0CFBAABC80317D281ADBE SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP PUSH2 0xC76 PUSH2 0x3A4B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2800 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO SWAP1 PUSH2 0x283C JUMPI POP PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x285D JUMPI POP PUSH2 0x285B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x482A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x287E JUMPI POP PUSH2 0x287C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x289C JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 DUP2 ADD PUSH2 0x28AA DUP5 DUP3 PUSH2 0x4600 JUMP JUMPDEST POP DUP4 PUSH32 0xF54ADC4FA88871BB9BB39A4FC2F5DC8B81291D5F344FD26B636AD128E8CAB3A4 DUP5 PUSH1 0x40 MLOAD PUSH2 0x28DB SWAP2 SWAP1 PUSH2 0x4397 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28F4 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2913 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x6 ADD DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x2933 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x295F SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x29AC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2981 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x29AC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x298F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x29C2 DUP3 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0x29CB DUP2 PUSH2 0x3125 JUMP JUMPDEST PUSH2 0xBD0 DUP4 DUP4 PUSH2 0x31F7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29E0 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 PUSH2 0x2A09 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A23 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x2A50 JUMPI POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x2A6D JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A77 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP6 SWAP1 PUSH32 0x1796595F8B84E72820B0E06DF582FF944DB24F5E710795C7C8AC5112E6DE039E SWAP1 PUSH2 0x2AD6 SWAP1 DUP8 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AF1 DUP4 DUP4 PUSH2 0x359E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x476A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x2B11 PUSH2 0x3101 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B1D DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x2B3B JUMPI POP PUSH2 0x2B3B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x2B58 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2B62 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP5 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x2C97 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2C06 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2C32 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2C7F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C54 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2C7F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2C62 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2B92 JUMP JUMPDEST POP POP POP POP SWAP1 POP PUSH2 0x2CA6 DUP6 PUSH2 0x2018 JUMP JUMPDEST ISZERO PUSH2 0x2CC7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB2E459AF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0x2CD0 DUP6 PUSH2 0xFD1 JUMP JUMPDEST ISZERO PUSH2 0x2CF1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3DBA08FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x2D81 JUMPI PUSH1 0x0 PUSH2 0x2D09 DUP8 DUP4 PUSH2 0x359E JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2D1A JUMPI PUSH2 0x2D1A PUSH2 0x43F9 JUMP JUMPDEST SUB PUSH2 0x2D6F JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP5 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x2D46 JUMPI PUSH2 0x2D46 PUSH2 0x4542 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST DUP1 PUSH2 0x2D79 DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CF4 JUMP JUMPDEST POP PUSH2 0x2D8B DUP6 PUSH2 0x3A5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP6 SWAP1 PUSH32 0xF9125771CFEA9A399996AB1F5E54C097B3BF95285FD184C2B05FDCEF4DEE834B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DC7 PUSH2 0x3BEF JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x2DEE JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x2E0A JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x2E18 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x2E36 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x2E5F JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH2 0x2EB4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x476F7665726E6F7220616464726573732063616E6E6F74206265203 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH2 0x2F09 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x547265617375727920616464726573732063616E6E6F74206265203 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH2 0x2F5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x4233545220616464726573732063616E6E6F74206265203 PUSH1 0x44 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0x2FBA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x44656661756C742061646D696E20616464726573732063616E6E6F7420626520 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 DUP7 GT PUSH2 0x3016 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E696D756D206D696C6573746F6E6520636F756E742063616E6E6F742062 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x65203 PUSH1 0xEC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0x301E PUSH2 0x3C13 JUMP JUMPDEST PUSH2 0x3026 PUSH2 0x3C13 JUMP JUMPDEST PUSH2 0x302E PUSH2 0x3C1B JUMP JUMPDEST PUSH2 0x3036 PUSH2 0x3C2B JUMP JUMPDEST PUSH2 0x3041 PUSH1 0x0 DUP10 PUSH2 0x3156 JUMP JUMPDEST POP PUSH2 0x305A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP12 PUSH2 0x3156 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x3065 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP16 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD DUP15 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x3 DUP4 ADD DUP1 SLOAD SWAP3 DUP13 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 ADD DUP8 SWAP1 SSTORE POP DUP4 ISZERO PUSH2 0x30F5 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x827EF7A586340A0AFD9DF4D10DCD47E35EE20572DBC95830311FCB8284606D00 SWAP1 JUMP JUMPDEST PUSH2 0x312F DUP2 CALLER PUSH2 0x3C3B JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3161 PUSH2 0x3132 JUMP JUMPDEST SWAP1 POP PUSH2 0x316D DUP5 DUP5 PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x31ED JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x31A3 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3202 PUSH2 0x3132 JUMP JUMPDEST SWAP1 POP PUSH2 0x320E DUP5 DUP5 PUSH2 0x19AE JUMP JUMPDEST ISZERO PUSH2 0x31ED JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH2 0x3277 PUSH2 0x3C66 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3281 PUSH2 0x3482 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x32BB SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x334D JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3341 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47EA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xC76 DUP2 PUSH2 0x3125 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x33DF JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x33DC SWAP2 DUP2 ADD SWAP1 PUSH2 0x46F9 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x33FE JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47EA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x342F JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0xC09 DUP4 DUP4 PUSH2 0x3C8B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34B0 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3501 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3525 SWAP2 SWAP1 PUSH2 0x46D8 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x353B JUMPI PUSH2 0x353B PUSH2 0x43F9 JUMP JUMPDEST EQ PUSH2 0xC09 JUMPI PUSH1 0x40 MLOAD PUSH4 0x26AC2FF9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3568 DUP4 DUP4 PUSH2 0x359E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x357E JUMPI PUSH2 0x357E PUSH2 0x43F9 JUMP JUMPDEST EQ PUSH2 0xC09 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x2367A31D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x4459 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x35A9 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x3726 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3695 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x36C1 SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x370E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x36E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x370E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x36F1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3621 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x373E SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x376A SWAP1 PUSH2 0x44D1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x37B7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x378C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37B7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x379A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA0 ADD MLOAD DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x37DA JUMPI PUSH2 0x37DA PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP1 PUSH1 0x60 ADD MLOAD ISZERO PUSH2 0x37FA JUMPI PUSH1 0x3 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST DUP1 PUSH1 0x20 ADD MLOAD ISZERO PUSH2 0x3810 JUMPI PUSH1 0x2 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST DUP1 PUSH1 0x40 ADD MLOAD ISZERO PUSH2 0x1D37 JUMPI PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST PUSH2 0x382E PUSH2 0xE44 JUMP JUMPDEST ISZERO PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3856 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3886 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x38B1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x65923117 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xC0 ADD MLOAD MLOAD PUSH1 0x0 SUB PUSH2 0x38D7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x436F9D57 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x393E JUMPI DUP3 PUSH1 0xA0 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x38FD JUMPI PUSH2 0x38FD PUSH2 0x4542 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x0 SUB PUSH2 0x392C JUMPI PUSH1 0x40 MLOAD PUSH4 0x2AFB5D51 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST DUP1 PUSH2 0x3936 DUP2 PUSH2 0x4558 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x38DA JUMP JUMPDEST POP DUP2 PUSH1 0x20 ADD MLOAD PUSH1 0x0 SUB PUSH2 0x3964 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2B2F4089 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x40 ADD MLOAD GT ISZERO PUSH2 0x3999 JUMPI DUP2 PUSH1 0x40 ADD MLOAD DUP3 PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x3B9F12CF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD SLOAD DUP3 PUSH1 0xA0 ADD MLOAD MLOAD LT ISZERO PUSH2 0xC76 JUMPI PUSH1 0xA0 DUP3 ADD MLOAD MLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xFD1C0DDB PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0xF56 SWAP4 SWAP3 ADD PUSH2 0x4534 JUMP JUMPDEST PUSH2 0x39D6 PUSH2 0x3826 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39E0 PUSH2 0x3482 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x32AE CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A1F PUSH2 0x3CE1 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A55 PUSH2 0x3CE1 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A66 PUSH2 0x3101 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 PUSH2 0x3A8E SWAP2 SWAP1 PUSH2 0x4521 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3BB0 JUMPI PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x3AC9 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3AE6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B0A SWAP2 SWAP1 PUSH2 0x46F9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x3B30 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH3 0xFAE2D5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4534 JUMP JUMPDEST PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 PUSH4 0xA9059CBB SWAP3 PUSH2 0x3B6A SWAP3 SWAP2 AND SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4712 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3B89 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3BAD SWAP2 SWAP1 PUSH2 0x472B JUMP JUMPDEST POP POP JUMPDEST DUP3 PUSH32 0x122FCA773BDC90ED7DA7C637FA41C96069C5B596F4EBFACFE0787DA4ECCE8693 DUP3 PUSH1 0x40 MLOAD PUSH2 0x3BE2 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x336B PUSH2 0x3D05 JUMP JUMPDEST PUSH2 0x3C23 PUSH2 0x3D05 JUMP JUMPDEST PUSH2 0x336B PUSH2 0x3D2A JUMP JUMPDEST PUSH2 0x3C33 PUSH2 0x3D05 JUMP JUMPDEST PUSH2 0x336B PUSH2 0x3D47 JUMP JUMPDEST PUSH2 0x3C45 DUP3 DUP3 PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xC76 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x4712 JUMP JUMPDEST PUSH2 0x3C6E PUSH2 0xE44 JUMP JUMPDEST PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3C94 DUP3 PUSH2 0x3D4F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x3CD9 JUMPI PUSH2 0xC09 DUP3 DUP3 PUSH2 0x3DAB JUMP JUMPDEST PUSH2 0xC76 PUSH2 0x3E21 JUMP JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x3D0D PUSH2 0x3E40 JUMP JUMPDEST PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3D32 PUSH2 0x3D05 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D3C PUSH2 0x3482 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x3A4B PUSH2 0x3D05 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x3D7C JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47EA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x3DC8 SWAP2 SWAP1 PUSH2 0x474D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3E03 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3E08 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x3E18 DUP6 DUP4 DUP4 PUSH2 0x3E5A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x336B JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3E4A PUSH2 0x3BEF JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x3E6F JUMPI PUSH2 0x3E6A DUP3 PUSH2 0x3EAD JUMP JUMPDEST PUSH2 0x2AF1 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x3E86 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x3EA6 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3ED6 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x3EBD JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3EFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x2AF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x312F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3F3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2AF1 DUP2 PUSH2 0x3F14 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3F58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3F7A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x3F62 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x3F9B DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x3F5F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x80 DUP3 ADD MLOAD PUSH1 0xA0 PUSH1 0x80 DUP6 ADD MSTORE PUSH2 0x1FE9 PUSH1 0xA0 DUP6 ADD DUP3 PUSH2 0x3F83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE PUSH2 0x100 DUP4 ADD DUP5 MLOAD DUP3 DUP6 ADD MSTORE DUP2 DUP6 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x80 DUP8 ADD MSTORE DUP1 PUSH1 0x80 DUP9 ADD MLOAD AND PUSH1 0xA0 DUP8 ADD MSTORE POP POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xE0 PUSH1 0xC0 DUP7 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x120 SWAP4 POP DUP4 DUP8 ADD SWAP2 POP DUP4 DUP2 PUSH1 0x5 SHL DUP9 ADD ADD SWAP4 POP DUP5 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4096 JUMPI PUSH2 0x11F NOT DUP9 DUP7 SUB ADD DUP4 MSTORE PUSH2 0x4084 DUP6 DUP6 MLOAD PUSH2 0x3FAF JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP2 DUP6 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4067 JUMP JUMPDEST POP POP POP POP PUSH1 0xC0 DUP6 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0xE0 DUP7 ADD MSTORE SWAP2 POP PUSH2 0x3E18 DUP2 DUP4 PUSH2 0x3F83 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x40CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x40DC DUP2 PUSH2 0x3F14 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x413C JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x412A DUP6 DUP4 MLOAD PUSH2 0x3FAF JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x410E JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4187 JUMPI PUSH2 0x4187 PUSH2 0x4149 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x41A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41B9 JUMPI PUSH2 0x41B9 PUSH2 0x4149 JUMP JUMPDEST PUSH2 0x41CC PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x415F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x41E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x421C DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4243 DUP6 DUP3 DUP7 ADD PUSH2 0x418F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4260 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x429E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x42AA DUP10 DUP4 DUP11 ADD PUSH2 0x418F JUMP JUMPDEST SWAP7 POP PUSH1 0x20 SWAP2 POP DUP2 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH2 0x42C4 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH2 0x42D4 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x42E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 ADD PUSH1 0x1F DUP2 ADD DUP11 SGT PUSH2 0x42F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x430B JUMPI PUSH2 0x430B PUSH2 0x4149 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH2 0x431A DUP6 DUP3 ADD PUSH2 0x415F JUMP JUMPDEST SWAP2 DUP3 MSTORE DUP3 DUP2 ADD DUP6 ADD SWAP2 DUP6 DUP2 ADD SWAP1 DUP14 DUP5 GT ISZERO PUSH2 0x4334 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 DUP6 ADD SWAP3 POP JUMPDEST DUP4 DUP4 LT ISZERO PUSH2 0x4370 JUMPI DUP3 CALLDATALOAD DUP7 DUP2 GT ISZERO PUSH2 0x4352 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4360 DUP16 DUP10 DUP4 DUP10 ADD ADD PUSH2 0x418F JUMP JUMPDEST DUP4 MSTORE POP SWAP2 DUP7 ADD SWAP2 SWAP1 DUP7 ADD SWAP1 PUSH2 0x433A JUMP JUMPDEST DUP1 SWAP8 POP POP POP POP POP POP POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2AF1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3FAF JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2AF1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3F83 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x43BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x43E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43EF DUP7 DUP3 DUP8 ADD PUSH2 0x418F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0xA DUP4 LT PUSH2 0x4423 JUMPI PUSH2 0x4423 PUSH2 0x43F9 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x443C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x4 DUP4 LT PUSH2 0x4423 JUMPI PUSH2 0x4423 PUSH2 0x43F9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4490 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x44A0 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x44B0 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x44C0 DUP2 PUSH2 0x3F14 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x44E5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x4505 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x883 JUMPI PUSH2 0x883 PUSH2 0x450B JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x456A JUMPI PUSH2 0x456A PUSH2 0x450B JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x883 JUMPI PUSH2 0x883 PUSH2 0x450B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4597 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH2 0x45A2 DUP2 PUSH2 0x3F14 JUMP JUMPDEST PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD MLOAD SWAP3 SWAP5 SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC09 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x45D9 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x45F8 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x45E5 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4619 JUMPI PUSH2 0x4619 PUSH2 0x4149 JUMP JUMPDEST PUSH2 0x462D DUP2 PUSH2 0x4627 DUP5 SLOAD PUSH2 0x44D1 JUMP JUMPDEST DUP5 PUSH2 0x45B2 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4662 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x464A JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x45F8 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4691 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x4672 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x46AF JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1FE9 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x3F83 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x46EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xA DUP2 LT PUSH2 0x2AF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x470B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x473D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2AF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x475F DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x3F5F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID 0xC3 0xF PUSH31 0xD76AAD52E1DB9D4574C81F8EEB708F6974B7F45424A3F1B7394C2885E17184 0xD 0xC4 SWAP1 PUSH4 0x52362B0C 0xDA 0xF7 SWAP9 PUSH17 0x196C8E42ACAFADE72D5D5A6D59291253CE 0xB1 CALLVALUE JUMP SWAP10 0xB3 PUSH24 0x9E7F0F3201B7D9D8C3E2BC3CE9F29696BE4E3EEBC592BEB2 OR 0x27 0xC3 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A47AA345C SHR DIV MSTORE8 DELEGATECALL 0xEA PUSH4 0xD2F908A9 0xCB CALLDATACOPY 0x2D DUP10 0xB5 LOG4 NOT 0xB9 DUP3 0xB9 SUB 0xF6 SSTORE 0xCF 0xC8 0xFB SWAP10 JUMP LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NOT PUSH24 0x3720083323A28268186CFA27763DD1CF95F502734A6E1978 STATICCALL DUP10 0xCE DUP12 LOG1 CALL PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"2256:26513:44:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21001:165;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15446:174;;;;;;;;;;;;;:::i;:::-;;;368:25:150;;;356:2;341:18;15446:174:44;222:177:150;3443:202:0;;;;;;;;;;-1:-1:-1;3443:202:0;;;;;:::i;:::-;;:::i;:::-;;;860:14:150;;853:22;835:41;;823:2;808:18;3443:202:0;695:187:150;20693:199:44;;;;;;;;;;-1:-1:-1;20693:199:44;;;;;:::i;:::-;;:::i;:::-;;22250:195;;;;;;;;;;-1:-1:-1;22250:195:44;;;;;:::i;:::-;;:::i;2683:80::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2683:80:44;;4759:191:0;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;12685:193:44:-;;;;;;;;;;-1:-1:-1;12685:193:44;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;22554:165::-;;;;;;;;;;;;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;6348:245::-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;2599:80:44:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2599:80:44;;23665:81;;;;;;;;;;;;;:::i;12305:199::-;;;;;;;;;;-1:-1:-1;12305:199:44;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;3705:134::-;;;;;;;;;;;;;:::i;23080:175:44:-;;;;;;;;;;-1:-1:-1;23080:175:44;;;;;:::i;:::-;;:::i;28414:70::-;;;;;;;;;;-1:-1:-1;28478:1:44;28414:70;;17106:205;;;;;;;;;;-1:-1:-1;17106:205:44;;;;;:::i;:::-;;:::i;2692:145:12:-;;;;;;;;;;;;;:::i;13028:793:44:-;;;;;;;;;;-1:-1:-1;13028:793:44;;;;;:::i;:::-;;:::i;8627:353::-;;;;;;;;;;-1:-1:-1;8627:353:44;;;;;:::i;:::-;;:::i;6182:1686::-;;;;;;;;;;-1:-1:-1;6182:1686:44;;;;;:::i;:::-;;:::i;23416:77::-;;;;;;;;;;;;;:::i;8070:237::-;;;;;;;;;;-1:-1:-1;8070:237:44;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;9302:830:44:-;;;;;;;;;;-1:-1:-1;9302:830:44;;;;;:::i;:::-;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;1819:58:3;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;;;;;;;;:::i;15089:226:44:-;;;;;;;;;;-1:-1:-1;15089:226:44;;;;;:::i;:::-;;:::i;14043:896::-;;;;;;;;;;-1:-1:-1;14043:896:44;;;;;:::i;:::-;;:::i;19975:523::-;;;;;;;;;;-1:-1:-1;19975:523:44;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19606:185::-;;;;;;;;;;-1:-1:-1;19606:185:44;;;;;:::i;:::-;;:::i;10426:874::-;;;;;;;;;;-1:-1:-1;10426:874:44;;;;;:::i;:::-;;:::i;17571:1800::-;;;;;;;;;;-1:-1:-1;17571:1800:44;;;;;:::i;:::-;;:::i;24429:585::-;;;;;;;;;;-1:-1:-1;24429:585:44;;;;;:::i;:::-;;:::i;22820:157::-;;;;;;;;;;;;;:::i;25178:205::-;;;;;;;;;;-1:-1:-1;25178:205:44;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;21932:203:44:-;;;;;;;;;;-1:-1:-1;21932:203:44;;;;;:::i;:::-;;:::i;21439:334::-;;;;;;;;;;-1:-1:-1;21439:334:44;;;;;:::i;:::-;;:::i;2767:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2767:62:44;;15837:171;;;;;;;;;;-1:-1:-1;15837:171:44;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;16103:837::-;;;;;;;;;;-1:-1:-1;16103:837:44;;;;;:::i;:::-;;:::i;2455:70::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2455:70:44;;3791:973;;;;;;;;;;-1:-1:-1;3791:973:44;;;;;:::i;:::-;;:::i;2529:66::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2529:66:44;;21001:165;21055:7;21070:30;21103:26;:24;:26::i;:::-;21150:10;;;-1:-1:-1;;;;;21150:10:44;;21001:165;-1:-1:-1;;21001:165:44:o;15446:174::-;15505:7;15520:30;15553:26;:24;:26::i;:::-;15592:23;;;;15446:174;-1:-1:-1;;15446:174:44:o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;-1:-1:-1;;;;;;;;;;1133:40:14;;;3602:36:0;3544:94;3443:202;-1:-1:-1;;3443:202:0:o;20693:199:44:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;20785:30:44::1;20818:26;:24;:26::i;:::-;20850:10;;:37:::0;;-1:-1:-1;;;;;;20850:37:44::1;-1:-1:-1::0;;;;;20850:37:44;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;20693:199:44:o;22250:195::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;22342:30:44::1;22375:26;:24;:26::i;:::-;22407:10;;:33:::0;;-1:-1:-1;;;;;;22407:33:44::1;-1:-1:-1::0;;;;;22407:33:44;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;22250:195:44:o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;12685:193:44:-;12754:20;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12754:20:44;12782:30;12815:26;:24;:26::i;:::-;12854:7;:19;;;;;;;;;;;12847:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12847:26:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12782:59;;-1:-1:-1;12847:26:44;;12854:19;;12847:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12685:193;;;:::o;22554:165::-;22608:7;22623:30;22656:26;:24;:26::i;:::-;22703:10;;;-1:-1:-1;;;;;22703:10:44;;22554:165;-1:-1:-1;;22554:165:44:o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;6348:245::-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;23665:81:44:-;-1:-1:-1;;;;;;;;;;;5126:30:44;5159:26;:24;:26::i;:::-;5126:59;-1:-1:-1;5197:27:44;5205:4;966:10:11;3732:207:0;:::i;5197:27:44:-;:69;;;-1:-1:-1;5228:38:44;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5228:38:44:-;5191:115;;5284:15;;-1:-1:-1;;;5284:15:44;;;;;;;;;;;5191:115;23731:10:::1;:8;:10::i;:::-;5120:197:::0;23665:81;:::o;12305:199::-;12371:18;12397:30;12430:26;:24;:26::i;:::-;12469:7;:19;;;;;;;;;;;:30;;12462:37;;;;;;;;;;;;;;;;;12397:59;;-1:-1:-1;12462:37:44;;12469:30;;12462:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12305:199;;;:::o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;3705:134::-:0;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;23080:175:44:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;23164:30:44::1;23197:26;:24;:26::i;:::-;23229:6;;:21:::0;;-1:-1:-1;;;;;;23229:21:44::1;-1:-1:-1::0;;;;;23229:21:44;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;23080:175:44:o;17106:205::-;17187:7;17202:30;17235:26;:24;:26::i;2692:145:12:-;2739:4;2755:25;2783:21;:19;:21::i;:::-;2821:9;;;;2692:145;-1:-1:-1;;2692:145:12:o;13028:793:44:-;-1:-1:-1;;;;;;;;;;;5126:30:44;5159:26;:24;:26::i;:::-;5126:59;-1:-1:-1;5197:27:44;5205:4;966:10:11;3732:207:0;:::i;5197:27:44:-;:69;;;-1:-1:-1;5228:38:44;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5228:38:44:-;5191:115;;5284:15;;-1:-1:-1;;;5284:15:44;;;;;;;;;;;5191:115;13169:30:::1;13202:26;:24;:26::i;:::-;13169:59;;13235:31;13255:10;13235:19;:31::i;:::-;13272:48;13293:10;13305:14;13272:20;:48::i;:::-;13391:18:::0;;13387:302:::1;;13419:28;13450:50;13469:10:::0;13481:18:::1;13498:1;13481:14:::0;:18:::1;:::i;:::-;13450;:50::i;:::-;13419:81:::0;-1:-1:-1;13529:23:44::1;13512:13;:40;;;;;;;;:::i;:::-;;;:83;;;;-1:-1:-1::0;13573:22:44::1;13556:13;:39;;;;;;;;:::i;:::-;;;13512:83;13508:175;;;13643:10:::0;13655:18:::1;13672:1;13655:14:::0;:18:::1;:::i;:::-;13614:60;;-1:-1:-1::0;;;13614:60:44::1;;;;;;;;;:::i;:::-;;;;;;;;13508:175;13411:278;13387:302;13695:7;:19:::0;;;::::1;::::0;;;;;;:30:::1;;:46:::0;;13755:4:::1;::::0;13695:30;13726:14;;13695:46;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;:57:::1;:46;::::0;;::::1;;:57;:64:::0;;;::::1;;;;-1:-1:-1::0;;13695:64:44;;::::1;::::0;;;::::1;::::0;;;13770:46:::1;::::0;13801:14;;13789:10;;-1:-1:-1;;;;;;;;;;;13770:46:44;13695;13770::::1;13163:658;5120:197:::0;13028:793;;;:::o;8627:353::-;8693:4;8705:30;8738:26;:24;:26::i;:::-;8770;8799:19;;;;;;;;;;;8770:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8770:48:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8705:59;;-1:-1:-1;8770:26:44;;:48;;8799:19;;8770:48;;;;;;;:26;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8829:9;8824:134;8848:5;:16;;;:23;8844:1;:27;8824:134;;;8890:5;:16;;;8907:1;8890:19;;;;;;;;:::i;:::-;;;;;;;:30;;;8886:66;;;-1:-1:-1;8939:4:44;;8627:353;-1:-1:-1;;;;8627:353:44:o;8886:66::-;8873:3;;;;:::i;:::-;;;;8824:134;;;-1:-1:-1;8970:5:44;;8627:353;-1:-1:-1;;;;8627:353:44:o;6182:1686::-;5351:30;5384:26;:24;:26::i;:::-;5351:59;-1:-1:-1;5422:38:44;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5422:38:44:-;5416:84;;5478:15;;-1:-1:-1;;;5478:15:44;;;;;;;;;;;5416:84;2316:19:12::1;:17;:19::i;:::-;6389:30:44::2;6422:26;:24;:26::i;:::-;6455:23;6481:19:::0;;;::::2;::::0;;;;;;6389:59;;-1:-1:-1;6455:23:44;6536:980:::2;6560:9;:16;6556:1;:20;6536:980;;;6591:17;6611:9;6621:1;6611:12;;;;;;;;:::i;:::-;;::::0;;::::2;::::0;;;;;;;6735:13;;::::2;6729:20:::0;6611:12;;-1:-1:-1;;;;;;;6768:62:44;::::2;-1:-1:-1::0;;;6768:62:44::2;6764:127;;6849:33;::::0;-1:-1:-1;;;6849:33:44;;-1:-1:-1;;;;;;13274:33:150;;6849::44::2;::::0;::::2;13256:52:150::0;13229:18;;6849:33:44::2;13112:202:150::0;6764:127:44::2;6898:23;6948:1;6934:4;:11;:15;;;;:::i;:::-;-1:-1:-1::0;;;;;6924:26:44::2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;::::2;::::0;::::2;;::::0;-1:-1:-1;6924:26:44::2;;6898:52;;6963:9;6958:94;6982:10;:17;6978:1;:21;6958:94;;;7032:4:::0;7037:5:::2;:1:::0;7041::::2;7037:5;:::i;:::-;7032:11;;;;;;;;:::i;:::-;;;;;;;;;7016:10;7027:1;7016:13;;;;;;;;:::i;:::-;;;;:27;-1:-1:-1::0;;;;;7016:27:44::2;;;;;;;;-1:-1:-1::0;7001:3:44;::::2;::::0;::::2;:::i;:::-;;;;6958:94;;;;7087:17;7106:14:::0;7135:10:::2;7124:42;;;;;;;;;;;;:::i;:::-;7086:80:::0;;-1:-1:-1;7086:80:44;-1:-1:-1;;;;;;7179:26:44;::::2;7200:4;7179:26;7175:82;;7238:9;7224:24;;-1:-1:-1::0;;;7224:24:44::2;;;;;;;;:::i;7175:82::-;7268:6;7278:1;7268:11:::0;7264:58:::2;;7298:15;;-1:-1:-1::0;;;7298:15:44::2;;;;;;;;;;;7264:58;7330:21;7345:6:::0;7330:21;::::2;:::i;:::-;7359:7;:19:::0;;;::::2;::::0;;;;;;;7404:97;;::::2;::::0;::::2;::::0;;;;;;;::::2;::::0;;;;;;;;;;;;;;;;;;;::::2;::::0;;;;;;;;;;;;7359:30:::2;::::0;;::::2;:150:::0;;7404:97;7359:150;;::::2;::::0;;;;;;;;;;;::::2;::::0;;::::2;;::::0;;;;;;;::::2;::::0;;;;;;::::2;;::::0;::::2;-1:-1:-1::0;;7359:150:44;::::2;;;;-1:-1:-1::0;;7359:150:44;::::2;;::::0;;;;-1:-1:-1;;7359:150:44;;;;;;;;;;::::2;::::0;;;::::2;::::0;;;::::2;::::0;;;;7330:21;;-1:-1:-1;7404:97:44;;7359:150:::2;::::0;::::2;::::0;::::2;::::0;;::::2;:::i;:::-;;;;6583:933;;;;;6578:3;;;;;:::i;:::-;;;;6536:980;;;-1:-1:-1::0;7522:17:44;;;7545:10:::2;::::0;::::2;:21:::0;;-1:-1:-1;;;;;;7545:21:44::2;-1:-1:-1::0;;;;;7545:21:44;::::2;;::::0;;7572:13:::2;::::0;::::2;:27;7588:11:::0;7572:13;:27:::2;:::i;:::-;-1:-1:-1::0;7605:13:44::2;::::0;::::2;:27:::0;;;7656:1:::2;7638:15;::::0;::::2;:19:::0;;;7709:16:::2;::::0;::::2;:33:::0;;-1:-1:-1;;;;;;7709:33:44::2;-1:-1:-1::0;;;;;7709:33:44;;::::2;::::0;;::::2;::::0;;;7749:22:::2;::::0;;::::2;::::0;::::2;::::0;;;;;;::::2;::::0;;::::2;::::0;;;;;;;;;::::2;::::0;::::2;::::0;;;::::2;::::0;;;;;;;;;;;::::2;::::0;::::2;::::0;;;;;;::::2;::::0;;;;;;;;;;::::2;::::0;;;7605:13;;7749:22;;;;;;;;::::2;;;;;;;;;::::0;;;::::2;::::0;;;;::::2;::::0;;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;;;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;;;::::0;;;;;;;;;;::::2;::::0;;::::2;;;::::0;;;;::::2;::::0;::::2;::::0;;;;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;:19;:22::i;:::-;7822:14;-1:-1:-1::0;;;;;7782:81:44::2;7812:8;-1:-1:-1::0;;;;;7782:81:44::2;7800:10;7782:81;7838:11;7851;7782:81;;;;;;;:::i;:::-;;;;;;;;6383:1485;;;5345:166:::0;6182:1686;;;;;:::o;23416:77::-;-1:-1:-1;;;;;;;;;;;5126:30:44;5159:26;:24;:26::i;:::-;5126:59;-1:-1:-1;5197:27:44;5205:4;966:10:11;3732:207:0;:::i;5197:27:44:-;:69;;;-1:-1:-1;5228:38:44;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5228:38:44:-;5191:115;;5284:15;;-1:-1:-1;;;5284:15:44;;;;;;;;;;;5191:115;23480:8:::1;:6;:8::i;8070:237::-:0;8159:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8159:16:44;8183:30;8216:26;:24;:26::i;:::-;8256:7;:19;;;;;;;;;;:30;;:46;;8183:59;;-1:-1:-1;8256:30:44;8287:14;;8256:46;;;;;;:::i;:::-;;;;;;;;;;8249:53;;;;;;;;8256:46;;;;;;;8249:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8256:46;8249:53;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:237;;;;:::o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;9302:830:44:-;9373:4;9385:30;9418:26;:24;:26::i;:::-;9450;9479:19;;;;;;;;;;;9450:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9450:48:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9385:59;;-1:-1:-1;9450:26:44;;:48;;9479:19;;9450:48;;;;;;;:26;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9450:48:44;;;;-1:-1:-1;;;9548:10:44;;;;:28;;-1:-1:-1;;;9548:28:44;;;;;368:25:150;;;9450:48:44;;-1:-1:-1;9504:41:44;;-1:-1:-1;;;;;9548:10:44;;;;:16;;341:18:150;;9548:28:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9504:72;-1:-1:-1;9683:36:44;9666:13;:53;;;;;;;;:::i;:::-;;;:121;;;;-1:-1:-1;9746:41:44;9729:13;:58;;;;;;;;:::i;:::-;;;9666:121;:185;;;;-1:-1:-1;9814:37:44;9797:13;:54;;;;;;;;:::i;:::-;;;9666:185;9655:230;;;-1:-1:-1;9873:5:44;;9302:830;-1:-1:-1;;;;9302:830:44:o;9655:230::-;9896:9;9891:219;9915:5;:16;;;:23;9911:1;:27;9891:219;;;9953:30;9986:33;10005:10;10017:1;9986:18;:33::i;:::-;9953:66;-1:-1:-1;10050:22:44;10031:15;:41;;;;;;;;:::i;:::-;;10027:77;;-1:-1:-1;10091:4:44;;9302:830;-1:-1:-1;;;;;;9302:830:44:o;10027:77::-;-1:-1:-1;9940:3:44;;;;:::i;:::-;;;;9891:219;;;-1:-1:-1;10122:5:44;;9302:830;-1:-1:-1;;;;;9302:830:44:o;15089:226::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;15198:30:44::1;15231:26;:24;:26::i;:::-;15263:23;;:47:::0;;;;-1:-1:-1;;15089:226:44:o;14043:896::-;-1:-1:-1;;;;;;;;;;;5126:30:44;5159:26;:24;:26::i;:::-;5126:59;-1:-1:-1;5197:27:44;5205:4;966:10:11;3732:207:0;:::i;5197:27:44:-;:69;;;-1:-1:-1;5228:38:44;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5228:38:44:-;5191:115;;5284:15;;-1:-1:-1;;;5284:15:44;;;;;;;;;;;5191:115;14219:30:::1;14252:26;:24;:26::i;:::-;14219:59;;14285:31;14305:10;14285:19;:31::i;:::-;14322:48;14343:10;14355:14;14322:20;:48::i;:::-;14441:18:::0;;14437:302:::1;;14469:28;14500:50;14519:10:::0;14531:18:::1;14548:1;14531:14:::0;:18:::1;:::i;14500:50::-;14469:81:::0;-1:-1:-1;14579:23:44::1;14562:13;:40;;;;;;;;:::i;:::-;;;:83;;;;-1:-1:-1::0;14623:22:44::1;14606:13;:39;;;;;;;;:::i;:::-;;;14562:83;14558:175;;;14693:10:::0;14705:18:::1;14722:1;14705:14:::0;:18:::1;:::i;14558:175::-;14461:278;14437:302;14745:7;:19:::0;;;::::1;::::0;;;;;;:30:::1;;:46:::0;;14805:4:::1;::::0;14745:30;14776:14;;14745:46;::::1;;;;;:::i;:::-;;;;;;;;;;;:57;;;:64;;;;;;;;;;;;;;;;;;14871:6;14815:1;:7;;:19;14823:10;14815:19;;;;;;;;;;;:30;;14846:14;14815:46;;;;;;;;:::i;:::-;;;;;;;;;;;:53;;:62;;;;;;:::i;:::-;-1:-1:-1::0;14888:46:44::1;::::0;14919:14;;14907:10;;-1:-1:-1;;;;;;;;;;;14888:46:44;;;::::1;14213:726;5120:197:::0;14043:896;;;;:::o;19975:523::-;20038:10;20056:30;20089:26;:24;:26::i;:::-;20165:10;;;;:28;;-1:-1:-1;;;20165:28:44;;;;;368:25:150;;;20165:10:44;;-1:-1:-1;20121:41:44;;-1:-1:-1;;;;;20165:10:44;;;;:16;;341:18:150;;20165:28:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20121:72;;20204:27;20220:10;20204:15;:27::i;:::-;20200:74;;;-1:-1:-1;20248:19:44;;19975:523;-1:-1:-1;;;19975:523:44:o;20200:74::-;20284:32;20305:10;20284:20;:32::i;:::-;20280:84;;;-1:-1:-1;20333:24:44;;19975:523;-1:-1:-1;;;19975:523:44:o;20280:84::-;20374:28;20391:10;20374:16;:28::i;:::-;20370:76;;;-1:-1:-1;20419:20:44;;19975:523;-1:-1:-1;;;19975:523:44:o;20370:76::-;20478:13;20470:22;;;;;;;;:::i;:::-;20459:34;;;;;;;;:::i;:::-;20452:41;19975:523;-1:-1:-1;;;;19975:523:44:o;19606:185::-;19694:4;19763:23;19713:46;19732:10;19744:14;19713:18;:46::i;:::-;:73;;;;;;;;:::i;:::-;;;19606:185;-1:-1:-1;;;19606:185:44:o;10426:874::-;10493:4;10505:30;10538:26;:24;:26::i;:::-;10570;10599:19;;;;;;;;;;;10570:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10570:48:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10505:59;;-1:-1:-1;10570:26:44;;:48;;10599:19;;10570:48;;;;;;;:26;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10570:48:44;;;;-1:-1:-1;;;10668:10:44;;;;:28;;-1:-1:-1;;;10668:28:44;;;;;368:25:150;;;10570:48:44;;-1:-1:-1;10624:41:44;;-1:-1:-1;;;;;10668:10:44;;;;:16;;341:18:150;;10668:28:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10624:72;-1:-1:-1;10794:36:44;10777:13;:53;;;;;;;;:::i;:::-;;;:121;;;;-1:-1:-1;10857:41:44;10840:13;:58;;;;;;;;:::i;:::-;;;10777:121;:185;;;;-1:-1:-1;10925:37:44;10908:13;:54;;;;;;;;:::i;:::-;;;10777:185;10766:230;;;-1:-1:-1;10984:5:44;;10426:874;-1:-1:-1;;;;10426:874:44:o;10766:230::-;11078:24;11105:59;11124:10;11162:1;11136:5;:16;;;:23;:27;;;;:::i;11105:59::-;11078:86;-1:-1:-1;11187:22:44;11174:9;:35;;;;;;;;:::i;:::-;;:75;;;-1:-1:-1;11226:23:44;11213:9;:36;;;;;;;;:::i;:::-;;11174:75;11170:108;;;-1:-1:-1;11266:5:44;;10426:874;-1:-1:-1;;;;;10426:874:44:o;11170:108::-;-1:-1:-1;11291:4:44;;10426:874;-1:-1:-1;;;;;10426:874:44:o;17571:1800::-;3251:21:13;:19;:21::i;:::-;2316:19:12::1;:17;:19::i;:::-;17681:30:44::2;17714:26;:24;:26::i;:::-;17747:23;17773:19:::0;;;::::2;::::0;;;;;;17820:12:::2;::::0;::::2;:19:::0;17681:59;;-1:-1:-1;17773:19:44;17802:37;::::2;17798:114;;17878:10;17890:14;17856:49;;-1:-1:-1::0;;;17856:49:44::2;;;;;;;;;:::i;17798:114::-;17943:16;::::0;::::2;::::0;-1:-1:-1;;;;;17943:16:44::2;17969:10;:28:::0;::::2;17965:111;;18014:55;::::0;-1:-1:-1;;;18014:55:44;;18042:10:::2;18014:55;::::0;::::2;16771:34:150::0;-1:-1:-1;;;;;16841:15:150;;16821:18;;;16814:43;16706:18;;18014:55:44::2;16559:304:150::0;17965:111:44::2;18150:26;18179:1;:12;;18192:14;18179:28;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;18150:57:::2;::::0;;::::2;::::0;::::2;::::0;;18179:28:::2;::::0;;::::2;::::0;;::::2;18150:57:::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;;;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;;;::::0;;;;;;;;;;::::2;::::0;;::::2;;;::::0;;;;::::2;::::0;::::2;::::0;;;;18179:28;18150:57;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;18251:30;18284:46;18303:10;18315:14;18284:18;:46::i;:::-;18251:79:::0;-1:-1:-1;18359:23:44::2;18340:15;:42;;;;;;;;:::i;:::-;;;:87;;;;-1:-1:-1::0;18405:22:44::2;18386:15;:41;;;;;;;;:::i;:::-;;;18340:87;18336:170;;;18472:10;18484:14;18444:55;;-1:-1:-1::0;;;18444:55:44::2;;;;;;;;;:::i;18336:170::-;18679:22;18660:15;:41;;;;;;;;:::i;:::-;::::0;18656:120:::2;;18742:10;18754:14;18718:51;;-1:-1:-1::0;;;18718:51:44::2;;;;;;;;;:::i;18656:120::-;18869:16:::0;;18835:6:::2;::::0;::::2;::::0;:31:::2;::::0;-1:-1:-1;;;18835:31:44;;-1:-1:-1;;;;;18835:6:44;;::::2;::::0;:16:::2;::::0;:31:::2;::::0;18860:4:::2;::::0;18835:31:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;18831:146;;;18920:6;::::0;::::2;::::0;:31:::2;::::0;-1:-1:-1;;;18920:31:44;;-1:-1:-1;;;;;18920:6:44;;::::2;::::0;:16:::2;::::0;:31:::2;::::0;18945:4:::2;::::0;18920:31:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18953:16:::0;;18902:68:::2;::::0;-1:-1:-1;;;18902:68:44;;::::2;::::0;;18953:16;18902:68:::2;;;:::i;18831:146::-;19045:6;::::0;::::2;::::0;19077:16;;19045:49:::2;::::0;-1:-1:-1;;;19045:49:44;;19030:12:::2;::::0;-1:-1:-1;;;;;19045:6:44::2;::::0;:15:::2;::::0;:49:::2;::::0;19061:14;;19045:49:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19030:64;;19105:7;19100:52;;19129:16;;-1:-1:-1::0;;;19129:16:44::2;;;;;;;;;;;19100:52;19248:4;19207:1;:12;;19220:14;19207:28;;;;;;;;:::i;:::-;;;;;;;;;;;:38;;;:45;;;;;;;;;;;;;;;;;;19277:9;:16;;;19258:1;:15;;;:35;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;19349:16:44;;19304:62:::2;::::0;368:25:150;;;19333:14:44;;19321:10;;19304:62:::2;::::0;356:2:150;341:18;19304:62:44::2;;;;;;;17675:1696;;;;;;3293:20:13::0;:18;:20::i;24429:585:44:-;24539:30;24572:26;:24;:26::i;:::-;24604:27;24634:19;;;;;;;;;;24684:14;;;;24634:19;;-1:-1:-1;24634:19:44;-1:-1:-1;;;;;24684:14:44;24670:10;:28;;;;:72;;-1:-1:-1;24722:20:44;;;;-1:-1:-1;;;;;24722:20:44;24708:10;:34;;24670:72;:124;;;;;24753:41;-1:-1:-1;;;;;;;;;;;24783:10:44;24753:7;:41::i;:::-;24752:42;24670:124;:171;;;;;24805:36;-1:-1:-1;;;;;;;;;;;24830:10:44;24805:7;:36::i;:::-;24804:37;24670:171;24659:226;;;24863:15;;-1:-1:-1;;;24863:15:44;;;;;;;;;;;24659:226;24890:17;;;:43;24910:23;24890:17;:43;:::i;:::-;;24973:10;24945:64;24985:23;24945:64;;;;;;:::i;:::-;;;;;;;;24533:481;;24429:585;;:::o;22820:157::-;22870:7;22885:30;22918:26;:24;:26::i;:::-;22965:6;;;-1:-1:-1;;;;;22965:6:44;;22820:157;-1:-1:-1;;22820:157:44:o;25178:205::-;25254:13;25275:30;25308:26;:24;:26::i;:::-;25347:7;:19;;;;;;;;;;:31;;25340:38;;25275:59;;-1:-1:-1;25347:31:44;25340:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25178:205;;;:::o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;21932:203:44:-:0;22009:7;22024:30;22057:26;:24;:26::i;:::-;22096:7;:19;;;;;-1:-1:-1;;22096:19:44;;;:34;;;-1:-1:-1;;;;;22096:34:44;;21932:203::o;21439:334::-;21568:10;5580:30;5613:26;:24;:26::i;:::-;5580:59;-1:-1:-1;5651:38:44;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5651:38:44:-;:92;;;-1:-1:-1;5709:7:44;:19;;;;;;;;;;:34;;;-1:-1:-1;;;;;5709:34:44;966:10:11;-1:-1:-1;;;;;5693:50:44;;5651:92;5645:138;;5761:15;;-1:-1:-1;;;5761:15:44;;;;;;;;;;;5645:138;21586:30:::1;21619:26;:24;:26::i;:::-;21651:7;:19:::0;;;::::1;::::0;;;;;;;;:34:::1;;:54:::0;;-1:-1:-1;;;;;;21651:54:44::1;-1:-1:-1::0;;;;;21651:54:44;::::1;;::::0;;21716:52;21651:19;;-1:-1:-1;21651:19:44;;21716:52:::1;::::0;::::1;::::0;21651:54;;21716:52:::1;:::i;:::-;;;;;;;;21580:193;5574:220:::0;21439:334;;;:::o;15837:171::-;15928:14;15957:46;15976:10;15988:14;15957:18;:46::i;:::-;15950:53;15837:171;-1:-1:-1;;;15837:171:44:o;16103:837::-;-1:-1:-1;;;;;;;;;;;5126:30:44;5159:26;:24;:26::i;:::-;5126:59;-1:-1:-1;5197:27:44;5205:4;966:10:11;3732:207:0;:::i;5197:27:44:-;:69;;;-1:-1:-1;5228:38:44;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5228:38:44:-;5191:115;;5284:15;;-1:-1:-1;;;5284:15:44;;;;;;;;;;;5191:115;16207:30:::1;16240:26;:24;:26::i;:::-;16272:29;16304:19:::0;;;::::1;::::0;;;;;;;:30:::1;;16272:62:::0;;;;;;::::1;::::0;;;;;;;;;;16207:59;;-1:-1:-1;16272:29:44;;:62;;16304:30;16272:29;;:62;::::1;;;;;;;;;::::0;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;;;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;;;::::0;;;;;;;;;;::::1;::::0;;::::1;;;::::0;;;;::::1;::::0;::::1;::::0;;;;;;;;;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;16345:28;16362:10;16345:16;:28::i;:::-;16341:89;;;16390:33;::::0;-1:-1:-1;;;16390:33:44;;::::1;::::0;::::1;368:25:150::0;;;341:18;;16390:33:44::1;222:177:150::0;16341:89:44::1;16439:27;16455:10;16439:15;:27::i;:::-;16435:87;;;16483:32;::::0;-1:-1:-1;;;16483:32:44;;::::1;::::0;::::1;368:25:150::0;;;341:18;;16483:32:44::1;222:177:150::0;16435:87:44::1;16570:9;16565:229;16589:10;:17;16585:1;:21;16565:229;;;16662:22;16625:33;16644:10;16656:1;16625:18;:33::i;:::-;:59;;;;;;;;:::i;:::-;::::0;16621:167:::1;;16728:7;:19:::0;;;::::1;::::0;;;;;;:30:::1;;:33:::0;;16775:4:::1;::::0;16728:30;16759:1;;16728:33;::::1;;;;;:::i;:::-;;;;;;;;;;;:44;;;:51;;;;;;;;;;;;;;;;;;16621:167;16608:3:::0;::::1;::::0;::::1;:::i;:::-;;;;16565:229;;;;16853:46;16888:10;16853:34;:46::i;:::-;16910:25;::::0;16924:10;;16910:25:::1;::::0;;;::::1;16201:739;;5120:197:::0;16103:837;;:::o;3791:973::-;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;-1:-1:-1;;;;;3977:23:44;::::1;3969:64;;;::::0;-1:-1:-1;;;3969:64:44;;17820:2:150;3969:64:44::1;::::0;::::1;17802:21:150::0;17859:2;17839:18;;;17832:30;-1:-1:-1;;;17878:18:150;;;17871:58;17946:18;;3969:64:44::1;17618:352:150::0;3969:64:44::1;-1:-1:-1::0;;;;;4047:23:44;::::1;4039:64;;;::::0;-1:-1:-1;;;4039:64:44;;18177:2:150;4039:64:44::1;::::0;::::1;18159:21:150::0;18216:2;18196:18;;;18189:30;-1:-1:-1;;;18235:18:150;;;18228:58;18303:18;;4039:64:44::1;17975:352:150::0;4039:64:44::1;-1:-1:-1::0;;;;;4117:19:44;::::1;4109:56;;;::::0;-1:-1:-1;;;4109:56:44;;18534:2:150;4109:56:44::1;::::0;::::1;18516:21:150::0;18573:2;18553:18;;;18546:30;-1:-1:-1;;;18592:18:150;;;18585:54;18656:18;;4109:56:44::1;18332:348:150::0;4109:56:44::1;-1:-1:-1::0;;;;;4179:26:44;::::1;4171:72;;;::::0;-1:-1:-1;;;4171:72:44;;18887:2:150;4171:72:44::1;::::0;::::1;18869:21:150::0;18926:2;18906:18;;;18899:30;18965:34;18945:18;;;18938:62;-1:-1:-1;;;19016:18:150;;;19009:31;19057:19;;4171:72:44::1;18685:397:150::0;4171:72:44::1;4282:1;4257:22;:26;4249:74;;;::::0;-1:-1:-1;;;4249:74:44;;19289:2:150;4249:74:44::1;::::0;::::1;19271:21:150::0;19328:2;19308:18;;;19301:30;19367:34;19347:18;;;19340:62;-1:-1:-1;;;19418:18:150;;;19411:33;19461:19;;4249:74:44::1;19087:399:150::0;4249:74:44::1;4330:24;:22;:24::i;:::-;4360:22;:20;:22::i;:::-;4388:17;:15;:17::i;:::-;4411:24;:22;:24::i;:::-;4442:44;2362:4:0;4473:12:44::0;4442:10:::1;:44::i;:::-;;4492:38;-1:-1:-1::0;;;;;;;;;;;4520:9:44::1;4492:10;:38::i;:::-;;4537:30;4570:26;:24;:26::i;:::-;4602:10;::::0;::::1;:37:::0;;-1:-1:-1;;;;;4602:37:44;;::::1;-1:-1:-1::0;;;;;;4602:37:44;;::::1;;::::0;;;4645:10:::1;::::0;::::1;:33:::0;;;;::::1;::::0;;::::1;;::::0;;4684:6:::1;::::0;::::1;:21:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;4711:23:::1;;:48:::0;;;-1:-1:-1;5066:101:2;;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;19644:50:150;;5142:14:2;;19632:2:150;19617:18;5142:14:2;;;;;;;5066:101;4092:1081;;;;;3791:973:44;;;;;:::o;3463:161::-;3586:28;;3463:161::o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;:::-;4148:103;:::o;2787:177::-;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;3674:178:12;2563:16;:14;:16::i;:::-;3732:25:::1;3760:21;:19;:21::i;:::-;3791:17:::0;;-1:-1:-1;;3791:17:12::1;::::0;;;-1:-1:-1;3823:22:12::1;966:10:11::0;3832:12:12::1;3823:22;;;;;;:::i;:::-;;;;;;;;3722:130;3674:178::o:0;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;4654:251;4599:312::o;28669:98:44:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;368:25:150;;;341:18;;6312:34:3;222:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;1147:162:12;1270:23;;1147:162::o;27517:328:44:-;27586:30;27619:26;:24;:26::i;:::-;27695:10;;;;:28;;-1:-1:-1;;;27695:28:44;;;;;368:25:150;;;27695:10:44;;-1:-1:-1;27651:41:44;;-1:-1:-1;;;;;27695:10:44;;;;:16;;341:18:150;;27695:28:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27651:72;-1:-1:-1;27750:36:44;27733:13;:53;;;;;;;;:::i;:::-;;27729:112;;27803:31;;-1:-1:-1;;;27803:31:44;;;;;368:25:150;;;341:18;;27803:31:44;222:177:150;28015:293:44;28109:30;28142:46;28161:10;28173:14;28142:18;:46::i;:::-;28109:79;-1:-1:-1;28217:22:44;28198:15;:41;;;;;;;;:::i;:::-;;28194:110;;28281:15;28256:41;;-1:-1:-1;;;28256:41:44;;;;;;;;:::i;11546:586::-;11653:21;11682:30;11715:26;:24;:26::i;:::-;11747;11776:19;;;;;;;;;;;11747:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11747:48:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11682:59;;-1:-1:-1;11747:26:44;;:48;;11776:19;;11747:48;;;;;;;:26;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11801:26;11830:5;:16;;;11847:14;11830:32;;;;;;;;:::i;:::-;;;;;;;11801:61;;11873:9;:20;;;11869:71;;;11910:23;11903:30;;;;;;;11869:71;11950:9;:19;;;11946:69;;;11986:22;11979:29;;;;;;;11946:69;12025:9;:20;;;12021:71;;;12062:23;12055:30;;;;;;;2905:128:12;2970:8;:6;:8::i;:::-;2966:61;;;3001:15;;-1:-1:-1;;;3001:15:12;;;;;;;;;;;25482:1123:44;25559:30;25592:26;:24;:26::i;:::-;25651:10;;;;;;-1:-1:-1;;;;;;25651:10:44;25629;:33;25625:76;;25679:15;;-1:-1:-1;;;25679:15:44;;;;;;;;;;;25625:76;25737:14;;;;-1:-1:-1;;;;;25737:28:44;25733:86;;25782:30;;-1:-1:-1;;;25782:30:44;;;;;;;;;;;25733:86;25884:5;:17;;;25878:31;25913:1;25878:36;25874:98;;25931:34;;-1:-1:-1;;;25931:34:44;;;;;;;;;;;25874:98;26019:9;26014:153;26038:5;:16;;;:23;26034:1;:27;26014:153;;;26080:5;:16;;;26097:1;26080:19;;;;;;;;:::i;:::-;;;;;;;:26;;;26110:1;26080:31;26076:85;;26130:22;;-1:-1:-1;;;26130:22:44;;;;;368:25:150;;;341:18;;26130:22:44;222:177:150;26076:85:44;26063:3;;;;:::i;:::-;;;;26014:153;;;;26177:5;:17;;;26198:1;26177:22;26173:76;;26216:26;;-1:-1:-1;;;26216:26:44;;;;;;;;;;;26173:76;26281:5;:17;;;26259:5;:19;;;:39;26255:147;;;26356:5;:19;;;26377:5;:17;;;26315:80;;-1:-1:-1;;;26315:80:44;;;;;;;;;:::i;26255:147::-;26479:1;:23;;;26453:5;:16;;;:23;:49;26449:152;;;26545:16;;;;:23;26570;;;;;26519:75;;-1:-1:-1;;;26519:75:44;;;;26545:23;26519:75;;:::i;3366:176:12:-;2316:19;:17;:19::i;:::-;3425:25:::1;3453:21;:19;:21::i;:::-;3484:16:::0;;-1:-1:-1;;3484:16:12::1;3496:4;3484:16;::::0;;3425:49;-1:-1:-1;3515:20:12::1;3522:12;966:10:11::0;;887:96;3326:384:13;3375:32;3410:28;:26;:28::i;:::-;3526:9;;3375:63;;-1:-1:-1;;;3526:20:13;3522:88;;3569:30;;-1:-1:-1;;;3569:30:13;;;;;;;;;;;3522:88;1847:1;3684:19;;3326:384::o;3716:283::-;3764:32;3799:28;:26;:28::i;:::-;1805:1;3969:23;;-1:-1:-1;3716:283:13:o;26727:674:44:-;26806:30;26839:26;:24;:26::i;:::-;26871:23;26931:19;;;;;;;;;;:33;;;;26897:31;;;;;26806:59;;-1:-1:-1;26871:23:44;;26897:67;;26931:33;26897:67;:::i;:::-;26871:93;-1:-1:-1;26974:19:44;;26970:344;;27093:6;;;;:31;;-1:-1:-1;;;27093:31:44;;27068:22;;-1:-1:-1;;;;;27093:6:44;;:16;;:31;;27118:4;;27093:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27068:56;;27153:15;27136:14;:32;27132:114;;;27205:14;27221:15;27187:50;;-1:-1:-1;;;27187:50:44;;;;;;;;;:::i;27132:114::-;27254:6;;;;27278:10;;;;27254:53;;-1:-1:-1;;;27254:53:44;;-1:-1:-1;;;;;27254:6:44;;;;:15;;:53;;27278:10;;;27291:15;;27254:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26995:319;26970:344;27368:10;27324:72;27380:15;27324:72;;;;368:25:150;;356:2;341:18;;222:177;27324:72:44;;;;;;;;26800:601;;26727:674;:::o;8737:170:2:-;8870:21;;8737:170::o;2968:67:3:-;6931:20:2;:18;:20::i;1836:97:12:-;6931:20:2;:18;:20::i;:::-;1899:27:12::1;:25;:27::i;2540:111:13:-:0;6931:20:2;:18;:20::i;:::-;2610:34:13::1;:32;:34::i;4381:197:0:-:0;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;3105:126:12:-;3168:8;:6;:8::i;:::-;3163:62;;3199:15;;-1:-1:-1;;;3199:15:12;;;;;;;;;;;2779:335:24;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;2251:183:13:-;2388:30;;2251:183::o;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;1939:156:12;6931:20:2;:18;:20::i;:::-;2012:25:12::1;2040:21;:19;:21::i;:::-;2071:17:::0;;-1:-1:-1;;2071:17:12::1;::::0;;-1:-1:-1;1939:156:12:o;2657:183:13:-;6931:20:2;:18;:20::i;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;:::-;4290:62;4106:253;-1:-1:-1;;;;;4106:253:32:o;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;8487:120:2;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;4625:582:32:-;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;4625:582;-1:-1:-1;;4625:582:32:o;5743:516::-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;14:203:150;-1:-1:-1;;;;;178:32:150;;;;160:51;;148:2;133:18;;14:203::o;404:286::-;462:6;515:2;503:9;494:7;490:23;486:32;483:52;;;531:1;528;521:12;483:52;557:23;;-1:-1:-1;;;;;;609:32:150;;599:43;;589:71;;656:1;653;646:12;887:131;-1:-1:-1;;;;;962:31:150;;952:42;;942:70;;1008:1;1005;998:12;1023:247;1082:6;1135:2;1123:9;1114:7;1110:23;1106:32;1103:52;;;1151:1;1148;1141:12;1103:52;1190:9;1177:23;1209:31;1234:5;1209:31;:::i;1457:180::-;1516:6;1569:2;1557:9;1548:7;1544:23;1540:32;1537:52;;;1585:1;1582;1575:12;1537:52;-1:-1:-1;1608:23:150;;1457:180;-1:-1:-1;1457:180:150:o;1827:250::-;1912:1;1922:113;1936:6;1933:1;1930:13;1922:113;;;2012:11;;;2006:18;1993:11;;;1986:39;1958:2;1951:10;1922:113;;;-1:-1:-1;;2069:1:150;2051:16;;2044:27;1827:250::o;2082:271::-;2124:3;2162:5;2156:12;2189:6;2184:3;2177:19;2205:76;2274:6;2267:4;2262:3;2258:14;2251:4;2244:5;2240:16;2205:76;:::i;:::-;2335:2;2314:15;-1:-1:-1;;2310:29:150;2301:39;;;;2342:4;2297:50;;2082:271;-1:-1:-1;;2082:271:150:o;2358:469::-;2446:5;2440:12;2435:3;2428:25;2516:4;2509:5;2505:16;2499:23;2492:31;2485:39;2478:4;2473:3;2469:14;2462:63;2588:4;2581:5;2577:16;2571:23;2564:31;2557:39;2550:4;2545:3;2541:14;2534:63;2660:4;2653:5;2649:16;2643:23;2636:31;2629:39;2622:4;2617:3;2613:14;2606:63;2410:3;2715:4;2708:5;2704:16;2698:23;2753:4;2746;2741:3;2737:14;2730:28;2774:47;2815:4;2810:3;2806:14;2792:12;2774:47;:::i;2832:1493::-;2988:4;3017:2;3046;3035:9;3028:21;3087:3;3076:9;3072:19;3133:6;3127:13;3122:2;3111:9;3107:18;3100:41;3195:2;3187:6;3183:15;3177:22;3172:2;3161:9;3157:18;3150:50;3254:2;3246:6;3242:15;3236:22;3231:2;3220:9;3216:18;3209:50;3306:2;3298:6;3294:15;3288:22;3346:1;3342;3337:3;3333:11;3329:19;3403:2;3389:12;3385:21;3379:3;3368:9;3364:19;3357:50;3473:2;3466:3;3458:6;3454:16;3448:23;3444:32;3438:3;3427:9;3423:19;3416:61;;;3526:3;3518:6;3514:16;3508:23;3568:4;3562:3;3551:9;3547:19;3540:33;3593:6;3628:14;3622:21;3667:6;3659;3652:22;3693:3;3683:13;;3727:2;3716:9;3712:18;3705:25;;3789:2;3779:6;3776:1;3772:14;3761:9;3757:30;3753:39;3739:53;;3835:2;3819:14;3815:23;3801:37;;3856:1;3866:266;3880:6;3877:1;3874:13;3866:266;;;3973:3;3969:8;3957:9;3949:6;3945:22;3941:37;3936:3;3929:50;4002;4045:6;4036;4030:13;4002:50;:::i;:::-;3992:60;-1:-1:-1;4075:15:150;;;;4110:12;;;;3902:1;3895:9;3866:266;;;-1:-1:-1;;;;4181:3:150;4169:16;;4163:23;4228:22;;;-1:-1:-1;;4224:36:150;4217:4;4202:20;;4195:66;4163:23;-1:-1:-1;4278:41:150;4232:6;4163:23;4278:41;:::i;4330:315::-;4398:6;4406;4459:2;4447:9;4438:7;4434:23;4430:32;4427:52;;;4475:1;4472;4465:12;4427:52;4511:9;4498:23;4488:33;;4571:2;4560:9;4556:18;4543:32;4584:31;4609:5;4584:31;:::i;:::-;4634:5;4624:15;;;4330:315;;;;;:::o;4650:849::-;4848:4;4877:2;4917;4906:9;4902:18;4947:2;4936:9;4929:21;4970:6;5005;4999:13;5036:6;5028;5021:22;5074:2;5063:9;5059:18;5052:25;;5136:2;5126:6;5123:1;5119:14;5108:9;5104:30;5100:39;5086:53;;5174:2;5166:6;5162:15;5195:1;5205:265;5219:6;5216:1;5213:13;5205:265;;;5312:2;5308:7;5296:9;5288:6;5284:22;5280:36;5275:3;5268:49;5340:50;5383:6;5374;5368:13;5340:50;:::i;:::-;5330:60;-1:-1:-1;5448:12:150;;;;5413:15;;;;5241:1;5234:9;5205:265;;;-1:-1:-1;5487:6:150;;4650:849;-1:-1:-1;;;;;;;4650:849:150:o;5504:127::-;5565:10;5560:3;5556:20;5553:1;5546:31;5596:4;5593:1;5586:15;5620:4;5617:1;5610:15;5636:275;5707:2;5701:9;5772:2;5753:13;;-1:-1:-1;;5749:27:150;5737:40;;-1:-1:-1;;;;;5792:34:150;;5828:22;;;5789:62;5786:88;;;5854:18;;:::i;:::-;5890:2;5883:22;5636:275;;-1:-1:-1;5636:275:150:o;5916:530::-;5958:5;6011:3;6004:4;5996:6;5992:17;5988:27;5978:55;;6029:1;6026;6019:12;5978:55;6052:20;;-1:-1:-1;;;;;6084:26:150;;6081:52;;;6113:18;;:::i;:::-;6157:55;6200:2;6181:13;;-1:-1:-1;;6177:27:150;6206:4;6173:38;6157:55;:::i;:::-;6237:2;6228:7;6221:19;6283:3;6276:4;6271:2;6263:6;6259:15;6255:26;6252:35;6249:55;;;6300:1;6297;6290:12;6249:55;6365:2;6358:4;6350:6;6346:17;6339:4;6330:7;6326:18;6313:55;6413:1;6388:16;;;6406:4;6384:27;6377:38;;;;6392:7;5916:530;-1:-1:-1;;;5916:530:150:o;6451:455::-;6528:6;6536;6589:2;6577:9;6568:7;6564:23;6560:32;6557:52;;;6605:1;6602;6595:12;6557:52;6644:9;6631:23;6663:31;6688:5;6663:31;:::i;:::-;6713:5;-1:-1:-1;6769:2:150;6754:18;;6741:32;-1:-1:-1;;;;;6785:30:150;;6782:50;;;6828:1;6825;6818:12;6782:50;6851:49;6892:7;6883:6;6872:9;6868:22;6851:49;:::i;:::-;6841:59;;;6451:455;;;;;:::o;6911:248::-;6979:6;6987;7040:2;7028:9;7019:7;7015:23;7011:32;7008:52;;;7056:1;7053;7046:12;7008:52;-1:-1:-1;;7079:23:150;;;7149:2;7134:18;;;7121:32;;-1:-1:-1;6911:248:150:o;7164:1710::-;7303:6;7311;7319;7327;7335;7388:3;7376:9;7367:7;7363:23;7359:33;7356:53;;;7405:1;7402;7395:12;7356:53;7432:23;;-1:-1:-1;;;;;7504:14:150;;;7501:34;;;7531:1;7528;7521:12;7501:34;7554:49;7595:7;7586:6;7575:9;7571:22;7554:49;:::i;:::-;7544:59;;7622:2;7612:12;;7671:2;7660:9;7656:18;7643:32;7633:42;;7725:2;7714:9;7710:18;7697:32;7738:31;7763:5;7738:31;:::i;:::-;7788:5;-1:-1:-1;7845:2:150;7830:18;;7817:32;7858:33;7817:32;7858:33;:::i;:::-;7910:7;-1:-1:-1;7970:3:150;7955:19;;7942:33;7987:16;;;7984:36;;;8016:1;8013;8006:12;7984:36;8039:24;;8094:4;8086:13;;8082:27;-1:-1:-1;8072:55:150;;8123:1;8120;8113:12;8072:55;8159:2;8146:16;8181:2;8177;8174:10;8171:36;;;8187:18;;:::i;:::-;8233:2;8230:1;8226:10;8256:28;8280:2;8276;8272:11;8256:28;:::i;:::-;8318:15;;;8388:11;;;8384:20;;;8349:12;;;;8416:19;;;8413:39;;;8448:1;8445;8438:12;8413:39;8480:2;8476;8472:11;8461:22;;8492:352;8508:6;8503:3;8500:15;8492:352;;;8594:3;8581:17;8630:2;8617:11;8614:19;8611:109;;;8674:1;8703:2;8699;8692:14;8611:109;8745:56;8793:7;8788:2;8774:11;8770:2;8766:20;8762:29;8745:56;:::i;:::-;8733:69;;-1:-1:-1;8525:12:150;;;;8822;;;;8492:352;;;8863:5;8853:15;;;;;;;;;7164:1710;;;;;;;;:::o;8879:266::-;9064:2;9053:9;9046:21;9027:4;9084:55;9135:2;9124:9;9120:18;9112:6;9084:55;:::i;9150:220::-;9299:2;9288:9;9281:21;9262:4;9319:45;9360:2;9349:9;9345:18;9337:6;9319:45;:::i;9375:457::-;9462:6;9470;9478;9531:2;9519:9;9510:7;9506:23;9502:32;9499:52;;;9547:1;9544;9537:12;9499:52;9570:23;;;-1:-1:-1;9640:2:150;9625:18;;9612:32;;-1:-1:-1;9695:2:150;9680:18;;9667:32;-1:-1:-1;;;;;9711:30:150;;9708:50;;;9754:1;9751;9744:12;9708:50;9777:49;9818:7;9809:6;9798:9;9794:22;9777:49;:::i;:::-;9767:59;;;9375:457;;;;;:::o;9837:127::-;9898:10;9893:3;9889:20;9886:1;9879:31;9929:4;9926:1;9919:15;9953:4;9950:1;9943:15;9969:248;10117:2;10102:18;;10150:2;10139:14;;10129:48;;10157:18;;:::i;:::-;10186:25;;;9969:248;:::o;10222:389::-;10300:6;10308;10361:2;10349:9;10340:7;10336:23;10332:32;10329:52;;;10377:1;10374;10367:12;10329:52;10400:23;;;-1:-1:-1;10474:2:150;10459:18;;10446:32;-1:-1:-1;;;;;10490:30:150;;10487:50;;;10533:1;10530;10523:12;10936:251;11088:2;11073:18;;11121:1;11110:13;;11100:47;;11127:18;;:::i;11192:740::-;11287:6;11295;11303;11311;11319;11372:3;11360:9;11351:7;11347:23;11343:33;11340:53;;;11389:1;11386;11379:12;11340:53;11428:9;11415:23;11447:31;11472:5;11447:31;:::i;:::-;11497:5;-1:-1:-1;11554:2:150;11539:18;;11526:32;11567:33;11526:32;11567:33;:::i;:::-;11619:7;-1:-1:-1;11678:2:150;11663:18;;11650:32;11691:33;11650:32;11691:33;:::i;:::-;11743:7;-1:-1:-1;11802:2:150;11787:18;;11774:32;11815:33;11774:32;11815:33;:::i;:::-;11192:740;;;;-1:-1:-1;11192:740:150;;11921:3;11906:19;11893:33;;11192:740;-1:-1:-1;;11192:740:150:o;11937:380::-;12016:1;12012:12;;;;12059;;;12080:61;;12134:4;12126:6;12122:17;12112:27;;12080:61;12187:2;12179:6;12176:14;12156:18;12153:38;12150:161;;12233:10;12228:3;12224:20;12221:1;12214:31;12268:4;12265:1;12258:15;12296:4;12293:1;12286:15;12150:161;;11937:380;;;:::o;12322:127::-;12383:10;12378:3;12374:20;12371:1;12364:31;12414:4;12411:1;12404:15;12438:4;12435:1;12428:15;12454:128;12521:9;;;12542:11;;;12539:37;;;12556:18;;:::i;12587:248::-;12761:25;;;12817:2;12802:18;;12795:34;12749:2;12734:18;;12587:248::o;12840:127::-;12901:10;12896:3;12892:20;12889:1;12882:31;12932:4;12929:1;12922:15;12956:4;12953:1;12946:15;12972:135;13011:3;13032:17;;;13029:43;;13052:18;;:::i;:::-;-1:-1:-1;13099:1:150;13088:13;;12972:135::o;13319:125::-;13384:9;;;13405:10;;;13402:36;;;13418:18;;:::i;13449:320::-;13536:6;13544;13597:2;13585:9;13576:7;13572:23;13568:32;13565:52;;;13613:1;13610;13603:12;13565:52;13645:9;13639:16;13664:31;13689:5;13664:31;:::i;:::-;13759:2;13744:18;;;;13738:25;13714:5;;13738:25;;-1:-1:-1;;;13449:320:150:o;13900:545::-;14002:2;13997:3;13994:11;13991:448;;;14038:1;14063:5;14059:2;14052:17;14108:4;14104:2;14094:19;14178:2;14166:10;14162:19;14159:1;14155:27;14149:4;14145:38;14214:4;14202:10;14199:20;14196:47;;;-1:-1:-1;14237:4:150;14196:47;14292:2;14287:3;14283:12;14280:1;14276:20;14270:4;14266:31;14256:41;;14347:82;14365:2;14358:5;14355:13;14347:82;;;14410:17;;;14391:1;14380:13;14347:82;;;14351:3;;;13900:545;;;:::o;14621:1352::-;14741:10;;-1:-1:-1;;;;;14763:30:150;;14760:56;;;14796:18;;:::i;:::-;14825:97;14915:6;14875:38;14907:4;14901:11;14875:38;:::i;:::-;14869:4;14825:97;:::i;:::-;14977:4;;15041:2;15030:14;;15058:1;15053:663;;;;15760:1;15777:6;15774:89;;;-1:-1:-1;15829:19:150;;;15823:26;15774:89;-1:-1:-1;;14578:1:150;14574:11;;;14570:24;14566:29;14556:40;14602:1;14598:11;;;14553:57;15876:81;;15023:944;;15053:663;13847:1;13840:14;;;13884:4;13871:18;;-1:-1:-1;;15089:20:150;;;15207:236;15221:7;15218:1;15215:14;15207:236;;;15310:19;;;15304:26;15289:42;;15402:27;;;;15370:1;15358:14;;;;15237:19;;15207:236;;;15211:3;15471:6;15462:7;15459:19;15456:201;;;15532:19;;;15526:26;-1:-1:-1;;15615:1:150;15611:14;;;15627:3;15607:24;15603:37;15599:42;15584:58;15569:74;;15456:201;-1:-1:-1;;;;;15703:1:150;15687:14;;;15683:22;15670:36;;-1:-1:-1;14621:1352:150:o;15978:291::-;16155:6;16144:9;16137:25;16198:2;16193;16182:9;16178:18;16171:30;16118:4;16218:45;16259:2;16248:9;16244:18;16236:6;16218:45;:::i;16274:280::-;16363:6;16416:2;16404:9;16395:7;16391:23;16387:32;16384:52;;;16432:1;16429;16422:12;16384:52;16464:9;16458:16;16503:2;16496:5;16493:13;16483:41;;16520:1;16517;16510:12;16868:184;16938:6;16991:2;16979:9;16970:7;16966:23;16962:32;16959:52;;;17007:1;17004;16997:12;16959:52;-1:-1:-1;17030:16:150;;16868:184;-1:-1:-1;16868:184:150:o;17057:274::-;-1:-1:-1;;;;;17249:32:150;;;;17231:51;;17313:2;17298:18;;17291:34;17219:2;17204:18;;17057:274::o;17336:277::-;17403:6;17456:2;17444:9;17435:7;17431:23;17427:32;17424:52;;;17472:1;17469;17462:12;17424:52;17504:9;17498:16;17557:5;17550:13;17543:21;17536:5;17533:32;17523:60;;17579:1;17576;17569:12;20173:287;20302:3;20340:6;20334:13;20356:66;20415:6;20410:3;20403:4;20395:6;20391:17;20356:66;:::i;:::-;20438:16;;;;;20173:287;-1:-1:-1;;20173:287:150:o"},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","GOVERNANCE_ROLE()":"f36c8f5c","GRANTS_APPROVER_ROLE()":"3f36cd7f","GRANTS_REJECTOR_ROLE()":"21afd1f6","PAUSER_ROLE()":"e63ab1e9","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approveMilestoneWithReason(uint256,uint256,string)":"b3396778","approveMilestones(uint256,uint256)":"767b1602","claimMilestone(uint256,uint256)":"c266aef7","createMilestones(string,uint256,address,address,bytes[])":"808860a5","getB3trContract()":"c4ec8f98","getGovernorContract()":"0019cce6","getGrantProposal(uint256)":"24ad94cd","getGrantsReceiverAddress(uint256)":"da104fac","getMilestone(uint256,uint256)":"8ed9895c","getMilestoneMetadataURI(uint256)":"cff28c70","getMilestones(uint256)":"42c549c0","getMinimumMilestoneCount()":"01294764","getRoleAdmin(bytes32)":"248a9ca3","getTotalAmountForMilestones(uint256)":"5ade3874","getTreasuryContract()":"26c74fc3","grantRole(bytes32,address)":"2f2ff15d","grantState(uint256)":"bfda4e7c","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,address,uint256)":"f7013ef6","isClaimable(uint256,uint256)":"c1a45a6a","isGrantCompleted(uint256)":"c2249389","isGrantInDevelopment(uint256)":"9b154087","isGrantRejected(uint256)":"7da17bf3","milestoneState(uint256,uint256)":"e9af5d1b","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","rejectMilestones(uint256)":"f23e227b","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setB3trContract(address)":"54b90b7b","setGovernorContract(address)":"06c49822","setMinimumMilestoneCount(uint256)":"b2a2eef9","setTreasuryContract(address)":"1ed65110","supportsInterface(bytes4)":"01ffc9a7","unpause()":"3f4ba83a","updateGrantsReceiver(uint256,address)":"e03d759b","updateMilestoneMetadataURI(uint256,string)":"c42433b4","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"CallerIsNotTheGrantReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantAlreadyCompleted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantAlreadyRejected\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"availableFunds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredFunds\",\"type\":\"uint256\"}],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"InvalidFunctionSelector\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"InvalidMilestoneIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"InvalidNumberOfMilestones\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"InvalidTarget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAlreadyApproved\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAmountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"MilestoneClaimedAmountExceedsTotalAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneDetailsMetadataURIEmpty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneNotApprovedByAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneProposerZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum IGrantsManager.MilestoneState\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"MilestoneStateNotPending\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneTotalAmountZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"PreviousMilestoneNotApproved\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotExecuted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newGrantsReceiver\",\"type\":\"address\"}],\"name\":\"GrantsReceiverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MilestoneClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newMilestoneMetadataURI\",\"type\":\"string\"}],\"name\":\"MilestoneMetadataURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MilestoneRejectedAndFundsReturnedToTreasury\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneValidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"name\":\"MilestonesCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOVERNANCE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GRANTS_APPROVER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GRANTS_REJECTOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"approveMilestoneWithReason\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"approveMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"claimMilestone\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"}],\"name\":\"createMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getB3trContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGovernorContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getGrantProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManager.Milestone[]\",\"name\":\"milestones\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManager.GrantProposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getGrantsReceiverAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"getMilestone\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManager.Milestone\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMilestoneMetadataURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMilestones\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManager.Milestone[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinimumMilestoneCount\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"milestoneId\",\"type\":\"uint256\"}],\"name\":\"getTotalAmountForMilestones\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasuryContract\",\"outputs\":[{\"internalType\":\"address\",\"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\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"grantState\",\"outputs\":[{\"internalType\":\"enum IGrantsManager.GrantState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"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\":\"_governor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"defaultAdmin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_b3tr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minimumMilestoneCount\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"isClaimable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantCompleted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantInDevelopment\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantRejected\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"milestoneState\",\"outputs\":[{\"internalType\":\"enum IGrantsManager.MilestoneState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"rejectMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"_b3tr\",\"type\":\"address\"}],\"name\":\"setB3trContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_governor\",\"type\":\"address\"}],\"name\":\"setGovernorContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumMilestoneCount\",\"type\":\"uint256\"}],\"name\":\"setMinimumMilestoneCount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"setTreasuryContract\",\"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\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"newGrantsReceiver\",\"type\":\"address\"}],\"name\":\"updateGrantsReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"newMilestoneMetadataURI\",\"type\":\"string\"}],\"name\":\"updateMilestoneMetadataURI\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CallerIsNotTheGrantReceiver(address,address)\":[{\"params\":{\"caller\":\"The address of the caller\",\"recipient\":\"The address of the recipient\"}}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"GrantAlreadyCompleted(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"GrantAlreadyRejected(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"InsufficientFunds(uint256,uint256)\":[{\"params\":{\"availableFunds\":\"The available funds\",\"requiredFunds\":\"The required funds\"}}],\"InvalidFunctionSelector(bytes4)\":[{\"params\":{\"selector\":\"The invalid selector\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidMilestoneIndex(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"InvalidNumberOfMilestones(uint256,uint256)\":[{\"params\":{\"provided\":\"The number of milestones provided\",\"required\":\"The minimum number of milestones required\"}}],\"InvalidTarget(address)\":[{\"params\":{\"target\":\"The invalid target\"}}],\"MilestoneAlreadyApproved(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneAlreadyClaimed(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneAmountZero(uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone with zero amount\"}}],\"MilestoneClaimedAmountExceedsTotalAmount(uint256,uint256)\":[{\"params\":{\"claimedAmount\":\"The amount claimed\",\"totalAmount\":\"The total amount available\"}}],\"MilestoneNotApprovedByAdmin(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneStateNotPending(uint8)\":[{\"params\":{\"status\":\"The current status of the milestone\"}}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"PreviousMilestoneNotApproved(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"ProposalNotExecuted(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"GrantCanceled(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"}},\"GrantsReceiverUpdated(uint256,address)\":{\"params\":{\"newGrantsReceiver\":\"The new grants receiver address\",\"proposalId\":\"The ID of the proposal\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"MilestoneClaimed(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the milestone\",\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneMetadataURIUpdated(uint256,string)\":{\"params\":{\"newMilestoneMetadataURI\":\"The new metadata URI\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneRejectedAndFundsReturnedToTreasury(uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneValidated(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestonesCreated(uint256,address,address,uint256,string)\":{\"params\":{\"grantsReceiver\":\"The address of the grants receiver\",\"metadataURI\":\"The IPFS hash containing milestone details\",\"proposalId\":\"The ID of the proposal\",\"proposer\":\"The address of the proposer\",\"totalAmount\":\"The total amount of all milestones\"}},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"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.\"},\"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`)\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"approveMilestoneWithReason(uint256,uint256,string)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\",\"reason\":\"The reason for approving the milestone\"}},\"approveMilestones(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"claimMilestone(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone to claim\",\"proposalId\":\"The ID of the grant proposal\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"createMilestones(string,uint256,address,address,bytes[])\":{\"details\":\"Internal function to create milestones for a proposal.\",\"params\":{\"calldatas\":\"The calldatas of the milestones\",\"metadataURI\":\"The IPFS hash containing the milestones descriptions\",\"proposalId\":\"The ID of the proposal\",\"proposer\":\"The address of the proposer\"}},\"getB3trContract()\":{\"returns\":{\"_0\":\"The address of the b3tr contract\"}},\"getGovernorContract()\":{\"returns\":{\"_0\":\"The address of the governor contract\"}},\"getGrantProposal(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GrantProposal The grant proposal for the proposal\"}},\"getGrantsReceiverAddress(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"The address of the grants receiver\"}},\"getMilestone(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"Milestone The milestone\"}},\"getMilestoneMetadataURI(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"The metadata URI for the milestone\"}},\"getMilestones(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GrantProposal The milestones for the proposal\"}},\"getMinimumMilestoneCount()\":{\"returns\":{\"_0\":\"uint256 The minimum milestone count.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getTotalAmountForMilestones(uint256)\":{\"params\":{\"milestoneId\":\"The ID of the milestone\"},\"returns\":{\"_0\":\"The total amount for the milestones\"}},\"getTreasuryContract()\":{\"returns\":{\"_0\":\"The address of the treasury contract\"}},\"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.\"},\"grantState(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GrantState The state of the grant\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isClaimable(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if the milestone is claimable, false otherwise\"}},\"isGrantCompleted(uint256)\":{\"details\":\"Ascending order status of the milestones, so last one is the one that determines the status of the grant\",\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is completed, false otherwise\"}},\"isGrantInDevelopment(uint256)\":{\"details\":\"A grant is in development when: 1. The proposal has been executed AND 2. At least one milestone is still pending\",\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is in development, false otherwise\"}},\"isGrantRejected(uint256)\":{\"details\":\"A grant is rejected when at least one milestone is rejected\",\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is rejected, false otherwise\"}},\"milestoneState(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"MilestoneState The state of the milestone\"}},\"pause()\":{\"details\":\"Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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.\"},\"rejectMilestones(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"}},\"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 `callerConfirmation`. 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.\"},\"setB3trContract(address)\":{\"params\":{\"_b3tr\":\"The address of the b3tr contract\"}},\"setGovernorContract(address)\":{\"params\":{\"_governor\":\"The address of the governor contract\"}},\"setMinimumMilestoneCount(uint256)\":{\"params\":{\"minimumMilestoneCount\":\"The minimum milestone count\"}},\"setTreasuryContract(address)\":{\"params\":{\"_treasury\":\"The address of the treasury contract\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"unpause()\":{\"details\":\"Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE\"},\"updateGrantsReceiver(uint256,address)\":{\"details\":\"Only the grants receiver or governance can update the grants receiver address\",\"params\":{\"newGrantsReceiver\":\"The address of the grants receiver contract\",\"proposalId\":\"The ID of the proposal\"}},\"updateMilestoneMetadataURI(uint256,string)\":{\"details\":\"In production the grants approver wallet acts as the proposer for nearly every grant, so      the receiving app cannot persist expenditure reports unless the receiver and the approver      role are also allow-listed. Governance retains override capability.\",\"params\":{\"newMilestoneMetadataURI\":\"The new IPFS hash containing the updated milestone descriptions\",\"proposalId\":\"The ID of the proposal\"}},\"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()\":{\"returns\":{\"_0\":\"The version of the contract\"}}},\"title\":\"GrantsManager\",\"version\":1},\"userdoc\":{\"errors\":{\"CallerIsNotTheGrantReceiver(address,address)\":[{\"notice\":\"Error thrown when caller is not the grant receiver\"}],\"GrantAlreadyCompleted(uint256)\":[{\"notice\":\"Error thrown when grant is already completed\"}],\"GrantAlreadyRejected(uint256)\":[{\"notice\":\"Error thrown when grant is already rejected\"}],\"InsufficientFunds(uint256,uint256)\":[{\"notice\":\"Error thrown when funds are insufficient\"}],\"InvalidAmount()\":[{\"notice\":\"Error thrown when a milestone amount is invalid\"}],\"InvalidFunctionSelector(bytes4)\":[{\"notice\":\"Error thrown when a function selector is invalid\"}],\"InvalidMilestoneIndex(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone index is invalid\"}],\"InvalidNumberOfMilestones(uint256,uint256)\":[{\"notice\":\"Error thrown when number of milestones is less than minimum required\"}],\"InvalidTarget(address)\":[{\"notice\":\"Error thrown when a target is invalid\"}],\"MilestoneAlreadyApproved(uint256,uint256)\":[{\"notice\":\"Error thrown when a milestone is already validated\"}],\"MilestoneAlreadyClaimed(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone is already claimed\"}],\"MilestoneAmountZero(uint256)\":[{\"notice\":\"Error thrown when milestone amount is zero\"}],\"MilestoneClaimedAmountExceedsTotalAmount(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone claimed amount exceeds total amount\"}],\"MilestoneDetailsMetadataURIEmpty()\":[{\"notice\":\"Error thrown when milestone details metadata URI is empty\"}],\"MilestoneNotApprovedByAdmin(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone is not validated\"}],\"MilestoneProposerZeroAddress()\":[{\"notice\":\"Error thrown when milestone proposer is zero address\"}],\"MilestoneStateNotPending(uint8)\":[{\"notice\":\"Error thrown when milestone state is not pending\"}],\"MilestoneTotalAmountZero()\":[{\"notice\":\"Error thrown when milestone total amount is zero\"}],\"NotAuthorized()\":[{\"notice\":\"Error thrown when caller is not an admin or grants manager\"}],\"PreviousMilestoneNotApproved(uint256,uint256)\":[{\"notice\":\"Error thrown when previous milestone is not validated\"}],\"ProposalNotExecuted(uint256)\":[{\"notice\":\"Error thrown when proposal is not executed\"}],\"TransferFailed()\":[{\"notice\":\"Error thrown when transfer fails\"}]},\"events\":{\"GrantCanceled(uint256)\":{\"notice\":\"Emitted when a grant is canceled\"},\"GrantsReceiverUpdated(uint256,address)\":{\"notice\":\"Emitted when the grants receiver address is updated\"},\"MilestoneClaimed(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a milestone is claimed\"},\"MilestoneMetadataURIUpdated(uint256,string)\":{\"notice\":\"Emitted when a milestone metadata URI is updated\"},\"MilestoneRejectedAndFundsReturnedToTreasury(uint256,uint256)\":{\"notice\":\"Emitted when a milestone is rejected\"},\"MilestoneValidated(uint256,uint256)\":{\"notice\":\"Emitted when a milestone is validated ( ready to be claimed by the receiver )\"},\"MilestonesCreated(uint256,address,address,uint256,string)\":{\"notice\":\"Emitted when milestones are created for a proposal\"}},\"kind\":\"user\",\"methods\":{\"approveMilestoneWithReason(uint256,uint256,string)\":{\"notice\":\"Approves a milestone with a reason\"},\"approveMilestones(uint256,uint256)\":{\"notice\":\"Approves a milestone\"},\"claimMilestone(uint256,uint256)\":{\"notice\":\"Claims funds for a validated milestone\"},\"getB3trContract()\":{\"notice\":\"Returns the b3tr contract\"},\"getGovernorContract()\":{\"notice\":\"Returns the governor contract\"},\"getGrantProposal(uint256)\":{\"notice\":\"Returns the grant proposal for a proposal.\"},\"getGrantsReceiverAddress(uint256)\":{\"notice\":\"Returns the grants receiver address\"},\"getMilestone(uint256,uint256)\":{\"notice\":\"Returns a milestone for a proposal.\"},\"getMilestoneMetadataURI(uint256)\":{\"notice\":\"Returns the metadata URI for a milestone\"},\"getMilestones(uint256)\":{\"notice\":\"Returns the milestones for a proposal.\"},\"getMinimumMilestoneCount()\":{\"notice\":\"Returns the minimum milestone count for a proposal.\"},\"getTotalAmountForMilestones(uint256)\":{\"notice\":\"Returns the total amount for milestones\"},\"getTreasuryContract()\":{\"notice\":\"Returns the treasury contract\"},\"grantState(uint256)\":{\"notice\":\"Returns the state of a grant {see IGrantsManager:GrantState }\"},\"isClaimable(uint256,uint256)\":{\"notice\":\"Returns if a milestone is claimable\"},\"isGrantCompleted(uint256)\":{\"notice\":\"Returns if a proposal is completed\"},\"isGrantInDevelopment(uint256)\":{\"notice\":\"Returns if a proposal is in development\"},\"isGrantRejected(uint256)\":{\"notice\":\"Returns if a proposal is rejected\"},\"milestoneState(uint256,uint256)\":{\"notice\":\"Returns the state of a milestone\"},\"pause()\":{\"notice\":\"Pauses all token transfers and minting functions\"},\"rejectMilestones(uint256)\":{\"notice\":\"Rejects a milestone\"},\"setB3trContract(address)\":{\"notice\":\"Sets the b3tr contract\"},\"setGovernorContract(address)\":{\"notice\":\"Sets the governor contract\"},\"setMinimumMilestoneCount(uint256)\":{\"notice\":\"Sets the minimum number of milestones for a grant proposal\"},\"setTreasuryContract(address)\":{\"notice\":\"Sets the treasury contract\"},\"unpause()\":{\"notice\":\"Unpauses the contract to resume token transfers and minting\"},\"updateGrantsReceiver(uint256,address)\":{\"notice\":\"Updates the grants receiver address\"},\"updateMilestoneMetadataURI(uint256,string)\":{\"notice\":\"Updates the metadata URI for a milestoneThe JSON is {milestone1: {details: ..., duration: timestamp}, milestone2: {details: ..., duration: timestamp}}\"},\"version()\":{\"notice\":\"Returns the version of the contract\"}},\"notice\":\"Contract that manages grant funds milestone validation and claiming\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/GrantsManager.sol\":\"GrantsManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/GrantsManager.sol\":{\"keccak256\":\"0xf76774b8da80c77761265c89d14a224c2a63d8e2dd0aeed8e6a2fa2731362f55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9cd8f9304ffb93bfa3ddd2d0195a7f9f52e7e37ee19bcf504d74d8a04c3749bf\",\"dweb:/ipfs/QmSrZeGgbVV4cnw7FQ6XzXECNghm6bDxTrPVTgz5BN8SQd\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V1/VoterRewardsV1.sol":{"VoterRewardsV1":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"EmissionsAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"GalaxyMemberAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"LevelToMultiplierSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardClaimed","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":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"votes","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardWeightedVote","type":"uint256"}],"name":"VoteRegistered","type":"event"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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":"SCALING_FACTOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VOTE_REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"cycleToTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"cycleToVoterToTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"galaxyMember","outputs":[{"internalType":"contract IGalaxyMemberV1","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getReward","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":[{"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":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"contractsAddressManager","type":"address"},{"internalType":"address","name":"_emissions","type":"address"},{"internalType":"address","name":"_galaxyMember","type":"address"},{"internalType":"address","name":"_b3tr","type":"address"},{"internalType":"uint256[]","name":"levels","type":"uint256[]"},{"internalType":"uint256[]","name":"multipliers","type":"uint256[]"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"levelToMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalStart","type":"uint256"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"votes","type":"uint256"},{"internalType":"uint256","name":"votePower","type":"uint256"}],"name":"registerVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"_emissions","type":"address"}],"name":"setEmissions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_galaxyMember","type":"address"}],"name":"setGalaxyMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"setLevelToMultiplier","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":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_16083":{"entryPoint":null,"id":16083,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":34,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516121cc620000fe6000396000818161172e01528181611757015261189f01526121cc6000f3fe6080604052600436106101465760003560e01c80628f33d71461014b57806301ffc9a71461017e57806308834ee7146101ae5780630dd3729c146101d0578063105fe500146101f05780632267716c146102105780632325e4b914610232578063248a9ca3146102475780632f18339d146102675780632f2ff15d1461028757806336568abe146102a75780634f1ef286146102c757806352d1902d146102da57806354fd4d50146102ef578063582a486a146103225780635fdc17521461033757806391d1485414610357578063952f213314610377578063a217fddf14610399578063ad3cb1cc146103ae578063ae0b8da8146103df578063b0b3de89146103ff578063c208b4e71461041f578063d547741f1461043f578063de7fd1331461045f578063e70eb39214610481578063ef4cadc5146104a1578063f72c0d8b146104b8575b600080fd5b34801561015757600080fd5b5061016b610166366004611b9c565b6104da565b6040519081526020015b60405180910390f35b34801561018a57600080fd5b5061019e610199366004611bc8565b61063f565b6040519015158152602001610175565b3480156101ba57600080fd5b506101ce6101c9366004611bf2565b610674565b005b3480156101dc57600080fd5b506101ce6101eb366004611cd2565b610722565b3480156101fc57600080fd5b5061016b61020b366004611b9c565b610b2d565b34801561021c57600080fd5b50610225610b63565b6040516101759190611d99565b34801561023e57600080fd5b50610225610b81565b34801561025357600080fd5b5061016b610262366004611dad565b610b9c565b34801561027357600080fd5b506101ce610282366004611dc6565b610bbc565b34801561029357600080fd5b506101ce6102a2366004611b9c565b610e69565b3480156102b357600080fd5b506101ce6102c2366004611b9c565b610e8b565b6101ce6102d5366004611e01565b610ec3565b3480156102e657600080fd5b5061016b610ee2565b3480156102fb57600080fd5b506040805180820190915260018152603160f81b60208201525b6040516101759190611eca565b34801561032e57600080fd5b50610225610eff565b34801561034357600080fd5b5061016b610352366004611dad565b610f1d565b34801561036357600080fd5b5061019e610372366004611b9c565b610f3d565b34801561038357600080fd5b5061016b60008051602061215783398151915281565b3480156103a557600080fd5b5061016b600081565b3480156103ba57600080fd5b50610315604051806040016040528060058152602001640352e302e360dc1b81525081565b3480156103eb57600080fd5b506101ce6103fa366004611bf2565b610f73565b34801561040b57600080fd5b506101ce61041a366004611efd565b61101b565b34801561042b57600080fd5b5061016b61043a366004611dad565b611153565b34801561044b57600080fd5b506101ce61045a366004611b9c565b611173565b34801561046b57600080fd5b5061016b60008051602061217783398151915281565b34801561048d57600080fd5b506101ce61049c366004611b9c565b61118f565b3480156104ad57600080fd5b5061016b620f424081565b3480156104c457600080fd5b5061016b60008051602061211783398151915281565b6000806104e5611577565b600085815260058201602090815260408083206001600160a01b0388811685529083528184205489855260048087019094528285205460028701549351633542e90360e01b81529485018b9052959650949392911690633542e90390602401602060405180830381865afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105859190611f1f565b9050600081116105f95760405162461bcd60e51b815260206004820152603460248201527f566f746572526577617264733a20656d697373696f6e73416d6f756e74206d75604482015273073742062652067726561746572207468616e20360641b60648201526084015b60405180910390fd5b6000620f42406106098386611f4e565b6106139190611f4e565b905060006106218483611f65565b9050610630620f424082611f65565b96505050505050505b92915050565b60006001600160e01b03198216637965db0b60e01b148061063957506301ffc9a760e01b6001600160e01b0319831614610639565b60008051602061215783398151915261068c8161159b565b6001600160a01b0382166106b25760405162461bcd60e51b81526004016105f090611f87565b60006106bc611577565b60028101546040519192506001600160a01b0390811691908516907fee0bb99897b3f409686cb6e56601a38cea38e9e00d9b28752b3be7b28ea8b0ad90600090a360020180546001600160a01b0319166001600160a01b03939093169290921790915550565b600061072c6115a8565b805490915060ff600160401b82041615906001600160401b03166000811580156107535750825b90506000826001600160401b0316600114801561076f5750303b155b90508115801561077d575080155b1561079b5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156107c457845460ff60401b1916600160401b1785555b6001600160a01b0389166107ea5760405162461bcd60e51b81526004016105f090611fd9565b6001600160a01b038a166108105760405162461bcd60e51b81526004016105f090611f87565b6001600160a01b03881661087d5760405162461bcd60e51b815260206004820152602e60248201527f566f746572526577617264733a205f623374722063616e6e6f7420626520746860448201526d65207a65726f206164647265737360901b60648201526084016105f0565b60008751116108ea5760405162461bcd60e51b815260206004820152603360248201527f566f746572526577617264733a206c6576656c73206d757374206861766520616044820152721d081b19585cdd081bdb9948195b195b595b9d606a1b60648201526084016105f0565b85518751146109615760405162461bcd60e51b815260206004820152603e60248201527f566f746572526577617264733a206c6576656c7320616e64206d756c7469706c60448201527f69657273206d7573742068617665207468652073616d65206c656e677468000060648201526084016105f0565b6109696115cc565b6109716115d6565b6109796115cc565b6000610983611577565b80546001600160a01b03808d166001600160a01b03199283161783556001830180548d8316908416179055600283018054918f1691909216179055905060005b8851811015610a2b578781815181106109de576109de61202f565b60200260200101518260030160008b84815181106109fe576109fe61202f565b60200260200101518152602001908152602001600020819055508080610a2390612045565b9150506109c3565b506001600160a01b038e16610a995760405162461bcd60e51b815260206004820152602e60248201527f566f746572526577617264733a2061646d696e2063616e6e6f7420626520746860448201526d65207a65726f206164647265737360901b60648201526084016105f0565b610aa460008f6115e6565b50610abd6000805160206121178339815191528e6115e6565b50610ad66000805160206121578339815191528d6115e6565b50508315610b1e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b600080610b38611577565b6000948552600501602090815260408086206001600160a01b03959095168652939052505090205490565b600080610b6e611577565b600201546001600160a01b031692915050565b600080610b8c611577565b546001600160a01b031692915050565b600080610ba7611687565b60009384526020525050604090206001015490565b600080516020612177833981519152610bd48161159b565b8115610e625760008511610c455760405162461bcd60e51b815260206004820152603260248201527f566f746572526577617264733a2070726f706f73616c5374617274206d75737460448201527102062652067726561746572207468616e20360741b60648201526084016105f0565b6001600160a01b038416610c6b5760405162461bcd60e51b81526004016105f09061205e565b6000610c75611577565b905060008160020160009054906101000a90046001600160a01b03166001600160a01b031663be26ed7f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf29190611f1f565b825460405163d325d4ed60e01b81529192506000916001600160a01b039091169063d325d4ed90610d29908a908c906004016120ac565b602060405180830381865afa158015610d46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6a9190611f1f565b6000818152600385016020526040812054919250610d8c87633b9aca00611f4e565b905060006064610d9c8484611f4e565b610da69190611f65565b610db090836120c5565b9050808660040160008781526020019081526020016000206000828254610dd791906120c5565b9091555050600085815260058701602090815260408083206001600160a01b038e16845290915281208054839290610e109084906120c5565b9091555050604080518a8152602081018390526001600160a01b038c169187917fac45cfd9cf13dd2e8b216503a1ca26d9f2a35e9a6b4b1b5cecc415db06ddf63f910160405180910390a35050505050505b5050505050565b610e7282610b9c565b610e7b8161159b565b610e8583836115e6565b50505050565b6001600160a01b0381163314610eb45760405163334bd91960e11b815260040160405180910390fd5b610ebe82826116ab565b505050565b610ecb611723565b610ed4826117c8565b610ede82826117e0565b5050565b6000610eec611894565b5060008051602061213783398151915290565b600080610f0a611577565b600101546001600160a01b031692915050565b600080610f28611577565b60009384526003016020525050604090205490565b600080610f48611687565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600080516020612157833981519152610f8b8161159b565b6001600160a01b038216610fb15760405162461bcd60e51b81526004016105f090611fd9565b6000610fbb611577565b80546040519192506001600160a01b0390811691908516907f3e9cacccd727006bc0e1f6b190b46b34090f490cd3ab7e45f3ac7a9cfeda63ff90600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b60006110268161159b565b600083116110895760405162461bcd60e51b815260206004820152602a60248201527f566f746572526577617264733a206c6576656c206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016105f0565b600082116110f15760405162461bcd60e51b815260206004820152602f60248201527f566f746572526577617264733a206d756c7469706c696572206d75737420626560448201526e02067726561746572207468616e203608c1b60648201526084016105f0565b60006110fb611577565b6000858152600382016020526040908190208590555190915084907fcc259987543a764767934b4d714760c68fdeb2ba8318210d9802cf66ae854001906111459086815260200190565b60405180910390a250505050565b60008061115e611577565b60009384526004016020525050604090205490565b61117c82610b9c565b6111858161159b565b610e8583836116ab565b6111976118dd565b600082116111fa5760405162461bcd60e51b815260206004820152602a60248201527f566f746572526577617264733a206379636c65206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016105f0565b6001600160a01b0381166112205760405162461bcd60e51b81526004016105f09061205e565b600061122a611577565b600281015460405163e52ef17f60e01b8152600481018690529192506001600160a01b03169063e52ef17f90602401602060405180830381865afa158015611276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129a91906120d8565b6112f05760405162461bcd60e51b815260206004820152602160248201527f566f746572526577617264733a206379636c65206d75737420626520656e64656044820152601960fa1b60648201526084016105f0565b60006112fc84846104da565b9050600081116113625760405162461bcd60e51b815260206004820152602b60248201527f566f746572526577617264733a20726577617264206d7573742062652067726560448201526a061746572207468616e20360ac1b60648201526084016105f0565b60018201546040516370a0823160e01b815282916001600160a01b0316906370a0823190611394903090600401611d99565b602060405180830381865afa1580156113b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d59190611f1f565b10156114475760405162461bcd60e51b815260206004820152603b60248201527f566f746572526577617264733a206e6f7420656e6f756768204233545220696e60448201527a081d1a194818dbdb9d1c9858dd081d1bc81c185e481c995dd85c99602a1b60648201526084016105f0565b600084815260058301602090815260408083206001600160a01b0380881685529252808320929092556001840154915163a9059cbb60e01b815291169063a9059cbb9061149a90869085906004016120ac565b6020604051808303816000875af11580156114b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dd91906120d8565b6115295760405162461bcd60e51b815260206004820152601d60248201527f566f746572526577617264733a207472616e73666572206661696c656400000060448201526064016105f0565b826001600160a01b0316847f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb78360405161156591815260200190565b60405180910390a35050610ede611913565b7f114e7ffaaf205d38cd05b17b56f3357806ef2ce889cb4748445ae91cdfc37c0090565b6115a58133611924565b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6115d461194f565b565b6115de61194f565b6115d4611974565b6000806115f1611687565b90506115fd8484610f3d565b61167d576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556116333390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610639565b6000915050610639565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806116b6611687565b90506116c28484610f3d565b1561167d576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610639565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806117aa57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661179e600080516020612137833981519152546001600160a01b031690565b6001600160a01b031614155b156115d45760405163703e46dd60e11b815260040160405180910390fd5b600080516020612117833981519152610ede8161159b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561183a575060408051601f3d908101601f1916820190925261183791810190611f1f565b60015b6118595781604051634c9c8ce360e01b81526004016105f09190611d99565b600080516020612137833981519152811461188a57604051632a87526960e21b8152600481018290526024016105f0565b610ebe838361197c565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115d45760405163703e46dd60e11b815260040160405180910390fd5b60006118e76119d2565b80549091506001190161190d57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b600061191d6119d2565b6001905550565b61192e8282610f3d565b610ede57808260405163e2517d3f60e01b81526004016105f09291906120ac565b6119576119f6565b6115d457604051631afcd79f60e31b815260040160405180910390fd5b61191361194f565b61198582611a10565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156119ca57610ebe8282611a6c565b610ede611ae2565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b6000611a006115a8565b54600160401b900460ff16919050565b806001600160a01b03163b600003611a3d5780604051634c9c8ce360e01b81526004016105f09190611d99565b60008051602061213783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611a8991906120fa565b600060405180830381855af49150503d8060008114611ac4576040519150601f19603f3d011682016040523d82523d6000602084013e611ac9565b606091505b5091509150611ad9858383611b01565b95945050505050565b34156115d45760405163b398979f60e01b815260040160405180910390fd5b606082611b1657611b1182611b57565b611b50565b8151158015611b2d57506001600160a01b0384163b155b15611b4d5783604051639996b31560e01b81526004016105f09190611d99565b50805b9392505050565b805115611b675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b0381168114611b9757600080fd5b919050565b60008060408385031215611baf57600080fd5b82359150611bbf60208401611b80565b90509250929050565b600060208284031215611bda57600080fd5b81356001600160e01b031981168114611b5057600080fd5b600060208284031215611c0457600080fd5b611b5082611b80565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c4b57611c4b611c0d565b604052919050565b600082601f830112611c6457600080fd5b813560206001600160401b03821115611c7f57611c7f611c0d565b8160051b611c8e828201611c23565b9283528481018201928281019087851115611ca857600080fd5b83870192505b84831015611cc757823582529183019190830190611cae565b979650505050505050565b600080600080600080600080610100898b031215611cef57600080fd5b611cf889611b80565b9750611d0660208a01611b80565b9650611d1460408a01611b80565b9550611d2260608a01611b80565b9450611d3060808a01611b80565b9350611d3e60a08a01611b80565b925060c08901356001600160401b0380821115611d5a57600080fd5b611d668c838d01611c53565b935060e08b0135915080821115611d7c57600080fd5b50611d898b828c01611c53565b9150509295985092959890939650565b6001600160a01b0391909116815260200190565b600060208284031215611dbf57600080fd5b5035919050565b60008060008060808587031215611ddc57600080fd5b84359350611dec60208601611b80565b93969395505050506040820135916060013590565b60008060408385031215611e1457600080fd5b611e1d83611b80565b91506020838101356001600160401b0380821115611e3a57600080fd5b818601915086601f830112611e4e57600080fd5b813581811115611e6057611e60611c0d565b611e72601f8201601f19168501611c23565b91508082528784828501011115611e8857600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b83811015611ec1578181015183820152602001611ea9565b50506000910152565b6020815260008251806020840152611ee9816040850160208701611ea6565b601f01601f19169190910160400192915050565b60008060408385031215611f1057600080fd5b50508035926020909101359150565b600060208284031215611f3157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761063957610639611f38565b600082611f8257634e487b7160e01b600052601260045260246000fd5b500490565b60208082526032908201527f566f746572526577617264733a20656d697373696f6e732063616e6e6f7420626040820152716520746865207a65726f206164647265737360701b606082015260800190565b60208082526036908201527f566f746572526577617264733a205f67616c6178794d656d6265722063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006001820161205757612057611f38565b5060010190565b6020808252602e908201527f566f746572526577617264733a20766f7465722063616e6e6f7420626520746860408201526d65207a65726f206164647265737360901b606082015260800190565b6001600160a01b03929092168252602082015260400190565b8082018082111561063957610639611f38565b6000602082840312156120ea57600080fd5b81518015158114611b5057600080fd5b6000825161210c818460208701611ea6565b919091019291505056fe189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b779e0a786be046868ec7a47625dff81941dbb889bcb3efd61d7ece9a9b92e2279a26469706673582212202865c72d99d5b93110821cf4226dd9ab19e0188ff14f9f7ffd3687d2b531fb8364736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D PUSH2 0x22 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH2 0xD1 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x21CC PUSH3 0xFE PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x172E ADD MSTORE DUP2 DUP2 PUSH2 0x1757 ADD MSTORE PUSH2 0x189F ADD MSTORE PUSH2 0x21CC PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x146 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x8F33D7 EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x17E JUMPI DUP1 PUSH4 0x8834EE7 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0xDD3729C EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0x105FE500 EQ PUSH2 0x1F0 JUMPI DUP1 PUSH4 0x2267716C EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0x2325E4B9 EQ PUSH2 0x232 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x2F18339D EQ PUSH2 0x267 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x2DA JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x2EF JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x322 JUMPI DUP1 PUSH4 0x5FDC1752 EQ PUSH2 0x337 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x357 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x377 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x399 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3AE JUMPI DUP1 PUSH4 0xAE0B8DA8 EQ PUSH2 0x3DF JUMPI DUP1 PUSH4 0xB0B3DE89 EQ PUSH2 0x3FF JUMPI DUP1 PUSH4 0xC208B4E7 EQ PUSH2 0x41F JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x43F JUMPI DUP1 PUSH4 0xDE7FD133 EQ PUSH2 0x45F JUMPI DUP1 PUSH4 0xE70EB392 EQ PUSH2 0x481 JUMPI DUP1 PUSH4 0xEF4CADC5 EQ PUSH2 0x4A1 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0x4B8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x157 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0x4DA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19E PUSH2 0x199 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BC8 JUMP JUMPDEST PUSH2 0x63F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x175 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x1C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BF2 JUMP JUMPDEST PUSH2 0x674 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x1EB CALLDATASIZE PUSH1 0x4 PUSH2 0x1CD2 JUMP JUMPDEST PUSH2 0x722 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x20B CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0xB2D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x225 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x1D99 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x23E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x225 PUSH2 0xB81 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x262 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DAD JUMP JUMPDEST PUSH2 0xB9C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DC6 JUMP JUMPDEST PUSH2 0xBBC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0xE69 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0xE8B JUMP JUMPDEST PUSH2 0x1CE PUSH2 0x2D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1E01 JUMP JUMPDEST PUSH2 0xEC3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0xEE2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x1ECA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x225 PUSH2 0xEFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x343 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x352 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DAD JUMP JUMPDEST PUSH2 0xF1D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x363 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19E PUSH2 0x372 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0xF3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2157 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x315 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x3FA CALLDATASIZE PUSH1 0x4 PUSH2 0x1BF2 JUMP JUMPDEST PUSH2 0xF73 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x41A CALLDATASIZE PUSH1 0x4 PUSH2 0x1EFD JUMP JUMPDEST PUSH2 0x101B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x43A CALLDATASIZE PUSH1 0x4 PUSH2 0x1DAD JUMP JUMPDEST PUSH2 0x1153 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x44B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x45A CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0x1173 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x46B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2177 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x49C CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0x118F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH3 0xF4240 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2117 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4E5 PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x5 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND DUP6 MSTORE SWAP1 DUP4 MSTORE DUP2 DUP5 KECCAK256 SLOAD DUP10 DUP6 MSTORE PUSH1 0x4 DUP1 DUP8 ADD SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 SLOAD PUSH1 0x2 DUP8 ADD SLOAD SWAP4 MLOAD PUSH4 0x3542E903 PUSH1 0xE0 SHL DUP2 MSTORE SWAP5 DUP6 ADD DUP12 SWAP1 MSTORE SWAP6 SWAP7 POP SWAP5 SWAP4 SWAP3 SWAP2 AND SWAP1 PUSH4 0x3542E903 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x561 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x585 SWAP2 SWAP1 PUSH2 0x1F1F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x5F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20656D697373696F6E73416D6F756E74206D75 PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x73742062652067726561746572207468616E203 PUSH1 0x64 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH3 0xF4240 PUSH2 0x609 DUP4 DUP7 PUSH2 0x1F4E JUMP JUMPDEST PUSH2 0x613 SWAP2 SWAP1 PUSH2 0x1F4E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x621 DUP5 DUP4 PUSH2 0x1F65 JUMP JUMPDEST SWAP1 POP PUSH2 0x630 PUSH3 0xF4240 DUP3 PUSH2 0x1F65 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x639 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x639 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2157 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x68C DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x6B2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x1F87 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6BC PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xEE0BB99897B3F409686CB6E56601A38CEA38E9E00D9B28752B3BE7B28EA8B0AD SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x72C PUSH2 0x15A8 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x753 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x76F JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x77D JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x79B JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7C4 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH2 0x7EA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x1FD9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH2 0x810 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x1F87 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0x87D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A205F623374722063616E6E6F74206265207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 DUP8 MLOAD GT PUSH2 0x8EA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C73206D75737420686176652061 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x1D081B19585CDD081BDB9948195B195B595B9D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST DUP6 MLOAD DUP8 MLOAD EQ PUSH2 0x961 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C7320616E64206D756C7469706C PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x69657273206D7573742068617665207468652073616D65206C656E6774680000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH2 0x969 PUSH2 0x15CC JUMP JUMPDEST PUSH2 0x971 PUSH2 0x15D6 JUMP JUMPDEST PUSH2 0x979 PUSH2 0x15CC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x983 PUSH2 0x1577 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP14 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR DUP4 SSTORE PUSH1 0x1 DUP4 ADD DUP1 SLOAD DUP14 DUP4 AND SWAP1 DUP5 AND OR SWAP1 SSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD SWAP2 DUP16 AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE SWAP1 POP PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0xA2B JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x9DE JUMPI PUSH2 0x9DE PUSH2 0x202F JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x3 ADD PUSH1 0x0 DUP12 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x9FE JUMPI PUSH2 0x9FE PUSH2 0x202F JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 DUP1 PUSH2 0xA23 SWAP1 PUSH2 0x2045 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9C3 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND PUSH2 0xA99 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A2061646D696E2063616E6E6F74206265207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH2 0xAA4 PUSH1 0x0 DUP16 PUSH2 0x15E6 JUMP JUMPDEST POP PUSH2 0xABD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2117 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP15 PUSH2 0x15E6 JUMP JUMPDEST POP PUSH2 0xAD6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2157 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP14 PUSH2 0x15E6 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0xB1E JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB38 PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB6E PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB8C PUSH2 0x1577 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA7 PUSH2 0x1687 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2177 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xBD4 DUP2 PUSH2 0x159B JUMP JUMPDEST DUP2 ISZERO PUSH2 0xE62 JUMPI PUSH1 0x0 DUP6 GT PUSH2 0xC45 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A2070726F706F73616C5374617274206D757374 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x2062652067726561746572207468616E203 PUSH1 0x74 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xC6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x205E JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC75 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBE26ED7F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCCE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCF2 SWAP2 SWAP1 PUSH2 0x1F1F JUMP JUMPDEST DUP3 SLOAD PUSH1 0x40 MLOAD PUSH4 0xD325D4ED PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD325D4ED SWAP1 PUSH2 0xD29 SWAP1 DUP11 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x20AC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD46 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD6A SWAP2 SWAP1 PUSH2 0x1F1F JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH2 0xD8C DUP8 PUSH4 0x3B9ACA00 PUSH2 0x1F4E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 PUSH2 0xD9C DUP5 DUP5 PUSH2 0x1F4E JUMP JUMPDEST PUSH2 0xDA6 SWAP2 SWAP1 PUSH2 0x1F65 JUMP JUMPDEST PUSH2 0xDB0 SWAP1 DUP4 PUSH2 0x20C5 JUMP JUMPDEST SWAP1 POP DUP1 DUP7 PUSH1 0x4 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xDD7 SWAP2 SWAP1 PUSH2 0x20C5 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x5 DUP8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xE10 SWAP1 DUP5 SWAP1 PUSH2 0x20C5 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP11 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 AND SWAP2 DUP8 SWAP2 PUSH32 0xAC45CFD9CF13DD2E8B216503A1CA26D9F2A35E9A6B4B1B5CECC415DB06DDF63F SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0xE72 DUP3 PUSH2 0xB9C JUMP JUMPDEST PUSH2 0xE7B DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH2 0xE85 DUP4 DUP4 PUSH2 0x15E6 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0xEB4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xEBE DUP3 DUP3 PUSH2 0x16AB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xECB PUSH2 0x1723 JUMP JUMPDEST PUSH2 0xED4 DUP3 PUSH2 0x17C8 JUMP JUMPDEST PUSH2 0xEDE DUP3 DUP3 PUSH2 0x17E0 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEEC PUSH2 0x1894 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2137 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF0A PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF28 PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF48 PUSH2 0x1687 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2157 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xF8B DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xFB1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x1FD9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFBB PUSH2 0x1577 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x3E9CACCCD727006BC0E1F6B190B46B34090F490CD3AB7E45F3AC7A9CFEDA63FF SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1026 DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH1 0x0 DUP4 GT PUSH2 0x1089 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C206D7573742062652067726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x746572207468616E203 PUSH1 0xB4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x10F1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206D756C7469706C696572206D757374206265 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10FB PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP5 SWAP1 PUSH32 0xCC259987543A764767934B4D714760C68FDEB2BA8318210D9802CF66AE854001 SWAP1 PUSH2 0x1145 SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x115E PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x117C DUP3 PUSH2 0xB9C JUMP JUMPDEST PUSH2 0x1185 DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH2 0xE85 DUP4 DUP4 PUSH2 0x16AB JUMP JUMPDEST PUSH2 0x1197 PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x11FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206379636C65206D7573742062652067726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x746572207468616E203 PUSH1 0xB4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1220 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x205E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x122A PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xE52EF17F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE52EF17F SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1276 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x129A SWAP2 SWAP1 PUSH2 0x20D8 JUMP JUMPDEST PUSH2 0x12F0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206379636C65206D75737420626520656E6465 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0xFA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FC DUP5 DUP5 PUSH2 0x4DA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x1362 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20726577617264206D75737420626520677265 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x61746572207468616E203 PUSH1 0xAC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1394 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x1D99 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13D5 SWAP2 SWAP1 PUSH2 0x1F1F JUMP JUMPDEST LT ISZERO PUSH2 0x1447 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206E6F7420656E6F756768204233545220696E PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A194818DBDB9D1C9858DD081D1BC81C185E481C995DD85C99 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x5 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP5 ADD SLOAD SWAP2 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x149A SWAP1 DUP7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x20AC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14B9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14DD SWAP2 SWAP1 PUSH2 0x20D8 JUMP JUMPDEST PUSH2 0x1529 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A207472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5F0 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x24B5EFA61DD1CFC659205A97FB8ED868F3CB8C81922BAB2B96423E5DE1DE2CB7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1565 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0xEDE PUSH2 0x1913 JUMP JUMPDEST PUSH32 0x114E7FFAAF205D38CD05B17B56F3357806EF2CE889CB4748445AE91CDFC37C00 SWAP1 JUMP JUMPDEST PUSH2 0x15A5 DUP2 CALLER PUSH2 0x1924 JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x15D4 PUSH2 0x194F JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x15DE PUSH2 0x194F JUMP JUMPDEST PUSH2 0x15D4 PUSH2 0x1974 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x15F1 PUSH2 0x1687 JUMP JUMPDEST SWAP1 POP PUSH2 0x15FD DUP5 DUP5 PUSH2 0xF3D JUMP JUMPDEST PUSH2 0x167D JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x1633 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x639 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x639 JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x16B6 PUSH2 0x1687 JUMP JUMPDEST SWAP1 POP PUSH2 0x16C2 DUP5 DUP5 PUSH2 0xF3D JUMP JUMPDEST ISZERO PUSH2 0x167D JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x639 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x17AA JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x179E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2137 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x15D4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2117 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEDE DUP2 PUSH2 0x159B JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x183A JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1837 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1F1F JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1859 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP2 SWAP1 PUSH2 0x1D99 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2137 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x188A JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH2 0xEBE DUP4 DUP4 PUSH2 0x197C JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x15D4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x18E7 PUSH2 0x19D2 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x190D JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x191D PUSH2 0x19D2 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x192E DUP3 DUP3 PUSH2 0xF3D JUMP JUMPDEST PUSH2 0xEDE JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP3 SWAP2 SWAP1 PUSH2 0x20AC JUMP JUMPDEST PUSH2 0x1957 PUSH2 0x19F6 JUMP JUMPDEST PUSH2 0x15D4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1913 PUSH2 0x194F JUMP JUMPDEST PUSH2 0x1985 DUP3 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x19CA JUMPI PUSH2 0xEBE DUP3 DUP3 PUSH2 0x1A6C JUMP JUMPDEST PUSH2 0xEDE PUSH2 0x1AE2 JUMP JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A00 PUSH2 0x15A8 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1A3D JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP2 SWAP1 PUSH2 0x1D99 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2137 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1A89 SWAP2 SWAP1 PUSH2 0x20FA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1AC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1AD9 DUP6 DUP4 DUP4 PUSH2 0x1B01 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x15D4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1B16 JUMPI PUSH2 0x1B11 DUP3 PUSH2 0x1B57 JUMP JUMPDEST PUSH2 0x1B50 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1B2D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1B4D JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP2 SWAP1 PUSH2 0x1D99 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1B67 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1B97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1BAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1BBF PUSH1 0x20 DUP5 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1B50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B50 DUP3 PUSH2 0x1B80 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1C4B JUMPI PUSH2 0x1C4B PUSH2 0x1C0D JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x1C7F JUMPI PUSH2 0x1C7F PUSH2 0x1C0D JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x1C8E DUP3 DUP3 ADD PUSH2 0x1C23 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x1CA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x1CC7 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1CAE JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x1CEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1CF8 DUP10 PUSH2 0x1B80 JUMP JUMPDEST SWAP8 POP PUSH2 0x1D06 PUSH1 0x20 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP7 POP PUSH2 0x1D14 PUSH1 0x40 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP6 POP PUSH2 0x1D22 PUSH1 0x60 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP5 POP PUSH2 0x1D30 PUSH1 0x80 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP4 POP PUSH2 0x1D3E PUSH1 0xA0 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP3 POP PUSH1 0xC0 DUP10 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1D5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D66 DUP13 DUP4 DUP14 ADD PUSH2 0x1C53 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1D7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D89 DUP12 DUP3 DUP13 ADD PUSH2 0x1C53 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1DDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH2 0x1DEC PUSH1 0x20 DUP7 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E1D DUP4 PUSH2 0x1B80 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1E3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1E4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x1E60 JUMPI PUSH2 0x1E60 PUSH2 0x1C0D JUMP JUMPDEST PUSH2 0x1E72 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP6 ADD PUSH2 0x1C23 JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP8 DUP5 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x1E88 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP5 DUP5 ADD DUP6 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP5 DUP3 DUP5 ADD ADD MSTORE POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EC1 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1EA9 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1EE9 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1EA6 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1F10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x639 JUMPI PUSH2 0x639 PUSH2 0x1F38 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1F82 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20656D697373696F6E732063616E6E6F742062 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x6520746865207A65726F2061646472657373 PUSH1 0x70 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A205F67616C6178794D656D6265722063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2057 JUMPI PUSH2 0x2057 PUSH2 0x1F38 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20766F7465722063616E6E6F74206265207468 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x639 JUMPI PUSH2 0x639 PUSH2 0x1F38 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1B50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x210C DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1EA6 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC56AF926AA3845D4DC63A6C PUSH24 0x3ED36F51794728C97EBCD1BF845BCECB16EEB6B779E0A786 0xBE DIV PUSH9 0x68EC7A47625DFF8194 SAR 0xBB DUP9 SWAP12 0xCB RETURNDATACOPY REVERT PUSH2 0xD7EC 0xE9 0xA9 0xB9 0x2E 0x22 PUSH26 0xA26469706673582212202865C72D99D5B93110821CF4226DD9AB NOT 0xE0 XOR DUP16 CALL 0x4F SWAP16 PUSH32 0xFD3687D2B531FB8364736F6C6343000814003300000000000000000000000000 ","sourceMap":"2643:14358:45:-:0;;;1171:4:3;1128:48;;6184:47:45;;;;;;;;;-1:-1:-1;6204:22:45;:20;:22::i;:::-;2643:14358;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;2643:14358:45;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CONTRACTS_ADDRESS_MANAGER_ROLE_15993":{"entryPoint":null,"id":15993,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@SCALING_FACTOR_15997":{"entryPoint":null,"id":15997,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_15987":{"entryPoint":null,"id":15987,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@VOTE_REGISTRAR_ROLE_15981":{"entryPoint":null,"id":15981,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":5580,"id":63,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_4203":{"entryPoint":5590,"id":4203,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_unchained_4221":{"entryPoint":6516,"id":4221,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":null,"id":1786,"parameterSlots":0,"returnSlots":0},"@_authorizeUpgrade_16254":{"entryPoint":6088,"id":16254,"parameterSlots":1,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":6479,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":6882,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":6292,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":5923,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":5531,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":6436,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":5767,"id":46,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":5544,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getReentrancyGuardStorage_4191":{"entryPoint":6610,"id":4191,"parameterSlots":0,"returnSlots":1},"@_getVoterRewardsStorage_16034":{"entryPoint":5495,"id":16034,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":5606,"id":315,"parameterSlots":2,"returnSlots":1},"@_isInitializing_1722":{"entryPoint":6646,"id":1722,"parameterSlots":0,"returnSlots":1},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_nonReentrantAfter_4273":{"entryPoint":6419,"id":4273,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_4257":{"entryPoint":6365,"id":4257,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":6999,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":5803,"id":361,"parameterSlots":2,"returnSlots":1},"@_setImplementation_4791":{"entryPoint":6672,"id":4791,"parameterSlots":1,"returnSlots":0},"@_upgradeToAndCallUUPS_1913":{"entryPoint":6112,"id":1913,"parameterSlots":2,"returnSlots":0},"@b3tr_16642":{"entryPoint":3839,"id":16642,"parameterSlots":0,"returnSlots":1},"@claimReward_16461":{"entryPoint":4495,"id":16461,"parameterSlots":2,"returnSlots":0},"@cycleToTotal_16571":{"entryPoint":4435,"id":16571,"parameterSlots":1,"returnSlots":1},"@cycleToVoterToTotal_16551":{"entryPoint":2861,"id":16551,"parameterSlots":2,"returnSlots":1},"@emissions_16625":{"entryPoint":2915,"id":16625,"parameterSlots":0,"returnSlots":1},"@functionDelegateCall_5503":{"entryPoint":6764,"id":5503,"parameterSlots":2,"returnSlots":1},"@galaxyMember_16608":{"entryPoint":2945,"id":16608,"parameterSlots":0,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getReward_16527":{"entryPoint":1242,"id":16527,"parameterSlots":2,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":2972,"id":171,"parameterSlots":1,"returnSlots":1},"@grantRole_190":{"entryPoint":3689,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":3901,"id":116,"parameterSlots":2,"returnSlots":1},"@initialize_16243":{"entryPoint":1826,"id":16243,"parameterSlots":8,"returnSlots":0},"@levelToMultiplier_16591":{"entryPoint":3869,"id":16591,"parameterSlots":1,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":3810,"id":1804,"parameterSlots":0,"returnSlots":1},"@registerVote_16364":{"entryPoint":3004,"id":16364,"parameterSlots":4,"returnSlots":0},"@renounceRole_232":{"entryPoint":3723,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":4467,"id":209,"parameterSlots":2,"returnSlots":0},"@setEmissions_16773":{"entryPoint":1652,"id":16773,"parameterSlots":1,"returnSlots":0},"@setGalaxyMember_16685":{"entryPoint":3955,"id":16685,"parameterSlots":1,"returnSlots":0},"@setLevelToMultiplier_16730":{"entryPoint":4123,"id":16730,"parameterSlots":2,"returnSlots":0},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":1599,"id":91,"parameterSlots":1,"returnSlots":1},"@upgradeToAndCall_1824":{"entryPoint":3779,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":6524,"id":4825,"parameterSlots":2,"returnSlots":0},"@verifyCallResultFromTarget_5543":{"entryPoint":6913,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_16782":{"entryPoint":null,"id":16782,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":7040,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":7251,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":7154,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_addresst_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7378,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":7681,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":8408,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":7597,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":7112,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":7967,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":7068,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_addresst_uint256t_uint256":{"entryPoint":7622,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":7933,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":8442,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":8364,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed":{"entryPoint":7577,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGalaxyMemberV1_$17385__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7882,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8286,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5adf85be7d176f958aafec9627f332a33a510ae0dcceabe4dd34113c870e4d44__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8153,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8071,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c1a7b54113d4ba24d564beb13df6f5f943af2a39f60bed4f3b8f78d1613110ef__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"allocate_memory":{"entryPoint":7203,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":8389,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":8037,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":8014,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":7846,"id":null,"parameterSlots":3,"returnSlots":0},"increment_t_uint256":{"entryPoint":8261,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":7992,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":8239,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":7181,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:16854:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:150","statements":[{"nodeType":"YulAssignment","src":"73:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:150"},"nodeType":"YulFunctionCall","src":"82:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:150"}]},{"body":{"nodeType":"YulBlock","src":"165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:150"},"nodeType":"YulFunctionCall","src":"167:12:150"},"nodeType":"YulExpressionStatement","src":"167:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:150"},"nodeType":"YulFunctionCall","src":"146:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:150"},"nodeType":"YulFunctionCall","src":"142:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:150"},"nodeType":"YulFunctionCall","src":"121:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:150"},"nodeType":"YulFunctionCall","src":"114:50:150"},"nodeType":"YulIf","src":"111:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:150","type":""}],"src":"14:173:150"},{"body":{"nodeType":"YulBlock","src":"279:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"325:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"337:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"327:6:150"},"nodeType":"YulFunctionCall","src":"327:12:150"},"nodeType":"YulExpressionStatement","src":"327:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"300:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"309:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"296:3:150"},"nodeType":"YulFunctionCall","src":"296:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"321:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"292:3:150"},"nodeType":"YulFunctionCall","src":"292:32:150"},"nodeType":"YulIf","src":"289:52:150"},{"nodeType":"YulAssignment","src":"350:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"360:12:150"},"nodeType":"YulFunctionCall","src":"360:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"350:6:150"}]},{"nodeType":"YulAssignment","src":"392:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"425:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"436:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"421:3:150"},"nodeType":"YulFunctionCall","src":"421:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"402:18:150"},"nodeType":"YulFunctionCall","src":"402:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"392:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"237:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"248:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"260:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"268:6:150","type":""}],"src":"192:254:150"},{"body":{"nodeType":"YulBlock","src":"552:76:150","statements":[{"nodeType":"YulAssignment","src":"562:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"574:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"585:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"570:3:150"},"nodeType":"YulFunctionCall","src":"570:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"562:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"604:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"615:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:150"},"nodeType":"YulFunctionCall","src":"597:25:150"},"nodeType":"YulExpressionStatement","src":"597:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"521:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"532:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"543:4:150","type":""}],"src":"451:177:150"},{"body":{"nodeType":"YulBlock","src":"702:217:150","statements":[{"body":{"nodeType":"YulBlock","src":"748:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"757:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"760:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"750:6:150"},"nodeType":"YulFunctionCall","src":"750:12:150"},"nodeType":"YulExpressionStatement","src":"750:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"723:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"732:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"719:3:150"},"nodeType":"YulFunctionCall","src":"719:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"744:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"715:3:150"},"nodeType":"YulFunctionCall","src":"715:32:150"},"nodeType":"YulIf","src":"712:52:150"},{"nodeType":"YulVariableDeclaration","src":"773:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"799:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"786:12:150"},"nodeType":"YulFunctionCall","src":"786:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"777:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"873:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"882:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"885:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"875:6:150"},"nodeType":"YulFunctionCall","src":"875:12:150"},"nodeType":"YulExpressionStatement","src":"875:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"831:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"842:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"853:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"858:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"849:3:150"},"nodeType":"YulFunctionCall","src":"849:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"838:3:150"},"nodeType":"YulFunctionCall","src":"838:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"828:2:150"},"nodeType":"YulFunctionCall","src":"828:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"821:6:150"},"nodeType":"YulFunctionCall","src":"821:51:150"},"nodeType":"YulIf","src":"818:71:150"},{"nodeType":"YulAssignment","src":"898:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"908:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"898:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"668:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"679:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"691:6:150","type":""}],"src":"633:286:150"},{"body":{"nodeType":"YulBlock","src":"1019:92:150","statements":[{"nodeType":"YulAssignment","src":"1029:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1041:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1052:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1037:3:150"},"nodeType":"YulFunctionCall","src":"1037:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1029:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1071:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1096:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1089:6:150"},"nodeType":"YulFunctionCall","src":"1089:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1082:6:150"},"nodeType":"YulFunctionCall","src":"1082:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1064:6:150"},"nodeType":"YulFunctionCall","src":"1064:41:150"},"nodeType":"YulExpressionStatement","src":"1064:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"988:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"999:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1010:4:150","type":""}],"src":"924:187:150"},{"body":{"nodeType":"YulBlock","src":"1186:116:150","statements":[{"body":{"nodeType":"YulBlock","src":"1232:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1241:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1244:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1234:6:150"},"nodeType":"YulFunctionCall","src":"1234:12:150"},"nodeType":"YulExpressionStatement","src":"1234:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1207:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1216:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1203:3:150"},"nodeType":"YulFunctionCall","src":"1203:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1228:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1199:3:150"},"nodeType":"YulFunctionCall","src":"1199:32:150"},"nodeType":"YulIf","src":"1196:52:150"},{"nodeType":"YulAssignment","src":"1257:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1286:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1267:18:150"},"nodeType":"YulFunctionCall","src":"1267:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1257:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1152:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1163:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1175:6:150","type":""}],"src":"1116:186:150"},{"body":{"nodeType":"YulBlock","src":"1339:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1356:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1363:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1368:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1359:3:150"},"nodeType":"YulFunctionCall","src":"1359:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1349:6:150"},"nodeType":"YulFunctionCall","src":"1349:31:150"},"nodeType":"YulExpressionStatement","src":"1349:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1396:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1399:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1389:6:150"},"nodeType":"YulFunctionCall","src":"1389:15:150"},"nodeType":"YulExpressionStatement","src":"1389:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1420:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1423:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1413:6:150"},"nodeType":"YulFunctionCall","src":"1413:15:150"},"nodeType":"YulExpressionStatement","src":"1413:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1307:127:150"},{"body":{"nodeType":"YulBlock","src":"1484:230:150","statements":[{"nodeType":"YulAssignment","src":"1494:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1510:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1504:5:150"},"nodeType":"YulFunctionCall","src":"1504:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1494:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1522:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1544:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"1560:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"1566:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1556:3:150"},"nodeType":"YulFunctionCall","src":"1556:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1575:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1571:3:150"},"nodeType":"YulFunctionCall","src":"1571:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1552:3:150"},"nodeType":"YulFunctionCall","src":"1552:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1540:3:150"},"nodeType":"YulFunctionCall","src":"1540:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1526:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1655:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1657:16:150"},"nodeType":"YulFunctionCall","src":"1657:18:150"},"nodeType":"YulExpressionStatement","src":"1657:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1598:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1618:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1622:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1614:3:150"},"nodeType":"YulFunctionCall","src":"1614:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1626:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1610:3:150"},"nodeType":"YulFunctionCall","src":"1610:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1595:2:150"},"nodeType":"YulFunctionCall","src":"1595:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1634:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1646:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1631:2:150"},"nodeType":"YulFunctionCall","src":"1631:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1592:2:150"},"nodeType":"YulFunctionCall","src":"1592:62:150"},"nodeType":"YulIf","src":"1589:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1693:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1697:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1686:6:150"},"nodeType":"YulFunctionCall","src":"1686:22:150"},"nodeType":"YulExpressionStatement","src":"1686:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1464:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1473:6:150","type":""}],"src":"1439:275:150"},{"body":{"nodeType":"YulBlock","src":"1783:648:150","statements":[{"body":{"nodeType":"YulBlock","src":"1832:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1841:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1844:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1834:6:150"},"nodeType":"YulFunctionCall","src":"1834:12:150"},"nodeType":"YulExpressionStatement","src":"1834:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1811:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1819:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1807:3:150"},"nodeType":"YulFunctionCall","src":"1807:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"1826:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1803:3:150"},"nodeType":"YulFunctionCall","src":"1803:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1796:6:150"},"nodeType":"YulFunctionCall","src":"1796:35:150"},"nodeType":"YulIf","src":"1793:55:150"},{"nodeType":"YulVariableDeclaration","src":"1857:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1880:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1867:12:150"},"nodeType":"YulFunctionCall","src":"1867:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1861:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1896:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1906:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1900:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1949:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1951:16:150"},"nodeType":"YulFunctionCall","src":"1951:18:150"},"nodeType":"YulExpressionStatement","src":"1951:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1925:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1937:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1941:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1933:3:150"},"nodeType":"YulFunctionCall","src":"1933:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1945:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1929:3:150"},"nodeType":"YulFunctionCall","src":"1929:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1922:2:150"},"nodeType":"YulFunctionCall","src":"1922:26:150"},"nodeType":"YulIf","src":"1919:52:150"},{"nodeType":"YulVariableDeclaration","src":"1980:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1994:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1997:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1990:3:150"},"nodeType":"YulFunctionCall","src":"1990:10:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1984:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2009:39:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2040:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2044:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2036:3:150"},"nodeType":"YulFunctionCall","src":"2036:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2020:15:150"},"nodeType":"YulFunctionCall","src":"2020:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2013:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2057:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"2070:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2061:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2089:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2094:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2082:6:150"},"nodeType":"YulFunctionCall","src":"2082:15:150"},"nodeType":"YulExpressionStatement","src":"2082:15:150"},{"nodeType":"YulAssignment","src":"2106:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2117:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2122:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2113:3:150"},"nodeType":"YulFunctionCall","src":"2113:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2106:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2134:38:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2156:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"2164:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2152:3:150"},"nodeType":"YulFunctionCall","src":"2152:15:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2169:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2148:3:150"},"nodeType":"YulFunctionCall","src":"2148:24:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2138:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2200:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2209:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2212:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2202:6:150"},"nodeType":"YulFunctionCall","src":"2202:12:150"},"nodeType":"YulExpressionStatement","src":"2202:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2187:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"2195:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2184:2:150"},"nodeType":"YulFunctionCall","src":"2184:15:150"},"nodeType":"YulIf","src":"2181:35:150"},{"nodeType":"YulVariableDeclaration","src":"2225:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2240:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2248:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2236:3:150"},"nodeType":"YulFunctionCall","src":"2236:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2229:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2316:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2337:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2355:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2342:12:150"},"nodeType":"YulFunctionCall","src":"2342:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2330:6:150"},"nodeType":"YulFunctionCall","src":"2330:30:150"},"nodeType":"YulExpressionStatement","src":"2330:30:150"},{"nodeType":"YulAssignment","src":"2373:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2384:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2389:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2380:3:150"},"nodeType":"YulFunctionCall","src":"2380:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2373:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2271:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2276:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2268:2:150"},"nodeType":"YulFunctionCall","src":"2268:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2284:23:150","statements":[{"nodeType":"YulAssignment","src":"2286:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2297:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2302:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2293:3:150"},"nodeType":"YulFunctionCall","src":"2293:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2286:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"2264:3:150","statements":[]},"src":"2260:142:150"},{"nodeType":"YulAssignment","src":"2411:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2420:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2411:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1757:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"1765:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1773:5:150","type":""}],"src":"1719:712:150"},{"body":{"nodeType":"YulBlock","src":"2675:805:150","statements":[{"body":{"nodeType":"YulBlock","src":"2722:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2731:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2734:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2724:6:150"},"nodeType":"YulFunctionCall","src":"2724:12:150"},"nodeType":"YulExpressionStatement","src":"2724:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2696:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2705:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2692:3:150"},"nodeType":"YulFunctionCall","src":"2692:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2717:3:150","type":"","value":"256"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2688:3:150"},"nodeType":"YulFunctionCall","src":"2688:33:150"},"nodeType":"YulIf","src":"2685:53:150"},{"nodeType":"YulAssignment","src":"2747:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2776:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2757:18:150"},"nodeType":"YulFunctionCall","src":"2757:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2747:6:150"}]},{"nodeType":"YulAssignment","src":"2795:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2828:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2839:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2824:3:150"},"nodeType":"YulFunctionCall","src":"2824:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2805:18:150"},"nodeType":"YulFunctionCall","src":"2805:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2795:6:150"}]},{"nodeType":"YulAssignment","src":"2852:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2885:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2896:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2881:3:150"},"nodeType":"YulFunctionCall","src":"2881:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2862:18:150"},"nodeType":"YulFunctionCall","src":"2862:38:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2852:6:150"}]},{"nodeType":"YulAssignment","src":"2909:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2942:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2953:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2938:3:150"},"nodeType":"YulFunctionCall","src":"2938:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2919:18:150"},"nodeType":"YulFunctionCall","src":"2919:38:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2909:6:150"}]},{"nodeType":"YulAssignment","src":"2966:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2999:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3010:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2995:3:150"},"nodeType":"YulFunctionCall","src":"2995:19:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2976:18:150"},"nodeType":"YulFunctionCall","src":"2976:39:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2966:6:150"}]},{"nodeType":"YulAssignment","src":"3024:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3057:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3068:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3053:3:150"},"nodeType":"YulFunctionCall","src":"3053:19:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3034:18:150"},"nodeType":"YulFunctionCall","src":"3034:39:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"3024:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3082:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3113:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3124:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3109:3:150"},"nodeType":"YulFunctionCall","src":"3109:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3096:12:150"},"nodeType":"YulFunctionCall","src":"3096:33:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3086:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3138:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3156:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3160:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3152:3:150"},"nodeType":"YulFunctionCall","src":"3152:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3164:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3148:3:150"},"nodeType":"YulFunctionCall","src":"3148:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3142:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3193:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3202:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3205:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3195:6:150"},"nodeType":"YulFunctionCall","src":"3195:12:150"},"nodeType":"YulExpressionStatement","src":"3195:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3181:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3189:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3178:2:150"},"nodeType":"YulFunctionCall","src":"3178:14:150"},"nodeType":"YulIf","src":"3175:34:150"},{"nodeType":"YulAssignment","src":"3218:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3261:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"3272:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3257:3:150"},"nodeType":"YulFunctionCall","src":"3257:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3281:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"3228:28:150"},"nodeType":"YulFunctionCall","src":"3228:61:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"3218:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3298:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3331:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3342:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3327:3:150"},"nodeType":"YulFunctionCall","src":"3327:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3314:12:150"},"nodeType":"YulFunctionCall","src":"3314:33:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"3302:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3376:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3385:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3388:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3378:6:150"},"nodeType":"YulFunctionCall","src":"3378:12:150"},"nodeType":"YulExpressionStatement","src":"3378:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"3362:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3372:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3359:2:150"},"nodeType":"YulFunctionCall","src":"3359:16:150"},"nodeType":"YulIf","src":"3356:36:150"},{"nodeType":"YulAssignment","src":"3401:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3444:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"3455:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3440:3:150"},"nodeType":"YulFunctionCall","src":"3440:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3466:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"3411:28:150"},"nodeType":"YulFunctionCall","src":"3411:63:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"3401:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2585:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2596:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2608:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2616:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2624:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2632:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2640:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"2648:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"2656:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"2664:6:150","type":""}],"src":"2436:1044:150"},{"body":{"nodeType":"YulBlock","src":"3606:102:150","statements":[{"nodeType":"YulAssignment","src":"3616:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3628:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3639:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3624:3:150"},"nodeType":"YulFunctionCall","src":"3624:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3616:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3658:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3673:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3689:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3694:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3685:3:150"},"nodeType":"YulFunctionCall","src":"3685:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3698:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3681:3:150"},"nodeType":"YulFunctionCall","src":"3681:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3669:3:150"},"nodeType":"YulFunctionCall","src":"3669:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3651:6:150"},"nodeType":"YulFunctionCall","src":"3651:51:150"},"nodeType":"YulExpressionStatement","src":"3651:51:150"}]},"name":"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3575:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3586:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3597:4:150","type":""}],"src":"3485:223:150"},{"body":{"nodeType":"YulBlock","src":"3839:102:150","statements":[{"nodeType":"YulAssignment","src":"3849:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3861:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3872:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3857:3:150"},"nodeType":"YulFunctionCall","src":"3857:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3849:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3891:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3906:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3922:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3927:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3918:3:150"},"nodeType":"YulFunctionCall","src":"3918:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3931:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3914:3:150"},"nodeType":"YulFunctionCall","src":"3914:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3902:3:150"},"nodeType":"YulFunctionCall","src":"3902:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3884:6:150"},"nodeType":"YulFunctionCall","src":"3884:51:150"},"nodeType":"YulExpressionStatement","src":"3884:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGalaxyMemberV1_$17385__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3808:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3819:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3830:4:150","type":""}],"src":"3713:228:150"},{"body":{"nodeType":"YulBlock","src":"4016:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"4062:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4071:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4074:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4064:6:150"},"nodeType":"YulFunctionCall","src":"4064:12:150"},"nodeType":"YulExpressionStatement","src":"4064:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4037:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4046:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4033:3:150"},"nodeType":"YulFunctionCall","src":"4033:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4058:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4029:3:150"},"nodeType":"YulFunctionCall","src":"4029:32:150"},"nodeType":"YulIf","src":"4026:52:150"},{"nodeType":"YulAssignment","src":"4087:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4110:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4097:12:150"},"nodeType":"YulFunctionCall","src":"4097:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4087:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3982:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3993:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4005:6:150","type":""}],"src":"3946:180:150"},{"body":{"nodeType":"YulBlock","src":"4232:76:150","statements":[{"nodeType":"YulAssignment","src":"4242:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4254:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4265:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4250:3:150"},"nodeType":"YulFunctionCall","src":"4250:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4242:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4284:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"4295:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4277:6:150"},"nodeType":"YulFunctionCall","src":"4277:25:150"},"nodeType":"YulExpressionStatement","src":"4277:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4201:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4212:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4223:4:150","type":""}],"src":"4131:177:150"},{"body":{"nodeType":"YulBlock","src":"4434:270:150","statements":[{"body":{"nodeType":"YulBlock","src":"4481:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4490:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4493:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4483:6:150"},"nodeType":"YulFunctionCall","src":"4483:12:150"},"nodeType":"YulExpressionStatement","src":"4483:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4455:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4464:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4451:3:150"},"nodeType":"YulFunctionCall","src":"4451:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4476:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4447:3:150"},"nodeType":"YulFunctionCall","src":"4447:33:150"},"nodeType":"YulIf","src":"4444:53:150"},{"nodeType":"YulAssignment","src":"4506:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4529:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4516:12:150"},"nodeType":"YulFunctionCall","src":"4516:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4506:6:150"}]},{"nodeType":"YulAssignment","src":"4548:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4581:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4592:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4577:3:150"},"nodeType":"YulFunctionCall","src":"4577:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4558:18:150"},"nodeType":"YulFunctionCall","src":"4558:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4548:6:150"}]},{"nodeType":"YulAssignment","src":"4605:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4632:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4643:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4628:3:150"},"nodeType":"YulFunctionCall","src":"4628:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4615:12:150"},"nodeType":"YulFunctionCall","src":"4615:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4605:6:150"}]},{"nodeType":"YulAssignment","src":"4656:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4683:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4694:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4679:3:150"},"nodeType":"YulFunctionCall","src":"4679:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4666:12:150"},"nodeType":"YulFunctionCall","src":"4666:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4656:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4376:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4387:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4399:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4407:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4415:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4423:6:150","type":""}],"src":"4313:391:150"},{"body":{"nodeType":"YulBlock","src":"4796:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"4842:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4851:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4854:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4844:6:150"},"nodeType":"YulFunctionCall","src":"4844:12:150"},"nodeType":"YulExpressionStatement","src":"4844:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4817:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4826:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4813:3:150"},"nodeType":"YulFunctionCall","src":"4813:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4838:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4809:3:150"},"nodeType":"YulFunctionCall","src":"4809:32:150"},"nodeType":"YulIf","src":"4806:52:150"},{"nodeType":"YulAssignment","src":"4867:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4890:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4877:12:150"},"nodeType":"YulFunctionCall","src":"4877:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4867:6:150"}]},{"nodeType":"YulAssignment","src":"4909:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4942:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4953:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4938:3:150"},"nodeType":"YulFunctionCall","src":"4938:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4919:18:150"},"nodeType":"YulFunctionCall","src":"4919:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4909:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4754:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4765:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4777:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4785:6:150","type":""}],"src":"4709:254:150"},{"body":{"nodeType":"YulBlock","src":"5064:741:150","statements":[{"body":{"nodeType":"YulBlock","src":"5110:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5119:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5122:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5112:6:150"},"nodeType":"YulFunctionCall","src":"5112:12:150"},"nodeType":"YulExpressionStatement","src":"5112:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5085:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5094:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5081:3:150"},"nodeType":"YulFunctionCall","src":"5081:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5106:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5077:3:150"},"nodeType":"YulFunctionCall","src":"5077:32:150"},"nodeType":"YulIf","src":"5074:52:150"},{"nodeType":"YulAssignment","src":"5135:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5164:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5145:18:150"},"nodeType":"YulFunctionCall","src":"5145:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5135:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5183:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5193:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5187:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5204:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5235:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5246:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5231:3:150"},"nodeType":"YulFunctionCall","src":"5231:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5218:12:150"},"nodeType":"YulFunctionCall","src":"5218:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5208:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5259:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5277:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5281:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5273:3:150"},"nodeType":"YulFunctionCall","src":"5273:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5285:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5269:3:150"},"nodeType":"YulFunctionCall","src":"5269:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"5263:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5314:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5323:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5326:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5316:6:150"},"nodeType":"YulFunctionCall","src":"5316:12:150"},"nodeType":"YulExpressionStatement","src":"5316:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5302:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5310:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5299:2:150"},"nodeType":"YulFunctionCall","src":"5299:14:150"},"nodeType":"YulIf","src":"5296:34:150"},{"nodeType":"YulVariableDeclaration","src":"5339:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5353:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"5364:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5349:3:150"},"nodeType":"YulFunctionCall","src":"5349:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"5343:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5419:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5428:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5431:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5421:6:150"},"nodeType":"YulFunctionCall","src":"5421:12:150"},"nodeType":"YulExpressionStatement","src":"5421:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5398:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"5402:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5394:3:150"},"nodeType":"YulFunctionCall","src":"5394:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5409:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5390:3:150"},"nodeType":"YulFunctionCall","src":"5390:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5383:6:150"},"nodeType":"YulFunctionCall","src":"5383:35:150"},"nodeType":"YulIf","src":"5380:55:150"},{"nodeType":"YulVariableDeclaration","src":"5444:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5467:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5454:12:150"},"nodeType":"YulFunctionCall","src":"5454:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"5448:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5493:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5495:16:150"},"nodeType":"YulFunctionCall","src":"5495:18:150"},"nodeType":"YulExpressionStatement","src":"5495:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"5485:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5489:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5482:2:150"},"nodeType":"YulFunctionCall","src":"5482:10:150"},"nodeType":"YulIf","src":"5479:36:150"},{"nodeType":"YulVariableDeclaration","src":"5524:66:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"5565:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"5569:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5561:3:150"},"nodeType":"YulFunctionCall","src":"5561:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5580:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5576:3:150"},"nodeType":"YulFunctionCall","src":"5576:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5557:3:150"},"nodeType":"YulFunctionCall","src":"5557:27:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5586:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5553:3:150"},"nodeType":"YulFunctionCall","src":"5553:36:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5537:15:150"},"nodeType":"YulFunctionCall","src":"5537:53:150"},"variables":[{"name":"array","nodeType":"YulTypedName","src":"5528:5:150","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5606:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"5613:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5599:6:150"},"nodeType":"YulFunctionCall","src":"5599:17:150"},"nodeType":"YulExpressionStatement","src":"5599:17:150"},{"body":{"nodeType":"YulBlock","src":"5662:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5671:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5674:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5664:6:150"},"nodeType":"YulFunctionCall","src":"5664:12:150"},"nodeType":"YulExpressionStatement","src":"5664:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5639:2:150"},{"name":"_4","nodeType":"YulIdentifier","src":"5643:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5635:3:150"},"nodeType":"YulFunctionCall","src":"5635:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5648:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5631:3:150"},"nodeType":"YulFunctionCall","src":"5631:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5653:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5628:2:150"},"nodeType":"YulFunctionCall","src":"5628:33:150"},"nodeType":"YulIf","src":"5625:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5704:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5711:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5700:3:150"},"nodeType":"YulFunctionCall","src":"5700:14:150"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5720:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5724:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5716:3:150"},"nodeType":"YulFunctionCall","src":"5716:11:150"},{"name":"_4","nodeType":"YulIdentifier","src":"5729:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"5687:12:150"},"nodeType":"YulFunctionCall","src":"5687:45:150"},"nodeType":"YulExpressionStatement","src":"5687:45:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5756:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"5763:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5752:3:150"},"nodeType":"YulFunctionCall","src":"5752:14:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5768:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5748:3:150"},"nodeType":"YulFunctionCall","src":"5748:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5773:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5741:6:150"},"nodeType":"YulFunctionCall","src":"5741:34:150"},"nodeType":"YulExpressionStatement","src":"5741:34:150"},{"nodeType":"YulAssignment","src":"5784:15:150","value":{"name":"array","nodeType":"YulIdentifier","src":"5794:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5784:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5022:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5033:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5045:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5053:6:150","type":""}],"src":"4968:837:150"},{"body":{"nodeType":"YulBlock","src":"5876:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"5886:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5895:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5890:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5955:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5980:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"5985:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5976:3:150"},"nodeType":"YulFunctionCall","src":"5976:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5999:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"6004:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5995:3:150"},"nodeType":"YulFunctionCall","src":"5995:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5989:5:150"},"nodeType":"YulFunctionCall","src":"5989:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5969:6:150"},"nodeType":"YulFunctionCall","src":"5969:39:150"},"nodeType":"YulExpressionStatement","src":"5969:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5916:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"5919:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5913:2:150"},"nodeType":"YulFunctionCall","src":"5913:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5927:19:150","statements":[{"nodeType":"YulAssignment","src":"5929:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5938:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"5941:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5934:3:150"},"nodeType":"YulFunctionCall","src":"5934:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5929:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5909:3:150","statements":[]},"src":"5905:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6038:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"6043:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6034:3:150"},"nodeType":"YulFunctionCall","src":"6034:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"6052:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6027:6:150"},"nodeType":"YulFunctionCall","src":"6027:27:150"},"nodeType":"YulExpressionStatement","src":"6027:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5854:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"5859:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"5864:6:150","type":""}],"src":"5810:250:150"},{"body":{"nodeType":"YulBlock","src":"6186:275:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6203:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6214:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6196:6:150"},"nodeType":"YulFunctionCall","src":"6196:21:150"},"nodeType":"YulExpressionStatement","src":"6196:21:150"},{"nodeType":"YulVariableDeclaration","src":"6226:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6246:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6240:5:150"},"nodeType":"YulFunctionCall","src":"6240:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6230:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6273:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6284:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6269:3:150"},"nodeType":"YulFunctionCall","src":"6269:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"6289:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6262:6:150"},"nodeType":"YulFunctionCall","src":"6262:34:150"},"nodeType":"YulExpressionStatement","src":"6262:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6344:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6352:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6340:3:150"},"nodeType":"YulFunctionCall","src":"6340:15:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6361:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6372:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6357:3:150"},"nodeType":"YulFunctionCall","src":"6357:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"6377:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"6305:34:150"},"nodeType":"YulFunctionCall","src":"6305:79:150"},"nodeType":"YulExpressionStatement","src":"6305:79:150"},{"nodeType":"YulAssignment","src":"6393:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6409:9:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6428:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6436:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6424:3:150"},"nodeType":"YulFunctionCall","src":"6424:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6445:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6441:3:150"},"nodeType":"YulFunctionCall","src":"6441:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6420:3:150"},"nodeType":"YulFunctionCall","src":"6420:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6405:3:150"},"nodeType":"YulFunctionCall","src":"6405:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"6452:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6401:3:150"},"nodeType":"YulFunctionCall","src":"6401:54:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6393:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6155:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6166:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6177:4:150","type":""}],"src":"6065:396:150"},{"body":{"nodeType":"YulBlock","src":"6582:102:150","statements":[{"nodeType":"YulAssignment","src":"6592:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6604:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6615:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6600:3:150"},"nodeType":"YulFunctionCall","src":"6600:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6592:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6634:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6649:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6665:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6670:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6661:3:150"},"nodeType":"YulFunctionCall","src":"6661:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"6674:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6657:3:150"},"nodeType":"YulFunctionCall","src":"6657:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6645:3:150"},"nodeType":"YulFunctionCall","src":"6645:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6627:6:150"},"nodeType":"YulFunctionCall","src":"6627:51:150"},"nodeType":"YulExpressionStatement","src":"6627:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6551:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6562:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6573:4:150","type":""}],"src":"6466:218:150"},{"body":{"nodeType":"YulBlock","src":"6759:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"6805:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6814:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6817:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6807:6:150"},"nodeType":"YulFunctionCall","src":"6807:12:150"},"nodeType":"YulExpressionStatement","src":"6807:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6780:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6789:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6776:3:150"},"nodeType":"YulFunctionCall","src":"6776:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6801:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6772:3:150"},"nodeType":"YulFunctionCall","src":"6772:32:150"},"nodeType":"YulIf","src":"6769:52:150"},{"nodeType":"YulAssignment","src":"6830:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6853:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6840:12:150"},"nodeType":"YulFunctionCall","src":"6840:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6830:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6725:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6736:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6748:6:150","type":""}],"src":"6689:180:150"},{"body":{"nodeType":"YulBlock","src":"6961:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"7007:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7016:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7019:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7009:6:150"},"nodeType":"YulFunctionCall","src":"7009:12:150"},"nodeType":"YulExpressionStatement","src":"7009:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6982:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6991:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6978:3:150"},"nodeType":"YulFunctionCall","src":"6978:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7003:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6974:3:150"},"nodeType":"YulFunctionCall","src":"6974:32:150"},"nodeType":"YulIf","src":"6971:52:150"},{"nodeType":"YulAssignment","src":"7032:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7055:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7042:12:150"},"nodeType":"YulFunctionCall","src":"7042:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7032:6:150"}]},{"nodeType":"YulAssignment","src":"7074:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7101:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7112:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7097:3:150"},"nodeType":"YulFunctionCall","src":"7097:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7084:12:150"},"nodeType":"YulFunctionCall","src":"7084:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7074:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6919:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6930:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6942:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6950:6:150","type":""}],"src":"6874:248:150"},{"body":{"nodeType":"YulBlock","src":"7208:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"7254:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7263:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7266:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7256:6:150"},"nodeType":"YulFunctionCall","src":"7256:12:150"},"nodeType":"YulExpressionStatement","src":"7256:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7229:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7238:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7225:3:150"},"nodeType":"YulFunctionCall","src":"7225:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7250:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7221:3:150"},"nodeType":"YulFunctionCall","src":"7221:32:150"},"nodeType":"YulIf","src":"7218:52:150"},{"nodeType":"YulAssignment","src":"7279:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7295:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7289:5:150"},"nodeType":"YulFunctionCall","src":"7289:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7279:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7174:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7185:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7197:6:150","type":""}],"src":"7127:184:150"},{"body":{"nodeType":"YulBlock","src":"7490:242:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7507:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7518:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7500:6:150"},"nodeType":"YulFunctionCall","src":"7500:21:150"},"nodeType":"YulExpressionStatement","src":"7500:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7541:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7552:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7537:3:150"},"nodeType":"YulFunctionCall","src":"7537:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7557:2:150","type":"","value":"52"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7530:6:150"},"nodeType":"YulFunctionCall","src":"7530:30:150"},"nodeType":"YulExpressionStatement","src":"7530:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7580:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7591:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7576:3:150"},"nodeType":"YulFunctionCall","src":"7576:18:150"},{"hexValue":"566f746572526577617264733a20656d697373696f6e73416d6f756e74206d75","kind":"string","nodeType":"YulLiteral","src":"7596:34:150","type":"","value":"VoterRewards: emissionsAmount mu"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7569:6:150"},"nodeType":"YulFunctionCall","src":"7569:62:150"},"nodeType":"YulExpressionStatement","src":"7569:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7651:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7662:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7647:3:150"},"nodeType":"YulFunctionCall","src":"7647:18:150"},{"hexValue":"73742062652067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"7667:22:150","type":"","value":"st be greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7640:6:150"},"nodeType":"YulFunctionCall","src":"7640:50:150"},"nodeType":"YulExpressionStatement","src":"7640:50:150"},{"nodeType":"YulAssignment","src":"7699:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7711:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7722:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7707:3:150"},"nodeType":"YulFunctionCall","src":"7707:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7699:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c1a7b54113d4ba24d564beb13df6f5f943af2a39f60bed4f3b8f78d1613110ef__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7467:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7481:4:150","type":""}],"src":"7316:416:150"},{"body":{"nodeType":"YulBlock","src":"7769:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7786:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7793:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7798:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7789:3:150"},"nodeType":"YulFunctionCall","src":"7789:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7779:6:150"},"nodeType":"YulFunctionCall","src":"7779:31:150"},"nodeType":"YulExpressionStatement","src":"7779:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7826:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7829:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7819:6:150"},"nodeType":"YulFunctionCall","src":"7819:15:150"},"nodeType":"YulExpressionStatement","src":"7819:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7850:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7853:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7843:6:150"},"nodeType":"YulFunctionCall","src":"7843:15:150"},"nodeType":"YulExpressionStatement","src":"7843:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"7737:127:150"},{"body":{"nodeType":"YulBlock","src":"7921:116:150","statements":[{"nodeType":"YulAssignment","src":"7931:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7946:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"7949:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"7942:3:150"},"nodeType":"YulFunctionCall","src":"7942:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"7931:7:150"}]},{"body":{"nodeType":"YulBlock","src":"8009:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"8011:16:150"},"nodeType":"YulFunctionCall","src":"8011:18:150"},"nodeType":"YulExpressionStatement","src":"8011:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7980:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7973:6:150"},"nodeType":"YulFunctionCall","src":"7973:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"7987:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"7994:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"8003:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"7990:3:150"},"nodeType":"YulFunctionCall","src":"7990:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7984:2:150"},"nodeType":"YulFunctionCall","src":"7984:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"7970:2:150"},"nodeType":"YulFunctionCall","src":"7970:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7963:6:150"},"nodeType":"YulFunctionCall","src":"7963:45:150"},"nodeType":"YulIf","src":"7960:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"7900:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"7903:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"7909:7:150","type":""}],"src":"7869:168:150"},{"body":{"nodeType":"YulBlock","src":"8088:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"8119:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8140:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8147:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8152:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8143:3:150"},"nodeType":"YulFunctionCall","src":"8143:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8133:6:150"},"nodeType":"YulFunctionCall","src":"8133:31:150"},"nodeType":"YulExpressionStatement","src":"8133:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8184:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8187:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8177:6:150"},"nodeType":"YulFunctionCall","src":"8177:15:150"},"nodeType":"YulExpressionStatement","src":"8177:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8212:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8215:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8205:6:150"},"nodeType":"YulFunctionCall","src":"8205:15:150"},"nodeType":"YulExpressionStatement","src":"8205:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"8108:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8101:6:150"},"nodeType":"YulFunctionCall","src":"8101:9:150"},"nodeType":"YulIf","src":"8098:132:150"},{"nodeType":"YulAssignment","src":"8239:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8248:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"8251:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"8244:3:150"},"nodeType":"YulFunctionCall","src":"8244:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"8239:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"8073:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"8076:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"8082:1:150","type":""}],"src":"8042:217:150"},{"body":{"nodeType":"YulBlock","src":"8438:240:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8455:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8466:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8448:6:150"},"nodeType":"YulFunctionCall","src":"8448:21:150"},"nodeType":"YulExpressionStatement","src":"8448:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8489:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8500:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8485:3:150"},"nodeType":"YulFunctionCall","src":"8485:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"8505:2:150","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8478:6:150"},"nodeType":"YulFunctionCall","src":"8478:30:150"},"nodeType":"YulExpressionStatement","src":"8478:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8528:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8539:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8524:3:150"},"nodeType":"YulFunctionCall","src":"8524:18:150"},{"hexValue":"566f746572526577617264733a20656d697373696f6e732063616e6e6f742062","kind":"string","nodeType":"YulLiteral","src":"8544:34:150","type":"","value":"VoterRewards: emissions cannot b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8517:6:150"},"nodeType":"YulFunctionCall","src":"8517:62:150"},"nodeType":"YulExpressionStatement","src":"8517:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8599:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8610:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8595:3:150"},"nodeType":"YulFunctionCall","src":"8595:18:150"},{"hexValue":"6520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"8615:20:150","type":"","value":"e the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8588:6:150"},"nodeType":"YulFunctionCall","src":"8588:48:150"},"nodeType":"YulExpressionStatement","src":"8588:48:150"},{"nodeType":"YulAssignment","src":"8645:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8657:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8668:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8653:3:150"},"nodeType":"YulFunctionCall","src":"8653:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8645:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8415:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8429:4:150","type":""}],"src":"8264:414:150"},{"body":{"nodeType":"YulBlock","src":"8857:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8874:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8885:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8867:6:150"},"nodeType":"YulFunctionCall","src":"8867:21:150"},"nodeType":"YulExpressionStatement","src":"8867:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8908:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8919:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8904:3:150"},"nodeType":"YulFunctionCall","src":"8904:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"8924:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8897:6:150"},"nodeType":"YulFunctionCall","src":"8897:30:150"},"nodeType":"YulExpressionStatement","src":"8897:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8947:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8958:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8943:3:150"},"nodeType":"YulFunctionCall","src":"8943:18:150"},{"hexValue":"566f746572526577617264733a205f67616c6178794d656d6265722063616e6e","kind":"string","nodeType":"YulLiteral","src":"8963:34:150","type":"","value":"VoterRewards: _galaxyMember cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8936:6:150"},"nodeType":"YulFunctionCall","src":"8936:62:150"},"nodeType":"YulExpressionStatement","src":"8936:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9018:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9029:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9014:3:150"},"nodeType":"YulFunctionCall","src":"9014:18:150"},{"hexValue":"6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"9034:24:150","type":"","value":"ot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9007:6:150"},"nodeType":"YulFunctionCall","src":"9007:52:150"},"nodeType":"YulExpressionStatement","src":"9007:52:150"},{"nodeType":"YulAssignment","src":"9068:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9080:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9091:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9076:3:150"},"nodeType":"YulFunctionCall","src":"9076:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9068:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8834:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8848:4:150","type":""}],"src":"8683:418:150"},{"body":{"nodeType":"YulBlock","src":"9280:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9297:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9308:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9290:6:150"},"nodeType":"YulFunctionCall","src":"9290:21:150"},"nodeType":"YulExpressionStatement","src":"9290:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9331:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9342:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9327:3:150"},"nodeType":"YulFunctionCall","src":"9327:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"9347:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9320:6:150"},"nodeType":"YulFunctionCall","src":"9320:30:150"},"nodeType":"YulExpressionStatement","src":"9320:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9370:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9381:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9366:3:150"},"nodeType":"YulFunctionCall","src":"9366:18:150"},{"hexValue":"566f746572526577617264733a205f623374722063616e6e6f74206265207468","kind":"string","nodeType":"YulLiteral","src":"9386:34:150","type":"","value":"VoterRewards: _b3tr cannot be th"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9359:6:150"},"nodeType":"YulFunctionCall","src":"9359:62:150"},"nodeType":"YulExpressionStatement","src":"9359:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9441:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9452:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9437:3:150"},"nodeType":"YulFunctionCall","src":"9437:18:150"},{"hexValue":"65207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"9457:16:150","type":"","value":"e zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9430:6:150"},"nodeType":"YulFunctionCall","src":"9430:44:150"},"nodeType":"YulExpressionStatement","src":"9430:44:150"},{"nodeType":"YulAssignment","src":"9483:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9495:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9506:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9491:3:150"},"nodeType":"YulFunctionCall","src":"9491:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9483:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9257:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9271:4:150","type":""}],"src":"9106:410:150"},{"body":{"nodeType":"YulBlock","src":"9695:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9712:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9723:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9705:6:150"},"nodeType":"YulFunctionCall","src":"9705:21:150"},"nodeType":"YulExpressionStatement","src":"9705:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9746:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9757:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9742:3:150"},"nodeType":"YulFunctionCall","src":"9742:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"9762:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9735:6:150"},"nodeType":"YulFunctionCall","src":"9735:30:150"},"nodeType":"YulExpressionStatement","src":"9735:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9785:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9796:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9781:3:150"},"nodeType":"YulFunctionCall","src":"9781:18:150"},{"hexValue":"566f746572526577617264733a206c6576656c73206d75737420686176652061","kind":"string","nodeType":"YulLiteral","src":"9801:34:150","type":"","value":"VoterRewards: levels must have a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9774:6:150"},"nodeType":"YulFunctionCall","src":"9774:62:150"},"nodeType":"YulExpressionStatement","src":"9774:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9856:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9867:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9852:3:150"},"nodeType":"YulFunctionCall","src":"9852:18:150"},{"hexValue":"74206c65617374206f6e6520656c656d656e74","kind":"string","nodeType":"YulLiteral","src":"9872:21:150","type":"","value":"t least one element"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9845:6:150"},"nodeType":"YulFunctionCall","src":"9845:49:150"},"nodeType":"YulExpressionStatement","src":"9845:49:150"},{"nodeType":"YulAssignment","src":"9903:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9915:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9926:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9911:3:150"},"nodeType":"YulFunctionCall","src":"9911:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9903:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9672:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9686:4:150","type":""}],"src":"9521:415:150"},{"body":{"nodeType":"YulBlock","src":"10115:252:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10132:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10143:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10125:6:150"},"nodeType":"YulFunctionCall","src":"10125:21:150"},"nodeType":"YulExpressionStatement","src":"10125:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10177:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10162:3:150"},"nodeType":"YulFunctionCall","src":"10162:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"10182:2:150","type":"","value":"62"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10155:6:150"},"nodeType":"YulFunctionCall","src":"10155:30:150"},"nodeType":"YulExpressionStatement","src":"10155:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10205:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10216:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10201:3:150"},"nodeType":"YulFunctionCall","src":"10201:18:150"},{"hexValue":"566f746572526577617264733a206c6576656c7320616e64206d756c7469706c","kind":"string","nodeType":"YulLiteral","src":"10221:34:150","type":"","value":"VoterRewards: levels and multipl"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10194:6:150"},"nodeType":"YulFunctionCall","src":"10194:62:150"},"nodeType":"YulExpressionStatement","src":"10194:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10276:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10287:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10272:3:150"},"nodeType":"YulFunctionCall","src":"10272:18:150"},{"hexValue":"69657273206d7573742068617665207468652073616d65206c656e677468","kind":"string","nodeType":"YulLiteral","src":"10292:32:150","type":"","value":"iers must have the same length"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10265:6:150"},"nodeType":"YulFunctionCall","src":"10265:60:150"},"nodeType":"YulExpressionStatement","src":"10265:60:150"},{"nodeType":"YulAssignment","src":"10334:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10346:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10357:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10342:3:150"},"nodeType":"YulFunctionCall","src":"10342:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10334:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10092:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10106:4:150","type":""}],"src":"9941:426:150"},{"body":{"nodeType":"YulBlock","src":"10404:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10421:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10428:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10433:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10424:3:150"},"nodeType":"YulFunctionCall","src":"10424:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10414:6:150"},"nodeType":"YulFunctionCall","src":"10414:31:150"},"nodeType":"YulExpressionStatement","src":"10414:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10461:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10464:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10454:6:150"},"nodeType":"YulFunctionCall","src":"10454:15:150"},"nodeType":"YulExpressionStatement","src":"10454:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10485:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10488:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10478:6:150"},"nodeType":"YulFunctionCall","src":"10478:15:150"},"nodeType":"YulExpressionStatement","src":"10478:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"10372:127:150"},{"body":{"nodeType":"YulBlock","src":"10551:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"10582:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"10584:16:150"},"nodeType":"YulFunctionCall","src":"10584:18:150"},"nodeType":"YulExpressionStatement","src":"10584:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10567:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10578:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10574:3:150"},"nodeType":"YulFunctionCall","src":"10574:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"10564:2:150"},"nodeType":"YulFunctionCall","src":"10564:17:150"},"nodeType":"YulIf","src":"10561:43:150"},{"nodeType":"YulAssignment","src":"10613:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10624:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10631:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10620:3:150"},"nodeType":"YulFunctionCall","src":"10620:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"10613:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10533:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"10543:3:150","type":""}],"src":"10504:135:150"},{"body":{"nodeType":"YulBlock","src":"10818:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10835:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10846:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10828:6:150"},"nodeType":"YulFunctionCall","src":"10828:21:150"},"nodeType":"YulExpressionStatement","src":"10828:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10869:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10880:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10865:3:150"},"nodeType":"YulFunctionCall","src":"10865:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"10885:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10858:6:150"},"nodeType":"YulFunctionCall","src":"10858:30:150"},"nodeType":"YulExpressionStatement","src":"10858:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10908:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10919:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10904:3:150"},"nodeType":"YulFunctionCall","src":"10904:18:150"},{"hexValue":"566f746572526577617264733a2061646d696e2063616e6e6f74206265207468","kind":"string","nodeType":"YulLiteral","src":"10924:34:150","type":"","value":"VoterRewards: admin cannot be th"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10897:6:150"},"nodeType":"YulFunctionCall","src":"10897:62:150"},"nodeType":"YulExpressionStatement","src":"10897:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10979:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10990:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10975:3:150"},"nodeType":"YulFunctionCall","src":"10975:18:150"},{"hexValue":"65207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"10995:16:150","type":"","value":"e zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10968:6:150"},"nodeType":"YulFunctionCall","src":"10968:44:150"},"nodeType":"YulExpressionStatement","src":"10968:44:150"},{"nodeType":"YulAssignment","src":"11021:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11033:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11044:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11029:3:150"},"nodeType":"YulFunctionCall","src":"11029:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11021:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10795:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10809:4:150","type":""}],"src":"10644:410:150"},{"body":{"nodeType":"YulBlock","src":"11167:101:150","statements":[{"nodeType":"YulAssignment","src":"11177:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11189:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11200:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11185:3:150"},"nodeType":"YulFunctionCall","src":"11185:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11177:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11219:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11234:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11250:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"11254:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11246:3:150"},"nodeType":"YulFunctionCall","src":"11246:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"11258:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11242:3:150"},"nodeType":"YulFunctionCall","src":"11242:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11230:3:150"},"nodeType":"YulFunctionCall","src":"11230:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11212:6:150"},"nodeType":"YulFunctionCall","src":"11212:50:150"},"nodeType":"YulExpressionStatement","src":"11212:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11136:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11147:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11158:4:150","type":""}],"src":"11059:209:150"},{"body":{"nodeType":"YulBlock","src":"11447:240:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11464:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11475:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11457:6:150"},"nodeType":"YulFunctionCall","src":"11457:21:150"},"nodeType":"YulExpressionStatement","src":"11457:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11498:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11509:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11494:3:150"},"nodeType":"YulFunctionCall","src":"11494:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"11514:2:150","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11487:6:150"},"nodeType":"YulFunctionCall","src":"11487:30:150"},"nodeType":"YulExpressionStatement","src":"11487:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11537:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11548:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11533:3:150"},"nodeType":"YulFunctionCall","src":"11533:18:150"},{"hexValue":"566f746572526577617264733a2070726f706f73616c5374617274206d757374","kind":"string","nodeType":"YulLiteral","src":"11553:34:150","type":"","value":"VoterRewards: proposalStart must"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11526:6:150"},"nodeType":"YulFunctionCall","src":"11526:62:150"},"nodeType":"YulExpressionStatement","src":"11526:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11608:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11619:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11604:3:150"},"nodeType":"YulFunctionCall","src":"11604:18:150"},{"hexValue":"2062652067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"11624:20:150","type":"","value":" be greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11597:6:150"},"nodeType":"YulFunctionCall","src":"11597:48:150"},"nodeType":"YulExpressionStatement","src":"11597:48:150"},{"nodeType":"YulAssignment","src":"11654:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11666:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11677:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11662:3:150"},"nodeType":"YulFunctionCall","src":"11662:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11654:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_5adf85be7d176f958aafec9627f332a33a510ae0dcceabe4dd34113c870e4d44__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11424:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11438:4:150","type":""}],"src":"11273:414:150"},{"body":{"nodeType":"YulBlock","src":"11866:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11883:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11894:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11876:6:150"},"nodeType":"YulFunctionCall","src":"11876:21:150"},"nodeType":"YulExpressionStatement","src":"11876:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11917:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11928:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11913:3:150"},"nodeType":"YulFunctionCall","src":"11913:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"11933:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11906:6:150"},"nodeType":"YulFunctionCall","src":"11906:30:150"},"nodeType":"YulExpressionStatement","src":"11906:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11956:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11967:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11952:3:150"},"nodeType":"YulFunctionCall","src":"11952:18:150"},{"hexValue":"566f746572526577617264733a20766f7465722063616e6e6f74206265207468","kind":"string","nodeType":"YulLiteral","src":"11972:34:150","type":"","value":"VoterRewards: voter cannot be th"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11945:6:150"},"nodeType":"YulFunctionCall","src":"11945:62:150"},"nodeType":"YulExpressionStatement","src":"11945:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12027:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12038:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12023:3:150"},"nodeType":"YulFunctionCall","src":"12023:18:150"},{"hexValue":"65207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"12043:16:150","type":"","value":"e zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12016:6:150"},"nodeType":"YulFunctionCall","src":"12016:44:150"},"nodeType":"YulExpressionStatement","src":"12016:44:150"},{"nodeType":"YulAssignment","src":"12069:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12092:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12077:3:150"},"nodeType":"YulFunctionCall","src":"12077:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12069:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11843:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11857:4:150","type":""}],"src":"11692:410:150"},{"body":{"nodeType":"YulBlock","src":"12236:145:150","statements":[{"nodeType":"YulAssignment","src":"12246:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12258:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12269:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12254:3:150"},"nodeType":"YulFunctionCall","src":"12254:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12246:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12288:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12303:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12319:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12324:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12315:3:150"},"nodeType":"YulFunctionCall","src":"12315:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"12328:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12311:3:150"},"nodeType":"YulFunctionCall","src":"12311:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12299:3:150"},"nodeType":"YulFunctionCall","src":"12299:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12281:6:150"},"nodeType":"YulFunctionCall","src":"12281:51:150"},"nodeType":"YulExpressionStatement","src":"12281:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12352:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12363:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12348:3:150"},"nodeType":"YulFunctionCall","src":"12348:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12368:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12341:6:150"},"nodeType":"YulFunctionCall","src":"12341:34:150"},"nodeType":"YulExpressionStatement","src":"12341:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12197:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12208:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12216:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12227:4:150","type":""}],"src":"12107:274:150"},{"body":{"nodeType":"YulBlock","src":"12434:77:150","statements":[{"nodeType":"YulAssignment","src":"12444:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12455:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12458:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12451:3:150"},"nodeType":"YulFunctionCall","src":"12451:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"12444:3:150"}]},{"body":{"nodeType":"YulBlock","src":"12483:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12485:16:150"},"nodeType":"YulFunctionCall","src":"12485:18:150"},"nodeType":"YulExpressionStatement","src":"12485:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12475:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"12478:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12472:2:150"},"nodeType":"YulFunctionCall","src":"12472:10:150"},"nodeType":"YulIf","src":"12469:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12417:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12420:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"12426:3:150","type":""}],"src":"12386:125:150"},{"body":{"nodeType":"YulBlock","src":"12645:119:150","statements":[{"nodeType":"YulAssignment","src":"12655:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12667:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12678:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12663:3:150"},"nodeType":"YulFunctionCall","src":"12663:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12655:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12697:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12708:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12690:6:150"},"nodeType":"YulFunctionCall","src":"12690:25:150"},"nodeType":"YulExpressionStatement","src":"12690:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12735:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12746:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12731:3:150"},"nodeType":"YulFunctionCall","src":"12731:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12751:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12724:6:150"},"nodeType":"YulFunctionCall","src":"12724:34:150"},"nodeType":"YulExpressionStatement","src":"12724:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12606:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12617:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12625:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12636:4:150","type":""}],"src":"12516:248:150"},{"body":{"nodeType":"YulBlock","src":"12943:232:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12960:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12971:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12953:6:150"},"nodeType":"YulFunctionCall","src":"12953:21:150"},"nodeType":"YulExpressionStatement","src":"12953:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12994:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13005:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12990:3:150"},"nodeType":"YulFunctionCall","src":"12990:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"13010:2:150","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12983:6:150"},"nodeType":"YulFunctionCall","src":"12983:30:150"},"nodeType":"YulExpressionStatement","src":"12983:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13033:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13044:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13029:3:150"},"nodeType":"YulFunctionCall","src":"13029:18:150"},{"hexValue":"566f746572526577617264733a206c6576656c206d7573742062652067726561","kind":"string","nodeType":"YulLiteral","src":"13049:34:150","type":"","value":"VoterRewards: level must be grea"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13022:6:150"},"nodeType":"YulFunctionCall","src":"13022:62:150"},"nodeType":"YulExpressionStatement","src":"13022:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13104:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13115:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13100:3:150"},"nodeType":"YulFunctionCall","src":"13100:18:150"},{"hexValue":"746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"13120:12:150","type":"","value":"ter than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13093:6:150"},"nodeType":"YulFunctionCall","src":"13093:40:150"},"nodeType":"YulExpressionStatement","src":"13093:40:150"},{"nodeType":"YulAssignment","src":"13142:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13154:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13165:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13150:3:150"},"nodeType":"YulFunctionCall","src":"13150:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13142:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12920:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12934:4:150","type":""}],"src":"12769:406:150"},{"body":{"nodeType":"YulBlock","src":"13354:237:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13371:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13382:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13364:6:150"},"nodeType":"YulFunctionCall","src":"13364:21:150"},"nodeType":"YulExpressionStatement","src":"13364:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13405:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13416:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13401:3:150"},"nodeType":"YulFunctionCall","src":"13401:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"13421:2:150","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13394:6:150"},"nodeType":"YulFunctionCall","src":"13394:30:150"},"nodeType":"YulExpressionStatement","src":"13394:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13444:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13455:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13440:3:150"},"nodeType":"YulFunctionCall","src":"13440:18:150"},{"hexValue":"566f746572526577617264733a206d756c7469706c696572206d757374206265","kind":"string","nodeType":"YulLiteral","src":"13460:34:150","type":"","value":"VoterRewards: multiplier must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13433:6:150"},"nodeType":"YulFunctionCall","src":"13433:62:150"},"nodeType":"YulExpressionStatement","src":"13433:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13515:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13526:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13511:3:150"},"nodeType":"YulFunctionCall","src":"13511:18:150"},{"hexValue":"2067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"13531:17:150","type":"","value":" greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13504:6:150"},"nodeType":"YulFunctionCall","src":"13504:45:150"},"nodeType":"YulExpressionStatement","src":"13504:45:150"},{"nodeType":"YulAssignment","src":"13558:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13570:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13581:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13566:3:150"},"nodeType":"YulFunctionCall","src":"13566:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13558:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13331:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13345:4:150","type":""}],"src":"13180:411:150"},{"body":{"nodeType":"YulBlock","src":"13770:232:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13787:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13798:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13780:6:150"},"nodeType":"YulFunctionCall","src":"13780:21:150"},"nodeType":"YulExpressionStatement","src":"13780:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13821:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13832:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13817:3:150"},"nodeType":"YulFunctionCall","src":"13817:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"13837:2:150","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13810:6:150"},"nodeType":"YulFunctionCall","src":"13810:30:150"},"nodeType":"YulExpressionStatement","src":"13810:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13860:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13871:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13856:3:150"},"nodeType":"YulFunctionCall","src":"13856:18:150"},{"hexValue":"566f746572526577617264733a206379636c65206d7573742062652067726561","kind":"string","nodeType":"YulLiteral","src":"13876:34:150","type":"","value":"VoterRewards: cycle must be grea"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13849:6:150"},"nodeType":"YulFunctionCall","src":"13849:62:150"},"nodeType":"YulExpressionStatement","src":"13849:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13931:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13942:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13927:3:150"},"nodeType":"YulFunctionCall","src":"13927:18:150"},{"hexValue":"746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"13947:12:150","type":"","value":"ter than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13920:6:150"},"nodeType":"YulFunctionCall","src":"13920:40:150"},"nodeType":"YulExpressionStatement","src":"13920:40:150"},{"nodeType":"YulAssignment","src":"13969:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13981:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13992:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13977:3:150"},"nodeType":"YulFunctionCall","src":"13977:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13969:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13747:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13761:4:150","type":""}],"src":"13596:406:150"},{"body":{"nodeType":"YulBlock","src":"14085:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"14131:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14140:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14143:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14133:6:150"},"nodeType":"YulFunctionCall","src":"14133:12:150"},"nodeType":"YulExpressionStatement","src":"14133:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14106:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14115:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14102:3:150"},"nodeType":"YulFunctionCall","src":"14102:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14127:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14098:3:150"},"nodeType":"YulFunctionCall","src":"14098:32:150"},"nodeType":"YulIf","src":"14095:52:150"},{"nodeType":"YulVariableDeclaration","src":"14156:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14175:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14169:5:150"},"nodeType":"YulFunctionCall","src":"14169:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14160:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14238:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14247:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14250:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14240:6:150"},"nodeType":"YulFunctionCall","src":"14240:12:150"},"nodeType":"YulExpressionStatement","src":"14240:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14207:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14228:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14221:6:150"},"nodeType":"YulFunctionCall","src":"14221:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14214:6:150"},"nodeType":"YulFunctionCall","src":"14214:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14204:2:150"},"nodeType":"YulFunctionCall","src":"14204:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14197:6:150"},"nodeType":"YulFunctionCall","src":"14197:40:150"},"nodeType":"YulIf","src":"14194:60:150"},{"nodeType":"YulAssignment","src":"14263:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14273:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14263:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14051:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14062:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14074:6:150","type":""}],"src":"14007:277:150"},{"body":{"nodeType":"YulBlock","src":"14463:223:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14480:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14491:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14473:6:150"},"nodeType":"YulFunctionCall","src":"14473:21:150"},"nodeType":"YulExpressionStatement","src":"14473:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14514:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14525:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14510:3:150"},"nodeType":"YulFunctionCall","src":"14510:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"14530:2:150","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14503:6:150"},"nodeType":"YulFunctionCall","src":"14503:30:150"},"nodeType":"YulExpressionStatement","src":"14503:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14553:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14564:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14549:3:150"},"nodeType":"YulFunctionCall","src":"14549:18:150"},{"hexValue":"566f746572526577617264733a206379636c65206d75737420626520656e6465","kind":"string","nodeType":"YulLiteral","src":"14569:34:150","type":"","value":"VoterRewards: cycle must be ende"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14542:6:150"},"nodeType":"YulFunctionCall","src":"14542:62:150"},"nodeType":"YulExpressionStatement","src":"14542:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14624:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14635:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14620:3:150"},"nodeType":"YulFunctionCall","src":"14620:18:150"},{"hexValue":"64","kind":"string","nodeType":"YulLiteral","src":"14640:3:150","type":"","value":"d"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14613:6:150"},"nodeType":"YulFunctionCall","src":"14613:31:150"},"nodeType":"YulExpressionStatement","src":"14613:31:150"},{"nodeType":"YulAssignment","src":"14653:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14665:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14676:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14661:3:150"},"nodeType":"YulFunctionCall","src":"14661:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14653:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14440:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14454:4:150","type":""}],"src":"14289:397:150"},{"body":{"nodeType":"YulBlock","src":"14865:233:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14893:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14875:6:150"},"nodeType":"YulFunctionCall","src":"14875:21:150"},"nodeType":"YulExpressionStatement","src":"14875:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14916:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14927:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14912:3:150"},"nodeType":"YulFunctionCall","src":"14912:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"14932:2:150","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14905:6:150"},"nodeType":"YulFunctionCall","src":"14905:30:150"},"nodeType":"YulExpressionStatement","src":"14905:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14955:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14966:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14951:3:150"},"nodeType":"YulFunctionCall","src":"14951:18:150"},{"hexValue":"566f746572526577617264733a20726577617264206d75737420626520677265","kind":"string","nodeType":"YulLiteral","src":"14971:34:150","type":"","value":"VoterRewards: reward must be gre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14944:6:150"},"nodeType":"YulFunctionCall","src":"14944:62:150"},"nodeType":"YulExpressionStatement","src":"14944:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15026:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15037:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15022:3:150"},"nodeType":"YulFunctionCall","src":"15022:18:150"},{"hexValue":"61746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"15042:13:150","type":"","value":"ater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15015:6:150"},"nodeType":"YulFunctionCall","src":"15015:41:150"},"nodeType":"YulExpressionStatement","src":"15015:41:150"},{"nodeType":"YulAssignment","src":"15065:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15077:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15088:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15073:3:150"},"nodeType":"YulFunctionCall","src":"15073:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15065:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14842:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14856:4:150","type":""}],"src":"14691:407:150"},{"body":{"nodeType":"YulBlock","src":"15204:102:150","statements":[{"nodeType":"YulAssignment","src":"15214:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15226:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15237:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15222:3:150"},"nodeType":"YulFunctionCall","src":"15222:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15214:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15256:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15271:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15287:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"15292:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15283:3:150"},"nodeType":"YulFunctionCall","src":"15283:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"15296:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15279:3:150"},"nodeType":"YulFunctionCall","src":"15279:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15267:3:150"},"nodeType":"YulFunctionCall","src":"15267:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15249:6:150"},"nodeType":"YulFunctionCall","src":"15249:51:150"},"nodeType":"YulExpressionStatement","src":"15249:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15173:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15184:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15195:4:150","type":""}],"src":"15103:203:150"},{"body":{"nodeType":"YulBlock","src":"15485:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15502:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15513:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15495:6:150"},"nodeType":"YulFunctionCall","src":"15495:21:150"},"nodeType":"YulExpressionStatement","src":"15495:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15536:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15547:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15532:3:150"},"nodeType":"YulFunctionCall","src":"15532:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15552:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15525:6:150"},"nodeType":"YulFunctionCall","src":"15525:30:150"},"nodeType":"YulExpressionStatement","src":"15525:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15575:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15586:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15571:3:150"},"nodeType":"YulFunctionCall","src":"15571:18:150"},{"hexValue":"566f746572526577617264733a206e6f7420656e6f756768204233545220696e","kind":"string","nodeType":"YulLiteral","src":"15591:34:150","type":"","value":"VoterRewards: not enough B3TR in"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15564:6:150"},"nodeType":"YulFunctionCall","src":"15564:62:150"},"nodeType":"YulExpressionStatement","src":"15564:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15646:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15657:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15642:3:150"},"nodeType":"YulFunctionCall","src":"15642:18:150"},{"hexValue":"2074686520636f6e747261637420746f2070617920726577617264","kind":"string","nodeType":"YulLiteral","src":"15662:29:150","type":"","value":" the contract to pay reward"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15635:6:150"},"nodeType":"YulFunctionCall","src":"15635:57:150"},"nodeType":"YulExpressionStatement","src":"15635:57:150"},{"nodeType":"YulAssignment","src":"15701:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15713:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15724:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15709:3:150"},"nodeType":"YulFunctionCall","src":"15709:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15701:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15462:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15476:4:150","type":""}],"src":"15311:423:150"},{"body":{"nodeType":"YulBlock","src":"15913:179:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15930:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15941:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15923:6:150"},"nodeType":"YulFunctionCall","src":"15923:21:150"},"nodeType":"YulExpressionStatement","src":"15923:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15964:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15975:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15960:3:150"},"nodeType":"YulFunctionCall","src":"15960:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15980:2:150","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15953:6:150"},"nodeType":"YulFunctionCall","src":"15953:30:150"},"nodeType":"YulExpressionStatement","src":"15953:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16003:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16014:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15999:3:150"},"nodeType":"YulFunctionCall","src":"15999:18:150"},{"hexValue":"566f746572526577617264733a207472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"16019:31:150","type":"","value":"VoterRewards: transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15992:6:150"},"nodeType":"YulFunctionCall","src":"15992:59:150"},"nodeType":"YulExpressionStatement","src":"15992:59:150"},{"nodeType":"YulAssignment","src":"16060:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16072:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16083:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16068:3:150"},"nodeType":"YulFunctionCall","src":"16068:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16060:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15890:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15904:4:150","type":""}],"src":"15739:353:150"},{"body":{"nodeType":"YulBlock","src":"16178:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"16224:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16233:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16236:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16226:6:150"},"nodeType":"YulFunctionCall","src":"16226:12:150"},"nodeType":"YulExpressionStatement","src":"16226:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16199:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16208:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16195:3:150"},"nodeType":"YulFunctionCall","src":"16195:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16220:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16191:3:150"},"nodeType":"YulFunctionCall","src":"16191:32:150"},"nodeType":"YulIf","src":"16188:52:150"},{"nodeType":"YulAssignment","src":"16249:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16265:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16259:5:150"},"nodeType":"YulFunctionCall","src":"16259:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16249:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16144:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16155:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16167:6:150","type":""}],"src":"16097:184:150"},{"body":{"nodeType":"YulBlock","src":"16415:145:150","statements":[{"nodeType":"YulAssignment","src":"16425:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16437:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16448:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16433:3:150"},"nodeType":"YulFunctionCall","src":"16433:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16425:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16467:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16482:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16498:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"16503:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16494:3:150"},"nodeType":"YulFunctionCall","src":"16494:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16507:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16490:3:150"},"nodeType":"YulFunctionCall","src":"16490:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16478:3:150"},"nodeType":"YulFunctionCall","src":"16478:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16460:6:150"},"nodeType":"YulFunctionCall","src":"16460:51:150"},"nodeType":"YulExpressionStatement","src":"16460:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16531:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16542:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16527:3:150"},"nodeType":"YulFunctionCall","src":"16527:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"16547:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16520:6:150"},"nodeType":"YulFunctionCall","src":"16520:34:150"},"nodeType":"YulExpressionStatement","src":"16520:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16376:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16387:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16395:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16406:4:150","type":""}],"src":"16286:274:150"},{"body":{"nodeType":"YulBlock","src":"16702:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"16712:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16732:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16726:5:150"},"nodeType":"YulFunctionCall","src":"16726:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"16716:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16787:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"16795:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16783:3:150"},"nodeType":"YulFunctionCall","src":"16783:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"16802:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"16807:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"16748:34:150"},"nodeType":"YulFunctionCall","src":"16748:66:150"},"nodeType":"YulExpressionStatement","src":"16748:66:150"},{"nodeType":"YulAssignment","src":"16823:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16834:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"16839:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16830:3:150"},"nodeType":"YulFunctionCall","src":"16830:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16823:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16678:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16683:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16694:3:150","type":""}],"src":"16565:287:150"}]},"contents":"{\n    { }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let _3 := shl(5, _1)\n        let dst := allocate_memory(add(_3, _2))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, _3), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_addresst_addresst_addresst_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := abi_decode_address(add(headStart, 64))\n        value3 := abi_decode_address(add(headStart, 96))\n        value4 := abi_decode_address(add(headStart, 128))\n        value5 := abi_decode_address(add(headStart, 160))\n        let offset := calldataload(add(headStart, 192))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value6 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 224))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value7 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n    }\n    function abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IGalaxyMemberV1_$17385__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        value3 := calldataload(add(headStart, 96))\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        if gt(_4, _2) { panic_error_0x41() }\n        let array := allocate_memory(add(and(add(_4, 0x1f), not(31)), _1))\n        mstore(array, _4)\n        if gt(add(add(_3, _4), _1), dataEnd) { revert(0, 0) }\n        calldatacopy(add(array, _1), add(_3, _1), _4)\n        mstore(add(add(array, _4), _1), 0)\n        value1 := array\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let length := mload(value0)\n        mstore(add(headStart, 32), length)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(headStart, 64), length)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n    }\n    function abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_c1a7b54113d4ba24d564beb13df6f5f943af2a39f60bed4f3b8f78d1613110ef__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 52)\n        mstore(add(headStart, 64), \"VoterRewards: emissionsAmount mu\")\n        mstore(add(headStart, 96), \"st be greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 50)\n        mstore(add(headStart, 64), \"VoterRewards: emissions cannot b\")\n        mstore(add(headStart, 96), \"e the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"VoterRewards: _galaxyMember cann\")\n        mstore(add(headStart, 96), \"ot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"VoterRewards: _b3tr cannot be th\")\n        mstore(add(headStart, 96), \"e zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"VoterRewards: levels must have a\")\n        mstore(add(headStart, 96), \"t least one element\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 62)\n        mstore(add(headStart, 64), \"VoterRewards: levels and multipl\")\n        mstore(add(headStart, 96), \"iers must have the same length\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"VoterRewards: admin cannot be th\")\n        mstore(add(headStart, 96), \"e zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_5adf85be7d176f958aafec9627f332a33a510ae0dcceabe4dd34113c870e4d44__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 50)\n        mstore(add(headStart, 64), \"VoterRewards: proposalStart must\")\n        mstore(add(headStart, 96), \" be greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"VoterRewards: voter cannot be th\")\n        mstore(add(headStart, 96), \"e zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 42)\n        mstore(add(headStart, 64), \"VoterRewards: level must be grea\")\n        mstore(add(headStart, 96), \"ter than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 47)\n        mstore(add(headStart, 64), \"VoterRewards: multiplier must be\")\n        mstore(add(headStart, 96), \" greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 42)\n        mstore(add(headStart, 64), \"VoterRewards: cycle must be grea\")\n        mstore(add(headStart, 96), \"ter than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 33)\n        mstore(add(headStart, 64), \"VoterRewards: cycle must be ende\")\n        mstore(add(headStart, 96), \"d\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 43)\n        mstore(add(headStart, 64), \"VoterRewards: reward must be gre\")\n        mstore(add(headStart, 96), \"ater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"VoterRewards: not enough B3TR in\")\n        mstore(add(headStart, 96), \" the contract to pay reward\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"VoterRewards: transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":5934},{"length":32,"start":5975},{"length":32,"start":6303}]},"linkReferences":{},"object":"6080604052600436106101465760003560e01c80628f33d71461014b57806301ffc9a71461017e57806308834ee7146101ae5780630dd3729c146101d0578063105fe500146101f05780632267716c146102105780632325e4b914610232578063248a9ca3146102475780632f18339d146102675780632f2ff15d1461028757806336568abe146102a75780634f1ef286146102c757806352d1902d146102da57806354fd4d50146102ef578063582a486a146103225780635fdc17521461033757806391d1485414610357578063952f213314610377578063a217fddf14610399578063ad3cb1cc146103ae578063ae0b8da8146103df578063b0b3de89146103ff578063c208b4e71461041f578063d547741f1461043f578063de7fd1331461045f578063e70eb39214610481578063ef4cadc5146104a1578063f72c0d8b146104b8575b600080fd5b34801561015757600080fd5b5061016b610166366004611b9c565b6104da565b6040519081526020015b60405180910390f35b34801561018a57600080fd5b5061019e610199366004611bc8565b61063f565b6040519015158152602001610175565b3480156101ba57600080fd5b506101ce6101c9366004611bf2565b610674565b005b3480156101dc57600080fd5b506101ce6101eb366004611cd2565b610722565b3480156101fc57600080fd5b5061016b61020b366004611b9c565b610b2d565b34801561021c57600080fd5b50610225610b63565b6040516101759190611d99565b34801561023e57600080fd5b50610225610b81565b34801561025357600080fd5b5061016b610262366004611dad565b610b9c565b34801561027357600080fd5b506101ce610282366004611dc6565b610bbc565b34801561029357600080fd5b506101ce6102a2366004611b9c565b610e69565b3480156102b357600080fd5b506101ce6102c2366004611b9c565b610e8b565b6101ce6102d5366004611e01565b610ec3565b3480156102e657600080fd5b5061016b610ee2565b3480156102fb57600080fd5b506040805180820190915260018152603160f81b60208201525b6040516101759190611eca565b34801561032e57600080fd5b50610225610eff565b34801561034357600080fd5b5061016b610352366004611dad565b610f1d565b34801561036357600080fd5b5061019e610372366004611b9c565b610f3d565b34801561038357600080fd5b5061016b60008051602061215783398151915281565b3480156103a557600080fd5b5061016b600081565b3480156103ba57600080fd5b50610315604051806040016040528060058152602001640352e302e360dc1b81525081565b3480156103eb57600080fd5b506101ce6103fa366004611bf2565b610f73565b34801561040b57600080fd5b506101ce61041a366004611efd565b61101b565b34801561042b57600080fd5b5061016b61043a366004611dad565b611153565b34801561044b57600080fd5b506101ce61045a366004611b9c565b611173565b34801561046b57600080fd5b5061016b60008051602061217783398151915281565b34801561048d57600080fd5b506101ce61049c366004611b9c565b61118f565b3480156104ad57600080fd5b5061016b620f424081565b3480156104c457600080fd5b5061016b60008051602061211783398151915281565b6000806104e5611577565b600085815260058201602090815260408083206001600160a01b0388811685529083528184205489855260048087019094528285205460028701549351633542e90360e01b81529485018b9052959650949392911690633542e90390602401602060405180830381865afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105859190611f1f565b9050600081116105f95760405162461bcd60e51b815260206004820152603460248201527f566f746572526577617264733a20656d697373696f6e73416d6f756e74206d75604482015273073742062652067726561746572207468616e20360641b60648201526084015b60405180910390fd5b6000620f42406106098386611f4e565b6106139190611f4e565b905060006106218483611f65565b9050610630620f424082611f65565b96505050505050505b92915050565b60006001600160e01b03198216637965db0b60e01b148061063957506301ffc9a760e01b6001600160e01b0319831614610639565b60008051602061215783398151915261068c8161159b565b6001600160a01b0382166106b25760405162461bcd60e51b81526004016105f090611f87565b60006106bc611577565b60028101546040519192506001600160a01b0390811691908516907fee0bb99897b3f409686cb6e56601a38cea38e9e00d9b28752b3be7b28ea8b0ad90600090a360020180546001600160a01b0319166001600160a01b03939093169290921790915550565b600061072c6115a8565b805490915060ff600160401b82041615906001600160401b03166000811580156107535750825b90506000826001600160401b0316600114801561076f5750303b155b90508115801561077d575080155b1561079b5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156107c457845460ff60401b1916600160401b1785555b6001600160a01b0389166107ea5760405162461bcd60e51b81526004016105f090611fd9565b6001600160a01b038a166108105760405162461bcd60e51b81526004016105f090611f87565b6001600160a01b03881661087d5760405162461bcd60e51b815260206004820152602e60248201527f566f746572526577617264733a205f623374722063616e6e6f7420626520746860448201526d65207a65726f206164647265737360901b60648201526084016105f0565b60008751116108ea5760405162461bcd60e51b815260206004820152603360248201527f566f746572526577617264733a206c6576656c73206d757374206861766520616044820152721d081b19585cdd081bdb9948195b195b595b9d606a1b60648201526084016105f0565b85518751146109615760405162461bcd60e51b815260206004820152603e60248201527f566f746572526577617264733a206c6576656c7320616e64206d756c7469706c60448201527f69657273206d7573742068617665207468652073616d65206c656e677468000060648201526084016105f0565b6109696115cc565b6109716115d6565b6109796115cc565b6000610983611577565b80546001600160a01b03808d166001600160a01b03199283161783556001830180548d8316908416179055600283018054918f1691909216179055905060005b8851811015610a2b578781815181106109de576109de61202f565b60200260200101518260030160008b84815181106109fe576109fe61202f565b60200260200101518152602001908152602001600020819055508080610a2390612045565b9150506109c3565b506001600160a01b038e16610a995760405162461bcd60e51b815260206004820152602e60248201527f566f746572526577617264733a2061646d696e2063616e6e6f7420626520746860448201526d65207a65726f206164647265737360901b60648201526084016105f0565b610aa460008f6115e6565b50610abd6000805160206121178339815191528e6115e6565b50610ad66000805160206121578339815191528d6115e6565b50508315610b1e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b600080610b38611577565b6000948552600501602090815260408086206001600160a01b03959095168652939052505090205490565b600080610b6e611577565b600201546001600160a01b031692915050565b600080610b8c611577565b546001600160a01b031692915050565b600080610ba7611687565b60009384526020525050604090206001015490565b600080516020612177833981519152610bd48161159b565b8115610e625760008511610c455760405162461bcd60e51b815260206004820152603260248201527f566f746572526577617264733a2070726f706f73616c5374617274206d75737460448201527102062652067726561746572207468616e20360741b60648201526084016105f0565b6001600160a01b038416610c6b5760405162461bcd60e51b81526004016105f09061205e565b6000610c75611577565b905060008160020160009054906101000a90046001600160a01b03166001600160a01b031663be26ed7f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf29190611f1f565b825460405163d325d4ed60e01b81529192506000916001600160a01b039091169063d325d4ed90610d29908a908c906004016120ac565b602060405180830381865afa158015610d46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6a9190611f1f565b6000818152600385016020526040812054919250610d8c87633b9aca00611f4e565b905060006064610d9c8484611f4e565b610da69190611f65565b610db090836120c5565b9050808660040160008781526020019081526020016000206000828254610dd791906120c5565b9091555050600085815260058701602090815260408083206001600160a01b038e16845290915281208054839290610e109084906120c5565b9091555050604080518a8152602081018390526001600160a01b038c169187917fac45cfd9cf13dd2e8b216503a1ca26d9f2a35e9a6b4b1b5cecc415db06ddf63f910160405180910390a35050505050505b5050505050565b610e7282610b9c565b610e7b8161159b565b610e8583836115e6565b50505050565b6001600160a01b0381163314610eb45760405163334bd91960e11b815260040160405180910390fd5b610ebe82826116ab565b505050565b610ecb611723565b610ed4826117c8565b610ede82826117e0565b5050565b6000610eec611894565b5060008051602061213783398151915290565b600080610f0a611577565b600101546001600160a01b031692915050565b600080610f28611577565b60009384526003016020525050604090205490565b600080610f48611687565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600080516020612157833981519152610f8b8161159b565b6001600160a01b038216610fb15760405162461bcd60e51b81526004016105f090611fd9565b6000610fbb611577565b80546040519192506001600160a01b0390811691908516907f3e9cacccd727006bc0e1f6b190b46b34090f490cd3ab7e45f3ac7a9cfeda63ff90600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b60006110268161159b565b600083116110895760405162461bcd60e51b815260206004820152602a60248201527f566f746572526577617264733a206c6576656c206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016105f0565b600082116110f15760405162461bcd60e51b815260206004820152602f60248201527f566f746572526577617264733a206d756c7469706c696572206d75737420626560448201526e02067726561746572207468616e203608c1b60648201526084016105f0565b60006110fb611577565b6000858152600382016020526040908190208590555190915084907fcc259987543a764767934b4d714760c68fdeb2ba8318210d9802cf66ae854001906111459086815260200190565b60405180910390a250505050565b60008061115e611577565b60009384526004016020525050604090205490565b61117c82610b9c565b6111858161159b565b610e8583836116ab565b6111976118dd565b600082116111fa5760405162461bcd60e51b815260206004820152602a60248201527f566f746572526577617264733a206379636c65206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016105f0565b6001600160a01b0381166112205760405162461bcd60e51b81526004016105f09061205e565b600061122a611577565b600281015460405163e52ef17f60e01b8152600481018690529192506001600160a01b03169063e52ef17f90602401602060405180830381865afa158015611276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129a91906120d8565b6112f05760405162461bcd60e51b815260206004820152602160248201527f566f746572526577617264733a206379636c65206d75737420626520656e64656044820152601960fa1b60648201526084016105f0565b60006112fc84846104da565b9050600081116113625760405162461bcd60e51b815260206004820152602b60248201527f566f746572526577617264733a20726577617264206d7573742062652067726560448201526a061746572207468616e20360ac1b60648201526084016105f0565b60018201546040516370a0823160e01b815282916001600160a01b0316906370a0823190611394903090600401611d99565b602060405180830381865afa1580156113b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d59190611f1f565b10156114475760405162461bcd60e51b815260206004820152603b60248201527f566f746572526577617264733a206e6f7420656e6f756768204233545220696e60448201527a081d1a194818dbdb9d1c9858dd081d1bc81c185e481c995dd85c99602a1b60648201526084016105f0565b600084815260058301602090815260408083206001600160a01b0380881685529252808320929092556001840154915163a9059cbb60e01b815291169063a9059cbb9061149a90869085906004016120ac565b6020604051808303816000875af11580156114b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dd91906120d8565b6115295760405162461bcd60e51b815260206004820152601d60248201527f566f746572526577617264733a207472616e73666572206661696c656400000060448201526064016105f0565b826001600160a01b0316847f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb78360405161156591815260200190565b60405180910390a35050610ede611913565b7f114e7ffaaf205d38cd05b17b56f3357806ef2ce889cb4748445ae91cdfc37c0090565b6115a58133611924565b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6115d461194f565b565b6115de61194f565b6115d4611974565b6000806115f1611687565b90506115fd8484610f3d565b61167d576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556116333390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610639565b6000915050610639565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806116b6611687565b90506116c28484610f3d565b1561167d576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610639565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806117aa57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661179e600080516020612137833981519152546001600160a01b031690565b6001600160a01b031614155b156115d45760405163703e46dd60e11b815260040160405180910390fd5b600080516020612117833981519152610ede8161159b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561183a575060408051601f3d908101601f1916820190925261183791810190611f1f565b60015b6118595781604051634c9c8ce360e01b81526004016105f09190611d99565b600080516020612137833981519152811461188a57604051632a87526960e21b8152600481018290526024016105f0565b610ebe838361197c565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115d45760405163703e46dd60e11b815260040160405180910390fd5b60006118e76119d2565b80549091506001190161190d57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b600061191d6119d2565b6001905550565b61192e8282610f3d565b610ede57808260405163e2517d3f60e01b81526004016105f09291906120ac565b6119576119f6565b6115d457604051631afcd79f60e31b815260040160405180910390fd5b61191361194f565b61198582611a10565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156119ca57610ebe8282611a6c565b610ede611ae2565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b6000611a006115a8565b54600160401b900460ff16919050565b806001600160a01b03163b600003611a3d5780604051634c9c8ce360e01b81526004016105f09190611d99565b60008051602061213783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611a8991906120fa565b600060405180830381855af49150503d8060008114611ac4576040519150601f19603f3d011682016040523d82523d6000602084013e611ac9565b606091505b5091509150611ad9858383611b01565b95945050505050565b34156115d45760405163b398979f60e01b815260040160405180910390fd5b606082611b1657611b1182611b57565b611b50565b8151158015611b2d57506001600160a01b0384163b155b15611b4d5783604051639996b31560e01b81526004016105f09190611d99565b50805b9392505050565b805115611b675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b0381168114611b9757600080fd5b919050565b60008060408385031215611baf57600080fd5b82359150611bbf60208401611b80565b90509250929050565b600060208284031215611bda57600080fd5b81356001600160e01b031981168114611b5057600080fd5b600060208284031215611c0457600080fd5b611b5082611b80565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c4b57611c4b611c0d565b604052919050565b600082601f830112611c6457600080fd5b813560206001600160401b03821115611c7f57611c7f611c0d565b8160051b611c8e828201611c23565b9283528481018201928281019087851115611ca857600080fd5b83870192505b84831015611cc757823582529183019190830190611cae565b979650505050505050565b600080600080600080600080610100898b031215611cef57600080fd5b611cf889611b80565b9750611d0660208a01611b80565b9650611d1460408a01611b80565b9550611d2260608a01611b80565b9450611d3060808a01611b80565b9350611d3e60a08a01611b80565b925060c08901356001600160401b0380821115611d5a57600080fd5b611d668c838d01611c53565b935060e08b0135915080821115611d7c57600080fd5b50611d898b828c01611c53565b9150509295985092959890939650565b6001600160a01b0391909116815260200190565b600060208284031215611dbf57600080fd5b5035919050565b60008060008060808587031215611ddc57600080fd5b84359350611dec60208601611b80565b93969395505050506040820135916060013590565b60008060408385031215611e1457600080fd5b611e1d83611b80565b91506020838101356001600160401b0380821115611e3a57600080fd5b818601915086601f830112611e4e57600080fd5b813581811115611e6057611e60611c0d565b611e72601f8201601f19168501611c23565b91508082528784828501011115611e8857600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b83811015611ec1578181015183820152602001611ea9565b50506000910152565b6020815260008251806020840152611ee9816040850160208701611ea6565b601f01601f19169190910160400192915050565b60008060408385031215611f1057600080fd5b50508035926020909101359150565b600060208284031215611f3157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761063957610639611f38565b600082611f8257634e487b7160e01b600052601260045260246000fd5b500490565b60208082526032908201527f566f746572526577617264733a20656d697373696f6e732063616e6e6f7420626040820152716520746865207a65726f206164647265737360701b606082015260800190565b60208082526036908201527f566f746572526577617264733a205f67616c6178794d656d6265722063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006001820161205757612057611f38565b5060010190565b6020808252602e908201527f566f746572526577617264733a20766f7465722063616e6e6f7420626520746860408201526d65207a65726f206164647265737360901b606082015260800190565b6001600160a01b03929092168252602082015260400190565b8082018082111561063957610639611f38565b6000602082840312156120ea57600080fd5b81518015158114611b5057600080fd5b6000825161210c818460208701611ea6565b919091019291505056fe189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b779e0a786be046868ec7a47625dff81941dbb889bcb3efd61d7ece9a9b92e2279a26469706673582212202865c72d99d5b93110821cf4226dd9ab19e0188ff14f9f7ffd3687d2b531fb8364736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x146 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x8F33D7 EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x17E JUMPI DUP1 PUSH4 0x8834EE7 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0xDD3729C EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0x105FE500 EQ PUSH2 0x1F0 JUMPI DUP1 PUSH4 0x2267716C EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0x2325E4B9 EQ PUSH2 0x232 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x2F18339D EQ PUSH2 0x267 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x2DA JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x2EF JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x322 JUMPI DUP1 PUSH4 0x5FDC1752 EQ PUSH2 0x337 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x357 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x377 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x399 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3AE JUMPI DUP1 PUSH4 0xAE0B8DA8 EQ PUSH2 0x3DF JUMPI DUP1 PUSH4 0xB0B3DE89 EQ PUSH2 0x3FF JUMPI DUP1 PUSH4 0xC208B4E7 EQ PUSH2 0x41F JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x43F JUMPI DUP1 PUSH4 0xDE7FD133 EQ PUSH2 0x45F JUMPI DUP1 PUSH4 0xE70EB392 EQ PUSH2 0x481 JUMPI DUP1 PUSH4 0xEF4CADC5 EQ PUSH2 0x4A1 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0x4B8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x157 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0x4DA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19E PUSH2 0x199 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BC8 JUMP JUMPDEST PUSH2 0x63F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x175 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x1C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BF2 JUMP JUMPDEST PUSH2 0x674 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x1EB CALLDATASIZE PUSH1 0x4 PUSH2 0x1CD2 JUMP JUMPDEST PUSH2 0x722 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x20B CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0xB2D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x225 PUSH2 0xB63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x1D99 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x23E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x225 PUSH2 0xB81 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x262 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DAD JUMP JUMPDEST PUSH2 0xB9C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DC6 JUMP JUMPDEST PUSH2 0xBBC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0xE69 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0xE8B JUMP JUMPDEST PUSH2 0x1CE PUSH2 0x2D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1E01 JUMP JUMPDEST PUSH2 0xEC3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0xEE2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x1ECA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x225 PUSH2 0xEFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x343 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x352 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DAD JUMP JUMPDEST PUSH2 0xF1D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x363 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19E PUSH2 0x372 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0xF3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2157 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x315 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x3FA CALLDATASIZE PUSH1 0x4 PUSH2 0x1BF2 JUMP JUMPDEST PUSH2 0xF73 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x41A CALLDATASIZE PUSH1 0x4 PUSH2 0x1EFD JUMP JUMPDEST PUSH2 0x101B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH2 0x43A CALLDATASIZE PUSH1 0x4 PUSH2 0x1DAD JUMP JUMPDEST PUSH2 0x1153 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x44B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x45A CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0x1173 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x46B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2177 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CE PUSH2 0x49C CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9C JUMP JUMPDEST PUSH2 0x118F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH3 0xF4240 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2117 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4E5 PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x5 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND DUP6 MSTORE SWAP1 DUP4 MSTORE DUP2 DUP5 KECCAK256 SLOAD DUP10 DUP6 MSTORE PUSH1 0x4 DUP1 DUP8 ADD SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 SLOAD PUSH1 0x2 DUP8 ADD SLOAD SWAP4 MLOAD PUSH4 0x3542E903 PUSH1 0xE0 SHL DUP2 MSTORE SWAP5 DUP6 ADD DUP12 SWAP1 MSTORE SWAP6 SWAP7 POP SWAP5 SWAP4 SWAP3 SWAP2 AND SWAP1 PUSH4 0x3542E903 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x561 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x585 SWAP2 SWAP1 PUSH2 0x1F1F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x5F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20656D697373696F6E73416D6F756E74206D75 PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x73742062652067726561746572207468616E203 PUSH1 0x64 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH3 0xF4240 PUSH2 0x609 DUP4 DUP7 PUSH2 0x1F4E JUMP JUMPDEST PUSH2 0x613 SWAP2 SWAP1 PUSH2 0x1F4E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x621 DUP5 DUP4 PUSH2 0x1F65 JUMP JUMPDEST SWAP1 POP PUSH2 0x630 PUSH3 0xF4240 DUP3 PUSH2 0x1F65 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x639 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x639 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2157 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x68C DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x6B2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x1F87 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6BC PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xEE0BB99897B3F409686CB6E56601A38CEA38E9E00D9B28752B3BE7B28EA8B0AD SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x72C PUSH2 0x15A8 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x753 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x76F JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x77D JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x79B JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7C4 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH2 0x7EA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x1FD9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH2 0x810 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x1F87 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0x87D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A205F623374722063616E6E6F74206265207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 DUP8 MLOAD GT PUSH2 0x8EA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C73206D75737420686176652061 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x1D081B19585CDD081BDB9948195B195B595B9D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST DUP6 MLOAD DUP8 MLOAD EQ PUSH2 0x961 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C7320616E64206D756C7469706C PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x69657273206D7573742068617665207468652073616D65206C656E6774680000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH2 0x969 PUSH2 0x15CC JUMP JUMPDEST PUSH2 0x971 PUSH2 0x15D6 JUMP JUMPDEST PUSH2 0x979 PUSH2 0x15CC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x983 PUSH2 0x1577 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP14 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR DUP4 SSTORE PUSH1 0x1 DUP4 ADD DUP1 SLOAD DUP14 DUP4 AND SWAP1 DUP5 AND OR SWAP1 SSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD SWAP2 DUP16 AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE SWAP1 POP PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0xA2B JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x9DE JUMPI PUSH2 0x9DE PUSH2 0x202F JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x3 ADD PUSH1 0x0 DUP12 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x9FE JUMPI PUSH2 0x9FE PUSH2 0x202F JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 DUP1 PUSH2 0xA23 SWAP1 PUSH2 0x2045 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9C3 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND PUSH2 0xA99 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A2061646D696E2063616E6E6F74206265207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH2 0xAA4 PUSH1 0x0 DUP16 PUSH2 0x15E6 JUMP JUMPDEST POP PUSH2 0xABD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2117 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP15 PUSH2 0x15E6 JUMP JUMPDEST POP PUSH2 0xAD6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2157 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP14 PUSH2 0x15E6 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0xB1E JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB38 PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB6E PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB8C PUSH2 0x1577 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA7 PUSH2 0x1687 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2177 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xBD4 DUP2 PUSH2 0x159B JUMP JUMPDEST DUP2 ISZERO PUSH2 0xE62 JUMPI PUSH1 0x0 DUP6 GT PUSH2 0xC45 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A2070726F706F73616C5374617274206D757374 PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x2062652067726561746572207468616E203 PUSH1 0x74 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xC6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x205E JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC75 PUSH2 0x1577 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBE26ED7F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCCE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCF2 SWAP2 SWAP1 PUSH2 0x1F1F JUMP JUMPDEST DUP3 SLOAD PUSH1 0x40 MLOAD PUSH4 0xD325D4ED PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD325D4ED SWAP1 PUSH2 0xD29 SWAP1 DUP11 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x20AC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD46 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD6A SWAP2 SWAP1 PUSH2 0x1F1F JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH2 0xD8C DUP8 PUSH4 0x3B9ACA00 PUSH2 0x1F4E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 PUSH2 0xD9C DUP5 DUP5 PUSH2 0x1F4E JUMP JUMPDEST PUSH2 0xDA6 SWAP2 SWAP1 PUSH2 0x1F65 JUMP JUMPDEST PUSH2 0xDB0 SWAP1 DUP4 PUSH2 0x20C5 JUMP JUMPDEST SWAP1 POP DUP1 DUP7 PUSH1 0x4 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xDD7 SWAP2 SWAP1 PUSH2 0x20C5 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x5 DUP8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xE10 SWAP1 DUP5 SWAP1 PUSH2 0x20C5 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP11 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 AND SWAP2 DUP8 SWAP2 PUSH32 0xAC45CFD9CF13DD2E8B216503A1CA26D9F2A35E9A6B4B1B5CECC415DB06DDF63F SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0xE72 DUP3 PUSH2 0xB9C JUMP JUMPDEST PUSH2 0xE7B DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH2 0xE85 DUP4 DUP4 PUSH2 0x15E6 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0xEB4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xEBE DUP3 DUP3 PUSH2 0x16AB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xECB PUSH2 0x1723 JUMP JUMPDEST PUSH2 0xED4 DUP3 PUSH2 0x17C8 JUMP JUMPDEST PUSH2 0xEDE DUP3 DUP3 PUSH2 0x17E0 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEEC PUSH2 0x1894 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2137 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF0A PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF28 PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF48 PUSH2 0x1687 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2157 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xF8B DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xFB1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x1FD9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFBB PUSH2 0x1577 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x3E9CACCCD727006BC0E1F6B190B46B34090F490CD3AB7E45F3AC7A9CFEDA63FF SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1026 DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH1 0x0 DUP4 GT PUSH2 0x1089 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C206D7573742062652067726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x746572207468616E203 PUSH1 0xB4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x10F1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206D756C7469706C696572206D757374206265 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10FB PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP5 SWAP1 PUSH32 0xCC259987543A764767934B4D714760C68FDEB2BA8318210D9802CF66AE854001 SWAP1 PUSH2 0x1145 SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x115E PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x117C DUP3 PUSH2 0xB9C JUMP JUMPDEST PUSH2 0x1185 DUP2 PUSH2 0x159B JUMP JUMPDEST PUSH2 0xE85 DUP4 DUP4 PUSH2 0x16AB JUMP JUMPDEST PUSH2 0x1197 PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x11FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206379636C65206D7573742062652067726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x746572207468616E203 PUSH1 0xB4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1220 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP1 PUSH2 0x205E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x122A PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xE52EF17F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE52EF17F SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1276 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x129A SWAP2 SWAP1 PUSH2 0x20D8 JUMP JUMPDEST PUSH2 0x12F0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206379636C65206D75737420626520656E6465 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0xFA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FC DUP5 DUP5 PUSH2 0x4DA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x1362 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20726577617264206D75737420626520677265 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x61746572207468616E203 PUSH1 0xAC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1394 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x1D99 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13D5 SWAP2 SWAP1 PUSH2 0x1F1F JUMP JUMPDEST LT ISZERO PUSH2 0x1447 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206E6F7420656E6F756768204233545220696E PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A194818DBDB9D1C9858DD081D1BC81C185E481C995DD85C99 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x5 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP5 ADD SLOAD SWAP2 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x149A SWAP1 DUP7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x20AC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14B9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14DD SWAP2 SWAP1 PUSH2 0x20D8 JUMP JUMPDEST PUSH2 0x1529 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A207472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5F0 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x24B5EFA61DD1CFC659205A97FB8ED868F3CB8C81922BAB2B96423E5DE1DE2CB7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1565 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0xEDE PUSH2 0x1913 JUMP JUMPDEST PUSH32 0x114E7FFAAF205D38CD05B17B56F3357806EF2CE889CB4748445AE91CDFC37C00 SWAP1 JUMP JUMPDEST PUSH2 0x15A5 DUP2 CALLER PUSH2 0x1924 JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x15D4 PUSH2 0x194F JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x15DE PUSH2 0x194F JUMP JUMPDEST PUSH2 0x15D4 PUSH2 0x1974 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x15F1 PUSH2 0x1687 JUMP JUMPDEST SWAP1 POP PUSH2 0x15FD DUP5 DUP5 PUSH2 0xF3D JUMP JUMPDEST PUSH2 0x167D JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x1633 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x639 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x639 JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x16B6 PUSH2 0x1687 JUMP JUMPDEST SWAP1 POP PUSH2 0x16C2 DUP5 DUP5 PUSH2 0xF3D JUMP JUMPDEST ISZERO PUSH2 0x167D JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x639 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x17AA JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x179E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2137 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x15D4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2117 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEDE DUP2 PUSH2 0x159B JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x183A JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1837 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1F1F JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1859 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP2 SWAP1 PUSH2 0x1D99 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2137 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x188A JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5F0 JUMP JUMPDEST PUSH2 0xEBE DUP4 DUP4 PUSH2 0x197C JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x15D4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x18E7 PUSH2 0x19D2 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x190D JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x191D PUSH2 0x19D2 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x192E DUP3 DUP3 PUSH2 0xF3D JUMP JUMPDEST PUSH2 0xEDE JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP3 SWAP2 SWAP1 PUSH2 0x20AC JUMP JUMPDEST PUSH2 0x1957 PUSH2 0x19F6 JUMP JUMPDEST PUSH2 0x15D4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1913 PUSH2 0x194F JUMP JUMPDEST PUSH2 0x1985 DUP3 PUSH2 0x1A10 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x19CA JUMPI PUSH2 0xEBE DUP3 DUP3 PUSH2 0x1A6C JUMP JUMPDEST PUSH2 0xEDE PUSH2 0x1AE2 JUMP JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A00 PUSH2 0x15A8 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1A3D JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP2 SWAP1 PUSH2 0x1D99 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2137 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1A89 SWAP2 SWAP1 PUSH2 0x20FA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1AC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1AD9 DUP6 DUP4 DUP4 PUSH2 0x1B01 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x15D4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1B16 JUMPI PUSH2 0x1B11 DUP3 PUSH2 0x1B57 JUMP JUMPDEST PUSH2 0x1B50 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1B2D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1B4D JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F0 SWAP2 SWAP1 PUSH2 0x1D99 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1B67 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1B97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1BAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1BBF PUSH1 0x20 DUP5 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1BDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1B50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B50 DUP3 PUSH2 0x1B80 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1C4B JUMPI PUSH2 0x1C4B PUSH2 0x1C0D JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x1C7F JUMPI PUSH2 0x1C7F PUSH2 0x1C0D JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x1C8E DUP3 DUP3 ADD PUSH2 0x1C23 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x1CA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x1CC7 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1CAE JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x1CEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1CF8 DUP10 PUSH2 0x1B80 JUMP JUMPDEST SWAP8 POP PUSH2 0x1D06 PUSH1 0x20 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP7 POP PUSH2 0x1D14 PUSH1 0x40 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP6 POP PUSH2 0x1D22 PUSH1 0x60 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP5 POP PUSH2 0x1D30 PUSH1 0x80 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP4 POP PUSH2 0x1D3E PUSH1 0xA0 DUP11 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP3 POP PUSH1 0xC0 DUP10 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1D5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D66 DUP13 DUP4 DUP14 ADD PUSH2 0x1C53 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1D7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D89 DUP12 DUP3 DUP13 ADD PUSH2 0x1C53 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1DDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH2 0x1DEC PUSH1 0x20 DUP7 ADD PUSH2 0x1B80 JUMP JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E1D DUP4 PUSH2 0x1B80 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1E3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1E4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x1E60 JUMPI PUSH2 0x1E60 PUSH2 0x1C0D JUMP JUMPDEST PUSH2 0x1E72 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP6 ADD PUSH2 0x1C23 JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP8 DUP5 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x1E88 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP5 DUP5 ADD DUP6 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP5 DUP3 DUP5 ADD ADD MSTORE POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1EC1 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1EA9 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1EE9 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1EA6 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1F10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x639 JUMPI PUSH2 0x639 PUSH2 0x1F38 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1F82 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20656D697373696F6E732063616E6E6F742062 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x6520746865207A65726F2061646472657373 PUSH1 0x70 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A205F67616C6178794D656D6265722063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2057 JUMPI PUSH2 0x2057 PUSH2 0x1F38 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20766F7465722063616E6E6F74206265207468 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x639 JUMPI PUSH2 0x639 PUSH2 0x1F38 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1B50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x210C DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1EA6 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC56AF926AA3845D4DC63A6C PUSH24 0x3ED36F51794728C97EBCD1BF845BCECB16EEB6B779E0A786 0xBE DIV PUSH9 0x68EC7A47625DFF8194 SAR 0xBB DUP9 SWAP12 0xCB RETURNDATACOPY REVERT PUSH2 0xD7EC 0xE9 0xA9 0xB9 0x2E 0x22 PUSH26 0xA26469706673582212202865C72D99D5B93110821CF4226DD9AB NOT 0xE0 XOR DUP16 CALL 0x4F SWAP16 PUSH32 0xFD3687D2B531FB8364736F6C6343000814003300000000000000000000000000 ","sourceMap":"2643:14358:45:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12474:931;;;;;;;;;;-1:-1:-1;12474:931:45;;;;;:::i;:::-;;:::i;:::-;;;597:25:150;;;585:2;570:18;12474:931:45;;;;;;;;3443:202:0;;;;;;;;;;-1:-1:-1;3443:202:0;;;;;:::i;:::-;;:::i;:::-;;;1089:14:150;;1082:22;1064:41;;1052:2;1037:18;3443:202:0;924:187:150;16355:366:45;;;;;;;;;;-1:-1:-1;16355:366:45;;;;;:::i;:::-;;:::i;:::-;;6815:1412;;;;;;;;;;-1:-1:-1;6815:1412:45;;;;;:::i;:::-;;:::i;13603:207::-;;;;;;;;;;-1:-1:-1;13603:207:45;;;;;:::i;:::-;;:::i;14705:148::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;14500:159::-;;;;;;;;;;;;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;9022:1885:45:-;;;;;;;;;;-1:-1:-1;9022:1885:45;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;6348:245::-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;3705:134::-;;;;;;;;;;;;;:::i;16913:86:45:-;;;;;;;;;;-1:-1:-1;16984:10:45;;;;;;;;;;;;-1:-1:-1;;;16984:10:45;;;;16913:86;;;;;;;:::i;14900:133::-;;;;;;;;;;;;;:::i;14269:181::-;;;;;;;;;;-1:-1:-1;14269:181:45;;;;;:::i;:::-;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;3126:100:45:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3126:100:45;;2317:49:0;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;1819:58:3;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;15208:399:45;;;;;;;;;;-1:-1:-1;15208:399:45;;;;;:::i;:::-;;:::i;15825:418::-;;;;;;;;;;-1:-1:-1;15825:418:45;;;;;:::i;:::-;;:::i;13950:171::-;;;;;;;;;;-1:-1:-1;13950:171:45;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;2816:78:45:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2816:78:45;;11183:1061;;;;;;;;;;-1:-1:-1;11183:1061:45;;;;;:::i;:::-;;:::i;3293:44::-;;;;;;;;;;;;3334:3;3293:44;;2953:66;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2953:66:45;;12474:931;12544:7;12559:29;12591:25;:23;:25::i;:::-;12694:13;12710:28;;;:21;;;:28;;;;;;;;-1:-1:-1;;;;;12710:35:45;;;;;;;;;;;;12830:21;;;:14;;;;:21;;;;;;;12941:11;;;;:37;;-1:-1:-1;;;12941:37:45;;;;;597:25:150;;;12710:21:45;;-1:-1:-1;12710:35:45;12830:21;12694:13;12941:11;;;:30;;570:18:150;;12941:37:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12915:63;;13010:1;12992:15;:19;12984:84;;;;-1:-1:-1;;;12984:84:45;;7518:2:150;12984:84:45;;;7500:21:150;7557:2;7537:18;;;7530:30;7596:34;7576:18;;;7569:62;-1:-1:-1;;;7647:18:150;;;7640:50;7707:19;;12984:84:45;;;;;;;;;13142:23;3334:3;13168:23;13176:15;13168:5;:23;:::i;:::-;:40;;;;:::i;:::-;13142:66;-1:-1:-1;13267:14:45;13284:28;13302:10;13142:66;13284:28;:::i;:::-;13267:45;-1:-1:-1;13377:23:45;3334:3;13267:45;13377:23;:::i;:::-;13370:30;;;;;;;;12474:931;;;;;:::o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;-1:-1:-1;;;;;;;;;;1133:40:14;;;3602:36:0;1034:146:14;16355:366:45;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;16461:24:45;::::1;16453:87;;;;-1:-1:-1::0;;;16453:87:45::1;;;;;;;:::i;:::-;16547:29;16579:25;:23;:25::i;:::-;16660:11;::::0;::::1;::::0;16616:57:::1;::::0;16547;;-1:-1:-1;;;;;;16660:11:45;;::::1;::::0;16616:57;;::::1;::::0;::::1;::::0;16660:11:::1;::::0;16616:57:::1;16680:11;;:36:::0;;-1:-1:-1;;;;;;16680:36:45::1;-1:-1:-1::0;;;;;16680:36:45;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;16355:366:45:o;6815:1412::-;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;-1:-1:-1;;;;;7085:27:45;::::1;7077:94;;;;-1:-1:-1::0;;;7077:94:45::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7185:24:45;::::1;7177:87;;;;-1:-1:-1::0;;;7177:87:45::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7278:19:45;::::1;7270:78;;;::::0;-1:-1:-1;;;7270:78:45;;9308:2:150;7270:78:45::1;::::0;::::1;9290:21:150::0;9347:2;9327:18;;;9320:30;9386:34;9366:18;;;9359:62;-1:-1:-1;;;9437:18:150;;;9430:44;9491:19;;7270:78:45::1;9106:410:150::0;7270:78:45::1;7379:1;7363:6;:13;:17;7355:81;;;::::0;-1:-1:-1;;;7355:81:45;;9723:2:150;7355:81:45::1;::::0;::::1;9705:21:150::0;9762:2;9742:18;;;9735:30;9801:34;9781:18;;;9774:62;-1:-1:-1;;;9852:18:150;;;9845:49;9911:19;;7355:81:45::1;9521:415:150::0;7355:81:45::1;7467:11;:18;7450:6;:13;:35;7442:110;;;::::0;-1:-1:-1;;;7442:110:45;;10143:2:150;7442:110:45::1;::::0;::::1;10125:21:150::0;10182:2;10162:18;;;10155:30;10221:34;10201:18;;;10194:62;10292:32;10272:18;;;10265:60;10342:19;;7442:110:45::1;9941:426:150::0;7442:110:45::1;7559:22;:20;:22::i;:::-;7587:24;:22;:24::i;:::-;7617;:22;:24::i;:::-;7648:29;7680:25;:23;:25::i;:::-;7712:47:::0;;-1:-1:-1;;;;;7712:47:45;;::::1;-1:-1:-1::0;;;;;;7712:47:45;;::::1;;::::0;;;7765:6;::::1;:21:::0;;;;::::1;::::0;;::::1;;::::0;;7792:11:::1;::::0;::::1;:36:::0;;;;::::1;::::0;;;::::1;;::::0;;7648:57;-1:-1:-1;7712:14:45::1;7879:102;7899:6;:13;7895:1;:17;7879:102;;;7960:11;7972:1;7960:14;;;;;;;;:::i;:::-;;;;;;;7927:1;:19;;:30;7947:6;7954:1;7947:9;;;;;;;;:::i;:::-;;;;;;;7927:30;;;;;;;;;;;:47;;;;7914:3;;;;;:::i;:::-;;;;7879:102;;;-1:-1:-1::0;;;;;;7995:19:45;::::1;7987:78;;;::::0;-1:-1:-1;;;7987:78:45;;10846:2:150;7987:78:45::1;::::0;::::1;10828:21:150::0;10885:2;10865:18;;;10858:30;10924:34;10904:18;;;10897:62;-1:-1:-1;;;10975:18:150;;;10968:44;11029:19;;7987:78:45::1;10644:410:150::0;7987:78:45::1;8071:37;2362:4:0;8102:5:45::0;8071:10:::1;:37::i;:::-;;8114:35;-1:-1:-1::0;;;;;;;;;;;8140:8:45::1;8114:10;:35::i;:::-;;8155:67;-1:-1:-1::0;;;;;;;;;;;8198:23:45::1;8155:10;:67::i;:::-;;7071:1156;5070:14:2::0;5066:101;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;11212:50:150;;5142:14:2;;11200:2:150;11185:18;5142:14:2;;;;;;;5066:101;4092:1081;;;;;6815:1412:45;;;;;;;;:::o;13603:207::-;13685:7;13700:29;13732:25;:23;:25::i;:::-;13770:28;;;;:21;;:28;;;;;;;;-1:-1:-1;;;;;13770:35:45;;;;;;;;;-1:-1:-1;;13770:35:45;;;;13603:207::o;14705:148::-;14749:10;14767:29;14799:25;:23;:25::i;:::-;14837:11;;;-1:-1:-1;;;;;14837:11:45;;14705:148;-1:-1:-1;;14705:148:45:o;14500:159::-;14547:15;14570:29;14602:25;:23;:25::i;:::-;14640:14;-1:-1:-1;;;;;14640:14:45;;14500:159;-1:-1:-1;;14500:159:45:o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;9022:1885:45:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9263:41:45;;9291:7:::1;9263:41;9416:1;9400:13;:17;9392:80;;;::::0;-1:-1:-1;;;9392:80:45;;11475:2:150;9392:80:45::1;::::0;::::1;11457:21:150::0;11514:2;11494:18;;;11487:30;11553:34;11533:18;;;11526:62;-1:-1:-1;;;11604:18:150;;;11597:48;11662:19;;9392:80:45::1;11273:414:150::0;9392:80:45::1;-1:-1:-1::0;;;;;9486:19:45;::::1;9478:78;;;;-1:-1:-1::0;;;9478:78:45::1;;;;;;;:::i;:::-;9563:29;9595:25;:23;:25::i;:::-;9563:57;;9664:13;9680:1;:11;;;;;;;;;;-1:-1:-1::0;;;;;9680:11:45::1;-1:-1:-1::0;;;;;9680:27:45::1;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9842:14:::0;;:56:::1;::::0;-1:-1:-1;;;9842:56:45;;9664:45;;-1:-1:-1;9821:18:45::1;::::0;-1:-1:-1;;;;;9842:14:45;;::::1;::::0;:34:::1;::::0;:56:::1;::::0;9877:5;;9884:13;;9842:56:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9971:18;9992:31:::0;;;:19:::1;::::0;::::1;:31;::::0;;;;;9821:77;;-1:-1:-1;10189:15:45::1;:9:::0;10201:3:::1;10189:15;:::i;:::-;10163:41:::0;-1:-1:-1;10393:26:45::1;10473:3;10441:28;10459:10:::0;10163:41;10441:28:::1;:::i;:::-;10440:36;;;;:::i;:::-;10422:54;::::0;:15;:54:::1;:::i;:::-;10393:83;;10621:18;10596:1;:14;;:21;10611:5;10596:21;;;;;;;;;;;;:43;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;10719:28:45::1;::::0;;;:21:::1;::::0;::::1;:28;::::0;;;;;;;-1:-1:-1;;;;;10719:35:45;::::1;::::0;;;;;;;:57;;10758:18;;10719:28;:57:::1;::::0;10758:18;;10719:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;10847:55:45::1;::::0;;12690:25:150;;;12746:2;12731:18;;12724:34;;;-1:-1:-1;;;;;10847:55:45;::::1;::::0;10862:5;;10847:55:::1;::::0;12663:18:150;10847:55:45::1;;;;;;;9175:1732;;;;;;3217:1:0;9022:1885:45::0;;;;;:::o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;6348:245::-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;:::-;4158:214:::0;;:::o;3705:134::-;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;14900:133:45:-;14939:5;14952:29;14984:25;:23;:25::i;:::-;15022:6;;;-1:-1:-1;;;;;15022:6:45;;14900:133;-1:-1:-1;;14900:133:45:o;14269:181::-;14334:7;14349:29;14381:25;:23;:25::i;:::-;14419:26;;;;:19;;:26;;-1:-1:-1;;14419:26:45;;;;;14269:181::o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;15208:399:45:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;15320:27:45;::::1;15312:94;;;;-1:-1:-1::0;;;15312:94:45::1;;;;;;;:::i;:::-;15413:29;15445:25;:23;:25::i;:::-;15532:14:::0;;15482:66:::1;::::0;15413:57;;-1:-1:-1;;;;;;15532:14:45;;::::1;::::0;15482:66;;::::1;::::0;::::1;::::0;15532:14:::1;::::0;15482:66:::1;15555:47:::0;;-1:-1:-1;;;;;;15555:47:45::1;-1:-1:-1::0;;;;;15555:47:45;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;15208:399:45:o;15825:418::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;15950:1:45::1;15942:5;:9;15934:64;;;::::0;-1:-1:-1;;;15934:64:45;;12971:2:150;15934:64:45::1;::::0;::::1;12953:21:150::0;13010:2;12990:18;;;12983:30;13049:34;13029:18;;;13022:62;-1:-1:-1;;;13100:18:150;;;13093:40;13150:19;;15934:64:45::1;12769:406:150::0;15934:64:45::1;16025:1;16012:10;:14;16004:74;;;::::0;-1:-1:-1;;;16004:74:45;;13382:2:150;16004:74:45::1;::::0;::::1;13364:21:150::0;13421:2;13401:18;;;13394:30;13460:34;13440:18;;;13433:62;-1:-1:-1;;;13511:18:150;;;13504:45;13566:19;;16004:74:45::1;13180:411:150::0;16004:74:45::1;16085:29;16117:25;:23;:25::i;:::-;16148:26;::::0;;;:19:::1;::::0;::::1;:26;::::0;;;;;;:39;;;16199;16085:57;;-1:-1:-1;16168:5:45;;16199:39:::1;::::0;::::1;::::0;16177:10;597:25:150;;585:2;570:18;;451:177;16199:39:45::1;;;;;;;;15928:315;15825:418:::0;;;:::o;13950:171::-;14010:7;14025:29;14057:25;:23;:25::i;:::-;14095:21;;;;:14;;:21;;-1:-1:-1;;14095:21:45;;;;;13950:171::o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;11183:1061:45:-:0;3251:21:13;:19;:21::i;:::-;11278:1:45::1;11270:5;:9;11262:64;;;::::0;-1:-1:-1;;;11262:64:45;;13798:2:150;11262:64:45::1;::::0;::::1;13780:21:150::0;13837:2;13817:18;;;13810:30;13876:34;13856:18;;;13849:62;-1:-1:-1;;;13927:18:150;;;13920:40;13977:19;;11262:64:45::1;13596:406:150::0;11262:64:45::1;-1:-1:-1::0;;;;;11340:19:45;::::1;11332:78;;;;-1:-1:-1::0;;;11332:78:45::1;;;;;;;:::i;:::-;11416:29;11448:25;:23;:25::i;:::-;11549:11;::::0;::::1;::::0;:31:::1;::::0;-1:-1:-1;;;11549:31:45;;::::1;::::0;::::1;597:25:150::0;;;11549:11:45;;-1:-1:-1;;;;;;11549:11:45::1;::::0;:24:::1;::::0;570:18:150;;11549:31:45::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11541:77;;;::::0;-1:-1:-1;;;11541:77:45;;14491:2:150;11541:77:45::1;::::0;::::1;14473:21:150::0;14530:2;14510:18;;;14503:30;14569:34;14549:18;;;14542:62;-1:-1:-1;;;14620:18:150;;;14613:31;14661:19;;11541:77:45::1;14289:397:150::0;11541:77:45::1;11675:14;11692:23;11702:5;11709;11692:9;:23::i;:::-;11675:40;;11739:1;11730:6;:10;11722:66;;;::::0;-1:-1:-1;;;11722:66:45;;14893:2:150;11722:66:45::1;::::0;::::1;14875:21:150::0;14932:2;14912:18;;;14905:30;14971:34;14951:18;;;14944:62;-1:-1:-1;;;15022:18:150;;;15015:41;15073:19;;11722:66:45::1;14691:407:150::0;11722:66:45::1;11802:6;::::0;::::1;::::0;:31:::1;::::0;-1:-1:-1;;;11802:31:45;;11837:6;;-1:-1:-1;;;;;11802:6:45::1;::::0;:16:::1;::::0;:31:::1;::::0;11827:4:::1;::::0;11802:31:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;;11794:113;;;::::0;-1:-1:-1;;;11794:113:45;;15513:2:150;11794:113:45::1;::::0;::::1;15495:21:150::0;15552:2;15532:18;;;15525:30;15591:34;15571:18;;;15564:62;-1:-1:-1;;;15642:18:150;;;15635:57;15709:19;;11794:113:45::1;15311:423:150::0;11794:113:45::1;12019:1;11981:28:::0;;;:21:::1;::::0;::::1;:28;::::0;;;;;;;-1:-1:-1;;;;;11981:35:45;;::::1;::::0;;;;;;;:39;;;;12067:6:::1;::::0;::::1;::::0;:30;;-1:-1:-1;;;12067:30:45;;:6;::::1;::::0;:15:::1;::::0;:30:::1;::::0;12010:5;;12090:6;;12067:30:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12059:72;;;::::0;-1:-1:-1;;;12059:72:45;;15941:2:150;12059:72:45::1;::::0;::::1;15923:21:150::0;15980:2;15960:18;;;15953:30;16019:31;15999:18;;;15992:59;16068:18;;12059:72:45::1;15739:353:150::0;12059:72:45::1;12225:5;-1:-1:-1::0;;;;;12204:35:45::1;12218:5;12204:35;12232:6;12204:35;;;;597:25:150::0;;585:2;570:18;;451:177;12204:35:45::1;;;;;;;;11256:988;;3293:20:13::0;:18;:20::i;4259:159:45:-;4381:27;;4259:159::o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;:::-;4148:103;:::o;8737:170:2:-;8870:21;;8737:170::o;3231:65:0:-;6931:20:2;:18;:20::i;:::-;3231:65:0:o;2540:111:13:-;6931:20:2;:18;:20::i;:::-;2610:34:13::1;:32;:34::i;7270:387:0:-:0;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;2787:177;2920:28;;2787:177::o;7892:388::-;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;4599:312:3;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;8458:98:45;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;597:25:150;;;570:18;;6312:34:3;451:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;3326:384:13;3375:32;3410:28;:26;:28::i;:::-;3526:9;;3375:63;;-1:-1:-1;;;3526:20:13;3522:88;;3569:30;;-1:-1:-1;;;3569:30:13;;;;;;;;;;;3522:88;1847:1;3684:19;;3326:384::o;3716:283::-;3764:32;3799:28;:26;:28::i;:::-;1805:1;3969:23;;-1:-1:-1;3716:283:13:o;4381:197:0:-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;2657:183:13;6931:20:2;:18;:20::i;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;2251:183:13:-;2388:30;;2251:183::o;8487:120:2:-;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;:::-;4290:62;4106:253;-1:-1:-1;;;;;4106:253:32:o;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;4625:582:32;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;4793:408;4625:582;;;;;:::o;5743:516::-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;14:173:150;82:20;;-1:-1:-1;;;;;131:31:150;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;373:9;360:23;350:33;;402:38;436:2;425:9;421:18;402:38;:::i;:::-;392:48;;192:254;;;;;:::o;633:286::-;691:6;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;786:23;;-1:-1:-1;;;;;;838:32:150;;828:43;;818:71;;885:1;882;875:12;1116:186;1175:6;1228:2;1216:9;1207:7;1203:23;1199:32;1196:52;;;1244:1;1241;1234:12;1196:52;1267:29;1286:9;1267:29;:::i;1307:127::-;1368:10;1363:3;1359:20;1356:1;1349:31;1399:4;1396:1;1389:15;1423:4;1420:1;1413:15;1439:275;1510:2;1504:9;1575:2;1556:13;;-1:-1:-1;;1552:27:150;1540:40;;-1:-1:-1;;;;;1595:34:150;;1631:22;;;1592:62;1589:88;;;1657:18;;:::i;:::-;1693:2;1686:22;1439:275;;-1:-1:-1;1439:275:150:o;1719:712::-;1773:5;1826:3;1819:4;1811:6;1807:17;1803:27;1793:55;;1844:1;1841;1834:12;1793:55;1867:20;;1906:4;-1:-1:-1;;;;;1922:26:150;;1919:52;;;1951:18;;:::i;:::-;1997:2;1994:1;1990:10;2020:28;2044:2;2040;2036:11;2020:28;:::i;:::-;2082:15;;;2152;;;2148:24;;;2113:12;;;;2184:15;;;2181:35;;;2212:1;2209;2202:12;2181:35;2248:2;2240:6;2236:15;2225:26;;2260:142;2276:6;2271:3;2268:15;2260:142;;;2342:17;;2330:30;;2293:12;;;;2380;;;;2260:142;;;2420:5;1719:712;-1:-1:-1;;;;;;;1719:712:150:o;2436:1044::-;2608:6;2616;2624;2632;2640;2648;2656;2664;2717:3;2705:9;2696:7;2692:23;2688:33;2685:53;;;2734:1;2731;2724:12;2685:53;2757:29;2776:9;2757:29;:::i;:::-;2747:39;;2805:38;2839:2;2828:9;2824:18;2805:38;:::i;:::-;2795:48;;2862:38;2896:2;2885:9;2881:18;2862:38;:::i;:::-;2852:48;;2919:38;2953:2;2942:9;2938:18;2919:38;:::i;:::-;2909:48;;2976:39;3010:3;2999:9;2995:19;2976:39;:::i;:::-;2966:49;;3034:39;3068:3;3057:9;3053:19;3034:39;:::i;:::-;3024:49;-1:-1:-1;3124:3:150;3109:19;;3096:33;-1:-1:-1;;;;;3178:14:150;;;3175:34;;;3205:1;3202;3195:12;3175:34;3228:61;3281:7;3272:6;3261:9;3257:22;3228:61;:::i;:::-;3218:71;;3342:3;3331:9;3327:19;3314:33;3298:49;;3372:2;3362:8;3359:16;3356:36;;;3388:1;3385;3378:12;3356:36;;3411:63;3466:7;3455:8;3444:9;3440:24;3411:63;:::i;:::-;3401:73;;;2436:1044;;;;;;;;;;;:::o;3485:223::-;-1:-1:-1;;;;;3669:32:150;;;;3651:51;;3639:2;3624:18;;3485:223::o;3946:180::-;4005:6;4058:2;4046:9;4037:7;4033:23;4029:32;4026:52;;;4074:1;4071;4064:12;4026:52;-1:-1:-1;4097:23:150;;3946:180;-1:-1:-1;3946:180:150:o;4313:391::-;4399:6;4407;4415;4423;4476:3;4464:9;4455:7;4451:23;4447:33;4444:53;;;4493:1;4490;4483:12;4444:53;4529:9;4516:23;4506:33;;4558:38;4592:2;4581:9;4577:18;4558:38;:::i;:::-;4313:391;;4548:48;;-1:-1:-1;;;;4643:2:150;4628:18;;4615:32;;4694:2;4679:18;4666:32;;4313:391::o;4968:837::-;5045:6;5053;5106:2;5094:9;5085:7;5081:23;5077:32;5074:52;;;5122:1;5119;5112:12;5074:52;5145:29;5164:9;5145:29;:::i;:::-;5135:39;-1:-1:-1;5193:2:150;5231:18;;;5218:32;-1:-1:-1;;;;;5299:14:150;;;5296:34;;;5326:1;5323;5316:12;5296:34;5364:6;5353:9;5349:22;5339:32;;5409:7;5402:4;5398:2;5394:13;5390:27;5380:55;;5431:1;5428;5421:12;5380:55;5467:2;5454:16;5489:2;5485;5482:10;5479:36;;;5495:18;;:::i;:::-;5537:53;5580:2;5561:13;;-1:-1:-1;;5557:27:150;5553:36;;5537:53;:::i;:::-;5524:66;;5613:2;5606:5;5599:17;5653:7;5648:2;5643;5639;5635:11;5631:20;5628:33;5625:53;;;5674:1;5671;5664:12;5625:53;5729:2;5724;5720;5716:11;5711:2;5704:5;5700:14;5687:45;5773:1;5768:2;5763;5756:5;5752:14;5748:23;5741:34;;5794:5;5784:15;;;;;4968:837;;;;;:::o;5810:250::-;5895:1;5905:113;5919:6;5916:1;5913:13;5905:113;;;5995:11;;;5989:18;5976:11;;;5969:39;5941:2;5934:10;5905:113;;;-1:-1:-1;;6052:1:150;6034:16;;6027:27;5810:250::o;6065:396::-;6214:2;6203:9;6196:21;6177:4;6246:6;6240:13;6289:6;6284:2;6273:9;6269:18;6262:34;6305:79;6377:6;6372:2;6361:9;6357:18;6352:2;6344:6;6340:15;6305:79;:::i;:::-;6445:2;6424:15;-1:-1:-1;;6420:29:150;6405:45;;;;6452:2;6401:54;;6065:396;-1:-1:-1;;6065:396:150:o;6874:248::-;6942:6;6950;7003:2;6991:9;6982:7;6978:23;6974:32;6971:52;;;7019:1;7016;7009:12;6971:52;-1:-1:-1;;7042:23:150;;;7112:2;7097:18;;;7084:32;;-1:-1:-1;6874:248:150:o;7127:184::-;7197:6;7250:2;7238:9;7229:7;7225:23;7221:32;7218:52;;;7266:1;7263;7256:12;7218:52;-1:-1:-1;7289:16:150;;7127:184;-1:-1:-1;7127:184:150:o;7737:127::-;7798:10;7793:3;7789:20;7786:1;7779:31;7829:4;7826:1;7819:15;7853:4;7850:1;7843:15;7869:168;7942:9;;;7973;;7990:15;;;7984:22;;7970:37;7960:71;;8011:18;;:::i;8042:217::-;8082:1;8108;8098:132;;8152:10;8147:3;8143:20;8140:1;8133:31;8187:4;8184:1;8177:15;8215:4;8212:1;8205:15;8098:132;-1:-1:-1;8244:9:150;;8042:217::o;8264:414::-;8466:2;8448:21;;;8505:2;8485:18;;;8478:30;8544:34;8539:2;8524:18;;8517:62;-1:-1:-1;;;8610:2:150;8595:18;;8588:48;8668:3;8653:19;;8264:414::o;8683:418::-;8885:2;8867:21;;;8924:2;8904:18;;;8897:30;8963:34;8958:2;8943:18;;8936:62;-1:-1:-1;;;9029:2:150;9014:18;;9007:52;9091:3;9076:19;;8683:418::o;10372:127::-;10433:10;10428:3;10424:20;10421:1;10414:31;10464:4;10461:1;10454:15;10488:4;10485:1;10478:15;10504:135;10543:3;10564:17;;;10561:43;;10584:18;;:::i;:::-;-1:-1:-1;10631:1:150;10620:13;;10504:135::o;11692:410::-;11894:2;11876:21;;;11933:2;11913:18;;;11906:30;11972:34;11967:2;11952:18;;11945:62;-1:-1:-1;;;12038:2:150;12023:18;;12016:44;12092:3;12077:19;;11692:410::o;12107:274::-;-1:-1:-1;;;;;12299:32:150;;;;12281:51;;12363:2;12348:18;;12341:34;12269:2;12254:18;;12107:274::o;12386:125::-;12451:9;;;12472:10;;;12469:36;;;12485:18;;:::i;14007:277::-;14074:6;14127:2;14115:9;14106:7;14102:23;14098:32;14095:52;;;14143:1;14140;14133:12;14095:52;14175:9;14169:16;14228:5;14221:13;14214:21;14207:5;14204:32;14194:60;;14250:1;14247;14240:12;16565:287;16694:3;16732:6;16726:13;16748:66;16807:6;16802:3;16795:4;16787:6;16783:17;16748:66;:::i;:::-;16830:16;;;;;16565:287;-1:-1:-1;;16565:287:150:o"},"methodIdentifiers":{"CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","SCALING_FACTOR()":"ef4cadc5","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","VOTE_REGISTRAR_ROLE()":"de7fd133","b3tr()":"582a486a","claimReward(uint256,address)":"e70eb392","cycleToTotal(uint256)":"c208b4e7","cycleToVoterToTotal(uint256,address)":"105fe500","emissions()":"2267716c","galaxyMember()":"2325e4b9","getReward(uint256,address)":"008f33d7","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,address,address,address,uint256[],uint256[])":"0dd3729c","levelToMultiplier(uint256)":"5fdc1752","proxiableUUID()":"52d1902d","registerVote(uint256,address,uint256,uint256)":"2f18339d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setEmissions(address)":"08834ee7","setGalaxyMember(address)":"ae0b8da8","setLevelToMultiplier(uint256,uint256)":"b0b3de89","supportsInterface(bytes4)":"01ffc9a7","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"EmissionsAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"GalaxyMemberAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"LevelToMultiplierSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"name\":\"RewardClaimed\",\"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\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rewardWeightedVote\",\"type\":\"uint256\"}],\"name\":\"VoteRegistered\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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\":\"SCALING_FACTOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VOTE_REGISTRAR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"cycleToTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"cycleToVoterToTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"galaxyMember\",\"outputs\":[{\"internalType\":\"contract IGalaxyMemberV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"getReward\",\"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\":[{\"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\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractsAddressManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_emissions\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_galaxyMember\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_b3tr\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"levels\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"multipliers\",\"type\":\"uint256[]\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"levelToMultiplier\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalStart\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votePower\",\"type\":\"uint256\"}],\"name\":\"registerVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"_emissions\",\"type\":\"address\"}],\"name\":\"setEmissions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_galaxyMember\",\"type\":\"address\"}],\"name\":\"setGalaxyMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"setLevelToMultiplier\",\"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\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"VeBetterDAO\",\"details\":\"The contract is - upgradeable using UUPSUpgradeable. - using AccessControl to handle the admin and upgrader roles. - using ReentrancyGuard to prevent reentrancy attacks. - following the ERC-7201 standard for storage layout. Roles: - DEFAULT_ADMIN_ROLE: The role that can add new admins and upgraders. It is also the role that can set scaling factor and the Galaxy Member level to multiplier mapping. - UPGRADER_ROLE: The role that can upgrade the contract. - VOTE_REGISTRAR_ROLE: The role that can register votes for rewards calculation. - CONTRACTS_ADDRESS_MANAGER_ROLE: The role that can set the addresses of the contracts used by the VoterRewards contract.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"EmissionsAddressUpdated(address,address)\":{\"params\":{\"newAddress\":\"- The address of the new Emissions contract.\",\"oldAddress\":\"- The address of the old Emissions contract.\"}},\"GalaxyMemberAddressUpdated(address,address)\":{\"params\":{\"newAddress\":\"- The address of the new Galaxy Member contract.\",\"oldAddress\":\"- The address of the old Galaxy Member contract.\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"LevelToMultiplierSet(uint256,uint256)\":{\"params\":{\"level\":\"- The level of the Galaxy Member NFT.\",\"multiplier\":\"- The percentage multiplier for the level of the Galaxy Member NFT.\"}},\"RewardClaimed(uint256,address,uint256)\":{\"params\":{\"cycle\":\"- The cycle in which the rewards were claimed.\",\"reward\":\"- The amount of B3TR reward claimed by the voter.\",\"voter\":\"- The address of the voter.\"}},\"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.\"},\"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.\"},\"VoteRegistered(uint256,address,uint256,uint256)\":{\"params\":{\"cycle\":\"- The cycle in which the votes were registered.\",\"rewardWeightedVote\":\"- The reward-weighted vote power for the voter based on their voting power and GM NFT level.\",\"voter\":\"- The address of the voter.\",\"votes\":\"- The number of votes cast by the voter.\"}}},\"kind\":\"dev\",\"methods\":{\"claimReward(uint256,address)\":{\"details\":\"The rewards are claimed based on the reward-weighted votes of the user in the cycle.\",\"params\":{\"cycle\":\"- The cycle in which the rewards are claimed.\",\"voter\":\"- The address of the voter.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"cycleToTotal(uint256)\":{\"params\":{\"cycle\":\"- The cycle in which the rewards are claimed.\"}},\"cycleToVoterToTotal(uint256,address)\":{\"params\":{\"cycle\":\"- The cycle in which the rewards are claimed.\",\"voter\":\"- The address of the voter.\"}},\"getReward(uint256,address)\":{\"params\":{\"cycle\":\"- The cycle in which the rewards are claimed.\",\"voter\":\"- The address of the voter.\"}},\"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,address,address,address,address,address,uint256[],uint256[])\":{\"params\":{\"_b3tr\":\"- The address of the B3TR token contract.\",\"_emissions\":\"- The address of the emissions contract.\",\"_galaxyMember\":\"- The address of the Galaxy Member contract.\",\"admin\":\"- The address of the admin.\",\"contractsAddressManager\":\"- The address of the contract address manager.\",\"levels\":\"- The levels of the Galaxy Member NFTs.\",\"multipliers\":\"- The multipliers for the levels of the Galaxy Member NFTs.\",\"upgrader\":\"- The address of the upgrader.\"}},\"levelToMultiplier(uint256)\":{\"params\":{\"level\":\"- The level of the Galaxy Member NFT.\"}},\"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.\"},\"registerVote(uint256,address,uint256,uint256)\":{\"details\":\"Quadratic rewarding is used to reward users with quadratic-weight based on their voting power and the level of their Galaxy Member NFT.\",\"params\":{\"proposalStart\":\"- The start time of the proposal.\",\"votePower\":\"- The square root of the total votes cast by the voter.\",\"voter\":\"- The address of the voter.\",\"votes\":\"- The number of votes cast by the voter.\"}},\"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 `callerConfirmation`. 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.\"},\"setEmissions(address)\":{\"params\":{\"_emissions\":\"- The address of the emissions contract.\"}},\"setGalaxyMember(address)\":{\"params\":{\"_galaxyMember\":\"- The address of the Galaxy Member contract.\"}},\"setLevelToMultiplier(uint256,uint256)\":{\"params\":{\"level\":\"- The level of the Galaxy Member NFT.\",\"multiplier\":\"- The percentage multiplier for the level of the Galaxy Member NFT.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"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()\":{\"details\":\"This should be updated every time a new version of implementation is deployed\",\"returns\":{\"_0\":\"string The version of the contract\"}}},\"title\":\"VoterRewards\",\"version\":1},\"userdoc\":{\"events\":{\"EmissionsAddressUpdated(address,address)\":{\"notice\":\"Emitted when the Emissions contract address is set.\"},\"GalaxyMemberAddressUpdated(address,address)\":{\"notice\":\"Emitted when the Galaxy Member contract address is set.\"},\"LevelToMultiplierSet(uint256,uint256)\":{\"notice\":\"Emitted when the level to multiplier mapping is set.\"},\"RewardClaimed(uint256,address,uint256)\":{\"notice\":\"Emitted when a user claims their rewards.\"},\"VoteRegistered(uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when a user registers their votes for rewards calculation.\"}},\"kind\":\"user\",\"methods\":{\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"The role that can set the addresses of the contracts used by the VoterRewards contract.\"},\"SCALING_FACTOR()\":{\"notice\":\"The scaling factor for the rewards calculation.\"},\"UPGRADER_ROLE()\":{\"notice\":\"The role that can upgrade the contract.\"},\"VOTE_REGISTRAR_ROLE()\":{\"notice\":\"The role that can register votes for rewards calculation.\"},\"b3tr()\":{\"notice\":\"Get the B3TR token contract.\"},\"claimReward(uint256,address)\":{\"notice\":\"Claim the rewards for a user in a specific cycle.\"},\"cycleToTotal(uint256)\":{\"notice\":\"Get the total reward-weighted votes in a specific cycle.\"},\"cycleToVoterToTotal(uint256,address)\":{\"notice\":\"Get the total reward-weighted votes for a user in a specific cycle.\"},\"emissions()\":{\"notice\":\"Get the Emissions contract.\"},\"galaxyMember()\":{\"notice\":\"Get the Galaxy Member contract.\"},\"getReward(uint256,address)\":{\"notice\":\"Get the reward for a user in a specific cycle.\"},\"initialize(address,address,address,address,address,address,uint256[],uint256[])\":{\"notice\":\"Initialize the VoterRewards contract.\"},\"levelToMultiplier(uint256)\":{\"notice\":\"Get the reward multiplier for a specific level of the Galaxy Member NFT.\"},\"registerVote(uint256,address,uint256,uint256)\":{\"notice\":\"Register the votes of a user for rewards calculation.\"},\"setEmissions(address)\":{\"notice\":\"Set the Emmissions contract.\"},\"setGalaxyMember(address)\":{\"notice\":\"Set the Galaxy Member contract.\"},\"setLevelToMultiplier(uint256,uint256)\":{\"notice\":\"Set the Galaxy Member level to multiplier mapping.\"},\"version()\":{\"notice\":\"Returns the version of the contract\"}},\"notice\":\"This contract handles the rewards for voters in the VeBetterDAO ecosystem. It calculates the rewards for voters based on their voting power and the level of their Galaxy Member NFT.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V1/VoterRewardsV1.sol\":\"VoterRewardsV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V1/VoterRewardsV1.sol\":{\"keccak256\":\"0xa03aa4ce3427f5df085d8ceb92abeb7ebedc12c26cb30ff6c0ec2c48c3e5aa3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7c9184c28282331166ed8148dd21252dae83d7d786090c0193e38b6cda4f044\",\"dweb:/ipfs/QmYm398CwPA1NPRpZJP7wbnBowMvstApuHd1ePXCKxmp7v\"]},\"contracts/deprecated/V1/interfaces/IGalaxyMemberV1.sol\":{\"keccak256\":\"0x0b834a83115fc4939e294a18a1c7ad563d9512268c28719ea42686e0bc8ce8f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cdae7cb778867cdc7724326117897b511246f90cecc1ab2d6c8e776c6a540b38\",\"dweb:/ipfs/QmSD5qeusuuDez5xqZsidRri9by8Azfx9eSkiLtC9skicb\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V1/interfaces/IGalaxyMemberV1.sol":{"IGalaxyMemberV1":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"name":"ERC5805FutureLookup","type":"error"},{"inputs":[],"name":"ERC6372InconsistentClock","type":"error"},{"inputs":[],"name":"ERC721EnumerableForbiddenBatchMint","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"ERC721OutOfBoundsIndex","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"B3TRtoUpgradeToLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"B3trGovernorAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newBaseURI","type":"string"},{"indexed":true,"internalType":"string","name":"oldBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"MaxLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PublicMintingPaused","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":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Selected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"SelectedLevel","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsGovernorAddressUpdated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"name":"checkpoints","outputs":[{"components":[{"internalType":"uint48","name":"_key","type":"uint48"},{"internalType":"uint208","name":"_value","type":"uint208"}],"internalType":"struct Checkpoints.Checkpoint208","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"freeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRtoUpgrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getB3TRtoUpgradeToLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getHighestLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"xNodeType","type":"uint8"}],"name":"getMaxMintableLevelOfXNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getNextLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastHighestLevel","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":[{"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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"uint256","name":"maxLevel","type":"uint256"},{"internalType":"string","name":"baseTokenURI","type":"string"},{"internalType":"uint256[]","name":"xNodeMaxMintableLevels","type":"uint256[]"},{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"},{"internalType":"address","name":"_b3tr","type":"address"},{"internalType":"address","name":"_treasury","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"levelOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"participatedInGovernance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"selectHighestLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"setB3TRtoUpgradeToLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3trGovernor","type":"address"}],"name":"setB3trGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setMaxLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8[]","name":"maxMintableLevels","type":"uint8[]"}],"name":"setMaxMintableLevels","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xAllocationsGovernor","type":"address"}],"name":"setXAllocationsGovernorAddress","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"upgrade","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":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"xAllocationsGovernor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_LEVEL()":"a49062d4","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approve(address,uint256)":"095ea7b3","b3tr()":"582a486a","b3trGovernor()":"7893d736","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","checkpoints(address,uint32)":"f1127ed8","clock()":"91ddadf4","freeMint()":"5b70ea9f","getApproved(uint256)":"081812fc","getB3TRtoUpgrade(uint256)":"a51d2e0b","getB3TRtoUpgradeToLevel(uint256)":"2b42df38","getHighestLevel(address)":"860f22e6","getMaxMintableLevelOfXNode(uint8)":"d45417f4","getNextLevel(uint256)":"32611869","getPastHighestLevel(address,uint256)":"d325d4ed","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(string,string,address,address,uint256,string,uint256[],uint256[],address,address)":"d0ca2def","isApprovedForAll(address,address)":"e985e9c5","levelOf(uint256)":"6d5e3032","name()":"06fdde03","numCheckpoints(address)":"6fcfff45","ownerOf(uint256)":"6352211e","participatedInGovernance(address)":"8c5b76fb","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","selectHighestLevel()":"05bca0b0","setApprovalForAll(address,bool)":"a22cb465","setB3TRtoUpgradeToLevel(uint256[])":"b1ccbd2c","setB3trGovernorAddress(address)":"ddd8634d","setBaseURI(string)":"55f804b3","setMaxLevel(uint256)":"344f1ba5","setMaxMintableLevels(uint8[])":"9c7abf28","setXAllocationsGovernorAddress(address)":"3af03ea8","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","treasury()":"61d027b3","unpause()":"3f4ba83a","upgrade(uint256)":"45977d03","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50","xAllocationsGovernor()":"5ecf68e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"B3TRtoUpgradeToLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"B3trGovernorAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"MaxLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PublicMintingPaused\",\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Selected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"SelectedLevel\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsGovernorAddressUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_LEVEL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint48\",\"name\":\"_key\",\"type\":\"uint48\"},{\"internalType\":\"uint208\",\"name\":\"_value\",\"type\":\"uint208\"}],\"internalType\":\"struct Checkpoints.Checkpoint208\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgrade\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgradeToLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getHighestLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"xNodeType\",\"type\":\"uint8\"}],\"name\":\"getMaxMintableLevelOfXNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getNextLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastHighestLevel\",\"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\":[{\"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\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxLevel\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"xNodeMaxMintableLevels\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_b3tr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"levelOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"participatedInGovernance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"selectHighestLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"setB3TRtoUpgradeToLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3trGovernor\",\"type\":\"address\"}],\"name\":\"setB3trGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setMaxLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8[]\",\"name\":\"maxMintableLevels\",\"type\":\"uint8[]\"}],\"name\":\"setMaxMintableLevels\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_xAllocationsGovernor\",\"type\":\"address\"}],\"name\":\"setXAllocationsGovernorAddress\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"upgrade\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsGovernor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V1/interfaces/IGalaxyMemberV1.sol\":\"IGalaxyMemberV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"contracts/deprecated/V1/interfaces/IGalaxyMemberV1.sol\":{\"keccak256\":\"0x0b834a83115fc4939e294a18a1c7ad563d9512268c28719ea42686e0bc8ce8f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cdae7cb778867cdc7724326117897b511246f90cecc1ab2d6c8e776c6a540b38\",\"dweb:/ipfs/QmSD5qeusuuDez5xqZsidRri9by8Azfx9eSkiLtC9skicb\"]}},\"version\":1}"}},"contracts/deprecated/V1/interfaces/INodeManagementV1.sol":{"INodeManagementV1":{"abi":[{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"address","name":"delegatee","type":"address"}],"name":"NodeManagementNodeAlreadyDelegated","type":"error"},{"inputs":[],"name":"NodeManagementNodeNotDelegated","type":"error"},{"inputs":[],"name":"NodeManagementNonNodeHolder","type":"error"},{"inputs":[],"name":"NodeManagementSelfDelegation","type":"error"},{"inputs":[],"name":"NodeManagementZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeId","type":"uint256"},{"indexed":true,"internalType":"address","name":"delegatee","type":"address"},{"indexed":false,"internalType":"bool","name":"delegated","type":"bool"}],"name":"NodeDelegated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VechainNodeContractSet","type":"event"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegateNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getNodeIds","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevel","outputs":[{"internalType":"enum VechainNodesDataTypes.NodeStrengthLevel","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUsersNodeLevels","outputs":[{"internalType":"enum VechainNodesDataTypes.NodeStrengthLevel[]","name":"","type":"uint8[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"vechainNodesContract","type":"address"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"isNodeManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeNodeDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"vechainNodesContract","type":"address"}],"name":"setVechainNodesContract","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"delegateNode(address)":"57409f6a","getNodeIds(address)":"2e4e2531","getNodeLevel(uint256)":"1ceae42f","getNodeManager(uint256)":"9e2c2f3e","getUsersNodeLevels(address)":"d466d80b","initialize(address,address,address)":"c0c53b8b","isNodeManager(address,uint256)":"3258cc2f","removeNodeDelegation()":"09fe15cd","setVechainNodesContract(address)":"0df9dff8"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"NodeManagementNodeAlreadyDelegated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementNodeNotDelegated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementNonNodeHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementSelfDelegation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"delegated\",\"type\":\"bool\"}],\"name\":\"NodeDelegated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VechainNodeContractSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegateNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getNodeIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevel\",\"outputs\":[{\"internalType\":\"enum VechainNodesDataTypes.NodeStrengthLevel\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUsersNodeLevels\",\"outputs\":[{\"internalType\":\"enum VechainNodesDataTypes.NodeStrengthLevel[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vechainNodesContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"isNodeManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removeNodeDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vechainNodesContract\",\"type\":\"address\"}],\"name\":\"setVechainNodesContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"NodeManagementNodeAlreadyDelegated(uint256,address)\":[{\"params\":{\"delegatee\":\"The address of the current delegatee.\",\"nodeId\":\"The ID of the node that is already delegated.\"}}]},\"events\":{\"NodeDelegated(uint256,address,bool)\":{\"params\":{\"delegated\":\"A boolean indicating whether the node is delegated (true) or the delegation is removed (false).\",\"delegatee\":\"The address to which the node is delegated or from which the delegation is removed.\",\"nodeId\":\"The ID of the node being delegated or having its delegation removed.\"}},\"VechainNodeContractSet(address,address)\":{\"details\":\"Emit when the vechain node contract address is set or updated\"}},\"kind\":\"dev\",\"methods\":{\"delegateNode(address)\":{\"params\":{\"delegatee\":\"The address to delegate the node to.\"}},\"getNodeIds(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"uint256 The node ID associated with the user.\"}},\"getNodeLevel(uint256)\":{\"params\":{\"nodeId\":\"The token ID of the endorsing node.\"},\"returns\":{\"_0\":\"VechainNodesDataTypes.NodeStrengthLevel The node level of the specified token ID.\"}},\"getNodeManager(uint256)\":{\"params\":{\"nodeId\":\"The ID of the node for which the manager address is being retrieved.\"},\"returns\":{\"_0\":\"address The address of the manager of the specified node.\"}},\"getUsersNodeLevels(address)\":{\"params\":{\"user\":\"The address of the user managing the node.\"},\"returns\":{\"_0\":\"VechainNodesDataTypes.NodeStrengthLevel The node level of the node managed by the user.\"}},\"initialize(address,address,address)\":{\"params\":{\"admin\":\"The address to be granted the default admin role.\",\"upgrader\":\"The address to be granted the upgrader role.\",\"vechainNodesContract\":\"The address of the VeChain Nodes contract.\"}},\"isNodeManager(address,uint256)\":{\"params\":{\"nodeId\":\"The node ID to check for.\",\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"bool True if the user is holding the node ID and it is a valid node.\"}},\"setVechainNodesContract(address)\":{\"params\":{\"vechainNodesContract\":\"The new address of the VeChain Nodes contract.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"NodeManagementNodeAlreadyDelegated(uint256,address)\":[{\"notice\":\"Error indicating that the node is already delegated to another user.\"}],\"NodeManagementNodeNotDelegated()\":[{\"notice\":\"Error indicating that the node is not currently delegated.\"}],\"NodeManagementNonNodeHolder()\":[{\"notice\":\"Error indicating that the caller does not own a node.\"}],\"NodeManagementSelfDelegation()\":[{\"notice\":\"Error indicating that an address is being set to the zero address.\"}],\"NodeManagementZeroAddress()\":[{\"notice\":\"Error indicating that an address is being set to the zero address.\"}]},\"events\":{\"NodeDelegated(uint256,address,bool)\":{\"notice\":\"Event emitted when a node is delegated or the delegation is removed.\"}},\"kind\":\"user\",\"methods\":{\"delegateNode(address)\":{\"notice\":\"Delegate a node to another address.\"},\"getNodeIds(address)\":{\"notice\":\"Retrieve the node ID associated with a user, either through direct ownership or delegation.\"},\"getNodeLevel(uint256)\":{\"notice\":\"Retrieves the node level of a given node ID.\"},\"getNodeManager(uint256)\":{\"notice\":\"Retrieves the address of the user managing the node ID endorsement either through ownership or delegation.\"},\"getUsersNodeLevels(address)\":{\"notice\":\"Retrieves the node level of a user's managed node.\"},\"initialize(address,address,address)\":{\"notice\":\"Initialize the contract with the specified VeChain Nodes contract, admin, and upgrader addresses.\"},\"isNodeManager(address,uint256)\":{\"notice\":\"Check if a user is holding a specific node ID either directly or through delegation.\"},\"removeNodeDelegation()\":{\"notice\":\"Remove the delegation of a node.\"},\"setVechainNodesContract(address)\":{\"notice\":\"Set the address of the VeChain Nodes contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V1/interfaces/INodeManagementV1.sol\":\"INodeManagementV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/deprecated/V1/interfaces/INodeManagementV1.sol\":{\"keccak256\":\"0x48698e77b7818ce2f405350b2c1fffd2bf803a3b83cba383637bf76c90380dad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92a83121b73461829b09f8be8bed18ccfb280549a908aedfa9f8b930a631ad90\",\"dweb:/ipfs/QmeX7tg4kTjp1EZm4e9vyvJ6LzcUQho3WTSfonNELYk3xW\"]},\"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0x128b934b2b6c3e4530f36e8bd2b08f31cdc6b1248a5bc47c765175c1666109bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dc299d66d1cfb0658ebf2c5fef3852a86a437881a0986070cbc6da7af772bd3\",\"dweb:/ipfs/Qmd3SEURkuqCAopHKGNhnwpvt4ePasBMex6gLuNigogw1Y\"]}},\"version\":1}"}},"contracts/deprecated/V10/B3TRGovernorV10.sol":{"B3TRGovernorV10":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"DelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"gmLevel","type":"uint256"}],"name":"GMLevelAboveMaxLevel","type":"error"},{"inputs":[{"internalType":"uint256","name":"gmLevel","type":"uint256"}],"name":"GMLevelAboveMaxLevel","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernanceSkipWindowNotReached","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorAlreadyQueuedProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"GovernorDepositThresholdNotInRange","type":"error"},{"inputs":[],"name":"GovernorDisabledDeposit","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"votes","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"GovernorInsufficientProposerVotes","type":"error"},{"inputs":[],"name":"GovernorInvalidDepositAmount","type":"error"},{"inputs":[{"internalType":"uint256","name":"targets","type":"uint256"},{"internalType":"uint256","name":"calldatas","type":"uint256"},{"internalType":"uint256","name":"values","type":"uint256"}],"name":"GovernorInvalidProposalLength","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"requiredWeight","type":"uint256"}],"name":"GovernorInvalidProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorInvalidStartRound","type":"error"},{"inputs":[],"name":"GovernorInvalidVoteType","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositer","type":"address"}],"name":"GovernorNoDepositToWithdraw","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNotQueuedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyProposer","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"string","name":"explanation","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[],"name":"GovernorQueueNotImplemented","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"GovernorRestrictedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"}],"name":"GovernorRestrictedProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GranteeCannotDepositOwnGrant","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorDecisionNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegatedToNavigator","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"QueueEmpty","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"UnauthorizedAccess","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThresholdCap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThresholdCap","type":"uint256"}],"name":"DepositThresholdCapSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThreshold","type":"uint256"}],"name":"DepositThresholdSetV2","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"bytes4","name":"functionSelector","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"FunctionWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorGovernanceVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"canceler","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"ProposalCanceledWithReason","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":true,"internalType":"uint256","name":"roundIdVoteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"ProposalCreatedWithType","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalDevelopmentStateReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalInDevelopment","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"etaSeconds","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"withdrawer","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"disabled","type":"bool"}],"name":"QuadraticVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"QuorumNumeratorUpdatedByType","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldRequiredGMLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRequiredGMLevel","type":"uint256"}],"name":"RequiredGMLevelSet","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":"oldTimelock","type":"address"},{"indexed":false,"internalType":"address","name":"newTimelock","type":"address"}],"name":"TimelockChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","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":"oldVeBetterPassport","type":"address"},{"indexed":true,"internalType":"address","name":"newVeBetterPassport","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"power","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"walletAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"deposit","type":"uint256"}],"name":"VotingPowerSeeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSetV2","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROPOSAL_EXECUTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROPOSAL_STATE_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canProposalStartInNextRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"cancel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"citizen","type":"address"}],"name":"castNavigatorVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdCapByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdPercentageByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getActiveProposals","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGalaxyMemberContract","outputs":[{"internalType":"contract IGalaxyMember","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGrantsManagerContract","outputs":[{"internalType":"contract IGrantsManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getQuadraticVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"getRequiredGMLevelByProposalType","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":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getTimelockId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"getUserDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governanceSkipWindowBlocks","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":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"contract INavigatorRegistry","name":"_navigatorRegistry","type":"address"},{"internalType":"contract IRelayerRewardsPool","name":"_relayerRewardsPool","type":"address"},{"internalType":"uint256","name":"_governanceSkipWindowBlocks","type":"uint256"}],"name":"initializeV10","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"name":"isFunctionWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isQuadraticVotingDisabledForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isQuadraticVotingDisabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"markAsCompleted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"markAsInDevelopment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minVotingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"navigatorRegistry","outputs":[{"internalType":"contract INavigatorRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDepositReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDepositThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalNeedsQueuing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalStartRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalTotalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalType","outputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalVotes","outputs":[{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"abstainVotes","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"startRoundId","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"startRoundId","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"internalType":"string","name":"milestonesDetailsMetadataURI","type":"string"}],"name":"proposeGrant","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"quorumByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"quorumNumeratorByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"quorumNumeratorByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"resetDevelopmentState","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":"contract IGalaxyMember","name":"newGalaxyMember","type":"address"}],"name":"setGalaxyMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setGovernanceSkipWindowBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IGrantsManager","name":"newGrantsManager","type":"address"}],"name":"setGrantsManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}],"name":"setIsFunctionRestrictionEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinVotingDelay","type":"uint256"}],"name":"setMinVotingDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract INavigatorRegistry","name":"newNavigatorRegistry","type":"address"}],"name":"setNavigatorRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDepositThresholdCap","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"setProposalTypeDepositThresholdCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDepositThreshold","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"setProposalTypeDepositThresholdPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingThreshold","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"setProposalTypeVotingThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRelayerRewardsPool","name":"newRelayerRewardsPool","type":"address"}],"name":"setRelayerRewardsPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"},{"internalType":"uint256","name":"newGMWeight","type":"uint256"}],"name":"setRequiredGMLevelByProposalType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVeBetterPassport","name":"newVeBetterPassport","type":"address"}],"name":"setVeBetterPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVoterRewards","name":"newVoterRewards","type":"address"}],"name":"setVoterRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"functionSelector","type":"bytes4"},{"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"setWhitelistFunction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"},{"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"setWhitelistFunctions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"newXAllocationVoting","type":"address"}],"name":"setXAllocationVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum GovernorTypesV10.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"timelock","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"timelockSalt","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleQuadraticVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IVOT3","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"updateQuorumNumerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"updateQuorumNumeratorByType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TimelockControllerUpgradeable","name":"newTimelock","type":"address"}],"name":"updateTimelock","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":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"votingThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositor","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"xAllocationVoting","outputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_17601":{"entryPoint":null,"id":17601,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":7797},{"length":20,"start":9506}]},"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol":{"GovernorConfiguratorV10":[{"length":20,"start":5852},{"length":20,"start":6242},{"length":20,"start":7308},{"length":20,"start":7532},{"length":20,"start":8833},{"length":20,"start":8940},{"length":20,"start":10461},{"length":20,"start":10562},{"length":20,"start":10672},{"length":20,"start":10870},{"length":20,"start":11033},{"length":20,"start":11120},{"length":20,"start":11207},{"length":20,"start":12104},{"length":20,"start":12323},{"length":20,"start":12668}]},"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol":{"GovernorDepositLogicV10":[{"length":20,"start":5184},{"length":20,"start":8686},{"length":20,"start":9915},{"length":20,"start":12450}]},"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol":{"GovernorFunctionRestrictionsLogicV10":[{"length":20,"start":7974},{"length":20,"start":9350},{"length":20,"start":11527}]},"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol":{"GovernorProposalLogicV10":[{"length":20,"start":5294},{"length":20,"start":6530},{"length":20,"start":6775},{"length":20,"start":6906},{"length":20,"start":7054},{"length":20,"start":7193},{"length":20,"start":8169},{"length":20,"start":8421},{"length":20,"start":9050},{"length":20,"start":10935},{"length":20,"start":11586},{"length":20,"start":11666},{"length":20,"start":11914},{"length":20,"start":12208}]},"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol":{"GovernorQuorumLogicV10":[{"length":20,"start":5512},{"length":20,"start":5994},{"length":20,"start":6286},{"length":20,"start":7438},{"length":20,"start":8055},{"length":20,"start":8648},{"length":20,"start":9961},{"length":20,"start":12017},{"length":20,"start":12744}]},"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol":{"GovernorStateLogicV10":[{"length":20,"start":7597}]},"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol":{"GovernorVotesLogicV10":[{"length":20,"start":8334},{"length":20,"start":8998},{"length":20,"start":9161},{"length":20,"start":9651},{"length":20,"start":9802},{"length":20,"start":11265},{"length":20,"start":11325}]}},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161534c62000104600039600081816135e901528181613612015261375b015261534c6000f3fe6080604052600436106104fb5760003560e01c806250ea6f14610537578062f714ce14610562578063013b10881461058257806301ffc9a7146105b0578063026865cc146105e057806302a251a314610600578063038f9b651461061557806306f3f9e61461063557806306fdde03146106555780630dd8614c146106775780630eddee3014610697578063143489d0146106b7578063150b7a02146106d7578063160cbed7146107105780631caf3474146107305780631e6b499214610750578063248a9ca3146107705780632656227d146107905780632a09c772146107a35780632d63f693146107d05780632f2ff15d146107f05780633397d78d1461081057806336568abe1461083057806336d23a4c146108505780633d1ac63e146108725780633d47fe94146108925780633e4f49e6146108b25780633f4ba83a146108df578063406ced84146108f457806343859632146109145780634bf5d7e9146109345780634c5ead08146109495780634e055244146109695780634f1ef286146109895780635273e74b1461099c57806352d1902d146109bc578063542d6db5146109d1578063544ffc9c146109f157806354fd4d5014610a2c5780635584c4f914610a575780635678138814610a79578063582a486a14610a9957806358c839bc14610aae5780635c573d4414610ace5780635c975abb14610aee57806360463d6814610b0357806360c4247f14610b235780636b6a070414610b435780636dd139be14610b635780636e8a182314610b83578063726da5fd14610b9857806374a55a5114610bb85780637a4cce6d14610bd85780637b3c71d314610bf857806381ab235314610c1857806381c0d6df14610c2d5780638456cb5914610c4257806388fb07a514610c575780638ced2a1114610c775780638d5a3f6714610c975780638e828cb414610cb757806391d1485414610cd757806391ddadf414610cf7578063952f213314610d2357806397c3d33414610d455780639aeb962b14610d595780639c17e7b314610d79578063a217fddf14610d8e578063a3844e1114610da3578063a45aa31314610db8578063a56b576514610dd8578063a7713a7014610df8578063a832918c14610e0d578063a890c91014610e2d578063a9a9529414610e4d578063ab58fb8e14610e6d578063ad3cb1cc14610e8d578063ae0b8da814610ebe578063b26a950914610ede578063b3c93dab14610efe578063b69d417b14610f1e578063b6e9eff414610f3e578063bc197c8114610f5e578063bd5aefea14610f7e578063be9bd92b14610fa0578063c01f9e3714610fc0578063c0a6026c14610fe0578063c220f2f514611000578063c28bc2fa14611020578063c40ffbf614611033578063c429bd8214611048578063c59057e414611068578063cf09f8bf14611088578063d33219b41461109d578063d4a8dd98146110b2578063d53c74c1146110d2578063d547741f146110f2578063dd4e2ba514611112578063de65f41a14611127578063e09c8d4414611147578063e125f74e14611167578063e205aeb01461117c578063e2bbb15814611191578063e4ec85d4146111b1578063e63ab1e9146111d1578063eb9019d4146111f3578063ee8a948b14611213578063f03a98d514611228578063f23a6e611461123d578063f530108f1461125d578063f744f1191461127d578063f8ce560a1461129d578063fc0c546a146112bd578063fd4fd6e1146112d257600080fd5b3661053257306105096112f4565b6001600160a01b03161461053057604051637485328f60e11b815260040160405180910390fd5b005b600080fd5b34801561054357600080fd5b5061054c611312565b6040516105599190613f4a565b60405180910390f35b34801561056e57600080fd5b5061053061057d366004613f83565b61132e565b34801561058e57600080fd5b506105a261059d3660046141e2565b611399565b604051908152602001610559565b3480156105bc57600080fd5b506105d06105cb3660046142ef565b61142e565b6040519015158152602001610559565b3480156105ec57600080fd5b506105a26105fb366004614319565b611480565b34801561060c57600080fd5b506105a261151f565b34801561062157600080fd5b50610530610630366004614319565b6115ab565b34801561064157600080fd5b50610530610650366004614345565b611637565b34801561066157600080fd5b5061066a611688565b60405161055991906143ae565b34801561068357600080fd5b506105306106923660046143c1565b611729565b3480156106a357600080fd5b506105a26106b23660046143de565b611786565b3480156106c357600080fd5b5061054c6106d2366004614345565b611817565b3480156106e357600080fd5b506106f76106f23660046143f9565b611822565b6040516001600160e01b03199091168152602001610559565b34801561071c57600080fd5b506105a261072b366004614464565b611865565b34801561073c57600080fd5b506105a261074b3660046143de565b6118f8565b34801561075c57600080fd5b5061053061076b366004614345565b611945565b34801561077c57600080fd5b506105a261078b366004614345565b611995565b6105a261079e366004614464565b6119b5565b3480156107af57600080fd5b506107c36107be366004614345565b611a71565b604051610559919061451d565b3480156107dc57600080fd5b506105a26107eb366004614345565b611afc565b3480156107fc57600080fd5b5061053061080b366004613f83565b611b37565b34801561081c57600080fd5b5061053061082b366004614345565b611b59565b34801561083c57600080fd5b5061053061084b366004613f83565b611baa565b34801561085c57600080fd5b506105a260008051602061522f83398151915281565b34801561087e57600080fd5b5061053061088d366004614319565b611be2565b34801561089e57600080fd5b506105306108ad3660046143c1565b611c34565b3480156108be57600080fd5b506108d26108cd366004614345565b611c90565b604051610559919061452b565b3480156108eb57600080fd5b50610530611d1b565b34801561090057600080fd5b5061053061090f366004614545565b611d3e565b34801561092057600080fd5b506105d061092f366004613f83565b611d61565b34801561094057600080fd5b5061066a611d6d565b34801561095557600080fd5b50610530610964366004614588565b611de5565b34801561097557600080fd5b506105a2610984366004613f83565b611e44565b6105306109973660046145a5565b611e50565b3480156109a857600080fd5b506105a26109b7366004614319565b611e6f565b3480156109c857600080fd5b506105a2611e9e565b3480156109dd57600080fd5b506105a26109ec3660046143de565b611ebb565b3480156109fd57600080fd5b50610a11610a0c366004614345565b611ec6565b60408051938452602084019290925290820152606001610559565b348015610a3857600080fd5b50604080518082019091526002815261031360f41b602082015261066a565b348015610a6357600080fd5b50610a6c611ee1565b604051610559919061462f565b348015610a8557600080fd5b506105a2610a94366004614651565b611f54565b348015610aa557600080fd5b5061054c611fac565b348015610aba57600080fd5b506105a2610ac9366004614676565b611fc8565b348015610ada57600080fd5b506105a2610ae9366004614345565b61205f565b348015610afa57600080fd5b506105d0612076565b348015610b0f57600080fd5b506105a2610b1e366004614345565b61208b565b348015610b2f57600080fd5b506105a2610b3e366004614345565b6120ab565b348015610b4f57600080fd5b506105a2610b5e3660046143de565b6120e6565b348015610b6f57600080fd5b506105a2610b7e3660046143de565b612114565b348015610b8f57600080fd5b5061054c612139565b348015610ba457600080fd5b50610530610bb3366004614319565b612155565b348015610bc457600080fd5b506105d0610bd3366004614734565b6121a7565b348015610be457600080fd5b50610530610bf33660046143c1565b6121b3565b348015610c0457600080fd5b506105a2610c133660046147a8565b612210565b348015610c2457600080fd5b506105d0612252565b348015610c3957600080fd5b506105d06122c1565b348015610c4e57600080fd5b5061053061230c565b348015610c6357600080fd5b506105a2610c72366004614345565b61232c565b348015610c8357600080fd5b506105a2610c92366004614345565b612337565b348015610ca357600080fd5b506105d0610cb2366004614345565b612342565b348015610cc357600080fd5b50610530610cd2366004614803565b61234d565b348015610ce357600080fd5b506105d0610cf2366004613f83565b6123e4565b348015610d0357600080fd5b50610d0c61241a565b60405165ffffffffffff9091168152602001610559565b348015610d2f57600080fd5b506105a26000805160206152af83398151915281565b348015610d5157600080fd5b5060646105a2565b348015610d6557600080fd5b506105d0610d743660046143c1565b612489565b348015610d8557600080fd5b50610530612494565b348015610d9a57600080fd5b506105a2600081565b348015610daf57600080fd5b5061054c61250c565b348015610dc457600080fd5b506105d0610dd3366004614345565b61252d565b348015610de457600080fd5b506105a2610df33660046148bf565b6125a5565b348015610e0457600080fd5b506105a26125e1565b348015610e1957600080fd5b50610530610e283660046148dd565b612650565b348015610e3957600080fd5b50610530610e483660046143c1565b61294a565b348015610e5957600080fd5b506105d0610e68366004614345565b61299a565b348015610e7957600080fd5b506105a2610e88366004614345565b6129d5565b348015610e9957600080fd5b5061066a604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610eca57600080fd5b50610530610ed93660046143c1565b6129e0565b348015610eea57600080fd5b50610530610ef9366004614345565b612a3d565b348015610f0a57600080fd5b50610530610f193660046143c1565b612a8e565b348015610f2a57600080fd5b506105a2610f393660046148bf565b612aeb565b348015610f4a57600080fd5b506105a2610f59366004613f83565b612b27565b348015610f6a57600080fd5b506106f7610f7936600461491e565b612b63565b348015610f8a57600080fd5b506105a260008051602061528f83398151915281565b348015610fac57600080fd5b50610530610fbb3660046149cb565b612ba7565b348015610fcc57600080fd5b506105a2610fdb366004614345565b612c25565b348015610fec57600080fd5b50610530610ffb366004614345565b612c60565b34801561100c57600080fd5b506105a261101b366004614345565b612cb0565b61053061102e366004614a14565b612cbb565b34801561103f57600080fd5b506105a2612d43565b34801561105457600080fd5b50610530611063366004614345565b612d58565b34801561107457600080fd5b506105a2611083366004614464565b612da8565b34801561109457600080fd5b5061054c612db6565b3480156110a957600080fd5b5061054c6112f4565b3480156110be57600080fd5b506105d06110cd366004614345565b612dd4565b3480156110de57600080fd5b506105306110ed3660046143c1565b612e0f565b3480156110fe57600080fd5b5061053061110d366004613f83565b612e6c565b34801561111e57600080fd5b5061066a612e88565b34801561113357600080fd5b506105a2611142366004614a57565b612ea8565b34801561115357600080fd5b50610530611162366004614319565b612ef7565b34801561117357600080fd5b5061054c612f49565b34801561118857600080fd5b5061054c612f65565b34801561119d57600080fd5b506105306111ac366004614af3565b612f81565b3480156111bd57600080fd5b506105a26111cc3660046143de565b612fc0565b3480156111dd57600080fd5b506105a260008051602061526f83398151915281565b3480156111ff57600080fd5b506105a261120e3660046148bf565b612fcb565b34801561121f57600080fd5b506105a2612fd7565b34801561123457600080fd5b5061054c612fe1565b34801561124957600080fd5b506106f7611258366004614b15565b612fff565b34801561126957600080fd5b506105306112783660046143c1565b613043565b34801561128957600080fd5b506105a2611298366004614345565b6130a0565b3480156112a957600080fd5b506105a26112b8366004614345565b6130ab565b3480156112c957600080fd5b5061054c6130e6565b3480156112de57600080fd5b506105a26000805160206152cf83398151915281565b6000806112ff613104565b600601546001600160a01b031692915050565b600061131c613104565b601401546001600160a01b0316919050565b604051627b8a6760e11b815273__$b120a5f1e2b0a55cb147ab44c2e1a92bdc$__9062f714ce906113659085908590600401614b7d565b60006040518083038186803b15801561137d57600080fd5b505af4158015611391573d6000803e3d6000fd5b505050505050565b6040516227621160e31b815260009073__$794ae75e1cde9531146241b4f1c64ef82b$__9063013b1088906113e0908c908c908c908c908c908c908c908c90600401614c22565b602060405180830381865af41580156113fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114219190614cb2565b9998505050505050505050565b60006001600160e01b03198216631f9dd3c160e31b148061145f57506001600160e01b03198216630271189760e51b145b8061147a57506001600160e01b031982166301ffc9a760e01b145b92915050565b600073__$2a637f59ddd580e94bd3c4d74cd6371dde$__63026865cc848460018111156114af576114af6144f3565b6040516001600160e01b031960e085901b168152600481019290925260ff1660248201526044015b602060405180830381865af41580156114f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115189190614cb2565b9392505050565b60008061152a613104565b905080600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a59190614cb2565b91505090565b60006115b781336123e4565b6115c9576115c9335b60003630613128565b604051631f6613a560e11b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90633ecc274a906116029085908790600401614ccb565b60006040518083038186803b15801561161a57600080fd5b505af415801561162e573d6000803e3d6000fd5b50505050505050565b600061164381336123e4565b61165057611650336115c0565b604051630379fcf360e11b81526004810183905273__$2a637f59ddd580e94bd3c4d74cd6371dde$__906306f3f9e690602401611365565b60606000611694613104565b90508060000180546116a590614ce6565b80601f01602080910402602001604051908101604052809291908181526020018280546116d190614ce6565b801561171e5780601f106116f35761010080835404028352916020019161171e565b820191906000526020600020905b81548152906001019060200180831161170157829003601f168201915b505050505091505090565b6000805160206152af83398151915261174281336123e4565b61174f5761174f336115c0565b604051630e0bea3b60e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063382fa8ec90611365908590600401613f4a565b600073__$2a637f59ddd580e94bd3c4d74cd6371dde$__630eddee308360018111156117b4576117b46144f3565b6040516001600160e01b031960e084901b16815260ff90911660048201526024015b602060405180830381865af41580156117f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147a9190614cb2565b600061147a826131c6565b60003061182d6112f4565b6001600160a01b03161461185457604051637485328f60e11b815260040160405180910390fd5b50630a85bd0160e11b949350505050565b600061186f6131ef565b6040516301957cc760e01b815273__$794ae75e1cde9531146241b4f1c64ef82b$__906301957cc7906118ae9030908990899089908990600401614d20565b602060405180830381865af41580156118cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ef9190614cb2565b95945050505050565b600080611903613104565b905080601701600084600181111561191d5761191d6144f3565b600181111561192e5761192e6144f3565b815260200190815260200160002054915050919050565b6000805160206152cf83398151915261195d81613217565b604051630f35a4c960e11b81526004810183905273__$794ae75e1cde9531146241b4f1c64ef82b$__90631e6b499290602401611365565b6000806119a0613221565b60009384526020525050604090206001015490565b60006119bf6131ef565b60008051602061522f8339815191526119d98160006123e4565b6119e7576119e78133613245565b60405163fcadd1f760e01b815273__$794ae75e1cde9531146241b4f1c64ef82b$__9063fcadd1f790611a269030908a908a908a908a90600401614d20565b602060405180830381865af4158015611a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a679190614cb2565b9695505050505050565b604051631504e3b960e11b81526004810182905260009073__$794ae75e1cde9531146241b4f1c64ef82b$__90632a09c77290602401602060405180830381865af4158015611ac4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae89190614d7d565b60ff16600181111561147a5761147a6144f3565b604051632d63f69360e01b81526004810182905260009073__$794ae75e1cde9531146241b4f1c64ef82b$__90632d63f693906024016117d6565b611b4082611995565b611b4981613217565b611b538383613270565b50505050565b6000611b6581336123e4565b611b7257611b72336115c0565b604051633397d78d60e01b81526004810183905273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90633397d78d90602401611365565b6001600160a01b0381163314611bd35760405163334bd91960e11b815260040160405180910390fd5b611bdd8282613311565b505050565b6000611bee81336123e4565b611bfb57611bfb336115c0565b6040516339081f6d60e21b815273__$2a637f59ddd580e94bd3c4d74cd6371dde$__9063e4207db4906116029086908690600401614d9a565b6000805160206152af833981519152611c4d81336123e4565b611c5a57611c5a336115c0565b6040516241c19d60e91b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__906383833a0090611365908590600401613f4a565b604051631f27a4f360e11b81526004810182905260009073__$207bec2875e0d2be7e7dc6b13ffe244a5c$__90633e4f49e690602401602060405180830381865af4158015611ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d079190614d7d565b60ff16600981111561147a5761147a6144f3565b60008051602061526f833981519152611d3381613217565b611d3b613389565b50565b6000611d4a81336123e4565b611d5757611d57336115c0565b611bdd83836133e0565b6000611518838361356b565b606073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865af4158015611db8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611de09190810190614dae565b905090565b60008051602061528f833981519152611dfe81336123e4565b611e0b57611e0b336115c0565b60405163098bd5a160e31b8152821515600482015273__$83164be2dfaf52e21db6ac3844d2b808f3$__90634c5ead0890602401611365565b600061151883836135a8565b611e586135de565b611e6182613683565b611e6b828261369c565b5050565b600073__$2a637f59ddd580e94bd3c4d74cd6371dde$__635273e74b848460018111156114af576114af6144f3565b6000611ea8613750565b5060008051602061524f83398151915290565b600061147a82613799565b6000806000611ed4846137e3565b9250925092509193909250565b606073__$794ae75e1cde9531146241b4f1c64ef82b$__635584c4f96040518163ffffffff1660e01b8152600401600060405180830381865af4158015611f2c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611de09190810190614e1b565b604051630dd063f960e41b81526004810183905233602482015260ff82166044820152608060648201526000608482018190529073__$488b07e7734b5cb602fa0effc08547da0a$__9063dd063f909060a4016114d7565b6000611fb6613104565b600b01546001600160a01b0316919050565b6000611fd26131ef565b6040516316320e6f60e21b815273__$794ae75e1cde9531146241b4f1c64ef82b$__906358c839bc90612013908a908a908a908a908a908a90600401614ea0565b602060405180830381865af4158015612030573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120549190614cb2565b979650505050505050565b60006001600160601b03193060601b16821861147a565b600080612081613819565b5460ff1692915050565b600080612096613104565b60009384526011016020525050604090205490565b6040516360c4247f60e01b81526004810182905260009073__$2a637f59ddd580e94bd3c4d74cd6371dde$__906360c4247f906024016117d6565b600073__$b120a5f1e2b0a55cb147ab44c2e1a92bdc$__636b6a07048360018111156117b4576117b46144f3565b60008061211f613104565b905080601c01600084600181111561191d5761191d6144f3565b6000612143613104565b602001546001600160a01b0316919050565b600061216181336123e4565b61216e5761216e336115c0565b604051639eb587e960e01b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90639eb587e9906116029085908790600401614ccb565b6000611518838361383d565b6000805160206152af8339815191526121cc81336123e4565b6121d9576121d9336115c0565b60405163358e7d9760e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063d639f65c90611365908590600401613f4a565b604051630dd063f960e41b815260009073__$488b07e7734b5cb602fa0effc08547da0a$__9063dd063f90906118ae9088903390899089908990600401614f03565b600073__$794ae75e1cde9531146241b4f1c64ef82b$__6381ab23536040518163ffffffff1660e01b8152600401602060405180830381865af415801561229d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de09190614f54565b600073__$488b07e7734b5cb602fa0effc08547da0a$__6381c0d6df6040518163ffffffff1660e01b8152600401602060405180830381865af415801561229d573d6000803e3d6000fd5b60008051602061526f83398151915261232481613217565b611d3b613885565b600061147a826138cc565b600061147a826138ef565b600061147a82613916565b60008051602061528f83398151915261236681336123e4565b61237357612373336115c0565b6040516323a0a32d60e21b815273__$83164be2dfaf52e21db6ac3844d2b808f3$__90638e828cb4906123ae90879087908790600401614f71565b60006040518083038186803b1580156123c657600080fd5b505af41580156123da573d6000803e3d6000fd5b5050505050505050565b6000806123ef613221565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612465573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de09190614fdc565b600061147a82613942565b60006124a081336123e4565b6124ad576124ad336115c0565b73__$488b07e7734b5cb602fa0effc08547da0a$__639c17e7b36040518163ffffffff1660e01b815260040160006040518083038186803b1580156124f157600080fd5b505af4158015612505573d6000803e3d6000fd5b5050505050565b6000612516613104565b6009015461010090046001600160a01b0316919050565b60405163a45aa31360e01b81526004810182905260009073__$488b07e7734b5cb602fa0effc08547da0a$__9063a45aa313906024015b602060405180830381865af4158015612581573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147a9190614f54565b60405163a56b576560e01b815260009073__$b120a5f1e2b0a55cb147ab44c2e1a92bdc$__9063a56b5765906114d79086908690600401615004565b600073__$2a637f59ddd580e94bd3c4d74cd6371dde$__63a7713a706040518163ffffffff1660e01b8152600401602060405180830381865af415801561262c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de09190614cb2565b600061265c81336123e4565b61266957612669336115c0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460089190600160401b900460ff16806126b2575080546001600160401b03808416911610155b156126d05760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b03861661275e5760405162461bcd60e51b815260206004820152602b60248201527f42335452476f7665726e6f725631303a20696e76616c6964206e61766967617460448201526a6f7220726567697374727960a81b60648201526084015b60405180910390fd5b6001600160a01b0385166127ca5760405162461bcd60e51b815260206004820152602d60248201527f42335452476f7665726e6f725631303a20696e76616c69642072656c6179657260448201526c081c995dd85c991cc81c1bdbdb609a1b6064820152608401612755565b60405163ce396b1f60e01b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063ce396b1f90612801908990600401613f4a565b60006040518083038186803b15801561281957600080fd5b505af415801561282d573d6000803e3d6000fd5b5050604051630e0bea3b60e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__925063382fa8ec9150612868908890600401613f4a565b60006040518083038186803b15801561288057600080fd5b505af4158015612894573d6000803e3d6000fd5b5050604051633397d78d60e01b81526004810187905273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9250633397d78d915060240160006040518083038186803b1580156128e357600080fd5b505af41580156128f7573d6000803e3d6000fd5b5050825460ff60401b1916835550506040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b600061295681336123e4565b61296357612963336115c0565b604051632cae129d60e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063b2b84a7490611365908590600401613f4a565b604051632a6a54a560e21b81526004810182905260009073__$794ae75e1cde9531146241b4f1c64ef82b$__9063a9a9529490602401612564565b600061147a82613972565b6000805160206152af8339815191526129f981336123e4565b612a0657612a06336115c0565b6040516327a4ecdd60e11b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90634f49d9ba90611365908590600401613f4a565b6000612a4981336123e4565b612a5657612a56336115c0565b60405163b26a950960e01b81526004810183905273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063b26a950990602401611365565b6000805160206152af833981519152612aa781336123e4565b612ab457612ab4336115c0565b604051634784a11360e01b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90634784a11390611365908590600401613f4a565b60405163b69d417b60e01b815260009073__$488b07e7734b5cb602fa0effc08547da0a$__9063b69d417b906114d79086908690600401615004565b604051632dba7bfd60e21b815260009073__$488b07e7734b5cb602fa0effc08547da0a$__9063b6e9eff4906114d79086908690600401614b7d565b600030612b6e6112f4565b6001600160a01b031614612b9557604051637485328f60e11b815260040160405180910390fd5b5063bc197c8160e01b95945050505050565b60008051602061528f833981519152612bc081336123e4565b612bcd57612bcd336115c0565b60405163be9bd92b60e01b81526001600160a01b03851660048201526001600160e01b031984166024820152821515604482015273__$83164be2dfaf52e21db6ac3844d2b808f3$__9063be9bd92b906064016123ae565b60405163c01f9e3760e01b81526004810182905260009073__$794ae75e1cde9531146241b4f1c64ef82b$__9063c01f9e37906024016117d6565b6000805160206152cf833981519152612c7881613217565b604051633029809b60e21b81526004810183905273__$794ae75e1cde9531146241b4f1c64ef82b$__9063c0a6026c90602401611365565b600061147a826139a4565b6000612cc781336123e4565b612cd457612cd4336115c0565b600080866001600160a01b0316868686604051612cf292919061501d565b60006040518083038185875af1925050503d8060008114612d2f576040519150601f19603f3d011682016040523d82523d6000602084013e612d34565b606091505b50915091506123da82826139c7565b600080612d4e613104565b6004015492915050565b6000805160206152cf833981519152612d7081613217565b604051636214dec160e11b81526004810183905273__$794ae75e1cde9531146241b4f1c64ef82b$__9063c429bd8290602401611365565b60006118ef858585856139e3565b600080612dc1613104565b601a01546001600160a01b031692915050565b604051639079991f60e01b81526004810182905260009073__$2a637f59ddd580e94bd3c4d74cd6371dde$__90639079991f90602401612564565b6000805160206152af833981519152612e2881336123e4565b612e3557612e35336115c0565b60405163697772a560e11b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063d2eee54a90611365908590600401613f4a565b612e7582611995565b612e7e81613217565b611b538383613311565b60606040518060600160405280602881526020016152ef60289139905090565b600073__$794ae75e1cde9531146241b4f1c64ef82b$__63badecd7633612ed06000336123e4565b89898989896040518863ffffffff1660e01b8152600401611a26979695949392919061502d565b6000612f0381336123e4565b612f1057612f10336115c0565b604051632d2acd0b60e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063b4ab342c906116029085908790600401614ccb565b6000612f53613104565b601f01546001600160a01b0316919050565b6000612f6f613104565b600a01546001600160a01b0316919050565b604051631c57762b60e31b8152600481018390526024810182905273__$b120a5f1e2b0a55cb147ab44c2e1a92bdc$__9063e2bbb15890604401611365565b600061147a82613a1d565b60006115188383613a67565b6000611de0613c8c565b600080612fec613104565b601b01546001600160a01b031692915050565b60003061300a6112f4565b6001600160a01b03161461303157604051637485328f60e11b815260040160405180910390fd5b5063f23a6e6160e01b95945050505050565b6000805160206152af83398151915261305c81336123e4565b61306957613069336115c0565b60405163ce396b1f60e01b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063ce396b1f90611365908590600401613f4a565b600061147a82613c9f565b604051637c672b0560e11b81526004810182905260009073__$2a637f59ddd580e94bd3c4d74cd6371dde$__9063f8ce560a906024016117d6565b6000806130f1613104565b600c01546001600160a01b031692915050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b6000613132613104565b9050846001600160a01b03166131466112f4565b6001600160a01b03161461316f57846040516347096e4760e01b81526004016127559190613f4a565b816001600160a01b03166131816112f4565b6001600160a01b03161461250557600084846040516131a192919061501d565b604051809103902090505b806131b983600201613cbf565b036131ac57505050505050565b6000806131d1613104565b6000938452600101602052505060409020546001600160a01b031690565b6131f7612076565b156132155760405163d93c066560e01b815260040160405180910390fd5b565b611d3b8133613245565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b61324f82826123e4565b611e6b57808260405163e2517d3f60e01b8152600401612755929190615004565b60008061327b613221565b905061328784846123e4565b613307576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556132bd3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505061147a565b600091505061147a565b60008061331c613221565b905061332884846123e4565b15613307576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505061147a565b613391613d34565b600061339b613819565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516133d59190613f4a565b60405180910390a150565b60006133ea613104565b9050600081601b0160009054906101000a90046001600160a01b03166001600160a01b031663a49062d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015613443573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134679190614cb2565b9050600082601c016000866001811115613483576134836144f3565b6001811115613494576134946144f3565b81526020019081526020016000205490506134ae85613d59565b6134ca5760405162461bcd60e51b8152600401612755906150a7565b818411156134ee57604051637780647f60e11b815260048101859052602401612755565b7fb1b75318956f66fa2b8b148bc3b2520c6e22133a50ac6069d38f97ed462b487a858286604051613521939291906150f5565b60405180910390a18383601c016000876001811115613542576135426144f3565b6001811115613553576135536144f3565b81526020810191909152604001600020555050505050565b600080613576613104565b6000948552600f01602090815260408086206001600160a01b0395909516865260039094019052505090205460ff1690565b6000806135b3613104565b6000948552600d01602090815260408086206001600160a01b03959095168652939052505090205490565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061366557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661365960008051602061524f833981519152546001600160a01b031690565b6001600160a01b031614155b156132155760405163703e46dd60e11b815260040160405180910390fd5b600061368f81336123e4565b611e6b57611e6b336115c0565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156136f6575060408051601f3d908101601f191682019092526136f391810190614cb2565b60015b6137155781604051634c9c8ce360e01b81526004016127559190613f4a565b60008051602061524f833981519152811461374657604051632a87526960e21b815260048101829052602401612755565b611bdd8383613d90565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146132155760405163703e46dd60e11b815260040160405180910390fd5b6000806137a4613104565b90506137af83613d59565b6137cb5760405162461bcd60e51b8152600401612755906150a7565b80601601600084600181111561191d5761191d6144f3565b6000806000806137f1613104565b6000958652600f01602052505060409092208054600182015460029092015490949193509150565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b600080613848613104565b6001600160a01b03851660009081526008909101602090815260408083206001600160e01b03198716845290915290205460ff1691505092915050565b61388d6131ef565b6000613897613819565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586133c83390565b6000806138d7613104565b60009384526001016020525050604090206004015490565b6000806138fa613104565b6000938452600190810160205260409093209092015492915050565b600080613921613104565b60009384526001016020525050604090206004810154600390910154101590565b60008061394d613104565b6001600160a01b03909316600090815260109093016020525050604090205460ff1690565b60008061397d613104565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b6000806139af613104565b60009384526001016020525050604090206003015490565b6060826139dc576139d782613de6565b61147a565b508061147a565b6000848484846040516020016139fc9493929190615114565b60408051601f19818403018152919052805160209091012095945050505050565b600080613a28613104565b9050613a3383613d59565b613a4f5760405162461bcd60e51b8152600401612755906150a7565b80601901600084600181111561191d5761191d6144f3565b600080613a72613104565b600c810154604051630748d63560e31b81529192506000916001600160a01b0390911690633a46b1a890613aac9088908890600401615004565b602060405180830381865afa158015613ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aed9190614cb2565b601f8301549091506001600160a01b0316613b0b57915061147a9050565b601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990613b409089908990600401615004565b602060405180830381865afa158015613b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b8191906151d4565b6001600160a01b031614613c0d57601f82015460405163c61c06e760e01b81526001600160a01b039091169063c61c06e790613bc39088908890600401615004565b602060405180830381865afa158015613be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c049190614cb2565b9250505061147a565b601f82015460405163094f6f2960e21b81526001600160a01b039091169063253dbca490613c419088908890600401615004565b602060405180830381865afa158015613c5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c829190614cb2565b6118ef90826151f1565b6000613c96613104565b60220154905090565b600080613caa613104565b60009384526007016020525050604090205490565b80546000906001600160801b0380821691600160801b9004168103613cf7576040516375e52f4f60e01b815260040160405180910390fd5b6001600160801b038181166000908152600185810160205260408220805492905585546001600160801b0319169301909116919091179092555090565b613d3c612076565b61321557604051638dfc202b60e01b815260040160405180910390fd5b600080826001811115613d6e57613d6e6144f3565b148061147a57506001826001811115613d8957613d896144f3565b1492915050565b613d9982613e0f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613dde57611bdd8282613e6b565b611e6b613ed8565b805115613df65780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b806001600160a01b03163b600003613e3c5780604051634c9c8ce360e01b81526004016127559190613f4a565b60008051602061524f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613e889190615212565b600060405180830381855af49150503d8060008114613ec3576040519150601f19603f3d011682016040523d82523d6000602084013e613ec8565b606091505b50915091506118ef858383613ef7565b34156132155760405163b398979f60e01b815260040160405180910390fd5b606082613f0c57613f0782613de6565b611518565b8151158015613f2357506001600160a01b0384163b155b15613f435783604051639996b31560e01b81526004016127559190613f4a565b5092915050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114611d3b57600080fd5b8035613f7e81613f5e565b919050565b60008060408385031215613f9657600080fd5b823591506020830135613fa881613f5e565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613ff157613ff1613fb3565b604052919050565b60006001600160401b0382111561401257614012613fb3565b5060051b60200190565b600082601f83011261402d57600080fd5b8135602061404261403d83613ff9565b613fc9565b82815260059290921b8401810191818101908684111561406157600080fd5b8286015b8481101561408557803561407881613f5e565b8352918301918301614065565b509695505050505050565b600082601f8301126140a157600080fd5b813560206140b161403d83613ff9565b82815260059290921b840181019181810190868411156140d057600080fd5b8286015b8481101561408557803583529183019183016140d4565b60006001600160401b0382111561410457614104613fb3565b50601f01601f191660200190565b600082601f83011261412357600080fd5b813561413161403d826140eb565b81815284602083860101111561414657600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261417457600080fd5b8135602061418461403d83613ff9565b82815260059290921b840181019181810190868411156141a357600080fd5b8286015b848110156140855780356001600160401b038111156141c65760008081fd5b6141d48986838b0101614112565b8452509183019183016141a7565b600080600080600080600080610100898b0312156141ff57600080fd5b88356001600160401b038082111561421657600080fd5b6142228c838d0161401c565b995060208b013591508082111561423857600080fd5b6142448c838d01614090565b985060408b013591508082111561425a57600080fd5b6142668c838d01614163565b975060608b013591508082111561427c57600080fd5b6142888c838d01614112565b965060808b0135955060a08b013594506142a460c08c01613f73565b935060e08b01359150808211156142ba57600080fd5b506142c78b828c01614112565b9150509295985092959890939650565b80356001600160e01b031981168114613f7e57600080fd5b60006020828403121561430157600080fd5b611518826142d7565b803560028110613f7e57600080fd5b6000806040838503121561432c57600080fd5b8235915061433c6020840161430a565b90509250929050565b60006020828403121561435757600080fd5b5035919050565b60005b83811015614379578181015183820152602001614361565b50506000910152565b6000815180845261439a81602086016020860161435e565b601f01601f19169290920160200192915050565b6020815260006115186020830184614382565b6000602082840312156143d357600080fd5b813561151881613f5e565b6000602082840312156143f057600080fd5b6115188261430a565b6000806000806080858703121561440f57600080fd5b843561441a81613f5e565b9350602085013561442a81613f5e565b92506040850135915060608501356001600160401b0381111561444c57600080fd5b61445887828801614112565b91505092959194509250565b6000806000806080858703121561447a57600080fd5b84356001600160401b038082111561449157600080fd5b61449d8883890161401c565b955060208701359150808211156144b357600080fd5b6144bf88838901614090565b945060408701359150808211156144d557600080fd5b506144e287828801614163565b949793965093946060013593505050565b634e487b7160e01b600052602160045260246000fd5b60028110614519576145196144f3565b9052565b6020810161147a8284614509565b60208101600a831061453f5761453f6144f3565b91905290565b6000806040838503121561455857600080fd5b6145618361430a565b946020939093013593505050565b8015158114611d3b57600080fd5b8035613f7e8161456f565b60006020828403121561459a57600080fd5b81356115188161456f565b600080604083850312156145b857600080fd5b82356145c381613f5e565b915060208301356001600160401b038111156145de57600080fd5b6145ea85828601614112565b9150509250929050565b600081518084526020808501945080840160005b8381101561462457815187529582019590820190600101614608565b509495945050505050565b60208152600061151860208301846145f4565b60ff81168114611d3b57600080fd5b6000806040838503121561466457600080fd5b823591506020830135613fa881614642565b60008060008060008060c0878903121561468f57600080fd5b86356001600160401b03808211156146a657600080fd5b6146b28a838b0161401c565b975060208901359150808211156146c857600080fd5b6146d48a838b01614090565b965060408901359150808211156146ea57600080fd5b6146f68a838b01614163565b9550606089013591508082111561470c57600080fd5b5061471989828a01614112565b9350506080870135915060a087013590509295509295509295565b6000806040838503121561474757600080fd5b823561475281613f5e565b915061433c602084016142d7565b60008083601f84011261477257600080fd5b5081356001600160401b0381111561478957600080fd5b6020830191508360208285010111156147a157600080fd5b9250929050565b600080600080606085870312156147be57600080fd5b8435935060208501356147d081614642565b925060408501356001600160401b038111156147eb57600080fd5b6147f787828801614760565b95989497509550505050565b60008060006060848603121561481857600080fd5b833561482381613f5e565b92506020848101356001600160401b0381111561483f57600080fd5b8501601f8101871361485057600080fd5b803561485e61403d82613ff9565b81815260059190911b8201830190838101908983111561487d57600080fd5b928401925b828410156148a257614893846142d7565b82529284019290840190614882565b80965050505050506148b66040850161457d565b90509250925092565b600080604083850312156148d257600080fd5b823561456181613f5e565b6000806000606084860312156148f257600080fd5b83356148fd81613f5e565b9250602084013561490d81613f5e565b929592945050506040919091013590565b600080600080600060a0868803121561493657600080fd5b853561494181613f5e565b9450602086013561495181613f5e565b935060408601356001600160401b038082111561496d57600080fd5b61497989838a01614090565b9450606088013591508082111561498f57600080fd5b61499b89838a01614090565b935060808801359150808211156149b157600080fd5b506149be88828901614112565b9150509295509295909350565b6000806000606084860312156149e057600080fd5b83356149eb81613f5e565b92506149f9602085016142d7565b91506040840135614a098161456f565b809150509250925092565b60008060008060608587031215614a2a57600080fd5b8435614a3581613f5e565b93506020850135925060408501356001600160401b038111156147eb57600080fd5b600080600080600060a08688031215614a6f57600080fd5b85356001600160401b0380821115614a8657600080fd5b614a9289838a0161401c565b96506020880135915080821115614aa857600080fd5b614ab489838a01614090565b95506040880135915080821115614aca57600080fd5b614ad689838a01614163565b94506060880135935060808801359150808211156149b157600080fd5b60008060408385031215614b0657600080fd5b50508035926020909101359150565b600080600080600060a08688031215614b2d57600080fd5b8535614b3881613f5e565b94506020860135614b4881613f5e565b9350604086013592506060860135915060808601356001600160401b03811115614b7157600080fd5b6149be88828901614112565b9182526001600160a01b0316602082015260400190565b600081518084526020808501945080840160005b838110156146245781516001600160a01b031687529582019590820190600101614ba8565b600081518084526020808501808196508360051b8101915082860160005b85811015614c15578284038952614c03848351614382565b98850198935090840190600101614beb565b5091979650505050505050565b6000610100808352614c368184018c614b94565b90508281036020840152614c4a818b6145f4565b90508281036040840152614c5e818a614bcd565b90508281036060840152614c728189614382565b6080840188905260a084018790526001600160a01b03861660c085015283810360e08501529050614ca38185614382565b9b9a5050505050505050505050565b600060208284031215614cc457600080fd5b5051919050565b60408101614cd98285614509565b8260208301529392505050565b600181811c90821680614cfa57607f821691505b602082108103614d1a57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038616815260a060208201819052600090614d4490830187614b94565b8281036040840152614d5681876145f4565b90508281036060840152614d6a8186614bcd565b9150508260808301529695505050505050565b600060208284031215614d8f57600080fd5b815161151881614642565b828152604081016115186020830184614509565b600060208284031215614dc057600080fd5b81516001600160401b03811115614dd657600080fd5b8201601f81018413614de757600080fd5b8051614df561403d826140eb565b818152856020838501011115614e0a57600080fd5b6118ef82602083016020860161435e565b60006020808385031215614e2e57600080fd5b82516001600160401b03811115614e4457600080fd5b8301601f81018513614e5557600080fd5b8051614e6361403d82613ff9565b81815260059190911b82018301908381019087831115614e8257600080fd5b928401925b8284101561205457835182529284019290840190614e87565b60c081526000614eb360c0830189614b94565b8281036020840152614ec581896145f4565b90508281036040840152614ed98188614bcd565b90508281036060840152614eed8187614382565b6080840195909552505060a00152949350505050565b8581526001600160a01b038516602082015260ff841660408201526080606082018190528101829052818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b600060208284031215614f6657600080fd5b81516115188161456f565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b81811015614fc45784516001600160e01b03191683529383019391830191600101614f9e565b50508093505050508215156040830152949350505050565b600060208284031215614fee57600080fd5b815165ffffffffffff8116811461151857600080fd5b6001600160a01b03929092168252602082015260400190565b8183823760009101908152919050565b6001600160a01b0388168152861515602082015260e06040820181905260009061505990830188614b94565b828103606084015261506b81886145f4565b9050828103608084015261507f8187614bcd565b90508460a084015282810360c08401526150998185614382565b9a9950505050505050505050565b6020808252602e908201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460408201526d2070726f706f73616c207479706560901b606082015260800190565b606081016151038286614509565b602082019390935260400152919050565b6080808252855190820181905260009060209060a0840190828901845b828110156151565781516001600160a01b031684529284019290840190600101615131565b5050508381038285015261516a81886145f4565b905083810360408501528086518083528383019150838160051b84010184890160005b838110156151bb57601f198684030185526151a9838351614382565b9487019492509086019060010161518d565b5050809550505050505082606083015295945050505050565b6000602082840312156151e657600080fd5b815161151881613f5e565b8082018082111561147a57634e487b7160e01b600052601160045260246000fd5b6000825161522481846020870161435e565b919091019291505056fe6575630003027b0b2fc4a48bc39dbc3eba9cf56588c696a6f5717e167a0ce731360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a87e72189a3ea069796dab5c7d3826581f957cb5c882c1e6dae7acacec49ca48e56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7320cc91c16c42272679cab4152f867e0cd4a98f53556da2d53b4e515be8c7796737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e2c616761696e7374a264697066735822122004ed3978b09f43d3dddd9d3245d16b3f4d602f115d8ba86e6d167f6176d093f264736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x534C PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x35E9 ADD MSTORE DUP2 DUP2 PUSH2 0x3612 ADD MSTORE PUSH2 0x375B ADD MSTORE PUSH2 0x534C PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4FB JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x50EA6F EQ PUSH2 0x537 JUMPI DUP1 PUSH3 0xF714CE EQ PUSH2 0x562 JUMPI DUP1 PUSH4 0x13B1088 EQ PUSH2 0x582 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x5B0 JUMPI DUP1 PUSH4 0x26865CC EQ PUSH2 0x5E0 JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x600 JUMPI DUP1 PUSH4 0x38F9B65 EQ PUSH2 0x615 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x635 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x655 JUMPI DUP1 PUSH4 0xDD8614C EQ PUSH2 0x677 JUMPI DUP1 PUSH4 0xEDDEE30 EQ PUSH2 0x697 JUMPI DUP1 PUSH4 0x143489D0 EQ PUSH2 0x6B7 JUMPI DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x6D7 JUMPI DUP1 PUSH4 0x160CBED7 EQ PUSH2 0x710 JUMPI DUP1 PUSH4 0x1CAF3474 EQ PUSH2 0x730 JUMPI DUP1 PUSH4 0x1E6B4992 EQ PUSH2 0x750 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x770 JUMPI DUP1 PUSH4 0x2656227D EQ PUSH2 0x790 JUMPI DUP1 PUSH4 0x2A09C772 EQ PUSH2 0x7A3 JUMPI DUP1 PUSH4 0x2D63F693 EQ PUSH2 0x7D0 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x7F0 JUMPI DUP1 PUSH4 0x3397D78D EQ PUSH2 0x810 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x830 JUMPI DUP1 PUSH4 0x36D23A4C EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x3D1AC63E EQ PUSH2 0x872 JUMPI DUP1 PUSH4 0x3D47FE94 EQ PUSH2 0x892 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x8B2 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x8DF JUMPI DUP1 PUSH4 0x406CED84 EQ PUSH2 0x8F4 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x914 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x934 JUMPI DUP1 PUSH4 0x4C5EAD08 EQ PUSH2 0x949 JUMPI DUP1 PUSH4 0x4E055244 EQ PUSH2 0x969 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x989 JUMPI DUP1 PUSH4 0x5273E74B EQ PUSH2 0x99C JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x9BC JUMPI DUP1 PUSH4 0x542D6DB5 EQ PUSH2 0x9D1 JUMPI DUP1 PUSH4 0x544FFC9C EQ PUSH2 0x9F1 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA2C JUMPI DUP1 PUSH4 0x5584C4F9 EQ PUSH2 0xA57 JUMPI DUP1 PUSH4 0x56781388 EQ PUSH2 0xA79 JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0xA99 JUMPI DUP1 PUSH4 0x58C839BC EQ PUSH2 0xAAE JUMPI DUP1 PUSH4 0x5C573D44 EQ PUSH2 0xACE JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0xAEE JUMPI DUP1 PUSH4 0x60463D68 EQ PUSH2 0xB03 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0xB23 JUMPI DUP1 PUSH4 0x6B6A0704 EQ PUSH2 0xB43 JUMPI DUP1 PUSH4 0x6DD139BE EQ PUSH2 0xB63 JUMPI DUP1 PUSH4 0x6E8A1823 EQ PUSH2 0xB83 JUMPI DUP1 PUSH4 0x726DA5FD EQ PUSH2 0xB98 JUMPI DUP1 PUSH4 0x74A55A51 EQ PUSH2 0xBB8 JUMPI DUP1 PUSH4 0x7A4CCE6D EQ PUSH2 0xBD8 JUMPI DUP1 PUSH4 0x7B3C71D3 EQ PUSH2 0xBF8 JUMPI DUP1 PUSH4 0x81AB2353 EQ PUSH2 0xC18 JUMPI DUP1 PUSH4 0x81C0D6DF EQ PUSH2 0xC2D JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0xC42 JUMPI DUP1 PUSH4 0x88FB07A5 EQ PUSH2 0xC57 JUMPI DUP1 PUSH4 0x8CED2A11 EQ PUSH2 0xC77 JUMPI DUP1 PUSH4 0x8D5A3F67 EQ PUSH2 0xC97 JUMPI DUP1 PUSH4 0x8E828CB4 EQ PUSH2 0xCB7 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xCD7 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xCF7 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xD23 JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xD45 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xD59 JUMPI DUP1 PUSH4 0x9C17E7B3 EQ PUSH2 0xD79 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xD8E JUMPI DUP1 PUSH4 0xA3844E11 EQ PUSH2 0xDA3 JUMPI DUP1 PUSH4 0xA45AA313 EQ PUSH2 0xDB8 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xDD8 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0xDF8 JUMPI DUP1 PUSH4 0xA832918C EQ PUSH2 0xE0D JUMPI DUP1 PUSH4 0xA890C910 EQ PUSH2 0xE2D JUMPI DUP1 PUSH4 0xA9A95294 EQ PUSH2 0xE4D JUMPI DUP1 PUSH4 0xAB58FB8E EQ PUSH2 0xE6D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xE8D JUMPI DUP1 PUSH4 0xAE0B8DA8 EQ PUSH2 0xEBE JUMPI DUP1 PUSH4 0xB26A9509 EQ PUSH2 0xEDE JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xEFE JUMPI DUP1 PUSH4 0xB69D417B EQ PUSH2 0xF1E JUMPI DUP1 PUSH4 0xB6E9EFF4 EQ PUSH2 0xF3E JUMPI DUP1 PUSH4 0xBC197C81 EQ PUSH2 0xF5E JUMPI DUP1 PUSH4 0xBD5AEFEA EQ PUSH2 0xF7E JUMPI DUP1 PUSH4 0xBE9BD92B EQ PUSH2 0xFA0 JUMPI DUP1 PUSH4 0xC01F9E37 EQ PUSH2 0xFC0 JUMPI DUP1 PUSH4 0xC0A6026C EQ PUSH2 0xFE0 JUMPI DUP1 PUSH4 0xC220F2F5 EQ PUSH2 0x1000 JUMPI DUP1 PUSH4 0xC28BC2FA EQ PUSH2 0x1020 JUMPI DUP1 PUSH4 0xC40FFBF6 EQ PUSH2 0x1033 JUMPI DUP1 PUSH4 0xC429BD82 EQ PUSH2 0x1048 JUMPI DUP1 PUSH4 0xC59057E4 EQ PUSH2 0x1068 JUMPI DUP1 PUSH4 0xCF09F8BF EQ PUSH2 0x1088 JUMPI DUP1 PUSH4 0xD33219B4 EQ PUSH2 0x109D JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0x10B2 JUMPI DUP1 PUSH4 0xD53C74C1 EQ PUSH2 0x10D2 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x10F2 JUMPI DUP1 PUSH4 0xDD4E2BA5 EQ PUSH2 0x1112 JUMPI DUP1 PUSH4 0xDE65F41A EQ PUSH2 0x1127 JUMPI DUP1 PUSH4 0xE09C8D44 EQ PUSH2 0x1147 JUMPI DUP1 PUSH4 0xE125F74E EQ PUSH2 0x1167 JUMPI DUP1 PUSH4 0xE205AEB0 EQ PUSH2 0x117C JUMPI DUP1 PUSH4 0xE2BBB158 EQ PUSH2 0x1191 JUMPI DUP1 PUSH4 0xE4EC85D4 EQ PUSH2 0x11B1 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x11D1 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0x11F3 JUMPI DUP1 PUSH4 0xEE8A948B EQ PUSH2 0x1213 JUMPI DUP1 PUSH4 0xF03A98D5 EQ PUSH2 0x1228 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x123D JUMPI DUP1 PUSH4 0xF530108F EQ PUSH2 0x125D JUMPI DUP1 PUSH4 0xF744F119 EQ PUSH2 0x127D JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0x129D JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x12BD JUMPI DUP1 PUSH4 0xFD4FD6E1 EQ PUSH2 0x12D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x532 JUMPI ADDRESS PUSH2 0x509 PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x530 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x543 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x1312 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x56E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x57D CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x132E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x59D CALLDATASIZE PUSH1 0x4 PUSH2 0x41E2 JUMP JUMPDEST PUSH2 0x1399 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x5CB CALLDATASIZE PUSH1 0x4 PUSH2 0x42EF JUMP JUMPDEST PUSH2 0x142E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x5FB CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x1480 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x151F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x621 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x630 CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x15AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x641 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x650 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1637 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x661 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x66A PUSH2 0x1688 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x43AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x692 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x1729 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x6B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x1786 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x6D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1817 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F7 PUSH2 0x6F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x43F9 JUMP JUMPDEST PUSH2 0x1822 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x71C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x72B CALLDATASIZE PUSH1 0x4 PUSH2 0x4464 JUMP JUMPDEST PUSH2 0x1865 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x74B CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x18F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x76B CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1945 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x78B CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1995 JUMP JUMPDEST PUSH2 0x5A2 PUSH2 0x79E CALLDATASIZE PUSH1 0x4 PUSH2 0x4464 JUMP JUMPDEST PUSH2 0x19B5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7C3 PUSH2 0x7BE CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1A71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x451D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x7EB CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1AFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x80B CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x1B37 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x82B CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1B59 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x84B CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x1BAA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x522F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x87E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x88D CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x1BE2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x8AD CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x1C34 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D2 PUSH2 0x8CD CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1C90 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x452B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x1D1B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x900 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x90F CALLDATASIZE PUSH1 0x4 PUSH2 0x4545 JUMP JUMPDEST PUSH2 0x1D3E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x920 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x92F CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x1D61 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x940 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x66A PUSH2 0x1D6D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x955 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x964 CALLDATASIZE PUSH1 0x4 PUSH2 0x4588 JUMP JUMPDEST PUSH2 0x1DE5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x975 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x984 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x1E44 JUMP JUMPDEST PUSH2 0x530 PUSH2 0x997 CALLDATASIZE PUSH1 0x4 PUSH2 0x45A5 JUMP JUMPDEST PUSH2 0x1E50 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x9B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x1E6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x1E9E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x9EC CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x1EBB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA11 PUSH2 0xA0C CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1EC6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH2 0x313 PUSH1 0xF4 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x66A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA6C PUSH2 0x1EE1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x462F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xA94 CALLDATASIZE PUSH1 0x4 PUSH2 0x4651 JUMP JUMPDEST PUSH2 0x1F54 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x1FAC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xABA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xAC9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4676 JUMP JUMPDEST PUSH2 0x1FC8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xAE9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x205F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x2076 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xB1E CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x208B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xB3E CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x20AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xB5E CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x20E6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xB7E CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x2114 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2139 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xBB3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x2155 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xBD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4734 JUMP JUMPDEST PUSH2 0x21A7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xBF3 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x21B3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xC13 CALLDATASIZE PUSH1 0x4 PUSH2 0x47A8 JUMP JUMPDEST PUSH2 0x2210 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x2252 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x22C1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x230C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xC72 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x232C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xC92 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2337 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xCB2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2342 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xCD2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4803 JUMP JUMPDEST PUSH2 0x234D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xCF2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x23E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0C PUSH2 0x241A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH2 0x5A2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xD74 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x2489 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x2494 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x250C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xDD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x252D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xDF3 CALLDATASIZE PUSH1 0x4 PUSH2 0x48BF JUMP JUMPDEST PUSH2 0x25A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x25E1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xE28 CALLDATASIZE PUSH1 0x4 PUSH2 0x48DD JUMP JUMPDEST PUSH2 0x2650 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xE48 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x294A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xE68 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x299A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xE88 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x29D5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x66A PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xECA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xED9 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x29E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xEF9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2A3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xF19 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x2A8E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xF39 CALLDATASIZE PUSH1 0x4 PUSH2 0x48BF JUMP JUMPDEST PUSH2 0x2AEB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xF59 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x2B27 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F7 PUSH2 0xF79 CALLDATASIZE PUSH1 0x4 PUSH2 0x491E JUMP JUMPDEST PUSH2 0x2B63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x528F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xFBB CALLDATASIZE PUSH1 0x4 PUSH2 0x49CB JUMP JUMPDEST PUSH2 0x2BA7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xFDB CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2C25 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xFFB CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2C60 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x100C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x101B CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2CB0 JUMP JUMPDEST PUSH2 0x530 PUSH2 0x102E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A14 JUMP JUMPDEST PUSH2 0x2CBB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x103F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x2D43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1054 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x1063 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2D58 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1074 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x1083 CALLDATASIZE PUSH1 0x4 PUSH2 0x4464 JUMP JUMPDEST PUSH2 0x2DA8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1094 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2DB6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x12F4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x10CD CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2DD4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x10ED CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x2E0F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x110D CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x2E6C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x111E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x66A PUSH2 0x2E88 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x1142 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A57 JUMP JUMPDEST PUSH2 0x2EA8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1153 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x1162 CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x2EF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2F49 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1188 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2F65 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x119D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x11AC CALLDATASIZE PUSH1 0x4 PUSH2 0x4AF3 JUMP JUMPDEST PUSH2 0x2F81 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x11CC CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x2FC0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x526F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x120E CALLDATASIZE PUSH1 0x4 PUSH2 0x48BF JUMP JUMPDEST PUSH2 0x2FCB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x121F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x2FD7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2FE1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1249 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F7 PUSH2 0x1258 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B15 JUMP JUMPDEST PUSH2 0x2FFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x1278 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x3043 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1289 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x1298 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x30A0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x12B8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x30AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x30E6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52CF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12FF PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x131C PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x14 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x7B8A67 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH3 0xF714CE SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x4B7D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x137D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1391 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x276211 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x13B1088 SWAP1 PUSH2 0x13E0 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x4C22 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x13FD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1421 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x1F9DD3C1 PUSH1 0xE3 SHL EQ DUP1 PUSH2 0x145F JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ JUMPDEST DUP1 PUSH2 0x147A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x26865CC DUP5 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14AF JUMPI PUSH2 0x14AF PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14F4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1518 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x152A PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1581 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15A5 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B7 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x15C9 JUMPI PUSH2 0x15C9 CALLER JUMPDEST PUSH1 0x0 CALLDATASIZE ADDRESS PUSH2 0x3128 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F6613A5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x3ECC274A SWAP1 PUSH2 0x1602 SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x4CCB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x161A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x162E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1643 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1650 JUMPI PUSH2 0x1650 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x379FCF3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6F3F9E6 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1694 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x16A5 SWAP1 PUSH2 0x4CE6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x16D1 SWAP1 PUSH2 0x4CE6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x171E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16F3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x171E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1701 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1742 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x174F JUMPI PUSH2 0x174F CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x382FA8EC SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xEDDEE30 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x17B4 JUMPI PUSH2 0x17B4 PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0xFF SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17F3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x147A SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x31C6 JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x182D PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1854 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x186F PUSH2 0x31EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1957CC7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x1957CC7 SWAP1 PUSH2 0x18AE SWAP1 ADDRESS SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x4D20 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x18CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18EF SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1903 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x17 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x191D JUMPI PUSH2 0x191D PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x192E JUMPI PUSH2 0x192E PUSH2 0x44F3 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52CF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x195D DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xF35A4C9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x1E6B4992 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19A0 PUSH2 0x3221 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19BF PUSH2 0x31EF JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x522F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x19D9 DUP2 PUSH1 0x0 PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x19E7 JUMPI PUSH2 0x19E7 DUP2 CALLER PUSH2 0x3245 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xFCADD1F7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xFCADD1F7 SWAP1 PUSH2 0x1A26 SWAP1 ADDRESS SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x4D20 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A43 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A67 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1AC4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AE8 SWAP2 SWAP1 PUSH2 0x4D7D JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x147A JUMPI PUSH2 0x147A PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D63F693 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2D63F693 SWAP1 PUSH1 0x24 ADD PUSH2 0x17D6 JUMP JUMPDEST PUSH2 0x1B40 DUP3 PUSH2 0x1995 JUMP JUMPDEST PUSH2 0x1B49 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH2 0x1B53 DUP4 DUP4 PUSH2 0x3270 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B65 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1B72 JUMPI PUSH2 0x1B72 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3397D78D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x3397D78D SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x1BD3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1BDD DUP3 DUP3 PUSH2 0x3311 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BEE DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1BFB JUMPI PUSH2 0x1BFB CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x39081F6D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xE4207DB4 SWAP1 PUSH2 0x1602 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4D9A JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1C4D DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1C5A JUMPI PUSH2 0x1C5A CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x41C19D PUSH1 0xE9 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x83833A00 SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CE3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D07 SWAP2 SWAP1 PUSH2 0x4D7D JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x147A JUMPI PUSH2 0x147A PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x526F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1D33 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH2 0x1D3B PUSH2 0x3389 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4A DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1D57 JUMPI PUSH2 0x1D57 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH2 0x1BDD DUP4 DUP4 PUSH2 0x33E0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP4 DUP4 PUSH2 0x356B JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1DB8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1DE0 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4DAE JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x528F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1DFE DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1E0B JUMPI PUSH2 0x1E0B CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x98BD5A1 PUSH1 0xE3 SHL DUP2 MSTORE DUP3 ISZERO ISZERO PUSH1 0x4 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4C5EAD08 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP4 DUP4 PUSH2 0x35A8 JUMP JUMPDEST PUSH2 0x1E58 PUSH2 0x35DE JUMP JUMPDEST PUSH2 0x1E61 DUP3 PUSH2 0x3683 JUMP JUMPDEST PUSH2 0x1E6B DUP3 DUP3 PUSH2 0x369C JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x5273E74B DUP5 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14AF JUMPI PUSH2 0x14AF PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA8 PUSH2 0x3750 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x524F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3799 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x1ED4 DUP5 PUSH2 0x37E3 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x5584C4F9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1F2C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1DE0 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4E1B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xDD063F9 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE CALLER PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0xFF DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x84 DUP3 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xDD063F90 SWAP1 PUSH1 0xA4 ADD PUSH2 0x14D7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FB6 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0xB ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FD2 PUSH2 0x31EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x16320E6F PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x58C839BC SWAP1 PUSH2 0x2013 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x4EA0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2030 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2054 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT ADDRESS PUSH1 0x60 SHL AND DUP3 XOR PUSH2 0x147A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2081 PUSH2 0x3819 JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2096 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x11 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x60C4247F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x60C4247F SWAP1 PUSH1 0x24 ADD PUSH2 0x17D6 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x6B6A0704 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x17B4 JUMPI PUSH2 0x17B4 PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x211F PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1C ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x191D JUMPI PUSH2 0x191D PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2143 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x20 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2161 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x216E JUMPI PUSH2 0x216E CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9EB587E9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x9EB587E9 SWAP1 PUSH2 0x1602 SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x4CCB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP4 DUP4 PUSH2 0x383D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x21CC DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x21D9 JUMPI PUSH2 0x21D9 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x358E7D97 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD639F65C SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xDD063F9 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xDD063F90 SWAP1 PUSH2 0x18AE SWAP1 DUP9 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x4F03 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x81AB2353 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x229D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DE0 SWAP2 SWAP1 PUSH2 0x4F54 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x81C0D6DF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x229D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x526F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2324 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH2 0x1D3B PUSH2 0x3885 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x38CC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x38EF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3916 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x528F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2366 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2373 JUMPI PUSH2 0x2373 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x23A0A32D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8E828CB4 SWAP1 PUSH2 0x23AE SWAP1 DUP8 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x4F71 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x23C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x23DA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x23EF PUSH2 0x3221 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2465 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DE0 SWAP2 SWAP1 PUSH2 0x4FDC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3942 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24A0 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x24AD JUMPI PUSH2 0x24AD CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9C17E7B3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2505 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2516 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x9 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA45AA313 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA45AA313 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2581 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x147A SWAP2 SWAP1 PUSH2 0x4F54 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA56B5765 SWAP1 PUSH2 0x14D7 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xA7713A70 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x262C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DE0 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x265C DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2669 JUMPI PUSH2 0x2669 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x8 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x26B2 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x26D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x275E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F725631303A20696E76616C6964206E617669676174 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x6F72207265676973747279 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x27CA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F725631303A20696E76616C69642072656C61796572 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x81C995DD85C991CC81C1BDBDB PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2755 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x2801 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2819 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x282D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x382FA8EC SWAP2 POP PUSH2 0x2868 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2880 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2894 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x3397D78D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x3397D78D SWAP2 POP PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x28E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x28F7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP3 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP4 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2956 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2963 JUMPI PUSH2 0x2963 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2CAE129D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB2B84A74 SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2A6A54A5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA9A95294 SWAP1 PUSH1 0x24 ADD PUSH2 0x2564 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3972 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x29F9 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2A06 JUMPI PUSH2 0x2A06 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x27A4ECDD PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4F49D9BA SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A49 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2A56 JUMPI PUSH2 0x2A56 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB26A9509 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB26A9509 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2AA7 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2AB4 JUMPI PUSH2 0x2AB4 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4784A113 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4784A113 SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB69D417B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xB69D417B SWAP1 PUSH2 0x14D7 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DBA7BFD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xB6E9EFF4 SWAP1 PUSH2 0x14D7 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4B7D JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x2B6E PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2B95 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x528F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2BC0 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2BCD JUMPI PUSH2 0x2BCD CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBE9BD92B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE DUP3 ISZERO ISZERO PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xBE9BD92B SWAP1 PUSH1 0x64 ADD PUSH2 0x23AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xC01F9E37 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xC01F9E37 SWAP1 PUSH1 0x24 ADD PUSH2 0x17D6 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52CF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2C78 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3029809B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xC0A6026C SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x39A4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CC7 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2CD4 JUMPI PUSH2 0x2CD4 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x2CF2 SWAP3 SWAP2 SWAP1 PUSH2 0x501D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2D2F JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x2D34 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x23DA DUP3 DUP3 PUSH2 0x39C7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2D4E PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52CF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2D70 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6214DEC1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xC429BD82 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18EF DUP6 DUP6 DUP6 DUP6 PUSH2 0x39E3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2DC1 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1A ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9079991F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x9079991F SWAP1 PUSH1 0x24 ADD PUSH2 0x2564 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2E28 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2E35 JUMPI PUSH2 0x2E35 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x697772A5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD2EEE54A SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH2 0x2E75 DUP3 PUSH2 0x1995 JUMP JUMPDEST PUSH2 0x2E7E DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH2 0x1B53 DUP4 DUP4 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x52EF PUSH1 0x28 SWAP2 CODECOPY SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBADECD76 CALLER PUSH2 0x2ED0 PUSH1 0x0 CALLER PUSH2 0x23E4 JUMP JUMPDEST DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD DUP9 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A26 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x502D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F03 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2F10 JUMPI PUSH2 0x2F10 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D2ACD0B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4AB342C SWAP1 PUSH2 0x1602 SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x4CCB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F53 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1F ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F6F PUSH2 0x3104 JUMP JUMPDEST PUSH1 0xA ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1C57762B PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xE2BBB158 SWAP1 PUSH1 0x44 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3A1D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP4 DUP4 PUSH2 0x3A67 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DE0 PUSH2 0x3C8C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2FEC PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1B ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x300A PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3031 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x305C DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x3069 JUMPI PUSH2 0x3069 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3C9F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7C672B05 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xF8CE560A SWAP1 PUSH1 0x24 ADD PUSH2 0x17D6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x30F1 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0xC ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3132 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3146 PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x316F JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0x47096E47 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3181 PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2505 JUMPI PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x31A1 SWAP3 SWAP2 SWAP1 PUSH2 0x501D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP1 POP JUMPDEST DUP1 PUSH2 0x31B9 DUP4 PUSH1 0x2 ADD PUSH2 0x3CBF JUMP JUMPDEST SUB PUSH2 0x31AC JUMPI POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31D1 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x31F7 PUSH2 0x2076 JUMP JUMPDEST ISZERO PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH2 0x1D3B DUP2 CALLER PUSH2 0x3245 JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH2 0x324F DUP3 DUP3 PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1E6B JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP3 SWAP2 SWAP1 PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x327B PUSH2 0x3221 JUMP JUMPDEST SWAP1 POP PUSH2 0x3287 DUP5 DUP5 PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x3307 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x32BD CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x147A JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x147A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x331C PUSH2 0x3221 JUMP JUMPDEST SWAP1 POP PUSH2 0x3328 DUP5 DUP5 PUSH2 0x23E4 JUMP JUMPDEST ISZERO PUSH2 0x3307 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x147A JUMP JUMPDEST PUSH2 0x3391 PUSH2 0x3D34 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x339B PUSH2 0x3819 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x33D5 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33EA PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1B ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA49062D4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3443 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3467 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1C ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3483 JUMPI PUSH2 0x3483 PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3494 JUMPI PUSH2 0x3494 PUSH2 0x44F3 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0x34AE DUP6 PUSH2 0x3D59 JUMP JUMPDEST PUSH2 0x34CA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP1 PUSH2 0x50A7 JUMP JUMPDEST DUP2 DUP5 GT ISZERO PUSH2 0x34EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x7780647F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x2755 JUMP JUMPDEST PUSH32 0xB1B75318956F66FA2B8B148BC3B2520C6E22133A50AC6069D38F97ED462B487A DUP6 DUP3 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3521 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x50F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP4 DUP4 PUSH1 0x1C ADD PUSH1 0x0 DUP8 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3542 JUMPI PUSH2 0x3542 PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3553 JUMPI PUSH2 0x3553 PUSH2 0x44F3 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3576 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0xF ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE PUSH1 0x3 SWAP1 SWAP5 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x35B3 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0xD ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3665 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3659 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x524F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x368F DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1E6B JUMPI PUSH2 0x1E6B CALLER PUSH2 0x15C0 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x36F6 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x36F3 SWAP2 DUP2 ADD SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3715 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x524F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3746 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x2755 JUMP JUMPDEST PUSH2 0x1BDD DUP4 DUP4 PUSH2 0x3D90 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x37A4 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP PUSH2 0x37AF DUP4 PUSH2 0x3D59 JUMP JUMPDEST PUSH2 0x37CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP1 PUSH2 0x50A7 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x191D JUMPI PUSH2 0x191D PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x37F1 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 SWAP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 SWAP1 SWAP3 ADD SLOAD SWAP1 SWAP5 SWAP2 SWAP4 POP SWAP2 POP JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3848 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x388D PUSH2 0x31EF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3897 PUSH2 0x3819 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x33C8 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x38D7 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x38FA PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP4 KECCAK256 SWAP1 SWAP3 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3921 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x394D PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x397D PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x39AF PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x39DC JUMPI PUSH2 0x39D7 DUP3 PUSH2 0x3DE6 JUMP JUMPDEST PUSH2 0x147A JUMP JUMPDEST POP DUP1 PUSH2 0x147A JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x39FC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5114 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3A28 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP PUSH2 0x3A33 DUP4 PUSH2 0x3D59 JUMP JUMPDEST PUSH2 0x3A4F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP1 PUSH2 0x50A7 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x191D JUMPI PUSH2 0x191D PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3A72 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0x3AAC SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3AC9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3AED SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3B0B JUMPI SWAP2 POP PUSH2 0x147A SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x3B40 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3B5D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B81 SWAP2 SWAP1 PUSH2 0x51D4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3C0D JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x3BC3 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3BE0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3C04 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x147A JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x3C41 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3C5E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3C82 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH2 0x18EF SWAP1 DUP3 PUSH2 0x51F1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3C96 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x22 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3CAA PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x7 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND SWAP2 PUSH1 0x1 PUSH1 0x80 SHL SWAP1 DIV AND DUP2 SUB PUSH2 0x3CF7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x75E52F4F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP6 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD SWAP3 SWAP1 SSTORE DUP6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT AND SWAP4 ADD SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP3 SSTORE POP SWAP1 JUMP JUMPDEST PUSH2 0x3D3C PUSH2 0x2076 JUMP JUMPDEST PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3D6E JUMPI PUSH2 0x3D6E PUSH2 0x44F3 JUMP JUMPDEST EQ DUP1 PUSH2 0x147A JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3D89 JUMPI PUSH2 0x3D89 PUSH2 0x44F3 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3D99 DUP3 PUSH2 0x3E0F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x3DDE JUMPI PUSH2 0x1BDD DUP3 DUP3 PUSH2 0x3E6B JUMP JUMPDEST PUSH2 0x1E6B PUSH2 0x3ED8 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x3DF6 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x3E3C JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x524F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x3E88 SWAP2 SWAP1 PUSH2 0x5212 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3EC3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3EC8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x18EF DUP6 DUP4 DUP4 PUSH2 0x3EF7 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x3F0C JUMPI PUSH2 0x3F07 DUP3 PUSH2 0x3DE6 JUMP JUMPDEST PUSH2 0x1518 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x3F23 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x3F43 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1D3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x3F7E DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3F96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x3FA8 DUP2 PUSH2 0x3F5E JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x3FF1 JUMPI PUSH2 0x3FF1 PUSH2 0x3FB3 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4012 JUMPI PUSH2 0x4012 PUSH2 0x3FB3 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x402D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4042 PUSH2 0x403D DUP4 PUSH2 0x3FF9 JUMP JUMPDEST PUSH2 0x3FC9 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4061 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4085 JUMPI DUP1 CALLDATALOAD PUSH2 0x4078 DUP2 PUSH2 0x3F5E JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4065 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x40A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x40B1 PUSH2 0x403D DUP4 PUSH2 0x3FF9 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x40D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4085 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x40D4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4104 JUMPI PUSH2 0x4104 PUSH2 0x3FB3 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4131 PUSH2 0x403D DUP3 PUSH2 0x40EB JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4146 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4174 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4184 PUSH2 0x403D DUP4 PUSH2 0x3FF9 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x41A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4085 JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41C6 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x41D4 DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x4112 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x41A7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x41FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4216 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4222 DUP13 DUP4 DUP14 ADD PUSH2 0x401C JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4238 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4244 DUP13 DUP4 DUP14 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP9 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x425A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4266 DUP13 DUP4 DUP14 ADD PUSH2 0x4163 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x427C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4288 DUP13 DUP4 DUP14 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP5 POP PUSH2 0x42A4 PUSH1 0xC0 DUP13 ADD PUSH2 0x3F73 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x42BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42C7 DUP12 DUP3 DUP13 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x3F7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4301 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1518 DUP3 PUSH2 0x42D7 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0x3F7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x432C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x433C PUSH1 0x20 DUP5 ADD PUSH2 0x430A JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4379 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4361 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x439A DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x435E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1518 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4382 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x43D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1518 DUP2 PUSH2 0x3F5E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x43F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1518 DUP3 PUSH2 0x430A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x440F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x441A DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x442A DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x444C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4458 DUP8 DUP3 DUP9 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x447A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x449D DUP9 DUP4 DUP10 ADD PUSH2 0x401C JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x44B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x44BF DUP9 DUP4 DUP10 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x44D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44E2 DUP8 DUP3 DUP9 ADD PUSH2 0x4163 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP4 SWAP5 PUSH1 0x60 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x4519 JUMPI PUSH2 0x4519 PUSH2 0x44F3 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x147A DUP3 DUP5 PUSH2 0x4509 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0xA DUP4 LT PUSH2 0x453F JUMPI PUSH2 0x453F PUSH2 0x44F3 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4558 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4561 DUP4 PUSH2 0x430A JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1D3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x3F7E DUP2 PUSH2 0x456F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x459A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1518 DUP2 PUSH2 0x456F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x45B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x45C3 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x45DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45EA DUP6 DUP3 DUP7 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4624 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4608 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1518 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x45F4 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1D3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4664 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x3FA8 DUP2 PUSH2 0x4642 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x468F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x46A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46B2 DUP11 DUP4 DUP12 ADD PUSH2 0x401C JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x46C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46D4 DUP11 DUP4 DUP12 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x46EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46F6 DUP11 DUP4 DUP12 ADD PUSH2 0x4163 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x470C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4719 DUP10 DUP3 DUP11 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4747 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4752 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP2 POP PUSH2 0x433C PUSH1 0x20 DUP5 ADD PUSH2 0x42D7 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4772 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4789 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x47A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x47BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x47D0 DUP2 PUSH2 0x4642 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x47EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x47F7 DUP8 DUP3 DUP9 ADD PUSH2 0x4760 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4818 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4823 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x483F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x4850 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x485E PUSH2 0x403D DUP3 PUSH2 0x3FF9 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x487D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x48A2 JUMPI PUSH2 0x4893 DUP5 PUSH2 0x42D7 JUMP JUMPDEST DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x4882 JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP PUSH2 0x48B6 PUSH1 0x40 DUP6 ADD PUSH2 0x457D JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x48D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4561 DUP2 PUSH2 0x3F5E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x48F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x48FD DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x490D DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4936 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4941 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x4951 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x496D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4979 DUP10 DUP4 DUP11 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x498F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x499B DUP10 DUP4 DUP11 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x49B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x49BE DUP9 DUP3 DUP10 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x49E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x49EB DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 POP PUSH2 0x49F9 PUSH1 0x20 DUP6 ADD PUSH2 0x42D7 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x4A09 DUP2 PUSH2 0x456F JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4A2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x4A35 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x47EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4A6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4A86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A92 DUP10 DUP4 DUP11 ADD PUSH2 0x401C JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4AA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AB4 DUP10 DUP4 DUP11 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4ACA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AD6 DUP10 DUP4 DUP11 ADD PUSH2 0x4163 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x49B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4B06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4B2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4B38 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x4B48 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4B71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x49BE DUP9 DUP3 DUP10 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4624 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4BA8 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP4 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x4C15 JUMPI DUP3 DUP5 SUB DUP10 MSTORE PUSH2 0x4C03 DUP5 DUP4 MLOAD PUSH2 0x4382 JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4BEB JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 MSTORE PUSH2 0x4C36 DUP2 DUP5 ADD DUP13 PUSH2 0x4B94 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4C4A DUP2 DUP12 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x4C5E DUP2 DUP11 PUSH2 0x4BCD JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x4C72 DUP2 DUP10 PUSH2 0x4382 JUMP JUMPDEST PUSH1 0x80 DUP5 ADD DUP9 SWAP1 MSTORE PUSH1 0xA0 DUP5 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0xC0 DUP6 ADD MSTORE DUP4 DUP2 SUB PUSH1 0xE0 DUP6 ADD MSTORE SWAP1 POP PUSH2 0x4CA3 DUP2 DUP6 PUSH2 0x4382 JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4CC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP2 ADD PUSH2 0x4CD9 DUP3 DUP6 PUSH2 0x4509 JUMP JUMPDEST DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x4CFA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x4D1A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP2 MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x4D44 SWAP1 DUP4 ADD DUP8 PUSH2 0x4B94 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x4D56 DUP2 DUP8 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x4D6A DUP2 DUP7 PUSH2 0x4BCD JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4D8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1518 DUP2 PUSH2 0x4642 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH2 0x1518 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4509 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4DC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x4DE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x4DF5 PUSH2 0x403D DUP3 PUSH2 0x40EB JUMP JUMPDEST DUP2 DUP2 MSTORE DUP6 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x4E0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18EF DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x435E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4E2E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4E44 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x4E55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x4E63 PUSH2 0x403D DUP3 PUSH2 0x3FF9 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP8 DUP4 GT ISZERO PUSH2 0x4E82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x2054 JUMPI DUP4 MLOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x4E87 JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4EB3 PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x4B94 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4EC5 DUP2 DUP10 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x4ED9 DUP2 DUP9 PUSH2 0x4BCD JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x4EED DUP2 DUP8 PUSH2 0x4382 JUMP JUMPDEST PUSH1 0x80 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP6 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xFF DUP5 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE DUP2 ADD DUP3 SWAP1 MSTORE DUP2 DUP4 PUSH1 0xA0 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP4 ADD PUSH1 0xA0 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4F66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1518 DUP2 PUSH2 0x456F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP1 DUP4 ADD DUP3 SWAP1 MSTORE DUP5 MLOAD SWAP2 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP6 DUP3 ADD SWAP2 SWAP1 PUSH1 0x80 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4FC4 JUMPI DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4F9E JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 ISZERO ISZERO PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1518 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 MSTORE DUP7 ISZERO ISZERO PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xE0 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5059 SWAP1 DUP4 ADD DUP9 PUSH2 0x4B94 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x506B DUP2 DUP9 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x507F DUP2 DUP8 PUSH2 0x4BCD JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0xA0 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x5099 DUP2 DUP6 PUSH2 0x4382 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD PUSH2 0x5103 DUP3 DUP7 PUSH2 0x4509 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 DUP1 DUP3 MSTORE DUP6 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0xA0 DUP5 ADD SWAP1 DUP3 DUP10 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5156 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5131 JUMP JUMPDEST POP POP POP DUP4 DUP2 SUB DUP3 DUP6 ADD MSTORE PUSH2 0x516A DUP2 DUP9 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x40 DUP6 ADD MSTORE DUP1 DUP7 MLOAD DUP1 DUP4 MSTORE DUP4 DUP4 ADD SWAP2 POP DUP4 DUP2 PUSH1 0x5 SHL DUP5 ADD ADD DUP5 DUP10 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x51BB JUMPI PUSH1 0x1F NOT DUP7 DUP5 SUB ADD DUP6 MSTORE PUSH2 0x51A9 DUP4 DUP4 MLOAD PUSH2 0x4382 JUMP JUMPDEST SWAP5 DUP8 ADD SWAP5 SWAP3 POP SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x518D JUMP JUMPDEST POP POP DUP1 SWAP6 POP POP POP POP POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1518 DUP2 PUSH2 0x3F5E JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x147A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5224 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x435E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID PUSH6 0x75630003027B SIGNEXTEND 0x2F 0xC4 LOG4 DUP12 0xC3 SWAP14 0xBC RETURNDATACOPY 0xBA SWAP13 CREATE2 PUSH6 0x88C696A6F571 PUSH31 0x167A0CE731360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3 0xCA POP 0x5D CODESIZE 0x2B 0xBC PUSH6 0xD7A28E3265B3 PUSH27 0x6474929F336521B332C1681B933F6CB9F3376673440D862A87E721 DUP10 LOG3 0xEA MOD SWAP8 SWAP7 0xDA 0xB5 0xC7 0xD3 DUP3 PUSH6 0x81F957CB5C88 0x2C 0x1E PUSH14 0xAE7ACACEC49CA48E56AF926AA384 0x5D 0x4D 0xC6 GASPRICE PUSH13 0x773ED36F51794728C97EBCD1BF DUP5 JUMPDEST 0xCE 0xCB AND 0xEE 0xB6 0xB7 ORIGIN 0xC 0xC9 SHR AND 0xC4 0x22 PUSH19 0x679CAB4152F867E0CD4A98F53556DA2D53B4E5 ISZERO 0xBE DUP13 PUSH24 0x96737570706F72743D627261766F2671756F72756D3D666F PUSH19 0x2C6162737461696E2C616761696E7374A26469 PUSH17 0x66735822122004ED3978B09F43D3DDDD9D ORIGIN GASLIMIT 0xD1 PUSH12 0x3F4D602F115D8BA86E6D167F PUSH2 0x76D0 SWAP4 CALLCODE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"7719:45066:48:-:0;;;1171:4:3;1128:48;;8678:47:48;;;;;;;;;-1:-1:-1;8698:22:48;:20;:22::i;:::-;7719:45066;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;7719:45066:48;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_17975":{"entryPoint":7533,"id":17975,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_17581":{"entryPoint":null,"id":17581,"parameterSlots":0,"returnSlots":0},"@COUNTING_MODE_18180":{"entryPoint":11912,"id":18180,"parameterSlots":0,"returnSlots":1},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@GOVERNOR_FUNCTIONS_SETTINGS_ROLE_17569":{"entryPoint":null,"id":17569,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_17575":{"entryPoint":null,"id":17575,"parameterSlots":0,"returnSlots":0},"@PROPOSAL_EXECUTOR_ROLE_17587":{"entryPoint":null,"id":17587,"parameterSlots":0,"returnSlots":0},"@PROPOSAL_STATE_MANAGER_ROLE_17593":{"entryPoint":null,"id":17593,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@_17750":{"entryPoint":null,"id":17750,"parameterSlots":0,"returnSlots":0},"@_authorizeUpgrade_19402":{"entryPoint":13955,"id":19402,"parameterSlots":1,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":16088,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":14160,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":13790,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":12823,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":12869,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":12833,"id":46,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getPausableStorage_4013":{"entryPoint":14361,"id":4013,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":12912,"id":315,"parameterSlots":2,"returnSlots":1},"@_msgData_3978":{"entryPoint":null,"id":3978,"parameterSlots":0,"returnSlots":2},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_pause_4138":{"entryPoint":14469,"id":4138,"parameterSlots":0,"returnSlots":0},"@_requireNotPaused_4101":{"entryPoint":12783,"id":4101,"parameterSlots":0,"returnSlots":0},"@_requirePaused_4114":{"entryPoint":15668,"id":4114,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":15846,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":13073,"id":361,"parameterSlots":2,"returnSlots":1},"@_setImplementation_4791":{"entryPoint":15887,"id":4791,"parameterSlots":1,"returnSlots":0},"@_unpause_4162":{"entryPoint":13193,"id":4162,"parameterSlots":0,"returnSlots":0},"@_upgradeToAndCallUUPS_1913":{"entryPoint":13980,"id":1913,"parameterSlots":2,"returnSlots":0},"@b3tr_18406":{"entryPoint":8108,"id":18406,"parameterSlots":0,"returnSlots":1},"@canProposalStartInNextRound_17825":{"entryPoint":8786,"id":17825,"parameterSlots":0,"returnSlots":1},"@cancel_18839":{"entryPoint":11944,"id":18839,"parameterSlots":5,"returnSlots":1},"@castNavigatorVote_18898":{"entryPoint":11047,"id":18898,"parameterSlots":2,"returnSlots":1},"@castVoteWithReason_18881":{"entryPoint":8720,"id":18881,"parameterSlots":4,"returnSlots":1},"@castVote_18859":{"entryPoint":8020,"id":18859,"parameterSlots":2,"returnSlots":1},"@checkGovernance_21562":{"entryPoint":12584,"id":21562,"parameterSlots":4,"returnSlots":0},"@clock_17964":{"entryPoint":9242,"id":17964,"parameterSlots":0,"returnSlots":1},"@depositThresholdByProposalType_18526":{"entryPoint":8422,"id":18526,"parameterSlots":1,"returnSlots":1},"@depositThresholdCapByProposalType_18616":{"entryPoint":12224,"id":18616,"parameterSlots":1,"returnSlots":1},"@depositThresholdPercentageByProposalType_18541":{"entryPoint":7867,"id":18541,"parameterSlots":1,"returnSlots":1},"@deposit_18930":{"entryPoint":12161,"id":18930,"parameterSlots":2,"returnSlots":0},"@execute_18803":{"entryPoint":6581,"id":18803,"parameterSlots":4,"returnSlots":1},"@executor_21512":{"entryPoint":4852,"id":21512,"parameterSlots":0,"returnSlots":1},"@functionDelegateCall_5503":{"entryPoint":15979,"id":5503,"parameterSlots":2,"returnSlots":1},"@getActiveProposals_18490":{"entryPoint":7905,"id":18490,"parameterSlots":0,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdCap_20526":{"entryPoint":14877,"id":20526,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdPercentage_20474":{"entryPoint":14233,"id":20474,"parameterSlots":1,"returnSlots":1},"@getDepositVotingPower_19391":{"entryPoint":9637,"id":19391,"parameterSlots":2,"returnSlots":1},"@getGalaxyMemberContract_18636":{"entryPoint":12257,"id":18636,"parameterSlots":0,"returnSlots":1},"@getGovernorStorage_24759":{"entryPoint":12548,"id":24759,"parameterSlots":0,"returnSlots":1},"@getGrantsManagerContract_18656":{"entryPoint":11702,"id":18656,"parameterSlots":0,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getProposalDeposits_18211":{"entryPoint":11440,"id":18211,"parameterSlots":1,"returnSlots":1},"@getProposalDeposits_21093":{"entryPoint":14756,"id":21093,"parameterSlots":1,"returnSlots":1},"@getProposalVotes_25470":{"entryPoint":14307,"id":25470,"parameterSlots":1,"returnSlots":3},"@getQuadraticVotingPower_17953":{"entryPoint":10987,"id":17953,"parameterSlots":2,"returnSlots":1},"@getRequiredGMLevelByProposalType_18680":{"entryPoint":8468,"id":18680,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":6549,"id":171,"parameterSlots":1,"returnSlots":1},"@getTimelockId_18253":{"entryPoint":12448,"id":18253,"parameterSlots":1,"returnSlots":1},"@getTimelockId_21909":{"entryPoint":15519,"id":21909,"parameterSlots":1,"returnSlots":1},"@getUserDeposit_18270":{"entryPoint":7748,"id":18270,"parameterSlots":2,"returnSlots":1},"@getUserDeposit_21045":{"entryPoint":13736,"id":21045,"parameterSlots":2,"returnSlots":1},"@getVotes_17936":{"entryPoint":12235,"id":17936,"parameterSlots":2,"returnSlots":1},"@getVotes_25381":{"entryPoint":14951,"id":25381,"parameterSlots":2,"returnSlots":1},"@governanceSkipWindowBlocks_18478":{"entryPoint":12247,"id":18478,"parameterSlots":0,"returnSlots":1},"@governanceSkipWindowBlocks_20610":{"entryPoint":15500,"id":20610,"parameterSlots":0,"returnSlots":1},"@grantRole_190":{"entryPoint":6967,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":9188,"id":116,"parameterSlots":2,"returnSlots":1},"@hasVotedOnce_18116":{"entryPoint":9353,"id":18116,"parameterSlots":1,"returnSlots":1},"@hasVoted_18197":{"entryPoint":7521,"id":18197,"parameterSlots":2,"returnSlots":1},"@hasVoted_25430":{"entryPoint":13675,"id":25430,"parameterSlots":2,"returnSlots":1},"@hashProposal_18349":{"entryPoint":11688,"id":18349,"parameterSlots":4,"returnSlots":1},"@hashProposal_21755":{"entryPoint":14819,"id":21755,"parameterSlots":4,"returnSlots":1},"@initializeV10_17664":{"entryPoint":9808,"id":17664,"parameterSlots":3,"returnSlots":0},"@isFunctionWhitelisted_18062":{"entryPoint":8615,"id":18062,"parameterSlots":2,"returnSlots":1},"@isFunctionWhitelisted_21373":{"entryPoint":14397,"id":21373,"parameterSlots":2,"returnSlots":1},"@isQuadraticVotingDisabledForCurrentRound_18300":{"entryPoint":8897,"id":18300,"parameterSlots":0,"returnSlots":1},"@isQuadraticVotingDisabledForRound_18314":{"entryPoint":9517,"id":18314,"parameterSlots":1,"returnSlots":1},"@isValidProposalType_23804":{"entryPoint":15705,"id":23804,"parameterSlots":1,"returnSlots":1},"@markAsCompleted_19240":{"entryPoint":11360,"id":19240,"parameterSlots":1,"returnSlots":0},"@markAsInDevelopment_19224":{"entryPoint":6469,"id":19224,"parameterSlots":1,"returnSlots":0},"@minVotingDelay_18081":{"entryPoint":11587,"id":18081,"parameterSlots":0,"returnSlots":1},"@name_18289":{"entryPoint":5768,"id":18289,"parameterSlots":0,"returnSlots":1},"@navigatorRegistry_18454":{"entryPoint":12105,"id":18454,"parameterSlots":0,"returnSlots":1},"@onERC1155BatchReceived_19537":{"entryPoint":11107,"id":19537,"parameterSlots":5,"returnSlots":1},"@onERC1155Received_19469":{"entryPoint":12287,"id":19469,"parameterSlots":5,"returnSlots":1},"@onERC721Received_19501":{"entryPoint":6178,"id":19501,"parameterSlots":4,"returnSlots":1},"@pause_18691":{"entryPoint":8972,"id":18691,"parameterSlots":0,"returnSlots":0},"@paused_4089":{"entryPoint":8310,"id":4089,"parameterSlots":0,"returnSlots":1},"@popFront_10642":{"entryPoint":15551,"id":10642,"parameterSlots":1,"returnSlots":1},"@proposalDeadline_17895":{"entryPoint":11301,"id":17895,"parameterSlots":1,"returnSlots":1},"@proposalDepositReached_18225":{"entryPoint":9026,"id":18225,"parameterSlots":1,"returnSlots":1},"@proposalDepositReached_21127":{"entryPoint":14614,"id":21127,"parameterSlots":1,"returnSlots":1},"@proposalDepositThreshold_18239":{"entryPoint":9004,"id":18239,"parameterSlots":1,"returnSlots":1},"@proposalDepositThreshold_21069":{"entryPoint":14540,"id":21069,"parameterSlots":1,"returnSlots":1},"@proposalEta_17853":{"entryPoint":10709,"id":17853,"parameterSlots":1,"returnSlots":1},"@proposalEta_21803":{"entryPoint":14706,"id":21803,"parameterSlots":1,"returnSlots":1},"@proposalNeedsQueuing_17796":{"entryPoint":10650,"id":17796,"parameterSlots":1,"returnSlots":1},"@proposalProposer_17839":{"entryPoint":6167,"id":17839,"parameterSlots":1,"returnSlots":1},"@proposalProposer_21779":{"entryPoint":12742,"id":21779,"parameterSlots":1,"returnSlots":1},"@proposalSnapshot_17881":{"entryPoint":6908,"id":17881,"parameterSlots":1,"returnSlots":1},"@proposalStartRound_17867":{"entryPoint":9015,"id":17867,"parameterSlots":1,"returnSlots":1},"@proposalStartRound_21827":{"entryPoint":14575,"id":21827,"parameterSlots":1,"returnSlots":1},"@proposalTotalVotes_18153":{"entryPoint":8331,"id":18153,"parameterSlots":1,"returnSlots":1},"@proposalType_18508":{"entryPoint":6769,"id":18508,"parameterSlots":1,"returnSlots":1},"@proposalVotes_18171":{"entryPoint":7878,"id":18171,"parameterSlots":1,"returnSlots":3},"@proposeGrant_19192":{"entryPoint":5017,"id":19192,"parameterSlots":8,"returnSlots":1},"@propose_18736":{"entryPoint":8136,"id":18736,"parameterSlots":6,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":7838,"id":1804,"parameterSlots":0,"returnSlots":1},"@queue_18768":{"entryPoint":6245,"id":18768,"parameterSlots":4,"returnSlots":1},"@quorumByProposalType_18562":{"entryPoint":5248,"id":18562,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_18045":{"entryPoint":null,"id":18045,"parameterSlots":0,"returnSlots":1},"@quorumDenominator_23927":{"entryPoint":null,"id":23927,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_18580":{"entryPoint":6022,"id":18580,"parameterSlots":1,"returnSlots":1},"@quorumNumeratorByProposalType_18601":{"entryPoint":7791,"id":18601,"parameterSlots":2,"returnSlots":1},"@quorumNumerator_18020":{"entryPoint":9697,"id":18020,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_18034":{"entryPoint":8363,"id":18034,"parameterSlots":1,"returnSlots":1},"@quorumReached_18130":{"entryPoint":11732,"id":18130,"parameterSlots":1,"returnSlots":1},"@quorum_18009":{"entryPoint":12459,"id":18009,"parameterSlots":1,"returnSlots":1},"@relay_17782":{"entryPoint":11451,"id":17782,"parameterSlots":4,"returnSlots":0},"@relayerRewardsPool_18467":{"entryPoint":8505,"id":18467,"parameterSlots":0,"returnSlots":1},"@renounceRole_232":{"entryPoint":7082,"id":232,"parameterSlots":2,"returnSlots":0},"@resetDevelopmentState_19208":{"entryPoint":11608,"id":19208,"parameterSlots":1,"returnSlots":0},"@revokeRole_209":{"entryPoint":11884,"id":209,"parameterSlots":2,"returnSlots":0},"@setGalaxyMember_19337":{"entryPoint":10720,"id":19337,"parameterSlots":1,"returnSlots":0},"@setGovernanceSkipWindowBlocks_19052":{"entryPoint":7001,"id":19052,"parameterSlots":1,"returnSlots":0},"@setGrantsManager_19354":{"entryPoint":11791,"id":19354,"parameterSlots":1,"returnSlots":0},"@setIsFunctionRestrictionEnabled_19020":{"entryPoint":7653,"id":19020,"parameterSlots":1,"returnSlots":0},"@setMinVotingDelay_19036":{"entryPoint":10813,"id":19036,"parameterSlots":1,"returnSlots":0},"@setNavigatorRegistry_19137":{"entryPoint":12355,"id":19137,"parameterSlots":1,"returnSlots":0},"@setProposalTypeDepositThresholdCap_19320":{"entryPoint":12023,"id":19320,"parameterSlots":2,"returnSlots":0},"@setProposalTypeDepositThresholdPercentage_19280":{"entryPoint":8533,"id":19280,"parameterSlots":2,"returnSlots":0},"@setProposalTypeVotingThreshold_19300":{"entryPoint":5547,"id":19300,"parameterSlots":2,"returnSlots":0},"@setRelayerRewardsPool_19154":{"entryPoint":5929,"id":19154,"parameterSlots":1,"returnSlots":0},"@setRequiredGMLevelByProposalType_19374":{"entryPoint":7486,"id":19374,"parameterSlots":2,"returnSlots":0},"@setRequiredGMLevelByProposalType_20673":{"entryPoint":13280,"id":20673,"parameterSlots":2,"returnSlots":0},"@setVeBetterPassport_19120":{"entryPoint":10894,"id":19120,"parameterSlots":1,"returnSlots":0},"@setVoterRewards_19069":{"entryPoint":8627,"id":19069,"parameterSlots":1,"returnSlots":0},"@setWhitelistFunction_18981":{"entryPoint":11175,"id":18981,"parameterSlots":3,"returnSlots":0},"@setWhitelistFunctions_19004":{"entryPoint":9037,"id":19004,"parameterSlots":3,"returnSlots":0},"@setXAllocationVoting_19086":{"entryPoint":7220,"id":19086,"parameterSlots":1,"returnSlots":0},"@state_17814":{"entryPoint":7312,"id":17814,"parameterSlots":1,"returnSlots":1},"@supportsInterface_19435":{"entryPoint":5166,"id":19435,"parameterSlots":1,"returnSlots":1},"@timelockSalt_18367":{"entryPoint":8287,"id":18367,"parameterSlots":1,"returnSlots":1},"@timelockSalt_21490":{"entryPoint":null,"id":21490,"parameterSlots":2,"returnSlots":1},"@timelock_18428":{"entryPoint":null,"id":18428,"parameterSlots":0,"returnSlots":1},"@toggleQuadraticVoting_18959":{"entryPoint":9364,"id":18959,"parameterSlots":0,"returnSlots":0},"@token_17995":{"entryPoint":12518,"id":17995,"parameterSlots":0,"returnSlots":1},"@unpause_18702":{"entryPoint":7451,"id":18702,"parameterSlots":0,"returnSlots":0},"@updateQuorumNumeratorByType_19260":{"entryPoint":7138,"id":19260,"parameterSlots":2,"returnSlots":0},"@updateQuorumNumerator_18946":{"entryPoint":5687,"id":18946,"parameterSlots":1,"returnSlots":0},"@updateTimelock_19103":{"entryPoint":10570,"id":19103,"parameterSlots":1,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":7760,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":15760,"id":4825,"parameterSlots":2,"returnSlots":0},"@userVotedOnce_25493":{"entryPoint":14658,"id":25493,"parameterSlots":1,"returnSlots":1},"@veBetterPassport_18441":{"entryPoint":4882,"id":18441,"parameterSlots":0,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":16119,"id":5543,"parameterSlots":3,"returnSlots":1},"@verifyCallResult_5565":{"entryPoint":14791,"id":5565,"parameterSlots":2,"returnSlots":1},"@version_18323":{"entryPoint":null,"id":18323,"parameterSlots":0,"returnSlots":1},"@voterRewards_18380":{"entryPoint":9484,"id":18380,"parameterSlots":0,"returnSlots":1},"@votingPeriod_18102":{"entryPoint":5407,"id":18102,"parameterSlots":0,"returnSlots":1},"@votingThresholdByProposalType_17919":{"entryPoint":6392,"id":17919,"parameterSlots":1,"returnSlots":1},"@withdraw_18914":{"entryPoint":4910,"id":18914,"parameterSlots":2,"returnSlots":0},"@xAllocationVoting_18393":{"entryPoint":12133,"id":18393,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":16243,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_address_dyn":{"entryPoint":16412,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes_dyn":{"entryPoint":16739,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":16528,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bool":{"entryPoint":17789,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_bytes":{"entryPoint":16658,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes4":{"entryPoint":17111,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_enum_ProposalType":{"entryPoint":17162,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_calldata":{"entryPoint":18272,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":20948,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr":{"entryPoint":18718,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":17401,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr":{"entryPoint":19221,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool":{"entryPoint":18435,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes4":{"entryPoint":18228,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_bytes4t_bool":{"entryPoint":18891,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":17829,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":18623,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptr":{"entryPoint":18964,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32":{"entryPoint":17508,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr":{"entryPoint":19031,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256":{"entryPoint":18038,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr":{"entryPoint":16866,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory":{"entryPoint":19995,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool":{"entryPoint":17800,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":20308,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":17135,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IGalaxyMember_$65196":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IGrantsManager_$65639":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_contract$_IRelayerRewardsPool_$67117t_uint256":{"entryPoint":18653,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117":{"entryPoint":17345,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVoterRewards_$69092":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ProposalType_$25017":{"entryPoint":17374,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ProposalType_$25017t_uint256":{"entryPoint":17733,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":19886,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":17221,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":19634,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":16259,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_enum$_ProposalType_$25017":{"entryPoint":17177,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":19187,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint8":{"entryPoint":18001,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint8t_string_calldata_ptr":{"entryPoint":18344,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":20444,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8_fromMemory":{"entryPoint":19837,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_address_dyn":{"entryPoint":19348,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_bytes_dyn":{"entryPoint":19405,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_uint256_dyn":{"entryPoint":17908,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_enum_ProposalType":{"entryPoint":17673,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_string":{"entryPoint":17282,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":20509,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21010,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_library_reversed":{"entryPoint":19744,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__to_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__fromStack_library_reversed":{"entryPoint":20337,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__to_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":20525,"id":null,"parameterSlots":8,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes4_t_bool__to_t_address_t_bytes4_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed":{"entryPoint":20484,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed":{"entryPoint":20756,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_library_reversed":{"entryPoint":20128,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":19490,"id":null,"parameterSlots":9,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":17967,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVOT3_$67719__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed":{"entryPoint":16202,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_TimelockControllerUpgradeable_$1478__to_t_address_payable__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalState_$24992__to_t_uint8__fromStack_reversed":{"entryPoint":17707,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$25017__to_t_uint8__fromStack_reversed":{"entryPoint":17693,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$25017_t_uint256__to_t_uint8_t_uint256__fromStack_library_reversed":{"entryPoint":19659,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$25017_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":20725,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":17326,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_096ae311bbf883441d1e958bdfda57bb077dea240bf7202223551a9a4647baf8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":20647,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_eaea7d257a822205258705325c1b0de9934deb59acc46f41876c156fe96e7b0b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":19325,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint8_t_string_calldata_ptr__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":20227,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint8_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$25017__to_t_uint256_t_uint8__fromStack_library_reversed":{"entryPoint":19866,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint8__to_t_uint256_t_uint8__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":16329,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_array_address_dyn":{"entryPoint":16377,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_bytes":{"entryPoint":16619,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":20977,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":17246,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":19686,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x21":{"entryPoint":17651,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":16307,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":16222,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":17775,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":17986,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:47740:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"142:102:150","statements":[{"nodeType":"YulAssignment","src":"152:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"164:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"175:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"160:3:150"},"nodeType":"YulFunctionCall","src":"160:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"152:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"194:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"209:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"230:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"221:3:150"},"nodeType":"YulFunctionCall","src":"221:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"234:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"217:3:150"},"nodeType":"YulFunctionCall","src":"217:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"205:3:150"},"nodeType":"YulFunctionCall","src":"205:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"187:6:150"},"nodeType":"YulFunctionCall","src":"187:51:150"},"nodeType":"YulExpressionStatement","src":"187:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"111:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"122:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"133:4:150","type":""}],"src":"14:230:150"},{"body":{"nodeType":"YulBlock","src":"294:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"358:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"367:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"370:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"360:6:150"},"nodeType":"YulFunctionCall","src":"360:12:150"},"nodeType":"YulExpressionStatement","src":"360:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"317:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"328:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"343:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"348:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"339:3:150"},"nodeType":"YulFunctionCall","src":"339:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"352:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"335:3:150"},"nodeType":"YulFunctionCall","src":"335:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"324:3:150"},"nodeType":"YulFunctionCall","src":"324:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"314:2:150"},"nodeType":"YulFunctionCall","src":"314:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"307:6:150"},"nodeType":"YulFunctionCall","src":"307:50:150"},"nodeType":"YulIf","src":"304:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"283:5:150","type":""}],"src":"249:131:150"},{"body":{"nodeType":"YulBlock","src":"434:85:150","statements":[{"nodeType":"YulAssignment","src":"444:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"466:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"453:12:150"},"nodeType":"YulFunctionCall","src":"453:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"444:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"507:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"482:24:150"},"nodeType":"YulFunctionCall","src":"482:31:150"},"nodeType":"YulExpressionStatement","src":"482:31:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"413:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"424:5:150","type":""}],"src":"385:134:150"},{"body":{"nodeType":"YulBlock","src":"611:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"657:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"666:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"669:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"659:6:150"},"nodeType":"YulFunctionCall","src":"659:12:150"},"nodeType":"YulExpressionStatement","src":"659:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"632:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"641:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"628:3:150"},"nodeType":"YulFunctionCall","src":"628:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"653:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"624:3:150"},"nodeType":"YulFunctionCall","src":"624:32:150"},"nodeType":"YulIf","src":"621:52:150"},{"nodeType":"YulAssignment","src":"682:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"705:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"692:12:150"},"nodeType":"YulFunctionCall","src":"692:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"682:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"724:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"754:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"765:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"750:3:150"},"nodeType":"YulFunctionCall","src":"750:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"737:12:150"},"nodeType":"YulFunctionCall","src":"737:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"728:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"803:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"778:24:150"},"nodeType":"YulFunctionCall","src":"778:31:150"},"nodeType":"YulExpressionStatement","src":"778:31:150"},{"nodeType":"YulAssignment","src":"818:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"828:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"818:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"569:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"580:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"592:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"600:6:150","type":""}],"src":"524:315:150"},{"body":{"nodeType":"YulBlock","src":"876:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"893:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"900:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"905:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"896:3:150"},"nodeType":"YulFunctionCall","src":"896:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"886:6:150"},"nodeType":"YulFunctionCall","src":"886:31:150"},"nodeType":"YulExpressionStatement","src":"886:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"933:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"936:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"926:6:150"},"nodeType":"YulFunctionCall","src":"926:15:150"},"nodeType":"YulExpressionStatement","src":"926:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"957:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"960:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"950:6:150"},"nodeType":"YulFunctionCall","src":"950:15:150"},"nodeType":"YulExpressionStatement","src":"950:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"844:127:150"},{"body":{"nodeType":"YulBlock","src":"1021:230:150","statements":[{"nodeType":"YulAssignment","src":"1031:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1047:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1041:5:150"},"nodeType":"YulFunctionCall","src":"1041:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1031:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1059:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1081:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"1097:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"1103:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1093:3:150"},"nodeType":"YulFunctionCall","src":"1093:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1112:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1108:3:150"},"nodeType":"YulFunctionCall","src":"1108:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1089:3:150"},"nodeType":"YulFunctionCall","src":"1089:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1077:3:150"},"nodeType":"YulFunctionCall","src":"1077:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1063:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1192:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1194:16:150"},"nodeType":"YulFunctionCall","src":"1194:18:150"},"nodeType":"YulExpressionStatement","src":"1194:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1135:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1155:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1159:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1151:3:150"},"nodeType":"YulFunctionCall","src":"1151:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1163:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1147:3:150"},"nodeType":"YulFunctionCall","src":"1147:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1132:2:150"},"nodeType":"YulFunctionCall","src":"1132:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1171:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1183:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1168:2:150"},"nodeType":"YulFunctionCall","src":"1168:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1129:2:150"},"nodeType":"YulFunctionCall","src":"1129:62:150"},"nodeType":"YulIf","src":"1126:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1230:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1234:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1223:6:150"},"nodeType":"YulFunctionCall","src":"1223:22:150"},"nodeType":"YulExpressionStatement","src":"1223:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1001:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1010:6:150","type":""}],"src":"976:275:150"},{"body":{"nodeType":"YulBlock","src":"1325:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"1369:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1371:16:150"},"nodeType":"YulFunctionCall","src":"1371:18:150"},"nodeType":"YulExpressionStatement","src":"1371:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1341:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1357:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1361:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1353:3:150"},"nodeType":"YulFunctionCall","src":"1353:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1365:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1349:3:150"},"nodeType":"YulFunctionCall","src":"1349:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1338:2:150"},"nodeType":"YulFunctionCall","src":"1338:30:150"},"nodeType":"YulIf","src":"1335:56:150"},{"nodeType":"YulAssignment","src":"1400:33:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1416:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"1419:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1412:3:150"},"nodeType":"YulFunctionCall","src":"1412:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"1428:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1408:3:150"},"nodeType":"YulFunctionCall","src":"1408:25:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"1400:4:150"}]}]},"name":"array_allocation_size_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"1305:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"1316:4:150","type":""}],"src":"1256:183:150"},{"body":{"nodeType":"YulBlock","src":"1508:673:150","statements":[{"body":{"nodeType":"YulBlock","src":"1557:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1566:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1569:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1559:6:150"},"nodeType":"YulFunctionCall","src":"1559:12:150"},"nodeType":"YulExpressionStatement","src":"1559:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1536:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1544:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1532:3:150"},"nodeType":"YulFunctionCall","src":"1532:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"1551:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1528:3:150"},"nodeType":"YulFunctionCall","src":"1528:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1521:6:150"},"nodeType":"YulFunctionCall","src":"1521:35:150"},"nodeType":"YulIf","src":"1518:55:150"},{"nodeType":"YulVariableDeclaration","src":"1582:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1605:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1592:12:150"},"nodeType":"YulFunctionCall","src":"1592:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1586:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1621:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1631:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1625:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1644:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1711:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"1671:39:150"},"nodeType":"YulFunctionCall","src":"1671:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1655:15:150"},"nodeType":"YulFunctionCall","src":"1655:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1648:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1724:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"1737:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"1728:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1756:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1761:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1749:6:150"},"nodeType":"YulFunctionCall","src":"1749:15:150"},"nodeType":"YulExpressionStatement","src":"1749:15:150"},{"nodeType":"YulAssignment","src":"1773:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1784:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1789:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1780:3:150"},"nodeType":"YulFunctionCall","src":"1780:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1773:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1801:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1823:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1835:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1838:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1831:3:150"},"nodeType":"YulFunctionCall","src":"1831:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1819:3:150"},"nodeType":"YulFunctionCall","src":"1819:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1844:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1815:3:150"},"nodeType":"YulFunctionCall","src":"1815:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1805:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1875:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1884:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1887:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1877:6:150"},"nodeType":"YulFunctionCall","src":"1877:12:150"},"nodeType":"YulExpressionStatement","src":"1877:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1862:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"1870:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1859:2:150"},"nodeType":"YulFunctionCall","src":"1859:15:150"},"nodeType":"YulIf","src":"1856:35:150"},{"nodeType":"YulVariableDeclaration","src":"1900:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1915:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1923:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1911:3:150"},"nodeType":"YulFunctionCall","src":"1911:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1904:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1991:161:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2005:30:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2031:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2018:12:150"},"nodeType":"YulFunctionCall","src":"2018:17:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2009:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2073:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2048:24:150"},"nodeType":"YulFunctionCall","src":"2048:31:150"},"nodeType":"YulExpressionStatement","src":"2048:31:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2099:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"2104:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2092:6:150"},"nodeType":"YulFunctionCall","src":"2092:18:150"},"nodeType":"YulExpressionStatement","src":"2092:18:150"},{"nodeType":"YulAssignment","src":"2123:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2134:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2139:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2130:3:150"},"nodeType":"YulFunctionCall","src":"2130:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2123:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1946:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1951:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1943:2:150"},"nodeType":"YulFunctionCall","src":"1943:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1959:23:150","statements":[{"nodeType":"YulAssignment","src":"1961:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1972:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1977:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1968:3:150"},"nodeType":"YulFunctionCall","src":"1968:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1961:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1939:3:150","statements":[]},"src":"1935:217:150"},{"nodeType":"YulAssignment","src":"2161:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2170:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2161:5:150"}]}]},"name":"abi_decode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1482:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"1490:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1498:5:150","type":""}],"src":"1444:737:150"},{"body":{"nodeType":"YulBlock","src":"2250:598:150","statements":[{"body":{"nodeType":"YulBlock","src":"2299:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2308:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2311:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2301:6:150"},"nodeType":"YulFunctionCall","src":"2301:12:150"},"nodeType":"YulExpressionStatement","src":"2301:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2278:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2286:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2274:3:150"},"nodeType":"YulFunctionCall","src":"2274:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"2293:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2270:3:150"},"nodeType":"YulFunctionCall","src":"2270:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2263:6:150"},"nodeType":"YulFunctionCall","src":"2263:35:150"},"nodeType":"YulIf","src":"2260:55:150"},{"nodeType":"YulVariableDeclaration","src":"2324:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2347:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2334:12:150"},"nodeType":"YulFunctionCall","src":"2334:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2328:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2363:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2373:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2367:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2386:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2453:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"2413:39:150"},"nodeType":"YulFunctionCall","src":"2413:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2397:15:150"},"nodeType":"YulFunctionCall","src":"2397:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2390:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2466:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"2479:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2470:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2498:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2503:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2491:6:150"},"nodeType":"YulFunctionCall","src":"2491:15:150"},"nodeType":"YulExpressionStatement","src":"2491:15:150"},{"nodeType":"YulAssignment","src":"2515:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2526:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2531:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2522:3:150"},"nodeType":"YulFunctionCall","src":"2522:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2515:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2543:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2565:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2577:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"2580:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2573:3:150"},"nodeType":"YulFunctionCall","src":"2573:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2561:3:150"},"nodeType":"YulFunctionCall","src":"2561:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2586:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2557:3:150"},"nodeType":"YulFunctionCall","src":"2557:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2547:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2617:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2626:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2629:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2619:6:150"},"nodeType":"YulFunctionCall","src":"2619:12:150"},"nodeType":"YulExpressionStatement","src":"2619:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2604:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"2612:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2601:2:150"},"nodeType":"YulFunctionCall","src":"2601:15:150"},"nodeType":"YulIf","src":"2598:35:150"},{"nodeType":"YulVariableDeclaration","src":"2642:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2657:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2665:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2653:3:150"},"nodeType":"YulFunctionCall","src":"2653:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2646:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2733:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2754:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2772:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2759:12:150"},"nodeType":"YulFunctionCall","src":"2759:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2747:6:150"},"nodeType":"YulFunctionCall","src":"2747:30:150"},"nodeType":"YulExpressionStatement","src":"2747:30:150"},{"nodeType":"YulAssignment","src":"2790:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2801:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2806:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2797:3:150"},"nodeType":"YulFunctionCall","src":"2797:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2790:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2688:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2693:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2685:2:150"},"nodeType":"YulFunctionCall","src":"2685:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2701:23:150","statements":[{"nodeType":"YulAssignment","src":"2703:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2714:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2719:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2710:3:150"},"nodeType":"YulFunctionCall","src":"2710:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2703:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"2681:3:150","statements":[]},"src":"2677:142:150"},{"nodeType":"YulAssignment","src":"2828:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2837:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2828:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2224:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"2232:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2240:5:150","type":""}],"src":"2186:662:150"},{"body":{"nodeType":"YulBlock","src":"2910:129:150","statements":[{"body":{"nodeType":"YulBlock","src":"2954:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2956:16:150"},"nodeType":"YulFunctionCall","src":"2956:18:150"},"nodeType":"YulExpressionStatement","src":"2956:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2926:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2942:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2946:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2938:3:150"},"nodeType":"YulFunctionCall","src":"2938:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2950:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2934:3:150"},"nodeType":"YulFunctionCall","src":"2934:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2923:2:150"},"nodeType":"YulFunctionCall","src":"2923:30:150"},"nodeType":"YulIf","src":"2920:56:150"},{"nodeType":"YulAssignment","src":"2985:48:150","value":{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3005:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3013:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3001:3:150"},"nodeType":"YulFunctionCall","src":"3001:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3022:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3018:3:150"},"nodeType":"YulFunctionCall","src":"3018:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2997:3:150"},"nodeType":"YulFunctionCall","src":"2997:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"3028:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2993:3:150"},"nodeType":"YulFunctionCall","src":"2993:40:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2985:4:150"}]}]},"name":"array_allocation_size_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2890:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2901:4:150","type":""}],"src":"2853:186:150"},{"body":{"nodeType":"YulBlock","src":"3096:410:150","statements":[{"body":{"nodeType":"YulBlock","src":"3145:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3154:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3157:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3147:6:150"},"nodeType":"YulFunctionCall","src":"3147:12:150"},"nodeType":"YulExpressionStatement","src":"3147:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3124:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3132:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3120:3:150"},"nodeType":"YulFunctionCall","src":"3120:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"3139:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3116:3:150"},"nodeType":"YulFunctionCall","src":"3116:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3109:6:150"},"nodeType":"YulFunctionCall","src":"3109:35:150"},"nodeType":"YulIf","src":"3106:55:150"},{"nodeType":"YulVariableDeclaration","src":"3170:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3193:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3180:12:150"},"nodeType":"YulFunctionCall","src":"3180:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3174:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3209:63:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3268:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"3240:27:150"},"nodeType":"YulFunctionCall","src":"3240:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3224:15:150"},"nodeType":"YulFunctionCall","src":"3224:48:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"3213:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3288:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3297:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3281:6:150"},"nodeType":"YulFunctionCall","src":"3281:19:150"},"nodeType":"YulExpressionStatement","src":"3281:19:150"},{"body":{"nodeType":"YulBlock","src":"3348:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3357:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3360:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3350:6:150"},"nodeType":"YulFunctionCall","src":"3350:12:150"},"nodeType":"YulExpressionStatement","src":"3350:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3323:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3331:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3319:3:150"},"nodeType":"YulFunctionCall","src":"3319:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"3336:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3315:3:150"},"nodeType":"YulFunctionCall","src":"3315:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"3343:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3312:2:150"},"nodeType":"YulFunctionCall","src":"3312:35:150"},"nodeType":"YulIf","src":"3309:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3390:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"3399:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3386:3:150"},"nodeType":"YulFunctionCall","src":"3386:18:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3410:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3418:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3406:3:150"},"nodeType":"YulFunctionCall","src":"3406:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3425:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3373:12:150"},"nodeType":"YulFunctionCall","src":"3373:55:150"},"nodeType":"YulExpressionStatement","src":"3373:55:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3452:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3461:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3448:3:150"},"nodeType":"YulFunctionCall","src":"3448:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"3466:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3444:3:150"},"nodeType":"YulFunctionCall","src":"3444:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"3473:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3437:6:150"},"nodeType":"YulFunctionCall","src":"3437:38:150"},"nodeType":"YulExpressionStatement","src":"3437:38:150"},{"nodeType":"YulAssignment","src":"3484:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"3493:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3484:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3070:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"3078:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3086:5:150","type":""}],"src":"3044:462:150"},{"body":{"nodeType":"YulBlock","src":"3573:824:150","statements":[{"body":{"nodeType":"YulBlock","src":"3622:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3631:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3634:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3624:6:150"},"nodeType":"YulFunctionCall","src":"3624:12:150"},"nodeType":"YulExpressionStatement","src":"3624:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3601:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3609:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3597:3:150"},"nodeType":"YulFunctionCall","src":"3597:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"3616:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3593:3:150"},"nodeType":"YulFunctionCall","src":"3593:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3586:6:150"},"nodeType":"YulFunctionCall","src":"3586:35:150"},"nodeType":"YulIf","src":"3583:55:150"},{"nodeType":"YulVariableDeclaration","src":"3647:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3670:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3657:12:150"},"nodeType":"YulFunctionCall","src":"3657:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3651:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3686:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3696:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3690:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3709:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3776:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"3736:39:150"},"nodeType":"YulFunctionCall","src":"3736:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3720:15:150"},"nodeType":"YulFunctionCall","src":"3720:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3713:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3789:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"3802:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"3793:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3821:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3826:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3814:6:150"},"nodeType":"YulFunctionCall","src":"3814:15:150"},"nodeType":"YulExpressionStatement","src":"3814:15:150"},{"nodeType":"YulAssignment","src":"3838:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3849:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3854:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3845:3:150"},"nodeType":"YulFunctionCall","src":"3845:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3838:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"3866:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3888:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3900:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"3903:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3896:3:150"},"nodeType":"YulFunctionCall","src":"3896:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3884:3:150"},"nodeType":"YulFunctionCall","src":"3884:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3909:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3880:3:150"},"nodeType":"YulFunctionCall","src":"3880:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"3870:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3940:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3949:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3952:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3942:6:150"},"nodeType":"YulFunctionCall","src":"3942:12:150"},"nodeType":"YulExpressionStatement","src":"3942:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"3927:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"3935:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3924:2:150"},"nodeType":"YulFunctionCall","src":"3924:15:150"},"nodeType":"YulIf","src":"3921:35:150"},{"nodeType":"YulVariableDeclaration","src":"3965:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3980:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3988:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3976:3:150"},"nodeType":"YulFunctionCall","src":"3976:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3969:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4056:312:150","statements":[{"nodeType":"YulVariableDeclaration","src":"4070:36:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4102:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4089:12:150"},"nodeType":"YulFunctionCall","src":"4089:17:150"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"4074:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4170:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"4188:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4198:1:150","type":"","value":"0"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"4192:2:150","type":""}]},{"expression":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4223:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"4227:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4216:6:150"},"nodeType":"YulFunctionCall","src":"4216:14:150"},"nodeType":"YulExpressionStatement","src":"4216:14:150"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"4125:11:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4146:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4150:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4142:3:150"},"nodeType":"YulFunctionCall","src":"4142:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4154:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4138:3:150"},"nodeType":"YulFunctionCall","src":"4138:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4122:2:150"},"nodeType":"YulFunctionCall","src":"4122:35:150"},"nodeType":"YulIf","src":"4119:125:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4264:3:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4294:6:150"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"4302:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4290:3:150"},"nodeType":"YulFunctionCall","src":"4290:24:150"},{"name":"_2","nodeType":"YulIdentifier","src":"4316:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4286:3:150"},"nodeType":"YulFunctionCall","src":"4286:33:150"},{"name":"end","nodeType":"YulIdentifier","src":"4321:3:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4269:16:150"},"nodeType":"YulFunctionCall","src":"4269:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4257:6:150"},"nodeType":"YulFunctionCall","src":"4257:69:150"},"nodeType":"YulExpressionStatement","src":"4257:69:150"},{"nodeType":"YulAssignment","src":"4339:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4350:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"4355:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4346:3:150"},"nodeType":"YulFunctionCall","src":"4346:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"4339:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4011:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"4016:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4008:2:150"},"nodeType":"YulFunctionCall","src":"4008:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4024:23:150","statements":[{"nodeType":"YulAssignment","src":"4026:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4037:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"4042:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4033:3:150"},"nodeType":"YulFunctionCall","src":"4033:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"4026:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"4004:3:150","statements":[]},"src":"4000:368:150"},{"nodeType":"YulAssignment","src":"4377:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"4386:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"4377:5:150"}]}]},"name":"abi_decode_array_bytes_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3547:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"3555:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3563:5:150","type":""}],"src":"3511:886:150"},{"body":{"nodeType":"YulBlock","src":"4695:1148:150","statements":[{"body":{"nodeType":"YulBlock","src":"4742:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4751:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4754:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4744:6:150"},"nodeType":"YulFunctionCall","src":"4744:12:150"},"nodeType":"YulExpressionStatement","src":"4744:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4716:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4725:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4712:3:150"},"nodeType":"YulFunctionCall","src":"4712:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4737:3:150","type":"","value":"256"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4708:3:150"},"nodeType":"YulFunctionCall","src":"4708:33:150"},"nodeType":"YulIf","src":"4705:53:150"},{"nodeType":"YulVariableDeclaration","src":"4767:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4794:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4781:12:150"},"nodeType":"YulFunctionCall","src":"4781:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4771:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4813:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4831:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4835:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4827:3:150"},"nodeType":"YulFunctionCall","src":"4827:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4839:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4823:3:150"},"nodeType":"YulFunctionCall","src":"4823:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4817:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4868:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4877:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4880:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4870:6:150"},"nodeType":"YulFunctionCall","src":"4870:12:150"},"nodeType":"YulExpressionStatement","src":"4870:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4856:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4864:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4853:2:150"},"nodeType":"YulFunctionCall","src":"4853:14:150"},"nodeType":"YulIf","src":"4850:34:150"},{"nodeType":"YulAssignment","src":"4893:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4936:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"4947:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4932:3:150"},"nodeType":"YulFunctionCall","src":"4932:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4956:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"4903:28:150"},"nodeType":"YulFunctionCall","src":"4903:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4893:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4973:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5006:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5017:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5002:3:150"},"nodeType":"YulFunctionCall","src":"5002:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4989:12:150"},"nodeType":"YulFunctionCall","src":"4989:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4977:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5050:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5059:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5062:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5052:6:150"},"nodeType":"YulFunctionCall","src":"5052:12:150"},"nodeType":"YulExpressionStatement","src":"5052:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"5036:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5046:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5033:2:150"},"nodeType":"YulFunctionCall","src":"5033:16:150"},"nodeType":"YulIf","src":"5030:36:150"},{"nodeType":"YulAssignment","src":"5075:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5118:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"5129:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5114:3:150"},"nodeType":"YulFunctionCall","src":"5114:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5140:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"5085:28:150"},"nodeType":"YulFunctionCall","src":"5085:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5075:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5157:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5190:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5201:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5186:3:150"},"nodeType":"YulFunctionCall","src":"5186:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5173:12:150"},"nodeType":"YulFunctionCall","src":"5173:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"5161:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5234:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5243:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5246:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5236:6:150"},"nodeType":"YulFunctionCall","src":"5236:12:150"},"nodeType":"YulExpressionStatement","src":"5236:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"5220:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5230:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5217:2:150"},"nodeType":"YulFunctionCall","src":"5217:16:150"},"nodeType":"YulIf","src":"5214:36:150"},{"nodeType":"YulAssignment","src":"5259:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5300:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"5311:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5296:3:150"},"nodeType":"YulFunctionCall","src":"5296:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5322:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"5269:26:150"},"nodeType":"YulFunctionCall","src":"5269:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5259:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5339:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5372:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5383:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5368:3:150"},"nodeType":"YulFunctionCall","src":"5368:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5355:12:150"},"nodeType":"YulFunctionCall","src":"5355:32:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"5343:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5416:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5425:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5428:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5418:6:150"},"nodeType":"YulFunctionCall","src":"5418:12:150"},"nodeType":"YulExpressionStatement","src":"5418:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"5402:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5412:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5399:2:150"},"nodeType":"YulFunctionCall","src":"5399:16:150"},"nodeType":"YulIf","src":"5396:36:150"},{"nodeType":"YulAssignment","src":"5441:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5472:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"5483:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5468:3:150"},"nodeType":"YulFunctionCall","src":"5468:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5494:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"5451:16:150"},"nodeType":"YulFunctionCall","src":"5451:51:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5441:6:150"}]},{"nodeType":"YulAssignment","src":"5511:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5538:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5549:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5534:3:150"},"nodeType":"YulFunctionCall","src":"5534:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5521:12:150"},"nodeType":"YulFunctionCall","src":"5521:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"5511:6:150"}]},{"nodeType":"YulAssignment","src":"5563:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5590:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5601:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5586:3:150"},"nodeType":"YulFunctionCall","src":"5586:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5573:12:150"},"nodeType":"YulFunctionCall","src":"5573:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"5563:6:150"}]},{"nodeType":"YulAssignment","src":"5615:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5648:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5659:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5644:3:150"},"nodeType":"YulFunctionCall","src":"5644:19:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5625:18:150"},"nodeType":"YulFunctionCall","src":"5625:39:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"5615:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5673:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5706:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5717:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5702:3:150"},"nodeType":"YulFunctionCall","src":"5702:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5689:12:150"},"nodeType":"YulFunctionCall","src":"5689:33:150"},"variables":[{"name":"offset_4","nodeType":"YulTypedName","src":"5677:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5751:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5760:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5763:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5753:6:150"},"nodeType":"YulFunctionCall","src":"5753:12:150"},"nodeType":"YulExpressionStatement","src":"5753:12:150"}]},"condition":{"arguments":[{"name":"offset_4","nodeType":"YulIdentifier","src":"5737:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5747:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5734:2:150"},"nodeType":"YulFunctionCall","src":"5734:16:150"},"nodeType":"YulIf","src":"5731:36:150"},{"nodeType":"YulAssignment","src":"5776:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5807:9:150"},{"name":"offset_4","nodeType":"YulIdentifier","src":"5818:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5803:3:150"},"nodeType":"YulFunctionCall","src":"5803:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5829:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"5786:16:150"},"nodeType":"YulFunctionCall","src":"5786:51:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"5776:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4605:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4616:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4628:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4636:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4644:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4652:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4660:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4668:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"4676:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"4684:6:150","type":""}],"src":"4402:1441:150"},{"body":{"nodeType":"YulBlock","src":"5949:76:150","statements":[{"nodeType":"YulAssignment","src":"5959:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5971:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5982:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5967:3:150"},"nodeType":"YulFunctionCall","src":"5967:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5959:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6001:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"6012:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5994:6:150"},"nodeType":"YulFunctionCall","src":"5994:25:150"},"nodeType":"YulExpressionStatement","src":"5994:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5918:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5929:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5940:4:150","type":""}],"src":"5848:177:150"},{"body":{"nodeType":"YulBlock","src":"6078:125:150","statements":[{"nodeType":"YulAssignment","src":"6088:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6110:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6097:12:150"},"nodeType":"YulFunctionCall","src":"6097:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6088:5:150"}]},{"body":{"nodeType":"YulBlock","src":"6181:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6190:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6193:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6183:6:150"},"nodeType":"YulFunctionCall","src":"6183:12:150"},"nodeType":"YulExpressionStatement","src":"6183:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6139:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6150:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6161:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6166:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6157:3:150"},"nodeType":"YulFunctionCall","src":"6157:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6146:3:150"},"nodeType":"YulFunctionCall","src":"6146:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6136:2:150"},"nodeType":"YulFunctionCall","src":"6136:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6129:6:150"},"nodeType":"YulFunctionCall","src":"6129:51:150"},"nodeType":"YulIf","src":"6126:71:150"}]},"name":"abi_decode_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6057:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6068:5:150","type":""}],"src":"6030:173:150"},{"body":{"nodeType":"YulBlock","src":"6277:115:150","statements":[{"body":{"nodeType":"YulBlock","src":"6323:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6332:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6335:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6325:6:150"},"nodeType":"YulFunctionCall","src":"6325:12:150"},"nodeType":"YulExpressionStatement","src":"6325:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6298:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6307:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6294:3:150"},"nodeType":"YulFunctionCall","src":"6294:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6319:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6290:3:150"},"nodeType":"YulFunctionCall","src":"6290:32:150"},"nodeType":"YulIf","src":"6287:52:150"},{"nodeType":"YulAssignment","src":"6348:38:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6376:9:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"6358:17:150"},"nodeType":"YulFunctionCall","src":"6358:28:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6348:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6243:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6254:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6266:6:150","type":""}],"src":"6208:184:150"},{"body":{"nodeType":"YulBlock","src":"6492:92:150","statements":[{"nodeType":"YulAssignment","src":"6502:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6514:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6525:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6510:3:150"},"nodeType":"YulFunctionCall","src":"6510:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6502:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6544:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6569:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6562:6:150"},"nodeType":"YulFunctionCall","src":"6562:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6555:6:150"},"nodeType":"YulFunctionCall","src":"6555:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6537:6:150"},"nodeType":"YulFunctionCall","src":"6537:41:150"},"nodeType":"YulExpressionStatement","src":"6537:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6461:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6472:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6483:4:150","type":""}],"src":"6397:187:150"},{"body":{"nodeType":"YulBlock","src":"6648:94:150","statements":[{"nodeType":"YulAssignment","src":"6658:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6680:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6667:12:150"},"nodeType":"YulFunctionCall","src":"6667:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6658:5:150"}]},{"body":{"nodeType":"YulBlock","src":"6720:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6729:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6732:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6722:6:150"},"nodeType":"YulFunctionCall","src":"6722:12:150"},"nodeType":"YulExpressionStatement","src":"6722:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6709:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"6716:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6706:2:150"},"nodeType":"YulFunctionCall","src":"6706:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6699:6:150"},"nodeType":"YulFunctionCall","src":"6699:20:150"},"nodeType":"YulIf","src":"6696:40:150"}]},"name":"abi_decode_enum_ProposalType","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6627:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6638:5:150","type":""}],"src":"6589:153:150"},{"body":{"nodeType":"YulBlock","src":"6852:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"6898:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6907:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6910:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6900:6:150"},"nodeType":"YulFunctionCall","src":"6900:12:150"},"nodeType":"YulExpressionStatement","src":"6900:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6873:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6882:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6869:3:150"},"nodeType":"YulFunctionCall","src":"6869:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6894:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6865:3:150"},"nodeType":"YulFunctionCall","src":"6865:32:150"},"nodeType":"YulIf","src":"6862:52:150"},{"nodeType":"YulAssignment","src":"6923:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6946:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6933:12:150"},"nodeType":"YulFunctionCall","src":"6933:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6923:6:150"}]},{"nodeType":"YulAssignment","src":"6965:58:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7008:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7019:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7004:3:150"},"nodeType":"YulFunctionCall","src":"7004:18:150"}],"functionName":{"name":"abi_decode_enum_ProposalType","nodeType":"YulIdentifier","src":"6975:28:150"},"nodeType":"YulFunctionCall","src":"6975:48:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6965:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_enum$_ProposalType_$25017","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6810:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6821:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6833:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6841:6:150","type":""}],"src":"6747:282:150"},{"body":{"nodeType":"YulBlock","src":"7104:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"7150:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7159:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7162:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7152:6:150"},"nodeType":"YulFunctionCall","src":"7152:12:150"},"nodeType":"YulExpressionStatement","src":"7152:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7125:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7134:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7121:3:150"},"nodeType":"YulFunctionCall","src":"7121:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7146:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7117:3:150"},"nodeType":"YulFunctionCall","src":"7117:32:150"},"nodeType":"YulIf","src":"7114:52:150"},{"nodeType":"YulAssignment","src":"7175:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7198:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7185:12:150"},"nodeType":"YulFunctionCall","src":"7185:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7175:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7070:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7081:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7093:6:150","type":""}],"src":"7034:180:150"},{"body":{"nodeType":"YulBlock","src":"7285:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7295:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7304:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7299:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7364:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7389:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"7394:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7385:3:150"},"nodeType":"YulFunctionCall","src":"7385:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7408:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"7413:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7404:3:150"},"nodeType":"YulFunctionCall","src":"7404:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7398:5:150"},"nodeType":"YulFunctionCall","src":"7398:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7378:6:150"},"nodeType":"YulFunctionCall","src":"7378:39:150"},"nodeType":"YulExpressionStatement","src":"7378:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7325:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"7328:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7322:2:150"},"nodeType":"YulFunctionCall","src":"7322:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7336:19:150","statements":[{"nodeType":"YulAssignment","src":"7338:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7347:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"7350:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7343:3:150"},"nodeType":"YulFunctionCall","src":"7343:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7338:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"7318:3:150","statements":[]},"src":"7314:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7447:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"7452:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7443:3:150"},"nodeType":"YulFunctionCall","src":"7443:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"7461:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7436:6:150"},"nodeType":"YulFunctionCall","src":"7436:27:150"},"nodeType":"YulExpressionStatement","src":"7436:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"7263:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"7268:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"7273:6:150","type":""}],"src":"7219:250:150"},{"body":{"nodeType":"YulBlock","src":"7524:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7534:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7554:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7548:5:150"},"nodeType":"YulFunctionCall","src":"7548:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7538:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7576:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"7581:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7569:6:150"},"nodeType":"YulFunctionCall","src":"7569:19:150"},"nodeType":"YulExpressionStatement","src":"7569:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7636:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"7643:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7632:3:150"},"nodeType":"YulFunctionCall","src":"7632:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7654:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"7659:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7650:3:150"},"nodeType":"YulFunctionCall","src":"7650:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"7666:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"7597:34:150"},"nodeType":"YulFunctionCall","src":"7597:76:150"},"nodeType":"YulExpressionStatement","src":"7597:76:150"},{"nodeType":"YulAssignment","src":"7682:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7697:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7710:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7718:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7706:3:150"},"nodeType":"YulFunctionCall","src":"7706:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7727:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7723:3:150"},"nodeType":"YulFunctionCall","src":"7723:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7702:3:150"},"nodeType":"YulFunctionCall","src":"7702:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7693:3:150"},"nodeType":"YulFunctionCall","src":"7693:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"7734:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7689:3:150"},"nodeType":"YulFunctionCall","src":"7689:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7682:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7501:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7508:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7516:3:150","type":""}],"src":"7474:271:150"},{"body":{"nodeType":"YulBlock","src":"7871:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7888:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7899:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7881:6:150"},"nodeType":"YulFunctionCall","src":"7881:21:150"},"nodeType":"YulExpressionStatement","src":"7881:21:150"},{"nodeType":"YulAssignment","src":"7911:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7937:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7949:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7960:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7945:3:150"},"nodeType":"YulFunctionCall","src":"7945:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"7919:17:150"},"nodeType":"YulFunctionCall","src":"7919:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7911:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7840:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7851:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7862:4:150","type":""}],"src":"7750:220:150"},{"body":{"nodeType":"YulBlock","src":"8074:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"8120:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8129:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8132:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8122:6:150"},"nodeType":"YulFunctionCall","src":"8122:12:150"},"nodeType":"YulExpressionStatement","src":"8122:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8095:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8104:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8091:3:150"},"nodeType":"YulFunctionCall","src":"8091:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8116:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8087:3:150"},"nodeType":"YulFunctionCall","src":"8087:32:150"},"nodeType":"YulIf","src":"8084:52:150"},{"nodeType":"YulVariableDeclaration","src":"8145:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8171:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8158:12:150"},"nodeType":"YulFunctionCall","src":"8158:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8149:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8215:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"8190:24:150"},"nodeType":"YulFunctionCall","src":"8190:31:150"},"nodeType":"YulExpressionStatement","src":"8190:31:150"},{"nodeType":"YulAssignment","src":"8230:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"8240:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8230:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8040:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8051:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8063:6:150","type":""}],"src":"7975:276:150"},{"body":{"nodeType":"YulBlock","src":"8344:126:150","statements":[{"body":{"nodeType":"YulBlock","src":"8390:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8399:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8402:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8392:6:150"},"nodeType":"YulFunctionCall","src":"8392:12:150"},"nodeType":"YulExpressionStatement","src":"8392:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8365:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8374:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8361:3:150"},"nodeType":"YulFunctionCall","src":"8361:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8386:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8357:3:150"},"nodeType":"YulFunctionCall","src":"8357:32:150"},"nodeType":"YulIf","src":"8354:52:150"},{"nodeType":"YulAssignment","src":"8415:49:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8454:9:150"}],"functionName":{"name":"abi_decode_enum_ProposalType","nodeType":"YulIdentifier","src":"8425:28:150"},"nodeType":"YulFunctionCall","src":"8425:39:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8415:6:150"}]}]},"name":"abi_decode_tuple_t_enum$_ProposalType_$25017","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8310:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8321:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8333:6:150","type":""}],"src":"8256:214:150"},{"body":{"nodeType":"YulBlock","src":"8576:102:150","statements":[{"nodeType":"YulAssignment","src":"8586:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8598:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8609:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8594:3:150"},"nodeType":"YulFunctionCall","src":"8594:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8586:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8628:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8643:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8659:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8664:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8655:3:150"},"nodeType":"YulFunctionCall","src":"8655:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8668:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8651:3:150"},"nodeType":"YulFunctionCall","src":"8651:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8639:3:150"},"nodeType":"YulFunctionCall","src":"8639:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8621:6:150"},"nodeType":"YulFunctionCall","src":"8621:51:150"},"nodeType":"YulExpressionStatement","src":"8621:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8545:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8556:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8567:4:150","type":""}],"src":"8475:203:150"},{"body":{"nodeType":"YulBlock","src":"8813:535:150","statements":[{"body":{"nodeType":"YulBlock","src":"8860:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8869:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8872:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8862:6:150"},"nodeType":"YulFunctionCall","src":"8862:12:150"},"nodeType":"YulExpressionStatement","src":"8862:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8834:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8843:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8830:3:150"},"nodeType":"YulFunctionCall","src":"8830:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8855:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8826:3:150"},"nodeType":"YulFunctionCall","src":"8826:33:150"},"nodeType":"YulIf","src":"8823:53:150"},{"nodeType":"YulVariableDeclaration","src":"8885:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8911:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8898:12:150"},"nodeType":"YulFunctionCall","src":"8898:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8889:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8955:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"8930:24:150"},"nodeType":"YulFunctionCall","src":"8930:31:150"},"nodeType":"YulExpressionStatement","src":"8930:31:150"},{"nodeType":"YulAssignment","src":"8970:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"8980:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8970:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8994:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9026:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9037:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9022:3:150"},"nodeType":"YulFunctionCall","src":"9022:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9009:12:150"},"nodeType":"YulFunctionCall","src":"9009:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"8998:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"9075:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"9050:24:150"},"nodeType":"YulFunctionCall","src":"9050:33:150"},"nodeType":"YulExpressionStatement","src":"9050:33:150"},{"nodeType":"YulAssignment","src":"9092:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"9102:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9092:6:150"}]},{"nodeType":"YulAssignment","src":"9118:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9145:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9156:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9141:3:150"},"nodeType":"YulFunctionCall","src":"9141:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9128:12:150"},"nodeType":"YulFunctionCall","src":"9128:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9118:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9169:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9200:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9211:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9196:3:150"},"nodeType":"YulFunctionCall","src":"9196:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9183:12:150"},"nodeType":"YulFunctionCall","src":"9183:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9173:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9258:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9267:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9270:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9260:6:150"},"nodeType":"YulFunctionCall","src":"9260:12:150"},"nodeType":"YulExpressionStatement","src":"9260:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9230:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9246:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9250:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9242:3:150"},"nodeType":"YulFunctionCall","src":"9242:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9254:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9238:3:150"},"nodeType":"YulFunctionCall","src":"9238:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9227:2:150"},"nodeType":"YulFunctionCall","src":"9227:30:150"},"nodeType":"YulIf","src":"9224:50:150"},{"nodeType":"YulAssignment","src":"9283:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9314:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9325:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9310:3:150"},"nodeType":"YulFunctionCall","src":"9310:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9334:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9293:16:150"},"nodeType":"YulFunctionCall","src":"9293:49:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"9283:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8755:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8766:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8778:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8786:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8794:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8802:6:150","type":""}],"src":"8683:665:150"},{"body":{"nodeType":"YulBlock","src":"9452:103:150","statements":[{"nodeType":"YulAssignment","src":"9462:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9474:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9485:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9470:3:150"},"nodeType":"YulFunctionCall","src":"9470:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9462:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9504:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9519:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9531:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9536:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9527:3:150"},"nodeType":"YulFunctionCall","src":"9527:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9515:3:150"},"nodeType":"YulFunctionCall","src":"9515:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9497:6:150"},"nodeType":"YulFunctionCall","src":"9497:52:150"},"nodeType":"YulExpressionStatement","src":"9497:52:150"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9421:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9432:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9443:4:150","type":""}],"src":"9353:202:150"},{"body":{"nodeType":"YulBlock","src":"9765:692:150","statements":[{"body":{"nodeType":"YulBlock","src":"9812:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9821:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9824:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9814:6:150"},"nodeType":"YulFunctionCall","src":"9814:12:150"},"nodeType":"YulExpressionStatement","src":"9814:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9786:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9795:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9782:3:150"},"nodeType":"YulFunctionCall","src":"9782:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9807:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9778:3:150"},"nodeType":"YulFunctionCall","src":"9778:33:150"},"nodeType":"YulIf","src":"9775:53:150"},{"nodeType":"YulVariableDeclaration","src":"9837:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9864:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9851:12:150"},"nodeType":"YulFunctionCall","src":"9851:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9841:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9883:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9901:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9905:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9897:3:150"},"nodeType":"YulFunctionCall","src":"9897:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9909:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9893:3:150"},"nodeType":"YulFunctionCall","src":"9893:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9887:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9938:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9947:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9950:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9940:6:150"},"nodeType":"YulFunctionCall","src":"9940:12:150"},"nodeType":"YulExpressionStatement","src":"9940:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9926:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9934:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9923:2:150"},"nodeType":"YulFunctionCall","src":"9923:14:150"},"nodeType":"YulIf","src":"9920:34:150"},{"nodeType":"YulAssignment","src":"9963:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10006:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"10017:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10002:3:150"},"nodeType":"YulFunctionCall","src":"10002:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10026:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"9973:28:150"},"nodeType":"YulFunctionCall","src":"9973:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9963:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10043:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10076:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10087:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10072:3:150"},"nodeType":"YulFunctionCall","src":"10072:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10059:12:150"},"nodeType":"YulFunctionCall","src":"10059:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"10047:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10120:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10129:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10132:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10122:6:150"},"nodeType":"YulFunctionCall","src":"10122:12:150"},"nodeType":"YulExpressionStatement","src":"10122:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"10106:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10116:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10103:2:150"},"nodeType":"YulFunctionCall","src":"10103:16:150"},"nodeType":"YulIf","src":"10100:36:150"},{"nodeType":"YulAssignment","src":"10145:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10188:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"10199:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10184:3:150"},"nodeType":"YulFunctionCall","src":"10184:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10210:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"10155:28:150"},"nodeType":"YulFunctionCall","src":"10155:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10145:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10227:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10260:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10271:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10256:3:150"},"nodeType":"YulFunctionCall","src":"10256:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10243:12:150"},"nodeType":"YulFunctionCall","src":"10243:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"10231:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10304:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10313:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10316:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10306:6:150"},"nodeType":"YulFunctionCall","src":"10306:12:150"},"nodeType":"YulExpressionStatement","src":"10306:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"10290:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10300:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10287:2:150"},"nodeType":"YulFunctionCall","src":"10287:16:150"},"nodeType":"YulIf","src":"10284:36:150"},{"nodeType":"YulAssignment","src":"10329:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10370:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"10381:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10366:3:150"},"nodeType":"YulFunctionCall","src":"10366:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10392:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"10339:26:150"},"nodeType":"YulFunctionCall","src":"10339:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10329:6:150"}]},{"nodeType":"YulAssignment","src":"10409:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10436:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10447:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10432:3:150"},"nodeType":"YulFunctionCall","src":"10432:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10419:12:150"},"nodeType":"YulFunctionCall","src":"10419:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"10409:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9707:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9718:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9730:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9738:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9746:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9754:6:150","type":""}],"src":"9560:897:150"},{"body":{"nodeType":"YulBlock","src":"10532:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"10578:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10587:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10590:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10580:6:150"},"nodeType":"YulFunctionCall","src":"10580:12:150"},"nodeType":"YulExpressionStatement","src":"10580:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10553:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10562:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10549:3:150"},"nodeType":"YulFunctionCall","src":"10549:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10574:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10545:3:150"},"nodeType":"YulFunctionCall","src":"10545:32:150"},"nodeType":"YulIf","src":"10542:52:150"},{"nodeType":"YulAssignment","src":"10603:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10626:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10613:12:150"},"nodeType":"YulFunctionCall","src":"10613:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10603:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10498:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10509:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10521:6:150","type":""}],"src":"10462:180:150"},{"body":{"nodeType":"YulBlock","src":"10748:76:150","statements":[{"nodeType":"YulAssignment","src":"10758:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10770:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10781:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10766:3:150"},"nodeType":"YulFunctionCall","src":"10766:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10758:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10800:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10811:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10793:6:150"},"nodeType":"YulFunctionCall","src":"10793:25:150"},"nodeType":"YulExpressionStatement","src":"10793:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10717:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10728:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10739:4:150","type":""}],"src":"10647:177:150"},{"body":{"nodeType":"YulBlock","src":"10861:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10878:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10885:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10890:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10881:3:150"},"nodeType":"YulFunctionCall","src":"10881:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10871:6:150"},"nodeType":"YulFunctionCall","src":"10871:31:150"},"nodeType":"YulExpressionStatement","src":"10871:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10918:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10921:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10911:6:150"},"nodeType":"YulFunctionCall","src":"10911:15:150"},"nodeType":"YulExpressionStatement","src":"10911:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10942:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10945:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10935:6:150"},"nodeType":"YulFunctionCall","src":"10935:15:150"},"nodeType":"YulExpressionStatement","src":"10935:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"10829:127:150"},{"body":{"nodeType":"YulBlock","src":"11015:89:150","statements":[{"body":{"nodeType":"YulBlock","src":"11049:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"11051:16:150"},"nodeType":"YulFunctionCall","src":"11051:18:150"},"nodeType":"YulExpressionStatement","src":"11051:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11038:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"11045:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11035:2:150"},"nodeType":"YulFunctionCall","src":"11035:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11028:6:150"},"nodeType":"YulFunctionCall","src":"11028:20:150"},"nodeType":"YulIf","src":"11025:46:150"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11087:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"11092:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11080:6:150"},"nodeType":"YulFunctionCall","src":"11080:18:150"},"nodeType":"YulExpressionStatement","src":"11080:18:150"}]},"name":"abi_encode_enum_ProposalType","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10999:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11006:3:150","type":""}],"src":"10961:143:150"},{"body":{"nodeType":"YulBlock","src":"11226:98:150","statements":[{"nodeType":"YulAssignment","src":"11236:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11248:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11259:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11244:3:150"},"nodeType":"YulFunctionCall","src":"11244:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11236:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11300:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11308:9:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"11271:28:150"},"nodeType":"YulFunctionCall","src":"11271:47:150"},"nodeType":"YulExpressionStatement","src":"11271:47:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$25017__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11195:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11206:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11217:4:150","type":""}],"src":"11109:215:150"},{"body":{"nodeType":"YulBlock","src":"11416:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"11462:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11471:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11474:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11464:6:150"},"nodeType":"YulFunctionCall","src":"11464:12:150"},"nodeType":"YulExpressionStatement","src":"11464:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11437:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11446:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11433:3:150"},"nodeType":"YulFunctionCall","src":"11433:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11458:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11429:3:150"},"nodeType":"YulFunctionCall","src":"11429:32:150"},"nodeType":"YulIf","src":"11426:52:150"},{"nodeType":"YulAssignment","src":"11487:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11510:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11497:12:150"},"nodeType":"YulFunctionCall","src":"11497:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11487:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11529:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11559:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11570:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11555:3:150"},"nodeType":"YulFunctionCall","src":"11555:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11542:12:150"},"nodeType":"YulFunctionCall","src":"11542:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11533:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11608:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11583:24:150"},"nodeType":"YulFunctionCall","src":"11583:31:150"},"nodeType":"YulExpressionStatement","src":"11583:31:150"},{"nodeType":"YulAssignment","src":"11623:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11633:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11623:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11374:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11385:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11397:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11405:6:150","type":""}],"src":"11329:315:150"},{"body":{"nodeType":"YulBlock","src":"11755:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"11801:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11810:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11813:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11803:6:150"},"nodeType":"YulFunctionCall","src":"11803:12:150"},"nodeType":"YulExpressionStatement","src":"11803:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11776:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11785:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11772:3:150"},"nodeType":"YulFunctionCall","src":"11772:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11797:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11768:3:150"},"nodeType":"YulFunctionCall","src":"11768:32:150"},"nodeType":"YulIf","src":"11765:52:150"},{"nodeType":"YulVariableDeclaration","src":"11826:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11852:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11839:12:150"},"nodeType":"YulFunctionCall","src":"11839:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11830:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11896:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11871:24:150"},"nodeType":"YulFunctionCall","src":"11871:31:150"},"nodeType":"YulExpressionStatement","src":"11871:31:150"},{"nodeType":"YulAssignment","src":"11911:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11921:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11911:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11721:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11732:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11744:6:150","type":""}],"src":"11649:283:150"},{"body":{"nodeType":"YulBlock","src":"12055:133:150","statements":[{"nodeType":"YulAssignment","src":"12065:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12077:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12088:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12073:3:150"},"nodeType":"YulFunctionCall","src":"12073:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12065:4:150"}]},{"body":{"nodeType":"YulBlock","src":"12126:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"12128:16:150"},"nodeType":"YulFunctionCall","src":"12128:18:150"},"nodeType":"YulExpressionStatement","src":"12128:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12113:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12121:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12110:2:150"},"nodeType":"YulFunctionCall","src":"12110:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12103:6:150"},"nodeType":"YulFunctionCall","src":"12103:22:150"},"nodeType":"YulIf","src":"12100:48:150"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12164:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12175:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12157:6:150"},"nodeType":"YulFunctionCall","src":"12157:25:150"},"nodeType":"YulExpressionStatement","src":"12157:25:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalState_$24992__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12024:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12035:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12046:4:150","type":""}],"src":"11937:251:150"},{"body":{"nodeType":"YulBlock","src":"12298:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"12344:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12353:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12356:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12346:6:150"},"nodeType":"YulFunctionCall","src":"12346:12:150"},"nodeType":"YulExpressionStatement","src":"12346:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12319:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12328:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12315:3:150"},"nodeType":"YulFunctionCall","src":"12315:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12340:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12311:3:150"},"nodeType":"YulFunctionCall","src":"12311:32:150"},"nodeType":"YulIf","src":"12308:52:150"},{"nodeType":"YulAssignment","src":"12369:49:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12408:9:150"}],"functionName":{"name":"abi_decode_enum_ProposalType","nodeType":"YulIdentifier","src":"12379:28:150"},"nodeType":"YulFunctionCall","src":"12379:39:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12369:6:150"}]},{"nodeType":"YulAssignment","src":"12427:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12454:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12465:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12450:3:150"},"nodeType":"YulFunctionCall","src":"12450:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12437:12:150"},"nodeType":"YulFunctionCall","src":"12437:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"12427:6:150"}]}]},"name":"abi_decode_tuple_t_enum$_ProposalType_$25017t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12256:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12267:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12279:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12287:6:150","type":""}],"src":"12193:282:150"},{"body":{"nodeType":"YulBlock","src":"12522:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"12576:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12585:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12588:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12578:6:150"},"nodeType":"YulFunctionCall","src":"12578:12:150"},"nodeType":"YulExpressionStatement","src":"12578:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12545:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12566:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12559:6:150"},"nodeType":"YulFunctionCall","src":"12559:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12552:6:150"},"nodeType":"YulFunctionCall","src":"12552:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12542:2:150"},"nodeType":"YulFunctionCall","src":"12542:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12535:6:150"},"nodeType":"YulFunctionCall","src":"12535:40:150"},"nodeType":"YulIf","src":"12532:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12511:5:150","type":""}],"src":"12480:118:150"},{"body":{"nodeType":"YulBlock","src":"12649:82:150","statements":[{"nodeType":"YulAssignment","src":"12659:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12681:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12668:12:150"},"nodeType":"YulFunctionCall","src":"12668:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"12659:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12719:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"12697:21:150"},"nodeType":"YulFunctionCall","src":"12697:28:150"},"nodeType":"YulExpressionStatement","src":"12697:28:150"}]},"name":"abi_decode_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"12628:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"12639:5:150","type":""}],"src":"12603:128:150"},{"body":{"nodeType":"YulBlock","src":"12803:174:150","statements":[{"body":{"nodeType":"YulBlock","src":"12849:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12858:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12861:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12851:6:150"},"nodeType":"YulFunctionCall","src":"12851:12:150"},"nodeType":"YulExpressionStatement","src":"12851:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12824:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12833:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12820:3:150"},"nodeType":"YulFunctionCall","src":"12820:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12845:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12816:3:150"},"nodeType":"YulFunctionCall","src":"12816:32:150"},"nodeType":"YulIf","src":"12813:52:150"},{"nodeType":"YulVariableDeclaration","src":"12874:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12900:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12887:12:150"},"nodeType":"YulFunctionCall","src":"12887:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12878:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12941:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"12919:21:150"},"nodeType":"YulFunctionCall","src":"12919:28:150"},"nodeType":"YulExpressionStatement","src":"12919:28:150"},{"nodeType":"YulAssignment","src":"12956:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12966:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12956:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12769:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12780:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12792:6:150","type":""}],"src":"12736:241:150"},{"body":{"nodeType":"YulBlock","src":"13078:359:150","statements":[{"body":{"nodeType":"YulBlock","src":"13124:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13133:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13136:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13126:6:150"},"nodeType":"YulFunctionCall","src":"13126:12:150"},"nodeType":"YulExpressionStatement","src":"13126:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13099:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13108:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13095:3:150"},"nodeType":"YulFunctionCall","src":"13095:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13120:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13091:3:150"},"nodeType":"YulFunctionCall","src":"13091:32:150"},"nodeType":"YulIf","src":"13088:52:150"},{"nodeType":"YulVariableDeclaration","src":"13149:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13175:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13162:12:150"},"nodeType":"YulFunctionCall","src":"13162:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13153:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13219:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13194:24:150"},"nodeType":"YulFunctionCall","src":"13194:31:150"},"nodeType":"YulExpressionStatement","src":"13194:31:150"},{"nodeType":"YulAssignment","src":"13234:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13244:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13234:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13258:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13289:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13300:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13285:3:150"},"nodeType":"YulFunctionCall","src":"13285:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13272:12:150"},"nodeType":"YulFunctionCall","src":"13272:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13262:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"13347:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13356:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13359:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13349:6:150"},"nodeType":"YulFunctionCall","src":"13349:12:150"},"nodeType":"YulExpressionStatement","src":"13349:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13319:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13335:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"13339:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13331:3:150"},"nodeType":"YulFunctionCall","src":"13331:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"13343:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13327:3:150"},"nodeType":"YulFunctionCall","src":"13327:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13316:2:150"},"nodeType":"YulFunctionCall","src":"13316:30:150"},"nodeType":"YulIf","src":"13313:50:150"},{"nodeType":"YulAssignment","src":"13372:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13403:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"13414:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13399:3:150"},"nodeType":"YulFunctionCall","src":"13399:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13423:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"13382:16:150"},"nodeType":"YulFunctionCall","src":"13382:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13372:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13036:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13047:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13059:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13067:6:150","type":""}],"src":"12982:455:150"},{"body":{"nodeType":"YulBlock","src":"13599:162:150","statements":[{"nodeType":"YulAssignment","src":"13609:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13621:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13632:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13617:3:150"},"nodeType":"YulFunctionCall","src":"13617:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13609:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13651:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"13662:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13644:6:150"},"nodeType":"YulFunctionCall","src":"13644:25:150"},"nodeType":"YulExpressionStatement","src":"13644:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13689:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13700:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13685:3:150"},"nodeType":"YulFunctionCall","src":"13685:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"13705:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13678:6:150"},"nodeType":"YulFunctionCall","src":"13678:34:150"},"nodeType":"YulExpressionStatement","src":"13678:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13732:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13743:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13728:3:150"},"nodeType":"YulFunctionCall","src":"13728:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"13748:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13721:6:150"},"nodeType":"YulFunctionCall","src":"13721:34:150"},"nodeType":"YulExpressionStatement","src":"13721:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13552:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13563:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13571:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13579:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13590:4:150","type":""}],"src":"13442:319:150"},{"body":{"nodeType":"YulBlock","src":"13827:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"13837:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13857:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13851:5:150"},"nodeType":"YulFunctionCall","src":"13851:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"13841:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13879:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"13884:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13872:6:150"},"nodeType":"YulFunctionCall","src":"13872:19:150"},"nodeType":"YulExpressionStatement","src":"13872:19:150"},{"nodeType":"YulVariableDeclaration","src":"13900:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"13910:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"13904:2:150","type":""}]},{"nodeType":"YulAssignment","src":"13923:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13934:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"13939:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13930:3:150"},"nodeType":"YulFunctionCall","src":"13930:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13923:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"13951:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13969:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"13976:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13965:3:150"},"nodeType":"YulFunctionCall","src":"13965:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"13955:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13988:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"13997:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"13992:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14056:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14077:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"14088:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14082:5:150"},"nodeType":"YulFunctionCall","src":"14082:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14070:6:150"},"nodeType":"YulFunctionCall","src":"14070:26:150"},"nodeType":"YulExpressionStatement","src":"14070:26:150"},{"nodeType":"YulAssignment","src":"14109:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14120:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14125:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14116:3:150"},"nodeType":"YulFunctionCall","src":"14116:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14109:3:150"}]},{"nodeType":"YulAssignment","src":"14141:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"14155:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14163:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14151:3:150"},"nodeType":"YulFunctionCall","src":"14151:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"14141:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14018:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"14021:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14015:2:150"},"nodeType":"YulFunctionCall","src":"14015:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"14029:18:150","statements":[{"nodeType":"YulAssignment","src":"14031:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14040:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"14043:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14036:3:150"},"nodeType":"YulFunctionCall","src":"14036:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"14031:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"14011:3:150","statements":[]},"src":"14007:169:150"},{"nodeType":"YulAssignment","src":"14185:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"14192:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14185:3:150"}]}]},"name":"abi_encode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13804:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"13811:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13819:3:150","type":""}],"src":"13766:435:150"},{"body":{"nodeType":"YulBlock","src":"14357:110:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14374:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14385:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14367:6:150"},"nodeType":"YulFunctionCall","src":"14367:21:150"},"nodeType":"YulExpressionStatement","src":"14367:21:150"},{"nodeType":"YulAssignment","src":"14397:64:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14434:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14446:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14457:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14442:3:150"},"nodeType":"YulFunctionCall","src":"14442:18:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"14405:28:150"},"nodeType":"YulFunctionCall","src":"14405:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14397:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14326:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14337:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14348:4:150","type":""}],"src":"14206:261:150"},{"body":{"nodeType":"YulBlock","src":"14515:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"14564:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14573:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14576:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14566:6:150"},"nodeType":"YulFunctionCall","src":"14566:12:150"},"nodeType":"YulExpressionStatement","src":"14566:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14538:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14549:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"14556:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14545:3:150"},"nodeType":"YulFunctionCall","src":"14545:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14535:2:150"},"nodeType":"YulFunctionCall","src":"14535:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14528:6:150"},"nodeType":"YulFunctionCall","src":"14528:35:150"},"nodeType":"YulIf","src":"14525:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14504:5:150","type":""}],"src":"14472:114:150"},{"body":{"nodeType":"YulBlock","src":"14676:226:150","statements":[{"body":{"nodeType":"YulBlock","src":"14722:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14731:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14734:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14724:6:150"},"nodeType":"YulFunctionCall","src":"14724:12:150"},"nodeType":"YulExpressionStatement","src":"14724:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14697:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14706:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14693:3:150"},"nodeType":"YulFunctionCall","src":"14693:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14718:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14689:3:150"},"nodeType":"YulFunctionCall","src":"14689:32:150"},"nodeType":"YulIf","src":"14686:52:150"},{"nodeType":"YulAssignment","src":"14747:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14770:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14757:12:150"},"nodeType":"YulFunctionCall","src":"14757:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14747:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14789:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14819:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14830:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14815:3:150"},"nodeType":"YulFunctionCall","src":"14815:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14802:12:150"},"nodeType":"YulFunctionCall","src":"14802:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14793:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14866:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"14843:22:150"},"nodeType":"YulFunctionCall","src":"14843:29:150"},"nodeType":"YulExpressionStatement","src":"14843:29:150"},{"nodeType":"YulAssignment","src":"14881:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14891:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14881:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14634:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14645:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14657:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14665:6:150","type":""}],"src":"14591:311:150"},{"body":{"nodeType":"YulBlock","src":"15023:102:150","statements":[{"nodeType":"YulAssignment","src":"15033:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15045:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15056:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15041:3:150"},"nodeType":"YulFunctionCall","src":"15041:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15033:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15075:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15090:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15106:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"15111:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15102:3:150"},"nodeType":"YulFunctionCall","src":"15102:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"15115:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15098:3:150"},"nodeType":"YulFunctionCall","src":"15098:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15086:3:150"},"nodeType":"YulFunctionCall","src":"15086:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15068:6:150"},"nodeType":"YulFunctionCall","src":"15068:51:150"},"nodeType":"YulExpressionStatement","src":"15068:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14992:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15003:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15014:4:150","type":""}],"src":"14907:218:150"},{"body":{"nodeType":"YulBlock","src":"15379:917:150","statements":[{"body":{"nodeType":"YulBlock","src":"15426:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15435:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15438:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15428:6:150"},"nodeType":"YulFunctionCall","src":"15428:12:150"},"nodeType":"YulExpressionStatement","src":"15428:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15400:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15409:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15396:3:150"},"nodeType":"YulFunctionCall","src":"15396:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15421:3:150","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15392:3:150"},"nodeType":"YulFunctionCall","src":"15392:33:150"},"nodeType":"YulIf","src":"15389:53:150"},{"nodeType":"YulVariableDeclaration","src":"15451:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15478:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15465:12:150"},"nodeType":"YulFunctionCall","src":"15465:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"15455:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15497:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15515:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"15519:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15511:3:150"},"nodeType":"YulFunctionCall","src":"15511:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"15523:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15507:3:150"},"nodeType":"YulFunctionCall","src":"15507:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"15501:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15552:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15561:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15564:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15554:6:150"},"nodeType":"YulFunctionCall","src":"15554:12:150"},"nodeType":"YulExpressionStatement","src":"15554:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15540:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15548:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15537:2:150"},"nodeType":"YulFunctionCall","src":"15537:14:150"},"nodeType":"YulIf","src":"15534:34:150"},{"nodeType":"YulAssignment","src":"15577:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15620:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"15631:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15616:3:150"},"nodeType":"YulFunctionCall","src":"15616:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15640:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"15587:28:150"},"nodeType":"YulFunctionCall","src":"15587:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15577:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"15657:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15690:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15701:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15686:3:150"},"nodeType":"YulFunctionCall","src":"15686:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15673:12:150"},"nodeType":"YulFunctionCall","src":"15673:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"15661:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15734:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15743:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15746:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15736:6:150"},"nodeType":"YulFunctionCall","src":"15736:12:150"},"nodeType":"YulExpressionStatement","src":"15736:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"15720:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15730:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15717:2:150"},"nodeType":"YulFunctionCall","src":"15717:16:150"},"nodeType":"YulIf","src":"15714:36:150"},{"nodeType":"YulAssignment","src":"15759:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15802:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"15813:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15798:3:150"},"nodeType":"YulFunctionCall","src":"15798:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15824:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"15769:28:150"},"nodeType":"YulFunctionCall","src":"15769:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15759:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"15841:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15874:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15885:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15870:3:150"},"nodeType":"YulFunctionCall","src":"15870:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15857:12:150"},"nodeType":"YulFunctionCall","src":"15857:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"15845:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15918:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15927:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15930:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15920:6:150"},"nodeType":"YulFunctionCall","src":"15920:12:150"},"nodeType":"YulExpressionStatement","src":"15920:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"15904:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15914:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15901:2:150"},"nodeType":"YulFunctionCall","src":"15901:16:150"},"nodeType":"YulIf","src":"15898:36:150"},{"nodeType":"YulAssignment","src":"15943:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15984:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"15995:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15980:3:150"},"nodeType":"YulFunctionCall","src":"15980:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"16006:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"15953:26:150"},"nodeType":"YulFunctionCall","src":"15953:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"15943:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"16023:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16056:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16067:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16052:3:150"},"nodeType":"YulFunctionCall","src":"16052:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16039:12:150"},"nodeType":"YulFunctionCall","src":"16039:32:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"16027:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16100:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16109:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16112:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16102:6:150"},"nodeType":"YulFunctionCall","src":"16102:12:150"},"nodeType":"YulExpressionStatement","src":"16102:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"16086:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16096:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16083:2:150"},"nodeType":"YulFunctionCall","src":"16083:16:150"},"nodeType":"YulIf","src":"16080:36:150"},{"nodeType":"YulAssignment","src":"16125:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16156:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"16167:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16152:3:150"},"nodeType":"YulFunctionCall","src":"16152:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"16178:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"16135:16:150"},"nodeType":"YulFunctionCall","src":"16135:51:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"16125:6:150"}]},{"nodeType":"YulAssignment","src":"16195:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16222:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16233:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16218:3:150"},"nodeType":"YulFunctionCall","src":"16218:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16205:12:150"},"nodeType":"YulFunctionCall","src":"16205:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"16195:6:150"}]},{"nodeType":"YulAssignment","src":"16247:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16274:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16285:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16270:3:150"},"nodeType":"YulFunctionCall","src":"16270:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16257:12:150"},"nodeType":"YulFunctionCall","src":"16257:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"16247:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15305:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15316:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15328:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15336:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"15344:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"15352:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"15360:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"15368:6:150","type":""}],"src":"15130:1166:150"},{"body":{"nodeType":"YulBlock","src":"16431:102:150","statements":[{"nodeType":"YulAssignment","src":"16441:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16453:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16464:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16449:3:150"},"nodeType":"YulFunctionCall","src":"16449:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16441:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16483:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16498:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16514:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"16519:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16510:3:150"},"nodeType":"YulFunctionCall","src":"16510:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16523:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16506:3:150"},"nodeType":"YulFunctionCall","src":"16506:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16494:3:150"},"nodeType":"YulFunctionCall","src":"16494:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16476:6:150"},"nodeType":"YulFunctionCall","src":"16476:51:150"},"nodeType":"YulExpressionStatement","src":"16476:51:150"}]},"name":"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16400:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16411:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16422:4:150","type":""}],"src":"16301:232:150"},{"body":{"nodeType":"YulBlock","src":"16624:233:150","statements":[{"body":{"nodeType":"YulBlock","src":"16670:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16679:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16682:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16672:6:150"},"nodeType":"YulFunctionCall","src":"16672:12:150"},"nodeType":"YulExpressionStatement","src":"16672:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16645:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16654:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16641:3:150"},"nodeType":"YulFunctionCall","src":"16641:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16666:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16637:3:150"},"nodeType":"YulFunctionCall","src":"16637:32:150"},"nodeType":"YulIf","src":"16634:52:150"},{"nodeType":"YulVariableDeclaration","src":"16695:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16721:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16708:12:150"},"nodeType":"YulFunctionCall","src":"16708:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16699:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16765:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"16740:24:150"},"nodeType":"YulFunctionCall","src":"16740:31:150"},"nodeType":"YulExpressionStatement","src":"16740:31:150"},{"nodeType":"YulAssignment","src":"16780:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"16790:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16780:6:150"}]},{"nodeType":"YulAssignment","src":"16804:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16836:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16847:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16832:3:150"},"nodeType":"YulFunctionCall","src":"16832:18:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"16814:17:150"},"nodeType":"YulFunctionCall","src":"16814:37:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"16804:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16582:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16593:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16605:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16613:6:150","type":""}],"src":"16538:319:150"},{"body":{"nodeType":"YulBlock","src":"16955:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"17001:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17010:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17013:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17003:6:150"},"nodeType":"YulFunctionCall","src":"17003:12:150"},"nodeType":"YulExpressionStatement","src":"17003:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16976:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16985:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16972:3:150"},"nodeType":"YulFunctionCall","src":"16972:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16997:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16968:3:150"},"nodeType":"YulFunctionCall","src":"16968:32:150"},"nodeType":"YulIf","src":"16965:52:150"},{"nodeType":"YulVariableDeclaration","src":"17026:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17052:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17039:12:150"},"nodeType":"YulFunctionCall","src":"17039:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17030:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17096:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"17071:24:150"},"nodeType":"YulFunctionCall","src":"17071:31:150"},"nodeType":"YulExpressionStatement","src":"17071:31:150"},{"nodeType":"YulAssignment","src":"17111:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"17121:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17111:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16921:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16932:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16944:6:150","type":""}],"src":"16862:270:150"},{"body":{"nodeType":"YulBlock","src":"17210:275:150","statements":[{"body":{"nodeType":"YulBlock","src":"17259:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17268:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17271:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17261:6:150"},"nodeType":"YulFunctionCall","src":"17261:12:150"},"nodeType":"YulExpressionStatement","src":"17261:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17238:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17246:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17234:3:150"},"nodeType":"YulFunctionCall","src":"17234:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"17253:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17230:3:150"},"nodeType":"YulFunctionCall","src":"17230:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17223:6:150"},"nodeType":"YulFunctionCall","src":"17223:35:150"},"nodeType":"YulIf","src":"17220:55:150"},{"nodeType":"YulAssignment","src":"17284:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17307:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17294:12:150"},"nodeType":"YulFunctionCall","src":"17294:20:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"17284:6:150"}]},{"body":{"nodeType":"YulBlock","src":"17357:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17366:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17369:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17359:6:150"},"nodeType":"YulFunctionCall","src":"17359:12:150"},"nodeType":"YulExpressionStatement","src":"17359:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17329:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17345:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"17349:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17341:3:150"},"nodeType":"YulFunctionCall","src":"17341:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"17353:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17337:3:150"},"nodeType":"YulFunctionCall","src":"17337:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17326:2:150"},"nodeType":"YulFunctionCall","src":"17326:30:150"},"nodeType":"YulIf","src":"17323:50:150"},{"nodeType":"YulAssignment","src":"17382:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17398:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17406:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17394:3:150"},"nodeType":"YulFunctionCall","src":"17394:17:150"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"17382:8:150"}]},{"body":{"nodeType":"YulBlock","src":"17463:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17472:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17475:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17465:6:150"},"nodeType":"YulFunctionCall","src":"17465:12:150"},"nodeType":"YulExpressionStatement","src":"17465:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17434:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"17442:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17430:3:150"},"nodeType":"YulFunctionCall","src":"17430:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"17451:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17426:3:150"},"nodeType":"YulFunctionCall","src":"17426:30:150"},{"name":"end","nodeType":"YulIdentifier","src":"17458:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17423:2:150"},"nodeType":"YulFunctionCall","src":"17423:39:150"},"nodeType":"YulIf","src":"17420:59:150"}]},"name":"abi_decode_string_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17173:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"17181:3:150","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"17189:8:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"17199:6:150","type":""}],"src":"17137:348:150"},{"body":{"nodeType":"YulBlock","src":"17612:488:150","statements":[{"body":{"nodeType":"YulBlock","src":"17658:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17667:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17670:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17660:6:150"},"nodeType":"YulFunctionCall","src":"17660:12:150"},"nodeType":"YulExpressionStatement","src":"17660:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17633:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17642:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17629:3:150"},"nodeType":"YulFunctionCall","src":"17629:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"17654:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17625:3:150"},"nodeType":"YulFunctionCall","src":"17625:32:150"},"nodeType":"YulIf","src":"17622:52:150"},{"nodeType":"YulAssignment","src":"17683:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17706:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17693:12:150"},"nodeType":"YulFunctionCall","src":"17693:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17683:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"17725:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17755:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17766:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17751:3:150"},"nodeType":"YulFunctionCall","src":"17751:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17738:12:150"},"nodeType":"YulFunctionCall","src":"17738:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17729:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17802:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"17779:22:150"},"nodeType":"YulFunctionCall","src":"17779:29:150"},"nodeType":"YulExpressionStatement","src":"17779:29:150"},{"nodeType":"YulAssignment","src":"17817:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"17827:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"17817:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"17841:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17872:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17883:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17868:3:150"},"nodeType":"YulFunctionCall","src":"17868:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17855:12:150"},"nodeType":"YulFunctionCall","src":"17855:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17845:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17930:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17939:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17942:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17932:6:150"},"nodeType":"YulFunctionCall","src":"17932:12:150"},"nodeType":"YulExpressionStatement","src":"17932:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17902:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17918:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"17922:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17914:3:150"},"nodeType":"YulFunctionCall","src":"17914:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"17926:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17910:3:150"},"nodeType":"YulFunctionCall","src":"17910:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17899:2:150"},"nodeType":"YulFunctionCall","src":"17899:30:150"},"nodeType":"YulIf","src":"17896:50:150"},{"nodeType":"YulVariableDeclaration","src":"17955:85:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18012:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"18023:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18008:3:150"},"nodeType":"YulFunctionCall","src":"18008:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18032:7:150"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"17981:26:150"},"nodeType":"YulFunctionCall","src":"17981:59:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"17959:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"17969:8:150","type":""}]},{"nodeType":"YulAssignment","src":"18049:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"18059:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"18049:6:150"}]},{"nodeType":"YulAssignment","src":"18076:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"18086:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"18076:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint8t_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17554:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17565:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17577:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17585:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17593:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"17601:6:150","type":""}],"src":"17490:610:150"},{"body":{"nodeType":"YulBlock","src":"18230:973:150","statements":[{"body":{"nodeType":"YulBlock","src":"18276:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18285:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18288:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18278:6:150"},"nodeType":"YulFunctionCall","src":"18278:12:150"},"nodeType":"YulExpressionStatement","src":"18278:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18251:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"18260:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18247:3:150"},"nodeType":"YulFunctionCall","src":"18247:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"18272:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18243:3:150"},"nodeType":"YulFunctionCall","src":"18243:32:150"},"nodeType":"YulIf","src":"18240:52:150"},{"nodeType":"YulVariableDeclaration","src":"18301:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18327:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18314:12:150"},"nodeType":"YulFunctionCall","src":"18314:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"18305:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18371:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"18346:24:150"},"nodeType":"YulFunctionCall","src":"18346:31:150"},"nodeType":"YulExpressionStatement","src":"18346:31:150"},{"nodeType":"YulAssignment","src":"18386:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"18396:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"18386:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"18410:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18420:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"18414:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18431:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18462:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18473:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18458:3:150"},"nodeType":"YulFunctionCall","src":"18458:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18445:12:150"},"nodeType":"YulFunctionCall","src":"18445:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18435:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18520:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18529:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18532:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18522:6:150"},"nodeType":"YulFunctionCall","src":"18522:12:150"},"nodeType":"YulExpressionStatement","src":"18522:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18492:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18508:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"18512:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18504:3:150"},"nodeType":"YulFunctionCall","src":"18504:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"18516:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18500:3:150"},"nodeType":"YulFunctionCall","src":"18500:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18489:2:150"},"nodeType":"YulFunctionCall","src":"18489:30:150"},"nodeType":"YulIf","src":"18486:50:150"},{"nodeType":"YulVariableDeclaration","src":"18545:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18559:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"18570:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18555:3:150"},"nodeType":"YulFunctionCall","src":"18555:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"18549:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18625:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18634:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18637:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18627:6:150"},"nodeType":"YulFunctionCall","src":"18627:12:150"},"nodeType":"YulExpressionStatement","src":"18627:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18604:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"18608:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18600:3:150"},"nodeType":"YulFunctionCall","src":"18600:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18615:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18596:3:150"},"nodeType":"YulFunctionCall","src":"18596:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18589:6:150"},"nodeType":"YulFunctionCall","src":"18589:35:150"},"nodeType":"YulIf","src":"18586:55:150"},{"nodeType":"YulVariableDeclaration","src":"18650:26:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18673:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18660:12:150"},"nodeType":"YulFunctionCall","src":"18660:16:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"18654:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18685:71:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18752:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"18712:39:150"},"nodeType":"YulFunctionCall","src":"18712:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"18696:15:150"},"nodeType":"YulFunctionCall","src":"18696:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"18689:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18765:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"18778:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"18769:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"18797:3:150"},{"name":"_3","nodeType":"YulIdentifier","src":"18802:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18790:6:150"},"nodeType":"YulFunctionCall","src":"18790:15:150"},"nodeType":"YulExpressionStatement","src":"18790:15:150"},{"nodeType":"YulAssignment","src":"18814:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"18825:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18830:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18821:3:150"},"nodeType":"YulFunctionCall","src":"18821:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"18814:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"18842:42:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18864:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18872:1:150","type":"","value":"5"},{"name":"_3","nodeType":"YulIdentifier","src":"18875:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18868:3:150"},"nodeType":"YulFunctionCall","src":"18868:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18860:3:150"},"nodeType":"YulFunctionCall","src":"18860:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18881:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18856:3:150"},"nodeType":"YulFunctionCall","src":"18856:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"18846:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18916:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18925:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18928:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18918:6:150"},"nodeType":"YulFunctionCall","src":"18918:12:150"},"nodeType":"YulExpressionStatement","src":"18918:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"18899:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18907:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18896:2:150"},"nodeType":"YulFunctionCall","src":"18896:19:150"},"nodeType":"YulIf","src":"18893:39:150"},{"nodeType":"YulVariableDeclaration","src":"18941:22:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18956:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18960:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18952:3:150"},"nodeType":"YulFunctionCall","src":"18952:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"18945:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19028:91:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"19049:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"19072:3:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"19054:17:150"},"nodeType":"YulFunctionCall","src":"19054:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19042:6:150"},"nodeType":"YulFunctionCall","src":"19042:35:150"},"nodeType":"YulExpressionStatement","src":"19042:35:150"},{"nodeType":"YulAssignment","src":"19090:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"19101:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19106:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19097:3:150"},"nodeType":"YulFunctionCall","src":"19097:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"19090:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18983:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"18988:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18980:2:150"},"nodeType":"YulFunctionCall","src":"18980:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"18996:23:150","statements":[{"nodeType":"YulAssignment","src":"18998:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"19009:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19014:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19005:3:150"},"nodeType":"YulFunctionCall","src":"19005:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"18998:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"18976:3:150","statements":[]},"src":"18972:147:150"},{"nodeType":"YulAssignment","src":"19128:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"19138:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"19128:6:150"}]},{"nodeType":"YulAssignment","src":"19152:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19182:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19193:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19178:3:150"},"nodeType":"YulFunctionCall","src":"19178:18:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"19162:15:150"},"nodeType":"YulFunctionCall","src":"19162:35:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"19152:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18180:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"18191:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"18203:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18211:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18219:6:150","type":""}],"src":"18105:1098:150"},{"body":{"nodeType":"YulBlock","src":"19307:97:150","statements":[{"nodeType":"YulAssignment","src":"19317:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19329:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19340:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19325:3:150"},"nodeType":"YulFunctionCall","src":"19325:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19317:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19359:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19374:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"19382:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19370:3:150"},"nodeType":"YulFunctionCall","src":"19370:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19352:6:150"},"nodeType":"YulFunctionCall","src":"19352:46:150"},"nodeType":"YulExpressionStatement","src":"19352:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19276:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19287:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19298:4:150","type":""}],"src":"19208:196:150"},{"body":{"nodeType":"YulBlock","src":"19479:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"19525:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19534:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19537:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19527:6:150"},"nodeType":"YulFunctionCall","src":"19527:12:150"},"nodeType":"YulExpressionStatement","src":"19527:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19500:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19509:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19496:3:150"},"nodeType":"YulFunctionCall","src":"19496:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19521:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19492:3:150"},"nodeType":"YulFunctionCall","src":"19492:32:150"},"nodeType":"YulIf","src":"19489:52:150"},{"nodeType":"YulVariableDeclaration","src":"19550:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19576:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19563:12:150"},"nodeType":"YulFunctionCall","src":"19563:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"19554:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19620:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"19595:24:150"},"nodeType":"YulFunctionCall","src":"19595:31:150"},"nodeType":"YulExpressionStatement","src":"19595:31:150"},{"nodeType":"YulAssignment","src":"19635:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"19645:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19635:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19445:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19456:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19468:6:150","type":""}],"src":"19409:247:150"},{"body":{"nodeType":"YulBlock","src":"19785:102:150","statements":[{"nodeType":"YulAssignment","src":"19795:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19807:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19818:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19803:3:150"},"nodeType":"YulFunctionCall","src":"19803:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19795:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19837:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19852:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19868:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"19873:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19864:3:150"},"nodeType":"YulFunctionCall","src":"19864:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"19877:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19860:3:150"},"nodeType":"YulFunctionCall","src":"19860:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19848:3:150"},"nodeType":"YulFunctionCall","src":"19848:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19830:6:150"},"nodeType":"YulFunctionCall","src":"19830:51:150"},"nodeType":"YulExpressionStatement","src":"19830:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19754:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19765:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19776:4:150","type":""}],"src":"19661:226:150"},{"body":{"nodeType":"YulBlock","src":"19979:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"20025:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20034:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20037:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20027:6:150"},"nodeType":"YulFunctionCall","src":"20027:12:150"},"nodeType":"YulExpressionStatement","src":"20027:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20000:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20009:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19996:3:150"},"nodeType":"YulFunctionCall","src":"19996:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20021:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19992:3:150"},"nodeType":"YulFunctionCall","src":"19992:32:150"},"nodeType":"YulIf","src":"19989:52:150"},{"nodeType":"YulVariableDeclaration","src":"20050:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20076:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20063:12:150"},"nodeType":"YulFunctionCall","src":"20063:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"20054:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20120:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"20095:24:150"},"nodeType":"YulFunctionCall","src":"20095:31:150"},"nodeType":"YulExpressionStatement","src":"20095:31:150"},{"nodeType":"YulAssignment","src":"20135:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"20145:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20135:6:150"}]},{"nodeType":"YulAssignment","src":"20159:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20186:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20197:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20182:3:150"},"nodeType":"YulFunctionCall","src":"20182:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20169:12:150"},"nodeType":"YulFunctionCall","src":"20169:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"20159:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19937:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19948:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19960:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19968:6:150","type":""}],"src":"19892:315:150"},{"body":{"nodeType":"YulBlock","src":"20373:352:150","statements":[{"body":{"nodeType":"YulBlock","src":"20419:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20428:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20431:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20421:6:150"},"nodeType":"YulFunctionCall","src":"20421:12:150"},"nodeType":"YulExpressionStatement","src":"20421:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20394:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20403:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20390:3:150"},"nodeType":"YulFunctionCall","src":"20390:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20415:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20386:3:150"},"nodeType":"YulFunctionCall","src":"20386:32:150"},"nodeType":"YulIf","src":"20383:52:150"},{"nodeType":"YulVariableDeclaration","src":"20444:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20470:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20457:12:150"},"nodeType":"YulFunctionCall","src":"20457:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"20448:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20514:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"20489:24:150"},"nodeType":"YulFunctionCall","src":"20489:31:150"},"nodeType":"YulExpressionStatement","src":"20489:31:150"},{"nodeType":"YulAssignment","src":"20529:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"20539:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20529:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"20553:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20585:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20596:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20581:3:150"},"nodeType":"YulFunctionCall","src":"20581:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20568:12:150"},"nodeType":"YulFunctionCall","src":"20568:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"20557:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"20634:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"20609:24:150"},"nodeType":"YulFunctionCall","src":"20609:33:150"},"nodeType":"YulExpressionStatement","src":"20609:33:150"},{"nodeType":"YulAssignment","src":"20651:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"20661:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"20651:6:150"}]},{"nodeType":"YulAssignment","src":"20677:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20704:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20715:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20700:3:150"},"nodeType":"YulFunctionCall","src":"20700:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20687:12:150"},"nodeType":"YulFunctionCall","src":"20687:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"20677:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_contract$_IRelayerRewardsPool_$67117t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20323:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20334:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20346:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20354:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20362:6:150","type":""}],"src":"20212:513:150"},{"body":{"nodeType":"YulBlock","src":"20838:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"20884:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20893:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20896:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20886:6:150"},"nodeType":"YulFunctionCall","src":"20886:12:150"},"nodeType":"YulExpressionStatement","src":"20886:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20859:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20868:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20855:3:150"},"nodeType":"YulFunctionCall","src":"20855:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20880:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20851:3:150"},"nodeType":"YulFunctionCall","src":"20851:32:150"},"nodeType":"YulIf","src":"20848:52:150"},{"nodeType":"YulVariableDeclaration","src":"20909:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20935:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20922:12:150"},"nodeType":"YulFunctionCall","src":"20922:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"20913:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20979:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"20954:24:150"},"nodeType":"YulFunctionCall","src":"20954:31:150"},"nodeType":"YulExpressionStatement","src":"20954:31:150"},{"nodeType":"YulAssignment","src":"20994:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21004:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20994:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20804:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20815:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20827:6:150","type":""}],"src":"20730:285:150"},{"body":{"nodeType":"YulBlock","src":"21113:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"21159:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21168:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21171:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21161:6:150"},"nodeType":"YulFunctionCall","src":"21161:12:150"},"nodeType":"YulExpressionStatement","src":"21161:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21134:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21143:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21130:3:150"},"nodeType":"YulFunctionCall","src":"21130:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21155:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21126:3:150"},"nodeType":"YulFunctionCall","src":"21126:32:150"},"nodeType":"YulIf","src":"21123:52:150"},{"nodeType":"YulVariableDeclaration","src":"21184:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21210:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21197:12:150"},"nodeType":"YulFunctionCall","src":"21197:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21188:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21254:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"21229:24:150"},"nodeType":"YulFunctionCall","src":"21229:31:150"},"nodeType":"YulExpressionStatement","src":"21229:31:150"},{"nodeType":"YulAssignment","src":"21269:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21279:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21269:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IGalaxyMember_$65196","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21079:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21090:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21102:6:150","type":""}],"src":"21020:270:150"},{"body":{"nodeType":"YulBlock","src":"21392:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"21438:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21447:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21450:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21440:6:150"},"nodeType":"YulFunctionCall","src":"21440:12:150"},"nodeType":"YulExpressionStatement","src":"21440:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21413:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21422:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21409:3:150"},"nodeType":"YulFunctionCall","src":"21409:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21434:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21405:3:150"},"nodeType":"YulFunctionCall","src":"21405:32:150"},"nodeType":"YulIf","src":"21402:52:150"},{"nodeType":"YulVariableDeclaration","src":"21463:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21489:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21476:12:150"},"nodeType":"YulFunctionCall","src":"21476:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21467:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21533:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"21508:24:150"},"nodeType":"YulFunctionCall","src":"21508:31:150"},"nodeType":"YulExpressionStatement","src":"21508:31:150"},{"nodeType":"YulAssignment","src":"21548:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21558:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21548:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21358:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21369:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21381:6:150","type":""}],"src":"21295:274:150"},{"body":{"nodeType":"YulBlock","src":"21771:874:150","statements":[{"body":{"nodeType":"YulBlock","src":"21818:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21827:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21830:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21820:6:150"},"nodeType":"YulFunctionCall","src":"21820:12:150"},"nodeType":"YulExpressionStatement","src":"21820:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21792:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21801:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21788:3:150"},"nodeType":"YulFunctionCall","src":"21788:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21813:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21784:3:150"},"nodeType":"YulFunctionCall","src":"21784:33:150"},"nodeType":"YulIf","src":"21781:53:150"},{"nodeType":"YulVariableDeclaration","src":"21843:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21869:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21856:12:150"},"nodeType":"YulFunctionCall","src":"21856:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21847:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21913:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"21888:24:150"},"nodeType":"YulFunctionCall","src":"21888:31:150"},"nodeType":"YulExpressionStatement","src":"21888:31:150"},{"nodeType":"YulAssignment","src":"21928:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21938:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21928:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"21952:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21984:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21995:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21980:3:150"},"nodeType":"YulFunctionCall","src":"21980:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21967:12:150"},"nodeType":"YulFunctionCall","src":"21967:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"21956:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"22033:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"22008:24:150"},"nodeType":"YulFunctionCall","src":"22008:33:150"},"nodeType":"YulExpressionStatement","src":"22008:33:150"},{"nodeType":"YulAssignment","src":"22050:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"22060:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"22050:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"22076:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22107:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22118:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22103:3:150"},"nodeType":"YulFunctionCall","src":"22103:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22090:12:150"},"nodeType":"YulFunctionCall","src":"22090:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"22080:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"22131:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22149:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"22153:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22145:3:150"},"nodeType":"YulFunctionCall","src":"22145:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"22157:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22141:3:150"},"nodeType":"YulFunctionCall","src":"22141:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"22135:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22186:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22195:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22198:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22188:6:150"},"nodeType":"YulFunctionCall","src":"22188:12:150"},"nodeType":"YulExpressionStatement","src":"22188:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22174:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22182:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22171:2:150"},"nodeType":"YulFunctionCall","src":"22171:14:150"},"nodeType":"YulIf","src":"22168:34:150"},{"nodeType":"YulAssignment","src":"22211:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22254:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"22265:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22250:3:150"},"nodeType":"YulFunctionCall","src":"22250:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22274:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"22221:28:150"},"nodeType":"YulFunctionCall","src":"22221:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"22211:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"22291:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22324:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22335:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22320:3:150"},"nodeType":"YulFunctionCall","src":"22320:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22307:12:150"},"nodeType":"YulFunctionCall","src":"22307:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"22295:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22368:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22377:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22380:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22370:6:150"},"nodeType":"YulFunctionCall","src":"22370:12:150"},"nodeType":"YulExpressionStatement","src":"22370:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"22354:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22364:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22351:2:150"},"nodeType":"YulFunctionCall","src":"22351:16:150"},"nodeType":"YulIf","src":"22348:36:150"},{"nodeType":"YulAssignment","src":"22393:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22436:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"22447:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22432:3:150"},"nodeType":"YulFunctionCall","src":"22432:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22458:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"22403:28:150"},"nodeType":"YulFunctionCall","src":"22403:63:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"22393:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"22475:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22508:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22519:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22504:3:150"},"nodeType":"YulFunctionCall","src":"22504:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22491:12:150"},"nodeType":"YulFunctionCall","src":"22491:33:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"22479:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22553:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22562:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22565:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22555:6:150"},"nodeType":"YulFunctionCall","src":"22555:12:150"},"nodeType":"YulExpressionStatement","src":"22555:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"22539:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22549:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22536:2:150"},"nodeType":"YulFunctionCall","src":"22536:16:150"},"nodeType":"YulIf","src":"22533:36:150"},{"nodeType":"YulAssignment","src":"22578:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22609:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"22620:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22605:3:150"},"nodeType":"YulFunctionCall","src":"22605:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22631:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"22588:16:150"},"nodeType":"YulFunctionCall","src":"22588:51:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"22578:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21705:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21716:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21728:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21736:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"21744:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"21752:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"21760:6:150","type":""}],"src":"21574:1071:150"},{"body":{"nodeType":"YulBlock","src":"22750:354:150","statements":[{"body":{"nodeType":"YulBlock","src":"22796:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22805:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22808:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22798:6:150"},"nodeType":"YulFunctionCall","src":"22798:12:150"},"nodeType":"YulExpressionStatement","src":"22798:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22771:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22780:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22767:3:150"},"nodeType":"YulFunctionCall","src":"22767:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22792:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22763:3:150"},"nodeType":"YulFunctionCall","src":"22763:32:150"},"nodeType":"YulIf","src":"22760:52:150"},{"nodeType":"YulVariableDeclaration","src":"22821:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22847:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22834:12:150"},"nodeType":"YulFunctionCall","src":"22834:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"22825:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22891:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"22866:24:150"},"nodeType":"YulFunctionCall","src":"22866:31:150"},"nodeType":"YulExpressionStatement","src":"22866:31:150"},{"nodeType":"YulAssignment","src":"22906:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"22916:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22906:6:150"}]},{"nodeType":"YulAssignment","src":"22930:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22962:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22973:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22958:3:150"},"nodeType":"YulFunctionCall","src":"22958:18:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"22940:17:150"},"nodeType":"YulFunctionCall","src":"22940:37:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"22930:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"22986:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23018:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23029:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23014:3:150"},"nodeType":"YulFunctionCall","src":"23014:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23001:12:150"},"nodeType":"YulFunctionCall","src":"23001:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"22990:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"23064:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"23042:21:150"},"nodeType":"YulFunctionCall","src":"23042:30:150"},"nodeType":"YulExpressionStatement","src":"23042:30:150"},{"nodeType":"YulAssignment","src":"23081:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"23091:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"23081:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes4t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22700:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22711:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22723:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22731:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"22739:6:150","type":""}],"src":"22650:454:150"},{"body":{"nodeType":"YulBlock","src":"23232:490:150","statements":[{"body":{"nodeType":"YulBlock","src":"23278:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23287:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23290:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23280:6:150"},"nodeType":"YulFunctionCall","src":"23280:12:150"},"nodeType":"YulExpressionStatement","src":"23280:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23253:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23262:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23249:3:150"},"nodeType":"YulFunctionCall","src":"23249:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23274:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23245:3:150"},"nodeType":"YulFunctionCall","src":"23245:32:150"},"nodeType":"YulIf","src":"23242:52:150"},{"nodeType":"YulVariableDeclaration","src":"23303:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23329:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23316:12:150"},"nodeType":"YulFunctionCall","src":"23316:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"23307:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23373:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"23348:24:150"},"nodeType":"YulFunctionCall","src":"23348:31:150"},"nodeType":"YulExpressionStatement","src":"23348:31:150"},{"nodeType":"YulAssignment","src":"23388:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"23398:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23388:6:150"}]},{"nodeType":"YulAssignment","src":"23412:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23439:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23450:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23435:3:150"},"nodeType":"YulFunctionCall","src":"23435:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23422:12:150"},"nodeType":"YulFunctionCall","src":"23422:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"23412:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"23463:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23494:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23505:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23490:3:150"},"nodeType":"YulFunctionCall","src":"23490:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23477:12:150"},"nodeType":"YulFunctionCall","src":"23477:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23467:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"23552:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23561:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23564:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23554:6:150"},"nodeType":"YulFunctionCall","src":"23554:12:150"},"nodeType":"YulExpressionStatement","src":"23554:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"23524:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23540:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"23544:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23536:3:150"},"nodeType":"YulFunctionCall","src":"23536:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"23548:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23532:3:150"},"nodeType":"YulFunctionCall","src":"23532:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23521:2:150"},"nodeType":"YulFunctionCall","src":"23521:30:150"},"nodeType":"YulIf","src":"23518:50:150"},{"nodeType":"YulVariableDeclaration","src":"23577:85:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23634:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"23645:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23630:3:150"},"nodeType":"YulFunctionCall","src":"23630:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"23654:7:150"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"23603:26:150"},"nodeType":"YulFunctionCall","src":"23603:59:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"23581:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"23591:8:150","type":""}]},{"nodeType":"YulAssignment","src":"23671:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"23681:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"23671:6:150"}]},{"nodeType":"YulAssignment","src":"23698:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"23708:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"23698:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23174:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23185:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23197:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23205:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23213:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"23221:6:150","type":""}],"src":"23109:613:150"},{"body":{"nodeType":"YulBlock","src":"23852:102:150","statements":[{"nodeType":"YulAssignment","src":"23862:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23874:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23885:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23870:3:150"},"nodeType":"YulFunctionCall","src":"23870:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23862:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23904:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23919:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23935:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23940:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23931:3:150"},"nodeType":"YulFunctionCall","src":"23931:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23944:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23927:3:150"},"nodeType":"YulFunctionCall","src":"23927:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23915:3:150"},"nodeType":"YulFunctionCall","src":"23915:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23897:6:150"},"nodeType":"YulFunctionCall","src":"23897:51:150"},"nodeType":"YulExpressionStatement","src":"23897:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23821:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23832:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23843:4:150","type":""}],"src":"23727:227:150"},{"body":{"nodeType":"YulBlock","src":"24053:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"24099:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24108:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24111:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24101:6:150"},"nodeType":"YulFunctionCall","src":"24101:12:150"},"nodeType":"YulExpressionStatement","src":"24101:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24074:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24083:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24070:3:150"},"nodeType":"YulFunctionCall","src":"24070:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24095:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24066:3:150"},"nodeType":"YulFunctionCall","src":"24066:32:150"},"nodeType":"YulIf","src":"24063:52:150"},{"nodeType":"YulVariableDeclaration","src":"24124:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24150:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"24137:12:150"},"nodeType":"YulFunctionCall","src":"24137:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"24128:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24194:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"24169:24:150"},"nodeType":"YulFunctionCall","src":"24169:31:150"},"nodeType":"YulExpressionStatement","src":"24169:31:150"},{"nodeType":"YulAssignment","src":"24209:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"24219:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24209:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IGrantsManager_$65639","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24019:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24030:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24042:6:150","type":""}],"src":"23959:271:150"},{"body":{"nodeType":"YulBlock","src":"24467:865:150","statements":[{"body":{"nodeType":"YulBlock","src":"24514:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24523:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24526:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24516:6:150"},"nodeType":"YulFunctionCall","src":"24516:12:150"},"nodeType":"YulExpressionStatement","src":"24516:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24488:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24497:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24484:3:150"},"nodeType":"YulFunctionCall","src":"24484:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24509:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24480:3:150"},"nodeType":"YulFunctionCall","src":"24480:33:150"},"nodeType":"YulIf","src":"24477:53:150"},{"nodeType":"YulVariableDeclaration","src":"24539:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24566:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"24553:12:150"},"nodeType":"YulFunctionCall","src":"24553:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"24543:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24585:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24603:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"24607:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"24599:3:150"},"nodeType":"YulFunctionCall","src":"24599:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"24611:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24595:3:150"},"nodeType":"YulFunctionCall","src":"24595:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"24589:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"24640:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24649:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24652:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24642:6:150"},"nodeType":"YulFunctionCall","src":"24642:12:150"},"nodeType":"YulExpressionStatement","src":"24642:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"24628:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24636:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24625:2:150"},"nodeType":"YulFunctionCall","src":"24625:14:150"},"nodeType":"YulIf","src":"24622:34:150"},{"nodeType":"YulAssignment","src":"24665:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24708:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"24719:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24704:3:150"},"nodeType":"YulFunctionCall","src":"24704:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"24728:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"24675:28:150"},"nodeType":"YulFunctionCall","src":"24675:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24665:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"24745:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24778:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24789:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24774:3:150"},"nodeType":"YulFunctionCall","src":"24774:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"24761:12:150"},"nodeType":"YulFunctionCall","src":"24761:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"24749:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"24822:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24831:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24834:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24824:6:150"},"nodeType":"YulFunctionCall","src":"24824:12:150"},"nodeType":"YulExpressionStatement","src":"24824:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"24808:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24818:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24805:2:150"},"nodeType":"YulFunctionCall","src":"24805:16:150"},"nodeType":"YulIf","src":"24802:36:150"},{"nodeType":"YulAssignment","src":"24847:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24890:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"24901:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24886:3:150"},"nodeType":"YulFunctionCall","src":"24886:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"24912:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"24857:28:150"},"nodeType":"YulFunctionCall","src":"24857:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"24847:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"24929:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24962:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24973:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24958:3:150"},"nodeType":"YulFunctionCall","src":"24958:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"24945:12:150"},"nodeType":"YulFunctionCall","src":"24945:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"24933:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"25006:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25015:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25018:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25008:6:150"},"nodeType":"YulFunctionCall","src":"25008:12:150"},"nodeType":"YulExpressionStatement","src":"25008:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"24992:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"25002:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24989:2:150"},"nodeType":"YulFunctionCall","src":"24989:16:150"},"nodeType":"YulIf","src":"24986:36:150"},{"nodeType":"YulAssignment","src":"25031:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25072:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"25083:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25068:3:150"},"nodeType":"YulFunctionCall","src":"25068:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"25094:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"25041:26:150"},"nodeType":"YulFunctionCall","src":"25041:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"25031:6:150"}]},{"nodeType":"YulAssignment","src":"25111:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25138:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25149:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25134:3:150"},"nodeType":"YulFunctionCall","src":"25134:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"25121:12:150"},"nodeType":"YulFunctionCall","src":"25121:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"25111:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"25162:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25195:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25206:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25191:3:150"},"nodeType":"YulFunctionCall","src":"25191:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"25178:12:150"},"nodeType":"YulFunctionCall","src":"25178:33:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"25166:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"25240:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25249:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25252:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25242:6:150"},"nodeType":"YulFunctionCall","src":"25242:12:150"},"nodeType":"YulExpressionStatement","src":"25242:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"25226:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"25236:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"25223:2:150"},"nodeType":"YulFunctionCall","src":"25223:16:150"},"nodeType":"YulIf","src":"25220:36:150"},{"nodeType":"YulAssignment","src":"25265:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25296:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"25307:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25292:3:150"},"nodeType":"YulFunctionCall","src":"25292:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"25318:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"25275:16:150"},"nodeType":"YulFunctionCall","src":"25275:51:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"25265:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24401:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24412:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24424:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24432:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"24440:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"24448:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"24456:6:150","type":""}],"src":"24235:1097:150"},{"body":{"nodeType":"YulBlock","src":"25466:102:150","statements":[{"nodeType":"YulAssignment","src":"25476:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25488:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25499:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25484:3:150"},"nodeType":"YulFunctionCall","src":"25484:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25476:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25518:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25533:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25549:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25554:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25545:3:150"},"nodeType":"YulFunctionCall","src":"25545:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"25558:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25541:3:150"},"nodeType":"YulFunctionCall","src":"25541:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25529:3:150"},"nodeType":"YulFunctionCall","src":"25529:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25511:6:150"},"nodeType":"YulFunctionCall","src":"25511:51:150"},"nodeType":"YulExpressionStatement","src":"25511:51:150"}]},"name":"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25435:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25446:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25457:4:150","type":""}],"src":"25337:231:150"},{"body":{"nodeType":"YulBlock","src":"25710:102:150","statements":[{"nodeType":"YulAssignment","src":"25720:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25732:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25743:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25728:3:150"},"nodeType":"YulFunctionCall","src":"25728:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25720:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25762:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25777:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25793:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25798:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25789:3:150"},"nodeType":"YulFunctionCall","src":"25789:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"25802:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25785:3:150"},"nodeType":"YulFunctionCall","src":"25785:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25773:3:150"},"nodeType":"YulFunctionCall","src":"25773:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25755:6:150"},"nodeType":"YulFunctionCall","src":"25755:51:150"},"nodeType":"YulExpressionStatement","src":"25755:51:150"}]},"name":"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25679:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25690:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25701:4:150","type":""}],"src":"25573:239:150"},{"body":{"nodeType":"YulBlock","src":"25904:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"25950:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25959:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25962:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25952:6:150"},"nodeType":"YulFunctionCall","src":"25952:12:150"},"nodeType":"YulExpressionStatement","src":"25952:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"25925:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"25934:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25921:3:150"},"nodeType":"YulFunctionCall","src":"25921:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"25946:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"25917:3:150"},"nodeType":"YulFunctionCall","src":"25917:32:150"},"nodeType":"YulIf","src":"25914:52:150"},{"nodeType":"YulAssignment","src":"25975:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25998:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"25985:12:150"},"nodeType":"YulFunctionCall","src":"25985:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"25975:6:150"}]},{"nodeType":"YulAssignment","src":"26017:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26044:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26055:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26040:3:150"},"nodeType":"YulFunctionCall","src":"26040:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26027:12:150"},"nodeType":"YulFunctionCall","src":"26027:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"26017:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25862:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"25873:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"25885:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25893:6:150","type":""}],"src":"25817:248:150"},{"body":{"nodeType":"YulBlock","src":"26194:102:150","statements":[{"nodeType":"YulAssignment","src":"26204:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26216:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26227:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26212:3:150"},"nodeType":"YulFunctionCall","src":"26212:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26204:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26246:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26261:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26277:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"26282:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26273:3:150"},"nodeType":"YulFunctionCall","src":"26273:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"26286:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26269:3:150"},"nodeType":"YulFunctionCall","src":"26269:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26257:3:150"},"nodeType":"YulFunctionCall","src":"26257:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26239:6:150"},"nodeType":"YulFunctionCall","src":"26239:51:150"},"nodeType":"YulExpressionStatement","src":"26239:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26163:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26174:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26185:4:150","type":""}],"src":"26070:226:150"},{"body":{"nodeType":"YulBlock","src":"26448:587:150","statements":[{"body":{"nodeType":"YulBlock","src":"26495:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26504:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26507:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26497:6:150"},"nodeType":"YulFunctionCall","src":"26497:12:150"},"nodeType":"YulExpressionStatement","src":"26497:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"26469:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"26478:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26465:3:150"},"nodeType":"YulFunctionCall","src":"26465:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"26490:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"26461:3:150"},"nodeType":"YulFunctionCall","src":"26461:33:150"},"nodeType":"YulIf","src":"26458:53:150"},{"nodeType":"YulVariableDeclaration","src":"26520:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26546:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26533:12:150"},"nodeType":"YulFunctionCall","src":"26533:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"26524:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26590:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"26565:24:150"},"nodeType":"YulFunctionCall","src":"26565:31:150"},"nodeType":"YulExpressionStatement","src":"26565:31:150"},{"nodeType":"YulAssignment","src":"26605:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"26615:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"26605:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"26629:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26661:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26672:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26657:3:150"},"nodeType":"YulFunctionCall","src":"26657:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26644:12:150"},"nodeType":"YulFunctionCall","src":"26644:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"26633:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"26710:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"26685:24:150"},"nodeType":"YulFunctionCall","src":"26685:33:150"},"nodeType":"YulExpressionStatement","src":"26685:33:150"},{"nodeType":"YulAssignment","src":"26727:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"26737:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"26727:6:150"}]},{"nodeType":"YulAssignment","src":"26753:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26780:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26791:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26776:3:150"},"nodeType":"YulFunctionCall","src":"26776:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26763:12:150"},"nodeType":"YulFunctionCall","src":"26763:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"26753:6:150"}]},{"nodeType":"YulAssignment","src":"26804:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26842:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26827:3:150"},"nodeType":"YulFunctionCall","src":"26827:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26814:12:150"},"nodeType":"YulFunctionCall","src":"26814:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"26804:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"26855:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26886:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26897:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26882:3:150"},"nodeType":"YulFunctionCall","src":"26882:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26869:12:150"},"nodeType":"YulFunctionCall","src":"26869:33:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"26859:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26945:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26954:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26957:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26947:6:150"},"nodeType":"YulFunctionCall","src":"26947:12:150"},"nodeType":"YulExpressionStatement","src":"26947:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"26917:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26933:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"26937:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26929:3:150"},"nodeType":"YulFunctionCall","src":"26929:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"26941:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26925:3:150"},"nodeType":"YulFunctionCall","src":"26925:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26914:2:150"},"nodeType":"YulFunctionCall","src":"26914:30:150"},"nodeType":"YulIf","src":"26911:50:150"},{"nodeType":"YulAssignment","src":"26970:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27001:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"27012:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26997:3:150"},"nodeType":"YulFunctionCall","src":"26997:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"27021:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"26980:16:150"},"nodeType":"YulFunctionCall","src":"26980:49:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"26970:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26382:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"26393:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"26405:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26413:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"26421:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"26429:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"26437:6:150","type":""}],"src":"26301:734:150"},{"body":{"nodeType":"YulBlock","src":"27138:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"27184:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27193:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27196:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27186:6:150"},"nodeType":"YulFunctionCall","src":"27186:12:150"},"nodeType":"YulExpressionStatement","src":"27186:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"27159:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"27168:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27155:3:150"},"nodeType":"YulFunctionCall","src":"27155:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"27180:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"27151:3:150"},"nodeType":"YulFunctionCall","src":"27151:32:150"},"nodeType":"YulIf","src":"27148:52:150"},{"nodeType":"YulVariableDeclaration","src":"27209:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27235:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"27222:12:150"},"nodeType":"YulFunctionCall","src":"27222:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"27213:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27279:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"27254:24:150"},"nodeType":"YulFunctionCall","src":"27254:31:150"},"nodeType":"YulExpressionStatement","src":"27254:31:150"},{"nodeType":"YulAssignment","src":"27294:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"27304:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"27294:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27104:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"27115:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"27127:6:150","type":""}],"src":"27040:275:150"},{"body":{"nodeType":"YulBlock","src":"27436:102:150","statements":[{"nodeType":"YulAssignment","src":"27446:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27458:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27469:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27454:3:150"},"nodeType":"YulFunctionCall","src":"27454:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27446:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27488:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27503:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27519:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"27524:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27515:3:150"},"nodeType":"YulFunctionCall","src":"27515:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"27528:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27511:3:150"},"nodeType":"YulFunctionCall","src":"27511:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27499:3:150"},"nodeType":"YulFunctionCall","src":"27499:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27481:6:150"},"nodeType":"YulFunctionCall","src":"27481:51:150"},"nodeType":"YulExpressionStatement","src":"27481:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVOT3_$67719__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27405:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27416:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27427:4:150","type":""}],"src":"27320:218:150"},{"body":{"nodeType":"YulBlock","src":"27680:145:150","statements":[{"nodeType":"YulAssignment","src":"27690:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27702:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27713:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27698:3:150"},"nodeType":"YulFunctionCall","src":"27698:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27690:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27732:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"27743:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27725:6:150"},"nodeType":"YulFunctionCall","src":"27725:25:150"},"nodeType":"YulExpressionStatement","src":"27725:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27770:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27781:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27766:3:150"},"nodeType":"YulFunctionCall","src":"27766:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"27790:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27806:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"27811:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27802:3:150"},"nodeType":"YulFunctionCall","src":"27802:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"27815:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27798:3:150"},"nodeType":"YulFunctionCall","src":"27798:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27786:3:150"},"nodeType":"YulFunctionCall","src":"27786:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27759:6:150"},"nodeType":"YulFunctionCall","src":"27759:60:150"},"nodeType":"YulExpressionStatement","src":"27759:60:150"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27641:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"27652:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27660:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27671:4:150","type":""}],"src":"27543:282:150"},{"body":{"nodeType":"YulBlock","src":"27891:400:150","statements":[{"nodeType":"YulVariableDeclaration","src":"27901:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27921:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27915:5:150"},"nodeType":"YulFunctionCall","src":"27915:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"27905:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27943:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27948:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27936:6:150"},"nodeType":"YulFunctionCall","src":"27936:19:150"},"nodeType":"YulExpressionStatement","src":"27936:19:150"},{"nodeType":"YulVariableDeclaration","src":"27964:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27974:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"27968:2:150","type":""}]},{"nodeType":"YulAssignment","src":"27987:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27998:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28003:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27994:3:150"},"nodeType":"YulFunctionCall","src":"27994:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"27987:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"28015:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28033:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28040:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28029:3:150"},"nodeType":"YulFunctionCall","src":"28029:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"28019:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28052:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28061:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"28056:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28120:146:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28141:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"28156:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28150:5:150"},"nodeType":"YulFunctionCall","src":"28150:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28173:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"28178:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28169:3:150"},"nodeType":"YulFunctionCall","src":"28169:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"28182:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28165:3:150"},"nodeType":"YulFunctionCall","src":"28165:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28146:3:150"},"nodeType":"YulFunctionCall","src":"28146:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28134:6:150"},"nodeType":"YulFunctionCall","src":"28134:52:150"},"nodeType":"YulExpressionStatement","src":"28134:52:150"},{"nodeType":"YulAssignment","src":"28199:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28210:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28215:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28206:3:150"},"nodeType":"YulFunctionCall","src":"28206:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"28199:3:150"}]},{"nodeType":"YulAssignment","src":"28231:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"28245:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28253:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28241:3:150"},"nodeType":"YulFunctionCall","src":"28241:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"28231:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28082:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"28085:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28079:2:150"},"nodeType":"YulFunctionCall","src":"28079:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"28093:18:150","statements":[{"nodeType":"YulAssignment","src":"28095:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28104:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"28107:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28100:3:150"},"nodeType":"YulFunctionCall","src":"28100:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"28095:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"28075:3:150","statements":[]},"src":"28071:195:150"},{"nodeType":"YulAssignment","src":"28275:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"28282:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"28275:3:150"}]}]},"name":"abi_encode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27868:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"27875:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"27883:3:150","type":""}],"src":"27830:461:150"},{"body":{"nodeType":"YulBlock","src":"28355:556:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28365:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28385:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28379:5:150"},"nodeType":"YulFunctionCall","src":"28379:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"28369:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28407:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"28412:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28400:6:150"},"nodeType":"YulFunctionCall","src":"28400:19:150"},"nodeType":"YulExpressionStatement","src":"28400:19:150"},{"nodeType":"YulVariableDeclaration","src":"28428:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28438:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"28432:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28451:31:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28474:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28479:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28470:3:150"},"nodeType":"YulFunctionCall","src":"28470:12:150"},"variables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"28455:11:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28491:24:150","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"28504:11:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"28495:5:150","type":""}]},{"nodeType":"YulAssignment","src":"28524:18:150","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"28531:11:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"28524:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"28551:38:150","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"28567:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28578:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"28581:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28574:3:150"},"nodeType":"YulFunctionCall","src":"28574:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28563:3:150"},"nodeType":"YulFunctionCall","src":"28563:26:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"28555:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28598:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28616:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28623:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28612:3:150"},"nodeType":"YulFunctionCall","src":"28612:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"28602:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28635:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28644:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"28639:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28703:182:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28724:3:150"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"28733:4:150"},{"name":"pos_1","nodeType":"YulIdentifier","src":"28739:5:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28729:3:150"},"nodeType":"YulFunctionCall","src":"28729:16:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28717:6:150"},"nodeType":"YulFunctionCall","src":"28717:29:150"},"nodeType":"YulExpressionStatement","src":"28717:29:150"},{"nodeType":"YulAssignment","src":"28759:46:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"28791:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28785:5:150"},"nodeType":"YulFunctionCall","src":"28785:13:150"},{"name":"tail","nodeType":"YulIdentifier","src":"28800:4:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"28767:17:150"},"nodeType":"YulFunctionCall","src":"28767:38:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28759:4:150"}]},{"nodeType":"YulAssignment","src":"28818:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"28832:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28840:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28828:3:150"},"nodeType":"YulFunctionCall","src":"28828:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"28818:6:150"}]},{"nodeType":"YulAssignment","src":"28856:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28867:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28872:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28863:3:150"},"nodeType":"YulFunctionCall","src":"28863:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"28856:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28665:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"28668:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28662:2:150"},"nodeType":"YulFunctionCall","src":"28662:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"28676:18:150","statements":[{"nodeType":"YulAssignment","src":"28678:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28687:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"28690:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28683:3:150"},"nodeType":"YulFunctionCall","src":"28683:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"28678:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"28658:3:150","statements":[]},"src":"28654:231:150"},{"nodeType":"YulAssignment","src":"28894:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"28901:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"28894:3:150"}]}]},"name":"abi_encode_array_bytes_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28332:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"28339:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"28347:3:150","type":""}],"src":"28296:615:150"},{"body":{"nodeType":"YulBlock","src":"29429:771:150","statements":[{"nodeType":"YulVariableDeclaration","src":"29439:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29449:3:150","type":"","value":"256"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"29443:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29468:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29479:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29461:6:150"},"nodeType":"YulFunctionCall","src":"29461:21:150"},"nodeType":"YulExpressionStatement","src":"29461:21:150"},{"nodeType":"YulVariableDeclaration","src":"29491:70:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"29534:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29546:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29557:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29542:3:150"},"nodeType":"YulFunctionCall","src":"29542:18:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"29505:28:150"},"nodeType":"YulFunctionCall","src":"29505:56:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"29495:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29581:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29592:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29577:3:150"},"nodeType":"YulFunctionCall","src":"29577:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"29601:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"29609:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29597:3:150"},"nodeType":"YulFunctionCall","src":"29597:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29570:6:150"},"nodeType":"YulFunctionCall","src":"29570:50:150"},"nodeType":"YulExpressionStatement","src":"29570:50:150"},{"nodeType":"YulVariableDeclaration","src":"29629:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29672:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"29680:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"29643:28:150"},"nodeType":"YulFunctionCall","src":"29643:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"29633:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29707:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29718:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29703:3:150"},"nodeType":"YulFunctionCall","src":"29703:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"29727:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"29735:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29723:3:150"},"nodeType":"YulFunctionCall","src":"29723:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29696:6:150"},"nodeType":"YulFunctionCall","src":"29696:50:150"},"nodeType":"YulExpressionStatement","src":"29696:50:150"},{"nodeType":"YulVariableDeclaration","src":"29755:56:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"29796:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"29804:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"29769:26:150"},"nodeType":"YulFunctionCall","src":"29769:42:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"29759:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29842:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29827:3:150"},"nodeType":"YulFunctionCall","src":"29827:18:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"29851:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"29859:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29847:3:150"},"nodeType":"YulFunctionCall","src":"29847:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29820:6:150"},"nodeType":"YulFunctionCall","src":"29820:50:150"},"nodeType":"YulExpressionStatement","src":"29820:50:150"},{"nodeType":"YulVariableDeclaration","src":"29879:47:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"29911:6:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"29919:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"29893:17:150"},"nodeType":"YulFunctionCall","src":"29893:33:150"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"29883:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29946:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29957:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29942:3:150"},"nodeType":"YulFunctionCall","src":"29942:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"29963:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29935:6:150"},"nodeType":"YulFunctionCall","src":"29935:35:150"},"nodeType":"YulExpressionStatement","src":"29935:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29990:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30001:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29986:3:150"},"nodeType":"YulFunctionCall","src":"29986:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"30007:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29979:6:150"},"nodeType":"YulFunctionCall","src":"29979:35:150"},"nodeType":"YulExpressionStatement","src":"29979:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30034:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30045:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30030:3:150"},"nodeType":"YulFunctionCall","src":"30030:19:150"},{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"30055:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30071:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"30076:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"30067:3:150"},"nodeType":"YulFunctionCall","src":"30067:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"30080:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30063:3:150"},"nodeType":"YulFunctionCall","src":"30063:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30051:3:150"},"nodeType":"YulFunctionCall","src":"30051:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30023:6:150"},"nodeType":"YulFunctionCall","src":"30023:61:150"},"nodeType":"YulExpressionStatement","src":"30023:61:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30104:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30115:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30100:3:150"},"nodeType":"YulFunctionCall","src":"30100:19:150"},{"arguments":[{"name":"tail_4","nodeType":"YulIdentifier","src":"30125:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"30133:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30121:3:150"},"nodeType":"YulFunctionCall","src":"30121:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30093:6:150"},"nodeType":"YulFunctionCall","src":"30093:51:150"},"nodeType":"YulExpressionStatement","src":"30093:51:150"},{"nodeType":"YulAssignment","src":"30153:41:150","value":{"arguments":[{"name":"value7","nodeType":"YulIdentifier","src":"30179:6:150"},{"name":"tail_4","nodeType":"YulIdentifier","src":"30187:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"30161:17:150"},"nodeType":"YulFunctionCall","src":"30161:33:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30153:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29342:9:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"29353:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"29361:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"29369:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"29377:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"29385:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"29393:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"29401:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"29409:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29420:4:150","type":""}],"src":"28916:1284:150"},{"body":{"nodeType":"YulBlock","src":"30286:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"30332:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30341:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"30344:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"30334:6:150"},"nodeType":"YulFunctionCall","src":"30334:12:150"},"nodeType":"YulExpressionStatement","src":"30334:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"30307:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"30316:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30303:3:150"},"nodeType":"YulFunctionCall","src":"30303:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"30328:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"30299:3:150"},"nodeType":"YulFunctionCall","src":"30299:32:150"},"nodeType":"YulIf","src":"30296:52:150"},{"nodeType":"YulAssignment","src":"30357:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30373:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30367:5:150"},"nodeType":"YulFunctionCall","src":"30367:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"30357:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30252:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"30263:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"30275:6:150","type":""}],"src":"30205:184:150"},{"body":{"nodeType":"YulBlock","src":"30527:130:150","statements":[{"nodeType":"YulAssignment","src":"30537:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30549:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30560:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30545:3:150"},"nodeType":"YulFunctionCall","src":"30545:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30537:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30579:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"30590:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30572:6:150"},"nodeType":"YulFunctionCall","src":"30572:25:150"},"nodeType":"YulExpressionStatement","src":"30572:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30617:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30628:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30613:3:150"},"nodeType":"YulFunctionCall","src":"30613:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"30637:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"30645:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30633:3:150"},"nodeType":"YulFunctionCall","src":"30633:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30606:6:150"},"nodeType":"YulFunctionCall","src":"30606:45:150"},"nodeType":"YulExpressionStatement","src":"30606:45:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint8__to_t_uint256_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30488:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30499:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30507:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30518:4:150","type":""}],"src":"30394:263:150"},{"body":{"nodeType":"YulBlock","src":"30815:141:150","statements":[{"nodeType":"YulAssignment","src":"30825:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30837:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30848:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30833:3:150"},"nodeType":"YulFunctionCall","src":"30833:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30825:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30889:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"30897:9:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"30860:28:150"},"nodeType":"YulFunctionCall","src":"30860:47:150"},"nodeType":"YulExpressionStatement","src":"30860:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30927:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30938:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30923:3:150"},"nodeType":"YulFunctionCall","src":"30923:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"30943:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30916:6:150"},"nodeType":"YulFunctionCall","src":"30916:34:150"},"nodeType":"YulExpressionStatement","src":"30916:34:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$25017_t_uint256__to_t_uint8_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30776:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30787:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30795:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30806:4:150","type":""}],"src":"30662:294:150"},{"body":{"nodeType":"YulBlock","src":"31070:76:150","statements":[{"nodeType":"YulAssignment","src":"31080:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31092:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31103:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31088:3:150"},"nodeType":"YulFunctionCall","src":"31088:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31080:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31122:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"31133:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31115:6:150"},"nodeType":"YulFunctionCall","src":"31115:25:150"},"nodeType":"YulExpressionStatement","src":"31115:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31039:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31050:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31061:4:150","type":""}],"src":"30961:185:150"},{"body":{"nodeType":"YulBlock","src":"31206:325:150","statements":[{"nodeType":"YulAssignment","src":"31216:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31230:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"31233:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"31226:3:150"},"nodeType":"YulFunctionCall","src":"31226:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"31216:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"31247:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"31277:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"31283:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31273:3:150"},"nodeType":"YulFunctionCall","src":"31273:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"31251:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"31324:31:150","statements":[{"nodeType":"YulAssignment","src":"31326:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"31340:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"31348:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31336:3:150"},"nodeType":"YulFunctionCall","src":"31336:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"31326:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"31304:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31297:6:150"},"nodeType":"YulFunctionCall","src":"31297:26:150"},"nodeType":"YulIf","src":"31294:61:150"},{"body":{"nodeType":"YulBlock","src":"31414:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31435:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31442:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"31447:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31438:3:150"},"nodeType":"YulFunctionCall","src":"31438:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31428:6:150"},"nodeType":"YulFunctionCall","src":"31428:31:150"},"nodeType":"YulExpressionStatement","src":"31428:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31479:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"31482:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31472:6:150"},"nodeType":"YulFunctionCall","src":"31472:15:150"},"nodeType":"YulExpressionStatement","src":"31472:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31507:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31510:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31500:6:150"},"nodeType":"YulFunctionCall","src":"31500:15:150"},"nodeType":"YulExpressionStatement","src":"31500:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"31370:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"31393:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"31401:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"31390:2:150"},"nodeType":"YulFunctionCall","src":"31390:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"31367:2:150"},"nodeType":"YulFunctionCall","src":"31367:38:150"},"nodeType":"YulIf","src":"31364:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"31186:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"31195:6:150","type":""}],"src":"31151:380:150"},{"body":{"nodeType":"YulBlock","src":"31674:102:150","statements":[{"nodeType":"YulAssignment","src":"31684:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31696:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31707:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31692:3:150"},"nodeType":"YulFunctionCall","src":"31692:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31684:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31726:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31741:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31757:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"31762:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31753:3:150"},"nodeType":"YulFunctionCall","src":"31753:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"31766:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31749:3:150"},"nodeType":"YulFunctionCall","src":"31749:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31737:3:150"},"nodeType":"YulFunctionCall","src":"31737:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31719:6:150"},"nodeType":"YulFunctionCall","src":"31719:51:150"},"nodeType":"YulExpressionStatement","src":"31719:51:150"}]},"name":"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31643:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31654:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31665:4:150","type":""}],"src":"31536:240:150"},{"body":{"nodeType":"YulBlock","src":"31886:87:150","statements":[{"nodeType":"YulAssignment","src":"31896:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31908:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31919:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31904:3:150"},"nodeType":"YulFunctionCall","src":"31904:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31896:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31938:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31953:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"31961:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31949:3:150"},"nodeType":"YulFunctionCall","src":"31949:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31931:6:150"},"nodeType":"YulFunctionCall","src":"31931:36:150"},"nodeType":"YulExpressionStatement","src":"31931:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31855:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31866:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31877:4:150","type":""}],"src":"31781:192:150"},{"body":{"nodeType":"YulBlock","src":"32367:475:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32384:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32399:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32415:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"32420:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"32411:3:150"},"nodeType":"YulFunctionCall","src":"32411:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"32424:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32407:3:150"},"nodeType":"YulFunctionCall","src":"32407:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32395:3:150"},"nodeType":"YulFunctionCall","src":"32395:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32377:6:150"},"nodeType":"YulFunctionCall","src":"32377:51:150"},"nodeType":"YulExpressionStatement","src":"32377:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32448:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32459:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32444:3:150"},"nodeType":"YulFunctionCall","src":"32444:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32464:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32437:6:150"},"nodeType":"YulFunctionCall","src":"32437:31:150"},"nodeType":"YulExpressionStatement","src":"32437:31:150"},{"nodeType":"YulVariableDeclaration","src":"32477:71:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"32520:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32532:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32543:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32528:3:150"},"nodeType":"YulFunctionCall","src":"32528:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"32491:28:150"},"nodeType":"YulFunctionCall","src":"32491:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"32481:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32568:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32579:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32564:3:150"},"nodeType":"YulFunctionCall","src":"32564:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"32588:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"32596:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32584:3:150"},"nodeType":"YulFunctionCall","src":"32584:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32557:6:150"},"nodeType":"YulFunctionCall","src":"32557:50:150"},"nodeType":"YulExpressionStatement","src":"32557:50:150"},{"nodeType":"YulVariableDeclaration","src":"32616:58:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"32659:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"32667:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"32630:28:150"},"nodeType":"YulFunctionCall","src":"32630:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"32620:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32694:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32705:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32690:3:150"},"nodeType":"YulFunctionCall","src":"32690:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"32714:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"32722:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32710:3:150"},"nodeType":"YulFunctionCall","src":"32710:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32683:6:150"},"nodeType":"YulFunctionCall","src":"32683:50:150"},"nodeType":"YulExpressionStatement","src":"32683:50:150"},{"nodeType":"YulAssignment","src":"32742:50:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"32777:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"32785:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"32750:26:150"},"nodeType":"YulFunctionCall","src":"32750:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32742:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32812:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32823:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32808:3:150"},"nodeType":"YulFunctionCall","src":"32808:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"32829:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32801:6:150"},"nodeType":"YulFunctionCall","src":"32801:35:150"},"nodeType":"YulExpressionStatement","src":"32801:35:150"}]},"name":"abi_encode_tuple_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32304:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"32315:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"32323:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"32331:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"32339:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32347:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32358:4:150","type":""}],"src":"31978:864:150"},{"body":{"nodeType":"YulBlock","src":"32926:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"32972:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32981:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"32984:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"32974:6:150"},"nodeType":"YulFunctionCall","src":"32974:12:150"},"nodeType":"YulExpressionStatement","src":"32974:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"32947:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"32956:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32943:3:150"},"nodeType":"YulFunctionCall","src":"32943:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"32968:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"32939:3:150"},"nodeType":"YulFunctionCall","src":"32939:32:150"},"nodeType":"YulIf","src":"32936:52:150"},{"nodeType":"YulVariableDeclaration","src":"32997:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33016:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33010:5:150"},"nodeType":"YulFunctionCall","src":"33010:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"33001:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"33058:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"33035:22:150"},"nodeType":"YulFunctionCall","src":"33035:29:150"},"nodeType":"YulExpressionStatement","src":"33035:29:150"},{"nodeType":"YulAssignment","src":"33073:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"33083:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"33073:6:150"}]}]},"name":"abi_decode_tuple_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32892:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"32903:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"32915:6:150","type":""}],"src":"32847:247:150"},{"body":{"nodeType":"YulBlock","src":"33252:141:150","statements":[{"nodeType":"YulAssignment","src":"33262:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33274:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33285:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33270:3:150"},"nodeType":"YulFunctionCall","src":"33270:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33262:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33304:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"33315:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33297:6:150"},"nodeType":"YulFunctionCall","src":"33297:25:150"},"nodeType":"YulExpressionStatement","src":"33297:25:150"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"33360:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33372:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33383:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33368:3:150"},"nodeType":"YulFunctionCall","src":"33368:18:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"33331:28:150"},"nodeType":"YulFunctionCall","src":"33331:56:150"},"nodeType":"YulExpressionStatement","src":"33331:56:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$25017__to_t_uint256_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33213:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33224:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33232:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33243:4:150","type":""}],"src":"33099:294:150"},{"body":{"nodeType":"YulBlock","src":"33543:102:150","statements":[{"nodeType":"YulAssignment","src":"33553:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33565:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33576:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33561:3:150"},"nodeType":"YulFunctionCall","src":"33561:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33553:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33595:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33610:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33626:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"33631:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33622:3:150"},"nodeType":"YulFunctionCall","src":"33622:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"33635:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33618:3:150"},"nodeType":"YulFunctionCall","src":"33618:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33606:3:150"},"nodeType":"YulFunctionCall","src":"33606:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33588:6:150"},"nodeType":"YulFunctionCall","src":"33588:51:150"},"nodeType":"YulExpressionStatement","src":"33588:51:150"}]},"name":"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33512:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33523:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33534:4:150","type":""}],"src":"33398:247:150"},{"body":{"nodeType":"YulBlock","src":"33741:557:150","statements":[{"body":{"nodeType":"YulBlock","src":"33787:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33796:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"33799:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"33789:6:150"},"nodeType":"YulFunctionCall","src":"33789:12:150"},"nodeType":"YulExpressionStatement","src":"33789:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"33762:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"33771:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33758:3:150"},"nodeType":"YulFunctionCall","src":"33758:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"33783:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"33754:3:150"},"nodeType":"YulFunctionCall","src":"33754:32:150"},"nodeType":"YulIf","src":"33751:52:150"},{"nodeType":"YulVariableDeclaration","src":"33812:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33832:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33826:5:150"},"nodeType":"YulFunctionCall","src":"33826:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33816:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"33885:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33894:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"33897:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"33887:6:150"},"nodeType":"YulFunctionCall","src":"33887:12:150"},"nodeType":"YulExpressionStatement","src":"33887:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"33857:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33873:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"33877:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33869:3:150"},"nodeType":"YulFunctionCall","src":"33869:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"33881:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33865:3:150"},"nodeType":"YulFunctionCall","src":"33865:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"33854:2:150"},"nodeType":"YulFunctionCall","src":"33854:30:150"},"nodeType":"YulIf","src":"33851:50:150"},{"nodeType":"YulVariableDeclaration","src":"33910:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33924:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"33935:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33920:3:150"},"nodeType":"YulFunctionCall","src":"33920:22:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"33914:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"33990:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33999:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34002:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"33992:6:150"},"nodeType":"YulFunctionCall","src":"33992:12:150"},"nodeType":"YulExpressionStatement","src":"33992:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"33969:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"33973:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33965:3:150"},"nodeType":"YulFunctionCall","src":"33965:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"33980:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"33961:3:150"},"nodeType":"YulFunctionCall","src":"33961:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"33954:6:150"},"nodeType":"YulFunctionCall","src":"33954:35:150"},"nodeType":"YulIf","src":"33951:55:150"},{"nodeType":"YulVariableDeclaration","src":"34015:19:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"34031:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34025:5:150"},"nodeType":"YulFunctionCall","src":"34025:9:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"34019:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"34043:61:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"34100:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"34072:27:150"},"nodeType":"YulFunctionCall","src":"34072:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"34056:15:150"},"nodeType":"YulFunctionCall","src":"34056:48:150"},"variables":[{"name":"array","nodeType":"YulTypedName","src":"34047:5:150","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"34120:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"34127:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34113:6:150"},"nodeType":"YulFunctionCall","src":"34113:17:150"},"nodeType":"YulExpressionStatement","src":"34113:17:150"},{"body":{"nodeType":"YulBlock","src":"34176:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34185:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34188:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34178:6:150"},"nodeType":"YulFunctionCall","src":"34178:12:150"},"nodeType":"YulExpressionStatement","src":"34178:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"34153:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"34157:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34149:3:150"},"nodeType":"YulFunctionCall","src":"34149:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"34162:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34145:3:150"},"nodeType":"YulFunctionCall","src":"34145:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34167:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34142:2:150"},"nodeType":"YulFunctionCall","src":"34142:33:150"},"nodeType":"YulIf","src":"34139:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"34240:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"34244:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34236:3:150"},"nodeType":"YulFunctionCall","src":"34236:11:150"},{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"34253:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"34260:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34249:3:150"},"nodeType":"YulFunctionCall","src":"34249:14:150"},{"name":"_2","nodeType":"YulIdentifier","src":"34265:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"34201:34:150"},"nodeType":"YulFunctionCall","src":"34201:67:150"},"nodeType":"YulExpressionStatement","src":"34201:67:150"},{"nodeType":"YulAssignment","src":"34277:15:150","value":{"name":"array","nodeType":"YulIdentifier","src":"34287:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"34277:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33707:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"33718:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"33730:6:150","type":""}],"src":"33650:648:150"},{"body":{"nodeType":"YulBlock","src":"34406:92:150","statements":[{"nodeType":"YulAssignment","src":"34416:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34428:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34439:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34424:3:150"},"nodeType":"YulFunctionCall","src":"34424:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34416:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34458:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34483:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"34476:6:150"},"nodeType":"YulFunctionCall","src":"34476:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"34469:6:150"},"nodeType":"YulFunctionCall","src":"34469:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34451:6:150"},"nodeType":"YulFunctionCall","src":"34451:41:150"},"nodeType":"YulExpressionStatement","src":"34451:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34375:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34386:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34397:4:150","type":""}],"src":"34303:195:150"},{"body":{"nodeType":"YulBlock","src":"34609:775:150","statements":[{"nodeType":"YulVariableDeclaration","src":"34619:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"34629:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"34623:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34676:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34685:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34688:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34678:6:150"},"nodeType":"YulFunctionCall","src":"34678:12:150"},"nodeType":"YulExpressionStatement","src":"34678:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"34651:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"34660:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34647:3:150"},"nodeType":"YulFunctionCall","src":"34647:23:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34672:2:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"34643:3:150"},"nodeType":"YulFunctionCall","src":"34643:32:150"},"nodeType":"YulIf","src":"34640:52:150"},{"nodeType":"YulVariableDeclaration","src":"34701:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34721:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34715:5:150"},"nodeType":"YulFunctionCall","src":"34715:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"34705:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34774:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34783:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34786:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34776:6:150"},"nodeType":"YulFunctionCall","src":"34776:12:150"},"nodeType":"YulExpressionStatement","src":"34776:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"34746:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34762:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"34766:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34758:3:150"},"nodeType":"YulFunctionCall","src":"34758:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"34770:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34754:3:150"},"nodeType":"YulFunctionCall","src":"34754:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34743:2:150"},"nodeType":"YulFunctionCall","src":"34743:30:150"},"nodeType":"YulIf","src":"34740:50:150"},{"nodeType":"YulVariableDeclaration","src":"34799:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34813:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"34824:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34809:3:150"},"nodeType":"YulFunctionCall","src":"34809:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"34803:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34879:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34888:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34891:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34881:6:150"},"nodeType":"YulFunctionCall","src":"34881:12:150"},"nodeType":"YulExpressionStatement","src":"34881:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"34858:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"34862:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34854:3:150"},"nodeType":"YulFunctionCall","src":"34854:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34869:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"34850:3:150"},"nodeType":"YulFunctionCall","src":"34850:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"34843:6:150"},"nodeType":"YulFunctionCall","src":"34843:35:150"},"nodeType":"YulIf","src":"34840:55:150"},{"nodeType":"YulVariableDeclaration","src":"34904:19:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"34920:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34914:5:150"},"nodeType":"YulFunctionCall","src":"34914:9:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"34908:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"34932:71:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"34999:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"34959:39:150"},"nodeType":"YulFunctionCall","src":"34959:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"34943:15:150"},"nodeType":"YulFunctionCall","src":"34943:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"34936:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"35012:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"35025:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"35016:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"35044:3:150"},{"name":"_3","nodeType":"YulIdentifier","src":"35049:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35037:6:150"},"nodeType":"YulFunctionCall","src":"35037:15:150"},"nodeType":"YulExpressionStatement","src":"35037:15:150"},{"nodeType":"YulAssignment","src":"35061:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"35072:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35077:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35068:3:150"},"nodeType":"YulFunctionCall","src":"35068:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"35061:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"35089:42:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"35111:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35119:1:150","type":"","value":"5"},{"name":"_3","nodeType":"YulIdentifier","src":"35122:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35115:3:150"},"nodeType":"YulFunctionCall","src":"35115:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35107:3:150"},"nodeType":"YulFunctionCall","src":"35107:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35128:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35103:3:150"},"nodeType":"YulFunctionCall","src":"35103:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"35093:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"35163:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35172:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35175:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35165:6:150"},"nodeType":"YulFunctionCall","src":"35165:12:150"},"nodeType":"YulExpressionStatement","src":"35165:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"35146:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"35154:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"35143:2:150"},"nodeType":"YulFunctionCall","src":"35143:19:150"},"nodeType":"YulIf","src":"35140:39:150"},{"nodeType":"YulVariableDeclaration","src":"35188:22:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"35203:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35207:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35199:3:150"},"nodeType":"YulFunctionCall","src":"35199:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"35192:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"35275:79:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"35296:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"35307:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35301:5:150"},"nodeType":"YulFunctionCall","src":"35301:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35289:6:150"},"nodeType":"YulFunctionCall","src":"35289:23:150"},"nodeType":"YulExpressionStatement","src":"35289:23:150"},{"nodeType":"YulAssignment","src":"35325:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"35336:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35341:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35332:3:150"},"nodeType":"YulFunctionCall","src":"35332:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"35325:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"35230:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"35235:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"35227:2:150"},"nodeType":"YulFunctionCall","src":"35227:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"35243:23:150","statements":[{"nodeType":"YulAssignment","src":"35245:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"35256:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35261:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35252:3:150"},"nodeType":"YulFunctionCall","src":"35252:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"35245:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"35223:3:150","statements":[]},"src":"35219:135:150"},{"nodeType":"YulAssignment","src":"35363:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"35373:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"35363:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34575:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"34586:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"34598:6:150","type":""}],"src":"34503:881:150"},{"body":{"nodeType":"YulBlock","src":"35651:279:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35668:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"35679:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35661:6:150"},"nodeType":"YulFunctionCall","src":"35661:25:150"},"nodeType":"YulExpressionStatement","src":"35661:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35706:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35717:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35702:3:150"},"nodeType":"YulFunctionCall","src":"35702:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35726:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35742:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35747:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35738:3:150"},"nodeType":"YulFunctionCall","src":"35738:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"35751:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35734:3:150"},"nodeType":"YulFunctionCall","src":"35734:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35722:3:150"},"nodeType":"YulFunctionCall","src":"35722:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35695:6:150"},"nodeType":"YulFunctionCall","src":"35695:60:150"},"nodeType":"YulExpressionStatement","src":"35695:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35775:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35786:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35771:3:150"},"nodeType":"YulFunctionCall","src":"35771:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"35795:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"35803:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35791:3:150"},"nodeType":"YulFunctionCall","src":"35791:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35764:6:150"},"nodeType":"YulFunctionCall","src":"35764:45:150"},"nodeType":"YulExpressionStatement","src":"35764:45:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35829:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35840:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35825:3:150"},"nodeType":"YulFunctionCall","src":"35825:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35845:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35818:6:150"},"nodeType":"YulFunctionCall","src":"35818:31:150"},"nodeType":"YulExpressionStatement","src":"35818:31:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35869:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35880:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35865:3:150"},"nodeType":"YulFunctionCall","src":"35865:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"35886:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35858:6:150"},"nodeType":"YulFunctionCall","src":"35858:30:150"},"nodeType":"YulExpressionStatement","src":"35858:30:150"},{"nodeType":"YulAssignment","src":"35897:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35909:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35920:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35905:3:150"},"nodeType":"YulFunctionCall","src":"35905:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35897:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint8_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35604:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35615:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35623:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35631:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35642:4:150","type":""}],"src":"35389:541:150"},{"body":{"nodeType":"YulBlock","src":"36372:565:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36389:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36400:3:150","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36382:6:150"},"nodeType":"YulFunctionCall","src":"36382:22:150"},"nodeType":"YulExpressionStatement","src":"36382:22:150"},{"nodeType":"YulVariableDeclaration","src":"36413:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"36456:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36468:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36479:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36464:3:150"},"nodeType":"YulFunctionCall","src":"36464:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"36427:28:150"},"nodeType":"YulFunctionCall","src":"36427:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"36417:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36504:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36515:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36500:3:150"},"nodeType":"YulFunctionCall","src":"36500:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"36524:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"36532:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36520:3:150"},"nodeType":"YulFunctionCall","src":"36520:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36493:6:150"},"nodeType":"YulFunctionCall","src":"36493:50:150"},"nodeType":"YulExpressionStatement","src":"36493:50:150"},{"nodeType":"YulVariableDeclaration","src":"36552:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"36595:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"36603:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"36566:28:150"},"nodeType":"YulFunctionCall","src":"36566:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"36556:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36630:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36641:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36626:3:150"},"nodeType":"YulFunctionCall","src":"36626:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"36650:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"36658:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36646:3:150"},"nodeType":"YulFunctionCall","src":"36646:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36619:6:150"},"nodeType":"YulFunctionCall","src":"36619:50:150"},"nodeType":"YulExpressionStatement","src":"36619:50:150"},{"nodeType":"YulVariableDeclaration","src":"36678:56:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"36719:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"36727:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"36692:26:150"},"nodeType":"YulFunctionCall","src":"36692:42:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"36682:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36754:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36765:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36750:3:150"},"nodeType":"YulFunctionCall","src":"36750:18:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"36774:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"36782:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36770:3:150"},"nodeType":"YulFunctionCall","src":"36770:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36743:6:150"},"nodeType":"YulFunctionCall","src":"36743:50:150"},"nodeType":"YulExpressionStatement","src":"36743:50:150"},{"nodeType":"YulAssignment","src":"36802:41:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"36828:6:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"36836:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"36810:17:150"},"nodeType":"YulFunctionCall","src":"36810:33:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36802:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36863:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36874:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36859:3:150"},"nodeType":"YulFunctionCall","src":"36859:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"36880:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36852:6:150"},"nodeType":"YulFunctionCall","src":"36852:35:150"},"nodeType":"YulExpressionStatement","src":"36852:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36907:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36918:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36903:3:150"},"nodeType":"YulFunctionCall","src":"36903:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"36924:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36896:6:150"},"nodeType":"YulFunctionCall","src":"36896:35:150"},"nodeType":"YulExpressionStatement","src":"36896:35:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36301:9:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"36312:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"36320:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"36328:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"36336:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"36344:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"36352:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36363:4:150","type":""}],"src":"35935:1002:150"},{"body":{"nodeType":"YulBlock","src":"37074:102:150","statements":[{"nodeType":"YulAssignment","src":"37084:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37096:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37107:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37092:3:150"},"nodeType":"YulFunctionCall","src":"37092:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37084:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37126:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37141:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37157:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"37162:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37153:3:150"},"nodeType":"YulFunctionCall","src":"37153:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"37166:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"37149:3:150"},"nodeType":"YulFunctionCall","src":"37149:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37137:3:150"},"nodeType":"YulFunctionCall","src":"37137:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37119:6:150"},"nodeType":"YulFunctionCall","src":"37119:51:150"},"nodeType":"YulExpressionStatement","src":"37119:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37043:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37054:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37065:4:150","type":""}],"src":"36942:234:150"},{"body":{"nodeType":"YulBlock","src":"37400:430:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37417:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"37428:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37410:6:150"},"nodeType":"YulFunctionCall","src":"37410:25:150"},"nodeType":"YulExpressionStatement","src":"37410:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37455:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37466:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37451:3:150"},"nodeType":"YulFunctionCall","src":"37451:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"37475:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37491:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"37496:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37487:3:150"},"nodeType":"YulFunctionCall","src":"37487:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"37500:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"37483:3:150"},"nodeType":"YulFunctionCall","src":"37483:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37471:3:150"},"nodeType":"YulFunctionCall","src":"37471:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37444:6:150"},"nodeType":"YulFunctionCall","src":"37444:60:150"},"nodeType":"YulExpressionStatement","src":"37444:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37524:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37535:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37520:3:150"},"nodeType":"YulFunctionCall","src":"37520:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"37544:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"37552:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37540:3:150"},"nodeType":"YulFunctionCall","src":"37540:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37513:6:150"},"nodeType":"YulFunctionCall","src":"37513:45:150"},"nodeType":"YulExpressionStatement","src":"37513:45:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37578:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37589:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37574:3:150"},"nodeType":"YulFunctionCall","src":"37574:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37594:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37567:6:150"},"nodeType":"YulFunctionCall","src":"37567:31:150"},"nodeType":"YulExpressionStatement","src":"37567:31:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37618:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37629:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37614:3:150"},"nodeType":"YulFunctionCall","src":"37614:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"37635:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37607:6:150"},"nodeType":"YulFunctionCall","src":"37607:35:150"},"nodeType":"YulExpressionStatement","src":"37607:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37668:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37679:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37664:3:150"},"nodeType":"YulFunctionCall","src":"37664:19:150"},{"name":"value3","nodeType":"YulIdentifier","src":"37685:6:150"},{"name":"value4","nodeType":"YulIdentifier","src":"37693:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"37651:12:150"},"nodeType":"YulFunctionCall","src":"37651:49:150"},"nodeType":"YulExpressionStatement","src":"37651:49:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37724:9:150"},{"name":"value4","nodeType":"YulIdentifier","src":"37735:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37720:3:150"},"nodeType":"YulFunctionCall","src":"37720:22:150"},{"kind":"number","nodeType":"YulLiteral","src":"37744:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37716:3:150"},"nodeType":"YulFunctionCall","src":"37716:32:150"},{"kind":"number","nodeType":"YulLiteral","src":"37750:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37709:6:150"},"nodeType":"YulFunctionCall","src":"37709:43:150"},"nodeType":"YulExpressionStatement","src":"37709:43:150"},{"nodeType":"YulAssignment","src":"37761:63:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37777:9:150"},{"arguments":[{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"37796:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"37804:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37792:3:150"},"nodeType":"YulFunctionCall","src":"37792:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37813:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"37809:3:150"},"nodeType":"YulFunctionCall","src":"37809:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37788:3:150"},"nodeType":"YulFunctionCall","src":"37788:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37773:3:150"},"nodeType":"YulFunctionCall","src":"37773:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"37820:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37769:3:150"},"nodeType":"YulFunctionCall","src":"37769:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37761:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint8_t_string_calldata_ptr__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37337:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"37348:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"37356:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"37364:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37372:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37380:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37391:4:150","type":""}],"src":"37181:649:150"},{"body":{"nodeType":"YulBlock","src":"37913:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"37959:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37968:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37971:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37961:6:150"},"nodeType":"YulFunctionCall","src":"37961:12:150"},"nodeType":"YulExpressionStatement","src":"37961:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"37934:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"37943:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"37930:3:150"},"nodeType":"YulFunctionCall","src":"37930:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"37955:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"37926:3:150"},"nodeType":"YulFunctionCall","src":"37926:32:150"},"nodeType":"YulIf","src":"37923:52:150"},{"nodeType":"YulVariableDeclaration","src":"37984:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38003:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37997:5:150"},"nodeType":"YulFunctionCall","src":"37997:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"37988:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38044:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"38022:21:150"},"nodeType":"YulFunctionCall","src":"38022:28:150"},"nodeType":"YulExpressionStatement","src":"38022:28:150"},{"nodeType":"YulAssignment","src":"38059:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"38069:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"38059:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37879:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"37890:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"37902:6:150","type":""}],"src":"37835:245:150"},{"body":{"nodeType":"YulBlock","src":"38292:637:150","statements":[{"nodeType":"YulVariableDeclaration","src":"38302:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38320:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38331:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38316:3:150"},"nodeType":"YulFunctionCall","src":"38316:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"38306:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38350:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38365:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38381:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"38386:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"38377:3:150"},"nodeType":"YulFunctionCall","src":"38377:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"38390:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38373:3:150"},"nodeType":"YulFunctionCall","src":"38373:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38361:3:150"},"nodeType":"YulFunctionCall","src":"38361:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38343:6:150"},"nodeType":"YulFunctionCall","src":"38343:51:150"},"nodeType":"YulExpressionStatement","src":"38343:51:150"},{"nodeType":"YulVariableDeclaration","src":"38403:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"38413:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"38407:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38435:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38446:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38431:3:150"},"nodeType":"YulFunctionCall","src":"38431:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38451:2:150","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38424:6:150"},"nodeType":"YulFunctionCall","src":"38424:30:150"},"nodeType":"YulExpressionStatement","src":"38424:30:150"},{"nodeType":"YulVariableDeclaration","src":"38463:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"38474:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"38467:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38489:27:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"38509:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38503:5:150"},"nodeType":"YulFunctionCall","src":"38503:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"38493:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"38532:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"38540:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38525:6:150"},"nodeType":"YulFunctionCall","src":"38525:22:150"},"nodeType":"YulExpressionStatement","src":"38525:22:150"},{"nodeType":"YulAssignment","src":"38556:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38567:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38578:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38563:3:150"},"nodeType":"YulFunctionCall","src":"38563:19:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"38556:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"38591:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"38609:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38617:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38605:3:150"},"nodeType":"YulFunctionCall","src":"38605:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"38595:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38629:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"38638:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"38633:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"38697:147:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38718:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38733:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38727:5:150"},"nodeType":"YulFunctionCall","src":"38727:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38746:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"38751:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"38742:3:150"},"nodeType":"YulFunctionCall","src":"38742:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38723:3:150"},"nodeType":"YulFunctionCall","src":"38723:40:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38711:6:150"},"nodeType":"YulFunctionCall","src":"38711:53:150"},"nodeType":"YulExpressionStatement","src":"38711:53:150"},{"nodeType":"YulAssignment","src":"38777:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38788:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38793:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38784:3:150"},"nodeType":"YulFunctionCall","src":"38784:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"38777:3:150"}]},{"nodeType":"YulAssignment","src":"38809:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38823:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38831:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38819:3:150"},"nodeType":"YulFunctionCall","src":"38819:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38809:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"38659:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"38662:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"38656:2:150"},"nodeType":"YulFunctionCall","src":"38656:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"38670:18:150","statements":[{"nodeType":"YulAssignment","src":"38672:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"38681:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"38684:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38677:3:150"},"nodeType":"YulFunctionCall","src":"38677:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"38672:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"38652:3:150","statements":[]},"src":"38648:196:150"},{"nodeType":"YulAssignment","src":"38853:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"38861:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38853:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38884:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38895:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38880:3:150"},"nodeType":"YulFunctionCall","src":"38880:18:150"},{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"38914:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"38907:6:150"},"nodeType":"YulFunctionCall","src":"38907:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"38900:6:150"},"nodeType":"YulFunctionCall","src":"38900:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38873:6:150"},"nodeType":"YulFunctionCall","src":"38873:50:150"},"nodeType":"YulExpressionStatement","src":"38873:50:150"}]},"name":"abi_encode_tuple_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__to_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38245:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"38256:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"38264:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38272:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38283:4:150","type":""}],"src":"38085:844:150"},{"body":{"nodeType":"YulBlock","src":"39014:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"39060:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39069:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"39072:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"39062:6:150"},"nodeType":"YulFunctionCall","src":"39062:12:150"},"nodeType":"YulExpressionStatement","src":"39062:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"39035:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"39044:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39031:3:150"},"nodeType":"YulFunctionCall","src":"39031:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"39056:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"39027:3:150"},"nodeType":"YulFunctionCall","src":"39027:32:150"},"nodeType":"YulIf","src":"39024:52:150"},{"nodeType":"YulVariableDeclaration","src":"39085:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39104:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"39098:5:150"},"nodeType":"YulFunctionCall","src":"39098:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"39089:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"39172:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39181:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"39184:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"39174:6:150"},"nodeType":"YulFunctionCall","src":"39174:12:150"},"nodeType":"YulExpressionStatement","src":"39174:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"39136:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"39147:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"39154:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39143:3:150"},"nodeType":"YulFunctionCall","src":"39143:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"39133:2:150"},"nodeType":"YulFunctionCall","src":"39133:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"39126:6:150"},"nodeType":"YulFunctionCall","src":"39126:45:150"},"nodeType":"YulIf","src":"39123:65:150"},{"nodeType":"YulAssignment","src":"39197:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"39207:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"39197:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38980:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"38991:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"39003:6:150","type":""}],"src":"38934:284:150"},{"body":{"nodeType":"YulBlock","src":"39360:145:150","statements":[{"nodeType":"YulAssignment","src":"39370:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39382:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39393:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39378:3:150"},"nodeType":"YulFunctionCall","src":"39378:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39370:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39412:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"39427:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39443:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"39448:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"39439:3:150"},"nodeType":"YulFunctionCall","src":"39439:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"39452:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39435:3:150"},"nodeType":"YulFunctionCall","src":"39435:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39423:3:150"},"nodeType":"YulFunctionCall","src":"39423:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39405:6:150"},"nodeType":"YulFunctionCall","src":"39405:51:150"},"nodeType":"YulExpressionStatement","src":"39405:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39476:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39487:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39472:3:150"},"nodeType":"YulFunctionCall","src":"39472:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"39492:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39465:6:150"},"nodeType":"YulFunctionCall","src":"39465:34:150"},"nodeType":"YulExpressionStatement","src":"39465:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39321:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"39332:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39340:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39351:4:150","type":""}],"src":"39223:282:150"},{"body":{"nodeType":"YulBlock","src":"39684:233:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39701:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39712:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39694:6:150"},"nodeType":"YulFunctionCall","src":"39694:21:150"},"nodeType":"YulExpressionStatement","src":"39694:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39735:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39746:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39731:3:150"},"nodeType":"YulFunctionCall","src":"39731:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39751:2:150","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39724:6:150"},"nodeType":"YulFunctionCall","src":"39724:30:150"},"nodeType":"YulExpressionStatement","src":"39724:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39774:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39785:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39770:3:150"},"nodeType":"YulFunctionCall","src":"39770:18:150"},{"hexValue":"42335452476f7665726e6f725631303a20696e76616c6964206e617669676174","kind":"string","nodeType":"YulLiteral","src":"39790:34:150","type":"","value":"B3TRGovernorV10: invalid navigat"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39763:6:150"},"nodeType":"YulFunctionCall","src":"39763:62:150"},"nodeType":"YulExpressionStatement","src":"39763:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39845:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39856:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39841:3:150"},"nodeType":"YulFunctionCall","src":"39841:18:150"},{"hexValue":"6f72207265676973747279","kind":"string","nodeType":"YulLiteral","src":"39861:13:150","type":"","value":"or registry"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39834:6:150"},"nodeType":"YulFunctionCall","src":"39834:41:150"},"nodeType":"YulExpressionStatement","src":"39834:41:150"},{"nodeType":"YulAssignment","src":"39884:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39896:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39907:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39892:3:150"},"nodeType":"YulFunctionCall","src":"39892:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39884:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_096ae311bbf883441d1e958bdfda57bb077dea240bf7202223551a9a4647baf8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39661:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39675:4:150","type":""}],"src":"39510:407:150"},{"body":{"nodeType":"YulBlock","src":"40096:235:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40113:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40124:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40106:6:150"},"nodeType":"YulFunctionCall","src":"40106:21:150"},"nodeType":"YulExpressionStatement","src":"40106:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40147:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40158:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40143:3:150"},"nodeType":"YulFunctionCall","src":"40143:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"40163:2:150","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40136:6:150"},"nodeType":"YulFunctionCall","src":"40136:30:150"},"nodeType":"YulExpressionStatement","src":"40136:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40186:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40197:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40182:3:150"},"nodeType":"YulFunctionCall","src":"40182:18:150"},{"hexValue":"42335452476f7665726e6f725631303a20696e76616c69642072656c61796572","kind":"string","nodeType":"YulLiteral","src":"40202:34:150","type":"","value":"B3TRGovernorV10: invalid relayer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40175:6:150"},"nodeType":"YulFunctionCall","src":"40175:62:150"},"nodeType":"YulExpressionStatement","src":"40175:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40257:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40268:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40253:3:150"},"nodeType":"YulFunctionCall","src":"40253:18:150"},{"hexValue":"207265776172647320706f6f6c","kind":"string","nodeType":"YulLiteral","src":"40273:15:150","type":"","value":" rewards pool"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40246:6:150"},"nodeType":"YulFunctionCall","src":"40246:43:150"},"nodeType":"YulExpressionStatement","src":"40246:43:150"},{"nodeType":"YulAssignment","src":"40298:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40310:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40321:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40306:3:150"},"nodeType":"YulFunctionCall","src":"40306:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40298:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_eaea7d257a822205258705325c1b0de9934deb59acc46f41876c156fe96e7b0b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40073:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40087:4:150","type":""}],"src":"39922:409:150"},{"body":{"nodeType":"YulBlock","src":"40473:102:150","statements":[{"nodeType":"YulAssignment","src":"40483:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40495:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40506:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40491:3:150"},"nodeType":"YulFunctionCall","src":"40491:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40483:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40525:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40540:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40556:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"40561:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40552:3:150"},"nodeType":"YulFunctionCall","src":"40552:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"40565:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"40548:3:150"},"nodeType":"YulFunctionCall","src":"40548:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"40536:3:150"},"nodeType":"YulFunctionCall","src":"40536:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40518:6:150"},"nodeType":"YulFunctionCall","src":"40518:51:150"},"nodeType":"YulExpressionStatement","src":"40518:51:150"}]},"name":"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40442:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40453:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40464:4:150","type":""}],"src":"40336:239:150"},{"body":{"nodeType":"YulBlock","src":"40679:101:150","statements":[{"nodeType":"YulAssignment","src":"40689:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40701:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40712:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40697:3:150"},"nodeType":"YulFunctionCall","src":"40697:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40689:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40731:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40746:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40762:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"40766:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40758:3:150"},"nodeType":"YulFunctionCall","src":"40758:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"40770:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"40754:3:150"},"nodeType":"YulFunctionCall","src":"40754:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"40742:3:150"},"nodeType":"YulFunctionCall","src":"40742:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40724:6:150"},"nodeType":"YulFunctionCall","src":"40724:50:150"},"nodeType":"YulExpressionStatement","src":"40724:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40648:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40659:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40670:4:150","type":""}],"src":"40580:200:150"},{"body":{"nodeType":"YulBlock","src":"40940:102:150","statements":[{"nodeType":"YulAssignment","src":"40950:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40962:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40973:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40958:3:150"},"nodeType":"YulFunctionCall","src":"40958:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40950:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40992:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"41007:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41023:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"41028:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41019:3:150"},"nodeType":"YulFunctionCall","src":"41019:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"41032:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41015:3:150"},"nodeType":"YulFunctionCall","src":"41015:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41003:3:150"},"nodeType":"YulFunctionCall","src":"41003:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40985:6:150"},"nodeType":"YulFunctionCall","src":"40985:51:150"},"nodeType":"YulExpressionStatement","src":"40985:51:150"}]},"name":"abi_encode_tuple_t_contract$_TimelockControllerUpgradeable_$1478__to_t_address_payable__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40909:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40920:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40931:4:150","type":""}],"src":"40785:257:150"},{"body":{"nodeType":"YulBlock","src":"41179:102:150","statements":[{"nodeType":"YulAssignment","src":"41189:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41201:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41212:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41197:3:150"},"nodeType":"YulFunctionCall","src":"41197:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41189:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41231:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"41246:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41262:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"41267:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41258:3:150"},"nodeType":"YulFunctionCall","src":"41258:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"41271:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41254:3:150"},"nodeType":"YulFunctionCall","src":"41254:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41242:3:150"},"nodeType":"YulFunctionCall","src":"41242:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41224:6:150"},"nodeType":"YulFunctionCall","src":"41224:51:150"},"nodeType":"YulExpressionStatement","src":"41224:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41148:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"41159:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41170:4:150","type":""}],"src":"41047:234:150"},{"body":{"nodeType":"YulBlock","src":"41422:102:150","statements":[{"nodeType":"YulAssignment","src":"41432:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41444:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41455:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41440:3:150"},"nodeType":"YulFunctionCall","src":"41440:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41432:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41474:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"41489:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41505:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"41510:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41501:3:150"},"nodeType":"YulFunctionCall","src":"41501:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"41514:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41497:3:150"},"nodeType":"YulFunctionCall","src":"41497:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41485:3:150"},"nodeType":"YulFunctionCall","src":"41485:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41467:6:150"},"nodeType":"YulFunctionCall","src":"41467:51:150"},"nodeType":"YulExpressionStatement","src":"41467:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41391:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"41402:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41413:4:150","type":""}],"src":"41286:238:150"},{"body":{"nodeType":"YulBlock","src":"41686:231:150","statements":[{"nodeType":"YulAssignment","src":"41696:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41708:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41719:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41704:3:150"},"nodeType":"YulFunctionCall","src":"41704:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41696:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41738:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"41753:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41769:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"41774:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41765:3:150"},"nodeType":"YulFunctionCall","src":"41765:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"41778:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41761:3:150"},"nodeType":"YulFunctionCall","src":"41761:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41749:3:150"},"nodeType":"YulFunctionCall","src":"41749:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41731:6:150"},"nodeType":"YulFunctionCall","src":"41731:51:150"},"nodeType":"YulExpressionStatement","src":"41731:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41802:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41813:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41798:3:150"},"nodeType":"YulFunctionCall","src":"41798:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"41822:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41834:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"41839:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41830:3:150"},"nodeType":"YulFunctionCall","src":"41830:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41818:3:150"},"nodeType":"YulFunctionCall","src":"41818:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41791:6:150"},"nodeType":"YulFunctionCall","src":"41791:61:150"},"nodeType":"YulExpressionStatement","src":"41791:61:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41872:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41883:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41868:3:150"},"nodeType":"YulFunctionCall","src":"41868:18:150"},{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"41902:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"41895:6:150"},"nodeType":"YulFunctionCall","src":"41895:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"41888:6:150"},"nodeType":"YulFunctionCall","src":"41888:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41861:6:150"},"nodeType":"YulFunctionCall","src":"41861:50:150"},"nodeType":"YulExpressionStatement","src":"41861:50:150"}]},"name":"abi_encode_tuple_t_address_t_bytes4_t_bool__to_t_address_t_bytes4_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41639:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"41650:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"41658:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"41666:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41677:4:150","type":""}],"src":"41529:388:150"},{"body":{"nodeType":"YulBlock","src":"42069:124:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42092:3:150"},{"name":"value0","nodeType":"YulIdentifier","src":"42097:6:150"},{"name":"value1","nodeType":"YulIdentifier","src":"42105:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"42079:12:150"},"nodeType":"YulFunctionCall","src":"42079:33:150"},"nodeType":"YulExpressionStatement","src":"42079:33:150"},{"nodeType":"YulVariableDeclaration","src":"42121:26:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42135:3:150"},{"name":"value1","nodeType":"YulIdentifier","src":"42140:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42131:3:150"},"nodeType":"YulFunctionCall","src":"42131:16:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"42125:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"42163:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"42167:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42156:6:150"},"nodeType":"YulFunctionCall","src":"42156:13:150"},"nodeType":"YulExpressionStatement","src":"42156:13:150"},{"nodeType":"YulAssignment","src":"42178:9:150","value":{"name":"_1","nodeType":"YulIdentifier","src":"42185:2:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"42178:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"42037:3:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42042:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42050:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"42061:3:150","type":""}],"src":"41922:271:150"},{"body":{"nodeType":"YulBlock","src":"42331:102:150","statements":[{"nodeType":"YulAssignment","src":"42341:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42353:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42364:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42349:3:150"},"nodeType":"YulFunctionCall","src":"42349:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42341:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42383:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42398:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42414:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"42419:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42410:3:150"},"nodeType":"YulFunctionCall","src":"42410:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"42423:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42406:3:150"},"nodeType":"YulFunctionCall","src":"42406:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42394:3:150"},"nodeType":"YulFunctionCall","src":"42394:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42376:6:150"},"nodeType":"YulFunctionCall","src":"42376:51:150"},"nodeType":"YulExpressionStatement","src":"42376:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42300:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42311:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42322:4:150","type":""}],"src":"42198:235:150"},{"body":{"nodeType":"YulBlock","src":"42897:651:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42914:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42929:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42945:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"42950:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42941:3:150"},"nodeType":"YulFunctionCall","src":"42941:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"42954:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42937:3:150"},"nodeType":"YulFunctionCall","src":"42937:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42925:3:150"},"nodeType":"YulFunctionCall","src":"42925:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42907:6:150"},"nodeType":"YulFunctionCall","src":"42907:51:150"},"nodeType":"YulExpressionStatement","src":"42907:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42978:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42989:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42974:3:150"},"nodeType":"YulFunctionCall","src":"42974:18:150"},{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"43008:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"43001:6:150"},"nodeType":"YulFunctionCall","src":"43001:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"42994:6:150"},"nodeType":"YulFunctionCall","src":"42994:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42967:6:150"},"nodeType":"YulFunctionCall","src":"42967:50:150"},"nodeType":"YulExpressionStatement","src":"42967:50:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43037:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43048:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43033:3:150"},"nodeType":"YulFunctionCall","src":"43033:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"43053:3:150","type":"","value":"224"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43026:6:150"},"nodeType":"YulFunctionCall","src":"43026:31:150"},"nodeType":"YulExpressionStatement","src":"43026:31:150"},{"nodeType":"YulVariableDeclaration","src":"43066:71:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"43109:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43121:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43132:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43117:3:150"},"nodeType":"YulFunctionCall","src":"43117:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"43080:28:150"},"nodeType":"YulFunctionCall","src":"43080:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"43070:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43157:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43168:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43153:3:150"},"nodeType":"YulFunctionCall","src":"43153:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"43177:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"43185:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"43173:3:150"},"nodeType":"YulFunctionCall","src":"43173:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43146:6:150"},"nodeType":"YulFunctionCall","src":"43146:50:150"},"nodeType":"YulExpressionStatement","src":"43146:50:150"},{"nodeType":"YulVariableDeclaration","src":"43205:58:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"43248:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"43256:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"43219:28:150"},"nodeType":"YulFunctionCall","src":"43219:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"43209:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43283:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43294:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43279:3:150"},"nodeType":"YulFunctionCall","src":"43279:19:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"43304:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"43312:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"43300:3:150"},"nodeType":"YulFunctionCall","src":"43300:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43272:6:150"},"nodeType":"YulFunctionCall","src":"43272:51:150"},"nodeType":"YulExpressionStatement","src":"43272:51:150"},{"nodeType":"YulVariableDeclaration","src":"43332:56:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"43373:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"43381:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"43346:26:150"},"nodeType":"YulFunctionCall","src":"43346:42:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"43336:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43408:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43419:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43404:3:150"},"nodeType":"YulFunctionCall","src":"43404:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"43425:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43397:6:150"},"nodeType":"YulFunctionCall","src":"43397:35:150"},"nodeType":"YulExpressionStatement","src":"43397:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43452:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43463:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43448:3:150"},"nodeType":"YulFunctionCall","src":"43448:19:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"43473:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"43481:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"43469:3:150"},"nodeType":"YulFunctionCall","src":"43469:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43441:6:150"},"nodeType":"YulFunctionCall","src":"43441:51:150"},"nodeType":"YulExpressionStatement","src":"43441:51:150"},{"nodeType":"YulAssignment","src":"43501:41:150","value":{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"43527:6:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"43535:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"43509:17:150"},"nodeType":"YulFunctionCall","src":"43509:33:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43501:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__to_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42818:9:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"42829:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"42837:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"42845:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"42853:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"42861:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42869:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42877:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42888:4:150","type":""}],"src":"42438:1110:150"},{"body":{"nodeType":"YulBlock","src":"43690:119:150","statements":[{"nodeType":"YulAssignment","src":"43700:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43712:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43723:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43708:3:150"},"nodeType":"YulFunctionCall","src":"43708:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43700:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43742:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"43753:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43735:6:150"},"nodeType":"YulFunctionCall","src":"43735:25:150"},"nodeType":"YulExpressionStatement","src":"43735:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43780:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43791:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43776:3:150"},"nodeType":"YulFunctionCall","src":"43776:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"43796:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43769:6:150"},"nodeType":"YulFunctionCall","src":"43769:34:150"},"nodeType":"YulExpressionStatement","src":"43769:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43651:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"43662:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43670:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43681:4:150","type":""}],"src":"43553:256:150"},{"body":{"nodeType":"YulBlock","src":"43943:145:150","statements":[{"nodeType":"YulAssignment","src":"43953:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43965:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43976:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43961:3:150"},"nodeType":"YulFunctionCall","src":"43961:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43953:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43995:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"44010:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44026:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"44031:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"44022:3:150"},"nodeType":"YulFunctionCall","src":"44022:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"44035:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"44018:3:150"},"nodeType":"YulFunctionCall","src":"44018:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"44006:3:150"},"nodeType":"YulFunctionCall","src":"44006:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43988:6:150"},"nodeType":"YulFunctionCall","src":"43988:51:150"},"nodeType":"YulExpressionStatement","src":"43988:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44059:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44070:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44055:3:150"},"nodeType":"YulFunctionCall","src":"44055:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"44075:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44048:6:150"},"nodeType":"YulFunctionCall","src":"44048:34:150"},"nodeType":"YulExpressionStatement","src":"44048:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43904:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"43915:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43923:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43934:4:150","type":""}],"src":"43814:274:150"},{"body":{"nodeType":"YulBlock","src":"44267:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44284:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44295:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44277:6:150"},"nodeType":"YulFunctionCall","src":"44277:21:150"},"nodeType":"YulExpressionStatement","src":"44277:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44318:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44329:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44314:3:150"},"nodeType":"YulFunctionCall","src":"44314:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"44334:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44307:6:150"},"nodeType":"YulFunctionCall","src":"44307:30:150"},"nodeType":"YulExpressionStatement","src":"44307:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44357:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44368:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44353:3:150"},"nodeType":"YulFunctionCall","src":"44353:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c6964","kind":"string","nodeType":"YulLiteral","src":"44373:34:150","type":"","value":"GovernorConfiguratorV10: invalid"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44346:6:150"},"nodeType":"YulFunctionCall","src":"44346:62:150"},"nodeType":"YulExpressionStatement","src":"44346:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44428:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44439:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44424:3:150"},"nodeType":"YulFunctionCall","src":"44424:18:150"},{"hexValue":"2070726f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"44444:16:150","type":"","value":" proposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44417:6:150"},"nodeType":"YulFunctionCall","src":"44417:44:150"},"nodeType":"YulExpressionStatement","src":"44417:44:150"},{"nodeType":"YulAssignment","src":"44470:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44482:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44493:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44478:3:150"},"nodeType":"YulFunctionCall","src":"44478:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"44470:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"44244:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"44258:4:150","type":""}],"src":"44093:410:150"},{"body":{"nodeType":"YulBlock","src":"44681:184:150","statements":[{"nodeType":"YulAssignment","src":"44691:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44703:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44714:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44699:3:150"},"nodeType":"YulFunctionCall","src":"44699:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"44691:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"44755:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"44763:9:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"44726:28:150"},"nodeType":"YulFunctionCall","src":"44726:47:150"},"nodeType":"YulExpressionStatement","src":"44726:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44793:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44804:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44789:3:150"},"nodeType":"YulFunctionCall","src":"44789:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"44809:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44782:6:150"},"nodeType":"YulFunctionCall","src":"44782:34:150"},"nodeType":"YulExpressionStatement","src":"44782:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44836:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44847:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44832:3:150"},"nodeType":"YulFunctionCall","src":"44832:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"44852:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44825:6:150"},"nodeType":"YulFunctionCall","src":"44825:34:150"},"nodeType":"YulExpressionStatement","src":"44825:34:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$25017_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"44634:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"44645:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"44653:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"44661:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"44672:4:150","type":""}],"src":"44508:357:150"},{"body":{"nodeType":"YulBlock","src":"44951:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"44997:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"45006:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"45009:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"44999:6:150"},"nodeType":"YulFunctionCall","src":"44999:12:150"},"nodeType":"YulExpressionStatement","src":"44999:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"44972:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"44981:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"44968:3:150"},"nodeType":"YulFunctionCall","src":"44968:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"44993:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"44964:3:150"},"nodeType":"YulFunctionCall","src":"44964:32:150"},"nodeType":"YulIf","src":"44961:52:150"},{"nodeType":"YulAssignment","src":"45022:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45038:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"45032:5:150"},"nodeType":"YulFunctionCall","src":"45032:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"45022:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"44917:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"44928:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"44940:6:150","type":""}],"src":"44870:184:150"},{"body":{"nodeType":"YulBlock","src":"45412:1272:150","statements":[{"nodeType":"YulVariableDeclaration","src":"45422:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45440:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45451:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45436:3:150"},"nodeType":"YulFunctionCall","src":"45436:19:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"45426:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45471:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45482:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45464:6:150"},"nodeType":"YulFunctionCall","src":"45464:22:150"},"nodeType":"YulExpressionStatement","src":"45464:22:150"},{"nodeType":"YulVariableDeclaration","src":"45495:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"45506:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"45499:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"45521:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"45541:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"45535:5:150"},"nodeType":"YulFunctionCall","src":"45535:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"45525:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"45564:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"45572:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45557:6:150"},"nodeType":"YulFunctionCall","src":"45557:22:150"},"nodeType":"YulExpressionStatement","src":"45557:22:150"},{"nodeType":"YulAssignment","src":"45588:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45599:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45610:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45595:3:150"},"nodeType":"YulFunctionCall","src":"45595:19:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"45588:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"45623:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"45633:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"45627:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"45646:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"45664:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"45672:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45660:3:150"},"nodeType":"YulFunctionCall","src":"45660:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"45650:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"45684:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"45693:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"45688:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"45752:146:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45773:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"45788:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"45782:5:150"},"nodeType":"YulFunctionCall","src":"45782:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"45805:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"45810:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"45801:3:150"},"nodeType":"YulFunctionCall","src":"45801:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"45814:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"45797:3:150"},"nodeType":"YulFunctionCall","src":"45797:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"45778:3:150"},"nodeType":"YulFunctionCall","src":"45778:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45766:6:150"},"nodeType":"YulFunctionCall","src":"45766:52:150"},"nodeType":"YulExpressionStatement","src":"45766:52:150"},{"nodeType":"YulAssignment","src":"45831:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45842:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"45847:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45838:3:150"},"nodeType":"YulFunctionCall","src":"45838:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"45831:3:150"}]},{"nodeType":"YulAssignment","src":"45863:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"45877:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"45885:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45873:3:150"},"nodeType":"YulFunctionCall","src":"45873:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"45863:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"45714:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"45717:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"45711:2:150"},"nodeType":"YulFunctionCall","src":"45711:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"45725:18:150","statements":[{"nodeType":"YulAssignment","src":"45727:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"45736:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"45739:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45732:3:150"},"nodeType":"YulFunctionCall","src":"45732:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"45727:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"45707:3:150","statements":[]},"src":"45703:195:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45918:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"45929:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45914:3:150"},"nodeType":"YulFunctionCall","src":"45914:18:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45938:3:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"45943:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"45934:3:150"},"nodeType":"YulFunctionCall","src":"45934:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45907:6:150"},"nodeType":"YulFunctionCall","src":"45907:47:150"},"nodeType":"YulExpressionStatement","src":"45907:47:150"},{"nodeType":"YulVariableDeclaration","src":"45963:55:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"46006:6:150"},{"name":"pos","nodeType":"YulIdentifier","src":"46014:3:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"45977:28:150"},"nodeType":"YulFunctionCall","src":"45977:41:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"45967:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46038:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46049:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46034:3:150"},"nodeType":"YulFunctionCall","src":"46034:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"46058:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"46066:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"46054:3:150"},"nodeType":"YulFunctionCall","src":"46054:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46027:6:150"},"nodeType":"YulFunctionCall","src":"46027:50:150"},"nodeType":"YulExpressionStatement","src":"46027:50:150"},{"nodeType":"YulVariableDeclaration","src":"46086:19:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"46099:6:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"46090:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"46114:29:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"46136:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"46130:5:150"},"nodeType":"YulFunctionCall","src":"46130:13:150"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"46118:8:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"46159:6:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"46167:8:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46152:6:150"},"nodeType":"YulFunctionCall","src":"46152:24:150"},"nodeType":"YulExpressionStatement","src":"46152:24:150"},{"nodeType":"YulAssignment","src":"46185:24:150","value":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"46198:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"46206:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46194:3:150"},"nodeType":"YulFunctionCall","src":"46194:15:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"46185:5:150"}]},{"nodeType":"YulVariableDeclaration","src":"46218:52:150","value":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"46240:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"46252:1:150","type":"","value":"5"},{"name":"length_1","nodeType":"YulIdentifier","src":"46255:8:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"46248:3:150"},"nodeType":"YulFunctionCall","src":"46248:16:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46236:3:150"},"nodeType":"YulFunctionCall","src":"46236:29:150"},{"name":"_1","nodeType":"YulIdentifier","src":"46267:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46232:3:150"},"nodeType":"YulFunctionCall","src":"46232:38:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"46222:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"46279:31:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"46299:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"46307:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46295:3:150"},"nodeType":"YulFunctionCall","src":"46295:15:150"},"variables":[{"name":"srcPtr_1","nodeType":"YulTypedName","src":"46283:8:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"46319:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"46330:1:150","type":"","value":"0"},"variables":[{"name":"i_1","nodeType":"YulTypedName","src":"46323:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"46397:215:150","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"46418:5:150"},{"arguments":[{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"46433:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"46441:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"46429:3:150"},"nodeType":"YulFunctionCall","src":"46429:19:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"46454:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"46450:3:150"},"nodeType":"YulFunctionCall","src":"46450:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46425:3:150"},"nodeType":"YulFunctionCall","src":"46425:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46411:6:150"},"nodeType":"YulFunctionCall","src":"46411:48:150"},"nodeType":"YulExpressionStatement","src":"46411:48:150"},{"nodeType":"YulAssignment","src":"46472:52:150","value":{"arguments":[{"arguments":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"46506:8:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"46500:5:150"},"nodeType":"YulFunctionCall","src":"46500:15:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"46517:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"46482:17:150"},"nodeType":"YulFunctionCall","src":"46482:42:150"},"variableNames":[{"name":"tail_3","nodeType":"YulIdentifier","src":"46472:6:150"}]},{"nodeType":"YulAssignment","src":"46537:29:150","value":{"arguments":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"46553:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"46563:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46549:3:150"},"nodeType":"YulFunctionCall","src":"46549:17:150"},"variableNames":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"46537:8:150"}]},{"nodeType":"YulAssignment","src":"46579:23:150","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"46592:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"46599:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46588:3:150"},"nodeType":"YulFunctionCall","src":"46588:14:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"46579:5:150"}]}]},"condition":{"arguments":[{"name":"i_1","nodeType":"YulIdentifier","src":"46351:3:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"46356:8:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"46348:2:150"},"nodeType":"YulFunctionCall","src":"46348:17:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"46366:22:150","statements":[{"nodeType":"YulAssignment","src":"46368:18:150","value":{"arguments":[{"name":"i_1","nodeType":"YulIdentifier","src":"46379:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"46384:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46375:3:150"},"nodeType":"YulFunctionCall","src":"46375:11:150"},"variableNames":[{"name":"i_1","nodeType":"YulIdentifier","src":"46368:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"46344:3:150","statements":[]},"src":"46340:272:150"},{"nodeType":"YulAssignment","src":"46621:14:150","value":{"name":"tail_3","nodeType":"YulIdentifier","src":"46629:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"46621:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46655:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46666:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46651:3:150"},"nodeType":"YulFunctionCall","src":"46651:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"46671:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46644:6:150"},"nodeType":"YulFunctionCall","src":"46644:34:150"},"nodeType":"YulExpressionStatement","src":"46644:34:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"45357:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"45368:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"45376:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"45384:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"45392:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"45403:4:150","type":""}],"src":"45059:1625:150"},{"body":{"nodeType":"YulBlock","src":"46818:145:150","statements":[{"nodeType":"YulAssignment","src":"46828:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46840:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46851:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46836:3:150"},"nodeType":"YulFunctionCall","src":"46836:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"46828:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46870:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"46885:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"46901:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"46906:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"46897:3:150"},"nodeType":"YulFunctionCall","src":"46897:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"46910:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"46893:3:150"},"nodeType":"YulFunctionCall","src":"46893:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"46881:3:150"},"nodeType":"YulFunctionCall","src":"46881:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46863:6:150"},"nodeType":"YulFunctionCall","src":"46863:51:150"},"nodeType":"YulExpressionStatement","src":"46863:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46934:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46945:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46930:3:150"},"nodeType":"YulFunctionCall","src":"46930:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"46950:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46923:6:150"},"nodeType":"YulFunctionCall","src":"46923:34:150"},"nodeType":"YulExpressionStatement","src":"46923:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"46779:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"46790:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"46798:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"46809:4:150","type":""}],"src":"46689:274:150"},{"body":{"nodeType":"YulBlock","src":"47049:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"47095:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47104:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"47107:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"47097:6:150"},"nodeType":"YulFunctionCall","src":"47097:12:150"},"nodeType":"YulExpressionStatement","src":"47097:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"47070:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"47079:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"47066:3:150"},"nodeType":"YulFunctionCall","src":"47066:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"47091:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"47062:3:150"},"nodeType":"YulFunctionCall","src":"47062:32:150"},"nodeType":"YulIf","src":"47059:52:150"},{"nodeType":"YulVariableDeclaration","src":"47120:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"47139:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"47133:5:150"},"nodeType":"YulFunctionCall","src":"47133:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"47124:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"47183:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"47158:24:150"},"nodeType":"YulFunctionCall","src":"47158:31:150"},"nodeType":"YulExpressionStatement","src":"47158:31:150"},{"nodeType":"YulAssignment","src":"47198:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"47208:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"47198:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"47015:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"47026:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"47038:6:150","type":""}],"src":"46968:251:150"},{"body":{"nodeType":"YulBlock","src":"47272:174:150","statements":[{"nodeType":"YulAssignment","src":"47282:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"47293:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"47296:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47289:3:150"},"nodeType":"YulFunctionCall","src":"47289:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"47282:3:150"}]},{"body":{"nodeType":"YulBlock","src":"47329:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47350:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47357:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"47362:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"47353:3:150"},"nodeType":"YulFunctionCall","src":"47353:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47343:6:150"},"nodeType":"YulFunctionCall","src":"47343:31:150"},"nodeType":"YulExpressionStatement","src":"47343:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47394:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"47397:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47387:6:150"},"nodeType":"YulFunctionCall","src":"47387:15:150"},"nodeType":"YulExpressionStatement","src":"47387:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47422:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"47425:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"47415:6:150"},"nodeType":"YulFunctionCall","src":"47415:15:150"},"nodeType":"YulExpressionStatement","src":"47415:15:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"47313:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"47316:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"47310:2:150"},"nodeType":"YulFunctionCall","src":"47310:10:150"},"nodeType":"YulIf","src":"47307:133:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"47255:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"47258:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"47264:3:150","type":""}],"src":"47224:222:150"},{"body":{"nodeType":"YulBlock","src":"47588:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"47598:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"47618:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"47612:5:150"},"nodeType":"YulFunctionCall","src":"47612:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"47602:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"47673:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"47681:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47669:3:150"},"nodeType":"YulFunctionCall","src":"47669:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"47688:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"47693:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"47634:34:150"},"nodeType":"YulFunctionCall","src":"47634:66:150"},"nodeType":"YulExpressionStatement","src":"47634:66:150"},{"nodeType":"YulAssignment","src":"47709:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"47720:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"47725:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47716:3:150"},"nodeType":"YulFunctionCall","src":"47716:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"47709:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"47564:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"47569:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"47580:3:150","type":""}],"src":"47451:287:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_array_address_dyn(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_array_address_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let value := calldataload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let array_1 := allocate_memory(array_allocation_size_bytes(_1))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_array_bytes_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, sub(shl(64, 1), 1))\n            {\n                let _3 := 0\n                revert(_3, _3)\n            }\n            mstore(dst, abi_decode_bytes(add(add(offset, innerOffset), _2), end))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 96))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n        value5 := calldataload(add(headStart, 160))\n        value6 := abi_decode_address(add(headStart, 192))\n        let offset_4 := calldataload(add(headStart, 224))\n        if gt(offset_4, _1) { revert(0, 0) }\n        value7 := abi_decode_bytes(add(headStart, offset_4), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_bytes4(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bytes4(headStart)\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_enum_ProposalType(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(lt(value, 2)) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_enum$_ProposalType_$25017(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_enum_ProposalType(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_enum$_ProposalType_$25017(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_enum_ProposalType(headStart)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        value3 := calldataload(add(headStart, 96))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_ProposalType(value, pos)\n    {\n        if iszero(lt(value, 2)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$25017__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_ProposalType(value0, headStart)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_enum$_ProposalState_$24992__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 10)) { panic_error_0x21() }\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_enum$_ProposalType_$25017t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_enum_ProposalType(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_bool(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_bool(value)\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_array_uint256_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_array_uint256_dyn(value0, add(headStart, 32))\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint8(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_uint8(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 96))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n        value5 := calldataload(add(headStart, 160))\n    }\n    function abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_bytes4(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := abi_decode_bytes4(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_string_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint8t_string_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_uint8(value)\n        value1 := value\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := calldataload(_2)\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_3))\n        let dst_1 := dst\n        mstore(dst, _3)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, abi_decode_bytes4(src))\n            dst := add(dst, _1)\n        }\n        value1 := dst_1\n        value2 := abi_decode_bool(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_contract$_IRelayerRewardsPool_$67117t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IGalaxyMember_$65196(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVeBetterPassport_$68601(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        let offset := calldataload(add(headStart, 64))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value2 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 128))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value4 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_bytes4t_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := abi_decode_bytes4(add(headStart, 32))\n        let value_1 := calldataload(add(headStart, 64))\n        validator_revert_bool(value_1)\n        value2 := value_1\n    }\n    function abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_contract$_IGrantsManager_$65639(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        value3 := calldataload(add(headStart, 96))\n        let offset_3 := calldataload(add(headStart, 128))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value4 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n    }\n    function abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n        value3 := calldataload(add(headStart, 96))\n        let offset := calldataload(add(headStart, 128))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value4 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IVOT3_$67719__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_array_address_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_array_bytes_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        let updated_pos := add(pos, _1)\n        let pos_1 := updated_pos\n        pos := updated_pos\n        let tail := add(pos_1, shl(5, length))\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, sub(tail, pos_1))\n            tail := abi_encode_string(mload(srcPtr), tail)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__fromStack_library_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        let _1 := 256\n        mstore(headStart, _1)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, _1))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let tail_3 := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), sub(tail_3, headStart))\n        let tail_4 := abi_encode_string(value3, tail_3)\n        mstore(add(headStart, 128), value4)\n        mstore(add(headStart, 160), value5)\n        mstore(add(headStart, 192), and(value6, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 224), sub(tail_4, headStart))\n        tail := abi_encode_string(value7, tail_4)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_uint256_t_uint8__to_t_uint256_t_uint8__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xff))\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$25017_t_uint256__to_t_uint8_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        abi_encode_enum_ProposalType(value0, headStart)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_encode_tuple_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 160)\n        let tail_1 := abi_encode_array_address_dyn(value1, add(headStart, 160))\n        mstore(add(headStart, 64), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value2, tail_1)\n        mstore(add(headStart, 96), sub(tail_2, headStart))\n        tail := abi_encode_array_bytes_dyn(value3, tail_2)\n        mstore(add(headStart, 128), value4)\n    }\n    function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalType_$25017__to_t_uint256_t_uint8__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        abi_encode_enum_ProposalType(value1, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let _2 := mload(_1)\n        let array := allocate_memory(array_allocation_size_bytes(_2))\n        mstore(array, _2)\n        if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(_1, 32), add(array, 32), _2)\n        value0 := array\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_3))\n        let dst_1 := dst\n        mstore(dst, _3)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, mload(src))\n            dst := add(dst, _1)\n        }\n        value0 := dst_1\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint8_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(value2, 0xff))\n        mstore(add(headStart, 96), 128)\n        mstore(add(headStart, 128), 0)\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_library_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 192)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 192))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let tail_3 := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), sub(tail_3, headStart))\n        tail := abi_encode_string(value3, tail_3)\n        mstore(add(headStart, 128), value4)\n        mstore(add(headStart, 160), value5)\n    }\n    function abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint8_t_string_calldata_ptr__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(value2, 0xff))\n        mstore(add(headStart, 96), 128)\n        mstore(add(headStart, 128), value4)\n        calldatacopy(add(headStart, 160), value3, value4)\n        mstore(add(add(headStart, value4), 160), 0)\n        tail := add(add(headStart, and(add(value4, 31), not(31))), 160)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__to_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 96)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        let _1 := 32\n        mstore(add(headStart, _1), 96)\n        let pos := tail_1\n        let length := mload(value1)\n        mstore(tail_1, length)\n        pos := add(headStart, 128)\n        let srcPtr := add(value1, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), shl(224, 0xffffffff)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n        mstore(add(headStart, 64), iszero(iszero(value2)))\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_096ae311bbf883441d1e958bdfda57bb077dea240bf7202223551a9a4647baf8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 43)\n        mstore(add(headStart, 64), \"B3TRGovernorV10: invalid navigat\")\n        mstore(add(headStart, 96), \"or registry\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_eaea7d257a822205258705325c1b0de9934deb59acc46f41876c156fe96e7b0b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"B3TRGovernorV10: invalid relayer\")\n        mstore(add(headStart, 96), \" rewards pool\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_TimelockControllerUpgradeable_$1478__to_t_address_payable__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_bytes4_t_bool__to_t_address_t_bytes4_t_bool__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, shl(224, 0xffffffff)))\n        mstore(add(headStart, 64), iszero(iszero(value2)))\n    }\n    function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        calldatacopy(pos, value0, value1)\n        let _1 := add(pos, value1)\n        mstore(_1, 0)\n        end := _1\n    }\n    function abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__to_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__fromStack_library_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), iszero(iszero(value1)))\n        mstore(add(headStart, 64), 224)\n        let tail_1 := abi_encode_array_address_dyn(value2, add(headStart, 224))\n        mstore(add(headStart, 96), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value3, tail_1)\n        mstore(add(headStart, 128), sub(tail_2, headStart))\n        let tail_3 := abi_encode_array_bytes_dyn(value4, tail_2)\n        mstore(add(headStart, 160), value5)\n        mstore(add(headStart, 192), sub(tail_3, headStart))\n        tail := abi_encode_string(value6, tail_3)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: invalid\")\n        mstore(add(headStart, 96), \" proposal type\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$25017_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        abi_encode_enum_ProposalType(value0, headStart)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 128)\n        mstore(headStart, 128)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 160)\n        let _1 := 0x20\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        mstore(add(headStart, _1), sub(pos, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, pos)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let pos_1 := tail_2\n        let length_1 := mload(value2)\n        mstore(tail_2, length_1)\n        pos_1 := add(tail_2, _1)\n        let tail_3 := add(add(tail_2, shl(5, length_1)), _1)\n        let srcPtr_1 := add(value2, _1)\n        let i_1 := 0\n        for { } lt(i_1, length_1) { i_1 := add(i_1, 1) }\n        {\n            mstore(pos_1, add(sub(tail_3, tail_2), not(31)))\n            tail_3 := abi_encode_string(mload(srcPtr_1), tail_3)\n            srcPtr_1 := add(srcPtr_1, _1)\n            pos_1 := add(pos_1, _1)\n        }\n        tail := tail_3\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x11)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":13801},{"length":32,"start":13842},{"length":32,"start":14171}]},"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":7537},{"length":20,"start":9246}]},"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol":{"GovernorConfiguratorV10":[{"length":20,"start":5592},{"length":20,"start":5982},{"length":20,"start":7048},{"length":20,"start":7272},{"length":20,"start":8573},{"length":20,"start":8680},{"length":20,"start":10201},{"length":20,"start":10302},{"length":20,"start":10412},{"length":20,"start":10610},{"length":20,"start":10773},{"length":20,"start":10860},{"length":20,"start":10947},{"length":20,"start":11844},{"length":20,"start":12063},{"length":20,"start":12408}]},"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol":{"GovernorDepositLogicV10":[{"length":20,"start":4924},{"length":20,"start":8426},{"length":20,"start":9655},{"length":20,"start":12190}]},"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol":{"GovernorFunctionRestrictionsLogicV10":[{"length":20,"start":7714},{"length":20,"start":9090},{"length":20,"start":11267}]},"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol":{"GovernorProposalLogicV10":[{"length":20,"start":5034},{"length":20,"start":6270},{"length":20,"start":6515},{"length":20,"start":6646},{"length":20,"start":6794},{"length":20,"start":6933},{"length":20,"start":7909},{"length":20,"start":8161},{"length":20,"start":8790},{"length":20,"start":10675},{"length":20,"start":11326},{"length":20,"start":11406},{"length":20,"start":11654},{"length":20,"start":11948}]},"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol":{"GovernorQuorumLogicV10":[{"length":20,"start":5252},{"length":20,"start":5734},{"length":20,"start":6026},{"length":20,"start":7178},{"length":20,"start":7795},{"length":20,"start":8388},{"length":20,"start":9701},{"length":20,"start":11757},{"length":20,"start":12484}]},"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol":{"GovernorStateLogicV10":[{"length":20,"start":7337}]},"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol":{"GovernorVotesLogicV10":[{"length":20,"start":8074},{"length":20,"start":8738},{"length":20,"start":8901},{"length":20,"start":9391},{"length":20,"start":9542},{"length":20,"start":11005},{"length":20,"start":11065}]}},"object":"6080604052600436106104fb5760003560e01c806250ea6f14610537578062f714ce14610562578063013b10881461058257806301ffc9a7146105b0578063026865cc146105e057806302a251a314610600578063038f9b651461061557806306f3f9e61461063557806306fdde03146106555780630dd8614c146106775780630eddee3014610697578063143489d0146106b7578063150b7a02146106d7578063160cbed7146107105780631caf3474146107305780631e6b499214610750578063248a9ca3146107705780632656227d146107905780632a09c772146107a35780632d63f693146107d05780632f2ff15d146107f05780633397d78d1461081057806336568abe1461083057806336d23a4c146108505780633d1ac63e146108725780633d47fe94146108925780633e4f49e6146108b25780633f4ba83a146108df578063406ced84146108f457806343859632146109145780634bf5d7e9146109345780634c5ead08146109495780634e055244146109695780634f1ef286146109895780635273e74b1461099c57806352d1902d146109bc578063542d6db5146109d1578063544ffc9c146109f157806354fd4d5014610a2c5780635584c4f914610a575780635678138814610a79578063582a486a14610a9957806358c839bc14610aae5780635c573d4414610ace5780635c975abb14610aee57806360463d6814610b0357806360c4247f14610b235780636b6a070414610b435780636dd139be14610b635780636e8a182314610b83578063726da5fd14610b9857806374a55a5114610bb85780637a4cce6d14610bd85780637b3c71d314610bf857806381ab235314610c1857806381c0d6df14610c2d5780638456cb5914610c4257806388fb07a514610c575780638ced2a1114610c775780638d5a3f6714610c975780638e828cb414610cb757806391d1485414610cd757806391ddadf414610cf7578063952f213314610d2357806397c3d33414610d455780639aeb962b14610d595780639c17e7b314610d79578063a217fddf14610d8e578063a3844e1114610da3578063a45aa31314610db8578063a56b576514610dd8578063a7713a7014610df8578063a832918c14610e0d578063a890c91014610e2d578063a9a9529414610e4d578063ab58fb8e14610e6d578063ad3cb1cc14610e8d578063ae0b8da814610ebe578063b26a950914610ede578063b3c93dab14610efe578063b69d417b14610f1e578063b6e9eff414610f3e578063bc197c8114610f5e578063bd5aefea14610f7e578063be9bd92b14610fa0578063c01f9e3714610fc0578063c0a6026c14610fe0578063c220f2f514611000578063c28bc2fa14611020578063c40ffbf614611033578063c429bd8214611048578063c59057e414611068578063cf09f8bf14611088578063d33219b41461109d578063d4a8dd98146110b2578063d53c74c1146110d2578063d547741f146110f2578063dd4e2ba514611112578063de65f41a14611127578063e09c8d4414611147578063e125f74e14611167578063e205aeb01461117c578063e2bbb15814611191578063e4ec85d4146111b1578063e63ab1e9146111d1578063eb9019d4146111f3578063ee8a948b14611213578063f03a98d514611228578063f23a6e611461123d578063f530108f1461125d578063f744f1191461127d578063f8ce560a1461129d578063fc0c546a146112bd578063fd4fd6e1146112d257600080fd5b3661053257306105096112f4565b6001600160a01b03161461053057604051637485328f60e11b815260040160405180910390fd5b005b600080fd5b34801561054357600080fd5b5061054c611312565b6040516105599190613f4a565b60405180910390f35b34801561056e57600080fd5b5061053061057d366004613f83565b61132e565b34801561058e57600080fd5b506105a261059d3660046141e2565b611399565b604051908152602001610559565b3480156105bc57600080fd5b506105d06105cb3660046142ef565b61142e565b6040519015158152602001610559565b3480156105ec57600080fd5b506105a26105fb366004614319565b611480565b34801561060c57600080fd5b506105a261151f565b34801561062157600080fd5b50610530610630366004614319565b6115ab565b34801561064157600080fd5b50610530610650366004614345565b611637565b34801561066157600080fd5b5061066a611688565b60405161055991906143ae565b34801561068357600080fd5b506105306106923660046143c1565b611729565b3480156106a357600080fd5b506105a26106b23660046143de565b611786565b3480156106c357600080fd5b5061054c6106d2366004614345565b611817565b3480156106e357600080fd5b506106f76106f23660046143f9565b611822565b6040516001600160e01b03199091168152602001610559565b34801561071c57600080fd5b506105a261072b366004614464565b611865565b34801561073c57600080fd5b506105a261074b3660046143de565b6118f8565b34801561075c57600080fd5b5061053061076b366004614345565b611945565b34801561077c57600080fd5b506105a261078b366004614345565b611995565b6105a261079e366004614464565b6119b5565b3480156107af57600080fd5b506107c36107be366004614345565b611a71565b604051610559919061451d565b3480156107dc57600080fd5b506105a26107eb366004614345565b611afc565b3480156107fc57600080fd5b5061053061080b366004613f83565b611b37565b34801561081c57600080fd5b5061053061082b366004614345565b611b59565b34801561083c57600080fd5b5061053061084b366004613f83565b611baa565b34801561085c57600080fd5b506105a260008051602061522f83398151915281565b34801561087e57600080fd5b5061053061088d366004614319565b611be2565b34801561089e57600080fd5b506105306108ad3660046143c1565b611c34565b3480156108be57600080fd5b506108d26108cd366004614345565b611c90565b604051610559919061452b565b3480156108eb57600080fd5b50610530611d1b565b34801561090057600080fd5b5061053061090f366004614545565b611d3e565b34801561092057600080fd5b506105d061092f366004613f83565b611d61565b34801561094057600080fd5b5061066a611d6d565b34801561095557600080fd5b50610530610964366004614588565b611de5565b34801561097557600080fd5b506105a2610984366004613f83565b611e44565b6105306109973660046145a5565b611e50565b3480156109a857600080fd5b506105a26109b7366004614319565b611e6f565b3480156109c857600080fd5b506105a2611e9e565b3480156109dd57600080fd5b506105a26109ec3660046143de565b611ebb565b3480156109fd57600080fd5b50610a11610a0c366004614345565b611ec6565b60408051938452602084019290925290820152606001610559565b348015610a3857600080fd5b50604080518082019091526002815261031360f41b602082015261066a565b348015610a6357600080fd5b50610a6c611ee1565b604051610559919061462f565b348015610a8557600080fd5b506105a2610a94366004614651565b611f54565b348015610aa557600080fd5b5061054c611fac565b348015610aba57600080fd5b506105a2610ac9366004614676565b611fc8565b348015610ada57600080fd5b506105a2610ae9366004614345565b61205f565b348015610afa57600080fd5b506105d0612076565b348015610b0f57600080fd5b506105a2610b1e366004614345565b61208b565b348015610b2f57600080fd5b506105a2610b3e366004614345565b6120ab565b348015610b4f57600080fd5b506105a2610b5e3660046143de565b6120e6565b348015610b6f57600080fd5b506105a2610b7e3660046143de565b612114565b348015610b8f57600080fd5b5061054c612139565b348015610ba457600080fd5b50610530610bb3366004614319565b612155565b348015610bc457600080fd5b506105d0610bd3366004614734565b6121a7565b348015610be457600080fd5b50610530610bf33660046143c1565b6121b3565b348015610c0457600080fd5b506105a2610c133660046147a8565b612210565b348015610c2457600080fd5b506105d0612252565b348015610c3957600080fd5b506105d06122c1565b348015610c4e57600080fd5b5061053061230c565b348015610c6357600080fd5b506105a2610c72366004614345565b61232c565b348015610c8357600080fd5b506105a2610c92366004614345565b612337565b348015610ca357600080fd5b506105d0610cb2366004614345565b612342565b348015610cc357600080fd5b50610530610cd2366004614803565b61234d565b348015610ce357600080fd5b506105d0610cf2366004613f83565b6123e4565b348015610d0357600080fd5b50610d0c61241a565b60405165ffffffffffff9091168152602001610559565b348015610d2f57600080fd5b506105a26000805160206152af83398151915281565b348015610d5157600080fd5b5060646105a2565b348015610d6557600080fd5b506105d0610d743660046143c1565b612489565b348015610d8557600080fd5b50610530612494565b348015610d9a57600080fd5b506105a2600081565b348015610daf57600080fd5b5061054c61250c565b348015610dc457600080fd5b506105d0610dd3366004614345565b61252d565b348015610de457600080fd5b506105a2610df33660046148bf565b6125a5565b348015610e0457600080fd5b506105a26125e1565b348015610e1957600080fd5b50610530610e283660046148dd565b612650565b348015610e3957600080fd5b50610530610e483660046143c1565b61294a565b348015610e5957600080fd5b506105d0610e68366004614345565b61299a565b348015610e7957600080fd5b506105a2610e88366004614345565b6129d5565b348015610e9957600080fd5b5061066a604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610eca57600080fd5b50610530610ed93660046143c1565b6129e0565b348015610eea57600080fd5b50610530610ef9366004614345565b612a3d565b348015610f0a57600080fd5b50610530610f193660046143c1565b612a8e565b348015610f2a57600080fd5b506105a2610f393660046148bf565b612aeb565b348015610f4a57600080fd5b506105a2610f59366004613f83565b612b27565b348015610f6a57600080fd5b506106f7610f7936600461491e565b612b63565b348015610f8a57600080fd5b506105a260008051602061528f83398151915281565b348015610fac57600080fd5b50610530610fbb3660046149cb565b612ba7565b348015610fcc57600080fd5b506105a2610fdb366004614345565b612c25565b348015610fec57600080fd5b50610530610ffb366004614345565b612c60565b34801561100c57600080fd5b506105a261101b366004614345565b612cb0565b61053061102e366004614a14565b612cbb565b34801561103f57600080fd5b506105a2612d43565b34801561105457600080fd5b50610530611063366004614345565b612d58565b34801561107457600080fd5b506105a2611083366004614464565b612da8565b34801561109457600080fd5b5061054c612db6565b3480156110a957600080fd5b5061054c6112f4565b3480156110be57600080fd5b506105d06110cd366004614345565b612dd4565b3480156110de57600080fd5b506105306110ed3660046143c1565b612e0f565b3480156110fe57600080fd5b5061053061110d366004613f83565b612e6c565b34801561111e57600080fd5b5061066a612e88565b34801561113357600080fd5b506105a2611142366004614a57565b612ea8565b34801561115357600080fd5b50610530611162366004614319565b612ef7565b34801561117357600080fd5b5061054c612f49565b34801561118857600080fd5b5061054c612f65565b34801561119d57600080fd5b506105306111ac366004614af3565b612f81565b3480156111bd57600080fd5b506105a26111cc3660046143de565b612fc0565b3480156111dd57600080fd5b506105a260008051602061526f83398151915281565b3480156111ff57600080fd5b506105a261120e3660046148bf565b612fcb565b34801561121f57600080fd5b506105a2612fd7565b34801561123457600080fd5b5061054c612fe1565b34801561124957600080fd5b506106f7611258366004614b15565b612fff565b34801561126957600080fd5b506105306112783660046143c1565b613043565b34801561128957600080fd5b506105a2611298366004614345565b6130a0565b3480156112a957600080fd5b506105a26112b8366004614345565b6130ab565b3480156112c957600080fd5b5061054c6130e6565b3480156112de57600080fd5b506105a26000805160206152cf83398151915281565b6000806112ff613104565b600601546001600160a01b031692915050565b600061131c613104565b601401546001600160a01b0316919050565b604051627b8a6760e11b815273__$b120a5f1e2b0a55cb147ab44c2e1a92bdc$__9062f714ce906113659085908590600401614b7d565b60006040518083038186803b15801561137d57600080fd5b505af4158015611391573d6000803e3d6000fd5b505050505050565b6040516227621160e31b815260009073__$794ae75e1cde9531146241b4f1c64ef82b$__9063013b1088906113e0908c908c908c908c908c908c908c908c90600401614c22565b602060405180830381865af41580156113fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114219190614cb2565b9998505050505050505050565b60006001600160e01b03198216631f9dd3c160e31b148061145f57506001600160e01b03198216630271189760e51b145b8061147a57506001600160e01b031982166301ffc9a760e01b145b92915050565b600073__$2a637f59ddd580e94bd3c4d74cd6371dde$__63026865cc848460018111156114af576114af6144f3565b6040516001600160e01b031960e085901b168152600481019290925260ff1660248201526044015b602060405180830381865af41580156114f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115189190614cb2565b9392505050565b60008061152a613104565b905080600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a59190614cb2565b91505090565b60006115b781336123e4565b6115c9576115c9335b60003630613128565b604051631f6613a560e11b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90633ecc274a906116029085908790600401614ccb565b60006040518083038186803b15801561161a57600080fd5b505af415801561162e573d6000803e3d6000fd5b50505050505050565b600061164381336123e4565b61165057611650336115c0565b604051630379fcf360e11b81526004810183905273__$2a637f59ddd580e94bd3c4d74cd6371dde$__906306f3f9e690602401611365565b60606000611694613104565b90508060000180546116a590614ce6565b80601f01602080910402602001604051908101604052809291908181526020018280546116d190614ce6565b801561171e5780601f106116f35761010080835404028352916020019161171e565b820191906000526020600020905b81548152906001019060200180831161170157829003601f168201915b505050505091505090565b6000805160206152af83398151915261174281336123e4565b61174f5761174f336115c0565b604051630e0bea3b60e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063382fa8ec90611365908590600401613f4a565b600073__$2a637f59ddd580e94bd3c4d74cd6371dde$__630eddee308360018111156117b4576117b46144f3565b6040516001600160e01b031960e084901b16815260ff90911660048201526024015b602060405180830381865af41580156117f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147a9190614cb2565b600061147a826131c6565b60003061182d6112f4565b6001600160a01b03161461185457604051637485328f60e11b815260040160405180910390fd5b50630a85bd0160e11b949350505050565b600061186f6131ef565b6040516301957cc760e01b815273__$794ae75e1cde9531146241b4f1c64ef82b$__906301957cc7906118ae9030908990899089908990600401614d20565b602060405180830381865af41580156118cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ef9190614cb2565b95945050505050565b600080611903613104565b905080601701600084600181111561191d5761191d6144f3565b600181111561192e5761192e6144f3565b815260200190815260200160002054915050919050565b6000805160206152cf83398151915261195d81613217565b604051630f35a4c960e11b81526004810183905273__$794ae75e1cde9531146241b4f1c64ef82b$__90631e6b499290602401611365565b6000806119a0613221565b60009384526020525050604090206001015490565b60006119bf6131ef565b60008051602061522f8339815191526119d98160006123e4565b6119e7576119e78133613245565b60405163fcadd1f760e01b815273__$794ae75e1cde9531146241b4f1c64ef82b$__9063fcadd1f790611a269030908a908a908a908a90600401614d20565b602060405180830381865af4158015611a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a679190614cb2565b9695505050505050565b604051631504e3b960e11b81526004810182905260009073__$794ae75e1cde9531146241b4f1c64ef82b$__90632a09c77290602401602060405180830381865af4158015611ac4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae89190614d7d565b60ff16600181111561147a5761147a6144f3565b604051632d63f69360e01b81526004810182905260009073__$794ae75e1cde9531146241b4f1c64ef82b$__90632d63f693906024016117d6565b611b4082611995565b611b4981613217565b611b538383613270565b50505050565b6000611b6581336123e4565b611b7257611b72336115c0565b604051633397d78d60e01b81526004810183905273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90633397d78d90602401611365565b6001600160a01b0381163314611bd35760405163334bd91960e11b815260040160405180910390fd5b611bdd8282613311565b505050565b6000611bee81336123e4565b611bfb57611bfb336115c0565b6040516339081f6d60e21b815273__$2a637f59ddd580e94bd3c4d74cd6371dde$__9063e4207db4906116029086908690600401614d9a565b6000805160206152af833981519152611c4d81336123e4565b611c5a57611c5a336115c0565b6040516241c19d60e91b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__906383833a0090611365908590600401613f4a565b604051631f27a4f360e11b81526004810182905260009073__$207bec2875e0d2be7e7dc6b13ffe244a5c$__90633e4f49e690602401602060405180830381865af4158015611ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d079190614d7d565b60ff16600981111561147a5761147a6144f3565b60008051602061526f833981519152611d3381613217565b611d3b613389565b50565b6000611d4a81336123e4565b611d5757611d57336115c0565b611bdd83836133e0565b6000611518838361356b565b606073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865af4158015611db8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611de09190810190614dae565b905090565b60008051602061528f833981519152611dfe81336123e4565b611e0b57611e0b336115c0565b60405163098bd5a160e31b8152821515600482015273__$83164be2dfaf52e21db6ac3844d2b808f3$__90634c5ead0890602401611365565b600061151883836135a8565b611e586135de565b611e6182613683565b611e6b828261369c565b5050565b600073__$2a637f59ddd580e94bd3c4d74cd6371dde$__635273e74b848460018111156114af576114af6144f3565b6000611ea8613750565b5060008051602061524f83398151915290565b600061147a82613799565b6000806000611ed4846137e3565b9250925092509193909250565b606073__$794ae75e1cde9531146241b4f1c64ef82b$__635584c4f96040518163ffffffff1660e01b8152600401600060405180830381865af4158015611f2c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611de09190810190614e1b565b604051630dd063f960e41b81526004810183905233602482015260ff82166044820152608060648201526000608482018190529073__$488b07e7734b5cb602fa0effc08547da0a$__9063dd063f909060a4016114d7565b6000611fb6613104565b600b01546001600160a01b0316919050565b6000611fd26131ef565b6040516316320e6f60e21b815273__$794ae75e1cde9531146241b4f1c64ef82b$__906358c839bc90612013908a908a908a908a908a908a90600401614ea0565b602060405180830381865af4158015612030573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120549190614cb2565b979650505050505050565b60006001600160601b03193060601b16821861147a565b600080612081613819565b5460ff1692915050565b600080612096613104565b60009384526011016020525050604090205490565b6040516360c4247f60e01b81526004810182905260009073__$2a637f59ddd580e94bd3c4d74cd6371dde$__906360c4247f906024016117d6565b600073__$b120a5f1e2b0a55cb147ab44c2e1a92bdc$__636b6a07048360018111156117b4576117b46144f3565b60008061211f613104565b905080601c01600084600181111561191d5761191d6144f3565b6000612143613104565b602001546001600160a01b0316919050565b600061216181336123e4565b61216e5761216e336115c0565b604051639eb587e960e01b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90639eb587e9906116029085908790600401614ccb565b6000611518838361383d565b6000805160206152af8339815191526121cc81336123e4565b6121d9576121d9336115c0565b60405163358e7d9760e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063d639f65c90611365908590600401613f4a565b604051630dd063f960e41b815260009073__$488b07e7734b5cb602fa0effc08547da0a$__9063dd063f90906118ae9088903390899089908990600401614f03565b600073__$794ae75e1cde9531146241b4f1c64ef82b$__6381ab23536040518163ffffffff1660e01b8152600401602060405180830381865af415801561229d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de09190614f54565b600073__$488b07e7734b5cb602fa0effc08547da0a$__6381c0d6df6040518163ffffffff1660e01b8152600401602060405180830381865af415801561229d573d6000803e3d6000fd5b60008051602061526f83398151915261232481613217565b611d3b613885565b600061147a826138cc565b600061147a826138ef565b600061147a82613916565b60008051602061528f83398151915261236681336123e4565b61237357612373336115c0565b6040516323a0a32d60e21b815273__$83164be2dfaf52e21db6ac3844d2b808f3$__90638e828cb4906123ae90879087908790600401614f71565b60006040518083038186803b1580156123c657600080fd5b505af41580156123da573d6000803e3d6000fd5b5050505050505050565b6000806123ef613221565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612465573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de09190614fdc565b600061147a82613942565b60006124a081336123e4565b6124ad576124ad336115c0565b73__$488b07e7734b5cb602fa0effc08547da0a$__639c17e7b36040518163ffffffff1660e01b815260040160006040518083038186803b1580156124f157600080fd5b505af4158015612505573d6000803e3d6000fd5b5050505050565b6000612516613104565b6009015461010090046001600160a01b0316919050565b60405163a45aa31360e01b81526004810182905260009073__$488b07e7734b5cb602fa0effc08547da0a$__9063a45aa313906024015b602060405180830381865af4158015612581573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147a9190614f54565b60405163a56b576560e01b815260009073__$b120a5f1e2b0a55cb147ab44c2e1a92bdc$__9063a56b5765906114d79086908690600401615004565b600073__$2a637f59ddd580e94bd3c4d74cd6371dde$__63a7713a706040518163ffffffff1660e01b8152600401602060405180830381865af415801561262c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de09190614cb2565b600061265c81336123e4565b61266957612669336115c0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460089190600160401b900460ff16806126b2575080546001600160401b03808416911610155b156126d05760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b03861661275e5760405162461bcd60e51b815260206004820152602b60248201527f42335452476f7665726e6f725631303a20696e76616c6964206e61766967617460448201526a6f7220726567697374727960a81b60648201526084015b60405180910390fd5b6001600160a01b0385166127ca5760405162461bcd60e51b815260206004820152602d60248201527f42335452476f7665726e6f725631303a20696e76616c69642072656c6179657260448201526c081c995dd85c991cc81c1bdbdb609a1b6064820152608401612755565b60405163ce396b1f60e01b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063ce396b1f90612801908990600401613f4a565b60006040518083038186803b15801561281957600080fd5b505af415801561282d573d6000803e3d6000fd5b5050604051630e0bea3b60e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__925063382fa8ec9150612868908890600401613f4a565b60006040518083038186803b15801561288057600080fd5b505af4158015612894573d6000803e3d6000fd5b5050604051633397d78d60e01b81526004810187905273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9250633397d78d915060240160006040518083038186803b1580156128e357600080fd5b505af41580156128f7573d6000803e3d6000fd5b5050825460ff60401b1916835550506040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b600061295681336123e4565b61296357612963336115c0565b604051632cae129d60e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063b2b84a7490611365908590600401613f4a565b604051632a6a54a560e21b81526004810182905260009073__$794ae75e1cde9531146241b4f1c64ef82b$__9063a9a9529490602401612564565b600061147a82613972565b6000805160206152af8339815191526129f981336123e4565b612a0657612a06336115c0565b6040516327a4ecdd60e11b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90634f49d9ba90611365908590600401613f4a565b6000612a4981336123e4565b612a5657612a56336115c0565b60405163b26a950960e01b81526004810183905273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063b26a950990602401611365565b6000805160206152af833981519152612aa781336123e4565b612ab457612ab4336115c0565b604051634784a11360e01b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__90634784a11390611365908590600401613f4a565b60405163b69d417b60e01b815260009073__$488b07e7734b5cb602fa0effc08547da0a$__9063b69d417b906114d79086908690600401615004565b604051632dba7bfd60e21b815260009073__$488b07e7734b5cb602fa0effc08547da0a$__9063b6e9eff4906114d79086908690600401614b7d565b600030612b6e6112f4565b6001600160a01b031614612b9557604051637485328f60e11b815260040160405180910390fd5b5063bc197c8160e01b95945050505050565b60008051602061528f833981519152612bc081336123e4565b612bcd57612bcd336115c0565b60405163be9bd92b60e01b81526001600160a01b03851660048201526001600160e01b031984166024820152821515604482015273__$83164be2dfaf52e21db6ac3844d2b808f3$__9063be9bd92b906064016123ae565b60405163c01f9e3760e01b81526004810182905260009073__$794ae75e1cde9531146241b4f1c64ef82b$__9063c01f9e37906024016117d6565b6000805160206152cf833981519152612c7881613217565b604051633029809b60e21b81526004810183905273__$794ae75e1cde9531146241b4f1c64ef82b$__9063c0a6026c90602401611365565b600061147a826139a4565b6000612cc781336123e4565b612cd457612cd4336115c0565b600080866001600160a01b0316868686604051612cf292919061501d565b60006040518083038185875af1925050503d8060008114612d2f576040519150601f19603f3d011682016040523d82523d6000602084013e612d34565b606091505b50915091506123da82826139c7565b600080612d4e613104565b6004015492915050565b6000805160206152cf833981519152612d7081613217565b604051636214dec160e11b81526004810183905273__$794ae75e1cde9531146241b4f1c64ef82b$__9063c429bd8290602401611365565b60006118ef858585856139e3565b600080612dc1613104565b601a01546001600160a01b031692915050565b604051639079991f60e01b81526004810182905260009073__$2a637f59ddd580e94bd3c4d74cd6371dde$__90639079991f90602401612564565b6000805160206152af833981519152612e2881336123e4565b612e3557612e35336115c0565b60405163697772a560e11b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063d2eee54a90611365908590600401613f4a565b612e7582611995565b612e7e81613217565b611b538383613311565b60606040518060600160405280602881526020016152ef60289139905090565b600073__$794ae75e1cde9531146241b4f1c64ef82b$__63badecd7633612ed06000336123e4565b89898989896040518863ffffffff1660e01b8152600401611a26979695949392919061502d565b6000612f0381336123e4565b612f1057612f10336115c0565b604051632d2acd0b60e21b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063b4ab342c906116029085908790600401614ccb565b6000612f53613104565b601f01546001600160a01b0316919050565b6000612f6f613104565b600a01546001600160a01b0316919050565b604051631c57762b60e31b8152600481018390526024810182905273__$b120a5f1e2b0a55cb147ab44c2e1a92bdc$__9063e2bbb15890604401611365565b600061147a82613a1d565b60006115188383613a67565b6000611de0613c8c565b600080612fec613104565b601b01546001600160a01b031692915050565b60003061300a6112f4565b6001600160a01b03161461303157604051637485328f60e11b815260040160405180910390fd5b5063f23a6e6160e01b95945050505050565b6000805160206152af83398151915261305c81336123e4565b61306957613069336115c0565b60405163ce396b1f60e01b815273__$402f211bf492a0e3d00c9dbaacb8e9a5e6$__9063ce396b1f90611365908590600401613f4a565b600061147a82613c9f565b604051637c672b0560e11b81526004810182905260009073__$2a637f59ddd580e94bd3c4d74cd6371dde$__9063f8ce560a906024016117d6565b6000806130f1613104565b600c01546001600160a01b031692915050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b6000613132613104565b9050846001600160a01b03166131466112f4565b6001600160a01b03161461316f57846040516347096e4760e01b81526004016127559190613f4a565b816001600160a01b03166131816112f4565b6001600160a01b03161461250557600084846040516131a192919061501d565b604051809103902090505b806131b983600201613cbf565b036131ac57505050505050565b6000806131d1613104565b6000938452600101602052505060409020546001600160a01b031690565b6131f7612076565b156132155760405163d93c066560e01b815260040160405180910390fd5b565b611d3b8133613245565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b61324f82826123e4565b611e6b57808260405163e2517d3f60e01b8152600401612755929190615004565b60008061327b613221565b905061328784846123e4565b613307576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556132bd3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505061147a565b600091505061147a565b60008061331c613221565b905061332884846123e4565b15613307576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505061147a565b613391613d34565b600061339b613819565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516133d59190613f4a565b60405180910390a150565b60006133ea613104565b9050600081601b0160009054906101000a90046001600160a01b03166001600160a01b031663a49062d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015613443573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134679190614cb2565b9050600082601c016000866001811115613483576134836144f3565b6001811115613494576134946144f3565b81526020019081526020016000205490506134ae85613d59565b6134ca5760405162461bcd60e51b8152600401612755906150a7565b818411156134ee57604051637780647f60e11b815260048101859052602401612755565b7fb1b75318956f66fa2b8b148bc3b2520c6e22133a50ac6069d38f97ed462b487a858286604051613521939291906150f5565b60405180910390a18383601c016000876001811115613542576135426144f3565b6001811115613553576135536144f3565b81526020810191909152604001600020555050505050565b600080613576613104565b6000948552600f01602090815260408086206001600160a01b0395909516865260039094019052505090205460ff1690565b6000806135b3613104565b6000948552600d01602090815260408086206001600160a01b03959095168652939052505090205490565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061366557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661365960008051602061524f833981519152546001600160a01b031690565b6001600160a01b031614155b156132155760405163703e46dd60e11b815260040160405180910390fd5b600061368f81336123e4565b611e6b57611e6b336115c0565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156136f6575060408051601f3d908101601f191682019092526136f391810190614cb2565b60015b6137155781604051634c9c8ce360e01b81526004016127559190613f4a565b60008051602061524f833981519152811461374657604051632a87526960e21b815260048101829052602401612755565b611bdd8383613d90565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146132155760405163703e46dd60e11b815260040160405180910390fd5b6000806137a4613104565b90506137af83613d59565b6137cb5760405162461bcd60e51b8152600401612755906150a7565b80601601600084600181111561191d5761191d6144f3565b6000806000806137f1613104565b6000958652600f01602052505060409092208054600182015460029092015490949193509150565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b600080613848613104565b6001600160a01b03851660009081526008909101602090815260408083206001600160e01b03198716845290915290205460ff1691505092915050565b61388d6131ef565b6000613897613819565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586133c83390565b6000806138d7613104565b60009384526001016020525050604090206004015490565b6000806138fa613104565b6000938452600190810160205260409093209092015492915050565b600080613921613104565b60009384526001016020525050604090206004810154600390910154101590565b60008061394d613104565b6001600160a01b03909316600090815260109093016020525050604090205460ff1690565b60008061397d613104565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b6000806139af613104565b60009384526001016020525050604090206003015490565b6060826139dc576139d782613de6565b61147a565b508061147a565b6000848484846040516020016139fc9493929190615114565b60408051601f19818403018152919052805160209091012095945050505050565b600080613a28613104565b9050613a3383613d59565b613a4f5760405162461bcd60e51b8152600401612755906150a7565b80601901600084600181111561191d5761191d6144f3565b600080613a72613104565b600c810154604051630748d63560e31b81529192506000916001600160a01b0390911690633a46b1a890613aac9088908890600401615004565b602060405180830381865afa158015613ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aed9190614cb2565b601f8301549091506001600160a01b0316613b0b57915061147a9050565b601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990613b409089908990600401615004565b602060405180830381865afa158015613b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b8191906151d4565b6001600160a01b031614613c0d57601f82015460405163c61c06e760e01b81526001600160a01b039091169063c61c06e790613bc39088908890600401615004565b602060405180830381865afa158015613be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c049190614cb2565b9250505061147a565b601f82015460405163094f6f2960e21b81526001600160a01b039091169063253dbca490613c419088908890600401615004565b602060405180830381865afa158015613c5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c829190614cb2565b6118ef90826151f1565b6000613c96613104565b60220154905090565b600080613caa613104565b60009384526007016020525050604090205490565b80546000906001600160801b0380821691600160801b9004168103613cf7576040516375e52f4f60e01b815260040160405180910390fd5b6001600160801b038181166000908152600185810160205260408220805492905585546001600160801b0319169301909116919091179092555090565b613d3c612076565b61321557604051638dfc202b60e01b815260040160405180910390fd5b600080826001811115613d6e57613d6e6144f3565b148061147a57506001826001811115613d8957613d896144f3565b1492915050565b613d9982613e0f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613dde57611bdd8282613e6b565b611e6b613ed8565b805115613df65780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b806001600160a01b03163b600003613e3c5780604051634c9c8ce360e01b81526004016127559190613f4a565b60008051602061524f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613e889190615212565b600060405180830381855af49150503d8060008114613ec3576040519150601f19603f3d011682016040523d82523d6000602084013e613ec8565b606091505b50915091506118ef858383613ef7565b34156132155760405163b398979f60e01b815260040160405180910390fd5b606082613f0c57613f0782613de6565b611518565b8151158015613f2357506001600160a01b0384163b155b15613f435783604051639996b31560e01b81526004016127559190613f4a565b5092915050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114611d3b57600080fd5b8035613f7e81613f5e565b919050565b60008060408385031215613f9657600080fd5b823591506020830135613fa881613f5e565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613ff157613ff1613fb3565b604052919050565b60006001600160401b0382111561401257614012613fb3565b5060051b60200190565b600082601f83011261402d57600080fd5b8135602061404261403d83613ff9565b613fc9565b82815260059290921b8401810191818101908684111561406157600080fd5b8286015b8481101561408557803561407881613f5e565b8352918301918301614065565b509695505050505050565b600082601f8301126140a157600080fd5b813560206140b161403d83613ff9565b82815260059290921b840181019181810190868411156140d057600080fd5b8286015b8481101561408557803583529183019183016140d4565b60006001600160401b0382111561410457614104613fb3565b50601f01601f191660200190565b600082601f83011261412357600080fd5b813561413161403d826140eb565b81815284602083860101111561414657600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261417457600080fd5b8135602061418461403d83613ff9565b82815260059290921b840181019181810190868411156141a357600080fd5b8286015b848110156140855780356001600160401b038111156141c65760008081fd5b6141d48986838b0101614112565b8452509183019183016141a7565b600080600080600080600080610100898b0312156141ff57600080fd5b88356001600160401b038082111561421657600080fd5b6142228c838d0161401c565b995060208b013591508082111561423857600080fd5b6142448c838d01614090565b985060408b013591508082111561425a57600080fd5b6142668c838d01614163565b975060608b013591508082111561427c57600080fd5b6142888c838d01614112565b965060808b0135955060a08b013594506142a460c08c01613f73565b935060e08b01359150808211156142ba57600080fd5b506142c78b828c01614112565b9150509295985092959890939650565b80356001600160e01b031981168114613f7e57600080fd5b60006020828403121561430157600080fd5b611518826142d7565b803560028110613f7e57600080fd5b6000806040838503121561432c57600080fd5b8235915061433c6020840161430a565b90509250929050565b60006020828403121561435757600080fd5b5035919050565b60005b83811015614379578181015183820152602001614361565b50506000910152565b6000815180845261439a81602086016020860161435e565b601f01601f19169290920160200192915050565b6020815260006115186020830184614382565b6000602082840312156143d357600080fd5b813561151881613f5e565b6000602082840312156143f057600080fd5b6115188261430a565b6000806000806080858703121561440f57600080fd5b843561441a81613f5e565b9350602085013561442a81613f5e565b92506040850135915060608501356001600160401b0381111561444c57600080fd5b61445887828801614112565b91505092959194509250565b6000806000806080858703121561447a57600080fd5b84356001600160401b038082111561449157600080fd5b61449d8883890161401c565b955060208701359150808211156144b357600080fd5b6144bf88838901614090565b945060408701359150808211156144d557600080fd5b506144e287828801614163565b949793965093946060013593505050565b634e487b7160e01b600052602160045260246000fd5b60028110614519576145196144f3565b9052565b6020810161147a8284614509565b60208101600a831061453f5761453f6144f3565b91905290565b6000806040838503121561455857600080fd5b6145618361430a565b946020939093013593505050565b8015158114611d3b57600080fd5b8035613f7e8161456f565b60006020828403121561459a57600080fd5b81356115188161456f565b600080604083850312156145b857600080fd5b82356145c381613f5e565b915060208301356001600160401b038111156145de57600080fd5b6145ea85828601614112565b9150509250929050565b600081518084526020808501945080840160005b8381101561462457815187529582019590820190600101614608565b509495945050505050565b60208152600061151860208301846145f4565b60ff81168114611d3b57600080fd5b6000806040838503121561466457600080fd5b823591506020830135613fa881614642565b60008060008060008060c0878903121561468f57600080fd5b86356001600160401b03808211156146a657600080fd5b6146b28a838b0161401c565b975060208901359150808211156146c857600080fd5b6146d48a838b01614090565b965060408901359150808211156146ea57600080fd5b6146f68a838b01614163565b9550606089013591508082111561470c57600080fd5b5061471989828a01614112565b9350506080870135915060a087013590509295509295509295565b6000806040838503121561474757600080fd5b823561475281613f5e565b915061433c602084016142d7565b60008083601f84011261477257600080fd5b5081356001600160401b0381111561478957600080fd5b6020830191508360208285010111156147a157600080fd5b9250929050565b600080600080606085870312156147be57600080fd5b8435935060208501356147d081614642565b925060408501356001600160401b038111156147eb57600080fd5b6147f787828801614760565b95989497509550505050565b60008060006060848603121561481857600080fd5b833561482381613f5e565b92506020848101356001600160401b0381111561483f57600080fd5b8501601f8101871361485057600080fd5b803561485e61403d82613ff9565b81815260059190911b8201830190838101908983111561487d57600080fd5b928401925b828410156148a257614893846142d7565b82529284019290840190614882565b80965050505050506148b66040850161457d565b90509250925092565b600080604083850312156148d257600080fd5b823561456181613f5e565b6000806000606084860312156148f257600080fd5b83356148fd81613f5e565b9250602084013561490d81613f5e565b929592945050506040919091013590565b600080600080600060a0868803121561493657600080fd5b853561494181613f5e565b9450602086013561495181613f5e565b935060408601356001600160401b038082111561496d57600080fd5b61497989838a01614090565b9450606088013591508082111561498f57600080fd5b61499b89838a01614090565b935060808801359150808211156149b157600080fd5b506149be88828901614112565b9150509295509295909350565b6000806000606084860312156149e057600080fd5b83356149eb81613f5e565b92506149f9602085016142d7565b91506040840135614a098161456f565b809150509250925092565b60008060008060608587031215614a2a57600080fd5b8435614a3581613f5e565b93506020850135925060408501356001600160401b038111156147eb57600080fd5b600080600080600060a08688031215614a6f57600080fd5b85356001600160401b0380821115614a8657600080fd5b614a9289838a0161401c565b96506020880135915080821115614aa857600080fd5b614ab489838a01614090565b95506040880135915080821115614aca57600080fd5b614ad689838a01614163565b94506060880135935060808801359150808211156149b157600080fd5b60008060408385031215614b0657600080fd5b50508035926020909101359150565b600080600080600060a08688031215614b2d57600080fd5b8535614b3881613f5e565b94506020860135614b4881613f5e565b9350604086013592506060860135915060808601356001600160401b03811115614b7157600080fd5b6149be88828901614112565b9182526001600160a01b0316602082015260400190565b600081518084526020808501945080840160005b838110156146245781516001600160a01b031687529582019590820190600101614ba8565b600081518084526020808501808196508360051b8101915082860160005b85811015614c15578284038952614c03848351614382565b98850198935090840190600101614beb565b5091979650505050505050565b6000610100808352614c368184018c614b94565b90508281036020840152614c4a818b6145f4565b90508281036040840152614c5e818a614bcd565b90508281036060840152614c728189614382565b6080840188905260a084018790526001600160a01b03861660c085015283810360e08501529050614ca38185614382565b9b9a5050505050505050505050565b600060208284031215614cc457600080fd5b5051919050565b60408101614cd98285614509565b8260208301529392505050565b600181811c90821680614cfa57607f821691505b602082108103614d1a57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038616815260a060208201819052600090614d4490830187614b94565b8281036040840152614d5681876145f4565b90508281036060840152614d6a8186614bcd565b9150508260808301529695505050505050565b600060208284031215614d8f57600080fd5b815161151881614642565b828152604081016115186020830184614509565b600060208284031215614dc057600080fd5b81516001600160401b03811115614dd657600080fd5b8201601f81018413614de757600080fd5b8051614df561403d826140eb565b818152856020838501011115614e0a57600080fd5b6118ef82602083016020860161435e565b60006020808385031215614e2e57600080fd5b82516001600160401b03811115614e4457600080fd5b8301601f81018513614e5557600080fd5b8051614e6361403d82613ff9565b81815260059190911b82018301908381019087831115614e8257600080fd5b928401925b8284101561205457835182529284019290840190614e87565b60c081526000614eb360c0830189614b94565b8281036020840152614ec581896145f4565b90508281036040840152614ed98188614bcd565b90508281036060840152614eed8187614382565b6080840195909552505060a00152949350505050565b8581526001600160a01b038516602082015260ff841660408201526080606082018190528101829052818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b600060208284031215614f6657600080fd5b81516115188161456f565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b81811015614fc45784516001600160e01b03191683529383019391830191600101614f9e565b50508093505050508215156040830152949350505050565b600060208284031215614fee57600080fd5b815165ffffffffffff8116811461151857600080fd5b6001600160a01b03929092168252602082015260400190565b8183823760009101908152919050565b6001600160a01b0388168152861515602082015260e06040820181905260009061505990830188614b94565b828103606084015261506b81886145f4565b9050828103608084015261507f8187614bcd565b90508460a084015282810360c08401526150998185614382565b9a9950505050505050505050565b6020808252602e908201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460408201526d2070726f706f73616c207479706560901b606082015260800190565b606081016151038286614509565b602082019390935260400152919050565b6080808252855190820181905260009060209060a0840190828901845b828110156151565781516001600160a01b031684529284019290840190600101615131565b5050508381038285015261516a81886145f4565b905083810360408501528086518083528383019150838160051b84010184890160005b838110156151bb57601f198684030185526151a9838351614382565b9487019492509086019060010161518d565b5050809550505050505082606083015295945050505050565b6000602082840312156151e657600080fd5b815161151881613f5e565b8082018082111561147a57634e487b7160e01b600052601160045260246000fd5b6000825161522481846020870161435e565b919091019291505056fe6575630003027b0b2fc4a48bc39dbc3eba9cf56588c696a6f5717e167a0ce731360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a87e72189a3ea069796dab5c7d3826581f957cb5c882c1e6dae7acacec49ca48e56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7320cc91c16c42272679cab4152f867e0cd4a98f53556da2d53b4e515be8c7796737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e2c616761696e7374a264697066735822122004ed3978b09f43d3dddd9d3245d16b3f4d602f115d8ba86e6d167f6176d093f264736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4FB JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x50EA6F EQ PUSH2 0x537 JUMPI DUP1 PUSH3 0xF714CE EQ PUSH2 0x562 JUMPI DUP1 PUSH4 0x13B1088 EQ PUSH2 0x582 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x5B0 JUMPI DUP1 PUSH4 0x26865CC EQ PUSH2 0x5E0 JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x600 JUMPI DUP1 PUSH4 0x38F9B65 EQ PUSH2 0x615 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x635 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x655 JUMPI DUP1 PUSH4 0xDD8614C EQ PUSH2 0x677 JUMPI DUP1 PUSH4 0xEDDEE30 EQ PUSH2 0x697 JUMPI DUP1 PUSH4 0x143489D0 EQ PUSH2 0x6B7 JUMPI DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x6D7 JUMPI DUP1 PUSH4 0x160CBED7 EQ PUSH2 0x710 JUMPI DUP1 PUSH4 0x1CAF3474 EQ PUSH2 0x730 JUMPI DUP1 PUSH4 0x1E6B4992 EQ PUSH2 0x750 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x770 JUMPI DUP1 PUSH4 0x2656227D EQ PUSH2 0x790 JUMPI DUP1 PUSH4 0x2A09C772 EQ PUSH2 0x7A3 JUMPI DUP1 PUSH4 0x2D63F693 EQ PUSH2 0x7D0 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x7F0 JUMPI DUP1 PUSH4 0x3397D78D EQ PUSH2 0x810 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x830 JUMPI DUP1 PUSH4 0x36D23A4C EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x3D1AC63E EQ PUSH2 0x872 JUMPI DUP1 PUSH4 0x3D47FE94 EQ PUSH2 0x892 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x8B2 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x8DF JUMPI DUP1 PUSH4 0x406CED84 EQ PUSH2 0x8F4 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x914 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x934 JUMPI DUP1 PUSH4 0x4C5EAD08 EQ PUSH2 0x949 JUMPI DUP1 PUSH4 0x4E055244 EQ PUSH2 0x969 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x989 JUMPI DUP1 PUSH4 0x5273E74B EQ PUSH2 0x99C JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x9BC JUMPI DUP1 PUSH4 0x542D6DB5 EQ PUSH2 0x9D1 JUMPI DUP1 PUSH4 0x544FFC9C EQ PUSH2 0x9F1 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA2C JUMPI DUP1 PUSH4 0x5584C4F9 EQ PUSH2 0xA57 JUMPI DUP1 PUSH4 0x56781388 EQ PUSH2 0xA79 JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0xA99 JUMPI DUP1 PUSH4 0x58C839BC EQ PUSH2 0xAAE JUMPI DUP1 PUSH4 0x5C573D44 EQ PUSH2 0xACE JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0xAEE JUMPI DUP1 PUSH4 0x60463D68 EQ PUSH2 0xB03 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0xB23 JUMPI DUP1 PUSH4 0x6B6A0704 EQ PUSH2 0xB43 JUMPI DUP1 PUSH4 0x6DD139BE EQ PUSH2 0xB63 JUMPI DUP1 PUSH4 0x6E8A1823 EQ PUSH2 0xB83 JUMPI DUP1 PUSH4 0x726DA5FD EQ PUSH2 0xB98 JUMPI DUP1 PUSH4 0x74A55A51 EQ PUSH2 0xBB8 JUMPI DUP1 PUSH4 0x7A4CCE6D EQ PUSH2 0xBD8 JUMPI DUP1 PUSH4 0x7B3C71D3 EQ PUSH2 0xBF8 JUMPI DUP1 PUSH4 0x81AB2353 EQ PUSH2 0xC18 JUMPI DUP1 PUSH4 0x81C0D6DF EQ PUSH2 0xC2D JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0xC42 JUMPI DUP1 PUSH4 0x88FB07A5 EQ PUSH2 0xC57 JUMPI DUP1 PUSH4 0x8CED2A11 EQ PUSH2 0xC77 JUMPI DUP1 PUSH4 0x8D5A3F67 EQ PUSH2 0xC97 JUMPI DUP1 PUSH4 0x8E828CB4 EQ PUSH2 0xCB7 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xCD7 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xCF7 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xD23 JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xD45 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xD59 JUMPI DUP1 PUSH4 0x9C17E7B3 EQ PUSH2 0xD79 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xD8E JUMPI DUP1 PUSH4 0xA3844E11 EQ PUSH2 0xDA3 JUMPI DUP1 PUSH4 0xA45AA313 EQ PUSH2 0xDB8 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xDD8 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0xDF8 JUMPI DUP1 PUSH4 0xA832918C EQ PUSH2 0xE0D JUMPI DUP1 PUSH4 0xA890C910 EQ PUSH2 0xE2D JUMPI DUP1 PUSH4 0xA9A95294 EQ PUSH2 0xE4D JUMPI DUP1 PUSH4 0xAB58FB8E EQ PUSH2 0xE6D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xE8D JUMPI DUP1 PUSH4 0xAE0B8DA8 EQ PUSH2 0xEBE JUMPI DUP1 PUSH4 0xB26A9509 EQ PUSH2 0xEDE JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xEFE JUMPI DUP1 PUSH4 0xB69D417B EQ PUSH2 0xF1E JUMPI DUP1 PUSH4 0xB6E9EFF4 EQ PUSH2 0xF3E JUMPI DUP1 PUSH4 0xBC197C81 EQ PUSH2 0xF5E JUMPI DUP1 PUSH4 0xBD5AEFEA EQ PUSH2 0xF7E JUMPI DUP1 PUSH4 0xBE9BD92B EQ PUSH2 0xFA0 JUMPI DUP1 PUSH4 0xC01F9E37 EQ PUSH2 0xFC0 JUMPI DUP1 PUSH4 0xC0A6026C EQ PUSH2 0xFE0 JUMPI DUP1 PUSH4 0xC220F2F5 EQ PUSH2 0x1000 JUMPI DUP1 PUSH4 0xC28BC2FA EQ PUSH2 0x1020 JUMPI DUP1 PUSH4 0xC40FFBF6 EQ PUSH2 0x1033 JUMPI DUP1 PUSH4 0xC429BD82 EQ PUSH2 0x1048 JUMPI DUP1 PUSH4 0xC59057E4 EQ PUSH2 0x1068 JUMPI DUP1 PUSH4 0xCF09F8BF EQ PUSH2 0x1088 JUMPI DUP1 PUSH4 0xD33219B4 EQ PUSH2 0x109D JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0x10B2 JUMPI DUP1 PUSH4 0xD53C74C1 EQ PUSH2 0x10D2 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x10F2 JUMPI DUP1 PUSH4 0xDD4E2BA5 EQ PUSH2 0x1112 JUMPI DUP1 PUSH4 0xDE65F41A EQ PUSH2 0x1127 JUMPI DUP1 PUSH4 0xE09C8D44 EQ PUSH2 0x1147 JUMPI DUP1 PUSH4 0xE125F74E EQ PUSH2 0x1167 JUMPI DUP1 PUSH4 0xE205AEB0 EQ PUSH2 0x117C JUMPI DUP1 PUSH4 0xE2BBB158 EQ PUSH2 0x1191 JUMPI DUP1 PUSH4 0xE4EC85D4 EQ PUSH2 0x11B1 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x11D1 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0x11F3 JUMPI DUP1 PUSH4 0xEE8A948B EQ PUSH2 0x1213 JUMPI DUP1 PUSH4 0xF03A98D5 EQ PUSH2 0x1228 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x123D JUMPI DUP1 PUSH4 0xF530108F EQ PUSH2 0x125D JUMPI DUP1 PUSH4 0xF744F119 EQ PUSH2 0x127D JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0x129D JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x12BD JUMPI DUP1 PUSH4 0xFD4FD6E1 EQ PUSH2 0x12D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x532 JUMPI ADDRESS PUSH2 0x509 PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x530 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x543 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x1312 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x56E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x57D CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x132E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x59D CALLDATASIZE PUSH1 0x4 PUSH2 0x41E2 JUMP JUMPDEST PUSH2 0x1399 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x5CB CALLDATASIZE PUSH1 0x4 PUSH2 0x42EF JUMP JUMPDEST PUSH2 0x142E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x5FB CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x1480 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x151F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x621 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x630 CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x15AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x641 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x650 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1637 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x661 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x66A PUSH2 0x1688 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x43AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x692 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x1729 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x6B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x1786 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x6D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1817 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F7 PUSH2 0x6F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x43F9 JUMP JUMPDEST PUSH2 0x1822 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x71C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x72B CALLDATASIZE PUSH1 0x4 PUSH2 0x4464 JUMP JUMPDEST PUSH2 0x1865 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x74B CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x18F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x76B CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1945 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x78B CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1995 JUMP JUMPDEST PUSH2 0x5A2 PUSH2 0x79E CALLDATASIZE PUSH1 0x4 PUSH2 0x4464 JUMP JUMPDEST PUSH2 0x19B5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7C3 PUSH2 0x7BE CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1A71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x451D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x7EB CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1AFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x80B CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x1B37 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x82B CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1B59 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x84B CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x1BAA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x522F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x87E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x88D CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x1BE2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x8AD CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x1C34 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D2 PUSH2 0x8CD CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1C90 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x452B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x1D1B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x900 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x90F CALLDATASIZE PUSH1 0x4 PUSH2 0x4545 JUMP JUMPDEST PUSH2 0x1D3E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x920 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x92F CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x1D61 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x940 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x66A PUSH2 0x1D6D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x955 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x964 CALLDATASIZE PUSH1 0x4 PUSH2 0x4588 JUMP JUMPDEST PUSH2 0x1DE5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x975 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x984 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x1E44 JUMP JUMPDEST PUSH2 0x530 PUSH2 0x997 CALLDATASIZE PUSH1 0x4 PUSH2 0x45A5 JUMP JUMPDEST PUSH2 0x1E50 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x9B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x1E6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x1E9E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x9EC CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x1EBB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA11 PUSH2 0xA0C CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x1EC6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH2 0x313 PUSH1 0xF4 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x66A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA6C PUSH2 0x1EE1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x559 SWAP2 SWAP1 PUSH2 0x462F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xA94 CALLDATASIZE PUSH1 0x4 PUSH2 0x4651 JUMP JUMPDEST PUSH2 0x1F54 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x1FAC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xABA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xAC9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4676 JUMP JUMPDEST PUSH2 0x1FC8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xAE9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x205F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x2076 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xB1E CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x208B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xB3E CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x20AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xB5E CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x20E6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xB7E CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x2114 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2139 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xBB3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x2155 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xBD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4734 JUMP JUMPDEST PUSH2 0x21A7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xBF3 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x21B3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xC13 CALLDATASIZE PUSH1 0x4 PUSH2 0x47A8 JUMP JUMPDEST PUSH2 0x2210 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x2252 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x22C1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x230C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xC72 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x232C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xC92 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2337 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xCB2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2342 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xCD2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4803 JUMP JUMPDEST PUSH2 0x234D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xCF2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x23E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0C PUSH2 0x241A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x559 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH2 0x5A2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xD74 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x2489 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x2494 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x250C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xDD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x252D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xDF3 CALLDATASIZE PUSH1 0x4 PUSH2 0x48BF JUMP JUMPDEST PUSH2 0x25A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x25E1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xE28 CALLDATASIZE PUSH1 0x4 PUSH2 0x48DD JUMP JUMPDEST PUSH2 0x2650 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xE48 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x294A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0xE68 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x299A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xE88 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x29D5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x66A PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xECA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xED9 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x29E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xEF9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2A3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xF19 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x2A8E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xF39 CALLDATASIZE PUSH1 0x4 PUSH2 0x48BF JUMP JUMPDEST PUSH2 0x2AEB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xF59 CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x2B27 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F7 PUSH2 0xF79 CALLDATASIZE PUSH1 0x4 PUSH2 0x491E JUMP JUMPDEST PUSH2 0x2B63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x528F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xFBB CALLDATASIZE PUSH1 0x4 PUSH2 0x49CB JUMP JUMPDEST PUSH2 0x2BA7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0xFDB CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2C25 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0xFFB CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2C60 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x100C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x101B CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2CB0 JUMP JUMPDEST PUSH2 0x530 PUSH2 0x102E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A14 JUMP JUMPDEST PUSH2 0x2CBB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x103F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x2D43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1054 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x1063 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2D58 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1074 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x1083 CALLDATASIZE PUSH1 0x4 PUSH2 0x4464 JUMP JUMPDEST PUSH2 0x2DA8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1094 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2DB6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x12F4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D0 PUSH2 0x10CD CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x2DD4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x10ED CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x2E0F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x110D CALLDATASIZE PUSH1 0x4 PUSH2 0x3F83 JUMP JUMPDEST PUSH2 0x2E6C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x111E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x66A PUSH2 0x2E88 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x1142 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A57 JUMP JUMPDEST PUSH2 0x2EA8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1153 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x1162 CALLDATASIZE PUSH1 0x4 PUSH2 0x4319 JUMP JUMPDEST PUSH2 0x2EF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2F49 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1188 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2F65 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x119D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x11AC CALLDATASIZE PUSH1 0x4 PUSH2 0x4AF3 JUMP JUMPDEST PUSH2 0x2F81 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x11CC CALLDATASIZE PUSH1 0x4 PUSH2 0x43DE JUMP JUMPDEST PUSH2 0x2FC0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x526F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x120E CALLDATASIZE PUSH1 0x4 PUSH2 0x48BF JUMP JUMPDEST PUSH2 0x2FCB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x121F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x2FD7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x2FE1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1249 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F7 PUSH2 0x1258 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B15 JUMP JUMPDEST PUSH2 0x2FFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x530 PUSH2 0x1278 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C1 JUMP JUMPDEST PUSH2 0x3043 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1289 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x1298 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x30A0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH2 0x12B8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4345 JUMP JUMPDEST PUSH2 0x30AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54C PUSH2 0x30E6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52CF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12FF PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x131C PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x14 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x7B8A67 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH3 0xF714CE SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x4B7D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x137D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1391 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x276211 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x13B1088 SWAP1 PUSH2 0x13E0 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x4C22 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x13FD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1421 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x1F9DD3C1 PUSH1 0xE3 SHL EQ DUP1 PUSH2 0x145F JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ JUMPDEST DUP1 PUSH2 0x147A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x26865CC DUP5 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14AF JUMPI PUSH2 0x14AF PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14F4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1518 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x152A PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1581 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15A5 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B7 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x15C9 JUMPI PUSH2 0x15C9 CALLER JUMPDEST PUSH1 0x0 CALLDATASIZE ADDRESS PUSH2 0x3128 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F6613A5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x3ECC274A SWAP1 PUSH2 0x1602 SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x4CCB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x161A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x162E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1643 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1650 JUMPI PUSH2 0x1650 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x379FCF3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6F3F9E6 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1694 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x16A5 SWAP1 PUSH2 0x4CE6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x16D1 SWAP1 PUSH2 0x4CE6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x171E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16F3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x171E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1701 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1742 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x174F JUMPI PUSH2 0x174F CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x382FA8EC SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xEDDEE30 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x17B4 JUMPI PUSH2 0x17B4 PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0xFF SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17F3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x147A SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x31C6 JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x182D PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1854 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x186F PUSH2 0x31EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1957CC7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x1957CC7 SWAP1 PUSH2 0x18AE SWAP1 ADDRESS SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x4D20 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x18CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18EF SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1903 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x17 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x191D JUMPI PUSH2 0x191D PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x192E JUMPI PUSH2 0x192E PUSH2 0x44F3 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52CF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x195D DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xF35A4C9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x1E6B4992 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19A0 PUSH2 0x3221 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19BF PUSH2 0x31EF JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x522F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x19D9 DUP2 PUSH1 0x0 PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x19E7 JUMPI PUSH2 0x19E7 DUP2 CALLER PUSH2 0x3245 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xFCADD1F7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xFCADD1F7 SWAP1 PUSH2 0x1A26 SWAP1 ADDRESS SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x4D20 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A43 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A67 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1AC4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AE8 SWAP2 SWAP1 PUSH2 0x4D7D JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x147A JUMPI PUSH2 0x147A PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D63F693 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2D63F693 SWAP1 PUSH1 0x24 ADD PUSH2 0x17D6 JUMP JUMPDEST PUSH2 0x1B40 DUP3 PUSH2 0x1995 JUMP JUMPDEST PUSH2 0x1B49 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH2 0x1B53 DUP4 DUP4 PUSH2 0x3270 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B65 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1B72 JUMPI PUSH2 0x1B72 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3397D78D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x3397D78D SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x1BD3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1BDD DUP3 DUP3 PUSH2 0x3311 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BEE DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1BFB JUMPI PUSH2 0x1BFB CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x39081F6D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xE4207DB4 SWAP1 PUSH2 0x1602 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4D9A JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1C4D DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1C5A JUMPI PUSH2 0x1C5A CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x41C19D PUSH1 0xE9 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x83833A00 SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CE3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D07 SWAP2 SWAP1 PUSH2 0x4D7D JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x147A JUMPI PUSH2 0x147A PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x526F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1D33 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH2 0x1D3B PUSH2 0x3389 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4A DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1D57 JUMPI PUSH2 0x1D57 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH2 0x1BDD DUP4 DUP4 PUSH2 0x33E0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP4 DUP4 PUSH2 0x356B JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1DB8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1DE0 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4DAE JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x528F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1DFE DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1E0B JUMPI PUSH2 0x1E0B CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x98BD5A1 PUSH1 0xE3 SHL DUP2 MSTORE DUP3 ISZERO ISZERO PUSH1 0x4 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4C5EAD08 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP4 DUP4 PUSH2 0x35A8 JUMP JUMPDEST PUSH2 0x1E58 PUSH2 0x35DE JUMP JUMPDEST PUSH2 0x1E61 DUP3 PUSH2 0x3683 JUMP JUMPDEST PUSH2 0x1E6B DUP3 DUP3 PUSH2 0x369C JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x5273E74B DUP5 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14AF JUMPI PUSH2 0x14AF PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA8 PUSH2 0x3750 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x524F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3799 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x1ED4 DUP5 PUSH2 0x37E3 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x5584C4F9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1F2C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1DE0 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4E1B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xDD063F9 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE CALLER PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0xFF DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x84 DUP3 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xDD063F90 SWAP1 PUSH1 0xA4 ADD PUSH2 0x14D7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FB6 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0xB ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FD2 PUSH2 0x31EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x16320E6F PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x58C839BC SWAP1 PUSH2 0x2013 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x4EA0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2030 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2054 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT ADDRESS PUSH1 0x60 SHL AND DUP3 XOR PUSH2 0x147A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2081 PUSH2 0x3819 JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2096 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x11 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x60C4247F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x60C4247F SWAP1 PUSH1 0x24 ADD PUSH2 0x17D6 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x6B6A0704 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x17B4 JUMPI PUSH2 0x17B4 PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x211F PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1C ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x191D JUMPI PUSH2 0x191D PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2143 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x20 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2161 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x216E JUMPI PUSH2 0x216E CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9EB587E9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x9EB587E9 SWAP1 PUSH2 0x1602 SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x4CCB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP4 DUP4 PUSH2 0x383D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x21CC DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x21D9 JUMPI PUSH2 0x21D9 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x358E7D97 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD639F65C SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xDD063F9 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xDD063F90 SWAP1 PUSH2 0x18AE SWAP1 DUP9 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x4F03 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x81AB2353 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x229D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DE0 SWAP2 SWAP1 PUSH2 0x4F54 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x81C0D6DF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x229D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x526F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2324 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH2 0x1D3B PUSH2 0x3885 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x38CC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x38EF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3916 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x528F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2366 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2373 JUMPI PUSH2 0x2373 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x23A0A32D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8E828CB4 SWAP1 PUSH2 0x23AE SWAP1 DUP8 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x4F71 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x23C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x23DA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x23EF PUSH2 0x3221 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2465 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DE0 SWAP2 SWAP1 PUSH2 0x4FDC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3942 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24A0 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x24AD JUMPI PUSH2 0x24AD CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9C17E7B3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2505 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2516 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x9 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA45AA313 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA45AA313 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2581 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x147A SWAP2 SWAP1 PUSH2 0x4F54 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA56B5765 SWAP1 PUSH2 0x14D7 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xA7713A70 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x262C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DE0 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x265C DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2669 JUMPI PUSH2 0x2669 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x8 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x26B2 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x26D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x275E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F725631303A20696E76616C6964206E617669676174 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x6F72207265676973747279 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x27CA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F725631303A20696E76616C69642072656C61796572 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x81C995DD85C991CC81C1BDBDB PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2755 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x2801 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2819 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x282D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x382FA8EC SWAP2 POP PUSH2 0x2868 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2880 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2894 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x3397D78D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x3397D78D SWAP2 POP PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x28E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x28F7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP3 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP4 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2956 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2963 JUMPI PUSH2 0x2963 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2CAE129D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB2B84A74 SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2A6A54A5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA9A95294 SWAP1 PUSH1 0x24 ADD PUSH2 0x2564 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3972 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x29F9 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2A06 JUMPI PUSH2 0x2A06 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x27A4ECDD PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4F49D9BA SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A49 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2A56 JUMPI PUSH2 0x2A56 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB26A9509 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB26A9509 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2AA7 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2AB4 JUMPI PUSH2 0x2AB4 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4784A113 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4784A113 SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB69D417B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xB69D417B SWAP1 PUSH2 0x14D7 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DBA7BFD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xB6E9EFF4 SWAP1 PUSH2 0x14D7 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4B7D JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x2B6E PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2B95 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x528F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2BC0 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2BCD JUMPI PUSH2 0x2BCD CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBE9BD92B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE DUP3 ISZERO ISZERO PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xBE9BD92B SWAP1 PUSH1 0x64 ADD PUSH2 0x23AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xC01F9E37 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xC01F9E37 SWAP1 PUSH1 0x24 ADD PUSH2 0x17D6 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52CF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2C78 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3029809B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xC0A6026C SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x39A4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CC7 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2CD4 JUMPI PUSH2 0x2CD4 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x2CF2 SWAP3 SWAP2 SWAP1 PUSH2 0x501D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2D2F JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x2D34 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x23DA DUP3 DUP3 PUSH2 0x39C7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2D4E PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52CF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2D70 DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6214DEC1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xC429BD82 SWAP1 PUSH1 0x24 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18EF DUP6 DUP6 DUP6 DUP6 PUSH2 0x39E3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2DC1 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1A ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9079991F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x9079991F SWAP1 PUSH1 0x24 ADD PUSH2 0x2564 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2E28 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2E35 JUMPI PUSH2 0x2E35 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x697772A5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD2EEE54A SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH2 0x2E75 DUP3 PUSH2 0x1995 JUMP JUMPDEST PUSH2 0x2E7E DUP2 PUSH2 0x3217 JUMP JUMPDEST PUSH2 0x1B53 DUP4 DUP4 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x52EF PUSH1 0x28 SWAP2 CODECOPY SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBADECD76 CALLER PUSH2 0x2ED0 PUSH1 0x0 CALLER PUSH2 0x23E4 JUMP JUMPDEST DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD DUP9 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A26 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x502D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F03 DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x2F10 JUMPI PUSH2 0x2F10 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D2ACD0B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4AB342C SWAP1 PUSH2 0x1602 SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x4CCB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F53 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1F ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F6F PUSH2 0x3104 JUMP JUMPDEST PUSH1 0xA ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1C57762B PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xE2BBB158 SWAP1 PUSH1 0x44 ADD PUSH2 0x1365 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3A1D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1518 DUP4 DUP4 PUSH2 0x3A67 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DE0 PUSH2 0x3C8C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2FEC PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1B ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x300A PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3031 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x52AF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x305C DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x3069 JUMPI PUSH2 0x3069 CALLER PUSH2 0x15C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x1365 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147A DUP3 PUSH2 0x3C9F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7C672B05 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xF8CE560A SWAP1 PUSH1 0x24 ADD PUSH2 0x17D6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x30F1 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0xC ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3132 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3146 PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x316F JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0x47096E47 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3181 PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2505 JUMPI PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x31A1 SWAP3 SWAP2 SWAP1 PUSH2 0x501D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP1 POP JUMPDEST DUP1 PUSH2 0x31B9 DUP4 PUSH1 0x2 ADD PUSH2 0x3CBF JUMP JUMPDEST SUB PUSH2 0x31AC JUMPI POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31D1 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x31F7 PUSH2 0x2076 JUMP JUMPDEST ISZERO PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH2 0x1D3B DUP2 CALLER PUSH2 0x3245 JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH2 0x324F DUP3 DUP3 PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1E6B JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP3 SWAP2 SWAP1 PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x327B PUSH2 0x3221 JUMP JUMPDEST SWAP1 POP PUSH2 0x3287 DUP5 DUP5 PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x3307 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x32BD CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x147A JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x147A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x331C PUSH2 0x3221 JUMP JUMPDEST SWAP1 POP PUSH2 0x3328 DUP5 DUP5 PUSH2 0x23E4 JUMP JUMPDEST ISZERO PUSH2 0x3307 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x147A JUMP JUMPDEST PUSH2 0x3391 PUSH2 0x3D34 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x339B PUSH2 0x3819 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x33D5 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33EA PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1B ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA49062D4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3443 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3467 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1C ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3483 JUMPI PUSH2 0x3483 PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3494 JUMPI PUSH2 0x3494 PUSH2 0x44F3 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0x34AE DUP6 PUSH2 0x3D59 JUMP JUMPDEST PUSH2 0x34CA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP1 PUSH2 0x50A7 JUMP JUMPDEST DUP2 DUP5 GT ISZERO PUSH2 0x34EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x7780647F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x2755 JUMP JUMPDEST PUSH32 0xB1B75318956F66FA2B8B148BC3B2520C6E22133A50AC6069D38F97ED462B487A DUP6 DUP3 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3521 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x50F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP4 DUP4 PUSH1 0x1C ADD PUSH1 0x0 DUP8 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3542 JUMPI PUSH2 0x3542 PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3553 JUMPI PUSH2 0x3553 PUSH2 0x44F3 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3576 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0xF ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE PUSH1 0x3 SWAP1 SWAP5 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x35B3 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0xD ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3665 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3659 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x524F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x368F DUP2 CALLER PUSH2 0x23E4 JUMP JUMPDEST PUSH2 0x1E6B JUMPI PUSH2 0x1E6B CALLER PUSH2 0x15C0 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x36F6 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x36F3 SWAP2 DUP2 ADD SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3715 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x524F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3746 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x2755 JUMP JUMPDEST PUSH2 0x1BDD DUP4 DUP4 PUSH2 0x3D90 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x37A4 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP PUSH2 0x37AF DUP4 PUSH2 0x3D59 JUMP JUMPDEST PUSH2 0x37CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP1 PUSH2 0x50A7 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x191D JUMPI PUSH2 0x191D PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x37F1 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 SWAP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 SWAP1 SWAP3 ADD SLOAD SWAP1 SWAP5 SWAP2 SWAP4 POP SWAP2 POP JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3848 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x388D PUSH2 0x31EF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3897 PUSH2 0x3819 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x33C8 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x38D7 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x38FA PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP4 KECCAK256 SWAP1 SWAP3 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3921 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x394D PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x397D PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x39AF PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x39DC JUMPI PUSH2 0x39D7 DUP3 PUSH2 0x3DE6 JUMP JUMPDEST PUSH2 0x147A JUMP JUMPDEST POP DUP1 PUSH2 0x147A JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x39FC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5114 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3A28 PUSH2 0x3104 JUMP JUMPDEST SWAP1 POP PUSH2 0x3A33 DUP4 PUSH2 0x3D59 JUMP JUMPDEST PUSH2 0x3A4F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP1 PUSH2 0x50A7 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x191D JUMPI PUSH2 0x191D PUSH2 0x44F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3A72 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0x3AAC SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3AC9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3AED SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3B0B JUMPI SWAP2 POP PUSH2 0x147A SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x3B40 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3B5D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B81 SWAP2 SWAP1 PUSH2 0x51D4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3C0D JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x3BC3 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3BE0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3C04 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x147A JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x3C41 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5004 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3C5E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3C82 SWAP2 SWAP1 PUSH2 0x4CB2 JUMP JUMPDEST PUSH2 0x18EF SWAP1 DUP3 PUSH2 0x51F1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3C96 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x22 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3CAA PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x7 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND SWAP2 PUSH1 0x1 PUSH1 0x80 SHL SWAP1 DIV AND DUP2 SUB PUSH2 0x3CF7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x75E52F4F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP6 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD SWAP3 SWAP1 SSTORE DUP6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT AND SWAP4 ADD SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP3 SSTORE POP SWAP1 JUMP JUMPDEST PUSH2 0x3D3C PUSH2 0x2076 JUMP JUMPDEST PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3D6E JUMPI PUSH2 0x3D6E PUSH2 0x44F3 JUMP JUMPDEST EQ DUP1 PUSH2 0x147A JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3D89 JUMPI PUSH2 0x3D89 PUSH2 0x44F3 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3D99 DUP3 PUSH2 0x3E0F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x3DDE JUMPI PUSH2 0x1BDD DUP3 DUP3 PUSH2 0x3E6B JUMP JUMPDEST PUSH2 0x1E6B PUSH2 0x3ED8 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x3DF6 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x3E3C JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x524F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x3E88 SWAP2 SWAP1 PUSH2 0x5212 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3EC3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3EC8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x18EF DUP6 DUP4 DUP4 PUSH2 0x3EF7 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3215 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x3F0C JUMPI PUSH2 0x3F07 DUP3 PUSH2 0x3DE6 JUMP JUMPDEST PUSH2 0x1518 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x3F23 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x3F43 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2755 SWAP2 SWAP1 PUSH2 0x3F4A JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1D3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x3F7E DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3F96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x3FA8 DUP2 PUSH2 0x3F5E JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x3FF1 JUMPI PUSH2 0x3FF1 PUSH2 0x3FB3 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4012 JUMPI PUSH2 0x4012 PUSH2 0x3FB3 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x402D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4042 PUSH2 0x403D DUP4 PUSH2 0x3FF9 JUMP JUMPDEST PUSH2 0x3FC9 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4061 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4085 JUMPI DUP1 CALLDATALOAD PUSH2 0x4078 DUP2 PUSH2 0x3F5E JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4065 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x40A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x40B1 PUSH2 0x403D DUP4 PUSH2 0x3FF9 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x40D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4085 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x40D4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4104 JUMPI PUSH2 0x4104 PUSH2 0x3FB3 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4131 PUSH2 0x403D DUP3 PUSH2 0x40EB JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4146 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4174 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4184 PUSH2 0x403D DUP4 PUSH2 0x3FF9 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x41A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4085 JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41C6 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x41D4 DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x4112 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x41A7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x41FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4216 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4222 DUP13 DUP4 DUP14 ADD PUSH2 0x401C JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4238 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4244 DUP13 DUP4 DUP14 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP9 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x425A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4266 DUP13 DUP4 DUP14 ADD PUSH2 0x4163 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x427C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4288 DUP13 DUP4 DUP14 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP5 POP PUSH2 0x42A4 PUSH1 0xC0 DUP13 ADD PUSH2 0x3F73 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x42BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42C7 DUP12 DUP3 DUP13 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x3F7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4301 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1518 DUP3 PUSH2 0x42D7 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0x3F7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x432C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x433C PUSH1 0x20 DUP5 ADD PUSH2 0x430A JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4379 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4361 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x439A DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x435E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1518 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4382 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x43D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1518 DUP2 PUSH2 0x3F5E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x43F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1518 DUP3 PUSH2 0x430A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x440F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x441A DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x442A DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x444C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4458 DUP8 DUP3 DUP9 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x447A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x449D DUP9 DUP4 DUP10 ADD PUSH2 0x401C JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x44B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x44BF DUP9 DUP4 DUP10 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x44D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44E2 DUP8 DUP3 DUP9 ADD PUSH2 0x4163 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP4 SWAP5 PUSH1 0x60 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x4519 JUMPI PUSH2 0x4519 PUSH2 0x44F3 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x147A DUP3 DUP5 PUSH2 0x4509 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0xA DUP4 LT PUSH2 0x453F JUMPI PUSH2 0x453F PUSH2 0x44F3 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4558 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4561 DUP4 PUSH2 0x430A JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1D3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x3F7E DUP2 PUSH2 0x456F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x459A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1518 DUP2 PUSH2 0x456F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x45B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x45C3 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x45DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45EA DUP6 DUP3 DUP7 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4624 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4608 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1518 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x45F4 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1D3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4664 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x3FA8 DUP2 PUSH2 0x4642 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x468F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x46A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46B2 DUP11 DUP4 DUP12 ADD PUSH2 0x401C JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x46C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46D4 DUP11 DUP4 DUP12 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x46EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46F6 DUP11 DUP4 DUP12 ADD PUSH2 0x4163 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x470C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4719 DUP10 DUP3 DUP11 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4747 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4752 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP2 POP PUSH2 0x433C PUSH1 0x20 DUP5 ADD PUSH2 0x42D7 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4772 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4789 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x47A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x47BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x47D0 DUP2 PUSH2 0x4642 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x47EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x47F7 DUP8 DUP3 DUP9 ADD PUSH2 0x4760 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4818 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4823 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x483F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x4850 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x485E PUSH2 0x403D DUP3 PUSH2 0x3FF9 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x487D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x48A2 JUMPI PUSH2 0x4893 DUP5 PUSH2 0x42D7 JUMP JUMPDEST DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x4882 JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP PUSH2 0x48B6 PUSH1 0x40 DUP6 ADD PUSH2 0x457D JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x48D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4561 DUP2 PUSH2 0x3F5E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x48F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x48FD DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x490D DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4936 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4941 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x4951 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x496D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4979 DUP10 DUP4 DUP11 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x498F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x499B DUP10 DUP4 DUP11 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x49B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x49BE DUP9 DUP3 DUP10 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x49E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x49EB DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP3 POP PUSH2 0x49F9 PUSH1 0x20 DUP6 ADD PUSH2 0x42D7 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x4A09 DUP2 PUSH2 0x456F JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4A2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x4A35 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x47EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4A6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4A86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A92 DUP10 DUP4 DUP11 ADD PUSH2 0x401C JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4AA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AB4 DUP10 DUP4 DUP11 ADD PUSH2 0x4090 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4ACA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AD6 DUP10 DUP4 DUP11 ADD PUSH2 0x4163 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x49B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4B06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4B2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4B38 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x4B48 DUP2 PUSH2 0x3F5E JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4B71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x49BE DUP9 DUP3 DUP10 ADD PUSH2 0x4112 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4624 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4BA8 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP4 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x4C15 JUMPI DUP3 DUP5 SUB DUP10 MSTORE PUSH2 0x4C03 DUP5 DUP4 MLOAD PUSH2 0x4382 JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4BEB JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 MSTORE PUSH2 0x4C36 DUP2 DUP5 ADD DUP13 PUSH2 0x4B94 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4C4A DUP2 DUP12 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x4C5E DUP2 DUP11 PUSH2 0x4BCD JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x4C72 DUP2 DUP10 PUSH2 0x4382 JUMP JUMPDEST PUSH1 0x80 DUP5 ADD DUP9 SWAP1 MSTORE PUSH1 0xA0 DUP5 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0xC0 DUP6 ADD MSTORE DUP4 DUP2 SUB PUSH1 0xE0 DUP6 ADD MSTORE SWAP1 POP PUSH2 0x4CA3 DUP2 DUP6 PUSH2 0x4382 JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4CC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP2 ADD PUSH2 0x4CD9 DUP3 DUP6 PUSH2 0x4509 JUMP JUMPDEST DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x4CFA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x4D1A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP2 MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x4D44 SWAP1 DUP4 ADD DUP8 PUSH2 0x4B94 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x4D56 DUP2 DUP8 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x4D6A DUP2 DUP7 PUSH2 0x4BCD JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4D8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1518 DUP2 PUSH2 0x4642 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH2 0x1518 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4509 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4DC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x4DE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x4DF5 PUSH2 0x403D DUP3 PUSH2 0x40EB JUMP JUMPDEST DUP2 DUP2 MSTORE DUP6 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x4E0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18EF DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x435E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4E2E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4E44 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x4E55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x4E63 PUSH2 0x403D DUP3 PUSH2 0x3FF9 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP8 DUP4 GT ISZERO PUSH2 0x4E82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x2054 JUMPI DUP4 MLOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x4E87 JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4EB3 PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x4B94 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4EC5 DUP2 DUP10 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x4ED9 DUP2 DUP9 PUSH2 0x4BCD JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x4EED DUP2 DUP8 PUSH2 0x4382 JUMP JUMPDEST PUSH1 0x80 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP6 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xFF DUP5 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE DUP2 ADD DUP3 SWAP1 MSTORE DUP2 DUP4 PUSH1 0xA0 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP4 ADD PUSH1 0xA0 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4F66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1518 DUP2 PUSH2 0x456F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP1 DUP4 ADD DUP3 SWAP1 MSTORE DUP5 MLOAD SWAP2 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP6 DUP3 ADD SWAP2 SWAP1 PUSH1 0x80 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4FC4 JUMPI DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4F9E JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 ISZERO ISZERO PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1518 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 MSTORE DUP7 ISZERO ISZERO PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xE0 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5059 SWAP1 DUP4 ADD DUP9 PUSH2 0x4B94 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x506B DUP2 DUP9 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x507F DUP2 DUP8 PUSH2 0x4BCD JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0xA0 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x5099 DUP2 DUP6 PUSH2 0x4382 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD PUSH2 0x5103 DUP3 DUP7 PUSH2 0x4509 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 DUP1 DUP3 MSTORE DUP6 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0xA0 DUP5 ADD SWAP1 DUP3 DUP10 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5156 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5131 JUMP JUMPDEST POP POP POP DUP4 DUP2 SUB DUP3 DUP6 ADD MSTORE PUSH2 0x516A DUP2 DUP9 PUSH2 0x45F4 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x40 DUP6 ADD MSTORE DUP1 DUP7 MLOAD DUP1 DUP4 MSTORE DUP4 DUP4 ADD SWAP2 POP DUP4 DUP2 PUSH1 0x5 SHL DUP5 ADD ADD DUP5 DUP10 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x51BB JUMPI PUSH1 0x1F NOT DUP7 DUP5 SUB ADD DUP6 MSTORE PUSH2 0x51A9 DUP4 DUP4 MLOAD PUSH2 0x4382 JUMP JUMPDEST SWAP5 DUP8 ADD SWAP5 SWAP3 POP SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x518D JUMP JUMPDEST POP POP DUP1 SWAP6 POP POP POP POP POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1518 DUP2 PUSH2 0x3F5E JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x147A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5224 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x435E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID PUSH6 0x75630003027B SIGNEXTEND 0x2F 0xC4 LOG4 DUP12 0xC3 SWAP14 0xBC RETURNDATACOPY 0xBA SWAP13 CREATE2 PUSH6 0x88C696A6F571 PUSH31 0x167A0CE731360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3 0xCA POP 0x5D CODESIZE 0x2B 0xBC PUSH6 0xD7A28E3265B3 PUSH27 0x6474929F336521B332C1681B933F6CB9F3376673440D862A87E721 DUP10 LOG3 0xEA MOD SWAP8 SWAP7 0xDA 0xB5 0xC7 0xD3 DUP3 PUSH6 0x81F957CB5C88 0x2C 0x1E PUSH14 0xAE7ACACEC49CA48E56AF926AA384 0x5D 0x4D 0xC6 GASPRICE PUSH13 0x773ED36F51794728C97EBCD1BF DUP5 JUMPDEST 0xCE 0xCB AND 0xEE 0xB6 0xB7 ORIGIN 0xC 0xC9 SHR AND 0xC4 0x22 PUSH19 0x679CAB4152F867E0CD4A98F53556DA2D53B4E5 ISZERO 0xBE DUP13 PUSH24 0x96737570706F72743D627261766F2671756F72756D3D666F PUSH19 0x2C6162737461696E2C616761696E7374A26469 PUSH17 0x66735822122004ED3978B09F43D3DDDD9D ORIGIN GASLIMIT 0xD1 PUSH12 0x3F4D602F115D8BA86E6D167F PUSH2 0x76D0 SWAP4 CALLCODE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"7719:45066:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11344:4;11295:37;:35;:37::i;:::-;-1:-1:-1;;;;;11295:54:48;;11291:107;;11366:25;;-1:-1:-1;;;11366:25:48;;;;;;;;;;;11291:107;7719:45066;;;;;28238:149;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;38160:132;;;;;;;;;;-1:-1:-1;38160:132:48;;;;;:::i;:::-;;:::i;44796:551::-;;;;;;;;;;-1:-1:-1;44796:551:48;;;;;:::i;:::-;;:::i;:::-;;;5994:25:150;;;5982:2;5967:18;44796:551:48;5848:177:150;50874:308:48;;;;;;;;;;-1:-1:-1;50874:308:48;;;;;:::i;:::-;;:::i;:::-;;;6562:14:150;;6555:22;6537:41;;6525:2;6510:18;50874:308:48;6397:187:150;30834:244:48;;;;;;;;;;-1:-1:-1;30834:244:48;;;;;:::i;:::-;;:::i;19826:210::-;;;;;;;;;;;;;:::i;47830:281::-;;;;;;;;;;-1:-1:-1;47830:281:48;;;;;:::i;:::-;;:::i;38815:184::-;;;;;;;;;;-1:-1:-1;38815:184:48;;;;;:::i;:::-;;:::i;24140:180::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;44022:221::-;;;;;;;;;;-1:-1:-1;44022:221:48;;;;;:::i;:::-;;:::i;31259:216::-;;;;;;;;;;-1:-1:-1;31259:216:48;;;;;:::i;:::-;;:::i;13772:155::-;;;;;;;;;;-1:-1:-1;13772:155:48;;;;;:::i;:::-;;:::i;51948:259::-;;;;;;;;;;-1:-1:-1;51948:259:48;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;9515:33:150;;;9497:52;;9485:2;9470:18;51948:259:48;9353:202:150;34968:286:48;;;;;;;;;;-1:-1:-1;34968:286:48;;;;;:::i;:::-;;:::i;15634:288::-;;;;;;;;;;-1:-1:-1;15634:288:48;;;;;:::i;:::-;;:::i;45925:161::-;;;;;;;;;;-1:-1:-1;45925:161:48;;;;;:::i;:::-;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;35595:341:48:-;;;;;;:::i;:::-;;:::i;29490:194::-;;;;;;;;;;-1:-1:-1;29490:194:48;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;14995:149::-;;;;;;;;;;-1:-1:-1;14995:149:48;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;41581:179:48:-;;;;;;;;;;-1:-1:-1;41581:179:48;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;8361:84:48:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8361:84:48;;46659:276;;;;;;;;;;-1:-1:-1;46659:276:48;;;;;:::i;:::-;;:::i;42406:224::-;;;;;;;;;;-1:-1:-1;42406:224:48;;;;;:::i;:::-;;:::i;13127:179::-;;;;;;;;;;-1:-1:-1;13127:179:48;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;33734:71::-;;;;;;;;;;;;;:::i;49687:273::-;;;;;;;;;;-1:-1:-1;49687:273:48;;;;;:::i;:::-;;:::i;22090:153::-;;;;;;;;;;-1:-1:-1;22090:153:48;;;;;:::i;:::-;;:::i;17248:112::-;;;;;;;;;;;;;:::i;40755:217::-;;;;;;;;;;-1:-1:-1;40755:217:48;;;;;:::i;:::-;;:::i;23873:164::-;;;;;;;;;;-1:-1:-1;23873:164:48;;;;;:::i;:::-;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;31732:258:48:-;;;;;;;;;;-1:-1:-1;31732:258:48;;;;;:::i;:::-;;:::i;3705:134:3:-;;;;;;;;;;;;;:::i;30329:229:48:-;;;;;;;;;;-1:-1:-1;30329:229:48;;;;;:::i;:::-;;:::i;21399:204::-;;;;;;;;;;-1:-1:-1;21399:204:48;;;;;:::i;:::-;;:::i;:::-;;;;13644:25:150;;;13700:2;13685:18;;13678:34;;;;13728:18;;;13721:34;13632:2;13617:18;21399:204:48;13442:319:150;25164:79:48;;;;;;;;;;-1:-1:-1;25227:11:48;;;;;;;;;;;;-1:-1:-1;;;25227:11:48;;;;25164:79;;29179:134;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;36917:167::-;;;;;;;;;;-1:-1:-1;36917:167:48;;;;;:::i;:::-;;:::i;27675:113::-;;;;;;;;;;;;;:::i;34274:355::-;;;;;;;;;;-1:-1:-1;34274:355:48;;;;;:::i;:::-;;:::i;26855:168::-;;;;;;;;;;-1:-1:-1;26855:168:48;;;;;:::i;:::-;;:::i;2692:145:12:-;;;;;;;;;;;;;:::i;20864:232:48:-;;;;;;;;;;-1:-1:-1;20864:232:48;;;;;:::i;:::-;;:::i;18513:143::-;;;;;;;;;;-1:-1:-1;18513:143:48;;;;;:::i;:::-;;:::i;29882:227::-;;;;;;;;;;-1:-1:-1;29882:227:48;;;;;:::i;:::-;;:::i;33213:301::-;;;;;;;;;;-1:-1:-1;33213:301:48;;;;;:::i;:::-;;:::i;28741:155::-;;;;;;;;;;;;;:::i;47232:305::-;;;;;;;;;;-1:-1:-1;47232:305:48;;;;;:::i;:::-;;:::i;19211:203::-;;;;;;;;;;-1:-1:-1;19211:203:48;;;;;:::i;:::-;;:::i;41985:183::-;;;;;;;;;;-1:-1:-1;41985:183:48;;;;;:::i;:::-;;:::i;37357:205::-;;;;;;;;;;-1:-1:-1;37357:205:48;;;;;:::i;:::-;;:::i;13469:138::-;;;;;;;;;;;;;:::i;24478:163::-;;;;;;;;;;;;;:::i;33617:67::-;;;;;;;;;;;;;:::i;23141:164::-;;;;;;;;;;-1:-1:-1;23141:164:48;;;;;:::i;:::-;;:::i;14398:151::-;;;;;;;;;;-1:-1:-1;14398:151:48;;;;;:::i;:::-;;:::i;22801:157::-;;;;;;;;;;-1:-1:-1;22801:157:48;;;;;:::i;:::-;;:::i;40308:291::-;;;;;;;;;;-1:-1:-1;40308:291:48;;;;;:::i;:::-;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;16970:95:48:-;;;;;;;;;;;;;:::i;:::-;;;19382:14:150;19370:27;;;19352:46;;19340:2;19325:18;16970:95:48;19208:196:150;8206:100:48;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8206:100:48;;18842:121;;;;;;;;;;-1:-1:-1;3199:3:55;18842:121:48;17248:112;20258:124;;;;;;;;;;-1:-1:-1;20258:124:48;;;;;:::i;:::-;;:::i;39247:139::-;;;;;;;;;;;;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;27136:137:48;;;;;;;;;;;;;:::i;24884:171::-;;;;;;;;;;-1:-1:-1;24884:171:48;;;;;:::i;:::-;;:::i;50180:180::-;;;;;;;;;;-1:-1:-1;50180:180:48;;;;;:::i;:::-;;:::i;18139:117::-;;;;;;;;;;;;;:::i;8829:667::-;;;;;;;;;;-1:-1:-1;8829:667:48;;;;;:::i;:::-;;:::i;43004:195::-;;;;;;;;;;-1:-1:-1;43004:195:48;;;;;:::i;:::-;;:::i;12796:154::-;;;;;;;;;;-1:-1:-1;12796:154:48;;;;;:::i;:::-;;:::i;14083:145::-;;;;;;;;;;-1:-1:-1;14083:145:48;;;;;:::i;:::-;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;48862:201:48;;;;;;;;;;-1:-1:-1;48862:201:48;;;;;:::i;:::-;;:::i;41224:173::-;;;;;;;;;;-1:-1:-1;41224:173:48;;;;;:::i;:::-;;:::i;43328:211::-;;;;;;;;;;-1:-1:-1;43328:211:48;;;;;:::i;:::-;;:::i;16573:184::-;;;;;;;;;;-1:-1:-1;16573:184:48;;;;;:::i;:::-;;:::i;37822:169::-;;;;;;;;;;-1:-1:-1;37822:169:48;;;;;:::i;:::-;;:::i;52461:322::-;;;;;;;;;;-1:-1:-1;52461:322:48;;;;;:::i;:::-;;:::i;7916:104::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7916:104:48;;39700:278;;;;;;;;;;-1:-1:-1;39700:278:48;;;;;:::i;:::-;;:::i;15310:149::-;;;;;;;;;;-1:-1:-1;15310:149:48;;;;;:::i;:::-;;:::i;46190:153::-;;;;;;;;;;-1:-1:-1;46190:153:48;;;;;:::i;:::-;;:::i;22414:154::-;;;;;;;;;;-1:-1:-1;22414:154:48;;;;;:::i;:::-;;:::i;11976:286::-;;;;;;:::i;:::-;;:::i;19527:194::-;;;;;;;;;;;;;:::i;45651:165::-;;;;;;;;;;-1:-1:-1;45651:165:48;;;;;:::i;:::-;;:::i;26392:274::-;;;;;;;;;;-1:-1:-1;26392:274:48;;;;;:::i;:::-;;:::i;32832:210::-;;;;;;;;;;;;;:::i;27919:199::-;;;;;;;;;;;;;:::i;20556:140::-;;;;;;;;;;-1:-1:-1;20556:140:48;;;;;:::i;:::-;;:::i;49183:206::-;;;;;;;;;;-1:-1:-1;49183:206:48;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;21747:123:48:-;;;;;;;;;;;;;:::i;36277:420::-;;;;;;;;;;-1:-1:-1;36277:420:48;;;;;:::i;:::-;;:::i;48448:297::-;;;;;;;;;;-1:-1:-1;48448:297:48;;;;;:::i;:::-;;:::i;28519:152::-;;;;;;;;;;;;;:::i;27421:160::-;;;;;;;;;;;;;:::i;38458:124::-;;;;;;;;;;-1:-1:-1;38458:124:48;;;;;:::i;:::-;;:::i;32196:215::-;;;;;;;;;;-1:-1:-1;32196:215:48;;;;;:::i;:::-;;:::i;8075:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8075:62:48;;16128:154;;;;;;;;;;-1:-1:-1;16128:154:48;;;;;:::i;:::-;;:::i;28971:140::-;;;;;;;;;;;;;:::i;32517:207::-;;;;;;;;;;;;;:::i;51431:270::-;;;;;;;;;;-1:-1:-1;51431:270:48;;;;;:::i;:::-;;:::i;43671:216::-;;;;;;;;;;-1:-1:-1;43671:216:48;;;;;:::i;:::-;;:::i;23476:141::-;;;;;;;;;;-1:-1:-1;23476:141:48;;;;;:::i;:::-;;:::i;17868:129::-;;;;;;;;;;-1:-1:-1;17868:129:48;;;;;:::i;:::-;;:::i;17470:173::-;;;;;;;;;;;;;:::i;8528:94::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8528:94:48;;2651:191:53;2694:7;2709:49;2761:44;:42;:44::i;:::-;2826:10;;;-1:-1:-1;;;;;2826:10:53;;2651:191;-1:-1:-1;;2651:191:53:o;28238:149:48:-;28289:17;28321:44;:42;:44::i;:::-;:61;;;-1:-1:-1;;;;;28321:61:48;;28238:149;-1:-1:-1;28238:149:48:o;38160:132::-;38232:55;;-1:-1:-1;;;38232:55:48;;:23;;:32;;:55;;38265:10;;38277:9;;38232:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38160:132;;:::o;44796:551::-;45117:225;;-1:-1:-1;;;45117:225:48;;45089:7;;45117:24;;:37;;:225;;45164:7;;45181:6;;45197:9;;45216:11;;45237:12;;45259:13;;45282:14;;45306:28;;45117:225;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;45104:238;44796:551;-1:-1:-1;;;;;;;;;44796:551:48:o;50874:308::-;50994:4;-1:-1:-1;;;;;;51019:49:48;;-1:-1:-1;;;51019:49:48;;:108;;-1:-1:-1;;;;;;;51078:49:48;;-1:-1:-1;;;51078:49:48;51019:108;:158;;;-1:-1:-1;;;;;;;51137:40:48;;-1:-1:-1;;;51137:40:48;51019:158;51006:171;50874:308;-1:-1:-1;;50874:308:48:o;30834:244::-;30969:7;30991:22;:43;31035:11;31054:17;31048:24;;;;;;;;:::i;:::-;30991:82;;-1:-1:-1;;;;;;30991:82:48;;;;;;;;;;30572:25:150;;;;30645:4;30633:17;30613:18;;;30606:45;30545:18;;30991:82:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30984:89;30834:244;-1:-1:-1;;;30834:244:48:o;19826:210::-;19873:7;19888:49;19940:44;:42;:44::i;:::-;19888:96;;19997:1;:19;;;;;;;;;;-1:-1:-1;;;;;19997:19:48;-1:-1:-1;;;;;19997:32:48;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19990:41;;;19826:210;:::o;47830:281::-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;1040:14:11;;10692:4:48;10615:42;:83::i;:::-;48013:93:::1;::::0;-1:-1:-1;;;48013:93:48;;:23:::1;::::0;:54:::1;::::0;:93:::1;::::0;48068:17;;48087:18;;48013:93:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;47830:281:::0;;;:::o;38815:184::-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;38930:64:::1;::::0;-1:-1:-1;;;38930:64:48;;::::1;::::0;::::1;5994:25:150::0;;;38930:22:48::1;::::0;:44:::1;::::0;5967:18:150;;38930:64:48::1;5848:177:150::0;24140:180:48;24179:13;24200:49;24252:44;:42;:44::i;:::-;24200:96;;24309:1;:6;;24302:13;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24140:180;:::o;44022:221::-;-1:-1:-1;;;;;;;;;;;10586:27:48;8263:43;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;44170:68:::1;::::0;-1:-1:-1;;;44170:68:48;;:23:::1;::::0;:45:::1;::::0;:68:::1;::::0;44216:21;;44170:68:::1;;;:::i;31259:216::-:0;31370:7;31392:22;:52;31451:17;31445:24;;;;;;;;:::i;:::-;31392:78;;-1:-1:-1;;;;;;31392:78:48;;;;;;;31961:4:150;31949:17;;;31392:78:48;;;31931:36:150;31904:18;;31392:78:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13772:155::-;13847:7;13869:53;13911:10;13869:41;:53::i;51948:259::-;52039:6;52106:4;52057:37;:35;:37::i;:::-;-1:-1:-1;;;;;52057:54:48;;52053:107;;52128:25;;-1:-1:-1;;;52128:25:48;;;;;;;;;;;52053:107;-1:-1:-1;;;;51948:259:48;;;;;;:::o;34968:286::-;35137:7;2316:19:12;:17;:19::i;:::-;35159:90:48::1;::::0;-1:-1:-1;;;35159:90:48;;:24:::1;::::0;:30:::1;::::0;:90:::1;::::0;35198:4:::1;::::0;35205:7;;35214:6;;35222:9;;35233:15;;35159:90:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35152:97:::0;34968:286;-1:-1:-1;;;;;34968:286:48:o;15634:288::-;15745:7;15760:49;15812:44;:42;:44::i;:::-;15760:96;;15869:1;:29;;:48;15899:17;15869:48;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;15862:55;;;15634:288;;;:::o;45925:161::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;46025:56:48::1;::::0;-1:-1:-1;;;46025:56:48;;::::1;::::0;::::1;5994:25:150::0;;;46025:24:48::1;::::0;:44:::1;::::0;5967:18:150;;46025:56:48::1;5848:177:150::0;4759:191:0;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;35595:341:48:-;35817:7;2316:19:12;:17;:19::i;:::-;-1:-1:-1;;;;;;;;;;;11031:25:48::1;11039:4;11053:1;11031:7;:25::i;:::-;11026:77;;11066:30;11077:4:::0;966:10:11;11066::48::1;:30::i;:::-;35839:92:::2;::::0;-1:-1:-1;;;35839:92:48;;:24:::2;::::0;:32:::2;::::0;:92:::2;::::0;35880:4:::2;::::0;35887:7;;35896:6;;35904:9;;35915:15;;35839:92:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35832:99:::0;35595:341;-1:-1:-1;;;;;;35595:341:48:o;29490:194::-;29629:49;;-1:-1:-1;;;29629:49:48;;;;;5994:25:150;;;29555:29:48;;29629:24;;:37;;5967:18:150;;29629:49:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29599:80;;;;;;;;;;:::i;14995:149::-;15086:53;;-1:-1:-1;;;15086:53:48;;;;;5994:25:150;;;15064:7:48;;15086:24;;:41;;5967:18:150;;15086:53:48;5848:177:150;5246:136:0;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;41581:179:48:-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;41692:63:::1;::::0;-1:-1:-1;;;41692:63:48;;::::1;::::0;::::1;5994:25:150::0;;;41692:23:48::1;::::0;:53:::1;::::0;5967:18:150;;41692:63:48::1;5848:177:150::0;6348:245:0;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;46659:276:48:-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;46841:89:::1;::::0;-1:-1:-1;;;46841:89:48;;:22:::1;::::0;:50:::1;::::0;:89:::1;::::0;46892:18;;46912:17;;46841:89:::1;;;:::i;42406:224::-:0;-1:-1:-1;;;;;;;;;;;10586:27:48;8263:43;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;42559:66:::1;::::0;-1:-1:-1;;;42559:66:48;;:23:::1;::::0;:44:::1;::::0;:66:::1;::::0;42604:20;;42559:66:::1;;;:::i;13127:179::-:0;13261:39;;-1:-1:-1;;;13261:39:48;;;;;5994:25:150;;;13185:30:48;;13261:21;;:27;;5967:18:150;;13261:39:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13230:71;;;;;;;;;;:::i;33734:::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;33790:10:48::1;:8;:10::i;:::-;33734:71:::0;:::o;49687:273::-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;49867:88:::1;49924:17;49943:11;49867:56;:88::i;22090:153::-:0;22168:4;22187:51;22218:10;22230:7;22187:30;:51::i;17248:112::-;17293:13;17321:21;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17321:34:48;;;;;;;;;;;;:::i;:::-;17314:41;;17248:112;:::o;40755:217::-;-1:-1:-1;;;;;;;;;;;10586:27:48;7975:45;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;40888:79:::1;::::0;-1:-1:-1;;;40888:79:48;;6562:14:150;;6555:22;40888:79:48::1;::::0;::::1;6537:41:150::0;40888:36:48::1;::::0;:68:::1;::::0;6510:18:150;;40888:79:48::1;6397:187:150::0;23873:164:48;23954:7;23976:56;24015:10;24027:4;23976:38;:56::i;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;:::-;4158:214:::0;;:::o;31732:258:48:-;31874:7;31896:22;:52;31949:9;31966:17;31960:24;;;;;;;;:::i;3705:134:3:-;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;30329:229:48:-;30459:7;30481:72;30535:17;30481:53;:72::i;21399:204::-;21473:20;21495:16;21513:20;21548:50;21587:10;21548:38;:50::i;:::-;21541:57;;;;;;21399:204;;;;;:::o;29179:134::-;29232:16;29263:24;:43;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29263:45:48;;;;;;;;;;;;:::i;36917:167::-;37010:69;;-1:-1:-1;;;37010:69:48;;;;;35661:25:150;;;966:10:11;35702:18:150;;;35695:60;35803:4;35791:17;;35771:18;;;35764:45;35845:3;35825:18;;;35818:31;36988:7:48;35865:19:150;;;35858:30;;;36988:7:48;37010:21;;:30;;35905:19:150;;37010:69:48;35389:541:150;27675:113:48;27714:5;27734:44;:42;:44::i;:::-;:49;;;-1:-1:-1;;;;;27734:49:48;;27675:113;-1:-1:-1;27675:113:48:o;34274:355::-;34500:7;2316:19:12;:17;:19::i;:::-;34522:102:48::1;::::0;-1:-1:-1;;;34522:102:48;;:24:::1;::::0;:32:::1;::::0;:102:::1;::::0;34555:7;;34564:6;;34572:9;;34583:11;;34596:12;;34610:13;;34522:102:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34515:109:::0;34274:355;-1:-1:-1;;;;;;;34274:355:48:o;26855:168::-;26925:7;-1:-1:-1;;;;;;27012:4:48;2418:24:53;;:42;;;26947:71:48;2301:164:53;2692:145:12;2739:4;2755:25;2783:21;:19;:21::i;:::-;2821:9;;;;2692:145;-1:-1:-1;;2692:145:12:o;20864:232:48:-;20935:7;20950:49;21002:44;:42;:44::i;:::-;21059:32;;;;:20;;:32;;-1:-1:-1;;21059:32:48;;;;;20864:232::o;18513:143::-;18602:49;;-1:-1:-1;;;18602:49:48;;;;;5994:25:150;;;18580:7:48;;18602:22;;:38;;5967:18:150;;18602:49:48;5848:177:150;29882:227:48;30002:7;30024:23;:54;30085:17;30079:24;;;;;;;;:::i;33213:301::-;33335:7;33350:49;33402:44;:42;:44::i;:::-;33350:96;;33459:1;:31;;:50;33491:17;33459:50;;;;;;;;:::i;28741:155::-;28794:19;28828:44;:42;:44::i;:::-;:63;;;-1:-1:-1;;;;;28828:63:48;;28741:155;-1:-1:-1;28741:155:48:o;47232:305::-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;47427:105:::1;::::0;-1:-1:-1;;;47427:105:48;;:23:::1;::::0;:65:::1;::::0;:105:::1;::::0;47493:17;;47512:19;;47427:105:::1;;;:::i;19211:203::-:0;19306:4;19325:84;19384:6;19392:16;19325:58;:84::i;41985:183::-;-1:-1:-1;;;;;;;;;;;10586:27:48;8263:43;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;42107:56:::1;::::0;-1:-1:-1;;;42107:56:48;;:23:::1;::::0;:39:::1;::::0;:56:::1;::::0;42147:15;;42107:56:::1;;;:::i;37357:205::-:0;37484:73;;-1:-1:-1;;;37484:73:48;;37462:7;;37484:21;;:30;;:73;;37515:10;;966::11;;37541:7:48;;37550:6;;;;37484:73;;;:::i;13469:138::-;13529:4;13548:24;:52;:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;24478:163::-;24553:4;24572:21;:62;:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33617:67;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;33671:8:48::1;:6;:8::i;23141:164::-:0;23218:7;23240:60;23289:10;23240:48;:60::i;14398:151::-;14467:7;14489:55;14533:10;14489:43;:55::i;22801:157::-;22876:4;22895:58;22942:10;22895:46;:58::i;40308:291::-;-1:-1:-1;;;;;;;;;;;10586:27:48;7975:45;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;40494:100:::1;::::0;-1:-1:-1;;;40494:100:48;;:36:::1;::::0;:58:::1;::::0;:100:::1;::::0;40553:6;;40561:17;;40580:13;;40494:100:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;40308:291:::0;;;;:::o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;16970:95:48:-;17010:6;17031:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20258:124::-;20317:4;20336:41;20372:4;20336:35;:41::i;39247:139::-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;39336:21:::1;:43;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;39247:139:::0;:::o;27136:137::-;27183:13;27211:44;:42;:44::i;:::-;:57;;;;;;-1:-1:-1;;;;;27211:57:48;;;-1:-1:-1;27136:137:48:o;24884:171::-;24986:64;;-1:-1:-1;;;24986:64:48;;;;;5994:25:150;;;24967:4:48;;24986:21;;:55;;5967:18:150;;24986:64:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;50180:180::-;50290:65;;-1:-1:-1;;;50290:65:48;;50268:7;;50290:23;;:45;;:65;;50336:7;;50345:9;;50290:65;;;:::i;18139:117::-;18189:7;18211:22;:38;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8829:667::-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;8870:21:2;6431:15;;9049:1:48::1;::::0;8870:21:2;-1:-1:-1;;;6431:15:2;::::1;;;::::0;:44:::1;;-1:-1:-1::0;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;::::1;:14:::0;::::1;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1::0;;;6498:23:2::1;;;;;;;;;;;6427:105;6541:24:::0;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;::::1;6575:22:::0;-1:-1:-1;;;6575:22:2::1;::::0;;-1:-1:-1;;;;;9066:41:48;::::2;9058:97;;;::::0;-1:-1:-1;;;9058:97:48;;39712:2:150;9058:97:48::2;::::0;::::2;39694:21:150::0;39751:2;39731:18;;;39724:30;39790:34;39770:18;;;39763:62;-1:-1:-1;;;39841:18:150;;;39834:41;39892:19;;9058:97:48::2;;;;;;;;;-1:-1:-1::0;;;;;9169:42:48;::::2;9161:100;;;::::0;-1:-1:-1;;;9161:100:48;;40124:2:150;9161:100:48::2;::::0;::::2;40106:21:150::0;40163:2;40143:18;;;40136:30;40202:34;40182:18;;;40175:62;-1:-1:-1;;;40253:18:150;;;40246:43;40306:19;;9161:100:48::2;39922:409:150::0;9161:100:48::2;9267:64;::::0;-1:-1:-1;;;9267:64:48;;:23:::2;::::0;:44:::2;::::0;:64:::2;::::0;9312:18;;9267:64:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;9337:66:48::2;::::0;-1:-1:-1;;;9337:66:48;;:23:::2;::::0;-1:-1:-1;9337:45:48::2;::::0;-1:-1:-1;9337:66:48::2;::::0;9383:19;;9337:66:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;9409:82:48::2;::::0;-1:-1:-1;;;9409:82:48;;::::2;::::0;::::2;5994:25:150::0;;;9409:23:48::2;::::0;-1:-1:-1;9409:53:48::2;::::0;-1:-1:-1;5967:18:150;;9409:82:48::2;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;6618:23:2;;-1:-1:-1;;;;6618:23:2::1;::::0;;-1:-1:-1;;6656:20:2::1;::::0;-1:-1:-1;;;;;40742:31:150;;40724:50;;6656:20:2::1;::::0;40712:2:150;40697:18;6656:20:2::1;;;;;;;6291:392;10704:1:48;8829:667:::0;;;;:::o;43004:195::-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;43143:51:::1;::::0;-1:-1:-1;;;43143:51:48;;:23:::1;::::0;:38:::1;::::0;:51:::1;::::0;43182:11;;43143:51:::1;;;:::i;12796:154::-:0;12888:57;;-1:-1:-1;;;12888:57:48;;;;;5994:25:150;;;12869:4:48;;12888:24;;:45;;5967:18:150;;12888:57:48;5848:177:150;14083:145:48;14153:7;14175:48;14212:10;14175:36;:48::i;48862:201::-;-1:-1:-1;;;;;;;;;;;10586:27:48;8263:43;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;48994:64:::1;::::0;-1:-1:-1;;;48994:64:48;;:23:::1;::::0;:47:::1;::::0;:64:::1;::::0;49042:15;;48994:64:::1;;;:::i;41224:173::-:0;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;41332:60:::1;::::0;-1:-1:-1;;;41332:60:48;;::::1;::::0;::::1;5994:25:150::0;;;41332:23:48::1;::::0;:41:::1;::::0;5967:18:150;;41332:60:48::1;5848:177:150::0;43328:211:48;-1:-1:-1;;;;;;;;;;;10586:27:48;8263:43;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;43470:64:::1;::::0;-1:-1:-1;;;43470:64:48;;:23:::1;::::0;:43:::1;::::0;:64:::1;::::0;43514:19;;43470:64:::1;;;:::i;16573:184::-:0;16687:65;;-1:-1:-1;;;16687:65:48;;16665:7;;16687:21;;:45;;:65;;16733:7;;16742:9;;16687:65;;;:::i;37822:169::-;37926:60;;-1:-1:-1;;;37926:60:48;;37904:7;;37926:21;;:39;;:60;;37966:10;;37978:7;;37926:60;;;:::i;52461:322::-;52609:6;52676:4;52627:37;:35;:37::i;:::-;-1:-1:-1;;;;;52627:54:48;;52623:107;;52698:25;;-1:-1:-1;;;52698:25:48;;;;;;;;;;;52623:107;-1:-1:-1;;;;52461:322:48;;;;;;;:::o;39700:278::-;-1:-1:-1;;;;;;;;;;;10586:27:48;7975:45;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;39875:98:::1;::::0;-1:-1:-1;;;39875:98:48;;-1:-1:-1;;;;;41749:32:150;;39875:98:48::1;::::0;::::1;41731:51:150::0;-1:-1:-1;;;;;;41818:33:150;;41798:18;;;41791:61;41895:14;;41888:22;41868:18;;;41861:50;39875:36:48::1;::::0;:57:::1;::::0;41704:18:150;;39875:98:48::1;41529:388:150::0;15310:149:48;15401:53;;-1:-1:-1;;;15401:53:48;;;;;5994:25:150;;;15379:7:48;;15401:24;;:41;;5967:18:150;;15401:53:48;5848:177:150;46190:153:48;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;46286:52:48::1;::::0;-1:-1:-1;;;46286:52:48;;::::1;::::0;::::1;5994:25:150::0;;;46286:24:48::1;::::0;:40:::1;::::0;5967:18:150;;46286:52:48::1;5848:177:150::0;22414:154:48;22486:7;22508:55;22552:10;22508:43;:55::i;11976:286::-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;12132:12:::1;12146:23:::0;12173:6:::1;-1:-1:-1::0;;;;;12173:11:48::1;12193:5;12201:4;;12173:33;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12131:75;;;;12212:45;12237:7;12246:10;12212:24;:45::i;19527:194::-:0;19576:7;19591:49;19643:44;:42;:44::i;:::-;19700:16;;;;19527:194;-1:-1:-1;;19527:194:48:o;45651:165::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;45753:58:48::1;::::0;-1:-1:-1;;;45753:58:48;;::::1;::::0;::::1;5994:25:150::0;;;45753:24:48::1;::::0;:46:::1;::::0;5967:18:150;;45753:58:48::1;5848:177:150::0;26392:274:48;26557:7;26579:82;26617:7;26626:6;26634:9;26645:15;26579:37;:82::i;32832:210::-;32891:14;32913:49;32965:44;:42;:44::i;:::-;33022:15;;;-1:-1:-1;;;;;33022:15:48;;32832:210;-1:-1:-1;;32832:210:48:o;20556:140::-;20641:50;;-1:-1:-1;;;20641:50:48;;;;;5994:25:150;;;20622:4:48;;20641:22;;:38;;5967:18:150;;20641:50:48;5848:177:150;49183:206:48;-1:-1:-1;;;;;;;;;;;10586:27:48;8263:43;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;49318:66:::1;::::0;-1:-1:-1;;;49318:66:48;;:23:::1;::::0;:48:::1;::::0;:66:::1;::::0;49367:16;;49318:66:::1;;;:::i;5662:138:0:-:0;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;21747:123:48:-:0;21795:13;21816:49;;;;;;;;;;;;;;;;;;;21747:123;:::o;36277:420::-;36459:7;36487:24;:31;966:10:11;36550:41:48;2362:4:0;966:10:11;3732:207:0;:::i;36550:41:48:-;36601:7;36618:6;36634:9;36653:15;36678:6;36487:205;;;;;;;;;;;;;;;;;;;;;:::i;48448:297::-;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;48639:101:::1;::::0;-1:-1:-1;;;48639:101:48;;:23:::1;::::0;:58:::1;::::0;:101:::1;::::0;48698:17;;48717:22;;48639:101:::1;;;:::i;28519:152::-:0;28571:18;28604:44;:42;:44::i;:::-;:62;;;-1:-1:-1;;;;;28604:62:48;;28519:152;-1:-1:-1;28519:152:48:o;27421:160::-;27473:26;27514:44;:42;:44::i;:::-;:62;;;-1:-1:-1;;;;;27514:62:48;;27421:160;-1:-1:-1;27421:160:48:o;38458:124::-;38526:51;;-1:-1:-1;;;38526:51:48;;;;;43735:25:150;;;43776:18;;;43769:34;;;38526:23:48;;:31;;43708:18:150;;38526:51:48;43553:256:150;32196:215:48;32319:7;32341:65;32388:17;32341:46;:65::i;16128:154::-;16205:7;16227:50;16258:7;16267:9;16227:30;:50::i;28971:140::-;29032:7;29054:52;:50;:52::i;32517:207::-;32575:13;32596:49;32648:44;:42;:44::i;:::-;32705:14;;;-1:-1:-1;;;;;32705:14:48;;32517:207;-1:-1:-1;;32517:207:48:o;51431:270::-;51532:6;51599:4;51550:37;:35;:37::i;:::-;-1:-1:-1;;;;;51550:54:48;;51546:107;;51621:25;;-1:-1:-1;;;51621:25:48;;;;;;;;;;;51546:107;-1:-1:-1;;;;51431:270:48;;;;;;;:::o;43671:216::-;-1:-1:-1;;;;;;;;;;;10586:27:48;8263:43;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;10615:83:48;43816:66:::1;::::0;-1:-1:-1;;;43816:66:48;;:23:::1;::::0;:44:::1;::::0;:66:::1;::::0;43861:20;;43816:66:::1;;;:::i;23476:141::-:0;23540:7;23562:50;23601:10;23562:38;:50::i;17868:129::-;17950:42;;-1:-1:-1;;;17950:42:48;;;;;5994:25:150;;;17928:7:48;;17950:22;;:29;;5967:18:150;;17950:42:48;5848:177:150;17470:173:48;17510:5;17523:49;17575:44;:42;:44::i;:::-;17632:6;;;-1:-1:-1;;;;;17632:6:48;;17470:173;-1:-1:-1;;17470:173:48:o;2703:146:57:-;2816:23;;2703:146::o;3248:556:53:-;3366:49;3418:44;:42;:44::i;:::-;3366:96;;3486:6;-1:-1:-1;;;;;3472:20:53;:10;:8;:10::i;:::-;-1:-1:-1;;;;;3472:20:53;;3468:76;;3530:6;3509:28;;-1:-1:-1;;;3509:28:53;;;;;;;;:::i;3468:76::-;3567:15;-1:-1:-1;;;;;3553:29:53;:10;:8;:10::i;:::-;-1:-1:-1;;;;;3553:29:53;;3549:251;;3592:19;3624:4;;3614:15;;;;;;;:::i;:::-;;;;;;;;3592:37;;3741:53;3779:11;3748:27;:1;:16;;:25;:27::i;:::-;:42;3741:53;;3584:216;3360:444;3248:556;;;;:::o;6353:238:54:-;6430:7;6445:49;6497:44;:42;:44::i;:::-;6554:23;;;;:11;;:23;;-1:-1:-1;;6554:23:54;;;:32;-1:-1:-1;;;;;6554:32:54;;6353:238::o;2905:128:12:-;2970:8;:6;:8::i;:::-;2966:61;;;3001:15;;-1:-1:-1;;;3001:15:12;;;;;;;;;;;2966:61;2905:128::o;4148:103:0:-;4214:30;4225:4;966:10:11;11066::48::1;:30::i;2787:177:0:-:0;2920:28;;2787:177::o;4381:197::-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;3674:178:12;2563:16;:14;:16::i;:::-;3732:25:::1;3760:21;:19;:21::i;:::-;3791:17:::0;;-1:-1:-1;;3791:17:12::1;::::0;;;-1:-1:-1;3823:22:12::1;966:10:11::0;3832:12:12::1;3823:22;;;;;;:::i;:::-;;;;;;;;3722:130;3674:178::o:0;19453:768:50:-;19592:49;19644:44;:42;:44::i;:::-;19592:96;;19694:19;19716:1;:14;;;;;;;;;;-1:-1:-1;;;;;19716:14:50;-1:-1:-1;;;;;19716:24:50;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19694:48;;19748:26;19777:1;:31;;:50;19809:17;19777:50;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19748:79;;19848:63;19893:17;19848:44;:63::i;:::-;19833:140;;;;-1:-1:-1;;;19833:140:50;;;;;;;:::i;:::-;19998:11;19984;:25;19980:86;;;20026:33;;-1:-1:-1;;;20026:33:50;;;;;5994:25:150;;;5967:18;;20026:33:50;5848:177:150;19980:86:50;20076:70;20095:17;20114:18;20134:11;20076:70;;;;;;;;:::i;:::-;;;;;;;;20205:11;20152:1;:31;;:50;20184:17;20152:50;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;20152:50:50;:64;-1:-1:-1;;;;;19453:768:50:o;9261:249:59:-;9339:4;9351:49;9403:44;:42;:44::i;:::-;9460:27;;;;:15;;:27;;;;;;;;-1:-1:-1;;;;;9460:45:59;;;;;;:36;;;;:45;;-1:-1:-1;;9460:45:59;;;;;;9261:249::o;7022:250:51:-;7115:7;7130:49;7182:44;:42;:44::i;:::-;7239:22;;;;:10;;:22;;;;;;;;-1:-1:-1;;;;;7239:28:51;;;;;;;;;-1:-1:-1;;7239:28:51;;;;7022:250::o;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;50557:115:48;2362:4:0;10586:27:48;2362:4:0;966:10:11;3732:207:0;:::i;10586:27:48:-;10581:117;;10615:83;966:10:11;10658:12:48;887:96:11;6052:538:3;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;5994:25:150;;;5967:18;;6312:34:3;5848:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;16402:412:50;16508:7;16523:49;16575:44;:42;:44::i;:::-;16523:96;;16633:58;16678:12;16633:44;:58::i;:::-;16625:117;;;;-1:-1:-1;;;16625:117:50;;;;;;;:::i;:::-;16755:1;:40;;:54;16796:12;16755:54;;;;;;;;:::i;9805:422:59:-;9882:20;9904:16;9922:20;9950:49;10002:44;:42;:44::i;:::-;10052:50;10105:27;;;:15;;:27;;-1:-1:-1;;10105:27:59;;;;10146:25;;10173:21;;;;10196:25;;;;;10146;;10173:21;;-1:-1:-1;10196:25:59;-1:-1:-1;9805:422:59:o;1147:162:12:-;1270:23;;1147:162::o;3784:281:52:-;3891:4;3903:49;3955:44;:42;:44::i;:::-;-1:-1:-1;;;;;4012:30:52;;;;;;:22;;;;:30;;;;;;;;-1:-1:-1;;;;;;4012:48:52;;;;;;;;;;;;;-1:-1:-1;;3784:281:52;;;;:::o;3366:176:12:-;2316:19;:17;:19::i;:::-;3425:25:::1;3453:21;:19;:21::i;:::-;3484:16:::0;;-1:-1:-1;;3484:16:12::1;3496:4;3484:16;::::0;;3425:49;-1:-1:-1;3515:20:12::1;3522:12;966:10:11::0;;887:96;7455:254:51;7540:7;7555:49;7607:44;:42;:44::i;:::-;7664:23;;;;:11;;:23;;-1:-1:-1;;7664:23:51;;;:40;;;;7455:254::o;7142:248:54:-;7221:7;7236:49;7288:44;:42;:44::i;:::-;7345:23;;;;:11;;;;:23;;;;;;:40;;;;;7142:248;-1:-1:-1;;7142:248:54:o;8403:338:51:-;8486:4;8498:49;8550:44;:42;:44::i;:::-;8600:46;8649:23;;;:11;;:23;;-1:-1:-1;;8649:23:51;;;8711:25;;;;8685:22;;;;;:51;;;8403:338::o;10403:206:59:-;10463:4;10475:49;10527:44;:42;:44::i;:::-;-1:-1:-1;;;;;10584:20:59;;;;;;;:14;;;;:20;;-1:-1:-1;;10584:20:59;;;;;;;10403:206::o;6759:235:54:-;6831:7;6846:49;6898:44;:42;:44::i;:::-;6955:23;;;;:11;;:23;;-1:-1:-1;;6955:23:54;;;:34;;;-1:-1:-1;;;6955:34:54;;;;;6759:235::o;7914:246:51:-;7994:7;8009:49;8061:44;:42;:44::i;:::-;8118:23;;;;:11;;:23;;-1:-1:-1;;8118:23:51;;;:37;;;;7914:246::o;5407:224:32:-;5495:12;5524:7;5519:106;;5547:19;5555:10;5547:7;:19::i;:::-;5519:106;;;-1:-1:-1;5604:10:32;5597:17;;5930:269:54;6097:7;6148;6157:6;6165:9;6176:15;6137:55;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6137:55:54;;;;;;;;;6127:66;;6137:55;6127:66;;;;;5930:269;-1:-1:-1;;;;;5930:269:54:o;17318:398:50:-;17417:7;17432:49;17484:44;:42;:44::i;:::-;17432:96;;17542:58;17587:12;17542:44;:58::i;:::-;17534:117;;;;-1:-1:-1;;;17534:117:50;;;;;;;:::i;:::-;17664:1;:33;;:47;17698:12;17664:47;;;;;;;;:::i;7693:846:59:-;7770:7;7785:49;7837:44;:42;:44::i;:::-;7908:6;;;;:39;;-1:-1:-1;;;7908:39:59;;7785:96;;-1:-1:-1;7887:18:59;;-1:-1:-1;;;;;7908:6:59;;;;:19;;:39;;7928:7;;7937:9;;7908:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7966:19;;;;7887:60;;-1:-1:-1;;;;;;7966:19:59;7954:65;;8009:10;-1:-1:-1;8002:17:59;;-1:-1:-1;8002:17:59;7954:65;8118:19;;;;:63;;-1:-1:-1;;;8118:63:59;;8193:1;;-1:-1:-1;;;;;8118:19:59;;:43;;:63;;8162:7;;8171:9;;8118:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8118:77:59;;8114:174;;8212:19;;;;:69;;-1:-1:-1;;;8212:69:59;;-1:-1:-1;;;;;8212:19:59;;;;:49;;:69;;8262:7;;8271:9;;8212:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8205:76;;;;;;8114:174;8445:19;;;;:66;;-1:-1:-1;;;8445:66:59;;-1:-1:-1;;;;;8445:19:59;;;;:46;;:66;;8492:7;;8501:9;;8445:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8431:80;;;;:::i;19290:159:50:-;19351:7;19373:44;:42;:44::i;:::-;:71;;;19366:78;;19290:159;:::o;8982:228:54:-;9056:7;9071:49;9123:44;:42;:44::i;:::-;9180:25;;;;:13;;:25;;-1:-1:-1;;9180:25:54;;;;;8982:228::o;3419:358:40:-;3553:12;;3483:13;;-1:-1:-1;;;;;3553:12:40;;;;-1:-1:-1;;;3597:10:40;;;3583:24;;3579:49;;3616:12;;-1:-1:-1;;;3616:12:40;;;;;;;;;;;3579:49;-1:-1:-1;;;;;3650:23:40;;;;;;;:11;;;;:23;;;;;;;3687:30;;;3731:29;;-1:-1:-1;;;;;;3731:29:40;3746:14;;3731:29;;;;;;;;;;-1:-1:-1;3650:23:40;3419:358::o;3105:126:12:-;3168:8;:6;:8::i;:::-;3163:62;;3199:15;;-1:-1:-1;;;3199:15:12;;;;;;;;;;;39754:250:54;39855:4;;39880:17;:59;;;;;;;;:::i;:::-;;:119;;;-1:-1:-1;39964:35:54;39943:17;:56;;;;;;;;:::i;:::-;;39867:132;39754:250;-1:-1:-1;;39754:250:54:o;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;5743:516:32:-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;2186:281:24;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;4625:582:32;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;4625:582;-1:-1:-1;;4625:582:32:o;14:230:150:-;-1:-1:-1;;;;;205:32:150;;;;187:51;;175:2;160:18;;14:230::o;249:131::-;-1:-1:-1;;;;;324:31:150;;314:42;;304:70;;370:1;367;360:12;385:134;453:20;;482:31;453:20;482:31;:::i;:::-;385:134;;;:::o;524:315::-;592:6;600;653:2;641:9;632:7;628:23;624:32;621:52;;;669:1;666;659:12;621:52;705:9;692:23;682:33;;765:2;754:9;750:18;737:32;778:31;803:5;778:31;:::i;:::-;828:5;818:15;;;524:315;;;;;:::o;844:127::-;905:10;900:3;896:20;893:1;886:31;936:4;933:1;926:15;960:4;957:1;950:15;976:275;1047:2;1041:9;1112:2;1093:13;;-1:-1:-1;;1089:27:150;1077:40;;-1:-1:-1;;;;;1132:34:150;;1168:22;;;1129:62;1126:88;;;1194:18;;:::i;:::-;1230:2;1223:22;976:275;;-1:-1:-1;976:275:150:o;1256:183::-;1316:4;-1:-1:-1;;;;;1338:30:150;;1335:56;;;1371:18;;:::i;:::-;-1:-1:-1;1416:1:150;1412:14;1428:4;1408:25;;1256:183::o;1444:737::-;1498:5;1551:3;1544:4;1536:6;1532:17;1528:27;1518:55;;1569:1;1566;1559:12;1518:55;1605:6;1592:20;1631:4;1655:60;1671:43;1711:2;1671:43;:::i;:::-;1655:60;:::i;:::-;1749:15;;;1835:1;1831:10;;;;1819:23;;1815:32;;;1780:12;;;;1859:15;;;1856:35;;;1887:1;1884;1877:12;1856:35;1923:2;1915:6;1911:15;1935:217;1951:6;1946:3;1943:15;1935:217;;;2031:3;2018:17;2048:31;2073:5;2048:31;:::i;:::-;2092:18;;2130:12;;;;1968;;1935:217;;;-1:-1:-1;2170:5:150;1444:737;-1:-1:-1;;;;;;1444:737:150:o;2186:662::-;2240:5;2293:3;2286:4;2278:6;2274:17;2270:27;2260:55;;2311:1;2308;2301:12;2260:55;2347:6;2334:20;2373:4;2397:60;2413:43;2453:2;2413:43;:::i;2397:60::-;2491:15;;;2577:1;2573:10;;;;2561:23;;2557:32;;;2522:12;;;;2601:15;;;2598:35;;;2629:1;2626;2619:12;2598:35;2665:2;2657:6;2653:15;2677:142;2693:6;2688:3;2685:15;2677:142;;;2759:17;;2747:30;;2797:12;;;;2710;;2677:142;;2853:186;2901:4;-1:-1:-1;;;;;2923:30:150;;2920:56;;;2956:18;;:::i;:::-;-1:-1:-1;3022:2:150;3001:15;-1:-1:-1;;2997:29:150;3028:4;2993:40;;2853:186::o;3044:462::-;3086:5;3139:3;3132:4;3124:6;3120:17;3116:27;3106:55;;3157:1;3154;3147:12;3106:55;3193:6;3180:20;3224:48;3240:31;3268:2;3240:31;:::i;3224:48::-;3297:2;3288:7;3281:19;3343:3;3336:4;3331:2;3323:6;3319:15;3315:26;3312:35;3309:55;;;3360:1;3357;3350:12;3309:55;3425:2;3418:4;3410:6;3406:17;3399:4;3390:7;3386:18;3373:55;3473:1;3448:16;;;3466:4;3444:27;3437:38;;;;3452:7;3044:462;-1:-1:-1;;;3044:462:150:o;3511:886::-;3563:5;3616:3;3609:4;3601:6;3597:17;3593:27;3583:55;;3634:1;3631;3624:12;3583:55;3670:6;3657:20;3696:4;3720:60;3736:43;3776:2;3736:43;:::i;3720:60::-;3814:15;;;3900:1;3896:10;;;;3884:23;;3880:32;;;3845:12;;;;3924:15;;;3921:35;;;3952:1;3949;3942:12;3921:35;3988:2;3980:6;3976:15;4000:368;4016:6;4011:3;4008:15;4000:368;;;4089:17;;-1:-1:-1;;;;;4122:35:150;;4119:125;;;4198:1;4227:2;4223;4216:14;4119:125;4269:56;4321:3;4316:2;4302:11;4294:6;4290:24;4286:33;4269:56;:::i;:::-;4257:69;;-1:-1:-1;4346:12:150;;;;4033;;4000:368;;4402:1441;4628:6;4636;4644;4652;4660;4668;4676;4684;4737:3;4725:9;4716:7;4712:23;4708:33;4705:53;;;4754:1;4751;4744:12;4705:53;4781:23;;-1:-1:-1;;;;;4853:14:150;;;4850:34;;;4880:1;4877;4870:12;4850:34;4903:61;4956:7;4947:6;4936:9;4932:22;4903:61;:::i;:::-;4893:71;;5017:2;5006:9;5002:18;4989:32;4973:48;;5046:2;5036:8;5033:16;5030:36;;;5062:1;5059;5052:12;5030:36;5085:63;5140:7;5129:8;5118:9;5114:24;5085:63;:::i;:::-;5075:73;;5201:2;5190:9;5186:18;5173:32;5157:48;;5230:2;5220:8;5217:16;5214:36;;;5246:1;5243;5236:12;5214:36;5269:61;5322:7;5311:8;5300:9;5296:24;5269:61;:::i;:::-;5259:71;;5383:2;5372:9;5368:18;5355:32;5339:48;;5412:2;5402:8;5399:16;5396:36;;;5428:1;5425;5418:12;5396:36;5451:51;5494:7;5483:8;5472:9;5468:24;5451:51;:::i;:::-;5441:61;;5549:3;5538:9;5534:19;5521:33;5511:43;;5601:3;5590:9;5586:19;5573:33;5563:43;;5625:39;5659:3;5648:9;5644:19;5625:39;:::i;:::-;5615:49;;5717:3;5706:9;5702:19;5689:33;5673:49;;5747:2;5737:8;5734:16;5731:36;;;5763:1;5760;5753:12;5731:36;;5786:51;5829:7;5818:8;5807:9;5803:24;5786:51;:::i;:::-;5776:61;;;4402:1441;;;;;;;;;;;:::o;6030:173::-;6097:20;;-1:-1:-1;;;;;;6146:32:150;;6136:43;;6126:71;;6193:1;6190;6183:12;6208:184;6266:6;6319:2;6307:9;6298:7;6294:23;6290:32;6287:52;;;6335:1;6332;6325:12;6287:52;6358:28;6376:9;6358:28;:::i;6589:153::-;6667:20;;6716:1;6706:12;;6696:40;;6732:1;6729;6722:12;6747:282;6833:6;6841;6894:2;6882:9;6873:7;6869:23;6865:32;6862:52;;;6910:1;6907;6900:12;6862:52;6946:9;6933:23;6923:33;;6975:48;7019:2;7008:9;7004:18;6975:48;:::i;:::-;6965:58;;6747:282;;;;;:::o;7034:180::-;7093:6;7146:2;7134:9;7125:7;7121:23;7117:32;7114:52;;;7162:1;7159;7152:12;7114:52;-1:-1:-1;7185:23:150;;7034:180;-1:-1:-1;7034:180:150:o;7219:250::-;7304:1;7314:113;7328:6;7325:1;7322:13;7314:113;;;7404:11;;;7398:18;7385:11;;;7378:39;7350:2;7343:10;7314:113;;;-1:-1:-1;;7461:1:150;7443:16;;7436:27;7219:250::o;7474:271::-;7516:3;7554:5;7548:12;7581:6;7576:3;7569:19;7597:76;7666:6;7659:4;7654:3;7650:14;7643:4;7636:5;7632:16;7597:76;:::i;:::-;7727:2;7706:15;-1:-1:-1;;7702:29:150;7693:39;;;;7734:4;7689:50;;7474:271;-1:-1:-1;;7474:271:150:o;7750:220::-;7899:2;7888:9;7881:21;7862:4;7919:45;7960:2;7949:9;7945:18;7937:6;7919:45;:::i;7975:276::-;8063:6;8116:2;8104:9;8095:7;8091:23;8087:32;8084:52;;;8132:1;8129;8122:12;8084:52;8171:9;8158:23;8190:31;8215:5;8190:31;:::i;8256:214::-;8333:6;8386:2;8374:9;8365:7;8361:23;8357:32;8354:52;;;8402:1;8399;8392:12;8354:52;8425:39;8454:9;8425:39;:::i;8683:665::-;8778:6;8786;8794;8802;8855:3;8843:9;8834:7;8830:23;8826:33;8823:53;;;8872:1;8869;8862:12;8823:53;8911:9;8898:23;8930:31;8955:5;8930:31;:::i;:::-;8980:5;-1:-1:-1;9037:2:150;9022:18;;9009:32;9050:33;9009:32;9050:33;:::i;:::-;9102:7;-1:-1:-1;9156:2:150;9141:18;;9128:32;;-1:-1:-1;9211:2:150;9196:18;;9183:32;-1:-1:-1;;;;;9227:30:150;;9224:50;;;9270:1;9267;9260:12;9224:50;9293:49;9334:7;9325:6;9314:9;9310:22;9293:49;:::i;:::-;9283:59;;;8683:665;;;;;;;:::o;9560:897::-;9730:6;9738;9746;9754;9807:3;9795:9;9786:7;9782:23;9778:33;9775:53;;;9824:1;9821;9814:12;9775:53;9851:23;;-1:-1:-1;;;;;9923:14:150;;;9920:34;;;9950:1;9947;9940:12;9920:34;9973:61;10026:7;10017:6;10006:9;10002:22;9973:61;:::i;:::-;9963:71;;10087:2;10076:9;10072:18;10059:32;10043:48;;10116:2;10106:8;10103:16;10100:36;;;10132:1;10129;10122:12;10100:36;10155:63;10210:7;10199:8;10188:9;10184:24;10155:63;:::i;:::-;10145:73;;10271:2;10260:9;10256:18;10243:32;10227:48;;10300:2;10290:8;10287:16;10284:36;;;10316:1;10313;10306:12;10284:36;;10339:61;10392:7;10381:8;10370:9;10366:24;10339:61;:::i;:::-;9560:897;;;;-1:-1:-1;10329:71:150;;10447:2;10432:18;10419:32;;-1:-1:-1;;;9560:897:150:o;10829:127::-;10890:10;10885:3;10881:20;10878:1;10871:31;10921:4;10918:1;10911:15;10945:4;10942:1;10935:15;10961:143;11045:1;11038:5;11035:12;11025:46;;11051:18;;:::i;:::-;11080;;10961:143::o;11109:215::-;11259:2;11244:18;;11271:47;11248:9;11300:6;11271:47;:::i;11937:251::-;12088:2;12073:18;;12121:2;12110:14;;12100:48;;12128:18;;:::i;:::-;12157:25;;;11937:251;:::o;12193:282::-;12279:6;12287;12340:2;12328:9;12319:7;12315:23;12311:32;12308:52;;;12356:1;12353;12346:12;12308:52;12379:39;12408:9;12379:39;:::i;:::-;12369:49;12465:2;12450:18;;;;12437:32;;-1:-1:-1;;;12193:282:150:o;12480:118::-;12566:5;12559:13;12552:21;12545:5;12542:32;12532:60;;12588:1;12585;12578:12;12603:128;12668:20;;12697:28;12668:20;12697:28;:::i;12736:241::-;12792:6;12845:2;12833:9;12824:7;12820:23;12816:32;12813:52;;;12861:1;12858;12851:12;12813:52;12900:9;12887:23;12919:28;12941:5;12919:28;:::i;12982:455::-;13059:6;13067;13120:2;13108:9;13099:7;13095:23;13091:32;13088:52;;;13136:1;13133;13126:12;13088:52;13175:9;13162:23;13194:31;13219:5;13194:31;:::i;:::-;13244:5;-1:-1:-1;13300:2:150;13285:18;;13272:32;-1:-1:-1;;;;;13316:30:150;;13313:50;;;13359:1;13356;13349:12;13313:50;13382:49;13423:7;13414:6;13403:9;13399:22;13382:49;:::i;:::-;13372:59;;;12982:455;;;;;:::o;13766:435::-;13819:3;13857:5;13851:12;13884:6;13879:3;13872:19;13910:4;13939:2;13934:3;13930:12;13923:19;;13976:2;13969:5;13965:14;13997:1;14007:169;14021:6;14018:1;14015:13;14007:169;;;14082:13;;14070:26;;14116:12;;;;14151:15;;;;14043:1;14036:9;14007:169;;;-1:-1:-1;14192:3:150;;13766:435;-1:-1:-1;;;;;13766:435:150:o;14206:261::-;14385:2;14374:9;14367:21;14348:4;14405:56;14457:2;14446:9;14442:18;14434:6;14405:56;:::i;14472:114::-;14556:4;14549:5;14545:16;14538:5;14535:27;14525:55;;14576:1;14573;14566:12;14591:311;14657:6;14665;14718:2;14706:9;14697:7;14693:23;14689:32;14686:52;;;14734:1;14731;14724:12;14686:52;14770:9;14757:23;14747:33;;14830:2;14819:9;14815:18;14802:32;14843:29;14866:5;14843:29;:::i;15130:1166::-;15328:6;15336;15344;15352;15360;15368;15421:3;15409:9;15400:7;15396:23;15392:33;15389:53;;;15438:1;15435;15428:12;15389:53;15465:23;;-1:-1:-1;;;;;15537:14:150;;;15534:34;;;15564:1;15561;15554:12;15534:34;15587:61;15640:7;15631:6;15620:9;15616:22;15587:61;:::i;:::-;15577:71;;15701:2;15690:9;15686:18;15673:32;15657:48;;15730:2;15720:8;15717:16;15714:36;;;15746:1;15743;15736:12;15714:36;15769:63;15824:7;15813:8;15802:9;15798:24;15769:63;:::i;:::-;15759:73;;15885:2;15874:9;15870:18;15857:32;15841:48;;15914:2;15904:8;15901:16;15898:36;;;15930:1;15927;15920:12;15898:36;15953:61;16006:7;15995:8;15984:9;15980:24;15953:61;:::i;:::-;15943:71;;16067:2;16056:9;16052:18;16039:32;16023:48;;16096:2;16086:8;16083:16;16080:36;;;16112:1;16109;16102:12;16080:36;;16135:51;16178:7;16167:8;16156:9;16152:24;16135:51;:::i;:::-;16125:61;;;16233:3;16222:9;16218:19;16205:33;16195:43;;16285:3;16274:9;16270:19;16257:33;16247:43;;15130:1166;;;;;;;;:::o;16538:319::-;16605:6;16613;16666:2;16654:9;16645:7;16641:23;16637:32;16634:52;;;16682:1;16679;16672:12;16634:52;16721:9;16708:23;16740:31;16765:5;16740:31;:::i;:::-;16790:5;-1:-1:-1;16814:37:150;16847:2;16832:18;;16814:37;:::i;17137:348::-;17189:8;17199:6;17253:3;17246:4;17238:6;17234:17;17230:27;17220:55;;17271:1;17268;17261:12;17220:55;-1:-1:-1;17294:20:150;;-1:-1:-1;;;;;17326:30:150;;17323:50;;;17369:1;17366;17359:12;17323:50;17406:4;17398:6;17394:17;17382:29;;17458:3;17451:4;17442:6;17434;17430:19;17426:30;17423:39;17420:59;;;17475:1;17472;17465:12;17420:59;17137:348;;;;;:::o;17490:610::-;17577:6;17585;17593;17601;17654:2;17642:9;17633:7;17629:23;17625:32;17622:52;;;17670:1;17667;17660:12;17622:52;17706:9;17693:23;17683:33;;17766:2;17755:9;17751:18;17738:32;17779:29;17802:5;17779:29;:::i;:::-;17827:5;-1:-1:-1;17883:2:150;17868:18;;17855:32;-1:-1:-1;;;;;17899:30:150;;17896:50;;;17942:1;17939;17932:12;17896:50;17981:59;18032:7;18023:6;18012:9;18008:22;17981:59;:::i;:::-;17490:610;;;;-1:-1:-1;18059:8:150;-1:-1:-1;;;;17490:610:150:o;18105:1098::-;18203:6;18211;18219;18272:2;18260:9;18251:7;18247:23;18243:32;18240:52;;;18288:1;18285;18278:12;18240:52;18327:9;18314:23;18346:31;18371:5;18346:31;:::i;:::-;18396:5;-1:-1:-1;18420:2:150;18458:18;;;18445:32;-1:-1:-1;;;;;18489:30:150;;18486:50;;;18532:1;18529;18522:12;18486:50;18555:22;;18608:4;18600:13;;18596:27;-1:-1:-1;18586:55:150;;18637:1;18634;18627:12;18586:55;18673:2;18660:16;18696:60;18712:43;18752:2;18712:43;:::i;18696:60::-;18790:15;;;18872:1;18868:10;;;;18860:19;;18856:28;;;18821:12;;;;18896:19;;;18893:39;;;18928:1;18925;18918:12;18893:39;18952:11;;;;18972:147;18988:6;18983:3;18980:15;18972:147;;;19054:22;19072:3;19054:22;:::i;:::-;19042:35;;19005:12;;;;19097;;;;18972:147;;;19138:5;19128:15;;;;;;;19162:35;19193:2;19182:9;19178:18;19162:35;:::i;:::-;19152:45;;18105:1098;;;;;:::o;19892:315::-;19960:6;19968;20021:2;20009:9;20000:7;19996:23;19992:32;19989:52;;;20037:1;20034;20027:12;19989:52;20076:9;20063:23;20095:31;20120:5;20095:31;:::i;20212:513::-;20346:6;20354;20362;20415:2;20403:9;20394:7;20390:23;20386:32;20383:52;;;20431:1;20428;20421:12;20383:52;20470:9;20457:23;20489:31;20514:5;20489:31;:::i;:::-;20539:5;-1:-1:-1;20596:2:150;20581:18;;20568:32;20609:33;20568:32;20609:33;:::i;:::-;20212:513;;20661:7;;-1:-1:-1;;;20715:2:150;20700:18;;;;20687:32;;20212:513::o;21574:1071::-;21728:6;21736;21744;21752;21760;21813:3;21801:9;21792:7;21788:23;21784:33;21781:53;;;21830:1;21827;21820:12;21781:53;21869:9;21856:23;21888:31;21913:5;21888:31;:::i;:::-;21938:5;-1:-1:-1;21995:2:150;21980:18;;21967:32;22008:33;21967:32;22008:33;:::i;:::-;22060:7;-1:-1:-1;22118:2:150;22103:18;;22090:32;-1:-1:-1;;;;;22171:14:150;;;22168:34;;;22198:1;22195;22188:12;22168:34;22221:61;22274:7;22265:6;22254:9;22250:22;22221:61;:::i;:::-;22211:71;;22335:2;22324:9;22320:18;22307:32;22291:48;;22364:2;22354:8;22351:16;22348:36;;;22380:1;22377;22370:12;22348:36;22403:63;22458:7;22447:8;22436:9;22432:24;22403:63;:::i;:::-;22393:73;;22519:3;22508:9;22504:19;22491:33;22475:49;;22549:2;22539:8;22536:16;22533:36;;;22565:1;22562;22555:12;22533:36;;22588:51;22631:7;22620:8;22609:9;22605:24;22588:51;:::i;:::-;22578:61;;;21574:1071;;;;;;;;:::o;22650:454::-;22723:6;22731;22739;22792:2;22780:9;22771:7;22767:23;22763:32;22760:52;;;22808:1;22805;22798:12;22760:52;22847:9;22834:23;22866:31;22891:5;22866:31;:::i;:::-;22916:5;-1:-1:-1;22940:37:150;22973:2;22958:18;;22940:37;:::i;:::-;22930:47;;23029:2;23018:9;23014:18;23001:32;23042:30;23064:7;23042:30;:::i;:::-;23091:7;23081:17;;;22650:454;;;;;:::o;23109:613::-;23197:6;23205;23213;23221;23274:2;23262:9;23253:7;23249:23;23245:32;23242:52;;;23290:1;23287;23280:12;23242:52;23329:9;23316:23;23348:31;23373:5;23348:31;:::i;:::-;23398:5;-1:-1:-1;23450:2:150;23435:18;;23422:32;;-1:-1:-1;23505:2:150;23490:18;;23477:32;-1:-1:-1;;;;;23521:30:150;;23518:50;;;23564:1;23561;23554:12;24235:1097;24424:6;24432;24440;24448;24456;24509:3;24497:9;24488:7;24484:23;24480:33;24477:53;;;24526:1;24523;24516:12;24477:53;24553:23;;-1:-1:-1;;;;;24625:14:150;;;24622:34;;;24652:1;24649;24642:12;24622:34;24675:61;24728:7;24719:6;24708:9;24704:22;24675:61;:::i;:::-;24665:71;;24789:2;24778:9;24774:18;24761:32;24745:48;;24818:2;24808:8;24805:16;24802:36;;;24834:1;24831;24824:12;24802:36;24857:63;24912:7;24901:8;24890:9;24886:24;24857:63;:::i;:::-;24847:73;;24973:2;24962:9;24958:18;24945:32;24929:48;;25002:2;24992:8;24989:16;24986:36;;;25018:1;25015;25008:12;24986:36;25041:61;25094:7;25083:8;25072:9;25068:24;25041:61;:::i;:::-;25031:71;;25149:2;25138:9;25134:18;25121:32;25111:42;;25206:3;25195:9;25191:19;25178:33;25162:49;;25236:2;25226:8;25223:16;25220:36;;;25252:1;25249;25242:12;25817:248;25885:6;25893;25946:2;25934:9;25925:7;25921:23;25917:32;25914:52;;;25962:1;25959;25952:12;25914:52;-1:-1:-1;;25985:23:150;;;26055:2;26040:18;;;26027:32;;-1:-1:-1;25817:248:150:o;26301:734::-;26405:6;26413;26421;26429;26437;26490:3;26478:9;26469:7;26465:23;26461:33;26458:53;;;26507:1;26504;26497:12;26458:53;26546:9;26533:23;26565:31;26590:5;26565:31;:::i;:::-;26615:5;-1:-1:-1;26672:2:150;26657:18;;26644:32;26685:33;26644:32;26685:33;:::i;:::-;26737:7;-1:-1:-1;26791:2:150;26776:18;;26763:32;;-1:-1:-1;26842:2:150;26827:18;;26814:32;;-1:-1:-1;26897:3:150;26882:19;;26869:33;-1:-1:-1;;;;;26914:30:150;;26911:50;;;26957:1;26954;26947:12;26911:50;26980:49;27021:7;27012:6;27001:9;26997:22;26980:49;:::i;27543:282::-;27725:25;;;-1:-1:-1;;;;;27786:32:150;27781:2;27766:18;;27759:60;27713:2;27698:18;;27543:282::o;27830:461::-;27883:3;27921:5;27915:12;27948:6;27943:3;27936:19;27974:4;28003:2;27998:3;27994:12;27987:19;;28040:2;28033:5;28029:14;28061:1;28071:195;28085:6;28082:1;28079:13;28071:195;;;28150:13;;-1:-1:-1;;;;;28146:39:150;28134:52;;28206:12;;;;28241:15;;;;28182:1;28100:9;28071:195;;28296:615;28347:3;28385:5;28379:12;28412:6;28407:3;28400:19;28438:4;28479:2;28474:3;28470:12;28504:11;28531;28524:18;;28581:6;28578:1;28574:14;28567:5;28563:26;28551:38;;28623:2;28616:5;28612:14;28644:1;28654:231;28668:6;28665:1;28662:13;28654:231;;;28739:5;28733:4;28729:16;28724:3;28717:29;28767:38;28800:4;28791:6;28785:13;28767:38;:::i;:::-;28863:12;;;;28759:46;-1:-1:-1;28828:15:150;;;;28690:1;28683:9;28654:231;;;-1:-1:-1;28901:4:150;;28296:615;-1:-1:-1;;;;;;;28296:615:150:o;28916:1284::-;29420:4;29449:3;29479:2;29468:9;29461:21;29505:56;29557:2;29546:9;29542:18;29534:6;29505:56;:::i;:::-;29491:70;;29609:9;29601:6;29597:22;29592:2;29581:9;29577:18;29570:50;29643:44;29680:6;29672;29643:44;:::i;:::-;29629:58;;29735:9;29727:6;29723:22;29718:2;29707:9;29703:18;29696:50;29769:42;29804:6;29796;29769:42;:::i;:::-;29755:56;;29859:9;29851:6;29847:22;29842:2;29831:9;29827:18;29820:50;29893:33;29919:6;29911;29893:33;:::i;:::-;29957:3;29942:19;;29935:35;;;30001:3;29986:19;;29979:35;;;-1:-1:-1;;;;;30051:32:150;;30045:3;30030:19;;30023:61;30121:22;;;30115:3;30100:19;;30093:51;29879:47;-1:-1:-1;30161:33:150;29879:47;30179:6;30161:33;:::i;:::-;30153:41;28916:1284;-1:-1:-1;;;;;;;;;;;28916:1284:150:o;30205:184::-;30275:6;30328:2;30316:9;30307:7;30303:23;30299:32;30296:52;;;30344:1;30341;30334:12;30296:52;-1:-1:-1;30367:16:150;;30205:184;-1:-1:-1;30205:184:150:o;30662:294::-;30848:2;30833:18;;30860:47;30837:9;30889:6;30860:47;:::i;:::-;30943:6;30938:2;30927:9;30923:18;30916:34;30662:294;;;;;:::o;31151:380::-;31230:1;31226:12;;;;31273;;;31294:61;;31348:4;31340:6;31336:17;31326:27;;31294:61;31401:2;31393:6;31390:14;31370:18;31367:38;31364:161;;31447:10;31442:3;31438:20;31435:1;31428:31;31482:4;31479:1;31472:15;31510:4;31507:1;31500:15;31364:161;;31151:380;;;:::o;31978:864::-;-1:-1:-1;;;;;32395:32:150;;32377:51;;32415:3;32459:2;32444:18;;32437:31;;;-1:-1:-1;;32491:57:150;;32528:19;;32520:6;32491:57;:::i;:::-;32596:9;32588:6;32584:22;32579:2;32568:9;32564:18;32557:50;32630:44;32667:6;32659;32630:44;:::i;:::-;32616:58;;32722:9;32714:6;32710:22;32705:2;32694:9;32690:18;32683:50;32750:42;32785:6;32777;32750:42;:::i;:::-;32742:50;;;32829:6;32823:3;32812:9;32808:19;32801:35;31978:864;;;;;;;;:::o;32847:247::-;32915:6;32968:2;32956:9;32947:7;32943:23;32939:32;32936:52;;;32984:1;32981;32974:12;32936:52;33016:9;33010:16;33035:29;33058:5;33035:29;:::i;33099:294::-;33297:25;;;33285:2;33270:18;;33331:56;33383:2;33368:18;;33360:6;33331:56;:::i;33650:648::-;33730:6;33783:2;33771:9;33762:7;33758:23;33754:32;33751:52;;;33799:1;33796;33789:12;33751:52;33826:16;;-1:-1:-1;;;;;33854:30:150;;33851:50;;;33897:1;33894;33887:12;33851:50;33920:22;;33973:4;33965:13;;33961:27;-1:-1:-1;33951:55:150;;34002:1;33999;33992:12;33951:55;34031:2;34025:9;34056:48;34072:31;34100:2;34072:31;:::i;34056:48::-;34127:2;34120:5;34113:17;34167:7;34162:2;34157;34153;34149:11;34145:20;34142:33;34139:53;;;34188:1;34185;34178:12;34139:53;34201:67;34265:2;34260;34253:5;34249:14;34244:2;34240;34236:11;34201:67;:::i;34503:881::-;34598:6;34629:2;34672;34660:9;34651:7;34647:23;34643:32;34640:52;;;34688:1;34685;34678:12;34640:52;34715:16;;-1:-1:-1;;;;;34743:30:150;;34740:50;;;34786:1;34783;34776:12;34740:50;34809:22;;34862:4;34854:13;;34850:27;-1:-1:-1;34840:55:150;;34891:1;34888;34881:12;34840:55;34920:2;34914:9;34943:60;34959:43;34999:2;34959:43;:::i;34943:60::-;35037:15;;;35119:1;35115:10;;;;35107:19;;35103:28;;;35068:12;;;;35143:19;;;35140:39;;;35175:1;35172;35165:12;35140:39;35199:11;;;;35219:135;35235:6;35230:3;35227:15;35219:135;;;35301:10;;35289:23;;35252:12;;;;35332;;;;35219:135;;35935:1002;36400:3;36389:9;36382:22;36363:4;36427:57;36479:3;36468:9;36464:19;36456:6;36427:57;:::i;:::-;36532:9;36524:6;36520:22;36515:2;36504:9;36500:18;36493:50;36566:44;36603:6;36595;36566:44;:::i;:::-;36552:58;;36658:9;36650:6;36646:22;36641:2;36630:9;36626:18;36619:50;36692:42;36727:6;36719;36692:42;:::i;:::-;36678:56;;36782:9;36774:6;36770:22;36765:2;36754:9;36750:18;36743:50;36810:33;36836:6;36828;36810:33;:::i;:::-;36874:3;36859:19;;36852:35;;;;-1:-1:-1;;36918:3:150;36903:19;36896:35;36802:41;35935:1002;-1:-1:-1;;;;35935:1002:150:o;37181:649::-;37410:25;;;-1:-1:-1;;;;;37471:32:150;;37466:2;37451:18;;37444:60;37552:4;37540:17;;37535:2;37520:18;;37513:45;37594:3;37589:2;37574:18;;37567:31;;;37614:19;;37607:35;;;37635:6;37685;37491:3;37664:19;;37651:49;37750:1;37720:22;;;37744:3;37716:32;;;37709:43;;;;37813:2;37792:15;;;-1:-1:-1;;37788:29:150;37773:45;37769:55;;37181:649;-1:-1:-1;;;;37181:649:150:o;37835:245::-;37902:6;37955:2;37943:9;37934:7;37930:23;37926:32;37923:52;;;37971:1;37968;37961:12;37923:52;38003:9;37997:16;38022:28;38044:5;38022:28;:::i;38085:844::-;-1:-1:-1;;;;;38361:32:150;;38343:51;;38331:2;38413;38431:18;;;38424:30;;;38503:13;;38316:18;;;38525:22;;;38283:4;;38605:15;;;;38413:2;38578:3;38563:19;;;38283:4;38648:196;38662:6;38659:1;38656:13;38648:196;;;38727:13;;-1:-1:-1;;;;;;38723:40:150;38711:53;;38819:15;;;;38784:12;;;;38684:1;38677:9;38648:196;;;38652:3;;38861;38853:11;;;;;38914:6;38907:14;38900:22;38895:2;38884:9;38880:18;38873:50;38085:844;;;;;;:::o;38934:284::-;39003:6;39056:2;39044:9;39035:7;39031:23;39027:32;39024:52;;;39072:1;39069;39062:12;39024:52;39104:9;39098:16;39154:14;39147:5;39143:26;39136:5;39133:37;39123:65;;39184:1;39181;39174:12;39223:282;-1:-1:-1;;;;;39423:32:150;;;;39405:51;;39487:2;39472:18;;39465:34;39393:2;39378:18;;39223:282::o;41922:271::-;42105:6;42097;42092:3;42079:33;42061:3;42131:16;;42156:13;;;42131:16;41922:271;-1:-1:-1;41922:271:150:o;42438:1110::-;-1:-1:-1;;;;;42925:32:150;;42907:51;;43001:14;;42994:22;42989:2;42974:18;;42967:50;43053:3;43048:2;43033:18;;43026:31;;;-1:-1:-1;;43080:57:150;;43117:19;;43109:6;43080:57;:::i;:::-;43185:9;43177:6;43173:22;43168:2;43157:9;43153:18;43146:50;43219:44;43256:6;43248;43219:44;:::i;:::-;43205:58;;43312:9;43304:6;43300:22;43294:3;43283:9;43279:19;43272:51;43346:42;43381:6;43373;43346:42;:::i;:::-;43332:56;;43425:6;43419:3;43408:9;43404:19;43397:35;43481:9;43473:6;43469:22;43463:3;43452:9;43448:19;43441:51;43509:33;43535:6;43527;43509:33;:::i;:::-;43501:41;42438:1110;-1:-1:-1;;;;;;;;;;42438:1110:150:o;44093:410::-;44295:2;44277:21;;;44334:2;44314:18;;;44307:30;44373:34;44368:2;44353:18;;44346:62;-1:-1:-1;;;44439:2:150;44424:18;;44417:44;44493:3;44478:19;;44093:410::o;44508:357::-;44714:2;44699:18;;44726:47;44703:9;44755:6;44726:47;:::i;:::-;44804:2;44789:18;;44782:34;;;;44847:2;44832:18;44825:34;44508:357;;-1:-1:-1;44508:357:150:o;45059:1625::-;45451:3;45464:22;;;45535:13;;45436:19;;;45557:22;;;45403:4;;45633;;45610:3;45595:19;;;45660:15;;;45403:4;45703:195;45717:6;45714:1;45711:13;45703:195;;;45782:13;;-1:-1:-1;;;;;45778:39:150;45766:52;;45838:12;;;;45873:15;;;;45814:1;45732:9;45703:195;;;45707:3;;;45943:9;45938:3;45934:19;45929:2;45918:9;45914:18;45907:47;45977:41;46014:3;46006:6;45977:41;:::i;:::-;45963:55;;46066:9;46058:6;46054:22;46049:2;46038:9;46034:18;46027:50;46099:6;46136;46130:13;46167:8;46159:6;46152:24;46206:2;46198:6;46194:15;46185:24;;46267:2;46255:8;46252:1;46248:16;46240:6;46236:29;46232:38;46307:2;46299:6;46295:15;46330:1;46340:272;46356:8;46351:3;46348:17;46340:272;;;46454:2;46450:7;46441:6;46433;46429:19;46425:33;46418:5;46411:48;46482:42;46517:6;46506:8;46500:15;46482:42;:::i;:::-;46588:14;;;;46472:52;-1:-1:-1;46549:17:150;;;;46384:1;46375:11;46340:272;;;46344:3;;46629:6;46621:14;;;;;;;46671:6;46666:2;46655:9;46651:18;46644:34;45059:1625;;;;;;;:::o;46968:251::-;47038:6;47091:2;47079:9;47070:7;47066:23;47062:32;47059:52;;;47107:1;47104;47097:12;47059:52;47139:9;47133:16;47158:31;47183:5;47158:31;:::i;47224:222::-;47289:9;;;47310:10;;;47307:133;;;47362:10;47357:3;47353:20;47350:1;47343:31;47397:4;47394:1;47387:15;47425:4;47422:1;47415:15;47451:287;47580:3;47618:6;47612:13;47634:66;47693:6;47688:3;47681:4;47673:6;47669:17;47634:66;:::i;:::-;47716:16;;;;;47451:287;-1:-1:-1;;47451:287:150:o"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","COUNTING_MODE()":"dd4e2ba5","DEFAULT_ADMIN_ROLE()":"a217fddf","GOVERNOR_FUNCTIONS_SETTINGS_ROLE()":"bd5aefea","PAUSER_ROLE()":"e63ab1e9","PROPOSAL_EXECUTOR_ROLE()":"36d23a4c","PROPOSAL_STATE_MANAGER_ROLE()":"fd4fd6e1","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","b3tr()":"582a486a","canProposalStartInNextRound()":"81ab2353","cancel(address[],uint256[],bytes[],bytes32,string)":"de65f41a","castNavigatorVote(uint256,address)":"b6e9eff4","castVote(uint256,uint8)":"56781388","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","clock()":"91ddadf4","deposit(uint256,uint256)":"e2bbb158","depositThresholdByProposalType(uint8)":"6b6a0704","depositThresholdCapByProposalType(uint8)":"e4ec85d4","depositThresholdPercentageByProposalType(uint8)":"542d6db5","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getActiveProposals()":"5584c4f9","getDepositVotingPower(address,uint256)":"a56b5765","getGalaxyMemberContract()":"f03a98d5","getGrantsManagerContract()":"cf09f8bf","getProposalDeposits(uint256)":"c220f2f5","getQuadraticVotingPower(address,uint256)":"b69d417b","getRequiredGMLevelByProposalType(uint8)":"6dd139be","getRoleAdmin(bytes32)":"248a9ca3","getTimelockId(uint256)":"f744f119","getUserDeposit(uint256,address)":"4e055244","getVotes(address,uint256)":"eb9019d4","governanceSkipWindowBlocks()":"ee8a948b","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","initializeV10(address,address,uint256)":"a832918c","isFunctionWhitelisted(address,bytes4)":"74a55a51","isQuadraticVotingDisabledForCurrentRound()":"81c0d6df","isQuadraticVotingDisabledForRound(uint256)":"a45aa313","markAsCompleted(uint256)":"c0a6026c","markAsInDevelopment(uint256)":"1e6b4992","minVotingDelay()":"c40ffbf6","name()":"06fdde03","navigatorRegistry()":"e125f74e","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","pause()":"8456cb59","paused()":"5c975abb","proposalDeadline(uint256)":"c01f9e37","proposalDepositReached(uint256)":"8d5a3f67","proposalDepositThreshold(uint256)":"88fb07a5","proposalEta(uint256)":"ab58fb8e","proposalNeedsQueuing(uint256)":"a9a95294","proposalProposer(uint256)":"143489d0","proposalSnapshot(uint256)":"2d63f693","proposalStartRound(uint256)":"8ced2a11","proposalTotalVotes(uint256)":"60463d68","proposalType(uint256)":"2a09c772","proposalVotes(uint256)":"544ffc9c","propose(address[],uint256[],bytes[],string,uint256,uint256)":"58c839bc","proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)":"013b1088","proxiableUUID()":"52d1902d","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","quorum(uint256)":"f8ce560a","quorumByProposalType(uint256,uint8)":"026865cc","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumNumeratorByProposalType(uint256,uint8)":"5273e74b","quorumNumeratorByProposalType(uint8)":"0eddee30","quorumReached(uint256)":"d4a8dd98","relay(address,uint256,bytes)":"c28bc2fa","relayerRewardsPool()":"6e8a1823","renounceRole(bytes32,address)":"36568abe","resetDevelopmentState(uint256)":"c429bd82","revokeRole(bytes32,address)":"d547741f","setGalaxyMember(address)":"ae0b8da8","setGovernanceSkipWindowBlocks(uint256)":"3397d78d","setGrantsManager(address)":"d53c74c1","setIsFunctionRestrictionEnabled(bool)":"4c5ead08","setMinVotingDelay(uint256)":"b26a9509","setNavigatorRegistry(address)":"f530108f","setProposalTypeDepositThresholdCap(uint256,uint8)":"e09c8d44","setProposalTypeDepositThresholdPercentage(uint256,uint8)":"726da5fd","setProposalTypeVotingThreshold(uint256,uint8)":"038f9b65","setRelayerRewardsPool(address)":"0dd8614c","setRequiredGMLevelByProposalType(uint8,uint256)":"406ced84","setVeBetterPassport(address)":"b3c93dab","setVoterRewards(address)":"7a4cce6d","setWhitelistFunction(address,bytes4,bool)":"be9bd92b","setWhitelistFunctions(address,bytes4[],bool)":"8e828cb4","setXAllocationVoting(address)":"3d47fe94","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","timelock()":"d33219b4","timelockSalt(bytes32)":"5c573d44","toggleQuadraticVoting()":"9c17e7b3","token()":"fc0c546a","unpause()":"3f4ba83a","updateQuorumNumerator(uint256)":"06f3f9e6","updateQuorumNumeratorByType(uint256,uint8)":"3d1ac63e","updateTimelock(address)":"a890c910","upgradeToAndCall(address,bytes)":"4f1ef286","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","votingThresholdByProposalType(uint8)":"1caf3474","withdraw(uint256,address)":"00f714ce","xAllocationVoting()":"e205aeb0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"DelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gmLevel\",\"type\":\"uint256\"}],\"name\":\"GMLevelAboveMaxLevel\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gmLevel\",\"type\":\"uint256\"}],\"name\":\"GMLevelAboveMaxLevel\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernanceSkipWindowNotReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorAlreadyQueuedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"GovernorDepositThresholdNotInRange\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorDisabledDeposit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"GovernorInsufficientProposerVotes\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidDepositAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldatas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"values\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposalLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredWeight\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidStartRound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidVoteType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"}],\"name\":\"GovernorNoDepositToWithdraw\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNotQueuedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"explanation\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorQueueNotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"GovernorRestrictedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"GovernorRestrictedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GranteeCannotDepositOwnGrant\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorDecisionNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"QueueEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UnauthorizedAccess\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThresholdCap\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThresholdCap\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdCapSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdSetV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"FunctionWhitelisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorGovernanceVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"canceler\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"ProposalCanceledWithReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundIdVoteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"ProposalCreatedWithType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalDevelopmentStateReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalInDevelopment\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"etaSeconds\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalWithdraw\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"name\":\"QuadraticVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"QuorumNumeratorUpdatedByType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldRequiredGMLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newRequiredGMLevel\",\"type\":\"uint256\"}],\"name\":\"RequiredGMLevelSet\",\"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\":\"oldTimelock\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"TimelockChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"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\":\"oldVeBetterPassport\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"walletAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"VotingPowerSeeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSetV2\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOVERNOR_FUNCTIONS_SETTINGS_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROPOSAL_EXECUTOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROPOSAL_STATE_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canProposalStartInNextRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"cancel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"castNavigatorVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdCapByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdPercentageByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveProposals\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGalaxyMemberContract\",\"outputs\":[{\"internalType\":\"contract IGalaxyMember\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGrantsManagerContract\",\"outputs\":[{\"internalType\":\"contract IGrantsManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalDeposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getQuadraticVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"getRequiredGMLevelByProposalType\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getTimelockId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"governanceSkipWindowBlocks\",\"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\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"_navigatorRegistry\",\"type\":\"address\"},{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"_relayerRewardsPool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_governanceSkipWindowBlocks\",\"type\":\"uint256\"}],\"name\":\"initializeV10\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"isFunctionWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isQuadraticVotingDisabledForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isQuadraticVotingDisabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"markAsCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"markAsInDevelopment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minVotingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"navigatorRegistry\",\"outputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDepositReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDepositThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalNeedsQueuing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalStartRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalTotalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"againstVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"forVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"abstainVotes\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"startRoundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"depositAmount\",\"type\":\"uint256\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"startRoundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"depositAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"milestonesDetailsMetadataURI\",\"type\":\"string\"}],\"name\":\"proposeGrant\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumNumeratorByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumNumeratorByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"resetDevelopmentState\",\"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\":\"contract IGalaxyMember\",\"name\":\"newGalaxyMember\",\"type\":\"address\"}],\"name\":\"setGalaxyMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"setGovernanceSkipWindowBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IGrantsManager\",\"name\":\"newGrantsManager\",\"type\":\"address\"}],\"name\":\"setGrantsManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"name\":\"setIsFunctionRestrictionEnabled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newMinVotingDelay\",\"type\":\"uint256\"}],\"name\":\"setMinVotingDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"newNavigatorRegistry\",\"type\":\"address\"}],\"name\":\"setNavigatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDepositThresholdCap\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"setProposalTypeDepositThresholdCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"setProposalTypeDepositThresholdPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"setProposalTypeVotingThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"newRelayerRewardsPool\",\"type\":\"address\"}],\"name\":\"setRelayerRewardsPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"newGMWeight\",\"type\":\"uint256\"}],\"name\":\"setRequiredGMLevelByProposalType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"setVeBetterPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"newVoterRewards\",\"type\":\"address\"}],\"name\":\"setVoterRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"setWhitelistFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"functionSelectors\",\"type\":\"bytes4[]\"},{\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"setWhitelistFunctions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"newXAllocationVoting\",\"type\":\"address\"}],\"name\":\"setXAllocationVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timelock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"timelockSalt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"toggleQuadraticVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IVOT3\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"updateQuorumNumeratorByType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TimelockControllerUpgradeable\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"updateTimelock\",\"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\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"votingThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationVoting\",\"outputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"The contract is upgradeable and uses the UUPS pattern. All logic is stored in libraries. ------------------ VERSION 2 ------------------ - Replaced onlyGovernance modifier with onlyRoleOrGovernance which checks if the caller has the DEFAULT_ADMIN_ROLE role or if the function is called through a governance proposal ------------------ VERSION 3 ------------------ - Added the ability to toggle the quadratic voting mechanism on and off ------------------ VERSION 4 ------------------ - Integrated VeBetterPassport contract ------------------ VERSION 5 ------------------ - Difference from V4: Updated all libraries to use new version of IVoterRewards that supports GM Upgrades. ------------------ VERSION 6 ------------------ - Updated all libraries to use new version of IVoterRewards that supports GM Rewards Pool. ------------------ VERSION 7 ------------------ - Added proposal type concept, STANDARD (0n) for existing proposals and GRANT (1n) for new grants proposals. - Added deposit threshold cap based on proposal type. ------------------ VERSION 8 ------------------ - No changes from V7 (placeholder for future reference). ------------------ VERSION 9 ------------------ - Added reason parameter to cancel function for providing cancellation rationale. - Added ProposalCanceledWithReason event. ------------------ VERSION 10 ------------------ - Refactored from module inheritance to library architecture for contract size optimization - Added navigator delegation voting via castNavigatorVote(proposalId, citizen) - New storage: GovernorStorage.navigatorRegistry (INavigatorRegistry), relayerRewardsPool (IRelayerRewardsPool),   proposalsForRound mapping (round-indexed proposal tracking for relayer expected-actions) - New events: NavigatorGovernanceVoteCast - New errors: NotDelegatedToNavigator, NavigatorDecisionNotSet (in GovernorVotesLogicV10) - New initializer: initializeV10(INavigatorRegistry, IRelayerRewardsPool, uint256 governanceSkipWindowBlocks) \\u2014 reinitializer(8) - governanceSkipWindowBlocks moved from constant to storage (GovernorStorage), configurable per env - setGovernanceSkipWindowBlocks(uint256) setter via GovernorConfiguratorV10 - setNavigatorRegistry() / setRelayerRewardsPool() setters via GovernorConfiguratorV10 - GovernorVotesLogicV10.getVotes() returns delegated amount when citizen has active navigator at snapshot - Dead navigator (deactivated/exiting) = delegation void, returns full VOT3 balance - castNavigatorVote uses snapshot-based navigator lookup (getNavigatorAtTimepoint) - castVote double-vote prevention: blocks manual voting if delegated at proposal snapshot with alive navigator - Uses checkpointed citizenToNavigator and isDeactivatedAtTimepoint for snapshot consistency\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"DelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is delegated to a navigator and cannot vote manually\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"GMLevelAboveMaxLevel(uint256)\":[{\"details\":\"The GM level is not in the valid range - 0 to max level.\"},{\"details\":\"Thrown when the proposer does not fit the requirement (GM weight ATM)\"}],\"GovernanceSkipWindowNotReached(uint256)\":[{\"details\":\"The governance skip window has not been reached yet\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAlreadyQueuedProposal(uint256)\":[{\"details\":\"The proposal has already been queued.\"}],\"GovernorDepositThresholdNotInRange(uint256)\":[{\"details\":\"The deposit threshold is not in the valid range for a percentage - 0 to 100.\"}],\"GovernorDisabledDeposit()\":[{\"details\":\"Token deposits are disabled in this contract.\"}],\"GovernorInsufficientProposerVotes(address,uint256,uint256)\":[{\"details\":\"The `proposer` does not have the required votes to create a proposal.\"}],\"GovernorInvalidDepositAmount()\":[{\"details\":\"The deposit amount must be greater than 0.\"}],\"GovernorInvalidProposalLength(uint256,uint256,uint256)\":[{\"details\":\"Empty proposal or a mismatch between the parameters length for a proposal call.\"}],\"GovernorInvalidProposer(address,uint256)\":[{\"details\":\"The GM level is not in the valid range - 0 to max level.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum numerator is greater than the quorum denominator.\"}],\"GovernorInvalidStartRound(uint256)\":[{\"details\":\"The round when proposal should start is not valid.\"}],\"GovernorInvalidVoteType()\":[{\"details\":\"The vote type used is not valid for the corresponding counting module.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNoDepositToWithdraw(uint256,address)\":[{\"details\":\"There is no deposit to withdraw.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"The `proposalId` doesn't exist.\"}],\"GovernorNotQueuedProposal(uint256)\":[{\"details\":\"The proposal hasn't been queued yet.\"}],\"GovernorOnlyExecutor(address)\":[{\"details\":\"Thrown when the `account` is not the governance executor.\",\"params\":{\"account\":\"The address that attempted the unauthorized action.\"}},{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorOnlyProposer(address)\":[{\"details\":\"The `account` is not a proposer.\"}],\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"details\":\"Thrown when the personhood verification fails.\",\"params\":{\"explanation\":\"The reason for the failure.\",\"voter\":\"The address of the voter.\"}}],\"GovernorQueueNotImplemented()\":[{\"details\":\"Queue operation is not implemented for this governor. Execute should be called directly.\"}],\"GovernorRestrictedProposal(uint256,uint8)\":[{\"details\":\"Thrown when a proposal is not allowed to perform a specific action. Some actions are restricted to Standard proposals only, others to Grant proposals only. eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\"}],\"GovernorRestrictedProposer(address)\":[{\"details\":\"The `proposer` is not allowed to create a proposal.\"}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a proposal is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each ProposalState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the proposal is expected to not be in any state (i.e. not exist). This is the case when a proposal that is expected to be unset is already initiated (the proposal is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"GranteeCannotDepositOwnGrant(uint256)\":[{\"details\":\"The grantee cannot deposit for their own grant.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NavigatorDecisionNotSet(address,uint256)\":[{\"details\":\"Thrown when navigator has not set a decision for the proposal\"}],\"NotDelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is not delegated to any navigator\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"QueueEmpty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}],\"UnauthorizedAccess(address)\":[{\"details\":\"User is not authorized to perform the action.\"}]},\"events\":{\"DepositThresholdCapSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold cap for a proposal type is set.\"},\"DepositThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold percentage for a proposal type is set.\"},\"FunctionWhitelisted(address,bytes4,bool)\":{\"details\":\"Emitted when a function is whitelisted or restricted by the governor.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCanceledWithReason(uint256,address,string)\":{\"details\":\"Emitted when a proposal is canceled with a reason.\"},\"ProposalCompleted(uint256)\":{\"details\":\"Emitted when a proposal is marked as completed.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],string,uint256,uint256)\":{\"details\":\"Emitted when a proposal is created\"},\"ProposalCreatedWithType(uint256,uint8)\":{\"details\":\"Emitted when a proposal is created with type information.\"},\"ProposalDeposit(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is made to a proposal.\"},\"ProposalDevelopmentStateReset(uint256)\":{\"details\":\"Emitted when the development state of a proposal is reset back to pending development.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"ProposalInDevelopment(uint256)\":{\"details\":\"Emitted when a proposal is marked as in development.\"},\"ProposalQueued(uint256,uint256)\":{\"details\":\"Emitted when a proposal is queued.\"},\"ProposalWithdraw(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is withdrawn from a proposal.\"},\"QuadraticVotingToggled(bool)\":{\"params\":{\"disabled\":\"- The flag to enable or disable quadratic voting.\"}},\"QuorumNumeratorUpdated(uint256,uint256)\":{\"details\":\"Emitted when the quorum numerator is updated.\"},\"QuorumNumeratorUpdatedByType(uint256,uint256,uint8)\":{\"details\":\"Emitted when the quorum numerator for a specific proposal type is updated.\"},\"RequiredGMLevelSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the required GM level for a proposal type is set.\"},\"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.\"},\"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`)\"},\"TimelockChange(address,address)\":{\"details\":\"Emitted when the timelock controller used for proposal execution is modified.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"},\"VeBetterPassportSet(address,address)\":{\"details\":\"Emitted when the VeBetterPassport contract is set.\"},\"VoteCast(address,uint256,uint8,uint256,uint256,string)\":{\"details\":\"Emitted when a vote is cast without params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\"},\"VotingPowerSeeded(address,uint256)\":{\"details\":\"Emitted when the voting power is seeded.\"},\"VotingThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the `votingThreshold` for a proposal type is set.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"returns\":{\"_0\":\"string The clock mode\"}},\"COUNTING_MODE()\":{\"returns\":{\"_0\":\"string The counting mode\"}},\"b3tr()\":{\"returns\":{\"_0\":\"IB3TR The B3TR contract\"}},\"canProposalStartInNextRound()\":{\"returns\":{\"_0\":\"bool True if the proposal can start in the next round, false otherwise\"}},\"cancel(address[],uint256[],bytes[],bytes32,string)\":{\"params\":{\"calldatas\":\"The list of call data\",\"descriptionHash\":\"The hash of the description\",\"reason\":\"The reason for canceling the proposal\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"castNavigatorVote(uint256,address)\":{\"params\":{\"citizen\":\"The delegated citizen whose voting power is used\",\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The voting weight used\"}},\"castVote(uint256,uint8)\":{\"params\":{\"proposalId\":\"The id of the proposal\",\"support\":\"The support value (0 = against, 1 = for, 2 = abstain)\"},\"returns\":{\"_0\":\"uint256 The voting power\"}},\"castVoteWithReason(uint256,uint8,string)\":{\"params\":{\"proposalId\":\"The id of the proposal\",\"reason\":\"The reason for the vote\",\"support\":\"The support value (0 = against, 1 = for, 2 = abstain)\"},\"returns\":{\"_0\":\"uint256 The voting power\"}},\"clock()\":{\"returns\":{\"_0\":\"uint48 The current clock time\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"deposit(uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to deposit\",\"proposalId\":\"The id of the proposal\"}},\"depositThresholdByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold for the proposal type.\"}},\"depositThresholdCapByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold cap for the proposal type.\"}},\"depositThresholdPercentageByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold percentage for the proposal type.\"}},\"execute(address[],uint256[],bytes[],bytes32)\":{\"params\":{\"calldatas\":\"The list of call data\",\"descriptionHash\":\"The hash of the description\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"getDepositVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account\",\"timepoint\":\"The timepoint\"},\"returns\":{\"_0\":\"The deposit voting power\"}},\"getGalaxyMemberContract()\":{\"returns\":{\"_0\":\"The current GalaxyMember contract\"}},\"getGrantsManagerContract()\":{\"returns\":{\"_0\":\"The current GrantsManager contract\"}},\"getProposalDeposits(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"uint256 The amount of deposits\"}},\"getQuadraticVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account\",\"timepoint\":\"The timepoint to get the voting power at\"},\"returns\":{\"_0\":\"uint256 The quadratic voting power\"}},\"getRequiredGMLevelByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of the proposal\"},\"returns\":{\"_0\":\"The GM weight for the proposal type\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getTimelockId(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bytes32 The timelock id\"}},\"getUserDeposit(uint256,address)\":{\"params\":{\"proposalId\":\"The id of the proposal.\",\"user\":\"The address of the user.\"},\"returns\":{\"_0\":\"uint256 The amount of tokens deposited by the user\"}},\"getVotes(address,uint256)\":{\"params\":{\"account\":\"The address of the account\",\"timepoint\":\"The timepoint to get the votes at\"},\"returns\":{\"_0\":\"uint256 The number of votes\"}},\"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`.\"},\"hasVoted(uint256,address)\":{\"params\":{\"account\":\"The address of the account\",\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the account has voted, false otherwise\"}},\"hasVotedOnce(address)\":{\"params\":{\"user\":\"The address of the user to check if has voted at least one time\"},\"returns\":{\"_0\":\"bool True if the user has voted once, false otherwise\"}},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"params\":{\"calldatas\":\"The list of call data\",\"descriptionHash\":\"The hash of the description\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"isFunctionWhitelisted(address,bytes4)\":{\"params\":{\"functionSelector\":\"The function selector\",\"target\":\"The address of the contract\"},\"returns\":{\"_0\":\"bool True if the function is whitelisted, false otherwise\"}},\"isQuadraticVotingDisabledForCurrentRound()\":{\"returns\":{\"_0\":\"true if quadratic voting is disabled, false otherwise.\"}},\"isQuadraticVotingDisabledForRound(uint256)\":{\"params\":{\"roundId\":\"- The round ID for which to check if quadratic voting is disabled.\"},\"returns\":{\"_0\":\"true if quadratic voting is disabled, false otherwise.\"}},\"markAsCompleted(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"}},\"markAsInDevelopment(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"}},\"minVotingDelay()\":{\"returns\":{\"_0\":\"uint256 The minimum voting delay\"}},\"name()\":{\"returns\":{\"_0\":\"string The name of the governor\"}},\"navigatorRegistry()\":{\"returns\":{\"_0\":\"INavigatorRegistry The NavigatorRegistry contract\"}},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"returns\":{\"_0\":\"bytes4 The selector of the function\"}},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"returns\":{\"_0\":\"bytes4 The selector of the function\"}},\"onERC721Received(address,address,uint256,bytes)\":{\"returns\":{\"_0\":\"bytes4 The selector of the function\"}},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"proposalDeadline(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The deadline of the proposal\"}},\"proposalDepositReached(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"bool True if the threshold is reached, false otherwise\"}},\"proposalDepositThreshold(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold for the proposal.\"}},\"proposalEta(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The ETA of the proposal\"}},\"proposalNeedsQueuing(uint256)\":{\"details\":\"If no calldatas or targets then it's not executable, otherwise it will check if the governance can execute transactions or not.\",\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal needs queuing, false otherwise\"}},\"proposalProposer(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"address The address of the proposer\"}},\"proposalSnapshot(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The snapshot of the proposal\"}},\"proposalStartRound(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The start round of the proposal\"}},\"proposalTotalVotes(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The total votes for the proposal\"}},\"proposalType(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GovernorTypesV10.ProposalType The proposal type\"}},\"proposalVotes(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"abstainVotes\":\"The votes abstaining the proposal\",\"againstVotes\":\"The votes against the proposal\",\"forVotes\":\"The votes for the proposal\"}},\"propose(address[],uint256[],bytes[],string,uint256,uint256)\":{\"params\":{\"calldatas\":\"The list of call data\",\"depositAmount\":\"The amount of deposit for the proposal\",\"description\":\"The proposal description\",\"startRoundId\":\"The round in which the proposal should start\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"params\":{\"calldatas\":\"The list of call data\",\"depositAmount\":\"The amount of deposit for the proposal\",\"description\":\"The proposal description\",\"grantsReceiver\":\"The address of the grants receiver\",\"milestonesDetailsMetadataURI\":\"The IPFS hash containing the milestones descriptions\",\"startRoundId\":\"The round in which the proposal should start\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"The proposal id\"}},\"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.\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"params\":{\"calldatas\":\"The list of call data\",\"descriptionHash\":\"The hash of the description\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"quorum(uint256)\":{\"params\":{\"blockNumber\":\"The block number to get the quorum for\"},\"returns\":{\"_0\":\"uint256 The quorum\"}},\"quorumByProposalType(uint256,uint8)\":{\"params\":{\"blockNumber\":\"The block number to get the quorum for\",\"proposalTypeValue\":\"The type of proposal\"},\"returns\":{\"_0\":\"uint256 The quorum\"}},\"quorumDenominator()\":{\"returns\":{\"_0\":\"uint256 The quorum denominator\"}},\"quorumNumerator()\":{\"returns\":{\"_0\":\"uint256 The current quorum numerator\"}},\"quorumNumerator(uint256)\":{\"params\":{\"timepoint\":\"The timepoint to get the quorum numerator for\"},\"returns\":{\"_0\":\"uint256 The quorum numerator at the given timepoint\"}},\"quorumNumeratorByProposalType(uint256,uint8)\":{\"params\":{\"timepoint\":\"The timepoint to get the quorum numerator for\"},\"returns\":{\"_0\":\"uint256 The quorum numerator at the given timepoint\"}},\"quorumNumeratorByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal\"},\"returns\":{\"_0\":\"uint256 The quorum numerator\"}},\"quorumReached(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if quorum was reached, false otherwise\"}},\"relay(address,uint256,bytes)\":{\"params\":{\"data\":\"The data to call the target with\",\"target\":\"The target address\",\"value\":\"The amount of ether to send\"}},\"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 `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"resetDevelopmentState(uint256)\":{\"details\":\"This should reset the enum state back to the original one, since pending development is not tracked in {GovernorStateLogicV10._state} condition\",\"params\":{\"proposalId\":\"The id of the proposal\"}},\"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.\"},\"setGalaxyMember(address)\":{\"params\":{\"newGalaxyMember\":\"The new GalaxyMember contract\"}},\"setGovernanceSkipWindowBlocks(uint256)\":{\"params\":{\"newValue\":\"The new skip window in blocks\"}},\"setGrantsManager(address)\":{\"params\":{\"newGrantsManager\":\"The new GrantsManager contract\"}},\"setIsFunctionRestrictionEnabled(bool)\":{\"params\":{\"isEnabled\":\"Flag to enable/disable function restriction\"}},\"setMinVotingDelay(uint256)\":{\"params\":{\"newMinVotingDelay\":\"The new minimum voting delay\"}},\"setNavigatorRegistry(address)\":{\"params\":{\"newNavigatorRegistry\":\"The new NavigatorRegistry contract\"}},\"setProposalTypeDepositThresholdCap(uint256,uint8)\":{\"params\":{\"newDepositThresholdCap\":\"The new deposit threshold cap\",\"proposalTypeValue\":\"The proposal type\"}},\"setProposalTypeDepositThresholdPercentage(uint256,uint8)\":{\"params\":{\"newDepositThreshold\":\"The new deposit threshold\",\"proposalTypeValue\":\"The proposal type\"}},\"setProposalTypeVotingThreshold(uint256,uint8)\":{\"params\":{\"newVotingThreshold\":\"The new voting threshold\",\"proposalTypeValue\":\"The proposal type\"}},\"setRelayerRewardsPool(address)\":{\"params\":{\"newRelayerRewardsPool\":\"The new RelayerRewardsPool contract\"}},\"setRequiredGMLevelByProposalType(uint8,uint256)\":{\"params\":{\"newGMWeight\":\"The new GM weight for the proposal type\",\"proposalTypeValue\":\"The type of the proposal\"}},\"setVeBetterPassport(address)\":{\"params\":{\"newVeBetterPassport\":\"The new VeBetterPassport contract\"}},\"setVoterRewards(address)\":{\"params\":{\"newVoterRewards\":\"The new voter rewards contract\"}},\"setWhitelistFunction(address,bytes4,bool)\":{\"params\":{\"functionSelector\":\"The function selector\",\"isWhitelisted\":\"Bool indicating if function is whitelisted for proposals\",\"target\":\"The address of the contract\"}},\"setWhitelistFunctions(address,bytes4[],bool)\":{\"params\":{\"functionSelectors\":\"Array of function selectors\",\"isWhitelisted\":\"Bool indicating if function is whitelisted for proposals\",\"target\":\"The address of the contract\"}},\"setXAllocationVoting(address)\":{\"params\":{\"newXAllocationVoting\":\"The new xAllocationVoting contract\"}},\"state(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GovernorTypesV10.ProposalState The state of the proposal\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The interface id to check\"},\"returns\":{\"_0\":\"bool True if the interface is supported, false otherwise\"}},\"timelock()\":{\"returns\":{\"_0\":\"address The address of the timelock\"}},\"timelockSalt(bytes32)\":{\"params\":{\"descriptionHash\":\"The hash of the description\"},\"returns\":{\"_0\":\"bytes32 The timelock salt\"}},\"toggleQuadraticVoting()\":{\"details\":\"This function toggles the state of quadratic votingstarting from the next round. The state will flip between enabled and disabled each time the function is called.\"},\"token()\":{\"returns\":{\"_0\":\"IVOT3 The voting token\"}},\"updateQuorumNumerator(uint256)\":{\"params\":{\"newQuorumNumerator\":\"The new quorum numerator\"}},\"updateQuorumNumeratorByType(uint256,uint8)\":{\"params\":{\"newQuorumNumerator\":\"The new quorum numerator\",\"proposalTypeValue\":\"The proposal type\"}},\"updateTimelock(address)\":{\"params\":{\"newTimelock\":\"The new timelock controller\"}},\"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.\"},\"veBetterPassport()\":{\"returns\":{\"_0\":\"The current VeBetterPassport contract.\"}},\"version()\":{\"returns\":{\"_0\":\"string The version of the governor\"}},\"voterRewards()\":{\"returns\":{\"_0\":\"IVoterRewardsV2 The voter rewards contract\"}},\"votingPeriod()\":{\"returns\":{\"_0\":\"uint256 The voting period\"}},\"votingThresholdByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of the proposal\"},\"returns\":{\"_0\":\"uint256 The voting threshold\"}},\"withdraw(uint256,address)\":{\"params\":{\"depositor\":\"The address of the depositor\",\"proposalId\":\"The id of the proposal\"}},\"xAllocationVoting()\":{\"returns\":{\"_0\":\"IXAllocationVotingGovernor The XAllocationVotingGovernor contract\"}}},\"title\":\"B3TRGovernorV10\",\"version\":1},\"userdoc\":{\"events\":{\"NavigatorGovernanceVoteSkipped(address,address,uint256)\":{\"notice\":\"Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\"},\"QuadraticVotingToggled(bool)\":{\"notice\":\"Emits true if quadratic voting is disabled, false otherwise.\"}},\"kind\":\"user\",\"methods\":{\"CLOCK_MODE()\":{\"notice\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"The role that can set external contracts addresses\"},\"COUNTING_MODE()\":{\"notice\":\"Returns the counting mode\"},\"GOVERNOR_FUNCTIONS_SETTINGS_ROLE()\":{\"notice\":\"The role that can whitelist allowed functions in the propose function\"},\"PAUSER_ROLE()\":{\"notice\":\"The role that can pause the contract\"},\"PROPOSAL_EXECUTOR_ROLE()\":{\"notice\":\"The role that can execute a proposal\"},\"PROPOSAL_STATE_MANAGER_ROLE()\":{\"notice\":\"The role that can mark a proposal in development/completed state\"},\"b3tr()\":{\"notice\":\"See {B3TRGovernorV10-b3tr}.\"},\"canProposalStartInNextRound()\":{\"notice\":\"Check if the proposal can start in the next round\"},\"cancel(address[],uint256[],bytes[],bytes32,string)\":{\"notice\":\"See {Governor-cancel}.\"},\"castNavigatorVote(uint256,address)\":{\"notice\":\"Cast a governance vote on behalf of a citizen delegated to a navigator.\"},\"castVote(uint256,uint8)\":{\"notice\":\"See {IB3TRGovernorV10-castVote}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"notice\":\"See {IB3TRGovernorV10-castVoteWithReason}.\"},\"clock()\":{\"notice\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"deposit(uint256,uint256)\":{\"notice\":\"Deposits tokens for a specific proposal\"},\"depositThresholdByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold for a proposal type.\"},\"depositThresholdCapByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold cap for a proposal type.\"},\"depositThresholdPercentageByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold percentage for a proposal type.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"See {IB3TRGovernorV10-execute}. Callable only when contract is not paused.\"},\"getActiveProposals()\":{\"notice\":\"Returns currently active proposal IDs.\"},\"getDepositVotingPower(address,uint256)\":{\"notice\":\"Get the deposit voting power for a given account at a given timepoint\"},\"getGalaxyMemberContract()\":{\"notice\":\"Get the GalaxyMember contract\"},\"getGrantsManagerContract()\":{\"notice\":\"Get the GrantsManager contract\"},\"getProposalDeposits(uint256)\":{\"notice\":\"Returns the amount of deposits made to a proposal.\"},\"getQuadraticVotingPower(address,uint256)\":{\"notice\":\"Returns the quadratic voting power that `account` has.  See {IB3TRGovernorV10-getQuadraticVotingPower}.\"},\"getRequiredGMLevelByProposalType(uint8)\":{\"notice\":\"Get the GM weight for a proposal type\"},\"getTimelockId(uint256)\":{\"notice\":\"Public endpoint to retrieve the timelock id of a proposal.\"},\"getUserDeposit(uint256,address)\":{\"notice\":\"Returns the amount of tokens a specific user has deposited to a proposal.\"},\"getVotes(address,uint256)\":{\"notice\":\"See {IB3TRGovernorV10-getVotes}.\"},\"governanceSkipWindowBlocks()\":{\"notice\":\"Returns the governance skip window in blocks.\"},\"hasVoted(uint256,address)\":{\"notice\":\"See {IB3TRGovernorV10-hasVoted}.\"},\"hasVotedOnce(address)\":{\"notice\":\"Check if a user has voted at least one time.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"See {IB3TRGovernorV10-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"initializeV10(address,address,uint256)\":{\"notice\":\"Initialize V10: set NavigatorRegistry, RelayerRewardsPool, and governance skip window\"},\"isFunctionWhitelisted(address,bytes4)\":{\"notice\":\"Check if a function is restricted by the governor\"},\"isQuadraticVotingDisabledForCurrentRound()\":{\"notice\":\"Check if quadratic voting is disabled for the current round.\"},\"isQuadraticVotingDisabledForRound(uint256)\":{\"notice\":\"Check if quadratic voting is disabled at a specific round.\"},\"markAsCompleted(uint256)\":{\"notice\":\"Mark a proposal as completed\"},\"markAsInDevelopment(uint256)\":{\"notice\":\"Mark a proposal as in development\"},\"minVotingDelay()\":{\"notice\":\"See {B3TRGovernorV10-minVotingDelay}.\"},\"name()\":{\"notice\":\"See {IB3TRGovernorV10-name}.\"},\"navigatorRegistry()\":{\"notice\":\"Returns the NavigatorRegistry contract.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"See {IERC1155Receiver-onERC1155BatchReceived}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"notice\":\"See {IERC1155Receiver-onERC1155Received}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\"},\"onERC721Received(address,address,uint256,bytes)\":{\"notice\":\"See {IERC721Receiver-onERC721Received}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\"},\"pause()\":{\"notice\":\"Pause the contract\"},\"proposalDeadline(uint256)\":{\"notice\":\"See {IB3TRGovernorV10-proposalDeadline}.\"},\"proposalDepositReached(uint256)\":{\"notice\":\"Returns true if the threshold of deposits required to reach a proposal has been reached.\"},\"proposalDepositThreshold(uint256)\":{\"notice\":\"Returns the deposit threshold for a proposal.\"},\"proposalEta(uint256)\":{\"notice\":\"See {IB3TRGovernorV10-proposalEta}.\"},\"proposalNeedsQueuing(uint256)\":{\"notice\":\"Function to know if a proposal is executable or not. If the proposal was created without any targets, values, or calldatas, it is not executable. to check if the proposal is executable.\"},\"proposalProposer(uint256)\":{\"notice\":\"See {IB3TRGovernorV10-proposalProposer}.\"},\"proposalSnapshot(uint256)\":{\"notice\":\"See {IB3TRGovernorV10-proposalSnapshot}. We take for granted that the round starts the block after it ends. But it can happen that the round is not started yet for whatever reason. Knowing this, if the proposal starts 4 rounds in the future we need to consider also those extra blocks used to start the rounds.\"},\"proposalStartRound(uint256)\":{\"notice\":\"See {IB3TRGovernorV10-proposalStartRound}\"},\"proposalTotalVotes(uint256)\":{\"notice\":\"Returns the total votes for a proposal\"},\"proposalType(uint256)\":{\"notice\":\"Returns the proposal type of a proposal.\"},\"proposalVotes(uint256)\":{\"notice\":\"Accessor to the internal vote counts, in terms of vote power.\"},\"propose(address[],uint256[],bytes[],string,uint256,uint256)\":{\"notice\":\"See {IB3TRGovernorV10-propose}. Callable only when contract is not paused.\"},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"notice\":\"Propose a grant\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"See {IB3TRGovernorV10-queue}. Callable only when contract is not paused.\"},\"quorum(uint256)\":{\"notice\":\"Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\"},\"quorumByProposalType(uint256,uint8)\":{\"notice\":\"Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\"},\"quorumDenominator()\":{\"notice\":\"Returns the quorum denominator using the GovernorQuorumFraction library. Defaults to 100, but may be overridden.\"},\"quorumNumerator()\":{\"notice\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"notice\":\"Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\"},\"quorumNumeratorByProposalType(uint256,uint8)\":{\"notice\":\"Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\"},\"quorumNumeratorByProposalType(uint8)\":{\"notice\":\"Returns the quorum numerator for a specific proposal type.\"},\"quorumReached(uint256)\":{\"notice\":\"Returns if quorum was reached or not\"},\"relay(address,uint256,bytes)\":{\"notice\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"relayerRewardsPool()\":{\"notice\":\"Returns the RelayerRewardsPool contract.\"},\"resetDevelopmentState(uint256)\":{\"notice\":\"Reset the development state of a proposal back to pending development\"},\"setGalaxyMember(address)\":{\"notice\":\"Set the GalaxyMember contract\"},\"setGovernanceSkipWindowBlocks(uint256)\":{\"notice\":\"Set the governance skip window (blocks before proposal deadline when relayers can skip navigator votes)\"},\"setGrantsManager(address)\":{\"notice\":\"Set the GrantsManager contract\"},\"setIsFunctionRestrictionEnabled(bool)\":{\"notice\":\"Method that allows to toggle the function restriction on/off\"},\"setMinVotingDelay(uint256)\":{\"notice\":\"Update the min voting delay before vote can start. This operation can only be performed through a governance proposal. Emits a {MinVotingDelaySet} event.\"},\"setNavigatorRegistry(address)\":{\"notice\":\"Set the NavigatorRegistry contract\"},\"setProposalTypeDepositThresholdCap(uint256,uint8)\":{\"notice\":\"Update the deposit threshold cap for a proposal type. This operation can only be performed through a governance proposal or by the DEFAULT_ADMIN_ROLE Emits a {DepositThresholdCapSet} event.\"},\"setProposalTypeDepositThresholdPercentage(uint256,uint8)\":{\"notice\":\"Update the deposit threshold for a proposal type. This operation can only be performed through a governance proposal. Emits a {DepositThresholdSetV2} event.\"},\"setProposalTypeVotingThreshold(uint256,uint8)\":{\"notice\":\"Update the voting threshold for a proposal type. This operation can only be performed through a governance proposal. Emits a {VotingThresholdSetV2} event.\"},\"setRelayerRewardsPool(address)\":{\"notice\":\"Set the RelayerRewardsPool contract\"},\"setRequiredGMLevelByProposalType(uint8,uint256)\":{\"notice\":\"Set the GM weight for a proposal typee.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal\"},\"setVeBetterPassport(address)\":{\"notice\":\"Set the VeBetterPassport contract\"},\"setVoterRewards(address)\":{\"notice\":\"Set the voter rewards contract This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\"},\"setWhitelistFunction(address,bytes4,bool)\":{\"notice\":\"Method that allows to restrict functions that can be called by proposals for a single function selector\"},\"setWhitelistFunctions(address,bytes4[],bool)\":{\"notice\":\"Method that allows to restrict functions that can be called by proposals for multiple function selectors at once\"},\"setXAllocationVoting(address)\":{\"notice\":\"Set the xAllocationVoting contract This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\"},\"state(uint256)\":{\"notice\":\"Returns the state of a proposal\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the contract supports a specific interface\"},\"timelock()\":{\"notice\":\"Public accessor to check the address of the timelock\"},\"timelockSalt(bytes32)\":{\"notice\":\"Public endpoint to get the salt used for the timelock operation.\"},\"toggleQuadraticVoting()\":{\"notice\":\"Toggle quadratic voting for next round.\"},\"token()\":{\"notice\":\"The token that voting power is sourced from.\"},\"unpause()\":{\"notice\":\"Unpause the contract\"},\"updateQuorumNumerator(uint256)\":{\"notice\":\"Changes the quorum numerator. This operation can only be performed through a governance proposal. Emits a {QuorumNumeratorUpdated} event.\"},\"updateQuorumNumeratorByType(uint256,uint8)\":{\"notice\":\"Changes the quorum numerator for a specific proposal type. This operation can only be performed through a governance proposal. Emits a {QuorumNumeratorUpdatedByType} event.\"},\"updateTimelock(address)\":{\"notice\":\"Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates must be proposed, scheduled, and executed through governance proposals. CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\"},\"veBetterPassport()\":{\"notice\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"notice\":\"See {IB3TRGovernorV10-version}.\"},\"voterRewards()\":{\"notice\":\"The voter rewards contract.\"},\"votingPeriod()\":{\"notice\":\"See {IB3TRGovernorV10-votingPeriod}.\"},\"votingThresholdByProposalType(uint8)\":{\"notice\":\"Returns the voting threshold for a proposal type\"},\"withdraw(uint256,address)\":{\"notice\":\"Withdraws deposits for a specific proposal\"},\"xAllocationVoting()\":{\"notice\":\"The XAllocationVotingGovernor contract.\"}},\"notice\":\"This contract is the main governance contract for the VeBetterDAO ecosystem. Anyone can create a proposal to both change the state of the contract, to execute a transaction on the timelock or to ask for a vote from the community without performing any onchain action. In order for the proposal to become active, the community needs to deposit a certain amount of VOT3 tokens. This is used as a heat check for the proposal, and funds are returned to the depositors after vote is concluded. Votes for proposals start periodically, based on the allocation rounds (see xAllocationVoting contract), and the round in which the proposal should be active is specified by the proposer during the proposal creation. A minimum amount of voting power is required in order to vote on a proposal. The voting power is calculated through the quadratic vote formula based on the amount of VOT3 tokens held by the voter at the block when the proposal becomes active. Once a proposal succeeds, it can be queued and executed. The execution is done through the timelock contract. The contract is upgradeable and uses the UUPS pattern.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/B3TRGovernorV10.sol\":\"B3TRGovernorV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V10/B3TRGovernorV10.sol\":{\"keccak256\":\"0x1b509ba2c3abeebcd14eca2c5416028da29fb882128742f82d67d9df9ac27193\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be37577aa907d61d77b86d7ab1b46f4489ab653b7834e06b923ce0446b1b7cf2\",\"dweb:/ipfs/QmcUgSb8B9FUC2RNyu2GftNFKtyqHXgZUb8QFutK4UcMHy\"]},\"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol\":{\"keccak256\":\"0x6a7cc588ce08460da1388dab77c8778aa1a60065cd43ae2360c103e640dfc2a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://254fe95dec0ab5497b4bbefe29fb65dea5b0594c90982dbf3b66c2f6c1c39f29\",\"dweb:/ipfs/QmW3dbwg9H6GPrvaDeKLfRQBzz28BFwNVufkT7pe1hv6B7\"]},\"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol\":{\"keccak256\":\"0x3397264be328d66e78addf8da14626cedf3e822eda096dcc0b0d4c8f590cf164\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d8770a70795251944aea6b12221270a6e1df0a6cae7de3cfa985d9d85f5b44e\",\"dweb:/ipfs/QmPo2y4pt9xMkdoXjWRKvmVjN5ao2DaQpdpsEDLWoX6Tds\"]},\"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol\":{\"keccak256\":\"0x4b49b4820370e23b8a9cc8e4cfd7cc233078aa18b127e4f3bb71eef2037d56fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0d15ed7cf840190e4fe550d5beac54812fcf3c935415ac45f78d2da8edce094\",\"dweb:/ipfs/QmSakePtMJCjxqVyS5UhPi6jLwojUgdLK2mkjf4JkZuUNr\"]},\"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\":{\"keccak256\":\"0xdf23dd2f515e503dbbae2a4d4d4e9efcca22e357aacdb83e5abdc5854783cc22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b3c6779fcdf93f8f8afc3ddf7591fe983d47ad6ae8eaa29902603c701beaf86\",\"dweb:/ipfs/QmdigrheDca8jAb7cwgGj3r3f95DsjEDdqb5pT5gfiiULL\"]},\"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol\":{\"keccak256\":\"0x1b1ff6cdf118475d82421782ff9e8b83fe0056bdffea414bfb6be15ad6cdb73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9aacb4a80e7922069ec2ed464c17ad17b72b4a061dd4ed63e5449b8147407260\",\"dweb:/ipfs/QmR1cqBsHBJurr5DfpJ1daov1DnxS2Yz9atCggvV2if4V1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol\":{\"keccak256\":\"0x88765be13ee3cc295e11e5b966a3c80f7fc976c1a10eac3fe096b7f1e26dd509\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://846d77bf1f45c0bc78fcaf8f51a45763a3c4879b33cc172ef12b736182804908\",\"dweb:/ipfs/QmWdh7woCYYsUXoW2RyoBrVWQvTtjwVqVAD9AT8wRnUoa3\"]},\"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol\":{\"keccak256\":\"0xcddb1bc4f53ed3df2264eee5a6b0c8894d6a01d9673eff866b81691a56e557ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f21e5eec2c06dcb3bab8d7af5808adb47b8dfd99de7483d4d81e04effe10f05d\",\"dweb:/ipfs/QmPLUSt6CaCjS5tFqeVDeCnvfq8jG99KJhzs5GfaK2tjRh\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol\":{\"keccak256\":\"0x50c28e3d5abc3914216c8871ec74f3cafac0ca598bf389d84af6bcc950d792a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45bb508ad0afe1da38784ee6b51b6c1cc4f4604e6c84052fc2917c1bb8436d18\",\"dweb:/ipfs/QmXhdxjhT4Hn3SiGm31hJbZDSYMYjqX9k72Zx6eanGZNHE\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol\":{\"keccak256\":\"0x944ea2027e155ed6020969da6d21c8c0f22b49e4b1792c3403b6ae75e52c5328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df4a784bb01c7df68a62c68d8c859a7fb73980d5d99ade94d2c2f62e11d68488\",\"dweb:/ipfs/QmawVpasYNft622Myguv2weKnmpA7z17o4dbCt7io9r9M9\"]},\"contracts/deprecated/V10/interfaces/IB3TRGovernorV10.sol\":{\"keccak256\":\"0x49cf16082e775e22bbb62d15e0ddc4b4cc77a3b9d0599108c8ec6c59e4469124\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ea870ffbbc2c44a1876eee3016708bca94ab6afa9d130aeafaddb332e2e59ed\",\"dweb:/ipfs/QmdPjVXZ75r5HDCGNiqz8uG4J1y5RBbivkxaR2nGHBKWyx\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":{"abi":[{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6103c661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80634bf5d7e91461004557806391ddadf414610063575b600080fd5b61004d610082565b60405161005a919061026c565b60405180910390f35b61006b610149565b60405165ffffffffffff909116815260200161005a565b6060600061008e6101d9565b905080600c0160009054906101000a90046001600160a01b03166001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561010657506040513d6000823e601f3d908101601f1916820160405261010391908101906102b5565b60015b61014357505060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b92915050565b6000806101546101d9565b905080600c0160009054906101000a90046001600160a01b03166001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156101c7575060408051601f3d908101601f191682019092526101c491810190610361565b60015b610143576101d36101fd565b91505090565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006102084361020d565b905090565b600065ffffffffffff821115610244576040516306dfcc6560e41b8152603060048201526024810183905260440160405180910390fd5b5090565b60005b8381101561026357818101518382015260200161024b565b50506000910152565b602081526000825180602084015261028b816040850160208701610248565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156102c757600080fd5b81516001600160401b03808211156102de57600080fd5b818401915084601f8301126102f257600080fd5b8151818111156103045761030461029f565b604051601f8201601f19908116603f0116810190838211818310171561032c5761032c61029f565b8160405282815287602084870101111561034557600080fd5b610356836020830160208801610248565b979650505050505050565b60006020828403121561037357600080fd5b815165ffffffffffff8116811461038957600080fd5b939250505056fea264697066735822122014b093dddf6e95dda5d3cacaac5194d62249086ffcea75c1a2407f8302d1dfc864736f6c63430008140033","opcodes":"PUSH2 0x3C6 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x40 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x45 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x63 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6B PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5A JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x8E PUSH2 0x1D9 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xC ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x106 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x103 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x143 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x154 PUSH2 0x1D9 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xC ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1C7 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1C4 SWAP2 DUP2 ADD SWAP1 PUSH2 0x361 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x143 JUMPI PUSH2 0x1D3 PUSH2 0x1FD JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x208 NUMBER PUSH2 0x20D JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x263 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x24B JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x28B DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x248 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x304 JUMPI PUSH2 0x304 PUSH2 0x29F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x32C JUMPI PUSH2 0x32C PUSH2 0x29F JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x345 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x356 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x248 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x389 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EQ 0xB0 SWAP4 0xDD 0xDF PUSH15 0x95DDA5D3CACAAC5194D62249086FFC 0xEA PUSH22 0xC1A2407F8302D1DFC864736F6C634300081400330000 ","sourceMap":"1657:1287:49:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1657:1287:49;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_19613":{"entryPoint":130,"id":19613,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":509,"id":11429,"parameterSlots":0,"returnSlots":1},"@clock_19581":{"entryPoint":329,"id":19581,"parameterSlots":0,"returnSlots":1},"@getGovernorStorage_24759":{"entryPoint":473,"id":24759,"parameterSlots":0,"returnSlots":1},"@toUint48_7770":{"entryPoint":525,"id":7770,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":693,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":865,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":620,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":584,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x41":{"entryPoint":671,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2478:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"80:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"90:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"99:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"94:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"159:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"184:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"189:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"180:3:150"},"nodeType":"YulFunctionCall","src":"180:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"203:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"208:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"199:3:150"},"nodeType":"YulFunctionCall","src":"199:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"193:5:150"},"nodeType":"YulFunctionCall","src":"193:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"173:6:150"},"nodeType":"YulFunctionCall","src":"173:39:150"},"nodeType":"YulExpressionStatement","src":"173:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"120:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"123:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"117:2:150"},"nodeType":"YulFunctionCall","src":"117:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"131:19:150","statements":[{"nodeType":"YulAssignment","src":"133:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"142:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"145:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"138:3:150"},"nodeType":"YulFunctionCall","src":"138:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"133:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"113:3:150","statements":[]},"src":"109:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"242:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"247:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"238:3:150"},"nodeType":"YulFunctionCall","src":"238:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"256:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"231:6:150"},"nodeType":"YulFunctionCall","src":"231:27:150"},"nodeType":"YulExpressionStatement","src":"231:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"58:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"63:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:150","type":""}],"src":"14:250:150"},{"body":{"nodeType":"YulBlock","src":"398:275:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"415:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"426:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"408:6:150"},"nodeType":"YulFunctionCall","src":"408:21:150"},"nodeType":"YulExpressionStatement","src":"408:21:150"},{"nodeType":"YulVariableDeclaration","src":"438:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"458:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"452:5:150"},"nodeType":"YulFunctionCall","src":"452:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"442:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"485:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"496:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"481:3:150"},"nodeType":"YulFunctionCall","src":"481:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"501:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"474:6:150"},"nodeType":"YulFunctionCall","src":"474:34:150"},"nodeType":"YulExpressionStatement","src":"474:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"556:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"564:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"552:3:150"},"nodeType":"YulFunctionCall","src":"552:15:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"573:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"584:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"569:3:150"},"nodeType":"YulFunctionCall","src":"569:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"589:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"517:34:150"},"nodeType":"YulFunctionCall","src":"517:79:150"},"nodeType":"YulExpressionStatement","src":"517:79:150"},{"nodeType":"YulAssignment","src":"605:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"621:9:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"640:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"648:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"636:3:150"},"nodeType":"YulFunctionCall","src":"636:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"657:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"653:3:150"},"nodeType":"YulFunctionCall","src":"653:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"632:3:150"},"nodeType":"YulFunctionCall","src":"632:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"617:3:150"},"nodeType":"YulFunctionCall","src":"617:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"664:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"613:3:150"},"nodeType":"YulFunctionCall","src":"613:54:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"605:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"367:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"378:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"389:4:150","type":""}],"src":"269:404:150"},{"body":{"nodeType":"YulBlock","src":"785:97:150","statements":[{"nodeType":"YulAssignment","src":"795:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"807:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"818:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"803:3:150"},"nodeType":"YulFunctionCall","src":"803:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"795:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"837:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"852:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"860:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"848:3:150"},"nodeType":"YulFunctionCall","src":"848:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"830:6:150"},"nodeType":"YulFunctionCall","src":"830:46:150"},"nodeType":"YulExpressionStatement","src":"830:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"754:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"765:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"776:4:150","type":""}],"src":"678:204:150"},{"body":{"nodeType":"YulBlock","src":"919:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"936:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"943:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"948:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"939:3:150"},"nodeType":"YulFunctionCall","src":"939:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"929:6:150"},"nodeType":"YulFunctionCall","src":"929:31:150"},"nodeType":"YulExpressionStatement","src":"929:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"976:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"979:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"969:6:150"},"nodeType":"YulFunctionCall","src":"969:15:150"},"nodeType":"YulExpressionStatement","src":"969:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1000:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1003:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"993:6:150"},"nodeType":"YulFunctionCall","src":"993:15:150"},"nodeType":"YulExpressionStatement","src":"993:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"887:127:150"},{"body":{"nodeType":"YulBlock","src":"1110:806:150","statements":[{"body":{"nodeType":"YulBlock","src":"1156:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1165:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1168:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1158:6:150"},"nodeType":"YulFunctionCall","src":"1158:12:150"},"nodeType":"YulExpressionStatement","src":"1158:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1131:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1140:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1127:3:150"},"nodeType":"YulFunctionCall","src":"1127:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1152:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1123:3:150"},"nodeType":"YulFunctionCall","src":"1123:32:150"},"nodeType":"YulIf","src":"1120:52:150"},{"nodeType":"YulVariableDeclaration","src":"1181:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1201:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1195:5:150"},"nodeType":"YulFunctionCall","src":"1195:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1185:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1220:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1238:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1242:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1234:3:150"},"nodeType":"YulFunctionCall","src":"1234:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1246:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1230:3:150"},"nodeType":"YulFunctionCall","src":"1230:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1224:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1275:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1284:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1287:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1277:6:150"},"nodeType":"YulFunctionCall","src":"1277:12:150"},"nodeType":"YulExpressionStatement","src":"1277:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1263:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1271:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1260:2:150"},"nodeType":"YulFunctionCall","src":"1260:14:150"},"nodeType":"YulIf","src":"1257:34:150"},{"nodeType":"YulVariableDeclaration","src":"1300:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1314:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"1325:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1310:3:150"},"nodeType":"YulFunctionCall","src":"1310:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1304:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1380:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1389:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1392:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1382:6:150"},"nodeType":"YulFunctionCall","src":"1382:12:150"},"nodeType":"YulExpressionStatement","src":"1382:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1359:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1363:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1355:3:150"},"nodeType":"YulFunctionCall","src":"1355:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1370:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1351:3:150"},"nodeType":"YulFunctionCall","src":"1351:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1344:6:150"},"nodeType":"YulFunctionCall","src":"1344:35:150"},"nodeType":"YulIf","src":"1341:55:150"},{"nodeType":"YulVariableDeclaration","src":"1405:19:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1421:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1415:5:150"},"nodeType":"YulFunctionCall","src":"1415:9:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1409:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1447:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1449:16:150"},"nodeType":"YulFunctionCall","src":"1449:18:150"},"nodeType":"YulExpressionStatement","src":"1449:18:150"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1439:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1443:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1436:2:150"},"nodeType":"YulFunctionCall","src":"1436:10:150"},"nodeType":"YulIf","src":"1433:36:150"},{"nodeType":"YulVariableDeclaration","src":"1478:17:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1492:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1488:3:150"},"nodeType":"YulFunctionCall","src":"1488:7:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1482:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1504:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1524:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1518:5:150"},"nodeType":"YulFunctionCall","src":"1518:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1508:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1536:71:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1558:6:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1582:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1586:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1578:3:150"},"nodeType":"YulFunctionCall","src":"1578:13:150"},{"name":"_4","nodeType":"YulIdentifier","src":"1593:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1574:3:150"},"nodeType":"YulFunctionCall","src":"1574:22:150"},{"kind":"number","nodeType":"YulLiteral","src":"1598:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1570:3:150"},"nodeType":"YulFunctionCall","src":"1570:31:150"},{"name":"_4","nodeType":"YulIdentifier","src":"1603:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1566:3:150"},"nodeType":"YulFunctionCall","src":"1566:40:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1554:3:150"},"nodeType":"YulFunctionCall","src":"1554:53:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1540:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1666:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1668:16:150"},"nodeType":"YulFunctionCall","src":"1668:18:150"},"nodeType":"YulExpressionStatement","src":"1668:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1625:10:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1637:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1622:2:150"},"nodeType":"YulFunctionCall","src":"1622:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1645:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1657:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1642:2:150"},"nodeType":"YulFunctionCall","src":"1642:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1619:2:150"},"nodeType":"YulFunctionCall","src":"1619:46:150"},"nodeType":"YulIf","src":"1616:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1704:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1708:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1697:6:150"},"nodeType":"YulFunctionCall","src":"1697:22:150"},"nodeType":"YulExpressionStatement","src":"1697:22:150"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1735:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"1743:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1728:6:150"},"nodeType":"YulFunctionCall","src":"1728:18:150"},"nodeType":"YulExpressionStatement","src":"1728:18:150"},{"body":{"nodeType":"YulBlock","src":"1792:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1801:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1804:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1794:6:150"},"nodeType":"YulFunctionCall","src":"1794:12:150"},"nodeType":"YulExpressionStatement","src":"1794:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1769:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"1773:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1765:3:150"},"nodeType":"YulFunctionCall","src":"1765:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"1778:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1761:3:150"},"nodeType":"YulFunctionCall","src":"1761:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1783:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1758:2:150"},"nodeType":"YulFunctionCall","src":"1758:33:150"},"nodeType":"YulIf","src":"1755:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1856:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1860:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1852:3:150"},"nodeType":"YulFunctionCall","src":"1852:11:150"},{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1869:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1877:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1865:3:150"},"nodeType":"YulFunctionCall","src":"1865:15:150"},{"name":"_3","nodeType":"YulIdentifier","src":"1882:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"1817:34:150"},"nodeType":"YulFunctionCall","src":"1817:68:150"},"nodeType":"YulExpressionStatement","src":"1817:68:150"},{"nodeType":"YulAssignment","src":"1894:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1904:6:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1894:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1076:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1087:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1099:6:150","type":""}],"src":"1019:897:150"},{"body":{"nodeType":"YulBlock","src":"2001:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"2047:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2056:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2059:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2049:6:150"},"nodeType":"YulFunctionCall","src":"2049:12:150"},"nodeType":"YulExpressionStatement","src":"2049:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2022:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2031:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2018:3:150"},"nodeType":"YulFunctionCall","src":"2018:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2043:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2014:3:150"},"nodeType":"YulFunctionCall","src":"2014:32:150"},"nodeType":"YulIf","src":"2011:52:150"},{"nodeType":"YulVariableDeclaration","src":"2072:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2091:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2085:5:150"},"nodeType":"YulFunctionCall","src":"2085:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2076:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2159:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2168:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2171:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2161:6:150"},"nodeType":"YulFunctionCall","src":"2161:12:150"},"nodeType":"YulExpressionStatement","src":"2161:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2123:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2134:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2141:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2130:3:150"},"nodeType":"YulFunctionCall","src":"2130:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2120:2:150"},"nodeType":"YulFunctionCall","src":"2120:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2113:6:150"},"nodeType":"YulFunctionCall","src":"2113:45:150"},"nodeType":"YulIf","src":"2110:65:150"},{"nodeType":"YulAssignment","src":"2184:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2194:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2184:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1967:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1978:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1990:6:150","type":""}],"src":"1921:284:150"},{"body":{"nodeType":"YulBlock","src":"2346:130:150","statements":[{"nodeType":"YulAssignment","src":"2356:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2368:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2379:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2364:3:150"},"nodeType":"YulFunctionCall","src":"2364:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2356:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2398:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2413:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2421:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2409:3:150"},"nodeType":"YulFunctionCall","src":"2409:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2391:6:150"},"nodeType":"YulFunctionCall","src":"2391:36:150"},"nodeType":"YulExpressionStatement","src":"2391:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2447:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2458:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2443:3:150"},"nodeType":"YulFunctionCall","src":"2443:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"2463:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2436:6:150"},"nodeType":"YulFunctionCall","src":"2436:34:150"},"nodeType":"YulExpressionStatement","src":"2436:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2307:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2318:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2326:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2337:4:150","type":""}],"src":"2210:266:150"}]},"contents":"{\n    { }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let length := mload(value0)\n        mstore(add(headStart, 32), length)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(headStart, 64), length)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        if gt(_3, _1) { panic_error_0x41() }\n        let _4 := not(31)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, _3)\n        if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80634bf5d7e91461004557806391ddadf414610063575b600080fd5b61004d610082565b60405161005a919061026c565b60405180910390f35b61006b610149565b60405165ffffffffffff909116815260200161005a565b6060600061008e6101d9565b905080600c0160009054906101000a90046001600160a01b03166001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561010657506040513d6000823e601f3d908101601f1916820160405261010391908101906102b5565b60015b61014357505060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b92915050565b6000806101546101d9565b905080600c0160009054906101000a90046001600160a01b03166001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156101c7575060408051601f3d908101601f191682019092526101c491810190610361565b60015b610143576101d36101fd565b91505090565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006102084361020d565b905090565b600065ffffffffffff821115610244576040516306dfcc6560e41b8152603060048201526024810183905260440160405180910390fd5b5090565b60005b8381101561026357818101518382015260200161024b565b50506000910152565b602081526000825180602084015261028b816040850160208701610248565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156102c757600080fd5b81516001600160401b03808211156102de57600080fd5b818401915084601f8301126102f257600080fd5b8151818111156103045761030461029f565b604051601f8201601f19908116603f0116810190838211818310171561032c5761032c61029f565b8160405282815287602084870101111561034557600080fd5b610356836020830160208801610248565b979650505050505050565b60006020828403121561037357600080fd5b815165ffffffffffff8116811461038957600080fd5b939250505056fea264697066735822122014b093dddf6e95dda5d3cacaac5194d62249086ffcea75c1a2407f8302d1dfc864736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x40 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x45 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x63 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6B PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5A JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x8E PUSH2 0x1D9 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xC ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x106 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x103 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x143 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x154 PUSH2 0x1D9 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xC ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1C7 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1C4 SWAP2 DUP2 ADD SWAP1 PUSH2 0x361 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x143 JUMPI PUSH2 0x1D3 PUSH2 0x1FD JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x208 NUMBER PUSH2 0x20D JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x263 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x24B JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x28B DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x248 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x304 JUMPI PUSH2 0x304 PUSH2 0x29F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x32C JUMPI PUSH2 0x32C PUSH2 0x29F JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x345 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x356 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x248 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x389 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EQ 0xB0 SWAP4 0xDD 0xDF PUSH15 0x95DDA5D3CACAAC5194D62249086FFC 0xEA PUSH22 0xC1A2407F8302D1DFC864736F6C634300081400330000 ","sourceMap":"1657:1287:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2621:321;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2013:284;;;:::i;:::-;;;860:14:150;848:27;;;830:46;;818:2;803:18;2013:284:49;678:204:150;2621:321:49;2666:13;2687:49;2739:44;:42;:44::i;:::-;2687:96;;2793:1;:6;;;;;;;;;;-1:-1:-1;;;;;2793:6:49;-1:-1:-1;;;;;2793:17:49;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2793:19:49;;;;;;;;;;;;:::i;:::-;;;2789:149;;-1:-1:-1;;2893:38:49;;;;;;;;;;;;;;;;;;2621:321::o;2789:149::-;2862:9;2621:321;-1:-1:-1;;2621:321:49:o;2013:284::-;2053:6;2067:49;2119:44;:42;:44::i;:::-;2067:96;;2173:1;:6;;;;;;;;;;-1:-1:-1;;;;;2173:6:49;-1:-1:-1;;;;;2173:12:49;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2173:14:49;;;;;;;;-1:-1:-1;;2173:14:49;;;;;;;;;;;;:::i;:::-;;;2169:124;;2268:18;:16;:18::i;:::-;2261:25;;;2013:284;:::o;2703:146:57:-;2816:23;;2703:146::o;931:109:42:-;977:6;1002:31;1020:12;1002:17;:31::i;:::-;995:38;;931:109;:::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;2391:36:150;2443:18;;;2436:34;;;2364:18;;14416:41:37;;;;;;;14365:103;-1:-1:-1;14491:5:37;14291:213::o;14:250:150:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:150;238:16;;231:27;14:250::o;269:404::-;426:2;415:9;408:21;389:4;458:6;452:13;501:6;496:2;485:9;481:18;474:34;517:79;589:6;584:2;573:9;569:18;564:2;556:6;552:15;517:79;:::i;:::-;657:2;636:15;-1:-1:-1;;632:29:150;617:45;;;;664:2;613:54;;269:404;-1:-1:-1;;269:404:150:o;887:127::-;948:10;943:3;939:20;936:1;929:31;979:4;976:1;969:15;1003:4;1000:1;993:15;1019:897;1099:6;1152:2;1140:9;1131:7;1127:23;1123:32;1120:52;;;1168:1;1165;1158:12;1120:52;1195:16;;-1:-1:-1;;;;;1260:14:150;;;1257:34;;;1287:1;1284;1277:12;1257:34;1325:6;1314:9;1310:22;1300:32;;1370:7;1363:4;1359:2;1355:13;1351:27;1341:55;;1392:1;1389;1382:12;1341:55;1421:2;1415:9;1443:2;1439;1436:10;1433:36;;;1449:18;;:::i;:::-;1524:2;1518:9;1492:2;1578:13;;-1:-1:-1;;1574:22:150;;;1598:2;1570:31;1566:40;1554:53;;;1622:18;;;1642:22;;;1619:46;1616:72;;;1668:18;;:::i;:::-;1708:10;1704:2;1697:22;1743:2;1735:6;1728:18;1783:7;1778:2;1773;1769;1765:11;1761:20;1758:33;1755:53;;;1804:1;1801;1794:12;1755:53;1817:68;1882:2;1877;1869:6;1865:15;1860:2;1856;1852:11;1817:68;:::i;:::-;1904:6;1019:897;-1:-1:-1;;;;;;;1019:897:150:o;1921:284::-;1990:6;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2091:9;2085:16;2141:14;2134:5;2130:26;2123:5;2120:37;2110:65;;2171:1;2168;2161:12;2110:65;2194:5;1921:284;-1:-1:-1;;;1921:284:150:o"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","clock()":"91ddadf4"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This library interacts with the IVOT3 interface to get the clock time or mode.\",\"errors\":{\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Tries to get the clock mode from the vot3 interface. If it fails, it returns the default block number mode.\",\"returns\":{\"_0\":\"The clock mode as a string.\"}},\"clock()\":{\"details\":\"Tries to get the timepoint from the vot3 clock. If it fails, it returns the current block number.\",\"returns\":{\"_0\":\"The current timepoint or block number.\"}}},\"title\":\"GovernorClockLogicV10 Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"CLOCK_MODE()\":{\"notice\":\"Returns the machine-readable description of the clock mode as specified in EIP-6372.\"},\"clock()\":{\"notice\":\"Returns the current timepoint from the token's clock, falling back to the current block number if the token does not implement EIP-6372.\"}},\"notice\":\"Library for managing the clock logic as specified in EIP-6372, with fallback to block numbers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol\":\"GovernorClockLogicV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol\":{\"keccak256\":\"0x6a7cc588ce08460da1388dab77c8778aa1a60065cd43ae2360c103e640dfc2a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://254fe95dec0ab5497b4bbefe29fb65dea5b0594c90982dbf3b66c2f6c1c39f29\",\"dweb:/ipfs/QmW3dbwg9H6GPrvaDeKLfRQBzz28BFwNVufkT7pe1hv6B7\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol":{"GovernorConfiguratorV10":{"abi":[{"inputs":[{"internalType":"uint256","name":"gmLevel","type":"uint256"}],"name":"GMLevelAboveMaxLevel","type":"error"},{"inputs":[{"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"GovernorDepositThresholdNotInRange","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThresholdCap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThresholdCap","type":"uint256"}],"name":"DepositThresholdCapSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldDepositThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThreshold","type":"uint256"}],"name":"DepositThresholdSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThreshold","type":"uint256"}],"name":"DepositThresholdSetV2","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"GovernanceSkipWindowBlocksSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldMinMinVotingDelay","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMinVotingDelay","type":"uint256"}],"name":"MinVotingDelaySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldNavigatorRegistry","type":"address"},{"indexed":false,"internalType":"address","name":"newNavigatorRegistry","type":"address"}],"name":"NavigatorRegistrySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRelayerRewardsPool","type":"address"},{"indexed":false,"internalType":"address","name":"newRelayerRewardsPool","type":"address"}],"name":"RelayerRewardsPoolSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldRequiredGMLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRequiredGMLevel","type":"uint256"}],"name":"RequiredGMLevelSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldTimelock","type":"address"},{"indexed":false,"internalType":"address","name":"newTimelock","type":"address"}],"name":"TimelockChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldVeBetterPassport","type":"address"},{"indexed":false,"internalType":"address","name":"newVeBetterPassport","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VoterRewardsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSetV2","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"XAllocationVotingSet","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"610e7a61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100b95760003560e01c80633397d78d146100be578063382fa8ec146100e05780633ecc274a146101005780634784a113146101205780634f49d9ba1461014057806383833a00146101605780639eb587e914610180578063b26a9509146101a0578063b2b84a74146101c0578063b4ab342c146101e0578063ce396b1f14610200578063d2eee54a14610220578063d639f65c14610240575b600080fd5b8180156100ca57600080fd5b506100de6100d9366004610c55565b610260565b005b8180156100ec57600080fd5b506100de6100fb366004610c83565b61031f565b81801561010c57600080fd5b506100de61011b366004610ca7565b610420565b81801561012c57600080fd5b506100de61013b366004610c83565b610453565b81801561014c57600080fd5b506100de61015b366004610c83565b6104ca565b81801561016c57600080fd5b506100de61017b366004610c83565b6104fc565b81801561018c57600080fd5b506100de61019b366004610ca7565b6105fa565b8180156101ac57600080fd5b506100de6101bb366004610c55565b61064e565b8180156101cc57600080fd5b506100de6101db366004610c83565b61069f565b8180156101ec57600080fd5b506100de6101fb366004610ca7565b61078e565b81801561020c57600080fd5b506100de61021b366004610c83565b6107bd565b81801561022c57600080fd5b506100de61023b366004610c83565b610834565b81801561024c57600080fd5b506100de61025b366004610c83565b610863565b600081116102ce5760405162461bcd60e51b815260206004820152603060248201527f476f7665726e6f72436f6e666967757261746f725631303a20736b697020776960448201526f06e646f77206d757374206265203e20360841b60648201526084015b60405180910390fd5b60006102d8610963565b602281015460408051918252602082018590529192507fb04bf299a74179f455d40e5f5f5c3192123bf6a22ca8e4698e79aa526a6f07a3910160405180910390a160220155565b6001600160a01b0381166103a95760405162461bcd60e51b8152602060048201526044602482018190527f476f7665726e6f72436f6e666967757261746f725631303a2072656c61796572908201527f207265776172647320706f6f6c20616464726573732063616e6e6f74206265206064820152637a65726f60e01b608482015260a4016102c5565b60006103b3610963565b60208101546040519192507f1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e916103f5916001600160a01b0316908590610cd7565b60405180910390a160200180546001600160a01b0319166001600160a01b0392909216919091179055565b61042982610987565b6104455760405162461bcd60e51b81526004016102c590610cf1565b61044f82826109bf565b5050565b600061045d610963565b60148101546040519192507f1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd711609161049f916001600160a01b0316908590610cd7565b60405180910390a160140180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166104f05760405162461bcd60e51b81526004016102c590610d3f565b6104f981610a7d565b50565b6000610506610963565b90506001600160a01b03821661058e5760405162461bcd60e51b815260206004820152604160248201527f476f7665726e6f72436f6e666967757261746f725631303a2078416c6c6f636160448201527f74696f6e566f74696e6720616464726573732063616e6e6f74206265207a65726064820152606f60f81b608482015260a4016102c5565b600a8101546040517f71004d26dc692e8d5005fb307953a5ce05000120035aa3f83615abc6c6fbba2e916105cf916001600160a01b03909116908590610cd7565b60405180910390a1600a0180546001600160a01b0319166001600160a01b0392909216919091179055565b61060382610987565b61061f5760405162461bcd60e51b81526004016102c590610cf1565b606481111561064457604051631f04dde560e11b8152600481018290526024016102c5565b61044f8282610ad2565b6000610658610963565b600481015460408051918252602082018590529192507fd5fa2027382834080d1e011cda04312db2805a2069bb13475f4376e8d7c64668910160405180910390a160040155565b60006106a9610963565b90506001600160a01b0382166107225760405162461bcd60e51b815260206004820152603860248201527f476f7665726e6f72436f6e666967757261746f725631303a2074696d656c6f636044820152776b20616464726573732063616e6e6f74206265207a65726f60401b60648201526084016102c5565b60068101546040517f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b22640191610763916001600160a01b03909116908590610cd7565b60405180910390a160060180546001600160a01b0319166001600160a01b0392909216919091179055565b61079782610987565b6107b35760405162461bcd60e51b81526004016102c590610cf1565b61044f8282610b69565b60006107c7610963565b601f8101546040519192507f072ec7147cbb6a8d38bd6caa7fdf26b9987bb2ec536bbc5288c4a4c335c58c8091610809916001600160a01b0316908590610cd7565b60405180910390a1601f0180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661085a5760405162461bcd60e51b81526004016102c590610d9b565b6104f981610c00565b600061086d610963565b90506001600160a01b0382166108ea5760405162461bcd60e51b815260206004820152603c60248201527f476f7665726e6f72436f6e666967757261746f725631303a20766f746572526560448201527b776172647320616464726573732063616e6e6f74206265207a65726f60201b60648201526084016102c5565b7f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c48160090160019054906101000a90046001600160a01b031683604051610932929190610cd7565b60405180910390a160090180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60008082600181111561099c5761099c610df8565b14806109b9575060018260018111156109b7576109b7610df8565b145b92915050565b60006109c9610963565b90507f1e44e875a8ec5300a305e63ca083de2b0e62e333df633bde0e680a9ff64e3c2183826017016000866001811115610a0557610a05610df8565b6001811115610a1657610a16610df8565b81526020019081526020016000205484604051610a3593929190610e0e565b60405180910390a181816017016000856001811115610a5657610a56610df8565b6001811115610a6757610a67610df8565b8152602081019190915260400160002055505050565b6000610a87610963565b90506001600160a01b038216610aaf5760405162461bcd60e51b81526004016102c590610d3f565b601b0180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610adc610963565b90507fd7f4fd38ed535300fc72a5de4a35264cf0638081fc06ba63a6c1025b9993b0f383826016016000866001811115610b1857610b18610df8565b6001811115610b2957610b29610df8565b81526020019081526020016000205484604051610b4893929190610e0e565b60405180910390a181816016016000856001811115610a5657610a56610df8565b6000610b73610963565b90507fbab71752ceaca29a72caf93b1099d9bfcf0e836a02c01a567d4e7365ae2242c283826019016000866001811115610baf57610baf610df8565b6001811115610bc057610bc0610df8565b81526020019081526020016000205484604051610bdf93929190610e0e565b60405180910390a181816019016000856001811115610a5657610a56610df8565b6000610c0a610963565b90506001600160a01b038216610c325760405162461bcd60e51b81526004016102c590610d9b565b601a0180546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610c6757600080fd5b5035919050565b6001600160a01b03811681146104f957600080fd5b600060208284031215610c9557600080fd5b8135610ca081610c6e565b9392505050565b60008060408385031215610cba57600080fd5b823560028110610cc957600080fd5b946020939093013593505050565b6001600160a01b0392831681529116602082015260400190565b6020808252602e908201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460408201526d2070726f706f73616c207479706560901b606082015260800190565b6020808252603c908201527f476f7665726e6f72436f6e666967757261746f725631303a2047616c6178794d60408201527b656d62657220616464726573732063616e6e6f74206265207a65726f60201b606082015260800190565b6020808252603d908201527f476f7665726e6f72436f6e666967757261746f725631303a204772616e74734d60408201527f616e6167657220616464726573732063616e6e6f74206265207a65726f000000606082015260800190565b634e487b7160e01b600052602160045260246000fd5b6060810160028510610e3057634e487b7160e01b600052602160045260246000fd5b93815260208101929092526040909101529056fea2646970667358221220e1b7068213291267cdd73699656ac6a08b8e7223e55006597ae561af8a738cc064736f6c63430008140033","opcodes":"PUSH2 0xE7A PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3397D78D EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0x382FA8EC EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x3ECC274A EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x4784A113 EQ PUSH2 0x120 JUMPI DUP1 PUSH4 0x4F49D9BA EQ PUSH2 0x140 JUMPI DUP1 PUSH4 0x83833A00 EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0x9EB587E9 EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0xB26A9509 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xB2B84A74 EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xB4AB342C EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xCE396B1F EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0xD2EEE54A EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0xD639F65C EQ PUSH2 0x240 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0xC55 JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x31F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x11B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA7 JUMP JUMPDEST PUSH2 0x420 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x12C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x13B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x453 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x14C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x15B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x17B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x4FC JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x18C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA7 JUMP JUMPDEST PUSH2 0x5FA JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1BB CALLDATASIZE PUSH1 0x4 PUSH2 0xC55 JUMP JUMPDEST PUSH2 0x64E JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1DB CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x69F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0xCA7 JUMP JUMPDEST PUSH2 0x78E JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x20C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x7BD JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x834 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x863 JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0x2CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20736B6970207769 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x6E646F77206D757374206265203E203 PUSH1 0x84 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2D8 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x22 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xB04BF299A74179F455D40E5F5F5C3192123BF6A22CA8E4698E79AA526A6F07A3 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x22 ADD SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x44 PUSH1 0x24 DUP3 ADD DUP2 SWAP1 MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A2072656C61796572 SWAP1 DUP3 ADD MSTORE PUSH32 0x207265776172647320706F6F6C20616464726573732063616E6E6F7420626520 PUSH1 0x64 DUP3 ADD MSTORE PUSH4 0x7A65726F PUSH1 0xE0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B3 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1CDB859FDDC65C1FC3FC767C3640525B1847D0ACE5955A01B15C7A91D96C357E SWAP2 PUSH2 0x3F5 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x20 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x429 DUP3 PUSH2 0x987 JUMP JUMPDEST PUSH2 0x445 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xCF1 JUMP JUMPDEST PUSH2 0x44F DUP3 DUP3 PUSH2 0x9BF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45D PUSH2 0x963 JUMP JUMPDEST PUSH1 0x14 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1635A7CE44FAF9C7A871602659C02602D0B1DEB541D4DF560D0616D42DD71160 SWAP2 PUSH2 0x49F SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x14 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4F0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x4F9 DUP2 PUSH2 0xA7D JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x506 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x58E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A2078416C6C6F6361 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x74696F6E566F74696E6720616464726573732063616E6E6F74206265207A6572 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x6F PUSH1 0xF8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x71004D26DC692E8D5005FB307953A5CE05000120035AA3F83615ABC6C6FBBA2E SWAP2 PUSH2 0x5CF SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xA ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x603 DUP3 PUSH2 0x987 JUMP JUMPDEST PUSH2 0x61F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xCF1 JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x644 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1F04DDE5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH2 0x44F DUP3 DUP3 PUSH2 0xAD2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x658 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xD5FA2027382834080D1E011CDA04312DB2805A2069BB13475F4376E8D7C64668 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x4 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6A9 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x722 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A2074696D656C6F63 PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6B20616464726573732063616E6E6F74206265207A65726F PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x8F74EA46EF7894F65EABFB5E6E695DE773A000B47C529AB559178069B226401 SWAP2 PUSH2 0x763 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x6 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x797 DUP3 PUSH2 0x987 JUMP JUMPDEST PUSH2 0x7B3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xCF1 JUMP JUMPDEST PUSH2 0x44F DUP3 DUP3 PUSH2 0xB69 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7C7 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x1F DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x72EC7147CBB6A8D38BD6CAA7FDF26B9987BB2EC536BBC5288C4A4C335C58C80 SWAP2 PUSH2 0x809 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1F ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x85A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xD9B JUMP JUMPDEST PUSH2 0x4F9 DUP2 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x86D PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8EA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20766F7465725265 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x776172647320616464726573732063616E6E6F74206265207A65726F PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 DUP2 PUSH1 0x9 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x932 SWAP3 SWAP2 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x9 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x99C JUMPI PUSH2 0x99C PUSH2 0xDF8 JUMP JUMPDEST EQ DUP1 PUSH2 0x9B9 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x9B7 JUMPI PUSH2 0x9B7 PUSH2 0xDF8 JUMP JUMPDEST EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9C9 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH32 0x1E44E875A8EC5300A305E63CA083DE2B0E62E333DF633BDE0E680A9FF64E3C21 DUP4 DUP3 PUSH1 0x17 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA05 JUMPI PUSH2 0xA05 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA16 JUMPI PUSH2 0xA16 PUSH2 0xDF8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xA35 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x17 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA56 JUMPI PUSH2 0xA56 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA67 JUMPI PUSH2 0xA67 PUSH2 0xDF8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA87 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xD3F JUMP JUMPDEST PUSH1 0x1B ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xADC PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH32 0xD7F4FD38ED535300FC72A5DE4A35264CF0638081FC06BA63A6C1025B9993B0F3 DUP4 DUP3 PUSH1 0x16 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB18 JUMPI PUSH2 0xB18 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB29 JUMPI PUSH2 0xB29 PUSH2 0xDF8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xB48 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x16 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA56 JUMPI PUSH2 0xA56 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB73 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH32 0xBAB71752CEACA29A72CAF93B1099D9BFCF0E836A02C01A567D4E7365AE2242C2 DUP4 DUP3 PUSH1 0x19 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBAF JUMPI PUSH2 0xBAF PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBC0 JUMPI PUSH2 0xBC0 PUSH2 0xDF8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xBDF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x19 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA56 JUMPI PUSH2 0xA56 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC0A PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC32 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xD9B JUMP JUMPDEST PUSH1 0x1A ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCA0 DUP2 PUSH2 0xC6E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xCBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0xCC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x3C SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A2047616C6178794D PUSH1 0x40 DUP3 ADD MSTORE PUSH28 0x656D62657220616464726573732063616E6E6F74206265207A65726F PUSH1 0x20 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x3D SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A204772616E74734D PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616E6167657220616464726573732063616E6E6F74206265207A65726F000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD PUSH1 0x2 DUP6 LT PUSH2 0xE30 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE1 0xB7 MOD DUP3 SGT 0x29 SLT PUSH8 0xCDD73699656AC6A0 DUP12 DUP15 PUSH19 0x23E55006597AE561AF8A738CC064736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"2502:17721:50:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2502:17721:50;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_setGalaxyMemberContract_20331":{"entryPoint":2685,"id":20331,"parameterSlots":1,"returnSlots":0},"@_setGrantsManagerContract_20391":{"entryPoint":3072,"id":20391,"parameterSlots":1,"returnSlots":0},"@_setProposalTypeDepositThresholdCap_20271":{"entryPoint":2921,"id":20271,"parameterSlots":2,"returnSlots":0},"@_setProposalTypeDepositThresholdPercentage_20153":{"entryPoint":2770,"id":20153,"parameterSlots":2,"returnSlots":0},"@_setProposalTypeVotingThreshold_20212":{"entryPoint":2495,"id":20212,"parameterSlots":2,"returnSlots":0},"@getGovernorStorage_24759":{"entryPoint":2403,"id":24759,"parameterSlots":0,"returnSlots":1},"@isValidProposalType_23804":{"entryPoint":2439,"id":23804,"parameterSlots":1,"returnSlots":1},"@setGalaxyMemberContract_20295":{"entryPoint":1226,"id":20295,"parameterSlots":1,"returnSlots":0},"@setGovernanceSkipWindowBlocks_19913":{"entryPoint":608,"id":19913,"parameterSlots":1,"returnSlots":0},"@setGrantsManagerContract_20355":{"entryPoint":2100,"id":20355,"parameterSlots":1,"returnSlots":0},"@setMinVotingDelay_19941":{"entryPoint":1614,"id":19941,"parameterSlots":1,"returnSlots":0},"@setNavigatorRegistry_19830":{"entryPoint":1981,"id":19830,"parameterSlots":1,"returnSlots":0},"@setProposalTypeDepositThresholdCap_20235":{"entryPoint":1934,"id":20235,"parameterSlots":2,"returnSlots":0},"@setProposalTypeDepositThresholdPercentage_20117":{"entryPoint":1530,"id":20117,"parameterSlots":2,"returnSlots":0},"@setProposalTypeVotingThreshold_20176":{"entryPoint":1056,"id":20176,"parameterSlots":2,"returnSlots":0},"@setRelayerRewardsPool_19878":{"entryPoint":799,"id":19878,"parameterSlots":1,"returnSlots":0},"@setVeBetterPassport_19795":{"entryPoint":1107,"id":19795,"parameterSlots":1,"returnSlots":0},"@setVoterRewards_19989":{"entryPoint":2147,"id":19989,"parameterSlots":1,"returnSlots":0},"@setXAllocationVoting_20037":{"entryPoint":1276,"id":20037,"parameterSlots":1,"returnSlots":0},"@updateTimelock_20085":{"entryPoint":1695,"id":20085,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_contract$_IGalaxyMember_$65196":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IGrantsManager_$65639":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117":{"entryPoint":3203,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVoterRewards_$69092":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ProposalType_$25017t_uint256":{"entryPoint":3239,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":3157,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":3287,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$25017_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":3598,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_stringliteral_10cf72132195a06702535125676557fc885b67ca26fc9e03622a5be594288cb8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3313,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_31ed313b40be510024b0ac57d03b0f727a335d0a3f63fae09fdea41991af4591__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3483,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7ec0aa00e37bc9d9cc5837e6d330719da08c63d05429f0d95ac7b9767bb62391__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ab7dbd3a9259caa7b7bb2a0e1123ee83f1cb75cffc874e0cb99b40e3ce6b7879__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b0ce779e4f300464038f11e9036612e9aaabc9c04f3f103921bc58d2785dccea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_dde75adcaffbcdca0a184f0355d9560fef92040258a0f4986426f1ddc3a717b7__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3391,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e8b9112138e63e4dc03339e9a786896af9a2e43f14f0c8efd86beea4e20b8ee2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"panic_error_0x21":{"entryPoint":3576,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_contract_IRelayerRewardsPool":{"entryPoint":3182,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7977:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:150"},"nodeType":"YulFunctionCall","src":"132:12:150"},"nodeType":"YulExpressionStatement","src":"132:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:150"},"nodeType":"YulFunctionCall","src":"101:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:150"},"nodeType":"YulFunctionCall","src":"97:32:150"},"nodeType":"YulIf","src":"94:52:150"},{"nodeType":"YulAssignment","src":"155:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:150"},"nodeType":"YulFunctionCall","src":"165:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:150","type":""}],"src":"14:180:150"},{"body":{"nodeType":"YulBlock","src":"265:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"329:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"338:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"341:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"331:6:150"},"nodeType":"YulFunctionCall","src":"331:12:150"},"nodeType":"YulExpressionStatement","src":"331:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"288:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"299:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"314:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"319:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"310:3:150"},"nodeType":"YulFunctionCall","src":"310:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"323:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"306:3:150"},"nodeType":"YulFunctionCall","src":"306:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"295:3:150"},"nodeType":"YulFunctionCall","src":"295:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"285:2:150"},"nodeType":"YulFunctionCall","src":"285:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"278:6:150"},"nodeType":"YulFunctionCall","src":"278:50:150"},"nodeType":"YulIf","src":"275:70:150"}]},"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"254:5:150","type":""}],"src":"199:152:150"},{"body":{"nodeType":"YulBlock","src":"455:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"501:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"510:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"513:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"503:6:150"},"nodeType":"YulFunctionCall","src":"503:12:150"},"nodeType":"YulExpressionStatement","src":"503:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"476:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"485:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"472:3:150"},"nodeType":"YulFunctionCall","src":"472:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"497:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"468:3:150"},"nodeType":"YulFunctionCall","src":"468:32:150"},"nodeType":"YulIf","src":"465:52:150"},{"nodeType":"YulVariableDeclaration","src":"526:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"552:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"539:12:150"},"nodeType":"YulFunctionCall","src":"539:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"530:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"617:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"571:45:150"},"nodeType":"YulFunctionCall","src":"571:52:150"},"nodeType":"YulExpressionStatement","src":"571:52:150"},{"nodeType":"YulAssignment","src":"632:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"642:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"632:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"421:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"432:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"444:6:150","type":""}],"src":"356:297:150"},{"body":{"nodeType":"YulBlock","src":"763:237:150","statements":[{"body":{"nodeType":"YulBlock","src":"809:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"818:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"821:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"811:6:150"},"nodeType":"YulFunctionCall","src":"811:12:150"},"nodeType":"YulExpressionStatement","src":"811:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"784:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"793:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"780:3:150"},"nodeType":"YulFunctionCall","src":"780:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"805:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"776:3:150"},"nodeType":"YulFunctionCall","src":"776:32:150"},"nodeType":"YulIf","src":"773:52:150"},{"nodeType":"YulVariableDeclaration","src":"834:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"860:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"847:12:150"},"nodeType":"YulFunctionCall","src":"847:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"838:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"903:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"912:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"915:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"905:6:150"},"nodeType":"YulFunctionCall","src":"905:12:150"},"nodeType":"YulExpressionStatement","src":"905:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"892:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"899:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"889:2:150"},"nodeType":"YulFunctionCall","src":"889:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"882:6:150"},"nodeType":"YulFunctionCall","src":"882:20:150"},"nodeType":"YulIf","src":"879:40:150"},{"nodeType":"YulAssignment","src":"928:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"938:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"928:6:150"}]},{"nodeType":"YulAssignment","src":"952:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"979:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"990:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"975:3:150"},"nodeType":"YulFunctionCall","src":"975:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"962:12:150"},"nodeType":"YulFunctionCall","src":"962:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"952:6:150"}]}]},"name":"abi_decode_tuple_t_enum$_ProposalType_$25017t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"721:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"732:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"744:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"752:6:150","type":""}],"src":"658:342:150"},{"body":{"nodeType":"YulBlock","src":"1102:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"1148:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1157:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1160:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1150:6:150"},"nodeType":"YulFunctionCall","src":"1150:12:150"},"nodeType":"YulExpressionStatement","src":"1150:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1123:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1132:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1119:3:150"},"nodeType":"YulFunctionCall","src":"1119:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1144:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1115:3:150"},"nodeType":"YulFunctionCall","src":"1115:32:150"},"nodeType":"YulIf","src":"1112:52:150"},{"nodeType":"YulVariableDeclaration","src":"1173:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1199:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1186:12:150"},"nodeType":"YulFunctionCall","src":"1186:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1177:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1264:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"1218:45:150"},"nodeType":"YulFunctionCall","src":"1218:52:150"},"nodeType":"YulExpressionStatement","src":"1218:52:150"},{"nodeType":"YulAssignment","src":"1279:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1289:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1279:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1068:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1079:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1091:6:150","type":""}],"src":"1005:295:150"},{"body":{"nodeType":"YulBlock","src":"1398:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"1444:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1453:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1456:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1446:6:150"},"nodeType":"YulFunctionCall","src":"1446:12:150"},"nodeType":"YulExpressionStatement","src":"1446:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1419:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1428:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1415:3:150"},"nodeType":"YulFunctionCall","src":"1415:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1440:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1411:3:150"},"nodeType":"YulFunctionCall","src":"1411:32:150"},"nodeType":"YulIf","src":"1408:52:150"},{"nodeType":"YulVariableDeclaration","src":"1469:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1495:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1482:12:150"},"nodeType":"YulFunctionCall","src":"1482:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1473:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1560:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"1514:45:150"},"nodeType":"YulFunctionCall","src":"1514:52:150"},"nodeType":"YulExpressionStatement","src":"1514:52:150"},{"nodeType":"YulAssignment","src":"1575:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1585:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1575:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IGalaxyMember_$65196","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1364:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1375:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1387:6:150","type":""}],"src":"1305:291:150"},{"body":{"nodeType":"YulBlock","src":"1707:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"1753:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1762:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1765:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1755:6:150"},"nodeType":"YulFunctionCall","src":"1755:12:150"},"nodeType":"YulExpressionStatement","src":"1755:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1728:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1737:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1724:3:150"},"nodeType":"YulFunctionCall","src":"1724:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1749:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1720:3:150"},"nodeType":"YulFunctionCall","src":"1720:32:150"},"nodeType":"YulIf","src":"1717:52:150"},{"nodeType":"YulVariableDeclaration","src":"1778:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1804:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1791:12:150"},"nodeType":"YulFunctionCall","src":"1791:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1782:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1869:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"1823:45:150"},"nodeType":"YulFunctionCall","src":"1823:52:150"},"nodeType":"YulExpressionStatement","src":"1823:52:150"},{"nodeType":"YulAssignment","src":"1884:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1894:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1884:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1673:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1684:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1696:6:150","type":""}],"src":"1601:304:150"},{"body":{"nodeType":"YulBlock","src":"2018:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"2064:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2073:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2076:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2066:6:150"},"nodeType":"YulFunctionCall","src":"2066:12:150"},"nodeType":"YulExpressionStatement","src":"2066:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2039:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2048:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2035:3:150"},"nodeType":"YulFunctionCall","src":"2035:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2060:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2031:3:150"},"nodeType":"YulFunctionCall","src":"2031:32:150"},"nodeType":"YulIf","src":"2028:52:150"},{"nodeType":"YulVariableDeclaration","src":"2089:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2115:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2102:12:150"},"nodeType":"YulFunctionCall","src":"2102:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2093:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2180:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"2134:45:150"},"nodeType":"YulFunctionCall","src":"2134:52:150"},"nodeType":"YulExpressionStatement","src":"2134:52:150"},{"nodeType":"YulAssignment","src":"2195:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2205:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2195:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1984:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1995:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2007:6:150","type":""}],"src":"1910:306:150"},{"body":{"nodeType":"YulBlock","src":"2319:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"2365:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2374:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2377:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2367:6:150"},"nodeType":"YulFunctionCall","src":"2367:12:150"},"nodeType":"YulExpressionStatement","src":"2367:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2340:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2349:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2336:3:150"},"nodeType":"YulFunctionCall","src":"2336:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2361:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2332:3:150"},"nodeType":"YulFunctionCall","src":"2332:32:150"},"nodeType":"YulIf","src":"2329:52:150"},{"nodeType":"YulVariableDeclaration","src":"2390:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2416:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2403:12:150"},"nodeType":"YulFunctionCall","src":"2403:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2394:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2481:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"2435:45:150"},"nodeType":"YulFunctionCall","src":"2435:52:150"},"nodeType":"YulExpressionStatement","src":"2435:52:150"},{"nodeType":"YulAssignment","src":"2496:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2506:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2496:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2285:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2296:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2308:6:150","type":""}],"src":"2221:296:150"},{"body":{"nodeType":"YulBlock","src":"2616:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"2662:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2671:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2674:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2664:6:150"},"nodeType":"YulFunctionCall","src":"2664:12:150"},"nodeType":"YulExpressionStatement","src":"2664:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2637:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2646:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2633:3:150"},"nodeType":"YulFunctionCall","src":"2633:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2658:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2629:3:150"},"nodeType":"YulFunctionCall","src":"2629:32:150"},"nodeType":"YulIf","src":"2626:52:150"},{"nodeType":"YulVariableDeclaration","src":"2687:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2713:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2700:12:150"},"nodeType":"YulFunctionCall","src":"2700:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2691:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2778:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"2732:45:150"},"nodeType":"YulFunctionCall","src":"2732:52:150"},"nodeType":"YulExpressionStatement","src":"2732:52:150"},{"nodeType":"YulAssignment","src":"2793:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2803:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2793:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IGrantsManager_$65639","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2582:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2593:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2605:6:150","type":""}],"src":"2522:292:150"},{"body":{"nodeType":"YulBlock","src":"2912:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"2958:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2967:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2970:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2960:6:150"},"nodeType":"YulFunctionCall","src":"2960:12:150"},"nodeType":"YulExpressionStatement","src":"2960:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2933:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2942:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2929:3:150"},"nodeType":"YulFunctionCall","src":"2929:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2954:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2925:3:150"},"nodeType":"YulFunctionCall","src":"2925:32:150"},"nodeType":"YulIf","src":"2922:52:150"},{"nodeType":"YulVariableDeclaration","src":"2983:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3009:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2996:12:150"},"nodeType":"YulFunctionCall","src":"2996:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2987:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3074:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"3028:45:150"},"nodeType":"YulFunctionCall","src":"3028:52:150"},"nodeType":"YulExpressionStatement","src":"3028:52:150"},{"nodeType":"YulAssignment","src":"3089:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3099:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3089:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2878:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2889:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2901:6:150","type":""}],"src":"2819:291:150"},{"body":{"nodeType":"YulBlock","src":"3289:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3306:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3317:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3299:6:150"},"nodeType":"YulFunctionCall","src":"3299:21:150"},"nodeType":"YulExpressionStatement","src":"3299:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3340:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3351:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3336:3:150"},"nodeType":"YulFunctionCall","src":"3336:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"3356:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3329:6:150"},"nodeType":"YulFunctionCall","src":"3329:30:150"},"nodeType":"YulExpressionStatement","src":"3329:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3379:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3390:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3375:3:150"},"nodeType":"YulFunctionCall","src":"3375:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20736b6970207769","kind":"string","nodeType":"YulLiteral","src":"3395:34:150","type":"","value":"GovernorConfiguratorV10: skip wi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3368:6:150"},"nodeType":"YulFunctionCall","src":"3368:62:150"},"nodeType":"YulExpressionStatement","src":"3368:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3450:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3461:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3446:3:150"},"nodeType":"YulFunctionCall","src":"3446:18:150"},{"hexValue":"6e646f77206d757374206265203e2030","kind":"string","nodeType":"YulLiteral","src":"3466:18:150","type":"","value":"ndow must be > 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3439:6:150"},"nodeType":"YulFunctionCall","src":"3439:46:150"},"nodeType":"YulExpressionStatement","src":"3439:46:150"},{"nodeType":"YulAssignment","src":"3494:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3506:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3517:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3502:3:150"},"nodeType":"YulFunctionCall","src":"3502:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3494:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b0ce779e4f300464038f11e9036612e9aaabc9c04f3f103921bc58d2785dccea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3266:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3280:4:150","type":""}],"src":"3115:412:150"},{"body":{"nodeType":"YulBlock","src":"3661:119:150","statements":[{"nodeType":"YulAssignment","src":"3671:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3683:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3694:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3679:3:150"},"nodeType":"YulFunctionCall","src":"3679:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3671:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3713:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3724:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3706:6:150"},"nodeType":"YulFunctionCall","src":"3706:25:150"},"nodeType":"YulExpressionStatement","src":"3706:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3751:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3762:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3747:3:150"},"nodeType":"YulFunctionCall","src":"3747:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"3767:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3740:6:150"},"nodeType":"YulFunctionCall","src":"3740:34:150"},"nodeType":"YulExpressionStatement","src":"3740:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3622:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3633:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3641:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3652:4:150","type":""}],"src":"3532:248:150"},{"body":{"nodeType":"YulBlock","src":"3959:298:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3976:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3987:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3969:6:150"},"nodeType":"YulFunctionCall","src":"3969:21:150"},"nodeType":"YulExpressionStatement","src":"3969:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4010:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4021:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4006:3:150"},"nodeType":"YulFunctionCall","src":"4006:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"4026:2:150","type":"","value":"68"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3999:6:150"},"nodeType":"YulFunctionCall","src":"3999:30:150"},"nodeType":"YulExpressionStatement","src":"3999:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4049:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4060:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4045:3:150"},"nodeType":"YulFunctionCall","src":"4045:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a2072656c61796572","kind":"string","nodeType":"YulLiteral","src":"4065:34:150","type":"","value":"GovernorConfiguratorV10: relayer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4038:6:150"},"nodeType":"YulFunctionCall","src":"4038:62:150"},"nodeType":"YulExpressionStatement","src":"4038:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4120:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4131:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4116:3:150"},"nodeType":"YulFunctionCall","src":"4116:18:150"},{"hexValue":"207265776172647320706f6f6c20616464726573732063616e6e6f7420626520","kind":"string","nodeType":"YulLiteral","src":"4136:34:150","type":"","value":" rewards pool address cannot be "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4109:6:150"},"nodeType":"YulFunctionCall","src":"4109:62:150"},"nodeType":"YulExpressionStatement","src":"4109:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4191:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4202:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4187:3:150"},"nodeType":"YulFunctionCall","src":"4187:19:150"},{"hexValue":"7a65726f","kind":"string","nodeType":"YulLiteral","src":"4208:6:150","type":"","value":"zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4180:6:150"},"nodeType":"YulFunctionCall","src":"4180:35:150"},"nodeType":"YulExpressionStatement","src":"4180:35:150"},{"nodeType":"YulAssignment","src":"4224:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4236:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4247:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4232:3:150"},"nodeType":"YulFunctionCall","src":"4232:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4224:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_7ec0aa00e37bc9d9cc5837e6d330719da08c63d05429f0d95ac7b9767bb62391__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3936:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3950:4:150","type":""}],"src":"3785:472:150"},{"body":{"nodeType":"YulBlock","src":"4391:175:150","statements":[{"nodeType":"YulAssignment","src":"4401:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4413:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4424:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4409:3:150"},"nodeType":"YulFunctionCall","src":"4409:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4401:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"4436:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4454:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4459:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4450:3:150"},"nodeType":"YulFunctionCall","src":"4450:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4463:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4446:3:150"},"nodeType":"YulFunctionCall","src":"4446:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4440:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4481:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4496:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4504:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4492:3:150"},"nodeType":"YulFunctionCall","src":"4492:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4474:6:150"},"nodeType":"YulFunctionCall","src":"4474:34:150"},"nodeType":"YulExpressionStatement","src":"4474:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4528:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4539:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4524:3:150"},"nodeType":"YulFunctionCall","src":"4524:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"4548:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4556:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4544:3:150"},"nodeType":"YulFunctionCall","src":"4544:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4517:6:150"},"nodeType":"YulFunctionCall","src":"4517:43:150"},"nodeType":"YulExpressionStatement","src":"4517:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4352:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4363:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4371:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4382:4:150","type":""}],"src":"4262:304:150"},{"body":{"nodeType":"YulBlock","src":"4745:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4762:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4773:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4755:6:150"},"nodeType":"YulFunctionCall","src":"4755:21:150"},"nodeType":"YulExpressionStatement","src":"4755:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4796:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4807:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4792:3:150"},"nodeType":"YulFunctionCall","src":"4792:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"4812:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4785:6:150"},"nodeType":"YulFunctionCall","src":"4785:30:150"},"nodeType":"YulExpressionStatement","src":"4785:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4835:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4846:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4831:3:150"},"nodeType":"YulFunctionCall","src":"4831:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c6964","kind":"string","nodeType":"YulLiteral","src":"4851:34:150","type":"","value":"GovernorConfiguratorV10: invalid"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4824:6:150"},"nodeType":"YulFunctionCall","src":"4824:62:150"},"nodeType":"YulExpressionStatement","src":"4824:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4906:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4917:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4902:3:150"},"nodeType":"YulFunctionCall","src":"4902:18:150"},{"hexValue":"2070726f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"4922:16:150","type":"","value":" proposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4895:6:150"},"nodeType":"YulFunctionCall","src":"4895:44:150"},"nodeType":"YulExpressionStatement","src":"4895:44:150"},{"nodeType":"YulAssignment","src":"4948:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4960:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4971:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4956:3:150"},"nodeType":"YulFunctionCall","src":"4956:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4948:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4722:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4736:4:150","type":""}],"src":"4571:410:150"},{"body":{"nodeType":"YulBlock","src":"5160:250:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5177:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5188:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5170:6:150"},"nodeType":"YulFunctionCall","src":"5170:21:150"},"nodeType":"YulExpressionStatement","src":"5170:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5211:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5222:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5207:3:150"},"nodeType":"YulFunctionCall","src":"5207:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"5227:2:150","type":"","value":"60"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5200:6:150"},"nodeType":"YulFunctionCall","src":"5200:30:150"},"nodeType":"YulExpressionStatement","src":"5200:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5250:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5261:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5246:3:150"},"nodeType":"YulFunctionCall","src":"5246:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a2047616c6178794d","kind":"string","nodeType":"YulLiteral","src":"5266:34:150","type":"","value":"GovernorConfiguratorV10: GalaxyM"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5239:6:150"},"nodeType":"YulFunctionCall","src":"5239:62:150"},"nodeType":"YulExpressionStatement","src":"5239:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5321:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5332:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5317:3:150"},"nodeType":"YulFunctionCall","src":"5317:18:150"},{"hexValue":"656d62657220616464726573732063616e6e6f74206265207a65726f","kind":"string","nodeType":"YulLiteral","src":"5337:30:150","type":"","value":"ember address cannot be zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5310:6:150"},"nodeType":"YulFunctionCall","src":"5310:58:150"},"nodeType":"YulExpressionStatement","src":"5310:58:150"},{"nodeType":"YulAssignment","src":"5377:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5389:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5400:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5385:3:150"},"nodeType":"YulFunctionCall","src":"5385:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5377:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_dde75adcaffbcdca0a184f0355d9560fef92040258a0f4986426f1ddc3a717b7__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5137:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5151:4:150","type":""}],"src":"4986:424:150"},{"body":{"nodeType":"YulBlock","src":"5589:295:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5606:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5617:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5599:6:150"},"nodeType":"YulFunctionCall","src":"5599:21:150"},"nodeType":"YulExpressionStatement","src":"5599:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5640:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5651:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5636:3:150"},"nodeType":"YulFunctionCall","src":"5636:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"5656:2:150","type":"","value":"65"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5629:6:150"},"nodeType":"YulFunctionCall","src":"5629:30:150"},"nodeType":"YulExpressionStatement","src":"5629:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5679:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5690:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5675:3:150"},"nodeType":"YulFunctionCall","src":"5675:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a2078416c6c6f6361","kind":"string","nodeType":"YulLiteral","src":"5695:34:150","type":"","value":"GovernorConfiguratorV10: xAlloca"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5668:6:150"},"nodeType":"YulFunctionCall","src":"5668:62:150"},"nodeType":"YulExpressionStatement","src":"5668:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5750:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5761:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5746:3:150"},"nodeType":"YulFunctionCall","src":"5746:18:150"},{"hexValue":"74696f6e566f74696e6720616464726573732063616e6e6f74206265207a6572","kind":"string","nodeType":"YulLiteral","src":"5766:34:150","type":"","value":"tionVoting address cannot be zer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5739:6:150"},"nodeType":"YulFunctionCall","src":"5739:62:150"},"nodeType":"YulExpressionStatement","src":"5739:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5821:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5832:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5817:3:150"},"nodeType":"YulFunctionCall","src":"5817:19:150"},{"hexValue":"6f","kind":"string","nodeType":"YulLiteral","src":"5838:3:150","type":"","value":"o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5810:6:150"},"nodeType":"YulFunctionCall","src":"5810:32:150"},"nodeType":"YulExpressionStatement","src":"5810:32:150"},{"nodeType":"YulAssignment","src":"5851:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5863:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5874:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5859:3:150"},"nodeType":"YulFunctionCall","src":"5859:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5851:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_10cf72132195a06702535125676557fc885b67ca26fc9e03622a5be594288cb8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5566:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5580:4:150","type":""}],"src":"5415:469:150"},{"body":{"nodeType":"YulBlock","src":"5990:76:150","statements":[{"nodeType":"YulAssignment","src":"6000:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6012:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6023:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6008:3:150"},"nodeType":"YulFunctionCall","src":"6008:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6000:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6042:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"6053:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6035:6:150"},"nodeType":"YulFunctionCall","src":"6035:25:150"},"nodeType":"YulExpressionStatement","src":"6035:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5959:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5970:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5981:4:150","type":""}],"src":"5889:177:150"},{"body":{"nodeType":"YulBlock","src":"6245:246:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6262:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6273:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6255:6:150"},"nodeType":"YulFunctionCall","src":"6255:21:150"},"nodeType":"YulExpressionStatement","src":"6255:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6296:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6307:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6292:3:150"},"nodeType":"YulFunctionCall","src":"6292:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"6312:2:150","type":"","value":"56"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6285:6:150"},"nodeType":"YulFunctionCall","src":"6285:30:150"},"nodeType":"YulExpressionStatement","src":"6285:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6335:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6346:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6331:3:150"},"nodeType":"YulFunctionCall","src":"6331:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a2074696d656c6f63","kind":"string","nodeType":"YulLiteral","src":"6351:34:150","type":"","value":"GovernorConfiguratorV10: timeloc"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6324:6:150"},"nodeType":"YulFunctionCall","src":"6324:62:150"},"nodeType":"YulExpressionStatement","src":"6324:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6406:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6417:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6402:3:150"},"nodeType":"YulFunctionCall","src":"6402:18:150"},{"hexValue":"6b20616464726573732063616e6e6f74206265207a65726f","kind":"string","nodeType":"YulLiteral","src":"6422:26:150","type":"","value":"k address cannot be zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6395:6:150"},"nodeType":"YulFunctionCall","src":"6395:54:150"},"nodeType":"YulExpressionStatement","src":"6395:54:150"},{"nodeType":"YulAssignment","src":"6458:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6470:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6481:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6466:3:150"},"nodeType":"YulFunctionCall","src":"6466:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6458:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_e8b9112138e63e4dc03339e9a786896af9a2e43f14f0c8efd86beea4e20b8ee2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6222:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6236:4:150","type":""}],"src":"6071:420:150"},{"body":{"nodeType":"YulBlock","src":"6670:251:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6687:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6698:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6680:6:150"},"nodeType":"YulFunctionCall","src":"6680:21:150"},"nodeType":"YulExpressionStatement","src":"6680:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6721:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6732:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6717:3:150"},"nodeType":"YulFunctionCall","src":"6717:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"6737:2:150","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6710:6:150"},"nodeType":"YulFunctionCall","src":"6710:30:150"},"nodeType":"YulExpressionStatement","src":"6710:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6760:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6771:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6756:3:150"},"nodeType":"YulFunctionCall","src":"6756:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a204772616e74734d","kind":"string","nodeType":"YulLiteral","src":"6776:34:150","type":"","value":"GovernorConfiguratorV10: GrantsM"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6749:6:150"},"nodeType":"YulFunctionCall","src":"6749:62:150"},"nodeType":"YulExpressionStatement","src":"6749:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6842:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6827:3:150"},"nodeType":"YulFunctionCall","src":"6827:18:150"},{"hexValue":"616e6167657220616464726573732063616e6e6f74206265207a65726f","kind":"string","nodeType":"YulLiteral","src":"6847:31:150","type":"","value":"anager address cannot be zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6820:6:150"},"nodeType":"YulFunctionCall","src":"6820:59:150"},"nodeType":"YulExpressionStatement","src":"6820:59:150"},{"nodeType":"YulAssignment","src":"6888:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6900:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6911:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6896:3:150"},"nodeType":"YulFunctionCall","src":"6896:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6888:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_31ed313b40be510024b0ac57d03b0f727a335d0a3f63fae09fdea41991af4591__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6647:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6661:4:150","type":""}],"src":"6496:425:150"},{"body":{"nodeType":"YulBlock","src":"7100:250:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7117:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7128:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7110:6:150"},"nodeType":"YulFunctionCall","src":"7110:21:150"},"nodeType":"YulExpressionStatement","src":"7110:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7151:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7162:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7147:3:150"},"nodeType":"YulFunctionCall","src":"7147:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7167:2:150","type":"","value":"60"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7140:6:150"},"nodeType":"YulFunctionCall","src":"7140:30:150"},"nodeType":"YulExpressionStatement","src":"7140:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7190:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7201:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7186:3:150"},"nodeType":"YulFunctionCall","src":"7186:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20766f7465725265","kind":"string","nodeType":"YulLiteral","src":"7206:34:150","type":"","value":"GovernorConfiguratorV10: voterRe"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7179:6:150"},"nodeType":"YulFunctionCall","src":"7179:62:150"},"nodeType":"YulExpressionStatement","src":"7179:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7261:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7272:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7257:3:150"},"nodeType":"YulFunctionCall","src":"7257:18:150"},{"hexValue":"776172647320616464726573732063616e6e6f74206265207a65726f","kind":"string","nodeType":"YulLiteral","src":"7277:30:150","type":"","value":"wards address cannot be zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7250:6:150"},"nodeType":"YulFunctionCall","src":"7250:58:150"},"nodeType":"YulExpressionStatement","src":"7250:58:150"},{"nodeType":"YulAssignment","src":"7317:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7329:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7340:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7325:3:150"},"nodeType":"YulFunctionCall","src":"7325:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7317:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ab7dbd3a9259caa7b7bb2a0e1123ee83f1cb75cffc874e0cb99b40e3ce6b7879__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7077:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7091:4:150","type":""}],"src":"6926:424:150"},{"body":{"nodeType":"YulBlock","src":"7387:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7404:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7411:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7416:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7407:3:150"},"nodeType":"YulFunctionCall","src":"7407:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7397:6:150"},"nodeType":"YulFunctionCall","src":"7397:31:150"},"nodeType":"YulExpressionStatement","src":"7397:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7444:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7447:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7437:6:150"},"nodeType":"YulFunctionCall","src":"7437:15:150"},"nodeType":"YulExpressionStatement","src":"7437:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7468:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7471:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7461:6:150"},"nodeType":"YulFunctionCall","src":"7461:15:150"},"nodeType":"YulExpressionStatement","src":"7461:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"7355:127:150"},{"body":{"nodeType":"YulBlock","src":"7660:315:150","statements":[{"nodeType":"YulAssignment","src":"7670:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7682:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7693:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7678:3:150"},"nodeType":"YulFunctionCall","src":"7678:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7670:4:150"}]},{"body":{"nodeType":"YulBlock","src":"7738:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7759:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7766:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7771:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7762:3:150"},"nodeType":"YulFunctionCall","src":"7762:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7752:6:150"},"nodeType":"YulFunctionCall","src":"7752:31:150"},"nodeType":"YulExpressionStatement","src":"7752:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7803:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7806:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7796:6:150"},"nodeType":"YulFunctionCall","src":"7796:15:150"},"nodeType":"YulExpressionStatement","src":"7796:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7831:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7834:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7824:6:150"},"nodeType":"YulFunctionCall","src":"7824:15:150"},"nodeType":"YulExpressionStatement","src":"7824:15:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7718:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7726:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7715:2:150"},"nodeType":"YulFunctionCall","src":"7715:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7708:6:150"},"nodeType":"YulFunctionCall","src":"7708:21:150"},"nodeType":"YulIf","src":"7705:144:150"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7865:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"7876:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7858:6:150"},"nodeType":"YulFunctionCall","src":"7858:25:150"},"nodeType":"YulExpressionStatement","src":"7858:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7903:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7914:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7899:3:150"},"nodeType":"YulFunctionCall","src":"7899:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"7919:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7892:6:150"},"nodeType":"YulFunctionCall","src":"7892:34:150"},"nodeType":"YulExpressionStatement","src":"7892:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7946:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7957:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7942:3:150"},"nodeType":"YulFunctionCall","src":"7942:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"7962:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7935:6:150"},"nodeType":"YulFunctionCall","src":"7935:34:150"},"nodeType":"YulExpressionStatement","src":"7935:34:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$25017_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7613:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7624:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7632:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7640:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7651:4:150","type":""}],"src":"7487:488:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function validator_revert_contract_IRelayerRewardsPool(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_enum$_ProposalType_$25017t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(lt(value, 2)) { revert(0, 0) }\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IVeBetterPassport_$68601(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IGalaxyMember_$65196(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IGrantsManager_$65639(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_b0ce779e4f300464038f11e9036612e9aaabc9c04f3f103921bc58d2785dccea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: skip wi\")\n        mstore(add(headStart, 96), \"ndow must be > 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_7ec0aa00e37bc9d9cc5837e6d330719da08c63d05429f0d95ac7b9767bb62391__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 68)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: relayer\")\n        mstore(add(headStart, 96), \" rewards pool address cannot be \")\n        mstore(add(headStart, 128), \"zero\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: invalid\")\n        mstore(add(headStart, 96), \" proposal type\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_dde75adcaffbcdca0a184f0355d9560fef92040258a0f4986426f1ddc3a717b7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 60)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: GalaxyM\")\n        mstore(add(headStart, 96), \"ember address cannot be zero\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_10cf72132195a06702535125676557fc885b67ca26fc9e03622a5be594288cb8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 65)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: xAlloca\")\n        mstore(add(headStart, 96), \"tionVoting address cannot be zer\")\n        mstore(add(headStart, 128), \"o\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_e8b9112138e63e4dc03339e9a786896af9a2e43f14f0c8efd86beea4e20b8ee2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 56)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: timeloc\")\n        mstore(add(headStart, 96), \"k address cannot be zero\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_31ed313b40be510024b0ac57d03b0f727a335d0a3f63fae09fdea41991af4591__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 61)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: GrantsM\")\n        mstore(add(headStart, 96), \"anager address cannot be zero\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ab7dbd3a9259caa7b7bb2a0e1123ee83f1cb75cffc874e0cb99b40e3ce6b7879__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 60)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: voterRe\")\n        mstore(add(headStart, 96), \"wards address cannot be zero\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$25017_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        if iszero(lt(value0, 2))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100b95760003560e01c80633397d78d146100be578063382fa8ec146100e05780633ecc274a146101005780634784a113146101205780634f49d9ba1461014057806383833a00146101605780639eb587e914610180578063b26a9509146101a0578063b2b84a74146101c0578063b4ab342c146101e0578063ce396b1f14610200578063d2eee54a14610220578063d639f65c14610240575b600080fd5b8180156100ca57600080fd5b506100de6100d9366004610c55565b610260565b005b8180156100ec57600080fd5b506100de6100fb366004610c83565b61031f565b81801561010c57600080fd5b506100de61011b366004610ca7565b610420565b81801561012c57600080fd5b506100de61013b366004610c83565b610453565b81801561014c57600080fd5b506100de61015b366004610c83565b6104ca565b81801561016c57600080fd5b506100de61017b366004610c83565b6104fc565b81801561018c57600080fd5b506100de61019b366004610ca7565b6105fa565b8180156101ac57600080fd5b506100de6101bb366004610c55565b61064e565b8180156101cc57600080fd5b506100de6101db366004610c83565b61069f565b8180156101ec57600080fd5b506100de6101fb366004610ca7565b61078e565b81801561020c57600080fd5b506100de61021b366004610c83565b6107bd565b81801561022c57600080fd5b506100de61023b366004610c83565b610834565b81801561024c57600080fd5b506100de61025b366004610c83565b610863565b600081116102ce5760405162461bcd60e51b815260206004820152603060248201527f476f7665726e6f72436f6e666967757261746f725631303a20736b697020776960448201526f06e646f77206d757374206265203e20360841b60648201526084015b60405180910390fd5b60006102d8610963565b602281015460408051918252602082018590529192507fb04bf299a74179f455d40e5f5f5c3192123bf6a22ca8e4698e79aa526a6f07a3910160405180910390a160220155565b6001600160a01b0381166103a95760405162461bcd60e51b8152602060048201526044602482018190527f476f7665726e6f72436f6e666967757261746f725631303a2072656c61796572908201527f207265776172647320706f6f6c20616464726573732063616e6e6f74206265206064820152637a65726f60e01b608482015260a4016102c5565b60006103b3610963565b60208101546040519192507f1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e916103f5916001600160a01b0316908590610cd7565b60405180910390a160200180546001600160a01b0319166001600160a01b0392909216919091179055565b61042982610987565b6104455760405162461bcd60e51b81526004016102c590610cf1565b61044f82826109bf565b5050565b600061045d610963565b60148101546040519192507f1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd711609161049f916001600160a01b0316908590610cd7565b60405180910390a160140180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166104f05760405162461bcd60e51b81526004016102c590610d3f565b6104f981610a7d565b50565b6000610506610963565b90506001600160a01b03821661058e5760405162461bcd60e51b815260206004820152604160248201527f476f7665726e6f72436f6e666967757261746f725631303a2078416c6c6f636160448201527f74696f6e566f74696e6720616464726573732063616e6e6f74206265207a65726064820152606f60f81b608482015260a4016102c5565b600a8101546040517f71004d26dc692e8d5005fb307953a5ce05000120035aa3f83615abc6c6fbba2e916105cf916001600160a01b03909116908590610cd7565b60405180910390a1600a0180546001600160a01b0319166001600160a01b0392909216919091179055565b61060382610987565b61061f5760405162461bcd60e51b81526004016102c590610cf1565b606481111561064457604051631f04dde560e11b8152600481018290526024016102c5565b61044f8282610ad2565b6000610658610963565b600481015460408051918252602082018590529192507fd5fa2027382834080d1e011cda04312db2805a2069bb13475f4376e8d7c64668910160405180910390a160040155565b60006106a9610963565b90506001600160a01b0382166107225760405162461bcd60e51b815260206004820152603860248201527f476f7665726e6f72436f6e666967757261746f725631303a2074696d656c6f636044820152776b20616464726573732063616e6e6f74206265207a65726f60401b60648201526084016102c5565b60068101546040517f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b22640191610763916001600160a01b03909116908590610cd7565b60405180910390a160060180546001600160a01b0319166001600160a01b0392909216919091179055565b61079782610987565b6107b35760405162461bcd60e51b81526004016102c590610cf1565b61044f8282610b69565b60006107c7610963565b601f8101546040519192507f072ec7147cbb6a8d38bd6caa7fdf26b9987bb2ec536bbc5288c4a4c335c58c8091610809916001600160a01b0316908590610cd7565b60405180910390a1601f0180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661085a5760405162461bcd60e51b81526004016102c590610d9b565b6104f981610c00565b600061086d610963565b90506001600160a01b0382166108ea5760405162461bcd60e51b815260206004820152603c60248201527f476f7665726e6f72436f6e666967757261746f725631303a20766f746572526560448201527b776172647320616464726573732063616e6e6f74206265207a65726f60201b60648201526084016102c5565b7f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c48160090160019054906101000a90046001600160a01b031683604051610932929190610cd7565b60405180910390a160090180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60008082600181111561099c5761099c610df8565b14806109b9575060018260018111156109b7576109b7610df8565b145b92915050565b60006109c9610963565b90507f1e44e875a8ec5300a305e63ca083de2b0e62e333df633bde0e680a9ff64e3c2183826017016000866001811115610a0557610a05610df8565b6001811115610a1657610a16610df8565b81526020019081526020016000205484604051610a3593929190610e0e565b60405180910390a181816017016000856001811115610a5657610a56610df8565b6001811115610a6757610a67610df8565b8152602081019190915260400160002055505050565b6000610a87610963565b90506001600160a01b038216610aaf5760405162461bcd60e51b81526004016102c590610d3f565b601b0180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610adc610963565b90507fd7f4fd38ed535300fc72a5de4a35264cf0638081fc06ba63a6c1025b9993b0f383826016016000866001811115610b1857610b18610df8565b6001811115610b2957610b29610df8565b81526020019081526020016000205484604051610b4893929190610e0e565b60405180910390a181816016016000856001811115610a5657610a56610df8565b6000610b73610963565b90507fbab71752ceaca29a72caf93b1099d9bfcf0e836a02c01a567d4e7365ae2242c283826019016000866001811115610baf57610baf610df8565b6001811115610bc057610bc0610df8565b81526020019081526020016000205484604051610bdf93929190610e0e565b60405180910390a181816019016000856001811115610a5657610a56610df8565b6000610c0a610963565b90506001600160a01b038216610c325760405162461bcd60e51b81526004016102c590610d9b565b601a0180546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610c6757600080fd5b5035919050565b6001600160a01b03811681146104f957600080fd5b600060208284031215610c9557600080fd5b8135610ca081610c6e565b9392505050565b60008060408385031215610cba57600080fd5b823560028110610cc957600080fd5b946020939093013593505050565b6001600160a01b0392831681529116602082015260400190565b6020808252602e908201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460408201526d2070726f706f73616c207479706560901b606082015260800190565b6020808252603c908201527f476f7665726e6f72436f6e666967757261746f725631303a2047616c6178794d60408201527b656d62657220616464726573732063616e6e6f74206265207a65726f60201b606082015260800190565b6020808252603d908201527f476f7665726e6f72436f6e666967757261746f725631303a204772616e74734d60408201527f616e6167657220616464726573732063616e6e6f74206265207a65726f000000606082015260800190565b634e487b7160e01b600052602160045260246000fd5b6060810160028510610e3057634e487b7160e01b600052602160045260246000fd5b93815260208101929092526040909101529056fea2646970667358221220e1b7068213291267cdd73699656ac6a08b8e7223e55006597ae561af8a738cc064736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3397D78D EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0x382FA8EC EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x3ECC274A EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x4784A113 EQ PUSH2 0x120 JUMPI DUP1 PUSH4 0x4F49D9BA EQ PUSH2 0x140 JUMPI DUP1 PUSH4 0x83833A00 EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0x9EB587E9 EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0xB26A9509 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xB2B84A74 EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xB4AB342C EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xCE396B1F EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0xD2EEE54A EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0xD639F65C EQ PUSH2 0x240 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0xC55 JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x31F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x11B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA7 JUMP JUMPDEST PUSH2 0x420 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x12C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x13B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x453 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x14C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x15B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x17B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x4FC JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x18C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA7 JUMP JUMPDEST PUSH2 0x5FA JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1BB CALLDATASIZE PUSH1 0x4 PUSH2 0xC55 JUMP JUMPDEST PUSH2 0x64E JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1DB CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x69F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0xCA7 JUMP JUMPDEST PUSH2 0x78E JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x20C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x7BD JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x834 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0xC83 JUMP JUMPDEST PUSH2 0x863 JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0x2CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20736B6970207769 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x6E646F77206D757374206265203E203 PUSH1 0x84 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2D8 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x22 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xB04BF299A74179F455D40E5F5F5C3192123BF6A22CA8E4698E79AA526A6F07A3 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x22 ADD SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x44 PUSH1 0x24 DUP3 ADD DUP2 SWAP1 MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A2072656C61796572 SWAP1 DUP3 ADD MSTORE PUSH32 0x207265776172647320706F6F6C20616464726573732063616E6E6F7420626520 PUSH1 0x64 DUP3 ADD MSTORE PUSH4 0x7A65726F PUSH1 0xE0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B3 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1CDB859FDDC65C1FC3FC767C3640525B1847D0ACE5955A01B15C7A91D96C357E SWAP2 PUSH2 0x3F5 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x20 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x429 DUP3 PUSH2 0x987 JUMP JUMPDEST PUSH2 0x445 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xCF1 JUMP JUMPDEST PUSH2 0x44F DUP3 DUP3 PUSH2 0x9BF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45D PUSH2 0x963 JUMP JUMPDEST PUSH1 0x14 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1635A7CE44FAF9C7A871602659C02602D0B1DEB541D4DF560D0616D42DD71160 SWAP2 PUSH2 0x49F SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x14 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4F0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x4F9 DUP2 PUSH2 0xA7D JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x506 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x58E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A2078416C6C6F6361 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x74696F6E566F74696E6720616464726573732063616E6E6F74206265207A6572 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x6F PUSH1 0xF8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x71004D26DC692E8D5005FB307953A5CE05000120035AA3F83615ABC6C6FBBA2E SWAP2 PUSH2 0x5CF SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xA ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x603 DUP3 PUSH2 0x987 JUMP JUMPDEST PUSH2 0x61F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xCF1 JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x644 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1F04DDE5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH2 0x44F DUP3 DUP3 PUSH2 0xAD2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x658 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xD5FA2027382834080D1E011CDA04312DB2805A2069BB13475F4376E8D7C64668 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x4 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6A9 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x722 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A2074696D656C6F63 PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6B20616464726573732063616E6E6F74206265207A65726F PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x8F74EA46EF7894F65EABFB5E6E695DE773A000B47C529AB559178069B226401 SWAP2 PUSH2 0x763 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x6 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x797 DUP3 PUSH2 0x987 JUMP JUMPDEST PUSH2 0x7B3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xCF1 JUMP JUMPDEST PUSH2 0x44F DUP3 DUP3 PUSH2 0xB69 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7C7 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x1F DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x72EC7147CBB6A8D38BD6CAA7FDF26B9987BB2EC536BBC5288C4A4C335C58C80 SWAP2 PUSH2 0x809 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1F ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x85A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xD9B JUMP JUMPDEST PUSH2 0x4F9 DUP2 PUSH2 0xC00 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x86D PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8EA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20766F7465725265 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x776172647320616464726573732063616E6E6F74206265207A65726F PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2C5 JUMP JUMPDEST PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 DUP2 PUSH1 0x9 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x932 SWAP3 SWAP2 SWAP1 PUSH2 0xCD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x9 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x99C JUMPI PUSH2 0x99C PUSH2 0xDF8 JUMP JUMPDEST EQ DUP1 PUSH2 0x9B9 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x9B7 JUMPI PUSH2 0x9B7 PUSH2 0xDF8 JUMP JUMPDEST EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9C9 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH32 0x1E44E875A8EC5300A305E63CA083DE2B0E62E333DF633BDE0E680A9FF64E3C21 DUP4 DUP3 PUSH1 0x17 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA05 JUMPI PUSH2 0xA05 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA16 JUMPI PUSH2 0xA16 PUSH2 0xDF8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xA35 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x17 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA56 JUMPI PUSH2 0xA56 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA67 JUMPI PUSH2 0xA67 PUSH2 0xDF8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA87 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xD3F JUMP JUMPDEST PUSH1 0x1B ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xADC PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH32 0xD7F4FD38ED535300FC72A5DE4A35264CF0638081FC06BA63A6C1025B9993B0F3 DUP4 DUP3 PUSH1 0x16 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB18 JUMPI PUSH2 0xB18 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB29 JUMPI PUSH2 0xB29 PUSH2 0xDF8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xB48 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x16 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA56 JUMPI PUSH2 0xA56 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB73 PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH32 0xBAB71752CEACA29A72CAF93B1099D9BFCF0E836A02C01A567D4E7365AE2242C2 DUP4 DUP3 PUSH1 0x19 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBAF JUMPI PUSH2 0xBAF PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBC0 JUMPI PUSH2 0xBC0 PUSH2 0xDF8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xBDF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xE0E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x19 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA56 JUMPI PUSH2 0xA56 PUSH2 0xDF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC0A PUSH2 0x963 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC32 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2C5 SWAP1 PUSH2 0xD9B JUMP JUMPDEST PUSH1 0x1A ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCA0 DUP2 PUSH2 0xC6E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xCBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0xCC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x3C SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A2047616C6178794D PUSH1 0x40 DUP3 ADD MSTORE PUSH28 0x656D62657220616464726573732063616E6E6F74206265207A65726F PUSH1 0x20 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x3D SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A204772616E74734D PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616E6167657220616464726573732063616E6E6F74206265207A65726F000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD PUSH1 0x2 DUP6 LT PUSH2 0xE30 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE1 0xB7 MOD DUP3 SGT 0x29 SLT PUSH8 0xCDD73699656AC6A0 DUP12 DUP15 PUSH19 0x23E55006597AE561AF8A738CC064736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"2502:17721:50:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6843:377;;;;;;;;;;-1:-1:-1;6843:377:50;;;;;:::i;:::-;;:::i;:::-;;6221:484;;;;;;;;;;-1:-1:-1;6221:484:50;;;;;:::i;:::-;;:::i;11483:332::-;;;;;;;;;;-1:-1:-1;11483:332:50;;;;;:::i;:::-;;:::i;5302:319::-;;;;;;;;;;-1:-1:-1;5302:319:50;;;;;:::i;:::-;;:::i;13906:242::-;;;;;;;;;;-1:-1:-1;13906:242:50;;;;;:::i;:::-;;:::i;8566:480::-;;;;;;;;;;-1:-1:-1;8566:480:50;;;;;:::i;:::-;;:::i;9941:472::-;;;;;;;;;;-1:-1:-1;9941:472:50;;;;;:::i;:::-;;:::i;7433:277::-;;;;;;;;;;-1:-1:-1;7433:277:50;;;;;:::i;:::-;;:::i;9238:390::-;;;;;;;;;;-1:-1:-1;9238:390:50;;;;;:::i;:::-;;:::i;12809:348::-;;;;;;;;;;-1:-1:-1;12809:348:50;;;;;:::i;:::-;;:::i;5756:327::-;;;;;;;;;;-1:-1:-1;5756:327:50;;;;;:::i;:::-;;:::i;14608:249::-;;;;;;;;;;-1:-1:-1;14608:249:50;;;;;:::i;:::-;;:::i;7913:404::-;;;;;;;;;;-1:-1:-1;7913:404:50;;;;;:::i;:::-;;:::i;6843:377::-;6934:1;6923:8;:12;6915:73;;;;-1:-1:-1;;;6915:73:50;;3317:2:150;6915:73:50;;;3299:21:150;3356:2;3336:18;;;3329:30;3395:34;3375:18;;;3368:62;-1:-1:-1;;;3446:18:150;;;3439:46;3502:19;;6915:73:50;;;;;;;;;6994:49;7046:44;:42;:44::i;:::-;7131:28;;;;7101:69;;;3706:25:150;;;3762:2;3747:18;;3740:34;;;6994:96:50;;-1:-1:-1;7101:69:50;;3679:18:150;7101:69:50;;;;;;;7176:28;;:39;6843:377::o;6221:484::-;-1:-1:-1;;;;;6325:44:50;;6310:143;;;;-1:-1:-1;;;6310:143:50;;3987:2:150;6310:143:50;;;3969:21:150;4026:2;4006:18;;;3999:30;;;4065:34;4045:18;;;4038:62;4136:34;4116:18;;;4109:62;-1:-1:-1;;;4187:19:150;;;4180:35;4232:19;;6310:143:50;3785:472:150;6310:143:50;6459:49;6511:44;:42;:44::i;:::-;6596:20;;;;6566:84;;6459:96;;-1:-1:-1;6566:84:50;;;;-1:-1:-1;;;;;6596:20:50;;6627:21;;6566:84;:::i;:::-;;;;;;;;6656:20;;:44;;-1:-1:-1;;;;;;6656:44:50;-1:-1:-1;;;;;6656:44:50;;;;;;;;;;6221:484::o;11483:332::-;11630:58;11675:12;11630:44;:58::i;:::-;11622:117;;;;-1:-1:-1;;;11622:117:50;;;;;;;:::i;:::-;11745:65;11777:12;11791:18;11745:31;:65::i;:::-;11483:332;;:::o;5302:319::-;5385:49;5437:44;:42;:44::i;:::-;5520:18;;;;5492:78;;5385:96;;-1:-1:-1;5492:78:50;;;;-1:-1:-1;;;;;5520:18:50;;5549:19;;5492:78;:::i;:::-;;;;;;;;5576:18;;:40;;-1:-1:-1;;;;;;5576:40:50;-1:-1:-1;;;;;5576:40:50;;;;;;;;;;5302:319::o;13906:242::-;-1:-1:-1;;;;;13993:38:50;;13985:111;;;;-1:-1:-1;;;13985:111:50;;;;;;;:::i;:::-;14102:41;14127:15;14102:24;:41::i;:::-;13906:242;:::o;8566:480::-;8660:49;8712:44;:42;:44::i;:::-;8660:96;-1:-1:-1;;;;;;8777:43:50;;8762:139;;;;-1:-1:-1;;;8762:139:50;;5617:2:150;8762:139:50;;;5599:21:150;5656:2;5636:18;;;5629:30;5695:34;5675:18;;;5668:62;5766:34;5746:18;;;5739:62;-1:-1:-1;;;5817:19:150;;;5810:32;5859:19;;8762:139:50;5415:469:150;8762:139:50;8941:19;;;;8912:81;;;;;;-1:-1:-1;;;;;8941:19:50;;;;8971:20;;8912:81;:::i;:::-;;;;;;;;8999:19;;:42;;-1:-1:-1;;;;;;8999:42:50;-1:-1:-1;;;;;8999:42:50;;;;;;;;;;8566:480::o;9941:472::-;10100:58;10145:12;10100:44;:58::i;:::-;10092:117;;;;-1:-1:-1;;;10092:117:50;;;;;;;:::i;:::-;10241:3;10219:19;:25;10215:108;;;10261:55;;-1:-1:-1;;;10261:55:50;;;;;6035:25:150;;;6008:18;;10261:55:50;5889:177:150;10215:108:50;10328:77;10371:12;10385:19;10328:42;:77::i;7433:277::-;7502:49;7554:44;:42;:44::i;:::-;7627:16;;;;7609:54;;;3706:25:150;;;3762:2;3747:18;;3740:34;;;7502:96:50;;-1:-1:-1;7609:54:50;;3679:18:150;7609:54:50;;;;;;;7669:16;;:36;7433:277::o;9238:390::-;9320:49;9372:44;:42;:44::i;:::-;9320:96;-1:-1:-1;;;;;;9430:34:50;;9422:103;;;;-1:-1:-1;;;9422:103:50;;6273:2:150;9422:103:50;;;6255:21:150;6312:2;6292:18;;;6285:30;6351:34;6331:18;;;6324:62;-1:-1:-1;;;6402:18:150;;;6395:54;6466:19;;9422:103:50;6071:420:150;9422:103:50;9559:10;;;;9536:57;;;;;;-1:-1:-1;;;;;9559:10:50;;;;9580:11;;9536:57;:::i;:::-;;;;;;;;9599:10;;:24;;-1:-1:-1;;;;;;9599:24:50;-1:-1:-1;;;;;9599:24:50;;;;;;;;;;9238:390::o;12809:348::-;12964:58;13009:12;12964:44;:58::i;:::-;12956:117;;;;-1:-1:-1;;;12956:117:50;;;;;;;:::i;:::-;13079:73;13115:12;13129:22;13079:35;:73::i;5756:327::-;5842:49;5894:44;:42;:44::i;:::-;5978:19;;;;5949:81;;5842:96;;-1:-1:-1;5949:81:50;;;;-1:-1:-1;;;;;5978:19:50;;6008:20;;5949:81;:::i;:::-;;;;;;;;6036:19;;:42;;-1:-1:-1;;;;;;6036:42:50;-1:-1:-1;;;;;6036:42:50;;;;;;;;;;5756:327::o;14608:249::-;-1:-1:-1;;;;;14698:39:50;;14690:113;;;;-1:-1:-1;;;14690:113:50;;;;;;;:::i;:::-;14809:43;14835:16;14809:25;:43::i;7913:404::-;7984:49;8036:44;:42;:44::i;:::-;7984:96;-1:-1:-1;;;;;;8094:38:50;;8086:111;;;;-1:-1:-1;;;8086:111:50;;7128:2:150;8086:111:50;;;7110:21:150;7167:2;7147:18;;;7140:30;7206:34;7186:18;;;7179:62;-1:-1:-1;;;7257:18:150;;;7250:58;7325:19;;8086:111:50;6926:424:150;8086:111:50;8208:66;8232:1;:14;;;;;;;;;;-1:-1:-1;;;;;8232:14:50;8257:15;8208:66;;;;;;;:::i;:::-;;;;;;;;8280:14;;:32;;-1:-1:-1;;;;;8280:32:50;;;;;-1:-1:-1;;;;;;8280:32:50;;;;;;;;;7913:404::o;2703:146:57:-;2816:23;;2703:146::o;39754:250:54:-;39855:4;;39880:17;:59;;;;;;;;:::i;:::-;;:119;;;-1:-1:-1;39964:35:54;39943:17;:56;;;;;;;;:::i;:::-;;39880:119;39867:132;39754:250;-1:-1:-1;;39754:250:54:o;12090:421:50:-;12230:49;12282:44;:42;:44::i;:::-;12230:96;;12337:99;12358:12;12372:1;:29;;:43;12402:12;12372:43;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;12417:18;12337:99;;;;;;;;:::i;:::-;;;;;;;;12488:18;12442:1;:29;;:43;12472:12;12442:43;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;12442:43:50;:64;-1:-1:-1;;;12090:421:50:o;14268:336::-;14348:49;14400:44;:42;:44::i;:::-;14348:96;-1:-1:-1;;;;;;14458:38:50;;14450:111;;;;-1:-1:-1;;;14450:111:50;;;;;;;:::i;:::-;14567:14;;:32;;-1:-1:-1;;;;;;14567:32:50;-1:-1:-1;;;;;14567:32:50;;;;;;;;;;14268:336::o;10726:482::-;10878:49;10930:44;:42;:44::i;:::-;10878:96;;10985:136;11014:12;11034:1;:40;;:54;11075:12;11034:54;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11096:19;10985:136;;;;;;;;:::i;:::-;;;;;;;;11184:19;11127:1;:40;;:54;11168:12;11127:54;;;;;;;;:::i;13455:447::-;13603:49;13655:44;:42;:44::i;:::-;13603:96;;13710:109;13733:12;13747:1;:33;;:47;13781:12;13747:47;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13796:22;13710:109;;;;;;;;:::i;:::-;;;;;;;;13875:22;13825:1;:33;;:47;13859:12;13825:47;;;;;;;;:::i;14980:343::-;15063:49;15115:44;:42;:44::i;:::-;15063:96;-1:-1:-1;;;;;;15173:39:50;;15165:113;;;;-1:-1:-1;;;15165:113:50;;;;;;;:::i;:::-;15284:15;;:34;;-1:-1:-1;;;;;;15284:34:50;-1:-1:-1;;;;;15284:34:50;;;;;;;;;;14980:343::o;14:180:150:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:150;;14:180;-1:-1:-1;14:180:150:o;199:152::-;-1:-1:-1;;;;;295:31:150;;285:42;;275:70;;341:1;338;331:12;356:297;444:6;497:2;485:9;476:7;472:23;468:32;465:52;;;513:1;510;503:12;465:52;552:9;539:23;571:52;617:5;571:52;:::i;:::-;642:5;356:297;-1:-1:-1;;;356:297:150:o;658:342::-;744:6;752;805:2;793:9;784:7;780:23;776:32;773:52;;;821:1;818;811:12;773:52;860:9;847:23;899:1;892:5;889:12;879:40;;915:1;912;905:12;879:40;938:5;990:2;975:18;;;;962:32;;-1:-1:-1;;;658:342:150:o;4262:304::-;-1:-1:-1;;;;;4492:15:150;;;4474:34;;4544:15;;4539:2;4524:18;;4517:43;4424:2;4409:18;;4262:304::o;4571:410::-;4773:2;4755:21;;;4812:2;4792:18;;;4785:30;4851:34;4846:2;4831:18;;4824:62;-1:-1:-1;;;4917:2:150;4902:18;;4895:44;4971:3;4956:19;;4571:410::o;4986:424::-;5188:2;5170:21;;;5227:2;5207:18;;;5200:30;5266:34;5261:2;5246:18;;5239:62;-1:-1:-1;;;5332:2:150;5317:18;;5310:58;5400:3;5385:19;;4986:424::o;6496:425::-;6698:2;6680:21;;;6737:2;6717:18;;;6710:30;6776:34;6771:2;6756:18;;6749:62;6847:31;6842:2;6827:18;;6820:59;6911:3;6896:19;;6496:425::o;7355:127::-;7416:10;7411:3;7407:20;7404:1;7397:31;7447:4;7444:1;7437:15;7471:4;7468:1;7461:15;7487:488;7693:2;7678:18;;7726:1;7715:13;;7705:144;;7771:10;7766:3;7762:20;7759:1;7752:31;7806:4;7803:1;7796:15;7834:4;7831:1;7824:15;7705:144;7858:25;;;7914:2;7899:18;;7892:34;;;;7957:2;7942:18;;;7935:34;7487:488;:::o"},"methodIdentifiers":{"setGalaxyMemberContract(IGalaxyMember)":"4f49d9ba","setGovernanceSkipWindowBlocks(uint256)":"3397d78d","setGrantsManagerContract(IGrantsManager)":"d2eee54a","setMinVotingDelay(uint256)":"b26a9509","setNavigatorRegistry(INavigatorRegistry)":"ce396b1f","setProposalTypeDepositThresholdCap(GovernorTypesV10.ProposalType,uint256)":"b4ab342c","setProposalTypeDepositThresholdPercentage(GovernorTypesV10.ProposalType,uint256)":"9eb587e9","setProposalTypeVotingThreshold(GovernorTypesV10.ProposalType,uint256)":"3ecc274a","setRelayerRewardsPool(IRelayerRewardsPool)":"382fa8ec","setVeBetterPassport(IVeBetterPassport)":"4784a113","setVoterRewards(IVoterRewards)":"d639f65c","setXAllocationVoting(IXAllocationVotingGovernor)":"83833a00","updateTimelock(TimelockControllerUpgradeable)":"b2b84a74"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gmLevel\",\"type\":\"uint256\"}],\"name\":\"GMLevelAboveMaxLevel\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"GovernorDepositThresholdNotInRange\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThresholdCap\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThresholdCap\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdCapSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdSetV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"GovernanceSkipWindowBlocksSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldMinMinVotingDelay\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMinVotingDelay\",\"type\":\"uint256\"}],\"name\":\"MinVotingDelaySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldNavigatorRegistry\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newNavigatorRegistry\",\"type\":\"address\"}],\"name\":\"NavigatorRegistrySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldRelayerRewardsPool\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newRelayerRewardsPool\",\"type\":\"address\"}],\"name\":\"RelayerRewardsPoolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldRequiredGMLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newRequiredGMLevel\",\"type\":\"uint256\"}],\"name\":\"RequiredGMLevelSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldTimelock\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"TimelockChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldVeBetterPassport\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VoterRewardsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSetV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"XAllocationVotingSet\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"This library provides functions to set and get various configuration parameters and contracts used by the Governor contract.\",\"errors\":{\"GMLevelAboveMaxLevel(uint256)\":[{\"details\":\"The GM level is not in the valid range - 0 to max level.\"}],\"GovernorDepositThresholdNotInRange(uint256)\":[{\"details\":\"The deposit threshold is not in the valid range for a percentage - 0 to 100.\"}]},\"events\":{\"DepositThresholdCapSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold cap for a proposal type is set.\"},\"DepositThresholdSet(uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold percentage is set.\"},\"DepositThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold percentage for a proposal type is set.\"},\"MinVotingDelaySet(uint256,uint256)\":{\"details\":\"Emitted when the minimum delay before vote starts is set.\"},\"RequiredGMLevelSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the required GM level for a proposal type is set.\"},\"TimelockChange(address,address)\":{\"details\":\"Emitted when the timelock controller used for proposal execution is modified.\"},\"VeBetterPassportSet(address,address)\":{\"details\":\"Emitted when the VeBetterPassport contract is set.\"},\"VoterRewardsSet(address,address)\":{\"details\":\"Emitted when the voter rewards contract is set.\"},\"VotingThresholdSet(uint256,uint256)\":{\"details\":\"Emitted when the `votingThreshold` is set.\"},\"VotingThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the `votingThreshold` for a proposal type is set.\"},\"XAllocationVotingSet(address,address)\":{\"details\":\"Emitted when the XAllocationVotingGovernor contract is set.\"}},\"kind\":\"dev\",\"methods\":{\"setGovernanceSkipWindowBlocks(uint256)\":{\"params\":{\"newValue\":\"The new skip window in blocks (must be > 0).\"}},\"setMinVotingDelay(uint256)\":{\"details\":\"Sets a new minimum voting delay and emits a {MinVotingDelaySet} event.\",\"params\":{\"newMinVotingDelay\":\"The new minimum voting delay.\"}},\"setNavigatorRegistry(INavigatorRegistry)\":{\"params\":{\"newNavigatorRegistry\":\"The new NavigatorRegistry contract.\"}},\"setProposalTypeDepositThresholdCap(GovernorTypesV10.ProposalType,uint256)\":{\"details\":\"Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\",\"params\":{\"newDepositThresholdCap\":\"The new deposit threshold cap.\",\"proposalType\":\"The proposal type.\"}},\"setProposalTypeDepositThresholdPercentage(GovernorTypesV10.ProposalType,uint256)\":{\"details\":\"Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\",\"params\":{\"newDepositThreshold\":\"The new deposit threshold percentage.\",\"proposalType\":\"The proposal type.\"}},\"setProposalTypeVotingThreshold(GovernorTypesV10.ProposalType,uint256)\":{\"details\":\"Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\",\"params\":{\"newVotingThreshold\":\"The new voting threshold.\",\"proposalType\":\"The proposal type.\"}},\"setRelayerRewardsPool(IRelayerRewardsPool)\":{\"params\":{\"newRelayerRewardsPool\":\"The new RelayerRewardsPool contract.\"}},\"setVeBetterPassport(IVeBetterPassport)\":{\"details\":\"Sets a new VeBetterPassport contract and emits a {VeBetterPassportSet} event.\",\"params\":{\"newVeBetterPassport\":\"The new VeBetterPassport contract.\"}},\"setVoterRewards(IVoterRewards)\":{\"details\":\"Sets a new voter rewards contract and emits a {VoterRewardsSet} event.\",\"params\":{\"newVoterRewards\":\"The new voter rewards contract.\"}},\"setXAllocationVoting(IXAllocationVotingGovernor)\":{\"details\":\"Sets a new XAllocationVotingGovernor contract and emits a {XAllocationVotingSet} event.\",\"params\":{\"newXAllocationVoting\":\"The new XAllocationVotingGovernor contract.\"}},\"updateTimelock(TimelockControllerUpgradeable)\":{\"details\":\"Sets a new timelock controller and emits a {TimelockChange} event.\",\"params\":{\"newTimelock\":\"The new timelock controller.\"}}},\"title\":\"GovernorConfiguratorV10 Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setGovernanceSkipWindowBlocks(uint256)\":{\"notice\":\"Sets the governance skip window in blocks.\"},\"setMinVotingDelay(uint256)\":{\"notice\":\"Sets the minimum delay before vote starts.\"},\"setNavigatorRegistry(INavigatorRegistry)\":{\"notice\":\"Sets the NavigatorRegistry contract.\"},\"setProposalTypeDepositThresholdCap(GovernorTypesV10.ProposalType,uint256)\":{\"notice\":\"Sets the deposit threshold cap for a proposal type.\"},\"setProposalTypeDepositThresholdPercentage(GovernorTypesV10.ProposalType,uint256)\":{\"notice\":\"Sets the deposit threshold percentage for a proposal type.\"},\"setProposalTypeVotingThreshold(GovernorTypesV10.ProposalType,uint256)\":{\"notice\":\"Sets the voting threshold for a proposal type.\"},\"setRelayerRewardsPool(IRelayerRewardsPool)\":{\"notice\":\"Sets the RelayerRewardsPool contract.\"},\"setVeBetterPassport(IVeBetterPassport)\":{\"notice\":\"Sets the VeBetterPassport contract.\"},\"setVoterRewards(IVoterRewards)\":{\"notice\":\"Sets the voter rewards contract.\"},\"setXAllocationVoting(IXAllocationVotingGovernor)\":{\"notice\":\"Sets the XAllocationVotingGovernor contract.\"},\"updateTimelock(TimelockControllerUpgradeable)\":{\"notice\":\"Updates the timelock controller.\"}},\"notice\":\"Library for managing the configuration of a Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol\":\"GovernorConfiguratorV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol\":{\"keccak256\":\"0x6a7cc588ce08460da1388dab77c8778aa1a60065cd43ae2360c103e640dfc2a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://254fe95dec0ab5497b4bbefe29fb65dea5b0594c90982dbf3b66c2f6c1c39f29\",\"dweb:/ipfs/QmW3dbwg9H6GPrvaDeKLfRQBzz28BFwNVufkT7pe1hv6B7\"]},\"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol\":{\"keccak256\":\"0x3397264be328d66e78addf8da14626cedf3e822eda096dcc0b0d4c8f590cf164\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d8770a70795251944aea6b12221270a6e1df0a6cae7de3cfa985d9d85f5b44e\",\"dweb:/ipfs/QmPo2y4pt9xMkdoXjWRKvmVjN5ao2DaQpdpsEDLWoX6Tds\"]},\"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol\":{\"keccak256\":\"0x4b49b4820370e23b8a9cc8e4cfd7cc233078aa18b127e4f3bb71eef2037d56fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0d15ed7cf840190e4fe550d5beac54812fcf3c935415ac45f78d2da8edce094\",\"dweb:/ipfs/QmSakePtMJCjxqVyS5UhPi6jLwojUgdLK2mkjf4JkZuUNr\"]},\"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\":{\"keccak256\":\"0xdf23dd2f515e503dbbae2a4d4d4e9efcca22e357aacdb83e5abdc5854783cc22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b3c6779fcdf93f8f8afc3ddf7591fe983d47ad6ae8eaa29902603c701beaf86\",\"dweb:/ipfs/QmdigrheDca8jAb7cwgGj3r3f95DsjEDdqb5pT5gfiiULL\"]},\"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol\":{\"keccak256\":\"0x1b1ff6cdf118475d82421782ff9e8b83fe0056bdffea414bfb6be15ad6cdb73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9aacb4a80e7922069ec2ed464c17ad17b72b4a061dd4ed63e5449b8147407260\",\"dweb:/ipfs/QmR1cqBsHBJurr5DfpJ1daov1DnxS2Yz9atCggvV2if4V1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol\":{\"keccak256\":\"0x88765be13ee3cc295e11e5b966a3c80f7fc976c1a10eac3fe096b7f1e26dd509\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://846d77bf1f45c0bc78fcaf8f51a45763a3c4879b33cc172ef12b736182804908\",\"dweb:/ipfs/QmWdh7woCYYsUXoW2RyoBrVWQvTtjwVqVAD9AT8wRnUoa3\"]},\"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol\":{\"keccak256\":\"0xcddb1bc4f53ed3df2264eee5a6b0c8894d6a01d9673eff866b81691a56e557ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f21e5eec2c06dcb3bab8d7af5808adb47b8dfd99de7483d4d81e04effe10f05d\",\"dweb:/ipfs/QmPLUSt6CaCjS5tFqeVDeCnvfq8jG99KJhzs5GfaK2tjRh\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol\":{\"keccak256\":\"0x50c28e3d5abc3914216c8871ec74f3cafac0ca598bf389d84af6bcc950d792a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45bb508ad0afe1da38784ee6b51b6c1cc4f4604e6c84052fc2917c1bb8436d18\",\"dweb:/ipfs/QmXhdxjhT4Hn3SiGm31hJbZDSYMYjqX9k72Zx6eanGZNHE\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol\":{\"keccak256\":\"0x944ea2027e155ed6020969da6d21c8c0f22b49e4b1792c3403b6ae75e52c5328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df4a784bb01c7df68a62c68d8c859a7fb73980d5d99ade94d2c2f62e11d68488\",\"dweb:/ipfs/QmawVpasYNft622Myguv2weKnmpA7z17o4dbCt7io9r9M9\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol":{"GovernorDepositLogicV10":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[],"name":"GovernorInvalidDepositAmount","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositer","type":"address"}],"name":"GovernorNoDepositToWithdraw","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GranteeCannotDepositOwnGrant","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"withdrawer","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalWithdraw","type":"event"},{"inputs":[{"internalType":"uint8","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":491},{"length":20,"start":655},{"length":20,"start":2287},{"length":20,"start":2456},{"length":20,"start":3037},{"length":20,"start":6081},{"length":20,"start":6204}]}},"object":"611e8d61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062f714ce1461005a5780636b6a07041461007c578063a56b5765146100a1578063e2bbb158146100b4575b600080fd5b81801561006657600080fd5b5061007a610075366004611ab6565b6100d4565b005b61008f61008a366004611ae2565b6103c4565b60405190815260200160405180910390f35b61008f6100af366004611b05565b6103e9565b8180156100c057600080fd5b5061007a6100cf366004611b2f565b610433565b60006100de610535565b6000848152600d8201602090815260408083206001600160a01b038716845290915281205491925061013d90859061011590610559565b6001610122600982611b7d565b61012d906002611c7a565b6101379190611c89565b1861057c565b5080600003610176576040516315fb458d60e01b8152600481018590526001600160a01b03841660248201526044015b60405180910390fd5b6000848152600d8301602090815260408083206001600160a01b0387168452825280832083905580516324776b7d60e21b8152905161022f9273__$f2b2c58f5cb02a2b1a2ff648948be15d53$__926391ddadf492600480830193928290030181865af41580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f9190611c9c565b6001600160a01b0386166000908152601d860160205260409020906105c2565b9050600061024e610249846001600160d01b038516611c89565b610678565b90506102e173__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561029c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c09190611c9c565b6001600160a01b0387166000908152601d87016020526040902090836106b0565b5050600c84015460405163a9059cbb60e01b81526001600160a01b038781166004830152602482018690529091169063a9059cbb906044016020604051808303816000875af1158015610338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035c9190611cc4565b6103785760405162461bcd60e51b815260040161016d90611ce6565b85856001600160a01b03167ffbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1856040516103b491815260200190565b60405180910390a3505050505050565b60006103e38260ff1660018111156103de576103de611b51565b6106cb565b92915050565b6000806103f4610535565b905061042261040284610799565b6001600160a01b0386166000908152601d840160205260409020906105c2565b6001600160d01b0316949350505050565b600061043d610535565b9050826000036104605760405163c22b340f60e01b815260040160405180910390fd5b60008281526001808301602052604082209081015490910361049857604051636ad0607560e01b81526004810184905260240161016d565b80546001600160a01b0316331480156104d557506001600084815260158401602052604090205460ff1660018111156104d3576104d3611b51565b145b156104f657604051633c23a8d760e11b81526004810184905260240161016d565b610509836105046000610559565b61057c565b508381600301600082825461051e9190611d1b565b9091555061052f90508433856107cc565b50505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600081600981111561056d5761056d611b51565b600160ff919091161b92915050565b60008061058884610a28565b905060008361059683610559565b16036105bb578381846040516331b75e4d60e01b815260040161016d93929190611d2e565b9392505050565b8154600090818160058111156106215760006105dd84610dcf565b6105e79085611c89565b60008881526020902090915081015465ffffffffffff90811690871610156106115780915061061f565b61061c816001611d1b565b92505b505b600061062f87878585610eb7565b9050801561066a5761065487610646600184611c89565b600091825260209091200190565b54600160301b90046001600160d01b031661066d565b60005b979650505050505050565b60006001600160d01b038211156106ac576040516306dfcc6560e41b815260d060048201526024810183905260440161016d565b5090565b6000806106be858585610f11565b915091505b935093915050565b6000806106d6610535565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190611d64565b61075e8661108b565b6107689190611d7d565b6107729190611daa565b9050600061077f856110fd565b90508082111561079157949350505050565b509392505050565b600065ffffffffffff8211156106ac576040516306dfcc6560e41b8152603060048201526024810183905260440161016d565b60006107d6610535565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af1158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190611cc4565b6108735760405162461bcd60e51b815260040161016d90611ce6565b6000828152600d8201602090815260408083206001600160a01b0387168452909152812080548692906108a7908490611d1b565b92505081905550600061094073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190611c9c565b6001600160a01b0386166000908152601d850160205260409020906105c2565b9050600061094d86610678565b6109579083611dcc565b90506109ea73__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190611c9c565b6001600160a01b0387166000908152601d86016020526040902090836106b0565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516103b491815260200190565b600080610a33610535565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610a8857610a88611b51565b03610a9a575060089695505050505050565b6002836002811115610aae57610aae611b51565b03610ac0575060099695505050505050565b8115610ad3575060069695505050505050565b8015610ae6575060029695505050505050565b8360010154600003610b0e57604051636ad0607560e01b81526004810188905260240161016d565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190611d64565b1015610b9f575060009695505050505050565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0e9190611c9c565b65ffffffffffff1690506000610c2389611147565b9050610c2e8961130f565b610c415750600798975050505050505050565b818110610c575750600198975050505050505050565b610c608961133b565b1580610c725750610c7089611399565b155b15610c865750600398975050505050505050565b610c8f896113c1565b600003610ca55750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611cc4565b15610d3b575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190611cc4565b15610dbf575060069998505050505050505050565b5060029998505050505050505050565b600081600003610de157506000919050565b60006001610dee846113f3565b901c6001901b90506001818481610e0757610e07611d94565b048201901c90506001818481610e1f57610e1f611d94565b048201901c90506001818481610e3757610e37611d94565b048201901c90506001818481610e4f57610e4f611d94565b048201901c90506001818481610e6757610e67611d94565b048201901c90506001818481610e7f57610e7f611d94565b048201901c90506001818481610e9757610e97611d94565b048201901c90506105bb81828581610eb157610eb1611d94565b04611487565b60005b81831015610791576000610ece848461149d565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610efd57809250610f0b565b610f08816001611d1b565b93505b50610eba565b825460009081908015611030576000610f2f87610646600185611c89565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f8357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fcf5784610fa688610646600186611c89565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611020565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506106c39050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816106c3565b600080611096610535565b90506110a1836114b8565b6110bd5760405162461bcd60e51b815260040161016d90611df3565b8060160160008460018111156110d5576110d5611b51565b60018111156110e6576110e6611b51565b815260200190815260200160002054915050919050565b600080611108610535565b9050611113836114b8565b61112f5760405162461bcd60e51b815260040161016d90611df3565b8060190160008460018111156110d5576110d5611b51565b600080611152610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e69190611d64565b106112835760006111f5610535565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015611257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127b9190611d64565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190611d64565b611305846114ef565b6105bb9190611d1b565b60008061131a610535565b60009384526001016020525050604090206004810154600390910154101590565b600080611346610535565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061138f611378866114ef565b83600181111561138a5761138a611b51565b611897565b1115949350505050565b6000806113a4610535565b6000938452600f0160205250506040902080546001909101541190565b6000806113cc610535565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080608083901c1561140857608092831c92015b604083901c1561141a57604092831c92015b602083901c1561142c57602092831c92015b601083901c1561143e57601092831c92015b600883901c1561145057600892831c92015b600483901c1561146257600492831c92015b600283901c1561147457600292831c92015b600183901c156103e35760010192915050565b600081831061149657816105bb565b5090919050565b60006114ac6002848418611daa565b6105bb90848416611d1b565b6000808260018111156114cd576114cd611b51565b14806103e3575060018260018111156114e8576114e8611b51565b1492915050565b6000806114fa610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190611d64565b106115e657600061159d610535565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda9060240161123a565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116569190611d64565b60008581526001808501602052604090912001546116749190611c89565b90506000611683600183611c89565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fc9190611d64565b6117069190611d7d565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117839190611d64565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f29190611c9c565b65ffffffffffff1681116118785773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186d9190611c9c565b65ffffffffffff1690505b826118838383611d1b565b61188d9190611d1b565b9695505050505050565b6000806118a2610535565b905060646118b08585611933565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156118fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191f9190611d64565b6119299190611d7d565b61127b9190611daa565b60006105bb838360ff16600181111561194e5761194e611b51565b600080611959610535565b9050600081601801600085600181111561197557611975611b51565b600181111561198657611986611b51565b81526020810191909152604001600090812054915060188301818660018111156119b2576119b2611b51565b60018111156119c3576119c3611b51565b815260208101919091526040016000206119de600184611c89565b815481106119ee576119ee611e41565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611a34576001600160d01b031694506103e39350505050565b611a85611a4089610799565b8660180160008a6001811115611a5857611a58611b51565b6001811115611a6957611a69611b51565b81526020019081526020016000206105c290919063ffffffff16565b6001600160d01b031698975050505050505050565b80356001600160a01b0381168114611ab157600080fd5b919050565b60008060408385031215611ac957600080fd5b82359150611ad960208401611a9a565b90509250929050565b600060208284031215611af457600080fd5b813560ff811681146105bb57600080fd5b60008060408385031215611b1857600080fd5b611b2183611a9a565b946020939093013593505050565b60008060408385031215611b4257600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156103e3576103e3611b67565b600181815b80851115611bd1578160001904821115611bb757611bb7611b67565b80851615611bc457918102915b93841c9390800290611b9b565b509250929050565b600082611be8575060016103e3565b81611bf5575060006103e3565b8160018114611c0b5760028114611c1557611c31565b60019150506103e3565b60ff841115611c2657611c26611b67565b50506001821b6103e3565b5060208310610133831016604e8410600b8410161715611c54575081810a6103e3565b611c5e8383611b96565b8060001904821115611c7257611c72611b67565b029392505050565b60006105bb60ff841683611bd9565b818103818111156103e3576103e3611b67565b600060208284031215611cae57600080fd5b815165ffffffffffff811681146105bb57600080fd5b600060208284031215611cd657600080fd5b815180151581146105bb57600080fd5b6020808252818101527f42335452476f7665726e6f725631303a207472616e73666572206661696c6564604082015260600190565b808201808211156103e3576103e3611b67565b83815260608101600a8410611d5357634e487b7160e01b600052602160045260246000fd5b602082019390935260400152919050565b600060208284031215611d7657600080fd5b5051919050565b80820281158282048414176103e3576103e3611b67565b634e487b7160e01b600052601260045260246000fd5b600082611dc757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160d01b03818116838216019080821115611dec57611dec611b67565b5092915050565b6020808252602e908201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460408201526d2070726f706f73616c207479706560901b606082015260800190565b634e487b7160e01b600052603260045260246000fdfea264697066735822122054cb20592998f4c5133df1153ab22d287c7a3c4578ad2389db0324ca53f4baab64736f6c63430008140033","opcodes":"PUSH2 0x1E8D PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x6B6A0704 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0xE2BBB158 EQ PUSH2 0xB4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x75 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AB6 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8F PUSH2 0x8A CALLDATASIZE PUSH1 0x4 PUSH2 0x1AE2 JUMP JUMPDEST PUSH2 0x3C4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8F PUSH2 0xAF CALLDATASIZE PUSH1 0x4 PUSH2 0x1B05 JUMP JUMPDEST PUSH2 0x3E9 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0xCF CALLDATASIZE PUSH1 0x4 PUSH2 0x1B2F JUMP JUMPDEST PUSH2 0x433 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH2 0x13D SWAP1 DUP6 SWAP1 PUSH2 0x115 SWAP1 PUSH2 0x559 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x122 PUSH1 0x9 DUP3 PUSH2 0x1B7D JUMP JUMPDEST PUSH2 0x12D SWAP1 PUSH1 0x2 PUSH2 0x1C7A JUMP JUMPDEST PUSH2 0x137 SWAP2 SWAP1 PUSH2 0x1C89 JUMP JUMPDEST XOR PUSH2 0x57C JUMP JUMPDEST POP DUP1 PUSH1 0x0 SUB PUSH2 0x176 JUMPI PUSH1 0x40 MLOAD PUSH4 0x15FB458D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xD DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP1 MLOAD PUSH4 0x24776B7D PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD PUSH2 0x22F SWAP3 PUSH20 0x0 SWAP3 PUSH4 0x91DDADF4 SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24E PUSH2 0x249 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP6 AND PUSH2 0x1C89 JUMP JUMPDEST PUSH2 0x678 JUMP JUMPDEST SWAP1 POP PUSH2 0x2E1 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C0 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP8 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP PUSH1 0xC DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP7 SWAP1 MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x338 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35C SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST PUSH2 0x378 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1CE6 JUMP JUMPDEST DUP6 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xFBE8F0867E2424D124A83F2A1D534D784A8BB780B73B22F3F1032DAFFB603FA1 DUP6 PUSH1 0x40 MLOAD PUSH2 0x3B4 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E3 DUP3 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3DE JUMPI PUSH2 0x3DE PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x6CB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F4 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x422 PUSH2 0x402 DUP5 PUSH2 0x799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43D PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x0 SUB PUSH2 0x460 JUMPI PUSH1 0x40 MLOAD PUSH4 0xC22B340F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SLOAD SWAP1 SWAP2 SUB PUSH2 0x498 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO PUSH2 0x4D5 JUMPI POP PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x4D3 JUMPI PUSH2 0x4D3 PUSH2 0x1B51 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x4F6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3C23A8D7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST PUSH2 0x509 DUP4 PUSH2 0x504 PUSH1 0x0 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x57C JUMP JUMPDEST POP DUP4 DUP2 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x51E SWAP2 SWAP1 PUSH2 0x1D1B JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x52F SWAP1 POP DUP5 CALLER DUP6 PUSH2 0x7CC JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x56D JUMPI PUSH2 0x56D PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x588 DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x596 DUP4 PUSH2 0x559 JUMP JUMPDEST AND SUB PUSH2 0x5BB JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D2E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x621 JUMPI PUSH1 0x0 PUSH2 0x5DD DUP5 PUSH2 0xDCF JUMP JUMPDEST PUSH2 0x5E7 SWAP1 DUP6 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x611 JUMPI DUP1 SWAP2 POP PUSH2 0x61F JUMP JUMPDEST PUSH2 0x61C DUP2 PUSH1 0x1 PUSH2 0x1D1B JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x62F DUP8 DUP8 DUP6 DUP6 PUSH2 0xEB7 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x66A JUMPI PUSH2 0x654 DUP8 PUSH2 0x646 PUSH1 0x1 DUP5 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x66D JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x16D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6BE DUP6 DUP6 DUP6 PUSH2 0xF11 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6D6 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 DUP3 PUSH1 0xB ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x731 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x755 SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x75E DUP7 PUSH2 0x108B JUMP JUMPDEST PUSH2 0x768 SWAP2 SWAP1 PUSH2 0x1D7D JUMP JUMPDEST PUSH2 0x772 SWAP2 SWAP1 PUSH2 0x1DAA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x77F DUP6 PUSH2 0x10FD JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x791 JUMPI SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x16D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7D6 PUSH2 0x535 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP9 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x833 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST PUSH2 0x873 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1CE6 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0x8A7 SWAP1 DUP5 SWAP1 PUSH2 0x1D1B JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x940 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8FC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x920 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x94D DUP7 PUSH2 0x678 JUMP JUMPDEST PUSH2 0x957 SWAP1 DUP4 PUSH2 0x1DCC JUMP JUMPDEST SWAP1 POP PUSH2 0x9EA PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9A5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9C9 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x65C1DF56BBA34C409163F3295407AB399DF5A4D9BF3DD0288416D6041CDC272C DUP9 PUSH1 0x40 MLOAD PUSH2 0x3B4 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA33 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xA88 JUMPI PUSH2 0xA88 PUSH2 0x1B51 JUMP JUMPDEST SUB PUSH2 0xA9A JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xAAE JUMPI PUSH2 0xAAE PUSH2 0x1B51 JUMP JUMPDEST SUB PUSH2 0xAC0 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0xAD3 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0xAE6 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0xB0E JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB68 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB8C SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST LT ISZERO PUSH2 0xB9F JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xBEA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC0E SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0xC23 DUP10 PUSH2 0x1147 JUMP JUMPDEST SWAP1 POP PUSH2 0xC2E DUP10 PUSH2 0x130F JUMP JUMPDEST PUSH2 0xC41 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0xC57 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC60 DUP10 PUSH2 0x133B JUMP JUMPDEST ISZERO DUP1 PUSH2 0xC72 JUMPI POP PUSH2 0xC70 DUP10 PUSH2 0x1399 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xC86 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC8F DUP10 PUSH2 0x13C1 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0xCA5 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD02 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD26 SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST ISZERO PUSH2 0xD3B JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD86 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDAA SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST ISZERO PUSH2 0xDBF JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDE1 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDEE DUP5 PUSH2 0x13F3 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE07 JUMPI PUSH2 0xE07 PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE1F JUMPI PUSH2 0xE1F PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE37 JUMPI PUSH2 0xE37 PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE4F JUMPI PUSH2 0xE4F PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE67 JUMPI PUSH2 0xE67 PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE7F JUMPI PUSH2 0xE7F PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE97 JUMPI PUSH2 0xE97 PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x5BB DUP2 DUP3 DUP6 DUP2 PUSH2 0xEB1 JUMPI PUSH2 0xEB1 PUSH2 0x1D94 JUMP JUMPDEST DIV PUSH2 0x1487 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x791 JUMPI PUSH1 0x0 PUSH2 0xECE DUP5 DUP5 PUSH2 0x149D JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xEFD JUMPI DUP1 SWAP3 POP PUSH2 0xF0B JUMP JUMPDEST PUSH2 0xF08 DUP2 PUSH1 0x1 PUSH2 0x1D1B JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xEBA JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1030 JUMPI PUSH1 0x0 PUSH2 0xF2F DUP8 PUSH2 0x646 PUSH1 0x1 DUP6 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xF83 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xFCF JUMPI DUP5 PUSH2 0xFA6 DUP9 PUSH2 0x646 PUSH1 0x1 DUP7 PUSH2 0x1C89 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x6C3 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x6C3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1096 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x10A1 DUP4 PUSH2 0x14B8 JUMP JUMPDEST PUSH2 0x10BD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1DF3 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10D5 JUMPI PUSH2 0x10D5 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10E6 JUMPI PUSH2 0x10E6 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1108 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x1113 DUP4 PUSH2 0x14B8 JUMP JUMPDEST PUSH2 0x112F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1DF3 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10D5 JUMPI PUSH2 0x10D5 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1152 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11C2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11E6 SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST LT PUSH2 0x1283 JUMPI PUSH1 0x0 PUSH2 0x11F5 PUSH2 0x535 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1257 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x127B SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12FC SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x1305 DUP5 PUSH2 0x14EF JUMP JUMPDEST PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x1D1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x131A PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1346 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x138F PUSH2 0x1378 DUP7 PUSH2 0x14EF JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x138A JUMPI PUSH2 0x138A PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x1897 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13A4 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13CC PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1408 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x141A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x142C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x143E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1450 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1462 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1474 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1496 JUMPI DUP2 PUSH2 0x5BB JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14AC PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1DAA JUMP JUMPDEST PUSH2 0x5BB SWAP1 DUP5 DUP5 AND PUSH2 0x1D1B JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14CD JUMPI PUSH2 0x14CD PUSH2 0x1B51 JUMP JUMPDEST EQ DUP1 PUSH2 0x3E3 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14E8 JUMPI PUSH2 0x14E8 PUSH2 0x1B51 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x14FA PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x156A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x158E SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST LT PUSH2 0x15E6 JUMPI PUSH1 0x0 PUSH2 0x159D PUSH2 0x535 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x123A JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1632 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1656 SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x1674 SWAP2 SWAP1 PUSH2 0x1C89 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1683 PUSH1 0x1 DUP4 PUSH2 0x1C89 JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16FC SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x1706 SWAP2 SWAP1 PUSH2 0x1D7D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x175F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1783 SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17F2 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x1878 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1849 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x186D SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1883 DUP4 DUP4 PUSH2 0x1D1B JUMP JUMPDEST PUSH2 0x188D SWAP2 SWAP1 PUSH2 0x1D1B JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x18A2 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x18B0 DUP6 DUP6 PUSH2 0x1933 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x191F SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x1929 SWAP2 SWAP1 PUSH2 0x1D7D JUMP JUMPDEST PUSH2 0x127B SWAP2 SWAP1 PUSH2 0x1DAA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BB DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x194E JUMPI PUSH2 0x194E PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1959 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1975 JUMPI PUSH2 0x1975 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1986 JUMPI PUSH2 0x1986 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19B2 JUMPI PUSH2 0x19B2 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19C3 JUMPI PUSH2 0x19C3 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x19DE PUSH1 0x1 DUP5 PUSH2 0x1C89 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x19EE JUMPI PUSH2 0x19EE PUSH2 0x1E41 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x1A34 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x3E3 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1A85 PUSH2 0x1A40 DUP10 PUSH2 0x799 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1A58 JUMPI PUSH2 0x1A58 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1A69 JUMPI PUSH2 0x1A69 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x5C2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1AB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1AC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1AD9 PUSH1 0x20 DUP5 ADD PUSH2 0x1A9A JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B21 DUP4 PUSH2 0x1A9A JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH2 0x1BD1 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x1BB7 JUMPI PUSH2 0x1BB7 PUSH2 0x1B67 JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH2 0x1BC4 JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH2 0x1B9B JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1BE8 JUMPI POP PUSH1 0x1 PUSH2 0x3E3 JUMP JUMPDEST DUP2 PUSH2 0x1BF5 JUMPI POP PUSH1 0x0 PUSH2 0x3E3 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1C0B JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x1C15 JUMPI PUSH2 0x1C31 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x1C26 JUMPI PUSH2 0x1C26 PUSH2 0x1B67 JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH2 0x3E3 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x1C54 JUMPI POP DUP2 DUP2 EXP PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x1C5E DUP4 DUP4 PUSH2 0x1B96 JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x1C72 JUMPI PUSH2 0x1C72 PUSH2 0x1B67 JUMP JUMPDEST MUL SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BB PUSH1 0xFF DUP5 AND DUP4 PUSH2 0x1BD9 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x42335452476F7665726E6F725631303A207472616E73666572206661696C6564 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x1D53 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1DC7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1DEC JUMPI PUSH2 0x1DEC PUSH2 0x1B67 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD 0xCB KECCAK256 MSIZE 0x29 SWAP9 DELEGATECALL 0xC5 SGT RETURNDATASIZE CALL ISZERO GASPRICE 0xB2 0x2D 0x28 PUSH29 0x7A3C4578AD2389DB0324CA53F4BAAB64736F6C63430008140033000000 ","sourceMap":"1983:8688:51:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1983:8688:51;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_depositThresholdByProposalType_21177":{"entryPoint":1739,"id":21177,"parameterSlots":1,"returnSlots":1},"@_insert_9806":{"entryPoint":3857,"id":9806,"parameterSlots":3,"returnSlots":2},"@_proposalDeadline_23690":{"entryPoint":4423,"id":23690,"parameterSlots":1,"returnSlots":1},"@_proposalSnapshot_23632":{"entryPoint":5359,"id":23632,"parameterSlots":1,"returnSlots":1},"@_quorumNumeratorByProposalType_24311":{"entryPoint":null,"id":24311,"parameterSlots":2,"returnSlots":1},"@_state_24717":{"entryPoint":2600,"id":24717,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":3767,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":5277,"id":6189,"parameterSlots":2,"returnSlots":1},"@depositFunds_21018":{"entryPoint":1996,"id":21018,"parameterSlots":3,"returnSlots":0},"@depositThresholdByProposalType_21193":{"entryPoint":964,"id":21193,"parameterSlots":1,"returnSlots":1},"@deposit_20824":{"entryPoint":1075,"id":20824,"parameterSlots":2,"returnSlots":0},"@encodeStateBitmap_24512":{"entryPoint":1369,"id":24512,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdCap_20526":{"entryPoint":4349,"id":20526,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdPercentage_20474":{"entryPoint":4235,"id":20474,"parameterSlots":1,"returnSlots":1},"@getDepositVotingPower_21224":{"entryPoint":1001,"id":21224,"parameterSlots":2,"returnSlots":1},"@getGovernorStorage_24759":{"entryPoint":1333,"id":24759,"parameterSlots":0,"returnSlots":1},"@isValidProposalType_23804":{"entryPoint":5304,"id":23804,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":5107,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":5255,"id":6166,"parameterSlots":2,"returnSlots":1},"@proposalDepositReached_21127":{"entryPoint":4879,"id":21127,"parameterSlots":1,"returnSlots":1},"@proposalEta_21803":{"entryPoint":5057,"id":21803,"parameterSlots":1,"returnSlots":1},"@push_9437":{"entryPoint":1712,"id":9437,"parameterSlots":3,"returnSlots":2},"@quorumByProposalType_24165":{"entryPoint":6295,"id":24165,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_23927":{"entryPoint":null,"id":23927,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_24025":{"entryPoint":6451,"id":24025,"parameterSlots":2,"returnSlots":1},"@quorumReached_24238":{"entryPoint":4923,"id":24238,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":3535,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":1656,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":1945,"id":7770,"parameterSlots":1,"returnSlots":1},"@upperLookupRecent_9604":{"entryPoint":1474,"id":9604,"parameterSlots":2,"returnSlots":1},"@validateStateBitmap_24492":{"entryPoint":1404,"id":24492,"parameterSlots":2,"returnSlots":1},"@voteSucceeded_25308":{"entryPoint":5017,"id":25308,"parameterSlots":1,"returnSlots":1},"@withdraw_20935":{"entryPoint":212,"id":20935,"parameterSlots":2,"returnSlots":0},"abi_decode_address":{"entryPoint":6810,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":6917,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":7364,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":7524,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":6838,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":6959,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":7324,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8":{"entryPoint":6882,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7667,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7398,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$24992_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":7470,"id":null,"parameterSlots":4,"returnSlots":1},"checked_add_t_uint208":{"entryPoint":7628,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":7451,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint8":{"entryPoint":7037,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":7594,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_helper":{"entryPoint":7062,"id":null,"parameterSlots":2,"returnSlots":2},"checked_exp_t_uint256_t_uint8":{"entryPoint":7290,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_unsigned":{"entryPoint":7129,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":7549,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":7305,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":7015,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":7572,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":6993,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":7745,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:8209:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:150","statements":[{"nodeType":"YulAssignment","src":"73:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:150"},"nodeType":"YulFunctionCall","src":"82:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:150"}]},{"body":{"nodeType":"YulBlock","src":"165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:150"},"nodeType":"YulFunctionCall","src":"167:12:150"},"nodeType":"YulExpressionStatement","src":"167:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:150"},"nodeType":"YulFunctionCall","src":"146:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:150"},"nodeType":"YulFunctionCall","src":"142:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:150"},"nodeType":"YulFunctionCall","src":"121:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:150"},"nodeType":"YulFunctionCall","src":"114:50:150"},"nodeType":"YulIf","src":"111:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:150","type":""}],"src":"14:173:150"},{"body":{"nodeType":"YulBlock","src":"279:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"325:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"337:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"327:6:150"},"nodeType":"YulFunctionCall","src":"327:12:150"},"nodeType":"YulExpressionStatement","src":"327:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"300:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"309:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"296:3:150"},"nodeType":"YulFunctionCall","src":"296:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"321:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"292:3:150"},"nodeType":"YulFunctionCall","src":"292:32:150"},"nodeType":"YulIf","src":"289:52:150"},{"nodeType":"YulAssignment","src":"350:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"360:12:150"},"nodeType":"YulFunctionCall","src":"360:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"350:6:150"}]},{"nodeType":"YulAssignment","src":"392:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"425:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"436:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"421:3:150"},"nodeType":"YulFunctionCall","src":"421:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"402:18:150"},"nodeType":"YulFunctionCall","src":"402:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"392:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"237:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"248:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"260:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"268:6:150","type":""}],"src":"192:254:150"},{"body":{"nodeType":"YulBlock","src":"519:201:150","statements":[{"body":{"nodeType":"YulBlock","src":"565:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"574:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"577:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"567:6:150"},"nodeType":"YulFunctionCall","src":"567:12:150"},"nodeType":"YulExpressionStatement","src":"567:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"540:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"549:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"536:3:150"},"nodeType":"YulFunctionCall","src":"536:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"561:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"532:3:150"},"nodeType":"YulFunctionCall","src":"532:32:150"},"nodeType":"YulIf","src":"529:52:150"},{"nodeType":"YulVariableDeclaration","src":"590:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"616:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"603:12:150"},"nodeType":"YulFunctionCall","src":"603:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"594:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"674:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"683:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"686:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"676:6:150"},"nodeType":"YulFunctionCall","src":"676:12:150"},"nodeType":"YulExpressionStatement","src":"676:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"648:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"666:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"655:3:150"},"nodeType":"YulFunctionCall","src":"655:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"645:2:150"},"nodeType":"YulFunctionCall","src":"645:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"638:6:150"},"nodeType":"YulFunctionCall","src":"638:35:150"},"nodeType":"YulIf","src":"635:55:150"},{"nodeType":"YulAssignment","src":"699:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"709:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"699:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"485:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"496:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"508:6:150","type":""}],"src":"451:269:150"},{"body":{"nodeType":"YulBlock","src":"834:76:150","statements":[{"nodeType":"YulAssignment","src":"844:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"856:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"867:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"852:3:150"},"nodeType":"YulFunctionCall","src":"852:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"844:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"886:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"897:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"879:6:150"},"nodeType":"YulFunctionCall","src":"879:25:150"},"nodeType":"YulExpressionStatement","src":"879:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"803:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"814:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"825:4:150","type":""}],"src":"725:185:150"},{"body":{"nodeType":"YulBlock","src":"1002:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"1048:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1057:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1060:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1050:6:150"},"nodeType":"YulFunctionCall","src":"1050:12:150"},"nodeType":"YulExpressionStatement","src":"1050:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1023:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1032:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1019:3:150"},"nodeType":"YulFunctionCall","src":"1019:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1044:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1015:3:150"},"nodeType":"YulFunctionCall","src":"1015:32:150"},"nodeType":"YulIf","src":"1012:52:150"},{"nodeType":"YulAssignment","src":"1073:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1102:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1083:18:150"},"nodeType":"YulFunctionCall","src":"1083:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1073:6:150"}]},{"nodeType":"YulAssignment","src":"1121:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1148:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1159:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1144:3:150"},"nodeType":"YulFunctionCall","src":"1144:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1131:12:150"},"nodeType":"YulFunctionCall","src":"1131:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1121:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"960:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"971:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"983:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"991:6:150","type":""}],"src":"915:254:150"},{"body":{"nodeType":"YulBlock","src":"1261:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"1307:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1316:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1319:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1309:6:150"},"nodeType":"YulFunctionCall","src":"1309:12:150"},"nodeType":"YulExpressionStatement","src":"1309:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1282:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1291:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1278:3:150"},"nodeType":"YulFunctionCall","src":"1278:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1303:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1274:3:150"},"nodeType":"YulFunctionCall","src":"1274:32:150"},"nodeType":"YulIf","src":"1271:52:150"},{"nodeType":"YulAssignment","src":"1332:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1355:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1342:12:150"},"nodeType":"YulFunctionCall","src":"1342:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1332:6:150"}]},{"nodeType":"YulAssignment","src":"1374:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1401:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1412:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1397:3:150"},"nodeType":"YulFunctionCall","src":"1397:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1384:12:150"},"nodeType":"YulFunctionCall","src":"1384:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1374:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1219:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1230:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1242:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1250:6:150","type":""}],"src":"1174:248:150"},{"body":{"nodeType":"YulBlock","src":"1459:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1476:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1483:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1488:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1479:3:150"},"nodeType":"YulFunctionCall","src":"1479:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1469:6:150"},"nodeType":"YulFunctionCall","src":"1469:31:150"},"nodeType":"YulExpressionStatement","src":"1469:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1516:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1519:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1509:6:150"},"nodeType":"YulFunctionCall","src":"1509:15:150"},"nodeType":"YulExpressionStatement","src":"1509:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1540:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1543:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1533:6:150"},"nodeType":"YulFunctionCall","src":"1533:15:150"},"nodeType":"YulExpressionStatement","src":"1533:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"1427:127:150"},{"body":{"nodeType":"YulBlock","src":"1591:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1608:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1615:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1620:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1611:3:150"},"nodeType":"YulFunctionCall","src":"1611:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1601:6:150"},"nodeType":"YulFunctionCall","src":"1601:31:150"},"nodeType":"YulExpressionStatement","src":"1601:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1648:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1651:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1641:6:150"},"nodeType":"YulFunctionCall","src":"1641:15:150"},"nodeType":"YulExpressionStatement","src":"1641:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1672:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1675:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1665:6:150"},"nodeType":"YulFunctionCall","src":"1665:15:150"},"nodeType":"YulExpressionStatement","src":"1665:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"1559:127:150"},{"body":{"nodeType":"YulBlock","src":"1737:102:150","statements":[{"nodeType":"YulAssignment","src":"1747:38:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1762:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1765:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1758:3:150"},"nodeType":"YulFunctionCall","src":"1758:12:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"1776:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1779:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1772:3:150"},"nodeType":"YulFunctionCall","src":"1772:12:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1754:3:150"},"nodeType":"YulFunctionCall","src":"1754:31:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"1747:3:150"}]},{"body":{"nodeType":"YulBlock","src":"1811:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1813:16:150"},"nodeType":"YulFunctionCall","src":"1813:18:150"},"nodeType":"YulExpressionStatement","src":"1813:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"1800:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"1805:4:150","type":"","value":"0xff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1797:2:150"},"nodeType":"YulFunctionCall","src":"1797:13:150"},"nodeType":"YulIf","src":"1794:39:150"}]},"name":"checked_add_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1720:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"1723:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"1729:3:150","type":""}],"src":"1691:148:150"},{"body":{"nodeType":"YulBlock","src":"1908:358:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1918:16:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1933:1:150","type":"","value":"1"},"variables":[{"name":"power_1","nodeType":"YulTypedName","src":"1922:7:150","type":""}]},{"nodeType":"YulAssignment","src":"1943:16:150","value":{"name":"power_1","nodeType":"YulIdentifier","src":"1952:7:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"1943:5:150"}]},{"nodeType":"YulAssignment","src":"1968:13:150","value":{"name":"_base","nodeType":"YulIdentifier","src":"1976:5:150"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"1968:4:150"}]},{"body":{"nodeType":"YulBlock","src":"2032:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"2077:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2079:16:150"},"nodeType":"YulFunctionCall","src":"2079:18:150"},"nodeType":"YulExpressionStatement","src":"2079:18:150"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2052:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2066:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2062:3:150"},"nodeType":"YulFunctionCall","src":"2062:6:150"},{"name":"base","nodeType":"YulIdentifier","src":"2070:4:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2058:3:150"},"nodeType":"YulFunctionCall","src":"2058:17:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2049:2:150"},"nodeType":"YulFunctionCall","src":"2049:27:150"},"nodeType":"YulIf","src":"2046:53:150"},{"body":{"nodeType":"YulBlock","src":"2138:29:150","statements":[{"nodeType":"YulAssignment","src":"2140:25:150","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"2153:5:150"},{"name":"base","nodeType":"YulIdentifier","src":"2160:4:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2149:3:150"},"nodeType":"YulFunctionCall","src":"2149:16:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2140:5:150"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2119:8:150"},{"name":"power_1","nodeType":"YulIdentifier","src":"2129:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2115:3:150"},"nodeType":"YulFunctionCall","src":"2115:22:150"},"nodeType":"YulIf","src":"2112:55:150"},{"nodeType":"YulAssignment","src":"2180:23:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2192:4:150"},{"name":"base","nodeType":"YulIdentifier","src":"2198:4:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2188:3:150"},"nodeType":"YulFunctionCall","src":"2188:15:150"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"2180:4:150"}]},{"nodeType":"YulAssignment","src":"2216:34:150","value":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"2232:7:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"2241:8:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2228:3:150"},"nodeType":"YulFunctionCall","src":"2228:22:150"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"2216:8:150"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2001:8:150"},{"name":"power_1","nodeType":"YulIdentifier","src":"2011:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1998:2:150"},"nodeType":"YulFunctionCall","src":"1998:21:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2020:3:150","statements":[]},"pre":{"nodeType":"YulBlock","src":"1994:3:150","statements":[]},"src":"1990:270:150"}]},"name":"checked_exp_helper","nodeType":"YulFunctionDefinition","parameters":[{"name":"_base","nodeType":"YulTypedName","src":"1872:5:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"1879:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"1892:5:150","type":""},{"name":"base","nodeType":"YulTypedName","src":"1899:4:150","type":""}],"src":"1844:422:150"},{"body":{"nodeType":"YulBlock","src":"2330:747:150","statements":[{"body":{"nodeType":"YulBlock","src":"2368:52:150","statements":[{"nodeType":"YulAssignment","src":"2382:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2391:1:150","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2382:5:150"}]},{"nodeType":"YulLeave","src":"2405:5:150"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2350:8:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2343:6:150"},"nodeType":"YulFunctionCall","src":"2343:16:150"},"nodeType":"YulIf","src":"2340:80:150"},{"body":{"nodeType":"YulBlock","src":"2453:52:150","statements":[{"nodeType":"YulAssignment","src":"2467:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2476:1:150","type":"","value":"0"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2467:5:150"}]},{"nodeType":"YulLeave","src":"2490:5:150"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2439:4:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2432:6:150"},"nodeType":"YulFunctionCall","src":"2432:12:150"},"nodeType":"YulIf","src":"2429:76:150"},{"cases":[{"body":{"nodeType":"YulBlock","src":"2541:52:150","statements":[{"nodeType":"YulAssignment","src":"2555:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2564:1:150","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2555:5:150"}]},{"nodeType":"YulLeave","src":"2578:5:150"}]},"nodeType":"YulCase","src":"2534:59:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2539:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2609:123:150","statements":[{"body":{"nodeType":"YulBlock","src":"2644:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2646:16:150"},"nodeType":"YulFunctionCall","src":"2646:18:150"},"nodeType":"YulExpressionStatement","src":"2646:18:150"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2629:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"2639:3:150","type":"","value":"255"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2626:2:150"},"nodeType":"YulFunctionCall","src":"2626:17:150"},"nodeType":"YulIf","src":"2623:43:150"},{"nodeType":"YulAssignment","src":"2679:25:150","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2692:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"2702:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2688:3:150"},"nodeType":"YulFunctionCall","src":"2688:16:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2679:5:150"}]},{"nodeType":"YulLeave","src":"2717:5:150"}]},"nodeType":"YulCase","src":"2602:130:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2607:1:150","type":"","value":"2"}}],"expression":{"name":"base","nodeType":"YulIdentifier","src":"2521:4:150"},"nodeType":"YulSwitch","src":"2514:218:150"},{"body":{"nodeType":"YulBlock","src":"2830:70:150","statements":[{"nodeType":"YulAssignment","src":"2844:28:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2857:4:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"2863:8:150"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"2853:3:150"},"nodeType":"YulFunctionCall","src":"2853:19:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2844:5:150"}]},{"nodeType":"YulLeave","src":"2885:5:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2754:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"2760:2:150","type":"","value":"11"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2751:2:150"},"nodeType":"YulFunctionCall","src":"2751:12:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2768:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"2778:2:150","type":"","value":"78"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2765:2:150"},"nodeType":"YulFunctionCall","src":"2765:16:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2747:3:150"},"nodeType":"YulFunctionCall","src":"2747:35:150"},{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2791:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"2797:3:150","type":"","value":"307"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2788:2:150"},"nodeType":"YulFunctionCall","src":"2788:13:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2806:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"2816:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2803:2:150"},"nodeType":"YulFunctionCall","src":"2803:16:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2784:3:150"},"nodeType":"YulFunctionCall","src":"2784:36:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2744:2:150"},"nodeType":"YulFunctionCall","src":"2744:77:150"},"nodeType":"YulIf","src":"2741:159:150"},{"nodeType":"YulVariableDeclaration","src":"2909:57:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2951:4:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"2957:8:150"}],"functionName":{"name":"checked_exp_helper","nodeType":"YulIdentifier","src":"2932:18:150"},"nodeType":"YulFunctionCall","src":"2932:34:150"},"variables":[{"name":"power_1","nodeType":"YulTypedName","src":"2913:7:150","type":""},{"name":"base_1","nodeType":"YulTypedName","src":"2922:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3011:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3013:16:150"},"nodeType":"YulFunctionCall","src":"3013:18:150"},"nodeType":"YulExpressionStatement","src":"3013:18:150"}]},"condition":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"2981:7:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2998:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2994:3:150"},"nodeType":"YulFunctionCall","src":"2994:6:150"},{"name":"base_1","nodeType":"YulIdentifier","src":"3002:6:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2990:3:150"},"nodeType":"YulFunctionCall","src":"2990:19:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2978:2:150"},"nodeType":"YulFunctionCall","src":"2978:32:150"},"nodeType":"YulIf","src":"2975:58:150"},{"nodeType":"YulAssignment","src":"3042:29:150","value":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"3055:7:150"},{"name":"base_1","nodeType":"YulIdentifier","src":"3064:6:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3051:3:150"},"nodeType":"YulFunctionCall","src":"3051:20:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"3042:5:150"}]}]},"name":"checked_exp_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"2301:4:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"2307:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"2320:5:150","type":""}],"src":"2271:806:150"},{"body":{"nodeType":"YulBlock","src":"3150:72:150","statements":[{"nodeType":"YulAssignment","src":"3160:56:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"3190:4:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"3200:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"3210:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3196:3:150"},"nodeType":"YulFunctionCall","src":"3196:19:150"}],"functionName":{"name":"checked_exp_unsigned","nodeType":"YulIdentifier","src":"3169:20:150"},"nodeType":"YulFunctionCall","src":"3169:47:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"3160:5:150"}]}]},"name":"checked_exp_t_uint256_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"3121:4:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"3127:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"3140:5:150","type":""}],"src":"3082:140:150"},{"body":{"nodeType":"YulBlock","src":"3276:79:150","statements":[{"nodeType":"YulAssignment","src":"3286:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3298:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"3301:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3294:3:150"},"nodeType":"YulFunctionCall","src":"3294:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"3286:4:150"}]},{"body":{"nodeType":"YulBlock","src":"3327:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3329:16:150"},"nodeType":"YulFunctionCall","src":"3329:18:150"},"nodeType":"YulExpressionStatement","src":"3329:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"3318:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"3324:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3315:2:150"},"nodeType":"YulFunctionCall","src":"3315:11:150"},"nodeType":"YulIf","src":"3312:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3258:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"3261:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"3267:4:150","type":""}],"src":"3227:128:150"},{"body":{"nodeType":"YulBlock","src":"3489:145:150","statements":[{"nodeType":"YulAssignment","src":"3499:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3511:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3522:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3507:3:150"},"nodeType":"YulFunctionCall","src":"3507:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3499:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3541:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3552:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3534:6:150"},"nodeType":"YulFunctionCall","src":"3534:25:150"},"nodeType":"YulExpressionStatement","src":"3534:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3579:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3590:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3575:3:150"},"nodeType":"YulFunctionCall","src":"3575:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3599:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3615:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3620:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3611:3:150"},"nodeType":"YulFunctionCall","src":"3611:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3624:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3607:3:150"},"nodeType":"YulFunctionCall","src":"3607:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3595:3:150"},"nodeType":"YulFunctionCall","src":"3595:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3568:6:150"},"nodeType":"YulFunctionCall","src":"3568:60:150"},"nodeType":"YulExpressionStatement","src":"3568:60:150"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3450:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3461:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3469:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3480:4:150","type":""}],"src":"3360:274:150"},{"body":{"nodeType":"YulBlock","src":"3719:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"3765:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3774:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3777:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3767:6:150"},"nodeType":"YulFunctionCall","src":"3767:12:150"},"nodeType":"YulExpressionStatement","src":"3767:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3740:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3749:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3736:3:150"},"nodeType":"YulFunctionCall","src":"3736:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3761:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3732:3:150"},"nodeType":"YulFunctionCall","src":"3732:32:150"},"nodeType":"YulIf","src":"3729:52:150"},{"nodeType":"YulVariableDeclaration","src":"3790:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3809:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3803:5:150"},"nodeType":"YulFunctionCall","src":"3803:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3794:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3877:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3886:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3889:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3879:6:150"},"nodeType":"YulFunctionCall","src":"3879:12:150"},"nodeType":"YulExpressionStatement","src":"3879:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3841:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3852:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"3859:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3848:3:150"},"nodeType":"YulFunctionCall","src":"3848:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3838:2:150"},"nodeType":"YulFunctionCall","src":"3838:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3831:6:150"},"nodeType":"YulFunctionCall","src":"3831:45:150"},"nodeType":"YulIf","src":"3828:65:150"},{"nodeType":"YulAssignment","src":"3902:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3912:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3902:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3685:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3696:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3708:6:150","type":""}],"src":"3639:284:150"},{"body":{"nodeType":"YulBlock","src":"4057:145:150","statements":[{"nodeType":"YulAssignment","src":"4067:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4079:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4090:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4075:3:150"},"nodeType":"YulFunctionCall","src":"4075:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4067:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4109:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4124:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4140:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4145:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4136:3:150"},"nodeType":"YulFunctionCall","src":"4136:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4149:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4132:3:150"},"nodeType":"YulFunctionCall","src":"4132:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4120:3:150"},"nodeType":"YulFunctionCall","src":"4120:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4102:6:150"},"nodeType":"YulFunctionCall","src":"4102:51:150"},"nodeType":"YulExpressionStatement","src":"4102:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4173:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4184:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4169:3:150"},"nodeType":"YulFunctionCall","src":"4169:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"4189:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4162:6:150"},"nodeType":"YulFunctionCall","src":"4162:34:150"},"nodeType":"YulExpressionStatement","src":"4162:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4018:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4029:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4037:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4048:4:150","type":""}],"src":"3928:274:150"},{"body":{"nodeType":"YulBlock","src":"4285:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"4331:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4340:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4343:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4333:6:150"},"nodeType":"YulFunctionCall","src":"4333:12:150"},"nodeType":"YulExpressionStatement","src":"4333:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4306:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4315:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4302:3:150"},"nodeType":"YulFunctionCall","src":"4302:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4327:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4298:3:150"},"nodeType":"YulFunctionCall","src":"4298:32:150"},"nodeType":"YulIf","src":"4295:52:150"},{"nodeType":"YulVariableDeclaration","src":"4356:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4375:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4369:5:150"},"nodeType":"YulFunctionCall","src":"4369:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4360:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4438:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4447:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4450:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4440:6:150"},"nodeType":"YulFunctionCall","src":"4440:12:150"},"nodeType":"YulExpressionStatement","src":"4440:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4407:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4428:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4421:6:150"},"nodeType":"YulFunctionCall","src":"4421:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4414:6:150"},"nodeType":"YulFunctionCall","src":"4414:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4404:2:150"},"nodeType":"YulFunctionCall","src":"4404:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4397:6:150"},"nodeType":"YulFunctionCall","src":"4397:40:150"},"nodeType":"YulIf","src":"4394:60:150"},{"nodeType":"YulAssignment","src":"4463:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4473:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4463:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4251:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4262:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4274:6:150","type":""}],"src":"4207:277:150"},{"body":{"nodeType":"YulBlock","src":"4663:182:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4680:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4691:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4673:6:150"},"nodeType":"YulFunctionCall","src":"4673:21:150"},"nodeType":"YulExpressionStatement","src":"4673:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4714:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4725:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4710:3:150"},"nodeType":"YulFunctionCall","src":"4710:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"4730:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4703:6:150"},"nodeType":"YulFunctionCall","src":"4703:30:150"},"nodeType":"YulExpressionStatement","src":"4703:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4753:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4764:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4749:3:150"},"nodeType":"YulFunctionCall","src":"4749:18:150"},{"hexValue":"42335452476f7665726e6f725631303a207472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"4769:34:150","type":"","value":"B3TRGovernorV10: transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4742:6:150"},"nodeType":"YulFunctionCall","src":"4742:62:150"},"nodeType":"YulExpressionStatement","src":"4742:62:150"},{"nodeType":"YulAssignment","src":"4813:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4825:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4836:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4821:3:150"},"nodeType":"YulFunctionCall","src":"4821:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4813:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4640:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4654:4:150","type":""}],"src":"4489:356:150"},{"body":{"nodeType":"YulBlock","src":"4951:76:150","statements":[{"nodeType":"YulAssignment","src":"4961:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4973:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4984:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4969:3:150"},"nodeType":"YulFunctionCall","src":"4969:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4961:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5003:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"5014:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4996:6:150"},"nodeType":"YulFunctionCall","src":"4996:25:150"},"nodeType":"YulExpressionStatement","src":"4996:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4920:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4931:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4942:4:150","type":""}],"src":"4850:177:150"},{"body":{"nodeType":"YulBlock","src":"5080:77:150","statements":[{"nodeType":"YulAssignment","src":"5090:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5101:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"5104:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5097:3:150"},"nodeType":"YulFunctionCall","src":"5097:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5090:3:150"}]},{"body":{"nodeType":"YulBlock","src":"5129:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5131:16:150"},"nodeType":"YulFunctionCall","src":"5131:18:150"},"nodeType":"YulExpressionStatement","src":"5131:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5121:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"5124:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5118:2:150"},"nodeType":"YulFunctionCall","src":"5118:10:150"},"nodeType":"YulIf","src":"5115:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5063:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"5066:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5072:3:150","type":""}],"src":"5032:125:150"},{"body":{"nodeType":"YulBlock","src":"5336:316:150","statements":[{"nodeType":"YulAssignment","src":"5346:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5358:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5369:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5354:3:150"},"nodeType":"YulFunctionCall","src":"5354:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5346:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5388:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"5399:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5381:6:150"},"nodeType":"YulFunctionCall","src":"5381:25:150"},"nodeType":"YulExpressionStatement","src":"5381:25:150"},{"body":{"nodeType":"YulBlock","src":"5449:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5470:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5477:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5482:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5473:3:150"},"nodeType":"YulFunctionCall","src":"5473:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5463:6:150"},"nodeType":"YulFunctionCall","src":"5463:31:150"},"nodeType":"YulExpressionStatement","src":"5463:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5514:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5517:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5507:6:150"},"nodeType":"YulFunctionCall","src":"5507:15:150"},"nodeType":"YulExpressionStatement","src":"5507:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5542:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5545:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5535:6:150"},"nodeType":"YulFunctionCall","src":"5535:15:150"},"nodeType":"YulExpressionStatement","src":"5535:15:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5428:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5436:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5425:2:150"},"nodeType":"YulFunctionCall","src":"5425:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5418:6:150"},"nodeType":"YulFunctionCall","src":"5418:22:150"},"nodeType":"YulIf","src":"5415:145:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5580:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5591:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5576:3:150"},"nodeType":"YulFunctionCall","src":"5576:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"5596:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5569:6:150"},"nodeType":"YulFunctionCall","src":"5569:34:150"},"nodeType":"YulExpressionStatement","src":"5569:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5623:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5634:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5619:3:150"},"nodeType":"YulFunctionCall","src":"5619:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"5639:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5612:6:150"},"nodeType":"YulFunctionCall","src":"5612:34:150"},"nodeType":"YulExpressionStatement","src":"5612:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$24992_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5289:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5300:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5308:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5316:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5327:4:150","type":""}],"src":"5162:490:150"},{"body":{"nodeType":"YulBlock","src":"5794:130:150","statements":[{"nodeType":"YulAssignment","src":"5804:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5816:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5827:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5812:3:150"},"nodeType":"YulFunctionCall","src":"5812:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5804:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5846:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5861:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5869:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5857:3:150"},"nodeType":"YulFunctionCall","src":"5857:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5839:6:150"},"nodeType":"YulFunctionCall","src":"5839:36:150"},"nodeType":"YulExpressionStatement","src":"5839:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5895:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5906:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5891:3:150"},"nodeType":"YulFunctionCall","src":"5891:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"5911:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5884:6:150"},"nodeType":"YulFunctionCall","src":"5884:34:150"},"nodeType":"YulExpressionStatement","src":"5884:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5755:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5766:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5774:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5785:4:150","type":""}],"src":"5657:267:150"},{"body":{"nodeType":"YulBlock","src":"6010:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"6056:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6065:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6068:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6058:6:150"},"nodeType":"YulFunctionCall","src":"6058:12:150"},"nodeType":"YulExpressionStatement","src":"6058:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6031:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6040:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6027:3:150"},"nodeType":"YulFunctionCall","src":"6027:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6052:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6023:3:150"},"nodeType":"YulFunctionCall","src":"6023:32:150"},"nodeType":"YulIf","src":"6020:52:150"},{"nodeType":"YulAssignment","src":"6081:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6097:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6091:5:150"},"nodeType":"YulFunctionCall","src":"6091:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6081:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5976:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5987:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5999:6:150","type":""}],"src":"5929:184:150"},{"body":{"nodeType":"YulBlock","src":"6170:116:150","statements":[{"nodeType":"YulAssignment","src":"6180:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6195:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"6198:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"6191:3:150"},"nodeType":"YulFunctionCall","src":"6191:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"6180:7:150"}]},{"body":{"nodeType":"YulBlock","src":"6258:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"6260:16:150"},"nodeType":"YulFunctionCall","src":"6260:18:150"},"nodeType":"YulExpressionStatement","src":"6260:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6229:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6222:6:150"},"nodeType":"YulFunctionCall","src":"6222:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"6236:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"6243:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"6252:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6239:3:150"},"nodeType":"YulFunctionCall","src":"6239:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6233:2:150"},"nodeType":"YulFunctionCall","src":"6233:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6219:2:150"},"nodeType":"YulFunctionCall","src":"6219:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6212:6:150"},"nodeType":"YulFunctionCall","src":"6212:45:150"},"nodeType":"YulIf","src":"6209:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"6149:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"6152:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"6158:7:150","type":""}],"src":"6118:168:150"},{"body":{"nodeType":"YulBlock","src":"6323:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6340:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6347:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6352:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6343:3:150"},"nodeType":"YulFunctionCall","src":"6343:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6333:6:150"},"nodeType":"YulFunctionCall","src":"6333:31:150"},"nodeType":"YulExpressionStatement","src":"6333:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6380:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6383:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6373:6:150"},"nodeType":"YulFunctionCall","src":"6373:15:150"},"nodeType":"YulExpressionStatement","src":"6373:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6404:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6407:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6397:6:150"},"nodeType":"YulFunctionCall","src":"6397:15:150"},"nodeType":"YulExpressionStatement","src":"6397:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"6291:127:150"},{"body":{"nodeType":"YulBlock","src":"6469:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"6500:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6521:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6528:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6533:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6524:3:150"},"nodeType":"YulFunctionCall","src":"6524:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6514:6:150"},"nodeType":"YulFunctionCall","src":"6514:31:150"},"nodeType":"YulExpressionStatement","src":"6514:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6565:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6568:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6558:6:150"},"nodeType":"YulFunctionCall","src":"6558:15:150"},"nodeType":"YulExpressionStatement","src":"6558:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6593:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6596:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6586:6:150"},"nodeType":"YulFunctionCall","src":"6586:15:150"},"nodeType":"YulExpressionStatement","src":"6586:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"6489:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6482:6:150"},"nodeType":"YulFunctionCall","src":"6482:9:150"},"nodeType":"YulIf","src":"6479:132:150"},{"nodeType":"YulAssignment","src":"6620:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6629:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"6632:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6625:3:150"},"nodeType":"YulFunctionCall","src":"6625:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"6620:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"6454:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"6457:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"6463:1:150","type":""}],"src":"6423:217:150"},{"body":{"nodeType":"YulBlock","src":"6781:130:150","statements":[{"nodeType":"YulAssignment","src":"6791:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6803:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6814:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6799:3:150"},"nodeType":"YulFunctionCall","src":"6799:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6791:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6833:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6848:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6856:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6844:3:150"},"nodeType":"YulFunctionCall","src":"6844:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6826:6:150"},"nodeType":"YulFunctionCall","src":"6826:36:150"},"nodeType":"YulExpressionStatement","src":"6826:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6893:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6878:3:150"},"nodeType":"YulFunctionCall","src":"6878:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"6898:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6871:6:150"},"nodeType":"YulFunctionCall","src":"6871:34:150"},"nodeType":"YulExpressionStatement","src":"6871:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6742:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6753:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6761:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6772:4:150","type":""}],"src":"6645:266:150"},{"body":{"nodeType":"YulBlock","src":"7073:218:150","statements":[{"nodeType":"YulAssignment","src":"7083:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7095:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7106:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7091:3:150"},"nodeType":"YulFunctionCall","src":"7091:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7083:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"7118:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7136:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7141:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7132:3:150"},"nodeType":"YulFunctionCall","src":"7132:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7145:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7128:3:150"},"nodeType":"YulFunctionCall","src":"7128:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7122:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7163:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7178:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7186:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7174:3:150"},"nodeType":"YulFunctionCall","src":"7174:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7156:6:150"},"nodeType":"YulFunctionCall","src":"7156:34:150"},"nodeType":"YulExpressionStatement","src":"7156:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7210:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7221:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7206:3:150"},"nodeType":"YulFunctionCall","src":"7206:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7230:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7238:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7226:3:150"},"nodeType":"YulFunctionCall","src":"7226:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7199:6:150"},"nodeType":"YulFunctionCall","src":"7199:43:150"},"nodeType":"YulExpressionStatement","src":"7199:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7262:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7273:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7258:3:150"},"nodeType":"YulFunctionCall","src":"7258:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"7278:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7251:6:150"},"nodeType":"YulFunctionCall","src":"7251:34:150"},"nodeType":"YulExpressionStatement","src":"7251:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7026:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7037:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7045:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7053:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7064:4:150","type":""}],"src":"6916:375:150"},{"body":{"nodeType":"YulBlock","src":"7344:134:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7354:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7372:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"7377:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7368:3:150"},"nodeType":"YulFunctionCall","src":"7368:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7381:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7364:3:150"},"nodeType":"YulFunctionCall","src":"7364:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7358:2:150","type":""}]},{"nodeType":"YulAssignment","src":"7392:34:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7407:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7410:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7403:3:150"},"nodeType":"YulFunctionCall","src":"7403:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"7419:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7422:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7415:3:150"},"nodeType":"YulFunctionCall","src":"7415:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7399:3:150"},"nodeType":"YulFunctionCall","src":"7399:27:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"7392:3:150"}]},{"body":{"nodeType":"YulBlock","src":"7450:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"7452:16:150"},"nodeType":"YulFunctionCall","src":"7452:18:150"},"nodeType":"YulExpressionStatement","src":"7452:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"7441:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7446:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7438:2:150"},"nodeType":"YulFunctionCall","src":"7438:11:150"},"nodeType":"YulIf","src":"7435:37:150"}]},"name":"checked_add_t_uint208","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"7327:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"7330:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"7336:3:150","type":""}],"src":"7296:182:150"},{"body":{"nodeType":"YulBlock","src":"7584:76:150","statements":[{"nodeType":"YulAssignment","src":"7594:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7606:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7617:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7602:3:150"},"nodeType":"YulFunctionCall","src":"7602:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7594:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7636:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"7647:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7629:6:150"},"nodeType":"YulFunctionCall","src":"7629:25:150"},"nodeType":"YulExpressionStatement","src":"7629:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7553:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7564:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7575:4:150","type":""}],"src":"7483:177:150"},{"body":{"nodeType":"YulBlock","src":"7839:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7856:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7867:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7849:6:150"},"nodeType":"YulFunctionCall","src":"7849:21:150"},"nodeType":"YulExpressionStatement","src":"7849:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7890:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7901:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7886:3:150"},"nodeType":"YulFunctionCall","src":"7886:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7906:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7879:6:150"},"nodeType":"YulFunctionCall","src":"7879:30:150"},"nodeType":"YulExpressionStatement","src":"7879:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7929:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7940:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7925:3:150"},"nodeType":"YulFunctionCall","src":"7925:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c6964","kind":"string","nodeType":"YulLiteral","src":"7945:34:150","type":"","value":"GovernorConfiguratorV10: invalid"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7918:6:150"},"nodeType":"YulFunctionCall","src":"7918:62:150"},"nodeType":"YulExpressionStatement","src":"7918:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8000:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8011:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7996:3:150"},"nodeType":"YulFunctionCall","src":"7996:18:150"},{"hexValue":"2070726f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"8016:16:150","type":"","value":" proposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7989:6:150"},"nodeType":"YulFunctionCall","src":"7989:44:150"},"nodeType":"YulExpressionStatement","src":"7989:44:150"},{"nodeType":"YulAssignment","src":"8042:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8054:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8065:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8050:3:150"},"nodeType":"YulFunctionCall","src":"8050:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8042:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7816:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7830:4:150","type":""}],"src":"7665:410:150"},{"body":{"nodeType":"YulBlock","src":"8112:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8129:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8136:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8141:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8132:3:150"},"nodeType":"YulFunctionCall","src":"8132:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8122:6:150"},"nodeType":"YulFunctionCall","src":"8122:31:150"},"nodeType":"YulExpressionStatement","src":"8122:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8169:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8172:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8162:6:150"},"nodeType":"YulFunctionCall","src":"8162:15:150"},"nodeType":"YulExpressionStatement","src":"8162:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8193:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8196:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8186:6:150"},"nodeType":"YulFunctionCall","src":"8186:15:150"},"nodeType":"YulExpressionStatement","src":"8186:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"8080:127:150"}]},"contents":"{\n    { }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function checked_exp_helper(_base, exponent) -> power, base\n    {\n        let power_1 := 1\n        power := power_1\n        base := _base\n        for { } gt(exponent, power_1) { }\n        {\n            if gt(base, div(not(0), base)) { panic_error_0x11() }\n            if and(exponent, power_1) { power := mul(power, base) }\n            base := mul(base, base)\n            exponent := shr(power_1, exponent)\n        }\n    }\n    function checked_exp_unsigned(base, exponent) -> power\n    {\n        if iszero(exponent)\n        {\n            power := 1\n            leave\n        }\n        if iszero(base)\n        {\n            power := 0\n            leave\n        }\n        switch base\n        case 1 {\n            power := 1\n            leave\n        }\n        case 2 {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := shl(exponent, 1)\n            leave\n        }\n        if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n        {\n            power := exp(base, exponent)\n            leave\n        }\n        let power_1, base_1 := checked_exp_helper(base, exponent)\n        if gt(power_1, div(not(0), base_1)) { panic_error_0x11() }\n        power := mul(power_1, base_1)\n    }\n    function checked_exp_t_uint256_t_uint8(base, exponent) -> power\n    {\n        power := checked_exp_unsigned(base, and(exponent, 0xff))\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"B3TRGovernorV10: transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalState_$24992_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        if iszero(lt(value1, 10))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n    }\n    function checked_add_t_uint208(x, y) -> sum\n    {\n        let _1 := sub(shl(208, 1), 1)\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: invalid\")\n        mstore(add(headStart, 96), \" proposal type\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":433},{"length":20,"start":597},{"length":20,"start":2229},{"length":20,"start":2398},{"length":20,"start":2979},{"length":20,"start":6023},{"length":20,"start":6146}]}},"object":"73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062f714ce1461005a5780636b6a07041461007c578063a56b5765146100a1578063e2bbb158146100b4575b600080fd5b81801561006657600080fd5b5061007a610075366004611ab6565b6100d4565b005b61008f61008a366004611ae2565b6103c4565b60405190815260200160405180910390f35b61008f6100af366004611b05565b6103e9565b8180156100c057600080fd5b5061007a6100cf366004611b2f565b610433565b60006100de610535565b6000848152600d8201602090815260408083206001600160a01b038716845290915281205491925061013d90859061011590610559565b6001610122600982611b7d565b61012d906002611c7a565b6101379190611c89565b1861057c565b5080600003610176576040516315fb458d60e01b8152600481018590526001600160a01b03841660248201526044015b60405180910390fd5b6000848152600d8301602090815260408083206001600160a01b0387168452825280832083905580516324776b7d60e21b8152905161022f9273__$f2b2c58f5cb02a2b1a2ff648948be15d53$__926391ddadf492600480830193928290030181865af41580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f9190611c9c565b6001600160a01b0386166000908152601d860160205260409020906105c2565b9050600061024e610249846001600160d01b038516611c89565b610678565b90506102e173__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561029c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c09190611c9c565b6001600160a01b0387166000908152601d87016020526040902090836106b0565b5050600c84015460405163a9059cbb60e01b81526001600160a01b038781166004830152602482018690529091169063a9059cbb906044016020604051808303816000875af1158015610338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035c9190611cc4565b6103785760405162461bcd60e51b815260040161016d90611ce6565b85856001600160a01b03167ffbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1856040516103b491815260200190565b60405180910390a3505050505050565b60006103e38260ff1660018111156103de576103de611b51565b6106cb565b92915050565b6000806103f4610535565b905061042261040284610799565b6001600160a01b0386166000908152601d840160205260409020906105c2565b6001600160d01b0316949350505050565b600061043d610535565b9050826000036104605760405163c22b340f60e01b815260040160405180910390fd5b60008281526001808301602052604082209081015490910361049857604051636ad0607560e01b81526004810184905260240161016d565b80546001600160a01b0316331480156104d557506001600084815260158401602052604090205460ff1660018111156104d3576104d3611b51565b145b156104f657604051633c23a8d760e11b81526004810184905260240161016d565b610509836105046000610559565b61057c565b508381600301600082825461051e9190611d1b565b9091555061052f90508433856107cc565b50505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600081600981111561056d5761056d611b51565b600160ff919091161b92915050565b60008061058884610a28565b905060008361059683610559565b16036105bb578381846040516331b75e4d60e01b815260040161016d93929190611d2e565b9392505050565b8154600090818160058111156106215760006105dd84610dcf565b6105e79085611c89565b60008881526020902090915081015465ffffffffffff90811690871610156106115780915061061f565b61061c816001611d1b565b92505b505b600061062f87878585610eb7565b9050801561066a5761065487610646600184611c89565b600091825260209091200190565b54600160301b90046001600160d01b031661066d565b60005b979650505050505050565b60006001600160d01b038211156106ac576040516306dfcc6560e41b815260d060048201526024810183905260440161016d565b5090565b6000806106be858585610f11565b915091505b935093915050565b6000806106d6610535565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190611d64565b61075e8661108b565b6107689190611d7d565b6107729190611daa565b9050600061077f856110fd565b90508082111561079157949350505050565b509392505050565b600065ffffffffffff8211156106ac576040516306dfcc6560e41b8152603060048201526024810183905260440161016d565b60006107d6610535565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af1158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190611cc4565b6108735760405162461bcd60e51b815260040161016d90611ce6565b6000828152600d8201602090815260408083206001600160a01b0387168452909152812080548692906108a7908490611d1b565b92505081905550600061094073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190611c9c565b6001600160a01b0386166000908152601d850160205260409020906105c2565b9050600061094d86610678565b6109579083611dcc565b90506109ea73__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190611c9c565b6001600160a01b0387166000908152601d86016020526040902090836106b0565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516103b491815260200190565b600080610a33610535565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610a8857610a88611b51565b03610a9a575060089695505050505050565b6002836002811115610aae57610aae611b51565b03610ac0575060099695505050505050565b8115610ad3575060069695505050505050565b8015610ae6575060029695505050505050565b8360010154600003610b0e57604051636ad0607560e01b81526004810188905260240161016d565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190611d64565b1015610b9f575060009695505050505050565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0e9190611c9c565b65ffffffffffff1690506000610c2389611147565b9050610c2e8961130f565b610c415750600798975050505050505050565b818110610c575750600198975050505050505050565b610c608961133b565b1580610c725750610c7089611399565b155b15610c865750600398975050505050505050565b610c8f896113c1565b600003610ca55750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611cc4565b15610d3b575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190611cc4565b15610dbf575060069998505050505050505050565b5060029998505050505050505050565b600081600003610de157506000919050565b60006001610dee846113f3565b901c6001901b90506001818481610e0757610e07611d94565b048201901c90506001818481610e1f57610e1f611d94565b048201901c90506001818481610e3757610e37611d94565b048201901c90506001818481610e4f57610e4f611d94565b048201901c90506001818481610e6757610e67611d94565b048201901c90506001818481610e7f57610e7f611d94565b048201901c90506001818481610e9757610e97611d94565b048201901c90506105bb81828581610eb157610eb1611d94565b04611487565b60005b81831015610791576000610ece848461149d565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610efd57809250610f0b565b610f08816001611d1b565b93505b50610eba565b825460009081908015611030576000610f2f87610646600185611c89565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f8357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fcf5784610fa688610646600186611c89565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611020565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506106c39050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816106c3565b600080611096610535565b90506110a1836114b8565b6110bd5760405162461bcd60e51b815260040161016d90611df3565b8060160160008460018111156110d5576110d5611b51565b60018111156110e6576110e6611b51565b815260200190815260200160002054915050919050565b600080611108610535565b9050611113836114b8565b61112f5760405162461bcd60e51b815260040161016d90611df3565b8060190160008460018111156110d5576110d5611b51565b600080611152610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e69190611d64565b106112835760006111f5610535565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015611257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127b9190611d64565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190611d64565b611305846114ef565b6105bb9190611d1b565b60008061131a610535565b60009384526001016020525050604090206004810154600390910154101590565b600080611346610535565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061138f611378866114ef565b83600181111561138a5761138a611b51565b611897565b1115949350505050565b6000806113a4610535565b6000938452600f0160205250506040902080546001909101541190565b6000806113cc610535565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080608083901c1561140857608092831c92015b604083901c1561141a57604092831c92015b602083901c1561142c57602092831c92015b601083901c1561143e57601092831c92015b600883901c1561145057600892831c92015b600483901c1561146257600492831c92015b600283901c1561147457600292831c92015b600183901c156103e35760010192915050565b600081831061149657816105bb565b5090919050565b60006114ac6002848418611daa565b6105bb90848416611d1b565b6000808260018111156114cd576114cd611b51565b14806103e3575060018260018111156114e8576114e8611b51565b1492915050565b6000806114fa610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190611d64565b106115e657600061159d610535565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda9060240161123a565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116569190611d64565b60008581526001808501602052604090912001546116749190611c89565b90506000611683600183611c89565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fc9190611d64565b6117069190611d7d565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117839190611d64565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f29190611c9c565b65ffffffffffff1681116118785773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186d9190611c9c565b65ffffffffffff1690505b826118838383611d1b565b61188d9190611d1b565b9695505050505050565b6000806118a2610535565b905060646118b08585611933565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156118fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191f9190611d64565b6119299190611d7d565b61127b9190611daa565b60006105bb838360ff16600181111561194e5761194e611b51565b600080611959610535565b9050600081601801600085600181111561197557611975611b51565b600181111561198657611986611b51565b81526020810191909152604001600090812054915060188301818660018111156119b2576119b2611b51565b60018111156119c3576119c3611b51565b815260208101919091526040016000206119de600184611c89565b815481106119ee576119ee611e41565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611a34576001600160d01b031694506103e39350505050565b611a85611a4089610799565b8660180160008a6001811115611a5857611a58611b51565b6001811115611a6957611a69611b51565b81526020019081526020016000206105c290919063ffffffff16565b6001600160d01b031698975050505050505050565b80356001600160a01b0381168114611ab157600080fd5b919050565b60008060408385031215611ac957600080fd5b82359150611ad960208401611a9a565b90509250929050565b600060208284031215611af457600080fd5b813560ff811681146105bb57600080fd5b60008060408385031215611b1857600080fd5b611b2183611a9a565b946020939093013593505050565b60008060408385031215611b4257600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156103e3576103e3611b67565b600181815b80851115611bd1578160001904821115611bb757611bb7611b67565b80851615611bc457918102915b93841c9390800290611b9b565b509250929050565b600082611be8575060016103e3565b81611bf5575060006103e3565b8160018114611c0b5760028114611c1557611c31565b60019150506103e3565b60ff841115611c2657611c26611b67565b50506001821b6103e3565b5060208310610133831016604e8410600b8410161715611c54575081810a6103e3565b611c5e8383611b96565b8060001904821115611c7257611c72611b67565b029392505050565b60006105bb60ff841683611bd9565b818103818111156103e3576103e3611b67565b600060208284031215611cae57600080fd5b815165ffffffffffff811681146105bb57600080fd5b600060208284031215611cd657600080fd5b815180151581146105bb57600080fd5b6020808252818101527f42335452476f7665726e6f725631303a207472616e73666572206661696c6564604082015260600190565b808201808211156103e3576103e3611b67565b83815260608101600a8410611d5357634e487b7160e01b600052602160045260246000fd5b602082019390935260400152919050565b600060208284031215611d7657600080fd5b5051919050565b80820281158282048414176103e3576103e3611b67565b634e487b7160e01b600052601260045260246000fd5b600082611dc757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160d01b03818116838216019080821115611dec57611dec611b67565b5092915050565b6020808252602e908201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460408201526d2070726f706f73616c207479706560901b606082015260800190565b634e487b7160e01b600052603260045260246000fdfea264697066735822122054cb20592998f4c5133df1153ab22d287c7a3c4578ad2389db0324ca53f4baab64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x6B6A0704 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0xE2BBB158 EQ PUSH2 0xB4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x75 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AB6 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8F PUSH2 0x8A CALLDATASIZE PUSH1 0x4 PUSH2 0x1AE2 JUMP JUMPDEST PUSH2 0x3C4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8F PUSH2 0xAF CALLDATASIZE PUSH1 0x4 PUSH2 0x1B05 JUMP JUMPDEST PUSH2 0x3E9 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0xCF CALLDATASIZE PUSH1 0x4 PUSH2 0x1B2F JUMP JUMPDEST PUSH2 0x433 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH2 0x13D SWAP1 DUP6 SWAP1 PUSH2 0x115 SWAP1 PUSH2 0x559 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x122 PUSH1 0x9 DUP3 PUSH2 0x1B7D JUMP JUMPDEST PUSH2 0x12D SWAP1 PUSH1 0x2 PUSH2 0x1C7A JUMP JUMPDEST PUSH2 0x137 SWAP2 SWAP1 PUSH2 0x1C89 JUMP JUMPDEST XOR PUSH2 0x57C JUMP JUMPDEST POP DUP1 PUSH1 0x0 SUB PUSH2 0x176 JUMPI PUSH1 0x40 MLOAD PUSH4 0x15FB458D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xD DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP1 MLOAD PUSH4 0x24776B7D PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD PUSH2 0x22F SWAP3 PUSH20 0x0 SWAP3 PUSH4 0x91DDADF4 SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24E PUSH2 0x249 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP6 AND PUSH2 0x1C89 JUMP JUMPDEST PUSH2 0x678 JUMP JUMPDEST SWAP1 POP PUSH2 0x2E1 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C0 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP8 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP PUSH1 0xC DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP7 SWAP1 MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x338 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35C SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST PUSH2 0x378 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1CE6 JUMP JUMPDEST DUP6 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xFBE8F0867E2424D124A83F2A1D534D784A8BB780B73B22F3F1032DAFFB603FA1 DUP6 PUSH1 0x40 MLOAD PUSH2 0x3B4 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E3 DUP3 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3DE JUMPI PUSH2 0x3DE PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x6CB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F4 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x422 PUSH2 0x402 DUP5 PUSH2 0x799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43D PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x0 SUB PUSH2 0x460 JUMPI PUSH1 0x40 MLOAD PUSH4 0xC22B340F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SLOAD SWAP1 SWAP2 SUB PUSH2 0x498 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO PUSH2 0x4D5 JUMPI POP PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x4D3 JUMPI PUSH2 0x4D3 PUSH2 0x1B51 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x4F6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3C23A8D7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST PUSH2 0x509 DUP4 PUSH2 0x504 PUSH1 0x0 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x57C JUMP JUMPDEST POP DUP4 DUP2 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x51E SWAP2 SWAP1 PUSH2 0x1D1B JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x52F SWAP1 POP DUP5 CALLER DUP6 PUSH2 0x7CC JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x56D JUMPI PUSH2 0x56D PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x588 DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x596 DUP4 PUSH2 0x559 JUMP JUMPDEST AND SUB PUSH2 0x5BB JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D2E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x621 JUMPI PUSH1 0x0 PUSH2 0x5DD DUP5 PUSH2 0xDCF JUMP JUMPDEST PUSH2 0x5E7 SWAP1 DUP6 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x611 JUMPI DUP1 SWAP2 POP PUSH2 0x61F JUMP JUMPDEST PUSH2 0x61C DUP2 PUSH1 0x1 PUSH2 0x1D1B JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x62F DUP8 DUP8 DUP6 DUP6 PUSH2 0xEB7 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x66A JUMPI PUSH2 0x654 DUP8 PUSH2 0x646 PUSH1 0x1 DUP5 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x66D JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x16D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6BE DUP6 DUP6 DUP6 PUSH2 0xF11 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6D6 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 DUP3 PUSH1 0xB ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x731 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x755 SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x75E DUP7 PUSH2 0x108B JUMP JUMPDEST PUSH2 0x768 SWAP2 SWAP1 PUSH2 0x1D7D JUMP JUMPDEST PUSH2 0x772 SWAP2 SWAP1 PUSH2 0x1DAA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x77F DUP6 PUSH2 0x10FD JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x791 JUMPI SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x16D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7D6 PUSH2 0x535 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP9 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x833 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST PUSH2 0x873 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1CE6 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0x8A7 SWAP1 DUP5 SWAP1 PUSH2 0x1D1B JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x940 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8FC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x920 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x94D DUP7 PUSH2 0x678 JUMP JUMPDEST PUSH2 0x957 SWAP1 DUP4 PUSH2 0x1DCC JUMP JUMPDEST SWAP1 POP PUSH2 0x9EA PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9A5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9C9 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x65C1DF56BBA34C409163F3295407AB399DF5A4D9BF3DD0288416D6041CDC272C DUP9 PUSH1 0x40 MLOAD PUSH2 0x3B4 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA33 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xA88 JUMPI PUSH2 0xA88 PUSH2 0x1B51 JUMP JUMPDEST SUB PUSH2 0xA9A JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xAAE JUMPI PUSH2 0xAAE PUSH2 0x1B51 JUMP JUMPDEST SUB PUSH2 0xAC0 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0xAD3 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0xAE6 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0xB0E JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB68 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB8C SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST LT ISZERO PUSH2 0xB9F JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xBEA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC0E SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0xC23 DUP10 PUSH2 0x1147 JUMP JUMPDEST SWAP1 POP PUSH2 0xC2E DUP10 PUSH2 0x130F JUMP JUMPDEST PUSH2 0xC41 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0xC57 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC60 DUP10 PUSH2 0x133B JUMP JUMPDEST ISZERO DUP1 PUSH2 0xC72 JUMPI POP PUSH2 0xC70 DUP10 PUSH2 0x1399 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xC86 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC8F DUP10 PUSH2 0x13C1 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0xCA5 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD02 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD26 SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST ISZERO PUSH2 0xD3B JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD86 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDAA SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST ISZERO PUSH2 0xDBF JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDE1 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDEE DUP5 PUSH2 0x13F3 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE07 JUMPI PUSH2 0xE07 PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE1F JUMPI PUSH2 0xE1F PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE37 JUMPI PUSH2 0xE37 PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE4F JUMPI PUSH2 0xE4F PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE67 JUMPI PUSH2 0xE67 PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE7F JUMPI PUSH2 0xE7F PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE97 JUMPI PUSH2 0xE97 PUSH2 0x1D94 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x5BB DUP2 DUP3 DUP6 DUP2 PUSH2 0xEB1 JUMPI PUSH2 0xEB1 PUSH2 0x1D94 JUMP JUMPDEST DIV PUSH2 0x1487 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x791 JUMPI PUSH1 0x0 PUSH2 0xECE DUP5 DUP5 PUSH2 0x149D JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xEFD JUMPI DUP1 SWAP3 POP PUSH2 0xF0B JUMP JUMPDEST PUSH2 0xF08 DUP2 PUSH1 0x1 PUSH2 0x1D1B JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xEBA JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1030 JUMPI PUSH1 0x0 PUSH2 0xF2F DUP8 PUSH2 0x646 PUSH1 0x1 DUP6 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xF83 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xFCF JUMPI DUP5 PUSH2 0xFA6 DUP9 PUSH2 0x646 PUSH1 0x1 DUP7 PUSH2 0x1C89 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x6C3 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x6C3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1096 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x10A1 DUP4 PUSH2 0x14B8 JUMP JUMPDEST PUSH2 0x10BD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1DF3 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10D5 JUMPI PUSH2 0x10D5 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10E6 JUMPI PUSH2 0x10E6 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1108 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x1113 DUP4 PUSH2 0x14B8 JUMP JUMPDEST PUSH2 0x112F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1DF3 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10D5 JUMPI PUSH2 0x10D5 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1152 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11C2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11E6 SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST LT PUSH2 0x1283 JUMPI PUSH1 0x0 PUSH2 0x11F5 PUSH2 0x535 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1257 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x127B SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12FC SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x1305 DUP5 PUSH2 0x14EF JUMP JUMPDEST PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x1D1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x131A PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1346 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x138F PUSH2 0x1378 DUP7 PUSH2 0x14EF JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x138A JUMPI PUSH2 0x138A PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x1897 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13A4 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13CC PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1408 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x141A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x142C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x143E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1450 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1462 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1474 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1496 JUMPI DUP2 PUSH2 0x5BB JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14AC PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1DAA JUMP JUMPDEST PUSH2 0x5BB SWAP1 DUP5 DUP5 AND PUSH2 0x1D1B JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14CD JUMPI PUSH2 0x14CD PUSH2 0x1B51 JUMP JUMPDEST EQ DUP1 PUSH2 0x3E3 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14E8 JUMPI PUSH2 0x14E8 PUSH2 0x1B51 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x14FA PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x156A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x158E SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST LT PUSH2 0x15E6 JUMPI PUSH1 0x0 PUSH2 0x159D PUSH2 0x535 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x123A JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1632 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1656 SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x1674 SWAP2 SWAP1 PUSH2 0x1C89 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1683 PUSH1 0x1 DUP4 PUSH2 0x1C89 JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16FC SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x1706 SWAP2 SWAP1 PUSH2 0x1D7D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x175F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1783 SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17F2 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x1878 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1849 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x186D SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1883 DUP4 DUP4 PUSH2 0x1D1B JUMP JUMPDEST PUSH2 0x188D SWAP2 SWAP1 PUSH2 0x1D1B JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x18A2 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x18B0 DUP6 DUP6 PUSH2 0x1933 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x191F SWAP2 SWAP1 PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x1929 SWAP2 SWAP1 PUSH2 0x1D7D JUMP JUMPDEST PUSH2 0x127B SWAP2 SWAP1 PUSH2 0x1DAA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BB DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x194E JUMPI PUSH2 0x194E PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1959 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1975 JUMPI PUSH2 0x1975 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1986 JUMPI PUSH2 0x1986 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19B2 JUMPI PUSH2 0x19B2 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19C3 JUMPI PUSH2 0x19C3 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x19DE PUSH1 0x1 DUP5 PUSH2 0x1C89 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x19EE JUMPI PUSH2 0x19EE PUSH2 0x1E41 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x1A34 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x3E3 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1A85 PUSH2 0x1A40 DUP10 PUSH2 0x799 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1A58 JUMPI PUSH2 0x1A58 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1A69 JUMPI PUSH2 0x1A69 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x5C2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1AB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1AC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1AD9 PUSH1 0x20 DUP5 ADD PUSH2 0x1A9A JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B21 DUP4 PUSH2 0x1A9A JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH2 0x1BD1 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x1BB7 JUMPI PUSH2 0x1BB7 PUSH2 0x1B67 JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH2 0x1BC4 JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH2 0x1B9B JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1BE8 JUMPI POP PUSH1 0x1 PUSH2 0x3E3 JUMP JUMPDEST DUP2 PUSH2 0x1BF5 JUMPI POP PUSH1 0x0 PUSH2 0x3E3 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1C0B JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x1C15 JUMPI PUSH2 0x1C31 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x1C26 JUMPI PUSH2 0x1C26 PUSH2 0x1B67 JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH2 0x3E3 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x1C54 JUMPI POP DUP2 DUP2 EXP PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x1C5E DUP4 DUP4 PUSH2 0x1B96 JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x1C72 JUMPI PUSH2 0x1C72 PUSH2 0x1B67 JUMP JUMPDEST MUL SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BB PUSH1 0xFF DUP5 AND DUP4 PUSH2 0x1BD9 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x42335452476F7665726E6F725631303A207472616E73666572206661696C6564 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x1D53 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1DC7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1DEC JUMPI PUSH2 0x1DEC PUSH2 0x1B67 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD 0xCB KECCAK256 MSIZE 0x29 SWAP9 DELEGATECALL 0xC5 SGT RETURNDATASIZE CALL ISZERO GASPRICE 0xB2 0x2D 0x28 PUSH29 0x7A3C4578AD2389DB0324CA53F4BAAB64736F6C63430008140033000000 ","sourceMap":"1983:8688:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4732:992;;;;;;;;;;-1:-1:-1;4732:992:51;;;;;:::i;:::-;;:::i;:::-;;9930:204;;;;;;:::i;:::-;;:::i;:::-;;;879:25:150;;;867:2;852:18;9930:204:51;;;;;;;10362:307;;;;;;:::i;:::-;;:::i;3368:848::-;;;;;;;;;;-1:-1:-1;3368:848:51;;;;;:::i;:::-;;:::i;4732:992::-;4804:49;4856:44;:42;:44::i;:::-;4906:14;4923:22;;;:10;;;:22;;;;;;;;-1:-1:-1;;;;;4923:33:51;;;;;;;;;;4804:96;;-1:-1:-1;4963:211:51;;4934:10;;5089:79;;:39;:79::i;:::-;2089:1:56;2033:51;2039:40;2089:1;2033:51;:::i;:::-;2027:58;;:1;:58;:::i;:::-;2026:64;;;;:::i;:::-;5030:138:51;4963:41;:211::i;:::-;;5185:6;5195:1;5185:11;5181:89;;5213:50;;-1:-1:-1;;;5213:50:51;;;;;3534:25:150;;;-1:-1:-1;;;;;3595:32:150;;3575:18;;;3568:60;3507:18;;5213:50:51;;;;;;;;5181:89;5312:1;5276:22;;;:10;;;:22;;;;;;;;-1:-1:-1;;;;;5276:33:51;;;;;;;;;:37;;;5394:29;;-1:-1:-1;;;5394:29:51;;;;5343:81;;5394:21;;:27;;:29;;;;;5276:22;5394:29;;;;;:21;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5343:32:51;;;;;;:21;;;:32;;;;;;:50;:81::i;:::-;5320:104;-1:-1:-1;5430:16:51;5449:41;5468:21;5483:6;-1:-1:-1;;;;;5468:21:51;;;:::i;:::-;5449:18;:41::i;:::-;5430:60;;5496:78;5534:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5496:32:51;;;;;;:21;;;:32;;;;;;5565:8;5496:37;:78::i;:::-;-1:-1:-1;;5589:6:51;;;;:34;;-1:-1:-1;;;5589:34:51;;-1:-1:-1;;;;;4120:32:150;;;5589:34:51;;;4102:51:150;4169:18;;;4162:34;;;5589:6:51;;;;:15;;4075:18:150;;5589:34:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5581:79;;;;-1:-1:-1;;;5581:79:51;;;;;;;:::i;:::-;5700:10;5689:9;-1:-1:-1;;;;;5672:47:51;;5712:6;5672:47;;;;879:25:150;;867:2;852:18;;725:185;5672:47:51;;;;;;;;4798:926;;;;4732:992;;:::o;9930:204::-;10026:7;10048:81;10110:17;10080:48;;;;;;;;;;:::i;:::-;10048:31;:81::i;:::-;10041:88;9930:204;-1:-1:-1;;9930:204:51:o;10362:307::-;10462:7;10477:49;10529:44;:42;:44::i;:::-;10477:96;;10586:78;10635:28;10653:9;10635:17;:28::i;:::-;-1:-1:-1;;;;;10586:30:51;;;;;;:21;;;:30;;;;;;:48;:78::i;:::-;-1:-1:-1;;;;;10579:85:51;;10362:307;-1:-1:-1;;;;10362:307:51:o;3368:848::-;3436:49;3488:44;:42;:44::i;:::-;3436:96;;3542:6;3552:1;3542:11;3538:69;;3570:30;;-1:-1:-1;;;3570:30:51;;;;;;;;;;;3538:69;3613:46;3662:23;;;:11;;;;:23;;;;;3696:25;;;;3662:23;;3696:30;3692:97;;3743:39;;-1:-1:-1;;;3743:39:51;;;;;879:25:150;;;852:18;;3743:39:51;725:185:150;3692:97:51;3799:17;;-1:-1:-1;;;;;3799:17:51;3820:10;3799:31;:100;;;;-1:-1:-1;3864:35:51;3834:26;;;;:14;;;:26;;;;;;;;;:65;;;;;;;:::i;:::-;;3799:100;3795:168;;;3916:40;;-1:-1:-1;;;3916:40:51;;;;;879:25:150;;;852:18;;3916:40:51;725:185:150;3795:168:51;3969:152;4018:10;4036:79;4076:38;4036:39;:79::i;:::-;3969:41;:152::i;:::-;;4154:6;4128:8;:22;;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;4167:44:51;;-1:-1:-1;4180:6:51;4188:10;4200;4167:12;:44::i;:::-;3430:786;;3368:848;;:::o;2703:146:57:-;2816:23;;2703:146::o;4026:157:56:-;4122:7;4163:13;4157:20;;;;;;;;:::i;:::-;4152:1;:25;;;;;;;4026:157;-1:-1:-1;;4026:157:56:o;3360:405::-;3467:30;3505:43;3551:18;3558:10;3551:6;:18::i;:::-;3505:64;-1:-1:-1;3638:1:56;3613:13;3579:31;3505:64;3579:17;:31::i;:::-;:47;:61;3575:161;;3689:10;3701:12;3715:13;3657:72;;-1:-1:-1;;;3657:72:56;;;;;;;;;;:::i;3575:161::-;3748:12;3360:405;-1:-1:-1;;;3360:405:56:o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;5839:36:150;5891:18;;;5884:34;;;5812:18;;4297:42:37;5657:267:150;4245:105:37;-1:-1:-1;4374:5:37;4169:218::o;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;9123:589:51:-;9239:7;9254:49;9306:44;:42;:44::i;:::-;9254:96;;9356:32;9492:3;9468:1;:6;;;;;;;;;;-1:-1:-1;;;;;9468:6:51;-1:-1:-1;;;;;9468:18:51;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9392:67;9446:12;9392:53;:67::i;:::-;:96;;;;:::i;:::-;9391:104;;;;:::i;:::-;9356:139;;9501:20;9524:60;9571:12;9524:46;:60::i;:::-;9501:83;;9622:12;9595:24;:39;9591:79;;;9651:12;9123:589;-1:-1:-1;;;;9123:589:51:o;9591:79::-;-1:-1:-1;9683:24:51;9123:589;-1:-1:-1;;;9123:589:51:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;5839:36:150;5891:18;;;5884:34;;;5812:18;;14416:41:37;5657:267:150;6047:682:51;6155:49;6207:44;:42;:44::i;:::-;6265:6;;;;:53;;-1:-1:-1;;;6265:53:51;;-1:-1:-1;;;;;7174:15:150;;;6265:53:51;;;7156:34:150;6304:4:51;7206:18:150;;;7199:43;7258:18;;;7251:34;;;6265:6:51;;-1:-1:-1;6265:6:51;;;:19;;7091:18:150;;6265:53:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6257:98;;;;-1:-1:-1;;;6257:98:51;;;;;;;:::i;:::-;6362:22;;;;:10;;;:22;;;;;;;;-1:-1:-1;;;;;6362:33:51;;;;;;;;;:43;;6399:6;;6362:22;:43;;6399:6;;6362:43;:::i;:::-;;;;;;;;6412:20;6435:81;6486:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6435:32:51;;;;;;:21;;;:32;;;;;;:50;:81::i;:::-;6412:104;;6522:16;6556:26;6575:6;6556:18;:26::i;:::-;6541:41;;:12;:41;:::i;:::-;6522:60;;6588:78;6626:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6588:32:51;;;;;;:21;;;:32;;;;;;6657:8;6588:37;:78::i;:::-;;;6705:10;6694:9;-1:-1:-1;;;;;6678:46:51;;6717:6;6678:46;;;;879:25:150;;867:2;852:18;;725:185;4390:2351:56;4457:30;4495:49;4547:44;:42;:44::i;:::-;4634:46;4683:23;;;:11;;;;:23;;;;;;;;4781:26;;;:38;;;;;;;4849:17;;;;4495:96;;-1:-1:-1;4683:23:56;;4781:38;;;;;-1:-1:-1;;;4849:17:56;;;;;-1:-1:-1;;;4896:17:56;;;;;4924:24;:83;;;;;;;;:::i;:::-;;4920:155;;-1:-1:-1;5024:44:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;4920:155::-;5113:51;5085:24;:79;;;;;;;;:::i;:::-;;5081:147;;-1:-1:-1;5181:40:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5081:147::-;5238:16;5234:83;;;-1:-1:-1;5271:39:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5234:83::-;5327:16;5323:83;;;-1:-1:-1;5360:39:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5323:83::-;5416:8;:25;;;5445:1;5416:30;5412:97;;5463:39;;-1:-1:-1;;;5463:39:56;;;;;879:25:150;;;852:18;;5463:39:56;725:185:150;5412:97:56;5598:8;:25;;;5559:1;:19;;;;;;;;;;-1:-1:-1;;;;;5559:19:56;-1:-1:-1;;;;;5559:34:56;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;5555:130;;;-1:-1:-1;5640:38:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5555:130::-;5691:24;5718:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5691:56;;;;5753:16;5772:54;5815:10;5772:42;:54::i;:::-;5753:73;;5838:58;5885:10;5838:46;:58::i;:::-;5833:131;;-1:-1:-1;5913:44:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;5833:131::-;5986:16;5974:8;:28;5970:767;;-1:-1:-1;6019:37:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;5970:767::-;6081:48;6118:10;6081:36;:48::i;:::-;6080:49;:101;;;;6134:47;6170:10;6134:35;:47::i;:::-;6133:48;6080:101;6069:668;;;-1:-1:-1;6203:39:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;6069:668::-;6259:48;6296:10;6259:36;:48::i;:::-;6311:1;6259:53;6255:482;;-1:-1:-1;6329:40:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;6255:482::-;6390:15;6408:25;;;:13;;;:25;;;;;;;;6445:10;;;;:38;;-1:-1:-1;;;6445:38:56;;;;;879:25:150;;;6408::56;;-1:-1:-1;;;;;6445:10:56;;:29;;852:18:150;;6445:38:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6441:290;;;-1:-1:-1;6502:37:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;6441:290::-;6558:10;;;;:35;;-1:-1:-1;;;6558:35:56;;;;;879:25:150;;;-1:-1:-1;;;;;6558:10:56;;;;:26;;852:18:150;;6558:35:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6554:177;;;-1:-1:-1;6612:39:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;6554:177::-;-1:-1:-1;6683:39:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;11513:870;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;16402:412:50;16508:7;16523:49;16575:44;:42;:44::i;:::-;16523:96;;16633:58;16678:12;16633:44;:58::i;:::-;16625:117;;;;-1:-1:-1;;;16625:117:50;;;;;;;:::i;:::-;16755:1;:40;;:54;16796:12;16755:54;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16748:61;;;16402:412;;;:::o;17318:398::-;17417:7;17432:49;17484:44;:42;:44::i;:::-;17432:96;;17542:58;17587:12;17542:44;:58::i;:::-;17534:117;;;;-1:-1:-1;;;17534:117:50;;;;;;;:::i;:::-;17664:1;:33;;:47;17698:12;17664:47;;;;;;;;:::i;37142:769:54:-;37220:7;37235:49;37287:44;:42;:44::i;:::-;37235:96;;37474:1;:11;;:23;37486:10;37474:23;;;;;;;;;;;:40;;;37434:1;:19;;;;;;;;;;-1:-1:-1;;;;;37434:19:54;-1:-1:-1;;;;;37434:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;37430:285;;37522:49;37574:44;:42;:44::i;:::-;37633:19;;;;;37667:23;;;37633:19;37667:11;;;:23;;;;;;;:40;;37633:75;;-1:-1:-1;;;37633:75:54;;;;;879:25:150;;;;37633:19:54;;-1:-1:-1;;;;;;37633:19:54;;:33;;852:18:150;;37633:75:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37626:82;37142:769;-1:-1:-1;;;;37142:769:54:o;37430:285::-;37872:1;:19;;;;;;;;;;-1:-1:-1;;;;;37872:19:54;-1:-1:-1;;;;;37872:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37840:29;37858:10;37840:17;:29::i;:::-;:66;;;;:::i;8403:338:51:-;8486:4;8498:49;8550:44;:42;:44::i;:::-;8600:46;8649:23;;;:11;;:23;;-1:-1:-1;;8649:23:51;;;8711:25;;;;8685:22;;;;;:51;;;8403:338::o;8601:423:55:-;8675:4;8687:49;8739:44;:42;:44::i;:::-;8789:42;8834:26;;;:14;;;:26;;;;;;;;;8987:20;;;:32;;;;;;;8687:96;;-1:-1:-1;8834:26:55;;;8880:97;8901:54;8849:10;8901:42;:54::i;:::-;8963:12;8957:19;;;;;;;;:::i;:::-;8880:20;:97::i;:::-;:139;;;8601:423;-1:-1:-1;;;;8601:423:55:o;6559:327:59:-;6625:4;6637:49;6689:44;:42;:44::i;:::-;6739:50;6792:27;;;:15;;:27;;-1:-1:-1;;6792:27:59;;;6856:25;;6832:21;;;;;:49;;6559:327::o;6759:235:54:-;6831:7;6846:49;6898:44;:42;:44::i;:::-;6955:23;;;;:11;;:23;;-1:-1:-1;;6955:23:54;;;:34;;;-1:-1:-1;;;6955:34:54;;;;;6759:235::o;10699:983:36:-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;39754:250:54:-;39855:4;;39880:17;:59;;;;;;;;:::i;:::-;;:119;;;-1:-1:-1;39964:35:54;39943:17;:56;;;;;;;;:::i;:::-;;39867:132;39754:250;-1:-1:-1;;39754:250:54:o;35807:1163::-;35885:7;35900:49;35952:44;:42;:44::i;:::-;35900:96;;36109:1;:11;;:23;36121:10;36109:23;;;;;;;;;;;:40;;;36069:1;:19;;;;;;;;;;-1:-1:-1;;;;;36069:19:54;-1:-1:-1;;;;;36069:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36065:285;;36157:49;36209:44;:42;:44::i;:::-;36268:19;;;;;36302:23;;;36268:19;36302:11;;;:23;;;;;;;:40;;36268:75;;-1:-1:-1;;;36268:75:54;;;;;879:25:150;;;;36268:19:54;;-1:-1:-1;;;;;;36268:19:54;;:33;;852:18:150;;36268:75:54;725:185:150;36065:285:54;36428:19;;;;:36;;;-1:-1:-1;;;36428:36:54;;;;36356:26;;-1:-1:-1;;;;;36428:19:54;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36385:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;36356:108;-1:-1:-1;36470:26:54;36537:22;36558:1;36356:108;36537:22;:::i;:::-;36499:1;:19;;;;;;;;;;-1:-1:-1;;;;;36499:19:54;-1:-1:-1;;;;;36499:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36470:90;;36622:28;36653:1;:19;;;;;;;;;;-1:-1:-1;;;;;36653:19:54;-1:-1:-1;;;;;36653:40:54;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36622:73;;36792:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36768:53;;:20;:53;36764:126;;36854:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36831:52;;;;36764:126;36947:18;36903:41;36926:18;36903:20;:41;:::i;:::-;:62;;;;:::i;:::-;36896:69;35807:1163;-1:-1:-1;;;;;;35807:1163:54:o;6688:370:55:-;6795:7;6810:49;6862:44;:42;:44::i;:::-;6810:96;-1:-1:-1;3199:3:55;6965:59;6995:9;7006:17;6965:29;:59::i;:::-;6926:6;;;;:36;;-1:-1:-1;;;6926:36:55;;;;;879:25:150;;;-1:-1:-1;;;;;6926:6:55;;;;:25;;852:18:150;;6926:36:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6925:128;;;;:::i;4472:234::-;4588:7;4610:91;4641:9;4682:17;4652:48;;;;;;;;;;:::i;:::-;9518:7;9533:49;9585:44;:42;:44::i;:::-;9533:96;;9635:14;9652:1;:20;;:39;9673:17;9652:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9652:39:55;;;:59;;-1:-1:-1;9815:20:55;;;-1:-1:-1;9836:17:55;9815:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9815:39:55;9868:10;9877:1;9868:6;:10;:::i;:::-;9815:64;;;;;;;;:::i;:::-;;;;;;;;;;9904:11;;9815:64;;-1:-1:-1;9904:11:55;;;;-1:-1:-1;;;9943:13:55;;-1:-1:-1;;;;;9943:13:55;9966:22;;;9962:61;;-1:-1:-1;;;;;9998:18:55;;-1:-1:-1;9998:18:55;;-1:-1:-1;;;;9998:18:55;9962:61;10075:87;10133:28;10151:9;10133:17;:28::i;:::-;10075:1;:20;;:39;10096:17;10075:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:57;;:87;;;;:::i;:::-;-1:-1:-1;;;;;10068:94:55;;9375:792;-1:-1:-1;;;;;;;;9375:792:55:o;14:173:150:-;82:20;;-1:-1:-1;;;;;131:31:150;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;373:9;360:23;350:33;;402:38;436:2;425:9;421:18;402:38;:::i;:::-;392:48;;192:254;;;;;:::o;451:269::-;508:6;561:2;549:9;540:7;536:23;532:32;529:52;;;577:1;574;567:12;529:52;616:9;603:23;666:4;659:5;655:16;648:5;645:27;635:55;;686:1;683;676:12;915:254;983:6;991;1044:2;1032:9;1023:7;1019:23;1015:32;1012:52;;;1060:1;1057;1050:12;1012:52;1083:29;1102:9;1083:29;:::i;:::-;1073:39;1159:2;1144:18;;;;1131:32;;-1:-1:-1;;;915:254:150:o;1174:248::-;1242:6;1250;1303:2;1291:9;1282:7;1278:23;1274:32;1271:52;;;1319:1;1316;1309:12;1271:52;-1:-1:-1;;1342:23:150;;;1412:2;1397:18;;;1384:32;;-1:-1:-1;1174:248:150:o;1427:127::-;1488:10;1483:3;1479:20;1476:1;1469:31;1519:4;1516:1;1509:15;1543:4;1540:1;1533:15;1559:127;1620:10;1615:3;1611:20;1608:1;1601:31;1651:4;1648:1;1641:15;1675:4;1672:1;1665:15;1691:148;1779:4;1758:12;;;1772;;;1754:31;;1797:13;;1794:39;;;1813:18;;:::i;1844:422::-;1933:1;1976:5;1933:1;1990:270;2011:7;2001:8;1998:21;1990:270;;;2070:4;2066:1;2062:6;2058:17;2052:4;2049:27;2046:53;;;2079:18;;:::i;:::-;2129:7;2119:8;2115:22;2112:55;;;2149:16;;;;2112:55;2228:22;;;;2188:15;;;;1990:270;;;1994:3;1844:422;;;;;:::o;2271:806::-;2320:5;2350:8;2340:80;;-1:-1:-1;2391:1:150;2405:5;;2340:80;2439:4;2429:76;;-1:-1:-1;2476:1:150;2490:5;;2429:76;2521:4;2539:1;2534:59;;;;2607:1;2602:130;;;;2514:218;;2534:59;2564:1;2555:10;;2578:5;;;2602:130;2639:3;2629:8;2626:17;2623:43;;;2646:18;;:::i;:::-;-1:-1:-1;;2702:1:150;2688:16;;2717:5;;2514:218;;2816:2;2806:8;2803:16;2797:3;2791:4;2788:13;2784:36;2778:2;2768:8;2765:16;2760:2;2754:4;2751:12;2747:35;2744:77;2741:159;;;-1:-1:-1;2853:19:150;;;2885:5;;2741:159;2932:34;2957:8;2951:4;2932:34;:::i;:::-;3002:6;2998:1;2994:6;2990:19;2981:7;2978:32;2975:58;;;3013:18;;:::i;:::-;3051:20;;2271:806;-1:-1:-1;;;2271:806:150:o;3082:140::-;3140:5;3169:47;3210:4;3200:8;3196:19;3190:4;3169:47;:::i;3227:128::-;3294:9;;;3315:11;;;3312:37;;;3329:18;;:::i;3639:284::-;3708:6;3761:2;3749:9;3740:7;3736:23;3732:32;3729:52;;;3777:1;3774;3767:12;3729:52;3809:9;3803:16;3859:14;3852:5;3848:26;3841:5;3838:37;3828:65;;3889:1;3886;3879:12;4207:277;4274:6;4327:2;4315:9;4306:7;4302:23;4298:32;4295:52;;;4343:1;4340;4333:12;4295:52;4375:9;4369:16;4428:5;4421:13;4414:21;4407:5;4404:32;4394:60;;4450:1;4447;4440:12;4489:356;4691:2;4673:21;;;4710:18;;;4703:30;4769:34;4764:2;4749:18;;4742:62;4836:2;4821:18;;4489:356::o;5032:125::-;5097:9;;;5118:10;;;5115:36;;;5131:18;;:::i;5162:490::-;5381:25;;;5369:2;5354:18;;5436:2;5425:14;;5415:145;;5482:10;5477:3;5473:20;5470:1;5463:31;5517:4;5514:1;5507:15;5545:4;5542:1;5535:15;5415:145;5591:2;5576:18;;5569:34;;;;5634:2;5619:18;5612:34;5162:490;;-1:-1:-1;5162:490:150:o;5929:184::-;5999:6;6052:2;6040:9;6031:7;6027:23;6023:32;6020:52;;;6068:1;6065;6058:12;6020:52;-1:-1:-1;6091:16:150;;5929:184;-1:-1:-1;5929:184:150:o;6118:168::-;6191:9;;;6222;;6239:15;;;6233:22;;6219:37;6209:71;;6260:18;;:::i;6291:127::-;6352:10;6347:3;6343:20;6340:1;6333:31;6383:4;6380:1;6373:15;6407:4;6404:1;6397:15;6423:217;6463:1;6489;6479:132;;6533:10;6528:3;6524:20;6521:1;6514:31;6568:4;6565:1;6558:15;6596:4;6593:1;6586:15;6479:132;-1:-1:-1;6625:9:150;;6423:217::o;7296:182::-;-1:-1:-1;;;;;7403:10:150;;;7415;;;7399:27;;7438:11;;;7435:37;;;7452:18;;:::i;:::-;7435:37;7296:182;;;;:::o;7665:410::-;7867:2;7849:21;;;7906:2;7886:18;;;7879:30;7945:34;7940:2;7925:18;;7918:62;-1:-1:-1;;;8011:2:150;7996:18;;7989:44;8065:3;8050:19;;7665:410::o;8080:127::-;8141:10;8136:3;8132:20;8129:1;8122:31;8172:4;8169:1;8162:15;8196:4;8193:1;8186:15"},"methodIdentifiers":{"deposit(uint256,uint256)":"e2bbb158","depositThresholdByProposalType(uint8)":"6b6a0704","getDepositVotingPower(address,uint256)":"a56b5765","withdraw(uint256,address)":"00f714ce"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidDepositAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"}],\"name\":\"GovernorNoDepositToWithdraw\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GranteeCannotDepositOwnGrant\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalWithdraw\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This library provides functions to deposit and withdraw tokens for proposals, and to get deposit-related information.\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"GovernorInvalidDepositAmount()\":[{\"details\":\"Thrown when the deposit amount is invalid (must be greater than 0).\"}],\"GovernorNoDepositToWithdraw(uint256,address)\":[{\"details\":\"Thrown when there is no deposit to withdraw.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"Thrown when the proposal ID does not exist.\"},{\"details\":\"Thrown when the `proposalId` does not exist.\",\"params\":{\"proposalId\":\"The ID of the proposal that does not exist.\"}}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"Thrown when the current state of a proposal does not match the expected states.\",\"params\":{\"current\":\"The current state of the proposal.\",\"expectedStates\":\"The expected states of the proposal as a bitmap.\",\"proposalId\":\"The ID of the proposal.\"}}],\"GranteeCannotDepositOwnGrant(uint256)\":[{\"details\":\"Thrown when the grantee tries to deposit for their own grant.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"ProposalDeposit(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is made to a proposal.\"},\"ProposalWithdraw(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is withdrawn from a proposal.\"}},\"kind\":\"dev\",\"methods\":{\"deposit(uint256,uint256)\":{\"details\":\"Proposer and proposal sponsors can contribute towards a proposal's deposit using this function. The proposal must be in the Pending state to make a deposit. The amount deposited from an address is tracked and can be withdrawn by the same address when the voting round is over.\",\"params\":{\"amount\":\"The amount of tokens to deposit.\",\"proposalId\":\"The ID of the proposal.\"}},\"depositThresholdByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal (uint8-encoded enum).\"},\"returns\":{\"_0\":\"uint256 The deposit threshold for the proposal type.\"}},\"getDepositVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account.\",\"timepoint\":\"The timepoint.\"},\"returns\":{\"_0\":\"The deposit voting power.\"}},\"withdraw(uint256,address)\":{\"details\":\"A depositor can only withdraw their tokens once the proposal is no longer Pending or Active. Each address can only withdraw once per proposal. Reverts if no deposits are available to withdraw or if the deposits have already been withdrawn by the message sender. Reverts if the token transfer fails.\",\"params\":{\"depositer\":\"The address of the depositor.\",\"proposalId\":\"The ID of the proposal to withdraw deposits from.\"}}},\"title\":\"GovernorDepositLogicV10 Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deposit(uint256,uint256)\":{\"notice\":\"Deposits tokens for a proposal.\"},\"depositThresholdByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold for a proposal type.\"},\"getDepositVotingPower(address,uint256)\":{\"notice\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"withdraw(uint256,address)\":{\"notice\":\"Withdraws tokens previously deposited to a proposal.\"}},\"notice\":\"Library for managing deposits related to proposals in the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol\":\"GovernorDepositLogicV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol\":{\"keccak256\":\"0x6a7cc588ce08460da1388dab77c8778aa1a60065cd43ae2360c103e640dfc2a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://254fe95dec0ab5497b4bbefe29fb65dea5b0594c90982dbf3b66c2f6c1c39f29\",\"dweb:/ipfs/QmW3dbwg9H6GPrvaDeKLfRQBzz28BFwNVufkT7pe1hv6B7\"]},\"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol\":{\"keccak256\":\"0x3397264be328d66e78addf8da14626cedf3e822eda096dcc0b0d4c8f590cf164\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d8770a70795251944aea6b12221270a6e1df0a6cae7de3cfa985d9d85f5b44e\",\"dweb:/ipfs/QmPo2y4pt9xMkdoXjWRKvmVjN5ao2DaQpdpsEDLWoX6Tds\"]},\"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol\":{\"keccak256\":\"0x4b49b4820370e23b8a9cc8e4cfd7cc233078aa18b127e4f3bb71eef2037d56fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0d15ed7cf840190e4fe550d5beac54812fcf3c935415ac45f78d2da8edce094\",\"dweb:/ipfs/QmSakePtMJCjxqVyS5UhPi6jLwojUgdLK2mkjf4JkZuUNr\"]},\"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\":{\"keccak256\":\"0xdf23dd2f515e503dbbae2a4d4d4e9efcca22e357aacdb83e5abdc5854783cc22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b3c6779fcdf93f8f8afc3ddf7591fe983d47ad6ae8eaa29902603c701beaf86\",\"dweb:/ipfs/QmdigrheDca8jAb7cwgGj3r3f95DsjEDdqb5pT5gfiiULL\"]},\"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol\":{\"keccak256\":\"0x1b1ff6cdf118475d82421782ff9e8b83fe0056bdffea414bfb6be15ad6cdb73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9aacb4a80e7922069ec2ed464c17ad17b72b4a061dd4ed63e5449b8147407260\",\"dweb:/ipfs/QmR1cqBsHBJurr5DfpJ1daov1DnxS2Yz9atCggvV2if4V1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol\":{\"keccak256\":\"0x88765be13ee3cc295e11e5b966a3c80f7fc976c1a10eac3fe096b7f1e26dd509\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://846d77bf1f45c0bc78fcaf8f51a45763a3c4879b33cc172ef12b736182804908\",\"dweb:/ipfs/QmWdh7woCYYsUXoW2RyoBrVWQvTtjwVqVAD9AT8wRnUoa3\"]},\"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol\":{\"keccak256\":\"0xcddb1bc4f53ed3df2264eee5a6b0c8894d6a01d9673eff866b81691a56e557ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f21e5eec2c06dcb3bab8d7af5808adb47b8dfd99de7483d4d81e04effe10f05d\",\"dweb:/ipfs/QmPLUSt6CaCjS5tFqeVDeCnvfq8jG99KJhzs5GfaK2tjRh\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol\":{\"keccak256\":\"0x50c28e3d5abc3914216c8871ec74f3cafac0ca598bf389d84af6bcc950d792a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45bb508ad0afe1da38784ee6b51b6c1cc4f4604e6c84052fc2917c1bb8436d18\",\"dweb:/ipfs/QmXhdxjhT4Hn3SiGm31hJbZDSYMYjqX9k72Zx6eanGZNHE\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol\":{\"keccak256\":\"0x944ea2027e155ed6020969da6d21c8c0f22b49e4b1792c3403b6ae75e52c5328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df4a784bb01c7df68a62c68d8c859a7fb73980d5d99ade94d2c2f62e11d68488\",\"dweb:/ipfs/QmawVpasYNft622Myguv2weKnmpA7z17o4dbCt7io9r9M9\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol":{"GovernorFunctionRestrictionsLogicV10":{"abi":[{"inputs":[{"internalType":"bytes","name":"selector","type":"bytes"}],"name":"GovernorFunctionInvalidSelector","type":"error"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"name":"GovernorRestrictedFunction","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"bytes4","name":"functionSelector","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"FunctionWhitelisted","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"61045661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80634c5ead08146100505780638e828cb414610072578063be9bd92b14610092575b600080fd5b81801561005c57600080fd5b5061007061006b36600461025b565b6100b2565b005b81801561007e57600080fd5b5061007061008d3660046102c2565b6100d2565b81801561009e57600080fd5b506100706100ad3660046103a9565b61011a565b60006100bc610222565b600901805460ff19169215159290921790915550565b60005b825181101561011457610102848483815181106100f4576100f46103e3565b60200260200101518461011a565b8061010c816103f9565b9150506100d5565b50505050565b6000610124610222565b90506001600160a01b0384166101a8576040805162461bcd60e51b81526020600482015260248101919091527f476f7665726e6f7246756e6374696f6e5265737472696374696f6e734c6f676960448201527f635631303a2074617267657420697320746865207a65726f2061646472657373606482015260840160405180910390fd5b6001600160a01b038416600081815260088301602090815260408083206001600160e01b0319881680855290835292819020805460ff191687151590811790915590519081529192917f5da7b78f7dccc6b378e3f55a7e57f9363d3c15686c0d82f85e45130393c9c970910160405180910390a350505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b8035801515811461025657600080fd5b919050565b60006020828403121561026d57600080fd5b61027682610246565b9392505050565b80356001600160a01b038116811461025657600080fd5b634e487b7160e01b600052604160045260246000fd5b80356001600160e01b03198116811461025657600080fd5b6000806000606084860312156102d757600080fd5b6102e08461027d565b92506020848101356001600160401b03808211156102fd57600080fd5b818701915087601f83011261031157600080fd5b81358181111561032357610323610294565b8060051b604051601f19603f8301168101818110858211171561034857610348610294565b60405291825284820192508381018501918a83111561036657600080fd5b938501935b8285101561038b5761037c856102aa565b8452938501939285019261036b565b8097505050505050506103a060408501610246565b90509250925092565b6000806000606084860312156103be57600080fd5b6103c78461027d565b92506103d5602085016102aa565b91506103a060408501610246565b634e487b7160e01b600052603260045260246000fd5b60006001820161041957634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212207f8f19cf50aea477d9e067962ca62604019fc8eb7e45ead9889cbee0cd427b6c64736f6c63430008140033","opcodes":"PUSH2 0x456 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4C5EAD08 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E828CB4 EQ PUSH2 0x72 JUMPI DUP1 PUSH4 0xBE9BD92B EQ PUSH2 0x92 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x6B CALLDATASIZE PUSH1 0x4 PUSH2 0x25B JUMP JUMPDEST PUSH2 0xB2 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x8D CALLDATASIZE PUSH1 0x4 PUSH2 0x2C2 JUMP JUMPDEST PUSH2 0xD2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0xAD CALLDATASIZE PUSH1 0x4 PUSH2 0x3A9 JUMP JUMPDEST PUSH2 0x11A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC PUSH2 0x222 JUMP JUMPDEST PUSH1 0x9 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x114 JUMPI PUSH2 0x102 DUP5 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xF4 JUMPI PUSH2 0xF4 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH2 0x10C DUP2 PUSH2 0x3F9 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xD5 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x124 PUSH2 0x222 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1A8 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x476F7665726E6F7246756E6374696F6E5265737472696374696F6E734C6F6769 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x635631303A2074617267657420697320746865207A65726F2061646472657373 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x5DA7B78F7DCCC6B378E3F55A7E57F9363D3C15686C0D82F85E45130393C9C970 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x276 DUP3 PUSH2 0x246 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0 DUP5 PUSH2 0x27D JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x311 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x323 JUMPI PUSH2 0x323 PUSH2 0x294 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x348 JUMPI PUSH2 0x348 PUSH2 0x294 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP5 DUP3 ADD SWAP3 POP DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP11 DUP4 GT ISZERO PUSH2 0x366 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x38B JUMPI PUSH2 0x37C DUP6 PUSH2 0x2AA JUMP JUMPDEST DUP5 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP3 DUP6 ADD SWAP3 PUSH2 0x36B JUMP JUMPDEST DUP1 SWAP8 POP POP POP POP POP POP POP PUSH2 0x3A0 PUSH1 0x40 DUP6 ADD PUSH2 0x246 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3C7 DUP5 PUSH2 0x27D JUMP JUMPDEST SWAP3 POP PUSH2 0x3D5 PUSH1 0x20 DUP6 ADD PUSH2 0x2AA JUMP JUMPDEST SWAP2 POP PUSH2 0x3A0 PUSH1 0x40 DUP6 ADD PUSH2 0x246 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x419 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH32 0x8F19CF50AEA477D9E067962CA62604019FC8EB7E45EAD9889CBEE0CD427B6C64 PUSH20 0x6F6C634300081400330000000000000000000000 ","sourceMap":"1536:3666:52:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1536:3666:52;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@getGovernorStorage_24759":{"entryPoint":546,"id":24759,"parameterSlots":0,"returnSlots":1},"@setIsFunctionRestrictionEnabled_21347":{"entryPoint":178,"id":21347,"parameterSlots":1,"returnSlots":0},"@setWhitelistFunction_21295":{"entryPoint":282,"id":21295,"parameterSlots":3,"returnSlots":0},"@setWhitelistFunctions_21326":{"entryPoint":210,"id":21326,"parameterSlots":3,"returnSlots":0},"abi_decode_address":{"entryPoint":637,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_bool":{"entryPoint":582,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_bytes4":{"entryPoint":682,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool":{"entryPoint":706,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes4t_bool":{"entryPoint":937,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_bool":{"entryPoint":603,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3333b5ca7771ef9fe774e24fd2d1614cdb7b854735f2234df33c9eecba61a294__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":1017,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x32":{"entryPoint":995,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":660,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3440:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"60:114:150","statements":[{"nodeType":"YulAssignment","src":"70:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"92:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"79:12:150"},"nodeType":"YulFunctionCall","src":"79:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"70:5:150"}]},{"body":{"nodeType":"YulBlock","src":"152:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"161:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"164:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"154:6:150"},"nodeType":"YulFunctionCall","src":"154:12:150"},"nodeType":"YulExpressionStatement","src":"154:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"121:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"142:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"135:6:150"},"nodeType":"YulFunctionCall","src":"135:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"128:6:150"},"nodeType":"YulFunctionCall","src":"128:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"118:2:150"},"nodeType":"YulFunctionCall","src":"118:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"111:6:150"},"nodeType":"YulFunctionCall","src":"111:40:150"},"nodeType":"YulIf","src":"108:60:150"}]},"name":"abi_decode_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"39:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"50:5:150","type":""}],"src":"14:160:150"},{"body":{"nodeType":"YulBlock","src":"246:113:150","statements":[{"body":{"nodeType":"YulBlock","src":"292:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"301:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"304:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"294:6:150"},"nodeType":"YulFunctionCall","src":"294:12:150"},"nodeType":"YulExpressionStatement","src":"294:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"267:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"276:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"263:3:150"},"nodeType":"YulFunctionCall","src":"263:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"288:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"259:3:150"},"nodeType":"YulFunctionCall","src":"259:32:150"},"nodeType":"YulIf","src":"256:52:150"},{"nodeType":"YulAssignment","src":"317:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"343:9:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"327:15:150"},"nodeType":"YulFunctionCall","src":"327:26:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"317:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"212:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"223:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"235:6:150","type":""}],"src":"179:180:150"},{"body":{"nodeType":"YulBlock","src":"413:124:150","statements":[{"nodeType":"YulAssignment","src":"423:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"445:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"432:12:150"},"nodeType":"YulFunctionCall","src":"432:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"423:5:150"}]},{"body":{"nodeType":"YulBlock","src":"515:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"524:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"527:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"517:6:150"},"nodeType":"YulFunctionCall","src":"517:12:150"},"nodeType":"YulExpressionStatement","src":"517:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"474:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"485:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"500:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"505:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"496:3:150"},"nodeType":"YulFunctionCall","src":"496:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"509:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"492:3:150"},"nodeType":"YulFunctionCall","src":"492:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"481:3:150"},"nodeType":"YulFunctionCall","src":"481:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"471:2:150"},"nodeType":"YulFunctionCall","src":"471:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"464:6:150"},"nodeType":"YulFunctionCall","src":"464:50:150"},"nodeType":"YulIf","src":"461:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"392:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"403:5:150","type":""}],"src":"364:173:150"},{"body":{"nodeType":"YulBlock","src":"574:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"591:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"598:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"603:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"594:3:150"},"nodeType":"YulFunctionCall","src":"594:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"584:6:150"},"nodeType":"YulFunctionCall","src":"584:31:150"},"nodeType":"YulExpressionStatement","src":"584:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"631:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"634:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"624:6:150"},"nodeType":"YulFunctionCall","src":"624:15:150"},"nodeType":"YulExpressionStatement","src":"624:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"655:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"658:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"648:6:150"},"nodeType":"YulFunctionCall","src":"648:15:150"},"nodeType":"YulExpressionStatement","src":"648:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"542:127:150"},{"body":{"nodeType":"YulBlock","src":"722:125:150","statements":[{"nodeType":"YulAssignment","src":"732:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"754:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"741:12:150"},"nodeType":"YulFunctionCall","src":"741:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"732:5:150"}]},{"body":{"nodeType":"YulBlock","src":"825:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"834:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"837:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"827:6:150"},"nodeType":"YulFunctionCall","src":"827:12:150"},"nodeType":"YulExpressionStatement","src":"827:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"783:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"794:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"805:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"810:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"801:3:150"},"nodeType":"YulFunctionCall","src":"801:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"790:3:150"},"nodeType":"YulFunctionCall","src":"790:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"780:2:150"},"nodeType":"YulFunctionCall","src":"780:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"773:6:150"},"nodeType":"YulFunctionCall","src":"773:51:150"},"nodeType":"YulIf","src":"770:71:150"}]},"name":"abi_decode_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"701:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"712:5:150","type":""}],"src":"674:173:150"},{"body":{"nodeType":"YulBlock","src":"977:1136:150","statements":[{"body":{"nodeType":"YulBlock","src":"1023:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1032:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1035:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1025:6:150"},"nodeType":"YulFunctionCall","src":"1025:12:150"},"nodeType":"YulExpressionStatement","src":"1025:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"998:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1007:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"994:3:150"},"nodeType":"YulFunctionCall","src":"994:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1019:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"990:3:150"},"nodeType":"YulFunctionCall","src":"990:32:150"},"nodeType":"YulIf","src":"987:52:150"},{"nodeType":"YulAssignment","src":"1048:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1077:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1058:18:150"},"nodeType":"YulFunctionCall","src":"1058:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1048:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1096:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1106:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1100:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1117:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1148:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1159:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1144:3:150"},"nodeType":"YulFunctionCall","src":"1144:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1131:12:150"},"nodeType":"YulFunctionCall","src":"1131:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1121:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1172:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1190:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1194:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1186:3:150"},"nodeType":"YulFunctionCall","src":"1186:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1198:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1182:3:150"},"nodeType":"YulFunctionCall","src":"1182:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1176:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1227:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1236:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1239:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1229:6:150"},"nodeType":"YulFunctionCall","src":"1229:12:150"},"nodeType":"YulExpressionStatement","src":"1229:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1215:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1223:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1212:2:150"},"nodeType":"YulFunctionCall","src":"1212:14:150"},"nodeType":"YulIf","src":"1209:34:150"},{"nodeType":"YulVariableDeclaration","src":"1252:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1266:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"1277:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1262:3:150"},"nodeType":"YulFunctionCall","src":"1262:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1256:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1332:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1341:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1344:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1334:6:150"},"nodeType":"YulFunctionCall","src":"1334:12:150"},"nodeType":"YulExpressionStatement","src":"1334:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1311:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1315:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1307:3:150"},"nodeType":"YulFunctionCall","src":"1307:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1322:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1303:3:150"},"nodeType":"YulFunctionCall","src":"1303:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1296:6:150"},"nodeType":"YulFunctionCall","src":"1296:35:150"},"nodeType":"YulIf","src":"1293:55:150"},{"nodeType":"YulVariableDeclaration","src":"1357:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1380:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1367:12:150"},"nodeType":"YulFunctionCall","src":"1367:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1361:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1406:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1408:16:150"},"nodeType":"YulFunctionCall","src":"1408:18:150"},"nodeType":"YulExpressionStatement","src":"1408:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"1398:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1402:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1395:2:150"},"nodeType":"YulFunctionCall","src":"1395:10:150"},"nodeType":"YulIf","src":"1392:36:150"},{"nodeType":"YulVariableDeclaration","src":"1437:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1451:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"1454:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1447:3:150"},"nodeType":"YulFunctionCall","src":"1447:10:150"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"1441:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1466:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1486:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1480:5:150"},"nodeType":"YulFunctionCall","src":"1480:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1470:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1498:56:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1520:6:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"1536:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1540:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1532:3:150"},"nodeType":"YulFunctionCall","src":"1532:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1549:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1545:3:150"},"nodeType":"YulFunctionCall","src":"1545:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1528:3:150"},"nodeType":"YulFunctionCall","src":"1528:25:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1516:3:150"},"nodeType":"YulFunctionCall","src":"1516:38:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1502:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1613:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1615:16:150"},"nodeType":"YulFunctionCall","src":"1615:18:150"},"nodeType":"YulExpressionStatement","src":"1615:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1572:10:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1584:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1569:2:150"},"nodeType":"YulFunctionCall","src":"1569:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1592:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1604:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1589:2:150"},"nodeType":"YulFunctionCall","src":"1589:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1566:2:150"},"nodeType":"YulFunctionCall","src":"1566:46:150"},"nodeType":"YulIf","src":"1563:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1651:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1655:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1644:6:150"},"nodeType":"YulFunctionCall","src":"1644:22:150"},"nodeType":"YulExpressionStatement","src":"1644:22:150"},{"nodeType":"YulVariableDeclaration","src":"1675:17:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1686:6:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1679:3:150","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1708:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"1716:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1701:6:150"},"nodeType":"YulFunctionCall","src":"1701:18:150"},"nodeType":"YulExpressionStatement","src":"1701:18:150"},{"nodeType":"YulAssignment","src":"1728:22:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1739:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1747:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1735:3:150"},"nodeType":"YulFunctionCall","src":"1735:15:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1728:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1759:34:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1781:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"1785:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1777:3:150"},"nodeType":"YulFunctionCall","src":"1777:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1790:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1773:3:150"},"nodeType":"YulFunctionCall","src":"1773:20:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1763:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1825:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1834:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1837:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1827:6:150"},"nodeType":"YulFunctionCall","src":"1827:12:150"},"nodeType":"YulExpressionStatement","src":"1827:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1808:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1816:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1805:2:150"},"nodeType":"YulFunctionCall","src":"1805:19:150"},"nodeType":"YulIf","src":"1802:39:150"},{"nodeType":"YulVariableDeclaration","src":"1850:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1865:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1869:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1861:3:150"},"nodeType":"YulFunctionCall","src":"1861:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1854:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1937:91:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1958:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1981:3:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"1963:17:150"},"nodeType":"YulFunctionCall","src":"1963:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1951:6:150"},"nodeType":"YulFunctionCall","src":"1951:35:150"},"nodeType":"YulExpressionStatement","src":"1951:35:150"},{"nodeType":"YulAssignment","src":"1999:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2010:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2015:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2006:3:150"},"nodeType":"YulFunctionCall","src":"2006:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1999:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1892:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1897:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1889:2:150"},"nodeType":"YulFunctionCall","src":"1889:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1905:23:150","statements":[{"nodeType":"YulAssignment","src":"1907:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1918:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1923:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1914:3:150"},"nodeType":"YulFunctionCall","src":"1914:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1907:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1885:3:150","statements":[]},"src":"1881:147:150"},{"nodeType":"YulAssignment","src":"2037:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"2047:6:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2037:6:150"}]},{"nodeType":"YulAssignment","src":"2062:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2092:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2103:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2088:3:150"},"nodeType":"YulFunctionCall","src":"2088:18:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"2072:15:150"},"nodeType":"YulFunctionCall","src":"2072:35:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2062:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"927:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"938:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"950:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"958:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"966:6:150","type":""}],"src":"852:1261:150"},{"body":{"nodeType":"YulBlock","src":"2218:226:150","statements":[{"body":{"nodeType":"YulBlock","src":"2264:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2273:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2276:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2266:6:150"},"nodeType":"YulFunctionCall","src":"2266:12:150"},"nodeType":"YulExpressionStatement","src":"2266:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2239:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2248:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2235:3:150"},"nodeType":"YulFunctionCall","src":"2235:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2260:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2231:3:150"},"nodeType":"YulFunctionCall","src":"2231:32:150"},"nodeType":"YulIf","src":"2228:52:150"},{"nodeType":"YulAssignment","src":"2289:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2318:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2299:18:150"},"nodeType":"YulFunctionCall","src":"2299:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2289:6:150"}]},{"nodeType":"YulAssignment","src":"2337:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2369:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2380:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2365:3:150"},"nodeType":"YulFunctionCall","src":"2365:18:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"2347:17:150"},"nodeType":"YulFunctionCall","src":"2347:37:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2337:6:150"}]},{"nodeType":"YulAssignment","src":"2393:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2434:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2419:3:150"},"nodeType":"YulFunctionCall","src":"2419:18:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"2403:15:150"},"nodeType":"YulFunctionCall","src":"2403:35:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2393:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes4t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2168:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2179:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2191:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2199:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2207:6:150","type":""}],"src":"2118:326:150"},{"body":{"nodeType":"YulBlock","src":"2481:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2498:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2505:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2510:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2501:3:150"},"nodeType":"YulFunctionCall","src":"2501:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2491:6:150"},"nodeType":"YulFunctionCall","src":"2491:31:150"},"nodeType":"YulExpressionStatement","src":"2491:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2538:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2541:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2531:6:150"},"nodeType":"YulFunctionCall","src":"2531:15:150"},"nodeType":"YulExpressionStatement","src":"2531:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2562:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2565:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2555:6:150"},"nodeType":"YulFunctionCall","src":"2555:15:150"},"nodeType":"YulExpressionStatement","src":"2555:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"2449:127:150"},{"body":{"nodeType":"YulBlock","src":"2628:185:150","statements":[{"body":{"nodeType":"YulBlock","src":"2667:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2688:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2695:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2700:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2691:3:150"},"nodeType":"YulFunctionCall","src":"2691:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2681:6:150"},"nodeType":"YulFunctionCall","src":"2681:31:150"},"nodeType":"YulExpressionStatement","src":"2681:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2732:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2735:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2725:6:150"},"nodeType":"YulFunctionCall","src":"2725:15:150"},"nodeType":"YulExpressionStatement","src":"2725:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2760:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2763:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2753:6:150"},"nodeType":"YulFunctionCall","src":"2753:15:150"},"nodeType":"YulExpressionStatement","src":"2753:15:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2644:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2655:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2651:3:150"},"nodeType":"YulFunctionCall","src":"2651:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2641:2:150"},"nodeType":"YulFunctionCall","src":"2641:17:150"},"nodeType":"YulIf","src":"2638:140:150"},{"nodeType":"YulAssignment","src":"2787:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2798:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2805:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2794:3:150"},"nodeType":"YulFunctionCall","src":"2794:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"2787:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2610:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"2620:3:150","type":""}],"src":"2581:232:150"},{"body":{"nodeType":"YulBlock","src":"2992:254:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3009:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3020:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3002:6:150"},"nodeType":"YulFunctionCall","src":"3002:21:150"},"nodeType":"YulExpressionStatement","src":"3002:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3043:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3054:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3039:3:150"},"nodeType":"YulFunctionCall","src":"3039:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"3059:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3032:6:150"},"nodeType":"YulFunctionCall","src":"3032:30:150"},"nodeType":"YulExpressionStatement","src":"3032:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3082:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3093:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3078:3:150"},"nodeType":"YulFunctionCall","src":"3078:18:150"},{"hexValue":"476f7665726e6f7246756e6374696f6e5265737472696374696f6e734c6f6769","kind":"string","nodeType":"YulLiteral","src":"3098:34:150","type":"","value":"GovernorFunctionRestrictionsLogi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3071:6:150"},"nodeType":"YulFunctionCall","src":"3071:62:150"},"nodeType":"YulExpressionStatement","src":"3071:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3153:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3164:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3149:3:150"},"nodeType":"YulFunctionCall","src":"3149:18:150"},{"hexValue":"635631303a2074617267657420697320746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"3169:34:150","type":"","value":"cV10: target is the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3142:6:150"},"nodeType":"YulFunctionCall","src":"3142:62:150"},"nodeType":"YulExpressionStatement","src":"3142:62:150"},{"nodeType":"YulAssignment","src":"3213:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3225:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3236:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3221:3:150"},"nodeType":"YulFunctionCall","src":"3221:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3213:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3333b5ca7771ef9fe774e24fd2d1614cdb7b854735f2234df33c9eecba61a294__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2969:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2983:4:150","type":""}],"src":"2818:428:150"},{"body":{"nodeType":"YulBlock","src":"3346:92:150","statements":[{"nodeType":"YulAssignment","src":"3356:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3368:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3379:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3364:3:150"},"nodeType":"YulFunctionCall","src":"3364:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3356:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3398:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3423:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3416:6:150"},"nodeType":"YulFunctionCall","src":"3416:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3409:6:150"},"nodeType":"YulFunctionCall","src":"3409:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3391:6:150"},"nodeType":"YulFunctionCall","src":"3391:41:150"},"nodeType":"YulExpressionStatement","src":"3391:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3315:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3326:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3337:4:150","type":""}],"src":"3251:187:150"}]},"contents":"{\n    { }\n    function abi_decode_bool(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool(headStart)\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function abi_decode_bytes4(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        if gt(_4, _2) { panic_error_0x41() }\n        let _5 := shl(5, _4)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(_5, 63), not(31)))\n        if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let dst := memPtr\n        mstore(memPtr, _4)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_3, _5), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, abi_decode_bytes4(src))\n            dst := add(dst, _1)\n        }\n        value1 := memPtr\n        value2 := abi_decode_bool(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_addresst_bytes4t_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_bytes4(add(headStart, 32))\n        value2 := abi_decode_bool(add(headStart, 64))\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x11)\n            revert(0, 0x24)\n        }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_stringliteral_3333b5ca7771ef9fe774e24fd2d1614cdb7b854735f2234df33c9eecba61a294__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 64)\n        mstore(add(headStart, 64), \"GovernorFunctionRestrictionsLogi\")\n        mstore(add(headStart, 96), \"cV10: target is the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80634c5ead08146100505780638e828cb414610072578063be9bd92b14610092575b600080fd5b81801561005c57600080fd5b5061007061006b36600461025b565b6100b2565b005b81801561007e57600080fd5b5061007061008d3660046102c2565b6100d2565b81801561009e57600080fd5b506100706100ad3660046103a9565b61011a565b60006100bc610222565b600901805460ff19169215159290921790915550565b60005b825181101561011457610102848483815181106100f4576100f46103e3565b60200260200101518461011a565b8061010c816103f9565b9150506100d5565b50505050565b6000610124610222565b90506001600160a01b0384166101a8576040805162461bcd60e51b81526020600482015260248101919091527f476f7665726e6f7246756e6374696f6e5265737472696374696f6e734c6f676960448201527f635631303a2074617267657420697320746865207a65726f2061646472657373606482015260840160405180910390fd5b6001600160a01b038416600081815260088301602090815260408083206001600160e01b0319881680855290835292819020805460ff191687151590811790915590519081529192917f5da7b78f7dccc6b378e3f55a7e57f9363d3c15686c0d82f85e45130393c9c970910160405180910390a350505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b8035801515811461025657600080fd5b919050565b60006020828403121561026d57600080fd5b61027682610246565b9392505050565b80356001600160a01b038116811461025657600080fd5b634e487b7160e01b600052604160045260246000fd5b80356001600160e01b03198116811461025657600080fd5b6000806000606084860312156102d757600080fd5b6102e08461027d565b92506020848101356001600160401b03808211156102fd57600080fd5b818701915087601f83011261031157600080fd5b81358181111561032357610323610294565b8060051b604051601f19603f8301168101818110858211171561034857610348610294565b60405291825284820192508381018501918a83111561036657600080fd5b938501935b8285101561038b5761037c856102aa565b8452938501939285019261036b565b8097505050505050506103a060408501610246565b90509250925092565b6000806000606084860312156103be57600080fd5b6103c78461027d565b92506103d5602085016102aa565b91506103a060408501610246565b634e487b7160e01b600052603260045260246000fd5b60006001820161041957634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212207f8f19cf50aea477d9e067962ca62604019fc8eb7e45ead9889cbee0cd427b6c64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4C5EAD08 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E828CB4 EQ PUSH2 0x72 JUMPI DUP1 PUSH4 0xBE9BD92B EQ PUSH2 0x92 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x6B CALLDATASIZE PUSH1 0x4 PUSH2 0x25B JUMP JUMPDEST PUSH2 0xB2 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x8D CALLDATASIZE PUSH1 0x4 PUSH2 0x2C2 JUMP JUMPDEST PUSH2 0xD2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0xAD CALLDATASIZE PUSH1 0x4 PUSH2 0x3A9 JUMP JUMPDEST PUSH2 0x11A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC PUSH2 0x222 JUMP JUMPDEST PUSH1 0x9 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x114 JUMPI PUSH2 0x102 DUP5 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xF4 JUMPI PUSH2 0xF4 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH2 0x10C DUP2 PUSH2 0x3F9 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xD5 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x124 PUSH2 0x222 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1A8 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x476F7665726E6F7246756E6374696F6E5265737472696374696F6E734C6F6769 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x635631303A2074617267657420697320746865207A65726F2061646472657373 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x5DA7B78F7DCCC6B378E3F55A7E57F9363D3C15686C0D82F85E45130393C9C970 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x276 DUP3 PUSH2 0x246 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0 DUP5 PUSH2 0x27D JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x311 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x323 JUMPI PUSH2 0x323 PUSH2 0x294 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x348 JUMPI PUSH2 0x348 PUSH2 0x294 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP5 DUP3 ADD SWAP3 POP DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP11 DUP4 GT ISZERO PUSH2 0x366 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x38B JUMPI PUSH2 0x37C DUP6 PUSH2 0x2AA JUMP JUMPDEST DUP5 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP3 DUP6 ADD SWAP3 PUSH2 0x36B JUMP JUMPDEST DUP1 SWAP8 POP POP POP POP POP POP POP PUSH2 0x3A0 PUSH1 0x40 DUP6 ADD PUSH2 0x246 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3C7 DUP5 PUSH2 0x27D JUMP JUMPDEST SWAP3 POP PUSH2 0x3D5 PUSH1 0x20 DUP6 ADD PUSH2 0x2AA JUMP JUMPDEST SWAP2 POP PUSH2 0x3A0 PUSH1 0x40 DUP6 ADD PUSH2 0x246 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x419 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH32 0x8F19CF50AEA477D9E067962CA62604019FC8EB7E45EAD9889CBEE0CD427B6C64 PUSH20 0x6F6C634300081400330000000000000000000000 ","sourceMap":"1536:3666:52:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3514:221;;;;;;;;;;-1:-1:-1;3514:221:52;;;;;:::i;:::-;;:::i;:::-;;3242:268;;;;;;;;;;-1:-1:-1;3242:268:52;;;;;:::i;:::-;;:::i;2773:465::-;;;;;;;;;;-1:-1:-1;2773:465:52;;;;;:::i;:::-;;:::i;3514:221::-;3586:49;3638:44;:42;:44::i;:::-;3688:30;;:42;;-1:-1:-1;;3688:42:52;;;;;;;;;;;-1:-1:-1;3514:221:52:o;3242:268::-;3380:9;3375:131;3395:17;:24;3391:1;:28;3375:131;;;3434:65;3455:6;3463:17;3481:1;3463:20;;;;;;;;:::i;:::-;;;;;;;3485:13;3434:20;:65::i;:::-;3421:3;;;;:::i;:::-;;;;3375:131;;;;3242:268;;;:::o;2773:465::-;2893:49;2945:44;:42;:44::i;:::-;2893:96;-1:-1:-1;;;;;;3003:20:52;;2995:97;;;;;-1:-1:-1;;;2995:97:52;;3020:2:150;2995:97:52;;;3002:21:150;3039:18;;;3032:30;;;;3098:34;3078:18;;;3071:62;3169:34;3149:18;;;3142:62;3221:19;;2995:97:52;;;;;;;;-1:-1:-1;;;;;3098:30:52;;;;;;:22;;;:30;;;;;;;;-1:-1:-1;;;;;;3098:48:52;;;;;;;;;;;;:64;;-1:-1:-1;;3098:64:52;;;;;;;;;;3173:60;;3391:41:150;;;3098:48:52;;:30;3173:60;;3364:18:150;3173:60:52;;;;;;;2887:351;2773:465;;;:::o;2703:146:57:-;2816:23;;2703:146::o;14:160:150:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:180::-;235:6;288:2;276:9;267:7;263:23;259:32;256:52;;;304:1;301;294:12;256:52;327:26;343:9;327:26;:::i;:::-;317:36;179:180;-1:-1:-1;;;179:180:150:o;364:173::-;432:20;;-1:-1:-1;;;;;481:31:150;;471:42;;461:70;;527:1;524;517:12;542:127;603:10;598:3;594:20;591:1;584:31;634:4;631:1;624:15;658:4;655:1;648:15;674:173;741:20;;-1:-1:-1;;;;;;790:32:150;;780:43;;770:71;;837:1;834;827:12;852:1261;950:6;958;966;1019:2;1007:9;998:7;994:23;990:32;987:52;;;1035:1;1032;1025:12;987:52;1058:29;1077:9;1058:29;:::i;:::-;1048:39;-1:-1:-1;1106:2:150;1144:18;;;1131:32;-1:-1:-1;;;;;1212:14:150;;;1209:34;;;1239:1;1236;1229:12;1209:34;1277:6;1266:9;1262:22;1252:32;;1322:7;1315:4;1311:2;1307:13;1303:27;1293:55;;1344:1;1341;1334:12;1293:55;1380:2;1367:16;1402:2;1398;1395:10;1392:36;;;1408:18;;:::i;:::-;1454:2;1451:1;1447:10;1486:2;1480:9;1549:2;1545:7;1540:2;1536;1532:11;1528:25;1520:6;1516:38;1604:6;1592:10;1589:22;1584:2;1572:10;1569:18;1566:46;1563:72;;;1615:18;;:::i;:::-;1651:2;1644:22;1701:18;;;1735:15;;;;-1:-1:-1;1777:11:150;;;1773:20;;;1805:19;;;1802:39;;;1837:1;1834;1827:12;1802:39;1861:11;;;;1881:147;1897:6;1892:3;1889:15;1881:147;;;1963:22;1981:3;1963:22;:::i;:::-;1951:35;;1914:12;;;;2006;;;;1881:147;;;2047:6;2037:16;;;;;;;;2072:35;2103:2;2092:9;2088:18;2072:35;:::i;:::-;2062:45;;852:1261;;;;;:::o;2118:326::-;2191:6;2199;2207;2260:2;2248:9;2239:7;2235:23;2231:32;2228:52;;;2276:1;2273;2266:12;2228:52;2299:29;2318:9;2299:29;:::i;:::-;2289:39;;2347:37;2380:2;2369:9;2365:18;2347:37;:::i;:::-;2337:47;;2403:35;2434:2;2423:9;2419:18;2403:35;:::i;2449:127::-;2510:10;2505:3;2501:20;2498:1;2491:31;2541:4;2538:1;2531:15;2565:4;2562:1;2555:15;2581:232;2620:3;2641:17;;;2638:140;;2700:10;2695:3;2691:20;2688:1;2681:31;2735:4;2732:1;2725:15;2763:4;2760:1;2753:15;2638:140;-1:-1:-1;2805:1:150;2794:13;;2581:232::o"},"methodIdentifiers":{"setIsFunctionRestrictionEnabled(bool)":"4c5ead08","setWhitelistFunction(address,bytes4,bool)":"be9bd92b","setWhitelistFunctions(address,bytes4[],bool)":"8e828cb4"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"selector\",\"type\":\"bytes\"}],\"name\":\"GovernorFunctionInvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"GovernorRestrictedFunction\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"FunctionWhitelisted\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"This library provides functions to whitelist or restrict functions that can be called by proposals.\",\"errors\":{\"GovernorFunctionInvalidSelector(bytes)\":[{\"params\":{\"selector\":\"The function selector that is invalid.\"}}],\"GovernorRestrictedFunction(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector that is restricted.\"}}]},\"events\":{\"FunctionWhitelisted(address,bytes4,bool)\":{\"params\":{\"functionSelector\":\"The function selector.\",\"isWhitelisted\":\"Boolean indicating if the function is whitelisted.\",\"target\":\"The address of the contract.\"}}},\"kind\":\"dev\",\"methods\":{\"setWhitelistFunction(address,bytes4,bool)\":{\"details\":\"This method allows restricting functions that can be called by proposals for a single function selector.\",\"params\":{\"functionSelector\":\"The function selector.\",\"isWhitelisted\":\"Boolean indicating if the function is whitelisted for proposals.\",\"target\":\"The address of the contract.\"}}},\"title\":\"GovernorFunctionRestrictionsLogicV10\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorFunctionInvalidSelector(bytes)\":[{\"notice\":\"Error message for when a function selector is invalid.\"}],\"GovernorRestrictedFunction(bytes4)\":[{\"notice\":\"Error message for when a function is restricted by the governor.\"}]},\"events\":{\"FunctionWhitelisted(address,bytes4,bool)\":{\"notice\":\"Emitted when a function is whitelisted by the governor.\"}},\"kind\":\"user\",\"methods\":{\"setWhitelistFunction(address,bytes4,bool)\":{\"notice\":\"Set the whitelist status of a function for proposals.\"}},\"notice\":\"Library for managing function restrictions within the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\":\"GovernorFunctionRestrictionsLogicV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\":{\"keccak256\":\"0xdf23dd2f515e503dbbae2a4d4d4e9efcca22e357aacdb83e5abdc5854783cc22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b3c6779fcdf93f8f8afc3ddf7591fe983d47ad6ae8eaa29902603c701beaf86\",\"dweb:/ipfs/QmdigrheDca8jAb7cwgGj3r3f95DsjEDdqb5pT5gfiiULL\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol":{"GovernorGovernanceLogicV10":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyExecutor","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206ff75c06c2243da4bcd129755287bbda315f0fdd7e2e29f26bfc9d7cf8e3eb7464736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH16 0xF75C06C2243DA4BCD129755287BBDA31 PUSH0 0xF 0xDD PUSH31 0x2E29F26BFC9D7CF8E3EB7464736F6C63430008140033000000000000000000 ","sourceMap":"1658:2148:53:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1658:2148:53;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206ff75c06c2243da4bcd129755287bbda315f0fdd7e2e29f26bfc9d7cf8e3eb7464736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH16 0xF75C06C2243DA4BCD129755287BBDA31 PUSH0 0xF 0xDD PUSH31 0x2E29F26BFC9D7CF8E3EB7464736F6C63430008140033000000000000000000 ","sourceMap":"1658:2148:53:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyExecutor\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides functions to manage the governance execution flow and validate the governance executor.\",\"errors\":{\"GovernorOnlyExecutor(address)\":[{\"details\":\"Thrown when the `account` is not the governance executor.\",\"params\":{\"account\":\"The address that attempted the unauthorized action.\"}}]},\"kind\":\"dev\",\"methods\":{},\"title\":\"GovernorGovernanceLogicV10\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for validating descriptions in governance proposals based on the proposer's address suffix.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol\":\"GovernorGovernanceLogicV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol\":{\"keccak256\":\"0x1b1ff6cdf118475d82421782ff9e8b83fe0056bdffea414bfb6be15ad6cdb73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9aacb4a80e7922069ec2ed464c17ad17b72b4a061dd4ed63e5449b8147407260\",\"dweb:/ipfs/QmR1cqBsHBJurr5DfpJ1daov1DnxS2Yz9atCggvV2if4V1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol":{"GovernorProposalLogicV10":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"bytes","name":"selector","type":"bytes"}],"name":"GovernorFunctionInvalidSelector","type":"error"},{"inputs":[{"internalType":"uint256","name":"targets","type":"uint256"},{"internalType":"uint256","name":"calldatas","type":"uint256"},{"internalType":"uint256","name":"values","type":"uint256"}],"name":"GovernorInvalidProposalLength","type":"error"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"GovernorInvalidProposalType","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"requiredWeight","type":"uint256"}],"name":"GovernorInvalidProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorInvalidStartRound","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[],"name":"GovernorQueueNotImplemented","type":"error"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"name":"GovernorRestrictedFunction","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"GovernorRestrictedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"}],"name":"GovernorRestrictedProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[],"name":"QueueFull","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"UnauthorizedAccess","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"canceler","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"ProposalCanceledWithReason","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":true,"internalType":"uint256","name":"roundIdVoteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"ProposalCreatedWithType","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalDevelopmentStateReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalInDevelopment","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"etaSeconds","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"inputs":[],"name":"canProposalStartInNextRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getActiveProposals","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalNeedsQueuing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalType","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":5297},{"length":20,"start":6586},{"length":20,"start":6709},{"length":20,"start":7117},{"length":20,"start":9903},{"length":20,"start":10072}]}},"object":"613e7d61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100c45760003560e01c8063013b1088146100c957806301957cc7146100fc5780631e6b49921461011c5780632a09c7721461013e5780632d63f693146101635780635584c4f91461017657806358c839bc1461018b57806381ab2353146101ab578063a9a95294146101c3578063badecd76146101d6578063c01f9e37146101f6578063c0a6026c14610209578063c429bd8214610229578063fcadd1f714610249575b600080fd5b8180156100d557600080fd5b506100e96100e436600461345a565b610269565b6040519081526020015b60405180910390f35b81801561010857600080fd5b506100e961011736600461354f565b61033c565b81801561012857600080fd5b5061013c6101373660046135ef565b610428565b005b61015161014c3660046135ef565b61055e565b60405160ff90911681526020016100f3565b6100e96101713660046135ef565b610598565b61017e6105a9565b6040516100f39190613608565b81801561019757600080fd5b506100e96101a636600461364c565b6107b6565b6101b3610803565b60405190151581526020016100f3565b6101b36101d13660046135ef565b610812565b8180156101e257600080fd5b506100e96101f1366004613726565b61086e565b6100e96102043660046135ef565b610a5f565b81801561021557600080fd5b5061013c6102243660046135ef565b610a6a565b81801561023557600080fd5b5061013c6102443660046135ef565b610b25565b81801561025557600080fd5b506100e961026436600461354f565b610b9a565b600080610274610d33565b9050600061028b8b8b8b8b80519060200120610d57565b905061029e33888a8e8e8e876001610d91565b81601a0160009054906101000a90046001600160a01b03166001600160a01b031663808860a5858333898e6040518663ffffffff1660e01b81526004016102e9959493929190613895565b600060405180830381600087803b15801561030357600080fd5b505af1158015610317573d6000803e3d6000fd5b5050505061032d33828d8d8d8d8d8d6001610ff2565b9b9a5050505050505050505050565b600080610347610d33565b9050600061035787878787610d57565b905061036c8161036760046110e4565b611107565b50600061037d89838a8a8a8a611146565b905065ffffffffffff811615610403576000828152600184016020908152604091829020600201805465ffffffffffff60381b1916600160381b65ffffffffffff8616908102919091179091558251858152918201527f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892910160405180910390a161041c565b604051634844252360e11b815260040160405180910390fd5b50979650505050505050565b6000610432610d33565b600083815260158201602090815260408083205460018501909252822092935060ff169190826001811115610469576104696138e4565b146104945783826040516344b7587b60e01b815260040161048b92919061390e565b60405180910390fd5b6104b2846104a260046110e4565b6104ac60066110e4565b17611107565b506002810154600160201b900460ff1680156104e7575060046104d4856112fc565b60098111156104e5576104e56138e4565b145b156105095783826040516344b7587b60e01b815260040161048b92919061390e565b6000848152601e84016020908152604091829020805460ff1916600117905590518581527fae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0910160405180910390a150505050565b600080610569610d33565b600084815260158201602052604090205490915060ff166001811115610591576105916138e4565b9392505050565b60006105a3826116a3565b92915050565b606060006105b5610d33565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190613922565b6000818152602184016020526040812080549293509190816001600160401b03811115610661576106616131fd565b60405190808252806020026020018201604052801561068a578160200160208202803683370190505b5090506000805b8381101561071b5760008582815481106106ad576106ad61393b565b600091825260209091200154905060016106c6826112fc565b60098111156106d7576106d76138e4565b0361070857808484815181106106ef576106ef61393b565b60209081029190910101528261070481613967565b9350505b508061071381613967565b915050610691565b506000816001600160401b03811115610736576107366131fd565b60405190808252806020026020018201604052801561075f578160200160208202803683370190505b50905060005b8281101561041c5783818151811061077f5761077f61393b565b60200260200101518282815181106107995761079961393b565b6020908102919091010152806107ae81613967565b915050610765565b60008033905060006107d18989898980519060200120610d57565b90506107e48286888c8c8c876000610d91565b6107f682828b8b8b8b8b8b6000610ff2565b9998505050505050505050565b600061080d611a90565b905090565b60008061081d610d33565b600084815260018083016020526040822090810154929350919003610846575060009392505050565b6002810154600160201b900460ff1615610864575060019392505050565b5060009392505050565b600080610879610d33565b9050600061088988888888610d57565b905061089481611c4d565b6001600160a01b03168a6001600160a01b0316141580156108b3575088155b156108d35789604051633733be5960e21b815260040161048b9190613980565b610940816108e160036110e4565b6108eb60076110e4565b6108f560096110e4565b6108ff60086110e4565b61090960066110e4565b61091360026110e4565b6001610920600982613994565b61092b906002613a91565b6109359190613aa0565b181818181818611107565b5061094a81611c4d565b6001600160a01b03168a6001600160a01b0316036109cb57600061096d826112fc565b600981111561097e5761097e6138e4565b146109cb5760405162461bcd60e51b815260206004820152601e60248201527f476f7665726e6f723a2070726f706f73616c206e6f742070656e64696e670000604482015260640161048b565b60008181526007830160205260409020548015610a5457600683015460405163c4d252f560e01b8152600481018390526001600160a01b039091169063c4d252f590602401600060405180830381600087803b158015610a2a57600080fd5b505af1158015610a3e573d6000803e3d6000fd5b5050506000838152600785016020526040812055505b61032d828c87611c76565b60006105a382611d2d565b6000610a74610d33565b600083815260158201602052604081205491925060ff90911690816001811115610aa057610aa06138e4565b14610ac25782816040516344b7587b60e01b815260040161048b92919061390e565b610ad08361036760086110e4565b506000838152601e83016020908152604091829020805460ff1916600217905590518481527f71611adb0c8d2eea43359b2e41e5fdf96309ce734ed1eb78ceb763198c1b8967910160405180910390a1505050565b6000610b2f610d33565b9050610b4982610b3f60096110e4565b6104ac60086110e4565b506000828152601e82016020908152604091829020805460ff1916905590518381527f89e9abefcace5d0e37429f32023df3d73c9a310923f6383fa778ec40c629df0e910160405180910390a15050565b600080610ba5610d33565b90506000610bb587878787610d57565b9050610bcf81610bc560056110e4565b6104ac60046110e4565b5060008181526001830160205260409020600201805460ff60281b1916600160281b1790556001600160a01b038816610c06611eb0565b6001600160a01b031614610c9a5760005b8751811015610c9857306001600160a01b0316888281518110610c3c57610c3c61393b565b60200260200101516001600160a01b031603610c8857610c88868281518110610c6757610c6761393b565b60200260200101518051906020012084600201611ece90919063ffffffff16565b610c9181613967565b9050610c17565b505b610ca8888289898989611f3f565b876001600160a01b0316610cba611eb0565b6001600160a01b031614158015610ce8575060028201546001600160801b03808216600160801b9092041614155b15610cf557600060028301555b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f9060200160405180910390a1979650505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600084848484604051602001610d709493929190613b27565b60408051601f19818403018152919052805160209091012095945050505050565b6000610d9b610d33565b9050610da682611fdb565b610dc55781604051633e4bbe1960e11b815260040161048b9190613b72565b80600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3e9190613922565b8811610e6057604051637a5d07d360e01b81526004810189905260240161048b565b80600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed99190613922565b610ee4906001613b80565b8803610f1257610ef2611a90565b610f1257604051637a5d07d360e01b81526004810189905260240161048b565b6000826001811115610f2657610f266138e4565b03610f5457610f358988612012565b610f54578860405163d9b3955760e01b815260040161048b9190613980565b84518651141580610f6757508351865114155b15610f9c57855184518651604051630447b05d60e41b815260048101939093526024830191909152604482015260640161048b565b600083815260018083016020526040909120015415610fdd5782610fbf846112fc565b6040516331b75e4d60e01b815261048b929190600090600401613b93565b610fe78685612103565b505050505050505050565b600080610ffd610d33565b9050600061100a846121e8565b9050600061108f83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190613922565b6122b6565b8b5190915015156110a08e876122e6565b6110b08d8f848b858c898d61244a565b86156110c1576110c1878f8f61255c565b6110d28e8e8e8e8e8e8e8a8e6127f8565b509a9c9b505050505050505050505050565b60008160098111156110f8576110f86138e4565b600160ff919091161b92915050565b600080611113846112fc565b9050600083611121836110e4565b1603610591578381846040516331b75e4d60e01b815260040161048b93929190613b93565b600080611151610d33565b905060008160060160009054906101000a90046001600160a01b03166001600160a01b031663f27a0c926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ce9190613922565b905060006111dc858b6128d4565b600684015460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f42790611218908b908b908b906000908890600401613bbb565b602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112599190613922565b60008a815260078501602052604080822092909255600685015491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb0916112a8918c918c918c919088908a90600401613c09565b600060405180830381600087803b1580156112c257600080fd5b505af11580156112d6573d6000803e3d6000fd5b505050506112ee82426112e99190613b80565b6128e5565b9a9950505050505050505050565b600080611307610d33565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b909204169083600281111561135c5761135c6138e4565b0361136e575060089695505050505050565b6002836002811115611382576113826138e4565b03611394575060099695505050505050565b81156113a7575060069695505050505050565b80156113ba575060029695505050505050565b83600101546000036113e257604051636ad0607560e01b81526004810188905260240161048b565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561143c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114609190613922565b1015611473575060009695505050505050565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156114be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e29190613c61565b65ffffffffffff16905060006114f789611d2d565b905061150289612913565b6115155750600798975050505050505050565b81811061152b5750600198975050505050505050565b6115348961293f565b158061154657506115448961299d565b155b1561155a5750600398975050505050505050565b611563896129c5565b6000036115795750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa1580156115d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fa9190613c89565b1561160f575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa15801561165a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167e9190613c89565b15611693575060069998505050505050505050565b5060029998505050505050505050565b6000806116ae610d33565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561171e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117429190613922565b106117df576000611751610d33565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda906024015b602060405180830381865afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d79190613922565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa15801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f9190613922565b600085815260018085016020526040909120015461186d9190613aa0565b9050600061187c600183613aa0565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f59190613922565b6118ff9190613ca6565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015611958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197c9190613922565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156119c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119eb9190613c61565b65ffffffffffff168111611a715773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a669190613c61565b65ffffffffffff1690505b82611a7c8383613b80565b611a869190613b80565b9695505050505050565b600080611a9b610d33565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b189190613922565b600a83015460405163d3a368bd60e01b8152600481018390529192506000916001600160a01b039091169063d3a368bd90602401602060405180830381865afa158015611b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8d9190613922565b9050600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfe9190613c61565b90508065ffffffffffff168211611c1a57600094505050505090565b611c2c65ffffffffffff821683613aa0565b84600401541115611c4257600094505050505090565b600194505050505090565b600080611c58610d33565b6000938452600101602052505060409020546001600160a01b031690565b600080611c81610d33565b600086815260018201602052604090819020600201805460ff60301b1916600160301b179055519091507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90611cda9087815260200190565b60405180910390a1836001600160a01b0316857f93bcf40b1de68d22878e9394837dd4b08dae46ee73bc722cccffecdadbe4414585604051611d1c9190613cbd565b60405180910390a350929392505050565b600080611d38610d33565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcc9190613922565b10611e24576000611ddb610d33565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd90602401611796565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9d9190613922565b611ea6846116a3565b6105919190613b80565b600080611ebb610d33565b600601546001600160a01b031692915050565b81546001600160801b03600160801b820481169181166001830190911603611f0957604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b03808216600090815260018086016020526040909120939093558354919092018216600160801b029116179055565b6000611f49610d33565b60068101549091506001600160a01b031663e38335e5348787876000611f6f898f6128d4565b6040518763ffffffff1660e01b8152600401611f8f959493929190613bbb565b6000604051808303818588803b158015611fa857600080fd5b505af1158015611fbc573d6000803e3d6000fd5b5050506000978852505060070160205250506040832092909255505050565b600080826001811115611ff057611ff06138e4565b14806105a35750600182600181111561200b5761200b6138e4565b1492915050565b8051600090603481101561202a5760019150506105a3565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b1461205d576001925050506105a3565b60008061206b602885613aa0565b90505b838110156120e2576000806120a288848151811061208e5761208e61393b565b01602001516001600160f81b0319166129f7565b91509150816120ba57600196505050505050506105a3565b8060ff166004856001600160a01b0316901b1793505050806120db90613967565b905061206e565b50856001600160a01b0316816001600160a01b031614935050505092915050565b600061210d610d33565b600981015490915060ff16156121e35760005b83518110156121e157600061214d8483815181106121405761214061393b565b6020026020010151612a89565b90508260080160008684815181106121675761216761393b565b6020908102919091018101516001600160a01b0316825281810192909252604090810160009081206001600160e01b03198516825290925290205460ff166121ce5760405163294080f760e21b81526001600160e01b03198216600482015260240161048b565b50806121d981613967565b915050612120565b505b505050565b6000806121f3610d33565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561224e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122729190613922565b61227b86612ab8565b6122859190613ca6565b61228f9190613ce6565b9050600061229c85612b2a565b9050808211156122ae57949350505050565b509392505050565b600063ffffffff8211156122e2576020826040516306dfcc6560e41b815260040161048b929190613d08565b5090565b60006122f0610d33565b9050600081601c01600084600181111561230c5761230c6138e4565b600181111561231d5761231d6138e4565b815260208101919091526040908101600090812054601b850154925163d206885d60e01b815290935090916001600160a01b031690636d5e303290829063d206885d9061236e908a90600401613980565b602060405180830381865afa15801561238b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123af9190613922565b6040518263ffffffff1660e01b81526004016123cd91815260200190565b602060405180830381865afa1580156123ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240e9190613922565b905081811015612443576040516304b60e7960e31b81526001600160a01b03861660048201526024810183905260440161048b565b5050505050565b6000612454610d33565b905060008160010160008b81526020019081526020016000209050888160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550868160010181905550878160020160006101000a81548163ffffffff021916908363ffffffff160217905550858160020160046101000a81548160ff021916908315150217905550848160030181905550838160040181905550828260150160008c815260200190815260200160002060006101000a81548160ff02191690836001811115612529576125296138e4565b02179055505060009586526021016020908152604086208054600181018255908752952090940196909655505050505050565b6000612566610d33565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af11580156125c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e79190613c89565b6126335760405162461bcd60e51b815260206004820181905260248201527f42335452476f7665726e6f725631303a207472616e73666572206661696c6564604482015260640161048b565b6000828152600d8201602090815260408083206001600160a01b038716845290915281208054869290612667908490613b80565b92505081905550600061270073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156126bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e09190613c61565b6001600160a01b0386166000908152601d85016020526040902090612b74565b9050600061270d86612c2a565b6127179083613d1b565b90506127aa73__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127899190613c61565b6001600160a01b0387166000908152601d8601602052604090209083612c59565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516127e891815260200190565b60405180910390a3505050505050565b82896001600160a01b0316897f9c2b0d68f5edfd1bf6158a1867aced894efcfcf77c7a7603cb571e18ce89ae768a8a8c516001600160401b03811115612840576128406131fd565b60405190808252806020026020018201604052801561287357816020015b606081526020019060019003908161285e5790505b508b8b8a60405161288996959493929190613d42565b60405180910390a4877f6d04097725b4d82fbe72e4fd0fd1798c60a7b1bbc328842680c83ac06b1b0ada826040516128c19190613b72565b60405180910390a2505050505050505050565b60601b6001600160601b0319161890565b600065ffffffffffff8211156122e2576030826040516306dfcc6560e41b815260040161048b929190613d08565b60008061291e610d33565b60009384526001016020525050604090206004810154600390910154101590565b60008061294a610d33565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061299361297c866116a3565b83600181111561298e5761298e6138e4565b612c74565b1115949350505050565b6000806129a8610d33565b6000938452600f0160205250506040902080546001909101541190565b6000806129d0610d33565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b60008060f883901c602f81118015612a125750603a8160ff16105b15612a2757600194602f199091019350915050565b8060ff166040108015612a3d575060478160ff16105b15612a52576001946036199091019350915050565b8060ff166060108015612a68575060678160ff16105b15612a7d576001946056199091019350915050565b50600093849350915050565b6000600482511015612ab057816040516301a800fb60e41b815260040161048b9190613cbd565b506020015190565b600080612ac3610d33565b9050612ace83611fdb565b612aea5760405162461bcd60e51b815260040161048b90613df9565b806016016000846001811115612b0257612b026138e4565b6001811115612b1357612b136138e4565b815260200190815260200160002054915050919050565b600080612b35610d33565b9050612b4083611fdb565b612b5c5760405162461bcd60e51b815260040161048b90613df9565b806019016000846001811115612b0257612b026138e4565b815460009081816005811115612bd3576000612b8f84612d10565b612b999085613aa0565b60008881526020902090915081015465ffffffffffff9081169087161015612bc357809150612bd1565b612bce816001613b80565b92505b505b6000612be187878585612df8565b90508015612c1c57612c0687612bf8600184613aa0565b600091825260209091200190565b54600160301b90046001600160d01b0316612c1f565b60005b979650505050505050565b60006001600160d01b038211156122e25760d0826040516306dfcc6560e41b815260040161048b929190613d08565b600080612c67858585612e52565b915091505b935093915050565b600080612c7f610d33565b90506064612c8d8585612fcc565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015612cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cfc9190613922565b612d069190613ca6565b6117d79190613ce6565b600081600003612d2257506000919050565b60006001612d2f84612fec565b901c6001901b90506001818481612d4857612d48613cd0565b048201901c90506001818481612d6057612d60613cd0565b048201901c90506001818481612d7857612d78613cd0565b048201901c90506001818481612d9057612d90613cd0565b048201901c90506001818481612da857612da8613cd0565b048201901c90506001818481612dc057612dc0613cd0565b048201901c90506001818481612dd857612dd8613cd0565b048201901c905061059181828581612df257612df2613cd0565b04613080565b60005b818310156122ae576000612e0f8484613096565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115612e3e57809250612e4c565b612e49816001613b80565b93505b50612dfb565b825460009081908015612f71576000612e7087612bf8600185613aa0565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015612ec457604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603612f105784612ee788612bf8600186613aa0565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055612f61565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150612c6c9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081612c6c565b6000610591838360ff166001811115612fe757612fe76138e4565b6130b1565b600080608083901c1561300157608092831c92015b604083901c1561301357604092831c92015b602083901c1561302557602092831c92015b601083901c1561303757601092831c92015b600883901c1561304957600892831c92015b600483901c1561305b57600492831c92015b600283901c1561306d57600292831c92015b600183901c156105a35760010192915050565b600081831061308f5781610591565b5090919050565b60006130a56002848418613ce6565b61059190848416613b80565b6000806130bc610d33565b905060008160180160008560018111156130d8576130d86138e4565b60018111156130e9576130e96138e4565b8152602081019190915260400160009081205491506018830181866001811115613115576131156138e4565b6001811115613126576131266138e4565b81526020810191909152604001600020613141600184613aa0565b815481106131515761315161393b565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211613197576001600160d01b031694506105a39350505050565b6131e86131a3896128e5565b8660180160008a60018111156131bb576131bb6138e4565b60018111156131cc576131cc6138e4565b8152602001908152602001600020612b7490919063ffffffff16565b6001600160d01b031698975050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561323b5761323b6131fd565b604052919050565b60006001600160401b0382111561325c5761325c6131fd565b5060051b60200190565b80356001600160a01b038116811461327d57600080fd5b919050565b600082601f83011261329357600080fd5b813560206132a86132a383613243565b613213565b82815260059290921b840181019181810190868411156132c757600080fd5b8286015b848110156132e9576132dc81613266565b83529183019183016132cb565b509695505050505050565b600082601f83011261330557600080fd5b813560206133156132a383613243565b82815260059290921b8401810191818101908684111561333457600080fd5b8286015b848110156132e95780358352918301918301613338565b60006001600160401b03831115613368576133686131fd565b61337b601f8401601f1916602001613213565b905082815283838301111561338f57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126133b757600080fd5b813560206133c76132a383613243565b82815260059290921b840181019181810190868411156133e657600080fd5b8286015b848110156132e95780356001600160401b038111156134095760008081fd5b8701603f8101891361341b5760008081fd5b61342c89868301356040840161334f565b8452509183019183016133ea565b600082601f83011261344b57600080fd5b6105918383356020850161334f565b600080600080600080600080610100898b03121561347757600080fd5b88356001600160401b038082111561348e57600080fd5b61349a8c838d01613282565b995060208b01359150808211156134b057600080fd5b6134bc8c838d016132f4565b985060408b01359150808211156134d257600080fd5b6134de8c838d016133a6565b975060608b01359150808211156134f457600080fd5b6135008c838d0161343a565b965060808b0135955060a08b0135945061351c60c08c01613266565b935060e08b013591508082111561353257600080fd5b5061353f8b828c0161343a565b9150509295985092959890939650565b600080600080600060a0868803121561356757600080fd5b61357086613266565b945060208601356001600160401b038082111561358c57600080fd5b61359889838a01613282565b955060408801359150808211156135ae57600080fd5b6135ba89838a016132f4565b945060608801359150808211156135d057600080fd5b506135dd888289016133a6565b95989497509295608001359392505050565b60006020828403121561360157600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561364057835183529284019291840191600101613624565b50909695505050505050565b60008060008060008060c0878903121561366557600080fd5b86356001600160401b038082111561367c57600080fd5b6136888a838b01613282565b9750602089013591508082111561369e57600080fd5b6136aa8a838b016132f4565b965060408901359150808211156136c057600080fd5b6136cc8a838b016133a6565b955060608901359150808211156136e257600080fd5b506136ef89828a0161343a565b9350506080870135915060a087013590509295509295509295565b801515811461371857600080fd5b50565b803561327d8161370a565b600080600080600080600060e0888a03121561374157600080fd5b61374a88613266565b96506137586020890161371b565b955060408801356001600160401b038082111561377457600080fd5b6137808b838c01613282565b965060608a013591508082111561379657600080fd5b6137a28b838c016132f4565b955060808a01359150808211156137b857600080fd5b6137c48b838c016133a6565b945060a08a0135935060c08a01359150808211156137e157600080fd5b506137ee8a828b0161343a565b91505092959891949750929550565b6000815180845260005b8181101561382357602081850181015186830182015201613807565b506000602082860101526020601f19601f83011685010191505092915050565b6000815180845260208085019450848260051b860182860160005b858110156138885783830389526138768383516137fd565b9885019892509084019060010161385e565b5090979650505050505050565b60a0815260006138a860a08301886137fd565b602083018790526001600160a01b0386811660408501528516606084015282810360808401526138d88185613843565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b6002811061390a5761390a6138e4565b9052565b8281526040810161059160208301846138fa565b60006020828403121561393457600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161397957613979613951565b5060010190565b6001600160a01b0391909116815260200190565b60ff81811683821601908111156105a3576105a3613951565b600181815b808511156139e85781600019048211156139ce576139ce613951565b808516156139db57918102915b93841c93908002906139b2565b509250929050565b6000826139ff575060016105a3565b81613a0c575060006105a3565b8160018114613a225760028114613a2c57613a48565b60019150506105a3565b60ff841115613a3d57613a3d613951565b50506001821b6105a3565b5060208310610133831016604e8410600b8410161715613a6b575081810a6105a3565b613a7583836139ad565b8060001904821115613a8957613a89613951565b029392505050565b600061059160ff8416836139f0565b818103818111156105a3576105a3613951565b600081518084526020808501945080840160005b83811015613aec5781516001600160a01b031687529582019590820190600101613ac7565b509495945050505050565b600081518084526020808501945080840160005b83811015613aec57815187529582019590820190600101613b0b565b608081526000613b3a6080830187613ab3565b8281036020840152613b4c8187613af7565b90508281036040840152613b608186613843565b91505082606083015295945050505050565b602081016105a382846138fa565b808201808211156105a3576105a3613951565b83815260608101600a8410613baa57613baa6138e4565b602082019390935260400152919050565b60a081526000613bce60a0830188613ab3565b8281036020840152613be08188613af7565b90508281036040840152613bf48187613843565b60608401959095525050608001529392505050565b60c081526000613c1c60c0830189613ab3565b8281036020840152613c2e8189613af7565b90508281036040840152613c428188613843565b60608401969096525050608081019290925260a0909101529392505050565b600060208284031215613c7357600080fd5b815165ffffffffffff8116811461059157600080fd5b600060208284031215613c9b57600080fd5b81516105918161370a565b80820281158282048414176105a3576105a3613951565b60208152600061059160208301846137fd565b634e487b7160e01b600052601260045260246000fd5b600082613d0357634e487b7160e01b600052601260045260246000fd5b500490565b60ff929092168252602082015260400190565b6001600160d01b03818116838216019080821115613d3b57613d3b613951565b5092915050565b60c081526000613d5560c0830189613ab3565b602083820381850152613d68828a613af7565b915083820360408501528188518084528284019150828160051b850101838b0160005b83811015613db957601f19878403018552613da78383516137fd565b94860194925090850190600101613d8b565b50508681036060880152613dcd818b613843565b9450505050508281036080840152613de581866137fd565b9150508260a0830152979650505050505050565b6020808252602e908201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460408201526d2070726f706f73616c207479706560901b60608201526080019056fea264697066735822122090b1edf21c26371daf1fea75b1d5ef49b8fec032feaa4c7c38b62fff7c2443aa64736f6c63430008140033","opcodes":"PUSH2 0x3E7D PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13B1088 EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0x1957CC7 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x1E6B4992 EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0x2A09C772 EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0x2D63F693 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x5584C4F9 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x58C839BC EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x81AB2353 EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0xA9A95294 EQ PUSH2 0x1C3 JUMPI DUP1 PUSH4 0xBADECD76 EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0xC01F9E37 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0xC0A6026C EQ PUSH2 0x209 JUMPI DUP1 PUSH4 0xC429BD82 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0xFCADD1F7 EQ PUSH2 0x249 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0xE4 CALLDATASIZE PUSH1 0x4 PUSH2 0x345A JUMP JUMPDEST PUSH2 0x269 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x108 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0x117 CALLDATASIZE PUSH1 0x4 PUSH2 0x354F JUMP JUMPDEST PUSH2 0x33C JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x428 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x151 PUSH2 0x14C CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x55E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0xE9 PUSH2 0x171 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x598 JUMP JUMPDEST PUSH2 0x17E PUSH2 0x5A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0x3608 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x364C JUMP JUMPDEST PUSH2 0x7B6 JUMP JUMPDEST PUSH2 0x1B3 PUSH2 0x803 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x1B3 PUSH2 0x1D1 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x812 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0x1F1 CALLDATASIZE PUSH1 0x4 PUSH2 0x3726 JUMP JUMPDEST PUSH2 0x86E JUMP JUMPDEST PUSH2 0xE9 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0xA5F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x215 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x224 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0xA6A JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x244 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0xB25 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0x264 CALLDATASIZE PUSH1 0x4 PUSH2 0x354F JUMP JUMPDEST PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x274 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x28B DUP12 DUP12 DUP12 DUP12 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0x29E CALLER DUP9 DUP11 DUP15 DUP15 DUP15 DUP8 PUSH1 0x1 PUSH2 0xD91 JUMP JUMPDEST DUP2 PUSH1 0x1A ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x808860A5 DUP6 DUP4 CALLER DUP10 DUP15 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2E9 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3895 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x303 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x317 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x32D CALLER DUP3 DUP14 DUP14 DUP14 DUP14 DUP14 DUP14 PUSH1 0x1 PUSH2 0xFF2 JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x347 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x357 DUP8 DUP8 DUP8 DUP8 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0x36C DUP2 PUSH2 0x367 PUSH1 0x4 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x1107 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x37D DUP10 DUP4 DUP11 DUP11 DUP11 DUP11 PUSH2 0x1146 JUMP JUMPDEST SWAP1 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND ISZERO PUSH2 0x403 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF PUSH1 0x38 SHL NOT AND PUSH1 0x1 PUSH1 0x38 SHL PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE DUP3 MLOAD DUP6 DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH32 0x9A2E42FD6722813D69113E7D0079D3D940171428DF7373DF9C7F7617CFDA2892 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x48442523 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x432 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x1 DUP6 ADD SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SWAP3 SWAP4 POP PUSH1 0xFF AND SWAP2 SWAP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x469 JUMPI PUSH2 0x469 PUSH2 0x38E4 JUMP JUMPDEST EQ PUSH2 0x494 JUMPI DUP4 DUP3 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x390E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4B2 DUP5 PUSH2 0x4A2 PUSH1 0x4 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x4AC PUSH1 0x6 PUSH2 0x10E4 JUMP JUMPDEST OR PUSH2 0x1107 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x4E7 JUMPI POP PUSH1 0x4 PUSH2 0x4D4 DUP6 PUSH2 0x12FC JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x4E5 JUMPI PUSH2 0x4E5 PUSH2 0x38E4 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x509 JUMPI DUP4 DUP3 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x390E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1E DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE SWAP1 MLOAD DUP6 DUP2 MSTORE PUSH32 0xAE96D9C307786EFA9D87D53B27B247AA9EF9C3640C4D5065FDDC861C71684AB0 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x569 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x591 JUMPI PUSH2 0x591 PUSH2 0x38E4 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A3 DUP3 PUSH2 0x16A3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x5B5 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x60E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x632 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x21 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x661 JUMPI PUSH2 0x661 PUSH2 0x31FD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x68A JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x71B JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x6AD JUMPI PUSH2 0x6AD PUSH2 0x393B JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 POP PUSH1 0x1 PUSH2 0x6C6 DUP3 PUSH2 0x12FC JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x6D7 JUMPI PUSH2 0x6D7 PUSH2 0x38E4 JUMP JUMPDEST SUB PUSH2 0x708 JUMPI DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6EF JUMPI PUSH2 0x6EF PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP3 PUSH2 0x704 DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP4 POP POP JUMPDEST POP DUP1 PUSH2 0x713 DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x691 JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x736 JUMPI PUSH2 0x736 PUSH2 0x31FD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x75F JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x41C JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x77F JUMPI PUSH2 0x77F PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x799 JUMPI PUSH2 0x799 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP1 PUSH2 0x7AE DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x765 JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER SWAP1 POP PUSH1 0x0 PUSH2 0x7D1 DUP10 DUP10 DUP10 DUP10 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0x7E4 DUP3 DUP7 DUP9 DUP13 DUP13 DUP13 DUP8 PUSH1 0x0 PUSH2 0xD91 JUMP JUMPDEST PUSH2 0x7F6 DUP3 DUP3 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x0 PUSH2 0xFF2 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80D PUSH2 0x1A90 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x81D PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 SUB PUSH2 0x846 JUMPI POP PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x864 JUMPI POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x879 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x889 DUP9 DUP9 DUP9 DUP9 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0x894 DUP2 PUSH2 0x1C4D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 ISZERO PUSH2 0x8B3 JUMPI POP DUP9 ISZERO JUMPDEST ISZERO PUSH2 0x8D3 JUMPI DUP10 PUSH1 0x40 MLOAD PUSH4 0x3733BE59 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x3980 JUMP JUMPDEST PUSH2 0x940 DUP2 PUSH2 0x8E1 PUSH1 0x3 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x8EB PUSH1 0x7 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x8F5 PUSH1 0x9 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x8FF PUSH1 0x8 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x909 PUSH1 0x6 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x913 PUSH1 0x2 PUSH2 0x10E4 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x920 PUSH1 0x9 DUP3 PUSH2 0x3994 JUMP JUMPDEST PUSH2 0x92B SWAP1 PUSH1 0x2 PUSH2 0x3A91 JUMP JUMPDEST PUSH2 0x935 SWAP2 SWAP1 PUSH2 0x3AA0 JUMP JUMPDEST XOR XOR XOR XOR XOR XOR PUSH2 0x1107 JUMP JUMPDEST POP PUSH2 0x94A DUP2 PUSH2 0x1C4D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x9CB JUMPI PUSH1 0x0 PUSH2 0x96D DUP3 PUSH2 0x12FC JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x97E JUMPI PUSH2 0x97E PUSH2 0x38E4 JUMP JUMPDEST EQ PUSH2 0x9CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F723A2070726F706F73616C206E6F742070656E64696E670000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x48B JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0xA54 JUMPI PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC4D252F5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC4D252F5 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA3E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE POP JUMPDEST PUSH2 0x32D DUP3 DUP13 DUP8 PUSH2 0x1C76 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A3 DUP3 PUSH2 0x1D2D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA74 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF SWAP1 SWAP2 AND SWAP1 DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xAA0 JUMPI PUSH2 0xAA0 PUSH2 0x38E4 JUMP JUMPDEST EQ PUSH2 0xAC2 JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x390E JUMP JUMPDEST PUSH2 0xAD0 DUP4 PUSH2 0x367 PUSH1 0x8 PUSH2 0x10E4 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1E DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x2 OR SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x71611ADB0C8D2EEA43359B2E41E5FDF96309CE734ED1EB78CEB763198C1B8967 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB2F PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH2 0xB49 DUP3 PUSH2 0xB3F PUSH1 0x9 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x4AC PUSH1 0x8 PUSH2 0x10E4 JUMP JUMPDEST POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1E DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD DUP4 DUP2 MSTORE PUSH32 0x89E9ABEFCACE5D0E37429F32023DF3D73C9A310923F6383FA778EC40C629DF0E SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA5 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xBB5 DUP8 DUP8 DUP8 DUP8 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0xBCF DUP2 PUSH2 0xBC5 PUSH1 0x5 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x4AC PUSH1 0x4 PUSH2 0x10E4 JUMP JUMPDEST POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0x28 SHL NOT AND PUSH1 0x1 PUSH1 0x28 SHL OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0xC06 PUSH2 0x1EB0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xC9A JUMPI PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0xC98 JUMPI ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC3C JUMPI PUSH2 0xC3C PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xC88 JUMPI PUSH2 0xC88 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC67 JUMPI PUSH2 0xC67 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP5 PUSH1 0x2 ADD PUSH2 0x1ECE SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0xC91 DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP1 POP PUSH2 0xC17 JUMP JUMPDEST POP JUMPDEST PUSH2 0xCA8 DUP9 DUP3 DUP10 DUP10 DUP10 DUP10 PUSH2 0x1F3F JUMP JUMPDEST DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xCBA PUSH2 0x1EB0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 ISZERO PUSH2 0xCE8 JUMPI POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x80 SHL SWAP1 SWAP3 DIV AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xCF5 JUMPI PUSH1 0x0 PUSH1 0x2 DUP4 ADD SSTORE JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x712AE1383F79AC853F8D882153778E0260EF8F03B504E2866E0593E04D2B291F SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xD70 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3B27 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD9B PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH2 0xDA6 DUP3 PUSH2 0x1FDB JUMP JUMPDEST PUSH2 0xDC5 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x3E4BBE19 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x3B72 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE1A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE3E SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST DUP9 GT PUSH2 0xE60 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7A5D07D3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x48B JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEB5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xED9 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0xEE4 SWAP1 PUSH1 0x1 PUSH2 0x3B80 JUMP JUMPDEST DUP9 SUB PUSH2 0xF12 JUMPI PUSH2 0xEF2 PUSH2 0x1A90 JUMP JUMPDEST PUSH2 0xF12 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7A5D07D3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x48B JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xF26 JUMPI PUSH2 0xF26 PUSH2 0x38E4 JUMP JUMPDEST SUB PUSH2 0xF54 JUMPI PUSH2 0xF35 DUP10 DUP9 PUSH2 0x2012 JUMP JUMPDEST PUSH2 0xF54 JUMPI DUP9 PUSH1 0x40 MLOAD PUSH4 0xD9B39557 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x3980 JUMP JUMPDEST DUP5 MLOAD DUP7 MLOAD EQ ISZERO DUP1 PUSH2 0xF67 JUMPI POP DUP4 MLOAD DUP7 MLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0xF9C JUMPI DUP6 MLOAD DUP5 MLOAD DUP7 MLOAD PUSH1 0x40 MLOAD PUSH4 0x447B05D PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x24 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x48B JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD ISZERO PUSH2 0xFDD JUMPI DUP3 PUSH2 0xFBF DUP5 PUSH2 0x12FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x3B93 JUMP JUMPDEST PUSH2 0xFE7 DUP7 DUP6 PUSH2 0x2103 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFFD PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x100A DUP5 PUSH2 0x21E8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x108F DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1066 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x108A SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x22B6 JUMP JUMPDEST DUP12 MLOAD SWAP1 SWAP2 POP ISZERO ISZERO PUSH2 0x10A0 DUP15 DUP8 PUSH2 0x22E6 JUMP JUMPDEST PUSH2 0x10B0 DUP14 DUP16 DUP5 DUP12 DUP6 DUP13 DUP10 DUP14 PUSH2 0x244A JUMP JUMPDEST DUP7 ISZERO PUSH2 0x10C1 JUMPI PUSH2 0x10C1 DUP8 DUP16 DUP16 PUSH2 0x255C JUMP JUMPDEST PUSH2 0x10D2 DUP15 DUP15 DUP15 DUP15 DUP15 DUP15 DUP15 DUP11 DUP15 PUSH2 0x27F8 JUMP JUMPDEST POP SWAP11 SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x10F8 JUMPI PUSH2 0x10F8 PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1113 DUP5 PUSH2 0x12FC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x1121 DUP4 PUSH2 0x10E4 JUMP JUMPDEST AND SUB PUSH2 0x591 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3B93 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1151 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x6 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF27A0C92 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11CE SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x11DC DUP6 DUP12 PUSH2 0x28D4 JUMP JUMPDEST PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xB1C5F427 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xB1C5F427 SWAP1 PUSH2 0x1218 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x0 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x3BBB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1235 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1259 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x7 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP6 ADD SLOAD SWAP2 MLOAD PUSH4 0x8F2A0BB PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x8F2A0BB0 SWAP2 PUSH2 0x12A8 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C09 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x12D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x12EE DUP3 TIMESTAMP PUSH2 0x12E9 SWAP2 SWAP1 PUSH2 0x3B80 JUMP JUMPDEST PUSH2 0x28E5 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1307 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x135C JUMPI PUSH2 0x135C PUSH2 0x38E4 JUMP JUMPDEST SUB PUSH2 0x136E JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1382 JUMPI PUSH2 0x1382 PUSH2 0x38E4 JUMP JUMPDEST SUB PUSH2 0x1394 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x13A7 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13BA JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x13E2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x48B JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x143C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1460 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST LT ISZERO PUSH2 0x1473 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14BE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14E2 SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x14F7 DUP10 PUSH2 0x1D2D JUMP JUMPDEST SWAP1 POP PUSH2 0x1502 DUP10 PUSH2 0x2913 JUMP JUMPDEST PUSH2 0x1515 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x152B JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1534 DUP10 PUSH2 0x293F JUMP JUMPDEST ISZERO DUP1 PUSH2 0x1546 JUMPI POP PUSH2 0x1544 DUP10 PUSH2 0x299D JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x155A JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1563 DUP10 PUSH2 0x29C5 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x1579 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15FA SWAP2 SWAP1 PUSH2 0x3C89 JUMP JUMPDEST ISZERO PUSH2 0x160F JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x165A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x167E SWAP2 SWAP1 PUSH2 0x3C89 JUMP JUMPDEST ISZERO PUSH2 0x1693 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x16AE PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x171E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1742 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST LT PUSH2 0x17DF JUMPI PUSH1 0x0 PUSH2 0x1751 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17B3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17D7 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x182B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x184F SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x186D SWAP2 SWAP1 PUSH2 0x3AA0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x187C PUSH1 0x1 DUP4 PUSH2 0x3AA0 JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18F5 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x18FF SWAP2 SWAP1 PUSH2 0x3CA6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1958 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197C SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x19C7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19EB SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x1A71 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A42 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A66 SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1A7C DUP4 DUP4 PUSH2 0x3B80 JUMP JUMPDEST PUSH2 0x1A86 SWAP2 SWAP1 PUSH2 0x3B80 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A9B PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1AF4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B18 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0xA DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B69 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B8D SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1BDA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1BFE SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST SWAP1 POP DUP1 PUSH6 0xFFFFFFFFFFFF AND DUP3 GT PUSH2 0x1C1A JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x1C2C PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP4 PUSH2 0x3AA0 JUMP JUMPDEST DUP5 PUSH1 0x4 ADD SLOAD GT ISZERO PUSH2 0x1C42 JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C58 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C81 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0x30 SHL NOT AND PUSH1 0x1 PUSH1 0x30 SHL OR SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP PUSH32 0x789CF55BE980739DAD1D0699B93B58E806B51C9D96619BFA8FE0A28ABAA7B30C SWAP1 PUSH2 0x1CDA SWAP1 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x93BCF40B1DE68D22878E9394837DD4B08DAE46EE73BC722CCCFFECDADBE44145 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1D1C SWAP2 SWAP1 PUSH2 0x3CBD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D38 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DA8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DCC SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST LT PUSH2 0x1E24 JUMPI PUSH1 0x0 PUSH2 0x1DDB PUSH2 0xD33 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x1796 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E9D SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x1EA6 DUP5 PUSH2 0x16A3 JUMP JUMPDEST PUSH2 0x591 SWAP2 SWAP1 PUSH2 0x3B80 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1EBB PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB PUSH1 0x1 PUSH1 0x80 SHL DUP3 DIV DUP2 AND SWAP2 DUP2 AND PUSH1 0x1 DUP4 ADD SWAP1 SWAP2 AND SUB PUSH2 0x1F09 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8ACB5F27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE DUP4 SLOAD SWAP2 SWAP1 SWAP3 ADD DUP3 AND PUSH1 0x1 PUSH1 0x80 SHL MUL SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F49 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE38335E5 CALLVALUE DUP8 DUP8 DUP8 PUSH1 0x0 PUSH2 0x1F6F DUP10 DUP16 PUSH2 0x28D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP8 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F8F SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3BBB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1FA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 SWAP8 DUP9 MSTORE POP POP PUSH1 0x7 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1FF0 JUMPI PUSH2 0x1FF0 PUSH2 0x38E4 JUMP JUMPDEST EQ DUP1 PUSH2 0x5A3 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x200B JUMPI PUSH2 0x200B PUSH2 0x38E4 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SWAP1 PUSH1 0x34 DUP2 LT ISZERO PUSH2 0x202A JUMPI PUSH1 0x1 SWAP2 POP POP PUSH2 0x5A3 JUMP JUMPDEST DUP3 DUP2 ADD PUSH1 0x13 NOT ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH12 0x46E0E4DEE0DEE6CAE47A60F PUSH1 0xA3 SHL EQ PUSH2 0x205D JUMPI PUSH1 0x1 SWAP3 POP POP POP PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x206B PUSH1 0x28 DUP6 PUSH2 0x3AA0 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x20E2 JUMPI PUSH1 0x0 DUP1 PUSH2 0x20A2 DUP9 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x208E JUMPI PUSH2 0x208E PUSH2 0x393B JUMP JUMPDEST ADD PUSH1 0x20 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND PUSH2 0x29F7 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x20BA JUMPI PUSH1 0x1 SWAP7 POP POP POP POP POP POP POP PUSH2 0x5A3 JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 SHL OR SWAP4 POP POP POP DUP1 PUSH2 0x20DB SWAP1 PUSH2 0x3967 JUMP JUMPDEST SWAP1 POP PUSH2 0x206E JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x210D PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x9 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x21E3 JUMPI PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x21E1 JUMPI PUSH1 0x0 PUSH2 0x214D DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2140 JUMPI PUSH2 0x2140 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x2A89 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2167 JUMPI PUSH2 0x2167 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP6 AND DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x21CE JUMPI PUSH1 0x40 MLOAD PUSH4 0x294080F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x48B JUMP JUMPDEST POP DUP1 PUSH2 0x21D9 DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2120 JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21F3 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 DUP3 PUSH1 0xB ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x224E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2272 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x227B DUP7 PUSH2 0x2AB8 JUMP JUMPDEST PUSH2 0x2285 SWAP2 SWAP1 PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x228F SWAP2 SWAP1 PUSH2 0x3CE6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x229C DUP6 PUSH2 0x2B2A JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x22AE JUMPI SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 GT ISZERO PUSH2 0x22E2 JUMPI PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x3D08 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22F0 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1C ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x230C JUMPI PUSH2 0x230C PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x231D JUMPI PUSH2 0x231D PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD PUSH1 0x1B DUP6 ADD SLOAD SWAP3 MLOAD PUSH4 0xD206885D PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP4 POP SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6D5E3032 SWAP1 DUP3 SWAP1 PUSH4 0xD206885D SWAP1 PUSH2 0x236E SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3980 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x238B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x23AF SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x23CD SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x23EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x240E SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x2443 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B60E79 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x48B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2454 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 ADD PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP9 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP DUP7 DUP2 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP8 DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 DUP2 PUSH1 0x2 ADD PUSH1 0x4 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP5 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP DUP3 DUP3 PUSH1 0x15 ADD PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2529 JUMPI PUSH2 0x2529 PUSH2 0x38E4 JUMP JUMPDEST MUL OR SWAP1 SSTORE POP POP PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0x21 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP8 MSTORE SWAP6 KECCAK256 SWAP1 SWAP5 ADD SWAP7 SWAP1 SWAP7 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2566 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP9 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25C3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x25E7 SWAP2 SWAP1 PUSH2 0x3C89 JUMP JUMPDEST PUSH2 0x2633 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F725631303A207472616E73666572206661696C6564 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x48B JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0x2667 SWAP1 DUP5 SWAP1 PUSH2 0x3B80 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x2700 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x26BC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x26E0 SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x2B74 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x270D DUP7 PUSH2 0x2C2A JUMP JUMPDEST PUSH2 0x2717 SWAP1 DUP4 PUSH2 0x3D1B JUMP JUMPDEST SWAP1 POP PUSH2 0x27AA PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2765 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2789 SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x2C59 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x65C1DF56BBA34C409163F3295407AB399DF5A4D9BF3DD0288416D6041CDC272C DUP9 PUSH1 0x40 MLOAD PUSH2 0x27E8 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0x9C2B0D68F5EDFD1BF6158A1867ACED894EFCFCF77C7A7603CB571E18CE89AE76 DUP11 DUP11 DUP13 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2840 JUMPI PUSH2 0x2840 PUSH2 0x31FD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2873 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x285E JUMPI SWAP1 POP JUMPDEST POP DUP12 DUP12 DUP11 PUSH1 0x40 MLOAD PUSH2 0x2889 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP8 PUSH32 0x6D04097725B4D82FBE72E4FD0FD1798C60A7B1BBC328842680C83AC06B1B0ADA DUP3 PUSH1 0x40 MLOAD PUSH2 0x28C1 SWAP2 SWAP1 PUSH2 0x3B72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT AND XOR SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x22E2 JUMPI PUSH1 0x30 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x3D08 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x291E PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x294A PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x2993 PUSH2 0x297C DUP7 PUSH2 0x16A3 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x298E JUMPI PUSH2 0x298E PUSH2 0x38E4 JUMP JUMPDEST PUSH2 0x2C74 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29A8 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29D0 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0xF8 DUP4 SWAP1 SHR PUSH1 0x2F DUP2 GT DUP1 ISZERO PUSH2 0x2A12 JUMPI POP PUSH1 0x3A DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A27 JUMPI PUSH1 0x1 SWAP5 PUSH1 0x2F NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x40 LT DUP1 ISZERO PUSH2 0x2A3D JUMPI POP PUSH1 0x47 DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A52 JUMPI PUSH1 0x1 SWAP5 PUSH1 0x36 NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x60 LT DUP1 ISZERO PUSH2 0x2A68 JUMPI POP PUSH1 0x67 DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A7D JUMPI PUSH1 0x1 SWAP5 PUSH1 0x56 NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP4 DUP5 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 MLOAD LT ISZERO PUSH2 0x2AB0 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x1A800FB PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x3CBD JUMP JUMPDEST POP PUSH1 0x20 ADD MLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2AC3 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH2 0x2ACE DUP4 PUSH2 0x1FDB JUMP JUMPDEST PUSH2 0x2AEA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP1 PUSH2 0x3DF9 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B02 JUMPI PUSH2 0x2B02 PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B13 JUMPI PUSH2 0x2B13 PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2B35 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B40 DUP4 PUSH2 0x1FDB JUMP JUMPDEST PUSH2 0x2B5C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP1 PUSH2 0x3DF9 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B02 JUMPI PUSH2 0x2B02 PUSH2 0x38E4 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2BD3 JUMPI PUSH1 0x0 PUSH2 0x2B8F DUP5 PUSH2 0x2D10 JUMP JUMPDEST PUSH2 0x2B99 SWAP1 DUP6 PUSH2 0x3AA0 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x2BC3 JUMPI DUP1 SWAP2 POP PUSH2 0x2BD1 JUMP JUMPDEST PUSH2 0x2BCE DUP2 PUSH1 0x1 PUSH2 0x3B80 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x2BE1 DUP8 DUP8 DUP6 DUP6 PUSH2 0x2DF8 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2C1C JUMPI PUSH2 0x2C06 DUP8 PUSH2 0x2BF8 PUSH1 0x1 DUP5 PUSH2 0x3AA0 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2C1F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x22E2 JUMPI PUSH1 0xD0 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x3D08 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C67 DUP6 DUP6 DUP6 PUSH2 0x2E52 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C7F PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x2C8D DUP6 DUP6 PUSH2 0x2FCC JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CD8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2CFC SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x2D06 SWAP2 SWAP1 PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x17D7 SWAP2 SWAP1 PUSH2 0x3CE6 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x2D22 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x2D2F DUP5 PUSH2 0x2FEC JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D48 JUMPI PUSH2 0x2D48 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D60 JUMPI PUSH2 0x2D60 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D78 JUMPI PUSH2 0x2D78 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D90 JUMPI PUSH2 0x2D90 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2DA8 JUMPI PUSH2 0x2DA8 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2DC0 JUMPI PUSH2 0x2DC0 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2DD8 JUMPI PUSH2 0x2DD8 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x591 DUP2 DUP3 DUP6 DUP2 PUSH2 0x2DF2 JUMPI PUSH2 0x2DF2 PUSH2 0x3CD0 JUMP JUMPDEST DIV PUSH2 0x3080 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x22AE JUMPI PUSH1 0x0 PUSH2 0x2E0F DUP5 DUP5 PUSH2 0x3096 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x2E3E JUMPI DUP1 SWAP3 POP PUSH2 0x2E4C JUMP JUMPDEST PUSH2 0x2E49 DUP2 PUSH1 0x1 PUSH2 0x3B80 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x2DFB JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x2F71 JUMPI PUSH1 0x0 PUSH2 0x2E70 DUP8 PUSH2 0x2BF8 PUSH1 0x1 DUP6 PUSH2 0x3AA0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x2EC4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x2F10 JUMPI DUP5 PUSH2 0x2EE7 DUP9 PUSH2 0x2BF8 PUSH1 0x1 DUP7 PUSH2 0x3AA0 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x2F61 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x2C6C SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x2C6C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x591 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2FE7 JUMPI PUSH2 0x2FE7 PUSH2 0x38E4 JUMP JUMPDEST PUSH2 0x30B1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x3001 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x3013 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x3025 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x3037 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x3049 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x305B JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x306D JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x5A3 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x308F JUMPI DUP2 PUSH2 0x591 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30A5 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x3CE6 JUMP JUMPDEST PUSH2 0x591 SWAP1 DUP5 DUP5 AND PUSH2 0x3B80 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x30BC PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30D8 JUMPI PUSH2 0x30D8 PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30E9 JUMPI PUSH2 0x30E9 PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3115 JUMPI PUSH2 0x3115 PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3126 JUMPI PUSH2 0x3126 PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x3141 PUSH1 0x1 DUP5 PUSH2 0x3AA0 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x3151 JUMPI PUSH2 0x3151 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x3197 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x5A3 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x31E8 PUSH2 0x31A3 DUP10 PUSH2 0x28E5 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x31BB JUMPI PUSH2 0x31BB PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x31CC JUMPI PUSH2 0x31CC PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x2B74 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x323B JUMPI PUSH2 0x323B PUSH2 0x31FD JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x325C JUMPI PUSH2 0x325C PUSH2 0x31FD JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x327D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x32A8 PUSH2 0x32A3 DUP4 PUSH2 0x3243 JUMP JUMPDEST PUSH2 0x3213 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x32C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x32E9 JUMPI PUSH2 0x32DC DUP2 PUSH2 0x3266 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x32CB JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3305 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x3315 PUSH2 0x32A3 DUP4 PUSH2 0x3243 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3334 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x32E9 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3338 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT ISZERO PUSH2 0x3368 JUMPI PUSH2 0x3368 PUSH2 0x31FD JUMP JUMPDEST PUSH2 0x337B PUSH1 0x1F DUP5 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x3213 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x338F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x33B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x33C7 PUSH2 0x32A3 DUP4 PUSH2 0x3243 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x33E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x32E9 JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3409 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP8 ADD PUSH1 0x3F DUP2 ADD DUP10 SGT PUSH2 0x341B JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x342C DUP10 DUP7 DUP4 ADD CALLDATALOAD PUSH1 0x40 DUP5 ADD PUSH2 0x334F JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x33EA JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x344B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x591 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x334F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x3477 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x348E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x349A DUP13 DUP4 DUP14 ADD PUSH2 0x3282 JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x34BC DUP13 DUP4 DUP14 ADD PUSH2 0x32F4 JUMP JUMPDEST SWAP9 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x34DE DUP13 DUP4 DUP14 ADD PUSH2 0x33A6 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3500 DUP13 DUP4 DUP14 ADD PUSH2 0x343A JUMP JUMPDEST SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP5 POP PUSH2 0x351C PUSH1 0xC0 DUP13 ADD PUSH2 0x3266 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3532 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x353F DUP12 DUP3 DUP13 ADD PUSH2 0x343A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3567 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3570 DUP7 PUSH2 0x3266 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x358C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3598 DUP10 DUP4 DUP11 ADD PUSH2 0x3282 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x35AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35BA DUP10 DUP4 DUP11 ADD PUSH2 0x32F4 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x35D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x35DD DUP9 DUP3 DUP10 ADD PUSH2 0x33A6 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP3 SWAP6 PUSH1 0x80 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3601 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3640 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x3624 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3665 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x367C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3688 DUP11 DUP4 DUP12 ADD PUSH2 0x3282 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x369E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x36AA DUP11 DUP4 DUP12 ADD PUSH2 0x32F4 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x36C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x36CC DUP11 DUP4 DUP12 ADD PUSH2 0x33A6 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x36E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x36EF DUP10 DUP3 DUP11 ADD PUSH2 0x343A JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3718 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x327D DUP2 PUSH2 0x370A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x3741 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x374A DUP9 PUSH2 0x3266 JUMP JUMPDEST SWAP7 POP PUSH2 0x3758 PUSH1 0x20 DUP10 ADD PUSH2 0x371B JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x3774 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3780 DUP12 DUP4 DUP13 ADD PUSH2 0x3282 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3796 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x37A2 DUP12 DUP4 DUP13 ADD PUSH2 0x32F4 JUMP JUMPDEST SWAP6 POP PUSH1 0x80 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x37B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x37C4 DUP12 DUP4 DUP13 ADD PUSH2 0x33A6 JUMP JUMPDEST SWAP5 POP PUSH1 0xA0 DUP11 ADD CALLDATALOAD SWAP4 POP PUSH1 0xC0 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x37E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x37EE DUP11 DUP3 DUP12 ADD PUSH2 0x343A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3823 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x3807 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP5 DUP3 PUSH1 0x5 SHL DUP7 ADD DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x3888 JUMPI DUP4 DUP4 SUB DUP10 MSTORE PUSH2 0x3876 DUP4 DUP4 MLOAD PUSH2 0x37FD JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP3 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x385E JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x38A8 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x20 DUP4 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x40 DUP6 ADD MSTORE DUP6 AND PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x38D8 DUP2 DUP6 PUSH2 0x3843 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x390A JUMPI PUSH2 0x390A PUSH2 0x38E4 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH2 0x591 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x38FA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3934 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x3979 JUMPI PUSH2 0x3979 PUSH2 0x3951 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP2 GT ISZERO PUSH2 0x5A3 JUMPI PUSH2 0x5A3 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH2 0x39E8 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x39CE JUMPI PUSH2 0x39CE PUSH2 0x3951 JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH2 0x39DB JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH2 0x39B2 JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x39FF JUMPI POP PUSH1 0x1 PUSH2 0x5A3 JUMP JUMPDEST DUP2 PUSH2 0x3A0C JUMPI POP PUSH1 0x0 PUSH2 0x5A3 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x3A22 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x3A2C JUMPI PUSH2 0x3A48 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x3A3D JUMPI PUSH2 0x3A3D PUSH2 0x3951 JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH2 0x5A3 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x3A6B JUMPI POP DUP2 DUP2 EXP PUSH2 0x5A3 JUMP JUMPDEST PUSH2 0x3A75 DUP4 DUP4 PUSH2 0x39AD JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x3A89 JUMPI PUSH2 0x3A89 PUSH2 0x3951 JUMP JUMPDEST MUL SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x591 PUSH1 0xFF DUP5 AND DUP4 PUSH2 0x39F0 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x5A3 JUMPI PUSH2 0x5A3 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3AEC JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3AC7 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3AEC JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3B0B JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3B3A PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x3AB3 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3B4C DUP2 DUP8 PUSH2 0x3AF7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3B60 DUP2 DUP7 PUSH2 0x3843 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x5A3 DUP3 DUP5 PUSH2 0x38FA JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x5A3 JUMPI PUSH2 0x5A3 PUSH2 0x3951 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x3BAA JUMPI PUSH2 0x3BAA PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3BCE PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x3AB3 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3BE0 DUP2 DUP9 PUSH2 0x3AF7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3BF4 DUP2 DUP8 PUSH2 0x3843 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3C1C PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x3AB3 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3C2E DUP2 DUP10 PUSH2 0x3AF7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3C42 DUP2 DUP9 PUSH2 0x3843 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3C73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x591 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3C9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x591 DUP2 PUSH2 0x370A JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x5A3 JUMPI PUSH2 0x5A3 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x591 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x37FD JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3D03 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x3D3B JUMPI PUSH2 0x3D3B PUSH2 0x3951 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3D55 PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x3AB3 JUMP JUMPDEST PUSH1 0x20 DUP4 DUP3 SUB DUP2 DUP6 ADD MSTORE PUSH2 0x3D68 DUP3 DUP11 PUSH2 0x3AF7 JUMP JUMPDEST SWAP2 POP DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE DUP2 DUP9 MLOAD DUP1 DUP5 MSTORE DUP3 DUP5 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD DUP4 DUP12 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3DB9 JUMPI PUSH1 0x1F NOT DUP8 DUP5 SUB ADD DUP6 MSTORE PUSH2 0x3DA7 DUP4 DUP4 MLOAD PUSH2 0x37FD JUMP JUMPDEST SWAP5 DUP7 ADD SWAP5 SWAP3 POP SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3D8B JUMP JUMPDEST POP POP DUP7 DUP2 SUB PUSH1 0x60 DUP9 ADD MSTORE PUSH2 0x3DCD DUP2 DUP12 PUSH2 0x3843 JUMP JUMPDEST SWAP5 POP POP POP POP POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3DE5 DUP2 DUP7 PUSH2 0x37FD JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xA0 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP1 0xB1 0xED CALLCODE SHR 0x26 CALLDATACOPY SAR 0xAF 0x1F 0xEA PUSH22 0xB1D5EF49B8FEC032FEAA4C7C38B62FFF7C2443AA6473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"2256:38470:54:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2256:38470:54;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_canProposalStartInNextRound_23532":{"entryPoint":6800,"id":23532,"parameterSlots":0,"returnSlots":1},"@_cancel_23476":{"entryPoint":7286,"id":23476,"parameterSlots":3,"returnSlots":1},"@_depositThresholdByProposalType_21177":{"entryPoint":8680,"id":21177,"parameterSlots":1,"returnSlots":1},"@_emitProposalCreatedEvents_23011":{"entryPoint":10232,"id":23011,"parameterSlots":9,"returnSlots":0},"@_executeOperations_23350":{"entryPoint":7999,"id":23350,"parameterSlots":6,"returnSlots":0},"@_insert_9806":{"entryPoint":11858,"id":9806,"parameterSlots":3,"returnSlots":2},"@_proposalDeadline_23690":{"entryPoint":7469,"id":23690,"parameterSlots":1,"returnSlots":1},"@_proposalSnapshot_23632":{"entryPoint":5795,"id":23632,"parameterSlots":1,"returnSlots":1},"@_propose_22962":{"entryPoint":4082,"id":22962,"parameterSlots":9,"returnSlots":1},"@_queueOperations_23433":{"entryPoint":4422,"id":23433,"parameterSlots":6,"returnSlots":1},"@_quorumNumeratorByProposalType_24311":{"entryPoint":12465,"id":24311,"parameterSlots":2,"returnSlots":1},"@_setProposal_23248":{"entryPoint":9290,"id":23248,"parameterSlots":8,"returnSlots":0},"@_state_24717":{"entryPoint":4860,"id":24717,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":11768,"id":9858,"parameterSlots":4,"returnSlots":1},"@_validateProposer_23296":{"entryPoint":8934,"id":23296,"parameterSlots":2,"returnSlots":0},"@average_6189":{"entryPoint":12438,"id":6189,"parameterSlots":2,"returnSlots":1},"@canProposalStartInNextRound_21863":{"entryPoint":2051,"id":21863,"parameterSlots":0,"returnSlots":1},"@cancel_22645":{"entryPoint":2158,"id":22645,"parameterSlots":7,"returnSlots":1},"@checkFunctionsRestriction_21431":{"entryPoint":8451,"id":21431,"parameterSlots":2,"returnSlots":0},"@clear_10744":{"entryPoint":null,"id":10744,"parameterSlots":1,"returnSlots":0},"@depositFunds_21018":{"entryPoint":9564,"id":21018,"parameterSlots":3,"returnSlots":0},"@empty_10780":{"entryPoint":null,"id":10780,"parameterSlots":1,"returnSlots":1},"@encodeStateBitmap_24512":{"entryPoint":4324,"id":24512,"parameterSlots":1,"returnSlots":1},"@execute_22488":{"entryPoint":2970,"id":22488,"parameterSlots":5,"returnSlots":1},"@executor_21512":{"entryPoint":7856,"id":21512,"parameterSlots":0,"returnSlots":1},"@extractFunctionSelector_21455":{"entryPoint":10889,"id":21455,"parameterSlots":1,"returnSlots":1},"@getActiveProposals_22056":{"entryPoint":1449,"id":22056,"parameterSlots":0,"returnSlots":1},"@getDepositThresholdCap_20526":{"entryPoint":11050,"id":20526,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdPercentage_20474":{"entryPoint":10936,"id":20474,"parameterSlots":1,"returnSlots":1},"@getGovernorStorage_24759":{"entryPoint":3379,"id":24759,"parameterSlots":0,"returnSlots":1},"@hashProposal_21755":{"entryPoint":3415,"id":21755,"parameterSlots":4,"returnSlots":1},"@isValidDescriptionForProposer_23782":{"entryPoint":8210,"id":23782,"parameterSlots":2,"returnSlots":1},"@isValidProposalType_23804":{"entryPoint":8155,"id":23804,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":12268,"id":6671,"parameterSlots":1,"returnSlots":1},"@markAsCompleted_22808":{"entryPoint":2666,"id":22808,"parameterSlots":1,"returnSlots":0},"@markAsInDevelopment_22744":{"entryPoint":1064,"id":22744,"parameterSlots":1,"returnSlots":0},"@min_6166":{"entryPoint":12416,"id":6166,"parameterSlots":2,"returnSlots":1},"@proposalDeadline_21853":{"entryPoint":2655,"id":21853,"parameterSlots":1,"returnSlots":1},"@proposalDepositReached_21127":{"entryPoint":10515,"id":21127,"parameterSlots":1,"returnSlots":1},"@proposalEta_21803":{"entryPoint":10693,"id":21803,"parameterSlots":1,"returnSlots":1},"@proposalNeedsQueuing_22260":{"entryPoint":2066,"id":22260,"parameterSlots":1,"returnSlots":1},"@proposalProposer_21779":{"entryPoint":7245,"id":21779,"parameterSlots":1,"returnSlots":1},"@proposalSnapshot_21840":{"entryPoint":1432,"id":21840,"parameterSlots":1,"returnSlots":1},"@proposalType_21935":{"entryPoint":1374,"id":21935,"parameterSlots":1,"returnSlots":1},"@proposeGrant_22215":{"entryPoint":617,"id":22215,"parameterSlots":8,"returnSlots":1},"@propose_22124":{"entryPoint":1974,"id":22124,"parameterSlots":6,"returnSlots":1},"@pushBack_10511":{"entryPoint":7886,"id":10511,"parameterSlots":2,"returnSlots":0},"@push_9437":{"entryPoint":11353,"id":9437,"parameterSlots":3,"returnSlots":2},"@queue_22346":{"entryPoint":828,"id":22346,"parameterSlots":5,"returnSlots":1},"@quorumByProposalType_24165":{"entryPoint":11380,"id":24165,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_23927":{"entryPoint":null,"id":23927,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_24025":{"entryPoint":12236,"id":24025,"parameterSlots":2,"returnSlots":1},"@quorumReached_24238":{"entryPoint":10559,"id":24238,"parameterSlots":1,"returnSlots":1},"@resetDevelopmentState_22857":{"entryPoint":2853,"id":22857,"parameterSlots":1,"returnSlots":0},"@sqrt_6504":{"entryPoint":11536,"id":6504,"parameterSlots":1,"returnSlots":1},"@timelockSalt_21490":{"entryPoint":10452,"id":21490,"parameterSlots":2,"returnSlots":1},"@toUint208_7210":{"entryPoint":11306,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint32_7826":{"entryPoint":8886,"id":7826,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":10469,"id":7770,"parameterSlots":1,"returnSlots":1},"@tryHexToUint_23873":{"entryPoint":10743,"id":23873,"parameterSlots":1,"returnSlots":2},"@upperLookupRecent_9604":{"entryPoint":11124,"id":9604,"parameterSlots":2,"returnSlots":1},"@validateProposeParams_23154":{"entryPoint":3473,"id":23154,"parameterSlots":8,"returnSlots":0},"@validateStateBitmap_24492":{"entryPoint":4359,"id":24492,"parameterSlots":2,"returnSlots":1},"@voteSucceeded_25308":{"entryPoint":10653,"id":25308,"parameterSlots":1,"returnSlots":1},"abi_decode_address":{"entryPoint":12902,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_address_dyn":{"entryPoint":12930,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes_dyn":{"entryPoint":13222,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":13044,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_bytes":{"entryPoint":13135,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_bool":{"entryPoint":14107,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string":{"entryPoint":13370,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32":{"entryPoint":13647,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_boolt_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr":{"entryPoint":14118,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256":{"entryPoint":13900,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr":{"entryPoint":13402,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":15497,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":13807,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":14626,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":15457,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_address_dyn":{"entryPoint":15027,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_bytes_dyn":{"entryPoint":14403,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_uint256_dyn":{"entryPoint":15095,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_enum_ProposalType":{"entryPoint":14586,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_string":{"entryPoint":14333,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":14720,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed":{"entryPoint":15143,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":15291,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":15369,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed":{"entryPoint":15682,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":13832,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$25017__to_t_uint8__fromStack_reversed":{"entryPoint":15218,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":15624,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15549,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":14485,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15865,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$24992_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":15251,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$25017__to_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":14606,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":12819,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_array_address_dyn":{"entryPoint":12867,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint208":{"entryPoint":15643,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":15232,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint8":{"entryPoint":14740,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":15590,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_helper":{"entryPoint":14765,"id":null,"parameterSlots":2,"returnSlots":2},"checked_exp_t_uint256_t_uint8":{"entryPoint":14993,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_unsigned":{"entryPoint":14832,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":15526,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":15008,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":14695,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":14673,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":15568,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":14564,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":14651,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":12797,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bool":{"entryPoint":14090,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:26580:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:150"},"nodeType":"YulFunctionCall","src":"66:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:150"},"nodeType":"YulFunctionCall","src":"56:31:150"},"nodeType":"YulExpressionStatement","src":"56:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:150"},"nodeType":"YulFunctionCall","src":"96:15:150"},"nodeType":"YulExpressionStatement","src":"96:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:150"},"nodeType":"YulFunctionCall","src":"120:15:150"},"nodeType":"YulExpressionStatement","src":"120:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:150"},{"body":{"nodeType":"YulBlock","src":"191:230:150","statements":[{"nodeType":"YulAssignment","src":"201:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"217:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"211:5:150"},"nodeType":"YulFunctionCall","src":"211:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"201:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"229:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"251:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"267:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"273:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"263:3:150"},"nodeType":"YulFunctionCall","src":"263:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"282:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"278:3:150"},"nodeType":"YulFunctionCall","src":"278:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"259:3:150"},"nodeType":"YulFunctionCall","src":"259:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"247:3:150"},"nodeType":"YulFunctionCall","src":"247:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"233:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"362:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"364:16:150"},"nodeType":"YulFunctionCall","src":"364:18:150"},"nodeType":"YulExpressionStatement","src":"364:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"305:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"325:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"329:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"321:3:150"},"nodeType":"YulFunctionCall","src":"321:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"333:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"317:3:150"},"nodeType":"YulFunctionCall","src":"317:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"302:2:150"},"nodeType":"YulFunctionCall","src":"302:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"341:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"353:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"338:2:150"},"nodeType":"YulFunctionCall","src":"338:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"299:2:150"},"nodeType":"YulFunctionCall","src":"299:62:150"},"nodeType":"YulIf","src":"296:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"400:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"404:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"393:6:150"},"nodeType":"YulFunctionCall","src":"393:22:150"},"nodeType":"YulExpressionStatement","src":"393:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"171:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"180:6:150","type":""}],"src":"146:275:150"},{"body":{"nodeType":"YulBlock","src":"495:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"539:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"541:16:150"},"nodeType":"YulFunctionCall","src":"541:18:150"},"nodeType":"YulExpressionStatement","src":"541:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"511:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"527:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"531:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"523:3:150"},"nodeType":"YulFunctionCall","src":"523:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"535:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"519:3:150"},"nodeType":"YulFunctionCall","src":"519:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"508:2:150"},"nodeType":"YulFunctionCall","src":"508:30:150"},"nodeType":"YulIf","src":"505:56:150"},{"nodeType":"YulAssignment","src":"570:33:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"586:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"589:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"582:3:150"},"nodeType":"YulFunctionCall","src":"582:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"598:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"578:3:150"},"nodeType":"YulFunctionCall","src":"578:25:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"570:4:150"}]}]},"name":"array_allocation_size_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"475:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"486:4:150","type":""}],"src":"426:183:150"},{"body":{"nodeType":"YulBlock","src":"663:124:150","statements":[{"nodeType":"YulAssignment","src":"673:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"695:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"682:12:150"},"nodeType":"YulFunctionCall","src":"682:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"673:5:150"}]},{"body":{"nodeType":"YulBlock","src":"765:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"774:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"777:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"767:6:150"},"nodeType":"YulFunctionCall","src":"767:12:150"},"nodeType":"YulExpressionStatement","src":"767:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"724:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"735:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"750:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"755:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"746:3:150"},"nodeType":"YulFunctionCall","src":"746:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"759:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"742:3:150"},"nodeType":"YulFunctionCall","src":"742:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"731:3:150"},"nodeType":"YulFunctionCall","src":"731:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"721:2:150"},"nodeType":"YulFunctionCall","src":"721:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"714:6:150"},"nodeType":"YulFunctionCall","src":"714:50:150"},"nodeType":"YulIf","src":"711:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"642:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"653:5:150","type":""}],"src":"614:173:150"},{"body":{"nodeType":"YulBlock","src":"856:604:150","statements":[{"body":{"nodeType":"YulBlock","src":"905:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"914:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"917:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"907:6:150"},"nodeType":"YulFunctionCall","src":"907:12:150"},"nodeType":"YulExpressionStatement","src":"907:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"884:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"892:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"880:3:150"},"nodeType":"YulFunctionCall","src":"880:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"899:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"876:3:150"},"nodeType":"YulFunctionCall","src":"876:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"869:6:150"},"nodeType":"YulFunctionCall","src":"869:35:150"},"nodeType":"YulIf","src":"866:55:150"},{"nodeType":"YulVariableDeclaration","src":"930:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"953:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"940:12:150"},"nodeType":"YulFunctionCall","src":"940:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"934:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"969:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"979:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"973:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"992:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1059:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"1019:39:150"},"nodeType":"YulFunctionCall","src":"1019:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1003:15:150"},"nodeType":"YulFunctionCall","src":"1003:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"996:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1072:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"1085:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"1076:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1104:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1109:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1097:6:150"},"nodeType":"YulFunctionCall","src":"1097:15:150"},"nodeType":"YulExpressionStatement","src":"1097:15:150"},{"nodeType":"YulAssignment","src":"1121:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1132:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1137:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1128:3:150"},"nodeType":"YulFunctionCall","src":"1128:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1121:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1149:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1171:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1183:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1186:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1179:3:150"},"nodeType":"YulFunctionCall","src":"1179:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1167:3:150"},"nodeType":"YulFunctionCall","src":"1167:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1192:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1163:3:150"},"nodeType":"YulFunctionCall","src":"1163:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1153:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1223:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1232:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1235:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1225:6:150"},"nodeType":"YulFunctionCall","src":"1225:12:150"},"nodeType":"YulExpressionStatement","src":"1225:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1210:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"1218:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1207:2:150"},"nodeType":"YulFunctionCall","src":"1207:15:150"},"nodeType":"YulIf","src":"1204:35:150"},{"nodeType":"YulVariableDeclaration","src":"1248:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1263:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1271:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1259:3:150"},"nodeType":"YulFunctionCall","src":"1259:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1252:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1339:92:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1360:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1384:3:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1365:18:150"},"nodeType":"YulFunctionCall","src":"1365:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1353:6:150"},"nodeType":"YulFunctionCall","src":"1353:36:150"},"nodeType":"YulExpressionStatement","src":"1353:36:150"},{"nodeType":"YulAssignment","src":"1402:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1413:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1418:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1409:3:150"},"nodeType":"YulFunctionCall","src":"1409:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1402:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1294:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1299:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1291:2:150"},"nodeType":"YulFunctionCall","src":"1291:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1307:23:150","statements":[{"nodeType":"YulAssignment","src":"1309:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1320:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1325:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1316:3:150"},"nodeType":"YulFunctionCall","src":"1316:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1309:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1287:3:150","statements":[]},"src":"1283:148:150"},{"nodeType":"YulAssignment","src":"1440:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"1449:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1440:5:150"}]}]},"name":"abi_decode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"830:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"838:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"846:5:150","type":""}],"src":"792:668:150"},{"body":{"nodeType":"YulBlock","src":"1529:598:150","statements":[{"body":{"nodeType":"YulBlock","src":"1578:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1587:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1590:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1580:6:150"},"nodeType":"YulFunctionCall","src":"1580:12:150"},"nodeType":"YulExpressionStatement","src":"1580:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1557:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1565:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1553:3:150"},"nodeType":"YulFunctionCall","src":"1553:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"1572:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1549:3:150"},"nodeType":"YulFunctionCall","src":"1549:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1542:6:150"},"nodeType":"YulFunctionCall","src":"1542:35:150"},"nodeType":"YulIf","src":"1539:55:150"},{"nodeType":"YulVariableDeclaration","src":"1603:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1626:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1613:12:150"},"nodeType":"YulFunctionCall","src":"1613:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1607:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1642:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1652:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1646:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1665:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1732:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"1692:39:150"},"nodeType":"YulFunctionCall","src":"1692:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1676:15:150"},"nodeType":"YulFunctionCall","src":"1676:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1669:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1745:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"1758:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"1749:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1777:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1782:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1770:6:150"},"nodeType":"YulFunctionCall","src":"1770:15:150"},"nodeType":"YulExpressionStatement","src":"1770:15:150"},{"nodeType":"YulAssignment","src":"1794:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1805:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1810:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1801:3:150"},"nodeType":"YulFunctionCall","src":"1801:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1794:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1822:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1844:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1856:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1859:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1852:3:150"},"nodeType":"YulFunctionCall","src":"1852:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1840:3:150"},"nodeType":"YulFunctionCall","src":"1840:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1865:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1836:3:150"},"nodeType":"YulFunctionCall","src":"1836:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1826:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1896:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1905:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1908:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1898:6:150"},"nodeType":"YulFunctionCall","src":"1898:12:150"},"nodeType":"YulExpressionStatement","src":"1898:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1883:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"1891:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1880:2:150"},"nodeType":"YulFunctionCall","src":"1880:15:150"},"nodeType":"YulIf","src":"1877:35:150"},{"nodeType":"YulVariableDeclaration","src":"1921:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1936:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1944:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1932:3:150"},"nodeType":"YulFunctionCall","src":"1932:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1925:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2012:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2033:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2051:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2038:12:150"},"nodeType":"YulFunctionCall","src":"2038:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2026:6:150"},"nodeType":"YulFunctionCall","src":"2026:30:150"},"nodeType":"YulExpressionStatement","src":"2026:30:150"},{"nodeType":"YulAssignment","src":"2069:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2080:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2085:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2076:3:150"},"nodeType":"YulFunctionCall","src":"2076:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2069:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1967:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1972:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1964:2:150"},"nodeType":"YulFunctionCall","src":"1964:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1980:23:150","statements":[{"nodeType":"YulAssignment","src":"1982:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1993:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1998:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1989:3:150"},"nodeType":"YulFunctionCall","src":"1989:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1982:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1960:3:150","statements":[]},"src":"1956:142:150"},{"nodeType":"YulAssignment","src":"2107:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2116:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2107:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1503:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"1511:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1519:5:150","type":""}],"src":"1465:662:150"},{"body":{"nodeType":"YulBlock","src":"2206:332:150","statements":[{"body":{"nodeType":"YulBlock","src":"2250:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2252:16:150"},"nodeType":"YulFunctionCall","src":"2252:18:150"},"nodeType":"YulExpressionStatement","src":"2252:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2222:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2238:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2242:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2234:3:150"},"nodeType":"YulFunctionCall","src":"2234:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2246:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2230:3:150"},"nodeType":"YulFunctionCall","src":"2230:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2219:2:150"},"nodeType":"YulFunctionCall","src":"2219:30:150"},"nodeType":"YulIf","src":"2216:56:150"},{"nodeType":"YulAssignment","src":"2281:66:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2318:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2326:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2314:3:150"},"nodeType":"YulFunctionCall","src":"2314:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2335:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2331:3:150"},"nodeType":"YulFunctionCall","src":"2331:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2310:3:150"},"nodeType":"YulFunctionCall","src":"2310:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"2341:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2306:3:150"},"nodeType":"YulFunctionCall","src":"2306:40:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2290:15:150"},"nodeType":"YulFunctionCall","src":"2290:57:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2281:5:150"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2363:5:150"},{"name":"length","nodeType":"YulIdentifier","src":"2370:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2356:6:150"},"nodeType":"YulFunctionCall","src":"2356:21:150"},"nodeType":"YulExpressionStatement","src":"2356:21:150"},{"body":{"nodeType":"YulBlock","src":"2415:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2424:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2427:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2417:6:150"},"nodeType":"YulFunctionCall","src":"2417:12:150"},"nodeType":"YulExpressionStatement","src":"2417:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2396:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2401:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2392:3:150"},"nodeType":"YulFunctionCall","src":"2392:16:150"},{"name":"end","nodeType":"YulIdentifier","src":"2410:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2389:2:150"},"nodeType":"YulFunctionCall","src":"2389:25:150"},"nodeType":"YulIf","src":"2386:45:150"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2457:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2464:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2453:3:150"},"nodeType":"YulFunctionCall","src":"2453:16:150"},{"name":"src","nodeType":"YulIdentifier","src":"2471:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2476:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"2440:12:150"},"nodeType":"YulFunctionCall","src":"2440:43:150"},"nodeType":"YulExpressionStatement","src":"2440:43:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2507:5:150"},{"name":"length","nodeType":"YulIdentifier","src":"2514:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2503:3:150"},"nodeType":"YulFunctionCall","src":"2503:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"2523:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2499:3:150"},"nodeType":"YulFunctionCall","src":"2499:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"2530:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2492:6:150"},"nodeType":"YulFunctionCall","src":"2492:40:150"},"nodeType":"YulExpressionStatement","src":"2492:40:150"}]},"name":"abi_decode_available_length_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"2175:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"2180:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"2188:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2196:5:150","type":""}],"src":"2132:406:150"},{"body":{"nodeType":"YulBlock","src":"2605:1025:150","statements":[{"body":{"nodeType":"YulBlock","src":"2654:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2663:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2666:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2656:6:150"},"nodeType":"YulFunctionCall","src":"2656:12:150"},"nodeType":"YulExpressionStatement","src":"2656:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2633:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2641:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2629:3:150"},"nodeType":"YulFunctionCall","src":"2629:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"2648:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2625:3:150"},"nodeType":"YulFunctionCall","src":"2625:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2618:6:150"},"nodeType":"YulFunctionCall","src":"2618:35:150"},"nodeType":"YulIf","src":"2615:55:150"},{"nodeType":"YulVariableDeclaration","src":"2679:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2702:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2689:12:150"},"nodeType":"YulFunctionCall","src":"2689:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2683:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2718:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2728:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2722:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2741:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2808:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"2768:39:150"},"nodeType":"YulFunctionCall","src":"2768:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2752:15:150"},"nodeType":"YulFunctionCall","src":"2752:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2745:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2821:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"2834:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2825:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2853:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2858:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2846:6:150"},"nodeType":"YulFunctionCall","src":"2846:15:150"},"nodeType":"YulExpressionStatement","src":"2846:15:150"},{"nodeType":"YulAssignment","src":"2870:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2881:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2886:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2877:3:150"},"nodeType":"YulFunctionCall","src":"2877:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2870:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2898:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2920:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2932:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"2935:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2928:3:150"},"nodeType":"YulFunctionCall","src":"2928:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2916:3:150"},"nodeType":"YulFunctionCall","src":"2916:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2941:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2912:3:150"},"nodeType":"YulFunctionCall","src":"2912:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2902:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2972:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2981:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2984:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2974:6:150"},"nodeType":"YulFunctionCall","src":"2974:12:150"},"nodeType":"YulExpressionStatement","src":"2974:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2959:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"2967:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2956:2:150"},"nodeType":"YulFunctionCall","src":"2956:15:150"},"nodeType":"YulIf","src":"2953:35:150"},{"nodeType":"YulVariableDeclaration","src":"2997:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3012:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3020:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3008:3:150"},"nodeType":"YulFunctionCall","src":"3008:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3001:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3088:513:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3102:36:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3134:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3121:12:150"},"nodeType":"YulFunctionCall","src":"3121:17:150"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"3106:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3202:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3220:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3230:1:150","type":"","value":"0"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3224:2:150","type":""}]},{"expression":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3255:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"3259:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3248:6:150"},"nodeType":"YulFunctionCall","src":"3248:14:150"},"nodeType":"YulExpressionStatement","src":"3248:14:150"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"3157:11:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3178:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3182:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3174:3:150"},"nodeType":"YulFunctionCall","src":"3174:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3186:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3170:3:150"},"nodeType":"YulFunctionCall","src":"3170:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3154:2:150"},"nodeType":"YulFunctionCall","src":"3154:35:150"},"nodeType":"YulIf","src":"3151:125:150"},{"nodeType":"YulVariableDeclaration","src":"3289:34:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3303:6:150"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"3311:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3299:3:150"},"nodeType":"YulFunctionCall","src":"3299:24:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"3293:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3381:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3399:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3409:1:150","type":"","value":"0"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"3403:2:150","type":""}]},{"expression":{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"3434:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"3438:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3427:6:150"},"nodeType":"YulFunctionCall","src":"3427:14:150"},"nodeType":"YulExpressionStatement","src":"3427:14:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"3354:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"3358:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3350:3:150"},"nodeType":"YulFunctionCall","src":"3350:11:150"},{"name":"end","nodeType":"YulIdentifier","src":"3363:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3346:3:150"},"nodeType":"YulFunctionCall","src":"3346:21:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3339:6:150"},"nodeType":"YulFunctionCall","src":"3339:29:150"},"nodeType":"YulIf","src":"3336:119:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3475:3:150"},{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"3518:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"3522:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3514:3:150"},"nodeType":"YulFunctionCall","src":"3514:11:150"},{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"3544:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3548:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3540:3:150"},"nodeType":"YulFunctionCall","src":"3540:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3527:12:150"},"nodeType":"YulFunctionCall","src":"3527:25:150"},{"name":"end","nodeType":"YulIdentifier","src":"3554:3:150"}],"functionName":{"name":"abi_decode_available_length_bytes","nodeType":"YulIdentifier","src":"3480:33:150"},"nodeType":"YulFunctionCall","src":"3480:78:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3468:6:150"},"nodeType":"YulFunctionCall","src":"3468:91:150"},"nodeType":"YulExpressionStatement","src":"3468:91:150"},{"nodeType":"YulAssignment","src":"3572:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3583:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3588:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3579:3:150"},"nodeType":"YulFunctionCall","src":"3579:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3572:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3043:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"3048:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3040:2:150"},"nodeType":"YulFunctionCall","src":"3040:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3056:23:150","statements":[{"nodeType":"YulAssignment","src":"3058:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3069:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3074:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3065:3:150"},"nodeType":"YulFunctionCall","src":"3065:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3058:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3036:3:150","statements":[]},"src":"3032:569:150"},{"nodeType":"YulAssignment","src":"3610:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"3619:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3610:5:150"}]}]},"name":"abi_decode_array_bytes_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2579:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"2587:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2595:5:150","type":""}],"src":"2543:1087:150"},{"body":{"nodeType":"YulBlock","src":"3688:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"3737:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3746:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3749:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3739:6:150"},"nodeType":"YulFunctionCall","src":"3739:12:150"},"nodeType":"YulExpressionStatement","src":"3739:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3716:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3724:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3712:3:150"},"nodeType":"YulFunctionCall","src":"3712:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"3731:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3708:3:150"},"nodeType":"YulFunctionCall","src":"3708:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3701:6:150"},"nodeType":"YulFunctionCall","src":"3701:35:150"},"nodeType":"YulIf","src":"3698:55:150"},{"nodeType":"YulAssignment","src":"3762:88:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3809:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3817:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3805:3:150"},"nodeType":"YulFunctionCall","src":"3805:17:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3837:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3824:12:150"},"nodeType":"YulFunctionCall","src":"3824:20:150"},{"name":"end","nodeType":"YulIdentifier","src":"3846:3:150"}],"functionName":{"name":"abi_decode_available_length_bytes","nodeType":"YulIdentifier","src":"3771:33:150"},"nodeType":"YulFunctionCall","src":"3771:79:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3762:5:150"}]}]},"name":"abi_decode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3662:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"3670:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3678:5:150","type":""}],"src":"3635:221:150"},{"body":{"nodeType":"YulBlock","src":"4154:1150:150","statements":[{"body":{"nodeType":"YulBlock","src":"4201:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4210:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4213:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4203:6:150"},"nodeType":"YulFunctionCall","src":"4203:12:150"},"nodeType":"YulExpressionStatement","src":"4203:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4175:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4184:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4171:3:150"},"nodeType":"YulFunctionCall","src":"4171:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4196:3:150","type":"","value":"256"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4167:3:150"},"nodeType":"YulFunctionCall","src":"4167:33:150"},"nodeType":"YulIf","src":"4164:53:150"},{"nodeType":"YulVariableDeclaration","src":"4226:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4253:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4240:12:150"},"nodeType":"YulFunctionCall","src":"4240:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4230:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4272:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4290:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4294:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4286:3:150"},"nodeType":"YulFunctionCall","src":"4286:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4298:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4282:3:150"},"nodeType":"YulFunctionCall","src":"4282:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4276:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4327:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4336:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4339:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4329:6:150"},"nodeType":"YulFunctionCall","src":"4329:12:150"},"nodeType":"YulExpressionStatement","src":"4329:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4315:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4323:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4312:2:150"},"nodeType":"YulFunctionCall","src":"4312:14:150"},"nodeType":"YulIf","src":"4309:34:150"},{"nodeType":"YulAssignment","src":"4352:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4395:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"4406:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4391:3:150"},"nodeType":"YulFunctionCall","src":"4391:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4415:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"4362:28:150"},"nodeType":"YulFunctionCall","src":"4362:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4352:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4432:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4465:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4476:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4461:3:150"},"nodeType":"YulFunctionCall","src":"4461:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4448:12:150"},"nodeType":"YulFunctionCall","src":"4448:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4436:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4509:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4518:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4521:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4511:6:150"},"nodeType":"YulFunctionCall","src":"4511:12:150"},"nodeType":"YulExpressionStatement","src":"4511:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"4495:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4505:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4492:2:150"},"nodeType":"YulFunctionCall","src":"4492:16:150"},"nodeType":"YulIf","src":"4489:36:150"},{"nodeType":"YulAssignment","src":"4534:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4577:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"4588:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4573:3:150"},"nodeType":"YulFunctionCall","src":"4573:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4599:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"4544:28:150"},"nodeType":"YulFunctionCall","src":"4544:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4534:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4616:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4649:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4660:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4645:3:150"},"nodeType":"YulFunctionCall","src":"4645:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4632:12:150"},"nodeType":"YulFunctionCall","src":"4632:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"4620:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4693:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4702:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4705:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4695:6:150"},"nodeType":"YulFunctionCall","src":"4695:12:150"},"nodeType":"YulExpressionStatement","src":"4695:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"4679:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4689:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4676:2:150"},"nodeType":"YulFunctionCall","src":"4676:16:150"},"nodeType":"YulIf","src":"4673:36:150"},{"nodeType":"YulAssignment","src":"4718:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4759:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"4770:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4755:3:150"},"nodeType":"YulFunctionCall","src":"4755:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4781:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"4728:26:150"},"nodeType":"YulFunctionCall","src":"4728:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4718:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4798:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4842:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4827:3:150"},"nodeType":"YulFunctionCall","src":"4827:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4814:12:150"},"nodeType":"YulFunctionCall","src":"4814:32:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"4802:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4875:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4884:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4887:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4877:6:150"},"nodeType":"YulFunctionCall","src":"4877:12:150"},"nodeType":"YulExpressionStatement","src":"4877:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"4861:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4871:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4858:2:150"},"nodeType":"YulFunctionCall","src":"4858:16:150"},"nodeType":"YulIf","src":"4855:36:150"},{"nodeType":"YulAssignment","src":"4900:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4932:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"4943:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4928:3:150"},"nodeType":"YulFunctionCall","src":"4928:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4954:7:150"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"4910:17:150"},"nodeType":"YulFunctionCall","src":"4910:52:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4900:6:150"}]},{"nodeType":"YulAssignment","src":"4971:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4998:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5009:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4994:3:150"},"nodeType":"YulFunctionCall","src":"4994:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4981:12:150"},"nodeType":"YulFunctionCall","src":"4981:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"4971:6:150"}]},{"nodeType":"YulAssignment","src":"5023:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5050:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5061:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5046:3:150"},"nodeType":"YulFunctionCall","src":"5046:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5033:12:150"},"nodeType":"YulFunctionCall","src":"5033:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"5023:6:150"}]},{"nodeType":"YulAssignment","src":"5075:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5108:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5119:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5104:3:150"},"nodeType":"YulFunctionCall","src":"5104:19:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5085:18:150"},"nodeType":"YulFunctionCall","src":"5085:39:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"5075:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5133:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5177:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5162:3:150"},"nodeType":"YulFunctionCall","src":"5162:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5149:12:150"},"nodeType":"YulFunctionCall","src":"5149:33:150"},"variables":[{"name":"offset_4","nodeType":"YulTypedName","src":"5137:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5211:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5220:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5223:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5213:6:150"},"nodeType":"YulFunctionCall","src":"5213:12:150"},"nodeType":"YulExpressionStatement","src":"5213:12:150"}]},"condition":{"arguments":[{"name":"offset_4","nodeType":"YulIdentifier","src":"5197:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5207:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5194:2:150"},"nodeType":"YulFunctionCall","src":"5194:16:150"},"nodeType":"YulIf","src":"5191:36:150"},{"nodeType":"YulAssignment","src":"5236:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5268:9:150"},{"name":"offset_4","nodeType":"YulIdentifier","src":"5279:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5264:3:150"},"nodeType":"YulFunctionCall","src":"5264:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5290:7:150"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5246:17:150"},"nodeType":"YulFunctionCall","src":"5246:52:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"5236:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4064:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4075:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4087:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4095:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4103:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4111:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4119:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4127:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"4135:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"4143:6:150","type":""}],"src":"3861:1443:150"},{"body":{"nodeType":"YulBlock","src":"5418:76:150","statements":[{"nodeType":"YulAssignment","src":"5428:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5440:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5451:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5436:3:150"},"nodeType":"YulFunctionCall","src":"5436:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5428:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5470:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"5481:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5463:6:150"},"nodeType":"YulFunctionCall","src":"5463:25:150"},"nodeType":"YulExpressionStatement","src":"5463:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5387:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5398:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5409:4:150","type":""}],"src":"5309:185:150"},{"body":{"nodeType":"YulBlock","src":"5721:750:150","statements":[{"body":{"nodeType":"YulBlock","src":"5768:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5777:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5780:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5770:6:150"},"nodeType":"YulFunctionCall","src":"5770:12:150"},"nodeType":"YulExpressionStatement","src":"5770:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5742:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5751:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5738:3:150"},"nodeType":"YulFunctionCall","src":"5738:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5763:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5734:3:150"},"nodeType":"YulFunctionCall","src":"5734:33:150"},"nodeType":"YulIf","src":"5731:53:150"},{"nodeType":"YulAssignment","src":"5793:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5822:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5803:18:150"},"nodeType":"YulFunctionCall","src":"5803:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5793:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5841:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5872:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5883:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5868:3:150"},"nodeType":"YulFunctionCall","src":"5868:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5855:12:150"},"nodeType":"YulFunctionCall","src":"5855:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5845:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5896:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5914:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5918:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5910:3:150"},"nodeType":"YulFunctionCall","src":"5910:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5922:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5906:3:150"},"nodeType":"YulFunctionCall","src":"5906:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5900:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5951:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5960:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5963:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5953:6:150"},"nodeType":"YulFunctionCall","src":"5953:12:150"},"nodeType":"YulExpressionStatement","src":"5953:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5939:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5947:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5936:2:150"},"nodeType":"YulFunctionCall","src":"5936:14:150"},"nodeType":"YulIf","src":"5933:34:150"},{"nodeType":"YulAssignment","src":"5976:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6019:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6030:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6015:3:150"},"nodeType":"YulFunctionCall","src":"6015:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6039:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"5986:28:150"},"nodeType":"YulFunctionCall","src":"5986:61:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5976:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6056:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6089:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6100:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6085:3:150"},"nodeType":"YulFunctionCall","src":"6085:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6072:12:150"},"nodeType":"YulFunctionCall","src":"6072:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"6060:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6133:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6142:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6145:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6135:6:150"},"nodeType":"YulFunctionCall","src":"6135:12:150"},"nodeType":"YulExpressionStatement","src":"6135:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"6119:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6129:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6116:2:150"},"nodeType":"YulFunctionCall","src":"6116:16:150"},"nodeType":"YulIf","src":"6113:36:150"},{"nodeType":"YulAssignment","src":"6158:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6201:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"6212:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6197:3:150"},"nodeType":"YulFunctionCall","src":"6197:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6223:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"6168:28:150"},"nodeType":"YulFunctionCall","src":"6168:63:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6158:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6240:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6273:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6284:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6269:3:150"},"nodeType":"YulFunctionCall","src":"6269:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6256:12:150"},"nodeType":"YulFunctionCall","src":"6256:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"6244:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6317:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6326:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6329:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6319:6:150"},"nodeType":"YulFunctionCall","src":"6319:12:150"},"nodeType":"YulExpressionStatement","src":"6319:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"6303:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6313:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6300:2:150"},"nodeType":"YulFunctionCall","src":"6300:16:150"},"nodeType":"YulIf","src":"6297:36:150"},{"nodeType":"YulAssignment","src":"6342:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6383:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"6394:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6379:3:150"},"nodeType":"YulFunctionCall","src":"6379:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6405:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"6352:26:150"},"nodeType":"YulFunctionCall","src":"6352:61:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6342:6:150"}]},{"nodeType":"YulAssignment","src":"6422:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6449:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6460:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6445:3:150"},"nodeType":"YulFunctionCall","src":"6445:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6432:12:150"},"nodeType":"YulFunctionCall","src":"6432:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"6422:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5655:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5666:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5678:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5686:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5694:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5702:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"5710:6:150","type":""}],"src":"5499:972:150"},{"body":{"nodeType":"YulBlock","src":"6546:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"6592:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6601:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6604:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6594:6:150"},"nodeType":"YulFunctionCall","src":"6594:12:150"},"nodeType":"YulExpressionStatement","src":"6594:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6567:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6576:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6563:3:150"},"nodeType":"YulFunctionCall","src":"6563:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6588:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6559:3:150"},"nodeType":"YulFunctionCall","src":"6559:32:150"},"nodeType":"YulIf","src":"6556:52:150"},{"nodeType":"YulAssignment","src":"6617:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6640:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6627:12:150"},"nodeType":"YulFunctionCall","src":"6627:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6617:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6512:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6523:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6535:6:150","type":""}],"src":"6476:180:150"},{"body":{"nodeType":"YulBlock","src":"6766:87:150","statements":[{"nodeType":"YulAssignment","src":"6776:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6788:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6799:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6784:3:150"},"nodeType":"YulFunctionCall","src":"6784:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6776:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6818:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6833:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6841:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6829:3:150"},"nodeType":"YulFunctionCall","src":"6829:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6811:6:150"},"nodeType":"YulFunctionCall","src":"6811:36:150"},"nodeType":"YulExpressionStatement","src":"6811:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6735:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6746:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6757:4:150","type":""}],"src":"6661:192:150"},{"body":{"nodeType":"YulBlock","src":"7017:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7027:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7037:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7031:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7048:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7066:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7077:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7062:3:150"},"nodeType":"YulFunctionCall","src":"7062:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"7052:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7096:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7107:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7089:6:150"},"nodeType":"YulFunctionCall","src":"7089:21:150"},"nodeType":"YulExpressionStatement","src":"7089:21:150"},{"nodeType":"YulVariableDeclaration","src":"7119:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"7130:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"7123:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7145:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7165:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7159:5:150"},"nodeType":"YulFunctionCall","src":"7159:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7149:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"7188:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"7196:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7181:6:150"},"nodeType":"YulFunctionCall","src":"7181:22:150"},"nodeType":"YulExpressionStatement","src":"7181:22:150"},{"nodeType":"YulAssignment","src":"7212:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7223:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7234:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7219:3:150"},"nodeType":"YulFunctionCall","src":"7219:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7212:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"7246:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7264:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7272:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7260:3:150"},"nodeType":"YulFunctionCall","src":"7260:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7250:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7284:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7293:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7288:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7352:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7373:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7384:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7378:5:150"},"nodeType":"YulFunctionCall","src":"7378:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7366:6:150"},"nodeType":"YulFunctionCall","src":"7366:26:150"},"nodeType":"YulExpressionStatement","src":"7366:26:150"},{"nodeType":"YulAssignment","src":"7405:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7416:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7421:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7412:3:150"},"nodeType":"YulFunctionCall","src":"7412:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7405:3:150"}]},{"nodeType":"YulAssignment","src":"7437:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7451:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7459:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7447:3:150"},"nodeType":"YulFunctionCall","src":"7447:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7437:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7314:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"7317:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7311:2:150"},"nodeType":"YulFunctionCall","src":"7311:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7325:18:150","statements":[{"nodeType":"YulAssignment","src":"7327:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7336:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"7339:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7332:3:150"},"nodeType":"YulFunctionCall","src":"7332:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7327:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"7307:3:150","statements":[]},"src":"7303:169:150"},{"nodeType":"YulAssignment","src":"7481:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"7489:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7481:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6986:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6997:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7008:4:150","type":""}],"src":"6858:640:150"},{"body":{"nodeType":"YulBlock","src":"7752:918:150","statements":[{"body":{"nodeType":"YulBlock","src":"7799:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7808:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7811:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7801:6:150"},"nodeType":"YulFunctionCall","src":"7801:12:150"},"nodeType":"YulExpressionStatement","src":"7801:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7773:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7782:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7769:3:150"},"nodeType":"YulFunctionCall","src":"7769:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7794:3:150","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7765:3:150"},"nodeType":"YulFunctionCall","src":"7765:33:150"},"nodeType":"YulIf","src":"7762:53:150"},{"nodeType":"YulVariableDeclaration","src":"7824:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7851:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7838:12:150"},"nodeType":"YulFunctionCall","src":"7838:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7828:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7870:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7888:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7892:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7884:3:150"},"nodeType":"YulFunctionCall","src":"7884:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7896:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7880:3:150"},"nodeType":"YulFunctionCall","src":"7880:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7874:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7925:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7934:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7937:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7927:6:150"},"nodeType":"YulFunctionCall","src":"7927:12:150"},"nodeType":"YulExpressionStatement","src":"7927:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7913:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7921:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7910:2:150"},"nodeType":"YulFunctionCall","src":"7910:14:150"},"nodeType":"YulIf","src":"7907:34:150"},{"nodeType":"YulAssignment","src":"7950:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7993:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"8004:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7989:3:150"},"nodeType":"YulFunctionCall","src":"7989:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8013:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"7960:28:150"},"nodeType":"YulFunctionCall","src":"7960:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7950:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8030:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8063:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8074:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8059:3:150"},"nodeType":"YulFunctionCall","src":"8059:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8046:12:150"},"nodeType":"YulFunctionCall","src":"8046:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"8034:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8107:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8116:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8119:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8109:6:150"},"nodeType":"YulFunctionCall","src":"8109:12:150"},"nodeType":"YulExpressionStatement","src":"8109:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"8093:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8103:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8090:2:150"},"nodeType":"YulFunctionCall","src":"8090:16:150"},"nodeType":"YulIf","src":"8087:36:150"},{"nodeType":"YulAssignment","src":"8132:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8175:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"8186:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8171:3:150"},"nodeType":"YulFunctionCall","src":"8171:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8197:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"8142:28:150"},"nodeType":"YulFunctionCall","src":"8142:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8132:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8214:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8247:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8258:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8243:3:150"},"nodeType":"YulFunctionCall","src":"8243:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8230:12:150"},"nodeType":"YulFunctionCall","src":"8230:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"8218:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8291:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8300:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8303:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8293:6:150"},"nodeType":"YulFunctionCall","src":"8293:12:150"},"nodeType":"YulExpressionStatement","src":"8293:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"8277:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8287:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8274:2:150"},"nodeType":"YulFunctionCall","src":"8274:16:150"},"nodeType":"YulIf","src":"8271:36:150"},{"nodeType":"YulAssignment","src":"8316:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8357:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"8368:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8353:3:150"},"nodeType":"YulFunctionCall","src":"8353:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8379:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"8326:26:150"},"nodeType":"YulFunctionCall","src":"8326:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8316:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8396:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8429:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8440:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8425:3:150"},"nodeType":"YulFunctionCall","src":"8425:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8412:12:150"},"nodeType":"YulFunctionCall","src":"8412:32:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"8400:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8473:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8482:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8485:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8475:6:150"},"nodeType":"YulFunctionCall","src":"8475:12:150"},"nodeType":"YulExpressionStatement","src":"8475:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"8459:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8469:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8456:2:150"},"nodeType":"YulFunctionCall","src":"8456:16:150"},"nodeType":"YulIf","src":"8453:36:150"},{"nodeType":"YulAssignment","src":"8498:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8530:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"8541:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8526:3:150"},"nodeType":"YulFunctionCall","src":"8526:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8552:7:150"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"8508:17:150"},"nodeType":"YulFunctionCall","src":"8508:52:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"8498:6:150"}]},{"nodeType":"YulAssignment","src":"8569:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8596:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8607:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8592:3:150"},"nodeType":"YulFunctionCall","src":"8592:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8579:12:150"},"nodeType":"YulFunctionCall","src":"8579:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"8569:6:150"}]},{"nodeType":"YulAssignment","src":"8621:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8648:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8659:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8644:3:150"},"nodeType":"YulFunctionCall","src":"8644:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8631:12:150"},"nodeType":"YulFunctionCall","src":"8631:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"8621:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7678:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7689:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7701:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7709:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7717:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7725:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7733:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"7741:6:150","type":""}],"src":"7503:1167:150"},{"body":{"nodeType":"YulBlock","src":"8778:92:150","statements":[{"nodeType":"YulAssignment","src":"8788:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8800:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8811:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8796:3:150"},"nodeType":"YulFunctionCall","src":"8796:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8788:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8830:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8855:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8848:6:150"},"nodeType":"YulFunctionCall","src":"8848:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8841:6:150"},"nodeType":"YulFunctionCall","src":"8841:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8823:6:150"},"nodeType":"YulFunctionCall","src":"8823:41:150"},"nodeType":"YulExpressionStatement","src":"8823:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8747:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8758:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8769:4:150","type":""}],"src":"8675:195:150"},{"body":{"nodeType":"YulBlock","src":"8917:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"8971:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8980:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8983:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8973:6:150"},"nodeType":"YulFunctionCall","src":"8973:12:150"},"nodeType":"YulExpressionStatement","src":"8973:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8940:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8961:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8954:6:150"},"nodeType":"YulFunctionCall","src":"8954:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8947:6:150"},"nodeType":"YulFunctionCall","src":"8947:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"8937:2:150"},"nodeType":"YulFunctionCall","src":"8937:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8930:6:150"},"nodeType":"YulFunctionCall","src":"8930:40:150"},"nodeType":"YulIf","src":"8927:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8906:5:150","type":""}],"src":"8875:118:150"},{"body":{"nodeType":"YulBlock","src":"9044:82:150","statements":[{"nodeType":"YulAssignment","src":"9054:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9076:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9063:12:150"},"nodeType":"YulFunctionCall","src":"9063:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"9054:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9114:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"9092:21:150"},"nodeType":"YulFunctionCall","src":"9092:28:150"},"nodeType":"YulExpressionStatement","src":"9092:28:150"}]},"name":"abi_decode_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"9023:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"9034:5:150","type":""}],"src":"8998:128:150"},{"body":{"nodeType":"YulBlock","src":"9394:979:150","statements":[{"body":{"nodeType":"YulBlock","src":"9441:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9450:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9453:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9443:6:150"},"nodeType":"YulFunctionCall","src":"9443:12:150"},"nodeType":"YulExpressionStatement","src":"9443:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9415:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9424:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9411:3:150"},"nodeType":"YulFunctionCall","src":"9411:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9436:3:150","type":"","value":"224"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9407:3:150"},"nodeType":"YulFunctionCall","src":"9407:33:150"},"nodeType":"YulIf","src":"9404:53:150"},{"nodeType":"YulAssignment","src":"9466:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9495:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9476:18:150"},"nodeType":"YulFunctionCall","src":"9476:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9466:6:150"}]},{"nodeType":"YulAssignment","src":"9514:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9555:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9540:3:150"},"nodeType":"YulFunctionCall","src":"9540:18:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"9524:15:150"},"nodeType":"YulFunctionCall","src":"9524:35:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9514:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9568:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9599:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9610:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9595:3:150"},"nodeType":"YulFunctionCall","src":"9595:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9582:12:150"},"nodeType":"YulFunctionCall","src":"9582:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9572:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9623:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9641:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9645:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9637:3:150"},"nodeType":"YulFunctionCall","src":"9637:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9649:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9633:3:150"},"nodeType":"YulFunctionCall","src":"9633:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9627:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9678:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9687:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9690:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9680:6:150"},"nodeType":"YulFunctionCall","src":"9680:12:150"},"nodeType":"YulExpressionStatement","src":"9680:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9666:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9674:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9663:2:150"},"nodeType":"YulFunctionCall","src":"9663:14:150"},"nodeType":"YulIf","src":"9660:34:150"},{"nodeType":"YulAssignment","src":"9703:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9746:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9757:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9742:3:150"},"nodeType":"YulFunctionCall","src":"9742:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9766:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"9713:28:150"},"nodeType":"YulFunctionCall","src":"9713:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9703:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9783:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9816:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9827:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9812:3:150"},"nodeType":"YulFunctionCall","src":"9812:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9799:12:150"},"nodeType":"YulFunctionCall","src":"9799:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"9787:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9860:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9869:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9872:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9862:6:150"},"nodeType":"YulFunctionCall","src":"9862:12:150"},"nodeType":"YulExpressionStatement","src":"9862:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"9846:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9856:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9843:2:150"},"nodeType":"YulFunctionCall","src":"9843:16:150"},"nodeType":"YulIf","src":"9840:36:150"},{"nodeType":"YulAssignment","src":"9885:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9928:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9939:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9924:3:150"},"nodeType":"YulFunctionCall","src":"9924:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9950:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"9895:28:150"},"nodeType":"YulFunctionCall","src":"9895:63:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"9885:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9967:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10000:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10011:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9996:3:150"},"nodeType":"YulFunctionCall","src":"9996:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9983:12:150"},"nodeType":"YulFunctionCall","src":"9983:33:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"9971:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10045:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10054:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10057:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10047:6:150"},"nodeType":"YulFunctionCall","src":"10047:12:150"},"nodeType":"YulExpressionStatement","src":"10047:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"10031:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10041:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10028:2:150"},"nodeType":"YulFunctionCall","src":"10028:16:150"},"nodeType":"YulIf","src":"10025:36:150"},{"nodeType":"YulAssignment","src":"10070:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10111:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"10122:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10107:3:150"},"nodeType":"YulFunctionCall","src":"10107:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10133:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"10080:26:150"},"nodeType":"YulFunctionCall","src":"10080:61:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"10070:6:150"}]},{"nodeType":"YulAssignment","src":"10150:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10177:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10188:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10173:3:150"},"nodeType":"YulFunctionCall","src":"10173:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10160:12:150"},"nodeType":"YulFunctionCall","src":"10160:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"10150:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10202:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10235:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10246:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10231:3:150"},"nodeType":"YulFunctionCall","src":"10231:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10218:12:150"},"nodeType":"YulFunctionCall","src":"10218:33:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"10206:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10280:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10289:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10292:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10282:6:150"},"nodeType":"YulFunctionCall","src":"10282:12:150"},"nodeType":"YulExpressionStatement","src":"10282:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"10266:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10276:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10263:2:150"},"nodeType":"YulFunctionCall","src":"10263:16:150"},"nodeType":"YulIf","src":"10260:36:150"},{"nodeType":"YulAssignment","src":"10305:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10337:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"10348:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10333:3:150"},"nodeType":"YulFunctionCall","src":"10333:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10359:7:150"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"10315:17:150"},"nodeType":"YulFunctionCall","src":"10315:52:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"10305:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_boolt_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9312:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9323:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9335:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9343:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9351:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9359:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"9367:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"9375:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"9383:6:150","type":""}],"src":"9131:1242:150"},{"body":{"nodeType":"YulBlock","src":"10428:373:150","statements":[{"nodeType":"YulVariableDeclaration","src":"10438:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10458:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10452:5:150"},"nodeType":"YulFunctionCall","src":"10452:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10442:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10480:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"10485:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10473:6:150"},"nodeType":"YulFunctionCall","src":"10473:19:150"},"nodeType":"YulExpressionStatement","src":"10473:19:150"},{"nodeType":"YulVariableDeclaration","src":"10501:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10510:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"10505:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10572:110:150","statements":[{"nodeType":"YulVariableDeclaration","src":"10586:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10596:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"10590:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10628:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"10633:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10624:3:150"},"nodeType":"YulFunctionCall","src":"10624:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10637:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10620:3:150"},"nodeType":"YulFunctionCall","src":"10620:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10656:5:150"},{"name":"i","nodeType":"YulIdentifier","src":"10663:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10652:3:150"},"nodeType":"YulFunctionCall","src":"10652:13:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10667:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10648:3:150"},"nodeType":"YulFunctionCall","src":"10648:22:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10642:5:150"},"nodeType":"YulFunctionCall","src":"10642:29:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10613:6:150"},"nodeType":"YulFunctionCall","src":"10613:59:150"},"nodeType":"YulExpressionStatement","src":"10613:59:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"10531:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"10534:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10528:2:150"},"nodeType":"YulFunctionCall","src":"10528:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"10542:21:150","statements":[{"nodeType":"YulAssignment","src":"10544:17:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"10553:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"10556:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10549:3:150"},"nodeType":"YulFunctionCall","src":"10549:12:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"10544:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"10524:3:150","statements":[]},"src":"10520:162:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10706:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"10711:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10702:3:150"},"nodeType":"YulFunctionCall","src":"10702:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"10720:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10698:3:150"},"nodeType":"YulFunctionCall","src":"10698:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"10727:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10691:6:150"},"nodeType":"YulFunctionCall","src":"10691:38:150"},"nodeType":"YulExpressionStatement","src":"10691:38:150"},{"nodeType":"YulAssignment","src":"10738:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10753:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10766:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10774:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10762:3:150"},"nodeType":"YulFunctionCall","src":"10762:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10783:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10779:3:150"},"nodeType":"YulFunctionCall","src":"10779:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10758:3:150"},"nodeType":"YulFunctionCall","src":"10758:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10749:3:150"},"nodeType":"YulFunctionCall","src":"10749:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"10790:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10745:3:150"},"nodeType":"YulFunctionCall","src":"10745:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10738:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10405:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10412:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10420:3:150","type":""}],"src":"10378:423:150"},{"body":{"nodeType":"YulBlock","src":"10865:507:150","statements":[{"nodeType":"YulVariableDeclaration","src":"10875:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10895:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10889:5:150"},"nodeType":"YulFunctionCall","src":"10889:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10879:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10917:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"10922:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10910:6:150"},"nodeType":"YulFunctionCall","src":"10910:19:150"},"nodeType":"YulExpressionStatement","src":"10910:19:150"},{"nodeType":"YulVariableDeclaration","src":"10938:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10948:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"10942:2:150","type":""}]},{"nodeType":"YulAssignment","src":"10961:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10972:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10977:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10968:3:150"},"nodeType":"YulFunctionCall","src":"10968:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10961:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"10989:16:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"11002:3:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"10993:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11014:36:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11030:3:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11039:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"11042:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11035:3:150"},"nodeType":"YulFunctionCall","src":"11035:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11026:3:150"},"nodeType":"YulFunctionCall","src":"11026:24:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"11018:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11059:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11077:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11084:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11073:3:150"},"nodeType":"YulFunctionCall","src":"11073:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"11063:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11096:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11105:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"11100:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11164:182:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11185:3:150"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11194:4:150"},{"name":"pos_1","nodeType":"YulIdentifier","src":"11200:5:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11190:3:150"},"nodeType":"YulFunctionCall","src":"11190:16:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11178:6:150"},"nodeType":"YulFunctionCall","src":"11178:29:150"},"nodeType":"YulExpressionStatement","src":"11178:29:150"},{"nodeType":"YulAssignment","src":"11220:46:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11252:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11246:5:150"},"nodeType":"YulFunctionCall","src":"11246:13:150"},{"name":"tail","nodeType":"YulIdentifier","src":"11261:4:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"11228:17:150"},"nodeType":"YulFunctionCall","src":"11228:38:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11220:4:150"}]},{"nodeType":"YulAssignment","src":"11279:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11293:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11301:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11289:3:150"},"nodeType":"YulFunctionCall","src":"11289:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11279:6:150"}]},{"nodeType":"YulAssignment","src":"11317:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11328:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11333:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11324:3:150"},"nodeType":"YulFunctionCall","src":"11324:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11317:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11126:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"11129:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11123:2:150"},"nodeType":"YulFunctionCall","src":"11123:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11137:18:150","statements":[{"nodeType":"YulAssignment","src":"11139:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11148:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"11151:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11144:3:150"},"nodeType":"YulFunctionCall","src":"11144:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"11139:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"11119:3:150","statements":[]},"src":"11115:231:150"},{"nodeType":"YulAssignment","src":"11355:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"11362:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11355:3:150"}]}]},"name":"abi_encode_array_bytes_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10842:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10849:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10857:3:150","type":""}],"src":"10806:566:150"},{"body":{"nodeType":"YulBlock","src":"11678:411:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11695:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11706:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11688:6:150"},"nodeType":"YulFunctionCall","src":"11688:22:150"},"nodeType":"YulExpressionStatement","src":"11688:22:150"},{"nodeType":"YulVariableDeclaration","src":"11719:60:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11751:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11763:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11774:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11759:3:150"},"nodeType":"YulFunctionCall","src":"11759:19:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"11733:17:150"},"nodeType":"YulFunctionCall","src":"11733:46:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"11723:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11799:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11810:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11795:3:150"},"nodeType":"YulFunctionCall","src":"11795:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"11815:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11788:6:150"},"nodeType":"YulFunctionCall","src":"11788:34:150"},"nodeType":"YulExpressionStatement","src":"11788:34:150"},{"nodeType":"YulVariableDeclaration","src":"11831:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11849:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11854:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11845:3:150"},"nodeType":"YulFunctionCall","src":"11845:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11858:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11841:3:150"},"nodeType":"YulFunctionCall","src":"11841:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11835:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11880:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11891:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11876:3:150"},"nodeType":"YulFunctionCall","src":"11876:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"11900:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11908:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11896:3:150"},"nodeType":"YulFunctionCall","src":"11896:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11869:6:150"},"nodeType":"YulFunctionCall","src":"11869:43:150"},"nodeType":"YulExpressionStatement","src":"11869:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11932:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11943:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11928:3:150"},"nodeType":"YulFunctionCall","src":"11928:18:150"},{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"11952:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11960:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11948:3:150"},"nodeType":"YulFunctionCall","src":"11948:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11921:6:150"},"nodeType":"YulFunctionCall","src":"11921:43:150"},"nodeType":"YulExpressionStatement","src":"11921:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11984:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11995:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11980:3:150"},"nodeType":"YulFunctionCall","src":"11980:19:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"12005:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12013:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12001:3:150"},"nodeType":"YulFunctionCall","src":"12001:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11973:6:150"},"nodeType":"YulFunctionCall","src":"11973:51:150"},"nodeType":"YulExpressionStatement","src":"11973:51:150"},{"nodeType":"YulAssignment","src":"12033:50:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"12068:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"12076:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"12041:26:150"},"nodeType":"YulFunctionCall","src":"12041:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12033:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11615:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"11626:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11634:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11642:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11650:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11658:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11669:4:150","type":""}],"src":"11377:712:150"},{"body":{"nodeType":"YulBlock","src":"12222:140:150","statements":[{"nodeType":"YulAssignment","src":"12232:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12244:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12255:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12240:3:150"},"nodeType":"YulFunctionCall","src":"12240:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12232:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12274:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12285:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12267:6:150"},"nodeType":"YulFunctionCall","src":"12267:25:150"},"nodeType":"YulExpressionStatement","src":"12267:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12312:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12323:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12308:3:150"},"nodeType":"YulFunctionCall","src":"12308:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"12332:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12340:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12328:3:150"},"nodeType":"YulFunctionCall","src":"12328:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12301:6:150"},"nodeType":"YulFunctionCall","src":"12301:55:150"},"nodeType":"YulExpressionStatement","src":"12301:55:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12183:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12194:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12202:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12213:4:150","type":""}],"src":"12094:268:150"},{"body":{"nodeType":"YulBlock","src":"12399:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12416:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12423:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12428:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12419:3:150"},"nodeType":"YulFunctionCall","src":"12419:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12409:6:150"},"nodeType":"YulFunctionCall","src":"12409:31:150"},"nodeType":"YulExpressionStatement","src":"12409:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12456:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12459:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12449:6:150"},"nodeType":"YulFunctionCall","src":"12449:15:150"},"nodeType":"YulExpressionStatement","src":"12449:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12480:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12483:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12473:6:150"},"nodeType":"YulFunctionCall","src":"12473:15:150"},"nodeType":"YulExpressionStatement","src":"12473:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"12367:127:150"},{"body":{"nodeType":"YulBlock","src":"12553:89:150","statements":[{"body":{"nodeType":"YulBlock","src":"12587:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"12589:16:150"},"nodeType":"YulFunctionCall","src":"12589:18:150"},"nodeType":"YulExpressionStatement","src":"12589:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12576:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"12583:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12573:2:150"},"nodeType":"YulFunctionCall","src":"12573:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12566:6:150"},"nodeType":"YulFunctionCall","src":"12566:20:150"},"nodeType":"YulIf","src":"12563:46:150"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12625:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"12630:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12618:6:150"},"nodeType":"YulFunctionCall","src":"12618:18:150"},"nodeType":"YulExpressionStatement","src":"12618:18:150"}]},"name":"abi_encode_enum_ProposalType","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12537:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12544:3:150","type":""}],"src":"12499:143:150"},{"body":{"nodeType":"YulBlock","src":"12792:141:150","statements":[{"nodeType":"YulAssignment","src":"12802:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12814:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12825:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12810:3:150"},"nodeType":"YulFunctionCall","src":"12810:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12802:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12844:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12855:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12837:6:150"},"nodeType":"YulFunctionCall","src":"12837:25:150"},"nodeType":"YulExpressionStatement","src":"12837:25:150"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"12900:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12912:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12923:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12908:3:150"},"nodeType":"YulFunctionCall","src":"12908:18:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"12871:28:150"},"nodeType":"YulFunctionCall","src":"12871:56:150"},"nodeType":"YulExpressionStatement","src":"12871:56:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$25017__to_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12753:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12764:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12772:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12783:4:150","type":""}],"src":"12647:286:150"},{"body":{"nodeType":"YulBlock","src":"13039:76:150","statements":[{"nodeType":"YulAssignment","src":"13049:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13061:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13072:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13057:3:150"},"nodeType":"YulFunctionCall","src":"13057:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13049:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13091:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"13102:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13084:6:150"},"nodeType":"YulFunctionCall","src":"13084:25:150"},"nodeType":"YulExpressionStatement","src":"13084:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13008:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13019:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13030:4:150","type":""}],"src":"12938:177:150"},{"body":{"nodeType":"YulBlock","src":"13201:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"13247:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13256:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13259:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13249:6:150"},"nodeType":"YulFunctionCall","src":"13249:12:150"},"nodeType":"YulExpressionStatement","src":"13249:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13222:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13231:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13218:3:150"},"nodeType":"YulFunctionCall","src":"13218:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13243:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13214:3:150"},"nodeType":"YulFunctionCall","src":"13214:32:150"},"nodeType":"YulIf","src":"13211:52:150"},{"nodeType":"YulAssignment","src":"13272:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13288:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13282:5:150"},"nodeType":"YulFunctionCall","src":"13282:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13272:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13167:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13178:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13190:6:150","type":""}],"src":"13120:184:150"},{"body":{"nodeType":"YulBlock","src":"13341:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13358:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13365:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13370:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13361:3:150"},"nodeType":"YulFunctionCall","src":"13361:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13351:6:150"},"nodeType":"YulFunctionCall","src":"13351:31:150"},"nodeType":"YulExpressionStatement","src":"13351:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13398:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13401:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13391:6:150"},"nodeType":"YulFunctionCall","src":"13391:15:150"},"nodeType":"YulExpressionStatement","src":"13391:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13422:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13425:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13415:6:150"},"nodeType":"YulFunctionCall","src":"13415:15:150"},"nodeType":"YulExpressionStatement","src":"13415:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"13309:127:150"},{"body":{"nodeType":"YulBlock","src":"13473:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13490:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13497:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13502:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13493:3:150"},"nodeType":"YulFunctionCall","src":"13493:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13483:6:150"},"nodeType":"YulFunctionCall","src":"13483:31:150"},"nodeType":"YulExpressionStatement","src":"13483:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13530:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13533:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13523:6:150"},"nodeType":"YulFunctionCall","src":"13523:15:150"},"nodeType":"YulExpressionStatement","src":"13523:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13554:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13557:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13547:6:150"},"nodeType":"YulFunctionCall","src":"13547:15:150"},"nodeType":"YulExpressionStatement","src":"13547:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"13441:127:150"},{"body":{"nodeType":"YulBlock","src":"13620:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"13651:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13653:16:150"},"nodeType":"YulFunctionCall","src":"13653:18:150"},"nodeType":"YulExpressionStatement","src":"13653:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13636:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13647:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"13643:3:150"},"nodeType":"YulFunctionCall","src":"13643:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13633:2:150"},"nodeType":"YulFunctionCall","src":"13633:17:150"},"nodeType":"YulIf","src":"13630:43:150"},{"nodeType":"YulAssignment","src":"13682:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13693:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"13700:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13689:3:150"},"nodeType":"YulFunctionCall","src":"13689:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"13682:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13602:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"13612:3:150","type":""}],"src":"13573:135:150"},{"body":{"nodeType":"YulBlock","src":"13814:102:150","statements":[{"nodeType":"YulAssignment","src":"13824:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13836:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13847:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13832:3:150"},"nodeType":"YulFunctionCall","src":"13832:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13824:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13866:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13881:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13897:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"13902:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13893:3:150"},"nodeType":"YulFunctionCall","src":"13893:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"13906:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13889:3:150"},"nodeType":"YulFunctionCall","src":"13889:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13877:3:150"},"nodeType":"YulFunctionCall","src":"13877:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13859:6:150"},"nodeType":"YulFunctionCall","src":"13859:51:150"},"nodeType":"YulExpressionStatement","src":"13859:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13783:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13794:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13805:4:150","type":""}],"src":"13713:203:150"},{"body":{"nodeType":"YulBlock","src":"13967:102:150","statements":[{"nodeType":"YulAssignment","src":"13977:38:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13992:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"13995:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13988:3:150"},"nodeType":"YulFunctionCall","src":"13988:12:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"14006:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"14009:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14002:3:150"},"nodeType":"YulFunctionCall","src":"14002:12:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13984:3:150"},"nodeType":"YulFunctionCall","src":"13984:31:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"13977:3:150"}]},{"body":{"nodeType":"YulBlock","src":"14041:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14043:16:150"},"nodeType":"YulFunctionCall","src":"14043:18:150"},"nodeType":"YulExpressionStatement","src":"14043:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"14030:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"14035:4:150","type":"","value":"0xff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14027:2:150"},"nodeType":"YulFunctionCall","src":"14027:13:150"},"nodeType":"YulIf","src":"14024:39:150"}]},"name":"checked_add_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13950:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"13953:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"13959:3:150","type":""}],"src":"13921:148:150"},{"body":{"nodeType":"YulBlock","src":"14138:358:150","statements":[{"nodeType":"YulVariableDeclaration","src":"14148:16:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14163:1:150","type":"","value":"1"},"variables":[{"name":"power_1","nodeType":"YulTypedName","src":"14152:7:150","type":""}]},{"nodeType":"YulAssignment","src":"14173:16:150","value":{"name":"power_1","nodeType":"YulIdentifier","src":"14182:7:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14173:5:150"}]},{"nodeType":"YulAssignment","src":"14198:13:150","value":{"name":"_base","nodeType":"YulIdentifier","src":"14206:5:150"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"14198:4:150"}]},{"body":{"nodeType":"YulBlock","src":"14262:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"14307:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14309:16:150"},"nodeType":"YulFunctionCall","src":"14309:18:150"},"nodeType":"YulExpressionStatement","src":"14309:18:150"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14282:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14296:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14292:3:150"},"nodeType":"YulFunctionCall","src":"14292:6:150"},{"name":"base","nodeType":"YulIdentifier","src":"14300:4:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"14288:3:150"},"nodeType":"YulFunctionCall","src":"14288:17:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14279:2:150"},"nodeType":"YulFunctionCall","src":"14279:27:150"},"nodeType":"YulIf","src":"14276:53:150"},{"body":{"nodeType":"YulBlock","src":"14368:29:150","statements":[{"nodeType":"YulAssignment","src":"14370:25:150","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"14383:5:150"},{"name":"base","nodeType":"YulIdentifier","src":"14390:4:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"14379:3:150"},"nodeType":"YulFunctionCall","src":"14379:16:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14370:5:150"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14349:8:150"},{"name":"power_1","nodeType":"YulIdentifier","src":"14359:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14345:3:150"},"nodeType":"YulFunctionCall","src":"14345:22:150"},"nodeType":"YulIf","src":"14342:55:150"},{"nodeType":"YulAssignment","src":"14410:23:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14422:4:150"},{"name":"base","nodeType":"YulIdentifier","src":"14428:4:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"14418:3:150"},"nodeType":"YulFunctionCall","src":"14418:15:150"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"14410:4:150"}]},{"nodeType":"YulAssignment","src":"14446:34:150","value":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"14462:7:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"14471:8:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"14458:3:150"},"nodeType":"YulFunctionCall","src":"14458:22:150"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"14446:8:150"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14231:8:150"},{"name":"power_1","nodeType":"YulIdentifier","src":"14241:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14228:2:150"},"nodeType":"YulFunctionCall","src":"14228:21:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"14250:3:150","statements":[]},"pre":{"nodeType":"YulBlock","src":"14224:3:150","statements":[]},"src":"14220:270:150"}]},"name":"checked_exp_helper","nodeType":"YulFunctionDefinition","parameters":[{"name":"_base","nodeType":"YulTypedName","src":"14102:5:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"14109:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"14122:5:150","type":""},{"name":"base","nodeType":"YulTypedName","src":"14129:4:150","type":""}],"src":"14074:422:150"},{"body":{"nodeType":"YulBlock","src":"14560:747:150","statements":[{"body":{"nodeType":"YulBlock","src":"14598:52:150","statements":[{"nodeType":"YulAssignment","src":"14612:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14621:1:150","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14612:5:150"}]},{"nodeType":"YulLeave","src":"14635:5:150"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14580:8:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14573:6:150"},"nodeType":"YulFunctionCall","src":"14573:16:150"},"nodeType":"YulIf","src":"14570:80:150"},{"body":{"nodeType":"YulBlock","src":"14683:52:150","statements":[{"nodeType":"YulAssignment","src":"14697:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14706:1:150","type":"","value":"0"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14697:5:150"}]},{"nodeType":"YulLeave","src":"14720:5:150"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14669:4:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14662:6:150"},"nodeType":"YulFunctionCall","src":"14662:12:150"},"nodeType":"YulIf","src":"14659:76:150"},{"cases":[{"body":{"nodeType":"YulBlock","src":"14771:52:150","statements":[{"nodeType":"YulAssignment","src":"14785:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14794:1:150","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14785:5:150"}]},{"nodeType":"YulLeave","src":"14808:5:150"}]},"nodeType":"YulCase","src":"14764:59:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14769:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"14839:123:150","statements":[{"body":{"nodeType":"YulBlock","src":"14874:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14876:16:150"},"nodeType":"YulFunctionCall","src":"14876:18:150"},"nodeType":"YulExpressionStatement","src":"14876:18:150"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14859:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"14869:3:150","type":"","value":"255"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14856:2:150"},"nodeType":"YulFunctionCall","src":"14856:17:150"},"nodeType":"YulIf","src":"14853:43:150"},{"nodeType":"YulAssignment","src":"14909:25:150","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14922:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"14932:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14918:3:150"},"nodeType":"YulFunctionCall","src":"14918:16:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14909:5:150"}]},{"nodeType":"YulLeave","src":"14947:5:150"}]},"nodeType":"YulCase","src":"14832:130:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14837:1:150","type":"","value":"2"}}],"expression":{"name":"base","nodeType":"YulIdentifier","src":"14751:4:150"},"nodeType":"YulSwitch","src":"14744:218:150"},{"body":{"nodeType":"YulBlock","src":"15060:70:150","statements":[{"nodeType":"YulAssignment","src":"15074:28:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"15087:4:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"15093:8:150"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"15083:3:150"},"nodeType":"YulFunctionCall","src":"15083:19:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"15074:5:150"}]},{"nodeType":"YulLeave","src":"15115:5:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14984:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"14990:2:150","type":"","value":"11"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14981:2:150"},"nodeType":"YulFunctionCall","src":"14981:12:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14998:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"15008:2:150","type":"","value":"78"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14995:2:150"},"nodeType":"YulFunctionCall","src":"14995:16:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14977:3:150"},"nodeType":"YulFunctionCall","src":"14977:35:150"},{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"15021:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"15027:3:150","type":"","value":"307"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15018:2:150"},"nodeType":"YulFunctionCall","src":"15018:13:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"15036:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"15046:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15033:2:150"},"nodeType":"YulFunctionCall","src":"15033:16:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15014:3:150"},"nodeType":"YulFunctionCall","src":"15014:36:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14974:2:150"},"nodeType":"YulFunctionCall","src":"14974:77:150"},"nodeType":"YulIf","src":"14971:159:150"},{"nodeType":"YulVariableDeclaration","src":"15139:57:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"15181:4:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"15187:8:150"}],"functionName":{"name":"checked_exp_helper","nodeType":"YulIdentifier","src":"15162:18:150"},"nodeType":"YulFunctionCall","src":"15162:34:150"},"variables":[{"name":"power_1","nodeType":"YulTypedName","src":"15143:7:150","type":""},{"name":"base_1","nodeType":"YulTypedName","src":"15152:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15241:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"15243:16:150"},"nodeType":"YulFunctionCall","src":"15243:18:150"},"nodeType":"YulExpressionStatement","src":"15243:18:150"}]},"condition":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"15211:7:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15228:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15224:3:150"},"nodeType":"YulFunctionCall","src":"15224:6:150"},{"name":"base_1","nodeType":"YulIdentifier","src":"15232:6:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"15220:3:150"},"nodeType":"YulFunctionCall","src":"15220:19:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15208:2:150"},"nodeType":"YulFunctionCall","src":"15208:32:150"},"nodeType":"YulIf","src":"15205:58:150"},{"nodeType":"YulAssignment","src":"15272:29:150","value":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"15285:7:150"},{"name":"base_1","nodeType":"YulIdentifier","src":"15294:6:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"15281:3:150"},"nodeType":"YulFunctionCall","src":"15281:20:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"15272:5:150"}]}]},"name":"checked_exp_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"14531:4:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"14537:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"14550:5:150","type":""}],"src":"14501:806:150"},{"body":{"nodeType":"YulBlock","src":"15380:72:150","statements":[{"nodeType":"YulAssignment","src":"15390:56:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"15420:4:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"15430:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"15440:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15426:3:150"},"nodeType":"YulFunctionCall","src":"15426:19:150"}],"functionName":{"name":"checked_exp_unsigned","nodeType":"YulIdentifier","src":"15399:20:150"},"nodeType":"YulFunctionCall","src":"15399:47:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"15390:5:150"}]}]},"name":"checked_exp_t_uint256_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"15351:4:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"15357:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"15370:5:150","type":""}],"src":"15312:140:150"},{"body":{"nodeType":"YulBlock","src":"15506:79:150","statements":[{"nodeType":"YulAssignment","src":"15516:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15528:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"15531:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15524:3:150"},"nodeType":"YulFunctionCall","src":"15524:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"15516:4:150"}]},{"body":{"nodeType":"YulBlock","src":"15557:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"15559:16:150"},"nodeType":"YulFunctionCall","src":"15559:18:150"},"nodeType":"YulExpressionStatement","src":"15559:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"15548:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"15554:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15545:2:150"},"nodeType":"YulFunctionCall","src":"15545:11:150"},"nodeType":"YulIf","src":"15542:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"15488:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"15491:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"15497:4:150","type":""}],"src":"15457:128:150"},{"body":{"nodeType":"YulBlock","src":"15764:180:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15781:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15792:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15774:6:150"},"nodeType":"YulFunctionCall","src":"15774:21:150"},"nodeType":"YulExpressionStatement","src":"15774:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15815:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15826:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15811:3:150"},"nodeType":"YulFunctionCall","src":"15811:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15831:2:150","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15804:6:150"},"nodeType":"YulFunctionCall","src":"15804:30:150"},"nodeType":"YulExpressionStatement","src":"15804:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15854:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15865:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15850:3:150"},"nodeType":"YulFunctionCall","src":"15850:18:150"},{"hexValue":"476f7665726e6f723a2070726f706f73616c206e6f742070656e64696e67","kind":"string","nodeType":"YulLiteral","src":"15870:32:150","type":"","value":"Governor: proposal not pending"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15843:6:150"},"nodeType":"YulFunctionCall","src":"15843:60:150"},"nodeType":"YulExpressionStatement","src":"15843:60:150"},{"nodeType":"YulAssignment","src":"15912:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15924:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15935:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15920:3:150"},"nodeType":"YulFunctionCall","src":"15920:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15912:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15741:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15755:4:150","type":""}],"src":"15590:354:150"},{"body":{"nodeType":"YulBlock","src":"16050:76:150","statements":[{"nodeType":"YulAssignment","src":"16060:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16072:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16083:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16068:3:150"},"nodeType":"YulFunctionCall","src":"16068:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16060:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16102:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"16113:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16095:6:150"},"nodeType":"YulFunctionCall","src":"16095:25:150"},"nodeType":"YulExpressionStatement","src":"16095:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16019:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16030:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16041:4:150","type":""}],"src":"15949:177:150"},{"body":{"nodeType":"YulBlock","src":"16192:400:150","statements":[{"nodeType":"YulVariableDeclaration","src":"16202:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16222:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16216:5:150"},"nodeType":"YulFunctionCall","src":"16216:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"16206:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16244:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"16249:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16237:6:150"},"nodeType":"YulFunctionCall","src":"16237:19:150"},"nodeType":"YulExpressionStatement","src":"16237:19:150"},{"nodeType":"YulVariableDeclaration","src":"16265:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16275:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16269:2:150","type":""}]},{"nodeType":"YulAssignment","src":"16288:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16299:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16304:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16295:3:150"},"nodeType":"YulFunctionCall","src":"16295:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16288:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"16316:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16334:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16341:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16330:3:150"},"nodeType":"YulFunctionCall","src":"16330:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"16320:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16353:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16362:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"16357:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16421:146:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16442:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16457:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16451:5:150"},"nodeType":"YulFunctionCall","src":"16451:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16474:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"16479:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16470:3:150"},"nodeType":"YulFunctionCall","src":"16470:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16483:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16466:3:150"},"nodeType":"YulFunctionCall","src":"16466:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16447:3:150"},"nodeType":"YulFunctionCall","src":"16447:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16435:6:150"},"nodeType":"YulFunctionCall","src":"16435:52:150"},"nodeType":"YulExpressionStatement","src":"16435:52:150"},{"nodeType":"YulAssignment","src":"16500:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16511:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16516:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16507:3:150"},"nodeType":"YulFunctionCall","src":"16507:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16500:3:150"}]},{"nodeType":"YulAssignment","src":"16532:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16546:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16554:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16542:3:150"},"nodeType":"YulFunctionCall","src":"16542:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16532:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16383:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"16386:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16380:2:150"},"nodeType":"YulFunctionCall","src":"16380:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16394:18:150","statements":[{"nodeType":"YulAssignment","src":"16396:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16405:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"16408:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16401:3:150"},"nodeType":"YulFunctionCall","src":"16401:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16396:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"16376:3:150","statements":[]},"src":"16372:195:150"},{"nodeType":"YulAssignment","src":"16576:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"16583:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16576:3:150"}]}]},"name":"abi_encode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16169:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16176:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16184:3:150","type":""}],"src":"16131:461:150"},{"body":{"nodeType":"YulBlock","src":"16658:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"16668:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16688:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16682:5:150"},"nodeType":"YulFunctionCall","src":"16682:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"16672:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16710:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"16715:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16703:6:150"},"nodeType":"YulFunctionCall","src":"16703:19:150"},"nodeType":"YulExpressionStatement","src":"16703:19:150"},{"nodeType":"YulVariableDeclaration","src":"16731:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16741:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16735:2:150","type":""}]},{"nodeType":"YulAssignment","src":"16754:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16765:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16770:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16761:3:150"},"nodeType":"YulFunctionCall","src":"16761:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16754:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"16782:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16800:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16807:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16796:3:150"},"nodeType":"YulFunctionCall","src":"16796:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"16786:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16819:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16828:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"16823:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16887:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16908:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16919:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16913:5:150"},"nodeType":"YulFunctionCall","src":"16913:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16901:6:150"},"nodeType":"YulFunctionCall","src":"16901:26:150"},"nodeType":"YulExpressionStatement","src":"16901:26:150"},{"nodeType":"YulAssignment","src":"16940:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16951:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16956:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16947:3:150"},"nodeType":"YulFunctionCall","src":"16947:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16940:3:150"}]},{"nodeType":"YulAssignment","src":"16972:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16986:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16994:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16982:3:150"},"nodeType":"YulFunctionCall","src":"16982:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16972:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16849:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"16852:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16846:2:150"},"nodeType":"YulFunctionCall","src":"16846:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16860:18:150","statements":[{"nodeType":"YulAssignment","src":"16862:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16871:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"16874:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16867:3:150"},"nodeType":"YulFunctionCall","src":"16867:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16862:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"16842:3:150","statements":[]},"src":"16838:169:150"},{"nodeType":"YulAssignment","src":"17016:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"17023:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"17016:3:150"}]}]},"name":"abi_encode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16635:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16642:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16650:3:150","type":""}],"src":"16597:435:150"},{"body":{"nodeType":"YulBlock","src":"17390:405:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17407:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17418:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17400:6:150"},"nodeType":"YulFunctionCall","src":"17400:22:150"},"nodeType":"YulExpressionStatement","src":"17400:22:150"},{"nodeType":"YulVariableDeclaration","src":"17431:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17474:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17486:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17497:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17482:3:150"},"nodeType":"YulFunctionCall","src":"17482:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"17445:28:150"},"nodeType":"YulFunctionCall","src":"17445:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"17435:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17522:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17533:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17518:3:150"},"nodeType":"YulFunctionCall","src":"17518:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"17542:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17550:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17538:3:150"},"nodeType":"YulFunctionCall","src":"17538:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17511:6:150"},"nodeType":"YulFunctionCall","src":"17511:50:150"},"nodeType":"YulExpressionStatement","src":"17511:50:150"},{"nodeType":"YulVariableDeclaration","src":"17570:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17613:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"17621:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"17584:28:150"},"nodeType":"YulFunctionCall","src":"17584:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"17574:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17648:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17659:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17644:3:150"},"nodeType":"YulFunctionCall","src":"17644:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"17668:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17676:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17664:3:150"},"nodeType":"YulFunctionCall","src":"17664:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17637:6:150"},"nodeType":"YulFunctionCall","src":"17637:50:150"},"nodeType":"YulExpressionStatement","src":"17637:50:150"},{"nodeType":"YulAssignment","src":"17696:50:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17731:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"17739:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"17704:26:150"},"nodeType":"YulFunctionCall","src":"17704:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17696:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17766:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17777:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17762:3:150"},"nodeType":"YulFunctionCall","src":"17762:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"17782:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17755:6:150"},"nodeType":"YulFunctionCall","src":"17755:34:150"},"nodeType":"YulExpressionStatement","src":"17755:34:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17335:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"17346:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17354:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17362:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17370:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17381:4:150","type":""}],"src":"17037:758:150"},{"body":{"nodeType":"YulBlock","src":"17917:98:150","statements":[{"nodeType":"YulAssignment","src":"17927:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17939:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17950:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17935:3:150"},"nodeType":"YulFunctionCall","src":"17935:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17927:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17991:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17999:9:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"17962:28:150"},"nodeType":"YulFunctionCall","src":"17962:47:150"},"nodeType":"YulExpressionStatement","src":"17962:47:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$25017__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17886:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17897:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17908:4:150","type":""}],"src":"17800:215:150"},{"body":{"nodeType":"YulBlock","src":"18068:77:150","statements":[{"nodeType":"YulAssignment","src":"18078:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"18089:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"18092:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18085:3:150"},"nodeType":"YulFunctionCall","src":"18085:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"18078:3:150"}]},{"body":{"nodeType":"YulBlock","src":"18117:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18119:16:150"},"nodeType":"YulFunctionCall","src":"18119:18:150"},"nodeType":"YulExpressionStatement","src":"18119:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"18109:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"18112:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18106:2:150"},"nodeType":"YulFunctionCall","src":"18106:10:150"},"nodeType":"YulIf","src":"18103:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"18051:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"18054:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"18060:3:150","type":""}],"src":"18020:125:150"},{"body":{"nodeType":"YulBlock","src":"18307:162:150","statements":[{"nodeType":"YulAssignment","src":"18317:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18329:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18340:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18325:3:150"},"nodeType":"YulFunctionCall","src":"18325:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18317:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18359:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"18370:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18352:6:150"},"nodeType":"YulFunctionCall","src":"18352:25:150"},"nodeType":"YulExpressionStatement","src":"18352:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18397:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18408:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18393:3:150"},"nodeType":"YulFunctionCall","src":"18393:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"18413:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18386:6:150"},"nodeType":"YulFunctionCall","src":"18386:34:150"},"nodeType":"YulExpressionStatement","src":"18386:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18440:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18451:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18436:3:150"},"nodeType":"YulFunctionCall","src":"18436:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"18456:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18429:6:150"},"nodeType":"YulFunctionCall","src":"18429:34:150"},"nodeType":"YulExpressionStatement","src":"18429:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18260:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18271:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18279:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18287:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18298:4:150","type":""}],"src":"18150:319:150"},{"body":{"nodeType":"YulBlock","src":"18648:219:150","statements":[{"nodeType":"YulAssignment","src":"18658:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18670:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18681:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18666:3:150"},"nodeType":"YulFunctionCall","src":"18666:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18658:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18700:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"18711:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18693:6:150"},"nodeType":"YulFunctionCall","src":"18693:25:150"},"nodeType":"YulExpressionStatement","src":"18693:25:150"},{"body":{"nodeType":"YulBlock","src":"18753:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"18755:16:150"},"nodeType":"YulFunctionCall","src":"18755:18:150"},"nodeType":"YulExpressionStatement","src":"18755:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18740:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"18748:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18737:2:150"},"nodeType":"YulFunctionCall","src":"18737:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18730:6:150"},"nodeType":"YulFunctionCall","src":"18730:22:150"},"nodeType":"YulIf","src":"18727:48:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18795:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18806:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18791:3:150"},"nodeType":"YulFunctionCall","src":"18791:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"18811:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18784:6:150"},"nodeType":"YulFunctionCall","src":"18784:34:150"},"nodeType":"YulExpressionStatement","src":"18784:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18838:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18849:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18834:3:150"},"nodeType":"YulFunctionCall","src":"18834:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"18854:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18827:6:150"},"nodeType":"YulFunctionCall","src":"18827:34:150"},"nodeType":"YulExpressionStatement","src":"18827:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$24992_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18601:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18612:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18620:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18628:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18639:4:150","type":""}],"src":"18474:393:150"},{"body":{"nodeType":"YulBlock","src":"19261:449:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19278:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19289:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19271:6:150"},"nodeType":"YulFunctionCall","src":"19271:22:150"},"nodeType":"YulExpressionStatement","src":"19271:22:150"},{"nodeType":"YulVariableDeclaration","src":"19302:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19345:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19357:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19368:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19353:3:150"},"nodeType":"YulFunctionCall","src":"19353:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"19316:28:150"},"nodeType":"YulFunctionCall","src":"19316:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"19306:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19393:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19404:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19389:3:150"},"nodeType":"YulFunctionCall","src":"19389:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"19413:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19421:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19409:3:150"},"nodeType":"YulFunctionCall","src":"19409:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19382:6:150"},"nodeType":"YulFunctionCall","src":"19382:50:150"},"nodeType":"YulExpressionStatement","src":"19382:50:150"},{"nodeType":"YulVariableDeclaration","src":"19441:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19484:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"19492:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"19455:28:150"},"nodeType":"YulFunctionCall","src":"19455:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"19445:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19519:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19530:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19515:3:150"},"nodeType":"YulFunctionCall","src":"19515:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"19539:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19547:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19535:3:150"},"nodeType":"YulFunctionCall","src":"19535:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19508:6:150"},"nodeType":"YulFunctionCall","src":"19508:50:150"},"nodeType":"YulExpressionStatement","src":"19508:50:150"},{"nodeType":"YulAssignment","src":"19567:50:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"19602:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"19610:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"19575:26:150"},"nodeType":"YulFunctionCall","src":"19575:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19567:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19637:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19648:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19633:3:150"},"nodeType":"YulFunctionCall","src":"19633:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"19653:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19626:6:150"},"nodeType":"YulFunctionCall","src":"19626:34:150"},"nodeType":"YulExpressionStatement","src":"19626:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19680:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19691:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19676:3:150"},"nodeType":"YulFunctionCall","src":"19676:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"19697:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19669:6:150"},"nodeType":"YulFunctionCall","src":"19669:35:150"},"nodeType":"YulExpressionStatement","src":"19669:35:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19198:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"19209:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19217:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19225:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19233:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19241:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19252:4:150","type":""}],"src":"18872:838:150"},{"body":{"nodeType":"YulBlock","src":"19796:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"19842:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19851:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19854:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19844:6:150"},"nodeType":"YulFunctionCall","src":"19844:12:150"},"nodeType":"YulExpressionStatement","src":"19844:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19817:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19826:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19813:3:150"},"nodeType":"YulFunctionCall","src":"19813:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19838:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19809:3:150"},"nodeType":"YulFunctionCall","src":"19809:32:150"},"nodeType":"YulIf","src":"19806:52:150"},{"nodeType":"YulAssignment","src":"19867:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19883:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19877:5:150"},"nodeType":"YulFunctionCall","src":"19877:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19867:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19762:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19773:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19785:6:150","type":""}],"src":"19715:184:150"},{"body":{"nodeType":"YulBlock","src":"20321:493:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20338:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20349:3:150","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20331:6:150"},"nodeType":"YulFunctionCall","src":"20331:22:150"},"nodeType":"YulExpressionStatement","src":"20331:22:150"},{"nodeType":"YulVariableDeclaration","src":"20362:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20405:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20417:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20428:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20413:3:150"},"nodeType":"YulFunctionCall","src":"20413:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"20376:28:150"},"nodeType":"YulFunctionCall","src":"20376:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"20366:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20453:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20464:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20449:3:150"},"nodeType":"YulFunctionCall","src":"20449:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"20473:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20481:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20469:3:150"},"nodeType":"YulFunctionCall","src":"20469:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20442:6:150"},"nodeType":"YulFunctionCall","src":"20442:50:150"},"nodeType":"YulExpressionStatement","src":"20442:50:150"},{"nodeType":"YulVariableDeclaration","src":"20501:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20544:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"20552:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"20515:28:150"},"nodeType":"YulFunctionCall","src":"20515:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"20505:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20579:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20590:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20575:3:150"},"nodeType":"YulFunctionCall","src":"20575:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"20599:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20607:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20595:3:150"},"nodeType":"YulFunctionCall","src":"20595:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20568:6:150"},"nodeType":"YulFunctionCall","src":"20568:50:150"},"nodeType":"YulExpressionStatement","src":"20568:50:150"},{"nodeType":"YulAssignment","src":"20627:50:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"20662:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"20670:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"20635:26:150"},"nodeType":"YulFunctionCall","src":"20635:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20627:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20697:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20708:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20693:3:150"},"nodeType":"YulFunctionCall","src":"20693:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"20713:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20686:6:150"},"nodeType":"YulFunctionCall","src":"20686:34:150"},"nodeType":"YulExpressionStatement","src":"20686:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20740:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20751:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20736:3:150"},"nodeType":"YulFunctionCall","src":"20736:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"20757:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20729:6:150"},"nodeType":"YulFunctionCall","src":"20729:35:150"},"nodeType":"YulExpressionStatement","src":"20729:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20784:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20795:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20780:3:150"},"nodeType":"YulFunctionCall","src":"20780:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"20801:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20773:6:150"},"nodeType":"YulFunctionCall","src":"20773:35:150"},"nodeType":"YulExpressionStatement","src":"20773:35:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20250:9:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"20261:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"20269:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20277:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20285:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20293:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20301:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20312:4:150","type":""}],"src":"19904:910:150"},{"body":{"nodeType":"YulBlock","src":"20899:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"20945:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20954:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20957:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20947:6:150"},"nodeType":"YulFunctionCall","src":"20947:12:150"},"nodeType":"YulExpressionStatement","src":"20947:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20920:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20929:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20916:3:150"},"nodeType":"YulFunctionCall","src":"20916:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20941:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20912:3:150"},"nodeType":"YulFunctionCall","src":"20912:32:150"},"nodeType":"YulIf","src":"20909:52:150"},{"nodeType":"YulVariableDeclaration","src":"20970:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20989:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20983:5:150"},"nodeType":"YulFunctionCall","src":"20983:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"20974:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"21057:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21066:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21069:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21059:6:150"},"nodeType":"YulFunctionCall","src":"21059:12:150"},"nodeType":"YulExpressionStatement","src":"21059:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21021:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21032:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"21039:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21028:3:150"},"nodeType":"YulFunctionCall","src":"21028:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"21018:2:150"},"nodeType":"YulFunctionCall","src":"21018:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21011:6:150"},"nodeType":"YulFunctionCall","src":"21011:45:150"},"nodeType":"YulIf","src":"21008:65:150"},{"nodeType":"YulAssignment","src":"21082:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21092:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21082:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20865:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20876:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20888:6:150","type":""}],"src":"20819:284:150"},{"body":{"nodeType":"YulBlock","src":"21186:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"21232:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21241:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21244:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21234:6:150"},"nodeType":"YulFunctionCall","src":"21234:12:150"},"nodeType":"YulExpressionStatement","src":"21234:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21207:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21216:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21203:3:150"},"nodeType":"YulFunctionCall","src":"21203:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21228:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21199:3:150"},"nodeType":"YulFunctionCall","src":"21199:32:150"},"nodeType":"YulIf","src":"21196:52:150"},{"nodeType":"YulVariableDeclaration","src":"21257:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21276:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21270:5:150"},"nodeType":"YulFunctionCall","src":"21270:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21261:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21317:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"21295:21:150"},"nodeType":"YulFunctionCall","src":"21295:28:150"},"nodeType":"YulExpressionStatement","src":"21295:28:150"},{"nodeType":"YulAssignment","src":"21332:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21342:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21332:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21152:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21163:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21175:6:150","type":""}],"src":"21108:245:150"},{"body":{"nodeType":"YulBlock","src":"21410:116:150","statements":[{"nodeType":"YulAssignment","src":"21420:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"21435:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"21438:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"21431:3:150"},"nodeType":"YulFunctionCall","src":"21431:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"21420:7:150"}]},{"body":{"nodeType":"YulBlock","src":"21498:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21500:16:150"},"nodeType":"YulFunctionCall","src":"21500:18:150"},"nodeType":"YulExpressionStatement","src":"21500:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"21469:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21462:6:150"},"nodeType":"YulFunctionCall","src":"21462:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"21476:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"21483:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"21492:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"21479:3:150"},"nodeType":"YulFunctionCall","src":"21479:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"21473:2:150"},"nodeType":"YulFunctionCall","src":"21473:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"21459:2:150"},"nodeType":"YulFunctionCall","src":"21459:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21452:6:150"},"nodeType":"YulFunctionCall","src":"21452:45:150"},"nodeType":"YulIf","src":"21449:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"21389:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"21392:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"21398:7:150","type":""}],"src":"21358:168:150"},{"body":{"nodeType":"YulBlock","src":"21652:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21669:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21680:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21662:6:150"},"nodeType":"YulFunctionCall","src":"21662:21:150"},"nodeType":"YulExpressionStatement","src":"21662:21:150"},{"nodeType":"YulAssignment","src":"21692:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21718:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21730:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21741:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21726:3:150"},"nodeType":"YulFunctionCall","src":"21726:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"21700:17:150"},"nodeType":"YulFunctionCall","src":"21700:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21692:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21621:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21632:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21643:4:150","type":""}],"src":"21531:220:150"},{"body":{"nodeType":"YulBlock","src":"21855:103:150","statements":[{"nodeType":"YulAssignment","src":"21865:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21877:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21888:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21873:3:150"},"nodeType":"YulFunctionCall","src":"21873:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21865:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21907:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21922:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21934:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"21939:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21930:3:150"},"nodeType":"YulFunctionCall","src":"21930:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21918:3:150"},"nodeType":"YulFunctionCall","src":"21918:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21900:6:150"},"nodeType":"YulFunctionCall","src":"21900:52:150"},"nodeType":"YulExpressionStatement","src":"21900:52:150"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21824:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21835:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21846:4:150","type":""}],"src":"21756:202:150"},{"body":{"nodeType":"YulBlock","src":"21995:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22012:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22019:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"22024:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22015:3:150"},"nodeType":"YulFunctionCall","src":"22015:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22005:6:150"},"nodeType":"YulFunctionCall","src":"22005:31:150"},"nodeType":"YulExpressionStatement","src":"22005:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22052:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22055:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22045:6:150"},"nodeType":"YulFunctionCall","src":"22045:15:150"},"nodeType":"YulExpressionStatement","src":"22045:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22076:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22079:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22069:6:150"},"nodeType":"YulFunctionCall","src":"22069:15:150"},"nodeType":"YulExpressionStatement","src":"22069:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"21963:127:150"},{"body":{"nodeType":"YulBlock","src":"22141:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"22172:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22193:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22200:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"22205:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22196:3:150"},"nodeType":"YulFunctionCall","src":"22196:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22186:6:150"},"nodeType":"YulFunctionCall","src":"22186:31:150"},"nodeType":"YulExpressionStatement","src":"22186:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22237:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22240:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22230:6:150"},"nodeType":"YulFunctionCall","src":"22230:15:150"},"nodeType":"YulExpressionStatement","src":"22230:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22265:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22268:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22258:6:150"},"nodeType":"YulFunctionCall","src":"22258:15:150"},"nodeType":"YulExpressionStatement","src":"22258:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22161:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22154:6:150"},"nodeType":"YulFunctionCall","src":"22154:9:150"},"nodeType":"YulIf","src":"22151:132:150"},{"nodeType":"YulAssignment","src":"22292:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22301:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"22304:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"22297:3:150"},"nodeType":"YulFunctionCall","src":"22297:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"22292:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22126:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"22129:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"22135:1:150","type":""}],"src":"22095:217:150"},{"body":{"nodeType":"YulBlock","src":"22453:130:150","statements":[{"nodeType":"YulAssignment","src":"22463:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22475:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22486:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22471:3:150"},"nodeType":"YulFunctionCall","src":"22471:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22463:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22505:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22520:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"22528:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22516:3:150"},"nodeType":"YulFunctionCall","src":"22516:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22498:6:150"},"nodeType":"YulFunctionCall","src":"22498:36:150"},"nodeType":"YulExpressionStatement","src":"22498:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22554:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22565:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22550:3:150"},"nodeType":"YulFunctionCall","src":"22550:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"22570:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22543:6:150"},"nodeType":"YulFunctionCall","src":"22543:34:150"},"nodeType":"YulExpressionStatement","src":"22543:34:150"}]},"name":"abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22414:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22425:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22433:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22444:4:150","type":""}],"src":"22317:266:150"},{"body":{"nodeType":"YulBlock","src":"22717:145:150","statements":[{"nodeType":"YulAssignment","src":"22727:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22739:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22750:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22735:3:150"},"nodeType":"YulFunctionCall","src":"22735:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22727:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22769:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22784:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22800:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22805:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22796:3:150"},"nodeType":"YulFunctionCall","src":"22796:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"22809:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22792:3:150"},"nodeType":"YulFunctionCall","src":"22792:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22780:3:150"},"nodeType":"YulFunctionCall","src":"22780:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22762:6:150"},"nodeType":"YulFunctionCall","src":"22762:51:150"},"nodeType":"YulExpressionStatement","src":"22762:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22833:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22844:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22829:3:150"},"nodeType":"YulFunctionCall","src":"22829:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"22849:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22822:6:150"},"nodeType":"YulFunctionCall","src":"22822:34:150"},"nodeType":"YulExpressionStatement","src":"22822:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22678:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22689:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22697:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22708:4:150","type":""}],"src":"22588:274:150"},{"body":{"nodeType":"YulBlock","src":"23024:218:150","statements":[{"nodeType":"YulAssignment","src":"23034:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23046:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23057:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23042:3:150"},"nodeType":"YulFunctionCall","src":"23042:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23034:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"23069:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23087:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23092:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23083:3:150"},"nodeType":"YulFunctionCall","src":"23083:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23096:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23079:3:150"},"nodeType":"YulFunctionCall","src":"23079:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23073:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23114:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23129:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23137:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23125:3:150"},"nodeType":"YulFunctionCall","src":"23125:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23107:6:150"},"nodeType":"YulFunctionCall","src":"23107:34:150"},"nodeType":"YulExpressionStatement","src":"23107:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23161:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23172:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23157:3:150"},"nodeType":"YulFunctionCall","src":"23157:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23181:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23189:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23177:3:150"},"nodeType":"YulFunctionCall","src":"23177:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23150:6:150"},"nodeType":"YulFunctionCall","src":"23150:43:150"},"nodeType":"YulExpressionStatement","src":"23150:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23213:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23224:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23209:3:150"},"nodeType":"YulFunctionCall","src":"23209:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"23229:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23202:6:150"},"nodeType":"YulFunctionCall","src":"23202:34:150"},"nodeType":"YulExpressionStatement","src":"23202:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22977:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"22988:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22996:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23004:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23015:4:150","type":""}],"src":"22867:375:150"},{"body":{"nodeType":"YulBlock","src":"23421:182:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23438:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23449:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23431:6:150"},"nodeType":"YulFunctionCall","src":"23431:21:150"},"nodeType":"YulExpressionStatement","src":"23431:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23472:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23483:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23468:3:150"},"nodeType":"YulFunctionCall","src":"23468:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"23488:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23461:6:150"},"nodeType":"YulFunctionCall","src":"23461:30:150"},"nodeType":"YulExpressionStatement","src":"23461:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23511:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23522:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23507:3:150"},"nodeType":"YulFunctionCall","src":"23507:18:150"},{"hexValue":"42335452476f7665726e6f725631303a207472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"23527:34:150","type":"","value":"B3TRGovernorV10: transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23500:6:150"},"nodeType":"YulFunctionCall","src":"23500:62:150"},"nodeType":"YulExpressionStatement","src":"23500:62:150"},{"nodeType":"YulAssignment","src":"23571:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23583:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23594:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23579:3:150"},"nodeType":"YulFunctionCall","src":"23579:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23571:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23398:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23412:4:150","type":""}],"src":"23247:356:150"},{"body":{"nodeType":"YulBlock","src":"23656:134:150","statements":[{"nodeType":"YulVariableDeclaration","src":"23666:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23684:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"23689:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23680:3:150"},"nodeType":"YulFunctionCall","src":"23680:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23693:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23676:3:150"},"nodeType":"YulFunctionCall","src":"23676:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23670:2:150","type":""}]},{"nodeType":"YulAssignment","src":"23704:34:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23719:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23722:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23715:3:150"},"nodeType":"YulFunctionCall","src":"23715:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"23731:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23734:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23727:3:150"},"nodeType":"YulFunctionCall","src":"23727:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23711:3:150"},"nodeType":"YulFunctionCall","src":"23711:27:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"23704:3:150"}]},{"body":{"nodeType":"YulBlock","src":"23762:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23764:16:150"},"nodeType":"YulFunctionCall","src":"23764:18:150"},"nodeType":"YulExpressionStatement","src":"23764:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"23753:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23758:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23750:2:150"},"nodeType":"YulFunctionCall","src":"23750:11:150"},"nodeType":"YulIf","src":"23747:37:150"}]},"name":"checked_add_t_uint208","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23639:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"23642:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"23648:3:150","type":""}],"src":"23608:182:150"},{"body":{"nodeType":"YulBlock","src":"24294:1103:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24311:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24322:3:150","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24304:6:150"},"nodeType":"YulFunctionCall","src":"24304:22:150"},"nodeType":"YulExpressionStatement","src":"24304:22:150"},{"nodeType":"YulVariableDeclaration","src":"24335:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24378:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24390:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24401:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24386:3:150"},"nodeType":"YulFunctionCall","src":"24386:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"24349:28:150"},"nodeType":"YulFunctionCall","src":"24349:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"24339:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24415:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"24425:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"24419:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24447:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24458:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24443:3:150"},"nodeType":"YulFunctionCall","src":"24443:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"24467:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24475:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24463:3:150"},"nodeType":"YulFunctionCall","src":"24463:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24436:6:150"},"nodeType":"YulFunctionCall","src":"24436:50:150"},"nodeType":"YulExpressionStatement","src":"24436:50:150"},{"nodeType":"YulVariableDeclaration","src":"24495:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"24538:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"24546:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"24509:28:150"},"nodeType":"YulFunctionCall","src":"24509:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"24499:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24573:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24584:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24569:3:150"},"nodeType":"YulFunctionCall","src":"24569:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"24593:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24601:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24589:3:150"},"nodeType":"YulFunctionCall","src":"24589:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24562:6:150"},"nodeType":"YulFunctionCall","src":"24562:50:150"},"nodeType":"YulExpressionStatement","src":"24562:50:150"},{"nodeType":"YulVariableDeclaration","src":"24621:17:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"24632:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"24625:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24647:27:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"24667:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24661:5:150"},"nodeType":"YulFunctionCall","src":"24661:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"24651:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"24690:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"24698:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24683:6:150"},"nodeType":"YulFunctionCall","src":"24683:22:150"},"nodeType":"YulExpressionStatement","src":"24683:22:150"},{"nodeType":"YulAssignment","src":"24714:22:150","value":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"24725:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24733:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24721:3:150"},"nodeType":"YulFunctionCall","src":"24721:15:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"24714:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"24745:50:150","value":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"24767:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24779:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"24782:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"24775:3:150"},"nodeType":"YulFunctionCall","src":"24775:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24763:3:150"},"nodeType":"YulFunctionCall","src":"24763:27:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24792:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24759:3:150"},"nodeType":"YulFunctionCall","src":"24759:36:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"24749:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24804:29:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"24822:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24830:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24818:3:150"},"nodeType":"YulFunctionCall","src":"24818:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"24808:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24842:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"24851:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"24846:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"24910:203:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24931:3:150"},{"arguments":[{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"24944:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"24952:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24940:3:150"},"nodeType":"YulFunctionCall","src":"24940:19:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24965:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"24961:3:150"},"nodeType":"YulFunctionCall","src":"24961:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24936:3:150"},"nodeType":"YulFunctionCall","src":"24936:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24924:6:150"},"nodeType":"YulFunctionCall","src":"24924:46:150"},"nodeType":"YulExpressionStatement","src":"24924:46:150"},{"nodeType":"YulAssignment","src":"24983:50:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"25017:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25011:5:150"},"nodeType":"YulFunctionCall","src":"25011:13:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"25026:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"24993:17:150"},"nodeType":"YulFunctionCall","src":"24993:40:150"},"variableNames":[{"name":"tail_3","nodeType":"YulIdentifier","src":"24983:6:150"}]},{"nodeType":"YulAssignment","src":"25046:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"25060:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"25068:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25056:3:150"},"nodeType":"YulFunctionCall","src":"25056:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"25046:6:150"}]},{"nodeType":"YulAssignment","src":"25084:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25095:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"25100:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25091:3:150"},"nodeType":"YulFunctionCall","src":"25091:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"25084:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"24872:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"24875:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"24869:2:150"},"nodeType":"YulFunctionCall","src":"24869:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"24883:18:150","statements":[{"nodeType":"YulAssignment","src":"24885:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"24894:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"24897:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24890:3:150"},"nodeType":"YulFunctionCall","src":"24890:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"24885:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"24865:3:150","statements":[]},"src":"24861:252:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25133:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25144:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25129:3:150"},"nodeType":"YulFunctionCall","src":"25129:18:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"25153:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"25161:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25149:3:150"},"nodeType":"YulFunctionCall","src":"25149:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25122:6:150"},"nodeType":"YulFunctionCall","src":"25122:50:150"},"nodeType":"YulExpressionStatement","src":"25122:50:150"},{"nodeType":"YulVariableDeclaration","src":"25181:56:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"25222:6:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"25230:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"25195:26:150"},"nodeType":"YulFunctionCall","src":"25195:42:150"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"25185:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25257:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25268:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25253:3:150"},"nodeType":"YulFunctionCall","src":"25253:19:150"},{"arguments":[{"name":"tail_4","nodeType":"YulIdentifier","src":"25278:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"25286:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25274:3:150"},"nodeType":"YulFunctionCall","src":"25274:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25246:6:150"},"nodeType":"YulFunctionCall","src":"25246:51:150"},"nodeType":"YulExpressionStatement","src":"25246:51:150"},{"nodeType":"YulAssignment","src":"25306:41:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"25332:6:150"},{"name":"tail_4","nodeType":"YulIdentifier","src":"25340:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"25314:17:150"},"nodeType":"YulFunctionCall","src":"25314:33:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25306:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25367:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25378:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25363:3:150"},"nodeType":"YulFunctionCall","src":"25363:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"25384:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25356:6:150"},"nodeType":"YulFunctionCall","src":"25356:35:150"},"nodeType":"YulExpressionStatement","src":"25356:35:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24223:9:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"24234:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"24242:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"24250:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"24258:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24266:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24274:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24285:4:150","type":""}],"src":"23795:1602:150"},{"body":{"nodeType":"YulBlock","src":"25538:130:150","statements":[{"nodeType":"YulAssignment","src":"25548:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25560:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25571:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25556:3:150"},"nodeType":"YulFunctionCall","src":"25556:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25548:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25590:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25605:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"25613:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25601:3:150"},"nodeType":"YulFunctionCall","src":"25601:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25583:6:150"},"nodeType":"YulFunctionCall","src":"25583:36:150"},"nodeType":"YulExpressionStatement","src":"25583:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25639:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25650:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25635:3:150"},"nodeType":"YulFunctionCall","src":"25635:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"25655:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25628:6:150"},"nodeType":"YulFunctionCall","src":"25628:34:150"},"nodeType":"YulExpressionStatement","src":"25628:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25499:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25510:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25518:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25529:4:150","type":""}],"src":"25402:266:150"},{"body":{"nodeType":"YulBlock","src":"25792:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25809:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25820:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25802:6:150"},"nodeType":"YulFunctionCall","src":"25802:21:150"},"nodeType":"YulExpressionStatement","src":"25802:21:150"},{"nodeType":"YulAssignment","src":"25832:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25858:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25870:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25881:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25866:3:150"},"nodeType":"YulFunctionCall","src":"25866:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"25840:17:150"},"nodeType":"YulFunctionCall","src":"25840:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25832:4:150"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25761:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25772:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25783:4:150","type":""}],"src":"25673:218:150"},{"body":{"nodeType":"YulBlock","src":"26070:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26087:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26098:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26080:6:150"},"nodeType":"YulFunctionCall","src":"26080:21:150"},"nodeType":"YulExpressionStatement","src":"26080:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26121:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26132:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26117:3:150"},"nodeType":"YulFunctionCall","src":"26117:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"26137:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26110:6:150"},"nodeType":"YulFunctionCall","src":"26110:30:150"},"nodeType":"YulExpressionStatement","src":"26110:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26160:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26171:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26156:3:150"},"nodeType":"YulFunctionCall","src":"26156:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c6964","kind":"string","nodeType":"YulLiteral","src":"26176:34:150","type":"","value":"GovernorConfiguratorV10: invalid"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26149:6:150"},"nodeType":"YulFunctionCall","src":"26149:62:150"},"nodeType":"YulExpressionStatement","src":"26149:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26231:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26242:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26227:3:150"},"nodeType":"YulFunctionCall","src":"26227:18:150"},{"hexValue":"2070726f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"26247:16:150","type":"","value":" proposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26220:6:150"},"nodeType":"YulFunctionCall","src":"26220:44:150"},"nodeType":"YulExpressionStatement","src":"26220:44:150"},{"nodeType":"YulAssignment","src":"26273:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26285:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26296:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26281:3:150"},"nodeType":"YulFunctionCall","src":"26281:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26273:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26047:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26061:4:150","type":""}],"src":"25896:410:150"},{"body":{"nodeType":"YulBlock","src":"26448:130:150","statements":[{"nodeType":"YulAssignment","src":"26458:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26470:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26481:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26466:3:150"},"nodeType":"YulFunctionCall","src":"26466:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26458:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26500:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26515:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"26523:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26511:3:150"},"nodeType":"YulFunctionCall","src":"26511:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26493:6:150"},"nodeType":"YulFunctionCall","src":"26493:36:150"},"nodeType":"YulExpressionStatement","src":"26493:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26549:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26560:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26545:3:150"},"nodeType":"YulFunctionCall","src":"26545:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"26565:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26538:6:150"},"nodeType":"YulFunctionCall","src":"26538:34:150"},"nodeType":"YulExpressionStatement","src":"26538:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26409:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26420:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26428:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26439:4:150","type":""}],"src":"26311:267:150"}]},"contents":"{\n    { }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_array_address_dyn(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_array_address_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, abi_decode_address(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_available_length_bytes(src, length, end) -> array\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        array := allocate_memory(add(and(add(length, 31), not(31)), 0x20))\n        mstore(array, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        calldatacopy(add(array, 0x20), src, length)\n        mstore(add(add(array, length), 0x20), 0)\n    }\n    function abi_decode_array_bytes_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, sub(shl(64, 1), 1))\n            {\n                let _3 := 0\n                revert(_3, _3)\n            }\n            let _4 := add(offset, innerOffset)\n            if iszero(slt(add(_4, 63), end))\n            {\n                let _5 := 0\n                revert(_5, _5)\n            }\n            mstore(dst, abi_decode_available_length_bytes(add(_4, 64), calldataload(add(_4, _2)), end))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_string(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        array := abi_decode_available_length_bytes(add(offset, 0x20), calldataload(offset), end)\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 96))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value3 := abi_decode_string(add(headStart, offset_3), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n        value5 := calldataload(add(headStart, 160))\n        value6 := abi_decode_address(add(headStart, 192))\n        let offset_4 := calldataload(add(headStart, 224))\n        if gt(offset_4, _1) { revert(0, 0) }\n        value7 := abi_decode_string(add(headStart, offset_4), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        let offset := calldataload(add(headStart, 32))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value1 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value2 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 96))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value3 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 96))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value3 := abi_decode_string(add(headStart, offset_3), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n        value5 := calldataload(add(headStart, 160))\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_bool(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_bool(value)\n    }\n    function abi_decode_tuple_t_addresst_boolt_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n    {\n        if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_bool(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value2 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 128))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value4 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        value5 := calldataload(add(headStart, 160))\n        let offset_3 := calldataload(add(headStart, 192))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value6 := abi_decode_string(add(headStart, offset_3), dataEnd)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 0x20) }\n        {\n            let _1 := 0x20\n            mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n        }\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_array_bytes_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let pos_1 := pos\n        let tail := add(pos, shl(5, length))\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, sub(tail, pos_1))\n            tail := abi_encode_string(mload(srcPtr), tail)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 160)\n        let tail_1 := abi_encode_string(value0, add(headStart, 160))\n        mstore(add(headStart, 32), value1)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(add(headStart, 64), and(value2, _1))\n        mstore(add(headStart, 96), and(value3, _1))\n        mstore(add(headStart, 128), sub(tail_1, headStart))\n        tail := abi_encode_array_bytes_dyn(value4, tail_1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_ProposalType(value, pos)\n    {\n        if iszero(lt(value, 2)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalType_$25017__to_t_uint256_t_uint8__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        abi_encode_enum_ProposalType(value1, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function checked_exp_helper(_base, exponent) -> power, base\n    {\n        let power_1 := 1\n        power := power_1\n        base := _base\n        for { } gt(exponent, power_1) { }\n        {\n            if gt(base, div(not(0), base)) { panic_error_0x11() }\n            if and(exponent, power_1) { power := mul(power, base) }\n            base := mul(base, base)\n            exponent := shr(power_1, exponent)\n        }\n    }\n    function checked_exp_unsigned(base, exponent) -> power\n    {\n        if iszero(exponent)\n        {\n            power := 1\n            leave\n        }\n        if iszero(base)\n        {\n            power := 0\n            leave\n        }\n        switch base\n        case 1 {\n            power := 1\n            leave\n        }\n        case 2 {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := shl(exponent, 1)\n            leave\n        }\n        if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n        {\n            power := exp(base, exponent)\n            leave\n        }\n        let power_1, base_1 := checked_exp_helper(base, exponent)\n        if gt(power_1, div(not(0), base_1)) { panic_error_0x11() }\n        power := mul(power_1, base_1)\n    }\n    function checked_exp_t_uint256_t_uint8(base, exponent) -> power\n    {\n        power := checked_exp_unsigned(base, and(exponent, 0xff))\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 30)\n        mstore(add(headStart, 64), \"Governor: proposal not pending\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_array_address_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_array_uint256_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 128)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 128))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        tail := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$25017__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_ProposalType(value0, headStart)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalState_$24992_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        if iszero(lt(value1, 10)) { panic_error_0x21() }\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 160)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 160))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        tail := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), value4)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 192)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 192))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        tail := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), value4)\n        mstore(add(headStart, 160), value5)\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_stringliteral_37ab1e83f5deefa1053b589954f7453183dd8e2ca405ecc95790b2f47f785581__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"B3TRGovernorV10: transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function checked_add_t_uint208(x, y) -> sum\n    {\n        let _1 := sub(shl(208, 1), 1)\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 192)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 192))\n        let _1 := 32\n        mstore(add(headStart, _1), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let pos := tail_2\n        let length := mload(value2)\n        mstore(tail_2, length)\n        pos := add(tail_2, _1)\n        let tail_3 := add(add(tail_2, shl(5, length)), _1)\n        let srcPtr := add(value2, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_3, tail_2), not(31)))\n            tail_3 := abi_encode_string(mload(srcPtr), tail_3)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        mstore(add(headStart, 96), sub(tail_3, headStart))\n        let tail_4 := abi_encode_array_bytes_dyn(value3, tail_3)\n        mstore(add(headStart, 128), sub(tail_4, headStart))\n        tail := abi_encode_string(value4, tail_4)\n        mstore(add(headStart, 160), value5)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: invalid\")\n        mstore(add(headStart, 96), \" proposal type\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":5239},{"length":20,"start":6528},{"length":20,"start":6651},{"length":20,"start":7059},{"length":20,"start":9845},{"length":20,"start":10014}]}},"object":"73000000000000000000000000000000000000000030146080604052600436106100c45760003560e01c8063013b1088146100c957806301957cc7146100fc5780631e6b49921461011c5780632a09c7721461013e5780632d63f693146101635780635584c4f91461017657806358c839bc1461018b57806381ab2353146101ab578063a9a95294146101c3578063badecd76146101d6578063c01f9e37146101f6578063c0a6026c14610209578063c429bd8214610229578063fcadd1f714610249575b600080fd5b8180156100d557600080fd5b506100e96100e436600461345a565b610269565b6040519081526020015b60405180910390f35b81801561010857600080fd5b506100e961011736600461354f565b61033c565b81801561012857600080fd5b5061013c6101373660046135ef565b610428565b005b61015161014c3660046135ef565b61055e565b60405160ff90911681526020016100f3565b6100e96101713660046135ef565b610598565b61017e6105a9565b6040516100f39190613608565b81801561019757600080fd5b506100e96101a636600461364c565b6107b6565b6101b3610803565b60405190151581526020016100f3565b6101b36101d13660046135ef565b610812565b8180156101e257600080fd5b506100e96101f1366004613726565b61086e565b6100e96102043660046135ef565b610a5f565b81801561021557600080fd5b5061013c6102243660046135ef565b610a6a565b81801561023557600080fd5b5061013c6102443660046135ef565b610b25565b81801561025557600080fd5b506100e961026436600461354f565b610b9a565b600080610274610d33565b9050600061028b8b8b8b8b80519060200120610d57565b905061029e33888a8e8e8e876001610d91565b81601a0160009054906101000a90046001600160a01b03166001600160a01b031663808860a5858333898e6040518663ffffffff1660e01b81526004016102e9959493929190613895565b600060405180830381600087803b15801561030357600080fd5b505af1158015610317573d6000803e3d6000fd5b5050505061032d33828d8d8d8d8d8d6001610ff2565b9b9a5050505050505050505050565b600080610347610d33565b9050600061035787878787610d57565b905061036c8161036760046110e4565b611107565b50600061037d89838a8a8a8a611146565b905065ffffffffffff811615610403576000828152600184016020908152604091829020600201805465ffffffffffff60381b1916600160381b65ffffffffffff8616908102919091179091558251858152918201527f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892910160405180910390a161041c565b604051634844252360e11b815260040160405180910390fd5b50979650505050505050565b6000610432610d33565b600083815260158201602090815260408083205460018501909252822092935060ff169190826001811115610469576104696138e4565b146104945783826040516344b7587b60e01b815260040161048b92919061390e565b60405180910390fd5b6104b2846104a260046110e4565b6104ac60066110e4565b17611107565b506002810154600160201b900460ff1680156104e7575060046104d4856112fc565b60098111156104e5576104e56138e4565b145b156105095783826040516344b7587b60e01b815260040161048b92919061390e565b6000848152601e84016020908152604091829020805460ff1916600117905590518581527fae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0910160405180910390a150505050565b600080610569610d33565b600084815260158201602052604090205490915060ff166001811115610591576105916138e4565b9392505050565b60006105a3826116a3565b92915050565b606060006105b5610d33565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190613922565b6000818152602184016020526040812080549293509190816001600160401b03811115610661576106616131fd565b60405190808252806020026020018201604052801561068a578160200160208202803683370190505b5090506000805b8381101561071b5760008582815481106106ad576106ad61393b565b600091825260209091200154905060016106c6826112fc565b60098111156106d7576106d76138e4565b0361070857808484815181106106ef576106ef61393b565b60209081029190910101528261070481613967565b9350505b508061071381613967565b915050610691565b506000816001600160401b03811115610736576107366131fd565b60405190808252806020026020018201604052801561075f578160200160208202803683370190505b50905060005b8281101561041c5783818151811061077f5761077f61393b565b60200260200101518282815181106107995761079961393b565b6020908102919091010152806107ae81613967565b915050610765565b60008033905060006107d18989898980519060200120610d57565b90506107e48286888c8c8c876000610d91565b6107f682828b8b8b8b8b8b6000610ff2565b9998505050505050505050565b600061080d611a90565b905090565b60008061081d610d33565b600084815260018083016020526040822090810154929350919003610846575060009392505050565b6002810154600160201b900460ff1615610864575060019392505050565b5060009392505050565b600080610879610d33565b9050600061088988888888610d57565b905061089481611c4d565b6001600160a01b03168a6001600160a01b0316141580156108b3575088155b156108d35789604051633733be5960e21b815260040161048b9190613980565b610940816108e160036110e4565b6108eb60076110e4565b6108f560096110e4565b6108ff60086110e4565b61090960066110e4565b61091360026110e4565b6001610920600982613994565b61092b906002613a91565b6109359190613aa0565b181818181818611107565b5061094a81611c4d565b6001600160a01b03168a6001600160a01b0316036109cb57600061096d826112fc565b600981111561097e5761097e6138e4565b146109cb5760405162461bcd60e51b815260206004820152601e60248201527f476f7665726e6f723a2070726f706f73616c206e6f742070656e64696e670000604482015260640161048b565b60008181526007830160205260409020548015610a5457600683015460405163c4d252f560e01b8152600481018390526001600160a01b039091169063c4d252f590602401600060405180830381600087803b158015610a2a57600080fd5b505af1158015610a3e573d6000803e3d6000fd5b5050506000838152600785016020526040812055505b61032d828c87611c76565b60006105a382611d2d565b6000610a74610d33565b600083815260158201602052604081205491925060ff90911690816001811115610aa057610aa06138e4565b14610ac25782816040516344b7587b60e01b815260040161048b92919061390e565b610ad08361036760086110e4565b506000838152601e83016020908152604091829020805460ff1916600217905590518481527f71611adb0c8d2eea43359b2e41e5fdf96309ce734ed1eb78ceb763198c1b8967910160405180910390a1505050565b6000610b2f610d33565b9050610b4982610b3f60096110e4565b6104ac60086110e4565b506000828152601e82016020908152604091829020805460ff1916905590518381527f89e9abefcace5d0e37429f32023df3d73c9a310923f6383fa778ec40c629df0e910160405180910390a15050565b600080610ba5610d33565b90506000610bb587878787610d57565b9050610bcf81610bc560056110e4565b6104ac60046110e4565b5060008181526001830160205260409020600201805460ff60281b1916600160281b1790556001600160a01b038816610c06611eb0565b6001600160a01b031614610c9a5760005b8751811015610c9857306001600160a01b0316888281518110610c3c57610c3c61393b565b60200260200101516001600160a01b031603610c8857610c88868281518110610c6757610c6761393b565b60200260200101518051906020012084600201611ece90919063ffffffff16565b610c9181613967565b9050610c17565b505b610ca8888289898989611f3f565b876001600160a01b0316610cba611eb0565b6001600160a01b031614158015610ce8575060028201546001600160801b03808216600160801b9092041614155b15610cf557600060028301555b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f9060200160405180910390a1979650505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600084848484604051602001610d709493929190613b27565b60408051601f19818403018152919052805160209091012095945050505050565b6000610d9b610d33565b9050610da682611fdb565b610dc55781604051633e4bbe1960e11b815260040161048b9190613b72565b80600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3e9190613922565b8811610e6057604051637a5d07d360e01b81526004810189905260240161048b565b80600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed99190613922565b610ee4906001613b80565b8803610f1257610ef2611a90565b610f1257604051637a5d07d360e01b81526004810189905260240161048b565b6000826001811115610f2657610f266138e4565b03610f5457610f358988612012565b610f54578860405163d9b3955760e01b815260040161048b9190613980565b84518651141580610f6757508351865114155b15610f9c57855184518651604051630447b05d60e41b815260048101939093526024830191909152604482015260640161048b565b600083815260018083016020526040909120015415610fdd5782610fbf846112fc565b6040516331b75e4d60e01b815261048b929190600090600401613b93565b610fe78685612103565b505050505050505050565b600080610ffd610d33565b9050600061100a846121e8565b9050600061108f83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190613922565b6122b6565b8b5190915015156110a08e876122e6565b6110b08d8f848b858c898d61244a565b86156110c1576110c1878f8f61255c565b6110d28e8e8e8e8e8e8e8a8e6127f8565b509a9c9b505050505050505050505050565b60008160098111156110f8576110f86138e4565b600160ff919091161b92915050565b600080611113846112fc565b9050600083611121836110e4565b1603610591578381846040516331b75e4d60e01b815260040161048b93929190613b93565b600080611151610d33565b905060008160060160009054906101000a90046001600160a01b03166001600160a01b031663f27a0c926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ce9190613922565b905060006111dc858b6128d4565b600684015460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f42790611218908b908b908b906000908890600401613bbb565b602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112599190613922565b60008a815260078501602052604080822092909255600685015491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb0916112a8918c918c918c919088908a90600401613c09565b600060405180830381600087803b1580156112c257600080fd5b505af11580156112d6573d6000803e3d6000fd5b505050506112ee82426112e99190613b80565b6128e5565b9a9950505050505050505050565b600080611307610d33565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b909204169083600281111561135c5761135c6138e4565b0361136e575060089695505050505050565b6002836002811115611382576113826138e4565b03611394575060099695505050505050565b81156113a7575060069695505050505050565b80156113ba575060029695505050505050565b83600101546000036113e257604051636ad0607560e01b81526004810188905260240161048b565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561143c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114609190613922565b1015611473575060009695505050505050565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156114be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e29190613c61565b65ffffffffffff16905060006114f789611d2d565b905061150289612913565b6115155750600798975050505050505050565b81811061152b5750600198975050505050505050565b6115348961293f565b158061154657506115448961299d565b155b1561155a5750600398975050505050505050565b611563896129c5565b6000036115795750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa1580156115d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fa9190613c89565b1561160f575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa15801561165a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167e9190613c89565b15611693575060069998505050505050505050565b5060029998505050505050505050565b6000806116ae610d33565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561171e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117429190613922565b106117df576000611751610d33565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda906024015b602060405180830381865afa1580156117b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d79190613922565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa15801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f9190613922565b600085815260018085016020526040909120015461186d9190613aa0565b9050600061187c600183613aa0565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f59190613922565b6118ff9190613ca6565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015611958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197c9190613922565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156119c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119eb9190613c61565b65ffffffffffff168111611a715773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a669190613c61565b65ffffffffffff1690505b82611a7c8383613b80565b611a869190613b80565b9695505050505050565b600080611a9b610d33565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b189190613922565b600a83015460405163d3a368bd60e01b8152600481018390529192506000916001600160a01b039091169063d3a368bd90602401602060405180830381865afa158015611b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8d9190613922565b9050600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfe9190613c61565b90508065ffffffffffff168211611c1a57600094505050505090565b611c2c65ffffffffffff821683613aa0565b84600401541115611c4257600094505050505090565b600194505050505090565b600080611c58610d33565b6000938452600101602052505060409020546001600160a01b031690565b600080611c81610d33565b600086815260018201602052604090819020600201805460ff60301b1916600160301b179055519091507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90611cda9087815260200190565b60405180910390a1836001600160a01b0316857f93bcf40b1de68d22878e9394837dd4b08dae46ee73bc722cccffecdadbe4414585604051611d1c9190613cbd565b60405180910390a350929392505050565b600080611d38610d33565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcc9190613922565b10611e24576000611ddb610d33565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd90602401611796565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9d9190613922565b611ea6846116a3565b6105919190613b80565b600080611ebb610d33565b600601546001600160a01b031692915050565b81546001600160801b03600160801b820481169181166001830190911603611f0957604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b03808216600090815260018086016020526040909120939093558354919092018216600160801b029116179055565b6000611f49610d33565b60068101549091506001600160a01b031663e38335e5348787876000611f6f898f6128d4565b6040518763ffffffff1660e01b8152600401611f8f959493929190613bbb565b6000604051808303818588803b158015611fa857600080fd5b505af1158015611fbc573d6000803e3d6000fd5b5050506000978852505060070160205250506040832092909255505050565b600080826001811115611ff057611ff06138e4565b14806105a35750600182600181111561200b5761200b6138e4565b1492915050565b8051600090603481101561202a5760019150506105a3565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b1461205d576001925050506105a3565b60008061206b602885613aa0565b90505b838110156120e2576000806120a288848151811061208e5761208e61393b565b01602001516001600160f81b0319166129f7565b91509150816120ba57600196505050505050506105a3565b8060ff166004856001600160a01b0316901b1793505050806120db90613967565b905061206e565b50856001600160a01b0316816001600160a01b031614935050505092915050565b600061210d610d33565b600981015490915060ff16156121e35760005b83518110156121e157600061214d8483815181106121405761214061393b565b6020026020010151612a89565b90508260080160008684815181106121675761216761393b565b6020908102919091018101516001600160a01b0316825281810192909252604090810160009081206001600160e01b03198516825290925290205460ff166121ce5760405163294080f760e21b81526001600160e01b03198216600482015260240161048b565b50806121d981613967565b915050612120565b505b505050565b6000806121f3610d33565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561224e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122729190613922565b61227b86612ab8565b6122859190613ca6565b61228f9190613ce6565b9050600061229c85612b2a565b9050808211156122ae57949350505050565b509392505050565b600063ffffffff8211156122e2576020826040516306dfcc6560e41b815260040161048b929190613d08565b5090565b60006122f0610d33565b9050600081601c01600084600181111561230c5761230c6138e4565b600181111561231d5761231d6138e4565b815260208101919091526040908101600090812054601b850154925163d206885d60e01b815290935090916001600160a01b031690636d5e303290829063d206885d9061236e908a90600401613980565b602060405180830381865afa15801561238b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123af9190613922565b6040518263ffffffff1660e01b81526004016123cd91815260200190565b602060405180830381865afa1580156123ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240e9190613922565b905081811015612443576040516304b60e7960e31b81526001600160a01b03861660048201526024810183905260440161048b565b5050505050565b6000612454610d33565b905060008160010160008b81526020019081526020016000209050888160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550868160010181905550878160020160006101000a81548163ffffffff021916908363ffffffff160217905550858160020160046101000a81548160ff021916908315150217905550848160030181905550838160040181905550828260150160008c815260200190815260200160002060006101000a81548160ff02191690836001811115612529576125296138e4565b02179055505060009586526021016020908152604086208054600181018255908752952090940196909655505050505050565b6000612566610d33565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af11580156125c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e79190613c89565b6126335760405162461bcd60e51b815260206004820181905260248201527f42335452476f7665726e6f725631303a207472616e73666572206661696c6564604482015260640161048b565b6000828152600d8201602090815260408083206001600160a01b038716845290915281208054869290612667908490613b80565b92505081905550600061270073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156126bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e09190613c61565b6001600160a01b0386166000908152601d85016020526040902090612b74565b9050600061270d86612c2a565b6127179083613d1b565b90506127aa73__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127899190613c61565b6001600160a01b0387166000908152601d8601602052604090209083612c59565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516127e891815260200190565b60405180910390a3505050505050565b82896001600160a01b0316897f9c2b0d68f5edfd1bf6158a1867aced894efcfcf77c7a7603cb571e18ce89ae768a8a8c516001600160401b03811115612840576128406131fd565b60405190808252806020026020018201604052801561287357816020015b606081526020019060019003908161285e5790505b508b8b8a60405161288996959493929190613d42565b60405180910390a4877f6d04097725b4d82fbe72e4fd0fd1798c60a7b1bbc328842680c83ac06b1b0ada826040516128c19190613b72565b60405180910390a2505050505050505050565b60601b6001600160601b0319161890565b600065ffffffffffff8211156122e2576030826040516306dfcc6560e41b815260040161048b929190613d08565b60008061291e610d33565b60009384526001016020525050604090206004810154600390910154101590565b60008061294a610d33565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061299361297c866116a3565b83600181111561298e5761298e6138e4565b612c74565b1115949350505050565b6000806129a8610d33565b6000938452600f0160205250506040902080546001909101541190565b6000806129d0610d33565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b60008060f883901c602f81118015612a125750603a8160ff16105b15612a2757600194602f199091019350915050565b8060ff166040108015612a3d575060478160ff16105b15612a52576001946036199091019350915050565b8060ff166060108015612a68575060678160ff16105b15612a7d576001946056199091019350915050565b50600093849350915050565b6000600482511015612ab057816040516301a800fb60e41b815260040161048b9190613cbd565b506020015190565b600080612ac3610d33565b9050612ace83611fdb565b612aea5760405162461bcd60e51b815260040161048b90613df9565b806016016000846001811115612b0257612b026138e4565b6001811115612b1357612b136138e4565b815260200190815260200160002054915050919050565b600080612b35610d33565b9050612b4083611fdb565b612b5c5760405162461bcd60e51b815260040161048b90613df9565b806019016000846001811115612b0257612b026138e4565b815460009081816005811115612bd3576000612b8f84612d10565b612b999085613aa0565b60008881526020902090915081015465ffffffffffff9081169087161015612bc357809150612bd1565b612bce816001613b80565b92505b505b6000612be187878585612df8565b90508015612c1c57612c0687612bf8600184613aa0565b600091825260209091200190565b54600160301b90046001600160d01b0316612c1f565b60005b979650505050505050565b60006001600160d01b038211156122e25760d0826040516306dfcc6560e41b815260040161048b929190613d08565b600080612c67858585612e52565b915091505b935093915050565b600080612c7f610d33565b90506064612c8d8585612fcc565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015612cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cfc9190613922565b612d069190613ca6565b6117d79190613ce6565b600081600003612d2257506000919050565b60006001612d2f84612fec565b901c6001901b90506001818481612d4857612d48613cd0565b048201901c90506001818481612d6057612d60613cd0565b048201901c90506001818481612d7857612d78613cd0565b048201901c90506001818481612d9057612d90613cd0565b048201901c90506001818481612da857612da8613cd0565b048201901c90506001818481612dc057612dc0613cd0565b048201901c90506001818481612dd857612dd8613cd0565b048201901c905061059181828581612df257612df2613cd0565b04613080565b60005b818310156122ae576000612e0f8484613096565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115612e3e57809250612e4c565b612e49816001613b80565b93505b50612dfb565b825460009081908015612f71576000612e7087612bf8600185613aa0565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015612ec457604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603612f105784612ee788612bf8600186613aa0565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055612f61565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150612c6c9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081612c6c565b6000610591838360ff166001811115612fe757612fe76138e4565b6130b1565b600080608083901c1561300157608092831c92015b604083901c1561301357604092831c92015b602083901c1561302557602092831c92015b601083901c1561303757601092831c92015b600883901c1561304957600892831c92015b600483901c1561305b57600492831c92015b600283901c1561306d57600292831c92015b600183901c156105a35760010192915050565b600081831061308f5781610591565b5090919050565b60006130a56002848418613ce6565b61059190848416613b80565b6000806130bc610d33565b905060008160180160008560018111156130d8576130d86138e4565b60018111156130e9576130e96138e4565b8152602081019190915260400160009081205491506018830181866001811115613115576131156138e4565b6001811115613126576131266138e4565b81526020810191909152604001600020613141600184613aa0565b815481106131515761315161393b565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211613197576001600160d01b031694506105a39350505050565b6131e86131a3896128e5565b8660180160008a60018111156131bb576131bb6138e4565b60018111156131cc576131cc6138e4565b8152602001908152602001600020612b7490919063ffffffff16565b6001600160d01b031698975050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561323b5761323b6131fd565b604052919050565b60006001600160401b0382111561325c5761325c6131fd565b5060051b60200190565b80356001600160a01b038116811461327d57600080fd5b919050565b600082601f83011261329357600080fd5b813560206132a86132a383613243565b613213565b82815260059290921b840181019181810190868411156132c757600080fd5b8286015b848110156132e9576132dc81613266565b83529183019183016132cb565b509695505050505050565b600082601f83011261330557600080fd5b813560206133156132a383613243565b82815260059290921b8401810191818101908684111561333457600080fd5b8286015b848110156132e95780358352918301918301613338565b60006001600160401b03831115613368576133686131fd565b61337b601f8401601f1916602001613213565b905082815283838301111561338f57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126133b757600080fd5b813560206133c76132a383613243565b82815260059290921b840181019181810190868411156133e657600080fd5b8286015b848110156132e95780356001600160401b038111156134095760008081fd5b8701603f8101891361341b5760008081fd5b61342c89868301356040840161334f565b8452509183019183016133ea565b600082601f83011261344b57600080fd5b6105918383356020850161334f565b600080600080600080600080610100898b03121561347757600080fd5b88356001600160401b038082111561348e57600080fd5b61349a8c838d01613282565b995060208b01359150808211156134b057600080fd5b6134bc8c838d016132f4565b985060408b01359150808211156134d257600080fd5b6134de8c838d016133a6565b975060608b01359150808211156134f457600080fd5b6135008c838d0161343a565b965060808b0135955060a08b0135945061351c60c08c01613266565b935060e08b013591508082111561353257600080fd5b5061353f8b828c0161343a565b9150509295985092959890939650565b600080600080600060a0868803121561356757600080fd5b61357086613266565b945060208601356001600160401b038082111561358c57600080fd5b61359889838a01613282565b955060408801359150808211156135ae57600080fd5b6135ba89838a016132f4565b945060608801359150808211156135d057600080fd5b506135dd888289016133a6565b95989497509295608001359392505050565b60006020828403121561360157600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561364057835183529284019291840191600101613624565b50909695505050505050565b60008060008060008060c0878903121561366557600080fd5b86356001600160401b038082111561367c57600080fd5b6136888a838b01613282565b9750602089013591508082111561369e57600080fd5b6136aa8a838b016132f4565b965060408901359150808211156136c057600080fd5b6136cc8a838b016133a6565b955060608901359150808211156136e257600080fd5b506136ef89828a0161343a565b9350506080870135915060a087013590509295509295509295565b801515811461371857600080fd5b50565b803561327d8161370a565b600080600080600080600060e0888a03121561374157600080fd5b61374a88613266565b96506137586020890161371b565b955060408801356001600160401b038082111561377457600080fd5b6137808b838c01613282565b965060608a013591508082111561379657600080fd5b6137a28b838c016132f4565b955060808a01359150808211156137b857600080fd5b6137c48b838c016133a6565b945060a08a0135935060c08a01359150808211156137e157600080fd5b506137ee8a828b0161343a565b91505092959891949750929550565b6000815180845260005b8181101561382357602081850181015186830182015201613807565b506000602082860101526020601f19601f83011685010191505092915050565b6000815180845260208085019450848260051b860182860160005b858110156138885783830389526138768383516137fd565b9885019892509084019060010161385e565b5090979650505050505050565b60a0815260006138a860a08301886137fd565b602083018790526001600160a01b0386811660408501528516606084015282810360808401526138d88185613843565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b6002811061390a5761390a6138e4565b9052565b8281526040810161059160208301846138fa565b60006020828403121561393457600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161397957613979613951565b5060010190565b6001600160a01b0391909116815260200190565b60ff81811683821601908111156105a3576105a3613951565b600181815b808511156139e85781600019048211156139ce576139ce613951565b808516156139db57918102915b93841c93908002906139b2565b509250929050565b6000826139ff575060016105a3565b81613a0c575060006105a3565b8160018114613a225760028114613a2c57613a48565b60019150506105a3565b60ff841115613a3d57613a3d613951565b50506001821b6105a3565b5060208310610133831016604e8410600b8410161715613a6b575081810a6105a3565b613a7583836139ad565b8060001904821115613a8957613a89613951565b029392505050565b600061059160ff8416836139f0565b818103818111156105a3576105a3613951565b600081518084526020808501945080840160005b83811015613aec5781516001600160a01b031687529582019590820190600101613ac7565b509495945050505050565b600081518084526020808501945080840160005b83811015613aec57815187529582019590820190600101613b0b565b608081526000613b3a6080830187613ab3565b8281036020840152613b4c8187613af7565b90508281036040840152613b608186613843565b91505082606083015295945050505050565b602081016105a382846138fa565b808201808211156105a3576105a3613951565b83815260608101600a8410613baa57613baa6138e4565b602082019390935260400152919050565b60a081526000613bce60a0830188613ab3565b8281036020840152613be08188613af7565b90508281036040840152613bf48187613843565b60608401959095525050608001529392505050565b60c081526000613c1c60c0830189613ab3565b8281036020840152613c2e8189613af7565b90508281036040840152613c428188613843565b60608401969096525050608081019290925260a0909101529392505050565b600060208284031215613c7357600080fd5b815165ffffffffffff8116811461059157600080fd5b600060208284031215613c9b57600080fd5b81516105918161370a565b80820281158282048414176105a3576105a3613951565b60208152600061059160208301846137fd565b634e487b7160e01b600052601260045260246000fd5b600082613d0357634e487b7160e01b600052601260045260246000fd5b500490565b60ff929092168252602082015260400190565b6001600160d01b03818116838216019080821115613d3b57613d3b613951565b5092915050565b60c081526000613d5560c0830189613ab3565b602083820381850152613d68828a613af7565b915083820360408501528188518084528284019150828160051b850101838b0160005b83811015613db957601f19878403018552613da78383516137fd565b94860194925090850190600101613d8b565b50508681036060880152613dcd818b613843565b9450505050508281036080840152613de581866137fd565b9150508260a0830152979650505050505050565b6020808252602e908201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460408201526d2070726f706f73616c207479706560901b60608201526080019056fea264697066735822122090b1edf21c26371daf1fea75b1d5ef49b8fec032feaa4c7c38b62fff7c2443aa64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13B1088 EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0x1957CC7 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x1E6B4992 EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0x2A09C772 EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0x2D63F693 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x5584C4F9 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x58C839BC EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x81AB2353 EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0xA9A95294 EQ PUSH2 0x1C3 JUMPI DUP1 PUSH4 0xBADECD76 EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0xC01F9E37 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0xC0A6026C EQ PUSH2 0x209 JUMPI DUP1 PUSH4 0xC429BD82 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0xFCADD1F7 EQ PUSH2 0x249 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0xE4 CALLDATASIZE PUSH1 0x4 PUSH2 0x345A JUMP JUMPDEST PUSH2 0x269 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x108 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0x117 CALLDATASIZE PUSH1 0x4 PUSH2 0x354F JUMP JUMPDEST PUSH2 0x33C JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x428 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x151 PUSH2 0x14C CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x55E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0xE9 PUSH2 0x171 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x598 JUMP JUMPDEST PUSH2 0x17E PUSH2 0x5A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0x3608 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x364C JUMP JUMPDEST PUSH2 0x7B6 JUMP JUMPDEST PUSH2 0x1B3 PUSH2 0x803 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x1B3 PUSH2 0x1D1 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x812 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0x1F1 CALLDATASIZE PUSH1 0x4 PUSH2 0x3726 JUMP JUMPDEST PUSH2 0x86E JUMP JUMPDEST PUSH2 0xE9 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0xA5F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x215 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x224 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0xA6A JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x13C PUSH2 0x244 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0xB25 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE9 PUSH2 0x264 CALLDATASIZE PUSH1 0x4 PUSH2 0x354F JUMP JUMPDEST PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x274 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x28B DUP12 DUP12 DUP12 DUP12 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0x29E CALLER DUP9 DUP11 DUP15 DUP15 DUP15 DUP8 PUSH1 0x1 PUSH2 0xD91 JUMP JUMPDEST DUP2 PUSH1 0x1A ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x808860A5 DUP6 DUP4 CALLER DUP10 DUP15 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2E9 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3895 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x303 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x317 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x32D CALLER DUP3 DUP14 DUP14 DUP14 DUP14 DUP14 DUP14 PUSH1 0x1 PUSH2 0xFF2 JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x347 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x357 DUP8 DUP8 DUP8 DUP8 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0x36C DUP2 PUSH2 0x367 PUSH1 0x4 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x1107 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x37D DUP10 DUP4 DUP11 DUP11 DUP11 DUP11 PUSH2 0x1146 JUMP JUMPDEST SWAP1 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND ISZERO PUSH2 0x403 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF PUSH1 0x38 SHL NOT AND PUSH1 0x1 PUSH1 0x38 SHL PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE DUP3 MLOAD DUP6 DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH32 0x9A2E42FD6722813D69113E7D0079D3D940171428DF7373DF9C7F7617CFDA2892 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x48442523 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x432 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x1 DUP6 ADD SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SWAP3 SWAP4 POP PUSH1 0xFF AND SWAP2 SWAP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x469 JUMPI PUSH2 0x469 PUSH2 0x38E4 JUMP JUMPDEST EQ PUSH2 0x494 JUMPI DUP4 DUP3 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x390E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4B2 DUP5 PUSH2 0x4A2 PUSH1 0x4 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x4AC PUSH1 0x6 PUSH2 0x10E4 JUMP JUMPDEST OR PUSH2 0x1107 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x4E7 JUMPI POP PUSH1 0x4 PUSH2 0x4D4 DUP6 PUSH2 0x12FC JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x4E5 JUMPI PUSH2 0x4E5 PUSH2 0x38E4 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x509 JUMPI DUP4 DUP3 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x390E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1E DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE SWAP1 MLOAD DUP6 DUP2 MSTORE PUSH32 0xAE96D9C307786EFA9D87D53B27B247AA9EF9C3640C4D5065FDDC861C71684AB0 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x569 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x591 JUMPI PUSH2 0x591 PUSH2 0x38E4 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A3 DUP3 PUSH2 0x16A3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x5B5 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x60E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x632 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x21 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x661 JUMPI PUSH2 0x661 PUSH2 0x31FD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x68A JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x71B JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x6AD JUMPI PUSH2 0x6AD PUSH2 0x393B JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 POP PUSH1 0x1 PUSH2 0x6C6 DUP3 PUSH2 0x12FC JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x6D7 JUMPI PUSH2 0x6D7 PUSH2 0x38E4 JUMP JUMPDEST SUB PUSH2 0x708 JUMPI DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x6EF JUMPI PUSH2 0x6EF PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP3 PUSH2 0x704 DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP4 POP POP JUMPDEST POP DUP1 PUSH2 0x713 DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x691 JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x736 JUMPI PUSH2 0x736 PUSH2 0x31FD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x75F JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x41C JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x77F JUMPI PUSH2 0x77F PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x799 JUMPI PUSH2 0x799 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP1 PUSH2 0x7AE DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x765 JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER SWAP1 POP PUSH1 0x0 PUSH2 0x7D1 DUP10 DUP10 DUP10 DUP10 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0x7E4 DUP3 DUP7 DUP9 DUP13 DUP13 DUP13 DUP8 PUSH1 0x0 PUSH2 0xD91 JUMP JUMPDEST PUSH2 0x7F6 DUP3 DUP3 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x0 PUSH2 0xFF2 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80D PUSH2 0x1A90 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x81D PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 SUB PUSH2 0x846 JUMPI POP PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x864 JUMPI POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x879 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x889 DUP9 DUP9 DUP9 DUP9 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0x894 DUP2 PUSH2 0x1C4D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 ISZERO PUSH2 0x8B3 JUMPI POP DUP9 ISZERO JUMPDEST ISZERO PUSH2 0x8D3 JUMPI DUP10 PUSH1 0x40 MLOAD PUSH4 0x3733BE59 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x3980 JUMP JUMPDEST PUSH2 0x940 DUP2 PUSH2 0x8E1 PUSH1 0x3 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x8EB PUSH1 0x7 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x8F5 PUSH1 0x9 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x8FF PUSH1 0x8 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x909 PUSH1 0x6 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x913 PUSH1 0x2 PUSH2 0x10E4 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x920 PUSH1 0x9 DUP3 PUSH2 0x3994 JUMP JUMPDEST PUSH2 0x92B SWAP1 PUSH1 0x2 PUSH2 0x3A91 JUMP JUMPDEST PUSH2 0x935 SWAP2 SWAP1 PUSH2 0x3AA0 JUMP JUMPDEST XOR XOR XOR XOR XOR XOR PUSH2 0x1107 JUMP JUMPDEST POP PUSH2 0x94A DUP2 PUSH2 0x1C4D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x9CB JUMPI PUSH1 0x0 PUSH2 0x96D DUP3 PUSH2 0x12FC JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x97E JUMPI PUSH2 0x97E PUSH2 0x38E4 JUMP JUMPDEST EQ PUSH2 0x9CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F723A2070726F706F73616C206E6F742070656E64696E670000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x48B JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0xA54 JUMPI PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC4D252F5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC4D252F5 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA3E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE POP JUMPDEST PUSH2 0x32D DUP3 DUP13 DUP8 PUSH2 0x1C76 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A3 DUP3 PUSH2 0x1D2D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA74 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF SWAP1 SWAP2 AND SWAP1 DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xAA0 JUMPI PUSH2 0xAA0 PUSH2 0x38E4 JUMP JUMPDEST EQ PUSH2 0xAC2 JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x390E JUMP JUMPDEST PUSH2 0xAD0 DUP4 PUSH2 0x367 PUSH1 0x8 PUSH2 0x10E4 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1E DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x2 OR SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x71611ADB0C8D2EEA43359B2E41E5FDF96309CE734ED1EB78CEB763198C1B8967 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB2F PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH2 0xB49 DUP3 PUSH2 0xB3F PUSH1 0x9 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x4AC PUSH1 0x8 PUSH2 0x10E4 JUMP JUMPDEST POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1E DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD DUP4 DUP2 MSTORE PUSH32 0x89E9ABEFCACE5D0E37429F32023DF3D73C9A310923F6383FA778EC40C629DF0E SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA5 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xBB5 DUP8 DUP8 DUP8 DUP8 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP PUSH2 0xBCF DUP2 PUSH2 0xBC5 PUSH1 0x5 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x4AC PUSH1 0x4 PUSH2 0x10E4 JUMP JUMPDEST POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0x28 SHL NOT AND PUSH1 0x1 PUSH1 0x28 SHL OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0xC06 PUSH2 0x1EB0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xC9A JUMPI PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0xC98 JUMPI ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC3C JUMPI PUSH2 0xC3C PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xC88 JUMPI PUSH2 0xC88 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC67 JUMPI PUSH2 0xC67 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP5 PUSH1 0x2 ADD PUSH2 0x1ECE SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0xC91 DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP1 POP PUSH2 0xC17 JUMP JUMPDEST POP JUMPDEST PUSH2 0xCA8 DUP9 DUP3 DUP10 DUP10 DUP10 DUP10 PUSH2 0x1F3F JUMP JUMPDEST DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xCBA PUSH2 0x1EB0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 ISZERO PUSH2 0xCE8 JUMPI POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x80 SHL SWAP1 SWAP3 DIV AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xCF5 JUMPI PUSH1 0x0 PUSH1 0x2 DUP4 ADD SSTORE JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x712AE1383F79AC853F8D882153778E0260EF8F03B504E2866E0593E04D2B291F SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xD70 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3B27 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD9B PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH2 0xDA6 DUP3 PUSH2 0x1FDB JUMP JUMPDEST PUSH2 0xDC5 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x3E4BBE19 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x3B72 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE1A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE3E SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST DUP9 GT PUSH2 0xE60 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7A5D07D3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x48B JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEB5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xED9 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0xEE4 SWAP1 PUSH1 0x1 PUSH2 0x3B80 JUMP JUMPDEST DUP9 SUB PUSH2 0xF12 JUMPI PUSH2 0xEF2 PUSH2 0x1A90 JUMP JUMPDEST PUSH2 0xF12 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7A5D07D3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x48B JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xF26 JUMPI PUSH2 0xF26 PUSH2 0x38E4 JUMP JUMPDEST SUB PUSH2 0xF54 JUMPI PUSH2 0xF35 DUP10 DUP9 PUSH2 0x2012 JUMP JUMPDEST PUSH2 0xF54 JUMPI DUP9 PUSH1 0x40 MLOAD PUSH4 0xD9B39557 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x3980 JUMP JUMPDEST DUP5 MLOAD DUP7 MLOAD EQ ISZERO DUP1 PUSH2 0xF67 JUMPI POP DUP4 MLOAD DUP7 MLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0xF9C JUMPI DUP6 MLOAD DUP5 MLOAD DUP7 MLOAD PUSH1 0x40 MLOAD PUSH4 0x447B05D PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x24 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x48B JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD ISZERO PUSH2 0xFDD JUMPI DUP3 PUSH2 0xFBF DUP5 PUSH2 0x12FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x3B93 JUMP JUMPDEST PUSH2 0xFE7 DUP7 DUP6 PUSH2 0x2103 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFFD PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x100A DUP5 PUSH2 0x21E8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x108F DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1066 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x108A SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x22B6 JUMP JUMPDEST DUP12 MLOAD SWAP1 SWAP2 POP ISZERO ISZERO PUSH2 0x10A0 DUP15 DUP8 PUSH2 0x22E6 JUMP JUMPDEST PUSH2 0x10B0 DUP14 DUP16 DUP5 DUP12 DUP6 DUP13 DUP10 DUP14 PUSH2 0x244A JUMP JUMPDEST DUP7 ISZERO PUSH2 0x10C1 JUMPI PUSH2 0x10C1 DUP8 DUP16 DUP16 PUSH2 0x255C JUMP JUMPDEST PUSH2 0x10D2 DUP15 DUP15 DUP15 DUP15 DUP15 DUP15 DUP15 DUP11 DUP15 PUSH2 0x27F8 JUMP JUMPDEST POP SWAP11 SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x10F8 JUMPI PUSH2 0x10F8 PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1113 DUP5 PUSH2 0x12FC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x1121 DUP4 PUSH2 0x10E4 JUMP JUMPDEST AND SUB PUSH2 0x591 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3B93 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1151 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x6 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF27A0C92 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11CE SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x11DC DUP6 DUP12 PUSH2 0x28D4 JUMP JUMPDEST PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xB1C5F427 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xB1C5F427 SWAP1 PUSH2 0x1218 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x0 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x3BBB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1235 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1259 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x7 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP6 ADD SLOAD SWAP2 MLOAD PUSH4 0x8F2A0BB PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x8F2A0BB0 SWAP2 PUSH2 0x12A8 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C09 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x12D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x12EE DUP3 TIMESTAMP PUSH2 0x12E9 SWAP2 SWAP1 PUSH2 0x3B80 JUMP JUMPDEST PUSH2 0x28E5 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1307 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x135C JUMPI PUSH2 0x135C PUSH2 0x38E4 JUMP JUMPDEST SUB PUSH2 0x136E JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1382 JUMPI PUSH2 0x1382 PUSH2 0x38E4 JUMP JUMPDEST SUB PUSH2 0x1394 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x13A7 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13BA JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x13E2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x48B JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x143C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1460 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST LT ISZERO PUSH2 0x1473 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14BE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14E2 SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x14F7 DUP10 PUSH2 0x1D2D JUMP JUMPDEST SWAP1 POP PUSH2 0x1502 DUP10 PUSH2 0x2913 JUMP JUMPDEST PUSH2 0x1515 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x152B JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1534 DUP10 PUSH2 0x293F JUMP JUMPDEST ISZERO DUP1 PUSH2 0x1546 JUMPI POP PUSH2 0x1544 DUP10 PUSH2 0x299D JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x155A JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1563 DUP10 PUSH2 0x29C5 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x1579 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15FA SWAP2 SWAP1 PUSH2 0x3C89 JUMP JUMPDEST ISZERO PUSH2 0x160F JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x165A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x167E SWAP2 SWAP1 PUSH2 0x3C89 JUMP JUMPDEST ISZERO PUSH2 0x1693 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x16AE PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x171E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1742 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST LT PUSH2 0x17DF JUMPI PUSH1 0x0 PUSH2 0x1751 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17B3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17D7 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x182B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x184F SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x186D SWAP2 SWAP1 PUSH2 0x3AA0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x187C PUSH1 0x1 DUP4 PUSH2 0x3AA0 JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18F5 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x18FF SWAP2 SWAP1 PUSH2 0x3CA6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1958 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197C SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x19C7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19EB SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x1A71 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A42 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A66 SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1A7C DUP4 DUP4 PUSH2 0x3B80 JUMP JUMPDEST PUSH2 0x1A86 SWAP2 SWAP1 PUSH2 0x3B80 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A9B PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1AF4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B18 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0xA DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B69 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B8D SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1BDA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1BFE SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST SWAP1 POP DUP1 PUSH6 0xFFFFFFFFFFFF AND DUP3 GT PUSH2 0x1C1A JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x1C2C PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP4 PUSH2 0x3AA0 JUMP JUMPDEST DUP5 PUSH1 0x4 ADD SLOAD GT ISZERO PUSH2 0x1C42 JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C58 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C81 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0x30 SHL NOT AND PUSH1 0x1 PUSH1 0x30 SHL OR SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP PUSH32 0x789CF55BE980739DAD1D0699B93B58E806B51C9D96619BFA8FE0A28ABAA7B30C SWAP1 PUSH2 0x1CDA SWAP1 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x93BCF40B1DE68D22878E9394837DD4B08DAE46EE73BC722CCCFFECDADBE44145 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1D1C SWAP2 SWAP1 PUSH2 0x3CBD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D38 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DA8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DCC SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST LT PUSH2 0x1E24 JUMPI PUSH1 0x0 PUSH2 0x1DDB PUSH2 0xD33 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x1796 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E9D SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x1EA6 DUP5 PUSH2 0x16A3 JUMP JUMPDEST PUSH2 0x591 SWAP2 SWAP1 PUSH2 0x3B80 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1EBB PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB PUSH1 0x1 PUSH1 0x80 SHL DUP3 DIV DUP2 AND SWAP2 DUP2 AND PUSH1 0x1 DUP4 ADD SWAP1 SWAP2 AND SUB PUSH2 0x1F09 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8ACB5F27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE DUP4 SLOAD SWAP2 SWAP1 SWAP3 ADD DUP3 AND PUSH1 0x1 PUSH1 0x80 SHL MUL SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F49 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE38335E5 CALLVALUE DUP8 DUP8 DUP8 PUSH1 0x0 PUSH2 0x1F6F DUP10 DUP16 PUSH2 0x28D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP8 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F8F SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3BBB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1FA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 SWAP8 DUP9 MSTORE POP POP PUSH1 0x7 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1FF0 JUMPI PUSH2 0x1FF0 PUSH2 0x38E4 JUMP JUMPDEST EQ DUP1 PUSH2 0x5A3 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x200B JUMPI PUSH2 0x200B PUSH2 0x38E4 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SWAP1 PUSH1 0x34 DUP2 LT ISZERO PUSH2 0x202A JUMPI PUSH1 0x1 SWAP2 POP POP PUSH2 0x5A3 JUMP JUMPDEST DUP3 DUP2 ADD PUSH1 0x13 NOT ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH12 0x46E0E4DEE0DEE6CAE47A60F PUSH1 0xA3 SHL EQ PUSH2 0x205D JUMPI PUSH1 0x1 SWAP3 POP POP POP PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x206B PUSH1 0x28 DUP6 PUSH2 0x3AA0 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x20E2 JUMPI PUSH1 0x0 DUP1 PUSH2 0x20A2 DUP9 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x208E JUMPI PUSH2 0x208E PUSH2 0x393B JUMP JUMPDEST ADD PUSH1 0x20 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND PUSH2 0x29F7 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x20BA JUMPI PUSH1 0x1 SWAP7 POP POP POP POP POP POP POP PUSH2 0x5A3 JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 SHL OR SWAP4 POP POP POP DUP1 PUSH2 0x20DB SWAP1 PUSH2 0x3967 JUMP JUMPDEST SWAP1 POP PUSH2 0x206E JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x210D PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x9 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x21E3 JUMPI PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x21E1 JUMPI PUSH1 0x0 PUSH2 0x214D DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2140 JUMPI PUSH2 0x2140 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x2A89 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2167 JUMPI PUSH2 0x2167 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP6 AND DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x21CE JUMPI PUSH1 0x40 MLOAD PUSH4 0x294080F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x48B JUMP JUMPDEST POP DUP1 PUSH2 0x21D9 DUP2 PUSH2 0x3967 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2120 JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21F3 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 DUP3 PUSH1 0xB ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x224E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2272 SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x227B DUP7 PUSH2 0x2AB8 JUMP JUMPDEST PUSH2 0x2285 SWAP2 SWAP1 PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x228F SWAP2 SWAP1 PUSH2 0x3CE6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x229C DUP6 PUSH2 0x2B2A JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x22AE JUMPI SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 GT ISZERO PUSH2 0x22E2 JUMPI PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x3D08 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22F0 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1C ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x230C JUMPI PUSH2 0x230C PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x231D JUMPI PUSH2 0x231D PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD PUSH1 0x1B DUP6 ADD SLOAD SWAP3 MLOAD PUSH4 0xD206885D PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP4 POP SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6D5E3032 SWAP1 DUP3 SWAP1 PUSH4 0xD206885D SWAP1 PUSH2 0x236E SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3980 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x238B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x23AF SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x23CD SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x23EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x240E SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x2443 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B60E79 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x48B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2454 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 ADD PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP9 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP DUP7 DUP2 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP8 DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 DUP2 PUSH1 0x2 ADD PUSH1 0x4 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP5 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP DUP3 DUP3 PUSH1 0x15 ADD PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2529 JUMPI PUSH2 0x2529 PUSH2 0x38E4 JUMP JUMPDEST MUL OR SWAP1 SSTORE POP POP PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0x21 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP8 MSTORE SWAP6 KECCAK256 SWAP1 SWAP5 ADD SWAP7 SWAP1 SWAP7 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2566 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP9 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25C3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x25E7 SWAP2 SWAP1 PUSH2 0x3C89 JUMP JUMPDEST PUSH2 0x2633 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F725631303A207472616E73666572206661696C6564 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x48B JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0x2667 SWAP1 DUP5 SWAP1 PUSH2 0x3B80 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x2700 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x26BC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x26E0 SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x2B74 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x270D DUP7 PUSH2 0x2C2A JUMP JUMPDEST PUSH2 0x2717 SWAP1 DUP4 PUSH2 0x3D1B JUMP JUMPDEST SWAP1 POP PUSH2 0x27AA PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2765 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2789 SWAP2 SWAP1 PUSH2 0x3C61 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x2C59 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x65C1DF56BBA34C409163F3295407AB399DF5A4D9BF3DD0288416D6041CDC272C DUP9 PUSH1 0x40 MLOAD PUSH2 0x27E8 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0x9C2B0D68F5EDFD1BF6158A1867ACED894EFCFCF77C7A7603CB571E18CE89AE76 DUP11 DUP11 DUP13 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2840 JUMPI PUSH2 0x2840 PUSH2 0x31FD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2873 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x285E JUMPI SWAP1 POP JUMPDEST POP DUP12 DUP12 DUP11 PUSH1 0x40 MLOAD PUSH2 0x2889 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP8 PUSH32 0x6D04097725B4D82FBE72E4FD0FD1798C60A7B1BBC328842680C83AC06B1B0ADA DUP3 PUSH1 0x40 MLOAD PUSH2 0x28C1 SWAP2 SWAP1 PUSH2 0x3B72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT AND XOR SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x22E2 JUMPI PUSH1 0x30 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x3D08 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x291E PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x294A PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x2993 PUSH2 0x297C DUP7 PUSH2 0x16A3 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x298E JUMPI PUSH2 0x298E PUSH2 0x38E4 JUMP JUMPDEST PUSH2 0x2C74 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29A8 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29D0 PUSH2 0xD33 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0xF8 DUP4 SWAP1 SHR PUSH1 0x2F DUP2 GT DUP1 ISZERO PUSH2 0x2A12 JUMPI POP PUSH1 0x3A DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A27 JUMPI PUSH1 0x1 SWAP5 PUSH1 0x2F NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x40 LT DUP1 ISZERO PUSH2 0x2A3D JUMPI POP PUSH1 0x47 DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A52 JUMPI PUSH1 0x1 SWAP5 PUSH1 0x36 NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x60 LT DUP1 ISZERO PUSH2 0x2A68 JUMPI POP PUSH1 0x67 DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A7D JUMPI PUSH1 0x1 SWAP5 PUSH1 0x56 NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP4 DUP5 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 MLOAD LT ISZERO PUSH2 0x2AB0 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x1A800FB PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP2 SWAP1 PUSH2 0x3CBD JUMP JUMPDEST POP PUSH1 0x20 ADD MLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2AC3 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH2 0x2ACE DUP4 PUSH2 0x1FDB JUMP JUMPDEST PUSH2 0x2AEA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP1 PUSH2 0x3DF9 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B02 JUMPI PUSH2 0x2B02 PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B13 JUMPI PUSH2 0x2B13 PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2B35 PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B40 DUP4 PUSH2 0x1FDB JUMP JUMPDEST PUSH2 0x2B5C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP1 PUSH2 0x3DF9 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B02 JUMPI PUSH2 0x2B02 PUSH2 0x38E4 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2BD3 JUMPI PUSH1 0x0 PUSH2 0x2B8F DUP5 PUSH2 0x2D10 JUMP JUMPDEST PUSH2 0x2B99 SWAP1 DUP6 PUSH2 0x3AA0 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x2BC3 JUMPI DUP1 SWAP2 POP PUSH2 0x2BD1 JUMP JUMPDEST PUSH2 0x2BCE DUP2 PUSH1 0x1 PUSH2 0x3B80 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x2BE1 DUP8 DUP8 DUP6 DUP6 PUSH2 0x2DF8 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2C1C JUMPI PUSH2 0x2C06 DUP8 PUSH2 0x2BF8 PUSH1 0x1 DUP5 PUSH2 0x3AA0 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2C1F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x22E2 JUMPI PUSH1 0xD0 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x48B SWAP3 SWAP2 SWAP1 PUSH2 0x3D08 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C67 DUP6 DUP6 DUP6 PUSH2 0x2E52 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C7F PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x2C8D DUP6 DUP6 PUSH2 0x2FCC JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CD8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2CFC SWAP2 SWAP1 PUSH2 0x3922 JUMP JUMPDEST PUSH2 0x2D06 SWAP2 SWAP1 PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x17D7 SWAP2 SWAP1 PUSH2 0x3CE6 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x2D22 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x2D2F DUP5 PUSH2 0x2FEC JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D48 JUMPI PUSH2 0x2D48 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D60 JUMPI PUSH2 0x2D60 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D78 JUMPI PUSH2 0x2D78 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D90 JUMPI PUSH2 0x2D90 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2DA8 JUMPI PUSH2 0x2DA8 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2DC0 JUMPI PUSH2 0x2DC0 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2DD8 JUMPI PUSH2 0x2DD8 PUSH2 0x3CD0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x591 DUP2 DUP3 DUP6 DUP2 PUSH2 0x2DF2 JUMPI PUSH2 0x2DF2 PUSH2 0x3CD0 JUMP JUMPDEST DIV PUSH2 0x3080 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x22AE JUMPI PUSH1 0x0 PUSH2 0x2E0F DUP5 DUP5 PUSH2 0x3096 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x2E3E JUMPI DUP1 SWAP3 POP PUSH2 0x2E4C JUMP JUMPDEST PUSH2 0x2E49 DUP2 PUSH1 0x1 PUSH2 0x3B80 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x2DFB JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x2F71 JUMPI PUSH1 0x0 PUSH2 0x2E70 DUP8 PUSH2 0x2BF8 PUSH1 0x1 DUP6 PUSH2 0x3AA0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x2EC4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x2F10 JUMPI DUP5 PUSH2 0x2EE7 DUP9 PUSH2 0x2BF8 PUSH1 0x1 DUP7 PUSH2 0x3AA0 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x2F61 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x2C6C SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x2C6C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x591 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2FE7 JUMPI PUSH2 0x2FE7 PUSH2 0x38E4 JUMP JUMPDEST PUSH2 0x30B1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x3001 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x3013 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x3025 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x3037 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x3049 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x305B JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x306D JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x5A3 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x308F JUMPI DUP2 PUSH2 0x591 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30A5 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x3CE6 JUMP JUMPDEST PUSH2 0x591 SWAP1 DUP5 DUP5 AND PUSH2 0x3B80 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x30BC PUSH2 0xD33 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30D8 JUMPI PUSH2 0x30D8 PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30E9 JUMPI PUSH2 0x30E9 PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3115 JUMPI PUSH2 0x3115 PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3126 JUMPI PUSH2 0x3126 PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x3141 PUSH1 0x1 DUP5 PUSH2 0x3AA0 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x3151 JUMPI PUSH2 0x3151 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x3197 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x5A3 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x31E8 PUSH2 0x31A3 DUP10 PUSH2 0x28E5 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x31BB JUMPI PUSH2 0x31BB PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x31CC JUMPI PUSH2 0x31CC PUSH2 0x38E4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x2B74 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x323B JUMPI PUSH2 0x323B PUSH2 0x31FD JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x325C JUMPI PUSH2 0x325C PUSH2 0x31FD JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x327D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x32A8 PUSH2 0x32A3 DUP4 PUSH2 0x3243 JUMP JUMPDEST PUSH2 0x3213 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x32C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x32E9 JUMPI PUSH2 0x32DC DUP2 PUSH2 0x3266 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x32CB JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3305 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x3315 PUSH2 0x32A3 DUP4 PUSH2 0x3243 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3334 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x32E9 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3338 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT ISZERO PUSH2 0x3368 JUMPI PUSH2 0x3368 PUSH2 0x31FD JUMP JUMPDEST PUSH2 0x337B PUSH1 0x1F DUP5 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x3213 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x338F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x33B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x33C7 PUSH2 0x32A3 DUP4 PUSH2 0x3243 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x33E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x32E9 JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3409 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP8 ADD PUSH1 0x3F DUP2 ADD DUP10 SGT PUSH2 0x341B JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x342C DUP10 DUP7 DUP4 ADD CALLDATALOAD PUSH1 0x40 DUP5 ADD PUSH2 0x334F JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x33EA JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x344B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x591 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x334F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x3477 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x348E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x349A DUP13 DUP4 DUP14 ADD PUSH2 0x3282 JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x34BC DUP13 DUP4 DUP14 ADD PUSH2 0x32F4 JUMP JUMPDEST SWAP9 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x34DE DUP13 DUP4 DUP14 ADD PUSH2 0x33A6 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3500 DUP13 DUP4 DUP14 ADD PUSH2 0x343A JUMP JUMPDEST SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP5 POP PUSH2 0x351C PUSH1 0xC0 DUP13 ADD PUSH2 0x3266 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3532 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x353F DUP12 DUP3 DUP13 ADD PUSH2 0x343A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3567 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3570 DUP7 PUSH2 0x3266 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x358C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3598 DUP10 DUP4 DUP11 ADD PUSH2 0x3282 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x35AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35BA DUP10 DUP4 DUP11 ADD PUSH2 0x32F4 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x35D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x35DD DUP9 DUP3 DUP10 ADD PUSH2 0x33A6 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP3 SWAP6 PUSH1 0x80 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3601 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3640 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x3624 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3665 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x367C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3688 DUP11 DUP4 DUP12 ADD PUSH2 0x3282 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x369E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x36AA DUP11 DUP4 DUP12 ADD PUSH2 0x32F4 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x36C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x36CC DUP11 DUP4 DUP12 ADD PUSH2 0x33A6 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x36E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x36EF DUP10 DUP3 DUP11 ADD PUSH2 0x343A JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3718 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x327D DUP2 PUSH2 0x370A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x3741 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x374A DUP9 PUSH2 0x3266 JUMP JUMPDEST SWAP7 POP PUSH2 0x3758 PUSH1 0x20 DUP10 ADD PUSH2 0x371B JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x3774 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3780 DUP12 DUP4 DUP13 ADD PUSH2 0x3282 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3796 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x37A2 DUP12 DUP4 DUP13 ADD PUSH2 0x32F4 JUMP JUMPDEST SWAP6 POP PUSH1 0x80 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x37B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x37C4 DUP12 DUP4 DUP13 ADD PUSH2 0x33A6 JUMP JUMPDEST SWAP5 POP PUSH1 0xA0 DUP11 ADD CALLDATALOAD SWAP4 POP PUSH1 0xC0 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x37E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x37EE DUP11 DUP3 DUP12 ADD PUSH2 0x343A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3823 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x3807 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP5 DUP3 PUSH1 0x5 SHL DUP7 ADD DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x3888 JUMPI DUP4 DUP4 SUB DUP10 MSTORE PUSH2 0x3876 DUP4 DUP4 MLOAD PUSH2 0x37FD JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP3 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x385E JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x38A8 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x20 DUP4 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x40 DUP6 ADD MSTORE DUP6 AND PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x38D8 DUP2 DUP6 PUSH2 0x3843 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x390A JUMPI PUSH2 0x390A PUSH2 0x38E4 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH2 0x591 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x38FA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3934 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x3979 JUMPI PUSH2 0x3979 PUSH2 0x3951 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP2 GT ISZERO PUSH2 0x5A3 JUMPI PUSH2 0x5A3 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH2 0x39E8 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x39CE JUMPI PUSH2 0x39CE PUSH2 0x3951 JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH2 0x39DB JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH2 0x39B2 JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x39FF JUMPI POP PUSH1 0x1 PUSH2 0x5A3 JUMP JUMPDEST DUP2 PUSH2 0x3A0C JUMPI POP PUSH1 0x0 PUSH2 0x5A3 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x3A22 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x3A2C JUMPI PUSH2 0x3A48 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x3A3D JUMPI PUSH2 0x3A3D PUSH2 0x3951 JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH2 0x5A3 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x3A6B JUMPI POP DUP2 DUP2 EXP PUSH2 0x5A3 JUMP JUMPDEST PUSH2 0x3A75 DUP4 DUP4 PUSH2 0x39AD JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x3A89 JUMPI PUSH2 0x3A89 PUSH2 0x3951 JUMP JUMPDEST MUL SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x591 PUSH1 0xFF DUP5 AND DUP4 PUSH2 0x39F0 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x5A3 JUMPI PUSH2 0x5A3 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3AEC JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3AC7 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3AEC JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3B0B JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3B3A PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x3AB3 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3B4C DUP2 DUP8 PUSH2 0x3AF7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3B60 DUP2 DUP7 PUSH2 0x3843 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x5A3 DUP3 DUP5 PUSH2 0x38FA JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x5A3 JUMPI PUSH2 0x5A3 PUSH2 0x3951 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x3BAA JUMPI PUSH2 0x3BAA PUSH2 0x38E4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3BCE PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x3AB3 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3BE0 DUP2 DUP9 PUSH2 0x3AF7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3BF4 DUP2 DUP8 PUSH2 0x3843 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3C1C PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x3AB3 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3C2E DUP2 DUP10 PUSH2 0x3AF7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3C42 DUP2 DUP9 PUSH2 0x3843 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3C73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x591 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3C9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x591 DUP2 PUSH2 0x370A JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x5A3 JUMPI PUSH2 0x5A3 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x591 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x37FD JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3D03 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x3D3B JUMPI PUSH2 0x3D3B PUSH2 0x3951 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3D55 PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x3AB3 JUMP JUMPDEST PUSH1 0x20 DUP4 DUP3 SUB DUP2 DUP6 ADD MSTORE PUSH2 0x3D68 DUP3 DUP11 PUSH2 0x3AF7 JUMP JUMPDEST SWAP2 POP DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE DUP2 DUP9 MLOAD DUP1 DUP5 MSTORE DUP3 DUP5 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD DUP4 DUP12 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3DB9 JUMPI PUSH1 0x1F NOT DUP8 DUP5 SUB ADD DUP6 MSTORE PUSH2 0x3DA7 DUP4 DUP4 MLOAD PUSH2 0x37FD JUMP JUMPDEST SWAP5 DUP7 ADD SWAP5 SWAP3 POP SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3D8B JUMP JUMPDEST POP POP DUP7 DUP2 SUB PUSH1 0x60 DUP9 ADD MSTORE PUSH2 0x3DCD DUP2 DUP12 PUSH2 0x3843 JUMP JUMPDEST SWAP5 POP POP POP POP POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3DE5 DUP2 DUP7 PUSH2 0x37FD JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xA0 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP1 0xB1 0xED CALLCODE SHR 0x26 CALLDATACOPY SAR 0xAF 0x1F 0xEA PUSH22 0xB1D5EF49B8FEC032FEAA4C7C38B62FFF7C2443AA6473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"2256:38470:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12822:1233;;;;;;;;;;-1:-1:-1;12822:1233:54;;;;;:::i;:::-;;:::i;:::-;;;5463:25:150;;;5451:2;5436:18;12822:1233:54;;;;;;;;15206:960;;;;;;;;;;-1:-1:-1;15206:960:54;;;;;:::i;:::-;;:::i;20893:1299::-;;;;;;;;;;-1:-1:-1;20893:1299:54;;;;;:::i;:::-;;:::i;:::-;;9359:233;;;;;;:::i;:::-;;:::i;:::-;;;6841:4:150;6829:17;;;6811:36;;6799:2;6784:18;9359:233:54;6661:192:150;7622:133:54;;;;;;:::i;:::-;;:::i;9820:888::-;;;:::i;:::-;;;;;;;:::i;11319:799::-;;;;;;;;;;-1:-1:-1;11319:799:54;;;;;:::i;:::-;;:::i;8299:116::-;;;:::i;:::-;;;8848:14:150;;8841:22;8823:41;;8811:2;8796:18;8299:116:54;8675:195:150;14327:432:54;;;;;;:::i;:::-;;:::i;18606:1675::-;;;;;;;;;;-1:-1:-1;18606:1675:54;;;;;:::i;:::-;;:::i;8001:133::-;;;;;;:::i;:::-;;:::i;22620:915::-;;;;;;;;;;-1:-1:-1;22620:915:54;;;;;:::i;:::-;;:::i;23839:599::-;;;;;;;;;;-1:-1:-1;23839:599:54;;;;;:::i;:::-;;:::i;16610:1431::-;;;;;;;;;;-1:-1:-1;16610:1431:54;;;;;:::i;:::-;;:::i;12822:1233::-;13115:7;13130:49;13182:44;:42;:44::i;:::-;13130:96;;13232:18;13253:71;13266:7;13275:6;13283:9;13310:11;13294:29;;;;;;13253:12;:71::i;:::-;13232:92;;13331:202;13360:10;13389:12;13409:11;13428:7;13443:6;13457:9;13474:10;13492:35;13331:21;:202::i;:::-;13639:1;:15;;;;;;;;;;-1:-1:-1;;;;;13639:15:54;-1:-1:-1;;;;;13624:48:54;;13680:28;13716:10;13734;13763:14;13785:9;13624:176;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13820:230;13838:10;13869;13889:7;13906:6;13922:9;13941:11;13962:12;13984:13;14007:35;13820:8;:230::i;:::-;13807:243;12822:1233;-1:-1:-1;;;;;;;;;;;12822:1233:54:o;15206:960::-;15425:7;15440:49;15492:44;:42;:44::i;:::-;15440:96;;15542:18;15563:57;15576:7;15585:6;15593:9;15604:15;15563:12;:57::i;:::-;15542:78;;15627:154;15676:10;15694:81;15734:40;15694:39;:81::i;:::-;15627:41;:154::i;:::-;;15788:17;15808:132;15832:15;15855:10;15873:7;15888:6;15902:9;15919:15;15808:16;:132::i;:::-;15788:152;-1:-1:-1;15951:15:54;;;;15947:191;;15976:23;;;;:11;;;:23;;;;;;;;;:34;;:47;;-1:-1:-1;;;;15976:47:54;-1:-1:-1;;;15976:47:54;;;;;;;;;;;;;16036:38;;12267:25:150;;;12308:18;;;12301:55;16036:38:54;;12240:18:150;16036:38:54;;;;;;;15947:191;;;16102:29;;-1:-1:-1;;;16102:29:54;;;;;;;;;;;15947:191;-1:-1:-1;16151:10:54;15206:960;-1:-1:-1;;;;;;;15206:960:54:o;20893:1299::-;20957:49;21009:44;:42;:44::i;:::-;21059:42;21104:26;;;:14;;;:26;;;;;;;;;;21185:11;;:23;;;;;20957:96;;-1:-1:-1;21104:26:54;;;21185:23;21372:12;:54;;;;;;;;:::i;:::-;;21368:134;;21470:10;21482:12;21443:52;;-1:-1:-1;;;21443:52:54;;;;;;;;;:::i;:::-;;;;;;;;21368:134;21584:245;21633:10;21742:81;21782:40;21742:39;:81::i;:::-;21651:80;21691:39;21651;:80::i;:::-;:172;21584:41;:245::i;:::-;-1:-1:-1;21839:21:54;;;;-1:-1:-1;;;21839:21:54;;;;:109;;;;-1:-1:-1;21908:40:54;21864;21893:10;21864:28;:40::i;:::-;:84;;;;;;;;:::i;:::-;;21839:109;21835:189;;;21992:10;22004:12;21965:52;;-1:-1:-1;;;21965:52:54;;;;;;;;;:::i;21835:189::-;22030:38;;;;:26;;;:38;;;;;;;;;:96;;-1:-1:-1;;22030:96:54;22071:55;22030:96;;;22154:33;;5463:25:150;;;22154:33:54;;5436:18:150;22154:33:54;;;;;;;20951:1241;;;20893:1299;:::o;9359:233::-;9432:5;9445:49;9497:44;:42;:44::i;:::-;9560:26;;;;:14;;;:26;;;;;;9445:96;;-1:-1:-1;9560:26:54;;;9554:33;;;;;;;:::i;:::-;9547:40;9359:233;-1:-1:-1;;;9359:233:54:o;7622:133::-;7699:7;7721:29;7739:10;7721:17;:29::i;:::-;7714:36;7622:133;-1:-1:-1;;7622:133:54:o;9820:888::-;9873:16;9897:49;9949:44;:42;:44::i;:::-;9897:96;;9999:22;10024:1;:19;;;;;;;;;;-1:-1:-1;;;;;10024:19:54;-1:-1:-1;;;;;10024:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10066:32;10101:35;;;:19;;;:35;;;;;10156:21;;9999:61;;-1:-1:-1;10101:35:54;10156:21;;-1:-1:-1;;;;;10220:18:54;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10220:18:54;;10183:55;;10244:19;10275:9;10270:262;10290:3;10286:1;:7;10270:262;;;10308:18;10329:14;10344:1;10329:17;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;10402:37:54;10358:40;10387:10;10358:28;:40::i;:::-;:81;;;;;;;;:::i;:::-;;10354:172;;10484:10;10451:17;10469:11;10451:30;;;;;;;;:::i;:::-;;;;;;;;;;:43;10504:13;;;;:::i;:::-;;;;10354:172;-1:-1:-1;10295:3:54;;;;:::i;:::-;;;;10270:262;;;;10538:24;10579:11;-1:-1:-1;;;;;10565:26:54;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10565:26:54;;10538:53;;10602:9;10597:86;10617:11;10613:1;:15;10597:86;;;10656:17;10674:1;10656:20;;;;;;;;:::i;:::-;;;;;;;10643:7;10651:1;10643:10;;;;;;;;:::i;:::-;;;;;;;;;;:33;10630:3;;;;:::i;:::-;;;;10597:86;;11319:799;11531:7;11546:16;11565:10;11546:29;;11582:18;11603:71;11616:7;11625:6;11633:9;11660:11;11644:29;;;;;;11603:12;:71::i;:::-;11582:92;;11681:192;11710:8;11726:12;11746:11;11765:7;11780:6;11794:9;11811:10;11829:38;11681:21;:192::i;:::-;11893:220;11911:8;11929:10;11949:7;11966:6;11982:9;12001:11;12022:12;12044:13;12067:38;11893:8;:220::i;:::-;11880:233;11319:799;-1:-1:-1;;;;;;;;;11319:799:54:o;8299:116::-;8361:4;8380:30;:28;:30::i;:::-;8373:37;;8299:116;:::o;14327:432::-;14408:4;14420:49;14472:44;:42;:44::i;:::-;14522:46;14571:23;;;:11;;;;:23;;;;;14604:25;;;;14420:96;;-1:-1:-1;14571:23:54;14604:30;;14600:63;;-1:-1:-1;14651:5:54;;14327:432;-1:-1:-1;;;14327:432:54:o;14600:63::-;14673:21;;;;-1:-1:-1;;;14673:21:54;;;;14669:86;;;-1:-1:-1;14711:4:54;;14327:432;-1:-1:-1;;;14327:432:54:o;14669:86::-;-1:-1:-1;14743:5:54;;14327:432;-1:-1:-1;;;14327:432:54:o;18606:1675::-;18825:7;18840:49;18892:44;:42;:44::i;:::-;18840:96;;18942:18;18963:57;18976:7;18985:6;18993:9;19004:15;18963:12;:57::i;:::-;18942:78;;19042:28;19059:10;19042:16;:28::i;:::-;-1:-1:-1;;;;;19031:39:54;:7;-1:-1:-1;;;;;19031:39:54;;;:49;;;;;19075:5;19074:6;19031:49;19027:104;;;19116:7;19097:27;;-1:-1:-1;;;19097:27:54;;;;;;;;:::i;19027:104::-;19137:678;19186:10;19729:80;19769:39;19729;:80::i;:::-;19633:85;19673:44;19633:39;:85::i;:::-;19541:81;19581:40;19541:39;:81::i;:::-;19445:85;19485:44;19445:39;:85::i;:::-;19354:80;19394:39;19354;:80::i;:::-;19263;19303:39;19263;:80::i;:::-;2089:1:56;2033:51;2039:40;2089:1;2033:51;:::i;:::-;2027:58;;:1;:58;:::i;:::-;2026:64;;;;:::i;:::-;19204:139:54;:230;:326;:418;:514;:605;19137:41;:678::i;:::-;;19837:28;19854:10;19837:16;:28::i;:::-;-1:-1:-1;;;;;19826:39:54;:7;-1:-1:-1;;;;;19826:39:54;;19822:209;;19936:38;19892:40;19921:10;19892:28;:40::i;:::-;:82;;;;;;;;:::i;:::-;;19875:149;;;;-1:-1:-1;;;19875:149:54;;15792:2:150;19875:149:54;;;15774:21:150;15831:2;15811:18;;;15804:30;15870:32;15850:18;;;15843:60;15920:18;;19875:149:54;15590:354:150;19875:149:54;20037:18;20058:25;;;:13;;;:25;;;;;;20093:15;;20089:138;;20134:10;;;;:29;;-1:-1:-1;;;20134:29:54;;;;;5463:25:150;;;-1:-1:-1;;;;;20134:10:54;;;;:17;;5436:18:150;;20134:29:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20195:25:54;;;;:13;;;:25;;;;;20188:32;-1:-1:-1;20089:138:54;20240:36;20248:10;20260:7;20269:6;20240:7;:36::i;8001:133::-;8078:7;8100:29;8118:10;8100:17;:29::i;22620:915::-;22680:49;22732:44;:42;:44::i;:::-;22782:42;22827:26;;;:14;;;:26;;;;;;22680:96;;-1:-1:-1;22827:26:54;;;;;23017:12;:54;;;;;;;;:::i;:::-;;23013:134;;23115:10;23127:12;23088:52;;-1:-1:-1;;;23088:52:54;;;;;;;;;:::i;23013:134::-;23217:158;23266:10;23284:85;23324:44;23284:39;:85::i;23217:158::-;-1:-1:-1;23381:38:54;;;;:26;;;:38;;;;;;;;;:92;;-1:-1:-1;;23381:92:54;23422:51;23381:92;;;23501:29;;5463:25:150;;;23501:29:54;;5436:18:150;23501:29:54;;;;;;;22674:861;;22620:915;:::o;23839:599::-;23905:49;23957:44;:42;:44::i;:::-;23905:96;;24007:250;24056:10;24170:81;24210:40;24170:39;:81::i;:::-;24074:85;24114:44;24074:39;:85::i;24007:250::-;-1:-1:-1;24304:60:54;24263:38;;;:26;;;:38;;;;;;;;;:101;;-1:-1:-1;;24263:101:54;;;24392:41;;5463:25:150;;;24392:41:54;;5436:18:150;24392:41:54;;;;;;;23899:539;23839:599;:::o;16610:1431::-;16831:7;16846:49;16898:44;:42;:44::i;:::-;16846:96;;16948:18;16969:57;16982:7;16991:6;16999:9;17010:15;16969:12;:57::i;:::-;16948:78;;17033:243;17082:10;17192:78;17232:37;17192:39;:78::i;:::-;17100:81;17140:40;17100:39;:81::i;17033:243::-;-1:-1:-1;17340:23:54;;;;17375:4;17340:11;;:23;;;;;:32;;:39;;-1:-1:-1;;;;17340:39:54;-1:-1:-1;;;17340:39:54;;;-1:-1:-1;;;;;17448:56:54;;:37;:35;:37::i;:::-;-1:-1:-1;;;;;17448:56:54;;17444:241;;17519:9;17514:165;17534:7;:14;17530:1;:18;17514:165;;;17591:4;-1:-1:-1;;;;;17569:27:54;:7;17577:1;17569:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;17569:27:54;;17565:106;;17610:50;17646:9;17656:1;17646:12;;;;;;;;:::i;:::-;;;;;;;17636:23;;;;;;17610:1;:16;;:25;;:50;;;;:::i;:::-;17550:3;;;:::i;:::-;;;17514:165;;;;17444:241;17691:92;17710:15;17727:10;17739:7;17748:6;17756:9;17767:15;17691:18;:92::i;:::-;17888:15;-1:-1:-1;;;;;17847:56:54;:37;:35;:37::i;:::-;-1:-1:-1;;;;;17847:56:54;;;:85;;;;-1:-1:-1;17908:16:54;;;5832:12:40;-1:-1:-1;;;;;5832:12:40;;;-1:-1:-1;;;5818:10:40;;;;:26;17907:25:54;17847:85;17843:130;;;5383:1:40;17942:16:54;;;5394:14:40;17942:24:54;17984:28;;5463:25:150;;;17984:28:54;;5451:2:150;5436:18;17984:28:54;;;;;;;18026:10;16610:1431;-1:-1:-1;;;;;;;16610:1431:54:o;2703:146:57:-;2816:23;;2703:146::o;5930:269:54:-;6097:7;6148;6157:6;6165:9;6176:15;6137:55;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6137:55:54;;;;;;;;;6127:66;;6137:55;6127:66;;;;;5930:269;-1:-1:-1;;;;;5930:269:54:o;27873:1693::-;28172:49;28224:44;:42;:44::i;:::-;28172:96;;28313:38;28333:17;28313:19;:38::i;:::-;28308:113;;28396:17;28368:46;;-1:-1:-1;;;28368:46:54;;;;;;;;:::i;28308:113::-;28482:1;:19;;;;;;;;;;-1:-1:-1;;;;;28482:19:54;-1:-1:-1;;;;;28482:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28466:12;:52;28462:119;;28535:39;;-1:-1:-1;;;28535:39:54;;;;;5463:25:150;;;5436:18;;28535:39:54;5309:185:150;28462:119:54;28683:1;:19;;;;;;;;;;-1:-1:-1;;;;;28683:19:54;-1:-1:-1;;;;;28683:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;;28722:1;28683:40;:::i;:::-;28667:12;:56;28663:178;;28738:30;:28;:30::i;:::-;28733:102;;28787:39;;-1:-1:-1;;;28787:39:54;;;;;5463:25:150;;;5436:18;;28787:39:54;5309:185:150;28733:102:54;28908:38;28887:17;:59;;;;;;;;:::i;:::-;;28883:200;;28961:52;28991:8;29001:11;28961:29;:52::i;:::-;28956:121;;29059:8;29032:36;;-1:-1:-1;;;29032:36:54;;;;;;;;:::i;28956:121::-;29111:6;:13;29093:7;:14;:31;;:69;;;;29146:9;:16;29128:7;:14;:34;;29093:69;29089:175;;;29209:14;;29225:16;;29243:13;;29179:78;;-1:-1:-1;;;29179:78:54;;;;;18352:25:150;;;;18393:18;;;18386:34;;;;18436:18;;;18429:34;18325:18;;29179:78:54;18150:319:150;29089:175:54;29274:23;;;;:11;;;;:23;;;;;;:40;;:45;29270:203;;29401:10;29413:40;29442:10;29413:28;:40::i;:::-;29369:97;;-1:-1:-1;;;29369:97:54;;;;;;29463:1;;29369:97;;;:::i;29270:203::-;29479:82;29542:7;29551:9;29479:62;:82::i;:::-;28166:1400;27873:1693;;;;;;;;:::o;25158:1267::-;25469:7;25484:49;25536:44;:42;:44::i;:::-;25484:96;;25586:30;25619:74;25675:17;25619:55;:74::i;:::-;25586:107;;25699:19;25721:53;25739:1;:19;;;;;;;;;;-1:-1:-1;;;;;25739:19:54;-1:-1:-1;;;;;25739:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25721:17;:53::i;:::-;25800:14;;25699:75;;-1:-1:-1;25800:18:54;;25825:46;25843:8;25853:17;25825;:46::i;:::-;25878:188;25898:10;25916:8;25932:12;25952;25972;25992:13;26013:22;26043:17;25878:12;:188::i;:::-;26077:17;;26073:111;;26104:73;26141:13;26156:8;26166:10;26104:36;:73::i;:::-;26190:206;26224:8;26240:10;26258:7;26273:6;26287:9;26304:11;26323:12;26343:22;26373:17;26190:26;:206::i;:::-;-1:-1:-1;26410:10:54;;25158:1267;-1:-1:-1;;;;;;;;;;;;25158:1267:54:o;4026:157:56:-;4122:7;4163:13;4157:20;;;;;;;;:::i;:::-;4152:1;:25;;;;;;;4026:157;-1:-1:-1;;4026:157:56:o;3360:405::-;3467:30;3505:43;3551:18;3558:10;3551:6;:18::i;:::-;3505:64;-1:-1:-1;3638:1:56;3613:13;3579:31;3505:64;3579:17;:31::i;:::-;:47;:61;3575:161;;3689:10;3701:12;3715:13;3657:72;;-1:-1:-1;;;3657:72:56;;;;;;;;;;:::i;33303:739:54:-;33556:6;33570:49;33622:44;:42;:44::i;:::-;33570:96;;33672:13;33688:1;:10;;;;;;;;;;-1:-1:-1;;;;;33688:10:54;-1:-1:-1;;;;;33688:22:54;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33672:40;;33719:12;33734:73;33774:15;33791;33734:39;:73::i;:::-;33841:10;;;;:66;;-1:-1:-1;;;33841:66:54;;33719:88;;-1:-1:-1;;;;;;33841:10:54;;:29;;:66;;33871:7;;33880:6;;33888:9;;33841:10;;33719:88;;33841:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33813:25;;;;:13;;;:25;;;;;;:94;;;;33913:10;;;;:68;;-1:-1:-1;;;33913:68:54;;-1:-1:-1;;;;;33913:10:54;;;;:24;;:68;;33938:7;;33947:6;;33955:9;;33813:25;33969:4;;33975:5;;33913:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33995:42;34031:5;34013:15;:23;;;;:::i;:::-;33995:17;:42::i;:::-;33988:49;33303:739;-1:-1:-1;;;;;;;;;;33303:739:54:o;4390:2351:56:-;4457:30;4495:49;4547:44;:42;:44::i;:::-;4634:46;4683:23;;;:11;;;;:23;;;;;;;;4781:26;;;:38;;;;;;;4849:17;;;;4495:96;;-1:-1:-1;4683:23:56;;4781:38;;;;;-1:-1:-1;;;4849:17:56;;;;;-1:-1:-1;;;4896:17:56;;;;;4924:24;:83;;;;;;;;:::i;:::-;;4920:155;;-1:-1:-1;5024:44:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;4920:155::-;5113:51;5085:24;:79;;;;;;;;:::i;:::-;;5081:147;;-1:-1:-1;5181:40:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5081:147::-;5238:16;5234:83;;;-1:-1:-1;5271:39:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5234:83::-;5327:16;5323:83;;;-1:-1:-1;5360:39:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5323:83::-;5416:8;:25;;;5445:1;5416:30;5412:97;;5463:39;;-1:-1:-1;;;5463:39:56;;;;;:25:150;;;5436:18;;5463:39:56;5309:185:150;5412:97:56;5598:8;:25;;;5559:1;:19;;;;;;;;;;-1:-1:-1;;;;;5559:19:56;-1:-1:-1;;;;;5559:34:56;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;5555:130;;;-1:-1:-1;5640:38:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5555:130::-;5691:24;5718:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5691:56;;;;5753:16;5772:54;5815:10;5772:42;:54::i;:::-;5753:73;;5838:58;5885:10;5838:46;:58::i;:::-;5833:131;;-1:-1:-1;5913:44:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;5833:131::-;5986:16;5974:8;:28;5970:767;;-1:-1:-1;6019:37:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;5970:767::-;6081:48;6118:10;6081:36;:48::i;:::-;6080:49;:101;;;;6134:47;6170:10;6134:35;:47::i;:::-;6133:48;6080:101;6069:668;;;-1:-1:-1;6203:39:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;6069:668::-;6259:48;6296:10;6259:36;:48::i;:::-;6311:1;6259:53;6255:482;;-1:-1:-1;6329:40:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;6255:482::-;6390:15;6408:25;;;:13;;;:25;;;;;;;;6445:10;;;;:38;;-1:-1:-1;;;6445:38:56;;;;;5463:25:150;;;6408::56;;-1:-1:-1;;;;;6445:10:56;;:29;;5436:18:150;;6445:38:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6441:290;;;-1:-1:-1;6502:37:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;6441:290::-;6558:10;;;;:35;;-1:-1:-1;;;6558:35:56;;;;;5463:25:150;;;-1:-1:-1;;;;;6558:10:56;;;;:26;;5436:18:150;;6558:35:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6554:177;;;-1:-1:-1;6612:39:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;6554:177::-;-1:-1:-1;6683:39:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;35807:1163:54:-;35885:7;35900:49;35952:44;:42;:44::i;:::-;35900:96;;36109:1;:11;;:23;36121:10;36109:23;;;;;;;;;;;:40;;;36069:1;:19;;;;;;;;;;-1:-1:-1;;;;;36069:19:54;-1:-1:-1;;;;;36069:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36065:285;;36157:49;36209:44;:42;:44::i;:::-;36268:19;;;;;36302:23;;;36268:19;36302:11;;;:23;;;;;;;:40;;36268:75;;-1:-1:-1;;;36268:75:54;;;;;5463:25:150;;;;36268:19:54;;-1:-1:-1;;;;;;36268:19:54;;:33;;5436:18:150;;36268:75:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36261:82;35807:1163;-1:-1:-1;;;;35807:1163:54:o;36065:285::-;36428:19;;;;:36;;;-1:-1:-1;;;36428:36:54;;;;36356:26;;-1:-1:-1;;;;;36428:19:54;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36385:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;36356:108;-1:-1:-1;36470:26:54;36537:22;36558:1;36356:108;36537:22;:::i;:::-;36499:1;:19;;;;;;;;;;-1:-1:-1;;;;;36499:19:54;-1:-1:-1;;;;;36499:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36470:90;;36622:28;36653:1;:19;;;;;;;;;;-1:-1:-1;;;;;36653:19:54;-1:-1:-1;;;;;36653:40:54;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36622:73;;36792:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36768:53;;:20;:53;36764:126;;36854:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36831:52;;;;36764:126;36947:18;36903:41;36926:18;36903:20;:41;:::i;:::-;:62;;;;:::i;:::-;36896:69;35807:1163;-1:-1:-1;;;;;;35807:1163:54:o;34895:740::-;34961:4;34973:49;35025:44;:42;:44::i;:::-;34973:96;;35075:22;35100:1;:19;;;;;;;;;;-1:-1:-1;;;;;35100:19:54;-1:-1:-1;;;;;35100:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35173:19;;;;:49;;-1:-1:-1;;;35173:49:54;;;;;5463:25:150;;;35075:61:54;;-1:-1:-1;35142:28:54;;-1:-1:-1;;;;;35173:19:54;;;;:33;;5436:18:150;;35173:49:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35142:80;;35228:19;35250:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35228:51;;35391:12;35367:36;;:20;:36;35363:69;;35420:5;35413:12;;;;;;34895:740;:::o;35363:69::-;35549:35;;;;:20;:35;:::i;:::-;35530:1;:16;;;:54;35526:87;;;35601:5;35594:12;;;;;;34895:740;:::o;35526:87::-;35626:4;35619:11;;;;;;34895:740;:::o;6353:238::-;6430:7;6445:49;6497:44;:42;:44::i;:::-;6554:23;;;;:11;;:23;;-1:-1:-1;;6554:23:54;;;:32;-1:-1:-1;;;;;6554:32:54;;6353:238::o;34315:401::-;34425:7;34440:49;34492:44;:42;:44::i;:::-;34542:23;;;;34577:4;34542:11;;:23;;;;;;;:32;;:39;;-1:-1:-1;;;;34542:39:54;-1:-1:-1;;;34542:39:54;;;34592:28;34440:96;;-1:-1:-1;34592:28:54;;;;34554:10;5463:25:150;;5451:2;5436:18;;5309:185;34592:28:54;;;;;;;;34670:8;-1:-1:-1;;;;;34631:56:54;34658:10;34631:56;34680:6;34631:56;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;34701:10:54;;34315:401;-1:-1:-1;;;34315:401:54:o;37142:769::-;37220:7;37235:49;37287:44;:42;:44::i;:::-;37235:96;;37474:1;:11;;:23;37486:10;37474:23;;;;;;;;;;;:40;;;37434:1;:19;;;;;;;;;;-1:-1:-1;;;;;37434:19:54;-1:-1:-1;;;;;37434:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;37430:285;;37522:49;37574:44;:42;:44::i;:::-;37633:19;;;;;37667:23;;;37633:19;37667:11;;;:23;;;;;;;:40;;37633:75;;-1:-1:-1;;;37633:75:54;;;;;5463:25:150;;;;37633:19:54;;-1:-1:-1;;;;;;37633:19:54;;:33;;5436:18:150;;37633:75:54;5309:185:150;37430:285:54;37872:1;:19;;;;;;;;;;-1:-1:-1;;;;;37872:19:54;-1:-1:-1;;;;;37872:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37840:29;37858:10;37840:17;:29::i;:::-;:66;;;;:::i;2651:191:53:-;2694:7;2709:49;2761:44;:42;:44::i;:::-;2826:10;;;-1:-1:-1;;;;;2826:10:53;;2651:191;-1:-1:-1;;2651:191:53:o;1985:302:40:-;2109:10;;-1:-1:-1;;;;;;;;2109:10:40;;;;;2154:12;;;2137:13;;:29;;;;2133:53;;2175:11;;-1:-1:-1;;;2175:11:40;;;;;;;;;;;2133:53;-1:-1:-1;;;;;2200:22:40;;;;;;;:11;;;;:22;;;;;;:30;;;;2244:26;;2257:13;;;;2244:26;;-1:-1:-1;;;2244:26:40;;;;;;1985:302::o;32153:639:54:-;32405:49;32457:44;:42;:44::i;:::-;32537:10;;;;32405:96;;-1:-1:-1;;;;;;32537:10:54;:23;32569:9;32588:7;32603:6;32617:9;32537:10;32643:73;32683:15;32700;32643:39;:73::i;:::-;32537:185;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;32762:25:54;;;;-1:-1:-1;;32762:13:54;;:25;;-1:-1:-1;;32762:25:54;;;32755:32;;;;-1:-1:-1;;;32153:639:54:o;39754:250::-;39855:4;;39880:17;:59;;;;;;;;:::i;:::-;;:119;;;-1:-1:-1;39964:35:54;39943:17;:56;;;;;;;;:::i;:::-;;39867:132;39754:250;-1:-1:-1;;39754:250:54:o;38289:1279::-;38421:25;;38395:4;;38525:2;38519:8;;38515:40;;;38544:4;38537:11;;;;;38515:40;38955:30;;;-1:-1:-1;;38955:30:54;38949:37;-1:-1:-1;;;;;;39074:33:54;;-1:-1:-1;;;39074:33:54;39070:65;;39124:4;39117:11;;;;;;39070:65;39204:17;;39244:8;39250:2;39244:3;:8;:::i;:::-;39232:20;;39227:293;39258:3;39254:1;:7;39227:293;;;39277:10;39289:11;39304:35;39323:11;39336:1;39317:21;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;39317:21:54;39304:12;:35::i;:::-;39276:63;;;;39433:5;39428:42;;39457:4;39450:11;;;;;;;;;;39428:42;39508:5;39489:24;;39503:1;39490:9;-1:-1:-1;;;;;39490:14:54;;;39489:24;39477:36;;39268:252;;39263:3;;;;:::i;:::-;;;39227:293;;;;39554:8;-1:-1:-1;;;;;39533:30:54;:9;-1:-1:-1;;;;;39533:30:54;;39526:37;;;;;38289:1279;;;;:::o;4069:540:52:-;4188:49;4240:44;:42;:44::i;:::-;4294:30;;;;4188:96;;-1:-1:-1;4294:30:52;;4290:315;;;4339:9;4334:265;4354:7;:14;4350:1;:18;4334:265;;;4385:23;4411:37;4435:9;4445:1;4435:12;;;;;;;;:::i;:::-;;;;;;;4411:23;:37::i;:::-;4385:63;;4463:1;:22;;:34;4486:7;4494:1;4486:10;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;4463:34:52;;;;;;;;;;;;;;-1:-1:-1;4463:34:52;;;-1:-1:-1;;;;;;4463:52:52;;;;;;;;;;;;4458:133;;4536:44;;-1:-1:-1;;;4536:44:52;;-1:-1:-1;;;;;;21918:33:150;;4536:44:52;;;21900:52:150;21873:18;;4536:44:52;21756:202:150;4458:133:52;-1:-1:-1;4370:3:52;;;;:::i;:::-;;;;4334:265;;;;4290:315;4182:427;4069:540;;:::o;9123:589:51:-;9239:7;9254:49;9306:44;:42;:44::i;:::-;9254:96;;9356:32;9492:3;9468:1;:6;;;;;;;;;;-1:-1:-1;;;;;9468:6:51;-1:-1:-1;;;;;9468:18:51;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9392:67;9446:12;9392:53;:67::i;:::-;:96;;;;:::i;:::-;9391:104;;;;:::i;:::-;9356:139;;9501:20;9524:60;9571:12;9524:46;:60::i;:::-;9501:83;;9622:12;9595:24;:39;9591:79;;;9651:12;9123:589;-1:-1:-1;;;;9123:589:51:o;9591:79::-;-1:-1:-1;9683:24:51;9123:589;-1:-1:-1;;;9123:589:51:o;15291:213:37:-;15347:6;15377:16;15369:24;;15365:103;;;15447:2;15451:5;15416:41;;-1:-1:-1;;;15416:41:37;;;;;;;;;:::i;15365:103::-;-1:-1:-1;15491:5:37;15291:213::o;31202:515:54:-;31327:49;31379:44;:42;:44::i;:::-;31327:96;;31429:22;31454:1;:31;;:50;31486:17;31454:50;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;31454:50:54;;;;31526:14;;;;31549:43;;-1:-1:-1;;;31549:43:54;;31454:50;;-1:-1:-1;;;;;;;;31526:14:54;;:22;;:14;;31549:33;;:43;;31583:8;;31549:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31526:67;;;;;;;;;;;;;5463:25:150;;5451:2;5436:18;;5309:185;31526:67:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31510:83;;31626:14;31618:5;:22;31614:99;;;31657:49;;-1:-1:-1;;;31657:49:54;;-1:-1:-1;;;;;22780:32:150;;31657:49:54;;;22762:51:150;22829:18;;;22822:34;;;22735:18;;31657:49:54;22588:274:150;31614:99:54;31321:396;;;31202:515;;:::o;30153:873::-;30435:49;30487:44;:42;:44::i;:::-;30435:96;;30537:46;30586:1;:11;;:23;30598:10;30586:23;;;;;;;;;;;30537:72;;30636:8;30616;:17;;;:28;;;;;-1:-1:-1;;;;;30616:28:54;;;;;-1:-1:-1;;;;;30616:28:54;;;;;;30678:16;30650:8;:25;;:44;;;;30724:12;30700:8;:21;;;:36;;;;;;;;;;;;;;;;;;30766:12;30742:8;:21;;;:36;;;;;;;;;;;;;;;;;;30809:13;30784:8;:22;;:38;;;;30856:24;30828:8;:25;;:52;;;;30944:17;30915:1;:14;;:26;30930:10;30915:26;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;30967:37:54;;;;:19;;:37;;;;;;;:54;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;30153:873:54:o;6047:682:51:-;6155:49;6207:44;:42;:44::i;:::-;6265:6;;;;:53;;-1:-1:-1;;;6265:53:51;;-1:-1:-1;;;;;23125:15:150;;;6265:53:51;;;23107:34:150;6304:4:51;23157:18:150;;;23150:43;23209:18;;;23202:34;;;6265:6:51;;-1:-1:-1;6265:6:51;;;:19;;23042:18:150;;6265:53:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6257:98;;;;-1:-1:-1;;;6257:98:51;;23449:2:150;6257:98:51;;;23431:21:150;;;23468:18;;;23461:30;23527:34;23507:18;;;23500:62;23579:18;;6257:98:51;23247:356:150;6257:98:51;6362:22;;;;:10;;;:22;;;;;;;;-1:-1:-1;;;;;6362:33:51;;;;;;;;;:43;;6399:6;;6362:22;:43;;6399:6;;6362:43;:::i;:::-;;;;;;;;6412:20;6435:81;6486:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6435:32:51;;;;;;:21;;;:32;;;;;;:50;:81::i;:::-;6412:104;;6522:16;6556:26;6575:6;6556:18;:26::i;:::-;6541:41;;:12;:41;:::i;:::-;6522:60;;6588:78;6626:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6588:32:51;;;;;;:21;;;:32;;;;;;6657:8;6588:37;:78::i;:::-;;;6705:10;6694:9;-1:-1:-1;;;;;6678:46:51;;6717:6;6678:46;;;;5463:25:150;;5451:2;5436:18;;5309:185;6678:46:51;;;;;;;;6149:580;;;6047:682;;;:::o;26663:716:54:-;27215:12;27098:8;-1:-1:-1;;;;;27057:206:54;27080:10;27057:206;27114:7;27129:6;27156:7;:14;-1:-1:-1;;;;;27143:28:54;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27179:9;27196:11;27235:22;27057:206;;;;;;;;;;;:::i;:::-;;;;;;;;27344:10;27320:54;27356:17;27320:54;;;;;;:::i;:::-;;;;;;;;26663:716;;;;;;;;;:::o;2301:164:53:-;2418:24;;-1:-1:-1;;;;;;2418:42:53;;;2301:164::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14447:2;14451:5;14416:41;;-1:-1:-1;;;14416:41:37;;;;;;;;;:::i;8403:338:51:-;8486:4;8498:49;8550:44;:42;:44::i;:::-;8600:46;8649:23;;;:11;;:23;;-1:-1:-1;;8649:23:51;;;8711:25;;;;8685:22;;;;;:51;;;8403:338::o;8601:423:55:-;8675:4;8687:49;8739:44;:42;:44::i;:::-;8789:42;8834:26;;;:14;;;:26;;;;;;;;;8987:20;;;:32;;;;;;;8687:96;;-1:-1:-1;8834:26:55;;;8880:97;8901:54;8849:10;8901:42;:54::i;:::-;8963:12;8957:19;;;;;;;;:::i;:::-;8880:20;:97::i;:::-;:139;;;8601:423;-1:-1:-1;;;;8601:423:55:o;6559:327:59:-;6625:4;6637:49;6689:44;:42;:44::i;:::-;6739:50;6792:27;;;:15;;:27;;-1:-1:-1;;6792:27:59;;;6856:25;;6832:21;;;;;:49;;6559:327::o;6759:235:54:-;6831:7;6846:49;6898:44;:42;:44::i;:::-;6955:23;;;;:11;;:23;;-1:-1:-1;;6955:23:54;;;:34;;;-1:-1:-1;;;6955:34:54;;;;;6759:235::o;40249:474::-;40306:4;;40335:11;;;;40392:2;:6;-1:-1:-1;40392:16:54;;;;;40406:2;40402:1;:6;;;40392:16;40388:325;;;40428:4;;-1:-1:-1;;40434:6:54;;;;-1:-1:-1;40249:474:54;-1:-1:-1;;40249:474:54:o;40388:325::-;40489:1;40484:6;;:2;:6;:16;;;;;40498:2;40494:1;:6;;;40484:16;40480:233;;;40520:4;;-1:-1:-1;;40526:6:54;;;;-1:-1:-1;40249:474:54;-1:-1:-1;;40249:474:54:o;40480:233::-;40581:1;40576:6;;:2;:6;:17;;;;;40590:3;40586:1;:7;;;40576:17;40572:141;;;40613:4;;-1:-1:-1;;40619:6:54;;;;-1:-1:-1;40249:474:54;-1:-1:-1;;40249:474:54:o;40572:141::-;-1:-1:-1;40695:5:54;;;;-1:-1:-1;40249:474:54;-1:-1:-1;;40249:474:54:o;4955:245:52:-;5029:6;5061:1;5047:4;:11;:15;5043:65;;;5103:4;5071:37;;-1:-1:-1;;;5071:37:52;;;;;;;;:::i;5043:65::-;-1:-1:-1;5170:2:52;5160:13;5154:20;;4955:245::o;16402:412:50:-;16508:7;16523:49;16575:44;:42;:44::i;:::-;16523:96;;16633:58;16678:12;16633:44;:58::i;:::-;16625:117;;;;-1:-1:-1;;;16625:117:50;;;;;;;:::i;:::-;16755:1;:40;;:54;16796:12;16755:54;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16748:61;;;16402:412;;;:::o;17318:398::-;17417:7;17432:49;17484:44;:42;:44::i;:::-;17432:96;;17542:58;17587:12;17542:44;:58::i;:::-;17534:117;;;;-1:-1:-1;;;17534:117:50;;;;;;;:::i;:::-;17664:1;:33;;:47;17698:12;17664:47;;;;;;;;:::i;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4328:3;4333:5;4297:42;;-1:-1:-1;;;4297:42:37;;;;;;;;;:::i;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;6688:370:55:-;6795:7;6810:49;6862:44;:42;:44::i;:::-;6810:96;-1:-1:-1;3199:3:55;6965:59;6995:9;7006:17;6965:29;:59::i;:::-;6926:6;;;;:36;;-1:-1:-1;;;6926:36:55;;;;;5463:25:150;;;-1:-1:-1;;;;;6926:6:55;;;;:25;;5436:18:150;;6926:36:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6925:128;;;;:::i;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;11513:870;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;4472:234:55;4588:7;4610:91;4641:9;4682:17;4652:48;;;;;;;;;;:::i;:::-;4610:30;:91::i;10699:983:36:-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;9375:792:55:-;9518:7;9533:49;9585:44;:42;:44::i;:::-;9533:96;;9635:14;9652:1;:20;;:39;9673:17;9652:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9652:39:55;;;:59;;-1:-1:-1;9815:20:55;;;-1:-1:-1;9836:17:55;9815:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9815:39:55;9868:10;9877:1;9868:6;:10;:::i;:::-;9815:64;;;;;;;;:::i;:::-;;;;;;;;;;9904:11;;9815:64;;-1:-1:-1;9904:11:55;;;;-1:-1:-1;;;9943:13:55;;-1:-1:-1;;;;;9943:13:55;9966:22;;;9962:61;;-1:-1:-1;;;;;9998:18:55;;-1:-1:-1;9998:18:55;;-1:-1:-1;;;;9998:18:55;9962:61;10075:87;10133:28;10151:9;10133:17;:28::i;:::-;10075:1;:20;;:39;10096:17;10075:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:57;;:87;;;;:::i;:::-;-1:-1:-1;;;;;10068:94:55;;9375:792;-1:-1:-1;;;;;;;;9375:792:55:o;14:127:150:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:150;247:40;;-1:-1:-1;;;;;302:34:150;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:150:o;426:183::-;486:4;-1:-1:-1;;;;;508:30:150;;505:56;;;541:18;;:::i;:::-;-1:-1:-1;586:1:150;582:14;598:4;578:25;;426:183::o;614:173::-;682:20;;-1:-1:-1;;;;;731:31:150;;721:42;;711:70;;777:1;774;767:12;711:70;614:173;;;:::o;792:668::-;846:5;899:3;892:4;884:6;880:17;876:27;866:55;;917:1;914;907:12;866:55;953:6;940:20;979:4;1003:60;1019:43;1059:2;1019:43;:::i;:::-;1003:60;:::i;:::-;1097:15;;;1183:1;1179:10;;;;1167:23;;1163:32;;;1128:12;;;;1207:15;;;1204:35;;;1235:1;1232;1225:12;1204:35;1271:2;1263:6;1259:15;1283:148;1299:6;1294:3;1291:15;1283:148;;;1365:23;1384:3;1365:23;:::i;:::-;1353:36;;1409:12;;;;1316;;1283:148;;;-1:-1:-1;1449:5:150;792:668;-1:-1:-1;;;;;;792:668:150:o;1465:662::-;1519:5;1572:3;1565:4;1557:6;1553:17;1549:27;1539:55;;1590:1;1587;1580:12;1539:55;1626:6;1613:20;1652:4;1676:60;1692:43;1732:2;1692:43;:::i;1676:60::-;1770:15;;;1856:1;1852:10;;;;1840:23;;1836:32;;;1801:12;;;;1880:15;;;1877:35;;;1908:1;1905;1898:12;1877:35;1944:2;1936:6;1932:15;1956:142;1972:6;1967:3;1964:15;1956:142;;;2038:17;;2026:30;;2076:12;;;;1989;;1956:142;;2132:406;2196:5;-1:-1:-1;;;;;2219:30:150;;2216:56;;;2252:18;;:::i;:::-;2290:57;2335:2;2314:15;;-1:-1:-1;;2310:29:150;2341:4;2306:40;2290:57;:::i;:::-;2281:66;;2370:6;2363:5;2356:21;2410:3;2401:6;2396:3;2392:16;2389:25;2386:45;;;2427:1;2424;2417:12;2386:45;2476:6;2471:3;2464:4;2457:5;2453:16;2440:43;2530:1;2523:4;2514:6;2507:5;2503:18;2499:29;2492:40;2132:406;;;;;:::o;2543:1087::-;2595:5;2648:3;2641:4;2633:6;2629:17;2625:27;2615:55;;2666:1;2663;2656:12;2615:55;2702:6;2689:20;2728:4;2752:60;2768:43;2808:2;2768:43;:::i;2752:60::-;2846:15;;;2932:1;2928:10;;;;2916:23;;2912:32;;;2877:12;;;;2956:15;;;2953:35;;;2984:1;2981;2974:12;2953:35;3020:2;3012:6;3008:15;3032:569;3048:6;3043:3;3040:15;3032:569;;;3121:17;;-1:-1:-1;;;;;3154:35:150;;3151:125;;;3230:1;3259:2;3255;3248:14;3151:125;3299:24;;3358:2;3350:11;;3346:21;-1:-1:-1;3336:119:150;;3409:1;3438:2;3434;3427:14;3336:119;3480:78;3554:3;3548:2;3544;3540:11;3527:25;3522:2;3518;3514:11;3480:78;:::i;:::-;3468:91;;-1:-1:-1;3579:12:150;;;;3065;;3032:569;;3635:221;3678:5;3731:3;3724:4;3716:6;3712:17;3708:27;3698:55;;3749:1;3746;3739:12;3698:55;3771:79;3846:3;3837:6;3824:20;3817:4;3809:6;3805:17;3771:79;:::i;3861:1443::-;4087:6;4095;4103;4111;4119;4127;4135;4143;4196:3;4184:9;4175:7;4171:23;4167:33;4164:53;;;4213:1;4210;4203:12;4164:53;4240:23;;-1:-1:-1;;;;;4312:14:150;;;4309:34;;;4339:1;4336;4329:12;4309:34;4362:61;4415:7;4406:6;4395:9;4391:22;4362:61;:::i;:::-;4352:71;;4476:2;4465:9;4461:18;4448:32;4432:48;;4505:2;4495:8;4492:16;4489:36;;;4521:1;4518;4511:12;4489:36;4544:63;4599:7;4588:8;4577:9;4573:24;4544:63;:::i;:::-;4534:73;;4660:2;4649:9;4645:18;4632:32;4616:48;;4689:2;4679:8;4676:16;4673:36;;;4705:1;4702;4695:12;4673:36;4728:61;4781:7;4770:8;4759:9;4755:24;4728:61;:::i;:::-;4718:71;;4842:2;4831:9;4827:18;4814:32;4798:48;;4871:2;4861:8;4858:16;4855:36;;;4887:1;4884;4877:12;4855:36;4910:52;4954:7;4943:8;4932:9;4928:24;4910:52;:::i;:::-;4900:62;;5009:3;4998:9;4994:19;4981:33;4971:43;;5061:3;5050:9;5046:19;5033:33;5023:43;;5085:39;5119:3;5108:9;5104:19;5085:39;:::i;:::-;5075:49;;5177:3;5166:9;5162:19;5149:33;5133:49;;5207:2;5197:8;5194:16;5191:36;;;5223:1;5220;5213:12;5191:36;;5246:52;5290:7;5279:8;5268:9;5264:24;5246:52;:::i;:::-;5236:62;;;3861:1443;;;;;;;;;;;:::o;5499:972::-;5678:6;5686;5694;5702;5710;5763:3;5751:9;5742:7;5738:23;5734:33;5731:53;;;5780:1;5777;5770:12;5731:53;5803:29;5822:9;5803:29;:::i;:::-;5793:39;-1:-1:-1;5883:2:150;5868:18;;5855:32;-1:-1:-1;;;;;5936:14:150;;;5933:34;;;5963:1;5960;5953:12;5933:34;5986:61;6039:7;6030:6;6019:9;6015:22;5986:61;:::i;:::-;5976:71;;6100:2;6089:9;6085:18;6072:32;6056:48;;6129:2;6119:8;6116:16;6113:36;;;6145:1;6142;6135:12;6113:36;6168:63;6223:7;6212:8;6201:9;6197:24;6168:63;:::i;:::-;6158:73;;6284:2;6273:9;6269:18;6256:32;6240:48;;6313:2;6303:8;6300:16;6297:36;;;6329:1;6326;6319:12;6297:36;;6352:61;6405:7;6394:8;6383:9;6379:24;6352:61;:::i;:::-;5499:972;;;;-1:-1:-1;5499:972:150;;6460:3;6445:19;6432:33;;5499:972;-1:-1:-1;;;5499:972:150:o;6476:180::-;6535:6;6588:2;6576:9;6567:7;6563:23;6559:32;6556:52;;;6604:1;6601;6594:12;6556:52;-1:-1:-1;6627:23:150;;6476:180;-1:-1:-1;6476:180:150:o;6858:640::-;7037:2;7089:21;;;7159:13;;7062:18;;;7181:22;;;7008:4;;7037:2;7260:15;;;;7234:2;7219:18;;;7008:4;7303:169;7317:6;7314:1;7311:13;7303:169;;;7378:13;;7366:26;;7447:15;;;;7412:12;;;;7339:1;7332:9;7303:169;;;-1:-1:-1;7489:3:150;;6858:640;-1:-1:-1;;;;;;6858:640:150:o;7503:1167::-;7701:6;7709;7717;7725;7733;7741;7794:3;7782:9;7773:7;7769:23;7765:33;7762:53;;;7811:1;7808;7801:12;7762:53;7838:23;;-1:-1:-1;;;;;7910:14:150;;;7907:34;;;7937:1;7934;7927:12;7907:34;7960:61;8013:7;8004:6;7993:9;7989:22;7960:61;:::i;:::-;7950:71;;8074:2;8063:9;8059:18;8046:32;8030:48;;8103:2;8093:8;8090:16;8087:36;;;8119:1;8116;8109:12;8087:36;8142:63;8197:7;8186:8;8175:9;8171:24;8142:63;:::i;:::-;8132:73;;8258:2;8247:9;8243:18;8230:32;8214:48;;8287:2;8277:8;8274:16;8271:36;;;8303:1;8300;8293:12;8271:36;8326:61;8379:7;8368:8;8357:9;8353:24;8326:61;:::i;:::-;8316:71;;8440:2;8429:9;8425:18;8412:32;8396:48;;8469:2;8459:8;8456:16;8453:36;;;8485:1;8482;8475:12;8453:36;;8508:52;8552:7;8541:8;8530:9;8526:24;8508:52;:::i;:::-;8498:62;;;8607:3;8596:9;8592:19;8579:33;8569:43;;8659:3;8648:9;8644:19;8631:33;8621:43;;7503:1167;;;;;;;;:::o;8875:118::-;8961:5;8954:13;8947:21;8940:5;8937:32;8927:60;;8983:1;8980;8973:12;8927:60;8875:118;:::o;8998:128::-;9063:20;;9092:28;9063:20;9092:28;:::i;9131:1242::-;9335:6;9343;9351;9359;9367;9375;9383;9436:3;9424:9;9415:7;9411:23;9407:33;9404:53;;;9453:1;9450;9443:12;9404:53;9476:29;9495:9;9476:29;:::i;:::-;9466:39;;9524:35;9555:2;9544:9;9540:18;9524:35;:::i;:::-;9514:45;-1:-1:-1;9610:2:150;9595:18;;9582:32;-1:-1:-1;;;;;9663:14:150;;;9660:34;;;9690:1;9687;9680:12;9660:34;9713:61;9766:7;9757:6;9746:9;9742:22;9713:61;:::i;:::-;9703:71;;9827:2;9816:9;9812:18;9799:32;9783:48;;9856:2;9846:8;9843:16;9840:36;;;9872:1;9869;9862:12;9840:36;9895:63;9950:7;9939:8;9928:9;9924:24;9895:63;:::i;:::-;9885:73;;10011:3;10000:9;9996:19;9983:33;9967:49;;10041:2;10031:8;10028:16;10025:36;;;10057:1;10054;10047:12;10025:36;10080:61;10133:7;10122:8;10111:9;10107:24;10080:61;:::i;:::-;10070:71;;10188:3;10177:9;10173:19;10160:33;10150:43;;10246:3;10235:9;10231:19;10218:33;10202:49;;10276:2;10266:8;10263:16;10260:36;;;10292:1;10289;10282:12;10260:36;;10315:52;10359:7;10348:8;10337:9;10333:24;10315:52;:::i;:::-;10305:62;;;9131:1242;;;;;;;;;;:::o;10378:423::-;10420:3;10458:5;10452:12;10485:6;10480:3;10473:19;10510:1;10520:162;10534:6;10531:1;10528:13;10520:162;;;10596:4;10652:13;;;10648:22;;10642:29;10624:11;;;10620:20;;10613:59;10549:12;10520:162;;;10524:3;10727:1;10720:4;10711:6;10706:3;10702:16;10698:27;10691:38;10790:4;10783:2;10779:7;10774:2;10766:6;10762:15;10758:29;10753:3;10749:39;10745:50;10738:57;;;10378:423;;;;:::o;10806:566::-;10857:3;10895:5;10889:12;10922:6;10917:3;10910:19;10948:4;10977:2;10972:3;10968:12;10961:19;;11002:3;11042:6;11039:1;11035:14;11030:3;11026:24;11084:2;11077:5;11073:14;11105:1;11115:231;11129:6;11126:1;11123:13;11115:231;;;11200:5;11194:4;11190:16;11185:3;11178:29;11228:38;11261:4;11252:6;11246:13;11228:38;:::i;:::-;11324:12;;;;11220:46;-1:-1:-1;11289:15:150;;;;11151:1;11144:9;11115:231;;;-1:-1:-1;11362:4:150;;10806:566;-1:-1:-1;;;;;;;10806:566:150:o;11377:712::-;11706:3;11695:9;11688:22;11669:4;11733:46;11774:3;11763:9;11759:19;11751:6;11733:46;:::i;:::-;11810:2;11795:18;;11788:34;;;-1:-1:-1;;;;;11896:15:150;;;11891:2;11876:18;;11869:43;11948:15;;11943:2;11928:18;;11921:43;12001:22;;;11995:3;11980:19;;11973:51;12041:42;12005:6;12068;12041:42;:::i;:::-;12033:50;11377:712;-1:-1:-1;;;;;;;;11377:712:150:o;12367:127::-;12428:10;12423:3;12419:20;12416:1;12409:31;12459:4;12456:1;12449:15;12483:4;12480:1;12473:15;12499:143;12583:1;12576:5;12573:12;12563:46;;12589:18;;:::i;:::-;12618;;12499:143::o;12647:286::-;12837:25;;;12825:2;12810:18;;12871:56;12923:2;12908:18;;12900:6;12871:56;:::i;13120:184::-;13190:6;13243:2;13231:9;13222:7;13218:23;13214:32;13211:52;;;13259:1;13256;13249:12;13211:52;-1:-1:-1;13282:16:150;;13120:184;-1:-1:-1;13120:184:150:o;13309:127::-;13370:10;13365:3;13361:20;13358:1;13351:31;13401:4;13398:1;13391:15;13425:4;13422:1;13415:15;13441:127;13502:10;13497:3;13493:20;13490:1;13483:31;13533:4;13530:1;13523:15;13557:4;13554:1;13547:15;13573:135;13612:3;13633:17;;;13630:43;;13653:18;;:::i;:::-;-1:-1:-1;13700:1:150;13689:13;;13573:135::o;13713:203::-;-1:-1:-1;;;;;13877:32:150;;;;13859:51;;13847:2;13832:18;;13713:203::o;13921:148::-;14009:4;13988:12;;;14002;;;13984:31;;14027:13;;14024:39;;;14043:18;;:::i;14074:422::-;14163:1;14206:5;14163:1;14220:270;14241:7;14231:8;14228:21;14220:270;;;14300:4;14296:1;14292:6;14288:17;14282:4;14279:27;14276:53;;;14309:18;;:::i;:::-;14359:7;14349:8;14345:22;14342:55;;;14379:16;;;;14342:55;14458:22;;;;14418:15;;;;14220:270;;;14224:3;14074:422;;;;;:::o;14501:806::-;14550:5;14580:8;14570:80;;-1:-1:-1;14621:1:150;14635:5;;14570:80;14669:4;14659:76;;-1:-1:-1;14706:1:150;14720:5;;14659:76;14751:4;14769:1;14764:59;;;;14837:1;14832:130;;;;14744:218;;14764:59;14794:1;14785:10;;14808:5;;;14832:130;14869:3;14859:8;14856:17;14853:43;;;14876:18;;:::i;:::-;-1:-1:-1;;14932:1:150;14918:16;;14947:5;;14744:218;;15046:2;15036:8;15033:16;15027:3;15021:4;15018:13;15014:36;15008:2;14998:8;14995:16;14990:2;14984:4;14981:12;14977:35;14974:77;14971:159;;;-1:-1:-1;15083:19:150;;;15115:5;;14971:159;15162:34;15187:8;15181:4;15162:34;:::i;:::-;15232:6;15228:1;15224:6;15220:19;15211:7;15208:32;15205:58;;;15243:18;;:::i;:::-;15281:20;;14501:806;-1:-1:-1;;;14501:806:150:o;15312:140::-;15370:5;15399:47;15440:4;15430:8;15426:19;15420:4;15399:47;:::i;15457:128::-;15524:9;;;15545:11;;;15542:37;;;15559:18;;:::i;16131:461::-;16184:3;16222:5;16216:12;16249:6;16244:3;16237:19;16275:4;16304:2;16299:3;16295:12;16288:19;;16341:2;16334:5;16330:14;16362:1;16372:195;16386:6;16383:1;16380:13;16372:195;;;16451:13;;-1:-1:-1;;;;;16447:39:150;16435:52;;16507:12;;;;16542:15;;;;16483:1;16401:9;16372:195;;;-1:-1:-1;16583:3:150;;16131:461;-1:-1:-1;;;;;16131:461:150:o;16597:435::-;16650:3;16688:5;16682:12;16715:6;16710:3;16703:19;16741:4;16770:2;16765:3;16761:12;16754:19;;16807:2;16800:5;16796:14;16828:1;16838:169;16852:6;16849:1;16846:13;16838:169;;;16913:13;;16901:26;;16947:12;;;;16982:15;;;;16874:1;16867:9;16838:169;;17037:758;17418:3;17407:9;17400:22;17381:4;17445:57;17497:3;17486:9;17482:19;17474:6;17445:57;:::i;:::-;17550:9;17542:6;17538:22;17533:2;17522:9;17518:18;17511:50;17584:44;17621:6;17613;17584:44;:::i;:::-;17570:58;;17676:9;17668:6;17664:22;17659:2;17648:9;17644:18;17637:50;17704:42;17739:6;17731;17704:42;:::i;:::-;17696:50;;;17782:6;17777:2;17766:9;17762:18;17755:34;17037:758;;;;;;;:::o;17800:215::-;17950:2;17935:18;;17962:47;17939:9;17991:6;17962:47;:::i;18020:125::-;18085:9;;;18106:10;;;18103:36;;;18119:18;;:::i;18474:393::-;18693:25;;;18681:2;18666:18;;18748:2;18737:14;;18727:48;;18755:18;;:::i;:::-;18806:2;18791:18;;18784:34;;;;18849:2;18834:18;18827:34;18474:393;;-1:-1:-1;18474:393:150:o;18872:838::-;19289:3;19278:9;19271:22;19252:4;19316:57;19368:3;19357:9;19353:19;19345:6;19316:57;:::i;:::-;19421:9;19413:6;19409:22;19404:2;19393:9;19389:18;19382:50;19455:44;19492:6;19484;19455:44;:::i;:::-;19441:58;;19547:9;19539:6;19535:22;19530:2;19519:9;19515:18;19508:50;19575:42;19610:6;19602;19575:42;:::i;:::-;19648:2;19633:18;;19626:34;;;;-1:-1:-1;;19691:3:150;19676:19;19669:35;19567:50;18872:838;-1:-1:-1;;;18872:838:150:o;19904:910::-;20349:3;20338:9;20331:22;20312:4;20376:57;20428:3;20417:9;20413:19;20405:6;20376:57;:::i;:::-;20481:9;20473:6;20469:22;20464:2;20453:9;20449:18;20442:50;20515:44;20552:6;20544;20515:44;:::i;:::-;20501:58;;20607:9;20599:6;20595:22;20590:2;20579:9;20575:18;20568:50;20635:42;20670:6;20662;20635:42;:::i;:::-;20708:2;20693:18;;20686:34;;;;-1:-1:-1;;20751:3:150;20736:19;;20729:35;;;;20795:3;20780:19;;;20773:35;20627:50;19904:910;-1:-1:-1;;;19904:910:150:o;20819:284::-;20888:6;20941:2;20929:9;20920:7;20916:23;20912:32;20909:52;;;20957:1;20954;20947:12;20909:52;20989:9;20983:16;21039:14;21032:5;21028:26;21021:5;21018:37;21008:65;;21069:1;21066;21059:12;21108:245;21175:6;21228:2;21216:9;21207:7;21203:23;21199:32;21196:52;;;21244:1;21241;21234:12;21196:52;21276:9;21270:16;21295:28;21317:5;21295:28;:::i;21358:168::-;21431:9;;;21462;;21479:15;;;21473:22;;21459:37;21449:71;;21500:18;;:::i;21531:220::-;21680:2;21669:9;21662:21;21643:4;21700:45;21741:2;21730:9;21726:18;21718:6;21700:45;:::i;21963:127::-;22024:10;22019:3;22015:20;22012:1;22005:31;22055:4;22052:1;22045:15;22079:4;22076:1;22069:15;22095:217;22135:1;22161;22151:132;;22205:10;22200:3;22196:20;22193:1;22186:31;22240:4;22237:1;22230:15;22268:4;22265:1;22258:15;22151:132;-1:-1:-1;22297:9:150;;22095:217::o;22317:266::-;22528:4;22516:17;;;;22498:36;;22565:2;22550:18;;22543:34;22486:2;22471:18;;22317:266::o;23608:182::-;-1:-1:-1;;;;;23715:10:150;;;23727;;;23711:27;;23750:11;;;23747:37;;;23764:18;;:::i;:::-;23747:37;23608:182;;;;:::o;23795:1602::-;24322:3;24311:9;24304:22;24285:4;24349:57;24401:3;24390:9;24386:19;24378:6;24349:57;:::i;:::-;24425:2;24475:9;24467:6;24463:22;24458:2;24447:9;24443:18;24436:50;24509:44;24546:6;24538;24509:44;:::i;:::-;24495:58;;24601:9;24593:6;24589:22;24584:2;24573:9;24569:18;24562:50;24632:6;24667;24661:13;24698:6;24690;24683:22;24733:2;24725:6;24721:15;24714:22;;24792:2;24782:6;24779:1;24775:14;24767:6;24763:27;24759:36;24830:2;24822:6;24818:15;24851:1;24861:252;24875:6;24872:1;24869:13;24861:252;;;24965:2;24961:7;24952:6;24944;24940:19;24936:33;24931:3;24924:46;24993:40;25026:6;25017;25011:13;24993:40;:::i;:::-;25091:12;;;;24983:50;-1:-1:-1;25056:15:150;;;;24897:1;24890:9;24861:252;;;24865:3;;25161:9;25153:6;25149:22;25144:2;25133:9;25129:18;25122:50;25195:42;25230:6;25222;25195:42;:::i;:::-;25181:56;;;;;;25286:9;25278:6;25274:22;25268:3;25257:9;25253:19;25246:51;25314:33;25340:6;25332;25314:33;:::i;:::-;25306:41;;;25384:6;25378:3;25367:9;25363:19;25356:35;23795:1602;;;;;;;;;:::o;25896:410::-;26098:2;26080:21;;;26137:2;26117:18;;;26110:30;26176:34;26171:2;26156:18;;26149:62;-1:-1:-1;;;26242:2:150;26227:18;;26220:44;26296:3;26281:19;;25896:410::o"},"methodIdentifiers":{"canProposalStartInNextRound()":"81ab2353","cancel(address,bool,address[],uint256[],bytes[],bytes32,string)":"badecd76","execute(address,address[],uint256[],bytes[],bytes32)":"fcadd1f7","getActiveProposals()":"5584c4f9","markAsCompleted(uint256)":"c0a6026c","markAsInDevelopment(uint256)":"1e6b4992","proposalDeadline(uint256)":"c01f9e37","proposalNeedsQueuing(uint256)":"a9a95294","proposalSnapshot(uint256)":"2d63f693","proposalType(uint256)":"2a09c772","propose(address[],uint256[],bytes[],string,uint256,uint256)":"58c839bc","proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)":"013b1088","queue(address,address[],uint256[],bytes[],bytes32)":"01957cc7","resetDevelopmentState(uint256)":"c429bd82"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"selector\",\"type\":\"bytes\"}],\"name\":\"GovernorFunctionInvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldatas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"values\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposalLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"GovernorInvalidProposalType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredWeight\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidStartRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorQueueNotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"GovernorRestrictedFunction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"GovernorRestrictedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"GovernorRestrictedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"QueueFull\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UnauthorizedAccess\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"canceler\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"ProposalCanceledWithReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundIdVoteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"ProposalCreatedWithType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalDevelopmentStateReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalInDevelopment\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"etaSeconds\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"canProposalStartInNextRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveProposals\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalNeedsQueuing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This library provides functions to create, cancel, execute, and validate proposals.\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"GovernorFunctionInvalidSelector(bytes)\":[{\"params\":{\"selector\":\"The function selector that is invalid.\"}}],\"GovernorInvalidProposalLength(uint256,uint256,uint256)\":[{\"details\":\"Thrown when there is an empty proposal or a mismatch between parameters length for a proposal call.\"}],\"GovernorInvalidProposalType(uint8)\":[{\"details\":\"Thrown when the proposal type is invalid.\"}],\"GovernorInvalidProposer(address,uint256)\":[{\"details\":\"Thrown when the proposer does not fit the requirement (GM weight ATM)\"}],\"GovernorInvalidStartRound(uint256)\":[{\"details\":\"Thrown when the round for proposal start is invalid.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"Thrown when the `proposalId` does not exist.\",\"params\":{\"proposalId\":\"The ID of the proposal that does not exist.\"}}],\"GovernorQueueNotImplemented()\":[{\"details\":\"Thrown when a queue operation is not implemented.\"}],\"GovernorRestrictedFunction(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector that is restricted.\"}}],\"GovernorRestrictedProposal(uint256,uint8)\":[{\"details\":\"Thrown when a proposal is not allowed to perform a specific action. Some actions are restricted to Standard proposals only, others to Grant proposals only. eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\"}],\"GovernorRestrictedProposer(address)\":[{\"details\":\"Thrown when the proposer is not allowed to create a proposal.\"}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"Thrown when the current state of a proposal is not the expected state for an operation.\"},{\"details\":\"Thrown when the current state of a proposal does not match the expected states.\",\"params\":{\"current\":\"The current state of the proposal.\",\"expectedStates\":\"The expected states of the proposal as a bitmap.\",\"proposalId\":\"The ID of the proposal.\"}}],\"QueueFull()\":[{\"details\":\"A push operation couldn't be completed due to the queue being full.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"UnauthorizedAccess(address)\":[{\"details\":\"Thrown when a user is not authorized to perform an action.\"}]},\"events\":{\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCanceledWithReason(uint256,address,string)\":{\"details\":\"Emitted when a proposal is canceled with a reason.\"},\"ProposalCompleted(uint256)\":{\"details\":\"Emitted when a proposal is marked as completed.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],string,uint256,uint256)\":{\"details\":\"Emitted when a proposal is created.\"},\"ProposalCreatedWithType(uint256,uint8)\":{\"details\":\"Emitted when a proposal is created with type information.\"},\"ProposalDeposit(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is made to a proposal.\"},\"ProposalDevelopmentStateReset(uint256)\":{\"details\":\"Emitted when the development state of a proposal is reset back to pending development.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"ProposalInDevelopment(uint256)\":{\"details\":\"Emitted when a proposal is marked as in development.\"},\"ProposalQueued(uint256,uint256)\":{\"details\":\"Emitted when a proposal is queued.\"}},\"kind\":\"dev\",\"methods\":{\"canProposalStartInNextRound()\":{\"returns\":{\"_0\":\"True if the proposal can start in the next round, false otherwise.\"}},\"cancel(address,bool,address[],uint256[],bytes[],bytes32,string)\":{\"details\":\"Cancels a proposal in any state other than Canceled or Executed.\",\"params\":{\"account\":\"The account canceling the proposal.\",\"admin\":\"Whether the account has admin role.\",\"calldatas\":\"The function signatures and arguments.\",\"descriptionHash\":\"The hash of the proposal description.\",\"reason\":\"The reason for canceling the proposal.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"execute(address,address[],uint256[],bytes[],bytes32)\":{\"details\":\"Executes the proposal in the timelock.\",\"params\":{\"calldatas\":\"The function signatures and arguments.\",\"contractAddress\":\"The address of the calling contract.\",\"descriptionHash\":\"The hash of the proposal description.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"getActiveProposals()\":{\"details\":\"Iterates proposals registered for the current round and filters by Active state.      Bounded by proposals-per-round (0-3 in practice).\"},\"markAsCompleted(uint256)\":{\"details\":\"This should be only callable by authorized wallet that has the PROPOSAL_STATE_MANAGER_ROLE role - Only Standard proposals are allowed here. - Can only mark as completed if proposal is in development - The proposal development state is set to Completed - The event ProposalCompleted is emitted\",\"params\":{\"proposalId\":\"The id of the proposal.\"}},\"markAsInDevelopment(uint256)\":{\"details\":\"This should be only callable by authorized wallet that has the PROPOSAL_STATE_MANAGER_ROLE role - Only Standard proposals are allowed here. - Can only mark as in development if proposal is executed or succeeded - If the proposal is executable and the state is succeeded, it cannot be marked as in development - Otherwise could skip the queue + execution steps - The proposal development state is set to InDevelopment - The event ProposalInDevelopment is emitted\",\"params\":{\"proposalId\":\"The id of the proposal.\"}},\"proposalDeadline(uint256)\":{\"details\":\"Determines the block number at which the proposal will be considered expired.\",\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"The deadline block number.\"}},\"proposalNeedsQueuing(uint256)\":{\"details\":\"Function to know if a proposal is executable or not. If the proposal was creted without any targets, values, or calldatas, it is not executable. to check if the proposal is executable.\",\"params\":{\"proposalId\":\"The id of the proposal\"}},\"proposalSnapshot(uint256)\":{\"details\":\"Determines the block number at which the proposal was snapshot.\",\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"The snapshot block number.\"}},\"proposalType(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"The proposal type.\"}},\"propose(address[],uint256[],bytes[],string,uint256,uint256)\":{\"details\":\"Creates a new proposal and validates the proposal parameters.\",\"params\":{\"calldatas\":\"The function signatures and arguments.\",\"depositAmount\":\"The amount of tokens the proposer intends to deposit.\",\"description\":\"The description of the proposal.\",\"startRoundId\":\"The round in which the proposal should be active.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"details\":\"Creates a new proposal and validates the proposal parameters.\",\"params\":{\"calldatas\":\"The function signatures and arguments.\",\"depositAmount\":\"The amount of tokens the proposer intends to deposit.\",\"description\":\"The description of the proposal.\",\"grantsReceiver\":\"The address of the grants receiver\",\"milestonesDetailsMetadataURI\":\"The IPFS hash containing the milestones ipfs hash\",\"startRoundId\":\"The round in which the proposal should be active.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"queue(address,address[],uint256[],bytes[],bytes32)\":{\"details\":\"Queues the proposal in the timelock.\",\"params\":{\"calldatas\":\"The function signatures and arguments.\",\"contractAddress\":\"The address of the calling contract.\",\"descriptionHash\":\"The hash of the proposal description.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"resetDevelopmentState(uint256)\":{\"details\":\"This should reset the enum state back to the original one, since pending development is not tracked in {GovernorStateLogicV10._state} condition\",\"params\":{\"proposalId\":\"The id of the proposal\"}}},\"title\":\"GovernorProposalLogicV10\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorFunctionInvalidSelector(bytes)\":[{\"notice\":\"Error message for when a function selector is invalid.\"}],\"GovernorRestrictedFunction(bytes4)\":[{\"notice\":\"Error message for when a function is restricted by the governor.\"}]},\"kind\":\"user\",\"methods\":{\"canProposalStartInNextRound()\":{\"notice\":\"Returns whether a proposal can start in the next round.\"},\"cancel(address,bool,address[],uint256[],bytes[],bytes32,string)\":{\"notice\":\"Cancels a proposal.\"},\"execute(address,address[],uint256[],bytes[],bytes32)\":{\"notice\":\"Executes a queued proposal.\"},\"getActiveProposals()\":{\"notice\":\"Returns proposal IDs that are currently active.\"},\"markAsCompleted(uint256)\":{\"notice\":\"Mark a proposal as completed\"},\"markAsInDevelopment(uint256)\":{\"notice\":\"Mark a proposal as in development\"},\"proposalDeadline(uint256)\":{\"notice\":\"Returns the deadline block of a proposal.\"},\"proposalSnapshot(uint256)\":{\"notice\":\"Returns the snapshot block of a proposal.\"},\"proposalType(uint256)\":{\"notice\":\"Returns the proposal type of a proposal.\"},\"propose(address[],uint256[],bytes[],string,uint256,uint256)\":{\"notice\":\"Proposes a new governance action.\"},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"notice\":\"Proposes a new grant proposal.\"},\"queue(address,address[],uint256[],bytes[],bytes32)\":{\"notice\":\"Queues a proposal for execution.\"},\"resetDevelopmentState(uint256)\":{\"notice\":\"Reset the development state of a proposal back to pending development\"}},\"notice\":\"Library for managing proposals in the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol\":\"GovernorProposalLogicV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol\":{\"keccak256\":\"0x6a7cc588ce08460da1388dab77c8778aa1a60065cd43ae2360c103e640dfc2a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://254fe95dec0ab5497b4bbefe29fb65dea5b0594c90982dbf3b66c2f6c1c39f29\",\"dweb:/ipfs/QmW3dbwg9H6GPrvaDeKLfRQBzz28BFwNVufkT7pe1hv6B7\"]},\"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol\":{\"keccak256\":\"0x3397264be328d66e78addf8da14626cedf3e822eda096dcc0b0d4c8f590cf164\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d8770a70795251944aea6b12221270a6e1df0a6cae7de3cfa985d9d85f5b44e\",\"dweb:/ipfs/QmPo2y4pt9xMkdoXjWRKvmVjN5ao2DaQpdpsEDLWoX6Tds\"]},\"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol\":{\"keccak256\":\"0x4b49b4820370e23b8a9cc8e4cfd7cc233078aa18b127e4f3bb71eef2037d56fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0d15ed7cf840190e4fe550d5beac54812fcf3c935415ac45f78d2da8edce094\",\"dweb:/ipfs/QmSakePtMJCjxqVyS5UhPi6jLwojUgdLK2mkjf4JkZuUNr\"]},\"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\":{\"keccak256\":\"0xdf23dd2f515e503dbbae2a4d4d4e9efcca22e357aacdb83e5abdc5854783cc22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b3c6779fcdf93f8f8afc3ddf7591fe983d47ad6ae8eaa29902603c701beaf86\",\"dweb:/ipfs/QmdigrheDca8jAb7cwgGj3r3f95DsjEDdqb5pT5gfiiULL\"]},\"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol\":{\"keccak256\":\"0x1b1ff6cdf118475d82421782ff9e8b83fe0056bdffea414bfb6be15ad6cdb73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9aacb4a80e7922069ec2ed464c17ad17b72b4a061dd4ed63e5449b8147407260\",\"dweb:/ipfs/QmR1cqBsHBJurr5DfpJ1daov1DnxS2Yz9atCggvV2if4V1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol\":{\"keccak256\":\"0x88765be13ee3cc295e11e5b966a3c80f7fc976c1a10eac3fe096b7f1e26dd509\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://846d77bf1f45c0bc78fcaf8f51a45763a3c4879b33cc172ef12b736182804908\",\"dweb:/ipfs/QmWdh7woCYYsUXoW2RyoBrVWQvTtjwVqVAD9AT8wRnUoa3\"]},\"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol\":{\"keccak256\":\"0xcddb1bc4f53ed3df2264eee5a6b0c8894d6a01d9673eff866b81691a56e557ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f21e5eec2c06dcb3bab8d7af5808adb47b8dfd99de7483d4d81e04effe10f05d\",\"dweb:/ipfs/QmPLUSt6CaCjS5tFqeVDeCnvfq8jG99KJhzs5GfaK2tjRh\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol\":{\"keccak256\":\"0x50c28e3d5abc3914216c8871ec74f3cafac0ca598bf389d84af6bcc950d792a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45bb508ad0afe1da38784ee6b51b6c1cc4f4604e6c84052fc2917c1bb8436d18\",\"dweb:/ipfs/QmXhdxjhT4Hn3SiGm31hJbZDSYMYjqX9k72Zx6eanGZNHE\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol\":{\"keccak256\":\"0x944ea2027e155ed6020969da6d21c8c0f22b49e4b1792c3403b6ae75e52c5328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df4a784bb01c7df68a62c68d8c859a7fb73980d5d99ade94d2c2f62e11d68488\",\"dweb:/ipfs/QmawVpasYNft622Myguv2weKnmpA7z17o4dbCt7io9r9M9\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol":{"GovernorQuorumLogicV10":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"QuorumNumeratorUpdatedByType","type":"event"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isQuorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint8","name":"proposalTypeValue","type":"uint8"}],"name":"quorumByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"proposalTypeValue","type":"uint8"}],"name":"quorumNumeratorByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint8","name":"proposalTypeValue","type":"uint8"}],"name":"quorumNumeratorByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":1346},{"length":20,"start":3447},{"length":20,"start":3570}]}},"object":"61129e61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061008d5760003560e01c8063026865cc1461009257806306f3f9e6146100b85780630eddee30146100da5780635273e74b146100ed57806360c4247f146101005780639079991f14610113578063a7713a7014610136578063e4207db41461013e578063f8ce560a1461015e575b600080fd5b6100a56100a03660046110a2565b610171565b6040519081526020015b60405180910390f35b8180156100c457600080fd5b506100d86100d33660046110ce565b610217565b005b6100a56100e83660046110e7565b610225565b6100a56100fb3660046110a2565b610295565b6100a561010e3660046110ce565b6102bc565b6101266101213660046110ce565b6103a7565b60405190151581526020016100af565b6100a56103b2565b81801561014a57600080fd5b506100d8610159366004611102565b6103df565b6100a561016c3660046110ce565b6103ed565b60008061017c610488565b9050606461018a8585610295565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156101d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f99190611136565b6102039190611165565b61020d9190611192565b9150505b92915050565b6102228160006104ac565b50565b600080610230610488565b90506102858160180160008560ff166001811115610250576102506111b4565b6001811115610261576102616111b4565b6001811115610272576102726111b4565b815260200190815260200160002061063f565b6001600160d01b03169392505050565b60006102b5838360ff1660018111156102b0576102b06111b4565b610686565b9392505050565b6000806102c7610488565b60008080526018820160205260408120805492935090919082906102ec6001846111ca565b815481106102fc576102fc6111dd565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610341576001600160d01b0316979650505050505050565b61039261034d89610790565b876018016000886001811115610365576103656111b4565b6001811115610376576103766111b4565b81526020019081526020016000206107c790919063ffffffff16565b6001600160d01b031698975050505050505050565b60006102118261086f565b6000806103bd610488565b905060006103cf601883018280610261565b6001600160d01b03169250505090565b6103e982826104ac565b5050565b6000806103f8610488565b90506064610405846102bc565b600c830154604051632394e7a360e21b8152600481018790526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104749190611136565b61047e9190611165565b6102b59190611192565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006104b6610488565b9050606460006104d18460018111156100e8576100e86111b4565b9050818511156105035760405163243e544560e01b815260048101869052602481018390526044015b60405180910390fd5b6105c273__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561054f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057391906111f3565b61057c876108c8565b856018016000886001811115610594576105946111b4565b60018111156105a5576105a56111b4565b81526020019081526020016000206108fc9092919063ffffffff16565b505060408051828152602081018790527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a17fa887ac6363633c0ce6f205a5a5e196934dd309db93895e5751862be24465171d8186866040516106309392919061121b565b60405180910390a15050505050565b8054600090801561067d57610667836106596001846111ca565b600091825260209091200190565b54600160301b90046001600160d01b03166102b5565b60009392505050565b600080610691610488565b905060008160180160008560018111156106ad576106ad6111b4565b60018111156106be576106be6111b4565b81526020810191909152604001600090812054915060188301818660018111156106ea576106ea6111b4565b60018111156106fb576106fb6111b4565b815260208101919091526040016000206107166001846111ca565b81548110610726576107266111dd565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031687821161076c576001600160d01b031694506102119350505050565b61039261077889610790565b8660180160008a6001811115610365576103656111b4565b600065ffffffffffff8211156107c3576040516306dfcc6560e41b815260306004820152602481018390526044016104fa565b5090565b8154600090818160058111156108265760006107e284610917565b6107ec90856111ca565b60008881526020902090915081015465ffffffffffff908116908716101561081657809150610824565b610821816001611255565b92505b505b6000610834878785856109ff565b905080156108615761084b876106596001846111ca565b54600160301b90046001600160d01b0316610864565b60005b979650505050505050565b60008061087a610488565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906108be6108ac86610a61565b8360018111156100a0576100a06111b4565b1115949350505050565b60006001600160d01b038211156107c3576040516306dfcc6560e41b815260d06004820152602481018390526044016104fa565b60008061090a858585610e4d565b915091505b935093915050565b60008160000361092957506000919050565b6000600161093684610fc7565b901c6001901b9050600181848161094f5761094f61117c565b048201901c905060018184816109675761096761117c565b048201901c9050600181848161097f5761097f61117c565b048201901c905060018184816109975761099761117c565b048201901c905060018184816109af576109af61117c565b048201901c905060018184816109c7576109c761117c565b048201901c905060018184816109df576109df61117c565b048201901c90506102b5818285816109f9576109f961117c565b0461105b565b60005b81831015610a59576000610a168484611071565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610a4557809250610a53565b610a50816001611255565b93505b50610a02565b509392505050565b600080610a6c610488565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b009190611136565b10610b9c576000610b0f610488565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401602060405180830381865afa158015610b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b949190611136565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c9190611136565b6000858152600180850160205260409091200154610c2a91906111ca565b90506000610c396001836111ca565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb29190611136565b610cbc9190611165565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d399190611136565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610d84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da891906111f3565b65ffffffffffff168111610e2e5773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2391906111f3565b65ffffffffffff1690505b82610e398383611255565b610e439190611255565b9695505050505050565b825460009081908015610f6c576000610e6b876106596001856111ca565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610ebf57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610f0b5784610ee2886106596001866111ca565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055610f5c565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b60200151925083915061090f9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b02919093161792019190915590508161090f565b600080608083901c15610fdc57608092831c92015b604083901c15610fee57604092831c92015b602083901c1561100057602092831c92015b601083901c1561101257601092831c92015b600883901c1561102457600892831c92015b600483901c1561103657600492831c92015b600283901c1561104857600292831c92015b600183901c156102115760010192915050565b600081831061106a57816102b5565b5090919050565b60006110806002848418611192565b6102b590848416611255565b803560ff8116811461109d57600080fd5b919050565b600080604083850312156110b557600080fd5b823591506110c56020840161108c565b90509250929050565b6000602082840312156110e057600080fd5b5035919050565b6000602082840312156110f957600080fd5b6102b58261108c565b6000806040838503121561111557600080fd5b8235915060208301356002811061112b57600080fd5b809150509250929050565b60006020828403121561114857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176102115761021161114f565b634e487b7160e01b600052601260045260246000fd5b6000826111af57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fd5b818103818111156102115761021161114f565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120557600080fd5b815165ffffffffffff811681146102b557600080fd5b83815260208101839052606081016002831061124757634e487b7160e01b600052602160045260246000fd5b826040830152949350505050565b808201808211156102115761021161114f56fea26469706673582212209f1f656251208e95097c5f6264d791dcc6fea0bb589b0fda336bb524bc11686e64736f6c63430008140033","opcodes":"PUSH2 0x129E PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x8D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26865CC EQ PUSH2 0x92 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xEDDEE30 EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x5273E74B EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x9079991F EQ PUSH2 0x113 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0xE4207DB4 EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5 PUSH2 0xA0 CALLDATASIZE PUSH1 0x4 PUSH2 0x10A2 JUMP JUMPDEST PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD8 PUSH2 0xD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x217 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA5 PUSH2 0xE8 CALLDATASIZE PUSH1 0x4 PUSH2 0x10E7 JUMP JUMPDEST PUSH2 0x225 JUMP JUMPDEST PUSH2 0xA5 PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0x10A2 JUMP JUMPDEST PUSH2 0x295 JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x2BC JUMP JUMPDEST PUSH2 0x126 PUSH2 0x121 CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xAF JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x3B2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x14A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD8 PUSH2 0x159 CALLDATASIZE PUSH1 0x4 PUSH2 0x1102 JUMP JUMPDEST PUSH2 0x3DF JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x16C CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x3ED JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x17C PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x18A DUP6 DUP6 PUSH2 0x295 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x203 SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST PUSH2 0x20D SWAP2 SWAP1 PUSH2 0x1192 JUMP JUMPDEST SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x222 DUP2 PUSH1 0x0 PUSH2 0x4AC JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x230 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH2 0x285 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x250 JUMPI PUSH2 0x250 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x261 JUMPI PUSH2 0x261 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x272 JUMPI PUSH2 0x272 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x63F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B0 JUMPI PUSH2 0x2B0 PUSH2 0x11B4 JUMP JUMPDEST PUSH2 0x686 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C7 PUSH2 0x488 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 MSTORE PUSH1 0x18 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 SWAP1 DUP3 SWAP1 PUSH2 0x2EC PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2FC JUMPI PUSH2 0x2FC PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x341 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x392 PUSH2 0x34D DUP10 PUSH2 0x790 JUMP JUMPDEST DUP8 PUSH1 0x18 ADD PUSH1 0x0 DUP9 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x365 JUMPI PUSH2 0x365 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x376 JUMPI PUSH2 0x376 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x7C7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211 DUP3 PUSH2 0x86F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BD PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3CF PUSH1 0x18 DUP4 ADD DUP3 DUP1 PUSH2 0x261 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x3E9 DUP3 DUP3 PUSH2 0x4AC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F8 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x405 DUP5 PUSH2 0x2BC JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x450 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x474 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x47E SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST PUSH2 0x2B5 SWAP2 SWAP1 PUSH2 0x1192 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B6 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH1 0x0 PUSH2 0x4D1 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xE8 JUMPI PUSH2 0xE8 PUSH2 0x11B4 JUMP JUMPDEST SWAP1 POP DUP2 DUP6 GT ISZERO PUSH2 0x503 JUMPI PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5C2 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x54F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x573 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH2 0x57C DUP8 PUSH2 0x8C8 JUMP JUMPDEST DUP6 PUSH1 0x18 ADD PUSH1 0x0 DUP9 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x594 JUMPI PUSH2 0x594 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x5A5 JUMPI PUSH2 0x5A5 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x8FC SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP8 SWAP1 MSTORE PUSH32 0x553476BF02EF2726E8CE5CED78D63E26E602E4A2257B1F559418E24B4633997 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0xA887AC6363633C0CE6F205A5A5E196934DD309DB93895E5751862BE24465171D DUP2 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x630 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x121B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x67D JUMPI PUSH2 0x667 DUP4 PUSH2 0x659 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x691 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6AD JUMPI PUSH2 0x6AD PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6BE JUMPI PUSH2 0x6BE PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6EA JUMPI PUSH2 0x6EA PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6FB JUMPI PUSH2 0x6FB PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x716 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x726 JUMPI PUSH2 0x726 PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x76C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x211 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x392 PUSH2 0x778 DUP10 PUSH2 0x790 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x365 JUMPI PUSH2 0x365 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x826 JUMPI PUSH1 0x0 PUSH2 0x7E2 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH2 0x7EC SWAP1 DUP6 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x816 JUMPI DUP1 SWAP2 POP PUSH2 0x824 JUMP JUMPDEST PUSH2 0x821 DUP2 PUSH1 0x1 PUSH2 0x1255 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x834 DUP8 DUP8 DUP6 DUP6 PUSH2 0x9FF JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x861 JUMPI PUSH2 0x84B DUP8 PUSH2 0x659 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x864 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x87A PUSH2 0x488 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x8BE PUSH2 0x8AC DUP7 PUSH2 0xA61 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA0 JUMPI PUSH2 0xA0 PUSH2 0x11B4 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A DUP6 DUP6 DUP6 PUSH2 0xE4D JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x929 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x936 DUP5 PUSH2 0xFC7 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x94F JUMPI PUSH2 0x94F PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x967 JUMPI PUSH2 0x967 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x97F JUMPI PUSH2 0x97F PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x997 JUMPI PUSH2 0x997 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9AF JUMPI PUSH2 0x9AF PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9C7 JUMPI PUSH2 0x9C7 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9DF JUMPI PUSH2 0x9DF PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x2B5 DUP2 DUP3 DUP6 DUP2 PUSH2 0x9F9 JUMPI PUSH2 0x9F9 PUSH2 0x117C JUMP JUMPDEST DIV PUSH2 0x105B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xA59 JUMPI PUSH1 0x0 PUSH2 0xA16 DUP5 DUP5 PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xA45 JUMPI DUP1 SWAP3 POP PUSH2 0xA53 JUMP JUMPDEST PUSH2 0xA50 DUP2 PUSH1 0x1 PUSH2 0x1255 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xA02 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA6C PUSH2 0x488 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xADC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB00 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST LT PUSH2 0xB9C JUMPI PUSH1 0x0 PUSH2 0xB0F PUSH2 0x488 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB70 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB94 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBE8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC0C SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0xC2A SWAP2 SWAP1 PUSH2 0x11CA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC39 PUSH1 0x1 DUP4 PUSH2 0x11CA JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC8E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCB2 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0xCBC SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD15 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD39 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD84 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDA8 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0xE2E JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE23 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0xE39 DUP4 DUP4 PUSH2 0x1255 JUMP JUMPDEST PUSH2 0xE43 SWAP2 SWAP1 PUSH2 0x1255 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0xF6C JUMPI PUSH1 0x0 PUSH2 0xE6B DUP8 PUSH2 0x659 PUSH1 0x1 DUP6 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xEBF JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xF0B JUMPI DUP5 PUSH2 0xEE2 DUP9 PUSH2 0x659 PUSH1 0x1 DUP7 PUSH2 0x11CA JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0xF5C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x90F SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x90F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xFDC JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xFEE JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1000 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1012 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1024 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1036 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1048 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x211 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x106A JUMPI DUP2 PUSH2 0x2B5 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1192 JUMP JUMPDEST PUSH2 0x2B5 SWAP1 DUP5 DUP5 AND PUSH2 0x1255 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x109D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x10B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x10C5 PUSH1 0x20 DUP5 ADD PUSH2 0x108C JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B5 DUP3 PUSH2 0x108C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1115 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0x112B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x11AF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x2B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x1247 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP16 0x1F PUSH6 0x6251208E9509 PUSH29 0x5F6264D791DCC6FEA0BB589B0FDA336BB524BC11686E64736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"1830:9559:55:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1830:9559:55;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_insert_9806":{"entryPoint":3661,"id":9806,"parameterSlots":3,"returnSlots":2},"@_proposalSnapshot_23632":{"entryPoint":2657,"id":23632,"parameterSlots":1,"returnSlots":1},"@_quorumNumeratorByProposalType_24311":{"entryPoint":1670,"id":24311,"parameterSlots":2,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_updateQuorumNumeratorByType_24380":{"entryPoint":1196,"id":24380,"parameterSlots":2,"returnSlots":0},"@_upperBinaryLookup_9858":{"entryPoint":2559,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":4209,"id":6189,"parameterSlots":2,"returnSlots":1},"@getGovernorStorage_24759":{"entryPoint":1160,"id":24759,"parameterSlots":0,"returnSlots":1},"@isQuorumReached_24098":{"entryPoint":935,"id":24098,"parameterSlots":1,"returnSlots":1},"@latest_9634":{"entryPoint":1599,"id":9634,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":4039,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":4187,"id":6166,"parameterSlots":2,"returnSlots":1},"@push_9437":{"entryPoint":2300,"id":9437,"parameterSlots":3,"returnSlots":2},"@quorumByProposalType_24165":{"entryPoint":369,"id":24165,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_23927":{"entryPoint":null,"id":23927,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_24025":{"entryPoint":661,"id":24025,"parameterSlots":2,"returnSlots":1},"@quorumNumeratorByProposalType_24085":{"entryPoint":549,"id":24085,"parameterSlots":1,"returnSlots":1},"@quorumNumerator_24006":{"entryPoint":700,"id":24006,"parameterSlots":1,"returnSlots":1},"@quorumNumerator_24057":{"entryPoint":946,"id":24057,"parameterSlots":0,"returnSlots":1},"@quorumReached_24238":{"entryPoint":2159,"id":24238,"parameterSlots":1,"returnSlots":1},"@quorum_24130":{"entryPoint":1005,"id":24130,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":2327,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":2248,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":1936,"id":7770,"parameterSlots":1,"returnSlots":1},"@updateQuorumNumeratorByType_24194":{"entryPoint":991,"id":24194,"parameterSlots":2,"returnSlots":0},"@updateQuorumNumerator_24179":{"entryPoint":535,"id":24179,"parameterSlots":1,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":1991,"id":9604,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":4302,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":4406,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_enum$_ProposalType_$25017":{"entryPoint":4354,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint8":{"entryPoint":4258,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":4595,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8":{"entryPoint":4327,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint8":{"entryPoint":4236,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_enum$_ProposalType_$25017__to_t_uint256_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":4635,"id":null,"parameterSlots":4,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":4693,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4498,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":4453,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4554,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":4431,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":4476,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":4532,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":4573,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4671:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"61:109:150","statements":[{"nodeType":"YulAssignment","src":"71:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"93:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"80:12:150"},"nodeType":"YulFunctionCall","src":"80:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"71:5:150"}]},{"body":{"nodeType":"YulBlock","src":"148:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"157:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"160:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"150:6:150"},"nodeType":"YulFunctionCall","src":"150:12:150"},"nodeType":"YulExpressionStatement","src":"150:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"122:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"133:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"140:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"129:3:150"},"nodeType":"YulFunctionCall","src":"129:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"119:2:150"},"nodeType":"YulFunctionCall","src":"119:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"112:6:150"},"nodeType":"YulFunctionCall","src":"112:35:150"},"nodeType":"YulIf","src":"109:55:150"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"40:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"51:5:150","type":""}],"src":"14:156:150"},{"body":{"nodeType":"YulBlock","src":"260:165:150","statements":[{"body":{"nodeType":"YulBlock","src":"306:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"315:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"318:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"308:6:150"},"nodeType":"YulFunctionCall","src":"308:12:150"},"nodeType":"YulExpressionStatement","src":"308:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"281:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"290:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"277:3:150"},"nodeType":"YulFunctionCall","src":"277:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"302:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"273:3:150"},"nodeType":"YulFunctionCall","src":"273:32:150"},"nodeType":"YulIf","src":"270:52:150"},{"nodeType":"YulAssignment","src":"331:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"354:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"341:12:150"},"nodeType":"YulFunctionCall","src":"341:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"331:6:150"}]},{"nodeType":"YulAssignment","src":"373:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"404:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"415:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"400:3:150"},"nodeType":"YulFunctionCall","src":"400:18:150"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"383:16:150"},"nodeType":"YulFunctionCall","src":"383:36:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"373:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"218:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"229:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"241:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"249:6:150","type":""}],"src":"175:250:150"},{"body":{"nodeType":"YulBlock","src":"539:76:150","statements":[{"nodeType":"YulAssignment","src":"549:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"561:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"572:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"557:3:150"},"nodeType":"YulFunctionCall","src":"557:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"549:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"591:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"602:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"584:6:150"},"nodeType":"YulFunctionCall","src":"584:25:150"},"nodeType":"YulExpressionStatement","src":"584:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"508:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"519:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"530:4:150","type":""}],"src":"430:185:150"},{"body":{"nodeType":"YulBlock","src":"690:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"736:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"745:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"748:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"738:6:150"},"nodeType":"YulFunctionCall","src":"738:12:150"},"nodeType":"YulExpressionStatement","src":"738:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"711:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"720:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"707:3:150"},"nodeType":"YulFunctionCall","src":"707:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"732:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"703:3:150"},"nodeType":"YulFunctionCall","src":"703:32:150"},"nodeType":"YulIf","src":"700:52:150"},{"nodeType":"YulAssignment","src":"761:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"784:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"771:12:150"},"nodeType":"YulFunctionCall","src":"771:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"761:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"656:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"667:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"679:6:150","type":""}],"src":"620:180:150"},{"body":{"nodeType":"YulBlock","src":"873:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"919:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"928:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"931:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"921:6:150"},"nodeType":"YulFunctionCall","src":"921:12:150"},"nodeType":"YulExpressionStatement","src":"921:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"894:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"903:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"890:3:150"},"nodeType":"YulFunctionCall","src":"890:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"915:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"886:3:150"},"nodeType":"YulFunctionCall","src":"886:32:150"},"nodeType":"YulIf","src":"883:52:150"},{"nodeType":"YulAssignment","src":"944:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"971:9:150"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"954:16:150"},"nodeType":"YulFunctionCall","src":"954:27:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"944:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"839:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"850:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"862:6:150","type":""}],"src":"805:182:150"},{"body":{"nodeType":"YulBlock","src":"1095:92:150","statements":[{"nodeType":"YulAssignment","src":"1105:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1117:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1128:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1113:3:150"},"nodeType":"YulFunctionCall","src":"1113:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1105:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1147:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1172:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1165:6:150"},"nodeType":"YulFunctionCall","src":"1165:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1158:6:150"},"nodeType":"YulFunctionCall","src":"1158:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1140:6:150"},"nodeType":"YulFunctionCall","src":"1140:41:150"},"nodeType":"YulExpressionStatement","src":"1140:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1064:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1075:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1086:4:150","type":""}],"src":"992:195:150"},{"body":{"nodeType":"YulBlock","src":"1297:237:150","statements":[{"body":{"nodeType":"YulBlock","src":"1343:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1352:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1355:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1345:6:150"},"nodeType":"YulFunctionCall","src":"1345:12:150"},"nodeType":"YulExpressionStatement","src":"1345:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1318:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1327:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1314:3:150"},"nodeType":"YulFunctionCall","src":"1314:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1339:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1310:3:150"},"nodeType":"YulFunctionCall","src":"1310:32:150"},"nodeType":"YulIf","src":"1307:52:150"},{"nodeType":"YulAssignment","src":"1368:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1391:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1378:12:150"},"nodeType":"YulFunctionCall","src":"1378:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1368:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1410:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1440:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1451:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1436:3:150"},"nodeType":"YulFunctionCall","src":"1436:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1423:12:150"},"nodeType":"YulFunctionCall","src":"1423:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1414:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1488:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1497:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1500:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1490:6:150"},"nodeType":"YulFunctionCall","src":"1490:12:150"},"nodeType":"YulExpressionStatement","src":"1490:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1477:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1484:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1474:2:150"},"nodeType":"YulFunctionCall","src":"1474:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1467:6:150"},"nodeType":"YulFunctionCall","src":"1467:20:150"},"nodeType":"YulIf","src":"1464:40:150"},{"nodeType":"YulAssignment","src":"1513:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1523:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1513:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_enum$_ProposalType_$25017","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1255:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1266:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1278:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1286:6:150","type":""}],"src":"1192:342:150"},{"body":{"nodeType":"YulBlock","src":"1640:76:150","statements":[{"nodeType":"YulAssignment","src":"1650:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1662:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1673:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1658:3:150"},"nodeType":"YulFunctionCall","src":"1658:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1650:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1692:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1703:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1685:6:150"},"nodeType":"YulFunctionCall","src":"1685:25:150"},"nodeType":"YulExpressionStatement","src":"1685:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1609:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1620:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1631:4:150","type":""}],"src":"1539:177:150"},{"body":{"nodeType":"YulBlock","src":"1802:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"1848:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1857:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1860:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1850:6:150"},"nodeType":"YulFunctionCall","src":"1850:12:150"},"nodeType":"YulExpressionStatement","src":"1850:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1823:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1832:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1819:3:150"},"nodeType":"YulFunctionCall","src":"1819:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1844:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1815:3:150"},"nodeType":"YulFunctionCall","src":"1815:32:150"},"nodeType":"YulIf","src":"1812:52:150"},{"nodeType":"YulAssignment","src":"1873:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1889:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1883:5:150"},"nodeType":"YulFunctionCall","src":"1883:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1873:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1768:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1779:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1791:6:150","type":""}],"src":"1721:184:150"},{"body":{"nodeType":"YulBlock","src":"1942:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1959:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1966:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1971:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1962:3:150"},"nodeType":"YulFunctionCall","src":"1962:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1952:6:150"},"nodeType":"YulFunctionCall","src":"1952:31:150"},"nodeType":"YulExpressionStatement","src":"1952:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1999:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2002:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1992:6:150"},"nodeType":"YulFunctionCall","src":"1992:15:150"},"nodeType":"YulExpressionStatement","src":"1992:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2023:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2026:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2016:6:150"},"nodeType":"YulFunctionCall","src":"2016:15:150"},"nodeType":"YulExpressionStatement","src":"2016:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"1910:127:150"},{"body":{"nodeType":"YulBlock","src":"2094:116:150","statements":[{"nodeType":"YulAssignment","src":"2104:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2119:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2122:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2115:3:150"},"nodeType":"YulFunctionCall","src":"2115:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"2104:7:150"}]},{"body":{"nodeType":"YulBlock","src":"2182:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2184:16:150"},"nodeType":"YulFunctionCall","src":"2184:18:150"},"nodeType":"YulExpressionStatement","src":"2184:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2153:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2146:6:150"},"nodeType":"YulFunctionCall","src":"2146:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2160:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"2167:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"2176:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2163:3:150"},"nodeType":"YulFunctionCall","src":"2163:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2157:2:150"},"nodeType":"YulFunctionCall","src":"2157:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2143:2:150"},"nodeType":"YulFunctionCall","src":"2143:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2136:6:150"},"nodeType":"YulFunctionCall","src":"2136:45:150"},"nodeType":"YulIf","src":"2133:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2073:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2076:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"2082:7:150","type":""}],"src":"2042:168:150"},{"body":{"nodeType":"YulBlock","src":"2247:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2264:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2271:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2276:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2267:3:150"},"nodeType":"YulFunctionCall","src":"2267:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2257:6:150"},"nodeType":"YulFunctionCall","src":"2257:31:150"},"nodeType":"YulExpressionStatement","src":"2257:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2304:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2307:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2297:6:150"},"nodeType":"YulFunctionCall","src":"2297:15:150"},"nodeType":"YulExpressionStatement","src":"2297:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2328:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2331:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2321:6:150"},"nodeType":"YulFunctionCall","src":"2321:15:150"},"nodeType":"YulExpressionStatement","src":"2321:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"2215:127:150"},{"body":{"nodeType":"YulBlock","src":"2393:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"2424:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2445:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2452:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2457:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2448:3:150"},"nodeType":"YulFunctionCall","src":"2448:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2438:6:150"},"nodeType":"YulFunctionCall","src":"2438:31:150"},"nodeType":"YulExpressionStatement","src":"2438:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2489:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2492:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2482:6:150"},"nodeType":"YulFunctionCall","src":"2482:15:150"},"nodeType":"YulExpressionStatement","src":"2482:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2517:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2520:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2510:6:150"},"nodeType":"YulFunctionCall","src":"2510:15:150"},"nodeType":"YulExpressionStatement","src":"2510:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2413:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2406:6:150"},"nodeType":"YulFunctionCall","src":"2406:9:150"},"nodeType":"YulIf","src":"2403:132:150"},{"nodeType":"YulAssignment","src":"2544:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2553:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2556:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2549:3:150"},"nodeType":"YulFunctionCall","src":"2549:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2544:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2378:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2381:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"2387:1:150","type":""}],"src":"2347:217:150"},{"body":{"nodeType":"YulBlock","src":"2601:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2618:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2625:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2630:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2621:3:150"},"nodeType":"YulFunctionCall","src":"2621:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2611:6:150"},"nodeType":"YulFunctionCall","src":"2611:31:150"},"nodeType":"YulExpressionStatement","src":"2611:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2658:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2661:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2651:6:150"},"nodeType":"YulFunctionCall","src":"2651:15:150"},"nodeType":"YulExpressionStatement","src":"2651:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2682:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2685:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2675:6:150"},"nodeType":"YulFunctionCall","src":"2675:15:150"},"nodeType":"YulExpressionStatement","src":"2675:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"2569:127:150"},{"body":{"nodeType":"YulBlock","src":"2750:79:150","statements":[{"nodeType":"YulAssignment","src":"2760:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2772:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2775:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2768:3:150"},"nodeType":"YulFunctionCall","src":"2768:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"2760:4:150"}]},{"body":{"nodeType":"YulBlock","src":"2801:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2803:16:150"},"nodeType":"YulFunctionCall","src":"2803:18:150"},"nodeType":"YulExpressionStatement","src":"2803:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"2792:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"2798:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2789:2:150"},"nodeType":"YulFunctionCall","src":"2789:11:150"},"nodeType":"YulIf","src":"2786:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2732:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2735:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"2741:4:150","type":""}],"src":"2701:128:150"},{"body":{"nodeType":"YulBlock","src":"2866:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2883:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2890:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2895:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2886:3:150"},"nodeType":"YulFunctionCall","src":"2886:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2876:6:150"},"nodeType":"YulFunctionCall","src":"2876:31:150"},"nodeType":"YulExpressionStatement","src":"2876:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2923:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2926:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2916:6:150"},"nodeType":"YulFunctionCall","src":"2916:15:150"},"nodeType":"YulExpressionStatement","src":"2916:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2947:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2950:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2940:6:150"},"nodeType":"YulFunctionCall","src":"2940:15:150"},"nodeType":"YulExpressionStatement","src":"2940:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"2834:127:150"},{"body":{"nodeType":"YulBlock","src":"3095:119:150","statements":[{"nodeType":"YulAssignment","src":"3105:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3117:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3128:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3113:3:150"},"nodeType":"YulFunctionCall","src":"3113:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3105:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3147:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3158:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3140:6:150"},"nodeType":"YulFunctionCall","src":"3140:25:150"},"nodeType":"YulExpressionStatement","src":"3140:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3185:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3196:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3181:3:150"},"nodeType":"YulFunctionCall","src":"3181:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"3201:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3174:6:150"},"nodeType":"YulFunctionCall","src":"3174:34:150"},"nodeType":"YulExpressionStatement","src":"3174:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3056:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3067:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3075:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3086:4:150","type":""}],"src":"2966:248:150"},{"body":{"nodeType":"YulBlock","src":"3299:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"3345:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3354:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3357:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3347:6:150"},"nodeType":"YulFunctionCall","src":"3347:12:150"},"nodeType":"YulExpressionStatement","src":"3347:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3320:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3329:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3316:3:150"},"nodeType":"YulFunctionCall","src":"3316:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3341:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3312:3:150"},"nodeType":"YulFunctionCall","src":"3312:32:150"},"nodeType":"YulIf","src":"3309:52:150"},{"nodeType":"YulVariableDeclaration","src":"3370:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3389:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3383:5:150"},"nodeType":"YulFunctionCall","src":"3383:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3374:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3457:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3466:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3469:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3459:6:150"},"nodeType":"YulFunctionCall","src":"3459:12:150"},"nodeType":"YulExpressionStatement","src":"3459:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3421:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3432:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"3439:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3428:3:150"},"nodeType":"YulFunctionCall","src":"3428:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3418:2:150"},"nodeType":"YulFunctionCall","src":"3418:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3411:6:150"},"nodeType":"YulFunctionCall","src":"3411:45:150"},"nodeType":"YulIf","src":"3408:65:150"},{"nodeType":"YulAssignment","src":"3482:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3492:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3482:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3265:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3276:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3288:6:150","type":""}],"src":"3219:284:150"},{"body":{"nodeType":"YulBlock","src":"3681:315:150","statements":[{"nodeType":"YulAssignment","src":"3691:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3703:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3714:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3699:3:150"},"nodeType":"YulFunctionCall","src":"3699:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3691:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3733:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3744:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3726:6:150"},"nodeType":"YulFunctionCall","src":"3726:25:150"},"nodeType":"YulExpressionStatement","src":"3726:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3771:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3782:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3767:3:150"},"nodeType":"YulFunctionCall","src":"3767:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"3787:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3760:6:150"},"nodeType":"YulFunctionCall","src":"3760:34:150"},"nodeType":"YulExpressionStatement","src":"3760:34:150"},{"body":{"nodeType":"YulBlock","src":"3836:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3857:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3864:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3869:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3860:3:150"},"nodeType":"YulFunctionCall","src":"3860:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3850:6:150"},"nodeType":"YulFunctionCall","src":"3850:31:150"},"nodeType":"YulExpressionStatement","src":"3850:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3901:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3904:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3894:6:150"},"nodeType":"YulFunctionCall","src":"3894:15:150"},"nodeType":"YulExpressionStatement","src":"3894:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3929:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3932:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3922:6:150"},"nodeType":"YulFunctionCall","src":"3922:15:150"},"nodeType":"YulExpressionStatement","src":"3922:15:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"3816:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3824:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3813:2:150"},"nodeType":"YulFunctionCall","src":"3813:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3806:6:150"},"nodeType":"YulFunctionCall","src":"3806:21:150"},"nodeType":"YulIf","src":"3803:144:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3978:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3963:3:150"},"nodeType":"YulFunctionCall","src":"3963:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"3983:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3956:6:150"},"nodeType":"YulFunctionCall","src":"3956:34:150"},"nodeType":"YulExpressionStatement","src":"3956:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_enum$_ProposalType_$25017__to_t_uint256_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3634:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3645:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3653:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3661:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3672:4:150","type":""}],"src":"3508:488:150"},{"body":{"nodeType":"YulBlock","src":"4137:130:150","statements":[{"nodeType":"YulAssignment","src":"4147:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4159:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4170:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4155:3:150"},"nodeType":"YulFunctionCall","src":"4155:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4147:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4189:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4204:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4212:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4200:3:150"},"nodeType":"YulFunctionCall","src":"4200:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4182:6:150"},"nodeType":"YulFunctionCall","src":"4182:36:150"},"nodeType":"YulExpressionStatement","src":"4182:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4238:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4249:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4234:3:150"},"nodeType":"YulFunctionCall","src":"4234:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"4254:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4227:6:150"},"nodeType":"YulFunctionCall","src":"4227:34:150"},"nodeType":"YulExpressionStatement","src":"4227:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4098:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4109:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4117:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4128:4:150","type":""}],"src":"4001:266:150"},{"body":{"nodeType":"YulBlock","src":"4320:77:150","statements":[{"nodeType":"YulAssignment","src":"4330:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4341:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"4344:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4337:3:150"},"nodeType":"YulFunctionCall","src":"4337:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"4330:3:150"}]},{"body":{"nodeType":"YulBlock","src":"4369:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"4371:16:150"},"nodeType":"YulFunctionCall","src":"4371:18:150"},"nodeType":"YulExpressionStatement","src":"4371:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4361:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"4364:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4358:2:150"},"nodeType":"YulFunctionCall","src":"4358:10:150"},"nodeType":"YulIf","src":"4355:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4303:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"4306:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"4312:3:150","type":""}],"src":"4272:125:150"},{"body":{"nodeType":"YulBlock","src":"4539:130:150","statements":[{"nodeType":"YulAssignment","src":"4549:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4561:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4572:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4557:3:150"},"nodeType":"YulFunctionCall","src":"4557:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4549:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4591:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4606:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4614:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4602:3:150"},"nodeType":"YulFunctionCall","src":"4602:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4584:6:150"},"nodeType":"YulFunctionCall","src":"4584:36:150"},"nodeType":"YulExpressionStatement","src":"4584:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4640:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4651:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4636:3:150"},"nodeType":"YulFunctionCall","src":"4636:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"4656:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4629:6:150"},"nodeType":"YulFunctionCall","src":"4629:34:150"},"nodeType":"YulExpressionStatement","src":"4629:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4500:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4511:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4519:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4530:4:150","type":""}],"src":"4402:267:150"}]},"contents":"{\n    { }\n    function abi_decode_uint8(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint8(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint8(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint8(headStart)\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_uint256t_enum$_ProposalType_$25017(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        if iszero(lt(value, 2)) { revert(0, 0) }\n        value1 := value\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_enum$_ProposalType_$25017__to_t_uint256_t_uint256_t_uint8__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        if iszero(lt(value2, 2))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":1288},{"length":20,"start":3389},{"length":20,"start":3512}]}},"object":"730000000000000000000000000000000000000000301460806040526004361061008d5760003560e01c8063026865cc1461009257806306f3f9e6146100b85780630eddee30146100da5780635273e74b146100ed57806360c4247f146101005780639079991f14610113578063a7713a7014610136578063e4207db41461013e578063f8ce560a1461015e575b600080fd5b6100a56100a03660046110a2565b610171565b6040519081526020015b60405180910390f35b8180156100c457600080fd5b506100d86100d33660046110ce565b610217565b005b6100a56100e83660046110e7565b610225565b6100a56100fb3660046110a2565b610295565b6100a561010e3660046110ce565b6102bc565b6101266101213660046110ce565b6103a7565b60405190151581526020016100af565b6100a56103b2565b81801561014a57600080fd5b506100d8610159366004611102565b6103df565b6100a561016c3660046110ce565b6103ed565b60008061017c610488565b9050606461018a8585610295565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156101d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f99190611136565b6102039190611165565b61020d9190611192565b9150505b92915050565b6102228160006104ac565b50565b600080610230610488565b90506102858160180160008560ff166001811115610250576102506111b4565b6001811115610261576102616111b4565b6001811115610272576102726111b4565b815260200190815260200160002061063f565b6001600160d01b03169392505050565b60006102b5838360ff1660018111156102b0576102b06111b4565b610686565b9392505050565b6000806102c7610488565b60008080526018820160205260408120805492935090919082906102ec6001846111ca565b815481106102fc576102fc6111dd565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610341576001600160d01b0316979650505050505050565b61039261034d89610790565b876018016000886001811115610365576103656111b4565b6001811115610376576103766111b4565b81526020019081526020016000206107c790919063ffffffff16565b6001600160d01b031698975050505050505050565b60006102118261086f565b6000806103bd610488565b905060006103cf601883018280610261565b6001600160d01b03169250505090565b6103e982826104ac565b5050565b6000806103f8610488565b90506064610405846102bc565b600c830154604051632394e7a360e21b8152600481018790526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104749190611136565b61047e9190611165565b6102b59190611192565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006104b6610488565b9050606460006104d18460018111156100e8576100e86111b4565b9050818511156105035760405163243e544560e01b815260048101869052602481018390526044015b60405180910390fd5b6105c273__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561054f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057391906111f3565b61057c876108c8565b856018016000886001811115610594576105946111b4565b60018111156105a5576105a56111b4565b81526020019081526020016000206108fc9092919063ffffffff16565b505060408051828152602081018790527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a17fa887ac6363633c0ce6f205a5a5e196934dd309db93895e5751862be24465171d8186866040516106309392919061121b565b60405180910390a15050505050565b8054600090801561067d57610667836106596001846111ca565b600091825260209091200190565b54600160301b90046001600160d01b03166102b5565b60009392505050565b600080610691610488565b905060008160180160008560018111156106ad576106ad6111b4565b60018111156106be576106be6111b4565b81526020810191909152604001600090812054915060188301818660018111156106ea576106ea6111b4565b60018111156106fb576106fb6111b4565b815260208101919091526040016000206107166001846111ca565b81548110610726576107266111dd565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031687821161076c576001600160d01b031694506102119350505050565b61039261077889610790565b8660180160008a6001811115610365576103656111b4565b600065ffffffffffff8211156107c3576040516306dfcc6560e41b815260306004820152602481018390526044016104fa565b5090565b8154600090818160058111156108265760006107e284610917565b6107ec90856111ca565b60008881526020902090915081015465ffffffffffff908116908716101561081657809150610824565b610821816001611255565b92505b505b6000610834878785856109ff565b905080156108615761084b876106596001846111ca565b54600160301b90046001600160d01b0316610864565b60005b979650505050505050565b60008061087a610488565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906108be6108ac86610a61565b8360018111156100a0576100a06111b4565b1115949350505050565b60006001600160d01b038211156107c3576040516306dfcc6560e41b815260d06004820152602481018390526044016104fa565b60008061090a858585610e4d565b915091505b935093915050565b60008160000361092957506000919050565b6000600161093684610fc7565b901c6001901b9050600181848161094f5761094f61117c565b048201901c905060018184816109675761096761117c565b048201901c9050600181848161097f5761097f61117c565b048201901c905060018184816109975761099761117c565b048201901c905060018184816109af576109af61117c565b048201901c905060018184816109c7576109c761117c565b048201901c905060018184816109df576109df61117c565b048201901c90506102b5818285816109f9576109f961117c565b0461105b565b60005b81831015610a59576000610a168484611071565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610a4557809250610a53565b610a50816001611255565b93505b50610a02565b509392505050565b600080610a6c610488565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b009190611136565b10610b9c576000610b0f610488565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401602060405180830381865afa158015610b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b949190611136565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c9190611136565b6000858152600180850160205260409091200154610c2a91906111ca565b90506000610c396001836111ca565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb29190611136565b610cbc9190611165565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d399190611136565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610d84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da891906111f3565b65ffffffffffff168111610e2e5773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2391906111f3565b65ffffffffffff1690505b82610e398383611255565b610e439190611255565b9695505050505050565b825460009081908015610f6c576000610e6b876106596001856111ca565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610ebf57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610f0b5784610ee2886106596001866111ca565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055610f5c565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b60200151925083915061090f9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b02919093161792019190915590508161090f565b600080608083901c15610fdc57608092831c92015b604083901c15610fee57604092831c92015b602083901c1561100057602092831c92015b601083901c1561101257601092831c92015b600883901c1561102457600892831c92015b600483901c1561103657600492831c92015b600283901c1561104857600292831c92015b600183901c156102115760010192915050565b600081831061106a57816102b5565b5090919050565b60006110806002848418611192565b6102b590848416611255565b803560ff8116811461109d57600080fd5b919050565b600080604083850312156110b557600080fd5b823591506110c56020840161108c565b90509250929050565b6000602082840312156110e057600080fd5b5035919050565b6000602082840312156110f957600080fd5b6102b58261108c565b6000806040838503121561111557600080fd5b8235915060208301356002811061112b57600080fd5b809150509250929050565b60006020828403121561114857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176102115761021161114f565b634e487b7160e01b600052601260045260246000fd5b6000826111af57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fd5b818103818111156102115761021161114f565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120557600080fd5b815165ffffffffffff811681146102b557600080fd5b83815260208101839052606081016002831061124757634e487b7160e01b600052602160045260246000fd5b826040830152949350505050565b808201808211156102115761021161114f56fea26469706673582212209f1f656251208e95097c5f6264d791dcc6fea0bb589b0fda336bb524bc11686e64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x8D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26865CC EQ PUSH2 0x92 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xEDDEE30 EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x5273E74B EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x9079991F EQ PUSH2 0x113 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0xE4207DB4 EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5 PUSH2 0xA0 CALLDATASIZE PUSH1 0x4 PUSH2 0x10A2 JUMP JUMPDEST PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD8 PUSH2 0xD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x217 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA5 PUSH2 0xE8 CALLDATASIZE PUSH1 0x4 PUSH2 0x10E7 JUMP JUMPDEST PUSH2 0x225 JUMP JUMPDEST PUSH2 0xA5 PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0x10A2 JUMP JUMPDEST PUSH2 0x295 JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x2BC JUMP JUMPDEST PUSH2 0x126 PUSH2 0x121 CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xAF JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x3B2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x14A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD8 PUSH2 0x159 CALLDATASIZE PUSH1 0x4 PUSH2 0x1102 JUMP JUMPDEST PUSH2 0x3DF JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x16C CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x3ED JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x17C PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x18A DUP6 DUP6 PUSH2 0x295 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x203 SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST PUSH2 0x20D SWAP2 SWAP1 PUSH2 0x1192 JUMP JUMPDEST SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x222 DUP2 PUSH1 0x0 PUSH2 0x4AC JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x230 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH2 0x285 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x250 JUMPI PUSH2 0x250 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x261 JUMPI PUSH2 0x261 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x272 JUMPI PUSH2 0x272 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x63F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B0 JUMPI PUSH2 0x2B0 PUSH2 0x11B4 JUMP JUMPDEST PUSH2 0x686 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C7 PUSH2 0x488 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 MSTORE PUSH1 0x18 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 SWAP1 DUP3 SWAP1 PUSH2 0x2EC PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2FC JUMPI PUSH2 0x2FC PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x341 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x392 PUSH2 0x34D DUP10 PUSH2 0x790 JUMP JUMPDEST DUP8 PUSH1 0x18 ADD PUSH1 0x0 DUP9 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x365 JUMPI PUSH2 0x365 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x376 JUMPI PUSH2 0x376 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x7C7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211 DUP3 PUSH2 0x86F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BD PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3CF PUSH1 0x18 DUP4 ADD DUP3 DUP1 PUSH2 0x261 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x3E9 DUP3 DUP3 PUSH2 0x4AC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F8 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x405 DUP5 PUSH2 0x2BC JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x450 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x474 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x47E SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST PUSH2 0x2B5 SWAP2 SWAP1 PUSH2 0x1192 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B6 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH1 0x0 PUSH2 0x4D1 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xE8 JUMPI PUSH2 0xE8 PUSH2 0x11B4 JUMP JUMPDEST SWAP1 POP DUP2 DUP6 GT ISZERO PUSH2 0x503 JUMPI PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5C2 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x54F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x573 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH2 0x57C DUP8 PUSH2 0x8C8 JUMP JUMPDEST DUP6 PUSH1 0x18 ADD PUSH1 0x0 DUP9 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x594 JUMPI PUSH2 0x594 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x5A5 JUMPI PUSH2 0x5A5 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x8FC SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP8 SWAP1 MSTORE PUSH32 0x553476BF02EF2726E8CE5CED78D63E26E602E4A2257B1F559418E24B4633997 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0xA887AC6363633C0CE6F205A5A5E196934DD309DB93895E5751862BE24465171D DUP2 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x630 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x121B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x67D JUMPI PUSH2 0x667 DUP4 PUSH2 0x659 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x691 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6AD JUMPI PUSH2 0x6AD PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6BE JUMPI PUSH2 0x6BE PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6EA JUMPI PUSH2 0x6EA PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6FB JUMPI PUSH2 0x6FB PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x716 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x726 JUMPI PUSH2 0x726 PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x76C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x211 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x392 PUSH2 0x778 DUP10 PUSH2 0x790 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x365 JUMPI PUSH2 0x365 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x826 JUMPI PUSH1 0x0 PUSH2 0x7E2 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH2 0x7EC SWAP1 DUP6 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x816 JUMPI DUP1 SWAP2 POP PUSH2 0x824 JUMP JUMPDEST PUSH2 0x821 DUP2 PUSH1 0x1 PUSH2 0x1255 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x834 DUP8 DUP8 DUP6 DUP6 PUSH2 0x9FF JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x861 JUMPI PUSH2 0x84B DUP8 PUSH2 0x659 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x864 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x87A PUSH2 0x488 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x8BE PUSH2 0x8AC DUP7 PUSH2 0xA61 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA0 JUMPI PUSH2 0xA0 PUSH2 0x11B4 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A DUP6 DUP6 DUP6 PUSH2 0xE4D JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x929 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x936 DUP5 PUSH2 0xFC7 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x94F JUMPI PUSH2 0x94F PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x967 JUMPI PUSH2 0x967 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x97F JUMPI PUSH2 0x97F PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x997 JUMPI PUSH2 0x997 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9AF JUMPI PUSH2 0x9AF PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9C7 JUMPI PUSH2 0x9C7 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9DF JUMPI PUSH2 0x9DF PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x2B5 DUP2 DUP3 DUP6 DUP2 PUSH2 0x9F9 JUMPI PUSH2 0x9F9 PUSH2 0x117C JUMP JUMPDEST DIV PUSH2 0x105B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xA59 JUMPI PUSH1 0x0 PUSH2 0xA16 DUP5 DUP5 PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xA45 JUMPI DUP1 SWAP3 POP PUSH2 0xA53 JUMP JUMPDEST PUSH2 0xA50 DUP2 PUSH1 0x1 PUSH2 0x1255 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xA02 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA6C PUSH2 0x488 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xADC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB00 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST LT PUSH2 0xB9C JUMPI PUSH1 0x0 PUSH2 0xB0F PUSH2 0x488 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB70 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB94 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBE8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC0C SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0xC2A SWAP2 SWAP1 PUSH2 0x11CA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC39 PUSH1 0x1 DUP4 PUSH2 0x11CA JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC8E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCB2 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0xCBC SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD15 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD39 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD84 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDA8 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0xE2E JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE23 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0xE39 DUP4 DUP4 PUSH2 0x1255 JUMP JUMPDEST PUSH2 0xE43 SWAP2 SWAP1 PUSH2 0x1255 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0xF6C JUMPI PUSH1 0x0 PUSH2 0xE6B DUP8 PUSH2 0x659 PUSH1 0x1 DUP6 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xEBF JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xF0B JUMPI DUP5 PUSH2 0xEE2 DUP9 PUSH2 0x659 PUSH1 0x1 DUP7 PUSH2 0x11CA JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0xF5C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x90F SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x90F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xFDC JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xFEE JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1000 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1012 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1024 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1036 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1048 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x211 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x106A JUMPI DUP2 PUSH2 0x2B5 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1192 JUMP JUMPDEST PUSH2 0x2B5 SWAP1 DUP5 DUP5 AND PUSH2 0x1255 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x109D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x10B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x10C5 PUSH1 0x20 DUP5 ADD PUSH2 0x108C JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B5 DUP3 PUSH2 0x108C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1115 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0x112B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x11AF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x2B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x1247 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP16 0x1F PUSH6 0x6251208E9509 PUSH29 0x5F6264D791DCC6FEA0BB589B0FDA336BB524BC11686E64736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"1830:9559:55:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6688:370;;;;;;:::i;:::-;;:::i;:::-;;;584:25:150;;;572:2;557:18;6688:370:55;;;;;;;;7483:175;;;;;;;;;;-1:-1:-1;7483:175:55;;;;;:::i;:::-;;:::i;:::-;;5368:301;;;;;;:::i;:::-;;:::i;4472:234::-;;;;;;:::i;:::-;;:::i;3442:796::-;;;;;;:::i;:::-;;:::i;5866:125::-;;;;;;:::i;:::-;;:::i;:::-;;;1165:14:150;;1158:22;1140:41;;1128:2;1113:18;5866:125:55;992:195:150;4846:309:55;;;:::i;8106:213::-;;;;;;;;;;-1:-1:-1;8106:213:55;;;;;:::i;:::-;;:::i;6159:274::-;;;;;;:::i;:::-;;:::i;6688:370::-;6795:7;6810:49;6862:44;:42;:44::i;:::-;6810:96;-1:-1:-1;3199:3:55;6965:59;6995:9;7006:17;6965:29;:59::i;:::-;6926:6;;;;:36;;-1:-1:-1;;;6926:36:55;;;;;584:25:150;;;-1:-1:-1;;;;;6926:6:55;;;;:25;;557:18:150;;6926:36:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6925:128;;;;:::i;:::-;6912:141;;;6688:370;;;;;:::o;7483:175::-;7565:88;7594:18;7614:38;7565:28;:88::i;:::-;7483:175;:::o;5368:301::-;5461:7;5476:49;5528:44;:42;:44::i;:::-;5476:96;;5585:79;:1;:20;;:70;5636:17;5606:48;;;;;;;;;;:::i;:::-;5585:70;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:77;:79::i;:::-;-1:-1:-1;;;;;5578:86:55;;5368:301;-1:-1:-1;;;5368:301:55:o;4472:234::-;4588:7;4610:91;4641:9;4682:17;4652:48;;;;;;;;;;:::i;:::-;4610:30;:91::i;:::-;4603:98;4472:234;-1:-1:-1;;;4472:234:55:o;3442:796::-;3515:7;3530:49;3582:44;:42;:44::i;:::-;3632:42;3738:34;;;:20;;;:34;;;;;:54;;:20;;-1:-1:-1;3632:42:55;;3738:54;3632:42;;3944:10;3953:1;3738:54;3944:10;:::i;:::-;3896:59;;;;;;;;:::i;:::-;;;;;;;;;;3980:11;;3896:59;;-1:-1:-1;3980:11:55;;;;-1:-1:-1;;;4019:13:55;;-1:-1:-1;;;;;4019:13:55;4042:22;;;4038:61;;-1:-1:-1;;;;;4074:18:55;;3442:796;-1:-1:-1;;;;;;;3442:796:55:o;4038:61::-;4151:82;4204:28;4222:9;4204:17;:28::i;:::-;4151:1;:20;;:34;4172:12;4151:34;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:52;;:82;;;;:::i;:::-;-1:-1:-1;;;;;4144:89:55;;3442:796;-1:-1:-1;;;;;;;;3442:796:55:o;5866:125::-;5942:4;5961:25;5975:10;5961:13;:25::i;4846:309::-;4894:7;4909:49;4961:44;:42;:44::i;:::-;4909:96;-1:-1:-1;5011:42:55;5107:43;:20;;;5011:42;;5107:34;;:43;-1:-1:-1;;;;;5100:50:55;;;;;4846:309;:::o;8106:213::-;8247:67;8276:18;8296:17;8247:28;:67::i;:::-;8106:213;;:::o;6159:274::-;6215:7;6230:49;6282:44;:42;:44::i;:::-;6230:96;-1:-1:-1;3199:3:55;6379:26;6395:9;6379:15;:26::i;:::-;6340:6;;;;:36;;-1:-1:-1;;;6340:36:55;;;;;584:25:150;;;-1:-1:-1;;;;;6340:6:55;;;;:25;;557:18:150;;6340:36:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;6339:89;;;;:::i;2703:146:57:-;2816:23;;2703:146::o;10568:819:55:-;10710:49;10762:44;:42;:44::i;:::-;10710:96;-1:-1:-1;3199:3:55;10812:19;10888:55;10924:17;10918:24;;;;;;;;:::i;10888:55::-;10859:84;;10975:11;10954:18;:32;10950:122;;;11003:62;;-1:-1:-1;;;11003:62:55;;;;;3140:25:150;;;3181:18;;;3174:34;;;3113:18;;11003:62:55;;;;;;;;10950:122;11078:133;11130:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11167:38;11186:18;11167;:38::i;:::-;11078:1;:20;;:39;11099:17;11078:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:44;;:133;;;;;:::i;:::-;-1:-1:-1;;11222:62:55;;;3140:25:150;;;3196:2;3181:18;;3174:34;;;11222:62:55;;3113:18:150;11222:62:55;;;;;;;11295:87;11324:18;11344;11364:17;11295:87;;;;;;;;:::i;:::-;;;;;;;;10704:683;;;10568:819;;:::o;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;10318:41;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;;10314:1;10296:70;10167:206;-1:-1:-1;;;10167:206:39:o;9375:792:55:-;9518:7;9533:49;9585:44;:42;:44::i;:::-;9533:96;;9635:14;9652:1;:20;;:39;9673:17;9652:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9652:39:55;;;:59;;-1:-1:-1;9815:20:55;;;-1:-1:-1;9836:17:55;9815:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9815:39:55;9868:10;9877:1;9868:6;:10;:::i;:::-;9815:64;;;;;;;;:::i;:::-;;;;;;;;;;9904:11;;9815:64;;-1:-1:-1;9904:11:55;;;;-1:-1:-1;;;9943:13:55;;-1:-1:-1;;;;;9943:13:55;9966:22;;;9962:61;;-1:-1:-1;;;;;9998:18:55;;-1:-1:-1;9998:18:55;;-1:-1:-1;;;;9998:18:55;9962:61;10075:87;10133:28;10151:9;10133:17;:28::i;:::-;10075:1;:20;;:39;10096:17;10075:39;;;;;;;;:::i;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;4182:36:150;4234:18;;;4227:34;;;4155:18;;14416:41:37;4001:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;9992:41::-;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;8601:423:55:-;8675:4;8687:49;8739:44;:42;:44::i;:::-;8789:42;8834:26;;;:14;;;:26;;;;;;;;;8987:20;;;:32;;;;;;;8687:96;;-1:-1:-1;8834:26:55;;;8880:97;8901:54;8849:10;8901:42;:54::i;:::-;8963:12;8957:19;;;;;;;;:::i;8880:97::-;:139;;;8601:423;-1:-1:-1;;;;8601:423:55:o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;4182:36:150;4234:18;;;4227:34;;;4155:18;;4297:42:37;4001:266:150;8050:162:39;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;35807:1163:54:-;35885:7;35900:49;35952:44;:42;:44::i;:::-;35900:96;;36109:1;:11;;:23;36121:10;36109:23;;;;;;;;;;;:40;;;36069:1;:19;;;;;;;;;;-1:-1:-1;;;;;36069:19:54;-1:-1:-1;;;;;36069:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36065:285;;36157:49;36209:44;:42;:44::i;:::-;36268:19;;;;;36302:23;;;36268:19;36302:11;;;:23;;;;;;;:40;;36268:75;;-1:-1:-1;;;36268:75:54;;;;;584:25:150;;;;36268:19:54;;-1:-1:-1;;;;;;36268:19:54;;:33;;557:18:150;;36268:75:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36261:82;35807:1163;-1:-1:-1;;;;35807:1163:54:o;36065:285::-;36428:19;;;;:36;;;-1:-1:-1;;;36428:36:54;;;;36356:26;;-1:-1:-1;;;;;36428:19:54;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36385:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;36356:108;-1:-1:-1;36470:26:54;36537:22;36558:1;36356:108;36537:22;:::i;:::-;36499:1;:19;;;;;;;;;;-1:-1:-1;;;;;36499:19:54;-1:-1:-1;;;;;36499:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36470:90;;36622:28;36653:1;:19;;;;;;;;;;-1:-1:-1;;;;;36653:19:54;-1:-1:-1;;;;;36653:40:54;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36622:73;;36792:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36768:53;;:20;:53;36764:126;;36854:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36831:52;;;;36764:126;36947:18;36903:41;36926:18;36903:20;:41;:::i;:::-;:62;;;;:::i;:::-;36896:69;35807:1163;-1:-1:-1;;;;;;35807:1163:54:o;11513:870:39:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;14:156:150:-;80:20;;140:4;129:16;;119:27;;109:55;;160:1;157;150:12;109:55;14:156;;;:::o;175:250::-;241:6;249;302:2;290:9;281:7;277:23;273:32;270:52;;;318:1;315;308:12;270:52;354:9;341:23;331:33;;383:36;415:2;404:9;400:18;383:36;:::i;:::-;373:46;;175:250;;;;;:::o;620:180::-;679:6;732:2;720:9;711:7;707:23;703:32;700:52;;;748:1;745;738:12;700:52;-1:-1:-1;771:23:150;;620:180;-1:-1:-1;620:180:150:o;805:182::-;862:6;915:2;903:9;894:7;890:23;886:32;883:52;;;931:1;928;921:12;883:52;954:27;971:9;954:27;:::i;1192:342::-;1278:6;1286;1339:2;1327:9;1318:7;1314:23;1310:32;1307:52;;;1355:1;1352;1345:12;1307:52;1391:9;1378:23;1368:33;;1451:2;1440:9;1436:18;1423:32;1484:1;1477:5;1474:12;1464:40;;1500:1;1497;1490:12;1464:40;1523:5;1513:15;;;1192:342;;;;;:::o;1721:184::-;1791:6;1844:2;1832:9;1823:7;1819:23;1815:32;1812:52;;;1860:1;1857;1850:12;1812:52;-1:-1:-1;1883:16:150;;1721:184;-1:-1:-1;1721:184:150:o;1910:127::-;1971:10;1966:3;1962:20;1959:1;1952:31;2002:4;1999:1;1992:15;2026:4;2023:1;2016:15;2042:168;2115:9;;;2146;;2163:15;;;2157:22;;2143:37;2133:71;;2184:18;;:::i;2215:127::-;2276:10;2271:3;2267:20;2264:1;2257:31;2307:4;2304:1;2297:15;2331:4;2328:1;2321:15;2347:217;2387:1;2413;2403:132;;2457:10;2452:3;2448:20;2445:1;2438:31;2492:4;2489:1;2482:15;2520:4;2517:1;2510:15;2403:132;-1:-1:-1;2549:9:150;;2347:217::o;2569:127::-;2630:10;2625:3;2621:20;2618:1;2611:31;2661:4;2658:1;2651:15;2685:4;2682:1;2675:15;2701:128;2768:9;;;2789:11;;;2786:37;;;2803:18;;:::i;2834:127::-;2895:10;2890:3;2886:20;2883:1;2876:31;2926:4;2923:1;2916:15;2950:4;2947:1;2940:15;3219:284;3288:6;3341:2;3329:9;3320:7;3316:23;3312:32;3309:52;;;3357:1;3354;3347:12;3309:52;3389:9;3383:16;3439:14;3432:5;3428:26;3421:5;3418:37;3408:65;;3469:1;3466;3459:12;3508:488;3726:25;;;3782:2;3767:18;;3760:34;;;3714:2;3699:18;;3824:1;3813:13;;3803:144;;3869:10;3864:3;3860:20;3857:1;3850:31;3904:4;3901:1;3894:15;3932:4;3929:1;3922:15;3803:144;3983:6;3978:2;3967:9;3963:18;3956:34;3508:488;;;;;;:::o;4272:125::-;4337:9;;;4358:10;;;4355:36;;;4371:18;;:::i"},"methodIdentifiers":{"isQuorumReached(uint256)":"9079991f","quorum(uint256)":"f8ce560a","quorumByProposalType(uint256,uint8)":"026865cc","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumNumeratorByProposalType(uint256,uint8)":"5273e74b","quorumNumeratorByProposalType(uint8)":"0eddee30","updateQuorumNumerator(uint256)":"06f3f9e6","updateQuorumNumeratorByType(uint256,GovernorTypesV10.ProposalType)":"e4207db4"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"QuorumNumeratorUpdatedByType\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isQuorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumNumeratorByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumNumeratorByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"params\":{\"quorumDenominator\":\"The denominator against which the numerator was compared.\",\"quorumNumerator\":\"The attempted new numerator that failed the update.\"}}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"QuorumNumeratorUpdated(uint256,uint256)\":{\"params\":{\"newNumerator\":\"The numerator after the update.\",\"oldNumerator\":\"The numerator before the update.\"}},\"QuorumNumeratorUpdatedByType(uint256,uint256,uint8)\":{\"params\":{\"newNumerator\":\"The numerator after the update.\",\"oldNumerator\":\"The numerator before the update.\",\"proposalType\":\"The type of proposal.\"}}},\"kind\":\"dev\",\"methods\":{\"isQuorumReached(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal.\"},\"returns\":{\"_0\":\"True if the quorum has been reached, false otherwise.\"}},\"quorum(uint256)\":{\"params\":{\"timepoint\":\"The specific timepoint.\"},\"returns\":{\"_0\":\"The quorum at the given timepoint.\"}},\"quorumByProposalType(uint256,uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\",\"timepoint\":\"The specific timepoint.\"},\"returns\":{\"_0\":\"The quorum at the given timepoint and proposal type.\"}},\"quorumNumerator()\":{\"returns\":{\"_0\":\"The latest quorum numerator.\"}},\"quorumNumerator(uint256)\":{\"params\":{\"timepoint\":\"The specific timepoint for which to fetch the numerator.\"},\"returns\":{\"_0\":\"The quorum numerator at the given timepoint.\"}},\"quorumNumeratorByProposalType(uint256,uint8)\":{\"params\":{\"timepoint\":\"The specific timepoint for which to fetch the numerator.\"},\"returns\":{\"_0\":\"The quorum numerator at the given timepoint.\"}},\"quorumNumeratorByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"The latest quorum numerator for the proposal type.\"}},\"updateQuorumNumerator(uint256)\":{\"details\":\"This function should only be called from governance actions where numerators need updating.New numerator must be smaller or equal to the denominator.\",\"params\":{\"newQuorumNumerator\":\"The new value for the quorum numerator.\"}},\"updateQuorumNumeratorByType(uint256,GovernorTypesV10.ProposalType)\":{\"details\":\"This function should only be called from governance actions where numerators need updating.New numerator must be smaller or equal to the denominator.\",\"params\":{\"newQuorumNumerator\":\"The new value for the quorum numerator.\",\"proposalTypeValue\":\"The type of proposal.\"}}},\"title\":\"GovernorQuorumLogicV10\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"notice\":\"Error that is thrown when the new quorum numerator exceeds the denominator.\"}]},\"events\":{\"QuorumNumeratorUpdated(uint256,uint256)\":{\"notice\":\"Emitted when the quorum numerator is updated.\"},\"QuorumNumeratorUpdatedByType(uint256,uint256,uint8)\":{\"notice\":\"Emitted when the quorum numerator for a specific proposal type is updated.\"}},\"kind\":\"user\",\"methods\":{\"isQuorumReached(uint256)\":{\"notice\":\"Checks if the quorum has been reached for a proposal.\"},\"quorum(uint256)\":{\"notice\":\"Returns the quorum for a specific timepoint.\"},\"quorumByProposalType(uint256,uint8)\":{\"notice\":\"Returns the quorum for a specific timepoint and proposal type.\"},\"quorumNumerator()\":{\"notice\":\"Retrieves the latest quorum numerator using the GovernorClockLogicV10 library.\"},\"quorumNumerator(uint256)\":{\"notice\":\"Retrieves the quorum numerator at a specific timepoint using checkpoint data.\"},\"quorumNumeratorByProposalType(uint256,uint8)\":{\"notice\":\"Retrieves the quorum numerator at a specific timepoint using checkpoint data.\"},\"quorumNumeratorByProposalType(uint8)\":{\"notice\":\"Retrieves the latest quorum numerator for a specific proposal type.\"},\"updateQuorumNumerator(uint256)\":{\"notice\":\"Updates the quorum numerator to a new value at a specified time, emitting an event upon success.\"},\"updateQuorumNumeratorByType(uint256,GovernorTypesV10.ProposalType)\":{\"notice\":\"Updates the quorum numerator for a specific proposal type to a new value at a specified time, emitting an event upon success.\"}},\"notice\":\"Library for managing quorum numerators using checkpointed data structures.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol\":\"GovernorQuorumLogicV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol\":{\"keccak256\":\"0x6a7cc588ce08460da1388dab77c8778aa1a60065cd43ae2360c103e640dfc2a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://254fe95dec0ab5497b4bbefe29fb65dea5b0594c90982dbf3b66c2f6c1c39f29\",\"dweb:/ipfs/QmW3dbwg9H6GPrvaDeKLfRQBzz28BFwNVufkT7pe1hv6B7\"]},\"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol\":{\"keccak256\":\"0x3397264be328d66e78addf8da14626cedf3e822eda096dcc0b0d4c8f590cf164\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d8770a70795251944aea6b12221270a6e1df0a6cae7de3cfa985d9d85f5b44e\",\"dweb:/ipfs/QmPo2y4pt9xMkdoXjWRKvmVjN5ao2DaQpdpsEDLWoX6Tds\"]},\"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol\":{\"keccak256\":\"0x4b49b4820370e23b8a9cc8e4cfd7cc233078aa18b127e4f3bb71eef2037d56fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0d15ed7cf840190e4fe550d5beac54812fcf3c935415ac45f78d2da8edce094\",\"dweb:/ipfs/QmSakePtMJCjxqVyS5UhPi6jLwojUgdLK2mkjf4JkZuUNr\"]},\"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\":{\"keccak256\":\"0xdf23dd2f515e503dbbae2a4d4d4e9efcca22e357aacdb83e5abdc5854783cc22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b3c6779fcdf93f8f8afc3ddf7591fe983d47ad6ae8eaa29902603c701beaf86\",\"dweb:/ipfs/QmdigrheDca8jAb7cwgGj3r3f95DsjEDdqb5pT5gfiiULL\"]},\"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol\":{\"keccak256\":\"0x1b1ff6cdf118475d82421782ff9e8b83fe0056bdffea414bfb6be15ad6cdb73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9aacb4a80e7922069ec2ed464c17ad17b72b4a061dd4ed63e5449b8147407260\",\"dweb:/ipfs/QmR1cqBsHBJurr5DfpJ1daov1DnxS2Yz9atCggvV2if4V1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol\":{\"keccak256\":\"0x88765be13ee3cc295e11e5b966a3c80f7fc976c1a10eac3fe096b7f1e26dd509\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://846d77bf1f45c0bc78fcaf8f51a45763a3c4879b33cc172ef12b736182804908\",\"dweb:/ipfs/QmWdh7woCYYsUXoW2RyoBrVWQvTtjwVqVAD9AT8wRnUoa3\"]},\"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol\":{\"keccak256\":\"0xcddb1bc4f53ed3df2264eee5a6b0c8894d6a01d9673eff866b81691a56e557ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f21e5eec2c06dcb3bab8d7af5808adb47b8dfd99de7483d4d81e04effe10f05d\",\"dweb:/ipfs/QmPLUSt6CaCjS5tFqeVDeCnvfq8jG99KJhzs5GfaK2tjRh\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol\":{\"keccak256\":\"0x50c28e3d5abc3914216c8871ec74f3cafac0ca598bf389d84af6bcc950d792a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45bb508ad0afe1da38784ee6b51b6c1cc4f4604e6c84052fc2917c1bb8436d18\",\"dweb:/ipfs/QmXhdxjhT4Hn3SiGm31hJbZDSYMYjqX9k72Zx6eanGZNHE\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol\":{\"keccak256\":\"0x944ea2027e155ed6020969da6d21c8c0f22b49e4b1792c3403b6ae75e52c5328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df4a784bb01c7df68a62c68d8c859a7fb73980d5d99ade94d2c2f62e11d68488\",\"dweb:/ipfs/QmawVpasYNft622Myguv2weKnmpA7z17o4dbCt7io9r9M9\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol":{"GovernorStateLogicV10":{"abi":[{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":575},{"length":20,"start":2522},{"length":20,"start":2645}]}},"object":"61111861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80633e4f49e61461003a575b600080fd5b61004d610048366004610faf565b610063565b60405160ff909116815260200160405180910390f35b600061006e82610085565b600981111561007f5761007f610fc8565b92915050565b600080610090610431565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b90920416908360028111156100e5576100e5610fc8565b036100f7575060089695505050505050565b600283600281111561010b5761010b610fc8565b0361011d575060099695505050505050565b8115610130575060069695505050505050565b8015610143575060029695505050505050565b836001015460000361017057604051636ad0607560e01b8152600481018890526024015b60405180910390fd5b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee9190610fde565b1015610201575060009695505050505050565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610ff7565b65ffffffffffff169050600061028589610455565b905061029089610624565b6102a35750600798975050505050505050565b8181106102b95750600198975050505050505050565b6102c289610650565b15806102d457506102d2896106ae565b155b156102e85750600398975050505050505050565b6102f1896106d6565b6000036103075750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610364573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610388919061101f565b1561039d575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c919061101f565b15610421575060069998505050505050505050565b5060029998505050505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600080610460610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f49190610fde565b10610591576000610503610431565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610fde565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610fde565b61061384610708565b61061d9190611057565b9392505050565b60008061062f610431565b60009384526001016020525050604090206004810154600390910154101590565b60008061065b610431565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906106a461068d86610708565b83600181111561069f5761069f610fc8565b610ab0565b1115949350505050565b6000806106b9610431565b6000938452600f0160205250506040902080546001909101541190565b6000806106e1610431565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080610713610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610fde565b106107ff5760006107b6610431565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401610548565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f9190610fde565b600085815260018085016020526040909120015461088d919061106a565b9050600061089c60018361106a565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109159190610fde565b61091f919061107d565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190610fde565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0b9190610ff7565b65ffffffffffff168111610a915773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190610ff7565b65ffffffffffff1690505b82610a9c8383611057565b610aa69190611057565b9695505050505050565b600080610abb610431565b90506064610ac98585610b4c565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b389190610fde565b610b42919061107d565b61058991906110aa565b600061061d838360ff166001811115610b6757610b67610fc8565b600080610b72610431565b90506000816018016000856001811115610b8e57610b8e610fc8565b6001811115610b9f57610b9f610fc8565b8152602081019190915260400160009081205491506018830181866001811115610bcb57610bcb610fc8565b6001811115610bdc57610bdc610fc8565b81526020810191909152604001600020610bf760018461106a565b81548110610c0757610c076110cc565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610c4d576001600160d01b0316945061007f9350505050565b610c9e610c5989610cb3565b8660180160008a6001811115610c7157610c71610fc8565b6001811115610c8257610c82610fc8565b8152602001908152602001600020610cea90919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff821115610ce6576040516306dfcc6560e41b81526030600482015260248101839052604401610167565b5090565b815460009081816005811115610d49576000610d0584610da0565b610d0f908561106a565b60008881526020902090915081015465ffffffffffff9081169087161015610d3957809150610d47565b610d44816001611057565b92505b505b6000610d5787878585610e88565b90508015610d9257610d7c87610d6e60018461106a565b600091825260209091200190565b54600160301b90046001600160d01b0316610d95565b60005b979650505050505050565b600081600003610db257506000919050565b60006001610dbf84610eea565b901c6001901b90506001818481610dd857610dd8611094565b048201901c90506001818481610df057610df0611094565b048201901c90506001818481610e0857610e08611094565b048201901c90506001818481610e2057610e20611094565b048201901c90506001818481610e3857610e38611094565b048201901c90506001818481610e5057610e50611094565b048201901c90506001818481610e6857610e68611094565b048201901c905061061d81828581610e8257610e82611094565b04610f7e565b60005b81831015610ee2576000610e9f8484610f94565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ece57809250610edc565b610ed9816001611057565b93505b50610e8b565b509392505050565b600080608083901c15610eff57608092831c92015b604083901c15610f1157604092831c92015b602083901c15610f2357602092831c92015b601083901c15610f3557601092831c92015b600883901c15610f4757600892831c92015b600483901c15610f5957600492831c92015b600283901c15610f6b57600292831c92015b600183901c1561007f5760010192915050565b6000818310610f8d578161061d565b5090919050565b6000610fa360028484186110aa565b61061d90848416611057565b600060208284031215610fc157600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215610ff057600080fd5b5051919050565b60006020828403121561100957600080fd5b815165ffffffffffff8116811461061d57600080fd5b60006020828403121561103157600080fd5b8151801515811461061d57600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561007f5761007f611041565b8181038181111561007f5761007f611041565b808202811582820484141761007f5761007f611041565b634e487b7160e01b600052601260045260246000fd5b6000826110c757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220441dde106040be85eeca4f1bce134de777270c68ebf7a8e6ee86cd1c0f6ee5cc64736f6c63430008140033","opcodes":"PUSH2 0x1118 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAF JUMP JUMPDEST PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x6E DUP3 PUSH2 0x85 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0xFC8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE5 JUMPI PUSH2 0xE5 PUSH2 0xFC8 JUMP JUMPDEST SUB PUSH2 0xF7 JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x10B JUMPI PUSH2 0x10B PUSH2 0xFC8 JUMP JUMPDEST SUB PUSH2 0x11D JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x130 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x143 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x170 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT ISZERO PUSH2 0x201 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x24C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x270 SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x285 DUP10 PUSH2 0x455 JUMP JUMPDEST SWAP1 POP PUSH2 0x290 DUP10 PUSH2 0x624 JUMP JUMPDEST PUSH2 0x2A3 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x2B9 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2C2 DUP10 PUSH2 0x650 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x2D4 JUMPI POP PUSH2 0x2D2 DUP10 PUSH2 0x6AE JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x2E8 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2F1 DUP10 PUSH2 0x6D6 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x307 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x364 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x388 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST ISZERO PUSH2 0x39D JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3E8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST ISZERO PUSH2 0x421 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x460 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4F4 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT PUSH2 0x591 JUMPI PUSH1 0x0 PUSH2 0x503 PUSH2 0x431 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x565 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x589 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5E6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x60A SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0x613 DUP5 PUSH2 0x708 JUMP JUMPDEST PUSH2 0x61D SWAP2 SWAP1 PUSH2 0x1057 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x62F PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x65B PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x6A4 PUSH2 0x68D DUP7 PUSH2 0x708 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x69F JUMPI PUSH2 0x69F PUSH2 0xFC8 JUMP JUMPDEST PUSH2 0xAB0 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6B9 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6E1 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x713 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x783 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT PUSH2 0x7FF JUMPI PUSH1 0x0 PUSH2 0x7B6 PUSH2 0x431 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x548 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x84B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x86F SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x88D SWAP2 SWAP1 PUSH2 0x106A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x89C PUSH1 0x1 DUP4 PUSH2 0x106A JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x915 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0x91F SWAP2 SWAP1 PUSH2 0x107D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x978 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x99C SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA0B SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0xA91 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA62 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA86 SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0xA9C DUP4 DUP4 PUSH2 0x1057 JUMP JUMPDEST PUSH2 0xAA6 SWAP2 SWAP1 PUSH2 0x1057 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xABB PUSH2 0x431 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0xAC9 DUP6 DUP6 PUSH2 0xB4C JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB14 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB38 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0xB42 SWAP2 SWAP1 PUSH2 0x107D JUMP JUMPDEST PUSH2 0x589 SWAP2 SWAP1 PUSH2 0x10AA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x61D DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB67 JUMPI PUSH2 0xB67 PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB72 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB8E JUMPI PUSH2 0xB8E PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB9F JUMPI PUSH2 0xB9F PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBCB JUMPI PUSH2 0xBCB PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0xBF7 PUSH1 0x1 DUP5 PUSH2 0x106A JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xC07 JUMPI PUSH2 0xC07 PUSH2 0x10CC JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0xC4D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x7F SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0xC9E PUSH2 0xC59 DUP10 PUSH2 0xCB3 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC71 JUMPI PUSH2 0xC71 PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC82 JUMPI PUSH2 0xC82 PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0xCEA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xCE6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x167 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xD49 JUMPI PUSH1 0x0 PUSH2 0xD05 DUP5 PUSH2 0xDA0 JUMP JUMPDEST PUSH2 0xD0F SWAP1 DUP6 PUSH2 0x106A JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xD39 JUMPI DUP1 SWAP2 POP PUSH2 0xD47 JUMP JUMPDEST PUSH2 0xD44 DUP2 PUSH1 0x1 PUSH2 0x1057 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xD57 DUP8 DUP8 DUP6 DUP6 PUSH2 0xE88 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xD92 JUMPI PUSH2 0xD7C DUP8 PUSH2 0xD6E PUSH1 0x1 DUP5 PUSH2 0x106A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xD95 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDB2 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDBF DUP5 PUSH2 0xEEA JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDD8 JUMPI PUSH2 0xDD8 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDF0 JUMPI PUSH2 0xDF0 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE08 JUMPI PUSH2 0xE08 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE20 JUMPI PUSH2 0xE20 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE38 JUMPI PUSH2 0xE38 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE50 JUMPI PUSH2 0xE50 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE68 JUMPI PUSH2 0xE68 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x61D DUP2 DUP3 DUP6 DUP2 PUSH2 0xE82 JUMPI PUSH2 0xE82 PUSH2 0x1094 JUMP JUMPDEST DIV PUSH2 0xF7E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xEE2 JUMPI PUSH1 0x0 PUSH2 0xE9F DUP5 DUP5 PUSH2 0xF94 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xECE JUMPI DUP1 SWAP3 POP PUSH2 0xEDC JUMP JUMPDEST PUSH2 0xED9 DUP2 PUSH1 0x1 PUSH2 0x1057 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xE8B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xEFF JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xF11 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0xF23 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0xF35 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0xF47 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0xF59 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0xF6B JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x7F JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xF8D JUMPI DUP2 PUSH2 0x61D JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFA3 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x10AA JUMP JUMPDEST PUSH2 0x61D SWAP1 DUP5 DUP5 AND PUSH2 0x1057 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1031 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x10C7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PREVRANDAO SAR 0xDE LT PUSH1 0x40 0xBE DUP6 0xEE 0xCA 0x4F SHL 0xCE SGT 0x4D 0xE7 PUSH24 0x270C68EBF7A8E6EE86CD1C0F6EE5CC64736F6C6343000814 STOP CALLER ","sourceMap":"1861:4882:56:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1861:4882:56;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_proposalDeadline_23690":{"entryPoint":1109,"id":23690,"parameterSlots":1,"returnSlots":1},"@_proposalSnapshot_23632":{"entryPoint":1800,"id":23632,"parameterSlots":1,"returnSlots":1},"@_quorumNumeratorByProposalType_24311":{"entryPoint":null,"id":24311,"parameterSlots":2,"returnSlots":1},"@_state_24717":{"entryPoint":133,"id":24717,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":3720,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":3988,"id":6189,"parameterSlots":2,"returnSlots":1},"@getGovernorStorage_24759":{"entryPoint":1073,"id":24759,"parameterSlots":0,"returnSlots":1},"@log2_6671":{"entryPoint":3818,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":3966,"id":6166,"parameterSlots":2,"returnSlots":1},"@proposalDepositReached_21127":{"entryPoint":1572,"id":21127,"parameterSlots":1,"returnSlots":1},"@proposalEta_21803":{"entryPoint":1750,"id":21803,"parameterSlots":1,"returnSlots":1},"@quorumByProposalType_24165":{"entryPoint":2736,"id":24165,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_23927":{"entryPoint":null,"id":23927,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_24025":{"entryPoint":2892,"id":24025,"parameterSlots":2,"returnSlots":1},"@quorumReached_24238":{"entryPoint":1616,"id":24238,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":3488,"id":6504,"parameterSlots":1,"returnSlots":1},"@state_24451":{"entryPoint":99,"id":24451,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":3251,"id":7770,"parameterSlots":1,"returnSlots":1},"@upperLookupRecent_9604":{"entryPoint":3306,"id":9604,"parameterSlots":2,"returnSlots":1},"@voteSucceeded_25308":{"entryPoint":1710,"id":25308,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":4127,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":4015,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":4062,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":4087,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":4183,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4266,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":4221,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4202,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":4161,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":4244,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":4040,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":4300,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2974:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:150"},"nodeType":"YulFunctionCall","src":"132:12:150"},"nodeType":"YulExpressionStatement","src":"132:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:150"},"nodeType":"YulFunctionCall","src":"101:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:150"},"nodeType":"YulFunctionCall","src":"97:32:150"},"nodeType":"YulIf","src":"94:52:150"},{"nodeType":"YulAssignment","src":"155:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:150"},"nodeType":"YulFunctionCall","src":"165:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:150","type":""}],"src":"14:180:150"},{"body":{"nodeType":"YulBlock","src":"304:87:150","statements":[{"nodeType":"YulAssignment","src":"314:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"326:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"337:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"322:3:150"},"nodeType":"YulFunctionCall","src":"322:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"314:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"356:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"371:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"379:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"367:3:150"},"nodeType":"YulFunctionCall","src":"367:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"349:6:150"},"nodeType":"YulFunctionCall","src":"349:36:150"},"nodeType":"YulExpressionStatement","src":"349:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"273:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"284:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"295:4:150","type":""}],"src":"199:192:150"},{"body":{"nodeType":"YulBlock","src":"428:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"445:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"452:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"457:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"448:3:150"},"nodeType":"YulFunctionCall","src":"448:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"438:6:150"},"nodeType":"YulFunctionCall","src":"438:31:150"},"nodeType":"YulExpressionStatement","src":"438:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"485:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"488:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"478:6:150"},"nodeType":"YulFunctionCall","src":"478:15:150"},"nodeType":"YulExpressionStatement","src":"478:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"509:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"512:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"502:6:150"},"nodeType":"YulFunctionCall","src":"502:15:150"},"nodeType":"YulExpressionStatement","src":"502:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"396:127:150"},{"body":{"nodeType":"YulBlock","src":"629:76:150","statements":[{"nodeType":"YulAssignment","src":"639:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"651:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"662:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"647:3:150"},"nodeType":"YulFunctionCall","src":"647:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"639:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"681:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"692:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"674:6:150"},"nodeType":"YulFunctionCall","src":"674:25:150"},"nodeType":"YulExpressionStatement","src":"674:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"598:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"609:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"620:4:150","type":""}],"src":"528:177:150"},{"body":{"nodeType":"YulBlock","src":"791:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"837:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"846:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"849:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"839:6:150"},"nodeType":"YulFunctionCall","src":"839:12:150"},"nodeType":"YulExpressionStatement","src":"839:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"812:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"821:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"808:3:150"},"nodeType":"YulFunctionCall","src":"808:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"833:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"804:3:150"},"nodeType":"YulFunctionCall","src":"804:32:150"},"nodeType":"YulIf","src":"801:52:150"},{"nodeType":"YulAssignment","src":"862:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"878:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"872:5:150"},"nodeType":"YulFunctionCall","src":"872:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"862:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"757:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"768:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"780:6:150","type":""}],"src":"710:184:150"},{"body":{"nodeType":"YulBlock","src":"979:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"1025:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1034:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1037:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1027:6:150"},"nodeType":"YulFunctionCall","src":"1027:12:150"},"nodeType":"YulExpressionStatement","src":"1027:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1000:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1009:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"996:3:150"},"nodeType":"YulFunctionCall","src":"996:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1021:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"992:3:150"},"nodeType":"YulFunctionCall","src":"992:32:150"},"nodeType":"YulIf","src":"989:52:150"},{"nodeType":"YulVariableDeclaration","src":"1050:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1069:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1063:5:150"},"nodeType":"YulFunctionCall","src":"1063:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1054:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1137:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1146:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1149:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1139:6:150"},"nodeType":"YulFunctionCall","src":"1139:12:150"},"nodeType":"YulExpressionStatement","src":"1139:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1101:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1112:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1119:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1108:3:150"},"nodeType":"YulFunctionCall","src":"1108:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1098:2:150"},"nodeType":"YulFunctionCall","src":"1098:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1091:6:150"},"nodeType":"YulFunctionCall","src":"1091:45:150"},"nodeType":"YulIf","src":"1088:65:150"},{"nodeType":"YulAssignment","src":"1162:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1172:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1162:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"945:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"956:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"968:6:150","type":""}],"src":"899:284:150"},{"body":{"nodeType":"YulBlock","src":"1289:76:150","statements":[{"nodeType":"YulAssignment","src":"1299:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1311:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1322:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1307:3:150"},"nodeType":"YulFunctionCall","src":"1307:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1299:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1341:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1352:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1334:6:150"},"nodeType":"YulFunctionCall","src":"1334:25:150"},"nodeType":"YulExpressionStatement","src":"1334:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1258:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1269:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1280:4:150","type":""}],"src":"1188:177:150"},{"body":{"nodeType":"YulBlock","src":"1448:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"1494:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1503:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1506:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1496:6:150"},"nodeType":"YulFunctionCall","src":"1496:12:150"},"nodeType":"YulExpressionStatement","src":"1496:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1469:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1478:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1465:3:150"},"nodeType":"YulFunctionCall","src":"1465:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1490:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1461:3:150"},"nodeType":"YulFunctionCall","src":"1461:32:150"},"nodeType":"YulIf","src":"1458:52:150"},{"nodeType":"YulVariableDeclaration","src":"1519:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1538:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1532:5:150"},"nodeType":"YulFunctionCall","src":"1532:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1523:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1601:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1610:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1613:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1603:6:150"},"nodeType":"YulFunctionCall","src":"1603:12:150"},"nodeType":"YulExpressionStatement","src":"1603:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1570:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1591:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1584:6:150"},"nodeType":"YulFunctionCall","src":"1584:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1577:6:150"},"nodeType":"YulFunctionCall","src":"1577:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1567:2:150"},"nodeType":"YulFunctionCall","src":"1567:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1560:6:150"},"nodeType":"YulFunctionCall","src":"1560:40:150"},"nodeType":"YulIf","src":"1557:60:150"},{"nodeType":"YulAssignment","src":"1626:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1636:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1626:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1414:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1425:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1437:6:150","type":""}],"src":"1370:277:150"},{"body":{"nodeType":"YulBlock","src":"1684:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1701:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1708:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1713:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1704:3:150"},"nodeType":"YulFunctionCall","src":"1704:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1694:6:150"},"nodeType":"YulFunctionCall","src":"1694:31:150"},"nodeType":"YulExpressionStatement","src":"1694:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1741:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1744:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1734:6:150"},"nodeType":"YulFunctionCall","src":"1734:15:150"},"nodeType":"YulExpressionStatement","src":"1734:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1765:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1768:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1758:6:150"},"nodeType":"YulFunctionCall","src":"1758:15:150"},"nodeType":"YulExpressionStatement","src":"1758:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"1652:127:150"},{"body":{"nodeType":"YulBlock","src":"1832:77:150","statements":[{"nodeType":"YulAssignment","src":"1842:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1853:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"1856:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1849:3:150"},"nodeType":"YulFunctionCall","src":"1849:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"1842:3:150"}]},{"body":{"nodeType":"YulBlock","src":"1881:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1883:16:150"},"nodeType":"YulFunctionCall","src":"1883:18:150"},"nodeType":"YulExpressionStatement","src":"1883:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1873:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"1876:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1870:2:150"},"nodeType":"YulFunctionCall","src":"1870:10:150"},"nodeType":"YulIf","src":"1867:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1815:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"1818:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"1824:3:150","type":""}],"src":"1784:125:150"},{"body":{"nodeType":"YulBlock","src":"1963:79:150","statements":[{"nodeType":"YulAssignment","src":"1973:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1985:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"1988:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1981:3:150"},"nodeType":"YulFunctionCall","src":"1981:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"1973:4:150"}]},{"body":{"nodeType":"YulBlock","src":"2014:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2016:16:150"},"nodeType":"YulFunctionCall","src":"2016:18:150"},"nodeType":"YulExpressionStatement","src":"2016:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"2005:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"2011:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2002:2:150"},"nodeType":"YulFunctionCall","src":"2002:11:150"},"nodeType":"YulIf","src":"1999:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1945:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"1948:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"1954:4:150","type":""}],"src":"1914:128:150"},{"body":{"nodeType":"YulBlock","src":"2099:116:150","statements":[{"nodeType":"YulAssignment","src":"2109:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2124:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2127:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2120:3:150"},"nodeType":"YulFunctionCall","src":"2120:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"2109:7:150"}]},{"body":{"nodeType":"YulBlock","src":"2187:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2189:16:150"},"nodeType":"YulFunctionCall","src":"2189:18:150"},"nodeType":"YulExpressionStatement","src":"2189:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2158:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2151:6:150"},"nodeType":"YulFunctionCall","src":"2151:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2165:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"2172:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"2181:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2168:3:150"},"nodeType":"YulFunctionCall","src":"2168:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2162:2:150"},"nodeType":"YulFunctionCall","src":"2162:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2148:2:150"},"nodeType":"YulFunctionCall","src":"2148:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2141:6:150"},"nodeType":"YulFunctionCall","src":"2141:45:150"},"nodeType":"YulIf","src":"2138:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2078:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2081:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"2087:7:150","type":""}],"src":"2047:168:150"},{"body":{"nodeType":"YulBlock","src":"2252:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2269:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2276:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2281:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2272:3:150"},"nodeType":"YulFunctionCall","src":"2272:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2262:6:150"},"nodeType":"YulFunctionCall","src":"2262:31:150"},"nodeType":"YulExpressionStatement","src":"2262:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2309:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2312:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2302:6:150"},"nodeType":"YulFunctionCall","src":"2302:15:150"},"nodeType":"YulExpressionStatement","src":"2302:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2333:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2336:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2326:6:150"},"nodeType":"YulFunctionCall","src":"2326:15:150"},"nodeType":"YulExpressionStatement","src":"2326:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"2220:127:150"},{"body":{"nodeType":"YulBlock","src":"2398:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"2429:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2450:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2457:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2462:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2453:3:150"},"nodeType":"YulFunctionCall","src":"2453:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2443:6:150"},"nodeType":"YulFunctionCall","src":"2443:31:150"},"nodeType":"YulExpressionStatement","src":"2443:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2494:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2497:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2487:6:150"},"nodeType":"YulFunctionCall","src":"2487:15:150"},"nodeType":"YulExpressionStatement","src":"2487:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2522:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2525:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2515:6:150"},"nodeType":"YulFunctionCall","src":"2515:15:150"},"nodeType":"YulExpressionStatement","src":"2515:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2418:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2411:6:150"},"nodeType":"YulFunctionCall","src":"2411:9:150"},"nodeType":"YulIf","src":"2408:132:150"},{"nodeType":"YulAssignment","src":"2549:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2558:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2561:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2554:3:150"},"nodeType":"YulFunctionCall","src":"2554:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2549:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2383:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2386:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"2392:1:150","type":""}],"src":"2352:217:150"},{"body":{"nodeType":"YulBlock","src":"2606:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2623:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2630:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2635:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2626:3:150"},"nodeType":"YulFunctionCall","src":"2626:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2616:6:150"},"nodeType":"YulFunctionCall","src":"2616:31:150"},"nodeType":"YulExpressionStatement","src":"2616:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2663:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2666:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2656:6:150"},"nodeType":"YulFunctionCall","src":"2656:15:150"},"nodeType":"YulExpressionStatement","src":"2656:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2687:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2690:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2680:6:150"},"nodeType":"YulFunctionCall","src":"2680:15:150"},"nodeType":"YulExpressionStatement","src":"2680:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"2574:127:150"},{"body":{"nodeType":"YulBlock","src":"2842:130:150","statements":[{"nodeType":"YulAssignment","src":"2852:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2864:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2875:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2860:3:150"},"nodeType":"YulFunctionCall","src":"2860:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2852:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2894:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2909:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2917:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2905:3:150"},"nodeType":"YulFunctionCall","src":"2905:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2887:6:150"},"nodeType":"YulFunctionCall","src":"2887:36:150"},"nodeType":"YulExpressionStatement","src":"2887:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2943:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2954:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2939:3:150"},"nodeType":"YulFunctionCall","src":"2939:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"2959:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2932:6:150"},"nodeType":"YulFunctionCall","src":"2932:34:150"},"nodeType":"YulExpressionStatement","src":"2932:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2803:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2814:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2822:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2833:4:150","type":""}],"src":"2706:266:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":517},{"length":20,"start":2464},{"length":20,"start":2587}]}},"object":"73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80633e4f49e61461003a575b600080fd5b61004d610048366004610faf565b610063565b60405160ff909116815260200160405180910390f35b600061006e82610085565b600981111561007f5761007f610fc8565b92915050565b600080610090610431565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b90920416908360028111156100e5576100e5610fc8565b036100f7575060089695505050505050565b600283600281111561010b5761010b610fc8565b0361011d575060099695505050505050565b8115610130575060069695505050505050565b8015610143575060029695505050505050565b836001015460000361017057604051636ad0607560e01b8152600481018890526024015b60405180910390fd5b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee9190610fde565b1015610201575060009695505050505050565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610ff7565b65ffffffffffff169050600061028589610455565b905061029089610624565b6102a35750600798975050505050505050565b8181106102b95750600198975050505050505050565b6102c289610650565b15806102d457506102d2896106ae565b155b156102e85750600398975050505050505050565b6102f1896106d6565b6000036103075750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610364573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610388919061101f565b1561039d575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c919061101f565b15610421575060069998505050505050505050565b5060029998505050505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600080610460610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f49190610fde565b10610591576000610503610431565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610fde565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610fde565b61061384610708565b61061d9190611057565b9392505050565b60008061062f610431565b60009384526001016020525050604090206004810154600390910154101590565b60008061065b610431565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906106a461068d86610708565b83600181111561069f5761069f610fc8565b610ab0565b1115949350505050565b6000806106b9610431565b6000938452600f0160205250506040902080546001909101541190565b6000806106e1610431565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080610713610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610fde565b106107ff5760006107b6610431565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401610548565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f9190610fde565b600085815260018085016020526040909120015461088d919061106a565b9050600061089c60018361106a565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109159190610fde565b61091f919061107d565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190610fde565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0b9190610ff7565b65ffffffffffff168111610a915773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190610ff7565b65ffffffffffff1690505b82610a9c8383611057565b610aa69190611057565b9695505050505050565b600080610abb610431565b90506064610ac98585610b4c565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b389190610fde565b610b42919061107d565b61058991906110aa565b600061061d838360ff166001811115610b6757610b67610fc8565b600080610b72610431565b90506000816018016000856001811115610b8e57610b8e610fc8565b6001811115610b9f57610b9f610fc8565b8152602081019190915260400160009081205491506018830181866001811115610bcb57610bcb610fc8565b6001811115610bdc57610bdc610fc8565b81526020810191909152604001600020610bf760018461106a565b81548110610c0757610c076110cc565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610c4d576001600160d01b0316945061007f9350505050565b610c9e610c5989610cb3565b8660180160008a6001811115610c7157610c71610fc8565b6001811115610c8257610c82610fc8565b8152602001908152602001600020610cea90919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff821115610ce6576040516306dfcc6560e41b81526030600482015260248101839052604401610167565b5090565b815460009081816005811115610d49576000610d0584610da0565b610d0f908561106a565b60008881526020902090915081015465ffffffffffff9081169087161015610d3957809150610d47565b610d44816001611057565b92505b505b6000610d5787878585610e88565b90508015610d9257610d7c87610d6e60018461106a565b600091825260209091200190565b54600160301b90046001600160d01b0316610d95565b60005b979650505050505050565b600081600003610db257506000919050565b60006001610dbf84610eea565b901c6001901b90506001818481610dd857610dd8611094565b048201901c90506001818481610df057610df0611094565b048201901c90506001818481610e0857610e08611094565b048201901c90506001818481610e2057610e20611094565b048201901c90506001818481610e3857610e38611094565b048201901c90506001818481610e5057610e50611094565b048201901c90506001818481610e6857610e68611094565b048201901c905061061d81828581610e8257610e82611094565b04610f7e565b60005b81831015610ee2576000610e9f8484610f94565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ece57809250610edc565b610ed9816001611057565b93505b50610e8b565b509392505050565b600080608083901c15610eff57608092831c92015b604083901c15610f1157604092831c92015b602083901c15610f2357602092831c92015b601083901c15610f3557601092831c92015b600883901c15610f4757600892831c92015b600483901c15610f5957600492831c92015b600283901c15610f6b57600292831c92015b600183901c1561007f5760010192915050565b6000818310610f8d578161061d565b5090919050565b6000610fa360028484186110aa565b61061d90848416611057565b600060208284031215610fc157600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215610ff057600080fd5b5051919050565b60006020828403121561100957600080fd5b815165ffffffffffff8116811461061d57600080fd5b60006020828403121561103157600080fd5b8151801515811461061d57600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561007f5761007f611041565b8181038181111561007f5761007f611041565b808202811582820484141761007f5761007f611041565b634e487b7160e01b600052601260045260246000fd5b6000826110c757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220441dde106040be85eeca4f1bce134de777270c68ebf7a8e6ee86cd1c0f6ee5cc64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAF JUMP JUMPDEST PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x6E DUP3 PUSH2 0x85 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0xFC8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE5 JUMPI PUSH2 0xE5 PUSH2 0xFC8 JUMP JUMPDEST SUB PUSH2 0xF7 JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x10B JUMPI PUSH2 0x10B PUSH2 0xFC8 JUMP JUMPDEST SUB PUSH2 0x11D JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x130 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x143 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x170 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT ISZERO PUSH2 0x201 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x24C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x270 SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x285 DUP10 PUSH2 0x455 JUMP JUMPDEST SWAP1 POP PUSH2 0x290 DUP10 PUSH2 0x624 JUMP JUMPDEST PUSH2 0x2A3 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x2B9 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2C2 DUP10 PUSH2 0x650 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x2D4 JUMPI POP PUSH2 0x2D2 DUP10 PUSH2 0x6AE JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x2E8 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2F1 DUP10 PUSH2 0x6D6 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x307 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x364 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x388 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST ISZERO PUSH2 0x39D JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3E8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST ISZERO PUSH2 0x421 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x460 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4F4 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT PUSH2 0x591 JUMPI PUSH1 0x0 PUSH2 0x503 PUSH2 0x431 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x565 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x589 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5E6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x60A SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0x613 DUP5 PUSH2 0x708 JUMP JUMPDEST PUSH2 0x61D SWAP2 SWAP1 PUSH2 0x1057 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x62F PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x65B PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x6A4 PUSH2 0x68D DUP7 PUSH2 0x708 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x69F JUMPI PUSH2 0x69F PUSH2 0xFC8 JUMP JUMPDEST PUSH2 0xAB0 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6B9 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6E1 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x713 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x783 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT PUSH2 0x7FF JUMPI PUSH1 0x0 PUSH2 0x7B6 PUSH2 0x431 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x548 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x84B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x86F SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x88D SWAP2 SWAP1 PUSH2 0x106A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x89C PUSH1 0x1 DUP4 PUSH2 0x106A JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x915 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0x91F SWAP2 SWAP1 PUSH2 0x107D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x978 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x99C SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA0B SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0xA91 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA62 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA86 SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0xA9C DUP4 DUP4 PUSH2 0x1057 JUMP JUMPDEST PUSH2 0xAA6 SWAP2 SWAP1 PUSH2 0x1057 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xABB PUSH2 0x431 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0xAC9 DUP6 DUP6 PUSH2 0xB4C JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB14 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB38 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0xB42 SWAP2 SWAP1 PUSH2 0x107D JUMP JUMPDEST PUSH2 0x589 SWAP2 SWAP1 PUSH2 0x10AA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x61D DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB67 JUMPI PUSH2 0xB67 PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB72 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB8E JUMPI PUSH2 0xB8E PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB9F JUMPI PUSH2 0xB9F PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBCB JUMPI PUSH2 0xBCB PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0xBF7 PUSH1 0x1 DUP5 PUSH2 0x106A JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xC07 JUMPI PUSH2 0xC07 PUSH2 0x10CC JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0xC4D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x7F SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0xC9E PUSH2 0xC59 DUP10 PUSH2 0xCB3 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC71 JUMPI PUSH2 0xC71 PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC82 JUMPI PUSH2 0xC82 PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0xCEA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xCE6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x167 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xD49 JUMPI PUSH1 0x0 PUSH2 0xD05 DUP5 PUSH2 0xDA0 JUMP JUMPDEST PUSH2 0xD0F SWAP1 DUP6 PUSH2 0x106A JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xD39 JUMPI DUP1 SWAP2 POP PUSH2 0xD47 JUMP JUMPDEST PUSH2 0xD44 DUP2 PUSH1 0x1 PUSH2 0x1057 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xD57 DUP8 DUP8 DUP6 DUP6 PUSH2 0xE88 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xD92 JUMPI PUSH2 0xD7C DUP8 PUSH2 0xD6E PUSH1 0x1 DUP5 PUSH2 0x106A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xD95 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDB2 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDBF DUP5 PUSH2 0xEEA JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDD8 JUMPI PUSH2 0xDD8 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDF0 JUMPI PUSH2 0xDF0 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE08 JUMPI PUSH2 0xE08 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE20 JUMPI PUSH2 0xE20 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE38 JUMPI PUSH2 0xE38 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE50 JUMPI PUSH2 0xE50 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE68 JUMPI PUSH2 0xE68 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x61D DUP2 DUP3 DUP6 DUP2 PUSH2 0xE82 JUMPI PUSH2 0xE82 PUSH2 0x1094 JUMP JUMPDEST DIV PUSH2 0xF7E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xEE2 JUMPI PUSH1 0x0 PUSH2 0xE9F DUP5 DUP5 PUSH2 0xF94 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xECE JUMPI DUP1 SWAP3 POP PUSH2 0xEDC JUMP JUMPDEST PUSH2 0xED9 DUP2 PUSH1 0x1 PUSH2 0x1057 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xE8B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xEFF JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xF11 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0xF23 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0xF35 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0xF47 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0xF59 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0xF6B JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x7F JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xF8D JUMPI DUP2 PUSH2 0x61D JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFA3 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x10AA JUMP JUMPDEST PUSH2 0x61D SWAP1 DUP5 DUP5 AND PUSH2 0x1057 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1031 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x10C7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PREVRANDAO SAR 0xDE LT PUSH1 0x40 0xBE DUP6 0xEE 0xCA 0x4F SHL 0xCE SGT 0x4D 0xE7 PUSH24 0x270C68EBF7A8E6EE86CD1C0F6EE5CC64736F6C6343000814 STOP CALLER ","sourceMap":"1861:4882:56:-:0;;;;;;;;;;;;;;;;;;;;;;;;2912:116;;;;;;:::i;:::-;;:::i;:::-;;;379:4:150;367:17;;;349:36;;337:2;322:18;2912:116:56;;;;;;;;2978:5;3004:18;3011:10;3004:6;:18::i;:::-;2998:25;;;;;;;;:::i;:::-;2991:32;2912:116;-1:-1:-1;;2912:116:56:o;4390:2351::-;4457:30;4495:49;4547:44;:42;:44::i;:::-;4634:46;4683:23;;;:11;;;;:23;;;;;;;;4781:26;;;:38;;;;;;;4849:17;;;;4495:96;;-1:-1:-1;4683:23:56;;4781:38;;;;;-1:-1:-1;;;4849:17:56;;;;;-1:-1:-1;;;4896:17:56;;;;;4924:24;:83;;;;;;;;:::i;:::-;;4920:155;;-1:-1:-1;5024:44:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;4920:155::-;5113:51;5085:24;:79;;;;;;;;:::i;:::-;;5081:147;;-1:-1:-1;5181:40:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5081:147::-;5238:16;5234:83;;;-1:-1:-1;5271:39:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5234:83::-;5327:16;5323:83;;;-1:-1:-1;5360:39:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5323:83::-;5416:8;:25;;;5445:1;5416:30;5412:97;;5463:39;;-1:-1:-1;;;5463:39:56;;;;;674:25:150;;;647:18;;5463:39:56;;;;;;;;5412:97;5598:8;:25;;;5559:1;:19;;;;;;;;;;-1:-1:-1;;;;;5559:19:56;-1:-1:-1;;;;;5559:34:56;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;5555:130;;;-1:-1:-1;5640:38:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5555:130::-;5691:24;5718:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5691:56;;;;5753:16;5772:54;5815:10;5772:42;:54::i;:::-;5753:73;;5838:58;5885:10;5838:46;:58::i;:::-;5833:131;;-1:-1:-1;5913:44:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;5833:131::-;5986:16;5974:8;:28;5970:767;;-1:-1:-1;6019:37:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;5970:767::-;6081:48;6118:10;6081:36;:48::i;:::-;6080:49;:101;;;;6134:47;6170:10;6134:35;:47::i;:::-;6133:48;6080:101;6069:668;;;-1:-1:-1;6203:39:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;6069:668::-;6259:48;6296:10;6259:36;:48::i;:::-;6311:1;6259:53;6255:482;;-1:-1:-1;6329:40:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;6255:482::-;6390:15;6408:25;;;:13;;;:25;;;;;;;;6445:10;;;;:38;;-1:-1:-1;;;6445:38:56;;;;;674:25:150;;;6408::56;;-1:-1:-1;;;;;6445:10:56;;:29;;647:18:150;;6445:38:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6441:290;;;-1:-1:-1;6502:37:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;6441:290::-;6558:10;;;;:35;;-1:-1:-1;;;6558:35:56;;;;;674:25:150;;;-1:-1:-1;;;;;6558:10:56;;;;:26;;647:18:150;;6558:35:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6554:177;;;-1:-1:-1;6612:39:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;6554:177::-;-1:-1:-1;6683:39:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;2703:146:57:-;2816:23;;2703:146::o;37142:769:54:-;37220:7;37235:49;37287:44;:42;:44::i;:::-;37235:96;;37474:1;:11;;:23;37486:10;37474:23;;;;;;;;;;;:40;;;37434:1;:19;;;;;;;;;;-1:-1:-1;;;;;37434:19:54;-1:-1:-1;;;;;37434:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;37430:285;;37522:49;37574:44;:42;:44::i;:::-;37633:19;;;;;37667:23;;;37633:19;37667:11;;;:23;;;;;;;:40;;37633:75;;-1:-1:-1;;;37633:75:54;;;;;674:25:150;;;;37633:19:54;;-1:-1:-1;;;;;;37633:19:54;;:33;;647:18:150;;37633:75:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37626:82;37142:769;-1:-1:-1;;;;37142:769:54:o;37430:285::-;37872:1;:19;;;;;;;;;;-1:-1:-1;;;;;37872:19:54;-1:-1:-1;;;;;37872:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37840:29;37858:10;37840:17;:29::i;:::-;:66;;;;:::i;:::-;37833:73;37142:769;-1:-1:-1;;;37142:769:54:o;8403:338:51:-;8486:4;8498:49;8550:44;:42;:44::i;:::-;8600:46;8649:23;;;:11;;:23;;-1:-1:-1;;8649:23:51;;;8711:25;;;;8685:22;;;;;:51;;;8403:338::o;8601:423:55:-;8675:4;8687:49;8739:44;:42;:44::i;:::-;8789:42;8834:26;;;:14;;;:26;;;;;;;;;8987:20;;;:32;;;;;;;8687:96;;-1:-1:-1;8834:26:55;;;8880:97;8901:54;8849:10;8901:42;:54::i;:::-;8963:12;8957:19;;;;;;;;:::i;:::-;8880:20;:97::i;:::-;:139;;;8601:423;-1:-1:-1;;;;8601:423:55:o;6559:327:59:-;6625:4;6637:49;6689:44;:42;:44::i;:::-;6739:50;6792:27;;;:15;;:27;;-1:-1:-1;;6792:27:59;;;6856:25;;6832:21;;;;;:49;;6559:327::o;6759:235:54:-;6831:7;6846:49;6898:44;:42;:44::i;:::-;6955:23;;;;:11;;:23;;-1:-1:-1;;6955:23:54;;;:34;;;-1:-1:-1;;;6955:34:54;;;;;6759:235::o;35807:1163::-;35885:7;35900:49;35952:44;:42;:44::i;:::-;35900:96;;36109:1;:11;;:23;36121:10;36109:23;;;;;;;;;;;:40;;;36069:1;:19;;;;;;;;;;-1:-1:-1;;;;;36069:19:54;-1:-1:-1;;;;;36069:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36065:285;;36157:49;36209:44;:42;:44::i;:::-;36268:19;;;;;36302:23;;;36268:19;36302:11;;;:23;;;;;;;:40;;36268:75;;-1:-1:-1;;;36268:75:54;;;;;674:25:150;;;;36268:19:54;;-1:-1:-1;;;;;;36268:19:54;;:33;;647:18:150;;36268:75:54;528:177:150;36065:285:54;36428:19;;;;:36;;;-1:-1:-1;;;36428:36:54;;;;36356:26;;-1:-1:-1;;;;;36428:19:54;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36385:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;36356:108;-1:-1:-1;36470:26:54;36537:22;36558:1;36356:108;36537:22;:::i;:::-;36499:1;:19;;;;;;;;;;-1:-1:-1;;;;;36499:19:54;-1:-1:-1;;;;;36499:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36470:90;;36622:28;36653:1;:19;;;;;;;;;;-1:-1:-1;;;;;36653:19:54;-1:-1:-1;;;;;36653:40:54;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36622:73;;36792:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36768:53;;:20;:53;36764:126;;36854:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36831:52;;;;36764:126;36947:18;36903:41;36926:18;36903:20;:41;:::i;:::-;:62;;;;:::i;:::-;36896:69;35807:1163;-1:-1:-1;;;;;;35807:1163:54:o;6688:370:55:-;6795:7;6810:49;6862:44;:42;:44::i;:::-;6810:96;-1:-1:-1;3199:3:55;6965:59;6995:9;7006:17;6965:29;:59::i;:::-;6926:6;;;;:36;;-1:-1:-1;;;6926:36:55;;;;;674:25:150;;;-1:-1:-1;;;;;6926:6:55;;;;:25;;647:18:150;;6926:36:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6925:128;;;;:::i;4472:234::-;4588:7;4610:91;4641:9;4682:17;4652:48;;;;;;;;;;:::i;:::-;9518:7;9533:49;9585:44;:42;:44::i;:::-;9533:96;;9635:14;9652:1;:20;;:39;9673:17;9652:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9652:39:55;;;:59;;-1:-1:-1;9815:20:55;;;-1:-1:-1;9836:17:55;9815:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9815:39:55;9868:10;9877:1;9868:6;:10;:::i;:::-;9815:64;;;;;;;;:::i;:::-;;;;;;;;;;9904:11;;9815:64;;-1:-1:-1;9904:11:55;;;;-1:-1:-1;;;9943:13:55;;-1:-1:-1;;;;;9943:13:55;9966:22;;;9962:61;;-1:-1:-1;;;;;9998:18:55;;-1:-1:-1;9998:18:55;;-1:-1:-1;;;;9998:18:55;9962:61;10075:87;10133:28;10151:9;10133:17;:28::i;:::-;10075:1;:20;;:39;10096:17;10075:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:57;;:87;;;;:::i;:::-;-1:-1:-1;;;;;10068:94:55;;9375:792;-1:-1:-1;;;;;;;;9375:792:55:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;2887:36:150;2939:18;;;2932:34;;;2860:18;;14416:41:37;2706:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;10699:983:36:-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;14:180:150:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:150;;14:180;-1:-1:-1;14:180:150:o;396:127::-;457:10;452:3;448:20;445:1;438:31;488:4;485:1;478:15;512:4;509:1;502:15;710:184;780:6;833:2;821:9;812:7;808:23;804:32;801:52;;;849:1;846;839:12;801:52;-1:-1:-1;872:16:150;;710:184;-1:-1:-1;710:184:150:o;899:284::-;968:6;1021:2;1009:9;1000:7;996:23;992:32;989:52;;;1037:1;1034;1027:12;989:52;1069:9;1063:16;1119:14;1112:5;1108:26;1101:5;1098:37;1088:65;;1149:1;1146;1139:12;1370:277;1437:6;1490:2;1478:9;1469:7;1465:23;1461:32;1458:52;;;1506:1;1503;1496:12;1458:52;1538:9;1532:16;1591:5;1584:13;1577:21;1570:5;1567:32;1557:60;;1613:1;1610;1603:12;1652:127;1713:10;1708:3;1704:20;1701:1;1694:31;1744:4;1741:1;1734:15;1768:4;1765:1;1758:15;1784:125;1849:9;;;1870:10;;;1867:36;;;1883:18;;:::i;1914:128::-;1981:9;;;2002:11;;;1999:37;;;2016:18;;:::i;2047:168::-;2120:9;;;2151;;2168:15;;;2162:22;;2148:37;2138:71;;2189:18;;:::i;2220:127::-;2281:10;2276:3;2272:20;2269:1;2262:31;2312:4;2309:1;2302:15;2336:4;2333:1;2326:15;2352:217;2392:1;2418;2408:132;;2462:10;2457:3;2453:20;2450:1;2443:31;2497:4;2494:1;2487:15;2525:4;2522:1;2515:15;2408:132;-1:-1:-1;2554:9:150;;2352:217::o;2574:127::-;2635:10;2630:3;2626:20;2623:1;2616:31;2666:4;2663:1;2656:15;2690:4;2687:1;2680:15"},"methodIdentifiers":{"state(uint256)":"3e4f49e6"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"Thrown when the `proposalId` does not exist.\",\"params\":{\"proposalId\":\"The ID of the proposal that does not exist.\"}}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"Thrown when the current state of a proposal does not match the expected states.\",\"params\":{\"current\":\"The current state of the proposal.\",\"expectedStates\":\"The expected states of the proposal as a bitmap.\",\"proposalId\":\"The ID of the proposal.\"}}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{\"state(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal.\"},\"returns\":{\"_0\":\"The current state of the proposal.\"}}},\"title\":\"GovernorStateLogicV10\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"state(uint256)\":{\"notice\":\"Retrieves the current state of a proposal.\"}},\"notice\":\"Library for Governor state logic, managing the state transitions and validations of governance proposals.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol\":\"GovernorStateLogicV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol\":{\"keccak256\":\"0x6a7cc588ce08460da1388dab77c8778aa1a60065cd43ae2360c103e640dfc2a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://254fe95dec0ab5497b4bbefe29fb65dea5b0594c90982dbf3b66c2f6c1c39f29\",\"dweb:/ipfs/QmW3dbwg9H6GPrvaDeKLfRQBzz28BFwNVufkT7pe1hv6B7\"]},\"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol\":{\"keccak256\":\"0x3397264be328d66e78addf8da14626cedf3e822eda096dcc0b0d4c8f590cf164\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d8770a70795251944aea6b12221270a6e1df0a6cae7de3cfa985d9d85f5b44e\",\"dweb:/ipfs/QmPo2y4pt9xMkdoXjWRKvmVjN5ao2DaQpdpsEDLWoX6Tds\"]},\"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol\":{\"keccak256\":\"0x4b49b4820370e23b8a9cc8e4cfd7cc233078aa18b127e4f3bb71eef2037d56fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0d15ed7cf840190e4fe550d5beac54812fcf3c935415ac45f78d2da8edce094\",\"dweb:/ipfs/QmSakePtMJCjxqVyS5UhPi6jLwojUgdLK2mkjf4JkZuUNr\"]},\"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\":{\"keccak256\":\"0xdf23dd2f515e503dbbae2a4d4d4e9efcca22e357aacdb83e5abdc5854783cc22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b3c6779fcdf93f8f8afc3ddf7591fe983d47ad6ae8eaa29902603c701beaf86\",\"dweb:/ipfs/QmdigrheDca8jAb7cwgGj3r3f95DsjEDdqb5pT5gfiiULL\"]},\"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol\":{\"keccak256\":\"0x1b1ff6cdf118475d82421782ff9e8b83fe0056bdffea414bfb6be15ad6cdb73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9aacb4a80e7922069ec2ed464c17ad17b72b4a061dd4ed63e5449b8147407260\",\"dweb:/ipfs/QmR1cqBsHBJurr5DfpJ1daov1DnxS2Yz9atCggvV2if4V1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol\":{\"keccak256\":\"0x88765be13ee3cc295e11e5b966a3c80f7fc976c1a10eac3fe096b7f1e26dd509\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://846d77bf1f45c0bc78fcaf8f51a45763a3c4879b33cc172ef12b736182804908\",\"dweb:/ipfs/QmWdh7woCYYsUXoW2RyoBrVWQvTtjwVqVAD9AT8wRnUoa3\"]},\"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol\":{\"keccak256\":\"0xcddb1bc4f53ed3df2264eee5a6b0c8894d6a01d9673eff866b81691a56e557ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f21e5eec2c06dcb3bab8d7af5808adb47b8dfd99de7483d4d81e04effe10f05d\",\"dweb:/ipfs/QmPLUSt6CaCjS5tFqeVDeCnvfq8jG99KJhzs5GfaK2tjRh\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol\":{\"keccak256\":\"0x50c28e3d5abc3914216c8871ec74f3cafac0ca598bf389d84af6bcc950d792a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45bb508ad0afe1da38784ee6b51b6c1cc4f4604e6c84052fc2917c1bb8436d18\",\"dweb:/ipfs/QmXhdxjhT4Hn3SiGm31hJbZDSYMYjqX9k72Zx6eanGZNHE\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol\":{\"keccak256\":\"0x944ea2027e155ed6020969da6d21c8c0f22b49e4b1792c3403b6ae75e52c5328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df4a784bb01c7df68a62c68d8c859a7fb73980d5d99ade94d2c2f62e11d68488\",\"dweb:/ipfs/QmawVpasYNft622Myguv2weKnmpA7z17o4dbCt7io9r9M9\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol":{"GovernorStorageTypesV10":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ccdb9f73fd24dc4639edfb5b82a32e11a8b0554efe41a852fac0bdc7c82d5c564736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODECOPY 0xCD 0xB9 0xF7 EXTCODEHASH 0xD2 0x4D 0xC4 PUSH4 0x9EDFB5B8 0x2A ORIGIN 0xE1 BYTE DUP12 SDIV SLOAD 0xEF 0xE4 BYTE DUP6 0x2F 0xAC SIGNEXTEND 0xDC PUSH29 0x82D5C564736F6C63430008140033000000000000000000000000000000 ","sourceMap":"2395:6568:57:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2395:6568:57;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ccdb9f73fd24dc4639edfb5b82a32e11a8b0554efe41a852fac0bdc7c82d5c564736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODECOPY 0xCD 0xB9 0xF7 EXTCODEHASH 0xD2 0x4D 0xC4 PUSH4 0x9EDFB5B8 0x2A ORIGIN 0xE1 BYTE DUP12 SDIV SLOAD 0xEF 0xE4 BYTE DUP6 0x2F 0xAC SIGNEXTEND 0xDC PUSH29 0x82D5C564736F6C63430008140033000000000000000000000000000000 ","sourceMap":"2395:6568:57:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"GovernorStorageTypesV10\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for defining storage types used in the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":\"GovernorStorageTypesV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol":{"GovernorTypesV10":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ae3fd24c08177af884704d25fc41f8c7290d7066bac8a9b72a31a74bff9a266264736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAE EXTCODEHASH 0xD2 0x4C ADDMOD OR PUSH27 0xF884704D25FC41F8C7290D7066BAC8A9B72A31A74BFF9A26626473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"1791:3508:58:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1791:3508:58;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ae3fd24c08177af884704d25fc41f8c7290d7066bac8a9b72a31a74bff9a266264736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAE EXTCODEHASH 0xD2 0x4C ADDMOD OR PUSH27 0xF884704D25FC41F8C7290D7066BAC8A9B72A31A74BFF9A26626473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"1791:3508:58:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":\"GovernorTypesV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]}},\"version\":1}"}},"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol":{"GovernorVotesLogicV10":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"DelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernanceSkipWindowNotReached","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[],"name":"GovernorInvalidVoteType","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"string","name":"explanation","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorDecisionNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"power","type":"uint256"}],"name":"NavigatorGovernanceVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorGovernanceVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"disabled","type":"bool"}],"name":"QuadraticVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"power","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getQuadraticVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isQuadraticVotingDisabledForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isQuadraticVotingDisabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":537},{"length":20,"start":685},{"length":20,"start":5437},{"length":20,"start":5560},{"length":20,"start":8082}]},"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol":{"GovernorProposalLogicV10":[{"length":20,"start":2505},{"length":20,"start":3308}]}},"object":"612b1b61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806381c0d6df146100715780639c17e7b31461008e578063a45aa313146100a5578063b69d417b146100b8578063b6e9eff4146100d9578063dd063f90146100f9575b600080fd5b610079610119565b60405190151581526020015b60405180910390f35b81801561009a57600080fd5b506100a36101cc565b005b6100796100b3366004612576565b61031c565b6100cb6100c63660046125a7565b6103c7565b604051908152602001610085565b8180156100e557600080fd5b506100cb6100f43660046125d3565b6103f2565b81801561010557600080fd5b506100cb610114366004612612565b610ae9565b600080610124610d7b565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b031663561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a191906126b0565b90506101b96101af82610d9f565b6013840190610dd6565b6001600160d01b03166001149250505090565b60006101d6610d7b565b9050600061024a73__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af91906126c9565b6001600160d01b03166001149050600081610266576001610269565b60005b60ff1690506102e973__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156102ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102de91906126c9565b601385019083610e8c565b50506040518215907fe782263e17b994d34e64f19af2397c26081a1f4c26c604acb8fb3db6bafc903e90600090a2505050565b600080610327610d7b565b600a8101546040516368377f6d60e11b8152600481018690529192506000916103a3916001600160a01b03169063d06efeda90602401602060405180830381865afa15801561037a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039e91906126b0565b610d9f565b90506103b26013830182610dd6565b6001600160d01b031660011492505050919050565b60006103db6103d68484610ea7565b6110d5565b6103e990633b9aca00612707565b90505b92915050565b6000806103fd610d7b565b90506104128461040d60016111c4565b6111e7565b50600061041e85611226565b601f8301546040516318be49d960e01b81529192506000916001600160a01b03909116906318be49d990610458908890869060040161271e565b602060405180830381865afa158015610475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104999190612737565b90506001600160a01b0381166104cd5784604051630d1c9abb60e31b81526004016104c49190612754565b60405180910390fd5b600086815260018085016020526040918290200154601f850154915163506b90db60e11b815290916001600160a01b03169063a0d721b690610513908590600401612754565b602060405180830381865afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610554919061277d565b156106115760208401546001600160a01b0316156105d55760208401546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906105a29084908a908c90600401612798565b600060405180830381600087803b1580156105bc57600080fd5b505af11580156105d0573d6000803e3d6000fd5b505050505b86826001600160a01b0316876001600160a01b0316600080516020612ac683398151915260405160405180910390a460009450505050506103ec565b601f840154604051632246f2db60e01b81526001600160a01b0390911690632246f2db906106459085908b9060040161271e565b602060405180830381865afa158015610662573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610686919061277d565b61078557600061069588611613565b9050806106a0611796565b6106aa90436127b7565b10156106cc576040516324852b2f60e11b8152600481018990526024016104c4565b60208501546001600160a01b0316156107485760208501546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906107159085908b908d90600401612798565b600060405180830381600087803b15801561072f57600080fd5b505af1158015610743573d6000803e3d6000fd5b505050505b87836001600160a01b0316886001600160a01b0316600080516020612ac683398151915260405160405180910390a46000955050505050506103ec565b60148401546000906001600160a01b031663d0ebb0ee886107a587610d9f565b6040518363ffffffff1660e01b81526004016107c29291906127ca565b600060405180830381865afa1580156107df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108079190810190612825565b509050806108585760208501546001600160a01b0316156107485760208501546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906107159085908b908d90600401612798565b601f8501546040516338b3ce1360e01b81526000916001600160a01b0316906338b3ce139061088d9087908d9060040161271e565b602060405180830381865afa1580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce91906128e5565b905060006108dd600183612902565b601f88015460405163c61c06e760e01b81529192506000916001600160a01b039091169063c61c06e790610917908d908b9060040161271e565b602060405180830381865afa158015610934573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095891906126b0565b90506000610965826110d5565b61097390633b9aca00612707565b604051631504e3b960e11b8152600481018e905290915060009073__$794ae75e1cde9531146241b4f1c64ef82b$__90632a09c77290602401602060405180830381865af41580156109c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ed91906128e5565b60ff166001811115610a0157610a0161291b565b9050610a0d83826117a9565b610a1a8d8d8686866117e6565b610a288a8e8e86888e611973565b610a338a8e8e611abc565b6040805160ff86168152602081018590529081018390528d906001600160a01b03808b1691908f16907fe5aba2374a4ff3b54ee59beb7eabaae209c8a3e5d31185fd429458c2f887c21a9060600160405180910390a46040805160ff86168152602081018590529081018390526080606082018190526000908201528d906001600160a01b038e1690600080516020612aa68339815191529060a0015b60405180910390a350909b9a5050505050505050505050565b600080610af4610d7b565b9050610b048761040d60016111c4565b506000610b1088611226565b601f8301549091506001600160a01b031615610bc557601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990610b5b908b90869060040161271e565b602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c9190612737565b6001600160a01b031614610bc5578660405163640ed18360e01b81526004016104c49190612754565b601482015460009081906001600160a01b031663d0ebb0ee8a610be786610d9f565b6040518363ffffffff1660e01b8152600401610c049291906127ca565b600060405180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c499190810190612825565b9150915081610c6f5788816040516344c4534960e01b81526004016104c4929190612931565b6000610c7b8a85610ea7565b90506000610c88826110d5565b610c9690633b9aca00612707565b604051631504e3b960e11b8152600481018e905290915060009073__$794ae75e1cde9531146241b4f1c64ef82b$__90632a09c77290602401602060405180830381865af4158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906128e5565b60ff166001811115610d2457610d2461291b565b9050610d3083826117a9565b610d3d8d8d8d86866117e6565b610d4b878e8e868f8b611973565b8c8c6001600160a01b0316600080516020612aa68339815191528d86868f8f604051610ad0959493929190612973565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600065ffffffffffff821115610dd2576040516306dfcc6560e41b815260306004820152602481018390526044016104c4565b5090565b815460009081816005811115610e35576000610df1846110d5565b610dfb90856129ba565b60008881526020902090915081015465ffffffffffff9081169087161015610e2557809150610e33565b610e308160016127b7565b92505b505b6000610e4387878585611b57565b90508015610e7e57610e6887610e5a6001846129ba565b600091825260209091200190565b54600160301b90046001600160d01b0316610e81565b60005b979650505050505050565b600080610e9a858585611bb9565b915091505b935093915050565b600080610eb2610d7b565b600c810154604051630748d63560e31b81529192506000916001600160a01b0390911690633a46b1a890610eec908890889060040161271e565b602060405180830381865afa158015610f09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2d91906126b0565b601f8301549091506001600160a01b0316610f4b5791506103ec9050565b601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990610f80908990899060040161271e565b602060405180830381865afa158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc19190612737565b6001600160a01b03161461104d57601f82015460405163c61c06e760e01b81526001600160a01b039091169063c61c06e790611003908890889060040161271e565b602060405180830381865afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104491906126b0565b925050506103ec565b601f82015460405163094f6f2960e21b81526001600160a01b039091169063253dbca490611081908890889060040161271e565b602060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c291906126b0565b6110cc90826127b7565b95945050505050565b6000816000036110e757506000919050565b600060016110f484611d33565b901c6001901b9050600181848161110d5761110d6129cd565b048201901c90506001818481611125576111256129cd565b048201901c9050600181848161113d5761113d6129cd565b048201901c90506001818481611155576111556129cd565b048201901c9050600181848161116d5761116d6129cd565b048201901c90506001818481611185576111856129cd565b048201901c9050600181848161119d5761119d6129cd565b048201901c90506111bd818285816111b7576111b76129cd565b04611dc7565b9392505050565b60008160098111156111d8576111d861291b565b600160ff919091161b92915050565b6000806111f384611ddd565b9050600083611201836111c4565b16036103e9578381846040516331b75e4d60e01b81526004016104c4939291906129e3565b600080611231610d7b565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c591906126b0565b106113625760006112d4610d7b565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda906024015b602060405180830381865afa158015611336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135a91906126b0565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa1580156113ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d291906126b0565b60008581526001808501602052604090912001546113f091906129ba565b905060006113ff6001836129ba565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611454573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147891906126b0565b6114829190612707565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ff91906126b0565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e91906126c9565b65ffffffffffff1681116115f45773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156115c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e991906126c9565b65ffffffffffff1690505b826115ff83836127b7565b61160991906127b7565b9695505050505050565b60008061161e610d7b565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b291906126b0565b1061170a5760006116c1610d7b565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd90602401611319565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178391906126b0565b61178c84611226565b6111bd91906127b7565b60006117a0610d7b565b60220154905090565b60006117b482612184565b9050808310156117e15760405163742f62c360e01b815260048101829052602481018490526044016104c4565b505050565b60006117f0610d7b565b6000878152600f8201602090815260408083206001600160a01b038a16845260038101909252909120549192509060ff161561184157856040516371c6af4960e01b81526004016104c49190612754565b6001600160a01b03861660009081526003820160205260408120805460ff1916600117905561186e610119565b611878578361187a565b845b905060ff86166118a3578082600001600082825461189891906127b7565b909155506118fc9050565b60001960ff8716016118c3578082600101600082825461189891906127b7565b60011960ff8716016118e3578082600201600082825461189891906127b7565b6040516303599be160e11b815260040160405180910390fd5b60008881526011840160205260408120805487929061191c9084906127b7565b90915550506001600160a01b038716600090815260108401602052604090205460ff16611969576001600160a01b03871660009081526010840160205260409020805460ff191660011790555b5050505050505050565b600986015460405163a7381dab60e01b81526004810183905260009182916101009091046001600160a01b03169063a7381dab906024016040805180830381865afa1580156119c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ea9190612a0b565b9150915060008460ff16600214611a015782611a03565b815b90506000612710611a148389612707565b611a1e9190612a2f565b60098b015490915061010090046001600160a01b0316632f18339d8a8a84611a45816110d5565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b03909216602484015260448301526064820152608401600060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b5050505050505050505050505050565b60208301546001600160a01b0316611ad357505050565b602080840154600084815260018087019093526040808220909301549251636cf88e7360e01b81526001600160a01b0390921692636cf88e7392611b209233928792909190600401612a51565b600060405180830381600087803b158015611b3a57600080fd5b505af1158015611b4e573d6000803e3d6000fd5b50505050505050565b60005b81831015611bb1576000611b6e848461223d565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115611b9d57809250611bab565b611ba88160016127b7565b93505b50611b5a565b509392505050565b825460009081908015611cd8576000611bd787610e5a6001856129ba565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015611c2b57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603611c775784611c4e88610e5a6001866129ba565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611cc8565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610e9f9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610e9f565b600080608083901c15611d4857608092831c92015b604083901c15611d5a57604092831c92015b602083901c15611d6c57602092831c92015b601083901c15611d7e57601092831c92015b600883901c15611d9057600892831c92015b600483901c15611da257600492831c92015b600283901c15611db457600292831c92015b600183901c156103ec5760010192915050565b6000818310611dd657816103e9565b5090919050565b600080611de8610d7b565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115611e3d57611e3d61291b565b03611e4f575060089695505050505050565b6002836002811115611e6357611e6361291b565b03611e75575060099695505050505050565b8115611e88575060069695505050505050565b8015611e9b575060029695505050505050565b8360010154600003611ec357604051636ad0607560e01b8152600481018890526024016104c4565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4191906126b0565b1015611f54575060009695505050505050565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc391906126c9565b65ffffffffffff1690506000611fd889611613565b9050611fe389612258565b611ff65750600798975050505050505050565b81811061200c5750600198975050505050505050565b61201589612284565b15806120275750612025896122e2565b155b1561203b5750600398975050505050505050565b6120448961230a565b60000361205a5750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa1580156120b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120db919061277d565b156120f0575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa15801561213b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215f919061277d565b15612174575060069998505050505050505050565b5060029998505050505050505050565b60008061218f610d7b565b905061219a8361233c565b6121fd5760405162461bcd60e51b815260206004820152602e60248201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460448201526d2070726f706f73616c207479706560901b60648201526084016104c4565b8060170160008460018111156122155761221561291b565b60018111156122265761222661291b565b815260200190815260200160002054915050919050565b600061224c6002848418612a2f565b6103e9908484166127b7565b600080612263610d7b565b60009384526001016020525050604090206004810154600390910154101590565b60008061228f610d7b565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906122d86122c186611226565b8360018111156122d3576122d361291b565b612373565b1115949350505050565b6000806122ed610d7b565b6000938452600f0160205250506040902080546001909101541190565b600080612315610d7b565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b6000808260018111156123515761235161291b565b14806103ec5750600182600181111561236c5761236c61291b565b1492915050565b60008061237e610d7b565b9050606461238c858561240f565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156123d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123fb91906126b0565b6124059190612707565b61135a9190612a2f565b60006103e9838360ff16600181111561242a5761242a61291b565b600080612435610d7b565b905060008160180160008560018111156124515761245161291b565b60018111156124625761246261291b565b815260208101919091526040016000908120549150601883018186600181111561248e5761248e61291b565b600181111561249f5761249f61291b565b815260208101919091526040016000206124ba6001846129ba565b815481106124ca576124ca612a8f565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211612510576001600160d01b031694506103ec9350505050565b61256161251c89610d9f565b8660180160008a60018111156125345761253461291b565b60018111156125455761254561291b565b8152602001908152602001600020610dd690919063ffffffff16565b6001600160d01b031698975050505050505050565b60006020828403121561258857600080fd5b5035919050565b6001600160a01b03811681146125a457600080fd5b50565b600080604083850312156125ba57600080fd5b82356125c58161258f565b946020939093013593505050565b600080604083850312156125e657600080fd5b8235915060208301356125f88161258f565b809150509250929050565b60ff811681146125a457600080fd5b60008060008060006080868803121561262a57600080fd5b85359450602086013561263c8161258f565b9350604086013561264c81612603565b925060608601356001600160401b038082111561266857600080fd5b818801915088601f83011261267c57600080fd5b81358181111561268b57600080fd5b89602082850101111561269d57600080fd5b9699959850939650602001949392505050565b6000602082840312156126c257600080fd5b5051919050565b6000602082840312156126db57600080fd5b815165ffffffffffff811681146103e957600080fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103ec576103ec6126f1565b6001600160a01b03929092168252602082015260400190565b60006020828403121561274957600080fd5b81516103e98161258f565b6001600160a01b0391909116815260200190565b8051801515811461277857600080fd5b919050565b60006020828403121561278f57600080fd5b6103e982612768565b9283526001600160a01b03919091166020830152604082015260600190565b808201808211156103ec576103ec6126f1565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561281c578181015183820152602001612804565b50506000910152565b6000806040838503121561283857600080fd5b61284183612768565b60208401519092506001600160401b038082111561285e57600080fd5b818501915085601f83011261287257600080fd5b815181811115612884576128846127eb565b604051601f8201601f19908116603f011681019083821181831017156128ac576128ac6127eb565b816040528281528860208487010111156128c557600080fd5b6128d6836020830160208801612801565b80955050505050509250929050565b6000602082840312156128f757600080fd5b81516103e981612603565b60ff82811682821603908111156103ec576103ec6126f1565b634e487b7160e01b600052602160045260246000fd5b60018060a01b0383168152604060208201526000825180604084015261295e816060850160208701612801565b601f01601f1916919091016060019392505050565b60ff8616815284602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b818103818111156103ec576103ec6126f1565b634e487b7160e01b600052601260045260246000fd5b83815260608101600a84106129fa576129fa61291b565b602082019390935260400152919050565b60008060408385031215612a1e57600080fd5b505080516020909101519092909150565b600082612a4c57634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03858116825284166020820152604081018390526080810160028310612a8057612a8061291b565b82606083015295945050505050565b634e487b7160e01b600052603260045260246000fdfeaec5ebd9cfb5e0fa9ec893c112b6f15c366248db781323babe6909c0e07703978b34402b007625b875ac624bea888f2cd3b6896eb9b8f2a2a278bbf3b5dd9b4da2646970667358221220238d5a6a52da96ce7d531cca35849dc2ba307d70cdf499e6a79e0acdaafdca8464736f6c63430008140033","opcodes":"PUSH2 0x2B1B PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x6C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x81C0D6DF EQ PUSH2 0x71 JUMPI DUP1 PUSH4 0x9C17E7B3 EQ PUSH2 0x8E JUMPI DUP1 PUSH4 0xA45AA313 EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0xB69D417B EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xB6E9EFF4 EQ PUSH2 0xD9 JUMPI DUP1 PUSH4 0xDD063F90 EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x79 PUSH2 0x119 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3 PUSH2 0x1CC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x79 PUSH2 0xB3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2576 JUMP JUMPDEST PUSH2 0x31C JUMP JUMPDEST PUSH2 0xCB PUSH2 0xC6 CALLDATASIZE PUSH1 0x4 PUSH2 0x25A7 JUMP JUMPDEST PUSH2 0x3C7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x85 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCB PUSH2 0xF4 CALLDATASIZE PUSH1 0x4 PUSH2 0x25D3 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x105 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCB PUSH2 0x114 CALLDATASIZE PUSH1 0x4 PUSH2 0x2612 JUMP JUMPDEST PUSH2 0xAE9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x124 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A1 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B9 PUSH2 0x1AF DUP3 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x13 DUP5 ADD SWAP1 PUSH2 0xDD6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D6 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24A PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x226 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x266 JUMPI PUSH1 0x1 PUSH2 0x269 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH2 0x2E9 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2DE SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH1 0x13 DUP6 ADD SWAP1 DUP4 PUSH2 0xE8C JUMP JUMPDEST POP POP PUSH1 0x40 MLOAD DUP3 ISZERO SWAP1 PUSH32 0xE782263E17B994D34E64F19AF2397C26081A1F4C26C604ACB8FB3DB6BAFC903E SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x327 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x3A3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x37A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0xD9F JUMP JUMPDEST SWAP1 POP PUSH2 0x3B2 PUSH1 0x13 DUP4 ADD DUP3 PUSH2 0xDD6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 DUP5 PUSH2 0xEA7 JUMP JUMPDEST PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x3E9 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2707 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3FD PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0x412 DUP5 PUSH2 0x40D PUSH1 0x1 PUSH2 0x11C4 JUMP JUMPDEST PUSH2 0x11E7 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x41E DUP6 PUSH2 0x1226 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x458 SWAP1 DUP9 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x499 SWAP2 SWAP1 PUSH2 0x2737 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4CD JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xD1C9ABB PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2754 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD PUSH1 0x1F DUP6 ADD SLOAD SWAP2 MLOAD PUSH4 0x506B90DB PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA0D721B6 SWAP1 PUSH2 0x513 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x2754 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x530 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x554 SWAP2 SWAP1 PUSH2 0x277D JUMP JUMPDEST ISZERO PUSH2 0x611 JUMPI PUSH1 0x20 DUP5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x5D5 JUMPI PUSH1 0x20 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x5A2 SWAP1 DUP5 SWAP1 DUP11 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x2798 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x5BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x5D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP7 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AC6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x0 SWAP5 POP POP POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x1F DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2246F2DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2246F2DB SWAP1 PUSH2 0x645 SWAP1 DUP6 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x662 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x686 SWAP2 SWAP1 PUSH2 0x277D JUMP JUMPDEST PUSH2 0x785 JUMPI PUSH1 0x0 PUSH2 0x695 DUP9 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x6A0 PUSH2 0x1796 JUMP JUMPDEST PUSH2 0x6AA SWAP1 NUMBER PUSH2 0x27B7 JUMP JUMPDEST LT ISZERO PUSH2 0x6CC JUMPI PUSH1 0x40 MLOAD PUSH4 0x24852B2F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x748 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x715 SWAP1 DUP6 SWAP1 DUP12 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x2798 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x72F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x743 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP8 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AC6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x0 SWAP6 POP POP POP POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x14 DUP5 ADD SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP9 PUSH2 0x7A5 DUP8 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7C2 SWAP3 SWAP2 SWAP1 PUSH2 0x27CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x807 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2825 JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x858 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x748 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x715 SWAP1 DUP6 SWAP1 DUP12 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x2798 JUMP JUMPDEST PUSH1 0x1F DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x38B3CE13 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x38B3CE13 SWAP1 PUSH2 0x88D SWAP1 DUP8 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8CE SWAP2 SWAP1 PUSH2 0x28E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x8DD PUSH1 0x1 DUP4 PUSH2 0x2902 JUMP JUMPDEST PUSH1 0x1F DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x917 SWAP1 DUP14 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x934 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x958 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x965 DUP3 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x973 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2707 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP15 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9ED SWAP2 SWAP1 PUSH2 0x28E5 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA01 JUMPI PUSH2 0xA01 PUSH2 0x291B JUMP JUMPDEST SWAP1 POP PUSH2 0xA0D DUP4 DUP3 PUSH2 0x17A9 JUMP JUMPDEST PUSH2 0xA1A DUP14 DUP14 DUP7 DUP7 DUP7 PUSH2 0x17E6 JUMP JUMPDEST PUSH2 0xA28 DUP11 DUP15 DUP15 DUP7 DUP9 DUP15 PUSH2 0x1973 JUMP JUMPDEST PUSH2 0xA33 DUP11 DUP15 DUP15 PUSH2 0x1ABC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE DUP14 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND SWAP2 SWAP1 DUP16 AND SWAP1 PUSH32 0xE5ABA2374A4FF3B54EE59BEB7EABAAE209C8A3E5D31185FD429458C2F887C21A SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP3 ADD MSTORE DUP14 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AA6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0xA0 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP SWAP1 SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAF4 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0xB04 DUP8 PUSH2 0x40D PUSH1 0x1 PUSH2 0x11C4 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0xB10 DUP9 PUSH2 0x1226 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xBC5 JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0xB5B SWAP1 DUP12 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB9C SWAP2 SWAP1 PUSH2 0x2737 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBC5 JUMPI DUP7 PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2754 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP11 PUSH2 0xBE7 DUP7 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC04 SWAP3 SWAP2 SWAP1 PUSH2 0x27CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC21 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC49 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2825 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0xC6F JUMPI DUP9 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP3 SWAP2 SWAP1 PUSH2 0x2931 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC7B DUP11 DUP6 PUSH2 0xEA7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC88 DUP3 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0xC96 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2707 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP15 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xCEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD10 SWAP2 SWAP1 PUSH2 0x28E5 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xD24 JUMPI PUSH2 0xD24 PUSH2 0x291B JUMP JUMPDEST SWAP1 POP PUSH2 0xD30 DUP4 DUP3 PUSH2 0x17A9 JUMP JUMPDEST PUSH2 0xD3D DUP14 DUP14 DUP14 DUP7 DUP7 PUSH2 0x17E6 JUMP JUMPDEST PUSH2 0xD4B DUP8 DUP15 DUP15 DUP7 DUP16 DUP12 PUSH2 0x1973 JUMP JUMPDEST DUP13 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AA6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP14 DUP7 DUP7 DUP16 DUP16 PUSH1 0x40 MLOAD PUSH2 0xAD0 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2973 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDD2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4C4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xE35 JUMPI PUSH1 0x0 PUSH2 0xDF1 DUP5 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0xDFB SWAP1 DUP6 PUSH2 0x29BA JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xE25 JUMPI DUP1 SWAP2 POP PUSH2 0xE33 JUMP JUMPDEST PUSH2 0xE30 DUP2 PUSH1 0x1 PUSH2 0x27B7 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xE43 DUP8 DUP8 DUP6 DUP6 PUSH2 0x1B57 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xE7E JUMPI PUSH2 0xE68 DUP8 PUSH2 0xE5A PUSH1 0x1 DUP5 PUSH2 0x29BA JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xE81 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE9A DUP6 DUP6 DUP6 PUSH2 0x1BB9 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEB2 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0xEEC SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF09 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF2D SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF4B JUMPI SWAP2 POP PUSH2 0x3EC SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0xF80 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF9D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFC1 SWAP2 SWAP1 PUSH2 0x2737 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x104D JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x1003 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1020 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1044 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x1081 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x109E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10C2 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0x10CC SWAP1 DUP3 PUSH2 0x27B7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x10E7 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x10F4 DUP5 PUSH2 0x1D33 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x110D JUMPI PUSH2 0x110D PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1125 JUMPI PUSH2 0x1125 PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x113D JUMPI PUSH2 0x113D PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1155 JUMPI PUSH2 0x1155 PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x116D JUMPI PUSH2 0x116D PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1185 JUMPI PUSH2 0x1185 PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x119D JUMPI PUSH2 0x119D PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x11BD DUP2 DUP3 DUP6 DUP2 PUSH2 0x11B7 JUMPI PUSH2 0x11B7 PUSH2 0x29CD JUMP JUMPDEST DIV PUSH2 0x1DC7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x11D8 JUMPI PUSH2 0x11D8 PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11F3 DUP5 PUSH2 0x1DDD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x1201 DUP4 PUSH2 0x11C4 JUMP JUMPDEST AND SUB PUSH2 0x3E9 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x29E3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1231 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12A1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12C5 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST LT PUSH2 0x1362 JUMPI PUSH1 0x0 PUSH2 0x12D4 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1336 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x135A SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13D2 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x13F0 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x13FF PUSH1 0x1 DUP4 PUSH2 0x29BA JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1454 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1478 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0x1482 SWAP2 SWAP1 PUSH2 0x2707 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x14DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14FF SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x154A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x156E SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x15F4 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x15C5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15E9 SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x15FF DUP4 DUP4 PUSH2 0x27B7 JUMP JUMPDEST PUSH2 0x1609 SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x161E PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x168E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16B2 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST LT PUSH2 0x170A JUMPI PUSH1 0x0 PUSH2 0x16C1 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x1319 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x175F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1783 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0x178C DUP5 PUSH2 0x1226 JUMP JUMPDEST PUSH2 0x11BD SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17A0 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x22 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17B4 DUP3 PUSH2 0x2184 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0x17E1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4C4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17F0 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0xF DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND DUP5 MSTORE PUSH1 0x3 DUP2 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x1841 JUMPI DUP6 PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2754 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x186E PUSH2 0x119 JUMP JUMPDEST PUSH2 0x1878 JUMPI DUP4 PUSH2 0x187A JUMP JUMPDEST DUP5 JUMPDEST SWAP1 POP PUSH1 0xFF DUP7 AND PUSH2 0x18A3 JUMPI DUP1 DUP3 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x18FC SWAP1 POP JUMP JUMPDEST PUSH1 0x0 NOT PUSH1 0xFF DUP8 AND ADD PUSH2 0x18C3 JUMPI DUP1 DUP3 PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST PUSH1 0x1 NOT PUSH1 0xFF DUP8 AND ADD PUSH2 0x18E3 JUMPI DUP1 DUP3 PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3599BE1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x11 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0x191C SWAP1 DUP5 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1969 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x9 DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA7381DAB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA7381DAB SWAP1 PUSH1 0x24 ADD PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x19C6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19EA SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP5 PUSH1 0xFF AND PUSH1 0x2 EQ PUSH2 0x1A01 JUMPI DUP3 PUSH2 0x1A03 JUMP JUMPDEST DUP2 JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2710 PUSH2 0x1A14 DUP4 DUP10 PUSH2 0x2707 JUMP JUMPDEST PUSH2 0x1A1E SWAP2 SWAP1 PUSH2 0x2A2F JUMP JUMPDEST PUSH1 0x9 DUP12 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2F18339D DUP11 DUP11 DUP5 PUSH2 0x1A45 DUP2 PUSH2 0x10D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1AAC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1AD3 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP5 ADD SLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP8 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD SLOAD SWAP3 MLOAD PUSH4 0x6CF88E73 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 PUSH4 0x6CF88E73 SWAP3 PUSH2 0x1B20 SWAP3 CALLER SWAP3 DUP8 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x2A51 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1B4E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x1BB1 JUMPI PUSH1 0x0 PUSH2 0x1B6E DUP5 DUP5 PUSH2 0x223D JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x1B9D JUMPI DUP1 SWAP3 POP PUSH2 0x1BAB JUMP JUMPDEST PUSH2 0x1BA8 DUP2 PUSH1 0x1 PUSH2 0x27B7 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x1B5A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1CD8 JUMPI PUSH1 0x0 PUSH2 0x1BD7 DUP8 PUSH2 0xE5A PUSH1 0x1 DUP6 PUSH2 0x29BA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x1C2B JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x1C77 JUMPI DUP5 PUSH2 0x1C4E DUP9 PUSH2 0xE5A PUSH1 0x1 DUP7 PUSH2 0x29BA JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1CC8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0xE9F SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0xE9F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D48 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D5A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D6C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D7E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D90 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DA2 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DB4 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x3EC JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1DD6 JUMPI DUP2 PUSH2 0x3E9 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1DE8 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1E3D JUMPI PUSH2 0x1E3D PUSH2 0x291B JUMP JUMPDEST SUB PUSH2 0x1E4F JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1E63 JUMPI PUSH2 0x1E63 PUSH2 0x291B JUMP JUMPDEST SUB PUSH2 0x1E75 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x1E88 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1E9B JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x1EC3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C4 JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F1D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F41 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST LT ISZERO PUSH2 0x1F54 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1F9F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FC3 SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x1FD8 DUP10 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP PUSH2 0x1FE3 DUP10 PUSH2 0x2258 JUMP JUMPDEST PUSH2 0x1FF6 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x200C JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2015 DUP10 PUSH2 0x2284 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x2027 JUMPI POP PUSH2 0x2025 DUP10 PUSH2 0x22E2 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x203B JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2044 DUP10 PUSH2 0x230A JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x205A JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x20B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20DB SWAP2 SWAP1 PUSH2 0x277D JUMP JUMPDEST ISZERO PUSH2 0x20F0 JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x213B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x215F SWAP2 SWAP1 PUSH2 0x277D JUMP JUMPDEST ISZERO PUSH2 0x2174 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x218F PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0x219A DUP4 PUSH2 0x233C JUMP JUMPDEST PUSH2 0x21FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C4 JUMP JUMPDEST DUP1 PUSH1 0x17 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2215 JUMPI PUSH2 0x2215 PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2226 JUMPI PUSH2 0x2226 PUSH2 0x291B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x224C PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x2A2F JUMP JUMPDEST PUSH2 0x3E9 SWAP1 DUP5 DUP5 AND PUSH2 0x27B7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2263 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x228F PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x22D8 PUSH2 0x22C1 DUP7 PUSH2 0x1226 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x291B JUMP JUMPDEST PUSH2 0x2373 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x22ED PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2315 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2351 JUMPI PUSH2 0x2351 PUSH2 0x291B JUMP JUMPDEST EQ DUP1 PUSH2 0x3EC JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x236C JUMPI PUSH2 0x236C PUSH2 0x291B JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x237E PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x238C DUP6 DUP6 PUSH2 0x240F JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x23D7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x23FB SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0x2405 SWAP2 SWAP1 PUSH2 0x2707 JUMP JUMPDEST PUSH2 0x135A SWAP2 SWAP1 PUSH2 0x2A2F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E9 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x242A JUMPI PUSH2 0x242A PUSH2 0x291B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2435 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2451 JUMPI PUSH2 0x2451 PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2462 JUMPI PUSH2 0x2462 PUSH2 0x291B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x248E JUMPI PUSH2 0x248E PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x249F JUMPI PUSH2 0x249F PUSH2 0x291B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x24BA PUSH1 0x1 DUP5 PUSH2 0x29BA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x24CA JUMPI PUSH2 0x24CA PUSH2 0x2A8F JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x2510 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x3EC SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x2561 PUSH2 0x251C DUP10 PUSH2 0xD9F JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2534 JUMPI PUSH2 0x2534 PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2545 JUMPI PUSH2 0x2545 PUSH2 0x291B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0xDD6 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2588 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x25A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x25C5 DUP2 PUSH2 0x258F JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x25F8 DUP2 PUSH2 0x258F JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x25A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x262A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x263C DUP2 PUSH2 0x258F JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x264C DUP2 PUSH2 0x2603 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2668 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x267C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x268B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x269D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP PUSH1 0x20 ADD SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26F1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2749 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x258F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2778 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x278F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E9 DUP3 PUSH2 0x2768 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26F1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x281C JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2804 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2838 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2841 DUP4 PUSH2 0x2768 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x285E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2872 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x2884 JUMPI PUSH2 0x2884 PUSH2 0x27EB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x28AC JUMPI PUSH2 0x28AC PUSH2 0x27EB JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x28C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28D6 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x2801 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x2603 JUMP JUMPDEST PUSH1 0xFF DUP3 DUP2 AND DUP3 DUP3 AND SUB SWAP1 DUP2 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x295E DUP2 PUSH1 0x60 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x2801 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x60 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xFF DUP7 AND DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP4 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD MSTORE DUP2 PUSH1 0x80 DUP3 ADD MSTORE DUP2 DUP4 PUSH1 0xA0 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP4 ADD PUSH1 0xA0 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x29FA JUMPI PUSH2 0x29FA PUSH2 0x291B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD SWAP1 SWAP3 SWAP1 SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2A4C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x2A80 JUMPI PUSH2 0x2A80 PUSH2 0x291B JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID 0xAE 0xC5 0xEB 0xD9 0xCF 0xB5 0xE0 STATICCALL SWAP15 0xC8 SWAP4 0xC1 SLT 0xB6 CALL 0x5C CALLDATASIZE PUSH3 0x48DB78 SGT 0x23 0xBA 0xBE PUSH10 0x9C0E07703978B34402B STOP PUSH23 0x25B875AC624BEA888F2CD3B6896EB9B8F2A2A278BBF3B5 0xDD SWAP12 0x4D LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x23 DUP14 GAS PUSH11 0x52DA96CE7D531CCA35849D 0xC2 0xBA ADDRESS PUSH30 0x70CDF499E6A79E0ACDAAFDCA8464736F6C63430008140033000000000000 ","sourceMap":"2252:18938:59:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2252:18938:59;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_checkVotingThreshold_25981":{"entryPoint":6057,"id":25981,"parameterSlots":2,"returnSlots":0},"@_countVote_25274":{"entryPoint":6118,"id":25274,"parameterSlots":5,"returnSlots":0},"@_insert_9806":{"entryPoint":7097,"id":9806,"parameterSlots":3,"returnSlots":2},"@_proposalDeadline_23690":{"entryPoint":5651,"id":23690,"parameterSlots":1,"returnSlots":1},"@_proposalSnapshot_23632":{"entryPoint":4646,"id":23632,"parameterSlots":1,"returnSlots":1},"@_quorumNumeratorByProposalType_24311":{"entryPoint":null,"id":24311,"parameterSlots":2,"returnSlots":1},"@_registerRelayerActionForNavigatorVote_26207":{"entryPoint":6844,"id":26207,"parameterSlots":3,"returnSlots":0},"@_registerVoteWithIntentMultiplier_26167":{"entryPoint":6515,"id":26167,"parameterSlots":6,"returnSlots":0},"@_state_24717":{"entryPoint":7645,"id":24717,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":6999,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":8765,"id":6189,"parameterSlots":2,"returnSlots":1},"@castNavigatorVote_25954":{"entryPoint":1010,"id":25954,"parameterSlots":2,"returnSlots":1},"@castVote_25650":{"entryPoint":2793,"id":25650,"parameterSlots":5,"returnSlots":1},"@encodeStateBitmap_24512":{"entryPoint":4548,"id":24512,"parameterSlots":1,"returnSlots":1},"@getGovernorStorage_24759":{"entryPoint":3451,"id":24759,"parameterSlots":0,"returnSlots":1},"@getQuadraticVotingPower_25402":{"entryPoint":967,"id":25402,"parameterSlots":2,"returnSlots":1},"@getVotes_25381":{"entryPoint":3751,"id":25381,"parameterSlots":2,"returnSlots":1},"@getVotingThreshold_20423":{"entryPoint":8580,"id":20423,"parameterSlots":1,"returnSlots":1},"@governanceSkipWindowBlocks_20610":{"entryPoint":6038,"id":20610,"parameterSlots":0,"returnSlots":1},"@isQuadraticVotingDisabledForCurrentRound_26101":{"entryPoint":281,"id":26101,"parameterSlots":0,"returnSlots":1},"@isQuadraticVotingDisabledForRound_26067":{"entryPoint":796,"id":26067,"parameterSlots":1,"returnSlots":1},"@isValidProposalType_23804":{"entryPoint":9020,"id":23804,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":7475,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":7623,"id":6166,"parameterSlots":2,"returnSlots":1},"@proposalDepositReached_21127":{"entryPoint":8792,"id":21127,"parameterSlots":1,"returnSlots":1},"@proposalEta_21803":{"entryPoint":8970,"id":21803,"parameterSlots":1,"returnSlots":1},"@push_9437":{"entryPoint":3724,"id":9437,"parameterSlots":3,"returnSlots":2},"@quorumByProposalType_24165":{"entryPoint":9075,"id":24165,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_23927":{"entryPoint":null,"id":23927,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_24025":{"entryPoint":9231,"id":24025,"parameterSlots":2,"returnSlots":1},"@quorumReached_24238":{"entryPoint":8836,"id":24238,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":4309,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":3487,"id":7770,"parameterSlots":1,"returnSlots":1},"@toggleQuadraticVoting_26030":{"entryPoint":460,"id":26030,"parameterSlots":0,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":3542,"id":9604,"parameterSlots":2,"returnSlots":1},"@validateStateBitmap_24492":{"entryPoint":4583,"id":24492,"parameterSlots":2,"returnSlots":1},"@voteSucceeded_25308":{"entryPoint":8930,"id":25308,"parameterSlots":1,"returnSlots":1},"abi_decode_bool_fromMemory":{"entryPoint":10088,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":10039,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":9639,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":10109,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory":{"entryPoint":10277,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":9590,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":9904,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":9683,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_addresst_uint8t_string_calldata_ptr":{"entryPoint":9746,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256t_uint256_fromMemory":{"entryPoint":10763,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":9929,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8_fromMemory":{"entryPoint":10469,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":10068,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":10833,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10545,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":10014,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed":{"entryPoint":10186,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed":{"entryPoint":10136,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$24992_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":10723,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_string_calldata_ptr__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10611,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":10167,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":10799,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":9991,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":10682,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint8":{"entryPoint":10498,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":10241,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x11":{"entryPoint":9969,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":10701,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":10523,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":10895,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":10219,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":9615,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":9731,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:12485:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"117:92:150","statements":[{"nodeType":"YulAssignment","src":"127:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"139:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"150:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"135:3:150"},"nodeType":"YulFunctionCall","src":"135:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"127:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"169:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"194:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"187:6:150"},"nodeType":"YulFunctionCall","src":"187:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"180:6:150"},"nodeType":"YulFunctionCall","src":"180:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"162:6:150"},"nodeType":"YulFunctionCall","src":"162:41:150"},"nodeType":"YulExpressionStatement","src":"162:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"86:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"97:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"108:4:150","type":""}],"src":"14:195:150"},{"body":{"nodeType":"YulBlock","src":"284:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"330:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"339:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"332:6:150"},"nodeType":"YulFunctionCall","src":"332:12:150"},"nodeType":"YulExpressionStatement","src":"332:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"305:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"314:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"301:3:150"},"nodeType":"YulFunctionCall","src":"301:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"326:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"297:3:150"},"nodeType":"YulFunctionCall","src":"297:32:150"},"nodeType":"YulIf","src":"294:52:150"},{"nodeType":"YulAssignment","src":"355:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"378:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"365:12:150"},"nodeType":"YulFunctionCall","src":"365:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"355:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"250:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"261:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"273:6:150","type":""}],"src":"214:180:150"},{"body":{"nodeType":"YulBlock","src":"444:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"508:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"517:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"520:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"510:6:150"},"nodeType":"YulFunctionCall","src":"510:12:150"},"nodeType":"YulExpressionStatement","src":"510:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"467:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"478:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"493:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"498:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"489:3:150"},"nodeType":"YulFunctionCall","src":"489:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"502:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"485:3:150"},"nodeType":"YulFunctionCall","src":"485:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"474:3:150"},"nodeType":"YulFunctionCall","src":"474:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"464:2:150"},"nodeType":"YulFunctionCall","src":"464:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"457:6:150"},"nodeType":"YulFunctionCall","src":"457:50:150"},"nodeType":"YulIf","src":"454:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"433:5:150","type":""}],"src":"399:131:150"},{"body":{"nodeType":"YulBlock","src":"622:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:150"},"nodeType":"YulFunctionCall","src":"670:12:150"},"nodeType":"YulExpressionStatement","src":"670:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"643:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"652:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"639:3:150"},"nodeType":"YulFunctionCall","src":"639:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"664:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"635:3:150"},"nodeType":"YulFunctionCall","src":"635:32:150"},"nodeType":"YulIf","src":"632:52:150"},{"nodeType":"YulVariableDeclaration","src":"693:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"719:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"706:12:150"},"nodeType":"YulFunctionCall","src":"706:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"697:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"763:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"738:24:150"},"nodeType":"YulFunctionCall","src":"738:31:150"},"nodeType":"YulExpressionStatement","src":"738:31:150"},{"nodeType":"YulAssignment","src":"778:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"788:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"778:6:150"}]},{"nodeType":"YulAssignment","src":"802:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"829:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"840:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"825:3:150"},"nodeType":"YulFunctionCall","src":"825:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"812:12:150"},"nodeType":"YulFunctionCall","src":"812:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"802:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"580:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"591:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"603:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"611:6:150","type":""}],"src":"535:315:150"},{"body":{"nodeType":"YulBlock","src":"964:76:150","statements":[{"nodeType":"YulAssignment","src":"974:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"986:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"997:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"982:3:150"},"nodeType":"YulFunctionCall","src":"982:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"974:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1016:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1027:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1009:6:150"},"nodeType":"YulFunctionCall","src":"1009:25:150"},"nodeType":"YulExpressionStatement","src":"1009:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"933:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"944:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"955:4:150","type":""}],"src":"855:185:150"},{"body":{"nodeType":"YulBlock","src":"1132:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"1178:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1187:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1190:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1180:6:150"},"nodeType":"YulFunctionCall","src":"1180:12:150"},"nodeType":"YulExpressionStatement","src":"1180:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1153:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1162:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1149:3:150"},"nodeType":"YulFunctionCall","src":"1149:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1174:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1145:3:150"},"nodeType":"YulFunctionCall","src":"1145:32:150"},"nodeType":"YulIf","src":"1142:52:150"},{"nodeType":"YulAssignment","src":"1203:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1226:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1213:12:150"},"nodeType":"YulFunctionCall","src":"1213:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1203:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1245:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1275:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1286:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1271:3:150"},"nodeType":"YulFunctionCall","src":"1271:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1258:12:150"},"nodeType":"YulFunctionCall","src":"1258:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1249:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1324:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1299:24:150"},"nodeType":"YulFunctionCall","src":"1299:31:150"},"nodeType":"YulExpressionStatement","src":"1299:31:150"},{"nodeType":"YulAssignment","src":"1339:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1349:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1339:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1090:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1101:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1113:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1121:6:150","type":""}],"src":"1045:315:150"},{"body":{"nodeType":"YulBlock","src":"1408:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"1457:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1466:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1469:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1459:6:150"},"nodeType":"YulFunctionCall","src":"1459:12:150"},"nodeType":"YulExpressionStatement","src":"1459:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1431:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1442:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1449:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1438:3:150"},"nodeType":"YulFunctionCall","src":"1438:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1428:2:150"},"nodeType":"YulFunctionCall","src":"1428:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1421:6:150"},"nodeType":"YulFunctionCall","src":"1421:35:150"},"nodeType":"YulIf","src":"1418:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1397:5:150","type":""}],"src":"1365:114:150"},{"body":{"nodeType":"YulBlock","src":"1623:794:150","statements":[{"body":{"nodeType":"YulBlock","src":"1670:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1679:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1682:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1672:6:150"},"nodeType":"YulFunctionCall","src":"1672:12:150"},"nodeType":"YulExpressionStatement","src":"1672:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1644:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1653:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1640:3:150"},"nodeType":"YulFunctionCall","src":"1640:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1665:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1636:3:150"},"nodeType":"YulFunctionCall","src":"1636:33:150"},"nodeType":"YulIf","src":"1633:53:150"},{"nodeType":"YulAssignment","src":"1695:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1718:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1705:12:150"},"nodeType":"YulFunctionCall","src":"1705:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1695:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1737:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1767:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1778:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1763:3:150"},"nodeType":"YulFunctionCall","src":"1763:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1750:12:150"},"nodeType":"YulFunctionCall","src":"1750:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1741:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1816:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1791:24:150"},"nodeType":"YulFunctionCall","src":"1791:31:150"},"nodeType":"YulExpressionStatement","src":"1791:31:150"},{"nodeType":"YulAssignment","src":"1831:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1841:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1831:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1855:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1887:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1898:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1883:3:150"},"nodeType":"YulFunctionCall","src":"1883:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1870:12:150"},"nodeType":"YulFunctionCall","src":"1870:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"1859:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"1934:7:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"1911:22:150"},"nodeType":"YulFunctionCall","src":"1911:31:150"},"nodeType":"YulExpressionStatement","src":"1911:31:150"},{"nodeType":"YulAssignment","src":"1951:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"1961:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1951:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1977:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2008:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2019:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2004:3:150"},"nodeType":"YulFunctionCall","src":"2004:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1991:12:150"},"nodeType":"YulFunctionCall","src":"1991:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1981:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2032:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2050:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2054:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2046:3:150"},"nodeType":"YulFunctionCall","src":"2046:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2058:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2042:3:150"},"nodeType":"YulFunctionCall","src":"2042:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2036:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2087:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2096:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2099:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2089:6:150"},"nodeType":"YulFunctionCall","src":"2089:12:150"},"nodeType":"YulExpressionStatement","src":"2089:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2075:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2083:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2072:2:150"},"nodeType":"YulFunctionCall","src":"2072:14:150"},"nodeType":"YulIf","src":"2069:34:150"},{"nodeType":"YulVariableDeclaration","src":"2112:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2126:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"2137:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2122:3:150"},"nodeType":"YulFunctionCall","src":"2122:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2116:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2192:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2201:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2204:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2194:6:150"},"nodeType":"YulFunctionCall","src":"2194:12:150"},"nodeType":"YulExpressionStatement","src":"2194:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2171:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"2175:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2167:3:150"},"nodeType":"YulFunctionCall","src":"2167:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2182:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2163:3:150"},"nodeType":"YulFunctionCall","src":"2163:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2156:6:150"},"nodeType":"YulFunctionCall","src":"2156:35:150"},"nodeType":"YulIf","src":"2153:55:150"},{"nodeType":"YulVariableDeclaration","src":"2217:30:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2244:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2231:12:150"},"nodeType":"YulFunctionCall","src":"2231:16:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2221:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2274:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2283:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2286:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2276:6:150"},"nodeType":"YulFunctionCall","src":"2276:12:150"},"nodeType":"YulExpressionStatement","src":"2276:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2262:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2270:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2259:2:150"},"nodeType":"YulFunctionCall","src":"2259:14:150"},"nodeType":"YulIf","src":"2256:34:150"},{"body":{"nodeType":"YulBlock","src":"2340:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2349:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2352:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2342:6:150"},"nodeType":"YulFunctionCall","src":"2342:12:150"},"nodeType":"YulExpressionStatement","src":"2342:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2313:2:150"},{"name":"length","nodeType":"YulIdentifier","src":"2317:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2309:3:150"},"nodeType":"YulFunctionCall","src":"2309:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"2326:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2305:3:150"},"nodeType":"YulFunctionCall","src":"2305:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2331:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2302:2:150"},"nodeType":"YulFunctionCall","src":"2302:37:150"},"nodeType":"YulIf","src":"2299:57:150"},{"nodeType":"YulAssignment","src":"2365:21:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2379:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"2383:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2375:3:150"},"nodeType":"YulFunctionCall","src":"2375:11:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2365:6:150"}]},{"nodeType":"YulAssignment","src":"2395:16:150","value":{"name":"length","nodeType":"YulIdentifier","src":"2405:6:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2395:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_uint8t_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1557:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1568:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1580:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1588:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1596:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"1604:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"1612:6:150","type":""}],"src":"1484:933:150"},{"body":{"nodeType":"YulBlock","src":"2503:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"2549:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2558:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2561:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2551:6:150"},"nodeType":"YulFunctionCall","src":"2551:12:150"},"nodeType":"YulExpressionStatement","src":"2551:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2524:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2533:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2520:3:150"},"nodeType":"YulFunctionCall","src":"2520:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2545:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2516:3:150"},"nodeType":"YulFunctionCall","src":"2516:32:150"},"nodeType":"YulIf","src":"2513:52:150"},{"nodeType":"YulAssignment","src":"2574:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2590:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2584:5:150"},"nodeType":"YulFunctionCall","src":"2584:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2574:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2469:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2480:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2492:6:150","type":""}],"src":"2422:184:150"},{"body":{"nodeType":"YulBlock","src":"2691:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"2737:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2746:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2749:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2739:6:150"},"nodeType":"YulFunctionCall","src":"2739:12:150"},"nodeType":"YulExpressionStatement","src":"2739:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2712:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2721:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2708:3:150"},"nodeType":"YulFunctionCall","src":"2708:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2733:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2704:3:150"},"nodeType":"YulFunctionCall","src":"2704:32:150"},"nodeType":"YulIf","src":"2701:52:150"},{"nodeType":"YulVariableDeclaration","src":"2762:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2781:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2775:5:150"},"nodeType":"YulFunctionCall","src":"2775:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2766:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2849:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2858:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2861:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2851:6:150"},"nodeType":"YulFunctionCall","src":"2851:12:150"},"nodeType":"YulExpressionStatement","src":"2851:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2813:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2824:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2831:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2820:3:150"},"nodeType":"YulFunctionCall","src":"2820:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2810:2:150"},"nodeType":"YulFunctionCall","src":"2810:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2803:6:150"},"nodeType":"YulFunctionCall","src":"2803:45:150"},"nodeType":"YulIf","src":"2800:65:150"},{"nodeType":"YulAssignment","src":"2874:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2884:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2874:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2657:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2668:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2680:6:150","type":""}],"src":"2611:284:150"},{"body":{"nodeType":"YulBlock","src":"3001:76:150","statements":[{"nodeType":"YulAssignment","src":"3011:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3023:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3034:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3019:3:150"},"nodeType":"YulFunctionCall","src":"3019:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3011:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3053:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3064:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3046:6:150"},"nodeType":"YulFunctionCall","src":"3046:25:150"},"nodeType":"YulExpressionStatement","src":"3046:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2970:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2981:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2992:4:150","type":""}],"src":"2900:177:150"},{"body":{"nodeType":"YulBlock","src":"3114:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3131:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3138:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3143:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3134:3:150"},"nodeType":"YulFunctionCall","src":"3134:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3124:6:150"},"nodeType":"YulFunctionCall","src":"3124:31:150"},"nodeType":"YulExpressionStatement","src":"3124:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3171:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3174:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3164:6:150"},"nodeType":"YulFunctionCall","src":"3164:15:150"},"nodeType":"YulExpressionStatement","src":"3164:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3195:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3198:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3188:6:150"},"nodeType":"YulFunctionCall","src":"3188:15:150"},"nodeType":"YulExpressionStatement","src":"3188:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"3082:127:150"},{"body":{"nodeType":"YulBlock","src":"3266:116:150","statements":[{"nodeType":"YulAssignment","src":"3276:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3291:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"3294:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3287:3:150"},"nodeType":"YulFunctionCall","src":"3287:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"3276:7:150"}]},{"body":{"nodeType":"YulBlock","src":"3354:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3356:16:150"},"nodeType":"YulFunctionCall","src":"3356:18:150"},"nodeType":"YulExpressionStatement","src":"3356:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3325:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3318:6:150"},"nodeType":"YulFunctionCall","src":"3318:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"3332:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"3339:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"3348:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"3335:3:150"},"nodeType":"YulFunctionCall","src":"3335:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3329:2:150"},"nodeType":"YulFunctionCall","src":"3329:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3315:2:150"},"nodeType":"YulFunctionCall","src":"3315:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3308:6:150"},"nodeType":"YulFunctionCall","src":"3308:45:150"},"nodeType":"YulIf","src":"3305:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3245:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"3248:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"3254:7:150","type":""}],"src":"3214:168:150"},{"body":{"nodeType":"YulBlock","src":"3516:145:150","statements":[{"nodeType":"YulAssignment","src":"3526:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3538:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3549:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3534:3:150"},"nodeType":"YulFunctionCall","src":"3534:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3526:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3568:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3583:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3599:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3604:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3595:3:150"},"nodeType":"YulFunctionCall","src":"3595:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3608:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3591:3:150"},"nodeType":"YulFunctionCall","src":"3591:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3579:3:150"},"nodeType":"YulFunctionCall","src":"3579:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3561:6:150"},"nodeType":"YulFunctionCall","src":"3561:51:150"},"nodeType":"YulExpressionStatement","src":"3561:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3632:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3643:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3628:3:150"},"nodeType":"YulFunctionCall","src":"3628:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"3648:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3621:6:150"},"nodeType":"YulFunctionCall","src":"3621:34:150"},"nodeType":"YulExpressionStatement","src":"3621:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3477:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3488:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3496:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3507:4:150","type":""}],"src":"3387:274:150"},{"body":{"nodeType":"YulBlock","src":"3747:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"3793:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3802:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3805:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3795:6:150"},"nodeType":"YulFunctionCall","src":"3795:12:150"},"nodeType":"YulExpressionStatement","src":"3795:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3768:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3777:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3764:3:150"},"nodeType":"YulFunctionCall","src":"3764:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3789:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3760:3:150"},"nodeType":"YulFunctionCall","src":"3760:32:150"},"nodeType":"YulIf","src":"3757:52:150"},{"nodeType":"YulVariableDeclaration","src":"3818:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3837:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3831:5:150"},"nodeType":"YulFunctionCall","src":"3831:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3822:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3881:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3856:24:150"},"nodeType":"YulFunctionCall","src":"3856:31:150"},"nodeType":"YulExpressionStatement","src":"3856:31:150"},{"nodeType":"YulAssignment","src":"3896:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3906:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3896:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3713:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3724:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3736:6:150","type":""}],"src":"3666:251:150"},{"body":{"nodeType":"YulBlock","src":"4023:102:150","statements":[{"nodeType":"YulAssignment","src":"4033:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4045:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4056:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4041:3:150"},"nodeType":"YulFunctionCall","src":"4041:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4033:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4075:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4090:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4106:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4111:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4102:3:150"},"nodeType":"YulFunctionCall","src":"4102:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4115:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4098:3:150"},"nodeType":"YulFunctionCall","src":"4098:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4086:3:150"},"nodeType":"YulFunctionCall","src":"4086:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4068:6:150"},"nodeType":"YulFunctionCall","src":"4068:51:150"},"nodeType":"YulExpressionStatement","src":"4068:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3992:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4003:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4014:4:150","type":""}],"src":"3922:203:150"},{"body":{"nodeType":"YulBlock","src":"4187:107:150","statements":[{"nodeType":"YulAssignment","src":"4197:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4212:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4206:5:150"},"nodeType":"YulFunctionCall","src":"4206:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4197:5:150"}]},{"body":{"nodeType":"YulBlock","src":"4272:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4281:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4284:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4274:6:150"},"nodeType":"YulFunctionCall","src":"4274:12:150"},"nodeType":"YulExpressionStatement","src":"4274:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4241:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4262:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4255:6:150"},"nodeType":"YulFunctionCall","src":"4255:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4248:6:150"},"nodeType":"YulFunctionCall","src":"4248:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4238:2:150"},"nodeType":"YulFunctionCall","src":"4238:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4231:6:150"},"nodeType":"YulFunctionCall","src":"4231:40:150"},"nodeType":"YulIf","src":"4228:60:150"}]},"name":"abi_decode_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4166:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4177:5:150","type":""}],"src":"4130:164:150"},{"body":{"nodeType":"YulBlock","src":"4377:124:150","statements":[{"body":{"nodeType":"YulBlock","src":"4423:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4432:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4435:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4425:6:150"},"nodeType":"YulFunctionCall","src":"4425:12:150"},"nodeType":"YulExpressionStatement","src":"4425:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4398:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4407:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4394:3:150"},"nodeType":"YulFunctionCall","src":"4394:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4419:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4390:3:150"},"nodeType":"YulFunctionCall","src":"4390:32:150"},"nodeType":"YulIf","src":"4387:52:150"},{"nodeType":"YulAssignment","src":"4448:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4485:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"4458:26:150"},"nodeType":"YulFunctionCall","src":"4458:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4448:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4343:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4354:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4366:6:150","type":""}],"src":"4299:202:150"},{"body":{"nodeType":"YulBlock","src":"4663:188:150","statements":[{"nodeType":"YulAssignment","src":"4673:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4685:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4696:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4681:3:150"},"nodeType":"YulFunctionCall","src":"4681:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4673:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4715:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"4726:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4708:6:150"},"nodeType":"YulFunctionCall","src":"4708:25:150"},"nodeType":"YulExpressionStatement","src":"4708:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4753:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4764:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4749:3:150"},"nodeType":"YulFunctionCall","src":"4749:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"4773:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4789:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4794:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4785:3:150"},"nodeType":"YulFunctionCall","src":"4785:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4798:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4781:3:150"},"nodeType":"YulFunctionCall","src":"4781:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4769:3:150"},"nodeType":"YulFunctionCall","src":"4769:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4742:6:150"},"nodeType":"YulFunctionCall","src":"4742:60:150"},"nodeType":"YulExpressionStatement","src":"4742:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4822:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4833:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4818:3:150"},"nodeType":"YulFunctionCall","src":"4818:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"4838:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4811:6:150"},"nodeType":"YulFunctionCall","src":"4811:34:150"},"nodeType":"YulExpressionStatement","src":"4811:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4616:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4627:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4635:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4643:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4654:4:150","type":""}],"src":"4506:345:150"},{"body":{"nodeType":"YulBlock","src":"4904:77:150","statements":[{"nodeType":"YulAssignment","src":"4914:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4925:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"4928:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4921:3:150"},"nodeType":"YulFunctionCall","src":"4921:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"4914:3:150"}]},{"body":{"nodeType":"YulBlock","src":"4953:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"4955:16:150"},"nodeType":"YulFunctionCall","src":"4955:18:150"},"nodeType":"YulExpressionStatement","src":"4955:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4945:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"4948:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4942:2:150"},"nodeType":"YulFunctionCall","src":"4942:10:150"},"nodeType":"YulIf","src":"4939:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4887:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"4890:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"4896:3:150","type":""}],"src":"4856:125:150"},{"body":{"nodeType":"YulBlock","src":"5113:166:150","statements":[{"nodeType":"YulAssignment","src":"5123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5146:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5131:3:150"},"nodeType":"YulFunctionCall","src":"5131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5196:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5201:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5192:3:150"},"nodeType":"YulFunctionCall","src":"5192:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"5205:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5188:3:150"},"nodeType":"YulFunctionCall","src":"5188:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5176:3:150"},"nodeType":"YulFunctionCall","src":"5176:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5158:6:150"},"nodeType":"YulFunctionCall","src":"5158:51:150"},"nodeType":"YulExpressionStatement","src":"5158:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5229:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5240:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5225:3:150"},"nodeType":"YulFunctionCall","src":"5225:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5249:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5257:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5245:3:150"},"nodeType":"YulFunctionCall","src":"5245:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5218:6:150"},"nodeType":"YulFunctionCall","src":"5218:55:150"},"nodeType":"YulExpressionStatement","src":"5218:55:150"}]},"name":"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5074:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5085:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5093:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5104:4:150","type":""}],"src":"4986:293:150"},{"body":{"nodeType":"YulBlock","src":"5316:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5333:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5340:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5345:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5336:3:150"},"nodeType":"YulFunctionCall","src":"5336:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5326:6:150"},"nodeType":"YulFunctionCall","src":"5326:31:150"},"nodeType":"YulExpressionStatement","src":"5326:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5373:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5376:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5366:6:150"},"nodeType":"YulFunctionCall","src":"5366:15:150"},"nodeType":"YulExpressionStatement","src":"5366:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5397:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5400:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5390:6:150"},"nodeType":"YulFunctionCall","src":"5390:15:150"},"nodeType":"YulExpressionStatement","src":"5390:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5284:127:150"},{"body":{"nodeType":"YulBlock","src":"5482:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"5492:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5501:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5496:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5561:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5586:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"5591:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5582:3:150"},"nodeType":"YulFunctionCall","src":"5582:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5605:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"5610:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5601:3:150"},"nodeType":"YulFunctionCall","src":"5601:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5595:5:150"},"nodeType":"YulFunctionCall","src":"5595:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5575:6:150"},"nodeType":"YulFunctionCall","src":"5575:39:150"},"nodeType":"YulExpressionStatement","src":"5575:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5522:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"5525:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5519:2:150"},"nodeType":"YulFunctionCall","src":"5519:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5533:19:150","statements":[{"nodeType":"YulAssignment","src":"5535:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5544:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"5547:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5540:3:150"},"nodeType":"YulFunctionCall","src":"5540:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5535:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5515:3:150","statements":[]},"src":"5511:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5644:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"5649:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5640:3:150"},"nodeType":"YulFunctionCall","src":"5640:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"5658:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5633:6:150"},"nodeType":"YulFunctionCall","src":"5633:27:150"},"nodeType":"YulExpressionStatement","src":"5633:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5460:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"5465:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"5470:6:150","type":""}],"src":"5416:250:150"},{"body":{"nodeType":"YulBlock","src":"5776:871:150","statements":[{"body":{"nodeType":"YulBlock","src":"5822:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5831:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5834:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5824:6:150"},"nodeType":"YulFunctionCall","src":"5824:12:150"},"nodeType":"YulExpressionStatement","src":"5824:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5797:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5806:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5793:3:150"},"nodeType":"YulFunctionCall","src":"5793:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5818:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5789:3:150"},"nodeType":"YulFunctionCall","src":"5789:32:150"},"nodeType":"YulIf","src":"5786:52:150"},{"nodeType":"YulAssignment","src":"5847:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5884:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"5857:26:150"},"nodeType":"YulFunctionCall","src":"5857:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5847:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5903:39:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5927:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5938:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5923:3:150"},"nodeType":"YulFunctionCall","src":"5923:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5917:5:150"},"nodeType":"YulFunctionCall","src":"5917:25:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5907:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5951:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5969:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5973:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5965:3:150"},"nodeType":"YulFunctionCall","src":"5965:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5977:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5961:3:150"},"nodeType":"YulFunctionCall","src":"5961:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5955:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6006:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6015:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6018:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6008:6:150"},"nodeType":"YulFunctionCall","src":"6008:12:150"},"nodeType":"YulExpressionStatement","src":"6008:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5994:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6002:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5991:2:150"},"nodeType":"YulFunctionCall","src":"5991:14:150"},"nodeType":"YulIf","src":"5988:34:150"},{"nodeType":"YulVariableDeclaration","src":"6031:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6045:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6056:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6041:3:150"},"nodeType":"YulFunctionCall","src":"6041:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"6035:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6111:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6120:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6123:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6113:6:150"},"nodeType":"YulFunctionCall","src":"6113:12:150"},"nodeType":"YulExpressionStatement","src":"6113:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6090:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6094:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6086:3:150"},"nodeType":"YulFunctionCall","src":"6086:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6101:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6082:3:150"},"nodeType":"YulFunctionCall","src":"6082:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6075:6:150"},"nodeType":"YulFunctionCall","src":"6075:35:150"},"nodeType":"YulIf","src":"6072:55:150"},{"nodeType":"YulVariableDeclaration","src":"6136:19:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6152:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6146:5:150"},"nodeType":"YulFunctionCall","src":"6146:9:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"6140:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6178:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6180:16:150"},"nodeType":"YulFunctionCall","src":"6180:18:150"},"nodeType":"YulExpressionStatement","src":"6180:18:150"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"6170:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6174:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6167:2:150"},"nodeType":"YulFunctionCall","src":"6167:10:150"},"nodeType":"YulIf","src":"6164:36:150"},{"nodeType":"YulVariableDeclaration","src":"6209:17:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6223:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6219:3:150"},"nodeType":"YulFunctionCall","src":"6219:7:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"6213:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6235:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6255:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6249:5:150"},"nodeType":"YulFunctionCall","src":"6249:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"6239:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6267:71:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6289:6:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"6313:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6317:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6309:3:150"},"nodeType":"YulFunctionCall","src":"6309:13:150"},{"name":"_4","nodeType":"YulIdentifier","src":"6324:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6305:3:150"},"nodeType":"YulFunctionCall","src":"6305:22:150"},{"kind":"number","nodeType":"YulLiteral","src":"6329:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6301:3:150"},"nodeType":"YulFunctionCall","src":"6301:31:150"},{"name":"_4","nodeType":"YulIdentifier","src":"6334:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6297:3:150"},"nodeType":"YulFunctionCall","src":"6297:40:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6285:3:150"},"nodeType":"YulFunctionCall","src":"6285:53:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"6271:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6397:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6399:16:150"},"nodeType":"YulFunctionCall","src":"6399:18:150"},"nodeType":"YulExpressionStatement","src":"6399:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6356:10:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6368:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6353:2:150"},"nodeType":"YulFunctionCall","src":"6353:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6376:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"6388:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6373:2:150"},"nodeType":"YulFunctionCall","src":"6373:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6350:2:150"},"nodeType":"YulFunctionCall","src":"6350:46:150"},"nodeType":"YulIf","src":"6347:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6435:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6439:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6428:6:150"},"nodeType":"YulFunctionCall","src":"6428:22:150"},"nodeType":"YulExpressionStatement","src":"6428:22:150"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6466:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"6474:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6459:6:150"},"nodeType":"YulFunctionCall","src":"6459:18:150"},"nodeType":"YulExpressionStatement","src":"6459:18:150"},{"body":{"nodeType":"YulBlock","src":"6523:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6532:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6535:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6525:6:150"},"nodeType":"YulFunctionCall","src":"6525:12:150"},"nodeType":"YulExpressionStatement","src":"6525:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6500:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"6504:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6496:3:150"},"nodeType":"YulFunctionCall","src":"6496:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"6509:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6492:3:150"},"nodeType":"YulFunctionCall","src":"6492:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6514:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6489:2:150"},"nodeType":"YulFunctionCall","src":"6489:33:150"},"nodeType":"YulIf","src":"6486:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6587:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6591:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6583:3:150"},"nodeType":"YulFunctionCall","src":"6583:11:150"},{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6600:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6608:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6596:3:150"},"nodeType":"YulFunctionCall","src":"6596:15:150"},{"name":"_3","nodeType":"YulIdentifier","src":"6613:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"6548:34:150"},"nodeType":"YulFunctionCall","src":"6548:68:150"},"nodeType":"YulExpressionStatement","src":"6548:68:150"},{"nodeType":"YulAssignment","src":"6625:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"6635:6:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6625:6:150"}]}]},"name":"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5734:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5745:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5757:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5765:6:150","type":""}],"src":"5671:976:150"},{"body":{"nodeType":"YulBlock","src":"6731:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"6777:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6786:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6789:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6779:6:150"},"nodeType":"YulFunctionCall","src":"6779:12:150"},"nodeType":"YulExpressionStatement","src":"6779:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6752:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6761:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6748:3:150"},"nodeType":"YulFunctionCall","src":"6748:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6773:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6744:3:150"},"nodeType":"YulFunctionCall","src":"6744:32:150"},"nodeType":"YulIf","src":"6741:52:150"},{"nodeType":"YulVariableDeclaration","src":"6802:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6821:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6815:5:150"},"nodeType":"YulFunctionCall","src":"6815:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6806:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6863:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"6840:22:150"},"nodeType":"YulFunctionCall","src":"6840:29:150"},"nodeType":"YulExpressionStatement","src":"6840:29:150"},{"nodeType":"YulAssignment","src":"6878:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6888:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6878:6:150"}]}]},"name":"abi_decode_tuple_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6697:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6708:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6720:6:150","type":""}],"src":"6652:247:150"},{"body":{"nodeType":"YulBlock","src":"6951:104:150","statements":[{"nodeType":"YulAssignment","src":"6961:39:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6977:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"6980:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6973:3:150"},"nodeType":"YulFunctionCall","src":"6973:12:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"6991:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"6994:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6987:3:150"},"nodeType":"YulFunctionCall","src":"6987:12:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6969:3:150"},"nodeType":"YulFunctionCall","src":"6969:31:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"6961:4:150"}]},{"body":{"nodeType":"YulBlock","src":"7027:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"7029:16:150"},"nodeType":"YulFunctionCall","src":"7029:18:150"},"nodeType":"YulExpressionStatement","src":"7029:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"7015:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"7021:4:150","type":"","value":"0xff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7012:2:150"},"nodeType":"YulFunctionCall","src":"7012:14:150"},"nodeType":"YulIf","src":"7009:40:150"}]},"name":"checked_sub_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"6933:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"6936:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"6942:4:150","type":""}],"src":"6904:151:150"},{"body":{"nodeType":"YulBlock","src":"7092:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7109:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7116:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7121:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7112:3:150"},"nodeType":"YulFunctionCall","src":"7112:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7102:6:150"},"nodeType":"YulFunctionCall","src":"7102:31:150"},"nodeType":"YulExpressionStatement","src":"7102:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7149:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7152:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7142:6:150"},"nodeType":"YulFunctionCall","src":"7142:15:150"},"nodeType":"YulExpressionStatement","src":"7142:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7173:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7176:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7166:6:150"},"nodeType":"YulFunctionCall","src":"7166:15:150"},"nodeType":"YulExpressionStatement","src":"7166:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"7060:127:150"},{"body":{"nodeType":"YulBlock","src":"7345:173:150","statements":[{"nodeType":"YulAssignment","src":"7355:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7367:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7378:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7363:3:150"},"nodeType":"YulFunctionCall","src":"7363:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7355:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7397:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7412:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7420:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7408:3:150"},"nodeType":"YulFunctionCall","src":"7408:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7390:6:150"},"nodeType":"YulFunctionCall","src":"7390:36:150"},"nodeType":"YulExpressionStatement","src":"7390:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7446:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7457:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7442:3:150"},"nodeType":"YulFunctionCall","src":"7442:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"7462:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7435:6:150"},"nodeType":"YulFunctionCall","src":"7435:34:150"},"nodeType":"YulExpressionStatement","src":"7435:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7489:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7500:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7485:3:150"},"nodeType":"YulFunctionCall","src":"7485:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"7505:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7478:6:150"},"nodeType":"YulFunctionCall","src":"7478:34:150"},"nodeType":"YulExpressionStatement","src":"7478:34:150"}]},"name":"abi_encode_tuple_t_uint8_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7298:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7309:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7317:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7325:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7336:4:150","type":""}],"src":"7192:326:150"},{"body":{"nodeType":"YulBlock","src":"7777:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7794:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7809:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7817:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7805:3:150"},"nodeType":"YulFunctionCall","src":"7805:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7787:6:150"},"nodeType":"YulFunctionCall","src":"7787:36:150"},"nodeType":"YulExpressionStatement","src":"7787:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7843:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7854:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7839:3:150"},"nodeType":"YulFunctionCall","src":"7839:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"7859:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7832:6:150"},"nodeType":"YulFunctionCall","src":"7832:34:150"},"nodeType":"YulExpressionStatement","src":"7832:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7886:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7897:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7882:3:150"},"nodeType":"YulFunctionCall","src":"7882:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"7902:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7875:6:150"},"nodeType":"YulFunctionCall","src":"7875:34:150"},"nodeType":"YulExpressionStatement","src":"7875:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7929:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7940:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7925:3:150"},"nodeType":"YulFunctionCall","src":"7925:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7945:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7918:6:150"},"nodeType":"YulFunctionCall","src":"7918:31:150"},"nodeType":"YulExpressionStatement","src":"7918:31:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7969:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7980:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7965:3:150"},"nodeType":"YulFunctionCall","src":"7965:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"7986:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7958:6:150"},"nodeType":"YulFunctionCall","src":"7958:30:150"},"nodeType":"YulExpressionStatement","src":"7958:30:150"},{"nodeType":"YulAssignment","src":"7997:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8009:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8020:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8005:3:150"},"nodeType":"YulFunctionCall","src":"8005:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7997:4:150"}]}]},"name":"abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7730:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7741:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7749:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7757:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7768:4:150","type":""}],"src":"7523:507:150"},{"body":{"nodeType":"YulBlock","src":"8184:344:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8201:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8216:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8232:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8237:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8228:3:150"},"nodeType":"YulFunctionCall","src":"8228:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8241:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8224:3:150"},"nodeType":"YulFunctionCall","src":"8224:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8212:3:150"},"nodeType":"YulFunctionCall","src":"8212:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8194:6:150"},"nodeType":"YulFunctionCall","src":"8194:51:150"},"nodeType":"YulExpressionStatement","src":"8194:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8265:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8276:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8261:3:150"},"nodeType":"YulFunctionCall","src":"8261:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"8281:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8254:6:150"},"nodeType":"YulFunctionCall","src":"8254:30:150"},"nodeType":"YulExpressionStatement","src":"8254:30:150"},{"nodeType":"YulVariableDeclaration","src":"8293:27:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"8313:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8307:5:150"},"nodeType":"YulFunctionCall","src":"8307:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8297:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8340:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8351:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8336:3:150"},"nodeType":"YulFunctionCall","src":"8336:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"8356:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8329:6:150"},"nodeType":"YulFunctionCall","src":"8329:34:150"},"nodeType":"YulExpressionStatement","src":"8329:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"8411:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8419:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8407:3:150"},"nodeType":"YulFunctionCall","src":"8407:15:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8428:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8439:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8424:3:150"},"nodeType":"YulFunctionCall","src":"8424:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"8444:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"8372:34:150"},"nodeType":"YulFunctionCall","src":"8372:79:150"},"nodeType":"YulExpressionStatement","src":"8372:79:150"},{"nodeType":"YulAssignment","src":"8460:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8476:9:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8495:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8503:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8491:3:150"},"nodeType":"YulFunctionCall","src":"8491:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8512:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8508:3:150"},"nodeType":"YulFunctionCall","src":"8508:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8487:3:150"},"nodeType":"YulFunctionCall","src":"8487:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8472:3:150"},"nodeType":"YulFunctionCall","src":"8472:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"8519:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8468:3:150"},"nodeType":"YulFunctionCall","src":"8468:54:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8460:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8145:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8156:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8164:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8175:4:150","type":""}],"src":"8035:493:150"},{"body":{"nodeType":"YulBlock","src":"8744:404:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8761:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8776:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8784:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8772:3:150"},"nodeType":"YulFunctionCall","src":"8772:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8754:6:150"},"nodeType":"YulFunctionCall","src":"8754:36:150"},"nodeType":"YulExpressionStatement","src":"8754:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8810:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8821:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8806:3:150"},"nodeType":"YulFunctionCall","src":"8806:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"8826:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8799:6:150"},"nodeType":"YulFunctionCall","src":"8799:34:150"},"nodeType":"YulExpressionStatement","src":"8799:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8853:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8864:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8849:3:150"},"nodeType":"YulFunctionCall","src":"8849:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"8869:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8842:6:150"},"nodeType":"YulFunctionCall","src":"8842:34:150"},"nodeType":"YulExpressionStatement","src":"8842:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8896:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8907:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8892:3:150"},"nodeType":"YulFunctionCall","src":"8892:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"8912:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8885:6:150"},"nodeType":"YulFunctionCall","src":"8885:31:150"},"nodeType":"YulExpressionStatement","src":"8885:31:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8936:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8947:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8932:3:150"},"nodeType":"YulFunctionCall","src":"8932:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"8953:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8925:6:150"},"nodeType":"YulFunctionCall","src":"8925:35:150"},"nodeType":"YulExpressionStatement","src":"8925:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8986:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8997:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8982:3:150"},"nodeType":"YulFunctionCall","src":"8982:19:150"},{"name":"value3","nodeType":"YulIdentifier","src":"9003:6:150"},{"name":"value4","nodeType":"YulIdentifier","src":"9011:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"8969:12:150"},"nodeType":"YulFunctionCall","src":"8969:49:150"},"nodeType":"YulExpressionStatement","src":"8969:49:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9042:9:150"},{"name":"value4","nodeType":"YulIdentifier","src":"9053:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9038:3:150"},"nodeType":"YulFunctionCall","src":"9038:22:150"},{"kind":"number","nodeType":"YulLiteral","src":"9062:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9034:3:150"},"nodeType":"YulFunctionCall","src":"9034:32:150"},{"kind":"number","nodeType":"YulLiteral","src":"9068:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9027:6:150"},"nodeType":"YulFunctionCall","src":"9027:43:150"},"nodeType":"YulExpressionStatement","src":"9027:43:150"},{"nodeType":"YulAssignment","src":"9079:63:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9095:9:150"},{"arguments":[{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"9114:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9122:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9110:3:150"},"nodeType":"YulFunctionCall","src":"9110:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9131:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9127:3:150"},"nodeType":"YulFunctionCall","src":"9127:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9106:3:150"},"nodeType":"YulFunctionCall","src":"9106:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9091:3:150"},"nodeType":"YulFunctionCall","src":"9091:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"9138:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9087:3:150"},"nodeType":"YulFunctionCall","src":"9087:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9079:4:150"}]}]},"name":"abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_string_calldata_ptr__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8681:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"8692:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8700:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8708:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8716:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8724:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8735:4:150","type":""}],"src":"8533:615:150"},{"body":{"nodeType":"YulBlock","src":"9289:130:150","statements":[{"nodeType":"YulAssignment","src":"9299:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9311:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9322:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9307:3:150"},"nodeType":"YulFunctionCall","src":"9307:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9299:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9341:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9356:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9364:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9352:3:150"},"nodeType":"YulFunctionCall","src":"9352:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9334:6:150"},"nodeType":"YulFunctionCall","src":"9334:36:150"},"nodeType":"YulExpressionStatement","src":"9334:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9390:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9401:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9386:3:150"},"nodeType":"YulFunctionCall","src":"9386:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"9406:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9379:6:150"},"nodeType":"YulFunctionCall","src":"9379:34:150"},"nodeType":"YulExpressionStatement","src":"9379:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9250:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9261:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9269:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9280:4:150","type":""}],"src":"9153:266:150"},{"body":{"nodeType":"YulBlock","src":"9473:79:150","statements":[{"nodeType":"YulAssignment","src":"9483:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9495:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"9498:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9491:3:150"},"nodeType":"YulFunctionCall","src":"9491:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"9483:4:150"}]},{"body":{"nodeType":"YulBlock","src":"9524:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9526:16:150"},"nodeType":"YulFunctionCall","src":"9526:18:150"},"nodeType":"YulExpressionStatement","src":"9526:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"9515:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"9521:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9512:2:150"},"nodeType":"YulFunctionCall","src":"9512:11:150"},"nodeType":"YulIf","src":"9509:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9455:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"9458:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"9464:4:150","type":""}],"src":"9424:128:150"},{"body":{"nodeType":"YulBlock","src":"9589:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9606:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9613:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9618:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9609:3:150"},"nodeType":"YulFunctionCall","src":"9609:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9599:6:150"},"nodeType":"YulFunctionCall","src":"9599:31:150"},"nodeType":"YulExpressionStatement","src":"9599:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9646:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9649:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9639:6:150"},"nodeType":"YulFunctionCall","src":"9639:15:150"},"nodeType":"YulExpressionStatement","src":"9639:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9670:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9673:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9663:6:150"},"nodeType":"YulFunctionCall","src":"9663:15:150"},"nodeType":"YulExpressionStatement","src":"9663:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"9557:127:150"},{"body":{"nodeType":"YulBlock","src":"9863:219:150","statements":[{"nodeType":"YulAssignment","src":"9873:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9885:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9896:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9881:3:150"},"nodeType":"YulFunctionCall","src":"9881:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9873:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9915:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"9926:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9908:6:150"},"nodeType":"YulFunctionCall","src":"9908:25:150"},"nodeType":"YulExpressionStatement","src":"9908:25:150"},{"body":{"nodeType":"YulBlock","src":"9968:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"9970:16:150"},"nodeType":"YulFunctionCall","src":"9970:18:150"},"nodeType":"YulExpressionStatement","src":"9970:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9955:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9963:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9952:2:150"},"nodeType":"YulFunctionCall","src":"9952:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9945:6:150"},"nodeType":"YulFunctionCall","src":"9945:22:150"},"nodeType":"YulIf","src":"9942:48:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10010:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10021:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10006:3:150"},"nodeType":"YulFunctionCall","src":"10006:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"10026:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9999:6:150"},"nodeType":"YulFunctionCall","src":"9999:34:150"},"nodeType":"YulExpressionStatement","src":"9999:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10053:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10064:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10049:3:150"},"nodeType":"YulFunctionCall","src":"10049:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"10069:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10042:6:150"},"nodeType":"YulFunctionCall","src":"10042:34:150"},"nodeType":"YulExpressionStatement","src":"10042:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$24992_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9816:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9827:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9835:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9843:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9854:4:150","type":""}],"src":"9689:393:150"},{"body":{"nodeType":"YulBlock","src":"10216:119:150","statements":[{"nodeType":"YulAssignment","src":"10226:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10238:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10249:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10234:3:150"},"nodeType":"YulFunctionCall","src":"10234:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10226:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10268:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10279:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10261:6:150"},"nodeType":"YulFunctionCall","src":"10261:25:150"},"nodeType":"YulExpressionStatement","src":"10261:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10306:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10317:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10302:3:150"},"nodeType":"YulFunctionCall","src":"10302:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"10322:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10295:6:150"},"nodeType":"YulFunctionCall","src":"10295:34:150"},"nodeType":"YulExpressionStatement","src":"10295:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10177:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10188:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10196:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10207:4:150","type":""}],"src":"10087:248:150"},{"body":{"nodeType":"YulBlock","src":"10438:147:150","statements":[{"body":{"nodeType":"YulBlock","src":"10484:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10493:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10496:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10486:6:150"},"nodeType":"YulFunctionCall","src":"10486:12:150"},"nodeType":"YulExpressionStatement","src":"10486:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10459:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10468:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10455:3:150"},"nodeType":"YulFunctionCall","src":"10455:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10480:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10451:3:150"},"nodeType":"YulFunctionCall","src":"10451:32:150"},"nodeType":"YulIf","src":"10448:52:150"},{"nodeType":"YulAssignment","src":"10509:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10525:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10519:5:150"},"nodeType":"YulFunctionCall","src":"10519:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10509:6:150"}]},{"nodeType":"YulAssignment","src":"10544:35:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10564:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10575:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10560:3:150"},"nodeType":"YulFunctionCall","src":"10560:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10554:5:150"},"nodeType":"YulFunctionCall","src":"10554:25:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10544:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10396:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10407:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10419:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10427:6:150","type":""}],"src":"10340:245:150"},{"body":{"nodeType":"YulBlock","src":"10636:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"10667:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10688:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10695:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10700:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10691:3:150"},"nodeType":"YulFunctionCall","src":"10691:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10681:6:150"},"nodeType":"YulFunctionCall","src":"10681:31:150"},"nodeType":"YulExpressionStatement","src":"10681:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10732:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10735:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10725:6:150"},"nodeType":"YulFunctionCall","src":"10725:15:150"},"nodeType":"YulExpressionStatement","src":"10725:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10760:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10763:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10753:6:150"},"nodeType":"YulFunctionCall","src":"10753:15:150"},"nodeType":"YulExpressionStatement","src":"10753:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"10656:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10649:6:150"},"nodeType":"YulFunctionCall","src":"10649:9:150"},"nodeType":"YulIf","src":"10646:132:150"},{"nodeType":"YulAssignment","src":"10787:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10796:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"10799:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"10792:3:150"},"nodeType":"YulFunctionCall","src":"10792:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"10787:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"10621:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"10624:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"10630:1:150","type":""}],"src":"10590:217:150"},{"body":{"nodeType":"YulBlock","src":"10997:232:150","statements":[{"nodeType":"YulAssignment","src":"11007:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11019:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11030:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11015:3:150"},"nodeType":"YulFunctionCall","src":"11015:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11007:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11050:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"11061:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11043:6:150"},"nodeType":"YulFunctionCall","src":"11043:25:150"},"nodeType":"YulExpressionStatement","src":"11043:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11088:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11099:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11084:3:150"},"nodeType":"YulFunctionCall","src":"11084:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11108:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11124:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11129:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11120:3:150"},"nodeType":"YulFunctionCall","src":"11120:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11133:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11116:3:150"},"nodeType":"YulFunctionCall","src":"11116:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11104:3:150"},"nodeType":"YulFunctionCall","src":"11104:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11077:6:150"},"nodeType":"YulFunctionCall","src":"11077:60:150"},"nodeType":"YulExpressionStatement","src":"11077:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11157:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11168:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11153:3:150"},"nodeType":"YulFunctionCall","src":"11153:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"11173:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11146:6:150"},"nodeType":"YulFunctionCall","src":"11146:34:150"},"nodeType":"YulExpressionStatement","src":"11146:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11200:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11211:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11196:3:150"},"nodeType":"YulFunctionCall","src":"11196:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"11216:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11189:6:150"},"nodeType":"YulFunctionCall","src":"11189:34:150"},"nodeType":"YulExpressionStatement","src":"11189:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10942:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"10953:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10961:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10969:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10977:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10988:4:150","type":""}],"src":"10812:417:150"},{"body":{"nodeType":"YulBlock","src":"11436:318:150","statements":[{"nodeType":"YulAssignment","src":"11446:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11458:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11469:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11454:3:150"},"nodeType":"YulFunctionCall","src":"11454:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11446:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"11482:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11500:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11505:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11496:3:150"},"nodeType":"YulFunctionCall","src":"11496:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11509:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11492:3:150"},"nodeType":"YulFunctionCall","src":"11492:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11486:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11527:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11542:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11550:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11538:3:150"},"nodeType":"YulFunctionCall","src":"11538:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11520:6:150"},"nodeType":"YulFunctionCall","src":"11520:34:150"},"nodeType":"YulExpressionStatement","src":"11520:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11574:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11585:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11570:3:150"},"nodeType":"YulFunctionCall","src":"11570:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11594:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11602:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11590:3:150"},"nodeType":"YulFunctionCall","src":"11590:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11563:6:150"},"nodeType":"YulFunctionCall","src":"11563:43:150"},"nodeType":"YulExpressionStatement","src":"11563:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11626:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11637:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11622:3:150"},"nodeType":"YulFunctionCall","src":"11622:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"11642:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11615:6:150"},"nodeType":"YulFunctionCall","src":"11615:34:150"},"nodeType":"YulExpressionStatement","src":"11615:34:150"},{"body":{"nodeType":"YulBlock","src":"11683:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"11685:16:150"},"nodeType":"YulFunctionCall","src":"11685:18:150"},"nodeType":"YulExpressionStatement","src":"11685:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"11671:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"11679:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11668:2:150"},"nodeType":"YulFunctionCall","src":"11668:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11661:6:150"},"nodeType":"YulFunctionCall","src":"11661:21:150"},"nodeType":"YulIf","src":"11658:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11725:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11736:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11721:3:150"},"nodeType":"YulFunctionCall","src":"11721:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"11741:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11714:6:150"},"nodeType":"YulFunctionCall","src":"11714:34:150"},"nodeType":"YulExpressionStatement","src":"11714:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11381:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11392:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11400:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11408:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11416:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11427:4:150","type":""}],"src":"11234:520:150"},{"body":{"nodeType":"YulBlock","src":"11860:76:150","statements":[{"nodeType":"YulAssignment","src":"11870:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11893:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11878:3:150"},"nodeType":"YulFunctionCall","src":"11878:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11870:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11912:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"11923:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11905:6:150"},"nodeType":"YulFunctionCall","src":"11905:25:150"},"nodeType":"YulExpressionStatement","src":"11905:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11829:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11840:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11851:4:150","type":""}],"src":"11759:177:150"},{"body":{"nodeType":"YulBlock","src":"12115:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12132:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12143:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12125:6:150"},"nodeType":"YulFunctionCall","src":"12125:21:150"},"nodeType":"YulExpressionStatement","src":"12125:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12177:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12162:3:150"},"nodeType":"YulFunctionCall","src":"12162:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"12182:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12155:6:150"},"nodeType":"YulFunctionCall","src":"12155:30:150"},"nodeType":"YulExpressionStatement","src":"12155:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12205:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12216:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12201:3:150"},"nodeType":"YulFunctionCall","src":"12201:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f725631303a20696e76616c6964","kind":"string","nodeType":"YulLiteral","src":"12221:34:150","type":"","value":"GovernorConfiguratorV10: invalid"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12194:6:150"},"nodeType":"YulFunctionCall","src":"12194:62:150"},"nodeType":"YulExpressionStatement","src":"12194:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12276:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12287:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12272:3:150"},"nodeType":"YulFunctionCall","src":"12272:18:150"},{"hexValue":"2070726f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"12292:16:150","type":"","value":" proposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12265:6:150"},"nodeType":"YulFunctionCall","src":"12265:44:150"},"nodeType":"YulExpressionStatement","src":"12265:44:150"},{"nodeType":"YulAssignment","src":"12318:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12330:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12341:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12326:3:150"},"nodeType":"YulFunctionCall","src":"12326:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12318:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12092:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12106:4:150","type":""}],"src":"11941:410:150"},{"body":{"nodeType":"YulBlock","src":"12388:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12405:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12412:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12417:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12408:3:150"},"nodeType":"YulFunctionCall","src":"12408:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12398:6:150"},"nodeType":"YulFunctionCall","src":"12398:31:150"},"nodeType":"YulExpressionStatement","src":"12398:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12445:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12448:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12438:6:150"},"nodeType":"YulFunctionCall","src":"12438:15:150"},"nodeType":"YulExpressionStatement","src":"12438:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12469:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12472:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12462:6:150"},"nodeType":"YulFunctionCall","src":"12462:15:150"},"nodeType":"YulExpressionStatement","src":"12462:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"12356:127:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_addresst_uint8t_string_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n        let value_1 := calldataload(add(headStart, 64))\n        validator_revert_uint8(value_1)\n        value2 := value_1\n        let offset := calldataload(add(headStart, 96))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := calldataload(_2)\n        if gt(length, _1) { revert(0, 0) }\n        if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n        value3 := add(_2, 32)\n        value4 := length\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_bool_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n        let offset := mload(add(headStart, 32))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        if gt(_3, _1) { panic_error_0x41() }\n        let _4 := not(31)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, _3)\n        if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n        value1 := memPtr\n    }\n    function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function checked_sub_t_uint8(x, y) -> diff\n    {\n        diff := sub(and(x, 0xff), and(y, 0xff))\n        if gt(diff, 0xff) { panic_error_0x11() }\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_uint8_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        mstore(add(headStart, 128), 0)\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        let length := mload(value1)\n        mstore(add(headStart, 64), length)\n        copy_memory_to_memory_with_cleanup(add(value1, 32), add(headStart, 96), length)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 96)\n    }\n    function abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_string_calldata_ptr__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        mstore(add(headStart, 128), value4)\n        calldatacopy(add(headStart, 160), value3, value4)\n        mstore(add(add(headStart, value4), 160), 0)\n        tail := add(add(headStart, and(add(value4, 31), not(31))), 160)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalState_$24992_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        if iszero(lt(value1, 10)) { panic_error_0x21() }\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := mload(headStart)\n        value1 := mload(add(headStart, 32))\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        if iszero(lt(value3, 2)) { panic_error_0x21() }\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_1c499ebb774fb39724e4c4d3435bebaff3fcd547b91c6892e2ec79f5368a51e1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GovernorConfiguratorV10: invalid\")\n        mstore(add(headStart, 96), \" proposal type\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol":{"GovernorClockLogicV10":[{"length":20,"start":479},{"length":20,"start":627},{"length":20,"start":5379},{"length":20,"start":5502},{"length":20,"start":8024}]},"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol":{"GovernorProposalLogicV10":[{"length":20,"start":2447},{"length":20,"start":3250}]}},"object":"730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806381c0d6df146100715780639c17e7b31461008e578063a45aa313146100a5578063b69d417b146100b8578063b6e9eff4146100d9578063dd063f90146100f9575b600080fd5b610079610119565b60405190151581526020015b60405180910390f35b81801561009a57600080fd5b506100a36101cc565b005b6100796100b3366004612576565b61031c565b6100cb6100c63660046125a7565b6103c7565b604051908152602001610085565b8180156100e557600080fd5b506100cb6100f43660046125d3565b6103f2565b81801561010557600080fd5b506100cb610114366004612612565b610ae9565b600080610124610d7b565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b031663561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a191906126b0565b90506101b96101af82610d9f565b6013840190610dd6565b6001600160d01b03166001149250505090565b60006101d6610d7b565b9050600061024a73__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af91906126c9565b6001600160d01b03166001149050600081610266576001610269565b60005b60ff1690506102e973__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156102ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102de91906126c9565b601385019083610e8c565b50506040518215907fe782263e17b994d34e64f19af2397c26081a1f4c26c604acb8fb3db6bafc903e90600090a2505050565b600080610327610d7b565b600a8101546040516368377f6d60e11b8152600481018690529192506000916103a3916001600160a01b03169063d06efeda90602401602060405180830381865afa15801561037a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039e91906126b0565b610d9f565b90506103b26013830182610dd6565b6001600160d01b031660011492505050919050565b60006103db6103d68484610ea7565b6110d5565b6103e990633b9aca00612707565b90505b92915050565b6000806103fd610d7b565b90506104128461040d60016111c4565b6111e7565b50600061041e85611226565b601f8301546040516318be49d960e01b81529192506000916001600160a01b03909116906318be49d990610458908890869060040161271e565b602060405180830381865afa158015610475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104999190612737565b90506001600160a01b0381166104cd5784604051630d1c9abb60e31b81526004016104c49190612754565b60405180910390fd5b600086815260018085016020526040918290200154601f850154915163506b90db60e11b815290916001600160a01b03169063a0d721b690610513908590600401612754565b602060405180830381865afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610554919061277d565b156106115760208401546001600160a01b0316156105d55760208401546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906105a29084908a908c90600401612798565b600060405180830381600087803b1580156105bc57600080fd5b505af11580156105d0573d6000803e3d6000fd5b505050505b86826001600160a01b0316876001600160a01b0316600080516020612ac683398151915260405160405180910390a460009450505050506103ec565b601f840154604051632246f2db60e01b81526001600160a01b0390911690632246f2db906106459085908b9060040161271e565b602060405180830381865afa158015610662573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610686919061277d565b61078557600061069588611613565b9050806106a0611796565b6106aa90436127b7565b10156106cc576040516324852b2f60e11b8152600481018990526024016104c4565b60208501546001600160a01b0316156107485760208501546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906107159085908b908d90600401612798565b600060405180830381600087803b15801561072f57600080fd5b505af1158015610743573d6000803e3d6000fd5b505050505b87836001600160a01b0316886001600160a01b0316600080516020612ac683398151915260405160405180910390a46000955050505050506103ec565b60148401546000906001600160a01b031663d0ebb0ee886107a587610d9f565b6040518363ffffffff1660e01b81526004016107c29291906127ca565b600060405180830381865afa1580156107df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108079190810190612825565b509050806108585760208501546001600160a01b0316156107485760208501546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906107159085908b908d90600401612798565b601f8501546040516338b3ce1360e01b81526000916001600160a01b0316906338b3ce139061088d9087908d9060040161271e565b602060405180830381865afa1580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce91906128e5565b905060006108dd600183612902565b601f88015460405163c61c06e760e01b81529192506000916001600160a01b039091169063c61c06e790610917908d908b9060040161271e565b602060405180830381865afa158015610934573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095891906126b0565b90506000610965826110d5565b61097390633b9aca00612707565b604051631504e3b960e11b8152600481018e905290915060009073__$794ae75e1cde9531146241b4f1c64ef82b$__90632a09c77290602401602060405180830381865af41580156109c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ed91906128e5565b60ff166001811115610a0157610a0161291b565b9050610a0d83826117a9565b610a1a8d8d8686866117e6565b610a288a8e8e86888e611973565b610a338a8e8e611abc565b6040805160ff86168152602081018590529081018390528d906001600160a01b03808b1691908f16907fe5aba2374a4ff3b54ee59beb7eabaae209c8a3e5d31185fd429458c2f887c21a9060600160405180910390a46040805160ff86168152602081018590529081018390526080606082018190526000908201528d906001600160a01b038e1690600080516020612aa68339815191529060a0015b60405180910390a350909b9a5050505050505050505050565b600080610af4610d7b565b9050610b048761040d60016111c4565b506000610b1088611226565b601f8301549091506001600160a01b031615610bc557601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990610b5b908b90869060040161271e565b602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c9190612737565b6001600160a01b031614610bc5578660405163640ed18360e01b81526004016104c49190612754565b601482015460009081906001600160a01b031663d0ebb0ee8a610be786610d9f565b6040518363ffffffff1660e01b8152600401610c049291906127ca565b600060405180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c499190810190612825565b9150915081610c6f5788816040516344c4534960e01b81526004016104c4929190612931565b6000610c7b8a85610ea7565b90506000610c88826110d5565b610c9690633b9aca00612707565b604051631504e3b960e11b8152600481018e905290915060009073__$794ae75e1cde9531146241b4f1c64ef82b$__90632a09c77290602401602060405180830381865af4158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906128e5565b60ff166001811115610d2457610d2461291b565b9050610d3083826117a9565b610d3d8d8d8d86866117e6565b610d4b878e8e868f8b611973565b8c8c6001600160a01b0316600080516020612aa68339815191528d86868f8f604051610ad0959493929190612973565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600065ffffffffffff821115610dd2576040516306dfcc6560e41b815260306004820152602481018390526044016104c4565b5090565b815460009081816005811115610e35576000610df1846110d5565b610dfb90856129ba565b60008881526020902090915081015465ffffffffffff9081169087161015610e2557809150610e33565b610e308160016127b7565b92505b505b6000610e4387878585611b57565b90508015610e7e57610e6887610e5a6001846129ba565b600091825260209091200190565b54600160301b90046001600160d01b0316610e81565b60005b979650505050505050565b600080610e9a858585611bb9565b915091505b935093915050565b600080610eb2610d7b565b600c810154604051630748d63560e31b81529192506000916001600160a01b0390911690633a46b1a890610eec908890889060040161271e565b602060405180830381865afa158015610f09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2d91906126b0565b601f8301549091506001600160a01b0316610f4b5791506103ec9050565b601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990610f80908990899060040161271e565b602060405180830381865afa158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc19190612737565b6001600160a01b03161461104d57601f82015460405163c61c06e760e01b81526001600160a01b039091169063c61c06e790611003908890889060040161271e565b602060405180830381865afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104491906126b0565b925050506103ec565b601f82015460405163094f6f2960e21b81526001600160a01b039091169063253dbca490611081908890889060040161271e565b602060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c291906126b0565b6110cc90826127b7565b95945050505050565b6000816000036110e757506000919050565b600060016110f484611d33565b901c6001901b9050600181848161110d5761110d6129cd565b048201901c90506001818481611125576111256129cd565b048201901c9050600181848161113d5761113d6129cd565b048201901c90506001818481611155576111556129cd565b048201901c9050600181848161116d5761116d6129cd565b048201901c90506001818481611185576111856129cd565b048201901c9050600181848161119d5761119d6129cd565b048201901c90506111bd818285816111b7576111b76129cd565b04611dc7565b9392505050565b60008160098111156111d8576111d861291b565b600160ff919091161b92915050565b6000806111f384611ddd565b9050600083611201836111c4565b16036103e9578381846040516331b75e4d60e01b81526004016104c4939291906129e3565b600080611231610d7b565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c591906126b0565b106113625760006112d4610d7b565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda906024015b602060405180830381865afa158015611336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135a91906126b0565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa1580156113ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d291906126b0565b60008581526001808501602052604090912001546113f091906129ba565b905060006113ff6001836129ba565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611454573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147891906126b0565b6114829190612707565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ff91906126b0565b905073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e91906126c9565b65ffffffffffff1681116115f45773__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156115c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e991906126c9565b65ffffffffffff1690505b826115ff83836127b7565b61160991906127b7565b9695505050505050565b60008061161e610d7b565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b291906126b0565b1061170a5760006116c1610d7b565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd90602401611319565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178391906126b0565b61178c84611226565b6111bd91906127b7565b60006117a0610d7b565b60220154905090565b60006117b482612184565b9050808310156117e15760405163742f62c360e01b815260048101829052602481018490526044016104c4565b505050565b60006117f0610d7b565b6000878152600f8201602090815260408083206001600160a01b038a16845260038101909252909120549192509060ff161561184157856040516371c6af4960e01b81526004016104c49190612754565b6001600160a01b03861660009081526003820160205260408120805460ff1916600117905561186e610119565b611878578361187a565b845b905060ff86166118a3578082600001600082825461189891906127b7565b909155506118fc9050565b60001960ff8716016118c3578082600101600082825461189891906127b7565b60011960ff8716016118e3578082600201600082825461189891906127b7565b6040516303599be160e11b815260040160405180910390fd5b60008881526011840160205260408120805487929061191c9084906127b7565b90915550506001600160a01b038716600090815260108401602052604090205460ff16611969576001600160a01b03871660009081526010840160205260409020805460ff191660011790555b5050505050505050565b600986015460405163a7381dab60e01b81526004810183905260009182916101009091046001600160a01b03169063a7381dab906024016040805180830381865afa1580156119c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ea9190612a0b565b9150915060008460ff16600214611a015782611a03565b815b90506000612710611a148389612707565b611a1e9190612a2f565b60098b015490915061010090046001600160a01b0316632f18339d8a8a84611a45816110d5565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b03909216602484015260448301526064820152608401600060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b5050505050505050505050505050565b60208301546001600160a01b0316611ad357505050565b602080840154600084815260018087019093526040808220909301549251636cf88e7360e01b81526001600160a01b0390921692636cf88e7392611b209233928792909190600401612a51565b600060405180830381600087803b158015611b3a57600080fd5b505af1158015611b4e573d6000803e3d6000fd5b50505050505050565b60005b81831015611bb1576000611b6e848461223d565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115611b9d57809250611bab565b611ba88160016127b7565b93505b50611b5a565b509392505050565b825460009081908015611cd8576000611bd787610e5a6001856129ba565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015611c2b57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603611c775784611c4e88610e5a6001866129ba565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611cc8565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610e9f9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610e9f565b600080608083901c15611d4857608092831c92015b604083901c15611d5a57604092831c92015b602083901c15611d6c57602092831c92015b601083901c15611d7e57601092831c92015b600883901c15611d9057600892831c92015b600483901c15611da257600492831c92015b600283901c15611db457600292831c92015b600183901c156103ec5760010192915050565b6000818310611dd657816103e9565b5090919050565b600080611de8610d7b565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115611e3d57611e3d61291b565b03611e4f575060089695505050505050565b6002836002811115611e6357611e6361291b565b03611e75575060099695505050505050565b8115611e88575060069695505050505050565b8015611e9b575060029695505050505050565b8360010154600003611ec357604051636ad0607560e01b8152600481018890526024016104c4565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4191906126b0565b1015611f54575060009695505050505050565b600073__$f2b2c58f5cb02a2b1a2ff648948be15d53$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc391906126c9565b65ffffffffffff1690506000611fd889611613565b9050611fe389612258565b611ff65750600798975050505050505050565b81811061200c5750600198975050505050505050565b61201589612284565b15806120275750612025896122e2565b155b1561203b5750600398975050505050505050565b6120448961230a565b60000361205a5750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa1580156120b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120db919061277d565b156120f0575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa15801561213b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215f919061277d565b15612174575060069998505050505050505050565b5060029998505050505050505050565b60008061218f610d7b565b905061219a8361233c565b6121fd5760405162461bcd60e51b815260206004820152602e60248201527f476f7665726e6f72436f6e666967757261746f725631303a20696e76616c696460448201526d2070726f706f73616c207479706560901b60648201526084016104c4565b8060170160008460018111156122155761221561291b565b60018111156122265761222661291b565b815260200190815260200160002054915050919050565b600061224c6002848418612a2f565b6103e9908484166127b7565b600080612263610d7b565b60009384526001016020525050604090206004810154600390910154101590565b60008061228f610d7b565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906122d86122c186611226565b8360018111156122d3576122d361291b565b612373565b1115949350505050565b6000806122ed610d7b565b6000938452600f0160205250506040902080546001909101541190565b600080612315610d7b565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b6000808260018111156123515761235161291b565b14806103ec5750600182600181111561236c5761236c61291b565b1492915050565b60008061237e610d7b565b9050606461238c858561240f565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156123d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123fb91906126b0565b6124059190612707565b61135a9190612a2f565b60006103e9838360ff16600181111561242a5761242a61291b565b600080612435610d7b565b905060008160180160008560018111156124515761245161291b565b60018111156124625761246261291b565b815260208101919091526040016000908120549150601883018186600181111561248e5761248e61291b565b600181111561249f5761249f61291b565b815260208101919091526040016000206124ba6001846129ba565b815481106124ca576124ca612a8f565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211612510576001600160d01b031694506103ec9350505050565b61256161251c89610d9f565b8660180160008a60018111156125345761253461291b565b60018111156125455761254561291b565b8152602001908152602001600020610dd690919063ffffffff16565b6001600160d01b031698975050505050505050565b60006020828403121561258857600080fd5b5035919050565b6001600160a01b03811681146125a457600080fd5b50565b600080604083850312156125ba57600080fd5b82356125c58161258f565b946020939093013593505050565b600080604083850312156125e657600080fd5b8235915060208301356125f88161258f565b809150509250929050565b60ff811681146125a457600080fd5b60008060008060006080868803121561262a57600080fd5b85359450602086013561263c8161258f565b9350604086013561264c81612603565b925060608601356001600160401b038082111561266857600080fd5b818801915088601f83011261267c57600080fd5b81358181111561268b57600080fd5b89602082850101111561269d57600080fd5b9699959850939650602001949392505050565b6000602082840312156126c257600080fd5b5051919050565b6000602082840312156126db57600080fd5b815165ffffffffffff811681146103e957600080fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103ec576103ec6126f1565b6001600160a01b03929092168252602082015260400190565b60006020828403121561274957600080fd5b81516103e98161258f565b6001600160a01b0391909116815260200190565b8051801515811461277857600080fd5b919050565b60006020828403121561278f57600080fd5b6103e982612768565b9283526001600160a01b03919091166020830152604082015260600190565b808201808211156103ec576103ec6126f1565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561281c578181015183820152602001612804565b50506000910152565b6000806040838503121561283857600080fd5b61284183612768565b60208401519092506001600160401b038082111561285e57600080fd5b818501915085601f83011261287257600080fd5b815181811115612884576128846127eb565b604051601f8201601f19908116603f011681019083821181831017156128ac576128ac6127eb565b816040528281528860208487010111156128c557600080fd5b6128d6836020830160208801612801565b80955050505050509250929050565b6000602082840312156128f757600080fd5b81516103e981612603565b60ff82811682821603908111156103ec576103ec6126f1565b634e487b7160e01b600052602160045260246000fd5b60018060a01b0383168152604060208201526000825180604084015261295e816060850160208701612801565b601f01601f1916919091016060019392505050565b60ff8616815284602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b818103818111156103ec576103ec6126f1565b634e487b7160e01b600052601260045260246000fd5b83815260608101600a84106129fa576129fa61291b565b602082019390935260400152919050565b60008060408385031215612a1e57600080fd5b505080516020909101519092909150565b600082612a4c57634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03858116825284166020820152604081018390526080810160028310612a8057612a8061291b565b82606083015295945050505050565b634e487b7160e01b600052603260045260246000fdfeaec5ebd9cfb5e0fa9ec893c112b6f15c366248db781323babe6909c0e07703978b34402b007625b875ac624bea888f2cd3b6896eb9b8f2a2a278bbf3b5dd9b4da2646970667358221220238d5a6a52da96ce7d531cca35849dc2ba307d70cdf499e6a79e0acdaafdca8464736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x6C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x81C0D6DF EQ PUSH2 0x71 JUMPI DUP1 PUSH4 0x9C17E7B3 EQ PUSH2 0x8E JUMPI DUP1 PUSH4 0xA45AA313 EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0xB69D417B EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xB6E9EFF4 EQ PUSH2 0xD9 JUMPI DUP1 PUSH4 0xDD063F90 EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x79 PUSH2 0x119 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3 PUSH2 0x1CC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x79 PUSH2 0xB3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2576 JUMP JUMPDEST PUSH2 0x31C JUMP JUMPDEST PUSH2 0xCB PUSH2 0xC6 CALLDATASIZE PUSH1 0x4 PUSH2 0x25A7 JUMP JUMPDEST PUSH2 0x3C7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x85 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCB PUSH2 0xF4 CALLDATASIZE PUSH1 0x4 PUSH2 0x25D3 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x105 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCB PUSH2 0x114 CALLDATASIZE PUSH1 0x4 PUSH2 0x2612 JUMP JUMPDEST PUSH2 0xAE9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x124 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A1 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B9 PUSH2 0x1AF DUP3 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x13 DUP5 ADD SWAP1 PUSH2 0xDD6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D6 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24A PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x226 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x266 JUMPI PUSH1 0x1 PUSH2 0x269 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH2 0x2E9 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2DE SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH1 0x13 DUP6 ADD SWAP1 DUP4 PUSH2 0xE8C JUMP JUMPDEST POP POP PUSH1 0x40 MLOAD DUP3 ISZERO SWAP1 PUSH32 0xE782263E17B994D34E64F19AF2397C26081A1F4C26C604ACB8FB3DB6BAFC903E SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x327 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x3A3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x37A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0xD9F JUMP JUMPDEST SWAP1 POP PUSH2 0x3B2 PUSH1 0x13 DUP4 ADD DUP3 PUSH2 0xDD6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 DUP5 PUSH2 0xEA7 JUMP JUMPDEST PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x3E9 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2707 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3FD PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0x412 DUP5 PUSH2 0x40D PUSH1 0x1 PUSH2 0x11C4 JUMP JUMPDEST PUSH2 0x11E7 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x41E DUP6 PUSH2 0x1226 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x458 SWAP1 DUP9 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x499 SWAP2 SWAP1 PUSH2 0x2737 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4CD JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xD1C9ABB PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2754 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD PUSH1 0x1F DUP6 ADD SLOAD SWAP2 MLOAD PUSH4 0x506B90DB PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA0D721B6 SWAP1 PUSH2 0x513 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x2754 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x530 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x554 SWAP2 SWAP1 PUSH2 0x277D JUMP JUMPDEST ISZERO PUSH2 0x611 JUMPI PUSH1 0x20 DUP5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x5D5 JUMPI PUSH1 0x20 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x5A2 SWAP1 DUP5 SWAP1 DUP11 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x2798 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x5BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x5D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP7 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AC6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x0 SWAP5 POP POP POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x1F DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2246F2DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2246F2DB SWAP1 PUSH2 0x645 SWAP1 DUP6 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x662 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x686 SWAP2 SWAP1 PUSH2 0x277D JUMP JUMPDEST PUSH2 0x785 JUMPI PUSH1 0x0 PUSH2 0x695 DUP9 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x6A0 PUSH2 0x1796 JUMP JUMPDEST PUSH2 0x6AA SWAP1 NUMBER PUSH2 0x27B7 JUMP JUMPDEST LT ISZERO PUSH2 0x6CC JUMPI PUSH1 0x40 MLOAD PUSH4 0x24852B2F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x748 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x715 SWAP1 DUP6 SWAP1 DUP12 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x2798 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x72F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x743 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP8 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AC6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x0 SWAP6 POP POP POP POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x14 DUP5 ADD SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP9 PUSH2 0x7A5 DUP8 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7C2 SWAP3 SWAP2 SWAP1 PUSH2 0x27CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x807 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2825 JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x858 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x748 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x715 SWAP1 DUP6 SWAP1 DUP12 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x2798 JUMP JUMPDEST PUSH1 0x1F DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x38B3CE13 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x38B3CE13 SWAP1 PUSH2 0x88D SWAP1 DUP8 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8CE SWAP2 SWAP1 PUSH2 0x28E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x8DD PUSH1 0x1 DUP4 PUSH2 0x2902 JUMP JUMPDEST PUSH1 0x1F DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x917 SWAP1 DUP14 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x934 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x958 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x965 DUP3 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x973 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2707 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP15 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9ED SWAP2 SWAP1 PUSH2 0x28E5 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA01 JUMPI PUSH2 0xA01 PUSH2 0x291B JUMP JUMPDEST SWAP1 POP PUSH2 0xA0D DUP4 DUP3 PUSH2 0x17A9 JUMP JUMPDEST PUSH2 0xA1A DUP14 DUP14 DUP7 DUP7 DUP7 PUSH2 0x17E6 JUMP JUMPDEST PUSH2 0xA28 DUP11 DUP15 DUP15 DUP7 DUP9 DUP15 PUSH2 0x1973 JUMP JUMPDEST PUSH2 0xA33 DUP11 DUP15 DUP15 PUSH2 0x1ABC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE DUP14 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND SWAP2 SWAP1 DUP16 AND SWAP1 PUSH32 0xE5ABA2374A4FF3B54EE59BEB7EABAAE209C8A3E5D31185FD429458C2F887C21A SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP3 ADD MSTORE DUP14 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AA6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0xA0 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP SWAP1 SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAF4 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0xB04 DUP8 PUSH2 0x40D PUSH1 0x1 PUSH2 0x11C4 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0xB10 DUP9 PUSH2 0x1226 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xBC5 JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0xB5B SWAP1 DUP12 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB9C SWAP2 SWAP1 PUSH2 0x2737 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBC5 JUMPI DUP7 PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2754 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP11 PUSH2 0xBE7 DUP7 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC04 SWAP3 SWAP2 SWAP1 PUSH2 0x27CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC21 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC49 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2825 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0xC6F JUMPI DUP9 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP3 SWAP2 SWAP1 PUSH2 0x2931 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC7B DUP11 DUP6 PUSH2 0xEA7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC88 DUP3 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0xC96 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2707 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP15 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xCEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD10 SWAP2 SWAP1 PUSH2 0x28E5 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xD24 JUMPI PUSH2 0xD24 PUSH2 0x291B JUMP JUMPDEST SWAP1 POP PUSH2 0xD30 DUP4 DUP3 PUSH2 0x17A9 JUMP JUMPDEST PUSH2 0xD3D DUP14 DUP14 DUP14 DUP7 DUP7 PUSH2 0x17E6 JUMP JUMPDEST PUSH2 0xD4B DUP8 DUP15 DUP15 DUP7 DUP16 DUP12 PUSH2 0x1973 JUMP JUMPDEST DUP13 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AA6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP14 DUP7 DUP7 DUP16 DUP16 PUSH1 0x40 MLOAD PUSH2 0xAD0 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2973 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDD2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4C4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xE35 JUMPI PUSH1 0x0 PUSH2 0xDF1 DUP5 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0xDFB SWAP1 DUP6 PUSH2 0x29BA JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xE25 JUMPI DUP1 SWAP2 POP PUSH2 0xE33 JUMP JUMPDEST PUSH2 0xE30 DUP2 PUSH1 0x1 PUSH2 0x27B7 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xE43 DUP8 DUP8 DUP6 DUP6 PUSH2 0x1B57 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xE7E JUMPI PUSH2 0xE68 DUP8 PUSH2 0xE5A PUSH1 0x1 DUP5 PUSH2 0x29BA JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xE81 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE9A DUP6 DUP6 DUP6 PUSH2 0x1BB9 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEB2 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0xEEC SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF09 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF2D SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF4B JUMPI SWAP2 POP PUSH2 0x3EC SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0xF80 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF9D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFC1 SWAP2 SWAP1 PUSH2 0x2737 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x104D JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x1003 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1020 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1044 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x1081 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x109E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10C2 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0x10CC SWAP1 DUP3 PUSH2 0x27B7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x10E7 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x10F4 DUP5 PUSH2 0x1D33 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x110D JUMPI PUSH2 0x110D PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1125 JUMPI PUSH2 0x1125 PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x113D JUMPI PUSH2 0x113D PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1155 JUMPI PUSH2 0x1155 PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x116D JUMPI PUSH2 0x116D PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1185 JUMPI PUSH2 0x1185 PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x119D JUMPI PUSH2 0x119D PUSH2 0x29CD JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x11BD DUP2 DUP3 DUP6 DUP2 PUSH2 0x11B7 JUMPI PUSH2 0x11B7 PUSH2 0x29CD JUMP JUMPDEST DIV PUSH2 0x1DC7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x11D8 JUMPI PUSH2 0x11D8 PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11F3 DUP5 PUSH2 0x1DDD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x1201 DUP4 PUSH2 0x11C4 JUMP JUMPDEST AND SUB PUSH2 0x3E9 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x29E3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1231 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12A1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12C5 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST LT PUSH2 0x1362 JUMPI PUSH1 0x0 PUSH2 0x12D4 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1336 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x135A SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13D2 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x13F0 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x13FF PUSH1 0x1 DUP4 PUSH2 0x29BA JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1454 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1478 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0x1482 SWAP2 SWAP1 PUSH2 0x2707 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x14DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14FF SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x154A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x156E SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x15F4 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x15C5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15E9 SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x15FF DUP4 DUP4 PUSH2 0x27B7 JUMP JUMPDEST PUSH2 0x1609 SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x161E PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x168E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16B2 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST LT PUSH2 0x170A JUMPI PUSH1 0x0 PUSH2 0x16C1 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x1319 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x175F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1783 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0x178C DUP5 PUSH2 0x1226 JUMP JUMPDEST PUSH2 0x11BD SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17A0 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x22 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17B4 DUP3 PUSH2 0x2184 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0x17E1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4C4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17F0 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0xF DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND DUP5 MSTORE PUSH1 0x3 DUP2 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x1841 JUMPI DUP6 PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2754 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x186E PUSH2 0x119 JUMP JUMPDEST PUSH2 0x1878 JUMPI DUP4 PUSH2 0x187A JUMP JUMPDEST DUP5 JUMPDEST SWAP1 POP PUSH1 0xFF DUP7 AND PUSH2 0x18A3 JUMPI DUP1 DUP3 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x18FC SWAP1 POP JUMP JUMPDEST PUSH1 0x0 NOT PUSH1 0xFF DUP8 AND ADD PUSH2 0x18C3 JUMPI DUP1 DUP3 PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST PUSH1 0x1 NOT PUSH1 0xFF DUP8 AND ADD PUSH2 0x18E3 JUMPI DUP1 DUP3 PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3599BE1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x11 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0x191C SWAP1 DUP5 SWAP1 PUSH2 0x27B7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1969 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x9 DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA7381DAB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA7381DAB SWAP1 PUSH1 0x24 ADD PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x19C6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19EA SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP5 PUSH1 0xFF AND PUSH1 0x2 EQ PUSH2 0x1A01 JUMPI DUP3 PUSH2 0x1A03 JUMP JUMPDEST DUP2 JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2710 PUSH2 0x1A14 DUP4 DUP10 PUSH2 0x2707 JUMP JUMPDEST PUSH2 0x1A1E SWAP2 SWAP1 PUSH2 0x2A2F JUMP JUMPDEST PUSH1 0x9 DUP12 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2F18339D DUP11 DUP11 DUP5 PUSH2 0x1A45 DUP2 PUSH2 0x10D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1AAC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1AD3 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP5 ADD SLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP8 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD SLOAD SWAP3 MLOAD PUSH4 0x6CF88E73 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 PUSH4 0x6CF88E73 SWAP3 PUSH2 0x1B20 SWAP3 CALLER SWAP3 DUP8 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x2A51 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1B4E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x1BB1 JUMPI PUSH1 0x0 PUSH2 0x1B6E DUP5 DUP5 PUSH2 0x223D JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x1B9D JUMPI DUP1 SWAP3 POP PUSH2 0x1BAB JUMP JUMPDEST PUSH2 0x1BA8 DUP2 PUSH1 0x1 PUSH2 0x27B7 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x1B5A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1CD8 JUMPI PUSH1 0x0 PUSH2 0x1BD7 DUP8 PUSH2 0xE5A PUSH1 0x1 DUP6 PUSH2 0x29BA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x1C2B JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x1C77 JUMPI DUP5 PUSH2 0x1C4E DUP9 PUSH2 0xE5A PUSH1 0x1 DUP7 PUSH2 0x29BA JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1CC8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0xE9F SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0xE9F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D48 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D5A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D6C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D7E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D90 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DA2 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DB4 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x3EC JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1DD6 JUMPI DUP2 PUSH2 0x3E9 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1DE8 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1E3D JUMPI PUSH2 0x1E3D PUSH2 0x291B JUMP JUMPDEST SUB PUSH2 0x1E4F JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1E63 JUMPI PUSH2 0x1E63 PUSH2 0x291B JUMP JUMPDEST SUB PUSH2 0x1E75 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x1E88 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1E9B JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x1EC3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C4 JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F1D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F41 SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST LT ISZERO PUSH2 0x1F54 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1F9F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FC3 SWAP2 SWAP1 PUSH2 0x26C9 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x1FD8 DUP10 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP PUSH2 0x1FE3 DUP10 PUSH2 0x2258 JUMP JUMPDEST PUSH2 0x1FF6 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x200C JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2015 DUP10 PUSH2 0x2284 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x2027 JUMPI POP PUSH2 0x2025 DUP10 PUSH2 0x22E2 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x203B JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2044 DUP10 PUSH2 0x230A JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x205A JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x20B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20DB SWAP2 SWAP1 PUSH2 0x277D JUMP JUMPDEST ISZERO PUSH2 0x20F0 JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x213B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x215F SWAP2 SWAP1 PUSH2 0x277D JUMP JUMPDEST ISZERO PUSH2 0x2174 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x218F PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0x219A DUP4 PUSH2 0x233C JUMP JUMPDEST PUSH2 0x21FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F725631303A20696E76616C6964 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x2070726F706F73616C2074797065 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C4 JUMP JUMPDEST DUP1 PUSH1 0x17 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2215 JUMPI PUSH2 0x2215 PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2226 JUMPI PUSH2 0x2226 PUSH2 0x291B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x224C PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x2A2F JUMP JUMPDEST PUSH2 0x3E9 SWAP1 DUP5 DUP5 AND PUSH2 0x27B7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2263 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x228F PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x22D8 PUSH2 0x22C1 DUP7 PUSH2 0x1226 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x291B JUMP JUMPDEST PUSH2 0x2373 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x22ED PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2315 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2351 JUMPI PUSH2 0x2351 PUSH2 0x291B JUMP JUMPDEST EQ DUP1 PUSH2 0x3EC JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x236C JUMPI PUSH2 0x236C PUSH2 0x291B JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x237E PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x238C DUP6 DUP6 PUSH2 0x240F JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x23D7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x23FB SWAP2 SWAP1 PUSH2 0x26B0 JUMP JUMPDEST PUSH2 0x2405 SWAP2 SWAP1 PUSH2 0x2707 JUMP JUMPDEST PUSH2 0x135A SWAP2 SWAP1 PUSH2 0x2A2F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E9 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x242A JUMPI PUSH2 0x242A PUSH2 0x291B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2435 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2451 JUMPI PUSH2 0x2451 PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2462 JUMPI PUSH2 0x2462 PUSH2 0x291B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x248E JUMPI PUSH2 0x248E PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x249F JUMPI PUSH2 0x249F PUSH2 0x291B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x24BA PUSH1 0x1 DUP5 PUSH2 0x29BA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x24CA JUMPI PUSH2 0x24CA PUSH2 0x2A8F JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x2510 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x3EC SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x2561 PUSH2 0x251C DUP10 PUSH2 0xD9F JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2534 JUMPI PUSH2 0x2534 PUSH2 0x291B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2545 JUMPI PUSH2 0x2545 PUSH2 0x291B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0xDD6 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2588 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x25A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x25C5 DUP2 PUSH2 0x258F JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x25F8 DUP2 PUSH2 0x258F JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x25A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x262A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x263C DUP2 PUSH2 0x258F JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x264C DUP2 PUSH2 0x2603 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2668 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x267C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x268B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x269D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP PUSH1 0x20 ADD SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26F1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2749 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x258F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2778 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x278F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E9 DUP3 PUSH2 0x2768 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26F1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x281C JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2804 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2838 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2841 DUP4 PUSH2 0x2768 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x285E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2872 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x2884 JUMPI PUSH2 0x2884 PUSH2 0x27EB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x28AC JUMPI PUSH2 0x28AC PUSH2 0x27EB JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x28C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28D6 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x2801 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x2603 JUMP JUMPDEST PUSH1 0xFF DUP3 DUP2 AND DUP3 DUP3 AND SUB SWAP1 DUP2 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x295E DUP2 PUSH1 0x60 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x2801 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x60 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xFF DUP7 AND DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP4 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD MSTORE DUP2 PUSH1 0x80 DUP3 ADD MSTORE DUP2 DUP4 PUSH1 0xA0 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP4 ADD PUSH1 0xA0 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x29FA JUMPI PUSH2 0x29FA PUSH2 0x291B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD SWAP1 SWAP3 SWAP1 SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2A4C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x2A80 JUMPI PUSH2 0x2A80 PUSH2 0x291B JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID 0xAE 0xC5 0xEB 0xD9 0xCF 0xB5 0xE0 STATICCALL SWAP15 0xC8 SWAP4 0xC1 SLT 0xB6 CALL 0x5C CALLDATASIZE PUSH3 0x48DB78 SGT 0x23 0xBA 0xBE PUSH10 0x9C0E07703978B34402B STOP PUSH23 0x25B875AC624BEA888F2CD3B6896EB9B8F2A2A278BBF3B5 0xDD SWAP12 0x4D LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x23 DUP14 GAS PUSH11 0x52DA96CE7D531CCA35849D 0xC2 0xBA ADDRESS PUSH30 0x70CDF499E6A79E0ACDAAFDCA8464736F6C63430008140033000000000000 ","sourceMap":"2252:18938:59:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19130:520;;;:::i;:::-;;;187:14:150;;180:22;162:41;;150:2;135:18;19130:520:59;;;;;;;;17423:691;;;;;;;;;;;;;:::i;:::-;;18462:510;;;;;;:::i;:::-;;:::i;8791:230::-;;;;;;:::i;:::-;;:::i;:::-;;;1009:25:150;;;997:2;982:18;8791:230:59;855:185:150;13495:3229:59;;;;;;;;;;-1:-1:-1;13495:3229:59;;;;;:::i;:::-;;:::i;10957:1831::-;;;;;;;;;;-1:-1:-1;10957:1831:59;;;;;:::i;:::-;;:::i;19130:520::-;19203:4;19215:49;19267:44;:42;:44::i;:::-;19215:96;;19373:23;19399:1;:19;;;;;;;;;;-1:-1:-1;;;;;19399:19:59;-1:-1:-1;;;;;19399:40:59;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19373:68;;19534:79;19578:34;19596:15;19578:17;:34::i;:::-;19534:25;;;;:43;:79::i;:::-;-1:-1:-1;;;;;19534:84:59;19617:1;19534:84;19527:91;;;;19130:520;:::o;17423:691::-;17471:49;17523:44;:42;:44::i;:::-;17471:96;;17573:24;17600:74;17644:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17600:74::-;-1:-1:-1;;;;;17600:79:59;17678:1;17600:79;17573:106;;17814:17;17834:19;:27;;17860:1;17834:27;;;17856:1;17834:27;17814:47;;;;17920:72;17951:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17920:25;;;;17982:9;17920:30;:72::i;:::-;-1:-1:-1;;18065:44:59;;18088:20;;;18065:44;;;;;17465:649;;;17423:691::o;18462:510::-;18545:4;18557:49;18609:44;:42;:44::i;:::-;18745:19;;;;:42;;-1:-1:-1;;;18745:42:59;;;;;1009:25:150;;;18745:19:59;;-1:-1:-1;18706:18:59;;18727:61;;-1:-1:-1;;;;;18745:19:59;;:33;;982:18:150;;18745:42:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18727:17;:61::i;:::-;18706:82;-1:-1:-1;18879:56:59;:25;;;18706:82;18879:43;:56::i;:::-;-1:-1:-1;;;;;18879:61:59;18939:1;18879:61;18872:68;;;;18462:510;;;:::o;8791:230::-;8883:7;8971:39;8981:28;8990:7;8999:9;8981:8;:28::i;:::-;8971:9;:39::i;:::-;:45;;9013:3;8971:45;:::i;:::-;8964:52;;8791:230;;;;;:::o;13495:3229::-;13577:7;13592:49;13644:44;:42;:44::i;:::-;13592:96;;13694:151;13743:10;13761:78;13801:37;13761:39;:78::i;:::-;13694:41;:151::i;:::-;;13852:24;13879:54;13922:10;13879:42;:54::i;:::-;13959:19;;;;:70;;-1:-1:-1;;;13959:70:59;;13852:81;;-1:-1:-1;13939:17:59;;-1:-1:-1;;;;;13959:19:59;;;;:43;;:70;;14003:7;;13852:81;;13959:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13939:90;-1:-1:-1;;;;;;14039:23:59;;14035:68;;14095:7;14071:32;;-1:-1:-1;;;14071:32:59;;;;;;;;:::i;:::-;;;;;;;;14035:68;14110:15;14128:23;;;:11;;;;:23;;;;;;;:40;;14267:19;;;;:44;;-1:-1:-1;;;14267:44:59;;14128:40;;-1:-1:-1;;;;;14267:19:59;;:33;;:44;;14301:9;;14267:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14263:298;;;14333:20;;;;-1:-1:-1;;;;;14333:20:59;14325:43;14321:143;;14380:20;;;;:75;;-1:-1:-1;;;14380:75:59;;-1:-1:-1;;;;;14380:20:59;;;;:45;;:75;;14426:7;;14435;;14444:10;;14380:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14321:143;14527:10;14516:9;-1:-1:-1;;;;;14476:62:59;14507:7;-1:-1:-1;;;;;14476:62:59;-1:-1:-1;;;;;;;;;;;14476:62:59;;;;;;;;;14553:1;14546:8;;;;;;;;14263:298;14614:19;;;;:57;;-1:-1:-1;;;14614:57:59;;-1:-1:-1;;;;;14614:19:59;;;;:34;;:57;;14649:9;;14660:10;;14614:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14609:653;;14782:16;14801:54;14844:10;14801:42;:54::i;:::-;14782:73;;14937:8;14882:52;:50;:52::i;:::-;14867:67;;:12;:67;:::i;:::-;:78;14863:152;;;14964:42;;-1:-1:-1;;;14964:42:59;;;;;1009:25:150;;;982:18;;14964:42:59;855:185:150;14863:152:59;15034:20;;;;-1:-1:-1;;;;;15034:20:59;15026:43;15022:143;;15081:20;;;;:75;;-1:-1:-1;;;15081:75:59;;-1:-1:-1;;;;;15081:20:59;;;;:45;;:75;;15127:7;;15136;;15145:10;;15081:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15022:143;15228:10;15217:9;-1:-1:-1;;;;;15177:62:59;15208:7;-1:-1:-1;;;;;15177:62:59;-1:-1:-1;;;;;;;;;;;15177:62:59;;;;;;;;;15254:1;15247:8;;;;;;;;;14609:653;15360:18;;;;15341:13;;-1:-1:-1;;;;;15360:18:59;:38;15399:7;15408:35;15426:16;15408:17;:35::i;:::-;15360:84;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15360:84:59;;;;;;;;;;;;:::i;:::-;15340:104;;;15455:8;15450:263;;15485:20;;;;-1:-1:-1;;;;;15485:20:59;15477:43;15473:143;;15532:20;;;;:75;;-1:-1:-1;;;15532:75:59;;-1:-1:-1;;;;;15532:20:59;;;;:45;;:75;;15578:7;;15587;;15596:10;;15532:75;;;:::i;15450:263::-;15874:19;;;;:62;;-1:-1:-1;;;15874:62:59;;15857:14;;-1:-1:-1;;;;;15874:19:59;;:39;;:62;;15914:9;;15925:10;;15874:62;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15857:79;-1:-1:-1;15942:13:59;15958:12;15969:1;15857:79;15958:12;:::i;:::-;15994:19;;;;:76;;-1:-1:-1;;;15994:76:59;;15942:28;;-1:-1:-1;15977:14:59;;-1:-1:-1;;;;;15994:19:59;;;;:49;;:76;;16044:7;;16053:16;;15994:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15977:93;;16076:13;16092:17;16102:6;16092:9;:17::i;:::-;:23;;16112:3;16092:23;:::i;:::-;16203:49;;-1:-1:-1;;;16203:49:59;;;;;1009:25:150;;;16076:39:59;;-1:-1:-1;16121:42:59;;16203:24;;:37;;982:18:150;;16203:49:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16166:92;;;;;;;;;;:::i;:::-;16121:137;;16265:43;16287:6;16295:12;16265:21;:43::i;:::-;16314:55;16325:10;16337:7;16346;16355:6;16363:5;16314:10;:55::i;:::-;16376:92;16410:1;16413:10;16425:7;16434:6;16442:7;16451:16;16376:33;:92::i;:::-;16474:62;16513:1;16516:10;16528:7;16474:38;:62::i;:::-;16548:83;;;7420:4:150;7408:17;;7390:36;;7457:2;7442:18;;7435:34;;;7485:18;;;7478:34;;;16596:10:59;;-1:-1:-1;;;;;16548:83:59;;;;;;;;;;7378:2:150;7363:18;16548:83:59;;;;;;;16642:57;;;7817:4:150;7805:17;;7787:36;;7854:2;7839:18;;7832:34;;;7882:18;;;7875:34;;;7945:3;7940:2;7925:18;;7918:31;;;-1:-1:-1;7965:19:150;;;7958:30;16660:10:59;;-1:-1:-1;;;;;16642:57:59;;;-1:-1:-1;;;;;;;;;;;16642:57:59;8020:3:150;8005:19;16642:57:59;;;;;;;;-1:-1:-1;16713:6:59;;13495:3229;-1:-1:-1;;;;;;;;;;;13495:3229:59:o;10957:1831::-;11087:7;11102:49;11154:44;:42;:44::i;:::-;11102:96;;11204:151;11253:10;11271:78;11311:37;11271:39;:78::i;11204:151::-;;11362:24;11389:54;11432:10;11389:42;:54::i;:::-;11556:19;;;;11362:81;;-1:-1:-1;;;;;;11556:19:59;11548:42;11544:203;;11604:19;;;;:68;;-1:-1:-1;;;11604:68:59;;11684:1;;-1:-1:-1;;;;;11604:19:59;;:43;;:68;;11648:5;;11655:16;;11604:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11604:82:59;;11600:141;;11726:5;11705:27;;-1:-1:-1;;;11705:27:59;;;;;;;;:::i;11600:141::-;11798:18;;;;11754:13;;;;-1:-1:-1;;;;;11798:18:59;:38;11844:5;11857:35;11875:16;11857:17;:35::i;:::-;11798:100;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11798:100:59;;;;;;;;;;;;:::i;:::-;11753:145;;;;12028:8;12023:93;;12090:5;12097:11;12053:56;;-1:-1:-1;;;12053:56:59;;;;;;;;;:::i;12023:93::-;12122:14;12139:33;12148:5;12155:16;12139:8;:33::i;:::-;12122:50;;12231:13;12247:17;12257:6;12247:9;:17::i;:::-;:23;;12267:3;12247:23;:::i;:::-;12358:49;;-1:-1:-1;;;12358:49:59;;;;;1009:25:150;;;12231:39:59;;-1:-1:-1;12276:42:59;;12358:24;;:37;;982:18:150;;12358:49:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12321:92;;;;;;;;;;:::i;:::-;12276:137;;12420:43;12442:6;12450:12;12420:21;:43::i;:::-;12470:53;12481:10;12493:5;12500:7;12509:6;12517:5;12470:10;:53::i;:::-;12602:90;12636:1;12639:10;12651:5;12658:6;12666:7;12675:16;12602:33;:90::i;:::-;12720:10;12713:5;-1:-1:-1;;;;;12704:59:59;-1:-1:-1;;;;;;;;;;;12732:7:59;12741:6;12749:5;12756:6;;12704:59;;;;;;;;;;:::i;2703:146:57:-;2816:23;;2703:146::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;9334:36:150;9386:18;;;9379:34;;;9307:18;;14416:41:37;9153:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;8050:162::-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;7693:846:59:-;7770:7;7785:49;7837:44;:42;:44::i;:::-;7908:6;;;;:39;;-1:-1:-1;;;7908:39:59;;7785:96;;-1:-1:-1;7887:18:59;;-1:-1:-1;;;;;7908:6:59;;;;:19;;:39;;7928:7;;7937:9;;7908:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7966:19;;;;7887:60;;-1:-1:-1;;;;;;7966:19:59;7954:65;;8009:10;-1:-1:-1;8002:17:59;;-1:-1:-1;8002:17:59;7954:65;8118:19;;;;:63;;-1:-1:-1;;;8118:63:59;;8193:1;;-1:-1:-1;;;;;8118:19:59;;:43;;:63;;8162:7;;8171:9;;8118:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8118:77:59;;8114:174;;8212:19;;;;:69;;-1:-1:-1;;;8212:69:59;;-1:-1:-1;;;;;8212:19:59;;;;:49;;:69;;8262:7;;8271:9;;8212:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8205:76;;;;;;8114:174;8445:19;;;;:66;;-1:-1:-1;;;8445:66:59;;-1:-1:-1;;;;;8445:19:59;;;;:46;;:66;;8492:7;;8501:9;;8445:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8431:80;;;;:::i;:::-;;7693:846;-1:-1:-1;;;;;7693:846:59:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;:::-;10182:30;8587:1642;-1:-1:-1;;;8587:1642:36:o;4026:157:56:-;4122:7;4163:13;4157:20;;;;;;;;:::i;:::-;4152:1;:25;;;;;;;4026:157;-1:-1:-1;;4026:157:56:o;3360:405::-;3467:30;3505:43;3551:18;3558:10;3551:6;:18::i;:::-;3505:64;-1:-1:-1;3638:1:56;3613:13;3579:31;3505:64;3579:17;:31::i;:::-;:47;:61;3575:161;;3689:10;3701:12;3715:13;3657:72;;-1:-1:-1;;;3657:72:56;;;;;;;;;;:::i;35807:1163:54:-;35885:7;35900:49;35952:44;:42;:44::i;:::-;35900:96;;36109:1;:11;;:23;36121:10;36109:23;;;;;;;;;;;:40;;;36069:1;:19;;;;;;;;;;-1:-1:-1;;;;;36069:19:54;-1:-1:-1;;;;;36069:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36065:285;;36157:49;36209:44;:42;:44::i;:::-;36268:19;;;;;36302:23;;;36268:19;36302:11;;;:23;;;;;;;:40;;36268:75;;-1:-1:-1;;;36268:75:54;;;;;1009:25:150;;;;36268:19:54;;-1:-1:-1;;;;;;36268:19:54;;:33;;982:18:150;;36268:75:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36261:82;35807:1163;-1:-1:-1;;;;35807:1163:54:o;36065:285::-;36428:19;;;;:36;;;-1:-1:-1;;;36428:36:54;;;;36356:26;;-1:-1:-1;;;;;36428:19:54;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36385:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;36356:108;-1:-1:-1;36470:26:54;36537:22;36558:1;36356:108;36537:22;:::i;:::-;36499:1;:19;;;;;;;;;;-1:-1:-1;;;;;36499:19:54;-1:-1:-1;;;;;36499:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36470:90;;36622:28;36653:1;:19;;;;;;;;;;-1:-1:-1;;;;;36653:19:54;-1:-1:-1;;;;;36653:40:54;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36622:73;;36792:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36768:53;;:20;:53;36764:126;;36854:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36831:52;;;;36764:126;36947:18;36903:41;36926:18;36903:20;:41;:::i;:::-;:62;;;;:::i;:::-;36896:69;35807:1163;-1:-1:-1;;;;;;35807:1163:54:o;37142:769::-;37220:7;37235:49;37287:44;:42;:44::i;:::-;37235:96;;37474:1;:11;;:23;37486:10;37474:23;;;;;;;;;;;:40;;;37434:1;:19;;;;;;;;;;-1:-1:-1;;;;;37434:19:54;-1:-1:-1;;;;;37434:34:54;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;37430:285;;37522:49;37574:44;:42;:44::i;:::-;37633:19;;;;;37667:23;;;37633:19;37667:11;;;:23;;;;;;;:40;;37633:75;;-1:-1:-1;;;37633:75:54;;;;;1009:25:150;;;;37633:19:54;;-1:-1:-1;;;;;;37633:19:54;;:33;;982:18:150;;37633:75:54;855:185:150;37430:285:54;37872:1;:19;;;;;;;;;;-1:-1:-1;;;;;37872:19:54;-1:-1:-1;;;;;37872:32:54;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37840:29;37858:10;37840:17;:29::i;:::-;:66;;;;:::i;19290:159:50:-;19351:7;19373:44;:42;:44::i;:::-;:71;;;19366:78;;19290:159;:::o;16886:290:59:-;16996:17;17016:56;17059:12;17016:42;:56::i;:::-;16996:76;;17091:9;17082:6;:18;17078:94;;;17117:48;;-1:-1:-1;;;17117:48:59;;;;;10261:25:150;;;10302:18;;;10295:34;;;10234:18;;17117:48:59;10087:248:150;17078:94:59;16990:186;16886:290;;:::o;5191:1187::-;5308:49;5360:44;:42;:44::i;:::-;5410:50;5463:27;;;:15;;;:27;;;;;;;;-1:-1:-1;;;;;5501:30:59;;;;:21;;;:30;;;;;;;5308:96;;-1:-1:-1;5463:27:59;5501:30;;5497:90;;;5572:7;5548:32;;-1:-1:-1;;;5548:32:59;;;;;;;;:::i;5497:90::-;-1:-1:-1;;;;;5592:30:59;;;;;;:21;;;:30;;;;;:37;;-1:-1:-1;;5592:37:59;5625:4;5592:37;;;5754:42;:40;:42::i;:::-;:59;;5808:5;5754:59;;;5799:6;5754:59;5739:74;-1:-1:-1;5824:51:59;;;5820:372;;5914:4;5885:12;:25;;;:33;;;;;;;:::i;:::-;;;;-1:-1:-1;5820:372:59;;-1:-1:-1;5820:372:59;;-1:-1:-1;;5935:47:59;;;;5931:261;;6017:4;5992:12;:21;;;:29;;;;;;;:::i;5931:261::-;-1:-1:-1;;6038:51:59;;;;6034:158;;6128:4;6099:12;:25;;;:33;;;;;;;:::i;6034:158::-;6160:25;;-1:-1:-1;;;6160:25:59;;;;;;;;;;;6034:158;6198:32;;;;:20;;;:32;;;;;:42;;6234:6;;6198:32;:42;;6234:6;;6198:42;:::i;:::-;;;;-1:-1:-1;;;;;;;6304:23:59;;;;;;:14;;;:23;;;;;;;;6299:75;;-1:-1:-1;;;;;6337:23:59;;;;;;:14;;;:23;;;;;:30;;-1:-1:-1;;6337:30:59;6363:4;6337:30;;;6299:75;5302:1076;;;5191:1187;;;;;:::o;20068:729::-;20484:14;;;;20462:84;;-1:-1:-1;;;20462:84:59;;;;;1009:25:150;;;20403:28:59;;;;20484:14;;;;-1:-1:-1;;;;;20484:14:59;;20462:66;;982:18:150;;20462:84:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20402:144;;;;20552:24;20580:7;:12;;20591:1;20580:12;20579:57;;20616:20;20579:57;;;20596:17;20579:57;20552:84;-1:-1:-1;20642:20:59;20695:5;20666:25;20552:84;20666:6;:25;:::i;:::-;20665:35;;;;:::i;:::-;20707:14;;;;20642:58;;-1:-1:-1;20707:14:59;;;-1:-1:-1;;;;;20707:14:59;:27;20735:10;20747:5;20642:58;20768:23;20642:58;20768:9;:23::i;:::-;20707:85;;-1:-1:-1;;;;;;20707:85:59;;;;;;;;;;11043:25:150;;;;-1:-1:-1;;;;;11104:32:150;;;11084:18;;;11077:60;11153:18;;;11146:34;11196:18;;;11189:34;11015:19;;20707:85:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20290:507;;;;20068:729;;;;;;:::o;20801:387::-;20979:20;;;;-1:-1:-1;;;;;20979:20:59;20967:56;;20801:387;;;:::o;20967:56::-;21028:20;;;;;;21111:23;;;21028:20;21111:11;;;:23;;;;;;;:40;;;;21028:155;;-1:-1:-1;;;21028:155:59;;-1:-1:-1;;;;;21028:20:59;;;;:42;;:155;;21078:10;;21096:7;;21111:40;;21028:20;:155;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20801:387;;;:::o;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;11513:870::-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;4390:2351:56:-;4457:30;4495:49;4547:44;:42;:44::i;:::-;4634:46;4683:23;;;:11;;;;:23;;;;;;;;4781:26;;;:38;;;;;;;4849:17;;;;4495:96;;-1:-1:-1;4683:23:56;;4781:38;;;;;-1:-1:-1;;;4849:17:56;;;;;-1:-1:-1;;;4896:17:56;;;;;4924:24;:83;;;;;;;;:::i;:::-;;4920:155;;-1:-1:-1;5024:44:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;4920:155::-;5113:51;5085:24;:79;;;;;;;;:::i;:::-;;5081:147;;-1:-1:-1;5181:40:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5081:147::-;5238:16;5234:83;;;-1:-1:-1;5271:39:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5234:83::-;5327:16;5323:83;;;-1:-1:-1;5360:39:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5323:83::-;5416:8;:25;;;5445:1;5416:30;5412:97;;5463:39;;-1:-1:-1;;;5463:39:56;;;;;1009:25:150;;;982:18;;5463:39:56;855:185:150;5412:97:56;5598:8;:25;;;5559:1;:19;;;;;;;;;;-1:-1:-1;;;;;5559:19:56;-1:-1:-1;;;;;5559:34:56;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;5555:130;;;-1:-1:-1;5640:38:56;;4390:2351;-1:-1:-1;;;;;;4390:2351:56:o;5555:130::-;5691:24;5718:21;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5691:56;;;;5753:16;5772:54;5815:10;5772:42;:54::i;:::-;5753:73;;5838:58;5885:10;5838:46;:58::i;:::-;5833:131;;-1:-1:-1;5913:44:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;5833:131::-;5986:16;5974:8;:28;5970:767;;-1:-1:-1;6019:37:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;5970:767::-;6081:48;6118:10;6081:36;:48::i;:::-;6080:49;:101;;;;6134:47;6170:10;6134:35;:47::i;:::-;6133:48;6080:101;6069:668;;;-1:-1:-1;6203:39:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;6069:668::-;6259:48;6296:10;6259:36;:48::i;:::-;6311:1;6259:53;6255:482;;-1:-1:-1;6329:40:56;;4390:2351;-1:-1:-1;;;;;;;;4390:2351:56:o;6255:482::-;6390:15;6408:25;;;:13;;;:25;;;;;;;;6445:10;;;;:38;;-1:-1:-1;;;6445:38:56;;;;;1009:25:150;;;6408::56;;-1:-1:-1;;;;;6445:10:56;;:29;;982:18:150;;6445:38:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6441:290;;;-1:-1:-1;6502:37:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;6441:290::-;6558:10;;;;:35;;-1:-1:-1;;;6558:35:56;;;;;1009:25:150;;;-1:-1:-1;;;;;6558:10:56;;;;:26;;982:18:150;;6558:35:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6554:177;;;-1:-1:-1;6612:39:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;6554:177::-;-1:-1:-1;6683:39:56;;4390:2351;-1:-1:-1;;;;;;;;;4390:2351:56:o;15523:390:50:-;15618:7;15633:49;15685:44;:42;:44::i;:::-;15633:96;;15743:58;15788:12;15743:44;:58::i;:::-;15735:117;;;;-1:-1:-1;;;15735:117:50;;12143:2:150;15735:117:50;;;12125:21:150;12182:2;12162:18;;;12155:30;12221:34;12201:18;;;12194:62;-1:-1:-1;;;12272:18:150;;;12265:44;12326:19;;15735:117:50;11941:410:150;15735:117:50;15865:1;:29;;:43;15895:12;15865:43;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;15858:50;;;15523:390;;;:::o;2774:153:36:-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;8403:338:51:-;8486:4;8498:49;8550:44;:42;:44::i;:::-;8600:46;8649:23;;;:11;;:23;;-1:-1:-1;;8649:23:51;;;8711:25;;;;8685:22;;;;;:51;;;8403:338::o;8601:423:55:-;8675:4;8687:49;8739:44;:42;:44::i;:::-;8789:42;8834:26;;;:14;;;:26;;;;;;;;;8987:20;;;:32;;;;;;;8687:96;;-1:-1:-1;8834:26:55;;;8880:97;8901:54;8849:10;8901:42;:54::i;:::-;8963:12;8957:19;;;;;;;;:::i;:::-;8880:20;:97::i;:::-;:139;;;8601:423;-1:-1:-1;;;;8601:423:55:o;6559:327:59:-;6625:4;6637:49;6689:44;:42;:44::i;:::-;6739:50;6792:27;;;:15;;:27;;-1:-1:-1;;6792:27:59;;;6856:25;;6832:21;;;;;:49;;6559:327::o;6759:235:54:-;6831:7;6846:49;6898:44;:42;:44::i;:::-;6955:23;;;;:11;;:23;;-1:-1:-1;;6955:23:54;;;:34;;;-1:-1:-1;;;6955:34:54;;;;;6759:235::o;39754:250::-;39855:4;;39880:17;:59;;;;;;;;:::i;:::-;;:119;;;-1:-1:-1;39964:35:54;39943:17;:56;;;;;;;;:::i;:::-;;39867:132;39754:250;-1:-1:-1;;39754:250:54:o;6688:370:55:-;6795:7;6810:49;6862:44;:42;:44::i;:::-;6810:96;-1:-1:-1;3199:3:55;6965:59;6995:9;7006:17;6965:29;:59::i;:::-;6926:6;;;;:36;;-1:-1:-1;;;6926:36:55;;;;;1009:25:150;;;-1:-1:-1;;;;;6926:6:55;;;;:25;;982:18:150;;6926:36:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6925:128;;;;:::i;4472:234::-;4588:7;4610:91;4641:9;4682:17;4652:48;;;;;;;;;;:::i;:::-;9518:7;9533:49;9585:44;:42;:44::i;:::-;9533:96;;9635:14;9652:1;:20;;:39;9673:17;9652:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9652:39:55;;;:59;;-1:-1:-1;9815:20:55;;;-1:-1:-1;9836:17:55;9815:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9815:39:55;9868:10;9877:1;9868:6;:10;:::i;:::-;9815:64;;;;;;;;:::i;:::-;;;;;;;;;;9904:11;;9815:64;;-1:-1:-1;9904:11:55;;;;-1:-1:-1;;;9943:13:55;;-1:-1:-1;;;;;9943:13:55;9966:22;;;9962:61;;-1:-1:-1;;;;;9998:18:55;;-1:-1:-1;9998:18:55;;-1:-1:-1;;;;9998:18:55;9962:61;10075:87;10133:28;10151:9;10133:17;:28::i;:::-;10075:1;:20;;:39;10096:17;10075:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:57;;:87;;;;:::i;:::-;-1:-1:-1;;;;;10068:94:55;;9375:792;-1:-1:-1;;;;;;;;9375:792:55:o;214:180:150:-;273:6;326:2;314:9;305:7;301:23;297:32;294:52;;;342:1;339;332:12;294:52;-1:-1:-1;365:23:150;;214:180;-1:-1:-1;214:180:150:o;399:131::-;-1:-1:-1;;;;;474:31:150;;464:42;;454:70;;520:1;517;510:12;454:70;399:131;:::o;535:315::-;603:6;611;664:2;652:9;643:7;639:23;635:32;632:52;;;680:1;677;670:12;632:52;719:9;706:23;738:31;763:5;738:31;:::i;:::-;788:5;840:2;825:18;;;;812:32;;-1:-1:-1;;;535:315:150:o;1045:::-;1113:6;1121;1174:2;1162:9;1153:7;1149:23;1145:32;1142:52;;;1190:1;1187;1180:12;1142:52;1226:9;1213:23;1203:33;;1286:2;1275:9;1271:18;1258:32;1299:31;1324:5;1299:31;:::i;:::-;1349:5;1339:15;;;1045:315;;;;;:::o;1365:114::-;1449:4;1442:5;1438:16;1431:5;1428:27;1418:55;;1469:1;1466;1459:12;1484:933;1580:6;1588;1596;1604;1612;1665:3;1653:9;1644:7;1640:23;1636:33;1633:53;;;1682:1;1679;1672:12;1633:53;1718:9;1705:23;1695:33;;1778:2;1767:9;1763:18;1750:32;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1898:2:150;1883:18;;1870:32;1911:31;1870:32;1911:31;:::i;:::-;1961:7;-1:-1:-1;2019:2:150;2004:18;;1991:32;-1:-1:-1;;;;;2072:14:150;;;2069:34;;;2099:1;2096;2089:12;2069:34;2137:6;2126:9;2122:22;2112:32;;2182:7;2175:4;2171:2;2167:13;2163:27;2153:55;;2204:1;2201;2194:12;2153:55;2244:2;2231:16;2270:2;2262:6;2259:14;2256:34;;;2286:1;2283;2276:12;2256:34;2331:7;2326:2;2317:6;2313:2;2309:15;2305:24;2302:37;2299:57;;;2352:1;2349;2342:12;2299:57;1484:933;;;;-1:-1:-1;1484:933:150;;-1:-1:-1;2383:2:150;2375:11;;2405:6;1484:933;-1:-1:-1;;;1484:933:150:o;2422:184::-;2492:6;2545:2;2533:9;2524:7;2520:23;2516:32;2513:52;;;2561:1;2558;2551:12;2513:52;-1:-1:-1;2584:16:150;;2422:184;-1:-1:-1;2422:184:150:o;2611:284::-;2680:6;2733:2;2721:9;2712:7;2708:23;2704:32;2701:52;;;2749:1;2746;2739:12;2701:52;2781:9;2775:16;2831:14;2824:5;2820:26;2813:5;2810:37;2800:65;;2861:1;2858;2851:12;3082:127;3143:10;3138:3;3134:20;3131:1;3124:31;3174:4;3171:1;3164:15;3198:4;3195:1;3188:15;3214:168;3287:9;;;3318;;3335:15;;;3329:22;;3315:37;3305:71;;3356:18;;:::i;3387:274::-;-1:-1:-1;;;;;3579:32:150;;;;3561:51;;3643:2;3628:18;;3621:34;3549:2;3534:18;;3387:274::o;3666:251::-;3736:6;3789:2;3777:9;3768:7;3764:23;3760:32;3757:52;;;3805:1;3802;3795:12;3757:52;3837:9;3831:16;3856:31;3881:5;3856:31;:::i;3922:203::-;-1:-1:-1;;;;;4086:32:150;;;;4068:51;;4056:2;4041:18;;3922:203::o;4130:164::-;4206:13;;4255;;4248:21;4238:32;;4228:60;;4284:1;4281;4274:12;4228:60;4130:164;;;:::o;4299:202::-;4366:6;4419:2;4407:9;4398:7;4394:23;4390:32;4387:52;;;4435:1;4432;4425:12;4387:52;4458:37;4485:9;4458:37;:::i;4506:345::-;4708:25;;;-1:-1:-1;;;;;4769:32:150;;;;4764:2;4749:18;;4742:60;4833:2;4818:18;;4811:34;4696:2;4681:18;;4506:345::o;4856:125::-;4921:9;;;4942:10;;;4939:36;;;4955:18;;:::i;4986:293::-;-1:-1:-1;;;;;5176:32:150;;;;5158:51;;5257:14;5245:27;5240:2;5225:18;;5218:55;5146:2;5131:18;;4986:293::o;5284:127::-;5345:10;5340:3;5336:20;5333:1;5326:31;5376:4;5373:1;5366:15;5400:4;5397:1;5390:15;5416:250;5501:1;5511:113;5525:6;5522:1;5519:13;5511:113;;;5601:11;;;5595:18;5582:11;;;5575:39;5547:2;5540:10;5511:113;;;-1:-1:-1;;5658:1:150;5640:16;;5633:27;5416:250::o;5671:976::-;5757:6;5765;5818:2;5806:9;5797:7;5793:23;5789:32;5786:52;;;5834:1;5831;5824:12;5786:52;5857:37;5884:9;5857:37;:::i;:::-;5938:2;5923:18;;5917:25;5847:47;;-1:-1:-1;;;;;;5991:14:150;;;5988:34;;;6018:1;6015;6008:12;5988:34;6056:6;6045:9;6041:22;6031:32;;6101:7;6094:4;6090:2;6086:13;6082:27;6072:55;;6123:1;6120;6113:12;6072:55;6152:2;6146:9;6174:2;6170;6167:10;6164:36;;;6180:18;;:::i;:::-;6255:2;6249:9;6223:2;6309:13;;-1:-1:-1;;6305:22:150;;;6329:2;6301:31;6297:40;6285:53;;;6353:18;;;6373:22;;;6350:46;6347:72;;;6399:18;;:::i;:::-;6439:10;6435:2;6428:22;6474:2;6466:6;6459:18;6514:7;6509:2;6504;6500;6496:11;6492:20;6489:33;6486:53;;;6535:1;6532;6525:12;6486:53;6548:68;6613:2;6608;6600:6;6596:15;6591:2;6587;6583:11;6548:68;:::i;:::-;6635:6;6625:16;;;;;;;5671:976;;;;;:::o;6652:247::-;6720:6;6773:2;6761:9;6752:7;6748:23;6744:32;6741:52;;;6789:1;6786;6779:12;6741:52;6821:9;6815:16;6840:29;6863:5;6840:29;:::i;6904:151::-;6994:4;6987:12;;;6973;;;6969:31;;7012:14;;7009:40;;;7029:18;;:::i;7060:127::-;7121:10;7116:3;7112:20;7109:1;7102:31;7152:4;7149:1;7142:15;7176:4;7173:1;7166:15;8035:493;8241:1;8237;8232:3;8228:11;8224:19;8216:6;8212:32;8201:9;8194:51;8281:2;8276;8265:9;8261:18;8254:30;8175:4;8313:6;8307:13;8356:6;8351:2;8340:9;8336:18;8329:34;8372:79;8444:6;8439:2;8428:9;8424:18;8419:2;8411:6;8407:15;8372:79;:::i;:::-;8512:2;8491:15;-1:-1:-1;;8487:29:150;8472:45;;;;8519:2;8468:54;;8035:493;-1:-1:-1;;;8035:493:150:o;8533:615::-;8784:4;8776:6;8772:17;8761:9;8754:36;8826:6;8821:2;8810:9;8806:18;8799:34;8869:6;8864:2;8853:9;8849:18;8842:34;8912:3;8907:2;8896:9;8892:18;8885:31;8953:6;8947:3;8936:9;8932:19;8925:35;9011:6;9003;8997:3;8986:9;8982:19;8969:49;9068:1;9038:22;;;9062:3;9034:32;;;9027:43;;;;9131:2;9110:15;;;-1:-1:-1;;9106:29:150;9091:45;9087:55;;8533:615;-1:-1:-1;;;;8533:615:150:o;9424:128::-;9491:9;;;9512:11;;;9509:37;;;9526:18;;:::i;9557:127::-;9618:10;9613:3;9609:20;9606:1;9599:31;9649:4;9646:1;9639:15;9673:4;9670:1;9663:15;9689:393;9908:25;;;9896:2;9881:18;;9963:2;9952:14;;9942:48;;9970:18;;:::i;:::-;10021:2;10006:18;;9999:34;;;;10064:2;10049:18;10042:34;9689:393;;-1:-1:-1;9689:393:150:o;10340:245::-;10419:6;10427;10480:2;10468:9;10459:7;10455:23;10451:32;10448:52;;;10496:1;10493;10486:12;10448:52;-1:-1:-1;;10519:16:150;;10575:2;10560:18;;;10554:25;10519:16;;10554:25;;-1:-1:-1;10340:245:150:o;10590:217::-;10630:1;10656;10646:132;;10700:10;10695:3;10691:20;10688:1;10681:31;10735:4;10732:1;10725:15;10763:4;10760:1;10753:15;10646:132;-1:-1:-1;10792:9:150;;10590:217::o;11234:520::-;-1:-1:-1;;;;;11538:15:150;;;11520:34;;11590:15;;11585:2;11570:18;;11563:43;11637:2;11622:18;;11615:34;;;11469:3;11454:19;;11679:1;11668:13;;11658:47;;11685:18;;:::i;:::-;11741:6;11736:2;11725:9;11721:18;11714:34;11234:520;;;;;;;:::o;12356:127::-;12417:10;12412:3;12408:20;12405:1;12398:31;12448:4;12445:1;12438:15;12472:4;12469:1;12462:15"},"methodIdentifiers":{"castNavigatorVote(uint256,address)":"b6e9eff4","castVote(uint256,address,uint8,string)":"dd063f90","getQuadraticVotingPower(address,uint256)":"b69d417b","isQuadraticVotingDisabledForCurrentRound()":"81c0d6df","isQuadraticVotingDisabledForRound(uint256)":"a45aa313","toggleQuadraticVoting()":"9c17e7b3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"DelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernanceSkipWindowNotReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidVoteType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"explanation\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorDecisionNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"name\":\"NavigatorGovernanceVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorGovernanceVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"name\":\"QuadraticVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getQuadraticVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isQuadraticVotingDisabledForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isQuadraticVotingDisabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Difference from V1: `proposalId` is passed as an argument to `registerVote` function instead of `proposalSnapshot`.\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"DelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is delegated to a navigator and cannot vote manually\"}],\"GovernanceSkipWindowNotReached(uint256)\":[{\"details\":\"The governance skip window has not been reached yet\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"Thrown when a vote has already been cast by the voter.\",\"params\":{\"voter\":\"The address of the voter who already cast a vote.\"}}],\"GovernorInvalidVoteType()\":[{\"details\":\"Thrown when an invalid vote type is used.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"Thrown when the `proposalId` does not exist.\",\"params\":{\"proposalId\":\"The ID of the proposal that does not exist.\"}}],\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"details\":\"Thrown when the personhood verification fails.\",\"params\":{\"explanation\":\"The reason for the failure.\",\"voter\":\"The address of the voter.\"}}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"Thrown when the current state of a proposal does not match the expected states.\",\"params\":{\"current\":\"The current state of the proposal.\",\"expectedStates\":\"The expected states of the proposal as a bitmap.\",\"proposalId\":\"The ID of the proposal.\"}}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"Thrown when the voting threshold is not met.\",\"params\":{\"threshold\":\"The required voting threshold.\",\"votes\":\"The actual votes received.\"}}],\"NavigatorDecisionNotSet(address,uint256)\":[{\"details\":\"Thrown when navigator has not set a decision for the proposal\"}],\"NotDelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is not delegated to any navigator\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"QuadraticVotingToggled(bool)\":{\"params\":{\"disabled\":\"- The flag to enable or disable quadratic voting.\"}},\"VoteCast(address,uint256,uint8,uint256,uint256,string)\":{\"params\":{\"power\":\"The voting power of the voter.\",\"proposalId\":\"The ID of the proposal being voted on.\",\"reason\":\"The reason for the vote.\",\"support\":\"The support value of the vote.\",\"voter\":\"The address of the voter.\",\"weight\":\"The weight of the vote.\"}}},\"kind\":\"dev\",\"methods\":{\"castVote(uint256,address,uint8,string)\":{\"params\":{\"proposalId\":\"The ID of the proposal.\",\"reason\":\"The reason for the vote.\",\"support\":\"The support value of the vote.\",\"voter\":\"The address of the voter.\"},\"returns\":{\"_0\":\"The weight of the vote.\"}},\"getQuadraticVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account.\",\"timepoint\":\"The specific timepoint.\"},\"returns\":{\"_0\":\"The quadratic voting power of the account.\"}},\"isQuadraticVotingDisabledForCurrentRound()\":{\"returns\":{\"_0\":\"true if quadratic voting is disabled, false otherwise.\"}},\"isQuadraticVotingDisabledForRound(uint256)\":{\"details\":\"To check if quadratic voting was disabled for a round, use the block number the round started.\",\"params\":{\"roundId\":\"- The round ID for which to check if quadratic voting is disabled.\"},\"returns\":{\"_0\":\"true if quadratic voting is disabled, false otherwise.\"}},\"toggleQuadraticVoting()\":{\"details\":\"This function toggles the state of quadratic voting for a specific cycle. The state will flip between enabled and disabled each time the function is called.\"}},\"title\":\"GovernorVotesLogicV10\",\"version\":1},\"userdoc\":{\"events\":{\"NavigatorGovernanceVoteCast(address,address,uint256,uint8,uint256,uint256)\":{\"notice\":\"Emitted when a navigator casts a vote on behalf of a delegated citizen\"},\"NavigatorGovernanceVoteSkipped(address,address,uint256)\":{\"notice\":\"Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\"},\"QuadraticVotingToggled(bool)\":{\"notice\":\"Emits true if quadratic voting is disabled, false otherwise.\"},\"VoteCast(address,uint256,uint8,uint256,uint256,string)\":{\"notice\":\"Emitted when a vote is cast without parameters.\"}},\"kind\":\"user\",\"methods\":{\"castNavigatorVote(uint256,address)\":{\"notice\":\"Cast a governance vote on behalf of a citizen delegated to a navigator,         or auto-skip if the navigator is dead / has not set a decision (after skip window). Decision flow:   1. Navigator dead at snapshot \\u2192 revert (citizen not delegated)   2. Navigator dead NOW \\u2192 skip immediately, reduce governance vote expectation   3. Navigator alive + no decision + skip window NOT reached \\u2192 revert (relayer retries later)   4. Navigator alive + no decision + skip window reached \\u2192 skip   5. Navigator alive + decision set + citizen not a person \\u2192 skip   6. Navigator alive + decision set + citizen is a person \\u2192 vote normally\"},\"castVote(uint256,address,uint8,string)\":{\"notice\":\"Casts a vote on a proposal.\"},\"getQuadraticVotingPower(address,uint256)\":{\"notice\":\"Retrieves the quadratic voting power of an account at a given timepoint.\"},\"isQuadraticVotingDisabledForCurrentRound()\":{\"notice\":\"Check if quadratic voting is disabled for the current round.\"},\"isQuadraticVotingDisabledForRound(uint256)\":{\"notice\":\"Check if quadratic voting is disabled at a specific round.\"},\"toggleQuadraticVoting()\":{\"notice\":\"Toggle quadratic voting for a specific cycle.\"}},\"notice\":\"Library for handling voting logic in the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol\":\"GovernorVotesLogicV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V10/governance/libraries/GovernorClockLogicV10.sol\":{\"keccak256\":\"0x6a7cc588ce08460da1388dab77c8778aa1a60065cd43ae2360c103e640dfc2a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://254fe95dec0ab5497b4bbefe29fb65dea5b0594c90982dbf3b66c2f6c1c39f29\",\"dweb:/ipfs/QmW3dbwg9H6GPrvaDeKLfRQBzz28BFwNVufkT7pe1hv6B7\"]},\"contracts/deprecated/V10/governance/libraries/GovernorConfiguratorV10.sol\":{\"keccak256\":\"0x3397264be328d66e78addf8da14626cedf3e822eda096dcc0b0d4c8f590cf164\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d8770a70795251944aea6b12221270a6e1df0a6cae7de3cfa985d9d85f5b44e\",\"dweb:/ipfs/QmPo2y4pt9xMkdoXjWRKvmVjN5ao2DaQpdpsEDLWoX6Tds\"]},\"contracts/deprecated/V10/governance/libraries/GovernorDepositLogicV10.sol\":{\"keccak256\":\"0x4b49b4820370e23b8a9cc8e4cfd7cc233078aa18b127e4f3bb71eef2037d56fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0d15ed7cf840190e4fe550d5beac54812fcf3c935415ac45f78d2da8edce094\",\"dweb:/ipfs/QmSakePtMJCjxqVyS5UhPi6jLwojUgdLK2mkjf4JkZuUNr\"]},\"contracts/deprecated/V10/governance/libraries/GovernorFunctionRestrictionsLogicV10.sol\":{\"keccak256\":\"0xdf23dd2f515e503dbbae2a4d4d4e9efcca22e357aacdb83e5abdc5854783cc22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b3c6779fcdf93f8f8afc3ddf7591fe983d47ad6ae8eaa29902603c701beaf86\",\"dweb:/ipfs/QmdigrheDca8jAb7cwgGj3r3f95DsjEDdqb5pT5gfiiULL\"]},\"contracts/deprecated/V10/governance/libraries/GovernorGovernanceLogicV10.sol\":{\"keccak256\":\"0x1b1ff6cdf118475d82421782ff9e8b83fe0056bdffea414bfb6be15ad6cdb73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9aacb4a80e7922069ec2ed464c17ad17b72b4a061dd4ed63e5449b8147407260\",\"dweb:/ipfs/QmR1cqBsHBJurr5DfpJ1daov1DnxS2Yz9atCggvV2if4V1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorProposalLogicV10.sol\":{\"keccak256\":\"0x88765be13ee3cc295e11e5b966a3c80f7fc976c1a10eac3fe096b7f1e26dd509\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://846d77bf1f45c0bc78fcaf8f51a45763a3c4879b33cc172ef12b736182804908\",\"dweb:/ipfs/QmWdh7woCYYsUXoW2RyoBrVWQvTtjwVqVAD9AT8wRnUoa3\"]},\"contracts/deprecated/V10/governance/libraries/GovernorQuorumLogicV10.sol\":{\"keccak256\":\"0xcddb1bc4f53ed3df2264eee5a6b0c8894d6a01d9673eff866b81691a56e557ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f21e5eec2c06dcb3bab8d7af5808adb47b8dfd99de7483d4d81e04effe10f05d\",\"dweb:/ipfs/QmPLUSt6CaCjS5tFqeVDeCnvfq8jG99KJhzs5GfaK2tjRh\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStateLogicV10.sol\":{\"keccak256\":\"0x50c28e3d5abc3914216c8871ec74f3cafac0ca598bf389d84af6bcc950d792a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45bb508ad0afe1da38784ee6b51b6c1cc4f4604e6c84052fc2917c1bb8436d18\",\"dweb:/ipfs/QmXhdxjhT4Hn3SiGm31hJbZDSYMYjqX9k72Zx6eanGZNHE\"]},\"contracts/deprecated/V10/governance/libraries/GovernorStorageTypesV10.sol\":{\"keccak256\":\"0xf79c4bc100e77a60fccbb4e057b09813458944c06bae6c93cc8a9c8aa900b473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f2460b150f477ce3b71efdc615cc7a08ddc58bafc39e703396780a1f051564\",\"dweb:/ipfs/QmeovKzFPNFXSxNVvfuttAyUBQgfD3n26cSZgzWYJ8FmUn\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/deprecated/V10/governance/libraries/GovernorVotesLogicV10.sol\":{\"keccak256\":\"0x944ea2027e155ed6020969da6d21c8c0f22b49e4b1792c3403b6ae75e52c5328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df4a784bb01c7df68a62c68d8c859a7fb73980d5d99ade94d2c2f62e11d68488\",\"dweb:/ipfs/QmawVpasYNft622Myguv2weKnmpA7z17o4dbCt7io9r9M9\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V10/interfaces/IB3TRGovernorV10.sol":{"IB3TRGovernorV10":{"abi":[{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"DelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"uint256","name":"gmLevel","type":"uint256"}],"name":"GMLevelAboveMaxLevel","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernanceSkipWindowNotReached","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorAlreadyQueuedProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"GovernorDepositThresholdNotInRange","type":"error"},{"inputs":[],"name":"GovernorDisabledDeposit","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"votes","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"GovernorInsufficientProposerVotes","type":"error"},{"inputs":[],"name":"GovernorInvalidDepositAmount","type":"error"},{"inputs":[{"internalType":"uint256","name":"targets","type":"uint256"},{"internalType":"uint256","name":"calldatas","type":"uint256"},{"internalType":"uint256","name":"values","type":"uint256"}],"name":"GovernorInvalidProposalLength","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"requiredWeight","type":"uint256"}],"name":"GovernorInvalidProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorInvalidStartRound","type":"error"},{"inputs":[],"name":"GovernorInvalidVoteType","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositer","type":"address"}],"name":"GovernorNoDepositToWithdraw","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNotQueuedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyProposer","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"string","name":"explanation","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[],"name":"GovernorQueueNotImplemented","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"GovernorRestrictedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"}],"name":"GovernorRestrictedProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypesV10.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GranteeCannotDepositOwnGrant","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorDecisionNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"UnauthorizedAccess","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThresholdCap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThresholdCap","type":"uint256"}],"name":"DepositThresholdCapSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThreshold","type":"uint256"}],"name":"DepositThresholdSetV2","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"bytes4","name":"functionSelector","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"FunctionWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorGovernanceVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"canceler","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"ProposalCanceledWithReason","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":true,"internalType":"uint256","name":"roundIdVoteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"ProposalCreatedWithType","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalDevelopmentStateReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalInDevelopment","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"etaSeconds","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"withdrawer","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"disabled","type":"bool"}],"name":"QuadraticVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"}],"name":"QuorumNumeratorUpdatedByType","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldTimelock","type":"address"},{"indexed":false,"internalType":"address","name":"newTimelock","type":"address"}],"name":"TimelockChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldVeBetterPassport","type":"address"},{"indexed":true,"internalType":"address","name":"newVeBetterPassport","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"power","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"walletAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"deposit","type":"uint256"}],"name":"VotingPowerSeeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSetV2","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canProposalStartInNextRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"cancel","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdCapByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdPercentageByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getActiveProposals","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGalaxyMemberContract","outputs":[{"internalType":"contract IGalaxyMember","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGrantsManagerContract","outputs":[{"internalType":"contract IGrantsManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getQuadraticVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"getRequiredGMLevelByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"getUserDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"minVotingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDepositReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalNeedsQueuing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalStartRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalType","outputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"startRoundId","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"}],"name":"propose","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"startRoundId","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"internalType":"string","name":"milestonesDetailsMetadataURI","type":"string"}],"name":"proposeGrant","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IGalaxyMember","name":"newGalaxyMember","type":"address"}],"name":"setGalaxyMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IGrantsManager","name":"newGrantsManager","type":"address"}],"name":"setGrantsManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRelayerRewardsPool","name":"newRelayerRewardsPool","type":"address"}],"name":"setRelayerRewardsPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"},{"internalType":"uint256","name":"newGMWeight","type":"uint256"}],"name":"setRequiredGMLevelByProposalType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVeBetterPassport","name":"newVeBetterPassport","type":"address"}],"name":"setVeBetterPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum GovernorTypesV10.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypesV10.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"votingThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositer","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"xAllocationVoting","outputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3tr()":"582a486a","canProposalStartInNextRound()":"81ab2353","cancel(address[],uint256[],bytes[],bytes32,string)":"de65f41a","castVote(uint256,uint8)":"56781388","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","clock()":"91ddadf4","deposit(uint256,uint256)":"e2bbb158","depositThresholdByProposalType(uint8)":"6b6a0704","depositThresholdCapByProposalType(uint8)":"e4ec85d4","depositThresholdPercentageByProposalType(uint8)":"542d6db5","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getActiveProposals()":"5584c4f9","getDepositVotingPower(address,uint256)":"a56b5765","getGalaxyMemberContract()":"f03a98d5","getGrantsManagerContract()":"cf09f8bf","getProposalDeposits(uint256)":"c220f2f5","getQuadraticVotingPower(address,uint256)":"b69d417b","getRequiredGMLevelByProposalType(uint8)":"6dd139be","getUserDeposit(uint256,address)":"4e055244","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","minVotingDelay()":"c40ffbf6","name()":"06fdde03","proposalDeadline(uint256)":"c01f9e37","proposalDepositReached(uint256)":"8d5a3f67","proposalEta(uint256)":"ab58fb8e","proposalNeedsQueuing(uint256)":"a9a95294","proposalProposer(uint256)":"143489d0","proposalSnapshot(uint256)":"2d63f693","proposalStartRound(uint256)":"8ced2a11","proposalType(uint256)":"2a09c772","propose(address[],uint256[],bytes[],string,uint256,uint256)":"58c839bc","proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)":"013b1088","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","quorum(uint256)":"f8ce560a","relayerRewardsPool()":"6e8a1823","setGalaxyMember(address)":"ae0b8da8","setGrantsManager(address)":"d53c74c1","setRelayerRewardsPool(address)":"0dd8614c","setRequiredGMLevelByProposalType(uint8,uint256)":"406ced84","setVeBetterPassport(address)":"b3c93dab","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","votingThresholdByProposalType(uint8)":"1caf3474","withdraw(uint256,address)":"00f714ce","xAllocationVoting()":"e205aeb0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"DelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gmLevel\",\"type\":\"uint256\"}],\"name\":\"GMLevelAboveMaxLevel\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernanceSkipWindowNotReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorAlreadyQueuedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"GovernorDepositThresholdNotInRange\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorDisabledDeposit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"GovernorInsufficientProposerVotes\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidDepositAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldatas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"values\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposalLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredWeight\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidStartRound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidVoteType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"}],\"name\":\"GovernorNoDepositToWithdraw\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNotQueuedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"explanation\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorQueueNotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"GovernorRestrictedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"GovernorRestrictedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypesV10.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GranteeCannotDepositOwnGrant\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorDecisionNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UnauthorizedAccess\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThresholdCap\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThresholdCap\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdCapSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdSetV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"FunctionWhitelisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorGovernanceVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"canceler\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"ProposalCanceledWithReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundIdVoteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"ProposalCreatedWithType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalDevelopmentStateReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalInDevelopment\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"etaSeconds\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalWithdraw\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"name\":\"QuadraticVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"QuorumNumeratorUpdatedByType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldTimelock\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"TimelockChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldVeBetterPassport\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"walletAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"VotingPowerSeeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSetV2\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canProposalStartInNextRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"cancel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdCapByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdPercentageByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveProposals\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGalaxyMemberContract\",\"outputs\":[{\"internalType\":\"contract IGalaxyMember\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGrantsManagerContract\",\"outputs\":[{\"internalType\":\"contract IGrantsManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalDeposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getQuadraticVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"getRequiredGMLevelByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minVotingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDepositReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalNeedsQueuing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalStartRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"startRoundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"depositAmount\",\"type\":\"uint256\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"startRoundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"depositAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"milestonesDetailsMetadataURI\",\"type\":\"string\"}],\"name\":\"proposeGrant\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IGalaxyMember\",\"name\":\"newGalaxyMember\",\"type\":\"address\"}],\"name\":\"setGalaxyMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IGrantsManager\",\"name\":\"newGrantsManager\",\"type\":\"address\"}],\"name\":\"setGrantsManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"newRelayerRewardsPool\",\"type\":\"address\"}],\"name\":\"setRelayerRewardsPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"newGMWeight\",\"type\":\"uint256\"}],\"name\":\"setRequiredGMLevelByProposalType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"setVeBetterPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypesV10.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"votingThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationVoting\",\"outputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the {B3TRGovernorV10} core. Modifications to original forked contract from OZ: - Removed votingDelay() - Removed the possibility to cast vote with params and with signature - Updated propose() and ProposalCreated event to accept the x allocation round id as param when proposal should become active - Added proposalStartRound() to get the round when the proposal should become active - Added canProposalStartInNextRound() to check if the proposal can start in the next allocation round - Added new state `DepositNotMet` to ProposalState enum - Added depositThreshold() to get the minimum required deposit for a proposal and removed proposalThreshold\",\"errors\":{\"DelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is delegated to a navigator and cannot vote manually\"}],\"GMLevelAboveMaxLevel(uint256)\":[{\"details\":\"Thrown when the proposer does not fit the requirement (GM weight ATM)\"}],\"GovernanceSkipWindowNotReached(uint256)\":[{\"details\":\"The governance skip window has not been reached yet\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAlreadyQueuedProposal(uint256)\":[{\"details\":\"The proposal has already been queued.\"}],\"GovernorDepositThresholdNotInRange(uint256)\":[{\"details\":\"The deposit threshold is not in the valid range for a percentage - 0 to 100.\"}],\"GovernorDisabledDeposit()\":[{\"details\":\"Token deposits are disabled in this contract.\"}],\"GovernorInsufficientProposerVotes(address,uint256,uint256)\":[{\"details\":\"The `proposer` does not have the required votes to create a proposal.\"}],\"GovernorInvalidDepositAmount()\":[{\"details\":\"The deposit amount must be greater than 0.\"}],\"GovernorInvalidProposalLength(uint256,uint256,uint256)\":[{\"details\":\"Empty proposal or a mismatch between the parameters length for a proposal call.\"}],\"GovernorInvalidProposer(address,uint256)\":[{\"details\":\"The GM level is not in the valid range - 0 to max level.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum numerator is greater than the quorum denominator.\"}],\"GovernorInvalidStartRound(uint256)\":[{\"details\":\"The round when proposal should start is not valid.\"}],\"GovernorInvalidVoteType()\":[{\"details\":\"The vote type used is not valid for the corresponding counting module.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNoDepositToWithdraw(uint256,address)\":[{\"details\":\"There is no deposit to withdraw.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"The `proposalId` doesn't exist.\"}],\"GovernorNotQueuedProposal(uint256)\":[{\"details\":\"The proposal hasn't been queued yet.\"}],\"GovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorOnlyProposer(address)\":[{\"details\":\"The `account` is not a proposer.\"}],\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"details\":\"Thrown when the personhood verification fails.\",\"params\":{\"explanation\":\"The reason for the failure.\",\"voter\":\"The address of the voter.\"}}],\"GovernorQueueNotImplemented()\":[{\"details\":\"Queue operation is not implemented for this governor. Execute should be called directly.\"}],\"GovernorRestrictedProposal(uint256,uint8)\":[{\"details\":\"Thrown when a proposal is not allowed to perform a specific action. Some actions are restricted to Standard proposals only, others to Grant proposals only. eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\"}],\"GovernorRestrictedProposer(address)\":[{\"details\":\"The `proposer` is not allowed to create a proposal.\"}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a proposal is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each ProposalState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the proposal is expected to not be in any state (i.e. not exist). This is the case when a proposal that is expected to be unset is already initiated (the proposal is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"GranteeCannotDepositOwnGrant(uint256)\":[{\"details\":\"The grantee cannot deposit for their own grant.\"}],\"NavigatorDecisionNotSet(address,uint256)\":[{\"details\":\"Thrown when navigator has not set a decision for the proposal\"}],\"NotDelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is not delegated to any navigator\"}],\"UnauthorizedAccess(address)\":[{\"details\":\"User is not authorized to perform the action.\"}]},\"events\":{\"DepositThresholdCapSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold cap for a proposal type is set.\"},\"DepositThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold percentage for a proposal type is set.\"},\"FunctionWhitelisted(address,bytes4,bool)\":{\"details\":\"Emitted when a function is whitelisted or restricted by the governor.\"},\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCanceledWithReason(uint256,address,string)\":{\"details\":\"Emitted when a proposal is canceled with a reason.\"},\"ProposalCompleted(uint256)\":{\"details\":\"Emitted when a proposal is marked as completed.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],string,uint256,uint256)\":{\"details\":\"Emitted when a proposal is created\"},\"ProposalCreatedWithType(uint256,uint8)\":{\"details\":\"Emitted when a proposal is created with type information.\"},\"ProposalDeposit(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is made to a proposal.\"},\"ProposalDevelopmentStateReset(uint256)\":{\"details\":\"Emitted when the development state of a proposal is reset back to pending development.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"ProposalInDevelopment(uint256)\":{\"details\":\"Emitted when a proposal is marked as in development.\"},\"ProposalQueued(uint256,uint256)\":{\"details\":\"Emitted when a proposal is queued.\"},\"ProposalWithdraw(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is withdrawn from a proposal.\"},\"QuadraticVotingToggled(bool)\":{\"params\":{\"disabled\":\"- The flag to enable or disable quadratic voting.\"}},\"QuorumNumeratorUpdated(uint256,uint256)\":{\"details\":\"Emitted when the quorum numerator is updated.\"},\"QuorumNumeratorUpdatedByType(uint256,uint256,uint8)\":{\"details\":\"Emitted when the quorum numerator for a specific proposal type is updated.\"},\"TimelockChange(address,address)\":{\"details\":\"Emitted when the timelock controller used for proposal execution is modified.\"},\"VeBetterPassportSet(address,address)\":{\"details\":\"Emitted when the VeBetterPassport contract is set.\"},\"VoteCast(address,uint256,uint8,uint256,uint256,string)\":{\"details\":\"Emitted when a vote is cast without params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\"},\"VotingPowerSeeded(address,uint256)\":{\"details\":\"Emitted when the voting power is seeded.\"},\"VotingThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the `votingThreshold` for a proposal type is set.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3tr()\":{\"details\":\"The B3TR contract address\"},\"canProposalStartInNextRound()\":{\"details\":\"Check if proposal can start in the next allocation round.\"},\"cancel(address[],uint256[],bytes[],bytes32,string)\":{\"details\":\"Cancel a proposal. A proposal is cancellable by the proposer, but only while it is Pending state, i.e. before the vote starts. Emits a {ProposalCanceled} and {ProposalCanceledWithReason} event.\"},\"castVote(uint256,uint8)\":{\"details\":\"Cast a vote Emits a {VoteCast} event.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"Cast a vote with a reason Emits a {VoteCast} event.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"deposit(uint256,uint256)\":{\"details\":\"Function to deposit tokens to a proposal\"},\"depositThresholdByProposalType(uint8)\":{\"details\":\"The number of votes in support of a proposal required in order for a proposal to become active.\"},\"depositThresholdCapByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold cap for the proposal type.\"}},\"depositThresholdPercentageByProposalType(uint8)\":{\"details\":\"The proposal Threshold Percentage for all type of proposal\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the deadline to be reached. Depending on the governor it might also be required that the proposal was queued and that some delay passed. Emits a {ProposalExecuted} event. NOTE: Some modules can modify the requirements for execution, for example by adding an additional timelock.\"},\"getDepositVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account\",\"timepoint\":\"The timepoint\"},\"returns\":{\"_0\":\"The deposit voting power\"}},\"getGalaxyMemberContract()\":{\"returns\":{\"_0\":\"The current GalaxyMember contract\"}},\"getGrantsManagerContract()\":{\"returns\":{\"_0\":\"The current GrantsManager contract\"}},\"getProposalDeposits(uint256)\":{\"details\":\"Getter to retrieve the total amount of tokens deposited to a proposal\"},\"getQuadraticVotingPower(address,uint256)\":{\"details\":\"Voting power using quadratic voting of an `account` at a specific `timepoint`.\"},\"getRequiredGMLevelByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of the proposal\"},\"returns\":{\"_0\":\"The GM weight for the proposal type\"}},\"getUserDeposit(uint256,address)\":{\"details\":\"Getter to retrieve the amount of tokens a specific user has deposited to a proposal\"},\"getVotes(address,uint256)\":{\"details\":\"Voting power of an `account` at a specific `timepoint`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Check if user has cast vote at least in one proposal.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Hashing function used to (re)build the proposal id from the proposal details..\"},\"minVotingDelay()\":{\"details\":\"Get the minimum required delay between proposal cretion and start when creating a proposal.\"},\"name()\":{\"details\":\"Name of the governor instance (used in building the ERC712 domain separator).\"},\"proposalDeadline(uint256)\":{\"details\":\"Timepoint at which votes close. If using block number, votes close at the end of this block, so it is possible to cast a vote during this block.\"},\"proposalDepositReached(uint256)\":{\"details\":\"Function to check if the deposit threshold for a proposal has been reached\"},\"proposalEta(uint256)\":{\"details\":\"The time when a queued proposal becomes executable (\\\"ETA\\\"). Unlike {proposalSnapshot} and {proposalDeadline}, this doesn't use the governor clock, and instead relies on the executor's clock which may be different. In most cases this will be a timestamp.\"},\"proposalNeedsQueuing(uint256)\":{\"details\":\"Whether a proposal needs to be queued before execution.\"},\"proposalProposer(uint256)\":{\"details\":\"The account that created a proposal.\"},\"proposalSnapshot(uint256)\":{\"details\":\"Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the following block.\"},\"proposalStartRound(uint256)\":{\"details\":\"Round when the proposal should become active.\"},\"proposalType(uint256)\":{\"details\":\"The type of a proposal.\"},\"propose(address[],uint256[],bytes[],string,uint256,uint256)\":{\"details\":\"Create a new proposal. Specify the allocation round when vote should become active. The duration is specified by {IGovernor-votingPeriod}. Emits a {ProposalCreated} and {ProposalCreatedWithType} event.\"},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"details\":\"Create a grant proposal. Grantee cannot deposit for it's own grant.\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Queue a proposal. Some governors require this step to be performed before execution can happen. If queuing is not necessary, this function may revert. Queuing a proposal requires the quorum to be reached, the vote to be successful, and the deadline to be reached. Emits a {ProposalQueued} event.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\"},\"relayerRewardsPool()\":{\"details\":\"Getter for the RelayerRewardsPool contract\"},\"setGalaxyMember(address)\":{\"params\":{\"newGalaxyMember\":\"The new GalaxyMember contract\"}},\"setGrantsManager(address)\":{\"params\":{\"newGrantsManager\":\"The new GrantsManager contract\"}},\"setRelayerRewardsPool(address)\":{\"params\":{\"newRelayerRewardsPool\":\"The new RelayerRewardsPool contract\"}},\"setRequiredGMLevelByProposalType(uint8,uint256)\":{\"params\":{\"newGMWeight\":\"The new GM weight for the proposal type\",\"proposalTypeValue\":\"The type of the proposal\"}},\"setVeBetterPassport(address)\":{\"params\":{\"newVeBetterPassport\":\"The new VeBetterPassport contract\"}},\"state(uint256)\":{\"details\":\"Current state of a proposal, following Compound's convention\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"veBetterPassport()\":{\"returns\":{\"_0\":\"The current VeBetterPassport contract.\"}},\"version()\":{\"details\":\"Version of the governor instance (used in building the ERC712 domain separator). Default: \\\"1\\\"\"},\"voterRewards()\":{\"details\":\"Getter for the VoterRewards contract\"},\"votingPeriod()\":{\"details\":\"Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay. NOTE: This value is stored when the proposal is submitted so that possible changes to the value do not affect proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this interface returns a uint256, the value it returns should fit in a uint32.\"},\"votingThresholdByProposalType(uint8)\":{\"details\":\"The voting threshold for a proposal type\"},\"withdraw(uint256,address)\":{\"details\":\"Function to withdraw tokens from a proposal\"},\"xAllocationVoting()\":{\"details\":\"Getter for the XAllocationVoting contract\"}},\"version\":1},\"userdoc\":{\"events\":{\"NavigatorGovernanceVoteSkipped(address,address,uint256)\":{\"notice\":\"Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\"},\"QuadraticVotingToggled(bool)\":{\"notice\":\"Emits true if quadratic voting is disabled, false otherwise.\"}},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"b3tr()\":{\"notice\":\"module:core\"},\"depositThresholdByProposalType(uint8)\":{\"notice\":\"module:core\"},\"depositThresholdCapByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold cap for a proposal type.\"},\"depositThresholdPercentageByProposalType(uint8)\":{\"notice\":\"module:core\"},\"getActiveProposals()\":{\"notice\":\"Returns currently active proposal IDs.\"},\"getDepositVotingPower(address,uint256)\":{\"notice\":\"Get the deposit voting power for a given account at a given timepoint\"},\"getGalaxyMemberContract()\":{\"notice\":\"Get the GalaxyMember contract\"},\"getGrantsManagerContract()\":{\"notice\":\"Get the GrantsManager contract\"},\"getQuadraticVotingPower(address,uint256)\":{\"notice\":\"module:reputation\"},\"getRequiredGMLevelByProposalType(uint8)\":{\"notice\":\"Get the GM weight for a proposal type\"},\"getVotes(address,uint256)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"module:core\"},\"minVotingDelay()\":{\"notice\":\"module:core\"},\"name()\":{\"notice\":\"module:core\"},\"proposalDeadline(uint256)\":{\"notice\":\"module:core\"},\"proposalEta(uint256)\":{\"notice\":\"module:core\"},\"proposalNeedsQueuing(uint256)\":{\"notice\":\"module:core\"},\"proposalProposer(uint256)\":{\"notice\":\"module:core\"},\"proposalSnapshot(uint256)\":{\"notice\":\"module:core\"},\"proposalType(uint256)\":{\"notice\":\"module:core\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"relayerRewardsPool()\":{\"notice\":\"module:core\"},\"setGalaxyMember(address)\":{\"notice\":\"Set the GalaxyMember contract\"},\"setGrantsManager(address)\":{\"notice\":\"Set the GrantsManager contract\"},\"setRelayerRewardsPool(address)\":{\"notice\":\"Set the RelayerRewardsPool contract\"},\"setRequiredGMLevelByProposalType(uint8,uint256)\":{\"notice\":\"Set the GM weight for a proposal typee.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal\"},\"setVeBetterPassport(address)\":{\"notice\":\"Set the VeBetterPassport contract\"},\"state(uint256)\":{\"notice\":\"module:core\"},\"veBetterPassport()\":{\"notice\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"notice\":\"module:core\"},\"voterRewards()\":{\"notice\":\"module:core\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"},\"votingThresholdByProposalType(uint8)\":{\"notice\":\"module:core\"},\"xAllocationVoting()\":{\"notice\":\"module:core\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V10/interfaces/IB3TRGovernorV10.sol\":\"IB3TRGovernorV10\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V10/governance/libraries/GovernorTypesV10.sol\":{\"keccak256\":\"0x14e6c902afb32c4c21d40b989aa6091d7a6b50a7423452ac8ddb777c38998db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa13938ca83450b560ec3a1c0fdbb61659255ac2a8b46e7f980e710e523637f\",\"dweb:/ipfs/QmdPEEubZCHeypiy2Lsv2V1y7HG9zKrpcN1SDB7CcgtcD1\"]},\"contracts/deprecated/V10/interfaces/IB3TRGovernorV10.sol\":{\"keccak256\":\"0x49cf16082e775e22bbb62d15e0ddc4b4cc77a3b9d0599108c8ec6c59e4469124\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ea870ffbbc2c44a1876eee3016708bca94ab6afa9d130aeafaddb332e2e59ed\",\"dweb:/ipfs/QmdPjVXZ75r5HDCGNiqz8uG4J1y5RBbivkxaR2nGHBKWyx\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V2/GalaxyMemberV2.sol":{"GalaxyMemberV2":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"ERC721EnumerableForbiddenBatchMint","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"ERC721OutOfBoundsIndex","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"B3TRtoUpgradeToLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"B3trGovernorAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newBaseURI","type":"string"},{"indexed":true,"internalType":"string","name":"oldBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"MaxLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PublicMintingPaused","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":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Selected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsGovernorAddressUpdated","type":"event"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NODES_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"attachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"detachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRdonated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRtoUpgrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getB3TRtoUpgradeToLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getIdAttachedToNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"nodeTokenId","type":"uint256"}],"name":"getLevelAfterAttachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getLevelAfterDetachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getNodeIdAttached","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevelOf","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"}],"name":"getNodeToFreeLevel","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":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV2.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getTokenInfoByTokenId","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV2.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"name":"getTokensInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV2.TokenInfo[]","name":"","type":"tuple[]"}],"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":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"pauser","type":"address"},{"internalType":"address","name":"minter","type":"address"},{"internalType":"address","name":"contractsAddressManager","type":"address"},{"internalType":"uint256","name":"maxLevel","type":"uint256"},{"internalType":"string","name":"baseTokenURI","type":"string"},{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"},{"internalType":"address","name":"b3tr","type":"address"},{"internalType":"address","name":"treasury","type":"address"}],"internalType":"struct GalaxyMemberV2.InitializationData","name":"data","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vechainNodes","type":"address"},{"internalType":"address","name":"_nodesMangaement","type":"address"},{"internalType":"address","name":"_nodesAdmin","type":"address"},{"internalType":"uint256[]","name":"_nodeFreeLevels","type":"uint256[]"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"levelOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"participatedInGovernance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"select","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"setB3TRtoUpgradeToLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3trGovernor","type":"address"}],"name":"setB3trGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setIsPublicMintingPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setMaxLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setNodeToFreeUpgradeLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vechainNodes","type":"address"}],"name":"setVechainNodes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xAllocationsGovernor","type":"address"}],"name":"setXAllocationsGovernorAddress","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"upgrade","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":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"xAllocationsGovernor","outputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_27319":{"entryPoint":null,"id":27319,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516157b862000104600039600081816136be015281816136e7015261382f01526157b86000f3fe60806040526004361061031f5760003560e01c80621db0dd1461032457806301ffc9a71461034657806306fdde031461037b578063081812fc1461039d578063095ea7b3146103ca57806318160ddd146103ea57806323b872dd1461040d578063248a9ca31461042d5780632b42df381461044d5780632f2ff15d1461046d5780632f745c591461048d578063344f1ba5146104ad57806336568abe146104cd5780633af03ea8146104ed5780633d6dbee81461050d5780633f4ba83a1461052f5780633ff453af1461054457806342842e0e1461057657806342966c681461059657806345977d03146105b65780634a6565e1146105d65780634f1ef286146105f65780634f6ccce71461060957806351c438d11461062957806352d1902d1461064957806354fd4d501461065e57806355f804b314610688578063582a486a146106a85780635b5da514146106bd5780635b70ea9f146106dd5780635c975abb146106f25780635ecf68e9146107075780635f4e42ca1461071c5780635ffaa59a1461073c57806361d027b31461075c5780636352211e14610771578063643ce418146107915780636c0360eb146107be5780636d5e3032146107d357806370a08231146107f35780637893d73614610813578063839a19d9146108285780638456cb5914610848578063851f738e1461085d578063865c380b1461088a57806388371110146108aa5780638c5b76fb146108ca57806391d14854146108ea578063952f21331461090a578063958fc97d1461092c57806395d89b411461094c578063a1843bd014610961578063a217fddf14610981578063a22cb46514610996578063a49062d4146109b6578063a51d2e0b146109cb578063ad3cb1cc146109eb578063b1ccbd2c14610a1c578063b88d4fde14610a3c578063c190eb3a14610a5c578063c87b56dd14610a7c578063cc421d0714610a9c578063d206885d14610abc578063d539139314610adc578063d547741f14610afe578063ddd8634d14610b1e578063de4983a214610b3e578063e617e49f14610b5e578063e63ab1e914610b7e578063e985e9c514610ba0578063f72c0d8b14610bc0575b600080fd5b34801561033057600080fd5b5061034461033f366004614855565b610be2565b005b34801561035257600080fd5b50610366610361366004614897565b610d41565b60405190151581526020015b60405180910390f35b34801561038757600080fd5b50610390610d52565b6040516103729190614904565b3480156103a957600080fd5b506103bd6103b8366004614917565b610df3565b6040516103729190614930565b3480156103d657600080fd5b506103446103e5366004614969565b610e08565b3480156103f657600080fd5b506103ff610e17565b604051908152602001610372565b34801561041957600080fd5b50610344610428366004614987565b610e2c565b34801561043957600080fd5b506103ff610448366004614917565b610eb7565b34801561045957600080fd5b506103ff610468366004614917565b610ed7565b34801561047957600080fd5b506103446104883660046149c8565b610ef7565b34801561049957600080fd5b506103ff6104a8366004614969565b610f13565b3480156104b957600080fd5b506103446104c8366004614917565b610f75565b3480156104d957600080fd5b506103446104e83660046149c8565b6110e1565b3480156104f957600080fd5b506103446105083660046149f8565b611119565b34801561051957600080fd5b506103ff60008051602061574383398151915281565b34801561053b57600080fd5b50610344611217565b34801561055057600080fd5b5061056461055f366004614917565b61123a565b60405160ff9091168152602001610372565b34801561058257600080fd5b50610344610591366004614987565b6112cd565b3480156105a257600080fd5b506103446105b1366004614917565b6112e8565b3480156105c257600080fd5b506103446105d1366004614917565b611321565b3480156105e257600080fd5b506103446105f1366004614a15565b611737565b610344610604366004614b15565b611a0f565b34801561061557600080fd5b506103ff610624366004614917565b611a2a565b34801561063557600080fd5b506103ff610644366004614917565b611a8b565b34801561065557600080fd5b506103ff611aa9565b34801561066a57600080fd5b506040805180820190915260018152601960f91b6020820152610390565b34801561069457600080fd5b506103446106a3366004614b64565b611ac6565b3480156106b457600080fd5b506103bd611b63565b3480156106c957600080fd5b506103446106d8366004614ba6565b611b81565b3480156106e957600080fd5b50610344611be9565b3480156106fe57600080fd5b50610366611cd8565b34801561071357600080fd5b506103bd611ced565b34801561072857600080fd5b50610344610737366004614c42565b611d08565b34801561074857600080fd5b506103446107573660046149f8565b612237565b34801561076857600080fd5b506103bd6122ab565b34801561077d57600080fd5b506103bd61078c366004614917565b6122c9565b34801561079d57600080fd5b506107b16107ac366004614917565b6122d4565b6040516103729190614de7565b3480156107ca57600080fd5b50610390612384565b3480156107df57600080fd5b506103ff6107ee366004614917565b612393565b3480156107ff57600080fd5b506103ff61080e3660046149f8565b6123b6565b34801561081f57600080fd5b506103bd61240e565b34801561083457600080fd5b50610344610843366004614917565b61242c565b34801561085457600080fd5b50610344612436565b34801561086957600080fd5b5061087d610878366004614dfa565b612456565b6040516103729190614e2f565b34801561089657600080fd5b506103ff6108a5366004614917565b61263c565b3480156108b657600080fd5b506103446108c5366004614a15565b61265a565b3480156108d657600080fd5b506103666108e53660046149f8565b6128e1565b3480156108f657600080fd5b506103666109053660046149c8565b612ac5565b34801561091657600080fd5b506103ff60008051602061572383398151915281565b34801561093857600080fd5b506103ff610947366004614917565b612afb565b34801561095857600080fd5b50610390612b19565b34801561096d57600080fd5b506103ff61097c366004614a15565b612b36565b34801561098d57600080fd5b506103ff600081565b3480156109a257600080fd5b506103446109b1366004614e91565b612b43565b3480156109c257600080fd5b506103ff612b4e565b3480156109d757600080fd5b506103ff6109e6366004614917565b612b63565b3480156109f757600080fd5b50610390604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610a2857600080fd5b50610344610a37366004614ebf565b612bde565b348015610a4857600080fd5b50610344610a57366004614ef3565b612cce565b348015610a6857600080fd5b50610344610a77366004614f5e565b612ce5565b348015610a8857600080fd5b50610390610a97366004614917565b612fc4565b348015610aa857600080fd5b506103ff610ab7366004614917565b613055565b348015610ac857600080fd5b506103ff610ad73660046149f8565b61306b565b348015610ae857600080fd5b506103ff60008051602061570383398151915281565b348015610b0a57600080fd5b50610344610b193660046149c8565b613098565b348015610b2a57600080fd5b50610344610b393660046149f8565b6130b4565b348015610b4a57600080fd5b506107b1610b593660046149f8565b6131b2565b348015610b6a57600080fd5b506103ff610b79366004614fc6565b6131d0565b348015610b8a57600080fd5b506103ff6000805160206156e383398151915281565b348015610bac57600080fd5b50610366610bbb366004614fe3565b6131f6565b348015610bcc57600080fd5b506103ff60008051602061568383398151915281565b600080516020615743833981519152610bfa81613235565b6001821015610c4e5760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610ca25760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610c45565b6000610cac61323f565b90508060060154831115610d265760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610c45565b60ff9093166000908152600f90930160205250604090912055565b6000610d4c82613263565b92915050565b60606000610d5e613288565b9050806000018054610d6f90615011565b80601f0160208091040260200160405190810160405280929190818152602001828054610d9b90615011565b8015610de85780601f10610dbd57610100808354040283529160200191610de8565b820191906000526020600020905b815481529060010190602001808311610dcb57829003601f168201915b505050505091505090565b6000610dfe826132ac565b50610d4c826132e4565b610e1382823361330d565b5050565b600080610e2261331a565b6002015492915050565b6001600160a01b038216610e56576000604051633250574960e11b8152600401610c459190614930565b6000610e6383833361333e565b9050836001600160a01b0316816001600160a01b031614610eb1576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610c45565b50505050565b600080610ec26134a4565b60009384526020525050604090206001015490565b600080610ee261323f565b60009384526008016020525050604090205490565b610f0082610eb7565b610f0981613235565b610eb183836134c8565b600080610f1e61331a565b9050610f29846123b6565b8310610f4c57838360405163295f44f760e21b8152600401610c4592919061504b565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b6000610f8081613235565b6000610f8a61323f565b905080600601548311610fff5760405162461bcd60e51b8152602060048201526043602482015260008051602061562383398151915260448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610c45565b60025b8381116110975760008181526008830160205260409020546110855760405162461bcd60e51b8152602060048201526042602482015260008051602061564383398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610c45565b8061108f8161507a565b915050611002565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b038116331461110a5760405163334bd91960e11b815260040160405180910390fd5b6111148282613569565b505050565b60008051602061572383398151915261113181613235565b6001600160a01b0382166111ad5760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610c45565b60006111b761323f565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b6000805160206156e383398151915261122f81613235565b6112376135e1565b50565b60008061124561323f565b600b81015460405163295d33a960e21b8152600481018690529192506000916101009091046001600160a01b03169063a574cea49060240160e060405180830381865afa15801561129a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112be91906150aa565b50939998505050505050505050565b61111483838360405180602001604052806000815250612cce565b336112f2826122c9565b6001600160a01b0316146113185760405162461bcd60e51b8152600401610c459061513b565b61123781613638565b611329613644565b61133161367a565b3361133b826122c9565b6001600160a01b0316146113ad5760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610c45565b60006113b761323f565b905060006113c483612393565b90506113ce612b4e565b81106114315760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610c45565b600061143c84612b63565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a0823190611473903390600401614930565b602060405180830381865afa158015611490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b4919061518e565b10156115195760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610c45565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015611569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158d919061518e565b10156115f45760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610c45565b6000848152601084016020526040812080548392906116149084906151a7565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af1158015611678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169c91906151ba565b6116e85760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610c45565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec4288548361171487612393565b6040805192835260208301919091520160405180910390a25050506112376136a2565b61173f61367a565b600061174961323f565b905033611755836122c9565b6001600160a01b031614806117df5750600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa1580156117b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d491906151d7565b6001600160a01b0316145b806118645750600b81015460405163bfc206ed60e01b815260048101859052339161010090046001600160a01b03169063bfc206ed90602401602060405180830381865afa158015611835573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185991906151d7565b6001600160a01b0316145b6118e35760405162461bcd60e51b8152602060048201526056602482015260008051602061576383398151915260448201527f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b60648201527532b7103737ba1037bbb732b210313c9031b0b63632b960511b608482015260a401610c45565b816118ed84611a8b565b1461194f5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610c45565b8261195983612afb565b146119bb5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610c45565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a3505050565b611a176136b3565b611a2082613758565b610e138282613770565b600080611a3561331a565b9050611a3f610e17565b8310611a635760008360405163295f44f760e21b8152600401610c4592919061504b565b806002018381548110611a7857611a786151f4565b9060005260206000200154915050919050565b6000611a9561323f565b6000928352600d0160205250604090205490565b6000611ab3613824565b506000805160206156c383398151915290565b6000611ad181613235565b6000825111611af25760405162461bcd60e51b8152600401610c459061520a565b6000611afc61323f565b905080600401604051611b0f919061524d565b604051809103902083604051611b2591906152c3565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a360048101610eb18482615325565b600080611b6e61323f565b600201546001600160a01b031692915050565b6000611b8c81613235565b6000611b9661323f565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611bcb911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611bf361323f565b600b81015490915060ff1615611c5b5760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610c45565b611c64336128e1565b611ccf5760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610c45565b6112373361386d565b600080611ce361389e565b5460ff1692915050565b600080611cf861323f565b546001600160a01b031692915050565b6000611d126138c2565b805490915060ff600160401b82041615906001600160401b0316600081158015611d395750825b90506000826001600160401b03166001148015611d555750303b155b905081158015611d63575080155b15611d815760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611daa57845460ff60401b1916600160401b1785555b60008660e0015111611e045760405162461bcd60e51b815260206004820152602f602482015260008051602061562383398151915260448201526e02067726561746572207468616e203608c1b6064820152608401610c45565b60008661010001515111611e2a5760405162461bcd60e51b8152600401610c459061520a565b6101408601516001600160a01b0316611eaa5760405162461bcd60e51b815260206004820152603c60248201527f47616c617879204d656d6265723a204233545220746f6b656e2061646472657360448201527b732063616e6e6f7420626520746865207a65726f206164647265737360201b6064820152608401610c45565b6101608601516001600160a01b0316611f285760405162461bcd60e51b815260206004820152603a60248201527f47616c617879204d656d6265723a20547265617375727920616464726573732060448201527963616e6e6f7420626520746865207a65726f206164647265737360301b6064820152608401610c45565b60018660e00151611f3991906153e4565b866101200151511015611fad5760405162461bcd60e51b8152602060048201526042602482015260008051602061564383398151915260448201527f7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656064820152616c7360f01b608482015260a401610c45565b611fbf866000015187602001516138e6565b611fc76138f8565b611fcf613900565b611fd76138f8565b611fdf6138f8565b611fe7613910565b611fef6138f8565b6000611ff961323f565b90508661010001518160040190816120119190615325565b5060005b876101200151518110156120b6576000886101200151828151811061203c5761203c6151f4565b6020026020010151116120615760405162461bcd60e51b8152600401610c45906153f7565b8761012001518181518110612078576120786151f4565b602002602001015182600801600083600261209391906151a7565b8152602081019190915260400160002055806120ae8161507a565b915050612015565b5060e087015160068201556101408701516002820180546001600160a01b03199081166001600160a01b039384161790915561016089015160038401805490921690831617905560408801511661216f5760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a2041646d696e20616464726573732063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610c45565b6121806000801b88604001516134c8565b5061219d60008051602061568383398151915288606001516134c8565b506121ba6000805160206156e383398151915288608001516134c8565b506121d76000805160206157038339815191528860a001516134c8565b506121f46000805160206157238339815191528860c001516134c8565b5050831561222f57845460ff60401b19168555604051600080516020615663833981519152906122269060019061543a565b60405180910390a15b505050505050565b60008051602061574383398151915261224f81613235565b6001600160a01b0382166122755760405162461bcd60e51b8152600401610c459061544e565b600061227f61323f565b600b0180546001600160a01b0390941661010002610100600160a81b0319909416939093179092555050565b6000806122b661323f565b600301546001600160a01b031692915050565b6000610d4c826132ac565b6122dc61481e565b60006122e783613920565b6001600160a01b0316036123495760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610c45565b61235161481e565b82815261235d83612fc4565b602082015261236b83612393565b604082015261237983612b63565b606082015292915050565b606061238e613949565b905090565b60008061239f83612afb565b905060006123ad8483613966565b50949350505050565b6000806123c1613288565b90506001600160a01b0383166123ed5760006040516322718ad960e21b8152600401610c459190614930565b6001600160a01b039092166000908152600390920160205250604090205490565b60008061241961323f565b600101546001600160a01b031692915050565b6112373382613adb565b6000805160206156e383398151915261244e81613235565b611237613b7e565b6060816000036124a65760405162461bcd60e51b8152602060048201526027602482015260008051602061560383398151915260448201526606f7420626520360cc1b6064820152608401610c45565b6064808311156124ef576124b981613bc5565b6040516020016124c991906154a4565b60408051601f198184030181529082905262461bcd60e51b8252610c4591600401614904565b60006124fa866123b6565b9050600061250885876154f3565b905081811061254d576040805160008082526020820190925290612542565b61252f61481e565b8152602001906001900390816125275790505b509350505050612635565b600061255986836151a7565b9050828111156125665750815b600061257283836153e4565b90506000816001600160401b0381111561258e5761258e614a37565b6040519080825280602002602001820160405280156125c757816020015b6125b461481e565b8152602001906001900390816125ac5790505b50905060005b8281101561262c5760006125e182876151a7565b905060006125ef8d83610f13565b90506125fa816122d4565b84848151811061260c5761260c6151f4565b6020026020010181905250505080806126249061507a565b9150506125cd565b50955050505050505b9392505050565b600061264661323f565b600092835260100160205250604090205490565b61266261367a565b600061266c61323f565b905033612678836122c9565b6001600160a01b0316146126de5760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610c45565b600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa158015612729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274d91906151d7565b6001600160a01b0316146127b35760405162461bcd60e51b815260206004820152603960248201526000805160206157638339815191526044820152783bb732b21037b91036b0b730b3b2b210313c9031b0b63632b960391b6064820152608401610c45565b6127bc83611a8b565b156128205760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610c45565b61282982612afb565b1561288d5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610c45565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a3505050565b6000806128ec61323f565b80549091506001600160a01b031661295f5760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610c45565b60018101546001600160a01b03166129c55760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610c45565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b906129f4908690600401614930565b602060405180830381865afa158015612a11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3591906151ba565b80612aae57506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612a6d908690600401614930565b602060405180830381865afa158015612a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aae91906151ba565b15612abc5750600192915050565b50600092915050565b600080612ad06134a4565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000612b0561323f565b6000928352600e0160205250604090205490565b60606000612b25613288565b9050806001018054610d6f90615011565b6000806123ad8484613966565b610e13338383613c57565b600080612b5961323f565b6006015492915050565b600080612b6f83613920565b6001600160a01b031603612b8557506000919050565b6000612b9083612afb565b9050600080612b9f8584613966565b91509150612bab612b4e565b8203612bbc57506000949350505050565b80612bcb6104688460016151a7565b612bd591906153e4565b95945050505050565b6000612be981613235565b6000612bf361323f565b905060005b8351811015612c8a576000848281518110612c1557612c156151f4565b602002602001015111612c3a5760405162461bcd60e51b8152600401610c45906153f7565b838181518110612c4c57612c4c6151f4565b6020026020010151826008016000836002612c6791906151a7565b815260208101919091526040016000205580612c828161507a565b915050612bf8565b5082604051612c99919061550a565b604051908190038120907f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf87090600090a2505050565b612cd9848484610e2c565b610eb184848484613cfc565b60026000612cf16138c2565b8054909150600160401b900460ff1680612d18575080546001600160401b03808416911610155b15612d365760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781558251600814612db55760405162461bcd60e51b815260206004820152603860248201526000805160206156a38339815191526044820152776c6576656c732e204d7573742062652037206c6576656c7360401b6064820152608401610c45565b6001600160a01b038616612ddb5760405162461bcd60e51b8152600401610c459061544e565b6001600160a01b038516612e535760405162461bcd60e51b815260206004820152603960248201527f47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063604482015278616e6e6f7420626520746865207a65726f206164647265737360381b6064820152608401610c45565b6000612e5d61323f565b600b81018054610100600160a81b0319166101006001600160a01b038b81169190910291909117909155600c820180546001600160a01b031916918916919091179055600581015490915015612eb7578060050154612eba565b60015b600582015560005b84518160ff161015612f80576001858260ff1681518110612ee557612ee56151f4565b60200260200101511015612f375760405162461bcd60e51b815260206004820152602560248201526000805160206156a38339815191526044820152641b195d995b60da1b6064820152608401610c45565b848160ff1681518110612f4c57612f4c6151f4565b60209081029190910181015160ff83166000908152600f850190925260409091205580612f7881615534565b915050612ec2565b50612f99600080516020615743833981519152866134c8565b5050805460ff60401b191681556040516000805160206156638339815191529061222690849061543a565b60606000612fd183613920565b6001600160a01b031603612ff357505060408051602081019091526000815290565b6000612ffe83612393565b90506000811161301d5760405180602001604052806000815250612635565b613025612384565b61302e82613bc5565b60405160200161303f929190615553565b6040516020818303038152906040529392505050565b600080613063836000613966565b509392505050565b60008061307661323f565b6001600160a01b03909316600090815260119093016020525050604090205490565b6130a182610eb7565b6130aa81613235565b610eb18383613569565b6000805160206157238339815191526130cc81613235565b6001600160a01b0382166131425760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610c45565b600061314c61323f565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b6131ba61481e565b60006131c58361306b565b9050612635816122d4565b60006131da61323f565b60ff9092166000908152600f9290920160205250604090205490565b600080613201613288565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b6112378133613e13565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610d4c5750610d4c82613e3e565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b6000806132b883613920565b90506001600160a01b038116610d4c57604051637e27328960e01b815260048101849052602401610c45565b6000806132ef613288565b6000938452600401602052505060409020546001600160a01b031690565b6111148383836001613e63565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b600061334861367a565b61335183612afb565b156133c45760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610c45565b60006133d1858585613f6d565b90506001600160a01b038116158015906133f157506133ef816123b6565b155b1561341c576133fe61323f565b6001600160a01b038216600090815260119190910160205260408120555b6001600160a01b0381161580159061343b5750836134398261306b565b145b801561344f5750600061344d826123b6565b115b156134685761346881613463836000610f13565b613adb565b6001600160a01b038516158015906134885750613484856123b6565b6001145b1561349c5761349c85613463876000610f13565b949350505050565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806134d36134a4565b90506134df8484612ac5565b61355f576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556135153390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610d4c565b6000915050610d4c565b6000806135746134a4565b90506135808484612ac5565b1561355f576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610d4c565b6135e9613f82565b60006135f361389e565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161362d9190614930565b60405180910390a150565b610e136000823361333e565b600061364e613fa7565b80549091506001190161367457604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b613682611cd8565b156136a05760405163d93c066560e01b815260040160405180910390fd5b565b60006136ac613fa7565b6001905550565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061373a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661372e6000805160206156c3833981519152546001600160a01b031690565b6001600160a01b031614155b156136a05760405163703e46dd60e11b815260040160405180910390fd5b600080516020615683833981519152610e1381613235565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156137ca575060408051601f3d908101601f191682019092526137c79181019061518e565b60015b6137e95781604051634c9c8ce360e01b8152600401610c459190614930565b6000805160206156c3833981519152811461381a57604051632a87526960e21b815260048101829052602401610c45565b6111148383613fcb565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146136a05760405163703e46dd60e11b815260040160405180910390fd5b600061387761323f565b600581018054919250600091908261388e8361507a565b9190505590506111148382614021565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6138ee61403b565b610e138282614060565b6136a061403b565b61390861403b565b6136a061408e565b61391861403b565b6136a06140ab565b60008061392b613288565b6000938452600201602052505060409020546001600160a01b031690565b6060600061395561323f565b9050806004018054610d6f90615011565b600080600061397361323f565b905060018415801590613a08575061398a866122c9565b600c830154604051634f16179f60e11b8152600481018890526001600160a01b039283169290911690639e2c2f3e90602401602060405180830381865afa1580156139d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139fd91906151d7565b6001600160a01b0316145b15613a4e576000613a188661123a565b905060ff811615613a4c576000613a2e826131d0565b90508360060154811115613a46578360060154613a48565b805b9250505b505b600086815260108301602052604081205490613a6b8360016151a7565b90505b83600601548111613ace5760008181526008850160205260409020548210613ab75760008181526008850160205260409020549092508290613ab090836153e4565b9150613abc565b613ace565b80613ac68161507a565b915050613a6e565b5090969095509350505050565b816001600160a01b0316613aee826122c9565b6001600160a01b031614613b145760405162461bcd60e51b8152600401610c459061513b565b6000613b1e61323f565b6001600160a01b03841660008181526011830160205260409081902085905551919250907fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc90613b719085815260200190565b60405180910390a2505050565b613b8661367a565b6000613b9061389e565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586136203390565b60606000613bd2836140b3565b60010190506000816001600160401b03811115613bf157613bf1614a37565b6040519080825280601f01601f191660200182016040528015613c1b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613c2557509392505050565b6000613c61613288565b90506001600160a01b038316613c8c5782604051630b61174360e31b8152600401610c459190614930565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a350505050565b6001600160a01b0383163b15610eb157604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613d3e903390889087908790600401615592565b6020604051808303816000875af1925050508015613d79575060408051601f3d908101601f19168201909252613d76918101906155cf565b60015b613dd9573d808015613da7576040519150601f19603f3d011682016040523d82523d6000602084013e613dac565b606091505b508051600003613dd15783604051633250574960e11b8152600401610c459190614930565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14613e0c5783604051633250574960e11b8152600401610c459190614930565b5050505050565b613e1d8282612ac5565b610e1357808260405163e2517d3f60e01b8152600401610c4592919061504b565b60006001600160e01b0319821663780e9d6360e01b1480610d4c5750610d4c82614189565b6000613e6d613288565b90508180613e8357506001600160a01b03831615155b15613f3c576000613e93856132ac565b90506001600160a01b03841615801590613ebf5750836001600160a01b0316816001600160a01b031614155b8015613ed25750613ed081856131f6565b155b15613ef2578360405163a9fbf51f60e01b8152600401610c459190614930565b8215613f3a5784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6000613f7761367a565b61349c8484846141d9565b613f8a611cd8565b6136a057604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b613fd482614267565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156140195761111482826142c3565b610e13614330565b610e1382826040518060200160405280600081525061434f565b614043614366565b6136a057604051631afcd79f60e31b815260040160405180910390fd5b61406861403b565b6000614072613288565b90508061407f8482615325565b5060018101610eb18382615325565b61409661403b565b60006140a061389e565b805460ff1916905550565b6136a261403b565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106140f25772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b831061411c576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061413a57662386f26fc10000830492506010015b6305f5e1008310614152576305f5e100830492506008015b612710831061416657612710830492506004015b60648310614178576064830492506002015b600a8310610d4c5760010192915050565b60006001600160e01b031982166380ac58cd60e01b14806141ba57506001600160e01b03198216635b5e139f60e01b145b80610d4c57506301ffc9a760e01b6001600160e01b0319831614610d4c565b6000806141e7858585614380565b90506001600160a01b0381166142055761420084614487565b614228565b846001600160a01b0316816001600160a01b0316146142285761422881856144c0565b6001600160a01b0385166142445761423f84614561565b61349c565b846001600160a01b0316816001600160a01b03161461349c5761349c858561462a565b806001600160a01b03163b6000036142945780604051634c9c8ce360e01b8152600401610c459190614930565b6000805160206156c383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516142e091906152c3565b600060405180830381855af49150503d806000811461431b576040519150601f19603f3d011682016040523d82523d6000602084013e614320565b606091505b5091509150612bd5858383614682565b34156136a05760405163b398979f60e01b815260040160405180910390fd5b61435983836146d5565b6111146000848484613cfc565b60006143706138c2565b54600160401b900460ff16919050565b60008061438b613288565b9050600061439885613920565b90506001600160a01b038416156143b4576143b481858761473a565b6001600160a01b038116156143f4576143d1600086600080613e63565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614425576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b600061449161331a565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b60006144ca61331a565b905060006144d7846123b6565b600084815260018401602052604090205490915080821461452c576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b600061456b61331a565b6002810154909150600090614582906001906153e4565b60008481526003840160205260408120546002850180549394509092849081106145ae576145ae6151f4565b90600052602060002001549050808460020183815481106145d1576145d16151f4565b60009182526020808320909101929092558281526003860190915260408082208490558682528120556002840180548061460d5761460d6155ec565b600190038181906000526020600020016000905590555050505050565b600061463461331a565b905060006001614643856123b6565b61464d91906153e4565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b6060826146975761469282614790565b612635565b81511580156146ae57506001600160a01b0384163b155b156146ce5783604051639996b31560e01b8152600401610c459190614930565b5080612635565b6001600160a01b0382166146ff576000604051633250574960e11b8152600401610c459190614930565b600061470d8383600061333e565b90506001600160a01b038116156111145760006040516339e3563760e11b8152600401610c459190614930565b6147458383836147b9565b611114576001600160a01b03831661477357604051637e27328960e01b815260048101829052602401610c45565b818160405163177e802f60e01b8152600401610c4592919061504b565b8051156147a05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b0383161580159061349c5750826001600160a01b0316846001600160a01b031614806147f357506147f384846131f6565b8061349c5750826001600160a01b031661480c836132e4565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461123757600080fd5b6000806040838503121561486857600080fd5b823561487381614846565b946020939093013593505050565b6001600160e01b03198116811461123757600080fd5b6000602082840312156148a957600080fd5b813561263581614881565b60005b838110156148cf5781810151838201526020016148b7565b50506000910152565b600081518084526148f08160208601602086016148b4565b601f01601f19169290920160200192915050565b60208152600061263560208301846148d8565b60006020828403121561492957600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461123757600080fd5b803561496481614944565b919050565b6000806040838503121561497c57600080fd5b823561487381614944565b60008060006060848603121561499c57600080fd5b83356149a781614944565b925060208401356149b781614944565b929592945050506040919091013590565b600080604083850312156149db57600080fd5b8235915060208301356149ed81614944565b809150509250929050565b600060208284031215614a0a57600080fd5b813561263581614944565b60008060408385031215614a2857600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715614a7057614a70614a37565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614a9e57614a9e614a37565b604052919050565b600082601f830112614ab757600080fd5b81356001600160401b03811115614ad057614ad0614a37565b614ae3601f8201601f1916602001614a76565b818152846020838601011115614af857600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614b2857600080fd5b8235614b3381614944565b915060208301356001600160401b03811115614b4e57600080fd5b614b5a85828601614aa6565b9150509250929050565b600060208284031215614b7657600080fd5b81356001600160401b03811115614b8c57600080fd5b61349c84828501614aa6565b801515811461123757600080fd5b600060208284031215614bb857600080fd5b813561263581614b98565b600082601f830112614bd457600080fd5b813560206001600160401b03821115614bef57614bef614a37565b8160051b614bfe828201614a76565b9283528481018201928281019087851115614c1857600080fd5b83870192505b84831015614c3757823582529183019190830190614c1e565b979650505050505050565b600060208284031215614c5457600080fd5b81356001600160401b0380821115614c6b57600080fd5b908301906101808286031215614c8057600080fd5b614c88614a4d565b823582811115614c9757600080fd5b614ca387828601614aa6565b825250602083013582811115614cb857600080fd5b614cc487828601614aa6565b602083015250614cd660408401614959565b6040820152614ce760608401614959565b6060820152614cf860808401614959565b6080820152614d0960a08401614959565b60a0820152614d1a60c08401614959565b60c082015260e083013560e08201526101008084013583811115614d3d57600080fd5b614d4988828701614aa6565b8284015250506101208084013583811115614d6357600080fd5b614d6f88828701614bc3565b8284015250506101409150614d85828401614959565b828201526101609150614d99828401614959565b91810191909152949350505050565b805182526000602082015160806020850152614dc760808501826148d8565b905060408301516040850152606083015160608501528091505092915050565b6020815260006126356020830184614da8565b600080600060608486031215614e0f57600080fd5b8335614e1a81614944565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e8457603f19888603018452614e72858351614da8565b94509285019290850190600101614e56565b5092979650505050505050565b60008060408385031215614ea457600080fd5b8235614eaf81614944565b915060208301356149ed81614b98565b600060208284031215614ed157600080fd5b81356001600160401b03811115614ee757600080fd5b61349c84828501614bc3565b60008060008060808587031215614f0957600080fd5b8435614f1481614944565b93506020850135614f2481614944565b92506040850135915060608501356001600160401b03811115614f4657600080fd5b614f5287828801614aa6565b91505092959194509250565b60008060008060808587031215614f7457600080fd5b8435614f7f81614944565b93506020850135614f8f81614944565b92506040850135614f9f81614944565b915060608501356001600160401b03811115614fba57600080fd5b614f5287828801614bc3565b600060208284031215614fd857600080fd5b813561263581614846565b60008060408385031215614ff657600080fd5b823561500181614944565b915060208301356149ed81614944565b600181811c9082168061502557607f821691505b60208210810361504557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161508c5761508c615064565b5060010190565b80516001600160401b038116811461496457600080fd5b600080600080600080600060e0888a0312156150c557600080fd5b87516150d081614944565b60208901519097506150e181614846565b60408901519096506150f281614b98565b606089015190955061510381614b98565b935061511160808901615093565b925061511f60a08901615093565b915061512d60c08901615093565b905092959891949750929550565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b6000602082840312156151a057600080fd5b5051919050565b80820180821115610d4c57610d4c615064565b6000602082840312156151cc57600080fd5b815161263581614b98565b6000602082840312156151e957600080fd5b815161263581614944565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f47616c617879204d656d6265723a204261736520555249206d757374206265206040820152621cd95d60ea1b606082015260800190565b600080835461525b81615011565b600182811680156152735760018114615288576152b7565b60ff19841687528215158302870194506152b7565b8760005260208060002060005b858110156152ae5781548a820152908401908201615295565b50505082870194505b50929695505050505050565b600082516152d58184602087016148b4565b9190910192915050565b601f82111561111457600081815260208120601f850160051c810160208610156153065750805b601f850160051c820191505b8181101561222f57828155600101615312565b81516001600160401b0381111561533e5761533e614a37565b6153528161534c8454615011565b846152df565b602080601f831160018114615387576000841561536f5750858301515b600019600386901b1c1916600185901b17855561222f565b600085815260208120601f198616915b828110156153b657888601518255948401946001909101908401615397565b50858210156153d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610d4c57610d4c615064565b602080825260359082015260008051602061564383398151915260408201527407573742062652067726561746572207468616e203605c1b606082015260800190565b6001600160401b0391909116815260200190565b60208082526036908201527f47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b600080516020615603833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b6020820152600082516154e68160338501602087016148b4565b9190910160330192915050565b8082028115828204841417610d4c57610d4c615064565b815160009082906020808601845b838110156152b757815185529382019390820190600101615518565b600060ff821660ff810361554a5761554a615064565b60010192915050565b600083516155658184602088016148b4565b8351908301906155798183602088016148b4565b64173539b7b760d91b9101908152600501949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906155c5908301846148d8565b9695505050505050565b6000602082840312156155e157600080fd5b815161263581614881565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204d6178206c6576656c206d75737420626547616c617879204d656d6265723a204233545220746f2075706772616465206dc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e347616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a656af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f547616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206fa2646970667358221220e1d0b1d79e4b58fca20e1670776902bcfad73230d228107f3bf55e3f38dfefd864736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x57B8 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x36BE ADD MSTORE DUP2 DUP2 PUSH2 0x36E7 ADD MSTORE PUSH2 0x382F ADD MSTORE PUSH2 0x57B8 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x31F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x324 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x346 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x37B JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x39D JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3CA JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x3EA JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x40D JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x42D JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x44D JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x46D JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x48D JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4AD JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x4CD JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x4ED JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x50D JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x52F JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x544 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x576 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x596 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x5B6 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x5D6 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x5F6 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x609 JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x629 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x649 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x65E JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x688 JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x6A8 JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x6BD JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x6DD JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x6F2 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x707 JUMPI DUP1 PUSH4 0x5F4E42CA EQ PUSH2 0x71C JUMPI DUP1 PUSH4 0x5FFAA59A EQ PUSH2 0x73C JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x75C JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x771 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x791 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x7BE JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x7D3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x7F3 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x813 JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x828 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x848 JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x85D JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x88A JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x8AA JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x8CA JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x8EA JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x90A JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x92C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x94C JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0x961 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x981 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x996 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0x9B6 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0x9CB JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x9EB JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xA1C JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xA3C JUMPI DUP1 PUSH4 0xC190EB3A EQ PUSH2 0xA5C JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xA7C JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xA9C JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xABC JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xADC JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xAFE JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xB1E JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xB3E JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xB5E JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xB7E JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xBA0 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xBC0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x33F CALLDATASIZE PUSH1 0x4 PUSH2 0x4855 JUMP JUMPDEST PUSH2 0xBE2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x352 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0x361 CALLDATASIZE PUSH1 0x4 PUSH2 0x4897 JUMP JUMPDEST PUSH2 0xD41 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x387 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH2 0xD52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x4904 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x3B8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0xDF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x3E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4969 JUMP JUMPDEST PUSH2 0xE08 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xE17 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x372 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x428 CALLDATASIZE PUSH1 0x4 PUSH2 0x4987 JUMP JUMPDEST PUSH2 0xE2C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x439 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x448 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0xEB7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x459 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x468 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0xED7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x488 CALLDATASIZE PUSH1 0x4 PUSH2 0x49C8 JUMP JUMPDEST PUSH2 0xEF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x4A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4969 JUMP JUMPDEST PUSH2 0xF13 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x4C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0xF75 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x4E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x49C8 JUMP JUMPDEST PUSH2 0x10E1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x508 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x1119 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x519 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5743 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x53B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x1217 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x550 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x564 PUSH2 0x55F CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x123A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x372 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x582 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x591 CALLDATASIZE PUSH1 0x4 PUSH2 0x4987 JUMP JUMPDEST PUSH2 0x12CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x5B1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x12E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x5D1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x1321 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x5F1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A15 JUMP JUMPDEST PUSH2 0x1737 JUMP JUMPDEST PUSH2 0x344 PUSH2 0x604 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B15 JUMP JUMPDEST PUSH2 0x1A0F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x615 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x624 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x1A2A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x635 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x644 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x1A8B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x655 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1AA9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x19 PUSH1 0xF9 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x390 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x694 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x6A3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B64 JUMP JUMPDEST PUSH2 0x1AC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x1B63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x6D8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BA6 JUMP JUMPDEST PUSH2 0x1B81 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x1BE9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0x1CD8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x713 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x1CED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x728 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x737 CALLDATASIZE PUSH1 0x4 PUSH2 0x4C42 JUMP JUMPDEST PUSH2 0x1D08 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x748 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x757 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x2237 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x768 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x22AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x78C CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x22C9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B1 PUSH2 0x7AC CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x22D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x4DE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH2 0x2384 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x7EE CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x2393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x80E CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x23B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x240E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x834 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x843 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x242C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x854 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x2436 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x869 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x87D PUSH2 0x878 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DFA JUMP JUMPDEST PUSH2 0x2456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x4E2F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x896 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x8A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x263C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x8C5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A15 JUMP JUMPDEST PUSH2 0x265A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0x8E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x28E1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0x905 CALLDATASIZE PUSH1 0x4 PUSH2 0x49C8 JUMP JUMPDEST PUSH2 0x2AC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x916 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5723 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x938 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x947 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x2AFB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x958 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH2 0x2B19 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x96D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x97C CALLDATASIZE PUSH1 0x4 PUSH2 0x4A15 JUMP JUMPDEST PUSH2 0x2B36 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x98D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x9B1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E91 JUMP JUMPDEST PUSH2 0x2B43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x2B4E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x9E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x2B63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xA37 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EBF JUMP JUMPDEST PUSH2 0x2BDE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xA57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EF3 JUMP JUMPDEST PUSH2 0x2CCE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xA77 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F5E JUMP JUMPDEST PUSH2 0x2CE5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA88 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH2 0xA97 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x2FC4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xAB7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x3055 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xAD7 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x306B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5703 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xB19 CALLDATASIZE PUSH1 0x4 PUSH2 0x49C8 JUMP JUMPDEST PUSH2 0x3098 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xB39 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x30B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B1 PUSH2 0xB59 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x31B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xB79 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC6 JUMP JUMPDEST PUSH2 0x31D0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56E3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0xBBB CALLDATASIZE PUSH1 0x4 PUSH2 0x4FE3 JUMP JUMPDEST PUSH2 0x31F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5683 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5743 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xBFA DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xC4E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xCA2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCAC PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xD26 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD4C DUP3 PUSH2 0x3263 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xD5E PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xD6F SWAP1 PUSH2 0x5011 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD9B SWAP1 PUSH2 0x5011 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDE8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xDBD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDE8 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xDCB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDFE DUP3 PUSH2 0x32AC JUMP JUMPDEST POP PUSH2 0xD4C DUP3 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0xE13 DUP3 DUP3 CALLER PUSH2 0x330D JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE22 PUSH2 0x331A JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xE56 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE63 DUP4 DUP4 CALLER PUSH2 0x333E JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xEB1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC45 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEC2 PUSH2 0x34A4 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEE2 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xF00 DUP3 PUSH2 0xEB7 JUMP JUMPDEST PUSH2 0xF09 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0xEB1 DUP4 DUP4 PUSH2 0x34C8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF1E PUSH2 0x331A JUMP JUMPDEST SWAP1 POP PUSH2 0xF29 DUP5 PUSH2 0x23B6 JUMP JUMPDEST DUP4 LT PUSH2 0xF4C JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP3 SWAP2 SWAP1 PUSH2 0x504B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF80 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF8A PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0xFFF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5623 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x1097 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1085 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5643 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xC45 JUMP JUMPDEST DUP1 PUSH2 0x108F DUP2 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1002 JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x110A JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1114 DUP3 DUP3 PUSH2 0x3569 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5723 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1131 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x11AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11B7 PUSH2 0x323F JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56E3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x122F DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0x1237 PUSH2 0x35E1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1245 PUSH2 0x323F JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x295D33A9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA574CEA4 SWAP1 PUSH1 0x24 ADD PUSH1 0xE0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x129A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12BE SWAP2 SWAP1 PUSH2 0x50AA JUMP JUMPDEST POP SWAP4 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1114 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2CCE JUMP JUMPDEST CALLER PUSH2 0x12F2 DUP3 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1318 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x513B JUMP JUMPDEST PUSH2 0x1237 DUP2 PUSH2 0x3638 JUMP JUMPDEST PUSH2 0x1329 PUSH2 0x3644 JUMP JUMPDEST PUSH2 0x1331 PUSH2 0x367A JUMP JUMPDEST CALLER PUSH2 0x133B DUP3 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x13AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13B7 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x13C4 DUP4 PUSH2 0x2393 JUMP JUMPDEST SWAP1 POP PUSH2 0x13CE PUSH2 0x2B4E JUMP JUMPDEST DUP2 LT PUSH2 0x1431 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x143C DUP5 PUSH2 0x2B63 JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1473 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1490 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14B4 SWAP2 SWAP1 PUSH2 0x518E JUMP JUMPDEST LT ISZERO PUSH2 0x1519 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1569 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x158D SWAP2 SWAP1 PUSH2 0x518E JUMP JUMPDEST LT ISZERO PUSH2 0x15F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1614 SWAP1 DUP5 SWAP1 PUSH2 0x51A7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1678 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x169C SWAP2 SWAP1 PUSH2 0x51BA JUMP JUMPDEST PUSH2 0x16E8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC45 JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x1714 DUP8 PUSH2 0x2393 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x1237 PUSH2 0x36A2 JUMP JUMPDEST PUSH2 0x173F PUSH2 0x367A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1749 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x1755 DUP4 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x17DF JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17B0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17D4 SWAP2 SWAP1 PUSH2 0x51D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0x1864 JUMPI POP PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFC206ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBFC206ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1835 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1859 SWAP2 SWAP1 PUSH2 0x51D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x18E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x56 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5763 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776E6564206F72206D616E616765642062792063616C6C6572206F7220746F6B PUSH1 0x64 DUP3 ADD MSTORE PUSH22 0x32B7103737BA1037BBB732B210313C9031B0B63632B9 PUSH1 0x51 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xC45 JUMP JUMPDEST DUP2 PUSH2 0x18ED DUP5 PUSH2 0x1A8B JUMP JUMPDEST EQ PUSH2 0x194F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST DUP3 PUSH2 0x1959 DUP4 PUSH2 0x2AFB JUMP JUMPDEST EQ PUSH2 0x19BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1A17 PUSH2 0x36B3 JUMP JUMPDEST PUSH2 0x1A20 DUP3 PUSH2 0x3758 JUMP JUMPDEST PUSH2 0xE13 DUP3 DUP3 PUSH2 0x3770 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A35 PUSH2 0x331A JUMP JUMPDEST SWAP1 POP PUSH2 0x1A3F PUSH2 0xE17 JUMP JUMPDEST DUP4 LT PUSH2 0x1A63 JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP3 SWAP2 SWAP1 PUSH2 0x504B JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1A78 JUMPI PUSH2 0x1A78 PUSH2 0x51F4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A95 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xD ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AB3 PUSH2 0x3824 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56C3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AD1 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1AF2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x520A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AFC PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1B0F SWAP2 SWAP1 PUSH2 0x524D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B25 SWAP2 SWAP1 PUSH2 0x52C3 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0xEB1 DUP5 DUP3 PUSH2 0x5325 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B6E PUSH2 0x323F JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B8C DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B96 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1BCB SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BF3 PUSH2 0x323F JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1C5B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x1C64 CALLER PUSH2 0x28E1 JUMP JUMPDEST PUSH2 0x1CCF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x1237 CALLER PUSH2 0x386D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CE3 PUSH2 0x389E JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CF8 PUSH2 0x323F JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D12 PUSH2 0x38C2 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1D39 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1D55 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1D63 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1D81 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1DAA JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x0 DUP7 PUSH1 0xE0 ADD MLOAD GT PUSH2 0x1E04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5623 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH2 0x100 ADD MLOAD MLOAD GT PUSH2 0x1E2A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x520A JUMP JUMPDEST PUSH2 0x140 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1EAA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204233545220746F6B656E20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x732063616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x160 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1F28 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205472656173757279206164647265737320 PUSH1 0x44 DUP3 ADD MSTORE PUSH26 0x63616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x30 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x1 DUP7 PUSH1 0xE0 ADD MLOAD PUSH2 0x1F39 SWAP2 SWAP1 PUSH2 0x53E4 JUMP JUMPDEST DUP7 PUSH2 0x120 ADD MLOAD MLOAD LT ISZERO PUSH2 0x1FAD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5643 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C20756E6C6F636B6564206C657665 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x6C73 PUSH1 0xF0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x1FBF DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD PUSH2 0x38E6 JUMP JUMPDEST PUSH2 0x1FC7 PUSH2 0x38F8 JUMP JUMPDEST PUSH2 0x1FCF PUSH2 0x3900 JUMP JUMPDEST PUSH2 0x1FD7 PUSH2 0x38F8 JUMP JUMPDEST PUSH2 0x1FDF PUSH2 0x38F8 JUMP JUMPDEST PUSH2 0x1FE7 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x1FEF PUSH2 0x38F8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF9 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP7 PUSH2 0x100 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x2011 SWAP2 SWAP1 PUSH2 0x5325 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x20B6 JUMPI PUSH1 0x0 DUP9 PUSH2 0x120 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x203C JUMPI PUSH2 0x203C PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2061 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2078 JUMPI PUSH2 0x2078 PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2093 SWAP2 SWAP1 PUSH2 0x51A7 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x20AE DUP2 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2015 JUMP JUMPDEST POP PUSH1 0xE0 DUP8 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x140 DUP8 ADD MLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND OR SWAP1 SWAP2 SSTORE PUSH2 0x160 DUP10 ADD MLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x40 DUP9 ADD MLOAD AND PUSH2 0x216F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2041646D696E20616464726573732063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x2180 PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0x40 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP PUSH2 0x219D PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5683 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x60 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP PUSH2 0x21BA PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56E3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP PUSH2 0x21D7 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5703 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xA0 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP PUSH2 0x21F4 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5723 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xC0 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0x222F JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5663 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2226 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x543A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5743 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x224F DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x2275 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x544E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x227F PUSH2 0x323F JUMP JUMPDEST PUSH1 0xB ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x22B6 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD4C DUP3 PUSH2 0x32AC JUMP JUMPDEST PUSH2 0x22DC PUSH2 0x481E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22E7 DUP4 PUSH2 0x3920 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2349 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x2351 PUSH2 0x481E JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x235D DUP4 PUSH2 0x2FC4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x236B DUP4 PUSH2 0x2393 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2379 DUP4 PUSH2 0x2B63 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x238E PUSH2 0x3949 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x239F DUP4 PUSH2 0x2AFB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x23AD DUP5 DUP4 PUSH2 0x3966 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x23C1 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x23ED JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2419 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1237 CALLER DUP3 PUSH2 0x3ADB JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56E3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x244E DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0x1237 PUSH2 0x3B7E JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x24A6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5603 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x24EF JUMPI PUSH2 0x24B9 DUP2 PUSH2 0x3BC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x24C9 SWAP2 SWAP1 PUSH2 0x54A4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xC45 SWAP2 PUSH1 0x4 ADD PUSH2 0x4904 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FA DUP7 PUSH2 0x23B6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2508 DUP6 DUP8 PUSH2 0x54F3 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x254D JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH2 0x252F PUSH2 0x481E JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2527 JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x2635 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2559 DUP7 DUP4 PUSH2 0x51A7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x2566 JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x2572 DUP4 DUP4 PUSH2 0x53E4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x258E JUMPI PUSH2 0x258E PUSH2 0x4A37 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x25C7 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x25B4 PUSH2 0x481E JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x25AC JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x262C JUMPI PUSH1 0x0 PUSH2 0x25E1 DUP3 DUP8 PUSH2 0x51A7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x25EF DUP14 DUP4 PUSH2 0xF13 JUMP JUMPDEST SWAP1 POP PUSH2 0x25FA DUP2 PUSH2 0x22D4 JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x260C JUMPI PUSH2 0x260C PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x2624 SWAP1 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x25CD JUMP JUMPDEST POP SWAP6 POP POP POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2646 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x2662 PUSH2 0x367A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x266C PUSH2 0x323F JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x2678 DUP4 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x26DE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2729 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x274D SWAP2 SWAP1 PUSH2 0x51D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x27B3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5763 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x3BB732B21037B91036B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x39 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x27BC DUP4 PUSH2 0x1A8B JUMP JUMPDEST ISZERO PUSH2 0x2820 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x2829 DUP3 PUSH2 0x2AFB JUMP JUMPDEST ISZERO PUSH2 0x288D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28EC PUSH2 0x323F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x295F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x29C5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x29F4 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2A11 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2A35 SWAP2 SWAP1 PUSH2 0x51BA JUMP JUMPDEST DUP1 PUSH2 0x2AAE JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2A6D SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2A8A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AAE SWAP2 SWAP1 PUSH2 0x51BA JUMP JUMPDEST ISZERO PUSH2 0x2ABC JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2AD0 PUSH2 0x34A4 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B05 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xE ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2B25 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xD6F SWAP1 PUSH2 0x5011 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x23AD DUP5 DUP5 PUSH2 0x3966 JUMP JUMPDEST PUSH2 0xE13 CALLER DUP4 DUP4 PUSH2 0x3C57 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2B59 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2B6F DUP4 PUSH2 0x3920 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2B85 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B90 DUP4 PUSH2 0x2AFB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2B9F DUP6 DUP5 PUSH2 0x3966 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2BAB PUSH2 0x2B4E JUMP JUMPDEST DUP3 SUB PUSH2 0x2BBC JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2BCB PUSH2 0x468 DUP5 PUSH1 0x1 PUSH2 0x51A7 JUMP JUMPDEST PUSH2 0x2BD5 SWAP2 SWAP1 PUSH2 0x53E4 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BE9 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BF3 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2C8A JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2C15 JUMPI PUSH2 0x2C15 PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2C3A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2C4C JUMPI PUSH2 0x2C4C PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2C67 SWAP2 SWAP1 PUSH2 0x51A7 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2C82 DUP2 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2BF8 JUMP JUMPDEST POP DUP3 PUSH1 0x40 MLOAD PUSH2 0x2C99 SWAP2 SWAP1 PUSH2 0x550A JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x2CD9 DUP5 DUP5 DUP5 PUSH2 0xE2C JUMP JUMPDEST PUSH2 0xEB1 DUP5 DUP5 DUP5 DUP5 PUSH2 0x3CFC JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2CF1 PUSH2 0x38C2 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2D18 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2D36 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE DUP3 MLOAD PUSH1 0x8 EQ PUSH2 0x2DB5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56A3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6C6576656C732E204D7573742062652037206C6576656C73 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2DDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x544E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2E53 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F6E6F6465734D616E6761656D656E742063 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E5D PUSH2 0x323F JUMP JUMPDEST PUSH1 0xB DUP2 ADD DUP1 SLOAD PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND SWAP2 SWAP1 SWAP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0xC DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP2 DUP10 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x2EB7 JUMPI DUP1 PUSH1 0x5 ADD SLOAD PUSH2 0x2EBA JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x2F80 JUMPI PUSH1 0x1 DUP6 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x2EE5 JUMPI PUSH2 0x2EE5 PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x2F37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56A3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1B195D995B PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST DUP5 DUP2 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x2F4C JUMPI PUSH2 0x2F4C PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0xFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF DUP6 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE DUP1 PUSH2 0x2F78 DUP2 PUSH2 0x5534 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2EC2 JUMP JUMPDEST POP PUSH2 0x2F99 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5743 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 PUSH2 0x34C8 JUMP JUMPDEST POP POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5663 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2226 SWAP1 DUP5 SWAP1 PUSH2 0x543A JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2FD1 DUP4 PUSH2 0x3920 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2FF3 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FFE DUP4 PUSH2 0x2393 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x301D JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2635 JUMP JUMPDEST PUSH2 0x3025 PUSH2 0x2384 JUMP JUMPDEST PUSH2 0x302E DUP3 PUSH2 0x3BC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x303F SWAP3 SWAP2 SWAP1 PUSH2 0x5553 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3063 DUP4 PUSH1 0x0 PUSH2 0x3966 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3076 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x11 SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x30A1 DUP3 PUSH2 0xEB7 JUMP JUMPDEST PUSH2 0x30AA DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0xEB1 DUP4 DUP4 PUSH2 0x3569 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5723 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x30CC DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3142 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x314C PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x31BA PUSH2 0x481E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31C5 DUP4 PUSH2 0x306B JUMP JUMPDEST SWAP1 POP PUSH2 0x2635 DUP2 PUSH2 0x22D4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31DA PUSH2 0x323F JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3201 PUSH2 0x3288 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1237 DUP2 CALLER PUSH2 0x3E13 JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xD4C JUMPI POP PUSH2 0xD4C DUP3 PUSH2 0x3E3E JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x32B8 DUP4 PUSH2 0x3920 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xD4C JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x32EF PUSH2 0x3288 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x1114 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x3E63 JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3348 PUSH2 0x367A JUMP JUMPDEST PUSH2 0x3351 DUP4 PUSH2 0x2AFB JUMP JUMPDEST ISZERO PUSH2 0x33C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D1 DUP6 DUP6 DUP6 PUSH2 0x3F6D JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x33F1 JUMPI POP PUSH2 0x33EF DUP2 PUSH2 0x23B6 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x341C JUMPI PUSH2 0x33FE PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x11 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x343B JUMPI POP DUP4 PUSH2 0x3439 DUP3 PUSH2 0x306B JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x344F JUMPI POP PUSH1 0x0 PUSH2 0x344D DUP3 PUSH2 0x23B6 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x3468 JUMPI PUSH2 0x3468 DUP2 PUSH2 0x3463 DUP4 PUSH1 0x0 PUSH2 0xF13 JUMP JUMPDEST PUSH2 0x3ADB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3488 JUMPI POP PUSH2 0x3484 DUP6 PUSH2 0x23B6 JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x349C JUMPI PUSH2 0x349C DUP6 PUSH2 0x3463 DUP8 PUSH1 0x0 PUSH2 0xF13 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x34D3 PUSH2 0x34A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x34DF DUP5 DUP5 PUSH2 0x2AC5 JUMP JUMPDEST PUSH2 0x355F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x3515 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3574 PUSH2 0x34A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x3580 DUP5 DUP5 PUSH2 0x2AC5 JUMP JUMPDEST ISZERO PUSH2 0x355F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xD4C JUMP JUMPDEST PUSH2 0x35E9 PUSH2 0x3F82 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35F3 PUSH2 0x389E JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x362D SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xE13 PUSH1 0x0 DUP3 CALLER PUSH2 0x333E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x364E PUSH2 0x3FA7 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3674 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x3682 PUSH2 0x1CD8 JUMP JUMPDEST ISZERO PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x36AC PUSH2 0x3FA7 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x373A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x372E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56C3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5683 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xE13 DUP2 PUSH2 0x3235 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x37CA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x37C7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x518E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x37E9 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56C3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x381A JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x1114 DUP4 DUP4 PUSH2 0x3FCB JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3877 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x388E DUP4 PUSH2 0x507A JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x1114 DUP4 DUP3 PUSH2 0x4021 JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x38EE PUSH2 0x403B JUMP JUMPDEST PUSH2 0xE13 DUP3 DUP3 PUSH2 0x4060 JUMP JUMPDEST PUSH2 0x36A0 PUSH2 0x403B JUMP JUMPDEST PUSH2 0x3908 PUSH2 0x403B JUMP JUMPDEST PUSH2 0x36A0 PUSH2 0x408E JUMP JUMPDEST PUSH2 0x3918 PUSH2 0x403B JUMP JUMPDEST PUSH2 0x36A0 PUSH2 0x40AB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x392B PUSH2 0x3288 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3955 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xD6F SWAP1 PUSH2 0x5011 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3973 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3A08 JUMPI POP PUSH2 0x398A DUP7 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x39D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x39FD SWAP2 SWAP1 PUSH2 0x51D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x3A4E JUMPI PUSH1 0x0 PUSH2 0x3A18 DUP7 PUSH2 0x123A JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x3A4C JUMPI PUSH1 0x0 PUSH2 0x3A2E DUP3 PUSH2 0x31D0 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x3A46 JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x3A48 JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x3A6B DUP4 PUSH1 0x1 PUSH2 0x51A7 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3ACE JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x3AB7 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3AB0 SWAP1 DUP4 PUSH2 0x53E4 JUMP JUMPDEST SWAP2 POP PUSH2 0x3ABC JUMP JUMPDEST PUSH2 0x3ACE JUMP JUMPDEST DUP1 PUSH2 0x3AC6 DUP2 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3A6E JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3AEE DUP3 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3B14 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x513B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B1E PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x11 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP2 SWAP3 POP SWAP1 PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC SWAP1 PUSH2 0x3B71 SWAP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3B86 PUSH2 0x367A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B90 PUSH2 0x389E JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x3620 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3BD2 DUP4 PUSH2 0x40B3 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3BF1 JUMPI PUSH2 0x3BF1 PUSH2 0x4A37 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3C1B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3C25 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3C61 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3C8C JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0xEB1 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x3D3E SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5592 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3D79 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3D76 SWAP2 DUP2 ADD SWAP1 PUSH2 0x55CF JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3DD9 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x3DA7 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3DAC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x3DD1 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x3E0C JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3E1D DUP3 DUP3 PUSH2 0x2AC5 JUMP JUMPDEST PUSH2 0xE13 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP3 SWAP2 SWAP1 PUSH2 0x504B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xD4C JUMPI POP PUSH2 0xD4C DUP3 PUSH2 0x4189 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E6D PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x3E83 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x3F3C JUMPI PUSH1 0x0 PUSH2 0x3E93 DUP6 PUSH2 0x32AC JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3EBF JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x3ED2 JUMPI POP PUSH2 0x3ED0 DUP2 DUP6 PUSH2 0x31F6 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3EF2 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x3F3A JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F77 PUSH2 0x367A JUMP JUMPDEST PUSH2 0x349C DUP5 DUP5 DUP5 PUSH2 0x41D9 JUMP JUMPDEST PUSH2 0x3F8A PUSH2 0x1CD8 JUMP JUMPDEST PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x3FD4 DUP3 PUSH2 0x4267 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4019 JUMPI PUSH2 0x1114 DUP3 DUP3 PUSH2 0x42C3 JUMP JUMPDEST PUSH2 0xE13 PUSH2 0x4330 JUMP JUMPDEST PUSH2 0xE13 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x434F JUMP JUMPDEST PUSH2 0x4043 PUSH2 0x4366 JUMP JUMPDEST PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4068 PUSH2 0x403B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4072 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x407F DUP5 DUP3 PUSH2 0x5325 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0xEB1 DUP4 DUP3 PUSH2 0x5325 JUMP JUMPDEST PUSH2 0x4096 PUSH2 0x403B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40A0 PUSH2 0x389E JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x36A2 PUSH2 0x403B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x40F2 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x411C JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x413A JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x4152 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x4166 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4178 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xD4C JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x41BA JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xD4C JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x41E7 DUP6 DUP6 DUP6 PUSH2 0x4380 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4205 JUMPI PUSH2 0x4200 DUP5 PUSH2 0x4487 JUMP JUMPDEST PUSH2 0x4228 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4228 JUMPI PUSH2 0x4228 DUP2 DUP6 PUSH2 0x44C0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4244 JUMPI PUSH2 0x423F DUP5 PUSH2 0x4561 JUMP JUMPDEST PUSH2 0x349C JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x349C JUMPI PUSH2 0x349C DUP6 DUP6 PUSH2 0x462A JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4294 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56C3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x42E0 SWAP2 SWAP1 PUSH2 0x52C3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x431B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4320 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2BD5 DUP6 DUP4 DUP4 PUSH2 0x4682 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4359 DUP4 DUP4 PUSH2 0x46D5 JUMP JUMPDEST PUSH2 0x1114 PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3CFC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4370 PUSH2 0x38C2 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x438B PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4398 DUP6 PUSH2 0x3920 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x43B4 JUMPI PUSH2 0x43B4 DUP2 DUP6 DUP8 PUSH2 0x473A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x43F4 JUMPI PUSH2 0x43D1 PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x3E63 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4425 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4491 PUSH2 0x331A JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44CA PUSH2 0x331A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x44D7 DUP5 PUSH2 0x23B6 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x452C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x456B PUSH2 0x331A JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x4582 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x53E4 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x45AE JUMPI PUSH2 0x45AE PUSH2 0x51F4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x45D1 JUMPI PUSH2 0x45D1 PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x460D JUMPI PUSH2 0x460D PUSH2 0x55EC JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4634 PUSH2 0x331A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x4643 DUP6 PUSH2 0x23B6 JUMP JUMPDEST PUSH2 0x464D SWAP2 SWAP1 PUSH2 0x53E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4697 JUMPI PUSH2 0x4692 DUP3 PUSH2 0x4790 JUMP JUMPDEST PUSH2 0x2635 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x46AE JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x46CE JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST POP DUP1 PUSH2 0x2635 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x46FF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x470D DUP4 DUP4 PUSH1 0x0 PUSH2 0x333E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x1114 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH2 0x4745 DUP4 DUP4 DUP4 PUSH2 0x47B9 JUMP JUMPDEST PUSH2 0x1114 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4773 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xC45 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP3 SWAP2 SWAP1 PUSH2 0x504B JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x47A0 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x349C JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x47F3 JUMPI POP PUSH2 0x47F3 DUP5 DUP5 PUSH2 0x31F6 JUMP JUMPDEST DUP1 PUSH2 0x349C JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x480C DUP4 PUSH2 0x32E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4868 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4873 DUP2 PUSH2 0x4846 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x48A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2635 DUP2 PUSH2 0x4881 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x48CF JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x48B7 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x48F0 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x48B4 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2635 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x48D8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4929 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x4964 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x497C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4873 DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x499C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x49A7 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x49B7 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x49DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x49ED DUP2 PUSH2 0x4944 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2635 DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4A28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x180 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4A70 JUMPI PUSH2 0x4A70 PUSH2 0x4A37 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4A9E JUMPI PUSH2 0x4A9E PUSH2 0x4A37 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4AB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4AD0 JUMPI PUSH2 0x4AD0 PUSH2 0x4A37 JUMP JUMPDEST PUSH2 0x4AE3 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x4A76 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4AF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4B28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4B33 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4B4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4B5A DUP6 DUP3 DUP7 ADD PUSH2 0x4AA6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4B8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x349C DUP5 DUP3 DUP6 ADD PUSH2 0x4AA6 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2635 DUP2 PUSH2 0x4B98 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4BD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4BEF JUMPI PUSH2 0x4BEF PUSH2 0x4A37 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x4BFE DUP3 DUP3 ADD PUSH2 0x4A76 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x4C18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x4C37 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x4C1E JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C54 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4C6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x180 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x4C80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4C88 PUSH2 0x4A4D JUMP JUMPDEST DUP3 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x4C97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CA3 DUP8 DUP3 DUP7 ADD PUSH2 0x4AA6 JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x4CB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CC4 DUP8 DUP3 DUP7 ADD PUSH2 0x4AA6 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x4CD6 PUSH1 0x40 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x4CE7 PUSH1 0x60 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x4CF8 PUSH1 0x80 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x4D09 PUSH1 0xA0 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x4D1A PUSH1 0xC0 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP4 ADD CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x4D3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D49 DUP9 DUP3 DUP8 ADD PUSH2 0x4AA6 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x120 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x4D63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D6F DUP9 DUP3 DUP8 ADD PUSH2 0x4BC3 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x140 SWAP2 POP PUSH2 0x4D85 DUP3 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x160 SWAP2 POP PUSH2 0x4D99 DUP3 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x4DC7 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x48D8 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2635 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4DA8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4E0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4E1A DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4E84 JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x4E72 DUP6 DUP4 MLOAD PUSH2 0x4DA8 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4E56 JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4EA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4EAF DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x49ED DUP2 PUSH2 0x4B98 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4ED1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4EE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x349C DUP5 DUP3 DUP6 ADD PUSH2 0x4BC3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4F09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x4F14 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x4F24 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4F46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F52 DUP8 DUP3 DUP9 ADD PUSH2 0x4AA6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4F74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x4F7F DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x4F8F DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x4F9F DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4FBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F52 DUP8 DUP3 DUP9 ADD PUSH2 0x4BC3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2635 DUP2 PUSH2 0x4846 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4FF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5001 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x49ED DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x5025 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x5045 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x508C JUMPI PUSH2 0x508C PUSH2 0x5064 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4964 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x50C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 MLOAD PUSH2 0x50D0 DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH1 0x20 DUP10 ADD MLOAD SWAP1 SWAP8 POP PUSH2 0x50E1 DUP2 PUSH2 0x4846 JUMP JUMPDEST PUSH1 0x40 DUP10 ADD MLOAD SWAP1 SWAP7 POP PUSH2 0x50F2 DUP2 PUSH2 0x4B98 JUMP JUMPDEST PUSH1 0x60 DUP10 ADD MLOAD SWAP1 SWAP6 POP PUSH2 0x5103 DUP2 PUSH2 0x4B98 JUMP JUMPDEST SWAP4 POP PUSH2 0x5111 PUSH1 0x80 DUP10 ADD PUSH2 0x5093 JUMP JUMPDEST SWAP3 POP PUSH2 0x511F PUSH1 0xA0 DUP10 ADD PUSH2 0x5093 JUMP JUMPDEST SWAP2 POP PUSH2 0x512D PUSH1 0xC0 DUP10 ADD PUSH2 0x5093 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xD4C JUMPI PUSH2 0xD4C PUSH2 0x5064 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2635 DUP2 PUSH2 0x4B98 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2635 DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x525B DUP2 PUSH2 0x5011 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x5273 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5288 JUMPI PUSH2 0x52B7 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x52B7 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x52AE JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x5295 JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x52D5 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x48B4 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1114 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5306 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x222F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5312 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x533E JUMPI PUSH2 0x533E PUSH2 0x4A37 JUMP JUMPDEST PUSH2 0x5352 DUP2 PUSH2 0x534C DUP5 SLOAD PUSH2 0x5011 JUMP JUMPDEST DUP5 PUSH2 0x52DF JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5387 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x536F JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x222F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x53B6 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5397 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x53D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xD4C JUMPI PUSH2 0xD4C PUSH2 0x5064 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x35 SWAP1 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5643 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F7665636861696E4E6F6465732063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5603 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x54E6 DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x48B4 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xD4C JUMPI PUSH2 0xD4C PUSH2 0x5064 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x52B7 JUMPI DUP2 MLOAD DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5518 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x554A JUMPI PUSH2 0x554A PUSH2 0x5064 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5565 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x48B4 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x5579 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x48B4 JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x55C5 SWAP1 DUP4 ADD DUP5 PUSH2 0x48D8 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2635 DUP2 PUSH2 0x4881 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 0x4D PUSH2 0x7820 PUSH13 0x6576656C206D75737420626547 PUSH2 0x6C61 PUSH25 0x79204D656D6265723A204233545220746F2075706772616465 KECCAK256 PUSH14 0xC7F505B2F371AE2175EE4913F449 SWAP15 0x1F 0x26 CALLER 0xA7 0xB5 SWAP4 PUSH4 0x21EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E347 PUSH2 0x6C61 PUSH25 0x794D656D6265723A20696E76616C6964206E6F646520667265 PUSH6 0x20360894A13B LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A9F2DF0FE 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F547616C6178794D656D PUSH3 0x65723A KECCAK256 PUSH23 0x65636861696E206E6F6465206E6F74206FA26469706673 PC 0x22 SLT KECCAK256 0xE1 0xD0 0xB1 0xD7 SWAP15 0x4B PC 0xFC LOG2 0xE AND PUSH17 0x776902BCFAD73230D228107F3BF55E3F38 0xDF 0xEF 0xD8 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"3544:32994:61:-:0;;;1171:4:3;1128:48;;8552:47:61;;;;;;;;;-1:-1:-1;8572:22:61;:20;:22::i;:::-;3544:32994;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;3544:32994:61;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CONTRACTS_ADDRESS_MANAGER_ROLE_27140":{"entryPoint":null,"id":27140,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@MAX_LEVEL_28919":{"entryPoint":11086,"id":28919,"parameterSlots":0,"returnSlots":1},"@MINTER_ROLE_27135":{"entryPoint":null,"id":27135,"parameterSlots":0,"returnSlots":0},"@NODES_MANAGER_ROLE_27145":{"entryPoint":null,"id":27145,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_27130":{"entryPoint":null,"id":27130,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_27125":{"entryPoint":null,"id":27125,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":null,"id":63,"parameterSlots":0,"returnSlots":0},"@__ERC721Burnable_init_3165":{"entryPoint":null,"id":3165,"parameterSlots":0,"returnSlots":0},"@__ERC721Enumerable_init_3252":{"entryPoint":14584,"id":3252,"parameterSlots":0,"returnSlots":0},"@__ERC721Pausable_init_3698":{"entryPoint":14592,"id":3698,"parameterSlots":0,"returnSlots":0},"@__ERC721_init_2099":{"entryPoint":14566,"id":2099,"parameterSlots":2,"returnSlots":0},"@__ERC721_init_unchained_2127":{"entryPoint":16480,"id":2127,"parameterSlots":2,"returnSlots":0},"@__Pausable_init_unchained_4057":{"entryPoint":16526,"id":4057,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_4203":{"entryPoint":14608,"id":4203,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_unchained_4221":{"entryPoint":16555,"id":4221,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":null,"id":1786,"parameterSlots":0,"returnSlots":0},"@_addTokenToAllTokensEnumeration_3510":{"entryPoint":17543,"id":3510,"parameterSlots":1,"returnSlots":0},"@_addTokenToOwnerEnumeration_3479":{"entryPoint":17962,"id":3479,"parameterSlots":2,"returnSlots":0},"@_approve_2931":{"entryPoint":13069,"id":2931,"parameterSlots":3,"returnSlots":0},"@_approve_3005":{"entryPoint":15971,"id":3005,"parameterSlots":4,"returnSlots":0},"@_authorizeUpgrade_27676":{"entryPoint":14168,"id":27676,"parameterSlots":1,"returnSlots":0},"@_baseURI_29378":{"entryPoint":14665,"id":29378,"parameterSlots":0,"returnSlots":1},"@_checkAuthorized_2559":{"entryPoint":18234,"id":2559,"parameterSlots":3,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":16443,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":17200,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":14372,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkOnERC721Received_3143":{"entryPoint":15612,"id":3143,"parameterSlots":4,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":14003,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":12853,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":15891,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":13476,"id":46,"parameterSlots":0,"returnSlots":1},"@_getApproved_2486":{"entryPoint":13028,"id":2486,"parameterSlots":1,"returnSlots":1},"@_getERC721EnumerableStorage_3236":{"entryPoint":13082,"id":3236,"parameterSlots":0,"returnSlots":1},"@_getERC721Storage_2083":{"entryPoint":12936,"id":2083,"parameterSlots":0,"returnSlots":1},"@_getGalaxyMemberStorage_27224":{"entryPoint":12863,"id":27224,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":14530,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getLevelOfAndB3TRleft_28617":{"entryPoint":14694,"id":28617,"parameterSlots":2,"returnSlots":2},"@_getPausableStorage_4013":{"entryPoint":14494,"id":4013,"parameterSlots":0,"returnSlots":1},"@_getReentrancyGuardStorage_4191":{"entryPoint":16295,"id":4191,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":13512,"id":315,"parameterSlots":2,"returnSlots":1},"@_isAuthorized_2522":{"entryPoint":18361,"id":2522,"parameterSlots":3,"returnSlots":1},"@_isInitializing_1722":{"entryPoint":17254,"id":1722,"parameterSlots":0,"returnSlots":1},"@_mint_2735":{"entryPoint":18133,"id":2735,"parameterSlots":2,"returnSlots":0},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_nonReentrantAfter_4273":{"entryPoint":13986,"id":4273,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_4257":{"entryPoint":13892,"id":4257,"parameterSlots":0,"returnSlots":0},"@_ownerOf_2466":{"entryPoint":14624,"id":2466,"parameterSlots":1,"returnSlots":1},"@_pause_4138":{"entryPoint":15230,"id":4138,"parameterSlots":0,"returnSlots":0},"@_removeTokenFromAllTokensEnumeration_3648":{"entryPoint":17761,"id":3648,"parameterSlots":1,"returnSlots":0},"@_removeTokenFromOwnerEnumeration_3584":{"entryPoint":17600,"id":3584,"parameterSlots":2,"returnSlots":0},"@_requireNotPaused_4101":{"entryPoint":13946,"id":4101,"parameterSlots":0,"returnSlots":0},"@_requireOwned_3079":{"entryPoint":12972,"id":3079,"parameterSlots":1,"returnSlots":1},"@_requirePaused_4114":{"entryPoint":16258,"id":4114,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":18320,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":13673,"id":361,"parameterSlots":2,"returnSlots":1},"@_safeMint_2750":{"entryPoint":16417,"id":2750,"parameterSlots":2,"returnSlots":0},"@_safeMint_2776":{"entryPoint":17231,"id":2776,"parameterSlots":3,"returnSlots":0},"@_select_27872":{"entryPoint":15067,"id":27872,"parameterSlots":2,"returnSlots":0},"@_setApprovalForAll_3050":{"entryPoint":15447,"id":3050,"parameterSlots":3,"returnSlots":0},"@_setImplementation_4791":{"entryPoint":16999,"id":4791,"parameterSlots":1,"returnSlots":0},"@_unpause_4162":{"entryPoint":13793,"id":4162,"parameterSlots":0,"returnSlots":0},"@_update_2685":{"entryPoint":17280,"id":2685,"parameterSlots":3,"returnSlots":1},"@_update_29324":{"entryPoint":13118,"id":29324,"parameterSlots":3,"returnSlots":1},"@_update_3438":{"entryPoint":16857,"id":3438,"parameterSlots":3,"returnSlots":1},"@_update_3727":{"entryPoint":16237,"id":3727,"parameterSlots":3,"returnSlots":1},"@_upgradeToAndCallUUPS_1913":{"entryPoint":14192,"id":1913,"parameterSlots":2,"returnSlots":0},"@approve_2299":{"entryPoint":3592,"id":2299,"parameterSlots":2,"returnSlots":0},"@attachNode_27974":{"entryPoint":9818,"id":27974,"parameterSlots":2,"returnSlots":0},"@b3trGovernor_28870":{"entryPoint":9230,"id":28870,"parameterSlots":0,"returnSlots":1},"@b3tr_28887":{"entryPoint":7011,"id":28887,"parameterSlots":0,"returnSlots":1},"@balanceOf_2193":{"entryPoint":9142,"id":2193,"parameterSlots":1,"returnSlots":1},"@baseURI_28771":{"entryPoint":9092,"id":28771,"parameterSlots":0,"returnSlots":1},"@burn_27897":{"entryPoint":4840,"id":27897,"parameterSlots":1,"returnSlots":0},"@burn_3188":{"entryPoint":13880,"id":3188,"parameterSlots":1,"returnSlots":0},"@detachNode_28053":{"entryPoint":5943,"id":28053,"parameterSlots":2,"returnSlots":0},"@freeMint_27718":{"entryPoint":7145,"id":27718,"parameterSlots":0,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":17091,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getApproved_2316":{"entryPoint":3571,"id":2316,"parameterSlots":1,"returnSlots":1},"@getB3TRdonated_28979":{"entryPoint":9788,"id":28979,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgradeToLevel_28791":{"entryPoint":3799,"id":28791,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgrade_28504":{"entryPoint":11107,"id":28504,"parameterSlots":1,"returnSlots":1},"@getIdAttachedToNode_28934":{"entryPoint":6795,"id":28934,"parameterSlots":1,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getLevelAfterAttachingNode_28682":{"entryPoint":11062,"id":28682,"parameterSlots":2,"returnSlots":1},"@getLevelAfterDetachingNode_28700":{"entryPoint":12373,"id":28700,"parameterSlots":1,"returnSlots":1},"@getNodeIdAttached_28949":{"entryPoint":11003,"id":28949,"parameterSlots":1,"returnSlots":1},"@getNodeLevelOf_28642":{"entryPoint":4666,"id":28642,"parameterSlots":1,"returnSlots":1},"@getNodeToFreeLevel_28964":{"entryPoint":12752,"id":28964,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":3767,"id":171,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenId_28662":{"entryPoint":12395,"id":28662,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenInfoByOwner_29075":{"entryPoint":12722,"id":29075,"parameterSlots":1,"returnSlots":1},"@getTokenInfoByTokenId_29055":{"entryPoint":8916,"id":29055,"parameterSlots":1,"returnSlots":1},"@getTokensInfoByOwner_29214":{"entryPoint":9302,"id":29214,"parameterSlots":3,"returnSlots":1},"@grantRole_190":{"entryPoint":3831,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":10949,"id":116,"parameterSlots":2,"returnSlots":1},"@initializeV2_27665":{"entryPoint":11493,"id":27665,"parameterSlots":4,"returnSlots":0},"@initialize_27549":{"entryPoint":7432,"id":27549,"parameterSlots":1,"returnSlots":0},"@isApprovedForAll_2356":{"entryPoint":12790,"id":2356,"parameterSlots":2,"returnSlots":1},"@levelOf_28453":{"entryPoint":9107,"id":28453,"parameterSlots":1,"returnSlots":1},"@log10_6835":{"entryPoint":16563,"id":6835,"parameterSlots":1,"returnSlots":1},"@name_2222":{"entryPoint":3410,"id":2222,"parameterSlots":0,"returnSlots":1},"@ownerOf_2206":{"entryPoint":8905,"id":2206,"parameterSlots":1,"returnSlots":1},"@participatedInGovernance_28761":{"entryPoint":10465,"id":28761,"parameterSlots":1,"returnSlots":1},"@pause_27687":{"entryPoint":9270,"id":27687,"parameterSlots":0,"returnSlots":0},"@paused_4089":{"entryPoint":7384,"id":4089,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":6825,"id":1804,"parameterSlots":0,"returnSlots":1},"@renounceRole_232":{"entryPoint":4321,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":12440,"id":209,"parameterSlots":2,"returnSlots":0},"@safeMint_28077":{"entryPoint":14445,"id":28077,"parameterSlots":1,"returnSlots":0},"@safeTransferFrom_2420":{"entryPoint":4813,"id":2420,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_2446":{"entryPoint":11470,"id":2446,"parameterSlots":4,"returnSlots":0},"@select_27835":{"entryPoint":9260,"id":27835,"parameterSlots":1,"returnSlots":0},"@setApprovalForAll_2332":{"entryPoint":11075,"id":2332,"parameterSlots":2,"returnSlots":0},"@setB3TRtoUpgradeToLevel_28321":{"entryPoint":11230,"id":28321,"parameterSlots":1,"returnSlots":0},"@setB3trGovernorAddress_28228":{"entryPoint":12468,"id":28228,"parameterSlots":1,"returnSlots":0},"@setBaseURI_28267":{"entryPoint":6854,"id":28267,"parameterSlots":1,"returnSlots":0},"@setIsPublicMintingPaused_28347":{"entryPoint":7041,"id":28347,"parameterSlots":1,"returnSlots":0},"@setMaxLevel_28139":{"entryPoint":3957,"id":28139,"parameterSlots":1,"returnSlots":0},"@setNodeToFreeUpgradeLevel_28429":{"entryPoint":3042,"id":28429,"parameterSlots":2,"returnSlots":0},"@setVechainNodes_28381":{"entryPoint":8759,"id":28381,"parameterSlots":1,"returnSlots":0},"@setXAllocationsGovernorAddress_28182":{"entryPoint":4377,"id":28182,"parameterSlots":1,"returnSlots":0},"@supportsInterface_2158":{"entryPoint":16777,"id":2158,"parameterSlots":1,"returnSlots":1},"@supportsInterface_29361":{"entryPoint":3393,"id":29361,"parameterSlots":1,"returnSlots":1},"@supportsInterface_3282":{"entryPoint":15934,"id":3282,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":12899,"id":91,"parameterSlots":1,"returnSlots":1},"@symbol_2238":{"entryPoint":11033,"id":2238,"parameterSlots":0,"returnSlots":1},"@toString_5762":{"entryPoint":15301,"id":5762,"parameterSlots":1,"returnSlots":1},"@tokenByIndex_3369":{"entryPoint":6698,"id":3369,"parameterSlots":1,"returnSlots":1},"@tokenOfOwnerByIndex_3318":{"entryPoint":3859,"id":3318,"parameterSlots":2,"returnSlots":1},"@tokenURI_28836":{"entryPoint":12228,"id":28836,"parameterSlots":1,"returnSlots":1},"@totalSupply_3335":{"entryPoint":3607,"id":3335,"parameterSlots":0,"returnSlots":1},"@transferFrom_2402":{"entryPoint":3628,"id":2402,"parameterSlots":3,"returnSlots":0},"@treasury_28903":{"entryPoint":8875,"id":28903,"parameterSlots":0,"returnSlots":1},"@unpause_27698":{"entryPoint":4631,"id":27698,"parameterSlots":0,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":6671,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":16331,"id":4825,"parameterSlots":2,"returnSlots":0},"@upgrade_27822":{"entryPoint":4897,"id":27822,"parameterSlots":1,"returnSlots":0},"@verifyCallResultFromTarget_5543":{"entryPoint":18050,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_28988":{"entryPoint":null,"id":28988,"parameterSlots":0,"returnSlots":1},"@xAllocationsGovernor_28853":{"entryPoint":7405,"id":28853,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":18777,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":19395,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":19110,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":18936,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":20951,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":20451,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":20318,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":18823,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":20211,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":20113,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":19221,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":18793,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_uint256":{"entryPoint":19962,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint8t_boolt_boolt_uint64t_uint64t_uint64_fromMemory":{"entryPoint":20650,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":20159,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool":{"entryPoint":19366,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":20922,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":18888,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":18583,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":21967,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":19300,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_InitializationData_$27346_memory_ptr":{"entryPoint":19522,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":18711,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":20878,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":18965,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint8":{"entryPoint":20422,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8t_uint256":{"entryPoint":18517,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_uint64_fromMemory":{"entryPoint":20627,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_string":{"entryPoint":18648,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_struct_TokenInfo":{"entryPoint":19880,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21770,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21187,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed":{"entryPoint":21843,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21069,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21668,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":18736,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":21906,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":20555,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":20015,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":21562,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":18692,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":21582,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":20795,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":21002,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":21495,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_TokenInfo_$28997_memory_ptr__to_t_struct$_TokenInfo_$28997_memory_ptr__fromStack_reversed":{"entryPoint":19943,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":19062,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_5913":{"entryPoint":19021,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":20903,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":21747,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":21476,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":21215,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":21285,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":18612,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":20497,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":20602,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint8":{"entryPoint":21812,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":20580,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":21996,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":20980,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":18999,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":18756,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":19352,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":18561,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":18502,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:43044:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"57:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"106:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"115:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"118:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"108:6:150"},"nodeType":"YulFunctionCall","src":"108:12:150"},"nodeType":"YulExpressionStatement","src":"108:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"98:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"87:3:150"},"nodeType":"YulFunctionCall","src":"87:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"77:2:150"},"nodeType":"YulFunctionCall","src":"77:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"70:6:150"},"nodeType":"YulFunctionCall","src":"70:35:150"},"nodeType":"YulIf","src":"67:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"46:5:150","type":""}],"src":"14:114:150"},{"body":{"nodeType":"YulBlock","src":"218:226:150","statements":[{"body":{"nodeType":"YulBlock","src":"264:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"273:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"276:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"266:6:150"},"nodeType":"YulFunctionCall","src":"266:12:150"},"nodeType":"YulExpressionStatement","src":"266:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"239:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"248:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:150"},"nodeType":"YulFunctionCall","src":"235:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"260:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"231:3:150"},"nodeType":"YulFunctionCall","src":"231:32:150"},"nodeType":"YulIf","src":"228:52:150"},{"nodeType":"YulVariableDeclaration","src":"289:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"315:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"302:12:150"},"nodeType":"YulFunctionCall","src":"302:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"293:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"357:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"334:22:150"},"nodeType":"YulFunctionCall","src":"334:29:150"},"nodeType":"YulExpressionStatement","src":"334:29:150"},{"nodeType":"YulAssignment","src":"372:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"382:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"372:6:150"}]},{"nodeType":"YulAssignment","src":"396:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"434:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"419:3:150"},"nodeType":"YulFunctionCall","src":"419:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"406:12:150"},"nodeType":"YulFunctionCall","src":"406:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"396:6:150"}]}]},"name":"abi_decode_tuple_t_uint8t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"176:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"187:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"199:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"207:6:150","type":""}],"src":"133:311:150"},{"body":{"nodeType":"YulBlock","src":"493:87:150","statements":[{"body":{"nodeType":"YulBlock","src":"558:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"567:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"570:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"560:6:150"},"nodeType":"YulFunctionCall","src":"560:12:150"},"nodeType":"YulExpressionStatement","src":"560:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"516:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"527:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"538:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"543:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"534:3:150"},"nodeType":"YulFunctionCall","src":"534:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"523:3:150"},"nodeType":"YulFunctionCall","src":"523:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"513:2:150"},"nodeType":"YulFunctionCall","src":"513:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"506:6:150"},"nodeType":"YulFunctionCall","src":"506:51:150"},"nodeType":"YulIf","src":"503:71:150"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"482:5:150","type":""}],"src":"449:131:150"},{"body":{"nodeType":"YulBlock","src":"654:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"700:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"709:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"712:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"702:6:150"},"nodeType":"YulFunctionCall","src":"702:12:150"},"nodeType":"YulExpressionStatement","src":"702:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"675:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"684:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"671:3:150"},"nodeType":"YulFunctionCall","src":"671:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"696:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"667:3:150"},"nodeType":"YulFunctionCall","src":"667:32:150"},"nodeType":"YulIf","src":"664:52:150"},{"nodeType":"YulVariableDeclaration","src":"725:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"751:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"738:12:150"},"nodeType":"YulFunctionCall","src":"738:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"729:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"794:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"770:23:150"},"nodeType":"YulFunctionCall","src":"770:30:150"},"nodeType":"YulExpressionStatement","src":"770:30:150"},{"nodeType":"YulAssignment","src":"809:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"819:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"809:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"620:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"631:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"643:6:150","type":""}],"src":"585:245:150"},{"body":{"nodeType":"YulBlock","src":"930:92:150","statements":[{"nodeType":"YulAssignment","src":"940:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"963:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"948:3:150"},"nodeType":"YulFunctionCall","src":"948:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"940:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"982:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1007:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1000:6:150"},"nodeType":"YulFunctionCall","src":"1000:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"993:6:150"},"nodeType":"YulFunctionCall","src":"993:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"975:6:150"},"nodeType":"YulFunctionCall","src":"975:41:150"},"nodeType":"YulExpressionStatement","src":"975:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"899:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"910:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"921:4:150","type":""}],"src":"835:187:150"},{"body":{"nodeType":"YulBlock","src":"1093:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1103:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1112:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1107:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1172:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1197:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1202:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1193:3:150"},"nodeType":"YulFunctionCall","src":"1193:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1216:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1221:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1212:3:150"},"nodeType":"YulFunctionCall","src":"1212:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1206:5:150"},"nodeType":"YulFunctionCall","src":"1206:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1186:6:150"},"nodeType":"YulFunctionCall","src":"1186:39:150"},"nodeType":"YulExpressionStatement","src":"1186:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1133:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1136:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1130:2:150"},"nodeType":"YulFunctionCall","src":"1130:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1144:19:150","statements":[{"nodeType":"YulAssignment","src":"1146:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1155:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1158:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1151:3:150"},"nodeType":"YulFunctionCall","src":"1151:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1146:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1126:3:150","statements":[]},"src":"1122:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1255:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1260:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1251:3:150"},"nodeType":"YulFunctionCall","src":"1251:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"1269:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1244:6:150"},"nodeType":"YulFunctionCall","src":"1244:27:150"},"nodeType":"YulExpressionStatement","src":"1244:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1071:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1076:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1081:6:150","type":""}],"src":"1027:250:150"},{"body":{"nodeType":"YulBlock","src":"1332:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1342:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1362:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1356:5:150"},"nodeType":"YulFunctionCall","src":"1356:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1346:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1384:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1389:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1377:6:150"},"nodeType":"YulFunctionCall","src":"1377:19:150"},"nodeType":"YulExpressionStatement","src":"1377:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1444:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1451:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1440:3:150"},"nodeType":"YulFunctionCall","src":"1440:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1462:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"1467:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1458:3:150"},"nodeType":"YulFunctionCall","src":"1458:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"1474:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"1405:34:150"},"nodeType":"YulFunctionCall","src":"1405:76:150"},"nodeType":"YulExpressionStatement","src":"1405:76:150"},{"nodeType":"YulAssignment","src":"1490:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1505:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1518:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1526:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1514:3:150"},"nodeType":"YulFunctionCall","src":"1514:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1535:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1531:3:150"},"nodeType":"YulFunctionCall","src":"1531:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1510:3:150"},"nodeType":"YulFunctionCall","src":"1510:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1501:3:150"},"nodeType":"YulFunctionCall","src":"1501:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"1542:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1497:3:150"},"nodeType":"YulFunctionCall","src":"1497:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1490:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1309:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1316:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1324:3:150","type":""}],"src":"1282:271:150"},{"body":{"nodeType":"YulBlock","src":"1679:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1696:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1707:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1689:6:150"},"nodeType":"YulFunctionCall","src":"1689:21:150"},"nodeType":"YulExpressionStatement","src":"1689:21:150"},{"nodeType":"YulAssignment","src":"1719:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1745:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1757:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1768:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1753:3:150"},"nodeType":"YulFunctionCall","src":"1753:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1727:17:150"},"nodeType":"YulFunctionCall","src":"1727:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1719:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1648:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1659:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1670:4:150","type":""}],"src":"1558:220:150"},{"body":{"nodeType":"YulBlock","src":"1853:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1899:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1908:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1911:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1901:6:150"},"nodeType":"YulFunctionCall","src":"1901:12:150"},"nodeType":"YulExpressionStatement","src":"1901:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1874:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1883:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1870:3:150"},"nodeType":"YulFunctionCall","src":"1870:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1895:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1866:3:150"},"nodeType":"YulFunctionCall","src":"1866:32:150"},"nodeType":"YulIf","src":"1863:52:150"},{"nodeType":"YulAssignment","src":"1924:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1947:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1934:12:150"},"nodeType":"YulFunctionCall","src":"1934:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1924:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1819:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1830:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1842:6:150","type":""}],"src":"1783:180:150"},{"body":{"nodeType":"YulBlock","src":"2069:102:150","statements":[{"nodeType":"YulAssignment","src":"2079:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2091:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2102:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2087:3:150"},"nodeType":"YulFunctionCall","src":"2087:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2079:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2121:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2136:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2152:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2157:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2148:3:150"},"nodeType":"YulFunctionCall","src":"2148:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2161:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2144:3:150"},"nodeType":"YulFunctionCall","src":"2144:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2132:3:150"},"nodeType":"YulFunctionCall","src":"2132:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2114:6:150"},"nodeType":"YulFunctionCall","src":"2114:51:150"},"nodeType":"YulExpressionStatement","src":"2114:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2038:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2049:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2060:4:150","type":""}],"src":"1968:203:150"},{"body":{"nodeType":"YulBlock","src":"2221:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"2285:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2294:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2297:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2287:6:150"},"nodeType":"YulFunctionCall","src":"2287:12:150"},"nodeType":"YulExpressionStatement","src":"2287:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2244:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2255:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2270:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2275:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2266:3:150"},"nodeType":"YulFunctionCall","src":"2266:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2279:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2262:3:150"},"nodeType":"YulFunctionCall","src":"2262:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2251:3:150"},"nodeType":"YulFunctionCall","src":"2251:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2241:2:150"},"nodeType":"YulFunctionCall","src":"2241:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2234:6:150"},"nodeType":"YulFunctionCall","src":"2234:50:150"},"nodeType":"YulIf","src":"2231:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2210:5:150","type":""}],"src":"2176:131:150"},{"body":{"nodeType":"YulBlock","src":"2361:85:150","statements":[{"nodeType":"YulAssignment","src":"2371:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2393:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2380:12:150"},"nodeType":"YulFunctionCall","src":"2380:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2371:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2434:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2409:24:150"},"nodeType":"YulFunctionCall","src":"2409:31:150"},"nodeType":"YulExpressionStatement","src":"2409:31:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2340:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2351:5:150","type":""}],"src":"2312:134:150"},{"body":{"nodeType":"YulBlock","src":"2538:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"2584:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2593:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2596:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2586:6:150"},"nodeType":"YulFunctionCall","src":"2586:12:150"},"nodeType":"YulExpressionStatement","src":"2586:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2559:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2568:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2555:3:150"},"nodeType":"YulFunctionCall","src":"2555:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2580:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2551:3:150"},"nodeType":"YulFunctionCall","src":"2551:32:150"},"nodeType":"YulIf","src":"2548:52:150"},{"nodeType":"YulVariableDeclaration","src":"2609:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2635:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2622:12:150"},"nodeType":"YulFunctionCall","src":"2622:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2613:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2679:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2654:24:150"},"nodeType":"YulFunctionCall","src":"2654:31:150"},"nodeType":"YulExpressionStatement","src":"2654:31:150"},{"nodeType":"YulAssignment","src":"2694:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2704:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2694:6:150"}]},{"nodeType":"YulAssignment","src":"2718:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2745:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2756:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2741:3:150"},"nodeType":"YulFunctionCall","src":"2741:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2728:12:150"},"nodeType":"YulFunctionCall","src":"2728:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2718:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2496:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2507:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2519:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2527:6:150","type":""}],"src":"2451:315:150"},{"body":{"nodeType":"YulBlock","src":"2872:76:150","statements":[{"nodeType":"YulAssignment","src":"2882:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2894:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2905:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2890:3:150"},"nodeType":"YulFunctionCall","src":"2890:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2882:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2924:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"2935:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2917:6:150"},"nodeType":"YulFunctionCall","src":"2917:25:150"},"nodeType":"YulExpressionStatement","src":"2917:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2841:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2852:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2863:4:150","type":""}],"src":"2771:177:150"},{"body":{"nodeType":"YulBlock","src":"3057:352:150","statements":[{"body":{"nodeType":"YulBlock","src":"3103:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3112:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3115:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3105:6:150"},"nodeType":"YulFunctionCall","src":"3105:12:150"},"nodeType":"YulExpressionStatement","src":"3105:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3078:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3087:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3074:3:150"},"nodeType":"YulFunctionCall","src":"3074:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3099:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3070:3:150"},"nodeType":"YulFunctionCall","src":"3070:32:150"},"nodeType":"YulIf","src":"3067:52:150"},{"nodeType":"YulVariableDeclaration","src":"3128:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3154:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3141:12:150"},"nodeType":"YulFunctionCall","src":"3141:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3132:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3198:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3173:24:150"},"nodeType":"YulFunctionCall","src":"3173:31:150"},"nodeType":"YulExpressionStatement","src":"3173:31:150"},{"nodeType":"YulAssignment","src":"3213:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3223:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3213:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3237:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3280:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3265:3:150"},"nodeType":"YulFunctionCall","src":"3265:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3252:12:150"},"nodeType":"YulFunctionCall","src":"3252:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"3241:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"3318:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3293:24:150"},"nodeType":"YulFunctionCall","src":"3293:33:150"},"nodeType":"YulExpressionStatement","src":"3293:33:150"},{"nodeType":"YulAssignment","src":"3335:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"3345:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3335:6:150"}]},{"nodeType":"YulAssignment","src":"3361:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3388:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3399:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3384:3:150"},"nodeType":"YulFunctionCall","src":"3384:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3371:12:150"},"nodeType":"YulFunctionCall","src":"3371:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3361:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3007:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3018:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3030:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3038:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3046:6:150","type":""}],"src":"2953:456:150"},{"body":{"nodeType":"YulBlock","src":"3484:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"3530:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3539:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3542:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3532:6:150"},"nodeType":"YulFunctionCall","src":"3532:12:150"},"nodeType":"YulExpressionStatement","src":"3532:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3505:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3514:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3501:3:150"},"nodeType":"YulFunctionCall","src":"3501:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3526:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3497:3:150"},"nodeType":"YulFunctionCall","src":"3497:32:150"},"nodeType":"YulIf","src":"3494:52:150"},{"nodeType":"YulAssignment","src":"3555:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3578:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3565:12:150"},"nodeType":"YulFunctionCall","src":"3565:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3555:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3450:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3461:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3473:6:150","type":""}],"src":"3414:180:150"},{"body":{"nodeType":"YulBlock","src":"3700:76:150","statements":[{"nodeType":"YulAssignment","src":"3710:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3722:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3733:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3718:3:150"},"nodeType":"YulFunctionCall","src":"3718:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3710:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3752:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3763:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3745:6:150"},"nodeType":"YulFunctionCall","src":"3745:25:150"},"nodeType":"YulExpressionStatement","src":"3745:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3669:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3680:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3691:4:150","type":""}],"src":"3599:177:150"},{"body":{"nodeType":"YulBlock","src":"3868:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"3914:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3923:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3926:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3916:6:150"},"nodeType":"YulFunctionCall","src":"3916:12:150"},"nodeType":"YulExpressionStatement","src":"3916:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3889:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3898:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3885:3:150"},"nodeType":"YulFunctionCall","src":"3885:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3910:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3881:3:150"},"nodeType":"YulFunctionCall","src":"3881:32:150"},"nodeType":"YulIf","src":"3878:52:150"},{"nodeType":"YulAssignment","src":"3939:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3962:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3949:12:150"},"nodeType":"YulFunctionCall","src":"3949:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3939:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3981:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4011:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4022:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4007:3:150"},"nodeType":"YulFunctionCall","src":"4007:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3994:12:150"},"nodeType":"YulFunctionCall","src":"3994:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3985:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4060:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4035:24:150"},"nodeType":"YulFunctionCall","src":"4035:31:150"},"nodeType":"YulExpressionStatement","src":"4035:31:150"},{"nodeType":"YulAssignment","src":"4075:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4085:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4075:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3826:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3837:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3849:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3857:6:150","type":""}],"src":"3781:315:150"},{"body":{"nodeType":"YulBlock","src":"4171:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"4217:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4226:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4229:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4219:6:150"},"nodeType":"YulFunctionCall","src":"4219:12:150"},"nodeType":"YulExpressionStatement","src":"4219:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4192:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4201:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4188:3:150"},"nodeType":"YulFunctionCall","src":"4188:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4213:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4184:3:150"},"nodeType":"YulFunctionCall","src":"4184:32:150"},"nodeType":"YulIf","src":"4181:52:150"},{"nodeType":"YulVariableDeclaration","src":"4242:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4268:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4255:12:150"},"nodeType":"YulFunctionCall","src":"4255:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4246:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4312:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4287:24:150"},"nodeType":"YulFunctionCall","src":"4287:31:150"},"nodeType":"YulExpressionStatement","src":"4287:31:150"},{"nodeType":"YulAssignment","src":"4327:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4337:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4327:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4137:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4148:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4160:6:150","type":""}],"src":"4101:247:150"},{"body":{"nodeType":"YulBlock","src":"4450:87:150","statements":[{"nodeType":"YulAssignment","src":"4460:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4472:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4483:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4468:3:150"},"nodeType":"YulFunctionCall","src":"4468:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4460:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4502:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4517:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4525:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4513:3:150"},"nodeType":"YulFunctionCall","src":"4513:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4495:6:150"},"nodeType":"YulFunctionCall","src":"4495:36:150"},"nodeType":"YulExpressionStatement","src":"4495:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4419:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4430:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4441:4:150","type":""}],"src":"4353:184:150"},{"body":{"nodeType":"YulBlock","src":"4629:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"4675:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4684:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4687:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4677:6:150"},"nodeType":"YulFunctionCall","src":"4677:12:150"},"nodeType":"YulExpressionStatement","src":"4677:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4650:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4659:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4646:3:150"},"nodeType":"YulFunctionCall","src":"4646:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4671:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4642:3:150"},"nodeType":"YulFunctionCall","src":"4642:32:150"},"nodeType":"YulIf","src":"4639:52:150"},{"nodeType":"YulAssignment","src":"4700:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4723:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4710:12:150"},"nodeType":"YulFunctionCall","src":"4710:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4700:6:150"}]},{"nodeType":"YulAssignment","src":"4742:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4769:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4780:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4765:3:150"},"nodeType":"YulFunctionCall","src":"4765:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4752:12:150"},"nodeType":"YulFunctionCall","src":"4752:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4742:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4587:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4598:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4610:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4618:6:150","type":""}],"src":"4542:248:150"},{"body":{"nodeType":"YulBlock","src":"4827:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4844:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4851:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4856:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4847:3:150"},"nodeType":"YulFunctionCall","src":"4847:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4837:6:150"},"nodeType":"YulFunctionCall","src":"4837:31:150"},"nodeType":"YulExpressionStatement","src":"4837:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4884:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4887:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4877:6:150"},"nodeType":"YulFunctionCall","src":"4877:15:150"},"nodeType":"YulExpressionStatement","src":"4877:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4908:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4911:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4901:6:150"},"nodeType":"YulFunctionCall","src":"4901:15:150"},"nodeType":"YulExpressionStatement","src":"4901:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"4795:127:150"},{"body":{"nodeType":"YulBlock","src":"4973:209:150","statements":[{"nodeType":"YulAssignment","src":"4983:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4999:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4993:5:150"},"nodeType":"YulFunctionCall","src":"4993:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4983:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5011:37:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5033:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5041:6:150","type":"","value":"0x0180"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5029:3:150"},"nodeType":"YulFunctionCall","src":"5029:19:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5015:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5123:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5125:16:150"},"nodeType":"YulFunctionCall","src":"5125:18:150"},"nodeType":"YulExpressionStatement","src":"5125:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5066:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5086:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5090:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5082:3:150"},"nodeType":"YulFunctionCall","src":"5082:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5094:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5078:3:150"},"nodeType":"YulFunctionCall","src":"5078:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5063:2:150"},"nodeType":"YulFunctionCall","src":"5063:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5102:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5114:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5099:2:150"},"nodeType":"YulFunctionCall","src":"5099:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5060:2:150"},"nodeType":"YulFunctionCall","src":"5060:62:150"},"nodeType":"YulIf","src":"5057:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5161:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5165:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5154:6:150"},"nodeType":"YulFunctionCall","src":"5154:22:150"},"nodeType":"YulExpressionStatement","src":"5154:22:150"}]},"name":"allocate_memory_5913","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4962:6:150","type":""}],"src":"4927:255:150"},{"body":{"nodeType":"YulBlock","src":"5232:230:150","statements":[{"nodeType":"YulAssignment","src":"5242:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5258:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5252:5:150"},"nodeType":"YulFunctionCall","src":"5252:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5242:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5270:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5292:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"5308:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"5314:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5304:3:150"},"nodeType":"YulFunctionCall","src":"5304:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5323:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5319:3:150"},"nodeType":"YulFunctionCall","src":"5319:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5300:3:150"},"nodeType":"YulFunctionCall","src":"5300:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5288:3:150"},"nodeType":"YulFunctionCall","src":"5288:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5274:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5403:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5405:16:150"},"nodeType":"YulFunctionCall","src":"5405:18:150"},"nodeType":"YulExpressionStatement","src":"5405:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5346:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5366:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5370:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5362:3:150"},"nodeType":"YulFunctionCall","src":"5362:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5374:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5358:3:150"},"nodeType":"YulFunctionCall","src":"5358:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5343:2:150"},"nodeType":"YulFunctionCall","src":"5343:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5382:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5394:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5379:2:150"},"nodeType":"YulFunctionCall","src":"5379:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5340:2:150"},"nodeType":"YulFunctionCall","src":"5340:62:150"},"nodeType":"YulIf","src":"5337:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5441:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5445:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5434:6:150"},"nodeType":"YulFunctionCall","src":"5434:22:150"},"nodeType":"YulExpressionStatement","src":"5434:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"5212:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5221:6:150","type":""}],"src":"5187:275:150"},{"body":{"nodeType":"YulBlock","src":"5519:478:150","statements":[{"body":{"nodeType":"YulBlock","src":"5568:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5577:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5580:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5570:6:150"},"nodeType":"YulFunctionCall","src":"5570:12:150"},"nodeType":"YulExpressionStatement","src":"5570:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5547:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5555:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5543:3:150"},"nodeType":"YulFunctionCall","src":"5543:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"5562:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5539:3:150"},"nodeType":"YulFunctionCall","src":"5539:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5532:6:150"},"nodeType":"YulFunctionCall","src":"5532:35:150"},"nodeType":"YulIf","src":"5529:55:150"},{"nodeType":"YulVariableDeclaration","src":"5593:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5616:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5603:12:150"},"nodeType":"YulFunctionCall","src":"5603:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5597:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5662:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5664:16:150"},"nodeType":"YulFunctionCall","src":"5664:18:150"},"nodeType":"YulExpressionStatement","src":"5664:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"5638:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5650:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5654:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5646:3:150"},"nodeType":"YulFunctionCall","src":"5646:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5658:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5642:3:150"},"nodeType":"YulFunctionCall","src":"5642:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5635:2:150"},"nodeType":"YulFunctionCall","src":"5635:26:150"},"nodeType":"YulIf","src":"5632:52:150"},{"nodeType":"YulVariableDeclaration","src":"5693:70:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"5736:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"5740:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5732:3:150"},"nodeType":"YulFunctionCall","src":"5732:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5751:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5747:3:150"},"nodeType":"YulFunctionCall","src":"5747:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5728:3:150"},"nodeType":"YulFunctionCall","src":"5728:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"5757:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5724:3:150"},"nodeType":"YulFunctionCall","src":"5724:38:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5708:15:150"},"nodeType":"YulFunctionCall","src":"5708:55:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"5697:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"5779:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5788:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5772:6:150"},"nodeType":"YulFunctionCall","src":"5772:19:150"},"nodeType":"YulExpressionStatement","src":"5772:19:150"},{"body":{"nodeType":"YulBlock","src":"5839:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5848:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5851:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5841:6:150"},"nodeType":"YulFunctionCall","src":"5841:12:150"},"nodeType":"YulExpressionStatement","src":"5841:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5814:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5822:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5810:3:150"},"nodeType":"YulFunctionCall","src":"5810:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"5827:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5806:3:150"},"nodeType":"YulFunctionCall","src":"5806:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"5834:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5803:2:150"},"nodeType":"YulFunctionCall","src":"5803:35:150"},"nodeType":"YulIf","src":"5800:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"5881:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"5890:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5877:3:150"},"nodeType":"YulFunctionCall","src":"5877:18:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5901:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5909:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5897:3:150"},"nodeType":"YulFunctionCall","src":"5897:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5916:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"5864:12:150"},"nodeType":"YulFunctionCall","src":"5864:55:150"},"nodeType":"YulExpressionStatement","src":"5864:55:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"5943:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5952:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5939:3:150"},"nodeType":"YulFunctionCall","src":"5939:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"5957:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5935:3:150"},"nodeType":"YulFunctionCall","src":"5935:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"5964:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5928:6:150"},"nodeType":"YulFunctionCall","src":"5928:38:150"},"nodeType":"YulExpressionStatement","src":"5928:38:150"},{"nodeType":"YulAssignment","src":"5975:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"5984:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5975:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5493:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5501:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5509:5:150","type":""}],"src":"5467:530:150"},{"body":{"nodeType":"YulBlock","src":"6098:359:150","statements":[{"body":{"nodeType":"YulBlock","src":"6144:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6153:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6156:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6146:6:150"},"nodeType":"YulFunctionCall","src":"6146:12:150"},"nodeType":"YulExpressionStatement","src":"6146:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6119:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6128:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6115:3:150"},"nodeType":"YulFunctionCall","src":"6115:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6140:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6111:3:150"},"nodeType":"YulFunctionCall","src":"6111:32:150"},"nodeType":"YulIf","src":"6108:52:150"},{"nodeType":"YulVariableDeclaration","src":"6169:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6195:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6182:12:150"},"nodeType":"YulFunctionCall","src":"6182:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6173:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6239:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6214:24:150"},"nodeType":"YulFunctionCall","src":"6214:31:150"},"nodeType":"YulExpressionStatement","src":"6214:31:150"},{"nodeType":"YulAssignment","src":"6254:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6264:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6254:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6278:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6309:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6320:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6305:3:150"},"nodeType":"YulFunctionCall","src":"6305:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6292:12:150"},"nodeType":"YulFunctionCall","src":"6292:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6282:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6367:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6376:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6379:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6369:6:150"},"nodeType":"YulFunctionCall","src":"6369:12:150"},"nodeType":"YulExpressionStatement","src":"6369:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6339:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6355:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6359:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6351:3:150"},"nodeType":"YulFunctionCall","src":"6351:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6363:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6347:3:150"},"nodeType":"YulFunctionCall","src":"6347:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6336:2:150"},"nodeType":"YulFunctionCall","src":"6336:30:150"},"nodeType":"YulIf","src":"6333:50:150"},{"nodeType":"YulAssignment","src":"6392:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6423:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6434:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6419:3:150"},"nodeType":"YulFunctionCall","src":"6419:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6443:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6402:16:150"},"nodeType":"YulFunctionCall","src":"6402:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6392:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6056:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6067:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6079:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6087:6:150","type":""}],"src":"6002:455:150"},{"body":{"nodeType":"YulBlock","src":"6542:241:150","statements":[{"body":{"nodeType":"YulBlock","src":"6588:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6597:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6600:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6590:6:150"},"nodeType":"YulFunctionCall","src":"6590:12:150"},"nodeType":"YulExpressionStatement","src":"6590:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6563:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6572:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6559:3:150"},"nodeType":"YulFunctionCall","src":"6559:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6584:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6555:3:150"},"nodeType":"YulFunctionCall","src":"6555:32:150"},"nodeType":"YulIf","src":"6552:52:150"},{"nodeType":"YulVariableDeclaration","src":"6613:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6640:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6627:12:150"},"nodeType":"YulFunctionCall","src":"6627:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6617:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6693:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6702:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6705:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6695:6:150"},"nodeType":"YulFunctionCall","src":"6695:12:150"},"nodeType":"YulExpressionStatement","src":"6695:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6665:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6681:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6685:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6677:3:150"},"nodeType":"YulFunctionCall","src":"6677:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6689:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6673:3:150"},"nodeType":"YulFunctionCall","src":"6673:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6662:2:150"},"nodeType":"YulFunctionCall","src":"6662:30:150"},"nodeType":"YulIf","src":"6659:50:150"},{"nodeType":"YulAssignment","src":"6718:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6749:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6760:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6745:3:150"},"nodeType":"YulFunctionCall","src":"6745:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6769:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6728:16:150"},"nodeType":"YulFunctionCall","src":"6728:49:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6718:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6508:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6519:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6531:6:150","type":""}],"src":"6462:321:150"},{"body":{"nodeType":"YulBlock","src":"6904:102:150","statements":[{"nodeType":"YulAssignment","src":"6914:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6926:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6937:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6922:3:150"},"nodeType":"YulFunctionCall","src":"6922:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6914:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6956:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6971:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6987:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6992:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6983:3:150"},"nodeType":"YulFunctionCall","src":"6983:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"6996:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6979:3:150"},"nodeType":"YulFunctionCall","src":"6979:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6967:3:150"},"nodeType":"YulFunctionCall","src":"6967:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6949:6:150"},"nodeType":"YulFunctionCall","src":"6949:51:150"},"nodeType":"YulExpressionStatement","src":"6949:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6873:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6884:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6895:4:150","type":""}],"src":"6788:218:150"},{"body":{"nodeType":"YulBlock","src":"7053:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"7107:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7116:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7119:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7109:6:150"},"nodeType":"YulFunctionCall","src":"7109:12:150"},"nodeType":"YulExpressionStatement","src":"7109:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7076:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7097:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7090:6:150"},"nodeType":"YulFunctionCall","src":"7090:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7083:6:150"},"nodeType":"YulFunctionCall","src":"7083:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7073:2:150"},"nodeType":"YulFunctionCall","src":"7073:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7066:6:150"},"nodeType":"YulFunctionCall","src":"7066:40:150"},"nodeType":"YulIf","src":"7063:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7042:5:150","type":""}],"src":"7011:118:150"},{"body":{"nodeType":"YulBlock","src":"7201:174:150","statements":[{"body":{"nodeType":"YulBlock","src":"7247:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7256:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7259:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7249:6:150"},"nodeType":"YulFunctionCall","src":"7249:12:150"},"nodeType":"YulExpressionStatement","src":"7249:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7222:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7231:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7218:3:150"},"nodeType":"YulFunctionCall","src":"7218:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7243:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7214:3:150"},"nodeType":"YulFunctionCall","src":"7214:32:150"},"nodeType":"YulIf","src":"7211:52:150"},{"nodeType":"YulVariableDeclaration","src":"7272:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7298:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7285:12:150"},"nodeType":"YulFunctionCall","src":"7285:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7276:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7339:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"7317:21:150"},"nodeType":"YulFunctionCall","src":"7317:28:150"},"nodeType":"YulExpressionStatement","src":"7317:28:150"},{"nodeType":"YulAssignment","src":"7354:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7364:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7354:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7167:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7178:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7190:6:150","type":""}],"src":"7134:241:150"},{"body":{"nodeType":"YulBlock","src":"7517:102:150","statements":[{"nodeType":"YulAssignment","src":"7527:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7539:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7550:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7535:3:150"},"nodeType":"YulFunctionCall","src":"7535:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7527:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7569:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7584:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7600:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7605:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7596:3:150"},"nodeType":"YulFunctionCall","src":"7596:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7609:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7592:3:150"},"nodeType":"YulFunctionCall","src":"7592:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7580:3:150"},"nodeType":"YulFunctionCall","src":"7580:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7562:6:150"},"nodeType":"YulFunctionCall","src":"7562:51:150"},"nodeType":"YulExpressionStatement","src":"7562:51:150"}]},"name":"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7486:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7497:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7508:4:150","type":""}],"src":"7380:239:150"},{"body":{"nodeType":"YulBlock","src":"7688:648:150","statements":[{"body":{"nodeType":"YulBlock","src":"7737:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7746:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7749:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7739:6:150"},"nodeType":"YulFunctionCall","src":"7739:12:150"},"nodeType":"YulExpressionStatement","src":"7739:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7716:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7724:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7712:3:150"},"nodeType":"YulFunctionCall","src":"7712:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"7731:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7708:3:150"},"nodeType":"YulFunctionCall","src":"7708:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7701:6:150"},"nodeType":"YulFunctionCall","src":"7701:35:150"},"nodeType":"YulIf","src":"7698:55:150"},{"nodeType":"YulVariableDeclaration","src":"7762:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7785:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7772:12:150"},"nodeType":"YulFunctionCall","src":"7772:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7766:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7801:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7811:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"7805:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7854:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"7856:16:150"},"nodeType":"YulFunctionCall","src":"7856:18:150"},"nodeType":"YulExpressionStatement","src":"7856:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"7830:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7842:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7846:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7838:3:150"},"nodeType":"YulFunctionCall","src":"7838:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7850:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7834:3:150"},"nodeType":"YulFunctionCall","src":"7834:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7827:2:150"},"nodeType":"YulFunctionCall","src":"7827:26:150"},"nodeType":"YulIf","src":"7824:52:150"},{"nodeType":"YulVariableDeclaration","src":"7885:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7899:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"7902:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7895:3:150"},"nodeType":"YulFunctionCall","src":"7895:10:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"7889:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7914:39:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"7945:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7949:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7941:3:150"},"nodeType":"YulFunctionCall","src":"7941:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"7925:15:150"},"nodeType":"YulFunctionCall","src":"7925:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"7918:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7962:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"7975:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"7966:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7994:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7999:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7987:6:150"},"nodeType":"YulFunctionCall","src":"7987:15:150"},"nodeType":"YulExpressionStatement","src":"7987:15:150"},{"nodeType":"YulAssignment","src":"8011:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8022:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8027:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8018:3:150"},"nodeType":"YulFunctionCall","src":"8018:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8011:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"8039:38:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8061:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"8069:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8057:3:150"},"nodeType":"YulFunctionCall","src":"8057:15:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8074:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8053:3:150"},"nodeType":"YulFunctionCall","src":"8053:24:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"8043:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8105:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8114:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8117:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8107:6:150"},"nodeType":"YulFunctionCall","src":"8107:12:150"},"nodeType":"YulExpressionStatement","src":"8107:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"8092:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"8100:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8089:2:150"},"nodeType":"YulFunctionCall","src":"8089:15:150"},"nodeType":"YulIf","src":"8086:35:150"},{"nodeType":"YulVariableDeclaration","src":"8130:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8145:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8153:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8141:3:150"},"nodeType":"YulFunctionCall","src":"8141:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"8134:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8221:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8242:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8260:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8247:12:150"},"nodeType":"YulFunctionCall","src":"8247:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8235:6:150"},"nodeType":"YulFunctionCall","src":"8235:30:150"},"nodeType":"YulExpressionStatement","src":"8235:30:150"},{"nodeType":"YulAssignment","src":"8278:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8289:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8294:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8285:3:150"},"nodeType":"YulFunctionCall","src":"8285:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8278:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8176:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"8181:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8173:2:150"},"nodeType":"YulFunctionCall","src":"8173:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8189:23:150","statements":[{"nodeType":"YulAssignment","src":"8191:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8202:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8207:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8198:3:150"},"nodeType":"YulFunctionCall","src":"8198:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"8191:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"8169:3:150","statements":[]},"src":"8165:142:150"},{"nodeType":"YulAssignment","src":"8316:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"8325:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8316:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7662:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"7670:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"7678:5:150","type":""}],"src":"7624:712:150"},{"body":{"nodeType":"YulBlock","src":"8448:1645:150","statements":[{"body":{"nodeType":"YulBlock","src":"8494:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8503:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8506:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8496:6:150"},"nodeType":"YulFunctionCall","src":"8496:12:150"},"nodeType":"YulExpressionStatement","src":"8496:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8469:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8478:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8465:3:150"},"nodeType":"YulFunctionCall","src":"8465:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8490:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8461:3:150"},"nodeType":"YulFunctionCall","src":"8461:32:150"},"nodeType":"YulIf","src":"8458:52:150"},{"nodeType":"YulVariableDeclaration","src":"8519:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8546:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8533:12:150"},"nodeType":"YulFunctionCall","src":"8533:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8523:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8565:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8583:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"8587:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8579:3:150"},"nodeType":"YulFunctionCall","src":"8579:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"8591:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8575:3:150"},"nodeType":"YulFunctionCall","src":"8575:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8569:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8620:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8629:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8632:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8622:6:150"},"nodeType":"YulFunctionCall","src":"8622:12:150"},"nodeType":"YulExpressionStatement","src":"8622:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8608:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8616:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8605:2:150"},"nodeType":"YulFunctionCall","src":"8605:14:150"},"nodeType":"YulIf","src":"8602:34:150"},{"nodeType":"YulVariableDeclaration","src":"8645:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8659:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"8670:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8655:3:150"},"nodeType":"YulFunctionCall","src":"8655:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8649:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8719:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8728:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8731:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8721:6:150"},"nodeType":"YulFunctionCall","src":"8721:12:150"},"nodeType":"YulExpressionStatement","src":"8721:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8697:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8706:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8693:3:150"},"nodeType":"YulFunctionCall","src":"8693:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"8711:6:150","type":"","value":"0x0180"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8689:3:150"},"nodeType":"YulFunctionCall","src":"8689:29:150"},"nodeType":"YulIf","src":"8686:49:150"},{"nodeType":"YulVariableDeclaration","src":"8744:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_5913","nodeType":"YulIdentifier","src":"8757:20:150"},"nodeType":"YulFunctionCall","src":"8757:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8748:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8788:32:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"8817:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8804:12:150"},"nodeType":"YulFunctionCall","src":"8804:16:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"8792:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8849:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8858:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8861:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8851:6:150"},"nodeType":"YulFunctionCall","src":"8851:12:150"},"nodeType":"YulExpressionStatement","src":"8851:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"8835:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8845:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8832:2:150"},"nodeType":"YulFunctionCall","src":"8832:16:150"},"nodeType":"YulIf","src":"8829:36:150"},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8881:5:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"8909:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"8913:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8905:3:150"},"nodeType":"YulFunctionCall","src":"8905:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8924:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"8888:16:150"},"nodeType":"YulFunctionCall","src":"8888:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8874:6:150"},"nodeType":"YulFunctionCall","src":"8874:59:150"},"nodeType":"YulExpressionStatement","src":"8874:59:150"},{"nodeType":"YulVariableDeclaration","src":"8942:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"8975:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"8979:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8971:3:150"},"nodeType":"YulFunctionCall","src":"8971:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8958:12:150"},"nodeType":"YulFunctionCall","src":"8958:25:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"8946:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9012:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9021:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9024:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9014:6:150"},"nodeType":"YulFunctionCall","src":"9014:12:150"},"nodeType":"YulExpressionStatement","src":"9014:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"8998:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9008:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8995:2:150"},"nodeType":"YulFunctionCall","src":"8995:16:150"},"nodeType":"YulIf","src":"8992:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9048:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9055:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9044:3:150"},"nodeType":"YulFunctionCall","src":"9044:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9081:2:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"9085:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9077:3:150"},"nodeType":"YulFunctionCall","src":"9077:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9096:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9060:16:150"},"nodeType":"YulFunctionCall","src":"9060:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9037:6:150"},"nodeType":"YulFunctionCall","src":"9037:68:150"},"nodeType":"YulExpressionStatement","src":"9037:68:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9125:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9132:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9121:3:150"},"nodeType":"YulFunctionCall","src":"9121:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9160:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9164:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9156:3:150"},"nodeType":"YulFunctionCall","src":"9156:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9137:18:150"},"nodeType":"YulFunctionCall","src":"9137:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9114:6:150"},"nodeType":"YulFunctionCall","src":"9114:55:150"},"nodeType":"YulExpressionStatement","src":"9114:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9189:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9196:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9185:3:150"},"nodeType":"YulFunctionCall","src":"9185:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9224:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9228:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9220:3:150"},"nodeType":"YulFunctionCall","src":"9220:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9201:18:150"},"nodeType":"YulFunctionCall","src":"9201:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9178:6:150"},"nodeType":"YulFunctionCall","src":"9178:55:150"},"nodeType":"YulExpressionStatement","src":"9178:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9253:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9260:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9249:3:150"},"nodeType":"YulFunctionCall","src":"9249:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9289:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9293:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9285:3:150"},"nodeType":"YulFunctionCall","src":"9285:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9266:18:150"},"nodeType":"YulFunctionCall","src":"9266:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9242:6:150"},"nodeType":"YulFunctionCall","src":"9242:57:150"},"nodeType":"YulExpressionStatement","src":"9242:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9319:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9326:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9315:3:150"},"nodeType":"YulFunctionCall","src":"9315:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9355:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9359:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9351:3:150"},"nodeType":"YulFunctionCall","src":"9351:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9332:18:150"},"nodeType":"YulFunctionCall","src":"9332:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9308:6:150"},"nodeType":"YulFunctionCall","src":"9308:57:150"},"nodeType":"YulExpressionStatement","src":"9308:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9385:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9392:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9381:3:150"},"nodeType":"YulFunctionCall","src":"9381:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9421:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9425:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9417:3:150"},"nodeType":"YulFunctionCall","src":"9417:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9398:18:150"},"nodeType":"YulFunctionCall","src":"9398:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9374:6:150"},"nodeType":"YulFunctionCall","src":"9374:57:150"},"nodeType":"YulExpressionStatement","src":"9374:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9451:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9458:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9447:3:150"},"nodeType":"YulFunctionCall","src":"9447:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9481:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9485:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9477:3:150"},"nodeType":"YulFunctionCall","src":"9477:12:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9464:12:150"},"nodeType":"YulFunctionCall","src":"9464:26:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9440:6:150"},"nodeType":"YulFunctionCall","src":"9440:51:150"},"nodeType":"YulExpressionStatement","src":"9440:51:150"},{"nodeType":"YulVariableDeclaration","src":"9500:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9510:3:150","type":"","value":"256"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"9504:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9522:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9555:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"9559:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9551:3:150"},"nodeType":"YulFunctionCall","src":"9551:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9538:12:150"},"nodeType":"YulFunctionCall","src":"9538:25:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"9526:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9592:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9601:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9604:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9594:6:150"},"nodeType":"YulFunctionCall","src":"9594:12:150"},"nodeType":"YulExpressionStatement","src":"9594:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"9578:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9588:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9575:2:150"},"nodeType":"YulFunctionCall","src":"9575:16:150"},"nodeType":"YulIf","src":"9572:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9628:5:150"},{"name":"_3","nodeType":"YulIdentifier","src":"9635:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9624:3:150"},"nodeType":"YulFunctionCall","src":"9624:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9661:2:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"9665:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9657:3:150"},"nodeType":"YulFunctionCall","src":"9657:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9676:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9640:16:150"},"nodeType":"YulFunctionCall","src":"9640:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9617:6:150"},"nodeType":"YulFunctionCall","src":"9617:68:150"},"nodeType":"YulExpressionStatement","src":"9617:68:150"},{"nodeType":"YulVariableDeclaration","src":"9694:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9704:3:150","type":"","value":"288"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"9698:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9716:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9749:2:150"},{"name":"_4","nodeType":"YulIdentifier","src":"9753:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9745:3:150"},"nodeType":"YulFunctionCall","src":"9745:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9732:12:150"},"nodeType":"YulFunctionCall","src":"9732:25:150"},"variables":[{"name":"offset_4","nodeType":"YulTypedName","src":"9720:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9786:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9795:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9798:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9788:6:150"},"nodeType":"YulFunctionCall","src":"9788:12:150"},"nodeType":"YulExpressionStatement","src":"9788:12:150"}]},"condition":{"arguments":[{"name":"offset_4","nodeType":"YulIdentifier","src":"9772:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9782:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9769:2:150"},"nodeType":"YulFunctionCall","src":"9769:16:150"},"nodeType":"YulIf","src":"9766:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9822:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"9829:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9818:3:150"},"nodeType":"YulFunctionCall","src":"9818:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9867:2:150"},{"name":"offset_4","nodeType":"YulIdentifier","src":"9871:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9863:3:150"},"nodeType":"YulFunctionCall","src":"9863:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9882:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"9834:28:150"},"nodeType":"YulFunctionCall","src":"9834:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9811:6:150"},"nodeType":"YulFunctionCall","src":"9811:80:150"},"nodeType":"YulExpressionStatement","src":"9811:80:150"},{"nodeType":"YulVariableDeclaration","src":"9900:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9910:3:150","type":"","value":"320"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"9904:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9933:5:150"},{"name":"_5","nodeType":"YulIdentifier","src":"9940:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9929:3:150"},"nodeType":"YulFunctionCall","src":"9929:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9968:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"9972:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9964:3:150"},"nodeType":"YulFunctionCall","src":"9964:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9945:18:150"},"nodeType":"YulFunctionCall","src":"9945:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9922:6:150"},"nodeType":"YulFunctionCall","src":"9922:55:150"},"nodeType":"YulExpressionStatement","src":"9922:55:150"},{"nodeType":"YulVariableDeclaration","src":"9986:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9996:3:150","type":"","value":"352"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"9990:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10019:5:150"},{"name":"_6","nodeType":"YulIdentifier","src":"10026:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10015:3:150"},"nodeType":"YulFunctionCall","src":"10015:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10054:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"10058:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10050:3:150"},"nodeType":"YulFunctionCall","src":"10050:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10031:18:150"},"nodeType":"YulFunctionCall","src":"10031:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10008:6:150"},"nodeType":"YulFunctionCall","src":"10008:55:150"},"nodeType":"YulExpressionStatement","src":"10008:55:150"},{"nodeType":"YulAssignment","src":"10072:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10082:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10072:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_InitializationData_$27346_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8414:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8425:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8437:6:150","type":""}],"src":"8341:1752:150"},{"body":{"nodeType":"YulBlock","src":"10158:330:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10175:3:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10186:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10180:5:150"},"nodeType":"YulFunctionCall","src":"10180:12:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10168:6:150"},"nodeType":"YulFunctionCall","src":"10168:25:150"},"nodeType":"YulExpressionStatement","src":"10168:25:150"},{"nodeType":"YulVariableDeclaration","src":"10202:43:150","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10232:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10239:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10228:3:150"},"nodeType":"YulFunctionCall","src":"10228:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10222:5:150"},"nodeType":"YulFunctionCall","src":"10222:23:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10206:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10265:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10270:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10261:3:150"},"nodeType":"YulFunctionCall","src":"10261:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"10277:4:150","type":"","value":"0x80"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10254:6:150"},"nodeType":"YulFunctionCall","src":"10254:28:150"},"nodeType":"YulExpressionStatement","src":"10254:28:150"},{"nodeType":"YulVariableDeclaration","src":"10291:59:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10321:12:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10339:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10344:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10335:3:150"},"nodeType":"YulFunctionCall","src":"10335:14:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"10303:17:150"},"nodeType":"YulFunctionCall","src":"10303:47:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"10295:4:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10370:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10375:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10366:3:150"},"nodeType":"YulFunctionCall","src":"10366:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10392:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10399:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10388:3:150"},"nodeType":"YulFunctionCall","src":"10388:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10382:5:150"},"nodeType":"YulFunctionCall","src":"10382:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10359:6:150"},"nodeType":"YulFunctionCall","src":"10359:47:150"},"nodeType":"YulExpressionStatement","src":"10359:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10426:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10431:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10422:3:150"},"nodeType":"YulFunctionCall","src":"10422:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10448:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10455:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10444:3:150"},"nodeType":"YulFunctionCall","src":"10444:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10438:5:150"},"nodeType":"YulFunctionCall","src":"10438:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10415:6:150"},"nodeType":"YulFunctionCall","src":"10415:47:150"},"nodeType":"YulExpressionStatement","src":"10415:47:150"},{"nodeType":"YulAssignment","src":"10471:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"10478:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10471:3:150"}]}]},"name":"abi_encode_struct_TokenInfo","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10135:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10142:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10150:3:150","type":""}],"src":"10098:390:150"},{"body":{"nodeType":"YulBlock","src":"10650:109:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10667:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10678:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10660:6:150"},"nodeType":"YulFunctionCall","src":"10660:21:150"},"nodeType":"YulExpressionStatement","src":"10660:21:150"},{"nodeType":"YulAssignment","src":"10690:63:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10726:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10738:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10749:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10734:3:150"},"nodeType":"YulFunctionCall","src":"10734:18:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"10698:27:150"},"nodeType":"YulFunctionCall","src":"10698:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10690:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_TokenInfo_$28997_memory_ptr__to_t_struct$_TokenInfo_$28997_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10619:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10630:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10641:4:150","type":""}],"src":"10493:266:150"},{"body":{"nodeType":"YulBlock","src":"10888:102:150","statements":[{"nodeType":"YulAssignment","src":"10898:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10910:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10921:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10906:3:150"},"nodeType":"YulFunctionCall","src":"10906:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10898:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10940:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10955:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10971:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"10976:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10967:3:150"},"nodeType":"YulFunctionCall","src":"10967:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"10980:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10963:3:150"},"nodeType":"YulFunctionCall","src":"10963:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10951:3:150"},"nodeType":"YulFunctionCall","src":"10951:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10933:6:150"},"nodeType":"YulFunctionCall","src":"10933:51:150"},"nodeType":"YulExpressionStatement","src":"10933:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10857:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10868:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10879:4:150","type":""}],"src":"10764:226:150"},{"body":{"nodeType":"YulBlock","src":"11099:279:150","statements":[{"body":{"nodeType":"YulBlock","src":"11145:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11154:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11157:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11147:6:150"},"nodeType":"YulFunctionCall","src":"11147:12:150"},"nodeType":"YulExpressionStatement","src":"11147:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11120:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11129:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11116:3:150"},"nodeType":"YulFunctionCall","src":"11116:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11141:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11112:3:150"},"nodeType":"YulFunctionCall","src":"11112:32:150"},"nodeType":"YulIf","src":"11109:52:150"},{"nodeType":"YulVariableDeclaration","src":"11170:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11196:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11183:12:150"},"nodeType":"YulFunctionCall","src":"11183:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11174:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11240:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11215:24:150"},"nodeType":"YulFunctionCall","src":"11215:31:150"},"nodeType":"YulExpressionStatement","src":"11215:31:150"},{"nodeType":"YulAssignment","src":"11255:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11265:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11255:6:150"}]},{"nodeType":"YulAssignment","src":"11279:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11306:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11317:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11302:3:150"},"nodeType":"YulFunctionCall","src":"11302:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11289:12:150"},"nodeType":"YulFunctionCall","src":"11289:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11279:6:150"}]},{"nodeType":"YulAssignment","src":"11330:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11357:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11368:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11353:3:150"},"nodeType":"YulFunctionCall","src":"11353:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11340:12:150"},"nodeType":"YulFunctionCall","src":"11340:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11330:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11049:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11060:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11072:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11080:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11088:6:150","type":""}],"src":"10995:383:150"},{"body":{"nodeType":"YulBlock","src":"11590:642:150","statements":[{"nodeType":"YulVariableDeclaration","src":"11600:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11610:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11604:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11621:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11639:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11650:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11635:3:150"},"nodeType":"YulFunctionCall","src":"11635:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"11625:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11669:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11680:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11662:6:150"},"nodeType":"YulFunctionCall","src":"11662:21:150"},"nodeType":"YulExpressionStatement","src":"11662:21:150"},{"nodeType":"YulVariableDeclaration","src":"11692:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"11703:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"11696:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11718:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11738:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11732:5:150"},"nodeType":"YulFunctionCall","src":"11732:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"11722:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"11761:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"11769:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11754:6:150"},"nodeType":"YulFunctionCall","src":"11754:22:150"},"nodeType":"YulExpressionStatement","src":"11754:22:150"},{"nodeType":"YulAssignment","src":"11785:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11796:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11807:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11792:3:150"},"nodeType":"YulFunctionCall","src":"11792:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11785:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"11819:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11841:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11856:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"11859:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11852:3:150"},"nodeType":"YulFunctionCall","src":"11852:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11837:3:150"},"nodeType":"YulFunctionCall","src":"11837:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"11869:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11833:3:150"},"nodeType":"YulFunctionCall","src":"11833:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"11823:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11881:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11899:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11907:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11895:3:150"},"nodeType":"YulFunctionCall","src":"11895:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"11885:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11919:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11928:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"11923:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11987:216:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12008:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"12021:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12029:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12017:3:150"},"nodeType":"YulFunctionCall","src":"12017:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12045:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12041:3:150"},"nodeType":"YulFunctionCall","src":"12041:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12013:3:150"},"nodeType":"YulFunctionCall","src":"12013:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12001:6:150"},"nodeType":"YulFunctionCall","src":"12001:49:150"},"nodeType":"YulExpressionStatement","src":"12001:49:150"},{"nodeType":"YulAssignment","src":"12063:60:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12107:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12101:5:150"},"nodeType":"YulFunctionCall","src":"12101:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"12116:6:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"12073:27:150"},"nodeType":"YulFunctionCall","src":"12073:50:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"12063:6:150"}]},{"nodeType":"YulAssignment","src":"12136:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12150:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12158:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12146:3:150"},"nodeType":"YulFunctionCall","src":"12146:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12136:6:150"}]},{"nodeType":"YulAssignment","src":"12174:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12185:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12190:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12181:3:150"},"nodeType":"YulFunctionCall","src":"12181:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12174:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11949:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"11952:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11946:2:150"},"nodeType":"YulFunctionCall","src":"11946:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11960:18:150","statements":[{"nodeType":"YulAssignment","src":"11962:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11971:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"11974:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11967:3:150"},"nodeType":"YulFunctionCall","src":"11967:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"11962:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"11942:3:150","statements":[]},"src":"11938:265:150"},{"nodeType":"YulAssignment","src":"12212:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"12220:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12212:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11559:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11570:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11581:4:150","type":""}],"src":"11383:849:150"},{"body":{"nodeType":"YulBlock","src":"12321:298:150","statements":[{"body":{"nodeType":"YulBlock","src":"12367:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12376:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12379:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12369:6:150"},"nodeType":"YulFunctionCall","src":"12369:12:150"},"nodeType":"YulExpressionStatement","src":"12369:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12342:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12351:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12338:3:150"},"nodeType":"YulFunctionCall","src":"12338:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12363:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12334:3:150"},"nodeType":"YulFunctionCall","src":"12334:32:150"},"nodeType":"YulIf","src":"12331:52:150"},{"nodeType":"YulVariableDeclaration","src":"12392:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12418:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12405:12:150"},"nodeType":"YulFunctionCall","src":"12405:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12396:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12462:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12437:24:150"},"nodeType":"YulFunctionCall","src":"12437:31:150"},"nodeType":"YulExpressionStatement","src":"12437:31:150"},{"nodeType":"YulAssignment","src":"12477:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12487:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12477:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"12501:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12533:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12544:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12529:3:150"},"nodeType":"YulFunctionCall","src":"12529:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12516:12:150"},"nodeType":"YulFunctionCall","src":"12516:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"12505:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"12579:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"12557:21:150"},"nodeType":"YulFunctionCall","src":"12557:30:150"},"nodeType":"YulExpressionStatement","src":"12557:30:150"},{"nodeType":"YulAssignment","src":"12596:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"12606:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"12596:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12279:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12290:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12302:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12310:6:150","type":""}],"src":"12237:382:150"},{"body":{"nodeType":"YulBlock","src":"12719:253:150","statements":[{"body":{"nodeType":"YulBlock","src":"12765:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12774:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12777:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12767:6:150"},"nodeType":"YulFunctionCall","src":"12767:12:150"},"nodeType":"YulExpressionStatement","src":"12767:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12740:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12749:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12736:3:150"},"nodeType":"YulFunctionCall","src":"12736:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12761:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12732:3:150"},"nodeType":"YulFunctionCall","src":"12732:32:150"},"nodeType":"YulIf","src":"12729:52:150"},{"nodeType":"YulVariableDeclaration","src":"12790:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12817:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12804:12:150"},"nodeType":"YulFunctionCall","src":"12804:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12794:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12870:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12879:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12882:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12872:6:150"},"nodeType":"YulFunctionCall","src":"12872:12:150"},"nodeType":"YulExpressionStatement","src":"12872:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12842:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12858:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"12862:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12854:3:150"},"nodeType":"YulFunctionCall","src":"12854:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"12866:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12850:3:150"},"nodeType":"YulFunctionCall","src":"12850:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12839:2:150"},"nodeType":"YulFunctionCall","src":"12839:30:150"},"nodeType":"YulIf","src":"12836:50:150"},{"nodeType":"YulAssignment","src":"12895:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12938:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"12949:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12934:3:150"},"nodeType":"YulFunctionCall","src":"12934:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"12958:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"12905:28:150"},"nodeType":"YulFunctionCall","src":"12905:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12895:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12685:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12696:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12708:6:150","type":""}],"src":"12624:348:150"},{"body":{"nodeType":"YulBlock","src":"13107:535:150","statements":[{"body":{"nodeType":"YulBlock","src":"13154:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13163:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13166:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13156:6:150"},"nodeType":"YulFunctionCall","src":"13156:12:150"},"nodeType":"YulExpressionStatement","src":"13156:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13128:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13137:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13124:3:150"},"nodeType":"YulFunctionCall","src":"13124:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13149:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13120:3:150"},"nodeType":"YulFunctionCall","src":"13120:33:150"},"nodeType":"YulIf","src":"13117:53:150"},{"nodeType":"YulVariableDeclaration","src":"13179:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13205:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13192:12:150"},"nodeType":"YulFunctionCall","src":"13192:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13183:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13249:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13224:24:150"},"nodeType":"YulFunctionCall","src":"13224:31:150"},"nodeType":"YulExpressionStatement","src":"13224:31:150"},{"nodeType":"YulAssignment","src":"13264:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13274:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13264:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13288:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13320:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13331:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13316:3:150"},"nodeType":"YulFunctionCall","src":"13316:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13303:12:150"},"nodeType":"YulFunctionCall","src":"13303:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13292:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13369:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13344:24:150"},"nodeType":"YulFunctionCall","src":"13344:33:150"},"nodeType":"YulExpressionStatement","src":"13344:33:150"},{"nodeType":"YulAssignment","src":"13386:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"13396:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13386:6:150"}]},{"nodeType":"YulAssignment","src":"13412:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13439:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13450:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13435:3:150"},"nodeType":"YulFunctionCall","src":"13435:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13422:12:150"},"nodeType":"YulFunctionCall","src":"13422:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"13412:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13463:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13494:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13505:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13490:3:150"},"nodeType":"YulFunctionCall","src":"13490:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13477:12:150"},"nodeType":"YulFunctionCall","src":"13477:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13467:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"13552:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13561:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13564:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13554:6:150"},"nodeType":"YulFunctionCall","src":"13554:12:150"},"nodeType":"YulExpressionStatement","src":"13554:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13524:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13540:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"13544:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13536:3:150"},"nodeType":"YulFunctionCall","src":"13536:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"13548:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13532:3:150"},"nodeType":"YulFunctionCall","src":"13532:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13521:2:150"},"nodeType":"YulFunctionCall","src":"13521:30:150"},"nodeType":"YulIf","src":"13518:50:150"},{"nodeType":"YulAssignment","src":"13577:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13608:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"13619:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13604:3:150"},"nodeType":"YulFunctionCall","src":"13604:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13628:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"13587:16:150"},"nodeType":"YulFunctionCall","src":"13587:49:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"13577:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13049:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13060:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13072:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13080:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13088:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13096:6:150","type":""}],"src":"12977:665:150"},{"body":{"nodeType":"YulBlock","src":"13793:620:150","statements":[{"body":{"nodeType":"YulBlock","src":"13840:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13849:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13852:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13842:6:150"},"nodeType":"YulFunctionCall","src":"13842:12:150"},"nodeType":"YulExpressionStatement","src":"13842:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13814:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13823:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13810:3:150"},"nodeType":"YulFunctionCall","src":"13810:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13835:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13806:3:150"},"nodeType":"YulFunctionCall","src":"13806:33:150"},"nodeType":"YulIf","src":"13803:53:150"},{"nodeType":"YulVariableDeclaration","src":"13865:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13891:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13878:12:150"},"nodeType":"YulFunctionCall","src":"13878:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13869:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13935:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13910:24:150"},"nodeType":"YulFunctionCall","src":"13910:31:150"},"nodeType":"YulExpressionStatement","src":"13910:31:150"},{"nodeType":"YulAssignment","src":"13950:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13960:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13950:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13974:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14006:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14017:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14002:3:150"},"nodeType":"YulFunctionCall","src":"14002:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13989:12:150"},"nodeType":"YulFunctionCall","src":"13989:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13978:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"14055:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14030:24:150"},"nodeType":"YulFunctionCall","src":"14030:33:150"},"nodeType":"YulExpressionStatement","src":"14030:33:150"},{"nodeType":"YulAssignment","src":"14072:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"14082:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14072:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14098:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14130:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14141:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14126:3:150"},"nodeType":"YulFunctionCall","src":"14126:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14113:12:150"},"nodeType":"YulFunctionCall","src":"14113:32:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"14102:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"14179:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14154:24:150"},"nodeType":"YulFunctionCall","src":"14154:33:150"},"nodeType":"YulExpressionStatement","src":"14154:33:150"},{"nodeType":"YulAssignment","src":"14196:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"14206:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"14196:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14222:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14253:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14264:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14249:3:150"},"nodeType":"YulFunctionCall","src":"14249:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14236:12:150"},"nodeType":"YulFunctionCall","src":"14236:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14226:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14311:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14320:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14323:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14313:6:150"},"nodeType":"YulFunctionCall","src":"14313:12:150"},"nodeType":"YulExpressionStatement","src":"14313:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14283:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14299:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14303:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14295:3:150"},"nodeType":"YulFunctionCall","src":"14295:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14307:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14291:3:150"},"nodeType":"YulFunctionCall","src":"14291:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14280:2:150"},"nodeType":"YulFunctionCall","src":"14280:30:150"},"nodeType":"YulIf","src":"14277:50:150"},{"nodeType":"YulAssignment","src":"14336:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14379:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"14390:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14375:3:150"},"nodeType":"YulFunctionCall","src":"14375:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"14399:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"14346:28:150"},"nodeType":"YulFunctionCall","src":"14346:61:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"14336:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13735:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13746:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13758:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13766:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13774:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13782:6:150","type":""}],"src":"13647:766:150"},{"body":{"nodeType":"YulBlock","src":"14486:175:150","statements":[{"body":{"nodeType":"YulBlock","src":"14532:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14541:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14544:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14534:6:150"},"nodeType":"YulFunctionCall","src":"14534:12:150"},"nodeType":"YulExpressionStatement","src":"14534:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14507:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14516:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14503:3:150"},"nodeType":"YulFunctionCall","src":"14503:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14528:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14499:3:150"},"nodeType":"YulFunctionCall","src":"14499:32:150"},"nodeType":"YulIf","src":"14496:52:150"},{"nodeType":"YulVariableDeclaration","src":"14557:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14583:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14570:12:150"},"nodeType":"YulFunctionCall","src":"14570:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14561:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14625:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"14602:22:150"},"nodeType":"YulFunctionCall","src":"14602:29:150"},"nodeType":"YulExpressionStatement","src":"14602:29:150"},{"nodeType":"YulAssignment","src":"14640:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14650:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14640:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14452:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14463:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14475:6:150","type":""}],"src":"14418:243:150"},{"body":{"nodeType":"YulBlock","src":"14753:301:150","statements":[{"body":{"nodeType":"YulBlock","src":"14799:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14808:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14811:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14801:6:150"},"nodeType":"YulFunctionCall","src":"14801:12:150"},"nodeType":"YulExpressionStatement","src":"14801:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14774:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14783:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14770:3:150"},"nodeType":"YulFunctionCall","src":"14770:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14795:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14766:3:150"},"nodeType":"YulFunctionCall","src":"14766:32:150"},"nodeType":"YulIf","src":"14763:52:150"},{"nodeType":"YulVariableDeclaration","src":"14824:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14850:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14837:12:150"},"nodeType":"YulFunctionCall","src":"14837:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14828:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14894:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14869:24:150"},"nodeType":"YulFunctionCall","src":"14869:31:150"},"nodeType":"YulExpressionStatement","src":"14869:31:150"},{"nodeType":"YulAssignment","src":"14909:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14919:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14909:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14933:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14965:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14976:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14961:3:150"},"nodeType":"YulFunctionCall","src":"14961:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14948:12:150"},"nodeType":"YulFunctionCall","src":"14948:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"14937:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15014:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14989:24:150"},"nodeType":"YulFunctionCall","src":"14989:33:150"},"nodeType":"YulExpressionStatement","src":"14989:33:150"},{"nodeType":"YulAssignment","src":"15031:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"15041:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15031:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14711:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14722:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14734:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14742:6:150","type":""}],"src":"14666:388:150"},{"body":{"nodeType":"YulBlock","src":"15233:177:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15250:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15261:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15243:6:150"},"nodeType":"YulFunctionCall","src":"15243:21:150"},"nodeType":"YulExpressionStatement","src":"15243:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15284:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15295:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15280:3:150"},"nodeType":"YulFunctionCall","src":"15280:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15300:2:150","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15273:6:150"},"nodeType":"YulFunctionCall","src":"15273:30:150"},"nodeType":"YulExpressionStatement","src":"15273:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15323:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15334:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15319:3:150"},"nodeType":"YulFunctionCall","src":"15319:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","kind":"string","nodeType":"YulLiteral","src":"15339:29:150","type":"","value":"GalaxyMember: invalid level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15312:6:150"},"nodeType":"YulFunctionCall","src":"15312:57:150"},"nodeType":"YulExpressionStatement","src":"15312:57:150"},{"nodeType":"YulAssignment","src":"15378:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15390:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15401:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15386:3:150"},"nodeType":"YulFunctionCall","src":"15386:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15378:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15210:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15224:4:150","type":""}],"src":"15059:351:150"},{"body":{"nodeType":"YulBlock","src":"15589:182:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15606:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15617:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15599:6:150"},"nodeType":"YulFunctionCall","src":"15599:21:150"},"nodeType":"YulExpressionStatement","src":"15599:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15640:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15651:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15636:3:150"},"nodeType":"YulFunctionCall","src":"15636:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15656:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15629:6:150"},"nodeType":"YulFunctionCall","src":"15629:30:150"},"nodeType":"YulExpressionStatement","src":"15629:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15679:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15690:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15675:3:150"},"nodeType":"YulFunctionCall","src":"15675:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","kind":"string","nodeType":"YulLiteral","src":"15695:34:150","type":"","value":"GalaxyMember: invalid node level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15668:6:150"},"nodeType":"YulFunctionCall","src":"15668:62:150"},"nodeType":"YulExpressionStatement","src":"15668:62:150"},{"nodeType":"YulAssignment","src":"15739:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15751:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15762:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15747:3:150"},"nodeType":"YulFunctionCall","src":"15747:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15739:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15566:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15580:4:150","type":""}],"src":"15415:356:150"},{"body":{"nodeType":"YulBlock","src":"15950:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15978:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15960:6:150"},"nodeType":"YulFunctionCall","src":"15960:21:150"},"nodeType":"YulExpressionStatement","src":"15960:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16001:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16012:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15997:3:150"},"nodeType":"YulFunctionCall","src":"15997:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16017:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15990:6:150"},"nodeType":"YulFunctionCall","src":"15990:30:150"},"nodeType":"YulExpressionStatement","src":"15990:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16040:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16051:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16036:3:150"},"nodeType":"YulFunctionCall","src":"16036:18:150"},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373","kind":"string","nodeType":"YulLiteral","src":"16056:34:150","type":"","value":"GalaxyMember: level must be less"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16029:6:150"},"nodeType":"YulFunctionCall","src":"16029:62:150"},"nodeType":"YulExpressionStatement","src":"16029:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16111:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16122:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16107:3:150"},"nodeType":"YulFunctionCall","src":"16107:18:150"},{"hexValue":"207468616e206f7220657175616c20746f204d41585f4c4556454c","kind":"string","nodeType":"YulLiteral","src":"16127:29:150","type":"","value":" than or equal to MAX_LEVEL"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16100:6:150"},"nodeType":"YulFunctionCall","src":"16100:57:150"},"nodeType":"YulExpressionStatement","src":"16100:57:150"},{"nodeType":"YulAssignment","src":"16166:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16178:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16189:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16174:3:150"},"nodeType":"YulFunctionCall","src":"16174:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16166:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15927:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15941:4:150","type":""}],"src":"15776:423:150"},{"body":{"nodeType":"YulBlock","src":"16259:325:150","statements":[{"nodeType":"YulAssignment","src":"16269:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16283:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"16286:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"16279:3:150"},"nodeType":"YulFunctionCall","src":"16279:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"16269:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"16300:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"16330:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"16336:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16326:3:150"},"nodeType":"YulFunctionCall","src":"16326:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"16304:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16377:31:150","statements":[{"nodeType":"YulAssignment","src":"16379:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"16393:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"16401:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16389:3:150"},"nodeType":"YulFunctionCall","src":"16389:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"16379:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"16357:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16350:6:150"},"nodeType":"YulFunctionCall","src":"16350:26:150"},"nodeType":"YulIf","src":"16347:61:150"},{"body":{"nodeType":"YulBlock","src":"16467:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16488:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16495:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"16500:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16491:3:150"},"nodeType":"YulFunctionCall","src":"16491:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16481:6:150"},"nodeType":"YulFunctionCall","src":"16481:31:150"},"nodeType":"YulExpressionStatement","src":"16481:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16532:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"16535:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16525:6:150"},"nodeType":"YulFunctionCall","src":"16525:15:150"},"nodeType":"YulExpressionStatement","src":"16525:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16560:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16563:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16553:6:150"},"nodeType":"YulFunctionCall","src":"16553:15:150"},"nodeType":"YulExpressionStatement","src":"16553:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"16423:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"16446:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"16454:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16443:2:150"},"nodeType":"YulFunctionCall","src":"16443:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16420:2:150"},"nodeType":"YulFunctionCall","src":"16420:38:150"},"nodeType":"YulIf","src":"16417:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"16239:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"16248:6:150","type":""}],"src":"16204:380:150"},{"body":{"nodeType":"YulBlock","src":"16746:218:150","statements":[{"nodeType":"YulAssignment","src":"16756:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16768:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16779:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16764:3:150"},"nodeType":"YulFunctionCall","src":"16764:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16756:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"16791:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16809:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"16814:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16805:3:150"},"nodeType":"YulFunctionCall","src":"16805:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16818:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16801:3:150"},"nodeType":"YulFunctionCall","src":"16801:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16795:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16836:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16851:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16859:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16847:3:150"},"nodeType":"YulFunctionCall","src":"16847:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16829:6:150"},"nodeType":"YulFunctionCall","src":"16829:34:150"},"nodeType":"YulExpressionStatement","src":"16829:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16883:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16894:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16879:3:150"},"nodeType":"YulFunctionCall","src":"16879:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"16899:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16872:6:150"},"nodeType":"YulFunctionCall","src":"16872:34:150"},"nodeType":"YulExpressionStatement","src":"16872:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16926:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16937:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16922:3:150"},"nodeType":"YulFunctionCall","src":"16922:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"16946:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16954:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16942:3:150"},"nodeType":"YulFunctionCall","src":"16942:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16915:6:150"},"nodeType":"YulFunctionCall","src":"16915:43:150"},"nodeType":"YulExpressionStatement","src":"16915:43:150"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16699:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"16710:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16718:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16726:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16737:4:150","type":""}],"src":"16589:375:150"},{"body":{"nodeType":"YulBlock","src":"17098:145:150","statements":[{"nodeType":"YulAssignment","src":"17108:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17120:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17131:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17116:3:150"},"nodeType":"YulFunctionCall","src":"17116:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17108:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17150:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17165:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17181:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17186:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17177:3:150"},"nodeType":"YulFunctionCall","src":"17177:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17190:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17173:3:150"},"nodeType":"YulFunctionCall","src":"17173:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17161:3:150"},"nodeType":"YulFunctionCall","src":"17161:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17143:6:150"},"nodeType":"YulFunctionCall","src":"17143:51:150"},"nodeType":"YulExpressionStatement","src":"17143:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17214:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17225:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17210:3:150"},"nodeType":"YulFunctionCall","src":"17210:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17230:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17203:6:150"},"nodeType":"YulFunctionCall","src":"17203:34:150"},"nodeType":"YulExpressionStatement","src":"17203:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17059:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17070:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17078:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17089:4:150","type":""}],"src":"16969:274:150"},{"body":{"nodeType":"YulBlock","src":"17422:297:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17439:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17450:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17432:6:150"},"nodeType":"YulFunctionCall","src":"17432:21:150"},"nodeType":"YulExpressionStatement","src":"17432:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17473:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17484:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17469:3:150"},"nodeType":"YulFunctionCall","src":"17469:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"17489:2:150","type":"","value":"67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17462:6:150"},"nodeType":"YulFunctionCall","src":"17462:30:150"},"nodeType":"YulExpressionStatement","src":"17462:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17512:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17523:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17508:3:150"},"nodeType":"YulFunctionCall","src":"17508:18:150"},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d757374206265","kind":"string","nodeType":"YulLiteral","src":"17528:34:150","type":"","value":"Galaxy Member: Max level must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17501:6:150"},"nodeType":"YulFunctionCall","src":"17501:62:150"},"nodeType":"YulExpressionStatement","src":"17501:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17583:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17594:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17579:3:150"},"nodeType":"YulFunctionCall","src":"17579:18:150"},{"hexValue":"2067726561746572207468616e207468652063757272656e74206d6178206c65","kind":"string","nodeType":"YulLiteral","src":"17599:34:150","type":"","value":" greater than the current max le"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17572:6:150"},"nodeType":"YulFunctionCall","src":"17572:62:150"},"nodeType":"YulExpressionStatement","src":"17572:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17654:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17665:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17650:3:150"},"nodeType":"YulFunctionCall","src":"17650:19:150"},{"hexValue":"76656c","kind":"string","nodeType":"YulLiteral","src":"17671:5:150","type":"","value":"vel"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17643:6:150"},"nodeType":"YulFunctionCall","src":"17643:34:150"},"nodeType":"YulExpressionStatement","src":"17643:34:150"},{"nodeType":"YulAssignment","src":"17686:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17698:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17709:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17694:3:150"},"nodeType":"YulFunctionCall","src":"17694:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17686:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17399:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17413:4:150","type":""}],"src":"17248:471:150"},{"body":{"nodeType":"YulBlock","src":"17898:296:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17915:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17926:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17908:6:150"},"nodeType":"YulFunctionCall","src":"17908:21:150"},"nodeType":"YulExpressionStatement","src":"17908:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17949:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17960:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17945:3:150"},"nodeType":"YulFunctionCall","src":"17945:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"17965:2:150","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17938:6:150"},"nodeType":"YulFunctionCall","src":"17938:30:150"},"nodeType":"YulExpressionStatement","src":"17938:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17988:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17999:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17984:3:150"},"nodeType":"YulFunctionCall","src":"17984:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"18004:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17977:6:150"},"nodeType":"YulFunctionCall","src":"17977:62:150"},"nodeType":"YulExpressionStatement","src":"17977:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18059:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18070:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18055:3:150"},"nodeType":"YulFunctionCall","src":"18055:18:150"},{"hexValue":"7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b","kind":"string","nodeType":"YulLiteral","src":"18075:34:150","type":"","value":"ust be set for all levels unlock"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18048:6:150"},"nodeType":"YulFunctionCall","src":"18048:62:150"},"nodeType":"YulExpressionStatement","src":"18048:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18130:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18141:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18126:3:150"},"nodeType":"YulFunctionCall","src":"18126:19:150"},{"hexValue":"6564","kind":"string","nodeType":"YulLiteral","src":"18147:4:150","type":"","value":"ed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18119:6:150"},"nodeType":"YulFunctionCall","src":"18119:33:150"},"nodeType":"YulExpressionStatement","src":"18119:33:150"},{"nodeType":"YulAssignment","src":"18161:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18173:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18184:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18169:3:150"},"nodeType":"YulFunctionCall","src":"18169:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18161:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17875:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17889:4:150","type":""}],"src":"17724:470:150"},{"body":{"nodeType":"YulBlock","src":"18231:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18248:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18255:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"18260:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18251:3:150"},"nodeType":"YulFunctionCall","src":"18251:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18241:6:150"},"nodeType":"YulFunctionCall","src":"18241:31:150"},"nodeType":"YulExpressionStatement","src":"18241:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18288:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18291:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18281:6:150"},"nodeType":"YulFunctionCall","src":"18281:15:150"},"nodeType":"YulExpressionStatement","src":"18281:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18312:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18315:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18305:6:150"},"nodeType":"YulFunctionCall","src":"18305:15:150"},"nodeType":"YulExpressionStatement","src":"18305:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"18199:127:150"},{"body":{"nodeType":"YulBlock","src":"18378:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"18409:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18411:16:150"},"nodeType":"YulFunctionCall","src":"18411:18:150"},"nodeType":"YulExpressionStatement","src":"18411:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18394:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18405:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18401:3:150"},"nodeType":"YulFunctionCall","src":"18401:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"18391:2:150"},"nodeType":"YulFunctionCall","src":"18391:17:150"},"nodeType":"YulIf","src":"18388:43:150"},{"nodeType":"YulAssignment","src":"18440:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18451:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"18458:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18447:3:150"},"nodeType":"YulFunctionCall","src":"18447:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"18440:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18360:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18370:3:150","type":""}],"src":"18331:135:150"},{"body":{"nodeType":"YulBlock","src":"18600:119:150","statements":[{"nodeType":"YulAssignment","src":"18610:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18622:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18633:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18618:3:150"},"nodeType":"YulFunctionCall","src":"18618:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18610:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18652:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"18663:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18645:6:150"},"nodeType":"YulFunctionCall","src":"18645:25:150"},"nodeType":"YulExpressionStatement","src":"18645:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18690:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18701:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18686:3:150"},"nodeType":"YulFunctionCall","src":"18686:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"18706:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18679:6:150"},"nodeType":"YulFunctionCall","src":"18679:34:150"},"nodeType":"YulExpressionStatement","src":"18679:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18561:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18572:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18580:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18591:4:150","type":""}],"src":"18471:248:150"},{"body":{"nodeType":"YulBlock","src":"18898:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18915:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18926:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18908:6:150"},"nodeType":"YulFunctionCall","src":"18908:21:150"},"nodeType":"YulExpressionStatement","src":"18908:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18949:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18960:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18945:3:150"},"nodeType":"YulFunctionCall","src":"18945:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18965:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18938:6:150"},"nodeType":"YulFunctionCall","src":"18938:30:150"},"nodeType":"YulExpressionStatement","src":"18938:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18988:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18999:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18984:3:150"},"nodeType":"YulFunctionCall","src":"18984:18:150"},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665","kind":"string","nodeType":"YulLiteral","src":"19004:34:150","type":"","value":"Galaxy Member: _xAllocationsGove"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18977:6:150"},"nodeType":"YulFunctionCall","src":"18977:62:150"},"nodeType":"YulExpressionStatement","src":"18977:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19059:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19070:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19055:3:150"},"nodeType":"YulFunctionCall","src":"19055:18:150"},{"hexValue":"726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"19075:33:150","type":"","value":"rnor cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19048:6:150"},"nodeType":"YulFunctionCall","src":"19048:61:150"},"nodeType":"YulExpressionStatement","src":"19048:61:150"},{"nodeType":"YulAssignment","src":"19118:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19130:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19141:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19126:3:150"},"nodeType":"YulFunctionCall","src":"19126:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19118:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18875:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18889:4:150","type":""}],"src":"18724:427:150"},{"body":{"nodeType":"YulBlock","src":"19215:116:150","statements":[{"nodeType":"YulAssignment","src":"19225:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19240:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19234:5:150"},"nodeType":"YulFunctionCall","src":"19234:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19225:5:150"}]},{"body":{"nodeType":"YulBlock","src":"19309:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19318:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19321:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19311:6:150"},"nodeType":"YulFunctionCall","src":"19311:12:150"},"nodeType":"YulExpressionStatement","src":"19311:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19269:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19280:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19295:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"19299:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19291:3:150"},"nodeType":"YulFunctionCall","src":"19291:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"19303:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19287:3:150"},"nodeType":"YulFunctionCall","src":"19287:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19276:3:150"},"nodeType":"YulFunctionCall","src":"19276:30:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19266:2:150"},"nodeType":"YulFunctionCall","src":"19266:41:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19259:6:150"},"nodeType":"YulFunctionCall","src":"19259:49:150"},"nodeType":"YulIf","src":"19256:69:150"}]},"name":"abi_decode_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"19194:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19205:5:150","type":""}],"src":"19156:175:150"},{"body":{"nodeType":"YulBlock","src":"19508:718:150","statements":[{"body":{"nodeType":"YulBlock","src":"19555:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19564:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19567:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19557:6:150"},"nodeType":"YulFunctionCall","src":"19557:12:150"},"nodeType":"YulExpressionStatement","src":"19557:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19529:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19538:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19525:3:150"},"nodeType":"YulFunctionCall","src":"19525:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19550:3:150","type":"","value":"224"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19521:3:150"},"nodeType":"YulFunctionCall","src":"19521:33:150"},"nodeType":"YulIf","src":"19518:53:150"},{"nodeType":"YulVariableDeclaration","src":"19580:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19599:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19593:5:150"},"nodeType":"YulFunctionCall","src":"19593:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"19584:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19643:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"19618:24:150"},"nodeType":"YulFunctionCall","src":"19618:31:150"},"nodeType":"YulExpressionStatement","src":"19618:31:150"},{"nodeType":"YulAssignment","src":"19658:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"19668:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19658:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"19682:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19707:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19718:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19703:3:150"},"nodeType":"YulFunctionCall","src":"19703:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19697:5:150"},"nodeType":"YulFunctionCall","src":"19697:25:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"19686:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"19754:7:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"19731:22:150"},"nodeType":"YulFunctionCall","src":"19731:31:150"},"nodeType":"YulExpressionStatement","src":"19731:31:150"},{"nodeType":"YulAssignment","src":"19771:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"19781:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"19771:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"19797:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19822:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19833:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19818:3:150"},"nodeType":"YulFunctionCall","src":"19818:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19812:5:150"},"nodeType":"YulFunctionCall","src":"19812:25:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"19801:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"19868:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"19846:21:150"},"nodeType":"YulFunctionCall","src":"19846:30:150"},"nodeType":"YulExpressionStatement","src":"19846:30:150"},{"nodeType":"YulAssignment","src":"19885:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"19895:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"19885:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"19911:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19936:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19947:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19932:3:150"},"nodeType":"YulFunctionCall","src":"19932:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19926:5:150"},"nodeType":"YulFunctionCall","src":"19926:25:150"},"variables":[{"name":"value_3","nodeType":"YulTypedName","src":"19915:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_3","nodeType":"YulIdentifier","src":"19982:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"19960:21:150"},"nodeType":"YulFunctionCall","src":"19960:30:150"},"nodeType":"YulExpressionStatement","src":"19960:30:150"},{"nodeType":"YulAssignment","src":"19999:17:150","value":{"name":"value_3","nodeType":"YulIdentifier","src":"20009:7:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"19999:6:150"}]},{"nodeType":"YulAssignment","src":"20025:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20068:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20079:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20064:3:150"},"nodeType":"YulFunctionCall","src":"20064:19:150"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"20035:28:150"},"nodeType":"YulFunctionCall","src":"20035:49:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"20025:6:150"}]},{"nodeType":"YulAssignment","src":"20093:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20136:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20147:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20132:3:150"},"nodeType":"YulFunctionCall","src":"20132:19:150"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"20103:28:150"},"nodeType":"YulFunctionCall","src":"20103:49:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"20093:6:150"}]},{"nodeType":"YulAssignment","src":"20161:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20204:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20215:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20200:3:150"},"nodeType":"YulFunctionCall","src":"20200:19:150"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"20171:28:150"},"nodeType":"YulFunctionCall","src":"20171:49:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"20161:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint8t_boolt_boolt_uint64t_uint64t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19426:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19437:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19449:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19457:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19465:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19473:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"19481:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"19489:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"19497:6:150","type":""}],"src":"19336:890:150"},{"body":{"nodeType":"YulBlock","src":"20405:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20422:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20433:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20415:6:150"},"nodeType":"YulFunctionCall","src":"20415:21:150"},"nodeType":"YulExpressionStatement","src":"20415:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20456:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20467:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20452:3:150"},"nodeType":"YulFunctionCall","src":"20452:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"20472:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20445:6:150"},"nodeType":"YulFunctionCall","src":"20445:30:150"},"nodeType":"YulExpressionStatement","src":"20445:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20495:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20506:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20491:3:150"},"nodeType":"YulFunctionCall","src":"20491:18:150"},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865","kind":"string","nodeType":"YulLiteral","src":"20511:34:150","type":"","value":"Galaxy Member: caller is not the"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20484:6:150"},"nodeType":"YulFunctionCall","src":"20484:62:150"},"nodeType":"YulExpressionStatement","src":"20484:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20566:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20577:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20562:3:150"},"nodeType":"YulFunctionCall","src":"20562:18:150"},{"hexValue":"206f776e6572206f662074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"20582:21:150","type":"","value":" owner of the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20555:6:150"},"nodeType":"YulFunctionCall","src":"20555:49:150"},"nodeType":"YulExpressionStatement","src":"20555:49:150"},{"nodeType":"YulAssignment","src":"20613:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20625:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20636:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20621:3:150"},"nodeType":"YulFunctionCall","src":"20621:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20613:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20382:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20396:4:150","type":""}],"src":"20231:415:150"},{"body":{"nodeType":"YulBlock","src":"20825:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20842:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20853:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20835:6:150"},"nodeType":"YulFunctionCall","src":"20835:21:150"},"nodeType":"YulExpressionStatement","src":"20835:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20876:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20887:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20872:3:150"},"nodeType":"YulFunctionCall","src":"20872:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"20892:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20865:6:150"},"nodeType":"YulFunctionCall","src":"20865:30:150"},"nodeType":"YulExpressionStatement","src":"20865:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20915:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20926:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20911:3:150"},"nodeType":"YulFunctionCall","src":"20911:18:150"},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520","kind":"string","nodeType":"YulLiteral","src":"20931:34:150","type":"","value":"Galaxy Member: you must own the "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20904:6:150"},"nodeType":"YulFunctionCall","src":"20904:62:150"},"nodeType":"YulExpressionStatement","src":"20904:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20986:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20997:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20982:3:150"},"nodeType":"YulFunctionCall","src":"20982:18:150"},{"hexValue":"546f6b656e20746f2075706772616465206974","kind":"string","nodeType":"YulLiteral","src":"21002:21:150","type":"","value":"Token to upgrade it"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20975:6:150"},"nodeType":"YulFunctionCall","src":"20975:49:150"},"nodeType":"YulExpressionStatement","src":"20975:49:150"},{"nodeType":"YulAssignment","src":"21033:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21045:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21056:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21041:3:150"},"nodeType":"YulFunctionCall","src":"21041:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21033:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20802:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20816:4:150","type":""}],"src":"20651:415:150"},{"body":{"nodeType":"YulBlock","src":"21245:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21262:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21273:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21255:6:150"},"nodeType":"YulFunctionCall","src":"21255:21:150"},"nodeType":"YulExpressionStatement","src":"21255:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21296:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21307:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21292:3:150"},"nodeType":"YulFunctionCall","src":"21292:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21312:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21285:6:150"},"nodeType":"YulFunctionCall","src":"21285:30:150"},"nodeType":"YulExpressionStatement","src":"21285:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21335:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21346:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21331:3:150"},"nodeType":"YulFunctionCall","src":"21331:18:150"},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c726561647920","kind":"string","nodeType":"YulLiteral","src":"21351:34:150","type":"","value":"Galaxy Member: Token is already "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21324:6:150"},"nodeType":"YulFunctionCall","src":"21324:62:150"},"nodeType":"YulExpressionStatement","src":"21324:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21406:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21417:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21402:3:150"},"nodeType":"YulFunctionCall","src":"21402:18:150"},{"hexValue":"6174206d6178206c6576656c","kind":"string","nodeType":"YulLiteral","src":"21422:14:150","type":"","value":"at max level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21395:6:150"},"nodeType":"YulFunctionCall","src":"21395:42:150"},"nodeType":"YulExpressionStatement","src":"21395:42:150"},{"nodeType":"YulAssignment","src":"21446:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21458:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21469:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21454:3:150"},"nodeType":"YulFunctionCall","src":"21454:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21446:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21222:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21236:4:150","type":""}],"src":"21071:408:150"},{"body":{"nodeType":"YulBlock","src":"21565:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"21611:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21620:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21623:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21613:6:150"},"nodeType":"YulFunctionCall","src":"21613:12:150"},"nodeType":"YulExpressionStatement","src":"21613:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21586:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21595:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21582:3:150"},"nodeType":"YulFunctionCall","src":"21582:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21607:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21578:3:150"},"nodeType":"YulFunctionCall","src":"21578:32:150"},"nodeType":"YulIf","src":"21575:52:150"},{"nodeType":"YulAssignment","src":"21636:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21652:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21646:5:150"},"nodeType":"YulFunctionCall","src":"21646:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21636:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21531:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21542:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21554:6:150","type":""}],"src":"21484:184:150"},{"body":{"nodeType":"YulBlock","src":"21847:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21864:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21875:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21857:6:150"},"nodeType":"YulFunctionCall","src":"21857:21:150"},"nodeType":"YulExpressionStatement","src":"21857:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21898:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21909:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21894:3:150"},"nodeType":"YulFunctionCall","src":"21894:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21914:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21887:6:150"},"nodeType":"YulFunctionCall","src":"21887:30:150"},"nodeType":"YulExpressionStatement","src":"21887:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21937:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21948:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21933:3:150"},"nodeType":"YulFunctionCall","src":"21933:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c61","kind":"string","nodeType":"YulLiteral","src":"21953:34:150","type":"","value":"Galaxy Member: Insufficient bala"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21926:6:150"},"nodeType":"YulFunctionCall","src":"21926:62:150"},"nodeType":"YulExpressionStatement","src":"21926:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22008:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22019:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22004:3:150"},"nodeType":"YulFunctionCall","src":"22004:18:150"},{"hexValue":"6e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"22024:16:150","type":"","value":"nce to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21997:6:150"},"nodeType":"YulFunctionCall","src":"21997:44:150"},"nodeType":"YulExpressionStatement","src":"21997:44:150"},{"nodeType":"YulAssignment","src":"22050:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22062:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22073:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22058:3:150"},"nodeType":"YulFunctionCall","src":"22058:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22050:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21824:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21838:4:150","type":""}],"src":"21673:410:150"},{"body":{"nodeType":"YulBlock","src":"22217:175:150","statements":[{"nodeType":"YulAssignment","src":"22227:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22239:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22250:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22235:3:150"},"nodeType":"YulFunctionCall","src":"22235:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22227:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"22262:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22280:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22285:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22276:3:150"},"nodeType":"YulFunctionCall","src":"22276:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"22289:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22272:3:150"},"nodeType":"YulFunctionCall","src":"22272:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"22266:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22307:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22322:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22330:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22318:3:150"},"nodeType":"YulFunctionCall","src":"22318:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22300:6:150"},"nodeType":"YulFunctionCall","src":"22300:34:150"},"nodeType":"YulExpressionStatement","src":"22300:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22354:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22365:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22350:3:150"},"nodeType":"YulFunctionCall","src":"22350:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22374:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22382:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22370:3:150"},"nodeType":"YulFunctionCall","src":"22370:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22343:6:150"},"nodeType":"YulFunctionCall","src":"22343:43:150"},"nodeType":"YulExpressionStatement","src":"22343:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22178:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22189:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22197:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22208:4:150","type":""}],"src":"22088:304:150"},{"body":{"nodeType":"YulBlock","src":"22571:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22588:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22599:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22581:6:150"},"nodeType":"YulFunctionCall","src":"22581:21:150"},"nodeType":"YulExpressionStatement","src":"22581:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22622:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22633:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22618:3:150"},"nodeType":"YulFunctionCall","src":"22618:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"22638:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22611:6:150"},"nodeType":"YulFunctionCall","src":"22611:30:150"},"nodeType":"YulExpressionStatement","src":"22611:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22661:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22672:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22657:3:150"},"nodeType":"YulFunctionCall","src":"22657:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f","kind":"string","nodeType":"YulLiteral","src":"22677:34:150","type":"","value":"Galaxy Member: Insufficient allo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22650:6:150"},"nodeType":"YulFunctionCall","src":"22650:62:150"},"nodeType":"YulExpressionStatement","src":"22650:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22732:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22743:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22728:3:150"},"nodeType":"YulFunctionCall","src":"22728:18:150"},{"hexValue":"77616e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"22748:18:150","type":"","value":"wance to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22721:6:150"},"nodeType":"YulFunctionCall","src":"22721:46:150"},"nodeType":"YulExpressionStatement","src":"22721:46:150"},{"nodeType":"YulAssignment","src":"22776:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22788:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22799:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22784:3:150"},"nodeType":"YulFunctionCall","src":"22784:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22776:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22548:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22562:4:150","type":""}],"src":"22397:412:150"},{"body":{"nodeType":"YulBlock","src":"22862:77:150","statements":[{"nodeType":"YulAssignment","src":"22872:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22883:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"22886:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22879:3:150"},"nodeType":"YulFunctionCall","src":"22879:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"22872:3:150"}]},{"body":{"nodeType":"YulBlock","src":"22911:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22913:16:150"},"nodeType":"YulFunctionCall","src":"22913:18:150"},"nodeType":"YulExpressionStatement","src":"22913:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22903:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"22906:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22900:2:150"},"nodeType":"YulFunctionCall","src":"22900:10:150"},"nodeType":"YulIf","src":"22897:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22845:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"22848:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"22854:3:150","type":""}],"src":"22814:125:150"},{"body":{"nodeType":"YulBlock","src":"23101:218:150","statements":[{"nodeType":"YulAssignment","src":"23111:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23123:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23134:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23119:3:150"},"nodeType":"YulFunctionCall","src":"23119:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23111:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"23146:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23164:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23169:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23160:3:150"},"nodeType":"YulFunctionCall","src":"23160:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23173:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23156:3:150"},"nodeType":"YulFunctionCall","src":"23156:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23150:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23191:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23206:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23214:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23202:3:150"},"nodeType":"YulFunctionCall","src":"23202:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23184:6:150"},"nodeType":"YulFunctionCall","src":"23184:34:150"},"nodeType":"YulExpressionStatement","src":"23184:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23238:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23249:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23234:3:150"},"nodeType":"YulFunctionCall","src":"23234:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23258:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23266:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23254:3:150"},"nodeType":"YulFunctionCall","src":"23254:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23227:6:150"},"nodeType":"YulFunctionCall","src":"23227:43:150"},"nodeType":"YulExpressionStatement","src":"23227:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23290:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23301:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23286:3:150"},"nodeType":"YulFunctionCall","src":"23286:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"23306:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23279:6:150"},"nodeType":"YulFunctionCall","src":"23279:34:150"},"nodeType":"YulExpressionStatement","src":"23279:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23054:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23065:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23073:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23081:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23092:4:150","type":""}],"src":"22944:375:150"},{"body":{"nodeType":"YulBlock","src":"23402:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"23448:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23457:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23460:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23450:6:150"},"nodeType":"YulFunctionCall","src":"23450:12:150"},"nodeType":"YulExpressionStatement","src":"23450:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23423:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23432:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23419:3:150"},"nodeType":"YulFunctionCall","src":"23419:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23444:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23415:3:150"},"nodeType":"YulFunctionCall","src":"23415:32:150"},"nodeType":"YulIf","src":"23412:52:150"},{"nodeType":"YulVariableDeclaration","src":"23473:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23492:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23486:5:150"},"nodeType":"YulFunctionCall","src":"23486:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"23477:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23533:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"23511:21:150"},"nodeType":"YulFunctionCall","src":"23511:28:150"},"nodeType":"YulExpressionStatement","src":"23511:28:150"},{"nodeType":"YulAssignment","src":"23548:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"23558:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23548:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23368:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23379:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23391:6:150","type":""}],"src":"23324:245:150"},{"body":{"nodeType":"YulBlock","src":"23748:179:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23765:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23776:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23758:6:150"},"nodeType":"YulFunctionCall","src":"23758:21:150"},"nodeType":"YulExpressionStatement","src":"23758:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23799:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23810:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23795:3:150"},"nodeType":"YulFunctionCall","src":"23795:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"23815:2:150","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23788:6:150"},"nodeType":"YulFunctionCall","src":"23788:30:150"},"nodeType":"YulExpressionStatement","src":"23788:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23838:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23849:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23834:3:150"},"nodeType":"YulFunctionCall","src":"23834:18:150"},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"23854:31:150","type":"","value":"GalaxyMember: Transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23827:6:150"},"nodeType":"YulFunctionCall","src":"23827:59:150"},"nodeType":"YulExpressionStatement","src":"23827:59:150"},{"nodeType":"YulAssignment","src":"23895:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23907:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23918:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23903:3:150"},"nodeType":"YulFunctionCall","src":"23903:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23895:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23725:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23739:4:150","type":""}],"src":"23574:353:150"},{"body":{"nodeType":"YulBlock","src":"24013:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"24059:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24068:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24071:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24061:6:150"},"nodeType":"YulFunctionCall","src":"24061:12:150"},"nodeType":"YulExpressionStatement","src":"24061:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24034:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24043:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24030:3:150"},"nodeType":"YulFunctionCall","src":"24030:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24055:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24026:3:150"},"nodeType":"YulFunctionCall","src":"24026:32:150"},"nodeType":"YulIf","src":"24023:52:150"},{"nodeType":"YulVariableDeclaration","src":"24084:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24103:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24097:5:150"},"nodeType":"YulFunctionCall","src":"24097:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"24088:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24147:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"24122:24:150"},"nodeType":"YulFunctionCall","src":"24122:31:150"},"nodeType":"YulExpressionStatement","src":"24122:31:150"},{"nodeType":"YulAssignment","src":"24162:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"24172:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24162:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23979:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23990:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24002:6:150","type":""}],"src":"23932:251:150"},{"body":{"nodeType":"YulBlock","src":"24362:316:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24379:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24390:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24372:6:150"},"nodeType":"YulFunctionCall","src":"24372:21:150"},"nodeType":"YulExpressionStatement","src":"24372:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24413:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24424:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24409:3:150"},"nodeType":"YulFunctionCall","src":"24409:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24429:2:150","type":"","value":"86"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24402:6:150"},"nodeType":"YulFunctionCall","src":"24402:30:150"},"nodeType":"YulExpressionStatement","src":"24402:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24452:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24463:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24448:3:150"},"nodeType":"YulFunctionCall","src":"24448:18:150"},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f","kind":"string","nodeType":"YulLiteral","src":"24468:34:150","type":"","value":"GalaxyMember: vechain node not o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24441:6:150"},"nodeType":"YulFunctionCall","src":"24441:62:150"},"nodeType":"YulExpressionStatement","src":"24441:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24523:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24534:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24519:3:150"},"nodeType":"YulFunctionCall","src":"24519:18:150"},{"hexValue":"776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b","kind":"string","nodeType":"YulLiteral","src":"24539:34:150","type":"","value":"wned or managed by caller or tok"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24512:6:150"},"nodeType":"YulFunctionCall","src":"24512:62:150"},"nodeType":"YulExpressionStatement","src":"24512:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24594:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24605:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24590:3:150"},"nodeType":"YulFunctionCall","src":"24590:19:150"},{"hexValue":"656e206e6f74206f776e65642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"24611:24:150","type":"","value":"en not owned by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24583:6:150"},"nodeType":"YulFunctionCall","src":"24583:53:150"},"nodeType":"YulExpressionStatement","src":"24583:53:150"},{"nodeType":"YulAssignment","src":"24645:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24657:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24668:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24653:3:150"},"nodeType":"YulFunctionCall","src":"24653:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24645:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24339:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24353:4:150","type":""}],"src":"24188:490:150"},{"body":{"nodeType":"YulBlock","src":"24857:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24874:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24885:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24867:6:150"},"nodeType":"YulFunctionCall","src":"24867:21:150"},"nodeType":"YulExpressionStatement","src":"24867:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24908:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24919:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24904:3:150"},"nodeType":"YulFunctionCall","src":"24904:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24924:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24897:6:150"},"nodeType":"YulFunctionCall","src":"24897:30:150"},"nodeType":"YulExpressionStatement","src":"24897:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24947:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24958:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24943:3:150"},"nodeType":"YulFunctionCall","src":"24943:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420","kind":"string","nodeType":"YulLiteral","src":"24963:34:150","type":"","value":"GalaxyMember: node not attached "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24936:6:150"},"nodeType":"YulFunctionCall","src":"24936:62:150"},"nodeType":"YulExpressionStatement","src":"24936:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25018:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25029:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25014:3:150"},"nodeType":"YulFunctionCall","src":"25014:18:150"},{"hexValue":"746f2074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"25034:14:150","type":"","value":"to the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25007:6:150"},"nodeType":"YulFunctionCall","src":"25007:42:150"},"nodeType":"YulExpressionStatement","src":"25007:42:150"},{"nodeType":"YulAssignment","src":"25058:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25070:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25081:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25066:3:150"},"nodeType":"YulFunctionCall","src":"25066:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25058:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24834:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24848:4:150","type":""}],"src":"24683:408:150"},{"body":{"nodeType":"YulBlock","src":"25270:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25287:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25298:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25280:6:150"},"nodeType":"YulFunctionCall","src":"25280:21:150"},"nodeType":"YulExpressionStatement","src":"25280:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25321:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25332:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25317:3:150"},"nodeType":"YulFunctionCall","src":"25317:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25337:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25310:6:150"},"nodeType":"YulFunctionCall","src":"25310:30:150"},"nodeType":"YulExpressionStatement","src":"25310:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25360:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25371:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25356:3:150"},"nodeType":"YulFunctionCall","src":"25356:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206174746163686564","kind":"string","nodeType":"YulLiteral","src":"25376:34:150","type":"","value":"GalaxyMember: token not attached"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25349:6:150"},"nodeType":"YulFunctionCall","src":"25349:62:150"},"nodeType":"YulExpressionStatement","src":"25349:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25431:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25442:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25427:3:150"},"nodeType":"YulFunctionCall","src":"25427:18:150"},{"hexValue":"20746f20746865206e6f6465","kind":"string","nodeType":"YulLiteral","src":"25447:14:150","type":"","value":" to the node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25420:6:150"},"nodeType":"YulFunctionCall","src":"25420:42:150"},"nodeType":"YulExpressionStatement","src":"25420:42:150"},{"nodeType":"YulAssignment","src":"25471:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25483:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25494:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25479:3:150"},"nodeType":"YulFunctionCall","src":"25479:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25471:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25247:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25261:4:150","type":""}],"src":"25096:408:150"},{"body":{"nodeType":"YulBlock","src":"25541:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25558:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25565:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"25570:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25561:3:150"},"nodeType":"YulFunctionCall","src":"25561:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25551:6:150"},"nodeType":"YulFunctionCall","src":"25551:31:150"},"nodeType":"YulExpressionStatement","src":"25551:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25598:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25601:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25591:6:150"},"nodeType":"YulFunctionCall","src":"25591:15:150"},"nodeType":"YulExpressionStatement","src":"25591:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25622:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25625:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25615:6:150"},"nodeType":"YulFunctionCall","src":"25615:15:150"},"nodeType":"YulExpressionStatement","src":"25615:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"25509:127:150"},{"body":{"nodeType":"YulBlock","src":"25815:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25832:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25843:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25825:6:150"},"nodeType":"YulFunctionCall","src":"25825:21:150"},"nodeType":"YulExpressionStatement","src":"25825:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25866:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25877:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25862:3:150"},"nodeType":"YulFunctionCall","src":"25862:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25882:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25855:6:150"},"nodeType":"YulFunctionCall","src":"25855:30:150"},"nodeType":"YulExpressionStatement","src":"25855:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25905:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25916:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25901:3:150"},"nodeType":"YulFunctionCall","src":"25901:18:150"},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520","kind":"string","nodeType":"YulLiteral","src":"25921:34:150","type":"","value":"Galaxy Member: Base URI must be "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25894:6:150"},"nodeType":"YulFunctionCall","src":"25894:62:150"},"nodeType":"YulExpressionStatement","src":"25894:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25976:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25987:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25972:3:150"},"nodeType":"YulFunctionCall","src":"25972:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"25992:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25965:6:150"},"nodeType":"YulFunctionCall","src":"25965:33:150"},"nodeType":"YulExpressionStatement","src":"25965:33:150"},{"nodeType":"YulAssignment","src":"26007:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26019:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26030:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26015:3:150"},"nodeType":"YulFunctionCall","src":"26015:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26007:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25792:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25806:4:150","type":""}],"src":"25641:399:150"},{"body":{"nodeType":"YulBlock","src":"26101:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26118:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"26121:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26111:6:150"},"nodeType":"YulFunctionCall","src":"26111:14:150"},"nodeType":"YulExpressionStatement","src":"26111:14:150"},{"nodeType":"YulAssignment","src":"26134:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26152:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26155:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"26142:9:150"},"nodeType":"YulFunctionCall","src":"26142:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"26134:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"26084:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"26092:4:150","type":""}],"src":"26045:121:150"},{"body":{"nodeType":"YulBlock","src":"26307:706:150","statements":[{"nodeType":"YulVariableDeclaration","src":"26317:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26328:1:150","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"26321:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26338:30:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26361:6:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"26355:5:150"},"nodeType":"YulFunctionCall","src":"26355:13:150"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"26342:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26377:50:150","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"26417:9:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"26391:25:150"},"nodeType":"YulFunctionCall","src":"26391:36:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"26381:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26436:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26446:1:150","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"26440:2:150","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"26497:126:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26518:3:150"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"26527:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26542:3:150","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"26538:3:150"},"nodeType":"YulFunctionCall","src":"26538:8:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26523:3:150"},"nodeType":"YulFunctionCall","src":"26523:24:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26511:6:150"},"nodeType":"YulFunctionCall","src":"26511:37:150"},"nodeType":"YulExpressionStatement","src":"26511:37:150"},{"nodeType":"YulAssignment","src":"26561:52:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26572:3:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"26581:6:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"26603:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"26596:6:150"},"nodeType":"YulFunctionCall","src":"26596:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"26589:6:150"},"nodeType":"YulFunctionCall","src":"26589:22:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"26577:3:150"},"nodeType":"YulFunctionCall","src":"26577:35:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26568:3:150"},"nodeType":"YulFunctionCall","src":"26568:45:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"26561:3:150"}]}]},"nodeType":"YulCase","src":"26490:133:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26495:1:150","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"26639:349:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26660:1:150","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"26663:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26653:6:150"},"nodeType":"YulFunctionCall","src":"26653:17:150"},"nodeType":"YulExpressionStatement","src":"26653:17:150"},{"nodeType":"YulVariableDeclaration","src":"26683:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26693:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"26687:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26710:31:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26735:1:150","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"26738:2:150"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"26725:9:150"},"nodeType":"YulFunctionCall","src":"26725:16:150"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"26714:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26754:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26763:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"26758:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26831:111:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26860:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"26865:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26856:3:150"},"nodeType":"YulFunctionCall","src":"26856:11:150"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"26875:7:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"26869:5:150"},"nodeType":"YulFunctionCall","src":"26869:14:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26849:6:150"},"nodeType":"YulFunctionCall","src":"26849:35:150"},"nodeType":"YulExpressionStatement","src":"26849:35:150"},{"nodeType":"YulAssignment","src":"26901:27:150","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"26916:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26925:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26912:3:150"},"nodeType":"YulFunctionCall","src":"26912:16:150"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"26901:7:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26788:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"26791:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"26785:2:150"},"nodeType":"YulFunctionCall","src":"26785:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"26799:19:150","statements":[{"nodeType":"YulAssignment","src":"26801:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26810:1:150"},{"name":"_2","nodeType":"YulIdentifier","src":"26813:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26806:3:150"},"nodeType":"YulFunctionCall","src":"26806:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"26801:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"26781:3:150","statements":[]},"src":"26777:165:150"},{"nodeType":"YulAssignment","src":"26955:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26966:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"26971:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26962:3:150"},"nodeType":"YulFunctionCall","src":"26962:16:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"26955:3:150"}]}]},"nodeType":"YulCase","src":"26632:356:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26637:1:150","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"26467:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26478:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26463:3:150"},"nodeType":"YulFunctionCall","src":"26463:18:150"},"nodeType":"YulSwitch","src":"26456:532:150"},{"nodeType":"YulAssignment","src":"26997:10:150","value":{"name":"ret","nodeType":"YulIdentifier","src":"27004:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"26997:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"26283:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26288:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"26299:3:150","type":""}],"src":"26171:842:150"},{"body":{"nodeType":"YulBlock","src":"27157:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"27167:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27187:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27181:5:150"},"nodeType":"YulFunctionCall","src":"27181:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"27171:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27242:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"27250:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27238:3:150"},"nodeType":"YulFunctionCall","src":"27238:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"27257:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27262:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"27203:34:150"},"nodeType":"YulFunctionCall","src":"27203:66:150"},"nodeType":"YulExpressionStatement","src":"27203:66:150"},{"nodeType":"YulAssignment","src":"27278:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27289:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27294:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27285:3:150"},"nodeType":"YulFunctionCall","src":"27285:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27278:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"27133:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27138:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"27149:3:150","type":""}],"src":"27018:289:150"},{"body":{"nodeType":"YulBlock","src":"27393:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"27426:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"27440:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27450:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"27444:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"27471:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"27475:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27464:6:150"},"nodeType":"YulFunctionCall","src":"27464:17:150"},"nodeType":"YulExpressionStatement","src":"27464:17:150"},{"nodeType":"YulVariableDeclaration","src":"27494:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"27516:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"27520:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"27506:9:150"},"nodeType":"YulFunctionCall","src":"27506:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"27498:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27538:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27561:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27571:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"27578:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"27590:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27574:3:150"},"nodeType":"YulFunctionCall","src":"27574:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27567:3:150"},"nodeType":"YulFunctionCall","src":"27567:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27557:3:150"},"nodeType":"YulFunctionCall","src":"27557:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"27542:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27632:23:150","statements":[{"nodeType":"YulAssignment","src":"27634:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"27649:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"27634:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"27614:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"27626:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27611:2:150"},"nodeType":"YulFunctionCall","src":"27611:20:150"},"nodeType":"YulIf","src":"27608:47:150"},{"nodeType":"YulVariableDeclaration","src":"27668:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27682:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27692:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"27699:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"27704:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27695:3:150"},"nodeType":"YulFunctionCall","src":"27695:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27688:3:150"},"nodeType":"YulFunctionCall","src":"27688:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27678:3:150"},"nodeType":"YulFunctionCall","src":"27678:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"27672:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27722:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"27735:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"27726:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27820:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27829:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27836:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"27822:6:150"},"nodeType":"YulFunctionCall","src":"27822:17:150"},"nodeType":"YulExpressionStatement","src":"27822:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27770:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"27777:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27767:2:150"},"nodeType":"YulFunctionCall","src":"27767:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"27781:26:150","statements":[{"nodeType":"YulAssignment","src":"27783:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27796:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"27803:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27792:3:150"},"nodeType":"YulFunctionCall","src":"27792:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"27783:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"27763:3:150","statements":[]},"src":"27759:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"27409:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"27414:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27406:2:150"},"nodeType":"YulFunctionCall","src":"27406:11:150"},"nodeType":"YulIf","src":"27403:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"27365:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"27372:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"27377:10:150","type":""}],"src":"27312:545:150"},{"body":{"nodeType":"YulBlock","src":"27947:81:150","statements":[{"nodeType":"YulAssignment","src":"27957:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27972:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27990:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"27993:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27986:3:150"},"nodeType":"YulFunctionCall","src":"27986:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28003:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27999:3:150"},"nodeType":"YulFunctionCall","src":"27999:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27982:3:150"},"nodeType":"YulFunctionCall","src":"27982:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27978:3:150"},"nodeType":"YulFunctionCall","src":"27978:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27968:3:150"},"nodeType":"YulFunctionCall","src":"27968:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28014:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"28017:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28010:3:150"},"nodeType":"YulFunctionCall","src":"28010:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"27965:2:150"},"nodeType":"YulFunctionCall","src":"27965:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"27957:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"27924:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"27930:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"27938:4:150","type":""}],"src":"27862:166:150"},{"body":{"nodeType":"YulBlock","src":"28129:1256:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28139:24:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28159:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28153:5:150"},"nodeType":"YulFunctionCall","src":"28153:10:150"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"28143:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28206:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"28208:16:150"},"nodeType":"YulFunctionCall","src":"28208:18:150"},"nodeType":"YulExpressionStatement","src":"28208:18:150"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"28178:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28194:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"28198:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28190:3:150"},"nodeType":"YulFunctionCall","src":"28190:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28202:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28186:3:150"},"nodeType":"YulFunctionCall","src":"28186:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28175:2:150"},"nodeType":"YulFunctionCall","src":"28175:30:150"},"nodeType":"YulIf","src":"28172:56:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28281:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28319:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"28313:5:150"},"nodeType":"YulFunctionCall","src":"28313:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"28287:25:150"},"nodeType":"YulFunctionCall","src":"28287:38:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"28327:6:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"28237:43:150"},"nodeType":"YulFunctionCall","src":"28237:97:150"},"nodeType":"YulExpressionStatement","src":"28237:97:150"},{"nodeType":"YulVariableDeclaration","src":"28343:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28360:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"28347:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28370:23:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28389:4:150","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"28374:11:150","type":""}]},{"nodeType":"YulAssignment","src":"28402:24:150","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"28415:11:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28402:9:150"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"28472:656:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28486:35:150","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"28505:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28517:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28513:3:150"},"nodeType":"YulFunctionCall","src":"28513:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28501:3:150"},"nodeType":"YulFunctionCall","src":"28501:20:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"28490:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28534:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28578:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"28548:29:150"},"nodeType":"YulFunctionCall","src":"28548:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"28538:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28596:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28605:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"28600:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28683:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28708:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28726:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28731:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28722:3:150"},"nodeType":"YulFunctionCall","src":"28722:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28716:5:150"},"nodeType":"YulFunctionCall","src":"28716:26:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28701:6:150"},"nodeType":"YulFunctionCall","src":"28701:42:150"},"nodeType":"YulExpressionStatement","src":"28701:42:150"},{"nodeType":"YulAssignment","src":"28760:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28774:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"28782:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28770:3:150"},"nodeType":"YulFunctionCall","src":"28770:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28760:6:150"}]},{"nodeType":"YulAssignment","src":"28801:40:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28818:9:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"28829:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28814:3:150"},"nodeType":"YulFunctionCall","src":"28814:27:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28801:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28630:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"28633:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28627:2:150"},"nodeType":"YulFunctionCall","src":"28627:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"28642:28:150","statements":[{"nodeType":"YulAssignment","src":"28644:24:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28653:1:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"28656:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28649:3:150"},"nodeType":"YulFunctionCall","src":"28649:19:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"28644:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"28623:3:150","statements":[]},"src":"28619:236:150"},{"body":{"nodeType":"YulBlock","src":"28903:166:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28921:43:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28948:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28953:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28944:3:150"},"nodeType":"YulFunctionCall","src":"28944:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28938:5:150"},"nodeType":"YulFunctionCall","src":"28938:26:150"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"28925:9:150","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28988:6:150"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"29000:9:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29027:1:150","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"29030:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29023:3:150"},"nodeType":"YulFunctionCall","src":"29023:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"29039:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29019:3:150"},"nodeType":"YulFunctionCall","src":"29019:24:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29049:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29045:3:150"},"nodeType":"YulFunctionCall","src":"29045:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"29015:3:150"},"nodeType":"YulFunctionCall","src":"29015:37:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29011:3:150"},"nodeType":"YulFunctionCall","src":"29011:42:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28996:3:150"},"nodeType":"YulFunctionCall","src":"28996:58:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28981:6:150"},"nodeType":"YulFunctionCall","src":"28981:74:150"},"nodeType":"YulExpressionStatement","src":"28981:74:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"28874:7:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"28883:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28871:2:150"},"nodeType":"YulFunctionCall","src":"28871:19:150"},"nodeType":"YulIf","src":"28868:201:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"29089:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29103:1:150","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"29106:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29099:3:150"},"nodeType":"YulFunctionCall","src":"29099:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"29115:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29095:3:150"},"nodeType":"YulFunctionCall","src":"29095:22:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29082:6:150"},"nodeType":"YulFunctionCall","src":"29082:36:150"},"nodeType":"YulExpressionStatement","src":"29082:36:150"}]},"nodeType":"YulCase","src":"28465:663:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28470:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"29145:234:150","statements":[{"nodeType":"YulVariableDeclaration","src":"29159:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29172:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"29163:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29208:67:150","statements":[{"nodeType":"YulAssignment","src":"29226:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"29245:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"29250:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29241:3:150"},"nodeType":"YulFunctionCall","src":"29241:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29235:5:150"},"nodeType":"YulFunctionCall","src":"29235:26:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"29226:5:150"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"29189:6:150"},"nodeType":"YulIf","src":"29186:89:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"29295:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29354:5:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"29361:6:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"29301:52:150"},"nodeType":"YulFunctionCall","src":"29301:67:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29288:6:150"},"nodeType":"YulFunctionCall","src":"29288:81:150"},"nodeType":"YulExpressionStatement","src":"29288:81:150"}]},"nodeType":"YulCase","src":"29137:242:150","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"28445:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"28453:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28442:2:150"},"nodeType":"YulFunctionCall","src":"28442:14:150"},"nodeType":"YulSwitch","src":"28435:944:150"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"28114:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"28120:3:150","type":""}],"src":"28033:1352:150"},{"body":{"nodeType":"YulBlock","src":"29564:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29581:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29592:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29574:6:150"},"nodeType":"YulFunctionCall","src":"29574:21:150"},"nodeType":"YulExpressionStatement","src":"29574:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29615:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29626:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29611:3:150"},"nodeType":"YulFunctionCall","src":"29611:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"29631:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29604:6:150"},"nodeType":"YulFunctionCall","src":"29604:30:150"},"nodeType":"YulExpressionStatement","src":"29604:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29654:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29665:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29650:3:150"},"nodeType":"YulFunctionCall","src":"29650:18:150"},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e67206973","kind":"string","nodeType":"YulLiteral","src":"29670:34:150","type":"","value":"Galaxy Member: Public minting is"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29643:6:150"},"nodeType":"YulFunctionCall","src":"29643:62:150"},"nodeType":"YulExpressionStatement","src":"29643:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29725:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29736:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29721:3:150"},"nodeType":"YulFunctionCall","src":"29721:18:150"},{"hexValue":"20706175736564","kind":"string","nodeType":"YulLiteral","src":"29741:9:150","type":"","value":" paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29714:6:150"},"nodeType":"YulFunctionCall","src":"29714:37:150"},"nodeType":"YulExpressionStatement","src":"29714:37:150"},{"nodeType":"YulAssignment","src":"29760:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29772:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29783:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29768:3:150"},"nodeType":"YulFunctionCall","src":"29768:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29760:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29541:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29555:4:150","type":""}],"src":"29390:403:150"},{"body":{"nodeType":"YulBlock","src":"29972:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29989:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30000:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29982:6:150"},"nodeType":"YulFunctionCall","src":"29982:21:150"},"nodeType":"YulExpressionStatement","src":"29982:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30023:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30034:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30019:3:150"},"nodeType":"YulFunctionCall","src":"30019:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30039:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30012:6:150"},"nodeType":"YulFunctionCall","src":"30012:30:150"},"nodeType":"YulExpressionStatement","src":"30012:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30062:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30073:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30058:3:150"},"nodeType":"YulFunctionCall","src":"30058:18:150"},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274","kind":"string","nodeType":"YulLiteral","src":"30078:34:150","type":"","value":"Galaxy Member: User has not part"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30051:6:150"},"nodeType":"YulFunctionCall","src":"30051:62:150"},"nodeType":"YulExpressionStatement","src":"30051:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30133:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30144:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30129:3:150"},"nodeType":"YulFunctionCall","src":"30129:18:150"},{"hexValue":"696369706174656420696e20676f7665726e616e6365","kind":"string","nodeType":"YulLiteral","src":"30149:24:150","type":"","value":"icipated in governance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30122:6:150"},"nodeType":"YulFunctionCall","src":"30122:52:150"},"nodeType":"YulExpressionStatement","src":"30122:52:150"},{"nodeType":"YulAssignment","src":"30183:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30195:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30206:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30191:3:150"},"nodeType":"YulFunctionCall","src":"30191:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30183:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29949:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29963:4:150","type":""}],"src":"29798:418:150"},{"body":{"nodeType":"YulBlock","src":"30395:237:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30412:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30423:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30405:6:150"},"nodeType":"YulFunctionCall","src":"30405:21:150"},"nodeType":"YulExpressionStatement","src":"30405:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30446:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30457:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30442:3:150"},"nodeType":"YulFunctionCall","src":"30442:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30462:2:150","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30435:6:150"},"nodeType":"YulFunctionCall","src":"30435:30:150"},"nodeType":"YulExpressionStatement","src":"30435:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30485:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30496:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30481:3:150"},"nodeType":"YulFunctionCall","src":"30481:18:150"},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d757374206265","kind":"string","nodeType":"YulLiteral","src":"30501:34:150","type":"","value":"Galaxy Member: Max level must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30474:6:150"},"nodeType":"YulFunctionCall","src":"30474:62:150"},"nodeType":"YulExpressionStatement","src":"30474:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30556:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30567:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30552:3:150"},"nodeType":"YulFunctionCall","src":"30552:18:150"},{"hexValue":"2067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"30572:17:150","type":"","value":" greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30545:6:150"},"nodeType":"YulFunctionCall","src":"30545:45:150"},"nodeType":"YulExpressionStatement","src":"30545:45:150"},{"nodeType":"YulAssignment","src":"30599:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30611:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30622:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30607:3:150"},"nodeType":"YulFunctionCall","src":"30607:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30599:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30372:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30386:4:150","type":""}],"src":"30221:411:150"},{"body":{"nodeType":"YulBlock","src":"30811:250:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30828:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30839:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30821:6:150"},"nodeType":"YulFunctionCall","src":"30821:21:150"},"nodeType":"YulExpressionStatement","src":"30821:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30862:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30873:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30858:3:150"},"nodeType":"YulFunctionCall","src":"30858:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30878:2:150","type":"","value":"60"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30851:6:150"},"nodeType":"YulFunctionCall","src":"30851:30:150"},"nodeType":"YulExpressionStatement","src":"30851:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30901:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30912:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30897:3:150"},"nodeType":"YulFunctionCall","src":"30897:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f6b656e20616464726573","kind":"string","nodeType":"YulLiteral","src":"30917:34:150","type":"","value":"Galaxy Member: B3TR token addres"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30890:6:150"},"nodeType":"YulFunctionCall","src":"30890:62:150"},"nodeType":"YulExpressionStatement","src":"30890:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30972:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30983:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30968:3:150"},"nodeType":"YulFunctionCall","src":"30968:18:150"},{"hexValue":"732063616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"30988:30:150","type":"","value":"s cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30961:6:150"},"nodeType":"YulFunctionCall","src":"30961:58:150"},"nodeType":"YulExpressionStatement","src":"30961:58:150"},{"nodeType":"YulAssignment","src":"31028:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31040:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31051:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31036:3:150"},"nodeType":"YulFunctionCall","src":"31036:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31028:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30788:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30802:4:150","type":""}],"src":"30637:424:150"},{"body":{"nodeType":"YulBlock","src":"31240:248:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31257:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31268:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31250:6:150"},"nodeType":"YulFunctionCall","src":"31250:21:150"},"nodeType":"YulExpressionStatement","src":"31250:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31291:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31302:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31287:3:150"},"nodeType":"YulFunctionCall","src":"31287:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31307:2:150","type":"","value":"58"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31280:6:150"},"nodeType":"YulFunctionCall","src":"31280:30:150"},"nodeType":"YulExpressionStatement","src":"31280:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31330:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31341:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31326:3:150"},"nodeType":"YulFunctionCall","src":"31326:18:150"},{"hexValue":"47616c617879204d656d6265723a205472656173757279206164647265737320","kind":"string","nodeType":"YulLiteral","src":"31346:34:150","type":"","value":"Galaxy Member: Treasury address "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31319:6:150"},"nodeType":"YulFunctionCall","src":"31319:62:150"},"nodeType":"YulExpressionStatement","src":"31319:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31401:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31412:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31397:3:150"},"nodeType":"YulFunctionCall","src":"31397:18:150"},{"hexValue":"63616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"31417:28:150","type":"","value":"cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31390:6:150"},"nodeType":"YulFunctionCall","src":"31390:56:150"},"nodeType":"YulExpressionStatement","src":"31390:56:150"},{"nodeType":"YulAssignment","src":"31455:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31467:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31478:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31463:3:150"},"nodeType":"YulFunctionCall","src":"31463:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31455:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31217:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31231:4:150","type":""}],"src":"31066:422:150"},{"body":{"nodeType":"YulBlock","src":"31542:79:150","statements":[{"nodeType":"YulAssignment","src":"31552:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31564:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"31567:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31560:3:150"},"nodeType":"YulFunctionCall","src":"31560:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"31552:4:150"}]},{"body":{"nodeType":"YulBlock","src":"31593:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"31595:16:150"},"nodeType":"YulFunctionCall","src":"31595:18:150"},"nodeType":"YulExpressionStatement","src":"31595:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"31584:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"31590:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"31581:2:150"},"nodeType":"YulFunctionCall","src":"31581:11:150"},"nodeType":"YulIf","src":"31578:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"31524:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"31527:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"31533:4:150","type":""}],"src":"31493:128:150"},{"body":{"nodeType":"YulBlock","src":"31800:296:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31817:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31828:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31810:6:150"},"nodeType":"YulFunctionCall","src":"31810:21:150"},"nodeType":"YulExpressionStatement","src":"31810:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31851:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31862:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31847:3:150"},"nodeType":"YulFunctionCall","src":"31847:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31867:2:150","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31840:6:150"},"nodeType":"YulFunctionCall","src":"31840:30:150"},"nodeType":"YulExpressionStatement","src":"31840:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31890:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31901:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31886:3:150"},"nodeType":"YulFunctionCall","src":"31886:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"31906:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31879:6:150"},"nodeType":"YulFunctionCall","src":"31879:62:150"},"nodeType":"YulExpressionStatement","src":"31879:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31961:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31972:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31957:3:150"},"nodeType":"YulFunctionCall","src":"31957:18:150"},{"hexValue":"7573742062652073657420666f7220616c6c20756e6c6f636b6564206c657665","kind":"string","nodeType":"YulLiteral","src":"31977:34:150","type":"","value":"ust be set for all unlocked leve"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31950:6:150"},"nodeType":"YulFunctionCall","src":"31950:62:150"},"nodeType":"YulExpressionStatement","src":"31950:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32032:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32043:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32028:3:150"},"nodeType":"YulFunctionCall","src":"32028:19:150"},{"hexValue":"6c73","kind":"string","nodeType":"YulLiteral","src":"32049:4:150","type":"","value":"ls"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32021:6:150"},"nodeType":"YulFunctionCall","src":"32021:33:150"},"nodeType":"YulExpressionStatement","src":"32021:33:150"},{"nodeType":"YulAssignment","src":"32063:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32075:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32086:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32071:3:150"},"nodeType":"YulFunctionCall","src":"32071:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32063:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31777:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31791:4:150","type":""}],"src":"31626:470:150"},{"body":{"nodeType":"YulBlock","src":"32275:243:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32292:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32303:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32285:6:150"},"nodeType":"YulFunctionCall","src":"32285:21:150"},"nodeType":"YulExpressionStatement","src":"32285:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32326:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32337:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32322:3:150"},"nodeType":"YulFunctionCall","src":"32322:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32342:2:150","type":"","value":"53"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32315:6:150"},"nodeType":"YulFunctionCall","src":"32315:30:150"},"nodeType":"YulExpressionStatement","src":"32315:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32365:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32376:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32361:3:150"},"nodeType":"YulFunctionCall","src":"32361:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"32381:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32354:6:150"},"nodeType":"YulFunctionCall","src":"32354:62:150"},"nodeType":"YulExpressionStatement","src":"32354:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32436:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32447:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32432:3:150"},"nodeType":"YulFunctionCall","src":"32432:18:150"},{"hexValue":"7573742062652067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"32452:23:150","type":"","value":"ust be greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32425:6:150"},"nodeType":"YulFunctionCall","src":"32425:51:150"},"nodeType":"YulExpressionStatement","src":"32425:51:150"},{"nodeType":"YulAssignment","src":"32485:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32497:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32508:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32493:3:150"},"nodeType":"YulFunctionCall","src":"32493:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32485:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32252:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32266:4:150","type":""}],"src":"32101:417:150"},{"body":{"nodeType":"YulBlock","src":"32697:245:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32714:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32725:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32707:6:150"},"nodeType":"YulFunctionCall","src":"32707:21:150"},"nodeType":"YulExpressionStatement","src":"32707:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32748:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32759:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32744:3:150"},"nodeType":"YulFunctionCall","src":"32744:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32764:2:150","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32737:6:150"},"nodeType":"YulFunctionCall","src":"32737:30:150"},"nodeType":"YulExpressionStatement","src":"32737:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32787:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32798:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32783:3:150"},"nodeType":"YulFunctionCall","src":"32783:18:150"},{"hexValue":"47616c617879204d656d6265723a2041646d696e20616464726573732063616e","kind":"string","nodeType":"YulLiteral","src":"32803:34:150","type":"","value":"Galaxy Member: Admin address can"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32776:6:150"},"nodeType":"YulFunctionCall","src":"32776:62:150"},"nodeType":"YulExpressionStatement","src":"32776:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32858:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32869:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32854:3:150"},"nodeType":"YulFunctionCall","src":"32854:18:150"},{"hexValue":"6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"32874:25:150","type":"","value":"not be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32847:6:150"},"nodeType":"YulFunctionCall","src":"32847:53:150"},"nodeType":"YulExpressionStatement","src":"32847:53:150"},{"nodeType":"YulAssignment","src":"32909:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32921:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32932:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32917:3:150"},"nodeType":"YulFunctionCall","src":"32917:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32909:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32674:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32688:4:150","type":""}],"src":"32523:419:150"},{"body":{"nodeType":"YulBlock","src":"33055:101:150","statements":[{"nodeType":"YulAssignment","src":"33065:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33077:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33088:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33073:3:150"},"nodeType":"YulFunctionCall","src":"33073:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33065:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33107:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33122:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33138:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"33142:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33134:3:150"},"nodeType":"YulFunctionCall","src":"33134:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"33146:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33130:3:150"},"nodeType":"YulFunctionCall","src":"33130:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33118:3:150"},"nodeType":"YulFunctionCall","src":"33118:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33100:6:150"},"nodeType":"YulFunctionCall","src":"33100:50:150"},"nodeType":"YulExpressionStatement","src":"33100:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33024:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33035:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33046:4:150","type":""}],"src":"32947:209:150"},{"body":{"nodeType":"YulBlock","src":"33335:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33352:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33363:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33345:6:150"},"nodeType":"YulFunctionCall","src":"33345:21:150"},"nodeType":"YulExpressionStatement","src":"33345:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33386:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33397:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33382:3:150"},"nodeType":"YulFunctionCall","src":"33382:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33402:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33375:6:150"},"nodeType":"YulFunctionCall","src":"33375:30:150"},"nodeType":"YulExpressionStatement","src":"33375:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33425:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33436:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33421:3:150"},"nodeType":"YulFunctionCall","src":"33421:18:150"},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e","kind":"string","nodeType":"YulLiteral","src":"33441:34:150","type":"","value":"GalaxyMember: _vechainNodes cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33414:6:150"},"nodeType":"YulFunctionCall","src":"33414:62:150"},"nodeType":"YulExpressionStatement","src":"33414:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33496:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33507:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33492:3:150"},"nodeType":"YulFunctionCall","src":"33492:18:150"},{"hexValue":"6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"33512:24:150","type":"","value":"ot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33485:6:150"},"nodeType":"YulFunctionCall","src":"33485:52:150"},"nodeType":"YulExpressionStatement","src":"33485:52:150"},{"nodeType":"YulAssignment","src":"33546:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33558:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33569:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33554:3:150"},"nodeType":"YulFunctionCall","src":"33554:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33546:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33312:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33326:4:150","type":""}],"src":"33161:418:150"},{"body":{"nodeType":"YulBlock","src":"33758:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33775:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33786:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33768:6:150"},"nodeType":"YulFunctionCall","src":"33768:21:150"},"nodeType":"YulExpressionStatement","src":"33768:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33809:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33820:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33805:3:150"},"nodeType":"YulFunctionCall","src":"33805:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33825:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33798:6:150"},"nodeType":"YulFunctionCall","src":"33798:30:150"},"nodeType":"YulExpressionStatement","src":"33798:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33848:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33859:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33844:3:150"},"nodeType":"YulFunctionCall","src":"33844:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578","kind":"string","nodeType":"YulLiteral","src":"33864:34:150","type":"","value":"GalaxyMember: tokenId doesn't ex"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33837:6:150"},"nodeType":"YulFunctionCall","src":"33837:62:150"},"nodeType":"YulExpressionStatement","src":"33837:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33919:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33930:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33915:3:150"},"nodeType":"YulFunctionCall","src":"33915:18:150"},{"hexValue":"697374","kind":"string","nodeType":"YulLiteral","src":"33935:5:150","type":"","value":"ist"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33908:6:150"},"nodeType":"YulFunctionCall","src":"33908:33:150"},"nodeType":"YulExpressionStatement","src":"33908:33:150"},{"nodeType":"YulAssignment","src":"33950:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33962:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33973:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33958:3:150"},"nodeType":"YulFunctionCall","src":"33958:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33950:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33735:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33749:4:150","type":""}],"src":"33584:399:150"},{"body":{"nodeType":"YulBlock","src":"34162:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34179:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34190:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34172:6:150"},"nodeType":"YulFunctionCall","src":"34172:21:150"},"nodeType":"YulExpressionStatement","src":"34172:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34213:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34224:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34209:3:150"},"nodeType":"YulFunctionCall","src":"34209:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34229:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34202:6:150"},"nodeType":"YulFunctionCall","src":"34202:30:150"},"nodeType":"YulExpressionStatement","src":"34202:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34252:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34263:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34248:3:150"},"nodeType":"YulFunctionCall","src":"34248:18:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"34268:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34241:6:150"},"nodeType":"YulFunctionCall","src":"34241:62:150"},"nodeType":"YulExpressionStatement","src":"34241:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34323:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34334:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34319:3:150"},"nodeType":"YulFunctionCall","src":"34319:18:150"},{"hexValue":"6f742062652030","kind":"string","nodeType":"YulLiteral","src":"34339:9:150","type":"","value":"ot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34312:6:150"},"nodeType":"YulFunctionCall","src":"34312:37:150"},"nodeType":"YulExpressionStatement","src":"34312:37:150"},{"nodeType":"YulAssignment","src":"34358:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34370:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34381:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34366:3:150"},"nodeType":"YulFunctionCall","src":"34366:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34358:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34139:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34153:4:150","type":""}],"src":"33988:403:150"},{"body":{"nodeType":"YulBlock","src":"34636:274:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34653:3:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"34658:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34646:6:150"},"nodeType":"YulFunctionCall","src":"34646:47:150"},"nodeType":"YulExpressionStatement","src":"34646:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34713:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"34718:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34709:3:150"},"nodeType":"YulFunctionCall","src":"34709:12:150"},{"hexValue":"6f742062652067726561746572207468616e20","kind":"string","nodeType":"YulLiteral","src":"34723:21:150","type":"","value":"ot be greater than "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34702:6:150"},"nodeType":"YulFunctionCall","src":"34702:43:150"},"nodeType":"YulExpressionStatement","src":"34702:43:150"},{"nodeType":"YulVariableDeclaration","src":"34754:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34774:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34768:5:150"},"nodeType":"YulFunctionCall","src":"34768:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"34758:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34829:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"34837:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34825:3:150"},"nodeType":"YulFunctionCall","src":"34825:15:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34846:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"34851:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34842:3:150"},"nodeType":"YulFunctionCall","src":"34842:12:150"},{"name":"length","nodeType":"YulIdentifier","src":"34856:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"34790:34:150"},"nodeType":"YulFunctionCall","src":"34790:73:150"},"nodeType":"YulExpressionStatement","src":"34790:73:150"},{"nodeType":"YulAssignment","src":"34872:32:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34887:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"34892:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34883:3:150"},"nodeType":"YulFunctionCall","src":"34883:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"34901:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34879:3:150"},"nodeType":"YulFunctionCall","src":"34879:25:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"34872:3:150"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"34612:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34617:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"34628:3:150","type":""}],"src":"34396:514:150"},{"body":{"nodeType":"YulBlock","src":"34967:116:150","statements":[{"nodeType":"YulAssignment","src":"34977:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"34992:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"34995:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"34988:3:150"},"nodeType":"YulFunctionCall","src":"34988:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"34977:7:150"}]},{"body":{"nodeType":"YulBlock","src":"35055:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"35057:16:150"},"nodeType":"YulFunctionCall","src":"35057:18:150"},"nodeType":"YulExpressionStatement","src":"35057:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35026:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35019:6:150"},"nodeType":"YulFunctionCall","src":"35019:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"35033:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"35040:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"35049:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"35036:3:150"},"nodeType":"YulFunctionCall","src":"35036:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"35030:2:150"},"nodeType":"YulFunctionCall","src":"35030:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"35016:2:150"},"nodeType":"YulFunctionCall","src":"35016:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35009:6:150"},"nodeType":"YulFunctionCall","src":"35009:45:150"},"nodeType":"YulIf","src":"35006:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"34946:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"34949:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"34955:7:150","type":""}],"src":"34915:168:150"},{"body":{"nodeType":"YulBlock","src":"35262:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35279:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35290:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35272:6:150"},"nodeType":"YulFunctionCall","src":"35272:21:150"},"nodeType":"YulExpressionStatement","src":"35272:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35324:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35309:3:150"},"nodeType":"YulFunctionCall","src":"35309:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35329:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35302:6:150"},"nodeType":"YulFunctionCall","src":"35302:30:150"},"nodeType":"YulExpressionStatement","src":"35302:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35352:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35363:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35348:3:150"},"nodeType":"YulFunctionCall","src":"35348:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e6564206279","kind":"string","nodeType":"YulLiteral","src":"35368:34:150","type":"","value":"GalaxyMember: token not owned by"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35341:6:150"},"nodeType":"YulFunctionCall","src":"35341:62:150"},"nodeType":"YulExpressionStatement","src":"35341:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35434:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35419:3:150"},"nodeType":"YulFunctionCall","src":"35419:18:150"},{"hexValue":"2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"35439:9:150","type":"","value":" caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35412:6:150"},"nodeType":"YulFunctionCall","src":"35412:37:150"},"nodeType":"YulExpressionStatement","src":"35412:37:150"},{"nodeType":"YulAssignment","src":"35458:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35470:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35481:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35466:3:150"},"nodeType":"YulFunctionCall","src":"35466:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35458:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35239:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35253:4:150","type":""}],"src":"35088:403:150"},{"body":{"nodeType":"YulBlock","src":"35670:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35687:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35698:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35680:6:150"},"nodeType":"YulFunctionCall","src":"35680:21:150"},"nodeType":"YulExpressionStatement","src":"35680:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35721:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35732:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35717:3:150"},"nodeType":"YulFunctionCall","src":"35717:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35737:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35710:6:150"},"nodeType":"YulFunctionCall","src":"35710:30:150"},"nodeType":"YulExpressionStatement","src":"35710:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35760:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35771:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35756:3:150"},"nodeType":"YulFunctionCall","src":"35756:18:150"},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f","kind":"string","nodeType":"YulLiteral","src":"35776:34:150","type":"","value":"GalaxyMember: vechain node not o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35749:6:150"},"nodeType":"YulFunctionCall","src":"35749:62:150"},"nodeType":"YulExpressionStatement","src":"35749:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35842:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35827:3:150"},"nodeType":"YulFunctionCall","src":"35827:18:150"},{"hexValue":"776e6564206f72206d616e616765642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"35847:27:150","type":"","value":"wned or managed by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35820:6:150"},"nodeType":"YulFunctionCall","src":"35820:55:150"},"nodeType":"YulExpressionStatement","src":"35820:55:150"},{"nodeType":"YulAssignment","src":"35884:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35896:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35907:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35892:3:150"},"nodeType":"YulFunctionCall","src":"35892:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35884:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35647:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35661:4:150","type":""}],"src":"35496:421:150"},{"body":{"nodeType":"YulBlock","src":"36096:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36113:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36124:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36106:6:150"},"nodeType":"YulFunctionCall","src":"36106:21:150"},"nodeType":"YulExpressionStatement","src":"36106:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36147:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36158:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36143:3:150"},"nodeType":"YulFunctionCall","src":"36143:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36163:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36136:6:150"},"nodeType":"YulFunctionCall","src":"36136:30:150"},"nodeType":"YulExpressionStatement","src":"36136:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36186:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36197:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36182:3:150"},"nodeType":"YulFunctionCall","src":"36182:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c7265616479206174746163","kind":"string","nodeType":"YulLiteral","src":"36202:34:150","type":"","value":"GalaxyMember: node already attac"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36175:6:150"},"nodeType":"YulFunctionCall","src":"36175:62:150"},"nodeType":"YulExpressionStatement","src":"36175:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36257:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36268:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36253:3:150"},"nodeType":"YulFunctionCall","src":"36253:18:150"},{"hexValue":"68656420746f206120746f6b656e","kind":"string","nodeType":"YulLiteral","src":"36273:16:150","type":"","value":"hed to a token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36246:6:150"},"nodeType":"YulFunctionCall","src":"36246:44:150"},"nodeType":"YulExpressionStatement","src":"36246:44:150"},{"nodeType":"YulAssignment","src":"36299:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36311:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36322:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36307:3:150"},"nodeType":"YulFunctionCall","src":"36307:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36299:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36073:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36087:4:150","type":""}],"src":"35922:410:150"},{"body":{"nodeType":"YulBlock","src":"36511:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36528:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36539:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36521:6:150"},"nodeType":"YulFunctionCall","src":"36521:21:150"},"nodeType":"YulExpressionStatement","src":"36521:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36562:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36573:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36558:3:150"},"nodeType":"YulFunctionCall","src":"36558:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36578:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36551:6:150"},"nodeType":"YulFunctionCall","src":"36551:30:150"},"nodeType":"YulExpressionStatement","src":"36551:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36601:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36612:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36597:3:150"},"nodeType":"YulFunctionCall","src":"36597:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c72656164792061747461","kind":"string","nodeType":"YulLiteral","src":"36617:34:150","type":"","value":"GalaxyMember: token already atta"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36590:6:150"},"nodeType":"YulFunctionCall","src":"36590:62:150"},"nodeType":"YulExpressionStatement","src":"36590:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36672:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36683:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36668:3:150"},"nodeType":"YulFunctionCall","src":"36668:18:150"},{"hexValue":"6368656420746f2061206e6f6465","kind":"string","nodeType":"YulLiteral","src":"36688:16:150","type":"","value":"ched to a node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36661:6:150"},"nodeType":"YulFunctionCall","src":"36661:44:150"},"nodeType":"YulExpressionStatement","src":"36661:44:150"},{"nodeType":"YulAssignment","src":"36714:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36726:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36737:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36722:3:150"},"nodeType":"YulFunctionCall","src":"36722:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36714:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36488:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36502:4:150","type":""}],"src":"36337:410:150"},{"body":{"nodeType":"YulBlock","src":"36926:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36943:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36954:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36936:6:150"},"nodeType":"YulFunctionCall","src":"36936:21:150"},"nodeType":"YulExpressionStatement","src":"36936:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36977:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36988:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36973:3:150"},"nodeType":"YulFunctionCall","src":"36973:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36993:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36966:6:150"},"nodeType":"YulFunctionCall","src":"36966:30:150"},"nodeType":"YulExpressionStatement","src":"36966:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37016:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37027:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37012:3:150"},"nodeType":"YulFunctionCall","src":"37012:18:150"},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67","kind":"string","nodeType":"YulLiteral","src":"37032:34:150","type":"","value":"Galaxy Member: XAllocationVoting"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37005:6:150"},"nodeType":"YulFunctionCall","src":"37005:62:150"},"nodeType":"YulExpressionStatement","src":"37005:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37087:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37098:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37083:3:150"},"nodeType":"YulFunctionCall","src":"37083:18:150"},{"hexValue":"476f7665726e6f72206e6f7420736574","kind":"string","nodeType":"YulLiteral","src":"37103:18:150","type":"","value":"Governor not set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37076:6:150"},"nodeType":"YulFunctionCall","src":"37076:46:150"},"nodeType":"YulExpressionStatement","src":"37076:46:150"},{"nodeType":"YulAssignment","src":"37131:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37143:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37154:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37139:3:150"},"nodeType":"YulFunctionCall","src":"37139:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37131:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36903:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36917:4:150","type":""}],"src":"36752:412:150"},{"body":{"nodeType":"YulBlock","src":"37343:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37360:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37371:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37353:6:150"},"nodeType":"YulFunctionCall","src":"37353:21:150"},"nodeType":"YulExpressionStatement","src":"37353:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37394:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37405:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37390:3:150"},"nodeType":"YulFunctionCall","src":"37390:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37410:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37383:6:150"},"nodeType":"YulFunctionCall","src":"37383:30:150"},"nodeType":"YulExpressionStatement","src":"37383:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37433:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37444:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37429:3:150"},"nodeType":"YulFunctionCall","src":"37429:18:150"},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420","kind":"string","nodeType":"YulLiteral","src":"37449:34:150","type":"","value":"Galaxy Member: B3TRGovernor not "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37422:6:150"},"nodeType":"YulFunctionCall","src":"37422:62:150"},"nodeType":"YulExpressionStatement","src":"37422:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37504:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37515:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37500:3:150"},"nodeType":"YulFunctionCall","src":"37500:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"37520:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37493:6:150"},"nodeType":"YulFunctionCall","src":"37493:33:150"},"nodeType":"YulExpressionStatement","src":"37493:33:150"},{"nodeType":"YulAssignment","src":"37535:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37547:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37558:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37543:3:150"},"nodeType":"YulFunctionCall","src":"37543:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37535:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37320:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37334:4:150","type":""}],"src":"37169:399:150"},{"body":{"nodeType":"YulBlock","src":"37742:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"37752:16:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"37765:3:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"37756:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"37777:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37797:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37791:5:150"},"nodeType":"YulFunctionCall","src":"37791:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"37781:6:150","type":""}]},{"nodeType":"YulAssignment","src":"37813:12:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"37822:3:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"37813:5:150"}]},{"nodeType":"YulVariableDeclaration","src":"37834:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"37844:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"37838:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"37857:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37875:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"37883:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37871:3:150"},"nodeType":"YulFunctionCall","src":"37871:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"37861:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"37895:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"37904:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"37899:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"37963:126:150","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"37984:5:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"37997:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37991:5:150"},"nodeType":"YulFunctionCall","src":"37991:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37977:6:150"},"nodeType":"YulFunctionCall","src":"37977:28:150"},"nodeType":"YulExpressionStatement","src":"37977:28:150"},{"nodeType":"YulAssignment","src":"38018:23:150","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"38031:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38038:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38027:3:150"},"nodeType":"YulFunctionCall","src":"38027:14:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"38018:5:150"}]},{"nodeType":"YulAssignment","src":"38054:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38068:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38076:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38064:3:150"},"nodeType":"YulFunctionCall","src":"38064:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38054:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"37925:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"37928:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"37922:2:150"},"nodeType":"YulFunctionCall","src":"37922:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"37936:18:150","statements":[{"nodeType":"YulAssignment","src":"37938:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"37947:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"37950:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37943:3:150"},"nodeType":"YulFunctionCall","src":"37943:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"37938:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"37918:3:150","statements":[]},"src":"37914:175:150"},{"nodeType":"YulAssignment","src":"38098:12:150","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"38105:5:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"38098:3:150"}]}]},"name":"abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"37718:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37723:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"37734:3:150","type":""}],"src":"37573:543:150"},{"body":{"nodeType":"YulBlock","src":"38295:246:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38312:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38323:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38305:6:150"},"nodeType":"YulFunctionCall","src":"38305:21:150"},"nodeType":"YulExpressionStatement","src":"38305:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38346:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38357:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38342:3:150"},"nodeType":"YulFunctionCall","src":"38342:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38362:2:150","type":"","value":"56"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38335:6:150"},"nodeType":"YulFunctionCall","src":"38335:30:150"},"nodeType":"YulExpressionStatement","src":"38335:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38385:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38396:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38381:3:150"},"nodeType":"YulFunctionCall","src":"38381:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520","kind":"string","nodeType":"YulLiteral","src":"38401:34:150","type":"","value":"GalaxyMember: invalid node free "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38374:6:150"},"nodeType":"YulFunctionCall","src":"38374:62:150"},"nodeType":"YulExpressionStatement","src":"38374:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38456:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38467:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38452:3:150"},"nodeType":"YulFunctionCall","src":"38452:18:150"},{"hexValue":"6c6576656c732e204d7573742062652037206c6576656c73","kind":"string","nodeType":"YulLiteral","src":"38472:26:150","type":"","value":"levels. Must be 7 levels"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38445:6:150"},"nodeType":"YulFunctionCall","src":"38445:54:150"},"nodeType":"YulExpressionStatement","src":"38445:54:150"},{"nodeType":"YulAssignment","src":"38508:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38520:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38531:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38516:3:150"},"nodeType":"YulFunctionCall","src":"38516:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38508:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38272:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38286:4:150","type":""}],"src":"38121:420:150"},{"body":{"nodeType":"YulBlock","src":"38720:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38737:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38748:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38730:6:150"},"nodeType":"YulFunctionCall","src":"38730:21:150"},"nodeType":"YulExpressionStatement","src":"38730:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38771:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38782:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38767:3:150"},"nodeType":"YulFunctionCall","src":"38767:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38787:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38760:6:150"},"nodeType":"YulFunctionCall","src":"38760:30:150"},"nodeType":"YulExpressionStatement","src":"38760:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38810:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38821:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38806:3:150"},"nodeType":"YulFunctionCall","src":"38806:18:150"},{"hexValue":"47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063","kind":"string","nodeType":"YulLiteral","src":"38826:34:150","type":"","value":"GalaxyMember: _nodesMangaement c"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38799:6:150"},"nodeType":"YulFunctionCall","src":"38799:62:150"},"nodeType":"YulExpressionStatement","src":"38799:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38881:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38892:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38877:3:150"},"nodeType":"YulFunctionCall","src":"38877:18:150"},{"hexValue":"616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"38897:27:150","type":"","value":"annot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38870:6:150"},"nodeType":"YulFunctionCall","src":"38870:55:150"},"nodeType":"YulExpressionStatement","src":"38870:55:150"},{"nodeType":"YulAssignment","src":"38934:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38946:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38957:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38942:3:150"},"nodeType":"YulFunctionCall","src":"38942:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38934:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38697:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38711:4:150","type":""}],"src":"38546:421:150"},{"body":{"nodeType":"YulBlock","src":"39146:227:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39163:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39174:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39156:6:150"},"nodeType":"YulFunctionCall","src":"39156:21:150"},"nodeType":"YulExpressionStatement","src":"39156:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39197:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39208:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39193:3:150"},"nodeType":"YulFunctionCall","src":"39193:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39213:2:150","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39186:6:150"},"nodeType":"YulFunctionCall","src":"39186:30:150"},"nodeType":"YulExpressionStatement","src":"39186:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39236:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39247:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39232:3:150"},"nodeType":"YulFunctionCall","src":"39232:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520","kind":"string","nodeType":"YulLiteral","src":"39252:34:150","type":"","value":"GalaxyMember: invalid node free "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39225:6:150"},"nodeType":"YulFunctionCall","src":"39225:62:150"},"nodeType":"YulExpressionStatement","src":"39225:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39307:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39318:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39303:3:150"},"nodeType":"YulFunctionCall","src":"39303:18:150"},{"hexValue":"6c6576656c","kind":"string","nodeType":"YulLiteral","src":"39323:7:150","type":"","value":"level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39296:6:150"},"nodeType":"YulFunctionCall","src":"39296:35:150"},"nodeType":"YulExpressionStatement","src":"39296:35:150"},{"nodeType":"YulAssignment","src":"39340:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39352:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39363:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39348:3:150"},"nodeType":"YulFunctionCall","src":"39348:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39340:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39123:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39137:4:150","type":""}],"src":"38972:401:150"},{"body":{"nodeType":"YulBlock","src":"39423:130:150","statements":[{"nodeType":"YulVariableDeclaration","src":"39433:31:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"39452:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"39459:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39448:3:150"},"nodeType":"YulFunctionCall","src":"39448:16:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"39437:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"39494:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"39496:16:150"},"nodeType":"YulFunctionCall","src":"39496:18:150"},"nodeType":"YulExpressionStatement","src":"39496:18:150"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"39479:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"39488:4:150","type":"","value":"0xff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"39476:2:150"},"nodeType":"YulFunctionCall","src":"39476:17:150"},"nodeType":"YulIf","src":"39473:43:150"},{"nodeType":"YulAssignment","src":"39525:22:150","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"39536:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"39545:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39532:3:150"},"nodeType":"YulFunctionCall","src":"39532:15:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"39525:3:150"}]}]},"name":"increment_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"39405:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"39415:3:150","type":""}],"src":"39378:175:150"},{"body":{"nodeType":"YulBlock","src":"39657:101:150","statements":[{"nodeType":"YulAssignment","src":"39667:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39679:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39690:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39675:3:150"},"nodeType":"YulFunctionCall","src":"39675:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39667:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39709:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"39724:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39740:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"39744:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"39736:3:150"},"nodeType":"YulFunctionCall","src":"39736:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"39748:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39732:3:150"},"nodeType":"YulFunctionCall","src":"39732:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39720:3:150"},"nodeType":"YulFunctionCall","src":"39720:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39702:6:150"},"nodeType":"YulFunctionCall","src":"39702:50:150"},"nodeType":"YulExpressionStatement","src":"39702:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39626:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39637:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39648:4:150","type":""}],"src":"39558:200:150"},{"body":{"nodeType":"YulBlock","src":"40040:375:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40050:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40070:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40064:5:150"},"nodeType":"YulFunctionCall","src":"40064:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"40054:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40125:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"40133:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40121:3:150"},"nodeType":"YulFunctionCall","src":"40121:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"40140:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40145:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"40086:34:150"},"nodeType":"YulFunctionCall","src":"40086:66:150"},"nodeType":"YulExpressionStatement","src":"40086:66:150"},{"nodeType":"YulVariableDeclaration","src":"40161:29:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40178:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40183:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40174:3:150"},"nodeType":"YulFunctionCall","src":"40174:16:150"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"40165:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"40199:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"40221:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40215:5:150"},"nodeType":"YulFunctionCall","src":"40215:13:150"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"40203:8:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"40276:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"40284:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40272:3:150"},"nodeType":"YulFunctionCall","src":"40272:17:150"},{"name":"end_1","nodeType":"YulIdentifier","src":"40291:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"40298:8:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"40237:34:150"},"nodeType":"YulFunctionCall","src":"40237:70:150"},"nodeType":"YulExpressionStatement","src":"40237:70:150"},{"nodeType":"YulVariableDeclaration","src":"40316:33:150","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"40333:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"40340:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40329:3:150"},"nodeType":"YulFunctionCall","src":"40329:20:150"},"variables":[{"name":"end_2","nodeType":"YulTypedName","src":"40320:5:150","type":""}]},{"expression":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"40365:5:150"},{"hexValue":"2e6a736f6e","kind":"string","nodeType":"YulLiteral","src":"40372:7:150","type":"","value":".json"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40358:6:150"},"nodeType":"YulFunctionCall","src":"40358:22:150"},"nodeType":"YulExpressionStatement","src":"40358:22:150"},{"nodeType":"YulAssignment","src":"40389:20:150","value":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"40400:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"40407:1:150","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40396:3:150"},"nodeType":"YulFunctionCall","src":"40396:13:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"40389:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"40008:3:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"40013:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40021:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"40032:3:150","type":""}],"src":"39763:652:150"},{"body":{"nodeType":"YulBlock","src":"40594:245:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40611:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40622:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40604:6:150"},"nodeType":"YulFunctionCall","src":"40604:21:150"},"nodeType":"YulExpressionStatement","src":"40604:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40645:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40656:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40641:3:150"},"nodeType":"YulFunctionCall","src":"40641:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"40661:2:150","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40634:6:150"},"nodeType":"YulFunctionCall","src":"40634:30:150"},"nodeType":"YulExpressionStatement","src":"40634:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40684:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40695:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40680:3:150"},"nodeType":"YulFunctionCall","src":"40680:18:150"},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e","kind":"string","nodeType":"YulLiteral","src":"40700:34:150","type":"","value":"Galaxy Member: _b3trGovernor can"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40673:6:150"},"nodeType":"YulFunctionCall","src":"40673:62:150"},"nodeType":"YulExpressionStatement","src":"40673:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40755:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40766:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40751:3:150"},"nodeType":"YulFunctionCall","src":"40751:18:150"},{"hexValue":"6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"40771:25:150","type":"","value":"not be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40744:6:150"},"nodeType":"YulFunctionCall","src":"40744:53:150"},"nodeType":"YulExpressionStatement","src":"40744:53:150"},{"nodeType":"YulAssignment","src":"40806:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40818:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40829:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40814:3:150"},"nodeType":"YulFunctionCall","src":"40814:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40806:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40571:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40585:4:150","type":""}],"src":"40420:419:150"},{"body":{"nodeType":"YulBlock","src":"41018:252:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41035:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41046:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41028:6:150"},"nodeType":"YulFunctionCall","src":"41028:21:150"},"nodeType":"YulExpressionStatement","src":"41028:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41069:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41080:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41065:3:150"},"nodeType":"YulFunctionCall","src":"41065:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"41085:2:150","type":"","value":"62"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41058:6:150"},"nodeType":"YulFunctionCall","src":"41058:30:150"},"nodeType":"YulExpressionStatement","src":"41058:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41108:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41119:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41104:3:150"},"nodeType":"YulFunctionCall","src":"41104:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f20","kind":"string","nodeType":"YulLiteral","src":"41124:34:150","type":"","value":"GalaxyMember: token attached to "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41097:6:150"},"nodeType":"YulFunctionCall","src":"41097:62:150"},"nodeType":"YulExpressionStatement","src":"41097:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41179:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41190:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41175:3:150"},"nodeType":"YulFunctionCall","src":"41175:18:150"},{"hexValue":"61206e6f64652c20646574616368206265666f7265207472616e73666572","kind":"string","nodeType":"YulLiteral","src":"41195:32:150","type":"","value":"a node, detach before transfer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41168:6:150"},"nodeType":"YulFunctionCall","src":"41168:60:150"},"nodeType":"YulExpressionStatement","src":"41168:60:150"},{"nodeType":"YulAssignment","src":"41237:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41249:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41260:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41245:3:150"},"nodeType":"YulFunctionCall","src":"41245:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41237:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40995:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41009:4:150","type":""}],"src":"40844:426:150"},{"body":{"nodeType":"YulBlock","src":"41356:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"41402:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41411:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"41414:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"41404:6:150"},"nodeType":"YulFunctionCall","src":"41404:12:150"},"nodeType":"YulExpressionStatement","src":"41404:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"41377:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"41386:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41373:3:150"},"nodeType":"YulFunctionCall","src":"41373:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"41398:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"41369:3:150"},"nodeType":"YulFunctionCall","src":"41369:32:150"},"nodeType":"YulIf","src":"41366:52:150"},{"nodeType":"YulAssignment","src":"41427:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41443:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"41437:5:150"},"nodeType":"YulFunctionCall","src":"41437:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"41427:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41322:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"41333:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"41345:6:150","type":""}],"src":"41275:184:150"},{"body":{"nodeType":"YulBlock","src":"41496:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41513:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41520:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"41525:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41516:3:150"},"nodeType":"YulFunctionCall","src":"41516:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41506:6:150"},"nodeType":"YulFunctionCall","src":"41506:31:150"},"nodeType":"YulExpressionStatement","src":"41506:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41553:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"41556:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41546:6:150"},"nodeType":"YulFunctionCall","src":"41546:15:150"},"nodeType":"YulExpressionStatement","src":"41546:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41577:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"41580:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"41570:6:150"},"nodeType":"YulFunctionCall","src":"41570:15:150"},"nodeType":"YulExpressionStatement","src":"41570:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"41464:127:150"},{"body":{"nodeType":"YulBlock","src":"41799:286:150","statements":[{"nodeType":"YulVariableDeclaration","src":"41809:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41827:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"41832:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41823:3:150"},"nodeType":"YulFunctionCall","src":"41823:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"41836:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41819:3:150"},"nodeType":"YulFunctionCall","src":"41819:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"41813:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41854:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"41869:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"41877:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41865:3:150"},"nodeType":"YulFunctionCall","src":"41865:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41847:6:150"},"nodeType":"YulFunctionCall","src":"41847:34:150"},"nodeType":"YulExpressionStatement","src":"41847:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41901:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41912:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41897:3:150"},"nodeType":"YulFunctionCall","src":"41897:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"41921:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"41929:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41917:3:150"},"nodeType":"YulFunctionCall","src":"41917:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41890:6:150"},"nodeType":"YulFunctionCall","src":"41890:43:150"},"nodeType":"YulExpressionStatement","src":"41890:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41953:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41964:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41949:3:150"},"nodeType":"YulFunctionCall","src":"41949:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"41969:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41942:6:150"},"nodeType":"YulFunctionCall","src":"41942:34:150"},"nodeType":"YulExpressionStatement","src":"41942:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41996:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42007:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41992:3:150"},"nodeType":"YulFunctionCall","src":"41992:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"42012:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41985:6:150"},"nodeType":"YulFunctionCall","src":"41985:31:150"},"nodeType":"YulExpressionStatement","src":"41985:31:150"},{"nodeType":"YulAssignment","src":"42025:54:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"42051:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42063:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42074:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42059:3:150"},"nodeType":"YulFunctionCall","src":"42059:19:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"42033:17:150"},"nodeType":"YulFunctionCall","src":"42033:46:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42025:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41744:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"41755:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"41763:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"41771:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"41779:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41790:4:150","type":""}],"src":"41596:489:150"},{"body":{"nodeType":"YulBlock","src":"42170:169:150","statements":[{"body":{"nodeType":"YulBlock","src":"42216:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42225:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42228:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42218:6:150"},"nodeType":"YulFunctionCall","src":"42218:12:150"},"nodeType":"YulExpressionStatement","src":"42218:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"42191:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"42200:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42187:3:150"},"nodeType":"YulFunctionCall","src":"42187:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"42212:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42183:3:150"},"nodeType":"YulFunctionCall","src":"42183:32:150"},"nodeType":"YulIf","src":"42180:52:150"},{"nodeType":"YulVariableDeclaration","src":"42241:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42260:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"42254:5:150"},"nodeType":"YulFunctionCall","src":"42254:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"42245:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"42303:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"42279:23:150"},"nodeType":"YulFunctionCall","src":"42279:30:150"},"nodeType":"YulExpressionStatement","src":"42279:30:150"},{"nodeType":"YulAssignment","src":"42318:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"42328:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"42318:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42136:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"42147:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"42159:6:150","type":""}],"src":"42090:249:150"},{"body":{"nodeType":"YulBlock","src":"42473:145:150","statements":[{"nodeType":"YulAssignment","src":"42483:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42495:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42506:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42491:3:150"},"nodeType":"YulFunctionCall","src":"42491:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42483:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42525:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42540:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42556:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"42561:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42552:3:150"},"nodeType":"YulFunctionCall","src":"42552:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"42565:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42548:3:150"},"nodeType":"YulFunctionCall","src":"42548:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42536:3:150"},"nodeType":"YulFunctionCall","src":"42536:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42518:6:150"},"nodeType":"YulFunctionCall","src":"42518:51:150"},"nodeType":"YulExpressionStatement","src":"42518:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42589:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42600:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42585:3:150"},"nodeType":"YulFunctionCall","src":"42585:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"42605:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42578:6:150"},"nodeType":"YulFunctionCall","src":"42578:34:150"},"nodeType":"YulExpressionStatement","src":"42578:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42434:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42445:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42453:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42464:4:150","type":""}],"src":"42344:274:150"},{"body":{"nodeType":"YulBlock","src":"42760:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"42770:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42790:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"42784:5:150"},"nodeType":"YulFunctionCall","src":"42784:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"42774:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42845:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"42853:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42841:3:150"},"nodeType":"YulFunctionCall","src":"42841:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"42860:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"42865:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"42806:34:150"},"nodeType":"YulFunctionCall","src":"42806:66:150"},"nodeType":"YulExpressionStatement","src":"42806:66:150"},{"nodeType":"YulAssignment","src":"42881:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42892:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"42897:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42888:3:150"},"nodeType":"YulFunctionCall","src":"42888:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"42881:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"42736:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42741:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"42752:3:150","type":""}],"src":"42623:287:150"},{"body":{"nodeType":"YulBlock","src":"42947:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42964:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42971:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"42976:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42967:3:150"},"nodeType":"YulFunctionCall","src":"42967:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42957:6:150"},"nodeType":"YulFunctionCall","src":"42957:31:150"},"nodeType":"YulExpressionStatement","src":"42957:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43004:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"43007:4:150","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42997:6:150"},"nodeType":"YulFunctionCall","src":"42997:15:150"},"nodeType":"YulExpressionStatement","src":"42997:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43028:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"43031:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"43021:6:150"},"nodeType":"YulFunctionCall","src":"43021:15:150"},"nodeType":"YulExpressionStatement","src":"43021:15:150"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"42915:127:150"}]},"contents":"{\n    { }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint8t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function validator_revert_bytes4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_5913() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0x0180)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let _3 := shl(5, _1)\n        let dst := allocate_memory(add(_3, _2))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, _3), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_struct$_InitializationData_$27346_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x0180) { revert(0, 0) }\n        let value := allocate_memory_5913()\n        let offset_1 := calldataload(_2)\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(value, abi_decode_bytes(add(_2, offset_1), dataEnd))\n        let offset_2 := calldataload(add(_2, 32))\n        if gt(offset_2, _1) { revert(0, 0) }\n        mstore(add(value, 32), abi_decode_bytes(add(_2, offset_2), dataEnd))\n        mstore(add(value, 64), abi_decode_address(add(_2, 64)))\n        mstore(add(value, 96), abi_decode_address(add(_2, 96)))\n        mstore(add(value, 128), abi_decode_address(add(_2, 128)))\n        mstore(add(value, 160), abi_decode_address(add(_2, 160)))\n        mstore(add(value, 192), abi_decode_address(add(_2, 192)))\n        mstore(add(value, 224), calldataload(add(_2, 224)))\n        let _3 := 256\n        let offset_3 := calldataload(add(_2, _3))\n        if gt(offset_3, _1) { revert(0, 0) }\n        mstore(add(value, _3), abi_decode_bytes(add(_2, offset_3), dataEnd))\n        let _4 := 288\n        let offset_4 := calldataload(add(_2, _4))\n        if gt(offset_4, _1) { revert(0, 0) }\n        mstore(add(value, _4), abi_decode_array_uint256_dyn(add(_2, offset_4), dataEnd))\n        let _5 := 320\n        mstore(add(value, _5), abi_decode_address(add(_2, _5)))\n        let _6 := 352\n        mstore(add(value, _6), abi_decode_address(add(_2, _6)))\n        value0 := value\n    }\n    function abi_encode_struct_TokenInfo(value, pos) -> end\n    {\n        mstore(pos, mload(value))\n        let memberValue0 := mload(add(value, 0x20))\n        mstore(add(pos, 0x20), 0x80)\n        let tail := abi_encode_string(memberValue0, add(pos, 0x80))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n        mstore(add(pos, 0x60), mload(add(value, 0x60)))\n        end := tail\n    }\n    function abi_encode_tuple_t_struct$_TokenInfo_$28997_memory_ptr__to_t_struct$_TokenInfo_$28997_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_TokenInfo(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$28997_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_struct_TokenInfo(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_bool(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        let value_2 := calldataload(add(headStart, 64))\n        validator_revert_address(value_2)\n        value2 := value_2\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 27)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"GalaxyMember: level must be less\")\n        mstore(add(headStart, 96), \" than or equal to MAX_LEVEL\")\n        tail := add(headStart, 128)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, _1))\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 67)\n        mstore(add(headStart, 64), \"Galaxy Member: Max level must be\")\n        mstore(add(headStart, 96), \" greater than the current max le\")\n        mstore(add(headStart, 128), \"vel\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 66)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be set for all levels unlock\")\n        mstore(add(headStart, 128), \"ed\")\n        tail := add(headStart, 160)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"Galaxy Member: _xAllocationsGove\")\n        mstore(add(headStart, 96), \"rnor cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_uint64_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, sub(shl(64, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_uint8t_boolt_boolt_uint64t_uint64t_uint64_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n    {\n        if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint8(value_1)\n        value1 := value_1\n        let value_2 := mload(add(headStart, 64))\n        validator_revert_bool(value_2)\n        value2 := value_2\n        let value_3 := mload(add(headStart, 96))\n        validator_revert_bool(value_3)\n        value3 := value_3\n        value4 := abi_decode_uint64_fromMemory(add(headStart, 128))\n        value5 := abi_decode_uint64_fromMemory(add(headStart, 160))\n        value6 := abi_decode_uint64_fromMemory(add(headStart, 192))\n    }\n    function abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: caller is not the\")\n        mstore(add(headStart, 96), \" owner of the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: you must own the \")\n        mstore(add(headStart, 96), \"Token to upgrade it\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"Galaxy Member: Token is already \")\n        mstore(add(headStart, 96), \"at max level\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient bala\")\n        mstore(add(headStart, 96), \"nce to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient allo\")\n        mstore(add(headStart, 96), \"wance to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"GalaxyMember: Transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 86)\n        mstore(add(headStart, 64), \"GalaxyMember: vechain node not o\")\n        mstore(add(headStart, 96), \"wned or managed by caller or tok\")\n        mstore(add(headStart, 128), \"en not owned by caller\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: node not attached \")\n        mstore(add(headStart, 96), \"to the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: token not attached\")\n        mstore(add(headStart, 96), \" to the node\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: Base URI must be \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let ret := 0\n        let slotValue := sload(value0)\n        let length := extract_byte_array_length(slotValue)\n        let _1 := 1\n        switch and(slotValue, _1)\n        case 0 {\n            mstore(pos, and(slotValue, not(255)))\n            ret := add(pos, mul(length, iszero(iszero(length))))\n        }\n        case 1 {\n            mstore(0, value0)\n            let _2 := 0x20\n            let dataPos := keccak256(0, _2)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _2) }\n            {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, _1)\n            }\n            ret := add(pos, length)\n        }\n        end := ret\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := srcOffset_1\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"Galaxy Member: Public minting is\")\n        mstore(add(headStart, 96), \" paused\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"Galaxy Member: User has not part\")\n        mstore(add(headStart, 96), \"icipated in governance\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 47)\n        mstore(add(headStart, 64), \"Galaxy Member: Max level must be\")\n        mstore(add(headStart, 96), \" greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 60)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR token addres\")\n        mstore(add(headStart, 96), \"s cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 58)\n        mstore(add(headStart, 64), \"Galaxy Member: Treasury address \")\n        mstore(add(headStart, 96), \"cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 66)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be set for all unlocked leve\")\n        mstore(add(headStart, 128), \"ls\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 53)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 55)\n        mstore(add(headStart, 64), \"Galaxy Member: Admin address can\")\n        mstore(add(headStart, 96), \"not be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"GalaxyMember: _vechainNodes cann\")\n        mstore(add(headStart, 96), \"ot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"GalaxyMember: tokenId doesn't ex\")\n        mstore(add(headStart, 96), \"ist\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: Invalid size, cann\")\n        mstore(add(headStart, 96), \"ot be 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"GalaxyMember: Invalid size, cann\")\n        mstore(add(pos, 32), \"ot be greater than \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(pos, 51), length)\n        end := add(add(pos, length), 51)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: token not owned by\")\n        mstore(add(headStart, 96), \" caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GalaxyMember: vechain node not o\")\n        mstore(add(headStart, 96), \"wned or managed by caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: node already attac\")\n        mstore(add(headStart, 96), \"hed to a token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: token already atta\")\n        mstore(add(headStart, 96), \"ched to a node\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: XAllocationVoting\")\n        mstore(add(headStart, 96), \"Governor not set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TRGovernor not \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let pos_1 := pos\n        let length := mload(value0)\n        pos_1 := pos\n        let _1 := 0x20\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos_1, mload(srcPtr))\n            pos_1 := add(pos_1, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos_1\n    }\n    function abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 56)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node free \")\n        mstore(add(headStart, 96), \"levels. Must be 7 levels\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GalaxyMember: _nodesMangaement c\")\n        mstore(add(headStart, 96), \"annot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 37)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node free \")\n        mstore(add(headStart, 96), \"level\")\n        tail := add(headStart, 128)\n    }\n    function increment_t_uint8(value) -> ret\n    {\n        let value_1 := and(value, 0xff)\n        if eq(value_1, 0xff) { panic_error_0x11() }\n        ret := add(value_1, 1)\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        let end_2 := add(end_1, length_1)\n        mstore(end_2, \".json\")\n        end := add(end_2, 5)\n    }\n    function abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 55)\n        mstore(add(headStart, 64), \"Galaxy Member: _b3trGovernor can\")\n        mstore(add(headStart, 96), \"not be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 62)\n        mstore(add(headStart, 64), \"GalaxyMember: token attached to \")\n        mstore(add(headStart, 96), \"a node, detach before transfer\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_string(value3, add(headStart, 128))\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function panic_error_0x31()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x31)\n        revert(0, 0x24)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":14014},{"length":32,"start":14055},{"length":32,"start":14383}]},"linkReferences":{},"object":"60806040526004361061031f5760003560e01c80621db0dd1461032457806301ffc9a71461034657806306fdde031461037b578063081812fc1461039d578063095ea7b3146103ca57806318160ddd146103ea57806323b872dd1461040d578063248a9ca31461042d5780632b42df381461044d5780632f2ff15d1461046d5780632f745c591461048d578063344f1ba5146104ad57806336568abe146104cd5780633af03ea8146104ed5780633d6dbee81461050d5780633f4ba83a1461052f5780633ff453af1461054457806342842e0e1461057657806342966c681461059657806345977d03146105b65780634a6565e1146105d65780634f1ef286146105f65780634f6ccce71461060957806351c438d11461062957806352d1902d1461064957806354fd4d501461065e57806355f804b314610688578063582a486a146106a85780635b5da514146106bd5780635b70ea9f146106dd5780635c975abb146106f25780635ecf68e9146107075780635f4e42ca1461071c5780635ffaa59a1461073c57806361d027b31461075c5780636352211e14610771578063643ce418146107915780636c0360eb146107be5780636d5e3032146107d357806370a08231146107f35780637893d73614610813578063839a19d9146108285780638456cb5914610848578063851f738e1461085d578063865c380b1461088a57806388371110146108aa5780638c5b76fb146108ca57806391d14854146108ea578063952f21331461090a578063958fc97d1461092c57806395d89b411461094c578063a1843bd014610961578063a217fddf14610981578063a22cb46514610996578063a49062d4146109b6578063a51d2e0b146109cb578063ad3cb1cc146109eb578063b1ccbd2c14610a1c578063b88d4fde14610a3c578063c190eb3a14610a5c578063c87b56dd14610a7c578063cc421d0714610a9c578063d206885d14610abc578063d539139314610adc578063d547741f14610afe578063ddd8634d14610b1e578063de4983a214610b3e578063e617e49f14610b5e578063e63ab1e914610b7e578063e985e9c514610ba0578063f72c0d8b14610bc0575b600080fd5b34801561033057600080fd5b5061034461033f366004614855565b610be2565b005b34801561035257600080fd5b50610366610361366004614897565b610d41565b60405190151581526020015b60405180910390f35b34801561038757600080fd5b50610390610d52565b6040516103729190614904565b3480156103a957600080fd5b506103bd6103b8366004614917565b610df3565b6040516103729190614930565b3480156103d657600080fd5b506103446103e5366004614969565b610e08565b3480156103f657600080fd5b506103ff610e17565b604051908152602001610372565b34801561041957600080fd5b50610344610428366004614987565b610e2c565b34801561043957600080fd5b506103ff610448366004614917565b610eb7565b34801561045957600080fd5b506103ff610468366004614917565b610ed7565b34801561047957600080fd5b506103446104883660046149c8565b610ef7565b34801561049957600080fd5b506103ff6104a8366004614969565b610f13565b3480156104b957600080fd5b506103446104c8366004614917565b610f75565b3480156104d957600080fd5b506103446104e83660046149c8565b6110e1565b3480156104f957600080fd5b506103446105083660046149f8565b611119565b34801561051957600080fd5b506103ff60008051602061574383398151915281565b34801561053b57600080fd5b50610344611217565b34801561055057600080fd5b5061056461055f366004614917565b61123a565b60405160ff9091168152602001610372565b34801561058257600080fd5b50610344610591366004614987565b6112cd565b3480156105a257600080fd5b506103446105b1366004614917565b6112e8565b3480156105c257600080fd5b506103446105d1366004614917565b611321565b3480156105e257600080fd5b506103446105f1366004614a15565b611737565b610344610604366004614b15565b611a0f565b34801561061557600080fd5b506103ff610624366004614917565b611a2a565b34801561063557600080fd5b506103ff610644366004614917565b611a8b565b34801561065557600080fd5b506103ff611aa9565b34801561066a57600080fd5b506040805180820190915260018152601960f91b6020820152610390565b34801561069457600080fd5b506103446106a3366004614b64565b611ac6565b3480156106b457600080fd5b506103bd611b63565b3480156106c957600080fd5b506103446106d8366004614ba6565b611b81565b3480156106e957600080fd5b50610344611be9565b3480156106fe57600080fd5b50610366611cd8565b34801561071357600080fd5b506103bd611ced565b34801561072857600080fd5b50610344610737366004614c42565b611d08565b34801561074857600080fd5b506103446107573660046149f8565b612237565b34801561076857600080fd5b506103bd6122ab565b34801561077d57600080fd5b506103bd61078c366004614917565b6122c9565b34801561079d57600080fd5b506107b16107ac366004614917565b6122d4565b6040516103729190614de7565b3480156107ca57600080fd5b50610390612384565b3480156107df57600080fd5b506103ff6107ee366004614917565b612393565b3480156107ff57600080fd5b506103ff61080e3660046149f8565b6123b6565b34801561081f57600080fd5b506103bd61240e565b34801561083457600080fd5b50610344610843366004614917565b61242c565b34801561085457600080fd5b50610344612436565b34801561086957600080fd5b5061087d610878366004614dfa565b612456565b6040516103729190614e2f565b34801561089657600080fd5b506103ff6108a5366004614917565b61263c565b3480156108b657600080fd5b506103446108c5366004614a15565b61265a565b3480156108d657600080fd5b506103666108e53660046149f8565b6128e1565b3480156108f657600080fd5b506103666109053660046149c8565b612ac5565b34801561091657600080fd5b506103ff60008051602061572383398151915281565b34801561093857600080fd5b506103ff610947366004614917565b612afb565b34801561095857600080fd5b50610390612b19565b34801561096d57600080fd5b506103ff61097c366004614a15565b612b36565b34801561098d57600080fd5b506103ff600081565b3480156109a257600080fd5b506103446109b1366004614e91565b612b43565b3480156109c257600080fd5b506103ff612b4e565b3480156109d757600080fd5b506103ff6109e6366004614917565b612b63565b3480156109f757600080fd5b50610390604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610a2857600080fd5b50610344610a37366004614ebf565b612bde565b348015610a4857600080fd5b50610344610a57366004614ef3565b612cce565b348015610a6857600080fd5b50610344610a77366004614f5e565b612ce5565b348015610a8857600080fd5b50610390610a97366004614917565b612fc4565b348015610aa857600080fd5b506103ff610ab7366004614917565b613055565b348015610ac857600080fd5b506103ff610ad73660046149f8565b61306b565b348015610ae857600080fd5b506103ff60008051602061570383398151915281565b348015610b0a57600080fd5b50610344610b193660046149c8565b613098565b348015610b2a57600080fd5b50610344610b393660046149f8565b6130b4565b348015610b4a57600080fd5b506107b1610b593660046149f8565b6131b2565b348015610b6a57600080fd5b506103ff610b79366004614fc6565b6131d0565b348015610b8a57600080fd5b506103ff6000805160206156e383398151915281565b348015610bac57600080fd5b50610366610bbb366004614fe3565b6131f6565b348015610bcc57600080fd5b506103ff60008051602061568383398151915281565b600080516020615743833981519152610bfa81613235565b6001821015610c4e5760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610ca25760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610c45565b6000610cac61323f565b90508060060154831115610d265760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610c45565b60ff9093166000908152600f90930160205250604090912055565b6000610d4c82613263565b92915050565b60606000610d5e613288565b9050806000018054610d6f90615011565b80601f0160208091040260200160405190810160405280929190818152602001828054610d9b90615011565b8015610de85780601f10610dbd57610100808354040283529160200191610de8565b820191906000526020600020905b815481529060010190602001808311610dcb57829003601f168201915b505050505091505090565b6000610dfe826132ac565b50610d4c826132e4565b610e1382823361330d565b5050565b600080610e2261331a565b6002015492915050565b6001600160a01b038216610e56576000604051633250574960e11b8152600401610c459190614930565b6000610e6383833361333e565b9050836001600160a01b0316816001600160a01b031614610eb1576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610c45565b50505050565b600080610ec26134a4565b60009384526020525050604090206001015490565b600080610ee261323f565b60009384526008016020525050604090205490565b610f0082610eb7565b610f0981613235565b610eb183836134c8565b600080610f1e61331a565b9050610f29846123b6565b8310610f4c57838360405163295f44f760e21b8152600401610c4592919061504b565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b6000610f8081613235565b6000610f8a61323f565b905080600601548311610fff5760405162461bcd60e51b8152602060048201526043602482015260008051602061562383398151915260448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610c45565b60025b8381116110975760008181526008830160205260409020546110855760405162461bcd60e51b8152602060048201526042602482015260008051602061564383398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610c45565b8061108f8161507a565b915050611002565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b038116331461110a5760405163334bd91960e11b815260040160405180910390fd5b6111148282613569565b505050565b60008051602061572383398151915261113181613235565b6001600160a01b0382166111ad5760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610c45565b60006111b761323f565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b6000805160206156e383398151915261122f81613235565b6112376135e1565b50565b60008061124561323f565b600b81015460405163295d33a960e21b8152600481018690529192506000916101009091046001600160a01b03169063a574cea49060240160e060405180830381865afa15801561129a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112be91906150aa565b50939998505050505050505050565b61111483838360405180602001604052806000815250612cce565b336112f2826122c9565b6001600160a01b0316146113185760405162461bcd60e51b8152600401610c459061513b565b61123781613638565b611329613644565b61133161367a565b3361133b826122c9565b6001600160a01b0316146113ad5760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610c45565b60006113b761323f565b905060006113c483612393565b90506113ce612b4e565b81106114315760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610c45565b600061143c84612b63565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a0823190611473903390600401614930565b602060405180830381865afa158015611490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b4919061518e565b10156115195760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610c45565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015611569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158d919061518e565b10156115f45760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610c45565b6000848152601084016020526040812080548392906116149084906151a7565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af1158015611678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169c91906151ba565b6116e85760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610c45565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec4288548361171487612393565b6040805192835260208301919091520160405180910390a25050506112376136a2565b61173f61367a565b600061174961323f565b905033611755836122c9565b6001600160a01b031614806117df5750600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa1580156117b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d491906151d7565b6001600160a01b0316145b806118645750600b81015460405163bfc206ed60e01b815260048101859052339161010090046001600160a01b03169063bfc206ed90602401602060405180830381865afa158015611835573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185991906151d7565b6001600160a01b0316145b6118e35760405162461bcd60e51b8152602060048201526056602482015260008051602061576383398151915260448201527f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b60648201527532b7103737ba1037bbb732b210313c9031b0b63632b960511b608482015260a401610c45565b816118ed84611a8b565b1461194f5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610c45565b8261195983612afb565b146119bb5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610c45565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a3505050565b611a176136b3565b611a2082613758565b610e138282613770565b600080611a3561331a565b9050611a3f610e17565b8310611a635760008360405163295f44f760e21b8152600401610c4592919061504b565b806002018381548110611a7857611a786151f4565b9060005260206000200154915050919050565b6000611a9561323f565b6000928352600d0160205250604090205490565b6000611ab3613824565b506000805160206156c383398151915290565b6000611ad181613235565b6000825111611af25760405162461bcd60e51b8152600401610c459061520a565b6000611afc61323f565b905080600401604051611b0f919061524d565b604051809103902083604051611b2591906152c3565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a360048101610eb18482615325565b600080611b6e61323f565b600201546001600160a01b031692915050565b6000611b8c81613235565b6000611b9661323f565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611bcb911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611bf361323f565b600b81015490915060ff1615611c5b5760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610c45565b611c64336128e1565b611ccf5760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610c45565b6112373361386d565b600080611ce361389e565b5460ff1692915050565b600080611cf861323f565b546001600160a01b031692915050565b6000611d126138c2565b805490915060ff600160401b82041615906001600160401b0316600081158015611d395750825b90506000826001600160401b03166001148015611d555750303b155b905081158015611d63575080155b15611d815760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611daa57845460ff60401b1916600160401b1785555b60008660e0015111611e045760405162461bcd60e51b815260206004820152602f602482015260008051602061562383398151915260448201526e02067726561746572207468616e203608c1b6064820152608401610c45565b60008661010001515111611e2a5760405162461bcd60e51b8152600401610c459061520a565b6101408601516001600160a01b0316611eaa5760405162461bcd60e51b815260206004820152603c60248201527f47616c617879204d656d6265723a204233545220746f6b656e2061646472657360448201527b732063616e6e6f7420626520746865207a65726f206164647265737360201b6064820152608401610c45565b6101608601516001600160a01b0316611f285760405162461bcd60e51b815260206004820152603a60248201527f47616c617879204d656d6265723a20547265617375727920616464726573732060448201527963616e6e6f7420626520746865207a65726f206164647265737360301b6064820152608401610c45565b60018660e00151611f3991906153e4565b866101200151511015611fad5760405162461bcd60e51b8152602060048201526042602482015260008051602061564383398151915260448201527f7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656064820152616c7360f01b608482015260a401610c45565b611fbf866000015187602001516138e6565b611fc76138f8565b611fcf613900565b611fd76138f8565b611fdf6138f8565b611fe7613910565b611fef6138f8565b6000611ff961323f565b90508661010001518160040190816120119190615325565b5060005b876101200151518110156120b6576000886101200151828151811061203c5761203c6151f4565b6020026020010151116120615760405162461bcd60e51b8152600401610c45906153f7565b8761012001518181518110612078576120786151f4565b602002602001015182600801600083600261209391906151a7565b8152602081019190915260400160002055806120ae8161507a565b915050612015565b5060e087015160068201556101408701516002820180546001600160a01b03199081166001600160a01b039384161790915561016089015160038401805490921690831617905560408801511661216f5760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a2041646d696e20616464726573732063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610c45565b6121806000801b88604001516134c8565b5061219d60008051602061568383398151915288606001516134c8565b506121ba6000805160206156e383398151915288608001516134c8565b506121d76000805160206157038339815191528860a001516134c8565b506121f46000805160206157238339815191528860c001516134c8565b5050831561222f57845460ff60401b19168555604051600080516020615663833981519152906122269060019061543a565b60405180910390a15b505050505050565b60008051602061574383398151915261224f81613235565b6001600160a01b0382166122755760405162461bcd60e51b8152600401610c459061544e565b600061227f61323f565b600b0180546001600160a01b0390941661010002610100600160a81b0319909416939093179092555050565b6000806122b661323f565b600301546001600160a01b031692915050565b6000610d4c826132ac565b6122dc61481e565b60006122e783613920565b6001600160a01b0316036123495760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610c45565b61235161481e565b82815261235d83612fc4565b602082015261236b83612393565b604082015261237983612b63565b606082015292915050565b606061238e613949565b905090565b60008061239f83612afb565b905060006123ad8483613966565b50949350505050565b6000806123c1613288565b90506001600160a01b0383166123ed5760006040516322718ad960e21b8152600401610c459190614930565b6001600160a01b039092166000908152600390920160205250604090205490565b60008061241961323f565b600101546001600160a01b031692915050565b6112373382613adb565b6000805160206156e383398151915261244e81613235565b611237613b7e565b6060816000036124a65760405162461bcd60e51b8152602060048201526027602482015260008051602061560383398151915260448201526606f7420626520360cc1b6064820152608401610c45565b6064808311156124ef576124b981613bc5565b6040516020016124c991906154a4565b60408051601f198184030181529082905262461bcd60e51b8252610c4591600401614904565b60006124fa866123b6565b9050600061250885876154f3565b905081811061254d576040805160008082526020820190925290612542565b61252f61481e565b8152602001906001900390816125275790505b509350505050612635565b600061255986836151a7565b9050828111156125665750815b600061257283836153e4565b90506000816001600160401b0381111561258e5761258e614a37565b6040519080825280602002602001820160405280156125c757816020015b6125b461481e565b8152602001906001900390816125ac5790505b50905060005b8281101561262c5760006125e182876151a7565b905060006125ef8d83610f13565b90506125fa816122d4565b84848151811061260c5761260c6151f4565b6020026020010181905250505080806126249061507a565b9150506125cd565b50955050505050505b9392505050565b600061264661323f565b600092835260100160205250604090205490565b61266261367a565b600061266c61323f565b905033612678836122c9565b6001600160a01b0316146126de5760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610c45565b600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa158015612729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274d91906151d7565b6001600160a01b0316146127b35760405162461bcd60e51b815260206004820152603960248201526000805160206157638339815191526044820152783bb732b21037b91036b0b730b3b2b210313c9031b0b63632b960391b6064820152608401610c45565b6127bc83611a8b565b156128205760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610c45565b61282982612afb565b1561288d5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610c45565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a3505050565b6000806128ec61323f565b80549091506001600160a01b031661295f5760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610c45565b60018101546001600160a01b03166129c55760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610c45565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b906129f4908690600401614930565b602060405180830381865afa158015612a11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3591906151ba565b80612aae57506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612a6d908690600401614930565b602060405180830381865afa158015612a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aae91906151ba565b15612abc5750600192915050565b50600092915050565b600080612ad06134a4565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000612b0561323f565b6000928352600e0160205250604090205490565b60606000612b25613288565b9050806001018054610d6f90615011565b6000806123ad8484613966565b610e13338383613c57565b600080612b5961323f565b6006015492915050565b600080612b6f83613920565b6001600160a01b031603612b8557506000919050565b6000612b9083612afb565b9050600080612b9f8584613966565b91509150612bab612b4e565b8203612bbc57506000949350505050565b80612bcb6104688460016151a7565b612bd591906153e4565b95945050505050565b6000612be981613235565b6000612bf361323f565b905060005b8351811015612c8a576000848281518110612c1557612c156151f4565b602002602001015111612c3a5760405162461bcd60e51b8152600401610c45906153f7565b838181518110612c4c57612c4c6151f4565b6020026020010151826008016000836002612c6791906151a7565b815260208101919091526040016000205580612c828161507a565b915050612bf8565b5082604051612c99919061550a565b604051908190038120907f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf87090600090a2505050565b612cd9848484610e2c565b610eb184848484613cfc565b60026000612cf16138c2565b8054909150600160401b900460ff1680612d18575080546001600160401b03808416911610155b15612d365760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781558251600814612db55760405162461bcd60e51b815260206004820152603860248201526000805160206156a38339815191526044820152776c6576656c732e204d7573742062652037206c6576656c7360401b6064820152608401610c45565b6001600160a01b038616612ddb5760405162461bcd60e51b8152600401610c459061544e565b6001600160a01b038516612e535760405162461bcd60e51b815260206004820152603960248201527f47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063604482015278616e6e6f7420626520746865207a65726f206164647265737360381b6064820152608401610c45565b6000612e5d61323f565b600b81018054610100600160a81b0319166101006001600160a01b038b81169190910291909117909155600c820180546001600160a01b031916918916919091179055600581015490915015612eb7578060050154612eba565b60015b600582015560005b84518160ff161015612f80576001858260ff1681518110612ee557612ee56151f4565b60200260200101511015612f375760405162461bcd60e51b815260206004820152602560248201526000805160206156a38339815191526044820152641b195d995b60da1b6064820152608401610c45565b848160ff1681518110612f4c57612f4c6151f4565b60209081029190910181015160ff83166000908152600f850190925260409091205580612f7881615534565b915050612ec2565b50612f99600080516020615743833981519152866134c8565b5050805460ff60401b191681556040516000805160206156638339815191529061222690849061543a565b60606000612fd183613920565b6001600160a01b031603612ff357505060408051602081019091526000815290565b6000612ffe83612393565b90506000811161301d5760405180602001604052806000815250612635565b613025612384565b61302e82613bc5565b60405160200161303f929190615553565b6040516020818303038152906040529392505050565b600080613063836000613966565b509392505050565b60008061307661323f565b6001600160a01b03909316600090815260119093016020525050604090205490565b6130a182610eb7565b6130aa81613235565b610eb18383613569565b6000805160206157238339815191526130cc81613235565b6001600160a01b0382166131425760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610c45565b600061314c61323f565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b6131ba61481e565b60006131c58361306b565b9050612635816122d4565b60006131da61323f565b60ff9092166000908152600f9290920160205250604090205490565b600080613201613288565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b6112378133613e13565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610d4c5750610d4c82613e3e565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b6000806132b883613920565b90506001600160a01b038116610d4c57604051637e27328960e01b815260048101849052602401610c45565b6000806132ef613288565b6000938452600401602052505060409020546001600160a01b031690565b6111148383836001613e63565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b600061334861367a565b61335183612afb565b156133c45760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610c45565b60006133d1858585613f6d565b90506001600160a01b038116158015906133f157506133ef816123b6565b155b1561341c576133fe61323f565b6001600160a01b038216600090815260119190910160205260408120555b6001600160a01b0381161580159061343b5750836134398261306b565b145b801561344f5750600061344d826123b6565b115b156134685761346881613463836000610f13565b613adb565b6001600160a01b038516158015906134885750613484856123b6565b6001145b1561349c5761349c85613463876000610f13565b949350505050565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806134d36134a4565b90506134df8484612ac5565b61355f576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556135153390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610d4c565b6000915050610d4c565b6000806135746134a4565b90506135808484612ac5565b1561355f576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610d4c565b6135e9613f82565b60006135f361389e565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161362d9190614930565b60405180910390a150565b610e136000823361333e565b600061364e613fa7565b80549091506001190161367457604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b613682611cd8565b156136a05760405163d93c066560e01b815260040160405180910390fd5b565b60006136ac613fa7565b6001905550565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061373a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661372e6000805160206156c3833981519152546001600160a01b031690565b6001600160a01b031614155b156136a05760405163703e46dd60e11b815260040160405180910390fd5b600080516020615683833981519152610e1381613235565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156137ca575060408051601f3d908101601f191682019092526137c79181019061518e565b60015b6137e95781604051634c9c8ce360e01b8152600401610c459190614930565b6000805160206156c3833981519152811461381a57604051632a87526960e21b815260048101829052602401610c45565b6111148383613fcb565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146136a05760405163703e46dd60e11b815260040160405180910390fd5b600061387761323f565b600581018054919250600091908261388e8361507a565b9190505590506111148382614021565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6138ee61403b565b610e138282614060565b6136a061403b565b61390861403b565b6136a061408e565b61391861403b565b6136a06140ab565b60008061392b613288565b6000938452600201602052505060409020546001600160a01b031690565b6060600061395561323f565b9050806004018054610d6f90615011565b600080600061397361323f565b905060018415801590613a08575061398a866122c9565b600c830154604051634f16179f60e11b8152600481018890526001600160a01b039283169290911690639e2c2f3e90602401602060405180830381865afa1580156139d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139fd91906151d7565b6001600160a01b0316145b15613a4e576000613a188661123a565b905060ff811615613a4c576000613a2e826131d0565b90508360060154811115613a46578360060154613a48565b805b9250505b505b600086815260108301602052604081205490613a6b8360016151a7565b90505b83600601548111613ace5760008181526008850160205260409020548210613ab75760008181526008850160205260409020549092508290613ab090836153e4565b9150613abc565b613ace565b80613ac68161507a565b915050613a6e565b5090969095509350505050565b816001600160a01b0316613aee826122c9565b6001600160a01b031614613b145760405162461bcd60e51b8152600401610c459061513b565b6000613b1e61323f565b6001600160a01b03841660008181526011830160205260409081902085905551919250907fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc90613b719085815260200190565b60405180910390a2505050565b613b8661367a565b6000613b9061389e565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586136203390565b60606000613bd2836140b3565b60010190506000816001600160401b03811115613bf157613bf1614a37565b6040519080825280601f01601f191660200182016040528015613c1b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613c2557509392505050565b6000613c61613288565b90506001600160a01b038316613c8c5782604051630b61174360e31b8152600401610c459190614930565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a350505050565b6001600160a01b0383163b15610eb157604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613d3e903390889087908790600401615592565b6020604051808303816000875af1925050508015613d79575060408051601f3d908101601f19168201909252613d76918101906155cf565b60015b613dd9573d808015613da7576040519150601f19603f3d011682016040523d82523d6000602084013e613dac565b606091505b508051600003613dd15783604051633250574960e11b8152600401610c459190614930565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14613e0c5783604051633250574960e11b8152600401610c459190614930565b5050505050565b613e1d8282612ac5565b610e1357808260405163e2517d3f60e01b8152600401610c4592919061504b565b60006001600160e01b0319821663780e9d6360e01b1480610d4c5750610d4c82614189565b6000613e6d613288565b90508180613e8357506001600160a01b03831615155b15613f3c576000613e93856132ac565b90506001600160a01b03841615801590613ebf5750836001600160a01b0316816001600160a01b031614155b8015613ed25750613ed081856131f6565b155b15613ef2578360405163a9fbf51f60e01b8152600401610c459190614930565b8215613f3a5784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6000613f7761367a565b61349c8484846141d9565b613f8a611cd8565b6136a057604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b613fd482614267565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156140195761111482826142c3565b610e13614330565b610e1382826040518060200160405280600081525061434f565b614043614366565b6136a057604051631afcd79f60e31b815260040160405180910390fd5b61406861403b565b6000614072613288565b90508061407f8482615325565b5060018101610eb18382615325565b61409661403b565b60006140a061389e565b805460ff1916905550565b6136a261403b565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106140f25772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b831061411c576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061413a57662386f26fc10000830492506010015b6305f5e1008310614152576305f5e100830492506008015b612710831061416657612710830492506004015b60648310614178576064830492506002015b600a8310610d4c5760010192915050565b60006001600160e01b031982166380ac58cd60e01b14806141ba57506001600160e01b03198216635b5e139f60e01b145b80610d4c57506301ffc9a760e01b6001600160e01b0319831614610d4c565b6000806141e7858585614380565b90506001600160a01b0381166142055761420084614487565b614228565b846001600160a01b0316816001600160a01b0316146142285761422881856144c0565b6001600160a01b0385166142445761423f84614561565b61349c565b846001600160a01b0316816001600160a01b03161461349c5761349c858561462a565b806001600160a01b03163b6000036142945780604051634c9c8ce360e01b8152600401610c459190614930565b6000805160206156c383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516142e091906152c3565b600060405180830381855af49150503d806000811461431b576040519150601f19603f3d011682016040523d82523d6000602084013e614320565b606091505b5091509150612bd5858383614682565b34156136a05760405163b398979f60e01b815260040160405180910390fd5b61435983836146d5565b6111146000848484613cfc565b60006143706138c2565b54600160401b900460ff16919050565b60008061438b613288565b9050600061439885613920565b90506001600160a01b038416156143b4576143b481858761473a565b6001600160a01b038116156143f4576143d1600086600080613e63565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614425576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b600061449161331a565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b60006144ca61331a565b905060006144d7846123b6565b600084815260018401602052604090205490915080821461452c576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b600061456b61331a565b6002810154909150600090614582906001906153e4565b60008481526003840160205260408120546002850180549394509092849081106145ae576145ae6151f4565b90600052602060002001549050808460020183815481106145d1576145d16151f4565b60009182526020808320909101929092558281526003860190915260408082208490558682528120556002840180548061460d5761460d6155ec565b600190038181906000526020600020016000905590555050505050565b600061463461331a565b905060006001614643856123b6565b61464d91906153e4565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b6060826146975761469282614790565b612635565b81511580156146ae57506001600160a01b0384163b155b156146ce5783604051639996b31560e01b8152600401610c459190614930565b5080612635565b6001600160a01b0382166146ff576000604051633250574960e11b8152600401610c459190614930565b600061470d8383600061333e565b90506001600160a01b038116156111145760006040516339e3563760e11b8152600401610c459190614930565b6147458383836147b9565b611114576001600160a01b03831661477357604051637e27328960e01b815260048101829052602401610c45565b818160405163177e802f60e01b8152600401610c4592919061504b565b8051156147a05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b0383161580159061349c5750826001600160a01b0316846001600160a01b031614806147f357506147f384846131f6565b8061349c5750826001600160a01b031661480c836132e4565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461123757600080fd5b6000806040838503121561486857600080fd5b823561487381614846565b946020939093013593505050565b6001600160e01b03198116811461123757600080fd5b6000602082840312156148a957600080fd5b813561263581614881565b60005b838110156148cf5781810151838201526020016148b7565b50506000910152565b600081518084526148f08160208601602086016148b4565b601f01601f19169290920160200192915050565b60208152600061263560208301846148d8565b60006020828403121561492957600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461123757600080fd5b803561496481614944565b919050565b6000806040838503121561497c57600080fd5b823561487381614944565b60008060006060848603121561499c57600080fd5b83356149a781614944565b925060208401356149b781614944565b929592945050506040919091013590565b600080604083850312156149db57600080fd5b8235915060208301356149ed81614944565b809150509250929050565b600060208284031215614a0a57600080fd5b813561263581614944565b60008060408385031215614a2857600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715614a7057614a70614a37565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614a9e57614a9e614a37565b604052919050565b600082601f830112614ab757600080fd5b81356001600160401b03811115614ad057614ad0614a37565b614ae3601f8201601f1916602001614a76565b818152846020838601011115614af857600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614b2857600080fd5b8235614b3381614944565b915060208301356001600160401b03811115614b4e57600080fd5b614b5a85828601614aa6565b9150509250929050565b600060208284031215614b7657600080fd5b81356001600160401b03811115614b8c57600080fd5b61349c84828501614aa6565b801515811461123757600080fd5b600060208284031215614bb857600080fd5b813561263581614b98565b600082601f830112614bd457600080fd5b813560206001600160401b03821115614bef57614bef614a37565b8160051b614bfe828201614a76565b9283528481018201928281019087851115614c1857600080fd5b83870192505b84831015614c3757823582529183019190830190614c1e565b979650505050505050565b600060208284031215614c5457600080fd5b81356001600160401b0380821115614c6b57600080fd5b908301906101808286031215614c8057600080fd5b614c88614a4d565b823582811115614c9757600080fd5b614ca387828601614aa6565b825250602083013582811115614cb857600080fd5b614cc487828601614aa6565b602083015250614cd660408401614959565b6040820152614ce760608401614959565b6060820152614cf860808401614959565b6080820152614d0960a08401614959565b60a0820152614d1a60c08401614959565b60c082015260e083013560e08201526101008084013583811115614d3d57600080fd5b614d4988828701614aa6565b8284015250506101208084013583811115614d6357600080fd5b614d6f88828701614bc3565b8284015250506101409150614d85828401614959565b828201526101609150614d99828401614959565b91810191909152949350505050565b805182526000602082015160806020850152614dc760808501826148d8565b905060408301516040850152606083015160608501528091505092915050565b6020815260006126356020830184614da8565b600080600060608486031215614e0f57600080fd5b8335614e1a81614944565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614e8457603f19888603018452614e72858351614da8565b94509285019290850190600101614e56565b5092979650505050505050565b60008060408385031215614ea457600080fd5b8235614eaf81614944565b915060208301356149ed81614b98565b600060208284031215614ed157600080fd5b81356001600160401b03811115614ee757600080fd5b61349c84828501614bc3565b60008060008060808587031215614f0957600080fd5b8435614f1481614944565b93506020850135614f2481614944565b92506040850135915060608501356001600160401b03811115614f4657600080fd5b614f5287828801614aa6565b91505092959194509250565b60008060008060808587031215614f7457600080fd5b8435614f7f81614944565b93506020850135614f8f81614944565b92506040850135614f9f81614944565b915060608501356001600160401b03811115614fba57600080fd5b614f5287828801614bc3565b600060208284031215614fd857600080fd5b813561263581614846565b60008060408385031215614ff657600080fd5b823561500181614944565b915060208301356149ed81614944565b600181811c9082168061502557607f821691505b60208210810361504557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161508c5761508c615064565b5060010190565b80516001600160401b038116811461496457600080fd5b600080600080600080600060e0888a0312156150c557600080fd5b87516150d081614944565b60208901519097506150e181614846565b60408901519096506150f281614b98565b606089015190955061510381614b98565b935061511160808901615093565b925061511f60a08901615093565b915061512d60c08901615093565b905092959891949750929550565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b6000602082840312156151a057600080fd5b5051919050565b80820180821115610d4c57610d4c615064565b6000602082840312156151cc57600080fd5b815161263581614b98565b6000602082840312156151e957600080fd5b815161263581614944565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f47616c617879204d656d6265723a204261736520555249206d757374206265206040820152621cd95d60ea1b606082015260800190565b600080835461525b81615011565b600182811680156152735760018114615288576152b7565b60ff19841687528215158302870194506152b7565b8760005260208060002060005b858110156152ae5781548a820152908401908201615295565b50505082870194505b50929695505050505050565b600082516152d58184602087016148b4565b9190910192915050565b601f82111561111457600081815260208120601f850160051c810160208610156153065750805b601f850160051c820191505b8181101561222f57828155600101615312565b81516001600160401b0381111561533e5761533e614a37565b6153528161534c8454615011565b846152df565b602080601f831160018114615387576000841561536f5750858301515b600019600386901b1c1916600185901b17855561222f565b600085815260208120601f198616915b828110156153b657888601518255948401946001909101908401615397565b50858210156153d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610d4c57610d4c615064565b602080825260359082015260008051602061564383398151915260408201527407573742062652067726561746572207468616e203605c1b606082015260800190565b6001600160401b0391909116815260200190565b60208082526036908201527f47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b600080516020615603833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b6020820152600082516154e68160338501602087016148b4565b9190910160330192915050565b8082028115828204841417610d4c57610d4c615064565b815160009082906020808601845b838110156152b757815185529382019390820190600101615518565b600060ff821660ff810361554a5761554a615064565b60010192915050565b600083516155658184602088016148b4565b8351908301906155798183602088016148b4565b64173539b7b760d91b9101908152600501949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906155c5908301846148d8565b9695505050505050565b6000602082840312156155e157600080fd5b815161263581614881565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204d6178206c6576656c206d75737420626547616c617879204d656d6265723a204233545220746f2075706772616465206dc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e347616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a656af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f547616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206fa2646970667358221220e1d0b1d79e4b58fca20e1670776902bcfad73230d228107f3bf55e3f38dfefd864736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x31F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x324 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x346 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x37B JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x39D JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3CA JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x3EA JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x40D JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x42D JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x44D JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x46D JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x48D JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4AD JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x4CD JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x4ED JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x50D JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x52F JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x544 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x576 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x596 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x5B6 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x5D6 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x5F6 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x609 JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x629 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x649 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x65E JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x688 JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x6A8 JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x6BD JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x6DD JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x6F2 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x707 JUMPI DUP1 PUSH4 0x5F4E42CA EQ PUSH2 0x71C JUMPI DUP1 PUSH4 0x5FFAA59A EQ PUSH2 0x73C JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x75C JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x771 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x791 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x7BE JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x7D3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x7F3 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x813 JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x828 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x848 JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x85D JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x88A JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x8AA JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x8CA JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x8EA JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x90A JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x92C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x94C JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0x961 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x981 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x996 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0x9B6 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0x9CB JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x9EB JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xA1C JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xA3C JUMPI DUP1 PUSH4 0xC190EB3A EQ PUSH2 0xA5C JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xA7C JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xA9C JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xABC JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xADC JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xAFE JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xB1E JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xB3E JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xB5E JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xB7E JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xBA0 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xBC0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x33F CALLDATASIZE PUSH1 0x4 PUSH2 0x4855 JUMP JUMPDEST PUSH2 0xBE2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x352 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0x361 CALLDATASIZE PUSH1 0x4 PUSH2 0x4897 JUMP JUMPDEST PUSH2 0xD41 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x387 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH2 0xD52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x4904 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x3B8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0xDF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x3E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4969 JUMP JUMPDEST PUSH2 0xE08 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xE17 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x372 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x428 CALLDATASIZE PUSH1 0x4 PUSH2 0x4987 JUMP JUMPDEST PUSH2 0xE2C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x439 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x448 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0xEB7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x459 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x468 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0xED7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x488 CALLDATASIZE PUSH1 0x4 PUSH2 0x49C8 JUMP JUMPDEST PUSH2 0xEF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x4A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4969 JUMP JUMPDEST PUSH2 0xF13 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x4C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0xF75 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x4E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x49C8 JUMP JUMPDEST PUSH2 0x10E1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x508 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x1119 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x519 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5743 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x53B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x1217 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x550 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x564 PUSH2 0x55F CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x123A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x372 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x582 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x591 CALLDATASIZE PUSH1 0x4 PUSH2 0x4987 JUMP JUMPDEST PUSH2 0x12CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x5B1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x12E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x5D1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x1321 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x5F1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A15 JUMP JUMPDEST PUSH2 0x1737 JUMP JUMPDEST PUSH2 0x344 PUSH2 0x604 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B15 JUMP JUMPDEST PUSH2 0x1A0F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x615 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x624 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x1A2A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x635 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x644 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x1A8B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x655 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1AA9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x19 PUSH1 0xF9 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x390 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x694 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x6A3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B64 JUMP JUMPDEST PUSH2 0x1AC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x1B63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x6D8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BA6 JUMP JUMPDEST PUSH2 0x1B81 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x1BE9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0x1CD8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x713 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x1CED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x728 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x737 CALLDATASIZE PUSH1 0x4 PUSH2 0x4C42 JUMP JUMPDEST PUSH2 0x1D08 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x748 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x757 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x2237 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x768 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x22AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x78C CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x22C9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B1 PUSH2 0x7AC CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x22D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x4DE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH2 0x2384 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x7EE CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x2393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x80E CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x23B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BD PUSH2 0x240E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x834 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x843 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x242C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x854 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x2436 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x869 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x87D PUSH2 0x878 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DFA JUMP JUMPDEST PUSH2 0x2456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x372 SWAP2 SWAP1 PUSH2 0x4E2F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x896 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x8A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x263C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x8C5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A15 JUMP JUMPDEST PUSH2 0x265A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0x8E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x28E1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0x905 CALLDATASIZE PUSH1 0x4 PUSH2 0x49C8 JUMP JUMPDEST PUSH2 0x2AC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x916 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5723 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x938 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x947 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x2AFB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x958 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH2 0x2B19 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x96D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x97C CALLDATASIZE PUSH1 0x4 PUSH2 0x4A15 JUMP JUMPDEST PUSH2 0x2B36 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x98D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0x9B1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E91 JUMP JUMPDEST PUSH2 0x2B43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x2B4E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x9E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x2B63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xA37 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EBF JUMP JUMPDEST PUSH2 0x2BDE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xA57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EF3 JUMP JUMPDEST PUSH2 0x2CCE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xA77 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F5E JUMP JUMPDEST PUSH2 0x2CE5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA88 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x390 PUSH2 0xA97 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x2FC4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xAB7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4917 JUMP JUMPDEST PUSH2 0x3055 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xAD7 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x306B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5703 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xB19 CALLDATASIZE PUSH1 0x4 PUSH2 0x49C8 JUMP JUMPDEST PUSH2 0x3098 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x344 PUSH2 0xB39 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x30B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B1 PUSH2 0xB59 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F8 JUMP JUMPDEST PUSH2 0x31B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xB79 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC6 JUMP JUMPDEST PUSH2 0x31D0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56E3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x366 PUSH2 0xBBB CALLDATASIZE PUSH1 0x4 PUSH2 0x4FE3 JUMP JUMPDEST PUSH2 0x31F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5683 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5743 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xBFA DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xC4E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xCA2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCAC PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xD26 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD4C DUP3 PUSH2 0x3263 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xD5E PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xD6F SWAP1 PUSH2 0x5011 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD9B SWAP1 PUSH2 0x5011 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDE8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xDBD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDE8 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xDCB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDFE DUP3 PUSH2 0x32AC JUMP JUMPDEST POP PUSH2 0xD4C DUP3 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0xE13 DUP3 DUP3 CALLER PUSH2 0x330D JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE22 PUSH2 0x331A JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xE56 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE63 DUP4 DUP4 CALLER PUSH2 0x333E JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xEB1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC45 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEC2 PUSH2 0x34A4 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEE2 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xF00 DUP3 PUSH2 0xEB7 JUMP JUMPDEST PUSH2 0xF09 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0xEB1 DUP4 DUP4 PUSH2 0x34C8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF1E PUSH2 0x331A JUMP JUMPDEST SWAP1 POP PUSH2 0xF29 DUP5 PUSH2 0x23B6 JUMP JUMPDEST DUP4 LT PUSH2 0xF4C JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP3 SWAP2 SWAP1 PUSH2 0x504B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF80 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF8A PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0xFFF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5623 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x1097 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1085 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5643 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xC45 JUMP JUMPDEST DUP1 PUSH2 0x108F DUP2 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1002 JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x110A JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1114 DUP3 DUP3 PUSH2 0x3569 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5723 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1131 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x11AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11B7 PUSH2 0x323F JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56E3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x122F DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0x1237 PUSH2 0x35E1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1245 PUSH2 0x323F JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x295D33A9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA574CEA4 SWAP1 PUSH1 0x24 ADD PUSH1 0xE0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x129A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12BE SWAP2 SWAP1 PUSH2 0x50AA JUMP JUMPDEST POP SWAP4 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1114 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2CCE JUMP JUMPDEST CALLER PUSH2 0x12F2 DUP3 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1318 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x513B JUMP JUMPDEST PUSH2 0x1237 DUP2 PUSH2 0x3638 JUMP JUMPDEST PUSH2 0x1329 PUSH2 0x3644 JUMP JUMPDEST PUSH2 0x1331 PUSH2 0x367A JUMP JUMPDEST CALLER PUSH2 0x133B DUP3 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x13AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13B7 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x13C4 DUP4 PUSH2 0x2393 JUMP JUMPDEST SWAP1 POP PUSH2 0x13CE PUSH2 0x2B4E JUMP JUMPDEST DUP2 LT PUSH2 0x1431 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x143C DUP5 PUSH2 0x2B63 JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1473 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1490 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14B4 SWAP2 SWAP1 PUSH2 0x518E JUMP JUMPDEST LT ISZERO PUSH2 0x1519 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1569 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x158D SWAP2 SWAP1 PUSH2 0x518E JUMP JUMPDEST LT ISZERO PUSH2 0x15F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1614 SWAP1 DUP5 SWAP1 PUSH2 0x51A7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1678 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x169C SWAP2 SWAP1 PUSH2 0x51BA JUMP JUMPDEST PUSH2 0x16E8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC45 JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x1714 DUP8 PUSH2 0x2393 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x1237 PUSH2 0x36A2 JUMP JUMPDEST PUSH2 0x173F PUSH2 0x367A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1749 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x1755 DUP4 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x17DF JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17B0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17D4 SWAP2 SWAP1 PUSH2 0x51D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0x1864 JUMPI POP PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFC206ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBFC206ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1835 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1859 SWAP2 SWAP1 PUSH2 0x51D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x18E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x56 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5763 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776E6564206F72206D616E616765642062792063616C6C6572206F7220746F6B PUSH1 0x64 DUP3 ADD MSTORE PUSH22 0x32B7103737BA1037BBB732B210313C9031B0B63632B9 PUSH1 0x51 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xC45 JUMP JUMPDEST DUP2 PUSH2 0x18ED DUP5 PUSH2 0x1A8B JUMP JUMPDEST EQ PUSH2 0x194F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST DUP3 PUSH2 0x1959 DUP4 PUSH2 0x2AFB JUMP JUMPDEST EQ PUSH2 0x19BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1A17 PUSH2 0x36B3 JUMP JUMPDEST PUSH2 0x1A20 DUP3 PUSH2 0x3758 JUMP JUMPDEST PUSH2 0xE13 DUP3 DUP3 PUSH2 0x3770 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A35 PUSH2 0x331A JUMP JUMPDEST SWAP1 POP PUSH2 0x1A3F PUSH2 0xE17 JUMP JUMPDEST DUP4 LT PUSH2 0x1A63 JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP3 SWAP2 SWAP1 PUSH2 0x504B JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1A78 JUMPI PUSH2 0x1A78 PUSH2 0x51F4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A95 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xD ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AB3 PUSH2 0x3824 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56C3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AD1 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1AF2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x520A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AFC PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1B0F SWAP2 SWAP1 PUSH2 0x524D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B25 SWAP2 SWAP1 PUSH2 0x52C3 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0xEB1 DUP5 DUP3 PUSH2 0x5325 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B6E PUSH2 0x323F JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B8C DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B96 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1BCB SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BF3 PUSH2 0x323F JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1C5B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x1C64 CALLER PUSH2 0x28E1 JUMP JUMPDEST PUSH2 0x1CCF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x1237 CALLER PUSH2 0x386D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CE3 PUSH2 0x389E JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CF8 PUSH2 0x323F JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D12 PUSH2 0x38C2 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1D39 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1D55 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1D63 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1D81 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1DAA JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x0 DUP7 PUSH1 0xE0 ADD MLOAD GT PUSH2 0x1E04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5623 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH2 0x100 ADD MLOAD MLOAD GT PUSH2 0x1E2A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x520A JUMP JUMPDEST PUSH2 0x140 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1EAA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204233545220746F6B656E20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x732063616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x160 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1F28 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205472656173757279206164647265737320 PUSH1 0x44 DUP3 ADD MSTORE PUSH26 0x63616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x30 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x1 DUP7 PUSH1 0xE0 ADD MLOAD PUSH2 0x1F39 SWAP2 SWAP1 PUSH2 0x53E4 JUMP JUMPDEST DUP7 PUSH2 0x120 ADD MLOAD MLOAD LT ISZERO PUSH2 0x1FAD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5643 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C20756E6C6F636B6564206C657665 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x6C73 PUSH1 0xF0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x1FBF DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD PUSH2 0x38E6 JUMP JUMPDEST PUSH2 0x1FC7 PUSH2 0x38F8 JUMP JUMPDEST PUSH2 0x1FCF PUSH2 0x3900 JUMP JUMPDEST PUSH2 0x1FD7 PUSH2 0x38F8 JUMP JUMPDEST PUSH2 0x1FDF PUSH2 0x38F8 JUMP JUMPDEST PUSH2 0x1FE7 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x1FEF PUSH2 0x38F8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF9 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP7 PUSH2 0x100 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x2011 SWAP2 SWAP1 PUSH2 0x5325 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x20B6 JUMPI PUSH1 0x0 DUP9 PUSH2 0x120 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x203C JUMPI PUSH2 0x203C PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2061 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2078 JUMPI PUSH2 0x2078 PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2093 SWAP2 SWAP1 PUSH2 0x51A7 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x20AE DUP2 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2015 JUMP JUMPDEST POP PUSH1 0xE0 DUP8 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x140 DUP8 ADD MLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND OR SWAP1 SWAP2 SSTORE PUSH2 0x160 DUP10 ADD MLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x40 DUP9 ADD MLOAD AND PUSH2 0x216F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2041646D696E20616464726573732063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x2180 PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0x40 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP PUSH2 0x219D PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5683 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x60 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP PUSH2 0x21BA PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56E3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP PUSH2 0x21D7 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5703 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xA0 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP PUSH2 0x21F4 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5723 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xC0 ADD MLOAD PUSH2 0x34C8 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0x222F JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5663 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2226 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x543A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5743 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x224F DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x2275 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x544E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x227F PUSH2 0x323F JUMP JUMPDEST PUSH1 0xB ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x22B6 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD4C DUP3 PUSH2 0x32AC JUMP JUMPDEST PUSH2 0x22DC PUSH2 0x481E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22E7 DUP4 PUSH2 0x3920 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2349 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x2351 PUSH2 0x481E JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x235D DUP4 PUSH2 0x2FC4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x236B DUP4 PUSH2 0x2393 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2379 DUP4 PUSH2 0x2B63 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x238E PUSH2 0x3949 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x239F DUP4 PUSH2 0x2AFB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x23AD DUP5 DUP4 PUSH2 0x3966 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x23C1 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x23ED JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2419 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1237 CALLER DUP3 PUSH2 0x3ADB JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56E3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x244E DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0x1237 PUSH2 0x3B7E JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x24A6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5603 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x24EF JUMPI PUSH2 0x24B9 DUP2 PUSH2 0x3BC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x24C9 SWAP2 SWAP1 PUSH2 0x54A4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xC45 SWAP2 PUSH1 0x4 ADD PUSH2 0x4904 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FA DUP7 PUSH2 0x23B6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2508 DUP6 DUP8 PUSH2 0x54F3 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x254D JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH2 0x252F PUSH2 0x481E JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2527 JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x2635 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2559 DUP7 DUP4 PUSH2 0x51A7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x2566 JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x2572 DUP4 DUP4 PUSH2 0x53E4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x258E JUMPI PUSH2 0x258E PUSH2 0x4A37 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x25C7 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x25B4 PUSH2 0x481E JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x25AC JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x262C JUMPI PUSH1 0x0 PUSH2 0x25E1 DUP3 DUP8 PUSH2 0x51A7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x25EF DUP14 DUP4 PUSH2 0xF13 JUMP JUMPDEST SWAP1 POP PUSH2 0x25FA DUP2 PUSH2 0x22D4 JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x260C JUMPI PUSH2 0x260C PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x2624 SWAP1 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x25CD JUMP JUMPDEST POP SWAP6 POP POP POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2646 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x2662 PUSH2 0x367A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x266C PUSH2 0x323F JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x2678 DUP4 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x26DE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2729 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x274D SWAP2 SWAP1 PUSH2 0x51D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x27B3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5763 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x3BB732B21037B91036B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x39 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x27BC DUP4 PUSH2 0x1A8B JUMP JUMPDEST ISZERO PUSH2 0x2820 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x2829 DUP3 PUSH2 0x2AFB JUMP JUMPDEST ISZERO PUSH2 0x288D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28EC PUSH2 0x323F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x295F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x29C5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x29F4 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2A11 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2A35 SWAP2 SWAP1 PUSH2 0x51BA JUMP JUMPDEST DUP1 PUSH2 0x2AAE JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2A6D SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2A8A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AAE SWAP2 SWAP1 PUSH2 0x51BA JUMP JUMPDEST ISZERO PUSH2 0x2ABC JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2AD0 PUSH2 0x34A4 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B05 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xE ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2B25 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xD6F SWAP1 PUSH2 0x5011 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x23AD DUP5 DUP5 PUSH2 0x3966 JUMP JUMPDEST PUSH2 0xE13 CALLER DUP4 DUP4 PUSH2 0x3C57 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2B59 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2B6F DUP4 PUSH2 0x3920 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2B85 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B90 DUP4 PUSH2 0x2AFB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2B9F DUP6 DUP5 PUSH2 0x3966 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2BAB PUSH2 0x2B4E JUMP JUMPDEST DUP3 SUB PUSH2 0x2BBC JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2BCB PUSH2 0x468 DUP5 PUSH1 0x1 PUSH2 0x51A7 JUMP JUMPDEST PUSH2 0x2BD5 SWAP2 SWAP1 PUSH2 0x53E4 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BE9 DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BF3 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2C8A JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2C15 JUMPI PUSH2 0x2C15 PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2C3A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2C4C JUMPI PUSH2 0x2C4C PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2C67 SWAP2 SWAP1 PUSH2 0x51A7 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2C82 DUP2 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2BF8 JUMP JUMPDEST POP DUP3 PUSH1 0x40 MLOAD PUSH2 0x2C99 SWAP2 SWAP1 PUSH2 0x550A JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x2CD9 DUP5 DUP5 DUP5 PUSH2 0xE2C JUMP JUMPDEST PUSH2 0xEB1 DUP5 DUP5 DUP5 DUP5 PUSH2 0x3CFC JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2CF1 PUSH2 0x38C2 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2D18 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2D36 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE DUP3 MLOAD PUSH1 0x8 EQ PUSH2 0x2DB5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56A3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6C6576656C732E204D7573742062652037206C6576656C73 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2DDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x544E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2E53 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F6E6F6465734D616E6761656D656E742063 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E5D PUSH2 0x323F JUMP JUMPDEST PUSH1 0xB DUP2 ADD DUP1 SLOAD PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND SWAP2 SWAP1 SWAP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0xC DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP2 DUP10 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x2EB7 JUMPI DUP1 PUSH1 0x5 ADD SLOAD PUSH2 0x2EBA JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x2F80 JUMPI PUSH1 0x1 DUP6 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x2EE5 JUMPI PUSH2 0x2EE5 PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x2F37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56A3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1B195D995B PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST DUP5 DUP2 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x2F4C JUMPI PUSH2 0x2F4C PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0xFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF DUP6 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE DUP1 PUSH2 0x2F78 DUP2 PUSH2 0x5534 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2EC2 JUMP JUMPDEST POP PUSH2 0x2F99 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5743 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 PUSH2 0x34C8 JUMP JUMPDEST POP POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5663 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2226 SWAP1 DUP5 SWAP1 PUSH2 0x543A JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2FD1 DUP4 PUSH2 0x3920 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2FF3 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FFE DUP4 PUSH2 0x2393 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x301D JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2635 JUMP JUMPDEST PUSH2 0x3025 PUSH2 0x2384 JUMP JUMPDEST PUSH2 0x302E DUP3 PUSH2 0x3BC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x303F SWAP3 SWAP2 SWAP1 PUSH2 0x5553 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3063 DUP4 PUSH1 0x0 PUSH2 0x3966 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3076 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x11 SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x30A1 DUP3 PUSH2 0xEB7 JUMP JUMPDEST PUSH2 0x30AA DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0xEB1 DUP4 DUP4 PUSH2 0x3569 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5723 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x30CC DUP2 PUSH2 0x3235 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3142 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x314C PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x31BA PUSH2 0x481E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31C5 DUP4 PUSH2 0x306B JUMP JUMPDEST SWAP1 POP PUSH2 0x2635 DUP2 PUSH2 0x22D4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31DA PUSH2 0x323F JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3201 PUSH2 0x3288 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1237 DUP2 CALLER PUSH2 0x3E13 JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xD4C JUMPI POP PUSH2 0xD4C DUP3 PUSH2 0x3E3E JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x32B8 DUP4 PUSH2 0x3920 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xD4C JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x32EF PUSH2 0x3288 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x1114 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x3E63 JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3348 PUSH2 0x367A JUMP JUMPDEST PUSH2 0x3351 DUP4 PUSH2 0x2AFB JUMP JUMPDEST ISZERO PUSH2 0x33C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D1 DUP6 DUP6 DUP6 PUSH2 0x3F6D JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x33F1 JUMPI POP PUSH2 0x33EF DUP2 PUSH2 0x23B6 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x341C JUMPI PUSH2 0x33FE PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x11 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x343B JUMPI POP DUP4 PUSH2 0x3439 DUP3 PUSH2 0x306B JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x344F JUMPI POP PUSH1 0x0 PUSH2 0x344D DUP3 PUSH2 0x23B6 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x3468 JUMPI PUSH2 0x3468 DUP2 PUSH2 0x3463 DUP4 PUSH1 0x0 PUSH2 0xF13 JUMP JUMPDEST PUSH2 0x3ADB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3488 JUMPI POP PUSH2 0x3484 DUP6 PUSH2 0x23B6 JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x349C JUMPI PUSH2 0x349C DUP6 PUSH2 0x3463 DUP8 PUSH1 0x0 PUSH2 0xF13 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x34D3 PUSH2 0x34A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x34DF DUP5 DUP5 PUSH2 0x2AC5 JUMP JUMPDEST PUSH2 0x355F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x3515 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3574 PUSH2 0x34A4 JUMP JUMPDEST SWAP1 POP PUSH2 0x3580 DUP5 DUP5 PUSH2 0x2AC5 JUMP JUMPDEST ISZERO PUSH2 0x355F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xD4C JUMP JUMPDEST PUSH2 0x35E9 PUSH2 0x3F82 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35F3 PUSH2 0x389E JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x362D SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xE13 PUSH1 0x0 DUP3 CALLER PUSH2 0x333E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x364E PUSH2 0x3FA7 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3674 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x3682 PUSH2 0x1CD8 JUMP JUMPDEST ISZERO PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x36AC PUSH2 0x3FA7 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x373A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x372E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56C3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5683 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xE13 DUP2 PUSH2 0x3235 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x37CA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x37C7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x518E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x37E9 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56C3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x381A JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xC45 JUMP JUMPDEST PUSH2 0x1114 DUP4 DUP4 PUSH2 0x3FCB JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3877 PUSH2 0x323F JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x388E DUP4 PUSH2 0x507A JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x1114 DUP4 DUP3 PUSH2 0x4021 JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x38EE PUSH2 0x403B JUMP JUMPDEST PUSH2 0xE13 DUP3 DUP3 PUSH2 0x4060 JUMP JUMPDEST PUSH2 0x36A0 PUSH2 0x403B JUMP JUMPDEST PUSH2 0x3908 PUSH2 0x403B JUMP JUMPDEST PUSH2 0x36A0 PUSH2 0x408E JUMP JUMPDEST PUSH2 0x3918 PUSH2 0x403B JUMP JUMPDEST PUSH2 0x36A0 PUSH2 0x40AB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x392B PUSH2 0x3288 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3955 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xD6F SWAP1 PUSH2 0x5011 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3973 PUSH2 0x323F JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3A08 JUMPI POP PUSH2 0x398A DUP7 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x39D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x39FD SWAP2 SWAP1 PUSH2 0x51D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x3A4E JUMPI PUSH1 0x0 PUSH2 0x3A18 DUP7 PUSH2 0x123A JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x3A4C JUMPI PUSH1 0x0 PUSH2 0x3A2E DUP3 PUSH2 0x31D0 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x3A46 JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x3A48 JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x3A6B DUP4 PUSH1 0x1 PUSH2 0x51A7 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3ACE JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x3AB7 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3AB0 SWAP1 DUP4 PUSH2 0x53E4 JUMP JUMPDEST SWAP2 POP PUSH2 0x3ABC JUMP JUMPDEST PUSH2 0x3ACE JUMP JUMPDEST DUP1 PUSH2 0x3AC6 DUP2 PUSH2 0x507A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3A6E JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3AEE DUP3 PUSH2 0x22C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3B14 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP1 PUSH2 0x513B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B1E PUSH2 0x323F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x11 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP2 SWAP3 POP SWAP1 PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC SWAP1 PUSH2 0x3B71 SWAP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3B86 PUSH2 0x367A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B90 PUSH2 0x389E JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x3620 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3BD2 DUP4 PUSH2 0x40B3 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3BF1 JUMPI PUSH2 0x3BF1 PUSH2 0x4A37 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3C1B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3C25 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3C61 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3C8C JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0xEB1 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x3D3E SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5592 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3D79 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3D76 SWAP2 DUP2 ADD SWAP1 PUSH2 0x55CF JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3DD9 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x3DA7 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3DAC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x3DD1 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x3E0C JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3E1D DUP3 DUP3 PUSH2 0x2AC5 JUMP JUMPDEST PUSH2 0xE13 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP3 SWAP2 SWAP1 PUSH2 0x504B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xD4C JUMPI POP PUSH2 0xD4C DUP3 PUSH2 0x4189 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E6D PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x3E83 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x3F3C JUMPI PUSH1 0x0 PUSH2 0x3E93 DUP6 PUSH2 0x32AC JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3EBF JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x3ED2 JUMPI POP PUSH2 0x3ED0 DUP2 DUP6 PUSH2 0x31F6 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3EF2 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x3F3A JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F77 PUSH2 0x367A JUMP JUMPDEST PUSH2 0x349C DUP5 DUP5 DUP5 PUSH2 0x41D9 JUMP JUMPDEST PUSH2 0x3F8A PUSH2 0x1CD8 JUMP JUMPDEST PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x3FD4 DUP3 PUSH2 0x4267 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4019 JUMPI PUSH2 0x1114 DUP3 DUP3 PUSH2 0x42C3 JUMP JUMPDEST PUSH2 0xE13 PUSH2 0x4330 JUMP JUMPDEST PUSH2 0xE13 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x434F JUMP JUMPDEST PUSH2 0x4043 PUSH2 0x4366 JUMP JUMPDEST PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4068 PUSH2 0x403B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4072 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x407F DUP5 DUP3 PUSH2 0x5325 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0xEB1 DUP4 DUP3 PUSH2 0x5325 JUMP JUMPDEST PUSH2 0x4096 PUSH2 0x403B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40A0 PUSH2 0x389E JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x36A2 PUSH2 0x403B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x40F2 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x411C JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x413A JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x4152 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x4166 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4178 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xD4C JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x41BA JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xD4C JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x41E7 DUP6 DUP6 DUP6 PUSH2 0x4380 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4205 JUMPI PUSH2 0x4200 DUP5 PUSH2 0x4487 JUMP JUMPDEST PUSH2 0x4228 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4228 JUMPI PUSH2 0x4228 DUP2 DUP6 PUSH2 0x44C0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4244 JUMPI PUSH2 0x423F DUP5 PUSH2 0x4561 JUMP JUMPDEST PUSH2 0x349C JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x349C JUMPI PUSH2 0x349C DUP6 DUP6 PUSH2 0x462A JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4294 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x56C3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x42E0 SWAP2 SWAP1 PUSH2 0x52C3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x431B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4320 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2BD5 DUP6 DUP4 DUP4 PUSH2 0x4682 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4359 DUP4 DUP4 PUSH2 0x46D5 JUMP JUMPDEST PUSH2 0x1114 PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3CFC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4370 PUSH2 0x38C2 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x438B PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4398 DUP6 PUSH2 0x3920 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x43B4 JUMPI PUSH2 0x43B4 DUP2 DUP6 DUP8 PUSH2 0x473A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x43F4 JUMPI PUSH2 0x43D1 PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x3E63 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4425 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4491 PUSH2 0x331A JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44CA PUSH2 0x331A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x44D7 DUP5 PUSH2 0x23B6 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x452C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x456B PUSH2 0x331A JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x4582 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x53E4 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x45AE JUMPI PUSH2 0x45AE PUSH2 0x51F4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x45D1 JUMPI PUSH2 0x45D1 PUSH2 0x51F4 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x460D JUMPI PUSH2 0x460D PUSH2 0x55EC JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4634 PUSH2 0x331A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x4643 DUP6 PUSH2 0x23B6 JUMP JUMPDEST PUSH2 0x464D SWAP2 SWAP1 PUSH2 0x53E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4697 JUMPI PUSH2 0x4692 DUP3 PUSH2 0x4790 JUMP JUMPDEST PUSH2 0x2635 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x46AE JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x46CE JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST POP DUP1 PUSH2 0x2635 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x46FF JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x470D DUP4 DUP4 PUSH1 0x0 PUSH2 0x333E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x1114 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP2 SWAP1 PUSH2 0x4930 JUMP JUMPDEST PUSH2 0x4745 DUP4 DUP4 DUP4 PUSH2 0x47B9 JUMP JUMPDEST PUSH2 0x1114 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4773 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xC45 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC45 SWAP3 SWAP2 SWAP1 PUSH2 0x504B JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x47A0 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x349C JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x47F3 JUMPI POP PUSH2 0x47F3 DUP5 DUP5 PUSH2 0x31F6 JUMP JUMPDEST DUP1 PUSH2 0x349C JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x480C DUP4 PUSH2 0x32E4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4868 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4873 DUP2 PUSH2 0x4846 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x48A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2635 DUP2 PUSH2 0x4881 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x48CF JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x48B7 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x48F0 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x48B4 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2635 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x48D8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4929 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x4964 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x497C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4873 DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x499C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x49A7 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x49B7 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x49DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x49ED DUP2 PUSH2 0x4944 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2635 DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4A28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x180 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4A70 JUMPI PUSH2 0x4A70 PUSH2 0x4A37 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4A9E JUMPI PUSH2 0x4A9E PUSH2 0x4A37 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4AB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4AD0 JUMPI PUSH2 0x4AD0 PUSH2 0x4A37 JUMP JUMPDEST PUSH2 0x4AE3 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x4A76 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4AF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4B28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4B33 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4B4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4B5A DUP6 DUP3 DUP7 ADD PUSH2 0x4AA6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4B8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x349C DUP5 DUP3 DUP6 ADD PUSH2 0x4AA6 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2635 DUP2 PUSH2 0x4B98 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4BD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4BEF JUMPI PUSH2 0x4BEF PUSH2 0x4A37 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x4BFE DUP3 DUP3 ADD PUSH2 0x4A76 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x4C18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x4C37 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x4C1E JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C54 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4C6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x180 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x4C80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4C88 PUSH2 0x4A4D JUMP JUMPDEST DUP3 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x4C97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CA3 DUP8 DUP3 DUP7 ADD PUSH2 0x4AA6 JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x4CB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CC4 DUP8 DUP3 DUP7 ADD PUSH2 0x4AA6 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x4CD6 PUSH1 0x40 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x4CE7 PUSH1 0x60 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x4CF8 PUSH1 0x80 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x4D09 PUSH1 0xA0 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x4D1A PUSH1 0xC0 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP4 ADD CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x4D3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D49 DUP9 DUP3 DUP8 ADD PUSH2 0x4AA6 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x120 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x4D63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D6F DUP9 DUP3 DUP8 ADD PUSH2 0x4BC3 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x140 SWAP2 POP PUSH2 0x4D85 DUP3 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x160 SWAP2 POP PUSH2 0x4D99 DUP3 DUP5 ADD PUSH2 0x4959 JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x4DC7 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x48D8 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2635 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4DA8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4E0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4E1A DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4E84 JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x4E72 DUP6 DUP4 MLOAD PUSH2 0x4DA8 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4E56 JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4EA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4EAF DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x49ED DUP2 PUSH2 0x4B98 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4ED1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4EE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x349C DUP5 DUP3 DUP6 ADD PUSH2 0x4BC3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4F09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x4F14 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x4F24 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4F46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F52 DUP8 DUP3 DUP9 ADD PUSH2 0x4AA6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4F74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x4F7F DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x4F8F DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x4F9F DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4FBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F52 DUP8 DUP3 DUP9 ADD PUSH2 0x4BC3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2635 DUP2 PUSH2 0x4846 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4FF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5001 DUP2 PUSH2 0x4944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x49ED DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x5025 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x5045 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x508C JUMPI PUSH2 0x508C PUSH2 0x5064 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4964 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x50C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 MLOAD PUSH2 0x50D0 DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH1 0x20 DUP10 ADD MLOAD SWAP1 SWAP8 POP PUSH2 0x50E1 DUP2 PUSH2 0x4846 JUMP JUMPDEST PUSH1 0x40 DUP10 ADD MLOAD SWAP1 SWAP7 POP PUSH2 0x50F2 DUP2 PUSH2 0x4B98 JUMP JUMPDEST PUSH1 0x60 DUP10 ADD MLOAD SWAP1 SWAP6 POP PUSH2 0x5103 DUP2 PUSH2 0x4B98 JUMP JUMPDEST SWAP4 POP PUSH2 0x5111 PUSH1 0x80 DUP10 ADD PUSH2 0x5093 JUMP JUMPDEST SWAP3 POP PUSH2 0x511F PUSH1 0xA0 DUP10 ADD PUSH2 0x5093 JUMP JUMPDEST SWAP2 POP PUSH2 0x512D PUSH1 0xC0 DUP10 ADD PUSH2 0x5093 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xD4C JUMPI PUSH2 0xD4C PUSH2 0x5064 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2635 DUP2 PUSH2 0x4B98 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2635 DUP2 PUSH2 0x4944 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x525B DUP2 PUSH2 0x5011 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x5273 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5288 JUMPI PUSH2 0x52B7 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x52B7 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x52AE JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x5295 JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x52D5 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x48B4 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1114 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5306 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x222F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5312 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x533E JUMPI PUSH2 0x533E PUSH2 0x4A37 JUMP JUMPDEST PUSH2 0x5352 DUP2 PUSH2 0x534C DUP5 SLOAD PUSH2 0x5011 JUMP JUMPDEST DUP5 PUSH2 0x52DF JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5387 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x536F JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x222F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x53B6 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5397 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x53D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xD4C JUMPI PUSH2 0xD4C PUSH2 0x5064 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x35 SWAP1 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5643 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F7665636861696E4E6F6465732063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5603 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x54E6 DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x48B4 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xD4C JUMPI PUSH2 0xD4C PUSH2 0x5064 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x52B7 JUMPI DUP2 MLOAD DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5518 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x554A JUMPI PUSH2 0x554A PUSH2 0x5064 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5565 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x48B4 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x5579 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x48B4 JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x55C5 SWAP1 DUP4 ADD DUP5 PUSH2 0x48D8 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2635 DUP2 PUSH2 0x4881 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 0x4D PUSH2 0x7820 PUSH13 0x6576656C206D75737420626547 PUSH2 0x6C61 PUSH25 0x79204D656D6265723A204233545220746F2075706772616465 KECCAK256 PUSH14 0xC7F505B2F371AE2175EE4913F449 SWAP15 0x1F 0x26 CALLER 0xA7 0xB5 SWAP4 PUSH4 0x21EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E347 PUSH2 0x6C61 PUSH25 0x794D656D6265723A20696E76616C6964206E6F646520667265 PUSH6 0x20360894A13B LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A9F2DF0FE 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F547616C6178794D656D PUSH3 0x65723A KECCAK256 PUSH23 0x65636861696E206E6F6465206E6F74206FA26469706673 PC 0x22 SLT KECCAK256 0xE1 0xD0 0xB1 0xD7 SWAP15 0x4B PC 0xFC LOG2 0xE AND PUSH17 0x776902BCFAD73230D228107F3BF55E3F38 0xDF 0xEF 0xD8 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"3544:32994:61:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22453:451;;;;;;;;;;-1:-1:-1;22453:451:61;;;;;:::i;:::-;;:::i;:::-;;36084:219;;;;;;;;;;-1:-1:-1;36084:219:61;;;;;:::i;:::-;;:::i;:::-;;;1000:14:150;;993:22;975:41;;963:2;948:18;36084:219:61;;;;;;;;3546:146:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4792:154::-;;;;;;;;;;-1:-1:-1;4792:154:5;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4618:113::-;;;;;;;;;;-1:-1:-1;4618:113:5;;;;;:::i;:::-;;:::i;3048:179:7:-;;;;;;;;;;;;;:::i;:::-;;;2917:25:150;;;2905:2;2890:18;3048:179:7;2771:177:150;5495:578:5;;;;;;;;;;-1:-1:-1;5495:578:5;;;;;:::i;:::-;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;28232:197:61:-;;;;;;;;;;-1:-1:-1;28232:197:61;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;2645:332:7:-;;;;;;;;;;-1:-1:-1;2645:332:7;;;;;:::i;:::-;;:::i;18247:648:61:-;;;;;;;;;;-1:-1:-1;18247:648:61;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;19104:502:61:-;;;;;;;;;;-1:-1:-1;19104:502:61;;;;;:::i;:::-;;:::i;4067:76::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4067:76:61;;13364:77;;;;;;;;;;;;;:::i;26128:240::-;;;;;;;;;;-1:-1:-1;26128:240:61;;;;;:::i;:::-;;:::i;:::-;;;4525:4:150;4513:17;;;4495:36;;4483:2;4468:18;26128:240:61;4353:184:150;6139:132:5;;;;;;;;;;-1:-1:-1;6139:132:5;;;;;:::i;:::-;;:::i;15808:213:61:-;;;;;;;;;;-1:-1:-1;15808:213:61;;;;;:::i;:::-;;:::i;14032:912::-;;;;;;;;;;-1:-1:-1;14032:912:61;;;;;:::i;:::-;;:::i;16857:779::-;;;;;;;;;;-1:-1:-1;16857:779:61;;;;;:::i;:::-;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;3299:303:7:-;;;;;;;;;;-1:-1:-1;3299:303:7;;;;;:::i;:::-;;:::i;30131:149:61:-;;;;;;;;;;-1:-1:-1;30131:149:61;;;;;:::i;:::-;;:::i;3705:134:3:-;;;;;;;;;;;;;:::i;31318:86:61:-;;;;;;;;;;-1:-1:-1;31389:10:61;;;;;;;;;;;;-1:-1:-1;;;31389:10:61;;;;31318:86;;20354:336;;;;;;;;;;-1:-1:-1;20354:336:61;;;;;:::i;:::-;;:::i;29451:133::-;;;;;;;;;;;;;:::i;21547:241::-;;;;;;;;;;-1:-1:-1;21547:241:61;;;;;:::i;:::-;;:::i;13624:203::-;;;;;;;;;;;;;:::i;2692:145:12:-;;;;;;;;;;;;;:::i;28996:186:61:-;;;;;;;;;;;;;:::i;9832:1688::-;;;;;;;;;;-1:-1:-1;9832:1688:61;;;;;:::i;:::-;;:::i;21904:311::-;;;;;;;;;;-1:-1:-1;21904:311:61;;;;;:::i;:::-;;:::i;29637:143::-;;;;;;;;;;;;;:::i;3366:118:5:-;;;;;;;;;;-1:-1:-1;3366:118:5;;;;;:::i;:::-;;:::i;31662:455:61:-;;;;;;;;;;-1:-1:-1;31662:455:61;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;28030:91::-;;;;;;;;;;;;;:::i;23031:211::-;;;;;;;;;;-1:-1:-1;23031:211:61;;;;;:::i;:::-;;:::i;3044:265:5:-;;;;;;;;;;-1:-1:-1;3044:265:5;;;;;:::i;:::-;;:::i;29239:157:61:-;;;;;;;;;;;;;:::i;15066:87::-;;;;;;;;;;-1:-1:-1;15066:87:61;;;;;:::i;:::-;;:::i;13193:73::-;;;;;;;;;;;;;:::i;32744:1490::-;;;;;;;;;;-1:-1:-1;32744:1490:61;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;30937:153::-;;;;;;;;;;-1:-1:-1;30937:153:61;;;;;:::i;:::-;;:::i;16122:731::-;;;;;;;;;;-1:-1:-1;16122:731:61;;;;;:::i;:::-;;:::i;27426:541::-;;;;;;;;;;-1:-1:-1;27426:541:61;;;;;:::i;:::-;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;3963:100:61:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3963:100:61;;30389:149;;;;;;;;;;-1:-1:-1;30389:149:61;;;;;:::i;:::-;;:::i;3756:150:5:-;;;;;;;;;;;;;:::i;26819:206:61:-;;;;;;;;;;-1:-1:-1;26819:206:61;;;;;:::i;:::-;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;5013:144:5;;;;;;;;;;-1:-1:-1;5013:144:5;;;;;:::i;:::-;;:::i;29862:151:61:-;;;;;;;;;;;;;:::i;23351:691::-;;;;;;;;;;-1:-1:-1;23351:691:61;;;;;:::i;:::-;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;20882:520:61;;;;;;;;;;-1:-1:-1;20882:520:61;;;;;:::i;:::-;;:::i;6337:208:5:-;;;;;;;;;;-1:-1:-1;6337:208:5;;;;;:::i;:::-;;:::i;11718:973:61:-;;;;;;;;;;-1:-1:-1;11718:973:61;;;;;:::i;:::-;;:::i;28619:312::-;;;;;;;;;;-1:-1:-1;28619:312:61;;;;;:::i;:::-;;:::i;27129:175::-;;;;;;;;;;-1:-1:-1;27129:175:61;;;;;:::i;:::-;;:::i;26479:187::-;;;;;;;;;;-1:-1:-1;26479:187:61;;;;;:::i;:::-;;:::i;3897:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3897:62:61;;5662:138:0;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;19781:418:61:-;;;;;;;;;;-1:-1:-1;19781:418:61;;;;;:::i;:::-;;:::i;32280:188::-;;;;;;;;;;-1:-1:-1;32280:188:61;;;;;:::i;:::-;;:::i;30676:161::-;;;;;;;;;;-1:-1:-1;30676:161:61;;;;;:::i;:::-;;:::i;3831:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3831:62:61;;5223:210:5;;;;;;;;;;-1:-1:-1;5223:210:5;;;;;:::i;:::-;;:::i;3761:66:61:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3761:66:61;;22453:451;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;22587:1:61::1;22578:5;:10;;22570:50;;;::::0;-1:-1:-1;;;22570:50:61;;15261:2:150;22570:50:61::1;::::0;::::1;15243:21:150::0;15300:2;15280:18;;;15273:30;-1:-1:-1;;;15319:18:150;;;15312:57;15386:18;;22570:50:61::1;;;;;;;;;22647:1;22634:9;:14;;;;22626:59;;;::::0;-1:-1:-1;;;22626:59:61;;15617:2:150;22626:59:61::1;::::0;::::1;15599:21:150::0;;;15636:18;;;15629:30;15695:34;15675:18;;;15668:62;15747:18;;22626:59:61::1;15415:356:150::0;22626:59:61::1;22692:29;22724:25;:23;:25::i;:::-;22692:57;;22773:1;:11;;;22764:5;:20;;22756:92;;;::::0;-1:-1:-1;;;22756:92:61;;15978:2:150;22756:92:61::1;::::0;::::1;15960:21:150::0;16017:2;15997:18;;;15990:30;16056:34;16036:18;;;16029:62;-1:-1:-1;;;16107:18:150;;;16100:57;16174:19;;22756:92:61::1;15776:423:150::0;22756:92:61::1;22855:36;::::0;;::::1;;::::0;;;:25:::1;::::0;;::::1;:36;::::0;-1:-1:-1;22855:36:61;;;;:44;22453:451::o;36084:219::-;36243:4;36262:36;36286:11;36262:23;:36::i;:::-;36255:43;36084:219;-1:-1:-1;;36084:219:61:o;3546:146:5:-;3591:13;3616:23;3642:19;:17;:19::i;:::-;3616:45;;3678:1;:7;;3671:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3546:146;:::o;4792:154::-;4859:7;4878:22;4892:7;4878:13;:22::i;:::-;;4918:21;4931:7;4918:12;:21::i;4618:113::-;4689:35;4698:2;4702:7;966:10:11;4689:8:5;:35::i;:::-;4618:113;;:::o;3048:179:7:-;3100:7;3119:33;3155:29;:27;:29::i;:::-;3201:12;;:19;;3048:179;-1:-1:-1;;3048:179:7:o;5495:578:5:-;-1:-1:-1;;;;;5589:16:5;;5585:87;;5658:1;5628:33;;-1:-1:-1;;;5628:33:5;;;;;;;;:::i;5585:87::-;5890:21;5914:34;5922:2;5926:7;966:10:11;5914:7:5;:34::i;:::-;5890:58;;5979:4;-1:-1:-1;;;;;5962:21:5;:13;-1:-1:-1;;;;;5962:21:5;;5958:109;;6006:50;;-1:-1:-1;;;6006:50:5;;-1:-1:-1;;;;;16847:15:150;;;6006:50:5;;;16829:34:150;16879:18;;;16872:34;;;16942:15;;16922:18;;;16915:43;16764:18;;6006:50:5;16589:375:150;5958:109:5;5575:498;5495:578;;;:::o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;28232:197:61:-;28309:7;28324:29;28356:25;:23;:25::i;:::-;28394:30;;;;:23;;:30;;-1:-1:-1;;28394:30:61;;;;;28232:197::o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;2645:332:7:-:0;2733:7;2752:33;2788:29;:27;:29::i;:::-;2752:65;;2840:16;2850:5;2840:9;:16::i;:::-;2831:5;:25;2827:99;;2902:5;2909;2879:36;;-1:-1:-1;;;2879:36:7;;;;;;;;;:::i;2827:99::-;-1:-1:-1;;;;;2942:21:7;;:14;:21;;;;;;;;;;;:28;;;;;;;;;-1:-1:-1;2645:332:7;;;;:::o;18247:648:61:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;18333:29:61::1;18365:25;:23;:25::i;:::-;18333:57;;18413:1;:11;;;18405:5;:19;18397:99;;;::::0;-1:-1:-1;;;18397:99:61;;17450:2:150;18397:99:61::1;::::0;::::1;17432:21:150::0;17489:2;17469:18;;;17462:30;-1:-1:-1;;;;;;;;;;;17508:18:150;;;17501:62;17599:34;17579:18;;;17572:62;-1:-1:-1;;;17650:19:150;;;17643:34;17694:19;;18397:99:61::1;17248:471:150::0;18397:99:61::1;18569:1;18552:232;18577:5;18572:1;:10;18552:232;;18634:1;18605:26:::0;;;:23:::1;::::0;::::1;:26;::::0;;;;;18597:109:::1;;;::::0;-1:-1:-1;;;18597:109:61;;17926:2:150;18597:109:61::1;::::0;::::1;17908:21:150::0;17965:2;17945:18;;;17938:30;-1:-1:-1;;;;;;;;;;;17984:18:150;;;17977:62;18075:34;18055:18;;;18048:62;-1:-1:-1;;;18126:19:150;;;18119:33;18169:19;;18597:109:61::1;17724:470:150::0;18597:109:61::1;18584:3:::0;::::1;::::0;::::1;:::i;:::-;;;;18552:232;;;-1:-1:-1::0;18809:11:61::1;::::0;::::1;::::0;;18827:19;;;;18858:32:::1;::::0;;18645:25:150;;;18701:2;18686:18;;18679:34;;;18858:32:61::1;::::0;18618:18:150;18858:32:61::1;;;;;;;18327:568;;18247:648:::0;;:::o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;19104:502:61:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;19253:35:61;::::1;19245:111;;;::::0;-1:-1:-1;;;19245:111:61;;18926:2:150;19245:111:61::1;::::0;::::1;18908:21:150::0;18965:2;18945:18;;;18938:30;19004:34;18984:18;;;18977:62;19075:33;19055:18;;;19048:61;19126:19;;19245:111:61::1;18724:427:150::0;19245:111:61::1;19362:29;19394:25;:23;:25::i;:::-;19497:22:::0;;19431:90:::1;::::0;19362:57;;-1:-1:-1;;;;;;19497:22:61;;::::1;::::0;19431:90;;::::1;::::0;::::1;::::0;19497:22:::1;::::0;19431:90:::1;19527:74:::0;;-1:-1:-1;;;;;;19527:74:61::1;-1:-1:-1::0;;;;;19527:74:61;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;19104:502:61:o;13364:77::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;13426:10:61::1;:8;:10::i;:::-;13364:77:::0;:::o;26128:240::-;26197:5;26210:29;26242:25;:23;:25::i;:::-;26306:14;;;;:34;;-1:-1:-1;;;26306:34:61;;;;;2917:25:150;;;26306:14:61;;-1:-1:-1;26277:15:61;;26306:14;;;;-1:-1:-1;;;;;26306:14:61;;:26;;2890:18:150;;26306:34:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;26274:66:61;;26128:240;-1:-1:-1;;;;;;;;;26128:240:61:o;6139:132:5:-;6225:39;6242:4;6248:2;6252:7;6225:39;;;;;;;;;;;;:16;:39::i;15808:213:61:-;15924:10;15904:16;15912:7;15904;:16::i;:::-;-1:-1:-1;;;;;15904:30:61;;15896:94;;;;-1:-1:-1;;;15896:94:61;;;;;;;:::i;:::-;15997:19;16008:7;15997:10;:19::i;14032:912::-;3251:21:13;:19;:21::i;:::-;2316:19:12::1;:17;:19::i;:::-;14142:10:61::2;14122:16;14130:7:::0;14122::::2;:16::i;:::-;-1:-1:-1::0;;;;;14122:30:61::2;;14114:94;;;::::0;-1:-1:-1;;;14114:94:61;;20853:2:150;14114:94:61::2;::::0;::::2;20835:21:150::0;20892:2;20872:18;;;20865:30;20931:34;20911:18;;;20904:62;-1:-1:-1;;;20982:18:150;;;20975:49;21041:19;;14114:94:61::2;20651:415:150::0;14114:94:61::2;14214:29;14246:25;:23;:25::i;:::-;14214:57;;14278:20;14301:16;14309:7;14301;:16::i;:::-;14278:39;;14347:11;:9;:11::i;:::-;14332:12;:26;14324:83;;;::::0;-1:-1:-1;;;14324:83:61;;21273:2:150;14324:83:61::2;::::0;::::2;21255:21:150::0;21312:2;21292:18;;;21285:30;21351:34;21331:18;;;21324:62;-1:-1:-1;;;21402:18:150;;;21395:42;21454:19;;14324:83:61::2;21071:408:150::0;14324:83:61::2;14414:20;14437:25;14454:7;14437:16;:25::i;:::-;14477:6;::::0;::::2;::::0;:28:::2;::::0;-1:-1:-1;;;14477:28:61;;14414:48;;-1:-1:-1;14414:48:61;;-1:-1:-1;;;;;14477:6:61;;::::2;::::0;:16:::2;::::0;:28:::2;::::0;14494:10:::2;::::0;14477:28:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;14469:103;;;::::0;-1:-1:-1;;;14469:103:61;;21875:2:150;14469:103:61::2;::::0;::::2;21857:21:150::0;21914:2;21894:18;;;21887:30;21953:34;21933:18;;;21926:62;-1:-1:-1;;;22004:18:150;;;21997:44;22058:19;;14469:103:61::2;21673:410:150::0;14469:103:61::2;14594:6;::::0;::::2;::::0;:43:::2;::::0;-1:-1:-1;;;14594:43:61;;14611:10:::2;14594:43;::::0;::::2;22300:34:150::0;14631:4:61::2;22350:18:150::0;;;22343:43;14641:12:61;;-1:-1:-1;;;;;14594:6:61::2;::::0;:16:::2;::::0;22235:18:150;;14594:43:61::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;14579:138;;;::::0;-1:-1:-1;;;14579:138:61;;22599:2:150;14579:138:61::2;::::0;::::2;22581:21:150::0;22638:2;22618:18;;;22611:30;22677:34;22657:18;;;22650:62;-1:-1:-1;;;22728:18:150;;;22721:46;22784:19;;14579:138:61::2;22397:412:150::0;14579:138:61::2;14724:32;::::0;;;:23:::2;::::0;::::2;:32;::::0;;;;:48;;14760:12;;14724:32;:48:::2;::::0;14760:12;;14724:48:::2;:::i;:::-;::::0;;;-1:-1:-1;;14787:6:61::2;::::0;::::2;::::0;14819:10:::2;::::0;::::2;::::0;14787:57:::2;::::0;-1:-1:-1;;;14787:57:61;;14807:10:::2;14787:57;::::0;::::2;23184:34:150::0;-1:-1:-1;;;;;14819:10:61;;::::2;23234:18:150::0;;;23227:43;23286:18;;;23279:34;;;14787:6:61;::::2;::::0;:19:::2;::::0;23119:18:150;;14787:57:61::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14779:99;;;::::0;-1:-1:-1;;;14779:99:61;;23776:2:150;14779:99:61::2;::::0;::::2;23758:21:150::0;23815:2;23795:18;;;23788:30;23854:31;23834:18;;;23827:59;23903:18;;14779:99:61::2;23574:353:150::0;14779:99:61::2;14899:7;14890:49;14908:12;14922:16;14930:7;14922;:16::i;:::-;14890:49;::::0;;18645:25:150;;;18701:2;18686:18;;18679:34;;;;18618:18;14890:49:61::2;;;;;;;14108:836;;;3293:20:13::0;:18;:20::i;16857:779:61:-;2316:19:12;:17;:19::i;:::-;16950:29:61::1;16982:25;:23;:25::i;:::-;16950:57:::0;-1:-1:-1;17049:10:61::1;17029:16;17037:7:::0;17029::::1;:16::i;:::-;-1:-1:-1::0;;;;;17029:30:61::1;;:100;;;-1:-1:-1::0;17071:16:61::1;::::0;::::1;::::0;:44:::1;::::0;-1:-1:-1;;;17071:44:61;;::::1;::::0;::::1;2917:25:150::0;;;17119:10:61::1;::::0;-1:-1:-1;;;;;17071:16:61::1;::::0;:31:::1;::::0;2890:18:150;;17071:44:61::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17071:58:61::1;;17029:100;:163;;;-1:-1:-1::0;17141:14:61::1;::::0;::::1;::::0;:37:::1;::::0;-1:-1:-1;;;17141:37:61;;::::1;::::0;::::1;2917:25:150::0;;;17182:10:61::1;::::0;17141:14:::1;::::0;::::1;-1:-1:-1::0;;;;;17141:14:61::1;::::0;:24:::1;::::0;2890:18:150;;17141:37:61::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17141:51:61::1;;17029:163;17014:280;;;::::0;-1:-1:-1;;;17014:280:61;;24390:2:150;17014:280:61::1;::::0;::::1;24372:21:150::0;24429:2;24409:18;;;24402:30;-1:-1:-1;;;;;;;;;;;24448:18:150;;;24441:62;24539:34;24519:18;;;24512:62;-1:-1:-1;;;24590:19:150;;;24583:53;24653:19;;17014:280:61::1;24188:490:150::0;17014:280:61::1;17344:7;17308:32;17328:11;17308:19;:32::i;:::-;:43;17300:100;;;::::0;-1:-1:-1;;;17300:100:61;;24885:2:150;17300:100:61::1;::::0;::::1;24867:21:150::0;24924:2;24904:18;;;24897:30;24963:34;24943:18;;;24936:62;-1:-1:-1;;;25014:18:150;;;25007:42;25066:19;;17300:100:61::1;24683:408:150::0;17300:100:61::1;17444:11;17414:26;17432:7;17414:17;:26::i;:::-;:41;17406:98;;;::::0;-1:-1:-1;;;17406:98:61;;25298:2:150;17406:98:61::1;::::0;::::1;25280:21:150::0;25337:2;25317:18;;;25310:30;25376:34;25356:18;;;25349:62;-1:-1:-1;;;25427:18:150;;;25420:42;25479:19;;17406:98:61::1;25096:408:150::0;17406:98:61::1;17518:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;17511:36;;;17560:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;17553:32;;;17597:34;17577:7;;17535:11;;17597:34:::1;::::0;17518:29;17597:34:::1;16944:692;16857:779:::0;;:::o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;3299:303:7:-:0;3365:7;3384:33;3420:29;:27;:29::i;:::-;3384:65;;3472:13;:11;:13::i;:::-;3463:5;:22;3459:101;;3539:1;3543:5;3508:41;;-1:-1:-1;;;3508:41:7;;;;;;;;;:::i;3459:101::-;3576:1;:12;;3589:5;3576:19;;;;;;;;:::i;:::-;;;;;;;;;3569:26;;;3299:303;;;:::o;30131:149:61:-;30205:7;30227:25;:23;:25::i;:::-;:48;;;;:40;;:48;;-1:-1:-1;30227:48:61;;;;;30131:149::o;3705:134:3:-;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;20354:336:61:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;20489:1:61::1;20466:12;20460:26;:30;20452:78;;;;-1:-1:-1::0;;;20452:78:61::1;;;;;;;:::i;:::-;20536:29;20568:25;:23;:25::i;:::-;20536:57;;20633:1;:15;;20604:45;;;;;;:::i;:::-;;;;;;;;20619:12;20604:45;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;20655:15;::::0;::::1;:30;20673:12:::0;20655:15;:30:::1;:::i;29451:133::-:0;29490:5;29503:29;29535:25;:23;:25::i;:::-;29573:6;;;-1:-1:-1;;;;;29573:6:61;;29451:133;-1:-1:-1;;29451:133:61:o;21547:241::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;21646:29:61::1;21678:25;:23;:25::i;:::-;21646:57;;21714:29;21734:8;21714:29;;;;1000:14:150::0;993:22;975:41;;963:2;948:18;;835:187;21714:29:61::1;;;;;;;;21749:23;;:34:::0;;-1:-1:-1;;21749:34:61::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;21547:241:61:o;13624:203::-;8263:29;8295:25;:23;:25::i;:::-;8335:23;;;;8263:57;;-1:-1:-1;8335:23:61;;8334:24;8326:76;;;;-1:-1:-1;;;8326:76:61;;29592:2:150;8326:76:61;;;29574:21:150;29631:2;29611:18;;;29604:30;29670:34;29650:18;;;29643:62;-1:-1:-1;;;29721:18:150;;;29714:37;29768:19;;8326:76:61;29390:403:150;8326:76:61;13700:36:::1;13725:10;13700:24;:36::i;:::-;13692:103;;;::::0;-1:-1:-1;;;13692:103:61;;30000:2:150;13692:103:61::1;::::0;::::1;29982:21:150::0;30039:2;30019:18;;;30012:30;30078:34;30058:18;;;30051:62;-1:-1:-1;;;30129:18:150;;;30122:52;30191:19;;13692:103:61::1;29798:418:150::0;13692:103:61::1;13802:20;13811:10;13802:8;:20::i;2692:145:12:-:0;2739:4;2755:25;2783:21;:19;:21::i;:::-;2821:9;;;;2692:145;-1:-1:-1;;2692:145:12:o;28996:186:61:-;29051:26;29085:29;29117:25;:23;:25::i;:::-;29155:22;-1:-1:-1;;;;;29155:22:61;;28996:186;-1:-1:-1;;28996:186:61:o;9832:1688::-;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;9935:1:61::1;9919:4;:13;;;:17;9911:77;;;::::0;-1:-1:-1;;;9911:77:61;;30423:2:150;9911:77:61::1;::::0;::::1;30405:21:150::0;30462:2;30442:18;;;30435:30;-1:-1:-1;;;;;;;;;;;30481:18:150;;;30474:62;-1:-1:-1;;;30552:18:150;;;30545:45;30607:19;;9911:77:61::1;30221:411:150::0;9911:77:61::1;10036:1;10008:4;:17;;;10002:31;:35;9994:83;;;;-1:-1:-1::0;;;9994:83:61::1;;;;;;;:::i;:::-;10091:9;::::0;::::1;::::0;-1:-1:-1;;;;;10091:23:61::1;10083:96;;;::::0;-1:-1:-1;;;10083:96:61;;30839:2:150;10083:96:61::1;::::0;::::1;30821:21:150::0;30878:2;30858:18;;;30851:30;30917:34;30897:18;;;30890:62;-1:-1:-1;;;30968:18:150;;;30961:58;31036:19;;10083:96:61::1;30637:424:150::0;10083:96:61::1;10193:13;::::0;::::1;::::0;-1:-1:-1;;;;;10193:27:61::1;10185:98;;;::::0;-1:-1:-1;;;10185:98:61;;31268:2:150;10185:98:61::1;::::0;::::1;31250:21:150::0;31307:2;31287:18;;;31280:30;31346:34;31326:18;;;31319:62;-1:-1:-1;;;31397:18:150;;;31390:56;31463:19;;10185:98:61::1;31066:422:150::0;10185:98:61::1;10356:1;10340:4;:13;;;:17;;;;:::i;:::-;10304:4;:25;;;:32;:53;;10289:150;;;::::0;-1:-1:-1;;;10289:150:61;;31828:2:150;10289:150:61::1;::::0;::::1;31810:21:150::0;31867:2;31847:18;;;31840:30;-1:-1:-1;;;;;;;;;;;31886:18:150;;;31879:62;31977:34;31957:18;;;31950:62;-1:-1:-1;;;32028:19:150;;;32021:33;32071:19;;10289:150:61::1;31626:470:150::0;10289:150:61::1;10446:37;10460:4;:9;;;10471:4;:11;;;10446:13;:37::i;:::-;10489:25;:23;:25::i;:::-;10520:23;:21;:23::i;:::-;10549;:21;:23::i;:::-;10578:22;:20;:22::i;:::-;10606:24;:22;:24::i;:::-;10636;:22;:24::i;:::-;10667:29;10699:25;:23;:25::i;:::-;10667:57;;10749:4;:17;;;10731:1;:15;;:35;;;;;;:::i;:::-;;10778:9;10773:290;10797:4;:25;;;:32;10793:1;:36;10773:290;;;10883:1;10852:4;:25;;;10878:1;10852:28;;;;;;;;:::i;:::-;;;;;;;:32;10844:98;;;;-1:-1:-1::0;;;10844:98:61::1;;;;;;;:::i;:::-;10983:4;:25;;;11009:1;10983:28;;;;;;;;:::i;:::-;;;;;;;10950:1;:23;;:30;10974:1;10978;10974:5;;;;:::i;:::-;10950:30:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10950:30:61;:61;10831:3;::::1;::::0;::::1;:::i;:::-;;;;10773:290;;;-1:-1:-1::0;11083:13:61::1;::::0;::::1;::::0;11069:11:::1;::::0;::::1;:27:::0;11118:9:::1;::::0;::::1;::::0;11103:6:::1;::::0;::::1;:25:::0;;-1:-1:-1;;;;;;11103:25:61;;::::1;-1:-1:-1::0;;;;;11103:25:61;;::::1;;::::0;;;11147:13:::1;::::0;::::1;::::0;11134:10:::1;::::0;::::1;:26:::0;;;;::::1;::::0;;::::1;;::::0;;11175:10:::1;::::0;::::1;::::0;:24:::1;11167:92;;;::::0;-1:-1:-1;;;11167:92:61;;32725:2:150;11167:92:61::1;::::0;::::1;32707:21:150::0;32764:2;32744:18;;;32737:30;32803:34;32783:18;;;32776:62;-1:-1:-1;;;32854:18:150;;;32847:53;32917:19;;11167:92:61::1;32523:419:150::0;11167:92:61::1;11265:42;2362:4:0;11276:18:61::0;::::1;11296:4;:10;;;11265;:42::i;:::-;;11313:40;-1:-1:-1::0;;;;;;;;;;;11339:4:61::1;:13;;;11313:10;:40::i;:::-;;11359:36;-1:-1:-1::0;;;;;;;;;;;11383:4:61::1;:11;;;11359:10;:36::i;:::-;;11401;-1:-1:-1::0;;;;;;;;;;;11425:4:61::1;:11;;;11401:10;:36::i;:::-;;11443:72;-1:-1:-1::0;;;;;;;;;;;11486:4:61::1;:28;;;11443:10;:72::i;:::-;;9905:1615;5070:14:2::0;5066:101;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;;;;;;;;;;;5142:14:2;;;5100:23;;5142:14;:::i;:::-;;;;;;;;5066:101;4092:1081;;;;;9832:1688:61;:::o;21904:311::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;22010:27:61;::::1;22002:94;;;;-1:-1:-1::0;;;22002:94:61::1;;;;;;;:::i;:::-;22102:29;22134:25;:23;:25::i;:::-;22165:14;;:45:::0;;-1:-1:-1;;;;;22165:45:61;;::::1;;;-1:-1:-1::0;;;;;;22165:45:61;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;21904:311:61:o;29637:143::-;29680:7;29695:29;29727:25;:23;:25::i;:::-;29765:10;;;-1:-1:-1;;;;;29765:10:61;;29637:143;-1:-1:-1;;29637:143:61:o;3366:118:5:-;3429:7;3455:22;3469:7;3455:13;:22::i;31662:455:61:-;31739:16;;:::i;:::-;31836:1;31807:17;31816:7;31807:8;:17::i;:::-;-1:-1:-1;;;;;31807:31:61;;31799:79;;;;-1:-1:-1;;;31799:79:61;;33786:2:150;31799:79:61;;;33768:21:150;33825:2;33805:18;;;33798:30;33864:34;33844:18;;;33837:62;-1:-1:-1;;;33915:18:150;;;33908:33;33958:19;;31799:79:61;33584:399:150;31799:79:61;31885:26;;:::i;:::-;31917:27;;;31971:17;31937:7;31971:8;:17::i;:::-;31950:18;;;:38;32017:16;32025:7;32017;:16::i;:::-;31994:20;;;:39;32065:25;32082:7;32065:16;:25::i;:::-;32039:23;;;:51;:9;31662:455;-1:-1:-1;;31662:455:61:o;28030:91::-;28078:13;28106:10;:8;:10::i;:::-;28099:17;;28030:91;:::o;23031:211::-;23094:7;23109:14;23126:26;23144:7;23126:17;:26::i;:::-;23109:43;;23160:13;23179:39;23202:7;23211:6;23179:22;:39::i;:::-;-1:-1:-1;23159:59:61;23031:211;-1:-1:-1;;;;23031:211:61:o;3044:265:5:-;3107:7;3126:23;3152:19;:17;:19::i;:::-;3126:45;-1:-1:-1;;;;;;3185:19:5;;3181:87;;3254:1;3227:30;;-1:-1:-1;;;3227:30:5;;;;;;;;:::i;3181:87::-;-1:-1:-1;;;;;3284:18:5;;;;;;;:11;;;;:18;;-1:-1:-1;3284:18:5;;;;;3044:265::o;29239:157:61:-;29286:13;29307:29;29339:25;:23;:25::i;:::-;29377:14;;;-1:-1:-1;;;;;29377:14:61;;29239:157;-1:-1:-1;;29239:157:61:o;15066:87::-;15120:28;15128:10;15140:7;15120;:28::i;13193:73::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;13253:8:61::1;:6;:8::i;32744:1490::-:0;32838:18;32896:4;32904:1;32896:9;32892:79;;32915:49;;-1:-1:-1;;;32915:49:61;;34190:2:150;32915:49:61;;;34172:21:150;34229:2;34209:18;;;34202:30;-1:-1:-1;;;;;;;;;;;34248:18:150;;;34241:62;-1:-1:-1;;;34319:18:150;;;34312:37;34366:19;;32915:49:61;33988:403:150;32892:79:61;33057:3;33136:26;;;33132:209;;;33278:37;33295:19;33278:16;:37::i;:::-;33206:110;;;;;;;;:::i;:::-;;;;-1:-1:-1;;33206:110:61;;;;;;;;;;-1:-1:-1;;;33172:162:61;;;;;;;:::i;33132:209::-;33347:15;33365:16;33375:5;33365:9;:16::i;:::-;33347:34;-1:-1:-1;33494:13:61;33510:11;33517:4;33510;:11;:::i;:::-;33494:27;;33622:7;33613:5;:16;33609:62;;33646:18;;;33662:1;33646:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;33639:25;;;;;;;33609:62;33720:11;33734:12;33742:4;33734:5;:12;:::i;:::-;33720:26;;33762:7;33756:3;:13;33752:106;;;-1:-1:-1;33785:7:61;33752:106;33912:17;33932:11;33938:5;33932:3;:11;:::i;:::-;33912:31;;33950:25;33994:9;-1:-1:-1;;;;;33978:26:61;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;33950:54;;34016:9;34011:199;34035:9;34031:1;:13;34011:199;;;34059:18;34080:9;34088:1;34080:5;:9;:::i;:::-;34059:30;;34097:15;34115:38;34135:5;34142:10;34115:19;:38::i;:::-;34097:56;;34173:30;34195:7;34173:21;:30::i;:::-;34161:6;34168:1;34161:9;;;;;;;;:::i;:::-;;;;;;:42;;;;34051:159;;34046:3;;;;;:::i;:::-;;;;34011:199;;;-1:-1:-1;34223:6:61;-1:-1:-1;;;;;;32744:1490:61;;;;;;:::o;30937:153::-;31007:7;31029:25;:23;:25::i;:::-;:56;;;;:47;;:56;;-1:-1:-1;31029:56:61;;;;;30937:153::o;16122:731::-;2316:19:12;:17;:19::i;:::-;16215:29:61::1;16247:25;:23;:25::i;:::-;16215:57:::0;-1:-1:-1;16307:10:61::1;16287:16;16295:7:::0;16287::::1;:16::i;:::-;-1:-1:-1::0;;;;;16287:30:61::1;;16279:82;;;::::0;-1:-1:-1;;;16279:82:61;;35290:2:150;16279:82:61::1;::::0;::::1;35272:21:150::0;35329:2;35309:18;;;35302:30;35368:34;35348:18;;;35341:62;-1:-1:-1;;;35419:18:150;;;35412:37;35466:19;;16279:82:61::1;35088:403:150::0;16279:82:61::1;16382:16;::::0;::::1;::::0;:44:::1;::::0;-1:-1:-1;;;16382:44:61;;::::1;::::0;::::1;2917:25:150::0;;;16430:10:61::1;::::0;-1:-1:-1;;;;;16382:16:61::1;::::0;:31:::1;::::0;2890:18:150;;16382:44:61::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16382:58:61::1;;16367:146;;;::::0;-1:-1:-1;;;16367:146:61;;35698:2:150;16367:146:61::1;::::0;::::1;35680:21:150::0;35737:2;35717:18;;;35710:30;-1:-1:-1;;;;;;;;;;;35756:18:150;;;35749:62;-1:-1:-1;;;35827:18:150;;;35820:55;35892:19;;16367:146:61::1;35496:421:150::0;16367:146:61::1;16527:32;16547:11;16527:19;:32::i;:::-;:37:::0;16519:96:::1;;;::::0;-1:-1:-1;;;16519:96:61;;36124:2:150;16519:96:61::1;::::0;::::1;36106:21:150::0;36163:2;36143:18;;;36136:30;36202:34;36182:18;;;36175:62;-1:-1:-1;;;36253:18:150;;;36246:44;36307:19;;16519:96:61::1;35922:410:150::0;16519:96:61::1;16629:26;16647:7;16629:17;:26::i;:::-;:31:::0;16621:90:::1;;;::::0;-1:-1:-1;;;16621:90:61;;36539:2:150;16621:90:61::1;::::0;::::1;36521:21:150::0;36578:2;36558:18;;;36551:30;36617:34;36597:18;;;36590:62;-1:-1:-1;;;36668:18:150;;;36661:44;36722:19;;16621:90:61::1;36337:410:150::0;16621:90:61::1;16718:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;:39;;;16763:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;:39;;;16814:34;16750:7;;16735:11;;16814:34:::1;::::0;16718:29;16814:34:::1;16209:644;16122:731:::0;;:::o;27426:541::-;27503:4;27515:29;27547:25;:23;:25::i;:::-;27593:22;;27515:57;;-1:-1:-1;;;;;;27593:22:61;27578:143;;;;-1:-1:-1;;;27578:143:61;;36954:2:150;27578:143:61;;;36936:21:150;36993:2;36973:18;;;36966:30;37032:34;37012:18;;;37005:62;-1:-1:-1;;;37083:18:150;;;37076:46;37139:19;;27578:143:61;36752:412:150;27578:143:61;27735:14;;;;-1:-1:-1;;;;;27735:14:61;27727:100;;;;-1:-1:-1;;;27727:100:61;;37371:2:150;27727:100:61;;;37353:21:150;37410:2;37390:18;;;37383:30;37449:34;37429:18;;;37422:62;-1:-1:-1;;;37500:18:150;;;37493:33;37543:19;;27727:100:61;37169:399:150;27727:100:61;27838:22;;:41;;-1:-1:-1;;;27838:41:61;;-1:-1:-1;;;;;27838:22:61;;;;:35;;:41;;27874:4;;27838:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;-1:-1:-1;27883:14:61;;;;:33;;-1:-1:-1;;;27883:33:61;;-1:-1:-1;;;;;27883:14:61;;;;:27;;:33;;27911:4;;27883:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27834:110;;;-1:-1:-1;27933:4:61;;27426:541;-1:-1:-1;;27426:541:61:o;27834:110::-;-1:-1:-1;27957:5:61;;27426:541;-1:-1:-1;;27426:541:61:o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;30389:149:61:-;30462:7;30484:25;:23;:25::i;:::-;:49;;;;:40;;:49;;-1:-1:-1;30484:49:61;;;;;30389:149::o;3756:150:5:-;3803:13;3828:23;3854:19;:17;:19::i;:::-;3828:45;;3890:1;:9;;3883:16;;;;;:::i;26819:206:61:-;26922:7;26938:13;26957:44;26980:7;26989:11;26957:22;:44::i;5013:144:5:-;5098:52;966:10:11;5131:8:5;5141;5098:18;:52::i;29862:151:61:-;29912:7;29927:29;29959:25;:23;:25::i;:::-;29997:11;;;;29862:151;-1:-1:-1;;29862:151:61:o;23351:691::-;23423:7;;23442:17;23451:7;23442:8;:17::i;:::-;-1:-1:-1;;;;;23442:31:61;;23438:45;;-1:-1:-1;23482:1:61;;23351:691;-1:-1:-1;23351:691:61:o;23438:45::-;23490:14;23507:26;23525:7;23507:17;:26::i;:::-;23490:43;;23612:20;23634:23;23661:39;23684:7;23693:6;23661:22;:39::i;:::-;23611:89;;;;23782:11;:9;:11::i;:::-;23766:12;:27;23762:56;;-1:-1:-1;23810:1:61;;23351:691;-1:-1:-1;;;;23351:691:61:o;23762:56::-;24022:15;23978:41;24002:16;:12;24017:1;24002:16;:::i;23978:41::-;:59;;;;:::i;:::-;23971:66;23351:691;-1:-1:-1;;;;;23351:691:61:o;20882:520::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;21004:29:61::1;21036:25;:23;:25::i;:::-;21004:57;;21072:9;21067:271;21087:20;:27;21083:1;:31;21067:271;;;21163:1;21137:20;21158:1;21137:23;;;;;;;;:::i;:::-;;;;;;;:27;21129:93;;;;-1:-1:-1::0;;;21129:93:61::1;;;;;;;:::i;:::-;21263:20;21284:1;21263:23;;;;;;;;:::i;:::-;;;;;;;21230:1;:23;;:30;21254:1;21258;21254:5;;;;:::i;:::-;21230:30:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;21230:30:61;:56;21116:3;::::1;::::0;::::1;:::i;:::-;;;;21067:271;;;;21376:20;21348:49;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;20998:404;20882:520:::0;;:::o;6337:208:5:-;6450:31;6463:4;6469:2;6473:7;6450:12;:31::i;:::-;6491:47;6514:4;6520:2;6524:7;6533:4;6491:22;:47::i;11718:973:61:-;11887:1;6357:30:2;6390:26;:24;:26::i;:::-;6431:15;;;;-1:-1:-1;;;;6431:15:2;;;;;:44;;-1:-1:-1;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;;:14;;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1;;;6498:23:2;;;;;;;;;;;6427:105;6541:24;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;;6575:22;-1:-1:-1;;;6575:22:2;;;11904::61;;6575:15:2;11904:27:61::1;11896:96;;;::::0;-1:-1:-1;;;11896:96:61;;38323:2:150;11896:96:61::1;::::0;::::1;38305:21:150::0;38362:2;38342:18;;;38335:30;-1:-1:-1;;;;;;;;;;;38381:18:150;;;38374:62;-1:-1:-1;;;38452:18:150;;;38445:54;38516:19;;11896:96:61::1;38121:420:150::0;11896:96:61::1;-1:-1:-1::0;;;;;12006:27:61;::::1;11998:94;;;;-1:-1:-1::0;;;11998:94:61::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12106:30:61;::::1;12098:100;;;::::0;-1:-1:-1;;;12098:100:61;;38748:2:150;12098:100:61::1;::::0;::::1;38730:21:150::0;38787:2;38767:18;;;38760:30;38826:34;38806:18;;;38799:62;-1:-1:-1;;;38877:18:150;;;38870:55;38942:19;;12098:100:61::1;38546:421:150::0;12098:100:61::1;12205:29;12237:25;:23;:25::i;:::-;12269:14;::::0;::::1;:45:::0;;-1:-1:-1;;;;;;12269:45:61::1;;-1:-1:-1::0;;;;;12269:45:61;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;12320:16:::1;::::0;::::1;:54:::0;;-1:-1:-1;;;;;;12320:54:61::1;::::0;;::::1;::::0;;;::::1;::::0;;12398:14:::1;::::0;::::1;::::0;12269;;-1:-1:-1;12398:19:61;:40:::1;;12424:1;:14;;;12398:40;;;12420:1;12398:40;12381:14;::::0;::::1;:57:::0;12450:7:::1;12445:192;12463:15;:22;12459:1;:26;;;12445:192;;;12530:1;12508:15;12524:1;12508:18;;;;;;;;;;:::i;:::-;;;;;;;:23;;12500:73;;;::::0;-1:-1:-1;;;12500:73:61;;39174:2:150;12500:73:61::1;::::0;::::1;39156:21:150::0;39213:2;39193:18;;;39186:30;-1:-1:-1;;;;;;;;;;;39232:18:150;;;39225:62;-1:-1:-1;;;39303:18:150;;;39296:35;39348:19;;12500:73:61::1;38972:401:150::0;12500:73:61::1;12612:15;12628:1;12612:18;;;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;12581:28:::1;::::0;::::1;;::::0;;;:25:::1;::::0;::::1;:28:::0;;;;;;;:49;12607:1;12487:3:::1;12607:1:::0;12487:3:::1;:::i;:::-;;;;12445:192;;;;12643:43;-1:-1:-1::0;;;;;;;;;;;12674:11:61::1;12643:10;:43::i;:::-;-1:-1:-1::0;;6618:23:2;;-1:-1:-1;;;;6618:23:2;;;6656:20;;-1:-1:-1;;;;;;;;;;;6656:20:2;;;6668:7;;6656:20;:::i;28619:312:61:-;28711:13;28765:1;28736:17;28745:7;28736:8;:17::i;:::-;-1:-1:-1;;;;;28736:31:61;;28732:46;;-1:-1:-1;;28769:9:61;;;;;;;;;-1:-1:-1;28769:9:61;;;28619:312::o;28732:46::-;28785:20;28808:16;28816:7;28808;:16::i;:::-;28785:39;;28852:1;28837:12;:16;:89;;;;;;;;;;;;;;;;;28870:9;:7;:9::i;:::-;28881:30;28898:12;28881:16;:30::i;:::-;28856:65;;;;;;;;;:::i;:::-;;;;;;;;;;;;;28830:96;28619:312;-1:-1:-1;;;28619:312:61:o;27129:175::-;27211:7;27227:13;27246:34;27269:7;27278:1;27246:22;:34::i;:::-;-1:-1:-1;27226:54:61;27129:175;-1:-1:-1;;;27129:175:61:o;26479:187::-;26551:7;26566:29;26598:25;:23;:25::i;:::-;-1:-1:-1;;;;;26636:25:61;;;;;;;:18;;;;:25;;-1:-1:-1;;26636:25:61;;;;;26479:187::o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;19781:418:61:-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;19906:27:61;::::1;19898:95;;;::::0;-1:-1:-1;;;19898:95:61;;40622:2:150;19898:95:61::1;::::0;::::1;40604:21:150::0;40661:2;40641:18;;;40634:30;40700:34;40680:18;;;40673:62;-1:-1:-1;;;40751:18:150;;;40744:53;40814:19;;19898:95:61::1;40420:419:150::0;19898:95:61::1;19999:29;20031:25;:23;:25::i;:::-;20118:14;::::0;::::1;::::0;20068:66:::1;::::0;19999:57;;-1:-1:-1;;;;;;20118:14:61;;::::1;::::0;20068:66;;::::1;::::0;::::1;::::0;20118:14:::1;::::0;20068:66:::1;20140:14;;:54:::0;;-1:-1:-1;;;;;;20140:54:61::1;-1:-1:-1::0;;;;;20140:54:61;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;19781:418:61:o;32280:188::-;32353:16;;:::i;:::-;32377:15;32395:25;32414:5;32395:18;:25::i;:::-;32377:43;;32433:30;32455:7;32433:21;:30::i;30676:161::-;30750:7;30772:25;:23;:25::i;:::-;:60;;;;;;;;:49;;;;;:60;;-1:-1:-1;30772:60:61;;;;;30676:161::o;5223:210:5:-;5311:4;5327:23;5353:19;:17;:19::i;:::-;-1:-1:-1;;;;;5389:27:5;;;;;;;:20;;;;;:27;;;;;;;;:37;;;;;;;;;;-1:-1:-1;;5389:37:5;;;;;5223:210::o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;6645:158:61:-;6766:27;;6645:158::o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;;3602:36;3626:11;3602:23;:36::i;1958:156:5:-;2077:21;;1958:156::o;17836:241::-;17899:7;17918:13;17934:17;17943:7;17934:8;:17::i;:::-;17918:33;-1:-1:-1;;;;;;17965:19:5;;17961:88;;18007:31;;-1:-1:-1;;;18007:31:5;;;;;2917:25:150;;;2890:18;;18007:31:5;2771:177:150;7347:184:5;7417:7;7436:23;7462:19;:17;:19::i;:::-;7498:26;;;;:17;;:26;;-1:-1:-1;;7498:26:5;;;;-1:-1:-1;;;;;7498:26:5;;7347:184::o;16002:120::-;16082:33;16091:2;16095:7;16104:4;16110;16082:8;:33::i;1581:186:7:-;1720:31;;1581:186::o;34576:1095:61:-;34784:7;2316:19:12;:17;:19::i;:::-;34809:26:61::1;34827:7;34809:17;:26::i;:::-;:31:::0;34801:106:::1;;;::::0;-1:-1:-1;;;34801:106:61;;41046:2:150;34801:106:61::1;::::0;::::1;41028:21:150::0;41085:2;41065:18;;;41058:30;41124:34;41104:18;;;41097:62;41195:32;41175:18;;;41168:60;41245:19;;34801:106:61::1;40844:426:150::0;34801:106:61::1;34914:22;34939:32;34953:2;34957:7;34966:4;34939:13;:32::i;:::-;34914:57:::0;-1:-1:-1;;;;;;35040:28:61;::::1;::::0;;::::1;::::0;:62:::1;;;35072:25;35082:14;35072:9;:25::i;:::-;:30:::0;35040:62:::1;35036:148;;;35119:25;:23;:25::i;:::-;-1:-1:-1::0;;;;;35119:58:61;::::1;;::::0;;;:42:::1;::::0;;;::::1;:58;::::0;;;;35112:65;35036:148:::1;-1:-1:-1::0;;;;;35286:28:61;::::1;::::0;;::::1;::::0;:77:::1;;;35356:7;35318:34;35337:14;35318:18;:34::i;:::-;:45;35286:77;:110;;;;;35395:1;35367:25;35377:14;35367:9;:25::i;:::-;:29;35286:110;35275:206;;;35411:63;35419:14;35435:38;35455:14;35471:1;35435:19;:38::i;:::-;35411:7;:63::i;:::-;-1:-1:-1::0;;;;;35545:16:61;::::1;::::0;;::::1;::::0;:38:::1;;;35565:13;35575:2;35565:9;:13::i;:::-;35582:1;35565:18;35545:38;35541:98;;;35593:39;35601:2;35605:26;35625:2;35629:1;35605:19;:26::i;35593:39::-;35652:14:::0;34576:1095;-1:-1:-1;;;;34576:1095:61:o;2787:177:0:-;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;3674:178:12;2563:16;:14;:16::i;:::-;3732:25:::1;3760:21;:19;:21::i;:::-;3791:17:::0;;-1:-1:-1;;3791:17:12::1;::::0;;;-1:-1:-1;3823:22:12::1;966:10:11::0;3832:12:12::1;3823:22;;;;;;:::i;:::-;;;;;;;;3722:130;3674:178::o:0;876:314:6:-;1141:42;1157:1;1161:7;966:10:11;5914:7:5;:34::i;3326:384:13:-;3375:32;3410:28;:26;:28::i;:::-;3526:9;;3375:63;;-1:-1:-1;;;3526:20:13;3522:88;;3569:30;;-1:-1:-1;;;3569:30:13;;;;;;;;;;;3522:88;1847:1;3684:19;;3326:384::o;2905:128:12:-;2970:8;:6;:8::i;:::-;2966:61;;;3001:15;;-1:-1:-1;;;3001:15:12;;;;;;;;;;;2966:61;2905:128::o;3716:283:13:-;3764:32;3799:28;:26;:28::i;:::-;1805:1;3969:23;;-1:-1:-1;3716:283:13:o;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;12907:98:61;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;2917:25:150;;;2890:18;;6312:34:3;2771:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;17899:184:61;17952:29;17984:25;:23;:25::i;:::-;18034:14;;;:16;;17952:57;;-1:-1:-1;18016:15:61;;18034:16;18016:15;18034:16;;;:::i;:::-;;;;;18016:34;;18056:22;18066:2;18070:7;18056:9;:22::i;1147:162:12:-;1270:23;;1147:162::o;8737:170:2:-;8870:21;;8737:170::o;2233:149:5:-;6931:20:2;:18;:20::i;:::-;2336:39:5::1;2360:5;2367:7;2336:23;:39::i;2115:68:7:-:0;6931:20:2;:18;:20::i;1155:103:8:-;6931:20:2;:18;:20::i;:::-;1224:27:8::1;:25;:27::i;2540:111:13:-:0;6931:20:2;:18;:20::i;:::-;2610:34:13::1;:32;:34::i;7059:172:5:-:0;7125:7;7144:23;7170:19;:17;:19::i;:::-;7206:18;;;;:9;;:18;;-1:-1:-1;;7206:18:5;;;;-1:-1:-1;;;;;7206:18:5;;7059:172::o;36373:163:61:-;36425:13;36446:29;36478:25;:23;:25::i;:::-;36446:57;;36516:1;:15;;36509:22;;;;;:::i;24273:1751::-;24369:7;24378;24393:29;24425:25;:23;:25::i;:::-;24393:57;-1:-1:-1;24573:1:61;24665:11;;;;;:74;;;24723:16;24731:7;24723;:16::i;:::-;24680;;;;:39;;-1:-1:-1;;;24680:39:61;;;;;2917:25:150;;;-1:-1:-1;;;;;24680:59:61;;;;:16;;;;:31;;2890:18:150;;24680:39:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24680:59:61;;24665:74;24661:652;;;24859:15;24877:22;24892:6;24877:14;:22::i;:::-;24859:40;-1:-1:-1;24961:14:61;;;;24957:350;;25055:23;25081:29;25100:9;25081:18;:29::i;:::-;25055:55;;25255:1;:11;;;25236:15;:30;;:62;;25287:1;:11;;;25236:62;;;25269:15;25236:62;25228:70;;24977:330;24957:350;24741:572;24661:652;25415:23;25441:32;;;:23;;;:32;;;;;;;25629:9;:5;25637:1;25629:9;:::i;:::-;25617:21;;25612:319;25645:1;:11;;;25640:1;:16;25612:319;;25694:26;;;;:23;;;:26;;;;;;25675:45;;25671:254;;25770:26;;;;:23;;;:26;;;;;;25740:1;;-1:-1:-1;25740:1:61;;25751:45;;;;:::i;:::-;;;25671:254;;;25911:5;;25671:254;25658:3;;;;:::i;:::-;;;;25612:319;;;-1:-1:-1;25996:5:61;;;;-1:-1:-1;24273:1751:61;-1:-1:-1;;;;24273:1751:61:o;15309:308::-;15409:5;-1:-1:-1;;;;;15389:25:61;:16;15397:7;15389;:16::i;:::-;-1:-1:-1;;;;;15389:25:61;;15381:89;;;;-1:-1:-1;;;15381:89:61;;;;;;;:::i;:::-;15477:29;15509:25;:23;:25::i;:::-;-1:-1:-1;;;;;15541:25:61;;;;;;:18;;;:25;;;;;;;:35;;;15588:24;15477:57;;-1:-1:-1;15541:25:61;15588:24;;;;15569:7;2917:25:150;;2905:2;2890:18;;2771:177;15588:24:61;;;;;;;;15375:242;15309:308;;:::o;3366:176:12:-;2316:19;:17;:19::i;:::-;3425:25:::1;3453:21;:19;:21::i;:::-;3484:16:::0;;-1:-1:-1;;3484:16:12::1;3496:4;3484:16;::::0;;3425:49;-1:-1:-1;3515:20:12::1;3522:12;966:10:11::0;;887:96;637:698:34;693:13;742:14;759:17;770:5;759:10;:17::i;:::-;779:1;759:21;742:38;;794:20;828:6;-1:-1:-1;;;;;817:18:34;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:18:34;-1:-1:-1;794:41:34;-1:-1:-1;955:28:34;;;971:2;955:28;1010:282;-1:-1:-1;;1041:5:34;-1:-1:-1;;;1175:2:34;1164:14;;1159:32;1041:5;1146:46;1236:2;1227:11;;;-1:-1:-1;1256:21:34;1010:282;1256:21;-1:-1:-1;1312:6:34;637:698;-1:-1:-1;;;637:698:34:o;17232:369:5:-;17335:23;17361:19;:17;:19::i;:::-;17335:45;-1:-1:-1;;;;;;17394:22:5;;17390:91;;17461:8;17439:31;;-1:-1:-1;;;17439:31:5;;;;;;;;:::i;17390:91::-;-1:-1:-1;;;;;17490:27:5;;;;;;;:20;;;:27;;;;;;;;:37;;;;;;;;;;;;;:48;;-1:-1:-1;;17490:48:5;;;;;;;;;;17553:41;;975::150;;;17553::5;;948:18:150;17553:41:5;;;;;;;17325:276;17232:369;;;:::o;18616:782::-;-1:-1:-1;;;;;18732:14:5;;;:18;18728:664;;18770:71;;-1:-1:-1;;;18770:71:5;;-1:-1:-1;;;;;18770:36:5;;;;;:71;;966:10:11;;18821:4:5;;18827:7;;18836:4;;18770:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18770:71:5;;;;;;;;-1:-1:-1;;18770:71:5;;;;;;;;;;;;:::i;:::-;;;18766:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19079:6;:13;19096:1;19079:18;19075:293;;19150:2;19128:25;;-1:-1:-1;;;19128:25:5;;;;;;;;:::i;19075:293::-;19320:6;19314:13;19305:6;19301:2;19297:15;19290:38;18766:616;-1:-1:-1;;;;;;18888:51:5;;-1:-1:-1;;;18888:51:5;18884:130;;18992:2;18970:25;;-1:-1:-1;;;18970:25:5;;;;;;;;:::i;18884:130::-;18842:186;18616:782;;;;:::o;4381:197:0:-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;2333:233:7:-;2446:4;-1:-1:-1;;;;;;2469:50:7;;-1:-1:-1;;;2469:50:7;;:90;;;2523:36;2547:11;2523:23;:36::i;16304:719:5:-;16408:23;16434:19;:17;:19::i;:::-;16408:45;;16519:9;:31;;;-1:-1:-1;;;;;;16532:18:5;;;;16519:31;16515:460;;;16566:13;16582:22;16596:7;16582:13;:22::i;:::-;16566:38;-1:-1:-1;;;;;;16732:18:5;;;;;;:35;;;16763:4;-1:-1:-1;;;;;16754:13:5;:5;-1:-1:-1;;;;;16754:13:5;;;16732:35;:69;;;;;16772:29;16789:5;16796:4;16772:16;:29::i;:::-;16771:30;16732:69;16728:142;;;16850:4;16828:27;;-1:-1:-1;;;16828:27:5;;;;;;;;:::i;16728:142::-;16888:9;16884:81;;;16942:7;16938:2;-1:-1:-1;;;;;16922:28:5;16931:5;-1:-1:-1;;;;;16922:28:5;;;;;;;;;;;16884:81;16552:423;16515:460;16985:26;;;;:17;;:26;;-1:-1:-1;;16985:26:5;;;:31;;-1:-1:-1;;;;;;16985:31:5;-1:-1:-1;;;;;16985:31:5;;;;;;;;;;16304:719::o;1472:204:8:-;1611:7;2316:19:12;:17;:19::i;:::-;1637:32:8::1;1651:2;1655:7;1664:4;1637:13;:32::i;3105:126:12:-:0;3168:8;:6;:8::i;:::-;3163:62;;3199:15;;-1:-1:-1;;;3199:15:12;;;;;;;;;;;2251:183:13;2388:30;;2251:183::o;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;12217:100:5:-;12284:26;12294:2;12298:7;12284:26;;;;;;;;;;;;:9;:26::i;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;2388:219:5;6931:20:2;:18;:20::i;:::-;2501:23:5::1;2527:19;:17;:19::i;:::-;2501:45:::0;-1:-1:-1;2501:45:5;2556:15:::1;2566:5:::0;2501:45;2556:15:::1;:::i;:::-;-1:-1:-1::0;2581:9:5::1;::::0;::::1;:19;2593:7:::0;2581:9;:19:::1;:::i;1939:156:12:-:0;6931:20:2;:18;:20::i;:::-;2012:25:12::1;2040:21;:19;:21::i;:::-;2071:17:::0;;-1:-1:-1;;2071:17:12::1;::::0;;-1:-1:-1;1939:156:12:o;2657:183:13:-;6931:20:2;:18;:20::i;12214:916:36:-;12267:7;;-1:-1:-1;;;12342:17:36;;12338:103;;-1:-1:-1;;;12379:17:36;;;-1:-1:-1;12424:2:36;12414:12;12338:103;-1:-1:-1;;;12458:5:36;:17;12454:103;;-1:-1:-1;;;12495:17:36;;;-1:-1:-1;12540:2:36;12530:12;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;-1:-1:-1;12656:2:36;12646:12;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;-1:-1:-1;12770:1:36;12760:11;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;-1:-1:-1;12883:1:36;12873:11;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;-1:-1:-1;12996:1:36;12986:11;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;13117:6;12214:916;-1:-1:-1;;12214:916:36:o;2674:311:5:-;2787:4;-1:-1:-1;;;;;;2822:40:5;;-1:-1:-1;;;2822:40:5;;:104;;-1:-1:-1;;;;;;;2878:48:5;;-1:-1:-1;;;2878:48:5;2822:104;:156;;;-1:-1:-1;;;;;;;;;;1133:40:14;;;2942:36:5;1034:146:14;3658:625:7;3753:7;3772:21;3796:32;3810:2;3814:7;3823:4;3796:13;:32::i;:::-;3772:56;-1:-1:-1;;;;;;3843:27:7;;3839:210;;3886:40;3918:7;3886:31;:40::i;:::-;3839:210;;;3964:2;-1:-1:-1;;;;;3947:19:7;:13;-1:-1:-1;;;;;3947:19:7;;3943:106;;3982:56;4015:13;4030:7;3982:32;:56::i;:::-;-1:-1:-1;;;;;4062:16:7;;4058:188;;4094:45;4131:7;4094:36;:45::i;:::-;4058:188;;;4177:2;-1:-1:-1;;;;;4160:19:7;:13;-1:-1:-1;;;;;4160:19:7;;4156:90;;4195:40;4223:2;4227:7;4195:27;:40::i;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;12538:182:5;12632:18;12638:2;12642:7;12632:5;:18::i;:::-;12660:53;12691:1;12695:2;12699:7;12708:4;12660:22;:53::i;8487:120:2:-;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;10361:856:5:-;10447:7;10466:23;10492:19;:17;:19::i;:::-;10466:45;;10521:12;10536:17;10545:7;10536:8;:17::i;:::-;10521:32;-1:-1:-1;;;;;;10613:18:5;;;10609:86;;10647:37;10664:4;10670;10676:7;10647:16;:37::i;:::-;-1:-1:-1;;;;;10739:18:5;;;10735:258;;10855:48;10872:1;10876:7;10893:1;10897:5;10855:8;:48::i;:::-;-1:-1:-1;;;;;10946:17:5;;;;;;:11;;;:17;;;;;:22;;-1:-1:-1;;10946:22:5;;;10735:258;-1:-1:-1;;;;;11007:16:5;;;11003:109;;-1:-1:-1;;;;;11067:15:5;;;;;;:11;;;:15;;;;;:20;;11086:1;11067:20;;;11003:109;11122:18;;;;:9;;;:18;;;;;;:23;;-1:-1:-1;;;;;;11122:23:5;-1:-1:-1;;;;;11122:23:5;;;;;;;;;11161:27;;11122:18;;11161:27;;;;;;;11206:4;10361:856;-1:-1:-1;;;;;10361:856:5:o;5065:242:7:-;5141:33;5177:29;:27;:29::i;:::-;5245:12;;;:19;;5216:26;;;;:17;;;;:26;;;;;;;:48;;;5274:26;;;;;;;;;;;;;;;-1:-1:-1;5065:242:7:o;5924:1046::-;6015:33;6051:29;:27;:29::i;:::-;6015:65;;6261:22;6286:15;6296:4;6286:9;:15::i;:::-;6311:18;6332:28;;;:19;;;:28;;;;;;6261:40;;-1:-1:-1;6464:28:7;;;6460:329;;-1:-1:-1;;;;;6530:20:7;;6508:19;6530:20;;;;;;;;;;;:36;;;;;;;;;6581:32;;;;;;:46;;;6699:32;;:19;;;:32;;;;;:45;;;6460:329;-1:-1:-1;6882:28:7;;;;:19;;;:28;;;;;;;;6875:35;;;-1:-1:-1;;;;;6927:20:7;;;;;;;;;;;:36;;;;;;;;6920:43;5924:1046::o;7258:1150::-;7339:33;7375:29;:27;:29::i;:::-;7607:12;;;:19;7339:65;;-1:-1:-1;7582:22:7;;7607:23;;7629:1;;7607:23;:::i;:::-;7640:18;7661:26;;;:17;;;:26;;;;;;8031:12;;;:28;;7582:48;;-1:-1:-1;7661:26:7;;7582:48;;8031:28;;;;;;:::i;:::-;;;;;;;;;8009:50;;8097:11;8070:1;:12;;8083:10;8070:24;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;8176:30;;;:17;;;:30;;;;;;;:43;;;8347:26;;;;;8340:33;8383:12;;;:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7329:1079;;;;7258:1150;:::o;4577:293::-;4661:33;4697:29;:27;:29::i;:::-;4661:65;;4736:14;4769:1;4753:13;4763:2;4753:9;:13::i;:::-;:17;;;;:::i;:::-;-1:-1:-1;;;;;4780:18:7;;;:14;:18;;;;;;;;;;;:26;;;;;;;;:36;;;4826:28;;;:19;;;;:28;;;-1:-1:-1;4826:28:7;:37;4577:293::o;4625:582:32:-;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;5173:17;;11539:327:5;-1:-1:-1;;;;;11606:16:5;;11602:87;;11675:1;11645:33;;-1:-1:-1;;;11645:33:5;;;;;;;;:::i;11602:87::-;11698:21;11722:32;11730:2;11734:7;11751:1;11722:7;:32::i;:::-;11698:56;-1:-1:-1;;;;;;11768:27:5;;;11764:96;;11846:1;11818:31;;-1:-1:-1;;;11818:31:5;;;;;;;;:::i;8548:368::-;8660:38;8674:5;8681:7;8690;8660:13;:38::i;:::-;8655:255;;-1:-1:-1;;;;;8718:19:5;;8714:186;;8764:31;;-1:-1:-1;;;8764:31:5;;;;;2917:25:150;;;2890:18;;8764:31:5;2771:177:150;8714:186:5;8868:7;8877;8841:44;;-1:-1:-1;;;8841:44:5;;;;;;;;;:::i;5743:516:32:-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;7842:272:5;7945:4;-1:-1:-1;;;;;7980:21:5;;;;;;:127;;;8027:7;-1:-1:-1;;;;;8018:16:5;:5;-1:-1:-1;;;;;8018:16:5;;:52;;;;8038:32;8055:5;8062:7;8038:16;:32::i;:::-;8018:88;;;;8099:7;-1:-1:-1;;;;;8074:32:5;:21;8087:7;8074:12;:21::i;:::-;-1:-1:-1;;;;;8074:32:5;;;7842:272;-1:-1:-1;;;;7842:272:5:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:114:150:-;98:4;91:5;87:16;80:5;77:27;67:55;;118:1;115;108:12;133:311;199:6;207;260:2;248:9;239:7;235:23;231:32;228:52;;;276:1;273;266:12;228:52;315:9;302:23;334:29;357:5;334:29;:::i;:::-;382:5;434:2;419:18;;;;406:32;;-1:-1:-1;;;133:311:150:o;449:131::-;-1:-1:-1;;;;;;523:32:150;;513:43;;503:71;;570:1;567;560:12;585:245;643:6;696:2;684:9;675:7;671:23;667:32;664:52;;;712:1;709;702:12;664:52;751:9;738:23;770:30;794:5;770:30;:::i;1027:250::-;1112:1;1122:113;1136:6;1133:1;1130:13;1122:113;;;1212:11;;;1206:18;1193:11;;;1186:39;1158:2;1151:10;1122:113;;;-1:-1:-1;;1269:1:150;1251:16;;1244:27;1027:250::o;1282:271::-;1324:3;1362:5;1356:12;1389:6;1384:3;1377:19;1405:76;1474:6;1467:4;1462:3;1458:14;1451:4;1444:5;1440:16;1405:76;:::i;:::-;1535:2;1514:15;-1:-1:-1;;1510:29:150;1501:39;;;;1542:4;1497:50;;1282:271;-1:-1:-1;;1282:271:150:o;1558:220::-;1707:2;1696:9;1689:21;1670:4;1727:45;1768:2;1757:9;1753:18;1745:6;1727:45;:::i;1783:180::-;1842:6;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;-1:-1:-1;1934:23:150;;1783:180;-1:-1:-1;1783:180:150:o;1968:203::-;-1:-1:-1;;;;;2132:32:150;;;;2114:51;;2102:2;2087:18;;1968:203::o;2176:131::-;-1:-1:-1;;;;;2251:31:150;;2241:42;;2231:70;;2297:1;2294;2287:12;2312:134;2380:20;;2409:31;2380:20;2409:31;:::i;:::-;2312:134;;;:::o;2451:315::-;2519:6;2527;2580:2;2568:9;2559:7;2555:23;2551:32;2548:52;;;2596:1;2593;2586:12;2548:52;2635:9;2622:23;2654:31;2679:5;2654:31;:::i;2953:456::-;3030:6;3038;3046;3099:2;3087:9;3078:7;3074:23;3070:32;3067:52;;;3115:1;3112;3105:12;3067:52;3154:9;3141:23;3173:31;3198:5;3173:31;:::i;:::-;3223:5;-1:-1:-1;3280:2:150;3265:18;;3252:32;3293:33;3252:32;3293:33;:::i;:::-;2953:456;;3345:7;;-1:-1:-1;;;3399:2:150;3384:18;;;;3371:32;;2953:456::o;3781:315::-;3849:6;3857;3910:2;3898:9;3889:7;3885:23;3881:32;3878:52;;;3926:1;3923;3916:12;3878:52;3962:9;3949:23;3939:33;;4022:2;4011:9;4007:18;3994:32;4035:31;4060:5;4035:31;:::i;:::-;4085:5;4075:15;;;3781:315;;;;;:::o;4101:247::-;4160:6;4213:2;4201:9;4192:7;4188:23;4184:32;4181:52;;;4229:1;4226;4219:12;4181:52;4268:9;4255:23;4287:31;4312:5;4287:31;:::i;4542:248::-;4610:6;4618;4671:2;4659:9;4650:7;4646:23;4642:32;4639:52;;;4687:1;4684;4677:12;4639:52;-1:-1:-1;;4710:23:150;;;4780:2;4765:18;;;4752:32;;-1:-1:-1;4542:248:150:o;4795:127::-;4856:10;4851:3;4847:20;4844:1;4837:31;4887:4;4884:1;4877:15;4911:4;4908:1;4901:15;4927:255;4999:2;4993:9;5041:6;5029:19;;-1:-1:-1;;;;;5063:34:150;;5099:22;;;5060:62;5057:88;;;5125:18;;:::i;:::-;5161:2;5154:22;4927:255;:::o;5187:275::-;5258:2;5252:9;5323:2;5304:13;;-1:-1:-1;;5300:27:150;5288:40;;-1:-1:-1;;;;;5343:34:150;;5379:22;;;5340:62;5337:88;;;5405:18;;:::i;:::-;5441:2;5434:22;5187:275;;-1:-1:-1;5187:275:150:o;5467:530::-;5509:5;5562:3;5555:4;5547:6;5543:17;5539:27;5529:55;;5580:1;5577;5570:12;5529:55;5603:20;;-1:-1:-1;;;;;5635:26:150;;5632:52;;;5664:18;;:::i;:::-;5708:55;5751:2;5732:13;;-1:-1:-1;;5728:27:150;5757:4;5724:38;5708:55;:::i;:::-;5788:2;5779:7;5772:19;5834:3;5827:4;5822:2;5814:6;5810:15;5806:26;5803:35;5800:55;;;5851:1;5848;5841:12;5800:55;5916:2;5909:4;5901:6;5897:17;5890:4;5881:7;5877:18;5864:55;5964:1;5939:16;;;5957:4;5935:27;5928:38;;;;5943:7;5467:530;-1:-1:-1;;;5467:530:150:o;6002:455::-;6079:6;6087;6140:2;6128:9;6119:7;6115:23;6111:32;6108:52;;;6156:1;6153;6146:12;6108:52;6195:9;6182:23;6214:31;6239:5;6214:31;:::i;:::-;6264:5;-1:-1:-1;6320:2:150;6305:18;;6292:32;-1:-1:-1;;;;;6336:30:150;;6333:50;;;6379:1;6376;6369:12;6333:50;6402:49;6443:7;6434:6;6423:9;6419:22;6402:49;:::i;:::-;6392:59;;;6002:455;;;;;:::o;6462:321::-;6531:6;6584:2;6572:9;6563:7;6559:23;6555:32;6552:52;;;6600:1;6597;6590:12;6552:52;6627:23;;-1:-1:-1;;;;;6662:30:150;;6659:50;;;6705:1;6702;6695:12;6659:50;6728:49;6769:7;6760:6;6749:9;6745:22;6728:49;:::i;7011:118::-;7097:5;7090:13;7083:21;7076:5;7073:32;7063:60;;7119:1;7116;7109:12;7134:241;7190:6;7243:2;7231:9;7222:7;7218:23;7214:32;7211:52;;;7259:1;7256;7249:12;7211:52;7298:9;7285:23;7317:28;7339:5;7317:28;:::i;7624:712::-;7678:5;7731:3;7724:4;7716:6;7712:17;7708:27;7698:55;;7749:1;7746;7739:12;7698:55;7772:20;;7811:4;-1:-1:-1;;;;;7827:26:150;;7824:52;;;7856:18;;:::i;:::-;7902:2;7899:1;7895:10;7925:28;7949:2;7945;7941:11;7925:28;:::i;:::-;7987:15;;;8057;;;8053:24;;;8018:12;;;;8089:15;;;8086:35;;;8117:1;8114;8107:12;8086:35;8153:2;8145:6;8141:15;8130:26;;8165:142;8181:6;8176:3;8173:15;8165:142;;;8247:17;;8235:30;;8198:12;;;;8285;;;;8165:142;;;8325:5;7624:712;-1:-1:-1;;;;;;;7624:712:150:o;8341:1752::-;8437:6;8490:2;8478:9;8469:7;8465:23;8461:32;8458:52;;;8506:1;8503;8496:12;8458:52;8533:23;;-1:-1:-1;;;;;8605:14:150;;;8602:34;;;8632:1;8629;8622:12;8602:34;8655:22;;;;8711:6;8693:16;;;8689:29;8686:49;;;8731:1;8728;8721:12;8686:49;8757:22;;:::i;:::-;8817:2;8804:16;8845:2;8835:8;8832:16;8829:36;;;8861:1;8858;8851:12;8829:36;8888:44;8924:7;8913:8;8909:2;8905:17;8888:44;:::i;:::-;8881:5;8874:59;;8979:2;8975;8971:11;8958:25;9008:2;8998:8;8995:16;8992:36;;;9024:1;9021;9014:12;8992:36;9060:44;9096:7;9085:8;9081:2;9077:17;9060:44;:::i;:::-;9055:2;9048:5;9044:14;9037:68;;9137:31;9164:2;9160;9156:11;9137:31;:::i;:::-;9132:2;9125:5;9121:14;9114:55;9201:31;9228:2;9224;9220:11;9201:31;:::i;:::-;9196:2;9189:5;9185:14;9178:55;9266:32;9293:3;9289:2;9285:12;9266:32;:::i;:::-;9260:3;9253:5;9249:15;9242:57;9332:32;9359:3;9355:2;9351:12;9332:32;:::i;:::-;9326:3;9319:5;9315:15;9308:57;9398:32;9425:3;9421:2;9417:12;9398:32;:::i;:::-;9392:3;9385:5;9381:15;9374:57;9485:3;9481:2;9477:12;9464:26;9458:3;9451:5;9447:15;9440:51;9510:3;9559:2;9555;9551:11;9538:25;9588:2;9578:8;9575:16;9572:36;;;9604:1;9601;9594:12;9572:36;9640:44;9676:7;9665:8;9661:2;9657:17;9640:44;:::i;:::-;9635:2;9628:5;9624:14;9617:68;;;9704:3;9753:2;9749;9745:11;9732:25;9782:2;9772:8;9769:16;9766:36;;;9798:1;9795;9788:12;9766:36;9834:56;9882:7;9871:8;9867:2;9863:17;9834:56;:::i;:::-;9829:2;9822:5;9818:14;9811:80;;;9910:3;9900:13;;9945:31;9972:2;9968;9964:11;9945:31;:::i;:::-;9940:2;9933:5;9929:14;9922:55;9996:3;9986:13;;10031:31;10058:2;10054;10050:11;10031:31;:::i;:::-;10015:14;;;10008:55;;;;10019:5;8341:1752;-1:-1:-1;;;;8341:1752:150:o;10098:390::-;10186:5;10180:12;10175:3;10168:25;10150:3;10239:4;10232:5;10228:16;10222:23;10277:4;10270;10265:3;10261:14;10254:28;10303:47;10344:4;10339:3;10335:14;10321:12;10303:47;:::i;:::-;10291:59;;10399:4;10392:5;10388:16;10382:23;10375:4;10370:3;10366:14;10359:47;10455:4;10448:5;10444:16;10438:23;10431:4;10426:3;10422:14;10415:47;10478:4;10471:11;;;10098:390;;;;:::o;10493:266::-;10678:2;10667:9;10660:21;10641:4;10698:55;10749:2;10738:9;10734:18;10726:6;10698:55;:::i;10995:383::-;11072:6;11080;11088;11141:2;11129:9;11120:7;11116:23;11112:32;11109:52;;;11157:1;11154;11147:12;11109:52;11196:9;11183:23;11215:31;11240:5;11215:31;:::i;:::-;11265:5;11317:2;11302:18;;11289:32;;-1:-1:-1;11368:2:150;11353:18;;;11340:32;;10995:383;-1:-1:-1;;;10995:383:150:o;11383:849::-;11581:4;11610:2;11650;11639:9;11635:18;11680:2;11669:9;11662:21;11703:6;11738;11732:13;11769:6;11761;11754:22;11807:2;11796:9;11792:18;11785:25;;11869:2;11859:6;11856:1;11852:14;11841:9;11837:30;11833:39;11819:53;;11907:2;11899:6;11895:15;11928:1;11938:265;11952:6;11949:1;11946:13;11938:265;;;12045:2;12041:7;12029:9;12021:6;12017:22;12013:36;12008:3;12001:49;12073:50;12116:6;12107;12101:13;12073:50;:::i;:::-;12063:60;-1:-1:-1;12181:12:150;;;;12146:15;;;;11974:1;11967:9;11938:265;;;-1:-1:-1;12220:6:150;;11383:849;-1:-1:-1;;;;;;;11383:849:150:o;12237:382::-;12302:6;12310;12363:2;12351:9;12342:7;12338:23;12334:32;12331:52;;;12379:1;12376;12369:12;12331:52;12418:9;12405:23;12437:31;12462:5;12437:31;:::i;:::-;12487:5;-1:-1:-1;12544:2:150;12529:18;;12516:32;12557:30;12516:32;12557:30;:::i;12624:348::-;12708:6;12761:2;12749:9;12740:7;12736:23;12732:32;12729:52;;;12777:1;12774;12767:12;12729:52;12804:23;;-1:-1:-1;;;;;12839:30:150;;12836:50;;;12882:1;12879;12872:12;12836:50;12905:61;12958:7;12949:6;12938:9;12934:22;12905:61;:::i;12977:665::-;13072:6;13080;13088;13096;13149:3;13137:9;13128:7;13124:23;13120:33;13117:53;;;13166:1;13163;13156:12;13117:53;13205:9;13192:23;13224:31;13249:5;13224:31;:::i;:::-;13274:5;-1:-1:-1;13331:2:150;13316:18;;13303:32;13344:33;13303:32;13344:33;:::i;:::-;13396:7;-1:-1:-1;13450:2:150;13435:18;;13422:32;;-1:-1:-1;13505:2:150;13490:18;;13477:32;-1:-1:-1;;;;;13521:30:150;;13518:50;;;13564:1;13561;13554:12;13518:50;13587:49;13628:7;13619:6;13608:9;13604:22;13587:49;:::i;:::-;13577:59;;;12977:665;;;;;;;:::o;13647:766::-;13758:6;13766;13774;13782;13835:3;13823:9;13814:7;13810:23;13806:33;13803:53;;;13852:1;13849;13842:12;13803:53;13891:9;13878:23;13910:31;13935:5;13910:31;:::i;:::-;13960:5;-1:-1:-1;14017:2:150;14002:18;;13989:32;14030:33;13989:32;14030:33;:::i;:::-;14082:7;-1:-1:-1;14141:2:150;14126:18;;14113:32;14154:33;14113:32;14154:33;:::i;:::-;14206:7;-1:-1:-1;14264:2:150;14249:18;;14236:32;-1:-1:-1;;;;;14280:30:150;;14277:50;;;14323:1;14320;14313:12;14277:50;14346:61;14399:7;14390:6;14379:9;14375:22;14346:61;:::i;14418:243::-;14475:6;14528:2;14516:9;14507:7;14503:23;14499:32;14496:52;;;14544:1;14541;14534:12;14496:52;14583:9;14570:23;14602:29;14625:5;14602:29;:::i;14666:388::-;14734:6;14742;14795:2;14783:9;14774:7;14770:23;14766:32;14763:52;;;14811:1;14808;14801:12;14763:52;14850:9;14837:23;14869:31;14894:5;14869:31;:::i;:::-;14919:5;-1:-1:-1;14976:2:150;14961:18;;14948:32;14989:33;14948:32;14989:33;:::i;16204:380::-;16283:1;16279:12;;;;16326;;;16347:61;;16401:4;16393:6;16389:17;16379:27;;16347:61;16454:2;16446:6;16443:14;16423:18;16420:38;16417:161;;16500:10;16495:3;16491:20;16488:1;16481:31;16535:4;16532:1;16525:15;16563:4;16560:1;16553:15;16417:161;;16204:380;;;:::o;16969:274::-;-1:-1:-1;;;;;17161:32:150;;;;17143:51;;17225:2;17210:18;;17203:34;17131:2;17116:18;;16969:274::o;18199:127::-;18260:10;18255:3;18251:20;18248:1;18241:31;18291:4;18288:1;18281:15;18315:4;18312:1;18305:15;18331:135;18370:3;18391:17;;;18388:43;;18411:18;;:::i;:::-;-1:-1:-1;18458:1:150;18447:13;;18331:135::o;19156:175::-;19234:13;;-1:-1:-1;;;;;19276:30:150;;19266:41;;19256:69;;19321:1;19318;19311:12;19336:890;19449:6;19457;19465;19473;19481;19489;19497;19550:3;19538:9;19529:7;19525:23;19521:33;19518:53;;;19567:1;19564;19557:12;19518:53;19599:9;19593:16;19618:31;19643:5;19618:31;:::i;:::-;19718:2;19703:18;;19697:25;19668:5;;-1:-1:-1;19731:31:150;19697:25;19731:31;:::i;:::-;19833:2;19818:18;;19812:25;19781:7;;-1:-1:-1;19846:30:150;19812:25;19846:30;:::i;:::-;19947:2;19932:18;;19926:25;19895:7;;-1:-1:-1;19960:30:150;19926:25;19960:30;:::i;:::-;20009:7;-1:-1:-1;20035:49:150;20079:3;20064:19;;20035:49;:::i;:::-;20025:59;;20103:49;20147:3;20136:9;20132:19;20103:49;:::i;:::-;20093:59;;20171:49;20215:3;20204:9;20200:19;20171:49;:::i;:::-;20161:59;;19336:890;;;;;;;;;;:::o;20231:415::-;20433:2;20415:21;;;20472:2;20452:18;;;20445:30;20511:34;20506:2;20491:18;;20484:62;-1:-1:-1;;;20577:2:150;20562:18;;20555:49;20636:3;20621:19;;20231:415::o;21484:184::-;21554:6;21607:2;21595:9;21586:7;21582:23;21578:32;21575:52;;;21623:1;21620;21613:12;21575:52;-1:-1:-1;21646:16:150;;21484:184;-1:-1:-1;21484:184:150:o;22814:125::-;22879:9;;;22900:10;;;22897:36;;;22913:18;;:::i;23324:245::-;23391:6;23444:2;23432:9;23423:7;23419:23;23415:32;23412:52;;;23460:1;23457;23450:12;23412:52;23492:9;23486:16;23511:28;23533:5;23511:28;:::i;23932:251::-;24002:6;24055:2;24043:9;24034:7;24030:23;24026:32;24023:52;;;24071:1;24068;24061:12;24023:52;24103:9;24097:16;24122:31;24147:5;24122:31;:::i;25509:127::-;25570:10;25565:3;25561:20;25558:1;25551:31;25601:4;25598:1;25591:15;25625:4;25622:1;25615:15;25641:399;25843:2;25825:21;;;25882:2;25862:18;;;25855:30;25921:34;25916:2;25901:18;;25894:62;-1:-1:-1;;;25987:2:150;25972:18;;25965:33;26030:3;26015:19;;25641:399::o;26171:842::-;26299:3;26328:1;26361:6;26355:13;26391:36;26417:9;26391:36;:::i;:::-;26446:1;26463:18;;;26490:133;;;;26637:1;26632:356;;;;26456:532;;26490:133;-1:-1:-1;;26523:24:150;;26511:37;;26596:14;;26589:22;26577:35;;26568:45;;;-1:-1:-1;26490:133:150;;26632:356;26663:6;26660:1;26653:17;26693:4;26738:2;26735:1;26725:16;26763:1;26777:165;26791:6;26788:1;26785:13;26777:165;;;26869:14;;26856:11;;;26849:35;26912:16;;;;26806:10;;26777:165;;;26781:3;;;26971:6;26966:3;26962:16;26955:23;;26456:532;-1:-1:-1;27004:3:150;;26171:842;-1:-1:-1;;;;;;26171:842:150:o;27018:289::-;27149:3;27187:6;27181:13;27203:66;27262:6;27257:3;27250:4;27242:6;27238:17;27203:66;:::i;:::-;27285:16;;;;;27018:289;-1:-1:-1;;27018:289:150:o;27312:545::-;27414:2;27409:3;27406:11;27403:448;;;27450:1;27475:5;27471:2;27464:17;27520:4;27516:2;27506:19;27590:2;27578:10;27574:19;27571:1;27567:27;27561:4;27557:38;27626:4;27614:10;27611:20;27608:47;;;-1:-1:-1;27649:4:150;27608:47;27704:2;27699:3;27695:12;27692:1;27688:20;27682:4;27678:31;27668:41;;27759:82;27777:2;27770:5;27767:13;27759:82;;;27822:17;;;27803:1;27792:13;27759:82;;28033:1352;28153:10;;-1:-1:-1;;;;;28175:30:150;;28172:56;;;28208:18;;:::i;:::-;28237:97;28327:6;28287:38;28319:4;28313:11;28287:38;:::i;:::-;28281:4;28237:97;:::i;:::-;28389:4;;28453:2;28442:14;;28470:1;28465:663;;;;29172:1;29189:6;29186:89;;;-1:-1:-1;29241:19:150;;;29235:26;29186:89;-1:-1:-1;;27990:1:150;27986:11;;;27982:24;27978:29;27968:40;28014:1;28010:11;;;27965:57;29288:81;;28435:944;;28465:663;26118:1;26111:14;;;26155:4;26142:18;;-1:-1:-1;;28501:20:150;;;28619:236;28633:7;28630:1;28627:14;28619:236;;;28722:19;;;28716:26;28701:42;;28814:27;;;;28782:1;28770:14;;;;28649:19;;28619:236;;;28623:3;28883:6;28874:7;28871:19;28868:201;;;28944:19;;;28938:26;-1:-1:-1;;29027:1:150;29023:14;;;29039:3;29019:24;29015:37;29011:42;28996:58;28981:74;;28868:201;-1:-1:-1;;;;;29115:1:150;29099:14;;;29095:22;29082:36;;-1:-1:-1;28033:1352:150:o;31493:128::-;31560:9;;;31581:11;;;31578:37;;;31595:18;;:::i;32101:417::-;32303:2;32285:21;;;32342:2;32322:18;;;32315:30;-1:-1:-1;;;;;;;;;;;32376:2:150;32361:18;;32354:62;-1:-1:-1;;;32447:2:150;32432:18;;32425:51;32508:3;32493:19;;32101:417::o;32947:209::-;-1:-1:-1;;;;;33118:31:150;;;;33100:50;;33088:2;33073:18;;32947:209::o;33161:418::-;33363:2;33345:21;;;33402:2;33382:18;;;33375:30;33441:34;33436:2;33421:18;;33414:62;-1:-1:-1;;;33507:2:150;33492:18;;33485:52;33569:3;33554:19;;33161:418::o;34396:514::-;-1:-1:-1;;;;;;;;;;;34653:3:150;34646:47;-1:-1:-1;;;34718:2:150;34713:3;34709:12;34702:43;34628:3;34774:6;34768:13;34790:73;34856:6;34851:2;34846:3;34842:12;34837:2;34829:6;34825:15;34790:73;:::i;:::-;34883:16;;;;34901:2;34879:25;;34396:514;-1:-1:-1;;34396:514:150:o;34915:168::-;34988:9;;;35019;;35036:15;;;35030:22;;35016:37;35006:71;;35057:18;;:::i;37573:543::-;37791:13;;37734:3;;37765;;37844:4;37871:15;;;37734:3;37914:175;37928:6;37925:1;37922:13;37914:175;;;37991:13;;37977:28;;38027:14;;;;38064:15;;;;37950:1;37943:9;37914:175;;39378;39415:3;39459:4;39452:5;39448:16;39488:4;39479:7;39476:17;39473:43;;39496:18;;:::i;:::-;39545:1;39532:15;;39378:175;-1:-1:-1;;39378:175:150:o;39763:652::-;40032:3;40070:6;40064:13;40086:66;40145:6;40140:3;40133:4;40125:6;40121:17;40086:66;:::i;:::-;40215:13;;40174:16;;;;40237:70;40215:13;40174:16;40284:4;40272:17;;40237:70;:::i;:::-;-1:-1:-1;;;40329:20:150;;40358:22;;;40407:1;40396:13;;39763:652;-1:-1:-1;;;;39763:652:150:o;41596:489::-;-1:-1:-1;;;;;41865:15:150;;;41847:34;;41917:15;;41912:2;41897:18;;41890:43;41964:2;41949:18;;41942:34;;;42012:3;42007:2;41992:18;;41985:31;;;41790:4;;42033:46;;42059:19;;42051:6;42033:46;:::i;:::-;42025:54;41596:489;-1:-1:-1;;;;;;41596:489:150:o;42090:249::-;42159:6;42212:2;42200:9;42191:7;42187:23;42183:32;42180:52;;;42228:1;42225;42218:12;42180:52;42260:9;42254:16;42279:30;42303:5;42279:30;:::i;42915:127::-;42976:10;42971:3;42967:20;42964:1;42957:31;43007:4;43004:1;42997:15;43031:4;43028:1;43021:15"},"methodIdentifiers":{"CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_LEVEL()":"a49062d4","MINTER_ROLE()":"d5391393","NODES_MANAGER_ROLE()":"3d6dbee8","PAUSER_ROLE()":"e63ab1e9","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approve(address,uint256)":"095ea7b3","attachNode(uint256,uint256)":"88371110","b3tr()":"582a486a","b3trGovernor()":"7893d736","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","burn(uint256)":"42966c68","detachNode(uint256,uint256)":"4a6565e1","freeMint()":"5b70ea9f","getApproved(uint256)":"081812fc","getB3TRdonated(uint256)":"865c380b","getB3TRtoUpgrade(uint256)":"a51d2e0b","getB3TRtoUpgradeToLevel(uint256)":"2b42df38","getIdAttachedToNode(uint256)":"51c438d1","getLevelAfterAttachingNode(uint256,uint256)":"a1843bd0","getLevelAfterDetachingNode(uint256)":"cc421d07","getNodeIdAttached(uint256)":"958fc97d","getNodeLevelOf(uint256)":"3ff453af","getNodeToFreeLevel(uint8)":"e617e49f","getRoleAdmin(bytes32)":"248a9ca3","getSelectedTokenId(address)":"d206885d","getSelectedTokenInfoByOwner(address)":"de4983a2","getTokenInfoByTokenId(uint256)":"643ce418","getTokensInfoByOwner(address,uint256,uint256)":"851f738e","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))":"5f4e42ca","initializeV2(address,address,address,uint256[])":"c190eb3a","isApprovedForAll(address,address)":"e985e9c5","levelOf(uint256)":"6d5e3032","name()":"06fdde03","ownerOf(uint256)":"6352211e","participatedInGovernance(address)":"8c5b76fb","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","select(uint256)":"839a19d9","setApprovalForAll(address,bool)":"a22cb465","setB3TRtoUpgradeToLevel(uint256[])":"b1ccbd2c","setB3trGovernorAddress(address)":"ddd8634d","setBaseURI(string)":"55f804b3","setIsPublicMintingPaused(bool)":"5b5da514","setMaxLevel(uint256)":"344f1ba5","setNodeToFreeUpgradeLevel(uint8,uint256)":"001db0dd","setVechainNodes(address)":"5ffaa59a","setXAllocationsGovernorAddress(address)":"3af03ea8","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","treasury()":"61d027b3","unpause()":"3f4ba83a","upgrade(uint256)":"45977d03","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50","xAllocationsGovernor()":"5ecf68e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"B3TRtoUpgradeToLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"B3trGovernorAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"MaxLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PublicMintingPaused\",\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Selected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsGovernorAddressUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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_LEVEL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NODES_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"attachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"detachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRdonated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgrade\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgradeToLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getIdAttachedToNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterAttachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterDetachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getNodeIdAttached\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevelOf\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"}],\"name\":\"getNodeToFreeLevel\",\"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\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV2.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenInfoByTokenId\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV2.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"getTokensInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV2.TokenInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"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\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pauser\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractsAddressManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxLevel\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"b3tr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"internalType\":\"struct GalaxyMemberV2.InitializationData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesMangaement\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesAdmin\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_nodeFreeLevels\",\"type\":\"uint256[]\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"levelOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"participatedInGovernance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"select\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"setB3TRtoUpgradeToLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3trGovernor\",\"type\":\"address\"}],\"name\":\"setB3trGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"setIsPublicMintingPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setMaxLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setNodeToFreeUpgradeLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"}],\"name\":\"setVechainNodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_xAllocationsGovernor\",\"type\":\"address\"}],\"name\":\"setXAllocationsGovernorAddress\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"upgrade\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsGovernor\",\"outputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities. --------------------------------- VERSION --------------------------------- - Added Vechain Nodes contract to attach and detach nodes to tokens - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels - Added free upgrade levels for each Vechain node level - Removed automatic highest level owned selection - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading - Core logic functions are now overridable through inheritance - B3TRGovernor has been updated to V2 thus pointing to the new interface - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"ERC721EnumerableForbiddenBatchMint()\":[{\"details\":\"Batch mint is not allowed.\"}],\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721OutOfBoundsIndex(address,uint256)\":[{\"details\":\"An `owner`'s token query was out of bounds for `index`. NOTE: The owner being `address(0)` indicates a global out of bounds index.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"B3TRtoUpgradeToLevelUpdated(uint256[])\":{\"details\":\"Emitted when B3TR required to upgrade to each level is updated\"},\"B3trGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when B3TRGovernor contract address is updated\"},\"BaseURIUpdated(string,string)\":{\"details\":\"Emitted when base URI is updated\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"MaxLevelUpdated(uint256,uint256)\":{\"details\":\"Emitted when the max level is updated.\"},\"NodeAttached(uint256,uint256)\":{\"details\":\"Emitted when a node is attached to a token\"},\"NodeDetached(uint256,uint256)\":{\"details\":\"Emitted when a node is detached from a token\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"PublicMintingPaused(bool)\":{\"details\":\"Emitted when public minting is paused\"},\"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.\"},\"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`)\"},\"Selected(address,uint256)\":{\"details\":\"Emitted when an account changes the selected token for voting rewards.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"},\"Upgraded(uint256,uint256,uint256)\":{\"details\":\"Emitted when a token is upgraded.\"},\"XAllocationsGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when XAllocationVotingGovernor contract address is updated\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Overrides the ERC721BurnableUpgradeable function to include custom burning logic\",\"params\":{\"tokenId\":\"Token ID to burn\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"freeMint()\":{\"details\":\"Mints a token with level 1 and ensures that the public minting is not paused\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getB3TRdonated(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgrade(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgradeToLevel(uint256)\":{\"params\":{\"level\":\"Level to upgrade to\"}},\"getIdAttachedToNode(uint256)\":{\"params\":{\"nodeId\":\"Vechain node Token ID\"}},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"- Vechain Node Token ID\",\"tokenId\":\"- GM Token ID\"}},\"getLevelAfterDetachingNode(uint256)\":{\"params\":{\"tokenId\":\"- GM Token ID\"}},\"getNodeIdAttached(uint256)\":{\"params\":{\"tokenId\":\"GM Token ID\"}},\"getNodeLevelOf(uint256)\":{\"params\":{\"nodeId\":\"Vechain Node Token ID\"}},\"getNodeToFreeLevel(uint8)\":{\"params\":{\"nodeLevel\":\"Vechain node level\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getSelectedTokenId(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"}},\"getSelectedTokenInfoByOwner(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"},\"returns\":{\"_0\":\"TokenInfo The selected token info\"}},\"getTokenInfoByTokenId(uint256)\":{\"params\":{\"tokenId\":\"Token ID to get the info for\"},\"returns\":{\"_0\":\"TokenInfo The token info\"}},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"params\":{\"owner\":\"The address of the owner to check\",\"page\":\"The page number to fetch\",\"size\":\"The number of tokens to fetch (cannot exceed 100)\"},\"returns\":{\"_0\":\"TokenInfo[] The tokens owned by the 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((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\",\"details\":\"Sets initial values for all relevant contract properties and state variables.\"},\"initializeV2(address,address,address,uint256[])\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\",\"details\":\"Sets initial values for all relevant contract properties and state variables.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"levelOf(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"participatedInGovernance(address)\":{\"params\":{\"user\":\"The address of the user to check\"}},\"pause()\":{\"details\":\"pausing the contract will prevent minting, upgrading, and transferring of tokensOnly callable by the pauser role\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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.\"},\"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 `callerConfirmation`. 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.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"select(uint256)\":{\"params\":{\"tokenID\":\"Token ID to select\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"details\":\"Only callable by the admin role\",\"params\":{\"b3trToUpgradeToLevel\":\"Mapping of B3TR requirements per level\"}},\"setB3trGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_b3trGovernor\":\"B3TRGovernor contract address\"}},\"setBaseURI(string)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"baseTokenURI\":\"Base URI for the Token\"}},\"setIsPublicMintingPaused(bool)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"isPaused\":\"Flag to pause or unpause public minting\"}},\"setMaxLevel(uint256)\":{\"details\":\"Only callable by the admin role\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"params\":{\"level\":\"new free upgrade level\",\"nodeLevel\":\"Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\"}},\"setVechainNodes(address)\":{\"params\":{\"_vechainNodes\":\"Vechain Nodes contract address\"}},\"setXAllocationsGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_xAllocationsGovernor\":\"XAllocationVotingGovernor contract address\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"computes the token URI based on the base URI and the level of the token\",\"params\":{\"tokenId\":\"Token ID to get the URI for\"}},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unpause()\":{\"details\":\"Only callable by the pauser role\"},\"upgrade(uint256)\":{\"details\":\"Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\",\"params\":{\"tokenId\":\"Token ID to upgrade\"}},\"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()\":{\"details\":\"This function is used to identify the version of the contract and should be updated in each new version\",\"returns\":{\"_0\":\"string The version of the contract\"}}},\"stateVariables\":{\"GalaxyMemberStorageLocation\":{\"details\":\"keccak256(abi.encode(uint256(keccak256(\\\"b3tr.storage.GalaxyMember\\\")) - 1)) & ~bytes32(uint256(0xff))\"}},\"title\":\"GalaxyMember\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"MAX_LEVEL()\":{\"notice\":\"Gets the maximum level that tokens can be minted or upgraded to\"},\"b3tr()\":{\"notice\":\"Gets the B3TR token contract address\"},\"b3trGovernor()\":{\"notice\":\"Gets the b3trGovernor contract address\"},\"baseURI()\":{\"notice\":\"Gets the base URI for computing the tokenURI\"},\"burn(uint256)\":{\"notice\":\"Allows the token owner to burn their token\"},\"constructor\":{\"notice\":\"Ensures only initializer functions are called when deploying a proxy\"},\"freeMint()\":{\"notice\":\"Allows a user to freely mint a token if they have participated in governance\"},\"getB3TRdonated(uint256)\":{\"notice\":\"Get the B3TR donated for upgrading a token\"},\"getB3TRtoUpgrade(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to the next level\"},\"getB3TRtoUpgradeToLevel(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to a specific level\"},\"getIdAttachedToNode(uint256)\":{\"notice\":\"Get the GM Token ID attached to the Vechain Node Token ID\"},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"notice\":\"Gets the level of the token after attaching a node\"},\"getLevelAfterDetachingNode(uint256)\":{\"notice\":\"Gets the level of the token after detaching a node\"},\"getNodeIdAttached(uint256)\":{\"notice\":\"Get the Vechain Node Token ID attached to the GM Token ID\"},\"getNodeLevelOf(uint256)\":{\"notice\":\"Gets the strength level of the Vechain node\"},\"getNodeToFreeLevel(uint8)\":{\"notice\":\"Get the GM level that can be upgraded for free for a given Vechain node level\"},\"getSelectedTokenId(address)\":{\"notice\":\"Gets the selected token ID for the user\"},\"getSelectedTokenInfoByOwner(address)\":{\"notice\":\"Gets the selected token info for an address\"},\"getTokenInfoByTokenId(uint256)\":{\"notice\":\"Gets the token info by token ID\"},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"notice\":\"Gets the tokens owned by an address\"},\"initialize((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))\":{\"notice\":\"Initializes a new GalaxyMember contract\"},\"initializeV2(address,address,address,uint256[])\":{\"notice\":\"Initializes a new GalaxyMember contract\"},\"levelOf(uint256)\":{\"notice\":\"Gets the level of the GM token\"},\"participatedInGovernance(address)\":{\"notice\":\"Gets whether the user has participated in governance\"},\"pause()\":{\"notice\":\"Pauses the Galaxy Member contract\"},\"select(uint256)\":{\"notice\":\"Allows the user to select a token for voting rewards multiplier\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"notice\":\"Sets the amount of B3TR required to upgrade to each level\"},\"setB3trGovernorAddress(address)\":{\"notice\":\"Sets the B3TRGovernor contract address\"},\"setBaseURI(string)\":{\"notice\":\"Sets the base URI for computing the tokenURI\"},\"setIsPublicMintingPaused(bool)\":{\"notice\":\"Pauses public minting\"},\"setMaxLevel(uint256)\":{\"notice\":\"Sets the maximum level that tokens can be minted or upgraded to\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"notice\":\"Sets the treasury contract address\"},\"setVechainNodes(address)\":{\"notice\":\"Sets the Vechain Nodes contract address\"},\"setXAllocationsGovernorAddress(address)\":{\"notice\":\"Sets the XAllocationVotingGovernor contract address\"},\"tokenURI(uint256)\":{\"notice\":\"gets the token URI for a specific token\"},\"treasury()\":{\"notice\":\"Gets the treasury contract address\"},\"unpause()\":{\"notice\":\"Unpauses the Galaxy Member contract\"},\"upgrade(uint256)\":{\"notice\":\"Upgrades a token to the next level\"},\"version()\":{\"notice\":\"Retrieves the current version of the contract\"},\"xAllocationsGovernor()\":{\"notice\":\"Gets the xAllocationsGovernor contract address\"}},\"notice\":\"This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V2/GalaxyMemberV2.sol\":\"GalaxyMemberV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x5d1215064b3e114d329b1544cf65d33404f63e7841184e55267f4d8b114608e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1699c6ecb0511cb626f40814463aaf4e5c8c36399689e0f3de7561f227a5b50a\",\"dweb:/ipfs/QmQDxPddEsajUEPDRsfPekEhBRjmBTepYALuTwdM7h6mRz\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\":{\"keccak256\":\"0xe3c0b8baf1c6c26bd7944f5c7e71d0e902cbd1a90509f093524c289b89ad5344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9b136fb95c70aa8bce31e2fbaea664bd44afc305b8b75547d90944c89f2acc4\",\"dweb:/ipfs/QmRZbDHHu8obmna5Aj8iP2xNC4xC3p2RtdhpsYiJ8Bbm3M\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\":{\"keccak256\":\"0x6a7330cb4ed2bea90bed97483d55f11ccf98af6c1dd1e2b1739040b679ff9545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a274337315d1f332ba80f7cfbe5243267db6a015514c5a0e7898219ab51fb52\",\"dweb:/ipfs/QmTZdtdWgVs7VmP1dUW4idVpLK4pVFS6sfoi2pQCnaKgSX\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\":{\"keccak256\":\"0x7e68925d3373bd2baa7ac36839c464b2e77b67764201c4e0196d62699ee220b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0896e7ff605a131ca982da1175d798c19588852dc74329f5c3675ac76cb80ff\",\"dweb:/ipfs/QmdePp3XmXaKz4A9qqj6enFuqERWvJoN4uRmFzu2cwLPX8\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0xb31b86c03f4677dcffa4655285d62433509513be9bafa0e04984565052d34e44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a89c6fb0cd5fef4244500b633f63def9f2bb2134debb961e590bd5a2910662fd\",\"dweb:/ipfs/QmNqWyCxyopvb99RbRomPpfTZGXRi5MnzgpFXE2BFLLgMc\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V1/interfaces/INodeManagementV1.sol\":{\"keccak256\":\"0x48698e77b7818ce2f405350b2c1fffd2bf803a3b83cba383637bf76c90380dad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92a83121b73461829b09f8be8bed18ccfb280549a908aedfa9f8b930a631ad90\",\"dweb:/ipfs/QmeX7tg4kTjp1EZm4e9vyvJ6LzcUQho3WTSfonNELYk3xW\"]},\"contracts/deprecated/V2/GalaxyMemberV2.sol\":{\"keccak256\":\"0x6428aea7d41eb7e002117442ec9223df357b6cd64c3afef8d6781ce9487447df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://005874e7ec99120bc8a5d3aee7348412d687a3cca56c729920b0e118bbde4e52\",\"dweb:/ipfs/QmXTYS2rbw146AdB6fxSe1p1BUJLYCA1PL8SaryvqtYmnD\"]},\"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0x128b934b2b6c3e4530f36e8bd2b08f31cdc6b1248a5bc47c765175c1666109bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dc299d66d1cfb0658ebf2c5fef3852a86a437881a0986070cbc6da7af772bd3\",\"dweb:/ipfs/Qmd3SEURkuqCAopHKGNhnwpvt4ePasBMex6gLuNigogw1Y\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V2/GrantsManagerV2.sol":{"GrantsManagerV2":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"recipient","type":"address"}],"name":"CallerIsNotTheGrantReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantAlreadyCompleted","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantAlreadyRejected","type":"error"},{"inputs":[{"internalType":"uint256","name":"availableFunds","type":"uint256"},{"internalType":"uint256","name":"requiredFunds","type":"uint256"}],"name":"InsufficientFunds","type":"error"},{"inputs":[],"name":"InvalidAmount","type":"error"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"InvalidFunctionSelector","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"InvalidMilestoneIndex","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"required","type":"uint256"}],"name":"InvalidNumberOfMilestones","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"InvalidTarget","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAlreadyApproved","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAlreadyClaimed","type":"error"},{"inputs":[{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAmountZero","type":"error"},{"inputs":[{"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"}],"name":"MilestoneClaimedAmountExceedsTotalAmount","type":"error"},{"inputs":[],"name":"MilestoneDetailsMetadataURIEmpty","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneNotApprovedByAdmin","type":"error"},{"inputs":[],"name":"MilestoneProposerZeroAddress","type":"error"},{"inputs":[{"internalType":"enum IGrantsManagerV2.MilestoneState","name":"status","type":"uint8"}],"name":"MilestoneStateNotPending","type":"error"},{"inputs":[],"name":"MilestoneTotalAmountZero","type":"error"},{"inputs":[],"name":"NotAuthorized","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"PreviousMilestoneNotApproved","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalNotExecuted","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"newGrantsReceiver","type":"address"}],"name":"GrantsReceiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"milestoneIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MilestoneClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"string","name":"newMilestoneMetadataURI","type":"string"}],"name":"MilestoneMetadataURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MilestoneRejectedAndFundsReturnedToTreasury","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneValidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":true,"internalType":"address","name":"grantsReceiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"},{"indexed":false,"internalType":"string","name":"metadataURI","type":"string"}],"name":"MilestonesCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOVERNANCE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GRANTS_APPROVER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GRANTS_REJECTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"name":"approveMilestoneWithReason","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"approveMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"claimMilestone","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"}],"name":"createMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getB3trContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGovernorContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getGrantProposal","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManagerV2.Milestone[]","name":"milestones","type":"tuple[]"},{"internalType":"string","name":"metadataURI","type":"string"}],"internalType":"struct IGrantsManagerV2.GrantProposal","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getGrantsReceiverAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"getMilestone","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManagerV2.Milestone","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMilestoneMetadataURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMilestones","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManagerV2.Milestone[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinimumMilestoneCount","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":[{"internalType":"uint256","name":"milestoneId","type":"uint256"}],"name":"getTotalAmountForMilestones","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasuryContract","outputs":[{"internalType":"address","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":"uint256","name":"proposalId","type":"uint256"}],"name":"grantState","outputs":[{"internalType":"enum IGrantsManagerV2.GrantState","name":"","type":"uint8"}],"stateMutability":"view","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":"_governor","type":"address"},{"internalType":"address","name":"_treasury","type":"address"},{"internalType":"address","name":"defaultAdmin","type":"address"},{"internalType":"address","name":"_b3tr","type":"address"},{"internalType":"uint256","name":"_minimumMilestoneCount","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"isClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantCompleted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantInDevelopment","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantRejected","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"milestoneState","outputs":[{"internalType":"enum IGrantsManagerV2.MilestoneState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"rejectMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"_b3tr","type":"address"}],"name":"setB3trContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governor","type":"address"}],"name":"setGovernorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minimumMilestoneCount","type":"uint256"}],"name":"setMinimumMilestoneCount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasuryContract","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":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"newGrantsReceiver","type":"address"}],"name":"updateGrantsReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"newMilestoneMetadataURI","type":"string"}],"name":"updateMilestoneMetadataURI","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":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_29476":{"entryPoint":null,"id":29476,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161481f620001046000396000818161327e015281816132a701526133f1015261481f6000f3fe6080604052600436106102175760003560e01c806219cce61461021c578063012947641461024757806301ffc9a71461026a57806306c498221461029a5780631ed65110146102bc57806321afd1f6146102dc578063248a9ca3146102fe57806324ad94cd1461031e57806326c74fc31461034b5780632f2ff15d1461036057806336568abe146103805780633f36cd7f146103a05780633f4ba83a146103c257806342c549c0146103d75780634f1ef2861461040457806352d1902d1461041757806354b90b7b1461042c57806354fd4d501461044c5780635ade3874146104605780635c975abb14610480578063767b1602146104955780637da17bf3146104b5578063808860a5146104d55780638456cb59146104f55780638ed9895c1461050a57806391d14854146105375780639b15408714610557578063a217fddf14610577578063ad3cb1cc1461058c578063b2a2eef9146105ca578063b3396778146105ea578063bfda4e7c1461060a578063c1a45a6a14610637578063c224938914610657578063c266aef714610677578063c42433b414610697578063c4ec8f98146106b7578063cff28c70146106cc578063d547741f146106ec578063da104fac1461070c578063e03d759b1461072c578063e63ab1e91461074c578063e9af5d1b1461076e578063f23e227b1461079b578063f36c8f5c146107bb578063f7013ef6146107dd578063f72c0d8b146107fd575b600080fd5b34801561022857600080fd5b5061023161081f565b60405161023e9190613e76565b60405180910390f35b34801561025357600080fd5b5061025c61083d565b60405190815260200161023e565b34801561027657600080fd5b5061028a610285366004613e8a565b610852565b604051901515815260200161023e565b3480156102a657600080fd5b506102ba6102b5366004613ec9565b610889565b005b3480156102c857600080fd5b506102ba6102d7366004613ec9565b6108c4565b3480156102e857600080fd5b5061025c60008051602061470a83398151915281565b34801561030a57600080fd5b5061025c610319366004613ee6565b6108ff565b34801561032a57600080fd5b5061033e610339366004613ee6565b61091f565b60405161023e9190613f92565b34801561035757600080fd5b50610231610b96565b34801561036c57600080fd5b506102ba61037b366004614057565b610bb4565b34801561038c57600080fd5b506102ba61039b366004614057565b610bd6565b3480156103ac57600080fd5b5061025c6000805160206147ca83398151915281565b3480156103ce57600080fd5b506102ba610c0e565b3480156103e357600080fd5b506103f76103f2366004613ee6565b610c7a565b60405161023e9190614087565b6102ba61041236600461419e565b610dc6565b34801561042357600080fd5b5061025c610de1565b34801561043857600080fd5b506102ba610447366004613ec9565b610dfe565b34801561045857600080fd5b50600261025c565b34801561046c57600080fd5b5061025c61047b366004613ee6565b610e39565b34801561048c57600080fd5b5061028a610e44565b3480156104a157600080fd5b506102ba6104b03660046141ed565b610e59565b3480156104c157600080fd5b5061028a6104d0366004613ee6565b610fd1565b3480156104e157600080fd5b506102ba6104f036600461420f565b611254565b34801561050157600080fd5b506102ba6117e5565b34801561051657600080fd5b5061052a6105253660046141ed565b61184d565b60405161023e9190614324565b34801561054357600080fd5b5061028a610552366004614057565b6119ae565b34801561056357600080fd5b5061028a610572366004613ee6565b6119e4565b34801561058357600080fd5b5061025c600081565b34801561059857600080fd5b506105bd604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161023e9190614337565b3480156105d657600080fd5b506102ba6105e5366004613ee6565b611d43565b3480156105f657600080fd5b506102ba61060536600461434a565b611d63565b34801561061657600080fd5b5061062a610625366004613ee6565b611efc565b60405161023e91906143af565b34801561064357600080fd5b5061028a6106523660046141ed565b611ff1565b34801561066357600080fd5b5061028a610672366004613ee6565b612018565b34801561068357600080fd5b506102ba6106923660046141ed565b61237c565b3480156106a357600080fd5b506102ba6106b23660046143c9565b6127f6565b3480156106c357600080fd5b50610231612896565b3480156106d857600080fd5b506105bd6106e7366004613ee6565b6128b4565b3480156106f857600080fd5b506102ba610707366004614057565b612966565b34801561071857600080fd5b50610231610727366004613ee6565b612982565b34801561073857600080fd5b506102ba610747366004614057565b6129ab565b34801561075857600080fd5b5061025c6000805160206147aa83398151915281565b34801561077a57600080fd5b5061078e6107893660046141ed565b612a92565b60405161023e91906143f9565b3480156107a757600080fd5b506102ba6107b6366004613ee6565b612aa5565b3480156107c757600080fd5b5061025c60008051602061472a83398151915281565b3480156107e957600080fd5b506102ba6107f836600461440d565b612d6a565b34801561080957600080fd5b5061025c60008051602061476a83398151915281565b60008061082a6130ae565b600101546001600160a01b031692915050565b6000806108486130ae565b6004015492915050565b60006001600160e01b03198216637965db0b60e01b148061088357506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000610894816130d2565b600061089e6130ae565b60010180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60006108cf816130d2565b60006108d96130ae565b60020180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a6130df565b60009384526020525050604090206001015490565b6109716040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160608152602001606081525090565b600061097b6130ae565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b03908116606083015260048301541660808201526005820180548451818702810187019095528085529697509095919460a087019491929184015b82821015610af45760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610a6390614471565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8f90614471565b8015610adc5780601f10610ab157610100808354040283529160200191610adc565b820191906000526020600020905b815481529060010190602001808311610abf57829003601f168201915b505050505081525050815260200190600101906109ef565b505050508152602001600682018054610b0c90614471565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3890614471565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050505081525050915050919050565b600080610ba16130ae565b600201546001600160a01b031692915050565b610bbd826108ff565b610bc6816130d2565b610bd08383613103565b50505050565b6001600160a01b0381163314610bff5760405163334bd91960e11b815260040160405180910390fd5b610c0982826131a4565b505050565b6000805160206147aa8339815191526000610c276130ae565b9050610c3382336119ae565b80610c515750610c5160008051602061472a833981519152336119ae565b610c6e5760405163ea8e4eb560e01b815260040160405180910390fd5b610c7661321c565b5050565b60606000610c866130ae565b600084815260208281526040808320600501805482518185028101850190935280835294955090939092909184015b82821015610dba5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610d2990614471565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5590614471565b8015610da25780601f10610d7757610100808354040283529160200191610da2565b820191906000526020600020905b815481529060010190602001808311610d8557829003601f168201915b50505050508152505081526020019060010190610cb5565b50505050915050919050565b610dce613273565b610dd78261331a565b610c768282613332565b6000610deb6133e6565b5060008051602061478a83398151915290565b6000610e09816130d2565b6000610e136130ae565b60030180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a6130ae565b600080610e4f61342f565b5460ff1692915050565b6000805160206147ca8339815191526000610e726130ae565b9050610e7e82336119ae565b80610e9c5750610e9c60008051602061472a833981519152336119ae565b610eb95760405163ea8e4eb560e01b815260040160405180910390fd5b6000610ec36130ae565b9050610ece85613453565b610ed88585613509565b8315610f61576000610ef486610eef6001886144c1565b61354b565b90506001816003811115610f0a57610f0a614399565b14158015610f2a57506002816003811115610f2757610f27614399565b14155b15610f5f5785610f3b6001876144c1565b60405163414e3ac760e01b8152600401610f569291906144d4565b60405180910390fd5b505b600085815260208290526040902060050180546001919086908110610f8857610f886144e2565b60009182526020822060016003909202010180549215156101000261ff0019909316929092179091556040518591879160008051602061474a8339815191529190a35050505050565b600080610fdc6130ae565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156111595760008481526020908190206040805160a0810182526003860290920180548352600181015460ff8082161515958501959095526101008104851615159284019290925262010000909104909216151560608201526002820180549192916080840191906110c890614471565b80601f01602080910402602001604051908101604052809291908181526020018280546110f490614471565b80156111415780601f1061111657610100808354040283529160200191611141565b820191906000526020600020905b81548152906001019060200180831161112457829003601f168201915b50505050508152505081526020019060010190611054565b50505050815260200160068201805461117190614471565b80601f016020809104026020016040519081016040528092919081815260200182805461119d90614471565b80156111ea5780601f106111bf576101008083540402835291602001916111ea565b820191906000526020600020905b8154815290600101906020018083116111cd57829003601f168201915b505050505081525050905060005b8160a0015151811015611249578160a00151818151811061121b5761121b6144e2565b6020026020010151606001511561123757506001949350505050565b80611241816144f8565b9150506111f8565b506000949350505050565b600061125e6130ae565b905061127860008051602061472a833981519152336119ae565b6112955760405163ea8e4eb560e01b815260040160405180910390fd5b61129d6137d3565b60006112a76130ae565b6000878152602082905260408120919250805b855181101561152e5760008682815181106112d7576112d76144e2565b602090810291909101810151908101519091506001600160e01b03198116638e184b3f60e01b14611327576040516310cb7cf160e21b81526001600160e01b031982166004820152602401610f56565b60006004835161133791906144c1565b6001600160401b0381111561134e5761134e6140e9565b6040519080825280601f01601f191660200182016040528015611378576020820181803683370190505b50905060005b81518110156113e95783611393826004614511565b815181106113a3576113a36144e2565b602001015160f81c60f81b8282815181106113c0576113c06144e2565b60200101906001600160f81b031916908160001a905350806113e1816144f8565b91505061137e565b50600080828060200190518101906114019190614524565b90925090506001600160a01b0382163014611431578160405163d08525e960e01b8152600401610f569190613e76565b806000036114525760405163162908e360e11b815260040160405180910390fd5b61145c8188614511565b60008f815260208b81526040808320815160a08101835286815280840185815281840186815260608301878152855180880190965287865260808401958652600590940180546001818101835591895296909720835160039097020195865590519585018054915193511515620100000262ff0000199415156101000261ff00199815159890981661ffff1990931692909217969096179290921691909117909355519299509091600282019061151390826145a0565b50505050505050508080611526906144f8565b9150506112ba565b508782556003820180546001600160a01b0319166001600160a01b0389161790556006820161155d8a826145a0565b50600182018190556000600283018190556004830180546001600160a01b0319166001600160a01b038981169182179092556040805160e08101825286548152602080820187905281830186905260038801549094166060820152608081019290925260058601805482518186028101860190935280835261178c959394889460a087019493929184015b828210156116ed5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061165c90614471565b80601f016020809104026020016040519081016040528092919081815260200182805461168890614471565b80156116d55780601f106116aa576101008083540402835291602001916116d5565b820191906000526020600020905b8154815290600101906020018083116116b857829003601f168201915b505050505081525050815260200190600101906115e8565b50505050815260200160068201805461170590614471565b80601f016020809104026020016040519081016040528092919081815260200182805461173190614471565b801561177e5780601f106117535761010080835404028352916020019161177e565b820191906000526020600020905b81548152906001019060200180831161176157829003601f168201915b5050505050815250506137f9565b856001600160a01b0316876001600160a01b0316897f4881acb9050bcf1b58cd99d39b4d4497e03c9961e7466fdb95d6e422cd6f9553848d6040516117d292919061465f565b60405180910390a4505050505050505050565b6000805160206147aa83398151915260006117fe6130ae565b905061180a82336119ae565b80611828575061182860008051602061472a833981519152336119ae565b6118455760405163ea8e4eb560e01b815260040160405180910390fd5b610c7661397b565b6118856040518060a0016040528060008152602001600015158152602001600015158152602001600015158152602001606081525090565b600061188f6130ae565b6000858152602082905260409020600501805491925090849081106118b6576118b66144e2565b60009182526020918290206040805160a081018252600390930290910180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061192390614471565b80601f016020809104026020016040519081016040528092919081815260200182805461194f90614471565b801561199c5780601f106119715761010080835404028352916020019161199c565b820191906000526020600020905b81548152906001019060200180831161197f57829003601f168201915b50505050508152505091505092915050565b6000806119b96130df565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000806119ef6130ae565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b82821015611b6c5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190611adb90614471565b80601f0160208091040260200160405190810160405280929190818152602001828054611b0790614471565b8015611b545780601f10611b2957610100808354040283529160200191611b54565b820191906000526020600020905b815481529060010190602001808311611b3757829003601f168201915b50505050508152505081526020019060010190611a67565b505050508152602001600682018054611b8490614471565b80601f0160208091040260200160405190810160405280929190818152602001828054611bb090614471565b8015611bfd5780601f10611bd257610100808354040283529160200191611bfd565b820191906000526020600020905b815481529060010190602001808311611be057829003601f168201915b505050919092525050506001830154604051631f27a4f360e11b8152600481018790529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7c9190614678565b90506006816009811115611c9257611c92614399565b14158015611cb257506008816009811115611caf57611caf614399565b14155b8015611cd057506009816009811115611ccd57611ccd614399565b14155b15611ce057506000949350505050565b60005b8260a0015151811015611d37576000611cfc878361354b565b90506000816003811115611d1257611d12614399565b03611d24575060019695505050505050565b5080611d2f816144f8565b915050611ce3565b50600095945050505050565b6000611d4e816130d2565b6000611d586130ae565b600401929092555050565b6000805160206147ca8339815191526000611d7c6130ae565b9050611d8882336119ae565b80611da65750611da660008051602061472a833981519152336119ae565b611dc35760405163ea8e4eb560e01b815260040160405180910390fd5b6000611dcd6130ae565b9050611dd886613453565b611de28686613509565b8415611e42576000611df987610eef6001896144c1565b90506001816003811115611e0f57611e0f614399565b14158015611e2f57506002816003811115611e2c57611e2c614399565b14155b15611e405786610f3b6001886144c1565b505b600086815260208290526040902060050180546001919087908110611e6957611e696144e2565b906000526020600020906003020160010160016101000a81548160ff021916908315150217905550838160000160008881526020019081526020016000206005018681548110611ebb57611ebb6144e2565b90600052602060002090600302016002019081611ed891906145a0565b506040518590879060008051602061474a83398151915290600090a3505050505050565b600080611f076130ae565b6001810154604051631f27a4f360e11b8152600481018690529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7c9190614678565b9050611f8784610fd1565b15611f96575060029392505050565b611f9f846119e4565b15611fae575060089392505050565b611fb784612018565b15611fc6575060099392505050565b806009811115611fd857611fd8614399565b6009811115611fe957611fe9614399565b949350505050565b60006001611fff848461354b565b600381111561201057612010614399565b149392505050565b6000806120236130ae565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156121a05760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061210f90614471565b80601f016020809104026020016040519081016040528092919081815260200182805461213b90614471565b80156121885780601f1061215d57610100808354040283529160200191612188565b820191906000526020600020905b81548152906001019060200180831161216b57829003601f168201915b5050505050815250508152602001906001019061209b565b5050505081526020016006820180546121b890614471565b80601f01602080910402602001604051908101604052809291908181526020018280546121e490614471565b80156122315780601f1061220657610100808354040283529160200191612231565b820191906000526020600020905b81548152906001019060200180831161221457829003601f168201915b505050919092525050506001830154604051631f27a4f360e11b8152600481018790529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa15801561228c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b09190614678565b905060068160098111156122c6576122c6614399565b141580156122e6575060088160098111156122e3576122e3614399565b14155b80156123045750600981600981111561230157612301614399565b14155b1561231457506000949350505050565b600061232c8660018560a0015151610eef91906144c1565b9050600081600381111561234257612342614399565b148061235f5750600381600381111561235d5761235d614399565b145b156123705750600095945050505050565b50600195945050505050565b6123846139c2565b61238c6137d3565b60006123966130ae565b600084815260208290526040902060058101549192509083106123d0578383604051631e153ebf60e21b8152600401610f569291906144d4565b60048101546001600160a01b031633811461240f576040516395efd21560e01b81523360048201526001600160a01b0382166024820152604401610f56565b6000826005018581548110612426576124266144e2565b60009182526020918290206040805160a081018252600390930290910180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061249390614471565b80601f01602080910402602001604051908101604052809291908181526020018280546124bf90614471565b801561250c5780601f106124e15761010080835404028352916020019161250c565b820191906000526020600020905b8154815290600101906020018083116124ef57829003601f168201915b50505050508152505090506000612523878761354b565b9050600181600381111561253957612539614399565b141580156125595750600281600381111561255657612556614399565b14155b1561257b578686604051636ff77edd60e01b8152600401610f569291906144d4565b600281600381111561258f5761258f614399565b036125b157868660405163627f243d60e11b8152600401610f569291906144d4565b815160038601546040516370a0823160e01b81526001600160a01b03909116906370a08231906125e5903090600401613e76565b602060405180830381865afa158015612602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126269190614699565b10156126bb5760038501546040516370a0823160e01b81526001600160a01b03909116906370a082319061265e903090600401613e76565b602060405180830381865afa15801561267b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269f9190614699565b825160405162fae2d560e21b8152610f569291906004016144d4565b6003850154825160405163a9059cbb60e01b81526000926001600160a01b03169163a9059cbb916126f09188916004016146b2565b6020604051808303816000875af115801561270f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273391906146cb565b905080612753576040516312171d8360e31b815260040160405180910390fd5b600185600501888154811061276a5761276a6144e2565b906000526020600020906003020160010160006101000a81548160ff02191690831515021790555082600001518560020160008282546127aa9190614511565b90915550508251604051908152879089907f6ecdb8cbf47483e6e73593d9d08161bd1c750eb1a8b0cfbaabc80317d281adbe9060200160405180910390a3505050505050610c766139f8565b60006128006130ae565b6000848152602082905260409020600301549091506001600160a01b0316331461283d5760405163ea8e4eb560e01b815260040160405180910390fd5b600083815260208290526040902060060161285883826145a0565b50827ff54adc4fa88871bb9bb39a4fc2f5dc8b81291d5f344fd26b636ad128e8cab3a4836040516128899190614337565b60405180910390a2505050565b6000806128a16130ae565b600301546001600160a01b031692915050565b606060006128c06130ae565b60008481526020829052604090206006018054919250906128e090614471565b80601f016020809104026020016040519081016040528092919081815260200182805461290c90614471565b80156129595780601f1061292e57610100808354040283529160200191612959565b820191906000526020600020905b81548152906001019060200180831161293c57829003601f168201915b5050505050915050919050565b61296f826108ff565b612978816130d2565b610bd083836131a4565b60008061298d6130ae565b6000938452602052505060409020600401546001600160a01b031690565b8160006129b66130ae565b90506129d060008051602061472a833981519152336119ae565b806129fd57506000828152602082905260409020600401546001600160a01b0316336001600160a01b0316145b612a1a5760405163ea8e4eb560e01b815260040160405180910390fd5b6000612a246130ae565b6000868152602082905260409081902060040180546001600160a01b0319166001600160a01b0388161790555190915085907f1796595f8b84e72820b0e06df582ff944db24f5e710795c7c8ac5112e6de039e90612a83908790613e76565b60405180910390a25050505050565b6000612a9e838361354b565b9392505050565b60008051602061470a8339815191526000612abe6130ae565b9050612aca82336119ae565b80612ae85750612ae860008051602061472a833981519152336119ae565b612b055760405163ea8e4eb560e01b815260040160405180910390fd5b6000612b0f6130ae565b60008581526020828152604080832060050180548251818502810185019093528083529495509293909291849084015b82821015612c445760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190612bb390614471565b80601f0160208091040260200160405190810160405280929190818152602001828054612bdf90614471565b8015612c2c5780601f10612c0157610100808354040283529160200191612c2c565b820191906000526020600020905b815481529060010190602001808311612c0f57829003601f168201915b50505050508152505081526020019060010190612b3f565b505050509050612c5385612018565b15612c745760405163b2e459af60e01b815260048101869052602401610f56565b612c7d85610fd1565b15612c9e57604051633dba08ff60e01b815260048101869052602401610f56565b60005b8151811015612d2e576000612cb6878361354b565b6003811115612cc757612cc7614399565b03612d1c57600086815260208490526040902060050180546001919083908110612cf357612cf36144e2565b906000526020600020906003020160010160026101000a81548160ff0219169083151502179055505b80612d26816144f8565b915050612ca1565b50612d3885613a09565b60405185907ff9125771cfea9a399996ab1f5e54c097b3bf95285fd184c2b05fdcef4dee834b90600090a25050505050565b6000612d74613b8f565b805490915060ff600160401b82041615906001600160401b0316600081158015612d9b5750825b90506000826001600160401b03166001148015612db75750303b155b905081158015612dc5575080155b15612de35760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315612e0c57845460ff60401b1916600160401b1785555b6001600160a01b038a16612e615760405162461bcd60e51b815260206004820152601c60248201527b0476f7665726e6f7220616464726573732063616e6e6f7420626520360241b6044820152606401610f56565b6001600160a01b038916612eb65760405162461bcd60e51b815260206004820152601c60248201527b0547265617375727920616464726573732063616e6e6f7420626520360241b6044820152606401610f56565b6001600160a01b038716612f075760405162461bcd60e51b815260206004820152601860248201527704233545220616464726573732063616e6e6f7420626520360441b6044820152606401610f56565b6001600160a01b038816612f675760405162461bcd60e51b815260206004820152602160248201527f44656661756c742061646d696e20616464726573732063616e6e6f74206265206044820152600360fc1b6064820152608401610f56565b60008611612fc35760405162461bcd60e51b815260206004820152602360248201527f4d696e696d756d206d696c6573746f6e6520636f756e742063616e6e6f74206260448201526206520360ec1b6064820152608401610f56565b612fcb613bb3565b612fd3613bb3565b612fdb613bbb565b612fe3613bcb565b612fee600089613103565b5061300760008051602061472a8339815191528b613103565b5060006130126130ae565b6001810180546001600160a01b03808f166001600160a01b0319928316179092556002830180548e8416908316179055600383018054928c16929091169190911790556004018790555083156130a257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b7f827ef7a586340a0afd9df4d10dcd47e35ee20572dbc95830311fcb8284606d0090565b6130dc8133613bdb565b50565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b60008061310e6130df565b905061311a84846119ae565b61319a576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556131503390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610883565b6000915050610883565b6000806131af6130df565b90506131bb84846119ae565b1561319a576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610883565b613224613c06565b600061322e61342f565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516132689190613e76565b60405180910390a150565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806132fa57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166132ee60008051602061478a833981519152546001600160a01b031690565b6001600160a01b031614155b156133185760405163703e46dd60e11b815260040160405180910390fd5b565b60008051602061476a833981519152610c76816130d2565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561338c575060408051601f3d908101601f1916820190925261338991810190614699565b60015b6133ab5781604051634c9c8ce360e01b8152600401610f569190613e76565b60008051602061478a83398151915281146133dc57604051632a87526960e21b815260048101829052602401610f56565b610c098383613c2b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146133185760405163703e46dd60e11b815260040160405180910390fd5b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b600061345d6130ae565b6001810154604051631f27a4f360e11b8152600481018590529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa1580156134ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134d29190614678565b905060068160098111156134e8576134e8614399565b14610c09576040516326ac2ff960e11b815260048101849052602401610f56565b6000613515838361354b565b9050600081600381111561352b5761352b614399565b14610c095780604051632367a31d60e01b8152600401610f5691906143f9565b6000806135566130ae565b600085815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156136d35760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061364290614471565b80601f016020809104026020016040519081016040528092919081815260200182805461366e90614471565b80156136bb5780601f10613690576101008083540402835291602001916136bb565b820191906000526020600020905b81548152906001019060200180831161369e57829003601f168201915b505050505081525050815260200190600101906135ce565b5050505081526020016006820180546136eb90614471565b80601f016020809104026020016040519081016040528092919081815260200182805461371790614471565b80156137645780601f1061373957610100808354040283529160200191613764565b820191906000526020600020905b81548152906001019060200180831161374757829003601f168201915b505050505081525050905060008160a001518581518110613787576137876144e2565b602002602001015190508060600151156137a75760039350505050610883565b8060200151156137bd5760029350505050610883565b806040015115611d375760019350505050610883565b6137db610e44565b156133185760405163d93c066560e01b815260040160405180910390fd5b60006138036130ae565b60018101549091506001600160a01b031633146138335760405163ea8e4eb560e01b815260040160405180910390fd5b60608201516001600160a01b031661385e57604051636592311760e01b815260040160405180910390fd5b8160c00151516000036138845760405163436f9d5760e01b815260040160405180910390fd5b60005b8260a00151518110156138eb578260a0015181815181106138aa576138aa6144e2565b6020026020010151600001516000036138d957604051632afb5d5160e21b815260048101829052602401610f56565b806138e3816144f8565b915050613887565b50816020015160000361391157604051632b2f408960e11b815260040160405180910390fd5b8160200151826040015111156139465781604001518260200151604051633b9f12cf60e01b8152600401610f569291906144d4565b80600401548260a00151511015610c765760a08201515160048083015460405163fd1c0ddb60e01b8152610f569392016144d4565b6139836137d3565b600061398d61342f565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861325b3390565b60006139cc613c81565b8054909150600119016139f257604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6000613a02613c81565b6001905550565b6000613a136130ae565b600083815260208290526040812060028101546001909101549293509091613a3b91906144c1565b90508015613b5d5760038201546040516370a0823160e01b81526000916001600160a01b0316906370a0823190613a76903090600401613e76565b602060405180830381865afa158015613a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ab79190614699565b905081811015613add57808260405162fae2d560e21b8152600401610f569291906144d4565b6003830154600284015460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92613b179291169086906004016146b2565b6020604051808303816000875af1158015613b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5a91906146cb565b50505b827f122fca773bdc90ed7da7c637fa41c96069c5b596f4ebfacfe0787da4ecce86938260405161288991815260200190565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613318613ca5565b613bc3613ca5565b613318613cca565b613bd3613ca5565b613318613ce7565b613be582826119ae565b610c7657808260405163e2517d3f60e01b8152600401610f569291906146b2565b613c0e610e44565b61331857604051638dfc202b60e01b815260040160405180910390fd5b613c3482613cef565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613c7957610c098282613d4b565b610c76613dc1565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b613cad613de0565b61331857604051631afcd79f60e31b815260040160405180910390fd5b613cd2613ca5565b6000613cdc61342f565b805460ff1916905550565b6139f8613ca5565b806001600160a01b03163b600003613d1c5780604051634c9c8ce360e01b8152600401610f569190613e76565b60008051602061478a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613d6891906146ed565b600060405180830381855af49150503d8060008114613da3576040519150601f19603f3d011682016040523d82523d6000602084013e613da8565b606091505b5091509150613db8858383613dfa565b95945050505050565b34156133185760405163b398979f60e01b815260040160405180910390fd5b6000613dea613b8f565b54600160401b900460ff16919050565b606082613e0f57613e0a82613e4d565b612a9e565b8151158015613e2657506001600160a01b0384163b155b15613e465783604051639996b31560e01b8152600401610f569190613e76565b5092915050565b805115613e5d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0391909116815260200190565b600060208284031215613e9c57600080fd5b81356001600160e01b031981168114612a9e57600080fd5b6001600160a01b03811681146130dc57600080fd5b600060208284031215613edb57600080fd5b8135612a9e81613eb4565b600060208284031215613ef857600080fd5b5035919050565b60005b83811015613f1a578181015183820152602001613f02565b50506000910152565b60008151808452613f3b816020860160208601613eff565b601f01601f19169290920160200192915050565b805182526020810151151560208301526040810151151560408301526060810151151560608301526000608082015160a06080850152611fe960a0850182613f23565b60006020808352610100830184518285015281850151604085015260408501516060850152606085015160018060a01b0380821660808701528060808801511660a0870152505060a085015160e060c086015281815180845261012093508387019150838160051b8801019350848301925060005b818110156140365761011f19888603018352614024858551613f4f565b94509285019291850191600101614007565b5050505060c0850151848203601f190160e08601529150613db88183613f23565b6000806040838503121561406a57600080fd5b82359150602083013561407c81613eb4565b809150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156140dc57603f198886030184526140ca858351613f4f565b945092850192908501906001016140ae565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614127576141276140e9565b604052919050565b600082601f83011261414057600080fd5b81356001600160401b03811115614159576141596140e9565b61416c601f8201601f19166020016140ff565b81815284602083860101111561418157600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156141b157600080fd5b82356141bc81613eb4565b915060208301356001600160401b038111156141d757600080fd5b6141e38582860161412f565b9150509250929050565b6000806040838503121561420057600080fd5b50508035926020909101359150565b600080600080600060a0868803121561422757600080fd5b85356001600160401b038082111561423e57600080fd5b61424a89838a0161412f565b965060209150818801359550604088013561426481613eb4565b9450606088013561427481613eb4565b935060808801358181111561428857600080fd5b8801601f81018a1361429957600080fd5b8035828111156142ab576142ab6140e9565b8060051b6142ba8582016140ff565b918252828101850191858101908d8411156142d457600080fd5b86850192505b83831015614310578235868111156142f25760008081fd5b6143008f898389010161412f565b83525091860191908601906142da565b809750505050505050509295509295909350565b602081526000612a9e6020830184613f4f565b602081526000612a9e6020830184613f23565b60008060006060848603121561435f57600080fd5b833592506020840135915060408401356001600160401b0381111561438357600080fd5b61438f8682870161412f565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60208101600a83106143c3576143c3614399565b91905290565b600080604083850312156143dc57600080fd5b8235915060208301356001600160401b038111156141d757600080fd5b60208101600483106143c3576143c3614399565b600080600080600060a0868803121561442557600080fd5b853561443081613eb4565b9450602086013561444081613eb4565b9350604086013561445081613eb4565b9250606086013561446081613eb4565b949793965091946080013592915050565b600181811c9082168061448557607f821691505b6020821081036144a557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610883576108836144ab565b918252602082015260400190565b634e487b7160e01b600052603260045260246000fd5b60006001820161450a5761450a6144ab565b5060010190565b80820180821115610883576108836144ab565b6000806040838503121561453757600080fd5b825161454281613eb4565b6020939093015192949293505050565b601f821115610c0957600081815260208120601f850160051c810160208610156145795750805b601f850160051c820191505b8181101561459857828155600101614585565b505050505050565b81516001600160401b038111156145b9576145b96140e9565b6145cd816145c78454614471565b84614552565b602080601f83116001811461460257600084156145ea5750858301515b600019600386901b1c1916600185901b178555614598565b600085815260208120601f198616915b8281101561463157888601518255948401946001909101908401614612565b508582101561464f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b828152604060208201526000611fe96040830184613f23565b60006020828403121561468a57600080fd5b8151600a8110612a9e57600080fd5b6000602082840312156146ab57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b6000602082840312156146dd57600080fd5b81518015158114612a9e57600080fd5b600082516146ff818460208701613eff565b919091019291505056fec30f7ed76aad52e1db9d4574c81f8eeb708f6974b7f45424a3f1b7394c2885e171840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1345699b3779e7f0f3201b7d9d8c3e2bc3ce9f29696be4e3eebc592beb21727c3189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a47aa345c1c0453f4ea63d2f908a9cb372d89b5a419b982b903f655cfc8fb9956a26469706673582212208a9c733de35660042d82b834cda20f55226a8f06238969ef7e9e931b59f00b3c64736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x481F PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x327E ADD MSTORE DUP2 DUP2 PUSH2 0x32A7 ADD MSTORE PUSH2 0x33F1 ADD MSTORE PUSH2 0x481F PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x217 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x19CCE6 EQ PUSH2 0x21C JUMPI DUP1 PUSH4 0x1294764 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x26A JUMPI DUP1 PUSH4 0x6C49822 EQ PUSH2 0x29A JUMPI DUP1 PUSH4 0x1ED65110 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x21AFD1F6 EQ PUSH2 0x2DC JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0x24AD94CD EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0x26C74FC3 EQ PUSH2 0x34B JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x360 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x380 JUMPI DUP1 PUSH4 0x3F36CD7F EQ PUSH2 0x3A0 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x3C2 JUMPI DUP1 PUSH4 0x42C549C0 EQ PUSH2 0x3D7 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x404 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x417 JUMPI DUP1 PUSH4 0x54B90B7B EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x44C JUMPI DUP1 PUSH4 0x5ADE3874 EQ PUSH2 0x460 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x480 JUMPI DUP1 PUSH4 0x767B1602 EQ PUSH2 0x495 JUMPI DUP1 PUSH4 0x7DA17BF3 EQ PUSH2 0x4B5 JUMPI DUP1 PUSH4 0x808860A5 EQ PUSH2 0x4D5 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x4F5 JUMPI DUP1 PUSH4 0x8ED9895C EQ PUSH2 0x50A JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x537 JUMPI DUP1 PUSH4 0x9B154087 EQ PUSH2 0x557 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x577 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x58C JUMPI DUP1 PUSH4 0xB2A2EEF9 EQ PUSH2 0x5CA JUMPI DUP1 PUSH4 0xB3396778 EQ PUSH2 0x5EA JUMPI DUP1 PUSH4 0xBFDA4E7C EQ PUSH2 0x60A JUMPI DUP1 PUSH4 0xC1A45A6A EQ PUSH2 0x637 JUMPI DUP1 PUSH4 0xC2249389 EQ PUSH2 0x657 JUMPI DUP1 PUSH4 0xC266AEF7 EQ PUSH2 0x677 JUMPI DUP1 PUSH4 0xC42433B4 EQ PUSH2 0x697 JUMPI DUP1 PUSH4 0xC4EC8F98 EQ PUSH2 0x6B7 JUMPI DUP1 PUSH4 0xCFF28C70 EQ PUSH2 0x6CC JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x6EC JUMPI DUP1 PUSH4 0xDA104FAC EQ PUSH2 0x70C JUMPI DUP1 PUSH4 0xE03D759B EQ PUSH2 0x72C JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x74C JUMPI DUP1 PUSH4 0xE9AF5D1B EQ PUSH2 0x76E JUMPI DUP1 PUSH4 0xF23E227B EQ PUSH2 0x79B JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0x7BB JUMPI DUP1 PUSH4 0xF7013EF6 EQ PUSH2 0x7DD JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0x7FD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x228 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x81F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x83D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x285 CALLDATASIZE PUSH1 0x4 PUSH2 0x3E8A JUMP JUMPDEST PUSH2 0x852 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x2B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EC9 JUMP JUMPDEST PUSH2 0x889 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x2D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EC9 JUMP JUMPDEST PUSH2 0x8C4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x470A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x8FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33E PUSH2 0x339 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x91F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x3F92 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0xB96 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x37B CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0xBB4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x39B CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0xBD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0xC0E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F7 PUSH2 0x3F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0xC7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4087 JUMP JUMPDEST PUSH2 0x2BA PUSH2 0x412 CALLDATASIZE PUSH1 0x4 PUSH2 0x419E JUMP JUMPDEST PUSH2 0xDC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0xDE1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x447 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EC9 JUMP JUMPDEST PUSH2 0xDFE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 PUSH2 0x25C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x46C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x47B CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0xE39 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0xE44 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x4B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0xE59 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x4D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0xFD1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x4F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x420F JUMP JUMPDEST PUSH2 0x1254 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x501 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x17E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x52A PUSH2 0x525 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4324 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x543 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x552 CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0x19AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x563 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x572 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x19E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x598 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4337 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x5E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x1D43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x605 CALLDATASIZE PUSH1 0x4 PUSH2 0x434A JUMP JUMPDEST PUSH2 0x1D63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x616 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x62A PUSH2 0x625 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x1EFC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x43AF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x652 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0x1FF1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x663 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x672 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x2018 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x692 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0x237C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x6B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C9 JUMP JUMPDEST PUSH2 0x27F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x2896 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BD PUSH2 0x6E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x28B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x707 CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0x2966 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x718 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x727 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x2982 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x747 CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0x29AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x758 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x78E PUSH2 0x789 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0x2A92 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x43F9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x7B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x2AA5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x7F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x440D JUMP JUMPDEST PUSH2 0x2D6A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x809 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x476A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x82A PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x848 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x4 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x883 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x894 DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x89E PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8CF DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D9 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A PUSH2 0x30DF JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x971 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x97B PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP1 SWAP6 SWAP2 SWAP5 PUSH1 0xA0 DUP8 ADD SWAP5 SWAP2 SWAP3 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xAF4 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0xA63 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA8F SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xADC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xAB1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xADC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xABF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x9EF JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0xB0C SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xB38 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xB85 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xB5A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xB85 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB68 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA1 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBBD DUP3 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0xBC6 DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH2 0xBD0 DUP4 DUP4 PUSH2 0x3103 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0xBFF JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC09 DUP3 DUP3 PUSH2 0x31A4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0xC27 PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0xC33 DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0xC51 JUMPI POP PUSH2 0xC51 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xC6E JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC76 PUSH2 0x321C JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xC86 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP1 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xDBA JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0xD29 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD55 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDA2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD77 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDA2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD85 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xCB5 JUMP JUMPDEST POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCE PUSH2 0x3273 JUMP JUMPDEST PUSH2 0xDD7 DUP3 PUSH2 0x331A JUMP JUMPDEST PUSH2 0xC76 DUP3 DUP3 PUSH2 0x3332 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDEB PUSH2 0x33E6 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE09 DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE13 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE4F PUSH2 0x342F JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0xE72 PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0xE7E DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0xE9C JUMPI POP PUSH2 0xE9C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xEB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEC3 PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0xECE DUP6 PUSH2 0x3453 JUMP JUMPDEST PUSH2 0xED8 DUP6 DUP6 PUSH2 0x3509 JUMP JUMPDEST DUP4 ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 PUSH2 0xEF4 DUP7 PUSH2 0xEEF PUSH1 0x1 DUP9 PUSH2 0x44C1 JUMP JUMPDEST PUSH2 0x354B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xF0A JUMPI PUSH2 0xF0A PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0xF2A JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0xF5F JUMPI DUP6 PUSH2 0xF3B PUSH1 0x1 DUP8 PUSH2 0x44C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x414E3AC7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP7 SWAP1 DUP2 LT PUSH2 0xF88 JUMPI PUSH2 0xF88 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x3 SWAP1 SWAP3 MUL ADD ADD DUP1 SLOAD SWAP3 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD DUP6 SWAP2 DUP8 SWAP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x474A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFDC PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1159 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x10C8 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10F4 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1141 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1116 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1141 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1124 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1054 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1171 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x119D SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11EA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x11BF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11EA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11CD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x1249 JUMPI DUP2 PUSH1 0xA0 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x121B JUMPI PUSH2 0x121B PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x60 ADD MLOAD ISZERO PUSH2 0x1237 JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x1241 DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11F8 JUMP JUMPDEST POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x125E PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x1278 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1295 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x129D PUSH2 0x37D3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12A7 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP DUP1 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x152E JUMPI PUSH1 0x0 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x12D7 JUMPI PUSH2 0x12D7 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD SWAP1 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0x8E184B3F PUSH1 0xE0 SHL EQ PUSH2 0x1327 JUMPI PUSH1 0x40 MLOAD PUSH4 0x10CB7CF1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP4 MLOAD PUSH2 0x1337 SWAP2 SWAP1 PUSH2 0x44C1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x134E JUMPI PUSH2 0x134E PUSH2 0x40E9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1378 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x13E9 JUMPI DUP4 PUSH2 0x1393 DUP3 PUSH1 0x4 PUSH2 0x4511 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x13A3 JUMPI PUSH2 0x13A3 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x13C0 JUMPI PUSH2 0x13C0 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 PUSH2 0x13E1 DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x137E JUMP JUMPDEST POP PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1401 SWAP2 SWAP1 PUSH2 0x4524 JUMP JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ADDRESS EQ PUSH2 0x1431 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0xD08525E9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x1452 JUMPI PUSH1 0x40 MLOAD PUSH4 0x162908E3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x145C DUP2 DUP9 PUSH2 0x4511 JUMP JUMPDEST PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 DUP12 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xA0 DUP2 ADD DUP4 MSTORE DUP7 DUP2 MSTORE DUP1 DUP5 ADD DUP6 DUP2 MSTORE DUP2 DUP5 ADD DUP7 DUP2 MSTORE PUSH1 0x60 DUP4 ADD DUP8 DUP2 MSTORE DUP6 MLOAD DUP1 DUP9 ADD SWAP1 SWAP7 MSTORE DUP8 DUP7 MSTORE PUSH1 0x80 DUP5 ADD SWAP6 DUP7 MSTORE PUSH1 0x5 SWAP1 SWAP5 ADD DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP10 MSTORE SWAP7 SWAP1 SWAP8 KECCAK256 DUP4 MLOAD PUSH1 0x3 SWAP1 SWAP8 MUL ADD SWAP6 DUP7 SSTORE SWAP1 MLOAD SWAP6 DUP6 ADD DUP1 SLOAD SWAP2 MLOAD SWAP4 MLOAD ISZERO ISZERO PUSH3 0x10000 MUL PUSH3 0xFF0000 NOT SWAP5 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP9 ISZERO ISZERO SWAP9 SWAP1 SWAP9 AND PUSH2 0xFFFF NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP7 SWAP1 SWAP7 OR SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP4 SSTORE MLOAD SWAP3 SWAP10 POP SWAP1 SWAP2 PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x1513 SWAP1 DUP3 PUSH2 0x45A0 JUMP JUMPDEST POP POP POP POP POP POP POP POP DUP1 DUP1 PUSH2 0x1526 SWAP1 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x12BA JUMP JUMPDEST POP DUP8 DUP3 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x6 DUP3 ADD PUSH2 0x155D DUP11 DUP3 PUSH2 0x45A0 JUMP JUMPDEST POP PUSH1 0x1 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x0 PUSH1 0x2 DUP4 ADD DUP2 SWAP1 SSTORE PUSH1 0x4 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0xE0 DUP2 ADD DUP3 MSTORE DUP7 SLOAD DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP8 SWAP1 MSTORE DUP2 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x3 DUP9 ADD SLOAD SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x5 DUP7 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP7 MUL DUP2 ADD DUP7 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE PUSH2 0x178C SWAP6 SWAP4 SWAP5 DUP9 SWAP5 PUSH1 0xA0 DUP8 ADD SWAP5 SWAP4 SWAP3 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x16ED JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x165C SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1688 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16D5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16AA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x16D5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x16B8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x15E8 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1705 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1731 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x177E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1753 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x177E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1761 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP PUSH2 0x37F9 JUMP JUMPDEST DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0x4881ACB9050BCF1B58CD99D39B4D4497E03C9961E7466FDB95D6E422CD6F9553 DUP5 DUP14 PUSH1 0x40 MLOAD PUSH2 0x17D2 SWAP3 SWAP2 SWAP1 PUSH2 0x465F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x17FE PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x180A DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x1828 JUMPI POP PUSH2 0x1828 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1845 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC76 PUSH2 0x397B JUMP JUMPDEST PUSH2 0x1885 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x188F PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x18B6 JUMPI PUSH2 0x18B6 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 SWAP1 SWAP4 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x1923 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x194F SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x199C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1971 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x199C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x197F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19B9 PUSH2 0x30DF JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19EF PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1B6C JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x1ADB SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B07 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B54 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B29 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B54 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B37 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1A67 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1B84 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1BB0 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1BFD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1BD2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1BFD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BE0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 SWAP1 SWAP3 MSTORE POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C7C SWAP2 SWAP1 PUSH2 0x4678 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1C92 JUMPI PUSH2 0x1C92 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x1CB2 JUMPI POP PUSH1 0x8 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1CAF JUMPI PUSH2 0x1CAF PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x1CD0 JUMPI POP PUSH1 0x9 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1CCD JUMPI PUSH2 0x1CCD PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x1CE0 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x1D37 JUMPI PUSH1 0x0 PUSH2 0x1CFC DUP8 DUP4 PUSH2 0x354B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1D12 JUMPI PUSH2 0x1D12 PUSH2 0x4399 JUMP JUMPDEST SUB PUSH2 0x1D24 JUMPI POP PUSH1 0x1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST POP DUP1 PUSH2 0x1D2F DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1CE3 JUMP JUMPDEST POP PUSH1 0x0 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4E DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D58 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x4 ADD SWAP3 SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x1D7C PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x1D88 DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x1DA6 JUMPI POP PUSH2 0x1DA6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1DC3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1DCD PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x1DD8 DUP7 PUSH2 0x3453 JUMP JUMPDEST PUSH2 0x1DE2 DUP7 DUP7 PUSH2 0x3509 JUMP JUMPDEST DUP5 ISZERO PUSH2 0x1E42 JUMPI PUSH1 0x0 PUSH2 0x1DF9 DUP8 PUSH2 0xEEF PUSH1 0x1 DUP10 PUSH2 0x44C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E0F JUMPI PUSH2 0x1E0F PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x1E2F JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E2C JUMPI PUSH2 0x1E2C PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x1E40 JUMPI DUP7 PUSH2 0xF3B PUSH1 0x1 DUP9 PUSH2 0x44C1 JUMP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP8 SWAP1 DUP2 LT PUSH2 0x1E69 JUMPI PUSH2 0x1E69 PUSH2 0x44E2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x5 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1EBB JUMPI PUSH2 0x1EBB PUSH2 0x44E2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SWAP1 DUP2 PUSH2 0x1ED8 SWAP2 SWAP1 PUSH2 0x45A0 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x474A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1F07 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F7C SWAP2 SWAP1 PUSH2 0x4678 JUMP JUMPDEST SWAP1 POP PUSH2 0x1F87 DUP5 PUSH2 0xFD1 JUMP JUMPDEST ISZERO PUSH2 0x1F96 JUMPI POP PUSH1 0x2 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1F9F DUP5 PUSH2 0x19E4 JUMP JUMPDEST ISZERO PUSH2 0x1FAE JUMPI POP PUSH1 0x8 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1FB7 DUP5 PUSH2 0x2018 JUMP JUMPDEST ISZERO PUSH2 0x1FC6 JUMPI POP PUSH1 0x9 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1FD8 JUMPI PUSH2 0x1FD8 PUSH2 0x4399 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1FE9 JUMPI PUSH2 0x1FE9 PUSH2 0x4399 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1FFF DUP5 DUP5 PUSH2 0x354B JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2010 JUMPI PUSH2 0x2010 PUSH2 0x4399 JUMP JUMPDEST EQ SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2023 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x21A0 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x210F SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x213B SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2188 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x215D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2188 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x216B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x209B JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x21B8 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x21E4 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2231 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2206 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2231 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2214 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 SWAP1 SWAP3 MSTORE POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x228C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22B0 SWAP2 SWAP1 PUSH2 0x4678 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x22C6 JUMPI PUSH2 0x22C6 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x22E6 JUMPI POP PUSH1 0x8 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x22E3 JUMPI PUSH2 0x22E3 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x2304 JUMPI POP PUSH1 0x9 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x2301 JUMPI PUSH2 0x2301 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x2314 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x232C DUP7 PUSH1 0x1 DUP6 PUSH1 0xA0 ADD MLOAD MLOAD PUSH2 0xEEF SWAP2 SWAP1 PUSH2 0x44C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2342 JUMPI PUSH2 0x2342 PUSH2 0x4399 JUMP JUMPDEST EQ DUP1 PUSH2 0x235F JUMPI POP PUSH1 0x3 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x235D JUMPI PUSH2 0x235D PUSH2 0x4399 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2370 JUMPI POP PUSH1 0x0 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2384 PUSH2 0x39C2 JUMP JUMPDEST PUSH2 0x238C PUSH2 0x37D3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2396 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 DUP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 DUP4 LT PUSH2 0x23D0 JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x1E153EBF PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP2 EQ PUSH2 0x240F JUMPI PUSH1 0x40 MLOAD PUSH4 0x95EFD215 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x5 ADD DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x2426 JUMPI PUSH2 0x2426 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 SWAP1 SWAP4 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2493 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x24BF SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x250C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x24E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x250C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x24EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x2523 DUP8 DUP8 PUSH2 0x354B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2539 JUMPI PUSH2 0x2539 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x2559 JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2556 JUMPI PUSH2 0x2556 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x257B JUMPI DUP7 DUP7 PUSH1 0x40 MLOAD PUSH4 0x6FF77EDD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x258F JUMPI PUSH2 0x258F PUSH2 0x4399 JUMP JUMPDEST SUB PUSH2 0x25B1 JUMPI DUP7 DUP7 PUSH1 0x40 MLOAD PUSH4 0x627F243D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x3 DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x25E5 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2602 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2626 SWAP2 SWAP1 PUSH2 0x4699 JUMP JUMPDEST LT ISZERO PUSH2 0x26BB JUMPI PUSH1 0x3 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x265E SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x267B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x269F SWAP2 SWAP1 PUSH2 0x4699 JUMP JUMPDEST DUP3 MLOAD PUSH1 0x40 MLOAD PUSH3 0xFAE2D5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x3 DUP6 ADD SLOAD DUP3 MLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0xA9059CBB SWAP2 PUSH2 0x26F0 SWAP2 DUP9 SWAP2 PUSH1 0x4 ADD PUSH2 0x46B2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x270F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2733 SWAP2 SWAP1 PUSH2 0x46CB JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2753 JUMPI PUSH1 0x40 MLOAD PUSH4 0x12171D83 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0x5 ADD DUP9 DUP2 SLOAD DUP2 LT PUSH2 0x276A JUMPI PUSH2 0x276A PUSH2 0x44E2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x27AA SWAP2 SWAP1 PUSH2 0x4511 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP DUP3 MLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE DUP8 SWAP1 DUP10 SWAP1 PUSH32 0x6ECDB8CBF47483E6E73593D9D08161BD1C750EB1A8B0CFBAABC80317D281ADBE SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP PUSH2 0xC76 PUSH2 0x39F8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2800 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x283D JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x6 ADD PUSH2 0x2858 DUP4 DUP3 PUSH2 0x45A0 JUMP JUMPDEST POP DUP3 PUSH32 0xF54ADC4FA88871BB9BB39A4FC2F5DC8B81291D5F344FD26B636AD128E8CAB3A4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x2889 SWAP2 SWAP1 PUSH2 0x4337 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28A1 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x28C0 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x6 ADD DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x28E0 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x290C SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2959 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x292E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2959 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x293C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x296F DUP3 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0x2978 DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH2 0xBD0 DUP4 DUP4 PUSH2 0x31A4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x298D PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 PUSH2 0x29B6 PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x29D0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x29FD JUMPI POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x2A1A JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A24 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP6 SWAP1 PUSH32 0x1796595F8B84E72820B0E06DF582FF944DB24F5E710795C7C8AC5112E6DE039E SWAP1 PUSH2 0x2A83 SWAP1 DUP8 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A9E DUP4 DUP4 PUSH2 0x354B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x470A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x2ABE PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x2ACA DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x2AE8 JUMPI POP PUSH2 0x2AE8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x2B05 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2B0F PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP5 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x2C44 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2BB3 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2BDF SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2C2C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C01 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2C2C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2C0F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2B3F JUMP JUMPDEST POP POP POP POP SWAP1 POP PUSH2 0x2C53 DUP6 PUSH2 0x2018 JUMP JUMPDEST ISZERO PUSH2 0x2C74 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB2E459AF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0x2C7D DUP6 PUSH2 0xFD1 JUMP JUMPDEST ISZERO PUSH2 0x2C9E JUMPI PUSH1 0x40 MLOAD PUSH4 0x3DBA08FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x2D2E JUMPI PUSH1 0x0 PUSH2 0x2CB6 DUP8 DUP4 PUSH2 0x354B JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2CC7 JUMPI PUSH2 0x2CC7 PUSH2 0x4399 JUMP JUMPDEST SUB PUSH2 0x2D1C JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP5 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x2CF3 JUMPI PUSH2 0x2CF3 PUSH2 0x44E2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST DUP1 PUSH2 0x2D26 DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CA1 JUMP JUMPDEST POP PUSH2 0x2D38 DUP6 PUSH2 0x3A09 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP6 SWAP1 PUSH32 0xF9125771CFEA9A399996AB1F5E54C097B3BF95285FD184C2B05FDCEF4DEE834B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D74 PUSH2 0x3B8F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x2D9B JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x2DB7 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x2DC5 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x2DE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x2E0C JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH2 0x2E61 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x476F7665726E6F7220616464726573732063616E6E6F74206265203 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH2 0x2EB6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x547265617375727920616464726573732063616E6E6F74206265203 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH2 0x2F07 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x4233545220616464726573732063616E6E6F74206265203 PUSH1 0x44 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0x2F67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x44656661756C742061646D696E20616464726573732063616E6E6F7420626520 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 DUP7 GT PUSH2 0x2FC3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E696D756D206D696C6573746F6E6520636F756E742063616E6E6F742062 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x65203 PUSH1 0xEC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0x2FCB PUSH2 0x3BB3 JUMP JUMPDEST PUSH2 0x2FD3 PUSH2 0x3BB3 JUMP JUMPDEST PUSH2 0x2FDB PUSH2 0x3BBB JUMP JUMPDEST PUSH2 0x2FE3 PUSH2 0x3BCB JUMP JUMPDEST PUSH2 0x2FEE PUSH1 0x0 DUP10 PUSH2 0x3103 JUMP JUMPDEST POP PUSH2 0x3007 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP12 PUSH2 0x3103 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x3012 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP16 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD DUP15 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x3 DUP4 ADD DUP1 SLOAD SWAP3 DUP13 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 ADD DUP8 SWAP1 SSTORE POP DUP4 ISZERO PUSH2 0x30A2 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x827EF7A586340A0AFD9DF4D10DCD47E35EE20572DBC95830311FCB8284606D00 SWAP1 JUMP JUMPDEST PUSH2 0x30DC DUP2 CALLER PUSH2 0x3BDB JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x310E PUSH2 0x30DF JUMP JUMPDEST SWAP1 POP PUSH2 0x311A DUP5 DUP5 PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x319A JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x3150 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31AF PUSH2 0x30DF JUMP JUMPDEST SWAP1 POP PUSH2 0x31BB DUP5 DUP5 PUSH2 0x19AE JUMP JUMPDEST ISZERO PUSH2 0x319A JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH2 0x3224 PUSH2 0x3C06 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x322E PUSH2 0x342F JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3268 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x32FA JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x32EE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x476A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xC76 DUP2 PUSH2 0x30D2 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x338C JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3389 SWAP2 DUP2 ADD SWAP1 PUSH2 0x4699 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x33AB JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x33DC JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0xC09 DUP4 DUP4 PUSH2 0x3C2B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x345D PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x34AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x34D2 SWAP2 SWAP1 PUSH2 0x4678 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x34E8 JUMPI PUSH2 0x34E8 PUSH2 0x4399 JUMP JUMPDEST EQ PUSH2 0xC09 JUMPI PUSH1 0x40 MLOAD PUSH4 0x26AC2FF9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3515 DUP4 DUP4 PUSH2 0x354B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x352B JUMPI PUSH2 0x352B PUSH2 0x4399 JUMP JUMPDEST EQ PUSH2 0xC09 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x2367A31D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x43F9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3556 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x36D3 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3642 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x366E SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x36BB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3690 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x36BB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x369E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x35CE JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x36EB SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3717 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3764 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3739 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3764 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3747 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA0 ADD MLOAD DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x3787 JUMPI PUSH2 0x3787 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP1 PUSH1 0x60 ADD MLOAD ISZERO PUSH2 0x37A7 JUMPI PUSH1 0x3 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST DUP1 PUSH1 0x20 ADD MLOAD ISZERO PUSH2 0x37BD JUMPI PUSH1 0x2 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST DUP1 PUSH1 0x40 ADD MLOAD ISZERO PUSH2 0x1D37 JUMPI PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST PUSH2 0x37DB PUSH2 0xE44 JUMP JUMPDEST ISZERO PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3803 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3833 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x385E JUMPI PUSH1 0x40 MLOAD PUSH4 0x65923117 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xC0 ADD MLOAD MLOAD PUSH1 0x0 SUB PUSH2 0x3884 JUMPI PUSH1 0x40 MLOAD PUSH4 0x436F9D57 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x38EB JUMPI DUP3 PUSH1 0xA0 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x38AA JUMPI PUSH2 0x38AA PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x0 SUB PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2AFB5D51 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST DUP1 PUSH2 0x38E3 DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3887 JUMP JUMPDEST POP DUP2 PUSH1 0x20 ADD MLOAD PUSH1 0x0 SUB PUSH2 0x3911 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2B2F4089 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x40 ADD MLOAD GT ISZERO PUSH2 0x3946 JUMPI DUP2 PUSH1 0x40 ADD MLOAD DUP3 PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x3B9F12CF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD SLOAD DUP3 PUSH1 0xA0 ADD MLOAD MLOAD LT ISZERO PUSH2 0xC76 JUMPI PUSH1 0xA0 DUP3 ADD MLOAD MLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xFD1C0DDB PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0xF56 SWAP4 SWAP3 ADD PUSH2 0x44D4 JUMP JUMPDEST PUSH2 0x3983 PUSH2 0x37D3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x398D PUSH2 0x342F JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x325B CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39CC PUSH2 0x3C81 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x39F2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A02 PUSH2 0x3C81 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A13 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 PUSH2 0x3A3B SWAP2 SWAP1 PUSH2 0x44C1 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3B5D JUMPI PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x3A76 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A93 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3AB7 SWAP2 SWAP1 PUSH2 0x4699 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x3ADD JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH3 0xFAE2D5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 PUSH4 0xA9059CBB SWAP3 PUSH2 0x3B17 SWAP3 SWAP2 AND SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x46B2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3B36 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B5A SWAP2 SWAP1 PUSH2 0x46CB JUMP JUMPDEST POP POP JUMPDEST DUP3 PUSH32 0x122FCA773BDC90ED7DA7C637FA41C96069C5B596F4EBFACFE0787DA4ECCE8693 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2889 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x3318 PUSH2 0x3CA5 JUMP JUMPDEST PUSH2 0x3BC3 PUSH2 0x3CA5 JUMP JUMPDEST PUSH2 0x3318 PUSH2 0x3CCA JUMP JUMPDEST PUSH2 0x3BD3 PUSH2 0x3CA5 JUMP JUMPDEST PUSH2 0x3318 PUSH2 0x3CE7 JUMP JUMPDEST PUSH2 0x3BE5 DUP3 DUP3 PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xC76 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x46B2 JUMP JUMPDEST PUSH2 0x3C0E PUSH2 0xE44 JUMP JUMPDEST PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3C34 DUP3 PUSH2 0x3CEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x3C79 JUMPI PUSH2 0xC09 DUP3 DUP3 PUSH2 0x3D4B JUMP JUMPDEST PUSH2 0xC76 PUSH2 0x3DC1 JUMP JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x3CAD PUSH2 0x3DE0 JUMP JUMPDEST PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3CD2 PUSH2 0x3CA5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3CDC PUSH2 0x342F JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x39F8 PUSH2 0x3CA5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x3D1C JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x3D68 SWAP2 SWAP1 PUSH2 0x46ED JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3DA3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3DA8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x3DB8 DUP6 DUP4 DUP4 PUSH2 0x3DFA JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3DEA PUSH2 0x3B8F JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x3E0F JUMPI PUSH2 0x3E0A DUP3 PUSH2 0x3E4D JUMP JUMPDEST PUSH2 0x2A9E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x3E26 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x3E46 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x3E5D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3E9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x2A9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x30DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3EDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2A9E DUP2 PUSH2 0x3EB4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3EF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3F1A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x3F02 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x3F3B DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x3EFF JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x80 DUP3 ADD MLOAD PUSH1 0xA0 PUSH1 0x80 DUP6 ADD MSTORE PUSH2 0x1FE9 PUSH1 0xA0 DUP6 ADD DUP3 PUSH2 0x3F23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE PUSH2 0x100 DUP4 ADD DUP5 MLOAD DUP3 DUP6 ADD MSTORE DUP2 DUP6 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x80 DUP8 ADD MSTORE DUP1 PUSH1 0x80 DUP9 ADD MLOAD AND PUSH1 0xA0 DUP8 ADD MSTORE POP POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xE0 PUSH1 0xC0 DUP7 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x120 SWAP4 POP DUP4 DUP8 ADD SWAP2 POP DUP4 DUP2 PUSH1 0x5 SHL DUP9 ADD ADD SWAP4 POP DUP5 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4036 JUMPI PUSH2 0x11F NOT DUP9 DUP7 SUB ADD DUP4 MSTORE PUSH2 0x4024 DUP6 DUP6 MLOAD PUSH2 0x3F4F JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP2 DUP6 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4007 JUMP JUMPDEST POP POP POP POP PUSH1 0xC0 DUP6 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0xE0 DUP7 ADD MSTORE SWAP2 POP PUSH2 0x3DB8 DUP2 DUP4 PUSH2 0x3F23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x406A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x407C DUP2 PUSH2 0x3EB4 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x40DC JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x40CA DUP6 DUP4 MLOAD PUSH2 0x3F4F JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x40AE JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4127 JUMPI PUSH2 0x4127 PUSH2 0x40E9 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4159 JUMPI PUSH2 0x4159 PUSH2 0x40E9 JUMP JUMPDEST PUSH2 0x416C PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x40FF JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4181 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x41B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x41BC DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x41E3 DUP6 DUP3 DUP7 ADD PUSH2 0x412F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4200 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x423E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x424A DUP10 DUP4 DUP11 ADD PUSH2 0x412F JUMP JUMPDEST SWAP7 POP PUSH1 0x20 SWAP2 POP DUP2 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH2 0x4264 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH2 0x4274 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4288 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 ADD PUSH1 0x1F DUP2 ADD DUP11 SGT PUSH2 0x4299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x42AB JUMPI PUSH2 0x42AB PUSH2 0x40E9 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH2 0x42BA DUP6 DUP3 ADD PUSH2 0x40FF JUMP JUMPDEST SWAP2 DUP3 MSTORE DUP3 DUP2 ADD DUP6 ADD SWAP2 DUP6 DUP2 ADD SWAP1 DUP14 DUP5 GT ISZERO PUSH2 0x42D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 DUP6 ADD SWAP3 POP JUMPDEST DUP4 DUP4 LT ISZERO PUSH2 0x4310 JUMPI DUP3 CALLDATALOAD DUP7 DUP2 GT ISZERO PUSH2 0x42F2 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4300 DUP16 DUP10 DUP4 DUP10 ADD ADD PUSH2 0x412F JUMP JUMPDEST DUP4 MSTORE POP SWAP2 DUP7 ADD SWAP2 SWAP1 DUP7 ADD SWAP1 PUSH2 0x42DA JUMP JUMPDEST DUP1 SWAP8 POP POP POP POP POP POP POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2A9E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3F4F JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2A9E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3F23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x435F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x438F DUP7 DUP3 DUP8 ADD PUSH2 0x412F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0xA DUP4 LT PUSH2 0x43C3 JUMPI PUSH2 0x43C3 PUSH2 0x4399 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x43DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x4 DUP4 LT PUSH2 0x43C3 JUMPI PUSH2 0x43C3 PUSH2 0x4399 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4430 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x4440 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x4450 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x4460 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x4485 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x44A5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x883 JUMPI PUSH2 0x883 PUSH2 0x44AB JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x450A JUMPI PUSH2 0x450A PUSH2 0x44AB JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x883 JUMPI PUSH2 0x883 PUSH2 0x44AB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4537 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH2 0x4542 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD MLOAD SWAP3 SWAP5 SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC09 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x4579 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4598 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4585 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x45B9 JUMPI PUSH2 0x45B9 PUSH2 0x40E9 JUMP JUMPDEST PUSH2 0x45CD DUP2 PUSH2 0x45C7 DUP5 SLOAD PUSH2 0x4471 JUMP JUMPDEST DUP5 PUSH2 0x4552 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4602 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x45EA JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x4598 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4631 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x4612 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x464F JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1FE9 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x3F23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x468A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xA DUP2 LT PUSH2 0x2A9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x46AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x46DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2A9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x46FF DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x3EFF JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID 0xC3 0xF PUSH31 0xD76AAD52E1DB9D4574C81F8EEB708F6974B7F45424A3F1B7394C2885E17184 0xD 0xC4 SWAP1 PUSH4 0x52362B0C 0xDA 0xF7 SWAP9 PUSH17 0x196C8E42ACAFADE72D5D5A6D59291253CE 0xB1 CALLVALUE JUMP SWAP10 0xB3 PUSH24 0x9E7F0F3201B7D9D8C3E2BC3CE9F29696BE4E3EEBC592BEB2 OR 0x27 0xC3 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A47AA345C SHR DIV MSTORE8 DELEGATECALL 0xEA PUSH4 0xD2F908A9 0xCB CALLDATACOPY 0x2D DUP10 0xB5 LOG4 NOT 0xB9 DUP3 0xB9 SUB 0xF6 SSTORE 0xCF 0xC8 0xFB SWAP10 JUMP LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 SWAP13 PUSH20 0x3DE35660042D82B834CDA20F55226A8F06238969 0xEF PUSH31 0x9E931B59F00B3C64736F6C6343000814003300000000000000000000000000 ","sourceMap":"2298:26058:62:-:0;;;1171:4:3;1128:48;;3786:47:62;;;;;;;;;-1:-1:-1;3806:22:62;:20;:22::i;:::-;2298:26058;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;2298:26058:62;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@GOVERNANCE_ROLE_29419":{"entryPoint":null,"id":29419,"parameterSlots":0,"returnSlots":0},"@GRANTS_APPROVER_ROLE_29429":{"entryPoint":null,"id":29429,"parameterSlots":0,"returnSlots":0},"@GRANTS_REJECTOR_ROLE_29434":{"entryPoint":null,"id":29434,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_29439":{"entryPoint":null,"id":29439,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_29424":{"entryPoint":null,"id":29424,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":null,"id":63,"parameterSlots":0,"returnSlots":0},"@__Pausable_init_4039":{"entryPoint":15291,"id":4039,"parameterSlots":0,"returnSlots":0},"@__Pausable_init_unchained_4057":{"entryPoint":15562,"id":4057,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_4203":{"entryPoint":15307,"id":4203,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_unchained_4221":{"entryPoint":15591,"id":4221,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":15283,"id":1786,"parameterSlots":0,"returnSlots":0},"@_authorizeUpgrade_31376":{"entryPoint":13082,"id":31376,"parameterSlots":1,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":15525,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkMilestoneState_31356":{"entryPoint":13577,"id":31356,"parameterSlots":2,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":15809,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":13286,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProposalState_31329":{"entryPoint":13395,"id":31329,"parameterSlots":1,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":12915,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":12498,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":15323,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":12511,"id":46,"parameterSlots":0,"returnSlots":1},"@_getGrantsManagerStorage_29468":{"entryPoint":12462,"id":29468,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":15247,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getMilestoneState_30221":{"entryPoint":13643,"id":30221,"parameterSlots":2,"returnSlots":1},"@_getPausableStorage_4013":{"entryPoint":13359,"id":4013,"parameterSlots":0,"returnSlots":1},"@_getReentrancyGuardStorage_4191":{"entryPoint":15489,"id":4191,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":12547,"id":315,"parameterSlots":2,"returnSlots":1},"@_isInitializing_1722":{"entryPoint":15840,"id":1722,"parameterSlots":0,"returnSlots":1},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_nonReentrantAfter_4273":{"entryPoint":14840,"id":4273,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_4257":{"entryPoint":14786,"id":4257,"parameterSlots":0,"returnSlots":0},"@_pause_4138":{"entryPoint":14715,"id":4138,"parameterSlots":0,"returnSlots":0},"@_requireNotPaused_4101":{"entryPoint":14291,"id":4101,"parameterSlots":0,"returnSlots":0},"@_requirePaused_4114":{"entryPoint":15366,"id":4114,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":15949,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":12708,"id":361,"parameterSlots":2,"returnSlots":1},"@_setImplementation_4791":{"entryPoint":15599,"id":4791,"parameterSlots":1,"returnSlots":0},"@_transferRemainingAmountToTreasury_31294":{"entryPoint":14857,"id":31294,"parameterSlots":1,"returnSlots":0},"@_unpause_4162":{"entryPoint":12828,"id":4162,"parameterSlots":0,"returnSlots":0},"@_upgradeToAndCallUUPS_1913":{"entryPoint":13106,"id":1913,"parameterSlots":2,"returnSlots":0},"@_validateMilestones_31223":{"entryPoint":14329,"id":31223,"parameterSlots":1,"returnSlots":0},"@approveMilestoneWithReason_30433":{"entryPoint":7523,"id":30433,"parameterSlots":3,"returnSlots":0},"@approveMilestones_30342":{"entryPoint":3673,"id":30342,"parameterSlots":2,"returnSlots":0},"@claimMilestone_30761":{"entryPoint":9084,"id":30761,"parameterSlots":2,"returnSlots":0},"@createMilestones_29920":{"entryPoint":4692,"id":29920,"parameterSlots":5,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":15691,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getB3trContract_30996":{"entryPoint":10390,"id":30996,"parameterSlots":0,"returnSlots":1},"@getGovernorContract_30881":{"entryPoint":2079,"id":30881,"parameterSlots":0,"returnSlots":1},"@getGrantProposal_30265":{"entryPoint":2335,"id":30265,"parameterSlots":1,"returnSlots":1},"@getGrantsReceiverAddress_30934":{"entryPoint":10626,"id":30934,"parameterSlots":1,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getMilestoneMetadataURI_31105":{"entryPoint":10420,"id":31105,"parameterSlots":1,"returnSlots":1},"@getMilestone_29946":{"entryPoint":6221,"id":29946,"parameterSlots":2,"returnSlots":1},"@getMilestones_30244":{"entryPoint":3194,"id":30244,"parameterSlots":1,"returnSlots":1},"@getMinimumMilestoneCount_30471":{"entryPoint":2109,"id":30471,"parameterSlots":0,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":2303,"id":171,"parameterSlots":1,"returnSlots":1},"@getTotalAmountForMilestones_30596":{"entryPoint":3641,"id":30596,"parameterSlots":1,"returnSlots":1},"@getTreasuryContract_30977":{"entryPoint":2966,"id":30977,"parameterSlots":0,"returnSlots":1},"@grantRole_190":{"entryPoint":2996,"id":190,"parameterSlots":2,"returnSlots":0},"@grantState_30838":{"entryPoint":7932,"id":30838,"parameterSlots":1,"returnSlots":1},"@hasRole_116":{"entryPoint":6574,"id":116,"parameterSlots":2,"returnSlots":1},"@initialize_29597":{"entryPoint":11626,"id":29597,"parameterSlots":5,"returnSlots":0},"@isClaimable_30780":{"entryPoint":8177,"id":30780,"parameterSlots":2,"returnSlots":1},"@isGrantCompleted_30163":{"entryPoint":8216,"id":30163,"parameterSlots":1,"returnSlots":1},"@isGrantInDevelopment_30081":{"entryPoint":6628,"id":30081,"parameterSlots":1,"returnSlots":1},"@isGrantRejected_29994":{"entryPoint":4049,"id":29994,"parameterSlots":1,"returnSlots":1},"@milestoneState_30488":{"entryPoint":10898,"id":30488,"parameterSlots":2,"returnSlots":1},"@pause_31031":{"entryPoint":6117,"id":31031,"parameterSlots":0,"returnSlots":0},"@paused_4089":{"entryPoint":3652,"id":4089,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":3553,"id":1804,"parameterSlots":0,"returnSlots":1},"@rejectMilestones_30575":{"entryPoint":10917,"id":30575,"parameterSlots":1,"returnSlots":0},"@renounceRole_232":{"entryPoint":3030,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":10598,"id":209,"parameterSlots":2,"returnSlots":0},"@setB3trContract_31020":{"entryPoint":3582,"id":31020,"parameterSlots":1,"returnSlots":0},"@setGovernorContract_30862":{"entryPoint":2185,"id":30862,"parameterSlots":1,"returnSlots":0},"@setMinimumMilestoneCount_30455":{"entryPoint":7491,"id":30455,"parameterSlots":1,"returnSlots":0},"@setTreasuryContract_30958":{"entryPoint":2244,"id":30958,"parameterSlots":1,"returnSlots":0},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":2130,"id":91,"parameterSlots":1,"returnSlots":1},"@unpause_31042":{"entryPoint":3086,"id":31042,"parameterSlots":0,"returnSlots":0},"@updateGrantsReceiver_30913":{"entryPoint":10667,"id":30913,"parameterSlots":2,"returnSlots":0},"@updateMilestoneMetadataURI_31084":{"entryPoint":10230,"id":31084,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":3526,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":15403,"id":4825,"parameterSlots":2,"returnSlots":0},"@verifyCallResultFromTarget_5543":{"entryPoint":15866,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_31365":{"entryPoint":null,"id":31365,"parameterSlots":0,"returnSlots":1},"abi_decode_bytes":{"entryPoint":16687,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":16073,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_payablet_uint256_fromMemory":{"entryPoint":17700,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_addresst_addresst_uint256":{"entryPoint":17421,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":16798,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":18123,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":16102,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":16471,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":16010,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ProposalState_$61406_fromMemory":{"entryPoint":18040,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_uint256t_addresst_addresst_array$_t_bytes_memory_ptr_$dyn_memory_ptr":{"entryPoint":16911,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":18073,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_string_memory_ptr":{"entryPoint":17353,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":16877,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr":{"entryPoint":17226,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_string":{"entryPoint":16163,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_struct_Milestone":{"entryPoint":16207,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":18157,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":15990,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":18098,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":16519,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_GrantState_$32268__to_t_uint8__fromStack_reversed":{"entryPoint":17327,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_MilestoneState_$32274__to_t_uint8__fromStack_reversed":{"entryPoint":17401,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":17207,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_GrantProposal_$32304_memory_ptr__to_t_struct$_GrantProposal_$32304_memory_ptr__fromStack_reversed":{"entryPoint":16274,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_Milestone_$32286_memory_ptr__to_t_struct$_Milestone_$32286_memory_ptr__fromStack_reversed":{"entryPoint":17188,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":18015,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":17620,"id":null,"parameterSlots":3,"returnSlots":1},"allocate_memory":{"entryPoint":16639,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":17681,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":17601,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":17746,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":17824,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":16127,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":17521,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":17656,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":17579,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":17305,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":17634,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":16617,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":16052,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:20462:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"115:102:150","statements":[{"nodeType":"YulAssignment","src":"125:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"137:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"148:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"133:3:150"},"nodeType":"YulFunctionCall","src":"133:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"125:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"167:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"182:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"198:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"203:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"194:3:150"},"nodeType":"YulFunctionCall","src":"194:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"207:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"190:3:150"},"nodeType":"YulFunctionCall","src":"190:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"178:3:150"},"nodeType":"YulFunctionCall","src":"178:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"160:6:150"},"nodeType":"YulFunctionCall","src":"160:51:150"},"nodeType":"YulExpressionStatement","src":"160:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"84:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"95:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"106:4:150","type":""}],"src":"14:203:150"},{"body":{"nodeType":"YulBlock","src":"323:76:150","statements":[{"nodeType":"YulAssignment","src":"333:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"345:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"356:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"341:3:150"},"nodeType":"YulFunctionCall","src":"341:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"333:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"375:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"386:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"368:6:150"},"nodeType":"YulFunctionCall","src":"368:25:150"},"nodeType":"YulExpressionStatement","src":"368:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"292:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"303:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"314:4:150","type":""}],"src":"222:177:150"},{"body":{"nodeType":"YulBlock","src":"473:217:150","statements":[{"body":{"nodeType":"YulBlock","src":"519:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"528:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"531:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"521:6:150"},"nodeType":"YulFunctionCall","src":"521:12:150"},"nodeType":"YulExpressionStatement","src":"521:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"494:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"503:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"490:3:150"},"nodeType":"YulFunctionCall","src":"490:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"515:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"486:3:150"},"nodeType":"YulFunctionCall","src":"486:32:150"},"nodeType":"YulIf","src":"483:52:150"},{"nodeType":"YulVariableDeclaration","src":"544:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"570:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"557:12:150"},"nodeType":"YulFunctionCall","src":"557:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"548:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"644:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"653:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"656:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"646:6:150"},"nodeType":"YulFunctionCall","src":"646:12:150"},"nodeType":"YulExpressionStatement","src":"646:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"602:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"613:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"629:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"620:3:150"},"nodeType":"YulFunctionCall","src":"620:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"609:3:150"},"nodeType":"YulFunctionCall","src":"609:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"599:2:150"},"nodeType":"YulFunctionCall","src":"599:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"592:6:150"},"nodeType":"YulFunctionCall","src":"592:51:150"},"nodeType":"YulIf","src":"589:71:150"},{"nodeType":"YulAssignment","src":"669:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"679:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"669:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"439:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"450:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"462:6:150","type":""}],"src":"404:286:150"},{"body":{"nodeType":"YulBlock","src":"790:92:150","statements":[{"nodeType":"YulAssignment","src":"800:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"812:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"823:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"808:3:150"},"nodeType":"YulFunctionCall","src":"808:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"800:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"842:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"867:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"860:6:150"},"nodeType":"YulFunctionCall","src":"860:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"853:6:150"},"nodeType":"YulFunctionCall","src":"853:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"835:6:150"},"nodeType":"YulFunctionCall","src":"835:41:150"},"nodeType":"YulExpressionStatement","src":"835:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"759:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"770:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"781:4:150","type":""}],"src":"695:187:150"},{"body":{"nodeType":"YulBlock","src":"932:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"998:6:150"},"nodeType":"YulFunctionCall","src":"998:12:150"},"nodeType":"YulExpressionStatement","src":"998:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"955:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"966:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"981:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"986:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"977:3:150"},"nodeType":"YulFunctionCall","src":"977:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"990:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"973:3:150"},"nodeType":"YulFunctionCall","src":"973:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"962:3:150"},"nodeType":"YulFunctionCall","src":"962:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"952:2:150"},"nodeType":"YulFunctionCall","src":"952:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"945:6:150"},"nodeType":"YulFunctionCall","src":"945:50:150"},"nodeType":"YulIf","src":"942:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"921:5:150","type":""}],"src":"887:131:150"},{"body":{"nodeType":"YulBlock","src":"1093:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"1139:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1148:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1151:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1141:6:150"},"nodeType":"YulFunctionCall","src":"1141:12:150"},"nodeType":"YulExpressionStatement","src":"1141:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1114:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1123:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1110:3:150"},"nodeType":"YulFunctionCall","src":"1110:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1135:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1106:3:150"},"nodeType":"YulFunctionCall","src":"1106:32:150"},"nodeType":"YulIf","src":"1103:52:150"},{"nodeType":"YulVariableDeclaration","src":"1164:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1190:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1177:12:150"},"nodeType":"YulFunctionCall","src":"1177:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1168:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1234:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1209:24:150"},"nodeType":"YulFunctionCall","src":"1209:31:150"},"nodeType":"YulExpressionStatement","src":"1209:31:150"},{"nodeType":"YulAssignment","src":"1249:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1259:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1249:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1059:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1070:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1082:6:150","type":""}],"src":"1023:247:150"},{"body":{"nodeType":"YulBlock","src":"1376:76:150","statements":[{"nodeType":"YulAssignment","src":"1386:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1398:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1409:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1394:3:150"},"nodeType":"YulFunctionCall","src":"1394:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1386:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1428:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1439:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1421:6:150"},"nodeType":"YulFunctionCall","src":"1421:25:150"},"nodeType":"YulExpressionStatement","src":"1421:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1345:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1356:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1367:4:150","type":""}],"src":"1275:177:150"},{"body":{"nodeType":"YulBlock","src":"1527:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1573:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1582:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1585:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1575:6:150"},"nodeType":"YulFunctionCall","src":"1575:12:150"},"nodeType":"YulExpressionStatement","src":"1575:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1548:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1557:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1544:3:150"},"nodeType":"YulFunctionCall","src":"1544:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1569:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1540:3:150"},"nodeType":"YulFunctionCall","src":"1540:32:150"},"nodeType":"YulIf","src":"1537:52:150"},{"nodeType":"YulAssignment","src":"1598:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1621:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1608:12:150"},"nodeType":"YulFunctionCall","src":"1608:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1598:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1493:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1504:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1516:6:150","type":""}],"src":"1457:180:150"},{"body":{"nodeType":"YulBlock","src":"1712:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1758:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1767:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1770:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1760:6:150"},"nodeType":"YulFunctionCall","src":"1760:12:150"},"nodeType":"YulExpressionStatement","src":"1760:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1733:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1742:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1729:3:150"},"nodeType":"YulFunctionCall","src":"1729:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1754:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1725:3:150"},"nodeType":"YulFunctionCall","src":"1725:32:150"},"nodeType":"YulIf","src":"1722:52:150"},{"nodeType":"YulAssignment","src":"1783:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1806:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1793:12:150"},"nodeType":"YulFunctionCall","src":"1793:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1783:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1678:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1689:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1701:6:150","type":""}],"src":"1642:180:150"},{"body":{"nodeType":"YulBlock","src":"1893:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1903:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1912:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1907:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1972:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1997:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"2002:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1993:3:150"},"nodeType":"YulFunctionCall","src":"1993:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2016:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"2021:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2012:3:150"},"nodeType":"YulFunctionCall","src":"2012:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2006:5:150"},"nodeType":"YulFunctionCall","src":"2006:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1986:6:150"},"nodeType":"YulFunctionCall","src":"1986:39:150"},"nodeType":"YulExpressionStatement","src":"1986:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1933:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1936:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1930:2:150"},"nodeType":"YulFunctionCall","src":"1930:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1944:19:150","statements":[{"nodeType":"YulAssignment","src":"1946:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1955:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1958:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1951:3:150"},"nodeType":"YulFunctionCall","src":"1951:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1946:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1926:3:150","statements":[]},"src":"1922:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2055:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2060:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2051:3:150"},"nodeType":"YulFunctionCall","src":"2051:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"2069:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2044:6:150"},"nodeType":"YulFunctionCall","src":"2044:27:150"},"nodeType":"YulExpressionStatement","src":"2044:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1871:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1876:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1881:6:150","type":""}],"src":"1827:250:150"},{"body":{"nodeType":"YulBlock","src":"2132:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2142:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2162:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2156:5:150"},"nodeType":"YulFunctionCall","src":"2156:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2146:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2184:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2189:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2177:6:150"},"nodeType":"YulFunctionCall","src":"2177:19:150"},"nodeType":"YulExpressionStatement","src":"2177:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2244:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2251:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2240:3:150"},"nodeType":"YulFunctionCall","src":"2240:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2262:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2267:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2258:3:150"},"nodeType":"YulFunctionCall","src":"2258:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"2274:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2205:34:150"},"nodeType":"YulFunctionCall","src":"2205:76:150"},"nodeType":"YulExpressionStatement","src":"2205:76:150"},{"nodeType":"YulAssignment","src":"2290:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2305:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2318:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2326:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2314:3:150"},"nodeType":"YulFunctionCall","src":"2314:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2335:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2331:3:150"},"nodeType":"YulFunctionCall","src":"2331:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2310:3:150"},"nodeType":"YulFunctionCall","src":"2310:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2301:3:150"},"nodeType":"YulFunctionCall","src":"2301:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"2342:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2297:3:150"},"nodeType":"YulFunctionCall","src":"2297:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2290:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2109:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2116:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2124:3:150","type":""}],"src":"2082:271:150"},{"body":{"nodeType":"YulBlock","src":"2418:409:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2435:3:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2446:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2440:5:150"},"nodeType":"YulFunctionCall","src":"2440:12:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2428:6:150"},"nodeType":"YulFunctionCall","src":"2428:25:150"},"nodeType":"YulExpressionStatement","src":"2428:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2473:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2478:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2469:3:150"},"nodeType":"YulFunctionCall","src":"2469:14:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2509:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2516:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2505:3:150"},"nodeType":"YulFunctionCall","src":"2505:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2499:5:150"},"nodeType":"YulFunctionCall","src":"2499:23:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2492:6:150"},"nodeType":"YulFunctionCall","src":"2492:31:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2485:6:150"},"nodeType":"YulFunctionCall","src":"2485:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2462:6:150"},"nodeType":"YulFunctionCall","src":"2462:63:150"},"nodeType":"YulExpressionStatement","src":"2462:63:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2545:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2550:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2541:3:150"},"nodeType":"YulFunctionCall","src":"2541:14:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2581:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2588:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2577:3:150"},"nodeType":"YulFunctionCall","src":"2577:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2571:5:150"},"nodeType":"YulFunctionCall","src":"2571:23:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2564:6:150"},"nodeType":"YulFunctionCall","src":"2564:31:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2557:6:150"},"nodeType":"YulFunctionCall","src":"2557:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2534:6:150"},"nodeType":"YulFunctionCall","src":"2534:63:150"},"nodeType":"YulExpressionStatement","src":"2534:63:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2617:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2622:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2613:3:150"},"nodeType":"YulFunctionCall","src":"2613:14:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2653:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2660:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2649:3:150"},"nodeType":"YulFunctionCall","src":"2649:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2643:5:150"},"nodeType":"YulFunctionCall","src":"2643:23:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2636:6:150"},"nodeType":"YulFunctionCall","src":"2636:31:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2629:6:150"},"nodeType":"YulFunctionCall","src":"2629:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2606:6:150"},"nodeType":"YulFunctionCall","src":"2606:63:150"},"nodeType":"YulExpressionStatement","src":"2606:63:150"},{"nodeType":"YulVariableDeclaration","src":"2678:43:150","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2708:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2715:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2704:3:150"},"nodeType":"YulFunctionCall","src":"2704:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2698:5:150"},"nodeType":"YulFunctionCall","src":"2698:23:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"2682:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2741:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2746:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2737:3:150"},"nodeType":"YulFunctionCall","src":"2737:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"2753:4:150","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2730:6:150"},"nodeType":"YulFunctionCall","src":"2730:28:150"},"nodeType":"YulExpressionStatement","src":"2730:28:150"},{"nodeType":"YulAssignment","src":"2767:54:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"2792:12:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2810:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2815:4:150","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2806:3:150"},"nodeType":"YulFunctionCall","src":"2806:14:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"2774:17:150"},"nodeType":"YulFunctionCall","src":"2774:47:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2767:3:150"}]}]},"name":"abi_encode_struct_Milestone","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2395:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2402:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2410:3:150","type":""}],"src":"2358:469:150"},{"body":{"nodeType":"YulBlock","src":"2997:1328:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3007:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3017:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3011:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3035:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3046:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3028:6:150"},"nodeType":"YulFunctionCall","src":"3028:21:150"},"nodeType":"YulExpressionStatement","src":"3028:21:150"},{"nodeType":"YulVariableDeclaration","src":"3058:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3076:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3087:3:150","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3072:3:150"},"nodeType":"YulFunctionCall","src":"3072:19:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"3062:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3111:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3122:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3107:3:150"},"nodeType":"YulFunctionCall","src":"3107:18:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3133:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3127:5:150"},"nodeType":"YulFunctionCall","src":"3127:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3100:6:150"},"nodeType":"YulFunctionCall","src":"3100:41:150"},"nodeType":"YulExpressionStatement","src":"3100:41:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3161:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3172:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3157:3:150"},"nodeType":"YulFunctionCall","src":"3157:18:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3187:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3195:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3183:3:150"},"nodeType":"YulFunctionCall","src":"3183:15:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3177:5:150"},"nodeType":"YulFunctionCall","src":"3177:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3150:6:150"},"nodeType":"YulFunctionCall","src":"3150:50:150"},"nodeType":"YulExpressionStatement","src":"3150:50:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3220:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3231:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3216:3:150"},"nodeType":"YulFunctionCall","src":"3216:18:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3246:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3254:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3242:3:150"},"nodeType":"YulFunctionCall","src":"3242:15:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3236:5:150"},"nodeType":"YulFunctionCall","src":"3236:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3209:6:150"},"nodeType":"YulFunctionCall","src":"3209:50:150"},"nodeType":"YulExpressionStatement","src":"3209:50:150"},{"nodeType":"YulVariableDeclaration","src":"3268:42:150","value":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3298:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3306:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3294:3:150"},"nodeType":"YulFunctionCall","src":"3294:15:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3288:5:150"},"nodeType":"YulFunctionCall","src":"3288:22:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"3272:12:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3319:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3337:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3342:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3333:3:150"},"nodeType":"YulFunctionCall","src":"3333:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3346:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3329:3:150"},"nodeType":"YulFunctionCall","src":"3329:19:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3323:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3368:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3379:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3364:3:150"},"nodeType":"YulFunctionCall","src":"3364:19:150"},{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"3389:12:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3403:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3385:3:150"},"nodeType":"YulFunctionCall","src":"3385:21:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3357:6:150"},"nodeType":"YulFunctionCall","src":"3357:50:150"},"nodeType":"YulExpressionStatement","src":"3357:50:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3427:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3438:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3423:3:150"},"nodeType":"YulFunctionCall","src":"3423:19:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3458:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3466:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3454:3:150"},"nodeType":"YulFunctionCall","src":"3454:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3448:5:150"},"nodeType":"YulFunctionCall","src":"3448:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3473:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3444:3:150"},"nodeType":"YulFunctionCall","src":"3444:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3416:6:150"},"nodeType":"YulFunctionCall","src":"3416:61:150"},"nodeType":"YulExpressionStatement","src":"3416:61:150"},{"nodeType":"YulVariableDeclaration","src":"3486:45:150","value":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3518:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3526:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3514:3:150"},"nodeType":"YulFunctionCall","src":"3514:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3508:5:150"},"nodeType":"YulFunctionCall","src":"3508:23:150"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"3490:14:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3551:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3562:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3547:3:150"},"nodeType":"YulFunctionCall","src":"3547:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"3568:4:150","type":"","value":"0xe0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3540:6:150"},"nodeType":"YulFunctionCall","src":"3540:33:150"},"nodeType":"YulExpressionStatement","src":"3540:33:150"},{"nodeType":"YulVariableDeclaration","src":"3582:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"3593:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"3586:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3608:35:150","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"3628:14:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3622:5:150"},"nodeType":"YulFunctionCall","src":"3622:21:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3612:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"3659:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"3667:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3652:6:150"},"nodeType":"YulFunctionCall","src":"3652:22:150"},"nodeType":"YulExpressionStatement","src":"3652:22:150"},{"nodeType":"YulVariableDeclaration","src":"3683:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3693:3:150","type":"","value":"288"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3687:2:150","type":""}]},{"nodeType":"YulAssignment","src":"3705:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3716:9:150"},{"name":"_3","nodeType":"YulIdentifier","src":"3727:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3712:3:150"},"nodeType":"YulFunctionCall","src":"3712:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3705:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"3739:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3761:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3776:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"3779:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3772:3:150"},"nodeType":"YulFunctionCall","src":"3772:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3757:3:150"},"nodeType":"YulFunctionCall","src":"3757:30:150"},{"name":"_3","nodeType":"YulIdentifier","src":"3789:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3753:3:150"},"nodeType":"YulFunctionCall","src":"3753:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"3743:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3801:37:150","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"3819:14:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3835:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3815:3:150"},"nodeType":"YulFunctionCall","src":"3815:23:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"3805:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3847:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3856:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3851:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3915:217:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3936:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3949:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3957:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3945:3:150"},"nodeType":"YulFunctionCall","src":"3945:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3973:3:150","type":"","value":"287"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3969:3:150"},"nodeType":"YulFunctionCall","src":"3969:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3941:3:150"},"nodeType":"YulFunctionCall","src":"3941:37:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3929:6:150"},"nodeType":"YulFunctionCall","src":"3929:50:150"},"nodeType":"YulExpressionStatement","src":"3929:50:150"},{"nodeType":"YulAssignment","src":"3992:60:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4036:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4030:5:150"},"nodeType":"YulFunctionCall","src":"4030:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"4045:6:150"}],"functionName":{"name":"abi_encode_struct_Milestone","nodeType":"YulIdentifier","src":"4002:27:150"},"nodeType":"YulFunctionCall","src":"4002:50:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3992:6:150"}]},{"nodeType":"YulAssignment","src":"4065:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4079:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4087:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4075:3:150"},"nodeType":"YulFunctionCall","src":"4075:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4065:6:150"}]},{"nodeType":"YulAssignment","src":"4103:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4114:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4119:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4110:3:150"},"nodeType":"YulFunctionCall","src":"4110:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4103:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3877:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"3880:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3874:2:150"},"nodeType":"YulFunctionCall","src":"3874:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3888:18:150","statements":[{"nodeType":"YulAssignment","src":"3890:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3899:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"3902:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3895:3:150"},"nodeType":"YulFunctionCall","src":"3895:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3890:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3870:3:150","statements":[]},"src":"3866:266:150"},{"nodeType":"YulVariableDeclaration","src":"4141:45:150","value":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4173:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4181:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4169:3:150"},"nodeType":"YulFunctionCall","src":"4169:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4163:5:150"},"nodeType":"YulFunctionCall","src":"4163:23:150"},"variables":[{"name":"memberValue0_2","nodeType":"YulTypedName","src":"4145:14:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4206:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4217:4:150","type":"","value":"0xe0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4202:3:150"},"nodeType":"YulFunctionCall","src":"4202:20:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4232:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4240:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4228:3:150"},"nodeType":"YulFunctionCall","src":"4228:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4256:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4252:3:150"},"nodeType":"YulFunctionCall","src":"4252:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4224:3:150"},"nodeType":"YulFunctionCall","src":"4224:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4195:6:150"},"nodeType":"YulFunctionCall","src":"4195:66:150"},"nodeType":"YulExpressionStatement","src":"4195:66:150"},{"nodeType":"YulAssignment","src":"4270:49:150","value":{"arguments":[{"name":"memberValue0_2","nodeType":"YulIdentifier","src":"4296:14:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"4312:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"4278:17:150"},"nodeType":"YulFunctionCall","src":"4278:41:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4270:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_GrantProposal_$32304_memory_ptr__to_t_struct$_GrantProposal_$32304_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2966:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2977:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2988:4:150","type":""}],"src":"2832:1493:150"},{"body":{"nodeType":"YulBlock","src":"4417:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"4463:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4472:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4475:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4465:6:150"},"nodeType":"YulFunctionCall","src":"4465:12:150"},"nodeType":"YulExpressionStatement","src":"4465:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4438:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4447:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4434:3:150"},"nodeType":"YulFunctionCall","src":"4434:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4459:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4430:3:150"},"nodeType":"YulFunctionCall","src":"4430:32:150"},"nodeType":"YulIf","src":"4427:52:150"},{"nodeType":"YulAssignment","src":"4488:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4511:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4498:12:150"},"nodeType":"YulFunctionCall","src":"4498:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4488:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4530:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4560:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4571:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4556:3:150"},"nodeType":"YulFunctionCall","src":"4556:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4543:12:150"},"nodeType":"YulFunctionCall","src":"4543:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4534:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4609:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4584:24:150"},"nodeType":"YulFunctionCall","src":"4584:31:150"},"nodeType":"YulExpressionStatement","src":"4584:31:150"},{"nodeType":"YulAssignment","src":"4624:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4634:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4624:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4375:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4386:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4398:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4406:6:150","type":""}],"src":"4330:315:150"},{"body":{"nodeType":"YulBlock","src":"4857:642:150","statements":[{"nodeType":"YulVariableDeclaration","src":"4867:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4877:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4871:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4888:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4906:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4917:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4902:3:150"},"nodeType":"YulFunctionCall","src":"4902:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"4892:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4936:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4947:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4929:6:150"},"nodeType":"YulFunctionCall","src":"4929:21:150"},"nodeType":"YulExpressionStatement","src":"4929:21:150"},{"nodeType":"YulVariableDeclaration","src":"4959:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"4970:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"4963:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4985:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5005:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4999:5:150"},"nodeType":"YulFunctionCall","src":"4999:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4989:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"5028:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"5036:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5021:6:150"},"nodeType":"YulFunctionCall","src":"5021:22:150"},"nodeType":"YulExpressionStatement","src":"5021:22:150"},{"nodeType":"YulAssignment","src":"5052:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5063:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5074:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5059:3:150"},"nodeType":"YulFunctionCall","src":"5059:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5052:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"5086:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5108:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5123:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"5126:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5119:3:150"},"nodeType":"YulFunctionCall","src":"5119:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5104:3:150"},"nodeType":"YulFunctionCall","src":"5104:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"5136:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5100:3:150"},"nodeType":"YulFunctionCall","src":"5100:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"5090:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5148:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5166:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5174:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5162:3:150"},"nodeType":"YulFunctionCall","src":"5162:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"5152:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5186:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5195:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5190:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5254:216:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5275:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"5288:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5296:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5284:3:150"},"nodeType":"YulFunctionCall","src":"5284:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5312:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5308:3:150"},"nodeType":"YulFunctionCall","src":"5308:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5280:3:150"},"nodeType":"YulFunctionCall","src":"5280:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5268:6:150"},"nodeType":"YulFunctionCall","src":"5268:49:150"},"nodeType":"YulExpressionStatement","src":"5268:49:150"},{"nodeType":"YulAssignment","src":"5330:60:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5374:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5368:5:150"},"nodeType":"YulFunctionCall","src":"5368:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"5383:6:150"}],"functionName":{"name":"abi_encode_struct_Milestone","nodeType":"YulIdentifier","src":"5340:27:150"},"nodeType":"YulFunctionCall","src":"5340:50:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"5330:6:150"}]},{"nodeType":"YulAssignment","src":"5403:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5417:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5425:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5413:3:150"},"nodeType":"YulFunctionCall","src":"5413:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5403:6:150"}]},{"nodeType":"YulAssignment","src":"5441:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5452:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5457:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5448:3:150"},"nodeType":"YulFunctionCall","src":"5448:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5441:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5216:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"5219:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5213:2:150"},"nodeType":"YulFunctionCall","src":"5213:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5227:18:150","statements":[{"nodeType":"YulAssignment","src":"5229:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5238:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"5241:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5234:3:150"},"nodeType":"YulFunctionCall","src":"5234:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5229:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5209:3:150","statements":[]},"src":"5205:265:150"},{"nodeType":"YulAssignment","src":"5479:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"5487:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5479:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4826:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4837:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4848:4:150","type":""}],"src":"4650:849:150"},{"body":{"nodeType":"YulBlock","src":"5536:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5553:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5560:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5565:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5556:3:150"},"nodeType":"YulFunctionCall","src":"5556:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5546:6:150"},"nodeType":"YulFunctionCall","src":"5546:31:150"},"nodeType":"YulExpressionStatement","src":"5546:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5593:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5596:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5586:6:150"},"nodeType":"YulFunctionCall","src":"5586:15:150"},"nodeType":"YulExpressionStatement","src":"5586:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5617:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5620:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5610:6:150"},"nodeType":"YulFunctionCall","src":"5610:15:150"},"nodeType":"YulExpressionStatement","src":"5610:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5504:127:150"},{"body":{"nodeType":"YulBlock","src":"5681:230:150","statements":[{"nodeType":"YulAssignment","src":"5691:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5707:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5701:5:150"},"nodeType":"YulFunctionCall","src":"5701:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5691:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5719:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5741:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"5757:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"5763:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5753:3:150"},"nodeType":"YulFunctionCall","src":"5753:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5772:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5768:3:150"},"nodeType":"YulFunctionCall","src":"5768:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5749:3:150"},"nodeType":"YulFunctionCall","src":"5749:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5737:3:150"},"nodeType":"YulFunctionCall","src":"5737:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5723:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5852:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5854:16:150"},"nodeType":"YulFunctionCall","src":"5854:18:150"},"nodeType":"YulExpressionStatement","src":"5854:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5795:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5815:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5819:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5811:3:150"},"nodeType":"YulFunctionCall","src":"5811:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5823:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5807:3:150"},"nodeType":"YulFunctionCall","src":"5807:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5792:2:150"},"nodeType":"YulFunctionCall","src":"5792:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5831:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5843:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5828:2:150"},"nodeType":"YulFunctionCall","src":"5828:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5789:2:150"},"nodeType":"YulFunctionCall","src":"5789:62:150"},"nodeType":"YulIf","src":"5786:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5890:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5894:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5883:6:150"},"nodeType":"YulFunctionCall","src":"5883:22:150"},"nodeType":"YulExpressionStatement","src":"5883:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"5661:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5670:6:150","type":""}],"src":"5636:275:150"},{"body":{"nodeType":"YulBlock","src":"5968:478:150","statements":[{"body":{"nodeType":"YulBlock","src":"6017:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6026:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6029:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6019:6:150"},"nodeType":"YulFunctionCall","src":"6019:12:150"},"nodeType":"YulExpressionStatement","src":"6019:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5996:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6004:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5992:3:150"},"nodeType":"YulFunctionCall","src":"5992:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"6011:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5988:3:150"},"nodeType":"YulFunctionCall","src":"5988:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5981:6:150"},"nodeType":"YulFunctionCall","src":"5981:35:150"},"nodeType":"YulIf","src":"5978:55:150"},{"nodeType":"YulVariableDeclaration","src":"6042:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6065:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6052:12:150"},"nodeType":"YulFunctionCall","src":"6052:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6046:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6111:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6113:16:150"},"nodeType":"YulFunctionCall","src":"6113:18:150"},"nodeType":"YulExpressionStatement","src":"6113:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6087:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6099:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6103:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6095:3:150"},"nodeType":"YulFunctionCall","src":"6095:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6107:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6091:3:150"},"nodeType":"YulFunctionCall","src":"6091:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6084:2:150"},"nodeType":"YulFunctionCall","src":"6084:26:150"},"nodeType":"YulIf","src":"6081:52:150"},{"nodeType":"YulVariableDeclaration","src":"6142:70:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6185:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6189:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6181:3:150"},"nodeType":"YulFunctionCall","src":"6181:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6200:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6196:3:150"},"nodeType":"YulFunctionCall","src":"6196:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6177:3:150"},"nodeType":"YulFunctionCall","src":"6177:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6206:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6173:3:150"},"nodeType":"YulFunctionCall","src":"6173:38:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"6157:15:150"},"nodeType":"YulFunctionCall","src":"6157:55:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"6146:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6228:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6237:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6221:6:150"},"nodeType":"YulFunctionCall","src":"6221:19:150"},"nodeType":"YulExpressionStatement","src":"6221:19:150"},{"body":{"nodeType":"YulBlock","src":"6288:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6297:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6300:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6290:6:150"},"nodeType":"YulFunctionCall","src":"6290:12:150"},"nodeType":"YulExpressionStatement","src":"6290:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6263:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6271:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6259:3:150"},"nodeType":"YulFunctionCall","src":"6259:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"6276:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6255:3:150"},"nodeType":"YulFunctionCall","src":"6255:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"6283:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6252:2:150"},"nodeType":"YulFunctionCall","src":"6252:35:150"},"nodeType":"YulIf","src":"6249:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6330:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"6339:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6326:3:150"},"nodeType":"YulFunctionCall","src":"6326:18:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6350:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6358:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6346:3:150"},"nodeType":"YulFunctionCall","src":"6346:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6365:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"6313:12:150"},"nodeType":"YulFunctionCall","src":"6313:55:150"},"nodeType":"YulExpressionStatement","src":"6313:55:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6392:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6401:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6388:3:150"},"nodeType":"YulFunctionCall","src":"6388:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"6406:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6384:3:150"},"nodeType":"YulFunctionCall","src":"6384:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6413:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6377:6:150"},"nodeType":"YulFunctionCall","src":"6377:38:150"},"nodeType":"YulExpressionStatement","src":"6377:38:150"},{"nodeType":"YulAssignment","src":"6424:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"6433:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"6424:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5942:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5950:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5958:5:150","type":""}],"src":"5916:530:150"},{"body":{"nodeType":"YulBlock","src":"6547:359:150","statements":[{"body":{"nodeType":"YulBlock","src":"6593:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6602:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6605:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6595:6:150"},"nodeType":"YulFunctionCall","src":"6595:12:150"},"nodeType":"YulExpressionStatement","src":"6595:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6568:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6577:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6564:3:150"},"nodeType":"YulFunctionCall","src":"6564:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6589:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6560:3:150"},"nodeType":"YulFunctionCall","src":"6560:32:150"},"nodeType":"YulIf","src":"6557:52:150"},{"nodeType":"YulVariableDeclaration","src":"6618:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6644:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6631:12:150"},"nodeType":"YulFunctionCall","src":"6631:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6622:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6688:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6663:24:150"},"nodeType":"YulFunctionCall","src":"6663:31:150"},"nodeType":"YulExpressionStatement","src":"6663:31:150"},{"nodeType":"YulAssignment","src":"6703:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6713:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6703:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6727:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6758:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6769:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6754:3:150"},"nodeType":"YulFunctionCall","src":"6754:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6741:12:150"},"nodeType":"YulFunctionCall","src":"6741:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6731:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6816:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6825:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6828:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6818:6:150"},"nodeType":"YulFunctionCall","src":"6818:12:150"},"nodeType":"YulExpressionStatement","src":"6818:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6788:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6804:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6808:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6800:3:150"},"nodeType":"YulFunctionCall","src":"6800:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6812:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6796:3:150"},"nodeType":"YulFunctionCall","src":"6796:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6785:2:150"},"nodeType":"YulFunctionCall","src":"6785:30:150"},"nodeType":"YulIf","src":"6782:50:150"},{"nodeType":"YulAssignment","src":"6841:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6872:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6883:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6868:3:150"},"nodeType":"YulFunctionCall","src":"6868:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6892:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6851:16:150"},"nodeType":"YulFunctionCall","src":"6851:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6841:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6505:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6516:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6528:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6536:6:150","type":""}],"src":"6451:455:150"},{"body":{"nodeType":"YulBlock","src":"6998:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"7044:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7053:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7056:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7046:6:150"},"nodeType":"YulFunctionCall","src":"7046:12:150"},"nodeType":"YulExpressionStatement","src":"7046:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7019:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7028:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7015:3:150"},"nodeType":"YulFunctionCall","src":"7015:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7040:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7011:3:150"},"nodeType":"YulFunctionCall","src":"7011:32:150"},"nodeType":"YulIf","src":"7008:52:150"},{"nodeType":"YulAssignment","src":"7069:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7092:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7079:12:150"},"nodeType":"YulFunctionCall","src":"7079:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7069:6:150"}]},{"nodeType":"YulAssignment","src":"7111:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7138:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7149:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7134:3:150"},"nodeType":"YulFunctionCall","src":"7134:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7121:12:150"},"nodeType":"YulFunctionCall","src":"7121:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7111:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6956:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6967:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6979:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6987:6:150","type":""}],"src":"6911:248:150"},{"body":{"nodeType":"YulBlock","src":"7346:1528:150","statements":[{"body":{"nodeType":"YulBlock","src":"7393:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7402:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7405:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7395:6:150"},"nodeType":"YulFunctionCall","src":"7395:12:150"},"nodeType":"YulExpressionStatement","src":"7395:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7367:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7376:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7363:3:150"},"nodeType":"YulFunctionCall","src":"7363:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7388:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7359:3:150"},"nodeType":"YulFunctionCall","src":"7359:33:150"},"nodeType":"YulIf","src":"7356:53:150"},{"nodeType":"YulVariableDeclaration","src":"7418:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7445:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7432:12:150"},"nodeType":"YulFunctionCall","src":"7432:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7422:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7464:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7482:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7486:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7478:3:150"},"nodeType":"YulFunctionCall","src":"7478:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7490:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7474:3:150"},"nodeType":"YulFunctionCall","src":"7474:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7468:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7519:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7528:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7531:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7521:6:150"},"nodeType":"YulFunctionCall","src":"7521:12:150"},"nodeType":"YulExpressionStatement","src":"7521:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7507:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7515:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7504:2:150"},"nodeType":"YulFunctionCall","src":"7504:14:150"},"nodeType":"YulIf","src":"7501:34:150"},{"nodeType":"YulAssignment","src":"7544:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7575:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"7586:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7571:3:150"},"nodeType":"YulFunctionCall","src":"7571:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7595:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"7554:16:150"},"nodeType":"YulFunctionCall","src":"7554:49:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7544:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7612:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7622:2:150","type":"","value":"32"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"7616:2:150","type":""}]},{"nodeType":"YulAssignment","src":"7633:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7660:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7671:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7656:3:150"},"nodeType":"YulFunctionCall","src":"7656:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7643:12:150"},"nodeType":"YulFunctionCall","src":"7643:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7633:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7684:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7714:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7725:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7710:3:150"},"nodeType":"YulFunctionCall","src":"7710:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7697:12:150"},"nodeType":"YulFunctionCall","src":"7697:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7688:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7763:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"7738:24:150"},"nodeType":"YulFunctionCall","src":"7738:31:150"},"nodeType":"YulExpressionStatement","src":"7738:31:150"},{"nodeType":"YulAssignment","src":"7778:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7788:5:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"7778:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7802:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7834:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7845:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7830:3:150"},"nodeType":"YulFunctionCall","src":"7830:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7817:12:150"},"nodeType":"YulFunctionCall","src":"7817:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"7806:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"7883:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"7858:24:150"},"nodeType":"YulFunctionCall","src":"7858:33:150"},"nodeType":"YulExpressionStatement","src":"7858:33:150"},{"nodeType":"YulAssignment","src":"7900:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"7910:7:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7900:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7926:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7959:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7970:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7955:3:150"},"nodeType":"YulFunctionCall","src":"7955:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7942:12:150"},"nodeType":"YulFunctionCall","src":"7942:33:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"7930:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8004:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8013:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8016:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8006:6:150"},"nodeType":"YulFunctionCall","src":"8006:12:150"},"nodeType":"YulExpressionStatement","src":"8006:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"7990:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8000:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7987:2:150"},"nodeType":"YulFunctionCall","src":"7987:16:150"},"nodeType":"YulIf","src":"7984:36:150"},{"nodeType":"YulVariableDeclaration","src":"8029:34:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8043:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"8054:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8039:3:150"},"nodeType":"YulFunctionCall","src":"8039:24:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"8033:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8111:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8120:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8123:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8113:6:150"},"nodeType":"YulFunctionCall","src":"8113:12:150"},"nodeType":"YulExpressionStatement","src":"8113:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8090:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"8094:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8086:3:150"},"nodeType":"YulFunctionCall","src":"8086:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8101:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8082:3:150"},"nodeType":"YulFunctionCall","src":"8082:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8075:6:150"},"nodeType":"YulFunctionCall","src":"8075:35:150"},"nodeType":"YulIf","src":"8072:55:150"},{"nodeType":"YulVariableDeclaration","src":"8136:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8159:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8146:12:150"},"nodeType":"YulFunctionCall","src":"8146:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"8140:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8185:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8187:16:150"},"nodeType":"YulFunctionCall","src":"8187:18:150"},"nodeType":"YulExpressionStatement","src":"8187:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"8177:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8181:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8174:2:150"},"nodeType":"YulFunctionCall","src":"8174:10:150"},"nodeType":"YulIf","src":"8171:36:150"},{"nodeType":"YulVariableDeclaration","src":"8216:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8230:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"8233:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8226:3:150"},"nodeType":"YulFunctionCall","src":"8226:10:150"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"8220:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8245:39:150","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"8276:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8280:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8272:3:150"},"nodeType":"YulFunctionCall","src":"8272:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8256:15:150"},"nodeType":"YulFunctionCall","src":"8256:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"8249:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8293:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"8306:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"8297:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8325:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"8330:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8318:6:150"},"nodeType":"YulFunctionCall","src":"8318:15:150"},"nodeType":"YulExpressionStatement","src":"8318:15:150"},{"nodeType":"YulAssignment","src":"8342:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8353:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8358:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8349:3:150"},"nodeType":"YulFunctionCall","src":"8349:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8342:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"8370:34:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8392:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"8396:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8388:3:150"},"nodeType":"YulFunctionCall","src":"8388:11:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8401:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8384:3:150"},"nodeType":"YulFunctionCall","src":"8384:20:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"8374:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8436:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8445:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8448:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8438:6:150"},"nodeType":"YulFunctionCall","src":"8438:12:150"},"nodeType":"YulExpressionStatement","src":"8438:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"8419:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8427:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8416:2:150"},"nodeType":"YulFunctionCall","src":"8416:19:150"},"nodeType":"YulIf","src":"8413:39:150"},{"nodeType":"YulVariableDeclaration","src":"8461:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8476:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8480:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8472:3:150"},"nodeType":"YulFunctionCall","src":"8472:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"8465:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8548:296:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8562:36:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8594:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8581:12:150"},"nodeType":"YulFunctionCall","src":"8581:17:150"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"8566:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8646:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8664:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8674:1:150","type":"","value":"0"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"8668:2:150","type":""}]},{"expression":{"arguments":[{"name":"_6","nodeType":"YulIdentifier","src":"8699:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"8703:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8692:6:150"},"nodeType":"YulFunctionCall","src":"8692:14:150"},"nodeType":"YulExpressionStatement","src":"8692:14:150"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"8617:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8630:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8614:2:150"},"nodeType":"YulFunctionCall","src":"8614:19:150"},"nodeType":"YulIf","src":"8611:109:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8740:3:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8770:2:150"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"8774:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8766:3:150"},"nodeType":"YulFunctionCall","src":"8766:20:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8788:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8762:3:150"},"nodeType":"YulFunctionCall","src":"8762:29:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8793:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"8745:16:150"},"nodeType":"YulFunctionCall","src":"8745:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8733:6:150"},"nodeType":"YulFunctionCall","src":"8733:69:150"},"nodeType":"YulExpressionStatement","src":"8733:69:150"},{"nodeType":"YulAssignment","src":"8815:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8826:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8831:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8822:3:150"},"nodeType":"YulFunctionCall","src":"8822:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8815:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8503:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"8508:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8500:2:150"},"nodeType":"YulFunctionCall","src":"8500:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8516:23:150","statements":[{"nodeType":"YulAssignment","src":"8518:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8529:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8534:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8525:3:150"},"nodeType":"YulFunctionCall","src":"8525:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"8518:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"8496:3:150","statements":[]},"src":"8492:352:150"},{"nodeType":"YulAssignment","src":"8853:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"8863:5:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"8853:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_uint256t_addresst_addresst_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7280:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7291:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7303:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7311:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7319:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7327:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7335:6:150","type":""}],"src":"7164:1710:150"},{"body":{"nodeType":"YulBlock","src":"9036:109:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9053:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9064:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9046:6:150"},"nodeType":"YulFunctionCall","src":"9046:21:150"},"nodeType":"YulExpressionStatement","src":"9046:21:150"},{"nodeType":"YulAssignment","src":"9076:63:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9112:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9124:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9135:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9120:3:150"},"nodeType":"YulFunctionCall","src":"9120:18:150"}],"functionName":{"name":"abi_encode_struct_Milestone","nodeType":"YulIdentifier","src":"9084:27:150"},"nodeType":"YulFunctionCall","src":"9084:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9076:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_Milestone_$32286_memory_ptr__to_t_struct$_Milestone_$32286_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9005:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9016:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9027:4:150","type":""}],"src":"8879:266:150"},{"body":{"nodeType":"YulBlock","src":"9271:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9288:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9299:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9281:6:150"},"nodeType":"YulFunctionCall","src":"9281:21:150"},"nodeType":"YulExpressionStatement","src":"9281:21:150"},{"nodeType":"YulAssignment","src":"9311:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9337:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9349:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9360:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9345:3:150"},"nodeType":"YulFunctionCall","src":"9345:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"9319:17:150"},"nodeType":"YulFunctionCall","src":"9319:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9311:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9240:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9251:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9262:4:150","type":""}],"src":"9150:220:150"},{"body":{"nodeType":"YulBlock","src":"9489:343:150","statements":[{"body":{"nodeType":"YulBlock","src":"9535:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9544:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9547:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9537:6:150"},"nodeType":"YulFunctionCall","src":"9537:12:150"},"nodeType":"YulExpressionStatement","src":"9537:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9510:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9519:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9506:3:150"},"nodeType":"YulFunctionCall","src":"9506:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9531:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9502:3:150"},"nodeType":"YulFunctionCall","src":"9502:32:150"},"nodeType":"YulIf","src":"9499:52:150"},{"nodeType":"YulAssignment","src":"9560:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9583:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9570:12:150"},"nodeType":"YulFunctionCall","src":"9570:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9560:6:150"}]},{"nodeType":"YulAssignment","src":"9602:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9640:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9625:3:150"},"nodeType":"YulFunctionCall","src":"9625:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9612:12:150"},"nodeType":"YulFunctionCall","src":"9612:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9602:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9653:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9684:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9695:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9680:3:150"},"nodeType":"YulFunctionCall","src":"9680:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9667:12:150"},"nodeType":"YulFunctionCall","src":"9667:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9657:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9742:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9751:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9754:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9744:6:150"},"nodeType":"YulFunctionCall","src":"9744:12:150"},"nodeType":"YulExpressionStatement","src":"9744:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9714:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9730:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9734:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9726:3:150"},"nodeType":"YulFunctionCall","src":"9726:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9738:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9722:3:150"},"nodeType":"YulFunctionCall","src":"9722:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9711:2:150"},"nodeType":"YulFunctionCall","src":"9711:30:150"},"nodeType":"YulIf","src":"9708:50:150"},{"nodeType":"YulAssignment","src":"9767:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9798:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9809:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9794:3:150"},"nodeType":"YulFunctionCall","src":"9794:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9818:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9777:16:150"},"nodeType":"YulFunctionCall","src":"9777:49:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9767:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9439:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9450:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9462:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9470:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9478:6:150","type":""}],"src":"9375:457:150"},{"body":{"nodeType":"YulBlock","src":"9869:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9886:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9893:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9898:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9889:3:150"},"nodeType":"YulFunctionCall","src":"9889:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9879:6:150"},"nodeType":"YulFunctionCall","src":"9879:31:150"},"nodeType":"YulExpressionStatement","src":"9879:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9926:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9929:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9919:6:150"},"nodeType":"YulFunctionCall","src":"9919:15:150"},"nodeType":"YulExpressionStatement","src":"9919:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9950:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9953:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9943:6:150"},"nodeType":"YulFunctionCall","src":"9943:15:150"},"nodeType":"YulExpressionStatement","src":"9943:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"9837:127:150"},{"body":{"nodeType":"YulBlock","src":"10084:133:150","statements":[{"nodeType":"YulAssignment","src":"10094:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10106:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10117:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10102:3:150"},"nodeType":"YulFunctionCall","src":"10102:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10094:4:150"}]},{"body":{"nodeType":"YulBlock","src":"10155:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"10157:16:150"},"nodeType":"YulFunctionCall","src":"10157:18:150"},"nodeType":"YulExpressionStatement","src":"10157:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10142:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10150:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10139:2:150"},"nodeType":"YulFunctionCall","src":"10139:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10132:6:150"},"nodeType":"YulFunctionCall","src":"10132:22:150"},"nodeType":"YulIf","src":"10129:48:150"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10193:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10204:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10186:6:150"},"nodeType":"YulFunctionCall","src":"10186:25:150"},"nodeType":"YulExpressionStatement","src":"10186:25:150"}]},"name":"abi_encode_tuple_t_enum$_GrantState_$32268__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10053:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10064:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10075:4:150","type":""}],"src":"9969:248:150"},{"body":{"nodeType":"YulBlock","src":"10319:292:150","statements":[{"body":{"nodeType":"YulBlock","src":"10365:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10374:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10377:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10367:6:150"},"nodeType":"YulFunctionCall","src":"10367:12:150"},"nodeType":"YulExpressionStatement","src":"10367:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10340:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10349:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10336:3:150"},"nodeType":"YulFunctionCall","src":"10336:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10361:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10332:3:150"},"nodeType":"YulFunctionCall","src":"10332:32:150"},"nodeType":"YulIf","src":"10329:52:150"},{"nodeType":"YulAssignment","src":"10390:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10413:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10400:12:150"},"nodeType":"YulFunctionCall","src":"10400:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10390:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10432:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10463:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10474:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10459:3:150"},"nodeType":"YulFunctionCall","src":"10459:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10446:12:150"},"nodeType":"YulFunctionCall","src":"10446:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10436:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10521:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10530:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10533:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10523:6:150"},"nodeType":"YulFunctionCall","src":"10523:12:150"},"nodeType":"YulExpressionStatement","src":"10523:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10493:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10509:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"10513:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10505:3:150"},"nodeType":"YulFunctionCall","src":"10505:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"10517:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10501:3:150"},"nodeType":"YulFunctionCall","src":"10501:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10490:2:150"},"nodeType":"YulFunctionCall","src":"10490:30:150"},"nodeType":"YulIf","src":"10487:50:150"},{"nodeType":"YulAssignment","src":"10546:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10577:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"10588:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10573:3:150"},"nodeType":"YulFunctionCall","src":"10573:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10597:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"10556:16:150"},"nodeType":"YulFunctionCall","src":"10556:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10546:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10277:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10288:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10300:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10308:6:150","type":""}],"src":"10222:389:150"},{"body":{"nodeType":"YulBlock","src":"10703:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"10749:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10758:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10761:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10751:6:150"},"nodeType":"YulFunctionCall","src":"10751:12:150"},"nodeType":"YulExpressionStatement","src":"10751:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10724:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10733:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10720:3:150"},"nodeType":"YulFunctionCall","src":"10720:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10745:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10716:3:150"},"nodeType":"YulFunctionCall","src":"10716:32:150"},"nodeType":"YulIf","src":"10713:52:150"},{"nodeType":"YulAssignment","src":"10774:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10797:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10784:12:150"},"nodeType":"YulFunctionCall","src":"10784:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10774:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10816:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10846:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10857:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10842:3:150"},"nodeType":"YulFunctionCall","src":"10842:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10829:12:150"},"nodeType":"YulFunctionCall","src":"10829:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10820:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10895:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"10870:24:150"},"nodeType":"YulFunctionCall","src":"10870:31:150"},"nodeType":"YulExpressionStatement","src":"10870:31:150"},{"nodeType":"YulAssignment","src":"10910:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10920:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10910:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10661:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10672:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10684:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10692:6:150","type":""}],"src":"10616:315:150"},{"body":{"nodeType":"YulBlock","src":"11055:132:150","statements":[{"nodeType":"YulAssignment","src":"11065:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11077:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11088:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11073:3:150"},"nodeType":"YulFunctionCall","src":"11073:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11065:4:150"}]},{"body":{"nodeType":"YulBlock","src":"11125:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"11127:16:150"},"nodeType":"YulFunctionCall","src":"11127:18:150"},"nodeType":"YulExpressionStatement","src":"11127:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11113:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"11121:1:150","type":"","value":"4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11110:2:150"},"nodeType":"YulFunctionCall","src":"11110:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11103:6:150"},"nodeType":"YulFunctionCall","src":"11103:21:150"},"nodeType":"YulIf","src":"11100:47:150"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11163:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"11174:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11156:6:150"},"nodeType":"YulFunctionCall","src":"11156:25:150"},"nodeType":"YulExpressionStatement","src":"11156:25:150"}]},"name":"abi_encode_tuple_t_enum$_MilestoneState_$32274__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11024:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11035:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11046:4:150","type":""}],"src":"10936:251:150"},{"body":{"nodeType":"YulBlock","src":"11330:602:150","statements":[{"body":{"nodeType":"YulBlock","src":"11377:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11386:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11389:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11379:6:150"},"nodeType":"YulFunctionCall","src":"11379:12:150"},"nodeType":"YulExpressionStatement","src":"11379:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11351:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11360:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11347:3:150"},"nodeType":"YulFunctionCall","src":"11347:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11372:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11343:3:150"},"nodeType":"YulFunctionCall","src":"11343:33:150"},"nodeType":"YulIf","src":"11340:53:150"},{"nodeType":"YulVariableDeclaration","src":"11402:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11428:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11415:12:150"},"nodeType":"YulFunctionCall","src":"11415:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11406:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11472:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11447:24:150"},"nodeType":"YulFunctionCall","src":"11447:31:150"},"nodeType":"YulExpressionStatement","src":"11447:31:150"},{"nodeType":"YulAssignment","src":"11487:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11497:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11487:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11511:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11543:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11554:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11539:3:150"},"nodeType":"YulFunctionCall","src":"11539:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11526:12:150"},"nodeType":"YulFunctionCall","src":"11526:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"11515:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"11592:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11567:24:150"},"nodeType":"YulFunctionCall","src":"11567:33:150"},"nodeType":"YulExpressionStatement","src":"11567:33:150"},{"nodeType":"YulAssignment","src":"11609:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"11619:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11609:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11635:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11667:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11678:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11663:3:150"},"nodeType":"YulFunctionCall","src":"11663:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11650:12:150"},"nodeType":"YulFunctionCall","src":"11650:32:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"11639:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"11716:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11691:24:150"},"nodeType":"YulFunctionCall","src":"11691:33:150"},"nodeType":"YulExpressionStatement","src":"11691:33:150"},{"nodeType":"YulAssignment","src":"11733:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"11743:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11733:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11759:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11791:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11802:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11787:3:150"},"nodeType":"YulFunctionCall","src":"11787:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11774:12:150"},"nodeType":"YulFunctionCall","src":"11774:32:150"},"variables":[{"name":"value_3","nodeType":"YulTypedName","src":"11763:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_3","nodeType":"YulIdentifier","src":"11840:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11815:24:150"},"nodeType":"YulFunctionCall","src":"11815:33:150"},"nodeType":"YulExpressionStatement","src":"11815:33:150"},{"nodeType":"YulAssignment","src":"11857:17:150","value":{"name":"value_3","nodeType":"YulIdentifier","src":"11867:7:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"11857:6:150"}]},{"nodeType":"YulAssignment","src":"11883:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11910:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11921:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11906:3:150"},"nodeType":"YulFunctionCall","src":"11906:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11893:12:150"},"nodeType":"YulFunctionCall","src":"11893:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"11883:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11264:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11275:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11287:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11295:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11303:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11311:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"11319:6:150","type":""}],"src":"11192:740:150"},{"body":{"nodeType":"YulBlock","src":"11992:325:150","statements":[{"nodeType":"YulAssignment","src":"12002:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12016:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"12019:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"12012:3:150"},"nodeType":"YulFunctionCall","src":"12012:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"12002:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"12033:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"12063:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"12069:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12059:3:150"},"nodeType":"YulFunctionCall","src":"12059:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"12037:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12110:31:150","statements":[{"nodeType":"YulAssignment","src":"12112:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12126:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12134:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12122:3:150"},"nodeType":"YulFunctionCall","src":"12122:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"12112:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"12090:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12083:6:150"},"nodeType":"YulFunctionCall","src":"12083:26:150"},"nodeType":"YulIf","src":"12080:61:150"},{"body":{"nodeType":"YulBlock","src":"12200:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12221:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12228:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12233:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12224:3:150"},"nodeType":"YulFunctionCall","src":"12224:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12214:6:150"},"nodeType":"YulFunctionCall","src":"12214:31:150"},"nodeType":"YulExpressionStatement","src":"12214:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12265:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12268:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12258:6:150"},"nodeType":"YulFunctionCall","src":"12258:15:150"},"nodeType":"YulExpressionStatement","src":"12258:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12293:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12296:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12286:6:150"},"nodeType":"YulFunctionCall","src":"12286:15:150"},"nodeType":"YulExpressionStatement","src":"12286:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"12156:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12179:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12187:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12176:2:150"},"nodeType":"YulFunctionCall","src":"12176:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12153:2:150"},"nodeType":"YulFunctionCall","src":"12153:38:150"},"nodeType":"YulIf","src":"12150:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"11972:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"11981:6:150","type":""}],"src":"11937:380:150"},{"body":{"nodeType":"YulBlock","src":"12354:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12371:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12378:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12383:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12374:3:150"},"nodeType":"YulFunctionCall","src":"12374:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12364:6:150"},"nodeType":"YulFunctionCall","src":"12364:31:150"},"nodeType":"YulExpressionStatement","src":"12364:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12411:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12414:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12404:6:150"},"nodeType":"YulFunctionCall","src":"12404:15:150"},"nodeType":"YulExpressionStatement","src":"12404:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12435:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12438:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12428:6:150"},"nodeType":"YulFunctionCall","src":"12428:15:150"},"nodeType":"YulExpressionStatement","src":"12428:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"12322:127:150"},{"body":{"nodeType":"YulBlock","src":"12503:79:150","statements":[{"nodeType":"YulAssignment","src":"12513:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12525:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12528:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12521:3:150"},"nodeType":"YulFunctionCall","src":"12521:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"12513:4:150"}]},{"body":{"nodeType":"YulBlock","src":"12554:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12556:16:150"},"nodeType":"YulFunctionCall","src":"12556:18:150"},"nodeType":"YulExpressionStatement","src":"12556:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"12545:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"12551:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12542:2:150"},"nodeType":"YulFunctionCall","src":"12542:11:150"},"nodeType":"YulIf","src":"12539:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12485:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12488:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"12494:4:150","type":""}],"src":"12454:128:150"},{"body":{"nodeType":"YulBlock","src":"12716:119:150","statements":[{"nodeType":"YulAssignment","src":"12726:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12738:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12749:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12734:3:150"},"nodeType":"YulFunctionCall","src":"12734:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12726:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12768:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12779:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12761:6:150"},"nodeType":"YulFunctionCall","src":"12761:25:150"},"nodeType":"YulExpressionStatement","src":"12761:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12806:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12817:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12802:3:150"},"nodeType":"YulFunctionCall","src":"12802:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12822:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12795:6:150"},"nodeType":"YulFunctionCall","src":"12795:34:150"},"nodeType":"YulExpressionStatement","src":"12795:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12677:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12688:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12696:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12707:4:150","type":""}],"src":"12587:248:150"},{"body":{"nodeType":"YulBlock","src":"12872:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12889:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12896:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12901:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12892:3:150"},"nodeType":"YulFunctionCall","src":"12892:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12882:6:150"},"nodeType":"YulFunctionCall","src":"12882:31:150"},"nodeType":"YulExpressionStatement","src":"12882:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12929:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12932:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12922:6:150"},"nodeType":"YulFunctionCall","src":"12922:15:150"},"nodeType":"YulExpressionStatement","src":"12922:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12953:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12956:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12946:6:150"},"nodeType":"YulFunctionCall","src":"12946:15:150"},"nodeType":"YulExpressionStatement","src":"12946:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"12840:127:150"},{"body":{"nodeType":"YulBlock","src":"13019:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"13050:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13052:16:150"},"nodeType":"YulFunctionCall","src":"13052:18:150"},"nodeType":"YulExpressionStatement","src":"13052:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13035:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13046:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"13042:3:150"},"nodeType":"YulFunctionCall","src":"13042:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13032:2:150"},"nodeType":"YulFunctionCall","src":"13032:17:150"},"nodeType":"YulIf","src":"13029:43:150"},{"nodeType":"YulAssignment","src":"13081:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13092:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"13099:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13088:3:150"},"nodeType":"YulFunctionCall","src":"13088:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"13081:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13001:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"13011:3:150","type":""}],"src":"12972:135:150"},{"body":{"nodeType":"YulBlock","src":"13211:103:150","statements":[{"nodeType":"YulAssignment","src":"13221:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13233:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13244:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13229:3:150"},"nodeType":"YulFunctionCall","src":"13229:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13221:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13263:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13278:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13290:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13295:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13286:3:150"},"nodeType":"YulFunctionCall","src":"13286:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13274:3:150"},"nodeType":"YulFunctionCall","src":"13274:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13256:6:150"},"nodeType":"YulFunctionCall","src":"13256:52:150"},"nodeType":"YulExpressionStatement","src":"13256:52:150"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13180:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13191:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13202:4:150","type":""}],"src":"13112:202:150"},{"body":{"nodeType":"YulBlock","src":"13367:77:150","statements":[{"nodeType":"YulAssignment","src":"13377:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13388:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"13391:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13384:3:150"},"nodeType":"YulFunctionCall","src":"13384:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"13377:3:150"}]},{"body":{"nodeType":"YulBlock","src":"13416:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13418:16:150"},"nodeType":"YulFunctionCall","src":"13418:18:150"},"nodeType":"YulExpressionStatement","src":"13418:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13408:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"13411:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13405:2:150"},"nodeType":"YulFunctionCall","src":"13405:10:150"},"nodeType":"YulIf","src":"13402:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13350:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"13353:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"13359:3:150","type":""}],"src":"13319:125:150"},{"body":{"nodeType":"YulBlock","src":"13555:214:150","statements":[{"body":{"nodeType":"YulBlock","src":"13601:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13610:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13613:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13603:6:150"},"nodeType":"YulFunctionCall","src":"13603:12:150"},"nodeType":"YulExpressionStatement","src":"13603:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13576:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13585:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13572:3:150"},"nodeType":"YulFunctionCall","src":"13572:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13597:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13568:3:150"},"nodeType":"YulFunctionCall","src":"13568:32:150"},"nodeType":"YulIf","src":"13565:52:150"},{"nodeType":"YulVariableDeclaration","src":"13626:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13645:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13639:5:150"},"nodeType":"YulFunctionCall","src":"13639:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13630:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13689:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13664:24:150"},"nodeType":"YulFunctionCall","src":"13664:31:150"},"nodeType":"YulExpressionStatement","src":"13664:31:150"},{"nodeType":"YulAssignment","src":"13704:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13714:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13704:6:150"}]},{"nodeType":"YulAssignment","src":"13728:35:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13748:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13759:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13744:3:150"},"nodeType":"YulFunctionCall","src":"13744:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13738:5:150"},"nodeType":"YulFunctionCall","src":"13738:25:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13728:6:150"}]}]},"name":"abi_decode_tuple_t_address_payablet_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13513:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13524:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13536:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13544:6:150","type":""}],"src":"13449:320:150"},{"body":{"nodeType":"YulBlock","src":"13830:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13847:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"13850:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13840:6:150"},"nodeType":"YulFunctionCall","src":"13840:14:150"},"nodeType":"YulExpressionStatement","src":"13840:14:150"},{"nodeType":"YulAssignment","src":"13863:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13881:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13884:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"13871:9:150"},"nodeType":"YulFunctionCall","src":"13871:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"13863:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"13813:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"13821:4:150","type":""}],"src":"13774:121:150"},{"body":{"nodeType":"YulBlock","src":"13981:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"14014:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"14028:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14038:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14032:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"14059:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"14063:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14052:6:150"},"nodeType":"YulFunctionCall","src":"14052:17:150"},"nodeType":"YulExpressionStatement","src":"14052:17:150"},{"nodeType":"YulVariableDeclaration","src":"14082:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"14104:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"14108:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"14094:9:150"},"nodeType":"YulFunctionCall","src":"14094:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"14086:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14126:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14149:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14159:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"14166:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14178:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14162:3:150"},"nodeType":"YulFunctionCall","src":"14162:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"14155:3:150"},"nodeType":"YulFunctionCall","src":"14155:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14145:3:150"},"nodeType":"YulFunctionCall","src":"14145:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"14130:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14220:23:150","statements":[{"nodeType":"YulAssignment","src":"14222:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"14237:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"14222:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"14202:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14214:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14199:2:150"},"nodeType":"YulFunctionCall","src":"14199:20:150"},"nodeType":"YulIf","src":"14196:47:150"},{"nodeType":"YulVariableDeclaration","src":"14256:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14270:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14280:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"14287:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"14292:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14283:3:150"},"nodeType":"YulFunctionCall","src":"14283:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"14276:3:150"},"nodeType":"YulFunctionCall","src":"14276:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14266:3:150"},"nodeType":"YulFunctionCall","src":"14266:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"14260:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14310:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"14323:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"14314:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14408:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"14417:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14424:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"14410:6:150"},"nodeType":"YulFunctionCall","src":"14410:17:150"},"nodeType":"YulExpressionStatement","src":"14410:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"14358:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"14365:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14355:2:150"},"nodeType":"YulFunctionCall","src":"14355:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"14369:26:150","statements":[{"nodeType":"YulAssignment","src":"14371:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"14384:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"14391:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14380:3:150"},"nodeType":"YulFunctionCall","src":"14380:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"14371:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"14351:3:150","statements":[]},"src":"14347:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"13997:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"14002:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13994:2:150"},"nodeType":"YulFunctionCall","src":"13994:11:150"},"nodeType":"YulIf","src":"13991:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"13953:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"13960:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"13965:10:150","type":""}],"src":"13900:545:150"},{"body":{"nodeType":"YulBlock","src":"14535:81:150","statements":[{"nodeType":"YulAssignment","src":"14545:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14560:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14578:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"14581:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14574:3:150"},"nodeType":"YulFunctionCall","src":"14574:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14591:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14587:3:150"},"nodeType":"YulFunctionCall","src":"14587:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"14570:3:150"},"nodeType":"YulFunctionCall","src":"14570:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14566:3:150"},"nodeType":"YulFunctionCall","src":"14566:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14556:3:150"},"nodeType":"YulFunctionCall","src":"14556:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14602:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"14605:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14598:3:150"},"nodeType":"YulFunctionCall","src":"14598:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14553:2:150"},"nodeType":"YulFunctionCall","src":"14553:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"14545:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"14512:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"14518:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"14526:4:150","type":""}],"src":"14450:166:150"},{"body":{"nodeType":"YulBlock","src":"14717:1256:150","statements":[{"nodeType":"YulVariableDeclaration","src":"14727:24:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"14747:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14741:5:150"},"nodeType":"YulFunctionCall","src":"14741:10:150"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"14731:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14794:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"14796:16:150"},"nodeType":"YulFunctionCall","src":"14796:18:150"},"nodeType":"YulExpressionStatement","src":"14796:18:150"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"14766:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14782:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14786:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14778:3:150"},"nodeType":"YulFunctionCall","src":"14778:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14790:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14774:3:150"},"nodeType":"YulFunctionCall","src":"14774:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14763:2:150"},"nodeType":"YulFunctionCall","src":"14763:30:150"},"nodeType":"YulIf","src":"14760:56:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"14869:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"14907:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"14901:5:150"},"nodeType":"YulFunctionCall","src":"14901:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"14875:25:150"},"nodeType":"YulFunctionCall","src":"14875:38:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"14915:6:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"14825:43:150"},"nodeType":"YulFunctionCall","src":"14825:97:150"},"nodeType":"YulExpressionStatement","src":"14825:97:150"},{"nodeType":"YulVariableDeclaration","src":"14931:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14948:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"14935:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14958:23:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14977:4:150","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"14962:11:150","type":""}]},{"nodeType":"YulAssignment","src":"14990:24:150","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"15003:11:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"14990:9:150"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"15060:656:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15074:35:150","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"15093:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15105:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15101:3:150"},"nodeType":"YulFunctionCall","src":"15101:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15089:3:150"},"nodeType":"YulFunctionCall","src":"15089:20:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"15078:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15122:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15166:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"15136:29:150"},"nodeType":"YulFunctionCall","src":"15136:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"15126:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15184:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15193:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"15188:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15271:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"15296:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15314:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"15319:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15310:3:150"},"nodeType":"YulFunctionCall","src":"15310:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15304:5:150"},"nodeType":"YulFunctionCall","src":"15304:26:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15289:6:150"},"nodeType":"YulFunctionCall","src":"15289:42:150"},"nodeType":"YulExpressionStatement","src":"15289:42:150"},{"nodeType":"YulAssignment","src":"15348:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"15362:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"15370:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15358:3:150"},"nodeType":"YulFunctionCall","src":"15358:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"15348:6:150"}]},{"nodeType":"YulAssignment","src":"15389:40:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"15406:9:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"15417:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15402:3:150"},"nodeType":"YulFunctionCall","src":"15402:27:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"15389:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15218:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"15221:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15215:2:150"},"nodeType":"YulFunctionCall","src":"15215:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"15230:28:150","statements":[{"nodeType":"YulAssignment","src":"15232:24:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"15241:1:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"15244:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15237:3:150"},"nodeType":"YulFunctionCall","src":"15237:19:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"15232:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"15211:3:150","statements":[]},"src":"15207:236:150"},{"body":{"nodeType":"YulBlock","src":"15491:166:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15509:43:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15536:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"15541:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15532:3:150"},"nodeType":"YulFunctionCall","src":"15532:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15526:5:150"},"nodeType":"YulFunctionCall","src":"15526:26:150"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"15513:9:150","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"15576:6:150"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"15588:9:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15615:1:150","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"15618:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15611:3:150"},"nodeType":"YulFunctionCall","src":"15611:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"15627:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15607:3:150"},"nodeType":"YulFunctionCall","src":"15607:24:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15637:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15633:3:150"},"nodeType":"YulFunctionCall","src":"15633:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"15603:3:150"},"nodeType":"YulFunctionCall","src":"15603:37:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15599:3:150"},"nodeType":"YulFunctionCall","src":"15599:42:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15584:3:150"},"nodeType":"YulFunctionCall","src":"15584:58:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15569:6:150"},"nodeType":"YulFunctionCall","src":"15569:74:150"},"nodeType":"YulExpressionStatement","src":"15569:74:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"15462:7:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"15471:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15459:2:150"},"nodeType":"YulFunctionCall","src":"15459:19:150"},"nodeType":"YulIf","src":"15456:201:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15677:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15691:1:150","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"15694:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15687:3:150"},"nodeType":"YulFunctionCall","src":"15687:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"15703:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15683:3:150"},"nodeType":"YulFunctionCall","src":"15683:22:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15670:6:150"},"nodeType":"YulFunctionCall","src":"15670:36:150"},"nodeType":"YulExpressionStatement","src":"15670:36:150"}]},"nodeType":"YulCase","src":"15053:663:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15058:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"15733:234:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15747:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15760:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15751:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15796:67:150","statements":[{"nodeType":"YulAssignment","src":"15814:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15833:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"15838:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15829:3:150"},"nodeType":"YulFunctionCall","src":"15829:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15823:5:150"},"nodeType":"YulFunctionCall","src":"15823:26:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"15814:5:150"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"15777:6:150"},"nodeType":"YulIf","src":"15774:89:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15883:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15942:5:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"15949:6:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"15889:52:150"},"nodeType":"YulFunctionCall","src":"15889:67:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15876:6:150"},"nodeType":"YulFunctionCall","src":"15876:81:150"},"nodeType":"YulExpressionStatement","src":"15876:81:150"}]},"nodeType":"YulCase","src":"15725:242:150","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"15033:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"15041:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15030:2:150"},"nodeType":"YulFunctionCall","src":"15030:14:150"},"nodeType":"YulSwitch","src":"15023:944:150"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"14702:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"14708:3:150","type":""}],"src":"14621:1352:150"},{"body":{"nodeType":"YulBlock","src":"16127:142:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16144:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"16155:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16137:6:150"},"nodeType":"YulFunctionCall","src":"16137:25:150"},"nodeType":"YulExpressionStatement","src":"16137:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16182:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16193:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16178:3:150"},"nodeType":"YulFunctionCall","src":"16178:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16198:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16171:6:150"},"nodeType":"YulFunctionCall","src":"16171:30:150"},"nodeType":"YulExpressionStatement","src":"16171:30:150"},{"nodeType":"YulAssignment","src":"16210:53:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16236:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16248:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16259:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16244:3:150"},"nodeType":"YulFunctionCall","src":"16244:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"16218:17:150"},"nodeType":"YulFunctionCall","src":"16218:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16210:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16088:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16099:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16107:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16118:4:150","type":""}],"src":"15978:291:150"},{"body":{"nodeType":"YulBlock","src":"16374:180:150","statements":[{"body":{"nodeType":"YulBlock","src":"16420:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16429:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16432:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16422:6:150"},"nodeType":"YulFunctionCall","src":"16422:12:150"},"nodeType":"YulExpressionStatement","src":"16422:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16395:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16404:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16391:3:150"},"nodeType":"YulFunctionCall","src":"16391:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16416:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16387:3:150"},"nodeType":"YulFunctionCall","src":"16387:32:150"},"nodeType":"YulIf","src":"16384:52:150"},{"nodeType":"YulVariableDeclaration","src":"16445:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16464:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16458:5:150"},"nodeType":"YulFunctionCall","src":"16458:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16449:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16508:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16517:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16520:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16510:6:150"},"nodeType":"YulFunctionCall","src":"16510:12:150"},"nodeType":"YulExpressionStatement","src":"16510:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16496:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16503:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16493:2:150"},"nodeType":"YulFunctionCall","src":"16493:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16486:6:150"},"nodeType":"YulFunctionCall","src":"16486:21:150"},"nodeType":"YulIf","src":"16483:41:150"},{"nodeType":"YulAssignment","src":"16533:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"16543:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16533:6:150"}]}]},"name":"abi_decode_tuple_t_enum$_ProposalState_$61406_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16340:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16351:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16363:6:150","type":""}],"src":"16274:280:150"},{"body":{"nodeType":"YulBlock","src":"16688:175:150","statements":[{"nodeType":"YulAssignment","src":"16698:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16710:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16721:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16706:3:150"},"nodeType":"YulFunctionCall","src":"16706:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16698:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"16733:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16751:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"16756:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16747:3:150"},"nodeType":"YulFunctionCall","src":"16747:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16760:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16743:3:150"},"nodeType":"YulFunctionCall","src":"16743:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16737:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16778:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16793:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16801:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16789:3:150"},"nodeType":"YulFunctionCall","src":"16789:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16771:6:150"},"nodeType":"YulFunctionCall","src":"16771:34:150"},"nodeType":"YulExpressionStatement","src":"16771:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16825:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16836:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16821:3:150"},"nodeType":"YulFunctionCall","src":"16821:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16845:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16853:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16841:3:150"},"nodeType":"YulFunctionCall","src":"16841:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16814:6:150"},"nodeType":"YulFunctionCall","src":"16814:43:150"},"nodeType":"YulExpressionStatement","src":"16814:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16649:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16660:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16668:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16679:4:150","type":""}],"src":"16559:304:150"},{"body":{"nodeType":"YulBlock","src":"16949:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"16995:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17004:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17007:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16997:6:150"},"nodeType":"YulFunctionCall","src":"16997:12:150"},"nodeType":"YulExpressionStatement","src":"16997:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16970:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16979:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16966:3:150"},"nodeType":"YulFunctionCall","src":"16966:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16991:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16962:3:150"},"nodeType":"YulFunctionCall","src":"16962:32:150"},"nodeType":"YulIf","src":"16959:52:150"},{"nodeType":"YulAssignment","src":"17020:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17036:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17030:5:150"},"nodeType":"YulFunctionCall","src":"17030:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17020:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16915:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16926:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16938:6:150","type":""}],"src":"16868:184:150"},{"body":{"nodeType":"YulBlock","src":"17186:145:150","statements":[{"nodeType":"YulAssignment","src":"17196:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17208:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17219:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17204:3:150"},"nodeType":"YulFunctionCall","src":"17204:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17196:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17238:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17253:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17269:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17274:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17265:3:150"},"nodeType":"YulFunctionCall","src":"17265:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17278:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17261:3:150"},"nodeType":"YulFunctionCall","src":"17261:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17249:3:150"},"nodeType":"YulFunctionCall","src":"17249:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17231:6:150"},"nodeType":"YulFunctionCall","src":"17231:51:150"},"nodeType":"YulExpressionStatement","src":"17231:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17302:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17313:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17298:3:150"},"nodeType":"YulFunctionCall","src":"17298:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17318:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17291:6:150"},"nodeType":"YulFunctionCall","src":"17291:34:150"},"nodeType":"YulExpressionStatement","src":"17291:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17147:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17158:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17166:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17177:4:150","type":""}],"src":"17057:274:150"},{"body":{"nodeType":"YulBlock","src":"17414:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"17460:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17469:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17472:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17462:6:150"},"nodeType":"YulFunctionCall","src":"17462:12:150"},"nodeType":"YulExpressionStatement","src":"17462:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17435:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17444:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17431:3:150"},"nodeType":"YulFunctionCall","src":"17431:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"17456:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17427:3:150"},"nodeType":"YulFunctionCall","src":"17427:32:150"},"nodeType":"YulIf","src":"17424:52:150"},{"nodeType":"YulVariableDeclaration","src":"17485:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17504:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17498:5:150"},"nodeType":"YulFunctionCall","src":"17498:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17489:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17567:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17576:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17579:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17569:6:150"},"nodeType":"YulFunctionCall","src":"17569:12:150"},"nodeType":"YulExpressionStatement","src":"17569:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17536:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17557:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17550:6:150"},"nodeType":"YulFunctionCall","src":"17550:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17543:6:150"},"nodeType":"YulFunctionCall","src":"17543:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17533:2:150"},"nodeType":"YulFunctionCall","src":"17533:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17526:6:150"},"nodeType":"YulFunctionCall","src":"17526:40:150"},"nodeType":"YulIf","src":"17523:60:150"},{"nodeType":"YulAssignment","src":"17592:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"17602:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17592:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17380:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17391:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17403:6:150","type":""}],"src":"17336:277:150"},{"body":{"nodeType":"YulBlock","src":"17792:178:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17809:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17820:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17802:6:150"},"nodeType":"YulFunctionCall","src":"17802:21:150"},"nodeType":"YulExpressionStatement","src":"17802:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17843:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17854:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17839:3:150"},"nodeType":"YulFunctionCall","src":"17839:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"17859:2:150","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17832:6:150"},"nodeType":"YulFunctionCall","src":"17832:30:150"},"nodeType":"YulExpressionStatement","src":"17832:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17893:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17878:3:150"},"nodeType":"YulFunctionCall","src":"17878:18:150"},{"hexValue":"476f7665726e6f7220616464726573732063616e6e6f742062652030","kind":"string","nodeType":"YulLiteral","src":"17898:30:150","type":"","value":"Governor address cannot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17871:6:150"},"nodeType":"YulFunctionCall","src":"17871:58:150"},"nodeType":"YulExpressionStatement","src":"17871:58:150"},{"nodeType":"YulAssignment","src":"17938:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17950:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17961:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17946:3:150"},"nodeType":"YulFunctionCall","src":"17946:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17938:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17769:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17783:4:150","type":""}],"src":"17618:352:150"},{"body":{"nodeType":"YulBlock","src":"18149:178:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18177:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18159:6:150"},"nodeType":"YulFunctionCall","src":"18159:21:150"},"nodeType":"YulExpressionStatement","src":"18159:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18200:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18211:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18196:3:150"},"nodeType":"YulFunctionCall","src":"18196:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18216:2:150","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18189:6:150"},"nodeType":"YulFunctionCall","src":"18189:30:150"},"nodeType":"YulExpressionStatement","src":"18189:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18239:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18250:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18235:3:150"},"nodeType":"YulFunctionCall","src":"18235:18:150"},{"hexValue":"547265617375727920616464726573732063616e6e6f742062652030","kind":"string","nodeType":"YulLiteral","src":"18255:30:150","type":"","value":"Treasury address cannot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18228:6:150"},"nodeType":"YulFunctionCall","src":"18228:58:150"},"nodeType":"YulExpressionStatement","src":"18228:58:150"},{"nodeType":"YulAssignment","src":"18295:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18307:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18318:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18303:3:150"},"nodeType":"YulFunctionCall","src":"18303:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18295:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18126:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18140:4:150","type":""}],"src":"17975:352:150"},{"body":{"nodeType":"YulBlock","src":"18506:174:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18523:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18534:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18516:6:150"},"nodeType":"YulFunctionCall","src":"18516:21:150"},"nodeType":"YulExpressionStatement","src":"18516:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18557:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18568:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18553:3:150"},"nodeType":"YulFunctionCall","src":"18553:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18573:2:150","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18546:6:150"},"nodeType":"YulFunctionCall","src":"18546:30:150"},"nodeType":"YulExpressionStatement","src":"18546:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18596:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18607:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18592:3:150"},"nodeType":"YulFunctionCall","src":"18592:18:150"},{"hexValue":"4233545220616464726573732063616e6e6f742062652030","kind":"string","nodeType":"YulLiteral","src":"18612:26:150","type":"","value":"B3TR address cannot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18585:6:150"},"nodeType":"YulFunctionCall","src":"18585:54:150"},"nodeType":"YulExpressionStatement","src":"18585:54:150"},{"nodeType":"YulAssignment","src":"18648:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18660:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18671:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18656:3:150"},"nodeType":"YulFunctionCall","src":"18656:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18648:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18483:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18497:4:150","type":""}],"src":"18332:348:150"},{"body":{"nodeType":"YulBlock","src":"18859:223:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18876:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18887:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18869:6:150"},"nodeType":"YulFunctionCall","src":"18869:21:150"},"nodeType":"YulExpressionStatement","src":"18869:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18910:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18921:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18906:3:150"},"nodeType":"YulFunctionCall","src":"18906:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18926:2:150","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18899:6:150"},"nodeType":"YulFunctionCall","src":"18899:30:150"},"nodeType":"YulExpressionStatement","src":"18899:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18949:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18960:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18945:3:150"},"nodeType":"YulFunctionCall","src":"18945:18:150"},{"hexValue":"44656661756c742061646d696e20616464726573732063616e6e6f7420626520","kind":"string","nodeType":"YulLiteral","src":"18965:34:150","type":"","value":"Default admin address cannot be "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18938:6:150"},"nodeType":"YulFunctionCall","src":"18938:62:150"},"nodeType":"YulExpressionStatement","src":"18938:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19020:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19031:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19016:3:150"},"nodeType":"YulFunctionCall","src":"19016:18:150"},{"hexValue":"30","kind":"string","nodeType":"YulLiteral","src":"19036:3:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19009:6:150"},"nodeType":"YulFunctionCall","src":"19009:31:150"},"nodeType":"YulExpressionStatement","src":"19009:31:150"},{"nodeType":"YulAssignment","src":"19049:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19061:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19072:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19057:3:150"},"nodeType":"YulFunctionCall","src":"19057:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19049:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18836:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18850:4:150","type":""}],"src":"18685:397:150"},{"body":{"nodeType":"YulBlock","src":"19261:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19278:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19289:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19271:6:150"},"nodeType":"YulFunctionCall","src":"19271:21:150"},"nodeType":"YulExpressionStatement","src":"19271:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19312:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19323:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19308:3:150"},"nodeType":"YulFunctionCall","src":"19308:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"19328:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19301:6:150"},"nodeType":"YulFunctionCall","src":"19301:30:150"},"nodeType":"YulExpressionStatement","src":"19301:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19351:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19362:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19347:3:150"},"nodeType":"YulFunctionCall","src":"19347:18:150"},{"hexValue":"4d696e696d756d206d696c6573746f6e6520636f756e742063616e6e6f742062","kind":"string","nodeType":"YulLiteral","src":"19367:34:150","type":"","value":"Minimum milestone count cannot b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19340:6:150"},"nodeType":"YulFunctionCall","src":"19340:62:150"},"nodeType":"YulExpressionStatement","src":"19340:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19422:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19433:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19418:3:150"},"nodeType":"YulFunctionCall","src":"19418:18:150"},{"hexValue":"652030","kind":"string","nodeType":"YulLiteral","src":"19438:5:150","type":"","value":"e 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19411:6:150"},"nodeType":"YulFunctionCall","src":"19411:33:150"},"nodeType":"YulExpressionStatement","src":"19411:33:150"},{"nodeType":"YulAssignment","src":"19453:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19465:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19476:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19461:3:150"},"nodeType":"YulFunctionCall","src":"19461:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19453:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19238:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19252:4:150","type":""}],"src":"19087:399:150"},{"body":{"nodeType":"YulBlock","src":"19599:101:150","statements":[{"nodeType":"YulAssignment","src":"19609:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19621:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19632:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19617:3:150"},"nodeType":"YulFunctionCall","src":"19617:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19609:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19651:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19666:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19682:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"19686:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19678:3:150"},"nodeType":"YulFunctionCall","src":"19678:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"19690:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19674:3:150"},"nodeType":"YulFunctionCall","src":"19674:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19662:3:150"},"nodeType":"YulFunctionCall","src":"19662:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19644:6:150"},"nodeType":"YulFunctionCall","src":"19644:50:150"},"nodeType":"YulExpressionStatement","src":"19644:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19568:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19579:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19590:4:150","type":""}],"src":"19491:209:150"},{"body":{"nodeType":"YulBlock","src":"19786:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"19832:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19841:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19844:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19834:6:150"},"nodeType":"YulFunctionCall","src":"19834:12:150"},"nodeType":"YulExpressionStatement","src":"19834:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19807:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19816:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19803:3:150"},"nodeType":"YulFunctionCall","src":"19803:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19828:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19799:3:150"},"nodeType":"YulFunctionCall","src":"19799:32:150"},"nodeType":"YulIf","src":"19796:52:150"},{"nodeType":"YulAssignment","src":"19857:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19873:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19867:5:150"},"nodeType":"YulFunctionCall","src":"19867:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19857:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19752:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19763:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19775:6:150","type":""}],"src":"19705:184:150"},{"body":{"nodeType":"YulBlock","src":"20023:145:150","statements":[{"nodeType":"YulAssignment","src":"20033:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20045:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20056:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20041:3:150"},"nodeType":"YulFunctionCall","src":"20041:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20033:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20075:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20090:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20106:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"20111:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20102:3:150"},"nodeType":"YulFunctionCall","src":"20102:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"20115:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20098:3:150"},"nodeType":"YulFunctionCall","src":"20098:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20086:3:150"},"nodeType":"YulFunctionCall","src":"20086:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20068:6:150"},"nodeType":"YulFunctionCall","src":"20068:51:150"},"nodeType":"YulExpressionStatement","src":"20068:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20139:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20150:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20135:3:150"},"nodeType":"YulFunctionCall","src":"20135:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"20155:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20128:6:150"},"nodeType":"YulFunctionCall","src":"20128:34:150"},"nodeType":"YulExpressionStatement","src":"20128:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19984:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19995:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20003:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20014:4:150","type":""}],"src":"19894:274:150"},{"body":{"nodeType":"YulBlock","src":"20310:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"20320:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20340:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20334:5:150"},"nodeType":"YulFunctionCall","src":"20334:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"20324:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20395:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"20403:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20391:3:150"},"nodeType":"YulFunctionCall","src":"20391:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"20410:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"20415:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"20356:34:150"},"nodeType":"YulFunctionCall","src":"20356:66:150"},"nodeType":"YulExpressionStatement","src":"20356:66:150"},{"nodeType":"YulAssignment","src":"20431:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20442:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"20447:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20438:3:150"},"nodeType":"YulFunctionCall","src":"20438:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"20431:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"20286:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20291:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"20302:3:150","type":""}],"src":"20173:287:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_struct_Milestone(value, pos) -> end\n    {\n        mstore(pos, mload(value))\n        mstore(add(pos, 0x20), iszero(iszero(mload(add(value, 0x20)))))\n        mstore(add(pos, 0x40), iszero(iszero(mload(add(value, 0x40)))))\n        mstore(add(pos, 0x60), iszero(iszero(mload(add(value, 0x60)))))\n        let memberValue0 := mload(add(value, 0x80))\n        mstore(add(pos, 0x80), 0xa0)\n        end := abi_encode_string(memberValue0, add(pos, 0xa0))\n    }\n    function abi_encode_tuple_t_struct$_GrantProposal_$32304_memory_ptr__to_t_struct$_GrantProposal_$32304_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        mstore(headStart, _1)\n        let tail_1 := add(headStart, 256)\n        mstore(add(headStart, _1), mload(value0))\n        mstore(add(headStart, 64), mload(add(value0, _1)))\n        mstore(add(headStart, 96), mload(add(value0, 64)))\n        let memberValue0 := mload(add(value0, 96))\n        let _2 := sub(shl(160, 1), 1)\n        mstore(add(headStart, 128), and(memberValue0, _2))\n        mstore(add(headStart, 160), and(mload(add(value0, 128)), _2))\n        let memberValue0_1 := mload(add(value0, 160))\n        mstore(add(headStart, 192), 0xe0)\n        let pos := tail_1\n        let length := mload(memberValue0_1)\n        mstore(tail_1, length)\n        let _3 := 288\n        pos := add(headStart, _3)\n        let tail_2 := add(add(headStart, shl(5, length)), _3)\n        let srcPtr := add(memberValue0_1, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(287)))\n            tail_2 := abi_encode_struct_Milestone(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        let memberValue0_2 := mload(add(value0, 192))\n        mstore(add(headStart, 0xe0), add(sub(tail_2, headStart), not(31)))\n        tail := abi_encode_string(memberValue0_2, tail_2)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Milestone_$32286_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_struct_Milestone(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_string_memory_ptrt_uint256t_addresst_addresst_array$_t_bytes_memory_ptr_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n        let _2 := 32\n        value1 := calldataload(add(headStart, _2))\n        let value := calldataload(add(headStart, 64))\n        validator_revert_address(value)\n        value2 := value\n        let value_1 := calldataload(add(headStart, 96))\n        validator_revert_address(value_1)\n        value3 := value_1\n        let offset_1 := calldataload(add(headStart, 128))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let _3 := add(headStart, offset_1)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        if gt(_4, _1) { panic_error_0x41() }\n        let _5 := shl(5, _4)\n        let dst := allocate_memory(add(_5, _2))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _2)\n        let srcEnd := add(add(_3, _5), _2)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, _1)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            mstore(dst, abi_decode_bytes(add(add(_3, innerOffset), _2), dataEnd))\n            dst := add(dst, _2)\n        }\n        value4 := dst_1\n    }\n    function abi_encode_tuple_t_struct$_Milestone_$32286_memory_ptr__to_t_struct$_Milestone_$32286_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Milestone(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value2 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_enum$_GrantState_$32268__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 10)) { panic_error_0x21() }\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_enum$_MilestoneState_$32274__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 4)) { panic_error_0x21() }\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_addresst_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        let value_2 := calldataload(add(headStart, 64))\n        validator_revert_address(value_2)\n        value2 := value_2\n        let value_3 := calldataload(add(headStart, 96))\n        validator_revert_address(value_3)\n        value3 := value_3\n        value4 := calldataload(add(headStart, 128))\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_address_payablet_uint256_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := mload(add(headStart, 32))\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := srcOffset_1\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_string(value1, add(headStart, 64))\n    }\n    function abi_decode_tuple_t_enum$_ProposalState_$61406_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(lt(value, 10)) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_29407ee128dbb133596600ffefa43220cecfccf5c0e7b3707b7a946e3640f3b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"Governor address cannot be 0\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_2a285f69b0394ea229f3c380fc8622f8e2825c58a77d1b3cdd342a77de004fb8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"Treasury address cannot be 0\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_21b83c0ff9c678fa89fd32eabd191ad7a18dd736d96a73fe3062341632a6857a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 24)\n        mstore(add(headStart, 64), \"B3TR address cannot be 0\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_d1a19456462e205552c666235a3c90b882921ccd7ef2c298ed4fb41b7ac3ad7b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 33)\n        mstore(add(headStart, 64), \"Default admin address cannot be \")\n        mstore(add(headStart, 96), \"0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_05cda451a1baa2b6a9447e7a6da387e0361ebb2c8033dd23b237d72693900700__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Minimum milestone count cannot b\")\n        mstore(add(headStart, 96), \"e 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":12926},{"length":32,"start":12967},{"length":32,"start":13297}]},"linkReferences":{},"object":"6080604052600436106102175760003560e01c806219cce61461021c578063012947641461024757806301ffc9a71461026a57806306c498221461029a5780631ed65110146102bc57806321afd1f6146102dc578063248a9ca3146102fe57806324ad94cd1461031e57806326c74fc31461034b5780632f2ff15d1461036057806336568abe146103805780633f36cd7f146103a05780633f4ba83a146103c257806342c549c0146103d75780634f1ef2861461040457806352d1902d1461041757806354b90b7b1461042c57806354fd4d501461044c5780635ade3874146104605780635c975abb14610480578063767b1602146104955780637da17bf3146104b5578063808860a5146104d55780638456cb59146104f55780638ed9895c1461050a57806391d14854146105375780639b15408714610557578063a217fddf14610577578063ad3cb1cc1461058c578063b2a2eef9146105ca578063b3396778146105ea578063bfda4e7c1461060a578063c1a45a6a14610637578063c224938914610657578063c266aef714610677578063c42433b414610697578063c4ec8f98146106b7578063cff28c70146106cc578063d547741f146106ec578063da104fac1461070c578063e03d759b1461072c578063e63ab1e91461074c578063e9af5d1b1461076e578063f23e227b1461079b578063f36c8f5c146107bb578063f7013ef6146107dd578063f72c0d8b146107fd575b600080fd5b34801561022857600080fd5b5061023161081f565b60405161023e9190613e76565b60405180910390f35b34801561025357600080fd5b5061025c61083d565b60405190815260200161023e565b34801561027657600080fd5b5061028a610285366004613e8a565b610852565b604051901515815260200161023e565b3480156102a657600080fd5b506102ba6102b5366004613ec9565b610889565b005b3480156102c857600080fd5b506102ba6102d7366004613ec9565b6108c4565b3480156102e857600080fd5b5061025c60008051602061470a83398151915281565b34801561030a57600080fd5b5061025c610319366004613ee6565b6108ff565b34801561032a57600080fd5b5061033e610339366004613ee6565b61091f565b60405161023e9190613f92565b34801561035757600080fd5b50610231610b96565b34801561036c57600080fd5b506102ba61037b366004614057565b610bb4565b34801561038c57600080fd5b506102ba61039b366004614057565b610bd6565b3480156103ac57600080fd5b5061025c6000805160206147ca83398151915281565b3480156103ce57600080fd5b506102ba610c0e565b3480156103e357600080fd5b506103f76103f2366004613ee6565b610c7a565b60405161023e9190614087565b6102ba61041236600461419e565b610dc6565b34801561042357600080fd5b5061025c610de1565b34801561043857600080fd5b506102ba610447366004613ec9565b610dfe565b34801561045857600080fd5b50600261025c565b34801561046c57600080fd5b5061025c61047b366004613ee6565b610e39565b34801561048c57600080fd5b5061028a610e44565b3480156104a157600080fd5b506102ba6104b03660046141ed565b610e59565b3480156104c157600080fd5b5061028a6104d0366004613ee6565b610fd1565b3480156104e157600080fd5b506102ba6104f036600461420f565b611254565b34801561050157600080fd5b506102ba6117e5565b34801561051657600080fd5b5061052a6105253660046141ed565b61184d565b60405161023e9190614324565b34801561054357600080fd5b5061028a610552366004614057565b6119ae565b34801561056357600080fd5b5061028a610572366004613ee6565b6119e4565b34801561058357600080fd5b5061025c600081565b34801561059857600080fd5b506105bd604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161023e9190614337565b3480156105d657600080fd5b506102ba6105e5366004613ee6565b611d43565b3480156105f657600080fd5b506102ba61060536600461434a565b611d63565b34801561061657600080fd5b5061062a610625366004613ee6565b611efc565b60405161023e91906143af565b34801561064357600080fd5b5061028a6106523660046141ed565b611ff1565b34801561066357600080fd5b5061028a610672366004613ee6565b612018565b34801561068357600080fd5b506102ba6106923660046141ed565b61237c565b3480156106a357600080fd5b506102ba6106b23660046143c9565b6127f6565b3480156106c357600080fd5b50610231612896565b3480156106d857600080fd5b506105bd6106e7366004613ee6565b6128b4565b3480156106f857600080fd5b506102ba610707366004614057565b612966565b34801561071857600080fd5b50610231610727366004613ee6565b612982565b34801561073857600080fd5b506102ba610747366004614057565b6129ab565b34801561075857600080fd5b5061025c6000805160206147aa83398151915281565b34801561077a57600080fd5b5061078e6107893660046141ed565b612a92565b60405161023e91906143f9565b3480156107a757600080fd5b506102ba6107b6366004613ee6565b612aa5565b3480156107c757600080fd5b5061025c60008051602061472a83398151915281565b3480156107e957600080fd5b506102ba6107f836600461440d565b612d6a565b34801561080957600080fd5b5061025c60008051602061476a83398151915281565b60008061082a6130ae565b600101546001600160a01b031692915050565b6000806108486130ae565b6004015492915050565b60006001600160e01b03198216637965db0b60e01b148061088357506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000610894816130d2565b600061089e6130ae565b60010180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60006108cf816130d2565b60006108d96130ae565b60020180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a6130df565b60009384526020525050604090206001015490565b6109716040518060e0016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160608152602001606081525090565b600061097b6130ae565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b03908116606083015260048301541660808201526005820180548451818702810187019095528085529697509095919460a087019491929184015b82821015610af45760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610a6390614471565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8f90614471565b8015610adc5780601f10610ab157610100808354040283529160200191610adc565b820191906000526020600020905b815481529060010190602001808311610abf57829003601f168201915b505050505081525050815260200190600101906109ef565b505050508152602001600682018054610b0c90614471565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3890614471565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050505081525050915050919050565b600080610ba16130ae565b600201546001600160a01b031692915050565b610bbd826108ff565b610bc6816130d2565b610bd08383613103565b50505050565b6001600160a01b0381163314610bff5760405163334bd91960e11b815260040160405180910390fd5b610c0982826131a4565b505050565b6000805160206147aa8339815191526000610c276130ae565b9050610c3382336119ae565b80610c515750610c5160008051602061472a833981519152336119ae565b610c6e5760405163ea8e4eb560e01b815260040160405180910390fd5b610c7661321c565b5050565b60606000610c866130ae565b600084815260208281526040808320600501805482518185028101850190935280835294955090939092909184015b82821015610dba5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190610d2990614471565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5590614471565b8015610da25780601f10610d7757610100808354040283529160200191610da2565b820191906000526020600020905b815481529060010190602001808311610d8557829003601f168201915b50505050508152505081526020019060010190610cb5565b50505050915050919050565b610dce613273565b610dd78261331a565b610c768282613332565b6000610deb6133e6565b5060008051602061478a83398151915290565b6000610e09816130d2565b6000610e136130ae565b60030180546001600160a01b0319166001600160a01b0394909416939093179092555050565b60008061090a6130ae565b600080610e4f61342f565b5460ff1692915050565b6000805160206147ca8339815191526000610e726130ae565b9050610e7e82336119ae565b80610e9c5750610e9c60008051602061472a833981519152336119ae565b610eb95760405163ea8e4eb560e01b815260040160405180910390fd5b6000610ec36130ae565b9050610ece85613453565b610ed88585613509565b8315610f61576000610ef486610eef6001886144c1565b61354b565b90506001816003811115610f0a57610f0a614399565b14158015610f2a57506002816003811115610f2757610f27614399565b14155b15610f5f5785610f3b6001876144c1565b60405163414e3ac760e01b8152600401610f569291906144d4565b60405180910390fd5b505b600085815260208290526040902060050180546001919086908110610f8857610f886144e2565b60009182526020822060016003909202010180549215156101000261ff0019909316929092179091556040518591879160008051602061474a8339815191529190a35050505050565b600080610fdc6130ae565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156111595760008481526020908190206040805160a0810182526003860290920180548352600181015460ff8082161515958501959095526101008104851615159284019290925262010000909104909216151560608201526002820180549192916080840191906110c890614471565b80601f01602080910402602001604051908101604052809291908181526020018280546110f490614471565b80156111415780601f1061111657610100808354040283529160200191611141565b820191906000526020600020905b81548152906001019060200180831161112457829003601f168201915b50505050508152505081526020019060010190611054565b50505050815260200160068201805461117190614471565b80601f016020809104026020016040519081016040528092919081815260200182805461119d90614471565b80156111ea5780601f106111bf576101008083540402835291602001916111ea565b820191906000526020600020905b8154815290600101906020018083116111cd57829003601f168201915b505050505081525050905060005b8160a0015151811015611249578160a00151818151811061121b5761121b6144e2565b6020026020010151606001511561123757506001949350505050565b80611241816144f8565b9150506111f8565b506000949350505050565b600061125e6130ae565b905061127860008051602061472a833981519152336119ae565b6112955760405163ea8e4eb560e01b815260040160405180910390fd5b61129d6137d3565b60006112a76130ae565b6000878152602082905260408120919250805b855181101561152e5760008682815181106112d7576112d76144e2565b602090810291909101810151908101519091506001600160e01b03198116638e184b3f60e01b14611327576040516310cb7cf160e21b81526001600160e01b031982166004820152602401610f56565b60006004835161133791906144c1565b6001600160401b0381111561134e5761134e6140e9565b6040519080825280601f01601f191660200182016040528015611378576020820181803683370190505b50905060005b81518110156113e95783611393826004614511565b815181106113a3576113a36144e2565b602001015160f81c60f81b8282815181106113c0576113c06144e2565b60200101906001600160f81b031916908160001a905350806113e1816144f8565b91505061137e565b50600080828060200190518101906114019190614524565b90925090506001600160a01b0382163014611431578160405163d08525e960e01b8152600401610f569190613e76565b806000036114525760405163162908e360e11b815260040160405180910390fd5b61145c8188614511565b60008f815260208b81526040808320815160a08101835286815280840185815281840186815260608301878152855180880190965287865260808401958652600590940180546001818101835591895296909720835160039097020195865590519585018054915193511515620100000262ff0000199415156101000261ff00199815159890981661ffff1990931692909217969096179290921691909117909355519299509091600282019061151390826145a0565b50505050505050508080611526906144f8565b9150506112ba565b508782556003820180546001600160a01b0319166001600160a01b0389161790556006820161155d8a826145a0565b50600182018190556000600283018190556004830180546001600160a01b0319166001600160a01b038981169182179092556040805160e08101825286548152602080820187905281830186905260038801549094166060820152608081019290925260058601805482518186028101860190935280835261178c959394889460a087019493929184015b828210156116ed5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061165c90614471565b80601f016020809104026020016040519081016040528092919081815260200182805461168890614471565b80156116d55780601f106116aa576101008083540402835291602001916116d5565b820191906000526020600020905b8154815290600101906020018083116116b857829003601f168201915b505050505081525050815260200190600101906115e8565b50505050815260200160068201805461170590614471565b80601f016020809104026020016040519081016040528092919081815260200182805461173190614471565b801561177e5780601f106117535761010080835404028352916020019161177e565b820191906000526020600020905b81548152906001019060200180831161176157829003601f168201915b5050505050815250506137f9565b856001600160a01b0316876001600160a01b0316897f4881acb9050bcf1b58cd99d39b4d4497e03c9961e7466fdb95d6e422cd6f9553848d6040516117d292919061465f565b60405180910390a4505050505050505050565b6000805160206147aa83398151915260006117fe6130ae565b905061180a82336119ae565b80611828575061182860008051602061472a833981519152336119ae565b6118455760405163ea8e4eb560e01b815260040160405180910390fd5b610c7661397b565b6118856040518060a0016040528060008152602001600015158152602001600015158152602001600015158152602001606081525090565b600061188f6130ae565b6000858152602082905260409020600501805491925090849081106118b6576118b66144e2565b60009182526020918290206040805160a081018252600390930290910180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061192390614471565b80601f016020809104026020016040519081016040528092919081815260200182805461194f90614471565b801561199c5780601f106119715761010080835404028352916020019161199c565b820191906000526020600020905b81548152906001019060200180831161197f57829003601f168201915b50505050508152505091505092915050565b6000806119b96130df565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000806119ef6130ae565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b82821015611b6c5760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190611adb90614471565b80601f0160208091040260200160405190810160405280929190818152602001828054611b0790614471565b8015611b545780601f10611b2957610100808354040283529160200191611b54565b820191906000526020600020905b815481529060010190602001808311611b3757829003601f168201915b50505050508152505081526020019060010190611a67565b505050508152602001600682018054611b8490614471565b80601f0160208091040260200160405190810160405280929190818152602001828054611bb090614471565b8015611bfd5780601f10611bd257610100808354040283529160200191611bfd565b820191906000526020600020905b815481529060010190602001808311611be057829003601f168201915b505050919092525050506001830154604051631f27a4f360e11b8152600481018790529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7c9190614678565b90506006816009811115611c9257611c92614399565b14158015611cb257506008816009811115611caf57611caf614399565b14155b8015611cd057506009816009811115611ccd57611ccd614399565b14155b15611ce057506000949350505050565b60005b8260a0015151811015611d37576000611cfc878361354b565b90506000816003811115611d1257611d12614399565b03611d24575060019695505050505050565b5080611d2f816144f8565b915050611ce3565b50600095945050505050565b6000611d4e816130d2565b6000611d586130ae565b600401929092555050565b6000805160206147ca8339815191526000611d7c6130ae565b9050611d8882336119ae565b80611da65750611da660008051602061472a833981519152336119ae565b611dc35760405163ea8e4eb560e01b815260040160405180910390fd5b6000611dcd6130ae565b9050611dd886613453565b611de28686613509565b8415611e42576000611df987610eef6001896144c1565b90506001816003811115611e0f57611e0f614399565b14158015611e2f57506002816003811115611e2c57611e2c614399565b14155b15611e405786610f3b6001886144c1565b505b600086815260208290526040902060050180546001919087908110611e6957611e696144e2565b906000526020600020906003020160010160016101000a81548160ff021916908315150217905550838160000160008881526020019081526020016000206005018681548110611ebb57611ebb6144e2565b90600052602060002090600302016002019081611ed891906145a0565b506040518590879060008051602061474a83398151915290600090a3505050505050565b600080611f076130ae565b6001810154604051631f27a4f360e11b8152600481018690529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa158015611f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7c9190614678565b9050611f8784610fd1565b15611f96575060029392505050565b611f9f846119e4565b15611fae575060089392505050565b611fb784612018565b15611fc6575060099392505050565b806009811115611fd857611fd8614399565b6009811115611fe957611fe9614399565b949350505050565b60006001611fff848461354b565b600381111561201057612010614399565b149392505050565b6000806120236130ae565b600084815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156121a05760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061210f90614471565b80601f016020809104026020016040519081016040528092919081815260200182805461213b90614471565b80156121885780601f1061215d57610100808354040283529160200191612188565b820191906000526020600020905b81548152906001019060200180831161216b57829003601f168201915b5050505050815250508152602001906001019061209b565b5050505081526020016006820180546121b890614471565b80601f01602080910402602001604051908101604052809291908181526020018280546121e490614471565b80156122315780601f1061220657610100808354040283529160200191612231565b820191906000526020600020905b81548152906001019060200180831161221457829003601f168201915b505050919092525050506001830154604051631f27a4f360e11b8152600481018790529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa15801561228c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b09190614678565b905060068160098111156122c6576122c6614399565b141580156122e6575060088160098111156122e3576122e3614399565b14155b80156123045750600981600981111561230157612301614399565b14155b1561231457506000949350505050565b600061232c8660018560a0015151610eef91906144c1565b9050600081600381111561234257612342614399565b148061235f5750600381600381111561235d5761235d614399565b145b156123705750600095945050505050565b50600195945050505050565b6123846139c2565b61238c6137d3565b60006123966130ae565b600084815260208290526040902060058101549192509083106123d0578383604051631e153ebf60e21b8152600401610f569291906144d4565b60048101546001600160a01b031633811461240f576040516395efd21560e01b81523360048201526001600160a01b0382166024820152604401610f56565b6000826005018581548110612426576124266144e2565b60009182526020918290206040805160a081018252600390930290910180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061249390614471565b80601f01602080910402602001604051908101604052809291908181526020018280546124bf90614471565b801561250c5780601f106124e15761010080835404028352916020019161250c565b820191906000526020600020905b8154815290600101906020018083116124ef57829003601f168201915b50505050508152505090506000612523878761354b565b9050600181600381111561253957612539614399565b141580156125595750600281600381111561255657612556614399565b14155b1561257b578686604051636ff77edd60e01b8152600401610f569291906144d4565b600281600381111561258f5761258f614399565b036125b157868660405163627f243d60e11b8152600401610f569291906144d4565b815160038601546040516370a0823160e01b81526001600160a01b03909116906370a08231906125e5903090600401613e76565b602060405180830381865afa158015612602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126269190614699565b10156126bb5760038501546040516370a0823160e01b81526001600160a01b03909116906370a082319061265e903090600401613e76565b602060405180830381865afa15801561267b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269f9190614699565b825160405162fae2d560e21b8152610f569291906004016144d4565b6003850154825160405163a9059cbb60e01b81526000926001600160a01b03169163a9059cbb916126f09188916004016146b2565b6020604051808303816000875af115801561270f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273391906146cb565b905080612753576040516312171d8360e31b815260040160405180910390fd5b600185600501888154811061276a5761276a6144e2565b906000526020600020906003020160010160006101000a81548160ff02191690831515021790555082600001518560020160008282546127aa9190614511565b90915550508251604051908152879089907f6ecdb8cbf47483e6e73593d9d08161bd1c750eb1a8b0cfbaabc80317d281adbe9060200160405180910390a3505050505050610c766139f8565b60006128006130ae565b6000848152602082905260409020600301549091506001600160a01b0316331461283d5760405163ea8e4eb560e01b815260040160405180910390fd5b600083815260208290526040902060060161285883826145a0565b50827ff54adc4fa88871bb9bb39a4fc2f5dc8b81291d5f344fd26b636ad128e8cab3a4836040516128899190614337565b60405180910390a2505050565b6000806128a16130ae565b600301546001600160a01b031692915050565b606060006128c06130ae565b60008481526020829052604090206006018054919250906128e090614471565b80601f016020809104026020016040519081016040528092919081815260200182805461290c90614471565b80156129595780601f1061292e57610100808354040283529160200191612959565b820191906000526020600020905b81548152906001019060200180831161293c57829003601f168201915b5050505050915050919050565b61296f826108ff565b612978816130d2565b610bd083836131a4565b60008061298d6130ae565b6000938452602052505060409020600401546001600160a01b031690565b8160006129b66130ae565b90506129d060008051602061472a833981519152336119ae565b806129fd57506000828152602082905260409020600401546001600160a01b0316336001600160a01b0316145b612a1a5760405163ea8e4eb560e01b815260040160405180910390fd5b6000612a246130ae565b6000868152602082905260409081902060040180546001600160a01b0319166001600160a01b0388161790555190915085907f1796595f8b84e72820b0e06df582ff944db24f5e710795c7c8ac5112e6de039e90612a83908790613e76565b60405180910390a25050505050565b6000612a9e838361354b565b9392505050565b60008051602061470a8339815191526000612abe6130ae565b9050612aca82336119ae565b80612ae85750612ae860008051602061472a833981519152336119ae565b612b055760405163ea8e4eb560e01b815260040160405180910390fd5b6000612b0f6130ae565b60008581526020828152604080832060050180548251818502810185019093528083529495509293909291849084015b82821015612c445760008481526020908190206040805160a0810182526003860290920180548352600181015460ff808216151595850195909552610100810485161515928401929092526201000090910490921615156060820152600282018054919291608084019190612bb390614471565b80601f0160208091040260200160405190810160405280929190818152602001828054612bdf90614471565b8015612c2c5780601f10612c0157610100808354040283529160200191612c2c565b820191906000526020600020905b815481529060010190602001808311612c0f57829003601f168201915b50505050508152505081526020019060010190612b3f565b505050509050612c5385612018565b15612c745760405163b2e459af60e01b815260048101869052602401610f56565b612c7d85610fd1565b15612c9e57604051633dba08ff60e01b815260048101869052602401610f56565b60005b8151811015612d2e576000612cb6878361354b565b6003811115612cc757612cc7614399565b03612d1c57600086815260208490526040902060050180546001919083908110612cf357612cf36144e2565b906000526020600020906003020160010160026101000a81548160ff0219169083151502179055505b80612d26816144f8565b915050612ca1565b50612d3885613a09565b60405185907ff9125771cfea9a399996ab1f5e54c097b3bf95285fd184c2b05fdcef4dee834b90600090a25050505050565b6000612d74613b8f565b805490915060ff600160401b82041615906001600160401b0316600081158015612d9b5750825b90506000826001600160401b03166001148015612db75750303b155b905081158015612dc5575080155b15612de35760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315612e0c57845460ff60401b1916600160401b1785555b6001600160a01b038a16612e615760405162461bcd60e51b815260206004820152601c60248201527b0476f7665726e6f7220616464726573732063616e6e6f7420626520360241b6044820152606401610f56565b6001600160a01b038916612eb65760405162461bcd60e51b815260206004820152601c60248201527b0547265617375727920616464726573732063616e6e6f7420626520360241b6044820152606401610f56565b6001600160a01b038716612f075760405162461bcd60e51b815260206004820152601860248201527704233545220616464726573732063616e6e6f7420626520360441b6044820152606401610f56565b6001600160a01b038816612f675760405162461bcd60e51b815260206004820152602160248201527f44656661756c742061646d696e20616464726573732063616e6e6f74206265206044820152600360fc1b6064820152608401610f56565b60008611612fc35760405162461bcd60e51b815260206004820152602360248201527f4d696e696d756d206d696c6573746f6e6520636f756e742063616e6e6f74206260448201526206520360ec1b6064820152608401610f56565b612fcb613bb3565b612fd3613bb3565b612fdb613bbb565b612fe3613bcb565b612fee600089613103565b5061300760008051602061472a8339815191528b613103565b5060006130126130ae565b6001810180546001600160a01b03808f166001600160a01b0319928316179092556002830180548e8416908316179055600383018054928c16929091169190911790556004018790555083156130a257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b7f827ef7a586340a0afd9df4d10dcd47e35ee20572dbc95830311fcb8284606d0090565b6130dc8133613bdb565b50565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b60008061310e6130df565b905061311a84846119ae565b61319a576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556131503390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610883565b6000915050610883565b6000806131af6130df565b90506131bb84846119ae565b1561319a576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610883565b613224613c06565b600061322e61342f565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516132689190613e76565b60405180910390a150565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806132fa57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166132ee60008051602061478a833981519152546001600160a01b031690565b6001600160a01b031614155b156133185760405163703e46dd60e11b815260040160405180910390fd5b565b60008051602061476a833981519152610c76816130d2565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561338c575060408051601f3d908101601f1916820190925261338991810190614699565b60015b6133ab5781604051634c9c8ce360e01b8152600401610f569190613e76565b60008051602061478a83398151915281146133dc57604051632a87526960e21b815260048101829052602401610f56565b610c098383613c2b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146133185760405163703e46dd60e11b815260040160405180910390fd5b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b600061345d6130ae565b6001810154604051631f27a4f360e11b8152600481018590529192506000916001600160a01b0390911690633e4f49e690602401602060405180830381865afa1580156134ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134d29190614678565b905060068160098111156134e8576134e8614399565b14610c09576040516326ac2ff960e11b815260048101849052602401610f56565b6000613515838361354b565b9050600081600381111561352b5761352b614399565b14610c095780604051632367a31d60e01b8152600401610f5691906143f9565b6000806135566130ae565b600085815260208281526040808320815160e0810183528154815260018201548185015260028201548184015260038201546001600160a01b039081166060830152600483015416608082015260058201805484518187028101870190955280855296975094959094919360a0860193929190879084015b828210156136d35760008481526020908190206040805160a0810182526003860290920180548352600181015460ff80821615159585019590955261010081048516151592840192909252620100009091049092161515606082015260028201805491929160808401919061364290614471565b80601f016020809104026020016040519081016040528092919081815260200182805461366e90614471565b80156136bb5780601f10613690576101008083540402835291602001916136bb565b820191906000526020600020905b81548152906001019060200180831161369e57829003601f168201915b505050505081525050815260200190600101906135ce565b5050505081526020016006820180546136eb90614471565b80601f016020809104026020016040519081016040528092919081815260200182805461371790614471565b80156137645780601f1061373957610100808354040283529160200191613764565b820191906000526020600020905b81548152906001019060200180831161374757829003601f168201915b505050505081525050905060008160a001518581518110613787576137876144e2565b602002602001015190508060600151156137a75760039350505050610883565b8060200151156137bd5760029350505050610883565b806040015115611d375760019350505050610883565b6137db610e44565b156133185760405163d93c066560e01b815260040160405180910390fd5b60006138036130ae565b60018101549091506001600160a01b031633146138335760405163ea8e4eb560e01b815260040160405180910390fd5b60608201516001600160a01b031661385e57604051636592311760e01b815260040160405180910390fd5b8160c00151516000036138845760405163436f9d5760e01b815260040160405180910390fd5b60005b8260a00151518110156138eb578260a0015181815181106138aa576138aa6144e2565b6020026020010151600001516000036138d957604051632afb5d5160e21b815260048101829052602401610f56565b806138e3816144f8565b915050613887565b50816020015160000361391157604051632b2f408960e11b815260040160405180910390fd5b8160200151826040015111156139465781604001518260200151604051633b9f12cf60e01b8152600401610f569291906144d4565b80600401548260a00151511015610c765760a08201515160048083015460405163fd1c0ddb60e01b8152610f569392016144d4565b6139836137d3565b600061398d61342f565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861325b3390565b60006139cc613c81565b8054909150600119016139f257604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6000613a02613c81565b6001905550565b6000613a136130ae565b600083815260208290526040812060028101546001909101549293509091613a3b91906144c1565b90508015613b5d5760038201546040516370a0823160e01b81526000916001600160a01b0316906370a0823190613a76903090600401613e76565b602060405180830381865afa158015613a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ab79190614699565b905081811015613add57808260405162fae2d560e21b8152600401610f569291906144d4565b6003830154600284015460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92613b179291169086906004016146b2565b6020604051808303816000875af1158015613b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5a91906146cb565b50505b827f122fca773bdc90ed7da7c637fa41c96069c5b596f4ebfacfe0787da4ecce86938260405161288991815260200190565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613318613ca5565b613bc3613ca5565b613318613cca565b613bd3613ca5565b613318613ce7565b613be582826119ae565b610c7657808260405163e2517d3f60e01b8152600401610f569291906146b2565b613c0e610e44565b61331857604051638dfc202b60e01b815260040160405180910390fd5b613c3482613cef565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613c7957610c098282613d4b565b610c76613dc1565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b613cad613de0565b61331857604051631afcd79f60e31b815260040160405180910390fd5b613cd2613ca5565b6000613cdc61342f565b805460ff1916905550565b6139f8613ca5565b806001600160a01b03163b600003613d1c5780604051634c9c8ce360e01b8152600401610f569190613e76565b60008051602061478a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613d6891906146ed565b600060405180830381855af49150503d8060008114613da3576040519150601f19603f3d011682016040523d82523d6000602084013e613da8565b606091505b5091509150613db8858383613dfa565b95945050505050565b34156133185760405163b398979f60e01b815260040160405180910390fd5b6000613dea613b8f565b54600160401b900460ff16919050565b606082613e0f57613e0a82613e4d565b612a9e565b8151158015613e2657506001600160a01b0384163b155b15613e465783604051639996b31560e01b8152600401610f569190613e76565b5092915050565b805115613e5d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0391909116815260200190565b600060208284031215613e9c57600080fd5b81356001600160e01b031981168114612a9e57600080fd5b6001600160a01b03811681146130dc57600080fd5b600060208284031215613edb57600080fd5b8135612a9e81613eb4565b600060208284031215613ef857600080fd5b5035919050565b60005b83811015613f1a578181015183820152602001613f02565b50506000910152565b60008151808452613f3b816020860160208601613eff565b601f01601f19169290920160200192915050565b805182526020810151151560208301526040810151151560408301526060810151151560608301526000608082015160a06080850152611fe960a0850182613f23565b60006020808352610100830184518285015281850151604085015260408501516060850152606085015160018060a01b0380821660808701528060808801511660a0870152505060a085015160e060c086015281815180845261012093508387019150838160051b8801019350848301925060005b818110156140365761011f19888603018352614024858551613f4f565b94509285019291850191600101614007565b5050505060c0850151848203601f190160e08601529150613db88183613f23565b6000806040838503121561406a57600080fd5b82359150602083013561407c81613eb4565b809150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156140dc57603f198886030184526140ca858351613f4f565b945092850192908501906001016140ae565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614127576141276140e9565b604052919050565b600082601f83011261414057600080fd5b81356001600160401b03811115614159576141596140e9565b61416c601f8201601f19166020016140ff565b81815284602083860101111561418157600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156141b157600080fd5b82356141bc81613eb4565b915060208301356001600160401b038111156141d757600080fd5b6141e38582860161412f565b9150509250929050565b6000806040838503121561420057600080fd5b50508035926020909101359150565b600080600080600060a0868803121561422757600080fd5b85356001600160401b038082111561423e57600080fd5b61424a89838a0161412f565b965060209150818801359550604088013561426481613eb4565b9450606088013561427481613eb4565b935060808801358181111561428857600080fd5b8801601f81018a1361429957600080fd5b8035828111156142ab576142ab6140e9565b8060051b6142ba8582016140ff565b918252828101850191858101908d8411156142d457600080fd5b86850192505b83831015614310578235868111156142f25760008081fd5b6143008f898389010161412f565b83525091860191908601906142da565b809750505050505050509295509295909350565b602081526000612a9e6020830184613f4f565b602081526000612a9e6020830184613f23565b60008060006060848603121561435f57600080fd5b833592506020840135915060408401356001600160401b0381111561438357600080fd5b61438f8682870161412f565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60208101600a83106143c3576143c3614399565b91905290565b600080604083850312156143dc57600080fd5b8235915060208301356001600160401b038111156141d757600080fd5b60208101600483106143c3576143c3614399565b600080600080600060a0868803121561442557600080fd5b853561443081613eb4565b9450602086013561444081613eb4565b9350604086013561445081613eb4565b9250606086013561446081613eb4565b949793965091946080013592915050565b600181811c9082168061448557607f821691505b6020821081036144a557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610883576108836144ab565b918252602082015260400190565b634e487b7160e01b600052603260045260246000fd5b60006001820161450a5761450a6144ab565b5060010190565b80820180821115610883576108836144ab565b6000806040838503121561453757600080fd5b825161454281613eb4565b6020939093015192949293505050565b601f821115610c0957600081815260208120601f850160051c810160208610156145795750805b601f850160051c820191505b8181101561459857828155600101614585565b505050505050565b81516001600160401b038111156145b9576145b96140e9565b6145cd816145c78454614471565b84614552565b602080601f83116001811461460257600084156145ea5750858301515b600019600386901b1c1916600185901b178555614598565b600085815260208120601f198616915b8281101561463157888601518255948401946001909101908401614612565b508582101561464f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b828152604060208201526000611fe96040830184613f23565b60006020828403121561468a57600080fd5b8151600a8110612a9e57600080fd5b6000602082840312156146ab57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b6000602082840312156146dd57600080fd5b81518015158114612a9e57600080fd5b600082516146ff818460208701613eff565b919091019291505056fec30f7ed76aad52e1db9d4574c81f8eeb708f6974b7f45424a3f1b7394c2885e171840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1345699b3779e7f0f3201b7d9d8c3e2bc3ce9f29696be4e3eebc592beb21727c3189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a47aa345c1c0453f4ea63d2f908a9cb372d89b5a419b982b903f655cfc8fb9956a26469706673582212208a9c733de35660042d82b834cda20f55226a8f06238969ef7e9e931b59f00b3c64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x217 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x19CCE6 EQ PUSH2 0x21C JUMPI DUP1 PUSH4 0x1294764 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x26A JUMPI DUP1 PUSH4 0x6C49822 EQ PUSH2 0x29A JUMPI DUP1 PUSH4 0x1ED65110 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x21AFD1F6 EQ PUSH2 0x2DC JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0x24AD94CD EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0x26C74FC3 EQ PUSH2 0x34B JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x360 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x380 JUMPI DUP1 PUSH4 0x3F36CD7F EQ PUSH2 0x3A0 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x3C2 JUMPI DUP1 PUSH4 0x42C549C0 EQ PUSH2 0x3D7 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x404 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x417 JUMPI DUP1 PUSH4 0x54B90B7B EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x44C JUMPI DUP1 PUSH4 0x5ADE3874 EQ PUSH2 0x460 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x480 JUMPI DUP1 PUSH4 0x767B1602 EQ PUSH2 0x495 JUMPI DUP1 PUSH4 0x7DA17BF3 EQ PUSH2 0x4B5 JUMPI DUP1 PUSH4 0x808860A5 EQ PUSH2 0x4D5 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x4F5 JUMPI DUP1 PUSH4 0x8ED9895C EQ PUSH2 0x50A JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x537 JUMPI DUP1 PUSH4 0x9B154087 EQ PUSH2 0x557 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x577 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x58C JUMPI DUP1 PUSH4 0xB2A2EEF9 EQ PUSH2 0x5CA JUMPI DUP1 PUSH4 0xB3396778 EQ PUSH2 0x5EA JUMPI DUP1 PUSH4 0xBFDA4E7C EQ PUSH2 0x60A JUMPI DUP1 PUSH4 0xC1A45A6A EQ PUSH2 0x637 JUMPI DUP1 PUSH4 0xC2249389 EQ PUSH2 0x657 JUMPI DUP1 PUSH4 0xC266AEF7 EQ PUSH2 0x677 JUMPI DUP1 PUSH4 0xC42433B4 EQ PUSH2 0x697 JUMPI DUP1 PUSH4 0xC4EC8F98 EQ PUSH2 0x6B7 JUMPI DUP1 PUSH4 0xCFF28C70 EQ PUSH2 0x6CC JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x6EC JUMPI DUP1 PUSH4 0xDA104FAC EQ PUSH2 0x70C JUMPI DUP1 PUSH4 0xE03D759B EQ PUSH2 0x72C JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x74C JUMPI DUP1 PUSH4 0xE9AF5D1B EQ PUSH2 0x76E JUMPI DUP1 PUSH4 0xF23E227B EQ PUSH2 0x79B JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0x7BB JUMPI DUP1 PUSH4 0xF7013EF6 EQ PUSH2 0x7DD JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0x7FD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x228 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x81F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x83D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x285 CALLDATASIZE PUSH1 0x4 PUSH2 0x3E8A JUMP JUMPDEST PUSH2 0x852 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x2B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EC9 JUMP JUMPDEST PUSH2 0x889 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x2D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EC9 JUMP JUMPDEST PUSH2 0x8C4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x470A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x8FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33E PUSH2 0x339 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x91F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x3F92 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x357 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0xB96 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x37B CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0xBB4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x39B CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0xBD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0xC0E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F7 PUSH2 0x3F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0xC7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4087 JUMP JUMPDEST PUSH2 0x2BA PUSH2 0x412 CALLDATASIZE PUSH1 0x4 PUSH2 0x419E JUMP JUMPDEST PUSH2 0xDC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0xDE1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x447 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EC9 JUMP JUMPDEST PUSH2 0xDFE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 PUSH2 0x25C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x46C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH2 0x47B CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0xE39 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0xE44 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x4B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0xE59 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x4D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0xFD1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x4F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x420F JUMP JUMPDEST PUSH2 0x1254 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x501 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x17E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x52A PUSH2 0x525 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4324 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x543 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x552 CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0x19AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x563 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x572 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x19E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x598 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x4337 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x5E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x1D43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x605 CALLDATASIZE PUSH1 0x4 PUSH2 0x434A JUMP JUMPDEST PUSH2 0x1D63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x616 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x62A PUSH2 0x625 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x1EFC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x43AF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x652 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0x1FF1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x663 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28A PUSH2 0x672 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x2018 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x692 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0x237C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x6B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x43C9 JUMP JUMPDEST PUSH2 0x27F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x2896 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BD PUSH2 0x6E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x28B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x707 CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0x2966 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x718 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x231 PUSH2 0x727 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x2982 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x747 CALLDATASIZE PUSH1 0x4 PUSH2 0x4057 JUMP JUMPDEST PUSH2 0x29AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x758 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x78E PUSH2 0x789 CALLDATASIZE PUSH1 0x4 PUSH2 0x41ED JUMP JUMPDEST PUSH2 0x2A92 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x43F9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x7B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3EE6 JUMP JUMPDEST PUSH2 0x2AA5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BA PUSH2 0x7F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x440D JUMP JUMPDEST PUSH2 0x2D6A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x809 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x476A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x82A PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x848 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x4 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x883 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x894 DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x89E PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8CF DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D9 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A PUSH2 0x30DF JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x971 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x97B PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP1 SWAP6 SWAP2 SWAP5 PUSH1 0xA0 DUP8 ADD SWAP5 SWAP2 SWAP3 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xAF4 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0xA63 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA8F SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xADC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xAB1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xADC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xABF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x9EF JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0xB0C SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xB38 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xB85 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xB5A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xB85 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB68 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA1 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBBD DUP3 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0xBC6 DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH2 0xBD0 DUP4 DUP4 PUSH2 0x3103 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0xBFF JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC09 DUP3 DUP3 PUSH2 0x31A4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0xC27 PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0xC33 DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0xC51 JUMPI POP PUSH2 0xC51 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xC6E JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC76 PUSH2 0x321C JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xC86 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP1 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xDBA JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0xD29 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD55 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDA2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD77 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDA2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD85 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xCB5 JUMP JUMPDEST POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCE PUSH2 0x3273 JUMP JUMPDEST PUSH2 0xDD7 DUP3 PUSH2 0x331A JUMP JUMPDEST PUSH2 0xC76 DUP3 DUP3 PUSH2 0x3332 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDEB PUSH2 0x33E6 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE09 DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE13 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE4F PUSH2 0x342F JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0xE72 PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0xE7E DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0xE9C JUMPI POP PUSH2 0xE9C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xEB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEC3 PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0xECE DUP6 PUSH2 0x3453 JUMP JUMPDEST PUSH2 0xED8 DUP6 DUP6 PUSH2 0x3509 JUMP JUMPDEST DUP4 ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 PUSH2 0xEF4 DUP7 PUSH2 0xEEF PUSH1 0x1 DUP9 PUSH2 0x44C1 JUMP JUMPDEST PUSH2 0x354B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xF0A JUMPI PUSH2 0xF0A PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0xF2A JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0xF5F JUMPI DUP6 PUSH2 0xF3B PUSH1 0x1 DUP8 PUSH2 0x44C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x414E3AC7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP7 SWAP1 DUP2 LT PUSH2 0xF88 JUMPI PUSH2 0xF88 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x3 SWAP1 SWAP3 MUL ADD ADD DUP1 SLOAD SWAP3 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD DUP6 SWAP2 DUP8 SWAP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x474A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFDC PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1159 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x10C8 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10F4 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1141 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1116 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1141 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1124 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1054 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1171 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x119D SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11EA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x11BF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11EA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11CD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x1249 JUMPI DUP2 PUSH1 0xA0 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x121B JUMPI PUSH2 0x121B PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x60 ADD MLOAD ISZERO PUSH2 0x1237 JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x1241 DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11F8 JUMP JUMPDEST POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x125E PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x1278 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1295 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x129D PUSH2 0x37D3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12A7 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP DUP1 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x152E JUMPI PUSH1 0x0 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x12D7 JUMPI PUSH2 0x12D7 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD SWAP1 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0x8E184B3F PUSH1 0xE0 SHL EQ PUSH2 0x1327 JUMPI PUSH1 0x40 MLOAD PUSH4 0x10CB7CF1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP4 MLOAD PUSH2 0x1337 SWAP2 SWAP1 PUSH2 0x44C1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x134E JUMPI PUSH2 0x134E PUSH2 0x40E9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1378 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x13E9 JUMPI DUP4 PUSH2 0x1393 DUP3 PUSH1 0x4 PUSH2 0x4511 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x13A3 JUMPI PUSH2 0x13A3 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x13C0 JUMPI PUSH2 0x13C0 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 PUSH2 0x13E1 DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x137E JUMP JUMPDEST POP PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1401 SWAP2 SWAP1 PUSH2 0x4524 JUMP JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ADDRESS EQ PUSH2 0x1431 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0xD08525E9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x1452 JUMPI PUSH1 0x40 MLOAD PUSH4 0x162908E3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x145C DUP2 DUP9 PUSH2 0x4511 JUMP JUMPDEST PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 DUP12 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xA0 DUP2 ADD DUP4 MSTORE DUP7 DUP2 MSTORE DUP1 DUP5 ADD DUP6 DUP2 MSTORE DUP2 DUP5 ADD DUP7 DUP2 MSTORE PUSH1 0x60 DUP4 ADD DUP8 DUP2 MSTORE DUP6 MLOAD DUP1 DUP9 ADD SWAP1 SWAP7 MSTORE DUP8 DUP7 MSTORE PUSH1 0x80 DUP5 ADD SWAP6 DUP7 MSTORE PUSH1 0x5 SWAP1 SWAP5 ADD DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP10 MSTORE SWAP7 SWAP1 SWAP8 KECCAK256 DUP4 MLOAD PUSH1 0x3 SWAP1 SWAP8 MUL ADD SWAP6 DUP7 SSTORE SWAP1 MLOAD SWAP6 DUP6 ADD DUP1 SLOAD SWAP2 MLOAD SWAP4 MLOAD ISZERO ISZERO PUSH3 0x10000 MUL PUSH3 0xFF0000 NOT SWAP5 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP9 ISZERO ISZERO SWAP9 SWAP1 SWAP9 AND PUSH2 0xFFFF NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP7 SWAP1 SWAP7 OR SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP4 SSTORE MLOAD SWAP3 SWAP10 POP SWAP1 SWAP2 PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x1513 SWAP1 DUP3 PUSH2 0x45A0 JUMP JUMPDEST POP POP POP POP POP POP POP POP DUP1 DUP1 PUSH2 0x1526 SWAP1 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x12BA JUMP JUMPDEST POP DUP8 DUP3 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x6 DUP3 ADD PUSH2 0x155D DUP11 DUP3 PUSH2 0x45A0 JUMP JUMPDEST POP PUSH1 0x1 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x0 PUSH1 0x2 DUP4 ADD DUP2 SWAP1 SSTORE PUSH1 0x4 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0xE0 DUP2 ADD DUP3 MSTORE DUP7 SLOAD DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP8 SWAP1 MSTORE DUP2 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x3 DUP9 ADD SLOAD SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x5 DUP7 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP7 MUL DUP2 ADD DUP7 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE PUSH2 0x178C SWAP6 SWAP4 SWAP5 DUP9 SWAP5 PUSH1 0xA0 DUP8 ADD SWAP5 SWAP4 SWAP3 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x16ED JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x165C SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1688 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16D5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16AA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x16D5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x16B8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x15E8 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1705 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1731 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x177E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1753 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x177E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1761 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP PUSH2 0x37F9 JUMP JUMPDEST DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0x4881ACB9050BCF1B58CD99D39B4D4497E03C9961E7466FDB95D6E422CD6F9553 DUP5 DUP14 PUSH1 0x40 MLOAD PUSH2 0x17D2 SWAP3 SWAP2 SWAP1 PUSH2 0x465F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47AA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x17FE PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x180A DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x1828 JUMPI POP PUSH2 0x1828 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1845 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC76 PUSH2 0x397B JUMP JUMPDEST PUSH2 0x1885 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x188F PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x18B6 JUMPI PUSH2 0x18B6 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 SWAP1 SWAP4 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x1923 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x194F SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x199C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1971 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x199C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x197F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19B9 PUSH2 0x30DF JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19EF PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1B6C JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x1ADB SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B07 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B54 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B29 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B54 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B37 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1A67 JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x1B84 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1BB0 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1BFD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1BD2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1BFD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BE0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 SWAP1 SWAP3 MSTORE POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C7C SWAP2 SWAP1 PUSH2 0x4678 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1C92 JUMPI PUSH2 0x1C92 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x1CB2 JUMPI POP PUSH1 0x8 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1CAF JUMPI PUSH2 0x1CAF PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x1CD0 JUMPI POP PUSH1 0x9 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1CCD JUMPI PUSH2 0x1CCD PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x1CE0 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x1D37 JUMPI PUSH1 0x0 PUSH2 0x1CFC DUP8 DUP4 PUSH2 0x354B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1D12 JUMPI PUSH2 0x1D12 PUSH2 0x4399 JUMP JUMPDEST SUB PUSH2 0x1D24 JUMPI POP PUSH1 0x1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST POP DUP1 PUSH2 0x1D2F DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1CE3 JUMP JUMPDEST POP PUSH1 0x0 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D4E DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D58 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x4 ADD SWAP3 SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x47CA DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x1D7C PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x1D88 DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x1DA6 JUMPI POP PUSH2 0x1DA6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x1DC3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1DCD PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x1DD8 DUP7 PUSH2 0x3453 JUMP JUMPDEST PUSH2 0x1DE2 DUP7 DUP7 PUSH2 0x3509 JUMP JUMPDEST DUP5 ISZERO PUSH2 0x1E42 JUMPI PUSH1 0x0 PUSH2 0x1DF9 DUP8 PUSH2 0xEEF PUSH1 0x1 DUP10 PUSH2 0x44C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E0F JUMPI PUSH2 0x1E0F PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x1E2F JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E2C JUMPI PUSH2 0x1E2C PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x1E40 JUMPI DUP7 PUSH2 0xF3B PUSH1 0x1 DUP9 PUSH2 0x44C1 JUMP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP8 SWAP1 DUP2 LT PUSH2 0x1E69 JUMPI PUSH2 0x1E69 PUSH2 0x44E2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x5 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1EBB JUMPI PUSH2 0x1EBB PUSH2 0x44E2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SWAP1 DUP2 PUSH2 0x1ED8 SWAP2 SWAP1 PUSH2 0x45A0 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x474A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1F07 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F7C SWAP2 SWAP1 PUSH2 0x4678 JUMP JUMPDEST SWAP1 POP PUSH2 0x1F87 DUP5 PUSH2 0xFD1 JUMP JUMPDEST ISZERO PUSH2 0x1F96 JUMPI POP PUSH1 0x2 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1F9F DUP5 PUSH2 0x19E4 JUMP JUMPDEST ISZERO PUSH2 0x1FAE JUMPI POP PUSH1 0x8 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1FB7 DUP5 PUSH2 0x2018 JUMP JUMPDEST ISZERO PUSH2 0x1FC6 JUMPI POP PUSH1 0x9 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1FD8 JUMPI PUSH2 0x1FD8 PUSH2 0x4399 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1FE9 JUMPI PUSH2 0x1FE9 PUSH2 0x4399 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1FFF DUP5 DUP5 PUSH2 0x354B JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2010 JUMPI PUSH2 0x2010 PUSH2 0x4399 JUMP JUMPDEST EQ SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2023 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x21A0 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x210F SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x213B SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2188 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x215D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2188 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x216B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x209B JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x21B8 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x21E4 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2231 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2206 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2231 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2214 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 SWAP1 SWAP3 MSTORE POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x228C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22B0 SWAP2 SWAP1 PUSH2 0x4678 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x22C6 JUMPI PUSH2 0x22C6 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x22E6 JUMPI POP PUSH1 0x8 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x22E3 JUMPI PUSH2 0x22E3 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x2304 JUMPI POP PUSH1 0x9 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x2301 JUMPI PUSH2 0x2301 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x2314 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x232C DUP7 PUSH1 0x1 DUP6 PUSH1 0xA0 ADD MLOAD MLOAD PUSH2 0xEEF SWAP2 SWAP1 PUSH2 0x44C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2342 JUMPI PUSH2 0x2342 PUSH2 0x4399 JUMP JUMPDEST EQ DUP1 PUSH2 0x235F JUMPI POP PUSH1 0x3 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x235D JUMPI PUSH2 0x235D PUSH2 0x4399 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2370 JUMPI POP PUSH1 0x0 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2384 PUSH2 0x39C2 JUMP JUMPDEST PUSH2 0x238C PUSH2 0x37D3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2396 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 DUP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 DUP4 LT PUSH2 0x23D0 JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x1E153EBF PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP2 EQ PUSH2 0x240F JUMPI PUSH1 0x40 MLOAD PUSH4 0x95EFD215 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x5 ADD DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x2426 JUMPI PUSH2 0x2426 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 SWAP1 SWAP4 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2493 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x24BF SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x250C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x24E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x250C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x24EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x2523 DUP8 DUP8 PUSH2 0x354B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2539 JUMPI PUSH2 0x2539 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x2559 JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2556 JUMPI PUSH2 0x2556 PUSH2 0x4399 JUMP JUMPDEST EQ ISZERO JUMPDEST ISZERO PUSH2 0x257B JUMPI DUP7 DUP7 PUSH1 0x40 MLOAD PUSH4 0x6FF77EDD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x258F JUMPI PUSH2 0x258F PUSH2 0x4399 JUMP JUMPDEST SUB PUSH2 0x25B1 JUMPI DUP7 DUP7 PUSH1 0x40 MLOAD PUSH4 0x627F243D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x3 DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x25E5 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2602 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2626 SWAP2 SWAP1 PUSH2 0x4699 JUMP JUMPDEST LT ISZERO PUSH2 0x26BB JUMPI PUSH1 0x3 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x265E SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x267B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x269F SWAP2 SWAP1 PUSH2 0x4699 JUMP JUMPDEST DUP3 MLOAD PUSH1 0x40 MLOAD PUSH3 0xFAE2D5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x3 DUP6 ADD SLOAD DUP3 MLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0xA9059CBB SWAP2 PUSH2 0x26F0 SWAP2 DUP9 SWAP2 PUSH1 0x4 ADD PUSH2 0x46B2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x270F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2733 SWAP2 SWAP1 PUSH2 0x46CB JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2753 JUMPI PUSH1 0x40 MLOAD PUSH4 0x12171D83 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP6 PUSH1 0x5 ADD DUP9 DUP2 SLOAD DUP2 LT PUSH2 0x276A JUMPI PUSH2 0x276A PUSH2 0x44E2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x27AA SWAP2 SWAP1 PUSH2 0x4511 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP DUP3 MLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE DUP8 SWAP1 DUP10 SWAP1 PUSH32 0x6ECDB8CBF47483E6E73593D9D08161BD1C750EB1A8B0CFBAABC80317D281ADBE SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP PUSH2 0xC76 PUSH2 0x39F8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2800 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x283D JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x6 ADD PUSH2 0x2858 DUP4 DUP3 PUSH2 0x45A0 JUMP JUMPDEST POP DUP3 PUSH32 0xF54ADC4FA88871BB9BB39A4FC2F5DC8B81291D5F344FD26B636AD128E8CAB3A4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x2889 SWAP2 SWAP1 PUSH2 0x4337 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28A1 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x28C0 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x6 ADD DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x28E0 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x290C SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2959 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x292E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2959 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x293C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x296F DUP3 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0x2978 DUP2 PUSH2 0x30D2 JUMP JUMPDEST PUSH2 0xBD0 DUP4 DUP4 PUSH2 0x31A4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x298D PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 PUSH2 0x29B6 PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x29D0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x29FD JUMPI POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x2A1A JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A24 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP6 SWAP1 PUSH32 0x1796595F8B84E72820B0E06DF582FF944DB24F5E710795C7C8AC5112E6DE039E SWAP1 PUSH2 0x2A83 SWAP1 DUP8 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A9E DUP4 DUP4 PUSH2 0x354B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x470A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 PUSH2 0x2ABE PUSH2 0x30AE JUMP JUMPDEST SWAP1 POP PUSH2 0x2ACA DUP3 CALLER PUSH2 0x19AE JUMP JUMPDEST DUP1 PUSH2 0x2AE8 JUMPI POP PUSH2 0x2AE8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x2B05 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2B0F PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP5 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x2C44 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2BB3 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2BDF SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2C2C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C01 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2C2C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2C0F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2B3F JUMP JUMPDEST POP POP POP POP SWAP1 POP PUSH2 0x2C53 DUP6 PUSH2 0x2018 JUMP JUMPDEST ISZERO PUSH2 0x2C74 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB2E459AF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0x2C7D DUP6 PUSH2 0xFD1 JUMP JUMPDEST ISZERO PUSH2 0x2C9E JUMPI PUSH1 0x40 MLOAD PUSH4 0x3DBA08FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x2D2E JUMPI PUSH1 0x0 PUSH2 0x2CB6 DUP8 DUP4 PUSH2 0x354B JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2CC7 JUMPI PUSH2 0x2CC7 PUSH2 0x4399 JUMP JUMPDEST SUB PUSH2 0x2D1C JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP5 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x2CF3 JUMPI PUSH2 0x2CF3 PUSH2 0x44E2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST DUP1 PUSH2 0x2D26 DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CA1 JUMP JUMPDEST POP PUSH2 0x2D38 DUP6 PUSH2 0x3A09 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP6 SWAP1 PUSH32 0xF9125771CFEA9A399996AB1F5E54C097B3BF95285FD184C2B05FDCEF4DEE834B SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D74 PUSH2 0x3B8F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x2D9B JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x2DB7 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x2DC5 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x2DE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x2E0C JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH2 0x2E61 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x476F7665726E6F7220616464726573732063616E6E6F74206265203 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH2 0x2EB6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x547265617375727920616464726573732063616E6E6F74206265203 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH2 0x2F07 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x4233545220616464726573732063616E6E6F74206265203 PUSH1 0x44 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0x2F67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x44656661756C742061646D696E20616464726573732063616E6E6F7420626520 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 DUP7 GT PUSH2 0x2FC3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E696D756D206D696C6573746F6E6520636F756E742063616E6E6F742062 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x65203 PUSH1 0xEC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0x2FCB PUSH2 0x3BB3 JUMP JUMPDEST PUSH2 0x2FD3 PUSH2 0x3BB3 JUMP JUMPDEST PUSH2 0x2FDB PUSH2 0x3BBB JUMP JUMPDEST PUSH2 0x2FE3 PUSH2 0x3BCB JUMP JUMPDEST PUSH2 0x2FEE PUSH1 0x0 DUP10 PUSH2 0x3103 JUMP JUMPDEST POP PUSH2 0x3007 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x472A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP12 PUSH2 0x3103 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x3012 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP16 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD DUP15 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x3 DUP4 ADD DUP1 SLOAD SWAP3 DUP13 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 ADD DUP8 SWAP1 SSTORE POP DUP4 ISZERO PUSH2 0x30A2 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x827EF7A586340A0AFD9DF4D10DCD47E35EE20572DBC95830311FCB8284606D00 SWAP1 JUMP JUMPDEST PUSH2 0x30DC DUP2 CALLER PUSH2 0x3BDB JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x310E PUSH2 0x30DF JUMP JUMPDEST SWAP1 POP PUSH2 0x311A DUP5 DUP5 PUSH2 0x19AE JUMP JUMPDEST PUSH2 0x319A JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x3150 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31AF PUSH2 0x30DF JUMP JUMPDEST SWAP1 POP PUSH2 0x31BB DUP5 DUP5 PUSH2 0x19AE JUMP JUMPDEST ISZERO PUSH2 0x319A JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x883 JUMP JUMPDEST PUSH2 0x3224 PUSH2 0x3C06 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x322E PUSH2 0x342F JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3268 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x32FA JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x32EE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x476A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xC76 DUP2 PUSH2 0x30D2 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x338C JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3389 SWAP2 DUP2 ADD SWAP1 PUSH2 0x4699 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x33AB JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x33DC JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH2 0xC09 DUP4 DUP4 PUSH2 0x3C2B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x345D PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x34AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x34D2 SWAP2 SWAP1 PUSH2 0x4678 JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x34E8 JUMPI PUSH2 0x34E8 PUSH2 0x4399 JUMP JUMPDEST EQ PUSH2 0xC09 JUMPI PUSH1 0x40 MLOAD PUSH4 0x26AC2FF9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3515 DUP4 DUP4 PUSH2 0x354B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x352B JUMPI PUSH2 0x352B PUSH2 0x4399 JUMP JUMPDEST EQ PUSH2 0xC09 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x2367A31D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x43F9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3556 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP2 MLOAD PUSH1 0xE0 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 DUP6 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD AND PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP8 MUL DUP2 ADD DUP8 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE SWAP7 SWAP8 POP SWAP5 SWAP6 SWAP1 SWAP5 SWAP2 SWAP4 PUSH1 0xA0 DUP7 ADD SWAP4 SWAP3 SWAP2 SWAP1 DUP8 SWAP1 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x36D3 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x3 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO SWAP6 DUP6 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH2 0x100 DUP2 DIV DUP6 AND ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x80 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3642 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x366E SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x36BB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3690 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x36BB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x369E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x35CE JUMP JUMPDEST POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x36EB SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3717 SWAP1 PUSH2 0x4471 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3764 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3739 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3764 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3747 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA0 ADD MLOAD DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x3787 JUMPI PUSH2 0x3787 PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP1 PUSH1 0x60 ADD MLOAD ISZERO PUSH2 0x37A7 JUMPI PUSH1 0x3 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST DUP1 PUSH1 0x20 ADD MLOAD ISZERO PUSH2 0x37BD JUMPI PUSH1 0x2 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST DUP1 PUSH1 0x40 ADD MLOAD ISZERO PUSH2 0x1D37 JUMPI PUSH1 0x1 SWAP4 POP POP POP POP PUSH2 0x883 JUMP JUMPDEST PUSH2 0x37DB PUSH2 0xE44 JUMP JUMPDEST ISZERO PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3803 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3833 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEA8E4EB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x385E JUMPI PUSH1 0x40 MLOAD PUSH4 0x65923117 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xC0 ADD MLOAD MLOAD PUSH1 0x0 SUB PUSH2 0x3884 JUMPI PUSH1 0x40 MLOAD PUSH4 0x436F9D57 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xA0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x38EB JUMPI DUP3 PUSH1 0xA0 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x38AA JUMPI PUSH2 0x38AA PUSH2 0x44E2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x0 SUB PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2AFB5D51 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xF56 JUMP JUMPDEST DUP1 PUSH2 0x38E3 DUP2 PUSH2 0x44F8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3887 JUMP JUMPDEST POP DUP2 PUSH1 0x20 ADD MLOAD PUSH1 0x0 SUB PUSH2 0x3911 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2B2F4089 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x40 ADD MLOAD GT ISZERO PUSH2 0x3946 JUMPI DUP2 PUSH1 0x40 ADD MLOAD DUP3 PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x3B9F12CF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD SLOAD DUP3 PUSH1 0xA0 ADD MLOAD MLOAD LT ISZERO PUSH2 0xC76 JUMPI PUSH1 0xA0 DUP3 ADD MLOAD MLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xFD1C0DDB PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0xF56 SWAP4 SWAP3 ADD PUSH2 0x44D4 JUMP JUMPDEST PUSH2 0x3983 PUSH2 0x37D3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x398D PUSH2 0x342F JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x325B CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39CC PUSH2 0x3C81 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x39F2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A02 PUSH2 0x3C81 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A13 PUSH2 0x30AE JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 PUSH2 0x3A3B SWAP2 SWAP1 PUSH2 0x44C1 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3B5D JUMPI PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x3A76 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A93 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3AB7 SWAP2 SWAP1 PUSH2 0x4699 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x3ADD JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH3 0xFAE2D5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 PUSH4 0xA9059CBB SWAP3 PUSH2 0x3B17 SWAP3 SWAP2 AND SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x46B2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3B36 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B5A SWAP2 SWAP1 PUSH2 0x46CB JUMP JUMPDEST POP POP JUMPDEST DUP3 PUSH32 0x122FCA773BDC90ED7DA7C637FA41C96069C5B596F4EBFACFE0787DA4ECCE8693 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2889 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x3318 PUSH2 0x3CA5 JUMP JUMPDEST PUSH2 0x3BC3 PUSH2 0x3CA5 JUMP JUMPDEST PUSH2 0x3318 PUSH2 0x3CCA JUMP JUMPDEST PUSH2 0x3BD3 PUSH2 0x3CA5 JUMP JUMPDEST PUSH2 0x3318 PUSH2 0x3CE7 JUMP JUMPDEST PUSH2 0x3BE5 DUP3 DUP3 PUSH2 0x19AE JUMP JUMPDEST PUSH2 0xC76 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP3 SWAP2 SWAP1 PUSH2 0x46B2 JUMP JUMPDEST PUSH2 0x3C0E PUSH2 0xE44 JUMP JUMPDEST PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3C34 DUP3 PUSH2 0x3CEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x3C79 JUMPI PUSH2 0xC09 DUP3 DUP3 PUSH2 0x3D4B JUMP JUMPDEST PUSH2 0xC76 PUSH2 0x3DC1 JUMP JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x3CAD PUSH2 0x3DE0 JUMP JUMPDEST PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3CD2 PUSH2 0x3CA5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3CDC PUSH2 0x342F JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x39F8 PUSH2 0x3CA5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x3D1C JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x478A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x3D68 SWAP2 SWAP1 PUSH2 0x46ED JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3DA3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3DA8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x3DB8 DUP6 DUP4 DUP4 PUSH2 0x3DFA JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3DEA PUSH2 0x3B8F JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x3E0F JUMPI PUSH2 0x3E0A DUP3 PUSH2 0x3E4D JUMP JUMPDEST PUSH2 0x2A9E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x3E26 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x3E46 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF56 SWAP2 SWAP1 PUSH2 0x3E76 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x3E5D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3E9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x2A9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x30DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3EDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2A9E DUP2 PUSH2 0x3EB4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3EF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3F1A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x3F02 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x3F3B DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x3EFF JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD ISZERO ISZERO PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x80 DUP3 ADD MLOAD PUSH1 0xA0 PUSH1 0x80 DUP6 ADD MSTORE PUSH2 0x1FE9 PUSH1 0xA0 DUP6 ADD DUP3 PUSH2 0x3F23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE PUSH2 0x100 DUP4 ADD DUP5 MLOAD DUP3 DUP6 ADD MSTORE DUP2 DUP6 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x80 DUP8 ADD MSTORE DUP1 PUSH1 0x80 DUP9 ADD MLOAD AND PUSH1 0xA0 DUP8 ADD MSTORE POP POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xE0 PUSH1 0xC0 DUP7 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x120 SWAP4 POP DUP4 DUP8 ADD SWAP2 POP DUP4 DUP2 PUSH1 0x5 SHL DUP9 ADD ADD SWAP4 POP DUP5 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4036 JUMPI PUSH2 0x11F NOT DUP9 DUP7 SUB ADD DUP4 MSTORE PUSH2 0x4024 DUP6 DUP6 MLOAD PUSH2 0x3F4F JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP2 DUP6 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4007 JUMP JUMPDEST POP POP POP POP PUSH1 0xC0 DUP6 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0xE0 DUP7 ADD MSTORE SWAP2 POP PUSH2 0x3DB8 DUP2 DUP4 PUSH2 0x3F23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x406A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x407C DUP2 PUSH2 0x3EB4 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x40DC JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x40CA DUP6 DUP4 MLOAD PUSH2 0x3F4F JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x40AE JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4127 JUMPI PUSH2 0x4127 PUSH2 0x40E9 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4159 JUMPI PUSH2 0x4159 PUSH2 0x40E9 JUMP JUMPDEST PUSH2 0x416C PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x40FF JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4181 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x41B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x41BC DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x41E3 DUP6 DUP3 DUP7 ADD PUSH2 0x412F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4200 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x423E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x424A DUP10 DUP4 DUP11 ADD PUSH2 0x412F JUMP JUMPDEST SWAP7 POP PUSH1 0x20 SWAP2 POP DUP2 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH2 0x4264 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH2 0x4274 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4288 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 ADD PUSH1 0x1F DUP2 ADD DUP11 SGT PUSH2 0x4299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x42AB JUMPI PUSH2 0x42AB PUSH2 0x40E9 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH2 0x42BA DUP6 DUP3 ADD PUSH2 0x40FF JUMP JUMPDEST SWAP2 DUP3 MSTORE DUP3 DUP2 ADD DUP6 ADD SWAP2 DUP6 DUP2 ADD SWAP1 DUP14 DUP5 GT ISZERO PUSH2 0x42D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 DUP6 ADD SWAP3 POP JUMPDEST DUP4 DUP4 LT ISZERO PUSH2 0x4310 JUMPI DUP3 CALLDATALOAD DUP7 DUP2 GT ISZERO PUSH2 0x42F2 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4300 DUP16 DUP10 DUP4 DUP10 ADD ADD PUSH2 0x412F JUMP JUMPDEST DUP4 MSTORE POP SWAP2 DUP7 ADD SWAP2 SWAP1 DUP7 ADD SWAP1 PUSH2 0x42DA JUMP JUMPDEST DUP1 SWAP8 POP POP POP POP POP POP POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2A9E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3F4F JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2A9E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3F23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x435F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x438F DUP7 DUP3 DUP8 ADD PUSH2 0x412F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0xA DUP4 LT PUSH2 0x43C3 JUMPI PUSH2 0x43C3 PUSH2 0x4399 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x43DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x4 DUP4 LT PUSH2 0x43C3 JUMPI PUSH2 0x43C3 PUSH2 0x4399 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4430 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x4440 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x4450 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x4460 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x4485 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x44A5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x883 JUMPI PUSH2 0x883 PUSH2 0x44AB JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x450A JUMPI PUSH2 0x450A PUSH2 0x44AB JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x883 JUMPI PUSH2 0x883 PUSH2 0x44AB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4537 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH2 0x4542 DUP2 PUSH2 0x3EB4 JUMP JUMPDEST PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD MLOAD SWAP3 SWAP5 SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC09 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x4579 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4598 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4585 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x45B9 JUMPI PUSH2 0x45B9 PUSH2 0x40E9 JUMP JUMPDEST PUSH2 0x45CD DUP2 PUSH2 0x45C7 DUP5 SLOAD PUSH2 0x4471 JUMP JUMPDEST DUP5 PUSH2 0x4552 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4602 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x45EA JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x4598 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4631 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x4612 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x464F JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1FE9 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x3F23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x468A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xA DUP2 LT PUSH2 0x2A9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x46AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x46DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2A9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x46FF DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x3EFF JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID 0xC3 0xF PUSH31 0xD76AAD52E1DB9D4574C81F8EEB708F6974B7F45424A3F1B7394C2885E17184 0xD 0xC4 SWAP1 PUSH4 0x52362B0C 0xDA 0xF7 SWAP9 PUSH17 0x196C8E42ACAFADE72D5D5A6D59291253CE 0xB1 CALLVALUE JUMP SWAP10 0xB3 PUSH24 0x9E7F0F3201B7D9D8C3E2BC3CE9F29696BE4E3EEBC592BEB2 OR 0x27 0xC3 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A47AA345C SHR DIV MSTORE8 DELEGATECALL 0xEA PUSH4 0xD2F908A9 0xCB CALLDATACOPY 0x2D DUP10 0xB5 LOG4 NOT 0xB9 DUP3 0xB9 SUB 0xF6 SSTORE 0xCF 0xC8 0xFB SWAP10 JUMP LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 SWAP13 PUSH20 0x3DE35660042D82B834CDA20F55226A8F06238969 0xEF PUSH31 0x9E931B59F00B3C64736F6C6343000814003300000000000000000000000000 ","sourceMap":"2298:26058:62:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21047:165;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15492:174;;;;;;;;;;;;;:::i;:::-;;;368:25:150;;;356:2;341:18;15492:174:62;222:177:150;3443:202:0;;;;;;;;;;-1:-1:-1;3443:202:0;;;;;:::i;:::-;;:::i;:::-;;;860:14:150;;853:22;835:41;;823:2;808:18;3443:202:0;695:187:150;20739:199:62;;;;;;;;;;-1:-1:-1;20739:199:62;;;;;:::i;:::-;;:::i;:::-;;22296:195;;;;;;;;;;-1:-1:-1;22296:195:62;;;;;:::i;:::-;;:::i;2729:80::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2729:80:62;;4759:191:0;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;12731:193:62:-;;;;;;;;;;-1:-1:-1;12731:193:62;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;22600:165::-;;;;;;;;;;;;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;6348:245::-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;2645:80:62:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2645:80:62;;23711:81;;;;;;;;;;;;;:::i;12351:199::-;;;;;;;;;;-1:-1:-1;12351:199:62;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;3705:134::-;;;;;;;;;;;;;:::i;23126:175:62:-;;;;;;;;;;-1:-1:-1;23126:175:62;;;;;:::i;:::-;;:::i;28001:70::-;;;;;;;;;;-1:-1:-1;28065:1:62;28001:70;;17152:205;;;;;;;;;;-1:-1:-1;17152:205:62;;;;;:::i;:::-;;:::i;2692:145:12:-;;;;;;;;;;;;;:::i;13074:793:62:-;;;;;;;;;;-1:-1:-1;13074:793:62;;;;;:::i;:::-;;:::i;8673:353::-;;;;;;;;;;-1:-1:-1;8673:353:62;;;;;:::i;:::-;;:::i;6228:1686::-;;;;;;;;;;-1:-1:-1;6228:1686:62;;;;;:::i;:::-;;:::i;23462:77::-;;;;;;;;;;;;;:::i;8116:237::-;;;;;;;;;;-1:-1:-1;8116:237:62;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;9348:830:62:-;;;;;;;;;;-1:-1:-1;9348:830:62;;;;;:::i;:::-;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;1819:58:3;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;;;;;;;;:::i;15135:226:62:-;;;;;;;;;;-1:-1:-1;15135:226:62;;;;;:::i;:::-;;:::i;14089:896::-;;;;;;;;;;-1:-1:-1;14089:896:62;;;;;:::i;:::-;;:::i;20021:523::-;;;;;;;;;;-1:-1:-1;20021:523:62;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19652:185::-;;;;;;;;;;-1:-1:-1;19652:185:62;;;;;:::i;:::-;;:::i;10472:874::-;;;;;;;;;;-1:-1:-1;10472:874:62;;;;;:::i;:::-;;:::i;17617:1800::-;;;;;;;;;;-1:-1:-1;17617:1800:62;;;;;:::i;:::-;;:::i;24198:403::-;;;;;;;;;;-1:-1:-1;24198:403:62;;;;;:::i;:::-;;:::i;22866:157::-;;;;;;;;;;;;;:::i;24765:205::-;;;;;;;;;;-1:-1:-1;24765:205:62;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;21978:203:62:-;;;;;;;;;;-1:-1:-1;21978:203:62;;;;;:::i;:::-;;:::i;21485:334::-;;;;;;;;;;-1:-1:-1;21485:334:62;;;;;:::i;:::-;;:::i;2813:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2813:62:62;;15883:171;;;;;;;;;;-1:-1:-1;15883:171:62;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;16149:837::-;;;;;;;;;;-1:-1:-1;16149:837:62;;;;;:::i;:::-;;:::i;2501:70::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2501:70:62;;3837:973;;;;;;;;;;-1:-1:-1;3837:973:62;;;;;:::i;:::-;;:::i;2575:66::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2575:66:62;;21047:165;21101:7;21116:30;21149:26;:24;:26::i;:::-;21196:10;;;-1:-1:-1;;;;;21196:10:62;;21047:165;-1:-1:-1;;21047:165:62:o;15492:174::-;15551:7;15566:30;15599:26;:24;:26::i;:::-;15638:23;;;;15492:174;-1:-1:-1;;15492:174:62:o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;-1:-1:-1;;;;;;;;;;1133:40:14;;;3602:36:0;3544:94;3443:202;-1:-1:-1;;3443:202:0:o;20739:199:62:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;20831:30:62::1;20864:26;:24;:26::i;:::-;20896:10;;:37:::0;;-1:-1:-1;;;;;;20896:37:62::1;-1:-1:-1::0;;;;;20896:37:62;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;20739:199:62:o;22296:195::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;22388:30:62::1;22421:26;:24;:26::i;:::-;22453:10;;:33:::0;;-1:-1:-1;;;;;;22453:33:62::1;-1:-1:-1::0;;;;;22453:33:62;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;22296:195:62:o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;12731:193:62:-;12800:20;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12800:20:62;12828:30;12861:26;:24;:26::i;:::-;12900:7;:19;;;;;;;;;;;12893:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12893:26:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12828:59;;-1:-1:-1;12893:26:62;;12900:19;;12893:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12731:193;;;:::o;22600:165::-;22654:7;22669:30;22702:26;:24;:26::i;:::-;22749:10;;;-1:-1:-1;;;;;22749:10:62;;22600:165;-1:-1:-1;;22600:165:62:o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;6348:245::-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;23711:81:62:-;-1:-1:-1;;;;;;;;;;;5172:30:62;5205:26;:24;:26::i;:::-;5172:59;-1:-1:-1;5243:27:62;5251:4;966:10:11;3732:207:0;:::i;5243:27:62:-;:69;;;-1:-1:-1;5274:38:62;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5274:38:62:-;5237:115;;5330:15;;-1:-1:-1;;;5330:15:62;;;;;;;;;;;5237:115;23777:10:::1;:8;:10::i;:::-;5166:197:::0;23711:81;:::o;12351:199::-;12417:18;12443:30;12476:26;:24;:26::i;:::-;12515:7;:19;;;;;;;;;;;:30;;12508:37;;;;;;;;;;;;;;;;;12443:59;;-1:-1:-1;12508:37:62;;12515:30;;12508:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12351:199;;;:::o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;3705:134::-:0;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;23126:175:62:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;23210:30:62::1;23243:26;:24;:26::i;:::-;23275:6;;:21:::0;;-1:-1:-1;;;;;;23275:21:62::1;-1:-1:-1::0;;;;;23275:21:62;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;23126:175:62:o;17152:205::-;17233:7;17248:30;17281:26;:24;:26::i;2692:145:12:-;2739:4;2755:25;2783:21;:19;:21::i;:::-;2821:9;;;;2692:145;-1:-1:-1;;2692:145:12:o;13074:793:62:-;-1:-1:-1;;;;;;;;;;;5172:30:62;5205:26;:24;:26::i;:::-;5172:59;-1:-1:-1;5243:27:62;5251:4;966:10:11;3732:207:0;:::i;5243:27:62:-;:69;;;-1:-1:-1;5274:38:62;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5274:38:62:-;5237:115;;5330:15;;-1:-1:-1;;;5330:15:62;;;;;;;;;;;5237:115;13215:30:::1;13248:26;:24;:26::i;:::-;13215:59;;13281:31;13301:10;13281:19;:31::i;:::-;13318:48;13339:10;13351:14;13318:20;:48::i;:::-;13437:18:::0;;13433:302:::1;;13465:28;13496:50;13515:10:::0;13527:18:::1;13544:1;13527:14:::0;:18:::1;:::i;:::-;13496;:50::i;:::-;13465:81:::0;-1:-1:-1;13575:23:62::1;13558:13;:40;;;;;;;;:::i;:::-;;;:83;;;;-1:-1:-1::0;13619:22:62::1;13602:13;:39;;;;;;;;:::i;:::-;;;13558:83;13554:175;;;13689:10:::0;13701:18:::1;13718:1;13701:14:::0;:18:::1;:::i;:::-;13660:60;;-1:-1:-1::0;;;13660:60:62::1;;;;;;;;;:::i;:::-;;;;;;;;13554:175;13457:278;13433:302;13741:7;:19:::0;;;::::1;::::0;;;;;;:30:::1;;:46:::0;;13801:4:::1;::::0;13741:30;13772:14;;13741:46;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;:57:::1;:46;::::0;;::::1;;:57;:64:::0;;;::::1;;;;-1:-1:-1::0;;13741:64:62;;::::1;::::0;;;::::1;::::0;;;13816:46:::1;::::0;13847:14;;13835:10;;-1:-1:-1;;;;;;;;;;;13816:46:62;13741;13816::::1;13209:658;5166:197:::0;13074:793;;;:::o;8673:353::-;8739:4;8751:30;8784:26;:24;:26::i;:::-;8816;8845:19;;;;;;;;;;;8816:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8816:48:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8751:59;;-1:-1:-1;8816:26:62;;:48;;8845:19;;8816:48;;;;;;;:26;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8875:9;8870:134;8894:5;:16;;;:23;8890:1;:27;8870:134;;;8936:5;:16;;;8953:1;8936:19;;;;;;;;:::i;:::-;;;;;;;:30;;;8932:66;;;-1:-1:-1;8985:4:62;;8673:353;-1:-1:-1;;;;8673:353:62:o;8932:66::-;8919:3;;;;:::i;:::-;;;;8870:134;;;-1:-1:-1;9016:5:62;;8673:353;-1:-1:-1;;;;8673:353:62:o;6228:1686::-;5397:30;5430:26;:24;:26::i;:::-;5397:59;-1:-1:-1;5468:38:62;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5468:38:62:-;5462:84;;5524:15;;-1:-1:-1;;;5524:15:62;;;;;;;;;;;5462:84;2316:19:12::1;:17;:19::i;:::-;6435:30:62::2;6468:26;:24;:26::i;:::-;6501:23;6527:19:::0;;;::::2;::::0;;;;;;6435:59;;-1:-1:-1;6501:23:62;6582:980:::2;6606:9;:16;6602:1;:20;6582:980;;;6637:17;6657:9;6667:1;6657:12;;;;;;;;:::i;:::-;;::::0;;::::2;::::0;;;;;;;6781:13;;::::2;6775:20:::0;6657:12;;-1:-1:-1;;;;;;;6814:62:62;::::2;-1:-1:-1::0;;;6814:62:62::2;6810:127;;6895:33;::::0;-1:-1:-1;;;6895:33:62;;-1:-1:-1;;;;;;13274:33:150;;6895::62::2;::::0;::::2;13256:52:150::0;13229:18;;6895:33:62::2;13112:202:150::0;6810:127:62::2;6944:23;6994:1;6980:4;:11;:15;;;;:::i;:::-;-1:-1:-1::0;;;;;6970:26:62::2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;::::2;::::0;::::2;;::::0;-1:-1:-1;6970:26:62::2;;6944:52;;7009:9;7004:94;7028:10;:17;7024:1;:21;7004:94;;;7078:4:::0;7083:5:::2;:1:::0;7087::::2;7083:5;:::i;:::-;7078:11;;;;;;;;:::i;:::-;;;;;;;;;7062:10;7073:1;7062:13;;;;;;;;:::i;:::-;;;;:27;-1:-1:-1::0;;;;;7062:27:62::2;;;;;;;;-1:-1:-1::0;7047:3:62;::::2;::::0;::::2;:::i;:::-;;;;7004:94;;;;7133:17;7152:14:::0;7181:10:::2;7170:42;;;;;;;;;;;;:::i;:::-;7132:80:::0;;-1:-1:-1;7132:80:62;-1:-1:-1;;;;;;7225:26:62;::::2;7246:4;7225:26;7221:82;;7284:9;7270:24;;-1:-1:-1::0;;;7270:24:62::2;;;;;;;;:::i;7221:82::-;7314:6;7324:1;7314:11:::0;7310:58:::2;;7344:15;;-1:-1:-1::0;;;7344:15:62::2;;;;;;;;;;;7310:58;7376:21;7391:6:::0;7376:21;::::2;:::i;:::-;7405:7;:19:::0;;;::::2;::::0;;;;;;;7450:97;;::::2;::::0;::::2;::::0;;;;;;;::::2;::::0;;;;;;;;;;;;;;;;;;;::::2;::::0;;;;;;;;;;;;7405:30:::2;::::0;;::::2;:150:::0;;7450:97;7405:150;;::::2;::::0;;;;;;;;;;;::::2;::::0;;::::2;;::::0;;;;;;;::::2;::::0;;;;;;::::2;;::::0;::::2;-1:-1:-1::0;;7405:150:62;::::2;;;;-1:-1:-1::0;;7405:150:62;::::2;;::::0;;;;-1:-1:-1;;7405:150:62;;;;;;;;;;::::2;::::0;;;::::2;::::0;;;::::2;::::0;;;;7376:21;;-1:-1:-1;7450:97:62;;7405:150:::2;::::0;::::2;::::0;::::2;::::0;;::::2;:::i;:::-;;;;6629:933;;;;;6624:3;;;;;:::i;:::-;;;;6582:980;;;-1:-1:-1::0;7568:17:62;;;7591:10:::2;::::0;::::2;:21:::0;;-1:-1:-1;;;;;;7591:21:62::2;-1:-1:-1::0;;;;;7591:21:62;::::2;;::::0;;7618:13:::2;::::0;::::2;:27;7634:11:::0;7618:13;:27:::2;:::i;:::-;-1:-1:-1::0;7651:13:62::2;::::0;::::2;:27:::0;;;7702:1:::2;7684:15;::::0;::::2;:19:::0;;;7755:16:::2;::::0;::::2;:33:::0;;-1:-1:-1;;;;;;7755:33:62::2;-1:-1:-1::0;;;;;7755:33:62;;::::2;::::0;;::::2;::::0;;;7795:22:::2;::::0;;::::2;::::0;::::2;::::0;;;;;;::::2;::::0;;::::2;::::0;;;;;;;;;::::2;::::0;::::2;::::0;;;::::2;::::0;;;;;;;;;;;::::2;::::0;::::2;::::0;;;;;;::::2;::::0;;;;;;;;;;::::2;::::0;;;7651:13;;7795:22;;;;;;;;::::2;;;;;;;;;::::0;;;::::2;::::0;;;;::::2;::::0;;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;;;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;;;::::0;;;;;;;;;;::::2;::::0;;::::2;;;::::0;;;;::::2;::::0;::::2;::::0;;;;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;:19;:22::i;:::-;7868:14;-1:-1:-1::0;;;;;7828:81:62::2;7858:8;-1:-1:-1::0;;;;;7828:81:62::2;7846:10;7828:81;7884:11;7897;7828:81;;;;;;;:::i;:::-;;;;;;;;6429:1485;;;5391:166:::0;6228:1686;;;;;:::o;23462:77::-;-1:-1:-1;;;;;;;;;;;5172:30:62;5205:26;:24;:26::i;:::-;5172:59;-1:-1:-1;5243:27:62;5251:4;966:10:11;3732:207:0;:::i;5243:27:62:-;:69;;;-1:-1:-1;5274:38:62;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5274:38:62:-;5237:115;;5330:15;;-1:-1:-1;;;5330:15:62;;;;;;;;;;;5237:115;23526:8:::1;:6;:8::i;8116:237::-:0;8205:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8205:16:62;8229:30;8262:26;:24;:26::i;:::-;8302:7;:19;;;;;;;;;;:30;;:46;;8229:59;;-1:-1:-1;8302:30:62;8333:14;;8302:46;;;;;;:::i;:::-;;;;;;;;;;8295:53;;;;;;;;8302:46;;;;;;;8295:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8302:46;8295:53;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8116:237;;;;:::o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;9348:830:62:-;9419:4;9431:30;9464:26;:24;:26::i;:::-;9496;9525:19;;;;;;;;;;;9496:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9496:48:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9431:59;;-1:-1:-1;9496:26:62;;:48;;9525:19;;9496:48;;;;;;;:26;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9496:48:62;;;;-1:-1:-1;;;9594:10:62;;;;:28;;-1:-1:-1;;;9594:28:62;;;;;368:25:150;;;9496:48:62;;-1:-1:-1;9550:41:62;;-1:-1:-1;;;;;9594:10:62;;;;:16;;341:18:150;;9594:28:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9550:72;-1:-1:-1;9729:36:62;9712:13;:53;;;;;;;;:::i;:::-;;;:121;;;;-1:-1:-1;9792:41:62;9775:13;:58;;;;;;;;:::i;:::-;;;9712:121;:185;;;;-1:-1:-1;9860:37:62;9843:13;:54;;;;;;;;:::i;:::-;;;9712:185;9701:230;;;-1:-1:-1;9919:5:62;;9348:830;-1:-1:-1;;;;9348:830:62:o;9701:230::-;9942:9;9937:219;9961:5;:16;;;:23;9957:1;:27;9937:219;;;9999:30;10032:33;10051:10;10063:1;10032:18;:33::i;:::-;9999:66;-1:-1:-1;10096:22:62;10077:15;:41;;;;;;;;:::i;:::-;;10073:77;;-1:-1:-1;10137:4:62;;9348:830;-1:-1:-1;;;;;;9348:830:62:o;10073:77::-;-1:-1:-1;9986:3:62;;;;:::i;:::-;;;;9937:219;;;-1:-1:-1;10168:5:62;;9348:830;-1:-1:-1;;;;;9348:830:62:o;15135:226::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;15244:30:62::1;15277:26;:24;:26::i;:::-;15309:23;;:47:::0;;;;-1:-1:-1;;15135:226:62:o;14089:896::-;-1:-1:-1;;;;;;;;;;;5172:30:62;5205:26;:24;:26::i;:::-;5172:59;-1:-1:-1;5243:27:62;5251:4;966:10:11;3732:207:0;:::i;5243:27:62:-;:69;;;-1:-1:-1;5274:38:62;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5274:38:62:-;5237:115;;5330:15;;-1:-1:-1;;;5330:15:62;;;;;;;;;;;5237:115;14265:30:::1;14298:26;:24;:26::i;:::-;14265:59;;14331:31;14351:10;14331:19;:31::i;:::-;14368:48;14389:10;14401:14;14368:20;:48::i;:::-;14487:18:::0;;14483:302:::1;;14515:28;14546:50;14565:10:::0;14577:18:::1;14594:1;14577:14:::0;:18:::1;:::i;14546:50::-;14515:81:::0;-1:-1:-1;14625:23:62::1;14608:13;:40;;;;;;;;:::i;:::-;;;:83;;;;-1:-1:-1::0;14669:22:62::1;14652:13;:39;;;;;;;;:::i;:::-;;;14608:83;14604:175;;;14739:10:::0;14751:18:::1;14768:1;14751:14:::0;:18:::1;:::i;14604:175::-;14507:278;14483:302;14791:7;:19:::0;;;::::1;::::0;;;;;;:30:::1;;:46:::0;;14851:4:::1;::::0;14791:30;14822:14;;14791:46;::::1;;;;;:::i;:::-;;;;;;;;;;;:57;;;:64;;;;;;;;;;;;;;;;;;14917:6;14861:1;:7;;:19;14869:10;14861:19;;;;;;;;;;;:30;;14892:14;14861:46;;;;;;;;:::i;:::-;;;;;;;;;;;:53;;:62;;;;;;:::i;:::-;-1:-1:-1::0;14934:46:62::1;::::0;14965:14;;14953:10;;-1:-1:-1;;;;;;;;;;;14934:46:62;;;::::1;14259:726;5166:197:::0;14089:896;;;;:::o;20021:523::-;20084:10;20102:30;20135:26;:24;:26::i;:::-;20211:10;;;;:28;;-1:-1:-1;;;20211:28:62;;;;;368:25:150;;;20211:10:62;;-1:-1:-1;20167:41:62;;-1:-1:-1;;;;;20211:10:62;;;;:16;;341:18:150;;20211:28:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20167:72;;20250:27;20266:10;20250:15;:27::i;:::-;20246:74;;;-1:-1:-1;20294:19:62;;20021:523;-1:-1:-1;;;20021:523:62:o;20246:74::-;20330:32;20351:10;20330:20;:32::i;:::-;20326:84;;;-1:-1:-1;20379:24:62;;20021:523;-1:-1:-1;;;20021:523:62:o;20326:84::-;20420:28;20437:10;20420:16;:28::i;:::-;20416:76;;;-1:-1:-1;20465:20:62;;20021:523;-1:-1:-1;;;20021:523:62:o;20416:76::-;20524:13;20516:22;;;;;;;;:::i;:::-;20505:34;;;;;;;;:::i;:::-;20498:41;20021:523;-1:-1:-1;;;;20021:523:62:o;19652:185::-;19740:4;19809:23;19759:46;19778:10;19790:14;19759:18;:46::i;:::-;:73;;;;;;;;:::i;:::-;;;19652:185;-1:-1:-1;;;19652:185:62:o;10472:874::-;10539:4;10551:30;10584:26;:24;:26::i;:::-;10616;10645:19;;;;;;;;;;;10616:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10616:48:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10551:59;;-1:-1:-1;10616:26:62;;:48;;10645:19;;10616:48;;;;;;;:26;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10616:48:62;;;;-1:-1:-1;;;10714:10:62;;;;:28;;-1:-1:-1;;;10714:28:62;;;;;368:25:150;;;10616:48:62;;-1:-1:-1;10670:41:62;;-1:-1:-1;;;;;10714:10:62;;;;:16;;341:18:150;;10714:28:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10670:72;-1:-1:-1;10840:36:62;10823:13;:53;;;;;;;;:::i;:::-;;;:121;;;;-1:-1:-1;10903:41:62;10886:13;:58;;;;;;;;:::i;:::-;;;10823:121;:185;;;;-1:-1:-1;10971:37:62;10954:13;:54;;;;;;;;:::i;:::-;;;10823:185;10812:230;;;-1:-1:-1;11030:5:62;;10472:874;-1:-1:-1;;;;10472:874:62:o;10812:230::-;11124:24;11151:59;11170:10;11208:1;11182:5;:16;;;:23;:27;;;;:::i;11151:59::-;11124:86;-1:-1:-1;11233:22:62;11220:9;:35;;;;;;;;:::i;:::-;;:75;;;-1:-1:-1;11272:23:62;11259:9;:36;;;;;;;;:::i;:::-;;11220:75;11216:108;;;-1:-1:-1;11312:5:62;;10472:874;-1:-1:-1;;;;;10472:874:62:o;11216:108::-;-1:-1:-1;11337:4:62;;10472:874;-1:-1:-1;;;;;10472:874:62:o;17617:1800::-;3251:21:13;:19;:21::i;:::-;2316:19:12::1;:17;:19::i;:::-;17727:30:62::2;17760:26;:24;:26::i;:::-;17793:23;17819:19:::0;;;::::2;::::0;;;;;;17866:12:::2;::::0;::::2;:19:::0;17727:59;;-1:-1:-1;17819:19:62;17848:37;::::2;17844:114;;17924:10;17936:14;17902:49;;-1:-1:-1::0;;;17902:49:62::2;;;;;;;;;:::i;17844:114::-;17989:16;::::0;::::2;::::0;-1:-1:-1;;;;;17989:16:62::2;18015:10;:28:::0;::::2;18011:111;;18060:55;::::0;-1:-1:-1;;;18060:55:62;;18088:10:::2;18060:55;::::0;::::2;16771:34:150::0;-1:-1:-1;;;;;16841:15:150;;16821:18;;;16814:43;16706:18;;18060:55:62::2;16559:304:150::0;18011:111:62::2;18196:26;18225:1;:12;;18238:14;18225:28;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;18196:57:::2;::::0;;::::2;::::0;::::2;::::0;;18225:28:::2;::::0;;::::2;::::0;;::::2;18196:57:::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;;;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;;;::::0;;;;;;;;;;::::2;::::0;;::::2;;;::::0;;;;::::2;::::0;::::2;::::0;;;;18225:28;18196:57;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;18297:30;18330:46;18349:10;18361:14;18330:18;:46::i;:::-;18297:79:::0;-1:-1:-1;18405:23:62::2;18386:15;:42;;;;;;;;:::i;:::-;;;:87;;;;-1:-1:-1::0;18451:22:62::2;18432:15;:41;;;;;;;;:::i;:::-;;;18386:87;18382:170;;;18518:10;18530:14;18490:55;;-1:-1:-1::0;;;18490:55:62::2;;;;;;;;;:::i;18382:170::-;18725:22;18706:15;:41;;;;;;;;:::i;:::-;::::0;18702:120:::2;;18788:10;18800:14;18764:51;;-1:-1:-1::0;;;18764:51:62::2;;;;;;;;;:::i;18702:120::-;18915:16:::0;;18881:6:::2;::::0;::::2;::::0;:31:::2;::::0;-1:-1:-1;;;18881:31:62;;-1:-1:-1;;;;;18881:6:62;;::::2;::::0;:16:::2;::::0;:31:::2;::::0;18906:4:::2;::::0;18881:31:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;18877:146;;;18966:6;::::0;::::2;::::0;:31:::2;::::0;-1:-1:-1;;;18966:31:62;;-1:-1:-1;;;;;18966:6:62;;::::2;::::0;:16:::2;::::0;:31:::2;::::0;18991:4:::2;::::0;18966:31:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18999:16:::0;;18948:68:::2;::::0;-1:-1:-1;;;18948:68:62;;::::2;::::0;;18999:16;18948:68:::2;;;:::i;18877:146::-;19091:6;::::0;::::2;::::0;19123:16;;19091:49:::2;::::0;-1:-1:-1;;;19091:49:62;;19076:12:::2;::::0;-1:-1:-1;;;;;19091:6:62::2;::::0;:15:::2;::::0;:49:::2;::::0;19107:14;;19091:49:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19076:64;;19151:7;19146:52;;19175:16;;-1:-1:-1::0;;;19175:16:62::2;;;;;;;;;;;19146:52;19294:4;19253:1;:12;;19266:14;19253:28;;;;;;;;:::i;:::-;;;;;;;;;;;:38;;;:45;;;;;;;;;;;;;;;;;;19323:9;:16;;;19304:1;:15;;;:35;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;19395:16:62;;19350:62:::2;::::0;368:25:150;;;19379:14:62;;19367:10;;19350:62:::2;::::0;356:2:150;341:18;19350:62:62::2;;;;;;;17721:1696;;;;;;3293:20:13::0;:18;:20::i;24198:403:62:-;24308:30;24341:26;:24;:26::i;:::-;24391:7;:19;;;;;;;;;;:28;;;:19;;-1:-1:-1;;;;;;24391:28:62;24377:10;:42;24373:85;;24436:15;;-1:-1:-1;;;24436:15:62;;;;;;;;;;;24373:85;24463:7;:19;;;;;;;;;;:31;;:57;24497:23;24463:31;:57;:::i;:::-;;24560:10;24532:64;24572:23;24532:64;;;;;;:::i;:::-;;;;;;;;24302:299;24198:403;;:::o;22866:157::-;22916:7;22931:30;22964:26;:24;:26::i;:::-;23011:6;;;-1:-1:-1;;;;;23011:6:62;;22866:157;-1:-1:-1;;22866:157:62:o;24765:205::-;24841:13;24862:30;24895:26;:24;:26::i;:::-;24934:7;:19;;;;;;;;;;:31;;24927:38;;24862:59;;-1:-1:-1;24934:31:62;24927:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24765:205;;;:::o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;21978:203:62:-:0;22055:7;22070:30;22103:26;:24;:26::i;:::-;22142:7;:19;;;;;-1:-1:-1;;22142:19:62;;;:34;;;-1:-1:-1;;;;;22142:34:62;;21978:203::o;21485:334::-;21614:10;5626:30;5659:26;:24;:26::i;:::-;5626:59;-1:-1:-1;5697:38:62;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5697:38:62:-;:92;;;-1:-1:-1;5755:7:62;:19;;;;;;;;;;:34;;;-1:-1:-1;;;;;5755:34:62;966:10:11;-1:-1:-1;;;;;5739:50:62;;5697:92;5691:138;;5807:15;;-1:-1:-1;;;5807:15:62;;;;;;;;;;;5691:138;21632:30:::1;21665:26;:24;:26::i;:::-;21697:7;:19:::0;;;::::1;::::0;;;;;;;;:34:::1;;:54:::0;;-1:-1:-1;;;;;;21697:54:62::1;-1:-1:-1::0;;;;;21697:54:62;::::1;;::::0;;21762:52;21697:19;;-1:-1:-1;21697:19:62;;21762:52:::1;::::0;::::1;::::0;21697:54;;21762:52:::1;:::i;:::-;;;;;;;;21626:193;5620:220:::0;21485:334;;;:::o;15883:171::-;15974:14;16003:46;16022:10;16034:14;16003:18;:46::i;:::-;15996:53;15883:171;-1:-1:-1;;;15883:171:62:o;16149:837::-;-1:-1:-1;;;;;;;;;;;5172:30:62;5205:26;:24;:26::i;:::-;5172:59;-1:-1:-1;5243:27:62;5251:4;966:10:11;3732:207:0;:::i;5243:27:62:-;:69;;;-1:-1:-1;5274:38:62;-1:-1:-1;;;;;;;;;;;966:10:11;3732:207:0;:::i;5274:38:62:-;5237:115;;5330:15;;-1:-1:-1;;;5330:15:62;;;;;;;;;;;5237:115;16253:30:::1;16286:26;:24;:26::i;:::-;16318:29;16350:19:::0;;;::::1;::::0;;;;;;;:30:::1;;16318:62:::0;;;;;;::::1;::::0;;;;;;;;;;16253:59;;-1:-1:-1;16318:29:62;;:62;;16350:30;16318:29;;:62;::::1;;;;;;;;;::::0;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;;;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;;;::::0;;;;;;;;;;::::1;::::0;;::::1;;;::::0;;;;::::1;::::0;::::1;::::0;;;;;;;;;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;16391:28;16408:10;16391:16;:28::i;:::-;16387:89;;;16436:33;::::0;-1:-1:-1;;;16436:33:62;;::::1;::::0;::::1;368:25:150::0;;;341:18;;16436:33:62::1;222:177:150::0;16387:89:62::1;16485:27;16501:10;16485:15;:27::i;:::-;16481:87;;;16529:32;::::0;-1:-1:-1;;;16529:32:62;;::::1;::::0;::::1;368:25:150::0;;;341:18;;16529:32:62::1;222:177:150::0;16481:87:62::1;16616:9;16611:229;16635:10;:17;16631:1;:21;16611:229;;;16708:22;16671:33;16690:10;16702:1;16671:18;:33::i;:::-;:59;;;;;;;;:::i;:::-;::::0;16667:167:::1;;16774:7;:19:::0;;;::::1;::::0;;;;;;:30:::1;;:33:::0;;16821:4:::1;::::0;16774:30;16805:1;;16774:33;::::1;;;;;:::i;:::-;;;;;;;;;;;:44;;;:51;;;;;;;;;;;;;;;;;;16667:167;16654:3:::0;::::1;::::0;::::1;:::i;:::-;;;;16611:229;;;;16899:46;16934:10;16899:34;:46::i;:::-;16956:25;::::0;16970:10;;16956:25:::1;::::0;;;::::1;16247:739;;5166:197:::0;16149:837;;:::o;3837:973::-;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;-1:-1:-1;;;;;4023:23:62;::::1;4015:64;;;::::0;-1:-1:-1;;;4015:64:62;;17820:2:150;4015:64:62::1;::::0;::::1;17802:21:150::0;17859:2;17839:18;;;17832:30;-1:-1:-1;;;17878:18:150;;;17871:58;17946:18;;4015:64:62::1;17618:352:150::0;4015:64:62::1;-1:-1:-1::0;;;;;4093:23:62;::::1;4085:64;;;::::0;-1:-1:-1;;;4085:64:62;;18177:2:150;4085:64:62::1;::::0;::::1;18159:21:150::0;18216:2;18196:18;;;18189:30;-1:-1:-1;;;18235:18:150;;;18228:58;18303:18;;4085:64:62::1;17975:352:150::0;4085:64:62::1;-1:-1:-1::0;;;;;4163:19:62;::::1;4155:56;;;::::0;-1:-1:-1;;;4155:56:62;;18534:2:150;4155:56:62::1;::::0;::::1;18516:21:150::0;18573:2;18553:18;;;18546:30;-1:-1:-1;;;18592:18:150;;;18585:54;18656:18;;4155:56:62::1;18332:348:150::0;4155:56:62::1;-1:-1:-1::0;;;;;4225:26:62;::::1;4217:72;;;::::0;-1:-1:-1;;;4217:72:62;;18887:2:150;4217:72:62::1;::::0;::::1;18869:21:150::0;18926:2;18906:18;;;18899:30;18965:34;18945:18;;;18938:62;-1:-1:-1;;;19016:18:150;;;19009:31;19057:19;;4217:72:62::1;18685:397:150::0;4217:72:62::1;4328:1;4303:22;:26;4295:74;;;::::0;-1:-1:-1;;;4295:74:62;;19289:2:150;4295:74:62::1;::::0;::::1;19271:21:150::0;19328:2;19308:18;;;19301:30;19367:34;19347:18;;;19340:62;-1:-1:-1;;;19418:18:150;;;19411:33;19461:19;;4295:74:62::1;19087:399:150::0;4295:74:62::1;4376:24;:22;:24::i;:::-;4406:22;:20;:22::i;:::-;4434:17;:15;:17::i;:::-;4457:24;:22;:24::i;:::-;4488:44;2362:4:0;4519:12:62::0;4488:10:::1;:44::i;:::-;;4538:38;-1:-1:-1::0;;;;;;;;;;;4566:9:62::1;4538:10;:38::i;:::-;;4583:30;4616:26;:24;:26::i;:::-;4648:10;::::0;::::1;:37:::0;;-1:-1:-1;;;;;4648:37:62;;::::1;-1:-1:-1::0;;;;;;4648:37:62;;::::1;;::::0;;;4691:10:::1;::::0;::::1;:33:::0;;;;::::1;::::0;;::::1;;::::0;;4730:6:::1;::::0;::::1;:21:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;4757:23:::1;;:48:::0;;;-1:-1:-1;5066:101:2;;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;19644:50:150;;5142:14:2;;19632:2:150;19617:18;5142:14:2;;;;;;;5066:101;4092:1081;;;;;3837:973:62;;;;;:::o;3509:161::-;3632:28;;3509:161::o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;:::-;4148:103;:::o;2787:177::-;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;3674:178:12;2563:16;:14;:16::i;:::-;3732:25:::1;3760:21;:19;:21::i;:::-;3791:17:::0;;-1:-1:-1;;3791:17:12::1;::::0;;;-1:-1:-1;3823:22:12::1;966:10:11::0;3832:12:12::1;3823:22;;;;;;:::i;:::-;;;;;;;;3722:130;3674:178::o:0;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;4654:251;4599:312::o;28256:98:62:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;368:25:150;;;341:18;;6312:34:3;222:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;1147:162:12;1270:23;;1147:162::o;27104:328:62:-;27173:30;27206:26;:24;:26::i;:::-;27282:10;;;;:28;;-1:-1:-1;;;27282:28:62;;;;;368:25:150;;;27282:10:62;;-1:-1:-1;27238:41:62;;-1:-1:-1;;;;;27282:10:62;;;;:16;;341:18:150;;27282:28:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27238:72;-1:-1:-1;27337:36:62;27320:13;:53;;;;;;;;:::i;:::-;;27316:112;;27390:31;;-1:-1:-1;;;27390:31:62;;;;;368:25:150;;;341:18;;27390:31:62;222:177:150;27602:293:62;27696:30;27729:46;27748:10;27760:14;27729:18;:46::i;:::-;27696:79;-1:-1:-1;27804:22:62;27785:15;:41;;;;;;;;:::i;:::-;;27781:110;;27868:15;27843:41;;-1:-1:-1;;;27843:41:62;;;;;;;;:::i;11592:586::-;11699:21;11728:30;11761:26;:24;:26::i;:::-;11793;11822:19;;;;;;;;;;;11793:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11793:48:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11728:59;;-1:-1:-1;11793:26:62;;:48;;11822:19;;11793:48;;;;;;;:26;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11847:26;11876:5;:16;;;11893:14;11876:32;;;;;;;;:::i;:::-;;;;;;;11847:61;;11919:9;:20;;;11915:71;;;11956:23;11949:30;;;;;;;11915:71;11996:9;:19;;;11992:69;;;12032:22;12025:29;;;;;;;11992:69;12071:9;:20;;;12067:71;;;12108:23;12101:30;;;;;;;2905:128:12;2970:8;:6;:8::i;:::-;2966:61;;;3001:15;;-1:-1:-1;;;3001:15:12;;;;;;;;;;;25069:1123:62;25146:30;25179:26;:24;:26::i;:::-;25238:10;;;;;;-1:-1:-1;;;;;;25238:10:62;25216;:33;25212:76;;25266:15;;-1:-1:-1;;;25266:15:62;;;;;;;;;;;25212:76;25324:14;;;;-1:-1:-1;;;;;25324:28:62;25320:86;;25369:30;;-1:-1:-1;;;25369:30:62;;;;;;;;;;;25320:86;25471:5;:17;;;25465:31;25500:1;25465:36;25461:98;;25518:34;;-1:-1:-1;;;25518:34:62;;;;;;;;;;;25461:98;25606:9;25601:153;25625:5;:16;;;:23;25621:1;:27;25601:153;;;25667:5;:16;;;25684:1;25667:19;;;;;;;;:::i;:::-;;;;;;;:26;;;25697:1;25667:31;25663:85;;25717:22;;-1:-1:-1;;;25717:22:62;;;;;368:25:150;;;341:18;;25717:22:62;222:177:150;25663:85:62;25650:3;;;;:::i;:::-;;;;25601:153;;;;25764:5;:17;;;25785:1;25764:22;25760:76;;25803:26;;-1:-1:-1;;;25803:26:62;;;;;;;;;;;25760:76;25868:5;:17;;;25846:5;:19;;;:39;25842:147;;;25943:5;:19;;;25964:5;:17;;;25902:80;;-1:-1:-1;;;25902:80:62;;;;;;;;;:::i;25842:147::-;26066:1;:23;;;26040:5;:16;;;:23;:49;26036:152;;;26132:16;;;;:23;26157;;;;;26106:75;;-1:-1:-1;;;26106:75:62;;;;26132:23;26106:75;;:::i;3366:176:12:-;2316:19;:17;:19::i;:::-;3425:25:::1;3453:21;:19;:21::i;:::-;3484:16:::0;;-1:-1:-1;;3484:16:12::1;3496:4;3484:16;::::0;;3425:49;-1:-1:-1;3515:20:12::1;3522:12;966:10:11::0;;887:96;3326:384:13;3375:32;3410:28;:26;:28::i;:::-;3526:9;;3375:63;;-1:-1:-1;;;3526:20:13;3522:88;;3569:30;;-1:-1:-1;;;3569:30:13;;;;;;;;;;;3522:88;1847:1;3684:19;;3326:384::o;3716:283::-;3764:32;3799:28;:26;:28::i;:::-;1805:1;3969:23;;-1:-1:-1;3716:283:13:o;26314:674:62:-;26393:30;26426:26;:24;:26::i;:::-;26458:23;26518:19;;;;;;;;;;:33;;;;26484:31;;;;;26393:59;;-1:-1:-1;26458:23:62;;26484:67;;26518:33;26484:67;:::i;:::-;26458:93;-1:-1:-1;26561:19:62;;26557:344;;26680:6;;;;:31;;-1:-1:-1;;;26680:31:62;;26655:22;;-1:-1:-1;;;;;26680:6:62;;:16;;:31;;26705:4;;26680:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26655:56;;26740:15;26723:14;:32;26719:114;;;26792:14;26808:15;26774:50;;-1:-1:-1;;;26774:50:62;;;;;;;;;:::i;26719:114::-;26841:6;;;;26865:10;;;;26841:53;;-1:-1:-1;;;26841:53:62;;-1:-1:-1;;;;;26841:6:62;;;;:15;;:53;;26865:10;;;26878:15;;26841:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26582:319;26557:344;26955:10;26911:72;26967:15;26911:72;;;;368:25:150;;356:2;341:18;;222:177;8737:170:2;8870:21;;8737:170::o;2968:67:3:-;6931:20:2;:18;:20::i;1836:97:12:-;6931:20:2;:18;:20::i;:::-;1899:27:12::1;:25;:27::i;2540:111:13:-:0;6931:20:2;:18;:20::i;:::-;2610:34:13::1;:32;:34::i;4381:197:0:-:0;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;3105:126:12:-;3168:8;:6;:8::i;:::-;3163:62;;3199:15;;-1:-1:-1;;;3199:15:12;;;;;;;;;;;2779:335:24;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;2251:183:13:-;2388:30;;2251:183::o;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;1939:156:12;6931:20:2;:18;:20::i;:::-;2012:25:12::1;2040:21;:19;:21::i;:::-;2071:17:::0;;-1:-1:-1;;2071:17:12::1;::::0;;-1:-1:-1;1939:156:12:o;2657:183:13:-;6931:20:2;:18;:20::i;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;:::-;4290:62;4106:253;-1:-1:-1;;;;;4106:253:32:o;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;8487:120:2;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;4625:582:32:-;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;4625:582;-1:-1:-1;;4625:582:32:o;5743:516::-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;14:203:150;-1:-1:-1;;;;;178:32:150;;;;160:51;;148:2;133:18;;14:203::o;404:286::-;462:6;515:2;503:9;494:7;490:23;486:32;483:52;;;531:1;528;521:12;483:52;557:23;;-1:-1:-1;;;;;;609:32:150;;599:43;;589:71;;656:1;653;646:12;887:131;-1:-1:-1;;;;;962:31:150;;952:42;;942:70;;1008:1;1005;998:12;1023:247;1082:6;1135:2;1123:9;1114:7;1110:23;1106:32;1103:52;;;1151:1;1148;1141:12;1103:52;1190:9;1177:23;1209:31;1234:5;1209:31;:::i;1457:180::-;1516:6;1569:2;1557:9;1548:7;1544:23;1540:32;1537:52;;;1585:1;1582;1575:12;1537:52;-1:-1:-1;1608:23:150;;1457:180;-1:-1:-1;1457:180:150:o;1827:250::-;1912:1;1922:113;1936:6;1933:1;1930:13;1922:113;;;2012:11;;;2006:18;1993:11;;;1986:39;1958:2;1951:10;1922:113;;;-1:-1:-1;;2069:1:150;2051:16;;2044:27;1827:250::o;2082:271::-;2124:3;2162:5;2156:12;2189:6;2184:3;2177:19;2205:76;2274:6;2267:4;2262:3;2258:14;2251:4;2244:5;2240:16;2205:76;:::i;:::-;2335:2;2314:15;-1:-1:-1;;2310:29:150;2301:39;;;;2342:4;2297:50;;2082:271;-1:-1:-1;;2082:271:150:o;2358:469::-;2446:5;2440:12;2435:3;2428:25;2516:4;2509:5;2505:16;2499:23;2492:31;2485:39;2478:4;2473:3;2469:14;2462:63;2588:4;2581:5;2577:16;2571:23;2564:31;2557:39;2550:4;2545:3;2541:14;2534:63;2660:4;2653:5;2649:16;2643:23;2636:31;2629:39;2622:4;2617:3;2613:14;2606:63;2410:3;2715:4;2708:5;2704:16;2698:23;2753:4;2746;2741:3;2737:14;2730:28;2774:47;2815:4;2810:3;2806:14;2792:12;2774:47;:::i;2832:1493::-;2988:4;3017:2;3046;3035:9;3028:21;3087:3;3076:9;3072:19;3133:6;3127:13;3122:2;3111:9;3107:18;3100:41;3195:2;3187:6;3183:15;3177:22;3172:2;3161:9;3157:18;3150:50;3254:2;3246:6;3242:15;3236:22;3231:2;3220:9;3216:18;3209:50;3306:2;3298:6;3294:15;3288:22;3346:1;3342;3337:3;3333:11;3329:19;3403:2;3389:12;3385:21;3379:3;3368:9;3364:19;3357:50;3473:2;3466:3;3458:6;3454:16;3448:23;3444:32;3438:3;3427:9;3423:19;3416:61;;;3526:3;3518:6;3514:16;3508:23;3568:4;3562:3;3551:9;3547:19;3540:33;3593:6;3628:14;3622:21;3667:6;3659;3652:22;3693:3;3683:13;;3727:2;3716:9;3712:18;3705:25;;3789:2;3779:6;3776:1;3772:14;3761:9;3757:30;3753:39;3739:53;;3835:2;3819:14;3815:23;3801:37;;3856:1;3866:266;3880:6;3877:1;3874:13;3866:266;;;3973:3;3969:8;3957:9;3949:6;3945:22;3941:37;3936:3;3929:50;4002;4045:6;4036;4030:13;4002:50;:::i;:::-;3992:60;-1:-1:-1;4075:15:150;;;;4110:12;;;;3902:1;3895:9;3866:266;;;-1:-1:-1;;;;4181:3:150;4169:16;;4163:23;4228:22;;;-1:-1:-1;;4224:36:150;4217:4;4202:20;;4195:66;4163:23;-1:-1:-1;4278:41:150;4232:6;4163:23;4278:41;:::i;4330:315::-;4398:6;4406;4459:2;4447:9;4438:7;4434:23;4430:32;4427:52;;;4475:1;4472;4465:12;4427:52;4511:9;4498:23;4488:33;;4571:2;4560:9;4556:18;4543:32;4584:31;4609:5;4584:31;:::i;:::-;4634:5;4624:15;;;4330:315;;;;;:::o;4650:849::-;4848:4;4877:2;4917;4906:9;4902:18;4947:2;4936:9;4929:21;4970:6;5005;4999:13;5036:6;5028;5021:22;5074:2;5063:9;5059:18;5052:25;;5136:2;5126:6;5123:1;5119:14;5108:9;5104:30;5100:39;5086:53;;5174:2;5166:6;5162:15;5195:1;5205:265;5219:6;5216:1;5213:13;5205:265;;;5312:2;5308:7;5296:9;5288:6;5284:22;5280:36;5275:3;5268:49;5340:50;5383:6;5374;5368:13;5340:50;:::i;:::-;5330:60;-1:-1:-1;5448:12:150;;;;5413:15;;;;5241:1;5234:9;5205:265;;;-1:-1:-1;5487:6:150;;4650:849;-1:-1:-1;;;;;;;4650:849:150:o;5504:127::-;5565:10;5560:3;5556:20;5553:1;5546:31;5596:4;5593:1;5586:15;5620:4;5617:1;5610:15;5636:275;5707:2;5701:9;5772:2;5753:13;;-1:-1:-1;;5749:27:150;5737:40;;-1:-1:-1;;;;;5792:34:150;;5828:22;;;5789:62;5786:88;;;5854:18;;:::i;:::-;5890:2;5883:22;5636:275;;-1:-1:-1;5636:275:150:o;5916:530::-;5958:5;6011:3;6004:4;5996:6;5992:17;5988:27;5978:55;;6029:1;6026;6019:12;5978:55;6052:20;;-1:-1:-1;;;;;6084:26:150;;6081:52;;;6113:18;;:::i;:::-;6157:55;6200:2;6181:13;;-1:-1:-1;;6177:27:150;6206:4;6173:38;6157:55;:::i;:::-;6237:2;6228:7;6221:19;6283:3;6276:4;6271:2;6263:6;6259:15;6255:26;6252:35;6249:55;;;6300:1;6297;6290:12;6249:55;6365:2;6358:4;6350:6;6346:17;6339:4;6330:7;6326:18;6313:55;6413:1;6388:16;;;6406:4;6384:27;6377:38;;;;6392:7;5916:530;-1:-1:-1;;;5916:530:150:o;6451:455::-;6528:6;6536;6589:2;6577:9;6568:7;6564:23;6560:32;6557:52;;;6605:1;6602;6595:12;6557:52;6644:9;6631:23;6663:31;6688:5;6663:31;:::i;:::-;6713:5;-1:-1:-1;6769:2:150;6754:18;;6741:32;-1:-1:-1;;;;;6785:30:150;;6782:50;;;6828:1;6825;6818:12;6782:50;6851:49;6892:7;6883:6;6872:9;6868:22;6851:49;:::i;:::-;6841:59;;;6451:455;;;;;:::o;6911:248::-;6979:6;6987;7040:2;7028:9;7019:7;7015:23;7011:32;7008:52;;;7056:1;7053;7046:12;7008:52;-1:-1:-1;;7079:23:150;;;7149:2;7134:18;;;7121:32;;-1:-1:-1;6911:248:150:o;7164:1710::-;7303:6;7311;7319;7327;7335;7388:3;7376:9;7367:7;7363:23;7359:33;7356:53;;;7405:1;7402;7395:12;7356:53;7432:23;;-1:-1:-1;;;;;7504:14:150;;;7501:34;;;7531:1;7528;7521:12;7501:34;7554:49;7595:7;7586:6;7575:9;7571:22;7554:49;:::i;:::-;7544:59;;7622:2;7612:12;;7671:2;7660:9;7656:18;7643:32;7633:42;;7725:2;7714:9;7710:18;7697:32;7738:31;7763:5;7738:31;:::i;:::-;7788:5;-1:-1:-1;7845:2:150;7830:18;;7817:32;7858:33;7817:32;7858:33;:::i;:::-;7910:7;-1:-1:-1;7970:3:150;7955:19;;7942:33;7987:16;;;7984:36;;;8016:1;8013;8006:12;7984:36;8039:24;;8094:4;8086:13;;8082:27;-1:-1:-1;8072:55:150;;8123:1;8120;8113:12;8072:55;8159:2;8146:16;8181:2;8177;8174:10;8171:36;;;8187:18;;:::i;:::-;8233:2;8230:1;8226:10;8256:28;8280:2;8276;8272:11;8256:28;:::i;:::-;8318:15;;;8388:11;;;8384:20;;;8349:12;;;;8416:19;;;8413:39;;;8448:1;8445;8438:12;8413:39;8480:2;8476;8472:11;8461:22;;8492:352;8508:6;8503:3;8500:15;8492:352;;;8594:3;8581:17;8630:2;8617:11;8614:19;8611:109;;;8674:1;8703:2;8699;8692:14;8611:109;8745:56;8793:7;8788:2;8774:11;8770:2;8766:20;8762:29;8745:56;:::i;:::-;8733:69;;-1:-1:-1;8525:12:150;;;;8822;;;;8492:352;;;8863:5;8853:15;;;;;;;;;7164:1710;;;;;;;;:::o;8879:266::-;9064:2;9053:9;9046:21;9027:4;9084:55;9135:2;9124:9;9120:18;9112:6;9084:55;:::i;9150:220::-;9299:2;9288:9;9281:21;9262:4;9319:45;9360:2;9349:9;9345:18;9337:6;9319:45;:::i;9375:457::-;9462:6;9470;9478;9531:2;9519:9;9510:7;9506:23;9502:32;9499:52;;;9547:1;9544;9537:12;9499:52;9570:23;;;-1:-1:-1;9640:2:150;9625:18;;9612:32;;-1:-1:-1;9695:2:150;9680:18;;9667:32;-1:-1:-1;;;;;9711:30:150;;9708:50;;;9754:1;9751;9744:12;9708:50;9777:49;9818:7;9809:6;9798:9;9794:22;9777:49;:::i;:::-;9767:59;;;9375:457;;;;;:::o;9837:127::-;9898:10;9893:3;9889:20;9886:1;9879:31;9929:4;9926:1;9919:15;9953:4;9950:1;9943:15;9969:248;10117:2;10102:18;;10150:2;10139:14;;10129:48;;10157:18;;:::i;:::-;10186:25;;;9969:248;:::o;10222:389::-;10300:6;10308;10361:2;10349:9;10340:7;10336:23;10332:32;10329:52;;;10377:1;10374;10367:12;10329:52;10400:23;;;-1:-1:-1;10474:2:150;10459:18;;10446:32;-1:-1:-1;;;;;10490:30:150;;10487:50;;;10533:1;10530;10523:12;10936:251;11088:2;11073:18;;11121:1;11110:13;;11100:47;;11127:18;;:::i;11192:740::-;11287:6;11295;11303;11311;11319;11372:3;11360:9;11351:7;11347:23;11343:33;11340:53;;;11389:1;11386;11379:12;11340:53;11428:9;11415:23;11447:31;11472:5;11447:31;:::i;:::-;11497:5;-1:-1:-1;11554:2:150;11539:18;;11526:32;11567:33;11526:32;11567:33;:::i;:::-;11619:7;-1:-1:-1;11678:2:150;11663:18;;11650:32;11691:33;11650:32;11691:33;:::i;:::-;11743:7;-1:-1:-1;11802:2:150;11787:18;;11774:32;11815:33;11774:32;11815:33;:::i;:::-;11192:740;;;;-1:-1:-1;11192:740:150;;11921:3;11906:19;11893:33;;11192:740;-1:-1:-1;;11192:740:150:o;11937:380::-;12016:1;12012:12;;;;12059;;;12080:61;;12134:4;12126:6;12122:17;12112:27;;12080:61;12187:2;12179:6;12176:14;12156:18;12153:38;12150:161;;12233:10;12228:3;12224:20;12221:1;12214:31;12268:4;12265:1;12258:15;12296:4;12293:1;12286:15;12150:161;;11937:380;;;:::o;12322:127::-;12383:10;12378:3;12374:20;12371:1;12364:31;12414:4;12411:1;12404:15;12438:4;12435:1;12428:15;12454:128;12521:9;;;12542:11;;;12539:37;;;12556:18;;:::i;12587:248::-;12761:25;;;12817:2;12802:18;;12795:34;12749:2;12734:18;;12587:248::o;12840:127::-;12901:10;12896:3;12892:20;12889:1;12882:31;12932:4;12929:1;12922:15;12956:4;12953:1;12946:15;12972:135;13011:3;13032:17;;;13029:43;;13052:18;;:::i;:::-;-1:-1:-1;13099:1:150;13088:13;;12972:135::o;13319:125::-;13384:9;;;13405:10;;;13402:36;;;13418:18;;:::i;13449:320::-;13536:6;13544;13597:2;13585:9;13576:7;13572:23;13568:32;13565:52;;;13613:1;13610;13603:12;13565:52;13645:9;13639:16;13664:31;13689:5;13664:31;:::i;:::-;13759:2;13744:18;;;;13738:25;13714:5;;13738:25;;-1:-1:-1;;;13449:320:150:o;13900:545::-;14002:2;13997:3;13994:11;13991:448;;;14038:1;14063:5;14059:2;14052:17;14108:4;14104:2;14094:19;14178:2;14166:10;14162:19;14159:1;14155:27;14149:4;14145:38;14214:4;14202:10;14199:20;14196:47;;;-1:-1:-1;14237:4:150;14196:47;14292:2;14287:3;14283:12;14280:1;14276:20;14270:4;14266:31;14256:41;;14347:82;14365:2;14358:5;14355:13;14347:82;;;14410:17;;;14391:1;14380:13;14347:82;;;14351:3;;;13900:545;;;:::o;14621:1352::-;14741:10;;-1:-1:-1;;;;;14763:30:150;;14760:56;;;14796:18;;:::i;:::-;14825:97;14915:6;14875:38;14907:4;14901:11;14875:38;:::i;:::-;14869:4;14825:97;:::i;:::-;14977:4;;15041:2;15030:14;;15058:1;15053:663;;;;15760:1;15777:6;15774:89;;;-1:-1:-1;15829:19:150;;;15823:26;15774:89;-1:-1:-1;;14578:1:150;14574:11;;;14570:24;14566:29;14556:40;14602:1;14598:11;;;14553:57;15876:81;;15023:944;;15053:663;13847:1;13840:14;;;13884:4;13871:18;;-1:-1:-1;;15089:20:150;;;15207:236;15221:7;15218:1;15215:14;15207:236;;;15310:19;;;15304:26;15289:42;;15402:27;;;;15370:1;15358:14;;;;15237:19;;15207:236;;;15211:3;15471:6;15462:7;15459:19;15456:201;;;15532:19;;;15526:26;-1:-1:-1;;15615:1:150;15611:14;;;15627:3;15607:24;15603:37;15599:42;15584:58;15569:74;;15456:201;-1:-1:-1;;;;;15703:1:150;15687:14;;;15683:22;15670:36;;-1:-1:-1;14621:1352:150:o;15978:291::-;16155:6;16144:9;16137:25;16198:2;16193;16182:9;16178:18;16171:30;16118:4;16218:45;16259:2;16248:9;16244:18;16236:6;16218:45;:::i;16274:280::-;16363:6;16416:2;16404:9;16395:7;16391:23;16387:32;16384:52;;;16432:1;16429;16422:12;16384:52;16464:9;16458:16;16503:2;16496:5;16493:13;16483:41;;16520:1;16517;16510:12;16868:184;16938:6;16991:2;16979:9;16970:7;16966:23;16962:32;16959:52;;;17007:1;17004;16997:12;16959:52;-1:-1:-1;17030:16:150;;16868:184;-1:-1:-1;16868:184:150:o;17057:274::-;-1:-1:-1;;;;;17249:32:150;;;;17231:51;;17313:2;17298:18;;17291:34;17219:2;17204:18;;17057:274::o;17336:277::-;17403:6;17456:2;17444:9;17435:7;17431:23;17427:32;17424:52;;;17472:1;17469;17462:12;17424:52;17504:9;17498:16;17557:5;17550:13;17543:21;17536:5;17533:32;17523:60;;17579:1;17576;17569:12;20173:287;20302:3;20340:6;20334:13;20356:66;20415:6;20410:3;20403:4;20395:6;20391:17;20356:66;:::i;:::-;20438:16;;;;;20173:287;-1:-1:-1;;20173:287:150:o"},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","GOVERNANCE_ROLE()":"f36c8f5c","GRANTS_APPROVER_ROLE()":"3f36cd7f","GRANTS_REJECTOR_ROLE()":"21afd1f6","PAUSER_ROLE()":"e63ab1e9","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approveMilestoneWithReason(uint256,uint256,string)":"b3396778","approveMilestones(uint256,uint256)":"767b1602","claimMilestone(uint256,uint256)":"c266aef7","createMilestones(string,uint256,address,address,bytes[])":"808860a5","getB3trContract()":"c4ec8f98","getGovernorContract()":"0019cce6","getGrantProposal(uint256)":"24ad94cd","getGrantsReceiverAddress(uint256)":"da104fac","getMilestone(uint256,uint256)":"8ed9895c","getMilestoneMetadataURI(uint256)":"cff28c70","getMilestones(uint256)":"42c549c0","getMinimumMilestoneCount()":"01294764","getRoleAdmin(bytes32)":"248a9ca3","getTotalAmountForMilestones(uint256)":"5ade3874","getTreasuryContract()":"26c74fc3","grantRole(bytes32,address)":"2f2ff15d","grantState(uint256)":"bfda4e7c","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,address,uint256)":"f7013ef6","isClaimable(uint256,uint256)":"c1a45a6a","isGrantCompleted(uint256)":"c2249389","isGrantInDevelopment(uint256)":"9b154087","isGrantRejected(uint256)":"7da17bf3","milestoneState(uint256,uint256)":"e9af5d1b","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","rejectMilestones(uint256)":"f23e227b","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setB3trContract(address)":"54b90b7b","setGovernorContract(address)":"06c49822","setMinimumMilestoneCount(uint256)":"b2a2eef9","setTreasuryContract(address)":"1ed65110","supportsInterface(bytes4)":"01ffc9a7","unpause()":"3f4ba83a","updateGrantsReceiver(uint256,address)":"e03d759b","updateMilestoneMetadataURI(uint256,string)":"c42433b4","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"CallerIsNotTheGrantReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantAlreadyCompleted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantAlreadyRejected\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"availableFunds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredFunds\",\"type\":\"uint256\"}],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"InvalidFunctionSelector\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"InvalidMilestoneIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"InvalidNumberOfMilestones\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"InvalidTarget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAlreadyApproved\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAmountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"MilestoneClaimedAmountExceedsTotalAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneDetailsMetadataURIEmpty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneNotApprovedByAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneProposerZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum IGrantsManagerV2.MilestoneState\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"MilestoneStateNotPending\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneTotalAmountZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"PreviousMilestoneNotApproved\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotExecuted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newGrantsReceiver\",\"type\":\"address\"}],\"name\":\"GrantsReceiverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MilestoneClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newMilestoneMetadataURI\",\"type\":\"string\"}],\"name\":\"MilestoneMetadataURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MilestoneRejectedAndFundsReturnedToTreasury\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneValidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"name\":\"MilestonesCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"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\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOVERNANCE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GRANTS_APPROVER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GRANTS_REJECTOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"approveMilestoneWithReason\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"approveMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"claimMilestone\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"}],\"name\":\"createMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getB3trContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGovernorContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getGrantProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManagerV2.Milestone[]\",\"name\":\"milestones\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManagerV2.GrantProposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getGrantsReceiverAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"getMilestone\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManagerV2.Milestone\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMilestoneMetadataURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMilestones\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManagerV2.Milestone[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinimumMilestoneCount\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"milestoneId\",\"type\":\"uint256\"}],\"name\":\"getTotalAmountForMilestones\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasuryContract\",\"outputs\":[{\"internalType\":\"address\",\"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\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"grantState\",\"outputs\":[{\"internalType\":\"enum IGrantsManagerV2.GrantState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"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\":\"_governor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"defaultAdmin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_b3tr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minimumMilestoneCount\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"isClaimable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantCompleted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantInDevelopment\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantRejected\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"milestoneState\",\"outputs\":[{\"internalType\":\"enum IGrantsManagerV2.MilestoneState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"rejectMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"_b3tr\",\"type\":\"address\"}],\"name\":\"setB3trContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_governor\",\"type\":\"address\"}],\"name\":\"setGovernorContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumMilestoneCount\",\"type\":\"uint256\"}],\"name\":\"setMinimumMilestoneCount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"setTreasuryContract\",\"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\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"newGrantsReceiver\",\"type\":\"address\"}],\"name\":\"updateGrantsReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"newMilestoneMetadataURI\",\"type\":\"string\"}],\"name\":\"updateMilestoneMetadataURI\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CallerIsNotTheGrantReceiver(address,address)\":[{\"params\":{\"caller\":\"The address of the caller\",\"recipient\":\"The address of the recipient\"}}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"GrantAlreadyCompleted(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"GrantAlreadyRejected(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"InsufficientFunds(uint256,uint256)\":[{\"params\":{\"availableFunds\":\"The available funds\",\"requiredFunds\":\"The required funds\"}}],\"InvalidFunctionSelector(bytes4)\":[{\"params\":{\"selector\":\"The invalid selector\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidMilestoneIndex(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"InvalidNumberOfMilestones(uint256,uint256)\":[{\"params\":{\"provided\":\"The number of milestones provided\",\"required\":\"The minimum number of milestones required\"}}],\"InvalidTarget(address)\":[{\"params\":{\"target\":\"The invalid target\"}}],\"MilestoneAlreadyApproved(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneAlreadyClaimed(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneAmountZero(uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone with zero amount\"}}],\"MilestoneClaimedAmountExceedsTotalAmount(uint256,uint256)\":[{\"params\":{\"claimedAmount\":\"The amount claimed\",\"totalAmount\":\"The total amount available\"}}],\"MilestoneNotApprovedByAdmin(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneStateNotPending(uint8)\":[{\"params\":{\"status\":\"The current status of the milestone\"}}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"PreviousMilestoneNotApproved(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"ProposalNotExecuted(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"GrantCanceled(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"}},\"GrantsReceiverUpdated(uint256,address)\":{\"params\":{\"newGrantsReceiver\":\"The new grants receiver address\",\"proposalId\":\"The ID of the proposal\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"MilestoneClaimed(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the milestone\",\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneMetadataURIUpdated(uint256,string)\":{\"params\":{\"newMilestoneMetadataURI\":\"The new metadata URI\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneRejectedAndFundsReturnedToTreasury(uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneValidated(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestonesCreated(uint256,address,address,uint256,string)\":{\"params\":{\"grantsReceiver\":\"The address of the grants receiver\",\"metadataURI\":\"The IPFS hash containing milestone details\",\"proposalId\":\"The ID of the proposal\",\"proposer\":\"The address of the proposer\",\"totalAmount\":\"The total amount of all milestones\"}},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"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.\"},\"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`)\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"approveMilestoneWithReason(uint256,uint256,string)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\",\"reason\":\"The reason for approving the milestone\"}},\"approveMilestones(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"claimMilestone(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone to claim\",\"proposalId\":\"The ID of the grant proposal\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"createMilestones(string,uint256,address,address,bytes[])\":{\"details\":\"Internal function to create milestones for a proposal.\",\"params\":{\"calldatas\":\"The calldatas of the milestones\",\"metadataURI\":\"The IPFS hash containing the milestones descriptions\",\"proposalId\":\"The ID of the proposal\",\"proposer\":\"The address of the proposer\"}},\"getB3trContract()\":{\"returns\":{\"_0\":\"The address of the b3tr contract\"}},\"getGovernorContract()\":{\"returns\":{\"_0\":\"The address of the governor contract\"}},\"getGrantProposal(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GrantProposal The grant proposal for the proposal\"}},\"getGrantsReceiverAddress(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"The address of the grants receiver\"}},\"getMilestone(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"Milestone The milestone\"}},\"getMilestoneMetadataURI(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"The metadata URI for the milestone\"}},\"getMilestones(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GrantProposal The milestones for the proposal\"}},\"getMinimumMilestoneCount()\":{\"returns\":{\"_0\":\"uint256 The minimum milestone count.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getTotalAmountForMilestones(uint256)\":{\"params\":{\"milestoneId\":\"The ID of the milestone\"},\"returns\":{\"_0\":\"The total amount for the milestones\"}},\"getTreasuryContract()\":{\"returns\":{\"_0\":\"The address of the treasury contract\"}},\"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.\"},\"grantState(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GrantState The state of the grant\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isClaimable(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if the milestone is claimable, false otherwise\"}},\"isGrantCompleted(uint256)\":{\"details\":\"Ascending order status of the milestones, so last one is the one that determines the status of the grant\",\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is completed, false otherwise\"}},\"isGrantInDevelopment(uint256)\":{\"details\":\"A grant is in development when: 1. The proposal has been executed AND 2. At least one milestone is still pending\",\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is in development, false otherwise\"}},\"isGrantRejected(uint256)\":{\"details\":\"A grant is rejected when at least one milestone is rejected\",\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is rejected, false otherwise\"}},\"milestoneState(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"MilestoneState The state of the milestone\"}},\"pause()\":{\"details\":\"Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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.\"},\"rejectMilestones(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"}},\"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 `callerConfirmation`. 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.\"},\"setB3trContract(address)\":{\"params\":{\"_b3tr\":\"The address of the b3tr contract\"}},\"setGovernorContract(address)\":{\"params\":{\"_governor\":\"The address of the governor contract\"}},\"setMinimumMilestoneCount(uint256)\":{\"params\":{\"minimumMilestoneCount\":\"The minimum milestone count\"}},\"setTreasuryContract(address)\":{\"params\":{\"_treasury\":\"The address of the treasury contract\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"unpause()\":{\"details\":\"Only callable by accounts with the PAUSER_ROLE or the DEFAULT_ADMIN_ROLE\"},\"updateGrantsReceiver(uint256,address)\":{\"details\":\"Only the grants receiver or governance can update the grants receiver address\",\"params\":{\"newGrantsReceiver\":\"The address of the grants receiver contract\",\"proposalId\":\"The ID of the proposal\"}},\"updateMilestoneMetadataURI(uint256,string)\":{\"params\":{\"newMilestoneMetadataURI\":\"The new IPFS hash containing the updated milestone descriptions\",\"proposalId\":\"The ID of the proposal\"}},\"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()\":{\"returns\":{\"_0\":\"The version of the contract\"}}},\"title\":\"GrantsManagerV2\",\"version\":1},\"userdoc\":{\"errors\":{\"CallerIsNotTheGrantReceiver(address,address)\":[{\"notice\":\"Error thrown when caller is not the grant receiver\"}],\"GrantAlreadyCompleted(uint256)\":[{\"notice\":\"Error thrown when grant is already completed\"}],\"GrantAlreadyRejected(uint256)\":[{\"notice\":\"Error thrown when grant is already rejected\"}],\"InsufficientFunds(uint256,uint256)\":[{\"notice\":\"Error thrown when funds are insufficient\"}],\"InvalidAmount()\":[{\"notice\":\"Error thrown when a milestone amount is invalid\"}],\"InvalidFunctionSelector(bytes4)\":[{\"notice\":\"Error thrown when a function selector is invalid\"}],\"InvalidMilestoneIndex(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone index is invalid\"}],\"InvalidNumberOfMilestones(uint256,uint256)\":[{\"notice\":\"Error thrown when number of milestones is less than minimum required\"}],\"InvalidTarget(address)\":[{\"notice\":\"Error thrown when a target is invalid\"}],\"MilestoneAlreadyApproved(uint256,uint256)\":[{\"notice\":\"Error thrown when a milestone is already validated\"}],\"MilestoneAlreadyClaimed(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone is already claimed\"}],\"MilestoneAmountZero(uint256)\":[{\"notice\":\"Error thrown when milestone amount is zero\"}],\"MilestoneClaimedAmountExceedsTotalAmount(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone claimed amount exceeds total amount\"}],\"MilestoneDetailsMetadataURIEmpty()\":[{\"notice\":\"Error thrown when milestone details metadata URI is empty\"}],\"MilestoneNotApprovedByAdmin(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone is not validated\"}],\"MilestoneProposerZeroAddress()\":[{\"notice\":\"Error thrown when milestone proposer is zero address\"}],\"MilestoneStateNotPending(uint8)\":[{\"notice\":\"Error thrown when milestone state is not pending\"}],\"MilestoneTotalAmountZero()\":[{\"notice\":\"Error thrown when milestone total amount is zero\"}],\"NotAuthorized()\":[{\"notice\":\"Error thrown when caller is not an admin or grants manager\"}],\"PreviousMilestoneNotApproved(uint256,uint256)\":[{\"notice\":\"Error thrown when previous milestone is not validated\"}],\"ProposalNotExecuted(uint256)\":[{\"notice\":\"Error thrown when proposal is not executed\"}],\"TransferFailed()\":[{\"notice\":\"Error thrown when transfer fails\"}]},\"events\":{\"GrantCanceled(uint256)\":{\"notice\":\"Emitted when a grant is canceled\"},\"GrantsReceiverUpdated(uint256,address)\":{\"notice\":\"Emitted when the grants receiver address is updated\"},\"MilestoneClaimed(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a milestone is claimed\"},\"MilestoneMetadataURIUpdated(uint256,string)\":{\"notice\":\"Emitted when a milestone metadata URI is updated\"},\"MilestoneRejectedAndFundsReturnedToTreasury(uint256,uint256)\":{\"notice\":\"Emitted when a milestone is rejected\"},\"MilestoneValidated(uint256,uint256)\":{\"notice\":\"Emitted when a milestone is validated ( ready to be claimed by the receiver )\"},\"MilestonesCreated(uint256,address,address,uint256,string)\":{\"notice\":\"Emitted when milestones are created for a proposal\"}},\"kind\":\"user\",\"methods\":{\"approveMilestoneWithReason(uint256,uint256,string)\":{\"notice\":\"Approves a milestone with a reason\"},\"approveMilestones(uint256,uint256)\":{\"notice\":\"Approves a milestone\"},\"claimMilestone(uint256,uint256)\":{\"notice\":\"Claims funds for a validated milestone\"},\"getB3trContract()\":{\"notice\":\"Returns the b3tr contract\"},\"getGovernorContract()\":{\"notice\":\"Returns the governor contract\"},\"getGrantProposal(uint256)\":{\"notice\":\"Returns the grant proposal for a proposal.\"},\"getGrantsReceiverAddress(uint256)\":{\"notice\":\"Returns the grants receiver address\"},\"getMilestone(uint256,uint256)\":{\"notice\":\"Returns a milestone for a proposal.\"},\"getMilestoneMetadataURI(uint256)\":{\"notice\":\"Returns the metadata URI for a milestone\"},\"getMilestones(uint256)\":{\"notice\":\"Returns the milestones for a proposal.\"},\"getMinimumMilestoneCount()\":{\"notice\":\"Returns the minimum milestone count for a proposal.\"},\"getTotalAmountForMilestones(uint256)\":{\"notice\":\"Returns the total amount for milestones\"},\"getTreasuryContract()\":{\"notice\":\"Returns the treasury contract\"},\"grantState(uint256)\":{\"notice\":\"Returns the state of a grant {see IGrantsManager:GrantState }\"},\"isClaimable(uint256,uint256)\":{\"notice\":\"Returns if a milestone is claimable\"},\"isGrantCompleted(uint256)\":{\"notice\":\"Returns if a proposal is completed\"},\"isGrantInDevelopment(uint256)\":{\"notice\":\"Returns if a proposal is in development\"},\"isGrantRejected(uint256)\":{\"notice\":\"Returns if a proposal is rejected\"},\"milestoneState(uint256,uint256)\":{\"notice\":\"Returns the state of a milestone\"},\"pause()\":{\"notice\":\"Pauses all token transfers and minting functions\"},\"rejectMilestones(uint256)\":{\"notice\":\"Rejects a milestone\"},\"setB3trContract(address)\":{\"notice\":\"Sets the b3tr contract\"},\"setGovernorContract(address)\":{\"notice\":\"Sets the governor contract\"},\"setMinimumMilestoneCount(uint256)\":{\"notice\":\"Sets the minimum number of milestones for a grant proposal\"},\"setTreasuryContract(address)\":{\"notice\":\"Sets the treasury contract\"},\"unpause()\":{\"notice\":\"Unpauses the contract to resume token transfers and minting\"},\"updateGrantsReceiver(uint256,address)\":{\"notice\":\"Updates the grants receiver address\"},\"updateMilestoneMetadataURI(uint256,string)\":{\"notice\":\"Updates the metadata URI for a milestoneThe JSON is {milestone1: {details: ..., duration: timestamp}, milestone2: {details: ..., duration: timestamp}}\"},\"version()\":{\"notice\":\"Returns the version of the contract\"}},\"notice\":\"Frozen copy of GrantsManager at version 2 \\u2014 preserved for upgrade tests only.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V2/GrantsManagerV2.sol\":\"GrantsManagerV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V2/GrantsManagerV2.sol\":{\"keccak256\":\"0xc0296a22b43867449132667b0ed25fc46e0065c6adf95d4f659d54d49f427a01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3817b5cd6a376442c35a0d4f9c649e2cc7bc8b2e912cbad2ff017a5b37827502\",\"dweb:/ipfs/QmUoKf4z4ReeSp5JSEBupk9NkkBkn3HFNJGpeafA1bsB9P\"]},\"contracts/deprecated/V2/interfaces/IGrantsManagerV2.sol\":{\"keccak256\":\"0x9065c34266fc41b88195141c662fbfc42c89ba5782b66365da39beeaff6b9ac7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38389d4286270ad35abc97db820acb79bc6ac6413064fdf7fb7445571bbd9083\",\"dweb:/ipfs/QmfM5MdYKGMQvDSLaog2FoqJCkcgWVwowLNiUkEDxrDgiy\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V2/interfaces/IGalaxyMemberV2.sol":{"IGalaxyMemberV2":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"name":"ERC5805FutureLookup","type":"error"},{"inputs":[],"name":"ERC6372InconsistentClock","type":"error"},{"inputs":[],"name":"ERC721EnumerableForbiddenBatchMint","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"ERC721OutOfBoundsIndex","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"B3TRtoUpgradeToLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"B3trGovernorAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newBaseURI","type":"string"},{"indexed":true,"internalType":"string","name":"oldBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"MaxLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PublicMintingPaused","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":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Selected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsGovernorAddressUpdated","type":"event"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NODES_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"attachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"detachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRdonated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRtoUpgrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getB3TRtoUpgradeToLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getIdAttachedToNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"nodeTokenId","type":"uint256"}],"name":"getLevelAfterAttachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getLevelAfterDetachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getNodeIdAttached","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevelOf","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"}],"name":"getNodeToFreeLevel","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":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenId","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":"address","name":"_vechainNodes","type":"address"},{"internalType":"address","name":"_nodesAdmin","type":"address"},{"internalType":"uint256[]","name":"_nodeFreeLevels","type":"uint256[]"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"levelOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"participatedInGovernance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"select","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"setB3TRtoUpgradeToLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3trGovernor","type":"address"}],"name":"setB3trGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setIsPublicMintingPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setMaxLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setNodeToFreeUpgradeLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vechainNodes","type":"address"}],"name":"setVechainNodes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xAllocationsGovernor","type":"address"}],"name":"setXAllocationsGovernorAddress","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"upgrade","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":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"xAllocationsGovernor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_LEVEL()":"a49062d4","MINTER_ROLE()":"d5391393","NODES_MANAGER_ROLE()":"3d6dbee8","PAUSER_ROLE()":"e63ab1e9","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approve(address,uint256)":"095ea7b3","attachNode(uint256,uint256)":"88371110","b3tr()":"582a486a","b3trGovernor()":"7893d736","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","burn(uint256)":"42966c68","detachNode(uint256,uint256)":"4a6565e1","freeMint()":"5b70ea9f","getApproved(uint256)":"081812fc","getB3TRdonated(uint256)":"865c380b","getB3TRtoUpgrade(uint256)":"a51d2e0b","getB3TRtoUpgradeToLevel(uint256)":"2b42df38","getIdAttachedToNode(uint256)":"51c438d1","getLevelAfterAttachingNode(uint256,uint256)":"a1843bd0","getLevelAfterDetachingNode(uint256)":"cc421d07","getNodeIdAttached(uint256)":"958fc97d","getNodeLevelOf(uint256)":"3ff453af","getNodeToFreeLevel(uint8)":"e617e49f","getRoleAdmin(bytes32)":"248a9ca3","getSelectedTokenId(address)":"d206885d","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initializeV2(address,address,uint256[])":"fb966e9f","isApprovedForAll(address,address)":"e985e9c5","levelOf(uint256)":"6d5e3032","name()":"06fdde03","ownerOf(uint256)":"6352211e","participatedInGovernance(address)":"8c5b76fb","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","select(uint256)":"839a19d9","setApprovalForAll(address,bool)":"a22cb465","setB3TRtoUpgradeToLevel(uint256[])":"b1ccbd2c","setB3trGovernorAddress(address)":"ddd8634d","setBaseURI(string)":"55f804b3","setIsPublicMintingPaused(bool)":"5b5da514","setMaxLevel(uint256)":"344f1ba5","setNodeToFreeUpgradeLevel(uint8,uint256)":"001db0dd","setVechainNodes(address)":"5ffaa59a","setXAllocationsGovernorAddress(address)":"3af03ea8","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","treasury()":"61d027b3","unpause()":"3f4ba83a","upgrade(uint256)":"45977d03","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50","xAllocationsGovernor()":"5ecf68e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"B3TRtoUpgradeToLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"B3trGovernorAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"MaxLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PublicMintingPaused\",\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Selected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsGovernorAddressUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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_LEVEL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NODES_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"attachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"detachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRdonated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgrade\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgradeToLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getIdAttachedToNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterAttachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterDetachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getNodeIdAttached\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevelOf\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"}],\"name\":\"getNodeToFreeLevel\",\"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\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenId\",\"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\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesAdmin\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_nodeFreeLevels\",\"type\":\"uint256[]\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"levelOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"participatedInGovernance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"select\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"setB3TRtoUpgradeToLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3trGovernor\",\"type\":\"address\"}],\"name\":\"setB3trGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"setIsPublicMintingPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setMaxLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setNodeToFreeUpgradeLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"}],\"name\":\"setVechainNodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_xAllocationsGovernor\",\"type\":\"address\"}],\"name\":\"setXAllocationsGovernorAddress\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"upgrade\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsGovernor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implements ERC721 with additional features for level upgrades, node attachments, and governance participation\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"params\":{\"to\":\"Address to be approved\",\"tokenId\":\"ID of the token to be approved\"}},\"attachNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"ID of the node to attach\",\"tokenId\":\"ID of the token to attach to\"}},\"balanceOf(address)\":{\"params\":{\"owner\":\"Address to query\"},\"returns\":{\"_0\":\"Number of tokens owned\"}},\"burn(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to burn\"}},\"detachNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"ID of the node to detach\",\"tokenId\":\"ID of the token to detach from\"}},\"getApproved(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Address approved for the token\"}},\"getB3TRdonated(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Amount of B3TR donated\"}},\"getB3TRtoUpgrade(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Amount of B3TR needed\"}},\"getB3TRtoUpgradeToLevel(uint256)\":{\"params\":{\"level\":\"Target level\"},\"returns\":{\"_0\":\"Amount of B3TR needed\"}},\"getIdAttachedToNode(uint256)\":{\"params\":{\"nodeId\":\"ID of the node to query\"},\"returns\":{\"_0\":\"Token ID attached to the node\"}},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"ID of the node to attach\",\"tokenId\":\"ID of the token\"},\"returns\":{\"_0\":\"New level after attachment\"}},\"getLevelAfterDetachingNode(uint256)\":{\"params\":{\"tokenId\":\"ID of the token\"},\"returns\":{\"_0\":\"New level after detachment\"}},\"getNodeIdAttached(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"ID of the attached node\"}},\"getNodeLevelOf(uint256)\":{\"params\":{\"nodeId\":\"ID of the node to query\"},\"returns\":{\"_0\":\"Level of the node\"}},\"getNodeToFreeLevel(uint8)\":{\"params\":{\"nodeLevel\":\"Level of the node\"},\"returns\":{\"_0\":\"Free level granted\"}},\"getRoleAdmin(bytes32)\":{\"params\":{\"role\":\"Role to query\"},\"returns\":{\"_0\":\"Admin role\"}},\"getSelectedTokenId(address)\":{\"params\":{\"owner\":\"Address to query\"},\"returns\":{\"_0\":\"Selected token ID\"}},\"grantRole(bytes32,address)\":{\"params\":{\"account\":\"Account to receive the role\",\"role\":\"Role to grant\"}},\"hasRole(bytes32,address)\":{\"params\":{\"account\":\"Account to check\",\"role\":\"Role to check\"},\"returns\":{\"_0\":\"True if account has the role\"}},\"initializeV2(address,address,uint256[])\":{\"params\":{\"_nodeFreeLevels\":\"Array of free levels for nodes\",\"_nodesAdmin\":\"Address of the nodes admin\",\"_vechainNodes\":\"Address of the VeChain nodes contract\"}},\"isApprovedForAll(address,address)\":{\"params\":{\"operator\":\"Operator address\",\"owner\":\"Owner address\"},\"returns\":{\"_0\":\"True if operator is approved for all\"}},\"levelOf(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Level of the token\"}},\"ownerOf(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Address of the owner\"}},\"participatedInGovernance(address)\":{\"params\":{\"user\":\"Address to check\"},\"returns\":{\"_0\":\"True if user has participated\"}},\"paused()\":{\"returns\":{\"_0\":\"True if contract is paused\"}},\"renounceRole(bytes32,address)\":{\"params\":{\"callerConfirmation\":\"Address of the caller for confirmation\",\"role\":\"Role to renounce\"}},\"revokeRole(bytes32,address)\":{\"params\":{\"account\":\"Account to revoke from\",\"role\":\"Role to revoke\"}},\"safeTransferFrom(address,address,uint256)\":{\"params\":{\"from\":\"Current owner\",\"to\":\"New owner\",\"tokenId\":\"ID of the token to transfer\"}},\"safeTransferFrom(address,address,uint256,bytes)\":{\"params\":{\"data\":\"Additional data\",\"from\":\"Current owner\",\"to\":\"New owner\",\"tokenId\":\"ID of the token to transfer\"}},\"select(uint256)\":{\"params\":{\"tokenID\":\"ID of the token to select\"}},\"setApprovalForAll(address,bool)\":{\"params\":{\"approved\":\"Approval status\",\"operator\":\"Address to approve\"}},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"params\":{\"b3trToUpgradeToLevel\":\"Array of B3TR amounts\"}},\"setB3trGovernorAddress(address)\":{\"params\":{\"_b3trGovernor\":\"New governor address\"}},\"setBaseURI(string)\":{\"params\":{\"baseTokenURI\":\"New base URI\"}},\"setIsPublicMintingPaused(bool)\":{\"params\":{\"isPaused\":\"New pause status\"}},\"setMaxLevel(uint256)\":{\"params\":{\"level\":\"New maximum level\"}},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"params\":{\"level\":\"Free upgrade level\",\"nodeLevel\":\"Level of the node\"}},\"setVechainNodes(address)\":{\"params\":{\"_vechainNodes\":\"New nodes contract address\"}},\"setXAllocationsGovernorAddress(address)\":{\"params\":{\"_xAllocationsGovernor\":\"New governor address\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"Interface identifier\"},\"returns\":{\"_0\":\"True if interface is supported\"}},\"tokenByIndex(uint256)\":{\"params\":{\"index\":\"Index of the token\"},\"returns\":{\"_0\":\"Token ID at the index\"}},\"tokenOfOwnerByIndex(address,uint256)\":{\"params\":{\"index\":\"Index of the token\",\"owner\":\"Owner address\"},\"returns\":{\"_0\":\"Token ID at the index\"}},\"tokenURI(uint256)\":{\"params\":{\"tokenId\":\"ID of the token\"},\"returns\":{\"_0\":\"Metadata URI\"}},\"totalSupply()\":{\"returns\":{\"_0\":\"Total number of tokens\"}},\"transferFrom(address,address,uint256)\":{\"params\":{\"from\":\"Current owner\",\"to\":\"New owner\",\"tokenId\":\"ID of the token to transfer\"}},\"upgrade(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to upgrade\"}},\"upgradeToAndCall(address,bytes)\":{\"params\":{\"data\":\"Additional data for the upgrade\",\"newImplementation\":\"Address of the new implementation\"}},\"version()\":{\"returns\":{\"_0\":\"Version string\"}}},\"title\":\"IGalaxyMember\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"Returns the role identifier for contracts address manager\"},\"DEFAULT_ADMIN_ROLE()\":{\"notice\":\"Returns the role identifier for default admin\"},\"MAX_LEVEL()\":{\"notice\":\"Returns the maximum level achievable for a token\"},\"MINTER_ROLE()\":{\"notice\":\"Returns the role identifier for minter\"},\"NODES_MANAGER_ROLE()\":{\"notice\":\"Returns the role identifier for nodes manager\"},\"PAUSER_ROLE()\":{\"notice\":\"Returns the role identifier for pauser\"},\"UPGRADER_ROLE()\":{\"notice\":\"Returns the role identifier for upgrader\"},\"UPGRADE_INTERFACE_VERSION()\":{\"notice\":\"Returns the interface version string\"},\"approve(address,uint256)\":{\"notice\":\"Approves an address to transfer a specific token\"},\"attachNode(uint256,uint256)\":{\"notice\":\"Attaches a node to a token\"},\"b3tr()\":{\"notice\":\"Returns the B3TR token contract address\"},\"b3trGovernor()\":{\"notice\":\"Returns the B3TR governor contract address\"},\"balanceOf(address)\":{\"notice\":\"Returns the number of tokens owned by an address\"},\"baseURI()\":{\"notice\":\"Returns the base URI for token metadata\"},\"burn(uint256)\":{\"notice\":\"Burns a specific token\"},\"detachNode(uint256,uint256)\":{\"notice\":\"Detaches a node from a token\"},\"freeMint()\":{\"notice\":\"Allows eligible addresses to mint a token for free\"},\"getApproved(uint256)\":{\"notice\":\"Returns the approved address for a token\"},\"getB3TRdonated(uint256)\":{\"notice\":\"Returns the amount of B3TR donated for a token\"},\"getB3TRtoUpgrade(uint256)\":{\"notice\":\"Returns the amount of B3TR needed to upgrade a token\"},\"getB3TRtoUpgradeToLevel(uint256)\":{\"notice\":\"Returns the amount of B3TR needed to upgrade to a specific level\"},\"getIdAttachedToNode(uint256)\":{\"notice\":\"Returns the token ID attached to a node\"},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"notice\":\"Calculates the level after attaching a node\"},\"getLevelAfterDetachingNode(uint256)\":{\"notice\":\"Calculates the level after detaching a node\"},\"getNodeIdAttached(uint256)\":{\"notice\":\"Returns the node ID attached to a token\"},\"getNodeLevelOf(uint256)\":{\"notice\":\"Returns the level of a node\"},\"getNodeToFreeLevel(uint8)\":{\"notice\":\"Returns the free level granted by a node level\"},\"getRoleAdmin(bytes32)\":{\"notice\":\"Returns the admin role for a given role\"},\"getSelectedTokenId(address)\":{\"notice\":\"Returns the selected token ID for an owner\"},\"grantRole(bytes32,address)\":{\"notice\":\"Grants a role to an account\"},\"hasRole(bytes32,address)\":{\"notice\":\"Checks if an account has a role\"},\"initializeV2(address,address,uint256[])\":{\"notice\":\"Initializes the contract V2\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Checks if an operator is approved for all tokens of an owner\"},\"levelOf(uint256)\":{\"notice\":\"Returns the level of a token\"},\"name()\":{\"notice\":\"Returns the name of the token collection\"},\"ownerOf(uint256)\":{\"notice\":\"Returns the owner of a token\"},\"participatedInGovernance(address)\":{\"notice\":\"Checks if a user has participated in governance\"},\"pause()\":{\"notice\":\"Pauses all token transfers\"},\"paused()\":{\"notice\":\"Returns the paused status of the contract\"},\"proxiableUUID()\":{\"notice\":\"Returns the storage slot for the implementation\"},\"renounceRole(bytes32,address)\":{\"notice\":\"Allows an account to renounce a role\"},\"revokeRole(bytes32,address)\":{\"notice\":\"Revokes a role from an account\"},\"safeTransferFrom(address,address,uint256)\":{\"notice\":\"Safely transfers a token\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"notice\":\"Safely transfers a token with additional data\"},\"select(uint256)\":{\"notice\":\"Selects a token for an owner\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Sets approval for all tokens\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"notice\":\"Sets the B3TR amounts needed for level upgrades\"},\"setB3trGovernorAddress(address)\":{\"notice\":\"Sets the B3TR governor address\"},\"setBaseURI(string)\":{\"notice\":\"Sets the base URI for token metadata\"},\"setIsPublicMintingPaused(bool)\":{\"notice\":\"Sets the public minting pause status\"},\"setMaxLevel(uint256)\":{\"notice\":\"Sets the maximum level\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"notice\":\"Sets the free upgrade level for a node level\"},\"setVechainNodes(address)\":{\"notice\":\"Sets the VeChain nodes contract address\"},\"setXAllocationsGovernorAddress(address)\":{\"notice\":\"Sets the X-Allocations governor address\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the contract supports an interface\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token collection\"},\"tokenByIndex(uint256)\":{\"notice\":\"Returns a token by its index\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"notice\":\"Returns a token owned by an address by index\"},\"tokenURI(uint256)\":{\"notice\":\"Returns the URI for a token's metadata\"},\"totalSupply()\":{\"notice\":\"Returns the total supply of tokens\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Transfers a token\"},\"treasury()\":{\"notice\":\"Returns the treasury address\"},\"unpause()\":{\"notice\":\"Unpauses all token transfers\"},\"upgrade(uint256)\":{\"notice\":\"Upgrades a token's level\"},\"upgradeToAndCall(address,bytes)\":{\"notice\":\"Upgrades the contract implementation\"},\"version()\":{\"notice\":\"Returns the contract version\"},\"xAllocationsGovernor()\":{\"notice\":\"Returns the X-Allocations governor address\"}},\"notice\":\"Interface for the GalaxyMember contract which handles NFT membership and governance functionality\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V2/interfaces/IGalaxyMemberV2.sol\":\"IGalaxyMemberV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"contracts/deprecated/V2/interfaces/IGalaxyMemberV2.sol\":{\"keccak256\":\"0x18f6d4f182831e3cd35f80113c7a61cf56638ecb2f766bbb19bb49f542772223\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee98be5db56874d647124ebfba460f4094cceb18d25dc3aa9cc4e85632833e4b\",\"dweb:/ipfs/QmZ2P3BvvUgHMWqQt5DvU1C48JKg4iWLxx5EaoowyHHz4k\"]}},\"version\":1}"}},"contracts/deprecated/V2/interfaces/IGrantsManagerV2.sol":{"IGrantsManagerV2":{"abi":[{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"recipient","type":"address"}],"name":"CallerIsNotTheGrantReceiver","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantAlreadyCompleted","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantAlreadyRejected","type":"error"},{"inputs":[{"internalType":"uint256","name":"availableFunds","type":"uint256"},{"internalType":"uint256","name":"requiredFunds","type":"uint256"}],"name":"InsufficientFunds","type":"error"},{"inputs":[],"name":"InvalidAmount","type":"error"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"InvalidFunctionSelector","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"InvalidMilestoneIndex","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"required","type":"uint256"}],"name":"InvalidNumberOfMilestones","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"InvalidTarget","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAlreadyApproved","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAlreadyClaimed","type":"error"},{"inputs":[{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAmountZero","type":"error"},{"inputs":[{"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"}],"name":"MilestoneClaimedAmountExceedsTotalAmount","type":"error"},{"inputs":[],"name":"MilestoneDetailsMetadataURIEmpty","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneNotApprovedByAdmin","type":"error"},{"inputs":[],"name":"MilestoneProposerZeroAddress","type":"error"},{"inputs":[{"internalType":"enum IGrantsManagerV2.MilestoneState","name":"status","type":"uint8"}],"name":"MilestoneStateNotPending","type":"error"},{"inputs":[],"name":"MilestoneTotalAmountZero","type":"error"},{"inputs":[],"name":"NotAuthorized","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"PreviousMilestoneNotApproved","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalNotExecuted","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"newGrantsReceiver","type":"address"}],"name":"GrantsReceiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"milestoneIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MilestoneClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"string","name":"newMilestoneMetadataURI","type":"string"}],"name":"MilestoneMetadataURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MilestoneRejectedAndFundsReturnedToTreasury","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneValidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":true,"internalType":"address","name":"grantsReceiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"},{"indexed":false,"internalType":"string","name":"metadataURI","type":"string"}],"name":"MilestonesCreated","type":"event"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"name":"approveMilestoneWithReason","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"approveMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"claimMilestone","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"}],"name":"createMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getB3trContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGovernorContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getGrantProposal","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManagerV2.Milestone[]","name":"milestones","type":"tuple[]"},{"internalType":"string","name":"metadataURI","type":"string"}],"internalType":"struct IGrantsManagerV2.GrantProposal","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getGrantsReceiverAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"getMilestone","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManagerV2.Milestone","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMilestoneMetadataURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMilestones","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManagerV2.Milestone[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinimumMilestoneCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"milestoneId","type":"uint256"}],"name":"getTotalAmountForMilestones","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasuryContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"grantState","outputs":[{"internalType":"enum IGrantsManagerV2.GrantState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"isClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantCompleted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantInDevelopment","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantRejected","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"milestoneState","outputs":[{"internalType":"enum IGrantsManagerV2.MilestoneState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"rejectMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3tr","type":"address"}],"name":"setB3trContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governor","type":"address"}],"name":"setGovernorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minimumMilestoneCount","type":"uint256"}],"name":"setMinimumMilestoneCount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasuryContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"newGrantsReceiver","type":"address"}],"name":"updateGrantsReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"newMilestoneMetadataURI","type":"string"}],"name":"updateMilestoneMetadataURI","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approveMilestoneWithReason(uint256,uint256,string)":"b3396778","approveMilestones(uint256,uint256)":"767b1602","claimMilestone(uint256,uint256)":"c266aef7","createMilestones(string,uint256,address,address,bytes[])":"808860a5","getB3trContract()":"c4ec8f98","getGovernorContract()":"0019cce6","getGrantProposal(uint256)":"24ad94cd","getGrantsReceiverAddress(uint256)":"da104fac","getMilestone(uint256,uint256)":"8ed9895c","getMilestoneMetadataURI(uint256)":"cff28c70","getMilestones(uint256)":"42c549c0","getMinimumMilestoneCount()":"01294764","getTotalAmountForMilestones(uint256)":"5ade3874","getTreasuryContract()":"26c74fc3","grantState(uint256)":"bfda4e7c","isClaimable(uint256,uint256)":"c1a45a6a","isGrantCompleted(uint256)":"c2249389","isGrantInDevelopment(uint256)":"9b154087","isGrantRejected(uint256)":"7da17bf3","milestoneState(uint256,uint256)":"e9af5d1b","rejectMilestones(uint256)":"f23e227b","setB3trContract(address)":"54b90b7b","setGovernorContract(address)":"06c49822","setMinimumMilestoneCount(uint256)":"b2a2eef9","setTreasuryContract(address)":"1ed65110","updateGrantsReceiver(uint256,address)":"e03d759b","updateMilestoneMetadataURI(uint256,string)":"c42433b4"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"CallerIsNotTheGrantReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantAlreadyCompleted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantAlreadyRejected\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"availableFunds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredFunds\",\"type\":\"uint256\"}],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"InvalidFunctionSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"InvalidMilestoneIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"InvalidNumberOfMilestones\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"InvalidTarget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAlreadyApproved\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAmountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"MilestoneClaimedAmountExceedsTotalAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneDetailsMetadataURIEmpty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneNotApprovedByAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneProposerZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum IGrantsManagerV2.MilestoneState\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"MilestoneStateNotPending\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneTotalAmountZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAuthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"PreviousMilestoneNotApproved\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotExecuted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newGrantsReceiver\",\"type\":\"address\"}],\"name\":\"GrantsReceiverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MilestoneClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newMilestoneMetadataURI\",\"type\":\"string\"}],\"name\":\"MilestoneMetadataURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MilestoneRejectedAndFundsReturnedToTreasury\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneValidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"name\":\"MilestonesCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"approveMilestoneWithReason\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"approveMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"claimMilestone\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"}],\"name\":\"createMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getB3trContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGovernorContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getGrantProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManagerV2.Milestone[]\",\"name\":\"milestones\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManagerV2.GrantProposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getGrantsReceiverAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"getMilestone\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManagerV2.Milestone\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMilestoneMetadataURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMilestones\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManagerV2.Milestone[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinimumMilestoneCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"milestoneId\",\"type\":\"uint256\"}],\"name\":\"getTotalAmountForMilestones\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasuryContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"grantState\",\"outputs\":[{\"internalType\":\"enum IGrantsManagerV2.GrantState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"isClaimable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantCompleted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantInDevelopment\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantRejected\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"milestoneState\",\"outputs\":[{\"internalType\":\"enum IGrantsManagerV2.MilestoneState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"rejectMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3tr\",\"type\":\"address\"}],\"name\":\"setB3trContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_governor\",\"type\":\"address\"}],\"name\":\"setGovernorContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumMilestoneCount\",\"type\":\"uint256\"}],\"name\":\"setMinimumMilestoneCount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"setTreasuryContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"newGrantsReceiver\",\"type\":\"address\"}],\"name\":\"updateGrantsReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"newMilestoneMetadataURI\",\"type\":\"string\"}],\"name\":\"updateMilestoneMetadataURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract handles the execution of approved grant proposals and manages milestone-based funding\",\"errors\":{\"CallerIsNotTheGrantReceiver(address,address)\":[{\"params\":{\"caller\":\"The address of the caller\",\"recipient\":\"The address of the recipient\"}}],\"GrantAlreadyCompleted(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"GrantAlreadyRejected(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"InsufficientFunds(uint256,uint256)\":[{\"params\":{\"availableFunds\":\"The available funds\",\"requiredFunds\":\"The required funds\"}}],\"InvalidFunctionSelector(bytes4)\":[{\"params\":{\"selector\":\"The invalid selector\"}}],\"InvalidMilestoneIndex(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"InvalidNumberOfMilestones(uint256,uint256)\":[{\"params\":{\"provided\":\"The number of milestones provided\",\"required\":\"The minimum number of milestones required\"}}],\"InvalidTarget(address)\":[{\"params\":{\"target\":\"The invalid target\"}}],\"MilestoneAlreadyApproved(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneAlreadyClaimed(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneAmountZero(uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone with zero amount\"}}],\"MilestoneClaimedAmountExceedsTotalAmount(uint256,uint256)\":[{\"params\":{\"claimedAmount\":\"The amount claimed\",\"totalAmount\":\"The total amount available\"}}],\"MilestoneNotApprovedByAdmin(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneStateNotPending(uint8)\":[{\"params\":{\"status\":\"The current status of the milestone\"}}],\"PreviousMilestoneNotApproved(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"ProposalNotExecuted(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}]},\"events\":{\"GrantCanceled(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"}},\"GrantsReceiverUpdated(uint256,address)\":{\"params\":{\"newGrantsReceiver\":\"The new grants receiver address\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneClaimed(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the milestone\",\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneMetadataURIUpdated(uint256,string)\":{\"params\":{\"newMilestoneMetadataURI\":\"The new metadata URI\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneRejectedAndFundsReturnedToTreasury(uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneValidated(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestonesCreated(uint256,address,address,uint256,string)\":{\"params\":{\"grantsReceiver\":\"The address of the grants receiver\",\"metadataURI\":\"The IPFS hash containing milestone details\",\"proposalId\":\"The ID of the proposal\",\"proposer\":\"The address of the proposer\",\"totalAmount\":\"The total amount of all milestones\"}}},\"kind\":\"dev\",\"methods\":{\"approveMilestoneWithReason(uint256,uint256,string)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\",\"reason\":\"The reason for approving the milestone\"}},\"approveMilestones(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"claimMilestone(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"createMilestones(string,uint256,address,address,bytes[])\":{\"params\":{\"calldatas\":\"The calldatas of the milestones\",\"grantsReceiver\":\"The address of the grants receiver\",\"metadataURI\":\"The IPFS hash containing the milestones metadata\",\"proposalId\":\"The ID of the proposal\",\"proposer\":\"The address of the proposer\"}},\"getB3trContract()\":{\"returns\":{\"_0\":\"The address of the b3tr contract\"}},\"getGovernorContract()\":{\"returns\":{\"_0\":\"The address of the governor contract\"}},\"getGrantProposal(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"GrantProposal struct created on proposeGrant\"}},\"getGrantsReceiverAddress(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"The address of the grants receiver\"}},\"getMilestone(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"Milestone The milestone\"}},\"getMilestoneMetadataURI(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"The milestone  metadata URI for the proposal\"}},\"getMilestones(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"Milestone[] The milestones for the grant proposal\"}},\"getMinimumMilestoneCount()\":{\"returns\":{\"_0\":\"The minimum milestone count\"}},\"getTotalAmountForMilestones(uint256)\":{\"params\":{\"milestoneId\":\"The ID of the milestone\"},\"returns\":{\"_0\":\"The total amount for the milestones\"}},\"getTreasuryContract()\":{\"returns\":{\"_0\":\"The address of the treasury contract\"}},\"grantState(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"GrantState The state of the proposal\"}},\"isClaimable(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if the milestone is claimable, false otherwise\"}},\"isGrantCompleted(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is in development, false otherwise\"}},\"isGrantInDevelopment(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is in development, false otherwise\"}},\"isGrantRejected(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if one of the milestones is rejected, false otherwise\"}},\"milestoneState(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"MilestoneState The state of the milestone\"}},\"rejectMilestones(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"}},\"setB3trContract(address)\":{\"params\":{\"_b3tr\":\"The address of the b3tr contract\"}},\"setGovernorContract(address)\":{\"params\":{\"_governor\":\"The address of the governor contract\"}},\"setMinimumMilestoneCount(uint256)\":{\"params\":{\"minimumMilestoneCount\":\"The minimum milestone count\"}},\"setTreasuryContract(address)\":{\"params\":{\"_treasury\":\"The address of the treasury contract\"}},\"updateGrantsReceiver(uint256,address)\":{\"params\":{\"newGrantsReceiver\":\"The new grants receiver address\",\"proposalId\":\"The ID of the proposal\"}},\"updateMilestoneMetadataURI(uint256,string)\":{\"params\":{\"newMilestoneMetadataURI\":\"The milestone description metadata URI to set\",\"proposalId\":\"The ID of the proposal\"}}},\"title\":\"IGrantsManagerV2\",\"version\":1},\"userdoc\":{\"errors\":{\"CallerIsNotTheGrantReceiver(address,address)\":[{\"notice\":\"Error thrown when caller is not the grant receiver\"}],\"GrantAlreadyCompleted(uint256)\":[{\"notice\":\"Error thrown when grant is already completed\"}],\"GrantAlreadyRejected(uint256)\":[{\"notice\":\"Error thrown when grant is already rejected\"}],\"InsufficientFunds(uint256,uint256)\":[{\"notice\":\"Error thrown when funds are insufficient\"}],\"InvalidAmount()\":[{\"notice\":\"Error thrown when a milestone amount is invalid\"}],\"InvalidFunctionSelector(bytes4)\":[{\"notice\":\"Error thrown when a function selector is invalid\"}],\"InvalidMilestoneIndex(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone index is invalid\"}],\"InvalidNumberOfMilestones(uint256,uint256)\":[{\"notice\":\"Error thrown when number of milestones is less than minimum required\"}],\"InvalidTarget(address)\":[{\"notice\":\"Error thrown when a target is invalid\"}],\"MilestoneAlreadyApproved(uint256,uint256)\":[{\"notice\":\"Error thrown when a milestone is already validated\"}],\"MilestoneAlreadyClaimed(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone is already claimed\"}],\"MilestoneAmountZero(uint256)\":[{\"notice\":\"Error thrown when milestone amount is zero\"}],\"MilestoneClaimedAmountExceedsTotalAmount(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone claimed amount exceeds total amount\"}],\"MilestoneDetailsMetadataURIEmpty()\":[{\"notice\":\"Error thrown when milestone details metadata URI is empty\"}],\"MilestoneNotApprovedByAdmin(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone is not validated\"}],\"MilestoneProposerZeroAddress()\":[{\"notice\":\"Error thrown when milestone proposer is zero address\"}],\"MilestoneStateNotPending(uint8)\":[{\"notice\":\"Error thrown when milestone state is not pending\"}],\"MilestoneTotalAmountZero()\":[{\"notice\":\"Error thrown when milestone total amount is zero\"}],\"NotAuthorized()\":[{\"notice\":\"Error thrown when caller is not an admin or grants manager\"}],\"PreviousMilestoneNotApproved(uint256,uint256)\":[{\"notice\":\"Error thrown when previous milestone is not validated\"}],\"ProposalNotExecuted(uint256)\":[{\"notice\":\"Error thrown when proposal is not executed\"}],\"TransferFailed()\":[{\"notice\":\"Error thrown when transfer fails\"}]},\"events\":{\"GrantCanceled(uint256)\":{\"notice\":\"Emitted when a grant is canceled\"},\"GrantsReceiverUpdated(uint256,address)\":{\"notice\":\"Emitted when the grants receiver address is updated\"},\"MilestoneClaimed(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a milestone is claimed\"},\"MilestoneMetadataURIUpdated(uint256,string)\":{\"notice\":\"Emitted when a milestone metadata URI is updated\"},\"MilestoneRejectedAndFundsReturnedToTreasury(uint256,uint256)\":{\"notice\":\"Emitted when a milestone is rejected\"},\"MilestoneValidated(uint256,uint256)\":{\"notice\":\"Emitted when a milestone is validated ( ready to be claimed by the receiver )\"},\"MilestonesCreated(uint256,address,address,uint256,string)\":{\"notice\":\"Emitted when milestones are created for a proposal\"}},\"kind\":\"user\",\"methods\":{\"approveMilestoneWithReason(uint256,uint256,string)\":{\"notice\":\"Approves a milestone with a reasonThis is used to approve a mi\"},\"approveMilestones(uint256,uint256)\":{\"notice\":\"Approves a milestone\"},\"claimMilestone(uint256,uint256)\":{\"notice\":\"Claims milestones\"},\"createMilestones(string,uint256,address,address,bytes[])\":{\"notice\":\"Creates milestones for a proposal\"},\"getB3trContract()\":{\"notice\":\"Returns the b3tr contract\"},\"getGovernorContract()\":{\"notice\":\"Returns the governor contract\"},\"getGrantProposal(uint256)\":{\"notice\":\"Returns the milestones for a proposal\"},\"getGrantsReceiverAddress(uint256)\":{\"notice\":\"Returns the grants receiver address\"},\"getMilestone(uint256,uint256)\":{\"notice\":\"Returns a milestone for a proposal\"},\"getMilestoneMetadataURI(uint256)\":{\"notice\":\"Returns the milestone  metadata URI for a proposal\"},\"getMilestones(uint256)\":{\"notice\":\"Returns the milestones for a proposal\"},\"getMinimumMilestoneCount()\":{\"notice\":\"Returns the minimum milestone count\"},\"getTotalAmountForMilestones(uint256)\":{\"notice\":\"Returns the total amount for milestones\"},\"getTreasuryContract()\":{\"notice\":\"Returns the treasury contract\"},\"grantState(uint256)\":{\"notice\":\"Returns the state of a proposal\"},\"isClaimable(uint256,uint256)\":{\"notice\":\"Returns if a milestone is claimable\"},\"isGrantCompleted(uint256)\":{\"notice\":\"Returns if a proposal is in development\"},\"isGrantInDevelopment(uint256)\":{\"notice\":\"Returns if a proposal is in development\"},\"isGrantRejected(uint256)\":{\"notice\":\"Returns if a proposal is rejected\"},\"milestoneState(uint256,uint256)\":{\"notice\":\"Returns the state of a milestone\"},\"rejectMilestones(uint256)\":{\"notice\":\"Rejects a milestone\"},\"setB3trContract(address)\":{\"notice\":\"Sets the b3tr contract\"},\"setGovernorContract(address)\":{\"notice\":\"Sets the governor contract\"},\"setMinimumMilestoneCount(uint256)\":{\"notice\":\"Sets the minimum milestone count\"},\"setTreasuryContract(address)\":{\"notice\":\"Sets the treasury contract\"},\"updateGrantsReceiver(uint256,address)\":{\"notice\":\"Updates the grants receiver address\"},\"updateMilestoneMetadataURI(uint256,string)\":{\"notice\":\"Updates the milestone description metadata URI for a proposal\"}},\"notice\":\"Interface for the GrantsManager V2 contract that manages grant execution and milestone creation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V2/interfaces/IGrantsManagerV2.sol\":\"IGrantsManagerV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/deprecated/V2/interfaces/IGrantsManagerV2.sol\":{\"keccak256\":\"0x9065c34266fc41b88195141c662fbfc42c89ba5782b66365da39beeaff6b9ac7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38389d4286270ad35abc97db820acb79bc6ac6413064fdf7fb7445571bbd9083\",\"dweb:/ipfs/QmfM5MdYKGMQvDSLaog2FoqJCkcgWVwowLNiUkEDxrDgiy\"]}},\"version\":1}"}},"contracts/deprecated/V2/interfaces/INodeManagementV2.sol":{"INodeManagementV2":{"abi":[{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"address","name":"delegatee","type":"address"}],"name":"NodeManagementNodeAlreadyDelegated","type":"error"},{"inputs":[],"name":"NodeManagementNodeNotDelegated","type":"error"},{"inputs":[],"name":"NodeManagementNonNodeHolder","type":"error"},{"inputs":[],"name":"NodeManagementSelfDelegation","type":"error"},{"inputs":[],"name":"NodeManagementZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeId","type":"uint256"},{"indexed":true,"internalType":"address","name":"delegatee","type":"address"},{"indexed":false,"internalType":"bool","name":"delegated","type":"bool"}],"name":"NodeDelegated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VechainNodeContractSet","type":"event"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegateNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getDirectNodeOwnership","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getNodeIds","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevel","outputs":[{"internalType":"enum VechainNodesDataTypes.NodeStrengthLevel","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUsersNodeLevels","outputs":[{"internalType":"enum VechainNodesDataTypes.NodeStrengthLevel[]","name":"","type":"uint8[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"vechainNodesContract","type":"address"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"isNodeDelegated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isNodeDelegator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isNodeHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"isNodeManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeNodeDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"vechainNodesContract","type":"address"}],"name":"setVechainNodesContract","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"delegateNode(address)":"57409f6a","getDirectNodeOwnership(address)":"97a4f3c4","getNodeIds(address)":"2e4e2531","getNodeLevel(uint256)":"1ceae42f","getNodeManager(uint256)":"9e2c2f3e","getUsersNodeLevels(address)":"d466d80b","initialize(address,address,address)":"c0c53b8b","isNodeDelegated(uint256)":"53fff87c","isNodeDelegator(address)":"4f444d25","isNodeHolder(address)":"beba8408","isNodeManager(address,uint256)":"3258cc2f","removeNodeDelegation()":"09fe15cd","setVechainNodesContract(address)":"0df9dff8"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"NodeManagementNodeAlreadyDelegated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementNodeNotDelegated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementNonNodeHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementSelfDelegation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"delegated\",\"type\":\"bool\"}],\"name\":\"NodeDelegated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VechainNodeContractSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegateNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getDirectNodeOwnership\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getNodeIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevel\",\"outputs\":[{\"internalType\":\"enum VechainNodesDataTypes.NodeStrengthLevel\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUsersNodeLevels\",\"outputs\":[{\"internalType\":\"enum VechainNodesDataTypes.NodeStrengthLevel[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vechainNodesContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"isNodeDelegated\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isNodeDelegator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isNodeHolder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"isNodeManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removeNodeDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vechainNodesContract\",\"type\":\"address\"}],\"name\":\"setVechainNodesContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"NodeManagementNodeAlreadyDelegated(uint256,address)\":[{\"params\":{\"delegatee\":\"The address of the current delegatee.\",\"nodeId\":\"The ID of the node that is already delegated.\"}}]},\"events\":{\"NodeDelegated(uint256,address,bool)\":{\"params\":{\"delegated\":\"A boolean indicating whether the node is delegated (true) or the delegation is removed (false).\",\"delegatee\":\"The address to which the node is delegated or from which the delegation is removed.\",\"nodeId\":\"The ID of the node being delegated or having its delegation removed.\"}},\"VechainNodeContractSet(address,address)\":{\"details\":\"Emit when the vechain node contract address is set or updated\"}},\"kind\":\"dev\",\"methods\":{\"delegateNode(address)\":{\"params\":{\"delegatee\":\"The address to delegate the node to.\"}},\"getDirectNodeOwnership(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"uint256 The ID of the owned node (0 if none).\"}},\"getNodeIds(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"uint256 The node ID associated with the user.\"}},\"getNodeLevel(uint256)\":{\"params\":{\"nodeId\":\"The token ID of the endorsing node.\"},\"returns\":{\"_0\":\"VechainNodesDataTypes.NodeStrengthLevel The node level of the specified token ID.\"}},\"getNodeManager(uint256)\":{\"params\":{\"nodeId\":\"The ID of the node for which the manager address is being retrieved.\"},\"returns\":{\"_0\":\"address The address of the manager of the specified node.\"}},\"getUsersNodeLevels(address)\":{\"params\":{\"user\":\"The address of the user managing the node.\"},\"returns\":{\"_0\":\"VechainNodesDataTypes.NodeStrengthLevel The node level of the node managed by the user.\"}},\"initialize(address,address,address)\":{\"params\":{\"admin\":\"The address to be granted the default admin role.\",\"upgrader\":\"The address to be granted the upgrader role.\",\"vechainNodesContract\":\"The address of the VeChain Nodes contract.\"}},\"isNodeDelegated(uint256)\":{\"params\":{\"nodeId\":\"The node ID to check for.\"},\"returns\":{\"_0\":\"bool True if the node is delegated.\"}},\"isNodeDelegator(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"bool True if the user is a delegator.\"}},\"isNodeHolder(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"bool True if the user is a node holder.\"}},\"isNodeManager(address,uint256)\":{\"params\":{\"nodeId\":\"The node ID to check for.\",\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"bool True if the user is holding the node ID and it is a valid node.\"}},\"setVechainNodesContract(address)\":{\"params\":{\"vechainNodesContract\":\"The new address of the VeChain Nodes contract.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"NodeManagementNodeAlreadyDelegated(uint256,address)\":[{\"notice\":\"Error indicating that the node is already delegated to another user.\"}],\"NodeManagementNodeNotDelegated()\":[{\"notice\":\"Error indicating that the node is not currently delegated.\"}],\"NodeManagementNonNodeHolder()\":[{\"notice\":\"Error indicating that the caller does not own a node.\"}],\"NodeManagementSelfDelegation()\":[{\"notice\":\"Error indicating that an address is being set to the zero address.\"}],\"NodeManagementZeroAddress()\":[{\"notice\":\"Error indicating that an address is being set to the zero address.\"}]},\"events\":{\"NodeDelegated(uint256,address,bool)\":{\"notice\":\"Event emitted when a node is delegated or the delegation is removed.\"}},\"kind\":\"user\",\"methods\":{\"delegateNode(address)\":{\"notice\":\"Delegate a node to another address.\"},\"getDirectNodeOwnership(address)\":{\"notice\":\"Check if a user directly owns a node (not delegated).\"},\"getNodeIds(address)\":{\"notice\":\"Retrieve the node ID associated with a user, either through direct ownership or delegation.\"},\"getNodeLevel(uint256)\":{\"notice\":\"Retrieves the node level of a given node ID.\"},\"getNodeManager(uint256)\":{\"notice\":\"Retrieves the address of the user managing the node ID endorsement either through ownership or delegation.\"},\"getUsersNodeLevels(address)\":{\"notice\":\"Retrieves the node level of a user's managed node.\"},\"initialize(address,address,address)\":{\"notice\":\"Initialize the contract with the specified VeChain Nodes contract, admin, and upgrader addresses.\"},\"isNodeDelegated(uint256)\":{\"notice\":\"Check if a node is delegated.\"},\"isNodeDelegator(address)\":{\"notice\":\"Check if a user is a delegator.\"},\"isNodeHolder(address)\":{\"notice\":\"Check if a user is a node holder (either directly or through delegation).\"},\"isNodeManager(address,uint256)\":{\"notice\":\"Check if a user is holding a specific node ID either directly or through delegation.\"},\"removeNodeDelegation()\":{\"notice\":\"Remove the delegation of a node.\"},\"setVechainNodesContract(address)\":{\"notice\":\"Set the address of the VeChain Nodes contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V2/interfaces/INodeManagementV2.sol\":\"INodeManagementV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/deprecated/V2/interfaces/INodeManagementV2.sol\":{\"keccak256\":\"0x2517ad75a09debcadb4634d85d25961f5b7ca1004b2557bce483c72746a9ad70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b947705d7d9b3d092fb77e066f1c175e58d4ae8d8e935eee1bfed7f6bb095bc5\",\"dweb:/ipfs/QmeKUUAg83YLiJtC9SRzJ8MzaBUR3155jYNkP2Sbq5Qnpz\"]},\"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0x128b934b2b6c3e4530f36e8bd2b08f31cdc6b1248a5bc47c765175c1666109bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dc299d66d1cfb0658ebf2c5fef3852a86a437881a0986070cbc6da7af772bd3\",\"dweb:/ipfs/Qmd3SEURkuqCAopHKGNhnwpvt4ePasBMex6gLuNigogw1Y\"]}},\"version\":1}"}},"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol":{"VechainNodesDataTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220811fa1cc67284bcb90422f035bc90ba6b9123d6bcd4efb4fdf5801798c49ae3964736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP2 0x1F LOG1 0xCC PUSH8 0x284BCB90422F035B 0xC9 SIGNEXTEND 0xA6 0xB9 SLT RETURNDATASIZE PUSH12 0xCD4EFB4FDF5801798C49AE39 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"57:489:66:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:489:66;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220811fa1cc67284bcb90422f035bc90ba6b9123d6bcd4efb4fdf5801798c49ae3964736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP2 0x1F LOG1 0xCC PUSH8 0x284BCB90422F035B 0xC9 SIGNEXTEND 0xA6 0xB9 SLT RETURNDATASIZE PUSH12 0xCD4EFB4FDF5801798C49AE39 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"57:489:66:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol\":\"VechainNodesDataTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0x128b934b2b6c3e4530f36e8bd2b08f31cdc6b1248a5bc47c765175c1666109bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dc299d66d1cfb0658ebf2c5fef3852a86a437881a0986070cbc6da7af772bd3\",\"dweb:/ipfs/Qmd3SEURkuqCAopHKGNhnwpvt4ePasBMex6gLuNigogw1Y\"]}},\"version\":1}"}},"contracts/deprecated/V3/GalaxyMemberV3.sol":{"GalaxyMemberV3":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"ERC721EnumerableForbiddenBatchMint","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"ERC721OutOfBoundsIndex","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"B3TRtoUpgradeToLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"B3trGovernorAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newBaseURI","type":"string"},{"indexed":true,"internalType":"string","name":"oldBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"MaxLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PublicMintingPaused","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":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Selected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsGovernorAddressUpdated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NODES_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"attachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"detachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRdonated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRtoUpgrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getB3TRtoUpgradeToLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getIdAttachedToNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"nodeTokenId","type":"uint256"}],"name":"getLevelAfterAttachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getLevelAfterDetachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getNodeIdAttached","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevelOf","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"}],"name":"getNodeToFreeLevel","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":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint48","name":"blockNumber","type":"uint48"}],"name":"getSelectedTokenIdAtBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV3.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getTokenInfoByTokenId","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV3.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"name":"getTokensInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV3.TokenInfo[]","name":"","type":"tuple[]"}],"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":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"pauser","type":"address"},{"internalType":"address","name":"minter","type":"address"},{"internalType":"address","name":"contractsAddressManager","type":"address"},{"internalType":"uint256","name":"maxLevel","type":"uint256"},{"internalType":"string","name":"baseTokenURI","type":"string"},{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"},{"internalType":"address","name":"b3tr","type":"address"},{"internalType":"address","name":"treasury","type":"address"}],"internalType":"struct GalaxyMemberV3.InitializationData","name":"data","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vechainNodes","type":"address"},{"internalType":"address","name":"_nodesMangaement","type":"address"},{"internalType":"address","name":"_nodesAdmin","type":"address"},{"internalType":"uint256[]","name":"_nodeFreeLevels","type":"uint256[]"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"levelOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"participatedInGovernance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"select","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"selectFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"setB3TRtoUpgradeToLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3trGovernor","type":"address"}],"name":"setB3trGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setIsPublicMintingPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setMaxLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setNodeToFreeUpgradeLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vechainNodes","type":"address"}],"name":"setVechainNodes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xAllocationsGovernor","type":"address"}],"name":"setXAllocationsGovernorAddress","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"upgrade","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":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"xAllocationsGovernor","outputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_32947":{"entryPoint":null,"id":32947,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615ea062000104600039600081816138dd015281816139060152613a4e0152615ea06000f3fe60806040526004361061034b5760003560e01c80621db0dd1461035057806301ffc9a71461037257806306fdde03146103a7578063081812fc146103c9578063095ea7b3146103f657806318160ddd1461041657806323b872dd14610439578063248a9ca3146104595780632b42df38146104795780632f2ff15d146104995780632f745c59146104b9578063344f1ba5146104d957806336568abe146104f95780633af03ea8146105195780633c60f55d146105395780633d6dbee8146105595780633f4ba83a1461057b5780633ff453af1461059057806342842e0e146105c257806342966c68146105e257806345977d03146106025780634a6565e1146106225780634bf5d7e9146106425780634f1ef286146106885780634f6ccce71461069b57806351c438d1146106bb57806352d1902d146106db57806354fd4d50146106f057806355f804b31461071a578063582a486a1461073a5780635b5da5141461074f5780635b70ea9f1461076f5780635c975abb146107845780635ecf68e9146107995780635f4e42ca146107ae5780635ffaa59a146107ce57806361d027b3146107ee5780636352211e14610803578063643ce418146108235780636c0360eb146108505780636d5e30321461086557806370a08231146108855780637893d736146108a5578063839a19d9146108ba5780638456cb59146108da578063851f738e146108ef578063865c380b1461091c578063883711101461093c5780638c5b76fb1461095c57806391d148541461097c57806391ddadf41461099c578063952f2133146109c8578063958fc97d146109ea57806395d89b4114610a0a578063a1843bd014610a1f578063a217fddf14610a3f578063a22cb46514610a54578063a49062d414610a74578063a51d2e0b14610a89578063aa3491eb14610aa9578063ad3cb1cc14610ac9578063b1ccbd2c14610afa578063b88d4fde14610b1a578063c190eb3a14610b3a578063c87b56dd14610b5a578063cc421d0714610b7a578063d206885d14610b9a578063d539139314610bba578063d547741f14610bdc578063ddd8634d14610bfc578063de4983a214610c1c578063e617e49f14610c3c578063e63ab1e914610c5c578063e985e9c514610c7e578063f72c0d8b14610c9e575b600080fd5b34801561035c57600080fd5b5061037061036b366004614ed7565b610cc0565b005b34801561037e57600080fd5b5061039261038d366004614f19565b610e1f565b60405190151581526020015b60405180910390f35b3480156103b357600080fd5b506103bc610e30565b60405161039e9190614f86565b3480156103d557600080fd5b506103e96103e4366004614f99565b610ed1565b60405161039e9190614fb2565b34801561040257600080fd5b50610370610411366004614feb565b610ee6565b34801561042257600080fd5b5061042b610ef5565b60405190815260200161039e565b34801561044557600080fd5b50610370610454366004615009565b610f0a565b34801561046557600080fd5b5061042b610474366004614f99565b610f95565b34801561048557600080fd5b5061042b610494366004614f99565b610fb5565b3480156104a557600080fd5b506103706104b436600461504a565b610fd5565b3480156104c557600080fd5b5061042b6104d4366004614feb565b610ff1565b3480156104e557600080fd5b506103706104f4366004614f99565b611053565b34801561050557600080fd5b5061037061051436600461504a565b6111bf565b34801561052557600080fd5b5061037061053436600461507a565b6111f7565b34801561054557600080fd5b5061042b610554366004615097565b6112f5565b34801561056557600080fd5b5061042b600080516020615e2b83398151915281565b34801561058757600080fd5b50610370611338565b34801561059c57600080fd5b506105b06105ab366004614f99565b61135b565b60405160ff909116815260200161039e565b3480156105ce57600080fd5b506103706105dd366004615009565b6113ee565b3480156105ee57600080fd5b506103706105fd366004614f99565b611409565b34801561060e57600080fd5b5061037061061d366004614f99565b611442565b34801561062e57600080fd5b5061037061063d3660046150d0565b611858565b34801561064e57600080fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526103bc565b6103706106963660046151d0565b611b30565b3480156106a757600080fd5b5061042b6106b6366004614f99565b611b4b565b3480156106c757600080fd5b5061042b6106d6366004614f99565b611bac565b3480156106e757600080fd5b5061042b611bca565b3480156106fc57600080fd5b506040805180820190915260018152603360f81b60208201526103bc565b34801561072657600080fd5b5061037061073536600461521f565b611be7565b34801561074657600080fd5b506103e9611c84565b34801561075b57600080fd5b5061037061076a366004615261565b611ca2565b34801561077b57600080fd5b50610370611d0a565b34801561079057600080fd5b50610392611df9565b3480156107a557600080fd5b506103e9611e0e565b3480156107ba57600080fd5b506103706107c93660046152f2565b611e29565b3480156107da57600080fd5b506103706107e936600461507a565b612358565b3480156107fa57600080fd5b506103e96123cc565b34801561080f57600080fd5b506103e961081e366004614f99565b6123ea565b34801561082f57600080fd5b5061084361083e366004614f99565b6123f5565b60405161039e9190615497565b34801561085c57600080fd5b506103bc6124a5565b34801561087157600080fd5b5061042b610880366004614f99565b6124b4565b34801561089157600080fd5b5061042b6108a036600461507a565b6124d7565b3480156108b157600080fd5b506103e961252f565b3480156108c657600080fd5b506103706108d5366004614f99565b61254d565b3480156108e657600080fd5b50610370612557565b3480156108fb57600080fd5b5061090f61090a3660046154aa565b612577565b60405161039e91906154df565b34801561092857600080fd5b5061042b610937366004614f99565b61275d565b34801561094857600080fd5b506103706109573660046150d0565b61277b565b34801561096857600080fd5b5061039261097736600461507a565b612a02565b34801561098857600080fd5b5061039261099736600461504a565b612be6565b3480156109a857600080fd5b506109b1612c1c565b60405165ffffffffffff909116815260200161039e565b3480156109d457600080fd5b5061042b600080516020615e0b83398151915281565b3480156109f657600080fd5b5061042b610a05366004614f99565b612c26565b348015610a1657600080fd5b506103bc612c44565b348015610a2b57600080fd5b5061042b610a3a3660046150d0565b612c61565b348015610a4b57600080fd5b5061042b600081565b348015610a6057600080fd5b50610370610a6f366004615541565b612c6e565b348015610a8057600080fd5b5061042b612c79565b348015610a9557600080fd5b5061042b610aa4366004614f99565b612c8e565b348015610ab557600080fd5b50610370610ac4366004614feb565b612d09565b348015610ad557600080fd5b506103bc604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610b0657600080fd5b50610370610b1536600461556f565b612d1e565b348015610b2657600080fd5b50610370610b353660046155a3565b612e0e565b348015610b4657600080fd5b50610370610b5536600461560e565b612e25565b348015610b6657600080fd5b506103bc610b75366004614f99565b613104565b348015610b8657600080fd5b5061042b610b95366004614f99565b613195565b348015610ba657600080fd5b5061042b610bb536600461507a565b6131ab565b348015610bc657600080fd5b5061042b600080516020615deb83398151915281565b348015610be857600080fd5b50610370610bf736600461504a565b6131ec565b348015610c0857600080fd5b50610370610c1736600461507a565b613208565b348015610c2857600080fd5b50610843610c3736600461507a565b613306565b348015610c4857600080fd5b5061042b610c57366004615676565b613324565b348015610c6857600080fd5b5061042b600080516020615dcb83398151915281565b348015610c8a57600080fd5b50610392610c99366004615693565b61334a565b348015610caa57600080fd5b5061042b600080516020615d6b83398151915281565b600080516020615e2b833981519152610cd881613389565b6001821015610d2c5760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610d805760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610d23565b6000610d8a613393565b90508060060154831115610e045760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610d23565b60ff9093166000908152600f90930160205250604090912055565b6000610e2a826133b7565b92915050565b60606000610e3c6133dc565b9050806000018054610e4d906156c1565b80601f0160208091040260200160405190810160405280929190818152602001828054610e79906156c1565b8015610ec65780601f10610e9b57610100808354040283529160200191610ec6565b820191906000526020600020905b815481529060010190602001808311610ea957829003601f168201915b505050505091505090565b6000610edc82613400565b50610e2a82613438565b610ef1828233613461565b5050565b600080610f0061346e565b6002015492915050565b6001600160a01b038216610f34576000604051633250574960e11b8152600401610d239190614fb2565b6000610f41838333613492565b9050836001600160a01b0316816001600160a01b031614610f8f576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610d23565b50505050565b600080610fa061360d565b60009384526020525050604090206001015490565b600080610fc0613393565b60009384526008016020525050604090205490565b610fde82610f95565b610fe781613389565b610f8f8383613631565b600080610ffc61346e565b9050611007846124d7565b831061102a57838360405163295f44f760e21b8152600401610d239291906156fb565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b600061105e81613389565b6000611068613393565b9050806006015483116110dd5760405162461bcd60e51b81526020600482015260436024820152600080516020615d0b83398151915260448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610d23565b60025b8381116111755760008181526008830160205260409020546111635760405162461bcd60e51b81526020600482015260426024820152600080516020615d2b83398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610d23565b8061116d8161572a565b9150506110e0565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b03811633146111e85760405163334bd91960e11b815260040160405180910390fd5b6111f282826136d2565b505050565b600080516020615e0b83398151915261120f81613389565b6001600160a01b03821661128b5760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610d23565b6000611295613393565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b600080611300613393565b6001600160a01b03851660009081526012820160205260409020909150611327908461374a565b6001600160d01b0316949350505050565b600080516020615dcb83398151915261135081613389565b611358613800565b50565b600080611366613393565b600b81015460405163295d33a960e21b8152600481018690529192506000916101009091046001600160a01b03169063a574cea49060240160e060405180830381865afa1580156113bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113df919061575a565b50939998505050505050505050565b6111f283838360405180602001604052806000815250612e0e565b33611413826123ea565b6001600160a01b0316146114395760405162461bcd60e51b8152600401610d23906157eb565b61135881613857565b61144a613863565b611452613899565b3361145c826123ea565b6001600160a01b0316146114ce5760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610d23565b60006114d8613393565b905060006114e5836124b4565b90506114ef612c79565b81106115525760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610d23565b600061155d84612c8e565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a0823190611594903390600401614fb2565b602060405180830381865afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d5919061583e565b101561163a5760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610d23565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa15801561168a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ae919061583e565b10156117155760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610d23565b600084815260108401602052604081208054839290611735908490615857565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af1158015611799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bd919061586a565b6118095760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610d23565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec42885483611835876124b4565b6040805192835260208301919091520160405180910390a25050506113586138c1565b611860613899565b600061186a613393565b905033611876836123ea565b6001600160a01b031614806119005750600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa1580156118d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f59190615887565b6001600160a01b0316145b806119855750600b81015460405163bfc206ed60e01b815260048101859052339161010090046001600160a01b03169063bfc206ed90602401602060405180830381865afa158015611956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197a9190615887565b6001600160a01b0316145b611a045760405162461bcd60e51b81526020600482015260566024820152600080516020615e4b83398151915260448201527f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b60648201527532b7103737ba1037bbb732b210313c9031b0b63632b960511b608482015260a401610d23565b81611a0e84611bac565b14611a705760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610d23565b82611a7a83612c26565b14611adc5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610d23565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a3505050565b611b386138d2565b611b4182613977565b610ef1828261398f565b600080611b5661346e565b9050611b60610ef5565b8310611b845760008360405163295f44f760e21b8152600401610d239291906156fb565b806002018381548110611b9957611b996158a4565b9060005260206000200154915050919050565b6000611bb6613393565b6000928352600d0160205250604090205490565b6000611bd4613a43565b50600080516020615dab83398151915290565b6000611bf281613389565b6000825111611c135760405162461bcd60e51b8152600401610d23906158ba565b6000611c1d613393565b905080600401604051611c3091906158fd565b604051809103902083604051611c469190615973565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a360048101610f8f84826159d5565b600080611c8f613393565b600201546001600160a01b031692915050565b6000611cad81613389565b6000611cb7613393565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611cec911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611d14613393565b600b81015490915060ff1615611d7c5760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610d23565b611d8533612a02565b611df05760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610d23565b61135833613a8c565b600080611e04613abd565b5460ff1692915050565b600080611e19613393565b546001600160a01b031692915050565b6000611e33613ae1565b805490915060ff600160401b82041615906001600160401b0316600081158015611e5a5750825b90506000826001600160401b03166001148015611e765750303b155b905081158015611e84575080155b15611ea25760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611ecb57845460ff60401b1916600160401b1785555b60008660e0015111611f255760405162461bcd60e51b815260206004820152602f6024820152600080516020615d0b83398151915260448201526e02067726561746572207468616e203608c1b6064820152608401610d23565b60008661010001515111611f4b5760405162461bcd60e51b8152600401610d23906158ba565b6101408601516001600160a01b0316611fcb5760405162461bcd60e51b815260206004820152603c60248201527f47616c617879204d656d6265723a204233545220746f6b656e2061646472657360448201527b732063616e6e6f7420626520746865207a65726f206164647265737360201b6064820152608401610d23565b6101608601516001600160a01b03166120495760405162461bcd60e51b815260206004820152603a60248201527f47616c617879204d656d6265723a20547265617375727920616464726573732060448201527963616e6e6f7420626520746865207a65726f206164647265737360301b6064820152608401610d23565b60018660e0015161205a9190615a94565b8661012001515110156120ce5760405162461bcd60e51b81526020600482015260426024820152600080516020615d2b83398151915260448201527f7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656064820152616c7360f01b608482015260a401610d23565b6120e086600001518760200151613b05565b6120e8613b17565b6120f0613b1f565b6120f8613b17565b612100613b17565b612108613b2f565b612110613b17565b600061211a613393565b905086610100015181600401908161213291906159d5565b5060005b876101200151518110156121d7576000886101200151828151811061215d5761215d6158a4565b6020026020010151116121825760405162461bcd60e51b8152600401610d2390615aa7565b8761012001518181518110612199576121996158a4565b60200260200101518260080160008360026121b49190615857565b8152602081019190915260400160002055806121cf8161572a565b915050612136565b5060e087015160068201556101408701516002820180546001600160a01b03199081166001600160a01b03938416179091556101608901516003840180549092169083161790556040880151166122905760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a2041646d696e20616464726573732063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d23565b6122a16000801b8860400151613631565b506122be600080516020615d6b8339815191528860600151613631565b506122db600080516020615dcb8339815191528860800151613631565b506122f8600080516020615deb8339815191528860a00151613631565b50612315600080516020615e0b8339815191528860c00151613631565b5050831561235057845460ff60401b19168555604051600080516020615d4b8339815191529061234790600190615aea565b60405180910390a15b505050505050565b600080516020615e2b83398151915261237081613389565b6001600160a01b0382166123965760405162461bcd60e51b8152600401610d2390615afe565b60006123a0613393565b600b0180546001600160a01b0390941661010002610100600160a81b0319909416939093179092555050565b6000806123d7613393565b600301546001600160a01b031692915050565b6000610e2a82613400565b6123fd614ea0565b600061240883613b3f565b6001600160a01b03160361246a5760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610d23565b612472614ea0565b82815261247e83613104565b602082015261248c836124b4565b604082015261249a83612c8e565b606082015292915050565b60606124af613b68565b905090565b6000806124c083612c26565b905060006124ce8483613b85565b50949350505050565b6000806124e26133dc565b90506001600160a01b03831661250e5760006040516322718ad960e21b8152600401610d239190614fb2565b6001600160a01b039092166000908152600390920160205250604090205490565b60008061253a613393565b600101546001600160a01b031692915050565b6113583382613cfa565b600080516020615dcb83398151915261256f81613389565b611358613dbe565b6060816000036125c75760405162461bcd60e51b81526020600482015260276024820152600080516020615ceb83398151915260448201526606f7420626520360cc1b6064820152608401610d23565b606480831115612610576125da81613e05565b6040516020016125ea9190615b54565b60408051601f198184030181529082905262461bcd60e51b8252610d2391600401614f86565b600061261b866124d7565b905060006126298587615ba3565b905081811061266e576040805160008082526020820190925290612663565b612650614ea0565b8152602001906001900390816126485790505b509350505050612756565b600061267a8683615857565b9050828111156126875750815b60006126938383615a94565b90506000816001600160401b038111156126af576126af6150f2565b6040519080825280602002602001820160405280156126e857816020015b6126d5614ea0565b8152602001906001900390816126cd5790505b50905060005b8281101561274d5760006127028287615857565b905060006127108d83610ff1565b905061271b816123f5565b84848151811061272d5761272d6158a4565b6020026020010181905250505080806127459061572a565b9150506126ee565b50955050505050505b9392505050565b6000612767613393565b600092835260100160205250604090205490565b612783613899565b600061278d613393565b905033612799836123ea565b6001600160a01b0316146127ff5760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610d23565b600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa15801561284a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286e9190615887565b6001600160a01b0316146128d45760405162461bcd60e51b81526020600482015260396024820152600080516020615e4b8339815191526044820152783bb732b21037b91036b0b730b3b2b210313c9031b0b63632b960391b6064820152608401610d23565b6128dd83611bac565b156129415760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610d23565b61294a82612c26565b156129ae5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610d23565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a3505050565b600080612a0d613393565b80549091506001600160a01b0316612a805760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610d23565b60018101546001600160a01b0316612ae65760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610d23565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612b15908690600401614fb2565b602060405180830381865afa158015612b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b56919061586a565b80612bcf57506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612b8e908690600401614fb2565b602060405180830381865afa158015612bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bcf919061586a565b15612bdd5750600192915050565b50600092915050565b600080612bf161360d565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006124af613e97565b6000612c30613393565b6000928352600e0160205250604090205490565b60606000612c506133dc565b9050806001018054610e4d906156c1565b6000806124ce8484613b85565b610ef1338383613ea2565b600080612c84613393565b6006015492915050565b600080612c9a83613b3f565b6001600160a01b031603612cb057506000919050565b6000612cbb83612c26565b9050600080612cca8584613b85565b91509150612cd6612c79565b8203612ce757506000949350505050565b80612cf6610494846001615857565b612d009190615a94565b95945050505050565b6000612d1481613389565b6111f28383613cfa565b6000612d2981613389565b6000612d33613393565b905060005b8351811015612dca576000848281518110612d5557612d556158a4565b602002602001015111612d7a5760405162461bcd60e51b8152600401610d2390615aa7565b838181518110612d8c57612d8c6158a4565b6020026020010151826008016000836002612da79190615857565b815260208101919091526040016000205580612dc28161572a565b915050612d38565b5082604051612dd99190615bba565b604051908190038120907f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf87090600090a2505050565b612e19848484610f0a565b610f8f84848484613f47565b60026000612e31613ae1565b8054909150600160401b900460ff1680612e58575080546001600160401b03808416911610155b15612e765760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781558251600814612ef55760405162461bcd60e51b81526020600482015260386024820152600080516020615d8b8339815191526044820152776c6576656c732e204d7573742062652037206c6576656c7360401b6064820152608401610d23565b6001600160a01b038616612f1b5760405162461bcd60e51b8152600401610d2390615afe565b6001600160a01b038516612f935760405162461bcd60e51b815260206004820152603960248201527f47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063604482015278616e6e6f7420626520746865207a65726f206164647265737360381b6064820152608401610d23565b6000612f9d613393565b600b81018054610100600160a81b0319166101006001600160a01b038b81169190910291909117909155600c820180546001600160a01b031916918916919091179055600581015490915015612ff7578060050154612ffa565b60015b600582015560005b84518160ff1610156130c0576001858260ff1681518110613025576130256158a4565b602002602001015110156130775760405162461bcd60e51b81526020600482015260256024820152600080516020615d8b8339815191526044820152641b195d995b60da1b6064820152608401610d23565b848160ff168151811061308c5761308c6158a4565b60209081029190910181015160ff83166000908152600f8501909252604090912055806130b881615be4565b915050613002565b506130d9600080516020615e2b83398151915286613631565b5050805460ff60401b19168155604051600080516020615d4b83398151915290612347908490615aea565b6060600061311183613b3f565b6001600160a01b03160361313357505060408051602081019091526000815290565b600061313e836124b4565b90506000811161315d5760405180602001604052806000815250612756565b6131656124a5565b61316e82613e05565b60405160200161317f929190615c03565b6040516020818303038152906040529392505050565b6000806131a3836000613b85565b509392505050565b6000806131b6613393565b6001600160a01b038416600090815260128201602052604090209091506131dc9061405e565b6001600160d01b03169392505050565b6131f582610f95565b6131fe81613389565b610f8f83836136d2565b600080516020615e0b83398151915261322081613389565b6001600160a01b0382166132965760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d23565b60006132a0613393565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b61330e614ea0565b6000613319836131ab565b9050612756816123f5565b600061332e613393565b60ff9092166000908152600f9290920160205250604090205490565b6000806133556133dc565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b611358813361408e565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610e2a5750610e2a826140b9565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b60008061340c83613b3f565b90506001600160a01b038116610e2a57604051637e27328960e01b815260048101849052602401610d23565b6000806134436133dc565b6000938452600401602052505060409020546001600160a01b031690565b6111f283838360016140de565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b600061349c613899565b6134a583612c26565b156135185760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610d23565b60006135258585856141e8565b90506001600160a01b038116158015906135455750613543816124d7565b155b1561358557613582613555612c1c565b600061355f613393565b6001600160a01b03851660009081526012919091016020526040902091906141fd565b50505b6001600160a01b038116158015906135a45750836135a2826131ab565b145b80156135b8575060006135b6826124d7565b115b156135d1576135d1816135cc836000610ff1565b613cfa565b6001600160a01b038516158015906135f157506135ed856124d7565b6001145b1561360557613605856135cc876000610ff1565b949350505050565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b60008061363c61360d565b90506136488484612be6565b6136c8576000848152602082815260408083206001600160a01b03871684529091529020805460ff1916600117905561367e3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610e2a565b6000915050610e2a565b6000806136dd61360d565b90506136e98484612be6565b156136c8576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610e2a565b8154600090818160058111156137a957600061376584614218565b61376f9085615a94565b60008881526020902090915081015465ffffffffffff9081169087161015613799578091506137a7565b6137a4816001615857565b92505b505b60006137b787878585614300565b905080156137f2576137dc876137ce600184615a94565b600091825260209091200190565b54600160301b90046001600160d01b03166137f5565b60005b979650505050505050565b61380861435a565b6000613812613abd565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161384c9190614fb2565b60405180910390a150565b610ef160008233613492565b600061386d61437f565b80549091506001190161389357604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6138a1611df9565b156138bf5760405163d93c066560e01b815260040160405180910390fd5b565b60006138cb61437f565b6001905550565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061395957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661394d600080516020615dab833981519152546001600160a01b031690565b6001600160a01b031614155b156138bf5760405163703e46dd60e11b815260040160405180910390fd5b600080516020615d6b833981519152610ef181613389565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156139e9575060408051601f3d908101601f191682019092526139e69181019061583e565b60015b613a085781604051634c9c8ce360e01b8152600401610d239190614fb2565b600080516020615dab8339815191528114613a3957604051632a87526960e21b815260048101829052602401610d23565b6111f283836143a3565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146138bf5760405163703e46dd60e11b815260040160405180910390fd5b6000613a96613393565b6005810180549192506000919082613aad8361572a565b9190505590506111f283826143f9565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613b0d614413565b610ef18282614438565b6138bf614413565b613b27614413565b6138bf614466565b613b37614413565b6138bf614483565b600080613b4a6133dc565b6000938452600201602052505060409020546001600160a01b031690565b60606000613b74613393565b9050806004018054610e4d906156c1565b6000806000613b92613393565b905060018415801590613c275750613ba9866123ea565b600c830154604051634f16179f60e11b8152600481018890526001600160a01b039283169290911690639e2c2f3e90602401602060405180830381865afa158015613bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c1c9190615887565b6001600160a01b0316145b15613c6d576000613c378661135b565b905060ff811615613c6b576000613c4d82613324565b90508360060154811115613c65578360060154613c67565b805b9250505b505b600086815260108301602052604081205490613c8a836001615857565b90505b83600601548111613ced5760008181526008850160205260409020548210613cd65760008181526008850160205260409020549092508290613ccf9083615a94565b9150613cdb565b613ced565b80613ce58161572a565b915050613c8d565b5090969095509350505050565b816001600160a01b0316613d0d826123ea565b6001600160a01b031614613d335760405162461bcd60e51b8152600401610d23906157eb565b6000613d3d613393565b9050613d74613d4a612c1c565b613d538461448b565b6001600160a01b0386166000908152601285016020526040902091906141fd565b5050826001600160a01b03167fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc83604051613db191815260200190565b60405180910390a2505050565b613dc6613899565b6000613dd0613abd565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861383f3390565b60606000613e12836144c3565b60010190506000816001600160401b03811115613e3157613e316150f2565b6040519080825280601f01601f191660200182016040528015613e5b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613e6557509392505050565b60006124af43614599565b6000613eac6133dc565b90506001600160a01b038316613ed75782604051630b61174360e31b8152600401610d239190614fb2565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a350505050565b6001600160a01b0383163b15610f8f57604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613f89903390889087908790600401615c58565b6020604051808303816000875af1925050508015613fc4575060408051601f3d908101601f19168201909252613fc191810190615c95565b60015b614024573d808015613ff2576040519150601f19603f3d011682016040523d82523d6000602084013e613ff7565b606091505b50805160000361401c5783604051633250574960e11b8152600401610d239190614fb2565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146140575783604051633250574960e11b8152600401610d239190614fb2565b5050505050565b80546000908015612bdd57614078836137ce600184615a94565b54600160301b90046001600160d01b0316612756565b6140988282612be6565b610ef157808260405163e2517d3f60e01b8152600401610d239291906156fb565b60006001600160e01b0319821663780e9d6360e01b1480610e2a5750610e2a826145cc565b60006140e86133dc565b905081806140fe57506001600160a01b03831615155b156141b757600061410e85613400565b90506001600160a01b0384161580159061413a5750836001600160a01b0316816001600160a01b031614155b801561414d575061414b818561334a565b155b1561416d578360405163a9fbf51f60e01b8152600401610d239190614fb2565b82156141b55784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b60006141f2613899565b61360584848461461c565b60008061420b8585856146aa565b915091505b935093915050565b60008160000361422a57506000919050565b6000600161423784614824565b901c6001901b9050600181848161425057614250615c42565b048201901c9050600181848161426857614268615c42565b048201901c9050600181848161428057614280615c42565b048201901c9050600181848161429857614298615c42565b048201901c905060018184816142b0576142b0615c42565b048201901c905060018184816142c8576142c8615c42565b048201901c905060018184816142e0576142e0615c42565b048201901c9050612756818285816142fa576142fa615c42565b046148b8565b60005b818310156131a357600061431784846148ce565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561434657809250614354565b614351816001615857565b93505b50614303565b614362611df9565b6138bf57604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b6143ac826148e9565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156143f1576111f28282614945565b610ef16149b2565b610ef18282604051806020016040528060008152506149d1565b61441b6149e8565b6138bf57604051631afcd79f60e31b815260040160405180910390fd5b614440614413565b600061444a6133dc565b90508061445784826159d5565b5060018101610f8f83826159d5565b61446e614413565b6000614478613abd565b805460ff1916905550565b6138c1614413565b60006001600160d01b038211156144bf576040516306dfcc6560e41b815260d0600482015260248101839052604401610d23565b5090565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106145025772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b831061452c576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061454a57662386f26fc10000830492506010015b6305f5e1008310614562576305f5e100830492506008015b612710831061457657612710830492506004015b60648310614588576064830492506002015b600a8310610e2a5760010192915050565b600065ffffffffffff8211156144bf576040516306dfcc6560e41b81526030600482015260248101839052604401610d23565b60006001600160e01b031982166380ac58cd60e01b14806145fd57506001600160e01b03198216635b5e139f60e01b145b80610e2a57506301ffc9a760e01b6001600160e01b0319831614610e2a565b60008061462a858585614a02565b90506001600160a01b0381166146485761464384614b09565b61466b565b846001600160a01b0316816001600160a01b03161461466b5761466b8185614b42565b6001600160a01b0385166146875761468284614be3565b613605565b846001600160a01b0316816001600160a01b031614613605576136058585614cac565b8254600090819080156147c95760006146c8876137ce600185615a94565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561471c57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603614768578461473f886137ce600186615a94565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556147b9565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506142109050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081614210565b600080608083901c1561483957608092831c92015b604083901c1561484b57604092831c92015b602083901c1561485d57602092831c92015b601083901c1561486f57601092831c92015b600883901c1561488157600892831c92015b600483901c1561489357600492831c92015b600283901c156148a557600292831c92015b600183901c15610e2a5760010192915050565b60008183106148c75781612756565b5090919050565b60006148dd6002848418615cb2565b61275690848416615857565b806001600160a01b03163b6000036149165780604051634c9c8ce360e01b8152600401610d239190614fb2565b600080516020615dab83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516149629190615973565b600060405180830381855af49150503d806000811461499d576040519150601f19603f3d011682016040523d82523d6000602084013e6149a2565b606091505b5091509150612d00858383614d04565b34156138bf5760405163b398979f60e01b815260040160405180910390fd5b6149db8383614d57565b6111f26000848484613f47565b60006149f2613ae1565b54600160401b900460ff16919050565b600080614a0d6133dc565b90506000614a1a85613b3f565b90506001600160a01b03841615614a3657614a36818587614dbc565b6001600160a01b03811615614a7657614a536000866000806140de565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614aa7576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b6000614b1361346e565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b6000614b4c61346e565b90506000614b59846124d7565b6000848152600184016020526040902054909150808214614bae576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b6000614bed61346e565b6002810154909150600090614c0490600190615a94565b6000848152600384016020526040812054600285018054939450909284908110614c3057614c306158a4565b9060005260206000200154905080846002018381548110614c5357614c536158a4565b600091825260208083209091019290925582815260038601909152604080822084905586825281205560028401805480614c8f57614c8f615cd4565b600190038181906000526020600020016000905590555050505050565b6000614cb661346e565b905060006001614cc5856124d7565b614ccf9190615a94565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b606082614d1957614d1482614e12565b612756565b8151158015614d3057506001600160a01b0384163b155b15614d505783604051639996b31560e01b8152600401610d239190614fb2565b5080612756565b6001600160a01b038216614d81576000604051633250574960e11b8152600401610d239190614fb2565b6000614d8f83836000613492565b90506001600160a01b038116156111f25760006040516339e3563760e11b8152600401610d239190614fb2565b614dc7838383614e3b565b6111f2576001600160a01b038316614df557604051637e27328960e01b815260048101829052602401610d23565b818160405163177e802f60e01b8152600401610d239291906156fb565b805115614e225780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b038316158015906136055750826001600160a01b0316846001600160a01b03161480614e755750614e75848461334a565b806136055750826001600160a01b0316614e8e83613438565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461135857600080fd5b60008060408385031215614eea57600080fd5b8235614ef581614ec8565b946020939093013593505050565b6001600160e01b03198116811461135857600080fd5b600060208284031215614f2b57600080fd5b813561275681614f03565b60005b83811015614f51578181015183820152602001614f39565b50506000910152565b60008151808452614f72816020860160208601614f36565b601f01601f19169290920160200192915050565b6020815260006127566020830184614f5a565b600060208284031215614fab57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461135857600080fd5b8035614fe681614fc6565b919050565b60008060408385031215614ffe57600080fd5b8235614ef581614fc6565b60008060006060848603121561501e57600080fd5b833561502981614fc6565b9250602084013561503981614fc6565b929592945050506040919091013590565b6000806040838503121561505d57600080fd5b82359150602083013561506f81614fc6565b809150509250929050565b60006020828403121561508c57600080fd5b813561275681614fc6565b600080604083850312156150aa57600080fd5b82356150b581614fc6565b9150602083013565ffffffffffff8116811461506f57600080fd5b600080604083850312156150e357600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b038111828210171561512b5761512b6150f2565b60405290565b604051601f8201601f191681016001600160401b0381118282101715615159576151596150f2565b604052919050565b600082601f83011261517257600080fd5b81356001600160401b0381111561518b5761518b6150f2565b61519e601f8201601f1916602001615131565b8181528460208386010111156151b357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156151e357600080fd5b82356151ee81614fc6565b915060208301356001600160401b0381111561520957600080fd5b61521585828601615161565b9150509250929050565b60006020828403121561523157600080fd5b81356001600160401b0381111561524757600080fd5b61360584828501615161565b801515811461135857600080fd5b60006020828403121561527357600080fd5b813561275681615253565b600082601f83011261528f57600080fd5b813560206001600160401b038211156152aa576152aa6150f2565b8160051b6152b9828201615131565b92835284810182019282810190878511156152d357600080fd5b83870192505b848310156137f5578235825291830191908301906152d9565b60006020828403121561530457600080fd5b81356001600160401b038082111561531b57600080fd5b90830190610180828603121561533057600080fd5b615338615108565b82358281111561534757600080fd5b61535387828601615161565b82525060208301358281111561536857600080fd5b61537487828601615161565b60208301525061538660408401614fdb565b604082015261539760608401614fdb565b60608201526153a860808401614fdb565b60808201526153b960a08401614fdb565b60a08201526153ca60c08401614fdb565b60c082015260e083013560e082015261010080840135838111156153ed57600080fd5b6153f988828701615161565b828401525050610120808401358381111561541357600080fd5b61541f8882870161527e565b8284015250506101409150615435828401614fdb565b828201526101609150615449828401614fdb565b91810191909152949350505050565b8051825260006020820151608060208501526154776080850182614f5a565b905060408301516040850152606083015160608501528091505092915050565b6020815260006127566020830184615458565b6000806000606084860312156154bf57600080fd5b83356154ca81614fc6565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561553457603f19888603018452615522858351615458565b94509285019290850190600101615506565b5092979650505050505050565b6000806040838503121561555457600080fd5b823561555f81614fc6565b9150602083013561506f81615253565b60006020828403121561558157600080fd5b81356001600160401b0381111561559757600080fd5b6136058482850161527e565b600080600080608085870312156155b957600080fd5b84356155c481614fc6565b935060208501356155d481614fc6565b92506040850135915060608501356001600160401b038111156155f657600080fd5b61560287828801615161565b91505092959194509250565b6000806000806080858703121561562457600080fd5b843561562f81614fc6565b9350602085013561563f81614fc6565b9250604085013561564f81614fc6565b915060608501356001600160401b0381111561566a57600080fd5b6156028782880161527e565b60006020828403121561568857600080fd5b813561275681614ec8565b600080604083850312156156a657600080fd5b82356156b181614fc6565b9150602083013561506f81614fc6565b600181811c908216806156d557607f821691505b6020821081036156f557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161573c5761573c615714565b5060010190565b80516001600160401b0381168114614fe657600080fd5b600080600080600080600060e0888a03121561577557600080fd5b875161578081614fc6565b602089015190975061579181614ec8565b60408901519096506157a281615253565b60608901519095506157b381615253565b93506157c160808901615743565b92506157cf60a08901615743565b91506157dd60c08901615743565b905092959891949750929550565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b60006020828403121561585057600080fd5b5051919050565b80820180821115610e2a57610e2a615714565b60006020828403121561587c57600080fd5b815161275681615253565b60006020828403121561589957600080fd5b815161275681614fc6565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f47616c617879204d656d6265723a204261736520555249206d757374206265206040820152621cd95d60ea1b606082015260800190565b600080835461590b816156c1565b60018281168015615923576001811461593857615967565b60ff1984168752821515830287019450615967565b8760005260208060002060005b8581101561595e5781548a820152908401908201615945565b50505082870194505b50929695505050505050565b60008251615985818460208701614f36565b9190910192915050565b601f8211156111f257600081815260208120601f850160051c810160208610156159b65750805b601f850160051c820191505b81811015612350578281556001016159c2565b81516001600160401b038111156159ee576159ee6150f2565b615a02816159fc84546156c1565b8461598f565b602080601f831160018114615a375760008415615a1f5750858301515b600019600386901b1c1916600185901b178555612350565b600085815260208120601f198616915b82811015615a6657888601518255948401946001909101908401615a47565b5085821015615a845787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610e2a57610e2a615714565b6020808252603590820152600080516020615d2b83398151915260408201527407573742062652067726561746572207468616e203605c1b606082015260800190565b6001600160401b0391909116815260200190565b60208082526036908201527f47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b600080516020615ceb833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b602082015260008251615b96816033850160208701614f36565b9190910160330192915050565b8082028115828204841417610e2a57610e2a615714565b815160009082906020808601845b8381101561596757815185529382019390820190600101615bc8565b600060ff821660ff8103615bfa57615bfa615714565b60010192915050565b60008351615c15818460208801614f36565b835190830190615c29818360208801614f36565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615c8b90830184614f5a565b9695505050505050565b600060208284031215615ca757600080fd5b815161275681614f03565b600082615ccf57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204d6178206c6576656c206d75737420626547616c617879204d656d6265723a204233545220746f2075706772616465206dc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e347616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a656af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f547616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206fa26469706673582212203e78defcca1842c6644db9ebf1d7ebf8040c27de722e56e4047a01c578a0471a64736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x5EA0 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x38DD ADD MSTORE DUP2 DUP2 PUSH2 0x3906 ADD MSTORE PUSH2 0x3A4E ADD MSTORE PUSH2 0x5EA0 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x350 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x372 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x3C9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x416 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x439 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x459 JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x479 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x499 JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4D9 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x4F9 JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x519 JUMPI DUP1 PUSH4 0x3C60F55D EQ PUSH2 0x539 JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x57B JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x590 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x5C2 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x5E2 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x622 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x642 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x688 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x69B JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x6BB JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x6DB JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x6F0 JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x71A JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x73A JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x74F JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x76F JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x784 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x799 JUMPI DUP1 PUSH4 0x5F4E42CA EQ PUSH2 0x7AE JUMPI DUP1 PUSH4 0x5FFAA59A EQ PUSH2 0x7CE JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7EE JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x803 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x823 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x865 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x885 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x8A5 JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x8BA JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x8DA JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x8EF JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x91C JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x93C JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x95C JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x97C JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x99C JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x9C8 JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x9EA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA0A JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0xA1F JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xA3F JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0xA54 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0xA74 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0xA89 JUMPI DUP1 PUSH4 0xAA3491EB EQ PUSH2 0xAA9 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xAC9 JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xAFA JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xB1A JUMPI DUP1 PUSH4 0xC190EB3A EQ PUSH2 0xB3A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xB5A JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xB7A JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xB9A JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xBBA JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xBDC JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xBFC JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xC1C JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xC3C JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xC5C JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xC7E JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xC9E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x36B CALLDATASIZE PUSH1 0x4 PUSH2 0x4ED7 JUMP JUMPDEST PUSH2 0xCC0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x38D CALLDATASIZE PUSH1 0x4 PUSH2 0x4F19 JUMP JUMPDEST PUSH2 0xE1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xE30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4F86 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x3E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x402 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x411 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FEB JUMP JUMPDEST PUSH2 0xEE6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x422 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x454 CALLDATASIZE PUSH1 0x4 PUSH2 0x5009 JUMP JUMPDEST PUSH2 0xF0A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x465 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x474 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0xF95 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x494 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0xFB5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0xFD5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x4D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FEB JUMP JUMPDEST PUSH2 0xFF1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1053 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x505 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x514 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x11BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x534 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x11F7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x545 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x554 CALLDATASIZE PUSH1 0x4 PUSH2 0x5097 JUMP JUMPDEST PUSH2 0x12F5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x587 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1338 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x59C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B0 PUSH2 0x5AB CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x135B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x5DD CALLDATASIZE PUSH1 0x4 PUSH2 0x5009 JUMP JUMPDEST PUSH2 0x13EE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x5FD CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1409 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x61D CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1442 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x63D CALLDATASIZE PUSH1 0x4 PUSH2 0x50D0 JUMP JUMPDEST PUSH2 0x1858 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST PUSH2 0x370 PUSH2 0x696 CALLDATASIZE PUSH1 0x4 PUSH2 0x51D0 JUMP JUMPDEST PUSH2 0x1B30 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x6B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1B4B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x6D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1BAC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x1BCA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x33 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x726 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x735 CALLDATASIZE PUSH1 0x4 PUSH2 0x521F JUMP JUMPDEST PUSH2 0x1BE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x746 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1C84 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x76A CALLDATASIZE PUSH1 0x4 PUSH2 0x5261 JUMP JUMPDEST PUSH2 0x1CA2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1D0A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x790 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x1DF9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1E0E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x52F2 JUMP JUMPDEST PUSH2 0x1E29 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7E9 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x2358 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x23CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x80F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x81E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x23EA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x843 PUSH2 0x83E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x23F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x5497 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x24A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x880 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x24B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x8A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x24D7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x252F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x8D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x254D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x2557 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90F PUSH2 0x90A CALLDATASIZE PUSH1 0x4 PUSH2 0x54AA JUMP JUMPDEST PUSH2 0x2577 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x54DF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x928 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x937 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x275D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x948 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x957 CALLDATASIZE PUSH1 0x4 PUSH2 0x50D0 JUMP JUMPDEST PUSH2 0x277B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x977 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x2A02 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x988 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x997 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x2BE6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9B1 PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xA05 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x2C26 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x2C44 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xA3A CALLDATASIZE PUSH1 0x4 PUSH2 0x50D0 JUMP JUMPDEST PUSH2 0x2C61 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xA6F CALLDATASIZE PUSH1 0x4 PUSH2 0x5541 JUMP JUMPDEST PUSH2 0x2C6E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x2C79 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xAA4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x2C8E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xAC4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FEB JUMP JUMPDEST PUSH2 0x2D09 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB15 CALLDATASIZE PUSH1 0x4 PUSH2 0x556F JUMP JUMPDEST PUSH2 0x2D1E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB35 CALLDATASIZE PUSH1 0x4 PUSH2 0x55A3 JUMP JUMPDEST PUSH2 0x2E0E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB55 CALLDATASIZE PUSH1 0x4 PUSH2 0x560E JUMP JUMPDEST PUSH2 0x2E25 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xB75 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x3104 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xB95 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x3195 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xBB5 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x31AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DEB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xBF7 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x31EC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xC17 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x3208 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x843 PUSH2 0xC37 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x3306 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xC57 CALLDATASIZE PUSH1 0x4 PUSH2 0x5676 JUMP JUMPDEST PUSH2 0x3324 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0xC99 CALLDATASIZE PUSH1 0x4 PUSH2 0x5693 JUMP JUMPDEST PUSH2 0x334A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCD8 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xD2C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xD80 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD8A PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xE04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE2A DUP3 PUSH2 0x33B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE3C PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x56C1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE79 SWAP1 PUSH2 0x56C1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xEC6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE9B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xEC6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xEA9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEDC DUP3 PUSH2 0x3400 JUMP JUMPDEST POP PUSH2 0xE2A DUP3 PUSH2 0x3438 JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 CALLER PUSH2 0x3461 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF00 PUSH2 0x346E JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF34 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF41 DUP4 DUP4 CALLER PUSH2 0x3492 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF8F JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFA0 PUSH2 0x360D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFC0 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xFDE DUP3 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0xFE7 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0xF8F DUP4 DUP4 PUSH2 0x3631 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFFC PUSH2 0x346E JUMP JUMPDEST SWAP1 POP PUSH2 0x1007 DUP5 PUSH2 0x24D7 JUMP JUMPDEST DUP4 LT PUSH2 0x102A JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x56FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x105E DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1068 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0x10DD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x1175 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1163 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST DUP1 PUSH2 0x116D DUP2 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10E0 JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x11E8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x11F2 DUP3 DUP3 PUSH2 0x36D2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x120F DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x128B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1295 PUSH2 0x3393 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1300 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x1327 SWAP1 DUP5 PUSH2 0x374A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1350 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0x1358 PUSH2 0x3800 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1366 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x295D33A9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA574CEA4 SWAP1 PUSH1 0x24 ADD PUSH1 0xE0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13DF SWAP2 SWAP1 PUSH2 0x575A JUMP JUMPDEST POP SWAP4 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2E0E JUMP JUMPDEST CALLER PUSH2 0x1413 DUP3 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1439 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x57EB JUMP JUMPDEST PUSH2 0x1358 DUP2 PUSH2 0x3857 JUMP JUMPDEST PUSH2 0x144A PUSH2 0x3863 JUMP JUMPDEST PUSH2 0x1452 PUSH2 0x3899 JUMP JUMPDEST CALLER PUSH2 0x145C DUP3 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x14CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14D8 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x14E5 DUP4 PUSH2 0x24B4 JUMP JUMPDEST SWAP1 POP PUSH2 0x14EF PUSH2 0x2C79 JUMP JUMPDEST DUP2 LT PUSH2 0x1552 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x155D DUP5 PUSH2 0x2C8E JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1594 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15D5 SWAP2 SWAP1 PUSH2 0x583E JUMP JUMPDEST LT ISZERO PUSH2 0x163A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x168A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16AE SWAP2 SWAP1 PUSH2 0x583E JUMP JUMPDEST LT ISZERO PUSH2 0x1715 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1735 SWAP1 DUP5 SWAP1 PUSH2 0x5857 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1799 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17BD SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST PUSH2 0x1809 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x1835 DUP8 PUSH2 0x24B4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x1358 PUSH2 0x38C1 JUMP JUMPDEST PUSH2 0x1860 PUSH2 0x3899 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x186A PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x1876 DUP4 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x1900 JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18F5 SWAP2 SWAP1 PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0x1985 JUMPI POP PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFC206ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBFC206ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1956 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197A SWAP2 SWAP1 PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x1A04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x56 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776E6564206F72206D616E616765642062792063616C6C6572206F7220746F6B PUSH1 0x64 DUP3 ADD MSTORE PUSH22 0x32B7103737BA1037BBB732B210313C9031B0B63632B9 PUSH1 0x51 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST DUP2 PUSH2 0x1A0E DUP5 PUSH2 0x1BAC JUMP JUMPDEST EQ PUSH2 0x1A70 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP3 PUSH2 0x1A7A DUP4 PUSH2 0x2C26 JUMP JUMPDEST EQ PUSH2 0x1ADC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1B38 PUSH2 0x38D2 JUMP JUMPDEST PUSH2 0x1B41 DUP3 PUSH2 0x3977 JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH2 0x398F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B56 PUSH2 0x346E JUMP JUMPDEST SWAP1 POP PUSH2 0x1B60 PUSH2 0xEF5 JUMP JUMPDEST DUP4 LT PUSH2 0x1B84 JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x56FB JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1B99 JUMPI PUSH2 0x1B99 PUSH2 0x58A4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BB6 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xD ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BD4 PUSH2 0x3A43 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BF2 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1C13 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x58BA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C1D PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1C30 SWAP2 SWAP1 PUSH2 0x58FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1C46 SWAP2 SWAP1 PUSH2 0x5973 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0xF8F DUP5 DUP3 PUSH2 0x59D5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C8F PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CAD DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CB7 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1CEC SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D14 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1D7C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x1D85 CALLER PUSH2 0x2A02 JUMP JUMPDEST PUSH2 0x1DF0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x1358 CALLER PUSH2 0x3A8C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E04 PUSH2 0x3ABD JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E19 PUSH2 0x3393 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E33 PUSH2 0x3AE1 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E5A JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1E76 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E84 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1EA2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1ECB JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x0 DUP7 PUSH1 0xE0 ADD MLOAD GT PUSH2 0x1F25 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH2 0x100 ADD MLOAD MLOAD GT PUSH2 0x1F4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x58BA JUMP JUMPDEST PUSH2 0x140 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FCB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204233545220746F6B656E20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x732063616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x160 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2049 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205472656173757279206164647265737320 PUSH1 0x44 DUP3 ADD MSTORE PUSH26 0x63616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x30 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP7 PUSH1 0xE0 ADD MLOAD PUSH2 0x205A SWAP2 SWAP1 PUSH2 0x5A94 JUMP JUMPDEST DUP7 PUSH2 0x120 ADD MLOAD MLOAD LT ISZERO PUSH2 0x20CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C20756E6C6F636B6564206C657665 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x6C73 PUSH1 0xF0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x20E0 DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD PUSH2 0x3B05 JUMP JUMPDEST PUSH2 0x20E8 PUSH2 0x3B17 JUMP JUMPDEST PUSH2 0x20F0 PUSH2 0x3B1F JUMP JUMPDEST PUSH2 0x20F8 PUSH2 0x3B17 JUMP JUMPDEST PUSH2 0x2100 PUSH2 0x3B17 JUMP JUMPDEST PUSH2 0x2108 PUSH2 0x3B2F JUMP JUMPDEST PUSH2 0x2110 PUSH2 0x3B17 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211A PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP7 PUSH2 0x100 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x2132 SWAP2 SWAP1 PUSH2 0x59D5 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x21D7 JUMPI PUSH1 0x0 DUP9 PUSH2 0x120 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x215D JUMPI PUSH2 0x215D PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2182 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5AA7 JUMP JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2199 JUMPI PUSH2 0x2199 PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x21B4 SWAP2 SWAP1 PUSH2 0x5857 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x21CF DUP2 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2136 JUMP JUMPDEST POP PUSH1 0xE0 DUP8 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x140 DUP8 ADD MLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND OR SWAP1 SWAP2 SSTORE PUSH2 0x160 DUP10 ADD MLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x40 DUP9 ADD MLOAD AND PUSH2 0x2290 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2041646D696E20616464726573732063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x22A1 PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0x40 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP PUSH2 0x22BE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x60 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP PUSH2 0x22DB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP PUSH2 0x22F8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DEB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xA0 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP PUSH2 0x2315 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xC0 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0x2350 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2347 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5AEA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2370 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x2396 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5AFE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23A0 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xB ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x23D7 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE2A DUP3 PUSH2 0x3400 JUMP JUMPDEST PUSH2 0x23FD PUSH2 0x4EA0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2408 DUP4 PUSH2 0x3B3F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x246A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x2472 PUSH2 0x4EA0 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x247E DUP4 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x248C DUP4 PUSH2 0x24B4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x249A DUP4 PUSH2 0x2C8E JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x24AF PUSH2 0x3B68 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24C0 DUP4 PUSH2 0x2C26 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24CE DUP5 DUP4 PUSH2 0x3B85 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24E2 PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x250E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x253A PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1358 CALLER DUP3 PUSH2 0x3CFA JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x256F DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0x1358 PUSH2 0x3DBE JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x25C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CEB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x2610 JUMPI PUSH2 0x25DA DUP2 PUSH2 0x3E05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x25EA SWAP2 SWAP1 PUSH2 0x5B54 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xD23 SWAP2 PUSH1 0x4 ADD PUSH2 0x4F86 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x261B DUP7 PUSH2 0x24D7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2629 DUP6 DUP8 PUSH2 0x5BA3 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x266E JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x2663 JUMP JUMPDEST PUSH2 0x2650 PUSH2 0x4EA0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2648 JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x2756 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x267A DUP7 DUP4 PUSH2 0x5857 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x2687 JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x2693 DUP4 DUP4 PUSH2 0x5A94 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26AF JUMPI PUSH2 0x26AF PUSH2 0x50F2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x26E8 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x26D5 PUSH2 0x4EA0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x26CD JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x274D JUMPI PUSH1 0x0 PUSH2 0x2702 DUP3 DUP8 PUSH2 0x5857 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2710 DUP14 DUP4 PUSH2 0xFF1 JUMP JUMPDEST SWAP1 POP PUSH2 0x271B DUP2 PUSH2 0x23F5 JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x272D JUMPI PUSH2 0x272D PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x2745 SWAP1 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x26EE JUMP JUMPDEST POP SWAP6 POP POP POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2767 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x2783 PUSH2 0x3899 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x278D PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x2799 DUP4 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x27FF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x284A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x286E SWAP2 SWAP1 PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x28D4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x3BB732B21037B91036B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x39 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x28DD DUP4 PUSH2 0x1BAC JUMP JUMPDEST ISZERO PUSH2 0x2941 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x294A DUP3 PUSH2 0x2C26 JUMP JUMPDEST ISZERO PUSH2 0x29AE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A0D PUSH2 0x3393 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2A80 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2AE6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2B15 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B32 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B56 SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST DUP1 PUSH2 0x2BCF JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2B8E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2BAB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2BCF SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST ISZERO PUSH2 0x2BDD JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2BF1 PUSH2 0x360D JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24AF PUSH2 0x3E97 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C30 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xE ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2C50 PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x56C1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24CE DUP5 DUP5 PUSH2 0x3B85 JUMP JUMPDEST PUSH2 0xEF1 CALLER DUP4 DUP4 PUSH2 0x3EA2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C84 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C9A DUP4 PUSH2 0x3B3F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2CB0 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CBB DUP4 PUSH2 0x2C26 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2CCA DUP6 DUP5 PUSH2 0x3B85 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2CD6 PUSH2 0x2C79 JUMP JUMPDEST DUP3 SUB PUSH2 0x2CE7 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2CF6 PUSH2 0x494 DUP5 PUSH1 0x1 PUSH2 0x5857 JUMP JUMPDEST PUSH2 0x2D00 SWAP2 SWAP1 PUSH2 0x5A94 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D14 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 PUSH2 0x3CFA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D29 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D33 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2DCA JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2D55 JUMPI PUSH2 0x2D55 PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2D7A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5AA7 JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2D8C JUMPI PUSH2 0x2D8C PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2DA7 SWAP2 SWAP1 PUSH2 0x5857 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2DC2 DUP2 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2D38 JUMP JUMPDEST POP DUP3 PUSH1 0x40 MLOAD PUSH2 0x2DD9 SWAP2 SWAP1 PUSH2 0x5BBA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x2E19 DUP5 DUP5 DUP5 PUSH2 0xF0A JUMP JUMPDEST PUSH2 0xF8F DUP5 DUP5 DUP5 DUP5 PUSH2 0x3F47 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2E31 PUSH2 0x3AE1 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2E58 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2E76 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE DUP3 MLOAD PUSH1 0x8 EQ PUSH2 0x2EF5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6C6576656C732E204D7573742062652037206C6576656C73 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2F1B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5AFE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2F93 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F6E6F6465734D616E6761656D656E742063 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F9D PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xB DUP2 ADD DUP1 SLOAD PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND SWAP2 SWAP1 SWAP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0xC DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP2 DUP10 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x2FF7 JUMPI DUP1 PUSH1 0x5 ADD SLOAD PUSH2 0x2FFA JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x30C0 JUMPI PUSH1 0x1 DUP6 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x3025 JUMPI PUSH2 0x3025 PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x3077 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1B195D995B PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP5 DUP2 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x308C JUMPI PUSH2 0x308C PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0xFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF DUP6 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE DUP1 PUSH2 0x30B8 DUP2 PUSH2 0x5BE4 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3002 JUMP JUMPDEST POP PUSH2 0x30D9 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 PUSH2 0x3631 JUMP JUMPDEST POP POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2347 SWAP1 DUP5 SWAP1 PUSH2 0x5AEA JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3111 DUP4 PUSH2 0x3B3F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x3133 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x313E DUP4 PUSH2 0x24B4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x315D JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2756 JUMP JUMPDEST PUSH2 0x3165 PUSH2 0x24A5 JUMP JUMPDEST PUSH2 0x316E DUP3 PUSH2 0x3E05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x317F SWAP3 SWAP2 SWAP1 PUSH2 0x5C03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31A3 DUP4 PUSH1 0x0 PUSH2 0x3B85 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31B6 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x31DC SWAP1 PUSH2 0x405E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x31F5 DUP3 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0x31FE DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0xF8F DUP4 DUP4 PUSH2 0x36D2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x3220 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3296 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32A0 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x330E PUSH2 0x4EA0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3319 DUP4 PUSH2 0x31AB JUMP JUMPDEST SWAP1 POP PUSH2 0x2756 DUP2 PUSH2 0x23F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x332E PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3355 PUSH2 0x33DC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1358 DUP2 CALLER PUSH2 0x408E JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE2A JUMPI POP PUSH2 0xE2A DUP3 PUSH2 0x40B9 JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x340C DUP4 PUSH2 0x3B3F JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xE2A JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3443 PUSH2 0x33DC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x40DE JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x349C PUSH2 0x3899 JUMP JUMPDEST PUSH2 0x34A5 DUP4 PUSH2 0x2C26 JUMP JUMPDEST ISZERO PUSH2 0x3518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3525 DUP6 DUP6 DUP6 PUSH2 0x41E8 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3545 JUMPI POP PUSH2 0x3543 DUP2 PUSH2 0x24D7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3585 JUMPI PUSH2 0x3582 PUSH2 0x3555 PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x355F PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x41FD JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x35A4 JUMPI POP DUP4 PUSH2 0x35A2 DUP3 PUSH2 0x31AB JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x35B8 JUMPI POP PUSH1 0x0 PUSH2 0x35B6 DUP3 PUSH2 0x24D7 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x35D1 JUMPI PUSH2 0x35D1 DUP2 PUSH2 0x35CC DUP4 PUSH1 0x0 PUSH2 0xFF1 JUMP JUMPDEST PUSH2 0x3CFA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x35F1 JUMPI POP PUSH2 0x35ED DUP6 PUSH2 0x24D7 JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x3605 JUMPI PUSH2 0x3605 DUP6 PUSH2 0x35CC DUP8 PUSH1 0x0 PUSH2 0xFF1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x363C PUSH2 0x360D JUMP JUMPDEST SWAP1 POP PUSH2 0x3648 DUP5 DUP5 PUSH2 0x2BE6 JUMP JUMPDEST PUSH2 0x36C8 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x367E CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x36DD PUSH2 0x360D JUMP JUMPDEST SWAP1 POP PUSH2 0x36E9 DUP5 DUP5 PUSH2 0x2BE6 JUMP JUMPDEST ISZERO PUSH2 0x36C8 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x37A9 JUMPI PUSH1 0x0 PUSH2 0x3765 DUP5 PUSH2 0x4218 JUMP JUMPDEST PUSH2 0x376F SWAP1 DUP6 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x3799 JUMPI DUP1 SWAP2 POP PUSH2 0x37A7 JUMP JUMPDEST PUSH2 0x37A4 DUP2 PUSH1 0x1 PUSH2 0x5857 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x37B7 DUP8 DUP8 DUP6 DUP6 PUSH2 0x4300 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x37F2 JUMPI PUSH2 0x37DC DUP8 PUSH2 0x37CE PUSH1 0x1 DUP5 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x37F5 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3808 PUSH2 0x435A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3812 PUSH2 0x3ABD JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x384C SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xEF1 PUSH1 0x0 DUP3 CALLER PUSH2 0x3492 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x386D PUSH2 0x437F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3893 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x38A1 PUSH2 0x1DF9 JUMP JUMPDEST ISZERO PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38CB PUSH2 0x437F JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3959 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x394D PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEF1 DUP2 PUSH2 0x3389 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x39E9 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x39E6 SWAP2 DUP2 ADD SWAP1 PUSH2 0x583E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3A08 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3A39 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 PUSH2 0x43A3 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3A96 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x3AAD DUP4 PUSH2 0x572A JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x11F2 DUP4 DUP3 PUSH2 0x43F9 JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x3B0D PUSH2 0x4413 JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH2 0x4438 JUMP JUMPDEST PUSH2 0x38BF PUSH2 0x4413 JUMP JUMPDEST PUSH2 0x3B27 PUSH2 0x4413 JUMP JUMPDEST PUSH2 0x38BF PUSH2 0x4466 JUMP JUMPDEST PUSH2 0x3B37 PUSH2 0x4413 JUMP JUMPDEST PUSH2 0x38BF PUSH2 0x4483 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3B4A PUSH2 0x33DC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3B74 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x56C1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3B92 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3C27 JUMPI POP PUSH2 0x3BA9 DUP7 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3BF8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3C1C SWAP2 SWAP1 PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x3C6D JUMPI PUSH1 0x0 PUSH2 0x3C37 DUP7 PUSH2 0x135B JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x3C6B JUMPI PUSH1 0x0 PUSH2 0x3C4D DUP3 PUSH2 0x3324 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x3C65 JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x3C67 JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x3C8A DUP4 PUSH1 0x1 PUSH2 0x5857 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3CED JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x3CD6 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3CCF SWAP1 DUP4 PUSH2 0x5A94 JUMP JUMPDEST SWAP2 POP PUSH2 0x3CDB JUMP JUMPDEST PUSH2 0x3CED JUMP JUMPDEST DUP1 PUSH2 0x3CE5 DUP2 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3C8D JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3D0D DUP3 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3D33 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x57EB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D3D PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH2 0x3D74 PUSH2 0x3D4A PUSH2 0x2C1C JUMP JUMPDEST PUSH2 0x3D53 DUP5 PUSH2 0x448B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x41FD JUMP JUMPDEST POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC DUP4 PUSH1 0x40 MLOAD PUSH2 0x3DB1 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3DC6 PUSH2 0x3899 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DD0 PUSH2 0x3ABD JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x383F CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3E12 DUP4 PUSH2 0x44C3 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3E31 JUMPI PUSH2 0x3E31 PUSH2 0x50F2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3E5B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3E65 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24AF NUMBER PUSH2 0x4599 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3EAC PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3ED7 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0xF8F JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x3F89 SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5C58 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3FC4 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3FC1 SWAP2 DUP2 ADD SWAP1 PUSH2 0x5C95 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4024 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x3FF2 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3FF7 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x401C JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x4057 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2BDD JUMPI PUSH2 0x4078 DUP4 PUSH2 0x37CE PUSH1 0x1 DUP5 PUSH2 0x5A94 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2756 JUMP JUMPDEST PUSH2 0x4098 DUP3 DUP3 PUSH2 0x2BE6 JUMP JUMPDEST PUSH2 0xEF1 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x56FB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE2A JUMPI POP PUSH2 0xE2A DUP3 PUSH2 0x45CC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40E8 PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x40FE JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x41B7 JUMPI PUSH1 0x0 PUSH2 0x410E DUP6 PUSH2 0x3400 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x413A JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x414D JUMPI POP PUSH2 0x414B DUP2 DUP6 PUSH2 0x334A JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x416D JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x41B5 JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41F2 PUSH2 0x3899 JUMP JUMPDEST PUSH2 0x3605 DUP5 DUP5 DUP5 PUSH2 0x461C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x420B DUP6 DUP6 DUP6 PUSH2 0x46AA JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x422A JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x4237 DUP5 PUSH2 0x4824 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4250 JUMPI PUSH2 0x4250 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4268 JUMPI PUSH2 0x4268 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4280 JUMPI PUSH2 0x4280 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4298 JUMPI PUSH2 0x4298 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42B0 JUMPI PUSH2 0x42B0 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42C8 JUMPI PUSH2 0x42C8 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42E0 JUMPI PUSH2 0x42E0 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x2756 DUP2 DUP3 DUP6 DUP2 PUSH2 0x42FA JUMPI PUSH2 0x42FA PUSH2 0x5C42 JUMP JUMPDEST DIV PUSH2 0x48B8 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x31A3 JUMPI PUSH1 0x0 PUSH2 0x4317 DUP5 DUP5 PUSH2 0x48CE JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x4346 JUMPI DUP1 SWAP3 POP PUSH2 0x4354 JUMP JUMPDEST PUSH2 0x4351 DUP2 PUSH1 0x1 PUSH2 0x5857 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x4303 JUMP JUMPDEST PUSH2 0x4362 PUSH2 0x1DF9 JUMP JUMPDEST PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x43AC DUP3 PUSH2 0x48E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x43F1 JUMPI PUSH2 0x11F2 DUP3 DUP3 PUSH2 0x4945 JUMP JUMPDEST PUSH2 0xEF1 PUSH2 0x49B2 JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x49D1 JUMP JUMPDEST PUSH2 0x441B PUSH2 0x49E8 JUMP JUMPDEST PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4440 PUSH2 0x4413 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x444A PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x4457 DUP5 DUP3 PUSH2 0x59D5 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0xF8F DUP4 DUP3 PUSH2 0x59D5 JUMP JUMPDEST PUSH2 0x446E PUSH2 0x4413 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4478 PUSH2 0x3ABD JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x38C1 PUSH2 0x4413 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x44BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD23 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x4502 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x452C JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x454A JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x4562 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x4576 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4588 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xE2A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x44BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x45FD JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xE2A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x462A DUP6 DUP6 DUP6 PUSH2 0x4A02 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4648 JUMPI PUSH2 0x4643 DUP5 PUSH2 0x4B09 JUMP JUMPDEST PUSH2 0x466B JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x466B JUMPI PUSH2 0x466B DUP2 DUP6 PUSH2 0x4B42 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4687 JUMPI PUSH2 0x4682 DUP5 PUSH2 0x4BE3 JUMP JUMPDEST PUSH2 0x3605 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3605 JUMPI PUSH2 0x3605 DUP6 DUP6 PUSH2 0x4CAC JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x47C9 JUMPI PUSH1 0x0 PUSH2 0x46C8 DUP8 PUSH2 0x37CE PUSH1 0x1 DUP6 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x471C JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x4768 JUMPI DUP5 PUSH2 0x473F DUP9 PUSH2 0x37CE PUSH1 0x1 DUP7 PUSH2 0x5A94 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x47B9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x4210 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x4210 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x4839 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x484B JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x485D JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x486F JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x4881 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x4893 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x48A5 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xE2A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x48C7 JUMPI DUP2 PUSH2 0x2756 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48DD PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x5CB2 JUMP JUMPDEST PUSH2 0x2756 SWAP1 DUP5 DUP5 AND PUSH2 0x5857 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4916 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x4962 SWAP2 SWAP1 PUSH2 0x5973 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x499D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x49A2 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2D00 DUP6 DUP4 DUP4 PUSH2 0x4D04 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x49DB DUP4 DUP4 PUSH2 0x4D57 JUMP JUMPDEST PUSH2 0x11F2 PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3F47 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x49F2 PUSH2 0x3AE1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4A0D PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4A1A DUP6 PUSH2 0x3B3F JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x4A36 JUMPI PUSH2 0x4A36 DUP2 DUP6 DUP8 PUSH2 0x4DBC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x4A76 JUMPI PUSH2 0x4A53 PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x40DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4AA7 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B13 PUSH2 0x346E JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B4C PUSH2 0x346E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4B59 DUP5 PUSH2 0x24D7 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x4BAE JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4BED PUSH2 0x346E JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x4C04 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x4C30 JUMPI PUSH2 0x4C30 PUSH2 0x58A4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x4C53 JUMPI PUSH2 0x4C53 PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x4C8F JUMPI PUSH2 0x4C8F PUSH2 0x5CD4 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4CB6 PUSH2 0x346E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x4CC5 DUP6 PUSH2 0x24D7 JUMP JUMPDEST PUSH2 0x4CCF SWAP2 SWAP1 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4D19 JUMPI PUSH2 0x4D14 DUP3 PUSH2 0x4E12 JUMP JUMPDEST PUSH2 0x2756 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4D30 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4D50 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST POP DUP1 PUSH2 0x2756 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4D81 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D8F DUP4 DUP4 PUSH1 0x0 PUSH2 0x3492 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH2 0x4DC7 DUP4 DUP4 DUP4 PUSH2 0x4E3B JUMP JUMPDEST PUSH2 0x11F2 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4DF5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x56FB JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4E22 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3605 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x4E75 JUMPI POP PUSH2 0x4E75 DUP5 DUP5 PUSH2 0x334A JUMP JUMPDEST DUP1 PUSH2 0x3605 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4E8E DUP4 PUSH2 0x3438 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4EEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4EF5 DUP2 PUSH2 0x4EC8 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4F2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2756 DUP2 PUSH2 0x4F03 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F51 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4F39 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4F72 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4F36 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2756 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4F5A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x4FE6 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4FFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4EF5 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x501E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5029 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x5039 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x505D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x506F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x508C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2756 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x50B5 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x506F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x180 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x512B JUMPI PUSH2 0x512B PUSH2 0x50F2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x5159 JUMPI PUSH2 0x5159 PUSH2 0x50F2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5172 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x518B JUMPI PUSH2 0x518B PUSH2 0x50F2 JUMP JUMPDEST PUSH2 0x519E PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x5131 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x51B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x51E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x51EE DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5209 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5215 DUP6 DUP3 DUP7 ADD PUSH2 0x5161 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5231 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3605 DUP5 DUP3 DUP6 ADD PUSH2 0x5161 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2756 DUP2 PUSH2 0x5253 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x528F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x52AA JUMPI PUSH2 0x52AA PUSH2 0x50F2 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x52B9 DUP3 DUP3 ADD PUSH2 0x5131 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x52D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x37F5 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x52D9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x531B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x180 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x5330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5338 PUSH2 0x5108 JUMP JUMPDEST DUP3 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5347 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5353 DUP8 DUP3 DUP7 ADD PUSH2 0x5161 JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5368 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5374 DUP8 DUP3 DUP7 ADD PUSH2 0x5161 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x5386 PUSH1 0x40 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x5397 PUSH1 0x60 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x53A8 PUSH1 0x80 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x53B9 PUSH1 0xA0 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x53CA PUSH1 0xC0 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP4 ADD CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x53ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53F9 DUP9 DUP3 DUP8 ADD PUSH2 0x5161 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x120 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x5413 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x541F DUP9 DUP3 DUP8 ADD PUSH2 0x527E JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x140 SWAP2 POP PUSH2 0x5435 DUP3 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x160 SWAP2 POP PUSH2 0x5449 DUP3 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x5477 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x4F5A JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2756 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5458 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x54BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x54CA DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5534 JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x5522 DUP6 DUP4 MLOAD PUSH2 0x5458 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5506 JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5554 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x555F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x506F DUP2 PUSH2 0x5253 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5581 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5597 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3605 DUP5 DUP3 DUP6 ADD PUSH2 0x527E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x55B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x55C4 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x55D4 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x55F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5602 DUP8 DUP3 DUP9 ADD PUSH2 0x5161 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5624 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x562F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x563F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x564F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x566A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5602 DUP8 DUP3 DUP9 ADD PUSH2 0x527E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5688 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2756 DUP2 PUSH2 0x4EC8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x56A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x56B1 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x506F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x56D5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x56F5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x573C JUMPI PUSH2 0x573C PUSH2 0x5714 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4FE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x5775 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 MLOAD PUSH2 0x5780 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH1 0x20 DUP10 ADD MLOAD SWAP1 SWAP8 POP PUSH2 0x5791 DUP2 PUSH2 0x4EC8 JUMP JUMPDEST PUSH1 0x40 DUP10 ADD MLOAD SWAP1 SWAP7 POP PUSH2 0x57A2 DUP2 PUSH2 0x5253 JUMP JUMPDEST PUSH1 0x60 DUP10 ADD MLOAD SWAP1 SWAP6 POP PUSH2 0x57B3 DUP2 PUSH2 0x5253 JUMP JUMPDEST SWAP4 POP PUSH2 0x57C1 PUSH1 0x80 DUP10 ADD PUSH2 0x5743 JUMP JUMPDEST SWAP3 POP PUSH2 0x57CF PUSH1 0xA0 DUP10 ADD PUSH2 0x5743 JUMP JUMPDEST SWAP2 POP PUSH2 0x57DD PUSH1 0xC0 DUP10 ADD PUSH2 0x5743 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5850 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x587C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2756 DUP2 PUSH2 0x5253 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5899 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2756 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x590B DUP2 PUSH2 0x56C1 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x5923 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5938 JUMPI PUSH2 0x5967 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x5967 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x595E JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x5945 JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5985 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4F36 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x59B6 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2350 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x59C2 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x59EE JUMPI PUSH2 0x59EE PUSH2 0x50F2 JUMP JUMPDEST PUSH2 0x5A02 DUP2 PUSH2 0x59FC DUP5 SLOAD PUSH2 0x56C1 JUMP JUMPDEST DUP5 PUSH2 0x598F JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5A37 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x5A1F JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2350 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5A66 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5A47 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5A84 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x35 SWAP1 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F7665636861696E4E6F6465732063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CEB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x5B96 DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4F36 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x5714 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5967 JUMPI DUP2 MLOAD DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5BC8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x5BFA JUMPI PUSH2 0x5BFA PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5C15 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4F36 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x5C29 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4F36 JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5C8B SWAP1 DUP4 ADD DUP5 PUSH2 0x4F5A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5CA7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2756 DUP2 PUSH2 0x4F03 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5CCF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 0x4D PUSH2 0x7820 PUSH13 0x6576656C206D75737420626547 PUSH2 0x6C61 PUSH25 0x79204D656D6265723A204233545220746F2075706772616465 KECCAK256 PUSH14 0xC7F505B2F371AE2175EE4913F449 SWAP15 0x1F 0x26 CALLER 0xA7 0xB5 SWAP4 PUSH4 0x21EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E347 PUSH2 0x6C61 PUSH25 0x794D656D6265723A20696E76616C6964206E6F646520667265 PUSH6 0x20360894A13B LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A9F2DF0FE 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F547616C6178794D656D PUSH3 0x65723A KECCAK256 PUSH23 0x65636861696E206E6F6465206E6F74206FA26469706673 PC 0x22 SLT KECCAK256 RETURNDATACOPY PUSH25 0xDEFCCA1842C6644DB9EBF1D7EBF8040C27DE722E56E4047A01 0xC5 PUSH25 0xA0471A64736F6C634300081400330000000000000000000000 ","sourceMap":"4026:34472:67:-:0;;;1171:4:3;1128:48;;9420:47:67;;;;;;;;;-1:-1:-1;9440:22:67;:20;:22::i;:::-;4026:34472;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;4026:34472:67;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_34912":{"entryPoint":null,"id":34912,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_32763":{"entryPoint":null,"id":32763,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@MAX_LEVEL_34597":{"entryPoint":11385,"id":34597,"parameterSlots":0,"returnSlots":1},"@MINTER_ROLE_32758":{"entryPoint":null,"id":32758,"parameterSlots":0,"returnSlots":0},"@NODES_MANAGER_ROLE_32768":{"entryPoint":null,"id":32768,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_32753":{"entryPoint":null,"id":32753,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_32748":{"entryPoint":null,"id":32748,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":null,"id":63,"parameterSlots":0,"returnSlots":0},"@__ERC721Burnable_init_3165":{"entryPoint":null,"id":3165,"parameterSlots":0,"returnSlots":0},"@__ERC721Enumerable_init_3252":{"entryPoint":15127,"id":3252,"parameterSlots":0,"returnSlots":0},"@__ERC721Pausable_init_3698":{"entryPoint":15135,"id":3698,"parameterSlots":0,"returnSlots":0},"@__ERC721_init_2099":{"entryPoint":15109,"id":2099,"parameterSlots":2,"returnSlots":0},"@__ERC721_init_unchained_2127":{"entryPoint":17464,"id":2127,"parameterSlots":2,"returnSlots":0},"@__Pausable_init_unchained_4057":{"entryPoint":17510,"id":4057,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_4203":{"entryPoint":15151,"id":4203,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_unchained_4221":{"entryPoint":17539,"id":4221,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":null,"id":1786,"parameterSlots":0,"returnSlots":0},"@_addTokenToAllTokensEnumeration_3510":{"entryPoint":19209,"id":3510,"parameterSlots":1,"returnSlots":0},"@_addTokenToOwnerEnumeration_3479":{"entryPoint":19628,"id":3479,"parameterSlots":2,"returnSlots":0},"@_approve_2931":{"entryPoint":13409,"id":2931,"parameterSlots":3,"returnSlots":0},"@_approve_3005":{"entryPoint":16606,"id":3005,"parameterSlots":4,"returnSlots":0},"@_authorizeUpgrade_33304":{"entryPoint":14711,"id":33304,"parameterSlots":1,"returnSlots":0},"@_baseURI_35080":{"entryPoint":15208,"id":35080,"parameterSlots":0,"returnSlots":1},"@_checkAuthorized_2559":{"entryPoint":19900,"id":2559,"parameterSlots":3,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":17427,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":18866,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":14915,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkOnERC721Received_3143":{"entryPoint":16199,"id":3143,"parameterSlots":4,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":14546,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":13193,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":16526,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":13837,"id":46,"parameterSlots":0,"returnSlots":1},"@_getApproved_2486":{"entryPoint":13368,"id":2486,"parameterSlots":1,"returnSlots":1},"@_getERC721EnumerableStorage_3236":{"entryPoint":13422,"id":3236,"parameterSlots":0,"returnSlots":1},"@_getERC721Storage_2083":{"entryPoint":13276,"id":2083,"parameterSlots":0,"returnSlots":1},"@_getGalaxyMemberStorage_32852":{"entryPoint":13203,"id":32852,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":15073,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getLevelOfAndB3TRleft_34268":{"entryPoint":15237,"id":34268,"parameterSlots":2,"returnSlots":2},"@_getPausableStorage_4013":{"entryPoint":15037,"id":4013,"parameterSlots":0,"returnSlots":1},"@_getReentrancyGuardStorage_4191":{"entryPoint":17279,"id":4191,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":13873,"id":315,"parameterSlots":2,"returnSlots":1},"@_insert_9806":{"entryPoint":18090,"id":9806,"parameterSlots":3,"returnSlots":2},"@_isAuthorized_2522":{"entryPoint":20027,"id":2522,"parameterSlots":3,"returnSlots":1},"@_isInitializing_1722":{"entryPoint":18920,"id":1722,"parameterSlots":0,"returnSlots":1},"@_mint_2735":{"entryPoint":19799,"id":2735,"parameterSlots":2,"returnSlots":0},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_nonReentrantAfter_4273":{"entryPoint":14529,"id":4273,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_4257":{"entryPoint":14435,"id":4257,"parameterSlots":0,"returnSlots":0},"@_ownerOf_2466":{"entryPoint":15167,"id":2466,"parameterSlots":1,"returnSlots":1},"@_pause_4138":{"entryPoint":15806,"id":4138,"parameterSlots":0,"returnSlots":0},"@_removeTokenFromAllTokensEnumeration_3648":{"entryPoint":19427,"id":3648,"parameterSlots":1,"returnSlots":0},"@_removeTokenFromOwnerEnumeration_3584":{"entryPoint":19266,"id":3584,"parameterSlots":2,"returnSlots":0},"@_requireNotPaused_4101":{"entryPoint":14489,"id":4101,"parameterSlots":0,"returnSlots":0},"@_requireOwned_3079":{"entryPoint":13312,"id":3079,"parameterSlots":1,"returnSlots":1},"@_requirePaused_4114":{"entryPoint":17242,"id":4114,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":19986,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":14034,"id":361,"parameterSlots":2,"returnSlots":1},"@_safeMint_2750":{"entryPoint":17401,"id":2750,"parameterSlots":2,"returnSlots":0},"@_safeMint_2776":{"entryPoint":18897,"id":2776,"parameterSlots":3,"returnSlots":0},"@_select_33523":{"entryPoint":15610,"id":33523,"parameterSlots":2,"returnSlots":0},"@_setApprovalForAll_3050":{"entryPoint":16034,"id":3050,"parameterSlots":3,"returnSlots":0},"@_setImplementation_4791":{"entryPoint":18665,"id":4791,"parameterSlots":1,"returnSlots":0},"@_unpause_4162":{"entryPoint":14336,"id":4162,"parameterSlots":0,"returnSlots":0},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_update_2685":{"entryPoint":18946,"id":2685,"parameterSlots":3,"returnSlots":1},"@_update_3438":{"entryPoint":17948,"id":3438,"parameterSlots":3,"returnSlots":1},"@_update_35026":{"entryPoint":13458,"id":35026,"parameterSlots":3,"returnSlots":1},"@_update_3727":{"entryPoint":16872,"id":3727,"parameterSlots":3,"returnSlots":1},"@_upgradeToAndCallUUPS_1913":{"entryPoint":14735,"id":1913,"parameterSlots":2,"returnSlots":0},"@_upperBinaryLookup_9858":{"entryPoint":17152,"id":9858,"parameterSlots":4,"returnSlots":1},"@approve_2299":{"entryPoint":3814,"id":2299,"parameterSlots":2,"returnSlots":0},"@attachNode_33625":{"entryPoint":10107,"id":33625,"parameterSlots":2,"returnSlots":0},"@average_6189":{"entryPoint":18638,"id":6189,"parameterSlots":2,"returnSlots":1},"@b3trGovernor_34548":{"entryPoint":9519,"id":34548,"parameterSlots":0,"returnSlots":1},"@b3tr_34565":{"entryPoint":7300,"id":34565,"parameterSlots":0,"returnSlots":1},"@balanceOf_2193":{"entryPoint":9431,"id":2193,"parameterSlots":1,"returnSlots":1},"@baseURI_34449":{"entryPoint":9381,"id":34449,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":16023,"id":11429,"parameterSlots":0,"returnSlots":1},"@burn_3188":{"entryPoint":14423,"id":3188,"parameterSlots":1,"returnSlots":0},"@burn_33548":{"entryPoint":5129,"id":33548,"parameterSlots":1,"returnSlots":0},"@clock_34903":{"entryPoint":11292,"id":34903,"parameterSlots":0,"returnSlots":1},"@detachNode_33704":{"entryPoint":6232,"id":33704,"parameterSlots":2,"returnSlots":0},"@freeMint_33346":{"entryPoint":7434,"id":33346,"parameterSlots":0,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":18757,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getApproved_2316":{"entryPoint":3793,"id":2316,"parameterSlots":1,"returnSlots":1},"@getB3TRdonated_34657":{"entryPoint":10077,"id":34657,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgradeToLevel_34469":{"entryPoint":4021,"id":34469,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgrade_34155":{"entryPoint":11406,"id":34155,"parameterSlots":1,"returnSlots":1},"@getIdAttachedToNode_34612":{"entryPoint":7084,"id":34612,"parameterSlots":1,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getLevelAfterAttachingNode_34360":{"entryPoint":11361,"id":34360,"parameterSlots":2,"returnSlots":1},"@getLevelAfterDetachingNode_34378":{"entryPoint":12693,"id":34378,"parameterSlots":1,"returnSlots":1},"@getNodeIdAttached_34627":{"entryPoint":11302,"id":34627,"parameterSlots":1,"returnSlots":1},"@getNodeLevelOf_34293":{"entryPoint":4955,"id":34293,"parameterSlots":1,"returnSlots":1},"@getNodeToFreeLevel_34642":{"entryPoint":13092,"id":34642,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":3989,"id":171,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenIdAtBlock_34340":{"entryPoint":4853,"id":34340,"parameterSlots":2,"returnSlots":1},"@getSelectedTokenId_34315":{"entryPoint":12715,"id":34315,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenInfoByOwner_34753":{"entryPoint":13062,"id":34753,"parameterSlots":1,"returnSlots":1},"@getTokenInfoByTokenId_34733":{"entryPoint":9205,"id":34733,"parameterSlots":1,"returnSlots":1},"@getTokensInfoByOwner_34892":{"entryPoint":9591,"id":34892,"parameterSlots":3,"returnSlots":1},"@grantRole_190":{"entryPoint":4053,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":11238,"id":116,"parameterSlots":2,"returnSlots":1},"@initializeV2_33293":{"entryPoint":11813,"id":33293,"parameterSlots":4,"returnSlots":0},"@initialize_33177":{"entryPoint":7721,"id":33177,"parameterSlots":1,"returnSlots":0},"@isApprovedForAll_2356":{"entryPoint":13130,"id":2356,"parameterSlots":2,"returnSlots":1},"@latest_9634":{"entryPoint":16478,"id":9634,"parameterSlots":1,"returnSlots":1},"@levelOf_34104":{"entryPoint":9396,"id":34104,"parameterSlots":1,"returnSlots":1},"@log10_6835":{"entryPoint":17603,"id":6835,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":18468,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":18616,"id":6166,"parameterSlots":2,"returnSlots":1},"@name_2222":{"entryPoint":3632,"id":2222,"parameterSlots":0,"returnSlots":1},"@ownerOf_2206":{"entryPoint":9194,"id":2206,"parameterSlots":1,"returnSlots":1},"@participatedInGovernance_34439":{"entryPoint":10754,"id":34439,"parameterSlots":1,"returnSlots":1},"@pause_33315":{"entryPoint":9559,"id":33315,"parameterSlots":0,"returnSlots":0},"@paused_4089":{"entryPoint":7673,"id":4089,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":7114,"id":1804,"parameterSlots":0,"returnSlots":1},"@push_9437":{"entryPoint":16893,"id":9437,"parameterSlots":3,"returnSlots":2},"@renounceRole_232":{"entryPoint":4543,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":12780,"id":209,"parameterSlots":2,"returnSlots":0},"@safeMint_33728":{"entryPoint":14988,"id":33728,"parameterSlots":1,"returnSlots":0},"@safeTransferFrom_2420":{"entryPoint":5102,"id":2420,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_2446":{"entryPoint":11790,"id":2446,"parameterSlots":4,"returnSlots":0},"@selectFor_33480":{"entryPoint":11529,"id":33480,"parameterSlots":2,"returnSlots":0},"@select_33463":{"entryPoint":9549,"id":33463,"parameterSlots":1,"returnSlots":0},"@setApprovalForAll_2332":{"entryPoint":11374,"id":2332,"parameterSlots":2,"returnSlots":0},"@setB3TRtoUpgradeToLevel_33972":{"entryPoint":11550,"id":33972,"parameterSlots":1,"returnSlots":0},"@setB3trGovernorAddress_33879":{"entryPoint":12808,"id":33879,"parameterSlots":1,"returnSlots":0},"@setBaseURI_33918":{"entryPoint":7143,"id":33918,"parameterSlots":1,"returnSlots":0},"@setIsPublicMintingPaused_33998":{"entryPoint":7330,"id":33998,"parameterSlots":1,"returnSlots":0},"@setMaxLevel_33790":{"entryPoint":4179,"id":33790,"parameterSlots":1,"returnSlots":0},"@setNodeToFreeUpgradeLevel_34080":{"entryPoint":3264,"id":34080,"parameterSlots":2,"returnSlots":0},"@setVechainNodes_34032":{"entryPoint":9048,"id":34032,"parameterSlots":1,"returnSlots":0},"@setXAllocationsGovernorAddress_33833":{"entryPoint":4599,"id":33833,"parameterSlots":1,"returnSlots":0},"@sqrt_6504":{"entryPoint":16920,"id":6504,"parameterSlots":1,"returnSlots":1},"@supportsInterface_2158":{"entryPoint":17868,"id":2158,"parameterSlots":1,"returnSlots":1},"@supportsInterface_3282":{"entryPoint":16569,"id":3282,"parameterSlots":1,"returnSlots":1},"@supportsInterface_35063":{"entryPoint":3615,"id":35063,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":13239,"id":91,"parameterSlots":1,"returnSlots":1},"@symbol_2238":{"entryPoint":11332,"id":2238,"parameterSlots":0,"returnSlots":1},"@toString_5762":{"entryPoint":15877,"id":5762,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":17547,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":17817,"id":7770,"parameterSlots":1,"returnSlots":1},"@tokenByIndex_3369":{"entryPoint":6987,"id":3369,"parameterSlots":1,"returnSlots":1},"@tokenOfOwnerByIndex_3318":{"entryPoint":4081,"id":3318,"parameterSlots":2,"returnSlots":1},"@tokenURI_34514":{"entryPoint":12548,"id":34514,"parameterSlots":1,"returnSlots":1},"@totalSupply_3335":{"entryPoint":3829,"id":3335,"parameterSlots":0,"returnSlots":1},"@transferFrom_2402":{"entryPoint":3850,"id":2402,"parameterSlots":3,"returnSlots":0},"@treasury_34581":{"entryPoint":9164,"id":34581,"parameterSlots":0,"returnSlots":1},"@unpause_33326":{"entryPoint":4920,"id":33326,"parameterSlots":0,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":6960,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":17315,"id":4825,"parameterSlots":2,"returnSlots":0},"@upgrade_33450":{"entryPoint":5186,"id":33450,"parameterSlots":1,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":14154,"id":9604,"parameterSlots":2,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":19716,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_34666":{"entryPoint":null,"id":34666,"parameterSlots":0,"returnSlots":1},"@xAllocationsGovernor_34531":{"entryPoint":7694,"id":34531,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":20443,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":21118,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":20833,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":20602,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":22663,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":22163,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":22030,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":20489,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":21923,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":21825,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":20944,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":20459,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_uint256":{"entryPoint":21674,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint48":{"entryPoint":20631,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint8t_boolt_boolt_uint64t_uint64t_uint64_fromMemory":{"entryPoint":22362,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":21871,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool":{"entryPoint":21089,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":22634,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":20554,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":20249,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":23701,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":21023,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_InitializationData_$32974_memory_ptr":{"entryPoint":21234,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":20377,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":22590,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":20688,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint8":{"entryPoint":22134,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8t_uint256":{"entryPoint":20183,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_uint64_fromMemory":{"entryPoint":22339,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_string":{"entryPoint":20314,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_struct_TokenInfo":{"entryPoint":21592,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":23482,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22899,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed":{"entryPoint":23555,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22781,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":23380,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":20402,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":23640,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":22267,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":21727,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":23274,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":20358,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":23294,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22507,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22714,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":23207,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_TokenInfo_$34675_memory_ptr__to_t_struct$_TokenInfo_$34675_memory_ptr__fromStack_reversed":{"entryPoint":21655,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":20785,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_6061":{"entryPoint":20744,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":22615,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":23730,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":23459,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":23188,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":22927,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":22997,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":20278,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":22209,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":22314,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint8":{"entryPoint":23524,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":22292,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":23618,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":23764,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":22692,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":20722,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":20422,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":21075,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":20227,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":20168,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:44438:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"57:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"106:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"115:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"118:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"108:6:150"},"nodeType":"YulFunctionCall","src":"108:12:150"},"nodeType":"YulExpressionStatement","src":"108:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"98:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"87:3:150"},"nodeType":"YulFunctionCall","src":"87:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"77:2:150"},"nodeType":"YulFunctionCall","src":"77:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"70:6:150"},"nodeType":"YulFunctionCall","src":"70:35:150"},"nodeType":"YulIf","src":"67:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"46:5:150","type":""}],"src":"14:114:150"},{"body":{"nodeType":"YulBlock","src":"218:226:150","statements":[{"body":{"nodeType":"YulBlock","src":"264:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"273:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"276:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"266:6:150"},"nodeType":"YulFunctionCall","src":"266:12:150"},"nodeType":"YulExpressionStatement","src":"266:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"239:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"248:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:150"},"nodeType":"YulFunctionCall","src":"235:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"260:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"231:3:150"},"nodeType":"YulFunctionCall","src":"231:32:150"},"nodeType":"YulIf","src":"228:52:150"},{"nodeType":"YulVariableDeclaration","src":"289:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"315:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"302:12:150"},"nodeType":"YulFunctionCall","src":"302:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"293:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"357:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"334:22:150"},"nodeType":"YulFunctionCall","src":"334:29:150"},"nodeType":"YulExpressionStatement","src":"334:29:150"},{"nodeType":"YulAssignment","src":"372:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"382:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"372:6:150"}]},{"nodeType":"YulAssignment","src":"396:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"434:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"419:3:150"},"nodeType":"YulFunctionCall","src":"419:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"406:12:150"},"nodeType":"YulFunctionCall","src":"406:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"396:6:150"}]}]},"name":"abi_decode_tuple_t_uint8t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"176:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"187:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"199:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"207:6:150","type":""}],"src":"133:311:150"},{"body":{"nodeType":"YulBlock","src":"493:87:150","statements":[{"body":{"nodeType":"YulBlock","src":"558:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"567:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"570:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"560:6:150"},"nodeType":"YulFunctionCall","src":"560:12:150"},"nodeType":"YulExpressionStatement","src":"560:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"516:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"527:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"538:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"543:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"534:3:150"},"nodeType":"YulFunctionCall","src":"534:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"523:3:150"},"nodeType":"YulFunctionCall","src":"523:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"513:2:150"},"nodeType":"YulFunctionCall","src":"513:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"506:6:150"},"nodeType":"YulFunctionCall","src":"506:51:150"},"nodeType":"YulIf","src":"503:71:150"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"482:5:150","type":""}],"src":"449:131:150"},{"body":{"nodeType":"YulBlock","src":"654:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"700:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"709:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"712:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"702:6:150"},"nodeType":"YulFunctionCall","src":"702:12:150"},"nodeType":"YulExpressionStatement","src":"702:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"675:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"684:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"671:3:150"},"nodeType":"YulFunctionCall","src":"671:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"696:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"667:3:150"},"nodeType":"YulFunctionCall","src":"667:32:150"},"nodeType":"YulIf","src":"664:52:150"},{"nodeType":"YulVariableDeclaration","src":"725:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"751:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"738:12:150"},"nodeType":"YulFunctionCall","src":"738:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"729:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"794:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"770:23:150"},"nodeType":"YulFunctionCall","src":"770:30:150"},"nodeType":"YulExpressionStatement","src":"770:30:150"},{"nodeType":"YulAssignment","src":"809:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"819:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"809:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"620:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"631:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"643:6:150","type":""}],"src":"585:245:150"},{"body":{"nodeType":"YulBlock","src":"930:92:150","statements":[{"nodeType":"YulAssignment","src":"940:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"963:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"948:3:150"},"nodeType":"YulFunctionCall","src":"948:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"940:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"982:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1007:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1000:6:150"},"nodeType":"YulFunctionCall","src":"1000:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"993:6:150"},"nodeType":"YulFunctionCall","src":"993:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"975:6:150"},"nodeType":"YulFunctionCall","src":"975:41:150"},"nodeType":"YulExpressionStatement","src":"975:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"899:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"910:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"921:4:150","type":""}],"src":"835:187:150"},{"body":{"nodeType":"YulBlock","src":"1093:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1103:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1112:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1107:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1172:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1197:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1202:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1193:3:150"},"nodeType":"YulFunctionCall","src":"1193:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1216:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1221:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1212:3:150"},"nodeType":"YulFunctionCall","src":"1212:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1206:5:150"},"nodeType":"YulFunctionCall","src":"1206:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1186:6:150"},"nodeType":"YulFunctionCall","src":"1186:39:150"},"nodeType":"YulExpressionStatement","src":"1186:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1133:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1136:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1130:2:150"},"nodeType":"YulFunctionCall","src":"1130:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1144:19:150","statements":[{"nodeType":"YulAssignment","src":"1146:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1155:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1158:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1151:3:150"},"nodeType":"YulFunctionCall","src":"1151:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1146:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1126:3:150","statements":[]},"src":"1122:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1255:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1260:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1251:3:150"},"nodeType":"YulFunctionCall","src":"1251:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"1269:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1244:6:150"},"nodeType":"YulFunctionCall","src":"1244:27:150"},"nodeType":"YulExpressionStatement","src":"1244:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1071:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1076:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1081:6:150","type":""}],"src":"1027:250:150"},{"body":{"nodeType":"YulBlock","src":"1332:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1342:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1362:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1356:5:150"},"nodeType":"YulFunctionCall","src":"1356:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1346:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1384:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1389:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1377:6:150"},"nodeType":"YulFunctionCall","src":"1377:19:150"},"nodeType":"YulExpressionStatement","src":"1377:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1444:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1451:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1440:3:150"},"nodeType":"YulFunctionCall","src":"1440:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1462:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"1467:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1458:3:150"},"nodeType":"YulFunctionCall","src":"1458:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"1474:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"1405:34:150"},"nodeType":"YulFunctionCall","src":"1405:76:150"},"nodeType":"YulExpressionStatement","src":"1405:76:150"},{"nodeType":"YulAssignment","src":"1490:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1505:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1518:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1526:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1514:3:150"},"nodeType":"YulFunctionCall","src":"1514:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1535:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1531:3:150"},"nodeType":"YulFunctionCall","src":"1531:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1510:3:150"},"nodeType":"YulFunctionCall","src":"1510:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1501:3:150"},"nodeType":"YulFunctionCall","src":"1501:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"1542:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1497:3:150"},"nodeType":"YulFunctionCall","src":"1497:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1490:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1309:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1316:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1324:3:150","type":""}],"src":"1282:271:150"},{"body":{"nodeType":"YulBlock","src":"1679:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1696:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1707:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1689:6:150"},"nodeType":"YulFunctionCall","src":"1689:21:150"},"nodeType":"YulExpressionStatement","src":"1689:21:150"},{"nodeType":"YulAssignment","src":"1719:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1745:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1757:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1768:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1753:3:150"},"nodeType":"YulFunctionCall","src":"1753:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1727:17:150"},"nodeType":"YulFunctionCall","src":"1727:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1719:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1648:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1659:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1670:4:150","type":""}],"src":"1558:220:150"},{"body":{"nodeType":"YulBlock","src":"1853:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1899:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1908:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1911:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1901:6:150"},"nodeType":"YulFunctionCall","src":"1901:12:150"},"nodeType":"YulExpressionStatement","src":"1901:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1874:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1883:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1870:3:150"},"nodeType":"YulFunctionCall","src":"1870:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1895:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1866:3:150"},"nodeType":"YulFunctionCall","src":"1866:32:150"},"nodeType":"YulIf","src":"1863:52:150"},{"nodeType":"YulAssignment","src":"1924:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1947:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1934:12:150"},"nodeType":"YulFunctionCall","src":"1934:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1924:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1819:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1830:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1842:6:150","type":""}],"src":"1783:180:150"},{"body":{"nodeType":"YulBlock","src":"2069:102:150","statements":[{"nodeType":"YulAssignment","src":"2079:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2091:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2102:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2087:3:150"},"nodeType":"YulFunctionCall","src":"2087:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2079:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2121:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2136:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2152:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2157:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2148:3:150"},"nodeType":"YulFunctionCall","src":"2148:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2161:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2144:3:150"},"nodeType":"YulFunctionCall","src":"2144:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2132:3:150"},"nodeType":"YulFunctionCall","src":"2132:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2114:6:150"},"nodeType":"YulFunctionCall","src":"2114:51:150"},"nodeType":"YulExpressionStatement","src":"2114:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2038:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2049:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2060:4:150","type":""}],"src":"1968:203:150"},{"body":{"nodeType":"YulBlock","src":"2221:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"2285:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2294:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2297:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2287:6:150"},"nodeType":"YulFunctionCall","src":"2287:12:150"},"nodeType":"YulExpressionStatement","src":"2287:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2244:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2255:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2270:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2275:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2266:3:150"},"nodeType":"YulFunctionCall","src":"2266:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2279:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2262:3:150"},"nodeType":"YulFunctionCall","src":"2262:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2251:3:150"},"nodeType":"YulFunctionCall","src":"2251:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2241:2:150"},"nodeType":"YulFunctionCall","src":"2241:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2234:6:150"},"nodeType":"YulFunctionCall","src":"2234:50:150"},"nodeType":"YulIf","src":"2231:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2210:5:150","type":""}],"src":"2176:131:150"},{"body":{"nodeType":"YulBlock","src":"2361:85:150","statements":[{"nodeType":"YulAssignment","src":"2371:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2393:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2380:12:150"},"nodeType":"YulFunctionCall","src":"2380:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2371:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2434:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2409:24:150"},"nodeType":"YulFunctionCall","src":"2409:31:150"},"nodeType":"YulExpressionStatement","src":"2409:31:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2340:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2351:5:150","type":""}],"src":"2312:134:150"},{"body":{"nodeType":"YulBlock","src":"2538:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"2584:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2593:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2596:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2586:6:150"},"nodeType":"YulFunctionCall","src":"2586:12:150"},"nodeType":"YulExpressionStatement","src":"2586:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2559:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2568:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2555:3:150"},"nodeType":"YulFunctionCall","src":"2555:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2580:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2551:3:150"},"nodeType":"YulFunctionCall","src":"2551:32:150"},"nodeType":"YulIf","src":"2548:52:150"},{"nodeType":"YulVariableDeclaration","src":"2609:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2635:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2622:12:150"},"nodeType":"YulFunctionCall","src":"2622:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2613:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2679:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2654:24:150"},"nodeType":"YulFunctionCall","src":"2654:31:150"},"nodeType":"YulExpressionStatement","src":"2654:31:150"},{"nodeType":"YulAssignment","src":"2694:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2704:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2694:6:150"}]},{"nodeType":"YulAssignment","src":"2718:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2745:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2756:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2741:3:150"},"nodeType":"YulFunctionCall","src":"2741:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2728:12:150"},"nodeType":"YulFunctionCall","src":"2728:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2718:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2496:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2507:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2519:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2527:6:150","type":""}],"src":"2451:315:150"},{"body":{"nodeType":"YulBlock","src":"2872:76:150","statements":[{"nodeType":"YulAssignment","src":"2882:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2894:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2905:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2890:3:150"},"nodeType":"YulFunctionCall","src":"2890:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2882:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2924:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"2935:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2917:6:150"},"nodeType":"YulFunctionCall","src":"2917:25:150"},"nodeType":"YulExpressionStatement","src":"2917:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2841:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2852:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2863:4:150","type":""}],"src":"2771:177:150"},{"body":{"nodeType":"YulBlock","src":"3057:352:150","statements":[{"body":{"nodeType":"YulBlock","src":"3103:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3112:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3115:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3105:6:150"},"nodeType":"YulFunctionCall","src":"3105:12:150"},"nodeType":"YulExpressionStatement","src":"3105:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3078:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3087:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3074:3:150"},"nodeType":"YulFunctionCall","src":"3074:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3099:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3070:3:150"},"nodeType":"YulFunctionCall","src":"3070:32:150"},"nodeType":"YulIf","src":"3067:52:150"},{"nodeType":"YulVariableDeclaration","src":"3128:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3154:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3141:12:150"},"nodeType":"YulFunctionCall","src":"3141:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3132:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3198:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3173:24:150"},"nodeType":"YulFunctionCall","src":"3173:31:150"},"nodeType":"YulExpressionStatement","src":"3173:31:150"},{"nodeType":"YulAssignment","src":"3213:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3223:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3213:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3237:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3280:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3265:3:150"},"nodeType":"YulFunctionCall","src":"3265:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3252:12:150"},"nodeType":"YulFunctionCall","src":"3252:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"3241:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"3318:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3293:24:150"},"nodeType":"YulFunctionCall","src":"3293:33:150"},"nodeType":"YulExpressionStatement","src":"3293:33:150"},{"nodeType":"YulAssignment","src":"3335:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"3345:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3335:6:150"}]},{"nodeType":"YulAssignment","src":"3361:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3388:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3399:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3384:3:150"},"nodeType":"YulFunctionCall","src":"3384:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3371:12:150"},"nodeType":"YulFunctionCall","src":"3371:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3361:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3007:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3018:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3030:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3038:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3046:6:150","type":""}],"src":"2953:456:150"},{"body":{"nodeType":"YulBlock","src":"3484:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"3530:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3539:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3542:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3532:6:150"},"nodeType":"YulFunctionCall","src":"3532:12:150"},"nodeType":"YulExpressionStatement","src":"3532:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3505:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3514:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3501:3:150"},"nodeType":"YulFunctionCall","src":"3501:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3526:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3497:3:150"},"nodeType":"YulFunctionCall","src":"3497:32:150"},"nodeType":"YulIf","src":"3494:52:150"},{"nodeType":"YulAssignment","src":"3555:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3578:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3565:12:150"},"nodeType":"YulFunctionCall","src":"3565:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3555:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3450:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3461:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3473:6:150","type":""}],"src":"3414:180:150"},{"body":{"nodeType":"YulBlock","src":"3700:76:150","statements":[{"nodeType":"YulAssignment","src":"3710:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3722:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3733:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3718:3:150"},"nodeType":"YulFunctionCall","src":"3718:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3710:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3752:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3763:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3745:6:150"},"nodeType":"YulFunctionCall","src":"3745:25:150"},"nodeType":"YulExpressionStatement","src":"3745:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3669:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3680:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3691:4:150","type":""}],"src":"3599:177:150"},{"body":{"nodeType":"YulBlock","src":"3868:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"3914:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3923:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3926:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3916:6:150"},"nodeType":"YulFunctionCall","src":"3916:12:150"},"nodeType":"YulExpressionStatement","src":"3916:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3889:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3898:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3885:3:150"},"nodeType":"YulFunctionCall","src":"3885:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3910:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3881:3:150"},"nodeType":"YulFunctionCall","src":"3881:32:150"},"nodeType":"YulIf","src":"3878:52:150"},{"nodeType":"YulAssignment","src":"3939:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3962:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3949:12:150"},"nodeType":"YulFunctionCall","src":"3949:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3939:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3981:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4011:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4022:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4007:3:150"},"nodeType":"YulFunctionCall","src":"4007:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3994:12:150"},"nodeType":"YulFunctionCall","src":"3994:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3985:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4060:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4035:24:150"},"nodeType":"YulFunctionCall","src":"4035:31:150"},"nodeType":"YulExpressionStatement","src":"4035:31:150"},{"nodeType":"YulAssignment","src":"4075:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4085:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4075:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3826:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3837:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3849:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3857:6:150","type":""}],"src":"3781:315:150"},{"body":{"nodeType":"YulBlock","src":"4171:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"4217:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4226:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4229:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4219:6:150"},"nodeType":"YulFunctionCall","src":"4219:12:150"},"nodeType":"YulExpressionStatement","src":"4219:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4192:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4201:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4188:3:150"},"nodeType":"YulFunctionCall","src":"4188:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4213:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4184:3:150"},"nodeType":"YulFunctionCall","src":"4184:32:150"},"nodeType":"YulIf","src":"4181:52:150"},{"nodeType":"YulVariableDeclaration","src":"4242:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4268:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4255:12:150"},"nodeType":"YulFunctionCall","src":"4255:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4246:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4312:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4287:24:150"},"nodeType":"YulFunctionCall","src":"4287:31:150"},"nodeType":"YulExpressionStatement","src":"4287:31:150"},{"nodeType":"YulAssignment","src":"4327:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4337:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4327:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4137:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4148:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4160:6:150","type":""}],"src":"4101:247:150"},{"body":{"nodeType":"YulBlock","src":"4439:337:150","statements":[{"body":{"nodeType":"YulBlock","src":"4485:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4494:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4497:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4487:6:150"},"nodeType":"YulFunctionCall","src":"4487:12:150"},"nodeType":"YulExpressionStatement","src":"4487:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4460:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4469:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4456:3:150"},"nodeType":"YulFunctionCall","src":"4456:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4481:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4452:3:150"},"nodeType":"YulFunctionCall","src":"4452:32:150"},"nodeType":"YulIf","src":"4449:52:150"},{"nodeType":"YulVariableDeclaration","src":"4510:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4536:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4523:12:150"},"nodeType":"YulFunctionCall","src":"4523:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4514:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4580:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4555:24:150"},"nodeType":"YulFunctionCall","src":"4555:31:150"},"nodeType":"YulExpressionStatement","src":"4555:31:150"},{"nodeType":"YulAssignment","src":"4595:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4605:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4595:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4619:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4651:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4662:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4647:3:150"},"nodeType":"YulFunctionCall","src":"4647:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4634:12:150"},"nodeType":"YulFunctionCall","src":"4634:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"4623:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4728:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4737:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4740:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4730:6:150"},"nodeType":"YulFunctionCall","src":"4730:12:150"},"nodeType":"YulExpressionStatement","src":"4730:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4688:7:150"},{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4701:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"4710:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4697:3:150"},"nodeType":"YulFunctionCall","src":"4697:28:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4685:2:150"},"nodeType":"YulFunctionCall","src":"4685:41:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4678:6:150"},"nodeType":"YulFunctionCall","src":"4678:49:150"},"nodeType":"YulIf","src":"4675:69:150"},{"nodeType":"YulAssignment","src":"4753:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"4763:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4753:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4397:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4408:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4420:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4428:6:150","type":""}],"src":"4353:423:150"},{"body":{"nodeType":"YulBlock","src":"4878:87:150","statements":[{"nodeType":"YulAssignment","src":"4888:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4900:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4911:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4896:3:150"},"nodeType":"YulFunctionCall","src":"4896:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4888:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4930:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4945:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4953:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4941:3:150"},"nodeType":"YulFunctionCall","src":"4941:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4923:6:150"},"nodeType":"YulFunctionCall","src":"4923:36:150"},"nodeType":"YulExpressionStatement","src":"4923:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4847:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4858:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4869:4:150","type":""}],"src":"4781:184:150"},{"body":{"nodeType":"YulBlock","src":"5057:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"5103:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5112:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5115:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5105:6:150"},"nodeType":"YulFunctionCall","src":"5105:12:150"},"nodeType":"YulExpressionStatement","src":"5105:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5078:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5087:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5074:3:150"},"nodeType":"YulFunctionCall","src":"5074:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5099:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5070:3:150"},"nodeType":"YulFunctionCall","src":"5070:32:150"},"nodeType":"YulIf","src":"5067:52:150"},{"nodeType":"YulAssignment","src":"5128:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5151:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5138:12:150"},"nodeType":"YulFunctionCall","src":"5138:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5128:6:150"}]},{"nodeType":"YulAssignment","src":"5170:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5197:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5208:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5193:3:150"},"nodeType":"YulFunctionCall","src":"5193:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5180:12:150"},"nodeType":"YulFunctionCall","src":"5180:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5170:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5015:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5026:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5038:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5046:6:150","type":""}],"src":"4970:248:150"},{"body":{"nodeType":"YulBlock","src":"5255:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5272:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5279:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5284:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5275:3:150"},"nodeType":"YulFunctionCall","src":"5275:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5265:6:150"},"nodeType":"YulFunctionCall","src":"5265:31:150"},"nodeType":"YulExpressionStatement","src":"5265:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5312:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5315:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5305:6:150"},"nodeType":"YulFunctionCall","src":"5305:15:150"},"nodeType":"YulExpressionStatement","src":"5305:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5336:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5339:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5329:6:150"},"nodeType":"YulFunctionCall","src":"5329:15:150"},"nodeType":"YulExpressionStatement","src":"5329:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5223:127:150"},{"body":{"nodeType":"YulBlock","src":"5401:209:150","statements":[{"nodeType":"YulAssignment","src":"5411:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5427:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5421:5:150"},"nodeType":"YulFunctionCall","src":"5421:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5411:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5439:37:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5461:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5469:6:150","type":"","value":"0x0180"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5457:3:150"},"nodeType":"YulFunctionCall","src":"5457:19:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5443:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5551:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5553:16:150"},"nodeType":"YulFunctionCall","src":"5553:18:150"},"nodeType":"YulExpressionStatement","src":"5553:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5494:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5514:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5518:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5510:3:150"},"nodeType":"YulFunctionCall","src":"5510:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5522:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5506:3:150"},"nodeType":"YulFunctionCall","src":"5506:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5491:2:150"},"nodeType":"YulFunctionCall","src":"5491:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5530:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5542:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5527:2:150"},"nodeType":"YulFunctionCall","src":"5527:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5488:2:150"},"nodeType":"YulFunctionCall","src":"5488:62:150"},"nodeType":"YulIf","src":"5485:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5589:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5593:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5582:6:150"},"nodeType":"YulFunctionCall","src":"5582:22:150"},"nodeType":"YulExpressionStatement","src":"5582:22:150"}]},"name":"allocate_memory_6061","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5390:6:150","type":""}],"src":"5355:255:150"},{"body":{"nodeType":"YulBlock","src":"5660:230:150","statements":[{"nodeType":"YulAssignment","src":"5670:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5686:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5680:5:150"},"nodeType":"YulFunctionCall","src":"5680:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5670:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5698:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5720:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"5736:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"5742:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5732:3:150"},"nodeType":"YulFunctionCall","src":"5732:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5751:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5747:3:150"},"nodeType":"YulFunctionCall","src":"5747:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5728:3:150"},"nodeType":"YulFunctionCall","src":"5728:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5716:3:150"},"nodeType":"YulFunctionCall","src":"5716:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5702:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5831:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5833:16:150"},"nodeType":"YulFunctionCall","src":"5833:18:150"},"nodeType":"YulExpressionStatement","src":"5833:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5774:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5794:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5798:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5790:3:150"},"nodeType":"YulFunctionCall","src":"5790:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5802:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5786:3:150"},"nodeType":"YulFunctionCall","src":"5786:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5771:2:150"},"nodeType":"YulFunctionCall","src":"5771:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5810:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5822:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5807:2:150"},"nodeType":"YulFunctionCall","src":"5807:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5768:2:150"},"nodeType":"YulFunctionCall","src":"5768:62:150"},"nodeType":"YulIf","src":"5765:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5869:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5873:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5862:6:150"},"nodeType":"YulFunctionCall","src":"5862:22:150"},"nodeType":"YulExpressionStatement","src":"5862:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"5640:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5649:6:150","type":""}],"src":"5615:275:150"},{"body":{"nodeType":"YulBlock","src":"5947:478:150","statements":[{"body":{"nodeType":"YulBlock","src":"5996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5998:6:150"},"nodeType":"YulFunctionCall","src":"5998:12:150"},"nodeType":"YulExpressionStatement","src":"5998:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5975:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5983:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5971:3:150"},"nodeType":"YulFunctionCall","src":"5971:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"5990:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5967:3:150"},"nodeType":"YulFunctionCall","src":"5967:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5960:6:150"},"nodeType":"YulFunctionCall","src":"5960:35:150"},"nodeType":"YulIf","src":"5957:55:150"},{"nodeType":"YulVariableDeclaration","src":"6021:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6044:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6031:12:150"},"nodeType":"YulFunctionCall","src":"6031:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6025:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6090:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6092:16:150"},"nodeType":"YulFunctionCall","src":"6092:18:150"},"nodeType":"YulExpressionStatement","src":"6092:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6066:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6078:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6082:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6074:3:150"},"nodeType":"YulFunctionCall","src":"6074:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6086:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6070:3:150"},"nodeType":"YulFunctionCall","src":"6070:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6063:2:150"},"nodeType":"YulFunctionCall","src":"6063:26:150"},"nodeType":"YulIf","src":"6060:52:150"},{"nodeType":"YulVariableDeclaration","src":"6121:70:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6164:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6168:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6160:3:150"},"nodeType":"YulFunctionCall","src":"6160:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6179:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6175:3:150"},"nodeType":"YulFunctionCall","src":"6175:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6156:3:150"},"nodeType":"YulFunctionCall","src":"6156:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6185:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6152:3:150"},"nodeType":"YulFunctionCall","src":"6152:38:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"6136:15:150"},"nodeType":"YulFunctionCall","src":"6136:55:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"6125:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6207:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6216:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6200:6:150"},"nodeType":"YulFunctionCall","src":"6200:19:150"},"nodeType":"YulExpressionStatement","src":"6200:19:150"},{"body":{"nodeType":"YulBlock","src":"6267:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6276:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6279:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6269:6:150"},"nodeType":"YulFunctionCall","src":"6269:12:150"},"nodeType":"YulExpressionStatement","src":"6269:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6242:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6250:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6238:3:150"},"nodeType":"YulFunctionCall","src":"6238:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"6255:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6234:3:150"},"nodeType":"YulFunctionCall","src":"6234:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"6262:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6231:2:150"},"nodeType":"YulFunctionCall","src":"6231:35:150"},"nodeType":"YulIf","src":"6228:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6309:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"6318:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6305:3:150"},"nodeType":"YulFunctionCall","src":"6305:18:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6329:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6337:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6325:3:150"},"nodeType":"YulFunctionCall","src":"6325:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6344:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"6292:12:150"},"nodeType":"YulFunctionCall","src":"6292:55:150"},"nodeType":"YulExpressionStatement","src":"6292:55:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6371:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6380:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6367:3:150"},"nodeType":"YulFunctionCall","src":"6367:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"6385:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6363:3:150"},"nodeType":"YulFunctionCall","src":"6363:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6392:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6356:6:150"},"nodeType":"YulFunctionCall","src":"6356:38:150"},"nodeType":"YulExpressionStatement","src":"6356:38:150"},{"nodeType":"YulAssignment","src":"6403:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"6412:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"6403:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5921:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5929:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5937:5:150","type":""}],"src":"5895:530:150"},{"body":{"nodeType":"YulBlock","src":"6526:359:150","statements":[{"body":{"nodeType":"YulBlock","src":"6572:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6581:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6584:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6574:6:150"},"nodeType":"YulFunctionCall","src":"6574:12:150"},"nodeType":"YulExpressionStatement","src":"6574:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6547:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6556:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6543:3:150"},"nodeType":"YulFunctionCall","src":"6543:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6568:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6539:3:150"},"nodeType":"YulFunctionCall","src":"6539:32:150"},"nodeType":"YulIf","src":"6536:52:150"},{"nodeType":"YulVariableDeclaration","src":"6597:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6623:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6610:12:150"},"nodeType":"YulFunctionCall","src":"6610:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6601:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6667:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6642:24:150"},"nodeType":"YulFunctionCall","src":"6642:31:150"},"nodeType":"YulExpressionStatement","src":"6642:31:150"},{"nodeType":"YulAssignment","src":"6682:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6692:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6682:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6706:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6737:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6748:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6733:3:150"},"nodeType":"YulFunctionCall","src":"6733:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6720:12:150"},"nodeType":"YulFunctionCall","src":"6720:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6710:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6795:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6804:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6807:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6797:6:150"},"nodeType":"YulFunctionCall","src":"6797:12:150"},"nodeType":"YulExpressionStatement","src":"6797:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6767:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6783:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6787:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6779:3:150"},"nodeType":"YulFunctionCall","src":"6779:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6791:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6775:3:150"},"nodeType":"YulFunctionCall","src":"6775:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6764:2:150"},"nodeType":"YulFunctionCall","src":"6764:30:150"},"nodeType":"YulIf","src":"6761:50:150"},{"nodeType":"YulAssignment","src":"6820:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6851:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6862:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6847:3:150"},"nodeType":"YulFunctionCall","src":"6847:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6871:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6830:16:150"},"nodeType":"YulFunctionCall","src":"6830:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6820:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6484:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6495:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6507:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6515:6:150","type":""}],"src":"6430:455:150"},{"body":{"nodeType":"YulBlock","src":"6970:241:150","statements":[{"body":{"nodeType":"YulBlock","src":"7016:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7025:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7028:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7018:6:150"},"nodeType":"YulFunctionCall","src":"7018:12:150"},"nodeType":"YulExpressionStatement","src":"7018:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6991:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7000:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6987:3:150"},"nodeType":"YulFunctionCall","src":"6987:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7012:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6983:3:150"},"nodeType":"YulFunctionCall","src":"6983:32:150"},"nodeType":"YulIf","src":"6980:52:150"},{"nodeType":"YulVariableDeclaration","src":"7041:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7068:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7055:12:150"},"nodeType":"YulFunctionCall","src":"7055:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7045:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7121:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7130:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7133:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7123:6:150"},"nodeType":"YulFunctionCall","src":"7123:12:150"},"nodeType":"YulExpressionStatement","src":"7123:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7093:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7109:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7113:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7105:3:150"},"nodeType":"YulFunctionCall","src":"7105:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7117:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7101:3:150"},"nodeType":"YulFunctionCall","src":"7101:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7090:2:150"},"nodeType":"YulFunctionCall","src":"7090:30:150"},"nodeType":"YulIf","src":"7087:50:150"},{"nodeType":"YulAssignment","src":"7146:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7177:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"7188:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7173:3:150"},"nodeType":"YulFunctionCall","src":"7173:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7197:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"7156:16:150"},"nodeType":"YulFunctionCall","src":"7156:49:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7146:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6936:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6947:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6959:6:150","type":""}],"src":"6890:321:150"},{"body":{"nodeType":"YulBlock","src":"7332:102:150","statements":[{"nodeType":"YulAssignment","src":"7342:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7354:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7365:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7350:3:150"},"nodeType":"YulFunctionCall","src":"7350:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7342:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7384:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7399:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7415:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7420:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7411:3:150"},"nodeType":"YulFunctionCall","src":"7411:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7424:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7407:3:150"},"nodeType":"YulFunctionCall","src":"7407:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7395:3:150"},"nodeType":"YulFunctionCall","src":"7395:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7377:6:150"},"nodeType":"YulFunctionCall","src":"7377:51:150"},"nodeType":"YulExpressionStatement","src":"7377:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7301:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7312:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7323:4:150","type":""}],"src":"7216:218:150"},{"body":{"nodeType":"YulBlock","src":"7481:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"7535:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7544:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7547:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7537:6:150"},"nodeType":"YulFunctionCall","src":"7537:12:150"},"nodeType":"YulExpressionStatement","src":"7537:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7504:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7525:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7518:6:150"},"nodeType":"YulFunctionCall","src":"7518:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7511:6:150"},"nodeType":"YulFunctionCall","src":"7511:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7501:2:150"},"nodeType":"YulFunctionCall","src":"7501:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7494:6:150"},"nodeType":"YulFunctionCall","src":"7494:40:150"},"nodeType":"YulIf","src":"7491:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7470:5:150","type":""}],"src":"7439:118:150"},{"body":{"nodeType":"YulBlock","src":"7629:174:150","statements":[{"body":{"nodeType":"YulBlock","src":"7675:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7684:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7687:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7677:6:150"},"nodeType":"YulFunctionCall","src":"7677:12:150"},"nodeType":"YulExpressionStatement","src":"7677:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7650:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7659:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7646:3:150"},"nodeType":"YulFunctionCall","src":"7646:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7671:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7642:3:150"},"nodeType":"YulFunctionCall","src":"7642:32:150"},"nodeType":"YulIf","src":"7639:52:150"},{"nodeType":"YulVariableDeclaration","src":"7700:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7726:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7713:12:150"},"nodeType":"YulFunctionCall","src":"7713:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7704:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7767:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"7745:21:150"},"nodeType":"YulFunctionCall","src":"7745:28:150"},"nodeType":"YulExpressionStatement","src":"7745:28:150"},{"nodeType":"YulAssignment","src":"7782:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7792:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7782:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7595:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7606:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7618:6:150","type":""}],"src":"7562:241:150"},{"body":{"nodeType":"YulBlock","src":"7945:102:150","statements":[{"nodeType":"YulAssignment","src":"7955:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7978:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7963:3:150"},"nodeType":"YulFunctionCall","src":"7963:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7955:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7997:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8012:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8028:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8033:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8024:3:150"},"nodeType":"YulFunctionCall","src":"8024:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8037:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8020:3:150"},"nodeType":"YulFunctionCall","src":"8020:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8008:3:150"},"nodeType":"YulFunctionCall","src":"8008:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7990:6:150"},"nodeType":"YulFunctionCall","src":"7990:51:150"},"nodeType":"YulExpressionStatement","src":"7990:51:150"}]},"name":"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7914:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7925:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7936:4:150","type":""}],"src":"7808:239:150"},{"body":{"nodeType":"YulBlock","src":"8116:648:150","statements":[{"body":{"nodeType":"YulBlock","src":"8165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8167:6:150"},"nodeType":"YulFunctionCall","src":"8167:12:150"},"nodeType":"YulExpressionStatement","src":"8167:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8144:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8152:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8140:3:150"},"nodeType":"YulFunctionCall","src":"8140:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"8159:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8136:3:150"},"nodeType":"YulFunctionCall","src":"8136:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8129:6:150"},"nodeType":"YulFunctionCall","src":"8129:35:150"},"nodeType":"YulIf","src":"8126:55:150"},{"nodeType":"YulVariableDeclaration","src":"8190:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8213:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8200:12:150"},"nodeType":"YulFunctionCall","src":"8200:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8194:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8229:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8239:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8233:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8282:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8284:16:150"},"nodeType":"YulFunctionCall","src":"8284:18:150"},"nodeType":"YulExpressionStatement","src":"8284:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"8258:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8270:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"8274:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8266:3:150"},"nodeType":"YulFunctionCall","src":"8266:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"8278:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8262:3:150"},"nodeType":"YulFunctionCall","src":"8262:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8255:2:150"},"nodeType":"YulFunctionCall","src":"8255:26:150"},"nodeType":"YulIf","src":"8252:52:150"},{"nodeType":"YulVariableDeclaration","src":"8313:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8327:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"8330:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8323:3:150"},"nodeType":"YulFunctionCall","src":"8323:10:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"8317:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8342:39:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8373:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8377:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8369:3:150"},"nodeType":"YulFunctionCall","src":"8369:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8353:15:150"},"nodeType":"YulFunctionCall","src":"8353:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"8346:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8390:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"8403:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"8394:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8422:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8427:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8415:6:150"},"nodeType":"YulFunctionCall","src":"8415:15:150"},"nodeType":"YulExpressionStatement","src":"8415:15:150"},{"nodeType":"YulAssignment","src":"8439:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8450:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8455:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8446:3:150"},"nodeType":"YulFunctionCall","src":"8446:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8439:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"8467:38:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8489:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"8497:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8485:3:150"},"nodeType":"YulFunctionCall","src":"8485:15:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8502:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8481:3:150"},"nodeType":"YulFunctionCall","src":"8481:24:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"8471:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8533:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8542:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8545:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8535:6:150"},"nodeType":"YulFunctionCall","src":"8535:12:150"},"nodeType":"YulExpressionStatement","src":"8535:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"8520:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"8528:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8517:2:150"},"nodeType":"YulFunctionCall","src":"8517:15:150"},"nodeType":"YulIf","src":"8514:35:150"},{"nodeType":"YulVariableDeclaration","src":"8558:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8573:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8581:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8569:3:150"},"nodeType":"YulFunctionCall","src":"8569:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"8562:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8649:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8670:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8688:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8675:12:150"},"nodeType":"YulFunctionCall","src":"8675:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8663:6:150"},"nodeType":"YulFunctionCall","src":"8663:30:150"},"nodeType":"YulExpressionStatement","src":"8663:30:150"},{"nodeType":"YulAssignment","src":"8706:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8717:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8722:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8713:3:150"},"nodeType":"YulFunctionCall","src":"8713:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8706:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8604:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"8609:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8601:2:150"},"nodeType":"YulFunctionCall","src":"8601:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8617:23:150","statements":[{"nodeType":"YulAssignment","src":"8619:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8630:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8635:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8626:3:150"},"nodeType":"YulFunctionCall","src":"8626:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"8619:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"8597:3:150","statements":[]},"src":"8593:142:150"},{"nodeType":"YulAssignment","src":"8744:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"8753:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8744:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8090:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"8098:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8106:5:150","type":""}],"src":"8052:712:150"},{"body":{"nodeType":"YulBlock","src":"8876:1645:150","statements":[{"body":{"nodeType":"YulBlock","src":"8922:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8931:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8934:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8924:6:150"},"nodeType":"YulFunctionCall","src":"8924:12:150"},"nodeType":"YulExpressionStatement","src":"8924:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8897:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8906:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8893:3:150"},"nodeType":"YulFunctionCall","src":"8893:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8918:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8889:3:150"},"nodeType":"YulFunctionCall","src":"8889:32:150"},"nodeType":"YulIf","src":"8886:52:150"},{"nodeType":"YulVariableDeclaration","src":"8947:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8974:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8961:12:150"},"nodeType":"YulFunctionCall","src":"8961:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8951:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8993:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9011:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9015:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9007:3:150"},"nodeType":"YulFunctionCall","src":"9007:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9019:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9003:3:150"},"nodeType":"YulFunctionCall","src":"9003:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8997:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9048:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9057:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9060:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9050:6:150"},"nodeType":"YulFunctionCall","src":"9050:12:150"},"nodeType":"YulExpressionStatement","src":"9050:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9036:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9044:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9033:2:150"},"nodeType":"YulFunctionCall","src":"9033:14:150"},"nodeType":"YulIf","src":"9030:34:150"},{"nodeType":"YulVariableDeclaration","src":"9073:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9087:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9098:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9083:3:150"},"nodeType":"YulFunctionCall","src":"9083:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"9077:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9147:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9156:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9159:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9149:6:150"},"nodeType":"YulFunctionCall","src":"9149:12:150"},"nodeType":"YulExpressionStatement","src":"9149:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9125:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9134:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9121:3:150"},"nodeType":"YulFunctionCall","src":"9121:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"9139:6:150","type":"","value":"0x0180"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9117:3:150"},"nodeType":"YulFunctionCall","src":"9117:29:150"},"nodeType":"YulIf","src":"9114:49:150"},{"nodeType":"YulVariableDeclaration","src":"9172:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_6061","nodeType":"YulIdentifier","src":"9185:20:150"},"nodeType":"YulFunctionCall","src":"9185:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9176:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9216:32:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9245:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9232:12:150"},"nodeType":"YulFunctionCall","src":"9232:16:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"9220:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9277:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9286:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9289:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9279:6:150"},"nodeType":"YulFunctionCall","src":"9279:12:150"},"nodeType":"YulExpressionStatement","src":"9279:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"9263:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9273:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9260:2:150"},"nodeType":"YulFunctionCall","src":"9260:16:150"},"nodeType":"YulIf","src":"9257:36:150"},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9309:5:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9337:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9341:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9333:3:150"},"nodeType":"YulFunctionCall","src":"9333:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9352:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9316:16:150"},"nodeType":"YulFunctionCall","src":"9316:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9302:6:150"},"nodeType":"YulFunctionCall","src":"9302:59:150"},"nodeType":"YulExpressionStatement","src":"9302:59:150"},{"nodeType":"YulVariableDeclaration","src":"9370:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9403:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9407:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9399:3:150"},"nodeType":"YulFunctionCall","src":"9399:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9386:12:150"},"nodeType":"YulFunctionCall","src":"9386:25:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"9374:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9440:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9449:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9452:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9442:6:150"},"nodeType":"YulFunctionCall","src":"9442:12:150"},"nodeType":"YulExpressionStatement","src":"9442:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"9426:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9436:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9423:2:150"},"nodeType":"YulFunctionCall","src":"9423:16:150"},"nodeType":"YulIf","src":"9420:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9476:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9483:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9472:3:150"},"nodeType":"YulFunctionCall","src":"9472:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9509:2:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"9513:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9505:3:150"},"nodeType":"YulFunctionCall","src":"9505:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9524:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9488:16:150"},"nodeType":"YulFunctionCall","src":"9488:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9465:6:150"},"nodeType":"YulFunctionCall","src":"9465:68:150"},"nodeType":"YulExpressionStatement","src":"9465:68:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9553:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9560:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9549:3:150"},"nodeType":"YulFunctionCall","src":"9549:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9588:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9592:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9584:3:150"},"nodeType":"YulFunctionCall","src":"9584:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9565:18:150"},"nodeType":"YulFunctionCall","src":"9565:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9542:6:150"},"nodeType":"YulFunctionCall","src":"9542:55:150"},"nodeType":"YulExpressionStatement","src":"9542:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9617:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9624:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9613:3:150"},"nodeType":"YulFunctionCall","src":"9613:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9652:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9656:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9648:3:150"},"nodeType":"YulFunctionCall","src":"9648:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9629:18:150"},"nodeType":"YulFunctionCall","src":"9629:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9606:6:150"},"nodeType":"YulFunctionCall","src":"9606:55:150"},"nodeType":"YulExpressionStatement","src":"9606:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9681:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9688:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9677:3:150"},"nodeType":"YulFunctionCall","src":"9677:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9717:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9721:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9713:3:150"},"nodeType":"YulFunctionCall","src":"9713:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9694:18:150"},"nodeType":"YulFunctionCall","src":"9694:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9670:6:150"},"nodeType":"YulFunctionCall","src":"9670:57:150"},"nodeType":"YulExpressionStatement","src":"9670:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9747:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9754:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9743:3:150"},"nodeType":"YulFunctionCall","src":"9743:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9783:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9787:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9779:3:150"},"nodeType":"YulFunctionCall","src":"9779:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9760:18:150"},"nodeType":"YulFunctionCall","src":"9760:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9736:6:150"},"nodeType":"YulFunctionCall","src":"9736:57:150"},"nodeType":"YulExpressionStatement","src":"9736:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9813:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9820:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9809:3:150"},"nodeType":"YulFunctionCall","src":"9809:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9849:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9853:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9845:3:150"},"nodeType":"YulFunctionCall","src":"9845:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9826:18:150"},"nodeType":"YulFunctionCall","src":"9826:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9802:6:150"},"nodeType":"YulFunctionCall","src":"9802:57:150"},"nodeType":"YulExpressionStatement","src":"9802:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9879:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9886:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9875:3:150"},"nodeType":"YulFunctionCall","src":"9875:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9909:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9913:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9905:3:150"},"nodeType":"YulFunctionCall","src":"9905:12:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9892:12:150"},"nodeType":"YulFunctionCall","src":"9892:26:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9868:6:150"},"nodeType":"YulFunctionCall","src":"9868:51:150"},"nodeType":"YulExpressionStatement","src":"9868:51:150"},{"nodeType":"YulVariableDeclaration","src":"9928:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9938:3:150","type":"","value":"256"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"9932:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9950:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9983:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"9987:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9979:3:150"},"nodeType":"YulFunctionCall","src":"9979:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9966:12:150"},"nodeType":"YulFunctionCall","src":"9966:25:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"9954:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10020:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10029:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10032:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10022:6:150"},"nodeType":"YulFunctionCall","src":"10022:12:150"},"nodeType":"YulExpressionStatement","src":"10022:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"10006:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10016:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10003:2:150"},"nodeType":"YulFunctionCall","src":"10003:16:150"},"nodeType":"YulIf","src":"10000:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10056:5:150"},{"name":"_3","nodeType":"YulIdentifier","src":"10063:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10052:3:150"},"nodeType":"YulFunctionCall","src":"10052:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10089:2:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"10093:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10085:3:150"},"nodeType":"YulFunctionCall","src":"10085:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10104:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"10068:16:150"},"nodeType":"YulFunctionCall","src":"10068:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10045:6:150"},"nodeType":"YulFunctionCall","src":"10045:68:150"},"nodeType":"YulExpressionStatement","src":"10045:68:150"},{"nodeType":"YulVariableDeclaration","src":"10122:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10132:3:150","type":"","value":"288"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"10126:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10144:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10177:2:150"},{"name":"_4","nodeType":"YulIdentifier","src":"10181:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10173:3:150"},"nodeType":"YulFunctionCall","src":"10173:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10160:12:150"},"nodeType":"YulFunctionCall","src":"10160:25:150"},"variables":[{"name":"offset_4","nodeType":"YulTypedName","src":"10148:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10214:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10223:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10226:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10216:6:150"},"nodeType":"YulFunctionCall","src":"10216:12:150"},"nodeType":"YulExpressionStatement","src":"10216:12:150"}]},"condition":{"arguments":[{"name":"offset_4","nodeType":"YulIdentifier","src":"10200:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10210:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10197:2:150"},"nodeType":"YulFunctionCall","src":"10197:16:150"},"nodeType":"YulIf","src":"10194:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10250:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"10257:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10246:3:150"},"nodeType":"YulFunctionCall","src":"10246:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10295:2:150"},{"name":"offset_4","nodeType":"YulIdentifier","src":"10299:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10291:3:150"},"nodeType":"YulFunctionCall","src":"10291:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10310:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"10262:28:150"},"nodeType":"YulFunctionCall","src":"10262:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10239:6:150"},"nodeType":"YulFunctionCall","src":"10239:80:150"},"nodeType":"YulExpressionStatement","src":"10239:80:150"},{"nodeType":"YulVariableDeclaration","src":"10328:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10338:3:150","type":"","value":"320"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"10332:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10361:5:150"},{"name":"_5","nodeType":"YulIdentifier","src":"10368:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10357:3:150"},"nodeType":"YulFunctionCall","src":"10357:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10396:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"10400:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10392:3:150"},"nodeType":"YulFunctionCall","src":"10392:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10373:18:150"},"nodeType":"YulFunctionCall","src":"10373:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10350:6:150"},"nodeType":"YulFunctionCall","src":"10350:55:150"},"nodeType":"YulExpressionStatement","src":"10350:55:150"},{"nodeType":"YulVariableDeclaration","src":"10414:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10424:3:150","type":"","value":"352"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"10418:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10447:5:150"},{"name":"_6","nodeType":"YulIdentifier","src":"10454:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10443:3:150"},"nodeType":"YulFunctionCall","src":"10443:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10482:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"10486:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10478:3:150"},"nodeType":"YulFunctionCall","src":"10478:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10459:18:150"},"nodeType":"YulFunctionCall","src":"10459:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10436:6:150"},"nodeType":"YulFunctionCall","src":"10436:55:150"},"nodeType":"YulExpressionStatement","src":"10436:55:150"},{"nodeType":"YulAssignment","src":"10500:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10510:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10500:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_InitializationData_$32974_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8842:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8853:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8865:6:150","type":""}],"src":"8769:1752:150"},{"body":{"nodeType":"YulBlock","src":"10586:330:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10603:3:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10614:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10608:5:150"},"nodeType":"YulFunctionCall","src":"10608:12:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10596:6:150"},"nodeType":"YulFunctionCall","src":"10596:25:150"},"nodeType":"YulExpressionStatement","src":"10596:25:150"},{"nodeType":"YulVariableDeclaration","src":"10630:43:150","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10660:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10667:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10656:3:150"},"nodeType":"YulFunctionCall","src":"10656:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10650:5:150"},"nodeType":"YulFunctionCall","src":"10650:23:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10634:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10693:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10698:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10689:3:150"},"nodeType":"YulFunctionCall","src":"10689:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"10705:4:150","type":"","value":"0x80"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10682:6:150"},"nodeType":"YulFunctionCall","src":"10682:28:150"},"nodeType":"YulExpressionStatement","src":"10682:28:150"},{"nodeType":"YulVariableDeclaration","src":"10719:59:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10749:12:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10767:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10772:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10763:3:150"},"nodeType":"YulFunctionCall","src":"10763:14:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"10731:17:150"},"nodeType":"YulFunctionCall","src":"10731:47:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"10723:4:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10798:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10803:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10794:3:150"},"nodeType":"YulFunctionCall","src":"10794:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10820:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10827:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10816:3:150"},"nodeType":"YulFunctionCall","src":"10816:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10810:5:150"},"nodeType":"YulFunctionCall","src":"10810:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10787:6:150"},"nodeType":"YulFunctionCall","src":"10787:47:150"},"nodeType":"YulExpressionStatement","src":"10787:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10854:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10859:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10850:3:150"},"nodeType":"YulFunctionCall","src":"10850:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10876:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10883:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10872:3:150"},"nodeType":"YulFunctionCall","src":"10872:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10866:5:150"},"nodeType":"YulFunctionCall","src":"10866:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10843:6:150"},"nodeType":"YulFunctionCall","src":"10843:47:150"},"nodeType":"YulExpressionStatement","src":"10843:47:150"},{"nodeType":"YulAssignment","src":"10899:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"10906:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10899:3:150"}]}]},"name":"abi_encode_struct_TokenInfo","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10563:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10570:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10578:3:150","type":""}],"src":"10526:390:150"},{"body":{"nodeType":"YulBlock","src":"11078:109:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11095:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11106:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11088:6:150"},"nodeType":"YulFunctionCall","src":"11088:21:150"},"nodeType":"YulExpressionStatement","src":"11088:21:150"},{"nodeType":"YulAssignment","src":"11118:63:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11154:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11177:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11162:3:150"},"nodeType":"YulFunctionCall","src":"11162:18:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"11126:27:150"},"nodeType":"YulFunctionCall","src":"11126:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11118:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_TokenInfo_$34675_memory_ptr__to_t_struct$_TokenInfo_$34675_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11047:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11058:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11069:4:150","type":""}],"src":"10921:266:150"},{"body":{"nodeType":"YulBlock","src":"11316:102:150","statements":[{"nodeType":"YulAssignment","src":"11326:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11338:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11349:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11334:3:150"},"nodeType":"YulFunctionCall","src":"11334:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11326:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11368:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11383:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11399:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11404:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11395:3:150"},"nodeType":"YulFunctionCall","src":"11395:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11408:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11391:3:150"},"nodeType":"YulFunctionCall","src":"11391:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11379:3:150"},"nodeType":"YulFunctionCall","src":"11379:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11361:6:150"},"nodeType":"YulFunctionCall","src":"11361:51:150"},"nodeType":"YulExpressionStatement","src":"11361:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11285:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11296:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11307:4:150","type":""}],"src":"11192:226:150"},{"body":{"nodeType":"YulBlock","src":"11527:279:150","statements":[{"body":{"nodeType":"YulBlock","src":"11573:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11582:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11585:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11575:6:150"},"nodeType":"YulFunctionCall","src":"11575:12:150"},"nodeType":"YulExpressionStatement","src":"11575:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11548:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11557:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11544:3:150"},"nodeType":"YulFunctionCall","src":"11544:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11569:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11540:3:150"},"nodeType":"YulFunctionCall","src":"11540:32:150"},"nodeType":"YulIf","src":"11537:52:150"},{"nodeType":"YulVariableDeclaration","src":"11598:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11624:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11611:12:150"},"nodeType":"YulFunctionCall","src":"11611:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11602:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11668:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11643:24:150"},"nodeType":"YulFunctionCall","src":"11643:31:150"},"nodeType":"YulExpressionStatement","src":"11643:31:150"},{"nodeType":"YulAssignment","src":"11683:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11693:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11683:6:150"}]},{"nodeType":"YulAssignment","src":"11707:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11734:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11745:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11730:3:150"},"nodeType":"YulFunctionCall","src":"11730:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11717:12:150"},"nodeType":"YulFunctionCall","src":"11717:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11707:6:150"}]},{"nodeType":"YulAssignment","src":"11758:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11785:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11796:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11781:3:150"},"nodeType":"YulFunctionCall","src":"11781:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11768:12:150"},"nodeType":"YulFunctionCall","src":"11768:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11758:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11477:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11488:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11500:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11508:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11516:6:150","type":""}],"src":"11423:383:150"},{"body":{"nodeType":"YulBlock","src":"12018:642:150","statements":[{"nodeType":"YulVariableDeclaration","src":"12028:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"12038:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"12032:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12049:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12067:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12078:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12063:3:150"},"nodeType":"YulFunctionCall","src":"12063:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"12053:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12097:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12108:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12090:6:150"},"nodeType":"YulFunctionCall","src":"12090:21:150"},"nodeType":"YulExpressionStatement","src":"12090:21:150"},{"nodeType":"YulVariableDeclaration","src":"12120:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"12131:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"12124:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12146:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12166:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12160:5:150"},"nodeType":"YulFunctionCall","src":"12160:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12150:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"12189:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"12197:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12182:6:150"},"nodeType":"YulFunctionCall","src":"12182:22:150"},"nodeType":"YulExpressionStatement","src":"12182:22:150"},{"nodeType":"YulAssignment","src":"12213:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12224:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12235:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12220:3:150"},"nodeType":"YulFunctionCall","src":"12220:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12213:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"12247:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12269:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12284:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"12287:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12280:3:150"},"nodeType":"YulFunctionCall","src":"12280:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12265:3:150"},"nodeType":"YulFunctionCall","src":"12265:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"12297:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12261:3:150"},"nodeType":"YulFunctionCall","src":"12261:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"12251:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12309:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12327:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12335:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12323:3:150"},"nodeType":"YulFunctionCall","src":"12323:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"12313:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12347:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"12356:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"12351:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12415:216:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12436:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"12449:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12457:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12445:3:150"},"nodeType":"YulFunctionCall","src":"12445:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12473:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12469:3:150"},"nodeType":"YulFunctionCall","src":"12469:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12441:3:150"},"nodeType":"YulFunctionCall","src":"12441:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12429:6:150"},"nodeType":"YulFunctionCall","src":"12429:49:150"},"nodeType":"YulExpressionStatement","src":"12429:49:150"},{"nodeType":"YulAssignment","src":"12491:60:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12535:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12529:5:150"},"nodeType":"YulFunctionCall","src":"12529:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"12544:6:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"12501:27:150"},"nodeType":"YulFunctionCall","src":"12501:50:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"12491:6:150"}]},{"nodeType":"YulAssignment","src":"12564:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12578:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12586:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12574:3:150"},"nodeType":"YulFunctionCall","src":"12574:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12564:6:150"}]},{"nodeType":"YulAssignment","src":"12602:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12613:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12618:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12609:3:150"},"nodeType":"YulFunctionCall","src":"12609:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12602:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12377:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"12380:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12374:2:150"},"nodeType":"YulFunctionCall","src":"12374:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"12388:18:150","statements":[{"nodeType":"YulAssignment","src":"12390:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12399:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"12402:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12395:3:150"},"nodeType":"YulFunctionCall","src":"12395:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"12390:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"12370:3:150","statements":[]},"src":"12366:265:150"},{"nodeType":"YulAssignment","src":"12640:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"12648:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12640:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11987:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11998:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12009:4:150","type":""}],"src":"11811:849:150"},{"body":{"nodeType":"YulBlock","src":"12764:97:150","statements":[{"nodeType":"YulAssignment","src":"12774:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12786:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12797:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12782:3:150"},"nodeType":"YulFunctionCall","src":"12782:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12774:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12816:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12831:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12839:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12827:3:150"},"nodeType":"YulFunctionCall","src":"12827:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12809:6:150"},"nodeType":"YulFunctionCall","src":"12809:46:150"},"nodeType":"YulExpressionStatement","src":"12809:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12733:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12744:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12755:4:150","type":""}],"src":"12665:196:150"},{"body":{"nodeType":"YulBlock","src":"12950:298:150","statements":[{"body":{"nodeType":"YulBlock","src":"12996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12998:6:150"},"nodeType":"YulFunctionCall","src":"12998:12:150"},"nodeType":"YulExpressionStatement","src":"12998:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12971:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12980:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12967:3:150"},"nodeType":"YulFunctionCall","src":"12967:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12992:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12963:3:150"},"nodeType":"YulFunctionCall","src":"12963:32:150"},"nodeType":"YulIf","src":"12960:52:150"},{"nodeType":"YulVariableDeclaration","src":"13021:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13047:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13034:12:150"},"nodeType":"YulFunctionCall","src":"13034:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13025:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13091:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13066:24:150"},"nodeType":"YulFunctionCall","src":"13066:31:150"},"nodeType":"YulExpressionStatement","src":"13066:31:150"},{"nodeType":"YulAssignment","src":"13106:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13116:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13106:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13130:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13162:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13173:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13158:3:150"},"nodeType":"YulFunctionCall","src":"13158:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13145:12:150"},"nodeType":"YulFunctionCall","src":"13145:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13134:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13208:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"13186:21:150"},"nodeType":"YulFunctionCall","src":"13186:30:150"},"nodeType":"YulExpressionStatement","src":"13186:30:150"},{"nodeType":"YulAssignment","src":"13225:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"13235:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13225:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12908:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12919:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12931:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12939:6:150","type":""}],"src":"12866:382:150"},{"body":{"nodeType":"YulBlock","src":"13348:253:150","statements":[{"body":{"nodeType":"YulBlock","src":"13394:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13403:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13406:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13396:6:150"},"nodeType":"YulFunctionCall","src":"13396:12:150"},"nodeType":"YulExpressionStatement","src":"13396:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13369:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13378:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13365:3:150"},"nodeType":"YulFunctionCall","src":"13365:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13390:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13361:3:150"},"nodeType":"YulFunctionCall","src":"13361:32:150"},"nodeType":"YulIf","src":"13358:52:150"},{"nodeType":"YulVariableDeclaration","src":"13419:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13446:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13433:12:150"},"nodeType":"YulFunctionCall","src":"13433:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13423:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"13499:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13508:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13511:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13501:6:150"},"nodeType":"YulFunctionCall","src":"13501:12:150"},"nodeType":"YulExpressionStatement","src":"13501:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13471:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13487:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"13491:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13483:3:150"},"nodeType":"YulFunctionCall","src":"13483:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"13495:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13479:3:150"},"nodeType":"YulFunctionCall","src":"13479:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13468:2:150"},"nodeType":"YulFunctionCall","src":"13468:30:150"},"nodeType":"YulIf","src":"13465:50:150"},{"nodeType":"YulAssignment","src":"13524:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13567:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"13578:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13563:3:150"},"nodeType":"YulFunctionCall","src":"13563:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13587:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"13534:28:150"},"nodeType":"YulFunctionCall","src":"13534:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13524:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13314:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13325:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13337:6:150","type":""}],"src":"13253:348:150"},{"body":{"nodeType":"YulBlock","src":"13736:535:150","statements":[{"body":{"nodeType":"YulBlock","src":"13783:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13792:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13795:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13785:6:150"},"nodeType":"YulFunctionCall","src":"13785:12:150"},"nodeType":"YulExpressionStatement","src":"13785:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13757:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13766:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13753:3:150"},"nodeType":"YulFunctionCall","src":"13753:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13778:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13749:3:150"},"nodeType":"YulFunctionCall","src":"13749:33:150"},"nodeType":"YulIf","src":"13746:53:150"},{"nodeType":"YulVariableDeclaration","src":"13808:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13834:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13821:12:150"},"nodeType":"YulFunctionCall","src":"13821:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13812:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13878:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13853:24:150"},"nodeType":"YulFunctionCall","src":"13853:31:150"},"nodeType":"YulExpressionStatement","src":"13853:31:150"},{"nodeType":"YulAssignment","src":"13893:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13903:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13893:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13917:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13949:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13960:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13945:3:150"},"nodeType":"YulFunctionCall","src":"13945:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13932:12:150"},"nodeType":"YulFunctionCall","src":"13932:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13921:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13998:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13973:24:150"},"nodeType":"YulFunctionCall","src":"13973:33:150"},"nodeType":"YulExpressionStatement","src":"13973:33:150"},{"nodeType":"YulAssignment","src":"14015:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"14025:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14015:6:150"}]},{"nodeType":"YulAssignment","src":"14041:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14068:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14079:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14064:3:150"},"nodeType":"YulFunctionCall","src":"14064:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14051:12:150"},"nodeType":"YulFunctionCall","src":"14051:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"14041:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14092:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14123:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14134:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14119:3:150"},"nodeType":"YulFunctionCall","src":"14119:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14106:12:150"},"nodeType":"YulFunctionCall","src":"14106:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14096:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14181:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14190:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14193:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14183:6:150"},"nodeType":"YulFunctionCall","src":"14183:12:150"},"nodeType":"YulExpressionStatement","src":"14183:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14153:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14169:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14173:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14165:3:150"},"nodeType":"YulFunctionCall","src":"14165:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14177:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14161:3:150"},"nodeType":"YulFunctionCall","src":"14161:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14150:2:150"},"nodeType":"YulFunctionCall","src":"14150:30:150"},"nodeType":"YulIf","src":"14147:50:150"},{"nodeType":"YulAssignment","src":"14206:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14237:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"14248:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14233:3:150"},"nodeType":"YulFunctionCall","src":"14233:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"14257:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"14216:16:150"},"nodeType":"YulFunctionCall","src":"14216:49:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"14206:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13678:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13689:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13701:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13709:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13717:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13725:6:150","type":""}],"src":"13606:665:150"},{"body":{"nodeType":"YulBlock","src":"14422:620:150","statements":[{"body":{"nodeType":"YulBlock","src":"14469:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14478:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14481:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14471:6:150"},"nodeType":"YulFunctionCall","src":"14471:12:150"},"nodeType":"YulExpressionStatement","src":"14471:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14443:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14452:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14439:3:150"},"nodeType":"YulFunctionCall","src":"14439:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14464:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14435:3:150"},"nodeType":"YulFunctionCall","src":"14435:33:150"},"nodeType":"YulIf","src":"14432:53:150"},{"nodeType":"YulVariableDeclaration","src":"14494:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14520:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14507:12:150"},"nodeType":"YulFunctionCall","src":"14507:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14498:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14564:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14539:24:150"},"nodeType":"YulFunctionCall","src":"14539:31:150"},"nodeType":"YulExpressionStatement","src":"14539:31:150"},{"nodeType":"YulAssignment","src":"14579:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14589:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14579:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14603:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14635:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14646:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14631:3:150"},"nodeType":"YulFunctionCall","src":"14631:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14618:12:150"},"nodeType":"YulFunctionCall","src":"14618:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"14607:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"14684:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14659:24:150"},"nodeType":"YulFunctionCall","src":"14659:33:150"},"nodeType":"YulExpressionStatement","src":"14659:33:150"},{"nodeType":"YulAssignment","src":"14701:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"14711:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14701:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14727:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14770:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14755:3:150"},"nodeType":"YulFunctionCall","src":"14755:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14742:12:150"},"nodeType":"YulFunctionCall","src":"14742:32:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"14731:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"14808:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14783:24:150"},"nodeType":"YulFunctionCall","src":"14783:33:150"},"nodeType":"YulExpressionStatement","src":"14783:33:150"},{"nodeType":"YulAssignment","src":"14825:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"14835:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"14825:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14851:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14893:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14878:3:150"},"nodeType":"YulFunctionCall","src":"14878:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14865:12:150"},"nodeType":"YulFunctionCall","src":"14865:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14855:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14940:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14949:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14952:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14942:6:150"},"nodeType":"YulFunctionCall","src":"14942:12:150"},"nodeType":"YulExpressionStatement","src":"14942:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14912:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14928:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14932:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14924:3:150"},"nodeType":"YulFunctionCall","src":"14924:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14936:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14920:3:150"},"nodeType":"YulFunctionCall","src":"14920:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14909:2:150"},"nodeType":"YulFunctionCall","src":"14909:30:150"},"nodeType":"YulIf","src":"14906:50:150"},{"nodeType":"YulAssignment","src":"14965:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15008:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"15019:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15004:3:150"},"nodeType":"YulFunctionCall","src":"15004:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15028:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"14975:28:150"},"nodeType":"YulFunctionCall","src":"14975:61:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"14965:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14364:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14375:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14387:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14395:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"14403:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"14411:6:150","type":""}],"src":"14276:766:150"},{"body":{"nodeType":"YulBlock","src":"15115:175:150","statements":[{"body":{"nodeType":"YulBlock","src":"15161:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15170:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15173:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15163:6:150"},"nodeType":"YulFunctionCall","src":"15163:12:150"},"nodeType":"YulExpressionStatement","src":"15163:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15136:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15145:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15132:3:150"},"nodeType":"YulFunctionCall","src":"15132:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15157:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15128:3:150"},"nodeType":"YulFunctionCall","src":"15128:32:150"},"nodeType":"YulIf","src":"15125:52:150"},{"nodeType":"YulVariableDeclaration","src":"15186:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15212:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15199:12:150"},"nodeType":"YulFunctionCall","src":"15199:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15190:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15254:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"15231:22:150"},"nodeType":"YulFunctionCall","src":"15231:29:150"},"nodeType":"YulExpressionStatement","src":"15231:29:150"},{"nodeType":"YulAssignment","src":"15269:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15279:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15269:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15081:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15092:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15104:6:150","type":""}],"src":"15047:243:150"},{"body":{"nodeType":"YulBlock","src":"15382:301:150","statements":[{"body":{"nodeType":"YulBlock","src":"15428:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15437:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15440:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15430:6:150"},"nodeType":"YulFunctionCall","src":"15430:12:150"},"nodeType":"YulExpressionStatement","src":"15430:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15403:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15412:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15399:3:150"},"nodeType":"YulFunctionCall","src":"15399:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15424:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15395:3:150"},"nodeType":"YulFunctionCall","src":"15395:32:150"},"nodeType":"YulIf","src":"15392:52:150"},{"nodeType":"YulVariableDeclaration","src":"15453:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15479:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15466:12:150"},"nodeType":"YulFunctionCall","src":"15466:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15457:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15523:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15498:24:150"},"nodeType":"YulFunctionCall","src":"15498:31:150"},"nodeType":"YulExpressionStatement","src":"15498:31:150"},{"nodeType":"YulAssignment","src":"15538:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15548:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15538:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"15562:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15594:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15605:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15590:3:150"},"nodeType":"YulFunctionCall","src":"15590:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15577:12:150"},"nodeType":"YulFunctionCall","src":"15577:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"15566:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15643:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15618:24:150"},"nodeType":"YulFunctionCall","src":"15618:33:150"},"nodeType":"YulExpressionStatement","src":"15618:33:150"},{"nodeType":"YulAssignment","src":"15660:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"15670:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15660:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15340:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15351:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15363:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15371:6:150","type":""}],"src":"15295:388:150"},{"body":{"nodeType":"YulBlock","src":"15862:177:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15879:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15890:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15872:6:150"},"nodeType":"YulFunctionCall","src":"15872:21:150"},"nodeType":"YulExpressionStatement","src":"15872:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15913:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15924:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15909:3:150"},"nodeType":"YulFunctionCall","src":"15909:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15929:2:150","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15902:6:150"},"nodeType":"YulFunctionCall","src":"15902:30:150"},"nodeType":"YulExpressionStatement","src":"15902:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15963:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15948:3:150"},"nodeType":"YulFunctionCall","src":"15948:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","kind":"string","nodeType":"YulLiteral","src":"15968:29:150","type":"","value":"GalaxyMember: invalid level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15941:6:150"},"nodeType":"YulFunctionCall","src":"15941:57:150"},"nodeType":"YulExpressionStatement","src":"15941:57:150"},{"nodeType":"YulAssignment","src":"16007:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16019:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16030:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16015:3:150"},"nodeType":"YulFunctionCall","src":"16015:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16007:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15839:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15853:4:150","type":""}],"src":"15688:351:150"},{"body":{"nodeType":"YulBlock","src":"16218:182:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16235:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16246:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16228:6:150"},"nodeType":"YulFunctionCall","src":"16228:21:150"},"nodeType":"YulExpressionStatement","src":"16228:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16280:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16265:3:150"},"nodeType":"YulFunctionCall","src":"16265:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16285:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16258:6:150"},"nodeType":"YulFunctionCall","src":"16258:30:150"},"nodeType":"YulExpressionStatement","src":"16258:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16308:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16319:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16304:3:150"},"nodeType":"YulFunctionCall","src":"16304:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","kind":"string","nodeType":"YulLiteral","src":"16324:34:150","type":"","value":"GalaxyMember: invalid node level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16297:6:150"},"nodeType":"YulFunctionCall","src":"16297:62:150"},"nodeType":"YulExpressionStatement","src":"16297:62:150"},{"nodeType":"YulAssignment","src":"16368:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16380:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16391:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16376:3:150"},"nodeType":"YulFunctionCall","src":"16376:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16368:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16195:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16209:4:150","type":""}],"src":"16044:356:150"},{"body":{"nodeType":"YulBlock","src":"16579:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16596:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16607:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16589:6:150"},"nodeType":"YulFunctionCall","src":"16589:21:150"},"nodeType":"YulExpressionStatement","src":"16589:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16630:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16641:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16626:3:150"},"nodeType":"YulFunctionCall","src":"16626:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16646:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16619:6:150"},"nodeType":"YulFunctionCall","src":"16619:30:150"},"nodeType":"YulExpressionStatement","src":"16619:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16669:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16680:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16665:3:150"},"nodeType":"YulFunctionCall","src":"16665:18:150"},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373","kind":"string","nodeType":"YulLiteral","src":"16685:34:150","type":"","value":"GalaxyMember: level must be less"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16658:6:150"},"nodeType":"YulFunctionCall","src":"16658:62:150"},"nodeType":"YulExpressionStatement","src":"16658:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16740:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16751:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16736:3:150"},"nodeType":"YulFunctionCall","src":"16736:18:150"},{"hexValue":"207468616e206f7220657175616c20746f204d41585f4c4556454c","kind":"string","nodeType":"YulLiteral","src":"16756:29:150","type":"","value":" than or equal to MAX_LEVEL"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16729:6:150"},"nodeType":"YulFunctionCall","src":"16729:57:150"},"nodeType":"YulExpressionStatement","src":"16729:57:150"},{"nodeType":"YulAssignment","src":"16795:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16807:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16818:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16803:3:150"},"nodeType":"YulFunctionCall","src":"16803:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16795:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16556:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16570:4:150","type":""}],"src":"16405:423:150"},{"body":{"nodeType":"YulBlock","src":"16888:325:150","statements":[{"nodeType":"YulAssignment","src":"16898:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16912:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"16915:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"16908:3:150"},"nodeType":"YulFunctionCall","src":"16908:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"16898:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"16929:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"16959:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"16965:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16955:3:150"},"nodeType":"YulFunctionCall","src":"16955:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"16933:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17006:31:150","statements":[{"nodeType":"YulAssignment","src":"17008:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17022:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17030:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17018:3:150"},"nodeType":"YulFunctionCall","src":"17018:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"17008:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"16986:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16979:6:150"},"nodeType":"YulFunctionCall","src":"16979:26:150"},"nodeType":"YulIf","src":"16976:61:150"},{"body":{"nodeType":"YulBlock","src":"17096:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17117:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17124:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17129:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17120:3:150"},"nodeType":"YulFunctionCall","src":"17120:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17110:6:150"},"nodeType":"YulFunctionCall","src":"17110:31:150"},"nodeType":"YulExpressionStatement","src":"17110:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17161:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17164:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17154:6:150"},"nodeType":"YulFunctionCall","src":"17154:15:150"},"nodeType":"YulExpressionStatement","src":"17154:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17189:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17192:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17182:6:150"},"nodeType":"YulFunctionCall","src":"17182:15:150"},"nodeType":"YulExpressionStatement","src":"17182:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"17052:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17075:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17083:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17072:2:150"},"nodeType":"YulFunctionCall","src":"17072:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17049:2:150"},"nodeType":"YulFunctionCall","src":"17049:38:150"},"nodeType":"YulIf","src":"17046:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"16868:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"16877:6:150","type":""}],"src":"16833:380:150"},{"body":{"nodeType":"YulBlock","src":"17375:218:150","statements":[{"nodeType":"YulAssignment","src":"17385:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17397:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17408:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17393:3:150"},"nodeType":"YulFunctionCall","src":"17393:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17385:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"17420:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17438:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17443:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17434:3:150"},"nodeType":"YulFunctionCall","src":"17434:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17447:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17430:3:150"},"nodeType":"YulFunctionCall","src":"17430:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17424:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17465:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17480:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17488:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17476:3:150"},"nodeType":"YulFunctionCall","src":"17476:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17458:6:150"},"nodeType":"YulFunctionCall","src":"17458:34:150"},"nodeType":"YulExpressionStatement","src":"17458:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17512:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17523:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17508:3:150"},"nodeType":"YulFunctionCall","src":"17508:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17528:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17501:6:150"},"nodeType":"YulFunctionCall","src":"17501:34:150"},"nodeType":"YulExpressionStatement","src":"17501:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17555:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17566:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17551:3:150"},"nodeType":"YulFunctionCall","src":"17551:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17575:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17583:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17571:3:150"},"nodeType":"YulFunctionCall","src":"17571:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17544:6:150"},"nodeType":"YulFunctionCall","src":"17544:43:150"},"nodeType":"YulExpressionStatement","src":"17544:43:150"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17328:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17339:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17347:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17355:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17366:4:150","type":""}],"src":"17218:375:150"},{"body":{"nodeType":"YulBlock","src":"17727:145:150","statements":[{"nodeType":"YulAssignment","src":"17737:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17749:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17760:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17745:3:150"},"nodeType":"YulFunctionCall","src":"17745:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17737:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17779:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17794:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17810:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17815:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17806:3:150"},"nodeType":"YulFunctionCall","src":"17806:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17819:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17802:3:150"},"nodeType":"YulFunctionCall","src":"17802:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17790:3:150"},"nodeType":"YulFunctionCall","src":"17790:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17772:6:150"},"nodeType":"YulFunctionCall","src":"17772:51:150"},"nodeType":"YulExpressionStatement","src":"17772:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17843:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17854:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17839:3:150"},"nodeType":"YulFunctionCall","src":"17839:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17859:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17832:6:150"},"nodeType":"YulFunctionCall","src":"17832:34:150"},"nodeType":"YulExpressionStatement","src":"17832:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17688:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17699:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17707:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17718:4:150","type":""}],"src":"17598:274:150"},{"body":{"nodeType":"YulBlock","src":"18051:297:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18068:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18079:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18061:6:150"},"nodeType":"YulFunctionCall","src":"18061:21:150"},"nodeType":"YulExpressionStatement","src":"18061:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18102:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18113:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18098:3:150"},"nodeType":"YulFunctionCall","src":"18098:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18118:2:150","type":"","value":"67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18091:6:150"},"nodeType":"YulFunctionCall","src":"18091:30:150"},"nodeType":"YulExpressionStatement","src":"18091:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18141:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18152:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18137:3:150"},"nodeType":"YulFunctionCall","src":"18137:18:150"},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d757374206265","kind":"string","nodeType":"YulLiteral","src":"18157:34:150","type":"","value":"Galaxy Member: Max level must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18130:6:150"},"nodeType":"YulFunctionCall","src":"18130:62:150"},"nodeType":"YulExpressionStatement","src":"18130:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18212:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18223:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18208:3:150"},"nodeType":"YulFunctionCall","src":"18208:18:150"},{"hexValue":"2067726561746572207468616e207468652063757272656e74206d6178206c65","kind":"string","nodeType":"YulLiteral","src":"18228:34:150","type":"","value":" greater than the current max le"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18201:6:150"},"nodeType":"YulFunctionCall","src":"18201:62:150"},"nodeType":"YulExpressionStatement","src":"18201:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18283:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18294:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18279:3:150"},"nodeType":"YulFunctionCall","src":"18279:19:150"},{"hexValue":"76656c","kind":"string","nodeType":"YulLiteral","src":"18300:5:150","type":"","value":"vel"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18272:6:150"},"nodeType":"YulFunctionCall","src":"18272:34:150"},"nodeType":"YulExpressionStatement","src":"18272:34:150"},{"nodeType":"YulAssignment","src":"18315:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18327:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18338:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18323:3:150"},"nodeType":"YulFunctionCall","src":"18323:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18315:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18028:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18042:4:150","type":""}],"src":"17877:471:150"},{"body":{"nodeType":"YulBlock","src":"18527:296:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18555:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18537:6:150"},"nodeType":"YulFunctionCall","src":"18537:21:150"},"nodeType":"YulExpressionStatement","src":"18537:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18578:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18589:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18574:3:150"},"nodeType":"YulFunctionCall","src":"18574:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18594:2:150","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18567:6:150"},"nodeType":"YulFunctionCall","src":"18567:30:150"},"nodeType":"YulExpressionStatement","src":"18567:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18617:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18628:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18613:3:150"},"nodeType":"YulFunctionCall","src":"18613:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"18633:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18606:6:150"},"nodeType":"YulFunctionCall","src":"18606:62:150"},"nodeType":"YulExpressionStatement","src":"18606:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18688:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18699:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18684:3:150"},"nodeType":"YulFunctionCall","src":"18684:18:150"},{"hexValue":"7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b","kind":"string","nodeType":"YulLiteral","src":"18704:34:150","type":"","value":"ust be set for all levels unlock"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18677:6:150"},"nodeType":"YulFunctionCall","src":"18677:62:150"},"nodeType":"YulExpressionStatement","src":"18677:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18770:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18755:3:150"},"nodeType":"YulFunctionCall","src":"18755:19:150"},{"hexValue":"6564","kind":"string","nodeType":"YulLiteral","src":"18776:4:150","type":"","value":"ed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18748:6:150"},"nodeType":"YulFunctionCall","src":"18748:33:150"},"nodeType":"YulExpressionStatement","src":"18748:33:150"},{"nodeType":"YulAssignment","src":"18790:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18802:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18813:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18798:3:150"},"nodeType":"YulFunctionCall","src":"18798:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18790:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18504:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18518:4:150","type":""}],"src":"18353:470:150"},{"body":{"nodeType":"YulBlock","src":"18860:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18877:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18884:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"18889:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18880:3:150"},"nodeType":"YulFunctionCall","src":"18880:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18870:6:150"},"nodeType":"YulFunctionCall","src":"18870:31:150"},"nodeType":"YulExpressionStatement","src":"18870:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18917:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18920:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18910:6:150"},"nodeType":"YulFunctionCall","src":"18910:15:150"},"nodeType":"YulExpressionStatement","src":"18910:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18941:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18944:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18934:6:150"},"nodeType":"YulFunctionCall","src":"18934:15:150"},"nodeType":"YulExpressionStatement","src":"18934:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"18828:127:150"},{"body":{"nodeType":"YulBlock","src":"19007:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"19038:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19040:16:150"},"nodeType":"YulFunctionCall","src":"19040:18:150"},"nodeType":"YulExpressionStatement","src":"19040:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19023:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19034:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"19030:3:150"},"nodeType":"YulFunctionCall","src":"19030:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19020:2:150"},"nodeType":"YulFunctionCall","src":"19020:17:150"},"nodeType":"YulIf","src":"19017:43:150"},{"nodeType":"YulAssignment","src":"19069:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19080:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"19087:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19076:3:150"},"nodeType":"YulFunctionCall","src":"19076:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"19069:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18989:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18999:3:150","type":""}],"src":"18960:135:150"},{"body":{"nodeType":"YulBlock","src":"19229:119:150","statements":[{"nodeType":"YulAssignment","src":"19239:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19251:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19262:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19247:3:150"},"nodeType":"YulFunctionCall","src":"19247:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19239:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19281:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"19292:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19274:6:150"},"nodeType":"YulFunctionCall","src":"19274:25:150"},"nodeType":"YulExpressionStatement","src":"19274:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19319:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19330:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19315:3:150"},"nodeType":"YulFunctionCall","src":"19315:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"19335:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19308:6:150"},"nodeType":"YulFunctionCall","src":"19308:34:150"},"nodeType":"YulExpressionStatement","src":"19308:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19190:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19201:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19209:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19220:4:150","type":""}],"src":"19100:248:150"},{"body":{"nodeType":"YulBlock","src":"19527:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19555:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19537:6:150"},"nodeType":"YulFunctionCall","src":"19537:21:150"},"nodeType":"YulExpressionStatement","src":"19537:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19578:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19589:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19574:3:150"},"nodeType":"YulFunctionCall","src":"19574:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"19594:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19567:6:150"},"nodeType":"YulFunctionCall","src":"19567:30:150"},"nodeType":"YulExpressionStatement","src":"19567:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19617:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19628:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19613:3:150"},"nodeType":"YulFunctionCall","src":"19613:18:150"},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665","kind":"string","nodeType":"YulLiteral","src":"19633:34:150","type":"","value":"Galaxy Member: _xAllocationsGove"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19606:6:150"},"nodeType":"YulFunctionCall","src":"19606:62:150"},"nodeType":"YulExpressionStatement","src":"19606:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19688:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19699:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19684:3:150"},"nodeType":"YulFunctionCall","src":"19684:18:150"},{"hexValue":"726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"19704:33:150","type":"","value":"rnor cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19677:6:150"},"nodeType":"YulFunctionCall","src":"19677:61:150"},"nodeType":"YulExpressionStatement","src":"19677:61:150"},{"nodeType":"YulAssignment","src":"19747:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19770:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19755:3:150"},"nodeType":"YulFunctionCall","src":"19755:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19747:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19504:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19518:4:150","type":""}],"src":"19353:427:150"},{"body":{"nodeType":"YulBlock","src":"19844:116:150","statements":[{"nodeType":"YulAssignment","src":"19854:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19869:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19863:5:150"},"nodeType":"YulFunctionCall","src":"19863:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19854:5:150"}]},{"body":{"nodeType":"YulBlock","src":"19938:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19947:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19950:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19940:6:150"},"nodeType":"YulFunctionCall","src":"19940:12:150"},"nodeType":"YulExpressionStatement","src":"19940:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19898:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19909:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19924:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"19928:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19920:3:150"},"nodeType":"YulFunctionCall","src":"19920:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"19932:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19916:3:150"},"nodeType":"YulFunctionCall","src":"19916:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19905:3:150"},"nodeType":"YulFunctionCall","src":"19905:30:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19895:2:150"},"nodeType":"YulFunctionCall","src":"19895:41:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19888:6:150"},"nodeType":"YulFunctionCall","src":"19888:49:150"},"nodeType":"YulIf","src":"19885:69:150"}]},"name":"abi_decode_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"19823:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19834:5:150","type":""}],"src":"19785:175:150"},{"body":{"nodeType":"YulBlock","src":"20137:718:150","statements":[{"body":{"nodeType":"YulBlock","src":"20184:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20193:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20196:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20186:6:150"},"nodeType":"YulFunctionCall","src":"20186:12:150"},"nodeType":"YulExpressionStatement","src":"20186:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20158:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20167:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20154:3:150"},"nodeType":"YulFunctionCall","src":"20154:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20179:3:150","type":"","value":"224"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20150:3:150"},"nodeType":"YulFunctionCall","src":"20150:33:150"},"nodeType":"YulIf","src":"20147:53:150"},{"nodeType":"YulVariableDeclaration","src":"20209:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20228:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20222:5:150"},"nodeType":"YulFunctionCall","src":"20222:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"20213:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20272:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"20247:24:150"},"nodeType":"YulFunctionCall","src":"20247:31:150"},"nodeType":"YulExpressionStatement","src":"20247:31:150"},{"nodeType":"YulAssignment","src":"20287:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"20297:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20287:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"20311:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20336:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20347:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20332:3:150"},"nodeType":"YulFunctionCall","src":"20332:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20326:5:150"},"nodeType":"YulFunctionCall","src":"20326:25:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"20315:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"20383:7:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"20360:22:150"},"nodeType":"YulFunctionCall","src":"20360:31:150"},"nodeType":"YulExpressionStatement","src":"20360:31:150"},{"nodeType":"YulAssignment","src":"20400:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"20410:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"20400:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"20426:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20451:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20462:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20447:3:150"},"nodeType":"YulFunctionCall","src":"20447:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20441:5:150"},"nodeType":"YulFunctionCall","src":"20441:25:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"20430:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"20497:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"20475:21:150"},"nodeType":"YulFunctionCall","src":"20475:30:150"},"nodeType":"YulExpressionStatement","src":"20475:30:150"},{"nodeType":"YulAssignment","src":"20514:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"20524:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"20514:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"20540:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20565:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20576:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20561:3:150"},"nodeType":"YulFunctionCall","src":"20561:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20555:5:150"},"nodeType":"YulFunctionCall","src":"20555:25:150"},"variables":[{"name":"value_3","nodeType":"YulTypedName","src":"20544:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_3","nodeType":"YulIdentifier","src":"20611:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"20589:21:150"},"nodeType":"YulFunctionCall","src":"20589:30:150"},"nodeType":"YulExpressionStatement","src":"20589:30:150"},{"nodeType":"YulAssignment","src":"20628:17:150","value":{"name":"value_3","nodeType":"YulIdentifier","src":"20638:7:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"20628:6:150"}]},{"nodeType":"YulAssignment","src":"20654:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20697:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20708:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20693:3:150"},"nodeType":"YulFunctionCall","src":"20693:19:150"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"20664:28:150"},"nodeType":"YulFunctionCall","src":"20664:49:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"20654:6:150"}]},{"nodeType":"YulAssignment","src":"20722:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20765:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20776:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20761:3:150"},"nodeType":"YulFunctionCall","src":"20761:19:150"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"20732:28:150"},"nodeType":"YulFunctionCall","src":"20732:49:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"20722:6:150"}]},{"nodeType":"YulAssignment","src":"20790:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20833:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20844:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20829:3:150"},"nodeType":"YulFunctionCall","src":"20829:19:150"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"20800:28:150"},"nodeType":"YulFunctionCall","src":"20800:49:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"20790:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint8t_boolt_boolt_uint64t_uint64t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20055:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20066:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20078:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20086:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20094:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20102:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"20110:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"20118:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"20126:6:150","type":""}],"src":"19965:890:150"},{"body":{"nodeType":"YulBlock","src":"21034:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21051:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21062:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21044:6:150"},"nodeType":"YulFunctionCall","src":"21044:21:150"},"nodeType":"YulExpressionStatement","src":"21044:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21085:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21096:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21081:3:150"},"nodeType":"YulFunctionCall","src":"21081:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21101:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21074:6:150"},"nodeType":"YulFunctionCall","src":"21074:30:150"},"nodeType":"YulExpressionStatement","src":"21074:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21124:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21135:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21120:3:150"},"nodeType":"YulFunctionCall","src":"21120:18:150"},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865","kind":"string","nodeType":"YulLiteral","src":"21140:34:150","type":"","value":"Galaxy Member: caller is not the"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21113:6:150"},"nodeType":"YulFunctionCall","src":"21113:62:150"},"nodeType":"YulExpressionStatement","src":"21113:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21195:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21206:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21191:3:150"},"nodeType":"YulFunctionCall","src":"21191:18:150"},{"hexValue":"206f776e6572206f662074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"21211:21:150","type":"","value":" owner of the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21184:6:150"},"nodeType":"YulFunctionCall","src":"21184:49:150"},"nodeType":"YulExpressionStatement","src":"21184:49:150"},{"nodeType":"YulAssignment","src":"21242:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21254:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21265:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21250:3:150"},"nodeType":"YulFunctionCall","src":"21250:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21242:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21011:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21025:4:150","type":""}],"src":"20860:415:150"},{"body":{"nodeType":"YulBlock","src":"21454:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21471:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21482:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21464:6:150"},"nodeType":"YulFunctionCall","src":"21464:21:150"},"nodeType":"YulExpressionStatement","src":"21464:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21505:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21516:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21501:3:150"},"nodeType":"YulFunctionCall","src":"21501:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21521:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21494:6:150"},"nodeType":"YulFunctionCall","src":"21494:30:150"},"nodeType":"YulExpressionStatement","src":"21494:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21555:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21540:3:150"},"nodeType":"YulFunctionCall","src":"21540:18:150"},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520","kind":"string","nodeType":"YulLiteral","src":"21560:34:150","type":"","value":"Galaxy Member: you must own the "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21533:6:150"},"nodeType":"YulFunctionCall","src":"21533:62:150"},"nodeType":"YulExpressionStatement","src":"21533:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21615:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21626:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21611:3:150"},"nodeType":"YulFunctionCall","src":"21611:18:150"},{"hexValue":"546f6b656e20746f2075706772616465206974","kind":"string","nodeType":"YulLiteral","src":"21631:21:150","type":"","value":"Token to upgrade it"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21604:6:150"},"nodeType":"YulFunctionCall","src":"21604:49:150"},"nodeType":"YulExpressionStatement","src":"21604:49:150"},{"nodeType":"YulAssignment","src":"21662:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21674:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21685:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21670:3:150"},"nodeType":"YulFunctionCall","src":"21670:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21662:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21431:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21445:4:150","type":""}],"src":"21280:415:150"},{"body":{"nodeType":"YulBlock","src":"21874:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21891:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21902:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21884:6:150"},"nodeType":"YulFunctionCall","src":"21884:21:150"},"nodeType":"YulExpressionStatement","src":"21884:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21925:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21936:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21921:3:150"},"nodeType":"YulFunctionCall","src":"21921:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21941:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21914:6:150"},"nodeType":"YulFunctionCall","src":"21914:30:150"},"nodeType":"YulExpressionStatement","src":"21914:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21964:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21975:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21960:3:150"},"nodeType":"YulFunctionCall","src":"21960:18:150"},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c726561647920","kind":"string","nodeType":"YulLiteral","src":"21980:34:150","type":"","value":"Galaxy Member: Token is already "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21953:6:150"},"nodeType":"YulFunctionCall","src":"21953:62:150"},"nodeType":"YulExpressionStatement","src":"21953:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22035:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22046:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22031:3:150"},"nodeType":"YulFunctionCall","src":"22031:18:150"},{"hexValue":"6174206d6178206c6576656c","kind":"string","nodeType":"YulLiteral","src":"22051:14:150","type":"","value":"at max level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22024:6:150"},"nodeType":"YulFunctionCall","src":"22024:42:150"},"nodeType":"YulExpressionStatement","src":"22024:42:150"},{"nodeType":"YulAssignment","src":"22075:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22087:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22098:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22083:3:150"},"nodeType":"YulFunctionCall","src":"22083:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22075:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21851:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21865:4:150","type":""}],"src":"21700:408:150"},{"body":{"nodeType":"YulBlock","src":"22194:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"22240:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22249:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22252:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22242:6:150"},"nodeType":"YulFunctionCall","src":"22242:12:150"},"nodeType":"YulExpressionStatement","src":"22242:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22215:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22224:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22211:3:150"},"nodeType":"YulFunctionCall","src":"22211:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22236:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22207:3:150"},"nodeType":"YulFunctionCall","src":"22207:32:150"},"nodeType":"YulIf","src":"22204:52:150"},{"nodeType":"YulAssignment","src":"22265:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22281:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22275:5:150"},"nodeType":"YulFunctionCall","src":"22275:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22265:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22160:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22171:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22183:6:150","type":""}],"src":"22113:184:150"},{"body":{"nodeType":"YulBlock","src":"22476:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22493:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22504:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22486:6:150"},"nodeType":"YulFunctionCall","src":"22486:21:150"},"nodeType":"YulExpressionStatement","src":"22486:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22527:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22538:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22523:3:150"},"nodeType":"YulFunctionCall","src":"22523:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"22543:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22516:6:150"},"nodeType":"YulFunctionCall","src":"22516:30:150"},"nodeType":"YulExpressionStatement","src":"22516:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22566:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22577:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22562:3:150"},"nodeType":"YulFunctionCall","src":"22562:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c61","kind":"string","nodeType":"YulLiteral","src":"22582:34:150","type":"","value":"Galaxy Member: Insufficient bala"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22555:6:150"},"nodeType":"YulFunctionCall","src":"22555:62:150"},"nodeType":"YulExpressionStatement","src":"22555:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22637:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22648:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22633:3:150"},"nodeType":"YulFunctionCall","src":"22633:18:150"},{"hexValue":"6e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"22653:16:150","type":"","value":"nce to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22626:6:150"},"nodeType":"YulFunctionCall","src":"22626:44:150"},"nodeType":"YulExpressionStatement","src":"22626:44:150"},{"nodeType":"YulAssignment","src":"22679:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22691:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22702:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22687:3:150"},"nodeType":"YulFunctionCall","src":"22687:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22679:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22453:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22467:4:150","type":""}],"src":"22302:410:150"},{"body":{"nodeType":"YulBlock","src":"22846:175:150","statements":[{"nodeType":"YulAssignment","src":"22856:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22868:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22879:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22864:3:150"},"nodeType":"YulFunctionCall","src":"22864:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22856:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"22891:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22909:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22914:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22905:3:150"},"nodeType":"YulFunctionCall","src":"22905:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"22918:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22901:3:150"},"nodeType":"YulFunctionCall","src":"22901:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"22895:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22936:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22951:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22959:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22947:3:150"},"nodeType":"YulFunctionCall","src":"22947:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22929:6:150"},"nodeType":"YulFunctionCall","src":"22929:34:150"},"nodeType":"YulExpressionStatement","src":"22929:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22983:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22994:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22979:3:150"},"nodeType":"YulFunctionCall","src":"22979:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23003:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23011:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22999:3:150"},"nodeType":"YulFunctionCall","src":"22999:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22972:6:150"},"nodeType":"YulFunctionCall","src":"22972:43:150"},"nodeType":"YulExpressionStatement","src":"22972:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22807:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22818:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22826:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22837:4:150","type":""}],"src":"22717:304:150"},{"body":{"nodeType":"YulBlock","src":"23200:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23217:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23228:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23210:6:150"},"nodeType":"YulFunctionCall","src":"23210:21:150"},"nodeType":"YulExpressionStatement","src":"23210:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23251:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23262:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23247:3:150"},"nodeType":"YulFunctionCall","src":"23247:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"23267:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23240:6:150"},"nodeType":"YulFunctionCall","src":"23240:30:150"},"nodeType":"YulExpressionStatement","src":"23240:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23290:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23301:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23286:3:150"},"nodeType":"YulFunctionCall","src":"23286:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f","kind":"string","nodeType":"YulLiteral","src":"23306:34:150","type":"","value":"Galaxy Member: Insufficient allo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23279:6:150"},"nodeType":"YulFunctionCall","src":"23279:62:150"},"nodeType":"YulExpressionStatement","src":"23279:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23361:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23372:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23357:3:150"},"nodeType":"YulFunctionCall","src":"23357:18:150"},{"hexValue":"77616e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"23377:18:150","type":"","value":"wance to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23350:6:150"},"nodeType":"YulFunctionCall","src":"23350:46:150"},"nodeType":"YulExpressionStatement","src":"23350:46:150"},{"nodeType":"YulAssignment","src":"23405:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23417:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23428:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23413:3:150"},"nodeType":"YulFunctionCall","src":"23413:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23405:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23177:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23191:4:150","type":""}],"src":"23026:412:150"},{"body":{"nodeType":"YulBlock","src":"23491:77:150","statements":[{"nodeType":"YulAssignment","src":"23501:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23512:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"23515:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23508:3:150"},"nodeType":"YulFunctionCall","src":"23508:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"23501:3:150"}]},{"body":{"nodeType":"YulBlock","src":"23540:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23542:16:150"},"nodeType":"YulFunctionCall","src":"23542:18:150"},"nodeType":"YulExpressionStatement","src":"23542:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23532:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"23535:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23529:2:150"},"nodeType":"YulFunctionCall","src":"23529:10:150"},"nodeType":"YulIf","src":"23526:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23474:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"23477:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"23483:3:150","type":""}],"src":"23443:125:150"},{"body":{"nodeType":"YulBlock","src":"23730:218:150","statements":[{"nodeType":"YulAssignment","src":"23740:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23752:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23763:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23748:3:150"},"nodeType":"YulFunctionCall","src":"23748:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23740:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"23775:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23793:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23798:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23789:3:150"},"nodeType":"YulFunctionCall","src":"23789:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23802:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23785:3:150"},"nodeType":"YulFunctionCall","src":"23785:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23779:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23820:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23835:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23843:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23831:3:150"},"nodeType":"YulFunctionCall","src":"23831:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23813:6:150"},"nodeType":"YulFunctionCall","src":"23813:34:150"},"nodeType":"YulExpressionStatement","src":"23813:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23867:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23878:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23863:3:150"},"nodeType":"YulFunctionCall","src":"23863:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23887:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23895:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23883:3:150"},"nodeType":"YulFunctionCall","src":"23883:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23856:6:150"},"nodeType":"YulFunctionCall","src":"23856:43:150"},"nodeType":"YulExpressionStatement","src":"23856:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23919:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23930:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23915:3:150"},"nodeType":"YulFunctionCall","src":"23915:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"23935:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23908:6:150"},"nodeType":"YulFunctionCall","src":"23908:34:150"},"nodeType":"YulExpressionStatement","src":"23908:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23683:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23694:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23702:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23710:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23721:4:150","type":""}],"src":"23573:375:150"},{"body":{"nodeType":"YulBlock","src":"24031:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"24077:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24086:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24089:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24079:6:150"},"nodeType":"YulFunctionCall","src":"24079:12:150"},"nodeType":"YulExpressionStatement","src":"24079:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24052:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24061:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24048:3:150"},"nodeType":"YulFunctionCall","src":"24048:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24073:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24044:3:150"},"nodeType":"YulFunctionCall","src":"24044:32:150"},"nodeType":"YulIf","src":"24041:52:150"},{"nodeType":"YulVariableDeclaration","src":"24102:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24121:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24115:5:150"},"nodeType":"YulFunctionCall","src":"24115:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"24106:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24162:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"24140:21:150"},"nodeType":"YulFunctionCall","src":"24140:28:150"},"nodeType":"YulExpressionStatement","src":"24140:28:150"},{"nodeType":"YulAssignment","src":"24177:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"24187:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24177:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23997:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24008:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24020:6:150","type":""}],"src":"23953:245:150"},{"body":{"nodeType":"YulBlock","src":"24377:179:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24394:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24405:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24387:6:150"},"nodeType":"YulFunctionCall","src":"24387:21:150"},"nodeType":"YulExpressionStatement","src":"24387:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24428:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24439:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24424:3:150"},"nodeType":"YulFunctionCall","src":"24424:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24444:2:150","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24417:6:150"},"nodeType":"YulFunctionCall","src":"24417:30:150"},"nodeType":"YulExpressionStatement","src":"24417:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24467:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24478:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24463:3:150"},"nodeType":"YulFunctionCall","src":"24463:18:150"},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"24483:31:150","type":"","value":"GalaxyMember: Transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24456:6:150"},"nodeType":"YulFunctionCall","src":"24456:59:150"},"nodeType":"YulExpressionStatement","src":"24456:59:150"},{"nodeType":"YulAssignment","src":"24524:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24536:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24547:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24532:3:150"},"nodeType":"YulFunctionCall","src":"24532:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24524:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24354:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24368:4:150","type":""}],"src":"24203:353:150"},{"body":{"nodeType":"YulBlock","src":"24642:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"24688:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24697:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24700:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24690:6:150"},"nodeType":"YulFunctionCall","src":"24690:12:150"},"nodeType":"YulExpressionStatement","src":"24690:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24663:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24672:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24659:3:150"},"nodeType":"YulFunctionCall","src":"24659:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24684:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24655:3:150"},"nodeType":"YulFunctionCall","src":"24655:32:150"},"nodeType":"YulIf","src":"24652:52:150"},{"nodeType":"YulVariableDeclaration","src":"24713:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24732:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24726:5:150"},"nodeType":"YulFunctionCall","src":"24726:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"24717:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24776:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"24751:24:150"},"nodeType":"YulFunctionCall","src":"24751:31:150"},"nodeType":"YulExpressionStatement","src":"24751:31:150"},{"nodeType":"YulAssignment","src":"24791:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"24801:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24791:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24608:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24619:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24631:6:150","type":""}],"src":"24561:251:150"},{"body":{"nodeType":"YulBlock","src":"24991:316:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25008:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25019:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25001:6:150"},"nodeType":"YulFunctionCall","src":"25001:21:150"},"nodeType":"YulExpressionStatement","src":"25001:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25042:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25053:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25038:3:150"},"nodeType":"YulFunctionCall","src":"25038:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25058:2:150","type":"","value":"86"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25031:6:150"},"nodeType":"YulFunctionCall","src":"25031:30:150"},"nodeType":"YulExpressionStatement","src":"25031:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25092:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25077:3:150"},"nodeType":"YulFunctionCall","src":"25077:18:150"},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f","kind":"string","nodeType":"YulLiteral","src":"25097:34:150","type":"","value":"GalaxyMember: vechain node not o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25070:6:150"},"nodeType":"YulFunctionCall","src":"25070:62:150"},"nodeType":"YulExpressionStatement","src":"25070:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25152:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25163:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25148:3:150"},"nodeType":"YulFunctionCall","src":"25148:18:150"},{"hexValue":"776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b","kind":"string","nodeType":"YulLiteral","src":"25168:34:150","type":"","value":"wned or managed by caller or tok"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25141:6:150"},"nodeType":"YulFunctionCall","src":"25141:62:150"},"nodeType":"YulExpressionStatement","src":"25141:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25223:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25234:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25219:3:150"},"nodeType":"YulFunctionCall","src":"25219:19:150"},{"hexValue":"656e206e6f74206f776e65642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"25240:24:150","type":"","value":"en not owned by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25212:6:150"},"nodeType":"YulFunctionCall","src":"25212:53:150"},"nodeType":"YulExpressionStatement","src":"25212:53:150"},{"nodeType":"YulAssignment","src":"25274:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25286:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25297:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25282:3:150"},"nodeType":"YulFunctionCall","src":"25282:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25274:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24968:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24982:4:150","type":""}],"src":"24817:490:150"},{"body":{"nodeType":"YulBlock","src":"25486:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25503:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25514:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25496:6:150"},"nodeType":"YulFunctionCall","src":"25496:21:150"},"nodeType":"YulExpressionStatement","src":"25496:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25537:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25548:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25533:3:150"},"nodeType":"YulFunctionCall","src":"25533:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25553:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25526:6:150"},"nodeType":"YulFunctionCall","src":"25526:30:150"},"nodeType":"YulExpressionStatement","src":"25526:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25576:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25587:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25572:3:150"},"nodeType":"YulFunctionCall","src":"25572:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420","kind":"string","nodeType":"YulLiteral","src":"25592:34:150","type":"","value":"GalaxyMember: node not attached "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25565:6:150"},"nodeType":"YulFunctionCall","src":"25565:62:150"},"nodeType":"YulExpressionStatement","src":"25565:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25647:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25658:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25643:3:150"},"nodeType":"YulFunctionCall","src":"25643:18:150"},{"hexValue":"746f2074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"25663:14:150","type":"","value":"to the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25636:6:150"},"nodeType":"YulFunctionCall","src":"25636:42:150"},"nodeType":"YulExpressionStatement","src":"25636:42:150"},{"nodeType":"YulAssignment","src":"25687:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25699:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25710:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25695:3:150"},"nodeType":"YulFunctionCall","src":"25695:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25687:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25463:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25477:4:150","type":""}],"src":"25312:408:150"},{"body":{"nodeType":"YulBlock","src":"25899:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25916:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25927:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25909:6:150"},"nodeType":"YulFunctionCall","src":"25909:21:150"},"nodeType":"YulExpressionStatement","src":"25909:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25950:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25961:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25946:3:150"},"nodeType":"YulFunctionCall","src":"25946:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25966:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25939:6:150"},"nodeType":"YulFunctionCall","src":"25939:30:150"},"nodeType":"YulExpressionStatement","src":"25939:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25989:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26000:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25985:3:150"},"nodeType":"YulFunctionCall","src":"25985:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206174746163686564","kind":"string","nodeType":"YulLiteral","src":"26005:34:150","type":"","value":"GalaxyMember: token not attached"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25978:6:150"},"nodeType":"YulFunctionCall","src":"25978:62:150"},"nodeType":"YulExpressionStatement","src":"25978:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26060:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26071:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26056:3:150"},"nodeType":"YulFunctionCall","src":"26056:18:150"},{"hexValue":"20746f20746865206e6f6465","kind":"string","nodeType":"YulLiteral","src":"26076:14:150","type":"","value":" to the node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26049:6:150"},"nodeType":"YulFunctionCall","src":"26049:42:150"},"nodeType":"YulExpressionStatement","src":"26049:42:150"},{"nodeType":"YulAssignment","src":"26100:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26112:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26123:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26108:3:150"},"nodeType":"YulFunctionCall","src":"26108:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26100:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25876:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25890:4:150","type":""}],"src":"25725:408:150"},{"body":{"nodeType":"YulBlock","src":"26170:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26187:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26194:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"26199:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26190:3:150"},"nodeType":"YulFunctionCall","src":"26190:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26180:6:150"},"nodeType":"YulFunctionCall","src":"26180:31:150"},"nodeType":"YulExpressionStatement","src":"26180:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26227:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"26230:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26220:6:150"},"nodeType":"YulFunctionCall","src":"26220:15:150"},"nodeType":"YulExpressionStatement","src":"26220:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26251:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26254:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26244:6:150"},"nodeType":"YulFunctionCall","src":"26244:15:150"},"nodeType":"YulExpressionStatement","src":"26244:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"26138:127:150"},{"body":{"nodeType":"YulBlock","src":"26444:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26461:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26472:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26454:6:150"},"nodeType":"YulFunctionCall","src":"26454:21:150"},"nodeType":"YulExpressionStatement","src":"26454:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26495:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26506:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26491:3:150"},"nodeType":"YulFunctionCall","src":"26491:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"26511:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26484:6:150"},"nodeType":"YulFunctionCall","src":"26484:30:150"},"nodeType":"YulExpressionStatement","src":"26484:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26534:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26545:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26530:3:150"},"nodeType":"YulFunctionCall","src":"26530:18:150"},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520","kind":"string","nodeType":"YulLiteral","src":"26550:34:150","type":"","value":"Galaxy Member: Base URI must be "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26523:6:150"},"nodeType":"YulFunctionCall","src":"26523:62:150"},"nodeType":"YulExpressionStatement","src":"26523:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26605:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26616:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26601:3:150"},"nodeType":"YulFunctionCall","src":"26601:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"26621:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26594:6:150"},"nodeType":"YulFunctionCall","src":"26594:33:150"},"nodeType":"YulExpressionStatement","src":"26594:33:150"},{"nodeType":"YulAssignment","src":"26636:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26648:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26659:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26644:3:150"},"nodeType":"YulFunctionCall","src":"26644:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26636:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26421:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26435:4:150","type":""}],"src":"26270:399:150"},{"body":{"nodeType":"YulBlock","src":"26730:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26747:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"26750:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26740:6:150"},"nodeType":"YulFunctionCall","src":"26740:14:150"},"nodeType":"YulExpressionStatement","src":"26740:14:150"},{"nodeType":"YulAssignment","src":"26763:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26781:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26784:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"26771:9:150"},"nodeType":"YulFunctionCall","src":"26771:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"26763:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"26713:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"26721:4:150","type":""}],"src":"26674:121:150"},{"body":{"nodeType":"YulBlock","src":"26936:706:150","statements":[{"nodeType":"YulVariableDeclaration","src":"26946:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26957:1:150","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"26950:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26967:30:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26990:6:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"26984:5:150"},"nodeType":"YulFunctionCall","src":"26984:13:150"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"26971:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27006:50:150","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"27046:9:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"27020:25:150"},"nodeType":"YulFunctionCall","src":"27020:36:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"27010:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27065:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27075:1:150","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"27069:2:150","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"27126:126:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27147:3:150"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"27156:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27171:3:150","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27167:3:150"},"nodeType":"YulFunctionCall","src":"27167:8:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27152:3:150"},"nodeType":"YulFunctionCall","src":"27152:24:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27140:6:150"},"nodeType":"YulFunctionCall","src":"27140:37:150"},"nodeType":"YulExpressionStatement","src":"27140:37:150"},{"nodeType":"YulAssignment","src":"27190:52:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27201:3:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"27210:6:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"27232:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27225:6:150"},"nodeType":"YulFunctionCall","src":"27225:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27218:6:150"},"nodeType":"YulFunctionCall","src":"27218:22:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"27206:3:150"},"nodeType":"YulFunctionCall","src":"27206:35:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27197:3:150"},"nodeType":"YulFunctionCall","src":"27197:45:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"27190:3:150"}]}]},"nodeType":"YulCase","src":"27119:133:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27124:1:150","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"27268:349:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27289:1:150","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"27292:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27282:6:150"},"nodeType":"YulFunctionCall","src":"27282:17:150"},"nodeType":"YulExpressionStatement","src":"27282:17:150"},{"nodeType":"YulVariableDeclaration","src":"27312:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27322:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"27316:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27339:31:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27364:1:150","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"27367:2:150"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"27354:9:150"},"nodeType":"YulFunctionCall","src":"27354:16:150"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"27343:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27383:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27392:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"27387:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27460:111:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27489:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"27494:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27485:3:150"},"nodeType":"YulFunctionCall","src":"27485:11:150"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"27504:7:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"27498:5:150"},"nodeType":"YulFunctionCall","src":"27498:14:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27478:6:150"},"nodeType":"YulFunctionCall","src":"27478:35:150"},"nodeType":"YulExpressionStatement","src":"27478:35:150"},{"nodeType":"YulAssignment","src":"27530:27:150","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"27545:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27554:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27541:3:150"},"nodeType":"YulFunctionCall","src":"27541:16:150"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"27530:7:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"27417:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"27420:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27414:2:150"},"nodeType":"YulFunctionCall","src":"27414:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"27428:19:150","statements":[{"nodeType":"YulAssignment","src":"27430:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"27439:1:150"},{"name":"_2","nodeType":"YulIdentifier","src":"27442:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27435:3:150"},"nodeType":"YulFunctionCall","src":"27435:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"27430:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"27410:3:150","statements":[]},"src":"27406:165:150"},{"nodeType":"YulAssignment","src":"27584:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27595:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27600:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27591:3:150"},"nodeType":"YulFunctionCall","src":"27591:16:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"27584:3:150"}]}]},"nodeType":"YulCase","src":"27261:356:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27266:1:150","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"27096:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27107:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27092:3:150"},"nodeType":"YulFunctionCall","src":"27092:18:150"},"nodeType":"YulSwitch","src":"27085:532:150"},{"nodeType":"YulAssignment","src":"27626:10:150","value":{"name":"ret","nodeType":"YulIdentifier","src":"27633:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27626:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"26912:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26917:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"26928:3:150","type":""}],"src":"26800:842:150"},{"body":{"nodeType":"YulBlock","src":"27786:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"27796:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27816:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27810:5:150"},"nodeType":"YulFunctionCall","src":"27810:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"27800:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27871:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"27879:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27867:3:150"},"nodeType":"YulFunctionCall","src":"27867:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"27886:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27891:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"27832:34:150"},"nodeType":"YulFunctionCall","src":"27832:66:150"},"nodeType":"YulExpressionStatement","src":"27832:66:150"},{"nodeType":"YulAssignment","src":"27907:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27918:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27923:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27914:3:150"},"nodeType":"YulFunctionCall","src":"27914:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27907:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"27762:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27767:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"27778:3:150","type":""}],"src":"27647:289:150"},{"body":{"nodeType":"YulBlock","src":"28022:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"28055:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28069:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28079:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"28073:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"28100:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"28104:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28093:6:150"},"nodeType":"YulFunctionCall","src":"28093:17:150"},"nodeType":"YulExpressionStatement","src":"28093:17:150"},{"nodeType":"YulVariableDeclaration","src":"28123:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"28145:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"28149:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"28135:9:150"},"nodeType":"YulFunctionCall","src":"28135:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"28127:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28167:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"28190:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28200:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"28207:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28219:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28203:3:150"},"nodeType":"YulFunctionCall","src":"28203:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"28196:3:150"},"nodeType":"YulFunctionCall","src":"28196:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28186:3:150"},"nodeType":"YulFunctionCall","src":"28186:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"28171:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28261:23:150","statements":[{"nodeType":"YulAssignment","src":"28263:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"28278:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"28263:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"28243:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28255:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28240:2:150"},"nodeType":"YulFunctionCall","src":"28240:20:150"},"nodeType":"YulIf","src":"28237:47:150"},{"nodeType":"YulVariableDeclaration","src":"28297:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"28311:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28321:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"28328:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"28333:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28324:3:150"},"nodeType":"YulFunctionCall","src":"28324:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"28317:3:150"},"nodeType":"YulFunctionCall","src":"28317:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28307:3:150"},"nodeType":"YulFunctionCall","src":"28307:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"28301:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28351:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"28364:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"28355:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28449:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"28458:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28465:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28451:6:150"},"nodeType":"YulFunctionCall","src":"28451:17:150"},"nodeType":"YulExpressionStatement","src":"28451:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"28399:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"28406:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28396:2:150"},"nodeType":"YulFunctionCall","src":"28396:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"28410:26:150","statements":[{"nodeType":"YulAssignment","src":"28412:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"28425:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"28432:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28421:3:150"},"nodeType":"YulFunctionCall","src":"28421:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"28412:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"28392:3:150","statements":[]},"src":"28388:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"28038:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"28043:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28035:2:150"},"nodeType":"YulFunctionCall","src":"28035:11:150"},"nodeType":"YulIf","src":"28032:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"27994:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"28001:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"28006:10:150","type":""}],"src":"27941:545:150"},{"body":{"nodeType":"YulBlock","src":"28576:81:150","statements":[{"nodeType":"YulAssignment","src":"28586:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"28601:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28619:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"28622:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28615:3:150"},"nodeType":"YulFunctionCall","src":"28615:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28632:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28628:3:150"},"nodeType":"YulFunctionCall","src":"28628:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"28611:3:150"},"nodeType":"YulFunctionCall","src":"28611:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28607:3:150"},"nodeType":"YulFunctionCall","src":"28607:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28597:3:150"},"nodeType":"YulFunctionCall","src":"28597:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28643:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"28646:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28639:3:150"},"nodeType":"YulFunctionCall","src":"28639:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"28594:2:150"},"nodeType":"YulFunctionCall","src":"28594:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"28586:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"28553:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"28559:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"28567:4:150","type":""}],"src":"28491:166:150"},{"body":{"nodeType":"YulBlock","src":"28758:1256:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28768:24:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28788:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28782:5:150"},"nodeType":"YulFunctionCall","src":"28782:10:150"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"28772:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28835:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"28837:16:150"},"nodeType":"YulFunctionCall","src":"28837:18:150"},"nodeType":"YulExpressionStatement","src":"28837:18:150"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"28807:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28823:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"28827:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28819:3:150"},"nodeType":"YulFunctionCall","src":"28819:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28831:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28815:3:150"},"nodeType":"YulFunctionCall","src":"28815:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28804:2:150"},"nodeType":"YulFunctionCall","src":"28804:30:150"},"nodeType":"YulIf","src":"28801:56:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28910:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28948:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"28942:5:150"},"nodeType":"YulFunctionCall","src":"28942:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"28916:25:150"},"nodeType":"YulFunctionCall","src":"28916:38:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"28956:6:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"28866:43:150"},"nodeType":"YulFunctionCall","src":"28866:97:150"},"nodeType":"YulExpressionStatement","src":"28866:97:150"},{"nodeType":"YulVariableDeclaration","src":"28972:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28989:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"28976:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28999:23:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29018:4:150","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"29003:11:150","type":""}]},{"nodeType":"YulAssignment","src":"29031:24:150","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"29044:11:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"29031:9:150"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"29101:656:150","statements":[{"nodeType":"YulVariableDeclaration","src":"29115:35:150","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"29134:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29146:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29142:3:150"},"nodeType":"YulFunctionCall","src":"29142:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29130:3:150"},"nodeType":"YulFunctionCall","src":"29130:20:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"29119:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29163:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"29207:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"29177:29:150"},"nodeType":"YulFunctionCall","src":"29177:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"29167:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29225:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29234:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"29229:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29312:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"29337:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"29355:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"29360:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29351:3:150"},"nodeType":"YulFunctionCall","src":"29351:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29345:5:150"},"nodeType":"YulFunctionCall","src":"29345:26:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29330:6:150"},"nodeType":"YulFunctionCall","src":"29330:42:150"},"nodeType":"YulExpressionStatement","src":"29330:42:150"},{"nodeType":"YulAssignment","src":"29389:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"29403:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"29411:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29399:3:150"},"nodeType":"YulFunctionCall","src":"29399:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"29389:6:150"}]},{"nodeType":"YulAssignment","src":"29430:40:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"29447:9:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"29458:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29443:3:150"},"nodeType":"YulFunctionCall","src":"29443:27:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"29430:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"29259:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"29262:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"29256:2:150"},"nodeType":"YulFunctionCall","src":"29256:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"29271:28:150","statements":[{"nodeType":"YulAssignment","src":"29273:24:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"29282:1:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"29285:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29278:3:150"},"nodeType":"YulFunctionCall","src":"29278:19:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"29273:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"29252:3:150","statements":[]},"src":"29248:236:150"},{"body":{"nodeType":"YulBlock","src":"29532:166:150","statements":[{"nodeType":"YulVariableDeclaration","src":"29550:43:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"29577:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"29582:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29573:3:150"},"nodeType":"YulFunctionCall","src":"29573:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29567:5:150"},"nodeType":"YulFunctionCall","src":"29567:26:150"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"29554:9:150","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"29617:6:150"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"29629:9:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29656:1:150","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"29659:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29652:3:150"},"nodeType":"YulFunctionCall","src":"29652:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"29668:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29648:3:150"},"nodeType":"YulFunctionCall","src":"29648:24:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29678:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29674:3:150"},"nodeType":"YulFunctionCall","src":"29674:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"29644:3:150"},"nodeType":"YulFunctionCall","src":"29644:37:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29640:3:150"},"nodeType":"YulFunctionCall","src":"29640:42:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29625:3:150"},"nodeType":"YulFunctionCall","src":"29625:58:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29610:6:150"},"nodeType":"YulFunctionCall","src":"29610:74:150"},"nodeType":"YulExpressionStatement","src":"29610:74:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"29503:7:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"29512:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"29500:2:150"},"nodeType":"YulFunctionCall","src":"29500:19:150"},"nodeType":"YulIf","src":"29497:201:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"29718:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29732:1:150","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"29735:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29728:3:150"},"nodeType":"YulFunctionCall","src":"29728:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"29744:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29724:3:150"},"nodeType":"YulFunctionCall","src":"29724:22:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29711:6:150"},"nodeType":"YulFunctionCall","src":"29711:36:150"},"nodeType":"YulExpressionStatement","src":"29711:36:150"}]},"nodeType":"YulCase","src":"29094:663:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29099:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"29774:234:150","statements":[{"nodeType":"YulVariableDeclaration","src":"29788:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29801:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"29792:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29837:67:150","statements":[{"nodeType":"YulAssignment","src":"29855:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"29874:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"29879:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29870:3:150"},"nodeType":"YulFunctionCall","src":"29870:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29864:5:150"},"nodeType":"YulFunctionCall","src":"29864:26:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"29855:5:150"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"29818:6:150"},"nodeType":"YulIf","src":"29815:89:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"29924:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29983:5:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"29990:6:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"29930:52:150"},"nodeType":"YulFunctionCall","src":"29930:67:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29917:6:150"},"nodeType":"YulFunctionCall","src":"29917:81:150"},"nodeType":"YulExpressionStatement","src":"29917:81:150"}]},"nodeType":"YulCase","src":"29766:242:150","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"29074:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"29082:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29071:2:150"},"nodeType":"YulFunctionCall","src":"29071:14:150"},"nodeType":"YulSwitch","src":"29064:944:150"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"28743:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"28749:3:150","type":""}],"src":"28662:1352:150"},{"body":{"nodeType":"YulBlock","src":"30193:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30210:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30221:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30203:6:150"},"nodeType":"YulFunctionCall","src":"30203:21:150"},"nodeType":"YulExpressionStatement","src":"30203:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30244:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30255:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30240:3:150"},"nodeType":"YulFunctionCall","src":"30240:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30260:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30233:6:150"},"nodeType":"YulFunctionCall","src":"30233:30:150"},"nodeType":"YulExpressionStatement","src":"30233:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30283:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30294:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30279:3:150"},"nodeType":"YulFunctionCall","src":"30279:18:150"},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e67206973","kind":"string","nodeType":"YulLiteral","src":"30299:34:150","type":"","value":"Galaxy Member: Public minting is"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30272:6:150"},"nodeType":"YulFunctionCall","src":"30272:62:150"},"nodeType":"YulExpressionStatement","src":"30272:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30354:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30365:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30350:3:150"},"nodeType":"YulFunctionCall","src":"30350:18:150"},{"hexValue":"20706175736564","kind":"string","nodeType":"YulLiteral","src":"30370:9:150","type":"","value":" paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30343:6:150"},"nodeType":"YulFunctionCall","src":"30343:37:150"},"nodeType":"YulExpressionStatement","src":"30343:37:150"},{"nodeType":"YulAssignment","src":"30389:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30401:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30412:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30397:3:150"},"nodeType":"YulFunctionCall","src":"30397:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30389:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30170:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30184:4:150","type":""}],"src":"30019:403:150"},{"body":{"nodeType":"YulBlock","src":"30601:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30618:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30629:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30611:6:150"},"nodeType":"YulFunctionCall","src":"30611:21:150"},"nodeType":"YulExpressionStatement","src":"30611:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30652:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30663:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30648:3:150"},"nodeType":"YulFunctionCall","src":"30648:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30668:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30641:6:150"},"nodeType":"YulFunctionCall","src":"30641:30:150"},"nodeType":"YulExpressionStatement","src":"30641:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30691:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30702:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30687:3:150"},"nodeType":"YulFunctionCall","src":"30687:18:150"},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274","kind":"string","nodeType":"YulLiteral","src":"30707:34:150","type":"","value":"Galaxy Member: User has not part"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30680:6:150"},"nodeType":"YulFunctionCall","src":"30680:62:150"},"nodeType":"YulExpressionStatement","src":"30680:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30762:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30773:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30758:3:150"},"nodeType":"YulFunctionCall","src":"30758:18:150"},{"hexValue":"696369706174656420696e20676f7665726e616e6365","kind":"string","nodeType":"YulLiteral","src":"30778:24:150","type":"","value":"icipated in governance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30751:6:150"},"nodeType":"YulFunctionCall","src":"30751:52:150"},"nodeType":"YulExpressionStatement","src":"30751:52:150"},{"nodeType":"YulAssignment","src":"30812:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30824:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30835:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30820:3:150"},"nodeType":"YulFunctionCall","src":"30820:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30812:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30578:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30592:4:150","type":""}],"src":"30427:418:150"},{"body":{"nodeType":"YulBlock","src":"31024:237:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31041:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31052:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31034:6:150"},"nodeType":"YulFunctionCall","src":"31034:21:150"},"nodeType":"YulExpressionStatement","src":"31034:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31075:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31086:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31071:3:150"},"nodeType":"YulFunctionCall","src":"31071:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31091:2:150","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31064:6:150"},"nodeType":"YulFunctionCall","src":"31064:30:150"},"nodeType":"YulExpressionStatement","src":"31064:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31114:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31125:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31110:3:150"},"nodeType":"YulFunctionCall","src":"31110:18:150"},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d757374206265","kind":"string","nodeType":"YulLiteral","src":"31130:34:150","type":"","value":"Galaxy Member: Max level must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31103:6:150"},"nodeType":"YulFunctionCall","src":"31103:62:150"},"nodeType":"YulExpressionStatement","src":"31103:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31185:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31196:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31181:3:150"},"nodeType":"YulFunctionCall","src":"31181:18:150"},{"hexValue":"2067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"31201:17:150","type":"","value":" greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31174:6:150"},"nodeType":"YulFunctionCall","src":"31174:45:150"},"nodeType":"YulExpressionStatement","src":"31174:45:150"},{"nodeType":"YulAssignment","src":"31228:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31240:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31251:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31236:3:150"},"nodeType":"YulFunctionCall","src":"31236:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31228:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31001:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31015:4:150","type":""}],"src":"30850:411:150"},{"body":{"nodeType":"YulBlock","src":"31440:250:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31457:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31468:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31450:6:150"},"nodeType":"YulFunctionCall","src":"31450:21:150"},"nodeType":"YulExpressionStatement","src":"31450:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31491:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31502:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31487:3:150"},"nodeType":"YulFunctionCall","src":"31487:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31507:2:150","type":"","value":"60"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31480:6:150"},"nodeType":"YulFunctionCall","src":"31480:30:150"},"nodeType":"YulExpressionStatement","src":"31480:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31530:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31541:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31526:3:150"},"nodeType":"YulFunctionCall","src":"31526:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f6b656e20616464726573","kind":"string","nodeType":"YulLiteral","src":"31546:34:150","type":"","value":"Galaxy Member: B3TR token addres"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31519:6:150"},"nodeType":"YulFunctionCall","src":"31519:62:150"},"nodeType":"YulExpressionStatement","src":"31519:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31601:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31612:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31597:3:150"},"nodeType":"YulFunctionCall","src":"31597:18:150"},{"hexValue":"732063616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"31617:30:150","type":"","value":"s cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31590:6:150"},"nodeType":"YulFunctionCall","src":"31590:58:150"},"nodeType":"YulExpressionStatement","src":"31590:58:150"},{"nodeType":"YulAssignment","src":"31657:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31669:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31680:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31665:3:150"},"nodeType":"YulFunctionCall","src":"31665:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31657:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31417:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31431:4:150","type":""}],"src":"31266:424:150"},{"body":{"nodeType":"YulBlock","src":"31869:248:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31886:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31897:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31879:6:150"},"nodeType":"YulFunctionCall","src":"31879:21:150"},"nodeType":"YulExpressionStatement","src":"31879:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31920:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31931:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31916:3:150"},"nodeType":"YulFunctionCall","src":"31916:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31936:2:150","type":"","value":"58"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31909:6:150"},"nodeType":"YulFunctionCall","src":"31909:30:150"},"nodeType":"YulExpressionStatement","src":"31909:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31959:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31970:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31955:3:150"},"nodeType":"YulFunctionCall","src":"31955:18:150"},{"hexValue":"47616c617879204d656d6265723a205472656173757279206164647265737320","kind":"string","nodeType":"YulLiteral","src":"31975:34:150","type":"","value":"Galaxy Member: Treasury address "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31948:6:150"},"nodeType":"YulFunctionCall","src":"31948:62:150"},"nodeType":"YulExpressionStatement","src":"31948:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32030:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32041:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32026:3:150"},"nodeType":"YulFunctionCall","src":"32026:18:150"},{"hexValue":"63616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"32046:28:150","type":"","value":"cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32019:6:150"},"nodeType":"YulFunctionCall","src":"32019:56:150"},"nodeType":"YulExpressionStatement","src":"32019:56:150"},{"nodeType":"YulAssignment","src":"32084:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32096:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32107:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32092:3:150"},"nodeType":"YulFunctionCall","src":"32092:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32084:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31846:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31860:4:150","type":""}],"src":"31695:422:150"},{"body":{"nodeType":"YulBlock","src":"32171:79:150","statements":[{"nodeType":"YulAssignment","src":"32181:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"32193:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"32196:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32189:3:150"},"nodeType":"YulFunctionCall","src":"32189:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"32181:4:150"}]},{"body":{"nodeType":"YulBlock","src":"32222:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"32224:16:150"},"nodeType":"YulFunctionCall","src":"32224:18:150"},"nodeType":"YulExpressionStatement","src":"32224:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"32213:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"32219:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"32210:2:150"},"nodeType":"YulFunctionCall","src":"32210:11:150"},"nodeType":"YulIf","src":"32207:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"32153:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"32156:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"32162:4:150","type":""}],"src":"32122:128:150"},{"body":{"nodeType":"YulBlock","src":"32429:296:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32446:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32457:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32439:6:150"},"nodeType":"YulFunctionCall","src":"32439:21:150"},"nodeType":"YulExpressionStatement","src":"32439:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32480:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32491:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32476:3:150"},"nodeType":"YulFunctionCall","src":"32476:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32496:2:150","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32469:6:150"},"nodeType":"YulFunctionCall","src":"32469:30:150"},"nodeType":"YulExpressionStatement","src":"32469:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32519:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32530:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32515:3:150"},"nodeType":"YulFunctionCall","src":"32515:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"32535:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32508:6:150"},"nodeType":"YulFunctionCall","src":"32508:62:150"},"nodeType":"YulExpressionStatement","src":"32508:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32590:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32601:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32586:3:150"},"nodeType":"YulFunctionCall","src":"32586:18:150"},{"hexValue":"7573742062652073657420666f7220616c6c20756e6c6f636b6564206c657665","kind":"string","nodeType":"YulLiteral","src":"32606:34:150","type":"","value":"ust be set for all unlocked leve"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32579:6:150"},"nodeType":"YulFunctionCall","src":"32579:62:150"},"nodeType":"YulExpressionStatement","src":"32579:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32661:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32672:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32657:3:150"},"nodeType":"YulFunctionCall","src":"32657:19:150"},{"hexValue":"6c73","kind":"string","nodeType":"YulLiteral","src":"32678:4:150","type":"","value":"ls"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32650:6:150"},"nodeType":"YulFunctionCall","src":"32650:33:150"},"nodeType":"YulExpressionStatement","src":"32650:33:150"},{"nodeType":"YulAssignment","src":"32692:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32704:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32715:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32700:3:150"},"nodeType":"YulFunctionCall","src":"32700:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32692:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32406:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32420:4:150","type":""}],"src":"32255:470:150"},{"body":{"nodeType":"YulBlock","src":"32904:243:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32921:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32932:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32914:6:150"},"nodeType":"YulFunctionCall","src":"32914:21:150"},"nodeType":"YulExpressionStatement","src":"32914:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32955:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32966:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32951:3:150"},"nodeType":"YulFunctionCall","src":"32951:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32971:2:150","type":"","value":"53"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32944:6:150"},"nodeType":"YulFunctionCall","src":"32944:30:150"},"nodeType":"YulExpressionStatement","src":"32944:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32994:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33005:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32990:3:150"},"nodeType":"YulFunctionCall","src":"32990:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"33010:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32983:6:150"},"nodeType":"YulFunctionCall","src":"32983:62:150"},"nodeType":"YulExpressionStatement","src":"32983:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33065:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33076:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33061:3:150"},"nodeType":"YulFunctionCall","src":"33061:18:150"},{"hexValue":"7573742062652067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"33081:23:150","type":"","value":"ust be greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33054:6:150"},"nodeType":"YulFunctionCall","src":"33054:51:150"},"nodeType":"YulExpressionStatement","src":"33054:51:150"},{"nodeType":"YulAssignment","src":"33114:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33126:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33137:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33122:3:150"},"nodeType":"YulFunctionCall","src":"33122:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33114:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32881:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32895:4:150","type":""}],"src":"32730:417:150"},{"body":{"nodeType":"YulBlock","src":"33326:245:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33343:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33354:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33336:6:150"},"nodeType":"YulFunctionCall","src":"33336:21:150"},"nodeType":"YulExpressionStatement","src":"33336:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33377:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33388:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33373:3:150"},"nodeType":"YulFunctionCall","src":"33373:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33393:2:150","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33366:6:150"},"nodeType":"YulFunctionCall","src":"33366:30:150"},"nodeType":"YulExpressionStatement","src":"33366:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33416:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33427:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33412:3:150"},"nodeType":"YulFunctionCall","src":"33412:18:150"},{"hexValue":"47616c617879204d656d6265723a2041646d696e20616464726573732063616e","kind":"string","nodeType":"YulLiteral","src":"33432:34:150","type":"","value":"Galaxy Member: Admin address can"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33405:6:150"},"nodeType":"YulFunctionCall","src":"33405:62:150"},"nodeType":"YulExpressionStatement","src":"33405:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33487:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33498:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33483:3:150"},"nodeType":"YulFunctionCall","src":"33483:18:150"},{"hexValue":"6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"33503:25:150","type":"","value":"not be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33476:6:150"},"nodeType":"YulFunctionCall","src":"33476:53:150"},"nodeType":"YulExpressionStatement","src":"33476:53:150"},{"nodeType":"YulAssignment","src":"33538:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33550:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33561:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33546:3:150"},"nodeType":"YulFunctionCall","src":"33546:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33538:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33303:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33317:4:150","type":""}],"src":"33152:419:150"},{"body":{"nodeType":"YulBlock","src":"33684:101:150","statements":[{"nodeType":"YulAssignment","src":"33694:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33706:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33717:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33702:3:150"},"nodeType":"YulFunctionCall","src":"33702:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33694:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33736:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33751:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33767:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"33771:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33763:3:150"},"nodeType":"YulFunctionCall","src":"33763:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"33775:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33759:3:150"},"nodeType":"YulFunctionCall","src":"33759:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33747:3:150"},"nodeType":"YulFunctionCall","src":"33747:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33729:6:150"},"nodeType":"YulFunctionCall","src":"33729:50:150"},"nodeType":"YulExpressionStatement","src":"33729:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33653:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33664:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33675:4:150","type":""}],"src":"33576:209:150"},{"body":{"nodeType":"YulBlock","src":"33964:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33981:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33992:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33974:6:150"},"nodeType":"YulFunctionCall","src":"33974:21:150"},"nodeType":"YulExpressionStatement","src":"33974:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34015:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34026:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34011:3:150"},"nodeType":"YulFunctionCall","src":"34011:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34031:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34004:6:150"},"nodeType":"YulFunctionCall","src":"34004:30:150"},"nodeType":"YulExpressionStatement","src":"34004:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34054:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34065:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34050:3:150"},"nodeType":"YulFunctionCall","src":"34050:18:150"},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e","kind":"string","nodeType":"YulLiteral","src":"34070:34:150","type":"","value":"GalaxyMember: _vechainNodes cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34043:6:150"},"nodeType":"YulFunctionCall","src":"34043:62:150"},"nodeType":"YulExpressionStatement","src":"34043:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34125:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34136:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34121:3:150"},"nodeType":"YulFunctionCall","src":"34121:18:150"},{"hexValue":"6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"34141:24:150","type":"","value":"ot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34114:6:150"},"nodeType":"YulFunctionCall","src":"34114:52:150"},"nodeType":"YulExpressionStatement","src":"34114:52:150"},{"nodeType":"YulAssignment","src":"34175:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34187:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34198:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34183:3:150"},"nodeType":"YulFunctionCall","src":"34183:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34175:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33941:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33955:4:150","type":""}],"src":"33790:418:150"},{"body":{"nodeType":"YulBlock","src":"34387:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34404:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34415:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34397:6:150"},"nodeType":"YulFunctionCall","src":"34397:21:150"},"nodeType":"YulExpressionStatement","src":"34397:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34438:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34449:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34434:3:150"},"nodeType":"YulFunctionCall","src":"34434:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34454:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34427:6:150"},"nodeType":"YulFunctionCall","src":"34427:30:150"},"nodeType":"YulExpressionStatement","src":"34427:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34477:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34488:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34473:3:150"},"nodeType":"YulFunctionCall","src":"34473:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578","kind":"string","nodeType":"YulLiteral","src":"34493:34:150","type":"","value":"GalaxyMember: tokenId doesn't ex"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34466:6:150"},"nodeType":"YulFunctionCall","src":"34466:62:150"},"nodeType":"YulExpressionStatement","src":"34466:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34548:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34559:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34544:3:150"},"nodeType":"YulFunctionCall","src":"34544:18:150"},{"hexValue":"697374","kind":"string","nodeType":"YulLiteral","src":"34564:5:150","type":"","value":"ist"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34537:6:150"},"nodeType":"YulFunctionCall","src":"34537:33:150"},"nodeType":"YulExpressionStatement","src":"34537:33:150"},{"nodeType":"YulAssignment","src":"34579:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34591:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34602:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34587:3:150"},"nodeType":"YulFunctionCall","src":"34587:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34579:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34364:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34378:4:150","type":""}],"src":"34213:399:150"},{"body":{"nodeType":"YulBlock","src":"34791:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34808:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34819:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34801:6:150"},"nodeType":"YulFunctionCall","src":"34801:21:150"},"nodeType":"YulExpressionStatement","src":"34801:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34842:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34853:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34838:3:150"},"nodeType":"YulFunctionCall","src":"34838:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34858:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34831:6:150"},"nodeType":"YulFunctionCall","src":"34831:30:150"},"nodeType":"YulExpressionStatement","src":"34831:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34881:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34892:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34877:3:150"},"nodeType":"YulFunctionCall","src":"34877:18:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"34897:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34870:6:150"},"nodeType":"YulFunctionCall","src":"34870:62:150"},"nodeType":"YulExpressionStatement","src":"34870:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34963:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34948:3:150"},"nodeType":"YulFunctionCall","src":"34948:18:150"},{"hexValue":"6f742062652030","kind":"string","nodeType":"YulLiteral","src":"34968:9:150","type":"","value":"ot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34941:6:150"},"nodeType":"YulFunctionCall","src":"34941:37:150"},"nodeType":"YulExpressionStatement","src":"34941:37:150"},{"nodeType":"YulAssignment","src":"34987:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34999:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35010:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34995:3:150"},"nodeType":"YulFunctionCall","src":"34995:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34987:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34768:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34782:4:150","type":""}],"src":"34617:403:150"},{"body":{"nodeType":"YulBlock","src":"35265:274:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35282:3:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"35287:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35275:6:150"},"nodeType":"YulFunctionCall","src":"35275:47:150"},"nodeType":"YulExpressionStatement","src":"35275:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35342:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"35347:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35338:3:150"},"nodeType":"YulFunctionCall","src":"35338:12:150"},{"hexValue":"6f742062652067726561746572207468616e20","kind":"string","nodeType":"YulLiteral","src":"35352:21:150","type":"","value":"ot be greater than "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35331:6:150"},"nodeType":"YulFunctionCall","src":"35331:43:150"},"nodeType":"YulExpressionStatement","src":"35331:43:150"},{"nodeType":"YulVariableDeclaration","src":"35383:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35403:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35397:5:150"},"nodeType":"YulFunctionCall","src":"35397:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"35387:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35458:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"35466:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35454:3:150"},"nodeType":"YulFunctionCall","src":"35454:15:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35475:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"35480:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35471:3:150"},"nodeType":"YulFunctionCall","src":"35471:12:150"},{"name":"length","nodeType":"YulIdentifier","src":"35485:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"35419:34:150"},"nodeType":"YulFunctionCall","src":"35419:73:150"},"nodeType":"YulExpressionStatement","src":"35419:73:150"},{"nodeType":"YulAssignment","src":"35501:32:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35516:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"35521:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35512:3:150"},"nodeType":"YulFunctionCall","src":"35512:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"35530:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35508:3:150"},"nodeType":"YulFunctionCall","src":"35508:25:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"35501:3:150"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"35241:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35246:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"35257:3:150","type":""}],"src":"35025:514:150"},{"body":{"nodeType":"YulBlock","src":"35596:116:150","statements":[{"nodeType":"YulAssignment","src":"35606:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35621:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"35624:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"35617:3:150"},"nodeType":"YulFunctionCall","src":"35617:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"35606:7:150"}]},{"body":{"nodeType":"YulBlock","src":"35684:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"35686:16:150"},"nodeType":"YulFunctionCall","src":"35686:18:150"},"nodeType":"YulExpressionStatement","src":"35686:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35655:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35648:6:150"},"nodeType":"YulFunctionCall","src":"35648:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"35662:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"35669:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"35678:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"35665:3:150"},"nodeType":"YulFunctionCall","src":"35665:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"35659:2:150"},"nodeType":"YulFunctionCall","src":"35659:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"35645:2:150"},"nodeType":"YulFunctionCall","src":"35645:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35638:6:150"},"nodeType":"YulFunctionCall","src":"35638:45:150"},"nodeType":"YulIf","src":"35635:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"35575:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"35578:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"35584:7:150","type":""}],"src":"35544:168:150"},{"body":{"nodeType":"YulBlock","src":"35891:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35908:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35919:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35901:6:150"},"nodeType":"YulFunctionCall","src":"35901:21:150"},"nodeType":"YulExpressionStatement","src":"35901:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35942:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35953:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35938:3:150"},"nodeType":"YulFunctionCall","src":"35938:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35958:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35931:6:150"},"nodeType":"YulFunctionCall","src":"35931:30:150"},"nodeType":"YulExpressionStatement","src":"35931:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35981:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35992:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35977:3:150"},"nodeType":"YulFunctionCall","src":"35977:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e6564206279","kind":"string","nodeType":"YulLiteral","src":"35997:34:150","type":"","value":"GalaxyMember: token not owned by"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35970:6:150"},"nodeType":"YulFunctionCall","src":"35970:62:150"},"nodeType":"YulExpressionStatement","src":"35970:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36052:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36063:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36048:3:150"},"nodeType":"YulFunctionCall","src":"36048:18:150"},{"hexValue":"2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"36068:9:150","type":"","value":" caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36041:6:150"},"nodeType":"YulFunctionCall","src":"36041:37:150"},"nodeType":"YulExpressionStatement","src":"36041:37:150"},{"nodeType":"YulAssignment","src":"36087:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36099:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36110:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36095:3:150"},"nodeType":"YulFunctionCall","src":"36095:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36087:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35868:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35882:4:150","type":""}],"src":"35717:403:150"},{"body":{"nodeType":"YulBlock","src":"36299:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36316:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36327:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36309:6:150"},"nodeType":"YulFunctionCall","src":"36309:21:150"},"nodeType":"YulExpressionStatement","src":"36309:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36350:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36361:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36346:3:150"},"nodeType":"YulFunctionCall","src":"36346:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36366:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36339:6:150"},"nodeType":"YulFunctionCall","src":"36339:30:150"},"nodeType":"YulExpressionStatement","src":"36339:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36389:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36400:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36385:3:150"},"nodeType":"YulFunctionCall","src":"36385:18:150"},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f","kind":"string","nodeType":"YulLiteral","src":"36405:34:150","type":"","value":"GalaxyMember: vechain node not o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36378:6:150"},"nodeType":"YulFunctionCall","src":"36378:62:150"},"nodeType":"YulExpressionStatement","src":"36378:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36460:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36471:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36456:3:150"},"nodeType":"YulFunctionCall","src":"36456:18:150"},{"hexValue":"776e6564206f72206d616e616765642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"36476:27:150","type":"","value":"wned or managed by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36449:6:150"},"nodeType":"YulFunctionCall","src":"36449:55:150"},"nodeType":"YulExpressionStatement","src":"36449:55:150"},{"nodeType":"YulAssignment","src":"36513:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36525:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36536:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36521:3:150"},"nodeType":"YulFunctionCall","src":"36521:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36513:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36276:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36290:4:150","type":""}],"src":"36125:421:150"},{"body":{"nodeType":"YulBlock","src":"36725:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36742:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36753:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36735:6:150"},"nodeType":"YulFunctionCall","src":"36735:21:150"},"nodeType":"YulExpressionStatement","src":"36735:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36776:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36787:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36772:3:150"},"nodeType":"YulFunctionCall","src":"36772:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36792:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36765:6:150"},"nodeType":"YulFunctionCall","src":"36765:30:150"},"nodeType":"YulExpressionStatement","src":"36765:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36815:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36826:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36811:3:150"},"nodeType":"YulFunctionCall","src":"36811:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c7265616479206174746163","kind":"string","nodeType":"YulLiteral","src":"36831:34:150","type":"","value":"GalaxyMember: node already attac"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36804:6:150"},"nodeType":"YulFunctionCall","src":"36804:62:150"},"nodeType":"YulExpressionStatement","src":"36804:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36886:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36897:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36882:3:150"},"nodeType":"YulFunctionCall","src":"36882:18:150"},{"hexValue":"68656420746f206120746f6b656e","kind":"string","nodeType":"YulLiteral","src":"36902:16:150","type":"","value":"hed to a token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36875:6:150"},"nodeType":"YulFunctionCall","src":"36875:44:150"},"nodeType":"YulExpressionStatement","src":"36875:44:150"},{"nodeType":"YulAssignment","src":"36928:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36940:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36951:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36936:3:150"},"nodeType":"YulFunctionCall","src":"36936:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36928:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36702:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36716:4:150","type":""}],"src":"36551:410:150"},{"body":{"nodeType":"YulBlock","src":"37140:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37157:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37168:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37150:6:150"},"nodeType":"YulFunctionCall","src":"37150:21:150"},"nodeType":"YulExpressionStatement","src":"37150:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37191:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37202:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37187:3:150"},"nodeType":"YulFunctionCall","src":"37187:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37207:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37180:6:150"},"nodeType":"YulFunctionCall","src":"37180:30:150"},"nodeType":"YulExpressionStatement","src":"37180:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37230:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37241:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37226:3:150"},"nodeType":"YulFunctionCall","src":"37226:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c72656164792061747461","kind":"string","nodeType":"YulLiteral","src":"37246:34:150","type":"","value":"GalaxyMember: token already atta"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37219:6:150"},"nodeType":"YulFunctionCall","src":"37219:62:150"},"nodeType":"YulExpressionStatement","src":"37219:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37301:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37312:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37297:3:150"},"nodeType":"YulFunctionCall","src":"37297:18:150"},{"hexValue":"6368656420746f2061206e6f6465","kind":"string","nodeType":"YulLiteral","src":"37317:16:150","type":"","value":"ched to a node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37290:6:150"},"nodeType":"YulFunctionCall","src":"37290:44:150"},"nodeType":"YulExpressionStatement","src":"37290:44:150"},{"nodeType":"YulAssignment","src":"37343:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37355:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37366:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37351:3:150"},"nodeType":"YulFunctionCall","src":"37351:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37343:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37117:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37131:4:150","type":""}],"src":"36966:410:150"},{"body":{"nodeType":"YulBlock","src":"37555:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37572:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37583:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37565:6:150"},"nodeType":"YulFunctionCall","src":"37565:21:150"},"nodeType":"YulExpressionStatement","src":"37565:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37606:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37617:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37602:3:150"},"nodeType":"YulFunctionCall","src":"37602:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37622:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37595:6:150"},"nodeType":"YulFunctionCall","src":"37595:30:150"},"nodeType":"YulExpressionStatement","src":"37595:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37645:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37656:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37641:3:150"},"nodeType":"YulFunctionCall","src":"37641:18:150"},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67","kind":"string","nodeType":"YulLiteral","src":"37661:34:150","type":"","value":"Galaxy Member: XAllocationVoting"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37634:6:150"},"nodeType":"YulFunctionCall","src":"37634:62:150"},"nodeType":"YulExpressionStatement","src":"37634:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37716:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37727:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37712:3:150"},"nodeType":"YulFunctionCall","src":"37712:18:150"},{"hexValue":"476f7665726e6f72206e6f7420736574","kind":"string","nodeType":"YulLiteral","src":"37732:18:150","type":"","value":"Governor not set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37705:6:150"},"nodeType":"YulFunctionCall","src":"37705:46:150"},"nodeType":"YulExpressionStatement","src":"37705:46:150"},{"nodeType":"YulAssignment","src":"37760:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37772:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37783:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37768:3:150"},"nodeType":"YulFunctionCall","src":"37768:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37760:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37532:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37546:4:150","type":""}],"src":"37381:412:150"},{"body":{"nodeType":"YulBlock","src":"37972:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37989:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38000:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37982:6:150"},"nodeType":"YulFunctionCall","src":"37982:21:150"},"nodeType":"YulExpressionStatement","src":"37982:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38023:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38034:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38019:3:150"},"nodeType":"YulFunctionCall","src":"38019:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38039:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38012:6:150"},"nodeType":"YulFunctionCall","src":"38012:30:150"},"nodeType":"YulExpressionStatement","src":"38012:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38062:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38073:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38058:3:150"},"nodeType":"YulFunctionCall","src":"38058:18:150"},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420","kind":"string","nodeType":"YulLiteral","src":"38078:34:150","type":"","value":"Galaxy Member: B3TRGovernor not "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38051:6:150"},"nodeType":"YulFunctionCall","src":"38051:62:150"},"nodeType":"YulExpressionStatement","src":"38051:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38133:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38144:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38129:3:150"},"nodeType":"YulFunctionCall","src":"38129:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"38149:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38122:6:150"},"nodeType":"YulFunctionCall","src":"38122:33:150"},"nodeType":"YulExpressionStatement","src":"38122:33:150"},{"nodeType":"YulAssignment","src":"38164:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38176:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38187:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38172:3:150"},"nodeType":"YulFunctionCall","src":"38172:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38164:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37949:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37963:4:150","type":""}],"src":"37798:399:150"},{"body":{"nodeType":"YulBlock","src":"38371:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"38381:16:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"38394:3:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"38385:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38406:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38426:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38420:5:150"},"nodeType":"YulFunctionCall","src":"38420:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"38410:6:150","type":""}]},{"nodeType":"YulAssignment","src":"38442:12:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"38451:3:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"38442:5:150"}]},{"nodeType":"YulVariableDeclaration","src":"38463:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"38473:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"38467:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38486:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38504:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38512:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38500:3:150"},"nodeType":"YulFunctionCall","src":"38500:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"38490:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38524:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"38533:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"38528:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"38592:126:150","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"38613:5:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38626:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38620:5:150"},"nodeType":"YulFunctionCall","src":"38620:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38606:6:150"},"nodeType":"YulFunctionCall","src":"38606:28:150"},"nodeType":"YulExpressionStatement","src":"38606:28:150"},{"nodeType":"YulAssignment","src":"38647:23:150","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"38660:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38667:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38656:3:150"},"nodeType":"YulFunctionCall","src":"38656:14:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"38647:5:150"}]},{"nodeType":"YulAssignment","src":"38683:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38697:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38705:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38693:3:150"},"nodeType":"YulFunctionCall","src":"38693:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38683:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"38554:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"38557:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"38551:2:150"},"nodeType":"YulFunctionCall","src":"38551:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"38565:18:150","statements":[{"nodeType":"YulAssignment","src":"38567:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"38576:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"38579:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38572:3:150"},"nodeType":"YulFunctionCall","src":"38572:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"38567:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"38547:3:150","statements":[]},"src":"38543:175:150"},{"nodeType":"YulAssignment","src":"38727:12:150","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"38734:5:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"38727:3:150"}]}]},"name":"abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"38347:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38352:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"38363:3:150","type":""}],"src":"38202:543:150"},{"body":{"nodeType":"YulBlock","src":"38924:246:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38941:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38952:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38934:6:150"},"nodeType":"YulFunctionCall","src":"38934:21:150"},"nodeType":"YulExpressionStatement","src":"38934:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38975:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38986:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38971:3:150"},"nodeType":"YulFunctionCall","src":"38971:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38991:2:150","type":"","value":"56"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38964:6:150"},"nodeType":"YulFunctionCall","src":"38964:30:150"},"nodeType":"YulExpressionStatement","src":"38964:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39014:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39025:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39010:3:150"},"nodeType":"YulFunctionCall","src":"39010:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520","kind":"string","nodeType":"YulLiteral","src":"39030:34:150","type":"","value":"GalaxyMember: invalid node free "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39003:6:150"},"nodeType":"YulFunctionCall","src":"39003:62:150"},"nodeType":"YulExpressionStatement","src":"39003:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39085:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39096:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39081:3:150"},"nodeType":"YulFunctionCall","src":"39081:18:150"},{"hexValue":"6c6576656c732e204d7573742062652037206c6576656c73","kind":"string","nodeType":"YulLiteral","src":"39101:26:150","type":"","value":"levels. Must be 7 levels"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39074:6:150"},"nodeType":"YulFunctionCall","src":"39074:54:150"},"nodeType":"YulExpressionStatement","src":"39074:54:150"},{"nodeType":"YulAssignment","src":"39137:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39149:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39160:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39145:3:150"},"nodeType":"YulFunctionCall","src":"39145:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39137:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38901:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38915:4:150","type":""}],"src":"38750:420:150"},{"body":{"nodeType":"YulBlock","src":"39349:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39366:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39377:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39359:6:150"},"nodeType":"YulFunctionCall","src":"39359:21:150"},"nodeType":"YulExpressionStatement","src":"39359:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39400:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39411:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39396:3:150"},"nodeType":"YulFunctionCall","src":"39396:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39416:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39389:6:150"},"nodeType":"YulFunctionCall","src":"39389:30:150"},"nodeType":"YulExpressionStatement","src":"39389:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39439:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39450:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39435:3:150"},"nodeType":"YulFunctionCall","src":"39435:18:150"},{"hexValue":"47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063","kind":"string","nodeType":"YulLiteral","src":"39455:34:150","type":"","value":"GalaxyMember: _nodesMangaement c"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39428:6:150"},"nodeType":"YulFunctionCall","src":"39428:62:150"},"nodeType":"YulExpressionStatement","src":"39428:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39510:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39521:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39506:3:150"},"nodeType":"YulFunctionCall","src":"39506:18:150"},{"hexValue":"616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"39526:27:150","type":"","value":"annot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39499:6:150"},"nodeType":"YulFunctionCall","src":"39499:55:150"},"nodeType":"YulExpressionStatement","src":"39499:55:150"},{"nodeType":"YulAssignment","src":"39563:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39575:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39586:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39571:3:150"},"nodeType":"YulFunctionCall","src":"39571:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39563:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39326:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39340:4:150","type":""}],"src":"39175:421:150"},{"body":{"nodeType":"YulBlock","src":"39775:227:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39792:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39803:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39785:6:150"},"nodeType":"YulFunctionCall","src":"39785:21:150"},"nodeType":"YulExpressionStatement","src":"39785:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39826:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39837:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39822:3:150"},"nodeType":"YulFunctionCall","src":"39822:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39842:2:150","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39815:6:150"},"nodeType":"YulFunctionCall","src":"39815:30:150"},"nodeType":"YulExpressionStatement","src":"39815:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39865:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39876:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39861:3:150"},"nodeType":"YulFunctionCall","src":"39861:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520","kind":"string","nodeType":"YulLiteral","src":"39881:34:150","type":"","value":"GalaxyMember: invalid node free "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39854:6:150"},"nodeType":"YulFunctionCall","src":"39854:62:150"},"nodeType":"YulExpressionStatement","src":"39854:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39936:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39947:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39932:3:150"},"nodeType":"YulFunctionCall","src":"39932:18:150"},{"hexValue":"6c6576656c","kind":"string","nodeType":"YulLiteral","src":"39952:7:150","type":"","value":"level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39925:6:150"},"nodeType":"YulFunctionCall","src":"39925:35:150"},"nodeType":"YulExpressionStatement","src":"39925:35:150"},{"nodeType":"YulAssignment","src":"39969:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39981:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39992:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39977:3:150"},"nodeType":"YulFunctionCall","src":"39977:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39969:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39752:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39766:4:150","type":""}],"src":"39601:401:150"},{"body":{"nodeType":"YulBlock","src":"40052:130:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40062:31:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"40081:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"40088:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"40077:3:150"},"nodeType":"YulFunctionCall","src":"40077:16:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"40066:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40123:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"40125:16:150"},"nodeType":"YulFunctionCall","src":"40125:18:150"},"nodeType":"YulExpressionStatement","src":"40125:18:150"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"40108:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"40117:4:150","type":"","value":"0xff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"40105:2:150"},"nodeType":"YulFunctionCall","src":"40105:17:150"},"nodeType":"YulIf","src":"40102:43:150"},{"nodeType":"YulAssignment","src":"40154:22:150","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"40165:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"40174:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40161:3:150"},"nodeType":"YulFunctionCall","src":"40161:15:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"40154:3:150"}]}]},"name":"increment_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"40034:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"40044:3:150","type":""}],"src":"40007:175:150"},{"body":{"nodeType":"YulBlock","src":"40286:101:150","statements":[{"nodeType":"YulAssignment","src":"40296:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40308:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40319:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40304:3:150"},"nodeType":"YulFunctionCall","src":"40304:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40296:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40338:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40353:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40369:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"40373:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40365:3:150"},"nodeType":"YulFunctionCall","src":"40365:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"40377:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"40361:3:150"},"nodeType":"YulFunctionCall","src":"40361:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"40349:3:150"},"nodeType":"YulFunctionCall","src":"40349:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40331:6:150"},"nodeType":"YulFunctionCall","src":"40331:50:150"},"nodeType":"YulExpressionStatement","src":"40331:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40255:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40266:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40277:4:150","type":""}],"src":"40187:200:150"},{"body":{"nodeType":"YulBlock","src":"40669:375:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40679:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40699:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40693:5:150"},"nodeType":"YulFunctionCall","src":"40693:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"40683:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40754:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"40762:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40750:3:150"},"nodeType":"YulFunctionCall","src":"40750:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"40769:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40774:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"40715:34:150"},"nodeType":"YulFunctionCall","src":"40715:66:150"},"nodeType":"YulExpressionStatement","src":"40715:66:150"},{"nodeType":"YulVariableDeclaration","src":"40790:29:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40807:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40812:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40803:3:150"},"nodeType":"YulFunctionCall","src":"40803:16:150"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"40794:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"40828:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"40850:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40844:5:150"},"nodeType":"YulFunctionCall","src":"40844:13:150"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"40832:8:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"40905:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"40913:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40901:3:150"},"nodeType":"YulFunctionCall","src":"40901:17:150"},{"name":"end_1","nodeType":"YulIdentifier","src":"40920:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"40927:8:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"40866:34:150"},"nodeType":"YulFunctionCall","src":"40866:70:150"},"nodeType":"YulExpressionStatement","src":"40866:70:150"},{"nodeType":"YulVariableDeclaration","src":"40945:33:150","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"40962:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"40969:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40958:3:150"},"nodeType":"YulFunctionCall","src":"40958:20:150"},"variables":[{"name":"end_2","nodeType":"YulTypedName","src":"40949:5:150","type":""}]},{"expression":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"40994:5:150"},{"hexValue":"2e6a736f6e","kind":"string","nodeType":"YulLiteral","src":"41001:7:150","type":"","value":".json"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40987:6:150"},"nodeType":"YulFunctionCall","src":"40987:22:150"},"nodeType":"YulExpressionStatement","src":"40987:22:150"},{"nodeType":"YulAssignment","src":"41018:20:150","value":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"41029:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"41036:1:150","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41025:3:150"},"nodeType":"YulFunctionCall","src":"41025:13:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"41018:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"40637:3:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"40642:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40650:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"40661:3:150","type":""}],"src":"40392:652:150"},{"body":{"nodeType":"YulBlock","src":"41223:245:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41240:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41251:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41233:6:150"},"nodeType":"YulFunctionCall","src":"41233:21:150"},"nodeType":"YulExpressionStatement","src":"41233:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41274:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41285:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41270:3:150"},"nodeType":"YulFunctionCall","src":"41270:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"41290:2:150","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41263:6:150"},"nodeType":"YulFunctionCall","src":"41263:30:150"},"nodeType":"YulExpressionStatement","src":"41263:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41324:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41309:3:150"},"nodeType":"YulFunctionCall","src":"41309:18:150"},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e","kind":"string","nodeType":"YulLiteral","src":"41329:34:150","type":"","value":"Galaxy Member: _b3trGovernor can"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41302:6:150"},"nodeType":"YulFunctionCall","src":"41302:62:150"},"nodeType":"YulExpressionStatement","src":"41302:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41384:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41395:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41380:3:150"},"nodeType":"YulFunctionCall","src":"41380:18:150"},{"hexValue":"6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"41400:25:150","type":"","value":"not be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41373:6:150"},"nodeType":"YulFunctionCall","src":"41373:53:150"},"nodeType":"YulExpressionStatement","src":"41373:53:150"},{"nodeType":"YulAssignment","src":"41435:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41447:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41458:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41443:3:150"},"nodeType":"YulFunctionCall","src":"41443:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41435:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41200:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41214:4:150","type":""}],"src":"41049:419:150"},{"body":{"nodeType":"YulBlock","src":"41647:252:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41664:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41675:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41657:6:150"},"nodeType":"YulFunctionCall","src":"41657:21:150"},"nodeType":"YulExpressionStatement","src":"41657:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41698:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41709:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41694:3:150"},"nodeType":"YulFunctionCall","src":"41694:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"41714:2:150","type":"","value":"62"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41687:6:150"},"nodeType":"YulFunctionCall","src":"41687:30:150"},"nodeType":"YulExpressionStatement","src":"41687:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41737:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41748:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41733:3:150"},"nodeType":"YulFunctionCall","src":"41733:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f20","kind":"string","nodeType":"YulLiteral","src":"41753:34:150","type":"","value":"GalaxyMember: token attached to "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41726:6:150"},"nodeType":"YulFunctionCall","src":"41726:62:150"},"nodeType":"YulExpressionStatement","src":"41726:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41808:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41819:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41804:3:150"},"nodeType":"YulFunctionCall","src":"41804:18:150"},{"hexValue":"61206e6f64652c20646574616368206265666f7265207472616e73666572","kind":"string","nodeType":"YulLiteral","src":"41824:32:150","type":"","value":"a node, detach before transfer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41797:6:150"},"nodeType":"YulFunctionCall","src":"41797:60:150"},"nodeType":"YulExpressionStatement","src":"41797:60:150"},{"nodeType":"YulAssignment","src":"41866:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41878:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41889:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41874:3:150"},"nodeType":"YulFunctionCall","src":"41874:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41866:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41624:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41638:4:150","type":""}],"src":"41473:426:150"},{"body":{"nodeType":"YulBlock","src":"41985:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"42031:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42040:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42043:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42033:6:150"},"nodeType":"YulFunctionCall","src":"42033:12:150"},"nodeType":"YulExpressionStatement","src":"42033:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"42006:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"42015:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42002:3:150"},"nodeType":"YulFunctionCall","src":"42002:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"42027:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"41998:3:150"},"nodeType":"YulFunctionCall","src":"41998:32:150"},"nodeType":"YulIf","src":"41995:52:150"},{"nodeType":"YulAssignment","src":"42056:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42072:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"42066:5:150"},"nodeType":"YulFunctionCall","src":"42066:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"42056:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41951:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"41962:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"41974:6:150","type":""}],"src":"41904:184:150"},{"body":{"nodeType":"YulBlock","src":"42125:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42142:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42149:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"42154:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42145:3:150"},"nodeType":"YulFunctionCall","src":"42145:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42135:6:150"},"nodeType":"YulFunctionCall","src":"42135:31:150"},"nodeType":"YulExpressionStatement","src":"42135:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42182:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"42185:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42175:6:150"},"nodeType":"YulFunctionCall","src":"42175:15:150"},"nodeType":"YulExpressionStatement","src":"42175:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42206:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42209:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42199:6:150"},"nodeType":"YulFunctionCall","src":"42199:15:150"},"nodeType":"YulExpressionStatement","src":"42199:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"42093:127:150"},{"body":{"nodeType":"YulBlock","src":"42428:286:150","statements":[{"nodeType":"YulVariableDeclaration","src":"42438:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42456:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"42461:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42452:3:150"},"nodeType":"YulFunctionCall","src":"42452:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"42465:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42448:3:150"},"nodeType":"YulFunctionCall","src":"42448:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"42442:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42483:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42498:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"42506:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42494:3:150"},"nodeType":"YulFunctionCall","src":"42494:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42476:6:150"},"nodeType":"YulFunctionCall","src":"42476:34:150"},"nodeType":"YulExpressionStatement","src":"42476:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42530:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42541:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42526:3:150"},"nodeType":"YulFunctionCall","src":"42526:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"42550:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"42558:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42546:3:150"},"nodeType":"YulFunctionCall","src":"42546:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42519:6:150"},"nodeType":"YulFunctionCall","src":"42519:43:150"},"nodeType":"YulExpressionStatement","src":"42519:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42582:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42593:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42578:3:150"},"nodeType":"YulFunctionCall","src":"42578:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"42598:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42571:6:150"},"nodeType":"YulFunctionCall","src":"42571:34:150"},"nodeType":"YulExpressionStatement","src":"42571:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42625:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42636:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42621:3:150"},"nodeType":"YulFunctionCall","src":"42621:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"42641:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42614:6:150"},"nodeType":"YulFunctionCall","src":"42614:31:150"},"nodeType":"YulExpressionStatement","src":"42614:31:150"},{"nodeType":"YulAssignment","src":"42654:54:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"42680:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42692:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42703:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42688:3:150"},"nodeType":"YulFunctionCall","src":"42688:19:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"42662:17:150"},"nodeType":"YulFunctionCall","src":"42662:46:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42654:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42373:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"42384:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"42392:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42400:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42408:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42419:4:150","type":""}],"src":"42225:489:150"},{"body":{"nodeType":"YulBlock","src":"42799:169:150","statements":[{"body":{"nodeType":"YulBlock","src":"42845:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42854:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42857:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42847:6:150"},"nodeType":"YulFunctionCall","src":"42847:12:150"},"nodeType":"YulExpressionStatement","src":"42847:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"42820:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"42829:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42816:3:150"},"nodeType":"YulFunctionCall","src":"42816:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"42841:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42812:3:150"},"nodeType":"YulFunctionCall","src":"42812:32:150"},"nodeType":"YulIf","src":"42809:52:150"},{"nodeType":"YulVariableDeclaration","src":"42870:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42889:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"42883:5:150"},"nodeType":"YulFunctionCall","src":"42883:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"42874:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"42932:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"42908:23:150"},"nodeType":"YulFunctionCall","src":"42908:30:150"},"nodeType":"YulExpressionStatement","src":"42908:30:150"},{"nodeType":"YulAssignment","src":"42947:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"42957:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"42947:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42765:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"42776:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"42788:6:150","type":""}],"src":"42719:249:150"},{"body":{"nodeType":"YulBlock","src":"43102:145:150","statements":[{"nodeType":"YulAssignment","src":"43112:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43124:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43135:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43120:3:150"},"nodeType":"YulFunctionCall","src":"43120:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43112:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43154:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"43169:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43185:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"43190:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43181:3:150"},"nodeType":"YulFunctionCall","src":"43181:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"43194:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"43177:3:150"},"nodeType":"YulFunctionCall","src":"43177:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43165:3:150"},"nodeType":"YulFunctionCall","src":"43165:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43147:6:150"},"nodeType":"YulFunctionCall","src":"43147:51:150"},"nodeType":"YulExpressionStatement","src":"43147:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43218:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43229:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43214:3:150"},"nodeType":"YulFunctionCall","src":"43214:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"43234:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43207:6:150"},"nodeType":"YulFunctionCall","src":"43207:34:150"},"nodeType":"YulExpressionStatement","src":"43207:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43063:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"43074:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43082:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43093:4:150","type":""}],"src":"42973:274:150"},{"body":{"nodeType":"YulBlock","src":"43389:130:150","statements":[{"nodeType":"YulAssignment","src":"43399:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43411:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43422:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43407:3:150"},"nodeType":"YulFunctionCall","src":"43407:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43399:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43441:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"43456:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"43464:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43452:3:150"},"nodeType":"YulFunctionCall","src":"43452:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43434:6:150"},"nodeType":"YulFunctionCall","src":"43434:36:150"},"nodeType":"YulExpressionStatement","src":"43434:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43490:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43501:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43486:3:150"},"nodeType":"YulFunctionCall","src":"43486:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"43506:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43479:6:150"},"nodeType":"YulFunctionCall","src":"43479:34:150"},"nodeType":"YulExpressionStatement","src":"43479:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43350:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"43361:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43369:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43380:4:150","type":""}],"src":"43252:267:150"},{"body":{"nodeType":"YulBlock","src":"43660:130:150","statements":[{"nodeType":"YulAssignment","src":"43670:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43682:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43693:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43678:3:150"},"nodeType":"YulFunctionCall","src":"43678:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43670:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43712:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"43727:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"43735:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43723:3:150"},"nodeType":"YulFunctionCall","src":"43723:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43705:6:150"},"nodeType":"YulFunctionCall","src":"43705:36:150"},"nodeType":"YulExpressionStatement","src":"43705:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43761:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43772:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43757:3:150"},"nodeType":"YulFunctionCall","src":"43757:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"43777:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43750:6:150"},"nodeType":"YulFunctionCall","src":"43750:34:150"},"nodeType":"YulExpressionStatement","src":"43750:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43621:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"43632:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43640:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43651:4:150","type":""}],"src":"43524:266:150"},{"body":{"nodeType":"YulBlock","src":"43841:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"43872:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43893:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43900:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"43905:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43896:3:150"},"nodeType":"YulFunctionCall","src":"43896:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43886:6:150"},"nodeType":"YulFunctionCall","src":"43886:31:150"},"nodeType":"YulExpressionStatement","src":"43886:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43937:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"43940:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43930:6:150"},"nodeType":"YulFunctionCall","src":"43930:15:150"},"nodeType":"YulExpressionStatement","src":"43930:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43965:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"43968:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"43958:6:150"},"nodeType":"YulFunctionCall","src":"43958:15:150"},"nodeType":"YulExpressionStatement","src":"43958:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43861:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"43854:6:150"},"nodeType":"YulFunctionCall","src":"43854:9:150"},"nodeType":"YulIf","src":"43851:132:150"},{"nodeType":"YulAssignment","src":"43992:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"44001:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"44004:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"43997:3:150"},"nodeType":"YulFunctionCall","src":"43997:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"43992:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"43826:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"43829:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"43835:1:150","type":""}],"src":"43795:217:150"},{"body":{"nodeType":"YulBlock","src":"44154:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"44164:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"44184:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44178:5:150"},"nodeType":"YulFunctionCall","src":"44178:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"44168:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"44239:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"44247:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44235:3:150"},"nodeType":"YulFunctionCall","src":"44235:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"44254:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"44259:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"44200:34:150"},"nodeType":"YulFunctionCall","src":"44200:66:150"},"nodeType":"YulExpressionStatement","src":"44200:66:150"},{"nodeType":"YulAssignment","src":"44275:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44286:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"44291:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44282:3:150"},"nodeType":"YulFunctionCall","src":"44282:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"44275:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"44130:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"44135:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"44146:3:150","type":""}],"src":"44017:287:150"},{"body":{"nodeType":"YulBlock","src":"44341:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44358:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44365:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"44370:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"44361:3:150"},"nodeType":"YulFunctionCall","src":"44361:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44351:6:150"},"nodeType":"YulFunctionCall","src":"44351:31:150"},"nodeType":"YulExpressionStatement","src":"44351:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44398:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"44401:4:150","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44391:6:150"},"nodeType":"YulFunctionCall","src":"44391:15:150"},"nodeType":"YulExpressionStatement","src":"44391:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44422:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"44425:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"44415:6:150"},"nodeType":"YulFunctionCall","src":"44415:15:150"},"nodeType":"YulExpressionStatement","src":"44415:15:150"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"44309:127:150"}]},"contents":"{\n    { }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint8t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function validator_revert_bytes4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        if iszero(eq(value_1, and(value_1, 0xffffffffffff))) { revert(0, 0) }\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_6061() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0x0180)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let _3 := shl(5, _1)\n        let dst := allocate_memory(add(_3, _2))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, _3), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_struct$_InitializationData_$32974_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x0180) { revert(0, 0) }\n        let value := allocate_memory_6061()\n        let offset_1 := calldataload(_2)\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(value, abi_decode_bytes(add(_2, offset_1), dataEnd))\n        let offset_2 := calldataload(add(_2, 32))\n        if gt(offset_2, _1) { revert(0, 0) }\n        mstore(add(value, 32), abi_decode_bytes(add(_2, offset_2), dataEnd))\n        mstore(add(value, 64), abi_decode_address(add(_2, 64)))\n        mstore(add(value, 96), abi_decode_address(add(_2, 96)))\n        mstore(add(value, 128), abi_decode_address(add(_2, 128)))\n        mstore(add(value, 160), abi_decode_address(add(_2, 160)))\n        mstore(add(value, 192), abi_decode_address(add(_2, 192)))\n        mstore(add(value, 224), calldataload(add(_2, 224)))\n        let _3 := 256\n        let offset_3 := calldataload(add(_2, _3))\n        if gt(offset_3, _1) { revert(0, 0) }\n        mstore(add(value, _3), abi_decode_bytes(add(_2, offset_3), dataEnd))\n        let _4 := 288\n        let offset_4 := calldataload(add(_2, _4))\n        if gt(offset_4, _1) { revert(0, 0) }\n        mstore(add(value, _4), abi_decode_array_uint256_dyn(add(_2, offset_4), dataEnd))\n        let _5 := 320\n        mstore(add(value, _5), abi_decode_address(add(_2, _5)))\n        let _6 := 352\n        mstore(add(value, _6), abi_decode_address(add(_2, _6)))\n        value0 := value\n    }\n    function abi_encode_struct_TokenInfo(value, pos) -> end\n    {\n        mstore(pos, mload(value))\n        let memberValue0 := mload(add(value, 0x20))\n        mstore(add(pos, 0x20), 0x80)\n        let tail := abi_encode_string(memberValue0, add(pos, 0x80))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n        mstore(add(pos, 0x60), mload(add(value, 0x60)))\n        end := tail\n    }\n    function abi_encode_tuple_t_struct$_TokenInfo_$34675_memory_ptr__to_t_struct$_TokenInfo_$34675_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_TokenInfo(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$34675_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_struct_TokenInfo(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_bool(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        let value_2 := calldataload(add(headStart, 64))\n        validator_revert_address(value_2)\n        value2 := value_2\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 27)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"GalaxyMember: level must be less\")\n        mstore(add(headStart, 96), \" than or equal to MAX_LEVEL\")\n        tail := add(headStart, 128)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, _1))\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 67)\n        mstore(add(headStart, 64), \"Galaxy Member: Max level must be\")\n        mstore(add(headStart, 96), \" greater than the current max le\")\n        mstore(add(headStart, 128), \"vel\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 66)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be set for all levels unlock\")\n        mstore(add(headStart, 128), \"ed\")\n        tail := add(headStart, 160)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"Galaxy Member: _xAllocationsGove\")\n        mstore(add(headStart, 96), \"rnor cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_uint64_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, sub(shl(64, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_uint8t_boolt_boolt_uint64t_uint64t_uint64_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n    {\n        if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint8(value_1)\n        value1 := value_1\n        let value_2 := mload(add(headStart, 64))\n        validator_revert_bool(value_2)\n        value2 := value_2\n        let value_3 := mload(add(headStart, 96))\n        validator_revert_bool(value_3)\n        value3 := value_3\n        value4 := abi_decode_uint64_fromMemory(add(headStart, 128))\n        value5 := abi_decode_uint64_fromMemory(add(headStart, 160))\n        value6 := abi_decode_uint64_fromMemory(add(headStart, 192))\n    }\n    function abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: caller is not the\")\n        mstore(add(headStart, 96), \" owner of the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: you must own the \")\n        mstore(add(headStart, 96), \"Token to upgrade it\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"Galaxy Member: Token is already \")\n        mstore(add(headStart, 96), \"at max level\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient bala\")\n        mstore(add(headStart, 96), \"nce to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient allo\")\n        mstore(add(headStart, 96), \"wance to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"GalaxyMember: Transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 86)\n        mstore(add(headStart, 64), \"GalaxyMember: vechain node not o\")\n        mstore(add(headStart, 96), \"wned or managed by caller or tok\")\n        mstore(add(headStart, 128), \"en not owned by caller\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: node not attached \")\n        mstore(add(headStart, 96), \"to the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: token not attached\")\n        mstore(add(headStart, 96), \" to the node\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: Base URI must be \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let ret := 0\n        let slotValue := sload(value0)\n        let length := extract_byte_array_length(slotValue)\n        let _1 := 1\n        switch and(slotValue, _1)\n        case 0 {\n            mstore(pos, and(slotValue, not(255)))\n            ret := add(pos, mul(length, iszero(iszero(length))))\n        }\n        case 1 {\n            mstore(0, value0)\n            let _2 := 0x20\n            let dataPos := keccak256(0, _2)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _2) }\n            {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, _1)\n            }\n            ret := add(pos, length)\n        }\n        end := ret\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := srcOffset_1\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"Galaxy Member: Public minting is\")\n        mstore(add(headStart, 96), \" paused\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"Galaxy Member: User has not part\")\n        mstore(add(headStart, 96), \"icipated in governance\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 47)\n        mstore(add(headStart, 64), \"Galaxy Member: Max level must be\")\n        mstore(add(headStart, 96), \" greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 60)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR token addres\")\n        mstore(add(headStart, 96), \"s cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 58)\n        mstore(add(headStart, 64), \"Galaxy Member: Treasury address \")\n        mstore(add(headStart, 96), \"cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 66)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be set for all unlocked leve\")\n        mstore(add(headStart, 128), \"ls\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 53)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 55)\n        mstore(add(headStart, 64), \"Galaxy Member: Admin address can\")\n        mstore(add(headStart, 96), \"not be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"GalaxyMember: _vechainNodes cann\")\n        mstore(add(headStart, 96), \"ot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"GalaxyMember: tokenId doesn't ex\")\n        mstore(add(headStart, 96), \"ist\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: Invalid size, cann\")\n        mstore(add(headStart, 96), \"ot be 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"GalaxyMember: Invalid size, cann\")\n        mstore(add(pos, 32), \"ot be greater than \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(pos, 51), length)\n        end := add(add(pos, length), 51)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: token not owned by\")\n        mstore(add(headStart, 96), \" caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GalaxyMember: vechain node not o\")\n        mstore(add(headStart, 96), \"wned or managed by caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: node already attac\")\n        mstore(add(headStart, 96), \"hed to a token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: token already atta\")\n        mstore(add(headStart, 96), \"ched to a node\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: XAllocationVoting\")\n        mstore(add(headStart, 96), \"Governor not set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TRGovernor not \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let pos_1 := pos\n        let length := mload(value0)\n        pos_1 := pos\n        let _1 := 0x20\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos_1, mload(srcPtr))\n            pos_1 := add(pos_1, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos_1\n    }\n    function abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 56)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node free \")\n        mstore(add(headStart, 96), \"levels. Must be 7 levels\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GalaxyMember: _nodesMangaement c\")\n        mstore(add(headStart, 96), \"annot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 37)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node free \")\n        mstore(add(headStart, 96), \"level\")\n        tail := add(headStart, 128)\n    }\n    function increment_t_uint8(value) -> ret\n    {\n        let value_1 := and(value, 0xff)\n        if eq(value_1, 0xff) { panic_error_0x11() }\n        ret := add(value_1, 1)\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        let end_2 := add(end_1, length_1)\n        mstore(end_2, \".json\")\n        end := add(end_2, 5)\n    }\n    function abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 55)\n        mstore(add(headStart, 64), \"Galaxy Member: _b3trGovernor can\")\n        mstore(add(headStart, 96), \"not be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 62)\n        mstore(add(headStart, 64), \"GalaxyMember: token attached to \")\n        mstore(add(headStart, 96), \"a node, detach before transfer\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_string(value3, add(headStart, 128))\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function panic_error_0x31()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x31)\n        revert(0, 0x24)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":14557},{"length":32,"start":14598},{"length":32,"start":14926}]},"linkReferences":{},"object":"60806040526004361061034b5760003560e01c80621db0dd1461035057806301ffc9a71461037257806306fdde03146103a7578063081812fc146103c9578063095ea7b3146103f657806318160ddd1461041657806323b872dd14610439578063248a9ca3146104595780632b42df38146104795780632f2ff15d146104995780632f745c59146104b9578063344f1ba5146104d957806336568abe146104f95780633af03ea8146105195780633c60f55d146105395780633d6dbee8146105595780633f4ba83a1461057b5780633ff453af1461059057806342842e0e146105c257806342966c68146105e257806345977d03146106025780634a6565e1146106225780634bf5d7e9146106425780634f1ef286146106885780634f6ccce71461069b57806351c438d1146106bb57806352d1902d146106db57806354fd4d50146106f057806355f804b31461071a578063582a486a1461073a5780635b5da5141461074f5780635b70ea9f1461076f5780635c975abb146107845780635ecf68e9146107995780635f4e42ca146107ae5780635ffaa59a146107ce57806361d027b3146107ee5780636352211e14610803578063643ce418146108235780636c0360eb146108505780636d5e30321461086557806370a08231146108855780637893d736146108a5578063839a19d9146108ba5780638456cb59146108da578063851f738e146108ef578063865c380b1461091c578063883711101461093c5780638c5b76fb1461095c57806391d148541461097c57806391ddadf41461099c578063952f2133146109c8578063958fc97d146109ea57806395d89b4114610a0a578063a1843bd014610a1f578063a217fddf14610a3f578063a22cb46514610a54578063a49062d414610a74578063a51d2e0b14610a89578063aa3491eb14610aa9578063ad3cb1cc14610ac9578063b1ccbd2c14610afa578063b88d4fde14610b1a578063c190eb3a14610b3a578063c87b56dd14610b5a578063cc421d0714610b7a578063d206885d14610b9a578063d539139314610bba578063d547741f14610bdc578063ddd8634d14610bfc578063de4983a214610c1c578063e617e49f14610c3c578063e63ab1e914610c5c578063e985e9c514610c7e578063f72c0d8b14610c9e575b600080fd5b34801561035c57600080fd5b5061037061036b366004614ed7565b610cc0565b005b34801561037e57600080fd5b5061039261038d366004614f19565b610e1f565b60405190151581526020015b60405180910390f35b3480156103b357600080fd5b506103bc610e30565b60405161039e9190614f86565b3480156103d557600080fd5b506103e96103e4366004614f99565b610ed1565b60405161039e9190614fb2565b34801561040257600080fd5b50610370610411366004614feb565b610ee6565b34801561042257600080fd5b5061042b610ef5565b60405190815260200161039e565b34801561044557600080fd5b50610370610454366004615009565b610f0a565b34801561046557600080fd5b5061042b610474366004614f99565b610f95565b34801561048557600080fd5b5061042b610494366004614f99565b610fb5565b3480156104a557600080fd5b506103706104b436600461504a565b610fd5565b3480156104c557600080fd5b5061042b6104d4366004614feb565b610ff1565b3480156104e557600080fd5b506103706104f4366004614f99565b611053565b34801561050557600080fd5b5061037061051436600461504a565b6111bf565b34801561052557600080fd5b5061037061053436600461507a565b6111f7565b34801561054557600080fd5b5061042b610554366004615097565b6112f5565b34801561056557600080fd5b5061042b600080516020615e2b83398151915281565b34801561058757600080fd5b50610370611338565b34801561059c57600080fd5b506105b06105ab366004614f99565b61135b565b60405160ff909116815260200161039e565b3480156105ce57600080fd5b506103706105dd366004615009565b6113ee565b3480156105ee57600080fd5b506103706105fd366004614f99565b611409565b34801561060e57600080fd5b5061037061061d366004614f99565b611442565b34801561062e57600080fd5b5061037061063d3660046150d0565b611858565b34801561064e57600080fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526103bc565b6103706106963660046151d0565b611b30565b3480156106a757600080fd5b5061042b6106b6366004614f99565b611b4b565b3480156106c757600080fd5b5061042b6106d6366004614f99565b611bac565b3480156106e757600080fd5b5061042b611bca565b3480156106fc57600080fd5b506040805180820190915260018152603360f81b60208201526103bc565b34801561072657600080fd5b5061037061073536600461521f565b611be7565b34801561074657600080fd5b506103e9611c84565b34801561075b57600080fd5b5061037061076a366004615261565b611ca2565b34801561077b57600080fd5b50610370611d0a565b34801561079057600080fd5b50610392611df9565b3480156107a557600080fd5b506103e9611e0e565b3480156107ba57600080fd5b506103706107c93660046152f2565b611e29565b3480156107da57600080fd5b506103706107e936600461507a565b612358565b3480156107fa57600080fd5b506103e96123cc565b34801561080f57600080fd5b506103e961081e366004614f99565b6123ea565b34801561082f57600080fd5b5061084361083e366004614f99565b6123f5565b60405161039e9190615497565b34801561085c57600080fd5b506103bc6124a5565b34801561087157600080fd5b5061042b610880366004614f99565b6124b4565b34801561089157600080fd5b5061042b6108a036600461507a565b6124d7565b3480156108b157600080fd5b506103e961252f565b3480156108c657600080fd5b506103706108d5366004614f99565b61254d565b3480156108e657600080fd5b50610370612557565b3480156108fb57600080fd5b5061090f61090a3660046154aa565b612577565b60405161039e91906154df565b34801561092857600080fd5b5061042b610937366004614f99565b61275d565b34801561094857600080fd5b506103706109573660046150d0565b61277b565b34801561096857600080fd5b5061039261097736600461507a565b612a02565b34801561098857600080fd5b5061039261099736600461504a565b612be6565b3480156109a857600080fd5b506109b1612c1c565b60405165ffffffffffff909116815260200161039e565b3480156109d457600080fd5b5061042b600080516020615e0b83398151915281565b3480156109f657600080fd5b5061042b610a05366004614f99565b612c26565b348015610a1657600080fd5b506103bc612c44565b348015610a2b57600080fd5b5061042b610a3a3660046150d0565b612c61565b348015610a4b57600080fd5b5061042b600081565b348015610a6057600080fd5b50610370610a6f366004615541565b612c6e565b348015610a8057600080fd5b5061042b612c79565b348015610a9557600080fd5b5061042b610aa4366004614f99565b612c8e565b348015610ab557600080fd5b50610370610ac4366004614feb565b612d09565b348015610ad557600080fd5b506103bc604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610b0657600080fd5b50610370610b1536600461556f565b612d1e565b348015610b2657600080fd5b50610370610b353660046155a3565b612e0e565b348015610b4657600080fd5b50610370610b5536600461560e565b612e25565b348015610b6657600080fd5b506103bc610b75366004614f99565b613104565b348015610b8657600080fd5b5061042b610b95366004614f99565b613195565b348015610ba657600080fd5b5061042b610bb536600461507a565b6131ab565b348015610bc657600080fd5b5061042b600080516020615deb83398151915281565b348015610be857600080fd5b50610370610bf736600461504a565b6131ec565b348015610c0857600080fd5b50610370610c1736600461507a565b613208565b348015610c2857600080fd5b50610843610c3736600461507a565b613306565b348015610c4857600080fd5b5061042b610c57366004615676565b613324565b348015610c6857600080fd5b5061042b600080516020615dcb83398151915281565b348015610c8a57600080fd5b50610392610c99366004615693565b61334a565b348015610caa57600080fd5b5061042b600080516020615d6b83398151915281565b600080516020615e2b833981519152610cd881613389565b6001821015610d2c5760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610d805760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610d23565b6000610d8a613393565b90508060060154831115610e045760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610d23565b60ff9093166000908152600f90930160205250604090912055565b6000610e2a826133b7565b92915050565b60606000610e3c6133dc565b9050806000018054610e4d906156c1565b80601f0160208091040260200160405190810160405280929190818152602001828054610e79906156c1565b8015610ec65780601f10610e9b57610100808354040283529160200191610ec6565b820191906000526020600020905b815481529060010190602001808311610ea957829003601f168201915b505050505091505090565b6000610edc82613400565b50610e2a82613438565b610ef1828233613461565b5050565b600080610f0061346e565b6002015492915050565b6001600160a01b038216610f34576000604051633250574960e11b8152600401610d239190614fb2565b6000610f41838333613492565b9050836001600160a01b0316816001600160a01b031614610f8f576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610d23565b50505050565b600080610fa061360d565b60009384526020525050604090206001015490565b600080610fc0613393565b60009384526008016020525050604090205490565b610fde82610f95565b610fe781613389565b610f8f8383613631565b600080610ffc61346e565b9050611007846124d7565b831061102a57838360405163295f44f760e21b8152600401610d239291906156fb565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b600061105e81613389565b6000611068613393565b9050806006015483116110dd5760405162461bcd60e51b81526020600482015260436024820152600080516020615d0b83398151915260448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610d23565b60025b8381116111755760008181526008830160205260409020546111635760405162461bcd60e51b81526020600482015260426024820152600080516020615d2b83398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610d23565b8061116d8161572a565b9150506110e0565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b03811633146111e85760405163334bd91960e11b815260040160405180910390fd5b6111f282826136d2565b505050565b600080516020615e0b83398151915261120f81613389565b6001600160a01b03821661128b5760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610d23565b6000611295613393565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b600080611300613393565b6001600160a01b03851660009081526012820160205260409020909150611327908461374a565b6001600160d01b0316949350505050565b600080516020615dcb83398151915261135081613389565b611358613800565b50565b600080611366613393565b600b81015460405163295d33a960e21b8152600481018690529192506000916101009091046001600160a01b03169063a574cea49060240160e060405180830381865afa1580156113bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113df919061575a565b50939998505050505050505050565b6111f283838360405180602001604052806000815250612e0e565b33611413826123ea565b6001600160a01b0316146114395760405162461bcd60e51b8152600401610d23906157eb565b61135881613857565b61144a613863565b611452613899565b3361145c826123ea565b6001600160a01b0316146114ce5760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610d23565b60006114d8613393565b905060006114e5836124b4565b90506114ef612c79565b81106115525760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610d23565b600061155d84612c8e565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a0823190611594903390600401614fb2565b602060405180830381865afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d5919061583e565b101561163a5760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610d23565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa15801561168a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ae919061583e565b10156117155760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610d23565b600084815260108401602052604081208054839290611735908490615857565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af1158015611799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bd919061586a565b6118095760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610d23565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec42885483611835876124b4565b6040805192835260208301919091520160405180910390a25050506113586138c1565b611860613899565b600061186a613393565b905033611876836123ea565b6001600160a01b031614806119005750600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa1580156118d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f59190615887565b6001600160a01b0316145b806119855750600b81015460405163bfc206ed60e01b815260048101859052339161010090046001600160a01b03169063bfc206ed90602401602060405180830381865afa158015611956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197a9190615887565b6001600160a01b0316145b611a045760405162461bcd60e51b81526020600482015260566024820152600080516020615e4b83398151915260448201527f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b60648201527532b7103737ba1037bbb732b210313c9031b0b63632b960511b608482015260a401610d23565b81611a0e84611bac565b14611a705760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610d23565b82611a7a83612c26565b14611adc5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610d23565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a3505050565b611b386138d2565b611b4182613977565b610ef1828261398f565b600080611b5661346e565b9050611b60610ef5565b8310611b845760008360405163295f44f760e21b8152600401610d239291906156fb565b806002018381548110611b9957611b996158a4565b9060005260206000200154915050919050565b6000611bb6613393565b6000928352600d0160205250604090205490565b6000611bd4613a43565b50600080516020615dab83398151915290565b6000611bf281613389565b6000825111611c135760405162461bcd60e51b8152600401610d23906158ba565b6000611c1d613393565b905080600401604051611c3091906158fd565b604051809103902083604051611c469190615973565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a360048101610f8f84826159d5565b600080611c8f613393565b600201546001600160a01b031692915050565b6000611cad81613389565b6000611cb7613393565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611cec911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611d14613393565b600b81015490915060ff1615611d7c5760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610d23565b611d8533612a02565b611df05760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610d23565b61135833613a8c565b600080611e04613abd565b5460ff1692915050565b600080611e19613393565b546001600160a01b031692915050565b6000611e33613ae1565b805490915060ff600160401b82041615906001600160401b0316600081158015611e5a5750825b90506000826001600160401b03166001148015611e765750303b155b905081158015611e84575080155b15611ea25760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611ecb57845460ff60401b1916600160401b1785555b60008660e0015111611f255760405162461bcd60e51b815260206004820152602f6024820152600080516020615d0b83398151915260448201526e02067726561746572207468616e203608c1b6064820152608401610d23565b60008661010001515111611f4b5760405162461bcd60e51b8152600401610d23906158ba565b6101408601516001600160a01b0316611fcb5760405162461bcd60e51b815260206004820152603c60248201527f47616c617879204d656d6265723a204233545220746f6b656e2061646472657360448201527b732063616e6e6f7420626520746865207a65726f206164647265737360201b6064820152608401610d23565b6101608601516001600160a01b03166120495760405162461bcd60e51b815260206004820152603a60248201527f47616c617879204d656d6265723a20547265617375727920616464726573732060448201527963616e6e6f7420626520746865207a65726f206164647265737360301b6064820152608401610d23565b60018660e0015161205a9190615a94565b8661012001515110156120ce5760405162461bcd60e51b81526020600482015260426024820152600080516020615d2b83398151915260448201527f7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656064820152616c7360f01b608482015260a401610d23565b6120e086600001518760200151613b05565b6120e8613b17565b6120f0613b1f565b6120f8613b17565b612100613b17565b612108613b2f565b612110613b17565b600061211a613393565b905086610100015181600401908161213291906159d5565b5060005b876101200151518110156121d7576000886101200151828151811061215d5761215d6158a4565b6020026020010151116121825760405162461bcd60e51b8152600401610d2390615aa7565b8761012001518181518110612199576121996158a4565b60200260200101518260080160008360026121b49190615857565b8152602081019190915260400160002055806121cf8161572a565b915050612136565b5060e087015160068201556101408701516002820180546001600160a01b03199081166001600160a01b03938416179091556101608901516003840180549092169083161790556040880151166122905760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a2041646d696e20616464726573732063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d23565b6122a16000801b8860400151613631565b506122be600080516020615d6b8339815191528860600151613631565b506122db600080516020615dcb8339815191528860800151613631565b506122f8600080516020615deb8339815191528860a00151613631565b50612315600080516020615e0b8339815191528860c00151613631565b5050831561235057845460ff60401b19168555604051600080516020615d4b8339815191529061234790600190615aea565b60405180910390a15b505050505050565b600080516020615e2b83398151915261237081613389565b6001600160a01b0382166123965760405162461bcd60e51b8152600401610d2390615afe565b60006123a0613393565b600b0180546001600160a01b0390941661010002610100600160a81b0319909416939093179092555050565b6000806123d7613393565b600301546001600160a01b031692915050565b6000610e2a82613400565b6123fd614ea0565b600061240883613b3f565b6001600160a01b03160361246a5760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610d23565b612472614ea0565b82815261247e83613104565b602082015261248c836124b4565b604082015261249a83612c8e565b606082015292915050565b60606124af613b68565b905090565b6000806124c083612c26565b905060006124ce8483613b85565b50949350505050565b6000806124e26133dc565b90506001600160a01b03831661250e5760006040516322718ad960e21b8152600401610d239190614fb2565b6001600160a01b039092166000908152600390920160205250604090205490565b60008061253a613393565b600101546001600160a01b031692915050565b6113583382613cfa565b600080516020615dcb83398151915261256f81613389565b611358613dbe565b6060816000036125c75760405162461bcd60e51b81526020600482015260276024820152600080516020615ceb83398151915260448201526606f7420626520360cc1b6064820152608401610d23565b606480831115612610576125da81613e05565b6040516020016125ea9190615b54565b60408051601f198184030181529082905262461bcd60e51b8252610d2391600401614f86565b600061261b866124d7565b905060006126298587615ba3565b905081811061266e576040805160008082526020820190925290612663565b612650614ea0565b8152602001906001900390816126485790505b509350505050612756565b600061267a8683615857565b9050828111156126875750815b60006126938383615a94565b90506000816001600160401b038111156126af576126af6150f2565b6040519080825280602002602001820160405280156126e857816020015b6126d5614ea0565b8152602001906001900390816126cd5790505b50905060005b8281101561274d5760006127028287615857565b905060006127108d83610ff1565b905061271b816123f5565b84848151811061272d5761272d6158a4565b6020026020010181905250505080806127459061572a565b9150506126ee565b50955050505050505b9392505050565b6000612767613393565b600092835260100160205250604090205490565b612783613899565b600061278d613393565b905033612799836123ea565b6001600160a01b0316146127ff5760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610d23565b600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa15801561284a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286e9190615887565b6001600160a01b0316146128d45760405162461bcd60e51b81526020600482015260396024820152600080516020615e4b8339815191526044820152783bb732b21037b91036b0b730b3b2b210313c9031b0b63632b960391b6064820152608401610d23565b6128dd83611bac565b156129415760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610d23565b61294a82612c26565b156129ae5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610d23565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a3505050565b600080612a0d613393565b80549091506001600160a01b0316612a805760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610d23565b60018101546001600160a01b0316612ae65760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610d23565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612b15908690600401614fb2565b602060405180830381865afa158015612b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b56919061586a565b80612bcf57506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612b8e908690600401614fb2565b602060405180830381865afa158015612bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bcf919061586a565b15612bdd5750600192915050565b50600092915050565b600080612bf161360d565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006124af613e97565b6000612c30613393565b6000928352600e0160205250604090205490565b60606000612c506133dc565b9050806001018054610e4d906156c1565b6000806124ce8484613b85565b610ef1338383613ea2565b600080612c84613393565b6006015492915050565b600080612c9a83613b3f565b6001600160a01b031603612cb057506000919050565b6000612cbb83612c26565b9050600080612cca8584613b85565b91509150612cd6612c79565b8203612ce757506000949350505050565b80612cf6610494846001615857565b612d009190615a94565b95945050505050565b6000612d1481613389565b6111f28383613cfa565b6000612d2981613389565b6000612d33613393565b905060005b8351811015612dca576000848281518110612d5557612d556158a4565b602002602001015111612d7a5760405162461bcd60e51b8152600401610d2390615aa7565b838181518110612d8c57612d8c6158a4565b6020026020010151826008016000836002612da79190615857565b815260208101919091526040016000205580612dc28161572a565b915050612d38565b5082604051612dd99190615bba565b604051908190038120907f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf87090600090a2505050565b612e19848484610f0a565b610f8f84848484613f47565b60026000612e31613ae1565b8054909150600160401b900460ff1680612e58575080546001600160401b03808416911610155b15612e765760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781558251600814612ef55760405162461bcd60e51b81526020600482015260386024820152600080516020615d8b8339815191526044820152776c6576656c732e204d7573742062652037206c6576656c7360401b6064820152608401610d23565b6001600160a01b038616612f1b5760405162461bcd60e51b8152600401610d2390615afe565b6001600160a01b038516612f935760405162461bcd60e51b815260206004820152603960248201527f47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063604482015278616e6e6f7420626520746865207a65726f206164647265737360381b6064820152608401610d23565b6000612f9d613393565b600b81018054610100600160a81b0319166101006001600160a01b038b81169190910291909117909155600c820180546001600160a01b031916918916919091179055600581015490915015612ff7578060050154612ffa565b60015b600582015560005b84518160ff1610156130c0576001858260ff1681518110613025576130256158a4565b602002602001015110156130775760405162461bcd60e51b81526020600482015260256024820152600080516020615d8b8339815191526044820152641b195d995b60da1b6064820152608401610d23565b848160ff168151811061308c5761308c6158a4565b60209081029190910181015160ff83166000908152600f8501909252604090912055806130b881615be4565b915050613002565b506130d9600080516020615e2b83398151915286613631565b5050805460ff60401b19168155604051600080516020615d4b83398151915290612347908490615aea565b6060600061311183613b3f565b6001600160a01b03160361313357505060408051602081019091526000815290565b600061313e836124b4565b90506000811161315d5760405180602001604052806000815250612756565b6131656124a5565b61316e82613e05565b60405160200161317f929190615c03565b6040516020818303038152906040529392505050565b6000806131a3836000613b85565b509392505050565b6000806131b6613393565b6001600160a01b038416600090815260128201602052604090209091506131dc9061405e565b6001600160d01b03169392505050565b6131f582610f95565b6131fe81613389565b610f8f83836136d2565b600080516020615e0b83398151915261322081613389565b6001600160a01b0382166132965760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d23565b60006132a0613393565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b61330e614ea0565b6000613319836131ab565b9050612756816123f5565b600061332e613393565b60ff9092166000908152600f9290920160205250604090205490565b6000806133556133dc565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b611358813361408e565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610e2a5750610e2a826140b9565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b60008061340c83613b3f565b90506001600160a01b038116610e2a57604051637e27328960e01b815260048101849052602401610d23565b6000806134436133dc565b6000938452600401602052505060409020546001600160a01b031690565b6111f283838360016140de565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b600061349c613899565b6134a583612c26565b156135185760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610d23565b60006135258585856141e8565b90506001600160a01b038116158015906135455750613543816124d7565b155b1561358557613582613555612c1c565b600061355f613393565b6001600160a01b03851660009081526012919091016020526040902091906141fd565b50505b6001600160a01b038116158015906135a45750836135a2826131ab565b145b80156135b8575060006135b6826124d7565b115b156135d1576135d1816135cc836000610ff1565b613cfa565b6001600160a01b038516158015906135f157506135ed856124d7565b6001145b1561360557613605856135cc876000610ff1565b949350505050565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b60008061363c61360d565b90506136488484612be6565b6136c8576000848152602082815260408083206001600160a01b03871684529091529020805460ff1916600117905561367e3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610e2a565b6000915050610e2a565b6000806136dd61360d565b90506136e98484612be6565b156136c8576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610e2a565b8154600090818160058111156137a957600061376584614218565b61376f9085615a94565b60008881526020902090915081015465ffffffffffff9081169087161015613799578091506137a7565b6137a4816001615857565b92505b505b60006137b787878585614300565b905080156137f2576137dc876137ce600184615a94565b600091825260209091200190565b54600160301b90046001600160d01b03166137f5565b60005b979650505050505050565b61380861435a565b6000613812613abd565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161384c9190614fb2565b60405180910390a150565b610ef160008233613492565b600061386d61437f565b80549091506001190161389357604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6138a1611df9565b156138bf5760405163d93c066560e01b815260040160405180910390fd5b565b60006138cb61437f565b6001905550565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061395957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661394d600080516020615dab833981519152546001600160a01b031690565b6001600160a01b031614155b156138bf5760405163703e46dd60e11b815260040160405180910390fd5b600080516020615d6b833981519152610ef181613389565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156139e9575060408051601f3d908101601f191682019092526139e69181019061583e565b60015b613a085781604051634c9c8ce360e01b8152600401610d239190614fb2565b600080516020615dab8339815191528114613a3957604051632a87526960e21b815260048101829052602401610d23565b6111f283836143a3565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146138bf5760405163703e46dd60e11b815260040160405180910390fd5b6000613a96613393565b6005810180549192506000919082613aad8361572a565b9190505590506111f283826143f9565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613b0d614413565b610ef18282614438565b6138bf614413565b613b27614413565b6138bf614466565b613b37614413565b6138bf614483565b600080613b4a6133dc565b6000938452600201602052505060409020546001600160a01b031690565b60606000613b74613393565b9050806004018054610e4d906156c1565b6000806000613b92613393565b905060018415801590613c275750613ba9866123ea565b600c830154604051634f16179f60e11b8152600481018890526001600160a01b039283169290911690639e2c2f3e90602401602060405180830381865afa158015613bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c1c9190615887565b6001600160a01b0316145b15613c6d576000613c378661135b565b905060ff811615613c6b576000613c4d82613324565b90508360060154811115613c65578360060154613c67565b805b9250505b505b600086815260108301602052604081205490613c8a836001615857565b90505b83600601548111613ced5760008181526008850160205260409020548210613cd65760008181526008850160205260409020549092508290613ccf9083615a94565b9150613cdb565b613ced565b80613ce58161572a565b915050613c8d565b5090969095509350505050565b816001600160a01b0316613d0d826123ea565b6001600160a01b031614613d335760405162461bcd60e51b8152600401610d23906157eb565b6000613d3d613393565b9050613d74613d4a612c1c565b613d538461448b565b6001600160a01b0386166000908152601285016020526040902091906141fd565b5050826001600160a01b03167fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc83604051613db191815260200190565b60405180910390a2505050565b613dc6613899565b6000613dd0613abd565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861383f3390565b60606000613e12836144c3565b60010190506000816001600160401b03811115613e3157613e316150f2565b6040519080825280601f01601f191660200182016040528015613e5b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613e6557509392505050565b60006124af43614599565b6000613eac6133dc565b90506001600160a01b038316613ed75782604051630b61174360e31b8152600401610d239190614fb2565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a350505050565b6001600160a01b0383163b15610f8f57604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613f89903390889087908790600401615c58565b6020604051808303816000875af1925050508015613fc4575060408051601f3d908101601f19168201909252613fc191810190615c95565b60015b614024573d808015613ff2576040519150601f19603f3d011682016040523d82523d6000602084013e613ff7565b606091505b50805160000361401c5783604051633250574960e11b8152600401610d239190614fb2565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146140575783604051633250574960e11b8152600401610d239190614fb2565b5050505050565b80546000908015612bdd57614078836137ce600184615a94565b54600160301b90046001600160d01b0316612756565b6140988282612be6565b610ef157808260405163e2517d3f60e01b8152600401610d239291906156fb565b60006001600160e01b0319821663780e9d6360e01b1480610e2a5750610e2a826145cc565b60006140e86133dc565b905081806140fe57506001600160a01b03831615155b156141b757600061410e85613400565b90506001600160a01b0384161580159061413a5750836001600160a01b0316816001600160a01b031614155b801561414d575061414b818561334a565b155b1561416d578360405163a9fbf51f60e01b8152600401610d239190614fb2565b82156141b55784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b60006141f2613899565b61360584848461461c565b60008061420b8585856146aa565b915091505b935093915050565b60008160000361422a57506000919050565b6000600161423784614824565b901c6001901b9050600181848161425057614250615c42565b048201901c9050600181848161426857614268615c42565b048201901c9050600181848161428057614280615c42565b048201901c9050600181848161429857614298615c42565b048201901c905060018184816142b0576142b0615c42565b048201901c905060018184816142c8576142c8615c42565b048201901c905060018184816142e0576142e0615c42565b048201901c9050612756818285816142fa576142fa615c42565b046148b8565b60005b818310156131a357600061431784846148ce565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561434657809250614354565b614351816001615857565b93505b50614303565b614362611df9565b6138bf57604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b6143ac826148e9565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156143f1576111f28282614945565b610ef16149b2565b610ef18282604051806020016040528060008152506149d1565b61441b6149e8565b6138bf57604051631afcd79f60e31b815260040160405180910390fd5b614440614413565b600061444a6133dc565b90508061445784826159d5565b5060018101610f8f83826159d5565b61446e614413565b6000614478613abd565b805460ff1916905550565b6138c1614413565b60006001600160d01b038211156144bf576040516306dfcc6560e41b815260d0600482015260248101839052604401610d23565b5090565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106145025772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b831061452c576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061454a57662386f26fc10000830492506010015b6305f5e1008310614562576305f5e100830492506008015b612710831061457657612710830492506004015b60648310614588576064830492506002015b600a8310610e2a5760010192915050565b600065ffffffffffff8211156144bf576040516306dfcc6560e41b81526030600482015260248101839052604401610d23565b60006001600160e01b031982166380ac58cd60e01b14806145fd57506001600160e01b03198216635b5e139f60e01b145b80610e2a57506301ffc9a760e01b6001600160e01b0319831614610e2a565b60008061462a858585614a02565b90506001600160a01b0381166146485761464384614b09565b61466b565b846001600160a01b0316816001600160a01b03161461466b5761466b8185614b42565b6001600160a01b0385166146875761468284614be3565b613605565b846001600160a01b0316816001600160a01b031614613605576136058585614cac565b8254600090819080156147c95760006146c8876137ce600185615a94565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561471c57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603614768578461473f886137ce600186615a94565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556147b9565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506142109050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081614210565b600080608083901c1561483957608092831c92015b604083901c1561484b57604092831c92015b602083901c1561485d57602092831c92015b601083901c1561486f57601092831c92015b600883901c1561488157600892831c92015b600483901c1561489357600492831c92015b600283901c156148a557600292831c92015b600183901c15610e2a5760010192915050565b60008183106148c75781612756565b5090919050565b60006148dd6002848418615cb2565b61275690848416615857565b806001600160a01b03163b6000036149165780604051634c9c8ce360e01b8152600401610d239190614fb2565b600080516020615dab83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516149629190615973565b600060405180830381855af49150503d806000811461499d576040519150601f19603f3d011682016040523d82523d6000602084013e6149a2565b606091505b5091509150612d00858383614d04565b34156138bf5760405163b398979f60e01b815260040160405180910390fd5b6149db8383614d57565b6111f26000848484613f47565b60006149f2613ae1565b54600160401b900460ff16919050565b600080614a0d6133dc565b90506000614a1a85613b3f565b90506001600160a01b03841615614a3657614a36818587614dbc565b6001600160a01b03811615614a7657614a536000866000806140de565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614aa7576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b6000614b1361346e565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b6000614b4c61346e565b90506000614b59846124d7565b6000848152600184016020526040902054909150808214614bae576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b6000614bed61346e565b6002810154909150600090614c0490600190615a94565b6000848152600384016020526040812054600285018054939450909284908110614c3057614c306158a4565b9060005260206000200154905080846002018381548110614c5357614c536158a4565b600091825260208083209091019290925582815260038601909152604080822084905586825281205560028401805480614c8f57614c8f615cd4565b600190038181906000526020600020016000905590555050505050565b6000614cb661346e565b905060006001614cc5856124d7565b614ccf9190615a94565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b606082614d1957614d1482614e12565b612756565b8151158015614d3057506001600160a01b0384163b155b15614d505783604051639996b31560e01b8152600401610d239190614fb2565b5080612756565b6001600160a01b038216614d81576000604051633250574960e11b8152600401610d239190614fb2565b6000614d8f83836000613492565b90506001600160a01b038116156111f25760006040516339e3563760e11b8152600401610d239190614fb2565b614dc7838383614e3b565b6111f2576001600160a01b038316614df557604051637e27328960e01b815260048101829052602401610d23565b818160405163177e802f60e01b8152600401610d239291906156fb565b805115614e225780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b038316158015906136055750826001600160a01b0316846001600160a01b03161480614e755750614e75848461334a565b806136055750826001600160a01b0316614e8e83613438565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461135857600080fd5b60008060408385031215614eea57600080fd5b8235614ef581614ec8565b946020939093013593505050565b6001600160e01b03198116811461135857600080fd5b600060208284031215614f2b57600080fd5b813561275681614f03565b60005b83811015614f51578181015183820152602001614f39565b50506000910152565b60008151808452614f72816020860160208601614f36565b601f01601f19169290920160200192915050565b6020815260006127566020830184614f5a565b600060208284031215614fab57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461135857600080fd5b8035614fe681614fc6565b919050565b60008060408385031215614ffe57600080fd5b8235614ef581614fc6565b60008060006060848603121561501e57600080fd5b833561502981614fc6565b9250602084013561503981614fc6565b929592945050506040919091013590565b6000806040838503121561505d57600080fd5b82359150602083013561506f81614fc6565b809150509250929050565b60006020828403121561508c57600080fd5b813561275681614fc6565b600080604083850312156150aa57600080fd5b82356150b581614fc6565b9150602083013565ffffffffffff8116811461506f57600080fd5b600080604083850312156150e357600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b038111828210171561512b5761512b6150f2565b60405290565b604051601f8201601f191681016001600160401b0381118282101715615159576151596150f2565b604052919050565b600082601f83011261517257600080fd5b81356001600160401b0381111561518b5761518b6150f2565b61519e601f8201601f1916602001615131565b8181528460208386010111156151b357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156151e357600080fd5b82356151ee81614fc6565b915060208301356001600160401b0381111561520957600080fd5b61521585828601615161565b9150509250929050565b60006020828403121561523157600080fd5b81356001600160401b0381111561524757600080fd5b61360584828501615161565b801515811461135857600080fd5b60006020828403121561527357600080fd5b813561275681615253565b600082601f83011261528f57600080fd5b813560206001600160401b038211156152aa576152aa6150f2565b8160051b6152b9828201615131565b92835284810182019282810190878511156152d357600080fd5b83870192505b848310156137f5578235825291830191908301906152d9565b60006020828403121561530457600080fd5b81356001600160401b038082111561531b57600080fd5b90830190610180828603121561533057600080fd5b615338615108565b82358281111561534757600080fd5b61535387828601615161565b82525060208301358281111561536857600080fd5b61537487828601615161565b60208301525061538660408401614fdb565b604082015261539760608401614fdb565b60608201526153a860808401614fdb565b60808201526153b960a08401614fdb565b60a08201526153ca60c08401614fdb565b60c082015260e083013560e082015261010080840135838111156153ed57600080fd5b6153f988828701615161565b828401525050610120808401358381111561541357600080fd5b61541f8882870161527e565b8284015250506101409150615435828401614fdb565b828201526101609150615449828401614fdb565b91810191909152949350505050565b8051825260006020820151608060208501526154776080850182614f5a565b905060408301516040850152606083015160608501528091505092915050565b6020815260006127566020830184615458565b6000806000606084860312156154bf57600080fd5b83356154ca81614fc6565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561553457603f19888603018452615522858351615458565b94509285019290850190600101615506565b5092979650505050505050565b6000806040838503121561555457600080fd5b823561555f81614fc6565b9150602083013561506f81615253565b60006020828403121561558157600080fd5b81356001600160401b0381111561559757600080fd5b6136058482850161527e565b600080600080608085870312156155b957600080fd5b84356155c481614fc6565b935060208501356155d481614fc6565b92506040850135915060608501356001600160401b038111156155f657600080fd5b61560287828801615161565b91505092959194509250565b6000806000806080858703121561562457600080fd5b843561562f81614fc6565b9350602085013561563f81614fc6565b9250604085013561564f81614fc6565b915060608501356001600160401b0381111561566a57600080fd5b6156028782880161527e565b60006020828403121561568857600080fd5b813561275681614ec8565b600080604083850312156156a657600080fd5b82356156b181614fc6565b9150602083013561506f81614fc6565b600181811c908216806156d557607f821691505b6020821081036156f557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161573c5761573c615714565b5060010190565b80516001600160401b0381168114614fe657600080fd5b600080600080600080600060e0888a03121561577557600080fd5b875161578081614fc6565b602089015190975061579181614ec8565b60408901519096506157a281615253565b60608901519095506157b381615253565b93506157c160808901615743565b92506157cf60a08901615743565b91506157dd60c08901615743565b905092959891949750929550565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b60006020828403121561585057600080fd5b5051919050565b80820180821115610e2a57610e2a615714565b60006020828403121561587c57600080fd5b815161275681615253565b60006020828403121561589957600080fd5b815161275681614fc6565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f47616c617879204d656d6265723a204261736520555249206d757374206265206040820152621cd95d60ea1b606082015260800190565b600080835461590b816156c1565b60018281168015615923576001811461593857615967565b60ff1984168752821515830287019450615967565b8760005260208060002060005b8581101561595e5781548a820152908401908201615945565b50505082870194505b50929695505050505050565b60008251615985818460208701614f36565b9190910192915050565b601f8211156111f257600081815260208120601f850160051c810160208610156159b65750805b601f850160051c820191505b81811015612350578281556001016159c2565b81516001600160401b038111156159ee576159ee6150f2565b615a02816159fc84546156c1565b8461598f565b602080601f831160018114615a375760008415615a1f5750858301515b600019600386901b1c1916600185901b178555612350565b600085815260208120601f198616915b82811015615a6657888601518255948401946001909101908401615a47565b5085821015615a845787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610e2a57610e2a615714565b6020808252603590820152600080516020615d2b83398151915260408201527407573742062652067726561746572207468616e203605c1b606082015260800190565b6001600160401b0391909116815260200190565b60208082526036908201527f47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b600080516020615ceb833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b602082015260008251615b96816033850160208701614f36565b9190910160330192915050565b8082028115828204841417610e2a57610e2a615714565b815160009082906020808601845b8381101561596757815185529382019390820190600101615bc8565b600060ff821660ff8103615bfa57615bfa615714565b60010192915050565b60008351615c15818460208801614f36565b835190830190615c29818360208801614f36565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615c8b90830184614f5a565b9695505050505050565b600060208284031215615ca757600080fd5b815161275681614f03565b600082615ccf57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204d6178206c6576656c206d75737420626547616c617879204d656d6265723a204233545220746f2075706772616465206dc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e347616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a656af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f547616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206fa26469706673582212203e78defcca1842c6644db9ebf1d7ebf8040c27de722e56e4047a01c578a0471a64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x350 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x372 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x3C9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x416 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x439 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x459 JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x479 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x499 JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4D9 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x4F9 JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x519 JUMPI DUP1 PUSH4 0x3C60F55D EQ PUSH2 0x539 JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x57B JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x590 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x5C2 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x5E2 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x622 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x642 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x688 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x69B JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x6BB JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x6DB JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x6F0 JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x71A JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x73A JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x74F JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x76F JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x784 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x799 JUMPI DUP1 PUSH4 0x5F4E42CA EQ PUSH2 0x7AE JUMPI DUP1 PUSH4 0x5FFAA59A EQ PUSH2 0x7CE JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7EE JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x803 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x823 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x865 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x885 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x8A5 JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x8BA JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x8DA JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x8EF JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x91C JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x93C JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x95C JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x97C JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x99C JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x9C8 JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x9EA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA0A JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0xA1F JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xA3F JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0xA54 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0xA74 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0xA89 JUMPI DUP1 PUSH4 0xAA3491EB EQ PUSH2 0xAA9 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xAC9 JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xAFA JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xB1A JUMPI DUP1 PUSH4 0xC190EB3A EQ PUSH2 0xB3A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xB5A JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xB7A JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xB9A JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xBBA JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xBDC JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xBFC JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xC1C JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xC3C JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xC5C JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xC7E JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xC9E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x36B CALLDATASIZE PUSH1 0x4 PUSH2 0x4ED7 JUMP JUMPDEST PUSH2 0xCC0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x38D CALLDATASIZE PUSH1 0x4 PUSH2 0x4F19 JUMP JUMPDEST PUSH2 0xE1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xE30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4F86 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x3E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x402 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x411 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FEB JUMP JUMPDEST PUSH2 0xEE6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x422 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x454 CALLDATASIZE PUSH1 0x4 PUSH2 0x5009 JUMP JUMPDEST PUSH2 0xF0A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x465 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x474 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0xF95 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x494 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0xFB5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0xFD5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x4D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FEB JUMP JUMPDEST PUSH2 0xFF1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1053 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x505 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x514 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x11BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x534 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x11F7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x545 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x554 CALLDATASIZE PUSH1 0x4 PUSH2 0x5097 JUMP JUMPDEST PUSH2 0x12F5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x587 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1338 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x59C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B0 PUSH2 0x5AB CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x135B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x5DD CALLDATASIZE PUSH1 0x4 PUSH2 0x5009 JUMP JUMPDEST PUSH2 0x13EE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x5FD CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1409 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x61D CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1442 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x63D CALLDATASIZE PUSH1 0x4 PUSH2 0x50D0 JUMP JUMPDEST PUSH2 0x1858 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST PUSH2 0x370 PUSH2 0x696 CALLDATASIZE PUSH1 0x4 PUSH2 0x51D0 JUMP JUMPDEST PUSH2 0x1B30 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x6B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1B4B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x6D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x1BAC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x1BCA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x33 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x726 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x735 CALLDATASIZE PUSH1 0x4 PUSH2 0x521F JUMP JUMPDEST PUSH2 0x1BE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x746 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1C84 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x76A CALLDATASIZE PUSH1 0x4 PUSH2 0x5261 JUMP JUMPDEST PUSH2 0x1CA2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1D0A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x790 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x1DF9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1E0E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x52F2 JUMP JUMPDEST PUSH2 0x1E29 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7E9 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x2358 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x23CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x80F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x81E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x23EA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x843 PUSH2 0x83E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x23F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x5497 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x24A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x880 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x24B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x8A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x24D7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x252F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x8D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x254D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x2557 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90F PUSH2 0x90A CALLDATASIZE PUSH1 0x4 PUSH2 0x54AA JUMP JUMPDEST PUSH2 0x2577 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x54DF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x928 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x937 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x275D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x948 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x957 CALLDATASIZE PUSH1 0x4 PUSH2 0x50D0 JUMP JUMPDEST PUSH2 0x277B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x977 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x2A02 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x988 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x997 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x2BE6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9B1 PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xA05 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x2C26 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x2C44 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xA3A CALLDATASIZE PUSH1 0x4 PUSH2 0x50D0 JUMP JUMPDEST PUSH2 0x2C61 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xA6F CALLDATASIZE PUSH1 0x4 PUSH2 0x5541 JUMP JUMPDEST PUSH2 0x2C6E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x2C79 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xAA4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x2C8E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xAC4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FEB JUMP JUMPDEST PUSH2 0x2D09 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB15 CALLDATASIZE PUSH1 0x4 PUSH2 0x556F JUMP JUMPDEST PUSH2 0x2D1E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB35 CALLDATASIZE PUSH1 0x4 PUSH2 0x55A3 JUMP JUMPDEST PUSH2 0x2E0E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB55 CALLDATASIZE PUSH1 0x4 PUSH2 0x560E JUMP JUMPDEST PUSH2 0x2E25 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xB75 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x3104 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xB95 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F99 JUMP JUMPDEST PUSH2 0x3195 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xBB5 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x31AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DEB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xBF7 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x31EC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xC17 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x3208 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x843 PUSH2 0xC37 CALLDATASIZE PUSH1 0x4 PUSH2 0x507A JUMP JUMPDEST PUSH2 0x3306 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xC57 CALLDATASIZE PUSH1 0x4 PUSH2 0x5676 JUMP JUMPDEST PUSH2 0x3324 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0xC99 CALLDATASIZE PUSH1 0x4 PUSH2 0x5693 JUMP JUMPDEST PUSH2 0x334A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCD8 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xD2C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xD80 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD8A PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xE04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE2A DUP3 PUSH2 0x33B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE3C PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x56C1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE79 SWAP1 PUSH2 0x56C1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xEC6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE9B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xEC6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xEA9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEDC DUP3 PUSH2 0x3400 JUMP JUMPDEST POP PUSH2 0xE2A DUP3 PUSH2 0x3438 JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 CALLER PUSH2 0x3461 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF00 PUSH2 0x346E JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF34 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF41 DUP4 DUP4 CALLER PUSH2 0x3492 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF8F JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFA0 PUSH2 0x360D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFC0 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xFDE DUP3 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0xFE7 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0xF8F DUP4 DUP4 PUSH2 0x3631 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFFC PUSH2 0x346E JUMP JUMPDEST SWAP1 POP PUSH2 0x1007 DUP5 PUSH2 0x24D7 JUMP JUMPDEST DUP4 LT PUSH2 0x102A JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x56FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x105E DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1068 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0x10DD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x1175 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1163 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST DUP1 PUSH2 0x116D DUP2 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10E0 JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x11E8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x11F2 DUP3 DUP3 PUSH2 0x36D2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x120F DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x128B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1295 PUSH2 0x3393 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1300 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x1327 SWAP1 DUP5 PUSH2 0x374A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1350 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0x1358 PUSH2 0x3800 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1366 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x295D33A9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA574CEA4 SWAP1 PUSH1 0x24 ADD PUSH1 0xE0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13DF SWAP2 SWAP1 PUSH2 0x575A JUMP JUMPDEST POP SWAP4 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2E0E JUMP JUMPDEST CALLER PUSH2 0x1413 DUP3 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1439 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x57EB JUMP JUMPDEST PUSH2 0x1358 DUP2 PUSH2 0x3857 JUMP JUMPDEST PUSH2 0x144A PUSH2 0x3863 JUMP JUMPDEST PUSH2 0x1452 PUSH2 0x3899 JUMP JUMPDEST CALLER PUSH2 0x145C DUP3 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x14CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14D8 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x14E5 DUP4 PUSH2 0x24B4 JUMP JUMPDEST SWAP1 POP PUSH2 0x14EF PUSH2 0x2C79 JUMP JUMPDEST DUP2 LT PUSH2 0x1552 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x155D DUP5 PUSH2 0x2C8E JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1594 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15D5 SWAP2 SWAP1 PUSH2 0x583E JUMP JUMPDEST LT ISZERO PUSH2 0x163A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x168A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16AE SWAP2 SWAP1 PUSH2 0x583E JUMP JUMPDEST LT ISZERO PUSH2 0x1715 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1735 SWAP1 DUP5 SWAP1 PUSH2 0x5857 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1799 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17BD SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST PUSH2 0x1809 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x1835 DUP8 PUSH2 0x24B4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x1358 PUSH2 0x38C1 JUMP JUMPDEST PUSH2 0x1860 PUSH2 0x3899 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x186A PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x1876 DUP4 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x1900 JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18F5 SWAP2 SWAP1 PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0x1985 JUMPI POP PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFC206ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBFC206ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1956 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197A SWAP2 SWAP1 PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x1A04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x56 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776E6564206F72206D616E616765642062792063616C6C6572206F7220746F6B PUSH1 0x64 DUP3 ADD MSTORE PUSH22 0x32B7103737BA1037BBB732B210313C9031B0B63632B9 PUSH1 0x51 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST DUP2 PUSH2 0x1A0E DUP5 PUSH2 0x1BAC JUMP JUMPDEST EQ PUSH2 0x1A70 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP3 PUSH2 0x1A7A DUP4 PUSH2 0x2C26 JUMP JUMPDEST EQ PUSH2 0x1ADC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1B38 PUSH2 0x38D2 JUMP JUMPDEST PUSH2 0x1B41 DUP3 PUSH2 0x3977 JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH2 0x398F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B56 PUSH2 0x346E JUMP JUMPDEST SWAP1 POP PUSH2 0x1B60 PUSH2 0xEF5 JUMP JUMPDEST DUP4 LT PUSH2 0x1B84 JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x56FB JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1B99 JUMPI PUSH2 0x1B99 PUSH2 0x58A4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BB6 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xD ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BD4 PUSH2 0x3A43 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BF2 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1C13 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x58BA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C1D PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1C30 SWAP2 SWAP1 PUSH2 0x58FD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1C46 SWAP2 SWAP1 PUSH2 0x5973 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0xF8F DUP5 DUP3 PUSH2 0x59D5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C8F PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CAD DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CB7 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1CEC SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D14 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1D7C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x1D85 CALLER PUSH2 0x2A02 JUMP JUMPDEST PUSH2 0x1DF0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x1358 CALLER PUSH2 0x3A8C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E04 PUSH2 0x3ABD JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E19 PUSH2 0x3393 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E33 PUSH2 0x3AE1 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E5A JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1E76 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E84 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1EA2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1ECB JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x0 DUP7 PUSH1 0xE0 ADD MLOAD GT PUSH2 0x1F25 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH2 0x100 ADD MLOAD MLOAD GT PUSH2 0x1F4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x58BA JUMP JUMPDEST PUSH2 0x140 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FCB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204233545220746F6B656E20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x732063616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x160 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2049 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205472656173757279206164647265737320 PUSH1 0x44 DUP3 ADD MSTORE PUSH26 0x63616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x30 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP7 PUSH1 0xE0 ADD MLOAD PUSH2 0x205A SWAP2 SWAP1 PUSH2 0x5A94 JUMP JUMPDEST DUP7 PUSH2 0x120 ADD MLOAD MLOAD LT ISZERO PUSH2 0x20CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C20756E6C6F636B6564206C657665 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x6C73 PUSH1 0xF0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x20E0 DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD PUSH2 0x3B05 JUMP JUMPDEST PUSH2 0x20E8 PUSH2 0x3B17 JUMP JUMPDEST PUSH2 0x20F0 PUSH2 0x3B1F JUMP JUMPDEST PUSH2 0x20F8 PUSH2 0x3B17 JUMP JUMPDEST PUSH2 0x2100 PUSH2 0x3B17 JUMP JUMPDEST PUSH2 0x2108 PUSH2 0x3B2F JUMP JUMPDEST PUSH2 0x2110 PUSH2 0x3B17 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211A PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP7 PUSH2 0x100 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x2132 SWAP2 SWAP1 PUSH2 0x59D5 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x21D7 JUMPI PUSH1 0x0 DUP9 PUSH2 0x120 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x215D JUMPI PUSH2 0x215D PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2182 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5AA7 JUMP JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2199 JUMPI PUSH2 0x2199 PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x21B4 SWAP2 SWAP1 PUSH2 0x5857 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x21CF DUP2 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2136 JUMP JUMPDEST POP PUSH1 0xE0 DUP8 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x140 DUP8 ADD MLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND OR SWAP1 SWAP2 SSTORE PUSH2 0x160 DUP10 ADD MLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x40 DUP9 ADD MLOAD AND PUSH2 0x2290 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2041646D696E20616464726573732063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x22A1 PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0x40 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP PUSH2 0x22BE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x60 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP PUSH2 0x22DB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP PUSH2 0x22F8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DEB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xA0 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP PUSH2 0x2315 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xC0 ADD MLOAD PUSH2 0x3631 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0x2350 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2347 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5AEA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2370 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x2396 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5AFE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23A0 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xB ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x23D7 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE2A DUP3 PUSH2 0x3400 JUMP JUMPDEST PUSH2 0x23FD PUSH2 0x4EA0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2408 DUP4 PUSH2 0x3B3F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x246A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x2472 PUSH2 0x4EA0 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x247E DUP4 PUSH2 0x3104 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x248C DUP4 PUSH2 0x24B4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x249A DUP4 PUSH2 0x2C8E JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x24AF PUSH2 0x3B68 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24C0 DUP4 PUSH2 0x2C26 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24CE DUP5 DUP4 PUSH2 0x3B85 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24E2 PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x250E JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x253A PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1358 CALLER DUP3 PUSH2 0x3CFA JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x256F DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0x1358 PUSH2 0x3DBE JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x25C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CEB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x2610 JUMPI PUSH2 0x25DA DUP2 PUSH2 0x3E05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x25EA SWAP2 SWAP1 PUSH2 0x5B54 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xD23 SWAP2 PUSH1 0x4 ADD PUSH2 0x4F86 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x261B DUP7 PUSH2 0x24D7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2629 DUP6 DUP8 PUSH2 0x5BA3 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x266E JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x2663 JUMP JUMPDEST PUSH2 0x2650 PUSH2 0x4EA0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2648 JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x2756 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x267A DUP7 DUP4 PUSH2 0x5857 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x2687 JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x2693 DUP4 DUP4 PUSH2 0x5A94 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26AF JUMPI PUSH2 0x26AF PUSH2 0x50F2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x26E8 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x26D5 PUSH2 0x4EA0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x26CD JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x274D JUMPI PUSH1 0x0 PUSH2 0x2702 DUP3 DUP8 PUSH2 0x5857 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2710 DUP14 DUP4 PUSH2 0xFF1 JUMP JUMPDEST SWAP1 POP PUSH2 0x271B DUP2 PUSH2 0x23F5 JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x272D JUMPI PUSH2 0x272D PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x2745 SWAP1 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x26EE JUMP JUMPDEST POP SWAP6 POP POP POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2767 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x2783 PUSH2 0x3899 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x278D PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x2799 DUP4 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x27FF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x284A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x286E SWAP2 SWAP1 PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x28D4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x3BB732B21037B91036B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x39 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x28DD DUP4 PUSH2 0x1BAC JUMP JUMPDEST ISZERO PUSH2 0x2941 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x294A DUP3 PUSH2 0x2C26 JUMP JUMPDEST ISZERO PUSH2 0x29AE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A0D PUSH2 0x3393 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2A80 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2AE6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2B15 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B32 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B56 SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST DUP1 PUSH2 0x2BCF JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2B8E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2BAB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2BCF SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST ISZERO PUSH2 0x2BDD JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2BF1 PUSH2 0x360D JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24AF PUSH2 0x3E97 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C30 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xE ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2C50 PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x56C1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24CE DUP5 DUP5 PUSH2 0x3B85 JUMP JUMPDEST PUSH2 0xEF1 CALLER DUP4 DUP4 PUSH2 0x3EA2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C84 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C9A DUP4 PUSH2 0x3B3F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2CB0 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CBB DUP4 PUSH2 0x2C26 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2CCA DUP6 DUP5 PUSH2 0x3B85 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2CD6 PUSH2 0x2C79 JUMP JUMPDEST DUP3 SUB PUSH2 0x2CE7 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2CF6 PUSH2 0x494 DUP5 PUSH1 0x1 PUSH2 0x5857 JUMP JUMPDEST PUSH2 0x2D00 SWAP2 SWAP1 PUSH2 0x5A94 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D14 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 PUSH2 0x3CFA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D29 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D33 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2DCA JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2D55 JUMPI PUSH2 0x2D55 PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2D7A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5AA7 JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2D8C JUMPI PUSH2 0x2D8C PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2DA7 SWAP2 SWAP1 PUSH2 0x5857 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2DC2 DUP2 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2D38 JUMP JUMPDEST POP DUP3 PUSH1 0x40 MLOAD PUSH2 0x2DD9 SWAP2 SWAP1 PUSH2 0x5BBA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x2E19 DUP5 DUP5 DUP5 PUSH2 0xF0A JUMP JUMPDEST PUSH2 0xF8F DUP5 DUP5 DUP5 DUP5 PUSH2 0x3F47 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2E31 PUSH2 0x3AE1 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2E58 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2E76 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE DUP3 MLOAD PUSH1 0x8 EQ PUSH2 0x2EF5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6C6576656C732E204D7573742062652037206C6576656C73 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2F1B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5AFE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2F93 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F6E6F6465734D616E6761656D656E742063 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F9D PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xB DUP2 ADD DUP1 SLOAD PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND SWAP2 SWAP1 SWAP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0xC DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP2 DUP10 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x2FF7 JUMPI DUP1 PUSH1 0x5 ADD SLOAD PUSH2 0x2FFA JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x30C0 JUMPI PUSH1 0x1 DUP6 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x3025 JUMPI PUSH2 0x3025 PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x3077 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1B195D995B PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP5 DUP2 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x308C JUMPI PUSH2 0x308C PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0xFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF DUP6 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE DUP1 PUSH2 0x30B8 DUP2 PUSH2 0x5BE4 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3002 JUMP JUMPDEST POP PUSH2 0x30D9 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 PUSH2 0x3631 JUMP JUMPDEST POP POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2347 SWAP1 DUP5 SWAP1 PUSH2 0x5AEA JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3111 DUP4 PUSH2 0x3B3F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x3133 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x313E DUP4 PUSH2 0x24B4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x315D JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2756 JUMP JUMPDEST PUSH2 0x3165 PUSH2 0x24A5 JUMP JUMPDEST PUSH2 0x316E DUP3 PUSH2 0x3E05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x317F SWAP3 SWAP2 SWAP1 PUSH2 0x5C03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31A3 DUP4 PUSH1 0x0 PUSH2 0x3B85 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31B6 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x31DC SWAP1 PUSH2 0x405E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x31F5 DUP3 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0x31FE DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH2 0xF8F DUP4 DUP4 PUSH2 0x36D2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E0B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x3220 DUP2 PUSH2 0x3389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3296 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32A0 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x330E PUSH2 0x4EA0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3319 DUP4 PUSH2 0x31AB JUMP JUMPDEST SWAP1 POP PUSH2 0x2756 DUP2 PUSH2 0x23F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x332E PUSH2 0x3393 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3355 PUSH2 0x33DC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1358 DUP2 CALLER PUSH2 0x408E JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE2A JUMPI POP PUSH2 0xE2A DUP3 PUSH2 0x40B9 JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x340C DUP4 PUSH2 0x3B3F JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xE2A JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3443 PUSH2 0x33DC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x40DE JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x349C PUSH2 0x3899 JUMP JUMPDEST PUSH2 0x34A5 DUP4 PUSH2 0x2C26 JUMP JUMPDEST ISZERO PUSH2 0x3518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3525 DUP6 DUP6 DUP6 PUSH2 0x41E8 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3545 JUMPI POP PUSH2 0x3543 DUP2 PUSH2 0x24D7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3585 JUMPI PUSH2 0x3582 PUSH2 0x3555 PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x355F PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x41FD JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x35A4 JUMPI POP DUP4 PUSH2 0x35A2 DUP3 PUSH2 0x31AB JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x35B8 JUMPI POP PUSH1 0x0 PUSH2 0x35B6 DUP3 PUSH2 0x24D7 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x35D1 JUMPI PUSH2 0x35D1 DUP2 PUSH2 0x35CC DUP4 PUSH1 0x0 PUSH2 0xFF1 JUMP JUMPDEST PUSH2 0x3CFA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x35F1 JUMPI POP PUSH2 0x35ED DUP6 PUSH2 0x24D7 JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x3605 JUMPI PUSH2 0x3605 DUP6 PUSH2 0x35CC DUP8 PUSH1 0x0 PUSH2 0xFF1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x363C PUSH2 0x360D JUMP JUMPDEST SWAP1 POP PUSH2 0x3648 DUP5 DUP5 PUSH2 0x2BE6 JUMP JUMPDEST PUSH2 0x36C8 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x367E CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x36DD PUSH2 0x360D JUMP JUMPDEST SWAP1 POP PUSH2 0x36E9 DUP5 DUP5 PUSH2 0x2BE6 JUMP JUMPDEST ISZERO PUSH2 0x36C8 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x37A9 JUMPI PUSH1 0x0 PUSH2 0x3765 DUP5 PUSH2 0x4218 JUMP JUMPDEST PUSH2 0x376F SWAP1 DUP6 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x3799 JUMPI DUP1 SWAP2 POP PUSH2 0x37A7 JUMP JUMPDEST PUSH2 0x37A4 DUP2 PUSH1 0x1 PUSH2 0x5857 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x37B7 DUP8 DUP8 DUP6 DUP6 PUSH2 0x4300 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x37F2 JUMPI PUSH2 0x37DC DUP8 PUSH2 0x37CE PUSH1 0x1 DUP5 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x37F5 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3808 PUSH2 0x435A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3812 PUSH2 0x3ABD JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x384C SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xEF1 PUSH1 0x0 DUP3 CALLER PUSH2 0x3492 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x386D PUSH2 0x437F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3893 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x38A1 PUSH2 0x1DF9 JUMP JUMPDEST ISZERO PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38CB PUSH2 0x437F JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3959 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x394D PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEF1 DUP2 PUSH2 0x3389 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x39E9 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x39E6 SWAP2 DUP2 ADD SWAP1 PUSH2 0x583E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3A08 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3A39 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 PUSH2 0x43A3 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3A96 PUSH2 0x3393 JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x3AAD DUP4 PUSH2 0x572A JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x11F2 DUP4 DUP3 PUSH2 0x43F9 JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x3B0D PUSH2 0x4413 JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH2 0x4438 JUMP JUMPDEST PUSH2 0x38BF PUSH2 0x4413 JUMP JUMPDEST PUSH2 0x3B27 PUSH2 0x4413 JUMP JUMPDEST PUSH2 0x38BF PUSH2 0x4466 JUMP JUMPDEST PUSH2 0x3B37 PUSH2 0x4413 JUMP JUMPDEST PUSH2 0x38BF PUSH2 0x4483 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3B4A PUSH2 0x33DC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3B74 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x56C1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3B92 PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3C27 JUMPI POP PUSH2 0x3BA9 DUP7 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3BF8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3C1C SWAP2 SWAP1 PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x3C6D JUMPI PUSH1 0x0 PUSH2 0x3C37 DUP7 PUSH2 0x135B JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x3C6B JUMPI PUSH1 0x0 PUSH2 0x3C4D DUP3 PUSH2 0x3324 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x3C65 JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x3C67 JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x3C8A DUP4 PUSH1 0x1 PUSH2 0x5857 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3CED JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x3CD6 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3CCF SWAP1 DUP4 PUSH2 0x5A94 JUMP JUMPDEST SWAP2 POP PUSH2 0x3CDB JUMP JUMPDEST PUSH2 0x3CED JUMP JUMPDEST DUP1 PUSH2 0x3CE5 DUP2 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3C8D JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3D0D DUP3 PUSH2 0x23EA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3D33 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x57EB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D3D PUSH2 0x3393 JUMP JUMPDEST SWAP1 POP PUSH2 0x3D74 PUSH2 0x3D4A PUSH2 0x2C1C JUMP JUMPDEST PUSH2 0x3D53 DUP5 PUSH2 0x448B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x41FD JUMP JUMPDEST POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC DUP4 PUSH1 0x40 MLOAD PUSH2 0x3DB1 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3DC6 PUSH2 0x3899 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DD0 PUSH2 0x3ABD JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x383F CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3E12 DUP4 PUSH2 0x44C3 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3E31 JUMPI PUSH2 0x3E31 PUSH2 0x50F2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3E5B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3E65 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24AF NUMBER PUSH2 0x4599 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3EAC PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3ED7 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0xF8F JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x3F89 SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5C58 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3FC4 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3FC1 SWAP2 DUP2 ADD SWAP1 PUSH2 0x5C95 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4024 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x3FF2 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3FF7 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x401C JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x4057 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2BDD JUMPI PUSH2 0x4078 DUP4 PUSH2 0x37CE PUSH1 0x1 DUP5 PUSH2 0x5A94 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2756 JUMP JUMPDEST PUSH2 0x4098 DUP3 DUP3 PUSH2 0x2BE6 JUMP JUMPDEST PUSH2 0xEF1 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x56FB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE2A JUMPI POP PUSH2 0xE2A DUP3 PUSH2 0x45CC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40E8 PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x40FE JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x41B7 JUMPI PUSH1 0x0 PUSH2 0x410E DUP6 PUSH2 0x3400 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x413A JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x414D JUMPI POP PUSH2 0x414B DUP2 DUP6 PUSH2 0x334A JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x416D JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x41B5 JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41F2 PUSH2 0x3899 JUMP JUMPDEST PUSH2 0x3605 DUP5 DUP5 DUP5 PUSH2 0x461C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x420B DUP6 DUP6 DUP6 PUSH2 0x46AA JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x422A JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x4237 DUP5 PUSH2 0x4824 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4250 JUMPI PUSH2 0x4250 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4268 JUMPI PUSH2 0x4268 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4280 JUMPI PUSH2 0x4280 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4298 JUMPI PUSH2 0x4298 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42B0 JUMPI PUSH2 0x42B0 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42C8 JUMPI PUSH2 0x42C8 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42E0 JUMPI PUSH2 0x42E0 PUSH2 0x5C42 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x2756 DUP2 DUP3 DUP6 DUP2 PUSH2 0x42FA JUMPI PUSH2 0x42FA PUSH2 0x5C42 JUMP JUMPDEST DIV PUSH2 0x48B8 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x31A3 JUMPI PUSH1 0x0 PUSH2 0x4317 DUP5 DUP5 PUSH2 0x48CE JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x4346 JUMPI DUP1 SWAP3 POP PUSH2 0x4354 JUMP JUMPDEST PUSH2 0x4351 DUP2 PUSH1 0x1 PUSH2 0x5857 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x4303 JUMP JUMPDEST PUSH2 0x4362 PUSH2 0x1DF9 JUMP JUMPDEST PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x43AC DUP3 PUSH2 0x48E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x43F1 JUMPI PUSH2 0x11F2 DUP3 DUP3 PUSH2 0x4945 JUMP JUMPDEST PUSH2 0xEF1 PUSH2 0x49B2 JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x49D1 JUMP JUMPDEST PUSH2 0x441B PUSH2 0x49E8 JUMP JUMPDEST PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4440 PUSH2 0x4413 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x444A PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x4457 DUP5 DUP3 PUSH2 0x59D5 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0xF8F DUP4 DUP3 PUSH2 0x59D5 JUMP JUMPDEST PUSH2 0x446E PUSH2 0x4413 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4478 PUSH2 0x3ABD JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x38C1 PUSH2 0x4413 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x44BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD23 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x4502 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x452C JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x454A JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x4562 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x4576 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4588 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xE2A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x44BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x45FD JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xE2A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x462A DUP6 DUP6 DUP6 PUSH2 0x4A02 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4648 JUMPI PUSH2 0x4643 DUP5 PUSH2 0x4B09 JUMP JUMPDEST PUSH2 0x466B JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x466B JUMPI PUSH2 0x466B DUP2 DUP6 PUSH2 0x4B42 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4687 JUMPI PUSH2 0x4682 DUP5 PUSH2 0x4BE3 JUMP JUMPDEST PUSH2 0x3605 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3605 JUMPI PUSH2 0x3605 DUP6 DUP6 PUSH2 0x4CAC JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x47C9 JUMPI PUSH1 0x0 PUSH2 0x46C8 DUP8 PUSH2 0x37CE PUSH1 0x1 DUP6 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x471C JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x4768 JUMPI DUP5 PUSH2 0x473F DUP9 PUSH2 0x37CE PUSH1 0x1 DUP7 PUSH2 0x5A94 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x47B9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x4210 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x4210 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x4839 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x484B JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x485D JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x486F JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x4881 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x4893 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x48A5 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xE2A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x48C7 JUMPI DUP2 PUSH2 0x2756 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48DD PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x5CB2 JUMP JUMPDEST PUSH2 0x2756 SWAP1 DUP5 DUP5 AND PUSH2 0x5857 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4916 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x4962 SWAP2 SWAP1 PUSH2 0x5973 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x499D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x49A2 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2D00 DUP6 DUP4 DUP4 PUSH2 0x4D04 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x38BF JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x49DB DUP4 DUP4 PUSH2 0x4D57 JUMP JUMPDEST PUSH2 0x11F2 PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3F47 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x49F2 PUSH2 0x3AE1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4A0D PUSH2 0x33DC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4A1A DUP6 PUSH2 0x3B3F JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x4A36 JUMPI PUSH2 0x4A36 DUP2 DUP6 DUP8 PUSH2 0x4DBC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x4A76 JUMPI PUSH2 0x4A53 PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x40DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4AA7 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B13 PUSH2 0x346E JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B4C PUSH2 0x346E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4B59 DUP5 PUSH2 0x24D7 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x4BAE JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4BED PUSH2 0x346E JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x4C04 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x4C30 JUMPI PUSH2 0x4C30 PUSH2 0x58A4 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x4C53 JUMPI PUSH2 0x4C53 PUSH2 0x58A4 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x4C8F JUMPI PUSH2 0x4C8F PUSH2 0x5CD4 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4CB6 PUSH2 0x346E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x4CC5 DUP6 PUSH2 0x24D7 JUMP JUMPDEST PUSH2 0x4CCF SWAP2 SWAP1 PUSH2 0x5A94 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4D19 JUMPI PUSH2 0x4D14 DUP3 PUSH2 0x4E12 JUMP JUMPDEST PUSH2 0x2756 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4D30 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4D50 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST POP DUP1 PUSH2 0x2756 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4D81 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D8F DUP4 DUP4 PUSH1 0x0 PUSH2 0x3492 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x4FB2 JUMP JUMPDEST PUSH2 0x4DC7 DUP4 DUP4 DUP4 PUSH2 0x4E3B JUMP JUMPDEST PUSH2 0x11F2 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4DF5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x56FB JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4E22 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3605 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x4E75 JUMPI POP PUSH2 0x4E75 DUP5 DUP5 PUSH2 0x334A JUMP JUMPDEST DUP1 PUSH2 0x3605 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4E8E DUP4 PUSH2 0x3438 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4EEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4EF5 DUP2 PUSH2 0x4EC8 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4F2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2756 DUP2 PUSH2 0x4F03 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F51 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4F39 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4F72 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4F36 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2756 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4F5A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x4FE6 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4FFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4EF5 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x501E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5029 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x5039 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x505D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x506F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x508C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2756 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x50B5 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x506F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x180 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x512B JUMPI PUSH2 0x512B PUSH2 0x50F2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x5159 JUMPI PUSH2 0x5159 PUSH2 0x50F2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5172 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x518B JUMPI PUSH2 0x518B PUSH2 0x50F2 JUMP JUMPDEST PUSH2 0x519E PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x5131 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x51B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x51E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x51EE DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5209 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5215 DUP6 DUP3 DUP7 ADD PUSH2 0x5161 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5231 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3605 DUP5 DUP3 DUP6 ADD PUSH2 0x5161 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2756 DUP2 PUSH2 0x5253 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x528F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x52AA JUMPI PUSH2 0x52AA PUSH2 0x50F2 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x52B9 DUP3 DUP3 ADD PUSH2 0x5131 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x52D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x37F5 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x52D9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x531B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x180 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x5330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5338 PUSH2 0x5108 JUMP JUMPDEST DUP3 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5347 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5353 DUP8 DUP3 DUP7 ADD PUSH2 0x5161 JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5368 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5374 DUP8 DUP3 DUP7 ADD PUSH2 0x5161 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x5386 PUSH1 0x40 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x5397 PUSH1 0x60 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x53A8 PUSH1 0x80 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x53B9 PUSH1 0xA0 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x53CA PUSH1 0xC0 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP4 ADD CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x53ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53F9 DUP9 DUP3 DUP8 ADD PUSH2 0x5161 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x120 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x5413 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x541F DUP9 DUP3 DUP8 ADD PUSH2 0x527E JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x140 SWAP2 POP PUSH2 0x5435 DUP3 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x160 SWAP2 POP PUSH2 0x5449 DUP3 DUP5 ADD PUSH2 0x4FDB JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x5477 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x4F5A JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2756 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5458 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x54BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x54CA DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5534 JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x5522 DUP6 DUP4 MLOAD PUSH2 0x5458 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5506 JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5554 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x555F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x506F DUP2 PUSH2 0x5253 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5581 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5597 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3605 DUP5 DUP3 DUP6 ADD PUSH2 0x527E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x55B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x55C4 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x55D4 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x55F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5602 DUP8 DUP3 DUP9 ADD PUSH2 0x5161 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5624 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x562F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x563F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x564F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x566A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5602 DUP8 DUP3 DUP9 ADD PUSH2 0x527E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5688 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2756 DUP2 PUSH2 0x4EC8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x56A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x56B1 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x506F DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x56D5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x56F5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x573C JUMPI PUSH2 0x573C PUSH2 0x5714 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4FE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x5775 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 MLOAD PUSH2 0x5780 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH1 0x20 DUP10 ADD MLOAD SWAP1 SWAP8 POP PUSH2 0x5791 DUP2 PUSH2 0x4EC8 JUMP JUMPDEST PUSH1 0x40 DUP10 ADD MLOAD SWAP1 SWAP7 POP PUSH2 0x57A2 DUP2 PUSH2 0x5253 JUMP JUMPDEST PUSH1 0x60 DUP10 ADD MLOAD SWAP1 SWAP6 POP PUSH2 0x57B3 DUP2 PUSH2 0x5253 JUMP JUMPDEST SWAP4 POP PUSH2 0x57C1 PUSH1 0x80 DUP10 ADD PUSH2 0x5743 JUMP JUMPDEST SWAP3 POP PUSH2 0x57CF PUSH1 0xA0 DUP10 ADD PUSH2 0x5743 JUMP JUMPDEST SWAP2 POP PUSH2 0x57DD PUSH1 0xC0 DUP10 ADD PUSH2 0x5743 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5850 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x587C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2756 DUP2 PUSH2 0x5253 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5899 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2756 DUP2 PUSH2 0x4FC6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x590B DUP2 PUSH2 0x56C1 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x5923 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5938 JUMPI PUSH2 0x5967 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x5967 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x595E JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x5945 JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5985 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4F36 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x59B6 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2350 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x59C2 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x59EE JUMPI PUSH2 0x59EE PUSH2 0x50F2 JUMP JUMPDEST PUSH2 0x5A02 DUP2 PUSH2 0x59FC DUP5 SLOAD PUSH2 0x56C1 JUMP JUMPDEST DUP5 PUSH2 0x598F JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5A37 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x5A1F JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2350 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5A66 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5A47 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5A84 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x35 SWAP1 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F7665636861696E4E6F6465732063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CEB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x5B96 DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4F36 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x5714 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5967 JUMPI DUP2 MLOAD DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5BC8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x5BFA JUMPI PUSH2 0x5BFA PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5C15 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4F36 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x5C29 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4F36 JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5C8B SWAP1 DUP4 ADD DUP5 PUSH2 0x4F5A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5CA7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2756 DUP2 PUSH2 0x4F03 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5CCF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 0x4D PUSH2 0x7820 PUSH13 0x6576656C206D75737420626547 PUSH2 0x6C61 PUSH25 0x79204D656D6265723A204233545220746F2075706772616465 KECCAK256 PUSH14 0xC7F505B2F371AE2175EE4913F449 SWAP15 0x1F 0x26 CALLER 0xA7 0xB5 SWAP4 PUSH4 0x21EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E347 PUSH2 0x6C61 PUSH25 0x794D656D6265723A20696E76616C6964206E6F646520667265 PUSH6 0x20360894A13B LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A9F2DF0FE 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F547616C6178794D656D PUSH3 0x65723A KECCAK256 PUSH23 0x65636861696E206E6F6465206E6F74206FA26469706673 PC 0x22 SLT KECCAK256 RETURNDATACOPY PUSH25 0xDEFCCA1842C6644DB9EBF1D7EBF8040C27DE722E56E4047A01 0xC5 PUSH25 0xA0471A64736F6C634300081400330000000000000000000000 ","sourceMap":"4026:34472:67:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23613:451;;;;;;;;;;-1:-1:-1;23613:451:67;;;;;:::i;:::-;;:::i;:::-;;38044:219;;;;;;;;;;-1:-1:-1;38044:219:67;;;;;:::i;:::-;;:::i;:::-;;;1000:14:150;;993:22;975:41;;963:2;948:18;38044:219:67;;;;;;;;3546:146:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4792:154::-;;;;;;;;;;-1:-1:-1;4792:154:5;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4618:113::-;;;;;;;;;;-1:-1:-1;4618:113:5;;;;;:::i;:::-;;:::i;3048:179:7:-;;;;;;;;;;;;;:::i;:::-;;;2917:25:150;;;2905:2;2890:18;3048:179:7;2771:177:150;5495:578:5;;;;;;;;;;-1:-1:-1;5495:578:5;;;;;:::i;:::-;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;29857:197:67:-;;;;;;;;;;-1:-1:-1;29857:197:67;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;2645:332:7:-;;;;;;;;;;-1:-1:-1;2645:332:7;;;;;:::i;:::-;;:::i;19407:648:67:-;;;;;;;;;;-1:-1:-1;19407:648:67;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;20264:502:67:-;;;;;;;;;;-1:-1:-1;20264:502:67;;;;;:::i;:::-;;:::i;28035:256::-;;;;;;;;;;-1:-1:-1;28035:256:67;;;;;:::i;:::-;;:::i;4681:76::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4681:76:67;;14232:77;;;;;;;;;;;;;:::i;27288:240::-;;;;;;;;;;-1:-1:-1;27288:240:67;;;;;:::i;:::-;;:::i;:::-;;;4953:4:150;4941:17;;;4923:36;;4911:2;4896:18;27288:240:67;4781:184:150;6139:132:5;;;;;;;;;;-1:-1:-1;6139:132:5;;;;;:::i;:::-;;:::i;16968:213:67:-;;;;;;;;;;-1:-1:-1;16968:213:67;;;;;:::i;:::-;;:::i;14900:912::-;;;;;;;;;;-1:-1:-1;14900:912:67;;;;;:::i;:::-;;:::i;18017:779::-;;;;;;;;;;-1:-1:-1;18017:779:67;;;;;:::i;:::-;;:::i;36058:115::-;;;;;;;;;;-1:-1:-1;36130:38:67;;;;;;;;;;;;;;;;;36058:115;;4158:214:3;;;;;;:::i;:::-;;:::i;3299:303:7:-;;;;;;;;;;-1:-1:-1;3299:303:7;;;;;:::i;:::-;;:::i;31756:149:67:-;;;;;;;;;;-1:-1:-1;31756:149:67;;;;;:::i;:::-;;:::i;3705:134:3:-;;;;;;;;;;;;;:::i;32943:86:67:-;;;;;;;;;;-1:-1:-1;33014:10:67;;;;;;;;;;;;-1:-1:-1;;;33014:10:67;;;;32943:86;;21514:336;;;;;;;;;;-1:-1:-1;21514:336:67;;;;;:::i;:::-;;:::i;31076:133::-;;;;;;;;;;;;;:::i;22707:241::-;;;;;;;;;;-1:-1:-1;22707:241:67;;;;;:::i;:::-;;:::i;14492:203::-;;;;;;;;;;;;;:::i;2692:145:12:-;;;;;;;;;;;;;:::i;30621:186:67:-;;;;;;;;;;;;;:::i;10700:1688::-;;;;;;;;;;-1:-1:-1;10700:1688:67;;;;;:::i;:::-;;:::i;23064:311::-;;;;;;;;;;-1:-1:-1;23064:311:67;;;;;:::i;:::-;;:::i;31262:143::-;;;;;;;;;;;;;:::i;3366:118:5:-;;;;;;;;;;-1:-1:-1;3366:118:5;;;;;:::i;:::-;;:::i;33287:455:67:-;;;;;;;;;;-1:-1:-1;33287:455:67;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29655:91::-;;;;;;;;;;;;;:::i;24191:211::-;;;;;;;;;;-1:-1:-1;24191:211:67;;;;;:::i;:::-;;:::i;3044:265:5:-;;;;;;;;;;-1:-1:-1;3044:265:5;;;;;:::i;:::-;;:::i;30864:157:67:-;;;;;;;;;;;;;:::i;15934:87::-;;;;;;;;;;-1:-1:-1;15934:87:67;;;;;:::i;:::-;;:::i;14061:73::-;;;;;;;;;;;;;:::i;34369:1490::-;;;;;;;;;;-1:-1:-1;34369:1490:67;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;32562:153::-;;;;;;;;;;-1:-1:-1;32562:153:67;;;;;:::i;:::-;;:::i;17282:731::-;;;;;;;;;;-1:-1:-1;17282:731:67;;;;;:::i;:::-;;:::i;29051:541::-;;;;;;;;;;-1:-1:-1;29051:541:67;;;;;:::i;:::-;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;35911:90:67:-;;;;;;;;;;;;;:::i;:::-;;;12839:14:150;12827:27;;;12809:46;;12797:2;12782:18;35911:90:67;12665:196:150;4577:100:67;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4577:100:67;;32014:149;;;;;;;;;;-1:-1:-1;32014:149:67;;;;;:::i;:::-;;:::i;3756:150:5:-;;;;;;;;;;;;;:::i;28444:206:67:-;;;;;;;;;;-1:-1:-1;28444:206:67;;;;;:::i;:::-;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;5013:144:5;;;;;;;;;;-1:-1:-1;5013:144:5;;;;;:::i;:::-;;:::i;31487:151:67:-;;;;;;;;;;;;;:::i;24511:691::-;;;;;;;;;;-1:-1:-1;24511:691:67;;;;;:::i;:::-;;:::i;16140:129::-;;;;;;;;;;-1:-1:-1;16140:129:67;;;;;:::i;:::-;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;22042:520:67;;;;;;;;;;-1:-1:-1;22042:520:67;;;;;:::i;:::-;;:::i;6337:208:5:-;;;;;;;;;;-1:-1:-1;6337:208:5;;;;;:::i;:::-;;:::i;12586:973:67:-;;;;;;;;;;-1:-1:-1;12586:973:67;;;;;:::i;:::-;;:::i;30244:312::-;;;;;;;;;;-1:-1:-1;30244:312:67;;;;;:::i;:::-;;:::i;28754:175::-;;;;;;;;;;-1:-1:-1;28754:175:67;;;;;:::i;:::-;;:::i;27639:207::-;;;;;;;;;;-1:-1:-1;27639:207:67;;;;;:::i;:::-;;:::i;4511:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4511:62:67;;5662:138:0;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;20941:418:67:-;;;;;;;;;;-1:-1:-1;20941:418:67;;;;;:::i;:::-;;:::i;33905:188::-;;;;;;;;;;-1:-1:-1;33905:188:67;;;;;:::i;:::-;;:::i;32301:161::-;;;;;;;;;;-1:-1:-1;32301:161:67;;;;;:::i;:::-;;:::i;4445:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4445:62:67;;5223:210:5;;;;;;;;;;-1:-1:-1;5223:210:5;;;;;:::i;:::-;;:::i;4375:66:67:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4375:66:67;;23613:451;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;23747:1:67::1;23738:5;:10;;23730:50;;;::::0;-1:-1:-1;;;23730:50:67;;15890:2:150;23730:50:67::1;::::0;::::1;15872:21:150::0;15929:2;15909:18;;;15902:30;-1:-1:-1;;;15948:18:150;;;15941:57;16015:18;;23730:50:67::1;;;;;;;;;23807:1;23794:9;:14;;;;23786:59;;;::::0;-1:-1:-1;;;23786:59:67;;16246:2:150;23786:59:67::1;::::0;::::1;16228:21:150::0;;;16265:18;;;16258:30;16324:34;16304:18;;;16297:62;16376:18;;23786:59:67::1;16044:356:150::0;23786:59:67::1;23852:29;23884:25;:23;:25::i;:::-;23852:57;;23933:1;:11;;;23924:5;:20;;23916:92;;;::::0;-1:-1:-1;;;23916:92:67;;16607:2:150;23916:92:67::1;::::0;::::1;16589:21:150::0;16646:2;16626:18;;;16619:30;16685:34;16665:18;;;16658:62;-1:-1:-1;;;16736:18:150;;;16729:57;16803:19;;23916:92:67::1;16405:423:150::0;23916:92:67::1;24015:36;::::0;;::::1;;::::0;;;:25:::1;::::0;;::::1;:36;::::0;-1:-1:-1;24015:36:67;;;;:44;23613:451::o;38044:219::-;38203:4;38222:36;38246:11;38222:23;:36::i;:::-;38215:43;38044:219;-1:-1:-1;;38044:219:67:o;3546:146:5:-;3591:13;3616:23;3642:19;:17;:19::i;:::-;3616:45;;3678:1;:7;;3671:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3546:146;:::o;4792:154::-;4859:7;4878:22;4892:7;4878:13;:22::i;:::-;;4918:21;4931:7;4918:12;:21::i;4618:113::-;4689:35;4698:2;4702:7;966:10:11;4689:8:5;:35::i;:::-;4618:113;;:::o;3048:179:7:-;3100:7;3119:33;3155:29;:27;:29::i;:::-;3201:12;;:19;;3048:179;-1:-1:-1;;3048:179:7:o;5495:578:5:-;-1:-1:-1;;;;;5589:16:5;;5585:87;;5658:1;5628:33;;-1:-1:-1;;;5628:33:5;;;;;;;;:::i;5585:87::-;5890:21;5914:34;5922:2;5926:7;966:10:11;5914:7:5;:34::i;:::-;5890:58;;5979:4;-1:-1:-1;;;;;5962:21:5;:13;-1:-1:-1;;;;;5962:21:5;;5958:109;;6006:50;;-1:-1:-1;;;6006:50:5;;-1:-1:-1;;;;;17476:15:150;;;6006:50:5;;;17458:34:150;17508:18;;;17501:34;;;17571:15;;17551:18;;;17544:43;17393:18;;6006:50:5;17218:375:150;5958:109:5;5575:498;5495:578;;;:::o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;29857:197:67:-;29934:7;29949:29;29981:25;:23;:25::i;:::-;30019:30;;;;:23;;:30;;-1:-1:-1;;30019:30:67;;;;;29857:197::o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;2645:332:7:-:0;2733:7;2752:33;2788:29;:27;:29::i;:::-;2752:65;;2840:16;2850:5;2840:9;:16::i;:::-;2831:5;:25;2827:99;;2902:5;2909;2879:36;;-1:-1:-1;;;2879:36:7;;;;;;;;;:::i;2827:99::-;-1:-1:-1;;;;;2942:21:7;;:14;:21;;;;;;;;;;;:28;;;;;;;;;-1:-1:-1;2645:332:7;;;;:::o;19407:648:67:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;19493:29:67::1;19525:25;:23;:25::i;:::-;19493:57;;19573:1;:11;;;19565:5;:19;19557:99;;;::::0;-1:-1:-1;;;19557:99:67;;18079:2:150;19557:99:67::1;::::0;::::1;18061:21:150::0;18118:2;18098:18;;;18091:30;-1:-1:-1;;;;;;;;;;;18137:18:150;;;18130:62;18228:34;18208:18;;;18201:62;-1:-1:-1;;;18279:19:150;;;18272:34;18323:19;;19557:99:67::1;17877:471:150::0;19557:99:67::1;19729:1;19712:232;19737:5;19732:1;:10;19712:232;;19794:1;19765:26:::0;;;:23:::1;::::0;::::1;:26;::::0;;;;;19757:109:::1;;;::::0;-1:-1:-1;;;19757:109:67;;18555:2:150;19757:109:67::1;::::0;::::1;18537:21:150::0;18594:2;18574:18;;;18567:30;-1:-1:-1;;;;;;;;;;;18613:18:150;;;18606:62;18704:34;18684:18;;;18677:62;-1:-1:-1;;;18755:19:150;;;18748:33;18798:19;;19757:109:67::1;18353:470:150::0;19757:109:67::1;19744:3:::0;::::1;::::0;::::1;:::i;:::-;;;;19712:232;;;-1:-1:-1::0;19969:11:67::1;::::0;::::1;::::0;;19987:19;;;;20018:32:::1;::::0;;19274:25:150;;;19330:2;19315:18;;19308:34;;;20018:32:67::1;::::0;19247:18:150;20018:32:67::1;;;;;;;19487:568;;19407:648:::0;;:::o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;20264:502:67:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;20413:35:67;::::1;20405:111;;;::::0;-1:-1:-1;;;20405:111:67;;19555:2:150;20405:111:67::1;::::0;::::1;19537:21:150::0;19594:2;19574:18;;;19567:30;19633:34;19613:18;;;19606:62;19704:33;19684:18;;;19677:61;19755:19;;20405:111:67::1;19353:427:150::0;20405:111:67::1;20522:29;20554:25;:23;:25::i;:::-;20657:22:::0;;20591:90:::1;::::0;20522:57;;-1:-1:-1;;;;;;20657:22:67;;::::1;::::0;20591:90;;::::1;::::0;::::1;::::0;20657:22:::1;::::0;20591:90:::1;20687:74:::0;;-1:-1:-1;;;;;;20687:74:67::1;-1:-1:-1::0;;;;;20687:74:67;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;20264:502:67:o;28035:256::-;28134:7;28149:29;28181:25;:23;:25::i;:::-;-1:-1:-1;;;;;28219:36:67;;;;;;:29;;;:36;;;;;28149:57;;-1:-1:-1;28219:67:67;;28274:11;28219:54;:67::i;:::-;-1:-1:-1;;;;;28212:74:67;;28035:256;-1:-1:-1;;;;28035:256:67:o;14232:77::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;14294:10:67::1;:8;:10::i;:::-;14232:77:::0;:::o;27288:240::-;27357:5;27370:29;27402:25;:23;:25::i;:::-;27466:14;;;;:34;;-1:-1:-1;;;27466:34:67;;;;;2917:25:150;;;27466:14:67;;-1:-1:-1;27437:15:67;;27466:14;;;;-1:-1:-1;;;;;27466:14:67;;:26;;2890:18:150;;27466:34:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;27434:66:67;;27288:240;-1:-1:-1;;;;;;;;;27288:240:67:o;6139:132:5:-;6225:39;6242:4;6248:2;6252:7;6225:39;;;;;;;;;;;;:16;:39::i;16968:213:67:-;17084:10;17064:16;17072:7;17064;:16::i;:::-;-1:-1:-1;;;;;17064:30:67;;17056:94;;;;-1:-1:-1;;;17056:94:67;;;;;;;:::i;:::-;17157:19;17168:7;17157:10;:19::i;14900:912::-;3251:21:13;:19;:21::i;:::-;2316:19:12::1;:17;:19::i;:::-;15010:10:67::2;14990:16;14998:7:::0;14990::::2;:16::i;:::-;-1:-1:-1::0;;;;;14990:30:67::2;;14982:94;;;::::0;-1:-1:-1;;;14982:94:67;;21482:2:150;14982:94:67::2;::::0;::::2;21464:21:150::0;21521:2;21501:18;;;21494:30;21560:34;21540:18;;;21533:62;-1:-1:-1;;;21611:18:150;;;21604:49;21670:19;;14982:94:67::2;21280:415:150::0;14982:94:67::2;15082:29;15114:25;:23;:25::i;:::-;15082:57;;15146:20;15169:16;15177:7;15169;:16::i;:::-;15146:39;;15215:11;:9;:11::i;:::-;15200:12;:26;15192:83;;;::::0;-1:-1:-1;;;15192:83:67;;21902:2:150;15192:83:67::2;::::0;::::2;21884:21:150::0;21941:2;21921:18;;;21914:30;21980:34;21960:18;;;21953:62;-1:-1:-1;;;22031:18:150;;;22024:42;22083:19;;15192:83:67::2;21700:408:150::0;15192:83:67::2;15282:20;15305:25;15322:7;15305:16;:25::i;:::-;15345:6;::::0;::::2;::::0;:28:::2;::::0;-1:-1:-1;;;15345:28:67;;15282:48;;-1:-1:-1;15282:48:67;;-1:-1:-1;;;;;15345:6:67;;::::2;::::0;:16:::2;::::0;:28:::2;::::0;15362:10:::2;::::0;15345:28:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;15337:103;;;::::0;-1:-1:-1;;;15337:103:67;;22504:2:150;15337:103:67::2;::::0;::::2;22486:21:150::0;22543:2;22523:18;;;22516:30;22582:34;22562:18;;;22555:62;-1:-1:-1;;;22633:18:150;;;22626:44;22687:19;;15337:103:67::2;22302:410:150::0;15337:103:67::2;15462:6;::::0;::::2;::::0;:43:::2;::::0;-1:-1:-1;;;15462:43:67;;15479:10:::2;15462:43;::::0;::::2;22929:34:150::0;15499:4:67::2;22979:18:150::0;;;22972:43;15509:12:67;;-1:-1:-1;;;;;15462:6:67::2;::::0;:16:::2;::::0;22864:18:150;;15462:43:67::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;15447:138;;;::::0;-1:-1:-1;;;15447:138:67;;23228:2:150;15447:138:67::2;::::0;::::2;23210:21:150::0;23267:2;23247:18;;;23240:30;23306:34;23286:18;;;23279:62;-1:-1:-1;;;23357:18:150;;;23350:46;23413:19;;15447:138:67::2;23026:412:150::0;15447:138:67::2;15592:32;::::0;;;:23:::2;::::0;::::2;:32;::::0;;;;:48;;15628:12;;15592:32;:48:::2;::::0;15628:12;;15592:48:::2;:::i;:::-;::::0;;;-1:-1:-1;;15655:6:67::2;::::0;::::2;::::0;15687:10:::2;::::0;::::2;::::0;15655:57:::2;::::0;-1:-1:-1;;;15655:57:67;;15675:10:::2;15655:57;::::0;::::2;23813:34:150::0;-1:-1:-1;;;;;15687:10:67;;::::2;23863:18:150::0;;;23856:43;23915:18;;;23908:34;;;15655:6:67;::::2;::::0;:19:::2;::::0;23748:18:150;;15655:57:67::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15647:99;;;::::0;-1:-1:-1;;;15647:99:67;;24405:2:150;15647:99:67::2;::::0;::::2;24387:21:150::0;24444:2;24424:18;;;24417:30;24483:31;24463:18;;;24456:59;24532:18;;15647:99:67::2;24203:353:150::0;15647:99:67::2;15767:7;15758:49;15776:12;15790:16;15798:7;15790;:16::i;:::-;15758:49;::::0;;19274:25:150;;;19330:2;19315:18;;19308:34;;;;19247:18;15758:49:67::2;;;;;;;14976:836;;;3293:20:13::0;:18;:20::i;18017:779:67:-;2316:19:12;:17;:19::i;:::-;18110:29:67::1;18142:25;:23;:25::i;:::-;18110:57:::0;-1:-1:-1;18209:10:67::1;18189:16;18197:7:::0;18189::::1;:16::i;:::-;-1:-1:-1::0;;;;;18189:30:67::1;;:100;;;-1:-1:-1::0;18231:16:67::1;::::0;::::1;::::0;:44:::1;::::0;-1:-1:-1;;;18231:44:67;;::::1;::::0;::::1;2917:25:150::0;;;18279:10:67::1;::::0;-1:-1:-1;;;;;18231:16:67::1;::::0;:31:::1;::::0;2890:18:150;;18231:44:67::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18231:58:67::1;;18189:100;:163;;;-1:-1:-1::0;18301:14:67::1;::::0;::::1;::::0;:37:::1;::::0;-1:-1:-1;;;18301:37:67;;::::1;::::0;::::1;2917:25:150::0;;;18342:10:67::1;::::0;18301:14:::1;::::0;::::1;-1:-1:-1::0;;;;;18301:14:67::1;::::0;:24:::1;::::0;2890:18:150;;18301:37:67::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18301:51:67::1;;18189:163;18174:280;;;::::0;-1:-1:-1;;;18174:280:67;;25019:2:150;18174:280:67::1;::::0;::::1;25001:21:150::0;25058:2;25038:18;;;25031:30;-1:-1:-1;;;;;;;;;;;25077:18:150;;;25070:62;25168:34;25148:18;;;25141:62;-1:-1:-1;;;25219:19:150;;;25212:53;25282:19;;18174:280:67::1;24817:490:150::0;18174:280:67::1;18504:7;18468:32;18488:11;18468:19;:32::i;:::-;:43;18460:100;;;::::0;-1:-1:-1;;;18460:100:67;;25514:2:150;18460:100:67::1;::::0;::::1;25496:21:150::0;25553:2;25533:18;;;25526:30;25592:34;25572:18;;;25565:62;-1:-1:-1;;;25643:18:150;;;25636:42;25695:19;;18460:100:67::1;25312:408:150::0;18460:100:67::1;18604:11;18574:26;18592:7;18574:17;:26::i;:::-;:41;18566:98;;;::::0;-1:-1:-1;;;18566:98:67;;25927:2:150;18566:98:67::1;::::0;::::1;25909:21:150::0;25966:2;25946:18;;;25939:30;26005:34;25985:18;;;25978:62;-1:-1:-1;;;26056:18:150;;;26049:42;26108:19;;18566:98:67::1;25725:408:150::0;18566:98:67::1;18678:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;18671:36;;;18720:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;18713:32;;;18757:34;18737:7;;18695:11;;18757:34:::1;::::0;18678:29;18757:34:::1;18104:692;18017:779:::0;;:::o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;3299:303:7:-:0;3365:7;3384:33;3420:29;:27;:29::i;:::-;3384:65;;3472:13;:11;:13::i;:::-;3463:5;:22;3459:101;;3539:1;3543:5;3508:41;;-1:-1:-1;;;3508:41:7;;;;;;;;;:::i;3459:101::-;3576:1;:12;;3589:5;3576:19;;;;;;;;:::i;:::-;;;;;;;;;3569:26;;;3299:303;;;:::o;31756:149:67:-;31830:7;31852:25;:23;:25::i;:::-;:48;;;;:40;;:48;;-1:-1:-1;31852:48:67;;;;;31756:149::o;3705:134:3:-;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;21514:336:67:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;21649:1:67::1;21626:12;21620:26;:30;21612:78;;;;-1:-1:-1::0;;;21612:78:67::1;;;;;;;:::i;:::-;21696:29;21728:25;:23;:25::i;:::-;21696:57;;21793:1;:15;;21764:45;;;;;;:::i;:::-;;;;;;;;21779:12;21764:45;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;21815:15;::::0;::::1;:30;21833:12:::0;21815:15;:30:::1;:::i;31076:133::-:0;31115:5;31128:29;31160:25;:23;:25::i;:::-;31198:6;;;-1:-1:-1;;;;;31198:6:67;;31076:133;-1:-1:-1;;31076:133:67:o;22707:241::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;22806:29:67::1;22838:25;:23;:25::i;:::-;22806:57;;22874:29;22894:8;22874:29;;;;1000:14:150::0;993:22;975:41;;963:2;948:18;;835:187;22874:29:67::1;;;;;;;;22909:23;;:34:::0;;-1:-1:-1;;22909:34:67::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;22707:241:67:o;14492:203::-;9131:29;9163:25;:23;:25::i;:::-;9203:23;;;;9131:57;;-1:-1:-1;9203:23:67;;9202:24;9194:76;;;;-1:-1:-1;;;9194:76:67;;30221:2:150;9194:76:67;;;30203:21:150;30260:2;30240:18;;;30233:30;30299:34;30279:18;;;30272:62;-1:-1:-1;;;30350:18:150;;;30343:37;30397:19;;9194:76:67;30019:403:150;9194:76:67;14568:36:::1;14593:10;14568:24;:36::i;:::-;14560:103;;;::::0;-1:-1:-1;;;14560:103:67;;30629:2:150;14560:103:67::1;::::0;::::1;30611:21:150::0;30668:2;30648:18;;;30641:30;30707:34;30687:18;;;30680:62;-1:-1:-1;;;30758:18:150;;;30751:52;30820:19;;14560:103:67::1;30427:418:150::0;14560:103:67::1;14670:20;14679:10;14670:8;:20::i;2692:145:12:-:0;2739:4;2755:25;2783:21;:19;:21::i;:::-;2821:9;;;;2692:145;-1:-1:-1;;2692:145:12:o;30621:186:67:-;30676:26;30710:29;30742:25;:23;:25::i;:::-;30780:22;-1:-1:-1;;;;;30780:22:67;;30621:186;-1:-1:-1;;30621:186:67:o;10700:1688::-;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;10803:1:67::1;10787:4;:13;;;:17;10779:77;;;::::0;-1:-1:-1;;;10779:77:67;;31052:2:150;10779:77:67::1;::::0;::::1;31034:21:150::0;31091:2;31071:18;;;31064:30;-1:-1:-1;;;;;;;;;;;31110:18:150;;;31103:62;-1:-1:-1;;;31181:18:150;;;31174:45;31236:19;;10779:77:67::1;30850:411:150::0;10779:77:67::1;10904:1;10876:4;:17;;;10870:31;:35;10862:83;;;;-1:-1:-1::0;;;10862:83:67::1;;;;;;;:::i;:::-;10959:9;::::0;::::1;::::0;-1:-1:-1;;;;;10959:23:67::1;10951:96;;;::::0;-1:-1:-1;;;10951:96:67;;31468:2:150;10951:96:67::1;::::0;::::1;31450:21:150::0;31507:2;31487:18;;;31480:30;31546:34;31526:18;;;31519:62;-1:-1:-1;;;31597:18:150;;;31590:58;31665:19;;10951:96:67::1;31266:424:150::0;10951:96:67::1;11061:13;::::0;::::1;::::0;-1:-1:-1;;;;;11061:27:67::1;11053:98;;;::::0;-1:-1:-1;;;11053:98:67;;31897:2:150;11053:98:67::1;::::0;::::1;31879:21:150::0;31936:2;31916:18;;;31909:30;31975:34;31955:18;;;31948:62;-1:-1:-1;;;32026:18:150;;;32019:56;32092:19;;11053:98:67::1;31695:422:150::0;11053:98:67::1;11224:1;11208:4;:13;;;:17;;;;:::i;:::-;11172:4;:25;;;:32;:53;;11157:150;;;::::0;-1:-1:-1;;;11157:150:67;;32457:2:150;11157:150:67::1;::::0;::::1;32439:21:150::0;32496:2;32476:18;;;32469:30;-1:-1:-1;;;;;;;;;;;32515:18:150;;;32508:62;32606:34;32586:18;;;32579:62;-1:-1:-1;;;32657:19:150;;;32650:33;32700:19;;11157:150:67::1;32255:470:150::0;11157:150:67::1;11314:37;11328:4;:9;;;11339:4;:11;;;11314:13;:37::i;:::-;11357:25;:23;:25::i;:::-;11388:23;:21;:23::i;:::-;11417;:21;:23::i;:::-;11446:22;:20;:22::i;:::-;11474:24;:22;:24::i;:::-;11504;:22;:24::i;:::-;11535:29;11567:25;:23;:25::i;:::-;11535:57;;11617:4;:17;;;11599:1;:15;;:35;;;;;;:::i;:::-;;11646:9;11641:290;11665:4;:25;;;:32;11661:1;:36;11641:290;;;11751:1;11720:4;:25;;;11746:1;11720:28;;;;;;;;:::i;:::-;;;;;;;:32;11712:98;;;;-1:-1:-1::0;;;11712:98:67::1;;;;;;;:::i;:::-;11851:4;:25;;;11877:1;11851:28;;;;;;;;:::i;:::-;;;;;;;11818:1;:23;;:30;11842:1;11846;11842:5;;;;:::i;:::-;11818:30:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11818:30:67;:61;11699:3;::::1;::::0;::::1;:::i;:::-;;;;11641:290;;;-1:-1:-1::0;11951:13:67::1;::::0;::::1;::::0;11937:11:::1;::::0;::::1;:27:::0;11986:9:::1;::::0;::::1;::::0;11971:6:::1;::::0;::::1;:25:::0;;-1:-1:-1;;;;;;11971:25:67;;::::1;-1:-1:-1::0;;;;;11971:25:67;;::::1;;::::0;;;12015:13:::1;::::0;::::1;::::0;12002:10:::1;::::0;::::1;:26:::0;;;;::::1;::::0;;::::1;;::::0;;12043:10:::1;::::0;::::1;::::0;:24:::1;12035:92;;;::::0;-1:-1:-1;;;12035:92:67;;33354:2:150;12035:92:67::1;::::0;::::1;33336:21:150::0;33393:2;33373:18;;;33366:30;33432:34;33412:18;;;33405:62;-1:-1:-1;;;33483:18:150;;;33476:53;33546:19;;12035:92:67::1;33152:419:150::0;12035:92:67::1;12133:42;2362:4:0;12144:18:67::0;::::1;12164:4;:10;;;12133;:42::i;:::-;;12181:40;-1:-1:-1::0;;;;;;;;;;;12207:4:67::1;:13;;;12181:10;:40::i;:::-;;12227:36;-1:-1:-1::0;;;;;;;;;;;12251:4:67::1;:11;;;12227:10;:36::i;:::-;;12269;-1:-1:-1::0;;;;;;;;;;;12293:4:67::1;:11;;;12269:10;:36::i;:::-;;12311:72;-1:-1:-1::0;;;;;;;;;;;12354:4:67::1;:28;;;12311:10;:72::i;:::-;;10773:1615;5070:14:2::0;5066:101;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;;;;;;;;;;;5142:14:2;;;5100:23;;5142:14;:::i;:::-;;;;;;;;5066:101;4092:1081;;;;;10700:1688:67;:::o;23064:311::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;23170:27:67;::::1;23162:94;;;;-1:-1:-1::0;;;23162:94:67::1;;;;;;;:::i;:::-;23262:29;23294:25;:23;:25::i;:::-;23325:14;;:45:::0;;-1:-1:-1;;;;;23325:45:67;;::::1;;;-1:-1:-1::0;;;;;;23325:45:67;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;23064:311:67:o;31262:143::-;31305:7;31320:29;31352:25;:23;:25::i;:::-;31390:10;;;-1:-1:-1;;;;;31390:10:67;;31262:143;-1:-1:-1;;31262:143:67:o;3366:118:5:-;3429:7;3455:22;3469:7;3455:13;:22::i;33287:455:67:-;33364:16;;:::i;:::-;33461:1;33432:17;33441:7;33432:8;:17::i;:::-;-1:-1:-1;;;;;33432:31:67;;33424:79;;;;-1:-1:-1;;;33424:79:67;;34415:2:150;33424:79:67;;;34397:21:150;34454:2;34434:18;;;34427:30;34493:34;34473:18;;;34466:62;-1:-1:-1;;;34544:18:150;;;34537:33;34587:19;;33424:79:67;34213:399:150;33424:79:67;33510:26;;:::i;:::-;33542:27;;;33596:17;33562:7;33596:8;:17::i;:::-;33575:18;;;:38;33642:16;33650:7;33642;:16::i;:::-;33619:20;;;:39;33690:25;33707:7;33690:16;:25::i;:::-;33664:23;;;:51;:9;33287:455;-1:-1:-1;;33287:455:67:o;29655:91::-;29703:13;29731:10;:8;:10::i;:::-;29724:17;;29655:91;:::o;24191:211::-;24254:7;24269:14;24286:26;24304:7;24286:17;:26::i;:::-;24269:43;;24320:13;24339:39;24362:7;24371:6;24339:22;:39::i;:::-;-1:-1:-1;24319:59:67;24191:211;-1:-1:-1;;;;24191:211:67:o;3044:265:5:-;3107:7;3126:23;3152:19;:17;:19::i;:::-;3126:45;-1:-1:-1;;;;;;3185:19:5;;3181:87;;3254:1;3227:30;;-1:-1:-1;;;3227:30:5;;;;;;;;:::i;3181:87::-;-1:-1:-1;;;;;3284:18:5;;;;;;;:11;;;;:18;;-1:-1:-1;3284:18:5;;;;;3044:265::o;30864:157:67:-;30911:13;30932:29;30964:25;:23;:25::i;:::-;31002:14;;;-1:-1:-1;;;;;31002:14:67;;30864:157;-1:-1:-1;;30864:157:67:o;15934:87::-;15988:28;15996:10;16008:7;15988;:28::i;14061:73::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;14121:8:67::1;:6;:8::i;34369:1490::-:0;34463:18;34521:4;34529:1;34521:9;34517:79;;34540:49;;-1:-1:-1;;;34540:49:67;;34819:2:150;34540:49:67;;;34801:21:150;34858:2;34838:18;;;34831:30;-1:-1:-1;;;;;;;;;;;34877:18:150;;;34870:62;-1:-1:-1;;;34948:18:150;;;34941:37;34995:19;;34540:49:67;34617:403:150;34517:79:67;34682:3;34761:26;;;34757:209;;;34903:37;34920:19;34903:16;:37::i;:::-;34831:110;;;;;;;;:::i;:::-;;;;-1:-1:-1;;34831:110:67;;;;;;;;;;-1:-1:-1;;;34797:162:67;;;;;;;:::i;34757:209::-;34972:15;34990:16;35000:5;34990:9;:16::i;:::-;34972:34;-1:-1:-1;35119:13:67;35135:11;35142:4;35135;:11;:::i;:::-;35119:27;;35247:7;35238:5;:16;35234:62;;35271:18;;;35287:1;35271:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;35264:25;;;;;;;35234:62;35345:11;35359:12;35367:4;35359:5;:12;:::i;:::-;35345:26;;35387:7;35381:3;:13;35377:106;;;-1:-1:-1;35410:7:67;35377:106;35537:17;35557:11;35563:5;35557:3;:11;:::i;:::-;35537:31;;35575:25;35619:9;-1:-1:-1;;;;;35603:26:67;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;35575:54;;35641:9;35636:199;35660:9;35656:1;:13;35636:199;;;35684:18;35705:9;35713:1;35705:5;:9;:::i;:::-;35684:30;;35722:15;35740:38;35760:5;35767:10;35740:19;:38::i;:::-;35722:56;;35798:30;35820:7;35798:21;:30::i;:::-;35786:6;35793:1;35786:9;;;;;;;;:::i;:::-;;;;;;:42;;;;35676:159;;35671:3;;;;;:::i;:::-;;;;35636:199;;;-1:-1:-1;35848:6:67;-1:-1:-1;;;;;;34369:1490:67;;;;;;:::o;32562:153::-;32632:7;32654:25;:23;:25::i;:::-;:56;;;;:47;;:56;;-1:-1:-1;32654:56:67;;;;;32562:153::o;17282:731::-;2316:19:12;:17;:19::i;:::-;17375:29:67::1;17407:25;:23;:25::i;:::-;17375:57:::0;-1:-1:-1;17467:10:67::1;17447:16;17455:7:::0;17447::::1;:16::i;:::-;-1:-1:-1::0;;;;;17447:30:67::1;;17439:82;;;::::0;-1:-1:-1;;;17439:82:67;;35919:2:150;17439:82:67::1;::::0;::::1;35901:21:150::0;35958:2;35938:18;;;35931:30;35997:34;35977:18;;;35970:62;-1:-1:-1;;;36048:18:150;;;36041:37;36095:19;;17439:82:67::1;35717:403:150::0;17439:82:67::1;17542:16;::::0;::::1;::::0;:44:::1;::::0;-1:-1:-1;;;17542:44:67;;::::1;::::0;::::1;2917:25:150::0;;;17590:10:67::1;::::0;-1:-1:-1;;;;;17542:16:67::1;::::0;:31:::1;::::0;2890:18:150;;17542:44:67::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17542:58:67::1;;17527:146;;;::::0;-1:-1:-1;;;17527:146:67;;36327:2:150;17527:146:67::1;::::0;::::1;36309:21:150::0;36366:2;36346:18;;;36339:30;-1:-1:-1;;;;;;;;;;;36385:18:150;;;36378:62;-1:-1:-1;;;36456:18:150;;;36449:55;36521:19;;17527:146:67::1;36125:421:150::0;17527:146:67::1;17687:32;17707:11;17687:19;:32::i;:::-;:37:::0;17679:96:::1;;;::::0;-1:-1:-1;;;17679:96:67;;36753:2:150;17679:96:67::1;::::0;::::1;36735:21:150::0;36792:2;36772:18;;;36765:30;36831:34;36811:18;;;36804:62;-1:-1:-1;;;36882:18:150;;;36875:44;36936:19;;17679:96:67::1;36551:410:150::0;17679:96:67::1;17789:26;17807:7;17789:17;:26::i;:::-;:31:::0;17781:90:::1;;;::::0;-1:-1:-1;;;17781:90:67;;37168:2:150;17781:90:67::1;::::0;::::1;37150:21:150::0;37207:2;37187:18;;;37180:30;37246:34;37226:18;;;37219:62;-1:-1:-1;;;37297:18:150;;;37290:44;37351:19;;17781:90:67::1;36966:410:150::0;17781:90:67::1;17878:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;:39;;;17923:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;:39;;;17974:34;17910:7;;17895:11;;17974:34:::1;::::0;17878:29;17974:34:::1;17369:644;17282:731:::0;;:::o;29051:541::-;29128:4;29140:29;29172:25;:23;:25::i;:::-;29218:22;;29140:57;;-1:-1:-1;;;;;;29218:22:67;29203:143;;;;-1:-1:-1;;;29203:143:67;;37583:2:150;29203:143:67;;;37565:21:150;37622:2;37602:18;;;37595:30;37661:34;37641:18;;;37634:62;-1:-1:-1;;;37712:18:150;;;37705:46;37768:19;;29203:143:67;37381:412:150;29203:143:67;29360:14;;;;-1:-1:-1;;;;;29360:14:67;29352:100;;;;-1:-1:-1;;;29352:100:67;;38000:2:150;29352:100:67;;;37982:21:150;38039:2;38019:18;;;38012:30;38078:34;38058:18;;;38051:62;-1:-1:-1;;;38129:18:150;;;38122:33;38172:19;;29352:100:67;37798:399:150;29352:100:67;29463:22;;:41;;-1:-1:-1;;;29463:41:67;;-1:-1:-1;;;;;29463:22:67;;;;:35;;:41;;29499:4;;29463:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;-1:-1:-1;29508:14:67;;;;:33;;-1:-1:-1;;;29508:33:67;;-1:-1:-1;;;;;29508:14:67;;;;:27;;:33;;29536:4;;29508:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29459:110;;;-1:-1:-1;29558:4:67;;29051:541;-1:-1:-1;;29051:541:67:o;29459:110::-;-1:-1:-1;29582:5:67;;29051:541;-1:-1:-1;;29051:541:67:o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;35911:90:67:-;35957:6;35978:18;:16;:18::i;32014:149::-;32087:7;32109:25;:23;:25::i;:::-;:49;;;;:40;;:49;;-1:-1:-1;32109:49:67;;;;;32014:149::o;3756:150:5:-;3803:13;3828:23;3854:19;:17;:19::i;:::-;3828:45;;3890:1;:9;;3883:16;;;;;:::i;28444:206:67:-;28547:7;28563:13;28582:44;28605:7;28614:11;28582:22;:44::i;5013:144:5:-;5098:52;966:10:11;5131:8:5;5141;5098:18;:52::i;31487:151:67:-;31537:7;31552:29;31584:25;:23;:25::i;:::-;31622:11;;;;31487:151;-1:-1:-1;;31487:151:67:o;24511:691::-;24583:7;;24602:17;24611:7;24602:8;:17::i;:::-;-1:-1:-1;;;;;24602:31:67;;24598:45;;-1:-1:-1;24642:1:67;;24511:691;-1:-1:-1;24511:691:67:o;24598:45::-;24650:14;24667:26;24685:7;24667:17;:26::i;:::-;24650:43;;24772:20;24794:23;24821:39;24844:7;24853:6;24821:22;:39::i;:::-;24771:89;;;;24942:11;:9;:11::i;:::-;24926:12;:27;24922:56;;-1:-1:-1;24970:1:67;;24511:691;-1:-1:-1;;;;24511:691:67:o;24922:56::-;25182:15;25138:41;25162:16;:12;25177:1;25162:16;:::i;25138:41::-;:59;;;;:::i;:::-;25131:66;24511:691;-1:-1:-1;;;;;24511:691:67:o;16140:129::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;16241:23:67::1;16249:5;16256:7;16241;:23::i;22042:520::-:0;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;22164:29:67::1;22196:25;:23;:25::i;:::-;22164:57;;22232:9;22227:271;22247:20;:27;22243:1;:31;22227:271;;;22323:1;22297:20;22318:1;22297:23;;;;;;;;:::i;:::-;;;;;;;:27;22289:93;;;;-1:-1:-1::0;;;22289:93:67::1;;;;;;;:::i;:::-;22423:20;22444:1;22423:23;;;;;;;;:::i;:::-;;;;;;;22390:1;:23;;:30;22414:1;22418;22414:5;;;;:::i;:::-;22390:30:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;22390:30:67;:56;22276:3;::::1;::::0;::::1;:::i;:::-;;;;22227:271;;;;22536:20;22508:49;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;22158:404;22042:520:::0;;:::o;6337:208:5:-;6450:31;6463:4;6469:2;6473:7;6450:12;:31::i;:::-;6491:47;6514:4;6520:2;6524:7;6533:4;6491:22;:47::i;12586:973:67:-;12755:1;6357:30:2;6390:26;:24;:26::i;:::-;6431:15;;;;-1:-1:-1;;;;6431:15:2;;;;;:44;;-1:-1:-1;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;;:14;;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1;;;6498:23:2;;;;;;;;;;;6427:105;6541:24;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;;6575:22;-1:-1:-1;;;6575:22:2;;;12772::67;;6575:15:2;12772:27:67::1;12764:96;;;::::0;-1:-1:-1;;;12764:96:67;;38952:2:150;12764:96:67::1;::::0;::::1;38934:21:150::0;38991:2;38971:18;;;38964:30;-1:-1:-1;;;;;;;;;;;39010:18:150;;;39003:62;-1:-1:-1;;;39081:18:150;;;39074:54;39145:19;;12764:96:67::1;38750:420:150::0;12764:96:67::1;-1:-1:-1::0;;;;;12874:27:67;::::1;12866:94;;;;-1:-1:-1::0;;;12866:94:67::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12974:30:67;::::1;12966:100;;;::::0;-1:-1:-1;;;12966:100:67;;39377:2:150;12966:100:67::1;::::0;::::1;39359:21:150::0;39416:2;39396:18;;;39389:30;39455:34;39435:18;;;39428:62;-1:-1:-1;;;39506:18:150;;;39499:55;39571:19;;12966:100:67::1;39175:421:150::0;12966:100:67::1;13073:29;13105:25;:23;:25::i;:::-;13137:14;::::0;::::1;:45:::0;;-1:-1:-1;;;;;;13137:45:67::1;;-1:-1:-1::0;;;;;13137:45:67;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;13188:16:::1;::::0;::::1;:54:::0;;-1:-1:-1;;;;;;13188:54:67::1;::::0;;::::1;::::0;;;::::1;::::0;;13266:14:::1;::::0;::::1;::::0;13137;;-1:-1:-1;13266:19:67;:40:::1;;13292:1;:14;;;13266:40;;;13288:1;13266:40;13249:14;::::0;::::1;:57:::0;13318:7:::1;13313:192;13331:15;:22;13327:1;:26;;;13313:192;;;13398:1;13376:15;13392:1;13376:18;;;;;;;;;;:::i;:::-;;;;;;;:23;;13368:73;;;::::0;-1:-1:-1;;;13368:73:67;;39803:2:150;13368:73:67::1;::::0;::::1;39785:21:150::0;39842:2;39822:18;;;39815:30;-1:-1:-1;;;;;;;;;;;39861:18:150;;;39854:62;-1:-1:-1;;;39932:18:150;;;39925:35;39977:19;;13368:73:67::1;39601:401:150::0;13368:73:67::1;13480:15;13496:1;13480:18;;;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;13449:28:::1;::::0;::::1;;::::0;;;:25:::1;::::0;::::1;:28:::0;;;;;;;:49;13475:1;13355:3:::1;13475:1:::0;13355:3:::1;:::i;:::-;;;;13313:192;;;;13511:43;-1:-1:-1::0;;;;;;;;;;;13542:11:67::1;13511:10;:43::i;:::-;-1:-1:-1::0;;6618:23:2;;-1:-1:-1;;;;6618:23:2;;;6656:20;;-1:-1:-1;;;;;;;;;;;6656:20:2;;;6668:7;;6656:20;:::i;30244:312:67:-;30336:13;30390:1;30361:17;30370:7;30361:8;:17::i;:::-;-1:-1:-1;;;;;30361:31:67;;30357:46;;-1:-1:-1;;30394:9:67;;;;;;;;;-1:-1:-1;30394:9:67;;;30244:312::o;30357:46::-;30410:20;30433:16;30441:7;30433;:16::i;:::-;30410:39;;30477:1;30462:12;:16;:89;;;;;;;;;;;;;;;;;30495:9;:7;:9::i;:::-;30506:30;30523:12;30506:16;:30::i;:::-;30481:65;;;;;;;;;:::i;:::-;;;;;;;;;;;;;30455:96;30244:312;-1:-1:-1;;;30244:312:67:o;28754:175::-;28836:7;28852:13;28871:34;28894:7;28903:1;28871:22;:34::i;:::-;-1:-1:-1;28851:54:67;28754:175;-1:-1:-1;;;28754:175:67:o;27639:207::-;27711:7;27726:29;27758:25;:23;:25::i;:::-;-1:-1:-1;;;;;27796:36:67;;;;;;:29;;;:36;;;;;27726:57;;-1:-1:-1;27796:45:67;;:43;:45::i;:::-;-1:-1:-1;;;;;27789:52:67;;27639:207;-1:-1:-1;;;27639:207:67:o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;20941:418:67:-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;21066:27:67;::::1;21058:95;;;::::0;-1:-1:-1;;;21058:95:67;;41251:2:150;21058:95:67::1;::::0;::::1;41233:21:150::0;41290:2;41270:18;;;41263:30;41329:34;41309:18;;;41302:62;-1:-1:-1;;;41380:18:150;;;41373:53;41443:19;;21058:95:67::1;41049:419:150::0;21058:95:67::1;21159:29;21191:25;:23;:25::i;:::-;21278:14;::::0;::::1;::::0;21228:66:::1;::::0;21159:57;;-1:-1:-1;;;;;;21278:14:67;;::::1;::::0;21228:66;;::::1;::::0;::::1;::::0;21278:14:::1;::::0;21228:66:::1;21300:14;;:54:::0;;-1:-1:-1;;;;;;21300:54:67::1;-1:-1:-1::0;;;;;21300:54:67;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;20941:418:67:o;33905:188::-;33978:16;;:::i;:::-;34002:15;34020:25;34039:5;34020:18;:25::i;:::-;34002:43;;34058:30;34080:7;34058:21;:30::i;32301:161::-;32375:7;32397:25;:23;:25::i;:::-;:60;;;;;;;;:49;;;;;:60;;-1:-1:-1;32397:60:67;;;;;32301:161::o;5223:210:5:-;5311:4;5327:23;5353:19;:17;:19::i;:::-;-1:-1:-1;;;;;5389:27:5;;;;;;;:20;;;;;:27;;;;;;;;:37;;;;;;;;;;-1:-1:-1;;5389:37:5;;;;;5223:210::o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;7513:158:67:-;7634:27;;7513:158::o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;;3602:36;3626:11;3602:23;:36::i;1958:156:5:-;2077:21;;1958:156::o;17836:241::-;17899:7;17918:13;17934:17;17943:7;17934:8;:17::i;:::-;17918:33;-1:-1:-1;;;;;;17965:19:5;;17961:88;;18007:31;;-1:-1:-1;;;18007:31:5;;;;;2917:25:150;;;2890:18;;18007:31:5;2771:177:150;7347:184:5;7417:7;7436:23;7462:19;:17;:19::i;:::-;7498:26;;;;:17;;:26;;-1:-1:-1;;7498:26:5;;;;-1:-1:-1;;;;;7498:26:5;;7347:184::o;16002:120::-;16082:33;16091:2;16095:7;16104:4;16110;16082:8;:33::i;1581:186:7:-;1720:31;;1581:186::o;36515:1116:67:-;36723:7;2316:19:12;:17;:19::i;:::-;36748:26:67::1;36766:7;36748:17;:26::i;:::-;:31:::0;36740:106:::1;;;::::0;-1:-1:-1;;;36740:106:67;;41675:2:150;36740:106:67::1;::::0;::::1;41657:21:150::0;41714:2;41694:18;;;41687:30;41753:34;41733:18;;;41726:62;41824:32;41804:18;;;41797:60;41874:19;;36740:106:67::1;41473:426:150::0;36740:106:67::1;36853:22;36878:32;36892:2;36896:7;36905:4;36878:13;:32::i;:::-;36853:57:::0;-1:-1:-1;;;;;;36979:28:67;::::1;::::0;;::::1;::::0;:62:::1;;;37011:25;37021:14;37011:9;:25::i;:::-;:30:::0;36979:62:::1;36975:169;;;37051:86;37126:7;:5;:7::i;:::-;37135:1;37051:25;:23;:25::i;:::-;-1:-1:-1::0;;;;;37051:69:67;::::1;;::::0;;;:53:::1;::::0;;;::::1;:69;::::0;;;;;:86;:74:::1;:86::i;:::-;;;36975:169;-1:-1:-1::0;;;;;37246:28:67;::::1;::::0;;::::1;::::0;:77:::1;;;37316:7;37278:34;37297:14;37278:18;:34::i;:::-;:45;37246:77;:110;;;;;37355:1;37327:25;37337:14;37327:9;:25::i;:::-;:29;37246:110;37235:206;;;37371:63;37379:14;37395:38;37415:14;37431:1;37395:19;:38::i;:::-;37371:7;:63::i;:::-;-1:-1:-1::0;;;;;37505:16:67;::::1;::::0;;::::1;::::0;:38:::1;;;37525:13;37535:2;37525:9;:13::i;:::-;37542:1;37525:18;37505:38;37501:98;;;37553:39;37561:2;37565:26;37585:2;37589:1;37565:19;:26::i;37553:39::-;37612:14:::0;36515:1116;-1:-1:-1;;;;36515:1116:67:o;2787:177:0:-;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;9441:606:39;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;3674:178:12:-;2563:16;:14;:16::i;:::-;3732:25:::1;3760:21;:19;:21::i;:::-;3791:17:::0;;-1:-1:-1;;3791:17:12::1;::::0;;;-1:-1:-1;3823:22:12::1;966:10:11::0;3832:12:12::1;3823:22;;;;;;:::i;:::-;;;;;;;;3722:130;3674:178::o:0;876:314:6:-;1141:42;1157:1;1161:7;966:10:11;5914:7:5;:34::i;3326:384:13:-;3375:32;3410:28;:26;:28::i;:::-;3526:9;;3375:63;;-1:-1:-1;;;3526:20:13;3522:88;;3569:30;;-1:-1:-1;;;3569:30:13;;;;;;;;;;;3522:88;1847:1;3684:19;;3326:384::o;2905:128:12:-;2970:8;:6;:8::i;:::-;2966:61;;;3001:15;;-1:-1:-1;;;3001:15:12;;;;;;;;;;;2966:61;2905:128::o;3716:283:13:-;3764:32;3799:28;:26;:28::i;:::-;1805:1;3969:23;;-1:-1:-1;3716:283:13:o;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;13775:98:67;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;2917:25:150;;;2890:18;;6312:34:3;2771:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;19059:184:67;19112:29;19144:25;:23;:25::i;:::-;19194:14;;;:16;;19112:57;;-1:-1:-1;19176:15:67;;19194:16;19176:15;19194:16;;;:::i;:::-;;;;;19176:34;;19216:22;19226:2;19230:7;19216:9;:22::i;1147:162:12:-;1270:23;;1147:162::o;8737:170:2:-;8870:21;;8737:170::o;2233:149:5:-;6931:20:2;:18;:20::i;:::-;2336:39:5::1;2360:5;2367:7;2336:23;:39::i;2115:68:7:-:0;6931:20:2;:18;:20::i;1155:103:8:-;6931:20:2;:18;:20::i;:::-;1224:27:8::1;:25;:27::i;2540:111:13:-:0;6931:20:2;:18;:20::i;:::-;2610:34:13::1;:32;:34::i;7059:172:5:-:0;7125:7;7144:23;7170:19;:17;:19::i;:::-;7206:18;;;;:9;;:18;;-1:-1:-1;;7206:18:5;;;;-1:-1:-1;;;;;7206:18:5;;7059:172::o;38333:163:67:-;38385:13;38406:29;38438:25;:23;:25::i;:::-;38406:57;;38476:1;:15;;38469:22;;;;;:::i;25433:1751::-;25529:7;25538;25553:29;25585:25;:23;:25::i;:::-;25553:57;-1:-1:-1;25733:1:67;25825:11;;;;;:74;;;25883:16;25891:7;25883;:16::i;:::-;25840;;;;:39;;-1:-1:-1;;;25840:39:67;;;;;2917:25:150;;;-1:-1:-1;;;;;25840:59:67;;;;:16;;;;:31;;2890:18:150;;25840:39:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25840:59:67;;25825:74;25821:652;;;26019:15;26037:22;26052:6;26037:14;:22::i;:::-;26019:40;-1:-1:-1;26121:14:67;;;;26117:350;;26215:23;26241:29;26260:9;26241:18;:29::i;:::-;26215:55;;26415:1;:11;;;26396:15;:30;;:62;;26447:1;:11;;;26396:62;;;26429:15;26396:62;26388:70;;26137:330;26117:350;25901:572;25821:652;26575:23;26601:32;;;:23;;;:32;;;;;;;26789:9;:5;26797:1;26789:9;:::i;:::-;26777:21;;26772:319;26805:1;:11;;;26800:1;:16;26772:319;;26854:26;;;;:23;;;:26;;;;;;26835:45;;26831:254;;26930:26;;;;:23;;;:26;;;;;;26900:1;;-1:-1:-1;26900:1:67;;26911:45;;;;:::i;:::-;;;26831:254;;;27071:5;;26831:254;26818:3;;;;:::i;:::-;;;;26772:319;;;-1:-1:-1;27156:5:67;;;;-1:-1:-1;25433:1751:67;-1:-1:-1;;;;25433:1751:67:o;16425:352::-;16525:5;-1:-1:-1;;;;;16505:25:67;:16;16513:7;16505;:16::i;:::-;-1:-1:-1;;;;;16505:25:67;;16497:89;;;;-1:-1:-1;;;16497:89:67;;;;;;;:::i;:::-;16593:29;16625:25;:23;:25::i;:::-;16593:57;;16657:79;16699:7;:5;:7::i;:::-;16708:27;16727:7;16708:18;:27::i;:::-;-1:-1:-1;;;;;16657:36:67;;;;;;:29;;;:36;;;;;;:79;:41;:79::i;:::-;;;16757:5;-1:-1:-1;;;;;16748:24:67;;16764:7;16748:24;;;;2917:25:150;;2905:2;2890:18;;2771:177;16748:24:67;;;;;;;;16491:286;16425:352;;:::o;3366:176:12:-;2316:19;:17;:19::i;:::-;3425:25:::1;3453:21;:19;:21::i;:::-;3484:16:::0;;-1:-1:-1;;3484:16:12::1;3496:4;3484:16;::::0;;3425:49;-1:-1:-1;3515:20:12::1;3522:12;966:10:11::0;;887:96;637:698:34;693:13;742:14;759:17;770:5;759:10;:17::i;:::-;779:1;759:21;742:38;;794:20;828:6;-1:-1:-1;;;;;817:18:34;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:18:34;-1:-1:-1;794:41:34;-1:-1:-1;955:28:34;;;971:2;955:28;1010:282;-1:-1:-1;;1041:5:34;-1:-1:-1;;;1175:2:34;1164:14;;1159:32;1041:5;1146:46;1236:2;1227:11;;;-1:-1:-1;1256:21:34;1010:282;1256:21;-1:-1:-1;1312:6:34;637:698;-1:-1:-1;;;637:698:34:o;931:109:42:-;977:6;1002:31;1020:12;1002:17;:31::i;17232:369:5:-;17335:23;17361:19;:17;:19::i;:::-;17335:45;-1:-1:-1;;;;;;17394:22:5;;17390:91;;17461:8;17439:31;;-1:-1:-1;;;17439:31:5;;;;;;;;:::i;17390:91::-;-1:-1:-1;;;;;17490:27:5;;;;;;;:20;;;:27;;;;;;;;:37;;;;;;;;;;;;;:48;;-1:-1:-1;;17490:48:5;;;;;;;;;;17553:41;;975::150;;;17553::5;;948:18:150;17553:41:5;;;;;;;17325:276;17232:369;;;:::o;18616:782::-;-1:-1:-1;;;;;18732:14:5;;;:18;18728:664;;18770:71;;-1:-1:-1;;;18770:71:5;;-1:-1:-1;;;;;18770:36:5;;;;;:71;;966:10:11;;18821:4:5;;18827:7;;18836:4;;18770:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18770:71:5;;;;;;;;-1:-1:-1;;18770:71:5;;;;;;;;;;;;:::i;:::-;;;18766:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19079:6;:13;19096:1;19079:18;19075:293;;19150:2;19128:25;;-1:-1:-1;;;19128:25:5;;;;;;;;:::i;19075:293::-;19320:6;19314:13;19305:6;19301:2;19297:15;19290:38;18766:616;-1:-1:-1;;;;;;18888:51:5;;-1:-1:-1;;;18888:51:5;18884:130;;18992:2;18970:25;;-1:-1:-1;;;18970:25:5;;;;;;;;:::i;18884:130::-;18842:186;18616:782;;;;:::o;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;10318:41::-;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;4381:197:0;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;2333:233:7:-;2446:4;-1:-1:-1;;;;;;2469:50:7;;-1:-1:-1;;;2469:50:7;;:90;;;2523:36;2547:11;2523:23;:36::i;16304:719:5:-;16408:23;16434:19;:17;:19::i;:::-;16408:45;;16519:9;:31;;;-1:-1:-1;;;;;;16532:18:5;;;;16519:31;16515:460;;;16566:13;16582:22;16596:7;16582:13;:22::i;:::-;16566:38;-1:-1:-1;;;;;;16732:18:5;;;;;;:35;;;16763:4;-1:-1:-1;;;;;16754:13:5;:5;-1:-1:-1;;;;;16754:13:5;;;16732:35;:69;;;;;16772:29;16789:5;16796:4;16772:16;:29::i;:::-;16771:30;16732:69;16728:142;;;16850:4;16828:27;;-1:-1:-1;;;16828:27:5;;;;;;;;:::i;16728:142::-;16888:9;16884:81;;;16942:7;16938:2;-1:-1:-1;;;;;16922:28:5;16931:5;-1:-1:-1;;;;;16922:28:5;;;;;;;;;;;16884:81;16552:423;16515:460;16985:26;;;;:17;;:26;;-1:-1:-1;;16985:26:5;;;:31;;-1:-1:-1;;;;;;16985:31:5;-1:-1:-1;;;;;16985:31:5;;;;;;;;;;16304:719::o;1472:204:8:-;1611:7;2316:19:12;:17;:19::i;:::-;1637:32:8::1;1651:2;1655:7;1664:4;1637:13;:32::i;8050:162:39:-:0;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;3105:126:12;3168:8;:6;:8::i;:::-;3163:62;;3199:15;;-1:-1:-1;;;3199:15:12;;;;;;;;;;;2251:183:13;2388:30;;2251:183::o;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;12217:100:5:-;12284:26;12294:2;12298:7;12284:26;;;;;;;;;;;;:9;:26::i;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;2388:219:5;6931:20:2;:18;:20::i;:::-;2501:23:5::1;2527:19;:17;:19::i;:::-;2501:45:::0;-1:-1:-1;2501:45:5;2556:15:::1;2566:5:::0;2501:45;2556:15:::1;:::i;:::-;-1:-1:-1::0;2581:9:5::1;::::0;::::1;:19;2593:7:::0;2581:9;:19:::1;:::i;1939:156:12:-:0;6931:20:2;:18;:20::i;:::-;2012:25:12::1;2040:21;:19;:21::i;:::-;2071:17:::0;;-1:-1:-1;;2071:17:12::1;::::0;;-1:-1:-1;1939:156:12:o;2657:183:13:-;6931:20:2;:18;:20::i;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;43434:36:150;43486:18;;;43479:34;;;43407:18;;4297:42:37;43252:267:150;4245:105:37;-1:-1:-1;4374:5:37;4169:218::o;12214:916:36:-;12267:7;;-1:-1:-1;;;12342:17:36;;12338:103;;-1:-1:-1;;;12379:17:36;;;-1:-1:-1;12424:2:36;12414:12;12338:103;-1:-1:-1;;;12458:5:36;:17;12454:103;;-1:-1:-1;;;12495:17:36;;;-1:-1:-1;12540:2:36;12530:12;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;-1:-1:-1;12656:2:36;12646:12;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;-1:-1:-1;12770:1:36;12760:11;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;-1:-1:-1;12883:1:36;12873:11;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;-1:-1:-1;12996:1:36;12986:11;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;13117:6;12214:916;-1:-1:-1;;12214:916:36:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;43434:36:150;43486:18;;;43479:34;;;43407:18;;14416:41:37;43252:267:150;2674:311:5;2787:4;-1:-1:-1;;;;;;2822:40:5;;-1:-1:-1;;;2822:40:5;;:104;;-1:-1:-1;;;;;;;2878:48:5;;-1:-1:-1;;;2878:48:5;2822:104;:156;;;-1:-1:-1;;;;;;;;;;1133:40:14;;;2942:36:5;1034:146:14;3658:625:7;3753:7;3772:21;3796:32;3810:2;3814:7;3823:4;3796:13;:32::i;:::-;3772:56;-1:-1:-1;;;;;;3843:27:7;;3839:210;;3886:40;3918:7;3886:31;:40::i;:::-;3839:210;;;3964:2;-1:-1:-1;;;;;3947:19:7;:13;-1:-1:-1;;;;;3947:19:7;;3943:106;;3982:56;4015:13;4030:7;3982:32;:56::i;:::-;-1:-1:-1;;;;;4062:16:7;;4058:188;;4094:45;4131:7;4094:36;:45::i;:::-;4058:188;;;4177:2;-1:-1:-1;;;;;4160:19:7;:13;-1:-1:-1;;;;;4160:19:7;;4156:90;;4195:40;4223:2;4227:7;4195:27;:40::i;11513:870:39:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;12538:182:5;12632:18;12638:2;12642:7;12632:5;:18::i;:::-;12660:53;12691:1;12695:2;12699:7;12708:4;12660:22;:53::i;8487:120:2:-;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;10361:856:5:-;10447:7;10466:23;10492:19;:17;:19::i;:::-;10466:45;;10521:12;10536:17;10545:7;10536:8;:17::i;:::-;10521:32;-1:-1:-1;;;;;;10613:18:5;;;10609:86;;10647:37;10664:4;10670;10676:7;10647:16;:37::i;:::-;-1:-1:-1;;;;;10739:18:5;;;10735:258;;10855:48;10872:1;10876:7;10893:1;10897:5;10855:8;:48::i;:::-;-1:-1:-1;;;;;10946:17:5;;;;;;:11;;;:17;;;;;:22;;-1:-1:-1;;10946:22:5;;;10735:258;-1:-1:-1;;;;;11007:16:5;;;11003:109;;-1:-1:-1;;;;;11067:15:5;;;;;;:11;;;:15;;;;;:20;;11086:1;11067:20;;;11003:109;11122:18;;;;:9;;;:18;;;;;;:23;;-1:-1:-1;;;;;;11122:23:5;-1:-1:-1;;;;;11122:23:5;;;;;;;;;11161:27;;11122:18;;11161:27;;;;;;;11206:4;10361:856;-1:-1:-1;;;;;10361:856:5:o;5065:242:7:-;5141:33;5177:29;:27;:29::i;:::-;5245:12;;;:19;;5216:26;;;;:17;;;;:26;;;;;;;:48;;;5274:26;;;;;;;;;;;;;;;-1:-1:-1;5065:242:7:o;5924:1046::-;6015:33;6051:29;:27;:29::i;:::-;6015:65;;6261:22;6286:15;6296:4;6286:9;:15::i;:::-;6311:18;6332:28;;;:19;;;:28;;;;;;6261:40;;-1:-1:-1;6464:28:7;;;6460:329;;-1:-1:-1;;;;;6530:20:7;;6508:19;6530:20;;;;;;;;;;;:36;;;;;;;;;6581:32;;;;;;:46;;;6699:32;;:19;;;:32;;;;;:45;;;6460:329;-1:-1:-1;6882:28:7;;;;:19;;;:28;;;;;;;;6875:35;;;-1:-1:-1;;;;;6927:20:7;;;;;;;;;;;:36;;;;;;;;6920:43;5924:1046::o;7258:1150::-;7339:33;7375:29;:27;:29::i;:::-;7607:12;;;:19;7339:65;;-1:-1:-1;7582:22:7;;7607:23;;7629:1;;7607:23;:::i;:::-;7640:18;7661:26;;;:17;;;:26;;;;;;8031:12;;;:28;;7582:48;;-1:-1:-1;7661:26:7;;7582:48;;8031:28;;;;;;:::i;:::-;;;;;;;;;8009:50;;8097:11;8070:1;:12;;8083:10;8070:24;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;8176:30;;;:17;;;:30;;;;;;;:43;;;8347:26;;;;;8340:33;8383:12;;;:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7329:1079;;;;7258:1150;:::o;4577:293::-;4661:33;4697:29;:27;:29::i;:::-;4661:65;;4736:14;4769:1;4753:13;4763:2;4753:9;:13::i;:::-;:17;;;;:::i;:::-;-1:-1:-1;;;;;4780:18:7;;;:14;:18;;;;;;;;;;;:26;;;;;;;;:36;;;4826:28;;;:19;;;;:28;;;-1:-1:-1;4826:28:7;:37;4577:293::o;4625:582:32:-;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;5173:17;;11539:327:5;-1:-1:-1;;;;;11606:16:5;;11602:87;;11675:1;11645:33;;-1:-1:-1;;;11645:33:5;;;;;;;;:::i;11602:87::-;11698:21;11722:32;11730:2;11734:7;11751:1;11722:7;:32::i;:::-;11698:56;-1:-1:-1;;;;;;11768:27:5;;;11764:96;;11846:1;11818:31;;-1:-1:-1;;;11818:31:5;;;;;;;;:::i;8548:368::-;8660:38;8674:5;8681:7;8690;8660:13;:38::i;:::-;8655:255;;-1:-1:-1;;;;;8718:19:5;;8714:186;;8764:31;;-1:-1:-1;;;8764:31:5;;;;;2917:25:150;;;2890:18;;8764:31:5;2771:177:150;8714:186:5;8868:7;8877;8841:44;;-1:-1:-1;;;8841:44:5;;;;;;;;;:::i;5743:516:32:-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;7842:272:5;7945:4;-1:-1:-1;;;;;7980:21:5;;;;;;:127;;;8027:7;-1:-1:-1;;;;;8018:16:5;:5;-1:-1:-1;;;;;8018:16:5;;:52;;;;8038:32;8055:5;8062:7;8038:16;:32::i;:::-;8018:88;;;;8099:7;-1:-1:-1;;;;;8074:32:5;:21;8087:7;8074:12;:21::i;:::-;-1:-1:-1;;;;;8074:32:5;;;7842:272;-1:-1:-1;;;;7842:272:5:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:114:150:-;98:4;91:5;87:16;80:5;77:27;67:55;;118:1;115;108:12;133:311;199:6;207;260:2;248:9;239:7;235:23;231:32;228:52;;;276:1;273;266:12;228:52;315:9;302:23;334:29;357:5;334:29;:::i;:::-;382:5;434:2;419:18;;;;406:32;;-1:-1:-1;;;133:311:150:o;449:131::-;-1:-1:-1;;;;;;523:32:150;;513:43;;503:71;;570:1;567;560:12;585:245;643:6;696:2;684:9;675:7;671:23;667:32;664:52;;;712:1;709;702:12;664:52;751:9;738:23;770:30;794:5;770:30;:::i;1027:250::-;1112:1;1122:113;1136:6;1133:1;1130:13;1122:113;;;1212:11;;;1206:18;1193:11;;;1186:39;1158:2;1151:10;1122:113;;;-1:-1:-1;;1269:1:150;1251:16;;1244:27;1027:250::o;1282:271::-;1324:3;1362:5;1356:12;1389:6;1384:3;1377:19;1405:76;1474:6;1467:4;1462:3;1458:14;1451:4;1444:5;1440:16;1405:76;:::i;:::-;1535:2;1514:15;-1:-1:-1;;1510:29:150;1501:39;;;;1542:4;1497:50;;1282:271;-1:-1:-1;;1282:271:150:o;1558:220::-;1707:2;1696:9;1689:21;1670:4;1727:45;1768:2;1757:9;1753:18;1745:6;1727:45;:::i;1783:180::-;1842:6;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;-1:-1:-1;1934:23:150;;1783:180;-1:-1:-1;1783:180:150:o;1968:203::-;-1:-1:-1;;;;;2132:32:150;;;;2114:51;;2102:2;2087:18;;1968:203::o;2176:131::-;-1:-1:-1;;;;;2251:31:150;;2241:42;;2231:70;;2297:1;2294;2287:12;2312:134;2380:20;;2409:31;2380:20;2409:31;:::i;:::-;2312:134;;;:::o;2451:315::-;2519:6;2527;2580:2;2568:9;2559:7;2555:23;2551:32;2548:52;;;2596:1;2593;2586:12;2548:52;2635:9;2622:23;2654:31;2679:5;2654:31;:::i;2953:456::-;3030:6;3038;3046;3099:2;3087:9;3078:7;3074:23;3070:32;3067:52;;;3115:1;3112;3105:12;3067:52;3154:9;3141:23;3173:31;3198:5;3173:31;:::i;:::-;3223:5;-1:-1:-1;3280:2:150;3265:18;;3252:32;3293:33;3252:32;3293:33;:::i;:::-;2953:456;;3345:7;;-1:-1:-1;;;3399:2:150;3384:18;;;;3371:32;;2953:456::o;3781:315::-;3849:6;3857;3910:2;3898:9;3889:7;3885:23;3881:32;3878:52;;;3926:1;3923;3916:12;3878:52;3962:9;3949:23;3939:33;;4022:2;4011:9;4007:18;3994:32;4035:31;4060:5;4035:31;:::i;:::-;4085:5;4075:15;;;3781:315;;;;;:::o;4101:247::-;4160:6;4213:2;4201:9;4192:7;4188:23;4184:32;4181:52;;;4229:1;4226;4219:12;4181:52;4268:9;4255:23;4287:31;4312:5;4287:31;:::i;4353:423::-;4420:6;4428;4481:2;4469:9;4460:7;4456:23;4452:32;4449:52;;;4497:1;4494;4487:12;4449:52;4536:9;4523:23;4555:31;4580:5;4555:31;:::i;:::-;4605:5;-1:-1:-1;4662:2:150;4647:18;;4634:32;4710:14;4697:28;;4685:41;;4675:69;;4740:1;4737;4730:12;4970:248;5038:6;5046;5099:2;5087:9;5078:7;5074:23;5070:32;5067:52;;;5115:1;5112;5105:12;5067:52;-1:-1:-1;;5138:23:150;;;5208:2;5193:18;;;5180:32;;-1:-1:-1;4970:248:150:o;5223:127::-;5284:10;5279:3;5275:20;5272:1;5265:31;5315:4;5312:1;5305:15;5339:4;5336:1;5329:15;5355:255;5427:2;5421:9;5469:6;5457:19;;-1:-1:-1;;;;;5491:34:150;;5527:22;;;5488:62;5485:88;;;5553:18;;:::i;:::-;5589:2;5582:22;5355:255;:::o;5615:275::-;5686:2;5680:9;5751:2;5732:13;;-1:-1:-1;;5728:27:150;5716:40;;-1:-1:-1;;;;;5771:34:150;;5807:22;;;5768:62;5765:88;;;5833:18;;:::i;:::-;5869:2;5862:22;5615:275;;-1:-1:-1;5615:275:150:o;5895:530::-;5937:5;5990:3;5983:4;5975:6;5971:17;5967:27;5957:55;;6008:1;6005;5998:12;5957:55;6031:20;;-1:-1:-1;;;;;6063:26:150;;6060:52;;;6092:18;;:::i;:::-;6136:55;6179:2;6160:13;;-1:-1:-1;;6156:27:150;6185:4;6152:38;6136:55;:::i;:::-;6216:2;6207:7;6200:19;6262:3;6255:4;6250:2;6242:6;6238:15;6234:26;6231:35;6228:55;;;6279:1;6276;6269:12;6228:55;6344:2;6337:4;6329:6;6325:17;6318:4;6309:7;6305:18;6292:55;6392:1;6367:16;;;6385:4;6363:27;6356:38;;;;6371:7;5895:530;-1:-1:-1;;;5895:530:150:o;6430:455::-;6507:6;6515;6568:2;6556:9;6547:7;6543:23;6539:32;6536:52;;;6584:1;6581;6574:12;6536:52;6623:9;6610:23;6642:31;6667:5;6642:31;:::i;:::-;6692:5;-1:-1:-1;6748:2:150;6733:18;;6720:32;-1:-1:-1;;;;;6764:30:150;;6761:50;;;6807:1;6804;6797:12;6761:50;6830:49;6871:7;6862:6;6851:9;6847:22;6830:49;:::i;:::-;6820:59;;;6430:455;;;;;:::o;6890:321::-;6959:6;7012:2;7000:9;6991:7;6987:23;6983:32;6980:52;;;7028:1;7025;7018:12;6980:52;7055:23;;-1:-1:-1;;;;;7090:30:150;;7087:50;;;7133:1;7130;7123:12;7087:50;7156:49;7197:7;7188:6;7177:9;7173:22;7156:49;:::i;7439:118::-;7525:5;7518:13;7511:21;7504:5;7501:32;7491:60;;7547:1;7544;7537:12;7562:241;7618:6;7671:2;7659:9;7650:7;7646:23;7642:32;7639:52;;;7687:1;7684;7677:12;7639:52;7726:9;7713:23;7745:28;7767:5;7745:28;:::i;8052:712::-;8106:5;8159:3;8152:4;8144:6;8140:17;8136:27;8126:55;;8177:1;8174;8167:12;8126:55;8200:20;;8239:4;-1:-1:-1;;;;;8255:26:150;;8252:52;;;8284:18;;:::i;:::-;8330:2;8327:1;8323:10;8353:28;8377:2;8373;8369:11;8353:28;:::i;:::-;8415:15;;;8485;;;8481:24;;;8446:12;;;;8517:15;;;8514:35;;;8545:1;8542;8535:12;8514:35;8581:2;8573:6;8569:15;8558:26;;8593:142;8609:6;8604:3;8601:15;8593:142;;;8675:17;;8663:30;;8626:12;;;;8713;;;;8593:142;;8769:1752;8865:6;8918:2;8906:9;8897:7;8893:23;8889:32;8886:52;;;8934:1;8931;8924:12;8886:52;8961:23;;-1:-1:-1;;;;;9033:14:150;;;9030:34;;;9060:1;9057;9050:12;9030:34;9083:22;;;;9139:6;9121:16;;;9117:29;9114:49;;;9159:1;9156;9149:12;9114:49;9185:22;;:::i;:::-;9245:2;9232:16;9273:2;9263:8;9260:16;9257:36;;;9289:1;9286;9279:12;9257:36;9316:44;9352:7;9341:8;9337:2;9333:17;9316:44;:::i;:::-;9309:5;9302:59;;9407:2;9403;9399:11;9386:25;9436:2;9426:8;9423:16;9420:36;;;9452:1;9449;9442:12;9420:36;9488:44;9524:7;9513:8;9509:2;9505:17;9488:44;:::i;:::-;9483:2;9476:5;9472:14;9465:68;;9565:31;9592:2;9588;9584:11;9565:31;:::i;:::-;9560:2;9553:5;9549:14;9542:55;9629:31;9656:2;9652;9648:11;9629:31;:::i;:::-;9624:2;9617:5;9613:14;9606:55;9694:32;9721:3;9717:2;9713:12;9694:32;:::i;:::-;9688:3;9681:5;9677:15;9670:57;9760:32;9787:3;9783:2;9779:12;9760:32;:::i;:::-;9754:3;9747:5;9743:15;9736:57;9826:32;9853:3;9849:2;9845:12;9826:32;:::i;:::-;9820:3;9813:5;9809:15;9802:57;9913:3;9909:2;9905:12;9892:26;9886:3;9879:5;9875:15;9868:51;9938:3;9987:2;9983;9979:11;9966:25;10016:2;10006:8;10003:16;10000:36;;;10032:1;10029;10022:12;10000:36;10068:44;10104:7;10093:8;10089:2;10085:17;10068:44;:::i;:::-;10063:2;10056:5;10052:14;10045:68;;;10132:3;10181:2;10177;10173:11;10160:25;10210:2;10200:8;10197:16;10194:36;;;10226:1;10223;10216:12;10194:36;10262:56;10310:7;10299:8;10295:2;10291:17;10262:56;:::i;:::-;10257:2;10250:5;10246:14;10239:80;;;10338:3;10328:13;;10373:31;10400:2;10396;10392:11;10373:31;:::i;:::-;10368:2;10361:5;10357:14;10350:55;10424:3;10414:13;;10459:31;10486:2;10482;10478:11;10459:31;:::i;:::-;10443:14;;;10436:55;;;;10447:5;8769:1752;-1:-1:-1;;;;8769:1752:150:o;10526:390::-;10614:5;10608:12;10603:3;10596:25;10578:3;10667:4;10660:5;10656:16;10650:23;10705:4;10698;10693:3;10689:14;10682:28;10731:47;10772:4;10767:3;10763:14;10749:12;10731:47;:::i;:::-;10719:59;;10827:4;10820:5;10816:16;10810:23;10803:4;10798:3;10794:14;10787:47;10883:4;10876:5;10872:16;10866:23;10859:4;10854:3;10850:14;10843:47;10906:4;10899:11;;;10526:390;;;;:::o;10921:266::-;11106:2;11095:9;11088:21;11069:4;11126:55;11177:2;11166:9;11162:18;11154:6;11126:55;:::i;11423:383::-;11500:6;11508;11516;11569:2;11557:9;11548:7;11544:23;11540:32;11537:52;;;11585:1;11582;11575:12;11537:52;11624:9;11611:23;11643:31;11668:5;11643:31;:::i;:::-;11693:5;11745:2;11730:18;;11717:32;;-1:-1:-1;11796:2:150;11781:18;;;11768:32;;11423:383;-1:-1:-1;;;11423:383:150:o;11811:849::-;12009:4;12038:2;12078;12067:9;12063:18;12108:2;12097:9;12090:21;12131:6;12166;12160:13;12197:6;12189;12182:22;12235:2;12224:9;12220:18;12213:25;;12297:2;12287:6;12284:1;12280:14;12269:9;12265:30;12261:39;12247:53;;12335:2;12327:6;12323:15;12356:1;12366:265;12380:6;12377:1;12374:13;12366:265;;;12473:2;12469:7;12457:9;12449:6;12445:22;12441:36;12436:3;12429:49;12501:50;12544:6;12535;12529:13;12501:50;:::i;:::-;12491:60;-1:-1:-1;12609:12:150;;;;12574:15;;;;12402:1;12395:9;12366:265;;;-1:-1:-1;12648:6:150;;11811:849;-1:-1:-1;;;;;;;11811:849:150:o;12866:382::-;12931:6;12939;12992:2;12980:9;12971:7;12967:23;12963:32;12960:52;;;13008:1;13005;12998:12;12960:52;13047:9;13034:23;13066:31;13091:5;13066:31;:::i;:::-;13116:5;-1:-1:-1;13173:2:150;13158:18;;13145:32;13186:30;13145:32;13186:30;:::i;13253:348::-;13337:6;13390:2;13378:9;13369:7;13365:23;13361:32;13358:52;;;13406:1;13403;13396:12;13358:52;13433:23;;-1:-1:-1;;;;;13468:30:150;;13465:50;;;13511:1;13508;13501:12;13465:50;13534:61;13587:7;13578:6;13567:9;13563:22;13534:61;:::i;13606:665::-;13701:6;13709;13717;13725;13778:3;13766:9;13757:7;13753:23;13749:33;13746:53;;;13795:1;13792;13785:12;13746:53;13834:9;13821:23;13853:31;13878:5;13853:31;:::i;:::-;13903:5;-1:-1:-1;13960:2:150;13945:18;;13932:32;13973:33;13932:32;13973:33;:::i;:::-;14025:7;-1:-1:-1;14079:2:150;14064:18;;14051:32;;-1:-1:-1;14134:2:150;14119:18;;14106:32;-1:-1:-1;;;;;14150:30:150;;14147:50;;;14193:1;14190;14183:12;14147:50;14216:49;14257:7;14248:6;14237:9;14233:22;14216:49;:::i;:::-;14206:59;;;13606:665;;;;;;;:::o;14276:766::-;14387:6;14395;14403;14411;14464:3;14452:9;14443:7;14439:23;14435:33;14432:53;;;14481:1;14478;14471:12;14432:53;14520:9;14507:23;14539:31;14564:5;14539:31;:::i;:::-;14589:5;-1:-1:-1;14646:2:150;14631:18;;14618:32;14659:33;14618:32;14659:33;:::i;:::-;14711:7;-1:-1:-1;14770:2:150;14755:18;;14742:32;14783:33;14742:32;14783:33;:::i;:::-;14835:7;-1:-1:-1;14893:2:150;14878:18;;14865:32;-1:-1:-1;;;;;14909:30:150;;14906:50;;;14952:1;14949;14942:12;14906:50;14975:61;15028:7;15019:6;15008:9;15004:22;14975:61;:::i;15047:243::-;15104:6;15157:2;15145:9;15136:7;15132:23;15128:32;15125:52;;;15173:1;15170;15163:12;15125:52;15212:9;15199:23;15231:29;15254:5;15231:29;:::i;15295:388::-;15363:6;15371;15424:2;15412:9;15403:7;15399:23;15395:32;15392:52;;;15440:1;15437;15430:12;15392:52;15479:9;15466:23;15498:31;15523:5;15498:31;:::i;:::-;15548:5;-1:-1:-1;15605:2:150;15590:18;;15577:32;15618:33;15577:32;15618:33;:::i;16833:380::-;16912:1;16908:12;;;;16955;;;16976:61;;17030:4;17022:6;17018:17;17008:27;;16976:61;17083:2;17075:6;17072:14;17052:18;17049:38;17046:161;;17129:10;17124:3;17120:20;17117:1;17110:31;17164:4;17161:1;17154:15;17192:4;17189:1;17182:15;17046:161;;16833:380;;;:::o;17598:274::-;-1:-1:-1;;;;;17790:32:150;;;;17772:51;;17854:2;17839:18;;17832:34;17760:2;17745:18;;17598:274::o;18828:127::-;18889:10;18884:3;18880:20;18877:1;18870:31;18920:4;18917:1;18910:15;18944:4;18941:1;18934:15;18960:135;18999:3;19020:17;;;19017:43;;19040:18;;:::i;:::-;-1:-1:-1;19087:1:150;19076:13;;18960:135::o;19785:175::-;19863:13;;-1:-1:-1;;;;;19905:30:150;;19895:41;;19885:69;;19950:1;19947;19940:12;19965:890;20078:6;20086;20094;20102;20110;20118;20126;20179:3;20167:9;20158:7;20154:23;20150:33;20147:53;;;20196:1;20193;20186:12;20147:53;20228:9;20222:16;20247:31;20272:5;20247:31;:::i;:::-;20347:2;20332:18;;20326:25;20297:5;;-1:-1:-1;20360:31:150;20326:25;20360:31;:::i;:::-;20462:2;20447:18;;20441:25;20410:7;;-1:-1:-1;20475:30:150;20441:25;20475:30;:::i;:::-;20576:2;20561:18;;20555:25;20524:7;;-1:-1:-1;20589:30:150;20555:25;20589:30;:::i;:::-;20638:7;-1:-1:-1;20664:49:150;20708:3;20693:19;;20664:49;:::i;:::-;20654:59;;20732:49;20776:3;20765:9;20761:19;20732:49;:::i;:::-;20722:59;;20800:49;20844:3;20833:9;20829:19;20800:49;:::i;:::-;20790:59;;19965:890;;;;;;;;;;:::o;20860:415::-;21062:2;21044:21;;;21101:2;21081:18;;;21074:30;21140:34;21135:2;21120:18;;21113:62;-1:-1:-1;;;21206:2:150;21191:18;;21184:49;21265:3;21250:19;;20860:415::o;22113:184::-;22183:6;22236:2;22224:9;22215:7;22211:23;22207:32;22204:52;;;22252:1;22249;22242:12;22204:52;-1:-1:-1;22275:16:150;;22113:184;-1:-1:-1;22113:184:150:o;23443:125::-;23508:9;;;23529:10;;;23526:36;;;23542:18;;:::i;23953:245::-;24020:6;24073:2;24061:9;24052:7;24048:23;24044:32;24041:52;;;24089:1;24086;24079:12;24041:52;24121:9;24115:16;24140:28;24162:5;24140:28;:::i;24561:251::-;24631:6;24684:2;24672:9;24663:7;24659:23;24655:32;24652:52;;;24700:1;24697;24690:12;24652:52;24732:9;24726:16;24751:31;24776:5;24751:31;:::i;26138:127::-;26199:10;26194:3;26190:20;26187:1;26180:31;26230:4;26227:1;26220:15;26254:4;26251:1;26244:15;26270:399;26472:2;26454:21;;;26511:2;26491:18;;;26484:30;26550:34;26545:2;26530:18;;26523:62;-1:-1:-1;;;26616:2:150;26601:18;;26594:33;26659:3;26644:19;;26270:399::o;26800:842::-;26928:3;26957:1;26990:6;26984:13;27020:36;27046:9;27020:36;:::i;:::-;27075:1;27092:18;;;27119:133;;;;27266:1;27261:356;;;;27085:532;;27119:133;-1:-1:-1;;27152:24:150;;27140:37;;27225:14;;27218:22;27206:35;;27197:45;;;-1:-1:-1;27119:133:150;;27261:356;27292:6;27289:1;27282:17;27322:4;27367:2;27364:1;27354:16;27392:1;27406:165;27420:6;27417:1;27414:13;27406:165;;;27498:14;;27485:11;;;27478:35;27541:16;;;;27435:10;;27406:165;;;27410:3;;;27600:6;27595:3;27591:16;27584:23;;27085:532;-1:-1:-1;27633:3:150;;26800:842;-1:-1:-1;;;;;;26800:842:150:o;27647:289::-;27778:3;27816:6;27810:13;27832:66;27891:6;27886:3;27879:4;27871:6;27867:17;27832:66;:::i;:::-;27914:16;;;;;27647:289;-1:-1:-1;;27647:289:150:o;27941:545::-;28043:2;28038:3;28035:11;28032:448;;;28079:1;28104:5;28100:2;28093:17;28149:4;28145:2;28135:19;28219:2;28207:10;28203:19;28200:1;28196:27;28190:4;28186:38;28255:4;28243:10;28240:20;28237:47;;;-1:-1:-1;28278:4:150;28237:47;28333:2;28328:3;28324:12;28321:1;28317:20;28311:4;28307:31;28297:41;;28388:82;28406:2;28399:5;28396:13;28388:82;;;28451:17;;;28432:1;28421:13;28388:82;;28662:1352;28782:10;;-1:-1:-1;;;;;28804:30:150;;28801:56;;;28837:18;;:::i;:::-;28866:97;28956:6;28916:38;28948:4;28942:11;28916:38;:::i;:::-;28910:4;28866:97;:::i;:::-;29018:4;;29082:2;29071:14;;29099:1;29094:663;;;;29801:1;29818:6;29815:89;;;-1:-1:-1;29870:19:150;;;29864:26;29815:89;-1:-1:-1;;28619:1:150;28615:11;;;28611:24;28607:29;28597:40;28643:1;28639:11;;;28594:57;29917:81;;29064:944;;29094:663;26747:1;26740:14;;;26784:4;26771:18;;-1:-1:-1;;29130:20:150;;;29248:236;29262:7;29259:1;29256:14;29248:236;;;29351:19;;;29345:26;29330:42;;29443:27;;;;29411:1;29399:14;;;;29278:19;;29248:236;;;29252:3;29512:6;29503:7;29500:19;29497:201;;;29573:19;;;29567:26;-1:-1:-1;;29656:1:150;29652:14;;;29668:3;29648:24;29644:37;29640:42;29625:58;29610:74;;29497:201;-1:-1:-1;;;;;29744:1:150;29728:14;;;29724:22;29711:36;;-1:-1:-1;28662:1352:150:o;32122:128::-;32189:9;;;32210:11;;;32207:37;;;32224:18;;:::i;32730:417::-;32932:2;32914:21;;;32971:2;32951:18;;;32944:30;-1:-1:-1;;;;;;;;;;;33005:2:150;32990:18;;32983:62;-1:-1:-1;;;33076:2:150;33061:18;;33054:51;33137:3;33122:19;;32730:417::o;33576:209::-;-1:-1:-1;;;;;33747:31:150;;;;33729:50;;33717:2;33702:18;;33576:209::o;33790:418::-;33992:2;33974:21;;;34031:2;34011:18;;;34004:30;34070:34;34065:2;34050:18;;34043:62;-1:-1:-1;;;34136:2:150;34121:18;;34114:52;34198:3;34183:19;;33790:418::o;35025:514::-;-1:-1:-1;;;;;;;;;;;35282:3:150;35275:47;-1:-1:-1;;;35347:2:150;35342:3;35338:12;35331:43;35257:3;35403:6;35397:13;35419:73;35485:6;35480:2;35475:3;35471:12;35466:2;35458:6;35454:15;35419:73;:::i;:::-;35512:16;;;;35530:2;35508:25;;35025:514;-1:-1:-1;;35025:514:150:o;35544:168::-;35617:9;;;35648;;35665:15;;;35659:22;;35645:37;35635:71;;35686:18;;:::i;38202:543::-;38420:13;;38363:3;;38394;;38473:4;38500:15;;;38363:3;38543:175;38557:6;38554:1;38551:13;38543:175;;;38620:13;;38606:28;;38656:14;;;;38693:15;;;;38579:1;38572:9;38543:175;;40007;40044:3;40088:4;40081:5;40077:16;40117:4;40108:7;40105:17;40102:43;;40125:18;;:::i;:::-;40174:1;40161:15;;40007:175;-1:-1:-1;;40007:175:150:o;40392:652::-;40661:3;40699:6;40693:13;40715:66;40774:6;40769:3;40762:4;40754:6;40750:17;40715:66;:::i;:::-;40844:13;;40803:16;;;;40866:70;40844:13;40803:16;40913:4;40901:17;;40866:70;:::i;:::-;-1:-1:-1;;;40958:20:150;;40987:22;;;41036:1;41025:13;;40392:652;-1:-1:-1;;;;40392:652:150:o;42093:127::-;42154:10;42149:3;42145:20;42142:1;42135:31;42185:4;42182:1;42175:15;42209:4;42206:1;42199:15;42225:489;-1:-1:-1;;;;;42494:15:150;;;42476:34;;42546:15;;42541:2;42526:18;;42519:43;42593:2;42578:18;;42571:34;;;42641:3;42636:2;42621:18;;42614:31;;;42419:4;;42662:46;;42688:19;;42680:6;42662:46;:::i;:::-;42654:54;42225:489;-1:-1:-1;;;;;;42225:489:150:o;42719:249::-;42788:6;42841:2;42829:9;42820:7;42816:23;42812:32;42809:52;;;42857:1;42854;42847:12;42809:52;42889:9;42883:16;42908:30;42932:5;42908:30;:::i;43795:217::-;43835:1;43861;43851:132;;43905:10;43900:3;43896:20;43893:1;43886:31;43940:4;43937:1;43930:15;43968:4;43965:1;43958:15;43851:132;-1:-1:-1;43997:9:150;;43795:217::o;44309:127::-;44370:10;44365:3;44361:20;44358:1;44351:31;44401:4;44398:1;44391:15;44425:4;44422:1;44415:15"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_LEVEL()":"a49062d4","MINTER_ROLE()":"d5391393","NODES_MANAGER_ROLE()":"3d6dbee8","PAUSER_ROLE()":"e63ab1e9","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approve(address,uint256)":"095ea7b3","attachNode(uint256,uint256)":"88371110","b3tr()":"582a486a","b3trGovernor()":"7893d736","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","burn(uint256)":"42966c68","clock()":"91ddadf4","detachNode(uint256,uint256)":"4a6565e1","freeMint()":"5b70ea9f","getApproved(uint256)":"081812fc","getB3TRdonated(uint256)":"865c380b","getB3TRtoUpgrade(uint256)":"a51d2e0b","getB3TRtoUpgradeToLevel(uint256)":"2b42df38","getIdAttachedToNode(uint256)":"51c438d1","getLevelAfterAttachingNode(uint256,uint256)":"a1843bd0","getLevelAfterDetachingNode(uint256)":"cc421d07","getNodeIdAttached(uint256)":"958fc97d","getNodeLevelOf(uint256)":"3ff453af","getNodeToFreeLevel(uint8)":"e617e49f","getRoleAdmin(bytes32)":"248a9ca3","getSelectedTokenId(address)":"d206885d","getSelectedTokenIdAtBlock(address,uint48)":"3c60f55d","getSelectedTokenInfoByOwner(address)":"de4983a2","getTokenInfoByTokenId(uint256)":"643ce418","getTokensInfoByOwner(address,uint256,uint256)":"851f738e","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))":"5f4e42ca","initializeV2(address,address,address,uint256[])":"c190eb3a","isApprovedForAll(address,address)":"e985e9c5","levelOf(uint256)":"6d5e3032","name()":"06fdde03","ownerOf(uint256)":"6352211e","participatedInGovernance(address)":"8c5b76fb","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","select(uint256)":"839a19d9","selectFor(address,uint256)":"aa3491eb","setApprovalForAll(address,bool)":"a22cb465","setB3TRtoUpgradeToLevel(uint256[])":"b1ccbd2c","setB3trGovernorAddress(address)":"ddd8634d","setBaseURI(string)":"55f804b3","setIsPublicMintingPaused(bool)":"5b5da514","setMaxLevel(uint256)":"344f1ba5","setNodeToFreeUpgradeLevel(uint8,uint256)":"001db0dd","setVechainNodes(address)":"5ffaa59a","setXAllocationsGovernorAddress(address)":"3af03ea8","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","treasury()":"61d027b3","unpause()":"3f4ba83a","upgrade(uint256)":"45977d03","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50","xAllocationsGovernor()":"5ecf68e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"B3TRtoUpgradeToLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"B3trGovernorAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"MaxLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PublicMintingPaused\",\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Selected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsGovernorAddressUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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_LEVEL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NODES_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"attachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"detachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRdonated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgrade\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgradeToLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getIdAttachedToNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterAttachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterDetachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getNodeIdAttached\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevelOf\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"}],\"name\":\"getNodeToFreeLevel\",\"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\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"blockNumber\",\"type\":\"uint48\"}],\"name\":\"getSelectedTokenIdAtBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV3.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenInfoByTokenId\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV3.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"getTokensInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV3.TokenInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"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\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pauser\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractsAddressManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxLevel\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"b3tr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"internalType\":\"struct GalaxyMemberV3.InitializationData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesMangaement\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesAdmin\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_nodeFreeLevels\",\"type\":\"uint256[]\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"levelOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"participatedInGovernance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"select\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"selectFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"setB3TRtoUpgradeToLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3trGovernor\",\"type\":\"address\"}],\"name\":\"setB3trGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"setIsPublicMintingPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setMaxLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setNodeToFreeUpgradeLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"}],\"name\":\"setVechainNodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_xAllocationsGovernor\",\"type\":\"address\"}],\"name\":\"setXAllocationsGovernorAddress\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"upgrade\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsGovernor\",\"outputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities. --------------------------------- VERSION 2 --------------------------------- - Added Vechain Nodes contract to attach and detach nodes to tokens - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels - Added free upgrade levels for each Vechain node level - Removed automatic highest level owned selection - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading - Core logic functions are now overridable through inheritance - B3TRGovernor has been updated to V2 thus pointing to the new interface - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too --------------------------------- VERSION 3 --------------------------------- - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated()) - Added `selectFor` function to allow the admin to select a token for the user - Added checkpoints for the selected token ID of the user - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"ERC721EnumerableForbiddenBatchMint()\":[{\"details\":\"Batch mint is not allowed.\"}],\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721OutOfBoundsIndex(address,uint256)\":[{\"details\":\"An `owner`'s token query was out of bounds for `index`. NOTE: The owner being `address(0)` indicates a global out of bounds index.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"B3TRtoUpgradeToLevelUpdated(uint256[])\":{\"details\":\"Emitted when B3TR required to upgrade to each level is updated\"},\"B3trGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when B3TRGovernor contract address is updated\"},\"BaseURIUpdated(string,string)\":{\"details\":\"Emitted when base URI is updated\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"MaxLevelUpdated(uint256,uint256)\":{\"details\":\"Emitted when the max level is updated.\"},\"NodeAttached(uint256,uint256)\":{\"details\":\"Emitted when a node is attached to a token\"},\"NodeDetached(uint256,uint256)\":{\"details\":\"Emitted when a node is detached from a token\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"PublicMintingPaused(bool)\":{\"details\":\"Emitted when public minting is paused\"},\"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.\"},\"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`)\"},\"Selected(address,uint256)\":{\"details\":\"Emitted when an account changes the selected token for voting rewards.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"},\"Upgraded(uint256,uint256,uint256)\":{\"details\":\"Emitted when a token is upgraded.\"},\"XAllocationsGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when XAllocationVotingGovernor contract address is updated\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Returns the mode of the clock.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Overrides the ERC721BurnableUpgradeable function to include custom burning logic\",\"params\":{\"tokenId\":\"Token ID to burn\"}},\"clock()\":{\"details\":\"Clock used for flagging checkpoints.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"freeMint()\":{\"details\":\"Mints a token with level 1 and ensures that the public minting is not paused\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getB3TRdonated(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgrade(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgradeToLevel(uint256)\":{\"params\":{\"level\":\"Level to upgrade to\"}},\"getIdAttachedToNode(uint256)\":{\"params\":{\"nodeId\":\"Vechain node Token ID\"}},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"- Vechain Node Token ID\",\"tokenId\":\"- GM Token ID\"}},\"getLevelAfterDetachingNode(uint256)\":{\"params\":{\"tokenId\":\"- GM Token ID\"}},\"getNodeIdAttached(uint256)\":{\"params\":{\"tokenId\":\"GM Token ID\"}},\"getNodeLevelOf(uint256)\":{\"params\":{\"nodeId\":\"Vechain Node Token ID\"}},\"getNodeToFreeLevel(uint8)\":{\"params\":{\"nodeLevel\":\"Vechain node level\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getSelectedTokenId(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"}},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"params\":{\"blockNumber\":\"The block number to check\",\"owner\":\"The address of the owner to check\"}},\"getSelectedTokenInfoByOwner(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"},\"returns\":{\"_0\":\"TokenInfo The selected token info\"}},\"getTokenInfoByTokenId(uint256)\":{\"params\":{\"tokenId\":\"Token ID to get the info for\"},\"returns\":{\"_0\":\"TokenInfo The token info\"}},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"params\":{\"owner\":\"The address of the owner to check\",\"page\":\"The page number to fetch\",\"size\":\"The number of tokens to fetch (cannot exceed 100)\"},\"returns\":{\"_0\":\"TokenInfo[] The tokens owned by the 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((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\",\"details\":\"Sets initial values for all relevant contract properties and state variables.\"},\"initializeV2(address,address,address,uint256[])\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\",\"details\":\"Sets initial values for all relevant contract properties and state variables.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"levelOf(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"participatedInGovernance(address)\":{\"params\":{\"user\":\"The address of the user to check\"}},\"pause()\":{\"details\":\"pausing the contract will prevent minting, upgrading, and transferring of tokensOnly callable by the pauser role\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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.\"},\"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 `callerConfirmation`. 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.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"select(uint256)\":{\"params\":{\"tokenID\":\"Token ID to select\"}},\"selectFor(address,uint256)\":{\"params\":{\"owner\":\"The address of the owner to check\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"details\":\"Only callable by the admin role\",\"params\":{\"b3trToUpgradeToLevel\":\"Mapping of B3TR requirements per level\"}},\"setB3trGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_b3trGovernor\":\"B3TRGovernor contract address\"}},\"setBaseURI(string)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"baseTokenURI\":\"Base URI for the Token\"}},\"setIsPublicMintingPaused(bool)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"isPaused\":\"Flag to pause or unpause public minting\"}},\"setMaxLevel(uint256)\":{\"details\":\"Only callable by the admin role\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"params\":{\"level\":\"new free upgrade level\",\"nodeLevel\":\"Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\"}},\"setVechainNodes(address)\":{\"params\":{\"_vechainNodes\":\"Vechain Nodes contract address\"}},\"setXAllocationsGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_xAllocationsGovernor\":\"XAllocationVotingGovernor contract address\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"computes the token URI based on the base URI and the level of the token\",\"params\":{\"tokenId\":\"Token ID to get the URI for\"}},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unpause()\":{\"details\":\"Only callable by the pauser role\"},\"upgrade(uint256)\":{\"details\":\"Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\",\"params\":{\"tokenId\":\"Token ID to upgrade\"}},\"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()\":{\"details\":\"This function is used to identify the version of the contract and should be updated in each new version\",\"returns\":{\"_0\":\"string The version of the contract\"}}},\"stateVariables\":{\"GalaxyMemberStorageLocation\":{\"details\":\"keccak256(abi.encode(uint256(keccak256(\\\"b3tr.storage.GalaxyMember\\\")) - 1)) & ~bytes32(uint256(0xff))\"}},\"title\":\"GalaxyMember\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"MAX_LEVEL()\":{\"notice\":\"Gets the maximum level that tokens can be minted or upgraded to\"},\"b3tr()\":{\"notice\":\"Gets the B3TR token contract address\"},\"b3trGovernor()\":{\"notice\":\"Gets the b3trGovernor contract address\"},\"baseURI()\":{\"notice\":\"Gets the base URI for computing the tokenURI\"},\"burn(uint256)\":{\"notice\":\"Allows the token owner to burn their token\"},\"constructor\":{\"notice\":\"Ensures only initializer functions are called when deploying a proxy\"},\"freeMint()\":{\"notice\":\"Allows a user to freely mint a token if they have participated in governance\"},\"getB3TRdonated(uint256)\":{\"notice\":\"Get the B3TR donated for upgrading a token\"},\"getB3TRtoUpgrade(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to the next level\"},\"getB3TRtoUpgradeToLevel(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to a specific level\"},\"getIdAttachedToNode(uint256)\":{\"notice\":\"Get the GM Token ID attached to the Vechain Node Token ID\"},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"notice\":\"Gets the level of the token after attaching a node\"},\"getLevelAfterDetachingNode(uint256)\":{\"notice\":\"Gets the level of the token after detaching a node\"},\"getNodeIdAttached(uint256)\":{\"notice\":\"Get the Vechain Node Token ID attached to the GM Token ID\"},\"getNodeLevelOf(uint256)\":{\"notice\":\"Gets the strength level of the Vechain node\"},\"getNodeToFreeLevel(uint8)\":{\"notice\":\"Get the GM level that can be upgraded for free for a given Vechain node level\"},\"getSelectedTokenId(address)\":{\"notice\":\"Gets the selected token ID for the user\"},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"notice\":\"Gets the selected token ID for the user in a specific block number\"},\"getSelectedTokenInfoByOwner(address)\":{\"notice\":\"Gets the selected token info for an address\"},\"getTokenInfoByTokenId(uint256)\":{\"notice\":\"Gets the token info by token ID\"},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"notice\":\"Gets the tokens owned by an address\"},\"initialize((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))\":{\"notice\":\"Initializes a new GalaxyMember contract\"},\"initializeV2(address,address,address,uint256[])\":{\"notice\":\"Initializes a new GalaxyMember contract\"},\"levelOf(uint256)\":{\"notice\":\"Gets the level of the GM token\"},\"participatedInGovernance(address)\":{\"notice\":\"Gets whether the user has participated in governance\"},\"pause()\":{\"notice\":\"Pauses the Galaxy Member contract\"},\"select(uint256)\":{\"notice\":\"Allows the user to select a token for voting rewards multiplier\"},\"selectFor(address,uint256)\":{\"notice\":\"Allows the admin to select a token for the user\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"notice\":\"Sets the amount of B3TR required to upgrade to each level\"},\"setB3trGovernorAddress(address)\":{\"notice\":\"Sets the B3TRGovernor contract address\"},\"setBaseURI(string)\":{\"notice\":\"Sets the base URI for computing the tokenURI\"},\"setIsPublicMintingPaused(bool)\":{\"notice\":\"Pauses public minting\"},\"setMaxLevel(uint256)\":{\"notice\":\"Sets the maximum level that tokens can be minted or upgraded to\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"notice\":\"Sets the treasury contract address\"},\"setVechainNodes(address)\":{\"notice\":\"Sets the Vechain Nodes contract address\"},\"setXAllocationsGovernorAddress(address)\":{\"notice\":\"Sets the XAllocationVotingGovernor contract address\"},\"tokenURI(uint256)\":{\"notice\":\"gets the token URI for a specific token\"},\"treasury()\":{\"notice\":\"Gets the treasury contract address\"},\"unpause()\":{\"notice\":\"Unpauses the Galaxy Member contract\"},\"upgrade(uint256)\":{\"notice\":\"Upgrades a token to the next level\"},\"version()\":{\"notice\":\"Retrieves the current version of the contract\"},\"xAllocationsGovernor()\":{\"notice\":\"Gets the xAllocationsGovernor contract address\"}},\"notice\":\"This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V3/GalaxyMemberV3.sol\":\"GalaxyMemberV3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x5d1215064b3e114d329b1544cf65d33404f63e7841184e55267f4d8b114608e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1699c6ecb0511cb626f40814463aaf4e5c8c36399689e0f3de7561f227a5b50a\",\"dweb:/ipfs/QmQDxPddEsajUEPDRsfPekEhBRjmBTepYALuTwdM7h6mRz\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\":{\"keccak256\":\"0xe3c0b8baf1c6c26bd7944f5c7e71d0e902cbd1a90509f093524c289b89ad5344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9b136fb95c70aa8bce31e2fbaea664bd44afc305b8b75547d90944c89f2acc4\",\"dweb:/ipfs/QmRZbDHHu8obmna5Aj8iP2xNC4xC3p2RtdhpsYiJ8Bbm3M\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\":{\"keccak256\":\"0x6a7330cb4ed2bea90bed97483d55f11ccf98af6c1dd1e2b1739040b679ff9545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a274337315d1f332ba80f7cfbe5243267db6a015514c5a0e7898219ab51fb52\",\"dweb:/ipfs/QmTZdtdWgVs7VmP1dUW4idVpLK4pVFS6sfoi2pQCnaKgSX\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\":{\"keccak256\":\"0x7e68925d3373bd2baa7ac36839c464b2e77b67764201c4e0196d62699ee220b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0896e7ff605a131ca982da1175d798c19588852dc74329f5c3675ac76cb80ff\",\"dweb:/ipfs/QmdePp3XmXaKz4A9qqj6enFuqERWvJoN4uRmFzu2cwLPX8\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0xb31b86c03f4677dcffa4655285d62433509513be9bafa0e04984565052d34e44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a89c6fb0cd5fef4244500b633f63def9f2bb2134debb961e590bd5a2910662fd\",\"dweb:/ipfs/QmNqWyCxyopvb99RbRomPpfTZGXRi5MnzgpFXE2BFLLgMc\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V2/interfaces/INodeManagementV2.sol\":{\"keccak256\":\"0x2517ad75a09debcadb4634d85d25961f5b7ca1004b2557bce483c72746a9ad70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b947705d7d9b3d092fb77e066f1c175e58d4ae8d8e935eee1bfed7f6bb095bc5\",\"dweb:/ipfs/QmeKUUAg83YLiJtC9SRzJ8MzaBUR3155jYNkP2Sbq5Qnpz\"]},\"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0x128b934b2b6c3e4530f36e8bd2b08f31cdc6b1248a5bc47c765175c1666109bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dc299d66d1cfb0658ebf2c5fef3852a86a437881a0986070cbc6da7af772bd3\",\"dweb:/ipfs/Qmd3SEURkuqCAopHKGNhnwpvt4ePasBMex6gLuNigogw1Y\"]},\"contracts/deprecated/V3/GalaxyMemberV3.sol\":{\"keccak256\":\"0xe6bb105b30880f61f3430b9a71221abd6c7e44f66edcc96700d41a24532f8bee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d443e611c877ef3ef37e8d906abddb9395f37bc9fa5ab4560390c18837422b1a\",\"dweb:/ipfs/QmbmRs8nLFbfzgD3dCggRQ468dWRmJX5oRVb77yF5hoCSn\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V3/VoterRewardsV3.sol":{"VoterRewardsV3":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"EmissionsAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"GalaxyMemberAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"LevelToMultiplierSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"disabled","type":"bool"}],"name":"QuadraticRewardingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardClaimed","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":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"votes","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardWeightedVote","type":"uint256"}],"name":"VoteRegistered","type":"event"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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":"SCALING_FACTOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VOTE_REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"cycleToTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"cycleToVoterToTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"galaxyMember","outputs":[{"internalType":"contract IGalaxyMemberV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getReward","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":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"hasNodeVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"tokenId","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"hasTokenVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"contractsAddressManager","type":"address"},{"internalType":"address","name":"_emissions","type":"address"},{"internalType":"address","name":"_galaxyMember","type":"address"},{"internalType":"address","name":"_b3tr","type":"address"},{"internalType":"uint256[]","name":"levels","type":"uint256[]"},{"internalType":"uint256[]","name":"multipliers","type":"uint256[]"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint48","name":"blockNumber","type":"uint48"}],"name":"isQuadraticRewardingDisabledAtBlock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isQuadraticRewardingDisabledForCurrentCycle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"levelToMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"votes","type":"uint256"},{"internalType":"uint256","name":"votePower","type":"uint256"}],"name":"registerVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"_emissions","type":"address"}],"name":"setEmissions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_galaxyMember","type":"address"}],"name":"setGalaxyMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"setLevelToMultiplier","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":"toggleQuadraticRewarding","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":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_35233":{"entryPoint":null,"id":35233,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612c116200010460003960008181611d7a01528181611da30152611eeb0152612c116000f3fe6080604052600436106101935760003560e01c80628f33d71461019857806301ffc9a7146101cb57806308834ee7146101fb5780630dd3729c1461021d578063105fe5001461023d5780632267716c1461025d5780632325e4b91461027f578063248a9ca3146102945780632f18339d146102b45780632f2ff15d146102d457806336568abe146102f45780634f1ef2861461031457806352d1902d1461032757806354fd4d501461033c578063582a486a1461036f5780635fdc17521461038457806371057f75146103a45780638dbb1e3a146103b957806391d14854146103d957806391ddadf4146103f9578063952f213314610425578063a217fddf14610447578063ad3cb1cc1461045c578063ae075b071461048d578063ae0b8da8146104ad578063b0b3de89146104cd578063be64bad8146104ed578063c208b4e714610502578063d547741f14610522578063de7fd13314610542578063e70eb39214610564578063ee80e93214610584578063eea41608146105a4578063ef4cadc5146105c4578063f72c0d8b146105db575b600080fd5b3480156101a457600080fd5b506101b86101b336600461259b565b6105fd565b6040519081526020015b60405180910390f35b3480156101d757600080fd5b506101eb6101e63660046125c7565b610734565b60405190151581526020016101c2565b34801561020757600080fd5b5061021b6102163660046125f1565b610769565b005b34801561022957600080fd5b5061021b6102383660046126c6565b610820565b34801561024957600080fd5b506101b861025836600461259b565b610c2b565b34801561026957600080fd5b50610272610c61565b6040516101c2919061278d565b34801561028b57600080fd5b50610272610c7f565b3480156102a057600080fd5b506101b86102af3660046127a1565b610c9a565b3480156102c057600080fd5b5061021b6102cf3660046127ba565b610cba565b3480156102e057600080fd5b5061021b6102ef36600461259b565b6110c5565b34801561030057600080fd5b5061021b61030f36600461259b565b6110e7565b61021b6103223660046127f5565b61111f565b34801561033357600080fd5b506101b861113e565b34801561034857600080fd5b506040805180820190915260018152603360f81b60208201525b6040516101c291906128be565b34801561037b57600080fd5b5061027261115b565b34801561039057600080fd5b506101b861039f3660046127a1565b611179565b3480156103b057600080fd5b506101eb611199565b3480156103c557600080fd5b506101b86103d43660046128f1565b61124f565b3480156103e557600080fd5b506101eb6103f436600461259b565b611387565b34801561040557600080fd5b5061040e6113bd565b60405165ffffffffffff90911681526020016101c2565b34801561043157600080fd5b506101b8600080516020612b9c83398151915281565b34801561045357600080fd5b506101b8600081565b34801561046857600080fd5b50610362604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561049957600080fd5b506101eb6104a83660046128f1565b6113cc565b3480156104b957600080fd5b5061021b6104c83660046125f1565b6113f9565b3480156104d957600080fd5b5061021b6104e83660046128f1565b6114a1565b3480156104f957600080fd5b5061021b6115d9565b34801561050e57600080fd5b506101b861051d3660046127a1565b611657565b34801561052e57600080fd5b5061021b61053d36600461259b565b611677565b34801561054e57600080fd5b506101b8600080516020612bbc83398151915281565b34801561057057600080fd5b5061021b61057f36600461259b565b611693565b34801561059057600080fd5b506101eb61059f366004612913565b611a7b565b3480156105b057600080fd5b506101eb6105bf3660046128f1565b611aa9565b3480156105d057600080fd5b506101b8620f424081565b3480156105e757600080fd5b506101b8600080516020612b5c83398151915281565b600080610608611ad6565b600085815260058201602090815260408083206001600160a01b03881684529091528120549192508190036106425760009250505061072e565b600085815260048301602052604081205490819003610667576000935050505061072e565b6002830154604051633542e90360e01b8152600481018890526000916001600160a01b031690633542e90390602401602060405180830381865afa1580156106b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d7919061293b565b9050806000036106ee57600094505050505061072e565b6000620f42406106fe838661296a565b610708919061296a565b905060006107168483612997565b9050610725620f424082612997565b96505050505050505b92915050565b60006001600160e01b03198216637965db0b60e01b148061072e57506301ffc9a760e01b6001600160e01b031983161461072e565b600080516020612b9c83398151915261078181611afa565b6001600160a01b0382166107b05760405162461bcd60e51b81526004016107a7906129b9565b60405180910390fd5b60006107ba611ad6565b60028101546040519192506001600160a01b0390811691908516907fee0bb99897b3f409686cb6e56601a38cea38e9e00d9b28752b3be7b28ea8b0ad90600090a360020180546001600160a01b0319166001600160a01b03939093169290921790915550565b600061082a611b07565b805490915060ff600160401b82041615906001600160401b03166000811580156108515750825b90506000826001600160401b0316600114801561086d5750303b155b90508115801561087b575080155b156108995760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156108c257845460ff60401b1916600160401b1785555b6001600160a01b0389166108e85760405162461bcd60e51b81526004016107a790612a0b565b6001600160a01b038a1661090e5760405162461bcd60e51b81526004016107a7906129b9565b6001600160a01b03881661097b5760405162461bcd60e51b815260206004820152602e60248201527f566f746572526577617264733a205f623374722063616e6e6f7420626520746860448201526d65207a65726f206164647265737360901b60648201526084016107a7565b60008751116109e85760405162461bcd60e51b815260206004820152603360248201527f566f746572526577617264733a206c6576656c73206d757374206861766520616044820152721d081b19585cdd081bdb9948195b195b595b9d606a1b60648201526084016107a7565b8551875114610a5f5760405162461bcd60e51b815260206004820152603e60248201527f566f746572526577617264733a206c6576656c7320616e64206d756c7469706c60448201527f69657273206d7573742068617665207468652073616d65206c656e677468000060648201526084016107a7565b610a67611b2b565b610a6f611b35565b610a77611b2b565b6000610a81611ad6565b80546001600160a01b03808d166001600160a01b03199283161783556001830180548d8316908416179055600283018054918f1691909216179055905060005b8851811015610b2957878181518110610adc57610adc612a61565b60200260200101518260030160008b8481518110610afc57610afc612a61565b60200260200101518152602001908152602001600020819055508080610b2190612a77565b915050610ac1565b506001600160a01b038e16610b975760405162461bcd60e51b815260206004820152602e60248201527f566f746572526577617264733a2061646d696e2063616e6e6f7420626520746860448201526d65207a65726f206164647265737360901b60648201526084016107a7565b610ba260008f611b45565b50610bbb600080516020612b5c8339815191528e611b45565b50610bd4600080516020612b9c8339815191528d611b45565b50508315610c1c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b600080610c36611ad6565b6000948552600501602090815260408086206001600160a01b03959095168652939052505090205490565b600080610c6c611ad6565b600201546001600160a01b031692915050565b600080610c8a611ad6565b546001600160a01b031692915050565b600080610ca5611be6565b60009384526020525050604090206001015490565b600080516020612bbc833981519152610cd281611afa565b81156110be5784600003610d345760405162461bcd60e51b8152602060048201526024808201527f566f746572526577617264733a2070726f706f73616c49642063616e6e6f74206044820152630626520360e41b60648201526084016107a7565b6001600160a01b038416610d5a5760405162461bcd60e51b81526004016107a790612a90565b6000610d64611ad6565b805460405163d206885d60e01b81529192506000916001600160a01b039091169063d206885d90610d9990899060040161278d565b602060405180830381865afa158015610db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda919061293b565b905060008260020160009054906101000a90046001600160a01b03166001600160a01b031663be26ed7f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e57919061293b565b90506000610e65838a61124f565b905060008790506000610eef8660020160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eea919061293b565b611c0a565b9050610efe6006870182611c41565b6001600160d01b0316600003610f1f57610f1c88633b9aca0061296a565b91505b60006064610f2d858561296a565b610f379190612997565b610f419084612ade565b9050808760040160008781526020019081526020016000206000828254610f689190612ade565b9091555050600085815260058801602090815260408083206001600160a01b038f16845290915281208054839290610fa1908490612ade565b90915550508515610fd35760008c815260078801602090815260408083208984529091529020805460ff191660011790555b865460405163958fc97d60e01b8152600481018890526000916001600160a01b03169063958fc97d90602401602060405180830381865afa15801561101c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611040919061293b565b9050801561106f5760008d815260088901602090815260408083208484529091529020805460ff191660011790555b604080518c8152602081018490526001600160a01b038e169188917fac45cfd9cf13dd2e8b216503a1ca26d9f2a35e9a6b4b1b5cecc415db06ddf63f910160405180910390a350505050505050505b5050505050565b6110ce82610c9a565b6110d781611afa565b6110e18383611b45565b50505050565b6001600160a01b03811633146111105760405163334bd91960e11b815260040160405180910390fd5b61111a8282611cf7565b505050565b611127611d6f565b61113082611e14565b61113a8282611e2c565b5050565b6000611148611ee0565b50600080516020612b7c83398151915290565b600080611166611ad6565b600101546001600160a01b031692915050565b600080611184611ad6565b60009384526003016020525050604090205490565b6000806111a4611ad6565b905060008160020160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611221919061293b565b9050600061123b61123183611c0a565b6006850190611c41565b6001600160d01b0316600114949350505050565b60008061125a611ad6565b905061126684846113cc565b1561127557600091505061072e565b805460405163958fc97d60e01b8152600481018690526000916001600160a01b03169063958fc97d90602401602060405180830381865afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e2919061293b565b90506112ee8185611aa9565b156112fe5760009250505061072e565b81546040516336af181960e11b8152600481018790526000916001600160a01b031690636d5e303290602401602060405180830381865afa158015611347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136b919061293b565b6000908152600390930160205250506040902054905092915050565b600080611392611be6565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006113c7611f29565b905090565b6000806113d7611ad6565b6000938452600701602090815260408085209585529490525050205460ff1690565b600080516020612b9c83398151915261141181611afa565b6001600160a01b0382166114375760405162461bcd60e51b81526004016107a790612a0b565b6000611441611ad6565b80546040519192506001600160a01b0390811691908516907f3e9cacccd727006bc0e1f6b190b46b34090f490cd3ab7e45f3ac7a9cfeda63ff90600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b60006114ac81611afa565b6000831161150f5760405162461bcd60e51b815260206004820152602a60248201527f566f746572526577617264733a206c6576656c206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016107a7565b600082116115775760405162461bcd60e51b815260206004820152602f60248201527f566f746572526577617264733a206d756c7469706c696572206d75737420626560448201526e02067726561746572207468616e203608c1b60648201526084016107a7565b6000611581611ad6565b6000858152600382016020526040908190208590555190915084907fcc259987543a764767934b4d714760c68fdeb2ba8318210d9802cf66ae854001906115cb9086815260200190565b60405180910390a250505050565b60006115e481611afa565b60006115ee611ad6565b905060006115fa611199565b90506116246116076113bd565b82611613576001611616565b60005b60068501919060ff16611f34565b50506040518115907f541dc5534ac80f8161f980a8975bec206aee2363c8fa3c54a4709ee3b0cbe99f90600090a2505050565b600080611662611ad6565b60009384526004016020525050604090205490565b61168082610c9a565b61168981611afa565b6110e18383611cf7565b61169b611f4f565b600082116116fe5760405162461bcd60e51b815260206004820152602a60248201527f566f746572526577617264733a206379636c65206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016107a7565b6001600160a01b0381166117245760405162461bcd60e51b81526004016107a790612a90565b600061172e611ad6565b600281015460405163e52ef17f60e01b8152600481018690529192506001600160a01b03169063e52ef17f90602401602060405180830381865afa15801561177a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179e9190612af1565b6117f45760405162461bcd60e51b815260206004820152602160248201527f566f746572526577617264733a206379636c65206d75737420626520656e64656044820152601960fa1b60648201526084016107a7565b600061180084846105fd565b9050600081116118665760405162461bcd60e51b815260206004820152602b60248201527f566f746572526577617264733a20726577617264206d7573742062652067726560448201526a061746572207468616e20360ac1b60648201526084016107a7565b60018201546040516370a0823160e01b815282916001600160a01b0316906370a082319061189890309060040161278d565b602060405180830381865afa1580156118b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d9919061293b565b101561194b5760405162461bcd60e51b815260206004820152603b60248201527f566f746572526577617264733a206e6f7420656e6f756768204233545220696e60448201527a081d1a194818dbdb9d1c9858dd081d1bc81c185e481c995dd85c99602a1b60648201526084016107a7565b600084815260058301602090815260408083206001600160a01b0380881685529252808320929092556001840154915163a9059cbb60e01b815291169063a9059cbb9061199e9086908590600401612b13565b6020604051808303816000875af11580156119bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e19190612af1565b611a2d5760405162461bcd60e51b815260206004820152601d60248201527f566f746572526577617264733a207472616e73666572206661696c656400000060448201526064016107a7565b826001600160a01b0316847f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb783604051611a6991815260200190565b60405180910390a3505061113a611f85565b600080611a86611ad6565b9050611a956006820184611c41565b6001600160d01b0316600114915050919050565b600080611ab4611ad6565b6000938452600801602090815260408085209585529490525050205460ff1690565b7f114e7ffaaf205d38cd05b17b56f3357806ef2ce889cb4748445ae91cdfc37c0090565b611b048133611f96565b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b611b33611fc1565b565b611b3d611fc1565b611b33611fe6565b600080611b50611be6565b9050611b5c8484611387565b611bdc576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055611b923390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505061072e565b600091505061072e565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600065ffffffffffff821115611c3d576040516306dfcc6560e41b815260306004820152602481018390526044016107a7565b5090565b815460009081816005811115611ca0576000611c5c84611fee565b611c669085612b2c565b60008881526020902090915081015465ffffffffffff9081169087161015611c9057809150611c9e565b611c9b816001612ade565b92505b505b6000611cae878785856120dd565b90508015611ce957611cd387611cc5600184612b2c565b600091825260209091200190565b54600160301b90046001600160d01b0316611cec565b60005b979650505050505050565b600080611d02611be6565b9050611d0e8484611387565b15611bdc576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505061072e565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611df657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611dea600080516020612b7c833981519152546001600160a01b031690565b6001600160a01b031614155b15611b335760405163703e46dd60e11b815260040160405180910390fd5b600080516020612b5c83398151915261113a81611afa565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611e86575060408051601f3d908101601f19168201909252611e839181019061293b565b60015b611ea55781604051634c9c8ce360e01b81526004016107a7919061278d565b600080516020612b7c8339815191528114611ed657604051632a87526960e21b8152600481018290526024016107a7565b61111a838361213f565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b335760405163703e46dd60e11b815260040160405180910390fd5b60006113c743611c0a565b600080611f42858585612195565b915091505b935093915050565b6000611f5961230f565b805490915060011901611f7f57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6000611f8f61230f565b6001905550565b611fa08282611387565b61113a57808260405163e2517d3f60e01b81526004016107a7929190612b13565b611fc9612333565b611b3357604051631afcd79f60e31b815260040160405180910390fd5b611f85611fc1565b60008160000361200057506000919050565b6000600161200d8461234d565b901c6001901b9050600181848161202657612026612981565b048201901c9050600181848161203e5761203e612981565b048201901c9050600181848161205657612056612981565b048201901c9050600181848161206e5761206e612981565b048201901c9050600181848161208657612086612981565b048201901c9050600181848161209e5761209e612981565b048201901c905060018184816120b6576120b6612981565b048201901c90506120d6818285816120d0576120d0612981565b046123e1565b9392505050565b60005b818310156121375760006120f484846123f7565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561212357809250612131565b61212e816001612ade565b93505b506120e0565b509392505050565b61214882612412565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561218d5761111a828261246e565b61113a6124e4565b8254600090819080156122b45760006121b387611cc5600185612b2c565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561220757604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603612253578461222a88611cc5600186612b2c565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556122a4565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150611f479050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081611f47565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b600061233d611b07565b54600160401b900460ff16919050565b600080608083901c1561236257608092831c92015b604083901c1561237457604092831c92015b602083901c1561238657602092831c92015b601083901c1561239857601092831c92015b600883901c156123aa57600892831c92015b600483901c156123bc57600492831c92015b600283901c156123ce57600292831c92015b600183901c1561072e5760010192915050565b60008183106123f057816120d6565b5090919050565b60006124066002848418612997565b6120d690848416612ade565b806001600160a01b03163b60000361243f5780604051634c9c8ce360e01b81526004016107a7919061278d565b600080516020612b7c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161248b9190612b3f565b600060405180830381855af49150503d80600081146124c6576040519150601f19603f3d011682016040523d82523d6000602084013e6124cb565b606091505b50915091506124db858383612503565b95945050505050565b3415611b335760405163b398979f60e01b815260040160405180910390fd5b6060826125185761251382612556565b6120d6565b815115801561252f57506001600160a01b0384163b155b1561254f5783604051639996b31560e01b81526004016107a7919061278d565b5092915050565b8051156125665780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b038116811461259657600080fd5b919050565b600080604083850312156125ae57600080fd5b823591506125be6020840161257f565b90509250929050565b6000602082840312156125d957600080fd5b81356001600160e01b0319811681146120d657600080fd5b60006020828403121561260357600080fd5b6120d68261257f565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561264a5761264a61260c565b604052919050565b600082601f83011261266357600080fd5b813560206001600160401b0382111561267e5761267e61260c565b8160051b61268d828201612622565b92835284810182019282810190878511156126a757600080fd5b83870192505b84831015611cec578235825291830191908301906126ad565b600080600080600080600080610100898b0312156126e357600080fd5b6126ec8961257f565b97506126fa60208a0161257f565b965061270860408a0161257f565b955061271660608a0161257f565b945061272460808a0161257f565b935061273260a08a0161257f565b925060c08901356001600160401b038082111561274e57600080fd5b61275a8c838d01612652565b935060e08b013591508082111561277057600080fd5b5061277d8b828c01612652565b9150509295985092959890939650565b6001600160a01b0391909116815260200190565b6000602082840312156127b357600080fd5b5035919050565b600080600080608085870312156127d057600080fd5b843593506127e06020860161257f565b93969395505050506040820135916060013590565b6000806040838503121561280857600080fd5b6128118361257f565b91506020838101356001600160401b038082111561282e57600080fd5b818601915086601f83011261284257600080fd5b8135818111156128545761285461260c565b612866601f8201601f19168501612622565b9150808252878482850101111561287c57600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b838110156128b557818101518382015260200161289d565b50506000910152565b60208152600082518060208401526128dd81604085016020870161289a565b601f01601f19169190910160400192915050565b6000806040838503121561290457600080fd5b50508035926020909101359150565b60006020828403121561292557600080fd5b813565ffffffffffff811681146120d657600080fd5b60006020828403121561294d57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761072e5761072e612954565b634e487b7160e01b600052601260045260246000fd5b6000826129b457634e487b7160e01b600052601260045260246000fd5b500490565b60208082526032908201527f566f746572526577617264733a20656d697373696f6e732063616e6e6f7420626040820152716520746865207a65726f206164647265737360701b606082015260800190565b60208082526036908201527f566f746572526577617264733a205f67616c6178794d656d6265722063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060018201612a8957612a89612954565b5060010190565b6020808252602e908201527f566f746572526577617264733a20766f7465722063616e6e6f7420626520746860408201526d65207a65726f206164647265737360901b606082015260800190565b8082018082111561072e5761072e612954565b600060208284031215612b0357600080fd5b815180151581146120d657600080fd5b6001600160a01b03929092168252602082015260400190565b8181038181111561072e5761072e612954565b60008251612b5181846020870161289a565b919091019291505056fe189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b779e0a786be046868ec7a47625dff81941dbb889bcb3efd61d7ece9a9b92e2279a26469706673582212207a7f9fb4756d65711b2d6f6eb6f13142afaf56242bddf2a882618426926bd00664736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x2C11 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x1D7A ADD MSTORE DUP2 DUP2 PUSH2 0x1DA3 ADD MSTORE PUSH2 0x1EEB ADD MSTORE PUSH2 0x2C11 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x193 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x8F33D7 EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x8834EE7 EQ PUSH2 0x1FB JUMPI DUP1 PUSH4 0xDD3729C EQ PUSH2 0x21D JUMPI DUP1 PUSH4 0x105FE500 EQ PUSH2 0x23D JUMPI DUP1 PUSH4 0x2267716C EQ PUSH2 0x25D JUMPI DUP1 PUSH4 0x2325E4B9 EQ PUSH2 0x27F JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0x2F18339D EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x327 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x33C JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x36F JUMPI DUP1 PUSH4 0x5FDC1752 EQ PUSH2 0x384 JUMPI DUP1 PUSH4 0x71057F75 EQ PUSH2 0x3A4 JUMPI DUP1 PUSH4 0x8DBB1E3A EQ PUSH2 0x3B9 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x425 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x447 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x45C JUMPI DUP1 PUSH4 0xAE075B07 EQ PUSH2 0x48D JUMPI DUP1 PUSH4 0xAE0B8DA8 EQ PUSH2 0x4AD JUMPI DUP1 PUSH4 0xB0B3DE89 EQ PUSH2 0x4CD JUMPI DUP1 PUSH4 0xBE64BAD8 EQ PUSH2 0x4ED JUMPI DUP1 PUSH4 0xC208B4E7 EQ PUSH2 0x502 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x522 JUMPI DUP1 PUSH4 0xDE7FD133 EQ PUSH2 0x542 JUMPI DUP1 PUSH4 0xE70EB392 EQ PUSH2 0x564 JUMPI DUP1 PUSH4 0xEE80E932 EQ PUSH2 0x584 JUMPI DUP1 PUSH4 0xEEA41608 EQ PUSH2 0x5A4 JUMPI DUP1 PUSH4 0xEF4CADC5 EQ PUSH2 0x5C4 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0x5DB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x1B3 CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x5FD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x1E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x25C7 JUMP JUMPDEST PUSH2 0x734 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1C2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x207 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x216 CALLDATASIZE PUSH1 0x4 PUSH2 0x25F1 JUMP JUMPDEST PUSH2 0x769 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x229 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x238 CALLDATASIZE PUSH1 0x4 PUSH2 0x26C6 JUMP JUMPDEST PUSH2 0x820 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x249 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x258 CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0xC2B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x272 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C2 SWAP2 SWAP1 PUSH2 0x278D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x272 PUSH2 0xC7F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x2AF CALLDATASIZE PUSH1 0x4 PUSH2 0x27A1 JUMP JUMPDEST PUSH2 0xC9A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x2CF CALLDATASIZE PUSH1 0x4 PUSH2 0x27BA JUMP JUMPDEST PUSH2 0xCBA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x2EF CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x10C5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x10E7 JUMP JUMPDEST PUSH2 0x21B PUSH2 0x322 CALLDATASIZE PUSH1 0x4 PUSH2 0x27F5 JUMP JUMPDEST PUSH2 0x111F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x333 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x113E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x33 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C2 SWAP2 SWAP1 PUSH2 0x28BE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x272 PUSH2 0x115B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x390 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x39F CALLDATASIZE PUSH1 0x4 PUSH2 0x27A1 JUMP JUMPDEST PUSH2 0x1179 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x1199 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x3D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x124F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x3F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x1387 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x40E PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1C2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B9C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x453 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x468 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x362 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x4A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x13CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x4C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x25F1 JUMP JUMPDEST PUSH2 0x13F9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x4E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x14A1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x15D9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x51D CALLDATASIZE PUSH1 0x4 PUSH2 0x27A1 JUMP JUMPDEST PUSH2 0x1657 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x53D CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x1677 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x54E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2BBC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x57F CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x1693 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x590 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x59F CALLDATASIZE PUSH1 0x4 PUSH2 0x2913 JUMP JUMPDEST PUSH2 0x1A7B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x5BF CALLDATASIZE PUSH1 0x4 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x1AA9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH3 0xF4240 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x608 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x5 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP DUP2 SWAP1 SUB PUSH2 0x642 JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x4 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 DUP2 SWAP1 SUB PUSH2 0x667 JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0x72E JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x3542E903 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x3542E903 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6B3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6D7 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x6EE JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 PUSH3 0xF4240 PUSH2 0x6FE DUP4 DUP7 PUSH2 0x296A JUMP JUMPDEST PUSH2 0x708 SWAP2 SWAP1 PUSH2 0x296A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x716 DUP5 DUP4 PUSH2 0x2997 JUMP JUMPDEST SWAP1 POP PUSH2 0x725 PUSH3 0xF4240 DUP3 PUSH2 0x2997 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x72E JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B9C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x781 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x7B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7BA PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xEE0BB99897B3F409686CB6E56601A38CEA38E9E00D9B28752B3BE7B28EA8B0AD SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x82A PUSH2 0x1B07 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x851 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x86D JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x87B JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x899 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8C2 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH2 0x90E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0x97B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A205F623374722063616E6E6F74206265207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 DUP8 MLOAD GT PUSH2 0x9E8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C73206D75737420686176652061 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x1D081B19585CDD081BDB9948195B195B595B9D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST DUP6 MLOAD DUP8 MLOAD EQ PUSH2 0xA5F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C7320616E64206D756C7469706C PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x69657273206D7573742068617665207468652073616D65206C656E6774680000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH2 0xA67 PUSH2 0x1B2B JUMP JUMPDEST PUSH2 0xA6F PUSH2 0x1B35 JUMP JUMPDEST PUSH2 0xA77 PUSH2 0x1B2B JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA81 PUSH2 0x1AD6 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP14 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR DUP4 SSTORE PUSH1 0x1 DUP4 ADD DUP1 SLOAD DUP14 DUP4 AND SWAP1 DUP5 AND OR SWAP1 SSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD SWAP2 DUP16 AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE SWAP1 POP PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0xB29 JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xADC JUMPI PUSH2 0xADC PUSH2 0x2A61 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x3 ADD PUSH1 0x0 DUP12 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xAFC JUMPI PUSH2 0xAFC PUSH2 0x2A61 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 DUP1 PUSH2 0xB21 SWAP1 PUSH2 0x2A77 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xAC1 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND PUSH2 0xB97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A2061646D696E2063616E6E6F74206265207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH2 0xBA2 PUSH1 0x0 DUP16 PUSH2 0x1B45 JUMP JUMPDEST POP PUSH2 0xBBB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP15 PUSH2 0x1B45 JUMP JUMPDEST POP PUSH2 0xBD4 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B9C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP14 PUSH2 0x1B45 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0xC1C JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC36 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC6C PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC8A PUSH2 0x1AD6 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCA5 PUSH2 0x1BE6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2BBC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCD2 DUP2 PUSH2 0x1AFA JUMP JUMPDEST DUP2 ISZERO PUSH2 0x10BE JUMPI DUP5 PUSH1 0x0 SUB PUSH2 0xD34 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A2070726F706F73616C49642063616E6E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x6265203 PUSH1 0xE4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xD5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x2A90 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD64 PUSH2 0x1AD6 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xD206885D PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD206885D SWAP1 PUSH2 0xD99 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x278D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xDB6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDDA SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBE26ED7F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE33 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE57 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xE65 DUP4 DUP11 PUSH2 0x124F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP8 SWAP1 POP PUSH1 0x0 PUSH2 0xEEF DUP7 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEC6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEEA SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST PUSH2 0x1C0A JUMP JUMPDEST SWAP1 POP PUSH2 0xEFE PUSH1 0x6 DUP8 ADD DUP3 PUSH2 0x1C41 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x0 SUB PUSH2 0xF1F JUMPI PUSH2 0xF1C DUP9 PUSH4 0x3B9ACA00 PUSH2 0x296A JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH2 0xF2D DUP6 DUP6 PUSH2 0x296A JUMP JUMPDEST PUSH2 0xF37 SWAP2 SWAP1 PUSH2 0x2997 JUMP JUMPDEST PUSH2 0xF41 SWAP1 DUP5 PUSH2 0x2ADE JUMP JUMPDEST SWAP1 POP DUP1 DUP8 PUSH1 0x4 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xF68 SWAP2 SWAP1 PUSH2 0x2ADE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x5 DUP9 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP16 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xFA1 SWAP1 DUP5 SWAP1 PUSH2 0x2ADE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP DUP6 ISZERO PUSH2 0xFD3 JUMPI PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP10 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST DUP7 SLOAD PUSH1 0x40 MLOAD PUSH4 0x958FC97D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x958FC97D SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x101C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1040 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x106F JUMPI PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x8 DUP10 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP13 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND SWAP2 DUP9 SWAP2 PUSH32 0xAC45CFD9CF13DD2E8B216503A1CA26D9F2A35E9A6B4B1B5CECC415DB06DDF63F SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x10CE DUP3 PUSH2 0xC9A JUMP JUMPDEST PUSH2 0x10D7 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH2 0x10E1 DUP4 DUP4 PUSH2 0x1B45 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x1110 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x111A DUP3 DUP3 PUSH2 0x1CF7 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x1127 PUSH2 0x1D6F JUMP JUMPDEST PUSH2 0x1130 DUP3 PUSH2 0x1E14 JUMP JUMPDEST PUSH2 0x113A DUP3 DUP3 PUSH2 0x1E2C JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1148 PUSH2 0x1EE0 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B7C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1166 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1184 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11A4 PUSH2 0x1AD6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11FD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1221 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x123B PUSH2 0x1231 DUP4 PUSH2 0x1C0A JUMP JUMPDEST PUSH1 0x6 DUP6 ADD SWAP1 PUSH2 0x1C41 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x125A PUSH2 0x1AD6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1266 DUP5 DUP5 PUSH2 0x13CC JUMP JUMPDEST ISZERO PUSH2 0x1275 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x72E JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x958FC97D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x958FC97D SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12BE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12E2 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP PUSH2 0x12EE DUP2 DUP6 PUSH2 0x1AA9 JUMP JUMPDEST ISZERO PUSH2 0x12FE JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x72E JUMP JUMPDEST DUP2 SLOAD PUSH1 0x40 MLOAD PUSH4 0x36AF1819 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6D5E3032 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1347 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x136B SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1392 PUSH2 0x1BE6 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13C7 PUSH2 0x1F29 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13D7 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x7 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP6 DUP6 MSTORE SWAP5 SWAP1 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B9C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1411 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1437 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1441 PUSH2 0x1AD6 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x3E9CACCCD727006BC0E1F6B190B46B34090F490CD3AB7E45F3AC7A9CFEDA63FF SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14AC DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH1 0x0 DUP4 GT PUSH2 0x150F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C206D7573742062652067726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x746572207468616E203 PUSH1 0xB4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x1577 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206D756C7469706C696572206D757374206265 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1581 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP5 SWAP1 PUSH32 0xCC259987543A764767934B4D714760C68FDEB2BA8318210D9802CF66AE854001 SWAP1 PUSH2 0x15CB SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15E4 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15EE PUSH2 0x1AD6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x15FA PUSH2 0x1199 JUMP JUMPDEST SWAP1 POP PUSH2 0x1624 PUSH2 0x1607 PUSH2 0x13BD JUMP JUMPDEST DUP3 PUSH2 0x1613 JUMPI PUSH1 0x1 PUSH2 0x1616 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x6 DUP6 ADD SWAP2 SWAP1 PUSH1 0xFF AND PUSH2 0x1F34 JUMP JUMPDEST POP POP PUSH1 0x40 MLOAD DUP2 ISZERO SWAP1 PUSH32 0x541DC5534AC80F8161F980A8975BEC206AEE2363C8FA3C54A4709EE3B0CBE99F SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1662 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1680 DUP3 PUSH2 0xC9A JUMP JUMPDEST PUSH2 0x1689 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH2 0x10E1 DUP4 DUP4 PUSH2 0x1CF7 JUMP JUMPDEST PUSH2 0x169B PUSH2 0x1F4F JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x16FE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206379636C65206D7573742062652067726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x746572207468616E203 PUSH1 0xB4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1724 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x2A90 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x172E PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xE52EF17F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE52EF17F SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x177A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x179E SWAP2 SWAP1 PUSH2 0x2AF1 JUMP JUMPDEST PUSH2 0x17F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206379636C65206D75737420626520656E6465 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0xFA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP5 PUSH2 0x5FD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x1866 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20726577617264206D75737420626520677265 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x61746572207468616E203 PUSH1 0xAC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1898 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x278D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18B5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18D9 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST LT ISZERO PUSH2 0x194B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206E6F7420656E6F756768204233545220696E PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A194818DBDB9D1C9858DD081D1BC81C185E481C995DD85C99 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x5 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP5 ADD SLOAD SWAP2 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x199E SWAP1 DUP7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x2B13 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x19BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19E1 SWAP2 SWAP1 PUSH2 0x2AF1 JUMP JUMPDEST PUSH2 0x1A2D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A207472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x7A7 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x24B5EFA61DD1CFC659205A97FB8ED868F3CB8C81922BAB2B96423E5DE1DE2CB7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1A69 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0x113A PUSH2 0x1F85 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A86 PUSH2 0x1AD6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1A95 PUSH1 0x6 DUP3 ADD DUP5 PUSH2 0x1C41 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1AB4 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP6 DUP6 MSTORE SWAP5 SWAP1 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH32 0x114E7FFAAF205D38CD05B17B56F3357806EF2CE889CB4748445AE91CDFC37C00 SWAP1 JUMP JUMPDEST PUSH2 0x1B04 DUP2 CALLER PUSH2 0x1F96 JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x1B33 PUSH2 0x1FC1 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x1B3D PUSH2 0x1FC1 JUMP JUMPDEST PUSH2 0x1B33 PUSH2 0x1FE6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B50 PUSH2 0x1BE6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B5C DUP5 DUP5 PUSH2 0x1387 JUMP JUMPDEST PUSH2 0x1BDC JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x1B92 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x72E JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x7A7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x1CA0 JUMPI PUSH1 0x0 PUSH2 0x1C5C DUP5 PUSH2 0x1FEE JUMP JUMPDEST PUSH2 0x1C66 SWAP1 DUP6 PUSH2 0x2B2C JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x1C90 JUMPI DUP1 SWAP2 POP PUSH2 0x1C9E JUMP JUMPDEST PUSH2 0x1C9B DUP2 PUSH1 0x1 PUSH2 0x2ADE JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x1CAE DUP8 DUP8 DUP6 DUP6 PUSH2 0x20DD JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x1CE9 JUMPI PUSH2 0x1CD3 DUP8 PUSH2 0x1CC5 PUSH1 0x1 DUP5 PUSH2 0x2B2C JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x1CEC JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D02 PUSH2 0x1BE6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1D0E DUP5 DUP5 PUSH2 0x1387 JUMP JUMPDEST ISZERO PUSH2 0x1BDC JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x72E JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1DF6 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1DEA PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B7C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x1B33 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x113A DUP2 PUSH2 0x1AFA JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1E86 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1E83 SWAP2 DUP2 ADD SWAP1 PUSH2 0x293B JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1EA5 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0x278D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B7C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1ED6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH2 0x111A DUP4 DUP4 PUSH2 0x213F JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x1B33 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x13C7 NUMBER PUSH2 0x1C0A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1F42 DUP6 DUP6 DUP6 PUSH2 0x2195 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F59 PUSH2 0x230F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x1F7F JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F8F PUSH2 0x230F JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x1FA0 DUP3 DUP3 PUSH2 0x1387 JUMP JUMPDEST PUSH2 0x113A JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP3 SWAP2 SWAP1 PUSH2 0x2B13 JUMP JUMPDEST PUSH2 0x1FC9 PUSH2 0x2333 JUMP JUMPDEST PUSH2 0x1B33 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1F85 PUSH2 0x1FC1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x2000 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x200D DUP5 PUSH2 0x234D JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2026 JUMPI PUSH2 0x2026 PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x203E JUMPI PUSH2 0x203E PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2056 JUMPI PUSH2 0x2056 PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x206E JUMPI PUSH2 0x206E PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2086 JUMPI PUSH2 0x2086 PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x209E JUMPI PUSH2 0x209E PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x20B6 JUMPI PUSH2 0x20B6 PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x20D6 DUP2 DUP3 DUP6 DUP2 PUSH2 0x20D0 JUMPI PUSH2 0x20D0 PUSH2 0x2981 JUMP JUMPDEST DIV PUSH2 0x23E1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x2137 JUMPI PUSH1 0x0 PUSH2 0x20F4 DUP5 DUP5 PUSH2 0x23F7 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x2123 JUMPI DUP1 SWAP3 POP PUSH2 0x2131 JUMP JUMPDEST PUSH2 0x212E DUP2 PUSH1 0x1 PUSH2 0x2ADE JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x20E0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x2148 DUP3 PUSH2 0x2412 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x218D JUMPI PUSH2 0x111A DUP3 DUP3 PUSH2 0x246E JUMP JUMPDEST PUSH2 0x113A PUSH2 0x24E4 JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x22B4 JUMPI PUSH1 0x0 PUSH2 0x21B3 DUP8 PUSH2 0x1CC5 PUSH1 0x1 DUP6 PUSH2 0x2B2C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x2207 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x2253 JUMPI DUP5 PUSH2 0x222A DUP9 PUSH2 0x1CC5 PUSH1 0x1 DUP7 PUSH2 0x2B2C JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x22A4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x1F47 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x1F47 JUMP JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x233D PUSH2 0x1B07 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x2362 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x2374 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x2386 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x2398 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x23AA JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x23BC JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x23CE JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x72E JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x23F0 JUMPI DUP2 PUSH2 0x20D6 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2406 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x2997 JUMP JUMPDEST PUSH2 0x20D6 SWAP1 DUP5 DUP5 AND PUSH2 0x2ADE JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x243F JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0x278D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B7C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x248B SWAP2 SWAP1 PUSH2 0x2B3F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x24C6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x24CB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x24DB DUP6 DUP4 DUP4 PUSH2 0x2503 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x1B33 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2518 JUMPI PUSH2 0x2513 DUP3 PUSH2 0x2556 JUMP JUMPDEST PUSH2 0x20D6 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x252F JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x254F JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0x278D JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x2566 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x25BE PUSH1 0x20 DUP5 ADD PUSH2 0x257F JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x20D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2603 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20D6 DUP3 PUSH2 0x257F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x264A JUMPI PUSH2 0x264A PUSH2 0x260C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2663 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x267E JUMPI PUSH2 0x267E PUSH2 0x260C JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x268D DUP3 DUP3 ADD PUSH2 0x2622 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x26A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x1CEC JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x26E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26EC DUP10 PUSH2 0x257F JUMP JUMPDEST SWAP8 POP PUSH2 0x26FA PUSH1 0x20 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP7 POP PUSH2 0x2708 PUSH1 0x40 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP6 POP PUSH2 0x2716 PUSH1 0x60 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP5 POP PUSH2 0x2724 PUSH1 0x80 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x2732 PUSH1 0xA0 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP3 POP PUSH1 0xC0 DUP10 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x274E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x275A DUP13 DUP4 DUP14 ADD PUSH2 0x2652 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2770 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x277D DUP12 DUP3 DUP13 ADD PUSH2 0x2652 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x27D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH2 0x27E0 PUSH1 0x20 DUP7 ADD PUSH2 0x257F JUMP JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2808 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2811 DUP4 PUSH2 0x257F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x282E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2842 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2854 JUMPI PUSH2 0x2854 PUSH2 0x260C JUMP JUMPDEST PUSH2 0x2866 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP6 ADD PUSH2 0x2622 JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP8 DUP5 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x287C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP5 DUP5 ADD DUP6 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP5 DUP3 DUP5 ADD ADD MSTORE POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x28B5 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x289D JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x28DD DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x289A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2904 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2925 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x20D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x294D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x72E JUMPI PUSH2 0x72E PUSH2 0x2954 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29B4 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20656D697373696F6E732063616E6E6F742062 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x6520746865207A65726F2061646472657373 PUSH1 0x70 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A205F67616C6178794D656D6265722063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2A89 JUMPI PUSH2 0x2A89 PUSH2 0x2954 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20766F7465722063616E6E6F74206265207468 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x72E JUMPI PUSH2 0x72E PUSH2 0x2954 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x20D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x72E JUMPI PUSH2 0x72E PUSH2 0x2954 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2B51 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x289A JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC56AF926AA3845D4DC63A6C PUSH24 0x3ED36F51794728C97EBCD1BF845BCECB16EEB6B779E0A786 0xBE DIV PUSH9 0x68EC7A47625DFF8194 SAR 0xBB DUP9 SWAP12 0xCB RETURNDATACOPY REVERT PUSH2 0xD7EC 0xE9 0xA9 0xB9 0x2E 0x22 PUSH26 0xA26469706673582212207A7F9FB4756D65711B2D6F6EB6F13142 0xAF 0xAF JUMP 0x24 0x2B 0xDD CALLCODE 0xA8 DUP3 PUSH2 0x8426 SWAP3 PUSH12 0xD00664736F6C634300081400 CALLER ","sourceMap":"3664:19975:68:-:0;;;1171:4:3;1128:48;;8265:47:68;;;;;;;;;-1:-1:-1;8285:22:68;:20;:22::i;:::-;3664:19975;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;3664:19975:68;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CONTRACTS_ADDRESS_MANAGER_ROLE_35123":{"entryPoint":null,"id":35123,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@SCALING_FACTOR_35127":{"entryPoint":null,"id":35127,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_35117":{"entryPoint":null,"id":35117,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@VOTE_REGISTRAR_ROLE_35111":{"entryPoint":null,"id":35111,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":6955,"id":63,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_4203":{"entryPoint":6965,"id":4203,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_unchained_4221":{"entryPoint":8166,"id":4221,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":null,"id":1786,"parameterSlots":0,"returnSlots":0},"@_authorizeUpgrade_35404":{"entryPoint":7700,"id":35404,"parameterSlots":1,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":8129,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":9444,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":7904,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":7535,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":6906,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":8086,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":7142,"id":46,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":6919,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getReentrancyGuardStorage_4191":{"entryPoint":8975,"id":4191,"parameterSlots":0,"returnSlots":1},"@_getVoterRewardsStorage_35179":{"entryPoint":6870,"id":35179,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":6981,"id":315,"parameterSlots":2,"returnSlots":1},"@_insert_9806":{"entryPoint":8597,"id":9806,"parameterSlots":3,"returnSlots":2},"@_isInitializing_1722":{"entryPoint":9011,"id":1722,"parameterSlots":0,"returnSlots":1},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_nonReentrantAfter_4273":{"entryPoint":8069,"id":4273,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_4257":{"entryPoint":8015,"id":4257,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":9558,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":7415,"id":361,"parameterSlots":2,"returnSlots":1},"@_setImplementation_4791":{"entryPoint":9234,"id":4791,"parameterSlots":1,"returnSlots":0},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upgradeToAndCallUUPS_1913":{"entryPoint":7724,"id":1913,"parameterSlots":2,"returnSlots":0},"@_upperBinaryLookup_9858":{"entryPoint":8413,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":9207,"id":6189,"parameterSlots":2,"returnSlots":1},"@b3tr_35967":{"entryPoint":4443,"id":35967,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":7977,"id":11429,"parameterSlots":0,"returnSlots":1},"@claimReward_35672":{"entryPoint":5779,"id":35672,"parameterSlots":2,"returnSlots":0},"@clock_36213":{"entryPoint":5053,"id":36213,"parameterSlots":0,"returnSlots":1},"@cycleToTotal_35896":{"entryPoint":5719,"id":35896,"parameterSlots":1,"returnSlots":1},"@cycleToVoterToTotal_35876":{"entryPoint":3115,"id":35876,"parameterSlots":2,"returnSlots":1},"@emissions_35950":{"entryPoint":3169,"id":35950,"parameterSlots":0,"returnSlots":1},"@functionDelegateCall_5503":{"entryPoint":9326,"id":5503,"parameterSlots":2,"returnSlots":1},"@galaxyMember_35933":{"entryPoint":3199,"id":35933,"parameterSlots":0,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getMultiplier_35724":{"entryPoint":4687,"id":35724,"parameterSlots":2,"returnSlots":1},"@getReward_35852":{"entryPoint":1533,"id":35852,"parameterSlots":2,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":3226,"id":171,"parameterSlots":1,"returnSlots":1},"@grantRole_190":{"entryPoint":4293,"id":190,"parameterSlots":2,"returnSlots":0},"@hasNodeVoted_35748":{"entryPoint":6825,"id":35748,"parameterSlots":2,"returnSlots":1},"@hasRole_116":{"entryPoint":4999,"id":116,"parameterSlots":2,"returnSlots":1},"@hasTokenVoted_35772":{"entryPoint":5068,"id":35772,"parameterSlots":2,"returnSlots":1},"@initialize_35393":{"entryPoint":2080,"id":35393,"parameterSlots":8,"returnSlots":0},"@isQuadraticRewardingDisabledAtBlock_35990":{"entryPoint":6779,"id":35990,"parameterSlots":1,"returnSlots":1},"@isQuadraticRewardingDisabledForCurrentCycle_36025":{"entryPoint":4505,"id":36025,"parameterSlots":0,"returnSlots":1},"@levelToMultiplier_35916":{"entryPoint":4473,"id":35916,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":9037,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":9185,"id":6166,"parameterSlots":2,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":4414,"id":1804,"parameterSlots":0,"returnSlots":1},"@push_9437":{"entryPoint":7988,"id":9437,"parameterSlots":3,"returnSlots":2},"@registerVote_35575":{"entryPoint":3258,"id":35575,"parameterSlots":4,"returnSlots":0},"@renounceRole_232":{"entryPoint":4327,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":5751,"id":209,"parameterSlots":2,"returnSlots":0},"@setEmissions_36156":{"entryPoint":1897,"id":36156,"parameterSlots":1,"returnSlots":0},"@setGalaxyMember_36068":{"entryPoint":5113,"id":36068,"parameterSlots":1,"returnSlots":0},"@setLevelToMultiplier_36113":{"entryPoint":5281,"id":36113,"parameterSlots":2,"returnSlots":0},"@sqrt_6504":{"entryPoint":8174,"id":6504,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":1844,"id":91,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":7178,"id":7770,"parameterSlots":1,"returnSlots":1},"@toggleQuadraticRewarding_36193":{"entryPoint":5593,"id":36193,"parameterSlots":0,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":4383,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":8511,"id":4825,"parameterSlots":2,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":7233,"id":9604,"parameterSlots":2,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":9475,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_36202":{"entryPoint":null,"id":36202,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":9599,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":9810,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":9713,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_addresst_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":9926,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":10229,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":10993,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":10145,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":9671,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":10555,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":9627,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_addresst_uint256t_uint256":{"entryPoint":10170,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":10481,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint48":{"entryPoint":10515,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":11071,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":11027,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed":{"entryPoint":10125,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGalaxyMemberV2_$32081__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10430,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10896,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7bdf03e077f892d7074e00cd1573dcda0e01b32da1da10312be00f4bb5e65a1d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10763,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10681,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":9762,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":10974,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":10647,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":10602,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":11052,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":10394,"id":null,"parameterSlots":3,"returnSlots":0},"increment_t_uint256":{"entryPoint":10871,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":10580,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":10625,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":10849,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":9740,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:17441:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:150","statements":[{"nodeType":"YulAssignment","src":"73:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:150"},"nodeType":"YulFunctionCall","src":"82:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:150"}]},{"body":{"nodeType":"YulBlock","src":"165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:150"},"nodeType":"YulFunctionCall","src":"167:12:150"},"nodeType":"YulExpressionStatement","src":"167:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:150"},"nodeType":"YulFunctionCall","src":"146:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:150"},"nodeType":"YulFunctionCall","src":"142:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:150"},"nodeType":"YulFunctionCall","src":"121:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:150"},"nodeType":"YulFunctionCall","src":"114:50:150"},"nodeType":"YulIf","src":"111:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:150","type":""}],"src":"14:173:150"},{"body":{"nodeType":"YulBlock","src":"279:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"325:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"337:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"327:6:150"},"nodeType":"YulFunctionCall","src":"327:12:150"},"nodeType":"YulExpressionStatement","src":"327:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"300:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"309:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"296:3:150"},"nodeType":"YulFunctionCall","src":"296:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"321:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"292:3:150"},"nodeType":"YulFunctionCall","src":"292:32:150"},"nodeType":"YulIf","src":"289:52:150"},{"nodeType":"YulAssignment","src":"350:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"360:12:150"},"nodeType":"YulFunctionCall","src":"360:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"350:6:150"}]},{"nodeType":"YulAssignment","src":"392:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"425:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"436:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"421:3:150"},"nodeType":"YulFunctionCall","src":"421:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"402:18:150"},"nodeType":"YulFunctionCall","src":"402:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"392:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"237:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"248:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"260:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"268:6:150","type":""}],"src":"192:254:150"},{"body":{"nodeType":"YulBlock","src":"552:76:150","statements":[{"nodeType":"YulAssignment","src":"562:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"574:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"585:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"570:3:150"},"nodeType":"YulFunctionCall","src":"570:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"562:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"604:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"615:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:150"},"nodeType":"YulFunctionCall","src":"597:25:150"},"nodeType":"YulExpressionStatement","src":"597:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"521:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"532:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"543:4:150","type":""}],"src":"451:177:150"},{"body":{"nodeType":"YulBlock","src":"702:217:150","statements":[{"body":{"nodeType":"YulBlock","src":"748:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"757:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"760:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"750:6:150"},"nodeType":"YulFunctionCall","src":"750:12:150"},"nodeType":"YulExpressionStatement","src":"750:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"723:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"732:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"719:3:150"},"nodeType":"YulFunctionCall","src":"719:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"744:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"715:3:150"},"nodeType":"YulFunctionCall","src":"715:32:150"},"nodeType":"YulIf","src":"712:52:150"},{"nodeType":"YulVariableDeclaration","src":"773:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"799:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"786:12:150"},"nodeType":"YulFunctionCall","src":"786:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"777:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"873:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"882:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"885:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"875:6:150"},"nodeType":"YulFunctionCall","src":"875:12:150"},"nodeType":"YulExpressionStatement","src":"875:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"831:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"842:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"853:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"858:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"849:3:150"},"nodeType":"YulFunctionCall","src":"849:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"838:3:150"},"nodeType":"YulFunctionCall","src":"838:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"828:2:150"},"nodeType":"YulFunctionCall","src":"828:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"821:6:150"},"nodeType":"YulFunctionCall","src":"821:51:150"},"nodeType":"YulIf","src":"818:71:150"},{"nodeType":"YulAssignment","src":"898:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"908:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"898:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"668:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"679:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"691:6:150","type":""}],"src":"633:286:150"},{"body":{"nodeType":"YulBlock","src":"1019:92:150","statements":[{"nodeType":"YulAssignment","src":"1029:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1041:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1052:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1037:3:150"},"nodeType":"YulFunctionCall","src":"1037:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1029:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1071:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1096:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1089:6:150"},"nodeType":"YulFunctionCall","src":"1089:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1082:6:150"},"nodeType":"YulFunctionCall","src":"1082:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1064:6:150"},"nodeType":"YulFunctionCall","src":"1064:41:150"},"nodeType":"YulExpressionStatement","src":"1064:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"988:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"999:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1010:4:150","type":""}],"src":"924:187:150"},{"body":{"nodeType":"YulBlock","src":"1186:116:150","statements":[{"body":{"nodeType":"YulBlock","src":"1232:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1241:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1244:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1234:6:150"},"nodeType":"YulFunctionCall","src":"1234:12:150"},"nodeType":"YulExpressionStatement","src":"1234:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1207:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1216:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1203:3:150"},"nodeType":"YulFunctionCall","src":"1203:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1228:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1199:3:150"},"nodeType":"YulFunctionCall","src":"1199:32:150"},"nodeType":"YulIf","src":"1196:52:150"},{"nodeType":"YulAssignment","src":"1257:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1286:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1267:18:150"},"nodeType":"YulFunctionCall","src":"1267:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1257:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1152:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1163:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1175:6:150","type":""}],"src":"1116:186:150"},{"body":{"nodeType":"YulBlock","src":"1339:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1356:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1363:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1368:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1359:3:150"},"nodeType":"YulFunctionCall","src":"1359:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1349:6:150"},"nodeType":"YulFunctionCall","src":"1349:31:150"},"nodeType":"YulExpressionStatement","src":"1349:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1396:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1399:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1389:6:150"},"nodeType":"YulFunctionCall","src":"1389:15:150"},"nodeType":"YulExpressionStatement","src":"1389:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1420:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1423:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1413:6:150"},"nodeType":"YulFunctionCall","src":"1413:15:150"},"nodeType":"YulExpressionStatement","src":"1413:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1307:127:150"},{"body":{"nodeType":"YulBlock","src":"1484:230:150","statements":[{"nodeType":"YulAssignment","src":"1494:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1510:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1504:5:150"},"nodeType":"YulFunctionCall","src":"1504:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1494:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1522:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1544:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"1560:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"1566:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1556:3:150"},"nodeType":"YulFunctionCall","src":"1556:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1575:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1571:3:150"},"nodeType":"YulFunctionCall","src":"1571:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1552:3:150"},"nodeType":"YulFunctionCall","src":"1552:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1540:3:150"},"nodeType":"YulFunctionCall","src":"1540:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1526:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1655:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1657:16:150"},"nodeType":"YulFunctionCall","src":"1657:18:150"},"nodeType":"YulExpressionStatement","src":"1657:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1598:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1618:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1622:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1614:3:150"},"nodeType":"YulFunctionCall","src":"1614:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1626:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1610:3:150"},"nodeType":"YulFunctionCall","src":"1610:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1595:2:150"},"nodeType":"YulFunctionCall","src":"1595:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1634:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1646:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1631:2:150"},"nodeType":"YulFunctionCall","src":"1631:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1592:2:150"},"nodeType":"YulFunctionCall","src":"1592:62:150"},"nodeType":"YulIf","src":"1589:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1693:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1697:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1686:6:150"},"nodeType":"YulFunctionCall","src":"1686:22:150"},"nodeType":"YulExpressionStatement","src":"1686:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1464:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1473:6:150","type":""}],"src":"1439:275:150"},{"body":{"nodeType":"YulBlock","src":"1783:648:150","statements":[{"body":{"nodeType":"YulBlock","src":"1832:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1841:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1844:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1834:6:150"},"nodeType":"YulFunctionCall","src":"1834:12:150"},"nodeType":"YulExpressionStatement","src":"1834:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1811:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1819:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1807:3:150"},"nodeType":"YulFunctionCall","src":"1807:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"1826:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1803:3:150"},"nodeType":"YulFunctionCall","src":"1803:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1796:6:150"},"nodeType":"YulFunctionCall","src":"1796:35:150"},"nodeType":"YulIf","src":"1793:55:150"},{"nodeType":"YulVariableDeclaration","src":"1857:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1880:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1867:12:150"},"nodeType":"YulFunctionCall","src":"1867:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1861:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1896:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1906:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1900:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1949:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1951:16:150"},"nodeType":"YulFunctionCall","src":"1951:18:150"},"nodeType":"YulExpressionStatement","src":"1951:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1925:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1937:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1941:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1933:3:150"},"nodeType":"YulFunctionCall","src":"1933:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1945:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1929:3:150"},"nodeType":"YulFunctionCall","src":"1929:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1922:2:150"},"nodeType":"YulFunctionCall","src":"1922:26:150"},"nodeType":"YulIf","src":"1919:52:150"},{"nodeType":"YulVariableDeclaration","src":"1980:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1994:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1997:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1990:3:150"},"nodeType":"YulFunctionCall","src":"1990:10:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1984:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2009:39:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2040:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2044:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2036:3:150"},"nodeType":"YulFunctionCall","src":"2036:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2020:15:150"},"nodeType":"YulFunctionCall","src":"2020:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2013:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2057:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"2070:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2061:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2089:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2094:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2082:6:150"},"nodeType":"YulFunctionCall","src":"2082:15:150"},"nodeType":"YulExpressionStatement","src":"2082:15:150"},{"nodeType":"YulAssignment","src":"2106:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2117:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2122:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2113:3:150"},"nodeType":"YulFunctionCall","src":"2113:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2106:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2134:38:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2156:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"2164:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2152:3:150"},"nodeType":"YulFunctionCall","src":"2152:15:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2169:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2148:3:150"},"nodeType":"YulFunctionCall","src":"2148:24:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2138:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2200:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2209:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2212:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2202:6:150"},"nodeType":"YulFunctionCall","src":"2202:12:150"},"nodeType":"YulExpressionStatement","src":"2202:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2187:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"2195:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2184:2:150"},"nodeType":"YulFunctionCall","src":"2184:15:150"},"nodeType":"YulIf","src":"2181:35:150"},{"nodeType":"YulVariableDeclaration","src":"2225:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2240:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2248:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2236:3:150"},"nodeType":"YulFunctionCall","src":"2236:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2229:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2316:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2337:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2355:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2342:12:150"},"nodeType":"YulFunctionCall","src":"2342:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2330:6:150"},"nodeType":"YulFunctionCall","src":"2330:30:150"},"nodeType":"YulExpressionStatement","src":"2330:30:150"},{"nodeType":"YulAssignment","src":"2373:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2384:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2389:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2380:3:150"},"nodeType":"YulFunctionCall","src":"2380:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2373:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2271:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2276:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2268:2:150"},"nodeType":"YulFunctionCall","src":"2268:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2284:23:150","statements":[{"nodeType":"YulAssignment","src":"2286:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2297:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2302:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2293:3:150"},"nodeType":"YulFunctionCall","src":"2293:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2286:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"2264:3:150","statements":[]},"src":"2260:142:150"},{"nodeType":"YulAssignment","src":"2411:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2420:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2411:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1757:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"1765:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1773:5:150","type":""}],"src":"1719:712:150"},{"body":{"nodeType":"YulBlock","src":"2675:805:150","statements":[{"body":{"nodeType":"YulBlock","src":"2722:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2731:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2734:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2724:6:150"},"nodeType":"YulFunctionCall","src":"2724:12:150"},"nodeType":"YulExpressionStatement","src":"2724:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2696:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2705:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2692:3:150"},"nodeType":"YulFunctionCall","src":"2692:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2717:3:150","type":"","value":"256"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2688:3:150"},"nodeType":"YulFunctionCall","src":"2688:33:150"},"nodeType":"YulIf","src":"2685:53:150"},{"nodeType":"YulAssignment","src":"2747:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2776:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2757:18:150"},"nodeType":"YulFunctionCall","src":"2757:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2747:6:150"}]},{"nodeType":"YulAssignment","src":"2795:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2828:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2839:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2824:3:150"},"nodeType":"YulFunctionCall","src":"2824:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2805:18:150"},"nodeType":"YulFunctionCall","src":"2805:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2795:6:150"}]},{"nodeType":"YulAssignment","src":"2852:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2885:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2896:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2881:3:150"},"nodeType":"YulFunctionCall","src":"2881:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2862:18:150"},"nodeType":"YulFunctionCall","src":"2862:38:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2852:6:150"}]},{"nodeType":"YulAssignment","src":"2909:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2942:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2953:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2938:3:150"},"nodeType":"YulFunctionCall","src":"2938:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2919:18:150"},"nodeType":"YulFunctionCall","src":"2919:38:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2909:6:150"}]},{"nodeType":"YulAssignment","src":"2966:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2999:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3010:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2995:3:150"},"nodeType":"YulFunctionCall","src":"2995:19:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2976:18:150"},"nodeType":"YulFunctionCall","src":"2976:39:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2966:6:150"}]},{"nodeType":"YulAssignment","src":"3024:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3057:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3068:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3053:3:150"},"nodeType":"YulFunctionCall","src":"3053:19:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3034:18:150"},"nodeType":"YulFunctionCall","src":"3034:39:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"3024:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3082:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3113:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3124:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3109:3:150"},"nodeType":"YulFunctionCall","src":"3109:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3096:12:150"},"nodeType":"YulFunctionCall","src":"3096:33:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3086:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3138:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3156:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3160:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3152:3:150"},"nodeType":"YulFunctionCall","src":"3152:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3164:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3148:3:150"},"nodeType":"YulFunctionCall","src":"3148:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3142:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3193:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3202:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3205:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3195:6:150"},"nodeType":"YulFunctionCall","src":"3195:12:150"},"nodeType":"YulExpressionStatement","src":"3195:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3181:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3189:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3178:2:150"},"nodeType":"YulFunctionCall","src":"3178:14:150"},"nodeType":"YulIf","src":"3175:34:150"},{"nodeType":"YulAssignment","src":"3218:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3261:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"3272:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3257:3:150"},"nodeType":"YulFunctionCall","src":"3257:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3281:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"3228:28:150"},"nodeType":"YulFunctionCall","src":"3228:61:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"3218:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3298:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3331:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3342:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3327:3:150"},"nodeType":"YulFunctionCall","src":"3327:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3314:12:150"},"nodeType":"YulFunctionCall","src":"3314:33:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"3302:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3376:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3385:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3388:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3378:6:150"},"nodeType":"YulFunctionCall","src":"3378:12:150"},"nodeType":"YulExpressionStatement","src":"3378:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"3362:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3372:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3359:2:150"},"nodeType":"YulFunctionCall","src":"3359:16:150"},"nodeType":"YulIf","src":"3356:36:150"},{"nodeType":"YulAssignment","src":"3401:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3444:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"3455:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3440:3:150"},"nodeType":"YulFunctionCall","src":"3440:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3466:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"3411:28:150"},"nodeType":"YulFunctionCall","src":"3411:63:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"3401:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2585:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2596:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2608:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2616:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2624:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2632:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2640:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"2648:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"2656:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"2664:6:150","type":""}],"src":"2436:1044:150"},{"body":{"nodeType":"YulBlock","src":"3606:102:150","statements":[{"nodeType":"YulAssignment","src":"3616:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3628:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3639:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3624:3:150"},"nodeType":"YulFunctionCall","src":"3624:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3616:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3658:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3673:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3689:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3694:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3685:3:150"},"nodeType":"YulFunctionCall","src":"3685:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3698:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3681:3:150"},"nodeType":"YulFunctionCall","src":"3681:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3669:3:150"},"nodeType":"YulFunctionCall","src":"3669:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3651:6:150"},"nodeType":"YulFunctionCall","src":"3651:51:150"},"nodeType":"YulExpressionStatement","src":"3651:51:150"}]},"name":"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3575:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3586:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3597:4:150","type":""}],"src":"3485:223:150"},{"body":{"nodeType":"YulBlock","src":"3839:102:150","statements":[{"nodeType":"YulAssignment","src":"3849:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3861:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3872:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3857:3:150"},"nodeType":"YulFunctionCall","src":"3857:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3849:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3891:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3906:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3922:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3927:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3918:3:150"},"nodeType":"YulFunctionCall","src":"3918:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3931:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3914:3:150"},"nodeType":"YulFunctionCall","src":"3914:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3902:3:150"},"nodeType":"YulFunctionCall","src":"3902:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3884:6:150"},"nodeType":"YulFunctionCall","src":"3884:51:150"},"nodeType":"YulExpressionStatement","src":"3884:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGalaxyMemberV2_$32081__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3808:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3819:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3830:4:150","type":""}],"src":"3713:228:150"},{"body":{"nodeType":"YulBlock","src":"4016:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"4062:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4071:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4074:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4064:6:150"},"nodeType":"YulFunctionCall","src":"4064:12:150"},"nodeType":"YulExpressionStatement","src":"4064:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4037:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4046:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4033:3:150"},"nodeType":"YulFunctionCall","src":"4033:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4058:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4029:3:150"},"nodeType":"YulFunctionCall","src":"4029:32:150"},"nodeType":"YulIf","src":"4026:52:150"},{"nodeType":"YulAssignment","src":"4087:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4110:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4097:12:150"},"nodeType":"YulFunctionCall","src":"4097:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4087:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3982:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3993:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4005:6:150","type":""}],"src":"3946:180:150"},{"body":{"nodeType":"YulBlock","src":"4232:76:150","statements":[{"nodeType":"YulAssignment","src":"4242:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4254:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4265:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4250:3:150"},"nodeType":"YulFunctionCall","src":"4250:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4242:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4284:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"4295:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4277:6:150"},"nodeType":"YulFunctionCall","src":"4277:25:150"},"nodeType":"YulExpressionStatement","src":"4277:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4201:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4212:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4223:4:150","type":""}],"src":"4131:177:150"},{"body":{"nodeType":"YulBlock","src":"4434:270:150","statements":[{"body":{"nodeType":"YulBlock","src":"4481:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4490:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4493:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4483:6:150"},"nodeType":"YulFunctionCall","src":"4483:12:150"},"nodeType":"YulExpressionStatement","src":"4483:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4455:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4464:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4451:3:150"},"nodeType":"YulFunctionCall","src":"4451:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4476:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4447:3:150"},"nodeType":"YulFunctionCall","src":"4447:33:150"},"nodeType":"YulIf","src":"4444:53:150"},{"nodeType":"YulAssignment","src":"4506:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4529:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4516:12:150"},"nodeType":"YulFunctionCall","src":"4516:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4506:6:150"}]},{"nodeType":"YulAssignment","src":"4548:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4581:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4592:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4577:3:150"},"nodeType":"YulFunctionCall","src":"4577:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4558:18:150"},"nodeType":"YulFunctionCall","src":"4558:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4548:6:150"}]},{"nodeType":"YulAssignment","src":"4605:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4632:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4643:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4628:3:150"},"nodeType":"YulFunctionCall","src":"4628:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4615:12:150"},"nodeType":"YulFunctionCall","src":"4615:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4605:6:150"}]},{"nodeType":"YulAssignment","src":"4656:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4683:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4694:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4679:3:150"},"nodeType":"YulFunctionCall","src":"4679:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4666:12:150"},"nodeType":"YulFunctionCall","src":"4666:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4656:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4376:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4387:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4399:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4407:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4415:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4423:6:150","type":""}],"src":"4313:391:150"},{"body":{"nodeType":"YulBlock","src":"4796:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"4842:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4851:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4854:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4844:6:150"},"nodeType":"YulFunctionCall","src":"4844:12:150"},"nodeType":"YulExpressionStatement","src":"4844:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4817:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4826:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4813:3:150"},"nodeType":"YulFunctionCall","src":"4813:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4838:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4809:3:150"},"nodeType":"YulFunctionCall","src":"4809:32:150"},"nodeType":"YulIf","src":"4806:52:150"},{"nodeType":"YulAssignment","src":"4867:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4890:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4877:12:150"},"nodeType":"YulFunctionCall","src":"4877:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4867:6:150"}]},{"nodeType":"YulAssignment","src":"4909:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4942:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4953:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4938:3:150"},"nodeType":"YulFunctionCall","src":"4938:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4919:18:150"},"nodeType":"YulFunctionCall","src":"4919:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4909:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4754:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4765:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4777:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4785:6:150","type":""}],"src":"4709:254:150"},{"body":{"nodeType":"YulBlock","src":"5064:741:150","statements":[{"body":{"nodeType":"YulBlock","src":"5110:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5119:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5122:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5112:6:150"},"nodeType":"YulFunctionCall","src":"5112:12:150"},"nodeType":"YulExpressionStatement","src":"5112:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5085:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5094:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5081:3:150"},"nodeType":"YulFunctionCall","src":"5081:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5106:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5077:3:150"},"nodeType":"YulFunctionCall","src":"5077:32:150"},"nodeType":"YulIf","src":"5074:52:150"},{"nodeType":"YulAssignment","src":"5135:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5164:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5145:18:150"},"nodeType":"YulFunctionCall","src":"5145:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5135:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5183:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5193:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5187:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5204:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5235:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5246:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5231:3:150"},"nodeType":"YulFunctionCall","src":"5231:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5218:12:150"},"nodeType":"YulFunctionCall","src":"5218:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5208:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5259:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5277:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5281:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5273:3:150"},"nodeType":"YulFunctionCall","src":"5273:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5285:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5269:3:150"},"nodeType":"YulFunctionCall","src":"5269:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"5263:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5314:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5323:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5326:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5316:6:150"},"nodeType":"YulFunctionCall","src":"5316:12:150"},"nodeType":"YulExpressionStatement","src":"5316:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5302:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5310:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5299:2:150"},"nodeType":"YulFunctionCall","src":"5299:14:150"},"nodeType":"YulIf","src":"5296:34:150"},{"nodeType":"YulVariableDeclaration","src":"5339:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5353:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"5364:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5349:3:150"},"nodeType":"YulFunctionCall","src":"5349:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"5343:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5419:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5428:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5431:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5421:6:150"},"nodeType":"YulFunctionCall","src":"5421:12:150"},"nodeType":"YulExpressionStatement","src":"5421:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5398:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"5402:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5394:3:150"},"nodeType":"YulFunctionCall","src":"5394:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5409:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5390:3:150"},"nodeType":"YulFunctionCall","src":"5390:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5383:6:150"},"nodeType":"YulFunctionCall","src":"5383:35:150"},"nodeType":"YulIf","src":"5380:55:150"},{"nodeType":"YulVariableDeclaration","src":"5444:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5467:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5454:12:150"},"nodeType":"YulFunctionCall","src":"5454:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"5448:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5493:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5495:16:150"},"nodeType":"YulFunctionCall","src":"5495:18:150"},"nodeType":"YulExpressionStatement","src":"5495:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"5485:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5489:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5482:2:150"},"nodeType":"YulFunctionCall","src":"5482:10:150"},"nodeType":"YulIf","src":"5479:36:150"},{"nodeType":"YulVariableDeclaration","src":"5524:66:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"5565:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"5569:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5561:3:150"},"nodeType":"YulFunctionCall","src":"5561:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5580:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5576:3:150"},"nodeType":"YulFunctionCall","src":"5576:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5557:3:150"},"nodeType":"YulFunctionCall","src":"5557:27:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5586:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5553:3:150"},"nodeType":"YulFunctionCall","src":"5553:36:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5537:15:150"},"nodeType":"YulFunctionCall","src":"5537:53:150"},"variables":[{"name":"array","nodeType":"YulTypedName","src":"5528:5:150","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5606:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"5613:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5599:6:150"},"nodeType":"YulFunctionCall","src":"5599:17:150"},"nodeType":"YulExpressionStatement","src":"5599:17:150"},{"body":{"nodeType":"YulBlock","src":"5662:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5671:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5674:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5664:6:150"},"nodeType":"YulFunctionCall","src":"5664:12:150"},"nodeType":"YulExpressionStatement","src":"5664:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5639:2:150"},{"name":"_4","nodeType":"YulIdentifier","src":"5643:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5635:3:150"},"nodeType":"YulFunctionCall","src":"5635:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5648:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5631:3:150"},"nodeType":"YulFunctionCall","src":"5631:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5653:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5628:2:150"},"nodeType":"YulFunctionCall","src":"5628:33:150"},"nodeType":"YulIf","src":"5625:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5704:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5711:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5700:3:150"},"nodeType":"YulFunctionCall","src":"5700:14:150"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5720:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5724:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5716:3:150"},"nodeType":"YulFunctionCall","src":"5716:11:150"},{"name":"_4","nodeType":"YulIdentifier","src":"5729:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"5687:12:150"},"nodeType":"YulFunctionCall","src":"5687:45:150"},"nodeType":"YulExpressionStatement","src":"5687:45:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"5756:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"5763:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5752:3:150"},"nodeType":"YulFunctionCall","src":"5752:14:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5768:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5748:3:150"},"nodeType":"YulFunctionCall","src":"5748:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5773:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5741:6:150"},"nodeType":"YulFunctionCall","src":"5741:34:150"},"nodeType":"YulExpressionStatement","src":"5741:34:150"},{"nodeType":"YulAssignment","src":"5784:15:150","value":{"name":"array","nodeType":"YulIdentifier","src":"5794:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5784:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5022:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5033:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5045:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5053:6:150","type":""}],"src":"4968:837:150"},{"body":{"nodeType":"YulBlock","src":"5876:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"5886:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5895:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5890:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5955:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5980:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"5985:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5976:3:150"},"nodeType":"YulFunctionCall","src":"5976:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5999:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"6004:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5995:3:150"},"nodeType":"YulFunctionCall","src":"5995:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5989:5:150"},"nodeType":"YulFunctionCall","src":"5989:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5969:6:150"},"nodeType":"YulFunctionCall","src":"5969:39:150"},"nodeType":"YulExpressionStatement","src":"5969:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5916:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"5919:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5913:2:150"},"nodeType":"YulFunctionCall","src":"5913:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5927:19:150","statements":[{"nodeType":"YulAssignment","src":"5929:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5938:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"5941:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5934:3:150"},"nodeType":"YulFunctionCall","src":"5934:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5929:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5909:3:150","statements":[]},"src":"5905:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6038:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"6043:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6034:3:150"},"nodeType":"YulFunctionCall","src":"6034:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"6052:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6027:6:150"},"nodeType":"YulFunctionCall","src":"6027:27:150"},"nodeType":"YulExpressionStatement","src":"6027:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5854:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"5859:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"5864:6:150","type":""}],"src":"5810:250:150"},{"body":{"nodeType":"YulBlock","src":"6186:275:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6203:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6214:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6196:6:150"},"nodeType":"YulFunctionCall","src":"6196:21:150"},"nodeType":"YulExpressionStatement","src":"6196:21:150"},{"nodeType":"YulVariableDeclaration","src":"6226:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6246:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6240:5:150"},"nodeType":"YulFunctionCall","src":"6240:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6230:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6273:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6284:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6269:3:150"},"nodeType":"YulFunctionCall","src":"6269:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"6289:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6262:6:150"},"nodeType":"YulFunctionCall","src":"6262:34:150"},"nodeType":"YulExpressionStatement","src":"6262:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6344:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6352:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6340:3:150"},"nodeType":"YulFunctionCall","src":"6340:15:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6361:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6372:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6357:3:150"},"nodeType":"YulFunctionCall","src":"6357:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"6377:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"6305:34:150"},"nodeType":"YulFunctionCall","src":"6305:79:150"},"nodeType":"YulExpressionStatement","src":"6305:79:150"},{"nodeType":"YulAssignment","src":"6393:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6409:9:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6428:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6436:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6424:3:150"},"nodeType":"YulFunctionCall","src":"6424:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6445:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6441:3:150"},"nodeType":"YulFunctionCall","src":"6441:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6420:3:150"},"nodeType":"YulFunctionCall","src":"6420:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6405:3:150"},"nodeType":"YulFunctionCall","src":"6405:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"6452:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6401:3:150"},"nodeType":"YulFunctionCall","src":"6401:54:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6393:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6155:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6166:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6177:4:150","type":""}],"src":"6065:396:150"},{"body":{"nodeType":"YulBlock","src":"6582:102:150","statements":[{"nodeType":"YulAssignment","src":"6592:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6604:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6615:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6600:3:150"},"nodeType":"YulFunctionCall","src":"6600:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6592:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6634:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6649:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6665:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6670:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6661:3:150"},"nodeType":"YulFunctionCall","src":"6661:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"6674:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6657:3:150"},"nodeType":"YulFunctionCall","src":"6657:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6645:3:150"},"nodeType":"YulFunctionCall","src":"6645:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6627:6:150"},"nodeType":"YulFunctionCall","src":"6627:51:150"},"nodeType":"YulExpressionStatement","src":"6627:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6551:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6562:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6573:4:150","type":""}],"src":"6466:218:150"},{"body":{"nodeType":"YulBlock","src":"6759:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"6805:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6814:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6817:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6807:6:150"},"nodeType":"YulFunctionCall","src":"6807:12:150"},"nodeType":"YulExpressionStatement","src":"6807:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6780:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6789:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6776:3:150"},"nodeType":"YulFunctionCall","src":"6776:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6801:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6772:3:150"},"nodeType":"YulFunctionCall","src":"6772:32:150"},"nodeType":"YulIf","src":"6769:52:150"},{"nodeType":"YulAssignment","src":"6830:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6853:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6840:12:150"},"nodeType":"YulFunctionCall","src":"6840:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6830:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6725:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6736:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6748:6:150","type":""}],"src":"6689:180:150"},{"body":{"nodeType":"YulBlock","src":"6961:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"7007:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7016:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7019:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7009:6:150"},"nodeType":"YulFunctionCall","src":"7009:12:150"},"nodeType":"YulExpressionStatement","src":"7009:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6982:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6991:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6978:3:150"},"nodeType":"YulFunctionCall","src":"6978:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7003:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6974:3:150"},"nodeType":"YulFunctionCall","src":"6974:32:150"},"nodeType":"YulIf","src":"6971:52:150"},{"nodeType":"YulAssignment","src":"7032:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7055:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7042:12:150"},"nodeType":"YulFunctionCall","src":"7042:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7032:6:150"}]},{"nodeType":"YulAssignment","src":"7074:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7101:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7112:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7097:3:150"},"nodeType":"YulFunctionCall","src":"7097:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7084:12:150"},"nodeType":"YulFunctionCall","src":"7084:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7074:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6919:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6930:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6942:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6950:6:150","type":""}],"src":"6874:248:150"},{"body":{"nodeType":"YulBlock","src":"7226:97:150","statements":[{"nodeType":"YulAssignment","src":"7236:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7248:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7259:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7244:3:150"},"nodeType":"YulFunctionCall","src":"7244:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7236:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7278:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7293:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7301:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7289:3:150"},"nodeType":"YulFunctionCall","src":"7289:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7271:6:150"},"nodeType":"YulFunctionCall","src":"7271:46:150"},"nodeType":"YulExpressionStatement","src":"7271:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7195:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7206:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7217:4:150","type":""}],"src":"7127:196:150"},{"body":{"nodeType":"YulBlock","src":"7397:211:150","statements":[{"body":{"nodeType":"YulBlock","src":"7443:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7452:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7455:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7445:6:150"},"nodeType":"YulFunctionCall","src":"7445:12:150"},"nodeType":"YulExpressionStatement","src":"7445:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7418:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7427:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7414:3:150"},"nodeType":"YulFunctionCall","src":"7414:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7439:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7410:3:150"},"nodeType":"YulFunctionCall","src":"7410:32:150"},"nodeType":"YulIf","src":"7407:52:150"},{"nodeType":"YulVariableDeclaration","src":"7468:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7494:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7481:12:150"},"nodeType":"YulFunctionCall","src":"7481:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7472:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7562:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7571:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7574:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7564:6:150"},"nodeType":"YulFunctionCall","src":"7564:12:150"},"nodeType":"YulExpressionStatement","src":"7564:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7526:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7537:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"7544:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7533:3:150"},"nodeType":"YulFunctionCall","src":"7533:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7523:2:150"},"nodeType":"YulFunctionCall","src":"7523:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7516:6:150"},"nodeType":"YulFunctionCall","src":"7516:45:150"},"nodeType":"YulIf","src":"7513:65:150"},{"nodeType":"YulAssignment","src":"7587:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7597:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7587:6:150"}]}]},"name":"abi_decode_tuple_t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7363:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7374:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7386:6:150","type":""}],"src":"7328:280:150"},{"body":{"nodeType":"YulBlock","src":"7694:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"7740:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7749:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7752:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7742:6:150"},"nodeType":"YulFunctionCall","src":"7742:12:150"},"nodeType":"YulExpressionStatement","src":"7742:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7715:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7724:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7711:3:150"},"nodeType":"YulFunctionCall","src":"7711:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7736:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7707:3:150"},"nodeType":"YulFunctionCall","src":"7707:32:150"},"nodeType":"YulIf","src":"7704:52:150"},{"nodeType":"YulAssignment","src":"7765:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7781:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7775:5:150"},"nodeType":"YulFunctionCall","src":"7775:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7765:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7660:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7671:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7683:6:150","type":""}],"src":"7613:184:150"},{"body":{"nodeType":"YulBlock","src":"7834:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7851:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7858:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7863:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7854:3:150"},"nodeType":"YulFunctionCall","src":"7854:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7844:6:150"},"nodeType":"YulFunctionCall","src":"7844:31:150"},"nodeType":"YulExpressionStatement","src":"7844:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7891:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7894:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7884:6:150"},"nodeType":"YulFunctionCall","src":"7884:15:150"},"nodeType":"YulExpressionStatement","src":"7884:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7915:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7918:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7908:6:150"},"nodeType":"YulFunctionCall","src":"7908:15:150"},"nodeType":"YulExpressionStatement","src":"7908:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"7802:127:150"},{"body":{"nodeType":"YulBlock","src":"7986:116:150","statements":[{"nodeType":"YulAssignment","src":"7996:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8011:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"8014:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"8007:3:150"},"nodeType":"YulFunctionCall","src":"8007:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"7996:7:150"}]},{"body":{"nodeType":"YulBlock","src":"8074:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"8076:16:150"},"nodeType":"YulFunctionCall","src":"8076:18:150"},"nodeType":"YulExpressionStatement","src":"8076:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8045:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8038:6:150"},"nodeType":"YulFunctionCall","src":"8038:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"8052:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"8059:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"8068:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"8055:3:150"},"nodeType":"YulFunctionCall","src":"8055:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"8049:2:150"},"nodeType":"YulFunctionCall","src":"8049:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"8035:2:150"},"nodeType":"YulFunctionCall","src":"8035:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8028:6:150"},"nodeType":"YulFunctionCall","src":"8028:45:150"},"nodeType":"YulIf","src":"8025:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"7965:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"7968:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"7974:7:150","type":""}],"src":"7934:168:150"},{"body":{"nodeType":"YulBlock","src":"8139:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8156:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8163:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8168:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8159:3:150"},"nodeType":"YulFunctionCall","src":"8159:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8149:6:150"},"nodeType":"YulFunctionCall","src":"8149:31:150"},"nodeType":"YulExpressionStatement","src":"8149:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8196:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8199:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8189:6:150"},"nodeType":"YulFunctionCall","src":"8189:15:150"},"nodeType":"YulExpressionStatement","src":"8189:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8220:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8223:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8213:6:150"},"nodeType":"YulFunctionCall","src":"8213:15:150"},"nodeType":"YulExpressionStatement","src":"8213:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"8107:127:150"},{"body":{"nodeType":"YulBlock","src":"8285:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"8316:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8337:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8344:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8349:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8340:3:150"},"nodeType":"YulFunctionCall","src":"8340:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8330:6:150"},"nodeType":"YulFunctionCall","src":"8330:31:150"},"nodeType":"YulExpressionStatement","src":"8330:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8381:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8384:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8374:6:150"},"nodeType":"YulFunctionCall","src":"8374:15:150"},"nodeType":"YulExpressionStatement","src":"8374:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8409:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8412:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8402:6:150"},"nodeType":"YulFunctionCall","src":"8402:15:150"},"nodeType":"YulExpressionStatement","src":"8402:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"8305:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8298:6:150"},"nodeType":"YulFunctionCall","src":"8298:9:150"},"nodeType":"YulIf","src":"8295:132:150"},{"nodeType":"YulAssignment","src":"8436:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8445:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"8448:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"8441:3:150"},"nodeType":"YulFunctionCall","src":"8441:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"8436:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"8270:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"8273:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"8279:1:150","type":""}],"src":"8239:217:150"},{"body":{"nodeType":"YulBlock","src":"8635:240:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8652:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8663:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8645:6:150"},"nodeType":"YulFunctionCall","src":"8645:21:150"},"nodeType":"YulExpressionStatement","src":"8645:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8686:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8697:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8682:3:150"},"nodeType":"YulFunctionCall","src":"8682:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"8702:2:150","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8675:6:150"},"nodeType":"YulFunctionCall","src":"8675:30:150"},"nodeType":"YulExpressionStatement","src":"8675:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8725:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8736:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8721:3:150"},"nodeType":"YulFunctionCall","src":"8721:18:150"},{"hexValue":"566f746572526577617264733a20656d697373696f6e732063616e6e6f742062","kind":"string","nodeType":"YulLiteral","src":"8741:34:150","type":"","value":"VoterRewards: emissions cannot b"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8714:6:150"},"nodeType":"YulFunctionCall","src":"8714:62:150"},"nodeType":"YulExpressionStatement","src":"8714:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8796:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8807:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8792:3:150"},"nodeType":"YulFunctionCall","src":"8792:18:150"},{"hexValue":"6520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"8812:20:150","type":"","value":"e the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8785:6:150"},"nodeType":"YulFunctionCall","src":"8785:48:150"},"nodeType":"YulExpressionStatement","src":"8785:48:150"},{"nodeType":"YulAssignment","src":"8842:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8854:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8865:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8850:3:150"},"nodeType":"YulFunctionCall","src":"8850:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8842:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8612:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8626:4:150","type":""}],"src":"8461:414:150"},{"body":{"nodeType":"YulBlock","src":"9054:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9071:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9082:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9064:6:150"},"nodeType":"YulFunctionCall","src":"9064:21:150"},"nodeType":"YulExpressionStatement","src":"9064:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9105:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9116:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9101:3:150"},"nodeType":"YulFunctionCall","src":"9101:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"9121:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9094:6:150"},"nodeType":"YulFunctionCall","src":"9094:30:150"},"nodeType":"YulExpressionStatement","src":"9094:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9144:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9155:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9140:3:150"},"nodeType":"YulFunctionCall","src":"9140:18:150"},{"hexValue":"566f746572526577617264733a205f67616c6178794d656d6265722063616e6e","kind":"string","nodeType":"YulLiteral","src":"9160:34:150","type":"","value":"VoterRewards: _galaxyMember cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9133:6:150"},"nodeType":"YulFunctionCall","src":"9133:62:150"},"nodeType":"YulExpressionStatement","src":"9133:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9215:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9226:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9211:3:150"},"nodeType":"YulFunctionCall","src":"9211:18:150"},{"hexValue":"6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"9231:24:150","type":"","value":"ot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9204:6:150"},"nodeType":"YulFunctionCall","src":"9204:52:150"},"nodeType":"YulExpressionStatement","src":"9204:52:150"},{"nodeType":"YulAssignment","src":"9265:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9277:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9288:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9273:3:150"},"nodeType":"YulFunctionCall","src":"9273:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9265:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9031:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9045:4:150","type":""}],"src":"8880:418:150"},{"body":{"nodeType":"YulBlock","src":"9477:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9494:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9505:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9487:6:150"},"nodeType":"YulFunctionCall","src":"9487:21:150"},"nodeType":"YulExpressionStatement","src":"9487:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9528:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9539:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9524:3:150"},"nodeType":"YulFunctionCall","src":"9524:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"9544:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9517:6:150"},"nodeType":"YulFunctionCall","src":"9517:30:150"},"nodeType":"YulExpressionStatement","src":"9517:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9567:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9578:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9563:3:150"},"nodeType":"YulFunctionCall","src":"9563:18:150"},{"hexValue":"566f746572526577617264733a205f623374722063616e6e6f74206265207468","kind":"string","nodeType":"YulLiteral","src":"9583:34:150","type":"","value":"VoterRewards: _b3tr cannot be th"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9556:6:150"},"nodeType":"YulFunctionCall","src":"9556:62:150"},"nodeType":"YulExpressionStatement","src":"9556:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9638:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9649:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9634:3:150"},"nodeType":"YulFunctionCall","src":"9634:18:150"},{"hexValue":"65207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"9654:16:150","type":"","value":"e zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9627:6:150"},"nodeType":"YulFunctionCall","src":"9627:44:150"},"nodeType":"YulExpressionStatement","src":"9627:44:150"},{"nodeType":"YulAssignment","src":"9680:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9692:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9703:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9688:3:150"},"nodeType":"YulFunctionCall","src":"9688:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9680:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9454:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9468:4:150","type":""}],"src":"9303:410:150"},{"body":{"nodeType":"YulBlock","src":"9892:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9909:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9920:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9902:6:150"},"nodeType":"YulFunctionCall","src":"9902:21:150"},"nodeType":"YulExpressionStatement","src":"9902:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9943:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9954:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9939:3:150"},"nodeType":"YulFunctionCall","src":"9939:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"9959:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9932:6:150"},"nodeType":"YulFunctionCall","src":"9932:30:150"},"nodeType":"YulExpressionStatement","src":"9932:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9982:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9993:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9978:3:150"},"nodeType":"YulFunctionCall","src":"9978:18:150"},{"hexValue":"566f746572526577617264733a206c6576656c73206d75737420686176652061","kind":"string","nodeType":"YulLiteral","src":"9998:34:150","type":"","value":"VoterRewards: levels must have a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9971:6:150"},"nodeType":"YulFunctionCall","src":"9971:62:150"},"nodeType":"YulExpressionStatement","src":"9971:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10053:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10064:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10049:3:150"},"nodeType":"YulFunctionCall","src":"10049:18:150"},{"hexValue":"74206c65617374206f6e6520656c656d656e74","kind":"string","nodeType":"YulLiteral","src":"10069:21:150","type":"","value":"t least one element"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10042:6:150"},"nodeType":"YulFunctionCall","src":"10042:49:150"},"nodeType":"YulExpressionStatement","src":"10042:49:150"},{"nodeType":"YulAssignment","src":"10100:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10112:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10123:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10108:3:150"},"nodeType":"YulFunctionCall","src":"10108:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10100:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9869:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9883:4:150","type":""}],"src":"9718:415:150"},{"body":{"nodeType":"YulBlock","src":"10312:252:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10329:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10340:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10322:6:150"},"nodeType":"YulFunctionCall","src":"10322:21:150"},"nodeType":"YulExpressionStatement","src":"10322:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10363:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10374:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10359:3:150"},"nodeType":"YulFunctionCall","src":"10359:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"10379:2:150","type":"","value":"62"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10352:6:150"},"nodeType":"YulFunctionCall","src":"10352:30:150"},"nodeType":"YulExpressionStatement","src":"10352:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10402:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10413:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10398:3:150"},"nodeType":"YulFunctionCall","src":"10398:18:150"},{"hexValue":"566f746572526577617264733a206c6576656c7320616e64206d756c7469706c","kind":"string","nodeType":"YulLiteral","src":"10418:34:150","type":"","value":"VoterRewards: levels and multipl"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10391:6:150"},"nodeType":"YulFunctionCall","src":"10391:62:150"},"nodeType":"YulExpressionStatement","src":"10391:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10473:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10484:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10469:3:150"},"nodeType":"YulFunctionCall","src":"10469:18:150"},{"hexValue":"69657273206d7573742068617665207468652073616d65206c656e677468","kind":"string","nodeType":"YulLiteral","src":"10489:32:150","type":"","value":"iers must have the same length"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10462:6:150"},"nodeType":"YulFunctionCall","src":"10462:60:150"},"nodeType":"YulExpressionStatement","src":"10462:60:150"},{"nodeType":"YulAssignment","src":"10531:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10543:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10554:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10539:3:150"},"nodeType":"YulFunctionCall","src":"10539:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10531:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10289:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10303:4:150","type":""}],"src":"10138:426:150"},{"body":{"nodeType":"YulBlock","src":"10601:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10618:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10625:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10630:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10621:3:150"},"nodeType":"YulFunctionCall","src":"10621:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10611:6:150"},"nodeType":"YulFunctionCall","src":"10611:31:150"},"nodeType":"YulExpressionStatement","src":"10611:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10658:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10661:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10651:6:150"},"nodeType":"YulFunctionCall","src":"10651:15:150"},"nodeType":"YulExpressionStatement","src":"10651:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10682:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10685:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10675:6:150"},"nodeType":"YulFunctionCall","src":"10675:15:150"},"nodeType":"YulExpressionStatement","src":"10675:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"10569:127:150"},{"body":{"nodeType":"YulBlock","src":"10748:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"10779:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"10781:16:150"},"nodeType":"YulFunctionCall","src":"10781:18:150"},"nodeType":"YulExpressionStatement","src":"10781:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10764:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10775:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10771:3:150"},"nodeType":"YulFunctionCall","src":"10771:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"10761:2:150"},"nodeType":"YulFunctionCall","src":"10761:17:150"},"nodeType":"YulIf","src":"10758:43:150"},{"nodeType":"YulAssignment","src":"10810:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10821:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10828:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10817:3:150"},"nodeType":"YulFunctionCall","src":"10817:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"10810:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10730:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"10740:3:150","type":""}],"src":"10701:135:150"},{"body":{"nodeType":"YulBlock","src":"11015:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11032:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11043:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11025:6:150"},"nodeType":"YulFunctionCall","src":"11025:21:150"},"nodeType":"YulExpressionStatement","src":"11025:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11066:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11077:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11062:3:150"},"nodeType":"YulFunctionCall","src":"11062:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"11082:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11055:6:150"},"nodeType":"YulFunctionCall","src":"11055:30:150"},"nodeType":"YulExpressionStatement","src":"11055:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11105:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11116:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11101:3:150"},"nodeType":"YulFunctionCall","src":"11101:18:150"},{"hexValue":"566f746572526577617264733a2061646d696e2063616e6e6f74206265207468","kind":"string","nodeType":"YulLiteral","src":"11121:34:150","type":"","value":"VoterRewards: admin cannot be th"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11094:6:150"},"nodeType":"YulFunctionCall","src":"11094:62:150"},"nodeType":"YulExpressionStatement","src":"11094:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11176:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11187:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11172:3:150"},"nodeType":"YulFunctionCall","src":"11172:18:150"},{"hexValue":"65207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"11192:16:150","type":"","value":"e zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11165:6:150"},"nodeType":"YulFunctionCall","src":"11165:44:150"},"nodeType":"YulExpressionStatement","src":"11165:44:150"},{"nodeType":"YulAssignment","src":"11218:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11230:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11241:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11226:3:150"},"nodeType":"YulFunctionCall","src":"11226:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11218:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10992:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11006:4:150","type":""}],"src":"10841:410:150"},{"body":{"nodeType":"YulBlock","src":"11364:101:150","statements":[{"nodeType":"YulAssignment","src":"11374:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11386:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11397:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11382:3:150"},"nodeType":"YulFunctionCall","src":"11382:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11374:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11416:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11431:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11447:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"11451:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11443:3:150"},"nodeType":"YulFunctionCall","src":"11443:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"11455:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11439:3:150"},"nodeType":"YulFunctionCall","src":"11439:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11427:3:150"},"nodeType":"YulFunctionCall","src":"11427:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11409:6:150"},"nodeType":"YulFunctionCall","src":"11409:50:150"},"nodeType":"YulExpressionStatement","src":"11409:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11333:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11344:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11355:4:150","type":""}],"src":"11256:209:150"},{"body":{"nodeType":"YulBlock","src":"11644:226:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11661:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11672:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11654:6:150"},"nodeType":"YulFunctionCall","src":"11654:21:150"},"nodeType":"YulExpressionStatement","src":"11654:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11695:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11706:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11691:3:150"},"nodeType":"YulFunctionCall","src":"11691:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"11711:2:150","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11684:6:150"},"nodeType":"YulFunctionCall","src":"11684:30:150"},"nodeType":"YulExpressionStatement","src":"11684:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11734:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11745:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11730:3:150"},"nodeType":"YulFunctionCall","src":"11730:18:150"},{"hexValue":"566f746572526577617264733a2070726f706f73616c49642063616e6e6f7420","kind":"string","nodeType":"YulLiteral","src":"11750:34:150","type":"","value":"VoterRewards: proposalId cannot "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11723:6:150"},"nodeType":"YulFunctionCall","src":"11723:62:150"},"nodeType":"YulExpressionStatement","src":"11723:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11805:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11816:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11801:3:150"},"nodeType":"YulFunctionCall","src":"11801:18:150"},{"hexValue":"62652030","kind":"string","nodeType":"YulLiteral","src":"11821:6:150","type":"","value":"be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11794:6:150"},"nodeType":"YulFunctionCall","src":"11794:34:150"},"nodeType":"YulExpressionStatement","src":"11794:34:150"},{"nodeType":"YulAssignment","src":"11837:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11849:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11860:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11845:3:150"},"nodeType":"YulFunctionCall","src":"11845:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11837:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_7bdf03e077f892d7074e00cd1573dcda0e01b32da1da10312be00f4bb5e65a1d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11621:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11635:4:150","type":""}],"src":"11470:400:150"},{"body":{"nodeType":"YulBlock","src":"12049:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12066:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12077:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12059:6:150"},"nodeType":"YulFunctionCall","src":"12059:21:150"},"nodeType":"YulExpressionStatement","src":"12059:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12100:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12111:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12096:3:150"},"nodeType":"YulFunctionCall","src":"12096:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"12116:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12089:6:150"},"nodeType":"YulFunctionCall","src":"12089:30:150"},"nodeType":"YulExpressionStatement","src":"12089:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12139:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12150:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12135:3:150"},"nodeType":"YulFunctionCall","src":"12135:18:150"},{"hexValue":"566f746572526577617264733a20766f7465722063616e6e6f74206265207468","kind":"string","nodeType":"YulLiteral","src":"12155:34:150","type":"","value":"VoterRewards: voter cannot be th"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12128:6:150"},"nodeType":"YulFunctionCall","src":"12128:62:150"},"nodeType":"YulExpressionStatement","src":"12128:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12210:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12221:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12206:3:150"},"nodeType":"YulFunctionCall","src":"12206:18:150"},{"hexValue":"65207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"12226:16:150","type":"","value":"e zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12199:6:150"},"nodeType":"YulFunctionCall","src":"12199:44:150"},"nodeType":"YulExpressionStatement","src":"12199:44:150"},{"nodeType":"YulAssignment","src":"12252:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12264:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12275:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12260:3:150"},"nodeType":"YulFunctionCall","src":"12260:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12252:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12026:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12040:4:150","type":""}],"src":"11875:410:150"},{"body":{"nodeType":"YulBlock","src":"12391:102:150","statements":[{"nodeType":"YulAssignment","src":"12401:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12413:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12424:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12409:3:150"},"nodeType":"YulFunctionCall","src":"12409:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12401:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12443:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12458:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12474:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12479:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12470:3:150"},"nodeType":"YulFunctionCall","src":"12470:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"12483:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12466:3:150"},"nodeType":"YulFunctionCall","src":"12466:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12454:3:150"},"nodeType":"YulFunctionCall","src":"12454:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12436:6:150"},"nodeType":"YulFunctionCall","src":"12436:51:150"},"nodeType":"YulExpressionStatement","src":"12436:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12360:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12371:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12382:4:150","type":""}],"src":"12290:203:150"},{"body":{"nodeType":"YulBlock","src":"12546:77:150","statements":[{"nodeType":"YulAssignment","src":"12556:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12567:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12570:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12563:3:150"},"nodeType":"YulFunctionCall","src":"12563:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"12556:3:150"}]},{"body":{"nodeType":"YulBlock","src":"12595:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12597:16:150"},"nodeType":"YulFunctionCall","src":"12597:18:150"},"nodeType":"YulExpressionStatement","src":"12597:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12587:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"12590:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12584:2:150"},"nodeType":"YulFunctionCall","src":"12584:10:150"},"nodeType":"YulIf","src":"12581:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12529:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12532:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"12538:3:150","type":""}],"src":"12498:125:150"},{"body":{"nodeType":"YulBlock","src":"12757:119:150","statements":[{"nodeType":"YulAssignment","src":"12767:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12779:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12790:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12775:3:150"},"nodeType":"YulFunctionCall","src":"12775:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12767:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12809:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12820:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12802:6:150"},"nodeType":"YulFunctionCall","src":"12802:25:150"},"nodeType":"YulExpressionStatement","src":"12802:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12847:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12858:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12843:3:150"},"nodeType":"YulFunctionCall","src":"12843:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12863:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12836:6:150"},"nodeType":"YulFunctionCall","src":"12836:34:150"},"nodeType":"YulExpressionStatement","src":"12836:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12718:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12729:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12737:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12748:4:150","type":""}],"src":"12628:248:150"},{"body":{"nodeType":"YulBlock","src":"13055:232:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13072:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13083:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13065:6:150"},"nodeType":"YulFunctionCall","src":"13065:21:150"},"nodeType":"YulExpressionStatement","src":"13065:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13106:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13117:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13102:3:150"},"nodeType":"YulFunctionCall","src":"13102:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"13122:2:150","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13095:6:150"},"nodeType":"YulFunctionCall","src":"13095:30:150"},"nodeType":"YulExpressionStatement","src":"13095:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13145:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13156:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13141:3:150"},"nodeType":"YulFunctionCall","src":"13141:18:150"},{"hexValue":"566f746572526577617264733a206c6576656c206d7573742062652067726561","kind":"string","nodeType":"YulLiteral","src":"13161:34:150","type":"","value":"VoterRewards: level must be grea"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13134:6:150"},"nodeType":"YulFunctionCall","src":"13134:62:150"},"nodeType":"YulExpressionStatement","src":"13134:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13216:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13227:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13212:3:150"},"nodeType":"YulFunctionCall","src":"13212:18:150"},{"hexValue":"746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"13232:12:150","type":"","value":"ter than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13205:6:150"},"nodeType":"YulFunctionCall","src":"13205:40:150"},"nodeType":"YulExpressionStatement","src":"13205:40:150"},{"nodeType":"YulAssignment","src":"13254:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13266:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13277:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13262:3:150"},"nodeType":"YulFunctionCall","src":"13262:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13254:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13032:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13046:4:150","type":""}],"src":"12881:406:150"},{"body":{"nodeType":"YulBlock","src":"13466:237:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13483:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13494:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13476:6:150"},"nodeType":"YulFunctionCall","src":"13476:21:150"},"nodeType":"YulExpressionStatement","src":"13476:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13517:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13528:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13513:3:150"},"nodeType":"YulFunctionCall","src":"13513:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"13533:2:150","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13506:6:150"},"nodeType":"YulFunctionCall","src":"13506:30:150"},"nodeType":"YulExpressionStatement","src":"13506:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13556:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13567:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13552:3:150"},"nodeType":"YulFunctionCall","src":"13552:18:150"},{"hexValue":"566f746572526577617264733a206d756c7469706c696572206d757374206265","kind":"string","nodeType":"YulLiteral","src":"13572:34:150","type":"","value":"VoterRewards: multiplier must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13545:6:150"},"nodeType":"YulFunctionCall","src":"13545:62:150"},"nodeType":"YulExpressionStatement","src":"13545:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13627:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13638:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13623:3:150"},"nodeType":"YulFunctionCall","src":"13623:18:150"},{"hexValue":"2067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"13643:17:150","type":"","value":" greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13616:6:150"},"nodeType":"YulFunctionCall","src":"13616:45:150"},"nodeType":"YulExpressionStatement","src":"13616:45:150"},{"nodeType":"YulAssignment","src":"13670:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13682:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13693:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13678:3:150"},"nodeType":"YulFunctionCall","src":"13678:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13670:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13443:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13457:4:150","type":""}],"src":"13292:411:150"},{"body":{"nodeType":"YulBlock","src":"13882:232:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13899:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13910:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13892:6:150"},"nodeType":"YulFunctionCall","src":"13892:21:150"},"nodeType":"YulExpressionStatement","src":"13892:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13933:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13944:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13929:3:150"},"nodeType":"YulFunctionCall","src":"13929:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"13949:2:150","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13922:6:150"},"nodeType":"YulFunctionCall","src":"13922:30:150"},"nodeType":"YulExpressionStatement","src":"13922:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13972:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13983:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13968:3:150"},"nodeType":"YulFunctionCall","src":"13968:18:150"},{"hexValue":"566f746572526577617264733a206379636c65206d7573742062652067726561","kind":"string","nodeType":"YulLiteral","src":"13988:34:150","type":"","value":"VoterRewards: cycle must be grea"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13961:6:150"},"nodeType":"YulFunctionCall","src":"13961:62:150"},"nodeType":"YulExpressionStatement","src":"13961:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14043:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14054:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14039:3:150"},"nodeType":"YulFunctionCall","src":"14039:18:150"},{"hexValue":"746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"14059:12:150","type":"","value":"ter than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14032:6:150"},"nodeType":"YulFunctionCall","src":"14032:40:150"},"nodeType":"YulExpressionStatement","src":"14032:40:150"},{"nodeType":"YulAssignment","src":"14081:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14093:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14104:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14089:3:150"},"nodeType":"YulFunctionCall","src":"14089:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14081:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13859:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13873:4:150","type":""}],"src":"13708:406:150"},{"body":{"nodeType":"YulBlock","src":"14197:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"14243:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14252:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14255:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14245:6:150"},"nodeType":"YulFunctionCall","src":"14245:12:150"},"nodeType":"YulExpressionStatement","src":"14245:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14218:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14227:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14214:3:150"},"nodeType":"YulFunctionCall","src":"14214:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14239:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14210:3:150"},"nodeType":"YulFunctionCall","src":"14210:32:150"},"nodeType":"YulIf","src":"14207:52:150"},{"nodeType":"YulVariableDeclaration","src":"14268:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14287:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14281:5:150"},"nodeType":"YulFunctionCall","src":"14281:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14272:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14350:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14359:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14362:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14352:6:150"},"nodeType":"YulFunctionCall","src":"14352:12:150"},"nodeType":"YulExpressionStatement","src":"14352:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14319:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14340:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14333:6:150"},"nodeType":"YulFunctionCall","src":"14333:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14326:6:150"},"nodeType":"YulFunctionCall","src":"14326:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14316:2:150"},"nodeType":"YulFunctionCall","src":"14316:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14309:6:150"},"nodeType":"YulFunctionCall","src":"14309:40:150"},"nodeType":"YulIf","src":"14306:60:150"},{"nodeType":"YulAssignment","src":"14375:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14385:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14375:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14163:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14174:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14186:6:150","type":""}],"src":"14119:277:150"},{"body":{"nodeType":"YulBlock","src":"14575:223:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14592:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14603:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14585:6:150"},"nodeType":"YulFunctionCall","src":"14585:21:150"},"nodeType":"YulExpressionStatement","src":"14585:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14626:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14637:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14622:3:150"},"nodeType":"YulFunctionCall","src":"14622:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"14642:2:150","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14615:6:150"},"nodeType":"YulFunctionCall","src":"14615:30:150"},"nodeType":"YulExpressionStatement","src":"14615:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14665:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14676:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14661:3:150"},"nodeType":"YulFunctionCall","src":"14661:18:150"},{"hexValue":"566f746572526577617264733a206379636c65206d75737420626520656e6465","kind":"string","nodeType":"YulLiteral","src":"14681:34:150","type":"","value":"VoterRewards: cycle must be ende"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14654:6:150"},"nodeType":"YulFunctionCall","src":"14654:62:150"},"nodeType":"YulExpressionStatement","src":"14654:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14736:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14747:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14732:3:150"},"nodeType":"YulFunctionCall","src":"14732:18:150"},{"hexValue":"64","kind":"string","nodeType":"YulLiteral","src":"14752:3:150","type":"","value":"d"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14725:6:150"},"nodeType":"YulFunctionCall","src":"14725:31:150"},"nodeType":"YulExpressionStatement","src":"14725:31:150"},{"nodeType":"YulAssignment","src":"14765:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14777:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14788:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14773:3:150"},"nodeType":"YulFunctionCall","src":"14773:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14765:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14552:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14566:4:150","type":""}],"src":"14401:397:150"},{"body":{"nodeType":"YulBlock","src":"14977:233:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14994:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15005:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14987:6:150"},"nodeType":"YulFunctionCall","src":"14987:21:150"},"nodeType":"YulExpressionStatement","src":"14987:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15028:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15039:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15024:3:150"},"nodeType":"YulFunctionCall","src":"15024:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15044:2:150","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15017:6:150"},"nodeType":"YulFunctionCall","src":"15017:30:150"},"nodeType":"YulExpressionStatement","src":"15017:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15067:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15078:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15063:3:150"},"nodeType":"YulFunctionCall","src":"15063:18:150"},{"hexValue":"566f746572526577617264733a20726577617264206d75737420626520677265","kind":"string","nodeType":"YulLiteral","src":"15083:34:150","type":"","value":"VoterRewards: reward must be gre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15056:6:150"},"nodeType":"YulFunctionCall","src":"15056:62:150"},"nodeType":"YulExpressionStatement","src":"15056:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15138:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15149:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15134:3:150"},"nodeType":"YulFunctionCall","src":"15134:18:150"},{"hexValue":"61746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"15154:13:150","type":"","value":"ater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15127:6:150"},"nodeType":"YulFunctionCall","src":"15127:41:150"},"nodeType":"YulExpressionStatement","src":"15127:41:150"},{"nodeType":"YulAssignment","src":"15177:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15189:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15200:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15185:3:150"},"nodeType":"YulFunctionCall","src":"15185:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15177:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14954:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14968:4:150","type":""}],"src":"14803:407:150"},{"body":{"nodeType":"YulBlock","src":"15389:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15406:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15417:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15399:6:150"},"nodeType":"YulFunctionCall","src":"15399:21:150"},"nodeType":"YulExpressionStatement","src":"15399:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15440:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15451:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15436:3:150"},"nodeType":"YulFunctionCall","src":"15436:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15456:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15429:6:150"},"nodeType":"YulFunctionCall","src":"15429:30:150"},"nodeType":"YulExpressionStatement","src":"15429:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15479:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15490:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15475:3:150"},"nodeType":"YulFunctionCall","src":"15475:18:150"},{"hexValue":"566f746572526577617264733a206e6f7420656e6f756768204233545220696e","kind":"string","nodeType":"YulLiteral","src":"15495:34:150","type":"","value":"VoterRewards: not enough B3TR in"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15468:6:150"},"nodeType":"YulFunctionCall","src":"15468:62:150"},"nodeType":"YulExpressionStatement","src":"15468:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15550:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15561:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15546:3:150"},"nodeType":"YulFunctionCall","src":"15546:18:150"},{"hexValue":"2074686520636f6e747261637420746f2070617920726577617264","kind":"string","nodeType":"YulLiteral","src":"15566:29:150","type":"","value":" the contract to pay reward"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15539:6:150"},"nodeType":"YulFunctionCall","src":"15539:57:150"},"nodeType":"YulExpressionStatement","src":"15539:57:150"},{"nodeType":"YulAssignment","src":"15605:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15617:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15628:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15613:3:150"},"nodeType":"YulFunctionCall","src":"15613:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15605:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15366:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15380:4:150","type":""}],"src":"15215:423:150"},{"body":{"nodeType":"YulBlock","src":"15772:145:150","statements":[{"nodeType":"YulAssignment","src":"15782:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15794:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15805:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15790:3:150"},"nodeType":"YulFunctionCall","src":"15790:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15782:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15824:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15839:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15855:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"15860:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15851:3:150"},"nodeType":"YulFunctionCall","src":"15851:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"15864:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15847:3:150"},"nodeType":"YulFunctionCall","src":"15847:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15835:3:150"},"nodeType":"YulFunctionCall","src":"15835:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15817:6:150"},"nodeType":"YulFunctionCall","src":"15817:51:150"},"nodeType":"YulExpressionStatement","src":"15817:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15888:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15899:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15884:3:150"},"nodeType":"YulFunctionCall","src":"15884:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"15904:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15877:6:150"},"nodeType":"YulFunctionCall","src":"15877:34:150"},"nodeType":"YulExpressionStatement","src":"15877:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15733:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15744:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15752:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15763:4:150","type":""}],"src":"15643:274:150"},{"body":{"nodeType":"YulBlock","src":"16096:179:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16113:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16124:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16106:6:150"},"nodeType":"YulFunctionCall","src":"16106:21:150"},"nodeType":"YulExpressionStatement","src":"16106:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16147:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16158:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16143:3:150"},"nodeType":"YulFunctionCall","src":"16143:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16163:2:150","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16136:6:150"},"nodeType":"YulFunctionCall","src":"16136:30:150"},"nodeType":"YulExpressionStatement","src":"16136:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16186:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16197:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16182:3:150"},"nodeType":"YulFunctionCall","src":"16182:18:150"},{"hexValue":"566f746572526577617264733a207472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"16202:31:150","type":"","value":"VoterRewards: transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16175:6:150"},"nodeType":"YulFunctionCall","src":"16175:59:150"},"nodeType":"YulExpressionStatement","src":"16175:59:150"},{"nodeType":"YulAssignment","src":"16243:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16255:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16266:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16251:3:150"},"nodeType":"YulFunctionCall","src":"16251:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16243:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16073:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16087:4:150","type":""}],"src":"15922:353:150"},{"body":{"nodeType":"YulBlock","src":"16416:130:150","statements":[{"nodeType":"YulAssignment","src":"16426:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16438:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16449:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16434:3:150"},"nodeType":"YulFunctionCall","src":"16434:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16426:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16468:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16483:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"16491:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16479:3:150"},"nodeType":"YulFunctionCall","src":"16479:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16461:6:150"},"nodeType":"YulFunctionCall","src":"16461:36:150"},"nodeType":"YulExpressionStatement","src":"16461:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16517:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16528:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16513:3:150"},"nodeType":"YulFunctionCall","src":"16513:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"16533:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16506:6:150"},"nodeType":"YulFunctionCall","src":"16506:34:150"},"nodeType":"YulExpressionStatement","src":"16506:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16377:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16388:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16396:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16407:4:150","type":""}],"src":"16280:266:150"},{"body":{"nodeType":"YulBlock","src":"16600:79:150","statements":[{"nodeType":"YulAssignment","src":"16610:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16622:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"16625:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16618:3:150"},"nodeType":"YulFunctionCall","src":"16618:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"16610:4:150"}]},{"body":{"nodeType":"YulBlock","src":"16651:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16653:16:150"},"nodeType":"YulFunctionCall","src":"16653:18:150"},"nodeType":"YulExpressionStatement","src":"16653:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"16642:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"16648:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16639:2:150"},"nodeType":"YulFunctionCall","src":"16639:11:150"},"nodeType":"YulIf","src":"16636:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"16582:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"16585:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"16591:4:150","type":""}],"src":"16551:128:150"},{"body":{"nodeType":"YulBlock","src":"16765:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"16811:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16820:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16823:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16813:6:150"},"nodeType":"YulFunctionCall","src":"16813:12:150"},"nodeType":"YulExpressionStatement","src":"16813:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16786:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16795:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16782:3:150"},"nodeType":"YulFunctionCall","src":"16782:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16807:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16778:3:150"},"nodeType":"YulFunctionCall","src":"16778:32:150"},"nodeType":"YulIf","src":"16775:52:150"},{"nodeType":"YulAssignment","src":"16836:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16852:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16846:5:150"},"nodeType":"YulFunctionCall","src":"16846:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16836:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16731:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16742:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16754:6:150","type":""}],"src":"16684:184:150"},{"body":{"nodeType":"YulBlock","src":"17002:145:150","statements":[{"nodeType":"YulAssignment","src":"17012:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17024:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17035:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17020:3:150"},"nodeType":"YulFunctionCall","src":"17020:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17012:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17054:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17069:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17085:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17090:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17081:3:150"},"nodeType":"YulFunctionCall","src":"17081:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17094:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17077:3:150"},"nodeType":"YulFunctionCall","src":"17077:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17065:3:150"},"nodeType":"YulFunctionCall","src":"17065:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17047:6:150"},"nodeType":"YulFunctionCall","src":"17047:51:150"},"nodeType":"YulExpressionStatement","src":"17047:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17118:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17129:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17114:3:150"},"nodeType":"YulFunctionCall","src":"17114:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17134:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17107:6:150"},"nodeType":"YulFunctionCall","src":"17107:34:150"},"nodeType":"YulExpressionStatement","src":"17107:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16963:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16974:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16982:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16993:4:150","type":""}],"src":"16873:274:150"},{"body":{"nodeType":"YulBlock","src":"17289:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"17299:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17319:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17313:5:150"},"nodeType":"YulFunctionCall","src":"17313:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"17303:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17374:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17382:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17370:3:150"},"nodeType":"YulFunctionCall","src":"17370:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"17389:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"17394:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"17335:34:150"},"nodeType":"YulFunctionCall","src":"17335:66:150"},"nodeType":"YulExpressionStatement","src":"17335:66:150"},{"nodeType":"YulAssignment","src":"17410:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17421:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"17426:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17417:3:150"},"nodeType":"YulFunctionCall","src":"17417:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"17410:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"17265:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17270:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"17281:3:150","type":""}],"src":"17152:287:150"}]},"contents":"{\n    { }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let _3 := shl(5, _1)\n        let dst := allocate_memory(add(_3, _2))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, _3), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_addresst_addresst_addresst_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := abi_decode_address(add(headStart, 64))\n        value3 := abi_decode_address(add(headStart, 96))\n        value4 := abi_decode_address(add(headStart, 128))\n        value5 := abi_decode_address(add(headStart, 160))\n        let offset := calldataload(add(headStart, 192))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value6 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 224))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value7 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n    }\n    function abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IGalaxyMemberV2_$32081__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        value3 := calldataload(add(headStart, 96))\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        if gt(_4, _2) { panic_error_0x41() }\n        let array := allocate_memory(add(and(add(_4, 0x1f), not(31)), _1))\n        mstore(array, _4)\n        if gt(add(add(_3, _4), _1), dataEnd) { revert(0, 0) }\n        calldatacopy(add(array, _1), add(_3, _1), _4)\n        mstore(add(add(array, _4), _1), 0)\n        value1 := array\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let length := mload(value0)\n        mstore(add(headStart, 32), length)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(headStart, 64), length)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n    }\n    function abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_uint48(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_stringliteral_a3e220724e3d6c383f3806d7b49863a32aa9cff18100e471a2ad3af0fce20001__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 50)\n        mstore(add(headStart, 64), \"VoterRewards: emissions cannot b\")\n        mstore(add(headStart, 96), \"e the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_899121878310b497386e387e8ee9b1fa7fa9985f00d3a51f9c7c1e535251ab8d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"VoterRewards: _galaxyMember cann\")\n        mstore(add(headStart, 96), \"ot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_19d8ae790e4c12f80c31f0b704e0df9fda27e1dfc4208cc4981525033ecde5a6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"VoterRewards: _b3tr cannot be th\")\n        mstore(add(headStart, 96), \"e zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_4bde11401c75658d430346d50200116bf96b13485c980dead1ba8206b90e0907__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"VoterRewards: levels must have a\")\n        mstore(add(headStart, 96), \"t least one element\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_50a72182a9fcbb6be18a1bb037fa256763effba0834cb55d9365f66cc4b84535__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 62)\n        mstore(add(headStart, 64), \"VoterRewards: levels and multipl\")\n        mstore(add(headStart, 96), \"iers must have the same length\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_stringliteral_d0cb684923305c9ead2ea2e807b535357969f0f4dcac313f11ee63ad9d786d5c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"VoterRewards: admin cannot be th\")\n        mstore(add(headStart, 96), \"e zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_7bdf03e077f892d7074e00cd1573dcda0e01b32da1da10312be00f4bb5e65a1d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 36)\n        mstore(add(headStart, 64), \"VoterRewards: proposalId cannot \")\n        mstore(add(headStart, 96), \"be 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_53b3b13a15f2dff9fdd8050e25704a9a7a6640f6e2d45993f5c2e4c506bfbd90__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"VoterRewards: voter cannot be th\")\n        mstore(add(headStart, 96), \"e zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_b70b1f063da42f99b478e75ac737814a573316da1305bca84042937e6257a642__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 42)\n        mstore(add(headStart, 64), \"VoterRewards: level must be grea\")\n        mstore(add(headStart, 96), \"ter than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_8f33fd9928478577c55b0b05bb1ce1a67cef15fb831ab7e408644a64edb0da38__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 47)\n        mstore(add(headStart, 64), \"VoterRewards: multiplier must be\")\n        mstore(add(headStart, 96), \" greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_50bd4e06af5f96553d406a5af7be562cb98a1f7eda420c8d683e936b331f761a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 42)\n        mstore(add(headStart, 64), \"VoterRewards: cycle must be grea\")\n        mstore(add(headStart, 96), \"ter than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_9649fcdba7d0cfaa57de6ce2535407c86990f6e43dfaa90ecec130e4a84b438d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 33)\n        mstore(add(headStart, 64), \"VoterRewards: cycle must be ende\")\n        mstore(add(headStart, 96), \"d\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_130d868c482bf06aa3c270ad6f396de776d165c534d92260355efbddaa1ada98__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 43)\n        mstore(add(headStart, 64), \"VoterRewards: reward must be gre\")\n        mstore(add(headStart, 96), \"ater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_0fd632dbfa22da078f263931478e60c65c2d2b525e0d02526186b50770400ac2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"VoterRewards: not enough B3TR in\")\n        mstore(add(headStart, 96), \" the contract to pay reward\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_79fbaab5bd3d2669e07850a9ac976d4ce03ec70d6f1e8c072556e3344603d17b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"VoterRewards: transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":7546},{"length":32,"start":7587},{"length":32,"start":7915}]},"linkReferences":{},"object":"6080604052600436106101935760003560e01c80628f33d71461019857806301ffc9a7146101cb57806308834ee7146101fb5780630dd3729c1461021d578063105fe5001461023d5780632267716c1461025d5780632325e4b91461027f578063248a9ca3146102945780632f18339d146102b45780632f2ff15d146102d457806336568abe146102f45780634f1ef2861461031457806352d1902d1461032757806354fd4d501461033c578063582a486a1461036f5780635fdc17521461038457806371057f75146103a45780638dbb1e3a146103b957806391d14854146103d957806391ddadf4146103f9578063952f213314610425578063a217fddf14610447578063ad3cb1cc1461045c578063ae075b071461048d578063ae0b8da8146104ad578063b0b3de89146104cd578063be64bad8146104ed578063c208b4e714610502578063d547741f14610522578063de7fd13314610542578063e70eb39214610564578063ee80e93214610584578063eea41608146105a4578063ef4cadc5146105c4578063f72c0d8b146105db575b600080fd5b3480156101a457600080fd5b506101b86101b336600461259b565b6105fd565b6040519081526020015b60405180910390f35b3480156101d757600080fd5b506101eb6101e63660046125c7565b610734565b60405190151581526020016101c2565b34801561020757600080fd5b5061021b6102163660046125f1565b610769565b005b34801561022957600080fd5b5061021b6102383660046126c6565b610820565b34801561024957600080fd5b506101b861025836600461259b565b610c2b565b34801561026957600080fd5b50610272610c61565b6040516101c2919061278d565b34801561028b57600080fd5b50610272610c7f565b3480156102a057600080fd5b506101b86102af3660046127a1565b610c9a565b3480156102c057600080fd5b5061021b6102cf3660046127ba565b610cba565b3480156102e057600080fd5b5061021b6102ef36600461259b565b6110c5565b34801561030057600080fd5b5061021b61030f36600461259b565b6110e7565b61021b6103223660046127f5565b61111f565b34801561033357600080fd5b506101b861113e565b34801561034857600080fd5b506040805180820190915260018152603360f81b60208201525b6040516101c291906128be565b34801561037b57600080fd5b5061027261115b565b34801561039057600080fd5b506101b861039f3660046127a1565b611179565b3480156103b057600080fd5b506101eb611199565b3480156103c557600080fd5b506101b86103d43660046128f1565b61124f565b3480156103e557600080fd5b506101eb6103f436600461259b565b611387565b34801561040557600080fd5b5061040e6113bd565b60405165ffffffffffff90911681526020016101c2565b34801561043157600080fd5b506101b8600080516020612b9c83398151915281565b34801561045357600080fd5b506101b8600081565b34801561046857600080fd5b50610362604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561049957600080fd5b506101eb6104a83660046128f1565b6113cc565b3480156104b957600080fd5b5061021b6104c83660046125f1565b6113f9565b3480156104d957600080fd5b5061021b6104e83660046128f1565b6114a1565b3480156104f957600080fd5b5061021b6115d9565b34801561050e57600080fd5b506101b861051d3660046127a1565b611657565b34801561052e57600080fd5b5061021b61053d36600461259b565b611677565b34801561054e57600080fd5b506101b8600080516020612bbc83398151915281565b34801561057057600080fd5b5061021b61057f36600461259b565b611693565b34801561059057600080fd5b506101eb61059f366004612913565b611a7b565b3480156105b057600080fd5b506101eb6105bf3660046128f1565b611aa9565b3480156105d057600080fd5b506101b8620f424081565b3480156105e757600080fd5b506101b8600080516020612b5c83398151915281565b600080610608611ad6565b600085815260058201602090815260408083206001600160a01b03881684529091528120549192508190036106425760009250505061072e565b600085815260048301602052604081205490819003610667576000935050505061072e565b6002830154604051633542e90360e01b8152600481018890526000916001600160a01b031690633542e90390602401602060405180830381865afa1580156106b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d7919061293b565b9050806000036106ee57600094505050505061072e565b6000620f42406106fe838661296a565b610708919061296a565b905060006107168483612997565b9050610725620f424082612997565b96505050505050505b92915050565b60006001600160e01b03198216637965db0b60e01b148061072e57506301ffc9a760e01b6001600160e01b031983161461072e565b600080516020612b9c83398151915261078181611afa565b6001600160a01b0382166107b05760405162461bcd60e51b81526004016107a7906129b9565b60405180910390fd5b60006107ba611ad6565b60028101546040519192506001600160a01b0390811691908516907fee0bb99897b3f409686cb6e56601a38cea38e9e00d9b28752b3be7b28ea8b0ad90600090a360020180546001600160a01b0319166001600160a01b03939093169290921790915550565b600061082a611b07565b805490915060ff600160401b82041615906001600160401b03166000811580156108515750825b90506000826001600160401b0316600114801561086d5750303b155b90508115801561087b575080155b156108995760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156108c257845460ff60401b1916600160401b1785555b6001600160a01b0389166108e85760405162461bcd60e51b81526004016107a790612a0b565b6001600160a01b038a1661090e5760405162461bcd60e51b81526004016107a7906129b9565b6001600160a01b03881661097b5760405162461bcd60e51b815260206004820152602e60248201527f566f746572526577617264733a205f623374722063616e6e6f7420626520746860448201526d65207a65726f206164647265737360901b60648201526084016107a7565b60008751116109e85760405162461bcd60e51b815260206004820152603360248201527f566f746572526577617264733a206c6576656c73206d757374206861766520616044820152721d081b19585cdd081bdb9948195b195b595b9d606a1b60648201526084016107a7565b8551875114610a5f5760405162461bcd60e51b815260206004820152603e60248201527f566f746572526577617264733a206c6576656c7320616e64206d756c7469706c60448201527f69657273206d7573742068617665207468652073616d65206c656e677468000060648201526084016107a7565b610a67611b2b565b610a6f611b35565b610a77611b2b565b6000610a81611ad6565b80546001600160a01b03808d166001600160a01b03199283161783556001830180548d8316908416179055600283018054918f1691909216179055905060005b8851811015610b2957878181518110610adc57610adc612a61565b60200260200101518260030160008b8481518110610afc57610afc612a61565b60200260200101518152602001908152602001600020819055508080610b2190612a77565b915050610ac1565b506001600160a01b038e16610b975760405162461bcd60e51b815260206004820152602e60248201527f566f746572526577617264733a2061646d696e2063616e6e6f7420626520746860448201526d65207a65726f206164647265737360901b60648201526084016107a7565b610ba260008f611b45565b50610bbb600080516020612b5c8339815191528e611b45565b50610bd4600080516020612b9c8339815191528d611b45565b50508315610c1c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b600080610c36611ad6565b6000948552600501602090815260408086206001600160a01b03959095168652939052505090205490565b600080610c6c611ad6565b600201546001600160a01b031692915050565b600080610c8a611ad6565b546001600160a01b031692915050565b600080610ca5611be6565b60009384526020525050604090206001015490565b600080516020612bbc833981519152610cd281611afa565b81156110be5784600003610d345760405162461bcd60e51b8152602060048201526024808201527f566f746572526577617264733a2070726f706f73616c49642063616e6e6f74206044820152630626520360e41b60648201526084016107a7565b6001600160a01b038416610d5a5760405162461bcd60e51b81526004016107a790612a90565b6000610d64611ad6565b805460405163d206885d60e01b81529192506000916001600160a01b039091169063d206885d90610d9990899060040161278d565b602060405180830381865afa158015610db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda919061293b565b905060008260020160009054906101000a90046001600160a01b03166001600160a01b031663be26ed7f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e57919061293b565b90506000610e65838a61124f565b905060008790506000610eef8660020160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eea919061293b565b611c0a565b9050610efe6006870182611c41565b6001600160d01b0316600003610f1f57610f1c88633b9aca0061296a565b91505b60006064610f2d858561296a565b610f379190612997565b610f419084612ade565b9050808760040160008781526020019081526020016000206000828254610f689190612ade565b9091555050600085815260058801602090815260408083206001600160a01b038f16845290915281208054839290610fa1908490612ade565b90915550508515610fd35760008c815260078801602090815260408083208984529091529020805460ff191660011790555b865460405163958fc97d60e01b8152600481018890526000916001600160a01b03169063958fc97d90602401602060405180830381865afa15801561101c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611040919061293b565b9050801561106f5760008d815260088901602090815260408083208484529091529020805460ff191660011790555b604080518c8152602081018490526001600160a01b038e169188917fac45cfd9cf13dd2e8b216503a1ca26d9f2a35e9a6b4b1b5cecc415db06ddf63f910160405180910390a350505050505050505b5050505050565b6110ce82610c9a565b6110d781611afa565b6110e18383611b45565b50505050565b6001600160a01b03811633146111105760405163334bd91960e11b815260040160405180910390fd5b61111a8282611cf7565b505050565b611127611d6f565b61113082611e14565b61113a8282611e2c565b5050565b6000611148611ee0565b50600080516020612b7c83398151915290565b600080611166611ad6565b600101546001600160a01b031692915050565b600080611184611ad6565b60009384526003016020525050604090205490565b6000806111a4611ad6565b905060008160020160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611221919061293b565b9050600061123b61123183611c0a565b6006850190611c41565b6001600160d01b0316600114949350505050565b60008061125a611ad6565b905061126684846113cc565b1561127557600091505061072e565b805460405163958fc97d60e01b8152600481018690526000916001600160a01b03169063958fc97d90602401602060405180830381865afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e2919061293b565b90506112ee8185611aa9565b156112fe5760009250505061072e565b81546040516336af181960e11b8152600481018790526000916001600160a01b031690636d5e303290602401602060405180830381865afa158015611347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136b919061293b565b6000908152600390930160205250506040902054905092915050565b600080611392611be6565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006113c7611f29565b905090565b6000806113d7611ad6565b6000938452600701602090815260408085209585529490525050205460ff1690565b600080516020612b9c83398151915261141181611afa565b6001600160a01b0382166114375760405162461bcd60e51b81526004016107a790612a0b565b6000611441611ad6565b80546040519192506001600160a01b0390811691908516907f3e9cacccd727006bc0e1f6b190b46b34090f490cd3ab7e45f3ac7a9cfeda63ff90600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b60006114ac81611afa565b6000831161150f5760405162461bcd60e51b815260206004820152602a60248201527f566f746572526577617264733a206c6576656c206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016107a7565b600082116115775760405162461bcd60e51b815260206004820152602f60248201527f566f746572526577617264733a206d756c7469706c696572206d75737420626560448201526e02067726561746572207468616e203608c1b60648201526084016107a7565b6000611581611ad6565b6000858152600382016020526040908190208590555190915084907fcc259987543a764767934b4d714760c68fdeb2ba8318210d9802cf66ae854001906115cb9086815260200190565b60405180910390a250505050565b60006115e481611afa565b60006115ee611ad6565b905060006115fa611199565b90506116246116076113bd565b82611613576001611616565b60005b60068501919060ff16611f34565b50506040518115907f541dc5534ac80f8161f980a8975bec206aee2363c8fa3c54a4709ee3b0cbe99f90600090a2505050565b600080611662611ad6565b60009384526004016020525050604090205490565b61168082610c9a565b61168981611afa565b6110e18383611cf7565b61169b611f4f565b600082116116fe5760405162461bcd60e51b815260206004820152602a60248201527f566f746572526577617264733a206379636c65206d75737420626520677265616044820152690746572207468616e20360b41b60648201526084016107a7565b6001600160a01b0381166117245760405162461bcd60e51b81526004016107a790612a90565b600061172e611ad6565b600281015460405163e52ef17f60e01b8152600481018690529192506001600160a01b03169063e52ef17f90602401602060405180830381865afa15801561177a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179e9190612af1565b6117f45760405162461bcd60e51b815260206004820152602160248201527f566f746572526577617264733a206379636c65206d75737420626520656e64656044820152601960fa1b60648201526084016107a7565b600061180084846105fd565b9050600081116118665760405162461bcd60e51b815260206004820152602b60248201527f566f746572526577617264733a20726577617264206d7573742062652067726560448201526a061746572207468616e20360ac1b60648201526084016107a7565b60018201546040516370a0823160e01b815282916001600160a01b0316906370a082319061189890309060040161278d565b602060405180830381865afa1580156118b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d9919061293b565b101561194b5760405162461bcd60e51b815260206004820152603b60248201527f566f746572526577617264733a206e6f7420656e6f756768204233545220696e60448201527a081d1a194818dbdb9d1c9858dd081d1bc81c185e481c995dd85c99602a1b60648201526084016107a7565b600084815260058301602090815260408083206001600160a01b0380881685529252808320929092556001840154915163a9059cbb60e01b815291169063a9059cbb9061199e9086908590600401612b13565b6020604051808303816000875af11580156119bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e19190612af1565b611a2d5760405162461bcd60e51b815260206004820152601d60248201527f566f746572526577617264733a207472616e73666572206661696c656400000060448201526064016107a7565b826001600160a01b0316847f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb783604051611a6991815260200190565b60405180910390a3505061113a611f85565b600080611a86611ad6565b9050611a956006820184611c41565b6001600160d01b0316600114915050919050565b600080611ab4611ad6565b6000938452600801602090815260408085209585529490525050205460ff1690565b7f114e7ffaaf205d38cd05b17b56f3357806ef2ce889cb4748445ae91cdfc37c0090565b611b048133611f96565b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b611b33611fc1565b565b611b3d611fc1565b611b33611fe6565b600080611b50611be6565b9050611b5c8484611387565b611bdc576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055611b923390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505061072e565b600091505061072e565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600065ffffffffffff821115611c3d576040516306dfcc6560e41b815260306004820152602481018390526044016107a7565b5090565b815460009081816005811115611ca0576000611c5c84611fee565b611c669085612b2c565b60008881526020902090915081015465ffffffffffff9081169087161015611c9057809150611c9e565b611c9b816001612ade565b92505b505b6000611cae878785856120dd565b90508015611ce957611cd387611cc5600184612b2c565b600091825260209091200190565b54600160301b90046001600160d01b0316611cec565b60005b979650505050505050565b600080611d02611be6565b9050611d0e8484611387565b15611bdc576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505061072e565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611df657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611dea600080516020612b7c833981519152546001600160a01b031690565b6001600160a01b031614155b15611b335760405163703e46dd60e11b815260040160405180910390fd5b600080516020612b5c83398151915261113a81611afa565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611e86575060408051601f3d908101601f19168201909252611e839181019061293b565b60015b611ea55781604051634c9c8ce360e01b81526004016107a7919061278d565b600080516020612b7c8339815191528114611ed657604051632a87526960e21b8152600481018290526024016107a7565b61111a838361213f565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b335760405163703e46dd60e11b815260040160405180910390fd5b60006113c743611c0a565b600080611f42858585612195565b915091505b935093915050565b6000611f5961230f565b805490915060011901611f7f57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6000611f8f61230f565b6001905550565b611fa08282611387565b61113a57808260405163e2517d3f60e01b81526004016107a7929190612b13565b611fc9612333565b611b3357604051631afcd79f60e31b815260040160405180910390fd5b611f85611fc1565b60008160000361200057506000919050565b6000600161200d8461234d565b901c6001901b9050600181848161202657612026612981565b048201901c9050600181848161203e5761203e612981565b048201901c9050600181848161205657612056612981565b048201901c9050600181848161206e5761206e612981565b048201901c9050600181848161208657612086612981565b048201901c9050600181848161209e5761209e612981565b048201901c905060018184816120b6576120b6612981565b048201901c90506120d6818285816120d0576120d0612981565b046123e1565b9392505050565b60005b818310156121375760006120f484846123f7565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561212357809250612131565b61212e816001612ade565b93505b506120e0565b509392505050565b61214882612412565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561218d5761111a828261246e565b61113a6124e4565b8254600090819080156122b45760006121b387611cc5600185612b2c565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561220757604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603612253578461222a88611cc5600186612b2c565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556122a4565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150611f479050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081611f47565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b600061233d611b07565b54600160401b900460ff16919050565b600080608083901c1561236257608092831c92015b604083901c1561237457604092831c92015b602083901c1561238657602092831c92015b601083901c1561239857601092831c92015b600883901c156123aa57600892831c92015b600483901c156123bc57600492831c92015b600283901c156123ce57600292831c92015b600183901c1561072e5760010192915050565b60008183106123f057816120d6565b5090919050565b60006124066002848418612997565b6120d690848416612ade565b806001600160a01b03163b60000361243f5780604051634c9c8ce360e01b81526004016107a7919061278d565b600080516020612b7c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161248b9190612b3f565b600060405180830381855af49150503d80600081146124c6576040519150601f19603f3d011682016040523d82523d6000602084013e6124cb565b606091505b50915091506124db858383612503565b95945050505050565b3415611b335760405163b398979f60e01b815260040160405180910390fd5b6060826125185761251382612556565b6120d6565b815115801561252f57506001600160a01b0384163b155b1561254f5783604051639996b31560e01b81526004016107a7919061278d565b5092915050565b8051156125665780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b038116811461259657600080fd5b919050565b600080604083850312156125ae57600080fd5b823591506125be6020840161257f565b90509250929050565b6000602082840312156125d957600080fd5b81356001600160e01b0319811681146120d657600080fd5b60006020828403121561260357600080fd5b6120d68261257f565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561264a5761264a61260c565b604052919050565b600082601f83011261266357600080fd5b813560206001600160401b0382111561267e5761267e61260c565b8160051b61268d828201612622565b92835284810182019282810190878511156126a757600080fd5b83870192505b84831015611cec578235825291830191908301906126ad565b600080600080600080600080610100898b0312156126e357600080fd5b6126ec8961257f565b97506126fa60208a0161257f565b965061270860408a0161257f565b955061271660608a0161257f565b945061272460808a0161257f565b935061273260a08a0161257f565b925060c08901356001600160401b038082111561274e57600080fd5b61275a8c838d01612652565b935060e08b013591508082111561277057600080fd5b5061277d8b828c01612652565b9150509295985092959890939650565b6001600160a01b0391909116815260200190565b6000602082840312156127b357600080fd5b5035919050565b600080600080608085870312156127d057600080fd5b843593506127e06020860161257f565b93969395505050506040820135916060013590565b6000806040838503121561280857600080fd5b6128118361257f565b91506020838101356001600160401b038082111561282e57600080fd5b818601915086601f83011261284257600080fd5b8135818111156128545761285461260c565b612866601f8201601f19168501612622565b9150808252878482850101111561287c57600080fd5b80848401858401376000848284010152508093505050509250929050565b60005b838110156128b557818101518382015260200161289d565b50506000910152565b60208152600082518060208401526128dd81604085016020870161289a565b601f01601f19169190910160400192915050565b6000806040838503121561290457600080fd5b50508035926020909101359150565b60006020828403121561292557600080fd5b813565ffffffffffff811681146120d657600080fd5b60006020828403121561294d57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761072e5761072e612954565b634e487b7160e01b600052601260045260246000fd5b6000826129b457634e487b7160e01b600052601260045260246000fd5b500490565b60208082526032908201527f566f746572526577617264733a20656d697373696f6e732063616e6e6f7420626040820152716520746865207a65726f206164647265737360701b606082015260800190565b60208082526036908201527f566f746572526577617264733a205f67616c6178794d656d6265722063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060018201612a8957612a89612954565b5060010190565b6020808252602e908201527f566f746572526577617264733a20766f7465722063616e6e6f7420626520746860408201526d65207a65726f206164647265737360901b606082015260800190565b8082018082111561072e5761072e612954565b600060208284031215612b0357600080fd5b815180151581146120d657600080fd5b6001600160a01b03929092168252602082015260400190565b8181038181111561072e5761072e612954565b60008251612b5181846020870161289a565b919091019291505056fe189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b779e0a786be046868ec7a47625dff81941dbb889bcb3efd61d7ece9a9b92e2279a26469706673582212207a7f9fb4756d65711b2d6f6eb6f13142afaf56242bddf2a882618426926bd00664736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x193 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x8F33D7 EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x8834EE7 EQ PUSH2 0x1FB JUMPI DUP1 PUSH4 0xDD3729C EQ PUSH2 0x21D JUMPI DUP1 PUSH4 0x105FE500 EQ PUSH2 0x23D JUMPI DUP1 PUSH4 0x2267716C EQ PUSH2 0x25D JUMPI DUP1 PUSH4 0x2325E4B9 EQ PUSH2 0x27F JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0x2F18339D EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x327 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x33C JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x36F JUMPI DUP1 PUSH4 0x5FDC1752 EQ PUSH2 0x384 JUMPI DUP1 PUSH4 0x71057F75 EQ PUSH2 0x3A4 JUMPI DUP1 PUSH4 0x8DBB1E3A EQ PUSH2 0x3B9 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x425 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x447 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x45C JUMPI DUP1 PUSH4 0xAE075B07 EQ PUSH2 0x48D JUMPI DUP1 PUSH4 0xAE0B8DA8 EQ PUSH2 0x4AD JUMPI DUP1 PUSH4 0xB0B3DE89 EQ PUSH2 0x4CD JUMPI DUP1 PUSH4 0xBE64BAD8 EQ PUSH2 0x4ED JUMPI DUP1 PUSH4 0xC208B4E7 EQ PUSH2 0x502 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x522 JUMPI DUP1 PUSH4 0xDE7FD133 EQ PUSH2 0x542 JUMPI DUP1 PUSH4 0xE70EB392 EQ PUSH2 0x564 JUMPI DUP1 PUSH4 0xEE80E932 EQ PUSH2 0x584 JUMPI DUP1 PUSH4 0xEEA41608 EQ PUSH2 0x5A4 JUMPI DUP1 PUSH4 0xEF4CADC5 EQ PUSH2 0x5C4 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0x5DB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x1B3 CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x5FD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x1E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x25C7 JUMP JUMPDEST PUSH2 0x734 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1C2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x207 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x216 CALLDATASIZE PUSH1 0x4 PUSH2 0x25F1 JUMP JUMPDEST PUSH2 0x769 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x229 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x238 CALLDATASIZE PUSH1 0x4 PUSH2 0x26C6 JUMP JUMPDEST PUSH2 0x820 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x249 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x258 CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0xC2B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x272 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C2 SWAP2 SWAP1 PUSH2 0x278D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x272 PUSH2 0xC7F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x2AF CALLDATASIZE PUSH1 0x4 PUSH2 0x27A1 JUMP JUMPDEST PUSH2 0xC9A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x2CF CALLDATASIZE PUSH1 0x4 PUSH2 0x27BA JUMP JUMPDEST PUSH2 0xCBA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x2EF CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x10C5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x10E7 JUMP JUMPDEST PUSH2 0x21B PUSH2 0x322 CALLDATASIZE PUSH1 0x4 PUSH2 0x27F5 JUMP JUMPDEST PUSH2 0x111F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x333 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x113E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x33 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C2 SWAP2 SWAP1 PUSH2 0x28BE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x272 PUSH2 0x115B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x390 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x39F CALLDATASIZE PUSH1 0x4 PUSH2 0x27A1 JUMP JUMPDEST PUSH2 0x1179 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x1199 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x3D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x124F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x3F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x1387 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x40E PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1C2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B9C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x453 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x468 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x362 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x4A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x13CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x4C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x25F1 JUMP JUMPDEST PUSH2 0x13F9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x4E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x14A1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x15D9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH2 0x51D CALLDATASIZE PUSH1 0x4 PUSH2 0x27A1 JUMP JUMPDEST PUSH2 0x1657 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x53D CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x1677 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x54E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2BBC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21B PUSH2 0x57F CALLDATASIZE PUSH1 0x4 PUSH2 0x259B JUMP JUMPDEST PUSH2 0x1693 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x590 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x59F CALLDATASIZE PUSH1 0x4 PUSH2 0x2913 JUMP JUMPDEST PUSH2 0x1A7B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EB PUSH2 0x5BF CALLDATASIZE PUSH1 0x4 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x1AA9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH3 0xF4240 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x608 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x5 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP DUP2 SWAP1 SUB PUSH2 0x642 JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x4 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 DUP2 SWAP1 SUB PUSH2 0x667 JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0x72E JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x3542E903 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x3542E903 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6B3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6D7 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x6EE JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 PUSH3 0xF4240 PUSH2 0x6FE DUP4 DUP7 PUSH2 0x296A JUMP JUMPDEST PUSH2 0x708 SWAP2 SWAP1 PUSH2 0x296A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x716 DUP5 DUP4 PUSH2 0x2997 JUMP JUMPDEST SWAP1 POP PUSH2 0x725 PUSH3 0xF4240 DUP3 PUSH2 0x2997 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x72E JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B9C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x781 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x7B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7BA PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xEE0BB99897B3F409686CB6E56601A38CEA38E9E00D9B28752B3BE7B28EA8B0AD SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x82A PUSH2 0x1B07 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x851 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x86D JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x87B JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x899 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8C2 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH2 0x90E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0x97B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A205F623374722063616E6E6F74206265207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 DUP8 MLOAD GT PUSH2 0x9E8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C73206D75737420686176652061 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x1D081B19585CDD081BDB9948195B195B595B9D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST DUP6 MLOAD DUP8 MLOAD EQ PUSH2 0xA5F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C7320616E64206D756C7469706C PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x69657273206D7573742068617665207468652073616D65206C656E6774680000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH2 0xA67 PUSH2 0x1B2B JUMP JUMPDEST PUSH2 0xA6F PUSH2 0x1B35 JUMP JUMPDEST PUSH2 0xA77 PUSH2 0x1B2B JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA81 PUSH2 0x1AD6 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP14 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR DUP4 SSTORE PUSH1 0x1 DUP4 ADD DUP1 SLOAD DUP14 DUP4 AND SWAP1 DUP5 AND OR SWAP1 SSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD SWAP2 DUP16 AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE SWAP1 POP PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0xB29 JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xADC JUMPI PUSH2 0xADC PUSH2 0x2A61 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x3 ADD PUSH1 0x0 DUP12 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xAFC JUMPI PUSH2 0xAFC PUSH2 0x2A61 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 DUP1 PUSH2 0xB21 SWAP1 PUSH2 0x2A77 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xAC1 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND PUSH2 0xB97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A2061646D696E2063616E6E6F74206265207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH2 0xBA2 PUSH1 0x0 DUP16 PUSH2 0x1B45 JUMP JUMPDEST POP PUSH2 0xBBB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP15 PUSH2 0x1B45 JUMP JUMPDEST POP PUSH2 0xBD4 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B9C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP14 PUSH2 0x1B45 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0xC1C JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC36 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC6C PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC8A PUSH2 0x1AD6 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCA5 PUSH2 0x1BE6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2BBC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCD2 DUP2 PUSH2 0x1AFA JUMP JUMPDEST DUP2 ISZERO PUSH2 0x10BE JUMPI DUP5 PUSH1 0x0 SUB PUSH2 0xD34 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A2070726F706F73616C49642063616E6E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x6265203 PUSH1 0xE4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xD5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x2A90 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD64 PUSH2 0x1AD6 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xD206885D PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD206885D SWAP1 PUSH2 0xD99 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x278D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xDB6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDDA SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBE26ED7F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE33 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE57 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xE65 DUP4 DUP11 PUSH2 0x124F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP8 SWAP1 POP PUSH1 0x0 PUSH2 0xEEF DUP7 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEC6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEEA SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST PUSH2 0x1C0A JUMP JUMPDEST SWAP1 POP PUSH2 0xEFE PUSH1 0x6 DUP8 ADD DUP3 PUSH2 0x1C41 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x0 SUB PUSH2 0xF1F JUMPI PUSH2 0xF1C DUP9 PUSH4 0x3B9ACA00 PUSH2 0x296A JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH2 0xF2D DUP6 DUP6 PUSH2 0x296A JUMP JUMPDEST PUSH2 0xF37 SWAP2 SWAP1 PUSH2 0x2997 JUMP JUMPDEST PUSH2 0xF41 SWAP1 DUP5 PUSH2 0x2ADE JUMP JUMPDEST SWAP1 POP DUP1 DUP8 PUSH1 0x4 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xF68 SWAP2 SWAP1 PUSH2 0x2ADE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x5 DUP9 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP16 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xFA1 SWAP1 DUP5 SWAP1 PUSH2 0x2ADE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP DUP6 ISZERO PUSH2 0xFD3 JUMPI PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP10 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST DUP7 SLOAD PUSH1 0x40 MLOAD PUSH4 0x958FC97D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x958FC97D SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x101C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1040 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x106F JUMPI PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x8 DUP10 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP13 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND SWAP2 DUP9 SWAP2 PUSH32 0xAC45CFD9CF13DD2E8B216503A1CA26D9F2A35E9A6B4B1B5CECC415DB06DDF63F SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x10CE DUP3 PUSH2 0xC9A JUMP JUMPDEST PUSH2 0x10D7 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH2 0x10E1 DUP4 DUP4 PUSH2 0x1B45 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x1110 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x111A DUP3 DUP3 PUSH2 0x1CF7 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x1127 PUSH2 0x1D6F JUMP JUMPDEST PUSH2 0x1130 DUP3 PUSH2 0x1E14 JUMP JUMPDEST PUSH2 0x113A DUP3 DUP3 PUSH2 0x1E2C JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1148 PUSH2 0x1EE0 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B7C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1166 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1184 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11A4 PUSH2 0x1AD6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11FD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1221 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x123B PUSH2 0x1231 DUP4 PUSH2 0x1C0A JUMP JUMPDEST PUSH1 0x6 DUP6 ADD SWAP1 PUSH2 0x1C41 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x125A PUSH2 0x1AD6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1266 DUP5 DUP5 PUSH2 0x13CC JUMP JUMPDEST ISZERO PUSH2 0x1275 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x72E JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x958FC97D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x958FC97D SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12BE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12E2 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST SWAP1 POP PUSH2 0x12EE DUP2 DUP6 PUSH2 0x1AA9 JUMP JUMPDEST ISZERO PUSH2 0x12FE JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x72E JUMP JUMPDEST DUP2 SLOAD PUSH1 0x40 MLOAD PUSH4 0x36AF1819 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6D5E3032 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1347 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x136B SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1392 PUSH2 0x1BE6 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13C7 PUSH2 0x1F29 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13D7 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x7 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP6 DUP6 MSTORE SWAP5 SWAP1 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B9C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1411 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1437 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1441 PUSH2 0x1AD6 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x3E9CACCCD727006BC0E1F6B190B46B34090F490CD3AB7E45F3AC7A9CFEDA63FF SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14AC DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH1 0x0 DUP4 GT PUSH2 0x150F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206C6576656C206D7573742062652067726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x746572207468616E203 PUSH1 0xB4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x1577 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206D756C7469706C696572206D757374206265 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1581 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP5 SWAP1 PUSH32 0xCC259987543A764767934B4D714760C68FDEB2BA8318210D9802CF66AE854001 SWAP1 PUSH2 0x15CB SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15E4 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15EE PUSH2 0x1AD6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x15FA PUSH2 0x1199 JUMP JUMPDEST SWAP1 POP PUSH2 0x1624 PUSH2 0x1607 PUSH2 0x13BD JUMP JUMPDEST DUP3 PUSH2 0x1613 JUMPI PUSH1 0x1 PUSH2 0x1616 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x6 DUP6 ADD SWAP2 SWAP1 PUSH1 0xFF AND PUSH2 0x1F34 JUMP JUMPDEST POP POP PUSH1 0x40 MLOAD DUP2 ISZERO SWAP1 PUSH32 0x541DC5534AC80F8161F980A8975BEC206AEE2363C8FA3C54A4709EE3B0CBE99F SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1662 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1680 DUP3 PUSH2 0xC9A JUMP JUMPDEST PUSH2 0x1689 DUP2 PUSH2 0x1AFA JUMP JUMPDEST PUSH2 0x10E1 DUP4 DUP4 PUSH2 0x1CF7 JUMP JUMPDEST PUSH2 0x169B PUSH2 0x1F4F JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x16FE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206379636C65206D7573742062652067726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x746572207468616E203 PUSH1 0xB4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1724 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP1 PUSH2 0x2A90 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x172E PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xE52EF17F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE52EF17F SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x177A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x179E SWAP2 SWAP1 PUSH2 0x2AF1 JUMP JUMPDEST PUSH2 0x17F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206379636C65206D75737420626520656E6465 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0xFA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1800 DUP5 DUP5 PUSH2 0x5FD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x1866 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20726577617264206D75737420626520677265 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x61746572207468616E203 PUSH1 0xAC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1898 SWAP1 ADDRESS SWAP1 PUSH1 0x4 ADD PUSH2 0x278D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18B5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18D9 SWAP2 SWAP1 PUSH2 0x293B JUMP JUMPDEST LT ISZERO PUSH2 0x194B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A206E6F7420656E6F756768204233545220696E PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A194818DBDB9D1C9858DD081D1BC81C185E481C995DD85C99 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x5 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP5 ADD SLOAD SWAP2 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x199E SWAP1 DUP7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x2B13 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x19BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19E1 SWAP2 SWAP1 PUSH2 0x2AF1 JUMP JUMPDEST PUSH2 0x1A2D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A207472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x7A7 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x24B5EFA61DD1CFC659205A97FB8ED868F3CB8C81922BAB2B96423E5DE1DE2CB7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1A69 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0x113A PUSH2 0x1F85 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A86 PUSH2 0x1AD6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1A95 PUSH1 0x6 DUP3 ADD DUP5 PUSH2 0x1C41 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1AB4 PUSH2 0x1AD6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP6 DUP6 MSTORE SWAP5 SWAP1 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH32 0x114E7FFAAF205D38CD05B17B56F3357806EF2CE889CB4748445AE91CDFC37C00 SWAP1 JUMP JUMPDEST PUSH2 0x1B04 DUP2 CALLER PUSH2 0x1F96 JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x1B33 PUSH2 0x1FC1 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x1B3D PUSH2 0x1FC1 JUMP JUMPDEST PUSH2 0x1B33 PUSH2 0x1FE6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B50 PUSH2 0x1BE6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B5C DUP5 DUP5 PUSH2 0x1387 JUMP JUMPDEST PUSH2 0x1BDC JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x1B92 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x72E JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x7A7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x1CA0 JUMPI PUSH1 0x0 PUSH2 0x1C5C DUP5 PUSH2 0x1FEE JUMP JUMPDEST PUSH2 0x1C66 SWAP1 DUP6 PUSH2 0x2B2C JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x1C90 JUMPI DUP1 SWAP2 POP PUSH2 0x1C9E JUMP JUMPDEST PUSH2 0x1C9B DUP2 PUSH1 0x1 PUSH2 0x2ADE JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x1CAE DUP8 DUP8 DUP6 DUP6 PUSH2 0x20DD JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x1CE9 JUMPI PUSH2 0x1CD3 DUP8 PUSH2 0x1CC5 PUSH1 0x1 DUP5 PUSH2 0x2B2C JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x1CEC JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D02 PUSH2 0x1BE6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1D0E DUP5 DUP5 PUSH2 0x1387 JUMP JUMPDEST ISZERO PUSH2 0x1BDC JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x72E JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1DF6 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1DEA PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B7C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x1B33 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x113A DUP2 PUSH2 0x1AFA JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1E86 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1E83 SWAP2 DUP2 ADD SWAP1 PUSH2 0x293B JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1EA5 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0x278D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B7C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1ED6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x7A7 JUMP JUMPDEST PUSH2 0x111A DUP4 DUP4 PUSH2 0x213F JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x1B33 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x13C7 NUMBER PUSH2 0x1C0A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1F42 DUP6 DUP6 DUP6 PUSH2 0x2195 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F59 PUSH2 0x230F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x1F7F JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F8F PUSH2 0x230F JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x1FA0 DUP3 DUP3 PUSH2 0x1387 JUMP JUMPDEST PUSH2 0x113A JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP3 SWAP2 SWAP1 PUSH2 0x2B13 JUMP JUMPDEST PUSH2 0x1FC9 PUSH2 0x2333 JUMP JUMPDEST PUSH2 0x1B33 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1F85 PUSH2 0x1FC1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x2000 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x200D DUP5 PUSH2 0x234D JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2026 JUMPI PUSH2 0x2026 PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x203E JUMPI PUSH2 0x203E PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2056 JUMPI PUSH2 0x2056 PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x206E JUMPI PUSH2 0x206E PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2086 JUMPI PUSH2 0x2086 PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x209E JUMPI PUSH2 0x209E PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x20B6 JUMPI PUSH2 0x20B6 PUSH2 0x2981 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x20D6 DUP2 DUP3 DUP6 DUP2 PUSH2 0x20D0 JUMPI PUSH2 0x20D0 PUSH2 0x2981 JUMP JUMPDEST DIV PUSH2 0x23E1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x2137 JUMPI PUSH1 0x0 PUSH2 0x20F4 DUP5 DUP5 PUSH2 0x23F7 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x2123 JUMPI DUP1 SWAP3 POP PUSH2 0x2131 JUMP JUMPDEST PUSH2 0x212E DUP2 PUSH1 0x1 PUSH2 0x2ADE JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x20E0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x2148 DUP3 PUSH2 0x2412 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x218D JUMPI PUSH2 0x111A DUP3 DUP3 PUSH2 0x246E JUMP JUMPDEST PUSH2 0x113A PUSH2 0x24E4 JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x22B4 JUMPI PUSH1 0x0 PUSH2 0x21B3 DUP8 PUSH2 0x1CC5 PUSH1 0x1 DUP6 PUSH2 0x2B2C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x2207 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x2253 JUMPI DUP5 PUSH2 0x222A DUP9 PUSH2 0x1CC5 PUSH1 0x1 DUP7 PUSH2 0x2B2C JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x22A4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x1F47 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x1F47 JUMP JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x233D PUSH2 0x1B07 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x2362 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x2374 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x2386 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x2398 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x23AA JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x23BC JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x23CE JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x72E JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x23F0 JUMPI DUP2 PUSH2 0x20D6 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2406 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x2997 JUMP JUMPDEST PUSH2 0x20D6 SWAP1 DUP5 DUP5 AND PUSH2 0x2ADE JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x243F JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0x278D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2B7C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x248B SWAP2 SWAP1 PUSH2 0x2B3F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x24C6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x24CB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x24DB DUP6 DUP4 DUP4 PUSH2 0x2503 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x1B33 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2518 JUMPI PUSH2 0x2513 DUP3 PUSH2 0x2556 JUMP JUMPDEST PUSH2 0x20D6 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x252F JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x254F JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0x278D JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x2566 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x25BE PUSH1 0x20 DUP5 ADD PUSH2 0x257F JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x20D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2603 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20D6 DUP3 PUSH2 0x257F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x264A JUMPI PUSH2 0x264A PUSH2 0x260C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2663 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x267E JUMPI PUSH2 0x267E PUSH2 0x260C JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x268D DUP3 DUP3 ADD PUSH2 0x2622 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x26A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x1CEC JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x26E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26EC DUP10 PUSH2 0x257F JUMP JUMPDEST SWAP8 POP PUSH2 0x26FA PUSH1 0x20 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP7 POP PUSH2 0x2708 PUSH1 0x40 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP6 POP PUSH2 0x2716 PUSH1 0x60 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP5 POP PUSH2 0x2724 PUSH1 0x80 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x2732 PUSH1 0xA0 DUP11 ADD PUSH2 0x257F JUMP JUMPDEST SWAP3 POP PUSH1 0xC0 DUP10 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x274E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x275A DUP13 DUP4 DUP14 ADD PUSH2 0x2652 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2770 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x277D DUP12 DUP3 DUP13 ADD PUSH2 0x2652 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x27D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH2 0x27E0 PUSH1 0x20 DUP7 ADD PUSH2 0x257F JUMP JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2808 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2811 DUP4 PUSH2 0x257F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x282E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2842 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2854 JUMPI PUSH2 0x2854 PUSH2 0x260C JUMP JUMPDEST PUSH2 0x2866 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP6 ADD PUSH2 0x2622 JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP8 DUP5 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x287C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP5 DUP5 ADD DUP6 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP5 DUP3 DUP5 ADD ADD MSTORE POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x28B5 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x289D JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x28DD DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x289A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2904 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2925 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x20D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x294D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x72E JUMPI PUSH2 0x72E PUSH2 0x2954 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29B4 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20656D697373696F6E732063616E6E6F742062 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x6520746865207A65726F2061646472657373 PUSH1 0x70 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A205F67616C6178794D656D6265722063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2A89 JUMPI PUSH2 0x2A89 PUSH2 0x2954 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x566F746572526577617264733A20766F7465722063616E6E6F74206265207468 PUSH1 0x40 DUP3 ADD MSTORE PUSH14 0x65207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x72E JUMPI PUSH2 0x72E PUSH2 0x2954 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x20D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x72E JUMPI PUSH2 0x72E PUSH2 0x2954 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2B51 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x289A JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC56AF926AA3845D4DC63A6C PUSH24 0x3ED36F51794728C97EBCD1BF845BCECB16EEB6B779E0A786 0xBE DIV PUSH9 0x68EC7A47625DFF8194 SAR 0xBB DUP9 SWAP12 0xCB RETURNDATACOPY REVERT PUSH2 0xD7EC 0xE9 0xA9 0xB9 0x2E 0x22 PUSH26 0xA26469706673582212207A7F9FB4756D65711B2D6F6EB6F13142 0xAF 0xAF JUMP 0x24 0x2B 0xDD CALLCODE 0xA8 DUP3 PUSH2 0x8426 SWAP3 PUSH12 0xD00664736F6C634300081400 CALLER ","sourceMap":"3664:19975:68:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16646:1116;;;;;;;;;;-1:-1:-1;16646:1116:68;;;;;:::i;:::-;;:::i;:::-;;;597:25:150;;;585:2;570:18;16646:1116:68;;;;;;;;3443:202:0;;;;;;;;;;-1:-1:-1;3443:202:0;;;;;:::i;:::-;;:::i;:::-;;;1089:14:150;;1082:22;1064:41;;1052:2;1037:18;3443:202:0;924:187:150;22115:372:68;;;;;;;;;;-1:-1:-1;22115:372:68;;;;;:::i;:::-;;:::i;:::-;;8896:1412;;;;;;;;;;-1:-1:-1;8896:1412:68;;;;;:::i;:::-;;:::i;17960:207::-;;;;;;;;;;-1:-1:-1;17960:207:68;;;;;:::i;:::-;;:::i;19062:148::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;18857:159::-;;;;;;;;;;;;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;11092:2587:68:-;;;;;;;;;;-1:-1:-1;11092:2587:68;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;6348:245::-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;3705:134::-;;;;;;;;;;;;;:::i;23409:86:68:-;;;;;;;;;;-1:-1:-1;23480:10:68;;;;;;;;;;;;-1:-1:-1;;;23480:10:68;;;;23409:86;;;;;;;:::i;19257:133::-;;;;;;;;;;;;;:::i;18626:181::-;;;;;;;;;;-1:-1:-1;18626:181:68;;;;;:::i;:::-;;:::i;20242:539::-;;;;;;;;;;;;;:::i;15246:459::-;;;;;;;;;;-1:-1:-1;15246:459:68;;;;;:::i;:::-;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;23547:90:68:-;;;;;;;;;;;;;:::i;:::-;;;7301:14:150;7289:27;;;7271:46;;7259:2;7244:18;23547:90:68;7127:196:150;4276:100:68;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4276:100:68;;2317:49:0;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;1819:58:3;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;16237:232:68;;;;;;;;;;-1:-1:-1;16237:232:68;;;;;:::i;:::-;;:::i;20956:405::-;;;;;;;;;;-1:-1:-1;20956:405:68;;;;;:::i;:::-;;:::i;21579:424::-;;;;;;;;;;-1:-1:-1;21579:424:68;;;;;:::i;:::-;;:::i;22731:486::-;;;;;;;;;;;;;:::i;18307:171::-;;;;;;;;;;-1:-1:-1;18307:171:68;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;3966:78:68:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3966:78:68;;13955:1067;;;;;;;;;;-1:-1:-1;13955:1067:68;;;;;:::i;:::-;;:::i;19743:345::-;;;;;;;;;;-1:-1:-1;19743:345:68;;;;;:::i;:::-;;:::i;15857:221::-;;;;;;;;;;-1:-1:-1;15857:221:68;;;;;:::i;:::-;;:::i;4443:44::-;;;;;;;;;;;;4484:3;4443:44;;4103:66;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4103:66:68;;16646:1116;16724:7;16739:29;16771:25;:23;:25::i;:::-;16874:13;16890:28;;;:21;;;:28;;;;;;;;-1:-1:-1;;;;;16890:35:68;;;;;;;;;;16739:57;;-1:-1:-1;16970:10:68;;;16966:39;;16997:1;16990:8;;;;;;16966:39;17068:18;17089:21;;;:14;;;:21;;;;;;;17160:15;;;17156:44;;17192:1;17185:8;;;;;;;17156:44;17289:11;;;;:37;;-1:-1:-1;;;17289:37:68;;;;;597:25:150;;;17263:23:68;;-1:-1:-1;;;;;17289:11:68;;:30;;570:18:150;;17289:37:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17263:63;;17381:15;17400:1;17381:20;17377:49;;17418:1;17411:8;;;;;;;;17377:49;17499:23;4484:3;17525:23;17533:15;17525:5;:23;:::i;:::-;:40;;;;:::i;:::-;17499:66;-1:-1:-1;17624:14:68;17641:28;17659:10;17499:66;17641:28;:::i;:::-;17624:45;-1:-1:-1;17734:23:68;4484:3;17624:45;17734:23;:::i;:::-;17727:30;;;;;;;;16646:1116;;;;;:::o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;-1:-1:-1;;;;;;;;;;1133:40:14;;;3602:36:0;1034:146:14;22115:372:68;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;22227:24:68;::::1;22219:87;;;;-1:-1:-1::0;;;22219:87:68::1;;;;;;;:::i;:::-;;;;;;;;;22313:29;22345:25;:23;:25::i;:::-;22426:11;::::0;::::1;::::0;22382:57:::1;::::0;22313;;-1:-1:-1;;;;;;22426:11:68;;::::1;::::0;22382:57;;::::1;::::0;::::1;::::0;22426:11:::1;::::0;22382:57:::1;22446:11;;:36:::0;;-1:-1:-1;;;;;;22446:36:68::1;-1:-1:-1::0;;;;;22446:36:68;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;22115:372:68:o;8896:1412::-;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;-1:-1:-1;;;;;9166:27:68;::::1;9158:94;;;;-1:-1:-1::0;;;9158:94:68::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9266:24:68;::::1;9258:87;;;;-1:-1:-1::0;;;9258:87:68::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9359:19:68;::::1;9351:78;;;::::0;-1:-1:-1;;;9351:78:68;;9505:2:150;9351:78:68::1;::::0;::::1;9487:21:150::0;9544:2;9524:18;;;9517:30;9583:34;9563:18;;;9556:62;-1:-1:-1;;;9634:18:150;;;9627:44;9688:19;;9351:78:68::1;9303:410:150::0;9351:78:68::1;9460:1;9444:6;:13;:17;9436:81;;;::::0;-1:-1:-1;;;9436:81:68;;9920:2:150;9436:81:68::1;::::0;::::1;9902:21:150::0;9959:2;9939:18;;;9932:30;9998:34;9978:18;;;9971:62;-1:-1:-1;;;10049:18:150;;;10042:49;10108:19;;9436:81:68::1;9718:415:150::0;9436:81:68::1;9548:11;:18;9531:6;:13;:35;9523:110;;;::::0;-1:-1:-1;;;9523:110:68;;10340:2:150;9523:110:68::1;::::0;::::1;10322:21:150::0;10379:2;10359:18;;;10352:30;10418:34;10398:18;;;10391:62;10489:32;10469:18;;;10462:60;10539:19;;9523:110:68::1;10138:426:150::0;9523:110:68::1;9640:22;:20;:22::i;:::-;9668:24;:22;:24::i;:::-;9698;:22;:24::i;:::-;9729:29;9761:25;:23;:25::i;:::-;9793:47:::0;;-1:-1:-1;;;;;9793:47:68;;::::1;-1:-1:-1::0;;;;;;9793:47:68;;::::1;;::::0;;;9846:6;::::1;:21:::0;;;;::::1;::::0;;::::1;;::::0;;9873:11:::1;::::0;::::1;:36:::0;;;;::::1;::::0;;;::::1;;::::0;;9729:57;-1:-1:-1;9793:14:68::1;9960:102;9980:6;:13;9976:1;:17;9960:102;;;10041:11;10053:1;10041:14;;;;;;;;:::i;:::-;;;;;;;10008:1;:19;;:30;10028:6;10035:1;10028:9;;;;;;;;:::i;:::-;;;;;;;10008:30;;;;;;;;;;;:47;;;;9995:3;;;;;:::i;:::-;;;;9960:102;;;-1:-1:-1::0;;;;;;10076:19:68;::::1;10068:78;;;::::0;-1:-1:-1;;;10068:78:68;;11043:2:150;10068:78:68::1;::::0;::::1;11025:21:150::0;11082:2;11062:18;;;11055:30;11121:34;11101:18;;;11094:62;-1:-1:-1;;;11172:18:150;;;11165:44;11226:19;;10068:78:68::1;10841:410:150::0;10068:78:68::1;10152:37;2362:4:0;10183:5:68::0;10152:10:::1;:37::i;:::-;;10195:35;-1:-1:-1::0;;;;;;;;;;;10221:8:68::1;10195:10;:35::i;:::-;;10236:67;-1:-1:-1::0;;;;;;;;;;;10279:23:68::1;10236:10;:67::i;:::-;;9152:1156;5070:14:2::0;5066:101;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;11409:50:150;;5142:14:2;;11397:2:150;11382:18;5142:14:2;;;;;;;5066:101;4092:1081;;;;;8896:1412:68;;;;;;;;:::o;17960:207::-;18042:7;18057:29;18089:25;:23;:25::i;:::-;18127:28;;;;:21;;:28;;;;;;;;-1:-1:-1;;;;;18127:35:68;;;;;;;;;-1:-1:-1;;18127:35:68;;;;17960:207::o;19062:148::-;19106:10;19124:29;19156:25;:23;:25::i;:::-;19194:11;;;-1:-1:-1;;;;;19194:11:68;;19062:148;-1:-1:-1;;19062:148:68:o;18857:159::-;18904:15;18927:29;18959:25;:23;:25::i;:::-;18997:14;-1:-1:-1;;;;;18997:14:68;;18857:159;-1:-1:-1;;18857:159:68:o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;11092:2587:68:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;11336:41:68;;11364:7:::1;11336:41;11391:10;11405:1;11391:15:::0;11383:64:::1;;;::::0;-1:-1:-1;;;11383:64:68;;11672:2:150;11383:64:68::1;::::0;::::1;11654:21:150::0;11711:2;11691:18;;;11684:30;11750:34;11730:18;;;11723:62;-1:-1:-1;;;11801:18:150;;;11794:34;11845:19;;11383:64:68::1;11470:400:150::0;11383:64:68::1;-1:-1:-1::0;;;;;11461:19:68;::::1;11453:78;;;;-1:-1:-1::0;;;11453:78:68::1;;;;;;;:::i;:::-;11538:29;11570:25;:23;:25::i;:::-;11626:14:::0;;:40:::1;::::0;-1:-1:-1;;;11626:40:68;;11538:57;;-1:-1:-1;11602:21:68::1;::::0;-1:-1:-1;;;;;11626:14:68;;::::1;::::0;:33:::1;::::0;:40:::1;::::0;11660:5;;11626:40:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11602:64;;11710:13;11726:1;:11;;;;;;;;;;-1:-1:-1::0;;;;;11726:11:68::1;-1:-1:-1::0;;;;;11726:27:68::1;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11710:45;;11907:18;11928:40;11942:13;11957:10;11928:13;:40::i;:::-;11907:61;;12046:23;12072:5;12046:31;;12140:30;12173:50;12191:1;:11;;;;;;;;;;-1:-1:-1::0;;;;;12191:11:68::1;-1:-1:-1::0;;;;;12191:29:68::1;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12173:17;:50::i;:::-;12140:83:::0;-1:-1:-1;12379:71:68::1;:28;::::0;::::1;12140:83:::0;12379:46:::1;:71::i;:::-;-1:-1:-1::0;;;;;12379:76:68::1;12454:1;12379:76:::0;12375:130:::1;;12483:15;:9:::0;12495:3:::1;12483:15;:::i;:::-;12465:33;;12375:130;12693:26;12774:3;12742:28;12760:10:::0;12742:15;:28:::1;:::i;:::-;12741:36;;;;:::i;:::-;12722:56;::::0;:15;:56:::1;:::i;:::-;12693:85;;12923:18;12898:1;:14;;:21;12913:5;12898:21;;;;;;;;;;;;:43;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;13021:28:68::1;::::0;;;:21:::1;::::0;::::1;:28;::::0;;;;;;;-1:-1:-1;;;;;13021:35:68;::::1;::::0;;;;;;;:57;;13060:18;;13021:28;:57:::1;::::0;13060:18;;13021:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;13160:18:68;;13156:107:::1;;13188:46;::::0;;;:34:::1;::::0;::::1;:46;::::0;;;;;;;:61;;;;;;;;:68;;-1:-1:-1;;13188:68:68::1;13252:4;13188:68;::::0;;13156:107:::1;13294:14:::0;;:47:::1;::::0;-1:-1:-1;;;13294:47:68;;::::1;::::0;::::1;597:25:150::0;;;13269:22:68::1;::::0;-1:-1:-1;;;;;13294:14:68::1;::::0;:32:::1;::::0;570:18:150;;13294:47:68::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13269:72:::0;-1:-1:-1;13452:19:68;;13448:101:::1;;13481:38;::::0;;;:26:::1;::::0;::::1;:38;::::0;;;;;;;:54;;;;;;;;:61;;-1:-1:-1;;13481:61:68::1;13538:4;13481:61;::::0;;13448:101:::1;13619:55;::::0;;12802:25:150;;;12858:2;12843:18;;12836:34;;;-1:-1:-1;;;;;13619:55:68;::::1;::::0;13634:5;;13619:55:::1;::::0;12775:18:150;13619:55:68::1;;;;;;;11248:2431;;;;;;;;3217:1:0;11092:2587:68::0;;;;;:::o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;6348:245::-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;:::-;4158:214:::0;;:::o;3705:134::-;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;19257:133:68:-;19296:5;19309:29;19341:25;:23;:25::i;:::-;19379:6;;;-1:-1:-1;;;;;19379:6:68;;19257:133;-1:-1:-1;;19257:133:68:o;18626:181::-;18691:7;18706:29;18738:25;:23;:25::i;:::-;18776:26;;;;:19;;:26;;-1:-1:-1;;18776:26:68;;;;;18626:181::o;20242:539::-;20318:4;20330:29;20362:25;:23;:25::i;:::-;20330:57;;20449:31;20483:1;:11;;;;;;;;;;-1:-1:-1;;;;;20483:11:68;-1:-1:-1;;;;;20483:29:68;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20449:65;;20521:21;20545:90;20592:42;20610:23;20592:17;:42::i;:::-;20545:28;;;;:46;:90::i;:::-;-1:-1:-1;;;;;20731:18:68;20748:1;20731:18;;;-1:-1:-1;;;;20242:539:68:o;15246:459::-;15335:7;15350:29;15382:25;:23;:25::i;:::-;15350:57;;15418:34;15432:7;15441:10;15418:13;:34::i;:::-;15414:48;;;15461:1;15454:8;;;;;15414:48;15494:14;;:41;;-1:-1:-1;;;15494:41:68;;;;;597:25:150;;;15469:22:68;;-1:-1:-1;;;;;15494:14:68;;:32;;570:18:150;;15494:41:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15469:66;;15546:40;15559:14;15575:10;15546:12;:40::i;:::-;15542:54;;;15595:1;15588:8;;;;;;15542:54;15624:14;;:31;;-1:-1:-1;;;15624:31:68;;;;;597:25:150;;;15603:18:68;;-1:-1:-1;;;;;15624:14:68;;:22;;570:18:150;;15624:31:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15669;;;;:19;;;;:31;;-1:-1:-1;;15669:31:68;;;;;-1:-1:-1;15246:459:68;;;;:::o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;23547:90:68:-;23593:6;23614:18;:16;:18::i;:::-;23607:25;;23547:90;:::o;16237:232::-;16326:4;16338:29;16370:25;:23;:25::i;:::-;16409:46;;;;:34;;:46;;;;;;;;:55;;;;;;-1:-1:-1;;16409:55:68;;;;;16237:232::o;20956:405::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;21074:27:68;::::1;21066:94;;;;-1:-1:-1::0;;;21066:94:68::1;;;;;;;:::i;:::-;21167:29;21199:25;:23;:25::i;:::-;21286:14:::0;;21236:66:::1;::::0;21167:57;;-1:-1:-1;;;;;;21286:14:68;;::::1;::::0;21236:66;;::::1;::::0;::::1;::::0;21286:14:::1;::::0;21236:66:::1;21309:47:::0;;-1:-1:-1;;;;;;21309:47:68::1;-1:-1:-1::0;;;;;21309:47:68;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;20956:405:68:o;21579:424::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;21710:1:68::1;21702:5;:9;21694:64;;;::::0;-1:-1:-1;;;21694:64:68;;13083:2:150;21694:64:68::1;::::0;::::1;13065:21:150::0;13122:2;13102:18;;;13095:30;13161:34;13141:18;;;13134:62;-1:-1:-1;;;13212:18:150;;;13205:40;13262:19;;21694:64:68::1;12881:406:150::0;21694:64:68::1;21785:1;21772:10;:14;21764:74;;;::::0;-1:-1:-1;;;21764:74:68;;13494:2:150;21764:74:68::1;::::0;::::1;13476:21:150::0;13533:2;13513:18;;;13506:30;13572:34;13552:18;;;13545:62;-1:-1:-1;;;13623:18:150;;;13616:45;13678:19;;21764:74:68::1;13292:411:150::0;21764:74:68::1;21845:29;21877:25;:23;:25::i;:::-;21908:26;::::0;;;:19:::1;::::0;::::1;:26;::::0;;;;;;:39;;;21959;21845:57;;-1:-1:-1;21928:5:68;;21959:39:::1;::::0;::::1;::::0;21937:10;597:25:150;;585:2;570:18;;451:177;21959:39:68::1;;;;;;;;21688:315;21579:424:::0;;;:::o;22731:486::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;22811:29:68::1;22843:25;:23;:25::i;:::-;22811:57;;22905:18;22926:45;:43;:45::i;:::-;22905:66;;23030:65;23064:7;:5;:7::i;:::-;23073:13;:21;;23093:1;23073:21;;;23089:1;23073:21;23030:28;::::0;::::1;::::0;:65;::::1;;:33;:65::i;:::-;-1:-1:-1::0;;23171:41:68::1;::::0;23197:14;::::1;::::0;23171:41:::1;::::0;;;::::1;22805:412;;22731:486:::0;:::o;18307:171::-;18367:7;18382:29;18414:25;:23;:25::i;:::-;18452:21;;;;:14;;:21;;-1:-1:-1;;18452:21:68;;;;;18307:171::o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;13955:1067:68:-:0;3251:21:13;:19;:21::i;:::-;14056:1:68::1;14048:5;:9;14040:64;;;::::0;-1:-1:-1;;;14040:64:68;;13910:2:150;14040:64:68::1;::::0;::::1;13892:21:150::0;13949:2;13929:18;;;13922:30;13988:34;13968:18;;;13961:62;-1:-1:-1;;;14039:18:150;;;14032:40;14089:19;;14040:64:68::1;13708:406:150::0;14040:64:68::1;-1:-1:-1::0;;;;;14118:19:68;::::1;14110:78;;;;-1:-1:-1::0;;;14110:78:68::1;;;;;;;:::i;:::-;14194:29;14226:25;:23;:25::i;:::-;14327:11;::::0;::::1;::::0;:31:::1;::::0;-1:-1:-1;;;14327:31:68;;::::1;::::0;::::1;597:25:150::0;;;14327:11:68;;-1:-1:-1;;;;;;14327:11:68::1;::::0;:24:::1;::::0;570:18:150;;14327:31:68::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14319:77;;;::::0;-1:-1:-1;;;14319:77:68;;14603:2:150;14319:77:68::1;::::0;::::1;14585:21:150::0;14642:2;14622:18;;;14615:30;14681:34;14661:18;;;14654:62;-1:-1:-1;;;14732:18:150;;;14725:31;14773:19;;14319:77:68::1;14401:397:150::0;14319:77:68::1;14453:14;14470:23;14480:5;14487;14470:9;:23::i;:::-;14453:40;;14517:1;14508:6;:10;14500:66;;;::::0;-1:-1:-1;;;14500:66:68;;15005:2:150;14500:66:68::1;::::0;::::1;14987:21:150::0;15044:2;15024:18;;;15017:30;15083:34;15063:18;;;15056:62;-1:-1:-1;;;15134:18:150;;;15127:41;15185:19;;14500:66:68::1;14803:407:150::0;14500:66:68::1;14580:6;::::0;::::1;::::0;:31:::1;::::0;-1:-1:-1;;;14580:31:68;;14615:6;;-1:-1:-1;;;;;14580:6:68::1;::::0;:16:::1;::::0;:31:::1;::::0;14605:4:::1;::::0;14580:31:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;;14572:113;;;::::0;-1:-1:-1;;;14572:113:68;;15417:2:150;14572:113:68::1;::::0;::::1;15399:21:150::0;15456:2;15436:18;;;15429:30;15495:34;15475:18;;;15468:62;-1:-1:-1;;;15546:18:150;;;15539:57;15613:19;;14572:113:68::1;15215:423:150::0;14572:113:68::1;14797:1;14759:28:::0;;;:21:::1;::::0;::::1;:28;::::0;;;;;;;-1:-1:-1;;;;;14759:35:68;;::::1;::::0;;;;;;;:39;;;;14845:6:::1;::::0;::::1;::::0;:30;;-1:-1:-1;;;14845:30:68;;:6;::::1;::::0;:15:::1;::::0;:30:::1;::::0;14788:5;;14868:6;;14845:30:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14837:72;;;::::0;-1:-1:-1;;;14837:72:68;;16124:2:150;14837:72:68::1;::::0;::::1;16106:21:150::0;16163:2;16143:18;;;16136:30;16202:31;16182:18;;;16175:59;16251:18;;14837:72:68::1;15922:353:150::0;14837:72:68::1;15003:5;-1:-1:-1::0;;;;;14982:35:68::1;14996:5;14982:35;15010:6;14982:35;;;;597:25:150::0;;585:2;570:18;;451:177;14982:35:68::1;;;;;;;;14034:988;;3293:20:13::0;:18;:20::i;19743:345:68:-;19829:4;19841:29;19873:25;:23;:25::i;:::-;19841:57;-1:-1:-1;19992:59:68;:28;;;20039:11;19992:46;:59::i;:::-;-1:-1:-1;;;;;19992:64:68;20055:1;19992:64;19985:71;;;19743:345;;;:::o;15857:221::-;15944:4;15956:29;15988:25;:23;:25::i;:::-;16027:38;;;;:26;;:38;;;;;;;;:46;;;;;;-1:-1:-1;;16027:46:68;;;;;15857:221::o;6128:159::-;6250:27;;6128:159::o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;:::-;4148:103;:::o;8737:170:2:-;8870:21;;8737:170::o;3231:65:0:-;6931:20:2;:18;:20::i;:::-;3231:65:0:o;2540:111:13:-;6931:20:2;:18;:20::i;:::-;2610:34:13::1;:32;:34::i;7270:387:0:-:0;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;2787:177;2920:28;;2787:177::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;16461:36:150;16513:18;;;16506:34;;;16434:18;;14416:41:37;16280:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;7892:388:0:-;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;4599:312:3;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;10539:98:68;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;597:25:150;;;570:18;;6312:34:3;451:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;931:109:42;977:6;1002:31;1020:12;1002:17;:31::i;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;3326:384:13:-;3375:32;3410:28;:26;:28::i;:::-;3526:9;;3375:63;;-1:-1:-1;;;3526:20:13;3522:88;;3569:30;;-1:-1:-1;;;3569:30:13;;;;;;;;;;;3522:88;1847:1;3684:19;;3326:384::o;3716:283::-;3764:32;3799:28;:26;:28::i;:::-;1805:1;3969:23;;-1:-1:-1;3716:283:13:o;4381:197:0:-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;2657:183:13;6931:20:2;:18;:20::i;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;:::-;10182:30;8587:1642;-1:-1:-1;;;8587:1642:36:o;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;11513:870:39:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;2251:183:13;2388:30;;2251:183::o;8487:120:2:-;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;10699:983:36:-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;:::-;4290:62;4106:253;-1:-1:-1;;;;;4106:253:32:o;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;4625:582:32;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;4625:582;-1:-1:-1;;4625:582:32:o;5743:516::-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;14:173:150;82:20;;-1:-1:-1;;;;;131:31:150;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;373:9;360:23;350:33;;402:38;436:2;425:9;421:18;402:38;:::i;:::-;392:48;;192:254;;;;;:::o;633:286::-;691:6;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;786:23;;-1:-1:-1;;;;;;838:32:150;;828:43;;818:71;;885:1;882;875:12;1116:186;1175:6;1228:2;1216:9;1207:7;1203:23;1199:32;1196:52;;;1244:1;1241;1234:12;1196:52;1267:29;1286:9;1267:29;:::i;1307:127::-;1368:10;1363:3;1359:20;1356:1;1349:31;1399:4;1396:1;1389:15;1423:4;1420:1;1413:15;1439:275;1510:2;1504:9;1575:2;1556:13;;-1:-1:-1;;1552:27:150;1540:40;;-1:-1:-1;;;;;1595:34:150;;1631:22;;;1592:62;1589:88;;;1657:18;;:::i;:::-;1693:2;1686:22;1439:275;;-1:-1:-1;1439:275:150:o;1719:712::-;1773:5;1826:3;1819:4;1811:6;1807:17;1803:27;1793:55;;1844:1;1841;1834:12;1793:55;1867:20;;1906:4;-1:-1:-1;;;;;1922:26:150;;1919:52;;;1951:18;;:::i;:::-;1997:2;1994:1;1990:10;2020:28;2044:2;2040;2036:11;2020:28;:::i;:::-;2082:15;;;2152;;;2148:24;;;2113:12;;;;2184:15;;;2181:35;;;2212:1;2209;2202:12;2181:35;2248:2;2240:6;2236:15;2225:26;;2260:142;2276:6;2271:3;2268:15;2260:142;;;2342:17;;2330:30;;2293:12;;;;2380;;;;2260:142;;2436:1044;2608:6;2616;2624;2632;2640;2648;2656;2664;2717:3;2705:9;2696:7;2692:23;2688:33;2685:53;;;2734:1;2731;2724:12;2685:53;2757:29;2776:9;2757:29;:::i;:::-;2747:39;;2805:38;2839:2;2828:9;2824:18;2805:38;:::i;:::-;2795:48;;2862:38;2896:2;2885:9;2881:18;2862:38;:::i;:::-;2852:48;;2919:38;2953:2;2942:9;2938:18;2919:38;:::i;:::-;2909:48;;2976:39;3010:3;2999:9;2995:19;2976:39;:::i;:::-;2966:49;;3034:39;3068:3;3057:9;3053:19;3034:39;:::i;:::-;3024:49;-1:-1:-1;3124:3:150;3109:19;;3096:33;-1:-1:-1;;;;;3178:14:150;;;3175:34;;;3205:1;3202;3195:12;3175:34;3228:61;3281:7;3272:6;3261:9;3257:22;3228:61;:::i;:::-;3218:71;;3342:3;3331:9;3327:19;3314:33;3298:49;;3372:2;3362:8;3359:16;3356:36;;;3388:1;3385;3378:12;3356:36;;3411:63;3466:7;3455:8;3444:9;3440:24;3411:63;:::i;:::-;3401:73;;;2436:1044;;;;;;;;;;;:::o;3485:223::-;-1:-1:-1;;;;;3669:32:150;;;;3651:51;;3639:2;3624:18;;3485:223::o;3946:180::-;4005:6;4058:2;4046:9;4037:7;4033:23;4029:32;4026:52;;;4074:1;4071;4064:12;4026:52;-1:-1:-1;4097:23:150;;3946:180;-1:-1:-1;3946:180:150:o;4313:391::-;4399:6;4407;4415;4423;4476:3;4464:9;4455:7;4451:23;4447:33;4444:53;;;4493:1;4490;4483:12;4444:53;4529:9;4516:23;4506:33;;4558:38;4592:2;4581:9;4577:18;4558:38;:::i;:::-;4313:391;;4548:48;;-1:-1:-1;;;;4643:2:150;4628:18;;4615:32;;4694:2;4679:18;4666:32;;4313:391::o;4968:837::-;5045:6;5053;5106:2;5094:9;5085:7;5081:23;5077:32;5074:52;;;5122:1;5119;5112:12;5074:52;5145:29;5164:9;5145:29;:::i;:::-;5135:39;-1:-1:-1;5193:2:150;5231:18;;;5218:32;-1:-1:-1;;;;;5299:14:150;;;5296:34;;;5326:1;5323;5316:12;5296:34;5364:6;5353:9;5349:22;5339:32;;5409:7;5402:4;5398:2;5394:13;5390:27;5380:55;;5431:1;5428;5421:12;5380:55;5467:2;5454:16;5489:2;5485;5482:10;5479:36;;;5495:18;;:::i;:::-;5537:53;5580:2;5561:13;;-1:-1:-1;;5557:27:150;5553:36;;5537:53;:::i;:::-;5524:66;;5613:2;5606:5;5599:17;5653:7;5648:2;5643;5639;5635:11;5631:20;5628:33;5625:53;;;5674:1;5671;5664:12;5625:53;5729:2;5724;5720;5716:11;5711:2;5704:5;5700:14;5687:45;5773:1;5768:2;5763;5756:5;5752:14;5748:23;5741:34;;5794:5;5784:15;;;;;4968:837;;;;;:::o;5810:250::-;5895:1;5905:113;5919:6;5916:1;5913:13;5905:113;;;5995:11;;;5989:18;5976:11;;;5969:39;5941:2;5934:10;5905:113;;;-1:-1:-1;;6052:1:150;6034:16;;6027:27;5810:250::o;6065:396::-;6214:2;6203:9;6196:21;6177:4;6246:6;6240:13;6289:6;6284:2;6273:9;6269:18;6262:34;6305:79;6377:6;6372:2;6361:9;6357:18;6352:2;6344:6;6340:15;6305:79;:::i;:::-;6445:2;6424:15;-1:-1:-1;;6420:29:150;6405:45;;;;6452:2;6401:54;;6065:396;-1:-1:-1;;6065:396:150:o;6874:248::-;6942:6;6950;7003:2;6991:9;6982:7;6978:23;6974:32;6971:52;;;7019:1;7016;7009:12;6971:52;-1:-1:-1;;7042:23:150;;;7112:2;7097:18;;;7084:32;;-1:-1:-1;6874:248:150:o;7328:280::-;7386:6;7439:2;7427:9;7418:7;7414:23;7410:32;7407:52;;;7455:1;7452;7445:12;7407:52;7494:9;7481:23;7544:14;7537:5;7533:26;7526:5;7523:37;7513:65;;7574:1;7571;7564:12;7613:184;7683:6;7736:2;7724:9;7715:7;7711:23;7707:32;7704:52;;;7752:1;7749;7742:12;7704:52;-1:-1:-1;7775:16:150;;7613:184;-1:-1:-1;7613:184:150:o;7802:127::-;7863:10;7858:3;7854:20;7851:1;7844:31;7894:4;7891:1;7884:15;7918:4;7915:1;7908:15;7934:168;8007:9;;;8038;;8055:15;;;8049:22;;8035:37;8025:71;;8076:18;;:::i;8107:127::-;8168:10;8163:3;8159:20;8156:1;8149:31;8199:4;8196:1;8189:15;8223:4;8220:1;8213:15;8239:217;8279:1;8305;8295:132;;8349:10;8344:3;8340:20;8337:1;8330:31;8384:4;8381:1;8374:15;8412:4;8409:1;8402:15;8295:132;-1:-1:-1;8441:9:150;;8239:217::o;8461:414::-;8663:2;8645:21;;;8702:2;8682:18;;;8675:30;8741:34;8736:2;8721:18;;8714:62;-1:-1:-1;;;8807:2:150;8792:18;;8785:48;8865:3;8850:19;;8461:414::o;8880:418::-;9082:2;9064:21;;;9121:2;9101:18;;;9094:30;9160:34;9155:2;9140:18;;9133:62;-1:-1:-1;;;9226:2:150;9211:18;;9204:52;9288:3;9273:19;;8880:418::o;10569:127::-;10630:10;10625:3;10621:20;10618:1;10611:31;10661:4;10658:1;10651:15;10685:4;10682:1;10675:15;10701:135;10740:3;10761:17;;;10758:43;;10781:18;;:::i;:::-;-1:-1:-1;10828:1:150;10817:13;;10701:135::o;11875:410::-;12077:2;12059:21;;;12116:2;12096:18;;;12089:30;12155:34;12150:2;12135:18;;12128:62;-1:-1:-1;;;12221:2:150;12206:18;;12199:44;12275:3;12260:19;;11875:410::o;12498:125::-;12563:9;;;12584:10;;;12581:36;;;12597:18;;:::i;14119:277::-;14186:6;14239:2;14227:9;14218:7;14214:23;14210:32;14207:52;;;14255:1;14252;14245:12;14207:52;14287:9;14281:16;14340:5;14333:13;14326:21;14319:5;14316:32;14306:60;;14362:1;14359;14352:12;15643:274;-1:-1:-1;;;;;15835:32:150;;;;15817:51;;15899:2;15884:18;;15877:34;15805:2;15790:18;;15643:274::o;16551:128::-;16618:9;;;16639:11;;;16636:37;;;16653:18;;:::i;17152:287::-;17281:3;17319:6;17313:13;17335:66;17394:6;17389:3;17382:4;17374:6;17370:17;17335:66;:::i;:::-;17417:16;;;;;17152:287;-1:-1:-1;;17152:287:150:o"},"methodIdentifiers":{"CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","SCALING_FACTOR()":"ef4cadc5","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","VOTE_REGISTRAR_ROLE()":"de7fd133","b3tr()":"582a486a","claimReward(uint256,address)":"e70eb392","clock()":"91ddadf4","cycleToTotal(uint256)":"c208b4e7","cycleToVoterToTotal(uint256,address)":"105fe500","emissions()":"2267716c","galaxyMember()":"2325e4b9","getMultiplier(uint256,uint256)":"8dbb1e3a","getReward(uint256,address)":"008f33d7","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasNodeVoted(uint256,uint256)":"eea41608","hasRole(bytes32,address)":"91d14854","hasTokenVoted(uint256,uint256)":"ae075b07","initialize(address,address,address,address,address,address,uint256[],uint256[])":"0dd3729c","isQuadraticRewardingDisabledAtBlock(uint48)":"ee80e932","isQuadraticRewardingDisabledForCurrentCycle()":"71057f75","levelToMultiplier(uint256)":"5fdc1752","proxiableUUID()":"52d1902d","registerVote(uint256,address,uint256,uint256)":"2f18339d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setEmissions(address)":"08834ee7","setGalaxyMember(address)":"ae0b8da8","setLevelToMultiplier(uint256,uint256)":"b0b3de89","supportsInterface(bytes4)":"01ffc9a7","toggleQuadraticRewarding()":"be64bad8","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"EmissionsAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"GalaxyMemberAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"LevelToMultiplierSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"name\":\"QuadraticRewardingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"name\":\"RewardClaimed\",\"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\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rewardWeightedVote\",\"type\":\"uint256\"}],\"name\":\"VoteRegistered\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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\":\"SCALING_FACTOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VOTE_REGISTRAR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"cycleToTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"cycleToVoterToTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"galaxyMember\",\"outputs\":[{\"internalType\":\"contract IGalaxyMemberV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMultiplier\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"getReward\",\"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\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"hasNodeVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"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\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"hasTokenVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractsAddressManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_emissions\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_galaxyMember\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_b3tr\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"levels\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"multipliers\",\"type\":\"uint256[]\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"blockNumber\",\"type\":\"uint48\"}],\"name\":\"isQuadraticRewardingDisabledAtBlock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isQuadraticRewardingDisabledForCurrentCycle\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"levelToMultiplier\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votePower\",\"type\":\"uint256\"}],\"name\":\"registerVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"_emissions\",\"type\":\"address\"}],\"name\":\"setEmissions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_galaxyMember\",\"type\":\"address\"}],\"name\":\"setGalaxyMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"setLevelToMultiplier\",\"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\":\"toggleQuadraticRewarding\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"VeBetterDAO\",\"details\":\"The contract is - upgradeable using UUPSUpgradeable. - using AccessControl to handle the admin and upgrader roles. - using ReentrancyGuard to prevent reentrancy attacks. - following the ERC-7201 standard for storage layout. Roles: - DEFAULT_ADMIN_ROLE: The role that can add new admins and upgraders. It is also the role that can set scaling factor and the Galaxy Member level to multiplier mapping. - UPGRADER_ROLE: The role that can upgrade the contract. - VOTE_REGISTRAR_ROLE: The role that can register votes for rewards calculation. - CONTRACTS_ADDRESS_MANAGER_ROLE: The role that can set the addresses of the contracts used by the VoterRewards contract. ------------------ Version 2 Changes ------------------ - Added quadratic rewarding disabled checkpoints to disable quadratic rewarding for a specific cycle. - Added the clock function to get the current block number. - Added functions to check if quadratic rewarding is disabled at a specific block number or for the current cycle. - Added function to disable quadratic rewarding or re-enable it. ------------------ Version 3 Changes ------------------ - Added the ability to track if a Galaxy Member NFT has voted in a proposal. - Added the ability to track if a Vechain node attached to a Galaxy Member NFT has voted in a proposal. - Proposal Id is now required when registering votes instead of proposal snapshot. - Core logic functions are now virtual allowing to be overridden through inheritance.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"EmissionsAddressUpdated(address,address)\":{\"params\":{\"newAddress\":\"- The address of the new Emissions contract.\",\"oldAddress\":\"- The address of the old Emissions contract.\"}},\"GalaxyMemberAddressUpdated(address,address)\":{\"params\":{\"newAddress\":\"- The address of the new Galaxy Member contract.\",\"oldAddress\":\"- The address of the old Galaxy Member contract.\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"LevelToMultiplierSet(uint256,uint256)\":{\"params\":{\"level\":\"- The level of the Galaxy Member NFT.\",\"multiplier\":\"- The percentage multiplier for the level of the Galaxy Member NFT.\"}},\"QuadraticRewardingToggled(bool)\":{\"params\":{\"disabled\":\"- The flag to enable or disable quadratic rewarding.\"}},\"RewardClaimed(uint256,address,uint256)\":{\"params\":{\"cycle\":\"- The cycle in which the rewards were claimed.\",\"reward\":\"- The amount of B3TR reward claimed by the voter.\",\"voter\":\"- The address of the voter.\"}},\"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.\"},\"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.\"},\"VoteRegistered(uint256,address,uint256,uint256)\":{\"params\":{\"cycle\":\"- The cycle in which the votes were registered.\",\"rewardWeightedVote\":\"- The reward-weighted vote power for the voter based on their voting power and GM NFT level.\",\"voter\":\"- The address of the voter.\",\"votes\":\"- The number of votes cast by the voter.\"}}},\"kind\":\"dev\",\"methods\":{\"claimReward(uint256,address)\":{\"details\":\"The rewards are claimed based on the reward-weighted votes of the user in the cycle.\",\"params\":{\"cycle\":\"- The cycle in which the rewards are claimed.\",\"voter\":\"- The address of the voter.\"}},\"clock()\":{\"details\":\"Clock used for flagging checkpoints.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"cycleToTotal(uint256)\":{\"params\":{\"cycle\":\"- The cycle in which the rewards are claimed.\"}},\"cycleToVoterToTotal(uint256,address)\":{\"params\":{\"cycle\":\"- The cycle in which the rewards are claimed.\",\"voter\":\"- The address of the voter.\"}},\"getMultiplier(uint256,uint256)\":{\"params\":{\"proposalId\":\"Id of the proposal\",\"tokenId\":\"Id of the Galaxy Member NFT\"}},\"getReward(uint256,address)\":{\"params\":{\"cycle\":\"- The cycle in which the rewards are claimed.\",\"voter\":\"- The address of the voter.\"}},\"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.\"},\"hasNodeVoted(uint256,uint256)\":{\"params\":{\"nodeId\":\"Id of the Vechain node\",\"proposalId\":\"Id of the proposal\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"hasTokenVoted(uint256,uint256)\":{\"params\":{\"proposalId\":\"Id of the proposal\",\"tokenId\":\"Id of the Galaxy Member NFT\"}},\"initialize(address,address,address,address,address,address,uint256[],uint256[])\":{\"params\":{\"_b3tr\":\"- The address of the B3TR token contract.\",\"_emissions\":\"- The address of the emissions contract.\",\"_galaxyMember\":\"- The address of the Galaxy Member contract.\",\"admin\":\"- The address of the admin.\",\"contractsAddressManager\":\"- The address of the contract address manager.\",\"levels\":\"- The levels of the Galaxy Member NFTs.\",\"multipliers\":\"- The multipliers for the levels of the Galaxy Member NFTs.\",\"upgrader\":\"- The address of the upgrader.\"}},\"isQuadraticRewardingDisabledAtBlock(uint48)\":{\"details\":\"To check if quadratic rewarding was disabled for a cycle, use the block number the cycle started.\",\"params\":{\"blockNumber\":\"- The block number to check the quadratic rewarding status.\"},\"returns\":{\"_0\":\"true if quadratic rewarding is disabled, false otherwise.\"}},\"isQuadraticRewardingDisabledForCurrentCycle()\":{\"returns\":{\"_0\":\"true if quadratic rewarding is disabled, false otherwise.\"}},\"levelToMultiplier(uint256)\":{\"params\":{\"level\":\"- The level of the Galaxy Member NFT.\"}},\"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.\"},\"registerVote(uint256,address,uint256,uint256)\":{\"details\":\"Quadratic rewarding is used to reward users with quadratic-weight based on their voting power and the level of their Galaxy Member NFT.\",\"params\":{\"proposalId\":\"- The ID of the proposal.\",\"votePower\":\"- The square root of the total votes cast by the voter.\",\"voter\":\"- The address of the voter.\",\"votes\":\"- The number of votes cast by the voter.\"}},\"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 `callerConfirmation`. 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.\"},\"setEmissions(address)\":{\"params\":{\"_emissions\":\"- The address of the emissions contract.\"}},\"setGalaxyMember(address)\":{\"params\":{\"_galaxyMember\":\"- The address of the Galaxy Member contract.\"}},\"setLevelToMultiplier(uint256,uint256)\":{\"params\":{\"level\":\"- The level of the Galaxy Member NFT.\",\"multiplier\":\"- The percentage multiplier for the level of the Galaxy Member NFT.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"toggleQuadraticRewarding()\":{\"details\":\"This function toggles the state of quadratic rewarding for a specific cycle. The state will flip between enabled and disabled each time the function is called.\"},\"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()\":{\"details\":\"This should be updated every time a new version of implementation is deployed\",\"returns\":{\"_0\":\"string The version of the contract\"}}},\"title\":\"VoterRewards\",\"version\":1},\"userdoc\":{\"events\":{\"EmissionsAddressUpdated(address,address)\":{\"notice\":\"Emitted when the Emissions contract address is set.\"},\"GalaxyMemberAddressUpdated(address,address)\":{\"notice\":\"Emitted when the Galaxy Member contract address is set.\"},\"LevelToMultiplierSet(uint256,uint256)\":{\"notice\":\"Emitted when the level to multiplier mapping is set.\"},\"QuadraticRewardingToggled(bool)\":{\"notice\":\"Emits true if quadratic rewarding is disabled, false otherwise.\"},\"RewardClaimed(uint256,address,uint256)\":{\"notice\":\"Emitted when a user claims their rewards.\"},\"VoteRegistered(uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when a user registers their votes for rewards calculation.\"}},\"kind\":\"user\",\"methods\":{\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"The role that can set the addresses of the contracts used by the VoterRewards contract.\"},\"SCALING_FACTOR()\":{\"notice\":\"The scaling factor for the rewards calculation.\"},\"UPGRADER_ROLE()\":{\"notice\":\"The role that can upgrade the contract.\"},\"VOTE_REGISTRAR_ROLE()\":{\"notice\":\"The role that can register votes for rewards calculation.\"},\"b3tr()\":{\"notice\":\"Get the B3TR token contract.\"},\"claimReward(uint256,address)\":{\"notice\":\"Claim the rewards for a user in a specific cycle.\"},\"cycleToTotal(uint256)\":{\"notice\":\"Get the total reward-weighted votes in a specific cycle.\"},\"cycleToVoterToTotal(uint256,address)\":{\"notice\":\"Get the total reward-weighted votes for a user in a specific cycle.\"},\"emissions()\":{\"notice\":\"Get the Emissions contract.\"},\"galaxyMember()\":{\"notice\":\"Get the Galaxy Member contract.\"},\"getMultiplier(uint256,uint256)\":{\"notice\":\"Get the reward multiplier for a user in a specific proposal.\"},\"getReward(uint256,address)\":{\"notice\":\"Get the reward for a user in a specific cycle.\"},\"hasNodeVoted(uint256,uint256)\":{\"notice\":\"Check if a Vechain Node has voted in a proposal\"},\"hasTokenVoted(uint256,uint256)\":{\"notice\":\"Check if a Galaxy Member has voted in a proposal\"},\"initialize(address,address,address,address,address,address,uint256[],uint256[])\":{\"notice\":\"Initialize the VoterRewards contract.\"},\"isQuadraticRewardingDisabledAtBlock(uint48)\":{\"notice\":\"Check if quadratic rewarding is disabled at a specific block number.\"},\"isQuadraticRewardingDisabledForCurrentCycle()\":{\"notice\":\"Check if quadratic rewarding is disabled for the current cycle.\"},\"levelToMultiplier(uint256)\":{\"notice\":\"Get the reward multiplier for a specific level of the Galaxy Member NFT.\"},\"registerVote(uint256,address,uint256,uint256)\":{\"notice\":\"Register the votes of a user for rewards calculation.\"},\"setEmissions(address)\":{\"notice\":\"Set the Emmissions contract.\"},\"setGalaxyMember(address)\":{\"notice\":\"Set the Galaxy Member contract.\"},\"setLevelToMultiplier(uint256,uint256)\":{\"notice\":\"Set the Galaxy Member level to multiplier mapping.\"},\"toggleQuadraticRewarding()\":{\"notice\":\"Toggle quadratic rewarding for a specific cycle.\"},\"version()\":{\"notice\":\"Returns the version of the contract\"}},\"notice\":\"This contract handles the rewards for voters in the VeBetterDAO ecosystem. It calculates the rewards for voters based on their voting power and the level of their Galaxy Member NFT.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V3/VoterRewardsV3.sol\":\"VoterRewardsV3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V2/interfaces/IGalaxyMemberV2.sol\":{\"keccak256\":\"0x18f6d4f182831e3cd35f80113c7a61cf56638ecb2f766bbb19bb49f542772223\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee98be5db56874d647124ebfba460f4094cceb18d25dc3aa9cc4e85632833e4b\",\"dweb:/ipfs/QmZ2P3BvvUgHMWqQt5DvU1C48JKg4iWLxx5EaoowyHHz4k\"]},\"contracts/deprecated/V3/VoterRewardsV3.sol\":{\"keccak256\":\"0x8b0c3a7c31ab85d0c3401060a10091b614a59e0aa4fe5b3124cdd8838a95f25e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d9c1530896541cf6885c13d076a1a967816a9a9b8e1b0f2ab53a6d9960bb0fe\",\"dweb:/ipfs/QmQazHXdyVc5W5dUZSo46Bj6YgJxMWu7nzHJ9dC7LP6UFh\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V4/GalaxyMemberV4.sol":{"GalaxyMemberV4":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"ERC721EnumerableForbiddenBatchMint","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"ERC721OutOfBoundsIndex","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"B3TRtoUpgradeToLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"B3trGovernorAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newBaseURI","type":"string"},{"indexed":true,"internalType":"string","name":"oldBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"LevelWhenAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"LevelWhenDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"MaxLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PublicMintingPaused","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":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Selected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsGovernorAddressUpdated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NODES_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"attachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"detachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRdonated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRtoUpgrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getB3TRtoUpgradeToLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getIdAttachedToNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"nodeTokenId","type":"uint256"}],"name":"getLevelAfterAttachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getLevelAfterDetachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getNodeIdAttached","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevelOf","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"}],"name":"getNodeToFreeLevel","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":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint48","name":"blockNumber","type":"uint48"}],"name":"getSelectedTokenIdAtBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV4.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getTokenInfoByTokenId","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV4.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"name":"getTokensInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV4.TokenInfo[]","name":"","type":"tuple[]"}],"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":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"pauser","type":"address"},{"internalType":"address","name":"minter","type":"address"},{"internalType":"address","name":"contractsAddressManager","type":"address"},{"internalType":"uint256","name":"maxLevel","type":"uint256"},{"internalType":"string","name":"baseTokenURI","type":"string"},{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"},{"internalType":"address","name":"b3tr","type":"address"},{"internalType":"address","name":"treasury","type":"address"}],"internalType":"struct GalaxyMemberV4.InitializationData","name":"data","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vechainNodes","type":"address"},{"internalType":"address","name":"_nodesMangaement","type":"address"},{"internalType":"address","name":"_nodesAdmin","type":"address"},{"internalType":"uint256[]","name":"_nodeFreeLevels","type":"uint256[]"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"levelOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"participatedInGovernance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"select","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"selectFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"setB3TRtoUpgradeToLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3trGovernor","type":"address"}],"name":"setB3trGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setIsPublicMintingPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setMaxLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setNodeToFreeUpgradeLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vechainNodes","type":"address"}],"name":"setVechainNodes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xAllocationsGovernor","type":"address"}],"name":"setXAllocationsGovernorAddress","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"upgrade","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":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"xAllocationsGovernor","outputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_36482":{"entryPoint":null,"id":36482,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615f336200010460003960008181613ad401528181613afd0152613c450152615f336000f3fe60806040526004361061034b5760003560e01c80621db0dd1461035057806301ffc9a71461037257806306fdde03146103a7578063081812fc146103c9578063095ea7b3146103f657806318160ddd1461041657806323b872dd14610439578063248a9ca3146104595780632b42df38146104795780632f2ff15d146104995780632f745c59146104b9578063344f1ba5146104d957806336568abe146104f95780633af03ea8146105195780633c60f55d146105395780633d6dbee8146105595780633f4ba83a1461057b5780633ff453af1461059057806342842e0e146105c257806342966c68146105e257806345977d03146106025780634a6565e1146106225780634bf5d7e9146106425780634f1ef286146106885780634f6ccce71461069b57806351c438d1146106bb57806352d1902d146106db57806354fd4d50146106f057806355f804b31461071a578063582a486a1461073a5780635b5da5141461074f5780635b70ea9f1461076f5780635c975abb146107845780635ecf68e9146107995780635f4e42ca146107ae5780635ffaa59a146107ce57806361d027b3146107ee5780636352211e14610803578063643ce418146108235780636c0360eb146108505780636d5e30321461086557806370a08231146108855780637893d736146108a5578063839a19d9146108ba5780638456cb59146108da578063851f738e146108ef578063865c380b1461091c578063883711101461093c5780638c5b76fb1461095c57806391d148541461097c57806391ddadf41461099c578063952f2133146109c8578063958fc97d146109ea57806395d89b4114610a0a578063a1843bd014610a1f578063a217fddf14610a3f578063a22cb46514610a54578063a49062d414610a74578063a51d2e0b14610a89578063aa3491eb14610aa9578063ad3cb1cc14610ac9578063b1ccbd2c14610afa578063b88d4fde14610b1a578063c190eb3a14610b3a578063c87b56dd14610b5a578063cc421d0714610b7a578063d206885d14610b9a578063d539139314610bba578063d547741f14610bdc578063ddd8634d14610bfc578063de4983a214610c1c578063e617e49f14610c3c578063e63ab1e914610c5c578063e985e9c514610c7e578063f72c0d8b14610c9e575b600080fd5b34801561035c57600080fd5b5061037061036b366004614f50565b610cc0565b005b34801561037e57600080fd5b5061039261038d366004614f92565b610e1f565b60405190151581526020015b60405180910390f35b3480156103b357600080fd5b506103bc610e30565b60405161039e9190614fff565b3480156103d557600080fd5b506103e96103e4366004615012565b610ed1565b60405161039e919061502b565b34801561040257600080fd5b50610370610411366004615064565b610ee6565b34801561042257600080fd5b5061042b610ef5565b60405190815260200161039e565b34801561044557600080fd5b50610370610454366004615082565b610f0a565b34801561046557600080fd5b5061042b610474366004615012565b610f95565b34801561048557600080fd5b5061042b610494366004615012565b610fb5565b3480156104a557600080fd5b506103706104b43660046150c3565b610fd5565b3480156104c557600080fd5b5061042b6104d4366004615064565b610ff1565b3480156104e557600080fd5b506103706104f4366004615012565b611053565b34801561050557600080fd5b506103706105143660046150c3565b6111bf565b34801561052557600080fd5b506103706105343660046150f3565b6111f7565b34801561054557600080fd5b5061042b610554366004615110565b6112f5565b34801561056557600080fd5b5061042b600080516020615ebe83398151915281565b34801561058757600080fd5b50610370611338565b34801561059c57600080fd5b506105b06105ab366004615012565b61135b565b60405160ff909116815260200161039e565b3480156105ce57600080fd5b506103706105dd366004615082565b6113ee565b3480156105ee57600080fd5b506103706105fd366004615012565b611409565b34801561060e57600080fd5b5061037061061d366004615012565b611442565b34801561062e57600080fd5b5061037061063d366004615149565b611858565b34801561064e57600080fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526103bc565b610370610696366004615249565b611b7c565b3480156106a757600080fd5b5061042b6106b6366004615012565b611b97565b3480156106c757600080fd5b5061042b6106d6366004615012565b611bf8565b3480156106e757600080fd5b5061042b611c16565b3480156106fc57600080fd5b506040805180820190915260018152600d60fa1b60208201526103bc565b34801561072657600080fd5b50610370610735366004615298565b611c33565b34801561074657600080fd5b506103e9611cd0565b34801561075b57600080fd5b5061037061076a3660046152da565b611cee565b34801561077b57600080fd5b50610370611d56565b34801561079057600080fd5b50610392611e45565b3480156107a557600080fd5b506103e9611e5a565b3480156107ba57600080fd5b506103706107c936600461536b565b611e75565b3480156107da57600080fd5b506103706107e93660046150f3565b6123a4565b3480156107fa57600080fd5b506103e9612418565b34801561080f57600080fd5b506103e961081e366004615012565b612436565b34801561082f57600080fd5b5061084361083e366004615012565b612441565b60405161039e9190615510565b34801561085c57600080fd5b506103bc6124f1565b34801561087157600080fd5b5061042b610880366004615012565b612500565b34801561089157600080fd5b5061042b6108a03660046150f3565b612523565b3480156108b157600080fd5b506103e961257b565b3480156108c657600080fd5b506103706108d5366004615012565b612599565b3480156108e657600080fd5b506103706125a3565b3480156108fb57600080fd5b5061090f61090a366004615523565b6125c3565b60405161039e9190615558565b34801561092857600080fd5b5061042b610937366004615012565b6127a9565b34801561094857600080fd5b50610370610957366004615149565b6127c7565b34801561096857600080fd5b506103926109773660046150f3565b612a8b565b34801561098857600080fd5b506103926109973660046150c3565b612c6f565b3480156109a857600080fd5b506109b1612ca5565b60405165ffffffffffff909116815260200161039e565b3480156109d457600080fd5b5061042b600080516020615e9e83398151915281565b3480156109f657600080fd5b5061042b610a05366004615012565b612caf565b348015610a1657600080fd5b506103bc612ccd565b348015610a2b57600080fd5b5061042b610a3a366004615149565b612cea565b348015610a4b57600080fd5b5061042b600081565b348015610a6057600080fd5b50610370610a6f3660046155ba565b612cf7565b348015610a8057600080fd5b5061042b612d02565b348015610a9557600080fd5b5061042b610aa4366004615012565b612d17565b348015610ab557600080fd5b50610370610ac4366004615064565b612d92565b348015610ad557600080fd5b506103bc604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610b0657600080fd5b50610370610b153660046155e8565b612da7565b348015610b2657600080fd5b50610370610b3536600461561c565b612e90565b348015610b4657600080fd5b50610370610b55366004615687565b612ea7565b348015610b6657600080fd5b506103bc610b75366004615012565b613186565b348015610b8657600080fd5b5061042b610b95366004615012565b613217565b348015610ba657600080fd5b5061042b610bb53660046150f3565b61322d565b348015610bc657600080fd5b5061042b600080516020615e7e83398151915281565b348015610be857600080fd5b50610370610bf73660046150c3565b61326e565b348015610c0857600080fd5b50610370610c173660046150f3565b61328a565b348015610c2857600080fd5b50610843610c373660046150f3565b613388565b348015610c4857600080fd5b5061042b610c573660046156ef565b6133a6565b348015610c6857600080fd5b5061042b600080516020615e5e83398151915281565b348015610c8a57600080fd5b50610392610c9936600461570c565b6133cc565b348015610caa57600080fd5b5061042b600080516020615dfe83398151915281565b600080516020615ebe833981519152610cd88161340b565b6001821015610d2c5760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610d805760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610d23565b6000610d8a613415565b90508060060154831115610e045760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610d23565b60ff9093166000908152600f90930160205250604090912055565b6000610e2a82613439565b92915050565b60606000610e3c61345e565b9050806000018054610e4d9061573a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e799061573a565b8015610ec65780601f10610e9b57610100808354040283529160200191610ec6565b820191906000526020600020905b815481529060010190602001808311610ea957829003601f168201915b505050505091505090565b6000610edc82613482565b50610e2a826134ba565b610ef18282336134e3565b5050565b600080610f006134f0565b6002015492915050565b6001600160a01b038216610f34576000604051633250574960e11b8152600401610d23919061502b565b6000610f41838333613514565b9050836001600160a01b0316816001600160a01b031614610f8f576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610d23565b50505050565b600080610fa061368f565b60009384526020525050604090206001015490565b600080610fc0613415565b60009384526008016020525050604090205490565b610fde82610f95565b610fe78161340b565b610f8f83836136b3565b600080610ffc6134f0565b905061100784612523565b831061102a57838360405163295f44f760e21b8152600401610d23929190615774565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b600061105e8161340b565b6000611068613415565b9050806006015483116110dd5760405162461bcd60e51b81526020600482015260436024820152600080516020615d9e83398151915260448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610d23565b60025b8381116111755760008181526008830160205260409020546111635760405162461bcd60e51b81526020600482015260426024820152600080516020615dbe83398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610d23565b8061116d816157a3565b9150506110e0565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b03811633146111e85760405163334bd91960e11b815260040160405180910390fd5b6111f28282613754565b505050565b600080516020615e9e83398151915261120f8161340b565b6001600160a01b03821661128b5760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610d23565b6000611295613415565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b600080611300613415565b6001600160a01b0385166000908152601282016020526040902090915061132790846137cc565b6001600160d01b0316949350505050565b600080516020615e5e8339815191526113508161340b565b611358613882565b50565b600080611366613415565b600b81015460405163295d33a960e21b8152600481018690529192506000916101009091046001600160a01b03169063a574cea49060240160e060405180830381865afa1580156113bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113df91906157d3565b50939998505050505050505050565b6111f283838360405180602001604052806000815250612e90565b3361141382612436565b6001600160a01b0316146114395760405162461bcd60e51b8152600401610d2390615864565b611358816138d9565b61144a6138e5565b61145261391b565b3361145c82612436565b6001600160a01b0316146114ce5760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610d23565b60006114d8613415565b905060006114e583612500565b90506114ef612d02565b81106115525760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610d23565b600061155d84612d17565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a082319061159490339060040161502b565b602060405180830381865afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d591906158b7565b101561163a5760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610d23565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa15801561168a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ae91906158b7565b10156117155760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610d23565b6000848152601084016020526040812080548392906117359084906158d0565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af1158015611799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bd91906158e3565b6118095760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610d23565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec4288548361183587612500565b6040805192835260208301919091520160405180910390a2505050611358613943565b61186061391b565b600061186a613415565b90503361187683612436565b6001600160a01b031614806119005750600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa1580156118d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f59190615900565b6001600160a01b0316145b806119855750600b81015460405163bfc206ed60e01b815260048101859052339161010090046001600160a01b03169063bfc206ed90602401602060405180830381865afa158015611956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197a9190615900565b6001600160a01b0316145b611a045760405162461bcd60e51b81526020600482015260566024820152600080516020615ede83398151915260448201527f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b60648201527532b7103737ba1037bbb732b210313c9031b0b63632b960511b608482015260a401610d23565b81611a0e84611bf8565b14611a705760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610d23565b82611a7a83612caf565b14611adc5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610d23565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a36000611b38836000613954565b50905083837f48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b859083604051611b6e91815260200190565b60405180910390a350505050565b611b84613ac9565b611b8d82613b6e565b610ef18282613b86565b600080611ba26134f0565b9050611bac610ef5565b8310611bd05760008360405163295f44f760e21b8152600401610d23929190615774565b806002018381548110611be557611be561591d565b9060005260206000200154915050919050565b6000611c02613415565b6000928352600d0160205250604090205490565b6000611c20613c3a565b50600080516020615e3e83398151915290565b6000611c3e8161340b565b6000825111611c5f5760405162461bcd60e51b8152600401610d2390615933565b6000611c69613415565b905080600401604051611c7c9190615976565b604051809103902083604051611c9291906159ec565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a360048101610f8f8482615a4e565b600080611cdb613415565b600201546001600160a01b031692915050565b6000611cf98161340b565b6000611d03613415565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611d38911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611d60613415565b600b81015490915060ff1615611dc85760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610d23565b611dd133612a8b565b611e3c5760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610d23565b61135833613c83565b600080611e50613cb4565b5460ff1692915050565b600080611e65613415565b546001600160a01b031692915050565b6000611e7f613cd8565b805490915060ff600160401b82041615906001600160401b0316600081158015611ea65750825b90506000826001600160401b03166001148015611ec25750303b155b905081158015611ed0575080155b15611eee5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611f1757845460ff60401b1916600160401b1785555b60008660e0015111611f715760405162461bcd60e51b815260206004820152602f6024820152600080516020615d9e83398151915260448201526e02067726561746572207468616e203608c1b6064820152608401610d23565b60008661010001515111611f975760405162461bcd60e51b8152600401610d2390615933565b6101408601516001600160a01b03166120175760405162461bcd60e51b815260206004820152603c60248201527f47616c617879204d656d6265723a204233545220746f6b656e2061646472657360448201527b732063616e6e6f7420626520746865207a65726f206164647265737360201b6064820152608401610d23565b6101608601516001600160a01b03166120955760405162461bcd60e51b815260206004820152603a60248201527f47616c617879204d656d6265723a20547265617375727920616464726573732060448201527963616e6e6f7420626520746865207a65726f206164647265737360301b6064820152608401610d23565b60018660e001516120a69190615b0d565b86610120015151101561211a5760405162461bcd60e51b81526020600482015260426024820152600080516020615dbe83398151915260448201527f7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656064820152616c7360f01b608482015260a401610d23565b61212c86600001518760200151613cfc565b612134613d0e565b61213c613d16565b612144613d0e565b61214c613d0e565b612154613d26565b61215c613d0e565b6000612166613415565b905086610100015181600401908161217e9190615a4e565b5060005b8761012001515181101561222357600088610120015182815181106121a9576121a961591d565b6020026020010151116121ce5760405162461bcd60e51b8152600401610d2390615b20565b87610120015181815181106121e5576121e561591d565b602002602001015182600801600083600261220091906158d0565b81526020810191909152604001600020558061221b816157a3565b915050612182565b5060e087015160068201556101408701516002820180546001600160a01b03199081166001600160a01b03938416179091556101608901516003840180549092169083161790556040880151166122dc5760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a2041646d696e20616464726573732063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d23565b6122ed6000801b88604001516136b3565b5061230a600080516020615dfe83398151915288606001516136b3565b50612327600080516020615e5e83398151915288608001516136b3565b50612344600080516020615e7e8339815191528860a001516136b3565b50612361600080516020615e9e8339815191528860c001516136b3565b5050831561239c57845460ff60401b19168555604051600080516020615dde8339815191529061239390600190615b63565b60405180910390a15b505050505050565b600080516020615ebe8339815191526123bc8161340b565b6001600160a01b0382166123e25760405162461bcd60e51b8152600401610d2390615b77565b60006123ec613415565b600b0180546001600160a01b0390941661010002610100600160a81b0319909416939093179092555050565b600080612423613415565b600301546001600160a01b031692915050565b6000610e2a82613482565b612449614f19565b600061245483613d36565b6001600160a01b0316036124b65760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610d23565b6124be614f19565b8281526124ca83613186565b60208201526124d883612500565b60408201526124e683612d17565b606082015292915050565b60606124fb613d5f565b905090565b60008061250c83612caf565b9050600061251a8483613954565b50949350505050565b60008061252e61345e565b90506001600160a01b03831661255a5760006040516322718ad960e21b8152600401610d23919061502b565b6001600160a01b039092166000908152600390920160205250604090205490565b600080612586613415565b600101546001600160a01b031692915050565b6113583382613d7c565b600080516020615e5e8339815191526125bb8161340b565b611358613e40565b6060816000036126135760405162461bcd60e51b81526020600482015260276024820152600080516020615d7e83398151915260448201526606f7420626520360cc1b6064820152608401610d23565b60648083111561265c5761262681613e87565b6040516020016126369190615bcd565b60408051601f198184030181529082905262461bcd60e51b8252610d2391600401614fff565b600061266786612523565b905060006126758587615c1c565b90508181106126ba5760408051600080825260208201909252906126af565b61269c614f19565b8152602001906001900390816126945790505b5093505050506127a2565b60006126c686836158d0565b9050828111156126d35750815b60006126df8383615b0d565b90506000816001600160401b038111156126fb576126fb61516b565b60405190808252806020026020018201604052801561273457816020015b612721614f19565b8152602001906001900390816127195790505b50905060005b8281101561279957600061274e82876158d0565b9050600061275c8d83610ff1565b905061276781612441565b8484815181106127795761277961591d565b602002602001018190525050508080612791906157a3565b91505061273a565b50955050505050505b9392505050565b60006127b3613415565b600092835260100160205250604090205490565b6127cf61391b565b60006127d9613415565b9050336127e583612436565b6001600160a01b03161461284b5760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610d23565b600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa158015612896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ba9190615900565b6001600160a01b0316146129205760405162461bcd60e51b81526020600482015260396024820152600080516020615ede8339815191526044820152783bb732b21037b91036b0b730b3b2b210313c9031b0b63632b960391b6064820152608401610d23565b61292983611bf8565b1561298d5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610d23565b61299682612caf565b156129fa5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610d23565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a36000612a558385613954565b50905083837fdd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace783604051611b6e91815260200190565b600080612a96613415565b80549091506001600160a01b0316612b095760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610d23565b60018101546001600160a01b0316612b6f5760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610d23565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612b9e90869060040161502b565b602060405180830381865afa158015612bbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bdf91906158e3565b80612c5857506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612c1790869060040161502b565b602060405180830381865afa158015612c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5891906158e3565b15612c665750600192915050565b50600092915050565b600080612c7a61368f565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006124fb613f19565b6000612cb9613415565b6000928352600e0160205250604090205490565b60606000612cd961345e565b9050806001018054610e4d9061573a565b60008061251a8484613954565b610ef1338383613f24565b600080612d0d613415565b6006015492915050565b600080612d2383613d36565b6001600160a01b031603612d3957506000919050565b6000612d4483612caf565b9050600080612d538584613954565b91509150612d5f612d02565b8203612d7057506000949350505050565b80612d7f6104948460016158d0565b612d899190615b0d565b95945050505050565b6000612d9d8161340b565b6111f28383613d7c565b6000612db28161340b565b6000612dbc613415565b905060005b8351811015612e53576000848281518110612dde57612dde61591d565b602002602001015111612e035760405162461bcd60e51b8152600401610d2390615b20565b838181518110612e1557612e1561591d565b6020026020010151826008016000836002612e3091906158d0565b815260208101919091526040016000205580612e4b816157a3565b915050612dc1565b507f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf87083604051612e839190615c33565b60405180910390a1505050565b612e9b848484610f0a565b610f8f84848484613fc0565b60026000612eb3613cd8565b8054909150600160401b900460ff1680612eda575080546001600160401b03808416911610155b15612ef85760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781558251600814612f775760405162461bcd60e51b81526020600482015260386024820152600080516020615e1e8339815191526044820152776c6576656c732e204d7573742062652037206c6576656c7360401b6064820152608401610d23565b6001600160a01b038616612f9d5760405162461bcd60e51b8152600401610d2390615b77565b6001600160a01b0385166130155760405162461bcd60e51b815260206004820152603960248201527f47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063604482015278616e6e6f7420626520746865207a65726f206164647265737360381b6064820152608401610d23565b600061301f613415565b600b81018054610100600160a81b0319166101006001600160a01b038b81169190910291909117909155600c820180546001600160a01b03191691891691909117905560058101549091501561307957806005015461307c565b60015b600582015560005b84518160ff161015613142576001858260ff16815181106130a7576130a761591d565b602002602001015110156130f95760405162461bcd60e51b81526020600482015260256024820152600080516020615e1e8339815191526044820152641b195d995b60da1b6064820152608401610d23565b848160ff168151811061310e5761310e61591d565b60209081029190910181015160ff83166000908152600f85019092526040909120558061313a81615c77565b915050613084565b5061315b600080516020615ebe833981519152866136b3565b5050805460ff60401b19168155604051600080516020615dde83398151915290612393908490615b63565b6060600061319383613d36565b6001600160a01b0316036131b557505060408051602081019091526000815290565b60006131c083612500565b9050600081116131df57604051806020016040528060008152506127a2565b6131e76124f1565b6131f082613e87565b604051602001613201929190615c96565b6040516020818303038152906040529392505050565b600080613225836000613954565b509392505050565b600080613238613415565b6001600160a01b0384166000908152601282016020526040902090915061325e906140d7565b6001600160d01b03169392505050565b61327782610f95565b6132808161340b565b610f8f8383613754565b600080516020615e9e8339815191526132a28161340b565b6001600160a01b0382166133185760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d23565b6000613322613415565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b613390614f19565b600061339b8361322d565b90506127a281612441565b60006133b0613415565b60ff9092166000908152600f9290920160205250604090205490565b6000806133d761345e565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b6113588133614107565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610e2a5750610e2a82614132565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b60008061348e83613d36565b90506001600160a01b038116610e2a57604051637e27328960e01b815260048101849052602401610d23565b6000806134c561345e565b6000938452600401602052505060409020546001600160a01b031690565b6111f28383836001614157565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b600061351e61391b565b61352783612caf565b1561359a5760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610d23565b60006135a7858585614261565b90506001600160a01b038116158015906135c757506135c581612523565b155b15613607576136046135d7612ca5565b60006135e1613415565b6001600160a01b0385166000908152601291909101602052604090209190614276565b50505b6001600160a01b038116158015906136265750836136248261322d565b145b801561363a5750600061363882612523565b115b15613653576136538161364e836000610ff1565b613d7c565b6001600160a01b03851615801590613673575061366f85612523565b6001145b15613687576136878561364e876000610ff1565b949350505050565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806136be61368f565b90506136ca8484612c6f565b61374a576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556137003390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610e2a565b6000915050610e2a565b60008061375f61368f565b905061376b8484612c6f565b1561374a576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610e2a565b81546000908181600581111561382b5760006137e784614291565b6137f19085615b0d565b60008881526020902090915081015465ffffffffffff908116908716101561381b57809150613829565b6138268160016158d0565b92505b505b600061383987878585614379565b905080156138745761385e87613850600184615b0d565b600091825260209091200190565b54600160301b90046001600160d01b0316613877565b60005b979650505050505050565b61388a6143d3565b6000613894613cb4565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516138ce919061502b565b60405180910390a150565b610ef160008233613514565b60006138ef6143f8565b80549091506001190161391557604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b613923611e45565b156139415760405163d93c066560e01b815260040160405180910390fd5b565b600061394d6143f8565b6001905550565b6000806000613961613415565b9050600184158015906139f6575061397886612436565b600c830154604051634f16179f60e11b8152600481018890526001600160a01b039283169290911690639e2c2f3e90602401602060405180830381865afa1580156139c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139eb9190615900565b6001600160a01b0316145b15613a3c576000613a068661135b565b905060ff811615613a3a576000613a1c826133a6565b90508360060154811115613a34578360060154613a36565b805b9250505b505b600086815260108301602052604081205490613a598360016158d0565b90505b83600601548111613abc5760008181526008850160205260409020548210613aa55760008181526008850160205260409020549092508290613a9e9083615b0d565b9150613aaa565b613abc565b80613ab4816157a3565b915050613a5c565b5090969095509350505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480613b5057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316613b44600080516020615e3e833981519152546001600160a01b031690565b6001600160a01b031614155b156139415760405163703e46dd60e11b815260040160405180910390fd5b600080516020615dfe833981519152610ef18161340b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613be0575060408051601f3d908101601f19168201909252613bdd918101906158b7565b60015b613bff5781604051634c9c8ce360e01b8152600401610d23919061502b565b600080516020615e3e8339815191528114613c3057604051632a87526960e21b815260048101829052602401610d23565b6111f2838361441c565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146139415760405163703e46dd60e11b815260040160405180910390fd5b6000613c8d613415565b6005810180549192506000919082613ca4836157a3565b9190505590506111f28382614472565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613d0461448c565b610ef182826144b1565b61394161448c565b613d1e61448c565b6139416144df565b613d2e61448c565b6139416144fc565b600080613d4161345e565b6000938452600201602052505060409020546001600160a01b031690565b60606000613d6b613415565b9050806004018054610e4d9061573a565b816001600160a01b0316613d8f82612436565b6001600160a01b031614613db55760405162461bcd60e51b8152600401610d2390615864565b6000613dbf613415565b9050613df6613dcc612ca5565b613dd584614504565b6001600160a01b038616600090815260128501602052604090209190614276565b5050826001600160a01b03167fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc83604051613e3391815260200190565b60405180910390a2505050565b613e4861391b565b6000613e52613cb4565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586138c13390565b60606000613e948361453c565b60010190506000816001600160401b03811115613eb357613eb361516b565b6040519080825280601f01601f191660200182016040528015613edd576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613ee757509392505050565b60006124fb43614612565b6000613f2e61345e565b90506001600160a01b038316613f595782604051630b61174360e31b8152600401610d23919061502b565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611b6e565b6001600160a01b0383163b15610f8f57604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290614002903390889087908790600401615ceb565b6020604051808303816000875af192505050801561403d575060408051601f3d908101601f1916820190925261403a91810190615d28565b60015b61409d573d80801561406b576040519150601f19603f3d011682016040523d82523d6000602084013e614070565b606091505b5080516000036140955783604051633250574960e11b8152600401610d23919061502b565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146140d05783604051633250574960e11b8152600401610d23919061502b565b5050505050565b80546000908015612c66576140f183613850600184615b0d565b54600160301b90046001600160d01b03166127a2565b6141118282612c6f565b610ef157808260405163e2517d3f60e01b8152600401610d23929190615774565b60006001600160e01b0319821663780e9d6360e01b1480610e2a5750610e2a82614645565b600061416161345e565b9050818061417757506001600160a01b03831615155b1561423057600061418785613482565b90506001600160a01b038416158015906141b35750836001600160a01b0316816001600160a01b031614155b80156141c657506141c481856133cc565b155b156141e6578360405163a9fbf51f60e01b8152600401610d23919061502b565b821561422e5784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b600061426b61391b565b613687848484614695565b600080614284858585614723565b915091505b935093915050565b6000816000036142a357506000919050565b600060016142b08461489d565b901c6001901b905060018184816142c9576142c9615cd5565b048201901c905060018184816142e1576142e1615cd5565b048201901c905060018184816142f9576142f9615cd5565b048201901c9050600181848161431157614311615cd5565b048201901c9050600181848161432957614329615cd5565b048201901c9050600181848161434157614341615cd5565b048201901c9050600181848161435957614359615cd5565b048201901c90506127a28182858161437357614373615cd5565b04614931565b60005b818310156132255760006143908484614947565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156143bf578092506143cd565b6143ca8160016158d0565b93505b5061437c565b6143db611e45565b61394157604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b61442582614962565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561446a576111f282826149be565b610ef1614a2b565b610ef1828260405180602001604052806000815250614a4a565b614494614a61565b61394157604051631afcd79f60e31b815260040160405180910390fd5b6144b961448c565b60006144c361345e565b9050806144d08482615a4e565b5060018101610f8f8382615a4e565b6144e761448c565b60006144f1613cb4565b805460ff1916905550565b61394361448c565b60006001600160d01b03821115614538576040516306dfcc6560e41b815260d0600482015260248101839052604401610d23565b5090565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061457b5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106145a5576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106145c357662386f26fc10000830492506010015b6305f5e10083106145db576305f5e100830492506008015b61271083106145ef57612710830492506004015b60648310614601576064830492506002015b600a8310610e2a5760010192915050565b600065ffffffffffff821115614538576040516306dfcc6560e41b81526030600482015260248101839052604401610d23565b60006001600160e01b031982166380ac58cd60e01b148061467657506001600160e01b03198216635b5e139f60e01b145b80610e2a57506301ffc9a760e01b6001600160e01b0319831614610e2a565b6000806146a3858585614a7b565b90506001600160a01b0381166146c1576146bc84614b82565b6146e4565b846001600160a01b0316816001600160a01b0316146146e4576146e48185614bbb565b6001600160a01b038516614700576146fb84614c5c565b613687565b846001600160a01b0316816001600160a01b031614613687576136878585614d25565b82546000908190801561484257600061474187613850600185615b0d565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561479557604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036147e157846147b888613850600186615b0d565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055614832565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506142899050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081614289565b600080608083901c156148b257608092831c92015b604083901c156148c457604092831c92015b602083901c156148d657602092831c92015b601083901c156148e857601092831c92015b600883901c156148fa57600892831c92015b600483901c1561490c57600492831c92015b600283901c1561491e57600292831c92015b600183901c15610e2a5760010192915050565b600081831061494057816127a2565b5090919050565b60006149566002848418615d45565b6127a2908484166158d0565b806001600160a01b03163b60000361498f5780604051634c9c8ce360e01b8152600401610d23919061502b565b600080516020615e3e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516149db91906159ec565b600060405180830381855af49150503d8060008114614a16576040519150601f19603f3d011682016040523d82523d6000602084013e614a1b565b606091505b5091509150612d89858383614d7d565b34156139415760405163b398979f60e01b815260040160405180910390fd5b614a548383614dd0565b6111f26000848484613fc0565b6000614a6b613cd8565b54600160401b900460ff16919050565b600080614a8661345e565b90506000614a9385613d36565b90506001600160a01b03841615614aaf57614aaf818587614e35565b6001600160a01b03811615614aef57614acc600086600080614157565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614b20576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b6000614b8c6134f0565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b6000614bc56134f0565b90506000614bd284612523565b6000848152600184016020526040902054909150808214614c27576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b6000614c666134f0565b6002810154909150600090614c7d90600190615b0d565b6000848152600384016020526040812054600285018054939450909284908110614ca957614ca961591d565b9060005260206000200154905080846002018381548110614ccc57614ccc61591d565b600091825260208083209091019290925582815260038601909152604080822084905586825281205560028401805480614d0857614d08615d67565b600190038181906000526020600020016000905590555050505050565b6000614d2f6134f0565b905060006001614d3e85612523565b614d489190615b0d565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b606082614d9257614d8d82614e8b565b6127a2565b8151158015614da957506001600160a01b0384163b155b15614dc95783604051639996b31560e01b8152600401610d23919061502b565b50806127a2565b6001600160a01b038216614dfa576000604051633250574960e11b8152600401610d23919061502b565b6000614e0883836000613514565b90506001600160a01b038116156111f25760006040516339e3563760e11b8152600401610d23919061502b565b614e40838383614eb4565b6111f2576001600160a01b038316614e6e57604051637e27328960e01b815260048101829052602401610d23565b818160405163177e802f60e01b8152600401610d23929190615774565b805115614e9b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b038316158015906136875750826001600160a01b0316846001600160a01b03161480614eee5750614eee84846133cc565b806136875750826001600160a01b0316614f07836134ba565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461135857600080fd5b60008060408385031215614f6357600080fd5b8235614f6e81614f41565b946020939093013593505050565b6001600160e01b03198116811461135857600080fd5b600060208284031215614fa457600080fd5b81356127a281614f7c565b60005b83811015614fca578181015183820152602001614fb2565b50506000910152565b60008151808452614feb816020860160208601614faf565b601f01601f19169290920160200192915050565b6020815260006127a26020830184614fd3565b60006020828403121561502457600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461135857600080fd5b803561505f8161503f565b919050565b6000806040838503121561507757600080fd5b8235614f6e8161503f565b60008060006060848603121561509757600080fd5b83356150a28161503f565b925060208401356150b28161503f565b929592945050506040919091013590565b600080604083850312156150d657600080fd5b8235915060208301356150e88161503f565b809150509250929050565b60006020828403121561510557600080fd5b81356127a28161503f565b6000806040838503121561512357600080fd5b823561512e8161503f565b9150602083013565ffffffffffff811681146150e857600080fd5b6000806040838503121561515c57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156151a4576151a461516b565b60405290565b604051601f8201601f191681016001600160401b03811182821017156151d2576151d261516b565b604052919050565b600082601f8301126151eb57600080fd5b81356001600160401b038111156152045761520461516b565b615217601f8201601f19166020016151aa565b81815284602083860101111561522c57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561525c57600080fd5b82356152678161503f565b915060208301356001600160401b0381111561528257600080fd5b61528e858286016151da565b9150509250929050565b6000602082840312156152aa57600080fd5b81356001600160401b038111156152c057600080fd5b613687848285016151da565b801515811461135857600080fd5b6000602082840312156152ec57600080fd5b81356127a2816152cc565b600082601f83011261530857600080fd5b813560206001600160401b038211156153235761532361516b565b8160051b6153328282016151aa565b928352848101820192828101908785111561534c57600080fd5b83870192505b8483101561387757823582529183019190830190615352565b60006020828403121561537d57600080fd5b81356001600160401b038082111561539457600080fd5b9083019061018082860312156153a957600080fd5b6153b1615181565b8235828111156153c057600080fd5b6153cc878286016151da565b8252506020830135828111156153e157600080fd5b6153ed878286016151da565b6020830152506153ff60408401615054565b604082015261541060608401615054565b606082015261542160808401615054565b608082015261543260a08401615054565b60a082015261544360c08401615054565b60c082015260e083013560e0820152610100808401358381111561546657600080fd5b615472888287016151da565b828401525050610120808401358381111561548c57600080fd5b615498888287016152f7565b82840152505061014091506154ae828401615054565b8282015261016091506154c2828401615054565b91810191909152949350505050565b8051825260006020820151608060208501526154f06080850182614fd3565b905060408301516040850152606083015160608501528091505092915050565b6020815260006127a260208301846154d1565b60008060006060848603121561553857600080fd5b83356155438161503f565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156155ad57603f1988860301845261559b8583516154d1565b9450928501929085019060010161557f565b5092979650505050505050565b600080604083850312156155cd57600080fd5b82356155d88161503f565b915060208301356150e8816152cc565b6000602082840312156155fa57600080fd5b81356001600160401b0381111561561057600080fd5b613687848285016152f7565b6000806000806080858703121561563257600080fd5b843561563d8161503f565b9350602085013561564d8161503f565b92506040850135915060608501356001600160401b0381111561566f57600080fd5b61567b878288016151da565b91505092959194509250565b6000806000806080858703121561569d57600080fd5b84356156a88161503f565b935060208501356156b88161503f565b925060408501356156c88161503f565b915060608501356001600160401b038111156156e357600080fd5b61567b878288016152f7565b60006020828403121561570157600080fd5b81356127a281614f41565b6000806040838503121561571f57600080fd5b823561572a8161503f565b915060208301356150e88161503f565b600181811c9082168061574e57607f821691505b60208210810361576e57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b6000600182016157b5576157b561578d565b5060010190565b80516001600160401b038116811461505f57600080fd5b600080600080600080600060e0888a0312156157ee57600080fd5b87516157f98161503f565b602089015190975061580a81614f41565b604089015190965061581b816152cc565b606089015190955061582c816152cc565b935061583a608089016157bc565b925061584860a089016157bc565b915061585660c089016157bc565b905092959891949750929550565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b6000602082840312156158c957600080fd5b5051919050565b80820180821115610e2a57610e2a61578d565b6000602082840312156158f557600080fd5b81516127a2816152cc565b60006020828403121561591257600080fd5b81516127a28161503f565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f47616c617879204d656d6265723a204261736520555249206d757374206265206040820152621cd95d60ea1b606082015260800190565b60008083546159848161573a565b6001828116801561599c57600181146159b1576159e0565b60ff19841687528215158302870194506159e0565b8760005260208060002060005b858110156159d75781548a8201529084019082016159be565b50505082870194505b50929695505050505050565b600082516159fe818460208701614faf565b9190910192915050565b601f8211156111f257600081815260208120601f850160051c81016020861015615a2f5750805b601f850160051c820191505b8181101561239c57828155600101615a3b565b81516001600160401b03811115615a6757615a6761516b565b615a7b81615a75845461573a565b84615a08565b602080601f831160018114615ab05760008415615a985750858301515b600019600386901b1c1916600185901b17855561239c565b600085815260208120601f198616915b82811015615adf57888601518255948401946001909101908401615ac0565b5085821015615afd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610e2a57610e2a61578d565b6020808252603590820152600080516020615dbe83398151915260408201527407573742062652067726561746572207468616e203605c1b606082015260800190565b6001600160401b0391909116815260200190565b60208082526036908201527f47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b600080516020615d7e833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b602082015260008251615c0f816033850160208701614faf565b9190910160330192915050565b8082028115828204841417610e2a57610e2a61578d565b6020808252825182820181905260009190848201906040850190845b81811015615c6b57835183529284019291840191600101615c4f565b50909695505050505050565b600060ff821660ff8103615c8d57615c8d61578d565b60010192915050565b60008351615ca8818460208801614faf565b835190830190615cbc818360208801614faf565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615d1e90830184614fd3565b9695505050505050565b600060208284031215615d3a57600080fd5b81516127a281614f7c565b600082615d6257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204d6178206c6576656c206d75737420626547616c617879204d656d6265723a204233545220746f2075706772616465206dc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e347616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a656af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f547616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206fa2646970667358221220cc3b77604e7360a7a04ae4843c3dfbd98801572161f688a574523d891506737c64736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x5F33 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x3AD4 ADD MSTORE DUP2 DUP2 PUSH2 0x3AFD ADD MSTORE PUSH2 0x3C45 ADD MSTORE PUSH2 0x5F33 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x350 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x372 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x3C9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x416 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x439 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x459 JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x479 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x499 JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4D9 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x4F9 JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x519 JUMPI DUP1 PUSH4 0x3C60F55D EQ PUSH2 0x539 JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x57B JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x590 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x5C2 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x5E2 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x622 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x642 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x688 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x69B JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x6BB JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x6DB JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x6F0 JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x71A JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x73A JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x74F JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x76F JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x784 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x799 JUMPI DUP1 PUSH4 0x5F4E42CA EQ PUSH2 0x7AE JUMPI DUP1 PUSH4 0x5FFAA59A EQ PUSH2 0x7CE JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7EE JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x803 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x823 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x865 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x885 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x8A5 JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x8BA JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x8DA JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x8EF JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x91C JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x93C JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x95C JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x97C JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x99C JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x9C8 JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x9EA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA0A JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0xA1F JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xA3F JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0xA54 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0xA74 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0xA89 JUMPI DUP1 PUSH4 0xAA3491EB EQ PUSH2 0xAA9 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xAC9 JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xAFA JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xB1A JUMPI DUP1 PUSH4 0xC190EB3A EQ PUSH2 0xB3A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xB5A JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xB7A JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xB9A JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xBBA JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xBDC JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xBFC JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xC1C JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xC3C JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xC5C JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xC7E JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xC9E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x36B CALLDATASIZE PUSH1 0x4 PUSH2 0x4F50 JUMP JUMPDEST PUSH2 0xCC0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x38D CALLDATASIZE PUSH1 0x4 PUSH2 0x4F92 JUMP JUMPDEST PUSH2 0xE1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xE30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4FFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x3E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x402 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x411 CALLDATASIZE PUSH1 0x4 PUSH2 0x5064 JUMP JUMPDEST PUSH2 0xEE6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x422 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x454 CALLDATASIZE PUSH1 0x4 PUSH2 0x5082 JUMP JUMPDEST PUSH2 0xF0A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x465 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x474 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0xF95 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x494 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0xFB5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C3 JUMP JUMPDEST PUSH2 0xFD5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x4D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5064 JUMP JUMPDEST PUSH2 0xFF1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1053 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x505 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x514 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C3 JUMP JUMPDEST PUSH2 0x11BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x534 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x11F7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x545 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x554 CALLDATASIZE PUSH1 0x4 PUSH2 0x5110 JUMP JUMPDEST PUSH2 0x12F5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x587 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1338 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x59C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B0 PUSH2 0x5AB CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x135B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x5DD CALLDATASIZE PUSH1 0x4 PUSH2 0x5082 JUMP JUMPDEST PUSH2 0x13EE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x5FD CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1409 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x61D CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1442 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x63D CALLDATASIZE PUSH1 0x4 PUSH2 0x5149 JUMP JUMPDEST PUSH2 0x1858 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST PUSH2 0x370 PUSH2 0x696 CALLDATASIZE PUSH1 0x4 PUSH2 0x5249 JUMP JUMPDEST PUSH2 0x1B7C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x6B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1B97 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x6D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1BF8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x1C16 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0xD PUSH1 0xFA SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x726 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x735 CALLDATASIZE PUSH1 0x4 PUSH2 0x5298 JUMP JUMPDEST PUSH2 0x1C33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x746 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1CD0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x76A CALLDATASIZE PUSH1 0x4 PUSH2 0x52DA JUMP JUMPDEST PUSH2 0x1CEE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1D56 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x790 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x1E45 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1E5A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x536B JUMP JUMPDEST PUSH2 0x1E75 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7E9 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x23A4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x2418 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x80F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x81E CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2436 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x843 PUSH2 0x83E CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2441 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x5510 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x24F1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x880 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2500 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x8A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x2523 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x257B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x8D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2599 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x25A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90F PUSH2 0x90A CALLDATASIZE PUSH1 0x4 PUSH2 0x5523 JUMP JUMPDEST PUSH2 0x25C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x5558 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x928 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x937 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x27A9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x948 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x957 CALLDATASIZE PUSH1 0x4 PUSH2 0x5149 JUMP JUMPDEST PUSH2 0x27C7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x977 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x2A8B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x988 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x997 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C3 JUMP JUMPDEST PUSH2 0x2C6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9B1 PUSH2 0x2CA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xA05 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2CAF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x2CCD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xA3A CALLDATASIZE PUSH1 0x4 PUSH2 0x5149 JUMP JUMPDEST PUSH2 0x2CEA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xA6F CALLDATASIZE PUSH1 0x4 PUSH2 0x55BA JUMP JUMPDEST PUSH2 0x2CF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x2D02 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xAA4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2D17 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xAC4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5064 JUMP JUMPDEST PUSH2 0x2D92 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB15 CALLDATASIZE PUSH1 0x4 PUSH2 0x55E8 JUMP JUMPDEST PUSH2 0x2DA7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB35 CALLDATASIZE PUSH1 0x4 PUSH2 0x561C JUMP JUMPDEST PUSH2 0x2E90 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB55 CALLDATASIZE PUSH1 0x4 PUSH2 0x5687 JUMP JUMPDEST PUSH2 0x2EA7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xB75 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x3186 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xB95 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x3217 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xBB5 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x322D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E7E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xBF7 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C3 JUMP JUMPDEST PUSH2 0x326E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xC17 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x328A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x843 PUSH2 0xC37 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x3388 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xC57 CALLDATASIZE PUSH1 0x4 PUSH2 0x56EF JUMP JUMPDEST PUSH2 0x33A6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0xC99 CALLDATASIZE PUSH1 0x4 PUSH2 0x570C JUMP JUMPDEST PUSH2 0x33CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCD8 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xD2C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xD80 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD8A PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xE04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE2A DUP3 PUSH2 0x3439 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE3C PUSH2 0x345E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x573A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE79 SWAP1 PUSH2 0x573A JUMP JUMPDEST DUP1 ISZERO PUSH2 0xEC6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE9B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xEC6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xEA9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEDC DUP3 PUSH2 0x3482 JUMP JUMPDEST POP PUSH2 0xE2A DUP3 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 CALLER PUSH2 0x34E3 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF00 PUSH2 0x34F0 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF34 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF41 DUP4 DUP4 CALLER PUSH2 0x3514 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF8F JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFA0 PUSH2 0x368F JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFC0 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xFDE DUP3 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0xFE7 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0xF8F DUP4 DUP4 PUSH2 0x36B3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFFC PUSH2 0x34F0 JUMP JUMPDEST SWAP1 POP PUSH2 0x1007 DUP5 PUSH2 0x2523 JUMP JUMPDEST DUP4 LT PUSH2 0x102A JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x5774 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x105E DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1068 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0x10DD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x1175 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1163 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST DUP1 PUSH2 0x116D DUP2 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10E0 JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x11E8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x11F2 DUP3 DUP3 PUSH2 0x3754 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x120F DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x128B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1295 PUSH2 0x3415 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1300 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x1327 SWAP1 DUP5 PUSH2 0x37CC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1350 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0x1358 PUSH2 0x3882 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1366 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x295D33A9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA574CEA4 SWAP1 PUSH1 0x24 ADD PUSH1 0xE0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13DF SWAP2 SWAP1 PUSH2 0x57D3 JUMP JUMPDEST POP SWAP4 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2E90 JUMP JUMPDEST CALLER PUSH2 0x1413 DUP3 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1439 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5864 JUMP JUMPDEST PUSH2 0x1358 DUP2 PUSH2 0x38D9 JUMP JUMPDEST PUSH2 0x144A PUSH2 0x38E5 JUMP JUMPDEST PUSH2 0x1452 PUSH2 0x391B JUMP JUMPDEST CALLER PUSH2 0x145C DUP3 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x14CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14D8 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x14E5 DUP4 PUSH2 0x2500 JUMP JUMPDEST SWAP1 POP PUSH2 0x14EF PUSH2 0x2D02 JUMP JUMPDEST DUP2 LT PUSH2 0x1552 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x155D DUP5 PUSH2 0x2D17 JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1594 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x502B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15D5 SWAP2 SWAP1 PUSH2 0x58B7 JUMP JUMPDEST LT ISZERO PUSH2 0x163A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x168A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16AE SWAP2 SWAP1 PUSH2 0x58B7 JUMP JUMPDEST LT ISZERO PUSH2 0x1715 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1735 SWAP1 DUP5 SWAP1 PUSH2 0x58D0 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1799 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17BD SWAP2 SWAP1 PUSH2 0x58E3 JUMP JUMPDEST PUSH2 0x1809 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x1835 DUP8 PUSH2 0x2500 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x1358 PUSH2 0x3943 JUMP JUMPDEST PUSH2 0x1860 PUSH2 0x391B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x186A PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x1876 DUP4 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x1900 JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18F5 SWAP2 SWAP1 PUSH2 0x5900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0x1985 JUMPI POP PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFC206ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBFC206ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1956 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197A SWAP2 SWAP1 PUSH2 0x5900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x1A04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x56 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776E6564206F72206D616E616765642062792063616C6C6572206F7220746F6B PUSH1 0x64 DUP3 ADD MSTORE PUSH22 0x32B7103737BA1037BBB732B210313C9031B0B63632B9 PUSH1 0x51 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST DUP2 PUSH2 0x1A0E DUP5 PUSH2 0x1BF8 JUMP JUMPDEST EQ PUSH2 0x1A70 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP3 PUSH2 0x1A7A DUP4 PUSH2 0x2CAF JUMP JUMPDEST EQ PUSH2 0x1ADC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x1B38 DUP4 PUSH1 0x0 PUSH2 0x3954 JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0x48129B4A18F9CA1400152E3F45A48CF58787E9948A48294199C83A66517B8590 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B6E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0x1B84 PUSH2 0x3AC9 JUMP JUMPDEST PUSH2 0x1B8D DUP3 PUSH2 0x3B6E JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH2 0x3B86 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BA2 PUSH2 0x34F0 JUMP JUMPDEST SWAP1 POP PUSH2 0x1BAC PUSH2 0xEF5 JUMP JUMPDEST DUP4 LT PUSH2 0x1BD0 JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x5774 JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1BE5 JUMPI PUSH2 0x1BE5 PUSH2 0x591D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C02 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xD ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C20 PUSH2 0x3C3A JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C3E DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1C5F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5933 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C69 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1C7C SWAP2 SWAP1 PUSH2 0x5976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1C92 SWAP2 SWAP1 PUSH2 0x59EC JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0xF8F DUP5 DUP3 PUSH2 0x5A4E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CDB PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CF9 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D03 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1D38 SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D60 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1DC8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x1DD1 CALLER PUSH2 0x2A8B JUMP JUMPDEST PUSH2 0x1E3C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x1358 CALLER PUSH2 0x3C83 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E50 PUSH2 0x3CB4 JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E65 PUSH2 0x3415 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E7F PUSH2 0x3CD8 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1EA6 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1EC2 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1ED0 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1EEE JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1F17 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x0 DUP7 PUSH1 0xE0 ADD MLOAD GT PUSH2 0x1F71 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH2 0x100 ADD MLOAD MLOAD GT PUSH2 0x1F97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5933 JUMP JUMPDEST PUSH2 0x140 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2017 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204233545220746F6B656E20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x732063616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x160 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2095 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205472656173757279206164647265737320 PUSH1 0x44 DUP3 ADD MSTORE PUSH26 0x63616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x30 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP7 PUSH1 0xE0 ADD MLOAD PUSH2 0x20A6 SWAP2 SWAP1 PUSH2 0x5B0D JUMP JUMPDEST DUP7 PUSH2 0x120 ADD MLOAD MLOAD LT ISZERO PUSH2 0x211A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C20756E6C6F636B6564206C657665 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x6C73 PUSH1 0xF0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x212C DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD PUSH2 0x3CFC JUMP JUMPDEST PUSH2 0x2134 PUSH2 0x3D0E JUMP JUMPDEST PUSH2 0x213C PUSH2 0x3D16 JUMP JUMPDEST PUSH2 0x2144 PUSH2 0x3D0E JUMP JUMPDEST PUSH2 0x214C PUSH2 0x3D0E JUMP JUMPDEST PUSH2 0x2154 PUSH2 0x3D26 JUMP JUMPDEST PUSH2 0x215C PUSH2 0x3D0E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2166 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP7 PUSH2 0x100 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x217E SWAP2 SWAP1 PUSH2 0x5A4E JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x2223 JUMPI PUSH1 0x0 DUP9 PUSH2 0x120 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x21A9 JUMPI PUSH2 0x21A9 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x21CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5B20 JUMP JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x21E5 JUMPI PUSH2 0x21E5 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2200 SWAP2 SWAP1 PUSH2 0x58D0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x221B DUP2 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2182 JUMP JUMPDEST POP PUSH1 0xE0 DUP8 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x140 DUP8 ADD MLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND OR SWAP1 SWAP2 SSTORE PUSH2 0x160 DUP10 ADD MLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x40 DUP9 ADD MLOAD AND PUSH2 0x22DC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2041646D696E20616464726573732063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x22ED PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0x40 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP PUSH2 0x230A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x60 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP PUSH2 0x2327 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP PUSH2 0x2344 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E7E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xA0 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP PUSH2 0x2361 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xC0 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0x239C JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2393 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5B63 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x23BC DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x23E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5B77 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23EC PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xB ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2423 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE2A DUP3 PUSH2 0x3482 JUMP JUMPDEST PUSH2 0x2449 PUSH2 0x4F19 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2454 DUP4 PUSH2 0x3D36 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x24B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x24BE PUSH2 0x4F19 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x24CA DUP4 PUSH2 0x3186 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x24D8 DUP4 PUSH2 0x2500 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x24E6 DUP4 PUSH2 0x2D17 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x24FB PUSH2 0x3D5F JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x250C DUP4 PUSH2 0x2CAF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x251A DUP5 DUP4 PUSH2 0x3954 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x252E PUSH2 0x345E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x255A JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2586 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1358 CALLER DUP3 PUSH2 0x3D7C JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x25BB DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0x1358 PUSH2 0x3E40 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x2613 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D7E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x265C JUMPI PUSH2 0x2626 DUP2 PUSH2 0x3E87 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2636 SWAP2 SWAP1 PUSH2 0x5BCD JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xD23 SWAP2 PUSH1 0x4 ADD PUSH2 0x4FFF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2667 DUP7 PUSH2 0x2523 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2675 DUP6 DUP8 PUSH2 0x5C1C JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x26BA JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x26AF JUMP JUMPDEST PUSH2 0x269C PUSH2 0x4F19 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2694 JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x27A2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26C6 DUP7 DUP4 PUSH2 0x58D0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x26D3 JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x26DF DUP4 DUP4 PUSH2 0x5B0D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26FB JUMPI PUSH2 0x26FB PUSH2 0x516B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2734 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x2721 PUSH2 0x4F19 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2719 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2799 JUMPI PUSH1 0x0 PUSH2 0x274E DUP3 DUP8 PUSH2 0x58D0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x275C DUP14 DUP4 PUSH2 0xFF1 JUMP JUMPDEST SWAP1 POP PUSH2 0x2767 DUP2 PUSH2 0x2441 JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2779 JUMPI PUSH2 0x2779 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x2791 SWAP1 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x273A JUMP JUMPDEST POP SWAP6 POP POP POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27B3 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x27CF PUSH2 0x391B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27D9 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x27E5 DUP4 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x284B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2896 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28BA SWAP2 SWAP1 PUSH2 0x5900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2920 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x3BB732B21037B91036B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x39 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x2929 DUP4 PUSH2 0x1BF8 JUMP JUMPDEST ISZERO PUSH2 0x298D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x2996 DUP3 PUSH2 0x2CAF JUMP JUMPDEST ISZERO PUSH2 0x29FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x2A55 DUP4 DUP6 PUSH2 0x3954 JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0xDD061FFADD9DFF78128B6AF54ABBF2B83CBC680B9F75A2C08294800146BAACE7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B6E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A96 PUSH2 0x3415 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2B09 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2B6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2B9E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x502B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2BBB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2BDF SWAP2 SWAP1 PUSH2 0x58E3 JUMP JUMPDEST DUP1 PUSH2 0x2C58 JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2C17 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x502B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2C34 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C58 SWAP2 SWAP1 PUSH2 0x58E3 JUMP JUMPDEST ISZERO PUSH2 0x2C66 JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C7A PUSH2 0x368F JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FB PUSH2 0x3F19 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CB9 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xE ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2CD9 PUSH2 0x345E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x573A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x251A DUP5 DUP5 PUSH2 0x3954 JUMP JUMPDEST PUSH2 0xEF1 CALLER DUP4 DUP4 PUSH2 0x3F24 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2D0D PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2D23 DUP4 PUSH2 0x3D36 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2D39 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D44 DUP4 PUSH2 0x2CAF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2D53 DUP6 DUP5 PUSH2 0x3954 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2D5F PUSH2 0x2D02 JUMP JUMPDEST DUP3 SUB PUSH2 0x2D70 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2D7F PUSH2 0x494 DUP5 PUSH1 0x1 PUSH2 0x58D0 JUMP JUMPDEST PUSH2 0x2D89 SWAP2 SWAP1 PUSH2 0x5B0D JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D9D DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 PUSH2 0x3D7C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DB2 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DBC PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2E53 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2DDE JUMPI PUSH2 0x2DDE PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2E03 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5B20 JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2E15 JUMPI PUSH2 0x2E15 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2E30 SWAP2 SWAP1 PUSH2 0x58D0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2E4B DUP2 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2DC1 JUMP JUMPDEST POP PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 DUP4 PUSH1 0x40 MLOAD PUSH2 0x2E83 SWAP2 SWAP1 PUSH2 0x5C33 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x2E9B DUP5 DUP5 DUP5 PUSH2 0xF0A JUMP JUMPDEST PUSH2 0xF8F DUP5 DUP5 DUP5 DUP5 PUSH2 0x3FC0 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2EB3 PUSH2 0x3CD8 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2EDA JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2EF8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE DUP3 MLOAD PUSH1 0x8 EQ PUSH2 0x2F77 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6C6576656C732E204D7573742062652037206C6576656C73 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2F9D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5B77 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x3015 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F6E6F6465734D616E6761656D656E742063 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x301F PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xB DUP2 ADD DUP1 SLOAD PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND SWAP2 SWAP1 SWAP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0xC DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP2 DUP10 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x3079 JUMPI DUP1 PUSH1 0x5 ADD SLOAD PUSH2 0x307C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x3142 JUMPI PUSH1 0x1 DUP6 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x30A7 JUMPI PUSH2 0x30A7 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x30F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1B195D995B PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP5 DUP2 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x310E JUMPI PUSH2 0x310E PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0xFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF DUP6 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE DUP1 PUSH2 0x313A DUP2 PUSH2 0x5C77 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3084 JUMP JUMPDEST POP PUSH2 0x315B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 PUSH2 0x36B3 JUMP JUMPDEST POP POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2393 SWAP1 DUP5 SWAP1 PUSH2 0x5B63 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3193 DUP4 PUSH2 0x3D36 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x31B5 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31C0 DUP4 PUSH2 0x2500 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x31DF JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x27A2 JUMP JUMPDEST PUSH2 0x31E7 PUSH2 0x24F1 JUMP JUMPDEST PUSH2 0x31F0 DUP3 PUSH2 0x3E87 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3201 SWAP3 SWAP2 SWAP1 PUSH2 0x5C96 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3225 DUP4 PUSH1 0x0 PUSH2 0x3954 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3238 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x325E SWAP1 PUSH2 0x40D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x3277 DUP3 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0x3280 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0xF8F DUP4 DUP4 PUSH2 0x3754 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x32A2 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3322 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x3390 PUSH2 0x4F19 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x339B DUP4 PUSH2 0x322D JUMP JUMPDEST SWAP1 POP PUSH2 0x27A2 DUP2 PUSH2 0x2441 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33B0 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x33D7 PUSH2 0x345E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1358 DUP2 CALLER PUSH2 0x4107 JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE2A JUMPI POP PUSH2 0xE2A DUP3 PUSH2 0x4132 JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x348E DUP4 PUSH2 0x3D36 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xE2A JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x34C5 PUSH2 0x345E JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x4157 JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x351E PUSH2 0x391B JUMP JUMPDEST PUSH2 0x3527 DUP4 PUSH2 0x2CAF JUMP JUMPDEST ISZERO PUSH2 0x359A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35A7 DUP6 DUP6 DUP6 PUSH2 0x4261 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x35C7 JUMPI POP PUSH2 0x35C5 DUP2 PUSH2 0x2523 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3607 JUMPI PUSH2 0x3604 PUSH2 0x35D7 PUSH2 0x2CA5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35E1 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x4276 JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3626 JUMPI POP DUP4 PUSH2 0x3624 DUP3 PUSH2 0x322D JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x363A JUMPI POP PUSH1 0x0 PUSH2 0x3638 DUP3 PUSH2 0x2523 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x3653 JUMPI PUSH2 0x3653 DUP2 PUSH2 0x364E DUP4 PUSH1 0x0 PUSH2 0xFF1 JUMP JUMPDEST PUSH2 0x3D7C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3673 JUMPI POP PUSH2 0x366F DUP6 PUSH2 0x2523 JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x3687 JUMPI PUSH2 0x3687 DUP6 PUSH2 0x364E DUP8 PUSH1 0x0 PUSH2 0xFF1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x36BE PUSH2 0x368F JUMP JUMPDEST SWAP1 POP PUSH2 0x36CA DUP5 DUP5 PUSH2 0x2C6F JUMP JUMPDEST PUSH2 0x374A JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x3700 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x375F PUSH2 0x368F JUMP JUMPDEST SWAP1 POP PUSH2 0x376B DUP5 DUP5 PUSH2 0x2C6F JUMP JUMPDEST ISZERO PUSH2 0x374A JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x382B JUMPI PUSH1 0x0 PUSH2 0x37E7 DUP5 PUSH2 0x4291 JUMP JUMPDEST PUSH2 0x37F1 SWAP1 DUP6 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x381B JUMPI DUP1 SWAP2 POP PUSH2 0x3829 JUMP JUMPDEST PUSH2 0x3826 DUP2 PUSH1 0x1 PUSH2 0x58D0 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x3839 DUP8 DUP8 DUP6 DUP6 PUSH2 0x4379 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3874 JUMPI PUSH2 0x385E DUP8 PUSH2 0x3850 PUSH1 0x1 DUP5 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x3877 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x388A PUSH2 0x43D3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3894 PUSH2 0x3CB4 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x38CE SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xEF1 PUSH1 0x0 DUP3 CALLER PUSH2 0x3514 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38EF PUSH2 0x43F8 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3915 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x3923 PUSH2 0x1E45 JUMP JUMPDEST ISZERO PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x394D PUSH2 0x43F8 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3961 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x39F6 JUMPI POP PUSH2 0x3978 DUP7 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x39C7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x39EB SWAP2 SWAP1 PUSH2 0x5900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x3A3C JUMPI PUSH1 0x0 PUSH2 0x3A06 DUP7 PUSH2 0x135B JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x3A3A JUMPI PUSH1 0x0 PUSH2 0x3A1C DUP3 PUSH2 0x33A6 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x3A34 JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x3A36 JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x3A59 DUP4 PUSH1 0x1 PUSH2 0x58D0 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3ABC JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x3AA5 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3A9E SWAP1 DUP4 PUSH2 0x5B0D JUMP JUMPDEST SWAP2 POP PUSH2 0x3AAA JUMP JUMPDEST PUSH2 0x3ABC JUMP JUMPDEST DUP1 PUSH2 0x3AB4 DUP2 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3A5C JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3B50 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3B44 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEF1 DUP2 PUSH2 0x340B JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3BE0 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3BDD SWAP2 DUP2 ADD SWAP1 PUSH2 0x58B7 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3BFF JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3C30 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 PUSH2 0x441C JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3C8D PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x3CA4 DUP4 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x11F2 DUP4 DUP3 PUSH2 0x4472 JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x3D04 PUSH2 0x448C JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH2 0x44B1 JUMP JUMPDEST PUSH2 0x3941 PUSH2 0x448C JUMP JUMPDEST PUSH2 0x3D1E PUSH2 0x448C JUMP JUMPDEST PUSH2 0x3941 PUSH2 0x44DF JUMP JUMPDEST PUSH2 0x3D2E PUSH2 0x448C JUMP JUMPDEST PUSH2 0x3941 PUSH2 0x44FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3D41 PUSH2 0x345E JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3D6B PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x573A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3D8F DUP3 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3DB5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5864 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DBF PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH2 0x3DF6 PUSH2 0x3DCC PUSH2 0x2CA5 JUMP JUMPDEST PUSH2 0x3DD5 DUP5 PUSH2 0x4504 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x4276 JUMP JUMPDEST POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC DUP4 PUSH1 0x40 MLOAD PUSH2 0x3E33 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3E48 PUSH2 0x391B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E52 PUSH2 0x3CB4 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x38C1 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3E94 DUP4 PUSH2 0x453C JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3EB3 JUMPI PUSH2 0x3EB3 PUSH2 0x516B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3EDD JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3EE7 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FB NUMBER PUSH2 0x4612 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F2E PUSH2 0x345E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3F59 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1B6E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0xF8F JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x4002 SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5CEB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x403D JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x403A SWAP2 DUP2 ADD SWAP1 PUSH2 0x5D28 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x409D JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x406B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4070 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x4095 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x40D0 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2C66 JUMPI PUSH2 0x40F1 DUP4 PUSH2 0x3850 PUSH1 0x1 DUP5 PUSH2 0x5B0D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x27A2 JUMP JUMPDEST PUSH2 0x4111 DUP3 DUP3 PUSH2 0x2C6F JUMP JUMPDEST PUSH2 0xEF1 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x5774 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE2A JUMPI POP PUSH2 0xE2A DUP3 PUSH2 0x4645 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4161 PUSH2 0x345E JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x4177 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x4230 JUMPI PUSH1 0x0 PUSH2 0x4187 DUP6 PUSH2 0x3482 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x41B3 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x41C6 JUMPI POP PUSH2 0x41C4 DUP2 DUP6 PUSH2 0x33CC JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x41E6 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST DUP3 ISZERO PUSH2 0x422E JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x426B PUSH2 0x391B JUMP JUMPDEST PUSH2 0x3687 DUP5 DUP5 DUP5 PUSH2 0x4695 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4284 DUP6 DUP6 DUP6 PUSH2 0x4723 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x42A3 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x42B0 DUP5 PUSH2 0x489D JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42C9 JUMPI PUSH2 0x42C9 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42E1 JUMPI PUSH2 0x42E1 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42F9 JUMPI PUSH2 0x42F9 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4311 JUMPI PUSH2 0x4311 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4329 JUMPI PUSH2 0x4329 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4341 JUMPI PUSH2 0x4341 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4359 JUMPI PUSH2 0x4359 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x27A2 DUP2 DUP3 DUP6 DUP2 PUSH2 0x4373 JUMPI PUSH2 0x4373 PUSH2 0x5CD5 JUMP JUMPDEST DIV PUSH2 0x4931 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x3225 JUMPI PUSH1 0x0 PUSH2 0x4390 DUP5 DUP5 PUSH2 0x4947 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x43BF JUMPI DUP1 SWAP3 POP PUSH2 0x43CD JUMP JUMPDEST PUSH2 0x43CA DUP2 PUSH1 0x1 PUSH2 0x58D0 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x437C JUMP JUMPDEST PUSH2 0x43DB PUSH2 0x1E45 JUMP JUMPDEST PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x4425 DUP3 PUSH2 0x4962 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x446A JUMPI PUSH2 0x11F2 DUP3 DUP3 PUSH2 0x49BE JUMP JUMPDEST PUSH2 0xEF1 PUSH2 0x4A2B JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x4A4A JUMP JUMPDEST PUSH2 0x4494 PUSH2 0x4A61 JUMP JUMPDEST PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x44B9 PUSH2 0x448C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44C3 PUSH2 0x345E JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x44D0 DUP5 DUP3 PUSH2 0x5A4E JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0xF8F DUP4 DUP3 PUSH2 0x5A4E JUMP JUMPDEST PUSH2 0x44E7 PUSH2 0x448C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44F1 PUSH2 0x3CB4 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x3943 PUSH2 0x448C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x4538 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD23 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x457B JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x45A5 JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x45C3 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x45DB JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x45EF JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4601 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xE2A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4538 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x4676 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xE2A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x46A3 DUP6 DUP6 DUP6 PUSH2 0x4A7B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x46C1 JUMPI PUSH2 0x46BC DUP5 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x46E4 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x46E4 JUMPI PUSH2 0x46E4 DUP2 DUP6 PUSH2 0x4BBB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4700 JUMPI PUSH2 0x46FB DUP5 PUSH2 0x4C5C JUMP JUMPDEST PUSH2 0x3687 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3687 JUMPI PUSH2 0x3687 DUP6 DUP6 PUSH2 0x4D25 JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x4842 JUMPI PUSH1 0x0 PUSH2 0x4741 DUP8 PUSH2 0x3850 PUSH1 0x1 DUP6 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x4795 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x47E1 JUMPI DUP5 PUSH2 0x47B8 DUP9 PUSH2 0x3850 PUSH1 0x1 DUP7 PUSH2 0x5B0D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x4832 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x4289 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x4289 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x48B2 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x48C4 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x48D6 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x48E8 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x48FA JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x490C JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x491E JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xE2A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x4940 JUMPI DUP2 PUSH2 0x27A2 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4956 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x5D45 JUMP JUMPDEST PUSH2 0x27A2 SWAP1 DUP5 DUP5 AND PUSH2 0x58D0 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x498F JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x49DB SWAP2 SWAP1 PUSH2 0x59EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4A16 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4A1B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2D89 DUP6 DUP4 DUP4 PUSH2 0x4D7D JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4A54 DUP4 DUP4 PUSH2 0x4DD0 JUMP JUMPDEST PUSH2 0x11F2 PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3FC0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A6B PUSH2 0x3CD8 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4A86 PUSH2 0x345E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4A93 DUP6 PUSH2 0x3D36 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x4AAF JUMPI PUSH2 0x4AAF DUP2 DUP6 DUP8 PUSH2 0x4E35 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x4AEF JUMPI PUSH2 0x4ACC PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x4157 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4B20 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B8C PUSH2 0x34F0 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4BC5 PUSH2 0x34F0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4BD2 DUP5 PUSH2 0x2523 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x4C27 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C66 PUSH2 0x34F0 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x4C7D SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x4CA9 JUMPI PUSH2 0x4CA9 PUSH2 0x591D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x4CCC JUMPI PUSH2 0x4CCC PUSH2 0x591D JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x4D08 JUMPI PUSH2 0x4D08 PUSH2 0x5D67 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D2F PUSH2 0x34F0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x4D3E DUP6 PUSH2 0x2523 JUMP JUMPDEST PUSH2 0x4D48 SWAP2 SWAP1 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4D92 JUMPI PUSH2 0x4D8D DUP3 PUSH2 0x4E8B JUMP JUMPDEST PUSH2 0x27A2 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4DA9 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4DC9 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST POP DUP1 PUSH2 0x27A2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4DFA JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4E08 DUP4 DUP4 PUSH1 0x0 PUSH2 0x3514 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH2 0x4E40 DUP4 DUP4 DUP4 PUSH2 0x4EB4 JUMP JUMPDEST PUSH2 0x11F2 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4E6E JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x5774 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4E9B JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3687 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x4EEE JUMPI POP PUSH2 0x4EEE DUP5 DUP5 PUSH2 0x33CC JUMP JUMPDEST DUP1 PUSH2 0x3687 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4F07 DUP4 PUSH2 0x34BA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F6E DUP2 PUSH2 0x4F41 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x27A2 DUP2 PUSH2 0x4F7C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4FCA JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4FB2 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4FEB DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4FAF JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x27A2 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4FD3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5024 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x505F DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5077 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F6E DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5097 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x50A2 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x50B2 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x50E8 DUP2 PUSH2 0x503F JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5105 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x27A2 DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x512E DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x50E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x515C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x180 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x51A4 JUMPI PUSH2 0x51A4 PUSH2 0x516B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x51D2 JUMPI PUSH2 0x51D2 PUSH2 0x516B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x51EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5204 JUMPI PUSH2 0x5204 PUSH2 0x516B JUMP JUMPDEST PUSH2 0x5217 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x51AA JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x522C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x525C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5267 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5282 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x528E DUP6 DUP3 DUP7 ADD PUSH2 0x51DA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x52AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x52C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3687 DUP5 DUP3 DUP6 ADD PUSH2 0x51DA JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x52EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x27A2 DUP2 PUSH2 0x52CC JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5308 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5323 JUMPI PUSH2 0x5323 PUSH2 0x516B JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x5332 DUP3 DUP3 ADD PUSH2 0x51AA JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x534C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x3877 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x5352 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x537D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5394 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x180 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x53A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53B1 PUSH2 0x5181 JUMP JUMPDEST DUP3 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x53C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53CC DUP8 DUP3 DUP7 ADD PUSH2 0x51DA JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x53E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53ED DUP8 DUP3 DUP7 ADD PUSH2 0x51DA JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x53FF PUSH1 0x40 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x5410 PUSH1 0x60 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x5421 PUSH1 0x80 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x5432 PUSH1 0xA0 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x5443 PUSH1 0xC0 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP4 ADD CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x5466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5472 DUP9 DUP3 DUP8 ADD PUSH2 0x51DA JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x120 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x548C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5498 DUP9 DUP3 DUP8 ADD PUSH2 0x52F7 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x140 SWAP2 POP PUSH2 0x54AE DUP3 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x160 SWAP2 POP PUSH2 0x54C2 DUP3 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x54F0 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x4FD3 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x27A2 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x54D1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5538 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5543 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x55AD JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x559B DUP6 DUP4 MLOAD PUSH2 0x54D1 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x557F JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x55D8 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x50E8 DUP2 PUSH2 0x52CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5610 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3687 DUP5 DUP3 DUP6 ADD PUSH2 0x52F7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5632 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x563D DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x564D DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x566F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x567B DUP8 DUP3 DUP9 ADD PUSH2 0x51DA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x569D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x56A8 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x56B8 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x56C8 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x56E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x567B DUP8 DUP3 DUP9 ADD PUSH2 0x52F7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5701 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x27A2 DUP2 PUSH2 0x4F41 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x571F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x572A DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x50E8 DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x574E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x576E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x57B5 JUMPI PUSH2 0x57B5 PUSH2 0x578D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x505F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x57EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 MLOAD PUSH2 0x57F9 DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH1 0x20 DUP10 ADD MLOAD SWAP1 SWAP8 POP PUSH2 0x580A DUP2 PUSH2 0x4F41 JUMP JUMPDEST PUSH1 0x40 DUP10 ADD MLOAD SWAP1 SWAP7 POP PUSH2 0x581B DUP2 PUSH2 0x52CC JUMP JUMPDEST PUSH1 0x60 DUP10 ADD MLOAD SWAP1 SWAP6 POP PUSH2 0x582C DUP2 PUSH2 0x52CC JUMP JUMPDEST SWAP4 POP PUSH2 0x583A PUSH1 0x80 DUP10 ADD PUSH2 0x57BC JUMP JUMPDEST SWAP3 POP PUSH2 0x5848 PUSH1 0xA0 DUP10 ADD PUSH2 0x57BC JUMP JUMPDEST SWAP2 POP PUSH2 0x5856 PUSH1 0xC0 DUP10 ADD PUSH2 0x57BC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x58C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x578D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x58F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x27A2 DUP2 PUSH2 0x52CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5912 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x27A2 DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x5984 DUP2 PUSH2 0x573A JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x599C JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x59B1 JUMPI PUSH2 0x59E0 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x59E0 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x59D7 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x59BE JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x59FE DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4FAF JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5A2F JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x239C JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5A3B JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5A67 JUMPI PUSH2 0x5A67 PUSH2 0x516B JUMP JUMPDEST PUSH2 0x5A7B DUP2 PUSH2 0x5A75 DUP5 SLOAD PUSH2 0x573A JUMP JUMPDEST DUP5 PUSH2 0x5A08 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5AB0 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x5A98 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x239C JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5ADF JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5AC0 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5AFD JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x578D JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x35 SWAP1 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F7665636861696E4E6F6465732063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D7E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x5C0F DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4FAF JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x578D JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5C6B JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x5C4F JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x5C8D JUMPI PUSH2 0x5C8D PUSH2 0x578D JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5CA8 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4FAF JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x5CBC DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4FAF JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5D1E SWAP1 DUP4 ADD DUP5 PUSH2 0x4FD3 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5D3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x27A2 DUP2 PUSH2 0x4F7C JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5D62 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 0x4D PUSH2 0x7820 PUSH13 0x6576656C206D75737420626547 PUSH2 0x6C61 PUSH25 0x79204D656D6265723A204233545220746F2075706772616465 KECCAK256 PUSH14 0xC7F505B2F371AE2175EE4913F449 SWAP15 0x1F 0x26 CALLER 0xA7 0xB5 SWAP4 PUSH4 0x21EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E347 PUSH2 0x6C61 PUSH25 0x794D656D6265723A20696E76616C6964206E6F646520667265 PUSH6 0x20360894A13B LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A9F2DF0FE 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F547616C6178794D656D PUSH3 0x65723A KECCAK256 PUSH23 0x65636861696E206E6F6465206E6F74206FA26469706673 PC 0x22 SLT KECCAK256 0xCC EXTCODESIZE PUSH24 0x604E7360A7A04AE4843C3DFBD98801572161F688A574523D DUP10 ISZERO MOD PUSH20 0x7C64736F6C634300081400330000000000000000 ","sourceMap":"4195:35128:69:-:0;;;1171:4:3;1128:48;;9881:47:69;;;;;;;;;-1:-1:-1;9901:22:69;:20;:22::i;:::-;4195:35128;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;4195:35128:69;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_38473":{"entryPoint":null,"id":38473,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_36280":{"entryPoint":null,"id":36280,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@MAX_LEVEL_38158":{"entryPoint":11522,"id":38158,"parameterSlots":0,"returnSlots":1},"@MINTER_ROLE_36275":{"entryPoint":null,"id":36275,"parameterSlots":0,"returnSlots":0},"@NODES_MANAGER_ROLE_36285":{"entryPoint":null,"id":36285,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_36270":{"entryPoint":null,"id":36270,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_36265":{"entryPoint":null,"id":36265,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":null,"id":63,"parameterSlots":0,"returnSlots":0},"@__ERC721Burnable_init_3165":{"entryPoint":null,"id":3165,"parameterSlots":0,"returnSlots":0},"@__ERC721Enumerable_init_3252":{"entryPoint":15630,"id":3252,"parameterSlots":0,"returnSlots":0},"@__ERC721Pausable_init_3698":{"entryPoint":15638,"id":3698,"parameterSlots":0,"returnSlots":0},"@__ERC721_init_2099":{"entryPoint":15612,"id":2099,"parameterSlots":2,"returnSlots":0},"@__ERC721_init_unchained_2127":{"entryPoint":17585,"id":2127,"parameterSlots":2,"returnSlots":0},"@__Pausable_init_unchained_4057":{"entryPoint":17631,"id":4057,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_4203":{"entryPoint":15654,"id":4203,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_unchained_4221":{"entryPoint":17660,"id":4221,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":null,"id":1786,"parameterSlots":0,"returnSlots":0},"@_addTokenToAllTokensEnumeration_3510":{"entryPoint":19330,"id":3510,"parameterSlots":1,"returnSlots":0},"@_addTokenToOwnerEnumeration_3479":{"entryPoint":19749,"id":3479,"parameterSlots":2,"returnSlots":0},"@_approve_2931":{"entryPoint":13539,"id":2931,"parameterSlots":3,"returnSlots":0},"@_approve_3005":{"entryPoint":16727,"id":3005,"parameterSlots":4,"returnSlots":0},"@_authorizeUpgrade_36839":{"entryPoint":15214,"id":36839,"parameterSlots":1,"returnSlots":0},"@_baseURI_38641":{"entryPoint":15711,"id":38641,"parameterSlots":0,"returnSlots":1},"@_checkAuthorized_2559":{"entryPoint":20021,"id":2559,"parameterSlots":3,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":17548,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":18987,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":15418,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkOnERC721Received_3143":{"entryPoint":16320,"id":3143,"parameterSlots":4,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":15049,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":13323,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":16647,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":13967,"id":46,"parameterSlots":0,"returnSlots":1},"@_getApproved_2486":{"entryPoint":13498,"id":2486,"parameterSlots":1,"returnSlots":1},"@_getERC721EnumerableStorage_3236":{"entryPoint":13552,"id":3236,"parameterSlots":0,"returnSlots":1},"@_getERC721Storage_2083":{"entryPoint":13406,"id":2083,"parameterSlots":0,"returnSlots":1},"@_getGalaxyMemberStorage_36369":{"entryPoint":13333,"id":36369,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":15576,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getLevelOfAndB3TRleft_37829":{"entryPoint":14676,"id":37829,"parameterSlots":2,"returnSlots":2},"@_getPausableStorage_4013":{"entryPoint":15540,"id":4013,"parameterSlots":0,"returnSlots":1},"@_getReentrancyGuardStorage_4191":{"entryPoint":17400,"id":4191,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":14003,"id":315,"parameterSlots":2,"returnSlots":1},"@_insert_9806":{"entryPoint":18211,"id":9806,"parameterSlots":3,"returnSlots":2},"@_isAuthorized_2522":{"entryPoint":20148,"id":2522,"parameterSlots":3,"returnSlots":1},"@_isInitializing_1722":{"entryPoint":19041,"id":1722,"parameterSlots":0,"returnSlots":1},"@_mint_2735":{"entryPoint":19920,"id":2735,"parameterSlots":2,"returnSlots":0},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_nonReentrantAfter_4273":{"entryPoint":14659,"id":4273,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_4257":{"entryPoint":14565,"id":4257,"parameterSlots":0,"returnSlots":0},"@_ownerOf_2466":{"entryPoint":15670,"id":2466,"parameterSlots":1,"returnSlots":1},"@_pause_4138":{"entryPoint":15936,"id":4138,"parameterSlots":0,"returnSlots":0},"@_removeTokenFromAllTokensEnumeration_3648":{"entryPoint":19548,"id":3648,"parameterSlots":1,"returnSlots":0},"@_removeTokenFromOwnerEnumeration_3584":{"entryPoint":19387,"id":3584,"parameterSlots":2,"returnSlots":0},"@_requireNotPaused_4101":{"entryPoint":14619,"id":4101,"parameterSlots":0,"returnSlots":0},"@_requireOwned_3079":{"entryPoint":13442,"id":3079,"parameterSlots":1,"returnSlots":1},"@_requirePaused_4114":{"entryPoint":17363,"id":4114,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":20107,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":14164,"id":361,"parameterSlots":2,"returnSlots":1},"@_safeMint_2750":{"entryPoint":17522,"id":2750,"parameterSlots":2,"returnSlots":0},"@_safeMint_2776":{"entryPoint":19018,"id":2776,"parameterSlots":3,"returnSlots":0},"@_select_37058":{"entryPoint":15740,"id":37058,"parameterSlots":2,"returnSlots":0},"@_setApprovalForAll_3050":{"entryPoint":16164,"id":3050,"parameterSlots":3,"returnSlots":0},"@_setImplementation_4791":{"entryPoint":18786,"id":4791,"parameterSlots":1,"returnSlots":0},"@_unpause_4162":{"entryPoint":14466,"id":4162,"parameterSlots":0,"returnSlots":0},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_update_2685":{"entryPoint":19067,"id":2685,"parameterSlots":3,"returnSlots":1},"@_update_3438":{"entryPoint":18069,"id":3438,"parameterSlots":3,"returnSlots":1},"@_update_3727":{"entryPoint":16993,"id":3727,"parameterSlots":3,"returnSlots":1},"@_update_38587":{"entryPoint":13588,"id":38587,"parameterSlots":3,"returnSlots":1},"@_upgradeToAndCallUUPS_1913":{"entryPoint":15238,"id":1913,"parameterSlots":2,"returnSlots":0},"@_upperBinaryLookup_9858":{"entryPoint":17273,"id":9858,"parameterSlots":4,"returnSlots":1},"@approve_2299":{"entryPoint":3814,"id":2299,"parameterSlots":2,"returnSlots":0},"@attachNode_37173":{"entryPoint":10183,"id":37173,"parameterSlots":2,"returnSlots":0},"@average_6189":{"entryPoint":18759,"id":6189,"parameterSlots":2,"returnSlots":1},"@b3trGovernor_38109":{"entryPoint":9595,"id":38109,"parameterSlots":0,"returnSlots":1},"@b3tr_38126":{"entryPoint":7376,"id":38126,"parameterSlots":0,"returnSlots":1},"@balanceOf_2193":{"entryPoint":9507,"id":2193,"parameterSlots":1,"returnSlots":1},"@baseURI_38010":{"entryPoint":9457,"id":38010,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":16153,"id":11429,"parameterSlots":0,"returnSlots":1},"@burn_3188":{"entryPoint":14553,"id":3188,"parameterSlots":1,"returnSlots":0},"@burn_37083":{"entryPoint":5129,"id":37083,"parameterSlots":1,"returnSlots":0},"@clock_38464":{"entryPoint":11429,"id":38464,"parameterSlots":0,"returnSlots":1},"@detachNode_37265":{"entryPoint":6232,"id":37265,"parameterSlots":2,"returnSlots":0},"@freeMint_36881":{"entryPoint":7510,"id":36881,"parameterSlots":0,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":18878,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getApproved_2316":{"entryPoint":3793,"id":2316,"parameterSlots":1,"returnSlots":1},"@getB3TRdonated_38218":{"entryPoint":10153,"id":38218,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgradeToLevel_38030":{"entryPoint":4021,"id":38030,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgrade_37716":{"entryPoint":11543,"id":37716,"parameterSlots":1,"returnSlots":1},"@getIdAttachedToNode_38173":{"entryPoint":7160,"id":38173,"parameterSlots":1,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getLevelAfterAttachingNode_37921":{"entryPoint":11498,"id":37921,"parameterSlots":2,"returnSlots":1},"@getLevelAfterDetachingNode_37939":{"entryPoint":12823,"id":37939,"parameterSlots":1,"returnSlots":1},"@getNodeIdAttached_38188":{"entryPoint":11439,"id":38188,"parameterSlots":1,"returnSlots":1},"@getNodeLevelOf_37854":{"entryPoint":4955,"id":37854,"parameterSlots":1,"returnSlots":1},"@getNodeToFreeLevel_38203":{"entryPoint":13222,"id":38203,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":3989,"id":171,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenIdAtBlock_37901":{"entryPoint":4853,"id":37901,"parameterSlots":2,"returnSlots":1},"@getSelectedTokenId_37876":{"entryPoint":12845,"id":37876,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenInfoByOwner_38314":{"entryPoint":13192,"id":38314,"parameterSlots":1,"returnSlots":1},"@getTokenInfoByTokenId_38294":{"entryPoint":9281,"id":38294,"parameterSlots":1,"returnSlots":1},"@getTokensInfoByOwner_38453":{"entryPoint":9667,"id":38453,"parameterSlots":3,"returnSlots":1},"@grantRole_190":{"entryPoint":4053,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":11375,"id":116,"parameterSlots":2,"returnSlots":1},"@initializeV2_36828":{"entryPoint":11943,"id":36828,"parameterSlots":4,"returnSlots":0},"@initialize_36712":{"entryPoint":7797,"id":36712,"parameterSlots":1,"returnSlots":0},"@isApprovedForAll_2356":{"entryPoint":13260,"id":2356,"parameterSlots":2,"returnSlots":1},"@latest_9634":{"entryPoint":16599,"id":9634,"parameterSlots":1,"returnSlots":1},"@levelOf_37665":{"entryPoint":9472,"id":37665,"parameterSlots":1,"returnSlots":1},"@log10_6835":{"entryPoint":17724,"id":6835,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":18589,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":18737,"id":6166,"parameterSlots":2,"returnSlots":1},"@name_2222":{"entryPoint":3632,"id":2222,"parameterSlots":0,"returnSlots":1},"@ownerOf_2206":{"entryPoint":9270,"id":2206,"parameterSlots":1,"returnSlots":1},"@participatedInGovernance_38000":{"entryPoint":10891,"id":38000,"parameterSlots":1,"returnSlots":1},"@pause_36850":{"entryPoint":9635,"id":36850,"parameterSlots":0,"returnSlots":0},"@paused_4089":{"entryPoint":7749,"id":4089,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":7190,"id":1804,"parameterSlots":0,"returnSlots":1},"@push_9437":{"entryPoint":17014,"id":9437,"parameterSlots":3,"returnSlots":2},"@renounceRole_232":{"entryPoint":4543,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":12910,"id":209,"parameterSlots":2,"returnSlots":0},"@safeMint_37289":{"entryPoint":15491,"id":37289,"parameterSlots":1,"returnSlots":0},"@safeTransferFrom_2420":{"entryPoint":5102,"id":2420,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_2446":{"entryPoint":11920,"id":2446,"parameterSlots":4,"returnSlots":0},"@selectFor_37015":{"entryPoint":11666,"id":37015,"parameterSlots":2,"returnSlots":0},"@select_36998":{"entryPoint":9625,"id":36998,"parameterSlots":1,"returnSlots":0},"@setApprovalForAll_2332":{"entryPoint":11511,"id":2332,"parameterSlots":2,"returnSlots":0},"@setB3TRtoUpgradeToLevel_37533":{"entryPoint":11687,"id":37533,"parameterSlots":1,"returnSlots":0},"@setB3trGovernorAddress_37440":{"entryPoint":12938,"id":37440,"parameterSlots":1,"returnSlots":0},"@setBaseURI_37479":{"entryPoint":7219,"id":37479,"parameterSlots":1,"returnSlots":0},"@setIsPublicMintingPaused_37559":{"entryPoint":7406,"id":37559,"parameterSlots":1,"returnSlots":0},"@setMaxLevel_37351":{"entryPoint":4179,"id":37351,"parameterSlots":1,"returnSlots":0},"@setNodeToFreeUpgradeLevel_37641":{"entryPoint":3264,"id":37641,"parameterSlots":2,"returnSlots":0},"@setVechainNodes_37593":{"entryPoint":9124,"id":37593,"parameterSlots":1,"returnSlots":0},"@setXAllocationsGovernorAddress_37394":{"entryPoint":4599,"id":37394,"parameterSlots":1,"returnSlots":0},"@sqrt_6504":{"entryPoint":17041,"id":6504,"parameterSlots":1,"returnSlots":1},"@supportsInterface_2158":{"entryPoint":17989,"id":2158,"parameterSlots":1,"returnSlots":1},"@supportsInterface_3282":{"entryPoint":16690,"id":3282,"parameterSlots":1,"returnSlots":1},"@supportsInterface_38624":{"entryPoint":3615,"id":38624,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":13369,"id":91,"parameterSlots":1,"returnSlots":1},"@symbol_2238":{"entryPoint":11469,"id":2238,"parameterSlots":0,"returnSlots":1},"@toString_5762":{"entryPoint":16007,"id":5762,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":17668,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":17938,"id":7770,"parameterSlots":1,"returnSlots":1},"@tokenByIndex_3369":{"entryPoint":7063,"id":3369,"parameterSlots":1,"returnSlots":1},"@tokenOfOwnerByIndex_3318":{"entryPoint":4081,"id":3318,"parameterSlots":2,"returnSlots":1},"@tokenURI_38075":{"entryPoint":12678,"id":38075,"parameterSlots":1,"returnSlots":1},"@totalSupply_3335":{"entryPoint":3829,"id":3335,"parameterSlots":0,"returnSlots":1},"@transferFrom_2402":{"entryPoint":3850,"id":2402,"parameterSlots":3,"returnSlots":0},"@treasury_38142":{"entryPoint":9240,"id":38142,"parameterSlots":0,"returnSlots":1},"@unpause_36861":{"entryPoint":4920,"id":36861,"parameterSlots":0,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":7036,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":17436,"id":4825,"parameterSlots":2,"returnSlots":0},"@upgrade_36985":{"entryPoint":5186,"id":36985,"parameterSlots":1,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":14284,"id":9604,"parameterSlots":2,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":19837,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_38227":{"entryPoint":null,"id":38227,"parameterSlots":0,"returnSlots":1},"@xAllocationsGovernor_38092":{"entryPoint":7770,"id":38092,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":20564,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":21239,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":20954,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":20723,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":22784,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":22284,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":22151,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":20610,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":22044,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":21946,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":21065,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":20580,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_uint256":{"entryPoint":21795,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint48":{"entryPoint":20752,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint8t_boolt_boolt_uint64t_uint64t_uint64_fromMemory":{"entryPoint":22483,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":21992,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool":{"entryPoint":21210,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":22755,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":20675,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":20370,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":23848,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":21144,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_InitializationData_$36509_memory_ptr":{"entryPoint":21355,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":20498,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":22711,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":20809,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint8":{"entryPoint":22255,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8t_uint256":{"entryPoint":20304,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_uint64_fromMemory":{"entryPoint":22460,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_string":{"entryPoint":20435,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_struct_TokenInfo":{"entryPoint":21713,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":23020,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed":{"entryPoint":23702,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22902,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":23501,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":20523,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":23787,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":22388,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":21848,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":23603,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":23395,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":20479,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":23415,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22628,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22835,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":23328,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_TokenInfo_$38236_memory_ptr__to_t_struct$_TokenInfo_$38236_memory_ptr__fromStack_reversed":{"entryPoint":21776,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":20906,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_6084":{"entryPoint":20865,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":22736,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":23877,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":23580,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":23309,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":23048,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":23118,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":20399,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":22330,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":22435,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint8":{"entryPoint":23671,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":22413,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":23765,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":23911,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":22813,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":20843,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":20543,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":21196,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":20348,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":20289,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:44527:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"57:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"106:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"115:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"118:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"108:6:150"},"nodeType":"YulFunctionCall","src":"108:12:150"},"nodeType":"YulExpressionStatement","src":"108:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"98:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"87:3:150"},"nodeType":"YulFunctionCall","src":"87:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"77:2:150"},"nodeType":"YulFunctionCall","src":"77:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"70:6:150"},"nodeType":"YulFunctionCall","src":"70:35:150"},"nodeType":"YulIf","src":"67:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"46:5:150","type":""}],"src":"14:114:150"},{"body":{"nodeType":"YulBlock","src":"218:226:150","statements":[{"body":{"nodeType":"YulBlock","src":"264:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"273:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"276:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"266:6:150"},"nodeType":"YulFunctionCall","src":"266:12:150"},"nodeType":"YulExpressionStatement","src":"266:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"239:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"248:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:150"},"nodeType":"YulFunctionCall","src":"235:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"260:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"231:3:150"},"nodeType":"YulFunctionCall","src":"231:32:150"},"nodeType":"YulIf","src":"228:52:150"},{"nodeType":"YulVariableDeclaration","src":"289:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"315:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"302:12:150"},"nodeType":"YulFunctionCall","src":"302:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"293:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"357:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"334:22:150"},"nodeType":"YulFunctionCall","src":"334:29:150"},"nodeType":"YulExpressionStatement","src":"334:29:150"},{"nodeType":"YulAssignment","src":"372:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"382:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"372:6:150"}]},{"nodeType":"YulAssignment","src":"396:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"434:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"419:3:150"},"nodeType":"YulFunctionCall","src":"419:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"406:12:150"},"nodeType":"YulFunctionCall","src":"406:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"396:6:150"}]}]},"name":"abi_decode_tuple_t_uint8t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"176:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"187:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"199:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"207:6:150","type":""}],"src":"133:311:150"},{"body":{"nodeType":"YulBlock","src":"493:87:150","statements":[{"body":{"nodeType":"YulBlock","src":"558:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"567:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"570:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"560:6:150"},"nodeType":"YulFunctionCall","src":"560:12:150"},"nodeType":"YulExpressionStatement","src":"560:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"516:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"527:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"538:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"543:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"534:3:150"},"nodeType":"YulFunctionCall","src":"534:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"523:3:150"},"nodeType":"YulFunctionCall","src":"523:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"513:2:150"},"nodeType":"YulFunctionCall","src":"513:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"506:6:150"},"nodeType":"YulFunctionCall","src":"506:51:150"},"nodeType":"YulIf","src":"503:71:150"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"482:5:150","type":""}],"src":"449:131:150"},{"body":{"nodeType":"YulBlock","src":"654:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"700:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"709:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"712:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"702:6:150"},"nodeType":"YulFunctionCall","src":"702:12:150"},"nodeType":"YulExpressionStatement","src":"702:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"675:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"684:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"671:3:150"},"nodeType":"YulFunctionCall","src":"671:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"696:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"667:3:150"},"nodeType":"YulFunctionCall","src":"667:32:150"},"nodeType":"YulIf","src":"664:52:150"},{"nodeType":"YulVariableDeclaration","src":"725:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"751:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"738:12:150"},"nodeType":"YulFunctionCall","src":"738:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"729:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"794:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"770:23:150"},"nodeType":"YulFunctionCall","src":"770:30:150"},"nodeType":"YulExpressionStatement","src":"770:30:150"},{"nodeType":"YulAssignment","src":"809:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"819:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"809:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"620:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"631:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"643:6:150","type":""}],"src":"585:245:150"},{"body":{"nodeType":"YulBlock","src":"930:92:150","statements":[{"nodeType":"YulAssignment","src":"940:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"963:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"948:3:150"},"nodeType":"YulFunctionCall","src":"948:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"940:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"982:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1007:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1000:6:150"},"nodeType":"YulFunctionCall","src":"1000:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"993:6:150"},"nodeType":"YulFunctionCall","src":"993:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"975:6:150"},"nodeType":"YulFunctionCall","src":"975:41:150"},"nodeType":"YulExpressionStatement","src":"975:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"899:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"910:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"921:4:150","type":""}],"src":"835:187:150"},{"body":{"nodeType":"YulBlock","src":"1093:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1103:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1112:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1107:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1172:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1197:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1202:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1193:3:150"},"nodeType":"YulFunctionCall","src":"1193:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1216:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1221:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1212:3:150"},"nodeType":"YulFunctionCall","src":"1212:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1206:5:150"},"nodeType":"YulFunctionCall","src":"1206:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1186:6:150"},"nodeType":"YulFunctionCall","src":"1186:39:150"},"nodeType":"YulExpressionStatement","src":"1186:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1133:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1136:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1130:2:150"},"nodeType":"YulFunctionCall","src":"1130:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1144:19:150","statements":[{"nodeType":"YulAssignment","src":"1146:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1155:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1158:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1151:3:150"},"nodeType":"YulFunctionCall","src":"1151:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1146:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1126:3:150","statements":[]},"src":"1122:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1255:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1260:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1251:3:150"},"nodeType":"YulFunctionCall","src":"1251:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"1269:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1244:6:150"},"nodeType":"YulFunctionCall","src":"1244:27:150"},"nodeType":"YulExpressionStatement","src":"1244:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1071:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1076:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1081:6:150","type":""}],"src":"1027:250:150"},{"body":{"nodeType":"YulBlock","src":"1332:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1342:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1362:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1356:5:150"},"nodeType":"YulFunctionCall","src":"1356:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1346:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1384:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1389:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1377:6:150"},"nodeType":"YulFunctionCall","src":"1377:19:150"},"nodeType":"YulExpressionStatement","src":"1377:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1444:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1451:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1440:3:150"},"nodeType":"YulFunctionCall","src":"1440:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1462:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"1467:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1458:3:150"},"nodeType":"YulFunctionCall","src":"1458:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"1474:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"1405:34:150"},"nodeType":"YulFunctionCall","src":"1405:76:150"},"nodeType":"YulExpressionStatement","src":"1405:76:150"},{"nodeType":"YulAssignment","src":"1490:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1505:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1518:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1526:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1514:3:150"},"nodeType":"YulFunctionCall","src":"1514:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1535:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1531:3:150"},"nodeType":"YulFunctionCall","src":"1531:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1510:3:150"},"nodeType":"YulFunctionCall","src":"1510:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1501:3:150"},"nodeType":"YulFunctionCall","src":"1501:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"1542:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1497:3:150"},"nodeType":"YulFunctionCall","src":"1497:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1490:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1309:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1316:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1324:3:150","type":""}],"src":"1282:271:150"},{"body":{"nodeType":"YulBlock","src":"1679:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1696:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1707:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1689:6:150"},"nodeType":"YulFunctionCall","src":"1689:21:150"},"nodeType":"YulExpressionStatement","src":"1689:21:150"},{"nodeType":"YulAssignment","src":"1719:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1745:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1757:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1768:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1753:3:150"},"nodeType":"YulFunctionCall","src":"1753:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1727:17:150"},"nodeType":"YulFunctionCall","src":"1727:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1719:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1648:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1659:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1670:4:150","type":""}],"src":"1558:220:150"},{"body":{"nodeType":"YulBlock","src":"1853:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1899:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1908:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1911:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1901:6:150"},"nodeType":"YulFunctionCall","src":"1901:12:150"},"nodeType":"YulExpressionStatement","src":"1901:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1874:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1883:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1870:3:150"},"nodeType":"YulFunctionCall","src":"1870:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1895:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1866:3:150"},"nodeType":"YulFunctionCall","src":"1866:32:150"},"nodeType":"YulIf","src":"1863:52:150"},{"nodeType":"YulAssignment","src":"1924:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1947:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1934:12:150"},"nodeType":"YulFunctionCall","src":"1934:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1924:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1819:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1830:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1842:6:150","type":""}],"src":"1783:180:150"},{"body":{"nodeType":"YulBlock","src":"2069:102:150","statements":[{"nodeType":"YulAssignment","src":"2079:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2091:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2102:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2087:3:150"},"nodeType":"YulFunctionCall","src":"2087:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2079:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2121:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2136:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2152:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2157:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2148:3:150"},"nodeType":"YulFunctionCall","src":"2148:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2161:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2144:3:150"},"nodeType":"YulFunctionCall","src":"2144:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2132:3:150"},"nodeType":"YulFunctionCall","src":"2132:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2114:6:150"},"nodeType":"YulFunctionCall","src":"2114:51:150"},"nodeType":"YulExpressionStatement","src":"2114:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2038:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2049:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2060:4:150","type":""}],"src":"1968:203:150"},{"body":{"nodeType":"YulBlock","src":"2221:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"2285:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2294:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2297:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2287:6:150"},"nodeType":"YulFunctionCall","src":"2287:12:150"},"nodeType":"YulExpressionStatement","src":"2287:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2244:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2255:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2270:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2275:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2266:3:150"},"nodeType":"YulFunctionCall","src":"2266:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2279:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2262:3:150"},"nodeType":"YulFunctionCall","src":"2262:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2251:3:150"},"nodeType":"YulFunctionCall","src":"2251:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2241:2:150"},"nodeType":"YulFunctionCall","src":"2241:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2234:6:150"},"nodeType":"YulFunctionCall","src":"2234:50:150"},"nodeType":"YulIf","src":"2231:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2210:5:150","type":""}],"src":"2176:131:150"},{"body":{"nodeType":"YulBlock","src":"2361:85:150","statements":[{"nodeType":"YulAssignment","src":"2371:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2393:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2380:12:150"},"nodeType":"YulFunctionCall","src":"2380:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2371:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2434:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2409:24:150"},"nodeType":"YulFunctionCall","src":"2409:31:150"},"nodeType":"YulExpressionStatement","src":"2409:31:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2340:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2351:5:150","type":""}],"src":"2312:134:150"},{"body":{"nodeType":"YulBlock","src":"2538:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"2584:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2593:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2596:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2586:6:150"},"nodeType":"YulFunctionCall","src":"2586:12:150"},"nodeType":"YulExpressionStatement","src":"2586:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2559:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2568:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2555:3:150"},"nodeType":"YulFunctionCall","src":"2555:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2580:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2551:3:150"},"nodeType":"YulFunctionCall","src":"2551:32:150"},"nodeType":"YulIf","src":"2548:52:150"},{"nodeType":"YulVariableDeclaration","src":"2609:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2635:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2622:12:150"},"nodeType":"YulFunctionCall","src":"2622:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2613:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2679:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2654:24:150"},"nodeType":"YulFunctionCall","src":"2654:31:150"},"nodeType":"YulExpressionStatement","src":"2654:31:150"},{"nodeType":"YulAssignment","src":"2694:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2704:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2694:6:150"}]},{"nodeType":"YulAssignment","src":"2718:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2745:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2756:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2741:3:150"},"nodeType":"YulFunctionCall","src":"2741:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2728:12:150"},"nodeType":"YulFunctionCall","src":"2728:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2718:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2496:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2507:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2519:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2527:6:150","type":""}],"src":"2451:315:150"},{"body":{"nodeType":"YulBlock","src":"2872:76:150","statements":[{"nodeType":"YulAssignment","src":"2882:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2894:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2905:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2890:3:150"},"nodeType":"YulFunctionCall","src":"2890:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2882:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2924:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"2935:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2917:6:150"},"nodeType":"YulFunctionCall","src":"2917:25:150"},"nodeType":"YulExpressionStatement","src":"2917:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2841:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2852:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2863:4:150","type":""}],"src":"2771:177:150"},{"body":{"nodeType":"YulBlock","src":"3057:352:150","statements":[{"body":{"nodeType":"YulBlock","src":"3103:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3112:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3115:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3105:6:150"},"nodeType":"YulFunctionCall","src":"3105:12:150"},"nodeType":"YulExpressionStatement","src":"3105:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3078:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3087:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3074:3:150"},"nodeType":"YulFunctionCall","src":"3074:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3099:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3070:3:150"},"nodeType":"YulFunctionCall","src":"3070:32:150"},"nodeType":"YulIf","src":"3067:52:150"},{"nodeType":"YulVariableDeclaration","src":"3128:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3154:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3141:12:150"},"nodeType":"YulFunctionCall","src":"3141:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3132:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3198:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3173:24:150"},"nodeType":"YulFunctionCall","src":"3173:31:150"},"nodeType":"YulExpressionStatement","src":"3173:31:150"},{"nodeType":"YulAssignment","src":"3213:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3223:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3213:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3237:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3280:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3265:3:150"},"nodeType":"YulFunctionCall","src":"3265:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3252:12:150"},"nodeType":"YulFunctionCall","src":"3252:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"3241:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"3318:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3293:24:150"},"nodeType":"YulFunctionCall","src":"3293:33:150"},"nodeType":"YulExpressionStatement","src":"3293:33:150"},{"nodeType":"YulAssignment","src":"3335:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"3345:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3335:6:150"}]},{"nodeType":"YulAssignment","src":"3361:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3388:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3399:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3384:3:150"},"nodeType":"YulFunctionCall","src":"3384:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3371:12:150"},"nodeType":"YulFunctionCall","src":"3371:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3361:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3007:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3018:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3030:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3038:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3046:6:150","type":""}],"src":"2953:456:150"},{"body":{"nodeType":"YulBlock","src":"3484:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"3530:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3539:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3542:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3532:6:150"},"nodeType":"YulFunctionCall","src":"3532:12:150"},"nodeType":"YulExpressionStatement","src":"3532:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3505:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3514:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3501:3:150"},"nodeType":"YulFunctionCall","src":"3501:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3526:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3497:3:150"},"nodeType":"YulFunctionCall","src":"3497:32:150"},"nodeType":"YulIf","src":"3494:52:150"},{"nodeType":"YulAssignment","src":"3555:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3578:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3565:12:150"},"nodeType":"YulFunctionCall","src":"3565:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3555:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3450:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3461:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3473:6:150","type":""}],"src":"3414:180:150"},{"body":{"nodeType":"YulBlock","src":"3700:76:150","statements":[{"nodeType":"YulAssignment","src":"3710:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3722:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3733:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3718:3:150"},"nodeType":"YulFunctionCall","src":"3718:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3710:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3752:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3763:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3745:6:150"},"nodeType":"YulFunctionCall","src":"3745:25:150"},"nodeType":"YulExpressionStatement","src":"3745:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3669:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3680:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3691:4:150","type":""}],"src":"3599:177:150"},{"body":{"nodeType":"YulBlock","src":"3868:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"3914:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3923:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3926:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3916:6:150"},"nodeType":"YulFunctionCall","src":"3916:12:150"},"nodeType":"YulExpressionStatement","src":"3916:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3889:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3898:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3885:3:150"},"nodeType":"YulFunctionCall","src":"3885:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3910:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3881:3:150"},"nodeType":"YulFunctionCall","src":"3881:32:150"},"nodeType":"YulIf","src":"3878:52:150"},{"nodeType":"YulAssignment","src":"3939:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3962:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3949:12:150"},"nodeType":"YulFunctionCall","src":"3949:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3939:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3981:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4011:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4022:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4007:3:150"},"nodeType":"YulFunctionCall","src":"4007:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3994:12:150"},"nodeType":"YulFunctionCall","src":"3994:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3985:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4060:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4035:24:150"},"nodeType":"YulFunctionCall","src":"4035:31:150"},"nodeType":"YulExpressionStatement","src":"4035:31:150"},{"nodeType":"YulAssignment","src":"4075:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4085:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4075:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3826:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3837:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3849:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3857:6:150","type":""}],"src":"3781:315:150"},{"body":{"nodeType":"YulBlock","src":"4171:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"4217:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4226:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4229:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4219:6:150"},"nodeType":"YulFunctionCall","src":"4219:12:150"},"nodeType":"YulExpressionStatement","src":"4219:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4192:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4201:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4188:3:150"},"nodeType":"YulFunctionCall","src":"4188:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4213:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4184:3:150"},"nodeType":"YulFunctionCall","src":"4184:32:150"},"nodeType":"YulIf","src":"4181:52:150"},{"nodeType":"YulVariableDeclaration","src":"4242:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4268:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4255:12:150"},"nodeType":"YulFunctionCall","src":"4255:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4246:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4312:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4287:24:150"},"nodeType":"YulFunctionCall","src":"4287:31:150"},"nodeType":"YulExpressionStatement","src":"4287:31:150"},{"nodeType":"YulAssignment","src":"4327:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4337:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4327:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4137:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4148:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4160:6:150","type":""}],"src":"4101:247:150"},{"body":{"nodeType":"YulBlock","src":"4439:337:150","statements":[{"body":{"nodeType":"YulBlock","src":"4485:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4494:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4497:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4487:6:150"},"nodeType":"YulFunctionCall","src":"4487:12:150"},"nodeType":"YulExpressionStatement","src":"4487:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4460:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4469:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4456:3:150"},"nodeType":"YulFunctionCall","src":"4456:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4481:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4452:3:150"},"nodeType":"YulFunctionCall","src":"4452:32:150"},"nodeType":"YulIf","src":"4449:52:150"},{"nodeType":"YulVariableDeclaration","src":"4510:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4536:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4523:12:150"},"nodeType":"YulFunctionCall","src":"4523:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4514:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4580:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4555:24:150"},"nodeType":"YulFunctionCall","src":"4555:31:150"},"nodeType":"YulExpressionStatement","src":"4555:31:150"},{"nodeType":"YulAssignment","src":"4595:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4605:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4595:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4619:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4651:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4662:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4647:3:150"},"nodeType":"YulFunctionCall","src":"4647:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4634:12:150"},"nodeType":"YulFunctionCall","src":"4634:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"4623:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4728:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4737:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4740:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4730:6:150"},"nodeType":"YulFunctionCall","src":"4730:12:150"},"nodeType":"YulExpressionStatement","src":"4730:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4688:7:150"},{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4701:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"4710:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4697:3:150"},"nodeType":"YulFunctionCall","src":"4697:28:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4685:2:150"},"nodeType":"YulFunctionCall","src":"4685:41:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4678:6:150"},"nodeType":"YulFunctionCall","src":"4678:49:150"},"nodeType":"YulIf","src":"4675:69:150"},{"nodeType":"YulAssignment","src":"4753:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"4763:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4753:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4397:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4408:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4420:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4428:6:150","type":""}],"src":"4353:423:150"},{"body":{"nodeType":"YulBlock","src":"4878:87:150","statements":[{"nodeType":"YulAssignment","src":"4888:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4900:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4911:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4896:3:150"},"nodeType":"YulFunctionCall","src":"4896:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4888:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4930:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4945:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4953:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4941:3:150"},"nodeType":"YulFunctionCall","src":"4941:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4923:6:150"},"nodeType":"YulFunctionCall","src":"4923:36:150"},"nodeType":"YulExpressionStatement","src":"4923:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4847:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4858:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4869:4:150","type":""}],"src":"4781:184:150"},{"body":{"nodeType":"YulBlock","src":"5057:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"5103:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5112:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5115:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5105:6:150"},"nodeType":"YulFunctionCall","src":"5105:12:150"},"nodeType":"YulExpressionStatement","src":"5105:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5078:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5087:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5074:3:150"},"nodeType":"YulFunctionCall","src":"5074:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5099:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5070:3:150"},"nodeType":"YulFunctionCall","src":"5070:32:150"},"nodeType":"YulIf","src":"5067:52:150"},{"nodeType":"YulAssignment","src":"5128:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5151:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5138:12:150"},"nodeType":"YulFunctionCall","src":"5138:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5128:6:150"}]},{"nodeType":"YulAssignment","src":"5170:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5197:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5208:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5193:3:150"},"nodeType":"YulFunctionCall","src":"5193:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5180:12:150"},"nodeType":"YulFunctionCall","src":"5180:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5170:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5015:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5026:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5038:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5046:6:150","type":""}],"src":"4970:248:150"},{"body":{"nodeType":"YulBlock","src":"5255:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5272:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5279:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5284:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5275:3:150"},"nodeType":"YulFunctionCall","src":"5275:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5265:6:150"},"nodeType":"YulFunctionCall","src":"5265:31:150"},"nodeType":"YulExpressionStatement","src":"5265:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5312:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5315:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5305:6:150"},"nodeType":"YulFunctionCall","src":"5305:15:150"},"nodeType":"YulExpressionStatement","src":"5305:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5336:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5339:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5329:6:150"},"nodeType":"YulFunctionCall","src":"5329:15:150"},"nodeType":"YulExpressionStatement","src":"5329:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5223:127:150"},{"body":{"nodeType":"YulBlock","src":"5401:209:150","statements":[{"nodeType":"YulAssignment","src":"5411:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5427:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5421:5:150"},"nodeType":"YulFunctionCall","src":"5421:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5411:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5439:37:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5461:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5469:6:150","type":"","value":"0x0180"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5457:3:150"},"nodeType":"YulFunctionCall","src":"5457:19:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5443:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5551:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5553:16:150"},"nodeType":"YulFunctionCall","src":"5553:18:150"},"nodeType":"YulExpressionStatement","src":"5553:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5494:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5514:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5518:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5510:3:150"},"nodeType":"YulFunctionCall","src":"5510:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5522:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5506:3:150"},"nodeType":"YulFunctionCall","src":"5506:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5491:2:150"},"nodeType":"YulFunctionCall","src":"5491:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5530:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5542:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5527:2:150"},"nodeType":"YulFunctionCall","src":"5527:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5488:2:150"},"nodeType":"YulFunctionCall","src":"5488:62:150"},"nodeType":"YulIf","src":"5485:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5589:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5593:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5582:6:150"},"nodeType":"YulFunctionCall","src":"5582:22:150"},"nodeType":"YulExpressionStatement","src":"5582:22:150"}]},"name":"allocate_memory_6084","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5390:6:150","type":""}],"src":"5355:255:150"},{"body":{"nodeType":"YulBlock","src":"5660:230:150","statements":[{"nodeType":"YulAssignment","src":"5670:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5686:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5680:5:150"},"nodeType":"YulFunctionCall","src":"5680:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5670:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5698:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5720:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"5736:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"5742:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5732:3:150"},"nodeType":"YulFunctionCall","src":"5732:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5751:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5747:3:150"},"nodeType":"YulFunctionCall","src":"5747:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5728:3:150"},"nodeType":"YulFunctionCall","src":"5728:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5716:3:150"},"nodeType":"YulFunctionCall","src":"5716:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5702:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5831:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5833:16:150"},"nodeType":"YulFunctionCall","src":"5833:18:150"},"nodeType":"YulExpressionStatement","src":"5833:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5774:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5794:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5798:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5790:3:150"},"nodeType":"YulFunctionCall","src":"5790:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5802:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5786:3:150"},"nodeType":"YulFunctionCall","src":"5786:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5771:2:150"},"nodeType":"YulFunctionCall","src":"5771:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5810:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5822:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5807:2:150"},"nodeType":"YulFunctionCall","src":"5807:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5768:2:150"},"nodeType":"YulFunctionCall","src":"5768:62:150"},"nodeType":"YulIf","src":"5765:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5869:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5873:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5862:6:150"},"nodeType":"YulFunctionCall","src":"5862:22:150"},"nodeType":"YulExpressionStatement","src":"5862:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"5640:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5649:6:150","type":""}],"src":"5615:275:150"},{"body":{"nodeType":"YulBlock","src":"5947:478:150","statements":[{"body":{"nodeType":"YulBlock","src":"5996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5998:6:150"},"nodeType":"YulFunctionCall","src":"5998:12:150"},"nodeType":"YulExpressionStatement","src":"5998:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5975:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5983:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5971:3:150"},"nodeType":"YulFunctionCall","src":"5971:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"5990:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5967:3:150"},"nodeType":"YulFunctionCall","src":"5967:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5960:6:150"},"nodeType":"YulFunctionCall","src":"5960:35:150"},"nodeType":"YulIf","src":"5957:55:150"},{"nodeType":"YulVariableDeclaration","src":"6021:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6044:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6031:12:150"},"nodeType":"YulFunctionCall","src":"6031:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6025:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6090:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6092:16:150"},"nodeType":"YulFunctionCall","src":"6092:18:150"},"nodeType":"YulExpressionStatement","src":"6092:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6066:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6078:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6082:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6074:3:150"},"nodeType":"YulFunctionCall","src":"6074:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6086:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6070:3:150"},"nodeType":"YulFunctionCall","src":"6070:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6063:2:150"},"nodeType":"YulFunctionCall","src":"6063:26:150"},"nodeType":"YulIf","src":"6060:52:150"},{"nodeType":"YulVariableDeclaration","src":"6121:70:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6164:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6168:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6160:3:150"},"nodeType":"YulFunctionCall","src":"6160:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6179:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6175:3:150"},"nodeType":"YulFunctionCall","src":"6175:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6156:3:150"},"nodeType":"YulFunctionCall","src":"6156:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6185:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6152:3:150"},"nodeType":"YulFunctionCall","src":"6152:38:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"6136:15:150"},"nodeType":"YulFunctionCall","src":"6136:55:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"6125:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6207:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6216:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6200:6:150"},"nodeType":"YulFunctionCall","src":"6200:19:150"},"nodeType":"YulExpressionStatement","src":"6200:19:150"},{"body":{"nodeType":"YulBlock","src":"6267:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6276:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6279:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6269:6:150"},"nodeType":"YulFunctionCall","src":"6269:12:150"},"nodeType":"YulExpressionStatement","src":"6269:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6242:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6250:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6238:3:150"},"nodeType":"YulFunctionCall","src":"6238:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"6255:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6234:3:150"},"nodeType":"YulFunctionCall","src":"6234:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"6262:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6231:2:150"},"nodeType":"YulFunctionCall","src":"6231:35:150"},"nodeType":"YulIf","src":"6228:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6309:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"6318:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6305:3:150"},"nodeType":"YulFunctionCall","src":"6305:18:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6329:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6337:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6325:3:150"},"nodeType":"YulFunctionCall","src":"6325:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6344:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"6292:12:150"},"nodeType":"YulFunctionCall","src":"6292:55:150"},"nodeType":"YulExpressionStatement","src":"6292:55:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6371:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6380:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6367:3:150"},"nodeType":"YulFunctionCall","src":"6367:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"6385:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6363:3:150"},"nodeType":"YulFunctionCall","src":"6363:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6392:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6356:6:150"},"nodeType":"YulFunctionCall","src":"6356:38:150"},"nodeType":"YulExpressionStatement","src":"6356:38:150"},{"nodeType":"YulAssignment","src":"6403:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"6412:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"6403:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5921:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5929:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5937:5:150","type":""}],"src":"5895:530:150"},{"body":{"nodeType":"YulBlock","src":"6526:359:150","statements":[{"body":{"nodeType":"YulBlock","src":"6572:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6581:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6584:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6574:6:150"},"nodeType":"YulFunctionCall","src":"6574:12:150"},"nodeType":"YulExpressionStatement","src":"6574:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6547:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6556:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6543:3:150"},"nodeType":"YulFunctionCall","src":"6543:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6568:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6539:3:150"},"nodeType":"YulFunctionCall","src":"6539:32:150"},"nodeType":"YulIf","src":"6536:52:150"},{"nodeType":"YulVariableDeclaration","src":"6597:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6623:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6610:12:150"},"nodeType":"YulFunctionCall","src":"6610:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6601:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6667:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6642:24:150"},"nodeType":"YulFunctionCall","src":"6642:31:150"},"nodeType":"YulExpressionStatement","src":"6642:31:150"},{"nodeType":"YulAssignment","src":"6682:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6692:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6682:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6706:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6737:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6748:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6733:3:150"},"nodeType":"YulFunctionCall","src":"6733:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6720:12:150"},"nodeType":"YulFunctionCall","src":"6720:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6710:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6795:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6804:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6807:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6797:6:150"},"nodeType":"YulFunctionCall","src":"6797:12:150"},"nodeType":"YulExpressionStatement","src":"6797:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6767:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6783:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6787:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6779:3:150"},"nodeType":"YulFunctionCall","src":"6779:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6791:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6775:3:150"},"nodeType":"YulFunctionCall","src":"6775:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6764:2:150"},"nodeType":"YulFunctionCall","src":"6764:30:150"},"nodeType":"YulIf","src":"6761:50:150"},{"nodeType":"YulAssignment","src":"6820:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6851:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6862:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6847:3:150"},"nodeType":"YulFunctionCall","src":"6847:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6871:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6830:16:150"},"nodeType":"YulFunctionCall","src":"6830:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6820:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6484:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6495:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6507:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6515:6:150","type":""}],"src":"6430:455:150"},{"body":{"nodeType":"YulBlock","src":"6970:241:150","statements":[{"body":{"nodeType":"YulBlock","src":"7016:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7025:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7028:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7018:6:150"},"nodeType":"YulFunctionCall","src":"7018:12:150"},"nodeType":"YulExpressionStatement","src":"7018:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6991:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7000:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6987:3:150"},"nodeType":"YulFunctionCall","src":"6987:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7012:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6983:3:150"},"nodeType":"YulFunctionCall","src":"6983:32:150"},"nodeType":"YulIf","src":"6980:52:150"},{"nodeType":"YulVariableDeclaration","src":"7041:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7068:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7055:12:150"},"nodeType":"YulFunctionCall","src":"7055:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7045:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7121:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7130:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7133:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7123:6:150"},"nodeType":"YulFunctionCall","src":"7123:12:150"},"nodeType":"YulExpressionStatement","src":"7123:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7093:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7109:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7113:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7105:3:150"},"nodeType":"YulFunctionCall","src":"7105:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7117:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7101:3:150"},"nodeType":"YulFunctionCall","src":"7101:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7090:2:150"},"nodeType":"YulFunctionCall","src":"7090:30:150"},"nodeType":"YulIf","src":"7087:50:150"},{"nodeType":"YulAssignment","src":"7146:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7177:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"7188:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7173:3:150"},"nodeType":"YulFunctionCall","src":"7173:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7197:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"7156:16:150"},"nodeType":"YulFunctionCall","src":"7156:49:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7146:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6936:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6947:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6959:6:150","type":""}],"src":"6890:321:150"},{"body":{"nodeType":"YulBlock","src":"7332:102:150","statements":[{"nodeType":"YulAssignment","src":"7342:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7354:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7365:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7350:3:150"},"nodeType":"YulFunctionCall","src":"7350:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7342:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7384:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7399:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7415:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7420:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7411:3:150"},"nodeType":"YulFunctionCall","src":"7411:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7424:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7407:3:150"},"nodeType":"YulFunctionCall","src":"7407:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7395:3:150"},"nodeType":"YulFunctionCall","src":"7395:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7377:6:150"},"nodeType":"YulFunctionCall","src":"7377:51:150"},"nodeType":"YulExpressionStatement","src":"7377:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7301:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7312:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7323:4:150","type":""}],"src":"7216:218:150"},{"body":{"nodeType":"YulBlock","src":"7481:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"7535:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7544:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7547:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7537:6:150"},"nodeType":"YulFunctionCall","src":"7537:12:150"},"nodeType":"YulExpressionStatement","src":"7537:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7504:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7525:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7518:6:150"},"nodeType":"YulFunctionCall","src":"7518:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7511:6:150"},"nodeType":"YulFunctionCall","src":"7511:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7501:2:150"},"nodeType":"YulFunctionCall","src":"7501:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7494:6:150"},"nodeType":"YulFunctionCall","src":"7494:40:150"},"nodeType":"YulIf","src":"7491:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7470:5:150","type":""}],"src":"7439:118:150"},{"body":{"nodeType":"YulBlock","src":"7629:174:150","statements":[{"body":{"nodeType":"YulBlock","src":"7675:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7684:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7687:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7677:6:150"},"nodeType":"YulFunctionCall","src":"7677:12:150"},"nodeType":"YulExpressionStatement","src":"7677:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7650:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7659:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7646:3:150"},"nodeType":"YulFunctionCall","src":"7646:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7671:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7642:3:150"},"nodeType":"YulFunctionCall","src":"7642:32:150"},"nodeType":"YulIf","src":"7639:52:150"},{"nodeType":"YulVariableDeclaration","src":"7700:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7726:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7713:12:150"},"nodeType":"YulFunctionCall","src":"7713:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7704:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7767:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"7745:21:150"},"nodeType":"YulFunctionCall","src":"7745:28:150"},"nodeType":"YulExpressionStatement","src":"7745:28:150"},{"nodeType":"YulAssignment","src":"7782:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7792:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7782:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7595:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7606:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7618:6:150","type":""}],"src":"7562:241:150"},{"body":{"nodeType":"YulBlock","src":"7945:102:150","statements":[{"nodeType":"YulAssignment","src":"7955:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7978:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7963:3:150"},"nodeType":"YulFunctionCall","src":"7963:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7955:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7997:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8012:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8028:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8033:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8024:3:150"},"nodeType":"YulFunctionCall","src":"8024:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8037:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8020:3:150"},"nodeType":"YulFunctionCall","src":"8020:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8008:3:150"},"nodeType":"YulFunctionCall","src":"8008:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7990:6:150"},"nodeType":"YulFunctionCall","src":"7990:51:150"},"nodeType":"YulExpressionStatement","src":"7990:51:150"}]},"name":"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7914:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7925:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7936:4:150","type":""}],"src":"7808:239:150"},{"body":{"nodeType":"YulBlock","src":"8116:648:150","statements":[{"body":{"nodeType":"YulBlock","src":"8165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8167:6:150"},"nodeType":"YulFunctionCall","src":"8167:12:150"},"nodeType":"YulExpressionStatement","src":"8167:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8144:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8152:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8140:3:150"},"nodeType":"YulFunctionCall","src":"8140:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"8159:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8136:3:150"},"nodeType":"YulFunctionCall","src":"8136:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8129:6:150"},"nodeType":"YulFunctionCall","src":"8129:35:150"},"nodeType":"YulIf","src":"8126:55:150"},{"nodeType":"YulVariableDeclaration","src":"8190:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8213:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8200:12:150"},"nodeType":"YulFunctionCall","src":"8200:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8194:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8229:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8239:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8233:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8282:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8284:16:150"},"nodeType":"YulFunctionCall","src":"8284:18:150"},"nodeType":"YulExpressionStatement","src":"8284:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"8258:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8270:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"8274:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8266:3:150"},"nodeType":"YulFunctionCall","src":"8266:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"8278:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8262:3:150"},"nodeType":"YulFunctionCall","src":"8262:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8255:2:150"},"nodeType":"YulFunctionCall","src":"8255:26:150"},"nodeType":"YulIf","src":"8252:52:150"},{"nodeType":"YulVariableDeclaration","src":"8313:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8327:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"8330:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8323:3:150"},"nodeType":"YulFunctionCall","src":"8323:10:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"8317:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8342:39:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8373:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8377:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8369:3:150"},"nodeType":"YulFunctionCall","src":"8369:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8353:15:150"},"nodeType":"YulFunctionCall","src":"8353:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"8346:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8390:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"8403:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"8394:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8422:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8427:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8415:6:150"},"nodeType":"YulFunctionCall","src":"8415:15:150"},"nodeType":"YulExpressionStatement","src":"8415:15:150"},{"nodeType":"YulAssignment","src":"8439:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8450:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8455:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8446:3:150"},"nodeType":"YulFunctionCall","src":"8446:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8439:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"8467:38:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8489:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"8497:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8485:3:150"},"nodeType":"YulFunctionCall","src":"8485:15:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8502:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8481:3:150"},"nodeType":"YulFunctionCall","src":"8481:24:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"8471:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8533:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8542:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8545:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8535:6:150"},"nodeType":"YulFunctionCall","src":"8535:12:150"},"nodeType":"YulExpressionStatement","src":"8535:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"8520:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"8528:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8517:2:150"},"nodeType":"YulFunctionCall","src":"8517:15:150"},"nodeType":"YulIf","src":"8514:35:150"},{"nodeType":"YulVariableDeclaration","src":"8558:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8573:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8581:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8569:3:150"},"nodeType":"YulFunctionCall","src":"8569:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"8562:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8649:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8670:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8688:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8675:12:150"},"nodeType":"YulFunctionCall","src":"8675:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8663:6:150"},"nodeType":"YulFunctionCall","src":"8663:30:150"},"nodeType":"YulExpressionStatement","src":"8663:30:150"},{"nodeType":"YulAssignment","src":"8706:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8717:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8722:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8713:3:150"},"nodeType":"YulFunctionCall","src":"8713:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8706:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8604:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"8609:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8601:2:150"},"nodeType":"YulFunctionCall","src":"8601:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8617:23:150","statements":[{"nodeType":"YulAssignment","src":"8619:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8630:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8635:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8626:3:150"},"nodeType":"YulFunctionCall","src":"8626:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"8619:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"8597:3:150","statements":[]},"src":"8593:142:150"},{"nodeType":"YulAssignment","src":"8744:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"8753:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8744:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8090:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"8098:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8106:5:150","type":""}],"src":"8052:712:150"},{"body":{"nodeType":"YulBlock","src":"8876:1645:150","statements":[{"body":{"nodeType":"YulBlock","src":"8922:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8931:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8934:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8924:6:150"},"nodeType":"YulFunctionCall","src":"8924:12:150"},"nodeType":"YulExpressionStatement","src":"8924:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8897:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8906:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8893:3:150"},"nodeType":"YulFunctionCall","src":"8893:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8918:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8889:3:150"},"nodeType":"YulFunctionCall","src":"8889:32:150"},"nodeType":"YulIf","src":"8886:52:150"},{"nodeType":"YulVariableDeclaration","src":"8947:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8974:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8961:12:150"},"nodeType":"YulFunctionCall","src":"8961:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8951:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8993:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9011:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9015:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9007:3:150"},"nodeType":"YulFunctionCall","src":"9007:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9019:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9003:3:150"},"nodeType":"YulFunctionCall","src":"9003:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8997:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9048:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9057:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9060:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9050:6:150"},"nodeType":"YulFunctionCall","src":"9050:12:150"},"nodeType":"YulExpressionStatement","src":"9050:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9036:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9044:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9033:2:150"},"nodeType":"YulFunctionCall","src":"9033:14:150"},"nodeType":"YulIf","src":"9030:34:150"},{"nodeType":"YulVariableDeclaration","src":"9073:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9087:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9098:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9083:3:150"},"nodeType":"YulFunctionCall","src":"9083:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"9077:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9147:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9156:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9159:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9149:6:150"},"nodeType":"YulFunctionCall","src":"9149:12:150"},"nodeType":"YulExpressionStatement","src":"9149:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9125:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9134:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9121:3:150"},"nodeType":"YulFunctionCall","src":"9121:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"9139:6:150","type":"","value":"0x0180"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9117:3:150"},"nodeType":"YulFunctionCall","src":"9117:29:150"},"nodeType":"YulIf","src":"9114:49:150"},{"nodeType":"YulVariableDeclaration","src":"9172:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_6084","nodeType":"YulIdentifier","src":"9185:20:150"},"nodeType":"YulFunctionCall","src":"9185:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9176:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9216:32:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9245:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9232:12:150"},"nodeType":"YulFunctionCall","src":"9232:16:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"9220:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9277:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9286:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9289:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9279:6:150"},"nodeType":"YulFunctionCall","src":"9279:12:150"},"nodeType":"YulExpressionStatement","src":"9279:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"9263:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9273:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9260:2:150"},"nodeType":"YulFunctionCall","src":"9260:16:150"},"nodeType":"YulIf","src":"9257:36:150"},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9309:5:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9337:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9341:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9333:3:150"},"nodeType":"YulFunctionCall","src":"9333:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9352:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9316:16:150"},"nodeType":"YulFunctionCall","src":"9316:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9302:6:150"},"nodeType":"YulFunctionCall","src":"9302:59:150"},"nodeType":"YulExpressionStatement","src":"9302:59:150"},{"nodeType":"YulVariableDeclaration","src":"9370:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9403:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9407:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9399:3:150"},"nodeType":"YulFunctionCall","src":"9399:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9386:12:150"},"nodeType":"YulFunctionCall","src":"9386:25:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"9374:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9440:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9449:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9452:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9442:6:150"},"nodeType":"YulFunctionCall","src":"9442:12:150"},"nodeType":"YulExpressionStatement","src":"9442:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"9426:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9436:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9423:2:150"},"nodeType":"YulFunctionCall","src":"9423:16:150"},"nodeType":"YulIf","src":"9420:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9476:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9483:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9472:3:150"},"nodeType":"YulFunctionCall","src":"9472:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9509:2:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"9513:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9505:3:150"},"nodeType":"YulFunctionCall","src":"9505:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9524:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9488:16:150"},"nodeType":"YulFunctionCall","src":"9488:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9465:6:150"},"nodeType":"YulFunctionCall","src":"9465:68:150"},"nodeType":"YulExpressionStatement","src":"9465:68:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9553:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9560:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9549:3:150"},"nodeType":"YulFunctionCall","src":"9549:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9588:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9592:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9584:3:150"},"nodeType":"YulFunctionCall","src":"9584:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9565:18:150"},"nodeType":"YulFunctionCall","src":"9565:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9542:6:150"},"nodeType":"YulFunctionCall","src":"9542:55:150"},"nodeType":"YulExpressionStatement","src":"9542:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9617:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9624:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9613:3:150"},"nodeType":"YulFunctionCall","src":"9613:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9652:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9656:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9648:3:150"},"nodeType":"YulFunctionCall","src":"9648:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9629:18:150"},"nodeType":"YulFunctionCall","src":"9629:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9606:6:150"},"nodeType":"YulFunctionCall","src":"9606:55:150"},"nodeType":"YulExpressionStatement","src":"9606:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9681:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9688:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9677:3:150"},"nodeType":"YulFunctionCall","src":"9677:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9717:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9721:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9713:3:150"},"nodeType":"YulFunctionCall","src":"9713:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9694:18:150"},"nodeType":"YulFunctionCall","src":"9694:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9670:6:150"},"nodeType":"YulFunctionCall","src":"9670:57:150"},"nodeType":"YulExpressionStatement","src":"9670:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9747:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9754:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9743:3:150"},"nodeType":"YulFunctionCall","src":"9743:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9783:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9787:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9779:3:150"},"nodeType":"YulFunctionCall","src":"9779:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9760:18:150"},"nodeType":"YulFunctionCall","src":"9760:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9736:6:150"},"nodeType":"YulFunctionCall","src":"9736:57:150"},"nodeType":"YulExpressionStatement","src":"9736:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9813:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9820:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9809:3:150"},"nodeType":"YulFunctionCall","src":"9809:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9849:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9853:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9845:3:150"},"nodeType":"YulFunctionCall","src":"9845:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9826:18:150"},"nodeType":"YulFunctionCall","src":"9826:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9802:6:150"},"nodeType":"YulFunctionCall","src":"9802:57:150"},"nodeType":"YulExpressionStatement","src":"9802:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9879:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9886:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9875:3:150"},"nodeType":"YulFunctionCall","src":"9875:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9909:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9913:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9905:3:150"},"nodeType":"YulFunctionCall","src":"9905:12:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9892:12:150"},"nodeType":"YulFunctionCall","src":"9892:26:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9868:6:150"},"nodeType":"YulFunctionCall","src":"9868:51:150"},"nodeType":"YulExpressionStatement","src":"9868:51:150"},{"nodeType":"YulVariableDeclaration","src":"9928:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9938:3:150","type":"","value":"256"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"9932:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9950:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9983:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"9987:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9979:3:150"},"nodeType":"YulFunctionCall","src":"9979:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9966:12:150"},"nodeType":"YulFunctionCall","src":"9966:25:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"9954:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10020:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10029:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10032:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10022:6:150"},"nodeType":"YulFunctionCall","src":"10022:12:150"},"nodeType":"YulExpressionStatement","src":"10022:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"10006:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10016:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10003:2:150"},"nodeType":"YulFunctionCall","src":"10003:16:150"},"nodeType":"YulIf","src":"10000:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10056:5:150"},{"name":"_3","nodeType":"YulIdentifier","src":"10063:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10052:3:150"},"nodeType":"YulFunctionCall","src":"10052:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10089:2:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"10093:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10085:3:150"},"nodeType":"YulFunctionCall","src":"10085:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10104:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"10068:16:150"},"nodeType":"YulFunctionCall","src":"10068:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10045:6:150"},"nodeType":"YulFunctionCall","src":"10045:68:150"},"nodeType":"YulExpressionStatement","src":"10045:68:150"},{"nodeType":"YulVariableDeclaration","src":"10122:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10132:3:150","type":"","value":"288"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"10126:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10144:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10177:2:150"},{"name":"_4","nodeType":"YulIdentifier","src":"10181:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10173:3:150"},"nodeType":"YulFunctionCall","src":"10173:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10160:12:150"},"nodeType":"YulFunctionCall","src":"10160:25:150"},"variables":[{"name":"offset_4","nodeType":"YulTypedName","src":"10148:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10214:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10223:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10226:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10216:6:150"},"nodeType":"YulFunctionCall","src":"10216:12:150"},"nodeType":"YulExpressionStatement","src":"10216:12:150"}]},"condition":{"arguments":[{"name":"offset_4","nodeType":"YulIdentifier","src":"10200:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10210:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10197:2:150"},"nodeType":"YulFunctionCall","src":"10197:16:150"},"nodeType":"YulIf","src":"10194:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10250:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"10257:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10246:3:150"},"nodeType":"YulFunctionCall","src":"10246:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10295:2:150"},{"name":"offset_4","nodeType":"YulIdentifier","src":"10299:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10291:3:150"},"nodeType":"YulFunctionCall","src":"10291:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10310:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"10262:28:150"},"nodeType":"YulFunctionCall","src":"10262:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10239:6:150"},"nodeType":"YulFunctionCall","src":"10239:80:150"},"nodeType":"YulExpressionStatement","src":"10239:80:150"},{"nodeType":"YulVariableDeclaration","src":"10328:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10338:3:150","type":"","value":"320"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"10332:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10361:5:150"},{"name":"_5","nodeType":"YulIdentifier","src":"10368:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10357:3:150"},"nodeType":"YulFunctionCall","src":"10357:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10396:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"10400:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10392:3:150"},"nodeType":"YulFunctionCall","src":"10392:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10373:18:150"},"nodeType":"YulFunctionCall","src":"10373:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10350:6:150"},"nodeType":"YulFunctionCall","src":"10350:55:150"},"nodeType":"YulExpressionStatement","src":"10350:55:150"},{"nodeType":"YulVariableDeclaration","src":"10414:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10424:3:150","type":"","value":"352"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"10418:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10447:5:150"},{"name":"_6","nodeType":"YulIdentifier","src":"10454:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10443:3:150"},"nodeType":"YulFunctionCall","src":"10443:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10482:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"10486:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10478:3:150"},"nodeType":"YulFunctionCall","src":"10478:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10459:18:150"},"nodeType":"YulFunctionCall","src":"10459:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10436:6:150"},"nodeType":"YulFunctionCall","src":"10436:55:150"},"nodeType":"YulExpressionStatement","src":"10436:55:150"},{"nodeType":"YulAssignment","src":"10500:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10510:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10500:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_InitializationData_$36509_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8842:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8853:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8865:6:150","type":""}],"src":"8769:1752:150"},{"body":{"nodeType":"YulBlock","src":"10586:330:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10603:3:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10614:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10608:5:150"},"nodeType":"YulFunctionCall","src":"10608:12:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10596:6:150"},"nodeType":"YulFunctionCall","src":"10596:25:150"},"nodeType":"YulExpressionStatement","src":"10596:25:150"},{"nodeType":"YulVariableDeclaration","src":"10630:43:150","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10660:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10667:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10656:3:150"},"nodeType":"YulFunctionCall","src":"10656:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10650:5:150"},"nodeType":"YulFunctionCall","src":"10650:23:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10634:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10693:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10698:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10689:3:150"},"nodeType":"YulFunctionCall","src":"10689:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"10705:4:150","type":"","value":"0x80"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10682:6:150"},"nodeType":"YulFunctionCall","src":"10682:28:150"},"nodeType":"YulExpressionStatement","src":"10682:28:150"},{"nodeType":"YulVariableDeclaration","src":"10719:59:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10749:12:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10767:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10772:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10763:3:150"},"nodeType":"YulFunctionCall","src":"10763:14:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"10731:17:150"},"nodeType":"YulFunctionCall","src":"10731:47:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"10723:4:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10798:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10803:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10794:3:150"},"nodeType":"YulFunctionCall","src":"10794:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10820:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10827:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10816:3:150"},"nodeType":"YulFunctionCall","src":"10816:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10810:5:150"},"nodeType":"YulFunctionCall","src":"10810:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10787:6:150"},"nodeType":"YulFunctionCall","src":"10787:47:150"},"nodeType":"YulExpressionStatement","src":"10787:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10854:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10859:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10850:3:150"},"nodeType":"YulFunctionCall","src":"10850:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10876:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10883:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10872:3:150"},"nodeType":"YulFunctionCall","src":"10872:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10866:5:150"},"nodeType":"YulFunctionCall","src":"10866:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10843:6:150"},"nodeType":"YulFunctionCall","src":"10843:47:150"},"nodeType":"YulExpressionStatement","src":"10843:47:150"},{"nodeType":"YulAssignment","src":"10899:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"10906:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10899:3:150"}]}]},"name":"abi_encode_struct_TokenInfo","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10563:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10570:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10578:3:150","type":""}],"src":"10526:390:150"},{"body":{"nodeType":"YulBlock","src":"11078:109:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11095:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11106:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11088:6:150"},"nodeType":"YulFunctionCall","src":"11088:21:150"},"nodeType":"YulExpressionStatement","src":"11088:21:150"},{"nodeType":"YulAssignment","src":"11118:63:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11154:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11177:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11162:3:150"},"nodeType":"YulFunctionCall","src":"11162:18:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"11126:27:150"},"nodeType":"YulFunctionCall","src":"11126:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11118:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_TokenInfo_$38236_memory_ptr__to_t_struct$_TokenInfo_$38236_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11047:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11058:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11069:4:150","type":""}],"src":"10921:266:150"},{"body":{"nodeType":"YulBlock","src":"11316:102:150","statements":[{"nodeType":"YulAssignment","src":"11326:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11338:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11349:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11334:3:150"},"nodeType":"YulFunctionCall","src":"11334:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11326:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11368:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11383:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11399:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11404:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11395:3:150"},"nodeType":"YulFunctionCall","src":"11395:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11408:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11391:3:150"},"nodeType":"YulFunctionCall","src":"11391:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11379:3:150"},"nodeType":"YulFunctionCall","src":"11379:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11361:6:150"},"nodeType":"YulFunctionCall","src":"11361:51:150"},"nodeType":"YulExpressionStatement","src":"11361:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11285:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11296:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11307:4:150","type":""}],"src":"11192:226:150"},{"body":{"nodeType":"YulBlock","src":"11527:279:150","statements":[{"body":{"nodeType":"YulBlock","src":"11573:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11582:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11585:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11575:6:150"},"nodeType":"YulFunctionCall","src":"11575:12:150"},"nodeType":"YulExpressionStatement","src":"11575:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11548:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11557:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11544:3:150"},"nodeType":"YulFunctionCall","src":"11544:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11569:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11540:3:150"},"nodeType":"YulFunctionCall","src":"11540:32:150"},"nodeType":"YulIf","src":"11537:52:150"},{"nodeType":"YulVariableDeclaration","src":"11598:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11624:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11611:12:150"},"nodeType":"YulFunctionCall","src":"11611:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11602:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11668:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11643:24:150"},"nodeType":"YulFunctionCall","src":"11643:31:150"},"nodeType":"YulExpressionStatement","src":"11643:31:150"},{"nodeType":"YulAssignment","src":"11683:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11693:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11683:6:150"}]},{"nodeType":"YulAssignment","src":"11707:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11734:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11745:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11730:3:150"},"nodeType":"YulFunctionCall","src":"11730:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11717:12:150"},"nodeType":"YulFunctionCall","src":"11717:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11707:6:150"}]},{"nodeType":"YulAssignment","src":"11758:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11785:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11796:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11781:3:150"},"nodeType":"YulFunctionCall","src":"11781:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11768:12:150"},"nodeType":"YulFunctionCall","src":"11768:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11758:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11477:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11488:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11500:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11508:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11516:6:150","type":""}],"src":"11423:383:150"},{"body":{"nodeType":"YulBlock","src":"12018:642:150","statements":[{"nodeType":"YulVariableDeclaration","src":"12028:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"12038:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"12032:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12049:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12067:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12078:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12063:3:150"},"nodeType":"YulFunctionCall","src":"12063:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"12053:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12097:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12108:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12090:6:150"},"nodeType":"YulFunctionCall","src":"12090:21:150"},"nodeType":"YulExpressionStatement","src":"12090:21:150"},{"nodeType":"YulVariableDeclaration","src":"12120:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"12131:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"12124:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12146:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12166:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12160:5:150"},"nodeType":"YulFunctionCall","src":"12160:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12150:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"12189:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"12197:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12182:6:150"},"nodeType":"YulFunctionCall","src":"12182:22:150"},"nodeType":"YulExpressionStatement","src":"12182:22:150"},{"nodeType":"YulAssignment","src":"12213:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12224:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12235:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12220:3:150"},"nodeType":"YulFunctionCall","src":"12220:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12213:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"12247:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12269:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12284:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"12287:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12280:3:150"},"nodeType":"YulFunctionCall","src":"12280:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12265:3:150"},"nodeType":"YulFunctionCall","src":"12265:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"12297:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12261:3:150"},"nodeType":"YulFunctionCall","src":"12261:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"12251:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12309:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12327:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12335:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12323:3:150"},"nodeType":"YulFunctionCall","src":"12323:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"12313:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12347:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"12356:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"12351:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12415:216:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12436:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"12449:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12457:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12445:3:150"},"nodeType":"YulFunctionCall","src":"12445:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12473:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12469:3:150"},"nodeType":"YulFunctionCall","src":"12469:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12441:3:150"},"nodeType":"YulFunctionCall","src":"12441:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12429:6:150"},"nodeType":"YulFunctionCall","src":"12429:49:150"},"nodeType":"YulExpressionStatement","src":"12429:49:150"},{"nodeType":"YulAssignment","src":"12491:60:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12535:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12529:5:150"},"nodeType":"YulFunctionCall","src":"12529:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"12544:6:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"12501:27:150"},"nodeType":"YulFunctionCall","src":"12501:50:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"12491:6:150"}]},{"nodeType":"YulAssignment","src":"12564:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12578:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12586:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12574:3:150"},"nodeType":"YulFunctionCall","src":"12574:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12564:6:150"}]},{"nodeType":"YulAssignment","src":"12602:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12613:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12618:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12609:3:150"},"nodeType":"YulFunctionCall","src":"12609:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12602:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12377:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"12380:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12374:2:150"},"nodeType":"YulFunctionCall","src":"12374:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"12388:18:150","statements":[{"nodeType":"YulAssignment","src":"12390:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12399:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"12402:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12395:3:150"},"nodeType":"YulFunctionCall","src":"12395:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"12390:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"12370:3:150","statements":[]},"src":"12366:265:150"},{"nodeType":"YulAssignment","src":"12640:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"12648:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12640:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11987:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11998:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12009:4:150","type":""}],"src":"11811:849:150"},{"body":{"nodeType":"YulBlock","src":"12764:97:150","statements":[{"nodeType":"YulAssignment","src":"12774:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12786:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12797:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12782:3:150"},"nodeType":"YulFunctionCall","src":"12782:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12774:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12816:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12831:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12839:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12827:3:150"},"nodeType":"YulFunctionCall","src":"12827:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12809:6:150"},"nodeType":"YulFunctionCall","src":"12809:46:150"},"nodeType":"YulExpressionStatement","src":"12809:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12733:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12744:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12755:4:150","type":""}],"src":"12665:196:150"},{"body":{"nodeType":"YulBlock","src":"12950:298:150","statements":[{"body":{"nodeType":"YulBlock","src":"12996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12998:6:150"},"nodeType":"YulFunctionCall","src":"12998:12:150"},"nodeType":"YulExpressionStatement","src":"12998:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12971:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12980:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12967:3:150"},"nodeType":"YulFunctionCall","src":"12967:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12992:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12963:3:150"},"nodeType":"YulFunctionCall","src":"12963:32:150"},"nodeType":"YulIf","src":"12960:52:150"},{"nodeType":"YulVariableDeclaration","src":"13021:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13047:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13034:12:150"},"nodeType":"YulFunctionCall","src":"13034:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13025:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13091:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13066:24:150"},"nodeType":"YulFunctionCall","src":"13066:31:150"},"nodeType":"YulExpressionStatement","src":"13066:31:150"},{"nodeType":"YulAssignment","src":"13106:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13116:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13106:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13130:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13162:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13173:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13158:3:150"},"nodeType":"YulFunctionCall","src":"13158:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13145:12:150"},"nodeType":"YulFunctionCall","src":"13145:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13134:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13208:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"13186:21:150"},"nodeType":"YulFunctionCall","src":"13186:30:150"},"nodeType":"YulExpressionStatement","src":"13186:30:150"},{"nodeType":"YulAssignment","src":"13225:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"13235:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13225:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12908:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12919:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12931:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12939:6:150","type":""}],"src":"12866:382:150"},{"body":{"nodeType":"YulBlock","src":"13348:253:150","statements":[{"body":{"nodeType":"YulBlock","src":"13394:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13403:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13406:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13396:6:150"},"nodeType":"YulFunctionCall","src":"13396:12:150"},"nodeType":"YulExpressionStatement","src":"13396:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13369:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13378:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13365:3:150"},"nodeType":"YulFunctionCall","src":"13365:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13390:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13361:3:150"},"nodeType":"YulFunctionCall","src":"13361:32:150"},"nodeType":"YulIf","src":"13358:52:150"},{"nodeType":"YulVariableDeclaration","src":"13419:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13446:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13433:12:150"},"nodeType":"YulFunctionCall","src":"13433:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13423:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"13499:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13508:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13511:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13501:6:150"},"nodeType":"YulFunctionCall","src":"13501:12:150"},"nodeType":"YulExpressionStatement","src":"13501:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13471:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13487:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"13491:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13483:3:150"},"nodeType":"YulFunctionCall","src":"13483:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"13495:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13479:3:150"},"nodeType":"YulFunctionCall","src":"13479:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13468:2:150"},"nodeType":"YulFunctionCall","src":"13468:30:150"},"nodeType":"YulIf","src":"13465:50:150"},{"nodeType":"YulAssignment","src":"13524:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13567:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"13578:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13563:3:150"},"nodeType":"YulFunctionCall","src":"13563:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13587:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"13534:28:150"},"nodeType":"YulFunctionCall","src":"13534:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13524:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13314:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13325:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13337:6:150","type":""}],"src":"13253:348:150"},{"body":{"nodeType":"YulBlock","src":"13736:535:150","statements":[{"body":{"nodeType":"YulBlock","src":"13783:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13792:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13795:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13785:6:150"},"nodeType":"YulFunctionCall","src":"13785:12:150"},"nodeType":"YulExpressionStatement","src":"13785:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13757:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13766:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13753:3:150"},"nodeType":"YulFunctionCall","src":"13753:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13778:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13749:3:150"},"nodeType":"YulFunctionCall","src":"13749:33:150"},"nodeType":"YulIf","src":"13746:53:150"},{"nodeType":"YulVariableDeclaration","src":"13808:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13834:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13821:12:150"},"nodeType":"YulFunctionCall","src":"13821:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13812:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13878:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13853:24:150"},"nodeType":"YulFunctionCall","src":"13853:31:150"},"nodeType":"YulExpressionStatement","src":"13853:31:150"},{"nodeType":"YulAssignment","src":"13893:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13903:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13893:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13917:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13949:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13960:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13945:3:150"},"nodeType":"YulFunctionCall","src":"13945:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13932:12:150"},"nodeType":"YulFunctionCall","src":"13932:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13921:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13998:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13973:24:150"},"nodeType":"YulFunctionCall","src":"13973:33:150"},"nodeType":"YulExpressionStatement","src":"13973:33:150"},{"nodeType":"YulAssignment","src":"14015:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"14025:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14015:6:150"}]},{"nodeType":"YulAssignment","src":"14041:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14068:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14079:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14064:3:150"},"nodeType":"YulFunctionCall","src":"14064:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14051:12:150"},"nodeType":"YulFunctionCall","src":"14051:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"14041:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14092:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14123:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14134:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14119:3:150"},"nodeType":"YulFunctionCall","src":"14119:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14106:12:150"},"nodeType":"YulFunctionCall","src":"14106:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14096:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14181:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14190:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14193:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14183:6:150"},"nodeType":"YulFunctionCall","src":"14183:12:150"},"nodeType":"YulExpressionStatement","src":"14183:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14153:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14169:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14173:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14165:3:150"},"nodeType":"YulFunctionCall","src":"14165:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14177:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14161:3:150"},"nodeType":"YulFunctionCall","src":"14161:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14150:2:150"},"nodeType":"YulFunctionCall","src":"14150:30:150"},"nodeType":"YulIf","src":"14147:50:150"},{"nodeType":"YulAssignment","src":"14206:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14237:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"14248:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14233:3:150"},"nodeType":"YulFunctionCall","src":"14233:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"14257:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"14216:16:150"},"nodeType":"YulFunctionCall","src":"14216:49:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"14206:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13678:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13689:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13701:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13709:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13717:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13725:6:150","type":""}],"src":"13606:665:150"},{"body":{"nodeType":"YulBlock","src":"14422:620:150","statements":[{"body":{"nodeType":"YulBlock","src":"14469:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14478:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14481:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14471:6:150"},"nodeType":"YulFunctionCall","src":"14471:12:150"},"nodeType":"YulExpressionStatement","src":"14471:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14443:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14452:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14439:3:150"},"nodeType":"YulFunctionCall","src":"14439:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14464:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14435:3:150"},"nodeType":"YulFunctionCall","src":"14435:33:150"},"nodeType":"YulIf","src":"14432:53:150"},{"nodeType":"YulVariableDeclaration","src":"14494:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14520:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14507:12:150"},"nodeType":"YulFunctionCall","src":"14507:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14498:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14564:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14539:24:150"},"nodeType":"YulFunctionCall","src":"14539:31:150"},"nodeType":"YulExpressionStatement","src":"14539:31:150"},{"nodeType":"YulAssignment","src":"14579:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14589:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14579:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14603:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14635:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14646:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14631:3:150"},"nodeType":"YulFunctionCall","src":"14631:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14618:12:150"},"nodeType":"YulFunctionCall","src":"14618:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"14607:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"14684:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14659:24:150"},"nodeType":"YulFunctionCall","src":"14659:33:150"},"nodeType":"YulExpressionStatement","src":"14659:33:150"},{"nodeType":"YulAssignment","src":"14701:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"14711:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14701:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14727:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14770:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14755:3:150"},"nodeType":"YulFunctionCall","src":"14755:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14742:12:150"},"nodeType":"YulFunctionCall","src":"14742:32:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"14731:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"14808:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14783:24:150"},"nodeType":"YulFunctionCall","src":"14783:33:150"},"nodeType":"YulExpressionStatement","src":"14783:33:150"},{"nodeType":"YulAssignment","src":"14825:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"14835:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"14825:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14851:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14893:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14878:3:150"},"nodeType":"YulFunctionCall","src":"14878:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14865:12:150"},"nodeType":"YulFunctionCall","src":"14865:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14855:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14940:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14949:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14952:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14942:6:150"},"nodeType":"YulFunctionCall","src":"14942:12:150"},"nodeType":"YulExpressionStatement","src":"14942:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14912:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14928:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14932:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14924:3:150"},"nodeType":"YulFunctionCall","src":"14924:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14936:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14920:3:150"},"nodeType":"YulFunctionCall","src":"14920:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14909:2:150"},"nodeType":"YulFunctionCall","src":"14909:30:150"},"nodeType":"YulIf","src":"14906:50:150"},{"nodeType":"YulAssignment","src":"14965:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15008:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"15019:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15004:3:150"},"nodeType":"YulFunctionCall","src":"15004:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15028:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"14975:28:150"},"nodeType":"YulFunctionCall","src":"14975:61:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"14965:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14364:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14375:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14387:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14395:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"14403:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"14411:6:150","type":""}],"src":"14276:766:150"},{"body":{"nodeType":"YulBlock","src":"15115:175:150","statements":[{"body":{"nodeType":"YulBlock","src":"15161:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15170:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15173:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15163:6:150"},"nodeType":"YulFunctionCall","src":"15163:12:150"},"nodeType":"YulExpressionStatement","src":"15163:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15136:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15145:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15132:3:150"},"nodeType":"YulFunctionCall","src":"15132:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15157:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15128:3:150"},"nodeType":"YulFunctionCall","src":"15128:32:150"},"nodeType":"YulIf","src":"15125:52:150"},{"nodeType":"YulVariableDeclaration","src":"15186:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15212:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15199:12:150"},"nodeType":"YulFunctionCall","src":"15199:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15190:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15254:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"15231:22:150"},"nodeType":"YulFunctionCall","src":"15231:29:150"},"nodeType":"YulExpressionStatement","src":"15231:29:150"},{"nodeType":"YulAssignment","src":"15269:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15279:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15269:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15081:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15092:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15104:6:150","type":""}],"src":"15047:243:150"},{"body":{"nodeType":"YulBlock","src":"15382:301:150","statements":[{"body":{"nodeType":"YulBlock","src":"15428:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15437:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15440:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15430:6:150"},"nodeType":"YulFunctionCall","src":"15430:12:150"},"nodeType":"YulExpressionStatement","src":"15430:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15403:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15412:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15399:3:150"},"nodeType":"YulFunctionCall","src":"15399:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15424:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15395:3:150"},"nodeType":"YulFunctionCall","src":"15395:32:150"},"nodeType":"YulIf","src":"15392:52:150"},{"nodeType":"YulVariableDeclaration","src":"15453:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15479:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15466:12:150"},"nodeType":"YulFunctionCall","src":"15466:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15457:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15523:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15498:24:150"},"nodeType":"YulFunctionCall","src":"15498:31:150"},"nodeType":"YulExpressionStatement","src":"15498:31:150"},{"nodeType":"YulAssignment","src":"15538:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15548:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15538:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"15562:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15594:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15605:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15590:3:150"},"nodeType":"YulFunctionCall","src":"15590:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15577:12:150"},"nodeType":"YulFunctionCall","src":"15577:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"15566:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15643:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15618:24:150"},"nodeType":"YulFunctionCall","src":"15618:33:150"},"nodeType":"YulExpressionStatement","src":"15618:33:150"},{"nodeType":"YulAssignment","src":"15660:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"15670:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15660:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15340:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15351:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15363:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15371:6:150","type":""}],"src":"15295:388:150"},{"body":{"nodeType":"YulBlock","src":"15862:177:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15879:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15890:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15872:6:150"},"nodeType":"YulFunctionCall","src":"15872:21:150"},"nodeType":"YulExpressionStatement","src":"15872:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15913:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15924:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15909:3:150"},"nodeType":"YulFunctionCall","src":"15909:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15929:2:150","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15902:6:150"},"nodeType":"YulFunctionCall","src":"15902:30:150"},"nodeType":"YulExpressionStatement","src":"15902:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15963:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15948:3:150"},"nodeType":"YulFunctionCall","src":"15948:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","kind":"string","nodeType":"YulLiteral","src":"15968:29:150","type":"","value":"GalaxyMember: invalid level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15941:6:150"},"nodeType":"YulFunctionCall","src":"15941:57:150"},"nodeType":"YulExpressionStatement","src":"15941:57:150"},{"nodeType":"YulAssignment","src":"16007:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16019:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16030:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16015:3:150"},"nodeType":"YulFunctionCall","src":"16015:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16007:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15839:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15853:4:150","type":""}],"src":"15688:351:150"},{"body":{"nodeType":"YulBlock","src":"16218:182:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16235:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16246:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16228:6:150"},"nodeType":"YulFunctionCall","src":"16228:21:150"},"nodeType":"YulExpressionStatement","src":"16228:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16280:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16265:3:150"},"nodeType":"YulFunctionCall","src":"16265:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16285:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16258:6:150"},"nodeType":"YulFunctionCall","src":"16258:30:150"},"nodeType":"YulExpressionStatement","src":"16258:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16308:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16319:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16304:3:150"},"nodeType":"YulFunctionCall","src":"16304:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","kind":"string","nodeType":"YulLiteral","src":"16324:34:150","type":"","value":"GalaxyMember: invalid node level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16297:6:150"},"nodeType":"YulFunctionCall","src":"16297:62:150"},"nodeType":"YulExpressionStatement","src":"16297:62:150"},{"nodeType":"YulAssignment","src":"16368:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16380:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16391:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16376:3:150"},"nodeType":"YulFunctionCall","src":"16376:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16368:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16195:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16209:4:150","type":""}],"src":"16044:356:150"},{"body":{"nodeType":"YulBlock","src":"16579:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16596:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16607:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16589:6:150"},"nodeType":"YulFunctionCall","src":"16589:21:150"},"nodeType":"YulExpressionStatement","src":"16589:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16630:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16641:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16626:3:150"},"nodeType":"YulFunctionCall","src":"16626:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16646:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16619:6:150"},"nodeType":"YulFunctionCall","src":"16619:30:150"},"nodeType":"YulExpressionStatement","src":"16619:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16669:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16680:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16665:3:150"},"nodeType":"YulFunctionCall","src":"16665:18:150"},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373","kind":"string","nodeType":"YulLiteral","src":"16685:34:150","type":"","value":"GalaxyMember: level must be less"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16658:6:150"},"nodeType":"YulFunctionCall","src":"16658:62:150"},"nodeType":"YulExpressionStatement","src":"16658:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16740:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16751:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16736:3:150"},"nodeType":"YulFunctionCall","src":"16736:18:150"},{"hexValue":"207468616e206f7220657175616c20746f204d41585f4c4556454c","kind":"string","nodeType":"YulLiteral","src":"16756:29:150","type":"","value":" than or equal to MAX_LEVEL"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16729:6:150"},"nodeType":"YulFunctionCall","src":"16729:57:150"},"nodeType":"YulExpressionStatement","src":"16729:57:150"},{"nodeType":"YulAssignment","src":"16795:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16807:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16818:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16803:3:150"},"nodeType":"YulFunctionCall","src":"16803:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16795:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16556:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16570:4:150","type":""}],"src":"16405:423:150"},{"body":{"nodeType":"YulBlock","src":"16888:325:150","statements":[{"nodeType":"YulAssignment","src":"16898:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16912:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"16915:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"16908:3:150"},"nodeType":"YulFunctionCall","src":"16908:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"16898:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"16929:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"16959:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"16965:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16955:3:150"},"nodeType":"YulFunctionCall","src":"16955:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"16933:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17006:31:150","statements":[{"nodeType":"YulAssignment","src":"17008:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17022:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17030:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17018:3:150"},"nodeType":"YulFunctionCall","src":"17018:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"17008:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"16986:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16979:6:150"},"nodeType":"YulFunctionCall","src":"16979:26:150"},"nodeType":"YulIf","src":"16976:61:150"},{"body":{"nodeType":"YulBlock","src":"17096:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17117:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17124:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17129:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17120:3:150"},"nodeType":"YulFunctionCall","src":"17120:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17110:6:150"},"nodeType":"YulFunctionCall","src":"17110:31:150"},"nodeType":"YulExpressionStatement","src":"17110:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17161:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17164:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17154:6:150"},"nodeType":"YulFunctionCall","src":"17154:15:150"},"nodeType":"YulExpressionStatement","src":"17154:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17189:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17192:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17182:6:150"},"nodeType":"YulFunctionCall","src":"17182:15:150"},"nodeType":"YulExpressionStatement","src":"17182:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"17052:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17075:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17083:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17072:2:150"},"nodeType":"YulFunctionCall","src":"17072:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17049:2:150"},"nodeType":"YulFunctionCall","src":"17049:38:150"},"nodeType":"YulIf","src":"17046:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"16868:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"16877:6:150","type":""}],"src":"16833:380:150"},{"body":{"nodeType":"YulBlock","src":"17375:218:150","statements":[{"nodeType":"YulAssignment","src":"17385:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17397:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17408:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17393:3:150"},"nodeType":"YulFunctionCall","src":"17393:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17385:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"17420:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17438:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17443:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17434:3:150"},"nodeType":"YulFunctionCall","src":"17434:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17447:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17430:3:150"},"nodeType":"YulFunctionCall","src":"17430:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17424:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17465:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17480:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17488:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17476:3:150"},"nodeType":"YulFunctionCall","src":"17476:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17458:6:150"},"nodeType":"YulFunctionCall","src":"17458:34:150"},"nodeType":"YulExpressionStatement","src":"17458:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17512:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17523:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17508:3:150"},"nodeType":"YulFunctionCall","src":"17508:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17528:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17501:6:150"},"nodeType":"YulFunctionCall","src":"17501:34:150"},"nodeType":"YulExpressionStatement","src":"17501:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17555:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17566:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17551:3:150"},"nodeType":"YulFunctionCall","src":"17551:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17575:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17583:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17571:3:150"},"nodeType":"YulFunctionCall","src":"17571:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17544:6:150"},"nodeType":"YulFunctionCall","src":"17544:43:150"},"nodeType":"YulExpressionStatement","src":"17544:43:150"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17328:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17339:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17347:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17355:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17366:4:150","type":""}],"src":"17218:375:150"},{"body":{"nodeType":"YulBlock","src":"17727:145:150","statements":[{"nodeType":"YulAssignment","src":"17737:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17749:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17760:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17745:3:150"},"nodeType":"YulFunctionCall","src":"17745:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17737:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17779:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17794:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17810:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17815:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17806:3:150"},"nodeType":"YulFunctionCall","src":"17806:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17819:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17802:3:150"},"nodeType":"YulFunctionCall","src":"17802:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17790:3:150"},"nodeType":"YulFunctionCall","src":"17790:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17772:6:150"},"nodeType":"YulFunctionCall","src":"17772:51:150"},"nodeType":"YulExpressionStatement","src":"17772:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17843:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17854:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17839:3:150"},"nodeType":"YulFunctionCall","src":"17839:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17859:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17832:6:150"},"nodeType":"YulFunctionCall","src":"17832:34:150"},"nodeType":"YulExpressionStatement","src":"17832:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17688:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17699:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17707:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17718:4:150","type":""}],"src":"17598:274:150"},{"body":{"nodeType":"YulBlock","src":"18051:297:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18068:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18079:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18061:6:150"},"nodeType":"YulFunctionCall","src":"18061:21:150"},"nodeType":"YulExpressionStatement","src":"18061:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18102:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18113:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18098:3:150"},"nodeType":"YulFunctionCall","src":"18098:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18118:2:150","type":"","value":"67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18091:6:150"},"nodeType":"YulFunctionCall","src":"18091:30:150"},"nodeType":"YulExpressionStatement","src":"18091:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18141:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18152:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18137:3:150"},"nodeType":"YulFunctionCall","src":"18137:18:150"},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d757374206265","kind":"string","nodeType":"YulLiteral","src":"18157:34:150","type":"","value":"Galaxy Member: Max level must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18130:6:150"},"nodeType":"YulFunctionCall","src":"18130:62:150"},"nodeType":"YulExpressionStatement","src":"18130:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18212:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18223:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18208:3:150"},"nodeType":"YulFunctionCall","src":"18208:18:150"},{"hexValue":"2067726561746572207468616e207468652063757272656e74206d6178206c65","kind":"string","nodeType":"YulLiteral","src":"18228:34:150","type":"","value":" greater than the current max le"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18201:6:150"},"nodeType":"YulFunctionCall","src":"18201:62:150"},"nodeType":"YulExpressionStatement","src":"18201:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18283:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18294:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18279:3:150"},"nodeType":"YulFunctionCall","src":"18279:19:150"},{"hexValue":"76656c","kind":"string","nodeType":"YulLiteral","src":"18300:5:150","type":"","value":"vel"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18272:6:150"},"nodeType":"YulFunctionCall","src":"18272:34:150"},"nodeType":"YulExpressionStatement","src":"18272:34:150"},{"nodeType":"YulAssignment","src":"18315:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18327:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18338:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18323:3:150"},"nodeType":"YulFunctionCall","src":"18323:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18315:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18028:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18042:4:150","type":""}],"src":"17877:471:150"},{"body":{"nodeType":"YulBlock","src":"18527:296:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18555:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18537:6:150"},"nodeType":"YulFunctionCall","src":"18537:21:150"},"nodeType":"YulExpressionStatement","src":"18537:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18578:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18589:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18574:3:150"},"nodeType":"YulFunctionCall","src":"18574:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18594:2:150","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18567:6:150"},"nodeType":"YulFunctionCall","src":"18567:30:150"},"nodeType":"YulExpressionStatement","src":"18567:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18617:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18628:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18613:3:150"},"nodeType":"YulFunctionCall","src":"18613:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"18633:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18606:6:150"},"nodeType":"YulFunctionCall","src":"18606:62:150"},"nodeType":"YulExpressionStatement","src":"18606:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18688:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18699:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18684:3:150"},"nodeType":"YulFunctionCall","src":"18684:18:150"},{"hexValue":"7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b","kind":"string","nodeType":"YulLiteral","src":"18704:34:150","type":"","value":"ust be set for all levels unlock"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18677:6:150"},"nodeType":"YulFunctionCall","src":"18677:62:150"},"nodeType":"YulExpressionStatement","src":"18677:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18770:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18755:3:150"},"nodeType":"YulFunctionCall","src":"18755:19:150"},{"hexValue":"6564","kind":"string","nodeType":"YulLiteral","src":"18776:4:150","type":"","value":"ed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18748:6:150"},"nodeType":"YulFunctionCall","src":"18748:33:150"},"nodeType":"YulExpressionStatement","src":"18748:33:150"},{"nodeType":"YulAssignment","src":"18790:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18802:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18813:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18798:3:150"},"nodeType":"YulFunctionCall","src":"18798:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18790:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18504:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18518:4:150","type":""}],"src":"18353:470:150"},{"body":{"nodeType":"YulBlock","src":"18860:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18877:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18884:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"18889:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18880:3:150"},"nodeType":"YulFunctionCall","src":"18880:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18870:6:150"},"nodeType":"YulFunctionCall","src":"18870:31:150"},"nodeType":"YulExpressionStatement","src":"18870:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18917:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18920:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18910:6:150"},"nodeType":"YulFunctionCall","src":"18910:15:150"},"nodeType":"YulExpressionStatement","src":"18910:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18941:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18944:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18934:6:150"},"nodeType":"YulFunctionCall","src":"18934:15:150"},"nodeType":"YulExpressionStatement","src":"18934:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"18828:127:150"},{"body":{"nodeType":"YulBlock","src":"19007:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"19038:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19040:16:150"},"nodeType":"YulFunctionCall","src":"19040:18:150"},"nodeType":"YulExpressionStatement","src":"19040:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19023:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19034:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"19030:3:150"},"nodeType":"YulFunctionCall","src":"19030:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19020:2:150"},"nodeType":"YulFunctionCall","src":"19020:17:150"},"nodeType":"YulIf","src":"19017:43:150"},{"nodeType":"YulAssignment","src":"19069:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19080:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"19087:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19076:3:150"},"nodeType":"YulFunctionCall","src":"19076:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"19069:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18989:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18999:3:150","type":""}],"src":"18960:135:150"},{"body":{"nodeType":"YulBlock","src":"19229:119:150","statements":[{"nodeType":"YulAssignment","src":"19239:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19251:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19262:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19247:3:150"},"nodeType":"YulFunctionCall","src":"19247:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19239:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19281:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"19292:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19274:6:150"},"nodeType":"YulFunctionCall","src":"19274:25:150"},"nodeType":"YulExpressionStatement","src":"19274:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19319:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19330:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19315:3:150"},"nodeType":"YulFunctionCall","src":"19315:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"19335:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19308:6:150"},"nodeType":"YulFunctionCall","src":"19308:34:150"},"nodeType":"YulExpressionStatement","src":"19308:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19190:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19201:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19209:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19220:4:150","type":""}],"src":"19100:248:150"},{"body":{"nodeType":"YulBlock","src":"19527:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19555:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19537:6:150"},"nodeType":"YulFunctionCall","src":"19537:21:150"},"nodeType":"YulExpressionStatement","src":"19537:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19578:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19589:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19574:3:150"},"nodeType":"YulFunctionCall","src":"19574:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"19594:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19567:6:150"},"nodeType":"YulFunctionCall","src":"19567:30:150"},"nodeType":"YulExpressionStatement","src":"19567:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19617:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19628:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19613:3:150"},"nodeType":"YulFunctionCall","src":"19613:18:150"},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665","kind":"string","nodeType":"YulLiteral","src":"19633:34:150","type":"","value":"Galaxy Member: _xAllocationsGove"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19606:6:150"},"nodeType":"YulFunctionCall","src":"19606:62:150"},"nodeType":"YulExpressionStatement","src":"19606:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19688:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19699:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19684:3:150"},"nodeType":"YulFunctionCall","src":"19684:18:150"},{"hexValue":"726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"19704:33:150","type":"","value":"rnor cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19677:6:150"},"nodeType":"YulFunctionCall","src":"19677:61:150"},"nodeType":"YulExpressionStatement","src":"19677:61:150"},{"nodeType":"YulAssignment","src":"19747:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19770:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19755:3:150"},"nodeType":"YulFunctionCall","src":"19755:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19747:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19504:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19518:4:150","type":""}],"src":"19353:427:150"},{"body":{"nodeType":"YulBlock","src":"19844:116:150","statements":[{"nodeType":"YulAssignment","src":"19854:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19869:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19863:5:150"},"nodeType":"YulFunctionCall","src":"19863:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19854:5:150"}]},{"body":{"nodeType":"YulBlock","src":"19938:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19947:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19950:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19940:6:150"},"nodeType":"YulFunctionCall","src":"19940:12:150"},"nodeType":"YulExpressionStatement","src":"19940:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19898:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19909:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19924:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"19928:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19920:3:150"},"nodeType":"YulFunctionCall","src":"19920:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"19932:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19916:3:150"},"nodeType":"YulFunctionCall","src":"19916:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19905:3:150"},"nodeType":"YulFunctionCall","src":"19905:30:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19895:2:150"},"nodeType":"YulFunctionCall","src":"19895:41:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19888:6:150"},"nodeType":"YulFunctionCall","src":"19888:49:150"},"nodeType":"YulIf","src":"19885:69:150"}]},"name":"abi_decode_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"19823:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19834:5:150","type":""}],"src":"19785:175:150"},{"body":{"nodeType":"YulBlock","src":"20137:718:150","statements":[{"body":{"nodeType":"YulBlock","src":"20184:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20193:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20196:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20186:6:150"},"nodeType":"YulFunctionCall","src":"20186:12:150"},"nodeType":"YulExpressionStatement","src":"20186:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20158:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20167:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20154:3:150"},"nodeType":"YulFunctionCall","src":"20154:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20179:3:150","type":"","value":"224"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20150:3:150"},"nodeType":"YulFunctionCall","src":"20150:33:150"},"nodeType":"YulIf","src":"20147:53:150"},{"nodeType":"YulVariableDeclaration","src":"20209:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20228:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20222:5:150"},"nodeType":"YulFunctionCall","src":"20222:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"20213:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20272:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"20247:24:150"},"nodeType":"YulFunctionCall","src":"20247:31:150"},"nodeType":"YulExpressionStatement","src":"20247:31:150"},{"nodeType":"YulAssignment","src":"20287:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"20297:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20287:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"20311:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20336:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20347:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20332:3:150"},"nodeType":"YulFunctionCall","src":"20332:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20326:5:150"},"nodeType":"YulFunctionCall","src":"20326:25:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"20315:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"20383:7:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"20360:22:150"},"nodeType":"YulFunctionCall","src":"20360:31:150"},"nodeType":"YulExpressionStatement","src":"20360:31:150"},{"nodeType":"YulAssignment","src":"20400:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"20410:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"20400:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"20426:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20451:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20462:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20447:3:150"},"nodeType":"YulFunctionCall","src":"20447:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20441:5:150"},"nodeType":"YulFunctionCall","src":"20441:25:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"20430:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"20497:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"20475:21:150"},"nodeType":"YulFunctionCall","src":"20475:30:150"},"nodeType":"YulExpressionStatement","src":"20475:30:150"},{"nodeType":"YulAssignment","src":"20514:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"20524:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"20514:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"20540:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20565:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20576:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20561:3:150"},"nodeType":"YulFunctionCall","src":"20561:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20555:5:150"},"nodeType":"YulFunctionCall","src":"20555:25:150"},"variables":[{"name":"value_3","nodeType":"YulTypedName","src":"20544:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_3","nodeType":"YulIdentifier","src":"20611:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"20589:21:150"},"nodeType":"YulFunctionCall","src":"20589:30:150"},"nodeType":"YulExpressionStatement","src":"20589:30:150"},{"nodeType":"YulAssignment","src":"20628:17:150","value":{"name":"value_3","nodeType":"YulIdentifier","src":"20638:7:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"20628:6:150"}]},{"nodeType":"YulAssignment","src":"20654:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20697:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20708:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20693:3:150"},"nodeType":"YulFunctionCall","src":"20693:19:150"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"20664:28:150"},"nodeType":"YulFunctionCall","src":"20664:49:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"20654:6:150"}]},{"nodeType":"YulAssignment","src":"20722:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20765:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20776:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20761:3:150"},"nodeType":"YulFunctionCall","src":"20761:19:150"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"20732:28:150"},"nodeType":"YulFunctionCall","src":"20732:49:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"20722:6:150"}]},{"nodeType":"YulAssignment","src":"20790:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20833:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20844:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20829:3:150"},"nodeType":"YulFunctionCall","src":"20829:19:150"}],"functionName":{"name":"abi_decode_uint64_fromMemory","nodeType":"YulIdentifier","src":"20800:28:150"},"nodeType":"YulFunctionCall","src":"20800:49:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"20790:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint8t_boolt_boolt_uint64t_uint64t_uint64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20055:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20066:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20078:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20086:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20094:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20102:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"20110:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"20118:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"20126:6:150","type":""}],"src":"19965:890:150"},{"body":{"nodeType":"YulBlock","src":"21034:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21051:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21062:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21044:6:150"},"nodeType":"YulFunctionCall","src":"21044:21:150"},"nodeType":"YulExpressionStatement","src":"21044:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21085:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21096:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21081:3:150"},"nodeType":"YulFunctionCall","src":"21081:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21101:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21074:6:150"},"nodeType":"YulFunctionCall","src":"21074:30:150"},"nodeType":"YulExpressionStatement","src":"21074:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21124:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21135:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21120:3:150"},"nodeType":"YulFunctionCall","src":"21120:18:150"},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865","kind":"string","nodeType":"YulLiteral","src":"21140:34:150","type":"","value":"Galaxy Member: caller is not the"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21113:6:150"},"nodeType":"YulFunctionCall","src":"21113:62:150"},"nodeType":"YulExpressionStatement","src":"21113:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21195:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21206:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21191:3:150"},"nodeType":"YulFunctionCall","src":"21191:18:150"},{"hexValue":"206f776e6572206f662074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"21211:21:150","type":"","value":" owner of the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21184:6:150"},"nodeType":"YulFunctionCall","src":"21184:49:150"},"nodeType":"YulExpressionStatement","src":"21184:49:150"},{"nodeType":"YulAssignment","src":"21242:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21254:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21265:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21250:3:150"},"nodeType":"YulFunctionCall","src":"21250:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21242:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21011:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21025:4:150","type":""}],"src":"20860:415:150"},{"body":{"nodeType":"YulBlock","src":"21454:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21471:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21482:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21464:6:150"},"nodeType":"YulFunctionCall","src":"21464:21:150"},"nodeType":"YulExpressionStatement","src":"21464:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21505:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21516:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21501:3:150"},"nodeType":"YulFunctionCall","src":"21501:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21521:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21494:6:150"},"nodeType":"YulFunctionCall","src":"21494:30:150"},"nodeType":"YulExpressionStatement","src":"21494:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21555:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21540:3:150"},"nodeType":"YulFunctionCall","src":"21540:18:150"},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520","kind":"string","nodeType":"YulLiteral","src":"21560:34:150","type":"","value":"Galaxy Member: you must own the "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21533:6:150"},"nodeType":"YulFunctionCall","src":"21533:62:150"},"nodeType":"YulExpressionStatement","src":"21533:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21615:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21626:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21611:3:150"},"nodeType":"YulFunctionCall","src":"21611:18:150"},{"hexValue":"546f6b656e20746f2075706772616465206974","kind":"string","nodeType":"YulLiteral","src":"21631:21:150","type":"","value":"Token to upgrade it"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21604:6:150"},"nodeType":"YulFunctionCall","src":"21604:49:150"},"nodeType":"YulExpressionStatement","src":"21604:49:150"},{"nodeType":"YulAssignment","src":"21662:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21674:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21685:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21670:3:150"},"nodeType":"YulFunctionCall","src":"21670:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21662:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21431:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21445:4:150","type":""}],"src":"21280:415:150"},{"body":{"nodeType":"YulBlock","src":"21874:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21891:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21902:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21884:6:150"},"nodeType":"YulFunctionCall","src":"21884:21:150"},"nodeType":"YulExpressionStatement","src":"21884:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21925:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21936:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21921:3:150"},"nodeType":"YulFunctionCall","src":"21921:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21941:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21914:6:150"},"nodeType":"YulFunctionCall","src":"21914:30:150"},"nodeType":"YulExpressionStatement","src":"21914:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21964:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21975:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21960:3:150"},"nodeType":"YulFunctionCall","src":"21960:18:150"},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c726561647920","kind":"string","nodeType":"YulLiteral","src":"21980:34:150","type":"","value":"Galaxy Member: Token is already "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21953:6:150"},"nodeType":"YulFunctionCall","src":"21953:62:150"},"nodeType":"YulExpressionStatement","src":"21953:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22035:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22046:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22031:3:150"},"nodeType":"YulFunctionCall","src":"22031:18:150"},{"hexValue":"6174206d6178206c6576656c","kind":"string","nodeType":"YulLiteral","src":"22051:14:150","type":"","value":"at max level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22024:6:150"},"nodeType":"YulFunctionCall","src":"22024:42:150"},"nodeType":"YulExpressionStatement","src":"22024:42:150"},{"nodeType":"YulAssignment","src":"22075:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22087:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22098:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22083:3:150"},"nodeType":"YulFunctionCall","src":"22083:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22075:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21851:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21865:4:150","type":""}],"src":"21700:408:150"},{"body":{"nodeType":"YulBlock","src":"22194:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"22240:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22249:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22252:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22242:6:150"},"nodeType":"YulFunctionCall","src":"22242:12:150"},"nodeType":"YulExpressionStatement","src":"22242:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22215:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22224:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22211:3:150"},"nodeType":"YulFunctionCall","src":"22211:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22236:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22207:3:150"},"nodeType":"YulFunctionCall","src":"22207:32:150"},"nodeType":"YulIf","src":"22204:52:150"},{"nodeType":"YulAssignment","src":"22265:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22281:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22275:5:150"},"nodeType":"YulFunctionCall","src":"22275:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22265:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22160:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22171:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22183:6:150","type":""}],"src":"22113:184:150"},{"body":{"nodeType":"YulBlock","src":"22476:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22493:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22504:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22486:6:150"},"nodeType":"YulFunctionCall","src":"22486:21:150"},"nodeType":"YulExpressionStatement","src":"22486:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22527:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22538:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22523:3:150"},"nodeType":"YulFunctionCall","src":"22523:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"22543:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22516:6:150"},"nodeType":"YulFunctionCall","src":"22516:30:150"},"nodeType":"YulExpressionStatement","src":"22516:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22566:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22577:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22562:3:150"},"nodeType":"YulFunctionCall","src":"22562:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c61","kind":"string","nodeType":"YulLiteral","src":"22582:34:150","type":"","value":"Galaxy Member: Insufficient bala"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22555:6:150"},"nodeType":"YulFunctionCall","src":"22555:62:150"},"nodeType":"YulExpressionStatement","src":"22555:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22637:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22648:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22633:3:150"},"nodeType":"YulFunctionCall","src":"22633:18:150"},{"hexValue":"6e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"22653:16:150","type":"","value":"nce to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22626:6:150"},"nodeType":"YulFunctionCall","src":"22626:44:150"},"nodeType":"YulExpressionStatement","src":"22626:44:150"},{"nodeType":"YulAssignment","src":"22679:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22691:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22702:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22687:3:150"},"nodeType":"YulFunctionCall","src":"22687:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22679:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22453:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22467:4:150","type":""}],"src":"22302:410:150"},{"body":{"nodeType":"YulBlock","src":"22846:175:150","statements":[{"nodeType":"YulAssignment","src":"22856:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22868:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22879:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22864:3:150"},"nodeType":"YulFunctionCall","src":"22864:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22856:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"22891:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22909:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22914:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22905:3:150"},"nodeType":"YulFunctionCall","src":"22905:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"22918:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22901:3:150"},"nodeType":"YulFunctionCall","src":"22901:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"22895:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22936:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22951:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22959:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22947:3:150"},"nodeType":"YulFunctionCall","src":"22947:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22929:6:150"},"nodeType":"YulFunctionCall","src":"22929:34:150"},"nodeType":"YulExpressionStatement","src":"22929:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22983:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22994:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22979:3:150"},"nodeType":"YulFunctionCall","src":"22979:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23003:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23011:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22999:3:150"},"nodeType":"YulFunctionCall","src":"22999:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22972:6:150"},"nodeType":"YulFunctionCall","src":"22972:43:150"},"nodeType":"YulExpressionStatement","src":"22972:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22807:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22818:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22826:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22837:4:150","type":""}],"src":"22717:304:150"},{"body":{"nodeType":"YulBlock","src":"23200:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23217:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23228:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23210:6:150"},"nodeType":"YulFunctionCall","src":"23210:21:150"},"nodeType":"YulExpressionStatement","src":"23210:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23251:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23262:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23247:3:150"},"nodeType":"YulFunctionCall","src":"23247:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"23267:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23240:6:150"},"nodeType":"YulFunctionCall","src":"23240:30:150"},"nodeType":"YulExpressionStatement","src":"23240:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23290:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23301:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23286:3:150"},"nodeType":"YulFunctionCall","src":"23286:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f","kind":"string","nodeType":"YulLiteral","src":"23306:34:150","type":"","value":"Galaxy Member: Insufficient allo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23279:6:150"},"nodeType":"YulFunctionCall","src":"23279:62:150"},"nodeType":"YulExpressionStatement","src":"23279:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23361:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23372:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23357:3:150"},"nodeType":"YulFunctionCall","src":"23357:18:150"},{"hexValue":"77616e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"23377:18:150","type":"","value":"wance to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23350:6:150"},"nodeType":"YulFunctionCall","src":"23350:46:150"},"nodeType":"YulExpressionStatement","src":"23350:46:150"},{"nodeType":"YulAssignment","src":"23405:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23417:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23428:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23413:3:150"},"nodeType":"YulFunctionCall","src":"23413:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23405:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23177:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23191:4:150","type":""}],"src":"23026:412:150"},{"body":{"nodeType":"YulBlock","src":"23491:77:150","statements":[{"nodeType":"YulAssignment","src":"23501:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23512:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"23515:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23508:3:150"},"nodeType":"YulFunctionCall","src":"23508:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"23501:3:150"}]},{"body":{"nodeType":"YulBlock","src":"23540:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23542:16:150"},"nodeType":"YulFunctionCall","src":"23542:18:150"},"nodeType":"YulExpressionStatement","src":"23542:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23532:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"23535:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23529:2:150"},"nodeType":"YulFunctionCall","src":"23529:10:150"},"nodeType":"YulIf","src":"23526:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23474:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"23477:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"23483:3:150","type":""}],"src":"23443:125:150"},{"body":{"nodeType":"YulBlock","src":"23730:218:150","statements":[{"nodeType":"YulAssignment","src":"23740:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23752:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23763:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23748:3:150"},"nodeType":"YulFunctionCall","src":"23748:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23740:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"23775:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23793:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23798:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23789:3:150"},"nodeType":"YulFunctionCall","src":"23789:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23802:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23785:3:150"},"nodeType":"YulFunctionCall","src":"23785:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23779:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23820:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23835:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23843:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23831:3:150"},"nodeType":"YulFunctionCall","src":"23831:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23813:6:150"},"nodeType":"YulFunctionCall","src":"23813:34:150"},"nodeType":"YulExpressionStatement","src":"23813:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23867:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23878:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23863:3:150"},"nodeType":"YulFunctionCall","src":"23863:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23887:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23895:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23883:3:150"},"nodeType":"YulFunctionCall","src":"23883:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23856:6:150"},"nodeType":"YulFunctionCall","src":"23856:43:150"},"nodeType":"YulExpressionStatement","src":"23856:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23919:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23930:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23915:3:150"},"nodeType":"YulFunctionCall","src":"23915:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"23935:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23908:6:150"},"nodeType":"YulFunctionCall","src":"23908:34:150"},"nodeType":"YulExpressionStatement","src":"23908:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23683:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23694:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23702:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23710:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23721:4:150","type":""}],"src":"23573:375:150"},{"body":{"nodeType":"YulBlock","src":"24031:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"24077:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24086:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24089:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24079:6:150"},"nodeType":"YulFunctionCall","src":"24079:12:150"},"nodeType":"YulExpressionStatement","src":"24079:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24052:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24061:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24048:3:150"},"nodeType":"YulFunctionCall","src":"24048:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24073:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24044:3:150"},"nodeType":"YulFunctionCall","src":"24044:32:150"},"nodeType":"YulIf","src":"24041:52:150"},{"nodeType":"YulVariableDeclaration","src":"24102:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24121:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24115:5:150"},"nodeType":"YulFunctionCall","src":"24115:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"24106:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24162:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"24140:21:150"},"nodeType":"YulFunctionCall","src":"24140:28:150"},"nodeType":"YulExpressionStatement","src":"24140:28:150"},{"nodeType":"YulAssignment","src":"24177:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"24187:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24177:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23997:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24008:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24020:6:150","type":""}],"src":"23953:245:150"},{"body":{"nodeType":"YulBlock","src":"24377:179:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24394:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24405:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24387:6:150"},"nodeType":"YulFunctionCall","src":"24387:21:150"},"nodeType":"YulExpressionStatement","src":"24387:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24428:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24439:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24424:3:150"},"nodeType":"YulFunctionCall","src":"24424:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24444:2:150","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24417:6:150"},"nodeType":"YulFunctionCall","src":"24417:30:150"},"nodeType":"YulExpressionStatement","src":"24417:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24467:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24478:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24463:3:150"},"nodeType":"YulFunctionCall","src":"24463:18:150"},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"24483:31:150","type":"","value":"GalaxyMember: Transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24456:6:150"},"nodeType":"YulFunctionCall","src":"24456:59:150"},"nodeType":"YulExpressionStatement","src":"24456:59:150"},{"nodeType":"YulAssignment","src":"24524:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24536:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24547:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24532:3:150"},"nodeType":"YulFunctionCall","src":"24532:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24524:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24354:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24368:4:150","type":""}],"src":"24203:353:150"},{"body":{"nodeType":"YulBlock","src":"24642:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"24688:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24697:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24700:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24690:6:150"},"nodeType":"YulFunctionCall","src":"24690:12:150"},"nodeType":"YulExpressionStatement","src":"24690:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24663:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24672:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24659:3:150"},"nodeType":"YulFunctionCall","src":"24659:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24684:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24655:3:150"},"nodeType":"YulFunctionCall","src":"24655:32:150"},"nodeType":"YulIf","src":"24652:52:150"},{"nodeType":"YulVariableDeclaration","src":"24713:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24732:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24726:5:150"},"nodeType":"YulFunctionCall","src":"24726:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"24717:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24776:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"24751:24:150"},"nodeType":"YulFunctionCall","src":"24751:31:150"},"nodeType":"YulExpressionStatement","src":"24751:31:150"},{"nodeType":"YulAssignment","src":"24791:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"24801:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24791:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24608:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24619:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24631:6:150","type":""}],"src":"24561:251:150"},{"body":{"nodeType":"YulBlock","src":"24991:316:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25008:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25019:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25001:6:150"},"nodeType":"YulFunctionCall","src":"25001:21:150"},"nodeType":"YulExpressionStatement","src":"25001:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25042:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25053:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25038:3:150"},"nodeType":"YulFunctionCall","src":"25038:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25058:2:150","type":"","value":"86"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25031:6:150"},"nodeType":"YulFunctionCall","src":"25031:30:150"},"nodeType":"YulExpressionStatement","src":"25031:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25092:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25077:3:150"},"nodeType":"YulFunctionCall","src":"25077:18:150"},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f","kind":"string","nodeType":"YulLiteral","src":"25097:34:150","type":"","value":"GalaxyMember: vechain node not o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25070:6:150"},"nodeType":"YulFunctionCall","src":"25070:62:150"},"nodeType":"YulExpressionStatement","src":"25070:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25152:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25163:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25148:3:150"},"nodeType":"YulFunctionCall","src":"25148:18:150"},{"hexValue":"776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b","kind":"string","nodeType":"YulLiteral","src":"25168:34:150","type":"","value":"wned or managed by caller or tok"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25141:6:150"},"nodeType":"YulFunctionCall","src":"25141:62:150"},"nodeType":"YulExpressionStatement","src":"25141:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25223:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25234:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25219:3:150"},"nodeType":"YulFunctionCall","src":"25219:19:150"},{"hexValue":"656e206e6f74206f776e65642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"25240:24:150","type":"","value":"en not owned by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25212:6:150"},"nodeType":"YulFunctionCall","src":"25212:53:150"},"nodeType":"YulExpressionStatement","src":"25212:53:150"},{"nodeType":"YulAssignment","src":"25274:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25286:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25297:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25282:3:150"},"nodeType":"YulFunctionCall","src":"25282:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25274:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24968:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24982:4:150","type":""}],"src":"24817:490:150"},{"body":{"nodeType":"YulBlock","src":"25486:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25503:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25514:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25496:6:150"},"nodeType":"YulFunctionCall","src":"25496:21:150"},"nodeType":"YulExpressionStatement","src":"25496:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25537:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25548:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25533:3:150"},"nodeType":"YulFunctionCall","src":"25533:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25553:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25526:6:150"},"nodeType":"YulFunctionCall","src":"25526:30:150"},"nodeType":"YulExpressionStatement","src":"25526:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25576:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25587:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25572:3:150"},"nodeType":"YulFunctionCall","src":"25572:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420","kind":"string","nodeType":"YulLiteral","src":"25592:34:150","type":"","value":"GalaxyMember: node not attached "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25565:6:150"},"nodeType":"YulFunctionCall","src":"25565:62:150"},"nodeType":"YulExpressionStatement","src":"25565:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25647:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25658:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25643:3:150"},"nodeType":"YulFunctionCall","src":"25643:18:150"},{"hexValue":"746f2074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"25663:14:150","type":"","value":"to the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25636:6:150"},"nodeType":"YulFunctionCall","src":"25636:42:150"},"nodeType":"YulExpressionStatement","src":"25636:42:150"},{"nodeType":"YulAssignment","src":"25687:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25699:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25710:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25695:3:150"},"nodeType":"YulFunctionCall","src":"25695:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25687:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25463:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25477:4:150","type":""}],"src":"25312:408:150"},{"body":{"nodeType":"YulBlock","src":"25899:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25916:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25927:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25909:6:150"},"nodeType":"YulFunctionCall","src":"25909:21:150"},"nodeType":"YulExpressionStatement","src":"25909:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25950:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25961:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25946:3:150"},"nodeType":"YulFunctionCall","src":"25946:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25966:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25939:6:150"},"nodeType":"YulFunctionCall","src":"25939:30:150"},"nodeType":"YulExpressionStatement","src":"25939:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25989:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26000:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25985:3:150"},"nodeType":"YulFunctionCall","src":"25985:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206174746163686564","kind":"string","nodeType":"YulLiteral","src":"26005:34:150","type":"","value":"GalaxyMember: token not attached"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25978:6:150"},"nodeType":"YulFunctionCall","src":"25978:62:150"},"nodeType":"YulExpressionStatement","src":"25978:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26060:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26071:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26056:3:150"},"nodeType":"YulFunctionCall","src":"26056:18:150"},{"hexValue":"20746f20746865206e6f6465","kind":"string","nodeType":"YulLiteral","src":"26076:14:150","type":"","value":" to the node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26049:6:150"},"nodeType":"YulFunctionCall","src":"26049:42:150"},"nodeType":"YulExpressionStatement","src":"26049:42:150"},{"nodeType":"YulAssignment","src":"26100:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26112:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26123:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26108:3:150"},"nodeType":"YulFunctionCall","src":"26108:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26100:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25876:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25890:4:150","type":""}],"src":"25725:408:150"},{"body":{"nodeType":"YulBlock","src":"26170:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26187:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26194:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"26199:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26190:3:150"},"nodeType":"YulFunctionCall","src":"26190:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26180:6:150"},"nodeType":"YulFunctionCall","src":"26180:31:150"},"nodeType":"YulExpressionStatement","src":"26180:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26227:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"26230:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26220:6:150"},"nodeType":"YulFunctionCall","src":"26220:15:150"},"nodeType":"YulExpressionStatement","src":"26220:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26251:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26254:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26244:6:150"},"nodeType":"YulFunctionCall","src":"26244:15:150"},"nodeType":"YulExpressionStatement","src":"26244:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"26138:127:150"},{"body":{"nodeType":"YulBlock","src":"26444:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26461:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26472:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26454:6:150"},"nodeType":"YulFunctionCall","src":"26454:21:150"},"nodeType":"YulExpressionStatement","src":"26454:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26495:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26506:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26491:3:150"},"nodeType":"YulFunctionCall","src":"26491:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"26511:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26484:6:150"},"nodeType":"YulFunctionCall","src":"26484:30:150"},"nodeType":"YulExpressionStatement","src":"26484:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26534:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26545:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26530:3:150"},"nodeType":"YulFunctionCall","src":"26530:18:150"},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520","kind":"string","nodeType":"YulLiteral","src":"26550:34:150","type":"","value":"Galaxy Member: Base URI must be "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26523:6:150"},"nodeType":"YulFunctionCall","src":"26523:62:150"},"nodeType":"YulExpressionStatement","src":"26523:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26605:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26616:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26601:3:150"},"nodeType":"YulFunctionCall","src":"26601:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"26621:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26594:6:150"},"nodeType":"YulFunctionCall","src":"26594:33:150"},"nodeType":"YulExpressionStatement","src":"26594:33:150"},{"nodeType":"YulAssignment","src":"26636:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26648:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26659:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26644:3:150"},"nodeType":"YulFunctionCall","src":"26644:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26636:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26421:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26435:4:150","type":""}],"src":"26270:399:150"},{"body":{"nodeType":"YulBlock","src":"26730:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26747:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"26750:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26740:6:150"},"nodeType":"YulFunctionCall","src":"26740:14:150"},"nodeType":"YulExpressionStatement","src":"26740:14:150"},{"nodeType":"YulAssignment","src":"26763:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26781:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26784:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"26771:9:150"},"nodeType":"YulFunctionCall","src":"26771:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"26763:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"26713:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"26721:4:150","type":""}],"src":"26674:121:150"},{"body":{"nodeType":"YulBlock","src":"26936:706:150","statements":[{"nodeType":"YulVariableDeclaration","src":"26946:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26957:1:150","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"26950:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26967:30:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26990:6:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"26984:5:150"},"nodeType":"YulFunctionCall","src":"26984:13:150"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"26971:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27006:50:150","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"27046:9:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"27020:25:150"},"nodeType":"YulFunctionCall","src":"27020:36:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"27010:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27065:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27075:1:150","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"27069:2:150","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"27126:126:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27147:3:150"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"27156:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27171:3:150","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27167:3:150"},"nodeType":"YulFunctionCall","src":"27167:8:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27152:3:150"},"nodeType":"YulFunctionCall","src":"27152:24:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27140:6:150"},"nodeType":"YulFunctionCall","src":"27140:37:150"},"nodeType":"YulExpressionStatement","src":"27140:37:150"},{"nodeType":"YulAssignment","src":"27190:52:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27201:3:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"27210:6:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"27232:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27225:6:150"},"nodeType":"YulFunctionCall","src":"27225:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27218:6:150"},"nodeType":"YulFunctionCall","src":"27218:22:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"27206:3:150"},"nodeType":"YulFunctionCall","src":"27206:35:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27197:3:150"},"nodeType":"YulFunctionCall","src":"27197:45:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"27190:3:150"}]}]},"nodeType":"YulCase","src":"27119:133:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27124:1:150","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"27268:349:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27289:1:150","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"27292:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27282:6:150"},"nodeType":"YulFunctionCall","src":"27282:17:150"},"nodeType":"YulExpressionStatement","src":"27282:17:150"},{"nodeType":"YulVariableDeclaration","src":"27312:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27322:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"27316:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27339:31:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27364:1:150","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"27367:2:150"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"27354:9:150"},"nodeType":"YulFunctionCall","src":"27354:16:150"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"27343:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27383:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27392:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"27387:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27460:111:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27489:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"27494:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27485:3:150"},"nodeType":"YulFunctionCall","src":"27485:11:150"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"27504:7:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"27498:5:150"},"nodeType":"YulFunctionCall","src":"27498:14:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27478:6:150"},"nodeType":"YulFunctionCall","src":"27478:35:150"},"nodeType":"YulExpressionStatement","src":"27478:35:150"},{"nodeType":"YulAssignment","src":"27530:27:150","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"27545:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27554:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27541:3:150"},"nodeType":"YulFunctionCall","src":"27541:16:150"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"27530:7:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"27417:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"27420:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27414:2:150"},"nodeType":"YulFunctionCall","src":"27414:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"27428:19:150","statements":[{"nodeType":"YulAssignment","src":"27430:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"27439:1:150"},{"name":"_2","nodeType":"YulIdentifier","src":"27442:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27435:3:150"},"nodeType":"YulFunctionCall","src":"27435:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"27430:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"27410:3:150","statements":[]},"src":"27406:165:150"},{"nodeType":"YulAssignment","src":"27584:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27595:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27600:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27591:3:150"},"nodeType":"YulFunctionCall","src":"27591:16:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"27584:3:150"}]}]},"nodeType":"YulCase","src":"27261:356:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27266:1:150","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"27096:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27107:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27092:3:150"},"nodeType":"YulFunctionCall","src":"27092:18:150"},"nodeType":"YulSwitch","src":"27085:532:150"},{"nodeType":"YulAssignment","src":"27626:10:150","value":{"name":"ret","nodeType":"YulIdentifier","src":"27633:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27626:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"26912:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26917:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"26928:3:150","type":""}],"src":"26800:842:150"},{"body":{"nodeType":"YulBlock","src":"27786:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"27796:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27816:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27810:5:150"},"nodeType":"YulFunctionCall","src":"27810:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"27800:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27871:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"27879:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27867:3:150"},"nodeType":"YulFunctionCall","src":"27867:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"27886:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27891:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"27832:34:150"},"nodeType":"YulFunctionCall","src":"27832:66:150"},"nodeType":"YulExpressionStatement","src":"27832:66:150"},{"nodeType":"YulAssignment","src":"27907:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27918:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27923:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27914:3:150"},"nodeType":"YulFunctionCall","src":"27914:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27907:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"27762:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27767:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"27778:3:150","type":""}],"src":"27647:289:150"},{"body":{"nodeType":"YulBlock","src":"28022:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"28055:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28069:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28079:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"28073:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"28100:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"28104:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28093:6:150"},"nodeType":"YulFunctionCall","src":"28093:17:150"},"nodeType":"YulExpressionStatement","src":"28093:17:150"},{"nodeType":"YulVariableDeclaration","src":"28123:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"28145:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"28149:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"28135:9:150"},"nodeType":"YulFunctionCall","src":"28135:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"28127:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28167:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"28190:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28200:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"28207:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28219:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28203:3:150"},"nodeType":"YulFunctionCall","src":"28203:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"28196:3:150"},"nodeType":"YulFunctionCall","src":"28196:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28186:3:150"},"nodeType":"YulFunctionCall","src":"28186:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"28171:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28261:23:150","statements":[{"nodeType":"YulAssignment","src":"28263:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"28278:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"28263:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"28243:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28255:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28240:2:150"},"nodeType":"YulFunctionCall","src":"28240:20:150"},"nodeType":"YulIf","src":"28237:47:150"},{"nodeType":"YulVariableDeclaration","src":"28297:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"28311:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28321:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"28328:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"28333:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28324:3:150"},"nodeType":"YulFunctionCall","src":"28324:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"28317:3:150"},"nodeType":"YulFunctionCall","src":"28317:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28307:3:150"},"nodeType":"YulFunctionCall","src":"28307:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"28301:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28351:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"28364:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"28355:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28449:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"28458:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28465:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28451:6:150"},"nodeType":"YulFunctionCall","src":"28451:17:150"},"nodeType":"YulExpressionStatement","src":"28451:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"28399:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"28406:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28396:2:150"},"nodeType":"YulFunctionCall","src":"28396:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"28410:26:150","statements":[{"nodeType":"YulAssignment","src":"28412:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"28425:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"28432:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28421:3:150"},"nodeType":"YulFunctionCall","src":"28421:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"28412:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"28392:3:150","statements":[]},"src":"28388:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"28038:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"28043:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28035:2:150"},"nodeType":"YulFunctionCall","src":"28035:11:150"},"nodeType":"YulIf","src":"28032:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"27994:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"28001:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"28006:10:150","type":""}],"src":"27941:545:150"},{"body":{"nodeType":"YulBlock","src":"28576:81:150","statements":[{"nodeType":"YulAssignment","src":"28586:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"28601:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28619:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"28622:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28615:3:150"},"nodeType":"YulFunctionCall","src":"28615:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28632:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28628:3:150"},"nodeType":"YulFunctionCall","src":"28628:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"28611:3:150"},"nodeType":"YulFunctionCall","src":"28611:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28607:3:150"},"nodeType":"YulFunctionCall","src":"28607:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28597:3:150"},"nodeType":"YulFunctionCall","src":"28597:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28643:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"28646:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28639:3:150"},"nodeType":"YulFunctionCall","src":"28639:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"28594:2:150"},"nodeType":"YulFunctionCall","src":"28594:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"28586:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"28553:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"28559:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"28567:4:150","type":""}],"src":"28491:166:150"},{"body":{"nodeType":"YulBlock","src":"28758:1256:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28768:24:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28788:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28782:5:150"},"nodeType":"YulFunctionCall","src":"28782:10:150"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"28772:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28835:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"28837:16:150"},"nodeType":"YulFunctionCall","src":"28837:18:150"},"nodeType":"YulExpressionStatement","src":"28837:18:150"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"28807:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28823:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"28827:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28819:3:150"},"nodeType":"YulFunctionCall","src":"28819:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28831:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28815:3:150"},"nodeType":"YulFunctionCall","src":"28815:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28804:2:150"},"nodeType":"YulFunctionCall","src":"28804:30:150"},"nodeType":"YulIf","src":"28801:56:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28910:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28948:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"28942:5:150"},"nodeType":"YulFunctionCall","src":"28942:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"28916:25:150"},"nodeType":"YulFunctionCall","src":"28916:38:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"28956:6:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"28866:43:150"},"nodeType":"YulFunctionCall","src":"28866:97:150"},"nodeType":"YulExpressionStatement","src":"28866:97:150"},{"nodeType":"YulVariableDeclaration","src":"28972:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28989:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"28976:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28999:23:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29018:4:150","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"29003:11:150","type":""}]},{"nodeType":"YulAssignment","src":"29031:24:150","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"29044:11:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"29031:9:150"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"29101:656:150","statements":[{"nodeType":"YulVariableDeclaration","src":"29115:35:150","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"29134:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29146:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29142:3:150"},"nodeType":"YulFunctionCall","src":"29142:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29130:3:150"},"nodeType":"YulFunctionCall","src":"29130:20:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"29119:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29163:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"29207:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"29177:29:150"},"nodeType":"YulFunctionCall","src":"29177:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"29167:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29225:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29234:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"29229:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29312:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"29337:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"29355:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"29360:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29351:3:150"},"nodeType":"YulFunctionCall","src":"29351:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29345:5:150"},"nodeType":"YulFunctionCall","src":"29345:26:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29330:6:150"},"nodeType":"YulFunctionCall","src":"29330:42:150"},"nodeType":"YulExpressionStatement","src":"29330:42:150"},{"nodeType":"YulAssignment","src":"29389:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"29403:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"29411:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29399:3:150"},"nodeType":"YulFunctionCall","src":"29399:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"29389:6:150"}]},{"nodeType":"YulAssignment","src":"29430:40:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"29447:9:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"29458:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29443:3:150"},"nodeType":"YulFunctionCall","src":"29443:27:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"29430:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"29259:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"29262:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"29256:2:150"},"nodeType":"YulFunctionCall","src":"29256:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"29271:28:150","statements":[{"nodeType":"YulAssignment","src":"29273:24:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"29282:1:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"29285:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29278:3:150"},"nodeType":"YulFunctionCall","src":"29278:19:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"29273:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"29252:3:150","statements":[]},"src":"29248:236:150"},{"body":{"nodeType":"YulBlock","src":"29532:166:150","statements":[{"nodeType":"YulVariableDeclaration","src":"29550:43:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"29577:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"29582:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29573:3:150"},"nodeType":"YulFunctionCall","src":"29573:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29567:5:150"},"nodeType":"YulFunctionCall","src":"29567:26:150"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"29554:9:150","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"29617:6:150"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"29629:9:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29656:1:150","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"29659:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29652:3:150"},"nodeType":"YulFunctionCall","src":"29652:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"29668:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29648:3:150"},"nodeType":"YulFunctionCall","src":"29648:24:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29678:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29674:3:150"},"nodeType":"YulFunctionCall","src":"29674:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"29644:3:150"},"nodeType":"YulFunctionCall","src":"29644:37:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29640:3:150"},"nodeType":"YulFunctionCall","src":"29640:42:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29625:3:150"},"nodeType":"YulFunctionCall","src":"29625:58:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29610:6:150"},"nodeType":"YulFunctionCall","src":"29610:74:150"},"nodeType":"YulExpressionStatement","src":"29610:74:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"29503:7:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"29512:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"29500:2:150"},"nodeType":"YulFunctionCall","src":"29500:19:150"},"nodeType":"YulIf","src":"29497:201:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"29718:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29732:1:150","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"29735:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29728:3:150"},"nodeType":"YulFunctionCall","src":"29728:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"29744:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29724:3:150"},"nodeType":"YulFunctionCall","src":"29724:22:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29711:6:150"},"nodeType":"YulFunctionCall","src":"29711:36:150"},"nodeType":"YulExpressionStatement","src":"29711:36:150"}]},"nodeType":"YulCase","src":"29094:663:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29099:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"29774:234:150","statements":[{"nodeType":"YulVariableDeclaration","src":"29788:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"29801:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"29792:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29837:67:150","statements":[{"nodeType":"YulAssignment","src":"29855:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"29874:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"29879:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29870:3:150"},"nodeType":"YulFunctionCall","src":"29870:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29864:5:150"},"nodeType":"YulFunctionCall","src":"29864:26:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"29855:5:150"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"29818:6:150"},"nodeType":"YulIf","src":"29815:89:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"29924:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29983:5:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"29990:6:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"29930:52:150"},"nodeType":"YulFunctionCall","src":"29930:67:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29917:6:150"},"nodeType":"YulFunctionCall","src":"29917:81:150"},"nodeType":"YulExpressionStatement","src":"29917:81:150"}]},"nodeType":"YulCase","src":"29766:242:150","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"29074:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"29082:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29071:2:150"},"nodeType":"YulFunctionCall","src":"29071:14:150"},"nodeType":"YulSwitch","src":"29064:944:150"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"28743:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"28749:3:150","type":""}],"src":"28662:1352:150"},{"body":{"nodeType":"YulBlock","src":"30193:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30210:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30221:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30203:6:150"},"nodeType":"YulFunctionCall","src":"30203:21:150"},"nodeType":"YulExpressionStatement","src":"30203:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30244:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30255:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30240:3:150"},"nodeType":"YulFunctionCall","src":"30240:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30260:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30233:6:150"},"nodeType":"YulFunctionCall","src":"30233:30:150"},"nodeType":"YulExpressionStatement","src":"30233:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30283:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30294:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30279:3:150"},"nodeType":"YulFunctionCall","src":"30279:18:150"},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e67206973","kind":"string","nodeType":"YulLiteral","src":"30299:34:150","type":"","value":"Galaxy Member: Public minting is"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30272:6:150"},"nodeType":"YulFunctionCall","src":"30272:62:150"},"nodeType":"YulExpressionStatement","src":"30272:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30354:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30365:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30350:3:150"},"nodeType":"YulFunctionCall","src":"30350:18:150"},{"hexValue":"20706175736564","kind":"string","nodeType":"YulLiteral","src":"30370:9:150","type":"","value":" paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30343:6:150"},"nodeType":"YulFunctionCall","src":"30343:37:150"},"nodeType":"YulExpressionStatement","src":"30343:37:150"},{"nodeType":"YulAssignment","src":"30389:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30401:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30412:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30397:3:150"},"nodeType":"YulFunctionCall","src":"30397:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30389:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30170:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30184:4:150","type":""}],"src":"30019:403:150"},{"body":{"nodeType":"YulBlock","src":"30601:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30618:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30629:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30611:6:150"},"nodeType":"YulFunctionCall","src":"30611:21:150"},"nodeType":"YulExpressionStatement","src":"30611:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30652:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30663:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30648:3:150"},"nodeType":"YulFunctionCall","src":"30648:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30668:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30641:6:150"},"nodeType":"YulFunctionCall","src":"30641:30:150"},"nodeType":"YulExpressionStatement","src":"30641:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30691:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30702:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30687:3:150"},"nodeType":"YulFunctionCall","src":"30687:18:150"},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274","kind":"string","nodeType":"YulLiteral","src":"30707:34:150","type":"","value":"Galaxy Member: User has not part"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30680:6:150"},"nodeType":"YulFunctionCall","src":"30680:62:150"},"nodeType":"YulExpressionStatement","src":"30680:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30762:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30773:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30758:3:150"},"nodeType":"YulFunctionCall","src":"30758:18:150"},{"hexValue":"696369706174656420696e20676f7665726e616e6365","kind":"string","nodeType":"YulLiteral","src":"30778:24:150","type":"","value":"icipated in governance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30751:6:150"},"nodeType":"YulFunctionCall","src":"30751:52:150"},"nodeType":"YulExpressionStatement","src":"30751:52:150"},{"nodeType":"YulAssignment","src":"30812:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30824:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30835:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30820:3:150"},"nodeType":"YulFunctionCall","src":"30820:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30812:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30578:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30592:4:150","type":""}],"src":"30427:418:150"},{"body":{"nodeType":"YulBlock","src":"31024:237:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31041:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31052:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31034:6:150"},"nodeType":"YulFunctionCall","src":"31034:21:150"},"nodeType":"YulExpressionStatement","src":"31034:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31075:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31086:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31071:3:150"},"nodeType":"YulFunctionCall","src":"31071:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31091:2:150","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31064:6:150"},"nodeType":"YulFunctionCall","src":"31064:30:150"},"nodeType":"YulExpressionStatement","src":"31064:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31114:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31125:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31110:3:150"},"nodeType":"YulFunctionCall","src":"31110:18:150"},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d757374206265","kind":"string","nodeType":"YulLiteral","src":"31130:34:150","type":"","value":"Galaxy Member: Max level must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31103:6:150"},"nodeType":"YulFunctionCall","src":"31103:62:150"},"nodeType":"YulExpressionStatement","src":"31103:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31185:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31196:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31181:3:150"},"nodeType":"YulFunctionCall","src":"31181:18:150"},{"hexValue":"2067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"31201:17:150","type":"","value":" greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31174:6:150"},"nodeType":"YulFunctionCall","src":"31174:45:150"},"nodeType":"YulExpressionStatement","src":"31174:45:150"},{"nodeType":"YulAssignment","src":"31228:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31240:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31251:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31236:3:150"},"nodeType":"YulFunctionCall","src":"31236:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31228:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31001:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31015:4:150","type":""}],"src":"30850:411:150"},{"body":{"nodeType":"YulBlock","src":"31440:250:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31457:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31468:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31450:6:150"},"nodeType":"YulFunctionCall","src":"31450:21:150"},"nodeType":"YulExpressionStatement","src":"31450:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31491:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31502:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31487:3:150"},"nodeType":"YulFunctionCall","src":"31487:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31507:2:150","type":"","value":"60"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31480:6:150"},"nodeType":"YulFunctionCall","src":"31480:30:150"},"nodeType":"YulExpressionStatement","src":"31480:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31530:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31541:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31526:3:150"},"nodeType":"YulFunctionCall","src":"31526:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f6b656e20616464726573","kind":"string","nodeType":"YulLiteral","src":"31546:34:150","type":"","value":"Galaxy Member: B3TR token addres"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31519:6:150"},"nodeType":"YulFunctionCall","src":"31519:62:150"},"nodeType":"YulExpressionStatement","src":"31519:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31601:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31612:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31597:3:150"},"nodeType":"YulFunctionCall","src":"31597:18:150"},{"hexValue":"732063616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"31617:30:150","type":"","value":"s cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31590:6:150"},"nodeType":"YulFunctionCall","src":"31590:58:150"},"nodeType":"YulExpressionStatement","src":"31590:58:150"},{"nodeType":"YulAssignment","src":"31657:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31669:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31680:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31665:3:150"},"nodeType":"YulFunctionCall","src":"31665:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31657:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31417:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31431:4:150","type":""}],"src":"31266:424:150"},{"body":{"nodeType":"YulBlock","src":"31869:248:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31886:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31897:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31879:6:150"},"nodeType":"YulFunctionCall","src":"31879:21:150"},"nodeType":"YulExpressionStatement","src":"31879:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31920:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31931:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31916:3:150"},"nodeType":"YulFunctionCall","src":"31916:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31936:2:150","type":"","value":"58"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31909:6:150"},"nodeType":"YulFunctionCall","src":"31909:30:150"},"nodeType":"YulExpressionStatement","src":"31909:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31959:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31970:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31955:3:150"},"nodeType":"YulFunctionCall","src":"31955:18:150"},{"hexValue":"47616c617879204d656d6265723a205472656173757279206164647265737320","kind":"string","nodeType":"YulLiteral","src":"31975:34:150","type":"","value":"Galaxy Member: Treasury address "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31948:6:150"},"nodeType":"YulFunctionCall","src":"31948:62:150"},"nodeType":"YulExpressionStatement","src":"31948:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32030:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32041:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32026:3:150"},"nodeType":"YulFunctionCall","src":"32026:18:150"},{"hexValue":"63616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"32046:28:150","type":"","value":"cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32019:6:150"},"nodeType":"YulFunctionCall","src":"32019:56:150"},"nodeType":"YulExpressionStatement","src":"32019:56:150"},{"nodeType":"YulAssignment","src":"32084:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32096:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32107:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32092:3:150"},"nodeType":"YulFunctionCall","src":"32092:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32084:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31846:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31860:4:150","type":""}],"src":"31695:422:150"},{"body":{"nodeType":"YulBlock","src":"32171:79:150","statements":[{"nodeType":"YulAssignment","src":"32181:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"32193:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"32196:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32189:3:150"},"nodeType":"YulFunctionCall","src":"32189:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"32181:4:150"}]},{"body":{"nodeType":"YulBlock","src":"32222:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"32224:16:150"},"nodeType":"YulFunctionCall","src":"32224:18:150"},"nodeType":"YulExpressionStatement","src":"32224:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"32213:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"32219:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"32210:2:150"},"nodeType":"YulFunctionCall","src":"32210:11:150"},"nodeType":"YulIf","src":"32207:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"32153:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"32156:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"32162:4:150","type":""}],"src":"32122:128:150"},{"body":{"nodeType":"YulBlock","src":"32429:296:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32446:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32457:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32439:6:150"},"nodeType":"YulFunctionCall","src":"32439:21:150"},"nodeType":"YulExpressionStatement","src":"32439:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32480:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32491:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32476:3:150"},"nodeType":"YulFunctionCall","src":"32476:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32496:2:150","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32469:6:150"},"nodeType":"YulFunctionCall","src":"32469:30:150"},"nodeType":"YulExpressionStatement","src":"32469:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32519:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32530:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32515:3:150"},"nodeType":"YulFunctionCall","src":"32515:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"32535:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32508:6:150"},"nodeType":"YulFunctionCall","src":"32508:62:150"},"nodeType":"YulExpressionStatement","src":"32508:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32590:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32601:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32586:3:150"},"nodeType":"YulFunctionCall","src":"32586:18:150"},{"hexValue":"7573742062652073657420666f7220616c6c20756e6c6f636b6564206c657665","kind":"string","nodeType":"YulLiteral","src":"32606:34:150","type":"","value":"ust be set for all unlocked leve"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32579:6:150"},"nodeType":"YulFunctionCall","src":"32579:62:150"},"nodeType":"YulExpressionStatement","src":"32579:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32661:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32672:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32657:3:150"},"nodeType":"YulFunctionCall","src":"32657:19:150"},{"hexValue":"6c73","kind":"string","nodeType":"YulLiteral","src":"32678:4:150","type":"","value":"ls"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32650:6:150"},"nodeType":"YulFunctionCall","src":"32650:33:150"},"nodeType":"YulExpressionStatement","src":"32650:33:150"},{"nodeType":"YulAssignment","src":"32692:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32704:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32715:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32700:3:150"},"nodeType":"YulFunctionCall","src":"32700:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32692:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32406:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32420:4:150","type":""}],"src":"32255:470:150"},{"body":{"nodeType":"YulBlock","src":"32904:243:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32921:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32932:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32914:6:150"},"nodeType":"YulFunctionCall","src":"32914:21:150"},"nodeType":"YulExpressionStatement","src":"32914:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32955:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32966:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32951:3:150"},"nodeType":"YulFunctionCall","src":"32951:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32971:2:150","type":"","value":"53"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32944:6:150"},"nodeType":"YulFunctionCall","src":"32944:30:150"},"nodeType":"YulExpressionStatement","src":"32944:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32994:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33005:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32990:3:150"},"nodeType":"YulFunctionCall","src":"32990:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"33010:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32983:6:150"},"nodeType":"YulFunctionCall","src":"32983:62:150"},"nodeType":"YulExpressionStatement","src":"32983:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33065:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33076:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33061:3:150"},"nodeType":"YulFunctionCall","src":"33061:18:150"},{"hexValue":"7573742062652067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"33081:23:150","type":"","value":"ust be greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33054:6:150"},"nodeType":"YulFunctionCall","src":"33054:51:150"},"nodeType":"YulExpressionStatement","src":"33054:51:150"},{"nodeType":"YulAssignment","src":"33114:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33126:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33137:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33122:3:150"},"nodeType":"YulFunctionCall","src":"33122:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33114:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32881:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32895:4:150","type":""}],"src":"32730:417:150"},{"body":{"nodeType":"YulBlock","src":"33326:245:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33343:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33354:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33336:6:150"},"nodeType":"YulFunctionCall","src":"33336:21:150"},"nodeType":"YulExpressionStatement","src":"33336:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33377:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33388:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33373:3:150"},"nodeType":"YulFunctionCall","src":"33373:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33393:2:150","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33366:6:150"},"nodeType":"YulFunctionCall","src":"33366:30:150"},"nodeType":"YulExpressionStatement","src":"33366:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33416:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33427:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33412:3:150"},"nodeType":"YulFunctionCall","src":"33412:18:150"},{"hexValue":"47616c617879204d656d6265723a2041646d696e20616464726573732063616e","kind":"string","nodeType":"YulLiteral","src":"33432:34:150","type":"","value":"Galaxy Member: Admin address can"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33405:6:150"},"nodeType":"YulFunctionCall","src":"33405:62:150"},"nodeType":"YulExpressionStatement","src":"33405:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33487:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33498:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33483:3:150"},"nodeType":"YulFunctionCall","src":"33483:18:150"},{"hexValue":"6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"33503:25:150","type":"","value":"not be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33476:6:150"},"nodeType":"YulFunctionCall","src":"33476:53:150"},"nodeType":"YulExpressionStatement","src":"33476:53:150"},{"nodeType":"YulAssignment","src":"33538:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33550:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33561:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33546:3:150"},"nodeType":"YulFunctionCall","src":"33546:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33538:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33303:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33317:4:150","type":""}],"src":"33152:419:150"},{"body":{"nodeType":"YulBlock","src":"33684:101:150","statements":[{"nodeType":"YulAssignment","src":"33694:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33706:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33717:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33702:3:150"},"nodeType":"YulFunctionCall","src":"33702:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33694:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33736:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33751:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33767:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"33771:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33763:3:150"},"nodeType":"YulFunctionCall","src":"33763:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"33775:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33759:3:150"},"nodeType":"YulFunctionCall","src":"33759:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33747:3:150"},"nodeType":"YulFunctionCall","src":"33747:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33729:6:150"},"nodeType":"YulFunctionCall","src":"33729:50:150"},"nodeType":"YulExpressionStatement","src":"33729:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33653:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33664:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33675:4:150","type":""}],"src":"33576:209:150"},{"body":{"nodeType":"YulBlock","src":"33964:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33981:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33992:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33974:6:150"},"nodeType":"YulFunctionCall","src":"33974:21:150"},"nodeType":"YulExpressionStatement","src":"33974:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34015:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34026:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34011:3:150"},"nodeType":"YulFunctionCall","src":"34011:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34031:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34004:6:150"},"nodeType":"YulFunctionCall","src":"34004:30:150"},"nodeType":"YulExpressionStatement","src":"34004:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34054:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34065:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34050:3:150"},"nodeType":"YulFunctionCall","src":"34050:18:150"},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e","kind":"string","nodeType":"YulLiteral","src":"34070:34:150","type":"","value":"GalaxyMember: _vechainNodes cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34043:6:150"},"nodeType":"YulFunctionCall","src":"34043:62:150"},"nodeType":"YulExpressionStatement","src":"34043:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34125:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34136:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34121:3:150"},"nodeType":"YulFunctionCall","src":"34121:18:150"},{"hexValue":"6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"34141:24:150","type":"","value":"ot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34114:6:150"},"nodeType":"YulFunctionCall","src":"34114:52:150"},"nodeType":"YulExpressionStatement","src":"34114:52:150"},{"nodeType":"YulAssignment","src":"34175:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34187:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34198:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34183:3:150"},"nodeType":"YulFunctionCall","src":"34183:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34175:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33941:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33955:4:150","type":""}],"src":"33790:418:150"},{"body":{"nodeType":"YulBlock","src":"34387:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34404:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34415:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34397:6:150"},"nodeType":"YulFunctionCall","src":"34397:21:150"},"nodeType":"YulExpressionStatement","src":"34397:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34438:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34449:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34434:3:150"},"nodeType":"YulFunctionCall","src":"34434:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34454:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34427:6:150"},"nodeType":"YulFunctionCall","src":"34427:30:150"},"nodeType":"YulExpressionStatement","src":"34427:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34477:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34488:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34473:3:150"},"nodeType":"YulFunctionCall","src":"34473:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578","kind":"string","nodeType":"YulLiteral","src":"34493:34:150","type":"","value":"GalaxyMember: tokenId doesn't ex"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34466:6:150"},"nodeType":"YulFunctionCall","src":"34466:62:150"},"nodeType":"YulExpressionStatement","src":"34466:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34548:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34559:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34544:3:150"},"nodeType":"YulFunctionCall","src":"34544:18:150"},{"hexValue":"697374","kind":"string","nodeType":"YulLiteral","src":"34564:5:150","type":"","value":"ist"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34537:6:150"},"nodeType":"YulFunctionCall","src":"34537:33:150"},"nodeType":"YulExpressionStatement","src":"34537:33:150"},{"nodeType":"YulAssignment","src":"34579:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34591:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34602:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34587:3:150"},"nodeType":"YulFunctionCall","src":"34587:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34579:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34364:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34378:4:150","type":""}],"src":"34213:399:150"},{"body":{"nodeType":"YulBlock","src":"34791:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34808:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34819:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34801:6:150"},"nodeType":"YulFunctionCall","src":"34801:21:150"},"nodeType":"YulExpressionStatement","src":"34801:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34842:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34853:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34838:3:150"},"nodeType":"YulFunctionCall","src":"34838:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34858:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34831:6:150"},"nodeType":"YulFunctionCall","src":"34831:30:150"},"nodeType":"YulExpressionStatement","src":"34831:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34881:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34892:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34877:3:150"},"nodeType":"YulFunctionCall","src":"34877:18:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"34897:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34870:6:150"},"nodeType":"YulFunctionCall","src":"34870:62:150"},"nodeType":"YulExpressionStatement","src":"34870:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34963:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34948:3:150"},"nodeType":"YulFunctionCall","src":"34948:18:150"},{"hexValue":"6f742062652030","kind":"string","nodeType":"YulLiteral","src":"34968:9:150","type":"","value":"ot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34941:6:150"},"nodeType":"YulFunctionCall","src":"34941:37:150"},"nodeType":"YulExpressionStatement","src":"34941:37:150"},{"nodeType":"YulAssignment","src":"34987:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34999:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35010:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34995:3:150"},"nodeType":"YulFunctionCall","src":"34995:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34987:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34768:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34782:4:150","type":""}],"src":"34617:403:150"},{"body":{"nodeType":"YulBlock","src":"35265:274:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35282:3:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"35287:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35275:6:150"},"nodeType":"YulFunctionCall","src":"35275:47:150"},"nodeType":"YulExpressionStatement","src":"35275:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35342:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"35347:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35338:3:150"},"nodeType":"YulFunctionCall","src":"35338:12:150"},{"hexValue":"6f742062652067726561746572207468616e20","kind":"string","nodeType":"YulLiteral","src":"35352:21:150","type":"","value":"ot be greater than "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35331:6:150"},"nodeType":"YulFunctionCall","src":"35331:43:150"},"nodeType":"YulExpressionStatement","src":"35331:43:150"},{"nodeType":"YulVariableDeclaration","src":"35383:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35403:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35397:5:150"},"nodeType":"YulFunctionCall","src":"35397:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"35387:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35458:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"35466:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35454:3:150"},"nodeType":"YulFunctionCall","src":"35454:15:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35475:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"35480:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35471:3:150"},"nodeType":"YulFunctionCall","src":"35471:12:150"},{"name":"length","nodeType":"YulIdentifier","src":"35485:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"35419:34:150"},"nodeType":"YulFunctionCall","src":"35419:73:150"},"nodeType":"YulExpressionStatement","src":"35419:73:150"},{"nodeType":"YulAssignment","src":"35501:32:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35516:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"35521:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35512:3:150"},"nodeType":"YulFunctionCall","src":"35512:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"35530:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35508:3:150"},"nodeType":"YulFunctionCall","src":"35508:25:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"35501:3:150"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"35241:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35246:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"35257:3:150","type":""}],"src":"35025:514:150"},{"body":{"nodeType":"YulBlock","src":"35596:116:150","statements":[{"nodeType":"YulAssignment","src":"35606:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35621:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"35624:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"35617:3:150"},"nodeType":"YulFunctionCall","src":"35617:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"35606:7:150"}]},{"body":{"nodeType":"YulBlock","src":"35684:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"35686:16:150"},"nodeType":"YulFunctionCall","src":"35686:18:150"},"nodeType":"YulExpressionStatement","src":"35686:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35655:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35648:6:150"},"nodeType":"YulFunctionCall","src":"35648:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"35662:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"35669:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"35678:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"35665:3:150"},"nodeType":"YulFunctionCall","src":"35665:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"35659:2:150"},"nodeType":"YulFunctionCall","src":"35659:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"35645:2:150"},"nodeType":"YulFunctionCall","src":"35645:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35638:6:150"},"nodeType":"YulFunctionCall","src":"35638:45:150"},"nodeType":"YulIf","src":"35635:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"35575:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"35578:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"35584:7:150","type":""}],"src":"35544:168:150"},{"body":{"nodeType":"YulBlock","src":"35891:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35908:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35919:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35901:6:150"},"nodeType":"YulFunctionCall","src":"35901:21:150"},"nodeType":"YulExpressionStatement","src":"35901:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35942:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35953:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35938:3:150"},"nodeType":"YulFunctionCall","src":"35938:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35958:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35931:6:150"},"nodeType":"YulFunctionCall","src":"35931:30:150"},"nodeType":"YulExpressionStatement","src":"35931:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35981:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35992:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35977:3:150"},"nodeType":"YulFunctionCall","src":"35977:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e6564206279","kind":"string","nodeType":"YulLiteral","src":"35997:34:150","type":"","value":"GalaxyMember: token not owned by"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35970:6:150"},"nodeType":"YulFunctionCall","src":"35970:62:150"},"nodeType":"YulExpressionStatement","src":"35970:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36052:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36063:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36048:3:150"},"nodeType":"YulFunctionCall","src":"36048:18:150"},{"hexValue":"2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"36068:9:150","type":"","value":" caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36041:6:150"},"nodeType":"YulFunctionCall","src":"36041:37:150"},"nodeType":"YulExpressionStatement","src":"36041:37:150"},{"nodeType":"YulAssignment","src":"36087:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36099:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36110:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36095:3:150"},"nodeType":"YulFunctionCall","src":"36095:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36087:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35868:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35882:4:150","type":""}],"src":"35717:403:150"},{"body":{"nodeType":"YulBlock","src":"36299:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36316:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36327:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36309:6:150"},"nodeType":"YulFunctionCall","src":"36309:21:150"},"nodeType":"YulExpressionStatement","src":"36309:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36350:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36361:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36346:3:150"},"nodeType":"YulFunctionCall","src":"36346:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36366:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36339:6:150"},"nodeType":"YulFunctionCall","src":"36339:30:150"},"nodeType":"YulExpressionStatement","src":"36339:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36389:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36400:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36385:3:150"},"nodeType":"YulFunctionCall","src":"36385:18:150"},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f","kind":"string","nodeType":"YulLiteral","src":"36405:34:150","type":"","value":"GalaxyMember: vechain node not o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36378:6:150"},"nodeType":"YulFunctionCall","src":"36378:62:150"},"nodeType":"YulExpressionStatement","src":"36378:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36460:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36471:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36456:3:150"},"nodeType":"YulFunctionCall","src":"36456:18:150"},{"hexValue":"776e6564206f72206d616e616765642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"36476:27:150","type":"","value":"wned or managed by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36449:6:150"},"nodeType":"YulFunctionCall","src":"36449:55:150"},"nodeType":"YulExpressionStatement","src":"36449:55:150"},{"nodeType":"YulAssignment","src":"36513:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36525:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36536:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36521:3:150"},"nodeType":"YulFunctionCall","src":"36521:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36513:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36276:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36290:4:150","type":""}],"src":"36125:421:150"},{"body":{"nodeType":"YulBlock","src":"36725:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36742:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36753:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36735:6:150"},"nodeType":"YulFunctionCall","src":"36735:21:150"},"nodeType":"YulExpressionStatement","src":"36735:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36776:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36787:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36772:3:150"},"nodeType":"YulFunctionCall","src":"36772:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36792:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36765:6:150"},"nodeType":"YulFunctionCall","src":"36765:30:150"},"nodeType":"YulExpressionStatement","src":"36765:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36815:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36826:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36811:3:150"},"nodeType":"YulFunctionCall","src":"36811:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c7265616479206174746163","kind":"string","nodeType":"YulLiteral","src":"36831:34:150","type":"","value":"GalaxyMember: node already attac"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36804:6:150"},"nodeType":"YulFunctionCall","src":"36804:62:150"},"nodeType":"YulExpressionStatement","src":"36804:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36886:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36897:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36882:3:150"},"nodeType":"YulFunctionCall","src":"36882:18:150"},{"hexValue":"68656420746f206120746f6b656e","kind":"string","nodeType":"YulLiteral","src":"36902:16:150","type":"","value":"hed to a token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36875:6:150"},"nodeType":"YulFunctionCall","src":"36875:44:150"},"nodeType":"YulExpressionStatement","src":"36875:44:150"},{"nodeType":"YulAssignment","src":"36928:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36940:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36951:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36936:3:150"},"nodeType":"YulFunctionCall","src":"36936:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36928:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36702:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36716:4:150","type":""}],"src":"36551:410:150"},{"body":{"nodeType":"YulBlock","src":"37140:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37157:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37168:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37150:6:150"},"nodeType":"YulFunctionCall","src":"37150:21:150"},"nodeType":"YulExpressionStatement","src":"37150:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37191:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37202:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37187:3:150"},"nodeType":"YulFunctionCall","src":"37187:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37207:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37180:6:150"},"nodeType":"YulFunctionCall","src":"37180:30:150"},"nodeType":"YulExpressionStatement","src":"37180:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37230:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37241:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37226:3:150"},"nodeType":"YulFunctionCall","src":"37226:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c72656164792061747461","kind":"string","nodeType":"YulLiteral","src":"37246:34:150","type":"","value":"GalaxyMember: token already atta"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37219:6:150"},"nodeType":"YulFunctionCall","src":"37219:62:150"},"nodeType":"YulExpressionStatement","src":"37219:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37301:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37312:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37297:3:150"},"nodeType":"YulFunctionCall","src":"37297:18:150"},{"hexValue":"6368656420746f2061206e6f6465","kind":"string","nodeType":"YulLiteral","src":"37317:16:150","type":"","value":"ched to a node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37290:6:150"},"nodeType":"YulFunctionCall","src":"37290:44:150"},"nodeType":"YulExpressionStatement","src":"37290:44:150"},{"nodeType":"YulAssignment","src":"37343:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37355:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37366:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37351:3:150"},"nodeType":"YulFunctionCall","src":"37351:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37343:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37117:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37131:4:150","type":""}],"src":"36966:410:150"},{"body":{"nodeType":"YulBlock","src":"37555:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37572:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37583:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37565:6:150"},"nodeType":"YulFunctionCall","src":"37565:21:150"},"nodeType":"YulExpressionStatement","src":"37565:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37606:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37617:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37602:3:150"},"nodeType":"YulFunctionCall","src":"37602:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37622:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37595:6:150"},"nodeType":"YulFunctionCall","src":"37595:30:150"},"nodeType":"YulExpressionStatement","src":"37595:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37645:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37656:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37641:3:150"},"nodeType":"YulFunctionCall","src":"37641:18:150"},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67","kind":"string","nodeType":"YulLiteral","src":"37661:34:150","type":"","value":"Galaxy Member: XAllocationVoting"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37634:6:150"},"nodeType":"YulFunctionCall","src":"37634:62:150"},"nodeType":"YulExpressionStatement","src":"37634:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37716:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37727:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37712:3:150"},"nodeType":"YulFunctionCall","src":"37712:18:150"},{"hexValue":"476f7665726e6f72206e6f7420736574","kind":"string","nodeType":"YulLiteral","src":"37732:18:150","type":"","value":"Governor not set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37705:6:150"},"nodeType":"YulFunctionCall","src":"37705:46:150"},"nodeType":"YulExpressionStatement","src":"37705:46:150"},{"nodeType":"YulAssignment","src":"37760:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37772:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37783:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37768:3:150"},"nodeType":"YulFunctionCall","src":"37768:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37760:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37532:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37546:4:150","type":""}],"src":"37381:412:150"},{"body":{"nodeType":"YulBlock","src":"37972:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37989:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38000:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37982:6:150"},"nodeType":"YulFunctionCall","src":"37982:21:150"},"nodeType":"YulExpressionStatement","src":"37982:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38023:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38034:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38019:3:150"},"nodeType":"YulFunctionCall","src":"38019:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38039:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38012:6:150"},"nodeType":"YulFunctionCall","src":"38012:30:150"},"nodeType":"YulExpressionStatement","src":"38012:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38062:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38073:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38058:3:150"},"nodeType":"YulFunctionCall","src":"38058:18:150"},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420","kind":"string","nodeType":"YulLiteral","src":"38078:34:150","type":"","value":"Galaxy Member: B3TRGovernor not "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38051:6:150"},"nodeType":"YulFunctionCall","src":"38051:62:150"},"nodeType":"YulExpressionStatement","src":"38051:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38133:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38144:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38129:3:150"},"nodeType":"YulFunctionCall","src":"38129:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"38149:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38122:6:150"},"nodeType":"YulFunctionCall","src":"38122:33:150"},"nodeType":"YulExpressionStatement","src":"38122:33:150"},{"nodeType":"YulAssignment","src":"38164:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38176:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38187:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38172:3:150"},"nodeType":"YulFunctionCall","src":"38172:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38164:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37949:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37963:4:150","type":""}],"src":"37798:399:150"},{"body":{"nodeType":"YulBlock","src":"38353:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"38363:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"38373:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"38367:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38384:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38402:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38413:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38398:3:150"},"nodeType":"YulFunctionCall","src":"38398:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"38388:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38432:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38443:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38425:6:150"},"nodeType":"YulFunctionCall","src":"38425:21:150"},"nodeType":"YulExpressionStatement","src":"38425:21:150"},{"nodeType":"YulVariableDeclaration","src":"38455:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"38466:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"38459:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38481:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38501:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38495:5:150"},"nodeType":"YulFunctionCall","src":"38495:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"38485:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"38524:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"38532:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38517:6:150"},"nodeType":"YulFunctionCall","src":"38517:22:150"},"nodeType":"YulExpressionStatement","src":"38517:22:150"},{"nodeType":"YulAssignment","src":"38548:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38559:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38570:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38555:3:150"},"nodeType":"YulFunctionCall","src":"38555:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"38548:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"38582:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38600:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38608:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38596:3:150"},"nodeType":"YulFunctionCall","src":"38596:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"38586:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"38620:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"38629:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"38624:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"38688:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38709:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38720:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38714:5:150"},"nodeType":"YulFunctionCall","src":"38714:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38702:6:150"},"nodeType":"YulFunctionCall","src":"38702:26:150"},"nodeType":"YulExpressionStatement","src":"38702:26:150"},{"nodeType":"YulAssignment","src":"38741:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38752:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38757:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38748:3:150"},"nodeType":"YulFunctionCall","src":"38748:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"38741:3:150"}]},{"nodeType":"YulAssignment","src":"38773:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38787:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38795:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38783:3:150"},"nodeType":"YulFunctionCall","src":"38783:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"38773:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"38650:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"38653:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"38647:2:150"},"nodeType":"YulFunctionCall","src":"38647:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"38661:18:150","statements":[{"nodeType":"YulAssignment","src":"38663:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"38672:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"38675:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38668:3:150"},"nodeType":"YulFunctionCall","src":"38668:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"38663:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"38643:3:150","statements":[]},"src":"38639:169:150"},{"nodeType":"YulAssignment","src":"38817:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"38825:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38817:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38322:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38333:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38344:4:150","type":""}],"src":"38202:632:150"},{"body":{"nodeType":"YulBlock","src":"39013:246:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39030:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39041:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39023:6:150"},"nodeType":"YulFunctionCall","src":"39023:21:150"},"nodeType":"YulExpressionStatement","src":"39023:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39064:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39075:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39060:3:150"},"nodeType":"YulFunctionCall","src":"39060:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39080:2:150","type":"","value":"56"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39053:6:150"},"nodeType":"YulFunctionCall","src":"39053:30:150"},"nodeType":"YulExpressionStatement","src":"39053:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39103:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39114:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39099:3:150"},"nodeType":"YulFunctionCall","src":"39099:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520","kind":"string","nodeType":"YulLiteral","src":"39119:34:150","type":"","value":"GalaxyMember: invalid node free "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39092:6:150"},"nodeType":"YulFunctionCall","src":"39092:62:150"},"nodeType":"YulExpressionStatement","src":"39092:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39174:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39185:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39170:3:150"},"nodeType":"YulFunctionCall","src":"39170:18:150"},{"hexValue":"6c6576656c732e204d7573742062652037206c6576656c73","kind":"string","nodeType":"YulLiteral","src":"39190:26:150","type":"","value":"levels. Must be 7 levels"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39163:6:150"},"nodeType":"YulFunctionCall","src":"39163:54:150"},"nodeType":"YulExpressionStatement","src":"39163:54:150"},{"nodeType":"YulAssignment","src":"39226:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39238:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39249:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39234:3:150"},"nodeType":"YulFunctionCall","src":"39234:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39226:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38990:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39004:4:150","type":""}],"src":"38839:420:150"},{"body":{"nodeType":"YulBlock","src":"39438:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39455:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39466:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39448:6:150"},"nodeType":"YulFunctionCall","src":"39448:21:150"},"nodeType":"YulExpressionStatement","src":"39448:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39489:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39500:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39485:3:150"},"nodeType":"YulFunctionCall","src":"39485:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39505:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39478:6:150"},"nodeType":"YulFunctionCall","src":"39478:30:150"},"nodeType":"YulExpressionStatement","src":"39478:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39528:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39539:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39524:3:150"},"nodeType":"YulFunctionCall","src":"39524:18:150"},{"hexValue":"47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063","kind":"string","nodeType":"YulLiteral","src":"39544:34:150","type":"","value":"GalaxyMember: _nodesMangaement c"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39517:6:150"},"nodeType":"YulFunctionCall","src":"39517:62:150"},"nodeType":"YulExpressionStatement","src":"39517:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39599:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39610:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39595:3:150"},"nodeType":"YulFunctionCall","src":"39595:18:150"},{"hexValue":"616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"39615:27:150","type":"","value":"annot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39588:6:150"},"nodeType":"YulFunctionCall","src":"39588:55:150"},"nodeType":"YulExpressionStatement","src":"39588:55:150"},{"nodeType":"YulAssignment","src":"39652:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39664:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39675:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39660:3:150"},"nodeType":"YulFunctionCall","src":"39660:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39652:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39415:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39429:4:150","type":""}],"src":"39264:421:150"},{"body":{"nodeType":"YulBlock","src":"39864:227:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39881:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39892:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39874:6:150"},"nodeType":"YulFunctionCall","src":"39874:21:150"},"nodeType":"YulExpressionStatement","src":"39874:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39915:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39926:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39911:3:150"},"nodeType":"YulFunctionCall","src":"39911:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39931:2:150","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39904:6:150"},"nodeType":"YulFunctionCall","src":"39904:30:150"},"nodeType":"YulExpressionStatement","src":"39904:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39954:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39965:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39950:3:150"},"nodeType":"YulFunctionCall","src":"39950:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520","kind":"string","nodeType":"YulLiteral","src":"39970:34:150","type":"","value":"GalaxyMember: invalid node free "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39943:6:150"},"nodeType":"YulFunctionCall","src":"39943:62:150"},"nodeType":"YulExpressionStatement","src":"39943:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40025:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40036:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40021:3:150"},"nodeType":"YulFunctionCall","src":"40021:18:150"},{"hexValue":"6c6576656c","kind":"string","nodeType":"YulLiteral","src":"40041:7:150","type":"","value":"level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40014:6:150"},"nodeType":"YulFunctionCall","src":"40014:35:150"},"nodeType":"YulExpressionStatement","src":"40014:35:150"},{"nodeType":"YulAssignment","src":"40058:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40070:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40081:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40066:3:150"},"nodeType":"YulFunctionCall","src":"40066:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40058:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39841:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39855:4:150","type":""}],"src":"39690:401:150"},{"body":{"nodeType":"YulBlock","src":"40141:130:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40151:31:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"40170:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"40177:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"40166:3:150"},"nodeType":"YulFunctionCall","src":"40166:16:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"40155:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40212:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"40214:16:150"},"nodeType":"YulFunctionCall","src":"40214:18:150"},"nodeType":"YulExpressionStatement","src":"40214:18:150"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"40197:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"40206:4:150","type":"","value":"0xff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"40194:2:150"},"nodeType":"YulFunctionCall","src":"40194:17:150"},"nodeType":"YulIf","src":"40191:43:150"},{"nodeType":"YulAssignment","src":"40243:22:150","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"40254:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"40263:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40250:3:150"},"nodeType":"YulFunctionCall","src":"40250:15:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"40243:3:150"}]}]},"name":"increment_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"40123:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"40133:3:150","type":""}],"src":"40096:175:150"},{"body":{"nodeType":"YulBlock","src":"40375:101:150","statements":[{"nodeType":"YulAssignment","src":"40385:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40397:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40408:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40393:3:150"},"nodeType":"YulFunctionCall","src":"40393:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40385:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40427:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40442:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40458:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"40462:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40454:3:150"},"nodeType":"YulFunctionCall","src":"40454:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"40466:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"40450:3:150"},"nodeType":"YulFunctionCall","src":"40450:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"40438:3:150"},"nodeType":"YulFunctionCall","src":"40438:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40420:6:150"},"nodeType":"YulFunctionCall","src":"40420:50:150"},"nodeType":"YulExpressionStatement","src":"40420:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40344:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40355:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40366:4:150","type":""}],"src":"40276:200:150"},{"body":{"nodeType":"YulBlock","src":"40758:375:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40768:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40788:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40782:5:150"},"nodeType":"YulFunctionCall","src":"40782:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"40772:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40843:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"40851:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40839:3:150"},"nodeType":"YulFunctionCall","src":"40839:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"40858:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40863:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"40804:34:150"},"nodeType":"YulFunctionCall","src":"40804:66:150"},"nodeType":"YulExpressionStatement","src":"40804:66:150"},{"nodeType":"YulVariableDeclaration","src":"40879:29:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40896:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40901:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40892:3:150"},"nodeType":"YulFunctionCall","src":"40892:16:150"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"40883:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"40917:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"40939:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40933:5:150"},"nodeType":"YulFunctionCall","src":"40933:13:150"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"40921:8:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"40994:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"41002:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40990:3:150"},"nodeType":"YulFunctionCall","src":"40990:17:150"},{"name":"end_1","nodeType":"YulIdentifier","src":"41009:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"41016:8:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"40955:34:150"},"nodeType":"YulFunctionCall","src":"40955:70:150"},"nodeType":"YulExpressionStatement","src":"40955:70:150"},{"nodeType":"YulVariableDeclaration","src":"41034:33:150","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"41051:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"41058:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41047:3:150"},"nodeType":"YulFunctionCall","src":"41047:20:150"},"variables":[{"name":"end_2","nodeType":"YulTypedName","src":"41038:5:150","type":""}]},{"expression":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"41083:5:150"},{"hexValue":"2e6a736f6e","kind":"string","nodeType":"YulLiteral","src":"41090:7:150","type":"","value":".json"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41076:6:150"},"nodeType":"YulFunctionCall","src":"41076:22:150"},"nodeType":"YulExpressionStatement","src":"41076:22:150"},{"nodeType":"YulAssignment","src":"41107:20:150","value":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"41118:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"41125:1:150","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41114:3:150"},"nodeType":"YulFunctionCall","src":"41114:13:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"41107:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"40726:3:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"40731:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40739:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"40750:3:150","type":""}],"src":"40481:652:150"},{"body":{"nodeType":"YulBlock","src":"41312:245:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41329:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41340:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41322:6:150"},"nodeType":"YulFunctionCall","src":"41322:21:150"},"nodeType":"YulExpressionStatement","src":"41322:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41363:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41374:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41359:3:150"},"nodeType":"YulFunctionCall","src":"41359:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"41379:2:150","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41352:6:150"},"nodeType":"YulFunctionCall","src":"41352:30:150"},"nodeType":"YulExpressionStatement","src":"41352:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41402:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41413:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41398:3:150"},"nodeType":"YulFunctionCall","src":"41398:18:150"},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e","kind":"string","nodeType":"YulLiteral","src":"41418:34:150","type":"","value":"Galaxy Member: _b3trGovernor can"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41391:6:150"},"nodeType":"YulFunctionCall","src":"41391:62:150"},"nodeType":"YulExpressionStatement","src":"41391:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41473:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41484:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41469:3:150"},"nodeType":"YulFunctionCall","src":"41469:18:150"},{"hexValue":"6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"41489:25:150","type":"","value":"not be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41462:6:150"},"nodeType":"YulFunctionCall","src":"41462:53:150"},"nodeType":"YulExpressionStatement","src":"41462:53:150"},{"nodeType":"YulAssignment","src":"41524:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41536:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41547:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41532:3:150"},"nodeType":"YulFunctionCall","src":"41532:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41524:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41289:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41303:4:150","type":""}],"src":"41138:419:150"},{"body":{"nodeType":"YulBlock","src":"41736:252:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41753:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41764:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41746:6:150"},"nodeType":"YulFunctionCall","src":"41746:21:150"},"nodeType":"YulExpressionStatement","src":"41746:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41787:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41798:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41783:3:150"},"nodeType":"YulFunctionCall","src":"41783:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"41803:2:150","type":"","value":"62"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41776:6:150"},"nodeType":"YulFunctionCall","src":"41776:30:150"},"nodeType":"YulExpressionStatement","src":"41776:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41826:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41837:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41822:3:150"},"nodeType":"YulFunctionCall","src":"41822:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f20","kind":"string","nodeType":"YulLiteral","src":"41842:34:150","type":"","value":"GalaxyMember: token attached to "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41815:6:150"},"nodeType":"YulFunctionCall","src":"41815:62:150"},"nodeType":"YulExpressionStatement","src":"41815:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41897:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41908:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41893:3:150"},"nodeType":"YulFunctionCall","src":"41893:18:150"},{"hexValue":"61206e6f64652c20646574616368206265666f7265207472616e73666572","kind":"string","nodeType":"YulLiteral","src":"41913:32:150","type":"","value":"a node, detach before transfer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41886:6:150"},"nodeType":"YulFunctionCall","src":"41886:60:150"},"nodeType":"YulExpressionStatement","src":"41886:60:150"},{"nodeType":"YulAssignment","src":"41955:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41978:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41963:3:150"},"nodeType":"YulFunctionCall","src":"41963:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41955:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41713:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41727:4:150","type":""}],"src":"41562:426:150"},{"body":{"nodeType":"YulBlock","src":"42074:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"42120:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42129:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42132:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42122:6:150"},"nodeType":"YulFunctionCall","src":"42122:12:150"},"nodeType":"YulExpressionStatement","src":"42122:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"42095:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"42104:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42091:3:150"},"nodeType":"YulFunctionCall","src":"42091:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"42116:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42087:3:150"},"nodeType":"YulFunctionCall","src":"42087:32:150"},"nodeType":"YulIf","src":"42084:52:150"},{"nodeType":"YulAssignment","src":"42145:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42161:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"42155:5:150"},"nodeType":"YulFunctionCall","src":"42155:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"42145:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42040:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"42051:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"42063:6:150","type":""}],"src":"41993:184:150"},{"body":{"nodeType":"YulBlock","src":"42214:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42231:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42238:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"42243:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42234:3:150"},"nodeType":"YulFunctionCall","src":"42234:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42224:6:150"},"nodeType":"YulFunctionCall","src":"42224:31:150"},"nodeType":"YulExpressionStatement","src":"42224:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42271:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"42274:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42264:6:150"},"nodeType":"YulFunctionCall","src":"42264:15:150"},"nodeType":"YulExpressionStatement","src":"42264:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42295:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42298:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42288:6:150"},"nodeType":"YulFunctionCall","src":"42288:15:150"},"nodeType":"YulExpressionStatement","src":"42288:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"42182:127:150"},{"body":{"nodeType":"YulBlock","src":"42517:286:150","statements":[{"nodeType":"YulVariableDeclaration","src":"42527:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42545:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"42550:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42541:3:150"},"nodeType":"YulFunctionCall","src":"42541:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"42554:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42537:3:150"},"nodeType":"YulFunctionCall","src":"42537:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"42531:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42572:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42587:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"42595:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42583:3:150"},"nodeType":"YulFunctionCall","src":"42583:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42565:6:150"},"nodeType":"YulFunctionCall","src":"42565:34:150"},"nodeType":"YulExpressionStatement","src":"42565:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42619:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42630:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42615:3:150"},"nodeType":"YulFunctionCall","src":"42615:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"42639:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"42647:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42635:3:150"},"nodeType":"YulFunctionCall","src":"42635:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42608:6:150"},"nodeType":"YulFunctionCall","src":"42608:43:150"},"nodeType":"YulExpressionStatement","src":"42608:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42671:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42682:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42667:3:150"},"nodeType":"YulFunctionCall","src":"42667:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"42687:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42660:6:150"},"nodeType":"YulFunctionCall","src":"42660:34:150"},"nodeType":"YulExpressionStatement","src":"42660:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42714:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42725:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42710:3:150"},"nodeType":"YulFunctionCall","src":"42710:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"42730:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42703:6:150"},"nodeType":"YulFunctionCall","src":"42703:31:150"},"nodeType":"YulExpressionStatement","src":"42703:31:150"},{"nodeType":"YulAssignment","src":"42743:54:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"42769:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42781:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42792:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42777:3:150"},"nodeType":"YulFunctionCall","src":"42777:19:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"42751:17:150"},"nodeType":"YulFunctionCall","src":"42751:46:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42743:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42462:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"42473:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"42481:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42489:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42497:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42508:4:150","type":""}],"src":"42314:489:150"},{"body":{"nodeType":"YulBlock","src":"42888:169:150","statements":[{"body":{"nodeType":"YulBlock","src":"42934:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42943:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42946:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42936:6:150"},"nodeType":"YulFunctionCall","src":"42936:12:150"},"nodeType":"YulExpressionStatement","src":"42936:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"42909:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"42918:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42905:3:150"},"nodeType":"YulFunctionCall","src":"42905:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"42930:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42901:3:150"},"nodeType":"YulFunctionCall","src":"42901:32:150"},"nodeType":"YulIf","src":"42898:52:150"},{"nodeType":"YulVariableDeclaration","src":"42959:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42978:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"42972:5:150"},"nodeType":"YulFunctionCall","src":"42972:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"42963:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"43021:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"42997:23:150"},"nodeType":"YulFunctionCall","src":"42997:30:150"},"nodeType":"YulExpressionStatement","src":"42997:30:150"},{"nodeType":"YulAssignment","src":"43036:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"43046:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"43036:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42854:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"42865:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"42877:6:150","type":""}],"src":"42808:249:150"},{"body":{"nodeType":"YulBlock","src":"43191:145:150","statements":[{"nodeType":"YulAssignment","src":"43201:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43213:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43224:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43209:3:150"},"nodeType":"YulFunctionCall","src":"43209:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43201:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43243:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"43258:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43274:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"43279:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43270:3:150"},"nodeType":"YulFunctionCall","src":"43270:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"43283:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"43266:3:150"},"nodeType":"YulFunctionCall","src":"43266:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43254:3:150"},"nodeType":"YulFunctionCall","src":"43254:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43236:6:150"},"nodeType":"YulFunctionCall","src":"43236:51:150"},"nodeType":"YulExpressionStatement","src":"43236:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43307:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43318:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43303:3:150"},"nodeType":"YulFunctionCall","src":"43303:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"43323:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43296:6:150"},"nodeType":"YulFunctionCall","src":"43296:34:150"},"nodeType":"YulExpressionStatement","src":"43296:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43152:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"43163:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43171:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43182:4:150","type":""}],"src":"43062:274:150"},{"body":{"nodeType":"YulBlock","src":"43478:130:150","statements":[{"nodeType":"YulAssignment","src":"43488:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43500:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43511:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43496:3:150"},"nodeType":"YulFunctionCall","src":"43496:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43488:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43530:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"43545:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"43553:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43541:3:150"},"nodeType":"YulFunctionCall","src":"43541:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43523:6:150"},"nodeType":"YulFunctionCall","src":"43523:36:150"},"nodeType":"YulExpressionStatement","src":"43523:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43579:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43590:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43575:3:150"},"nodeType":"YulFunctionCall","src":"43575:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"43595:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43568:6:150"},"nodeType":"YulFunctionCall","src":"43568:34:150"},"nodeType":"YulExpressionStatement","src":"43568:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43439:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"43450:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43458:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43469:4:150","type":""}],"src":"43341:267:150"},{"body":{"nodeType":"YulBlock","src":"43749:130:150","statements":[{"nodeType":"YulAssignment","src":"43759:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43771:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43782:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43767:3:150"},"nodeType":"YulFunctionCall","src":"43767:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43759:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43801:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"43816:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"43824:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43812:3:150"},"nodeType":"YulFunctionCall","src":"43812:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43794:6:150"},"nodeType":"YulFunctionCall","src":"43794:36:150"},"nodeType":"YulExpressionStatement","src":"43794:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43850:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43861:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43846:3:150"},"nodeType":"YulFunctionCall","src":"43846:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"43866:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43839:6:150"},"nodeType":"YulFunctionCall","src":"43839:34:150"},"nodeType":"YulExpressionStatement","src":"43839:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43710:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"43721:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43729:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43740:4:150","type":""}],"src":"43613:266:150"},{"body":{"nodeType":"YulBlock","src":"43930:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"43961:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43982:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43989:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"43994:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43985:3:150"},"nodeType":"YulFunctionCall","src":"43985:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43975:6:150"},"nodeType":"YulFunctionCall","src":"43975:31:150"},"nodeType":"YulExpressionStatement","src":"43975:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44026:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"44029:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44019:6:150"},"nodeType":"YulFunctionCall","src":"44019:15:150"},"nodeType":"YulExpressionStatement","src":"44019:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44054:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"44057:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"44047:6:150"},"nodeType":"YulFunctionCall","src":"44047:15:150"},"nodeType":"YulExpressionStatement","src":"44047:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43950:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"43943:6:150"},"nodeType":"YulFunctionCall","src":"43943:9:150"},"nodeType":"YulIf","src":"43940:132:150"},{"nodeType":"YulAssignment","src":"44081:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"44090:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"44093:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"44086:3:150"},"nodeType":"YulFunctionCall","src":"44086:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"44081:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"43915:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"43918:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"43924:1:150","type":""}],"src":"43884:217:150"},{"body":{"nodeType":"YulBlock","src":"44243:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"44253:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"44273:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44267:5:150"},"nodeType":"YulFunctionCall","src":"44267:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"44257:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"44328:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"44336:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44324:3:150"},"nodeType":"YulFunctionCall","src":"44324:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"44343:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"44348:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"44289:34:150"},"nodeType":"YulFunctionCall","src":"44289:66:150"},"nodeType":"YulExpressionStatement","src":"44289:66:150"},{"nodeType":"YulAssignment","src":"44364:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44375:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"44380:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44371:3:150"},"nodeType":"YulFunctionCall","src":"44371:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"44364:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"44219:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"44224:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"44235:3:150","type":""}],"src":"44106:287:150"},{"body":{"nodeType":"YulBlock","src":"44430:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44447:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44454:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"44459:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"44450:3:150"},"nodeType":"YulFunctionCall","src":"44450:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44440:6:150"},"nodeType":"YulFunctionCall","src":"44440:31:150"},"nodeType":"YulExpressionStatement","src":"44440:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44487:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"44490:4:150","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44480:6:150"},"nodeType":"YulFunctionCall","src":"44480:15:150"},"nodeType":"YulExpressionStatement","src":"44480:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44511:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"44514:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"44504:6:150"},"nodeType":"YulFunctionCall","src":"44504:15:150"},"nodeType":"YulExpressionStatement","src":"44504:15:150"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"44398:127:150"}]},"contents":"{\n    { }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint8t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function validator_revert_bytes4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        if iszero(eq(value_1, and(value_1, 0xffffffffffff))) { revert(0, 0) }\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_6084() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0x0180)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let _3 := shl(5, _1)\n        let dst := allocate_memory(add(_3, _2))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, _3), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_struct$_InitializationData_$36509_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x0180) { revert(0, 0) }\n        let value := allocate_memory_6084()\n        let offset_1 := calldataload(_2)\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(value, abi_decode_bytes(add(_2, offset_1), dataEnd))\n        let offset_2 := calldataload(add(_2, 32))\n        if gt(offset_2, _1) { revert(0, 0) }\n        mstore(add(value, 32), abi_decode_bytes(add(_2, offset_2), dataEnd))\n        mstore(add(value, 64), abi_decode_address(add(_2, 64)))\n        mstore(add(value, 96), abi_decode_address(add(_2, 96)))\n        mstore(add(value, 128), abi_decode_address(add(_2, 128)))\n        mstore(add(value, 160), abi_decode_address(add(_2, 160)))\n        mstore(add(value, 192), abi_decode_address(add(_2, 192)))\n        mstore(add(value, 224), calldataload(add(_2, 224)))\n        let _3 := 256\n        let offset_3 := calldataload(add(_2, _3))\n        if gt(offset_3, _1) { revert(0, 0) }\n        mstore(add(value, _3), abi_decode_bytes(add(_2, offset_3), dataEnd))\n        let _4 := 288\n        let offset_4 := calldataload(add(_2, _4))\n        if gt(offset_4, _1) { revert(0, 0) }\n        mstore(add(value, _4), abi_decode_array_uint256_dyn(add(_2, offset_4), dataEnd))\n        let _5 := 320\n        mstore(add(value, _5), abi_decode_address(add(_2, _5)))\n        let _6 := 352\n        mstore(add(value, _6), abi_decode_address(add(_2, _6)))\n        value0 := value\n    }\n    function abi_encode_struct_TokenInfo(value, pos) -> end\n    {\n        mstore(pos, mload(value))\n        let memberValue0 := mload(add(value, 0x20))\n        mstore(add(pos, 0x20), 0x80)\n        let tail := abi_encode_string(memberValue0, add(pos, 0x80))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n        mstore(add(pos, 0x60), mload(add(value, 0x60)))\n        end := tail\n    }\n    function abi_encode_tuple_t_struct$_TokenInfo_$38236_memory_ptr__to_t_struct$_TokenInfo_$38236_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_TokenInfo(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$38236_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_struct_TokenInfo(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_bool(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        let value_2 := calldataload(add(headStart, 64))\n        validator_revert_address(value_2)\n        value2 := value_2\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 27)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"GalaxyMember: level must be less\")\n        mstore(add(headStart, 96), \" than or equal to MAX_LEVEL\")\n        tail := add(headStart, 128)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, _1))\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 67)\n        mstore(add(headStart, 64), \"Galaxy Member: Max level must be\")\n        mstore(add(headStart, 96), \" greater than the current max le\")\n        mstore(add(headStart, 128), \"vel\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 66)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be set for all levels unlock\")\n        mstore(add(headStart, 128), \"ed\")\n        tail := add(headStart, 160)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"Galaxy Member: _xAllocationsGove\")\n        mstore(add(headStart, 96), \"rnor cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_uint64_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, sub(shl(64, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_uint8t_boolt_boolt_uint64t_uint64t_uint64_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n    {\n        if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint8(value_1)\n        value1 := value_1\n        let value_2 := mload(add(headStart, 64))\n        validator_revert_bool(value_2)\n        value2 := value_2\n        let value_3 := mload(add(headStart, 96))\n        validator_revert_bool(value_3)\n        value3 := value_3\n        value4 := abi_decode_uint64_fromMemory(add(headStart, 128))\n        value5 := abi_decode_uint64_fromMemory(add(headStart, 160))\n        value6 := abi_decode_uint64_fromMemory(add(headStart, 192))\n    }\n    function abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: caller is not the\")\n        mstore(add(headStart, 96), \" owner of the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: you must own the \")\n        mstore(add(headStart, 96), \"Token to upgrade it\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"Galaxy Member: Token is already \")\n        mstore(add(headStart, 96), \"at max level\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient bala\")\n        mstore(add(headStart, 96), \"nce to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient allo\")\n        mstore(add(headStart, 96), \"wance to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"GalaxyMember: Transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 86)\n        mstore(add(headStart, 64), \"GalaxyMember: vechain node not o\")\n        mstore(add(headStart, 96), \"wned or managed by caller or tok\")\n        mstore(add(headStart, 128), \"en not owned by caller\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: node not attached \")\n        mstore(add(headStart, 96), \"to the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: token not attached\")\n        mstore(add(headStart, 96), \" to the node\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: Base URI must be \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let ret := 0\n        let slotValue := sload(value0)\n        let length := extract_byte_array_length(slotValue)\n        let _1 := 1\n        switch and(slotValue, _1)\n        case 0 {\n            mstore(pos, and(slotValue, not(255)))\n            ret := add(pos, mul(length, iszero(iszero(length))))\n        }\n        case 1 {\n            mstore(0, value0)\n            let _2 := 0x20\n            let dataPos := keccak256(0, _2)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _2) }\n            {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, _1)\n            }\n            ret := add(pos, length)\n        }\n        end := ret\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := srcOffset_1\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"Galaxy Member: Public minting is\")\n        mstore(add(headStart, 96), \" paused\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"Galaxy Member: User has not part\")\n        mstore(add(headStart, 96), \"icipated in governance\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 47)\n        mstore(add(headStart, 64), \"Galaxy Member: Max level must be\")\n        mstore(add(headStart, 96), \" greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 60)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR token addres\")\n        mstore(add(headStart, 96), \"s cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 58)\n        mstore(add(headStart, 64), \"Galaxy Member: Treasury address \")\n        mstore(add(headStart, 96), \"cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 66)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be set for all unlocked leve\")\n        mstore(add(headStart, 128), \"ls\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 53)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 55)\n        mstore(add(headStart, 64), \"Galaxy Member: Admin address can\")\n        mstore(add(headStart, 96), \"not be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"GalaxyMember: _vechainNodes cann\")\n        mstore(add(headStart, 96), \"ot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"GalaxyMember: tokenId doesn't ex\")\n        mstore(add(headStart, 96), \"ist\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: Invalid size, cann\")\n        mstore(add(headStart, 96), \"ot be 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"GalaxyMember: Invalid size, cann\")\n        mstore(add(pos, 32), \"ot be greater than \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(pos, 51), length)\n        end := add(add(pos, length), 51)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: token not owned by\")\n        mstore(add(headStart, 96), \" caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GalaxyMember: vechain node not o\")\n        mstore(add(headStart, 96), \"wned or managed by caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: node already attac\")\n        mstore(add(headStart, 96), \"hed to a token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: token already atta\")\n        mstore(add(headStart, 96), \"ched to a node\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: XAllocationVoting\")\n        mstore(add(headStart, 96), \"Governor not set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TRGovernor not \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 56)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node free \")\n        mstore(add(headStart, 96), \"levels. Must be 7 levels\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GalaxyMember: _nodesMangaement c\")\n        mstore(add(headStart, 96), \"annot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 37)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node free \")\n        mstore(add(headStart, 96), \"level\")\n        tail := add(headStart, 128)\n    }\n    function increment_t_uint8(value) -> ret\n    {\n        let value_1 := and(value, 0xff)\n        if eq(value_1, 0xff) { panic_error_0x11() }\n        ret := add(value_1, 1)\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        let end_2 := add(end_1, length_1)\n        mstore(end_2, \".json\")\n        end := add(end_2, 5)\n    }\n    function abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 55)\n        mstore(add(headStart, 64), \"Galaxy Member: _b3trGovernor can\")\n        mstore(add(headStart, 96), \"not be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 62)\n        mstore(add(headStart, 64), \"GalaxyMember: token attached to \")\n        mstore(add(headStart, 96), \"a node, detach before transfer\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_string(value3, add(headStart, 128))\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function panic_error_0x31()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x31)\n        revert(0, 0x24)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":15060},{"length":32,"start":15101},{"length":32,"start":15429}]},"linkReferences":{},"object":"60806040526004361061034b5760003560e01c80621db0dd1461035057806301ffc9a71461037257806306fdde03146103a7578063081812fc146103c9578063095ea7b3146103f657806318160ddd1461041657806323b872dd14610439578063248a9ca3146104595780632b42df38146104795780632f2ff15d146104995780632f745c59146104b9578063344f1ba5146104d957806336568abe146104f95780633af03ea8146105195780633c60f55d146105395780633d6dbee8146105595780633f4ba83a1461057b5780633ff453af1461059057806342842e0e146105c257806342966c68146105e257806345977d03146106025780634a6565e1146106225780634bf5d7e9146106425780634f1ef286146106885780634f6ccce71461069b57806351c438d1146106bb57806352d1902d146106db57806354fd4d50146106f057806355f804b31461071a578063582a486a1461073a5780635b5da5141461074f5780635b70ea9f1461076f5780635c975abb146107845780635ecf68e9146107995780635f4e42ca146107ae5780635ffaa59a146107ce57806361d027b3146107ee5780636352211e14610803578063643ce418146108235780636c0360eb146108505780636d5e30321461086557806370a08231146108855780637893d736146108a5578063839a19d9146108ba5780638456cb59146108da578063851f738e146108ef578063865c380b1461091c578063883711101461093c5780638c5b76fb1461095c57806391d148541461097c57806391ddadf41461099c578063952f2133146109c8578063958fc97d146109ea57806395d89b4114610a0a578063a1843bd014610a1f578063a217fddf14610a3f578063a22cb46514610a54578063a49062d414610a74578063a51d2e0b14610a89578063aa3491eb14610aa9578063ad3cb1cc14610ac9578063b1ccbd2c14610afa578063b88d4fde14610b1a578063c190eb3a14610b3a578063c87b56dd14610b5a578063cc421d0714610b7a578063d206885d14610b9a578063d539139314610bba578063d547741f14610bdc578063ddd8634d14610bfc578063de4983a214610c1c578063e617e49f14610c3c578063e63ab1e914610c5c578063e985e9c514610c7e578063f72c0d8b14610c9e575b600080fd5b34801561035c57600080fd5b5061037061036b366004614f50565b610cc0565b005b34801561037e57600080fd5b5061039261038d366004614f92565b610e1f565b60405190151581526020015b60405180910390f35b3480156103b357600080fd5b506103bc610e30565b60405161039e9190614fff565b3480156103d557600080fd5b506103e96103e4366004615012565b610ed1565b60405161039e919061502b565b34801561040257600080fd5b50610370610411366004615064565b610ee6565b34801561042257600080fd5b5061042b610ef5565b60405190815260200161039e565b34801561044557600080fd5b50610370610454366004615082565b610f0a565b34801561046557600080fd5b5061042b610474366004615012565b610f95565b34801561048557600080fd5b5061042b610494366004615012565b610fb5565b3480156104a557600080fd5b506103706104b43660046150c3565b610fd5565b3480156104c557600080fd5b5061042b6104d4366004615064565b610ff1565b3480156104e557600080fd5b506103706104f4366004615012565b611053565b34801561050557600080fd5b506103706105143660046150c3565b6111bf565b34801561052557600080fd5b506103706105343660046150f3565b6111f7565b34801561054557600080fd5b5061042b610554366004615110565b6112f5565b34801561056557600080fd5b5061042b600080516020615ebe83398151915281565b34801561058757600080fd5b50610370611338565b34801561059c57600080fd5b506105b06105ab366004615012565b61135b565b60405160ff909116815260200161039e565b3480156105ce57600080fd5b506103706105dd366004615082565b6113ee565b3480156105ee57600080fd5b506103706105fd366004615012565b611409565b34801561060e57600080fd5b5061037061061d366004615012565b611442565b34801561062e57600080fd5b5061037061063d366004615149565b611858565b34801561064e57600080fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526103bc565b610370610696366004615249565b611b7c565b3480156106a757600080fd5b5061042b6106b6366004615012565b611b97565b3480156106c757600080fd5b5061042b6106d6366004615012565b611bf8565b3480156106e757600080fd5b5061042b611c16565b3480156106fc57600080fd5b506040805180820190915260018152600d60fa1b60208201526103bc565b34801561072657600080fd5b50610370610735366004615298565b611c33565b34801561074657600080fd5b506103e9611cd0565b34801561075b57600080fd5b5061037061076a3660046152da565b611cee565b34801561077b57600080fd5b50610370611d56565b34801561079057600080fd5b50610392611e45565b3480156107a557600080fd5b506103e9611e5a565b3480156107ba57600080fd5b506103706107c936600461536b565b611e75565b3480156107da57600080fd5b506103706107e93660046150f3565b6123a4565b3480156107fa57600080fd5b506103e9612418565b34801561080f57600080fd5b506103e961081e366004615012565b612436565b34801561082f57600080fd5b5061084361083e366004615012565b612441565b60405161039e9190615510565b34801561085c57600080fd5b506103bc6124f1565b34801561087157600080fd5b5061042b610880366004615012565b612500565b34801561089157600080fd5b5061042b6108a03660046150f3565b612523565b3480156108b157600080fd5b506103e961257b565b3480156108c657600080fd5b506103706108d5366004615012565b612599565b3480156108e657600080fd5b506103706125a3565b3480156108fb57600080fd5b5061090f61090a366004615523565b6125c3565b60405161039e9190615558565b34801561092857600080fd5b5061042b610937366004615012565b6127a9565b34801561094857600080fd5b50610370610957366004615149565b6127c7565b34801561096857600080fd5b506103926109773660046150f3565b612a8b565b34801561098857600080fd5b506103926109973660046150c3565b612c6f565b3480156109a857600080fd5b506109b1612ca5565b60405165ffffffffffff909116815260200161039e565b3480156109d457600080fd5b5061042b600080516020615e9e83398151915281565b3480156109f657600080fd5b5061042b610a05366004615012565b612caf565b348015610a1657600080fd5b506103bc612ccd565b348015610a2b57600080fd5b5061042b610a3a366004615149565b612cea565b348015610a4b57600080fd5b5061042b600081565b348015610a6057600080fd5b50610370610a6f3660046155ba565b612cf7565b348015610a8057600080fd5b5061042b612d02565b348015610a9557600080fd5b5061042b610aa4366004615012565b612d17565b348015610ab557600080fd5b50610370610ac4366004615064565b612d92565b348015610ad557600080fd5b506103bc604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610b0657600080fd5b50610370610b153660046155e8565b612da7565b348015610b2657600080fd5b50610370610b3536600461561c565b612e90565b348015610b4657600080fd5b50610370610b55366004615687565b612ea7565b348015610b6657600080fd5b506103bc610b75366004615012565b613186565b348015610b8657600080fd5b5061042b610b95366004615012565b613217565b348015610ba657600080fd5b5061042b610bb53660046150f3565b61322d565b348015610bc657600080fd5b5061042b600080516020615e7e83398151915281565b348015610be857600080fd5b50610370610bf73660046150c3565b61326e565b348015610c0857600080fd5b50610370610c173660046150f3565b61328a565b348015610c2857600080fd5b50610843610c373660046150f3565b613388565b348015610c4857600080fd5b5061042b610c573660046156ef565b6133a6565b348015610c6857600080fd5b5061042b600080516020615e5e83398151915281565b348015610c8a57600080fd5b50610392610c9936600461570c565b6133cc565b348015610caa57600080fd5b5061042b600080516020615dfe83398151915281565b600080516020615ebe833981519152610cd88161340b565b6001821015610d2c5760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610d805760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610d23565b6000610d8a613415565b90508060060154831115610e045760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610d23565b60ff9093166000908152600f90930160205250604090912055565b6000610e2a82613439565b92915050565b60606000610e3c61345e565b9050806000018054610e4d9061573a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e799061573a565b8015610ec65780601f10610e9b57610100808354040283529160200191610ec6565b820191906000526020600020905b815481529060010190602001808311610ea957829003601f168201915b505050505091505090565b6000610edc82613482565b50610e2a826134ba565b610ef18282336134e3565b5050565b600080610f006134f0565b6002015492915050565b6001600160a01b038216610f34576000604051633250574960e11b8152600401610d23919061502b565b6000610f41838333613514565b9050836001600160a01b0316816001600160a01b031614610f8f576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610d23565b50505050565b600080610fa061368f565b60009384526020525050604090206001015490565b600080610fc0613415565b60009384526008016020525050604090205490565b610fde82610f95565b610fe78161340b565b610f8f83836136b3565b600080610ffc6134f0565b905061100784612523565b831061102a57838360405163295f44f760e21b8152600401610d23929190615774565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b600061105e8161340b565b6000611068613415565b9050806006015483116110dd5760405162461bcd60e51b81526020600482015260436024820152600080516020615d9e83398151915260448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610d23565b60025b8381116111755760008181526008830160205260409020546111635760405162461bcd60e51b81526020600482015260426024820152600080516020615dbe83398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610d23565b8061116d816157a3565b9150506110e0565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b03811633146111e85760405163334bd91960e11b815260040160405180910390fd5b6111f28282613754565b505050565b600080516020615e9e83398151915261120f8161340b565b6001600160a01b03821661128b5760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610d23565b6000611295613415565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b600080611300613415565b6001600160a01b0385166000908152601282016020526040902090915061132790846137cc565b6001600160d01b0316949350505050565b600080516020615e5e8339815191526113508161340b565b611358613882565b50565b600080611366613415565b600b81015460405163295d33a960e21b8152600481018690529192506000916101009091046001600160a01b03169063a574cea49060240160e060405180830381865afa1580156113bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113df91906157d3565b50939998505050505050505050565b6111f283838360405180602001604052806000815250612e90565b3361141382612436565b6001600160a01b0316146114395760405162461bcd60e51b8152600401610d2390615864565b611358816138d9565b61144a6138e5565b61145261391b565b3361145c82612436565b6001600160a01b0316146114ce5760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610d23565b60006114d8613415565b905060006114e583612500565b90506114ef612d02565b81106115525760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610d23565b600061155d84612d17565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a082319061159490339060040161502b565b602060405180830381865afa1580156115b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d591906158b7565b101561163a5760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610d23565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa15801561168a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ae91906158b7565b10156117155760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610d23565b6000848152601084016020526040812080548392906117359084906158d0565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af1158015611799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bd91906158e3565b6118095760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610d23565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec4288548361183587612500565b6040805192835260208301919091520160405180910390a2505050611358613943565b61186061391b565b600061186a613415565b90503361187683612436565b6001600160a01b031614806119005750600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa1580156118d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f59190615900565b6001600160a01b0316145b806119855750600b81015460405163bfc206ed60e01b815260048101859052339161010090046001600160a01b03169063bfc206ed90602401602060405180830381865afa158015611956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197a9190615900565b6001600160a01b0316145b611a045760405162461bcd60e51b81526020600482015260566024820152600080516020615ede83398151915260448201527f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b60648201527532b7103737ba1037bbb732b210313c9031b0b63632b960511b608482015260a401610d23565b81611a0e84611bf8565b14611a705760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610d23565b82611a7a83612caf565b14611adc5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610d23565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a36000611b38836000613954565b50905083837f48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b859083604051611b6e91815260200190565b60405180910390a350505050565b611b84613ac9565b611b8d82613b6e565b610ef18282613b86565b600080611ba26134f0565b9050611bac610ef5565b8310611bd05760008360405163295f44f760e21b8152600401610d23929190615774565b806002018381548110611be557611be561591d565b9060005260206000200154915050919050565b6000611c02613415565b6000928352600d0160205250604090205490565b6000611c20613c3a565b50600080516020615e3e83398151915290565b6000611c3e8161340b565b6000825111611c5f5760405162461bcd60e51b8152600401610d2390615933565b6000611c69613415565b905080600401604051611c7c9190615976565b604051809103902083604051611c9291906159ec565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a360048101610f8f8482615a4e565b600080611cdb613415565b600201546001600160a01b031692915050565b6000611cf98161340b565b6000611d03613415565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611d38911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611d60613415565b600b81015490915060ff1615611dc85760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610d23565b611dd133612a8b565b611e3c5760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610d23565b61135833613c83565b600080611e50613cb4565b5460ff1692915050565b600080611e65613415565b546001600160a01b031692915050565b6000611e7f613cd8565b805490915060ff600160401b82041615906001600160401b0316600081158015611ea65750825b90506000826001600160401b03166001148015611ec25750303b155b905081158015611ed0575080155b15611eee5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611f1757845460ff60401b1916600160401b1785555b60008660e0015111611f715760405162461bcd60e51b815260206004820152602f6024820152600080516020615d9e83398151915260448201526e02067726561746572207468616e203608c1b6064820152608401610d23565b60008661010001515111611f975760405162461bcd60e51b8152600401610d2390615933565b6101408601516001600160a01b03166120175760405162461bcd60e51b815260206004820152603c60248201527f47616c617879204d656d6265723a204233545220746f6b656e2061646472657360448201527b732063616e6e6f7420626520746865207a65726f206164647265737360201b6064820152608401610d23565b6101608601516001600160a01b03166120955760405162461bcd60e51b815260206004820152603a60248201527f47616c617879204d656d6265723a20547265617375727920616464726573732060448201527963616e6e6f7420626520746865207a65726f206164647265737360301b6064820152608401610d23565b60018660e001516120a69190615b0d565b86610120015151101561211a5760405162461bcd60e51b81526020600482015260426024820152600080516020615dbe83398151915260448201527f7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656064820152616c7360f01b608482015260a401610d23565b61212c86600001518760200151613cfc565b612134613d0e565b61213c613d16565b612144613d0e565b61214c613d0e565b612154613d26565b61215c613d0e565b6000612166613415565b905086610100015181600401908161217e9190615a4e565b5060005b8761012001515181101561222357600088610120015182815181106121a9576121a961591d565b6020026020010151116121ce5760405162461bcd60e51b8152600401610d2390615b20565b87610120015181815181106121e5576121e561591d565b602002602001015182600801600083600261220091906158d0565b81526020810191909152604001600020558061221b816157a3565b915050612182565b5060e087015160068201556101408701516002820180546001600160a01b03199081166001600160a01b03938416179091556101608901516003840180549092169083161790556040880151166122dc5760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a2041646d696e20616464726573732063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d23565b6122ed6000801b88604001516136b3565b5061230a600080516020615dfe83398151915288606001516136b3565b50612327600080516020615e5e83398151915288608001516136b3565b50612344600080516020615e7e8339815191528860a001516136b3565b50612361600080516020615e9e8339815191528860c001516136b3565b5050831561239c57845460ff60401b19168555604051600080516020615dde8339815191529061239390600190615b63565b60405180910390a15b505050505050565b600080516020615ebe8339815191526123bc8161340b565b6001600160a01b0382166123e25760405162461bcd60e51b8152600401610d2390615b77565b60006123ec613415565b600b0180546001600160a01b0390941661010002610100600160a81b0319909416939093179092555050565b600080612423613415565b600301546001600160a01b031692915050565b6000610e2a82613482565b612449614f19565b600061245483613d36565b6001600160a01b0316036124b65760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610d23565b6124be614f19565b8281526124ca83613186565b60208201526124d883612500565b60408201526124e683612d17565b606082015292915050565b60606124fb613d5f565b905090565b60008061250c83612caf565b9050600061251a8483613954565b50949350505050565b60008061252e61345e565b90506001600160a01b03831661255a5760006040516322718ad960e21b8152600401610d23919061502b565b6001600160a01b039092166000908152600390920160205250604090205490565b600080612586613415565b600101546001600160a01b031692915050565b6113583382613d7c565b600080516020615e5e8339815191526125bb8161340b565b611358613e40565b6060816000036126135760405162461bcd60e51b81526020600482015260276024820152600080516020615d7e83398151915260448201526606f7420626520360cc1b6064820152608401610d23565b60648083111561265c5761262681613e87565b6040516020016126369190615bcd565b60408051601f198184030181529082905262461bcd60e51b8252610d2391600401614fff565b600061266786612523565b905060006126758587615c1c565b90508181106126ba5760408051600080825260208201909252906126af565b61269c614f19565b8152602001906001900390816126945790505b5093505050506127a2565b60006126c686836158d0565b9050828111156126d35750815b60006126df8383615b0d565b90506000816001600160401b038111156126fb576126fb61516b565b60405190808252806020026020018201604052801561273457816020015b612721614f19565b8152602001906001900390816127195790505b50905060005b8281101561279957600061274e82876158d0565b9050600061275c8d83610ff1565b905061276781612441565b8484815181106127795761277961591d565b602002602001018190525050508080612791906157a3565b91505061273a565b50955050505050505b9392505050565b60006127b3613415565b600092835260100160205250604090205490565b6127cf61391b565b60006127d9613415565b9050336127e583612436565b6001600160a01b03161461284b5760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610d23565b600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa158015612896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ba9190615900565b6001600160a01b0316146129205760405162461bcd60e51b81526020600482015260396024820152600080516020615ede8339815191526044820152783bb732b21037b91036b0b730b3b2b210313c9031b0b63632b960391b6064820152608401610d23565b61292983611bf8565b1561298d5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610d23565b61299682612caf565b156129fa5760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610d23565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a36000612a558385613954565b50905083837fdd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace783604051611b6e91815260200190565b600080612a96613415565b80549091506001600160a01b0316612b095760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610d23565b60018101546001600160a01b0316612b6f5760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610d23565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612b9e90869060040161502b565b602060405180830381865afa158015612bbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bdf91906158e3565b80612c5857506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612c1790869060040161502b565b602060405180830381865afa158015612c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5891906158e3565b15612c665750600192915050565b50600092915050565b600080612c7a61368f565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006124fb613f19565b6000612cb9613415565b6000928352600e0160205250604090205490565b60606000612cd961345e565b9050806001018054610e4d9061573a565b60008061251a8484613954565b610ef1338383613f24565b600080612d0d613415565b6006015492915050565b600080612d2383613d36565b6001600160a01b031603612d3957506000919050565b6000612d4483612caf565b9050600080612d538584613954565b91509150612d5f612d02565b8203612d7057506000949350505050565b80612d7f6104948460016158d0565b612d899190615b0d565b95945050505050565b6000612d9d8161340b565b6111f28383613d7c565b6000612db28161340b565b6000612dbc613415565b905060005b8351811015612e53576000848281518110612dde57612dde61591d565b602002602001015111612e035760405162461bcd60e51b8152600401610d2390615b20565b838181518110612e1557612e1561591d565b6020026020010151826008016000836002612e3091906158d0565b815260208101919091526040016000205580612e4b816157a3565b915050612dc1565b507f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf87083604051612e839190615c33565b60405180910390a1505050565b612e9b848484610f0a565b610f8f84848484613fc0565b60026000612eb3613cd8565b8054909150600160401b900460ff1680612eda575080546001600160401b03808416911610155b15612ef85760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781558251600814612f775760405162461bcd60e51b81526020600482015260386024820152600080516020615e1e8339815191526044820152776c6576656c732e204d7573742062652037206c6576656c7360401b6064820152608401610d23565b6001600160a01b038616612f9d5760405162461bcd60e51b8152600401610d2390615b77565b6001600160a01b0385166130155760405162461bcd60e51b815260206004820152603960248201527f47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063604482015278616e6e6f7420626520746865207a65726f206164647265737360381b6064820152608401610d23565b600061301f613415565b600b81018054610100600160a81b0319166101006001600160a01b038b81169190910291909117909155600c820180546001600160a01b03191691891691909117905560058101549091501561307957806005015461307c565b60015b600582015560005b84518160ff161015613142576001858260ff16815181106130a7576130a761591d565b602002602001015110156130f95760405162461bcd60e51b81526020600482015260256024820152600080516020615e1e8339815191526044820152641b195d995b60da1b6064820152608401610d23565b848160ff168151811061310e5761310e61591d565b60209081029190910181015160ff83166000908152600f85019092526040909120558061313a81615c77565b915050613084565b5061315b600080516020615ebe833981519152866136b3565b5050805460ff60401b19168155604051600080516020615dde83398151915290612393908490615b63565b6060600061319383613d36565b6001600160a01b0316036131b557505060408051602081019091526000815290565b60006131c083612500565b9050600081116131df57604051806020016040528060008152506127a2565b6131e76124f1565b6131f082613e87565b604051602001613201929190615c96565b6040516020818303038152906040529392505050565b600080613225836000613954565b509392505050565b600080613238613415565b6001600160a01b0384166000908152601282016020526040902090915061325e906140d7565b6001600160d01b03169392505050565b61327782610f95565b6132808161340b565b610f8f8383613754565b600080516020615e9e8339815191526132a28161340b565b6001600160a01b0382166133185760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610d23565b6000613322613415565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b613390614f19565b600061339b8361322d565b90506127a281612441565b60006133b0613415565b60ff9092166000908152600f9290920160205250604090205490565b6000806133d761345e565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b6113588133614107565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610e2a5750610e2a82614132565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b60008061348e83613d36565b90506001600160a01b038116610e2a57604051637e27328960e01b815260048101849052602401610d23565b6000806134c561345e565b6000938452600401602052505060409020546001600160a01b031690565b6111f28383836001614157565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b600061351e61391b565b61352783612caf565b1561359a5760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610d23565b60006135a7858585614261565b90506001600160a01b038116158015906135c757506135c581612523565b155b15613607576136046135d7612ca5565b60006135e1613415565b6001600160a01b0385166000908152601291909101602052604090209190614276565b50505b6001600160a01b038116158015906136265750836136248261322d565b145b801561363a5750600061363882612523565b115b15613653576136538161364e836000610ff1565b613d7c565b6001600160a01b03851615801590613673575061366f85612523565b6001145b15613687576136878561364e876000610ff1565b949350505050565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806136be61368f565b90506136ca8484612c6f565b61374a576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556137003390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610e2a565b6000915050610e2a565b60008061375f61368f565b905061376b8484612c6f565b1561374a576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610e2a565b81546000908181600581111561382b5760006137e784614291565b6137f19085615b0d565b60008881526020902090915081015465ffffffffffff908116908716101561381b57809150613829565b6138268160016158d0565b92505b505b600061383987878585614379565b905080156138745761385e87613850600184615b0d565b600091825260209091200190565b54600160301b90046001600160d01b0316613877565b60005b979650505050505050565b61388a6143d3565b6000613894613cb4565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516138ce919061502b565b60405180910390a150565b610ef160008233613514565b60006138ef6143f8565b80549091506001190161391557604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b613923611e45565b156139415760405163d93c066560e01b815260040160405180910390fd5b565b600061394d6143f8565b6001905550565b6000806000613961613415565b9050600184158015906139f6575061397886612436565b600c830154604051634f16179f60e11b8152600481018890526001600160a01b039283169290911690639e2c2f3e90602401602060405180830381865afa1580156139c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139eb9190615900565b6001600160a01b0316145b15613a3c576000613a068661135b565b905060ff811615613a3a576000613a1c826133a6565b90508360060154811115613a34578360060154613a36565b805b9250505b505b600086815260108301602052604081205490613a598360016158d0565b90505b83600601548111613abc5760008181526008850160205260409020548210613aa55760008181526008850160205260409020549092508290613a9e9083615b0d565b9150613aaa565b613abc565b80613ab4816157a3565b915050613a5c565b5090969095509350505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480613b5057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316613b44600080516020615e3e833981519152546001600160a01b031690565b6001600160a01b031614155b156139415760405163703e46dd60e11b815260040160405180910390fd5b600080516020615dfe833981519152610ef18161340b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613be0575060408051601f3d908101601f19168201909252613bdd918101906158b7565b60015b613bff5781604051634c9c8ce360e01b8152600401610d23919061502b565b600080516020615e3e8339815191528114613c3057604051632a87526960e21b815260048101829052602401610d23565b6111f2838361441c565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146139415760405163703e46dd60e11b815260040160405180910390fd5b6000613c8d613415565b6005810180549192506000919082613ca4836157a3565b9190505590506111f28382614472565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613d0461448c565b610ef182826144b1565b61394161448c565b613d1e61448c565b6139416144df565b613d2e61448c565b6139416144fc565b600080613d4161345e565b6000938452600201602052505060409020546001600160a01b031690565b60606000613d6b613415565b9050806004018054610e4d9061573a565b816001600160a01b0316613d8f82612436565b6001600160a01b031614613db55760405162461bcd60e51b8152600401610d2390615864565b6000613dbf613415565b9050613df6613dcc612ca5565b613dd584614504565b6001600160a01b038616600090815260128501602052604090209190614276565b5050826001600160a01b03167fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc83604051613e3391815260200190565b60405180910390a2505050565b613e4861391b565b6000613e52613cb4565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586138c13390565b60606000613e948361453c565b60010190506000816001600160401b03811115613eb357613eb361516b565b6040519080825280601f01601f191660200182016040528015613edd576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613ee757509392505050565b60006124fb43614612565b6000613f2e61345e565b90506001600160a01b038316613f595782604051630b61174360e31b8152600401610d23919061502b565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611b6e565b6001600160a01b0383163b15610f8f57604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290614002903390889087908790600401615ceb565b6020604051808303816000875af192505050801561403d575060408051601f3d908101601f1916820190925261403a91810190615d28565b60015b61409d573d80801561406b576040519150601f19603f3d011682016040523d82523d6000602084013e614070565b606091505b5080516000036140955783604051633250574960e11b8152600401610d23919061502b565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146140d05783604051633250574960e11b8152600401610d23919061502b565b5050505050565b80546000908015612c66576140f183613850600184615b0d565b54600160301b90046001600160d01b03166127a2565b6141118282612c6f565b610ef157808260405163e2517d3f60e01b8152600401610d23929190615774565b60006001600160e01b0319821663780e9d6360e01b1480610e2a5750610e2a82614645565b600061416161345e565b9050818061417757506001600160a01b03831615155b1561423057600061418785613482565b90506001600160a01b038416158015906141b35750836001600160a01b0316816001600160a01b031614155b80156141c657506141c481856133cc565b155b156141e6578360405163a9fbf51f60e01b8152600401610d23919061502b565b821561422e5784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b600061426b61391b565b613687848484614695565b600080614284858585614723565b915091505b935093915050565b6000816000036142a357506000919050565b600060016142b08461489d565b901c6001901b905060018184816142c9576142c9615cd5565b048201901c905060018184816142e1576142e1615cd5565b048201901c905060018184816142f9576142f9615cd5565b048201901c9050600181848161431157614311615cd5565b048201901c9050600181848161432957614329615cd5565b048201901c9050600181848161434157614341615cd5565b048201901c9050600181848161435957614359615cd5565b048201901c90506127a28182858161437357614373615cd5565b04614931565b60005b818310156132255760006143908484614947565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156143bf578092506143cd565b6143ca8160016158d0565b93505b5061437c565b6143db611e45565b61394157604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b61442582614962565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561446a576111f282826149be565b610ef1614a2b565b610ef1828260405180602001604052806000815250614a4a565b614494614a61565b61394157604051631afcd79f60e31b815260040160405180910390fd5b6144b961448c565b60006144c361345e565b9050806144d08482615a4e565b5060018101610f8f8382615a4e565b6144e761448c565b60006144f1613cb4565b805460ff1916905550565b61394361448c565b60006001600160d01b03821115614538576040516306dfcc6560e41b815260d0600482015260248101839052604401610d23565b5090565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061457b5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106145a5576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106145c357662386f26fc10000830492506010015b6305f5e10083106145db576305f5e100830492506008015b61271083106145ef57612710830492506004015b60648310614601576064830492506002015b600a8310610e2a5760010192915050565b600065ffffffffffff821115614538576040516306dfcc6560e41b81526030600482015260248101839052604401610d23565b60006001600160e01b031982166380ac58cd60e01b148061467657506001600160e01b03198216635b5e139f60e01b145b80610e2a57506301ffc9a760e01b6001600160e01b0319831614610e2a565b6000806146a3858585614a7b565b90506001600160a01b0381166146c1576146bc84614b82565b6146e4565b846001600160a01b0316816001600160a01b0316146146e4576146e48185614bbb565b6001600160a01b038516614700576146fb84614c5c565b613687565b846001600160a01b0316816001600160a01b031614613687576136878585614d25565b82546000908190801561484257600061474187613850600185615b0d565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561479557604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036147e157846147b888613850600186615b0d565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055614832565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506142899050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081614289565b600080608083901c156148b257608092831c92015b604083901c156148c457604092831c92015b602083901c156148d657602092831c92015b601083901c156148e857601092831c92015b600883901c156148fa57600892831c92015b600483901c1561490c57600492831c92015b600283901c1561491e57600292831c92015b600183901c15610e2a5760010192915050565b600081831061494057816127a2565b5090919050565b60006149566002848418615d45565b6127a2908484166158d0565b806001600160a01b03163b60000361498f5780604051634c9c8ce360e01b8152600401610d23919061502b565b600080516020615e3e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516149db91906159ec565b600060405180830381855af49150503d8060008114614a16576040519150601f19603f3d011682016040523d82523d6000602084013e614a1b565b606091505b5091509150612d89858383614d7d565b34156139415760405163b398979f60e01b815260040160405180910390fd5b614a548383614dd0565b6111f26000848484613fc0565b6000614a6b613cd8565b54600160401b900460ff16919050565b600080614a8661345e565b90506000614a9385613d36565b90506001600160a01b03841615614aaf57614aaf818587614e35565b6001600160a01b03811615614aef57614acc600086600080614157565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614b20576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b6000614b8c6134f0565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b6000614bc56134f0565b90506000614bd284612523565b6000848152600184016020526040902054909150808214614c27576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b6000614c666134f0565b6002810154909150600090614c7d90600190615b0d565b6000848152600384016020526040812054600285018054939450909284908110614ca957614ca961591d565b9060005260206000200154905080846002018381548110614ccc57614ccc61591d565b600091825260208083209091019290925582815260038601909152604080822084905586825281205560028401805480614d0857614d08615d67565b600190038181906000526020600020016000905590555050505050565b6000614d2f6134f0565b905060006001614d3e85612523565b614d489190615b0d565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b606082614d9257614d8d82614e8b565b6127a2565b8151158015614da957506001600160a01b0384163b155b15614dc95783604051639996b31560e01b8152600401610d23919061502b565b50806127a2565b6001600160a01b038216614dfa576000604051633250574960e11b8152600401610d23919061502b565b6000614e0883836000613514565b90506001600160a01b038116156111f25760006040516339e3563760e11b8152600401610d23919061502b565b614e40838383614eb4565b6111f2576001600160a01b038316614e6e57604051637e27328960e01b815260048101829052602401610d23565b818160405163177e802f60e01b8152600401610d23929190615774565b805115614e9b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b038316158015906136875750826001600160a01b0316846001600160a01b03161480614eee5750614eee84846133cc565b806136875750826001600160a01b0316614f07836134ba565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461135857600080fd5b60008060408385031215614f6357600080fd5b8235614f6e81614f41565b946020939093013593505050565b6001600160e01b03198116811461135857600080fd5b600060208284031215614fa457600080fd5b81356127a281614f7c565b60005b83811015614fca578181015183820152602001614fb2565b50506000910152565b60008151808452614feb816020860160208601614faf565b601f01601f19169290920160200192915050565b6020815260006127a26020830184614fd3565b60006020828403121561502457600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461135857600080fd5b803561505f8161503f565b919050565b6000806040838503121561507757600080fd5b8235614f6e8161503f565b60008060006060848603121561509757600080fd5b83356150a28161503f565b925060208401356150b28161503f565b929592945050506040919091013590565b600080604083850312156150d657600080fd5b8235915060208301356150e88161503f565b809150509250929050565b60006020828403121561510557600080fd5b81356127a28161503f565b6000806040838503121561512357600080fd5b823561512e8161503f565b9150602083013565ffffffffffff811681146150e857600080fd5b6000806040838503121561515c57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156151a4576151a461516b565b60405290565b604051601f8201601f191681016001600160401b03811182821017156151d2576151d261516b565b604052919050565b600082601f8301126151eb57600080fd5b81356001600160401b038111156152045761520461516b565b615217601f8201601f19166020016151aa565b81815284602083860101111561522c57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561525c57600080fd5b82356152678161503f565b915060208301356001600160401b0381111561528257600080fd5b61528e858286016151da565b9150509250929050565b6000602082840312156152aa57600080fd5b81356001600160401b038111156152c057600080fd5b613687848285016151da565b801515811461135857600080fd5b6000602082840312156152ec57600080fd5b81356127a2816152cc565b600082601f83011261530857600080fd5b813560206001600160401b038211156153235761532361516b565b8160051b6153328282016151aa565b928352848101820192828101908785111561534c57600080fd5b83870192505b8483101561387757823582529183019190830190615352565b60006020828403121561537d57600080fd5b81356001600160401b038082111561539457600080fd5b9083019061018082860312156153a957600080fd5b6153b1615181565b8235828111156153c057600080fd5b6153cc878286016151da565b8252506020830135828111156153e157600080fd5b6153ed878286016151da565b6020830152506153ff60408401615054565b604082015261541060608401615054565b606082015261542160808401615054565b608082015261543260a08401615054565b60a082015261544360c08401615054565b60c082015260e083013560e0820152610100808401358381111561546657600080fd5b615472888287016151da565b828401525050610120808401358381111561548c57600080fd5b615498888287016152f7565b82840152505061014091506154ae828401615054565b8282015261016091506154c2828401615054565b91810191909152949350505050565b8051825260006020820151608060208501526154f06080850182614fd3565b905060408301516040850152606083015160608501528091505092915050565b6020815260006127a260208301846154d1565b60008060006060848603121561553857600080fd5b83356155438161503f565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156155ad57603f1988860301845261559b8583516154d1565b9450928501929085019060010161557f565b5092979650505050505050565b600080604083850312156155cd57600080fd5b82356155d88161503f565b915060208301356150e8816152cc565b6000602082840312156155fa57600080fd5b81356001600160401b0381111561561057600080fd5b613687848285016152f7565b6000806000806080858703121561563257600080fd5b843561563d8161503f565b9350602085013561564d8161503f565b92506040850135915060608501356001600160401b0381111561566f57600080fd5b61567b878288016151da565b91505092959194509250565b6000806000806080858703121561569d57600080fd5b84356156a88161503f565b935060208501356156b88161503f565b925060408501356156c88161503f565b915060608501356001600160401b038111156156e357600080fd5b61567b878288016152f7565b60006020828403121561570157600080fd5b81356127a281614f41565b6000806040838503121561571f57600080fd5b823561572a8161503f565b915060208301356150e88161503f565b600181811c9082168061574e57607f821691505b60208210810361576e57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b6000600182016157b5576157b561578d565b5060010190565b80516001600160401b038116811461505f57600080fd5b600080600080600080600060e0888a0312156157ee57600080fd5b87516157f98161503f565b602089015190975061580a81614f41565b604089015190965061581b816152cc565b606089015190955061582c816152cc565b935061583a608089016157bc565b925061584860a089016157bc565b915061585660c089016157bc565b905092959891949750929550565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b6000602082840312156158c957600080fd5b5051919050565b80820180821115610e2a57610e2a61578d565b6000602082840312156158f557600080fd5b81516127a2816152cc565b60006020828403121561591257600080fd5b81516127a28161503f565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f47616c617879204d656d6265723a204261736520555249206d757374206265206040820152621cd95d60ea1b606082015260800190565b60008083546159848161573a565b6001828116801561599c57600181146159b1576159e0565b60ff19841687528215158302870194506159e0565b8760005260208060002060005b858110156159d75781548a8201529084019082016159be565b50505082870194505b50929695505050505050565b600082516159fe818460208701614faf565b9190910192915050565b601f8211156111f257600081815260208120601f850160051c81016020861015615a2f5750805b601f850160051c820191505b8181101561239c57828155600101615a3b565b81516001600160401b03811115615a6757615a6761516b565b615a7b81615a75845461573a565b84615a08565b602080601f831160018114615ab05760008415615a985750858301515b600019600386901b1c1916600185901b17855561239c565b600085815260208120601f198616915b82811015615adf57888601518255948401946001909101908401615ac0565b5085821015615afd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610e2a57610e2a61578d565b6020808252603590820152600080516020615dbe83398151915260408201527407573742062652067726561746572207468616e203605c1b606082015260800190565b6001600160401b0391909116815260200190565b60208082526036908201527f47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6040820152756f7420626520746865207a65726f206164647265737360501b606082015260800190565b600080516020615d7e833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b602082015260008251615c0f816033850160208701614faf565b9190910160330192915050565b8082028115828204841417610e2a57610e2a61578d565b6020808252825182820181905260009190848201906040850190845b81811015615c6b57835183529284019291840191600101615c4f565b50909695505050505050565b600060ff821660ff8103615c8d57615c8d61578d565b60010192915050565b60008351615ca8818460208801614faf565b835190830190615cbc818360208801614faf565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615d1e90830184614fd3565b9695505050505050565b600060208284031215615d3a57600080fd5b81516127a281614f7c565b600082615d6257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204d6178206c6576656c206d75737420626547616c617879204d656d6265723a204233545220746f2075706772616465206dc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e347616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a656af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f547616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206fa2646970667358221220cc3b77604e7360a7a04ae4843c3dfbd98801572161f688a574523d891506737c64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x350 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x372 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x3C9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x416 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x439 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x459 JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x479 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x499 JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4D9 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x4F9 JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x519 JUMPI DUP1 PUSH4 0x3C60F55D EQ PUSH2 0x539 JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x57B JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x590 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x5C2 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x5E2 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x622 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x642 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x688 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x69B JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x6BB JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x6DB JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x6F0 JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x71A JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x73A JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x74F JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x76F JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x784 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x799 JUMPI DUP1 PUSH4 0x5F4E42CA EQ PUSH2 0x7AE JUMPI DUP1 PUSH4 0x5FFAA59A EQ PUSH2 0x7CE JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7EE JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x803 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x823 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x865 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x885 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x8A5 JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x8BA JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x8DA JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x8EF JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x91C JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x93C JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x95C JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x97C JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x99C JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x9C8 JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x9EA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA0A JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0xA1F JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xA3F JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0xA54 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0xA74 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0xA89 JUMPI DUP1 PUSH4 0xAA3491EB EQ PUSH2 0xAA9 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xAC9 JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xAFA JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xB1A JUMPI DUP1 PUSH4 0xC190EB3A EQ PUSH2 0xB3A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xB5A JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xB7A JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xB9A JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xBBA JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xBDC JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xBFC JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xC1C JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xC3C JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xC5C JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xC7E JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xC9E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x36B CALLDATASIZE PUSH1 0x4 PUSH2 0x4F50 JUMP JUMPDEST PUSH2 0xCC0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x38D CALLDATASIZE PUSH1 0x4 PUSH2 0x4F92 JUMP JUMPDEST PUSH2 0xE1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xE30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x4FFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x3E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0xED1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x402 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x411 CALLDATASIZE PUSH1 0x4 PUSH2 0x5064 JUMP JUMPDEST PUSH2 0xEE6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x422 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xEF5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x445 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x454 CALLDATASIZE PUSH1 0x4 PUSH2 0x5082 JUMP JUMPDEST PUSH2 0xF0A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x465 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x474 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0xF95 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x494 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0xFB5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C3 JUMP JUMPDEST PUSH2 0xFD5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x4D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5064 JUMP JUMPDEST PUSH2 0xFF1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x4F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1053 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x505 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x514 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C3 JUMP JUMPDEST PUSH2 0x11BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x525 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x534 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x11F7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x545 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x554 CALLDATASIZE PUSH1 0x4 PUSH2 0x5110 JUMP JUMPDEST PUSH2 0x12F5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x587 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1338 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x59C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B0 PUSH2 0x5AB CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x135B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x5DD CALLDATASIZE PUSH1 0x4 PUSH2 0x5082 JUMP JUMPDEST PUSH2 0x13EE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x5FD CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1409 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x61D CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1442 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x63D CALLDATASIZE PUSH1 0x4 PUSH2 0x5149 JUMP JUMPDEST PUSH2 0x1858 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST PUSH2 0x370 PUSH2 0x696 CALLDATASIZE PUSH1 0x4 PUSH2 0x5249 JUMP JUMPDEST PUSH2 0x1B7C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x6B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1B97 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x6D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x1BF8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x1C16 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0xD PUSH1 0xFA SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x726 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x735 CALLDATASIZE PUSH1 0x4 PUSH2 0x5298 JUMP JUMPDEST PUSH2 0x1C33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x746 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1CD0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x76A CALLDATASIZE PUSH1 0x4 PUSH2 0x52DA JUMP JUMPDEST PUSH2 0x1CEE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1D56 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x790 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x1E45 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x1E5A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x536B JUMP JUMPDEST PUSH2 0x1E75 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x7E9 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x23A4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x2418 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x80F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x81E CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2436 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x843 PUSH2 0x83E CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2441 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x5510 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x24F1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x880 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2500 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x8A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x2523 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E9 PUSH2 0x257B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x8D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2599 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x25A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90F PUSH2 0x90A CALLDATASIZE PUSH1 0x4 PUSH2 0x5523 JUMP JUMPDEST PUSH2 0x25C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x5558 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x928 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x937 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x27A9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x948 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x957 CALLDATASIZE PUSH1 0x4 PUSH2 0x5149 JUMP JUMPDEST PUSH2 0x27C7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x977 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x2A8B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x988 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0x997 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C3 JUMP JUMPDEST PUSH2 0x2C6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9B1 PUSH2 0x2CA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x39E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xA05 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2CAF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0x2CCD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xA3A CALLDATASIZE PUSH1 0x4 PUSH2 0x5149 JUMP JUMPDEST PUSH2 0x2CEA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xA6F CALLDATASIZE PUSH1 0x4 PUSH2 0x55BA JUMP JUMPDEST PUSH2 0x2CF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0x2D02 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xAA4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x2D17 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xAC4 CALLDATASIZE PUSH1 0x4 PUSH2 0x5064 JUMP JUMPDEST PUSH2 0x2D92 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB15 CALLDATASIZE PUSH1 0x4 PUSH2 0x55E8 JUMP JUMPDEST PUSH2 0x2DA7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB35 CALLDATASIZE PUSH1 0x4 PUSH2 0x561C JUMP JUMPDEST PUSH2 0x2E90 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xB55 CALLDATASIZE PUSH1 0x4 PUSH2 0x5687 JUMP JUMPDEST PUSH2 0x2EA7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BC PUSH2 0xB75 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x3186 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xB95 CALLDATASIZE PUSH1 0x4 PUSH2 0x5012 JUMP JUMPDEST PUSH2 0x3217 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xBB5 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x322D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E7E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xBF7 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C3 JUMP JUMPDEST PUSH2 0x326E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xC17 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x328A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x843 PUSH2 0xC37 CALLDATASIZE PUSH1 0x4 PUSH2 0x50F3 JUMP JUMPDEST PUSH2 0x3388 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH2 0xC57 CALLDATASIZE PUSH1 0x4 PUSH2 0x56EF JUMP JUMPDEST PUSH2 0x33A6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x392 PUSH2 0xC99 CALLDATASIZE PUSH1 0x4 PUSH2 0x570C JUMP JUMPDEST PUSH2 0x33CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x42B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCD8 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xD2C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xD80 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD8A PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xE04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE2A DUP3 PUSH2 0x3439 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE3C PUSH2 0x345E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x573A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE79 SWAP1 PUSH2 0x573A JUMP JUMPDEST DUP1 ISZERO PUSH2 0xEC6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE9B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xEC6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xEA9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEDC DUP3 PUSH2 0x3482 JUMP JUMPDEST POP PUSH2 0xE2A DUP3 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 CALLER PUSH2 0x34E3 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF00 PUSH2 0x34F0 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF34 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF41 DUP4 DUP4 CALLER PUSH2 0x3514 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF8F JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFA0 PUSH2 0x368F JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFC0 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xFDE DUP3 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0xFE7 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0xF8F DUP4 DUP4 PUSH2 0x36B3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFFC PUSH2 0x34F0 JUMP JUMPDEST SWAP1 POP PUSH2 0x1007 DUP5 PUSH2 0x2523 JUMP JUMPDEST DUP4 LT PUSH2 0x102A JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x5774 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x105E DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1068 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0x10DD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x1175 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1163 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST DUP1 PUSH2 0x116D DUP2 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10E0 JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x11E8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x11F2 DUP3 DUP3 PUSH2 0x3754 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x120F DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x128B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1295 PUSH2 0x3415 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1300 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x1327 SWAP1 DUP5 PUSH2 0x37CC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1350 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0x1358 PUSH2 0x3882 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1366 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x295D33A9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA574CEA4 SWAP1 PUSH1 0x24 ADD PUSH1 0xE0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13DF SWAP2 SWAP1 PUSH2 0x57D3 JUMP JUMPDEST POP SWAP4 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2E90 JUMP JUMPDEST CALLER PUSH2 0x1413 DUP3 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1439 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5864 JUMP JUMPDEST PUSH2 0x1358 DUP2 PUSH2 0x38D9 JUMP JUMPDEST PUSH2 0x144A PUSH2 0x38E5 JUMP JUMPDEST PUSH2 0x1452 PUSH2 0x391B JUMP JUMPDEST CALLER PUSH2 0x145C DUP3 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x14CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14D8 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x14E5 DUP4 PUSH2 0x2500 JUMP JUMPDEST SWAP1 POP PUSH2 0x14EF PUSH2 0x2D02 JUMP JUMPDEST DUP2 LT PUSH2 0x1552 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x155D DUP5 PUSH2 0x2D17 JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1594 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x502B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15D5 SWAP2 SWAP1 PUSH2 0x58B7 JUMP JUMPDEST LT ISZERO PUSH2 0x163A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x168A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16AE SWAP2 SWAP1 PUSH2 0x58B7 JUMP JUMPDEST LT ISZERO PUSH2 0x1715 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1735 SWAP1 DUP5 SWAP1 PUSH2 0x58D0 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1799 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17BD SWAP2 SWAP1 PUSH2 0x58E3 JUMP JUMPDEST PUSH2 0x1809 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xD23 JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x1835 DUP8 PUSH2 0x2500 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x1358 PUSH2 0x3943 JUMP JUMPDEST PUSH2 0x1860 PUSH2 0x391B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x186A PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x1876 DUP4 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x1900 JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18F5 SWAP2 SWAP1 PUSH2 0x5900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0x1985 JUMPI POP PUSH1 0xB DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFC206ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBFC206ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1956 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197A SWAP2 SWAP1 PUSH2 0x5900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x1A04 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x56 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776E6564206F72206D616E616765642062792063616C6C6572206F7220746F6B PUSH1 0x64 DUP3 ADD MSTORE PUSH22 0x32B7103737BA1037BBB732B210313C9031B0B63632B9 PUSH1 0x51 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST DUP2 PUSH2 0x1A0E DUP5 PUSH2 0x1BF8 JUMP JUMPDEST EQ PUSH2 0x1A70 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP3 PUSH2 0x1A7A DUP4 PUSH2 0x2CAF JUMP JUMPDEST EQ PUSH2 0x1ADC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x1B38 DUP4 PUSH1 0x0 PUSH2 0x3954 JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0x48129B4A18F9CA1400152E3F45A48CF58787E9948A48294199C83A66517B8590 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B6E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0x1B84 PUSH2 0x3AC9 JUMP JUMPDEST PUSH2 0x1B8D DUP3 PUSH2 0x3B6E JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH2 0x3B86 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BA2 PUSH2 0x34F0 JUMP JUMPDEST SWAP1 POP PUSH2 0x1BAC PUSH2 0xEF5 JUMP JUMPDEST DUP4 LT PUSH2 0x1BD0 JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x5774 JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1BE5 JUMPI PUSH2 0x1BE5 PUSH2 0x591D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C02 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xD ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C20 PUSH2 0x3C3A JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C3E DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1C5F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5933 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C69 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1C7C SWAP2 SWAP1 PUSH2 0x5976 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1C92 SWAP2 SWAP1 PUSH2 0x59EC JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0xF8F DUP5 DUP3 PUSH2 0x5A4E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CDB PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CF9 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D03 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1D38 SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D60 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1DC8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x1DD1 CALLER PUSH2 0x2A8B JUMP JUMPDEST PUSH2 0x1E3C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x1358 CALLER PUSH2 0x3C83 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E50 PUSH2 0x3CB4 JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E65 PUSH2 0x3415 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E7F PUSH2 0x3CD8 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1EA6 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1EC2 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1ED0 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1EEE JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1F17 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x0 DUP7 PUSH1 0xE0 ADD MLOAD GT PUSH2 0x1F71 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH2 0x100 ADD MLOAD MLOAD GT PUSH2 0x1F97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5933 JUMP JUMPDEST PUSH2 0x140 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2017 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204233545220746F6B656E20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x732063616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x160 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2095 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205472656173757279206164647265737320 PUSH1 0x44 DUP3 ADD MSTORE PUSH26 0x63616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x30 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP7 PUSH1 0xE0 ADD MLOAD PUSH2 0x20A6 SWAP2 SWAP1 PUSH2 0x5B0D JUMP JUMPDEST DUP7 PUSH2 0x120 ADD MLOAD MLOAD LT ISZERO PUSH2 0x211A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C20756E6C6F636B6564206C657665 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x6C73 PUSH1 0xF0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x212C DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD PUSH2 0x3CFC JUMP JUMPDEST PUSH2 0x2134 PUSH2 0x3D0E JUMP JUMPDEST PUSH2 0x213C PUSH2 0x3D16 JUMP JUMPDEST PUSH2 0x2144 PUSH2 0x3D0E JUMP JUMPDEST PUSH2 0x214C PUSH2 0x3D0E JUMP JUMPDEST PUSH2 0x2154 PUSH2 0x3D26 JUMP JUMPDEST PUSH2 0x215C PUSH2 0x3D0E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2166 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP7 PUSH2 0x100 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x217E SWAP2 SWAP1 PUSH2 0x5A4E JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x2223 JUMPI PUSH1 0x0 DUP9 PUSH2 0x120 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x21A9 JUMPI PUSH2 0x21A9 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x21CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5B20 JUMP JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x21E5 JUMPI PUSH2 0x21E5 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2200 SWAP2 SWAP1 PUSH2 0x58D0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x221B DUP2 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2182 JUMP JUMPDEST POP PUSH1 0xE0 DUP8 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x140 DUP8 ADD MLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND OR SWAP1 SWAP2 SSTORE PUSH2 0x160 DUP10 ADD MLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x40 DUP9 ADD MLOAD AND PUSH2 0x22DC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2041646D696E20616464726573732063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x22ED PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0x40 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP PUSH2 0x230A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x60 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP PUSH2 0x2327 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP PUSH2 0x2344 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E7E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xA0 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP PUSH2 0x2361 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xC0 ADD MLOAD PUSH2 0x36B3 JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0x239C JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2393 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5B63 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x23BC DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x23E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5B77 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23EC PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xB ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2423 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE2A DUP3 PUSH2 0x3482 JUMP JUMPDEST PUSH2 0x2449 PUSH2 0x4F19 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2454 DUP4 PUSH2 0x3D36 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x24B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x24BE PUSH2 0x4F19 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x24CA DUP4 PUSH2 0x3186 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x24D8 DUP4 PUSH2 0x2500 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x24E6 DUP4 PUSH2 0x2D17 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x24FB PUSH2 0x3D5F JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x250C DUP4 PUSH2 0x2CAF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x251A DUP5 DUP4 PUSH2 0x3954 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x252E PUSH2 0x345E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x255A JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2586 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1358 CALLER DUP3 PUSH2 0x3D7C JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x25BB DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0x1358 PUSH2 0x3E40 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x2613 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D7E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x265C JUMPI PUSH2 0x2626 DUP2 PUSH2 0x3E87 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2636 SWAP2 SWAP1 PUSH2 0x5BCD JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xD23 SWAP2 PUSH1 0x4 ADD PUSH2 0x4FFF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2667 DUP7 PUSH2 0x2523 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2675 DUP6 DUP8 PUSH2 0x5C1C JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x26BA JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x26AF JUMP JUMPDEST PUSH2 0x269C PUSH2 0x4F19 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2694 JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x27A2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26C6 DUP7 DUP4 PUSH2 0x58D0 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x26D3 JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x26DF DUP4 DUP4 PUSH2 0x5B0D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26FB JUMPI PUSH2 0x26FB PUSH2 0x516B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2734 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x2721 PUSH2 0x4F19 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2719 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2799 JUMPI PUSH1 0x0 PUSH2 0x274E DUP3 DUP8 PUSH2 0x58D0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x275C DUP14 DUP4 PUSH2 0xFF1 JUMP JUMPDEST SWAP1 POP PUSH2 0x2767 DUP2 PUSH2 0x2441 JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2779 JUMPI PUSH2 0x2779 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x2791 SWAP1 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x273A JUMP JUMPDEST POP SWAP6 POP POP POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27B3 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x27CF PUSH2 0x391B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27D9 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x27E5 DUP4 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x284B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2896 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28BA SWAP2 SWAP1 PUSH2 0x5900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2920 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x3BB732B21037B91036B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x39 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x2929 DUP4 PUSH2 0x1BF8 JUMP JUMPDEST ISZERO PUSH2 0x298D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x2996 DUP3 PUSH2 0x2CAF JUMP JUMPDEST ISZERO PUSH2 0x29FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x2A55 DUP4 DUP6 PUSH2 0x3954 JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0xDD061FFADD9DFF78128B6AF54ABBF2B83CBC680B9F75A2C08294800146BAACE7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B6E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A96 PUSH2 0x3415 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2B09 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2B6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2B9E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x502B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2BBB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2BDF SWAP2 SWAP1 PUSH2 0x58E3 JUMP JUMPDEST DUP1 PUSH2 0x2C58 JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2C17 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x502B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2C34 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C58 SWAP2 SWAP1 PUSH2 0x58E3 JUMP JUMPDEST ISZERO PUSH2 0x2C66 JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C7A PUSH2 0x368F JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FB PUSH2 0x3F19 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CB9 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xE ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2CD9 PUSH2 0x345E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x573A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x251A DUP5 DUP5 PUSH2 0x3954 JUMP JUMPDEST PUSH2 0xEF1 CALLER DUP4 DUP4 PUSH2 0x3F24 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2D0D PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2D23 DUP4 PUSH2 0x3D36 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2D39 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D44 DUP4 PUSH2 0x2CAF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2D53 DUP6 DUP5 PUSH2 0x3954 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2D5F PUSH2 0x2D02 JUMP JUMPDEST DUP3 SUB PUSH2 0x2D70 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2D7F PUSH2 0x494 DUP5 PUSH1 0x1 PUSH2 0x58D0 JUMP JUMPDEST PUSH2 0x2D89 SWAP2 SWAP1 PUSH2 0x5B0D JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D9D DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 PUSH2 0x3D7C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DB2 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DBC PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2E53 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2DDE JUMPI PUSH2 0x2DDE PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2E03 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5B20 JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2E15 JUMPI PUSH2 0x2E15 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2E30 SWAP2 SWAP1 PUSH2 0x58D0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2E4B DUP2 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2DC1 JUMP JUMPDEST POP PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 DUP4 PUSH1 0x40 MLOAD PUSH2 0x2E83 SWAP2 SWAP1 PUSH2 0x5C33 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x2E9B DUP5 DUP5 DUP5 PUSH2 0xF0A JUMP JUMPDEST PUSH2 0xF8F DUP5 DUP5 DUP5 DUP5 PUSH2 0x3FC0 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2EB3 PUSH2 0x3CD8 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2EDA JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2EF8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE DUP3 MLOAD PUSH1 0x8 EQ PUSH2 0x2F77 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6C6576656C732E204D7573742062652037206C6576656C73 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2F9D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5B77 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x3015 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F6E6F6465734D616E6761656D656E742063 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x301F PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xB DUP2 ADD DUP1 SLOAD PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND SWAP2 SWAP1 SWAP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0xC DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP2 DUP10 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x3079 JUMPI DUP1 PUSH1 0x5 ADD SLOAD PUSH2 0x307C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x3142 JUMPI PUSH1 0x1 DUP6 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x30A7 JUMPI PUSH2 0x30A7 PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x30F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1B195D995B PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST DUP5 DUP2 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x310E JUMPI PUSH2 0x310E PUSH2 0x591D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0xFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF DUP6 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE DUP1 PUSH2 0x313A DUP2 PUSH2 0x5C77 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3084 JUMP JUMPDEST POP PUSH2 0x315B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5EBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 PUSH2 0x36B3 JUMP JUMPDEST POP POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2393 SWAP1 DUP5 SWAP1 PUSH2 0x5B63 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3193 DUP4 PUSH2 0x3D36 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x31B5 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31C0 DUP4 PUSH2 0x2500 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x31DF JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x27A2 JUMP JUMPDEST PUSH2 0x31E7 PUSH2 0x24F1 JUMP JUMPDEST PUSH2 0x31F0 DUP3 PUSH2 0x3E87 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3201 SWAP3 SWAP2 SWAP1 PUSH2 0x5C96 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3225 DUP4 PUSH1 0x0 PUSH2 0x3954 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3238 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x325E SWAP1 PUSH2 0x40D7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x3277 DUP3 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0x3280 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH2 0xF8F DUP4 DUP4 PUSH2 0x3754 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E9E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x32A2 DUP2 PUSH2 0x340B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3318 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3322 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x3390 PUSH2 0x4F19 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x339B DUP4 PUSH2 0x322D JUMP JUMPDEST SWAP1 POP PUSH2 0x27A2 DUP2 PUSH2 0x2441 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33B0 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x33D7 PUSH2 0x345E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1358 DUP2 CALLER PUSH2 0x4107 JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE2A JUMPI POP PUSH2 0xE2A DUP3 PUSH2 0x4132 JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x348E DUP4 PUSH2 0x3D36 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xE2A JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x34C5 PUSH2 0x345E JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x4157 JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x351E PUSH2 0x391B JUMP JUMPDEST PUSH2 0x3527 DUP4 PUSH2 0x2CAF JUMP JUMPDEST ISZERO PUSH2 0x359A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35A7 DUP6 DUP6 DUP6 PUSH2 0x4261 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x35C7 JUMPI POP PUSH2 0x35C5 DUP2 PUSH2 0x2523 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3607 JUMPI PUSH2 0x3604 PUSH2 0x35D7 PUSH2 0x2CA5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35E1 PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x4276 JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3626 JUMPI POP DUP4 PUSH2 0x3624 DUP3 PUSH2 0x322D JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x363A JUMPI POP PUSH1 0x0 PUSH2 0x3638 DUP3 PUSH2 0x2523 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x3653 JUMPI PUSH2 0x3653 DUP2 PUSH2 0x364E DUP4 PUSH1 0x0 PUSH2 0xFF1 JUMP JUMPDEST PUSH2 0x3D7C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3673 JUMPI POP PUSH2 0x366F DUP6 PUSH2 0x2523 JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x3687 JUMPI PUSH2 0x3687 DUP6 PUSH2 0x364E DUP8 PUSH1 0x0 PUSH2 0xFF1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x36BE PUSH2 0x368F JUMP JUMPDEST SWAP1 POP PUSH2 0x36CA DUP5 DUP5 PUSH2 0x2C6F JUMP JUMPDEST PUSH2 0x374A JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x3700 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x375F PUSH2 0x368F JUMP JUMPDEST SWAP1 POP PUSH2 0x376B DUP5 DUP5 PUSH2 0x2C6F JUMP JUMPDEST ISZERO PUSH2 0x374A JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xE2A JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x382B JUMPI PUSH1 0x0 PUSH2 0x37E7 DUP5 PUSH2 0x4291 JUMP JUMPDEST PUSH2 0x37F1 SWAP1 DUP6 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x381B JUMPI DUP1 SWAP2 POP PUSH2 0x3829 JUMP JUMPDEST PUSH2 0x3826 DUP2 PUSH1 0x1 PUSH2 0x58D0 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x3839 DUP8 DUP8 DUP6 DUP6 PUSH2 0x4379 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3874 JUMPI PUSH2 0x385E DUP8 PUSH2 0x3850 PUSH1 0x1 DUP5 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x3877 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x388A PUSH2 0x43D3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3894 PUSH2 0x3CB4 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x38CE SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xEF1 PUSH1 0x0 DUP3 CALLER PUSH2 0x3514 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38EF PUSH2 0x43F8 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x3915 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x3923 PUSH2 0x1E45 JUMP JUMPDEST ISZERO PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x394D PUSH2 0x43F8 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3961 PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x39F6 JUMPI POP PUSH2 0x3978 DUP7 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x39C7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x39EB SWAP2 SWAP1 PUSH2 0x5900 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x3A3C JUMPI PUSH1 0x0 PUSH2 0x3A06 DUP7 PUSH2 0x135B JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x3A3A JUMPI PUSH1 0x0 PUSH2 0x3A1C DUP3 PUSH2 0x33A6 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x3A34 JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x3A36 JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x3A59 DUP4 PUSH1 0x1 PUSH2 0x58D0 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3ABC JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x3AA5 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3A9E SWAP1 DUP4 PUSH2 0x5B0D JUMP JUMPDEST SWAP2 POP PUSH2 0x3AAA JUMP JUMPDEST PUSH2 0x3ABC JUMP JUMPDEST DUP1 PUSH2 0x3AB4 DUP2 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3A5C JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3B50 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3B44 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEF1 DUP2 PUSH2 0x340B JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3BE0 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3BDD SWAP2 DUP2 ADD SWAP1 PUSH2 0x58B7 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3BFF JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3C30 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH2 0x11F2 DUP4 DUP4 PUSH2 0x441C JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3C8D PUSH2 0x3415 JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x3CA4 DUP4 PUSH2 0x57A3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x11F2 DUP4 DUP3 PUSH2 0x4472 JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x3D04 PUSH2 0x448C JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH2 0x44B1 JUMP JUMPDEST PUSH2 0x3941 PUSH2 0x448C JUMP JUMPDEST PUSH2 0x3D1E PUSH2 0x448C JUMP JUMPDEST PUSH2 0x3941 PUSH2 0x44DF JUMP JUMPDEST PUSH2 0x3D2E PUSH2 0x448C JUMP JUMPDEST PUSH2 0x3941 PUSH2 0x44FC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3D41 PUSH2 0x345E JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3D6B PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xE4D SWAP1 PUSH2 0x573A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3D8F DUP3 PUSH2 0x2436 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3DB5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP1 PUSH2 0x5864 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DBF PUSH2 0x3415 JUMP JUMPDEST SWAP1 POP PUSH2 0x3DF6 PUSH2 0x3DCC PUSH2 0x2CA5 JUMP JUMPDEST PUSH2 0x3DD5 DUP5 PUSH2 0x4504 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x4276 JUMP JUMPDEST POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC DUP4 PUSH1 0x40 MLOAD PUSH2 0x3E33 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3E48 PUSH2 0x391B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E52 PUSH2 0x3CB4 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x38C1 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3E94 DUP4 PUSH2 0x453C JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3EB3 JUMPI PUSH2 0x3EB3 PUSH2 0x516B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3EDD JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3EE7 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FB NUMBER PUSH2 0x4612 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F2E PUSH2 0x345E JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3F59 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1B6E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0xF8F JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x4002 SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5CEB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x403D JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x403A SWAP2 DUP2 ADD SWAP1 PUSH2 0x5D28 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x409D JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x406B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4070 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x4095 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x40D0 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2C66 JUMPI PUSH2 0x40F1 DUP4 PUSH2 0x3850 PUSH1 0x1 DUP5 PUSH2 0x5B0D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x27A2 JUMP JUMPDEST PUSH2 0x4111 DUP3 DUP3 PUSH2 0x2C6F JUMP JUMPDEST PUSH2 0xEF1 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x5774 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xE2A JUMPI POP PUSH2 0xE2A DUP3 PUSH2 0x4645 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4161 PUSH2 0x345E JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x4177 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x4230 JUMPI PUSH1 0x0 PUSH2 0x4187 DUP6 PUSH2 0x3482 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x41B3 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x41C6 JUMPI POP PUSH2 0x41C4 DUP2 DUP6 PUSH2 0x33CC JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x41E6 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST DUP3 ISZERO PUSH2 0x422E JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x426B PUSH2 0x391B JUMP JUMPDEST PUSH2 0x3687 DUP5 DUP5 DUP5 PUSH2 0x4695 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4284 DUP6 DUP6 DUP6 PUSH2 0x4723 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x42A3 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x42B0 DUP5 PUSH2 0x489D JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42C9 JUMPI PUSH2 0x42C9 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42E1 JUMPI PUSH2 0x42E1 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42F9 JUMPI PUSH2 0x42F9 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4311 JUMPI PUSH2 0x4311 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4329 JUMPI PUSH2 0x4329 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4341 JUMPI PUSH2 0x4341 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4359 JUMPI PUSH2 0x4359 PUSH2 0x5CD5 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x27A2 DUP2 DUP3 DUP6 DUP2 PUSH2 0x4373 JUMPI PUSH2 0x4373 PUSH2 0x5CD5 JUMP JUMPDEST DIV PUSH2 0x4931 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x3225 JUMPI PUSH1 0x0 PUSH2 0x4390 DUP5 DUP5 PUSH2 0x4947 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x43BF JUMPI DUP1 SWAP3 POP PUSH2 0x43CD JUMP JUMPDEST PUSH2 0x43CA DUP2 PUSH1 0x1 PUSH2 0x58D0 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x437C JUMP JUMPDEST PUSH2 0x43DB PUSH2 0x1E45 JUMP JUMPDEST PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x4425 DUP3 PUSH2 0x4962 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x446A JUMPI PUSH2 0x11F2 DUP3 DUP3 PUSH2 0x49BE JUMP JUMPDEST PUSH2 0xEF1 PUSH2 0x4A2B JUMP JUMPDEST PUSH2 0xEF1 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x4A4A JUMP JUMPDEST PUSH2 0x4494 PUSH2 0x4A61 JUMP JUMPDEST PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x44B9 PUSH2 0x448C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44C3 PUSH2 0x345E JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x44D0 DUP5 DUP3 PUSH2 0x5A4E JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0xF8F DUP4 DUP3 PUSH2 0x5A4E JUMP JUMPDEST PUSH2 0x44E7 PUSH2 0x448C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44F1 PUSH2 0x3CB4 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x3943 PUSH2 0x448C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x4538 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD23 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x457B JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x45A5 JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x45C3 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x45DB JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x45EF JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4601 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xE2A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4538 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x4676 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xE2A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xE2A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x46A3 DUP6 DUP6 DUP6 PUSH2 0x4A7B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x46C1 JUMPI PUSH2 0x46BC DUP5 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x46E4 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x46E4 JUMPI PUSH2 0x46E4 DUP2 DUP6 PUSH2 0x4BBB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4700 JUMPI PUSH2 0x46FB DUP5 PUSH2 0x4C5C JUMP JUMPDEST PUSH2 0x3687 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3687 JUMPI PUSH2 0x3687 DUP6 DUP6 PUSH2 0x4D25 JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x4842 JUMPI PUSH1 0x0 PUSH2 0x4741 DUP8 PUSH2 0x3850 PUSH1 0x1 DUP6 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x4795 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x47E1 JUMPI DUP5 PUSH2 0x47B8 DUP9 PUSH2 0x3850 PUSH1 0x1 DUP7 PUSH2 0x5B0D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x4832 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x4289 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x4289 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x48B2 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x48C4 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x48D6 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x48E8 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x48FA JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x490C JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x491E JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xE2A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x4940 JUMPI DUP2 PUSH2 0x27A2 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4956 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x5D45 JUMP JUMPDEST PUSH2 0x27A2 SWAP1 DUP5 DUP5 AND PUSH2 0x58D0 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x498F JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5E3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x49DB SWAP2 SWAP1 PUSH2 0x59EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4A16 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4A1B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2D89 DUP6 DUP4 DUP4 PUSH2 0x4D7D JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3941 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4A54 DUP4 DUP4 PUSH2 0x4DD0 JUMP JUMPDEST PUSH2 0x11F2 PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3FC0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A6B PUSH2 0x3CD8 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4A86 PUSH2 0x345E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4A93 DUP6 PUSH2 0x3D36 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x4AAF JUMPI PUSH2 0x4AAF DUP2 DUP6 DUP8 PUSH2 0x4E35 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x4AEF JUMPI PUSH2 0x4ACC PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x4157 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4B20 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B8C PUSH2 0x34F0 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4BC5 PUSH2 0x34F0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4BD2 DUP5 PUSH2 0x2523 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x4C27 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C66 PUSH2 0x34F0 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x4C7D SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x4CA9 JUMPI PUSH2 0x4CA9 PUSH2 0x591D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x4CCC JUMPI PUSH2 0x4CCC PUSH2 0x591D JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x4D08 JUMPI PUSH2 0x4D08 PUSH2 0x5D67 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D2F PUSH2 0x34F0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x4D3E DUP6 PUSH2 0x2523 JUMP JUMPDEST PUSH2 0x4D48 SWAP2 SWAP1 PUSH2 0x5B0D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4D92 JUMPI PUSH2 0x4D8D DUP3 PUSH2 0x4E8B JUMP JUMPDEST PUSH2 0x27A2 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4DA9 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4DC9 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST POP DUP1 PUSH2 0x27A2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4DFA JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4E08 DUP4 DUP4 PUSH1 0x0 PUSH2 0x3514 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP2 SWAP1 PUSH2 0x502B JUMP JUMPDEST PUSH2 0x4E40 DUP4 DUP4 DUP4 PUSH2 0x4EB4 JUMP JUMPDEST PUSH2 0x11F2 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4E6E JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xD23 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD23 SWAP3 SWAP2 SWAP1 PUSH2 0x5774 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4E9B JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x3687 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x4EEE JUMPI POP PUSH2 0x4EEE DUP5 DUP5 PUSH2 0x33CC JUMP JUMPDEST DUP1 PUSH2 0x3687 JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4F07 DUP4 PUSH2 0x34BA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F6E DUP2 PUSH2 0x4F41 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x27A2 DUP2 PUSH2 0x4F7C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4FCA JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4FB2 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4FEB DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4FAF JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x27A2 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4FD3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5024 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x505F DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5077 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F6E DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5097 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x50A2 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x50B2 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x50E8 DUP2 PUSH2 0x503F JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5105 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x27A2 DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x512E DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x50E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x515C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x180 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x51A4 JUMPI PUSH2 0x51A4 PUSH2 0x516B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x51D2 JUMPI PUSH2 0x51D2 PUSH2 0x516B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x51EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5204 JUMPI PUSH2 0x5204 PUSH2 0x516B JUMP JUMPDEST PUSH2 0x5217 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x51AA JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x522C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x525C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5267 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5282 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x528E DUP6 DUP3 DUP7 ADD PUSH2 0x51DA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x52AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x52C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3687 DUP5 DUP3 DUP6 ADD PUSH2 0x51DA JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x52EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x27A2 DUP2 PUSH2 0x52CC JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5308 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5323 JUMPI PUSH2 0x5323 PUSH2 0x516B JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x5332 DUP3 DUP3 ADD PUSH2 0x51AA JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x534C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x3877 JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x5352 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x537D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5394 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x180 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x53A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53B1 PUSH2 0x5181 JUMP JUMPDEST DUP3 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x53C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53CC DUP8 DUP3 DUP7 ADD PUSH2 0x51DA JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x53E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53ED DUP8 DUP3 DUP7 ADD PUSH2 0x51DA JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x53FF PUSH1 0x40 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x5410 PUSH1 0x60 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x5421 PUSH1 0x80 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x5432 PUSH1 0xA0 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x5443 PUSH1 0xC0 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP4 ADD CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x5466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5472 DUP9 DUP3 DUP8 ADD PUSH2 0x51DA JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x120 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x548C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5498 DUP9 DUP3 DUP8 ADD PUSH2 0x52F7 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x140 SWAP2 POP PUSH2 0x54AE DUP3 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x160 SWAP2 POP PUSH2 0x54C2 DUP3 DUP5 ADD PUSH2 0x5054 JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x54F0 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x4FD3 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x27A2 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x54D1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5538 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5543 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x55AD JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x559B DUP6 DUP4 MLOAD PUSH2 0x54D1 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x557F JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x55D8 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x50E8 DUP2 PUSH2 0x52CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5610 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3687 DUP5 DUP3 DUP6 ADD PUSH2 0x52F7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5632 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x563D DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x564D DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x566F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x567B DUP8 DUP3 DUP9 ADD PUSH2 0x51DA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x569D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x56A8 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x56B8 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x56C8 DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x56E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x567B DUP8 DUP3 DUP9 ADD PUSH2 0x52F7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5701 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x27A2 DUP2 PUSH2 0x4F41 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x571F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x572A DUP2 PUSH2 0x503F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x50E8 DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x574E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x576E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x57B5 JUMPI PUSH2 0x57B5 PUSH2 0x578D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x505F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x57EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 MLOAD PUSH2 0x57F9 DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH1 0x20 DUP10 ADD MLOAD SWAP1 SWAP8 POP PUSH2 0x580A DUP2 PUSH2 0x4F41 JUMP JUMPDEST PUSH1 0x40 DUP10 ADD MLOAD SWAP1 SWAP7 POP PUSH2 0x581B DUP2 PUSH2 0x52CC JUMP JUMPDEST PUSH1 0x60 DUP10 ADD MLOAD SWAP1 SWAP6 POP PUSH2 0x582C DUP2 PUSH2 0x52CC JUMP JUMPDEST SWAP4 POP PUSH2 0x583A PUSH1 0x80 DUP10 ADD PUSH2 0x57BC JUMP JUMPDEST SWAP3 POP PUSH2 0x5848 PUSH1 0xA0 DUP10 ADD PUSH2 0x57BC JUMP JUMPDEST SWAP2 POP PUSH2 0x5856 PUSH1 0xC0 DUP10 ADD PUSH2 0x57BC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x58C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x578D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x58F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x27A2 DUP2 PUSH2 0x52CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5912 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x27A2 DUP2 PUSH2 0x503F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x5984 DUP2 PUSH2 0x573A JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x599C JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x59B1 JUMPI PUSH2 0x59E0 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x59E0 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x59D7 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x59BE JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x59FE DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4FAF JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5A2F JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x239C JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5A3B JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5A67 JUMPI PUSH2 0x5A67 PUSH2 0x516B JUMP JUMPDEST PUSH2 0x5A7B DUP2 PUSH2 0x5A75 DUP5 SLOAD PUSH2 0x573A JUMP JUMPDEST DUP5 PUSH2 0x5A08 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5AB0 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x5A98 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x239C JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5ADF JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5AC0 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5AFD JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x578D JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x35 SWAP1 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5DBE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x36 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F7665636861696E4E6F6465732063616E6E PUSH1 0x40 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D7E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x5C0F DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4FAF JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xE2A JUMPI PUSH2 0xE2A PUSH2 0x578D JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5C6B JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x5C4F JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x5C8D JUMPI PUSH2 0x5C8D PUSH2 0x578D JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5CA8 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4FAF JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x5CBC DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4FAF JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5D1E SWAP1 DUP4 ADD DUP5 PUSH2 0x4FD3 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5D3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x27A2 DUP2 PUSH2 0x4F7C JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5D62 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 0x4D PUSH2 0x7820 PUSH13 0x6576656C206D75737420626547 PUSH2 0x6C61 PUSH25 0x79204D656D6265723A204233545220746F2075706772616465 KECCAK256 PUSH14 0xC7F505B2F371AE2175EE4913F449 SWAP15 0x1F 0x26 CALLER 0xA7 0xB5 SWAP4 PUSH4 0x21EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E347 PUSH2 0x6C61 PUSH25 0x794D656D6265723A20696E76616C6964206E6F646520667265 PUSH6 0x20360894A13B LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A9F2DF0FE 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F547616C6178794D656D PUSH3 0x65723A KECCAK256 PUSH23 0x65636861696E206E6F6465206E6F74206FA26469706673 PC 0x22 SLT KECCAK256 0xCC EXTCODESIZE PUSH24 0x604E7360A7A04AE4843C3DFBD98801572161F688A574523D DUP10 ISZERO MOD PUSH20 0x7C64736F6C634300081400330000000000000000 ","sourceMap":"4195:35128:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24438:451;;;;;;;;;;-1:-1:-1;24438:451:69;;;;;:::i;:::-;;:::i;:::-;;38869:219;;;;;;;;;;-1:-1:-1;38869:219:69;;;;;:::i;:::-;;:::i;:::-;;;1000:14:150;;993:22;975:41;;963:2;948:18;38869:219:69;;;;;;;;3546:146:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4792:154::-;;;;;;;;;;-1:-1:-1;4792:154:5;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4618:113::-;;;;;;;;;;-1:-1:-1;4618:113:5;;;;;:::i;:::-;;:::i;3048:179:7:-;;;;;;;;;;;;;:::i;:::-;;;2917:25:150;;;2905:2;2890:18;3048:179:7;2771:177:150;5495:578:5;;;;;;;;;;-1:-1:-1;5495:578:5;;;;;:::i;:::-;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;30682:197:69:-;;;;;;;;;;-1:-1:-1;30682:197:69;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;2645:332:7:-;;;;;;;;;;-1:-1:-1;2645:332:7;;;;;:::i;:::-;;:::i;20232:648:69:-;;;;;;;;;;-1:-1:-1;20232:648:69;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;21089:502:69:-;;;;;;;;;;-1:-1:-1;21089:502:69;;;;;:::i;:::-;;:::i;28860:256::-;;;;;;;;;;-1:-1:-1;28860:256:69;;;;;:::i;:::-;;:::i;4850:76::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4850:76:69;;14693:77;;;;;;;;;;;;;:::i;28113:240::-;;;;;;;;;;-1:-1:-1;28113:240:69;;;;;:::i;:::-;;:::i;:::-;;;4953:4:150;4941:17;;;4923:36;;4911:2;4896:18;28113:240:69;4781:184:150;6139:132:5;;;;;;;;;;-1:-1:-1;6139:132:5;;;;;:::i;:::-;;:::i;17429:213:69:-;;;;;;;;;;-1:-1:-1;17429:213:69;;;;;:::i;:::-;;:::i;15361:912::-;;;;;;;;;;-1:-1:-1;15361:912:69;;;;;:::i;:::-;;:::i;18665:956::-;;;;;;;;;;-1:-1:-1;18665:956:69;;;;;:::i;:::-;;:::i;36883:115::-;;;;;;;;;;-1:-1:-1;36955:38:69;;;;;;;;;;;;;;;;;36883:115;;4158:214:3;;;;;;:::i;:::-;;:::i;3299:303:7:-;;;;;;;;;;-1:-1:-1;3299:303:7;;;;;:::i;:::-;;:::i;32581:149:69:-;;;;;;;;;;-1:-1:-1;32581:149:69;;;;;:::i;:::-;;:::i;3705:134:3:-;;;;;;;;;;;;;:::i;33768:86:69:-;;;;;;;;;;-1:-1:-1;33839:10:69;;;;;;;;;;;;-1:-1:-1;;;33839:10:69;;;;33768:86;;22339:336;;;;;;;;;;-1:-1:-1;22339:336:69;;;;;:::i;:::-;;:::i;31901:133::-;;;;;;;;;;;;;:::i;23532:241::-;;;;;;;;;;-1:-1:-1;23532:241:69;;;;;:::i;:::-;;:::i;14953:203::-;;;;;;;;;;;;;:::i;2692:145:12:-;;;;;;;;;;;;;:::i;31446:186:69:-;;;;;;;;;;;;;:::i;11161:1688::-;;;;;;;;;;-1:-1:-1;11161:1688:69;;;;;:::i;:::-;;:::i;23889:311::-;;;;;;;;;;-1:-1:-1;23889:311:69;;;;;:::i;:::-;;:::i;32087:143::-;;;;;;;;;;;;;:::i;3366:118:5:-;;;;;;;;;;-1:-1:-1;3366:118:5;;;;;:::i;:::-;;:::i;34112:455:69:-;;;;;;;;;;-1:-1:-1;34112:455:69;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;30480:91::-;;;;;;;;;;;;;:::i;25016:211::-;;;;;;;;;;-1:-1:-1;25016:211:69;;;;;:::i;:::-;;:::i;3044:265:5:-;;;;;;;;;;-1:-1:-1;3044:265:5;;;;;:::i;:::-;;:::i;31689:157:69:-;;;;;;;;;;;;;:::i;16395:87::-;;;;;;;;;;-1:-1:-1;16395:87:69;;;;;:::i;:::-;;:::i;14522:73::-;;;;;;;;;;;;;:::i;35194:1490::-;;;;;;;;;;-1:-1:-1;35194:1490:69;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;33387:153::-;;;;;;;;;;-1:-1:-1;33387:153:69;;;;;:::i;:::-;;:::i;17743:918::-;;;;;;;;;;-1:-1:-1;17743:918:69;;;;;:::i;:::-;;:::i;29876:541::-;;;;;;;;;;-1:-1:-1;29876:541:69;;;;;:::i;:::-;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;36736:90:69:-;;;;;;;;;;;;;:::i;:::-;;;12839:14:150;12827:27;;;12809:46;;12797:2;12782:18;36736:90:69;12665:196:150;4746:100:69;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4746:100:69;;32839:149;;;;;;;;;;-1:-1:-1;32839:149:69;;;;;:::i;:::-;;:::i;3756:150:5:-;;;;;;;;;;;;;:::i;29269:206:69:-;;;;;;;;;;-1:-1:-1;29269:206:69;;;;;:::i;:::-;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;5013:144:5;;;;;;;;;;-1:-1:-1;5013:144:5;;;;;:::i;:::-;;:::i;32312:151:69:-;;;;;;;;;;;;;:::i;25336:691::-;;;;;;;;;;-1:-1:-1;25336:691:69;;;;;:::i;:::-;;:::i;16601:129::-;;;;;;;;;;-1:-1:-1;16601:129:69;;;;;:::i;:::-;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;22867:520:69;;;;;;;;;;-1:-1:-1;22867:520:69;;;;;:::i;:::-;;:::i;6337:208:5:-;;;;;;;;;;-1:-1:-1;6337:208:5;;;;;:::i;:::-;;:::i;13047:973:69:-;;;;;;;;;;-1:-1:-1;13047:973:69;;;;;:::i;:::-;;:::i;31069:312::-;;;;;;;;;;-1:-1:-1;31069:312:69;;;;;:::i;:::-;;:::i;29579:175::-;;;;;;;;;;-1:-1:-1;29579:175:69;;;;;:::i;:::-;;:::i;28464:207::-;;;;;;;;;;-1:-1:-1;28464:207:69;;;;;:::i;:::-;;:::i;4680:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4680:62:69;;5662:138:0;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;21766:418:69:-;;;;;;;;;;-1:-1:-1;21766:418:69;;;;;:::i;:::-;;:::i;34730:188::-;;;;;;;;;;-1:-1:-1;34730:188:69;;;;;:::i;:::-;;:::i;33126:161::-;;;;;;;;;;-1:-1:-1;33126:161:69;;;;;:::i;:::-;;:::i;4614:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4614:62:69;;5223:210:5;;;;;;;;;;-1:-1:-1;5223:210:5;;;;;:::i;:::-;;:::i;4544:66:69:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4544:66:69;;24438:451;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;24572:1:69::1;24563:5;:10;;24555:50;;;::::0;-1:-1:-1;;;24555:50:69;;15890:2:150;24555:50:69::1;::::0;::::1;15872:21:150::0;15929:2;15909:18;;;15902:30;-1:-1:-1;;;15948:18:150;;;15941:57;16015:18;;24555:50:69::1;;;;;;;;;24632:1;24619:9;:14;;;;24611:59;;;::::0;-1:-1:-1;;;24611:59:69;;16246:2:150;24611:59:69::1;::::0;::::1;16228:21:150::0;;;16265:18;;;16258:30;16324:34;16304:18;;;16297:62;16376:18;;24611:59:69::1;16044:356:150::0;24611:59:69::1;24677:29;24709:25;:23;:25::i;:::-;24677:57;;24758:1;:11;;;24749:5;:20;;24741:92;;;::::0;-1:-1:-1;;;24741:92:69;;16607:2:150;24741:92:69::1;::::0;::::1;16589:21:150::0;16646:2;16626:18;;;16619:30;16685:34;16665:18;;;16658:62;-1:-1:-1;;;16736:18:150;;;16729:57;16803:19;;24741:92:69::1;16405:423:150::0;24741:92:69::1;24840:36;::::0;;::::1;;::::0;;;:25:::1;::::0;;::::1;:36;::::0;-1:-1:-1;24840:36:69;;;;:44;24438:451::o;38869:219::-;39028:4;39047:36;39071:11;39047:23;:36::i;:::-;39040:43;38869:219;-1:-1:-1;;38869:219:69:o;3546:146:5:-;3591:13;3616:23;3642:19;:17;:19::i;:::-;3616:45;;3678:1;:7;;3671:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3546:146;:::o;4792:154::-;4859:7;4878:22;4892:7;4878:13;:22::i;:::-;;4918:21;4931:7;4918:12;:21::i;4618:113::-;4689:35;4698:2;4702:7;966:10:11;4689:8:5;:35::i;:::-;4618:113;;:::o;3048:179:7:-;3100:7;3119:33;3155:29;:27;:29::i;:::-;3201:12;;:19;;3048:179;-1:-1:-1;;3048:179:7:o;5495:578:5:-;-1:-1:-1;;;;;5589:16:5;;5585:87;;5658:1;5628:33;;-1:-1:-1;;;5628:33:5;;;;;;;;:::i;5585:87::-;5890:21;5914:34;5922:2;5926:7;966:10:11;5914:7:5;:34::i;:::-;5890:58;;5979:4;-1:-1:-1;;;;;5962:21:5;:13;-1:-1:-1;;;;;5962:21:5;;5958:109;;6006:50;;-1:-1:-1;;;6006:50:5;;-1:-1:-1;;;;;17476:15:150;;;6006:50:5;;;17458:34:150;17508:18;;;17501:34;;;17571:15;;17551:18;;;17544:43;17393:18;;6006:50:5;17218:375:150;5958:109:5;5575:498;5495:578;;;:::o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;30682:197:69:-;30759:7;30774:29;30806:25;:23;:25::i;:::-;30844:30;;;;:23;;:30;;-1:-1:-1;;30844:30:69;;;;;30682:197::o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;2645:332:7:-:0;2733:7;2752:33;2788:29;:27;:29::i;:::-;2752:65;;2840:16;2850:5;2840:9;:16::i;:::-;2831:5;:25;2827:99;;2902:5;2909;2879:36;;-1:-1:-1;;;2879:36:7;;;;;;;;;:::i;2827:99::-;-1:-1:-1;;;;;2942:21:7;;:14;:21;;;;;;;;;;;:28;;;;;;;;;-1:-1:-1;2645:332:7;;;;:::o;20232:648:69:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;20318:29:69::1;20350:25;:23;:25::i;:::-;20318:57;;20398:1;:11;;;20390:5;:19;20382:99;;;::::0;-1:-1:-1;;;20382:99:69;;18079:2:150;20382:99:69::1;::::0;::::1;18061:21:150::0;18118:2;18098:18;;;18091:30;-1:-1:-1;;;;;;;;;;;18137:18:150;;;18130:62;18228:34;18208:18;;;18201:62;-1:-1:-1;;;18279:19:150;;;18272:34;18323:19;;20382:99:69::1;17877:471:150::0;20382:99:69::1;20554:1;20537:232;20562:5;20557:1;:10;20537:232;;20619:1;20590:26:::0;;;:23:::1;::::0;::::1;:26;::::0;;;;;20582:109:::1;;;::::0;-1:-1:-1;;;20582:109:69;;18555:2:150;20582:109:69::1;::::0;::::1;18537:21:150::0;18594:2;18574:18;;;18567:30;-1:-1:-1;;;;;;;;;;;18613:18:150;;;18606:62;18704:34;18684:18;;;18677:62;-1:-1:-1;;;18755:19:150;;;18748:33;18798:19;;20582:109:69::1;18353:470:150::0;20582:109:69::1;20569:3:::0;::::1;::::0;::::1;:::i;:::-;;;;20537:232;;;-1:-1:-1::0;20794:11:69::1;::::0;::::1;::::0;;20812:19;;;;20843:32:::1;::::0;;19274:25:150;;;19330:2;19315:18;;19308:34;;;20843:32:69::1;::::0;19247:18:150;20843:32:69::1;;;;;;;20312:568;;20232:648:::0;;:::o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;21089:502:69:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;21238:35:69;::::1;21230:111;;;::::0;-1:-1:-1;;;21230:111:69;;19555:2:150;21230:111:69::1;::::0;::::1;19537:21:150::0;19594:2;19574:18;;;19567:30;19633:34;19613:18;;;19606:62;19704:33;19684:18;;;19677:61;19755:19;;21230:111:69::1;19353:427:150::0;21230:111:69::1;21347:29;21379:25;:23;:25::i;:::-;21482:22:::0;;21416:90:::1;::::0;21347:57;;-1:-1:-1;;;;;;21482:22:69;;::::1;::::0;21416:90;;::::1;::::0;::::1;::::0;21482:22:::1;::::0;21416:90:::1;21512:74:::0;;-1:-1:-1;;;;;;21512:74:69::1;-1:-1:-1::0;;;;;21512:74:69;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;21089:502:69:o;28860:256::-;28959:7;28974:29;29006:25;:23;:25::i;:::-;-1:-1:-1;;;;;29044:36:69;;;;;;:29;;;:36;;;;;28974:57;;-1:-1:-1;29044:67:69;;29099:11;29044:54;:67::i;:::-;-1:-1:-1;;;;;29037:74:69;;28860:256;-1:-1:-1;;;;28860:256:69:o;14693:77::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;14755:10:69::1;:8;:10::i;:::-;14693:77:::0;:::o;28113:240::-;28182:5;28195:29;28227:25;:23;:25::i;:::-;28291:14;;;;:34;;-1:-1:-1;;;28291:34:69;;;;;2917:25:150;;;28291:14:69;;-1:-1:-1;28262:15:69;;28291:14;;;;-1:-1:-1;;;;;28291:14:69;;:26;;2890:18:150;;28291:34:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;28259:66:69;;28113:240;-1:-1:-1;;;;;;;;;28113:240:69:o;6139:132:5:-;6225:39;6242:4;6248:2;6252:7;6225:39;;;;;;;;;;;;:16;:39::i;17429:213:69:-;17545:10;17525:16;17533:7;17525;:16::i;:::-;-1:-1:-1;;;;;17525:30:69;;17517:94;;;;-1:-1:-1;;;17517:94:69;;;;;;;:::i;:::-;17618:19;17629:7;17618:10;:19::i;15361:912::-;3251:21:13;:19;:21::i;:::-;2316:19:12::1;:17;:19::i;:::-;15471:10:69::2;15451:16;15459:7:::0;15451::::2;:16::i;:::-;-1:-1:-1::0;;;;;15451:30:69::2;;15443:94;;;::::0;-1:-1:-1;;;15443:94:69;;21482:2:150;15443:94:69::2;::::0;::::2;21464:21:150::0;21521:2;21501:18;;;21494:30;21560:34;21540:18;;;21533:62;-1:-1:-1;;;21611:18:150;;;21604:49;21670:19;;15443:94:69::2;21280:415:150::0;15443:94:69::2;15543:29;15575:25;:23;:25::i;:::-;15543:57;;15607:20;15630:16;15638:7;15630;:16::i;:::-;15607:39;;15676:11;:9;:11::i;:::-;15661:12;:26;15653:83;;;::::0;-1:-1:-1;;;15653:83:69;;21902:2:150;15653:83:69::2;::::0;::::2;21884:21:150::0;21941:2;21921:18;;;21914:30;21980:34;21960:18;;;21953:62;-1:-1:-1;;;22031:18:150;;;22024:42;22083:19;;15653:83:69::2;21700:408:150::0;15653:83:69::2;15743:20;15766:25;15783:7;15766:16;:25::i;:::-;15806:6;::::0;::::2;::::0;:28:::2;::::0;-1:-1:-1;;;15806:28:69;;15743:48;;-1:-1:-1;15743:48:69;;-1:-1:-1;;;;;15806:6:69;;::::2;::::0;:16:::2;::::0;:28:::2;::::0;15823:10:::2;::::0;15806:28:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;15798:103;;;::::0;-1:-1:-1;;;15798:103:69;;22504:2:150;15798:103:69::2;::::0;::::2;22486:21:150::0;22543:2;22523:18;;;22516:30;22582:34;22562:18;;;22555:62;-1:-1:-1;;;22633:18:150;;;22626:44;22687:19;;15798:103:69::2;22302:410:150::0;15798:103:69::2;15923:6;::::0;::::2;::::0;:43:::2;::::0;-1:-1:-1;;;15923:43:69;;15940:10:::2;15923:43;::::0;::::2;22929:34:150::0;15960:4:69::2;22979:18:150::0;;;22972:43;15970:12:69;;-1:-1:-1;;;;;15923:6:69::2;::::0;:16:::2;::::0;22864:18:150;;15923:43:69::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;15908:138;;;::::0;-1:-1:-1;;;15908:138:69;;23228:2:150;15908:138:69::2;::::0;::::2;23210:21:150::0;23267:2;23247:18;;;23240:30;23306:34;23286:18;;;23279:62;-1:-1:-1;;;23357:18:150;;;23350:46;23413:19;;15908:138:69::2;23026:412:150::0;15908:138:69::2;16053:32;::::0;;;:23:::2;::::0;::::2;:32;::::0;;;;:48;;16089:12;;16053:32;:48:::2;::::0;16089:12;;16053:48:::2;:::i;:::-;::::0;;;-1:-1:-1;;16116:6:69::2;::::0;::::2;::::0;16148:10:::2;::::0;::::2;::::0;16116:57:::2;::::0;-1:-1:-1;;;16116:57:69;;16136:10:::2;16116:57;::::0;::::2;23813:34:150::0;-1:-1:-1;;;;;16148:10:69;;::::2;23863:18:150::0;;;23856:43;23915:18;;;23908:34;;;16116:6:69;::::2;::::0;:19:::2;::::0;23748:18:150;;16116:57:69::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16108:99;;;::::0;-1:-1:-1;;;16108:99:69;;24405:2:150;16108:99:69::2;::::0;::::2;24387:21:150::0;24444:2;24424:18;;;24417:30;24483:31;24463:18;;;24456:59;24532:18;;16108:99:69::2;24203:353:150::0;16108:99:69::2;16228:7;16219:49;16237:12;16251:16;16259:7;16251;:16::i;:::-;16219:49;::::0;;19274:25:150;;;19330:2;19315:18;;19308:34;;;;19247:18;16219:49:69::2;;;;;;;15437:836;;;3293:20:13::0;:18;:20::i;18665:956:69:-;2316:19:12;:17;:19::i;:::-;18758:29:69::1;18790:25;:23;:25::i;:::-;18758:57:::0;-1:-1:-1;18857:10:69::1;18837:16;18845:7:::0;18837::::1;:16::i;:::-;-1:-1:-1::0;;;;;18837:30:69::1;;:100;;;-1:-1:-1::0;18879:16:69::1;::::0;::::1;::::0;:44:::1;::::0;-1:-1:-1;;;18879:44:69;;::::1;::::0;::::1;2917:25:150::0;;;18927:10:69::1;::::0;-1:-1:-1;;;;;18879:16:69::1;::::0;:31:::1;::::0;2890:18:150;;18879:44:69::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18879:58:69::1;;18837:100;:163;;;-1:-1:-1::0;18949:14:69::1;::::0;::::1;::::0;:37:::1;::::0;-1:-1:-1;;;18949:37:69;;::::1;::::0;::::1;2917:25:150::0;;;18990:10:69::1;::::0;18949:14:::1;::::0;::::1;-1:-1:-1::0;;;;;18949:14:69::1;::::0;:24:::1;::::0;2890:18:150;;18949:37:69::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18949:51:69::1;;18837:163;18822:280;;;::::0;-1:-1:-1;;;18822:280:69;;25019:2:150;18822:280:69::1;::::0;::::1;25001:21:150::0;25058:2;25038:18;;;25031:30;-1:-1:-1;;;;;;;;;;;25077:18:150;;;25070:62;25168:34;25148:18;;;25141:62;-1:-1:-1;;;25219:19:150;;;25212:53;25282:19;;18822:280:69::1;24817:490:150::0;18822:280:69::1;19152:7;19116:32;19136:11;19116:19;:32::i;:::-;:43;19108:100;;;::::0;-1:-1:-1;;;19108:100:69;;25514:2:150;19108:100:69::1;::::0;::::1;25496:21:150::0;25553:2;25533:18;;;25526:30;25592:34;25572:18;;;25565:62;-1:-1:-1;;;25643:18:150;;;25636:42;25695:19;;19108:100:69::1;25312:408:150::0;19108:100:69::1;19252:11;19222:26;19240:7;19222:17;:26::i;:::-;:41;19214:98;;;::::0;-1:-1:-1;;;19214:98:69;;25927:2:150;19214:98:69::1;::::0;::::1;25909:21:150::0;25966:2;25946:18;;;25939:30;26005:34;25985:18;;;25978:62;-1:-1:-1;;;26056:18:150;;;26049:42;26108:19;;19214:98:69::1;25725:408:150::0;19214:98:69::1;19326:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;19319:36;;;19368:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;19361:32;;;19405:34;19385:7;;19343:11;;19405:34:::1;::::0;19326:29;19405:34:::1;19506:13;19525:34;19548:7;19557:1;19525:22;:34::i;:::-;19505:54;;;19597:11;19588:7;19570:46;19610:5;19570:46;;;;2917:25:150::0;;2905:2;2890:18;;2771:177;19570:46:69::1;;;;;;;;18752:869;;18665:956:::0;;:::o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;3299:303:7:-:0;3365:7;3384:33;3420:29;:27;:29::i;:::-;3384:65;;3472:13;:11;:13::i;:::-;3463:5;:22;3459:101;;3539:1;3543:5;3508:41;;-1:-1:-1;;;3508:41:7;;;;;;;;;:::i;3459:101::-;3576:1;:12;;3589:5;3576:19;;;;;;;;:::i;:::-;;;;;;;;;3569:26;;;3299:303;;;:::o;32581:149:69:-;32655:7;32677:25;:23;:25::i;:::-;:48;;;;:40;;:48;;-1:-1:-1;32677:48:69;;;;;32581:149::o;3705:134:3:-;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;22339:336:69:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;22474:1:69::1;22451:12;22445:26;:30;22437:78;;;;-1:-1:-1::0;;;22437:78:69::1;;;;;;;:::i;:::-;22521:29;22553:25;:23;:25::i;:::-;22521:57;;22618:1;:15;;22589:45;;;;;;:::i;:::-;;;;;;;;22604:12;22589:45;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;22640:15;::::0;::::1;:30;22658:12:::0;22640:15;:30:::1;:::i;31901:133::-:0;31940:5;31953:29;31985:25;:23;:25::i;:::-;32023:6;;;-1:-1:-1;;;;;32023:6:69;;31901:133;-1:-1:-1;;31901:133:69:o;23532:241::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;23631:29:69::1;23663:25;:23;:25::i;:::-;23631:57;;23699:29;23719:8;23699:29;;;;1000:14:150::0;993:22;975:41;;963:2;948:18;;835:187;23699:29:69::1;;;;;;;;23734:23;;:34:::0;;-1:-1:-1;;23734:34:69::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;23532:241:69:o;14953:203::-;9592:29;9624:25;:23;:25::i;:::-;9664:23;;;;9592:57;;-1:-1:-1;9664:23:69;;9663:24;9655:76;;;;-1:-1:-1;;;9655:76:69;;30221:2:150;9655:76:69;;;30203:21:150;30260:2;30240:18;;;30233:30;30299:34;30279:18;;;30272:62;-1:-1:-1;;;30350:18:150;;;30343:37;30397:19;;9655:76:69;30019:403:150;9655:76:69;15029:36:::1;15054:10;15029:24;:36::i;:::-;15021:103;;;::::0;-1:-1:-1;;;15021:103:69;;30629:2:150;15021:103:69::1;::::0;::::1;30611:21:150::0;30668:2;30648:18;;;30641:30;30707:34;30687:18;;;30680:62;-1:-1:-1;;;30758:18:150;;;30751:52;30820:19;;15021:103:69::1;30427:418:150::0;15021:103:69::1;15131:20;15140:10;15131:8;:20::i;2692:145:12:-:0;2739:4;2755:25;2783:21;:19;:21::i;:::-;2821:9;;;;2692:145;-1:-1:-1;;2692:145:12:o;31446:186:69:-;31501:26;31535:29;31567:25;:23;:25::i;:::-;31605:22;-1:-1:-1;;;;;31605:22:69;;31446:186;-1:-1:-1;;31446:186:69:o;11161:1688::-;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;11264:1:69::1;11248:4;:13;;;:17;11240:77;;;::::0;-1:-1:-1;;;11240:77:69;;31052:2:150;11240:77:69::1;::::0;::::1;31034:21:150::0;31091:2;31071:18;;;31064:30;-1:-1:-1;;;;;;;;;;;31110:18:150;;;31103:62;-1:-1:-1;;;31181:18:150;;;31174:45;31236:19;;11240:77:69::1;30850:411:150::0;11240:77:69::1;11365:1;11337:4;:17;;;11331:31;:35;11323:83;;;;-1:-1:-1::0;;;11323:83:69::1;;;;;;;:::i;:::-;11420:9;::::0;::::1;::::0;-1:-1:-1;;;;;11420:23:69::1;11412:96;;;::::0;-1:-1:-1;;;11412:96:69;;31468:2:150;11412:96:69::1;::::0;::::1;31450:21:150::0;31507:2;31487:18;;;31480:30;31546:34;31526:18;;;31519:62;-1:-1:-1;;;31597:18:150;;;31590:58;31665:19;;11412:96:69::1;31266:424:150::0;11412:96:69::1;11522:13;::::0;::::1;::::0;-1:-1:-1;;;;;11522:27:69::1;11514:98;;;::::0;-1:-1:-1;;;11514:98:69;;31897:2:150;11514:98:69::1;::::0;::::1;31879:21:150::0;31936:2;31916:18;;;31909:30;31975:34;31955:18;;;31948:62;-1:-1:-1;;;32026:18:150;;;32019:56;32092:19;;11514:98:69::1;31695:422:150::0;11514:98:69::1;11685:1;11669:4;:13;;;:17;;;;:::i;:::-;11633:4;:25;;;:32;:53;;11618:150;;;::::0;-1:-1:-1;;;11618:150:69;;32457:2:150;11618:150:69::1;::::0;::::1;32439:21:150::0;32496:2;32476:18;;;32469:30;-1:-1:-1;;;;;;;;;;;32515:18:150;;;32508:62;32606:34;32586:18;;;32579:62;-1:-1:-1;;;32657:19:150;;;32650:33;32700:19;;11618:150:69::1;32255:470:150::0;11618:150:69::1;11775:37;11789:4;:9;;;11800:4;:11;;;11775:13;:37::i;:::-;11818:25;:23;:25::i;:::-;11849:23;:21;:23::i;:::-;11878;:21;:23::i;:::-;11907:22;:20;:22::i;:::-;11935:24;:22;:24::i;:::-;11965;:22;:24::i;:::-;11996:29;12028:25;:23;:25::i;:::-;11996:57;;12078:4;:17;;;12060:1;:15;;:35;;;;;;:::i;:::-;;12107:9;12102:290;12126:4;:25;;;:32;12122:1;:36;12102:290;;;12212:1;12181:4;:25;;;12207:1;12181:28;;;;;;;;:::i;:::-;;;;;;;:32;12173:98;;;;-1:-1:-1::0;;;12173:98:69::1;;;;;;;:::i;:::-;12312:4;:25;;;12338:1;12312:28;;;;;;;;:::i;:::-;;;;;;;12279:1;:23;;:30;12303:1;12307;12303:5;;;;:::i;:::-;12279:30:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12279:30:69;:61;12160:3;::::1;::::0;::::1;:::i;:::-;;;;12102:290;;;-1:-1:-1::0;12412:13:69::1;::::0;::::1;::::0;12398:11:::1;::::0;::::1;:27:::0;12447:9:::1;::::0;::::1;::::0;12432:6:::1;::::0;::::1;:25:::0;;-1:-1:-1;;;;;;12432:25:69;;::::1;-1:-1:-1::0;;;;;12432:25:69;;::::1;;::::0;;;12476:13:::1;::::0;::::1;::::0;12463:10:::1;::::0;::::1;:26:::0;;;;::::1;::::0;;::::1;;::::0;;12504:10:::1;::::0;::::1;::::0;:24:::1;12496:92;;;::::0;-1:-1:-1;;;12496:92:69;;33354:2:150;12496:92:69::1;::::0;::::1;33336:21:150::0;33393:2;33373:18;;;33366:30;33432:34;33412:18;;;33405:62;-1:-1:-1;;;33483:18:150;;;33476:53;33546:19;;12496:92:69::1;33152:419:150::0;12496:92:69::1;12594:42;2362:4:0;12605:18:69::0;::::1;12625:4;:10;;;12594;:42::i;:::-;;12642:40;-1:-1:-1::0;;;;;;;;;;;12668:4:69::1;:13;;;12642:10;:40::i;:::-;;12688:36;-1:-1:-1::0;;;;;;;;;;;12712:4:69::1;:11;;;12688:10;:36::i;:::-;;12730;-1:-1:-1::0;;;;;;;;;;;12754:4:69::1;:11;;;12730:10;:36::i;:::-;;12772:72;-1:-1:-1::0;;;;;;;;;;;12815:4:69::1;:28;;;12772:10;:72::i;:::-;;11234:1615;5070:14:2::0;5066:101;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;;;;;;;;;;;5142:14:2;;;5100:23;;5142:14;:::i;:::-;;;;;;;;5066:101;4092:1081;;;;;11161:1688:69;:::o;23889:311::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;23995:27:69;::::1;23987:94;;;;-1:-1:-1::0;;;23987:94:69::1;;;;;;;:::i;:::-;24087:29;24119:25;:23;:25::i;:::-;24150:14;;:45:::0;;-1:-1:-1;;;;;24150:45:69;;::::1;;;-1:-1:-1::0;;;;;;24150:45:69;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;23889:311:69:o;32087:143::-;32130:7;32145:29;32177:25;:23;:25::i;:::-;32215:10;;;-1:-1:-1;;;;;32215:10:69;;32087:143;-1:-1:-1;;32087:143:69:o;3366:118:5:-;3429:7;3455:22;3469:7;3455:13;:22::i;34112:455:69:-;34189:16;;:::i;:::-;34286:1;34257:17;34266:7;34257:8;:17::i;:::-;-1:-1:-1;;;;;34257:31:69;;34249:79;;;;-1:-1:-1;;;34249:79:69;;34415:2:150;34249:79:69;;;34397:21:150;34454:2;34434:18;;;34427:30;34493:34;34473:18;;;34466:62;-1:-1:-1;;;34544:18:150;;;34537:33;34587:19;;34249:79:69;34213:399:150;34249:79:69;34335:26;;:::i;:::-;34367:27;;;34421:17;34387:7;34421:8;:17::i;:::-;34400:18;;;:38;34467:16;34475:7;34467;:16::i;:::-;34444:20;;;:39;34515:25;34532:7;34515:16;:25::i;:::-;34489:23;;;:51;:9;34112:455;-1:-1:-1;;34112:455:69:o;30480:91::-;30528:13;30556:10;:8;:10::i;:::-;30549:17;;30480:91;:::o;25016:211::-;25079:7;25094:14;25111:26;25129:7;25111:17;:26::i;:::-;25094:43;;25145:13;25164:39;25187:7;25196:6;25164:22;:39::i;:::-;-1:-1:-1;25144:59:69;25016:211;-1:-1:-1;;;;25016:211:69:o;3044:265:5:-;3107:7;3126:23;3152:19;:17;:19::i;:::-;3126:45;-1:-1:-1;;;;;;3185:19:5;;3181:87;;3254:1;3227:30;;-1:-1:-1;;;3227:30:5;;;;;;;;:::i;3181:87::-;-1:-1:-1;;;;;3284:18:5;;;;;;;:11;;;;:18;;-1:-1:-1;3284:18:5;;;;;3044:265::o;31689:157:69:-;31736:13;31757:29;31789:25;:23;:25::i;:::-;31827:14;;;-1:-1:-1;;;;;31827:14:69;;31689:157;-1:-1:-1;;31689:157:69:o;16395:87::-;16449:28;16457:10;16469:7;16449;:28::i;14522:73::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;14582:8:69::1;:6;:8::i;35194:1490::-:0;35288:18;35346:4;35354:1;35346:9;35342:79;;35365:49;;-1:-1:-1;;;35365:49:69;;34819:2:150;35365:49:69;;;34801:21:150;34858:2;34838:18;;;34831:30;-1:-1:-1;;;;;;;;;;;34877:18:150;;;34870:62;-1:-1:-1;;;34948:18:150;;;34941:37;34995:19;;35365:49:69;34617:403:150;35342:79:69;35507:3;35586:26;;;35582:209;;;35728:37;35745:19;35728:16;:37::i;:::-;35656:110;;;;;;;;:::i;:::-;;;;-1:-1:-1;;35656:110:69;;;;;;;;;;-1:-1:-1;;;35622:162:69;;;;;;;:::i;35582:209::-;35797:15;35815:16;35825:5;35815:9;:16::i;:::-;35797:34;-1:-1:-1;35944:13:69;35960:11;35967:4;35960;:11;:::i;:::-;35944:27;;36072:7;36063:5;:16;36059:62;;36096:18;;;36112:1;36096:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;36089:25;;;;;;;36059:62;36170:11;36184:12;36192:4;36184:5;:12;:::i;:::-;36170:26;;36212:7;36206:3;:13;36202:106;;;-1:-1:-1;36235:7:69;36202:106;36362:17;36382:11;36388:5;36382:3;:11;:::i;:::-;36362:31;;36400:25;36444:9;-1:-1:-1;;;;;36428:26:69;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;36400:54;;36466:9;36461:199;36485:9;36481:1;:13;36461:199;;;36509:18;36530:9;36538:1;36530:5;:9;:::i;:::-;36509:30;;36547:15;36565:38;36585:5;36592:10;36565:19;:38::i;:::-;36547:56;;36623:30;36645:7;36623:21;:30::i;:::-;36611:6;36618:1;36611:9;;;;;;;;:::i;:::-;;;;;;:42;;;;36501:159;;36496:3;;;;;:::i;:::-;;;;36461:199;;;-1:-1:-1;36673:6:69;-1:-1:-1;;;;;;35194:1490:69;;;;;;:::o;33387:153::-;33457:7;33479:25;:23;:25::i;:::-;:56;;;;:47;;:56;;-1:-1:-1;33479:56:69;;;;;33387:153::o;17743:918::-;2316:19:12;:17;:19::i;:::-;17836:29:69::1;17868:25;:23;:25::i;:::-;17836:57:::0;-1:-1:-1;17928:10:69::1;17908:16;17916:7:::0;17908::::1;:16::i;:::-;-1:-1:-1::0;;;;;17908:30:69::1;;17900:82;;;::::0;-1:-1:-1;;;17900:82:69;;35919:2:150;17900:82:69::1;::::0;::::1;35901:21:150::0;35958:2;35938:18;;;35931:30;35997:34;35977:18;;;35970:62;-1:-1:-1;;;36048:18:150;;;36041:37;36095:19;;17900:82:69::1;35717:403:150::0;17900:82:69::1;18003:16;::::0;::::1;::::0;:44:::1;::::0;-1:-1:-1;;;18003:44:69;;::::1;::::0;::::1;2917:25:150::0;;;18051:10:69::1;::::0;-1:-1:-1;;;;;18003:16:69::1;::::0;:31:::1;::::0;2890:18:150;;18003:44:69::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18003:58:69::1;;17988:146;;;::::0;-1:-1:-1;;;17988:146:69;;36327:2:150;17988:146:69::1;::::0;::::1;36309:21:150::0;36366:2;36346:18;;;36339:30;-1:-1:-1;;;;;;;;;;;36385:18:150;;;36378:62;-1:-1:-1;;;36456:18:150;;;36449:55;36521:19;;17988:146:69::1;36125:421:150::0;17988:146:69::1;18148:32;18168:11;18148:19;:32::i;:::-;:37:::0;18140:96:::1;;;::::0;-1:-1:-1;;;18140:96:69;;36753:2:150;18140:96:69::1;::::0;::::1;36735:21:150::0;36792:2;36772:18;;;36765:30;36831:34;36811:18;;;36804:62;-1:-1:-1;;;36882:18:150;;;36875:44;36936:19;;18140:96:69::1;36551:410:150::0;18140:96:69::1;18250:26;18268:7;18250:17;:26::i;:::-;:31:::0;18242:90:::1;;;::::0;-1:-1:-1;;;18242:90:69;;37168:2:150;18242:90:69::1;::::0;::::1;37150:21:150::0;37207:2;37187:18;;;37180:30;37246:34;37226:18;;;37219:62;-1:-1:-1;;;37297:18:150;;;37290:44;37351:19;;18242:90:69::1;36966:410:150::0;18242:90:69::1;18339:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;:39;;;18384:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;:39;;;18435:34;18371:7;;18356:11;;18435:34:::1;::::0;18339:29;18435:34:::1;18536:13;18555:44;18578:7;18587:11;18555:22;:44::i;:::-;18535:64;;;18637:11;18628:7;18610:46;18650:5;18610:46;;;;2917:25:150::0;;2905:2;2890:18;;2771:177;29876:541:69;29953:4;29965:29;29997:25;:23;:25::i;:::-;30043:22;;29965:57;;-1:-1:-1;;;;;;30043:22:69;30028:143;;;;-1:-1:-1;;;30028:143:69;;37583:2:150;30028:143:69;;;37565:21:150;37622:2;37602:18;;;37595:30;37661:34;37641:18;;;37634:62;-1:-1:-1;;;37712:18:150;;;37705:46;37768:19;;30028:143:69;37381:412:150;30028:143:69;30185:14;;;;-1:-1:-1;;;;;30185:14:69;30177:100;;;;-1:-1:-1;;;30177:100:69;;38000:2:150;30177:100:69;;;37982:21:150;38039:2;38019:18;;;38012:30;38078:34;38058:18;;;38051:62;-1:-1:-1;;;38129:18:150;;;38122:33;38172:19;;30177:100:69;37798:399:150;30177:100:69;30288:22;;:41;;-1:-1:-1;;;30288:41:69;;-1:-1:-1;;;;;30288:22:69;;;;:35;;:41;;30324:4;;30288:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;-1:-1:-1;30333:14:69;;;;:33;;-1:-1:-1;;;30333:33:69;;-1:-1:-1;;;;;30333:14:69;;;;:27;;:33;;30361:4;;30333:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30284:110;;;-1:-1:-1;30383:4:69;;29876:541;-1:-1:-1;;29876:541:69:o;30284:110::-;-1:-1:-1;30407:5:69;;29876:541;-1:-1:-1;;29876:541:69:o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;36736:90:69:-;36782:6;36803:18;:16;:18::i;32839:149::-;32912:7;32934:25;:23;:25::i;:::-;:49;;;;:40;;:49;;-1:-1:-1;32934:49:69;;;;;32839:149::o;3756:150:5:-;3803:13;3828:23;3854:19;:17;:19::i;:::-;3828:45;;3890:1;:9;;3883:16;;;;;:::i;29269:206:69:-;29372:7;29388:13;29407:44;29430:7;29439:11;29407:22;:44::i;5013:144:5:-;5098:52;966:10:11;5131:8:5;5141;5098:18;:52::i;32312:151:69:-;32362:7;32377:29;32409:25;:23;:25::i;:::-;32447:11;;;;32312:151;-1:-1:-1;;32312:151:69:o;25336:691::-;25408:7;;25427:17;25436:7;25427:8;:17::i;:::-;-1:-1:-1;;;;;25427:31:69;;25423:45;;-1:-1:-1;25467:1:69;;25336:691;-1:-1:-1;25336:691:69:o;25423:45::-;25475:14;25492:26;25510:7;25492:17;:26::i;:::-;25475:43;;25597:20;25619:23;25646:39;25669:7;25678:6;25646:22;:39::i;:::-;25596:89;;;;25767:11;:9;:11::i;:::-;25751:12;:27;25747:56;;-1:-1:-1;25795:1:69;;25336:691;-1:-1:-1;;;;25336:691:69:o;25747:56::-;26007:15;25963:41;25987:16;:12;26002:1;25987:16;:::i;25963:41::-;:59;;;;:::i;:::-;25956:66;25336:691;-1:-1:-1;;;;;25336:691:69:o;16601:129::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;16702:23:69::1;16710:5;16717:7;16702;:23::i;22867:520::-:0;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;22989:29:69::1;23021:25;:23;:25::i;:::-;22989:57;;23057:9;23052:271;23072:20;:27;23068:1;:31;23052:271;;;23148:1;23122:20;23143:1;23122:23;;;;;;;;:::i;:::-;;;;;;;:27;23114:93;;;;-1:-1:-1::0;;;23114:93:69::1;;;;;;;:::i;:::-;23248:20;23269:1;23248:23;;;;;;;;:::i;:::-;;;;;;;23215:1;:23;;:30;23239:1;23243;23239:5;;;;:::i;:::-;23215:30:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;23215:30:69;:56;23101:3;::::1;::::0;::::1;:::i;:::-;;;;23052:271;;;;23333:49;23361:20;23333:49;;;;;;:::i;:::-;;;;;;;;22983:404;22867:520:::0;;:::o;6337:208:5:-;6450:31;6463:4;6469:2;6473:7;6450:12;:31::i;:::-;6491:47;6514:4;6520:2;6524:7;6533:4;6491:22;:47::i;13047:973:69:-;13216:1;6357:30:2;6390:26;:24;:26::i;:::-;6431:15;;;;-1:-1:-1;;;;6431:15:2;;;;;:44;;-1:-1:-1;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;;:14;;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1;;;6498:23:2;;;;;;;;;;;6427:105;6541:24;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;;6575:22;-1:-1:-1;;;6575:22:2;;;13233::69;;6575:15:2;13233:27:69::1;13225:96;;;::::0;-1:-1:-1;;;13225:96:69;;39041:2:150;13225:96:69::1;::::0;::::1;39023:21:150::0;39080:2;39060:18;;;39053:30;-1:-1:-1;;;;;;;;;;;39099:18:150;;;39092:62;-1:-1:-1;;;39170:18:150;;;39163:54;39234:19;;13225:96:69::1;38839:420:150::0;13225:96:69::1;-1:-1:-1::0;;;;;13335:27:69;::::1;13327:94;;;;-1:-1:-1::0;;;13327:94:69::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13435:30:69;::::1;13427:100;;;::::0;-1:-1:-1;;;13427:100:69;;39466:2:150;13427:100:69::1;::::0;::::1;39448:21:150::0;39505:2;39485:18;;;39478:30;39544:34;39524:18;;;39517:62;-1:-1:-1;;;39595:18:150;;;39588:55;39660:19;;13427:100:69::1;39264:421:150::0;13427:100:69::1;13534:29;13566:25;:23;:25::i;:::-;13598:14;::::0;::::1;:45:::0;;-1:-1:-1;;;;;;13598:45:69::1;;-1:-1:-1::0;;;;;13598:45:69;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;13649:16:::1;::::0;::::1;:54:::0;;-1:-1:-1;;;;;;13649:54:69::1;::::0;;::::1;::::0;;;::::1;::::0;;13727:14:::1;::::0;::::1;::::0;13598;;-1:-1:-1;13727:19:69;:40:::1;;13753:1;:14;;;13727:40;;;13749:1;13727:40;13710:14;::::0;::::1;:57:::0;13779:7:::1;13774:192;13792:15;:22;13788:1;:26;;;13774:192;;;13859:1;13837:15;13853:1;13837:18;;;;;;;;;;:::i;:::-;;;;;;;:23;;13829:73;;;::::0;-1:-1:-1;;;13829:73:69;;39892:2:150;13829:73:69::1;::::0;::::1;39874:21:150::0;39931:2;39911:18;;;39904:30;-1:-1:-1;;;;;;;;;;;39950:18:150;;;39943:62;-1:-1:-1;;;40021:18:150;;;40014:35;40066:19;;13829:73:69::1;39690:401:150::0;13829:73:69::1;13941:15;13957:1;13941:18;;;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;13910:28:::1;::::0;::::1;;::::0;;;:25:::1;::::0;::::1;:28:::0;;;;;;;:49;13936:1;13816:3:::1;13936:1:::0;13816:3:::1;:::i;:::-;;;;13774:192;;;;13972:43;-1:-1:-1::0;;;;;;;;;;;14003:11:69::1;13972:10;:43::i;:::-;-1:-1:-1::0;;6618:23:2;;-1:-1:-1;;;;6618:23:2;;;6656:20;;-1:-1:-1;;;;;;;;;;;6656:20:2;;;6668:7;;6656:20;:::i;31069:312:69:-;31161:13;31215:1;31186:17;31195:7;31186:8;:17::i;:::-;-1:-1:-1;;;;;31186:31:69;;31182:46;;-1:-1:-1;;31219:9:69;;;;;;;;;-1:-1:-1;31219:9:69;;;31069:312::o;31182:46::-;31235:20;31258:16;31266:7;31258;:16::i;:::-;31235:39;;31302:1;31287:12;:16;:89;;;;;;;;;;;;;;;;;31320:9;:7;:9::i;:::-;31331:30;31348:12;31331:16;:30::i;:::-;31306:65;;;;;;;;;:::i;:::-;;;;;;;;;;;;;31280:96;31069:312;-1:-1:-1;;;31069:312:69:o;29579:175::-;29661:7;29677:13;29696:34;29719:7;29728:1;29696:22;:34::i;:::-;-1:-1:-1;29676:54:69;29579:175;-1:-1:-1;;;29579:175:69:o;28464:207::-;28536:7;28551:29;28583:25;:23;:25::i;:::-;-1:-1:-1;;;;;28621:36:69;;;;;;:29;;;:36;;;;;28551:57;;-1:-1:-1;28621:45:69;;:43;:45::i;:::-;-1:-1:-1;;;;;28614:52:69;;28464:207;-1:-1:-1;;;28464:207:69:o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;21766:418:69:-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;21891:27:69;::::1;21883:95;;;::::0;-1:-1:-1;;;21883:95:69;;41340:2:150;21883:95:69::1;::::0;::::1;41322:21:150::0;41379:2;41359:18;;;41352:30;41418:34;41398:18;;;41391:62;-1:-1:-1;;;41469:18:150;;;41462:53;41532:19;;21883:95:69::1;41138:419:150::0;21883:95:69::1;21984:29;22016:25;:23;:25::i;:::-;22103:14;::::0;::::1;::::0;22053:66:::1;::::0;21984:57;;-1:-1:-1;;;;;;22103:14:69;;::::1;::::0;22053:66;;::::1;::::0;::::1;::::0;22103:14:::1;::::0;22053:66:::1;22125:14;;:54:::0;;-1:-1:-1;;;;;;22125:54:69::1;-1:-1:-1::0;;;;;22125:54:69;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;21766:418:69:o;34730:188::-;34803:16;;:::i;:::-;34827:15;34845:25;34864:5;34845:18;:25::i;:::-;34827:43;;34883:30;34905:7;34883:21;:30::i;33126:161::-;33200:7;33222:25;:23;:25::i;:::-;:60;;;;;;;;:49;;;;;:60;;-1:-1:-1;33222:60:69;;;;;33126:161::o;5223:210:5:-;5311:4;5327:23;5353:19;:17;:19::i;:::-;-1:-1:-1;;;;;5389:27:5;;;;;;;:20;;;;;:27;;;;;;;;:37;;;;;;;;;;-1:-1:-1;;5389:37:5;;;;;5223:210::o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;7682:158:69:-;7803:27;;7682:158::o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;;3602:36;3626:11;3602:23;:36::i;1958:156:5:-;2077:21;;1958:156::o;17836:241::-;17899:7;17918:13;17934:17;17943:7;17934:8;:17::i;:::-;17918:33;-1:-1:-1;;;;;;17965:19:5;;17961:88;;18007:31;;-1:-1:-1;;;18007:31:5;;;;;2917:25:150;;;2890:18;;18007:31:5;2771:177:150;7347:184:5;7417:7;7436:23;7462:19;:17;:19::i;:::-;7498:26;;;;:17;;:26;;-1:-1:-1;;7498:26:5;;;;-1:-1:-1;;;;;7498:26:5;;7347:184::o;16002:120::-;16082:33;16091:2;16095:7;16104:4;16110;16082:8;:33::i;1581:186:7:-;1720:31;;1581:186::o;37340:1116:69:-;37548:7;2316:19:12;:17;:19::i;:::-;37573:26:69::1;37591:7;37573:17;:26::i;:::-;:31:::0;37565:106:::1;;;::::0;-1:-1:-1;;;37565:106:69;;41764:2:150;37565:106:69::1;::::0;::::1;41746:21:150::0;41803:2;41783:18;;;41776:30;41842:34;41822:18;;;41815:62;41913:32;41893:18;;;41886:60;41963:19;;37565:106:69::1;41562:426:150::0;37565:106:69::1;37678:22;37703:32;37717:2;37721:7;37730:4;37703:13;:32::i;:::-;37678:57:::0;-1:-1:-1;;;;;;37804:28:69;::::1;::::0;;::::1;::::0;:62:::1;;;37836:25;37846:14;37836:9;:25::i;:::-;:30:::0;37804:62:::1;37800:169;;;37876:86;37951:7;:5;:7::i;:::-;37960:1;37876:25;:23;:25::i;:::-;-1:-1:-1::0;;;;;37876:69:69;::::1;;::::0;;;:53:::1;::::0;;;::::1;:69;::::0;;;;;:86;:74:::1;:86::i;:::-;;;37800:169;-1:-1:-1::0;;;;;38071:28:69;::::1;::::0;;::::1;::::0;:77:::1;;;38141:7;38103:34;38122:14;38103:18;:34::i;:::-;:45;38071:77;:110;;;;;38180:1;38152:25;38162:14;38152:9;:25::i;:::-;:29;38071:110;38060:206;;;38196:63;38204:14;38220:38;38240:14;38256:1;38220:19;:38::i;:::-;38196:7;:63::i;:::-;-1:-1:-1::0;;;;;38330:16:69;::::1;::::0;;::::1;::::0;:38:::1;;;38350:13;38360:2;38350:9;:13::i;:::-;38367:1;38350:18;38330:38;38326:98;;;38378:39;38386:2;38390:26;38410:2;38414:1;38390:19;:26::i;38378:39::-;38437:14:::0;37340:1116;-1:-1:-1;;;;37340:1116:69:o;2787:177:0:-;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;9441:606:39;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;3674:178:12:-;2563:16;:14;:16::i;:::-;3732:25:::1;3760:21;:19;:21::i;:::-;3791:17:::0;;-1:-1:-1;;3791:17:12::1;::::0;;;-1:-1:-1;3823:22:12::1;966:10:11::0;3832:12:12::1;3823:22;;;;;;:::i;:::-;;;;;;;;3722:130;3674:178::o:0;876:314:6:-;1141:42;1157:1;1161:7;966:10:11;5914:7:5;:34::i;3326:384:13:-;3375:32;3410:28;:26;:28::i;:::-;3526:9;;3375:63;;-1:-1:-1;;;3526:20:13;3522:88;;3569:30;;-1:-1:-1;;;3569:30:13;;;;;;;;;;;3522:88;1847:1;3684:19;;3326:384::o;2905:128:12:-;2970:8;:6;:8::i;:::-;2966:61;;;3001:15;;-1:-1:-1;;;3001:15:12;;;;;;;;;;;2966:61;2905:128::o;3716:283:13:-;3764:32;3799:28;:26;:28::i;:::-;1805:1;3969:23;;-1:-1:-1;3716:283:13:o;26258:1751:69:-;26354:7;26363;26378:29;26410:25;:23;:25::i;:::-;26378:57;-1:-1:-1;26558:1:69;26650:11;;;;;:74;;;26708:16;26716:7;26708;:16::i;:::-;26665;;;;:39;;-1:-1:-1;;;26665:39:69;;;;;2917:25:150;;;-1:-1:-1;;;;;26665:59:69;;;;:16;;;;:31;;2890:18:150;;26665:39:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;26665:59:69;;26650:74;26646:652;;;26844:15;26862:22;26877:6;26862:14;:22::i;:::-;26844:40;-1:-1:-1;26946:14:69;;;;26942:350;;27040:23;27066:29;27085:9;27066:18;:29::i;:::-;27040:55;;27240:1;:11;;;27221:15;:30;;:62;;27272:1;:11;;;27221:62;;;27254:15;27221:62;27213:70;;26962:330;26942:350;26726:572;26646:652;27400:23;27426:32;;;:23;;;:32;;;;;;;27614:9;:5;27622:1;27614:9;:::i;:::-;27602:21;;27597:319;27630:1;:11;;;27625:1;:16;27597:319;;27679:26;;;;:23;;;:26;;;;;;27660:45;;27656:254;;27755:26;;;;:23;;;:26;;;;;;27725:1;;-1:-1:-1;27725:1:69;;27736:45;;;;:::i;:::-;;;27656:254;;;27896:5;;27656:254;27643:3;;;;:::i;:::-;;;;27597:319;;;-1:-1:-1;27981:5:69;;;;-1:-1:-1;26258:1751:69;-1:-1:-1;;;;26258:1751:69:o;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;14236:98:69;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;2917:25:150;;;2890:18;;6312:34:3;2771:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;19884:184:69;19937:29;19969:25;:23;:25::i;:::-;20019:14;;;:16;;19937:57;;-1:-1:-1;20001:15:69;;20019:16;20001:15;20019:16;;;:::i;:::-;;;;;20001:34;;20041:22;20051:2;20055:7;20041:9;:22::i;1147:162:12:-;1270:23;;1147:162::o;8737:170:2:-;8870:21;;8737:170::o;2233:149:5:-;6931:20:2;:18;:20::i;:::-;2336:39:5::1;2360:5;2367:7;2336:23;:39::i;2115:68:7:-:0;6931:20:2;:18;:20::i;1155:103:8:-;6931:20:2;:18;:20::i;:::-;1224:27:8::1;:25;:27::i;2540:111:13:-:0;6931:20:2;:18;:20::i;:::-;2610:34:13::1;:32;:34::i;7059:172:5:-:0;7125:7;7144:23;7170:19;:17;:19::i;:::-;7206:18;;;;:9;;:18;;-1:-1:-1;;7206:18:5;;;;-1:-1:-1;;;;;7206:18:5;;7059:172::o;39158:163:69:-;39210:13;39231:29;39263:25;:23;:25::i;:::-;39231:57;;39301:1;:15;;39294:22;;;;;:::i;16886:352::-;16986:5;-1:-1:-1;;;;;16966:25:69;:16;16974:7;16966;:16::i;:::-;-1:-1:-1;;;;;16966:25:69;;16958:89;;;;-1:-1:-1;;;16958:89:69;;;;;;;:::i;:::-;17054:29;17086:25;:23;:25::i;:::-;17054:57;;17118:79;17160:7;:5;:7::i;:::-;17169:27;17188:7;17169:18;:27::i;:::-;-1:-1:-1;;;;;17118:36:69;;;;;;:29;;;:36;;;;;;:79;:41;:79::i;:::-;;;17218:5;-1:-1:-1;;;;;17209:24:69;;17225:7;17209:24;;;;2917:25:150;;2905:2;2890:18;;2771:177;17209:24:69;;;;;;;;16952:286;16886:352;;:::o;3366:176:12:-;2316:19;:17;:19::i;:::-;3425:25:::1;3453:21;:19;:21::i;:::-;3484:16:::0;;-1:-1:-1;;3484:16:12::1;3496:4;3484:16;::::0;;3425:49;-1:-1:-1;3515:20:12::1;3522:12;966:10:11::0;;887:96;637:698:34;693:13;742:14;759:17;770:5;759:10;:17::i;:::-;779:1;759:21;742:38;;794:20;828:6;-1:-1:-1;;;;;817:18:34;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:18:34;-1:-1:-1;794:41:34;-1:-1:-1;955:28:34;;;971:2;955:28;1010:282;-1:-1:-1;;1041:5:34;-1:-1:-1;;;1175:2:34;1164:14;;1159:32;1041:5;1146:46;1236:2;1227:11;;;-1:-1:-1;1256:21:34;1010:282;1256:21;-1:-1:-1;1312:6:34;637:698;-1:-1:-1;;;637:698:34:o;931:109:42:-;977:6;1002:31;1020:12;1002:17;:31::i;17232:369:5:-;17335:23;17361:19;:17;:19::i;:::-;17335:45;-1:-1:-1;;;;;;17394:22:5;;17390:91;;17461:8;17439:31;;-1:-1:-1;;;17439:31:5;;;;;;;;:::i;17390:91::-;-1:-1:-1;;;;;17490:27:5;;;;;;;:20;;;:27;;;;;;;;:37;;;;;;;;;;;;;:48;;-1:-1:-1;;17490:48:5;;;;;;;;;;17553:41;;975::150;;;17553::5;;948:18:150;17553:41:5;835:187:150;18616:782:5;-1:-1:-1;;;;;18732:14:5;;;:18;18728:664;;18770:71;;-1:-1:-1;;;18770:71:5;;-1:-1:-1;;;;;18770:36:5;;;;;:71;;966:10:11;;18821:4:5;;18827:7;;18836:4;;18770:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18770:71:5;;;;;;;;-1:-1:-1;;18770:71:5;;;;;;;;;;;;:::i;:::-;;;18766:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19079:6;:13;19096:1;19079:18;19075:293;;19150:2;19128:25;;-1:-1:-1;;;19128:25:5;;;;;;;;:::i;19075:293::-;19320:6;19314:13;19305:6;19301:2;19297:15;19290:38;18766:616;-1:-1:-1;;;;;;18888:51:5;;-1:-1:-1;;;18888:51:5;18884:130;;18992:2;18970:25;;-1:-1:-1;;;18970:25:5;;;;;;;;:::i;18884:130::-;18842:186;18616:782;;;;:::o;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;10318:41::-;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;4381:197:0;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;2333:233:7:-;2446:4;-1:-1:-1;;;;;;2469:50:7;;-1:-1:-1;;;2469:50:7;;:90;;;2523:36;2547:11;2523:23;:36::i;16304:719:5:-;16408:23;16434:19;:17;:19::i;:::-;16408:45;;16519:9;:31;;;-1:-1:-1;;;;;;16532:18:5;;;;16519:31;16515:460;;;16566:13;16582:22;16596:7;16582:13;:22::i;:::-;16566:38;-1:-1:-1;;;;;;16732:18:5;;;;;;:35;;;16763:4;-1:-1:-1;;;;;16754:13:5;:5;-1:-1:-1;;;;;16754:13:5;;;16732:35;:69;;;;;16772:29;16789:5;16796:4;16772:16;:29::i;:::-;16771:30;16732:69;16728:142;;;16850:4;16828:27;;-1:-1:-1;;;16828:27:5;;;;;;;;:::i;16728:142::-;16888:9;16884:81;;;16942:7;16938:2;-1:-1:-1;;;;;16922:28:5;16931:5;-1:-1:-1;;;;;16922:28:5;;;;;;;;;;;16884:81;16552:423;16515:460;16985:26;;;;:17;;:26;;-1:-1:-1;;16985:26:5;;;:31;;-1:-1:-1;;;;;;16985:31:5;-1:-1:-1;;;;;16985:31:5;;;;;;;;;;16304:719::o;1472:204:8:-;1611:7;2316:19:12;:17;:19::i;:::-;1637:32:8::1;1651:2;1655:7;1664:4;1637:13;:32::i;8050:162:39:-:0;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;3105:126:12;3168:8;:6;:8::i;:::-;3163:62;;3199:15;;-1:-1:-1;;;3199:15:12;;;;;;;;;;;2251:183:13;2388:30;;2251:183::o;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;12217:100:5:-;12284:26;12294:2;12298:7;12284:26;;;;;;;;;;;;:9;:26::i;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;2388:219:5;6931:20:2;:18;:20::i;:::-;2501:23:5::1;2527:19;:17;:19::i;:::-;2501:45:::0;-1:-1:-1;2501:45:5;2556:15:::1;2566:5:::0;2501:45;2556:15:::1;:::i;:::-;-1:-1:-1::0;2581:9:5::1;::::0;::::1;:19;2593:7:::0;2581:9;:19:::1;:::i;1939:156:12:-:0;6931:20:2;:18;:20::i;:::-;2012:25:12::1;2040:21;:19;:21::i;:::-;2071:17:::0;;-1:-1:-1;;2071:17:12::1;::::0;;-1:-1:-1;1939:156:12:o;2657:183:13:-;6931:20:2;:18;:20::i;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;43523:36:150;43575:18;;;43568:34;;;43496:18;;4297:42:37;43341:267:150;4245:105:37;-1:-1:-1;4374:5:37;4169:218::o;12214:916:36:-;12267:7;;-1:-1:-1;;;12342:17:36;;12338:103;;-1:-1:-1;;;12379:17:36;;;-1:-1:-1;12424:2:36;12414:12;12338:103;-1:-1:-1;;;12458:5:36;:17;12454:103;;-1:-1:-1;;;12495:17:36;;;-1:-1:-1;12540:2:36;12530:12;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;-1:-1:-1;12656:2:36;12646:12;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;-1:-1:-1;12770:1:36;12760:11;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;-1:-1:-1;12883:1:36;12873:11;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;-1:-1:-1;12996:1:36;12986:11;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;13117:6;12214:916;-1:-1:-1;;12214:916:36:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;43523:36:150;43575:18;;;43568:34;;;43496:18;;14416:41:37;43341:267:150;2674:311:5;2787:4;-1:-1:-1;;;;;;2822:40:5;;-1:-1:-1;;;2822:40:5;;:104;;-1:-1:-1;;;;;;;2878:48:5;;-1:-1:-1;;;2878:48:5;2822:104;:156;;;-1:-1:-1;;;;;;;;;;1133:40:14;;;2942:36:5;1034:146:14;3658:625:7;3753:7;3772:21;3796:32;3810:2;3814:7;3823:4;3796:13;:32::i;:::-;3772:56;-1:-1:-1;;;;;;3843:27:7;;3839:210;;3886:40;3918:7;3886:31;:40::i;:::-;3839:210;;;3964:2;-1:-1:-1;;;;;3947:19:7;:13;-1:-1:-1;;;;;3947:19:7;;3943:106;;3982:56;4015:13;4030:7;3982:32;:56::i;:::-;-1:-1:-1;;;;;4062:16:7;;4058:188;;4094:45;4131:7;4094:36;:45::i;:::-;4058:188;;;4177:2;-1:-1:-1;;;;;4160:19:7;:13;-1:-1:-1;;;;;4160:19:7;;4156:90;;4195:40;4223:2;4227:7;4195:27;:40::i;11513:870:39:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;12538:182:5;12632:18;12638:2;12642:7;12632:5;:18::i;:::-;12660:53;12691:1;12695:2;12699:7;12708:4;12660:22;:53::i;8487:120:2:-;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;10361:856:5:-;10447:7;10466:23;10492:19;:17;:19::i;:::-;10466:45;;10521:12;10536:17;10545:7;10536:8;:17::i;:::-;10521:32;-1:-1:-1;;;;;;10613:18:5;;;10609:86;;10647:37;10664:4;10670;10676:7;10647:16;:37::i;:::-;-1:-1:-1;;;;;10739:18:5;;;10735:258;;10855:48;10872:1;10876:7;10893:1;10897:5;10855:8;:48::i;:::-;-1:-1:-1;;;;;10946:17:5;;;;;;:11;;;:17;;;;;:22;;-1:-1:-1;;10946:22:5;;;10735:258;-1:-1:-1;;;;;11007:16:5;;;11003:109;;-1:-1:-1;;;;;11067:15:5;;;;;;:11;;;:15;;;;;:20;;11086:1;11067:20;;;11003:109;11122:18;;;;:9;;;:18;;;;;;:23;;-1:-1:-1;;;;;;11122:23:5;-1:-1:-1;;;;;11122:23:5;;;;;;;;;11161:27;;11122:18;;11161:27;;;;;;;11206:4;10361:856;-1:-1:-1;;;;;10361:856:5:o;5065:242:7:-;5141:33;5177:29;:27;:29::i;:::-;5245:12;;;:19;;5216:26;;;;:17;;;;:26;;;;;;;:48;;;5274:26;;;;;;;;;;;;;;;-1:-1:-1;5065:242:7:o;5924:1046::-;6015:33;6051:29;:27;:29::i;:::-;6015:65;;6261:22;6286:15;6296:4;6286:9;:15::i;:::-;6311:18;6332:28;;;:19;;;:28;;;;;;6261:40;;-1:-1:-1;6464:28:7;;;6460:329;;-1:-1:-1;;;;;6530:20:7;;6508:19;6530:20;;;;;;;;;;;:36;;;;;;;;;6581:32;;;;;;:46;;;6699:32;;:19;;;:32;;;;;:45;;;6460:329;-1:-1:-1;6882:28:7;;;;:19;;;:28;;;;;;;;6875:35;;;-1:-1:-1;;;;;6927:20:7;;;;;;;;;;;:36;;;;;;;;6920:43;5924:1046::o;7258:1150::-;7339:33;7375:29;:27;:29::i;:::-;7607:12;;;:19;7339:65;;-1:-1:-1;7582:22:7;;7607:23;;7629:1;;7607:23;:::i;:::-;7640:18;7661:26;;;:17;;;:26;;;;;;8031:12;;;:28;;7582:48;;-1:-1:-1;7661:26:7;;7582:48;;8031:28;;;;;;:::i;:::-;;;;;;;;;8009:50;;8097:11;8070:1;:12;;8083:10;8070:24;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;8176:30;;;:17;;;:30;;;;;;;:43;;;8347:26;;;;;8340:33;8383:12;;;:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7329:1079;;;;7258:1150;:::o;4577:293::-;4661:33;4697:29;:27;:29::i;:::-;4661:65;;4736:14;4769:1;4753:13;4763:2;4753:9;:13::i;:::-;:17;;;;:::i;:::-;-1:-1:-1;;;;;4780:18:7;;;:14;:18;;;;;;;;;;;:26;;;;;;;;:36;;;4826:28;;;:19;;;;:28;;;-1:-1:-1;4826:28:7;:37;4577:293::o;4625:582:32:-;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;5173:17;;11539:327:5;-1:-1:-1;;;;;11606:16:5;;11602:87;;11675:1;11645:33;;-1:-1:-1;;;11645:33:5;;;;;;;;:::i;11602:87::-;11698:21;11722:32;11730:2;11734:7;11751:1;11722:7;:32::i;:::-;11698:56;-1:-1:-1;;;;;;11768:27:5;;;11764:96;;11846:1;11818:31;;-1:-1:-1;;;11818:31:5;;;;;;;;:::i;8548:368::-;8660:38;8674:5;8681:7;8690;8660:13;:38::i;:::-;8655:255;;-1:-1:-1;;;;;8718:19:5;;8714:186;;8764:31;;-1:-1:-1;;;8764:31:5;;;;;2917:25:150;;;2890:18;;8764:31:5;2771:177:150;8714:186:5;8868:7;8877;8841:44;;-1:-1:-1;;;8841:44:5;;;;;;;;;:::i;5743:516:32:-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;7842:272:5;7945:4;-1:-1:-1;;;;;7980:21:5;;;;;;:127;;;8027:7;-1:-1:-1;;;;;8018:16:5;:5;-1:-1:-1;;;;;8018:16:5;;:52;;;;8038:32;8055:5;8062:7;8038:16;:32::i;:::-;8018:88;;;;8099:7;-1:-1:-1;;;;;8074:32:5;:21;8087:7;8074:12;:21::i;:::-;-1:-1:-1;;;;;8074:32:5;;;7842:272;-1:-1:-1;;;;7842:272:5:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:114:150:-;98:4;91:5;87:16;80:5;77:27;67:55;;118:1;115;108:12;133:311;199:6;207;260:2;248:9;239:7;235:23;231:32;228:52;;;276:1;273;266:12;228:52;315:9;302:23;334:29;357:5;334:29;:::i;:::-;382:5;434:2;419:18;;;;406:32;;-1:-1:-1;;;133:311:150:o;449:131::-;-1:-1:-1;;;;;;523:32:150;;513:43;;503:71;;570:1;567;560:12;585:245;643:6;696:2;684:9;675:7;671:23;667:32;664:52;;;712:1;709;702:12;664:52;751:9;738:23;770:30;794:5;770:30;:::i;1027:250::-;1112:1;1122:113;1136:6;1133:1;1130:13;1122:113;;;1212:11;;;1206:18;1193:11;;;1186:39;1158:2;1151:10;1122:113;;;-1:-1:-1;;1269:1:150;1251:16;;1244:27;1027:250::o;1282:271::-;1324:3;1362:5;1356:12;1389:6;1384:3;1377:19;1405:76;1474:6;1467:4;1462:3;1458:14;1451:4;1444:5;1440:16;1405:76;:::i;:::-;1535:2;1514:15;-1:-1:-1;;1510:29:150;1501:39;;;;1542:4;1497:50;;1282:271;-1:-1:-1;;1282:271:150:o;1558:220::-;1707:2;1696:9;1689:21;1670:4;1727:45;1768:2;1757:9;1753:18;1745:6;1727:45;:::i;1783:180::-;1842:6;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;-1:-1:-1;1934:23:150;;1783:180;-1:-1:-1;1783:180:150:o;1968:203::-;-1:-1:-1;;;;;2132:32:150;;;;2114:51;;2102:2;2087:18;;1968:203::o;2176:131::-;-1:-1:-1;;;;;2251:31:150;;2241:42;;2231:70;;2297:1;2294;2287:12;2312:134;2380:20;;2409:31;2380:20;2409:31;:::i;:::-;2312:134;;;:::o;2451:315::-;2519:6;2527;2580:2;2568:9;2559:7;2555:23;2551:32;2548:52;;;2596:1;2593;2586:12;2548:52;2635:9;2622:23;2654:31;2679:5;2654:31;:::i;2953:456::-;3030:6;3038;3046;3099:2;3087:9;3078:7;3074:23;3070:32;3067:52;;;3115:1;3112;3105:12;3067:52;3154:9;3141:23;3173:31;3198:5;3173:31;:::i;:::-;3223:5;-1:-1:-1;3280:2:150;3265:18;;3252:32;3293:33;3252:32;3293:33;:::i;:::-;2953:456;;3345:7;;-1:-1:-1;;;3399:2:150;3384:18;;;;3371:32;;2953:456::o;3781:315::-;3849:6;3857;3910:2;3898:9;3889:7;3885:23;3881:32;3878:52;;;3926:1;3923;3916:12;3878:52;3962:9;3949:23;3939:33;;4022:2;4011:9;4007:18;3994:32;4035:31;4060:5;4035:31;:::i;:::-;4085:5;4075:15;;;3781:315;;;;;:::o;4101:247::-;4160:6;4213:2;4201:9;4192:7;4188:23;4184:32;4181:52;;;4229:1;4226;4219:12;4181:52;4268:9;4255:23;4287:31;4312:5;4287:31;:::i;4353:423::-;4420:6;4428;4481:2;4469:9;4460:7;4456:23;4452:32;4449:52;;;4497:1;4494;4487:12;4449:52;4536:9;4523:23;4555:31;4580:5;4555:31;:::i;:::-;4605:5;-1:-1:-1;4662:2:150;4647:18;;4634:32;4710:14;4697:28;;4685:41;;4675:69;;4740:1;4737;4730:12;4970:248;5038:6;5046;5099:2;5087:9;5078:7;5074:23;5070:32;5067:52;;;5115:1;5112;5105:12;5067:52;-1:-1:-1;;5138:23:150;;;5208:2;5193:18;;;5180:32;;-1:-1:-1;4970:248:150:o;5223:127::-;5284:10;5279:3;5275:20;5272:1;5265:31;5315:4;5312:1;5305:15;5339:4;5336:1;5329:15;5355:255;5427:2;5421:9;5469:6;5457:19;;-1:-1:-1;;;;;5491:34:150;;5527:22;;;5488:62;5485:88;;;5553:18;;:::i;:::-;5589:2;5582:22;5355:255;:::o;5615:275::-;5686:2;5680:9;5751:2;5732:13;;-1:-1:-1;;5728:27:150;5716:40;;-1:-1:-1;;;;;5771:34:150;;5807:22;;;5768:62;5765:88;;;5833:18;;:::i;:::-;5869:2;5862:22;5615:275;;-1:-1:-1;5615:275:150:o;5895:530::-;5937:5;5990:3;5983:4;5975:6;5971:17;5967:27;5957:55;;6008:1;6005;5998:12;5957:55;6031:20;;-1:-1:-1;;;;;6063:26:150;;6060:52;;;6092:18;;:::i;:::-;6136:55;6179:2;6160:13;;-1:-1:-1;;6156:27:150;6185:4;6152:38;6136:55;:::i;:::-;6216:2;6207:7;6200:19;6262:3;6255:4;6250:2;6242:6;6238:15;6234:26;6231:35;6228:55;;;6279:1;6276;6269:12;6228:55;6344:2;6337:4;6329:6;6325:17;6318:4;6309:7;6305:18;6292:55;6392:1;6367:16;;;6385:4;6363:27;6356:38;;;;6371:7;5895:530;-1:-1:-1;;;5895:530:150:o;6430:455::-;6507:6;6515;6568:2;6556:9;6547:7;6543:23;6539:32;6536:52;;;6584:1;6581;6574:12;6536:52;6623:9;6610:23;6642:31;6667:5;6642:31;:::i;:::-;6692:5;-1:-1:-1;6748:2:150;6733:18;;6720:32;-1:-1:-1;;;;;6764:30:150;;6761:50;;;6807:1;6804;6797:12;6761:50;6830:49;6871:7;6862:6;6851:9;6847:22;6830:49;:::i;:::-;6820:59;;;6430:455;;;;;:::o;6890:321::-;6959:6;7012:2;7000:9;6991:7;6987:23;6983:32;6980:52;;;7028:1;7025;7018:12;6980:52;7055:23;;-1:-1:-1;;;;;7090:30:150;;7087:50;;;7133:1;7130;7123:12;7087:50;7156:49;7197:7;7188:6;7177:9;7173:22;7156:49;:::i;7439:118::-;7525:5;7518:13;7511:21;7504:5;7501:32;7491:60;;7547:1;7544;7537:12;7562:241;7618:6;7671:2;7659:9;7650:7;7646:23;7642:32;7639:52;;;7687:1;7684;7677:12;7639:52;7726:9;7713:23;7745:28;7767:5;7745:28;:::i;8052:712::-;8106:5;8159:3;8152:4;8144:6;8140:17;8136:27;8126:55;;8177:1;8174;8167:12;8126:55;8200:20;;8239:4;-1:-1:-1;;;;;8255:26:150;;8252:52;;;8284:18;;:::i;:::-;8330:2;8327:1;8323:10;8353:28;8377:2;8373;8369:11;8353:28;:::i;:::-;8415:15;;;8485;;;8481:24;;;8446:12;;;;8517:15;;;8514:35;;;8545:1;8542;8535:12;8514:35;8581:2;8573:6;8569:15;8558:26;;8593:142;8609:6;8604:3;8601:15;8593:142;;;8675:17;;8663:30;;8626:12;;;;8713;;;;8593:142;;8769:1752;8865:6;8918:2;8906:9;8897:7;8893:23;8889:32;8886:52;;;8934:1;8931;8924:12;8886:52;8961:23;;-1:-1:-1;;;;;9033:14:150;;;9030:34;;;9060:1;9057;9050:12;9030:34;9083:22;;;;9139:6;9121:16;;;9117:29;9114:49;;;9159:1;9156;9149:12;9114:49;9185:22;;:::i;:::-;9245:2;9232:16;9273:2;9263:8;9260:16;9257:36;;;9289:1;9286;9279:12;9257:36;9316:44;9352:7;9341:8;9337:2;9333:17;9316:44;:::i;:::-;9309:5;9302:59;;9407:2;9403;9399:11;9386:25;9436:2;9426:8;9423:16;9420:36;;;9452:1;9449;9442:12;9420:36;9488:44;9524:7;9513:8;9509:2;9505:17;9488:44;:::i;:::-;9483:2;9476:5;9472:14;9465:68;;9565:31;9592:2;9588;9584:11;9565:31;:::i;:::-;9560:2;9553:5;9549:14;9542:55;9629:31;9656:2;9652;9648:11;9629:31;:::i;:::-;9624:2;9617:5;9613:14;9606:55;9694:32;9721:3;9717:2;9713:12;9694:32;:::i;:::-;9688:3;9681:5;9677:15;9670:57;9760:32;9787:3;9783:2;9779:12;9760:32;:::i;:::-;9754:3;9747:5;9743:15;9736:57;9826:32;9853:3;9849:2;9845:12;9826:32;:::i;:::-;9820:3;9813:5;9809:15;9802:57;9913:3;9909:2;9905:12;9892:26;9886:3;9879:5;9875:15;9868:51;9938:3;9987:2;9983;9979:11;9966:25;10016:2;10006:8;10003:16;10000:36;;;10032:1;10029;10022:12;10000:36;10068:44;10104:7;10093:8;10089:2;10085:17;10068:44;:::i;:::-;10063:2;10056:5;10052:14;10045:68;;;10132:3;10181:2;10177;10173:11;10160:25;10210:2;10200:8;10197:16;10194:36;;;10226:1;10223;10216:12;10194:36;10262:56;10310:7;10299:8;10295:2;10291:17;10262:56;:::i;:::-;10257:2;10250:5;10246:14;10239:80;;;10338:3;10328:13;;10373:31;10400:2;10396;10392:11;10373:31;:::i;:::-;10368:2;10361:5;10357:14;10350:55;10424:3;10414:13;;10459:31;10486:2;10482;10478:11;10459:31;:::i;:::-;10443:14;;;10436:55;;;;10447:5;8769:1752;-1:-1:-1;;;;8769:1752:150:o;10526:390::-;10614:5;10608:12;10603:3;10596:25;10578:3;10667:4;10660:5;10656:16;10650:23;10705:4;10698;10693:3;10689:14;10682:28;10731:47;10772:4;10767:3;10763:14;10749:12;10731:47;:::i;:::-;10719:59;;10827:4;10820:5;10816:16;10810:23;10803:4;10798:3;10794:14;10787:47;10883:4;10876:5;10872:16;10866:23;10859:4;10854:3;10850:14;10843:47;10906:4;10899:11;;;10526:390;;;;:::o;10921:266::-;11106:2;11095:9;11088:21;11069:4;11126:55;11177:2;11166:9;11162:18;11154:6;11126:55;:::i;11423:383::-;11500:6;11508;11516;11569:2;11557:9;11548:7;11544:23;11540:32;11537:52;;;11585:1;11582;11575:12;11537:52;11624:9;11611:23;11643:31;11668:5;11643:31;:::i;:::-;11693:5;11745:2;11730:18;;11717:32;;-1:-1:-1;11796:2:150;11781:18;;;11768:32;;11423:383;-1:-1:-1;;;11423:383:150:o;11811:849::-;12009:4;12038:2;12078;12067:9;12063:18;12108:2;12097:9;12090:21;12131:6;12166;12160:13;12197:6;12189;12182:22;12235:2;12224:9;12220:18;12213:25;;12297:2;12287:6;12284:1;12280:14;12269:9;12265:30;12261:39;12247:53;;12335:2;12327:6;12323:15;12356:1;12366:265;12380:6;12377:1;12374:13;12366:265;;;12473:2;12469:7;12457:9;12449:6;12445:22;12441:36;12436:3;12429:49;12501:50;12544:6;12535;12529:13;12501:50;:::i;:::-;12491:60;-1:-1:-1;12609:12:150;;;;12574:15;;;;12402:1;12395:9;12366:265;;;-1:-1:-1;12648:6:150;;11811:849;-1:-1:-1;;;;;;;11811:849:150:o;12866:382::-;12931:6;12939;12992:2;12980:9;12971:7;12967:23;12963:32;12960:52;;;13008:1;13005;12998:12;12960:52;13047:9;13034:23;13066:31;13091:5;13066:31;:::i;:::-;13116:5;-1:-1:-1;13173:2:150;13158:18;;13145:32;13186:30;13145:32;13186:30;:::i;13253:348::-;13337:6;13390:2;13378:9;13369:7;13365:23;13361:32;13358:52;;;13406:1;13403;13396:12;13358:52;13433:23;;-1:-1:-1;;;;;13468:30:150;;13465:50;;;13511:1;13508;13501:12;13465:50;13534:61;13587:7;13578:6;13567:9;13563:22;13534:61;:::i;13606:665::-;13701:6;13709;13717;13725;13778:3;13766:9;13757:7;13753:23;13749:33;13746:53;;;13795:1;13792;13785:12;13746:53;13834:9;13821:23;13853:31;13878:5;13853:31;:::i;:::-;13903:5;-1:-1:-1;13960:2:150;13945:18;;13932:32;13973:33;13932:32;13973:33;:::i;:::-;14025:7;-1:-1:-1;14079:2:150;14064:18;;14051:32;;-1:-1:-1;14134:2:150;14119:18;;14106:32;-1:-1:-1;;;;;14150:30:150;;14147:50;;;14193:1;14190;14183:12;14147:50;14216:49;14257:7;14248:6;14237:9;14233:22;14216:49;:::i;:::-;14206:59;;;13606:665;;;;;;;:::o;14276:766::-;14387:6;14395;14403;14411;14464:3;14452:9;14443:7;14439:23;14435:33;14432:53;;;14481:1;14478;14471:12;14432:53;14520:9;14507:23;14539:31;14564:5;14539:31;:::i;:::-;14589:5;-1:-1:-1;14646:2:150;14631:18;;14618:32;14659:33;14618:32;14659:33;:::i;:::-;14711:7;-1:-1:-1;14770:2:150;14755:18;;14742:32;14783:33;14742:32;14783:33;:::i;:::-;14835:7;-1:-1:-1;14893:2:150;14878:18;;14865:32;-1:-1:-1;;;;;14909:30:150;;14906:50;;;14952:1;14949;14942:12;14906:50;14975:61;15028:7;15019:6;15008:9;15004:22;14975:61;:::i;15047:243::-;15104:6;15157:2;15145:9;15136:7;15132:23;15128:32;15125:52;;;15173:1;15170;15163:12;15125:52;15212:9;15199:23;15231:29;15254:5;15231:29;:::i;15295:388::-;15363:6;15371;15424:2;15412:9;15403:7;15399:23;15395:32;15392:52;;;15440:1;15437;15430:12;15392:52;15479:9;15466:23;15498:31;15523:5;15498:31;:::i;:::-;15548:5;-1:-1:-1;15605:2:150;15590:18;;15577:32;15618:33;15577:32;15618:33;:::i;16833:380::-;16912:1;16908:12;;;;16955;;;16976:61;;17030:4;17022:6;17018:17;17008:27;;16976:61;17083:2;17075:6;17072:14;17052:18;17049:38;17046:161;;17129:10;17124:3;17120:20;17117:1;17110:31;17164:4;17161:1;17154:15;17192:4;17189:1;17182:15;17046:161;;16833:380;;;:::o;17598:274::-;-1:-1:-1;;;;;17790:32:150;;;;17772:51;;17854:2;17839:18;;17832:34;17760:2;17745:18;;17598:274::o;18828:127::-;18889:10;18884:3;18880:20;18877:1;18870:31;18920:4;18917:1;18910:15;18944:4;18941:1;18934:15;18960:135;18999:3;19020:17;;;19017:43;;19040:18;;:::i;:::-;-1:-1:-1;19087:1:150;19076:13;;18960:135::o;19785:175::-;19863:13;;-1:-1:-1;;;;;19905:30:150;;19895:41;;19885:69;;19950:1;19947;19940:12;19965:890;20078:6;20086;20094;20102;20110;20118;20126;20179:3;20167:9;20158:7;20154:23;20150:33;20147:53;;;20196:1;20193;20186:12;20147:53;20228:9;20222:16;20247:31;20272:5;20247:31;:::i;:::-;20347:2;20332:18;;20326:25;20297:5;;-1:-1:-1;20360:31:150;20326:25;20360:31;:::i;:::-;20462:2;20447:18;;20441:25;20410:7;;-1:-1:-1;20475:30:150;20441:25;20475:30;:::i;:::-;20576:2;20561:18;;20555:25;20524:7;;-1:-1:-1;20589:30:150;20555:25;20589:30;:::i;:::-;20638:7;-1:-1:-1;20664:49:150;20708:3;20693:19;;20664:49;:::i;:::-;20654:59;;20732:49;20776:3;20765:9;20761:19;20732:49;:::i;:::-;20722:59;;20800:49;20844:3;20833:9;20829:19;20800:49;:::i;:::-;20790:59;;19965:890;;;;;;;;;;:::o;20860:415::-;21062:2;21044:21;;;21101:2;21081:18;;;21074:30;21140:34;21135:2;21120:18;;21113:62;-1:-1:-1;;;21206:2:150;21191:18;;21184:49;21265:3;21250:19;;20860:415::o;22113:184::-;22183:6;22236:2;22224:9;22215:7;22211:23;22207:32;22204:52;;;22252:1;22249;22242:12;22204:52;-1:-1:-1;22275:16:150;;22113:184;-1:-1:-1;22113:184:150:o;23443:125::-;23508:9;;;23529:10;;;23526:36;;;23542:18;;:::i;23953:245::-;24020:6;24073:2;24061:9;24052:7;24048:23;24044:32;24041:52;;;24089:1;24086;24079:12;24041:52;24121:9;24115:16;24140:28;24162:5;24140:28;:::i;24561:251::-;24631:6;24684:2;24672:9;24663:7;24659:23;24655:32;24652:52;;;24700:1;24697;24690:12;24652:52;24732:9;24726:16;24751:31;24776:5;24751:31;:::i;26138:127::-;26199:10;26194:3;26190:20;26187:1;26180:31;26230:4;26227:1;26220:15;26254:4;26251:1;26244:15;26270:399;26472:2;26454:21;;;26511:2;26491:18;;;26484:30;26550:34;26545:2;26530:18;;26523:62;-1:-1:-1;;;26616:2:150;26601:18;;26594:33;26659:3;26644:19;;26270:399::o;26800:842::-;26928:3;26957:1;26990:6;26984:13;27020:36;27046:9;27020:36;:::i;:::-;27075:1;27092:18;;;27119:133;;;;27266:1;27261:356;;;;27085:532;;27119:133;-1:-1:-1;;27152:24:150;;27140:37;;27225:14;;27218:22;27206:35;;27197:45;;;-1:-1:-1;27119:133:150;;27261:356;27292:6;27289:1;27282:17;27322:4;27367:2;27364:1;27354:16;27392:1;27406:165;27420:6;27417:1;27414:13;27406:165;;;27498:14;;27485:11;;;27478:35;27541:16;;;;27435:10;;27406:165;;;27410:3;;;27600:6;27595:3;27591:16;27584:23;;27085:532;-1:-1:-1;27633:3:150;;26800:842;-1:-1:-1;;;;;;26800:842:150:o;27647:289::-;27778:3;27816:6;27810:13;27832:66;27891:6;27886:3;27879:4;27871:6;27867:17;27832:66;:::i;:::-;27914:16;;;;;27647:289;-1:-1:-1;;27647:289:150:o;27941:545::-;28043:2;28038:3;28035:11;28032:448;;;28079:1;28104:5;28100:2;28093:17;28149:4;28145:2;28135:19;28219:2;28207:10;28203:19;28200:1;28196:27;28190:4;28186:38;28255:4;28243:10;28240:20;28237:47;;;-1:-1:-1;28278:4:150;28237:47;28333:2;28328:3;28324:12;28321:1;28317:20;28311:4;28307:31;28297:41;;28388:82;28406:2;28399:5;28396:13;28388:82;;;28451:17;;;28432:1;28421:13;28388:82;;28662:1352;28782:10;;-1:-1:-1;;;;;28804:30:150;;28801:56;;;28837:18;;:::i;:::-;28866:97;28956:6;28916:38;28948:4;28942:11;28916:38;:::i;:::-;28910:4;28866:97;:::i;:::-;29018:4;;29082:2;29071:14;;29099:1;29094:663;;;;29801:1;29818:6;29815:89;;;-1:-1:-1;29870:19:150;;;29864:26;29815:89;-1:-1:-1;;28619:1:150;28615:11;;;28611:24;28607:29;28597:40;28643:1;28639:11;;;28594:57;29917:81;;29064:944;;29094:663;26747:1;26740:14;;;26784:4;26771:18;;-1:-1:-1;;29130:20:150;;;29248:236;29262:7;29259:1;29256:14;29248:236;;;29351:19;;;29345:26;29330:42;;29443:27;;;;29411:1;29399:14;;;;29278:19;;29248:236;;;29252:3;29512:6;29503:7;29500:19;29497:201;;;29573:19;;;29567:26;-1:-1:-1;;29656:1:150;29652:14;;;29668:3;29648:24;29644:37;29640:42;29625:58;29610:74;;29497:201;-1:-1:-1;;;;;29744:1:150;29728:14;;;29724:22;29711:36;;-1:-1:-1;28662:1352:150:o;32122:128::-;32189:9;;;32210:11;;;32207:37;;;32224:18;;:::i;32730:417::-;32932:2;32914:21;;;32971:2;32951:18;;;32944:30;-1:-1:-1;;;;;;;;;;;33005:2:150;32990:18;;32983:62;-1:-1:-1;;;33076:2:150;33061:18;;33054:51;33137:3;33122:19;;32730:417::o;33576:209::-;-1:-1:-1;;;;;33747:31:150;;;;33729:50;;33717:2;33702:18;;33576:209::o;33790:418::-;33992:2;33974:21;;;34031:2;34011:18;;;34004:30;34070:34;34065:2;34050:18;;34043:62;-1:-1:-1;;;34136:2:150;34121:18;;34114:52;34198:3;34183:19;;33790:418::o;35025:514::-;-1:-1:-1;;;;;;;;;;;35282:3:150;35275:47;-1:-1:-1;;;35347:2:150;35342:3;35338:12;35331:43;35257:3;35403:6;35397:13;35419:73;35485:6;35480:2;35475:3;35471:12;35466:2;35458:6;35454:15;35419:73;:::i;:::-;35512:16;;;;35530:2;35508:25;;35025:514;-1:-1:-1;;35025:514:150:o;35544:168::-;35617:9;;;35648;;35665:15;;;35659:22;;35645:37;35635:71;;35686:18;;:::i;38202:632::-;38373:2;38425:21;;;38495:13;;38398:18;;;38517:22;;;38344:4;;38373:2;38596:15;;;;38570:2;38555:18;;;38344:4;38639:169;38653:6;38650:1;38647:13;38639:169;;;38714:13;;38702:26;;38783:15;;;;38748:12;;;;38675:1;38668:9;38639:169;;;-1:-1:-1;38825:3:150;;38202:632;-1:-1:-1;;;;;;38202:632:150:o;40096:175::-;40133:3;40177:4;40170:5;40166:16;40206:4;40197:7;40194:17;40191:43;;40214:18;;:::i;:::-;40263:1;40250:15;;40096:175;-1:-1:-1;;40096:175:150:o;40481:652::-;40750:3;40788:6;40782:13;40804:66;40863:6;40858:3;40851:4;40843:6;40839:17;40804:66;:::i;:::-;40933:13;;40892:16;;;;40955:70;40933:13;40892:16;41002:4;40990:17;;40955:70;:::i;:::-;-1:-1:-1;;;41047:20:150;;41076:22;;;41125:1;41114:13;;40481:652;-1:-1:-1;;;;40481:652:150:o;42182:127::-;42243:10;42238:3;42234:20;42231:1;42224:31;42274:4;42271:1;42264:15;42298:4;42295:1;42288:15;42314:489;-1:-1:-1;;;;;42583:15:150;;;42565:34;;42635:15;;42630:2;42615:18;;42608:43;42682:2;42667:18;;42660:34;;;42730:3;42725:2;42710:18;;42703:31;;;42508:4;;42751:46;;42777:19;;42769:6;42751:46;:::i;:::-;42743:54;42314:489;-1:-1:-1;;;;;;42314:489:150:o;42808:249::-;42877:6;42930:2;42918:9;42909:7;42905:23;42901:32;42898:52;;;42946:1;42943;42936:12;42898:52;42978:9;42972:16;42997:30;43021:5;42997:30;:::i;43884:217::-;43924:1;43950;43940:132;;43994:10;43989:3;43985:20;43982:1;43975:31;44029:4;44026:1;44019:15;44057:4;44054:1;44047:15;43940:132;-1:-1:-1;44086:9:150;;43884:217::o;44398:127::-;44459:10;44454:3;44450:20;44447:1;44440:31;44490:4;44487:1;44480:15;44514:4;44511:1;44504:15"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_LEVEL()":"a49062d4","MINTER_ROLE()":"d5391393","NODES_MANAGER_ROLE()":"3d6dbee8","PAUSER_ROLE()":"e63ab1e9","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approve(address,uint256)":"095ea7b3","attachNode(uint256,uint256)":"88371110","b3tr()":"582a486a","b3trGovernor()":"7893d736","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","burn(uint256)":"42966c68","clock()":"91ddadf4","detachNode(uint256,uint256)":"4a6565e1","freeMint()":"5b70ea9f","getApproved(uint256)":"081812fc","getB3TRdonated(uint256)":"865c380b","getB3TRtoUpgrade(uint256)":"a51d2e0b","getB3TRtoUpgradeToLevel(uint256)":"2b42df38","getIdAttachedToNode(uint256)":"51c438d1","getLevelAfterAttachingNode(uint256,uint256)":"a1843bd0","getLevelAfterDetachingNode(uint256)":"cc421d07","getNodeIdAttached(uint256)":"958fc97d","getNodeLevelOf(uint256)":"3ff453af","getNodeToFreeLevel(uint8)":"e617e49f","getRoleAdmin(bytes32)":"248a9ca3","getSelectedTokenId(address)":"d206885d","getSelectedTokenIdAtBlock(address,uint48)":"3c60f55d","getSelectedTokenInfoByOwner(address)":"de4983a2","getTokenInfoByTokenId(uint256)":"643ce418","getTokensInfoByOwner(address,uint256,uint256)":"851f738e","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))":"5f4e42ca","initializeV2(address,address,address,uint256[])":"c190eb3a","isApprovedForAll(address,address)":"e985e9c5","levelOf(uint256)":"6d5e3032","name()":"06fdde03","ownerOf(uint256)":"6352211e","participatedInGovernance(address)":"8c5b76fb","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","select(uint256)":"839a19d9","selectFor(address,uint256)":"aa3491eb","setApprovalForAll(address,bool)":"a22cb465","setB3TRtoUpgradeToLevel(uint256[])":"b1ccbd2c","setB3trGovernorAddress(address)":"ddd8634d","setBaseURI(string)":"55f804b3","setIsPublicMintingPaused(bool)":"5b5da514","setMaxLevel(uint256)":"344f1ba5","setNodeToFreeUpgradeLevel(uint8,uint256)":"001db0dd","setVechainNodes(address)":"5ffaa59a","setXAllocationsGovernorAddress(address)":"3af03ea8","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","treasury()":"61d027b3","unpause()":"3f4ba83a","upgrade(uint256)":"45977d03","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50","xAllocationsGovernor()":"5ecf68e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"B3TRtoUpgradeToLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"B3trGovernorAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"LevelWhenAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"LevelWhenDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"MaxLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PublicMintingPaused\",\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Selected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsGovernorAddressUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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_LEVEL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NODES_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"attachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"detachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRdonated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgrade\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgradeToLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getIdAttachedToNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterAttachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterDetachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getNodeIdAttached\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevelOf\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"}],\"name\":\"getNodeToFreeLevel\",\"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\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"blockNumber\",\"type\":\"uint48\"}],\"name\":\"getSelectedTokenIdAtBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV4.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenInfoByTokenId\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV4.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"getTokensInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV4.TokenInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"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\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pauser\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractsAddressManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxLevel\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"b3tr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"internalType\":\"struct GalaxyMemberV4.InitializationData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesMangaement\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesAdmin\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_nodeFreeLevels\",\"type\":\"uint256[]\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"levelOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"participatedInGovernance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"select\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"selectFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"setB3TRtoUpgradeToLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3trGovernor\",\"type\":\"address\"}],\"name\":\"setB3trGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"setIsPublicMintingPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setMaxLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setNodeToFreeUpgradeLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"}],\"name\":\"setVechainNodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_xAllocationsGovernor\",\"type\":\"address\"}],\"name\":\"setXAllocationsGovernorAddress\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"upgrade\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsGovernor\",\"outputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities. --------------------------------- VERSION 2 --------------------------------- - Added Vechain Nodes contract to attach and detach nodes to tokens - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels - Added free upgrade levels for each Vechain node level - Removed automatic highest level owned selection - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading - Core logic functions are now overridable through inheritance - B3TRGovernor has been updated to V2 thus pointing to the new interface - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too --------------------------------- VERSION 3 --------------------------------- - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated()) - Added `selectFor` function to allow the admin to select a token for the user - Added checkpoints for the selected token ID of the user - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking -------------------------------- VERSION 4 ---------------------------------  - Added events to track the level of the token when attaching and detaching nodes\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"ERC721EnumerableForbiddenBatchMint()\":[{\"details\":\"Batch mint is not allowed.\"}],\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721OutOfBoundsIndex(address,uint256)\":[{\"details\":\"An `owner`'s token query was out of bounds for `index`. NOTE: The owner being `address(0)` indicates a global out of bounds index.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"B3TRtoUpgradeToLevelUpdated(uint256[])\":{\"details\":\"Emitted when B3TR required to upgrade to each level is updated\"},\"B3trGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when B3TRGovernor contract address is updated\"},\"BaseURIUpdated(string,string)\":{\"details\":\"Emitted when base URI is updated\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"LevelWhenAttached(uint256,uint256,uint256)\":{\"details\":\"Emitted when node is attached to a token\"},\"LevelWhenDetached(uint256,uint256,uint256)\":{\"details\":\"Emitted when node is detached from a token\"},\"MaxLevelUpdated(uint256,uint256)\":{\"details\":\"Emitted when the max level is updated.\"},\"NodeAttached(uint256,uint256)\":{\"details\":\"Emitted when a node is attached to a token\"},\"NodeDetached(uint256,uint256)\":{\"details\":\"Emitted when a node is detached from a token\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"PublicMintingPaused(bool)\":{\"details\":\"Emitted when public minting is paused\"},\"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.\"},\"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`)\"},\"Selected(address,uint256)\":{\"details\":\"Emitted when an account changes the selected token for voting rewards.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"},\"Upgraded(uint256,uint256,uint256)\":{\"details\":\"Emitted when a token is upgraded.\"},\"XAllocationsGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when XAllocationVotingGovernor contract address is updated\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Returns the mode of the clock.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Overrides the ERC721BurnableUpgradeable function to include custom burning logic\",\"params\":{\"tokenId\":\"Token ID to burn\"}},\"clock()\":{\"details\":\"Clock used for flagging checkpoints.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"freeMint()\":{\"details\":\"Mints a token with level 1 and ensures that the public minting is not paused\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getB3TRdonated(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgrade(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgradeToLevel(uint256)\":{\"params\":{\"level\":\"Level to upgrade to\"}},\"getIdAttachedToNode(uint256)\":{\"params\":{\"nodeId\":\"Vechain node Token ID\"}},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"- Vechain Node Token ID\",\"tokenId\":\"- GM Token ID\"}},\"getLevelAfterDetachingNode(uint256)\":{\"params\":{\"tokenId\":\"- GM Token ID\"}},\"getNodeIdAttached(uint256)\":{\"params\":{\"tokenId\":\"GM Token ID\"}},\"getNodeLevelOf(uint256)\":{\"params\":{\"nodeId\":\"Vechain Node Token ID\"}},\"getNodeToFreeLevel(uint8)\":{\"params\":{\"nodeLevel\":\"Vechain node level\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getSelectedTokenId(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"}},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"params\":{\"blockNumber\":\"The block number to check\",\"owner\":\"The address of the owner to check\"}},\"getSelectedTokenInfoByOwner(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"},\"returns\":{\"_0\":\"TokenInfo The selected token info\"}},\"getTokenInfoByTokenId(uint256)\":{\"params\":{\"tokenId\":\"Token ID to get the info for\"},\"returns\":{\"_0\":\"TokenInfo The token info\"}},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"params\":{\"owner\":\"The address of the owner to check\",\"page\":\"The page number to fetch\",\"size\":\"The number of tokens to fetch (cannot exceed 100)\"},\"returns\":{\"_0\":\"TokenInfo[] The tokens owned by the 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((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\",\"details\":\"Sets initial values for all relevant contract properties and state variables.\"},\"initializeV2(address,address,address,uint256[])\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\",\"details\":\"Sets initial values for all relevant contract properties and state variables.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"levelOf(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"participatedInGovernance(address)\":{\"params\":{\"user\":\"The address of the user to check\"}},\"pause()\":{\"details\":\"pausing the contract will prevent minting, upgrading, and transferring of tokensOnly callable by the pauser role\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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.\"},\"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 `callerConfirmation`. 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.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"select(uint256)\":{\"params\":{\"tokenID\":\"Token ID to select\"}},\"selectFor(address,uint256)\":{\"params\":{\"owner\":\"The address of the owner to check\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"details\":\"Only callable by the admin role\",\"params\":{\"b3trToUpgradeToLevel\":\"Mapping of B3TR requirements per level\"}},\"setB3trGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_b3trGovernor\":\"B3TRGovernor contract address\"}},\"setBaseURI(string)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"baseTokenURI\":\"Base URI for the Token\"}},\"setIsPublicMintingPaused(bool)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"isPaused\":\"Flag to pause or unpause public minting\"}},\"setMaxLevel(uint256)\":{\"details\":\"Only callable by the admin role\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"params\":{\"level\":\"new free upgrade level\",\"nodeLevel\":\"Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\"}},\"setVechainNodes(address)\":{\"params\":{\"_vechainNodes\":\"Vechain Nodes contract address\"}},\"setXAllocationsGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_xAllocationsGovernor\":\"XAllocationVotingGovernor contract address\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"computes the token URI based on the base URI and the level of the token\",\"params\":{\"tokenId\":\"Token ID to get the URI for\"}},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unpause()\":{\"details\":\"Only callable by the pauser role\"},\"upgrade(uint256)\":{\"details\":\"Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\",\"params\":{\"tokenId\":\"Token ID to upgrade\"}},\"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()\":{\"details\":\"This function is used to identify the version of the contract and should be updated in each new version\",\"returns\":{\"_0\":\"string The version of the contract\"}}},\"stateVariables\":{\"GalaxyMemberStorageLocation\":{\"details\":\"keccak256(abi.encode(uint256(keccak256(\\\"b3tr.storage.GalaxyMember\\\")) - 1)) & ~bytes32(uint256(0xff))\"}},\"title\":\"GalaxyMember\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"MAX_LEVEL()\":{\"notice\":\"Gets the maximum level that tokens can be minted or upgraded to\"},\"b3tr()\":{\"notice\":\"Gets the B3TR token contract address\"},\"b3trGovernor()\":{\"notice\":\"Gets the b3trGovernor contract address\"},\"baseURI()\":{\"notice\":\"Gets the base URI for computing the tokenURI\"},\"burn(uint256)\":{\"notice\":\"Allows the token owner to burn their token\"},\"constructor\":{\"notice\":\"Ensures only initializer functions are called when deploying a proxy\"},\"freeMint()\":{\"notice\":\"Allows a user to freely mint a token if they have participated in governance\"},\"getB3TRdonated(uint256)\":{\"notice\":\"Get the B3TR donated for upgrading a token\"},\"getB3TRtoUpgrade(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to the next level\"},\"getB3TRtoUpgradeToLevel(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to a specific level\"},\"getIdAttachedToNode(uint256)\":{\"notice\":\"Get the GM Token ID attached to the Vechain Node Token ID\"},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"notice\":\"Gets the level of the token after attaching a node\"},\"getLevelAfterDetachingNode(uint256)\":{\"notice\":\"Gets the level of the token after detaching a node\"},\"getNodeIdAttached(uint256)\":{\"notice\":\"Get the Vechain Node Token ID attached to the GM Token ID\"},\"getNodeLevelOf(uint256)\":{\"notice\":\"Gets the strength level of the Vechain node\"},\"getNodeToFreeLevel(uint8)\":{\"notice\":\"Get the GM level that can be upgraded for free for a given Vechain node level\"},\"getSelectedTokenId(address)\":{\"notice\":\"Gets the selected token ID for the user\"},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"notice\":\"Gets the selected token ID for the user in a specific block number\"},\"getSelectedTokenInfoByOwner(address)\":{\"notice\":\"Gets the selected token info for an address\"},\"getTokenInfoByTokenId(uint256)\":{\"notice\":\"Gets the token info by token ID\"},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"notice\":\"Gets the tokens owned by an address\"},\"initialize((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))\":{\"notice\":\"Initializes a new GalaxyMember contract\"},\"initializeV2(address,address,address,uint256[])\":{\"notice\":\"Initializes a new GalaxyMember contract\"},\"levelOf(uint256)\":{\"notice\":\"Gets the level of the GM token\"},\"participatedInGovernance(address)\":{\"notice\":\"Gets whether the user has participated in governance\"},\"pause()\":{\"notice\":\"Pauses the Galaxy Member contract\"},\"select(uint256)\":{\"notice\":\"Allows the user to select a token for voting rewards multiplier\"},\"selectFor(address,uint256)\":{\"notice\":\"Allows the admin to select a token for the user\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"notice\":\"Sets the amount of B3TR required to upgrade to each level\"},\"setB3trGovernorAddress(address)\":{\"notice\":\"Sets the B3TRGovernor contract address\"},\"setBaseURI(string)\":{\"notice\":\"Sets the base URI for computing the tokenURI\"},\"setIsPublicMintingPaused(bool)\":{\"notice\":\"Pauses public minting\"},\"setMaxLevel(uint256)\":{\"notice\":\"Sets the maximum level that tokens can be minted or upgraded to\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"notice\":\"Sets the treasury contract address\"},\"setVechainNodes(address)\":{\"notice\":\"Sets the Vechain Nodes contract address\"},\"setXAllocationsGovernorAddress(address)\":{\"notice\":\"Sets the XAllocationVotingGovernor contract address\"},\"tokenURI(uint256)\":{\"notice\":\"gets the token URI for a specific token\"},\"treasury()\":{\"notice\":\"Gets the treasury contract address\"},\"unpause()\":{\"notice\":\"Unpauses the Galaxy Member contract\"},\"upgrade(uint256)\":{\"notice\":\"Upgrades a token to the next level\"},\"version()\":{\"notice\":\"Retrieves the current version of the contract\"},\"xAllocationsGovernor()\":{\"notice\":\"Gets the xAllocationsGovernor contract address\"}},\"notice\":\"This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V4/GalaxyMemberV4.sol\":\"GalaxyMemberV4\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x5d1215064b3e114d329b1544cf65d33404f63e7841184e55267f4d8b114608e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1699c6ecb0511cb626f40814463aaf4e5c8c36399689e0f3de7561f227a5b50a\",\"dweb:/ipfs/QmQDxPddEsajUEPDRsfPekEhBRjmBTepYALuTwdM7h6mRz\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\":{\"keccak256\":\"0xe3c0b8baf1c6c26bd7944f5c7e71d0e902cbd1a90509f093524c289b89ad5344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9b136fb95c70aa8bce31e2fbaea664bd44afc305b8b75547d90944c89f2acc4\",\"dweb:/ipfs/QmRZbDHHu8obmna5Aj8iP2xNC4xC3p2RtdhpsYiJ8Bbm3M\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\":{\"keccak256\":\"0x6a7330cb4ed2bea90bed97483d55f11ccf98af6c1dd1e2b1739040b679ff9545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a274337315d1f332ba80f7cfbe5243267db6a015514c5a0e7898219ab51fb52\",\"dweb:/ipfs/QmTZdtdWgVs7VmP1dUW4idVpLK4pVFS6sfoi2pQCnaKgSX\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\":{\"keccak256\":\"0x7e68925d3373bd2baa7ac36839c464b2e77b67764201c4e0196d62699ee220b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0896e7ff605a131ca982da1175d798c19588852dc74329f5c3675ac76cb80ff\",\"dweb:/ipfs/QmdePp3XmXaKz4A9qqj6enFuqERWvJoN4uRmFzu2cwLPX8\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0xb31b86c03f4677dcffa4655285d62433509513be9bafa0e04984565052d34e44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a89c6fb0cd5fef4244500b633f63def9f2bb2134debb961e590bd5a2910662fd\",\"dweb:/ipfs/QmNqWyCxyopvb99RbRomPpfTZGXRi5MnzgpFXE2BFLLgMc\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V2/interfaces/INodeManagementV2.sol\":{\"keccak256\":\"0x2517ad75a09debcadb4634d85d25961f5b7ca1004b2557bce483c72746a9ad70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b947705d7d9b3d092fb77e066f1c175e58d4ae8d8e935eee1bfed7f6bb095bc5\",\"dweb:/ipfs/QmeKUUAg83YLiJtC9SRzJ8MzaBUR3155jYNkP2Sbq5Qnpz\"]},\"contracts/deprecated/V2/node-management-libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0x128b934b2b6c3e4530f36e8bd2b08f31cdc6b1248a5bc47c765175c1666109bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dc299d66d1cfb0658ebf2c5fef3852a86a437881a0986070cbc6da7af772bd3\",\"dweb:/ipfs/Qmd3SEURkuqCAopHKGNhnwpvt4ePasBMex6gLuNigogw1Y\"]},\"contracts/deprecated/V4/GalaxyMemberV4.sol\":{\"keccak256\":\"0xd8dd2642a44113b566a7379c2f952bfaa9858e81e2d38b72bb262e09f7c06c60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ebb64054fc5da0902fc3aef78c3887f1677cd921a39687e39a5b2a3d8a8b1b8\",\"dweb:/ipfs/QmTUqkAmjeKy6WsRQfQsa26ocbQArRPpHuW6ZbRRvNP2Rh\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V5/GalaxyMemberV5.sol":{"GalaxyMemberV5":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"ERC721EnumerableForbiddenBatchMint","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"ERC721OutOfBoundsIndex","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"B3TRtoUpgradeToLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"B3trGovernorAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newBaseURI","type":"string"},{"indexed":true,"internalType":"string","name":"oldBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"LevelWhenAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"LevelWhenDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"MaxLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PublicMintingPaused","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":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Selected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsGovernorAddressUpdated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NODES_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"attachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"detachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRdonated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRtoUpgrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getB3TRtoUpgradeToLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getIdAttachedToNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"nodeTokenId","type":"uint256"}],"name":"getLevelAfterAttachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getLevelAfterDetachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getNodeIdAttached","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevelOf","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"}],"name":"getNodeToFreeLevel","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":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint48","name":"blockNumber","type":"uint48"}],"name":"getSelectedTokenIdAtBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV5.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getTokenInfoByTokenId","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV5.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"name":"getTokensInfoByOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"tokenLevel","type":"uint256"},{"internalType":"uint256","name":"b3trToUpgrade","type":"uint256"}],"internalType":"struct GalaxyMemberV5.TokenInfo[]","name":"","type":"tuple[]"}],"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":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"pauser","type":"address"},{"internalType":"address","name":"minter","type":"address"},{"internalType":"address","name":"contractsAddressManager","type":"address"},{"internalType":"uint256","name":"maxLevel","type":"uint256"},{"internalType":"string","name":"baseTokenURI","type":"string"},{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"},{"internalType":"address","name":"b3tr","type":"address"},{"internalType":"address","name":"treasury","type":"address"}],"internalType":"struct GalaxyMemberV5.InitializationData","name":"data","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vechainNodes","type":"address"},{"internalType":"address","name":"_nodesMangaement","type":"address"},{"internalType":"address","name":"_nodesAdmin","type":"address"},{"internalType":"uint256[]","name":"_nodeFreeLevels","type":"uint256[]"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"levelOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"participatedInGovernance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"select","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"selectFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"setB3TRtoUpgradeToLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3trGovernor","type":"address"}],"name":"setB3trGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setIsPublicMintingPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setMaxLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setNodeToFreeUpgradeLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xAllocationsGovernor","type":"address"}],"name":"setXAllocationsGovernorAddress","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"upgrade","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":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"xAllocationsGovernor","outputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_38910":{"entryPoint":null,"id":38910,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615dea6200010460003960008181613a6c01528181613a950152613bdd0152615dea6000f3fe6080604052600436106103405760003560e01c80621db0dd1461034557806301ffc9a71461036757806306fdde031461039c578063081812fc146103be578063095ea7b3146103eb57806318160ddd1461040b57806323b872dd1461042e578063248a9ca31461044e5780632b42df381461046e5780632f2ff15d1461048e5780632f745c59146104ae578063344f1ba5146104ce57806336568abe146104ee5780633af03ea81461050e5780633c60f55d1461052e5780633d6dbee81461054e5780633f4ba83a146105705780633ff453af1461058557806342842e0e146105b757806342966c68146105d757806345977d03146105f75780634a6565e1146106175780634bf5d7e9146106375780634f1ef2861461067d5780634f6ccce71461069057806351c438d1146106b057806352d1902d146106d057806354fd4d50146106e557806355f804b31461070f578063582a486a1461072f5780635b5da514146107445780635b70ea9f146107645780635c975abb146107795780635ecf68e91461078e5780635f4e42ca146107a357806361d027b3146107c35780636352211e146107d8578063643ce418146107f85780636c0360eb146108255780636d5e30321461083a57806370a082311461085a5780637893d7361461087a578063839a19d91461088f5780638456cb59146108af578063851f738e146108c4578063865c380b146108f157806388371110146109115780638c5b76fb1461093157806391d148541461095157806391ddadf414610971578063952f21331461099d578063958fc97d146109bf57806395d89b41146109df578063a1843bd0146109f4578063a217fddf14610a14578063a22cb46514610a29578063a49062d414610a49578063a51d2e0b14610a5e578063aa3491eb14610a7e578063ad3cb1cc14610a9e578063b1ccbd2c14610acf578063b88d4fde14610aef578063c190eb3a14610b0f578063c87b56dd14610b2f578063cc421d0714610b4f578063d206885d14610b6f578063d539139314610b8f578063d547741f14610bb1578063ddd8634d14610bd1578063de4983a214610bf1578063e617e49f14610c11578063e63ab1e914610c31578063e985e9c514610c53578063f72c0d8b14610c73575b600080fd5b34801561035157600080fd5b50610365610360366004614ee8565b610c95565b005b34801561037357600080fd5b50610387610382366004614f2a565b610df4565b60405190151581526020015b60405180910390f35b3480156103a857600080fd5b506103b1610e05565b6040516103939190614f97565b3480156103ca57600080fd5b506103de6103d9366004614faa565b610ea6565b6040516103939190614fc3565b3480156103f757600080fd5b50610365610406366004614ffc565b610ebb565b34801561041757600080fd5b50610420610eca565b604051908152602001610393565b34801561043a57600080fd5b5061036561044936600461501a565b610edf565b34801561045a57600080fd5b50610420610469366004614faa565b610f6a565b34801561047a57600080fd5b50610420610489366004614faa565b610f8a565b34801561049a57600080fd5b506103656104a936600461505b565b610faa565b3480156104ba57600080fd5b506104206104c9366004614ffc565b610fc6565b3480156104da57600080fd5b506103656104e9366004614faa565b611028565b3480156104fa57600080fd5b5061036561050936600461505b565b611194565b34801561051a57600080fd5b5061036561052936600461508b565b6111cc565b34801561053a57600080fd5b506104206105493660046150a8565b6112ca565b34801561055a57600080fd5b50610420600080516020615d7583398151915281565b34801561057c57600080fd5b5061036561130d565b34801561059157600080fd5b506105a56105a0366004614faa565b611330565b60405160ff9091168152602001610393565b3480156105c357600080fd5b506103656105d236600461501a565b6113b2565b3480156105e357600080fd5b506103656105f2366004614faa565b6113cd565b34801561060357600080fd5b50610365610612366004614faa565b611406565b34801561062357600080fd5b506103656106323660046150e1565b61181c565b34801561064357600080fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526103b1565b61036561068b3660046151e1565b611b3b565b34801561069c57600080fd5b506104206106ab366004614faa565b611b56565b3480156106bc57600080fd5b506104206106cb366004614faa565b611bb7565b3480156106dc57600080fd5b50610420611bd5565b3480156106f157600080fd5b506040805180820190915260018152603560f81b60208201526103b1565b34801561071b57600080fd5b5061036561072a366004615230565b611bf2565b34801561073b57600080fd5b506103de611c8f565b34801561075057600080fd5b5061036561075f366004615272565b611cad565b34801561077057600080fd5b50610365611d15565b34801561078557600080fd5b50610387611e04565b34801561079a57600080fd5b506103de611e19565b3480156107af57600080fd5b506103656107be366004615303565b611e34565b3480156107cf57600080fd5b506103de612363565b3480156107e457600080fd5b506103de6107f3366004614faa565b612381565b34801561080457600080fd5b50610818610813366004614faa565b61238c565b60405161039391906154a8565b34801561083157600080fd5b506103b161243c565b34801561084657600080fd5b50610420610855366004614faa565b61244b565b34801561086657600080fd5b5061042061087536600461508b565b61246e565b34801561088657600080fd5b506103de6124c6565b34801561089b57600080fd5b506103656108aa366004614faa565b6124e4565b3480156108bb57600080fd5b506103656124ee565b3480156108d057600080fd5b506108e46108df3660046154bb565b61250e565b60405161039391906154f0565b3480156108fd57600080fd5b5061042061090c366004614faa565b6126f2565b34801561091d57600080fd5b5061036561092c3660046150e1565b612710565b34801561093d57600080fd5b5061038761094c36600461508b565b6129d4565b34801561095d57600080fd5b5061038761096c36600461505b565b612bb8565b34801561097d57600080fd5b50610986612bee565b60405165ffffffffffff9091168152602001610393565b3480156109a957600080fd5b50610420600080516020615d5583398151915281565b3480156109cb57600080fd5b506104206109da366004614faa565b612bf8565b3480156109eb57600080fd5b506103b1612c16565b348015610a0057600080fd5b50610420610a0f3660046150e1565b612c33565b348015610a2057600080fd5b50610420600081565b348015610a3557600080fd5b50610365610a44366004615552565b612c40565b348015610a5557600080fd5b50610420612c4b565b348015610a6a57600080fd5b50610420610a79366004614faa565b612c60565b348015610a8a57600080fd5b50610365610a99366004614ffc565b612cdb565b348015610aaa57600080fd5b506103b1604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610adb57600080fd5b50610365610aea366004615580565b612cf0565b348015610afb57600080fd5b50610365610b0a3660046155b4565b612dd9565b348015610b1b57600080fd5b50610365610b2a36600461561f565b612df0565b348015610b3b57600080fd5b506103b1610b4a366004614faa565b61311e565b348015610b5b57600080fd5b50610420610b6a366004614faa565b6131af565b348015610b7b57600080fd5b50610420610b8a36600461508b565b6131c5565b348015610b9b57600080fd5b50610420600080516020615d3583398151915281565b348015610bbd57600080fd5b50610365610bcc36600461505b565b613206565b348015610bdd57600080fd5b50610365610bec36600461508b565b613222565b348015610bfd57600080fd5b50610818610c0c36600461508b565b613320565b348015610c1d57600080fd5b50610420610c2c366004615687565b61333e565b348015610c3d57600080fd5b50610420600080516020615d1583398151915281565b348015610c5f57600080fd5b50610387610c6e3660046156a4565b613364565b348015610c7f57600080fd5b50610420600080516020615cb583398151915281565b600080516020615d75833981519152610cad816133a3565b6001821015610d015760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610d555760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610cf8565b6000610d5f6133ad565b90508060060154831115610dd95760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610cf8565b60ff9093166000908152600f90930160205250604090912055565b6000610dff826133d1565b92915050565b60606000610e116133f6565b9050806000018054610e22906156d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4e906156d2565b8015610e9b5780601f10610e7057610100808354040283529160200191610e9b565b820191906000526020600020905b815481529060010190602001808311610e7e57829003601f168201915b505050505091505090565b6000610eb18261341a565b50610dff82613452565b610ec682823361347b565b5050565b600080610ed5613488565b6002015492915050565b6001600160a01b038216610f09576000604051633250574960e11b8152600401610cf89190614fc3565b6000610f168383336134ac565b9050836001600160a01b0316816001600160a01b031614610f64576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610cf8565b50505050565b600080610f75613627565b60009384526020525050604090206001015490565b600080610f956133ad565b60009384526008016020525050604090205490565b610fb382610f6a565b610fbc816133a3565b610f64838361364b565b600080610fd1613488565b9050610fdc8461246e565b8310610fff57838360405163295f44f760e21b8152600401610cf892919061570c565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b6000611033816133a3565b600061103d6133ad565b9050806006015483116110b25760405162461bcd60e51b81526020600482015260436024820152600080516020615c5583398151915260448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610cf8565b60025b83811161114a5760008181526008830160205260409020546111385760405162461bcd60e51b81526020600482015260426024820152600080516020615c7583398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610cf8565b806111428161573b565b9150506110b5565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b03811633146111bd5760405163334bd91960e11b815260040160405180910390fd5b6111c782826136ec565b505050565b600080516020615d558339815191526111e4816133a3565b6001600160a01b0382166112605760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610cf8565b600061126a6133ad565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b6000806112d56133ad565b6001600160a01b038516600090815260128201602052604090209091506112fc9084613764565b6001600160d01b0316949350505050565b600080516020615d15833981519152611325816133a3565b61132d61381a565b50565b60008061133b6133ad565b600c810154604051631ceae42f60e01b8152600481018690529192506001600160a01b031690631ceae42f90602401602060405180830381865afa158015611387573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ab9190615754565b9392505050565b6111c783838360405180602001604052806000815250612dd9565b336113d782612381565b6001600160a01b0316146113fd5760405162461bcd60e51b8152600401610cf890615771565b61132d81613871565b61140e61387d565b6114166138b3565b3361142082612381565b6001600160a01b0316146114925760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610cf8565b600061149c6133ad565b905060006114a98361244b565b90506114b3612c4b565b81106115165760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610cf8565b600061152184612c60565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a0823190611558903390600401614fc3565b602060405180830381865afa158015611575573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159991906157c4565b10156115fe5760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610cf8565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa15801561164e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167291906157c4565b10156116d95760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610cf8565b6000848152601084016020526040812080548392906116f99084906157dd565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af115801561175d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178191906157f0565b6117cd5760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610cf8565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854836117f98761244b565b6040805192835260208301919091520160405180910390a250505061132d6138db565b6118246138b3565b600061182e6133ad565b90503361183a83612381565b6001600160a01b031614806118c45750600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa158015611895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b9919061580d565b6001600160a01b0316145b806119445750600c810154604051635d3c373f60e01b81526004810185905233916001600160a01b031690635d3c373f90602401602060405180830381865afa158015611915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611939919061580d565b6001600160a01b0316145b6119c35760405162461bcd60e51b81526020600482015260566024820152600080516020615d9583398151915260448201527f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b60648201527532b7103737ba1037bbb732b210313c9031b0b63632b960511b608482015260a401610cf8565b816119cd84611bb7565b14611a2f5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610cf8565b82611a3983612bf8565b14611a9b5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610cf8565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a36000611af78360006138ec565b50905083837f48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b859083604051611b2d91815260200190565b60405180910390a350505050565b611b43613a61565b611b4c82613b06565b610ec68282613b1e565b600080611b61613488565b9050611b6b610eca565b8310611b8f5760008360405163295f44f760e21b8152600401610cf892919061570c565b806002018381548110611ba457611ba461582a565b9060005260206000200154915050919050565b6000611bc16133ad565b6000928352600d0160205250604090205490565b6000611bdf613bd2565b50600080516020615cf583398151915290565b6000611bfd816133a3565b6000825111611c1e5760405162461bcd60e51b8152600401610cf890615840565b6000611c286133ad565b905080600401604051611c3b9190615883565b604051809103902083604051611c5191906158f9565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a360048101610f64848261595b565b600080611c9a6133ad565b600201546001600160a01b031692915050565b6000611cb8816133a3565b6000611cc26133ad565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611cf7911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611d1f6133ad565b600b81015490915060ff1615611d875760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610cf8565b611d90336129d4565b611dfb5760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610cf8565b61132d33613c1b565b600080611e0f613c4c565b5460ff1692915050565b600080611e246133ad565b546001600160a01b031692915050565b6000611e3e613c70565b805490915060ff600160401b82041615906001600160401b0316600081158015611e655750825b90506000826001600160401b03166001148015611e815750303b155b905081158015611e8f575080155b15611ead5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611ed657845460ff60401b1916600160401b1785555b60008660e0015111611f305760405162461bcd60e51b815260206004820152602f6024820152600080516020615c5583398151915260448201526e02067726561746572207468616e203608c1b6064820152608401610cf8565b60008661010001515111611f565760405162461bcd60e51b8152600401610cf890615840565b6101408601516001600160a01b0316611fd65760405162461bcd60e51b815260206004820152603c60248201527f47616c617879204d656d6265723a204233545220746f6b656e2061646472657360448201527b732063616e6e6f7420626520746865207a65726f206164647265737360201b6064820152608401610cf8565b6101608601516001600160a01b03166120545760405162461bcd60e51b815260206004820152603a60248201527f47616c617879204d656d6265723a20547265617375727920616464726573732060448201527963616e6e6f7420626520746865207a65726f206164647265737360301b6064820152608401610cf8565b60018660e001516120659190615a1a565b8661012001515110156120d95760405162461bcd60e51b81526020600482015260426024820152600080516020615c7583398151915260448201527f7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656064820152616c7360f01b608482015260a401610cf8565b6120eb86600001518760200151613c94565b6120f3613ca6565b6120fb613cae565b612103613ca6565b61210b613ca6565b612113613cbe565b61211b613ca6565b60006121256133ad565b905086610100015181600401908161213d919061595b565b5060005b876101200151518110156121e257600088610120015182815181106121685761216861582a565b60200260200101511161218d5760405162461bcd60e51b8152600401610cf890615a2d565b87610120015181815181106121a4576121a461582a565b60200260200101518260080160008360026121bf91906157dd565b8152602081019190915260400160002055806121da8161573b565b915050612141565b5060e087015160068201556101408701516002820180546001600160a01b03199081166001600160a01b039384161790915561016089015160038401805490921690831617905560408801511661229b5760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a2041646d696e20616464726573732063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610cf8565b6122ac6000801b886040015161364b565b506122c9600080516020615cb5833981519152886060015161364b565b506122e6600080516020615d15833981519152886080015161364b565b50612303600080516020615d358339815191528860a0015161364b565b50612320600080516020615d558339815191528860c0015161364b565b5050831561235b57845460ff60401b19168555604051600080516020615c958339815191529061235290600190615a70565b60405180910390a15b505050505050565b60008061236e6133ad565b600301546001600160a01b031692915050565b6000610dff8261341a565b612394614eb1565b600061239f83613cce565b6001600160a01b0316036124015760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610cf8565b612409614eb1565b8281526124158361311e565b60208201526124238361244b565b604082015261243183612c60565b606082015292915050565b6060612446613cf7565b905090565b60008061245783612bf8565b9050600061246584836138ec565b50949350505050565b6000806124796133f6565b90506001600160a01b0383166124a55760006040516322718ad960e21b8152600401610cf89190614fc3565b6001600160a01b039092166000908152600390920160205250604090205490565b6000806124d16133ad565b600101546001600160a01b031692915050565b61132d3382613d14565b600080516020615d15833981519152612506816133a3565b61132d613dd8565b60608160000361255e5760405162461bcd60e51b81526020600482015260276024820152600080516020615c3583398151915260448201526606f7420626520360cc1b6064820152608401610cf8565b6064808311156125a75761257181613e1f565b6040516020016125819190615a84565b60408051601f198184030181529082905262461bcd60e51b8252610cf891600401614f97565b60006125b28661246e565b905060006125c08587615ad3565b90508181106126055760408051600080825260208201909252906125fa565b6125e7614eb1565b8152602001906001900390816125df5790505b5093505050506113ab565b600061261186836157dd565b90508281111561261e5750815b600061262a8383615a1a565b90506000816001600160401b0381111561264657612646615103565b60405190808252806020026020018201604052801561267f57816020015b61266c614eb1565b8152602001906001900390816126645790505b50905060005b828110156126e457600061269982876157dd565b905060006126a78d83610fc6565b90506126b28161238c565b8484815181106126c4576126c461582a565b6020026020010181905250505080806126dc9061573b565b915050612685565b509998505050505050505050565b60006126fc6133ad565b600092835260100160205250604090205490565b6127186138b3565b60006127226133ad565b90503361272e83612381565b6001600160a01b0316146127945760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610cf8565b600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa1580156127df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612803919061580d565b6001600160a01b0316146128695760405162461bcd60e51b81526020600482015260396024820152600080516020615d958339815191526044820152783bb732b21037b91036b0b730b3b2b210313c9031b0b63632b960391b6064820152608401610cf8565b61287283611bb7565b156128d65760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610cf8565b6128df82612bf8565b156129435760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610cf8565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a3600061299e83856138ec565b50905083837fdd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace783604051611b2d91815260200190565b6000806129df6133ad565b80549091506001600160a01b0316612a525760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610cf8565b60018101546001600160a01b0316612ab85760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610cf8565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612ae7908690600401614fc3565b602060405180830381865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2891906157f0565b80612ba157506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612b60908690600401614fc3565b602060405180830381865afa158015612b7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba191906157f0565b15612baf5750600192915050565b50600092915050565b600080612bc3613627565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000612446613eb1565b6000612c026133ad565b6000928352600e0160205250604090205490565b60606000612c226133f6565b9050806001018054610e22906156d2565b60008061246584846138ec565b610ec6338383613ebc565b600080612c566133ad565b6006015492915050565b600080612c6c83613cce565b6001600160a01b031603612c8257506000919050565b6000612c8d83612bf8565b9050600080612c9c85846138ec565b91509150612ca8612c4b565b8203612cb957506000949350505050565b80612cc86104898460016157dd565b612cd29190615a1a565b95945050505050565b6000612ce6816133a3565b6111c78383613d14565b6000612cfb816133a3565b6000612d056133ad565b905060005b8351811015612d9c576000848281518110612d2757612d2761582a565b602002602001015111612d4c5760405162461bcd60e51b8152600401610cf890615a2d565b838181518110612d5e57612d5e61582a565b6020026020010151826008016000836002612d7991906157dd565b815260208101919091526040016000205580612d948161573b565b915050612d0a565b507f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf87083604051612dcc9190615aea565b60405180910390a1505050565b612de4848484610edf565b610f6484848484613f58565b60026000612dfc613c70565b8054909150600160401b900460ff1680612e23575080546001600160401b03808416911610155b15612e415760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781558251600814612ec05760405162461bcd60e51b81526020600482015260386024820152600080516020615cd58339815191526044820152776c6576656c732e204d7573742062652037206c6576656c7360401b6064820152608401610cf8565b6001600160a01b038616612f355760405162461bcd60e51b815260206004820152603660248201527f47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6044820152756f7420626520746865207a65726f206164647265737360501b6064820152608401610cf8565b6001600160a01b038516612fad5760405162461bcd60e51b815260206004820152603960248201527f47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063604482015278616e6e6f7420626520746865207a65726f206164647265737360381b6064820152608401610cf8565b6000612fb76133ad565b600b81018054610100600160a81b0319166101006001600160a01b038b81169190910291909117909155600c820180546001600160a01b031916918916919091179055600581015490915015613011578060050154613014565b60015b600582015560005b84518160ff1610156130da576001858260ff168151811061303f5761303f61582a565b602002602001015110156130915760405162461bcd60e51b81526020600482015260256024820152600080516020615cd58339815191526044820152641b195d995b60da1b6064820152608401610cf8565b848160ff16815181106130a6576130a661582a565b60209081029190910181015160ff83166000908152600f8501909252604090912055806130d281615b2e565b91505061301c565b506130f3600080516020615d758339815191528661364b565b5050805460ff60401b19168155604051600080516020615c9583398151915290612352908490615a70565b6060600061312b83613cce565b6001600160a01b03160361314d57505060408051602081019091526000815290565b60006131588361244b565b90506000811161317757604051806020016040528060008152506113ab565b61317f61243c565b61318882613e1f565b604051602001613199929190615b4d565b6040516020818303038152906040529392505050565b6000806131bd8360006138ec565b509392505050565b6000806131d06133ad565b6001600160a01b038416600090815260128201602052604090209091506131f69061406f565b6001600160d01b03169392505050565b61320f82610f6a565b613218816133a3565b610f6483836136ec565b600080516020615d5583398151915261323a816133a3565b6001600160a01b0382166132b05760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610cf8565b60006132ba6133ad565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b613328614eb1565b6000613333836131c5565b90506113ab8161238c565b60006133486133ad565b60ff9092166000908152600f9290920160205250604090205490565b60008061336f6133f6565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b61132d813361409f565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610dff5750610dff826140ca565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b60008061342683613cce565b90506001600160a01b038116610dff57604051637e27328960e01b815260048101849052602401610cf8565b60008061345d6133f6565b6000938452600401602052505060409020546001600160a01b031690565b6111c783838360016140ef565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b60006134b66138b3565b6134bf83612bf8565b156135325760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610cf8565b600061353f8585856141f9565b90506001600160a01b0381161580159061355f575061355d8161246e565b155b1561359f5761359c61356f612bee565b60006135796133ad565b6001600160a01b038516600090815260129190910160205260409020919061420e565b50505b6001600160a01b038116158015906135be5750836135bc826131c5565b145b80156135d2575060006135d08261246e565b115b156135eb576135eb816135e6836000610fc6565b613d14565b6001600160a01b0385161580159061360b57506136078561246e565b6001145b1561361f5761361f856135e6876000610fc6565b949350505050565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600080613656613627565b90506136628484612bb8565b6136e2576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556136983390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610dff565b6000915050610dff565b6000806136f7613627565b90506137038484612bb8565b156136e2576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610dff565b8154600090818160058111156137c357600061377f84614229565b6137899085615a1a565b60008881526020902090915081015465ffffffffffff90811690871610156137b3578091506137c1565b6137be8160016157dd565b92505b505b60006137d187878585614311565b9050801561380c576137f6876137e8600184615a1a565b600091825260209091200190565b54600160301b90046001600160d01b031661380f565b60005b979650505050505050565b61382261436b565b600061382c613c4c565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516138669190614fc3565b60405180910390a150565b610ec6600082336134ac565b6000613887614390565b8054909150600119016138ad57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6138bb611e04565b156138d95760405163d93c066560e01b815260040160405180910390fd5b565b60006138e5614390565b6001905550565b60008060006138f96133ad565b90506001841580159061398e575061391086612381565b600c830154604051634f16179f60e11b8152600481018890526001600160a01b039283169290911690639e2c2f3e90602401602060405180830381865afa15801561395f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613983919061580d565b6001600160a01b0316145b156139d457600061399e86611330565b905060ff8116156139d25760006139b48261333e565b905083600601548111156139cc5783600601546139ce565b805b9250505b505b6000868152601083016020526040812054906139f18360016157dd565b90505b83600601548111613a545760008181526008850160205260409020548210613a3d5760008181526008850160205260409020549092508290613a369083615a1a565b9150613a42565b613a54565b80613a4c8161573b565b9150506139f4565b5090969095509350505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480613ae857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316613adc600080516020615cf5833981519152546001600160a01b031690565b6001600160a01b031614155b156138d95760405163703e46dd60e11b815260040160405180910390fd5b600080516020615cb5833981519152610ec6816133a3565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613b78575060408051601f3d908101601f19168201909252613b75918101906157c4565b60015b613b975781604051634c9c8ce360e01b8152600401610cf89190614fc3565b600080516020615cf58339815191528114613bc857604051632a87526960e21b815260048101829052602401610cf8565b6111c783836143b4565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146138d95760405163703e46dd60e11b815260040160405180910390fd5b6000613c256133ad565b6005810180549192506000919082613c3c8361573b565b9190505590506111c7838261440a565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613c9c614424565b610ec68282614449565b6138d9614424565b613cb6614424565b6138d9614477565b613cc6614424565b6138d9614494565b600080613cd96133f6565b6000938452600201602052505060409020546001600160a01b031690565b60606000613d036133ad565b9050806004018054610e22906156d2565b816001600160a01b0316613d2782612381565b6001600160a01b031614613d4d5760405162461bcd60e51b8152600401610cf890615771565b6000613d576133ad565b9050613d8e613d64612bee565b613d6d8461449c565b6001600160a01b03861660009081526012850160205260409020919061420e565b5050826001600160a01b03167fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc83604051613dcb91815260200190565b60405180910390a2505050565b613de06138b3565b6000613dea613c4c565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586138593390565b60606000613e2c836144d4565b60010190506000816001600160401b03811115613e4b57613e4b615103565b6040519080825280601f01601f191660200182016040528015613e75576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613e7f57509392505050565b6000612446436145aa565b6000613ec66133f6565b90506001600160a01b038316613ef15782604051630b61174360e31b8152600401610cf89190614fc3565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611b2d565b6001600160a01b0383163b15610f6457604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613f9a903390889087908790600401615ba2565b6020604051808303816000875af1925050508015613fd5575060408051601f3d908101601f19168201909252613fd291810190615bdf565b60015b614035573d808015614003576040519150601f19603f3d011682016040523d82523d6000602084013e614008565b606091505b50805160000361402d5783604051633250574960e11b8152600401610cf89190614fc3565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146140685783604051633250574960e11b8152600401610cf89190614fc3565b5050505050565b80546000908015612baf57614089836137e8600184615a1a565b54600160301b90046001600160d01b03166113ab565b6140a98282612bb8565b610ec657808260405163e2517d3f60e01b8152600401610cf892919061570c565b60006001600160e01b0319821663780e9d6360e01b1480610dff5750610dff826145dd565b60006140f96133f6565b9050818061410f57506001600160a01b03831615155b156141c857600061411f8561341a565b90506001600160a01b0384161580159061414b5750836001600160a01b0316816001600160a01b031614155b801561415e575061415c8185613364565b155b1561417e578360405163a9fbf51f60e01b8152600401610cf89190614fc3565b82156141c65784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b60006142036138b3565b61361f84848461462d565b60008061421c8585856146bb565b915091505b935093915050565b60008160000361423b57506000919050565b6000600161424884614835565b901c6001901b9050600181848161426157614261615b8c565b048201901c9050600181848161427957614279615b8c565b048201901c9050600181848161429157614291615b8c565b048201901c905060018184816142a9576142a9615b8c565b048201901c905060018184816142c1576142c1615b8c565b048201901c905060018184816142d9576142d9615b8c565b048201901c905060018184816142f1576142f1615b8c565b048201901c90506113ab8182858161430b5761430b615b8c565b046148c9565b60005b818310156131bd57600061432884846148df565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561435757809250614365565b6143628160016157dd565b93505b50614314565b614373611e04565b6138d957604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b6143bd826148fa565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115614402576111c78282614956565b610ec66149c3565b610ec68282604051806020016040528060008152506149e2565b61442c6149f9565b6138d957604051631afcd79f60e31b815260040160405180910390fd5b614451614424565b600061445b6133f6565b905080614468848261595b565b5060018101610f64838261595b565b61447f614424565b6000614489613c4c565b805460ff1916905550565b6138db614424565b60006001600160d01b038211156144d0576040516306dfcc6560e41b815260d0600482015260248101839052604401610cf8565b5090565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106145135772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b831061453d576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061455b57662386f26fc10000830492506010015b6305f5e1008310614573576305f5e100830492506008015b612710831061458757612710830492506004015b60648310614599576064830492506002015b600a8310610dff5760010192915050565b600065ffffffffffff8211156144d0576040516306dfcc6560e41b81526030600482015260248101839052604401610cf8565b60006001600160e01b031982166380ac58cd60e01b148061460e57506001600160e01b03198216635b5e139f60e01b145b80610dff57506301ffc9a760e01b6001600160e01b0319831614610dff565b60008061463b858585614a13565b90506001600160a01b0381166146595761465484614b1a565b61467c565b846001600160a01b0316816001600160a01b03161461467c5761467c8185614b53565b6001600160a01b0385166146985761469384614bf4565b61361f565b846001600160a01b0316816001600160a01b03161461361f5761361f8585614cbd565b8254600090819080156147da5760006146d9876137e8600185615a1a565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561472d57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036147795784614750886137e8600186615a1a565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556147ca565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506142219050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081614221565b600080608083901c1561484a57608092831c92015b604083901c1561485c57604092831c92015b602083901c1561486e57602092831c92015b601083901c1561488057601092831c92015b600883901c1561489257600892831c92015b600483901c156148a457600492831c92015b600283901c156148b657600292831c92015b600183901c15610dff5760010192915050565b60008183106148d857816113ab565b5090919050565b60006148ee6002848418615bfc565b6113ab908484166157dd565b806001600160a01b03163b6000036149275780604051634c9c8ce360e01b8152600401610cf89190614fc3565b600080516020615cf583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161497391906158f9565b600060405180830381855af49150503d80600081146149ae576040519150601f19603f3d011682016040523d82523d6000602084013e6149b3565b606091505b5091509150612cd2858383614d15565b34156138d95760405163b398979f60e01b815260040160405180910390fd5b6149ec8383614d68565b6111c76000848484613f58565b6000614a03613c70565b54600160401b900460ff16919050565b600080614a1e6133f6565b90506000614a2b85613cce565b90506001600160a01b03841615614a4757614a47818587614dcd565b6001600160a01b03811615614a8757614a646000866000806140ef565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614ab8576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b6000614b24613488565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b6000614b5d613488565b90506000614b6a8461246e565b6000848152600184016020526040902054909150808214614bbf576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b6000614bfe613488565b6002810154909150600090614c1590600190615a1a565b6000848152600384016020526040812054600285018054939450909284908110614c4157614c4161582a565b9060005260206000200154905080846002018381548110614c6457614c6461582a565b600091825260208083209091019290925582815260038601909152604080822084905586825281205560028401805480614ca057614ca0615c1e565b600190038181906000526020600020016000905590555050505050565b6000614cc7613488565b905060006001614cd68561246e565b614ce09190615a1a565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b606082614d2a57614d2582614e23565b6113ab565b8151158015614d4157506001600160a01b0384163b155b15614d615783604051639996b31560e01b8152600401610cf89190614fc3565b50806113ab565b6001600160a01b038216614d92576000604051633250574960e11b8152600401610cf89190614fc3565b6000614da0838360006134ac565b90506001600160a01b038116156111c75760006040516339e3563760e11b8152600401610cf89190614fc3565b614dd8838383614e4c565b6111c7576001600160a01b038316614e0657604051637e27328960e01b815260048101829052602401610cf8565b818160405163177e802f60e01b8152600401610cf892919061570c565b805115614e335780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b0383161580159061361f5750826001600160a01b0316846001600160a01b03161480614e865750614e868484613364565b8061361f5750826001600160a01b0316614e9f83613452565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461132d57600080fd5b60008060408385031215614efb57600080fd5b8235614f0681614ed9565b946020939093013593505050565b6001600160e01b03198116811461132d57600080fd5b600060208284031215614f3c57600080fd5b81356113ab81614f14565b60005b83811015614f62578181015183820152602001614f4a565b50506000910152565b60008151808452614f83816020860160208601614f47565b601f01601f19169290920160200192915050565b6020815260006113ab6020830184614f6b565b600060208284031215614fbc57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461132d57600080fd5b8035614ff781614fd7565b919050565b6000806040838503121561500f57600080fd5b8235614f0681614fd7565b60008060006060848603121561502f57600080fd5b833561503a81614fd7565b9250602084013561504a81614fd7565b929592945050506040919091013590565b6000806040838503121561506e57600080fd5b82359150602083013561508081614fd7565b809150509250929050565b60006020828403121561509d57600080fd5b81356113ab81614fd7565b600080604083850312156150bb57600080fd5b82356150c681614fd7565b9150602083013565ffffffffffff8116811461508057600080fd5b600080604083850312156150f457600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b038111828210171561513c5761513c615103565b60405290565b604051601f8201601f191681016001600160401b038111828210171561516a5761516a615103565b604052919050565b600082601f83011261518357600080fd5b81356001600160401b0381111561519c5761519c615103565b6151af601f8201601f1916602001615142565b8181528460208386010111156151c457600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156151f457600080fd5b82356151ff81614fd7565b915060208301356001600160401b0381111561521a57600080fd5b61522685828601615172565b9150509250929050565b60006020828403121561524257600080fd5b81356001600160401b0381111561525857600080fd5b61361f84828501615172565b801515811461132d57600080fd5b60006020828403121561528457600080fd5b81356113ab81615264565b600082601f8301126152a057600080fd5b813560206001600160401b038211156152bb576152bb615103565b8160051b6152ca828201615142565b92835284810182019282810190878511156152e457600080fd5b83870192505b8483101561380f578235825291830191908301906152ea565b60006020828403121561531557600080fd5b81356001600160401b038082111561532c57600080fd5b90830190610180828603121561534157600080fd5b615349615119565b82358281111561535857600080fd5b61536487828601615172565b82525060208301358281111561537957600080fd5b61538587828601615172565b60208301525061539760408401614fec565b60408201526153a860608401614fec565b60608201526153b960808401614fec565b60808201526153ca60a08401614fec565b60a08201526153db60c08401614fec565b60c082015260e083013560e082015261010080840135838111156153fe57600080fd5b61540a88828701615172565b828401525050610120808401358381111561542457600080fd5b6154308882870161528f565b8284015250506101409150615446828401614fec565b82820152610160915061545a828401614fec565b91810191909152949350505050565b8051825260006020820151608060208501526154886080850182614f6b565b905060408301516040850152606083015160608501528091505092915050565b6020815260006113ab6020830184615469565b6000806000606084860312156154d057600080fd5b83356154db81614fd7565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561554557603f19888603018452615533858351615469565b94509285019290850190600101615517565b5092979650505050505050565b6000806040838503121561556557600080fd5b823561557081614fd7565b9150602083013561508081615264565b60006020828403121561559257600080fd5b81356001600160401b038111156155a857600080fd5b61361f8482850161528f565b600080600080608085870312156155ca57600080fd5b84356155d581614fd7565b935060208501356155e581614fd7565b92506040850135915060608501356001600160401b0381111561560757600080fd5b61561387828801615172565b91505092959194509250565b6000806000806080858703121561563557600080fd5b843561564081614fd7565b9350602085013561565081614fd7565b9250604085013561566081614fd7565b915060608501356001600160401b0381111561567b57600080fd5b6156138782880161528f565b60006020828403121561569957600080fd5b81356113ab81614ed9565b600080604083850312156156b757600080fd5b82356156c281614fd7565b9150602083013561508081614fd7565b600181811c908216806156e657607f821691505b60208210810361570657634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161574d5761574d615725565b5060010190565b60006020828403121561576657600080fd5b81516113ab81614ed9565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b6000602082840312156157d657600080fd5b5051919050565b80820180821115610dff57610dff615725565b60006020828403121561580257600080fd5b81516113ab81615264565b60006020828403121561581f57600080fd5b81516113ab81614fd7565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f47616c617879204d656d6265723a204261736520555249206d757374206265206040820152621cd95d60ea1b606082015260800190565b6000808354615891816156d2565b600182811680156158a957600181146158be576158ed565b60ff19841687528215158302870194506158ed565b8760005260208060002060005b858110156158e45781548a8201529084019082016158cb565b50505082870194505b50929695505050505050565b6000825161590b818460208701614f47565b9190910192915050565b601f8211156111c757600081815260208120601f850160051c8101602086101561593c5750805b601f850160051c820191505b8181101561235b57828155600101615948565b81516001600160401b0381111561597457615974615103565b6159888161598284546156d2565b84615915565b602080601f8311600181146159bd57600084156159a55750858301515b600019600386901b1c1916600185901b17855561235b565b600085815260208120601f198616915b828110156159ec578886015182559484019460019091019084016159cd565b5085821015615a0a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610dff57610dff615725565b6020808252603590820152600080516020615c7583398151915260408201527407573742062652067726561746572207468616e203605c1b606082015260800190565b6001600160401b0391909116815260200190565b600080516020615c35833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b602082015260008251615ac6816033850160208701614f47565b9190910160330192915050565b8082028115828204841417610dff57610dff615725565b6020808252825182820181905260009190848201906040850190845b81811015615b2257835183529284019291840191600101615b06565b50909695505050505050565b600060ff821660ff8103615b4457615b44615725565b60010192915050565b60008351615b5f818460208801614f47565b835190830190615b73818360208801614f47565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615bd590830184614f6b565b9695505050505050565b600060208284031215615bf157600080fd5b81516113ab81614f14565b600082615c1957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204d6178206c6576656c206d75737420626547616c617879204d656d6265723a204233545220746f2075706772616465206dc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e347616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a656af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f547616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206fa2646970667358221220d75f8bfb9cadccc9b66eacabfcd20a7b327529c3442a231553f5c6dd707594ca64736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x5DEA PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x3A6C ADD MSTORE DUP2 DUP2 PUSH2 0x3A95 ADD MSTORE PUSH2 0x3BDD ADD MSTORE PUSH2 0x5DEA PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x340 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x345 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x367 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x39C JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x3BE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3EB JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x40B JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x42E JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x44E JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x46E JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x48E JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x4AE JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4CE JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x4EE JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x50E JUMPI DUP1 PUSH4 0x3C60F55D EQ PUSH2 0x52E JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x54E JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x570 JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x585 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x5B7 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x5D7 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x5F7 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x617 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x637 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x67D JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x690 JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x6B0 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x6D0 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x6E5 JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x70F JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x72F JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x744 JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x779 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x78E JUMPI DUP1 PUSH4 0x5F4E42CA EQ PUSH2 0x7A3 JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7C3 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x7D8 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x7F8 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x825 JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x83A JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x85A JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x87A JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x88F JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x8AF JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x8C4 JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x8F1 JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x911 JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x931 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x951 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x971 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x99D JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x9BF JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x9DF JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0x9F4 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xA14 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0xA29 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0xA49 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0xA5E JUMPI DUP1 PUSH4 0xAA3491EB EQ PUSH2 0xA7E JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xA9E JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xACF JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xAEF JUMPI DUP1 PUSH4 0xC190EB3A EQ PUSH2 0xB0F JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xB2F JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xB4F JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xB6F JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xB8F JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xBB1 JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xBD1 JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xBF1 JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xC11 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xC31 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xC53 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xC73 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x351 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x360 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EE8 JUMP JUMPDEST PUSH2 0xC95 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0x382 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F2A JUMP JUMPDEST PUSH2 0xDF4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH2 0xE05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x4F97 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x3D9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0xEA6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x406 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FFC JUMP JUMPDEST PUSH2 0xEBB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xECA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x43A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x449 CALLDATASIZE PUSH1 0x4 PUSH2 0x501A JUMP JUMPDEST PUSH2 0xEDF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x469 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0xF6A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x489 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0xF8A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x4A9 CALLDATASIZE PUSH1 0x4 PUSH2 0x505B JUMP JUMPDEST PUSH2 0xFAA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x4C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FFC JUMP JUMPDEST PUSH2 0xFC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x4E9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1028 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x509 CALLDATASIZE PUSH1 0x4 PUSH2 0x505B JUMP JUMPDEST PUSH2 0x1194 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x529 CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x11CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x53A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x549 CALLDATASIZE PUSH1 0x4 PUSH2 0x50A8 JUMP JUMPDEST PUSH2 0x12CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x55A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x57C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x130D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x591 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A5 PUSH2 0x5A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1330 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x5D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x501A JUMP JUMPDEST PUSH2 0x13B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x5F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x13CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x603 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x612 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1406 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x623 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x632 CALLDATASIZE PUSH1 0x4 PUSH2 0x50E1 JUMP JUMPDEST PUSH2 0x181C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3B1 JUMP JUMPDEST PUSH2 0x365 PUSH2 0x68B CALLDATASIZE PUSH1 0x4 PUSH2 0x51E1 JUMP JUMPDEST PUSH2 0x1B3B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x69C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x6AB CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1B56 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x6CB CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1BB7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x1BD5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x35 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3B1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x71B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x72A CALLDATASIZE PUSH1 0x4 PUSH2 0x5230 JUMP JUMPDEST PUSH2 0x1BF2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x1C8F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x750 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x75F CALLDATASIZE PUSH1 0x4 PUSH2 0x5272 JUMP JUMPDEST PUSH2 0x1CAD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x770 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x1D15 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x785 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0x1E04 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x1E19 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x7BE CALLDATASIZE PUSH1 0x4 PUSH2 0x5303 JUMP JUMPDEST PUSH2 0x1E34 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x2363 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x7F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x2381 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x804 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x818 PUSH2 0x813 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x238C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x54A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x831 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH2 0x243C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x846 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x855 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x244B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x866 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x875 CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x246E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x886 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x24C6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x8AA CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x24E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x24EE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8E4 PUSH2 0x8DF CALLDATASIZE PUSH1 0x4 PUSH2 0x54BB JUMP JUMPDEST PUSH2 0x250E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x54F0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x90C CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x26F2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x92C CALLDATASIZE PUSH1 0x4 PUSH2 0x50E1 JUMP JUMPDEST PUSH2 0x2710 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x93D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0x94C CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x29D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x95D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0x96C CALLDATASIZE PUSH1 0x4 PUSH2 0x505B JUMP JUMPDEST PUSH2 0x2BB8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x986 PUSH2 0x2BEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x9DA CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x2BF8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH2 0x2C16 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xA0F CALLDATASIZE PUSH1 0x4 PUSH2 0x50E1 JUMP JUMPDEST PUSH2 0x2C33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xA44 CALLDATASIZE PUSH1 0x4 PUSH2 0x5552 JUMP JUMPDEST PUSH2 0x2C40 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x2C4B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xA79 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x2C60 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xA99 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FFC JUMP JUMPDEST PUSH2 0x2CDB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xAEA CALLDATASIZE PUSH1 0x4 PUSH2 0x5580 JUMP JUMPDEST PUSH2 0x2CF0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xB0A CALLDATASIZE PUSH1 0x4 PUSH2 0x55B4 JUMP JUMPDEST PUSH2 0x2DD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xB2A CALLDATASIZE PUSH1 0x4 PUSH2 0x561F JUMP JUMPDEST PUSH2 0x2DF0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH2 0xB4A CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x311E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xB6A CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x31AF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xB8A CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x31C5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D35 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xBCC CALLDATASIZE PUSH1 0x4 PUSH2 0x505B JUMP JUMPDEST PUSH2 0x3206 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xBEC CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x3222 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x818 PUSH2 0xC0C CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x3320 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xC2C CALLDATASIZE PUSH1 0x4 PUSH2 0x5687 JUMP JUMPDEST PUSH2 0x333E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D15 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0xC6E CALLDATASIZE PUSH1 0x4 PUSH2 0x56A4 JUMP JUMPDEST PUSH2 0x3364 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CB5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCAD DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xD01 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xD55 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5F PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xDD9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDFF DUP3 PUSH2 0x33D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE11 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xE22 SWAP1 PUSH2 0x56D2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE4E SWAP1 PUSH2 0x56D2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xE9B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE70 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xE9B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xE7E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEB1 DUP3 PUSH2 0x341A JUMP JUMPDEST POP PUSH2 0xDFF DUP3 PUSH2 0x3452 JUMP JUMPDEST PUSH2 0xEC6 DUP3 DUP3 CALLER PUSH2 0x347B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xED5 PUSH2 0x3488 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF09 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF16 DUP4 DUP4 CALLER PUSH2 0x34AC JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF64 JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xCF8 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF75 PUSH2 0x3627 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF95 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xFB3 DUP3 PUSH2 0xF6A JUMP JUMPDEST PUSH2 0xFBC DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0xF64 DUP4 DUP4 PUSH2 0x364B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFD1 PUSH2 0x3488 JUMP JUMPDEST SWAP1 POP PUSH2 0xFDC DUP5 PUSH2 0x246E JUMP JUMPDEST DUP4 LT PUSH2 0xFFF JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP3 SWAP2 SWAP1 PUSH2 0x570C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1033 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x103D PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0x10B2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x114A JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1138 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP1 PUSH2 0x1142 DUP2 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10B5 JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x11BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x11C7 DUP3 DUP3 PUSH2 0x36EC JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x11E4 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1260 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126A PUSH2 0x33AD JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12D5 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x12FC SWAP1 DUP5 PUSH2 0x3764 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D15 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1325 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0x132D PUSH2 0x381A JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x133B PUSH2 0x33AD JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1CEAE42F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x1CEAE42F SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1387 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13AB SWAP2 SWAP1 PUSH2 0x5754 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x11C7 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2DD9 JUMP JUMPDEST CALLER PUSH2 0x13D7 DUP3 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x13FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5771 JUMP JUMPDEST PUSH2 0x132D DUP2 PUSH2 0x3871 JUMP JUMPDEST PUSH2 0x140E PUSH2 0x387D JUMP JUMPDEST PUSH2 0x1416 PUSH2 0x38B3 JUMP JUMPDEST CALLER PUSH2 0x1420 DUP3 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1492 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x149C PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x14A9 DUP4 PUSH2 0x244B JUMP JUMPDEST SWAP1 POP PUSH2 0x14B3 PUSH2 0x2C4B JUMP JUMPDEST DUP2 LT PUSH2 0x1516 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1521 DUP5 PUSH2 0x2C60 JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1558 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1575 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1599 SWAP2 SWAP1 PUSH2 0x57C4 JUMP JUMPDEST LT ISZERO PUSH2 0x15FE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x164E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1672 SWAP2 SWAP1 PUSH2 0x57C4 JUMP JUMPDEST LT ISZERO PUSH2 0x16D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x16F9 SWAP1 DUP5 SWAP1 PUSH2 0x57DD JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x175D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1781 SWAP2 SWAP1 PUSH2 0x57F0 JUMP JUMPDEST PUSH2 0x17CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x17F9 DUP8 PUSH2 0x244B JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x132D PUSH2 0x38DB JUMP JUMPDEST PUSH2 0x1824 PUSH2 0x38B3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x182E PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x183A DUP4 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x18C4 JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1895 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18B9 SWAP2 SWAP1 PUSH2 0x580D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0x1944 JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x5D3C373F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x5D3C373F SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1915 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1939 SWAP2 SWAP1 PUSH2 0x580D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x19C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x56 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D95 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776E6564206F72206D616E616765642062792063616C6C6572206F7220746F6B PUSH1 0x64 DUP3 ADD MSTORE PUSH22 0x32B7103737BA1037BBB732B210313C9031B0B63632B9 PUSH1 0x51 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP2 PUSH2 0x19CD DUP5 PUSH2 0x1BB7 JUMP JUMPDEST EQ PUSH2 0x1A2F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP3 PUSH2 0x1A39 DUP4 PUSH2 0x2BF8 JUMP JUMPDEST EQ PUSH2 0x1A9B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x1AF7 DUP4 PUSH1 0x0 PUSH2 0x38EC JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0x48129B4A18F9CA1400152E3F45A48CF58787E9948A48294199C83A66517B8590 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B2D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0x1B43 PUSH2 0x3A61 JUMP JUMPDEST PUSH2 0x1B4C DUP3 PUSH2 0x3B06 JUMP JUMPDEST PUSH2 0xEC6 DUP3 DUP3 PUSH2 0x3B1E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B61 PUSH2 0x3488 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B6B PUSH2 0xECA JUMP JUMPDEST DUP4 LT PUSH2 0x1B8F JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP3 SWAP2 SWAP1 PUSH2 0x570C JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1BA4 JUMPI PUSH2 0x1BA4 PUSH2 0x582A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BC1 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xD ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BDF PUSH2 0x3BD2 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CF5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BFD DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1C1E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5840 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C28 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1C3B SWAP2 SWAP1 PUSH2 0x5883 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1C51 SWAP2 SWAP1 PUSH2 0x58F9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0xF64 DUP5 DUP3 PUSH2 0x595B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C9A PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CB8 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CC2 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1CF7 SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D1F PUSH2 0x33AD JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1D87 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x1D90 CALLER PUSH2 0x29D4 JUMP JUMPDEST PUSH2 0x1DFB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x132D CALLER PUSH2 0x3C1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E0F PUSH2 0x3C4C JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E24 PUSH2 0x33AD JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E3E PUSH2 0x3C70 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E65 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1E81 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E8F JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1EAD JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1ED6 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x0 DUP7 PUSH1 0xE0 ADD MLOAD GT PUSH2 0x1F30 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH2 0x100 ADD MLOAD MLOAD GT PUSH2 0x1F56 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5840 JUMP JUMPDEST PUSH2 0x140 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FD6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204233545220746F6B656E20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x732063616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x160 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2054 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205472656173757279206164647265737320 PUSH1 0x44 DUP3 ADD MSTORE PUSH26 0x63616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x30 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x1 DUP7 PUSH1 0xE0 ADD MLOAD PUSH2 0x2065 SWAP2 SWAP1 PUSH2 0x5A1A JUMP JUMPDEST DUP7 PUSH2 0x120 ADD MLOAD MLOAD LT ISZERO PUSH2 0x20D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C20756E6C6F636B6564206C657665 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x6C73 PUSH1 0xF0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x20EB DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD PUSH2 0x3C94 JUMP JUMPDEST PUSH2 0x20F3 PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x20FB PUSH2 0x3CAE JUMP JUMPDEST PUSH2 0x2103 PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x210B PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x2113 PUSH2 0x3CBE JUMP JUMPDEST PUSH2 0x211B PUSH2 0x3CA6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2125 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP7 PUSH2 0x100 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x213D SWAP2 SWAP1 PUSH2 0x595B JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x21E2 JUMPI PUSH1 0x0 DUP9 PUSH2 0x120 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2168 JUMPI PUSH2 0x2168 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x218D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5A2D JUMP JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x21A4 JUMPI PUSH2 0x21A4 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x21BF SWAP2 SWAP1 PUSH2 0x57DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x21DA DUP2 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2141 JUMP JUMPDEST POP PUSH1 0xE0 DUP8 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x140 DUP8 ADD MLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND OR SWAP1 SWAP2 SSTORE PUSH2 0x160 DUP10 ADD MLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x40 DUP9 ADD MLOAD AND PUSH2 0x229B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2041646D696E20616464726573732063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x22AC PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0x40 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP PUSH2 0x22C9 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CB5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x60 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP PUSH2 0x22E6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D15 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP PUSH2 0x2303 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D35 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xA0 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP PUSH2 0x2320 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xC0 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0x235B JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C95 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2352 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5A70 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x236E PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDFF DUP3 PUSH2 0x341A JUMP JUMPDEST PUSH2 0x2394 PUSH2 0x4EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x239F DUP4 PUSH2 0x3CCE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2401 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x2409 PUSH2 0x4EB1 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x2415 DUP4 PUSH2 0x311E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2423 DUP4 PUSH2 0x244B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2431 DUP4 PUSH2 0x2C60 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x2446 PUSH2 0x3CF7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2457 DUP4 PUSH2 0x2BF8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2465 DUP5 DUP4 PUSH2 0x38EC JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2479 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x24A5 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24D1 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x132D CALLER DUP3 PUSH2 0x3D14 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D15 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2506 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0x132D PUSH2 0x3DD8 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x255E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C35 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x25A7 JUMPI PUSH2 0x2571 DUP2 PUSH2 0x3E1F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2581 SWAP2 SWAP1 PUSH2 0x5A84 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xCF8 SWAP2 PUSH1 0x4 ADD PUSH2 0x4F97 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25B2 DUP7 PUSH2 0x246E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x25C0 DUP6 DUP8 PUSH2 0x5AD3 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x2605 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x25FA JUMP JUMPDEST PUSH2 0x25E7 PUSH2 0x4EB1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x25DF JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x13AB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2611 DUP7 DUP4 PUSH2 0x57DD JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x261E JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x262A DUP4 DUP4 PUSH2 0x5A1A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2646 JUMPI PUSH2 0x2646 PUSH2 0x5103 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x267F JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x266C PUSH2 0x4EB1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2664 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x26E4 JUMPI PUSH1 0x0 PUSH2 0x2699 DUP3 DUP8 PUSH2 0x57DD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x26A7 DUP14 DUP4 PUSH2 0xFC6 JUMP JUMPDEST SWAP1 POP PUSH2 0x26B2 DUP2 PUSH2 0x238C JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x26C4 JUMPI PUSH2 0x26C4 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x26DC SWAP1 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2685 JUMP JUMPDEST POP SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26FC PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x2718 PUSH2 0x38B3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2722 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x272E DUP4 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2794 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x27DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2803 SWAP2 SWAP1 PUSH2 0x580D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2869 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D95 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x3BB732B21037B91036B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x39 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x2872 DUP4 PUSH2 0x1BB7 JUMP JUMPDEST ISZERO PUSH2 0x28D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x28DF DUP3 PUSH2 0x2BF8 JUMP JUMPDEST ISZERO PUSH2 0x2943 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x299E DUP4 DUP6 PUSH2 0x38EC JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0xDD061FFADD9DFF78128B6AF54ABBF2B83CBC680B9F75A2C08294800146BAACE7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B2D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29DF PUSH2 0x33AD JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2A52 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2AB8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2AE7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B04 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B28 SWAP2 SWAP1 PUSH2 0x57F0 JUMP JUMPDEST DUP1 PUSH2 0x2BA1 JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2B60 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B7D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2BA1 SWAP2 SWAP1 PUSH2 0x57F0 JUMP JUMPDEST ISZERO PUSH2 0x2BAF JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2BC3 PUSH2 0x3627 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2446 PUSH2 0x3EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C02 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xE ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2C22 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE22 SWAP1 PUSH2 0x56D2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2465 DUP5 DUP5 PUSH2 0x38EC JUMP JUMPDEST PUSH2 0xEC6 CALLER DUP4 DUP4 PUSH2 0x3EBC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C56 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C6C DUP4 PUSH2 0x3CCE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2C82 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C8D DUP4 PUSH2 0x2BF8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2C9C DUP6 DUP5 PUSH2 0x38EC JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2CA8 PUSH2 0x2C4B JUMP JUMPDEST DUP3 SUB PUSH2 0x2CB9 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2CC8 PUSH2 0x489 DUP5 PUSH1 0x1 PUSH2 0x57DD JUMP JUMPDEST PUSH2 0x2CD2 SWAP2 SWAP1 PUSH2 0x5A1A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CE6 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0x11C7 DUP4 DUP4 PUSH2 0x3D14 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CFB DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D05 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2D9C JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2D27 JUMPI PUSH2 0x2D27 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2D4C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5A2D JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2D5E JUMPI PUSH2 0x2D5E PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2D79 SWAP2 SWAP1 PUSH2 0x57DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2D94 DUP2 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2D0A JUMP JUMPDEST POP PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 DUP4 PUSH1 0x40 MLOAD PUSH2 0x2DCC SWAP2 SWAP1 PUSH2 0x5AEA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x2DE4 DUP5 DUP5 DUP5 PUSH2 0xEDF JUMP JUMPDEST PUSH2 0xF64 DUP5 DUP5 DUP5 DUP5 PUSH2 0x3F58 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2DFC PUSH2 0x3C70 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2E23 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2E41 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE DUP3 MLOAD PUSH1 0x8 EQ PUSH2 0x2EC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CD5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6C6576656C732E204D7573742062652037206C6576656C73 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2F35 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F7665636861696E4E6F6465732063616E6E PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2FAD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F6E6F6465734D616E6761656D656E742063 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FB7 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0xB DUP2 ADD DUP1 SLOAD PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND SWAP2 SWAP1 SWAP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0xC DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP2 DUP10 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x3011 JUMPI DUP1 PUSH1 0x5 ADD SLOAD PUSH2 0x3014 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x30DA JUMPI PUSH1 0x1 DUP6 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x303F JUMPI PUSH2 0x303F PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x3091 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CD5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1B195D995B PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP5 DUP2 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x30A6 JUMPI PUSH2 0x30A6 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0xFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF DUP6 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE DUP1 PUSH2 0x30D2 DUP2 PUSH2 0x5B2E JUMP JUMPDEST SWAP2 POP POP PUSH2 0x301C JUMP JUMPDEST POP PUSH2 0x30F3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 PUSH2 0x364B JUMP JUMPDEST POP POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C95 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2352 SWAP1 DUP5 SWAP1 PUSH2 0x5A70 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x312B DUP4 PUSH2 0x3CCE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x314D JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3158 DUP4 PUSH2 0x244B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x3177 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x13AB JUMP JUMPDEST PUSH2 0x317F PUSH2 0x243C JUMP JUMPDEST PUSH2 0x3188 DUP3 PUSH2 0x3E1F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3199 SWAP3 SWAP2 SWAP1 PUSH2 0x5B4D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31BD DUP4 PUSH1 0x0 PUSH2 0x38EC JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31D0 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x31F6 SWAP1 PUSH2 0x406F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x320F DUP3 PUSH2 0xF6A JUMP JUMPDEST PUSH2 0x3218 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0xF64 DUP4 DUP4 PUSH2 0x36EC JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x323A DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x32B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32BA PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x3328 PUSH2 0x4EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3333 DUP4 PUSH2 0x31C5 JUMP JUMPDEST SWAP1 POP PUSH2 0x13AB DUP2 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3348 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x336F PUSH2 0x33F6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x132D DUP2 CALLER PUSH2 0x409F JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xDFF JUMPI POP PUSH2 0xDFF DUP3 PUSH2 0x40CA JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3426 DUP4 PUSH2 0x3CCE JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xDFF JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x345D PUSH2 0x33F6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x11C7 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x40EF JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34B6 PUSH2 0x38B3 JUMP JUMPDEST PUSH2 0x34BF DUP4 PUSH2 0x2BF8 JUMP JUMPDEST ISZERO PUSH2 0x3532 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x353F DUP6 DUP6 DUP6 PUSH2 0x41F9 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x355F JUMPI POP PUSH2 0x355D DUP2 PUSH2 0x246E JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x359F JUMPI PUSH2 0x359C PUSH2 0x356F PUSH2 0x2BEE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3579 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x420E JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x35BE JUMPI POP DUP4 PUSH2 0x35BC DUP3 PUSH2 0x31C5 JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x35D2 JUMPI POP PUSH1 0x0 PUSH2 0x35D0 DUP3 PUSH2 0x246E JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x35EB JUMPI PUSH2 0x35EB DUP2 PUSH2 0x35E6 DUP4 PUSH1 0x0 PUSH2 0xFC6 JUMP JUMPDEST PUSH2 0x3D14 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x360B JUMPI POP PUSH2 0x3607 DUP6 PUSH2 0x246E JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x361F JUMPI PUSH2 0x361F DUP6 PUSH2 0x35E6 DUP8 PUSH1 0x0 PUSH2 0xFC6 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3656 PUSH2 0x3627 JUMP JUMPDEST SWAP1 POP PUSH2 0x3662 DUP5 DUP5 PUSH2 0x2BB8 JUMP JUMPDEST PUSH2 0x36E2 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x3698 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x36F7 PUSH2 0x3627 JUMP JUMPDEST SWAP1 POP PUSH2 0x3703 DUP5 DUP5 PUSH2 0x2BB8 JUMP JUMPDEST ISZERO PUSH2 0x36E2 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xDFF JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x37C3 JUMPI PUSH1 0x0 PUSH2 0x377F DUP5 PUSH2 0x4229 JUMP JUMPDEST PUSH2 0x3789 SWAP1 DUP6 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x37B3 JUMPI DUP1 SWAP2 POP PUSH2 0x37C1 JUMP JUMPDEST PUSH2 0x37BE DUP2 PUSH1 0x1 PUSH2 0x57DD JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x37D1 DUP8 DUP8 DUP6 DUP6 PUSH2 0x4311 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x380C JUMPI PUSH2 0x37F6 DUP8 PUSH2 0x37E8 PUSH1 0x1 DUP5 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x380F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3822 PUSH2 0x436B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x382C PUSH2 0x3C4C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3866 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xEC6 PUSH1 0x0 DUP3 CALLER PUSH2 0x34AC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3887 PUSH2 0x4390 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x38AD JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x38BB PUSH2 0x1E04 JUMP JUMPDEST ISZERO PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38E5 PUSH2 0x4390 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x38F9 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x398E JUMPI POP PUSH2 0x3910 DUP7 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x395F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3983 SWAP2 SWAP1 PUSH2 0x580D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x39D4 JUMPI PUSH1 0x0 PUSH2 0x399E DUP7 PUSH2 0x1330 JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x39D2 JUMPI PUSH1 0x0 PUSH2 0x39B4 DUP3 PUSH2 0x333E JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x39CC JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x39CE JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x39F1 DUP4 PUSH1 0x1 PUSH2 0x57DD JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3A54 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x3A3D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3A36 SWAP1 DUP4 PUSH2 0x5A1A JUMP JUMPDEST SWAP2 POP PUSH2 0x3A42 JUMP JUMPDEST PUSH2 0x3A54 JUMP JUMPDEST DUP1 PUSH2 0x3A4C DUP2 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x39F4 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3AE8 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3ADC PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CF5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CB5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEC6 DUP2 PUSH2 0x33A3 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3B78 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3B75 SWAP2 DUP2 ADD SWAP1 PUSH2 0x57C4 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3B97 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CF5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3BC8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x11C7 DUP4 DUP4 PUSH2 0x43B4 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3C25 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x3C3C DUP4 PUSH2 0x573B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x11C7 DUP4 DUP3 PUSH2 0x440A JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x3C9C PUSH2 0x4424 JUMP JUMPDEST PUSH2 0xEC6 DUP3 DUP3 PUSH2 0x4449 JUMP JUMPDEST PUSH2 0x38D9 PUSH2 0x4424 JUMP JUMPDEST PUSH2 0x3CB6 PUSH2 0x4424 JUMP JUMPDEST PUSH2 0x38D9 PUSH2 0x4477 JUMP JUMPDEST PUSH2 0x3CC6 PUSH2 0x4424 JUMP JUMPDEST PUSH2 0x38D9 PUSH2 0x4494 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3CD9 PUSH2 0x33F6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3D03 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xE22 SWAP1 PUSH2 0x56D2 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3D27 DUP3 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3D4D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5771 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D57 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH2 0x3D8E PUSH2 0x3D64 PUSH2 0x2BEE JUMP JUMPDEST PUSH2 0x3D6D DUP5 PUSH2 0x449C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x420E JUMP JUMPDEST POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC DUP4 PUSH1 0x40 MLOAD PUSH2 0x3DCB SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3DE0 PUSH2 0x38B3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DEA PUSH2 0x3C4C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x3859 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3E2C DUP4 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3E4B JUMPI PUSH2 0x3E4B PUSH2 0x5103 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3E75 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3E7F JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2446 NUMBER PUSH2 0x45AA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3EC6 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3EF1 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1B2D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0xF64 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x3F9A SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5BA2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3FD5 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3FD2 SWAP2 DUP2 ADD SWAP1 PUSH2 0x5BDF JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4035 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x4003 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4008 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x402D JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x4068 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2BAF JUMPI PUSH2 0x4089 DUP4 PUSH2 0x37E8 PUSH1 0x1 DUP5 PUSH2 0x5A1A JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x13AB JUMP JUMPDEST PUSH2 0x40A9 DUP3 DUP3 PUSH2 0x2BB8 JUMP JUMPDEST PUSH2 0xEC6 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP3 SWAP2 SWAP1 PUSH2 0x570C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xDFF JUMPI POP PUSH2 0xDFF DUP3 PUSH2 0x45DD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40F9 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x410F JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x41C8 JUMPI PUSH1 0x0 PUSH2 0x411F DUP6 PUSH2 0x341A JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x414B JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x415E JUMPI POP PUSH2 0x415C DUP2 DUP6 PUSH2 0x3364 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x417E JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x41C6 JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4203 PUSH2 0x38B3 JUMP JUMPDEST PUSH2 0x361F DUP5 DUP5 DUP5 PUSH2 0x462D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x421C DUP6 DUP6 DUP6 PUSH2 0x46BB JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x423B JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x4248 DUP5 PUSH2 0x4835 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4261 JUMPI PUSH2 0x4261 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4279 JUMPI PUSH2 0x4279 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4291 JUMPI PUSH2 0x4291 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42A9 JUMPI PUSH2 0x42A9 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42C1 JUMPI PUSH2 0x42C1 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42D9 JUMPI PUSH2 0x42D9 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42F1 JUMPI PUSH2 0x42F1 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x13AB DUP2 DUP3 DUP6 DUP2 PUSH2 0x430B JUMPI PUSH2 0x430B PUSH2 0x5B8C JUMP JUMPDEST DIV PUSH2 0x48C9 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x31BD JUMPI PUSH1 0x0 PUSH2 0x4328 DUP5 DUP5 PUSH2 0x48DF JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x4357 JUMPI DUP1 SWAP3 POP PUSH2 0x4365 JUMP JUMPDEST PUSH2 0x4362 DUP2 PUSH1 0x1 PUSH2 0x57DD JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x4314 JUMP JUMPDEST PUSH2 0x4373 PUSH2 0x1E04 JUMP JUMPDEST PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x43BD DUP3 PUSH2 0x48FA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4402 JUMPI PUSH2 0x11C7 DUP3 DUP3 PUSH2 0x4956 JUMP JUMPDEST PUSH2 0xEC6 PUSH2 0x49C3 JUMP JUMPDEST PUSH2 0xEC6 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x49E2 JUMP JUMPDEST PUSH2 0x442C PUSH2 0x49F9 JUMP JUMPDEST PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4451 PUSH2 0x4424 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x445B PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x4468 DUP5 DUP3 PUSH2 0x595B JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0xF64 DUP4 DUP3 PUSH2 0x595B JUMP JUMPDEST PUSH2 0x447F PUSH2 0x4424 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4489 PUSH2 0x3C4C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x38DB PUSH2 0x4424 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x44D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xCF8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x4513 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x453D JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x455B JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x4573 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x4587 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4599 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xDFF JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x44D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x460E JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xDFF JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x463B DUP6 DUP6 DUP6 PUSH2 0x4A13 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4659 JUMPI PUSH2 0x4654 DUP5 PUSH2 0x4B1A JUMP JUMPDEST PUSH2 0x467C JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x467C JUMPI PUSH2 0x467C DUP2 DUP6 PUSH2 0x4B53 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4698 JUMPI PUSH2 0x4693 DUP5 PUSH2 0x4BF4 JUMP JUMPDEST PUSH2 0x361F JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x361F JUMPI PUSH2 0x361F DUP6 DUP6 PUSH2 0x4CBD JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x47DA JUMPI PUSH1 0x0 PUSH2 0x46D9 DUP8 PUSH2 0x37E8 PUSH1 0x1 DUP6 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x472D JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x4779 JUMPI DUP5 PUSH2 0x4750 DUP9 PUSH2 0x37E8 PUSH1 0x1 DUP7 PUSH2 0x5A1A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x47CA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x4221 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x4221 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x484A JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x485C JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x486E JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x4880 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x4892 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x48A4 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x48B6 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xDFF JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x48D8 JUMPI DUP2 PUSH2 0x13AB JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48EE PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x5BFC JUMP JUMPDEST PUSH2 0x13AB SWAP1 DUP5 DUP5 AND PUSH2 0x57DD JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4927 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CF5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x4973 SWAP2 SWAP1 PUSH2 0x58F9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x49AE JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x49B3 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2CD2 DUP6 DUP4 DUP4 PUSH2 0x4D15 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x49EC DUP4 DUP4 PUSH2 0x4D68 JUMP JUMPDEST PUSH2 0x11C7 PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3F58 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A03 PUSH2 0x3C70 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4A1E PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4A2B DUP6 PUSH2 0x3CCE JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x4A47 JUMPI PUSH2 0x4A47 DUP2 DUP6 DUP8 PUSH2 0x4DCD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x4A87 JUMPI PUSH2 0x4A64 PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x40EF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4AB8 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B24 PUSH2 0x3488 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5D PUSH2 0x3488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4B6A DUP5 PUSH2 0x246E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x4BBF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4BFE PUSH2 0x3488 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x4C15 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x4C41 JUMPI PUSH2 0x4C41 PUSH2 0x582A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x4C64 JUMPI PUSH2 0x4C64 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x4CA0 JUMPI PUSH2 0x4CA0 PUSH2 0x5C1E JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4CC7 PUSH2 0x3488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x4CD6 DUP6 PUSH2 0x246E JUMP JUMPDEST PUSH2 0x4CE0 SWAP2 SWAP1 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4D2A JUMPI PUSH2 0x4D25 DUP3 PUSH2 0x4E23 JUMP JUMPDEST PUSH2 0x13AB JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4D41 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4D61 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST POP DUP1 PUSH2 0x13AB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4D92 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DA0 DUP4 DUP4 PUSH1 0x0 PUSH2 0x34AC JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x11C7 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH2 0x4DD8 DUP4 DUP4 DUP4 PUSH2 0x4E4C JUMP JUMPDEST PUSH2 0x11C7 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4E06 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP3 SWAP2 SWAP1 PUSH2 0x570C JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4E33 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x361F JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x4E86 JUMPI POP PUSH2 0x4E86 DUP5 DUP5 PUSH2 0x3364 JUMP JUMPDEST DUP1 PUSH2 0x361F JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4E9F DUP4 PUSH2 0x3452 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4EFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F06 DUP2 PUSH2 0x4ED9 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4F3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x13AB DUP2 PUSH2 0x4F14 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F62 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4F4A JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4F83 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4F47 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x13AB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4F6B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x4FF7 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x500F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F06 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x502F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x503A DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x504A DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x506E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5080 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x509D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x13AB DUP2 PUSH2 0x4FD7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x50C6 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x5080 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x180 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x513C JUMPI PUSH2 0x513C PUSH2 0x5103 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x516A JUMPI PUSH2 0x516A PUSH2 0x5103 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5183 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x519C JUMPI PUSH2 0x519C PUSH2 0x5103 JUMP JUMPDEST PUSH2 0x51AF PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x5142 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x51C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x51F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x51FF DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x521A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5226 DUP6 DUP3 DUP7 ADD PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5242 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5258 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x361F DUP5 DUP3 DUP6 ADD PUSH2 0x5172 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5284 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x13AB DUP2 PUSH2 0x5264 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x52A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x52BB JUMPI PUSH2 0x52BB PUSH2 0x5103 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x52CA DUP3 DUP3 ADD PUSH2 0x5142 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x52E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x380F JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x52EA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x532C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x180 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x5341 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5349 PUSH2 0x5119 JUMP JUMPDEST DUP3 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5364 DUP8 DUP3 DUP7 ADD PUSH2 0x5172 JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5379 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5385 DUP8 DUP3 DUP7 ADD PUSH2 0x5172 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x5397 PUSH1 0x40 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x53A8 PUSH1 0x60 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x53B9 PUSH1 0x80 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x53CA PUSH1 0xA0 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x53DB PUSH1 0xC0 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP4 ADD CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x53FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x540A DUP9 DUP3 DUP8 ADD PUSH2 0x5172 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x120 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x5424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5430 DUP9 DUP3 DUP8 ADD PUSH2 0x528F JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x140 SWAP2 POP PUSH2 0x5446 DUP3 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x160 SWAP2 POP PUSH2 0x545A DUP3 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x5488 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x4F6B JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x13AB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5469 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x54D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x54DB DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5545 JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x5533 DUP6 DUP4 MLOAD PUSH2 0x5469 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5517 JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5570 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5080 DUP2 PUSH2 0x5264 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5592 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x55A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x361F DUP5 DUP3 DUP6 ADD PUSH2 0x528F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x55CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x55D5 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x55E5 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5607 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5613 DUP8 DUP3 DUP9 ADD PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5635 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x5640 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x5650 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x5660 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x567B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5613 DUP8 DUP3 DUP9 ADD PUSH2 0x528F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5699 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x13AB DUP2 PUSH2 0x4ED9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x56B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x56C2 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5080 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x56E6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x5706 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x574D JUMPI PUSH2 0x574D PUSH2 0x5725 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5766 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x13AB DUP2 PUSH2 0x4ED9 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x57D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xDFF JUMPI PUSH2 0xDFF PUSH2 0x5725 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5802 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x13AB DUP2 PUSH2 0x5264 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x581F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x13AB DUP2 PUSH2 0x4FD7 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x5891 DUP2 PUSH2 0x56D2 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x58A9 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x58BE JUMPI PUSH2 0x58ED JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x58ED JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x58E4 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x58CB JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x590B DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4F47 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x11C7 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x593C JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x235B JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5948 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5974 JUMPI PUSH2 0x5974 PUSH2 0x5103 JUMP JUMPDEST PUSH2 0x5988 DUP2 PUSH2 0x5982 DUP5 SLOAD PUSH2 0x56D2 JUMP JUMPDEST DUP5 PUSH2 0x5915 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x59BD JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x59A5 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x235B JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x59EC JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x59CD JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5A0A JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xDFF JUMPI PUSH2 0xDFF PUSH2 0x5725 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x35 SWAP1 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C35 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x5AC6 DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4F47 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xDFF JUMPI PUSH2 0xDFF PUSH2 0x5725 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5B22 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x5B06 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x5B44 JUMPI PUSH2 0x5B44 PUSH2 0x5725 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5B5F DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4F47 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x5B73 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4F47 JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5BD5 SWAP1 DUP4 ADD DUP5 PUSH2 0x4F6B JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5BF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x13AB DUP2 PUSH2 0x4F14 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5C19 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 0x4D PUSH2 0x7820 PUSH13 0x6576656C206D75737420626547 PUSH2 0x6C61 PUSH25 0x79204D656D6265723A204233545220746F2075706772616465 KECCAK256 PUSH14 0xC7F505B2F371AE2175EE4913F449 SWAP15 0x1F 0x26 CALLER 0xA7 0xB5 SWAP4 PUSH4 0x21EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E347 PUSH2 0x6C61 PUSH25 0x794D656D6265723A20696E76616C6964206E6F646520667265 PUSH6 0x20360894A13B LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A9F2DF0FE 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F547616C6178794D656D PUSH3 0x65723A KECCAK256 PUSH23 0x65636861696E206E6F6465206E6F74206FA26469706673 PC 0x22 SLT KECCAK256 0xD7 PUSH0 DUP12 0xFB SWAP13 0xAD 0xCC 0xC9 0xB6 PUSH15 0xACABFCD20A7B327529C3442A231553 CREATE2 0xC6 0xDD PUSH17 0x7594CA64736F6C63430008140033000000 ","sourceMap":"4660:34661:70:-:0;;;1171:4:3;1128:48;;10346:47:70;;;;;;;;;-1:-1:-1;10366:22:70;:20;:22::i;:::-;4660:34661;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;4660:34661:70;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_40863":{"entryPoint":null,"id":40863,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_38708":{"entryPoint":null,"id":38708,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@MAX_LEVEL_40548":{"entryPoint":11339,"id":40548,"parameterSlots":0,"returnSlots":1},"@MINTER_ROLE_38703":{"entryPoint":null,"id":38703,"parameterSlots":0,"returnSlots":0},"@NODES_MANAGER_ROLE_38713":{"entryPoint":null,"id":38713,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_38698":{"entryPoint":null,"id":38698,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_38693":{"entryPoint":null,"id":38693,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":null,"id":63,"parameterSlots":0,"returnSlots":0},"@__ERC721Burnable_init_3165":{"entryPoint":null,"id":3165,"parameterSlots":0,"returnSlots":0},"@__ERC721Enumerable_init_3252":{"entryPoint":15526,"id":3252,"parameterSlots":0,"returnSlots":0},"@__ERC721Pausable_init_3698":{"entryPoint":15534,"id":3698,"parameterSlots":0,"returnSlots":0},"@__ERC721_init_2099":{"entryPoint":15508,"id":2099,"parameterSlots":2,"returnSlots":0},"@__ERC721_init_unchained_2127":{"entryPoint":17481,"id":2127,"parameterSlots":2,"returnSlots":0},"@__Pausable_init_unchained_4057":{"entryPoint":17527,"id":4057,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_4203":{"entryPoint":15550,"id":4203,"parameterSlots":0,"returnSlots":0},"@__ReentrancyGuard_init_unchained_4221":{"entryPoint":17556,"id":4221,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":null,"id":1786,"parameterSlots":0,"returnSlots":0},"@_addTokenToAllTokensEnumeration_3510":{"entryPoint":19226,"id":3510,"parameterSlots":1,"returnSlots":0},"@_addTokenToOwnerEnumeration_3479":{"entryPoint":19645,"id":3479,"parameterSlots":2,"returnSlots":0},"@_approve_2931":{"entryPoint":13435,"id":2931,"parameterSlots":3,"returnSlots":0},"@_approve_3005":{"entryPoint":16623,"id":3005,"parameterSlots":4,"returnSlots":0},"@_authorizeUpgrade_39267":{"entryPoint":15110,"id":39267,"parameterSlots":1,"returnSlots":0},"@_baseURI_41031":{"entryPoint":15607,"id":41031,"parameterSlots":0,"returnSlots":1},"@_checkAuthorized_2559":{"entryPoint":19917,"id":2559,"parameterSlots":3,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":17444,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":18883,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":15314,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkOnERC721Received_3143":{"entryPoint":16216,"id":3143,"parameterSlots":4,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":14945,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":13219,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":16543,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":13863,"id":46,"parameterSlots":0,"returnSlots":1},"@_getApproved_2486":{"entryPoint":13394,"id":2486,"parameterSlots":1,"returnSlots":1},"@_getERC721EnumerableStorage_3236":{"entryPoint":13448,"id":3236,"parameterSlots":0,"returnSlots":1},"@_getERC721Storage_2083":{"entryPoint":13302,"id":2083,"parameterSlots":0,"returnSlots":1},"@_getGalaxyMemberStorage_38797":{"entryPoint":13229,"id":38797,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":15472,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getLevelOfAndB3TRleft_40223":{"entryPoint":14572,"id":40223,"parameterSlots":2,"returnSlots":2},"@_getPausableStorage_4013":{"entryPoint":15436,"id":4013,"parameterSlots":0,"returnSlots":1},"@_getReentrancyGuardStorage_4191":{"entryPoint":17296,"id":4191,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":13899,"id":315,"parameterSlots":2,"returnSlots":1},"@_insert_9806":{"entryPoint":18107,"id":9806,"parameterSlots":3,"returnSlots":2},"@_isAuthorized_2522":{"entryPoint":20044,"id":2522,"parameterSlots":3,"returnSlots":1},"@_isInitializing_1722":{"entryPoint":18937,"id":1722,"parameterSlots":0,"returnSlots":1},"@_mint_2735":{"entryPoint":19816,"id":2735,"parameterSlots":2,"returnSlots":0},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_nonReentrantAfter_4273":{"entryPoint":14555,"id":4273,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_4257":{"entryPoint":14461,"id":4257,"parameterSlots":0,"returnSlots":0},"@_ownerOf_2466":{"entryPoint":15566,"id":2466,"parameterSlots":1,"returnSlots":1},"@_pause_4138":{"entryPoint":15832,"id":4138,"parameterSlots":0,"returnSlots":0},"@_removeTokenFromAllTokensEnumeration_3648":{"entryPoint":19444,"id":3648,"parameterSlots":1,"returnSlots":0},"@_removeTokenFromOwnerEnumeration_3584":{"entryPoint":19283,"id":3584,"parameterSlots":2,"returnSlots":0},"@_requireNotPaused_4101":{"entryPoint":14515,"id":4101,"parameterSlots":0,"returnSlots":0},"@_requireOwned_3079":{"entryPoint":13338,"id":3079,"parameterSlots":1,"returnSlots":1},"@_requirePaused_4114":{"entryPoint":17259,"id":4114,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":20003,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":14060,"id":361,"parameterSlots":2,"returnSlots":1},"@_safeMint_2750":{"entryPoint":17418,"id":2750,"parameterSlots":2,"returnSlots":0},"@_safeMint_2776":{"entryPoint":18914,"id":2776,"parameterSlots":3,"returnSlots":0},"@_select_39486":{"entryPoint":15636,"id":39486,"parameterSlots":2,"returnSlots":0},"@_setApprovalForAll_3050":{"entryPoint":16060,"id":3050,"parameterSlots":3,"returnSlots":0},"@_setImplementation_4791":{"entryPoint":18682,"id":4791,"parameterSlots":1,"returnSlots":0},"@_unpause_4162":{"entryPoint":14362,"id":4162,"parameterSlots":0,"returnSlots":0},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_update_2685":{"entryPoint":18963,"id":2685,"parameterSlots":3,"returnSlots":1},"@_update_3438":{"entryPoint":17965,"id":3438,"parameterSlots":3,"returnSlots":1},"@_update_3727":{"entryPoint":16889,"id":3727,"parameterSlots":3,"returnSlots":1},"@_update_40977":{"entryPoint":13484,"id":40977,"parameterSlots":3,"returnSlots":1},"@_upgradeToAndCallUUPS_1913":{"entryPoint":15134,"id":1913,"parameterSlots":2,"returnSlots":0},"@_upperBinaryLookup_9858":{"entryPoint":17169,"id":9858,"parameterSlots":4,"returnSlots":1},"@approve_2299":{"entryPoint":3771,"id":2299,"parameterSlots":2,"returnSlots":0},"@attachNode_39601":{"entryPoint":10000,"id":39601,"parameterSlots":2,"returnSlots":0},"@average_6189":{"entryPoint":18655,"id":6189,"parameterSlots":2,"returnSlots":1},"@b3trGovernor_40499":{"entryPoint":9414,"id":40499,"parameterSlots":0,"returnSlots":1},"@b3tr_40516":{"entryPoint":7311,"id":40516,"parameterSlots":0,"returnSlots":1},"@balanceOf_2193":{"entryPoint":9326,"id":2193,"parameterSlots":1,"returnSlots":1},"@baseURI_40400":{"entryPoint":9276,"id":40400,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":16049,"id":11429,"parameterSlots":0,"returnSlots":1},"@burn_3188":{"entryPoint":14449,"id":3188,"parameterSlots":1,"returnSlots":0},"@burn_39511":{"entryPoint":5069,"id":39511,"parameterSlots":1,"returnSlots":0},"@clock_40854":{"entryPoint":11246,"id":40854,"parameterSlots":0,"returnSlots":1},"@detachNode_39693":{"entryPoint":6172,"id":39693,"parameterSlots":2,"returnSlots":0},"@freeMint_39309":{"entryPoint":7445,"id":39309,"parameterSlots":0,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":18774,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getApproved_2316":{"entryPoint":3750,"id":2316,"parameterSlots":1,"returnSlots":1},"@getB3TRdonated_40608":{"entryPoint":9970,"id":40608,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgradeToLevel_40420":{"entryPoint":3978,"id":40420,"parameterSlots":1,"returnSlots":1},"@getB3TRtoUpgrade_40110":{"entryPoint":11360,"id":40110,"parameterSlots":1,"returnSlots":1},"@getIdAttachedToNode_40563":{"entryPoint":7095,"id":40563,"parameterSlots":1,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getLevelAfterAttachingNode_40311":{"entryPoint":11315,"id":40311,"parameterSlots":2,"returnSlots":1},"@getLevelAfterDetachingNode_40329":{"entryPoint":12719,"id":40329,"parameterSlots":1,"returnSlots":1},"@getNodeIdAttached_40578":{"entryPoint":11256,"id":40578,"parameterSlots":1,"returnSlots":1},"@getNodeLevelOf_40244":{"entryPoint":4912,"id":40244,"parameterSlots":1,"returnSlots":1},"@getNodeToFreeLevel_40593":{"entryPoint":13118,"id":40593,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":3946,"id":171,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenIdAtBlock_40291":{"entryPoint":4810,"id":40291,"parameterSlots":2,"returnSlots":1},"@getSelectedTokenId_40266":{"entryPoint":12741,"id":40266,"parameterSlots":1,"returnSlots":1},"@getSelectedTokenInfoByOwner_40704":{"entryPoint":13088,"id":40704,"parameterSlots":1,"returnSlots":1},"@getTokenInfoByTokenId_40684":{"entryPoint":9100,"id":40684,"parameterSlots":1,"returnSlots":1},"@getTokensInfoByOwner_40843":{"entryPoint":9486,"id":40843,"parameterSlots":3,"returnSlots":1},"@grantRole_190":{"entryPoint":4010,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":11192,"id":116,"parameterSlots":2,"returnSlots":1},"@initializeV2_39256":{"entryPoint":11760,"id":39256,"parameterSlots":4,"returnSlots":0},"@initialize_39140":{"entryPoint":7732,"id":39140,"parameterSlots":1,"returnSlots":0},"@isApprovedForAll_2356":{"entryPoint":13156,"id":2356,"parameterSlots":2,"returnSlots":1},"@latest_9634":{"entryPoint":16495,"id":9634,"parameterSlots":1,"returnSlots":1},"@levelOf_40059":{"entryPoint":9291,"id":40059,"parameterSlots":1,"returnSlots":1},"@log10_6835":{"entryPoint":17620,"id":6835,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":18485,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":18633,"id":6166,"parameterSlots":2,"returnSlots":1},"@name_2222":{"entryPoint":3589,"id":2222,"parameterSlots":0,"returnSlots":1},"@ownerOf_2206":{"entryPoint":9089,"id":2206,"parameterSlots":1,"returnSlots":1},"@participatedInGovernance_40390":{"entryPoint":10708,"id":40390,"parameterSlots":1,"returnSlots":1},"@pause_39278":{"entryPoint":9454,"id":39278,"parameterSlots":0,"returnSlots":0},"@paused_4089":{"entryPoint":7684,"id":4089,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":7125,"id":1804,"parameterSlots":0,"returnSlots":1},"@push_9437":{"entryPoint":16910,"id":9437,"parameterSlots":3,"returnSlots":2},"@renounceRole_232":{"entryPoint":4500,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":12806,"id":209,"parameterSlots":2,"returnSlots":0},"@safeMint_39717":{"entryPoint":15387,"id":39717,"parameterSlots":1,"returnSlots":0},"@safeTransferFrom_2420":{"entryPoint":5042,"id":2420,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_2446":{"entryPoint":11737,"id":2446,"parameterSlots":4,"returnSlots":0},"@selectFor_39443":{"entryPoint":11483,"id":39443,"parameterSlots":2,"returnSlots":0},"@select_39426":{"entryPoint":9444,"id":39426,"parameterSlots":1,"returnSlots":0},"@setApprovalForAll_2332":{"entryPoint":11328,"id":2332,"parameterSlots":2,"returnSlots":0},"@setB3TRtoUpgradeToLevel_39961":{"entryPoint":11504,"id":39961,"parameterSlots":1,"returnSlots":0},"@setB3trGovernorAddress_39868":{"entryPoint":12834,"id":39868,"parameterSlots":1,"returnSlots":0},"@setBaseURI_39907":{"entryPoint":7154,"id":39907,"parameterSlots":1,"returnSlots":0},"@setIsPublicMintingPaused_39987":{"entryPoint":7341,"id":39987,"parameterSlots":1,"returnSlots":0},"@setMaxLevel_39779":{"entryPoint":4136,"id":39779,"parameterSlots":1,"returnSlots":0},"@setNodeToFreeUpgradeLevel_40035":{"entryPoint":3221,"id":40035,"parameterSlots":2,"returnSlots":0},"@setXAllocationsGovernorAddress_39822":{"entryPoint":4556,"id":39822,"parameterSlots":1,"returnSlots":0},"@sqrt_6504":{"entryPoint":16937,"id":6504,"parameterSlots":1,"returnSlots":1},"@supportsInterface_2158":{"entryPoint":17885,"id":2158,"parameterSlots":1,"returnSlots":1},"@supportsInterface_3282":{"entryPoint":16586,"id":3282,"parameterSlots":1,"returnSlots":1},"@supportsInterface_41014":{"entryPoint":3572,"id":41014,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":13265,"id":91,"parameterSlots":1,"returnSlots":1},"@symbol_2238":{"entryPoint":11286,"id":2238,"parameterSlots":0,"returnSlots":1},"@toString_5762":{"entryPoint":15903,"id":5762,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":17564,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":17834,"id":7770,"parameterSlots":1,"returnSlots":1},"@tokenByIndex_3369":{"entryPoint":6998,"id":3369,"parameterSlots":1,"returnSlots":1},"@tokenOfOwnerByIndex_3318":{"entryPoint":4038,"id":3318,"parameterSlots":2,"returnSlots":1},"@tokenURI_40465":{"entryPoint":12574,"id":40465,"parameterSlots":1,"returnSlots":1},"@totalSupply_3335":{"entryPoint":3786,"id":3335,"parameterSlots":0,"returnSlots":1},"@transferFrom_2402":{"entryPoint":3807,"id":2402,"parameterSlots":3,"returnSlots":0},"@treasury_40532":{"entryPoint":9059,"id":40532,"parameterSlots":0,"returnSlots":1},"@unpause_39289":{"entryPoint":4877,"id":39289,"parameterSlots":0,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":6971,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":17332,"id":4825,"parameterSlots":2,"returnSlots":0},"@upgrade_39413":{"entryPoint":5126,"id":39413,"parameterSlots":1,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":14180,"id":9604,"parameterSlots":2,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":19733,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_40617":{"entryPoint":null,"id":40617,"parameterSlots":0,"returnSlots":1},"@xAllocationsGovernor_40482":{"entryPoint":7705,"id":40482,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":20460,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":21135,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes":{"entryPoint":20850,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":20619,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":22541,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":22180,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":22047,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":20506,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":21940,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":21842,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":20961,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":20476,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_uint256":{"entryPoint":21691,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint48":{"entryPoint":20648,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":21888,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool":{"entryPoint":21106,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":22512,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":20571,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":20266,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":23519,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":21040,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_InitializationData_$38937_memory_ptr":{"entryPoint":21251,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":20394,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":22468,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":20705,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint8":{"entryPoint":22151,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8_fromMemory":{"entryPoint":22356,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8t_uint256":{"entryPoint":20200,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_string":{"entryPoint":20331,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_struct_TokenInfo":{"entryPoint":21609,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22777,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed":{"entryPoint":23373,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22659,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":23172,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":20419,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":23458,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":22284,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":21744,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":23274,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":23152,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":20375,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22385,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22592,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":23085,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_TokenInfo_$40626_memory_ptr__to_t_struct$_TokenInfo_$40626_memory_ptr__fromStack_reversed":{"entryPoint":21672,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":20802,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_5992":{"entryPoint":20761,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":22493,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":23548,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":23251,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":23066,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":22805,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":22875,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":20295,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":22226,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":22331,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint8":{"entryPoint":23342,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":22309,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":23436,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":23582,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":22570,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":20739,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":20439,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":21092,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":20244,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":20185,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:43704:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"57:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"106:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"115:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"118:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"108:6:150"},"nodeType":"YulFunctionCall","src":"108:12:150"},"nodeType":"YulExpressionStatement","src":"108:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"80:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"91:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"98:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"87:3:150"},"nodeType":"YulFunctionCall","src":"87:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"77:2:150"},"nodeType":"YulFunctionCall","src":"77:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"70:6:150"},"nodeType":"YulFunctionCall","src":"70:35:150"},"nodeType":"YulIf","src":"67:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"46:5:150","type":""}],"src":"14:114:150"},{"body":{"nodeType":"YulBlock","src":"218:226:150","statements":[{"body":{"nodeType":"YulBlock","src":"264:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"273:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"276:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"266:6:150"},"nodeType":"YulFunctionCall","src":"266:12:150"},"nodeType":"YulExpressionStatement","src":"266:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"239:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"248:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:150"},"nodeType":"YulFunctionCall","src":"235:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"260:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"231:3:150"},"nodeType":"YulFunctionCall","src":"231:32:150"},"nodeType":"YulIf","src":"228:52:150"},{"nodeType":"YulVariableDeclaration","src":"289:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"315:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"302:12:150"},"nodeType":"YulFunctionCall","src":"302:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"293:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"357:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"334:22:150"},"nodeType":"YulFunctionCall","src":"334:29:150"},"nodeType":"YulExpressionStatement","src":"334:29:150"},{"nodeType":"YulAssignment","src":"372:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"382:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"372:6:150"}]},{"nodeType":"YulAssignment","src":"396:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"434:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"419:3:150"},"nodeType":"YulFunctionCall","src":"419:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"406:12:150"},"nodeType":"YulFunctionCall","src":"406:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"396:6:150"}]}]},"name":"abi_decode_tuple_t_uint8t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"176:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"187:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"199:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"207:6:150","type":""}],"src":"133:311:150"},{"body":{"nodeType":"YulBlock","src":"493:87:150","statements":[{"body":{"nodeType":"YulBlock","src":"558:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"567:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"570:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"560:6:150"},"nodeType":"YulFunctionCall","src":"560:12:150"},"nodeType":"YulExpressionStatement","src":"560:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"516:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"527:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"538:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"543:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"534:3:150"},"nodeType":"YulFunctionCall","src":"534:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"523:3:150"},"nodeType":"YulFunctionCall","src":"523:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"513:2:150"},"nodeType":"YulFunctionCall","src":"513:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"506:6:150"},"nodeType":"YulFunctionCall","src":"506:51:150"},"nodeType":"YulIf","src":"503:71:150"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"482:5:150","type":""}],"src":"449:131:150"},{"body":{"nodeType":"YulBlock","src":"654:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"700:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"709:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"712:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"702:6:150"},"nodeType":"YulFunctionCall","src":"702:12:150"},"nodeType":"YulExpressionStatement","src":"702:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"675:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"684:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"671:3:150"},"nodeType":"YulFunctionCall","src":"671:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"696:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"667:3:150"},"nodeType":"YulFunctionCall","src":"667:32:150"},"nodeType":"YulIf","src":"664:52:150"},{"nodeType":"YulVariableDeclaration","src":"725:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"751:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"738:12:150"},"nodeType":"YulFunctionCall","src":"738:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"729:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"794:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"770:23:150"},"nodeType":"YulFunctionCall","src":"770:30:150"},"nodeType":"YulExpressionStatement","src":"770:30:150"},{"nodeType":"YulAssignment","src":"809:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"819:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"809:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"620:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"631:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"643:6:150","type":""}],"src":"585:245:150"},{"body":{"nodeType":"YulBlock","src":"930:92:150","statements":[{"nodeType":"YulAssignment","src":"940:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"963:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"948:3:150"},"nodeType":"YulFunctionCall","src":"948:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"940:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"982:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1007:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1000:6:150"},"nodeType":"YulFunctionCall","src":"1000:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"993:6:150"},"nodeType":"YulFunctionCall","src":"993:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"975:6:150"},"nodeType":"YulFunctionCall","src":"975:41:150"},"nodeType":"YulExpressionStatement","src":"975:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"899:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"910:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"921:4:150","type":""}],"src":"835:187:150"},{"body":{"nodeType":"YulBlock","src":"1093:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1103:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1112:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1107:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1172:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1197:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1202:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1193:3:150"},"nodeType":"YulFunctionCall","src":"1193:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1216:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1221:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1212:3:150"},"nodeType":"YulFunctionCall","src":"1212:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1206:5:150"},"nodeType":"YulFunctionCall","src":"1206:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1186:6:150"},"nodeType":"YulFunctionCall","src":"1186:39:150"},"nodeType":"YulExpressionStatement","src":"1186:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1133:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1136:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1130:2:150"},"nodeType":"YulFunctionCall","src":"1130:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1144:19:150","statements":[{"nodeType":"YulAssignment","src":"1146:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1155:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1158:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1151:3:150"},"nodeType":"YulFunctionCall","src":"1151:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1146:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1126:3:150","statements":[]},"src":"1122:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1255:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1260:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1251:3:150"},"nodeType":"YulFunctionCall","src":"1251:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"1269:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1244:6:150"},"nodeType":"YulFunctionCall","src":"1244:27:150"},"nodeType":"YulExpressionStatement","src":"1244:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1071:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1076:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1081:6:150","type":""}],"src":"1027:250:150"},{"body":{"nodeType":"YulBlock","src":"1332:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1342:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1362:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1356:5:150"},"nodeType":"YulFunctionCall","src":"1356:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1346:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1384:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1389:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1377:6:150"},"nodeType":"YulFunctionCall","src":"1377:19:150"},"nodeType":"YulExpressionStatement","src":"1377:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1444:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1451:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1440:3:150"},"nodeType":"YulFunctionCall","src":"1440:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1462:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"1467:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1458:3:150"},"nodeType":"YulFunctionCall","src":"1458:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"1474:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"1405:34:150"},"nodeType":"YulFunctionCall","src":"1405:76:150"},"nodeType":"YulExpressionStatement","src":"1405:76:150"},{"nodeType":"YulAssignment","src":"1490:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1505:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1518:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1526:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1514:3:150"},"nodeType":"YulFunctionCall","src":"1514:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1535:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1531:3:150"},"nodeType":"YulFunctionCall","src":"1531:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1510:3:150"},"nodeType":"YulFunctionCall","src":"1510:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1501:3:150"},"nodeType":"YulFunctionCall","src":"1501:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"1542:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1497:3:150"},"nodeType":"YulFunctionCall","src":"1497:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1490:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1309:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1316:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1324:3:150","type":""}],"src":"1282:271:150"},{"body":{"nodeType":"YulBlock","src":"1679:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1696:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1707:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1689:6:150"},"nodeType":"YulFunctionCall","src":"1689:21:150"},"nodeType":"YulExpressionStatement","src":"1689:21:150"},{"nodeType":"YulAssignment","src":"1719:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1745:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1757:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1768:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1753:3:150"},"nodeType":"YulFunctionCall","src":"1753:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1727:17:150"},"nodeType":"YulFunctionCall","src":"1727:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1719:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1648:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1659:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1670:4:150","type":""}],"src":"1558:220:150"},{"body":{"nodeType":"YulBlock","src":"1853:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1899:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1908:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1911:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1901:6:150"},"nodeType":"YulFunctionCall","src":"1901:12:150"},"nodeType":"YulExpressionStatement","src":"1901:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1874:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1883:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1870:3:150"},"nodeType":"YulFunctionCall","src":"1870:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1895:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1866:3:150"},"nodeType":"YulFunctionCall","src":"1866:32:150"},"nodeType":"YulIf","src":"1863:52:150"},{"nodeType":"YulAssignment","src":"1924:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1947:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1934:12:150"},"nodeType":"YulFunctionCall","src":"1934:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1924:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1819:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1830:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1842:6:150","type":""}],"src":"1783:180:150"},{"body":{"nodeType":"YulBlock","src":"2069:102:150","statements":[{"nodeType":"YulAssignment","src":"2079:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2091:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2102:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2087:3:150"},"nodeType":"YulFunctionCall","src":"2087:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2079:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2121:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2136:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2152:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2157:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2148:3:150"},"nodeType":"YulFunctionCall","src":"2148:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2161:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2144:3:150"},"nodeType":"YulFunctionCall","src":"2144:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2132:3:150"},"nodeType":"YulFunctionCall","src":"2132:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2114:6:150"},"nodeType":"YulFunctionCall","src":"2114:51:150"},"nodeType":"YulExpressionStatement","src":"2114:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2038:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2049:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2060:4:150","type":""}],"src":"1968:203:150"},{"body":{"nodeType":"YulBlock","src":"2221:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"2285:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2294:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2297:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2287:6:150"},"nodeType":"YulFunctionCall","src":"2287:12:150"},"nodeType":"YulExpressionStatement","src":"2287:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2244:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2255:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2270:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2275:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2266:3:150"},"nodeType":"YulFunctionCall","src":"2266:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2279:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2262:3:150"},"nodeType":"YulFunctionCall","src":"2262:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2251:3:150"},"nodeType":"YulFunctionCall","src":"2251:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2241:2:150"},"nodeType":"YulFunctionCall","src":"2241:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2234:6:150"},"nodeType":"YulFunctionCall","src":"2234:50:150"},"nodeType":"YulIf","src":"2231:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2210:5:150","type":""}],"src":"2176:131:150"},{"body":{"nodeType":"YulBlock","src":"2361:85:150","statements":[{"nodeType":"YulAssignment","src":"2371:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2393:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2380:12:150"},"nodeType":"YulFunctionCall","src":"2380:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2371:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2434:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2409:24:150"},"nodeType":"YulFunctionCall","src":"2409:31:150"},"nodeType":"YulExpressionStatement","src":"2409:31:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2340:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2351:5:150","type":""}],"src":"2312:134:150"},{"body":{"nodeType":"YulBlock","src":"2538:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"2584:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2593:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2596:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2586:6:150"},"nodeType":"YulFunctionCall","src":"2586:12:150"},"nodeType":"YulExpressionStatement","src":"2586:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2559:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2568:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2555:3:150"},"nodeType":"YulFunctionCall","src":"2555:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2580:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2551:3:150"},"nodeType":"YulFunctionCall","src":"2551:32:150"},"nodeType":"YulIf","src":"2548:52:150"},{"nodeType":"YulVariableDeclaration","src":"2609:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2635:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2622:12:150"},"nodeType":"YulFunctionCall","src":"2622:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2613:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2679:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2654:24:150"},"nodeType":"YulFunctionCall","src":"2654:31:150"},"nodeType":"YulExpressionStatement","src":"2654:31:150"},{"nodeType":"YulAssignment","src":"2694:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2704:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2694:6:150"}]},{"nodeType":"YulAssignment","src":"2718:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2745:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2756:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2741:3:150"},"nodeType":"YulFunctionCall","src":"2741:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2728:12:150"},"nodeType":"YulFunctionCall","src":"2728:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2718:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2496:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2507:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2519:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2527:6:150","type":""}],"src":"2451:315:150"},{"body":{"nodeType":"YulBlock","src":"2872:76:150","statements":[{"nodeType":"YulAssignment","src":"2882:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2894:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2905:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2890:3:150"},"nodeType":"YulFunctionCall","src":"2890:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2882:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2924:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"2935:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2917:6:150"},"nodeType":"YulFunctionCall","src":"2917:25:150"},"nodeType":"YulExpressionStatement","src":"2917:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2841:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2852:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2863:4:150","type":""}],"src":"2771:177:150"},{"body":{"nodeType":"YulBlock","src":"3057:352:150","statements":[{"body":{"nodeType":"YulBlock","src":"3103:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3112:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3115:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3105:6:150"},"nodeType":"YulFunctionCall","src":"3105:12:150"},"nodeType":"YulExpressionStatement","src":"3105:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3078:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3087:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3074:3:150"},"nodeType":"YulFunctionCall","src":"3074:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3099:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3070:3:150"},"nodeType":"YulFunctionCall","src":"3070:32:150"},"nodeType":"YulIf","src":"3067:52:150"},{"nodeType":"YulVariableDeclaration","src":"3128:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3154:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3141:12:150"},"nodeType":"YulFunctionCall","src":"3141:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3132:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3198:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3173:24:150"},"nodeType":"YulFunctionCall","src":"3173:31:150"},"nodeType":"YulExpressionStatement","src":"3173:31:150"},{"nodeType":"YulAssignment","src":"3213:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3223:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3213:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3237:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3280:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3265:3:150"},"nodeType":"YulFunctionCall","src":"3265:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3252:12:150"},"nodeType":"YulFunctionCall","src":"3252:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"3241:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"3318:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3293:24:150"},"nodeType":"YulFunctionCall","src":"3293:33:150"},"nodeType":"YulExpressionStatement","src":"3293:33:150"},{"nodeType":"YulAssignment","src":"3335:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"3345:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3335:6:150"}]},{"nodeType":"YulAssignment","src":"3361:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3388:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3399:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3384:3:150"},"nodeType":"YulFunctionCall","src":"3384:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3371:12:150"},"nodeType":"YulFunctionCall","src":"3371:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3361:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3007:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3018:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3030:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3038:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3046:6:150","type":""}],"src":"2953:456:150"},{"body":{"nodeType":"YulBlock","src":"3484:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"3530:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3539:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3542:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3532:6:150"},"nodeType":"YulFunctionCall","src":"3532:12:150"},"nodeType":"YulExpressionStatement","src":"3532:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3505:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3514:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3501:3:150"},"nodeType":"YulFunctionCall","src":"3501:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3526:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3497:3:150"},"nodeType":"YulFunctionCall","src":"3497:32:150"},"nodeType":"YulIf","src":"3494:52:150"},{"nodeType":"YulAssignment","src":"3555:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3578:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3565:12:150"},"nodeType":"YulFunctionCall","src":"3565:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3555:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3450:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3461:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3473:6:150","type":""}],"src":"3414:180:150"},{"body":{"nodeType":"YulBlock","src":"3700:76:150","statements":[{"nodeType":"YulAssignment","src":"3710:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3722:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3733:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3718:3:150"},"nodeType":"YulFunctionCall","src":"3718:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3710:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3752:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3763:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3745:6:150"},"nodeType":"YulFunctionCall","src":"3745:25:150"},"nodeType":"YulExpressionStatement","src":"3745:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3669:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3680:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3691:4:150","type":""}],"src":"3599:177:150"},{"body":{"nodeType":"YulBlock","src":"3868:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"3914:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3923:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3926:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3916:6:150"},"nodeType":"YulFunctionCall","src":"3916:12:150"},"nodeType":"YulExpressionStatement","src":"3916:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3889:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3898:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3885:3:150"},"nodeType":"YulFunctionCall","src":"3885:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3910:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3881:3:150"},"nodeType":"YulFunctionCall","src":"3881:32:150"},"nodeType":"YulIf","src":"3878:52:150"},{"nodeType":"YulAssignment","src":"3939:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3962:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3949:12:150"},"nodeType":"YulFunctionCall","src":"3949:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3939:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3981:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4011:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4022:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4007:3:150"},"nodeType":"YulFunctionCall","src":"4007:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3994:12:150"},"nodeType":"YulFunctionCall","src":"3994:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3985:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4060:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4035:24:150"},"nodeType":"YulFunctionCall","src":"4035:31:150"},"nodeType":"YulExpressionStatement","src":"4035:31:150"},{"nodeType":"YulAssignment","src":"4075:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4085:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4075:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3826:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3837:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3849:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3857:6:150","type":""}],"src":"3781:315:150"},{"body":{"nodeType":"YulBlock","src":"4171:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"4217:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4226:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4229:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4219:6:150"},"nodeType":"YulFunctionCall","src":"4219:12:150"},"nodeType":"YulExpressionStatement","src":"4219:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4192:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4201:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4188:3:150"},"nodeType":"YulFunctionCall","src":"4188:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4213:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4184:3:150"},"nodeType":"YulFunctionCall","src":"4184:32:150"},"nodeType":"YulIf","src":"4181:52:150"},{"nodeType":"YulVariableDeclaration","src":"4242:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4268:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4255:12:150"},"nodeType":"YulFunctionCall","src":"4255:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4246:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4312:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4287:24:150"},"nodeType":"YulFunctionCall","src":"4287:31:150"},"nodeType":"YulExpressionStatement","src":"4287:31:150"},{"nodeType":"YulAssignment","src":"4327:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4337:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4327:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4137:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4148:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4160:6:150","type":""}],"src":"4101:247:150"},{"body":{"nodeType":"YulBlock","src":"4439:337:150","statements":[{"body":{"nodeType":"YulBlock","src":"4485:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4494:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4497:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4487:6:150"},"nodeType":"YulFunctionCall","src":"4487:12:150"},"nodeType":"YulExpressionStatement","src":"4487:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4460:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4469:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4456:3:150"},"nodeType":"YulFunctionCall","src":"4456:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4481:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4452:3:150"},"nodeType":"YulFunctionCall","src":"4452:32:150"},"nodeType":"YulIf","src":"4449:52:150"},{"nodeType":"YulVariableDeclaration","src":"4510:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4536:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4523:12:150"},"nodeType":"YulFunctionCall","src":"4523:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4514:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4580:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4555:24:150"},"nodeType":"YulFunctionCall","src":"4555:31:150"},"nodeType":"YulExpressionStatement","src":"4555:31:150"},{"nodeType":"YulAssignment","src":"4595:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4605:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4595:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4619:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4651:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4662:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4647:3:150"},"nodeType":"YulFunctionCall","src":"4647:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4634:12:150"},"nodeType":"YulFunctionCall","src":"4634:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"4623:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4728:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4737:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4740:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4730:6:150"},"nodeType":"YulFunctionCall","src":"4730:12:150"},"nodeType":"YulExpressionStatement","src":"4730:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4688:7:150"},{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4701:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"4710:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4697:3:150"},"nodeType":"YulFunctionCall","src":"4697:28:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4685:2:150"},"nodeType":"YulFunctionCall","src":"4685:41:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4678:6:150"},"nodeType":"YulFunctionCall","src":"4678:49:150"},"nodeType":"YulIf","src":"4675:69:150"},{"nodeType":"YulAssignment","src":"4753:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"4763:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4753:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4397:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4408:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4420:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4428:6:150","type":""}],"src":"4353:423:150"},{"body":{"nodeType":"YulBlock","src":"4878:87:150","statements":[{"nodeType":"YulAssignment","src":"4888:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4900:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4911:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4896:3:150"},"nodeType":"YulFunctionCall","src":"4896:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4888:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4930:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4945:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4953:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4941:3:150"},"nodeType":"YulFunctionCall","src":"4941:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4923:6:150"},"nodeType":"YulFunctionCall","src":"4923:36:150"},"nodeType":"YulExpressionStatement","src":"4923:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4847:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4858:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4869:4:150","type":""}],"src":"4781:184:150"},{"body":{"nodeType":"YulBlock","src":"5057:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"5103:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5112:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5115:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5105:6:150"},"nodeType":"YulFunctionCall","src":"5105:12:150"},"nodeType":"YulExpressionStatement","src":"5105:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5078:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5087:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5074:3:150"},"nodeType":"YulFunctionCall","src":"5074:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5099:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5070:3:150"},"nodeType":"YulFunctionCall","src":"5070:32:150"},"nodeType":"YulIf","src":"5067:52:150"},{"nodeType":"YulAssignment","src":"5128:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5151:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5138:12:150"},"nodeType":"YulFunctionCall","src":"5138:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5128:6:150"}]},{"nodeType":"YulAssignment","src":"5170:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5197:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5208:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5193:3:150"},"nodeType":"YulFunctionCall","src":"5193:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5180:12:150"},"nodeType":"YulFunctionCall","src":"5180:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5170:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5015:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5026:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5038:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5046:6:150","type":""}],"src":"4970:248:150"},{"body":{"nodeType":"YulBlock","src":"5255:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5272:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5279:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5284:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5275:3:150"},"nodeType":"YulFunctionCall","src":"5275:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5265:6:150"},"nodeType":"YulFunctionCall","src":"5265:31:150"},"nodeType":"YulExpressionStatement","src":"5265:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5312:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5315:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5305:6:150"},"nodeType":"YulFunctionCall","src":"5305:15:150"},"nodeType":"YulExpressionStatement","src":"5305:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5336:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5339:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5329:6:150"},"nodeType":"YulFunctionCall","src":"5329:15:150"},"nodeType":"YulExpressionStatement","src":"5329:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5223:127:150"},{"body":{"nodeType":"YulBlock","src":"5401:209:150","statements":[{"nodeType":"YulAssignment","src":"5411:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5427:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5421:5:150"},"nodeType":"YulFunctionCall","src":"5421:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5411:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5439:37:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5461:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5469:6:150","type":"","value":"0x0180"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5457:3:150"},"nodeType":"YulFunctionCall","src":"5457:19:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5443:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5551:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5553:16:150"},"nodeType":"YulFunctionCall","src":"5553:18:150"},"nodeType":"YulExpressionStatement","src":"5553:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5494:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5514:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5518:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5510:3:150"},"nodeType":"YulFunctionCall","src":"5510:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5522:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5506:3:150"},"nodeType":"YulFunctionCall","src":"5506:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5491:2:150"},"nodeType":"YulFunctionCall","src":"5491:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5530:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5542:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5527:2:150"},"nodeType":"YulFunctionCall","src":"5527:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5488:2:150"},"nodeType":"YulFunctionCall","src":"5488:62:150"},"nodeType":"YulIf","src":"5485:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5589:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5593:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5582:6:150"},"nodeType":"YulFunctionCall","src":"5582:22:150"},"nodeType":"YulExpressionStatement","src":"5582:22:150"}]},"name":"allocate_memory_5992","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5390:6:150","type":""}],"src":"5355:255:150"},{"body":{"nodeType":"YulBlock","src":"5660:230:150","statements":[{"nodeType":"YulAssignment","src":"5670:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5686:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5680:5:150"},"nodeType":"YulFunctionCall","src":"5680:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5670:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5698:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5720:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"5736:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"5742:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5732:3:150"},"nodeType":"YulFunctionCall","src":"5732:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5751:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5747:3:150"},"nodeType":"YulFunctionCall","src":"5747:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5728:3:150"},"nodeType":"YulFunctionCall","src":"5728:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5716:3:150"},"nodeType":"YulFunctionCall","src":"5716:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5702:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5831:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5833:16:150"},"nodeType":"YulFunctionCall","src":"5833:18:150"},"nodeType":"YulExpressionStatement","src":"5833:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5774:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5794:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5798:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5790:3:150"},"nodeType":"YulFunctionCall","src":"5790:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5802:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5786:3:150"},"nodeType":"YulFunctionCall","src":"5786:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5771:2:150"},"nodeType":"YulFunctionCall","src":"5771:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5810:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5822:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5807:2:150"},"nodeType":"YulFunctionCall","src":"5807:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5768:2:150"},"nodeType":"YulFunctionCall","src":"5768:62:150"},"nodeType":"YulIf","src":"5765:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5869:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5873:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5862:6:150"},"nodeType":"YulFunctionCall","src":"5862:22:150"},"nodeType":"YulExpressionStatement","src":"5862:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"5640:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5649:6:150","type":""}],"src":"5615:275:150"},{"body":{"nodeType":"YulBlock","src":"5947:478:150","statements":[{"body":{"nodeType":"YulBlock","src":"5996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5998:6:150"},"nodeType":"YulFunctionCall","src":"5998:12:150"},"nodeType":"YulExpressionStatement","src":"5998:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5975:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5983:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5971:3:150"},"nodeType":"YulFunctionCall","src":"5971:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"5990:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5967:3:150"},"nodeType":"YulFunctionCall","src":"5967:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5960:6:150"},"nodeType":"YulFunctionCall","src":"5960:35:150"},"nodeType":"YulIf","src":"5957:55:150"},{"nodeType":"YulVariableDeclaration","src":"6021:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6044:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6031:12:150"},"nodeType":"YulFunctionCall","src":"6031:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6025:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6090:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6092:16:150"},"nodeType":"YulFunctionCall","src":"6092:18:150"},"nodeType":"YulExpressionStatement","src":"6092:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6066:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6078:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6082:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6074:3:150"},"nodeType":"YulFunctionCall","src":"6074:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6086:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6070:3:150"},"nodeType":"YulFunctionCall","src":"6070:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6063:2:150"},"nodeType":"YulFunctionCall","src":"6063:26:150"},"nodeType":"YulIf","src":"6060:52:150"},{"nodeType":"YulVariableDeclaration","src":"6121:70:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6164:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6168:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6160:3:150"},"nodeType":"YulFunctionCall","src":"6160:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6179:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6175:3:150"},"nodeType":"YulFunctionCall","src":"6175:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6156:3:150"},"nodeType":"YulFunctionCall","src":"6156:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6185:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6152:3:150"},"nodeType":"YulFunctionCall","src":"6152:38:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"6136:15:150"},"nodeType":"YulFunctionCall","src":"6136:55:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"6125:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6207:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6216:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6200:6:150"},"nodeType":"YulFunctionCall","src":"6200:19:150"},"nodeType":"YulExpressionStatement","src":"6200:19:150"},{"body":{"nodeType":"YulBlock","src":"6267:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6276:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6279:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6269:6:150"},"nodeType":"YulFunctionCall","src":"6269:12:150"},"nodeType":"YulExpressionStatement","src":"6269:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6242:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6250:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6238:3:150"},"nodeType":"YulFunctionCall","src":"6238:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"6255:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6234:3:150"},"nodeType":"YulFunctionCall","src":"6234:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"6262:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6231:2:150"},"nodeType":"YulFunctionCall","src":"6231:35:150"},"nodeType":"YulIf","src":"6228:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6309:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"6318:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6305:3:150"},"nodeType":"YulFunctionCall","src":"6305:18:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6329:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6337:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6325:3:150"},"nodeType":"YulFunctionCall","src":"6325:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6344:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"6292:12:150"},"nodeType":"YulFunctionCall","src":"6292:55:150"},"nodeType":"YulExpressionStatement","src":"6292:55:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6371:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6380:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6367:3:150"},"nodeType":"YulFunctionCall","src":"6367:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"6385:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6363:3:150"},"nodeType":"YulFunctionCall","src":"6363:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6392:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6356:6:150"},"nodeType":"YulFunctionCall","src":"6356:38:150"},"nodeType":"YulExpressionStatement","src":"6356:38:150"},{"nodeType":"YulAssignment","src":"6403:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"6412:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"6403:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5921:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5929:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5937:5:150","type":""}],"src":"5895:530:150"},{"body":{"nodeType":"YulBlock","src":"6526:359:150","statements":[{"body":{"nodeType":"YulBlock","src":"6572:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6581:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6584:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6574:6:150"},"nodeType":"YulFunctionCall","src":"6574:12:150"},"nodeType":"YulExpressionStatement","src":"6574:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6547:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6556:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6543:3:150"},"nodeType":"YulFunctionCall","src":"6543:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6568:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6539:3:150"},"nodeType":"YulFunctionCall","src":"6539:32:150"},"nodeType":"YulIf","src":"6536:52:150"},{"nodeType":"YulVariableDeclaration","src":"6597:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6623:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6610:12:150"},"nodeType":"YulFunctionCall","src":"6610:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6601:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6667:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6642:24:150"},"nodeType":"YulFunctionCall","src":"6642:31:150"},"nodeType":"YulExpressionStatement","src":"6642:31:150"},{"nodeType":"YulAssignment","src":"6682:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6692:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6682:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6706:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6737:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6748:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6733:3:150"},"nodeType":"YulFunctionCall","src":"6733:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6720:12:150"},"nodeType":"YulFunctionCall","src":"6720:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6710:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6795:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6804:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6807:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6797:6:150"},"nodeType":"YulFunctionCall","src":"6797:12:150"},"nodeType":"YulExpressionStatement","src":"6797:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6767:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6783:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6787:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6779:3:150"},"nodeType":"YulFunctionCall","src":"6779:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6791:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6775:3:150"},"nodeType":"YulFunctionCall","src":"6775:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6764:2:150"},"nodeType":"YulFunctionCall","src":"6764:30:150"},"nodeType":"YulIf","src":"6761:50:150"},{"nodeType":"YulAssignment","src":"6820:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6851:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6862:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6847:3:150"},"nodeType":"YulFunctionCall","src":"6847:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6871:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"6830:16:150"},"nodeType":"YulFunctionCall","src":"6830:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6820:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6484:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6495:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6507:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6515:6:150","type":""}],"src":"6430:455:150"},{"body":{"nodeType":"YulBlock","src":"6970:241:150","statements":[{"body":{"nodeType":"YulBlock","src":"7016:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7025:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7028:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7018:6:150"},"nodeType":"YulFunctionCall","src":"7018:12:150"},"nodeType":"YulExpressionStatement","src":"7018:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6991:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7000:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6987:3:150"},"nodeType":"YulFunctionCall","src":"6987:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7012:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6983:3:150"},"nodeType":"YulFunctionCall","src":"6983:32:150"},"nodeType":"YulIf","src":"6980:52:150"},{"nodeType":"YulVariableDeclaration","src":"7041:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7068:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7055:12:150"},"nodeType":"YulFunctionCall","src":"7055:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7045:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7121:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7130:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7133:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7123:6:150"},"nodeType":"YulFunctionCall","src":"7123:12:150"},"nodeType":"YulExpressionStatement","src":"7123:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7093:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7109:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7113:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7105:3:150"},"nodeType":"YulFunctionCall","src":"7105:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7117:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7101:3:150"},"nodeType":"YulFunctionCall","src":"7101:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7090:2:150"},"nodeType":"YulFunctionCall","src":"7090:30:150"},"nodeType":"YulIf","src":"7087:50:150"},{"nodeType":"YulAssignment","src":"7146:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7177:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"7188:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7173:3:150"},"nodeType":"YulFunctionCall","src":"7173:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7197:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"7156:16:150"},"nodeType":"YulFunctionCall","src":"7156:49:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7146:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6936:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6947:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6959:6:150","type":""}],"src":"6890:321:150"},{"body":{"nodeType":"YulBlock","src":"7332:102:150","statements":[{"nodeType":"YulAssignment","src":"7342:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7354:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7365:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7350:3:150"},"nodeType":"YulFunctionCall","src":"7350:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7342:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7384:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7399:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7415:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7420:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7411:3:150"},"nodeType":"YulFunctionCall","src":"7411:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7424:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7407:3:150"},"nodeType":"YulFunctionCall","src":"7407:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7395:3:150"},"nodeType":"YulFunctionCall","src":"7395:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7377:6:150"},"nodeType":"YulFunctionCall","src":"7377:51:150"},"nodeType":"YulExpressionStatement","src":"7377:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7301:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7312:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7323:4:150","type":""}],"src":"7216:218:150"},{"body":{"nodeType":"YulBlock","src":"7481:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"7535:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7544:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7547:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7537:6:150"},"nodeType":"YulFunctionCall","src":"7537:12:150"},"nodeType":"YulExpressionStatement","src":"7537:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7504:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7525:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7518:6:150"},"nodeType":"YulFunctionCall","src":"7518:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7511:6:150"},"nodeType":"YulFunctionCall","src":"7511:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7501:2:150"},"nodeType":"YulFunctionCall","src":"7501:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7494:6:150"},"nodeType":"YulFunctionCall","src":"7494:40:150"},"nodeType":"YulIf","src":"7491:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7470:5:150","type":""}],"src":"7439:118:150"},{"body":{"nodeType":"YulBlock","src":"7629:174:150","statements":[{"body":{"nodeType":"YulBlock","src":"7675:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7684:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7687:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7677:6:150"},"nodeType":"YulFunctionCall","src":"7677:12:150"},"nodeType":"YulExpressionStatement","src":"7677:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7650:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7659:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7646:3:150"},"nodeType":"YulFunctionCall","src":"7646:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7671:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7642:3:150"},"nodeType":"YulFunctionCall","src":"7642:32:150"},"nodeType":"YulIf","src":"7639:52:150"},{"nodeType":"YulVariableDeclaration","src":"7700:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7726:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7713:12:150"},"nodeType":"YulFunctionCall","src":"7713:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7704:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7767:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"7745:21:150"},"nodeType":"YulFunctionCall","src":"7745:28:150"},"nodeType":"YulExpressionStatement","src":"7745:28:150"},{"nodeType":"YulAssignment","src":"7782:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7792:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7782:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7595:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7606:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7618:6:150","type":""}],"src":"7562:241:150"},{"body":{"nodeType":"YulBlock","src":"7945:102:150","statements":[{"nodeType":"YulAssignment","src":"7955:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7978:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7963:3:150"},"nodeType":"YulFunctionCall","src":"7963:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7955:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7997:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8012:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8028:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8033:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8024:3:150"},"nodeType":"YulFunctionCall","src":"8024:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8037:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8020:3:150"},"nodeType":"YulFunctionCall","src":"8020:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8008:3:150"},"nodeType":"YulFunctionCall","src":"8008:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7990:6:150"},"nodeType":"YulFunctionCall","src":"7990:51:150"},"nodeType":"YulExpressionStatement","src":"7990:51:150"}]},"name":"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7914:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7925:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7936:4:150","type":""}],"src":"7808:239:150"},{"body":{"nodeType":"YulBlock","src":"8116:648:150","statements":[{"body":{"nodeType":"YulBlock","src":"8165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8167:6:150"},"nodeType":"YulFunctionCall","src":"8167:12:150"},"nodeType":"YulExpressionStatement","src":"8167:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8144:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8152:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8140:3:150"},"nodeType":"YulFunctionCall","src":"8140:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"8159:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8136:3:150"},"nodeType":"YulFunctionCall","src":"8136:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8129:6:150"},"nodeType":"YulFunctionCall","src":"8129:35:150"},"nodeType":"YulIf","src":"8126:55:150"},{"nodeType":"YulVariableDeclaration","src":"8190:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8213:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8200:12:150"},"nodeType":"YulFunctionCall","src":"8200:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8194:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8229:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8239:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8233:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8282:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8284:16:150"},"nodeType":"YulFunctionCall","src":"8284:18:150"},"nodeType":"YulExpressionStatement","src":"8284:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"8258:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8270:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"8274:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8266:3:150"},"nodeType":"YulFunctionCall","src":"8266:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"8278:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8262:3:150"},"nodeType":"YulFunctionCall","src":"8262:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8255:2:150"},"nodeType":"YulFunctionCall","src":"8255:26:150"},"nodeType":"YulIf","src":"8252:52:150"},{"nodeType":"YulVariableDeclaration","src":"8313:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8327:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"8330:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8323:3:150"},"nodeType":"YulFunctionCall","src":"8323:10:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"8317:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8342:39:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"8373:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8377:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8369:3:150"},"nodeType":"YulFunctionCall","src":"8369:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8353:15:150"},"nodeType":"YulFunctionCall","src":"8353:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"8346:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8390:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"8403:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"8394:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8422:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8427:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8415:6:150"},"nodeType":"YulFunctionCall","src":"8415:15:150"},"nodeType":"YulExpressionStatement","src":"8415:15:150"},{"nodeType":"YulAssignment","src":"8439:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8450:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8455:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8446:3:150"},"nodeType":"YulFunctionCall","src":"8446:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8439:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"8467:38:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8489:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"8497:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8485:3:150"},"nodeType":"YulFunctionCall","src":"8485:15:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8502:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8481:3:150"},"nodeType":"YulFunctionCall","src":"8481:24:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"8471:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8533:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8542:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8545:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8535:6:150"},"nodeType":"YulFunctionCall","src":"8535:12:150"},"nodeType":"YulExpressionStatement","src":"8535:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"8520:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"8528:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8517:2:150"},"nodeType":"YulFunctionCall","src":"8517:15:150"},"nodeType":"YulIf","src":"8514:35:150"},{"nodeType":"YulVariableDeclaration","src":"8558:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8573:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8581:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8569:3:150"},"nodeType":"YulFunctionCall","src":"8569:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"8562:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8649:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8670:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8688:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8675:12:150"},"nodeType":"YulFunctionCall","src":"8675:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8663:6:150"},"nodeType":"YulFunctionCall","src":"8663:30:150"},"nodeType":"YulExpressionStatement","src":"8663:30:150"},{"nodeType":"YulAssignment","src":"8706:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8717:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8722:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8713:3:150"},"nodeType":"YulFunctionCall","src":"8713:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"8706:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8604:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"8609:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8601:2:150"},"nodeType":"YulFunctionCall","src":"8601:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8617:23:150","statements":[{"nodeType":"YulAssignment","src":"8619:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8630:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8635:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8626:3:150"},"nodeType":"YulFunctionCall","src":"8626:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"8619:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"8597:3:150","statements":[]},"src":"8593:142:150"},{"nodeType":"YulAssignment","src":"8744:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"8753:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8744:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8090:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"8098:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8106:5:150","type":""}],"src":"8052:712:150"},{"body":{"nodeType":"YulBlock","src":"8876:1645:150","statements":[{"body":{"nodeType":"YulBlock","src":"8922:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8931:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8934:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8924:6:150"},"nodeType":"YulFunctionCall","src":"8924:12:150"},"nodeType":"YulExpressionStatement","src":"8924:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8897:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8906:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8893:3:150"},"nodeType":"YulFunctionCall","src":"8893:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8918:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8889:3:150"},"nodeType":"YulFunctionCall","src":"8889:32:150"},"nodeType":"YulIf","src":"8886:52:150"},{"nodeType":"YulVariableDeclaration","src":"8947:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8974:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8961:12:150"},"nodeType":"YulFunctionCall","src":"8961:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8951:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8993:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9011:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9015:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9007:3:150"},"nodeType":"YulFunctionCall","src":"9007:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9019:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9003:3:150"},"nodeType":"YulFunctionCall","src":"9003:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8997:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9048:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9057:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9060:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9050:6:150"},"nodeType":"YulFunctionCall","src":"9050:12:150"},"nodeType":"YulExpressionStatement","src":"9050:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9036:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9044:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9033:2:150"},"nodeType":"YulFunctionCall","src":"9033:14:150"},"nodeType":"YulIf","src":"9030:34:150"},{"nodeType":"YulVariableDeclaration","src":"9073:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9087:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9098:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9083:3:150"},"nodeType":"YulFunctionCall","src":"9083:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"9077:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9147:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9156:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9159:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9149:6:150"},"nodeType":"YulFunctionCall","src":"9149:12:150"},"nodeType":"YulExpressionStatement","src":"9149:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9125:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9134:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9121:3:150"},"nodeType":"YulFunctionCall","src":"9121:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"9139:6:150","type":"","value":"0x0180"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9117:3:150"},"nodeType":"YulFunctionCall","src":"9117:29:150"},"nodeType":"YulIf","src":"9114:49:150"},{"nodeType":"YulVariableDeclaration","src":"9172:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_5992","nodeType":"YulIdentifier","src":"9185:20:150"},"nodeType":"YulFunctionCall","src":"9185:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9176:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9216:32:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9245:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9232:12:150"},"nodeType":"YulFunctionCall","src":"9232:16:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"9220:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9277:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9286:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9289:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9279:6:150"},"nodeType":"YulFunctionCall","src":"9279:12:150"},"nodeType":"YulExpressionStatement","src":"9279:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"9263:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9273:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9260:2:150"},"nodeType":"YulFunctionCall","src":"9260:16:150"},"nodeType":"YulIf","src":"9257:36:150"},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9309:5:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9337:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9341:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9333:3:150"},"nodeType":"YulFunctionCall","src":"9333:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9352:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9316:16:150"},"nodeType":"YulFunctionCall","src":"9316:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9302:6:150"},"nodeType":"YulFunctionCall","src":"9302:59:150"},"nodeType":"YulExpressionStatement","src":"9302:59:150"},{"nodeType":"YulVariableDeclaration","src":"9370:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9403:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9407:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9399:3:150"},"nodeType":"YulFunctionCall","src":"9399:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9386:12:150"},"nodeType":"YulFunctionCall","src":"9386:25:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"9374:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9440:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9449:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9452:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9442:6:150"},"nodeType":"YulFunctionCall","src":"9442:12:150"},"nodeType":"YulExpressionStatement","src":"9442:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"9426:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9436:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9423:2:150"},"nodeType":"YulFunctionCall","src":"9423:16:150"},"nodeType":"YulIf","src":"9420:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9476:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9483:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9472:3:150"},"nodeType":"YulFunctionCall","src":"9472:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9509:2:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"9513:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9505:3:150"},"nodeType":"YulFunctionCall","src":"9505:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9524:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9488:16:150"},"nodeType":"YulFunctionCall","src":"9488:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9465:6:150"},"nodeType":"YulFunctionCall","src":"9465:68:150"},"nodeType":"YulExpressionStatement","src":"9465:68:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9553:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9560:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9549:3:150"},"nodeType":"YulFunctionCall","src":"9549:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9588:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9592:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9584:3:150"},"nodeType":"YulFunctionCall","src":"9584:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9565:18:150"},"nodeType":"YulFunctionCall","src":"9565:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9542:6:150"},"nodeType":"YulFunctionCall","src":"9542:55:150"},"nodeType":"YulExpressionStatement","src":"9542:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9617:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9624:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9613:3:150"},"nodeType":"YulFunctionCall","src":"9613:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9652:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9656:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9648:3:150"},"nodeType":"YulFunctionCall","src":"9648:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9629:18:150"},"nodeType":"YulFunctionCall","src":"9629:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9606:6:150"},"nodeType":"YulFunctionCall","src":"9606:55:150"},"nodeType":"YulExpressionStatement","src":"9606:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9681:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9688:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9677:3:150"},"nodeType":"YulFunctionCall","src":"9677:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9717:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9721:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9713:3:150"},"nodeType":"YulFunctionCall","src":"9713:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9694:18:150"},"nodeType":"YulFunctionCall","src":"9694:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9670:6:150"},"nodeType":"YulFunctionCall","src":"9670:57:150"},"nodeType":"YulExpressionStatement","src":"9670:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9747:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9754:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9743:3:150"},"nodeType":"YulFunctionCall","src":"9743:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9783:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9787:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9779:3:150"},"nodeType":"YulFunctionCall","src":"9779:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9760:18:150"},"nodeType":"YulFunctionCall","src":"9760:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9736:6:150"},"nodeType":"YulFunctionCall","src":"9736:57:150"},"nodeType":"YulExpressionStatement","src":"9736:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9813:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9820:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9809:3:150"},"nodeType":"YulFunctionCall","src":"9809:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9849:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9853:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9845:3:150"},"nodeType":"YulFunctionCall","src":"9845:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9826:18:150"},"nodeType":"YulFunctionCall","src":"9826:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9802:6:150"},"nodeType":"YulFunctionCall","src":"9802:57:150"},"nodeType":"YulExpressionStatement","src":"9802:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9879:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9886:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9875:3:150"},"nodeType":"YulFunctionCall","src":"9875:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9909:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9913:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9905:3:150"},"nodeType":"YulFunctionCall","src":"9905:12:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9892:12:150"},"nodeType":"YulFunctionCall","src":"9892:26:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9868:6:150"},"nodeType":"YulFunctionCall","src":"9868:51:150"},"nodeType":"YulExpressionStatement","src":"9868:51:150"},{"nodeType":"YulVariableDeclaration","src":"9928:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9938:3:150","type":"","value":"256"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"9932:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9950:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"9983:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"9987:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9979:3:150"},"nodeType":"YulFunctionCall","src":"9979:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9966:12:150"},"nodeType":"YulFunctionCall","src":"9966:25:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"9954:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10020:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10029:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10032:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10022:6:150"},"nodeType":"YulFunctionCall","src":"10022:12:150"},"nodeType":"YulExpressionStatement","src":"10022:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"10006:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10016:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10003:2:150"},"nodeType":"YulFunctionCall","src":"10003:16:150"},"nodeType":"YulIf","src":"10000:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10056:5:150"},{"name":"_3","nodeType":"YulIdentifier","src":"10063:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10052:3:150"},"nodeType":"YulFunctionCall","src":"10052:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10089:2:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"10093:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10085:3:150"},"nodeType":"YulFunctionCall","src":"10085:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10104:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"10068:16:150"},"nodeType":"YulFunctionCall","src":"10068:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10045:6:150"},"nodeType":"YulFunctionCall","src":"10045:68:150"},"nodeType":"YulExpressionStatement","src":"10045:68:150"},{"nodeType":"YulVariableDeclaration","src":"10122:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10132:3:150","type":"","value":"288"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"10126:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10144:41:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10177:2:150"},{"name":"_4","nodeType":"YulIdentifier","src":"10181:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10173:3:150"},"nodeType":"YulFunctionCall","src":"10173:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10160:12:150"},"nodeType":"YulFunctionCall","src":"10160:25:150"},"variables":[{"name":"offset_4","nodeType":"YulTypedName","src":"10148:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10214:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10223:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10226:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10216:6:150"},"nodeType":"YulFunctionCall","src":"10216:12:150"},"nodeType":"YulExpressionStatement","src":"10216:12:150"}]},"condition":{"arguments":[{"name":"offset_4","nodeType":"YulIdentifier","src":"10200:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10210:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10197:2:150"},"nodeType":"YulFunctionCall","src":"10197:16:150"},"nodeType":"YulIf","src":"10194:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10250:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"10257:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10246:3:150"},"nodeType":"YulFunctionCall","src":"10246:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10295:2:150"},{"name":"offset_4","nodeType":"YulIdentifier","src":"10299:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10291:3:150"},"nodeType":"YulFunctionCall","src":"10291:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10310:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"10262:28:150"},"nodeType":"YulFunctionCall","src":"10262:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10239:6:150"},"nodeType":"YulFunctionCall","src":"10239:80:150"},"nodeType":"YulExpressionStatement","src":"10239:80:150"},{"nodeType":"YulVariableDeclaration","src":"10328:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10338:3:150","type":"","value":"320"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"10332:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10361:5:150"},{"name":"_5","nodeType":"YulIdentifier","src":"10368:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10357:3:150"},"nodeType":"YulFunctionCall","src":"10357:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10396:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"10400:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10392:3:150"},"nodeType":"YulFunctionCall","src":"10392:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10373:18:150"},"nodeType":"YulFunctionCall","src":"10373:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10350:6:150"},"nodeType":"YulFunctionCall","src":"10350:55:150"},"nodeType":"YulExpressionStatement","src":"10350:55:150"},{"nodeType":"YulVariableDeclaration","src":"10414:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10424:3:150","type":"","value":"352"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"10418:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10447:5:150"},{"name":"_6","nodeType":"YulIdentifier","src":"10454:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10443:3:150"},"nodeType":"YulFunctionCall","src":"10443:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10482:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"10486:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10478:3:150"},"nodeType":"YulFunctionCall","src":"10478:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"10459:18:150"},"nodeType":"YulFunctionCall","src":"10459:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10436:6:150"},"nodeType":"YulFunctionCall","src":"10436:55:150"},"nodeType":"YulExpressionStatement","src":"10436:55:150"},{"nodeType":"YulAssignment","src":"10500:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10510:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10500:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_InitializationData_$38937_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8842:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8853:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8865:6:150","type":""}],"src":"8769:1752:150"},{"body":{"nodeType":"YulBlock","src":"10586:330:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10603:3:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10614:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10608:5:150"},"nodeType":"YulFunctionCall","src":"10608:12:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10596:6:150"},"nodeType":"YulFunctionCall","src":"10596:25:150"},"nodeType":"YulExpressionStatement","src":"10596:25:150"},{"nodeType":"YulVariableDeclaration","src":"10630:43:150","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10660:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10667:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10656:3:150"},"nodeType":"YulFunctionCall","src":"10656:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10650:5:150"},"nodeType":"YulFunctionCall","src":"10650:23:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10634:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10693:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10698:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10689:3:150"},"nodeType":"YulFunctionCall","src":"10689:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"10705:4:150","type":"","value":"0x80"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10682:6:150"},"nodeType":"YulFunctionCall","src":"10682:28:150"},"nodeType":"YulExpressionStatement","src":"10682:28:150"},{"nodeType":"YulVariableDeclaration","src":"10719:59:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10749:12:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10767:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10772:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10763:3:150"},"nodeType":"YulFunctionCall","src":"10763:14:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"10731:17:150"},"nodeType":"YulFunctionCall","src":"10731:47:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"10723:4:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10798:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10803:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10794:3:150"},"nodeType":"YulFunctionCall","src":"10794:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10820:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10827:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10816:3:150"},"nodeType":"YulFunctionCall","src":"10816:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10810:5:150"},"nodeType":"YulFunctionCall","src":"10810:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10787:6:150"},"nodeType":"YulFunctionCall","src":"10787:47:150"},"nodeType":"YulExpressionStatement","src":"10787:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10854:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"10859:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10850:3:150"},"nodeType":"YulFunctionCall","src":"10850:14:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10876:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10883:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10872:3:150"},"nodeType":"YulFunctionCall","src":"10872:16:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10866:5:150"},"nodeType":"YulFunctionCall","src":"10866:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10843:6:150"},"nodeType":"YulFunctionCall","src":"10843:47:150"},"nodeType":"YulExpressionStatement","src":"10843:47:150"},{"nodeType":"YulAssignment","src":"10899:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"10906:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10899:3:150"}]}]},"name":"abi_encode_struct_TokenInfo","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10563:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10570:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10578:3:150","type":""}],"src":"10526:390:150"},{"body":{"nodeType":"YulBlock","src":"11078:109:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11095:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11106:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11088:6:150"},"nodeType":"YulFunctionCall","src":"11088:21:150"},"nodeType":"YulExpressionStatement","src":"11088:21:150"},{"nodeType":"YulAssignment","src":"11118:63:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11154:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11177:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11162:3:150"},"nodeType":"YulFunctionCall","src":"11162:18:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"11126:27:150"},"nodeType":"YulFunctionCall","src":"11126:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11118:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_TokenInfo_$40626_memory_ptr__to_t_struct$_TokenInfo_$40626_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11047:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11058:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11069:4:150","type":""}],"src":"10921:266:150"},{"body":{"nodeType":"YulBlock","src":"11316:102:150","statements":[{"nodeType":"YulAssignment","src":"11326:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11338:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11349:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11334:3:150"},"nodeType":"YulFunctionCall","src":"11334:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11326:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11368:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11383:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11399:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11404:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11395:3:150"},"nodeType":"YulFunctionCall","src":"11395:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11408:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11391:3:150"},"nodeType":"YulFunctionCall","src":"11391:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11379:3:150"},"nodeType":"YulFunctionCall","src":"11379:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11361:6:150"},"nodeType":"YulFunctionCall","src":"11361:51:150"},"nodeType":"YulExpressionStatement","src":"11361:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11285:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11296:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11307:4:150","type":""}],"src":"11192:226:150"},{"body":{"nodeType":"YulBlock","src":"11527:279:150","statements":[{"body":{"nodeType":"YulBlock","src":"11573:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11582:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11585:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11575:6:150"},"nodeType":"YulFunctionCall","src":"11575:12:150"},"nodeType":"YulExpressionStatement","src":"11575:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11548:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11557:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11544:3:150"},"nodeType":"YulFunctionCall","src":"11544:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11569:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11540:3:150"},"nodeType":"YulFunctionCall","src":"11540:32:150"},"nodeType":"YulIf","src":"11537:52:150"},{"nodeType":"YulVariableDeclaration","src":"11598:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11624:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11611:12:150"},"nodeType":"YulFunctionCall","src":"11611:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11602:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11668:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11643:24:150"},"nodeType":"YulFunctionCall","src":"11643:31:150"},"nodeType":"YulExpressionStatement","src":"11643:31:150"},{"nodeType":"YulAssignment","src":"11683:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11693:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11683:6:150"}]},{"nodeType":"YulAssignment","src":"11707:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11734:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11745:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11730:3:150"},"nodeType":"YulFunctionCall","src":"11730:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11717:12:150"},"nodeType":"YulFunctionCall","src":"11717:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11707:6:150"}]},{"nodeType":"YulAssignment","src":"11758:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11785:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11796:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11781:3:150"},"nodeType":"YulFunctionCall","src":"11781:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11768:12:150"},"nodeType":"YulFunctionCall","src":"11768:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11758:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11477:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11488:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11500:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11508:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11516:6:150","type":""}],"src":"11423:383:150"},{"body":{"nodeType":"YulBlock","src":"12018:642:150","statements":[{"nodeType":"YulVariableDeclaration","src":"12028:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"12038:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"12032:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12049:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12067:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12078:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12063:3:150"},"nodeType":"YulFunctionCall","src":"12063:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"12053:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12097:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12108:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12090:6:150"},"nodeType":"YulFunctionCall","src":"12090:21:150"},"nodeType":"YulExpressionStatement","src":"12090:21:150"},{"nodeType":"YulVariableDeclaration","src":"12120:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"12131:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"12124:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12146:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12166:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12160:5:150"},"nodeType":"YulFunctionCall","src":"12160:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12150:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"12189:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"12197:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12182:6:150"},"nodeType":"YulFunctionCall","src":"12182:22:150"},"nodeType":"YulExpressionStatement","src":"12182:22:150"},{"nodeType":"YulAssignment","src":"12213:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12224:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12235:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12220:3:150"},"nodeType":"YulFunctionCall","src":"12220:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12213:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"12247:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12269:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12284:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"12287:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12280:3:150"},"nodeType":"YulFunctionCall","src":"12280:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12265:3:150"},"nodeType":"YulFunctionCall","src":"12265:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"12297:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12261:3:150"},"nodeType":"YulFunctionCall","src":"12261:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"12251:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12309:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12327:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12335:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12323:3:150"},"nodeType":"YulFunctionCall","src":"12323:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"12313:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12347:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"12356:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"12351:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12415:216:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12436:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"12449:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12457:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12445:3:150"},"nodeType":"YulFunctionCall","src":"12445:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12473:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12469:3:150"},"nodeType":"YulFunctionCall","src":"12469:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12441:3:150"},"nodeType":"YulFunctionCall","src":"12441:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12429:6:150"},"nodeType":"YulFunctionCall","src":"12429:49:150"},"nodeType":"YulExpressionStatement","src":"12429:49:150"},{"nodeType":"YulAssignment","src":"12491:60:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12535:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12529:5:150"},"nodeType":"YulFunctionCall","src":"12529:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"12544:6:150"}],"functionName":{"name":"abi_encode_struct_TokenInfo","nodeType":"YulIdentifier","src":"12501:27:150"},"nodeType":"YulFunctionCall","src":"12501:50:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"12491:6:150"}]},{"nodeType":"YulAssignment","src":"12564:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12578:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12586:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12574:3:150"},"nodeType":"YulFunctionCall","src":"12574:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"12564:6:150"}]},{"nodeType":"YulAssignment","src":"12602:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12613:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12618:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12609:3:150"},"nodeType":"YulFunctionCall","src":"12609:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12602:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12377:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"12380:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12374:2:150"},"nodeType":"YulFunctionCall","src":"12374:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"12388:18:150","statements":[{"nodeType":"YulAssignment","src":"12390:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12399:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"12402:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12395:3:150"},"nodeType":"YulFunctionCall","src":"12395:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"12390:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"12370:3:150","statements":[]},"src":"12366:265:150"},{"nodeType":"YulAssignment","src":"12640:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"12648:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12640:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11987:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11998:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12009:4:150","type":""}],"src":"11811:849:150"},{"body":{"nodeType":"YulBlock","src":"12764:97:150","statements":[{"nodeType":"YulAssignment","src":"12774:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12786:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12797:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12782:3:150"},"nodeType":"YulFunctionCall","src":"12782:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12774:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12816:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12831:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12839:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12827:3:150"},"nodeType":"YulFunctionCall","src":"12827:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12809:6:150"},"nodeType":"YulFunctionCall","src":"12809:46:150"},"nodeType":"YulExpressionStatement","src":"12809:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12733:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12744:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12755:4:150","type":""}],"src":"12665:196:150"},{"body":{"nodeType":"YulBlock","src":"12950:298:150","statements":[{"body":{"nodeType":"YulBlock","src":"12996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12998:6:150"},"nodeType":"YulFunctionCall","src":"12998:12:150"},"nodeType":"YulExpressionStatement","src":"12998:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12971:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12980:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12967:3:150"},"nodeType":"YulFunctionCall","src":"12967:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12992:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12963:3:150"},"nodeType":"YulFunctionCall","src":"12963:32:150"},"nodeType":"YulIf","src":"12960:52:150"},{"nodeType":"YulVariableDeclaration","src":"13021:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13047:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13034:12:150"},"nodeType":"YulFunctionCall","src":"13034:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13025:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13091:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13066:24:150"},"nodeType":"YulFunctionCall","src":"13066:31:150"},"nodeType":"YulExpressionStatement","src":"13066:31:150"},{"nodeType":"YulAssignment","src":"13106:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13116:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13106:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13130:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13162:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13173:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13158:3:150"},"nodeType":"YulFunctionCall","src":"13158:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13145:12:150"},"nodeType":"YulFunctionCall","src":"13145:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13134:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13208:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"13186:21:150"},"nodeType":"YulFunctionCall","src":"13186:30:150"},"nodeType":"YulExpressionStatement","src":"13186:30:150"},{"nodeType":"YulAssignment","src":"13225:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"13235:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13225:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12908:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12919:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12931:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12939:6:150","type":""}],"src":"12866:382:150"},{"body":{"nodeType":"YulBlock","src":"13348:253:150","statements":[{"body":{"nodeType":"YulBlock","src":"13394:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13403:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13406:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13396:6:150"},"nodeType":"YulFunctionCall","src":"13396:12:150"},"nodeType":"YulExpressionStatement","src":"13396:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13369:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13378:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13365:3:150"},"nodeType":"YulFunctionCall","src":"13365:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13390:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13361:3:150"},"nodeType":"YulFunctionCall","src":"13361:32:150"},"nodeType":"YulIf","src":"13358:52:150"},{"nodeType":"YulVariableDeclaration","src":"13419:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13446:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13433:12:150"},"nodeType":"YulFunctionCall","src":"13433:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13423:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"13499:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13508:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13511:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13501:6:150"},"nodeType":"YulFunctionCall","src":"13501:12:150"},"nodeType":"YulExpressionStatement","src":"13501:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13471:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13487:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"13491:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13483:3:150"},"nodeType":"YulFunctionCall","src":"13483:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"13495:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13479:3:150"},"nodeType":"YulFunctionCall","src":"13479:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13468:2:150"},"nodeType":"YulFunctionCall","src":"13468:30:150"},"nodeType":"YulIf","src":"13465:50:150"},{"nodeType":"YulAssignment","src":"13524:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13567:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"13578:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13563:3:150"},"nodeType":"YulFunctionCall","src":"13563:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13587:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"13534:28:150"},"nodeType":"YulFunctionCall","src":"13534:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13524:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13314:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13325:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13337:6:150","type":""}],"src":"13253:348:150"},{"body":{"nodeType":"YulBlock","src":"13736:535:150","statements":[{"body":{"nodeType":"YulBlock","src":"13783:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13792:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13795:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13785:6:150"},"nodeType":"YulFunctionCall","src":"13785:12:150"},"nodeType":"YulExpressionStatement","src":"13785:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13757:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13766:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13753:3:150"},"nodeType":"YulFunctionCall","src":"13753:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13778:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13749:3:150"},"nodeType":"YulFunctionCall","src":"13749:33:150"},"nodeType":"YulIf","src":"13746:53:150"},{"nodeType":"YulVariableDeclaration","src":"13808:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13834:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13821:12:150"},"nodeType":"YulFunctionCall","src":"13821:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13812:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13878:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13853:24:150"},"nodeType":"YulFunctionCall","src":"13853:31:150"},"nodeType":"YulExpressionStatement","src":"13853:31:150"},{"nodeType":"YulAssignment","src":"13893:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13903:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13893:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13917:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13949:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13960:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13945:3:150"},"nodeType":"YulFunctionCall","src":"13945:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13932:12:150"},"nodeType":"YulFunctionCall","src":"13932:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13921:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13998:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13973:24:150"},"nodeType":"YulFunctionCall","src":"13973:33:150"},"nodeType":"YulExpressionStatement","src":"13973:33:150"},{"nodeType":"YulAssignment","src":"14015:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"14025:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14015:6:150"}]},{"nodeType":"YulAssignment","src":"14041:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14068:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14079:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14064:3:150"},"nodeType":"YulFunctionCall","src":"14064:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14051:12:150"},"nodeType":"YulFunctionCall","src":"14051:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"14041:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14092:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14123:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14134:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14119:3:150"},"nodeType":"YulFunctionCall","src":"14119:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14106:12:150"},"nodeType":"YulFunctionCall","src":"14106:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14096:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14181:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14190:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14193:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14183:6:150"},"nodeType":"YulFunctionCall","src":"14183:12:150"},"nodeType":"YulExpressionStatement","src":"14183:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14153:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14169:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14173:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14165:3:150"},"nodeType":"YulFunctionCall","src":"14165:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14177:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14161:3:150"},"nodeType":"YulFunctionCall","src":"14161:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14150:2:150"},"nodeType":"YulFunctionCall","src":"14150:30:150"},"nodeType":"YulIf","src":"14147:50:150"},{"nodeType":"YulAssignment","src":"14206:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14237:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"14248:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14233:3:150"},"nodeType":"YulFunctionCall","src":"14233:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"14257:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"14216:16:150"},"nodeType":"YulFunctionCall","src":"14216:49:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"14206:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13678:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13689:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13701:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13709:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13717:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13725:6:150","type":""}],"src":"13606:665:150"},{"body":{"nodeType":"YulBlock","src":"14422:620:150","statements":[{"body":{"nodeType":"YulBlock","src":"14469:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14478:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14481:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14471:6:150"},"nodeType":"YulFunctionCall","src":"14471:12:150"},"nodeType":"YulExpressionStatement","src":"14471:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14443:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14452:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14439:3:150"},"nodeType":"YulFunctionCall","src":"14439:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14464:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14435:3:150"},"nodeType":"YulFunctionCall","src":"14435:33:150"},"nodeType":"YulIf","src":"14432:53:150"},{"nodeType":"YulVariableDeclaration","src":"14494:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14520:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14507:12:150"},"nodeType":"YulFunctionCall","src":"14507:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14498:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14564:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14539:24:150"},"nodeType":"YulFunctionCall","src":"14539:31:150"},"nodeType":"YulExpressionStatement","src":"14539:31:150"},{"nodeType":"YulAssignment","src":"14579:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14589:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14579:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14603:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14635:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14646:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14631:3:150"},"nodeType":"YulFunctionCall","src":"14631:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14618:12:150"},"nodeType":"YulFunctionCall","src":"14618:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"14607:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"14684:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14659:24:150"},"nodeType":"YulFunctionCall","src":"14659:33:150"},"nodeType":"YulExpressionStatement","src":"14659:33:150"},{"nodeType":"YulAssignment","src":"14701:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"14711:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14701:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14727:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14770:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14755:3:150"},"nodeType":"YulFunctionCall","src":"14755:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14742:12:150"},"nodeType":"YulFunctionCall","src":"14742:32:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"14731:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"14808:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14783:24:150"},"nodeType":"YulFunctionCall","src":"14783:33:150"},"nodeType":"YulExpressionStatement","src":"14783:33:150"},{"nodeType":"YulAssignment","src":"14825:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"14835:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"14825:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14851:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14893:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14878:3:150"},"nodeType":"YulFunctionCall","src":"14878:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14865:12:150"},"nodeType":"YulFunctionCall","src":"14865:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14855:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14940:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14949:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14952:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14942:6:150"},"nodeType":"YulFunctionCall","src":"14942:12:150"},"nodeType":"YulExpressionStatement","src":"14942:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14912:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14928:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14932:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14924:3:150"},"nodeType":"YulFunctionCall","src":"14924:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14936:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14920:3:150"},"nodeType":"YulFunctionCall","src":"14920:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14909:2:150"},"nodeType":"YulFunctionCall","src":"14909:30:150"},"nodeType":"YulIf","src":"14906:50:150"},{"nodeType":"YulAssignment","src":"14965:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15008:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"15019:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15004:3:150"},"nodeType":"YulFunctionCall","src":"15004:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15028:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"14975:28:150"},"nodeType":"YulFunctionCall","src":"14975:61:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"14965:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14364:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14375:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14387:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14395:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"14403:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"14411:6:150","type":""}],"src":"14276:766:150"},{"body":{"nodeType":"YulBlock","src":"15115:175:150","statements":[{"body":{"nodeType":"YulBlock","src":"15161:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15170:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15173:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15163:6:150"},"nodeType":"YulFunctionCall","src":"15163:12:150"},"nodeType":"YulExpressionStatement","src":"15163:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15136:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15145:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15132:3:150"},"nodeType":"YulFunctionCall","src":"15132:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15157:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15128:3:150"},"nodeType":"YulFunctionCall","src":"15128:32:150"},"nodeType":"YulIf","src":"15125:52:150"},{"nodeType":"YulVariableDeclaration","src":"15186:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15212:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15199:12:150"},"nodeType":"YulFunctionCall","src":"15199:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15190:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15254:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"15231:22:150"},"nodeType":"YulFunctionCall","src":"15231:29:150"},"nodeType":"YulExpressionStatement","src":"15231:29:150"},{"nodeType":"YulAssignment","src":"15269:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15279:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15269:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15081:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15092:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15104:6:150","type":""}],"src":"15047:243:150"},{"body":{"nodeType":"YulBlock","src":"15382:301:150","statements":[{"body":{"nodeType":"YulBlock","src":"15428:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15437:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15440:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15430:6:150"},"nodeType":"YulFunctionCall","src":"15430:12:150"},"nodeType":"YulExpressionStatement","src":"15430:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15403:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15412:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15399:3:150"},"nodeType":"YulFunctionCall","src":"15399:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15424:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15395:3:150"},"nodeType":"YulFunctionCall","src":"15395:32:150"},"nodeType":"YulIf","src":"15392:52:150"},{"nodeType":"YulVariableDeclaration","src":"15453:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15479:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15466:12:150"},"nodeType":"YulFunctionCall","src":"15466:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15457:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15523:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15498:24:150"},"nodeType":"YulFunctionCall","src":"15498:31:150"},"nodeType":"YulExpressionStatement","src":"15498:31:150"},{"nodeType":"YulAssignment","src":"15538:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15548:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15538:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"15562:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15594:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15605:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15590:3:150"},"nodeType":"YulFunctionCall","src":"15590:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15577:12:150"},"nodeType":"YulFunctionCall","src":"15577:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"15566:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15643:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15618:24:150"},"nodeType":"YulFunctionCall","src":"15618:33:150"},"nodeType":"YulExpressionStatement","src":"15618:33:150"},{"nodeType":"YulAssignment","src":"15660:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"15670:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15660:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15340:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15351:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15363:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15371:6:150","type":""}],"src":"15295:388:150"},{"body":{"nodeType":"YulBlock","src":"15862:177:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15879:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15890:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15872:6:150"},"nodeType":"YulFunctionCall","src":"15872:21:150"},"nodeType":"YulExpressionStatement","src":"15872:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15913:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15924:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15909:3:150"},"nodeType":"YulFunctionCall","src":"15909:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15929:2:150","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15902:6:150"},"nodeType":"YulFunctionCall","src":"15902:30:150"},"nodeType":"YulExpressionStatement","src":"15902:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15963:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15948:3:150"},"nodeType":"YulFunctionCall","src":"15948:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206c6576656c","kind":"string","nodeType":"YulLiteral","src":"15968:29:150","type":"","value":"GalaxyMember: invalid level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15941:6:150"},"nodeType":"YulFunctionCall","src":"15941:57:150"},"nodeType":"YulExpressionStatement","src":"15941:57:150"},{"nodeType":"YulAssignment","src":"16007:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16019:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16030:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16015:3:150"},"nodeType":"YulFunctionCall","src":"16015:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16007:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15839:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15853:4:150","type":""}],"src":"15688:351:150"},{"body":{"nodeType":"YulBlock","src":"16218:182:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16235:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16246:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16228:6:150"},"nodeType":"YulFunctionCall","src":"16228:21:150"},"nodeType":"YulExpressionStatement","src":"16228:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16280:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16265:3:150"},"nodeType":"YulFunctionCall","src":"16265:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16285:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16258:6:150"},"nodeType":"YulFunctionCall","src":"16258:30:150"},"nodeType":"YulExpressionStatement","src":"16258:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16308:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16319:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16304:3:150"},"nodeType":"YulFunctionCall","src":"16304:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c","kind":"string","nodeType":"YulLiteral","src":"16324:34:150","type":"","value":"GalaxyMember: invalid node level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16297:6:150"},"nodeType":"YulFunctionCall","src":"16297:62:150"},"nodeType":"YulExpressionStatement","src":"16297:62:150"},{"nodeType":"YulAssignment","src":"16368:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16380:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16391:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16376:3:150"},"nodeType":"YulFunctionCall","src":"16376:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16368:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16195:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16209:4:150","type":""}],"src":"16044:356:150"},{"body":{"nodeType":"YulBlock","src":"16579:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16596:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16607:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16589:6:150"},"nodeType":"YulFunctionCall","src":"16589:21:150"},"nodeType":"YulExpressionStatement","src":"16589:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16630:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16641:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16626:3:150"},"nodeType":"YulFunctionCall","src":"16626:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"16646:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16619:6:150"},"nodeType":"YulFunctionCall","src":"16619:30:150"},"nodeType":"YulExpressionStatement","src":"16619:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16669:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16680:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16665:3:150"},"nodeType":"YulFunctionCall","src":"16665:18:150"},{"hexValue":"47616c6178794d656d6265723a206c6576656c206d757374206265206c657373","kind":"string","nodeType":"YulLiteral","src":"16685:34:150","type":"","value":"GalaxyMember: level must be less"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16658:6:150"},"nodeType":"YulFunctionCall","src":"16658:62:150"},"nodeType":"YulExpressionStatement","src":"16658:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16740:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16751:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16736:3:150"},"nodeType":"YulFunctionCall","src":"16736:18:150"},{"hexValue":"207468616e206f7220657175616c20746f204d41585f4c4556454c","kind":"string","nodeType":"YulLiteral","src":"16756:29:150","type":"","value":" than or equal to MAX_LEVEL"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16729:6:150"},"nodeType":"YulFunctionCall","src":"16729:57:150"},"nodeType":"YulExpressionStatement","src":"16729:57:150"},{"nodeType":"YulAssignment","src":"16795:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16807:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16818:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16803:3:150"},"nodeType":"YulFunctionCall","src":"16803:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16795:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16556:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16570:4:150","type":""}],"src":"16405:423:150"},{"body":{"nodeType":"YulBlock","src":"16888:325:150","statements":[{"nodeType":"YulAssignment","src":"16898:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16912:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"16915:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"16908:3:150"},"nodeType":"YulFunctionCall","src":"16908:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"16898:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"16929:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"16959:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"16965:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16955:3:150"},"nodeType":"YulFunctionCall","src":"16955:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"16933:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17006:31:150","statements":[{"nodeType":"YulAssignment","src":"17008:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17022:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17030:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17018:3:150"},"nodeType":"YulFunctionCall","src":"17018:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"17008:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"16986:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16979:6:150"},"nodeType":"YulFunctionCall","src":"16979:26:150"},"nodeType":"YulIf","src":"16976:61:150"},{"body":{"nodeType":"YulBlock","src":"17096:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17117:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17124:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17129:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17120:3:150"},"nodeType":"YulFunctionCall","src":"17120:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17110:6:150"},"nodeType":"YulFunctionCall","src":"17110:31:150"},"nodeType":"YulExpressionStatement","src":"17110:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17161:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17164:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17154:6:150"},"nodeType":"YulFunctionCall","src":"17154:15:150"},"nodeType":"YulExpressionStatement","src":"17154:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17189:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17192:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17182:6:150"},"nodeType":"YulFunctionCall","src":"17182:15:150"},"nodeType":"YulExpressionStatement","src":"17182:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"17052:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17075:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17083:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17072:2:150"},"nodeType":"YulFunctionCall","src":"17072:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17049:2:150"},"nodeType":"YulFunctionCall","src":"17049:38:150"},"nodeType":"YulIf","src":"17046:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"16868:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"16877:6:150","type":""}],"src":"16833:380:150"},{"body":{"nodeType":"YulBlock","src":"17375:218:150","statements":[{"nodeType":"YulAssignment","src":"17385:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17397:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17408:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17393:3:150"},"nodeType":"YulFunctionCall","src":"17393:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17385:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"17420:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17438:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17443:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17434:3:150"},"nodeType":"YulFunctionCall","src":"17434:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17447:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17430:3:150"},"nodeType":"YulFunctionCall","src":"17430:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17424:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17465:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17480:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17488:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17476:3:150"},"nodeType":"YulFunctionCall","src":"17476:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17458:6:150"},"nodeType":"YulFunctionCall","src":"17458:34:150"},"nodeType":"YulExpressionStatement","src":"17458:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17512:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17523:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17508:3:150"},"nodeType":"YulFunctionCall","src":"17508:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17528:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17501:6:150"},"nodeType":"YulFunctionCall","src":"17501:34:150"},"nodeType":"YulExpressionStatement","src":"17501:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17555:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17566:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17551:3:150"},"nodeType":"YulFunctionCall","src":"17551:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17575:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17583:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17571:3:150"},"nodeType":"YulFunctionCall","src":"17571:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17544:6:150"},"nodeType":"YulFunctionCall","src":"17544:43:150"},"nodeType":"YulExpressionStatement","src":"17544:43:150"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17328:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17339:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17347:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17355:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17366:4:150","type":""}],"src":"17218:375:150"},{"body":{"nodeType":"YulBlock","src":"17727:145:150","statements":[{"nodeType":"YulAssignment","src":"17737:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17749:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17760:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17745:3:150"},"nodeType":"YulFunctionCall","src":"17745:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17737:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17779:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17794:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17810:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17815:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17806:3:150"},"nodeType":"YulFunctionCall","src":"17806:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17819:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17802:3:150"},"nodeType":"YulFunctionCall","src":"17802:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17790:3:150"},"nodeType":"YulFunctionCall","src":"17790:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17772:6:150"},"nodeType":"YulFunctionCall","src":"17772:51:150"},"nodeType":"YulExpressionStatement","src":"17772:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17843:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17854:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17839:3:150"},"nodeType":"YulFunctionCall","src":"17839:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17859:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17832:6:150"},"nodeType":"YulFunctionCall","src":"17832:34:150"},"nodeType":"YulExpressionStatement","src":"17832:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17688:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17699:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17707:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17718:4:150","type":""}],"src":"17598:274:150"},{"body":{"nodeType":"YulBlock","src":"18051:297:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18068:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18079:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18061:6:150"},"nodeType":"YulFunctionCall","src":"18061:21:150"},"nodeType":"YulExpressionStatement","src":"18061:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18102:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18113:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18098:3:150"},"nodeType":"YulFunctionCall","src":"18098:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18118:2:150","type":"","value":"67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18091:6:150"},"nodeType":"YulFunctionCall","src":"18091:30:150"},"nodeType":"YulExpressionStatement","src":"18091:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18141:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18152:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18137:3:150"},"nodeType":"YulFunctionCall","src":"18137:18:150"},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d757374206265","kind":"string","nodeType":"YulLiteral","src":"18157:34:150","type":"","value":"Galaxy Member: Max level must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18130:6:150"},"nodeType":"YulFunctionCall","src":"18130:62:150"},"nodeType":"YulExpressionStatement","src":"18130:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18212:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18223:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18208:3:150"},"nodeType":"YulFunctionCall","src":"18208:18:150"},{"hexValue":"2067726561746572207468616e207468652063757272656e74206d6178206c65","kind":"string","nodeType":"YulLiteral","src":"18228:34:150","type":"","value":" greater than the current max le"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18201:6:150"},"nodeType":"YulFunctionCall","src":"18201:62:150"},"nodeType":"YulExpressionStatement","src":"18201:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18283:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18294:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18279:3:150"},"nodeType":"YulFunctionCall","src":"18279:19:150"},{"hexValue":"76656c","kind":"string","nodeType":"YulLiteral","src":"18300:5:150","type":"","value":"vel"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18272:6:150"},"nodeType":"YulFunctionCall","src":"18272:34:150"},"nodeType":"YulExpressionStatement","src":"18272:34:150"},{"nodeType":"YulAssignment","src":"18315:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18327:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18338:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18323:3:150"},"nodeType":"YulFunctionCall","src":"18323:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18315:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18028:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18042:4:150","type":""}],"src":"17877:471:150"},{"body":{"nodeType":"YulBlock","src":"18527:296:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18555:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18537:6:150"},"nodeType":"YulFunctionCall","src":"18537:21:150"},"nodeType":"YulExpressionStatement","src":"18537:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18578:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18589:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18574:3:150"},"nodeType":"YulFunctionCall","src":"18574:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18594:2:150","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18567:6:150"},"nodeType":"YulFunctionCall","src":"18567:30:150"},"nodeType":"YulExpressionStatement","src":"18567:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18617:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18628:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18613:3:150"},"nodeType":"YulFunctionCall","src":"18613:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"18633:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18606:6:150"},"nodeType":"YulFunctionCall","src":"18606:62:150"},"nodeType":"YulExpressionStatement","src":"18606:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18688:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18699:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18684:3:150"},"nodeType":"YulFunctionCall","src":"18684:18:150"},{"hexValue":"7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b","kind":"string","nodeType":"YulLiteral","src":"18704:34:150","type":"","value":"ust be set for all levels unlock"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18677:6:150"},"nodeType":"YulFunctionCall","src":"18677:62:150"},"nodeType":"YulExpressionStatement","src":"18677:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18770:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18755:3:150"},"nodeType":"YulFunctionCall","src":"18755:19:150"},{"hexValue":"6564","kind":"string","nodeType":"YulLiteral","src":"18776:4:150","type":"","value":"ed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18748:6:150"},"nodeType":"YulFunctionCall","src":"18748:33:150"},"nodeType":"YulExpressionStatement","src":"18748:33:150"},{"nodeType":"YulAssignment","src":"18790:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18802:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18813:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18798:3:150"},"nodeType":"YulFunctionCall","src":"18798:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18790:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18504:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18518:4:150","type":""}],"src":"18353:470:150"},{"body":{"nodeType":"YulBlock","src":"18860:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18877:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18884:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"18889:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18880:3:150"},"nodeType":"YulFunctionCall","src":"18880:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18870:6:150"},"nodeType":"YulFunctionCall","src":"18870:31:150"},"nodeType":"YulExpressionStatement","src":"18870:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18917:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18920:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18910:6:150"},"nodeType":"YulFunctionCall","src":"18910:15:150"},"nodeType":"YulExpressionStatement","src":"18910:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18941:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18944:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18934:6:150"},"nodeType":"YulFunctionCall","src":"18934:15:150"},"nodeType":"YulExpressionStatement","src":"18934:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"18828:127:150"},{"body":{"nodeType":"YulBlock","src":"19007:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"19038:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19040:16:150"},"nodeType":"YulFunctionCall","src":"19040:18:150"},"nodeType":"YulExpressionStatement","src":"19040:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19023:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19034:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"19030:3:150"},"nodeType":"YulFunctionCall","src":"19030:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19020:2:150"},"nodeType":"YulFunctionCall","src":"19020:17:150"},"nodeType":"YulIf","src":"19017:43:150"},{"nodeType":"YulAssignment","src":"19069:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19080:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"19087:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19076:3:150"},"nodeType":"YulFunctionCall","src":"19076:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"19069:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18989:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18999:3:150","type":""}],"src":"18960:135:150"},{"body":{"nodeType":"YulBlock","src":"19229:119:150","statements":[{"nodeType":"YulAssignment","src":"19239:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19251:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19262:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19247:3:150"},"nodeType":"YulFunctionCall","src":"19247:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19239:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19281:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"19292:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19274:6:150"},"nodeType":"YulFunctionCall","src":"19274:25:150"},"nodeType":"YulExpressionStatement","src":"19274:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19319:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19330:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19315:3:150"},"nodeType":"YulFunctionCall","src":"19315:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"19335:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19308:6:150"},"nodeType":"YulFunctionCall","src":"19308:34:150"},"nodeType":"YulExpressionStatement","src":"19308:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19190:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19201:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19209:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19220:4:150","type":""}],"src":"19100:248:150"},{"body":{"nodeType":"YulBlock","src":"19527:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19555:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19537:6:150"},"nodeType":"YulFunctionCall","src":"19537:21:150"},"nodeType":"YulExpressionStatement","src":"19537:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19578:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19589:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19574:3:150"},"nodeType":"YulFunctionCall","src":"19574:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"19594:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19567:6:150"},"nodeType":"YulFunctionCall","src":"19567:30:150"},"nodeType":"YulExpressionStatement","src":"19567:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19617:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19628:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19613:3:150"},"nodeType":"YulFunctionCall","src":"19613:18:150"},{"hexValue":"47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f7665","kind":"string","nodeType":"YulLiteral","src":"19633:34:150","type":"","value":"Galaxy Member: _xAllocationsGove"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19606:6:150"},"nodeType":"YulFunctionCall","src":"19606:62:150"},"nodeType":"YulExpressionStatement","src":"19606:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19688:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19699:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19684:3:150"},"nodeType":"YulFunctionCall","src":"19684:18:150"},{"hexValue":"726e6f722063616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"19704:33:150","type":"","value":"rnor cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19677:6:150"},"nodeType":"YulFunctionCall","src":"19677:61:150"},"nodeType":"YulExpressionStatement","src":"19677:61:150"},{"nodeType":"YulAssignment","src":"19747:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19770:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19755:3:150"},"nodeType":"YulFunctionCall","src":"19755:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19747:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19504:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19518:4:150","type":""}],"src":"19353:427:150"},{"body":{"nodeType":"YulBlock","src":"19864:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"19910:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19919:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19922:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19912:6:150"},"nodeType":"YulFunctionCall","src":"19912:12:150"},"nodeType":"YulExpressionStatement","src":"19912:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19885:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19894:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19881:3:150"},"nodeType":"YulFunctionCall","src":"19881:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19906:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19877:3:150"},"nodeType":"YulFunctionCall","src":"19877:32:150"},"nodeType":"YulIf","src":"19874:52:150"},{"nodeType":"YulVariableDeclaration","src":"19935:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19954:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19948:5:150"},"nodeType":"YulFunctionCall","src":"19948:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"19939:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19996:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"19973:22:150"},"nodeType":"YulFunctionCall","src":"19973:29:150"},"nodeType":"YulExpressionStatement","src":"19973:29:150"},{"nodeType":"YulAssignment","src":"20011:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"20021:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20011:6:150"}]}]},"name":"abi_decode_tuple_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19830:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19841:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19853:6:150","type":""}],"src":"19785:247:150"},{"body":{"nodeType":"YulBlock","src":"20211:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20228:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20239:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20221:6:150"},"nodeType":"YulFunctionCall","src":"20221:21:150"},"nodeType":"YulExpressionStatement","src":"20221:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20262:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20273:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20258:3:150"},"nodeType":"YulFunctionCall","src":"20258:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"20278:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20251:6:150"},"nodeType":"YulFunctionCall","src":"20251:30:150"},"nodeType":"YulExpressionStatement","src":"20251:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20301:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20312:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20297:3:150"},"nodeType":"YulFunctionCall","src":"20297:18:150"},{"hexValue":"47616c617879204d656d6265723a2063616c6c6572206973206e6f7420746865","kind":"string","nodeType":"YulLiteral","src":"20317:34:150","type":"","value":"Galaxy Member: caller is not the"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20290:6:150"},"nodeType":"YulFunctionCall","src":"20290:62:150"},"nodeType":"YulExpressionStatement","src":"20290:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20372:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20383:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20368:3:150"},"nodeType":"YulFunctionCall","src":"20368:18:150"},{"hexValue":"206f776e6572206f662074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"20388:21:150","type":"","value":" owner of the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20361:6:150"},"nodeType":"YulFunctionCall","src":"20361:49:150"},"nodeType":"YulExpressionStatement","src":"20361:49:150"},{"nodeType":"YulAssignment","src":"20419:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20431:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20442:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20427:3:150"},"nodeType":"YulFunctionCall","src":"20427:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20419:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20188:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20202:4:150","type":""}],"src":"20037:415:150"},{"body":{"nodeType":"YulBlock","src":"20631:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20648:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20659:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20641:6:150"},"nodeType":"YulFunctionCall","src":"20641:21:150"},"nodeType":"YulExpressionStatement","src":"20641:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20682:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20693:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20678:3:150"},"nodeType":"YulFunctionCall","src":"20678:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"20698:2:150","type":"","value":"51"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20671:6:150"},"nodeType":"YulFunctionCall","src":"20671:30:150"},"nodeType":"YulExpressionStatement","src":"20671:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20721:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20732:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20717:3:150"},"nodeType":"YulFunctionCall","src":"20717:18:150"},{"hexValue":"47616c617879204d656d6265723a20796f75206d757374206f776e2074686520","kind":"string","nodeType":"YulLiteral","src":"20737:34:150","type":"","value":"Galaxy Member: you must own the "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20710:6:150"},"nodeType":"YulFunctionCall","src":"20710:62:150"},"nodeType":"YulExpressionStatement","src":"20710:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20792:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20803:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20788:3:150"},"nodeType":"YulFunctionCall","src":"20788:18:150"},{"hexValue":"546f6b656e20746f2075706772616465206974","kind":"string","nodeType":"YulLiteral","src":"20808:21:150","type":"","value":"Token to upgrade it"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20781:6:150"},"nodeType":"YulFunctionCall","src":"20781:49:150"},"nodeType":"YulExpressionStatement","src":"20781:49:150"},{"nodeType":"YulAssignment","src":"20839:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20851:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20862:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20847:3:150"},"nodeType":"YulFunctionCall","src":"20847:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20839:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20608:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20622:4:150","type":""}],"src":"20457:415:150"},{"body":{"nodeType":"YulBlock","src":"21051:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21068:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21079:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21061:6:150"},"nodeType":"YulFunctionCall","src":"21061:21:150"},"nodeType":"YulExpressionStatement","src":"21061:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21102:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21113:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21098:3:150"},"nodeType":"YulFunctionCall","src":"21098:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21118:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21091:6:150"},"nodeType":"YulFunctionCall","src":"21091:30:150"},"nodeType":"YulExpressionStatement","src":"21091:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21141:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21152:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21137:3:150"},"nodeType":"YulFunctionCall","src":"21137:18:150"},{"hexValue":"47616c617879204d656d6265723a20546f6b656e20697320616c726561647920","kind":"string","nodeType":"YulLiteral","src":"21157:34:150","type":"","value":"Galaxy Member: Token is already "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21130:6:150"},"nodeType":"YulFunctionCall","src":"21130:62:150"},"nodeType":"YulExpressionStatement","src":"21130:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21212:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21223:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21208:3:150"},"nodeType":"YulFunctionCall","src":"21208:18:150"},{"hexValue":"6174206d6178206c6576656c","kind":"string","nodeType":"YulLiteral","src":"21228:14:150","type":"","value":"at max level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21201:6:150"},"nodeType":"YulFunctionCall","src":"21201:42:150"},"nodeType":"YulExpressionStatement","src":"21201:42:150"},{"nodeType":"YulAssignment","src":"21252:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21264:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21275:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21260:3:150"},"nodeType":"YulFunctionCall","src":"21260:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21252:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21028:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21042:4:150","type":""}],"src":"20877:408:150"},{"body":{"nodeType":"YulBlock","src":"21371:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"21417:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21426:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21429:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21419:6:150"},"nodeType":"YulFunctionCall","src":"21419:12:150"},"nodeType":"YulExpressionStatement","src":"21419:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21392:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21401:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21388:3:150"},"nodeType":"YulFunctionCall","src":"21388:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21413:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21384:3:150"},"nodeType":"YulFunctionCall","src":"21384:32:150"},"nodeType":"YulIf","src":"21381:52:150"},{"nodeType":"YulAssignment","src":"21442:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21458:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21452:5:150"},"nodeType":"YulFunctionCall","src":"21452:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21442:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21337:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21348:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21360:6:150","type":""}],"src":"21290:184:150"},{"body":{"nodeType":"YulBlock","src":"21653:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21670:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21681:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21663:6:150"},"nodeType":"YulFunctionCall","src":"21663:21:150"},"nodeType":"YulExpressionStatement","src":"21663:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21704:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21715:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21700:3:150"},"nodeType":"YulFunctionCall","src":"21700:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21720:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21693:6:150"},"nodeType":"YulFunctionCall","src":"21693:30:150"},"nodeType":"YulExpressionStatement","src":"21693:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21743:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21754:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21739:3:150"},"nodeType":"YulFunctionCall","src":"21739:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e742062616c61","kind":"string","nodeType":"YulLiteral","src":"21759:34:150","type":"","value":"Galaxy Member: Insufficient bala"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21732:6:150"},"nodeType":"YulFunctionCall","src":"21732:62:150"},"nodeType":"YulExpressionStatement","src":"21732:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21814:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21825:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21810:3:150"},"nodeType":"YulFunctionCall","src":"21810:18:150"},{"hexValue":"6e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"21830:16:150","type":"","value":"nce to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21803:6:150"},"nodeType":"YulFunctionCall","src":"21803:44:150"},"nodeType":"YulExpressionStatement","src":"21803:44:150"},{"nodeType":"YulAssignment","src":"21856:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21868:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21879:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21864:3:150"},"nodeType":"YulFunctionCall","src":"21864:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21856:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21630:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21644:4:150","type":""}],"src":"21479:410:150"},{"body":{"nodeType":"YulBlock","src":"22023:175:150","statements":[{"nodeType":"YulAssignment","src":"22033:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22045:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22056:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22041:3:150"},"nodeType":"YulFunctionCall","src":"22041:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22033:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"22068:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22086:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22091:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22082:3:150"},"nodeType":"YulFunctionCall","src":"22082:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"22095:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22078:3:150"},"nodeType":"YulFunctionCall","src":"22078:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"22072:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22113:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22128:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22136:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22124:3:150"},"nodeType":"YulFunctionCall","src":"22124:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22106:6:150"},"nodeType":"YulFunctionCall","src":"22106:34:150"},"nodeType":"YulExpressionStatement","src":"22106:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22160:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22171:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22156:3:150"},"nodeType":"YulFunctionCall","src":"22156:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22180:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22188:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22176:3:150"},"nodeType":"YulFunctionCall","src":"22176:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22149:6:150"},"nodeType":"YulFunctionCall","src":"22149:43:150"},"nodeType":"YulExpressionStatement","src":"22149:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21984:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21995:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22003:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22014:4:150","type":""}],"src":"21894:304:150"},{"body":{"nodeType":"YulBlock","src":"22377:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22394:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22405:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22387:6:150"},"nodeType":"YulFunctionCall","src":"22387:21:150"},"nodeType":"YulExpressionStatement","src":"22387:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22428:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22439:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22424:3:150"},"nodeType":"YulFunctionCall","src":"22424:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"22444:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22417:6:150"},"nodeType":"YulFunctionCall","src":"22417:30:150"},"nodeType":"YulExpressionStatement","src":"22417:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22467:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22478:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22463:3:150"},"nodeType":"YulFunctionCall","src":"22463:18:150"},{"hexValue":"47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f","kind":"string","nodeType":"YulLiteral","src":"22483:34:150","type":"","value":"Galaxy Member: Insufficient allo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22456:6:150"},"nodeType":"YulFunctionCall","src":"22456:62:150"},"nodeType":"YulExpressionStatement","src":"22456:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22538:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22549:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22534:3:150"},"nodeType":"YulFunctionCall","src":"22534:18:150"},{"hexValue":"77616e636520746f2075706772616465","kind":"string","nodeType":"YulLiteral","src":"22554:18:150","type":"","value":"wance to upgrade"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22527:6:150"},"nodeType":"YulFunctionCall","src":"22527:46:150"},"nodeType":"YulExpressionStatement","src":"22527:46:150"},{"nodeType":"YulAssignment","src":"22582:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22594:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22605:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22590:3:150"},"nodeType":"YulFunctionCall","src":"22590:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22582:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22354:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22368:4:150","type":""}],"src":"22203:412:150"},{"body":{"nodeType":"YulBlock","src":"22668:77:150","statements":[{"nodeType":"YulAssignment","src":"22678:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22689:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"22692:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22685:3:150"},"nodeType":"YulFunctionCall","src":"22685:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"22678:3:150"}]},{"body":{"nodeType":"YulBlock","src":"22717:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22719:16:150"},"nodeType":"YulFunctionCall","src":"22719:18:150"},"nodeType":"YulExpressionStatement","src":"22719:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22709:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"22712:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22706:2:150"},"nodeType":"YulFunctionCall","src":"22706:10:150"},"nodeType":"YulIf","src":"22703:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22651:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"22654:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"22660:3:150","type":""}],"src":"22620:125:150"},{"body":{"nodeType":"YulBlock","src":"22907:218:150","statements":[{"nodeType":"YulAssignment","src":"22917:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22929:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22940:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22925:3:150"},"nodeType":"YulFunctionCall","src":"22925:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22917:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"22952:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22970:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22975:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22966:3:150"},"nodeType":"YulFunctionCall","src":"22966:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"22979:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22962:3:150"},"nodeType":"YulFunctionCall","src":"22962:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"22956:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22997:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23012:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23020:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23008:3:150"},"nodeType":"YulFunctionCall","src":"23008:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22990:6:150"},"nodeType":"YulFunctionCall","src":"22990:34:150"},"nodeType":"YulExpressionStatement","src":"22990:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23044:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23055:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23040:3:150"},"nodeType":"YulFunctionCall","src":"23040:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23064:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23072:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23060:3:150"},"nodeType":"YulFunctionCall","src":"23060:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23033:6:150"},"nodeType":"YulFunctionCall","src":"23033:43:150"},"nodeType":"YulExpressionStatement","src":"23033:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23096:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23107:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23092:3:150"},"nodeType":"YulFunctionCall","src":"23092:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"23112:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23085:6:150"},"nodeType":"YulFunctionCall","src":"23085:34:150"},"nodeType":"YulExpressionStatement","src":"23085:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22860:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"22871:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22879:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22887:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22898:4:150","type":""}],"src":"22750:375:150"},{"body":{"nodeType":"YulBlock","src":"23208:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"23254:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23263:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23266:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23256:6:150"},"nodeType":"YulFunctionCall","src":"23256:12:150"},"nodeType":"YulExpressionStatement","src":"23256:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23229:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23238:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23225:3:150"},"nodeType":"YulFunctionCall","src":"23225:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23250:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23221:3:150"},"nodeType":"YulFunctionCall","src":"23221:32:150"},"nodeType":"YulIf","src":"23218:52:150"},{"nodeType":"YulVariableDeclaration","src":"23279:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23298:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23292:5:150"},"nodeType":"YulFunctionCall","src":"23292:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"23283:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23339:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"23317:21:150"},"nodeType":"YulFunctionCall","src":"23317:28:150"},"nodeType":"YulExpressionStatement","src":"23317:28:150"},{"nodeType":"YulAssignment","src":"23354:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"23364:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23354:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23174:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23185:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23197:6:150","type":""}],"src":"23130:245:150"},{"body":{"nodeType":"YulBlock","src":"23554:179:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23571:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23582:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23564:6:150"},"nodeType":"YulFunctionCall","src":"23564:21:150"},"nodeType":"YulExpressionStatement","src":"23564:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23605:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23616:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23601:3:150"},"nodeType":"YulFunctionCall","src":"23601:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"23621:2:150","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23594:6:150"},"nodeType":"YulFunctionCall","src":"23594:30:150"},"nodeType":"YulExpressionStatement","src":"23594:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23644:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23655:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23640:3:150"},"nodeType":"YulFunctionCall","src":"23640:18:150"},{"hexValue":"47616c6178794d656d6265723a205472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"23660:31:150","type":"","value":"GalaxyMember: Transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23633:6:150"},"nodeType":"YulFunctionCall","src":"23633:59:150"},"nodeType":"YulExpressionStatement","src":"23633:59:150"},{"nodeType":"YulAssignment","src":"23701:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23713:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23724:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23709:3:150"},"nodeType":"YulFunctionCall","src":"23709:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23701:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23531:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23545:4:150","type":""}],"src":"23380:353:150"},{"body":{"nodeType":"YulBlock","src":"23819:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"23865:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23874:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23877:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23867:6:150"},"nodeType":"YulFunctionCall","src":"23867:12:150"},"nodeType":"YulExpressionStatement","src":"23867:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23840:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23849:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23836:3:150"},"nodeType":"YulFunctionCall","src":"23836:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23861:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23832:3:150"},"nodeType":"YulFunctionCall","src":"23832:32:150"},"nodeType":"YulIf","src":"23829:52:150"},{"nodeType":"YulVariableDeclaration","src":"23890:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23909:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23903:5:150"},"nodeType":"YulFunctionCall","src":"23903:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"23894:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23953:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"23928:24:150"},"nodeType":"YulFunctionCall","src":"23928:31:150"},"nodeType":"YulExpressionStatement","src":"23928:31:150"},{"nodeType":"YulAssignment","src":"23968:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"23978:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23968:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23785:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23796:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23808:6:150","type":""}],"src":"23738:251:150"},{"body":{"nodeType":"YulBlock","src":"24168:316:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24185:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24196:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24178:6:150"},"nodeType":"YulFunctionCall","src":"24178:21:150"},"nodeType":"YulExpressionStatement","src":"24178:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24219:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24230:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24215:3:150"},"nodeType":"YulFunctionCall","src":"24215:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24235:2:150","type":"","value":"86"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24208:6:150"},"nodeType":"YulFunctionCall","src":"24208:30:150"},"nodeType":"YulExpressionStatement","src":"24208:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24258:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24269:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24254:3:150"},"nodeType":"YulFunctionCall","src":"24254:18:150"},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f","kind":"string","nodeType":"YulLiteral","src":"24274:34:150","type":"","value":"GalaxyMember: vechain node not o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24247:6:150"},"nodeType":"YulFunctionCall","src":"24247:62:150"},"nodeType":"YulExpressionStatement","src":"24247:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24329:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24340:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24325:3:150"},"nodeType":"YulFunctionCall","src":"24325:18:150"},{"hexValue":"776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b","kind":"string","nodeType":"YulLiteral","src":"24345:34:150","type":"","value":"wned or managed by caller or tok"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24318:6:150"},"nodeType":"YulFunctionCall","src":"24318:62:150"},"nodeType":"YulExpressionStatement","src":"24318:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24400:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24411:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24396:3:150"},"nodeType":"YulFunctionCall","src":"24396:19:150"},{"hexValue":"656e206e6f74206f776e65642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"24417:24:150","type":"","value":"en not owned by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24389:6:150"},"nodeType":"YulFunctionCall","src":"24389:53:150"},"nodeType":"YulExpressionStatement","src":"24389:53:150"},{"nodeType":"YulAssignment","src":"24451:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24463:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24474:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24459:3:150"},"nodeType":"YulFunctionCall","src":"24459:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24451:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24145:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24159:4:150","type":""}],"src":"23994:490:150"},{"body":{"nodeType":"YulBlock","src":"24663:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24680:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24691:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24673:6:150"},"nodeType":"YulFunctionCall","src":"24673:21:150"},"nodeType":"YulExpressionStatement","src":"24673:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24714:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24725:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24710:3:150"},"nodeType":"YulFunctionCall","src":"24710:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24730:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24703:6:150"},"nodeType":"YulFunctionCall","src":"24703:30:150"},"nodeType":"YulExpressionStatement","src":"24703:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24753:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24764:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24749:3:150"},"nodeType":"YulFunctionCall","src":"24749:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f6465206e6f7420617474616368656420","kind":"string","nodeType":"YulLiteral","src":"24769:34:150","type":"","value":"GalaxyMember: node not attached "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24742:6:150"},"nodeType":"YulFunctionCall","src":"24742:62:150"},"nodeType":"YulExpressionStatement","src":"24742:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24824:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24835:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24820:3:150"},"nodeType":"YulFunctionCall","src":"24820:18:150"},{"hexValue":"746f2074686520746f6b656e","kind":"string","nodeType":"YulLiteral","src":"24840:14:150","type":"","value":"to the token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24813:6:150"},"nodeType":"YulFunctionCall","src":"24813:42:150"},"nodeType":"YulExpressionStatement","src":"24813:42:150"},{"nodeType":"YulAssignment","src":"24864:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24876:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24887:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24872:3:150"},"nodeType":"YulFunctionCall","src":"24872:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24864:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24640:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24654:4:150","type":""}],"src":"24489:408:150"},{"body":{"nodeType":"YulBlock","src":"25076:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25093:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25104:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25086:6:150"},"nodeType":"YulFunctionCall","src":"25086:21:150"},"nodeType":"YulExpressionStatement","src":"25086:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25127:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25138:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25123:3:150"},"nodeType":"YulFunctionCall","src":"25123:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25143:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25116:6:150"},"nodeType":"YulFunctionCall","src":"25116:30:150"},"nodeType":"YulExpressionStatement","src":"25116:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25177:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25162:3:150"},"nodeType":"YulFunctionCall","src":"25162:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206174746163686564","kind":"string","nodeType":"YulLiteral","src":"25182:34:150","type":"","value":"GalaxyMember: token not attached"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25155:6:150"},"nodeType":"YulFunctionCall","src":"25155:62:150"},"nodeType":"YulExpressionStatement","src":"25155:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25237:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25248:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25233:3:150"},"nodeType":"YulFunctionCall","src":"25233:18:150"},{"hexValue":"20746f20746865206e6f6465","kind":"string","nodeType":"YulLiteral","src":"25253:14:150","type":"","value":" to the node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25226:6:150"},"nodeType":"YulFunctionCall","src":"25226:42:150"},"nodeType":"YulExpressionStatement","src":"25226:42:150"},{"nodeType":"YulAssignment","src":"25277:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25289:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25300:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25285:3:150"},"nodeType":"YulFunctionCall","src":"25285:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25277:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25053:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25067:4:150","type":""}],"src":"24902:408:150"},{"body":{"nodeType":"YulBlock","src":"25347:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25364:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25371:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"25376:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25367:3:150"},"nodeType":"YulFunctionCall","src":"25367:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25357:6:150"},"nodeType":"YulFunctionCall","src":"25357:31:150"},"nodeType":"YulExpressionStatement","src":"25357:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25404:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25407:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25397:6:150"},"nodeType":"YulFunctionCall","src":"25397:15:150"},"nodeType":"YulExpressionStatement","src":"25397:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25428:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25431:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25421:6:150"},"nodeType":"YulFunctionCall","src":"25421:15:150"},"nodeType":"YulExpressionStatement","src":"25421:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"25315:127:150"},{"body":{"nodeType":"YulBlock","src":"25621:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25638:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25649:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25631:6:150"},"nodeType":"YulFunctionCall","src":"25631:21:150"},"nodeType":"YulExpressionStatement","src":"25631:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25672:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25683:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25668:3:150"},"nodeType":"YulFunctionCall","src":"25668:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25688:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25661:6:150"},"nodeType":"YulFunctionCall","src":"25661:30:150"},"nodeType":"YulExpressionStatement","src":"25661:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25711:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25722:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25707:3:150"},"nodeType":"YulFunctionCall","src":"25707:18:150"},{"hexValue":"47616c617879204d656d6265723a204261736520555249206d75737420626520","kind":"string","nodeType":"YulLiteral","src":"25727:34:150","type":"","value":"Galaxy Member: Base URI must be "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25700:6:150"},"nodeType":"YulFunctionCall","src":"25700:62:150"},"nodeType":"YulExpressionStatement","src":"25700:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25782:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25793:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25778:3:150"},"nodeType":"YulFunctionCall","src":"25778:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"25798:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25771:6:150"},"nodeType":"YulFunctionCall","src":"25771:33:150"},"nodeType":"YulExpressionStatement","src":"25771:33:150"},{"nodeType":"YulAssignment","src":"25813:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25825:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25836:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25821:3:150"},"nodeType":"YulFunctionCall","src":"25821:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25813:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25598:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25612:4:150","type":""}],"src":"25447:399:150"},{"body":{"nodeType":"YulBlock","src":"25907:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25924:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"25927:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25917:6:150"},"nodeType":"YulFunctionCall","src":"25917:14:150"},"nodeType":"YulExpressionStatement","src":"25917:14:150"},{"nodeType":"YulAssignment","src":"25940:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25958:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25961:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"25948:9:150"},"nodeType":"YulFunctionCall","src":"25948:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"25940:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"25890:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"25898:4:150","type":""}],"src":"25851:121:150"},{"body":{"nodeType":"YulBlock","src":"26113:706:150","statements":[{"nodeType":"YulVariableDeclaration","src":"26123:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26134:1:150","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"26127:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26144:30:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26167:6:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"26161:5:150"},"nodeType":"YulFunctionCall","src":"26161:13:150"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"26148:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26183:50:150","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"26223:9:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"26197:25:150"},"nodeType":"YulFunctionCall","src":"26197:36:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"26187:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26242:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26252:1:150","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"26246:2:150","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"26303:126:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26324:3:150"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"26333:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26348:3:150","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"26344:3:150"},"nodeType":"YulFunctionCall","src":"26344:8:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26329:3:150"},"nodeType":"YulFunctionCall","src":"26329:24:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26317:6:150"},"nodeType":"YulFunctionCall","src":"26317:37:150"},"nodeType":"YulExpressionStatement","src":"26317:37:150"},{"nodeType":"YulAssignment","src":"26367:52:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26378:3:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"26387:6:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"26409:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"26402:6:150"},"nodeType":"YulFunctionCall","src":"26402:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"26395:6:150"},"nodeType":"YulFunctionCall","src":"26395:22:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"26383:3:150"},"nodeType":"YulFunctionCall","src":"26383:35:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26374:3:150"},"nodeType":"YulFunctionCall","src":"26374:45:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"26367:3:150"}]}]},"nodeType":"YulCase","src":"26296:133:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26301:1:150","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"26445:349:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26466:1:150","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"26469:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26459:6:150"},"nodeType":"YulFunctionCall","src":"26459:17:150"},"nodeType":"YulExpressionStatement","src":"26459:17:150"},{"nodeType":"YulVariableDeclaration","src":"26489:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26499:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"26493:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26516:31:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26541:1:150","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"26544:2:150"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"26531:9:150"},"nodeType":"YulFunctionCall","src":"26531:16:150"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"26520:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26560:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26569:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"26564:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26637:111:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26666:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"26671:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26662:3:150"},"nodeType":"YulFunctionCall","src":"26662:11:150"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"26681:7:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"26675:5:150"},"nodeType":"YulFunctionCall","src":"26675:14:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26655:6:150"},"nodeType":"YulFunctionCall","src":"26655:35:150"},"nodeType":"YulExpressionStatement","src":"26655:35:150"},{"nodeType":"YulAssignment","src":"26707:27:150","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"26722:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26731:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26718:3:150"},"nodeType":"YulFunctionCall","src":"26718:16:150"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"26707:7:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26594:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"26597:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"26591:2:150"},"nodeType":"YulFunctionCall","src":"26591:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"26605:19:150","statements":[{"nodeType":"YulAssignment","src":"26607:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26616:1:150"},{"name":"_2","nodeType":"YulIdentifier","src":"26619:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26612:3:150"},"nodeType":"YulFunctionCall","src":"26612:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"26607:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"26587:3:150","statements":[]},"src":"26583:165:150"},{"nodeType":"YulAssignment","src":"26761:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26772:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"26777:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26768:3:150"},"nodeType":"YulFunctionCall","src":"26768:16:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"26761:3:150"}]}]},"nodeType":"YulCase","src":"26438:356:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26443:1:150","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"26273:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26284:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26269:3:150"},"nodeType":"YulFunctionCall","src":"26269:18:150"},"nodeType":"YulSwitch","src":"26262:532:150"},{"nodeType":"YulAssignment","src":"26803:10:150","value":{"name":"ret","nodeType":"YulIdentifier","src":"26810:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"26803:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"26089:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26094:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"26105:3:150","type":""}],"src":"25977:842:150"},{"body":{"nodeType":"YulBlock","src":"26963:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"26973:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26993:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26987:5:150"},"nodeType":"YulFunctionCall","src":"26987:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"26977:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27048:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"27056:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27044:3:150"},"nodeType":"YulFunctionCall","src":"27044:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"27063:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27068:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"27009:34:150"},"nodeType":"YulFunctionCall","src":"27009:66:150"},"nodeType":"YulExpressionStatement","src":"27009:66:150"},{"nodeType":"YulAssignment","src":"27084:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27095:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"27100:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27091:3:150"},"nodeType":"YulFunctionCall","src":"27091:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27084:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"26939:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26944:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"26955:3:150","type":""}],"src":"26824:289:150"},{"body":{"nodeType":"YulBlock","src":"27199:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"27232:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"27246:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"27256:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"27250:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"27277:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"27281:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27270:6:150"},"nodeType":"YulFunctionCall","src":"27270:17:150"},"nodeType":"YulExpressionStatement","src":"27270:17:150"},{"nodeType":"YulVariableDeclaration","src":"27300:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"27322:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"27326:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"27312:9:150"},"nodeType":"YulFunctionCall","src":"27312:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"27304:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27344:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27367:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27377:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"27384:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"27396:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27380:3:150"},"nodeType":"YulFunctionCall","src":"27380:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27373:3:150"},"nodeType":"YulFunctionCall","src":"27373:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27363:3:150"},"nodeType":"YulFunctionCall","src":"27363:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"27348:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27438:23:150","statements":[{"nodeType":"YulAssignment","src":"27440:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"27455:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"27440:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"27420:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"27432:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27417:2:150"},"nodeType":"YulFunctionCall","src":"27417:20:150"},"nodeType":"YulIf","src":"27414:47:150"},{"nodeType":"YulVariableDeclaration","src":"27474:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27488:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27498:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"27505:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"27510:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27501:3:150"},"nodeType":"YulFunctionCall","src":"27501:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27494:3:150"},"nodeType":"YulFunctionCall","src":"27494:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27484:3:150"},"nodeType":"YulFunctionCall","src":"27484:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"27478:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27528:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"27541:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"27532:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27626:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27635:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27642:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"27628:6:150"},"nodeType":"YulFunctionCall","src":"27628:17:150"},"nodeType":"YulExpressionStatement","src":"27628:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27576:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"27583:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27573:2:150"},"nodeType":"YulFunctionCall","src":"27573:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"27587:26:150","statements":[{"nodeType":"YulAssignment","src":"27589:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27602:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"27609:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27598:3:150"},"nodeType":"YulFunctionCall","src":"27598:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"27589:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"27569:3:150","statements":[]},"src":"27565:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"27215:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"27220:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27212:2:150"},"nodeType":"YulFunctionCall","src":"27212:11:150"},"nodeType":"YulIf","src":"27209:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"27171:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"27178:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"27183:10:150","type":""}],"src":"27118:545:150"},{"body":{"nodeType":"YulBlock","src":"27753:81:150","statements":[{"nodeType":"YulAssignment","src":"27763:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27778:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27796:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"27799:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27792:3:150"},"nodeType":"YulFunctionCall","src":"27792:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27809:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27805:3:150"},"nodeType":"YulFunctionCall","src":"27805:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27788:3:150"},"nodeType":"YulFunctionCall","src":"27788:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27784:3:150"},"nodeType":"YulFunctionCall","src":"27784:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27774:3:150"},"nodeType":"YulFunctionCall","src":"27774:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27820:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"27823:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27816:3:150"},"nodeType":"YulFunctionCall","src":"27816:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"27771:2:150"},"nodeType":"YulFunctionCall","src":"27771:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"27763:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"27730:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"27736:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"27744:4:150","type":""}],"src":"27668:166:150"},{"body":{"nodeType":"YulBlock","src":"27935:1256:150","statements":[{"nodeType":"YulVariableDeclaration","src":"27945:24:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"27965:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27959:5:150"},"nodeType":"YulFunctionCall","src":"27959:10:150"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"27949:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28012:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"28014:16:150"},"nodeType":"YulFunctionCall","src":"28014:18:150"},"nodeType":"YulExpressionStatement","src":"28014:18:150"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"27984:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28000:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"28004:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27996:3:150"},"nodeType":"YulFunctionCall","src":"27996:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28008:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27992:3:150"},"nodeType":"YulFunctionCall","src":"27992:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27981:2:150"},"nodeType":"YulFunctionCall","src":"27981:30:150"},"nodeType":"YulIf","src":"27978:56:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28087:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28125:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"28119:5:150"},"nodeType":"YulFunctionCall","src":"28119:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"28093:25:150"},"nodeType":"YulFunctionCall","src":"28093:38:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"28133:6:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"28043:43:150"},"nodeType":"YulFunctionCall","src":"28043:97:150"},"nodeType":"YulExpressionStatement","src":"28043:97:150"},{"nodeType":"YulVariableDeclaration","src":"28149:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28166:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"28153:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28176:23:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28195:4:150","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"28180:11:150","type":""}]},{"nodeType":"YulAssignment","src":"28208:24:150","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"28221:11:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28208:9:150"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"28278:656:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28292:35:150","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"28311:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28323:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28319:3:150"},"nodeType":"YulFunctionCall","src":"28319:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28307:3:150"},"nodeType":"YulFunctionCall","src":"28307:20:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"28296:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28340:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28384:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"28354:29:150"},"nodeType":"YulFunctionCall","src":"28354:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"28344:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28402:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28411:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"28406:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28489:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28514:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28532:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28537:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28528:3:150"},"nodeType":"YulFunctionCall","src":"28528:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28522:5:150"},"nodeType":"YulFunctionCall","src":"28522:26:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28507:6:150"},"nodeType":"YulFunctionCall","src":"28507:42:150"},"nodeType":"YulExpressionStatement","src":"28507:42:150"},{"nodeType":"YulAssignment","src":"28566:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28580:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"28588:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28576:3:150"},"nodeType":"YulFunctionCall","src":"28576:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28566:6:150"}]},{"nodeType":"YulAssignment","src":"28607:40:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28624:9:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"28635:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28620:3:150"},"nodeType":"YulFunctionCall","src":"28620:27:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28607:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28436:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"28439:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28433:2:150"},"nodeType":"YulFunctionCall","src":"28433:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"28448:28:150","statements":[{"nodeType":"YulAssignment","src":"28450:24:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28459:1:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"28462:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28455:3:150"},"nodeType":"YulFunctionCall","src":"28455:19:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"28450:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"28429:3:150","statements":[]},"src":"28425:236:150"},{"body":{"nodeType":"YulBlock","src":"28709:166:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28727:43:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28754:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28759:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28750:3:150"},"nodeType":"YulFunctionCall","src":"28750:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28744:5:150"},"nodeType":"YulFunctionCall","src":"28744:26:150"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"28731:9:150","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28794:6:150"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"28806:9:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28833:1:150","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"28836:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28829:3:150"},"nodeType":"YulFunctionCall","src":"28829:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"28845:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28825:3:150"},"nodeType":"YulFunctionCall","src":"28825:24:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28855:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28851:3:150"},"nodeType":"YulFunctionCall","src":"28851:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"28821:3:150"},"nodeType":"YulFunctionCall","src":"28821:37:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28817:3:150"},"nodeType":"YulFunctionCall","src":"28817:42:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28802:3:150"},"nodeType":"YulFunctionCall","src":"28802:58:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28787:6:150"},"nodeType":"YulFunctionCall","src":"28787:74:150"},"nodeType":"YulExpressionStatement","src":"28787:74:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"28680:7:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"28689:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28677:2:150"},"nodeType":"YulFunctionCall","src":"28677:19:150"},"nodeType":"YulIf","src":"28674:201:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28895:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28909:1:150","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"28912:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28905:3:150"},"nodeType":"YulFunctionCall","src":"28905:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"28921:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28901:3:150"},"nodeType":"YulFunctionCall","src":"28901:22:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28888:6:150"},"nodeType":"YulFunctionCall","src":"28888:36:150"},"nodeType":"YulExpressionStatement","src":"28888:36:150"}]},"nodeType":"YulCase","src":"28271:663:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28276:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"28951:234:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28965:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28978:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"28969:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29014:67:150","statements":[{"nodeType":"YulAssignment","src":"29032:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"29051:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"29056:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29047:3:150"},"nodeType":"YulFunctionCall","src":"29047:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29041:5:150"},"nodeType":"YulFunctionCall","src":"29041:26:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"29032:5:150"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"28995:6:150"},"nodeType":"YulIf","src":"28992:89:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"29101:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29160:5:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"29167:6:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"29107:52:150"},"nodeType":"YulFunctionCall","src":"29107:67:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"29094:6:150"},"nodeType":"YulFunctionCall","src":"29094:81:150"},"nodeType":"YulExpressionStatement","src":"29094:81:150"}]},"nodeType":"YulCase","src":"28943:242:150","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"28251:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"28259:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28248:2:150"},"nodeType":"YulFunctionCall","src":"28248:14:150"},"nodeType":"YulSwitch","src":"28241:944:150"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"27920:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"27926:3:150","type":""}],"src":"27839:1352:150"},{"body":{"nodeType":"YulBlock","src":"29370:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29387:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29398:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29380:6:150"},"nodeType":"YulFunctionCall","src":"29380:21:150"},"nodeType":"YulExpressionStatement","src":"29380:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29421:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29432:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29417:3:150"},"nodeType":"YulFunctionCall","src":"29417:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"29437:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29410:6:150"},"nodeType":"YulFunctionCall","src":"29410:30:150"},"nodeType":"YulExpressionStatement","src":"29410:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29460:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29471:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29456:3:150"},"nodeType":"YulFunctionCall","src":"29456:18:150"},{"hexValue":"47616c617879204d656d6265723a205075626c6963206d696e74696e67206973","kind":"string","nodeType":"YulLiteral","src":"29476:34:150","type":"","value":"Galaxy Member: Public minting is"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29449:6:150"},"nodeType":"YulFunctionCall","src":"29449:62:150"},"nodeType":"YulExpressionStatement","src":"29449:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29531:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29542:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29527:3:150"},"nodeType":"YulFunctionCall","src":"29527:18:150"},{"hexValue":"20706175736564","kind":"string","nodeType":"YulLiteral","src":"29547:9:150","type":"","value":" paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29520:6:150"},"nodeType":"YulFunctionCall","src":"29520:37:150"},"nodeType":"YulExpressionStatement","src":"29520:37:150"},{"nodeType":"YulAssignment","src":"29566:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29578:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29589:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29574:3:150"},"nodeType":"YulFunctionCall","src":"29574:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29566:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29347:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29361:4:150","type":""}],"src":"29196:403:150"},{"body":{"nodeType":"YulBlock","src":"29778:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29795:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29806:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29788:6:150"},"nodeType":"YulFunctionCall","src":"29788:21:150"},"nodeType":"YulExpressionStatement","src":"29788:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29829:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29840:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29825:3:150"},"nodeType":"YulFunctionCall","src":"29825:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"29845:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29818:6:150"},"nodeType":"YulFunctionCall","src":"29818:30:150"},"nodeType":"YulExpressionStatement","src":"29818:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29868:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29879:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29864:3:150"},"nodeType":"YulFunctionCall","src":"29864:18:150"},{"hexValue":"47616c617879204d656d6265723a205573657220686173206e6f742070617274","kind":"string","nodeType":"YulLiteral","src":"29884:34:150","type":"","value":"Galaxy Member: User has not part"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29857:6:150"},"nodeType":"YulFunctionCall","src":"29857:62:150"},"nodeType":"YulExpressionStatement","src":"29857:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29939:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29950:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29935:3:150"},"nodeType":"YulFunctionCall","src":"29935:18:150"},{"hexValue":"696369706174656420696e20676f7665726e616e6365","kind":"string","nodeType":"YulLiteral","src":"29955:24:150","type":"","value":"icipated in governance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29928:6:150"},"nodeType":"YulFunctionCall","src":"29928:52:150"},"nodeType":"YulExpressionStatement","src":"29928:52:150"},{"nodeType":"YulAssignment","src":"29989:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30001:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30012:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29997:3:150"},"nodeType":"YulFunctionCall","src":"29997:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29989:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29755:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29769:4:150","type":""}],"src":"29604:418:150"},{"body":{"nodeType":"YulBlock","src":"30201:237:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30218:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30229:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30211:6:150"},"nodeType":"YulFunctionCall","src":"30211:21:150"},"nodeType":"YulExpressionStatement","src":"30211:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30252:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30263:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30248:3:150"},"nodeType":"YulFunctionCall","src":"30248:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30268:2:150","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30241:6:150"},"nodeType":"YulFunctionCall","src":"30241:30:150"},"nodeType":"YulExpressionStatement","src":"30241:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30291:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30302:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30287:3:150"},"nodeType":"YulFunctionCall","src":"30287:18:150"},{"hexValue":"47616c617879204d656d6265723a204d6178206c6576656c206d757374206265","kind":"string","nodeType":"YulLiteral","src":"30307:34:150","type":"","value":"Galaxy Member: Max level must be"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30280:6:150"},"nodeType":"YulFunctionCall","src":"30280:62:150"},"nodeType":"YulExpressionStatement","src":"30280:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30362:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30373:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30358:3:150"},"nodeType":"YulFunctionCall","src":"30358:18:150"},{"hexValue":"2067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"30378:17:150","type":"","value":" greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30351:6:150"},"nodeType":"YulFunctionCall","src":"30351:45:150"},"nodeType":"YulExpressionStatement","src":"30351:45:150"},{"nodeType":"YulAssignment","src":"30405:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30417:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30428:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30413:3:150"},"nodeType":"YulFunctionCall","src":"30413:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30405:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30178:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30192:4:150","type":""}],"src":"30027:411:150"},{"body":{"nodeType":"YulBlock","src":"30617:250:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30634:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30645:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30627:6:150"},"nodeType":"YulFunctionCall","src":"30627:21:150"},"nodeType":"YulExpressionStatement","src":"30627:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30668:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30679:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30664:3:150"},"nodeType":"YulFunctionCall","src":"30664:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30684:2:150","type":"","value":"60"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30657:6:150"},"nodeType":"YulFunctionCall","src":"30657:30:150"},"nodeType":"YulExpressionStatement","src":"30657:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30707:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30718:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30703:3:150"},"nodeType":"YulFunctionCall","src":"30703:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f6b656e20616464726573","kind":"string","nodeType":"YulLiteral","src":"30723:34:150","type":"","value":"Galaxy Member: B3TR token addres"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30696:6:150"},"nodeType":"YulFunctionCall","src":"30696:62:150"},"nodeType":"YulExpressionStatement","src":"30696:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30778:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30789:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30774:3:150"},"nodeType":"YulFunctionCall","src":"30774:18:150"},{"hexValue":"732063616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"30794:30:150","type":"","value":"s cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30767:6:150"},"nodeType":"YulFunctionCall","src":"30767:58:150"},"nodeType":"YulExpressionStatement","src":"30767:58:150"},{"nodeType":"YulAssignment","src":"30834:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30846:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30857:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30842:3:150"},"nodeType":"YulFunctionCall","src":"30842:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30834:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30594:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30608:4:150","type":""}],"src":"30443:424:150"},{"body":{"nodeType":"YulBlock","src":"31046:248:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31063:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31074:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31056:6:150"},"nodeType":"YulFunctionCall","src":"31056:21:150"},"nodeType":"YulExpressionStatement","src":"31056:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31097:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31108:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31093:3:150"},"nodeType":"YulFunctionCall","src":"31093:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31113:2:150","type":"","value":"58"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31086:6:150"},"nodeType":"YulFunctionCall","src":"31086:30:150"},"nodeType":"YulExpressionStatement","src":"31086:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31136:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31147:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31132:3:150"},"nodeType":"YulFunctionCall","src":"31132:18:150"},{"hexValue":"47616c617879204d656d6265723a205472656173757279206164647265737320","kind":"string","nodeType":"YulLiteral","src":"31152:34:150","type":"","value":"Galaxy Member: Treasury address "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31125:6:150"},"nodeType":"YulFunctionCall","src":"31125:62:150"},"nodeType":"YulExpressionStatement","src":"31125:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31207:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31218:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31203:3:150"},"nodeType":"YulFunctionCall","src":"31203:18:150"},{"hexValue":"63616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"31223:28:150","type":"","value":"cannot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31196:6:150"},"nodeType":"YulFunctionCall","src":"31196:56:150"},"nodeType":"YulExpressionStatement","src":"31196:56:150"},{"nodeType":"YulAssignment","src":"31261:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31273:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31284:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31269:3:150"},"nodeType":"YulFunctionCall","src":"31269:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31261:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31023:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31037:4:150","type":""}],"src":"30872:422:150"},{"body":{"nodeType":"YulBlock","src":"31348:79:150","statements":[{"nodeType":"YulAssignment","src":"31358:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31370:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"31373:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31366:3:150"},"nodeType":"YulFunctionCall","src":"31366:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"31358:4:150"}]},{"body":{"nodeType":"YulBlock","src":"31399:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"31401:16:150"},"nodeType":"YulFunctionCall","src":"31401:18:150"},"nodeType":"YulExpressionStatement","src":"31401:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"31390:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"31396:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"31387:2:150"},"nodeType":"YulFunctionCall","src":"31387:11:150"},"nodeType":"YulIf","src":"31384:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"31330:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"31333:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"31339:4:150","type":""}],"src":"31299:128:150"},{"body":{"nodeType":"YulBlock","src":"31606:296:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31623:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31634:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31616:6:150"},"nodeType":"YulFunctionCall","src":"31616:21:150"},"nodeType":"YulExpressionStatement","src":"31616:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31657:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31668:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31653:3:150"},"nodeType":"YulFunctionCall","src":"31653:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31673:2:150","type":"","value":"66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31646:6:150"},"nodeType":"YulFunctionCall","src":"31646:30:150"},"nodeType":"YulExpressionStatement","src":"31646:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31696:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31707:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31692:3:150"},"nodeType":"YulFunctionCall","src":"31692:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"31712:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31685:6:150"},"nodeType":"YulFunctionCall","src":"31685:62:150"},"nodeType":"YulExpressionStatement","src":"31685:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31767:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31778:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31763:3:150"},"nodeType":"YulFunctionCall","src":"31763:18:150"},{"hexValue":"7573742062652073657420666f7220616c6c20756e6c6f636b6564206c657665","kind":"string","nodeType":"YulLiteral","src":"31783:34:150","type":"","value":"ust be set for all unlocked leve"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31756:6:150"},"nodeType":"YulFunctionCall","src":"31756:62:150"},"nodeType":"YulExpressionStatement","src":"31756:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31838:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31849:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31834:3:150"},"nodeType":"YulFunctionCall","src":"31834:19:150"},{"hexValue":"6c73","kind":"string","nodeType":"YulLiteral","src":"31855:4:150","type":"","value":"ls"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31827:6:150"},"nodeType":"YulFunctionCall","src":"31827:33:150"},"nodeType":"YulExpressionStatement","src":"31827:33:150"},{"nodeType":"YulAssignment","src":"31869:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31881:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31892:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31877:3:150"},"nodeType":"YulFunctionCall","src":"31877:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31869:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31583:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31597:4:150","type":""}],"src":"31432:470:150"},{"body":{"nodeType":"YulBlock","src":"32081:243:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32098:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32109:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32091:6:150"},"nodeType":"YulFunctionCall","src":"32091:21:150"},"nodeType":"YulExpressionStatement","src":"32091:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32132:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32143:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32128:3:150"},"nodeType":"YulFunctionCall","src":"32128:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32148:2:150","type":"","value":"53"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32121:6:150"},"nodeType":"YulFunctionCall","src":"32121:30:150"},"nodeType":"YulExpressionStatement","src":"32121:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32171:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32182:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32167:3:150"},"nodeType":"YulFunctionCall","src":"32167:18:150"},{"hexValue":"47616c617879204d656d6265723a204233545220746f2075706772616465206d","kind":"string","nodeType":"YulLiteral","src":"32187:34:150","type":"","value":"Galaxy Member: B3TR to upgrade m"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32160:6:150"},"nodeType":"YulFunctionCall","src":"32160:62:150"},"nodeType":"YulExpressionStatement","src":"32160:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32242:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32253:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32238:3:150"},"nodeType":"YulFunctionCall","src":"32238:18:150"},{"hexValue":"7573742062652067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"32258:23:150","type":"","value":"ust be greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32231:6:150"},"nodeType":"YulFunctionCall","src":"32231:51:150"},"nodeType":"YulExpressionStatement","src":"32231:51:150"},{"nodeType":"YulAssignment","src":"32291:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32303:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32314:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32299:3:150"},"nodeType":"YulFunctionCall","src":"32299:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32291:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32058:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32072:4:150","type":""}],"src":"31907:417:150"},{"body":{"nodeType":"YulBlock","src":"32503:245:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32520:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32531:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32513:6:150"},"nodeType":"YulFunctionCall","src":"32513:21:150"},"nodeType":"YulExpressionStatement","src":"32513:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32554:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32565:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32550:3:150"},"nodeType":"YulFunctionCall","src":"32550:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32570:2:150","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32543:6:150"},"nodeType":"YulFunctionCall","src":"32543:30:150"},"nodeType":"YulExpressionStatement","src":"32543:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32593:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32604:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32589:3:150"},"nodeType":"YulFunctionCall","src":"32589:18:150"},{"hexValue":"47616c617879204d656d6265723a2041646d696e20616464726573732063616e","kind":"string","nodeType":"YulLiteral","src":"32609:34:150","type":"","value":"Galaxy Member: Admin address can"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32582:6:150"},"nodeType":"YulFunctionCall","src":"32582:62:150"},"nodeType":"YulExpressionStatement","src":"32582:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32664:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32675:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32660:3:150"},"nodeType":"YulFunctionCall","src":"32660:18:150"},{"hexValue":"6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"32680:25:150","type":"","value":"not be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32653:6:150"},"nodeType":"YulFunctionCall","src":"32653:53:150"},"nodeType":"YulExpressionStatement","src":"32653:53:150"},{"nodeType":"YulAssignment","src":"32715:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32727:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32738:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32723:3:150"},"nodeType":"YulFunctionCall","src":"32723:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32715:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32480:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32494:4:150","type":""}],"src":"32329:419:150"},{"body":{"nodeType":"YulBlock","src":"32861:101:150","statements":[{"nodeType":"YulAssignment","src":"32871:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32883:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32894:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32879:3:150"},"nodeType":"YulFunctionCall","src":"32879:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32871:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32913:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32928:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32944:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"32948:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"32940:3:150"},"nodeType":"YulFunctionCall","src":"32940:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"32952:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32936:3:150"},"nodeType":"YulFunctionCall","src":"32936:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32924:3:150"},"nodeType":"YulFunctionCall","src":"32924:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32906:6:150"},"nodeType":"YulFunctionCall","src":"32906:50:150"},"nodeType":"YulExpressionStatement","src":"32906:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32830:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32841:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32852:4:150","type":""}],"src":"32753:209:150"},{"body":{"nodeType":"YulBlock","src":"33141:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33158:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33169:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33151:6:150"},"nodeType":"YulFunctionCall","src":"33151:21:150"},"nodeType":"YulExpressionStatement","src":"33151:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33192:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33203:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33188:3:150"},"nodeType":"YulFunctionCall","src":"33188:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33208:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33181:6:150"},"nodeType":"YulFunctionCall","src":"33181:30:150"},"nodeType":"YulExpressionStatement","src":"33181:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33231:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33242:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33227:3:150"},"nodeType":"YulFunctionCall","src":"33227:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e496420646f65736e2774206578","kind":"string","nodeType":"YulLiteral","src":"33247:34:150","type":"","value":"GalaxyMember: tokenId doesn't ex"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33220:6:150"},"nodeType":"YulFunctionCall","src":"33220:62:150"},"nodeType":"YulExpressionStatement","src":"33220:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33302:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33313:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33298:3:150"},"nodeType":"YulFunctionCall","src":"33298:18:150"},{"hexValue":"697374","kind":"string","nodeType":"YulLiteral","src":"33318:5:150","type":"","value":"ist"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33291:6:150"},"nodeType":"YulFunctionCall","src":"33291:33:150"},"nodeType":"YulExpressionStatement","src":"33291:33:150"},{"nodeType":"YulAssignment","src":"33333:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33345:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33356:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33341:3:150"},"nodeType":"YulFunctionCall","src":"33341:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33333:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33118:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33132:4:150","type":""}],"src":"32967:399:150"},{"body":{"nodeType":"YulBlock","src":"33545:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33562:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33573:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33555:6:150"},"nodeType":"YulFunctionCall","src":"33555:21:150"},"nodeType":"YulExpressionStatement","src":"33555:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33596:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33607:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33592:3:150"},"nodeType":"YulFunctionCall","src":"33592:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33612:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33585:6:150"},"nodeType":"YulFunctionCall","src":"33585:30:150"},"nodeType":"YulExpressionStatement","src":"33585:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33635:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33646:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33631:3:150"},"nodeType":"YulFunctionCall","src":"33631:18:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"33651:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33624:6:150"},"nodeType":"YulFunctionCall","src":"33624:62:150"},"nodeType":"YulExpressionStatement","src":"33624:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33706:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33717:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33702:3:150"},"nodeType":"YulFunctionCall","src":"33702:18:150"},{"hexValue":"6f742062652030","kind":"string","nodeType":"YulLiteral","src":"33722:9:150","type":"","value":"ot be 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33695:6:150"},"nodeType":"YulFunctionCall","src":"33695:37:150"},"nodeType":"YulExpressionStatement","src":"33695:37:150"},{"nodeType":"YulAssignment","src":"33741:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33753:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33764:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33749:3:150"},"nodeType":"YulFunctionCall","src":"33749:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33741:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33522:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33536:4:150","type":""}],"src":"33371:403:150"},{"body":{"nodeType":"YulBlock","src":"34019:274:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34036:3:150"},{"hexValue":"47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e","kind":"string","nodeType":"YulLiteral","src":"34041:34:150","type":"","value":"GalaxyMember: Invalid size, cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34029:6:150"},"nodeType":"YulFunctionCall","src":"34029:47:150"},"nodeType":"YulExpressionStatement","src":"34029:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34096:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"34101:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34092:3:150"},"nodeType":"YulFunctionCall","src":"34092:12:150"},{"hexValue":"6f742062652067726561746572207468616e20","kind":"string","nodeType":"YulLiteral","src":"34106:21:150","type":"","value":"ot be greater than "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34085:6:150"},"nodeType":"YulFunctionCall","src":"34085:43:150"},"nodeType":"YulExpressionStatement","src":"34085:43:150"},{"nodeType":"YulVariableDeclaration","src":"34137:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34157:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34151:5:150"},"nodeType":"YulFunctionCall","src":"34151:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"34141:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34212:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"34220:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34208:3:150"},"nodeType":"YulFunctionCall","src":"34208:15:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34229:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"34234:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34225:3:150"},"nodeType":"YulFunctionCall","src":"34225:12:150"},{"name":"length","nodeType":"YulIdentifier","src":"34239:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"34173:34:150"},"nodeType":"YulFunctionCall","src":"34173:73:150"},"nodeType":"YulExpressionStatement","src":"34173:73:150"},{"nodeType":"YulAssignment","src":"34255:32:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34270:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"34275:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34266:3:150"},"nodeType":"YulFunctionCall","src":"34266:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"34284:2:150","type":"","value":"51"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34262:3:150"},"nodeType":"YulFunctionCall","src":"34262:25:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"34255:3:150"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"33995:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34000:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"34011:3:150","type":""}],"src":"33779:514:150"},{"body":{"nodeType":"YulBlock","src":"34350:116:150","statements":[{"nodeType":"YulAssignment","src":"34360:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"34375:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"34378:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"34371:3:150"},"nodeType":"YulFunctionCall","src":"34371:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"34360:7:150"}]},{"body":{"nodeType":"YulBlock","src":"34438:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"34440:16:150"},"nodeType":"YulFunctionCall","src":"34440:18:150"},"nodeType":"YulExpressionStatement","src":"34440:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"34409:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"34402:6:150"},"nodeType":"YulFunctionCall","src":"34402:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"34416:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"34423:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"34432:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"34419:3:150"},"nodeType":"YulFunctionCall","src":"34419:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"34413:2:150"},"nodeType":"YulFunctionCall","src":"34413:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"34399:2:150"},"nodeType":"YulFunctionCall","src":"34399:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"34392:6:150"},"nodeType":"YulFunctionCall","src":"34392:45:150"},"nodeType":"YulIf","src":"34389:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"34329:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"34332:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"34338:7:150","type":""}],"src":"34298:168:150"},{"body":{"nodeType":"YulBlock","src":"34645:229:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34662:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34673:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34655:6:150"},"nodeType":"YulFunctionCall","src":"34655:21:150"},"nodeType":"YulExpressionStatement","src":"34655:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34696:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34707:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34692:3:150"},"nodeType":"YulFunctionCall","src":"34692:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34712:2:150","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34685:6:150"},"nodeType":"YulFunctionCall","src":"34685:30:150"},"nodeType":"YulExpressionStatement","src":"34685:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34735:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34746:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34731:3:150"},"nodeType":"YulFunctionCall","src":"34731:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e206e6f74206f776e6564206279","kind":"string","nodeType":"YulLiteral","src":"34751:34:150","type":"","value":"GalaxyMember: token not owned by"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34724:6:150"},"nodeType":"YulFunctionCall","src":"34724:62:150"},"nodeType":"YulExpressionStatement","src":"34724:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34806:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34817:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34802:3:150"},"nodeType":"YulFunctionCall","src":"34802:18:150"},{"hexValue":"2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"34822:9:150","type":"","value":" caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34795:6:150"},"nodeType":"YulFunctionCall","src":"34795:37:150"},"nodeType":"YulExpressionStatement","src":"34795:37:150"},{"nodeType":"YulAssignment","src":"34841:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34853:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34864:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34849:3:150"},"nodeType":"YulFunctionCall","src":"34849:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34841:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34622:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34636:4:150","type":""}],"src":"34471:403:150"},{"body":{"nodeType":"YulBlock","src":"35053:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35070:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35081:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35063:6:150"},"nodeType":"YulFunctionCall","src":"35063:21:150"},"nodeType":"YulExpressionStatement","src":"35063:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35104:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35115:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35100:3:150"},"nodeType":"YulFunctionCall","src":"35100:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35120:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35093:6:150"},"nodeType":"YulFunctionCall","src":"35093:30:150"},"nodeType":"YulExpressionStatement","src":"35093:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35143:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35154:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35139:3:150"},"nodeType":"YulFunctionCall","src":"35139:18:150"},{"hexValue":"47616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206f","kind":"string","nodeType":"YulLiteral","src":"35159:34:150","type":"","value":"GalaxyMember: vechain node not o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35132:6:150"},"nodeType":"YulFunctionCall","src":"35132:62:150"},"nodeType":"YulExpressionStatement","src":"35132:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35214:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35225:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35210:3:150"},"nodeType":"YulFunctionCall","src":"35210:18:150"},{"hexValue":"776e6564206f72206d616e616765642062792063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"35230:27:150","type":"","value":"wned or managed by caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35203:6:150"},"nodeType":"YulFunctionCall","src":"35203:55:150"},"nodeType":"YulExpressionStatement","src":"35203:55:150"},{"nodeType":"YulAssignment","src":"35267:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35279:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35290:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35275:3:150"},"nodeType":"YulFunctionCall","src":"35275:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35267:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35030:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35044:4:150","type":""}],"src":"34879:421:150"},{"body":{"nodeType":"YulBlock","src":"35479:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35496:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35507:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35489:6:150"},"nodeType":"YulFunctionCall","src":"35489:21:150"},"nodeType":"YulExpressionStatement","src":"35489:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35530:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35541:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35526:3:150"},"nodeType":"YulFunctionCall","src":"35526:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35546:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35519:6:150"},"nodeType":"YulFunctionCall","src":"35519:30:150"},"nodeType":"YulExpressionStatement","src":"35519:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35569:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35580:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35565:3:150"},"nodeType":"YulFunctionCall","src":"35565:18:150"},{"hexValue":"47616c6178794d656d6265723a206e6f646520616c7265616479206174746163","kind":"string","nodeType":"YulLiteral","src":"35585:34:150","type":"","value":"GalaxyMember: node already attac"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35558:6:150"},"nodeType":"YulFunctionCall","src":"35558:62:150"},"nodeType":"YulExpressionStatement","src":"35558:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35640:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35651:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35636:3:150"},"nodeType":"YulFunctionCall","src":"35636:18:150"},{"hexValue":"68656420746f206120746f6b656e","kind":"string","nodeType":"YulLiteral","src":"35656:16:150","type":"","value":"hed to a token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35629:6:150"},"nodeType":"YulFunctionCall","src":"35629:44:150"},"nodeType":"YulExpressionStatement","src":"35629:44:150"},{"nodeType":"YulAssignment","src":"35682:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35694:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35705:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35690:3:150"},"nodeType":"YulFunctionCall","src":"35690:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35682:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35456:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35470:4:150","type":""}],"src":"35305:410:150"},{"body":{"nodeType":"YulBlock","src":"35894:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35911:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35922:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35904:6:150"},"nodeType":"YulFunctionCall","src":"35904:21:150"},"nodeType":"YulExpressionStatement","src":"35904:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35945:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35956:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35941:3:150"},"nodeType":"YulFunctionCall","src":"35941:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35961:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35934:6:150"},"nodeType":"YulFunctionCall","src":"35934:30:150"},"nodeType":"YulExpressionStatement","src":"35934:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35984:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35995:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35980:3:150"},"nodeType":"YulFunctionCall","src":"35980:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20616c72656164792061747461","kind":"string","nodeType":"YulLiteral","src":"36000:34:150","type":"","value":"GalaxyMember: token already atta"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35973:6:150"},"nodeType":"YulFunctionCall","src":"35973:62:150"},"nodeType":"YulExpressionStatement","src":"35973:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36055:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36066:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36051:3:150"},"nodeType":"YulFunctionCall","src":"36051:18:150"},{"hexValue":"6368656420746f2061206e6f6465","kind":"string","nodeType":"YulLiteral","src":"36071:16:150","type":"","value":"ched to a node"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36044:6:150"},"nodeType":"YulFunctionCall","src":"36044:44:150"},"nodeType":"YulExpressionStatement","src":"36044:44:150"},{"nodeType":"YulAssignment","src":"36097:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36109:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36120:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36105:3:150"},"nodeType":"YulFunctionCall","src":"36105:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36097:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35871:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35885:4:150","type":""}],"src":"35720:410:150"},{"body":{"nodeType":"YulBlock","src":"36309:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36326:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36337:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36319:6:150"},"nodeType":"YulFunctionCall","src":"36319:21:150"},"nodeType":"YulExpressionStatement","src":"36319:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36360:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36371:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36356:3:150"},"nodeType":"YulFunctionCall","src":"36356:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36376:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36349:6:150"},"nodeType":"YulFunctionCall","src":"36349:30:150"},"nodeType":"YulExpressionStatement","src":"36349:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36399:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36410:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36395:3:150"},"nodeType":"YulFunctionCall","src":"36395:18:150"},{"hexValue":"47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e67","kind":"string","nodeType":"YulLiteral","src":"36415:34:150","type":"","value":"Galaxy Member: XAllocationVoting"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36388:6:150"},"nodeType":"YulFunctionCall","src":"36388:62:150"},"nodeType":"YulExpressionStatement","src":"36388:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36470:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36481:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36466:3:150"},"nodeType":"YulFunctionCall","src":"36466:18:150"},{"hexValue":"476f7665726e6f72206e6f7420736574","kind":"string","nodeType":"YulLiteral","src":"36486:18:150","type":"","value":"Governor not set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36459:6:150"},"nodeType":"YulFunctionCall","src":"36459:46:150"},"nodeType":"YulExpressionStatement","src":"36459:46:150"},{"nodeType":"YulAssignment","src":"36514:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36526:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36537:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36522:3:150"},"nodeType":"YulFunctionCall","src":"36522:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36514:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36286:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36300:4:150","type":""}],"src":"36135:412:150"},{"body":{"nodeType":"YulBlock","src":"36726:225:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36743:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36754:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36736:6:150"},"nodeType":"YulFunctionCall","src":"36736:21:150"},"nodeType":"YulExpressionStatement","src":"36736:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36777:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36788:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36773:3:150"},"nodeType":"YulFunctionCall","src":"36773:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36793:2:150","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36766:6:150"},"nodeType":"YulFunctionCall","src":"36766:30:150"},"nodeType":"YulExpressionStatement","src":"36766:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36816:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36827:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36812:3:150"},"nodeType":"YulFunctionCall","src":"36812:18:150"},{"hexValue":"47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f7420","kind":"string","nodeType":"YulLiteral","src":"36832:34:150","type":"","value":"Galaxy Member: B3TRGovernor not "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36805:6:150"},"nodeType":"YulFunctionCall","src":"36805:62:150"},"nodeType":"YulExpressionStatement","src":"36805:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36887:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36898:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36883:3:150"},"nodeType":"YulFunctionCall","src":"36883:18:150"},{"hexValue":"736574","kind":"string","nodeType":"YulLiteral","src":"36903:5:150","type":"","value":"set"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36876:6:150"},"nodeType":"YulFunctionCall","src":"36876:33:150"},"nodeType":"YulExpressionStatement","src":"36876:33:150"},{"nodeType":"YulAssignment","src":"36918:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36930:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36941:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36926:3:150"},"nodeType":"YulFunctionCall","src":"36926:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36918:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36703:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36717:4:150","type":""}],"src":"36552:399:150"},{"body":{"nodeType":"YulBlock","src":"37107:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"37117:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"37127:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"37121:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"37138:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37156:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"37167:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37152:3:150"},"nodeType":"YulFunctionCall","src":"37152:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"37142:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37186:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"37197:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37179:6:150"},"nodeType":"YulFunctionCall","src":"37179:21:150"},"nodeType":"YulExpressionStatement","src":"37179:21:150"},{"nodeType":"YulVariableDeclaration","src":"37209:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"37220:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"37213:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"37235:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37255:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37249:5:150"},"nodeType":"YulFunctionCall","src":"37249:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"37239:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"37278:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"37286:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37271:6:150"},"nodeType":"YulFunctionCall","src":"37271:22:150"},"nodeType":"YulExpressionStatement","src":"37271:22:150"},{"nodeType":"YulAssignment","src":"37302:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37324:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37309:3:150"},"nodeType":"YulFunctionCall","src":"37309:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"37302:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"37336:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37354:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"37362:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37350:3:150"},"nodeType":"YulFunctionCall","src":"37350:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"37340:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"37374:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"37383:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"37378:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"37442:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37463:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"37474:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37468:5:150"},"nodeType":"YulFunctionCall","src":"37468:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37456:6:150"},"nodeType":"YulFunctionCall","src":"37456:26:150"},"nodeType":"YulExpressionStatement","src":"37456:26:150"},{"nodeType":"YulAssignment","src":"37495:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"37506:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"37511:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37502:3:150"},"nodeType":"YulFunctionCall","src":"37502:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"37495:3:150"}]},{"nodeType":"YulAssignment","src":"37527:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"37541:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"37549:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37537:3:150"},"nodeType":"YulFunctionCall","src":"37537:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"37527:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"37404:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"37407:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"37401:2:150"},"nodeType":"YulFunctionCall","src":"37401:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"37415:18:150","statements":[{"nodeType":"YulAssignment","src":"37417:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"37426:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"37429:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37422:3:150"},"nodeType":"YulFunctionCall","src":"37422:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"37417:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"37397:3:150","statements":[]},"src":"37393:169:150"},{"nodeType":"YulAssignment","src":"37571:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"37579:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37571:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37076:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37087:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37098:4:150","type":""}],"src":"36956:632:150"},{"body":{"nodeType":"YulBlock","src":"37767:246:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37784:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37795:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37777:6:150"},"nodeType":"YulFunctionCall","src":"37777:21:150"},"nodeType":"YulExpressionStatement","src":"37777:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37818:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37829:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37814:3:150"},"nodeType":"YulFunctionCall","src":"37814:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37834:2:150","type":"","value":"56"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37807:6:150"},"nodeType":"YulFunctionCall","src":"37807:30:150"},"nodeType":"YulExpressionStatement","src":"37807:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37857:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37868:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37853:3:150"},"nodeType":"YulFunctionCall","src":"37853:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520","kind":"string","nodeType":"YulLiteral","src":"37873:34:150","type":"","value":"GalaxyMember: invalid node free "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37846:6:150"},"nodeType":"YulFunctionCall","src":"37846:62:150"},"nodeType":"YulExpressionStatement","src":"37846:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37928:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37939:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37924:3:150"},"nodeType":"YulFunctionCall","src":"37924:18:150"},{"hexValue":"6c6576656c732e204d7573742062652037206c6576656c73","kind":"string","nodeType":"YulLiteral","src":"37944:26:150","type":"","value":"levels. Must be 7 levels"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37917:6:150"},"nodeType":"YulFunctionCall","src":"37917:54:150"},"nodeType":"YulExpressionStatement","src":"37917:54:150"},{"nodeType":"YulAssignment","src":"37980:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37992:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38003:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37988:3:150"},"nodeType":"YulFunctionCall","src":"37988:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37980:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37744:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37758:4:150","type":""}],"src":"37593:420:150"},{"body":{"nodeType":"YulBlock","src":"38192:244:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38209:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38220:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38202:6:150"},"nodeType":"YulFunctionCall","src":"38202:21:150"},"nodeType":"YulExpressionStatement","src":"38202:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38243:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38254:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38239:3:150"},"nodeType":"YulFunctionCall","src":"38239:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38259:2:150","type":"","value":"54"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38232:6:150"},"nodeType":"YulFunctionCall","src":"38232:30:150"},"nodeType":"YulExpressionStatement","src":"38232:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38282:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38293:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38278:3:150"},"nodeType":"YulFunctionCall","src":"38278:18:150"},{"hexValue":"47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e","kind":"string","nodeType":"YulLiteral","src":"38298:34:150","type":"","value":"GalaxyMember: _vechainNodes cann"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38271:6:150"},"nodeType":"YulFunctionCall","src":"38271:62:150"},"nodeType":"YulExpressionStatement","src":"38271:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38353:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38364:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38349:3:150"},"nodeType":"YulFunctionCall","src":"38349:18:150"},{"hexValue":"6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"38369:24:150","type":"","value":"ot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38342:6:150"},"nodeType":"YulFunctionCall","src":"38342:52:150"},"nodeType":"YulExpressionStatement","src":"38342:52:150"},{"nodeType":"YulAssignment","src":"38403:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38415:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38426:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38411:3:150"},"nodeType":"YulFunctionCall","src":"38411:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38403:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38169:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38183:4:150","type":""}],"src":"38018:418:150"},{"body":{"nodeType":"YulBlock","src":"38615:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38632:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38643:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38625:6:150"},"nodeType":"YulFunctionCall","src":"38625:21:150"},"nodeType":"YulExpressionStatement","src":"38625:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38666:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38677:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38662:3:150"},"nodeType":"YulFunctionCall","src":"38662:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38682:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38655:6:150"},"nodeType":"YulFunctionCall","src":"38655:30:150"},"nodeType":"YulExpressionStatement","src":"38655:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38705:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38716:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38701:3:150"},"nodeType":"YulFunctionCall","src":"38701:18:150"},{"hexValue":"47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063","kind":"string","nodeType":"YulLiteral","src":"38721:34:150","type":"","value":"GalaxyMember: _nodesMangaement c"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38694:6:150"},"nodeType":"YulFunctionCall","src":"38694:62:150"},"nodeType":"YulExpressionStatement","src":"38694:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38776:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38787:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38772:3:150"},"nodeType":"YulFunctionCall","src":"38772:18:150"},{"hexValue":"616e6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"38792:27:150","type":"","value":"annot be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38765:6:150"},"nodeType":"YulFunctionCall","src":"38765:55:150"},"nodeType":"YulExpressionStatement","src":"38765:55:150"},{"nodeType":"YulAssignment","src":"38829:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38841:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38852:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38837:3:150"},"nodeType":"YulFunctionCall","src":"38837:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38829:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38592:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38606:4:150","type":""}],"src":"38441:421:150"},{"body":{"nodeType":"YulBlock","src":"39041:227:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39058:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39069:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39051:6:150"},"nodeType":"YulFunctionCall","src":"39051:21:150"},"nodeType":"YulExpressionStatement","src":"39051:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39092:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39103:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39088:3:150"},"nodeType":"YulFunctionCall","src":"39088:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39108:2:150","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39081:6:150"},"nodeType":"YulFunctionCall","src":"39081:30:150"},"nodeType":"YulExpressionStatement","src":"39081:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39131:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39142:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39127:3:150"},"nodeType":"YulFunctionCall","src":"39127:18:150"},{"hexValue":"47616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520","kind":"string","nodeType":"YulLiteral","src":"39147:34:150","type":"","value":"GalaxyMember: invalid node free "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39120:6:150"},"nodeType":"YulFunctionCall","src":"39120:62:150"},"nodeType":"YulExpressionStatement","src":"39120:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39202:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39213:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39198:3:150"},"nodeType":"YulFunctionCall","src":"39198:18:150"},{"hexValue":"6c6576656c","kind":"string","nodeType":"YulLiteral","src":"39218:7:150","type":"","value":"level"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39191:6:150"},"nodeType":"YulFunctionCall","src":"39191:35:150"},"nodeType":"YulExpressionStatement","src":"39191:35:150"},{"nodeType":"YulAssignment","src":"39235:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39247:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39258:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39243:3:150"},"nodeType":"YulFunctionCall","src":"39243:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39235:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39018:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39032:4:150","type":""}],"src":"38867:401:150"},{"body":{"nodeType":"YulBlock","src":"39318:130:150","statements":[{"nodeType":"YulVariableDeclaration","src":"39328:31:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"39347:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"39354:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39343:3:150"},"nodeType":"YulFunctionCall","src":"39343:16:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"39332:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"39389:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"39391:16:150"},"nodeType":"YulFunctionCall","src":"39391:18:150"},"nodeType":"YulExpressionStatement","src":"39391:18:150"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"39374:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"39383:4:150","type":"","value":"0xff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"39371:2:150"},"nodeType":"YulFunctionCall","src":"39371:17:150"},"nodeType":"YulIf","src":"39368:43:150"},{"nodeType":"YulAssignment","src":"39420:22:150","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"39431:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"39440:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39427:3:150"},"nodeType":"YulFunctionCall","src":"39427:15:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"39420:3:150"}]}]},"name":"increment_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"39300:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"39310:3:150","type":""}],"src":"39273:175:150"},{"body":{"nodeType":"YulBlock","src":"39552:101:150","statements":[{"nodeType":"YulAssignment","src":"39562:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39574:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39585:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39570:3:150"},"nodeType":"YulFunctionCall","src":"39570:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39562:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39604:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"39619:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39635:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"39639:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"39631:3:150"},"nodeType":"YulFunctionCall","src":"39631:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"39643:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39627:3:150"},"nodeType":"YulFunctionCall","src":"39627:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39615:3:150"},"nodeType":"YulFunctionCall","src":"39615:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39597:6:150"},"nodeType":"YulFunctionCall","src":"39597:50:150"},"nodeType":"YulExpressionStatement","src":"39597:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39521:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39532:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39543:4:150","type":""}],"src":"39453:200:150"},{"body":{"nodeType":"YulBlock","src":"39935:375:150","statements":[{"nodeType":"YulVariableDeclaration","src":"39945:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"39965:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"39959:5:150"},"nodeType":"YulFunctionCall","src":"39959:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"39949:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40020:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"40028:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40016:3:150"},"nodeType":"YulFunctionCall","src":"40016:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"40035:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40040:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"39981:34:150"},"nodeType":"YulFunctionCall","src":"39981:66:150"},"nodeType":"YulExpressionStatement","src":"39981:66:150"},{"nodeType":"YulVariableDeclaration","src":"40056:29:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40073:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40078:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40069:3:150"},"nodeType":"YulFunctionCall","src":"40069:16:150"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"40060:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"40094:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"40116:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40110:5:150"},"nodeType":"YulFunctionCall","src":"40110:13:150"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"40098:8:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"40171:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"40179:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40167:3:150"},"nodeType":"YulFunctionCall","src":"40167:17:150"},{"name":"end_1","nodeType":"YulIdentifier","src":"40186:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"40193:8:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"40132:34:150"},"nodeType":"YulFunctionCall","src":"40132:70:150"},"nodeType":"YulExpressionStatement","src":"40132:70:150"},{"nodeType":"YulVariableDeclaration","src":"40211:33:150","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"40228:5:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"40235:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40224:3:150"},"nodeType":"YulFunctionCall","src":"40224:20:150"},"variables":[{"name":"end_2","nodeType":"YulTypedName","src":"40215:5:150","type":""}]},{"expression":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"40260:5:150"},{"hexValue":"2e6a736f6e","kind":"string","nodeType":"YulLiteral","src":"40267:7:150","type":"","value":".json"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40253:6:150"},"nodeType":"YulFunctionCall","src":"40253:22:150"},"nodeType":"YulExpressionStatement","src":"40253:22:150"},{"nodeType":"YulAssignment","src":"40284:20:150","value":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"40295:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"40302:1:150","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40291:3:150"},"nodeType":"YulFunctionCall","src":"40291:13:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"40284:3:150"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"39903:3:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"39908:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39916:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"39927:3:150","type":""}],"src":"39658:652:150"},{"body":{"nodeType":"YulBlock","src":"40489:245:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40506:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40517:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40499:6:150"},"nodeType":"YulFunctionCall","src":"40499:21:150"},"nodeType":"YulExpressionStatement","src":"40499:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40540:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40551:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40536:3:150"},"nodeType":"YulFunctionCall","src":"40536:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"40556:2:150","type":"","value":"55"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40529:6:150"},"nodeType":"YulFunctionCall","src":"40529:30:150"},"nodeType":"YulExpressionStatement","src":"40529:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40579:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40590:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40575:3:150"},"nodeType":"YulFunctionCall","src":"40575:18:150"},{"hexValue":"47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e","kind":"string","nodeType":"YulLiteral","src":"40595:34:150","type":"","value":"Galaxy Member: _b3trGovernor can"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40568:6:150"},"nodeType":"YulFunctionCall","src":"40568:62:150"},"nodeType":"YulExpressionStatement","src":"40568:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40650:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40661:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40646:3:150"},"nodeType":"YulFunctionCall","src":"40646:18:150"},{"hexValue":"6e6f7420626520746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"40666:25:150","type":"","value":"not be the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40639:6:150"},"nodeType":"YulFunctionCall","src":"40639:53:150"},"nodeType":"YulExpressionStatement","src":"40639:53:150"},{"nodeType":"YulAssignment","src":"40701:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40713:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40724:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40709:3:150"},"nodeType":"YulFunctionCall","src":"40709:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40701:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40466:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40480:4:150","type":""}],"src":"40315:419:150"},{"body":{"nodeType":"YulBlock","src":"40913:252:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40930:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40941:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40923:6:150"},"nodeType":"YulFunctionCall","src":"40923:21:150"},"nodeType":"YulExpressionStatement","src":"40923:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40964:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40975:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40960:3:150"},"nodeType":"YulFunctionCall","src":"40960:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"40980:2:150","type":"","value":"62"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40953:6:150"},"nodeType":"YulFunctionCall","src":"40953:30:150"},"nodeType":"YulExpressionStatement","src":"40953:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41003:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41014:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40999:3:150"},"nodeType":"YulFunctionCall","src":"40999:18:150"},{"hexValue":"47616c6178794d656d6265723a20746f6b656e20617474616368656420746f20","kind":"string","nodeType":"YulLiteral","src":"41019:34:150","type":"","value":"GalaxyMember: token attached to "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40992:6:150"},"nodeType":"YulFunctionCall","src":"40992:62:150"},"nodeType":"YulExpressionStatement","src":"40992:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41074:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41085:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41070:3:150"},"nodeType":"YulFunctionCall","src":"41070:18:150"},{"hexValue":"61206e6f64652c20646574616368206265666f7265207472616e73666572","kind":"string","nodeType":"YulLiteral","src":"41090:32:150","type":"","value":"a node, detach before transfer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41063:6:150"},"nodeType":"YulFunctionCall","src":"41063:60:150"},"nodeType":"YulExpressionStatement","src":"41063:60:150"},{"nodeType":"YulAssignment","src":"41132:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41144:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41155:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41140:3:150"},"nodeType":"YulFunctionCall","src":"41140:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41132:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40890:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40904:4:150","type":""}],"src":"40739:426:150"},{"body":{"nodeType":"YulBlock","src":"41251:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"41297:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41306:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"41309:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"41299:6:150"},"nodeType":"YulFunctionCall","src":"41299:12:150"},"nodeType":"YulExpressionStatement","src":"41299:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"41272:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"41281:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41268:3:150"},"nodeType":"YulFunctionCall","src":"41268:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"41293:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"41264:3:150"},"nodeType":"YulFunctionCall","src":"41264:32:150"},"nodeType":"YulIf","src":"41261:52:150"},{"nodeType":"YulAssignment","src":"41322:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41338:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"41332:5:150"},"nodeType":"YulFunctionCall","src":"41332:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"41322:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41217:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"41228:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"41240:6:150","type":""}],"src":"41170:184:150"},{"body":{"nodeType":"YulBlock","src":"41391:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41408:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41415:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"41420:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41411:3:150"},"nodeType":"YulFunctionCall","src":"41411:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41401:6:150"},"nodeType":"YulFunctionCall","src":"41401:31:150"},"nodeType":"YulExpressionStatement","src":"41401:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41448:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"41451:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41441:6:150"},"nodeType":"YulFunctionCall","src":"41441:15:150"},"nodeType":"YulExpressionStatement","src":"41441:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41472:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"41475:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"41465:6:150"},"nodeType":"YulFunctionCall","src":"41465:15:150"},"nodeType":"YulExpressionStatement","src":"41465:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"41359:127:150"},{"body":{"nodeType":"YulBlock","src":"41694:286:150","statements":[{"nodeType":"YulVariableDeclaration","src":"41704:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41722:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"41727:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41718:3:150"},"nodeType":"YulFunctionCall","src":"41718:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"41731:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41714:3:150"},"nodeType":"YulFunctionCall","src":"41714:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"41708:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41749:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"41764:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"41772:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41760:3:150"},"nodeType":"YulFunctionCall","src":"41760:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41742:6:150"},"nodeType":"YulFunctionCall","src":"41742:34:150"},"nodeType":"YulExpressionStatement","src":"41742:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41796:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41807:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41792:3:150"},"nodeType":"YulFunctionCall","src":"41792:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"41816:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"41824:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41812:3:150"},"nodeType":"YulFunctionCall","src":"41812:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41785:6:150"},"nodeType":"YulFunctionCall","src":"41785:43:150"},"nodeType":"YulExpressionStatement","src":"41785:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41848:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41859:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41844:3:150"},"nodeType":"YulFunctionCall","src":"41844:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"41864:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41837:6:150"},"nodeType":"YulFunctionCall","src":"41837:34:150"},"nodeType":"YulExpressionStatement","src":"41837:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41891:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41902:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41887:3:150"},"nodeType":"YulFunctionCall","src":"41887:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"41907:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41880:6:150"},"nodeType":"YulFunctionCall","src":"41880:31:150"},"nodeType":"YulExpressionStatement","src":"41880:31:150"},{"nodeType":"YulAssignment","src":"41920:54:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"41946:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41958:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41969:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41954:3:150"},"nodeType":"YulFunctionCall","src":"41954:19:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"41928:17:150"},"nodeType":"YulFunctionCall","src":"41928:46:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41920:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41639:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"41650:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"41658:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"41666:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"41674:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41685:4:150","type":""}],"src":"41491:489:150"},{"body":{"nodeType":"YulBlock","src":"42065:169:150","statements":[{"body":{"nodeType":"YulBlock","src":"42111:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42120:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42123:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42113:6:150"},"nodeType":"YulFunctionCall","src":"42113:12:150"},"nodeType":"YulExpressionStatement","src":"42113:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"42086:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"42095:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42082:3:150"},"nodeType":"YulFunctionCall","src":"42082:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"42107:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42078:3:150"},"nodeType":"YulFunctionCall","src":"42078:32:150"},"nodeType":"YulIf","src":"42075:52:150"},{"nodeType":"YulVariableDeclaration","src":"42136:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42155:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"42149:5:150"},"nodeType":"YulFunctionCall","src":"42149:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"42140:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"42198:5:150"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"42174:23:150"},"nodeType":"YulFunctionCall","src":"42174:30:150"},"nodeType":"YulExpressionStatement","src":"42174:30:150"},{"nodeType":"YulAssignment","src":"42213:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"42223:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"42213:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42031:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"42042:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"42054:6:150","type":""}],"src":"41985:249:150"},{"body":{"nodeType":"YulBlock","src":"42368:145:150","statements":[{"nodeType":"YulAssignment","src":"42378:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42390:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42401:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42386:3:150"},"nodeType":"YulFunctionCall","src":"42386:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42378:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42420:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42435:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42451:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"42456:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42447:3:150"},"nodeType":"YulFunctionCall","src":"42447:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"42460:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42443:3:150"},"nodeType":"YulFunctionCall","src":"42443:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42431:3:150"},"nodeType":"YulFunctionCall","src":"42431:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42413:6:150"},"nodeType":"YulFunctionCall","src":"42413:51:150"},"nodeType":"YulExpressionStatement","src":"42413:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42484:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42495:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42480:3:150"},"nodeType":"YulFunctionCall","src":"42480:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"42500:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42473:6:150"},"nodeType":"YulFunctionCall","src":"42473:34:150"},"nodeType":"YulExpressionStatement","src":"42473:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42329:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42340:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42348:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42359:4:150","type":""}],"src":"42239:274:150"},{"body":{"nodeType":"YulBlock","src":"42655:130:150","statements":[{"nodeType":"YulAssignment","src":"42665:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42677:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42688:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42673:3:150"},"nodeType":"YulFunctionCall","src":"42673:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42665:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42707:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42722:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"42730:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42718:3:150"},"nodeType":"YulFunctionCall","src":"42718:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42700:6:150"},"nodeType":"YulFunctionCall","src":"42700:36:150"},"nodeType":"YulExpressionStatement","src":"42700:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42756:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42767:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42752:3:150"},"nodeType":"YulFunctionCall","src":"42752:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"42772:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42745:6:150"},"nodeType":"YulFunctionCall","src":"42745:34:150"},"nodeType":"YulExpressionStatement","src":"42745:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42616:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42627:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42635:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42646:4:150","type":""}],"src":"42518:267:150"},{"body":{"nodeType":"YulBlock","src":"42926:130:150","statements":[{"nodeType":"YulAssignment","src":"42936:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42948:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42959:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42944:3:150"},"nodeType":"YulFunctionCall","src":"42944:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42936:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42978:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"42993:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"43001:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42989:3:150"},"nodeType":"YulFunctionCall","src":"42989:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42971:6:150"},"nodeType":"YulFunctionCall","src":"42971:36:150"},"nodeType":"YulExpressionStatement","src":"42971:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43027:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43038:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43023:3:150"},"nodeType":"YulFunctionCall","src":"43023:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"43043:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43016:6:150"},"nodeType":"YulFunctionCall","src":"43016:34:150"},"nodeType":"YulExpressionStatement","src":"43016:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42887:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42898:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42906:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42917:4:150","type":""}],"src":"42790:266:150"},{"body":{"nodeType":"YulBlock","src":"43107:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"43138:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43159:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43166:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"43171:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43162:3:150"},"nodeType":"YulFunctionCall","src":"43162:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43152:6:150"},"nodeType":"YulFunctionCall","src":"43152:31:150"},"nodeType":"YulExpressionStatement","src":"43152:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43203:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"43206:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43196:6:150"},"nodeType":"YulFunctionCall","src":"43196:15:150"},"nodeType":"YulExpressionStatement","src":"43196:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43231:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"43234:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"43224:6:150"},"nodeType":"YulFunctionCall","src":"43224:15:150"},"nodeType":"YulExpressionStatement","src":"43224:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"43127:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"43120:6:150"},"nodeType":"YulFunctionCall","src":"43120:9:150"},"nodeType":"YulIf","src":"43117:132:150"},{"nodeType":"YulAssignment","src":"43258:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"43267:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"43270:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"43263:3:150"},"nodeType":"YulFunctionCall","src":"43263:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"43258:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"43092:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"43095:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"43101:1:150","type":""}],"src":"43061:217:150"},{"body":{"nodeType":"YulBlock","src":"43420:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"43430:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"43450:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"43444:5:150"},"nodeType":"YulFunctionCall","src":"43444:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"43434:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"43505:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"43513:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43501:3:150"},"nodeType":"YulFunctionCall","src":"43501:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"43520:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"43525:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"43466:34:150"},"nodeType":"YulFunctionCall","src":"43466:66:150"},"nodeType":"YulExpressionStatement","src":"43466:66:150"},{"nodeType":"YulAssignment","src":"43541:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43552:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"43557:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43548:3:150"},"nodeType":"YulFunctionCall","src":"43548:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"43541:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"43396:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43401:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"43412:3:150","type":""}],"src":"43283:287:150"},{"body":{"nodeType":"YulBlock","src":"43607:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43624:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43631:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"43636:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43627:3:150"},"nodeType":"YulFunctionCall","src":"43627:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43617:6:150"},"nodeType":"YulFunctionCall","src":"43617:31:150"},"nodeType":"YulExpressionStatement","src":"43617:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43664:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"43667:4:150","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43657:6:150"},"nodeType":"YulFunctionCall","src":"43657:15:150"},"nodeType":"YulExpressionStatement","src":"43657:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43688:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"43691:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"43681:6:150"},"nodeType":"YulFunctionCall","src":"43681:15:150"},"nodeType":"YulExpressionStatement","src":"43681:15:150"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"43575:127:150"}]},"contents":"{\n    { }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint8t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function validator_revert_bytes4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        if iszero(eq(value_1, and(value_1, 0xffffffffffff))) { revert(0, 0) }\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_5992() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0x0180)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let _3 := shl(5, _1)\n        let dst := allocate_memory(add(_3, _2))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, _3), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_struct$_InitializationData_$38937_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x0180) { revert(0, 0) }\n        let value := allocate_memory_5992()\n        let offset_1 := calldataload(_2)\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(value, abi_decode_bytes(add(_2, offset_1), dataEnd))\n        let offset_2 := calldataload(add(_2, 32))\n        if gt(offset_2, _1) { revert(0, 0) }\n        mstore(add(value, 32), abi_decode_bytes(add(_2, offset_2), dataEnd))\n        mstore(add(value, 64), abi_decode_address(add(_2, 64)))\n        mstore(add(value, 96), abi_decode_address(add(_2, 96)))\n        mstore(add(value, 128), abi_decode_address(add(_2, 128)))\n        mstore(add(value, 160), abi_decode_address(add(_2, 160)))\n        mstore(add(value, 192), abi_decode_address(add(_2, 192)))\n        mstore(add(value, 224), calldataload(add(_2, 224)))\n        let _3 := 256\n        let offset_3 := calldataload(add(_2, _3))\n        if gt(offset_3, _1) { revert(0, 0) }\n        mstore(add(value, _3), abi_decode_bytes(add(_2, offset_3), dataEnd))\n        let _4 := 288\n        let offset_4 := calldataload(add(_2, _4))\n        if gt(offset_4, _1) { revert(0, 0) }\n        mstore(add(value, _4), abi_decode_array_uint256_dyn(add(_2, offset_4), dataEnd))\n        let _5 := 320\n        mstore(add(value, _5), abi_decode_address(add(_2, _5)))\n        let _6 := 352\n        mstore(add(value, _6), abi_decode_address(add(_2, _6)))\n        value0 := value\n    }\n    function abi_encode_struct_TokenInfo(value, pos) -> end\n    {\n        mstore(pos, mload(value))\n        let memberValue0 := mload(add(value, 0x20))\n        mstore(add(pos, 0x20), 0x80)\n        let tail := abi_encode_string(memberValue0, add(pos, 0x80))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n        mstore(add(pos, 0x60), mload(add(value, 0x60)))\n        end := tail\n    }\n    function abi_encode_tuple_t_struct$_TokenInfo_$40626_memory_ptr__to_t_struct$_TokenInfo_$40626_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_TokenInfo(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfo_$40626_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_struct_TokenInfo(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_bool(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_addresst_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        let value_2 := calldataload(add(headStart, 64))\n        validator_revert_address(value_2)\n        value2 := value_2\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_stringliteral_905fb2d8038f6bc33060624f879ee49ab07de5e205ecae8f75b4a75d8d0ef7fd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 27)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_8ca4e4917fb1586cf2044a64aa4284d28316f89cb354cad21885350088a77a1f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node level\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_6d6f67625c429d6f82efa749ddad8d74c0f39a97f22f56324e2bbc9b12450ca3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"GalaxyMember: level must be less\")\n        mstore(add(headStart, 96), \" than or equal to MAX_LEVEL\")\n        tail := add(headStart, 128)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, _1))\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_9e4289e0b36eac2bde8ef8f4fbd0f12f72f502ccc337282d41cd6ab718443074__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 67)\n        mstore(add(headStart, 64), \"Galaxy Member: Max level must be\")\n        mstore(add(headStart, 96), \" greater than the current max le\")\n        mstore(add(headStart, 128), \"vel\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_325c5e38b371da7699aed32989074554e386767858c58d6071e22332afeef2c9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 66)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be set for all levels unlock\")\n        mstore(add(headStart, 128), \"ed\")\n        tail := add(headStart, 160)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_2ef8cf1dcb82436c2d9fcb27652cfb719a8ee312697fdbc7db55d49120c1408f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"Galaxy Member: _xAllocationsGove\")\n        mstore(add(headStart, 96), \"rnor cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_70c4abb02176e7d3eeb8c365c035e851d558ff72af491b07c5ce3067b0317f3f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: caller is not the\")\n        mstore(add(headStart, 96), \" owner of the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_75265e5c7a049950a74ee3823b76272073246401c4047b3104e941b1dd3a1671__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 51)\n        mstore(add(headStart, 64), \"Galaxy Member: you must own the \")\n        mstore(add(headStart, 96), \"Token to upgrade it\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_14636dc83bf722f8e79dcbde3311f5914fca20d46e2af3f79d1ff71450d37a30__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"Galaxy Member: Token is already \")\n        mstore(add(headStart, 96), \"at max level\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_9b567dad627ee75c7a065e496bf886e82fa0a77514ecbbb51abf8767cd165f3c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient bala\")\n        mstore(add(headStart, 96), \"nce to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_d3253f8d3669e1e6186776bbe895558b844fa16788490047a1e8dde25e9ec7e9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: Insufficient allo\")\n        mstore(add(headStart, 96), \"wance to upgrade\")\n        tail := add(headStart, 128)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_e4752b078d0f1d019955b9f1248836b4787c3a017502f540dbd07d4cd769f62f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"GalaxyMember: Transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_b56ca1cffed13c422e2e9622faf8f54fe930c62479f8de94f3e9c4366468c810__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 86)\n        mstore(add(headStart, 64), \"GalaxyMember: vechain node not o\")\n        mstore(add(headStart, 96), \"wned or managed by caller or tok\")\n        mstore(add(headStart, 128), \"en not owned by caller\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_0c7282dd595771ec6bbcedcc2e27ebd626667c75ebd058fbf35572aee3f3680f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: node not attached \")\n        mstore(add(headStart, 96), \"to the token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_15c2c8566b0d7a2c40681be8497c59350b1596edf5210a829f998e6a9020fe4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"GalaxyMember: token not attached\")\n        mstore(add(headStart, 96), \" to the node\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_stringliteral_c5de39d24aeadff75c310ac3fa6c0c28afaff07cd8c2afaad6f22edd5b7e3782__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: Base URI must be \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let ret := 0\n        let slotValue := sload(value0)\n        let length := extract_byte_array_length(slotValue)\n        let _1 := 1\n        switch and(slotValue, _1)\n        case 0 {\n            mstore(pos, and(slotValue, not(255)))\n            ret := add(pos, mul(length, iszero(iszero(length))))\n        }\n        case 1 {\n            mstore(0, value0)\n            let _2 := 0x20\n            let dataPos := keccak256(0, _2)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _2) }\n            {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, _1)\n            }\n            ret := add(pos, length)\n        }\n        end := ret\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := srcOffset_1\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_stringliteral_91c38435180837b66505f155ba123fd2c5fb939b1c068909e9a8a762ef53970a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"Galaxy Member: Public minting is\")\n        mstore(add(headStart, 96), \" paused\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_41044d28b1a6e334d3f90df3e1d72fdefb2a24ec4c67c5affdd70bd44584583e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"Galaxy Member: User has not part\")\n        mstore(add(headStart, 96), \"icipated in governance\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_cf09338e16f11d4ff34ab807c96861350befea26f7bd084fb807a99224f6359f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 47)\n        mstore(add(headStart, 64), \"Galaxy Member: Max level must be\")\n        mstore(add(headStart, 96), \" greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_86e1b14e4d7c52e30999e85eb396758d1264e7b2347f348a053d716160efad7d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 60)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR token addres\")\n        mstore(add(headStart, 96), \"s cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_3545bd09239f672f9b3b80a24b5f1a2e5a85ee9b97161d8a7ef5c63495af3e96__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 58)\n        mstore(add(headStart, 64), \"Galaxy Member: Treasury address \")\n        mstore(add(headStart, 96), \"cannot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_38f6912164eca423b9b8a9fc5e48f1232dbc0fc7a527dd11d0d69b10e05914b4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 66)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be set for all unlocked leve\")\n        mstore(add(headStart, 128), \"ls\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_d279ba82ae5b714145f730a5f7725d3fe42206676ad3bce5db3f58fd424c6734__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 53)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TR to upgrade m\")\n        mstore(add(headStart, 96), \"ust be greater than 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_94cdc5f4b68271bccef9514b9cdefbcf4534cd4413bceff74477a0b06a0775f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 55)\n        mstore(add(headStart, 64), \"Galaxy Member: Admin address can\")\n        mstore(add(headStart, 96), \"not be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_38808120bd2754ef4edaae6463fb748c4b3dcc6d44bb287de78abac0c1ec90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"GalaxyMember: tokenId doesn't ex\")\n        mstore(add(headStart, 96), \"ist\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ceda0fea90e8114fc787be7697355fef14be1e29c7311bab39243b73b67bb6d8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: Invalid size, cann\")\n        mstore(add(headStart, 96), \"ot be 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_e2a78926ae74b05904e25a62986c96ce9983039682797dfb5e05d9d466b5986a_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"GalaxyMember: Invalid size, cann\")\n        mstore(add(pos, 32), \"ot be greater than \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(pos, 51), length)\n        end := add(add(pos, length), 51)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_77bcec7c4dbc55aeeb2f672dffe3a7f386eabd39dfd84497c4915903ff78db6d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"GalaxyMember: token not owned by\")\n        mstore(add(headStart, 96), \" caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ec94def279e556822cbda1422e49cbb86b37371b856453ef2d99e3a61590addf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GalaxyMember: vechain node not o\")\n        mstore(add(headStart, 96), \"wned or managed by caller\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_c7e5fd27d5f146480bfe735cc4f37b6138c28d234862b4d6bc3367a6292b3c41__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: node already attac\")\n        mstore(add(headStart, 96), \"hed to a token\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_d2a192ee878b192b40f25fd984bcc95a1610046331531607cae1bd6049608f55__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"GalaxyMember: token already atta\")\n        mstore(add(headStart, 96), \"ched to a node\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_9fb3a0f2b674984737fe40422b8d3c9c61d91190392aa3f72ad8bf80e4d49c36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"Galaxy Member: XAllocationVoting\")\n        mstore(add(headStart, 96), \"Governor not set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_f7aaaf6d439feb5811f7c94afb500384d5f9d3decd8f4bcf76b2d3f4033303b5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 35)\n        mstore(add(headStart, 64), \"Galaxy Member: B3TRGovernor not \")\n        mstore(add(headStart, 96), \"set\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_stringliteral_5482f30824069c67781a5fd0b5d04b9cc9cdb18180c5a91050d1d30654b0d051__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 56)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node free \")\n        mstore(add(headStart, 96), \"levels. Must be 7 levels\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_6b33f478a6a48c6548abcfa9b97ffa93aee5e02f8e2371ce3b73f56c98dd56ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 54)\n        mstore(add(headStart, 64), \"GalaxyMember: _vechainNodes cann\")\n        mstore(add(headStart, 96), \"ot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_156b19034caa507fb12e7acb3a36656651a125661b5851ab58d70f6cc99bcdfd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GalaxyMember: _nodesMangaement c\")\n        mstore(add(headStart, 96), \"annot be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_ac1de362d59c7018b5a66df5e8e780eb6ed10277edb74e0e83a34fdc0c7b23d4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 37)\n        mstore(add(headStart, 64), \"GalaxyMember: invalid node free \")\n        mstore(add(headStart, 96), \"level\")\n        tail := add(headStart, 128)\n    }\n    function increment_t_uint8(value) -> ret\n    {\n        let value_1 := and(value, 0xff)\n        if eq(value_1, 0xff) { panic_error_0x11() }\n        ret := add(value_1, 1)\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes5__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        let end_2 := add(end_1, length_1)\n        mstore(end_2, \".json\")\n        end := add(end_2, 5)\n    }\n    function abi_encode_tuple_t_stringliteral_8510003de0627ee416a7255ca6fc030a285cf40e3bb1492dc4e4d0784d29e134__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 55)\n        mstore(add(headStart, 64), \"Galaxy Member: _b3trGovernor can\")\n        mstore(add(headStart, 96), \"not be the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_790a79f7f7338417e71baa67278beeab91597f00492eed4056bd0d32bf191ec1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 62)\n        mstore(add(headStart, 64), \"GalaxyMember: token attached to \")\n        mstore(add(headStart, 96), \"a node, detach before transfer\")\n        tail := add(headStart, 128)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_string(value3, add(headStart, 128))\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function panic_error_0x31()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x31)\n        revert(0, 0x24)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":14956},{"length":32,"start":14997},{"length":32,"start":15325}]},"linkReferences":{},"object":"6080604052600436106103405760003560e01c80621db0dd1461034557806301ffc9a71461036757806306fdde031461039c578063081812fc146103be578063095ea7b3146103eb57806318160ddd1461040b57806323b872dd1461042e578063248a9ca31461044e5780632b42df381461046e5780632f2ff15d1461048e5780632f745c59146104ae578063344f1ba5146104ce57806336568abe146104ee5780633af03ea81461050e5780633c60f55d1461052e5780633d6dbee81461054e5780633f4ba83a146105705780633ff453af1461058557806342842e0e146105b757806342966c68146105d757806345977d03146105f75780634a6565e1146106175780634bf5d7e9146106375780634f1ef2861461067d5780634f6ccce71461069057806351c438d1146106b057806352d1902d146106d057806354fd4d50146106e557806355f804b31461070f578063582a486a1461072f5780635b5da514146107445780635b70ea9f146107645780635c975abb146107795780635ecf68e91461078e5780635f4e42ca146107a357806361d027b3146107c35780636352211e146107d8578063643ce418146107f85780636c0360eb146108255780636d5e30321461083a57806370a082311461085a5780637893d7361461087a578063839a19d91461088f5780638456cb59146108af578063851f738e146108c4578063865c380b146108f157806388371110146109115780638c5b76fb1461093157806391d148541461095157806391ddadf414610971578063952f21331461099d578063958fc97d146109bf57806395d89b41146109df578063a1843bd0146109f4578063a217fddf14610a14578063a22cb46514610a29578063a49062d414610a49578063a51d2e0b14610a5e578063aa3491eb14610a7e578063ad3cb1cc14610a9e578063b1ccbd2c14610acf578063b88d4fde14610aef578063c190eb3a14610b0f578063c87b56dd14610b2f578063cc421d0714610b4f578063d206885d14610b6f578063d539139314610b8f578063d547741f14610bb1578063ddd8634d14610bd1578063de4983a214610bf1578063e617e49f14610c11578063e63ab1e914610c31578063e985e9c514610c53578063f72c0d8b14610c73575b600080fd5b34801561035157600080fd5b50610365610360366004614ee8565b610c95565b005b34801561037357600080fd5b50610387610382366004614f2a565b610df4565b60405190151581526020015b60405180910390f35b3480156103a857600080fd5b506103b1610e05565b6040516103939190614f97565b3480156103ca57600080fd5b506103de6103d9366004614faa565b610ea6565b6040516103939190614fc3565b3480156103f757600080fd5b50610365610406366004614ffc565b610ebb565b34801561041757600080fd5b50610420610eca565b604051908152602001610393565b34801561043a57600080fd5b5061036561044936600461501a565b610edf565b34801561045a57600080fd5b50610420610469366004614faa565b610f6a565b34801561047a57600080fd5b50610420610489366004614faa565b610f8a565b34801561049a57600080fd5b506103656104a936600461505b565b610faa565b3480156104ba57600080fd5b506104206104c9366004614ffc565b610fc6565b3480156104da57600080fd5b506103656104e9366004614faa565b611028565b3480156104fa57600080fd5b5061036561050936600461505b565b611194565b34801561051a57600080fd5b5061036561052936600461508b565b6111cc565b34801561053a57600080fd5b506104206105493660046150a8565b6112ca565b34801561055a57600080fd5b50610420600080516020615d7583398151915281565b34801561057c57600080fd5b5061036561130d565b34801561059157600080fd5b506105a56105a0366004614faa565b611330565b60405160ff9091168152602001610393565b3480156105c357600080fd5b506103656105d236600461501a565b6113b2565b3480156105e357600080fd5b506103656105f2366004614faa565b6113cd565b34801561060357600080fd5b50610365610612366004614faa565b611406565b34801561062357600080fd5b506103656106323660046150e1565b61181c565b34801561064357600080fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526103b1565b61036561068b3660046151e1565b611b3b565b34801561069c57600080fd5b506104206106ab366004614faa565b611b56565b3480156106bc57600080fd5b506104206106cb366004614faa565b611bb7565b3480156106dc57600080fd5b50610420611bd5565b3480156106f157600080fd5b506040805180820190915260018152603560f81b60208201526103b1565b34801561071b57600080fd5b5061036561072a366004615230565b611bf2565b34801561073b57600080fd5b506103de611c8f565b34801561075057600080fd5b5061036561075f366004615272565b611cad565b34801561077057600080fd5b50610365611d15565b34801561078557600080fd5b50610387611e04565b34801561079a57600080fd5b506103de611e19565b3480156107af57600080fd5b506103656107be366004615303565b611e34565b3480156107cf57600080fd5b506103de612363565b3480156107e457600080fd5b506103de6107f3366004614faa565b612381565b34801561080457600080fd5b50610818610813366004614faa565b61238c565b60405161039391906154a8565b34801561083157600080fd5b506103b161243c565b34801561084657600080fd5b50610420610855366004614faa565b61244b565b34801561086657600080fd5b5061042061087536600461508b565b61246e565b34801561088657600080fd5b506103de6124c6565b34801561089b57600080fd5b506103656108aa366004614faa565b6124e4565b3480156108bb57600080fd5b506103656124ee565b3480156108d057600080fd5b506108e46108df3660046154bb565b61250e565b60405161039391906154f0565b3480156108fd57600080fd5b5061042061090c366004614faa565b6126f2565b34801561091d57600080fd5b5061036561092c3660046150e1565b612710565b34801561093d57600080fd5b5061038761094c36600461508b565b6129d4565b34801561095d57600080fd5b5061038761096c36600461505b565b612bb8565b34801561097d57600080fd5b50610986612bee565b60405165ffffffffffff9091168152602001610393565b3480156109a957600080fd5b50610420600080516020615d5583398151915281565b3480156109cb57600080fd5b506104206109da366004614faa565b612bf8565b3480156109eb57600080fd5b506103b1612c16565b348015610a0057600080fd5b50610420610a0f3660046150e1565b612c33565b348015610a2057600080fd5b50610420600081565b348015610a3557600080fd5b50610365610a44366004615552565b612c40565b348015610a5557600080fd5b50610420612c4b565b348015610a6a57600080fd5b50610420610a79366004614faa565b612c60565b348015610a8a57600080fd5b50610365610a99366004614ffc565b612cdb565b348015610aaa57600080fd5b506103b1604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610adb57600080fd5b50610365610aea366004615580565b612cf0565b348015610afb57600080fd5b50610365610b0a3660046155b4565b612dd9565b348015610b1b57600080fd5b50610365610b2a36600461561f565b612df0565b348015610b3b57600080fd5b506103b1610b4a366004614faa565b61311e565b348015610b5b57600080fd5b50610420610b6a366004614faa565b6131af565b348015610b7b57600080fd5b50610420610b8a36600461508b565b6131c5565b348015610b9b57600080fd5b50610420600080516020615d3583398151915281565b348015610bbd57600080fd5b50610365610bcc36600461505b565b613206565b348015610bdd57600080fd5b50610365610bec36600461508b565b613222565b348015610bfd57600080fd5b50610818610c0c36600461508b565b613320565b348015610c1d57600080fd5b50610420610c2c366004615687565b61333e565b348015610c3d57600080fd5b50610420600080516020615d1583398151915281565b348015610c5f57600080fd5b50610387610c6e3660046156a4565b613364565b348015610c7f57600080fd5b50610420600080516020615cb583398151915281565b600080516020615d75833981519152610cad816133a3565b6001821015610d015760405162461bcd60e51b815260206004820152601b60248201527a11d85b185e1e53595b58995c8e881a5b9d985b1a59081b195d995b602a1b60448201526064015b60405180910390fd5b60018360ff161015610d555760405162461bcd60e51b815260206004820181905260248201527f47616c6178794d656d6265723a20696e76616c6964206e6f6465206c6576656c6044820152606401610cf8565b6000610d5f6133ad565b90508060060154831115610dd95760405162461bcd60e51b815260206004820152603b60248201527f47616c6178794d656d6265723a206c6576656c206d757374206265206c65737360448201527a081d1a185b881bdc88195c5d585b081d1bc813505617d311559153602a1b6064820152608401610cf8565b60ff9093166000908152600f90930160205250604090912055565b6000610dff826133d1565b92915050565b60606000610e116133f6565b9050806000018054610e22906156d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4e906156d2565b8015610e9b5780601f10610e7057610100808354040283529160200191610e9b565b820191906000526020600020905b815481529060010190602001808311610e7e57829003601f168201915b505050505091505090565b6000610eb18261341a565b50610dff82613452565b610ec682823361347b565b5050565b600080610ed5613488565b6002015492915050565b6001600160a01b038216610f09576000604051633250574960e11b8152600401610cf89190614fc3565b6000610f168383336134ac565b9050836001600160a01b0316816001600160a01b031614610f64576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610cf8565b50505050565b600080610f75613627565b60009384526020525050604090206001015490565b600080610f956133ad565b60009384526008016020525050604090205490565b610fb382610f6a565b610fbc816133a3565b610f64838361364b565b600080610fd1613488565b9050610fdc8461246e565b8310610fff57838360405163295f44f760e21b8152600401610cf892919061570c565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b6000611033816133a3565b600061103d6133ad565b9050806006015483116110b25760405162461bcd60e51b81526020600482015260436024820152600080516020615c5583398151915260448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610cf8565b60025b83811161114a5760008181526008830160205260409020546111385760405162461bcd60e51b81526020600482015260426024820152600080516020615c7583398151915260448201527f7573742062652073657420666f7220616c6c206c6576656c7320756e6c6f636b606482015261195960f21b608482015260a401610cf8565b806111428161573b565b9150506110b5565b506006810180549084905560408051828152602081018690527f53e438896671f1a18a4e583cceb4f0c901de52ef22ad122ea8c7f1f5b2de7450910160405180910390a150505050565b6001600160a01b03811633146111bd5760405163334bd91960e11b815260040160405180910390fd5b6111c782826136ec565b505050565b600080516020615d558339815191526111e4816133a3565b6001600160a01b0382166112605760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610cf8565b600061126a6133ad565b80546040519192506001600160a01b0390811691908516907fd9365634b1542359685e4d736b69f8a87476421f69da0f3f8054668ab19af12990600090a380546001600160a01b0319166001600160a01b03939093169290921790915550565b6000806112d56133ad565b6001600160a01b038516600090815260128201602052604090209091506112fc9084613764565b6001600160d01b0316949350505050565b600080516020615d15833981519152611325816133a3565b61132d61381a565b50565b60008061133b6133ad565b600c810154604051631ceae42f60e01b8152600481018690529192506001600160a01b031690631ceae42f90602401602060405180830381865afa158015611387573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ab9190615754565b9392505050565b6111c783838360405180602001604052806000815250612dd9565b336113d782612381565b6001600160a01b0316146113fd5760405162461bcd60e51b8152600401610cf890615771565b61132d81613871565b61140e61387d565b6114166138b3565b3361142082612381565b6001600160a01b0316146114925760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610cf8565b600061149c6133ad565b905060006114a98361244b565b90506114b3612c4b565b81106115165760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610cf8565b600061152184612c60565b60028401546040516370a0823160e01b815291925082916001600160a01b03909116906370a0823190611558903390600401614fc3565b602060405180830381865afa158015611575573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159991906157c4565b10156115fe5760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610cf8565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa15801561164e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167291906157c4565b10156116d95760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610cf8565b6000848152601084016020526040812080548392906116f99084906157dd565b9091555050600283015460038401546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018490529116906323b872dd906064016020604051808303816000875af115801561175d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178191906157f0565b6117cd5760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610cf8565b837f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854836117f98761244b565b6040805192835260208301919091520160405180910390a250505061132d6138db565b6118246138b3565b600061182e6133ad565b90503361183a83612381565b6001600160a01b031614806118c45750600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa158015611895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b9919061580d565b6001600160a01b0316145b806119445750600c810154604051635d3c373f60e01b81526004810185905233916001600160a01b031690635d3c373f90602401602060405180830381865afa158015611915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611939919061580d565b6001600160a01b0316145b6119c35760405162461bcd60e51b81526020600482015260566024820152600080516020615d9583398151915260448201527f776e6564206f72206d616e616765642062792063616c6c6572206f7220746f6b60648201527532b7103737ba1037bbb732b210313c9031b0b63632b960511b608482015260a401610cf8565b816119cd84611bb7565b14611a2f5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a206e6f6465206e6f742061747461636865642060448201526b3a37903a3432903a37b5b2b760a11b6064820152608401610cf8565b82611a3983612bf8565b14611a9b5760405162461bcd60e51b815260206004820152602c60248201527f47616c6178794d656d6265723a20746f6b656e206e6f7420617474616368656460448201526b20746f20746865206e6f646560a01b6064820152608401610cf8565b6000838152600d820160209081526040808320839055848352600e840190915280822082905551839185917fd391f0bbb61c5821a44e72761001d99f230b0697a92ed3c1f65189377455d7089190a36000611af78360006138ec565b50905083837f48129b4a18f9ca1400152e3f45a48cf58787e9948a48294199c83a66517b859083604051611b2d91815260200190565b60405180910390a350505050565b611b43613a61565b611b4c82613b06565b610ec68282613b1e565b600080611b61613488565b9050611b6b610eca565b8310611b8f5760008360405163295f44f760e21b8152600401610cf892919061570c565b806002018381548110611ba457611ba461582a565b9060005260206000200154915050919050565b6000611bc16133ad565b6000928352600d0160205250604090205490565b6000611bdf613bd2565b50600080516020615cf583398151915290565b6000611bfd816133a3565b6000825111611c1e5760405162461bcd60e51b8152600401610cf890615840565b6000611c286133ad565b905080600401604051611c3b9190615883565b604051809103902083604051611c5191906158f9565b604051908190038120907f309b29ded109b9e28fb9885757b3e0096eb75c51d23aa4635d68bcd569f6adc190600090a360048101610f64848261595b565b600080611c9a6133ad565b600201546001600160a01b031692915050565b6000611cb8816133a3565b6000611cc26133ad565b90507f5021318db3b191bc0f54787c8649fc31d3ea3da887601b922b2f347ff33b7cbe83604051611cf7911515815260200190565b60405180910390a1600b01805460ff19169215159290921790915550565b6000611d1f6133ad565b600b81015490915060ff1615611d875760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610cf8565b611d90336129d4565b611dfb5760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610cf8565b61132d33613c1b565b600080611e0f613c4c565b5460ff1692915050565b600080611e246133ad565b546001600160a01b031692915050565b6000611e3e613c70565b805490915060ff600160401b82041615906001600160401b0316600081158015611e655750825b90506000826001600160401b03166001148015611e815750303b155b905081158015611e8f575080155b15611ead5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611ed657845460ff60401b1916600160401b1785555b60008660e0015111611f305760405162461bcd60e51b815260206004820152602f6024820152600080516020615c5583398151915260448201526e02067726561746572207468616e203608c1b6064820152608401610cf8565b60008661010001515111611f565760405162461bcd60e51b8152600401610cf890615840565b6101408601516001600160a01b0316611fd65760405162461bcd60e51b815260206004820152603c60248201527f47616c617879204d656d6265723a204233545220746f6b656e2061646472657360448201527b732063616e6e6f7420626520746865207a65726f206164647265737360201b6064820152608401610cf8565b6101608601516001600160a01b03166120545760405162461bcd60e51b815260206004820152603a60248201527f47616c617879204d656d6265723a20547265617375727920616464726573732060448201527963616e6e6f7420626520746865207a65726f206164647265737360301b6064820152608401610cf8565b60018660e001516120659190615a1a565b8661012001515110156120d95760405162461bcd60e51b81526020600482015260426024820152600080516020615c7583398151915260448201527f7573742062652073657420666f7220616c6c20756e6c6f636b6564206c6576656064820152616c7360f01b608482015260a401610cf8565b6120eb86600001518760200151613c94565b6120f3613ca6565b6120fb613cae565b612103613ca6565b61210b613ca6565b612113613cbe565b61211b613ca6565b60006121256133ad565b905086610100015181600401908161213d919061595b565b5060005b876101200151518110156121e257600088610120015182815181106121685761216861582a565b60200260200101511161218d5760405162461bcd60e51b8152600401610cf890615a2d565b87610120015181815181106121a4576121a461582a565b60200260200101518260080160008360026121bf91906157dd565b8152602081019190915260400160002055806121da8161573b565b915050612141565b5060e087015160068201556101408701516002820180546001600160a01b03199081166001600160a01b039384161790915561016089015160038401805490921690831617905560408801511661229b5760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a2041646d696e20616464726573732063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610cf8565b6122ac6000801b886040015161364b565b506122c9600080516020615cb5833981519152886060015161364b565b506122e6600080516020615d15833981519152886080015161364b565b50612303600080516020615d358339815191528860a0015161364b565b50612320600080516020615d558339815191528860c0015161364b565b5050831561235b57845460ff60401b19168555604051600080516020615c958339815191529061235290600190615a70565b60405180910390a15b505050505050565b60008061236e6133ad565b600301546001600160a01b031692915050565b6000610dff8261341a565b612394614eb1565b600061239f83613cce565b6001600160a01b0316036124015760405162461bcd60e51b815260206004820152602360248201527f47616c6178794d656d6265723a20746f6b656e496420646f65736e27742065786044820152621a5cdd60ea1b6064820152608401610cf8565b612409614eb1565b8281526124158361311e565b60208201526124238361244b565b604082015261243183612c60565b606082015292915050565b6060612446613cf7565b905090565b60008061245783612bf8565b9050600061246584836138ec565b50949350505050565b6000806124796133f6565b90506001600160a01b0383166124a55760006040516322718ad960e21b8152600401610cf89190614fc3565b6001600160a01b039092166000908152600390920160205250604090205490565b6000806124d16133ad565b600101546001600160a01b031692915050565b61132d3382613d14565b600080516020615d15833981519152612506816133a3565b61132d613dd8565b60608160000361255e5760405162461bcd60e51b81526020600482015260276024820152600080516020615c3583398151915260448201526606f7420626520360cc1b6064820152608401610cf8565b6064808311156125a75761257181613e1f565b6040516020016125819190615a84565b60408051601f198184030181529082905262461bcd60e51b8252610cf891600401614f97565b60006125b28661246e565b905060006125c08587615ad3565b90508181106126055760408051600080825260208201909252906125fa565b6125e7614eb1565b8152602001906001900390816125df5790505b5093505050506113ab565b600061261186836157dd565b90508281111561261e5750815b600061262a8383615a1a565b90506000816001600160401b0381111561264657612646615103565b60405190808252806020026020018201604052801561267f57816020015b61266c614eb1565b8152602001906001900390816126645790505b50905060005b828110156126e457600061269982876157dd565b905060006126a78d83610fc6565b90506126b28161238c565b8484815181106126c4576126c461582a565b6020026020010181905250505080806126dc9061573b565b915050612685565b509998505050505050505050565b60006126fc6133ad565b600092835260100160205250604090205490565b6127186138b3565b60006127226133ad565b90503361272e83612381565b6001600160a01b0316146127945760405162461bcd60e51b815260206004820152602760248201527f47616c6178794d656d6265723a20746f6b656e206e6f74206f776e65642062796044820152661031b0b63632b960c91b6064820152608401610cf8565b600c810154604051634f16179f60e11b81526004810185905233916001600160a01b031690639e2c2f3e90602401602060405180830381865afa1580156127df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612803919061580d565b6001600160a01b0316146128695760405162461bcd60e51b81526020600482015260396024820152600080516020615d958339815191526044820152783bb732b21037b91036b0b730b3b2b210313c9031b0b63632b960391b6064820152608401610cf8565b61287283611bb7565b156128d65760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a206e6f646520616c726561647920617474616360448201526d3432b2103a379030903a37b5b2b760911b6064820152608401610cf8565b6128df82612bf8565b156129435760405162461bcd60e51b815260206004820152602e60248201527f47616c6178794d656d6265723a20746f6b656e20616c7265616479206174746160448201526d6368656420746f2061206e6f646560901b6064820152608401610cf8565b6000838152600d820160209081526040808320859055848352600e840190915280822085905551839185917fb7dd3be96487dcdf850b8109db67313befd6e4022f3faec019619391cd95913f9190a3600061299e83856138ec565b50905083837fdd061ffadd9dff78128b6af54abbf2b83cbc680b9f75a2c08294800146baace783604051611b2d91815260200190565b6000806129df6133ad565b80549091506001600160a01b0316612a525760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610cf8565b60018101546001600160a01b0316612ab85760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610cf8565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612ae7908690600401614fc3565b602060405180830381865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2891906157f0565b80612ba157506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90612b60908690600401614fc3565b602060405180830381865afa158015612b7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba191906157f0565b15612baf5750600192915050565b50600092915050565b600080612bc3613627565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000612446613eb1565b6000612c026133ad565b6000928352600e0160205250604090205490565b60606000612c226133f6565b9050806001018054610e22906156d2565b60008061246584846138ec565b610ec6338383613ebc565b600080612c566133ad565b6006015492915050565b600080612c6c83613cce565b6001600160a01b031603612c8257506000919050565b6000612c8d83612bf8565b9050600080612c9c85846138ec565b91509150612ca8612c4b565b8203612cb957506000949350505050565b80612cc86104898460016157dd565b612cd29190615a1a565b95945050505050565b6000612ce6816133a3565b6111c78383613d14565b6000612cfb816133a3565b6000612d056133ad565b905060005b8351811015612d9c576000848281518110612d2757612d2761582a565b602002602001015111612d4c5760405162461bcd60e51b8152600401610cf890615a2d565b838181518110612d5e57612d5e61582a565b6020026020010151826008016000836002612d7991906157dd565b815260208101919091526040016000205580612d948161573b565b915050612d0a565b507f0f2521083e08ca3f37d49583abc9580665e796ebb1f7b803f30e3651275bf87083604051612dcc9190615aea565b60405180910390a1505050565b612de4848484610edf565b610f6484848484613f58565b60026000612dfc613c70565b8054909150600160401b900460ff1680612e23575080546001600160401b03808416911610155b15612e415760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781558251600814612ec05760405162461bcd60e51b81526020600482015260386024820152600080516020615cd58339815191526044820152776c6576656c732e204d7573742062652037206c6576656c7360401b6064820152608401610cf8565b6001600160a01b038616612f355760405162461bcd60e51b815260206004820152603660248201527f47616c6178794d656d6265723a205f7665636861696e4e6f6465732063616e6e6044820152756f7420626520746865207a65726f206164647265737360501b6064820152608401610cf8565b6001600160a01b038516612fad5760405162461bcd60e51b815260206004820152603960248201527f47616c6178794d656d6265723a205f6e6f6465734d616e6761656d656e742063604482015278616e6e6f7420626520746865207a65726f206164647265737360381b6064820152608401610cf8565b6000612fb76133ad565b600b81018054610100600160a81b0319166101006001600160a01b038b81169190910291909117909155600c820180546001600160a01b031916918916919091179055600581015490915015613011578060050154613014565b60015b600582015560005b84518160ff1610156130da576001858260ff168151811061303f5761303f61582a565b602002602001015110156130915760405162461bcd60e51b81526020600482015260256024820152600080516020615cd58339815191526044820152641b195d995b60da1b6064820152608401610cf8565b848160ff16815181106130a6576130a661582a565b60209081029190910181015160ff83166000908152600f8501909252604090912055806130d281615b2e565b91505061301c565b506130f3600080516020615d758339815191528661364b565b5050805460ff60401b19168155604051600080516020615c9583398151915290612352908490615a70565b6060600061312b83613cce565b6001600160a01b03160361314d57505060408051602081019091526000815290565b60006131588361244b565b90506000811161317757604051806020016040528060008152506113ab565b61317f61243c565b61318882613e1f565b604051602001613199929190615b4d565b6040516020818303038152906040529392505050565b6000806131bd8360006138ec565b509392505050565b6000806131d06133ad565b6001600160a01b038416600090815260128201602052604090209091506131f69061406f565b6001600160d01b03169392505050565b61320f82610f6a565b613218816133a3565b610f6483836136ec565b600080516020615d5583398151915261323a816133a3565b6001600160a01b0382166132b05760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610cf8565b60006132ba6133ad565b60018101546040519192506001600160a01b0390811691908516907f95ebd3ff3915ee96ee38c1e67a23d1e1adcb9b82fb8a930067dcee36b72a827090600090a360010180546001600160a01b0319166001600160a01b03939093169290921790915550565b613328614eb1565b6000613333836131c5565b90506113ab8161238c565b60006133486133ad565b60ff9092166000908152600f9290920160205250604090205490565b60008061336f6133f6565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b61132d813361409f565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b60006001600160e01b03198216637965db0b60e01b1480610dff5750610dff826140ca565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b60008061342683613cce565b90506001600160a01b038116610dff57604051637e27328960e01b815260048101849052602401610cf8565b60008061345d6133f6565b6000938452600401602052505060409020546001600160a01b031690565b6111c783838360016140ef565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b60006134b66138b3565b6134bf83612bf8565b156135325760405162461bcd60e51b815260206004820152603e60248201527f47616c6178794d656d6265723a20746f6b656e20617474616368656420746f2060448201527f61206e6f64652c20646574616368206265666f7265207472616e7366657200006064820152608401610cf8565b600061353f8585856141f9565b90506001600160a01b0381161580159061355f575061355d8161246e565b155b1561359f5761359c61356f612bee565b60006135796133ad565b6001600160a01b038516600090815260129190910160205260409020919061420e565b50505b6001600160a01b038116158015906135be5750836135bc826131c5565b145b80156135d2575060006135d08261246e565b115b156135eb576135eb816135e6836000610fc6565b613d14565b6001600160a01b0385161580159061360b57506136078561246e565b6001145b1561361f5761361f856135e6876000610fc6565b949350505050565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b600080613656613627565b90506136628484612bb8565b6136e2576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556136983390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610dff565b6000915050610dff565b6000806136f7613627565b90506137038484612bb8565b156136e2576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610dff565b8154600090818160058111156137c357600061377f84614229565b6137899085615a1a565b60008881526020902090915081015465ffffffffffff90811690871610156137b3578091506137c1565b6137be8160016157dd565b92505b505b60006137d187878585614311565b9050801561380c576137f6876137e8600184615a1a565b600091825260209091200190565b54600160301b90046001600160d01b031661380f565b60005b979650505050505050565b61382261436b565b600061382c613c4c565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516138669190614fc3565b60405180910390a150565b610ec6600082336134ac565b6000613887614390565b8054909150600119016138ad57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6138bb611e04565b156138d95760405163d93c066560e01b815260040160405180910390fd5b565b60006138e5614390565b6001905550565b60008060006138f96133ad565b90506001841580159061398e575061391086612381565b600c830154604051634f16179f60e11b8152600481018890526001600160a01b039283169290911690639e2c2f3e90602401602060405180830381865afa15801561395f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613983919061580d565b6001600160a01b0316145b156139d457600061399e86611330565b905060ff8116156139d25760006139b48261333e565b905083600601548111156139cc5783600601546139ce565b805b9250505b505b6000868152601083016020526040812054906139f18360016157dd565b90505b83600601548111613a545760008181526008850160205260409020548210613a3d5760008181526008850160205260409020549092508290613a369083615a1a565b9150613a42565b613a54565b80613a4c8161573b565b9150506139f4565b5090969095509350505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480613ae857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316613adc600080516020615cf5833981519152546001600160a01b031690565b6001600160a01b031614155b156138d95760405163703e46dd60e11b815260040160405180910390fd5b600080516020615cb5833981519152610ec6816133a3565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613b78575060408051601f3d908101601f19168201909252613b75918101906157c4565b60015b613b975781604051634c9c8ce360e01b8152600401610cf89190614fc3565b600080516020615cf58339815191528114613bc857604051632a87526960e21b815260048101829052602401610cf8565b6111c783836143b4565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146138d95760405163703e46dd60e11b815260040160405180910390fd5b6000613c256133ad565b6005810180549192506000919082613c3c8361573b565b9190505590506111c7838261440a565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613c9c614424565b610ec68282614449565b6138d9614424565b613cb6614424565b6138d9614477565b613cc6614424565b6138d9614494565b600080613cd96133f6565b6000938452600201602052505060409020546001600160a01b031690565b60606000613d036133ad565b9050806004018054610e22906156d2565b816001600160a01b0316613d2782612381565b6001600160a01b031614613d4d5760405162461bcd60e51b8152600401610cf890615771565b6000613d576133ad565b9050613d8e613d64612bee565b613d6d8461449c565b6001600160a01b03861660009081526012850160205260409020919061420e565b5050826001600160a01b03167fd3818de8151087adedb4219255d574b8fd0658bfacde78fee2b4691fbd99a8fc83604051613dcb91815260200190565b60405180910390a2505050565b613de06138b3565b6000613dea613c4c565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586138593390565b60606000613e2c836144d4565b60010190506000816001600160401b03811115613e4b57613e4b615103565b6040519080825280601f01601f191660200182016040528015613e75576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613e7f57509392505050565b6000612446436145aa565b6000613ec66133f6565b90506001600160a01b038316613ef15782604051630b61174360e31b8152600401610cf89190614fc3565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611b2d565b6001600160a01b0383163b15610f6457604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613f9a903390889087908790600401615ba2565b6020604051808303816000875af1925050508015613fd5575060408051601f3d908101601f19168201909252613fd291810190615bdf565b60015b614035573d808015614003576040519150601f19603f3d011682016040523d82523d6000602084013e614008565b606091505b50805160000361402d5783604051633250574960e11b8152600401610cf89190614fc3565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146140685783604051633250574960e11b8152600401610cf89190614fc3565b5050505050565b80546000908015612baf57614089836137e8600184615a1a565b54600160301b90046001600160d01b03166113ab565b6140a98282612bb8565b610ec657808260405163e2517d3f60e01b8152600401610cf892919061570c565b60006001600160e01b0319821663780e9d6360e01b1480610dff5750610dff826145dd565b60006140f96133f6565b9050818061410f57506001600160a01b03831615155b156141c857600061411f8561341a565b90506001600160a01b0384161580159061414b5750836001600160a01b0316816001600160a01b031614155b801561415e575061415c8185613364565b155b1561417e578360405163a9fbf51f60e01b8152600401610cf89190614fc3565b82156141c65784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b60006142036138b3565b61361f84848461462d565b60008061421c8585856146bb565b915091505b935093915050565b60008160000361423b57506000919050565b6000600161424884614835565b901c6001901b9050600181848161426157614261615b8c565b048201901c9050600181848161427957614279615b8c565b048201901c9050600181848161429157614291615b8c565b048201901c905060018184816142a9576142a9615b8c565b048201901c905060018184816142c1576142c1615b8c565b048201901c905060018184816142d9576142d9615b8c565b048201901c905060018184816142f1576142f1615b8c565b048201901c90506113ab8182858161430b5761430b615b8c565b046148c9565b60005b818310156131bd57600061432884846148df565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561435757809250614365565b6143628160016157dd565b93505b50614314565b614373611e04565b6138d957604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b6143bd826148fa565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115614402576111c78282614956565b610ec66149c3565b610ec68282604051806020016040528060008152506149e2565b61442c6149f9565b6138d957604051631afcd79f60e31b815260040160405180910390fd5b614451614424565b600061445b6133f6565b905080614468848261595b565b5060018101610f64838261595b565b61447f614424565b6000614489613c4c565b805460ff1916905550565b6138db614424565b60006001600160d01b038211156144d0576040516306dfcc6560e41b815260d0600482015260248101839052604401610cf8565b5090565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106145135772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b831061453d576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061455b57662386f26fc10000830492506010015b6305f5e1008310614573576305f5e100830492506008015b612710831061458757612710830492506004015b60648310614599576064830492506002015b600a8310610dff5760010192915050565b600065ffffffffffff8211156144d0576040516306dfcc6560e41b81526030600482015260248101839052604401610cf8565b60006001600160e01b031982166380ac58cd60e01b148061460e57506001600160e01b03198216635b5e139f60e01b145b80610dff57506301ffc9a760e01b6001600160e01b0319831614610dff565b60008061463b858585614a13565b90506001600160a01b0381166146595761465484614b1a565b61467c565b846001600160a01b0316816001600160a01b03161461467c5761467c8185614b53565b6001600160a01b0385166146985761469384614bf4565b61361f565b846001600160a01b0316816001600160a01b03161461361f5761361f8585614cbd565b8254600090819080156147da5760006146d9876137e8600185615a1a565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561472d57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036147795784614750886137e8600186615a1a565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556147ca565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506142219050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081614221565b600080608083901c1561484a57608092831c92015b604083901c1561485c57604092831c92015b602083901c1561486e57602092831c92015b601083901c1561488057601092831c92015b600883901c1561489257600892831c92015b600483901c156148a457600492831c92015b600283901c156148b657600292831c92015b600183901c15610dff5760010192915050565b60008183106148d857816113ab565b5090919050565b60006148ee6002848418615bfc565b6113ab908484166157dd565b806001600160a01b03163b6000036149275780604051634c9c8ce360e01b8152600401610cf89190614fc3565b600080516020615cf583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161497391906158f9565b600060405180830381855af49150503d80600081146149ae576040519150601f19603f3d011682016040523d82523d6000602084013e6149b3565b606091505b5091509150612cd2858383614d15565b34156138d95760405163b398979f60e01b815260040160405180910390fd5b6149ec8383614d68565b6111c76000848484613f58565b6000614a03613c70565b54600160401b900460ff16919050565b600080614a1e6133f6565b90506000614a2b85613cce565b90506001600160a01b03841615614a4757614a47818587614dcd565b6001600160a01b03811615614a8757614a646000866000806140ef565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615614ab8576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b6000614b24613488565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b6000614b5d613488565b90506000614b6a8461246e565b6000848152600184016020526040902054909150808214614bbf576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b6000614bfe613488565b6002810154909150600090614c1590600190615a1a565b6000848152600384016020526040812054600285018054939450909284908110614c4157614c4161582a565b9060005260206000200154905080846002018381548110614c6457614c6461582a565b600091825260208083209091019290925582815260038601909152604080822084905586825281205560028401805480614ca057614ca0615c1e565b600190038181906000526020600020016000905590555050505050565b6000614cc7613488565b905060006001614cd68561246e565b614ce09190615a1a565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b606082614d2a57614d2582614e23565b6113ab565b8151158015614d4157506001600160a01b0384163b155b15614d615783604051639996b31560e01b8152600401610cf89190614fc3565b50806113ab565b6001600160a01b038216614d92576000604051633250574960e11b8152600401610cf89190614fc3565b6000614da0838360006134ac565b90506001600160a01b038116156111c75760006040516339e3563760e11b8152600401610cf89190614fc3565b614dd8838383614e4c565b6111c7576001600160a01b038316614e0657604051637e27328960e01b815260048101829052602401610cf8565b818160405163177e802f60e01b8152600401610cf892919061570c565b805115614e335780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b0383161580159061361f5750826001600160a01b0316846001600160a01b03161480614e865750614e868484613364565b8061361f5750826001600160a01b0316614e9f83613452565b6001600160a01b031614949350505050565b6040518060800160405280600081526020016060815260200160008152602001600081525090565b60ff8116811461132d57600080fd5b60008060408385031215614efb57600080fd5b8235614f0681614ed9565b946020939093013593505050565b6001600160e01b03198116811461132d57600080fd5b600060208284031215614f3c57600080fd5b81356113ab81614f14565b60005b83811015614f62578181015183820152602001614f4a565b50506000910152565b60008151808452614f83816020860160208601614f47565b601f01601f19169290920160200192915050565b6020815260006113ab6020830184614f6b565b600060208284031215614fbc57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461132d57600080fd5b8035614ff781614fd7565b919050565b6000806040838503121561500f57600080fd5b8235614f0681614fd7565b60008060006060848603121561502f57600080fd5b833561503a81614fd7565b9250602084013561504a81614fd7565b929592945050506040919091013590565b6000806040838503121561506e57600080fd5b82359150602083013561508081614fd7565b809150509250929050565b60006020828403121561509d57600080fd5b81356113ab81614fd7565b600080604083850312156150bb57600080fd5b82356150c681614fd7565b9150602083013565ffffffffffff8116811461508057600080fd5b600080604083850312156150f457600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b038111828210171561513c5761513c615103565b60405290565b604051601f8201601f191681016001600160401b038111828210171561516a5761516a615103565b604052919050565b600082601f83011261518357600080fd5b81356001600160401b0381111561519c5761519c615103565b6151af601f8201601f1916602001615142565b8181528460208386010111156151c457600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156151f457600080fd5b82356151ff81614fd7565b915060208301356001600160401b0381111561521a57600080fd5b61522685828601615172565b9150509250929050565b60006020828403121561524257600080fd5b81356001600160401b0381111561525857600080fd5b61361f84828501615172565b801515811461132d57600080fd5b60006020828403121561528457600080fd5b81356113ab81615264565b600082601f8301126152a057600080fd5b813560206001600160401b038211156152bb576152bb615103565b8160051b6152ca828201615142565b92835284810182019282810190878511156152e457600080fd5b83870192505b8483101561380f578235825291830191908301906152ea565b60006020828403121561531557600080fd5b81356001600160401b038082111561532c57600080fd5b90830190610180828603121561534157600080fd5b615349615119565b82358281111561535857600080fd5b61536487828601615172565b82525060208301358281111561537957600080fd5b61538587828601615172565b60208301525061539760408401614fec565b60408201526153a860608401614fec565b60608201526153b960808401614fec565b60808201526153ca60a08401614fec565b60a08201526153db60c08401614fec565b60c082015260e083013560e082015261010080840135838111156153fe57600080fd5b61540a88828701615172565b828401525050610120808401358381111561542457600080fd5b6154308882870161528f565b8284015250506101409150615446828401614fec565b82820152610160915061545a828401614fec565b91810191909152949350505050565b8051825260006020820151608060208501526154886080850182614f6b565b905060408301516040850152606083015160608501528091505092915050565b6020815260006113ab6020830184615469565b6000806000606084860312156154d057600080fd5b83356154db81614fd7565b95602085013595506040909401359392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561554557603f19888603018452615533858351615469565b94509285019290850190600101615517565b5092979650505050505050565b6000806040838503121561556557600080fd5b823561557081614fd7565b9150602083013561508081615264565b60006020828403121561559257600080fd5b81356001600160401b038111156155a857600080fd5b61361f8482850161528f565b600080600080608085870312156155ca57600080fd5b84356155d581614fd7565b935060208501356155e581614fd7565b92506040850135915060608501356001600160401b0381111561560757600080fd5b61561387828801615172565b91505092959194509250565b6000806000806080858703121561563557600080fd5b843561564081614fd7565b9350602085013561565081614fd7565b9250604085013561566081614fd7565b915060608501356001600160401b0381111561567b57600080fd5b6156138782880161528f565b60006020828403121561569957600080fd5b81356113ab81614ed9565b600080604083850312156156b757600080fd5b82356156c281614fd7565b9150602083013561508081614fd7565b600181811c908216806156e657607f821691505b60208210810361570657634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b60006001820161574d5761574d615725565b5060010190565b60006020828403121561576657600080fd5b81516113ab81614ed9565b60208082526033908201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656040820152721037bbb732b91037b3103a3432903a37b5b2b760691b606082015260800190565b6000602082840312156157d657600080fd5b5051919050565b80820180821115610dff57610dff615725565b60006020828403121561580257600080fd5b81516113ab81615264565b60006020828403121561581f57600080fd5b81516113ab81614fd7565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f47616c617879204d656d6265723a204261736520555249206d757374206265206040820152621cd95d60ea1b606082015260800190565b6000808354615891816156d2565b600182811680156158a957600181146158be576158ed565b60ff19841687528215158302870194506158ed565b8760005260208060002060005b858110156158e45781548a8201529084019082016158cb565b50505082870194505b50929695505050505050565b6000825161590b818460208701614f47565b9190910192915050565b601f8211156111c757600081815260208120601f850160051c8101602086101561593c5750805b601f850160051c820191505b8181101561235b57828155600101615948565b81516001600160401b0381111561597457615974615103565b6159888161598284546156d2565b84615915565b602080601f8311600181146159bd57600084156159a55750858301515b600019600386901b1c1916600185901b17855561235b565b600085815260208120601f198616915b828110156159ec578886015182559484019460019091019084016159cd565b5085821015615a0a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610dff57610dff615725565b6020808252603590820152600080516020615c7583398151915260408201527407573742062652067726561746572207468616e203605c1b606082015260800190565b6001600160401b0391909116815260200190565b600080516020615c35833981519152815272037ba1031329033b932b0ba32b9103a3430b71606d1b602082015260008251615ac6816033850160208701614f47565b9190910160330192915050565b8082028115828204841417610dff57610dff615725565b6020808252825182820181905260009190848201906040850190845b81811015615b2257835183529284019291840191600101615b06565b50909695505050505050565b600060ff821660ff8103615b4457615b44615725565b60010192915050565b60008351615b5f818460208801614f47565b835190830190615b73818360208801614f47565b64173539b7b760d91b9101908152600501949350505050565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615bd590830184614f6b565b9695505050505050565b600060208284031215615bf157600080fd5b81516113ab81614f14565b600082615c1957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfe47616c6178794d656d6265723a20496e76616c69642073697a652c2063616e6e47616c617879204d656d6265723a204d6178206c6576656c206d75737420626547616c617879204d656d6265723a204233545220746f2075706772616465206dc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e347616c6178794d656d6265723a20696e76616c6964206e6f6465206672656520360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a656af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7ec2743ecd930b6d8db7bf09a22356b40139ba68f0870c5886000e66cf32e02f547616c6178794d656d6265723a207665636861696e206e6f6465206e6f74206fa2646970667358221220d75f8bfb9cadccc9b66eacabfcd20a7b327529c3442a231553f5c6dd707594ca64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x340 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x1DB0DD EQ PUSH2 0x345 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x367 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x39C JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x3BE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x3EB JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x40B JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x42E JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x44E JUMPI DUP1 PUSH4 0x2B42DF38 EQ PUSH2 0x46E JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x48E JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x4AE JUMPI DUP1 PUSH4 0x344F1BA5 EQ PUSH2 0x4CE JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x4EE JUMPI DUP1 PUSH4 0x3AF03EA8 EQ PUSH2 0x50E JUMPI DUP1 PUSH4 0x3C60F55D EQ PUSH2 0x52E JUMPI DUP1 PUSH4 0x3D6DBEE8 EQ PUSH2 0x54E JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x570 JUMPI DUP1 PUSH4 0x3FF453AF EQ PUSH2 0x585 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x5B7 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x5D7 JUMPI DUP1 PUSH4 0x45977D03 EQ PUSH2 0x5F7 JUMPI DUP1 PUSH4 0x4A6565E1 EQ PUSH2 0x617 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x637 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x67D JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x690 JUMPI DUP1 PUSH4 0x51C438D1 EQ PUSH2 0x6B0 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x6D0 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x6E5 JUMPI DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x70F JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0x72F JUMPI DUP1 PUSH4 0x5B5DA514 EQ PUSH2 0x744 JUMPI DUP1 PUSH4 0x5B70EA9F EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x779 JUMPI DUP1 PUSH4 0x5ECF68E9 EQ PUSH2 0x78E JUMPI DUP1 PUSH4 0x5F4E42CA EQ PUSH2 0x7A3 JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7C3 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x7D8 JUMPI DUP1 PUSH4 0x643CE418 EQ PUSH2 0x7F8 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x825 JUMPI DUP1 PUSH4 0x6D5E3032 EQ PUSH2 0x83A JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x85A JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x87A JUMPI DUP1 PUSH4 0x839A19D9 EQ PUSH2 0x88F JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x8AF JUMPI DUP1 PUSH4 0x851F738E EQ PUSH2 0x8C4 JUMPI DUP1 PUSH4 0x865C380B EQ PUSH2 0x8F1 JUMPI DUP1 PUSH4 0x88371110 EQ PUSH2 0x911 JUMPI DUP1 PUSH4 0x8C5B76FB EQ PUSH2 0x931 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x951 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x971 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x99D JUMPI DUP1 PUSH4 0x958FC97D EQ PUSH2 0x9BF JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x9DF JUMPI DUP1 PUSH4 0xA1843BD0 EQ PUSH2 0x9F4 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xA14 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0xA29 JUMPI DUP1 PUSH4 0xA49062D4 EQ PUSH2 0xA49 JUMPI DUP1 PUSH4 0xA51D2E0B EQ PUSH2 0xA5E JUMPI DUP1 PUSH4 0xAA3491EB EQ PUSH2 0xA7E JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xA9E JUMPI DUP1 PUSH4 0xB1CCBD2C EQ PUSH2 0xACF JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0xAEF JUMPI DUP1 PUSH4 0xC190EB3A EQ PUSH2 0xB0F JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0xB2F JUMPI DUP1 PUSH4 0xCC421D07 EQ PUSH2 0xB4F JUMPI DUP1 PUSH4 0xD206885D EQ PUSH2 0xB6F JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0xB8F JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xBB1 JUMPI DUP1 PUSH4 0xDDD8634D EQ PUSH2 0xBD1 JUMPI DUP1 PUSH4 0xDE4983A2 EQ PUSH2 0xBF1 JUMPI DUP1 PUSH4 0xE617E49F EQ PUSH2 0xC11 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0xC31 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xC53 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xC73 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x351 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x360 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EE8 JUMP JUMPDEST PUSH2 0xC95 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0x382 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F2A JUMP JUMPDEST PUSH2 0xDF4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH2 0xE05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x4F97 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x3D9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0xEA6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x406 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FFC JUMP JUMPDEST PUSH2 0xEBB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xECA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x43A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x449 CALLDATASIZE PUSH1 0x4 PUSH2 0x501A JUMP JUMPDEST PUSH2 0xEDF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x469 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0xF6A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x489 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0xF8A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x4A9 CALLDATASIZE PUSH1 0x4 PUSH2 0x505B JUMP JUMPDEST PUSH2 0xFAA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x4C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FFC JUMP JUMPDEST PUSH2 0xFC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x4E9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1028 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x509 CALLDATASIZE PUSH1 0x4 PUSH2 0x505B JUMP JUMPDEST PUSH2 0x1194 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x529 CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x11CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x53A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x549 CALLDATASIZE PUSH1 0x4 PUSH2 0x50A8 JUMP JUMPDEST PUSH2 0x12CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x55A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x57C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x130D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x591 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A5 PUSH2 0x5A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1330 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x5D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x501A JUMP JUMPDEST PUSH2 0x13B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x5F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x13CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x603 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x612 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1406 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x623 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x632 CALLDATASIZE PUSH1 0x4 PUSH2 0x50E1 JUMP JUMPDEST PUSH2 0x181C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3B1 JUMP JUMPDEST PUSH2 0x365 PUSH2 0x68B CALLDATASIZE PUSH1 0x4 PUSH2 0x51E1 JUMP JUMPDEST PUSH2 0x1B3B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x69C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x6AB CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1B56 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x6CB CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x1BB7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x1BD5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x35 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x3B1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x71B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x72A CALLDATASIZE PUSH1 0x4 PUSH2 0x5230 JUMP JUMPDEST PUSH2 0x1BF2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x1C8F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x750 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x75F CALLDATASIZE PUSH1 0x4 PUSH2 0x5272 JUMP JUMPDEST PUSH2 0x1CAD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x770 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x1D15 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x785 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0x1E04 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x1E19 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x7BE CALLDATASIZE PUSH1 0x4 PUSH2 0x5303 JUMP JUMPDEST PUSH2 0x1E34 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x2363 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x7F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x2381 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x804 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x818 PUSH2 0x813 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x238C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x54A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x831 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH2 0x243C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x846 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x855 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x244B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x866 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x875 CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x246E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x886 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DE PUSH2 0x24C6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x8AA CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x24E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x24EE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8E4 PUSH2 0x8DF CALLDATASIZE PUSH1 0x4 PUSH2 0x54BB JUMP JUMPDEST PUSH2 0x250E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x54F0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x90C CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x26F2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0x92C CALLDATASIZE PUSH1 0x4 PUSH2 0x50E1 JUMP JUMPDEST PUSH2 0x2710 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x93D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0x94C CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x29D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x95D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0x96C CALLDATASIZE PUSH1 0x4 PUSH2 0x505B JUMP JUMPDEST PUSH2 0x2BB8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x986 PUSH2 0x2BEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x9DA CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x2BF8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH2 0x2C16 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xA0F CALLDATASIZE PUSH1 0x4 PUSH2 0x50E1 JUMP JUMPDEST PUSH2 0x2C33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xA44 CALLDATASIZE PUSH1 0x4 PUSH2 0x5552 JUMP JUMPDEST PUSH2 0x2C40 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0x2C4B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xA79 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x2C60 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xA99 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FFC JUMP JUMPDEST PUSH2 0x2CDB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xAEA CALLDATASIZE PUSH1 0x4 PUSH2 0x5580 JUMP JUMPDEST PUSH2 0x2CF0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xB0A CALLDATASIZE PUSH1 0x4 PUSH2 0x55B4 JUMP JUMPDEST PUSH2 0x2DD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xB2A CALLDATASIZE PUSH1 0x4 PUSH2 0x561F JUMP JUMPDEST PUSH2 0x2DF0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B1 PUSH2 0xB4A CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x311E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xB6A CALLDATASIZE PUSH1 0x4 PUSH2 0x4FAA JUMP JUMPDEST PUSH2 0x31AF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xB8A CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x31C5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D35 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xBCC CALLDATASIZE PUSH1 0x4 PUSH2 0x505B JUMP JUMPDEST PUSH2 0x3206 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x365 PUSH2 0xBEC CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x3222 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x818 PUSH2 0xC0C CALLDATASIZE PUSH1 0x4 PUSH2 0x508B JUMP JUMPDEST PUSH2 0x3320 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH2 0xC2C CALLDATASIZE PUSH1 0x4 PUSH2 0x5687 JUMP JUMPDEST PUSH2 0x333E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D15 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x387 PUSH2 0xC6E CALLDATASIZE PUSH1 0x4 PUSH2 0x56A4 JUMP JUMPDEST PUSH2 0x3364 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x420 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CB5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xCAD DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x1 DUP3 LT ISZERO PUSH2 0xD01 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH27 0x11D85B185E1E53595B58995C8E881A5B9D985B1A59081B195D995B PUSH1 0x2A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP4 PUSH1 0xFF AND LT ISZERO PUSH2 0xD55 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20696E76616C6964206E6F6465206C6576656C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5F PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT ISZERO PUSH2 0xDD9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206C6576656C206D757374206265206C657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0x81D1A185B881BDC88195C5D585B081D1BC813505617D311559153 PUSH1 0x2A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDFF DUP3 PUSH2 0x33D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE11 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xE22 SWAP1 PUSH2 0x56D2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE4E SWAP1 PUSH2 0x56D2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xE9B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE70 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xE9B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xE7E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEB1 DUP3 PUSH2 0x341A JUMP JUMPDEST POP PUSH2 0xDFF DUP3 PUSH2 0x3452 JUMP JUMPDEST PUSH2 0xEC6 DUP3 DUP3 CALLER PUSH2 0x347B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xED5 PUSH2 0x3488 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF09 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF16 DUP4 DUP4 CALLER PUSH2 0x34AC JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF64 JUMPI PUSH1 0x40 MLOAD PUSH4 0x64283D7B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xCF8 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF75 PUSH2 0x3627 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF95 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x8 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xFB3 DUP3 PUSH2 0xF6A JUMP JUMPDEST PUSH2 0xFBC DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0xF64 DUP4 DUP4 PUSH2 0x364B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xFD1 PUSH2 0x3488 JUMP JUMPDEST SWAP1 POP PUSH2 0xFDC DUP5 PUSH2 0x246E JUMP JUMPDEST DUP4 LT PUSH2 0xFFF JUMPI DUP4 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP3 SWAP2 SWAP1 PUSH2 0x570C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1033 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x103D PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x6 ADD SLOAD DUP4 GT PUSH2 0x10B2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2067726561746572207468616E207468652063757272656E74206D6178206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x1D995B PUSH1 0xEA SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x2 JUMPDEST DUP4 DUP2 GT PUSH2 0x114A JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1138 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C206C6576656C7320756E6C6F636B PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP1 PUSH2 0x1142 DUP2 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10B5 JUMP JUMPDEST POP PUSH1 0x6 DUP2 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP7 SWAP1 MSTORE PUSH32 0x53E438896671F1A18A4E583CCEB4F0C901DE52EF22AD122EA8C7F1F5B2DE7450 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x11BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x11C7 DUP3 DUP3 PUSH2 0x36EC JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x11E4 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1260 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F78416C6C6F636174696F6E73476F7665 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x726E6F722063616E6E6F7420626520746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x126A PUSH2 0x33AD JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0xD9365634B1542359685E4D736B69F8A87476421F69DA0F3F8054668AB19AF129 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12D5 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x12FC SWAP1 DUP5 PUSH2 0x3764 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D15 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1325 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0x132D PUSH2 0x381A JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x133B PUSH2 0x33AD JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1CEAE42F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x1CEAE42F SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1387 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13AB SWAP2 SWAP1 PUSH2 0x5754 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x11C7 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2DD9 JUMP JUMPDEST CALLER PUSH2 0x13D7 DUP3 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x13FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5771 JUMP JUMPDEST PUSH2 0x132D DUP2 PUSH2 0x3871 JUMP JUMPDEST PUSH2 0x140E PUSH2 0x387D JUMP JUMPDEST PUSH2 0x1416 PUSH2 0x38B3 JUMP JUMPDEST CALLER PUSH2 0x1420 DUP3 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1492 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20796F75206D757374206F776E2074686520 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x151BDAD95B881D1BC81D5C19DC985919481A5D PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x149C PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x14A9 DUP4 PUSH2 0x244B JUMP JUMPDEST SWAP1 POP PUSH2 0x14B3 PUSH2 0x2C4B JUMP JUMPDEST DUP2 LT PUSH2 0x1516 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20546F6B656E20697320616C726561647920 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x185D081B585E081B195D995B PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1521 DUP5 PUSH2 0x2C60 JUMP JUMPDEST PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH2 0x1558 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1575 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1599 SWAP2 SWAP1 PUSH2 0x57C4 JUMP JUMPDEST LT ISZERO PUSH2 0x15FE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E742062616C61 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6E636520746F2075706772616465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x164E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1672 SWAP2 SWAP1 PUSH2 0x57C4 JUMP JUMPDEST LT ISZERO PUSH2 0x16D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A20496E73756666696369656E7420616C6C6F PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x77616E636520746F2075706772616465 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x16F9 SWAP1 DUP5 SWAP1 PUSH2 0x57DD JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP5 SWAP1 MSTORE SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x175D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1781 SWAP2 SWAP1 PUSH2 0x57F0 JUMP JUMPDEST PUSH2 0x17CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP4 PUSH32 0x936F056112BADB39FF4B5BF0D185576C15ED35D94502E37E8B6D7BFBEC428854 DUP4 PUSH2 0x17F9 DUP8 PUSH2 0x244B JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP PUSH2 0x132D PUSH2 0x38DB JUMP JUMPDEST PUSH2 0x1824 PUSH2 0x38B3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x182E PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x183A DUP4 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x18C4 JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1895 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18B9 SWAP2 SWAP1 PUSH2 0x580D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0x1944 JUMPI POP PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x5D3C373F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x5D3C373F SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1915 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1939 SWAP2 SWAP1 PUSH2 0x580D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x19C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x56 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D95 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776E6564206F72206D616E616765642062792063616C6C6572206F7220746F6B PUSH1 0x64 DUP3 ADD MSTORE PUSH22 0x32B7103737BA1037BBB732B210313C9031B0B63632B9 PUSH1 0x51 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP2 PUSH2 0x19CD DUP5 PUSH2 0x1BB7 JUMP JUMPDEST EQ PUSH2 0x1A2F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F6465206E6F7420617474616368656420 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x3A37903A3432903A37B5B2B7 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP3 PUSH2 0x1A39 DUP4 PUSH2 0x2BF8 JUMP JUMPDEST EQ PUSH2 0x1A9B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206174746163686564 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x20746F20746865206E6F6465 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xD391F0BBB61C5821A44E72761001D99F230B0697A92ED3C1F65189377455D708 SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x1AF7 DUP4 PUSH1 0x0 PUSH2 0x38EC JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0x48129B4A18F9CA1400152E3F45A48CF58787E9948A48294199C83A66517B8590 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B2D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0x1B43 PUSH2 0x3A61 JUMP JUMPDEST PUSH2 0x1B4C DUP3 PUSH2 0x3B06 JUMP JUMPDEST PUSH2 0xEC6 DUP3 DUP3 PUSH2 0x3B1E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B61 PUSH2 0x3488 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B6B PUSH2 0xECA JUMP JUMPDEST DUP4 LT PUSH2 0x1B8F JUMPI PUSH1 0x0 DUP4 PUSH1 0x40 MLOAD PUSH4 0x295F44F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP3 SWAP2 SWAP1 PUSH2 0x570C JUMP JUMPDEST DUP1 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1BA4 JUMPI PUSH2 0x1BA4 PUSH2 0x582A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BC1 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xD ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BDF PUSH2 0x3BD2 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CF5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BFD DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1C1E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5840 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C28 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD PUSH1 0x40 MLOAD PUSH2 0x1C3B SWAP2 SWAP1 PUSH2 0x5883 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1C51 SWAP2 SWAP1 PUSH2 0x58F9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x309B29DED109B9E28FB9885757B3E0096EB75C51D23AA4635D68BCD569F6ADC1 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x4 DUP2 ADD PUSH2 0xF64 DUP5 DUP3 PUSH2 0x595B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C9A PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CB8 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CC2 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH32 0x5021318DB3B191BC0F54787C8649FC31D3EA3DA887601B922B2F347FF33B7CBE DUP4 PUSH1 0x40 MLOAD PUSH2 0x1CF7 SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xB ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D1F PUSH2 0x33AD JUMP JUMPDEST PUSH1 0xB DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x1D87 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205075626C6963206D696E74696E67206973 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x81C185D5CD959 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x1D90 CALLER PUSH2 0x29D4 JUMP JUMPDEST PUSH2 0x1DFB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205573657220686173206E6F742070617274 PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x696369706174656420696E20676F7665726E616E6365 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x132D CALLER PUSH2 0x3C1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E0F PUSH2 0x3C4C JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E24 PUSH2 0x33AD JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E3E PUSH2 0x3C70 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E65 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1E81 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E8F JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1EAD JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1ED6 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH1 0x0 DUP7 PUSH1 0xE0 ADD MLOAD GT PUSH2 0x1F30 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x2067726561746572207468616E203 PUSH1 0x8C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH2 0x100 ADD MLOAD MLOAD GT PUSH2 0x1F56 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5840 JUMP JUMPDEST PUSH2 0x140 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FD6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204233545220746F6B656E20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH28 0x732063616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x20 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x160 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2054 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205472656173757279206164647265737320 PUSH1 0x44 DUP3 ADD MSTORE PUSH26 0x63616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x30 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x1 DUP7 PUSH1 0xE0 ADD MLOAD PUSH2 0x2065 SWAP2 SWAP1 PUSH2 0x5A1A JUMP JUMPDEST DUP7 PUSH2 0x120 ADD MLOAD MLOAD LT ISZERO PUSH2 0x20D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x42 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x7573742062652073657420666F7220616C6C20756E6C6F636B6564206C657665 PUSH1 0x64 DUP3 ADD MSTORE PUSH2 0x6C73 PUSH1 0xF0 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x20EB DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD PUSH2 0x3C94 JUMP JUMPDEST PUSH2 0x20F3 PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x20FB PUSH2 0x3CAE JUMP JUMPDEST PUSH2 0x2103 PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x210B PUSH2 0x3CA6 JUMP JUMPDEST PUSH2 0x2113 PUSH2 0x3CBE JUMP JUMPDEST PUSH2 0x211B PUSH2 0x3CA6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2125 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP7 PUSH2 0x100 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x213D SWAP2 SWAP1 PUSH2 0x595B JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x21E2 JUMPI PUSH1 0x0 DUP9 PUSH2 0x120 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2168 JUMPI PUSH2 0x2168 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x218D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5A2D JUMP JUMPDEST DUP8 PUSH2 0x120 ADD MLOAD DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x21A4 JUMPI PUSH2 0x21A4 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x21BF SWAP2 SWAP1 PUSH2 0x57DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x21DA DUP2 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2141 JUMP JUMPDEST POP PUSH1 0xE0 DUP8 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x140 DUP8 ADD MLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND OR SWAP1 SWAP2 SSTORE PUSH2 0x160 DUP10 ADD MLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x40 DUP9 ADD MLOAD AND PUSH2 0x229B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2041646D696E20616464726573732063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x22AC PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0x40 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP PUSH2 0x22C9 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CB5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x60 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP PUSH2 0x22E6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D15 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP PUSH2 0x2303 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D35 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xA0 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP PUSH2 0x2320 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP9 PUSH1 0xC0 ADD MLOAD PUSH2 0x364B JUMP JUMPDEST POP POP DUP4 ISZERO PUSH2 0x235B JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C95 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2352 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5A70 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x236E PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDFF DUP3 PUSH2 0x341A JUMP JUMPDEST PUSH2 0x2394 PUSH2 0x4EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x239F DUP4 PUSH2 0x3CCE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2401 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E496420646F65736E2774206578 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1A5CDD PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x2409 PUSH2 0x4EB1 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH2 0x2415 DUP4 PUSH2 0x311E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2423 DUP4 PUSH2 0x244B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2431 DUP4 PUSH2 0x2C60 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x2446 PUSH2 0x3CF7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2457 DUP4 PUSH2 0x2BF8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2465 DUP5 DUP4 PUSH2 0x38EC JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2479 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x24A5 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x22718AD9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24D1 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x132D CALLER DUP3 PUSH2 0x3D14 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D15 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2506 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0x132D PUSH2 0x3DD8 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x255E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C35 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x6F74206265203 PUSH1 0xCC SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x25A7 JUMPI PUSH2 0x2571 DUP2 PUSH2 0x3E1F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2581 SWAP2 SWAP1 PUSH2 0x5A84 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0xCF8 SWAP2 PUSH1 0x4 ADD PUSH2 0x4F97 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25B2 DUP7 PUSH2 0x246E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x25C0 DUP6 DUP8 PUSH2 0x5AD3 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x2605 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP1 PUSH2 0x25FA JUMP JUMPDEST PUSH2 0x25E7 PUSH2 0x4EB1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x25DF JUMPI SWAP1 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH2 0x13AB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2611 DUP7 DUP4 PUSH2 0x57DD JUMP JUMPDEST SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x261E JUMPI POP DUP2 JUMPDEST PUSH1 0x0 PUSH2 0x262A DUP4 DUP4 PUSH2 0x5A1A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2646 JUMPI PUSH2 0x2646 PUSH2 0x5103 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x267F JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x266C PUSH2 0x4EB1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2664 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x26E4 JUMPI PUSH1 0x0 PUSH2 0x2699 DUP3 DUP8 PUSH2 0x57DD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x26A7 DUP14 DUP4 PUSH2 0xFC6 JUMP JUMPDEST SWAP1 POP PUSH2 0x26B2 DUP2 PUSH2 0x238C JUMP JUMPDEST DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x26C4 JUMPI PUSH2 0x26C4 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP POP DUP1 DUP1 PUSH2 0x26DC SWAP1 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2685 JUMP JUMPDEST POP SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26FC PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x10 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x2718 PUSH2 0x38B3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2722 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP CALLER PUSH2 0x272E DUP4 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2794 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E206E6F74206F776E6564206279 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1031B0B63632B9 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE CALLER SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x27DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2803 SWAP2 SWAP1 PUSH2 0x580D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2869 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D95 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x3BB732B21037B91036B0B730B3B2B210313C9031B0B63632B9 PUSH1 0x39 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x2872 DUP4 PUSH2 0x1BB7 JUMP JUMPDEST ISZERO PUSH2 0x28D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A206E6F646520616C7265616479206174746163 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3432B2103A379030903A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x28DF DUP3 PUSH2 0x2BF8 JUMP JUMPDEST ISZERO PUSH2 0x2943 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20616C72656164792061747461 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6368656420746F2061206E6F6465 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0xE DUP5 ADD SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP6 SWAP1 SSTORE MLOAD DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xB7DD3BE96487DCDF850B8109DB67313BEFD6E4022F3FAEC019619391CD95913F SWAP2 SWAP1 LOG3 PUSH1 0x0 PUSH2 0x299E DUP4 DUP6 PUSH2 0x38EC JUMP JUMPDEST POP SWAP1 POP DUP4 DUP4 PUSH32 0xDD061FFADD9DFF78128B6AF54ABBF2B83CBC680B9F75A2C08294800146BAACE7 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1B2D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x29DF PUSH2 0x33AD JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2A52 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2058416C6C6F636174696F6E566F74696E67 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x11DBDD995C9B9BDC881B9BDD081CD95D PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2AB8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2042335452476F7665726E6F72206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2AE7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B04 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B28 SWAP2 SWAP1 PUSH2 0x57F0 JUMP JUMPDEST DUP1 PUSH2 0x2BA1 JUMPI POP PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x2B60 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B7D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2BA1 SWAP2 SWAP1 PUSH2 0x57F0 JUMP JUMPDEST ISZERO PUSH2 0x2BAF JUMPI POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2BC3 PUSH2 0x3627 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2446 PUSH2 0x3EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C02 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0xE ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2C22 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0xE22 SWAP1 PUSH2 0x56D2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2465 DUP5 DUP5 PUSH2 0x38EC JUMP JUMPDEST PUSH2 0xEC6 CALLER DUP4 DUP4 PUSH2 0x3EBC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C56 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x6 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C6C DUP4 PUSH2 0x3CCE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2C82 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C8D DUP4 PUSH2 0x2BF8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x2C9C DUP6 DUP5 PUSH2 0x38EC JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x2CA8 PUSH2 0x2C4B JUMP JUMPDEST DUP3 SUB PUSH2 0x2CB9 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x2CC8 PUSH2 0x489 DUP5 PUSH1 0x1 PUSH2 0x57DD JUMP JUMPDEST PUSH2 0x2CD2 SWAP2 SWAP1 PUSH2 0x5A1A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CE6 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0x11C7 DUP4 DUP4 PUSH2 0x3D14 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CFB DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D05 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2D9C JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2D27 JUMPI PUSH2 0x2D27 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x2D4C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5A2D JUMP JUMPDEST DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2D5E JUMPI PUSH2 0x2D5E PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP4 PUSH1 0x2 PUSH2 0x2D79 SWAP2 SWAP1 PUSH2 0x57DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE DUP1 PUSH2 0x2D94 DUP2 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2D0A JUMP JUMPDEST POP PUSH32 0xF2521083E08CA3F37D49583ABC9580665E796EBB1F7B803F30E3651275BF870 DUP4 PUSH1 0x40 MLOAD PUSH2 0x2DCC SWAP2 SWAP1 PUSH2 0x5AEA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x2DE4 DUP5 DUP5 DUP5 PUSH2 0xEDF JUMP JUMPDEST PUSH2 0xF64 DUP5 DUP5 DUP5 DUP5 PUSH2 0x3F58 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2DFC PUSH2 0x3C70 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2E23 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2E41 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE DUP3 MLOAD PUSH1 0x8 EQ PUSH2 0x2EC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CD5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x6C6576656C732E204D7573742062652037206C6576656C73 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2F35 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x36 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F7665636861696E4E6F6465732063616E6E PUSH1 0x44 DUP3 ADD MSTORE PUSH22 0x6F7420626520746865207A65726F2061646472657373 PUSH1 0x50 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2FAD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A205F6E6F6465734D616E6761656D656E742063 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x616E6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FB7 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0xB DUP2 ADD DUP1 SLOAD PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 DUP2 AND SWAP2 SWAP1 SWAP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0xC DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP2 DUP10 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x3011 JUMPI DUP1 PUSH1 0x5 ADD SLOAD PUSH2 0x3014 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x0 JUMPDEST DUP5 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x30DA JUMPI PUSH1 0x1 DUP6 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x303F JUMPI PUSH2 0x303F PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x3091 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CD5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1B195D995B PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP5 DUP2 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x30A6 JUMPI PUSH2 0x30A6 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0xFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF DUP6 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE DUP1 PUSH2 0x30D2 DUP2 PUSH2 0x5B2E JUMP JUMPDEST SWAP2 POP POP PUSH2 0x301C JUMP JUMPDEST POP PUSH2 0x30F3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP7 PUSH2 0x364B JUMP JUMPDEST POP POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C95 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2352 SWAP1 DUP5 SWAP1 PUSH2 0x5A70 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x312B DUP4 PUSH2 0x3CCE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x314D JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3158 DUP4 PUSH2 0x244B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x3177 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x13AB JUMP JUMPDEST PUSH2 0x317F PUSH2 0x243C JUMP JUMPDEST PUSH2 0x3188 DUP3 PUSH2 0x3E1F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3199 SWAP3 SWAP2 SWAP1 PUSH2 0x5B4D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31BD DUP4 PUSH1 0x0 PUSH2 0x38EC JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31D0 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x31F6 SWAP1 PUSH2 0x406F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x320F DUP3 PUSH2 0xF6A JUMP JUMPDEST PUSH2 0x3218 DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH2 0xF64 DUP4 DUP4 PUSH2 0x36EC JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D55 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x323A DUP2 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x32B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x37 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A205F62337472476F7665726E6F722063616E PUSH1 0x44 DUP3 ADD MSTORE PUSH23 0x6E6F7420626520746865207A65726F2061646472657373 PUSH1 0x48 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32BA PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND SWAP2 SWAP1 DUP6 AND SWAP1 PUSH32 0x95EBD3FF3915EE96EE38C1E67A23D1E1ADCB9B82FB8A930067DCEE36B72A8270 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x3328 PUSH2 0x4EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3333 DUP4 PUSH2 0x31C5 JUMP JUMPDEST SWAP1 POP PUSH2 0x13AB DUP2 PUSH2 0x238C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3348 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xF SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x336F PUSH2 0x33F6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 SWAP1 SWAP7 AND DUP3 MSTORE SWAP4 SWAP1 SWAP4 MSTORE POP POP KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x132D DUP2 CALLER PUSH2 0x409F JUMP JUMPDEST PUSH32 0x7A79E46844ED04411E4579C7BC49D053E59B0854FA4E9A8DF3D5A0597CE45200 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xDFF JUMPI POP PUSH2 0xDFF DUP3 PUSH2 0x40CA JUMP JUMPDEST PUSH32 0x80BB2B638CC20BC4D0A60D66940F3AB4A00C1D7B313497CA82FB0B4AB0079300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3426 DUP4 PUSH2 0x3CCE JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xDFF JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x345D PUSH2 0x33F6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x11C7 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x40EF JUMP JUMPDEST PUSH32 0x645E039705490088DAAD89BAE25049A34F4A9072D398537B1AB2425F24CBED00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34B6 PUSH2 0x38B3 JUMP JUMPDEST PUSH2 0x34BF DUP4 PUSH2 0x2BF8 JUMP JUMPDEST ISZERO PUSH2 0x3532 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x47616C6178794D656D6265723A20746F6B656E20617474616368656420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x61206E6F64652C20646574616368206265666F7265207472616E736665720000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x353F DUP6 DUP6 DUP6 PUSH2 0x41F9 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x355F JUMPI POP PUSH2 0x355D DUP2 PUSH2 0x246E JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x359F JUMPI PUSH2 0x359C PUSH2 0x356F PUSH2 0x2BEE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3579 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x420E JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x35BE JUMPI POP DUP4 PUSH2 0x35BC DUP3 PUSH2 0x31C5 JUMP JUMPDEST EQ JUMPDEST DUP1 ISZERO PUSH2 0x35D2 JUMPI POP PUSH1 0x0 PUSH2 0x35D0 DUP3 PUSH2 0x246E JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x35EB JUMPI PUSH2 0x35EB DUP2 PUSH2 0x35E6 DUP4 PUSH1 0x0 PUSH2 0xFC6 JUMP JUMPDEST PUSH2 0x3D14 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x360B JUMPI POP PUSH2 0x3607 DUP6 PUSH2 0x246E JUMP JUMPDEST PUSH1 0x1 EQ JUMPDEST ISZERO PUSH2 0x361F JUMPI PUSH2 0x361F DUP6 PUSH2 0x35E6 DUP8 PUSH1 0x0 PUSH2 0xFC6 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3656 PUSH2 0x3627 JUMP JUMPDEST SWAP1 POP PUSH2 0x3662 DUP5 DUP5 PUSH2 0x2BB8 JUMP JUMPDEST PUSH2 0x36E2 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x3698 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x36F7 PUSH2 0x3627 JUMP JUMPDEST SWAP1 POP PUSH2 0x3703 DUP5 DUP5 PUSH2 0x2BB8 JUMP JUMPDEST ISZERO PUSH2 0x36E2 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xDFF JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x37C3 JUMPI PUSH1 0x0 PUSH2 0x377F DUP5 PUSH2 0x4229 JUMP JUMPDEST PUSH2 0x3789 SWAP1 DUP6 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x37B3 JUMPI DUP1 SWAP2 POP PUSH2 0x37C1 JUMP JUMPDEST PUSH2 0x37BE DUP2 PUSH1 0x1 PUSH2 0x57DD JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x37D1 DUP8 DUP8 DUP6 DUP6 PUSH2 0x4311 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x380C JUMPI PUSH2 0x37F6 DUP8 PUSH2 0x37E8 PUSH1 0x1 DUP5 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x380F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3822 PUSH2 0x436B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x382C PUSH2 0x3C4C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3866 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0xEC6 PUSH1 0x0 DUP3 CALLER PUSH2 0x34AC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3887 PUSH2 0x4390 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 NOT ADD PUSH2 0x38AD JUMPI PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x38BB PUSH2 0x1E04 JUMP JUMPDEST ISZERO PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38E5 PUSH2 0x4390 JUMP JUMPDEST PUSH1 0x1 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x38F9 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH1 0x1 DUP5 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x398E JUMPI POP PUSH2 0x3910 DUP7 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x4F16179F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0x9E2C2F3E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x395F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3983 SWAP2 SWAP1 PUSH2 0x580D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x39D4 JUMPI PUSH1 0x0 PUSH2 0x399E DUP7 PUSH2 0x1330 JUMP JUMPDEST SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO PUSH2 0x39D2 JUMPI PUSH1 0x0 PUSH2 0x39B4 DUP3 PUSH2 0x333E JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT ISZERO PUSH2 0x39CC JUMPI DUP4 PUSH1 0x6 ADD SLOAD PUSH2 0x39CE JUMP JUMPDEST DUP1 JUMPDEST SWAP3 POP POP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x39F1 DUP4 PUSH1 0x1 PUSH2 0x57DD JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 PUSH1 0x6 ADD SLOAD DUP2 GT PUSH2 0x3A54 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 LT PUSH2 0x3A3D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x3A36 SWAP1 DUP4 PUSH2 0x5A1A JUMP JUMPDEST SWAP2 POP PUSH2 0x3A42 JUMP JUMPDEST PUSH2 0x3A54 JUMP JUMPDEST DUP1 PUSH2 0x3A4C DUP2 PUSH2 0x573B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x39F4 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3AE8 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3ADC PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CF5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CB5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xEC6 DUP2 PUSH2 0x33A3 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3B78 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3B75 SWAP2 DUP2 ADD SWAP1 PUSH2 0x57C4 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3B97 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CF5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3BC8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH2 0x11C7 DUP4 DUP4 PUSH2 0x43B4 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3C25 PUSH2 0x33AD JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 SWAP1 DUP3 PUSH2 0x3C3C DUP4 PUSH2 0x573B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH2 0x11C7 DUP4 DUP3 PUSH2 0x440A JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x3C9C PUSH2 0x4424 JUMP JUMPDEST PUSH2 0xEC6 DUP3 DUP3 PUSH2 0x4449 JUMP JUMPDEST PUSH2 0x38D9 PUSH2 0x4424 JUMP JUMPDEST PUSH2 0x3CB6 PUSH2 0x4424 JUMP JUMPDEST PUSH2 0x38D9 PUSH2 0x4477 JUMP JUMPDEST PUSH2 0x3CC6 PUSH2 0x4424 JUMP JUMPDEST PUSH2 0x38D9 PUSH2 0x4494 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3CD9 PUSH2 0x33F6 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3D03 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0xE22 SWAP1 PUSH2 0x56D2 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3D27 DUP3 PUSH2 0x2381 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3D4D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP1 PUSH2 0x5771 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D57 PUSH2 0x33AD JUMP JUMPDEST SWAP1 POP PUSH2 0x3D8E PUSH2 0x3D64 PUSH2 0x2BEE JUMP JUMPDEST PUSH2 0x3D6D DUP5 PUSH2 0x449C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x12 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x420E JUMP JUMPDEST POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xD3818DE8151087ADEDB4219255D574B8FD0658BFACDE78FEE2B4691FBD99A8FC DUP4 PUSH1 0x40 MLOAD PUSH2 0x3DCB SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH2 0x3DE0 PUSH2 0x38B3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DEA PUSH2 0x3C4C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x3859 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3E2C DUP4 PUSH2 0x44D4 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3E4B JUMPI PUSH2 0x3E4B PUSH2 0x5103 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3E75 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3E7F JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2446 NUMBER PUSH2 0x45AA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3EC6 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3EF1 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0xB611743 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP9 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1B2D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0xF64 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x3F9A SWAP1 CALLER SWAP1 DUP9 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5BA2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3FD5 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3FD2 SWAP2 DUP2 ADD SWAP1 PUSH2 0x5BDF JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4035 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x4003 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4008 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x402D JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ PUSH2 0x4068 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2BAF JUMPI PUSH2 0x4089 DUP4 PUSH2 0x37E8 PUSH1 0x1 DUP5 PUSH2 0x5A1A JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x13AB JUMP JUMPDEST PUSH2 0x40A9 DUP3 DUP3 PUSH2 0x2BB8 JUMP JUMPDEST PUSH2 0xEC6 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP3 SWAP2 SWAP1 PUSH2 0x570C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xDFF JUMPI POP PUSH2 0xDFF DUP3 PUSH2 0x45DD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40F9 PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP DUP2 DUP1 PUSH2 0x410F JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x41C8 JUMPI PUSH1 0x0 PUSH2 0x411F DUP6 PUSH2 0x341A JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x414B JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x415E JUMPI POP PUSH2 0x415C DUP2 DUP6 PUSH2 0x3364 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x417E JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0xA9FBF51F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x41C6 JUMPI DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4203 PUSH2 0x38B3 JUMP JUMPDEST PUSH2 0x361F DUP5 DUP5 DUP5 PUSH2 0x462D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x421C DUP6 DUP6 DUP6 PUSH2 0x46BB JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x423B JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x4248 DUP5 PUSH2 0x4835 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4261 JUMPI PUSH2 0x4261 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4279 JUMPI PUSH2 0x4279 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4291 JUMPI PUSH2 0x4291 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42A9 JUMPI PUSH2 0x42A9 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42C1 JUMPI PUSH2 0x42C1 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42D9 JUMPI PUSH2 0x42D9 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x42F1 JUMPI PUSH2 0x42F1 PUSH2 0x5B8C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x13AB DUP2 DUP3 DUP6 DUP2 PUSH2 0x430B JUMPI PUSH2 0x430B PUSH2 0x5B8C JUMP JUMPDEST DIV PUSH2 0x48C9 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x31BD JUMPI PUSH1 0x0 PUSH2 0x4328 DUP5 DUP5 PUSH2 0x48DF JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x4357 JUMPI DUP1 SWAP3 POP PUSH2 0x4365 JUMP JUMPDEST PUSH2 0x4362 DUP2 PUSH1 0x1 PUSH2 0x57DD JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x4314 JUMP JUMPDEST PUSH2 0x4373 PUSH2 0x1E04 JUMP JUMPDEST PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x9B779B17422D0DF92223018B32B4D1FA46E071723D6817E2486D003BECC55F00 SWAP1 JUMP JUMPDEST PUSH2 0x43BD DUP3 PUSH2 0x48FA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4402 JUMPI PUSH2 0x11C7 DUP3 DUP3 PUSH2 0x4956 JUMP JUMPDEST PUSH2 0xEC6 PUSH2 0x49C3 JUMP JUMPDEST PUSH2 0xEC6 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x49E2 JUMP JUMPDEST PUSH2 0x442C PUSH2 0x49F9 JUMP JUMPDEST PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4451 PUSH2 0x4424 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x445B PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x4468 DUP5 DUP3 PUSH2 0x595B JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0xF64 DUP4 DUP3 PUSH2 0x595B JUMP JUMPDEST PUSH2 0x447F PUSH2 0x4424 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4489 PUSH2 0x3C4C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x38DB PUSH2 0x4424 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x44D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xCF8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x4513 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 LT PUSH2 0x453D JUMPI PUSH10 0x4EE2D6D415B85ACEF81 PUSH1 0x20 SHL DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x455B JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x4573 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x4587 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x4599 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xDFF JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x44D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0xCF8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x460E JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xDFF JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x463B DUP6 DUP6 DUP6 PUSH2 0x4A13 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4659 JUMPI PUSH2 0x4654 DUP5 PUSH2 0x4B1A JUMP JUMPDEST PUSH2 0x467C JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x467C JUMPI PUSH2 0x467C DUP2 DUP6 PUSH2 0x4B53 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x4698 JUMPI PUSH2 0x4693 DUP5 PUSH2 0x4BF4 JUMP JUMPDEST PUSH2 0x361F JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x361F JUMPI PUSH2 0x361F DUP6 DUP6 PUSH2 0x4CBD JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x47DA JUMPI PUSH1 0x0 PUSH2 0x46D9 DUP8 PUSH2 0x37E8 PUSH1 0x1 DUP6 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x472D JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x4779 JUMPI DUP5 PUSH2 0x4750 DUP9 PUSH2 0x37E8 PUSH1 0x1 DUP7 PUSH2 0x5A1A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x47CA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x4221 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x4221 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x484A JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x485C JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x486E JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x4880 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x4892 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x48A4 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x48B6 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xDFF JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x48D8 JUMPI DUP2 PUSH2 0x13AB JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48EE PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x5BFC JUMP JUMPDEST PUSH2 0x13AB SWAP1 DUP5 DUP5 AND PUSH2 0x57DD JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4927 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CF5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x4973 SWAP2 SWAP1 PUSH2 0x58F9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x49AE JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x49B3 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2CD2 DUP6 DUP4 DUP4 PUSH2 0x4D15 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x38D9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x49EC DUP4 DUP4 PUSH2 0x4D68 JUMP JUMPDEST PUSH2 0x11C7 PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x3F58 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A03 PUSH2 0x3C70 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4A1E PUSH2 0x33F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4A2B DUP6 PUSH2 0x3CCE JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x4A47 JUMPI PUSH2 0x4A47 DUP2 DUP6 DUP8 PUSH2 0x4DCD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x4A87 JUMPI PUSH2 0x4A64 PUSH1 0x0 DUP7 PUSH1 0x0 DUP1 PUSH2 0x40EF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND ISZERO PUSH2 0x4AB8 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP9 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B24 PUSH2 0x3488 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5D PUSH2 0x3488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4B6A DUP5 PUSH2 0x246E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x4BBF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x1 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP6 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP4 MSTORE SWAP1 MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4BFE PUSH2 0x3488 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x4C15 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x2 DUP6 ADD DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x4C41 JUMPI PUSH2 0x4C41 PUSH2 0x582A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x4C64 JUMPI PUSH2 0x4C64 PUSH2 0x582A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x3 DUP7 ADD SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP7 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x2 DUP5 ADD DUP1 SLOAD DUP1 PUSH2 0x4CA0 JUMPI PUSH2 0x4CA0 PUSH2 0x5C1E JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4CC7 PUSH2 0x3488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x4CD6 DUP6 PUSH2 0x246E JUMP JUMPDEST PUSH2 0x4CE0 SWAP2 SWAP1 PUSH2 0x5A1A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE SWAP5 DUP3 MSTORE PUSH1 0x1 SWAP1 SWAP4 ADD SWAP1 SWAP3 MSTORE POP KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4D2A JUMPI PUSH2 0x4D25 DUP3 PUSH2 0x4E23 JUMP JUMPDEST PUSH2 0x13AB JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4D41 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4D61 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST POP DUP1 PUSH2 0x13AB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4D92 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x32505749 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DA0 DUP4 DUP4 PUSH1 0x0 PUSH2 0x34AC JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x11C7 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x39E35637 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP2 SWAP1 PUSH2 0x4FC3 JUMP JUMPDEST PUSH2 0x4DD8 DUP4 DUP4 DUP4 PUSH2 0x4E4C JUMP JUMPDEST PUSH2 0x11C7 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4E06 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7E273289 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0xCF8 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x177E802F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF8 SWAP3 SWAP2 SWAP1 PUSH2 0x570C JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4E33 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x361F JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x4E86 JUMPI POP PUSH2 0x4E86 DUP5 DUP5 PUSH2 0x3364 JUMP JUMPDEST DUP1 PUSH2 0x361F JUMPI POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4E9F DUP4 PUSH2 0x3452 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4EFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F06 DUP2 PUSH2 0x4ED9 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4F3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x13AB DUP2 PUSH2 0x4F14 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F62 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4F4A JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4F83 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4F47 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x13AB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4F6B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x4FF7 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x500F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4F06 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x502F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x503A DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x504A DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x506E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5080 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x509D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x13AB DUP2 PUSH2 0x4FD7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x50C6 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x5080 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x180 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x513C JUMPI PUSH2 0x513C PUSH2 0x5103 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x516A JUMPI PUSH2 0x516A PUSH2 0x5103 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5183 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x519C JUMPI PUSH2 0x519C PUSH2 0x5103 JUMP JUMPDEST PUSH2 0x51AF PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x5142 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x51C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x51F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x51FF DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x521A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5226 DUP6 DUP3 DUP7 ADD PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5242 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5258 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x361F DUP5 DUP3 DUP6 ADD PUSH2 0x5172 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5284 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x13AB DUP2 PUSH2 0x5264 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x52A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x52BB JUMPI PUSH2 0x52BB PUSH2 0x5103 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x52CA DUP3 DUP3 ADD PUSH2 0x5142 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x52E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x380F JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x52EA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x532C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x180 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x5341 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5349 PUSH2 0x5119 JUMP JUMPDEST DUP3 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5364 DUP8 DUP3 DUP7 ADD PUSH2 0x5172 JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5379 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5385 DUP8 DUP3 DUP7 ADD PUSH2 0x5172 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x5397 PUSH1 0x40 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x53A8 PUSH1 0x60 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x53B9 PUSH1 0x80 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x53CA PUSH1 0xA0 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x53DB PUSH1 0xC0 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP4 ADD CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x53FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x540A DUP9 DUP3 DUP8 ADD PUSH2 0x5172 JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x120 DUP1 DUP5 ADD CALLDATALOAD DUP4 DUP2 GT ISZERO PUSH2 0x5424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5430 DUP9 DUP3 DUP8 ADD PUSH2 0x528F JUMP JUMPDEST DUP3 DUP5 ADD MSTORE POP POP PUSH2 0x140 SWAP2 POP PUSH2 0x5446 DUP3 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x160 SWAP2 POP PUSH2 0x545A DUP3 DUP5 ADD PUSH2 0x4FEC JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x80 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x5488 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x4F6B JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x13AB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5469 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x54D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x54DB DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5545 JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x5533 DUP6 DUP4 MLOAD PUSH2 0x5469 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5517 JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5570 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5080 DUP2 PUSH2 0x5264 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5592 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x55A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x361F DUP5 DUP3 DUP6 ADD PUSH2 0x528F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x55CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x55D5 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x55E5 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5607 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5613 DUP8 DUP3 DUP9 ADD PUSH2 0x5172 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5635 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x5640 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x5650 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x5660 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x567B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5613 DUP8 DUP3 DUP9 ADD PUSH2 0x528F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5699 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x13AB DUP2 PUSH2 0x4ED9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x56B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x56C2 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5080 DUP2 PUSH2 0x4FD7 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x56E6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x5706 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x574D JUMPI PUSH2 0x574D PUSH2 0x5725 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5766 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x13AB DUP2 PUSH2 0x4ED9 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A2063616C6C6572206973206E6F7420746865 PUSH1 0x40 DUP3 ADD MSTORE PUSH19 0x1037BBB732B91037B3103A3432903A37B5B2B7 PUSH1 0x69 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x57D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xDFF JUMPI PUSH2 0xDFF PUSH2 0x5725 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5802 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x13AB DUP2 PUSH2 0x5264 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x581F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x13AB DUP2 PUSH2 0x4FD7 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x47616C617879204D656D6265723A204261736520555249206D75737420626520 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x1CD95D PUSH1 0xEA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x5891 DUP2 PUSH2 0x56D2 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x58A9 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x58BE JUMPI PUSH2 0x58ED JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x58ED JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x58E4 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x58CB JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x590B DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4F47 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x11C7 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x593C JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x235B JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5948 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5974 JUMPI PUSH2 0x5974 PUSH2 0x5103 JUMP JUMPDEST PUSH2 0x5988 DUP2 PUSH2 0x5982 DUP5 SLOAD PUSH2 0x56D2 JUMP JUMPDEST DUP5 PUSH2 0x5915 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x59BD JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x59A5 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x235B JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x59EC JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x59CD JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5A0A JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xDFF JUMPI PUSH2 0xDFF PUSH2 0x5725 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x35 SWAP1 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C75 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH21 0x7573742062652067726561746572207468616E203 PUSH1 0x5C SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C35 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE PUSH19 0x37BA1031329033B932B0BA32B9103A3430B71 PUSH1 0x6D SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x5AC6 DUP2 PUSH1 0x33 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4F47 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x33 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xDFF JUMPI PUSH2 0xDFF PUSH2 0x5725 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5B22 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x5B06 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x5B44 JUMPI PUSH2 0x5B44 PUSH2 0x5725 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5B5F DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4F47 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x5B73 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4F47 JUMP JUMPDEST PUSH5 0x173539B7B7 PUSH1 0xD9 SHL SWAP2 ADD SWAP1 DUP2 MSTORE PUSH1 0x5 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5BD5 SWAP1 DUP4 ADD DUP5 PUSH2 0x4F6B JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5BF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x13AB DUP2 PUSH2 0x4F14 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5C19 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SELFBALANCE PUSH2 0x6C61 PUSH25 0x794D656D6265723A20496E76616C69642073697A652C206361 PUSH15 0x6E47616C617879204D656D6265723A KECCAK256 0x4D PUSH2 0x7820 PUSH13 0x6576656C206D75737420626547 PUSH2 0x6C61 PUSH25 0x79204D656D6265723A204233545220746F2075706772616465 KECCAK256 PUSH14 0xC7F505B2F371AE2175EE4913F449 SWAP15 0x1F 0x26 CALLER 0xA7 0xB5 SWAP4 PUSH4 0x21EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E347 PUSH2 0x6C61 PUSH25 0x794D656D6265723A20696E76616C6964206E6F646520667265 PUSH6 0x20360894A13B LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A9F2DF0FE 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7EC2743ECD930B6D8DB7BF0 SWAP11 0x22 CALLDATALOAD PUSH12 0x40139BA68F0870C5886000E6 PUSH13 0xF32E02F547616C6178794D656D PUSH3 0x65723A KECCAK256 PUSH23 0x65636861696E206E6F6465206E6F74206FA26469706673 PC 0x22 SLT KECCAK256 0xD7 PUSH0 DUP12 0xFB SWAP13 0xAD 0xCC 0xC9 0xB6 PUSH15 0xACABFCD20A7B327529C3442A231553 CREATE2 0xC6 0xDD PUSH17 0x7594CA64736F6C63430008140033000000 ","sourceMap":"4660:34661:70:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24481:451;;;;;;;;;;-1:-1:-1;24481:451:70;;;;;:::i;:::-;;:::i;:::-;;38867:219;;;;;;;;;;-1:-1:-1;38867:219:70;;;;;:::i;:::-;;:::i;:::-;;;1000:14:150;;993:22;975:41;;963:2;948:18;38867:219:70;;;;;;;;3546:146:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4792:154::-;;;;;;;;;;-1:-1:-1;4792:154:5;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4618:113::-;;;;;;;;;;-1:-1:-1;4618:113:5;;;;;:::i;:::-;;:::i;3048:179:7:-;;;;;;;;;;;;;:::i;:::-;;;2917:25:150;;;2905:2;2890:18;3048:179:7;2771:177:150;5495:578:5;;;;;;;;;;-1:-1:-1;5495:578:5;;;;;:::i;:::-;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;30680:197:70:-;;;;;;;;;;-1:-1:-1;30680:197:70;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;2645:332:7:-;;;;;;;;;;-1:-1:-1;2645:332:7;;;;;:::i;:::-;;:::i;20702:648:70:-;;;;;;;;;;-1:-1:-1;20702:648:70;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;21559:502:70:-;;;;;;;;;;-1:-1:-1;21559:502:70;;;;;:::i;:::-;;:::i;28858:256::-;;;;;;;;;;-1:-1:-1;28858:256:70;;;;;:::i;:::-;;:::i;5315:76::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5315:76:70;;15158:77;;;;;;;;;;;;;:::i;28156:195::-;;;;;;;;;;-1:-1:-1;28156:195:70;;;;;:::i;:::-;;:::i;:::-;;;4953:4:150;4941:17;;;4923:36;;4911:2;4896:18;28156:195:70;4781:184:150;6139:132:5;;;;;;;;;;-1:-1:-1;6139:132:5;;;;;:::i;:::-;;:::i;17894:213:70:-;;;;;;;;;;-1:-1:-1;17894:213:70;;;;;:::i;:::-;;:::i;15826:912::-;;;;;;;;;;-1:-1:-1;15826:912:70;;;;;:::i;:::-;;:::i;19130:961::-;;;;;;;;;;-1:-1:-1;19130:961:70;;;;;:::i;:::-;;:::i;36881:115::-;;;;;;;;;;-1:-1:-1;36953:38:70;;;;;;;;;;;;;;;;;36881:115;;4158:214:3;;;;;;:::i;:::-;;:::i;3299:303:7:-;;;;;;;;;;-1:-1:-1;3299:303:7;;;;;:::i;:::-;;:::i;32579:149:70:-;;;;;;;;;;-1:-1:-1;32579:149:70;;;;;:::i;:::-;;:::i;3705:134:3:-;;;;;;;;;;;;;:::i;33766:86:70:-;;;;;;;;;;-1:-1:-1;33837:10:70;;;;;;;;;;;;-1:-1:-1;;;33837:10:70;;;;33766:86;;22809:336;;;;;;;;;;-1:-1:-1;22809:336:70;;;;;:::i;:::-;;:::i;31899:133::-;;;;;;;;;;;;;:::i;24002:241::-;;;;;;;;;;-1:-1:-1;24002:241:70;;;;;:::i;:::-;;:::i;15418:203::-;;;;;;;;;;;;;:::i;2692:145:12:-;;;;;;;;;;;;;:::i;31444:186:70:-;;;;;;;;;;;;;:::i;11626:1688::-;;;;;;;;;;-1:-1:-1;11626:1688:70;;;;;:::i;:::-;;:::i;32085:143::-;;;;;;;;;;;;;:::i;3366:118:5:-;;;;;;;;;;-1:-1:-1;3366:118:5;;;;;:::i;:::-;;:::i;34110:455:70:-;;;;;;;;;;-1:-1:-1;34110:455:70;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;30478:91::-;;;;;;;;;;;;;:::i;25059:211::-;;;;;;;;;;-1:-1:-1;25059:211:70;;;;;:::i;:::-;;:::i;3044:265:5:-;;;;;;;;;;-1:-1:-1;3044:265:5;;;;;:::i;:::-;;:::i;31687:157:70:-;;;;;;;;;;;;;:::i;16860:87::-;;;;;;;;;;-1:-1:-1;16860:87:70;;;;;:::i;:::-;;:::i;14987:73::-;;;;;;;;;;;;;:::i;35192:1490::-;;;;;;;;;;-1:-1:-1;35192:1490:70;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;33385:153::-;;;;;;;;;;-1:-1:-1;33385:153:70;;;;;:::i;:::-;;:::i;18208:918::-;;;;;;;;;;-1:-1:-1;18208:918:70;;;;;:::i;:::-;;:::i;29874:541::-;;;;;;;;;;-1:-1:-1;29874:541:70;;;;;:::i;:::-;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;36734:90:70:-;;;;;;;;;;;;;:::i;:::-;;;12839:14:150;12827:27;;;12809:46;;12797:2;12782:18;36734:90:70;12665:196:150;5211:100:70;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5211:100:70;;32837:149;;;;;;;;;;-1:-1:-1;32837:149:70;;;;;:::i;:::-;;:::i;3756:150:5:-;;;;;;;;;;;;;:::i;29267:206:70:-;;;;;;;;;;-1:-1:-1;29267:206:70;;;;;:::i;:::-;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;5013:144:5;;;;;;;;;;-1:-1:-1;5013:144:5;;;;;:::i;:::-;;:::i;32310:151:70:-;;;;;;;;;;;;;:::i;25379:691::-;;;;;;;;;;-1:-1:-1;25379:691:70;;;;;:::i;:::-;;:::i;17066:129::-;;;;;;;;;;-1:-1:-1;17066:129:70;;;;;:::i;:::-;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;23337:520:70;;;;;;;;;;-1:-1:-1;23337:520:70;;;;;:::i;:::-;;:::i;6337:208:5:-;;;;;;;;;;-1:-1:-1;6337:208:5;;;;;:::i;:::-;;:::i;13512:973:70:-;;;;;;;;;;-1:-1:-1;13512:973:70;;;;;:::i;:::-;;:::i;31067:312::-;;;;;;;;;;-1:-1:-1;31067:312:70;;;;;:::i;:::-;;:::i;29577:175::-;;;;;;;;;;-1:-1:-1;29577:175:70;;;;;:::i;:::-;;:::i;28462:207::-;;;;;;;;;;-1:-1:-1;28462:207:70;;;;;:::i;:::-;;:::i;5145:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5145:62:70;;5662:138:0;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;22236:418:70:-;;;;;;;;;;-1:-1:-1;22236:418:70;;;;;:::i;:::-;;:::i;34728:188::-;;;;;;;;;;-1:-1:-1;34728:188:70;;;;;:::i;:::-;;:::i;33124:161::-;;;;;;;;;;-1:-1:-1;33124:161:70;;;;;:::i;:::-;;:::i;5079:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5079:62:70;;5223:210:5;;;;;;;;;;-1:-1:-1;5223:210:5;;;;;:::i;:::-;;:::i;5009:66:70:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5009:66:70;;24481:451;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;24615:1:70::1;24606:5;:10;;24598:50;;;::::0;-1:-1:-1;;;24598:50:70;;15890:2:150;24598:50:70::1;::::0;::::1;15872:21:150::0;15929:2;15909:18;;;15902:30;-1:-1:-1;;;15948:18:150;;;15941:57;16015:18;;24598:50:70::1;;;;;;;;;24675:1;24662:9;:14;;;;24654:59;;;::::0;-1:-1:-1;;;24654:59:70;;16246:2:150;24654:59:70::1;::::0;::::1;16228:21:150::0;;;16265:18;;;16258:30;16324:34;16304:18;;;16297:62;16376:18;;24654:59:70::1;16044:356:150::0;24654:59:70::1;24720:29;24752:25;:23;:25::i;:::-;24720:57;;24801:1;:11;;;24792:5;:20;;24784:92;;;::::0;-1:-1:-1;;;24784:92:70;;16607:2:150;24784:92:70::1;::::0;::::1;16589:21:150::0;16646:2;16626:18;;;16619:30;16685:34;16665:18;;;16658:62;-1:-1:-1;;;16736:18:150;;;16729:57;16803:19;;24784:92:70::1;16405:423:150::0;24784:92:70::1;24883:36;::::0;;::::1;;::::0;;;:25:::1;::::0;;::::1;:36;::::0;-1:-1:-1;24883:36:70;;;;:44;24481:451::o;38867:219::-;39026:4;39045:36;39069:11;39045:23;:36::i;:::-;39038:43;38867:219;-1:-1:-1;;38867:219:70:o;3546:146:5:-;3591:13;3616:23;3642:19;:17;:19::i;:::-;3616:45;;3678:1;:7;;3671:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3546:146;:::o;4792:154::-;4859:7;4878:22;4892:7;4878:13;:22::i;:::-;;4918:21;4931:7;4918:12;:21::i;4618:113::-;4689:35;4698:2;4702:7;966:10:11;4689:8:5;:35::i;:::-;4618:113;;:::o;3048:179:7:-;3100:7;3119:33;3155:29;:27;:29::i;:::-;3201:12;;:19;;3048:179;-1:-1:-1;;3048:179:7:o;5495:578:5:-;-1:-1:-1;;;;;5589:16:5;;5585:87;;5658:1;5628:33;;-1:-1:-1;;;5628:33:5;;;;;;;;:::i;5585:87::-;5890:21;5914:34;5922:2;5926:7;966:10:11;5914:7:5;:34::i;:::-;5890:58;;5979:4;-1:-1:-1;;;;;5962:21:5;:13;-1:-1:-1;;;;;5962:21:5;;5958:109;;6006:50;;-1:-1:-1;;;6006:50:5;;-1:-1:-1;;;;;17476:15:150;;;6006:50:5;;;17458:34:150;17508:18;;;17501:34;;;17571:15;;17551:18;;;17544:43;17393:18;;6006:50:5;17218:375:150;5958:109:5;5575:498;5495:578;;;:::o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;30680:197:70:-;30757:7;30772:29;30804:25;:23;:25::i;:::-;30842:30;;;;:23;;:30;;-1:-1:-1;;30842:30:70;;;;;30680:197::o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;2645:332:7:-:0;2733:7;2752:33;2788:29;:27;:29::i;:::-;2752:65;;2840:16;2850:5;2840:9;:16::i;:::-;2831:5;:25;2827:99;;2902:5;2909;2879:36;;-1:-1:-1;;;2879:36:7;;;;;;;;;:::i;2827:99::-;-1:-1:-1;;;;;2942:21:7;;:14;:21;;;;;;;;;;;:28;;;;;;;;;-1:-1:-1;2645:332:7;;;;:::o;20702:648:70:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;20788:29:70::1;20820:25;:23;:25::i;:::-;20788:57;;20868:1;:11;;;20860:5;:19;20852:99;;;::::0;-1:-1:-1;;;20852:99:70;;18079:2:150;20852:99:70::1;::::0;::::1;18061:21:150::0;18118:2;18098:18;;;18091:30;-1:-1:-1;;;;;;;;;;;18137:18:150;;;18130:62;18228:34;18208:18;;;18201:62;-1:-1:-1;;;18279:19:150;;;18272:34;18323:19;;20852:99:70::1;17877:471:150::0;20852:99:70::1;21024:1;21007:232;21032:5;21027:1;:10;21007:232;;21089:1;21060:26:::0;;;:23:::1;::::0;::::1;:26;::::0;;;;;21052:109:::1;;;::::0;-1:-1:-1;;;21052:109:70;;18555:2:150;21052:109:70::1;::::0;::::1;18537:21:150::0;18594:2;18574:18;;;18567:30;-1:-1:-1;;;;;;;;;;;18613:18:150;;;18606:62;18704:34;18684:18;;;18677:62;-1:-1:-1;;;18755:19:150;;;18748:33;18798:19;;21052:109:70::1;18353:470:150::0;21052:109:70::1;21039:3:::0;::::1;::::0;::::1;:::i;:::-;;;;21007:232;;;-1:-1:-1::0;21264:11:70::1;::::0;::::1;::::0;;21282:19;;;;21313:32:::1;::::0;;19274:25:150;;;19330:2;19315:18;;19308:34;;;21313:32:70::1;::::0;19247:18:150;21313:32:70::1;;;;;;;20782:568;;20702:648:::0;;:::o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;21559:502:70:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;21708:35:70;::::1;21700:111;;;::::0;-1:-1:-1;;;21700:111:70;;19555:2:150;21700:111:70::1;::::0;::::1;19537:21:150::0;19594:2;19574:18;;;19567:30;19633:34;19613:18;;;19606:62;19704:33;19684:18;;;19677:61;19755:19;;21700:111:70::1;19353:427:150::0;21700:111:70::1;21817:29;21849:25;:23;:25::i;:::-;21952:22:::0;;21886:90:::1;::::0;21817:57;;-1:-1:-1;;;;;;21952:22:70;;::::1;::::0;21886:90;;::::1;::::0;::::1;::::0;21952:22:::1;::::0;21886:90:::1;21982:74:::0;;-1:-1:-1;;;;;;21982:74:70::1;-1:-1:-1::0;;;;;21982:74:70;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;21559:502:70:o;28858:256::-;28957:7;28972:29;29004:25;:23;:25::i;:::-;-1:-1:-1;;;;;29042:36:70;;;;;;:29;;;:36;;;;;28972:57;;-1:-1:-1;29042:67:70;;29097:11;29042:54;:67::i;:::-;-1:-1:-1;;;;;29035:74:70;;28858:256;-1:-1:-1;;;;28858:256:70:o;15158:77::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;15220:10:70::1;:8;:10::i;:::-;15158:77:::0;:::o;28156:195::-;28225:5;28238:29;28270:25;:23;:25::i;:::-;28309:16;;;;:37;;-1:-1:-1;;;28309:37:70;;;;;2917:25:150;;;28309:16:70;;-1:-1:-1;;;;;;28309:16:70;;:29;;2890:18:150;;28309:37:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28302:44;28156:195;-1:-1:-1;;;28156:195:70:o;6139:132:5:-;6225:39;6242:4;6248:2;6252:7;6225:39;;;;;;;;;;;;:16;:39::i;17894:213:70:-;18010:10;17990:16;17998:7;17990;:16::i;:::-;-1:-1:-1;;;;;17990:30:70;;17982:94;;;;-1:-1:-1;;;17982:94:70;;;;;;;:::i;:::-;18083:19;18094:7;18083:10;:19::i;15826:912::-;3251:21:13;:19;:21::i;:::-;2316:19:12::1;:17;:19::i;:::-;15936:10:70::2;15916:16;15924:7:::0;15916::::2;:16::i;:::-;-1:-1:-1::0;;;;;15916:30:70::2;;15908:94;;;::::0;-1:-1:-1;;;15908:94:70;;20659:2:150;15908:94:70::2;::::0;::::2;20641:21:150::0;20698:2;20678:18;;;20671:30;20737:34;20717:18;;;20710:62;-1:-1:-1;;;20788:18:150;;;20781:49;20847:19;;15908:94:70::2;20457:415:150::0;15908:94:70::2;16008:29;16040:25;:23;:25::i;:::-;16008:57;;16072:20;16095:16;16103:7;16095;:16::i;:::-;16072:39;;16141:11;:9;:11::i;:::-;16126:12;:26;16118:83;;;::::0;-1:-1:-1;;;16118:83:70;;21079:2:150;16118:83:70::2;::::0;::::2;21061:21:150::0;21118:2;21098:18;;;21091:30;21157:34;21137:18;;;21130:62;-1:-1:-1;;;21208:18:150;;;21201:42;21260:19;;16118:83:70::2;20877:408:150::0;16118:83:70::2;16208:20;16231:25;16248:7;16231:16;:25::i;:::-;16271:6;::::0;::::2;::::0;:28:::2;::::0;-1:-1:-1;;;16271:28:70;;16208:48;;-1:-1:-1;16208:48:70;;-1:-1:-1;;;;;16271:6:70;;::::2;::::0;:16:::2;::::0;:28:::2;::::0;16288:10:::2;::::0;16271:28:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;16263:103;;;::::0;-1:-1:-1;;;16263:103:70;;21681:2:150;16263:103:70::2;::::0;::::2;21663:21:150::0;21720:2;21700:18;;;21693:30;21759:34;21739:18;;;21732:62;-1:-1:-1;;;21810:18:150;;;21803:44;21864:19;;16263:103:70::2;21479:410:150::0;16263:103:70::2;16388:6;::::0;::::2;::::0;:43:::2;::::0;-1:-1:-1;;;16388:43:70;;16405:10:::2;16388:43;::::0;::::2;22106:34:150::0;16425:4:70::2;22156:18:150::0;;;22149:43;16435:12:70;;-1:-1:-1;;;;;16388:6:70::2;::::0;:16:::2;::::0;22041:18:150;;16388:43:70::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;16373:138;;;::::0;-1:-1:-1;;;16373:138:70;;22405:2:150;16373:138:70::2;::::0;::::2;22387:21:150::0;22444:2;22424:18;;;22417:30;22483:34;22463:18;;;22456:62;-1:-1:-1;;;22534:18:150;;;22527:46;22590:19;;16373:138:70::2;22203:412:150::0;16373:138:70::2;16518:32;::::0;;;:23:::2;::::0;::::2;:32;::::0;;;;:48;;16554:12;;16518:32;:48:::2;::::0;16554:12;;16518:48:::2;:::i;:::-;::::0;;;-1:-1:-1;;16581:6:70::2;::::0;::::2;::::0;16613:10:::2;::::0;::::2;::::0;16581:57:::2;::::0;-1:-1:-1;;;16581:57:70;;16601:10:::2;16581:57;::::0;::::2;22990:34:150::0;-1:-1:-1;;;;;16613:10:70;;::::2;23040:18:150::0;;;23033:43;23092:18;;;23085:34;;;16581:6:70;::::2;::::0;:19:::2;::::0;22925:18:150;;16581:57:70::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16573:99;;;::::0;-1:-1:-1;;;16573:99:70;;23582:2:150;16573:99:70::2;::::0;::::2;23564:21:150::0;23621:2;23601:18;;;23594:30;23660:31;23640:18;;;23633:59;23709:18;;16573:99:70::2;23380:353:150::0;16573:99:70::2;16693:7;16684:49;16702:12;16716:16;16724:7;16716;:16::i;:::-;16684:49;::::0;;19274:25:150;;;19330:2;19315:18;;19308:34;;;;19247:18;16684:49:70::2;;;;;;;15902:836;;;3293:20:13::0;:18;:20::i;19130:961:70:-;2316:19:12;:17;:19::i;:::-;19223:29:70::1;19255:25;:23;:25::i;:::-;19223:57:::0;-1:-1:-1;19322:10:70::1;19302:16;19310:7:::0;19302::::1;:16::i;:::-;-1:-1:-1::0;;;;;19302:30:70::1;;:100;;;-1:-1:-1::0;19344:16:70::1;::::0;::::1;::::0;:44:::1;::::0;-1:-1:-1;;;19344:44:70;;::::1;::::0;::::1;2917:25:150::0;;;19392:10:70::1;::::0;-1:-1:-1;;;;;19344:16:70::1;::::0;:31:::1;::::0;2890:18:150;;19344:44:70::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19344:58:70::1;;19302:100;:168;;;-1:-1:-1::0;19414:16:70::1;::::0;::::1;::::0;:42:::1;::::0;-1:-1:-1;;;19414:42:70;;::::1;::::0;::::1;2917:25:150::0;;;19460:10:70::1;::::0;-1:-1:-1;;;;;19414:16:70::1;::::0;:29:::1;::::0;2890:18:150;;19414:42:70::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19414:56:70::1;;19302:168;19287:285;;;::::0;-1:-1:-1;;;19287:285:70;;24196:2:150;19287:285:70::1;::::0;::::1;24178:21:150::0;24235:2;24215:18;;;24208:30;-1:-1:-1;;;;;;;;;;;24254:18:150;;;24247:62;24345:34;24325:18;;;24318:62;-1:-1:-1;;;24396:19:150;;;24389:53;24459:19;;19287:285:70::1;23994:490:150::0;19287:285:70::1;19622:7;19586:32;19606:11;19586:19;:32::i;:::-;:43;19578:100;;;::::0;-1:-1:-1;;;19578:100:70;;24691:2:150;19578:100:70::1;::::0;::::1;24673:21:150::0;24730:2;24710:18;;;24703:30;24769:34;24749:18;;;24742:62;-1:-1:-1;;;24820:18:150;;;24813:42;24872:19;;19578:100:70::1;24489:408:150::0;19578:100:70::1;19722:11;19692:26;19710:7;19692:17;:26::i;:::-;:41;19684:98;;;::::0;-1:-1:-1;;;19684:98:70;;25104:2:150;19684:98:70::1;::::0;::::1;25086:21:150::0;25143:2;25123:18;;;25116:30;25182:34;25162:18;;;25155:62;-1:-1:-1;;;25233:18:150;;;25226:42;25285:19;;19684:98:70::1;24902:408:150::0;19684:98:70::1;19796:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;19789:36;;;19838:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;19831:32;;;19875:34;19855:7;;19813:11;;19875:34:::1;::::0;19796:29;19875:34:::1;19976:13;19995:34;20018:7;20027:1;19995:22;:34::i;:::-;19975:54;;;20067:11;20058:7;20040:46;20080:5;20040:46;;;;2917:25:150::0;;2905:2;2890:18;;2771:177;20040:46:70::1;;;;;;;;19217:874;;19130:961:::0;;:::o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;3299:303:7:-:0;3365:7;3384:33;3420:29;:27;:29::i;:::-;3384:65;;3472:13;:11;:13::i;:::-;3463:5;:22;3459:101;;3539:1;3543:5;3508:41;;-1:-1:-1;;;3508:41:7;;;;;;;;;:::i;3459:101::-;3576:1;:12;;3589:5;3576:19;;;;;;;;:::i;:::-;;;;;;;;;3569:26;;;3299:303;;;:::o;32579:149:70:-;32653:7;32675:25;:23;:25::i;:::-;:48;;;;:40;;:48;;-1:-1:-1;32675:48:70;;;;;32579:149::o;3705:134:3:-;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;22809:336:70:-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;22944:1:70::1;22921:12;22915:26;:30;22907:78;;;;-1:-1:-1::0;;;22907:78:70::1;;;;;;;:::i;:::-;22991:29;23023:25;:23;:25::i;:::-;22991:57;;23088:1;:15;;23059:45;;;;;;:::i;:::-;;;;;;;;23074:12;23059:45;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;23110:15;::::0;::::1;:30;23128:12:::0;23110:15;:30:::1;:::i;31899:133::-:0;31938:5;31951:29;31983:25;:23;:25::i;:::-;32021:6;;;-1:-1:-1;;;;;32021:6:70;;31899:133;-1:-1:-1;;31899:133:70:o;24002:241::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;24101:29:70::1;24133:25;:23;:25::i;:::-;24101:57;;24169:29;24189:8;24169:29;;;;1000:14:150::0;993:22;975:41;;963:2;948:18;;835:187;24169:29:70::1;;;;;;;;24204:23;;:34:::0;;-1:-1:-1;;24204:34:70::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;24002:241:70:o;15418:203::-;10057:29;10089:25;:23;:25::i;:::-;10129:23;;;;10057:57;;-1:-1:-1;10129:23:70;;10128:24;10120:76;;;;-1:-1:-1;;;10120:76:70;;29398:2:150;10120:76:70;;;29380:21:150;29437:2;29417:18;;;29410:30;29476:34;29456:18;;;29449:62;-1:-1:-1;;;29527:18:150;;;29520:37;29574:19;;10120:76:70;29196:403:150;10120:76:70;15494:36:::1;15519:10;15494:24;:36::i;:::-;15486:103;;;::::0;-1:-1:-1;;;15486:103:70;;29806:2:150;15486:103:70::1;::::0;::::1;29788:21:150::0;29845:2;29825:18;;;29818:30;29884:34;29864:18;;;29857:62;-1:-1:-1;;;29935:18:150;;;29928:52;29997:19;;15486:103:70::1;29604:418:150::0;15486:103:70::1;15596:20;15605:10;15596:8;:20::i;2692:145:12:-:0;2739:4;2755:25;2783:21;:19;:21::i;:::-;2821:9;;;;2692:145;-1:-1:-1;;2692:145:12:o;31444:186:70:-;31499:26;31533:29;31565:25;:23;:25::i;:::-;31603:22;-1:-1:-1;;;;;31603:22:70;;31444:186;-1:-1:-1;;31444:186:70:o;11626:1688::-;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;11729:1:70::1;11713:4;:13;;;:17;11705:77;;;::::0;-1:-1:-1;;;11705:77:70;;30229:2:150;11705:77:70::1;::::0;::::1;30211:21:150::0;30268:2;30248:18;;;30241:30;-1:-1:-1;;;;;;;;;;;30287:18:150;;;30280:62;-1:-1:-1;;;30358:18:150;;;30351:45;30413:19;;11705:77:70::1;30027:411:150::0;11705:77:70::1;11830:1;11802:4;:17;;;11796:31;:35;11788:83;;;;-1:-1:-1::0;;;11788:83:70::1;;;;;;;:::i;:::-;11885:9;::::0;::::1;::::0;-1:-1:-1;;;;;11885:23:70::1;11877:96;;;::::0;-1:-1:-1;;;11877:96:70;;30645:2:150;11877:96:70::1;::::0;::::1;30627:21:150::0;30684:2;30664:18;;;30657:30;30723:34;30703:18;;;30696:62;-1:-1:-1;;;30774:18:150;;;30767:58;30842:19;;11877:96:70::1;30443:424:150::0;11877:96:70::1;11987:13;::::0;::::1;::::0;-1:-1:-1;;;;;11987:27:70::1;11979:98;;;::::0;-1:-1:-1;;;11979:98:70;;31074:2:150;11979:98:70::1;::::0;::::1;31056:21:150::0;31113:2;31093:18;;;31086:30;31152:34;31132:18;;;31125:62;-1:-1:-1;;;31203:18:150;;;31196:56;31269:19;;11979:98:70::1;30872:422:150::0;11979:98:70::1;12150:1;12134:4;:13;;;:17;;;;:::i;:::-;12098:4;:25;;;:32;:53;;12083:150;;;::::0;-1:-1:-1;;;12083:150:70;;31634:2:150;12083:150:70::1;::::0;::::1;31616:21:150::0;31673:2;31653:18;;;31646:30;-1:-1:-1;;;;;;;;;;;31692:18:150;;;31685:62;31783:34;31763:18;;;31756:62;-1:-1:-1;;;31834:19:150;;;31827:33;31877:19;;12083:150:70::1;31432:470:150::0;12083:150:70::1;12240:37;12254:4;:9;;;12265:4;:11;;;12240:13;:37::i;:::-;12283:25;:23;:25::i;:::-;12314:23;:21;:23::i;:::-;12343;:21;:23::i;:::-;12372:22;:20;:22::i;:::-;12400:24;:22;:24::i;:::-;12430;:22;:24::i;:::-;12461:29;12493:25;:23;:25::i;:::-;12461:57;;12543:4;:17;;;12525:1;:15;;:35;;;;;;:::i;:::-;;12572:9;12567:290;12591:4;:25;;;:32;12587:1;:36;12567:290;;;12677:1;12646:4;:25;;;12672:1;12646:28;;;;;;;;:::i;:::-;;;;;;;:32;12638:98;;;;-1:-1:-1::0;;;12638:98:70::1;;;;;;;:::i;:::-;12777:4;:25;;;12803:1;12777:28;;;;;;;;:::i;:::-;;;;;;;12744:1;:23;;:30;12768:1;12772;12768:5;;;;:::i;:::-;12744:30:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12744:30:70;:61;12625:3;::::1;::::0;::::1;:::i;:::-;;;;12567:290;;;-1:-1:-1::0;12877:13:70::1;::::0;::::1;::::0;12863:11:::1;::::0;::::1;:27:::0;12912:9:::1;::::0;::::1;::::0;12897:6:::1;::::0;::::1;:25:::0;;-1:-1:-1;;;;;;12897:25:70;;::::1;-1:-1:-1::0;;;;;12897:25:70;;::::1;;::::0;;;12941:13:::1;::::0;::::1;::::0;12928:10:::1;::::0;::::1;:26:::0;;;;::::1;::::0;;::::1;;::::0;;12969:10:::1;::::0;::::1;::::0;:24:::1;12961:92;;;::::0;-1:-1:-1;;;12961:92:70;;32531:2:150;12961:92:70::1;::::0;::::1;32513:21:150::0;32570:2;32550:18;;;32543:30;32609:34;32589:18;;;32582:62;-1:-1:-1;;;32660:18:150;;;32653:53;32723:19;;12961:92:70::1;32329:419:150::0;12961:92:70::1;13059:42;2362:4:0;13070:18:70::0;::::1;13090:4;:10;;;13059;:42::i;:::-;;13107:40;-1:-1:-1::0;;;;;;;;;;;13133:4:70::1;:13;;;13107:10;:40::i;:::-;;13153:36;-1:-1:-1::0;;;;;;;;;;;13177:4:70::1;:11;;;13153:10;:36::i;:::-;;13195;-1:-1:-1::0;;;;;;;;;;;13219:4:70::1;:11;;;13195:10;:36::i;:::-;;13237:72;-1:-1:-1::0;;;;;;;;;;;13280:4:70::1;:28;;;13237:10;:72::i;:::-;;11699:1615;5070:14:2::0;5066:101;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;;;;;;;;;;;5142:14:2;;;5100:23;;5142:14;:::i;:::-;;;;;;;;5066:101;4092:1081;;;;;11626:1688:70;:::o;32085:143::-;32128:7;32143:29;32175:25;:23;:25::i;:::-;32213:10;;;-1:-1:-1;;;;;32213:10:70;;32085:143;-1:-1:-1;;32085:143:70:o;3366:118:5:-;3429:7;3455:22;3469:7;3455:13;:22::i;34110:455:70:-;34187:16;;:::i;:::-;34284:1;34255:17;34264:7;34255:8;:17::i;:::-;-1:-1:-1;;;;;34255:31:70;;34247:79;;;;-1:-1:-1;;;34247:79:70;;33169:2:150;34247:79:70;;;33151:21:150;33208:2;33188:18;;;33181:30;33247:34;33227:18;;;33220:62;-1:-1:-1;;;33298:18:150;;;33291:33;33341:19;;34247:79:70;32967:399:150;34247:79:70;34333:26;;:::i;:::-;34365:27;;;34419:17;34385:7;34419:8;:17::i;:::-;34398:18;;;:38;34465:16;34473:7;34465;:16::i;:::-;34442:20;;;:39;34513:25;34530:7;34513:16;:25::i;:::-;34487:23;;;:51;:9;34110:455;-1:-1:-1;;34110:455:70:o;30478:91::-;30526:13;30554:10;:8;:10::i;:::-;30547:17;;30478:91;:::o;25059:211::-;25122:7;25137:14;25154:26;25172:7;25154:17;:26::i;:::-;25137:43;;25188:13;25207:39;25230:7;25239:6;25207:22;:39::i;:::-;-1:-1:-1;25187:59:70;25059:211;-1:-1:-1;;;;25059:211:70:o;3044:265:5:-;3107:7;3126:23;3152:19;:17;:19::i;:::-;3126:45;-1:-1:-1;;;;;;3185:19:5;;3181:87;;3254:1;3227:30;;-1:-1:-1;;;3227:30:5;;;;;;;;:::i;3181:87::-;-1:-1:-1;;;;;3284:18:5;;;;;;;:11;;;;:18;;-1:-1:-1;3284:18:5;;;;;3044:265::o;31687:157:70:-;31734:13;31755:29;31787:25;:23;:25::i;:::-;31825:14;;;-1:-1:-1;;;;;31825:14:70;;31687:157;-1:-1:-1;;31687:157:70:o;16860:87::-;16914:28;16922:10;16934:7;16914;:28::i;14987:73::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;15047:8:70::1;:6;:8::i;35192:1490::-:0;35286:18;35344:4;35352:1;35344:9;35340:79;;35363:49;;-1:-1:-1;;;35363:49:70;;33573:2:150;35363:49:70;;;33555:21:150;33612:2;33592:18;;;33585:30;-1:-1:-1;;;;;;;;;;;33631:18:150;;;33624:62;-1:-1:-1;;;33702:18:150;;;33695:37;33749:19;;35363:49:70;33371:403:150;35340:79:70;35505:3;35584:26;;;35580:209;;;35726:37;35743:19;35726:16;:37::i;:::-;35654:110;;;;;;;;:::i;:::-;;;;-1:-1:-1;;35654:110:70;;;;;;;;;;-1:-1:-1;;;35620:162:70;;;;;;;:::i;35580:209::-;35795:15;35813:16;35823:5;35813:9;:16::i;:::-;35795:34;-1:-1:-1;35942:13:70;35958:11;35965:4;35958;:11;:::i;:::-;35942:27;;36070:7;36061:5;:16;36057:62;;36094:18;;;36110:1;36094:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;36087:25;;;;;;;36057:62;36168:11;36182:12;36190:4;36182:5;:12;:::i;:::-;36168:26;;36210:7;36204:3;:13;36200:106;;;-1:-1:-1;36233:7:70;36200:106;36360:17;36380:11;36386:5;36380:3;:11;:::i;:::-;36360:31;;36398:25;36442:9;-1:-1:-1;;;;;36426:26:70;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;36398:54;;36464:9;36459:199;36483:9;36479:1;:13;36459:199;;;36507:18;36528:9;36536:1;36528:5;:9;:::i;:::-;36507:30;;36545:15;36563:38;36583:5;36590:10;36563:19;:38::i;:::-;36545:56;;36621:30;36643:7;36621:21;:30::i;:::-;36609:6;36616:1;36609:9;;;;;;;;:::i;:::-;;;;;;:42;;;;36499:159;;36494:3;;;;;:::i;:::-;;;;36459:199;;;-1:-1:-1;36671:6:70;35192:1490;-1:-1:-1;;;;;;;;;35192:1490:70:o;33385:153::-;33455:7;33477:25;:23;:25::i;:::-;:56;;;;:47;;:56;;-1:-1:-1;33477:56:70;;;;;33385:153::o;18208:918::-;2316:19:12;:17;:19::i;:::-;18301:29:70::1;18333:25;:23;:25::i;:::-;18301:57:::0;-1:-1:-1;18393:10:70::1;18373:16;18381:7:::0;18373::::1;:16::i;:::-;-1:-1:-1::0;;;;;18373:30:70::1;;18365:82;;;::::0;-1:-1:-1;;;18365:82:70;;34673:2:150;18365:82:70::1;::::0;::::1;34655:21:150::0;34712:2;34692:18;;;34685:30;34751:34;34731:18;;;34724:62;-1:-1:-1;;;34802:18:150;;;34795:37;34849:19;;18365:82:70::1;34471:403:150::0;18365:82:70::1;18468:16;::::0;::::1;::::0;:44:::1;::::0;-1:-1:-1;;;18468:44:70;;::::1;::::0;::::1;2917:25:150::0;;;18516:10:70::1;::::0;-1:-1:-1;;;;;18468:16:70::1;::::0;:31:::1;::::0;2890:18:150;;18468:44:70::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18468:58:70::1;;18453:146;;;::::0;-1:-1:-1;;;18453:146:70;;35081:2:150;18453:146:70::1;::::0;::::1;35063:21:150::0;35120:2;35100:18;;;35093:30;-1:-1:-1;;;;;;;;;;;35139:18:150;;;35132:62;-1:-1:-1;;;35210:18:150;;;35203:55;35275:19;;18453:146:70::1;34879:421:150::0;18453:146:70::1;18613:32;18633:11;18613:19;:32::i;:::-;:37:::0;18605:96:::1;;;::::0;-1:-1:-1;;;18605:96:70;;35507:2:150;18605:96:70::1;::::0;::::1;35489:21:150::0;35546:2;35526:18;;;35519:30;35585:34;35565:18;;;35558:62;-1:-1:-1;;;35636:18:150;;;35629:44;35690:19;;18605:96:70::1;35305:410:150::0;18605:96:70::1;18715:26;18733:7;18715:17;:26::i;:::-;:31:::0;18707:90:::1;;;::::0;-1:-1:-1;;;18707:90:70;;35922:2:150;18707:90:70::1;::::0;::::1;35904:21:150::0;35961:2;35941:18;;;35934:30;36000:34;35980:18;;;35973:62;-1:-1:-1;;;36051:18:150;;;36044:44;36105:19;;18707:90:70::1;35720:410:150::0;18707:90:70::1;18804:29;::::0;;;:16:::1;::::0;::::1;:29;::::0;;;;;;;:39;;;18849:25;;;:16:::1;::::0;::::1;:25:::0;;;;;;:39;;;18900:34;18836:7;;18821:11;;18900:34:::1;::::0;18804:29;18900:34:::1;19001:13;19020:44;19043:7;19052:11;19020:22;:44::i;:::-;19000:64;;;19102:11;19093:7;19075:46;19115:5;19075:46;;;;2917:25:150::0;;2905:2;2890:18;;2771:177;29874:541:70;29951:4;29963:29;29995:25;:23;:25::i;:::-;30041:22;;29963:57;;-1:-1:-1;;;;;;30041:22:70;30026:143;;;;-1:-1:-1;;;30026:143:70;;36337:2:150;30026:143:70;;;36319:21:150;36376:2;36356:18;;;36349:30;36415:34;36395:18;;;36388:62;-1:-1:-1;;;36466:18:150;;;36459:46;36522:19;;30026:143:70;36135:412:150;30026:143:70;30183:14;;;;-1:-1:-1;;;;;30183:14:70;30175:100;;;;-1:-1:-1;;;30175:100:70;;36754:2:150;30175:100:70;;;36736:21:150;36793:2;36773:18;;;36766:30;36832:34;36812:18;;;36805:62;-1:-1:-1;;;36883:18:150;;;36876:33;36926:19;;30175:100:70;36552:399:150;30175:100:70;30286:22;;:41;;-1:-1:-1;;;30286:41:70;;-1:-1:-1;;;;;30286:22:70;;;;:35;;:41;;30322:4;;30286:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;-1:-1:-1;30331:14:70;;;;:33;;-1:-1:-1;;;30331:33:70;;-1:-1:-1;;;;;30331:14:70;;;;:27;;:33;;30359:4;;30331:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30282:110;;;-1:-1:-1;30381:4:70;;29874:541;-1:-1:-1;;29874:541:70:o;30282:110::-;-1:-1:-1;30405:5:70;;29874:541;-1:-1:-1;;29874:541:70:o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;36734:90:70:-;36780:6;36801:18;:16;:18::i;32837:149::-;32910:7;32932:25;:23;:25::i;:::-;:49;;;;:40;;:49;;-1:-1:-1;32932:49:70;;;;;32837:149::o;3756:150:5:-;3803:13;3828:23;3854:19;:17;:19::i;:::-;3828:45;;3890:1;:9;;3883:16;;;;;:::i;29267:206:70:-;29370:7;29386:13;29405:44;29428:7;29437:11;29405:22;:44::i;5013:144:5:-;5098:52;966:10:11;5131:8:5;5141;5098:18;:52::i;32310:151:70:-;32360:7;32375:29;32407:25;:23;:25::i;:::-;32445:11;;;;32310:151;-1:-1:-1;;32310:151:70:o;25379:691::-;25451:7;;25470:17;25479:7;25470:8;:17::i;:::-;-1:-1:-1;;;;;25470:31:70;;25466:45;;-1:-1:-1;25510:1:70;;25379:691;-1:-1:-1;25379:691:70:o;25466:45::-;25518:14;25535:26;25553:7;25535:17;:26::i;:::-;25518:43;;25640:20;25662:23;25689:39;25712:7;25721:6;25689:22;:39::i;:::-;25639:89;;;;25810:11;:9;:11::i;:::-;25794:12;:27;25790:56;;-1:-1:-1;25838:1:70;;25379:691;-1:-1:-1;;;;25379:691:70:o;25790:56::-;26050:15;26006:41;26030:16;:12;26045:1;26030:16;:::i;26006:41::-;:59;;;;:::i;:::-;25999:66;25379:691;-1:-1:-1;;;;;25379:691:70:o;17066:129::-;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;17167:23:70::1;17175:5;17182:7;17167;:23::i;23337:520::-:0;2362:4:0;3191:16;2362:4;3191:10;:16::i;:::-;23459:29:70::1;23491:25;:23;:25::i;:::-;23459:57;;23527:9;23522:271;23542:20;:27;23538:1;:31;23522:271;;;23618:1;23592:20;23613:1;23592:23;;;;;;;;:::i;:::-;;;;;;;:27;23584:93;;;;-1:-1:-1::0;;;23584:93:70::1;;;;;;;:::i;:::-;23718:20;23739:1;23718:23;;;;;;;;:::i;:::-;;;;;;;23685:1;:23;;:30;23709:1;23713;23709:5;;;;:::i;:::-;23685:30:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;23685:30:70;:56;23571:3;::::1;::::0;::::1;:::i;:::-;;;;23522:271;;;;23803:49;23831:20;23803:49;;;;;;:::i;:::-;;;;;;;;23453:404;23337:520:::0;;:::o;6337:208:5:-;6450:31;6463:4;6469:2;6473:7;6450:12;:31::i;:::-;6491:47;6514:4;6520:2;6524:7;6533:4;6491:22;:47::i;13512:973:70:-;13681:1;6357:30:2;6390:26;:24;:26::i;:::-;6431:15;;;;-1:-1:-1;;;;6431:15:2;;;;;:44;;-1:-1:-1;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;;:14;;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1;;;6498:23:2;;;;;;;;;;;6427:105;6541:24;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;;6575:22;-1:-1:-1;;;6575:22:2;;;13698::70;;6575:15:2;13698:27:70::1;13690:96;;;::::0;-1:-1:-1;;;13690:96:70;;37795:2:150;13690:96:70::1;::::0;::::1;37777:21:150::0;37834:2;37814:18;;;37807:30;-1:-1:-1;;;;;;;;;;;37853:18:150;;;37846:62;-1:-1:-1;;;37924:18:150;;;37917:54;37988:19;;13690:96:70::1;37593:420:150::0;13690:96:70::1;-1:-1:-1::0;;;;;13800:27:70;::::1;13792:94;;;::::0;-1:-1:-1;;;13792:94:70;;38220:2:150;13792:94:70::1;::::0;::::1;38202:21:150::0;38259:2;38239:18;;;38232:30;38298:34;38278:18;;;38271:62;-1:-1:-1;;;38349:18:150;;;38342:52;38411:19;;13792:94:70::1;38018:418:150::0;13792:94:70::1;-1:-1:-1::0;;;;;13900:30:70;::::1;13892:100;;;::::0;-1:-1:-1;;;13892:100:70;;38643:2:150;13892:100:70::1;::::0;::::1;38625:21:150::0;38682:2;38662:18;;;38655:30;38721:34;38701:18;;;38694:62;-1:-1:-1;;;38772:18:150;;;38765:55;38837:19;;13892:100:70::1;38441:421:150::0;13892:100:70::1;13999:29;14031:25;:23;:25::i;:::-;14063:14;::::0;::::1;:45:::0;;-1:-1:-1;;;;;;14063:45:70::1;;-1:-1:-1::0;;;;;14063:45:70;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;14114:16:::1;::::0;::::1;:54:::0;;-1:-1:-1;;;;;;14114:54:70::1;::::0;;::::1;::::0;;;::::1;::::0;;14192:14:::1;::::0;::::1;::::0;14063;;-1:-1:-1;14192:19:70;:40:::1;;14218:1;:14;;;14192:40;;;14214:1;14192:40;14175:14;::::0;::::1;:57:::0;14244:7:::1;14239:192;14257:15;:22;14253:1;:26;;;14239:192;;;14324:1;14302:15;14318:1;14302:18;;;;;;;;;;:::i;:::-;;;;;;;:23;;14294:73;;;::::0;-1:-1:-1;;;14294:73:70;;39069:2:150;14294:73:70::1;::::0;::::1;39051:21:150::0;39108:2;39088:18;;;39081:30;-1:-1:-1;;;;;;;;;;;39127:18:150;;;39120:62;-1:-1:-1;;;39198:18:150;;;39191:35;39243:19;;14294:73:70::1;38867:401:150::0;14294:73:70::1;14406:15;14422:1;14406:18;;;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;14375:28:::1;::::0;::::1;;::::0;;;:25:::1;::::0;::::1;:28:::0;;;;;;;:49;14401:1;14281:3:::1;14401:1:::0;14281:3:::1;:::i;:::-;;;;14239:192;;;;14437:43;-1:-1:-1::0;;;;;;;;;;;14468:11:70::1;14437:10;:43::i;:::-;-1:-1:-1::0;;6618:23:2;;-1:-1:-1;;;;6618:23:2;;;6656:20;;-1:-1:-1;;;;;;;;;;;6656:20:2;;;6668:7;;6656:20;:::i;31067:312:70:-;31159:13;31213:1;31184:17;31193:7;31184:8;:17::i;:::-;-1:-1:-1;;;;;31184:31:70;;31180:46;;-1:-1:-1;;31217:9:70;;;;;;;;;-1:-1:-1;31217:9:70;;;31067:312::o;31180:46::-;31233:20;31256:16;31264:7;31256;:16::i;:::-;31233:39;;31300:1;31285:12;:16;:89;;;;;;;;;;;;;;;;;31318:9;:7;:9::i;:::-;31329:30;31346:12;31329:16;:30::i;:::-;31304:65;;;;;;;;;:::i;:::-;;;;;;;;;;;;;31278:96;31067:312;-1:-1:-1;;;31067:312:70:o;29577:175::-;29659:7;29675:13;29694:34;29717:7;29726:1;29694:22;:34::i;:::-;-1:-1:-1;29674:54:70;29577:175;-1:-1:-1;;;29577:175:70:o;28462:207::-;28534:7;28549:29;28581:25;:23;:25::i;:::-;-1:-1:-1;;;;;28619:36:70;;;;;;:29;;;:36;;;;;28549:57;;-1:-1:-1;28619:45:70;;:43;:45::i;:::-;-1:-1:-1;;;;;28612:52:70;;28462:207;-1:-1:-1;;;28462:207:70:o;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;22236:418:70:-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;-1:-1:-1;;;;;22361:27:70;::::1;22353:95;;;::::0;-1:-1:-1;;;22353:95:70;;40517:2:150;22353:95:70::1;::::0;::::1;40499:21:150::0;40556:2;40536:18;;;40529:30;40595:34;40575:18;;;40568:62;-1:-1:-1;;;40646:18:150;;;40639:53;40709:19;;22353:95:70::1;40315:419:150::0;22353:95:70::1;22454:29;22486:25;:23;:25::i;:::-;22573:14;::::0;::::1;::::0;22523:66:::1;::::0;22454:57;;-1:-1:-1;;;;;;22573:14:70;;::::1;::::0;22523:66;;::::1;::::0;::::1;::::0;22573:14:::1;::::0;22523:66:::1;22595:14;;:54:::0;;-1:-1:-1;;;;;;22595:54:70::1;-1:-1:-1::0;;;;;22595:54:70;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;22236:418:70:o;34728:188::-;34801:16;;:::i;:::-;34825:15;34843:25;34862:5;34843:18;:25::i;:::-;34825:43;;34881:30;34903:7;34881:21;:30::i;33124:161::-;33198:7;33220:25;:23;:25::i;:::-;:60;;;;;;;;:49;;;;;:60;;-1:-1:-1;33220:60:70;;;;;33124:161::o;5223:210:5:-;5311:4;5327:23;5353:19;:17;:19::i;:::-;-1:-1:-1;;;;;5389:27:5;;;;;;;:20;;;;;:27;;;;;;;;:37;;;;;;;;;;-1:-1:-1;;5389:37:5;;;;;5223:210::o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;8147:158:70:-;8268:27;;8147:158::o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;;3602:36;3626:11;3602:23;:36::i;1958:156:5:-;2077:21;;1958:156::o;17836:241::-;17899:7;17918:13;17934:17;17943:7;17934:8;:17::i;:::-;17918:33;-1:-1:-1;;;;;;17965:19:5;;17961:88;;18007:31;;-1:-1:-1;;;18007:31:5;;;;;2917:25:150;;;2890:18;;18007:31:5;2771:177:150;7347:184:5;7417:7;7436:23;7462:19;:17;:19::i;:::-;7498:26;;;;:17;;:26;;-1:-1:-1;;7498:26:5;;;;-1:-1:-1;;;;;7498:26:5;;7347:184::o;16002:120::-;16082:33;16091:2;16095:7;16104:4;16110;16082:8;:33::i;1581:186:7:-;1720:31;;1581:186::o;37338:1116:70:-;37546:7;2316:19:12;:17;:19::i;:::-;37571:26:70::1;37589:7;37571:17;:26::i;:::-;:31:::0;37563:106:::1;;;::::0;-1:-1:-1;;;37563:106:70;;40941:2:150;37563:106:70::1;::::0;::::1;40923:21:150::0;40980:2;40960:18;;;40953:30;41019:34;40999:18;;;40992:62;41090:32;41070:18;;;41063:60;41140:19;;37563:106:70::1;40739:426:150::0;37563:106:70::1;37676:22;37701:32;37715:2;37719:7;37728:4;37701:13;:32::i;:::-;37676:57:::0;-1:-1:-1;;;;;;37802:28:70;::::1;::::0;;::::1;::::0;:62:::1;;;37834:25;37844:14;37834:9;:25::i;:::-;:30:::0;37802:62:::1;37798:169;;;37874:86;37949:7;:5;:7::i;:::-;37958:1;37874:25;:23;:25::i;:::-;-1:-1:-1::0;;;;;37874:69:70;::::1;;::::0;;;:53:::1;::::0;;;::::1;:69;::::0;;;;;:86;:74:::1;:86::i;:::-;;;37798:169;-1:-1:-1::0;;;;;38069:28:70;::::1;::::0;;::::1;::::0;:77:::1;;;38139:7;38101:34;38120:14;38101:18;:34::i;:::-;:45;38069:77;:110;;;;;38178:1;38150:25;38160:14;38150:9;:25::i;:::-;:29;38069:110;38058:206;;;38194:63;38202:14;38218:38;38238:14;38254:1;38218:19;:38::i;:::-;38194:7;:63::i;:::-;-1:-1:-1::0;;;;;38328:16:70;::::1;::::0;;::::1;::::0;:38:::1;;;38348:13;38358:2;38348:9;:13::i;:::-;38365:1;38348:18;38328:38;38324:98;;;38376:39;38384:2;38388:26;38408:2;38412:1;38388:19;:26::i;38376:39::-;38435:14:::0;37338:1116;-1:-1:-1;;;;37338:1116:70:o;2787:177:0:-;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;9441:606:39;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;3674:178:12:-;2563:16;:14;:16::i;:::-;3732:25:::1;3760:21;:19;:21::i;:::-;3791:17:::0;;-1:-1:-1;;3791:17:12::1;::::0;;;-1:-1:-1;3823:22:12::1;966:10:11::0;3832:12:12::1;3823:22;;;;;;:::i;:::-;;;;;;;;3722:130;3674:178::o:0;876:314:6:-;1141:42;1157:1;1161:7;966:10:11;5914:7:5;:34::i;3326:384:13:-;3375:32;3410:28;:26;:28::i;:::-;3526:9;;3375:63;;-1:-1:-1;;;3526:20:13;3522:88;;3569:30;;-1:-1:-1;;;3569:30:13;;;;;;;;;;;3522:88;1847:1;3684:19;;3326:384::o;2905:128:12:-;2970:8;:6;:8::i;:::-;2966:61;;;3001:15;;-1:-1:-1;;;3001:15:12;;;;;;;;;;;2966:61;2905:128::o;3716:283:13:-;3764:32;3799:28;:26;:28::i;:::-;1805:1;3969:23;;-1:-1:-1;3716:283:13:o;26301:1751:70:-;26397:7;26406;26421:29;26453:25;:23;:25::i;:::-;26421:57;-1:-1:-1;26601:1:70;26693:11;;;;;:74;;;26751:16;26759:7;26751;:16::i;:::-;26708;;;;:39;;-1:-1:-1;;;26708:39:70;;;;;2917:25:150;;;-1:-1:-1;;;;;26708:59:70;;;;:16;;;;:31;;2890:18:150;;26708:39:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;26708:59:70;;26693:74;26689:652;;;26887:15;26905:22;26920:6;26905:14;:22::i;:::-;26887:40;-1:-1:-1;26989:14:70;;;;26985:350;;27083:23;27109:29;27128:9;27109:18;:29::i;:::-;27083:55;;27283:1;:11;;;27264:15;:30;;:62;;27315:1;:11;;;27264:62;;;27297:15;27264:62;27256:70;;27005:330;26985:350;26769:572;26689:652;27443:23;27469:32;;;:23;;;:32;;;;;;;27657:9;:5;27665:1;27657:9;:::i;:::-;27645:21;;27640:319;27673:1;:11;;;27668:1;:16;27640:319;;27722:26;;;;:23;;;:26;;;;;;27703:45;;27699:254;;27798:26;;;;:23;;;:26;;;;;;27768:1;;-1:-1:-1;27768:1:70;;27779:45;;;;:::i;:::-;;;27699:254;;;27939:5;;27699:254;27686:3;;;;:::i;:::-;;;;27640:319;;;-1:-1:-1;28024:5:70;;;;-1:-1:-1;26301:1751:70;-1:-1:-1;;;;26301:1751:70:o;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;14701:98:70;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;2917:25:150;;;2890:18;;6312:34:3;2771:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;20354:184:70;20407:29;20439:25;:23;:25::i;:::-;20489:14;;;:16;;20407:57;;-1:-1:-1;20471:15:70;;20489:16;20471:15;20489:16;;;:::i;:::-;;;;;20471:34;;20511:22;20521:2;20525:7;20511:9;:22::i;1147:162:12:-;1270:23;;1147:162::o;8737:170:2:-;8870:21;;8737:170::o;2233:149:5:-;6931:20:2;:18;:20::i;:::-;2336:39:5::1;2360:5;2367:7;2336:23;:39::i;2115:68:7:-:0;6931:20:2;:18;:20::i;1155:103:8:-;6931:20:2;:18;:20::i;:::-;1224:27:8::1;:25;:27::i;2540:111:13:-:0;6931:20:2;:18;:20::i;:::-;2610:34:13::1;:32;:34::i;7059:172:5:-:0;7125:7;7144:23;7170:19;:17;:19::i;:::-;7206:18;;;;:9;;:18;;-1:-1:-1;;7206:18:5;;;;-1:-1:-1;;;;;7206:18:5;;7059:172::o;39156:163:70:-;39208:13;39229:29;39261:25;:23;:25::i;:::-;39229:57;;39299:1;:15;;39292:22;;;;;:::i;17351:352::-;17451:5;-1:-1:-1;;;;;17431:25:70;:16;17439:7;17431;:16::i;:::-;-1:-1:-1;;;;;17431:25:70;;17423:89;;;;-1:-1:-1;;;17423:89:70;;;;;;;:::i;:::-;17519:29;17551:25;:23;:25::i;:::-;17519:57;;17583:79;17625:7;:5;:7::i;:::-;17634:27;17653:7;17634:18;:27::i;:::-;-1:-1:-1;;;;;17583:36:70;;;;;;:29;;;:36;;;;;;:79;:41;:79::i;:::-;;;17683:5;-1:-1:-1;;;;;17674:24:70;;17690:7;17674:24;;;;2917:25:150;;2905:2;2890:18;;2771:177;17674:24:70;;;;;;;;17417:286;17351:352;;:::o;3366:176:12:-;2316:19;:17;:19::i;:::-;3425:25:::1;3453:21;:19;:21::i;:::-;3484:16:::0;;-1:-1:-1;;3484:16:12::1;3496:4;3484:16;::::0;;3425:49;-1:-1:-1;3515:20:12::1;3522:12;966:10:11::0;;887:96;637:698:34;693:13;742:14;759:17;770:5;759:10;:17::i;:::-;779:1;759:21;742:38;;794:20;828:6;-1:-1:-1;;;;;817:18:34;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:18:34;-1:-1:-1;794:41:34;-1:-1:-1;955:28:34;;;971:2;955:28;1010:282;-1:-1:-1;;1041:5:34;-1:-1:-1;;;1175:2:34;1164:14;;1159:32;1041:5;1146:46;1236:2;1227:11;;;-1:-1:-1;1256:21:34;1010:282;1256:21;-1:-1:-1;1312:6:34;637:698;-1:-1:-1;;;637:698:34:o;931:109:42:-;977:6;1002:31;1020:12;1002:17;:31::i;17232:369:5:-;17335:23;17361:19;:17;:19::i;:::-;17335:45;-1:-1:-1;;;;;;17394:22:5;;17390:91;;17461:8;17439:31;;-1:-1:-1;;;17439:31:5;;;;;;;;:::i;17390:91::-;-1:-1:-1;;;;;17490:27:5;;;;;;;:20;;;:27;;;;;;;;:37;;;;;;;;;;;;;:48;;-1:-1:-1;;17490:48:5;;;;;;;;;;17553:41;;975::150;;;17553::5;;948:18:150;17553:41:5;835:187:150;18616:782:5;-1:-1:-1;;;;;18732:14:5;;;:18;18728:664;;18770:71;;-1:-1:-1;;;18770:71:5;;-1:-1:-1;;;;;18770:36:5;;;;;:71;;966:10:11;;18821:4:5;;18827:7;;18836:4;;18770:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18770:71:5;;;;;;;;-1:-1:-1;;18770:71:5;;;;;;;;;;;;:::i;:::-;;;18766:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19079:6;:13;19096:1;19079:18;19075:293;;19150:2;19128:25;;-1:-1:-1;;;19128:25:5;;;;;;;;:::i;19075:293::-;19320:6;19314:13;19305:6;19301:2;19297:15;19290:38;18766:616;-1:-1:-1;;;;;;18888:51:5;;-1:-1:-1;;;18888:51:5;18884:130;;18992:2;18970:25;;-1:-1:-1;;;18970:25:5;;;;;;;;:::i;18884:130::-;18842:186;18616:782;;;;:::o;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;10318:41::-;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;4381:197:0;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;2333:233:7:-;2446:4;-1:-1:-1;;;;;;2469:50:7;;-1:-1:-1;;;2469:50:7;;:90;;;2523:36;2547:11;2523:23;:36::i;16304:719:5:-;16408:23;16434:19;:17;:19::i;:::-;16408:45;;16519:9;:31;;;-1:-1:-1;;;;;;16532:18:5;;;;16519:31;16515:460;;;16566:13;16582:22;16596:7;16582:13;:22::i;:::-;16566:38;-1:-1:-1;;;;;;16732:18:5;;;;;;:35;;;16763:4;-1:-1:-1;;;;;16754:13:5;:5;-1:-1:-1;;;;;16754:13:5;;;16732:35;:69;;;;;16772:29;16789:5;16796:4;16772:16;:29::i;:::-;16771:30;16732:69;16728:142;;;16850:4;16828:27;;-1:-1:-1;;;16828:27:5;;;;;;;;:::i;16728:142::-;16888:9;16884:81;;;16942:7;16938:2;-1:-1:-1;;;;;16922:28:5;16931:5;-1:-1:-1;;;;;16922:28:5;;;;;;;;;;;16884:81;16552:423;16515:460;16985:26;;;;:17;;:26;;-1:-1:-1;;16985:26:5;;;:31;;-1:-1:-1;;;;;;16985:31:5;-1:-1:-1;;;;;16985:31:5;;;;;;;;;;16304:719::o;1472:204:8:-;1611:7;2316:19:12;:17;:19::i;:::-;1637:32:8::1;1651:2;1655:7;1664:4;1637:13;:32::i;8050:162:39:-:0;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;3105:126:12;3168:8;:6;:8::i;:::-;3163:62;;3199:15;;-1:-1:-1;;;3199:15:12;;;;;;;;;;;2251:183:13;2388:30;;2251:183::o;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;12217:100:5:-;12284:26;12294:2;12298:7;12284:26;;;;;;;;;;;;:9;:26::i;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;2388:219:5;6931:20:2;:18;:20::i;:::-;2501:23:5::1;2527:19;:17;:19::i;:::-;2501:45:::0;-1:-1:-1;2501:45:5;2556:15:::1;2566:5:::0;2501:45;2556:15:::1;:::i;:::-;-1:-1:-1::0;2581:9:5::1;::::0;::::1;:19;2593:7:::0;2581:9;:19:::1;:::i;1939:156:12:-:0;6931:20:2;:18;:20::i;:::-;2012:25:12::1;2040:21;:19;:21::i;:::-;2071:17:::0;;-1:-1:-1;;2071:17:12::1;::::0;;-1:-1:-1;1939:156:12:o;2657:183:13:-;6931:20:2;:18;:20::i;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;42700:36:150;42752:18;;;42745:34;;;42673:18;;4297:42:37;42518:267:150;4245:105:37;-1:-1:-1;4374:5:37;4169:218::o;12214:916:36:-;12267:7;;-1:-1:-1;;;12342:17:36;;12338:103;;-1:-1:-1;;;12379:17:36;;;-1:-1:-1;12424:2:36;12414:12;12338:103;-1:-1:-1;;;12458:5:36;:17;12454:103;;-1:-1:-1;;;12495:17:36;;;-1:-1:-1;12540:2:36;12530:12;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;-1:-1:-1;12656:2:36;12646:12;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;-1:-1:-1;12770:1:36;12760:11;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;-1:-1:-1;12883:1:36;12873:11;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;-1:-1:-1;12996:1:36;12986:11;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;13117:6;12214:916;-1:-1:-1;;12214:916:36:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;42700:36:150;42752:18;;;42745:34;;;42673:18;;14416:41:37;42518:267:150;2674:311:5;2787:4;-1:-1:-1;;;;;;2822:40:5;;-1:-1:-1;;;2822:40:5;;:104;;-1:-1:-1;;;;;;;2878:48:5;;-1:-1:-1;;;2878:48:5;2822:104;:156;;;-1:-1:-1;;;;;;;;;;1133:40:14;;;2942:36:5;1034:146:14;3658:625:7;3753:7;3772:21;3796:32;3810:2;3814:7;3823:4;3796:13;:32::i;:::-;3772:56;-1:-1:-1;;;;;;3843:27:7;;3839:210;;3886:40;3918:7;3886:31;:40::i;:::-;3839:210;;;3964:2;-1:-1:-1;;;;;3947:19:7;:13;-1:-1:-1;;;;;3947:19:7;;3943:106;;3982:56;4015:13;4030:7;3982:32;:56::i;:::-;-1:-1:-1;;;;;4062:16:7;;4058:188;;4094:45;4131:7;4094:36;:45::i;:::-;4058:188;;;4177:2;-1:-1:-1;;;;;4160:19:7;:13;-1:-1:-1;;;;;4160:19:7;;4156:90;;4195:40;4223:2;4227:7;4195:27;:40::i;11513:870:39:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;12538:182:5;12632:18;12638:2;12642:7;12632:5;:18::i;:::-;12660:53;12691:1;12695:2;12699:7;12708:4;12660:22;:53::i;8487:120:2:-;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;10361:856:5:-;10447:7;10466:23;10492:19;:17;:19::i;:::-;10466:45;;10521:12;10536:17;10545:7;10536:8;:17::i;:::-;10521:32;-1:-1:-1;;;;;;10613:18:5;;;10609:86;;10647:37;10664:4;10670;10676:7;10647:16;:37::i;:::-;-1:-1:-1;;;;;10739:18:5;;;10735:258;;10855:48;10872:1;10876:7;10893:1;10897:5;10855:8;:48::i;:::-;-1:-1:-1;;;;;10946:17:5;;;;;;:11;;;:17;;;;;:22;;-1:-1:-1;;10946:22:5;;;10735:258;-1:-1:-1;;;;;11007:16:5;;;11003:109;;-1:-1:-1;;;;;11067:15:5;;;;;;:11;;;:15;;;;;:20;;11086:1;11067:20;;;11003:109;11122:18;;;;:9;;;:18;;;;;;:23;;-1:-1:-1;;;;;;11122:23:5;-1:-1:-1;;;;;11122:23:5;;;;;;;;;11161:27;;11122:18;;11161:27;;;;;;;11206:4;10361:856;-1:-1:-1;;;;;10361:856:5:o;5065:242:7:-;5141:33;5177:29;:27;:29::i;:::-;5245:12;;;:19;;5216:26;;;;:17;;;;:26;;;;;;;:48;;;5274:26;;;;;;;;;;;;;;;-1:-1:-1;5065:242:7:o;5924:1046::-;6015:33;6051:29;:27;:29::i;:::-;6015:65;;6261:22;6286:15;6296:4;6286:9;:15::i;:::-;6311:18;6332:28;;;:19;;;:28;;;;;;6261:40;;-1:-1:-1;6464:28:7;;;6460:329;;-1:-1:-1;;;;;6530:20:7;;6508:19;6530:20;;;;;;;;;;;:36;;;;;;;;;6581:32;;;;;;:46;;;6699:32;;:19;;;:32;;;;;:45;;;6460:329;-1:-1:-1;6882:28:7;;;;:19;;;:28;;;;;;;;6875:35;;;-1:-1:-1;;;;;6927:20:7;;;;;;;;;;;:36;;;;;;;;6920:43;5924:1046::o;7258:1150::-;7339:33;7375:29;:27;:29::i;:::-;7607:12;;;:19;7339:65;;-1:-1:-1;7582:22:7;;7607:23;;7629:1;;7607:23;:::i;:::-;7640:18;7661:26;;;:17;;;:26;;;;;;8031:12;;;:28;;7582:48;;-1:-1:-1;7661:26:7;;7582:48;;8031:28;;;;;;:::i;:::-;;;;;;;;;8009:50;;8097:11;8070:1;:12;;8083:10;8070:24;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;8176:30;;;:17;;;:30;;;;;;;:43;;;8347:26;;;;;8340:33;8383:12;;;:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7329:1079;;;;7258:1150;:::o;4577:293::-;4661:33;4697:29;:27;:29::i;:::-;4661:65;;4736:14;4769:1;4753:13;4763:2;4753:9;:13::i;:::-;:17;;;;:::i;:::-;-1:-1:-1;;;;;4780:18:7;;;:14;:18;;;;;;;;;;;:26;;;;;;;;:36;;;4826:28;;;:19;;;;:28;;;-1:-1:-1;4826:28:7;:37;4577:293::o;4625:582:32:-;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;5173:17;;11539:327:5;-1:-1:-1;;;;;11606:16:5;;11602:87;;11675:1;11645:33;;-1:-1:-1;;;11645:33:5;;;;;;;;:::i;11602:87::-;11698:21;11722:32;11730:2;11734:7;11751:1;11722:7;:32::i;:::-;11698:56;-1:-1:-1;;;;;;11768:27:5;;;11764:96;;11846:1;11818:31;;-1:-1:-1;;;11818:31:5;;;;;;;;:::i;8548:368::-;8660:38;8674:5;8681:7;8690;8660:13;:38::i;:::-;8655:255;;-1:-1:-1;;;;;8718:19:5;;8714:186;;8764:31;;-1:-1:-1;;;8764:31:5;;;;;2917:25:150;;;2890:18;;8764:31:5;2771:177:150;8714:186:5;8868:7;8877;8841:44;;-1:-1:-1;;;8841:44:5;;;;;;;;;:::i;5743:516:32:-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;7842:272:5;7945:4;-1:-1:-1;;;;;7980:21:5;;;;;;:127;;;8027:7;-1:-1:-1;;;;;8018:16:5;:5;-1:-1:-1;;;;;8018:16:5;;:52;;;;8038:32;8055:5;8062:7;8038:16;:32::i;:::-;8018:88;;;;8099:7;-1:-1:-1;;;;;8074:32:5;:21;8087:7;8074:12;:21::i;:::-;-1:-1:-1;;;;;8074:32:5;;;7842:272;-1:-1:-1;;;;7842:272:5:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:114:150:-;98:4;91:5;87:16;80:5;77:27;67:55;;118:1;115;108:12;133:311;199:6;207;260:2;248:9;239:7;235:23;231:32;228:52;;;276:1;273;266:12;228:52;315:9;302:23;334:29;357:5;334:29;:::i;:::-;382:5;434:2;419:18;;;;406:32;;-1:-1:-1;;;133:311:150:o;449:131::-;-1:-1:-1;;;;;;523:32:150;;513:43;;503:71;;570:1;567;560:12;585:245;643:6;696:2;684:9;675:7;671:23;667:32;664:52;;;712:1;709;702:12;664:52;751:9;738:23;770:30;794:5;770:30;:::i;1027:250::-;1112:1;1122:113;1136:6;1133:1;1130:13;1122:113;;;1212:11;;;1206:18;1193:11;;;1186:39;1158:2;1151:10;1122:113;;;-1:-1:-1;;1269:1:150;1251:16;;1244:27;1027:250::o;1282:271::-;1324:3;1362:5;1356:12;1389:6;1384:3;1377:19;1405:76;1474:6;1467:4;1462:3;1458:14;1451:4;1444:5;1440:16;1405:76;:::i;:::-;1535:2;1514:15;-1:-1:-1;;1510:29:150;1501:39;;;;1542:4;1497:50;;1282:271;-1:-1:-1;;1282:271:150:o;1558:220::-;1707:2;1696:9;1689:21;1670:4;1727:45;1768:2;1757:9;1753:18;1745:6;1727:45;:::i;1783:180::-;1842:6;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;-1:-1:-1;1934:23:150;;1783:180;-1:-1:-1;1783:180:150:o;1968:203::-;-1:-1:-1;;;;;2132:32:150;;;;2114:51;;2102:2;2087:18;;1968:203::o;2176:131::-;-1:-1:-1;;;;;2251:31:150;;2241:42;;2231:70;;2297:1;2294;2287:12;2312:134;2380:20;;2409:31;2380:20;2409:31;:::i;:::-;2312:134;;;:::o;2451:315::-;2519:6;2527;2580:2;2568:9;2559:7;2555:23;2551:32;2548:52;;;2596:1;2593;2586:12;2548:52;2635:9;2622:23;2654:31;2679:5;2654:31;:::i;2953:456::-;3030:6;3038;3046;3099:2;3087:9;3078:7;3074:23;3070:32;3067:52;;;3115:1;3112;3105:12;3067:52;3154:9;3141:23;3173:31;3198:5;3173:31;:::i;:::-;3223:5;-1:-1:-1;3280:2:150;3265:18;;3252:32;3293:33;3252:32;3293:33;:::i;:::-;2953:456;;3345:7;;-1:-1:-1;;;3399:2:150;3384:18;;;;3371:32;;2953:456::o;3781:315::-;3849:6;3857;3910:2;3898:9;3889:7;3885:23;3881:32;3878:52;;;3926:1;3923;3916:12;3878:52;3962:9;3949:23;3939:33;;4022:2;4011:9;4007:18;3994:32;4035:31;4060:5;4035:31;:::i;:::-;4085:5;4075:15;;;3781:315;;;;;:::o;4101:247::-;4160:6;4213:2;4201:9;4192:7;4188:23;4184:32;4181:52;;;4229:1;4226;4219:12;4181:52;4268:9;4255:23;4287:31;4312:5;4287:31;:::i;4353:423::-;4420:6;4428;4481:2;4469:9;4460:7;4456:23;4452:32;4449:52;;;4497:1;4494;4487:12;4449:52;4536:9;4523:23;4555:31;4580:5;4555:31;:::i;:::-;4605:5;-1:-1:-1;4662:2:150;4647:18;;4634:32;4710:14;4697:28;;4685:41;;4675:69;;4740:1;4737;4730:12;4970:248;5038:6;5046;5099:2;5087:9;5078:7;5074:23;5070:32;5067:52;;;5115:1;5112;5105:12;5067:52;-1:-1:-1;;5138:23:150;;;5208:2;5193:18;;;5180:32;;-1:-1:-1;4970:248:150:o;5223:127::-;5284:10;5279:3;5275:20;5272:1;5265:31;5315:4;5312:1;5305:15;5339:4;5336:1;5329:15;5355:255;5427:2;5421:9;5469:6;5457:19;;-1:-1:-1;;;;;5491:34:150;;5527:22;;;5488:62;5485:88;;;5553:18;;:::i;:::-;5589:2;5582:22;5355:255;:::o;5615:275::-;5686:2;5680:9;5751:2;5732:13;;-1:-1:-1;;5728:27:150;5716:40;;-1:-1:-1;;;;;5771:34:150;;5807:22;;;5768:62;5765:88;;;5833:18;;:::i;:::-;5869:2;5862:22;5615:275;;-1:-1:-1;5615:275:150:o;5895:530::-;5937:5;5990:3;5983:4;5975:6;5971:17;5967:27;5957:55;;6008:1;6005;5998:12;5957:55;6031:20;;-1:-1:-1;;;;;6063:26:150;;6060:52;;;6092:18;;:::i;:::-;6136:55;6179:2;6160:13;;-1:-1:-1;;6156:27:150;6185:4;6152:38;6136:55;:::i;:::-;6216:2;6207:7;6200:19;6262:3;6255:4;6250:2;6242:6;6238:15;6234:26;6231:35;6228:55;;;6279:1;6276;6269:12;6228:55;6344:2;6337:4;6329:6;6325:17;6318:4;6309:7;6305:18;6292:55;6392:1;6367:16;;;6385:4;6363:27;6356:38;;;;6371:7;5895:530;-1:-1:-1;;;5895:530:150:o;6430:455::-;6507:6;6515;6568:2;6556:9;6547:7;6543:23;6539:32;6536:52;;;6584:1;6581;6574:12;6536:52;6623:9;6610:23;6642:31;6667:5;6642:31;:::i;:::-;6692:5;-1:-1:-1;6748:2:150;6733:18;;6720:32;-1:-1:-1;;;;;6764:30:150;;6761:50;;;6807:1;6804;6797:12;6761:50;6830:49;6871:7;6862:6;6851:9;6847:22;6830:49;:::i;:::-;6820:59;;;6430:455;;;;;:::o;6890:321::-;6959:6;7012:2;7000:9;6991:7;6987:23;6983:32;6980:52;;;7028:1;7025;7018:12;6980:52;7055:23;;-1:-1:-1;;;;;7090:30:150;;7087:50;;;7133:1;7130;7123:12;7087:50;7156:49;7197:7;7188:6;7177:9;7173:22;7156:49;:::i;7439:118::-;7525:5;7518:13;7511:21;7504:5;7501:32;7491:60;;7547:1;7544;7537:12;7562:241;7618:6;7671:2;7659:9;7650:7;7646:23;7642:32;7639:52;;;7687:1;7684;7677:12;7639:52;7726:9;7713:23;7745:28;7767:5;7745:28;:::i;8052:712::-;8106:5;8159:3;8152:4;8144:6;8140:17;8136:27;8126:55;;8177:1;8174;8167:12;8126:55;8200:20;;8239:4;-1:-1:-1;;;;;8255:26:150;;8252:52;;;8284:18;;:::i;:::-;8330:2;8327:1;8323:10;8353:28;8377:2;8373;8369:11;8353:28;:::i;:::-;8415:15;;;8485;;;8481:24;;;8446:12;;;;8517:15;;;8514:35;;;8545:1;8542;8535:12;8514:35;8581:2;8573:6;8569:15;8558:26;;8593:142;8609:6;8604:3;8601:15;8593:142;;;8675:17;;8663:30;;8626:12;;;;8713;;;;8593:142;;8769:1752;8865:6;8918:2;8906:9;8897:7;8893:23;8889:32;8886:52;;;8934:1;8931;8924:12;8886:52;8961:23;;-1:-1:-1;;;;;9033:14:150;;;9030:34;;;9060:1;9057;9050:12;9030:34;9083:22;;;;9139:6;9121:16;;;9117:29;9114:49;;;9159:1;9156;9149:12;9114:49;9185:22;;:::i;:::-;9245:2;9232:16;9273:2;9263:8;9260:16;9257:36;;;9289:1;9286;9279:12;9257:36;9316:44;9352:7;9341:8;9337:2;9333:17;9316:44;:::i;:::-;9309:5;9302:59;;9407:2;9403;9399:11;9386:25;9436:2;9426:8;9423:16;9420:36;;;9452:1;9449;9442:12;9420:36;9488:44;9524:7;9513:8;9509:2;9505:17;9488:44;:::i;:::-;9483:2;9476:5;9472:14;9465:68;;9565:31;9592:2;9588;9584:11;9565:31;:::i;:::-;9560:2;9553:5;9549:14;9542:55;9629:31;9656:2;9652;9648:11;9629:31;:::i;:::-;9624:2;9617:5;9613:14;9606:55;9694:32;9721:3;9717:2;9713:12;9694:32;:::i;:::-;9688:3;9681:5;9677:15;9670:57;9760:32;9787:3;9783:2;9779:12;9760:32;:::i;:::-;9754:3;9747:5;9743:15;9736:57;9826:32;9853:3;9849:2;9845:12;9826:32;:::i;:::-;9820:3;9813:5;9809:15;9802:57;9913:3;9909:2;9905:12;9892:26;9886:3;9879:5;9875:15;9868:51;9938:3;9987:2;9983;9979:11;9966:25;10016:2;10006:8;10003:16;10000:36;;;10032:1;10029;10022:12;10000:36;10068:44;10104:7;10093:8;10089:2;10085:17;10068:44;:::i;:::-;10063:2;10056:5;10052:14;10045:68;;;10132:3;10181:2;10177;10173:11;10160:25;10210:2;10200:8;10197:16;10194:36;;;10226:1;10223;10216:12;10194:36;10262:56;10310:7;10299:8;10295:2;10291:17;10262:56;:::i;:::-;10257:2;10250:5;10246:14;10239:80;;;10338:3;10328:13;;10373:31;10400:2;10396;10392:11;10373:31;:::i;:::-;10368:2;10361:5;10357:14;10350:55;10424:3;10414:13;;10459:31;10486:2;10482;10478:11;10459:31;:::i;:::-;10443:14;;;10436:55;;;;10447:5;8769:1752;-1:-1:-1;;;;8769:1752:150:o;10526:390::-;10614:5;10608:12;10603:3;10596:25;10578:3;10667:4;10660:5;10656:16;10650:23;10705:4;10698;10693:3;10689:14;10682:28;10731:47;10772:4;10767:3;10763:14;10749:12;10731:47;:::i;:::-;10719:59;;10827:4;10820:5;10816:16;10810:23;10803:4;10798:3;10794:14;10787:47;10883:4;10876:5;10872:16;10866:23;10859:4;10854:3;10850:14;10843:47;10906:4;10899:11;;;10526:390;;;;:::o;10921:266::-;11106:2;11095:9;11088:21;11069:4;11126:55;11177:2;11166:9;11162:18;11154:6;11126:55;:::i;11423:383::-;11500:6;11508;11516;11569:2;11557:9;11548:7;11544:23;11540:32;11537:52;;;11585:1;11582;11575:12;11537:52;11624:9;11611:23;11643:31;11668:5;11643:31;:::i;:::-;11693:5;11745:2;11730:18;;11717:32;;-1:-1:-1;11796:2:150;11781:18;;;11768:32;;11423:383;-1:-1:-1;;;11423:383:150:o;11811:849::-;12009:4;12038:2;12078;12067:9;12063:18;12108:2;12097:9;12090:21;12131:6;12166;12160:13;12197:6;12189;12182:22;12235:2;12224:9;12220:18;12213:25;;12297:2;12287:6;12284:1;12280:14;12269:9;12265:30;12261:39;12247:53;;12335:2;12327:6;12323:15;12356:1;12366:265;12380:6;12377:1;12374:13;12366:265;;;12473:2;12469:7;12457:9;12449:6;12445:22;12441:36;12436:3;12429:49;12501:50;12544:6;12535;12529:13;12501:50;:::i;:::-;12491:60;-1:-1:-1;12609:12:150;;;;12574:15;;;;12402:1;12395:9;12366:265;;;-1:-1:-1;12648:6:150;;11811:849;-1:-1:-1;;;;;;;11811:849:150:o;12866:382::-;12931:6;12939;12992:2;12980:9;12971:7;12967:23;12963:32;12960:52;;;13008:1;13005;12998:12;12960:52;13047:9;13034:23;13066:31;13091:5;13066:31;:::i;:::-;13116:5;-1:-1:-1;13173:2:150;13158:18;;13145:32;13186:30;13145:32;13186:30;:::i;13253:348::-;13337:6;13390:2;13378:9;13369:7;13365:23;13361:32;13358:52;;;13406:1;13403;13396:12;13358:52;13433:23;;-1:-1:-1;;;;;13468:30:150;;13465:50;;;13511:1;13508;13501:12;13465:50;13534:61;13587:7;13578:6;13567:9;13563:22;13534:61;:::i;13606:665::-;13701:6;13709;13717;13725;13778:3;13766:9;13757:7;13753:23;13749:33;13746:53;;;13795:1;13792;13785:12;13746:53;13834:9;13821:23;13853:31;13878:5;13853:31;:::i;:::-;13903:5;-1:-1:-1;13960:2:150;13945:18;;13932:32;13973:33;13932:32;13973:33;:::i;:::-;14025:7;-1:-1:-1;14079:2:150;14064:18;;14051:32;;-1:-1:-1;14134:2:150;14119:18;;14106:32;-1:-1:-1;;;;;14150:30:150;;14147:50;;;14193:1;14190;14183:12;14147:50;14216:49;14257:7;14248:6;14237:9;14233:22;14216:49;:::i;:::-;14206:59;;;13606:665;;;;;;;:::o;14276:766::-;14387:6;14395;14403;14411;14464:3;14452:9;14443:7;14439:23;14435:33;14432:53;;;14481:1;14478;14471:12;14432:53;14520:9;14507:23;14539:31;14564:5;14539:31;:::i;:::-;14589:5;-1:-1:-1;14646:2:150;14631:18;;14618:32;14659:33;14618:32;14659:33;:::i;:::-;14711:7;-1:-1:-1;14770:2:150;14755:18;;14742:32;14783:33;14742:32;14783:33;:::i;:::-;14835:7;-1:-1:-1;14893:2:150;14878:18;;14865:32;-1:-1:-1;;;;;14909:30:150;;14906:50;;;14952:1;14949;14942:12;14906:50;14975:61;15028:7;15019:6;15008:9;15004:22;14975:61;:::i;15047:243::-;15104:6;15157:2;15145:9;15136:7;15132:23;15128:32;15125:52;;;15173:1;15170;15163:12;15125:52;15212:9;15199:23;15231:29;15254:5;15231:29;:::i;15295:388::-;15363:6;15371;15424:2;15412:9;15403:7;15399:23;15395:32;15392:52;;;15440:1;15437;15430:12;15392:52;15479:9;15466:23;15498:31;15523:5;15498:31;:::i;:::-;15548:5;-1:-1:-1;15605:2:150;15590:18;;15577:32;15618:33;15577:32;15618:33;:::i;16833:380::-;16912:1;16908:12;;;;16955;;;16976:61;;17030:4;17022:6;17018:17;17008:27;;16976:61;17083:2;17075:6;17072:14;17052:18;17049:38;17046:161;;17129:10;17124:3;17120:20;17117:1;17110:31;17164:4;17161:1;17154:15;17192:4;17189:1;17182:15;17046:161;;16833:380;;;:::o;17598:274::-;-1:-1:-1;;;;;17790:32:150;;;;17772:51;;17854:2;17839:18;;17832:34;17760:2;17745:18;;17598:274::o;18828:127::-;18889:10;18884:3;18880:20;18877:1;18870:31;18920:4;18917:1;18910:15;18944:4;18941:1;18934:15;18960:135;18999:3;19020:17;;;19017:43;;19040:18;;:::i;:::-;-1:-1:-1;19087:1:150;19076:13;;18960:135::o;19785:247::-;19853:6;19906:2;19894:9;19885:7;19881:23;19877:32;19874:52;;;19922:1;19919;19912:12;19874:52;19954:9;19948:16;19973:29;19996:5;19973:29;:::i;20037:415::-;20239:2;20221:21;;;20278:2;20258:18;;;20251:30;20317:34;20312:2;20297:18;;20290:62;-1:-1:-1;;;20383:2:150;20368:18;;20361:49;20442:3;20427:19;;20037:415::o;21290:184::-;21360:6;21413:2;21401:9;21392:7;21388:23;21384:32;21381:52;;;21429:1;21426;21419:12;21381:52;-1:-1:-1;21452:16:150;;21290:184;-1:-1:-1;21290:184:150:o;22620:125::-;22685:9;;;22706:10;;;22703:36;;;22719:18;;:::i;23130:245::-;23197:6;23250:2;23238:9;23229:7;23225:23;23221:32;23218:52;;;23266:1;23263;23256:12;23218:52;23298:9;23292:16;23317:28;23339:5;23317:28;:::i;23738:251::-;23808:6;23861:2;23849:9;23840:7;23836:23;23832:32;23829:52;;;23877:1;23874;23867:12;23829:52;23909:9;23903:16;23928:31;23953:5;23928:31;:::i;25315:127::-;25376:10;25371:3;25367:20;25364:1;25357:31;25407:4;25404:1;25397:15;25431:4;25428:1;25421:15;25447:399;25649:2;25631:21;;;25688:2;25668:18;;;25661:30;25727:34;25722:2;25707:18;;25700:62;-1:-1:-1;;;25793:2:150;25778:18;;25771:33;25836:3;25821:19;;25447:399::o;25977:842::-;26105:3;26134:1;26167:6;26161:13;26197:36;26223:9;26197:36;:::i;:::-;26252:1;26269:18;;;26296:133;;;;26443:1;26438:356;;;;26262:532;;26296:133;-1:-1:-1;;26329:24:150;;26317:37;;26402:14;;26395:22;26383:35;;26374:45;;;-1:-1:-1;26296:133:150;;26438:356;26469:6;26466:1;26459:17;26499:4;26544:2;26541:1;26531:16;26569:1;26583:165;26597:6;26594:1;26591:13;26583:165;;;26675:14;;26662:11;;;26655:35;26718:16;;;;26612:10;;26583:165;;;26587:3;;;26777:6;26772:3;26768:16;26761:23;;26262:532;-1:-1:-1;26810:3:150;;25977:842;-1:-1:-1;;;;;;25977:842:150:o;26824:289::-;26955:3;26993:6;26987:13;27009:66;27068:6;27063:3;27056:4;27048:6;27044:17;27009:66;:::i;:::-;27091:16;;;;;26824:289;-1:-1:-1;;26824:289:150:o;27118:545::-;27220:2;27215:3;27212:11;27209:448;;;27256:1;27281:5;27277:2;27270:17;27326:4;27322:2;27312:19;27396:2;27384:10;27380:19;27377:1;27373:27;27367:4;27363:38;27432:4;27420:10;27417:20;27414:47;;;-1:-1:-1;27455:4:150;27414:47;27510:2;27505:3;27501:12;27498:1;27494:20;27488:4;27484:31;27474:41;;27565:82;27583:2;27576:5;27573:13;27565:82;;;27628:17;;;27609:1;27598:13;27565:82;;27839:1352;27959:10;;-1:-1:-1;;;;;27981:30:150;;27978:56;;;28014:18;;:::i;:::-;28043:97;28133:6;28093:38;28125:4;28119:11;28093:38;:::i;:::-;28087:4;28043:97;:::i;:::-;28195:4;;28259:2;28248:14;;28276:1;28271:663;;;;28978:1;28995:6;28992:89;;;-1:-1:-1;29047:19:150;;;29041:26;28992:89;-1:-1:-1;;27796:1:150;27792:11;;;27788:24;27784:29;27774:40;27820:1;27816:11;;;27771:57;29094:81;;28241:944;;28271:663;25924:1;25917:14;;;25961:4;25948:18;;-1:-1:-1;;28307:20:150;;;28425:236;28439:7;28436:1;28433:14;28425:236;;;28528:19;;;28522:26;28507:42;;28620:27;;;;28588:1;28576:14;;;;28455:19;;28425:236;;;28429:3;28689:6;28680:7;28677:19;28674:201;;;28750:19;;;28744:26;-1:-1:-1;;28833:1:150;28829:14;;;28845:3;28825:24;28821:37;28817:42;28802:58;28787:74;;28674:201;-1:-1:-1;;;;;28921:1:150;28905:14;;;28901:22;28888:36;;-1:-1:-1;27839:1352:150:o;31299:128::-;31366:9;;;31387:11;;;31384:37;;;31401:18;;:::i;31907:417::-;32109:2;32091:21;;;32148:2;32128:18;;;32121:30;-1:-1:-1;;;;;;;;;;;32182:2:150;32167:18;;32160:62;-1:-1:-1;;;32253:2:150;32238:18;;32231:51;32314:3;32299:19;;31907:417::o;32753:209::-;-1:-1:-1;;;;;32924:31:150;;;;32906:50;;32894:2;32879:18;;32753:209::o;33779:514::-;-1:-1:-1;;;;;;;;;;;34036:3:150;34029:47;-1:-1:-1;;;34101:2:150;34096:3;34092:12;34085:43;34011:3;34157:6;34151:13;34173:73;34239:6;34234:2;34229:3;34225:12;34220:2;34212:6;34208:15;34173:73;:::i;:::-;34266:16;;;;34284:2;34262:25;;33779:514;-1:-1:-1;;33779:514:150:o;34298:168::-;34371:9;;;34402;;34419:15;;;34413:22;;34399:37;34389:71;;34440:18;;:::i;36956:632::-;37127:2;37179:21;;;37249:13;;37152:18;;;37271:22;;;37098:4;;37127:2;37350:15;;;;37324:2;37309:18;;;37098:4;37393:169;37407:6;37404:1;37401:13;37393:169;;;37468:13;;37456:26;;37537:15;;;;37502:12;;;;37429:1;37422:9;37393:169;;;-1:-1:-1;37579:3:150;;36956:632;-1:-1:-1;;;;;;36956:632:150:o;39273:175::-;39310:3;39354:4;39347:5;39343:16;39383:4;39374:7;39371:17;39368:43;;39391:18;;:::i;:::-;39440:1;39427:15;;39273:175;-1:-1:-1;;39273:175:150:o;39658:652::-;39927:3;39965:6;39959:13;39981:66;40040:6;40035:3;40028:4;40020:6;40016:17;39981:66;:::i;:::-;40110:13;;40069:16;;;;40132:70;40110:13;40069:16;40179:4;40167:17;;40132:70;:::i;:::-;-1:-1:-1;;;40224:20:150;;40253:22;;;40302:1;40291:13;;39658:652;-1:-1:-1;;;;39658:652:150:o;41359:127::-;41420:10;41415:3;41411:20;41408:1;41401:31;41451:4;41448:1;41441:15;41475:4;41472:1;41465:15;41491:489;-1:-1:-1;;;;;41760:15:150;;;41742:34;;41812:15;;41807:2;41792:18;;41785:43;41859:2;41844:18;;41837:34;;;41907:3;41902:2;41887:18;;41880:31;;;41685:4;;41928:46;;41954:19;;41946:6;41928:46;:::i;:::-;41920:54;41491:489;-1:-1:-1;;;;;;41491:489:150:o;41985:249::-;42054:6;42107:2;42095:9;42086:7;42082:23;42078:32;42075:52;;;42123:1;42120;42113:12;42075:52;42155:9;42149:16;42174:30;42198:5;42174:30;:::i;43061:217::-;43101:1;43127;43117:132;;43171:10;43166:3;43162:20;43159:1;43152:31;43206:4;43203:1;43196:15;43234:4;43231:1;43224:15;43117:132;-1:-1:-1;43263:9:150;;43061:217::o;43575:127::-;43636:10;43631:3;43627:20;43624:1;43617:31;43667:4;43664:1;43657:15;43691:4;43688:1;43681:15"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_LEVEL()":"a49062d4","MINTER_ROLE()":"d5391393","NODES_MANAGER_ROLE()":"3d6dbee8","PAUSER_ROLE()":"e63ab1e9","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approve(address,uint256)":"095ea7b3","attachNode(uint256,uint256)":"88371110","b3tr()":"582a486a","b3trGovernor()":"7893d736","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","burn(uint256)":"42966c68","clock()":"91ddadf4","detachNode(uint256,uint256)":"4a6565e1","freeMint()":"5b70ea9f","getApproved(uint256)":"081812fc","getB3TRdonated(uint256)":"865c380b","getB3TRtoUpgrade(uint256)":"a51d2e0b","getB3TRtoUpgradeToLevel(uint256)":"2b42df38","getIdAttachedToNode(uint256)":"51c438d1","getLevelAfterAttachingNode(uint256,uint256)":"a1843bd0","getLevelAfterDetachingNode(uint256)":"cc421d07","getNodeIdAttached(uint256)":"958fc97d","getNodeLevelOf(uint256)":"3ff453af","getNodeToFreeLevel(uint8)":"e617e49f","getRoleAdmin(bytes32)":"248a9ca3","getSelectedTokenId(address)":"d206885d","getSelectedTokenIdAtBlock(address,uint48)":"3c60f55d","getSelectedTokenInfoByOwner(address)":"de4983a2","getTokenInfoByTokenId(uint256)":"643ce418","getTokensInfoByOwner(address,uint256,uint256)":"851f738e","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))":"5f4e42ca","initializeV2(address,address,address,uint256[])":"c190eb3a","isApprovedForAll(address,address)":"e985e9c5","levelOf(uint256)":"6d5e3032","name()":"06fdde03","ownerOf(uint256)":"6352211e","participatedInGovernance(address)":"8c5b76fb","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","select(uint256)":"839a19d9","selectFor(address,uint256)":"aa3491eb","setApprovalForAll(address,bool)":"a22cb465","setB3TRtoUpgradeToLevel(uint256[])":"b1ccbd2c","setB3trGovernorAddress(address)":"ddd8634d","setBaseURI(string)":"55f804b3","setIsPublicMintingPaused(bool)":"5b5da514","setMaxLevel(uint256)":"344f1ba5","setNodeToFreeUpgradeLevel(uint8,uint256)":"001db0dd","setXAllocationsGovernorAddress(address)":"3af03ea8","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","treasury()":"61d027b3","unpause()":"3f4ba83a","upgrade(uint256)":"45977d03","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50","xAllocationsGovernor()":"5ecf68e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"B3TRtoUpgradeToLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"B3trGovernorAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"LevelWhenAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"LevelWhenDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"MaxLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PublicMintingPaused\",\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Selected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsGovernorAddressUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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_LEVEL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NODES_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"attachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"detachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRdonated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgrade\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgradeToLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getIdAttachedToNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterAttachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterDetachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getNodeIdAttached\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevelOf\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"}],\"name\":\"getNodeToFreeLevel\",\"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\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"blockNumber\",\"type\":\"uint48\"}],\"name\":\"getSelectedTokenIdAtBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV5.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenInfoByTokenId\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV5.TokenInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"getTokensInfoByOwner\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b3trToUpgrade\",\"type\":\"uint256\"}],\"internalType\":\"struct GalaxyMemberV5.TokenInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"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\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pauser\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractsAddressManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxLevel\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"b3tr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"internalType\":\"struct GalaxyMemberV5.InitializationData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesMangaement\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesAdmin\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_nodeFreeLevels\",\"type\":\"uint256[]\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"levelOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"participatedInGovernance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"select\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"selectFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"setB3TRtoUpgradeToLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3trGovernor\",\"type\":\"address\"}],\"name\":\"setB3trGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"setIsPublicMintingPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setMaxLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setNodeToFreeUpgradeLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_xAllocationsGovernor\",\"type\":\"address\"}],\"name\":\"setXAllocationsGovernorAddress\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"upgrade\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsGovernor\",\"outputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extends ERC721 Non-Fungible Token Standard basic implementation with upgradeable pattern, burnable, pausable, and access control functionalities. --------------------------------- VERSION 2 --------------------------------- - Added Vechain Nodes contract to attach and detach nodes to tokens - Added NODES_MANAGER_ROLE to manage Vechain Nodes Contract address and free upgrade levels - Added free upgrade levels for each Vechain node level - Removed automatic highest level owned selection - Added dynamic level fetching of the token based on the attached Vechain node and B3TR donated for upgrading - Core logic functions are now overridable through inheritance - B3TRGovernor has been updated to V2 thus pointing to the new interface - NodeManagement contract has been added to permit attaching and detaching nodes from managed nodes too --------------------------------- VERSION 3 --------------------------------- - Updated Node Management interface to include getters (isNodeDelegator() and isNodeDelegated()) - Added `selectFor` function to allow the admin to select a token for the user - Added checkpoints for the selected token ID of the user - Added `clock()` and `CLOCK_MODE()` functions to allow for custom time tracking --------------------------------- VERSION 4 --------------------------------- - Added events to track the level of the token when attaching and detaching nodes --------------------------------- VERSION 5 --------------------------------- - Upon StarGate launch, we updated the NodeManagement contract to V3 - Deprecated usage of vechainNodes contract address in favor of nodeManagement contract address, ie   removed `setVechainNodes`   updated `getNodeLevelOf` to use nodeManagement contract   updated ownership conditions on `detachNode` to use nodeManagement contract\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"ERC721EnumerableForbiddenBatchMint()\":[{\"details\":\"Batch mint is not allowed.\"}],\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721OutOfBoundsIndex(address,uint256)\":[{\"details\":\"An `owner`'s token query was out of bounds for `index`. NOTE: The owner being `address(0)` indicates a global out of bounds index.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"B3TRtoUpgradeToLevelUpdated(uint256[])\":{\"details\":\"Emitted when B3TR required to upgrade to each level is updated\"},\"B3trGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when B3TRGovernor contract address is updated\"},\"BaseURIUpdated(string,string)\":{\"details\":\"Emitted when base URI is updated\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"LevelWhenAttached(uint256,uint256,uint256)\":{\"details\":\"Emitted when node is attached to a token\"},\"LevelWhenDetached(uint256,uint256,uint256)\":{\"details\":\"Emitted when node is detached from a token\"},\"MaxLevelUpdated(uint256,uint256)\":{\"details\":\"Emitted when the max level is updated.\"},\"NodeAttached(uint256,uint256)\":{\"details\":\"Emitted when a node is attached to a token\"},\"NodeDetached(uint256,uint256)\":{\"details\":\"Emitted when a node is detached from a token\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"PublicMintingPaused(bool)\":{\"details\":\"Emitted when public minting is paused\"},\"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.\"},\"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`)\"},\"Selected(address,uint256)\":{\"details\":\"Emitted when an account changes the selected token for voting rewards.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"},\"Upgraded(uint256,uint256,uint256)\":{\"details\":\"Emitted when a token is upgraded.\"},\"XAllocationsGovernorAddressUpdated(address,address)\":{\"details\":\"Emitted when XAllocationVotingGovernor contract address is updated\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Returns the mode of the clock.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Overrides the ERC721BurnableUpgradeable function to include custom burning logic\",\"params\":{\"tokenId\":\"Token ID to burn\"}},\"clock()\":{\"details\":\"Clock used for flagging checkpoints.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"freeMint()\":{\"details\":\"Mints a token with level 1 and ensures that the public minting is not paused\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getB3TRdonated(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgrade(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"getB3TRtoUpgradeToLevel(uint256)\":{\"params\":{\"level\":\"Level to upgrade to\"}},\"getIdAttachedToNode(uint256)\":{\"params\":{\"nodeId\":\"Vechain node Token ID\"}},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"- Vechain Node Token ID\",\"tokenId\":\"- GM Token ID\"}},\"getLevelAfterDetachingNode(uint256)\":{\"params\":{\"tokenId\":\"- GM Token ID\"}},\"getNodeIdAttached(uint256)\":{\"params\":{\"tokenId\":\"GM Token ID\"}},\"getNodeLevelOf(uint256)\":{\"params\":{\"nodeId\":\"Vechain Node Token ID\"}},\"getNodeToFreeLevel(uint8)\":{\"params\":{\"nodeLevel\":\"Vechain node level\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getSelectedTokenId(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"}},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"params\":{\"blockNumber\":\"The block number to check\",\"owner\":\"The address of the owner to check\"}},\"getSelectedTokenInfoByOwner(address)\":{\"params\":{\"owner\":\"The address of the owner to check\"},\"returns\":{\"_0\":\"TokenInfo The selected token info\"}},\"getTokenInfoByTokenId(uint256)\":{\"params\":{\"tokenId\":\"Token ID to get the info for\"},\"returns\":{\"_0\":\"TokenInfo The token info\"}},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"params\":{\"owner\":\"The address of the owner to check\",\"page\":\"The page number to fetch\",\"size\":\"The number of tokens to fetch (cannot exceed 100)\"},\"returns\":{\"_0\":\"TokenInfo[] The tokens owned by the 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((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\",\"details\":\"Sets initial values for all relevant contract properties and state variables.\"},\"initializeV2(address,address,address,uint256[])\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\",\"details\":\"Sets initial values for all relevant contract properties and state variables.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"levelOf(uint256)\":{\"params\":{\"tokenId\":\"Token ID to check\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"participatedInGovernance(address)\":{\"params\":{\"user\":\"The address of the user to check\"}},\"pause()\":{\"details\":\"pausing the contract will prevent minting, upgrading, and transferring of tokensOnly callable by the pauser role\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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.\"},\"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 `callerConfirmation`. 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.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"select(uint256)\":{\"params\":{\"tokenID\":\"Token ID to select\"}},\"selectFor(address,uint256)\":{\"params\":{\"owner\":\"The address of the owner to check\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"details\":\"Only callable by the admin role\",\"params\":{\"b3trToUpgradeToLevel\":\"Mapping of B3TR requirements per level\"}},\"setB3trGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_b3trGovernor\":\"B3TRGovernor contract address\"}},\"setBaseURI(string)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"baseTokenURI\":\"Base URI for the Token\"}},\"setIsPublicMintingPaused(bool)\":{\"details\":\"Only callable by the admin role\",\"params\":{\"isPaused\":\"Flag to pause or unpause public minting\"}},\"setMaxLevel(uint256)\":{\"details\":\"Only callable by the admin role\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"params\":{\"level\":\"new free upgrade level\",\"nodeLevel\":\"Vechain node level (i.e., 1, 2, 3, 4, 5, 6, 7, 8 => Strength, Thunder, Mjolnir, VeThorX, StrengthX, ThunderX, MjolnirX)\"}},\"setXAllocationsGovernorAddress(address)\":{\"details\":\"Only callable by the contractsAddressManager role\",\"params\":{\"_xAllocationsGovernor\":\"XAllocationVotingGovernor contract address\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the supportsInterface for ERC721Upgradeable, ERC721EnumerableUpgradeable, and AccessControlUpgradeable\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"computes the token URI based on the base URI and the level of the token\",\"params\":{\"tokenId\":\"Token ID to get the URI for\"}},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unpause()\":{\"details\":\"Only callable by the pauser role\"},\"upgrade(uint256)\":{\"details\":\"Requires the owner to have enough B3TR tokens and sufficient allowance for the contract to use them\",\"params\":{\"tokenId\":\"Token ID to upgrade\"}},\"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()\":{\"details\":\"This function is used to identify the version of the contract and should be updated in each new version\",\"returns\":{\"_0\":\"string The version of the contract\"}}},\"stateVariables\":{\"GalaxyMemberStorageLocation\":{\"details\":\"keccak256(abi.encode(uint256(keccak256(\\\"b3tr.storage.GalaxyMember\\\")) - 1)) & ~bytes32(uint256(0xff))\"}},\"title\":\"GalaxyMemberV5\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"MAX_LEVEL()\":{\"notice\":\"Gets the maximum level that tokens can be minted or upgraded to\"},\"b3tr()\":{\"notice\":\"Gets the B3TR token contract address\"},\"b3trGovernor()\":{\"notice\":\"Gets the b3trGovernor contract address\"},\"baseURI()\":{\"notice\":\"Gets the base URI for computing the tokenURI\"},\"burn(uint256)\":{\"notice\":\"Allows the token owner to burn their token\"},\"constructor\":{\"notice\":\"Ensures only initializer functions are called when deploying a proxy\"},\"freeMint()\":{\"notice\":\"Allows a user to freely mint a token if they have participated in governance\"},\"getB3TRdonated(uint256)\":{\"notice\":\"Get the B3TR donated for upgrading a token\"},\"getB3TRtoUpgrade(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to the next level\"},\"getB3TRtoUpgradeToLevel(uint256)\":{\"notice\":\"Gets the B3TR required to upgrade to a specific level\"},\"getIdAttachedToNode(uint256)\":{\"notice\":\"Get the GM Token ID attached to the Vechain Node Token ID\"},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"notice\":\"Gets the level of the token after attaching a node\"},\"getLevelAfterDetachingNode(uint256)\":{\"notice\":\"Gets the level of the token after detaching a node\"},\"getNodeIdAttached(uint256)\":{\"notice\":\"Get the Vechain Node Token ID attached to the GM Token ID\"},\"getNodeLevelOf(uint256)\":{\"notice\":\"Gets the strength level of the Vechain node\"},\"getNodeToFreeLevel(uint8)\":{\"notice\":\"Get the GM level that can be upgraded for free for a given Vechain node level\"},\"getSelectedTokenId(address)\":{\"notice\":\"Gets the selected token ID for the user\"},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"notice\":\"Gets the selected token ID for the user in a specific block number\"},\"getSelectedTokenInfoByOwner(address)\":{\"notice\":\"Gets the selected token info for an address\"},\"getTokenInfoByTokenId(uint256)\":{\"notice\":\"Gets the token info by token ID\"},\"getTokensInfoByOwner(address,uint256,uint256)\":{\"notice\":\"Gets the tokens owned by an address\"},\"initialize((string,string,address,address,address,address,address,uint256,string,uint256[],address,address))\":{\"notice\":\"Initializes a new GalaxyMember contract\"},\"initializeV2(address,address,address,uint256[])\":{\"notice\":\"Initializes a new GalaxyMember contract\"},\"levelOf(uint256)\":{\"notice\":\"Gets the level of the GM token\"},\"participatedInGovernance(address)\":{\"notice\":\"Gets whether the user has participated in governance\"},\"pause()\":{\"notice\":\"Pauses the Galaxy Member contract\"},\"select(uint256)\":{\"notice\":\"Allows the user to select a token for voting rewards multiplier\"},\"selectFor(address,uint256)\":{\"notice\":\"Allows the admin to select a token for the user\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"notice\":\"Sets the amount of B3TR required to upgrade to each level\"},\"setB3trGovernorAddress(address)\":{\"notice\":\"Sets the B3TRGovernor contract address\"},\"setBaseURI(string)\":{\"notice\":\"Sets the base URI for computing the tokenURI\"},\"setIsPublicMintingPaused(bool)\":{\"notice\":\"Pauses public minting\"},\"setMaxLevel(uint256)\":{\"notice\":\"Sets the maximum level that tokens can be minted or upgraded to\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"notice\":\"Sets the treasury contract address\"},\"setXAllocationsGovernorAddress(address)\":{\"notice\":\"Sets the XAllocationVotingGovernor contract address\"},\"tokenURI(uint256)\":{\"notice\":\"gets the token URI for a specific token\"},\"treasury()\":{\"notice\":\"Gets the treasury contract address\"},\"unpause()\":{\"notice\":\"Unpauses the Galaxy Member contract\"},\"upgrade(uint256)\":{\"notice\":\"Upgrades a token to the next level\"},\"version()\":{\"notice\":\"Retrieves the current version of the contract\"},\"xAllocationsGovernor()\":{\"notice\":\"Gets the xAllocationsGovernor contract address\"}},\"notice\":\"This contract manages the unique assets owned by users within the Galaxy Member ecosystem.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V5/GalaxyMemberV5.sol\":\"GalaxyMemberV5\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x48efca78ce4e1a9f74d3ca8539bb53d04b116e507c10cd9e0df6105b8a6ae420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d9f5e03898857a187d99bd0766daf725abe87f454db82ac6286544d8cb4532f\",\"dweb:/ipfs/QmXFNXaNuxvGCLNL9xAFbvEgRmXDuxw4Ukf9tddiAHDq59\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x5d1215064b3e114d329b1544cf65d33404f63e7841184e55267f4d8b114608e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1699c6ecb0511cb626f40814463aaf4e5c8c36399689e0f3de7561f227a5b50a\",\"dweb:/ipfs/QmQDxPddEsajUEPDRsfPekEhBRjmBTepYALuTwdM7h6mRz\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol\":{\"keccak256\":\"0xe3c0b8baf1c6c26bd7944f5c7e71d0e902cbd1a90509f093524c289b89ad5344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9b136fb95c70aa8bce31e2fbaea664bd44afc305b8b75547d90944c89f2acc4\",\"dweb:/ipfs/QmRZbDHHu8obmna5Aj8iP2xNC4xC3p2RtdhpsYiJ8Bbm3M\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol\":{\"keccak256\":\"0x6a7330cb4ed2bea90bed97483d55f11ccf98af6c1dd1e2b1739040b679ff9545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a274337315d1f332ba80f7cfbe5243267db6a015514c5a0e7898219ab51fb52\",\"dweb:/ipfs/QmTZdtdWgVs7VmP1dUW4idVpLK4pVFS6sfoi2pQCnaKgSX\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol\":{\"keccak256\":\"0x7e68925d3373bd2baa7ac36839c464b2e77b67764201c4e0196d62699ee220b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0896e7ff605a131ca982da1175d798c19588852dc74329f5c3675ac76cb80ff\",\"dweb:/ipfs/QmdePp3XmXaKz4A9qqj6enFuqERWvJoN4uRmFzu2cwLPX8\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb44e086e941292cdc7f440de51478493894ef0b1aeccb0c4047445919f667f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://942dad22fbdc1669f025540ba63aa3ccfad5f8458fc5d4525b31ebf272e7af45\",\"dweb:/ipfs/Qmdo4X2M82aM3AMoW2kf2jhYkSCyC4T1pHNd6obdsDFnAB\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0xb31b86c03f4677dcffa4655285d62433509513be9bafa0e04984565052d34e44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a89c6fb0cd5fef4244500b633f63def9f2bb2134debb961e590bd5a2910662fd\",\"dweb:/ipfs/QmNqWyCxyopvb99RbRomPpfTZGXRi5MnzgpFXE2BFLLgMc\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V5/GalaxyMemberV5.sol\":{\"keccak256\":\"0x405034e7e153917d31b983814700227ce6067871567558ac1ccd5d33654bc537\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b963bb69c20527a2a46b6840963d26725815b8496461f458f18b750dd85d5d\",\"dweb:/ipfs/QmSrLGnakKQR7MhXx1czfgYuH74FFSBfqLHctFybcRWNkc\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/XAllocationVotingV7.sol":{"XAllocationVotingV7":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[],"name":"DuplicateAppVote","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"EmissionsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldQuorumNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","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":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VoterRewardsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingPeriod","type":"uint256"}],"name":"VotingPeriodSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"X2EarnAppsSet","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOVERNANCE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROUND_STARTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"appSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppsOfRound","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","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":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRound","outputs":[{"components":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint48","name":"voteStart","type":"uint48"},{"internalType":"uint32","name":"voteDuration","type":"uint32"}],"internalType":"struct RoundsStorageUpgradeableV7.RoundCore","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","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":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"contract IVotes","name":"vot3Token","type":"address"},{"internalType":"uint256","name":"quorumPercentage","type":"uint256"},{"internalType":"uint32","name":"initialVotingPeriod","type":"uint32"},{"internalType":"address","name":"timeLock","type":"address"},{"internalType":"contract IVoterRewards","name":"voterRewards","type":"address"},{"internalType":"contract IEmissions","name":"emissions","type":"address"},{"internalType":"address[]","name":"admins","type":"address[]"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"contractsAddressManager","type":"address"},{"internalType":"contract IX2EarnApps","name":"x2EarnAppsAddress","type":"address"},{"internalType":"uint256","name":"baseAllocationPercentage","type":"uint256"},{"internalType":"uint256","name":"appSharesCap","type":"uint256"},{"internalType":"uint256","name":"votingThreshold","type":"uint256"}],"internalType":"struct XAllocationVotingV7.InitializationData","name":"data","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVeBetterPassport","name":"_veBetterPassport","type":"address"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IB3TRGovernor","name":"_b3trGovernor","type":"address"}],"name":"initializeV7","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"appSharesCap_","type":"uint256"}],"name":"setAppSharesCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IB3TRGovernor","name":"newB3TRGovernor","type":"address"}],"name":"setB3TRGovernor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"baseAllocationPercentage_","type":"uint256"}],"name":"setBaseAllocationPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IEmissions","name":"newEmissions","type":"address"}],"name":"setEmissionsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVeBetterPassport","name":"newVeBetterPassport","type":"address"}],"name":"setVeBetterPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVoterRewards","name":"newVoterRewards","type":"address"}],"name":"setVoterRewardsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"newVotingPeriod","type":"uint32"}],"name":"setVotingPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"setVotingThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IX2EarnApps","name":"newX2EarnApps","type":"address"}],"name":"setX2EarnAppsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC5805","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"updateQuorumNumerator","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":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_41133":{"entryPoint":null,"id":41133,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161509362000104600039600081816125a3015281816125cc015261271601526150936000f3fe6080604052600436106103565760003560e01c806250ea6f1461035b57806301ffc9a71461038657806302a251a3146103b657806306f3f9e6146103d957806306fdde03146103fb5780630a0e74ef1461041d5780630eca87fb1461043d57806319e6e1581461045d5780632267716c1461047d578063248a9ca314610492578063291605f7146104b257806329b6eca9146104df5780632f2ff15d146104ff578063300973771461051f57806333653f5d1461053f57806333727c4d146105545780633469f6e21461057457806336568abe146105945780633e4f49e6146105b457806343859632146105e1578063498d91bf146106015780634bb5181a146106215780634bf5d7e9146106415780634f1ef2861461065657806352d1902d146106695780635320a1471461067e57806353ed63991461069e57806354fd4d50146106be578063561b64ef146106e857806357181609146106fd578063593728121461071d57806359529edd1461073257806360c4247f14610752578063628277331461077257806374038935146107875780637893d736146107a757806378a81336146107bc5780637ace2485146107dc57806382afd23b14610809578063836761e0146108295780638ab52d4b146108495780638f1327c01461085e57806391d14854146108b757806391ddadf4146108d7578063952f21331461090357806397c3d334146109255780639aeb962b146109395780639cbe5efd146109595780639fb027021461096e578063a217fddf1461098e578063a3844e11146109a3578063a56b5765146109b8578063a7713a70146109d8578063ad3cb1cc146109ed578063b25d6f6214610a1e578063b3c93dab14610a3e578063bb7de6d414610a5e578063bd85948c14610a73578063bed7301014610a88578063c048f6c914610aa8578063cd669a7214610ac8578063d06efeda14610aea578063d3a368bd14610b0a578063d4a8dd9814610b2a578063d547741f14610b4a578063d68b4c3614610b6a578063dd4e2ba514610b8a578063e540d01d14610b9f578063e7ad2bed14610bbf578063eb9019d414610bdf578063f36c8f5c14610bff578063f5fae13614610c21578063f72c0d8b14610c41578063f8ce560a14610c63578063fb03ec6f14610c83578063fc0c546a14610ca3575b600080fd5b34801561036757600080fd5b50610370610cb8565b60405161037d919061426e565b60405180910390f35b34801561039257600080fd5b506103a66103a1366004614282565b610cd6565b604051901515815260200161037d565b3480156103c257600080fd5b506103cb610ce7565b60405190815260200161037d565b3480156103e557600080fd5b506103f96103f43660046142ac565b610cf6565b005b34801561040757600080fd5b50610410610d1b565b60405161037d9190614315565b34801561042957600080fd5b506103cb6104383660046142ac565b610dbc565b34801561044957600080fd5b506103cb6104583660046142ac565b610ddc565b34801561046957600080fd5b506103cb6104783660046142ac565b610dfc565b34801561048957600080fd5b50610370610e1f565b34801561049e57600080fd5b506103cb6104ad3660046142ac565b610e3d565b3480156104be57600080fd5b506104d26104cd3660046142ac565b610e5d565b60405161037d9190614328565b3480156104eb57600080fd5b506103f96104fa3660046143fa565b61103e565b34801561050b57600080fd5b506103f961051a366004614422565b6110ed565b34801561052b57600080fd5b506103cb61053a3660046142ac565b61110f565b34801561054b57600080fd5b5061037061112c565b34801561056057600080fd5b506103a661056f3660046142ac565b611147565b34801561058057600080fd5b506103f961058f3660046142ac565b61116a565b3480156105a057600080fd5b506103f96105af366004614422565b6112d1565b3480156105c057600080fd5b506105d46105cf3660046142ac565b611309565b60405161037d919061448a565b3480156105ed57600080fd5b506103a66105fc366004614422565b611391565b34801561060d57600080fd5b506103cb61061c3660046142ac565b6113ce565b34801561062d57600080fd5b506103cb61063c366004614498565b6113f1565b34801561064d57600080fd5b5061041061141c565b6103f9610664366004614572565b6114c5565b34801561067557600080fd5b506103cb6114e0565b34801561068a57600080fd5b506103706106993660046142ac565b6114fd565b3480156106aa57600080fd5b506103f96106b936600461468d565b611526565b3480156106ca57600080fd5b506040805180820190915260018152603760f81b6020820152610410565b3480156106f457600080fd5b506103cb6116fb565b34801561070957600080fd5b506103f96107183660046143fa565b611708565b34801561072957600080fd5b506103cb611729565b34801561073e57600080fd5b506103cb61074d3660046142ac565b611736565b34801561075e57600080fd5b506103cb61076d3660046142ac565b611744565b34801561077e57600080fd5b506103cb6117dd565b34801561079357600080fd5b506103f96107a23660046142ac565b6117f2565b3480156107b357600080fd5b50610370611813565b3480156107c857600080fd5b506103f96107d73660046143fa565b611831565b3480156107e857600080fd5b506107fc6107f73660046142ac565b611852565b60405161037d919061478b565b34801561081557600080fd5b506103a66108243660046142ac565b6118c5565b34801561083557600080fd5b506103f96108443660046142ac565b6118e9565b34801561085557600080fd5b506103cb61190a565b34801561086a57600080fd5b5061087e6108793660046142ac565b61191c565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff169082015260600161037d565b3480156108c357600080fd5b506103a66108d2366004614422565b61199c565b3480156108e357600080fd5b506108ec6119d2565b60405165ffffffffffff909116815260200161037d565b34801561090f57600080fd5b506103cb60008051602061503e83398151915281565b34801561093157600080fd5b5060646103cb565b34801561094557600080fd5b506103a66109543660046143fa565b611a41565b34801561096557600080fd5b506103cb611a6f565b34801561097a57600080fd5b506103f96109893660046143fa565b611a7a565b34801561099a57600080fd5b506103cb600081565b3480156109af57600080fd5b50610370611b42565b3480156109c457600080fd5b506103cb6109d336600461479e565b611b60565b3480156109e457600080fd5b506103cb611bdf565b3480156109f957600080fd5b50610410604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610a2a57600080fd5b506103f9610a393660046143fa565b611c04565b348015610a4a57600080fd5b506103f9610a593660046143fa565b611c25565b348015610a6a57600080fd5b506103cb611c46565b348015610a7f57600080fd5b506103cb611c5b565b348015610a9457600080fd5b506103cb610aa3366004614498565b611c84565b348015610ab457600080fd5b506103f9610ac33660046143fa565b611cb4565b348015610ad457600080fd5b506103cb60008051602061501e83398151915281565b348015610af657600080fd5b506103cb610b053660046142ac565b611cd5565b348015610b1657600080fd5b506103cb610b253660046142ac565b611d04565b348015610b3657600080fd5b506103a6610b453660046142ac565b611d58565b348015610b5657600080fd5b506103f9610b65366004614422565b611d63565b348015610b7657600080fd5b506103a6610b85366004614498565b611d7f565b348015610b9657600080fd5b50610410611dff565b348015610bab57600080fd5b506103f9610bba3660046147de565b611e1f565b348015610bcb57600080fd5b506103f9610bda36600461485d565b611e40565b348015610beb57600080fd5b506103cb610bfa36600461479e565b612258565b348015610c0b57600080fd5b506103cb600080516020614f7d83398151915281565b348015610c2d57600080fd5b506103f9610c3c3660046142ac565b612274565b348015610c4d57600080fd5b506103cb600080516020614fde83398151915281565b348015610c6f57600080fd5b506103cb610c7e3660046142ac565b612295565b348015610c8f57600080fd5b506103cb610c9e3660046142ac565b6122a0565b348015610caf57600080fd5b506103706122c3565b600080610cc36122ce565b600301546001600160a01b031692915050565b6000610ce1826122f2565b92915050565b6000610cf1612317565b905090565b600080516020614f7d833981519152610d0e8161232f565b610d178261233c565b5050565b60606000610d27612345565b9050806000018054610d3890614987565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6490614987565b8015610db15780601f10610d8657610100808354040283529160200191610db1565b820191906000526020600020905b815481529060010190602001808311610d9457829003601f168201915b505050505091505090565b600080610dc7612369565b60009384526003016020525050604090205490565b600080610de7612369565b60009384526002016020525050604090205490565b600080610e0761238d565b60009384526001016020525050604090206002015490565b600080610e2a6122ce565b600101546001600160a01b031692915050565b600080610e486123b1565b60009384526020525050604090206001015490565b60606000610e696123d5565b6000848152600282016020908152604080832080548251818502810185019093528083529495509293909291830182828015610ec457602002820191906000526020600020905b815481526020019060010190808311610eb0575b505050505090506000815190506000816001600160401b03811115610eeb57610eeb6144ba565b604051908082528060200260200182016040528015610f6357816020015b610f506040518060c001604052806000801916815260200160006001600160a01b031681526020016060815260200160608152602001600081526020016000151581525090565b815260200190600190039081610f095790505b50905060005b8281101561103457610f7961112c565b6001600160a01b031663785d6e18858381518110610f9957610f996149c1565b60200260200101516040518263ffffffff1660e01b8152600401610fbf91815260200190565b600060405180830381865afa158015610fdc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110049190810190614a37565b828281518110611016576110166149c1565b6020026020010181905250808061102c90614b13565b915050610f69565b5095945050505050565b6002600061104a6123f9565b8054909150600160401b900460ff1680611071575080546001600160401b03808416911610155b1561108f5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556110b78361241d565b805460ff60401b19168155604051600080516020614f9d833981519152906110e0908490614b2c565b60405180910390a1505050565b6110f682610e3d565b6110ff8161232f565b6111098383612454565b50505050565b60008061111a6124fc565b60009384526020525050604090205490565b6000806111376122ce565b546001600160a01b031692915050565b6000806111526124fc565b60009384526001016020525050604090205460ff1690565b611173816118c5565b156111df5760405162461bcd60e51b815260206004820152603160248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64604482015270081a5cc81b9bdd08195b991959081e595d607a1b60648201526084015b60405180910390fd5b60006111e96124fc565b90508160010361121e57600091825260208181526040808420600190819055928301909152909120805460ff19169091179055565b600261122983611309565b600281111561123a5761123a614452565b0361126a57600082815260208281526040808320949094556001928301905291909120805460ff19169091179055565b600161127583611309565b600281111561128657611286614452565b03610d1757806000611299600185614b40565b8152602080820192909252604090810160009081205485825284845282822055600180850190935220805460ff191690911790555050565b6001600160a01b03811633146112fa5760405163334bd91960e11b815260040160405180910390fd5b6113048282612520565b505050565b60008061131583611cd5565b90508060000361133b576040516333b4e31b60e21b8152600481018490526024016111d6565b60006113456119d2565b65ffffffffffff169050600061135a85611d04565b905081811061136e57506000949350505050565b61137785611d58565b61138657506001949350505050565b506002949350505050565b60008061139c61238d565b6000948552600101602090815260408086206001600160a01b0395909516865260049094019052505090205460ff1690565b6000806113d961238d565b60009384526001016020525050604090206005015490565b6000806113fc61238d565b600094855260010160209081526040808620948652939052505090205490565b60606114266122c3565b6001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561148457506040513d6000823e601f3d908101601f191682016040526114819190810190614b53565b60015b6114c0575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b6114cd612598565b6114d68261263f565b610d178282612657565b60006114ea61270b565b50600080516020614ffe83398151915290565b6000806115086123d5565b6000938452600101602052505060409020546001600160a01b031690565b611539836115346000612754565b612777565b5080518251146115af5760405162461bcd60e51b815260206004820152603b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20617070732060448201527a0c2dcc840eecad2ced0e8e640d8cadccee8d040dad2e6dac2e8c6d602b1b60648201526084016111d6565b60008251116116175760405162461bcd60e51b815260206004820152602e60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f20617060448201526d3839903a37903b37ba32903337b960911b60648201526084016111d6565b60006116216116fb565b905060008061162e610cb8565b6001600160a01b031663d0ebb0ee33611646866127b6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401600060405180830381865afa158015611697573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116bf9190810190614b87565b91509150816116e55733816040516344c4534960e01b81526004016111d6929190614bd5565b336116f2878288886127e4565b50505050505050565b6000610cf1610b05611a6f565b60008051602061503e8339815191526117208161232f565b610d1782612d14565b6000610cf1610b25611a6f565b6000610ce1610c7e83611cd5565b60008061174f612e02565b8054909150600082611762600184614b40565b81548110611772576117726149c1565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b03168682116117b6576001600160d01b03169695505050505050565b6117c96117c2886127b6565b8690612e26565b6001600160d01b0316979650505050505050565b6000806117e861238d565b6002015492915050565b600080516020614f7d83398151915261180a8161232f565b610d1782612edc565b60008061181e6122ce565b600401546001600160a01b031692915050565b600080516020614f7d8339815191526118498161232f565b610d1782612f7b565b6060600061185e6123d5565b600084815260028201602090815260409182902080548351818402810184019094528084529394509192908301828280156118b857602002820191906000526020600020905b8154815260200190600101908083116118a4575b5050505050915050919050565b6000806118d183611309565b60028111156118e2576118e2614452565b1492915050565b600080516020614f7d8339815191526119018161232f565b610d1782613026565b600080611915612369565b5492915050565b60408051606081018252600080825260208201819052918101829052906119416123d5565b60009384526001016020908152604093849020845160608101865290546001600160a01b0381168252600160a01b810465ffffffffffff1692820192909252600160d01b90910463ffffffff16938101939093525090919050565b6000806119a76123b1565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006119dc6122c3565b6001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a35575060408051601f3d908101601f19168201909252611a3291810190614bf9565b60015b6114c057610cf161302f565b600080611a4c61238d565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b6000806119156123d5565b600080516020614fde833981519152611a928161232f565b60076000611a9e6123f9565b8054909150600160401b900460ff1680611ac5575080546001600160401b03808416911610155b15611ae35760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b178155611b0b8461303a565b805460ff60401b19168155604051600080516020614f9d83398151915290611b34908490614b2c565b60405180910390a150505050565b600080611b4d6122ce565b600201546001600160a01b031692915050565b6000611b6a611813565b6001600160a01b031663a56b576584846040518363ffffffff1660e01b8152600401611b97929190614c21565b602060405180830381865afa158015611bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd89190614c3a565b9392505050565b600080611bea612e02565b9050611bf581613042565b6001600160d01b031691505090565b60008051602061503e833981519152611c1c8161232f565b610d178261307b565b600080516020614f7d833981519152611c3d8161232f565b610d1782613170565b600080611c51612369565b6001015492915050565b600060008051602061501e833981519152611c758161232f565b611c7d6131f8565b91505b5090565b600080611c8f61238d565b6000948552600190810160209081526040808720958752949091019052505090205490565b60008051602061503e833981519152611ccc8161232f565b610d1782613298565b600080611ce06123d5565b600093845260010160205250506040902054600160a01b900465ffffffffffff1690565b600080611d0f6123d5565b6000848152600182016020526040902054909150611d4990600160d01b810463ffffffff1690600160a01b900465ffffffffffff16614c53565b65ffffffffffff169392505050565b6000610ce182613385565b611d6c82610e3d565b611d758161232f565b6111098383612520565b6000611d8961112c565b6001600160a01b031663d2570b9484611da185611cd5565b6040518363ffffffff1660e01b8152600401611dbe929190614c72565b602060405180830381865afa158015611ddb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd89190614c80565b6060604051806060016040528060218152602001614fbd60219139905090565b600080516020614f7d833981519152611e378161232f565b610d17826133a4565b6000611e4a6123f9565b805490915060ff600160401b82041615906001600160401b0316600081158015611e715750825b90506000826001600160401b03166001148015611e8d5750303b155b905081158015611e9b575080155b15611eb95760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611ee257845460ff60401b1916600160401b1785555b85516001600160a01b0316611f4f5760405162461bcd60e51b815260206004820152602d60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420564f54332060448201526c746f6b656e206164647265737360981b60648201526084016111d6565b60808601516001600160a01b0316611fc15760405162461bcd60e51b815260206004820152602f60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420566f74657260448201526e52657761726473206164647265737360881b60648201526084016111d6565b60a08601516001600160a01b03166120305760405162461bcd60e51b815260206004820152602c60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420456d69737360448201526b696f6e73206164647265737360a01b60648201526084016111d6565b6120626040518060400160405280601181526020017058416c6c6f636174696f6e566f74696e6760781b8152506134d5565b61207a8661012001518760a0015188608001516134e6565b61208786604001516134f9565b61209586610180015161350a565b85516120a09061351b565b6120ad866020015161352c565b6120c186610140015187610160015161353d565b6120c961354f565b6120d161354f565b6120d961355b565b6120e161355b565b60005b8660c00151518110156121be5760006001600160a01b03168760c001518281518110612112576121126149c1565b60200260200101516001600160a01b0316036121815760405162461bcd60e51b815260206004820152602860248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c69642061646d696e604482015267206164647265737360c01b60648201526084016111d6565b6121ab6000801b8860c00151838151811061219e5761219e6149c1565b6020026020010151612454565b50806121b681614b13565b9150506120e4565b506121db600080516020614fde8339815191528760e00151612454565b506121f8600080516020614f7d8339815191528760600151612454565b5061221660008051602061503e833981519152876101000151612454565b50831561225057845460ff60401b19168555604051600080516020614f9d8339815191529061224790600190614b2c565b60405180910390a15b505050505050565b6000611bd8838360405180602001604052806000815250613563565b600080516020614f7d83398151915261228c8161232f565b610d17826135e3565b6000610ce18261368b565b6000806122ab61238d565b60009384526001016020525050604090206003015490565b600080611137613722565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b60006001600160e01b03198216637965db0b60e01b1480610ce15750610ce182613746565b60008061232261377b565b5463ffffffff1692915050565b612339813361379f565b50565b612339816137ca565b7f7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be0090565b7fc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c350090565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b7f0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f190090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b612425613858565b600061242f6122ce565b60030180546001600160a01b0319166001600160a01b03939093169290921790915550565b60008061245f6123b1565b905061246b848461199c565b6124eb576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556124a13390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610ce1565b6000915050610ce1565b5092915050565b7f7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e50250090565b60008061252b6123b1565b9050612537848461199c565b156124eb576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610ce1565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061261f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612613600080516020614ffe833981519152546001600160a01b031690565b6001600160a01b031614155b1561263d5760405163703e46dd60e11b815260040160405180910390fd5b565b600080516020614fde833981519152610d178161232f565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156126b1575060408051601f3d908101601f191682019092526126ae91810190614c3a565b60015b6126d05781604051634c9c8ce360e01b81526004016111d6919061426e565b600080516020614ffe833981519152811461270157604051632a87526960e21b8152600481018290526024016111d6565b611304838361387d565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461263d5760405163703e46dd60e11b815260040160405180910390fd5b600081600281111561276857612768614452565b600160ff919091161b92915050565b60008061278384611309565b905060008361279183612754565b1603611bd8578381846040516321b2b5ab60e11b81526004016111d693929190614c9b565b600065ffffffffffff821115611c80576030826040516306dfcc6560e41b81526004016111d6929190614cbd565b6127ee8484611391565b1561280e57826040516371c6af4960e01b81526004016111d6919061426e565b600061281861238d565b9050600061282586611cd5565b9050600080600061283688856138d3565b905060005b8751811015612b235760005b818110156128b357888181518110612861576128616149c1565b602002602001015189838151811061287b5761287b6149c1565b6020026020010151036128a157604051632367acf760e21b815260040160405180910390fd5b806128ab81614b13565b915050612847565b508681815181106128c6576128c66149c1565b6020026020010151846128d99190614cd0565b9350818411156128fc57604051630cc9baf760e01b815260040160405180910390fd5b61291f888281518110612911576129116149c1565b60200260200101518b611d7f565b61295957878181518110612935576129356149c1565b60200260200101516040516325c5391960e11b81526004016111d691815260200190565b60008660010160008c815260200190815260200160002060010160008a8481518110612987576129876149c1565b602002602001015181526020019081526020016000205490506000670de0b6b3a76400008984815181106129bd576129bd6149c1565b6020026020010151116129f857633b9aca008984815181106129e1576129e16149c1565b60200260200101516129f39190614cf9565b612a1a565b612a1a898481518110612a0d57612a0d6149c1565b6020026020010151613902565b90506000612a288284614cd0565b9050612a348380614d1b565b612a3e8280614d1b565b612a489190614b40565b612a529087614cd0565b9550808960010160008f815260200190815260200160002060010160008d8781518110612a8157612a816149c1565b6020026020010151815260200190815260200160002081905550898481518110612aad57612aad6149c1565b60200260200101518960010160008f815260200190815260200160002060000160008d8781518110612ae157612ae16149c1565b602002602001015181526020019081526020016000206000828254612b069190614cd0565b925050819055505050508080612b1b90614b13565b91505061283b565b50612b2c6117dd565b831015612b5757612b3b6117dd565b8360405163742f62c360e01b81526004016111d6929190614c72565b600089815260018601602052604081206003018054849290612b7a908490614cd0565b9091555050600089815260018601602052604081206002018054859290612ba2908490614cd0565b909155505060008981526001868101602081815260408085206001600160a01b038e168652600481018352908520805460ff19169094179093558c845252600501805491612bef83614b13565b90915550506001600160a01b03881660009081526020869052604090205460ff16612c38576001600160a01b0388166000908152602086905260409020805460ff191660011790555b612c40611b42565b6001600160a01b0316632f18339d858a86612c5a88613902565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b03909216602484015260448301526064820152608401600060405180830381600087803b158015612cad57600080fd5b505af1158015612cc1573d6000803e3d6000fd5b5050505088886001600160a01b03167fe2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e28989604051612d01929190614d32565b60405180910390a3505050505050505050565b6001600160a01b038116612d8b5760405162461bcd60e51b815260206004820152603860248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20656d697373604482015277696f6e7320697320746865207a65726f206164647265737360401b60648201526084016111d6565b6000612d956122ce565b60018101546040519192507f602f97505d28fb0206888a82df7cb072ec7ff056c77134b64368322bcb9f5aba91612dd7916001600160a01b0316908590614d89565b60405180910390a160010180546001600160a01b0319166001600160a01b0392909216919091179055565b7f49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c3240090565b815460009081816005811115612e85576000612e4184613902565b612e4b9085614b40565b60008881526020902090915081015465ffffffffffff9081169087161015612e7557809150612e83565b612e80816001614cd0565b92505b505b6000612e93878785856139ea565b90508015612ece57612eb887612eaa600184614b40565b600091825260209091200190565b54600160301b90046001600160d01b0316612ed1565b60005b979650505050505050565b6064811115612f675760405162461bcd60e51b815260206004820152604b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20417070207360448201527f686172657320636170206d757374206265206c657373207468616e206f72206560648201526a07175616c20746f203130360ac1b608482015260a4016111d6565b6000612f71612369565b6001019190915550565b6001600160a01b038116612ff75760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6577204260448201527f335452476f7665726e6f7220697320746865207a65726f20616464726573730060648201526084016111d6565b60006130016122ce565b60040180546001600160a01b0319166001600160a01b03939093169290921790915550565b61233981613a4c565b6000610cf1436127b6565b612ff7613858565b805460009080156130725761305c83612eaa600184614b40565b54600160301b90046001600160d01b0316611bd8565b60009392505050565b6001600160a01b0381166130f9576040805162461bcd60e51b81526020600482015260248101919091527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6577207660448201527f6f746572207265776172647320697320746865207a65726f206164647265737360648201526084016111d6565b60006131036122ce565b60028101546040519192507f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c491613145916001600160a01b0316908590614d89565b60405180910390a160020180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166124255760405162461bcd60e51b815260206004820152604360248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6577205660448201527f6542657474657250617373706f727420697320746865207a65726f206164647260648201526265737360e81b608482015260a4016111d6565b60003381613204611a6f565b9050801561328857613215816118c5565b156132885760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20746865726560448201527f2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d650060648201526084016111d6565b61329182613a9b565b9250505090565b6001600160a01b0381166133145760405162461bcd60e51b815260206004820152603d60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6577205860448201527f324561726e4170707320697320746865207a65726f206164647265737300000060648201526084016111d6565b600061331e6122ce565b80546040519192507f6183e90e12923ae97651b48be341fb5bcfd7bb63a987353dbcf962851011974d9161335d916001600160a01b0316908590614d89565b60405180910390a180546001600160a01b0319166001600160a01b0392909216919091179055565b600061339082610dfc565b61339c610c7e84611cd5565b111592915050565b8063ffffffff166000036133ce5760405163f1cfbf0560e01b8152600060048201526024016111d6565b60006133d8610e1f565b6001600160a01b0316635bec4cb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015613415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134399190614c3a565b9050808263ffffffff16106134695760405163f1cfbf0560e01b815263ffffffff831660048201526024016111d6565b600061347361377b565b80546040805163ffffffff928316815291861660208301529192507f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1805463ffffffff191663ffffffff939093169290921790915550565b6134dd613858565b61233981613cb7565b6134ee613858565b611304838383613cd6565b613501613858565b61233981613d28565b613512613858565b61233981613d39565b613523613858565b61233981613d55565b613534613858565b61233981613d89565b613545613858565b610d178282613d91565b613557613858565b61263d5b61263d613858565b600061356d6122c3565b6001600160a01b0316633a46b1a885856040518363ffffffff1660e01b815260040161359a929190614c21565b602060405180830381865afa1580156135b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135db9190614c3a565b949350505050565b606481111561367a5760405162461bcd60e51b815260206004820152605760248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20426173652060448201527f616c6c6f636174696f6e2070657263656e74616765206d757374206265206c6560648201527607373207468616e206f7220657175616c20746f2031303604c1b608482015260a4016111d6565b6000613684612369565b9190915550565b6000606461369883611744565b6136a06122c3565b6001600160a01b0316638e539e8c856040518263ffffffff1660e01b81526004016136cd91815260200190565b602060405180830381865afa1580156136ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061370e9190614c3a565b6137189190614d1b565b610ce19190614cf9565b7f6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab50090565b60006001600160e01b03198216639d53f06d60e01b1480610ce157506301ffc9a760e01b6001600160e01b0319831614610ce1565b7fd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a9990090565b6137a9828261199c565b610d1757808260405163e2517d3f60e01b81526004016111d6929190614c21565b6064808211156137f157818160405163243e544560e01b81526004016111d6929190614c72565b60006137fb611bdf565b90506000613807612e02565b90506138256138146119d2565b61381d86613dab565b839190613dda565b50507f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b46339978285604051611b34929190614c72565b613860613df5565b61263d57604051631afcd79f60e31b815260040160405180910390fd5b61388682613e0f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156138cb576113048282613e6b565b610d17613ed8565b6000806138e08484611b60565b90506000816138ef8686612258565b6138f99190614cd0565b95945050505050565b60008160000361391457506000919050565b6000600161392184613ef7565b901c6001901b9050600181848161393a5761393a614ce3565b048201901c9050600181848161395257613952614ce3565b048201901c9050600181848161396a5761396a614ce3565b048201901c9050600181848161398257613982614ce3565b048201901c9050600181848161399a5761399a614ce3565b048201901c905060018184816139b2576139b2614ce3565b048201901c905060018184816139ca576139ca614ce3565b048201901c9050611bd8818285816139e4576139e4614ce3565b04613f8b565b60005b81831015613a44576000613a018484613fa1565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613a3057809250613a3e565b613a3b816001614cd0565b93505b506139ed565b509392505050565b6000613a5661238d565b90507fa5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05816002015483604051613a8d929190614c72565b60405180910390a160020155565b600080613aa66123d5565b90508060000160008154613ab990614b13565b9091555080546000818152600183016020526040902054909250600160a01b900465ffffffffffff1615613b0f5781613af183611309565b6040516321b2b5ab60e11b81526111d6929190600090600401614c9b565b6001821115613b2657613b2661058f600184614b40565b6000613b3061112c565b6001600160a01b031663c04cff196040518163ffffffff1660e01b8152600401600060405180830381865afa158015613b6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613b959190810190614da3565b600084815260028401602090815260409091208251929350613bbb929091840190614217565b50613bc583613fbc565b6000613bcf6119d2565b65ffffffffffff1690506000613be3610ce7565b6000868152600186016020526040902080546001600160a01b0319166001600160a01b038916178155909150613c18836127b6565b815465ffffffffffff91909116600160a01b0265ffffffffffff60a01b19909116178155613c4582613ff5565b815463ffffffff91909116600160d01b0263ffffffff60d01b199091161781557fed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c8868885613c938682614cd0565b88604051613ca5959493929190614e28565b60405180910390a15050505050919050565b613cbf613858565b6000613cc9612345565b9050806113048382614ea1565b613cde613858565b6000613ce86122ce565b80546001600160a01b03199081166001600160a01b0396871617825560018201805482169587169590951790945560020180549093169190931617905550565b613d30613858565b612339816133a4565b613d41613858565b6000613d4b61238d565b6002019190915550565b613d5d613858565b6000613d67613722565b80546001600160a01b0319166001600160a01b03939093169290921790915550565b61233c613858565b613d99613858565b613da2826135e3565b610d1781612edc565b60006001600160d01b03821115611c805760d0826040516306dfcc6560e41b81526004016111d6929190614cbd565b600080613de8858585614021565b915091505b935093915050565b6000613dff6123f9565b54600160401b900460ff16919050565b806001600160a01b03163b600003613e3c5780604051634c9c8ce360e01b81526004016111d6919061426e565b600080516020614ffe83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613e889190614f60565b600060405180830381855af49150503d8060008114613ec3576040519150601f19603f3d011682016040523d82523d6000602084013e613ec8565b606091505b50915091506138f985838361419b565b341561263d5760405163b398979f60e01b815260040160405180910390fd5b600080608083901c15613f0c57608092831c92015b604083901c15613f1e57604092831c92015b602083901c15613f3057602092831c92015b601083901c15613f4257601092831c92015b600883901c15613f5457600892831c92015b600483901c15613f6657600492831c92015b600283901c15613f7857600292831c92015b600183901c15610ce15760010192915050565b6000818310613f9a5781611bd8565b5090919050565b6000613fb06002848418614cf9565b611bd890848416614cd0565b6000613fc6612369565b805460009384526002820160209081526040808620929092556001830154600390930190529092209190915550565b600063ffffffff821115611c80576020826040516306dfcc6560e41b81526004016111d6929190614cbd565b82546000908190801561414057600061403f87612eaa600185614b40565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561409357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036140df57846140b688612eaa600186614b40565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055614130565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150613ded9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081613ded565b6060826141b0576141ab826141ee565b611bd8565b81511580156141c757506001600160a01b0384163b155b156141e75783604051639996b31560e01b81526004016111d6919061426e565b5080611bd8565b8051156141fe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b828054828255906000526020600020908101928215614252579160200282015b82811115614252578251825591602001919060010190614237565b50611c809291505b80821115611c80576000815560010161425a565b6001600160a01b0391909116815260200190565b60006020828403121561429457600080fd5b81356001600160e01b031981168114611bd857600080fd5b6000602082840312156142be57600080fd5b5035919050565b60005b838110156142e05781810151838201526020016142c8565b50506000910152565b600081518084526143018160208601602086016142c5565b601f01601f19169290920160200192915050565b602081526000611bd860208301846142e9565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156143d757888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614390828701826142e9565b915050606080830151868303828801526143aa83826142e9565b6080858101519089015260a09485015115159490970193909352505050938601939086019060010161434f565b509098975050505050505050565b6001600160a01b038116811461233957600080fd5b60006020828403121561440c57600080fd5b8135611bd8816143e5565b80356114c0816143e5565b6000806040838503121561443557600080fd5b823591506020830135614447816143e5565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b6003811061448657634e487b7160e01b600052602160045260246000fd5b9052565b60208101610ce18284614468565b600080604083850312156144ab57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b03811182821017156144f3576144f36144ba565b60405290565b60405160c081016001600160401b03811182821017156144f3576144f36144ba565b604051601f8201601f191681016001600160401b0381118282101715614543576145436144ba565b604052919050565b60006001600160401b03821115614564576145646144ba565b50601f01601f191660200190565b6000806040838503121561458557600080fd5b8235614590816143e5565b915060208301356001600160401b038111156145ab57600080fd5b8301601f810185136145bc57600080fd5b80356145cf6145ca8261454b565b61451b565b8181528660208385010111156145e457600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006001600160401b0382111561461d5761461d6144ba565b5060051b60200190565b600082601f83011261463857600080fd5b813560206146486145ca83614604565b82815260059290921b8401810191818101908684111561466757600080fd5b8286015b84811015614682578035835291830191830161466b565b509695505050505050565b6000806000606084860312156146a257600080fd5b833592506020808501356001600160401b03808211156146c157600080fd5b818701915087601f8301126146d557600080fd5b81356146e36145ca82614604565b81815260059190911b8301840190848101908a83111561470257600080fd5b938501935b8285101561472057843582529385019390850190614707565b96505050604087013592508083111561473857600080fd5b505061474686828701614627565b9150509250925092565b600081518084526020808501945080840160005b8381101561478057815187529582019590820190600101614764565b509495945050505050565b602081526000611bd86020830184614750565b600080604083850312156147b157600080fd5b82356147bc816143e5565b946020939093013593505050565b803563ffffffff811681146114c057600080fd5b6000602082840312156147f057600080fd5b611bd8826147ca565b600082601f83011261480a57600080fd5b8135602061481a6145ca83614604565b82815260059290921b8401810191818101908684111561483957600080fd5b8286015b84811015614682578035614850816143e5565b835291830191830161483d565b60006020828403121561486f57600080fd5b81356001600160401b038082111561488657600080fd5b908301906101a0828603121561489b57600080fd5b6148a36144d0565b6148ac83614417565b8152602083013560208201526148c4604084016147ca565b60408201526148d560608401614417565b60608201526148e660808401614417565b60808201526148f760a08401614417565b60a082015260c08301358281111561490e57600080fd5b61491a878286016147f9565b60c08301525061492c60e08401614417565b60e08201526101009150614941828401614417565b828201526101209150614955828401614417565b918101919091526101408281013590820152610160808301359082015261018091820135918101919091529392505050565b600181811c9082168061499b57607f821691505b6020821081036149bb57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b80516114c0816143e5565b600082601f8301126149f357600080fd5b8151614a016145ca8261454b565b818152846020838601011115614a1657600080fd5b6135db8260208301602087016142c5565b805180151581146114c057600080fd5b600060208284031215614a4957600080fd5b81516001600160401b0380821115614a6057600080fd5b9083019060c08286031215614a7457600080fd5b614a7c6144f9565b82518152614a8c602084016149d7565b6020820152604083015182811115614aa357600080fd5b614aaf878286016149e2565b604083015250606083015182811115614ac757600080fd5b614ad3878286016149e2565b60608301525060808301516080820152614aef60a08401614a27565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201614b2557614b25614afd565b5060010190565b6001600160401b0391909116815260200190565b81810381811115610ce157610ce1614afd565b600060208284031215614b6557600080fd5b81516001600160401b03811115614b7b57600080fd5b6135db848285016149e2565b60008060408385031215614b9a57600080fd5b614ba383614a27565b60208401519092506001600160401b03811115614bbf57600080fd5b614bcb858286016149e2565b9150509250929050565b6001600160a01b03831681526040602082018190526000906135db908301846142e9565b600060208284031215614c0b57600080fd5b815165ffffffffffff81168114611bd857600080fd5b6001600160a01b03929092168252602082015260400190565b600060208284031215614c4c57600080fd5b5051919050565b65ffffffffffff8181168382160190808211156124f5576124f5614afd565b918252602082015260400190565b600060208284031215614c9257600080fd5b611bd882614a27565b83815260608101614caf6020830185614468565b826040830152949350505050565b60ff929092168252602082015260400190565b80820180821115610ce157610ce1614afd565b634e487b7160e01b600052601260045260246000fd5b600082614d1657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610ce157610ce1614afd565b604081526000614d456040830185614750565b82810360208481019190915284518083528582019282019060005b81811015614d7c57845183529383019391830191600101614d60565b5090979650505050505050565b6001600160a01b0392831681529116602082015260400190565b60006020808385031215614db657600080fd5b82516001600160401b03811115614dcc57600080fd5b8301601f81018513614ddd57600080fd5b8051614deb6145ca82614604565b81815260059190911b82018301908381019087831115614e0a57600080fd5b928401925b82841015612ed157835182529284019290840190614e0f565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000612ed160a0830184614750565b601f82111561130457600081815260208120601f850160051c81016020861015614e825750805b601f850160051c820191505b8181101561225057828155600101614e8e565b81516001600160401b03811115614eba57614eba6144ba565b614ece81614ec88454614987565b84614e5b565b602080601f831160018114614f035760008415614eeb5750858301515b600019600386901b1c1916600185901b178555612250565b600085815260208120601f198616915b82811015614f3257888601518255948401946001909101908401614f13565b5085821015614f505787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251614f728184602087016142c5565b919091019291505056fe71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2737570706f72743d782d616c6c6f636174696f6e732671756f72756d3d6175746f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7a2646970667358221220f075d5c441b3c2d4c68c2291cbcb9a16e3a1b23f4f325ddb5b440dfd3572d36964736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x5093 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x25A3 ADD MSTORE DUP2 DUP2 PUSH2 0x25CC ADD MSTORE PUSH2 0x2716 ADD MSTORE PUSH2 0x5093 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x356 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x50EA6F EQ PUSH2 0x35B JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x386 JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x3B6 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x3FB JUMPI DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x41D JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0x43D JUMPI DUP1 PUSH4 0x19E6E158 EQ PUSH2 0x45D JUMPI DUP1 PUSH4 0x2267716C EQ PUSH2 0x47D JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x492 JUMPI DUP1 PUSH4 0x291605F7 EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0x29B6ECA9 EQ PUSH2 0x4DF JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x4FF JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x51F JUMPI DUP1 PUSH4 0x33653F5D EQ PUSH2 0x53F JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x554 JUMPI DUP1 PUSH4 0x3469F6E2 EQ PUSH2 0x574 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x594 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x5B4 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x5E1 JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x601 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x621 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x641 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x656 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x669 JUMPI DUP1 PUSH4 0x5320A147 EQ PUSH2 0x67E JUMPI DUP1 PUSH4 0x53ED6399 EQ PUSH2 0x69E JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x6BE JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0x6E8 JUMPI DUP1 PUSH4 0x57181609 EQ PUSH2 0x6FD JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x71D JUMPI DUP1 PUSH4 0x59529EDD EQ PUSH2 0x732 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x752 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x772 JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0x787 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x7A7 JUMPI DUP1 PUSH4 0x78A81336 EQ PUSH2 0x7BC JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x7DC JUMPI DUP1 PUSH4 0x82AFD23B EQ PUSH2 0x809 JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x829 JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0x849 JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0x85E JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x8B7 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x8D7 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x903 JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0x925 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0x939 JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0x959 JUMPI DUP1 PUSH4 0x9FB02702 EQ PUSH2 0x96E JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x98E JUMPI DUP1 PUSH4 0xA3844E11 EQ PUSH2 0x9A3 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0x9B8 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x9D8 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x9ED JUMPI DUP1 PUSH4 0xB25D6F62 EQ PUSH2 0xA1E JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xA3E JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xA5E JUMPI DUP1 PUSH4 0xBD85948C EQ PUSH2 0xA73 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0xA88 JUMPI DUP1 PUSH4 0xC048F6C9 EQ PUSH2 0xAA8 JUMPI DUP1 PUSH4 0xCD669A72 EQ PUSH2 0xAC8 JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0xAEA JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0xB0A JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0xB2A JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xB4A JUMPI DUP1 PUSH4 0xD68B4C36 EQ PUSH2 0xB6A JUMPI DUP1 PUSH4 0xDD4E2BA5 EQ PUSH2 0xB8A JUMPI DUP1 PUSH4 0xE540D01D EQ PUSH2 0xB9F JUMPI DUP1 PUSH4 0xE7AD2BED EQ PUSH2 0xBBF JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xBDF JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0xBFF JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0xC21 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xC41 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xC63 JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0xC83 JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0xCA3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x367 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xCB8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x392 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x3A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4282 JUMP JUMPDEST PUSH2 0xCD6 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x37D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xCE7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x37D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x3F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xCF6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x407 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x410 PUSH2 0xD1B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x4315 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x429 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x438 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xDBC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x449 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x458 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xDDC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x469 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x478 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xDFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x489 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xE1F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x4AD CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xE3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D2 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xE5D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x4328 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x4FA CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x103E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x51A CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x10ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x53A CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x110F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x54B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x112C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x560 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x56F CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1147 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x580 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x58F CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x116A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x5AF CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x12D1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D4 PUSH2 0x5CF CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x448A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x5FC CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x1391 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x61C CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x13CE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x63C CALLDATASIZE PUSH1 0x4 PUSH2 0x4498 JUMP JUMPDEST PUSH2 0x13F1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x410 PUSH2 0x141C JUMP JUMPDEST PUSH2 0x3F9 PUSH2 0x664 CALLDATASIZE PUSH1 0x4 PUSH2 0x4572 JUMP JUMPDEST PUSH2 0x14C5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x675 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x14E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x699 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x14FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x6B9 CALLDATASIZE PUSH1 0x4 PUSH2 0x468D JUMP JUMPDEST PUSH2 0x1526 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x37 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x410 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x16FB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x709 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x718 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1708 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x729 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1729 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x74D CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1736 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x76D CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1744 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x17DD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x793 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x7A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x17F2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1813 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x7D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1831 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7FC PUSH2 0x7F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1852 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x478B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x815 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x824 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x18C5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x835 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x844 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x18E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x855 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x190A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x86A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x87E PUSH2 0x879 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x191C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x37D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x8D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x199C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8EC PUSH2 0x19D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x37D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x90F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x931 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH2 0x3CB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x945 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x954 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1A41 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1A6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x989 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1A7A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x99A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1B42 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x9D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x479E JUMP JUMPDEST PUSH2 0x1B60 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1BDF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x410 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xA39 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1C04 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xA59 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1C25 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1C46 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1C5B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xAA3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4498 JUMP JUMPDEST PUSH2 0x1C84 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xAC3 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1CB4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x501E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xB05 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1CD5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xB25 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1D04 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0xB45 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1D58 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xB65 CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x1D63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0xB85 CALLDATASIZE PUSH1 0x4 PUSH2 0x4498 JUMP JUMPDEST PUSH2 0x1D7F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x410 PUSH2 0x1DFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xBBA CALLDATASIZE PUSH1 0x4 PUSH2 0x47DE JUMP JUMPDEST PUSH2 0x1E1F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBCB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xBDA CALLDATASIZE PUSH1 0x4 PUSH2 0x485D JUMP JUMPDEST PUSH2 0x1E40 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xBFA CALLDATASIZE PUSH1 0x4 PUSH2 0x479E JUMP JUMPDEST PUSH2 0x2258 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xC3C CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x2274 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xC7E CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x2295 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xC9E CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x22A0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCC3 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 DUP3 PUSH2 0x22F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF1 PUSH2 0x2317 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xD0E DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x233C JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xD27 PUSH2 0x2345 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xD38 SWAP1 PUSH2 0x4987 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD64 SWAP1 PUSH2 0x4987 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDB1 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD86 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDB1 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD94 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xDC7 PUSH2 0x2369 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xDE7 PUSH2 0x2369 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE07 PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE2A PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE48 PUSH2 0x23B1 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE69 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xEC4 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xEB0 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xEEB JUMPI PUSH2 0xEEB PUSH2 0x44BA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF63 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0xF50 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xF09 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1034 JUMPI PUSH2 0xF79 PUSH2 0x112C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x785D6E18 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xF99 JUMPI PUSH2 0xF99 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFBF SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFDC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1004 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4A37 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1016 JUMPI PUSH2 0x1016 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP1 DUP1 PUSH2 0x102C SWAP1 PUSH2 0x4B13 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xF69 JUMP JUMPDEST POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x104A PUSH2 0x23F9 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x1071 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x108F JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH2 0x10B7 DUP4 PUSH2 0x241D JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F9D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x10E0 SWAP1 DUP5 SWAP1 PUSH2 0x4B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x10F6 DUP3 PUSH2 0xE3D JUMP JUMPDEST PUSH2 0x10FF DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0x1109 DUP4 DUP4 PUSH2 0x2454 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x111A PUSH2 0x24FC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1137 PUSH2 0x22CE JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1152 PUSH2 0x24FC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1173 DUP2 PUSH2 0x18C5 JUMP JUMPDEST ISZERO PUSH2 0x11DF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A20726F756E64 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x81A5CC81B9BDD08195B991959081E595D PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x11E9 PUSH2 0x24FC JUMP JUMPDEST SWAP1 POP DUP2 PUSH1 0x1 SUB PUSH2 0x121E JUMPI PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 SWAP1 DUP2 SWAP1 SSTORE SWAP3 DUP4 ADD SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x2 PUSH2 0x1229 DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x123A JUMPI PUSH2 0x123A PUSH2 0x4452 JUMP JUMPDEST SUB PUSH2 0x126A JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE PUSH1 0x1 SWAP3 DUP4 ADD SWAP1 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH2 0x1275 DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1286 JUMPI PUSH2 0x1286 PUSH2 0x4452 JUMP JUMPDEST SUB PUSH2 0xD17 JUMPI DUP1 PUSH1 0x0 PUSH2 0x1299 PUSH1 0x1 DUP6 PUSH2 0x4B40 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD DUP6 DUP3 MSTORE DUP5 DUP5 MSTORE DUP3 DUP3 KECCAK256 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SWAP1 SWAP4 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x12FA JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1304 DUP3 DUP3 PUSH2 0x2520 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1315 DUP4 PUSH2 0x1CD5 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x133B JUMPI PUSH1 0x40 MLOAD PUSH4 0x33B4E31B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1345 PUSH2 0x19D2 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x135A DUP6 PUSH2 0x1D04 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x136E JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1377 DUP6 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0x1386 JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x139C PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13D9 PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13FC PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP5 DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1426 PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1484 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1481 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4B53 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x14C0 JUMPI POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14CD PUSH2 0x2598 JUMP JUMPDEST PUSH2 0x14D6 DUP3 PUSH2 0x263F JUMP JUMPDEST PUSH2 0xD17 DUP3 DUP3 PUSH2 0x2657 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14EA PUSH2 0x270B JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1508 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x1539 DUP4 PUSH2 0x1534 PUSH1 0x0 PUSH2 0x2754 JUMP JUMPDEST PUSH2 0x2777 JUMP JUMPDEST POP DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x15AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206170707320 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0xC2DCC840EECAD2CED0E8E640D8CADCCEE8D040DAD2E6DAC2E8C6D PUSH1 0x2B SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1617 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E6F206170 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3839903A37903B37BA32903337B9 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1621 PUSH2 0x16FB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x162E PUSH2 0xCB8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE CALLER PUSH2 0x1646 DUP7 PUSH2 0x27B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1697 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x16BF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4B87 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x16E5 JUMPI CALLER DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4BD5 JUMP JUMPDEST CALLER PUSH2 0x16F2 DUP8 DUP3 DUP9 DUP9 PUSH2 0x27E4 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF1 PUSH2 0xB05 PUSH2 0x1A6F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1720 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x2D14 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF1 PUSH2 0xB25 PUSH2 0x1A6F JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 PUSH2 0xC7E DUP4 PUSH2 0x1CD5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x174F PUSH2 0x2E02 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 DUP3 PUSH2 0x1762 PUSH1 0x1 DUP5 PUSH2 0x4B40 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1772 JUMPI PUSH2 0x1772 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP7 DUP3 GT PUSH2 0x17B6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x17C9 PUSH2 0x17C2 DUP9 PUSH2 0x27B6 JUMP JUMPDEST DUP7 SWAP1 PUSH2 0x2E26 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x17E8 PUSH2 0x238D JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x180A DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x2EDC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x181E PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1849 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x2F7B JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x185E PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE SWAP4 SWAP5 POP SWAP2 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x18B8 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x18A4 JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x18D1 DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x18E2 JUMPI PUSH2 0x18E2 PUSH2 0x4452 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1901 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x3026 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1915 PUSH2 0x2369 JUMP JUMPDEST SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0x1941 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP4 DUP5 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x60 DUP2 ADD DUP7 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xD0 SHL SWAP1 SWAP2 DIV PUSH4 0xFFFFFFFF AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19A7 PUSH2 0x23B1 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19DC PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1A35 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1A32 SWAP2 DUP2 ADD SWAP1 PUSH2 0x4BF9 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x14C0 JUMPI PUSH2 0xCF1 PUSH2 0x302F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A4C PUSH2 0x238D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP4 SWAP1 SWAP4 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1915 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1A92 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 PUSH2 0x1A9E PUSH2 0x23F9 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x1AC5 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x1AE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH2 0x1B0B DUP5 PUSH2 0x303A JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F9D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x1B34 SWAP1 DUP5 SWAP1 PUSH2 0x4B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B4D PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6A PUSH2 0x1813 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA56B5765 DUP5 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B97 SWAP3 SWAP2 SWAP1 PUSH2 0x4C21 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1BB4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1BD8 SWAP2 SWAP1 PUSH2 0x4C3A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BEA PUSH2 0x2E02 JUMP JUMPDEST SWAP1 POP PUSH2 0x1BF5 DUP2 PUSH2 0x3042 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1C1C DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x307B JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1C3D DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x3170 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C51 PUSH2 0x2369 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x501E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1C75 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0x1C7D PUSH2 0x31F8 JUMP JUMPDEST SWAP2 POP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C8F PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP8 KECCAK256 SWAP6 DUP8 MSTORE SWAP5 SWAP1 SWAP2 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1CCC DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x3298 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CE0 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D0F PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x1D49 SWAP1 PUSH1 0x1 PUSH1 0xD0 SHL DUP2 DIV PUSH4 0xFFFFFFFF AND SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND PUSH2 0x4C53 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 DUP3 PUSH2 0x3385 JUMP JUMPDEST PUSH2 0x1D6C DUP3 PUSH2 0xE3D JUMP JUMPDEST PUSH2 0x1D75 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0x1109 DUP4 DUP4 PUSH2 0x2520 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D89 PUSH2 0x112C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD2570B94 DUP5 PUSH2 0x1DA1 DUP6 PUSH2 0x1CD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1DBE SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DDB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1BD8 SWAP2 SWAP1 PUSH2 0x4C80 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4FBD PUSH1 0x21 SWAP2 CODECOPY SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1E37 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x33A4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E4A PUSH2 0x23F9 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E71 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1E8D JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E9B JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1EB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1EE2 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST DUP6 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1F4F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420564F543320 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x746F6B656E2061646472657373 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x80 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FC1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420566F746572 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x526577617264732061646472657373 PUSH1 0x88 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2030 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420456D697373 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x696F6E732061646472657373 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x2062 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH17 0x58416C6C6F636174696F6E566F74696E67 PUSH1 0x78 SHL DUP2 MSTORE POP PUSH2 0x34D5 JUMP JUMPDEST PUSH2 0x207A DUP7 PUSH2 0x120 ADD MLOAD DUP8 PUSH1 0xA0 ADD MLOAD DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x34E6 JUMP JUMPDEST PUSH2 0x2087 DUP7 PUSH1 0x40 ADD MLOAD PUSH2 0x34F9 JUMP JUMPDEST PUSH2 0x2095 DUP7 PUSH2 0x180 ADD MLOAD PUSH2 0x350A JUMP JUMPDEST DUP6 MLOAD PUSH2 0x20A0 SWAP1 PUSH2 0x351B JUMP JUMPDEST PUSH2 0x20AD DUP7 PUSH1 0x20 ADD MLOAD PUSH2 0x352C JUMP JUMPDEST PUSH2 0x20C1 DUP7 PUSH2 0x140 ADD MLOAD DUP8 PUSH2 0x160 ADD MLOAD PUSH2 0x353D JUMP JUMPDEST PUSH2 0x20C9 PUSH2 0x354F JUMP JUMPDEST PUSH2 0x20D1 PUSH2 0x354F JUMP JUMPDEST PUSH2 0x20D9 PUSH2 0x355B JUMP JUMPDEST PUSH2 0x20E1 PUSH2 0x355B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 PUSH1 0xC0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x21BE JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0xC0 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2112 JUMPI PUSH2 0x2112 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2181 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C69642061646D696E PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x2061646472657373 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x21AB PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0xC0 ADD MLOAD DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x219E JUMPI PUSH2 0x219E PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x2454 JUMP JUMPDEST POP DUP1 PUSH2 0x21B6 DUP2 PUSH2 0x4B13 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x20E4 JUMP JUMPDEST POP PUSH2 0x21DB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH1 0xE0 ADD MLOAD PUSH2 0x2454 JUMP JUMPDEST POP PUSH2 0x21F8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH1 0x60 ADD MLOAD PUSH2 0x2454 JUMP JUMPDEST POP PUSH2 0x2216 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH2 0x100 ADD MLOAD PUSH2 0x2454 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2250 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F9D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2247 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x4B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BD8 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x3563 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x228C DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x35E3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 DUP3 PUSH2 0x368B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x22AB PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1137 PUSH2 0x3722 JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xCE1 JUMPI POP PUSH2 0xCE1 DUP3 PUSH2 0x3746 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2322 PUSH2 0x377B JUMP JUMPDEST SLOAD PUSH4 0xFFFFFFFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2339 DUP2 CALLER PUSH2 0x379F JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x37CA JUMP JUMPDEST PUSH32 0x7FB63BCD433C69110AD961BFBE38AEF51814CBB9E11AF6FE21011AE43FB4BE00 SWAP1 JUMP JUMPDEST PUSH32 0xC74DB4E191410C7A6C18F14684E1218B5E87C449D0F81AB47E8C67BF971C3500 SWAP1 JUMP JUMPDEST PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D500 SWAP1 JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH32 0xF5210C47C3BB73C471770A1CBB5B7DDC03C0EC886694CC17AE21D1F595F1900 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x2425 PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x242F PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x245F PUSH2 0x23B1 JUMP JUMPDEST SWAP1 POP PUSH2 0x246B DUP5 DUP5 PUSH2 0x199C JUMP JUMPDEST PUSH2 0x24EB JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x24A1 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xCE1 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xCE1 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x7DD3251B9882A8B07DC283A0B43197AA2BE3A6AF1A7F0284070FE5D86E502500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x252B PUSH2 0x23B1 JUMP JUMPDEST SWAP1 POP PUSH2 0x2537 DUP5 DUP5 PUSH2 0x199C JUMP JUMPDEST ISZERO PUSH2 0x24EB JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xCE1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x261F JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2613 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x263D JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xD17 DUP2 PUSH2 0x232F JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x26B1 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x26AE SWAP2 DUP2 ADD SWAP1 PUSH2 0x4C3A JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x26D0 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x2701 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x1304 DUP4 DUP4 PUSH2 0x387D JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x263D JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x2768 JUMPI PUSH2 0x2768 PUSH2 0x4452 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2783 DUP5 PUSH2 0x1309 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x2791 DUP4 PUSH2 0x2754 JUMP JUMPDEST AND SUB PUSH2 0x1BD8 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4C9B JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C80 JUMPI PUSH1 0x30 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4CBD JUMP JUMPDEST PUSH2 0x27EE DUP5 DUP5 PUSH2 0x1391 JUMP JUMPDEST ISZERO PUSH2 0x280E JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2818 PUSH2 0x238D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2825 DUP7 PUSH2 0x1CD5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x2836 DUP9 DUP6 PUSH2 0x38D3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0x2B23 JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x28B3 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2861 JUMPI PUSH2 0x2861 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP10 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x287B JUMPI PUSH2 0x287B PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x28A1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2367ACF7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x28AB DUP2 PUSH2 0x4B13 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2847 JUMP JUMPDEST POP DUP7 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x28C6 JUMPI PUSH2 0x28C6 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 PUSH2 0x28D9 SWAP2 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP4 POP DUP2 DUP5 GT ISZERO PUSH2 0x28FC JUMPI PUSH1 0x40 MLOAD PUSH4 0xCC9BAF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x291F DUP9 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2911 JUMPI PUSH2 0x2911 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP12 PUSH2 0x1D7F JUMP JUMPDEST PUSH2 0x2959 JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2935 JUMPI PUSH2 0x2935 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x25C53919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP11 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2987 JUMPI PUSH2 0x2987 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x29BD JUMPI PUSH2 0x29BD PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x29F8 JUMPI PUSH4 0x3B9ACA00 DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x29E1 JUMPI PUSH2 0x29E1 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x29F3 SWAP2 SWAP1 PUSH2 0x4CF9 JUMP JUMPDEST PUSH2 0x2A1A JUMP JUMPDEST PUSH2 0x2A1A DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2A0D JUMPI PUSH2 0x2A0D PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x3902 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2A28 DUP3 DUP5 PUSH2 0x4CD0 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A34 DUP4 DUP1 PUSH2 0x4D1B JUMP JUMPDEST PUSH2 0x2A3E DUP3 DUP1 PUSH2 0x4D1B JUMP JUMPDEST PUSH2 0x2A48 SWAP2 SWAP1 PUSH2 0x4B40 JUMP JUMPDEST PUSH2 0x2A52 SWAP1 DUP8 PUSH2 0x4CD0 JUMP JUMPDEST SWAP6 POP DUP1 DUP10 PUSH1 0x1 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP14 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0x2A81 JUMPI PUSH2 0x2A81 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2AAD JUMPI PUSH2 0x2AAD PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP10 PUSH1 0x1 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP14 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0x2AE1 JUMPI PUSH2 0x2AE1 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2B06 SWAP2 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP DUP1 DUP1 PUSH2 0x2B1B SWAP1 PUSH2 0x4B13 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x283B JUMP JUMPDEST POP PUSH2 0x2B2C PUSH2 0x17DD JUMP JUMPDEST DUP4 LT ISZERO PUSH2 0x2B57 JUMPI PUSH2 0x2B3B PUSH2 0x17DD JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x2B7A SWAP1 DUP5 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP6 SWAP3 SWAP1 PUSH2 0x2BA2 SWAP1 DUP5 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 DUP2 ADD PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP7 MSTORE PUSH1 0x4 DUP2 ADD DUP4 MSTORE SWAP1 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE DUP13 DUP5 MSTORE MSTORE PUSH1 0x5 ADD DUP1 SLOAD SWAP2 PUSH2 0x2BEF DUP4 PUSH2 0x4B13 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2C38 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH2 0x2C40 PUSH2 0x1B42 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2F18339D DUP6 DUP11 DUP7 PUSH2 0x2C5A DUP9 PUSH2 0x3902 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2CAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2CC1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP9 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xE2D0D542AF9CDD3E0EF4ACE292FC5E9DD654164E63920EA9B58C435492AF84E2 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x2D01 SWAP3 SWAP2 SWAP1 PUSH2 0x4D32 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2D8B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A20656D697373 PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x696F6E7320697320746865207A65726F2061646472657373 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D95 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x602F97505D28FB0206888A82DF7CB072EC7FF056C77134B64368322BCB9F5ABA SWAP2 PUSH2 0x2DD7 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x4D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH32 0x49D99284D013647F52E2A267FD5944583BD36BE17443E784EC3E86BBD4C32400 SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2E85 JUMPI PUSH1 0x0 PUSH2 0x2E41 DUP5 PUSH2 0x3902 JUMP JUMPDEST PUSH2 0x2E4B SWAP1 DUP6 PUSH2 0x4B40 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x2E75 JUMPI DUP1 SWAP2 POP PUSH2 0x2E83 JUMP JUMPDEST PUSH2 0x2E80 DUP2 PUSH1 0x1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x2E93 DUP8 DUP8 DUP6 DUP6 PUSH2 0x39EA JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2ECE JUMPI PUSH2 0x2EB8 DUP8 PUSH2 0x2EAA PUSH1 0x1 DUP5 PUSH2 0x4B40 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2ED1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x2F67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A204170702073 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x686172657320636170206D757374206265206C657373207468616E206F722065 PUSH1 0x64 DUP3 ADD MSTORE PUSH11 0x7175616C20746F2031303 PUSH1 0xAC SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F71 PUSH2 0x2369 JUMP JUMPDEST PUSH1 0x1 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2FF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E65772042 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x335452476F7665726E6F7220697320746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3001 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3A4C JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF1 NUMBER PUSH2 0x27B6 JUMP JUMPDEST PUSH2 0x2FF7 PUSH2 0x3858 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x3072 JUMPI PUSH2 0x305C DUP4 PUSH2 0x2EAA PUSH1 0x1 DUP5 PUSH2 0x4B40 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x1BD8 JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30F9 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E65772076 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6F746572207265776172647320697320746865207A65726F2061646472657373 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3103 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 SWAP2 PUSH2 0x3145 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x4D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2425 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E65772056 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6542657474657250617373706F727420697320746865207A65726F2061646472 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x3204 PUSH2 0x1A6F JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3288 JUMPI PUSH2 0x3215 DUP2 PUSH2 0x18C5 JUMP JUMPDEST ISZERO PUSH2 0x3288 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A207468657265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2063616E206265206F6E6C79206F6E6520726F756E64207065722074696D6500 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x3291 DUP3 PUSH2 0x3A9B JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3314 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E65772058 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x324561726E4170707320697320746865207A65726F2061646472657373000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x331E PUSH2 0x22CE JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x6183E90E12923AE97651B48BE341FB5BCFD7BB63A987353DBCF962851011974D SWAP2 PUSH2 0x335D SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x4D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3390 DUP3 PUSH2 0xDFC JUMP JUMPDEST PUSH2 0x339C PUSH2 0xC7E DUP5 PUSH2 0x1CD5 JUMP JUMPDEST GT ISZERO SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH4 0xFFFFFFFF AND PUSH1 0x0 SUB PUSH2 0x33CE JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D8 PUSH2 0xE1F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5BEC4CB4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3415 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3439 SWAP2 SWAP1 PUSH2 0x4C3A JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x3469 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3473 PUSH2 0x377B JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xFFFFFFFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP7 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP2 SWAP3 POP PUSH32 0x7E3F7F0708A84DE9203036ABAA450DCCC85AD5FF52F78C170F3EDB55CF5E8828 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH4 0xFFFFFFFF NOT AND PUSH4 0xFFFFFFFF SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x34DD PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3CB7 JUMP JUMPDEST PUSH2 0x34EE PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x1304 DUP4 DUP4 DUP4 PUSH2 0x3CD6 JUMP JUMPDEST PUSH2 0x3501 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3D28 JUMP JUMPDEST PUSH2 0x3512 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3D39 JUMP JUMPDEST PUSH2 0x3523 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3D55 JUMP JUMPDEST PUSH2 0x3534 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3D89 JUMP JUMPDEST PUSH2 0x3545 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0xD17 DUP3 DUP3 PUSH2 0x3D91 JUMP JUMPDEST PUSH2 0x3557 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x263D JUMPDEST PUSH2 0x263D PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x356D PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x3A46B1A8 DUP6 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x359A SWAP3 SWAP2 SWAP1 PUSH2 0x4C21 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x35B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35DB SWAP2 SWAP1 PUSH2 0x4C3A JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x367A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x57 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A204261736520 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x616C6C6F636174696F6E2070657263656E74616765206D757374206265206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH23 0x7373207468616E206F7220657175616C20746F2031303 PUSH1 0x4C SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3684 PUSH2 0x2369 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH2 0x3698 DUP4 PUSH2 0x1744 JUMP JUMPDEST PUSH2 0x36A0 PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8E539E8C DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x36CD SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x36EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x370E SWAP2 SWAP1 PUSH2 0x4C3A JUMP JUMPDEST PUSH2 0x3718 SWAP2 SWAP1 PUSH2 0x4D1B JUMP JUMPDEST PUSH2 0xCE1 SWAP2 SWAP1 PUSH2 0x4CF9 JUMP JUMPDEST PUSH32 0x6EB1BF0A160CDF1B5E63F5E5C6B310F6C2542CD9E2A47FF1BC977C526DFAB500 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x9D53F06D PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xCE1 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xCE1 JUMP JUMPDEST PUSH32 0xD69D068053671881D25A4D751DCAD1E692749D9B24184F608CB1D01AF3A99900 SWAP1 JUMP JUMPDEST PUSH2 0x37A9 DUP3 DUP3 PUSH2 0x199C JUMP JUMPDEST PUSH2 0xD17 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4C21 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP3 GT ISZERO PUSH2 0x37F1 JUMPI DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37FB PUSH2 0x1BDF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3807 PUSH2 0x2E02 JUMP JUMPDEST SWAP1 POP PUSH2 0x3825 PUSH2 0x3814 PUSH2 0x19D2 JUMP JUMPDEST PUSH2 0x381D DUP7 PUSH2 0x3DAB JUMP JUMPDEST DUP4 SWAP2 SWAP1 PUSH2 0x3DDA JUMP JUMPDEST POP POP PUSH32 0x553476BF02EF2726E8CE5CED78D63E26E602E4A2257B1F559418E24B4633997 DUP3 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1B34 SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH2 0x3860 PUSH2 0x3DF5 JUMP JUMPDEST PUSH2 0x263D JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3886 DUP3 PUSH2 0x3E0F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x38CB JUMPI PUSH2 0x1304 DUP3 DUP3 PUSH2 0x3E6B JUMP JUMPDEST PUSH2 0xD17 PUSH2 0x3ED8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x38E0 DUP5 DUP5 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x38EF DUP7 DUP7 PUSH2 0x2258 JUMP JUMPDEST PUSH2 0x38F9 SWAP2 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x3914 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x3921 DUP5 PUSH2 0x3EF7 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x393A JUMPI PUSH2 0x393A PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3952 JUMPI PUSH2 0x3952 PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x396A JUMPI PUSH2 0x396A PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3982 JUMPI PUSH2 0x3982 PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x399A JUMPI PUSH2 0x399A PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x39B2 JUMPI PUSH2 0x39B2 PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x39CA JUMPI PUSH2 0x39CA PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x1BD8 DUP2 DUP3 DUP6 DUP2 PUSH2 0x39E4 JUMPI PUSH2 0x39E4 PUSH2 0x4CE3 JUMP JUMPDEST DIV PUSH2 0x3F8B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x3A44 JUMPI PUSH1 0x0 PUSH2 0x3A01 DUP5 DUP5 PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x3A30 JUMPI DUP1 SWAP3 POP PUSH2 0x3A3E JUMP JUMPDEST PUSH2 0x3A3B DUP2 PUSH1 0x1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x39ED JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A56 PUSH2 0x238D JUMP JUMPDEST SWAP1 POP PUSH32 0xA5B41E1BD59A5A33422F0B660829FF7686AED2198167061E3C6C21FDCC259F05 DUP2 PUSH1 0x2 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0x3A8D SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3AA6 PUSH2 0x23D5 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 DUP2 SLOAD PUSH2 0x3AB9 SWAP1 PUSH2 0x4B13 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP DUP1 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND ISZERO PUSH2 0x3B0F JUMPI DUP2 PUSH2 0x3AF1 DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x4C9B JUMP JUMPDEST PUSH1 0x1 DUP3 GT ISZERO PUSH2 0x3B26 JUMPI PUSH2 0x3B26 PUSH2 0x58F PUSH1 0x1 DUP5 PUSH2 0x4B40 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B30 PUSH2 0x112C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC04CFF19 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3B6D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3B95 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4DA3 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP3 MLOAD SWAP3 SWAP4 POP PUSH2 0x3BBB SWAP3 SWAP1 SWAP2 DUP5 ADD SWAP1 PUSH2 0x4217 JUMP JUMPDEST POP PUSH2 0x3BC5 DUP4 PUSH2 0x3FBC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BCF PUSH2 0x19D2 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x3BE3 PUSH2 0xCE7 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR DUP2 SSTORE SWAP1 SWAP2 POP PUSH2 0x3C18 DUP4 PUSH2 0x27B6 JUMP JUMPDEST DUP2 SLOAD PUSH6 0xFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH6 0xFFFFFFFFFFFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR DUP2 SSTORE PUSH2 0x3C45 DUP3 PUSH2 0x3FF5 JUMP JUMPDEST DUP2 SLOAD PUSH4 0xFFFFFFFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xD0 SHL MUL PUSH4 0xFFFFFFFF PUSH1 0xD0 SHL NOT SWAP1 SWAP2 AND OR DUP2 SSTORE PUSH32 0xED97F3DAA22D7F521CFAC2156E927C837565DD6980BD67CC6F7E53CC52EA09C8 DUP7 DUP9 DUP6 PUSH2 0x3C93 DUP7 DUP3 PUSH2 0x4CD0 JUMP JUMPDEST DUP9 PUSH1 0x40 MLOAD PUSH2 0x3CA5 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4E28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3CBF PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3CC9 PUSH2 0x2345 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x1304 DUP4 DUP3 PUSH2 0x4EA1 JUMP JUMPDEST PUSH2 0x3CDE PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3CE8 PUSH2 0x22CE JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND OR DUP3 SSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP3 AND SWAP6 DUP8 AND SWAP6 SWAP1 SWAP6 OR SWAP1 SWAP5 SSTORE PUSH1 0x2 ADD DUP1 SLOAD SWAP1 SWAP4 AND SWAP2 SWAP1 SWAP4 AND OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x3D30 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x33A4 JUMP JUMPDEST PUSH2 0x3D41 PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D4B PUSH2 0x238D JUMP JUMPDEST PUSH1 0x2 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x3D5D PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D67 PUSH2 0x3722 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x233C PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x3D99 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x3DA2 DUP3 PUSH2 0x35E3 JUMP JUMPDEST PUSH2 0xD17 DUP2 PUSH2 0x2EDC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x1C80 JUMPI PUSH1 0xD0 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4CBD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3DE8 DUP6 DUP6 DUP6 PUSH2 0x4021 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DFF PUSH2 0x23F9 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x3E3C JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x3E88 SWAP2 SWAP1 PUSH2 0x4F60 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3EC3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3EC8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x38F9 DUP6 DUP4 DUP4 PUSH2 0x419B JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x263D JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F0C JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F1E JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F30 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F42 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F54 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F66 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F78 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xCE1 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x3F9A JUMPI DUP2 PUSH2 0x1BD8 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3FB0 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x4CF9 JUMP JUMPDEST PUSH2 0x1BD8 SWAP1 DUP5 DUP5 AND PUSH2 0x4CD0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3FC6 PUSH2 0x2369 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SWAP1 MSTORE SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C80 JUMPI PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4CBD JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x4140 JUMPI PUSH1 0x0 PUSH2 0x403F DUP8 PUSH2 0x2EAA PUSH1 0x1 DUP6 PUSH2 0x4B40 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x4093 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x40DF JUMPI DUP5 PUSH2 0x40B6 DUP9 PUSH2 0x2EAA PUSH1 0x1 DUP7 PUSH2 0x4B40 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x4130 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x3DED SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x3DED JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x41B0 JUMPI PUSH2 0x41AB DUP3 PUSH2 0x41EE JUMP JUMPDEST PUSH2 0x1BD8 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x41C7 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x41E7 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST POP DUP1 PUSH2 0x1BD8 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x41FE JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x4252 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x4252 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x4237 JUMP JUMPDEST POP PUSH2 0x1C80 SWAP3 SWAP2 POP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1C80 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x425A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4294 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1BD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x42E0 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x42C8 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4301 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x42C5 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1BD8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x42E9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x43D7 JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x4390 DUP3 DUP8 ADD DUP3 PUSH2 0x42E9 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x43AA DUP4 DUP3 PUSH2 0x42E9 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x434F JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2339 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x440C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD8 DUP2 PUSH2 0x43E5 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x14C0 DUP2 PUSH2 0x43E5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4447 DUP2 PUSH2 0x43E5 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x4486 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0xCE1 DUP3 DUP5 PUSH2 0x4468 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x44AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x44F3 JUMPI PUSH2 0x44F3 PUSH2 0x44BA JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x44F3 JUMPI PUSH2 0x44F3 PUSH2 0x44BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4543 JUMPI PUSH2 0x4543 PUSH2 0x44BA JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4564 JUMPI PUSH2 0x4564 PUSH2 0x44BA JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4590 DUP2 PUSH2 0x43E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x45AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x45BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x45CF PUSH2 0x45CA DUP3 PUSH2 0x454B JUMP JUMPDEST PUSH2 0x451B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x45E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x461D JUMPI PUSH2 0x461D PUSH2 0x44BA JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4638 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4648 PUSH2 0x45CA DUP4 PUSH2 0x4604 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4667 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4682 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x466B JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x46A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP1 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x46C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x46D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x46E3 PUSH2 0x45CA DUP3 PUSH2 0x4604 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP11 DUP4 GT ISZERO PUSH2 0x4702 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x4720 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x4707 JUMP JUMPDEST SWAP7 POP POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x4746 DUP7 DUP3 DUP8 ADD PUSH2 0x4627 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4780 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4764 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1BD8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4750 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x47B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x47BC DUP2 PUSH2 0x43E5 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x14C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x47F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1BD8 DUP3 PUSH2 0x47CA JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x480A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x481A PUSH2 0x45CA DUP4 PUSH2 0x4604 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4839 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4682 JUMPI DUP1 CALLDATALOAD PUSH2 0x4850 DUP2 PUSH2 0x43E5 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x483D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x486F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4886 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x1A0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x489B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x48A3 PUSH2 0x44D0 JUMP JUMPDEST PUSH2 0x48AC DUP4 PUSH2 0x4417 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x48C4 PUSH1 0x40 DUP5 ADD PUSH2 0x47CA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x48D5 PUSH1 0x60 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x48E6 PUSH1 0x80 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x48F7 PUSH1 0xA0 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x490E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x491A DUP8 DUP3 DUP7 ADD PUSH2 0x47F9 JUMP JUMPDEST PUSH1 0xC0 DUP4 ADD MSTORE POP PUSH2 0x492C PUSH1 0xE0 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 SWAP2 POP PUSH2 0x4941 DUP3 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x120 SWAP2 POP PUSH2 0x4955 DUP3 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x140 DUP3 DUP2 ADD CALLDATALOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x160 DUP1 DUP4 ADD CALLDATALOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x180 SWAP2 DUP3 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x499B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x49BB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x14C0 DUP2 PUSH2 0x43E5 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x49F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x4A01 PUSH2 0x45CA DUP3 PUSH2 0x454B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4A16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35DB DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x42C5 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x14C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4A60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x4A74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A7C PUSH2 0x44F9 JUMP JUMPDEST DUP3 MLOAD DUP2 MSTORE PUSH2 0x4A8C PUSH1 0x20 DUP5 ADD PUSH2 0x49D7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x4AA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AAF DUP8 DUP3 DUP7 ADD PUSH2 0x49E2 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x4AC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AD3 DUP8 DUP3 DUP7 ADD PUSH2 0x49E2 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x4AEF PUSH1 0xA0 DUP5 ADD PUSH2 0x4A27 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x4B25 JUMPI PUSH2 0x4B25 PUSH2 0x4AFD JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xCE1 JUMPI PUSH2 0xCE1 PUSH2 0x4AFD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4B7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35DB DUP5 DUP3 DUP6 ADD PUSH2 0x49E2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4B9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4BA3 DUP4 PUSH2 0x4A27 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4BBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4BCB DUP6 DUP3 DUP7 ADD PUSH2 0x49E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x35DB SWAP1 DUP4 ADD DUP5 PUSH2 0x42E9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1BD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x24F5 JUMPI PUSH2 0x24F5 PUSH2 0x4AFD JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1BD8 DUP3 PUSH2 0x4A27 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x4CAF PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x4468 JUMP JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xCE1 JUMPI PUSH2 0xCE1 PUSH2 0x4AFD JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x4D16 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xCE1 JUMPI PUSH2 0xCE1 PUSH2 0x4AFD JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4D45 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x4750 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP5 MLOAD DUP1 DUP4 MSTORE DUP6 DUP3 ADD SWAP3 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4D7C JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4D60 JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4DB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x4DDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x4DEB PUSH2 0x45CA DUP3 PUSH2 0x4604 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP8 DUP4 GT ISZERO PUSH2 0x4E0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x2ED1 JUMPI DUP4 MLOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x4E0F JUMP JUMPDEST DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE DUP4 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2ED1 PUSH1 0xA0 DUP4 ADD DUP5 PUSH2 0x4750 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x4E82 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2250 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4E8E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4EBA JUMPI PUSH2 0x4EBA PUSH2 0x44BA JUMP JUMPDEST PUSH2 0x4ECE DUP2 PUSH2 0x4EC8 DUP5 SLOAD PUSH2 0x4987 JUMP JUMPDEST DUP5 PUSH2 0x4E5B JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4F03 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x4EEB JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2250 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4F32 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x4F13 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x4F50 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x4F72 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x42C5 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID PUSH18 0x840DC4906352362B0CDAF79870196C8E42AC 0xAF 0xAD 0xE7 0x2D 0x5D GAS PUSH14 0x59291253CEB1C7F505B2F371AE21 PUSH22 0xEE4913F4499E1F2633A7B5936321EED1CDAEB6115181 0xD2 PUSH20 0x7570706F72743D782D616C6C6F636174696F6E73 0x26 PUSH18 0x756F72756D3D6175746F189AB7A9244DF084 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC2B53661063988F1AD36E0A 0x49 0xD4 0xD9 0xA6 LOG3 LT PUSH7 0x52AAEED2BE542C DUP7 SWAP2 0xD5 CREATE2 REVERT AND DUP12 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7A2646970667358221220F0 PUSH22 0xD5C441B3C2D4C68C2291CBCB9A16E3A1B23F4F325DDB JUMPDEST PREVRANDAO 0xD REVERT CALLDATALOAD PUSH19 0xD36964736F6C63430008140033000000000000 ","sourceMap":"3393:7956:71:-:0;;;1171:4:3;1128:48;;5862:47:71;;;;;;;;;-1:-1:-1;5882:22:71;:20;:22::i;:::-;3393:7956;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;3393:7956:71;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_44886":{"entryPoint":5148,"id":44886,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_41092":{"entryPoint":null,"id":41092,"parameterSlots":0,"returnSlots":0},"@COUNTING_MODE_43523":{"entryPoint":7679,"id":43523,"parameterSlots":0,"returnSlots":1},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@GOVERNANCE_ROLE_41086":{"entryPoint":null,"id":41086,"parameterSlots":0,"returnSlots":0},"@ROUND_STARTER_ROLE_41074":{"entryPoint":null,"id":41074,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_41080":{"entryPoint":null,"id":41080,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":13659,"id":63,"parameterSlots":0,"returnSlots":0},"@__ExternalContracts_init_42614":{"entryPoint":13542,"id":42614,"parameterSlots":3,"returnSlots":0},"@__ExternalContracts_init_unchained_42653":{"entryPoint":15574,"id":42653,"parameterSlots":3,"returnSlots":0},"@__ExternalContracts_init_v2_42674":{"entryPoint":9245,"id":42674,"parameterSlots":1,"returnSlots":0},"@__ExternalContracts_init_v3_42695":{"entryPoint":12346,"id":42695,"parameterSlots":1,"returnSlots":0},"@__RoundEarningsSettings_init_43040":{"entryPoint":13629,"id":43040,"parameterSlots":2,"returnSlots":0},"@__RoundEarningsSettings_init_unchained_43058":{"entryPoint":15761,"id":43058,"parameterSlots":2,"returnSlots":0},"@__RoundFinalization_init_43269":{"entryPoint":13647,"id":43269,"parameterSlots":0,"returnSlots":0},"@__RoundFinalization_init_unchained_43275":{"entryPoint":null,"id":43275,"parameterSlots":0,"returnSlots":0},"@__RoundVotesCounting_init_43493":{"entryPoint":13578,"id":43493,"parameterSlots":1,"returnSlots":0},"@__RoundVotesCounting_init_unchained_43513":{"entryPoint":15673,"id":43513,"parameterSlots":1,"returnSlots":0},"@__RoundsStorage_init_44134":{"entryPoint":null,"id":44134,"parameterSlots":0,"returnSlots":0},"@__RoundsStorage_init_unchained_44140":{"entryPoint":null,"id":44140,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":null,"id":1786,"parameterSlots":0,"returnSlots":0},"@__VotesQuorumFraction_init_44558":{"entryPoint":13612,"id":44558,"parameterSlots":1,"returnSlots":0},"@__VotesQuorumFraction_init_unchained_44570":{"entryPoint":15753,"id":44570,"parameterSlots":1,"returnSlots":0},"@__Votes_init_44793":{"entryPoint":13595,"id":44793,"parameterSlots":1,"returnSlots":0},"@__Votes_init_unchained_44819":{"entryPoint":15701,"id":44819,"parameterSlots":1,"returnSlots":0},"@__VotingSettings_init_44953":{"entryPoint":13561,"id":44953,"parameterSlots":1,"returnSlots":0},"@__VotingSettings_init_unchained_44965":{"entryPoint":15656,"id":44965,"parameterSlots":1,"returnSlots":0},"@__XAllocationVotingGovernor_init_41984":{"entryPoint":13525,"id":41984,"parameterSlots":1,"returnSlots":0},"@__XAllocationVotingGovernor_init_unchained_42004":{"entryPoint":15543,"id":42004,"parameterSlots":1,"returnSlots":0},"@_authorizeUpgrade_41559":{"entryPoint":9791,"id":41559,"parameterSlots":1,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":14424,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":16088,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":9995,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":9624,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":9007,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":14239,"id":150,"parameterSlots":2,"returnSlots":0},"@_countVote_43835":{"entryPoint":10212,"id":43835,"parameterSlots":4,"returnSlots":0},"@_encodeStateBitmap_42349":{"entryPoint":10068,"id":42349,"parameterSlots":1,"returnSlots":1},"@_getAccessControlStorage_46":{"entryPoint":9137,"id":46,"parameterSlots":0,"returnSlots":1},"@_getEarningsSettingsStorage_43024":{"entryPoint":9065,"id":43024,"parameterSlots":0,"returnSlots":1},"@_getExternalContractsStorage_42568":{"entryPoint":8910,"id":42568,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":9209,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getRoundFinalizationStorage_43259":{"entryPoint":9468,"id":43259,"parameterSlots":0,"returnSlots":1},"@_getRoundVotesCountingStorage_43471":{"entryPoint":9101,"id":43471,"parameterSlots":0,"returnSlots":1},"@_getRoundsStorageStorage_44124":{"entryPoint":9173,"id":44124,"parameterSlots":0,"returnSlots":1},"@_getVotesQuorumFractionStorage_44532":{"entryPoint":11778,"id":44532,"parameterSlots":0,"returnSlots":1},"@_getVotesStorage_44780":{"entryPoint":14114,"id":44780,"parameterSlots":0,"returnSlots":1},"@_getVotes_44907":{"entryPoint":13667,"id":44907,"parameterSlots":3,"returnSlots":1},"@_getVotingPower_43863":{"entryPoint":14547,"id":43863,"parameterSlots":2,"returnSlots":1},"@_getVotingSettingsStorage_44934":{"entryPoint":14203,"id":44934,"parameterSlots":0,"returnSlots":1},"@_getXAllocationVotingGovernorStorage_41971":{"entryPoint":9029,"id":41971,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":9300,"id":315,"parameterSlots":2,"returnSlots":1},"@_insert_9806":{"entryPoint":16417,"id":9806,"parameterSlots":3,"returnSlots":2},"@_isInitializing_1722":{"entryPoint":15861,"id":1722,"parameterSlots":0,"returnSlots":1},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_quorumReached_44042":{"entryPoint":13189,"id":44042,"parameterSlots":1,"returnSlots":1},"@_revert_5583":{"entryPoint":16878,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":9504,"id":361,"parameterSlots":2,"returnSlots":1},"@_setAppSharesCap_43182":{"entryPoint":11996,"id":43182,"parameterSlots":1,"returnSlots":0},"@_setB3TRGovernor_42987":{"entryPoint":12155,"id":42987,"parameterSlots":1,"returnSlots":0},"@_setBaseAllocationPercentage_43156":{"entryPoint":13795,"id":43156,"parameterSlots":1,"returnSlots":0},"@_setEmissions_42831":{"entryPoint":11540,"id":42831,"parameterSlots":1,"returnSlots":0},"@_setImplementation_4791":{"entryPoint":15887,"id":4791,"parameterSlots":1,"returnSlots":0},"@_setVeBetterPassport_42954":{"entryPoint":12656,"id":42954,"parameterSlots":1,"returnSlots":0},"@_setVoterRewards_42921":{"entryPoint":12411,"id":42921,"parameterSlots":1,"returnSlots":0},"@_setVotingPeriod_45032":{"entryPoint":13220,"id":45032,"parameterSlots":1,"returnSlots":0},"@_setVotingThreshold_43559":{"entryPoint":14924,"id":43559,"parameterSlots":1,"returnSlots":0},"@_setX2EarnApps_42876":{"entryPoint":12952,"id":42876,"parameterSlots":1,"returnSlots":0},"@_snapshotRoundEarningsCap_43214":{"entryPoint":16316,"id":43214,"parameterSlots":1,"returnSlots":0},"@_startNewRound_44270":{"entryPoint":15003,"id":44270,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_updateQuorumNumerator_44744":{"entryPoint":14282,"id":44744,"parameterSlots":1,"returnSlots":0},"@_upgradeToAndCallUUPS_1913":{"entryPoint":9815,"id":1913,"parameterSlots":2,"returnSlots":0},"@_upperBinaryLookup_9858":{"entryPoint":14826,"id":9858,"parameterSlots":4,"returnSlots":1},"@_validateStateBitmap_42157":{"entryPoint":10103,"id":42157,"parameterSlots":2,"returnSlots":1},"@_voteSucceeded_44056":{"entryPoint":null,"id":44056,"parameterSlots":1,"returnSlots":1},"@appSharesCap_43090":{"entryPoint":7238,"id":43090,"parameterSlots":0,"returnSlots":1},"@average_6189":{"entryPoint":16289,"id":6189,"parameterSlots":2,"returnSlots":1},"@b3trGovernor_42784":{"entryPoint":6163,"id":42784,"parameterSlots":0,"returnSlots":1},"@baseAllocationPercentage_43074":{"entryPoint":6410,"id":43074,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":12335,"id":11429,"parameterSlots":0,"returnSlots":1},"@castVote_42118":{"entryPoint":5414,"id":42118,"parameterSlots":3,"returnSlots":0},"@clock_44862":{"entryPoint":6610,"id":44862,"parameterSlots":0,"returnSlots":1},"@currentRoundDeadline_44333":{"entryPoint":5929,"id":44333,"parameterSlots":0,"returnSlots":1},"@currentRoundId_44308":{"entryPoint":6767,"id":44308,"parameterSlots":0,"returnSlots":1},"@currentRoundSnapshot_44321":{"entryPoint":5883,"id":44321,"parameterSlots":0,"returnSlots":1},"@emissions_42731":{"entryPoint":3615,"id":42731,"parameterSlots":0,"returnSlots":1},"@finalizeRound_43372":{"entryPoint":4458,"id":43372,"parameterSlots":1,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":15979,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getAppIdsOfRound_44426":{"entryPoint":6226,"id":44426,"parameterSlots":1,"returnSlots":1},"@getAppVotesQF_43915":{"entryPoint":7300,"id":43915,"parameterSlots":2,"returnSlots":1},"@getAppVotes_43889":{"entryPoint":5105,"id":43889,"parameterSlots":2,"returnSlots":1},"@getAppsOfRound_44496":{"entryPoint":3677,"id":44496,"parameterSlots":1,"returnSlots":1},"@getDepositVotingPower_42518":{"entryPoint":7008,"id":42518,"parameterSlots":2,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":3645,"id":171,"parameterSlots":1,"returnSlots":1},"@getRoundAppSharesCap_43130":{"entryPoint":3516,"id":43130,"parameterSlots":1,"returnSlots":1},"@getRoundBaseAllocationPercentage_43110":{"entryPoint":3548,"id":43110,"parameterSlots":1,"returnSlots":1},"@getRound_44291":{"entryPoint":6428,"id":44291,"parameterSlots":1,"returnSlots":1},"@getVotes_42309":{"entryPoint":8792,"id":42309,"parameterSlots":2,"returnSlots":1},"@grantRole_190":{"entryPoint":4333,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":6556,"id":116,"parameterSlots":2,"returnSlots":1},"@hasVotedOnce_44076":{"entryPoint":6721,"id":44076,"parameterSlots":1,"returnSlots":1},"@hasVoted_44022":{"entryPoint":5009,"id":44022,"parameterSlots":2,"returnSlots":1},"@initializeV2_41303":{"entryPoint":4158,"id":41303,"parameterSlots":1,"returnSlots":0},"@initializeV7_41321":{"entryPoint":6778,"id":41321,"parameterSlots":1,"returnSlots":0},"@initialize_41289":{"entryPoint":7744,"id":41289,"parameterSlots":1,"returnSlots":0},"@isActive_42222":{"entryPoint":6341,"id":42222,"parameterSlots":1,"returnSlots":1},"@isEligibleForVote_42329":{"entryPoint":7551,"id":42329,"parameterSlots":2,"returnSlots":1},"@isFinalized_43412":{"entryPoint":4423,"id":43412,"parameterSlots":1,"returnSlots":1},"@latestSucceededRoundId_43392":{"entryPoint":4367,"id":43392,"parameterSlots":1,"returnSlots":1},"@latest_9634":{"entryPoint":12354,"id":9634,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":16119,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":16267,"id":6166,"parameterSlots":2,"returnSlots":1},"@name_42196":{"entryPoint":3355,"id":42196,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":5344,"id":1804,"parameterSlots":0,"returnSlots":1},"@push_9437":{"entryPoint":15834,"id":9437,"parameterSlots":3,"returnSlots":2},"@quorumDenominator_44658":{"entryPoint":null,"id":44658,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_44588":{"entryPoint":7135,"id":44588,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_44649":{"entryPoint":5956,"id":44649,"parameterSlots":1,"returnSlots":1},"@quorumReached_42292":{"entryPoint":7512,"id":42292,"parameterSlots":1,"returnSlots":1},"@quorum_41533":{"entryPoint":8853,"id":41533,"parameterSlots":1,"returnSlots":1},"@quorum_44682":{"entryPoint":13963,"id":44682,"parameterSlots":1,"returnSlots":1},"@renounceRole_232":{"entryPoint":4817,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":7523,"id":209,"parameterSlots":2,"returnSlots":0},"@roundDeadline_44383":{"entryPoint":7428,"id":44383,"parameterSlots":1,"returnSlots":1},"@roundProposer_44404":{"entryPoint":5373,"id":44404,"parameterSlots":1,"returnSlots":1},"@roundQuorum_41504":{"entryPoint":5942,"id":41504,"parameterSlots":1,"returnSlots":1},"@roundSnapshot_44355":{"entryPoint":7381,"id":44355,"parameterSlots":1,"returnSlots":1},"@setAppSharesCap_41413":{"entryPoint":6130,"id":41413,"parameterSlots":1,"returnSlots":0},"@setB3TRGovernor_41489":{"entryPoint":6193,"id":41489,"parameterSlots":1,"returnSlots":0},"@setBaseAllocationPercentage_41428":{"entryPoint":8820,"id":41428,"parameterSlots":1,"returnSlots":0},"@setEmissionsAddress_41351":{"entryPoint":5896,"id":41351,"parameterSlots":1,"returnSlots":0},"@setVeBetterPassport_41474":{"entryPoint":7205,"id":41474,"parameterSlots":1,"returnSlots":0},"@setVoterRewardsAddress_41366":{"entryPoint":7172,"id":41366,"parameterSlots":1,"returnSlots":0},"@setVotingPeriod_41442":{"entryPoint":7711,"id":41442,"parameterSlots":1,"returnSlots":0},"@setVotingThreshold_41383":{"entryPoint":6377,"id":41383,"parameterSlots":1,"returnSlots":0},"@setVotingThreshold_43534":{"entryPoint":12326,"id":43534,"parameterSlots":1,"returnSlots":0},"@setX2EarnAppsAddress_41336":{"entryPoint":7348,"id":41336,"parameterSlots":1,"returnSlots":0},"@sqrt_6504":{"entryPoint":14594,"id":6504,"parameterSlots":1,"returnSlots":1},"@startNewRound_41398":{"entryPoint":7259,"id":41398,"parameterSlots":0,"returnSlots":1},"@startNewRound_42038":{"entryPoint":12792,"id":42038,"parameterSlots":0,"returnSlots":1},"@state_42279":{"entryPoint":4873,"id":42279,"parameterSlots":1,"returnSlots":1},"@supportsInterface_41549":{"entryPoint":3286,"id":41549,"parameterSlots":1,"returnSlots":1},"@supportsInterface_42180":{"entryPoint":14150,"id":42180,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":8946,"id":91,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":15787,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint32_7826":{"entryPoint":16373,"id":7826,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":10166,"id":7770,"parameterSlots":1,"returnSlots":1},"@token_44836":{"entryPoint":8899,"id":44836,"parameterSlots":0,"returnSlots":1},"@totalVoters_43981":{"entryPoint":5070,"id":43981,"parameterSlots":1,"returnSlots":1},"@totalVotesQF_43937":{"entryPoint":8864,"id":43937,"parameterSlots":1,"returnSlots":1},"@totalVotes_43959":{"entryPoint":3580,"id":43959,"parameterSlots":1,"returnSlots":1},"@updateQuorumNumerator_41459":{"entryPoint":3318,"id":41459,"parameterSlots":1,"returnSlots":0},"@updateQuorumNumerator_44693":{"entryPoint":9020,"id":44693,"parameterSlots":1,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":5317,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":14461,"id":4825,"parameterSlots":2,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":11814,"id":9604,"parameterSlots":2,"returnSlots":1},"@veBetterPassport_42766":{"entryPoint":3256,"id":42766,"parameterSlots":0,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":16795,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_42205":{"entryPoint":null,"id":42205,"parameterSlots":0,"returnSlots":1},"@voterRewards_42749":{"entryPoint":6978,"id":42749,"parameterSlots":0,"returnSlots":1},"@votingPeriod_41517":{"entryPoint":3303,"id":41517,"parameterSlots":0,"returnSlots":1},"@votingPeriod_44982":{"entryPoint":8983,"id":44982,"parameterSlots":0,"returnSlots":1},"@votingThreshold_43997":{"entryPoint":6109,"id":43997,"parameterSlots":0,"returnSlots":1},"@x2EarnApps_42713":{"entryPoint":4396,"id":42713,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":17431,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_address_fromMemory":{"entryPoint":18903,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_address_dyn":{"entryPoint":18425,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":17959,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bool_fromMemory":{"entryPoint":18983,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_fromMemory":{"entryPoint":18914,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":17778,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":18334,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory":{"entryPoint":19875,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":19584,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory":{"entryPoint":19335,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":17442,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":17026,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IEmissions_$64454":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601":{"entryPoint":17402,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVoterRewards_$69092":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IX2EarnApps_$69989":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":19283,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_fromMemory":{"entryPoint":18999,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_InitializationData_$41125_memory_ptr":{"entryPoint":18525,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":17068,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":19514,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":18061,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_bytes32":{"entryPoint":17560,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint32":{"entryPoint":18398,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":19449,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint32":{"entryPoint":18378,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_array_bytes32_dyn":{"entryPoint":18256,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_enum_RoundState":{"entryPoint":17512,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_string":{"entryPoint":17129,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":20320,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":19849,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed":{"entryPoint":19413,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":19489,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":18315,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":19762,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":17192,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":19570,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IERC5805_$4537__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed":{"entryPoint":17006,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_RoundState_$41575__to_t_uint8__fromStack_reversed":{"entryPoint":17546,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_0_by_1__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":19645,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":17173,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_4003a3fa74a515e59cb978031571e1994a0914124c3966664c8a522f1b7937e6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_49f06960ff76038c09832fd4be8f0e505c74f7191ccd279c539729703509a2b1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a3a82a592b1176cd5f7dcbaef2dde3d974f96f0ff9e637df62274c0edf10fec5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_bacfbb03a52a2d8761676368eb7289dd2a665b6cc40d53c4c6cc748b9a7a7c85__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f66a2b1924848ed0d81ee154fe156876e1a702c5026c94c323b440f9f60d79dd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_RoundCore_$44099_memory_ptr__to_t_struct$_RoundCore_$44099_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":20008,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_RoundState_$41575_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":19611,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint32__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint32_t_uint32__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":19244,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":17691,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_5382":{"entryPoint":17616,"id":null,"parameterSlots":0,"returnSlots":1},"allocate_memory_5384":{"entryPoint":17657,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_array_bytes32_dyn":{"entryPoint":17924,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_bytes":{"entryPoint":17739,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":19664,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint48":{"entryPoint":19539,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":19705,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":19739,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":19264,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":20059,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":20129,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":17093,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":18823,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":19219,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":19197,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":19683,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":17490,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":18881,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":17594,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_contract_IVeBetterPassport":{"entryPoint":17381,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:38540:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"142:102:150","statements":[{"nodeType":"YulAssignment","src":"152:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"164:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"175:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"160:3:150"},"nodeType":"YulFunctionCall","src":"160:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"152:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"194:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"209:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"230:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"221:3:150"},"nodeType":"YulFunctionCall","src":"221:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"234:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"217:3:150"},"nodeType":"YulFunctionCall","src":"217:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"205:3:150"},"nodeType":"YulFunctionCall","src":"205:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"187:6:150"},"nodeType":"YulFunctionCall","src":"187:51:150"},"nodeType":"YulExpressionStatement","src":"187:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"111:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"122:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"133:4:150","type":""}],"src":"14:230:150"},{"body":{"nodeType":"YulBlock","src":"318:217:150","statements":[{"body":{"nodeType":"YulBlock","src":"364:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"373:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"376:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"366:6:150"},"nodeType":"YulFunctionCall","src":"366:12:150"},"nodeType":"YulExpressionStatement","src":"366:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"339:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"348:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"335:3:150"},"nodeType":"YulFunctionCall","src":"335:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"360:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"331:3:150"},"nodeType":"YulFunctionCall","src":"331:32:150"},"nodeType":"YulIf","src":"328:52:150"},{"nodeType":"YulVariableDeclaration","src":"389:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"415:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"402:12:150"},"nodeType":"YulFunctionCall","src":"402:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"393:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"489:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"498:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"501:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"491:6:150"},"nodeType":"YulFunctionCall","src":"491:12:150"},"nodeType":"YulExpressionStatement","src":"491:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"447:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"458:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"469:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"474:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"465:3:150"},"nodeType":"YulFunctionCall","src":"465:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"454:3:150"},"nodeType":"YulFunctionCall","src":"454:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"444:2:150"},"nodeType":"YulFunctionCall","src":"444:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"437:6:150"},"nodeType":"YulFunctionCall","src":"437:51:150"},"nodeType":"YulIf","src":"434:71:150"},{"nodeType":"YulAssignment","src":"514:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"524:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"514:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"284:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"295:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"307:6:150","type":""}],"src":"249:286:150"},{"body":{"nodeType":"YulBlock","src":"635:92:150","statements":[{"nodeType":"YulAssignment","src":"645:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"657:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"668:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"653:3:150"},"nodeType":"YulFunctionCall","src":"653:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"645:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"687:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"712:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"705:6:150"},"nodeType":"YulFunctionCall","src":"705:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"698:6:150"},"nodeType":"YulFunctionCall","src":"698:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"680:6:150"},"nodeType":"YulFunctionCall","src":"680:41:150"},"nodeType":"YulExpressionStatement","src":"680:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"604:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"615:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"626:4:150","type":""}],"src":"540:187:150"},{"body":{"nodeType":"YulBlock","src":"833:76:150","statements":[{"nodeType":"YulAssignment","src":"843:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"855:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"866:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"851:3:150"},"nodeType":"YulFunctionCall","src":"851:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"843:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"885:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"896:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"878:6:150"},"nodeType":"YulFunctionCall","src":"878:25:150"},"nodeType":"YulExpressionStatement","src":"878:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"802:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"813:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"824:4:150","type":""}],"src":"732:177:150"},{"body":{"nodeType":"YulBlock","src":"984:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1030:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1039:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1042:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1032:6:150"},"nodeType":"YulFunctionCall","src":"1032:12:150"},"nodeType":"YulExpressionStatement","src":"1032:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1005:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1014:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1001:3:150"},"nodeType":"YulFunctionCall","src":"1001:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1026:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"997:3:150"},"nodeType":"YulFunctionCall","src":"997:32:150"},"nodeType":"YulIf","src":"994:52:150"},{"nodeType":"YulAssignment","src":"1055:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1078:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1065:12:150"},"nodeType":"YulFunctionCall","src":"1065:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1055:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"950:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"961:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"973:6:150","type":""}],"src":"914:180:150"},{"body":{"nodeType":"YulBlock","src":"1165:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1175:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1184:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1179:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1244:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1269:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1274:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1265:3:150"},"nodeType":"YulFunctionCall","src":"1265:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1288:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1293:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1284:3:150"},"nodeType":"YulFunctionCall","src":"1284:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1278:5:150"},"nodeType":"YulFunctionCall","src":"1278:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1258:6:150"},"nodeType":"YulFunctionCall","src":"1258:39:150"},"nodeType":"YulExpressionStatement","src":"1258:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1205:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1208:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1202:2:150"},"nodeType":"YulFunctionCall","src":"1202:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1216:19:150","statements":[{"nodeType":"YulAssignment","src":"1218:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1227:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1230:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1223:3:150"},"nodeType":"YulFunctionCall","src":"1223:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1218:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1198:3:150","statements":[]},"src":"1194:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1327:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1332:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1323:3:150"},"nodeType":"YulFunctionCall","src":"1323:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"1341:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1316:6:150"},"nodeType":"YulFunctionCall","src":"1316:27:150"},"nodeType":"YulExpressionStatement","src":"1316:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1143:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1148:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1153:6:150","type":""}],"src":"1099:250:150"},{"body":{"nodeType":"YulBlock","src":"1404:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1414:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1434:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1428:5:150"},"nodeType":"YulFunctionCall","src":"1428:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1418:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1456:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1461:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1449:6:150"},"nodeType":"YulFunctionCall","src":"1449:19:150"},"nodeType":"YulExpressionStatement","src":"1449:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1516:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1523:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1512:3:150"},"nodeType":"YulFunctionCall","src":"1512:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1534:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"1539:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1530:3:150"},"nodeType":"YulFunctionCall","src":"1530:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"1546:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"1477:34:150"},"nodeType":"YulFunctionCall","src":"1477:76:150"},"nodeType":"YulExpressionStatement","src":"1477:76:150"},{"nodeType":"YulAssignment","src":"1562:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1577:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1590:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1598:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1586:3:150"},"nodeType":"YulFunctionCall","src":"1586:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1607:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1603:3:150"},"nodeType":"YulFunctionCall","src":"1603:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1582:3:150"},"nodeType":"YulFunctionCall","src":"1582:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1573:3:150"},"nodeType":"YulFunctionCall","src":"1573:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"1614:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1569:3:150"},"nodeType":"YulFunctionCall","src":"1569:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1562:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1381:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1388:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1396:3:150","type":""}],"src":"1354:271:150"},{"body":{"nodeType":"YulBlock","src":"1751:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1768:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1779:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1761:6:150"},"nodeType":"YulFunctionCall","src":"1761:21:150"},"nodeType":"YulExpressionStatement","src":"1761:21:150"},{"nodeType":"YulAssignment","src":"1791:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1817:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1829:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1840:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1825:3:150"},"nodeType":"YulFunctionCall","src":"1825:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1799:17:150"},"nodeType":"YulFunctionCall","src":"1799:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1791:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1720:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1731:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1742:4:150","type":""}],"src":"1630:220:150"},{"body":{"nodeType":"YulBlock","src":"1976:102:150","statements":[{"nodeType":"YulAssignment","src":"1986:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1998:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2009:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:150"},"nodeType":"YulFunctionCall","src":"1994:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1986:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2028:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2043:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2059:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2064:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2055:3:150"},"nodeType":"YulFunctionCall","src":"2055:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2068:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2051:3:150"},"nodeType":"YulFunctionCall","src":"2051:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2039:3:150"},"nodeType":"YulFunctionCall","src":"2039:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2021:6:150"},"nodeType":"YulFunctionCall","src":"2021:51:150"},"nodeType":"YulExpressionStatement","src":"2021:51:150"}]},"name":"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1945:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1956:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1967:4:150","type":""}],"src":"1855:223:150"},{"body":{"nodeType":"YulBlock","src":"2153:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"2199:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2208:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2211:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2201:6:150"},"nodeType":"YulFunctionCall","src":"2201:12:150"},"nodeType":"YulExpressionStatement","src":"2201:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2174:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2183:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2170:3:150"},"nodeType":"YulFunctionCall","src":"2170:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2195:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2166:3:150"},"nodeType":"YulFunctionCall","src":"2166:32:150"},"nodeType":"YulIf","src":"2163:52:150"},{"nodeType":"YulAssignment","src":"2224:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2247:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2234:12:150"},"nodeType":"YulFunctionCall","src":"2234:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2224:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2119:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2130:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2142:6:150","type":""}],"src":"2083:180:150"},{"body":{"nodeType":"YulBlock","src":"2369:76:150","statements":[{"nodeType":"YulAssignment","src":"2379:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2391:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2402:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2387:3:150"},"nodeType":"YulFunctionCall","src":"2387:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2379:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2421:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"2432:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2414:6:150"},"nodeType":"YulFunctionCall","src":"2414:25:150"},"nodeType":"YulExpressionStatement","src":"2414:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2338:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2349:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2360:4:150","type":""}],"src":"2268:177:150"},{"body":{"nodeType":"YulBlock","src":"2687:1355:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2697:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2707:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2701:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2718:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2736:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2747:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2732:3:150"},"nodeType":"YulFunctionCall","src":"2732:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"2722:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2766:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2777:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2759:6:150"},"nodeType":"YulFunctionCall","src":"2759:21:150"},"nodeType":"YulExpressionStatement","src":"2759:21:150"},{"nodeType":"YulVariableDeclaration","src":"2789:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"2800:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"2793:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2815:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2835:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2829:5:150"},"nodeType":"YulFunctionCall","src":"2829:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2819:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"2858:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"2866:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2851:6:150"},"nodeType":"YulFunctionCall","src":"2851:22:150"},"nodeType":"YulExpressionStatement","src":"2851:22:150"},{"nodeType":"YulVariableDeclaration","src":"2882:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2892:2:150","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2886:2:150","type":""}]},{"nodeType":"YulAssignment","src":"2903:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2914:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2925:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2910:3:150"},"nodeType":"YulFunctionCall","src":"2910:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2903:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2937:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2959:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2974:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"2977:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2970:3:150"},"nodeType":"YulFunctionCall","src":"2970:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2955:3:150"},"nodeType":"YulFunctionCall","src":"2955:30:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2987:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2951:3:150"},"nodeType":"YulFunctionCall","src":"2951:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"2941:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2999:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3017:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3025:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3013:3:150"},"nodeType":"YulFunctionCall","src":"3013:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"3003:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3037:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3046:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3041:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3105:908:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3126:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3139:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3147:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3135:3:150"},"nodeType":"YulFunctionCall","src":"3135:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3163:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3159:3:150"},"nodeType":"YulFunctionCall","src":"3159:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3131:3:150"},"nodeType":"YulFunctionCall","src":"3131:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3119:6:150"},"nodeType":"YulFunctionCall","src":"3119:49:150"},"nodeType":"YulExpressionStatement","src":"3119:49:150"},{"nodeType":"YulVariableDeclaration","src":"3181:23:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3197:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3191:5:150"},"nodeType":"YulFunctionCall","src":"3191:13:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3185:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3217:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3227:4:150","type":"","value":"0xc0"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"3221:2:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3251:6:150"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3265:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3259:5:150"},"nodeType":"YulFunctionCall","src":"3259:9:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3244:6:150"},"nodeType":"YulFunctionCall","src":"3244:25:150"},"nodeType":"YulExpressionStatement","src":"3244:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3293:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3301:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3289:3:150"},"nodeType":"YulFunctionCall","src":"3289:15:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3320:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3324:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3316:3:150"},"nodeType":"YulFunctionCall","src":"3316:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3310:5:150"},"nodeType":"YulFunctionCall","src":"3310:18:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3338:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3343:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3334:3:150"},"nodeType":"YulFunctionCall","src":"3334:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3347:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3330:3:150"},"nodeType":"YulFunctionCall","src":"3330:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3306:3:150"},"nodeType":"YulFunctionCall","src":"3306:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3282:6:150"},"nodeType":"YulFunctionCall","src":"3282:69:150"},"nodeType":"YulExpressionStatement","src":"3282:69:150"},{"nodeType":"YulVariableDeclaration","src":"3364:38:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3394:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3398:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3390:3:150"},"nodeType":"YulFunctionCall","src":"3390:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3384:5:150"},"nodeType":"YulFunctionCall","src":"3384:18:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"3368:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3426:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3434:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3422:3:150"},"nodeType":"YulFunctionCall","src":"3422:15:150"},{"name":"_4","nodeType":"YulIdentifier","src":"3439:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3415:6:150"},"nodeType":"YulFunctionCall","src":"3415:27:150"},"nodeType":"YulExpressionStatement","src":"3415:27:150"},{"nodeType":"YulVariableDeclaration","src":"3455:62:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"3487:12:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3505:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"3513:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3501:3:150"},"nodeType":"YulFunctionCall","src":"3501:15:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3469:17:150"},"nodeType":"YulFunctionCall","src":"3469:48:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"3459:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3530:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3540:4:150","type":"","value":"0x60"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"3534:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3557:40:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3589:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"3593:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3585:3:150"},"nodeType":"YulFunctionCall","src":"3585:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3579:5:150"},"nodeType":"YulFunctionCall","src":"3579:18:150"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"3561:14:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3621:6:150"},{"name":"_5","nodeType":"YulIdentifier","src":"3629:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3617:3:150"},"nodeType":"YulFunctionCall","src":"3617:15:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"3638:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"3646:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3634:3:150"},"nodeType":"YulFunctionCall","src":"3634:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3610:6:150"},"nodeType":"YulFunctionCall","src":"3610:44:150"},"nodeType":"YulExpressionStatement","src":"3610:44:150"},{"nodeType":"YulVariableDeclaration","src":"3667:55:150","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"3699:14:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"3715:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3681:17:150"},"nodeType":"YulFunctionCall","src":"3681:41:150"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"3671:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3735:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3745:4:150","type":"","value":"0x80"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"3739:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3773:6:150"},{"name":"_6","nodeType":"YulIdentifier","src":"3781:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3769:3:150"},"nodeType":"YulFunctionCall","src":"3769:15:150"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3796:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"3800:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3792:3:150"},"nodeType":"YulFunctionCall","src":"3792:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3786:5:150"},"nodeType":"YulFunctionCall","src":"3786:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3762:6:150"},"nodeType":"YulFunctionCall","src":"3762:43:150"},"nodeType":"YulExpressionStatement","src":"3762:43:150"},{"nodeType":"YulVariableDeclaration","src":"3818:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3828:4:150","type":"","value":"0xa0"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"3822:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3856:6:150"},{"name":"_7","nodeType":"YulIdentifier","src":"3864:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3852:3:150"},"nodeType":"YulFunctionCall","src":"3852:15:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3893:2:150"},{"name":"_7","nodeType":"YulIdentifier","src":"3897:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3889:3:150"},"nodeType":"YulFunctionCall","src":"3889:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3883:5:150"},"nodeType":"YulFunctionCall","src":"3883:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3876:6:150"},"nodeType":"YulFunctionCall","src":"3876:26:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3869:6:150"},"nodeType":"YulFunctionCall","src":"3869:34:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3845:6:150"},"nodeType":"YulFunctionCall","src":"3845:59:150"},"nodeType":"YulExpressionStatement","src":"3845:59:150"},{"nodeType":"YulAssignment","src":"3917:16:150","value":{"name":"tail_4","nodeType":"YulIdentifier","src":"3927:6:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3917:6:150"}]},{"nodeType":"YulAssignment","src":"3946:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3960:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3968:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3956:3:150"},"nodeType":"YulFunctionCall","src":"3956:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3946:6:150"}]},{"nodeType":"YulAssignment","src":"3984:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3995:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4000:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3991:3:150"},"nodeType":"YulFunctionCall","src":"3991:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3984:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3067:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"3070:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3064:2:150"},"nodeType":"YulFunctionCall","src":"3064:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3078:18:150","statements":[{"nodeType":"YulAssignment","src":"3080:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3089:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"3092:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3085:3:150"},"nodeType":"YulFunctionCall","src":"3085:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3080:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3060:3:150","statements":[]},"src":"3056:957:150"},{"nodeType":"YulAssignment","src":"4022:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"4030:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4022:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2656:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2667:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2678:4:150","type":""}],"src":"2450:1592:150"},{"body":{"nodeType":"YulBlock","src":"4111:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"4175:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4184:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4187:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4177:6:150"},"nodeType":"YulFunctionCall","src":"4177:12:150"},"nodeType":"YulExpressionStatement","src":"4177:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4134:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4145:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4160:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4165:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4156:3:150"},"nodeType":"YulFunctionCall","src":"4156:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4169:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4152:3:150"},"nodeType":"YulFunctionCall","src":"4152:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4141:3:150"},"nodeType":"YulFunctionCall","src":"4141:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4131:2:150"},"nodeType":"YulFunctionCall","src":"4131:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4124:6:150"},"nodeType":"YulFunctionCall","src":"4124:50:150"},"nodeType":"YulIf","src":"4121:70:150"}]},"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4100:5:150","type":""}],"src":"4047:150:150"},{"body":{"nodeType":"YulBlock","src":"4299:196:150","statements":[{"body":{"nodeType":"YulBlock","src":"4345:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4354:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4357:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4347:6:150"},"nodeType":"YulFunctionCall","src":"4347:12:150"},"nodeType":"YulExpressionStatement","src":"4347:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4320:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4329:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4316:3:150"},"nodeType":"YulFunctionCall","src":"4316:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4341:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4312:3:150"},"nodeType":"YulFunctionCall","src":"4312:32:150"},"nodeType":"YulIf","src":"4309:52:150"},{"nodeType":"YulVariableDeclaration","src":"4370:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4396:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4383:12:150"},"nodeType":"YulFunctionCall","src":"4383:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4374:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4459:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"4415:43:150"},"nodeType":"YulFunctionCall","src":"4415:50:150"},"nodeType":"YulExpressionStatement","src":"4415:50:150"},{"nodeType":"YulAssignment","src":"4474:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4484:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4474:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4265:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4276:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4288:6:150","type":""}],"src":"4202:293:150"},{"body":{"nodeType":"YulBlock","src":"4549:104:150","statements":[{"nodeType":"YulAssignment","src":"4559:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4581:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4568:12:150"},"nodeType":"YulFunctionCall","src":"4568:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4559:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4641:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"4597:43:150"},"nodeType":"YulFunctionCall","src":"4597:50:150"},"nodeType":"YulExpressionStatement","src":"4597:50:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4528:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4539:5:150","type":""}],"src":"4500:153:150"},{"body":{"nodeType":"YulBlock","src":"4745:247:150","statements":[{"body":{"nodeType":"YulBlock","src":"4791:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4800:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4803:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4793:6:150"},"nodeType":"YulFunctionCall","src":"4793:12:150"},"nodeType":"YulExpressionStatement","src":"4793:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4766:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4775:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4762:3:150"},"nodeType":"YulFunctionCall","src":"4762:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4787:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4758:3:150"},"nodeType":"YulFunctionCall","src":"4758:32:150"},"nodeType":"YulIf","src":"4755:52:150"},{"nodeType":"YulAssignment","src":"4816:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4839:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4826:12:150"},"nodeType":"YulFunctionCall","src":"4826:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4816:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4858:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4888:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4899:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4884:3:150"},"nodeType":"YulFunctionCall","src":"4884:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4871:12:150"},"nodeType":"YulFunctionCall","src":"4871:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4862:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4956:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"4912:43:150"},"nodeType":"YulFunctionCall","src":"4912:50:150"},"nodeType":"YulExpressionStatement","src":"4912:50:150"},{"nodeType":"YulAssignment","src":"4971:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4981:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4971:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4703:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4714:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4726:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4734:6:150","type":""}],"src":"4658:334:150"},{"body":{"nodeType":"YulBlock","src":"5119:102:150","statements":[{"nodeType":"YulAssignment","src":"5129:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5141:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5152:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5137:3:150"},"nodeType":"YulFunctionCall","src":"5137:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5129:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5171:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5186:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5202:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5207:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5198:3:150"},"nodeType":"YulFunctionCall","src":"5198:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"5211:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5194:3:150"},"nodeType":"YulFunctionCall","src":"5194:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5182:3:150"},"nodeType":"YulFunctionCall","src":"5182:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5164:6:150"},"nodeType":"YulFunctionCall","src":"5164:51:150"},"nodeType":"YulExpressionStatement","src":"5164:51:150"}]},"name":"abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5088:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5099:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5110:4:150","type":""}],"src":"4997:224:150"},{"body":{"nodeType":"YulBlock","src":"5258:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5275:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5282:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5287:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5278:3:150"},"nodeType":"YulFunctionCall","src":"5278:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5268:6:150"},"nodeType":"YulFunctionCall","src":"5268:31:150"},"nodeType":"YulExpressionStatement","src":"5268:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5315:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5318:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5308:6:150"},"nodeType":"YulFunctionCall","src":"5308:15:150"},"nodeType":"YulExpressionStatement","src":"5308:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5339:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5342:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5332:6:150"},"nodeType":"YulFunctionCall","src":"5332:15:150"},"nodeType":"YulExpressionStatement","src":"5332:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"5226:127:150"},{"body":{"nodeType":"YulBlock","src":"5410:186:150","statements":[{"body":{"nodeType":"YulBlock","src":"5452:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5473:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5480:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5485:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5476:3:150"},"nodeType":"YulFunctionCall","src":"5476:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5466:6:150"},"nodeType":"YulFunctionCall","src":"5466:31:150"},"nodeType":"YulExpressionStatement","src":"5466:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5517:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5520:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5510:6:150"},"nodeType":"YulFunctionCall","src":"5510:15:150"},"nodeType":"YulExpressionStatement","src":"5510:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5545:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5548:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5538:6:150"},"nodeType":"YulFunctionCall","src":"5538:15:150"},"nodeType":"YulExpressionStatement","src":"5538:15:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5433:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"5440:1:150","type":"","value":"3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5430:2:150"},"nodeType":"YulFunctionCall","src":"5430:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5423:6:150"},"nodeType":"YulFunctionCall","src":"5423:20:150"},"nodeType":"YulIf","src":"5420:143:150"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5579:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"5584:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5572:6:150"},"nodeType":"YulFunctionCall","src":"5572:18:150"},"nodeType":"YulExpressionStatement","src":"5572:18:150"}]},"name":"abi_encode_enum_RoundState","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5394:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5401:3:150","type":""}],"src":"5358:238:150"},{"body":{"nodeType":"YulBlock","src":"5716:96:150","statements":[{"nodeType":"YulAssignment","src":"5726:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5738:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5749:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5734:3:150"},"nodeType":"YulFunctionCall","src":"5734:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5726:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5788:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5796:9:150"}],"functionName":{"name":"abi_encode_enum_RoundState","nodeType":"YulIdentifier","src":"5761:26:150"},"nodeType":"YulFunctionCall","src":"5761:45:150"},"nodeType":"YulExpressionStatement","src":"5761:45:150"}]},"name":"abi_encode_tuple_t_enum$_RoundState_$41575__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5685:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5696:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5707:4:150","type":""}],"src":"5601:211:150"},{"body":{"nodeType":"YulBlock","src":"5904:247:150","statements":[{"body":{"nodeType":"YulBlock","src":"5950:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5959:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5962:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5952:6:150"},"nodeType":"YulFunctionCall","src":"5952:12:150"},"nodeType":"YulExpressionStatement","src":"5952:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5925:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5934:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5921:3:150"},"nodeType":"YulFunctionCall","src":"5921:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5946:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5917:3:150"},"nodeType":"YulFunctionCall","src":"5917:32:150"},"nodeType":"YulIf","src":"5914:52:150"},{"nodeType":"YulAssignment","src":"5975:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5998:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5985:12:150"},"nodeType":"YulFunctionCall","src":"5985:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5975:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6017:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6047:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6058:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6043:3:150"},"nodeType":"YulFunctionCall","src":"6043:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6030:12:150"},"nodeType":"YulFunctionCall","src":"6030:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6021:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6115:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"6071:43:150"},"nodeType":"YulFunctionCall","src":"6071:50:150"},"nodeType":"YulExpressionStatement","src":"6071:50:150"},{"nodeType":"YulAssignment","src":"6130:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6140:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6130:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5862:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5873:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5885:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5893:6:150","type":""}],"src":"5817:334:150"},{"body":{"nodeType":"YulBlock","src":"6243:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"6289:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6298:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6301:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6291:6:150"},"nodeType":"YulFunctionCall","src":"6291:12:150"},"nodeType":"YulExpressionStatement","src":"6291:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6264:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6273:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6260:3:150"},"nodeType":"YulFunctionCall","src":"6260:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6285:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6256:3:150"},"nodeType":"YulFunctionCall","src":"6256:32:150"},"nodeType":"YulIf","src":"6253:52:150"},{"nodeType":"YulAssignment","src":"6314:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6337:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6324:12:150"},"nodeType":"YulFunctionCall","src":"6324:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6314:6:150"}]},{"nodeType":"YulAssignment","src":"6356:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6383:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6394:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6379:3:150"},"nodeType":"YulFunctionCall","src":"6379:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6366:12:150"},"nodeType":"YulFunctionCall","src":"6366:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6356:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6201:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6212:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6224:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6232:6:150","type":""}],"src":"6156:248:150"},{"body":{"nodeType":"YulBlock","src":"6441:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6458:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6465:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6470:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6461:3:150"},"nodeType":"YulFunctionCall","src":"6461:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6451:6:150"},"nodeType":"YulFunctionCall","src":"6451:31:150"},"nodeType":"YulExpressionStatement","src":"6451:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6498:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6501:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6491:6:150"},"nodeType":"YulFunctionCall","src":"6491:15:150"},"nodeType":"YulExpressionStatement","src":"6491:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6522:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6525:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6515:6:150"},"nodeType":"YulFunctionCall","src":"6515:15:150"},"nodeType":"YulExpressionStatement","src":"6515:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"6409:127:150"},{"body":{"nodeType":"YulBlock","src":"6587:209:150","statements":[{"nodeType":"YulAssignment","src":"6597:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6613:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6607:5:150"},"nodeType":"YulFunctionCall","src":"6607:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6597:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6625:37:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6647:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6655:6:150","type":"","value":"0x01a0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6643:3:150"},"nodeType":"YulFunctionCall","src":"6643:19:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"6629:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6737:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6739:16:150"},"nodeType":"YulFunctionCall","src":"6739:18:150"},"nodeType":"YulExpressionStatement","src":"6739:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6680:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6700:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6704:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6696:3:150"},"nodeType":"YulFunctionCall","src":"6696:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6708:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6692:3:150"},"nodeType":"YulFunctionCall","src":"6692:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6677:2:150"},"nodeType":"YulFunctionCall","src":"6677:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6716:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"6728:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6713:2:150"},"nodeType":"YulFunctionCall","src":"6713:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6674:2:150"},"nodeType":"YulFunctionCall","src":"6674:62:150"},"nodeType":"YulIf","src":"6671:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6775:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6779:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6768:6:150"},"nodeType":"YulFunctionCall","src":"6768:22:150"},"nodeType":"YulExpressionStatement","src":"6768:22:150"}]},"name":"allocate_memory_5382","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"6576:6:150","type":""}],"src":"6541:255:150"},{"body":{"nodeType":"YulBlock","src":"6847:207:150","statements":[{"nodeType":"YulAssignment","src":"6857:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6873:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6867:5:150"},"nodeType":"YulFunctionCall","src":"6867:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6857:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6885:35:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6907:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6915:4:150","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6903:3:150"},"nodeType":"YulFunctionCall","src":"6903:17:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"6889:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6995:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6997:16:150"},"nodeType":"YulFunctionCall","src":"6997:18:150"},"nodeType":"YulExpressionStatement","src":"6997:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6938:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6958:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6962:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6954:3:150"},"nodeType":"YulFunctionCall","src":"6954:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6966:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6950:3:150"},"nodeType":"YulFunctionCall","src":"6950:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6935:2:150"},"nodeType":"YulFunctionCall","src":"6935:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6974:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"6986:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6971:2:150"},"nodeType":"YulFunctionCall","src":"6971:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6932:2:150"},"nodeType":"YulFunctionCall","src":"6932:62:150"},"nodeType":"YulIf","src":"6929:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7033:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7037:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7026:6:150"},"nodeType":"YulFunctionCall","src":"7026:22:150"},"nodeType":"YulExpressionStatement","src":"7026:22:150"}]},"name":"allocate_memory_5384","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"6836:6:150","type":""}],"src":"6801:253:150"},{"body":{"nodeType":"YulBlock","src":"7104:230:150","statements":[{"nodeType":"YulAssignment","src":"7114:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7130:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7124:5:150"},"nodeType":"YulFunctionCall","src":"7124:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7114:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7142:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7164:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"7180:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"7186:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7176:3:150"},"nodeType":"YulFunctionCall","src":"7176:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7195:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7191:3:150"},"nodeType":"YulFunctionCall","src":"7191:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7172:3:150"},"nodeType":"YulFunctionCall","src":"7172:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7160:3:150"},"nodeType":"YulFunctionCall","src":"7160:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"7146:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7275:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"7277:16:150"},"nodeType":"YulFunctionCall","src":"7277:18:150"},"nodeType":"YulExpressionStatement","src":"7277:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7218:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7238:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7242:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7234:3:150"},"nodeType":"YulFunctionCall","src":"7234:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7246:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7230:3:150"},"nodeType":"YulFunctionCall","src":"7230:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7215:2:150"},"nodeType":"YulFunctionCall","src":"7215:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7254:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"7266:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7251:2:150"},"nodeType":"YulFunctionCall","src":"7251:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"7212:2:150"},"nodeType":"YulFunctionCall","src":"7212:62:150"},"nodeType":"YulIf","src":"7209:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7313:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7317:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7306:6:150"},"nodeType":"YulFunctionCall","src":"7306:22:150"},"nodeType":"YulExpressionStatement","src":"7306:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"7084:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"7093:6:150","type":""}],"src":"7059:275:150"},{"body":{"nodeType":"YulBlock","src":"7396:129:150","statements":[{"body":{"nodeType":"YulBlock","src":"7440:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"7442:16:150"},"nodeType":"YulFunctionCall","src":"7442:18:150"},"nodeType":"YulExpressionStatement","src":"7442:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7412:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7428:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7432:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7424:3:150"},"nodeType":"YulFunctionCall","src":"7424:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7436:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7420:3:150"},"nodeType":"YulFunctionCall","src":"7420:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7409:2:150"},"nodeType":"YulFunctionCall","src":"7409:30:150"},"nodeType":"YulIf","src":"7406:56:150"},{"nodeType":"YulAssignment","src":"7471:48:150","value":{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7491:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7499:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7487:3:150"},"nodeType":"YulFunctionCall","src":"7487:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7508:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7504:3:150"},"nodeType":"YulFunctionCall","src":"7504:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7483:3:150"},"nodeType":"YulFunctionCall","src":"7483:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"7514:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7479:3:150"},"nodeType":"YulFunctionCall","src":"7479:40:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"7471:4:150"}]}]},"name":"array_allocation_size_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"7376:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"7387:4:150","type":""}],"src":"7339:186:150"},{"body":{"nodeType":"YulBlock","src":"7626:729:150","statements":[{"body":{"nodeType":"YulBlock","src":"7672:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7681:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7684:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7674:6:150"},"nodeType":"YulFunctionCall","src":"7674:12:150"},"nodeType":"YulExpressionStatement","src":"7674:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7647:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7656:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7643:3:150"},"nodeType":"YulFunctionCall","src":"7643:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7668:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7639:3:150"},"nodeType":"YulFunctionCall","src":"7639:32:150"},"nodeType":"YulIf","src":"7636:52:150"},{"nodeType":"YulVariableDeclaration","src":"7697:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7723:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7710:12:150"},"nodeType":"YulFunctionCall","src":"7710:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7701:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7786:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"7742:43:150"},"nodeType":"YulFunctionCall","src":"7742:50:150"},"nodeType":"YulExpressionStatement","src":"7742:50:150"},{"nodeType":"YulAssignment","src":"7801:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7811:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7801:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"7825:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7856:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7867:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7852:3:150"},"nodeType":"YulFunctionCall","src":"7852:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7839:12:150"},"nodeType":"YulFunctionCall","src":"7839:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7829:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7914:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7923:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7926:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7916:6:150"},"nodeType":"YulFunctionCall","src":"7916:12:150"},"nodeType":"YulExpressionStatement","src":"7916:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7886:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7902:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7906:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7898:3:150"},"nodeType":"YulFunctionCall","src":"7898:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7910:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7894:3:150"},"nodeType":"YulFunctionCall","src":"7894:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7883:2:150"},"nodeType":"YulFunctionCall","src":"7883:30:150"},"nodeType":"YulIf","src":"7880:50:150"},{"nodeType":"YulVariableDeclaration","src":"7939:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7953:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"7964:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7949:3:150"},"nodeType":"YulFunctionCall","src":"7949:22:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7943:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8019:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8028:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8031:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8021:6:150"},"nodeType":"YulFunctionCall","src":"8021:12:150"},"nodeType":"YulExpressionStatement","src":"8021:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"7998:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"8002:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7994:3:150"},"nodeType":"YulFunctionCall","src":"7994:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8009:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7990:3:150"},"nodeType":"YulFunctionCall","src":"7990:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7983:6:150"},"nodeType":"YulFunctionCall","src":"7983:35:150"},"nodeType":"YulIf","src":"7980:55:150"},{"nodeType":"YulVariableDeclaration","src":"8044:26:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"8067:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8054:12:150"},"nodeType":"YulFunctionCall","src":"8054:16:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8048:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8079:61:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"8136:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"8108:27:150"},"nodeType":"YulFunctionCall","src":"8108:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8092:15:150"},"nodeType":"YulFunctionCall","src":"8092:48:150"},"variables":[{"name":"array","nodeType":"YulTypedName","src":"8083:5:150","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"8156:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8163:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8149:6:150"},"nodeType":"YulFunctionCall","src":"8149:17:150"},"nodeType":"YulExpressionStatement","src":"8149:17:150"},{"body":{"nodeType":"YulBlock","src":"8212:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8221:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8224:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8214:6:150"},"nodeType":"YulFunctionCall","src":"8214:12:150"},"nodeType":"YulExpressionStatement","src":"8214:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"8189:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8193:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8185:3:150"},"nodeType":"YulFunctionCall","src":"8185:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8198:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8181:3:150"},"nodeType":"YulFunctionCall","src":"8181:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8203:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8178:2:150"},"nodeType":"YulFunctionCall","src":"8178:33:150"},"nodeType":"YulIf","src":"8175:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"8254:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"8261:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8250:3:150"},"nodeType":"YulFunctionCall","src":"8250:14:150"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"8270:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"8274:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8266:3:150"},"nodeType":"YulFunctionCall","src":"8266:11:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8279:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"8237:12:150"},"nodeType":"YulFunctionCall","src":"8237:45:150"},"nodeType":"YulExpressionStatement","src":"8237:45:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"8306:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"8313:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8302:3:150"},"nodeType":"YulFunctionCall","src":"8302:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"8318:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8298:3:150"},"nodeType":"YulFunctionCall","src":"8298:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8323:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8291:6:150"},"nodeType":"YulFunctionCall","src":"8291:34:150"},"nodeType":"YulExpressionStatement","src":"8291:34:150"},{"nodeType":"YulAssignment","src":"8334:15:150","value":{"name":"array","nodeType":"YulIdentifier","src":"8344:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8334:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7584:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7595:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7607:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7615:6:150","type":""}],"src":"7530:825:150"},{"body":{"nodeType":"YulBlock","src":"8461:102:150","statements":[{"nodeType":"YulAssignment","src":"8471:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8483:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8494:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8479:3:150"},"nodeType":"YulFunctionCall","src":"8479:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8471:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8513:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8528:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8544:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8549:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8540:3:150"},"nodeType":"YulFunctionCall","src":"8540:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8553:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8536:3:150"},"nodeType":"YulFunctionCall","src":"8536:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8524:3:150"},"nodeType":"YulFunctionCall","src":"8524:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8506:6:150"},"nodeType":"YulFunctionCall","src":"8506:51:150"},"nodeType":"YulExpressionStatement","src":"8506:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8430:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8441:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8452:4:150","type":""}],"src":"8360:203:150"},{"body":{"nodeType":"YulBlock","src":"8637:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"8681:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8683:16:150"},"nodeType":"YulFunctionCall","src":"8683:18:150"},"nodeType":"YulExpressionStatement","src":"8683:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8653:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8669:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"8673:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8665:3:150"},"nodeType":"YulFunctionCall","src":"8665:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"8677:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8661:3:150"},"nodeType":"YulFunctionCall","src":"8661:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8650:2:150"},"nodeType":"YulFunctionCall","src":"8650:30:150"},"nodeType":"YulIf","src":"8647:56:150"},{"nodeType":"YulAssignment","src":"8712:33:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8728:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"8731:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8724:3:150"},"nodeType":"YulFunctionCall","src":"8724:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"8740:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8720:3:150"},"nodeType":"YulFunctionCall","src":"8720:25:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"8712:4:150"}]}]},"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"8617:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"8628:4:150","type":""}],"src":"8568:183:150"},{"body":{"nodeType":"YulBlock","src":"8820:598:150","statements":[{"body":{"nodeType":"YulBlock","src":"8869:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8878:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8881:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8871:6:150"},"nodeType":"YulFunctionCall","src":"8871:12:150"},"nodeType":"YulExpressionStatement","src":"8871:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8848:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8856:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8844:3:150"},"nodeType":"YulFunctionCall","src":"8844:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"8863:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8840:3:150"},"nodeType":"YulFunctionCall","src":"8840:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8833:6:150"},"nodeType":"YulFunctionCall","src":"8833:35:150"},"nodeType":"YulIf","src":"8830:55:150"},{"nodeType":"YulVariableDeclaration","src":"8894:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8917:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8904:12:150"},"nodeType":"YulFunctionCall","src":"8904:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8898:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8933:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8943:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8937:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8956:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"9023:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"8983:39:150"},"nodeType":"YulFunctionCall","src":"8983:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8967:15:150"},"nodeType":"YulFunctionCall","src":"8967:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"8960:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9036:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"9049:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"9040:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9068:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9073:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9061:6:150"},"nodeType":"YulFunctionCall","src":"9061:15:150"},"nodeType":"YulExpressionStatement","src":"9061:15:150"},{"nodeType":"YulAssignment","src":"9085:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9096:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9101:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9092:3:150"},"nodeType":"YulFunctionCall","src":"9092:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"9085:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"9113:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9135:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9147:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"9150:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9143:3:150"},"nodeType":"YulFunctionCall","src":"9143:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9131:3:150"},"nodeType":"YulFunctionCall","src":"9131:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9156:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9127:3:150"},"nodeType":"YulFunctionCall","src":"9127:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"9117:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9187:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9196:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9199:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9189:6:150"},"nodeType":"YulFunctionCall","src":"9189:12:150"},"nodeType":"YulExpressionStatement","src":"9189:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"9174:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"9182:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9171:2:150"},"nodeType":"YulFunctionCall","src":"9171:15:150"},"nodeType":"YulIf","src":"9168:35:150"},{"nodeType":"YulVariableDeclaration","src":"9212:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9227:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9235:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9223:3:150"},"nodeType":"YulFunctionCall","src":"9223:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"9216:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9303:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9324:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9342:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9329:12:150"},"nodeType":"YulFunctionCall","src":"9329:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9317:6:150"},"nodeType":"YulFunctionCall","src":"9317:30:150"},"nodeType":"YulExpressionStatement","src":"9317:30:150"},{"nodeType":"YulAssignment","src":"9360:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9371:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9376:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9367:3:150"},"nodeType":"YulFunctionCall","src":"9367:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"9360:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9258:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"9263:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9255:2:150"},"nodeType":"YulFunctionCall","src":"9255:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9271:23:150","statements":[{"nodeType":"YulAssignment","src":"9273:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9284:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9289:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9280:3:150"},"nodeType":"YulFunctionCall","src":"9280:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"9273:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"9251:3:150","statements":[]},"src":"9247:142:150"},{"nodeType":"YulAssignment","src":"9398:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"9407:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"9398:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8794:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"8802:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8810:5:150","type":""}],"src":"8756:662:150"},{"body":{"nodeType":"YulBlock","src":"9577:1052:150","statements":[{"body":{"nodeType":"YulBlock","src":"9623:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9632:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9635:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9625:6:150"},"nodeType":"YulFunctionCall","src":"9625:12:150"},"nodeType":"YulExpressionStatement","src":"9625:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9598:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9607:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9594:3:150"},"nodeType":"YulFunctionCall","src":"9594:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9619:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9590:3:150"},"nodeType":"YulFunctionCall","src":"9590:32:150"},"nodeType":"YulIf","src":"9587:52:150"},{"nodeType":"YulAssignment","src":"9648:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9671:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9658:12:150"},"nodeType":"YulFunctionCall","src":"9658:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9648:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9690:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9700:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9694:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9711:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9742:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9753:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9738:3:150"},"nodeType":"YulFunctionCall","src":"9738:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9725:12:150"},"nodeType":"YulFunctionCall","src":"9725:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9715:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9766:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9784:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9788:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9780:3:150"},"nodeType":"YulFunctionCall","src":"9780:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9792:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9776:3:150"},"nodeType":"YulFunctionCall","src":"9776:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"9770:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9821:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9830:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9833:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9823:6:150"},"nodeType":"YulFunctionCall","src":"9823:12:150"},"nodeType":"YulExpressionStatement","src":"9823:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9809:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"9817:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9806:2:150"},"nodeType":"YulFunctionCall","src":"9806:14:150"},"nodeType":"YulIf","src":"9803:34:150"},{"nodeType":"YulVariableDeclaration","src":"9846:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9860:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9871:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9856:3:150"},"nodeType":"YulFunctionCall","src":"9856:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"9850:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9926:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9935:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9938:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9928:6:150"},"nodeType":"YulFunctionCall","src":"9928:12:150"},"nodeType":"YulExpressionStatement","src":"9928:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9905:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9909:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9901:3:150"},"nodeType":"YulFunctionCall","src":"9901:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9916:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9897:3:150"},"nodeType":"YulFunctionCall","src":"9897:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9890:6:150"},"nodeType":"YulFunctionCall","src":"9890:35:150"},"nodeType":"YulIf","src":"9887:55:150"},{"nodeType":"YulVariableDeclaration","src":"9951:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9974:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9961:12:150"},"nodeType":"YulFunctionCall","src":"9961:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"9955:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9986:71:150","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"10053:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"10013:39:150"},"nodeType":"YulFunctionCall","src":"10013:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"9997:15:150"},"nodeType":"YulFunctionCall","src":"9997:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"9990:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10066:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"10079:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"10070:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10098:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"10103:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10091:6:150"},"nodeType":"YulFunctionCall","src":"10091:15:150"},"nodeType":"YulExpressionStatement","src":"10091:15:150"},{"nodeType":"YulAssignment","src":"10115:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10126:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10131:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10122:3:150"},"nodeType":"YulFunctionCall","src":"10122:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"10115:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"10143:42:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"10165:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10173:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"10176:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10169:3:150"},"nodeType":"YulFunctionCall","src":"10169:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10161:3:150"},"nodeType":"YulFunctionCall","src":"10161:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10182:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10157:3:150"},"nodeType":"YulFunctionCall","src":"10157:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"10147:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10217:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10226:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10229:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10219:6:150"},"nodeType":"YulFunctionCall","src":"10219:12:150"},"nodeType":"YulExpressionStatement","src":"10219:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"10200:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10208:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10197:2:150"},"nodeType":"YulFunctionCall","src":"10197:19:150"},"nodeType":"YulIf","src":"10194:39:150"},{"nodeType":"YulVariableDeclaration","src":"10242:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"10257:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10261:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10253:3:150"},"nodeType":"YulFunctionCall","src":"10253:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"10246:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10329:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10350:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"10368:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10355:12:150"},"nodeType":"YulFunctionCall","src":"10355:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10343:6:150"},"nodeType":"YulFunctionCall","src":"10343:30:150"},"nodeType":"YulExpressionStatement","src":"10343:30:150"},{"nodeType":"YulAssignment","src":"10386:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"10397:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10402:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10393:3:150"},"nodeType":"YulFunctionCall","src":"10393:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"10386:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"10284:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"10289:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10281:2:150"},"nodeType":"YulFunctionCall","src":"10281:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"10297:23:150","statements":[{"nodeType":"YulAssignment","src":"10299:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"10310:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10315:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10306:3:150"},"nodeType":"YulFunctionCall","src":"10306:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"10299:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"10277:3:150","statements":[]},"src":"10273:142:150"},{"nodeType":"YulAssignment","src":"10424:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"10434:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10424:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10448:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10481:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10492:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10477:3:150"},"nodeType":"YulFunctionCall","src":"10477:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10464:12:150"},"nodeType":"YulFunctionCall","src":"10464:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"10452:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10525:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10534:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10537:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10527:6:150"},"nodeType":"YulFunctionCall","src":"10527:12:150"},"nodeType":"YulExpressionStatement","src":"10527:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"10511:8:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10521:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10508:2:150"},"nodeType":"YulFunctionCall","src":"10508:16:150"},"nodeType":"YulIf","src":"10505:36:150"},{"nodeType":"YulAssignment","src":"10550:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10593:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"10604:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10589:3:150"},"nodeType":"YulFunctionCall","src":"10589:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10615:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"10560:28:150"},"nodeType":"YulFunctionCall","src":"10560:63:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10550:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9527:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9538:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9550:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9558:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9566:6:150","type":""}],"src":"9423:1206:150"},{"body":{"nodeType":"YulBlock","src":"10724:196:150","statements":[{"body":{"nodeType":"YulBlock","src":"10770:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10779:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10782:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10772:6:150"},"nodeType":"YulFunctionCall","src":"10772:12:150"},"nodeType":"YulExpressionStatement","src":"10772:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10745:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10754:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10741:3:150"},"nodeType":"YulFunctionCall","src":"10741:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10766:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10737:3:150"},"nodeType":"YulFunctionCall","src":"10737:32:150"},"nodeType":"YulIf","src":"10734:52:150"},{"nodeType":"YulVariableDeclaration","src":"10795:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10821:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10808:12:150"},"nodeType":"YulFunctionCall","src":"10808:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10799:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10884:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"10840:43:150"},"nodeType":"YulFunctionCall","src":"10840:50:150"},"nodeType":"YulExpressionStatement","src":"10840:50:150"},{"nodeType":"YulAssignment","src":"10899:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10909:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10899:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IEmissions_$64454","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10690:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10701:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10713:6:150","type":""}],"src":"10634:286:150"},{"body":{"nodeType":"YulBlock","src":"11049:102:150","statements":[{"nodeType":"YulAssignment","src":"11059:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11071:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11082:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11067:3:150"},"nodeType":"YulFunctionCall","src":"11067:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11059:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11101:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11116:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11132:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11137:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11128:3:150"},"nodeType":"YulFunctionCall","src":"11128:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11141:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11124:3:150"},"nodeType":"YulFunctionCall","src":"11124:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11112:3:150"},"nodeType":"YulFunctionCall","src":"11112:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11094:6:150"},"nodeType":"YulFunctionCall","src":"11094:51:150"},"nodeType":"YulExpressionStatement","src":"11094:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11018:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11029:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11040:4:150","type":""}],"src":"10925:226:150"},{"body":{"nodeType":"YulBlock","src":"11249:196:150","statements":[{"body":{"nodeType":"YulBlock","src":"11295:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11304:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11307:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11297:6:150"},"nodeType":"YulFunctionCall","src":"11297:12:150"},"nodeType":"YulExpressionStatement","src":"11297:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11270:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11279:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11266:3:150"},"nodeType":"YulFunctionCall","src":"11266:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11291:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11262:3:150"},"nodeType":"YulFunctionCall","src":"11262:32:150"},"nodeType":"YulIf","src":"11259:52:150"},{"nodeType":"YulVariableDeclaration","src":"11320:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11346:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11333:12:150"},"nodeType":"YulFunctionCall","src":"11333:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11324:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11409:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"11365:43:150"},"nodeType":"YulFunctionCall","src":"11365:50:150"},"nodeType":"YulExpressionStatement","src":"11365:50:150"},{"nodeType":"YulAssignment","src":"11424:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11434:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11424:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11215:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11226:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11238:6:150","type":""}],"src":"11156:289:150"},{"body":{"nodeType":"YulBlock","src":"11511:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"11521:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11541:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11535:5:150"},"nodeType":"YulFunctionCall","src":"11535:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"11525:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11563:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"11568:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11556:6:150"},"nodeType":"YulFunctionCall","src":"11556:19:150"},"nodeType":"YulExpressionStatement","src":"11556:19:150"},{"nodeType":"YulVariableDeclaration","src":"11584:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11594:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11588:2:150","type":""}]},{"nodeType":"YulAssignment","src":"11607:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11618:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11623:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11614:3:150"},"nodeType":"YulFunctionCall","src":"11614:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11607:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"11635:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11653:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11660:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11649:3:150"},"nodeType":"YulFunctionCall","src":"11649:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"11639:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11672:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11681:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"11676:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11740:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11761:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11772:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11766:5:150"},"nodeType":"YulFunctionCall","src":"11766:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11754:6:150"},"nodeType":"YulFunctionCall","src":"11754:26:150"},"nodeType":"YulExpressionStatement","src":"11754:26:150"},{"nodeType":"YulAssignment","src":"11793:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11804:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11809:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11800:3:150"},"nodeType":"YulFunctionCall","src":"11800:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11793:3:150"}]},{"nodeType":"YulAssignment","src":"11825:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11839:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11847:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11835:3:150"},"nodeType":"YulFunctionCall","src":"11835:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11825:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11702:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"11705:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11699:2:150"},"nodeType":"YulFunctionCall","src":"11699:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11713:18:150","statements":[{"nodeType":"YulAssignment","src":"11715:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11724:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"11727:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11720:3:150"},"nodeType":"YulFunctionCall","src":"11720:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"11715:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"11695:3:150","statements":[]},"src":"11691:169:150"},{"nodeType":"YulAssignment","src":"11869:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"11876:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11869:3:150"}]}]},"name":"abi_encode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11488:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11495:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"11503:3:150","type":""}],"src":"11450:435:150"},{"body":{"nodeType":"YulBlock","src":"12041:110:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12058:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12069:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12051:6:150"},"nodeType":"YulFunctionCall","src":"12051:21:150"},"nodeType":"YulExpressionStatement","src":"12051:21:150"},{"nodeType":"YulAssignment","src":"12081:64:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12118:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12130:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12141:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12126:3:150"},"nodeType":"YulFunctionCall","src":"12126:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"12089:28:150"},"nodeType":"YulFunctionCall","src":"12089:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12081:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12010:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12021:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12032:4:150","type":""}],"src":"11890:261:150"},{"body":{"nodeType":"YulBlock","src":"12313:273:150","statements":[{"nodeType":"YulAssignment","src":"12323:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12335:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12346:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12331:3:150"},"nodeType":"YulFunctionCall","src":"12331:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12323:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12365:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12386:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12380:5:150"},"nodeType":"YulFunctionCall","src":"12380:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12403:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12408:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12399:3:150"},"nodeType":"YulFunctionCall","src":"12399:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"12412:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12395:3:150"},"nodeType":"YulFunctionCall","src":"12395:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12376:3:150"},"nodeType":"YulFunctionCall","src":"12376:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12358:6:150"},"nodeType":"YulFunctionCall","src":"12358:58:150"},"nodeType":"YulExpressionStatement","src":"12358:58:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12436:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12447:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12432:3:150"},"nodeType":"YulFunctionCall","src":"12432:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12468:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12476:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12464:3:150"},"nodeType":"YulFunctionCall","src":"12464:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12458:5:150"},"nodeType":"YulFunctionCall","src":"12458:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"12484:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12454:3:150"},"nodeType":"YulFunctionCall","src":"12454:45:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12425:6:150"},"nodeType":"YulFunctionCall","src":"12425:75:150"},"nodeType":"YulExpressionStatement","src":"12425:75:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12520:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12531:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12516:3:150"},"nodeType":"YulFunctionCall","src":"12516:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12552:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12560:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12548:3:150"},"nodeType":"YulFunctionCall","src":"12548:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12542:5:150"},"nodeType":"YulFunctionCall","src":"12542:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"12568:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12538:3:150"},"nodeType":"YulFunctionCall","src":"12538:41:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12509:6:150"},"nodeType":"YulFunctionCall","src":"12509:71:150"},"nodeType":"YulExpressionStatement","src":"12509:71:150"}]},"name":"abi_encode_tuple_t_struct$_RoundCore_$44099_memory_ptr__to_t_struct$_RoundCore_$44099_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12282:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12293:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12304:4:150","type":""}],"src":"12156:430:150"},{"body":{"nodeType":"YulBlock","src":"12690:97:150","statements":[{"nodeType":"YulAssignment","src":"12700:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12712:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12723:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12708:3:150"},"nodeType":"YulFunctionCall","src":"12708:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12700:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12742:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12757:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12765:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12753:3:150"},"nodeType":"YulFunctionCall","src":"12753:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12735:6:150"},"nodeType":"YulFunctionCall","src":"12735:46:150"},"nodeType":"YulExpressionStatement","src":"12735:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12659:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12670:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12681:4:150","type":""}],"src":"12591:196:150"},{"body":{"nodeType":"YulBlock","src":"12862:196:150","statements":[{"body":{"nodeType":"YulBlock","src":"12908:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12917:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12920:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12910:6:150"},"nodeType":"YulFunctionCall","src":"12910:12:150"},"nodeType":"YulExpressionStatement","src":"12910:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12883:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12892:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12879:3:150"},"nodeType":"YulFunctionCall","src":"12879:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12904:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12875:3:150"},"nodeType":"YulFunctionCall","src":"12875:32:150"},"nodeType":"YulIf","src":"12872:52:150"},{"nodeType":"YulVariableDeclaration","src":"12933:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12959:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12946:12:150"},"nodeType":"YulFunctionCall","src":"12946:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12937:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13022:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"12978:43:150"},"nodeType":"YulFunctionCall","src":"12978:50:150"},"nodeType":"YulExpressionStatement","src":"12978:50:150"},{"nodeType":"YulAssignment","src":"13037:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13047:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13037:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12828:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12839:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12851:6:150","type":""}],"src":"12792:266:150"},{"body":{"nodeType":"YulBlock","src":"13187:102:150","statements":[{"nodeType":"YulAssignment","src":"13197:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13209:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13220:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13205:3:150"},"nodeType":"YulFunctionCall","src":"13205:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13197:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13239:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13254:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13270:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"13275:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13266:3:150"},"nodeType":"YulFunctionCall","src":"13266:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"13279:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13262:3:150"},"nodeType":"YulFunctionCall","src":"13262:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13250:3:150"},"nodeType":"YulFunctionCall","src":"13250:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13232:6:150"},"nodeType":"YulFunctionCall","src":"13232:51:150"},"nodeType":"YulExpressionStatement","src":"13232:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13156:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13167:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13178:4:150","type":""}],"src":"13063:226:150"},{"body":{"nodeType":"YulBlock","src":"13381:247:150","statements":[{"body":{"nodeType":"YulBlock","src":"13427:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13436:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13439:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13429:6:150"},"nodeType":"YulFunctionCall","src":"13429:12:150"},"nodeType":"YulExpressionStatement","src":"13429:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13402:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13411:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13398:3:150"},"nodeType":"YulFunctionCall","src":"13398:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13423:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13394:3:150"},"nodeType":"YulFunctionCall","src":"13394:32:150"},"nodeType":"YulIf","src":"13391:52:150"},{"nodeType":"YulVariableDeclaration","src":"13452:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13478:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13465:12:150"},"nodeType":"YulFunctionCall","src":"13465:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13456:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13541:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"13497:43:150"},"nodeType":"YulFunctionCall","src":"13497:50:150"},"nodeType":"YulExpressionStatement","src":"13497:50:150"},{"nodeType":"YulAssignment","src":"13556:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13566:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13556:6:150"}]},{"nodeType":"YulAssignment","src":"13580:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13607:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13618:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13603:3:150"},"nodeType":"YulFunctionCall","src":"13603:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13590:12:150"},"nodeType":"YulFunctionCall","src":"13590:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13580:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13339:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13350:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13362:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13370:6:150","type":""}],"src":"13294:334:150"},{"body":{"nodeType":"YulBlock","src":"13726:196:150","statements":[{"body":{"nodeType":"YulBlock","src":"13772:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13781:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13784:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13774:6:150"},"nodeType":"YulFunctionCall","src":"13774:12:150"},"nodeType":"YulExpressionStatement","src":"13774:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13747:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13756:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13743:3:150"},"nodeType":"YulFunctionCall","src":"13743:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13768:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13739:3:150"},"nodeType":"YulFunctionCall","src":"13739:32:150"},"nodeType":"YulIf","src":"13736:52:150"},{"nodeType":"YulVariableDeclaration","src":"13797:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13823:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13810:12:150"},"nodeType":"YulFunctionCall","src":"13810:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13801:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13886:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"13842:43:150"},"nodeType":"YulFunctionCall","src":"13842:50:150"},"nodeType":"YulExpressionStatement","src":"13842:50:150"},{"nodeType":"YulAssignment","src":"13901:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13911:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13901:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13692:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13703:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13715:6:150","type":""}],"src":"13633:289:150"},{"body":{"nodeType":"YulBlock","src":"14018:196:150","statements":[{"body":{"nodeType":"YulBlock","src":"14064:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14073:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14076:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14066:6:150"},"nodeType":"YulFunctionCall","src":"14066:12:150"},"nodeType":"YulExpressionStatement","src":"14066:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14039:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14048:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14035:3:150"},"nodeType":"YulFunctionCall","src":"14035:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14060:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14031:3:150"},"nodeType":"YulFunctionCall","src":"14031:32:150"},"nodeType":"YulIf","src":"14028:52:150"},{"nodeType":"YulVariableDeclaration","src":"14089:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14115:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14102:12:150"},"nodeType":"YulFunctionCall","src":"14102:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14093:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14178:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"14134:43:150"},"nodeType":"YulFunctionCall","src":"14134:50:150"},"nodeType":"YulExpressionStatement","src":"14134:50:150"},{"nodeType":"YulAssignment","src":"14193:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14203:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14193:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IX2EarnApps_$69989","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13984:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13995:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14007:6:150","type":""}],"src":"13927:287:150"},{"body":{"nodeType":"YulBlock","src":"14306:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"14352:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14361:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14364:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14354:6:150"},"nodeType":"YulFunctionCall","src":"14354:12:150"},"nodeType":"YulExpressionStatement","src":"14354:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14327:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14336:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14323:3:150"},"nodeType":"YulFunctionCall","src":"14323:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14348:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14319:3:150"},"nodeType":"YulFunctionCall","src":"14319:32:150"},"nodeType":"YulIf","src":"14316:52:150"},{"nodeType":"YulAssignment","src":"14377:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14400:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14387:12:150"},"nodeType":"YulFunctionCall","src":"14387:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14377:6:150"}]},{"nodeType":"YulAssignment","src":"14419:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14446:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14457:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14442:3:150"},"nodeType":"YulFunctionCall","src":"14442:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14429:12:150"},"nodeType":"YulFunctionCall","src":"14429:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14419:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14264:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14275:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14287:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14295:6:150","type":""}],"src":"14219:248:150"},{"body":{"nodeType":"YulBlock","src":"14520:115:150","statements":[{"nodeType":"YulAssignment","src":"14530:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14552:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14539:12:150"},"nodeType":"YulFunctionCall","src":"14539:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"14530:5:150"}]},{"body":{"nodeType":"YulBlock","src":"14613:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14622:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14625:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14615:6:150"},"nodeType":"YulFunctionCall","src":"14615:12:150"},"nodeType":"YulExpressionStatement","src":"14615:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14581:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14592:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"14599:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14588:3:150"},"nodeType":"YulFunctionCall","src":"14588:22:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14578:2:150"},"nodeType":"YulFunctionCall","src":"14578:33:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14571:6:150"},"nodeType":"YulFunctionCall","src":"14571:41:150"},"nodeType":"YulIf","src":"14568:61:150"}]},"name":"abi_decode_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"14499:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"14510:5:150","type":""}],"src":"14472:163:150"},{"body":{"nodeType":"YulBlock","src":"14709:115:150","statements":[{"body":{"nodeType":"YulBlock","src":"14755:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14764:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14767:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14757:6:150"},"nodeType":"YulFunctionCall","src":"14757:12:150"},"nodeType":"YulExpressionStatement","src":"14757:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14730:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14739:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14726:3:150"},"nodeType":"YulFunctionCall","src":"14726:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14751:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14722:3:150"},"nodeType":"YulFunctionCall","src":"14722:32:150"},"nodeType":"YulIf","src":"14719:52:150"},{"nodeType":"YulAssignment","src":"14780:38:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14808:9:150"}],"functionName":{"name":"abi_decode_uint32","nodeType":"YulIdentifier","src":"14790:17:150"},"nodeType":"YulFunctionCall","src":"14790:28:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14780:6:150"}]}]},"name":"abi_decode_tuple_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14675:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14686:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14698:6:150","type":""}],"src":"14640:184:150"},{"body":{"nodeType":"YulBlock","src":"14893:692:150","statements":[{"body":{"nodeType":"YulBlock","src":"14942:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14951:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14954:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14944:6:150"},"nodeType":"YulFunctionCall","src":"14944:12:150"},"nodeType":"YulExpressionStatement","src":"14944:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14921:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"14929:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14917:3:150"},"nodeType":"YulFunctionCall","src":"14917:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"14936:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14913:3:150"},"nodeType":"YulFunctionCall","src":"14913:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14906:6:150"},"nodeType":"YulFunctionCall","src":"14906:35:150"},"nodeType":"YulIf","src":"14903:55:150"},{"nodeType":"YulVariableDeclaration","src":"14967:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14990:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14977:12:150"},"nodeType":"YulFunctionCall","src":"14977:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14971:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15006:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15016:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"15010:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15029:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"15096:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"15056:39:150"},"nodeType":"YulFunctionCall","src":"15056:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"15040:15:150"},"nodeType":"YulFunctionCall","src":"15040:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"15033:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15109:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"15122:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"15113:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"15141:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15146:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15134:6:150"},"nodeType":"YulFunctionCall","src":"15134:15:150"},"nodeType":"YulExpressionStatement","src":"15134:15:150"},{"nodeType":"YulAssignment","src":"15158:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"15169:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"15174:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15165:3:150"},"nodeType":"YulFunctionCall","src":"15165:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"15158:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"15186:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15208:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15220:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"15223:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15216:3:150"},"nodeType":"YulFunctionCall","src":"15216:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15204:3:150"},"nodeType":"YulFunctionCall","src":"15204:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"15229:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15200:3:150"},"nodeType":"YulFunctionCall","src":"15200:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"15190:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15260:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15269:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15272:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15262:6:150"},"nodeType":"YulFunctionCall","src":"15262:12:150"},"nodeType":"YulExpressionStatement","src":"15262:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"15247:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"15255:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15244:2:150"},"nodeType":"YulFunctionCall","src":"15244:15:150"},"nodeType":"YulIf","src":"15241:35:150"},{"nodeType":"YulVariableDeclaration","src":"15285:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15300:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"15308:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15296:3:150"},"nodeType":"YulFunctionCall","src":"15296:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"15289:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15376:180:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15390:30:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15416:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15403:12:150"},"nodeType":"YulFunctionCall","src":"15403:17:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15394:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15477:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"15433:43:150"},"nodeType":"YulFunctionCall","src":"15433:50:150"},"nodeType":"YulExpressionStatement","src":"15433:50:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"15503:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"15508:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15496:6:150"},"nodeType":"YulFunctionCall","src":"15496:18:150"},"nodeType":"YulExpressionStatement","src":"15496:18:150"},{"nodeType":"YulAssignment","src":"15527:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"15538:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"15543:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15534:3:150"},"nodeType":"YulFunctionCall","src":"15534:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"15527:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15331:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"15336:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15328:2:150"},"nodeType":"YulFunctionCall","src":"15328:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"15344:23:150","statements":[{"nodeType":"YulAssignment","src":"15346:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15357:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"15362:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15353:3:150"},"nodeType":"YulFunctionCall","src":"15353:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"15346:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"15324:3:150","statements":[]},"src":"15320:236:150"},{"nodeType":"YulAssignment","src":"15565:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"15574:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"15565:5:150"}]}]},"name":"abi_decode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"14867:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"14875:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"14883:5:150","type":""}],"src":"14829:756:150"},{"body":{"nodeType":"YulBlock","src":"15697:1388:150","statements":[{"body":{"nodeType":"YulBlock","src":"15743:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15752:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15755:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15745:6:150"},"nodeType":"YulFunctionCall","src":"15745:12:150"},"nodeType":"YulExpressionStatement","src":"15745:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15718:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15727:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15714:3:150"},"nodeType":"YulFunctionCall","src":"15714:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15739:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15710:3:150"},"nodeType":"YulFunctionCall","src":"15710:32:150"},"nodeType":"YulIf","src":"15707:52:150"},{"nodeType":"YulVariableDeclaration","src":"15768:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15795:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15782:12:150"},"nodeType":"YulFunctionCall","src":"15782:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"15772:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15814:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15832:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"15836:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15828:3:150"},"nodeType":"YulFunctionCall","src":"15828:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"15840:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15824:3:150"},"nodeType":"YulFunctionCall","src":"15824:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"15818:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15869:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15878:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15881:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15871:6:150"},"nodeType":"YulFunctionCall","src":"15871:12:150"},"nodeType":"YulExpressionStatement","src":"15871:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15857:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15865:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15854:2:150"},"nodeType":"YulFunctionCall","src":"15854:14:150"},"nodeType":"YulIf","src":"15851:34:150"},{"nodeType":"YulVariableDeclaration","src":"15894:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15908:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"15919:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15904:3:150"},"nodeType":"YulFunctionCall","src":"15904:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"15898:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15968:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15977:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15980:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15970:6:150"},"nodeType":"YulFunctionCall","src":"15970:12:150"},"nodeType":"YulExpressionStatement","src":"15970:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15946:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"15955:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15942:3:150"},"nodeType":"YulFunctionCall","src":"15942:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"15960:6:150","type":"","value":"0x01a0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15938:3:150"},"nodeType":"YulFunctionCall","src":"15938:29:150"},"nodeType":"YulIf","src":"15935:49:150"},{"nodeType":"YulVariableDeclaration","src":"15993:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_5382","nodeType":"YulIdentifier","src":"16006:20:150"},"nodeType":"YulFunctionCall","src":"16006:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15997:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16044:5:150"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16070:2:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"16051:18:150"},"nodeType":"YulFunctionCall","src":"16051:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16037:6:150"},"nodeType":"YulFunctionCall","src":"16037:37:150"},"nodeType":"YulExpressionStatement","src":"16037:37:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16094:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16101:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16090:3:150"},"nodeType":"YulFunctionCall","src":"16090:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16123:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"16127:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16119:3:150"},"nodeType":"YulFunctionCall","src":"16119:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16106:12:150"},"nodeType":"YulFunctionCall","src":"16106:25:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16083:6:150"},"nodeType":"YulFunctionCall","src":"16083:49:150"},"nodeType":"YulExpressionStatement","src":"16083:49:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16152:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16159:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16148:3:150"},"nodeType":"YulFunctionCall","src":"16148:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16186:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"16190:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16182:3:150"},"nodeType":"YulFunctionCall","src":"16182:11:150"}],"functionName":{"name":"abi_decode_uint32","nodeType":"YulIdentifier","src":"16164:17:150"},"nodeType":"YulFunctionCall","src":"16164:30:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16141:6:150"},"nodeType":"YulFunctionCall","src":"16141:54:150"},"nodeType":"YulExpressionStatement","src":"16141:54:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16215:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16222:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16211:3:150"},"nodeType":"YulFunctionCall","src":"16211:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16250:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"16254:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16246:3:150"},"nodeType":"YulFunctionCall","src":"16246:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"16227:18:150"},"nodeType":"YulFunctionCall","src":"16227:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16204:6:150"},"nodeType":"YulFunctionCall","src":"16204:55:150"},"nodeType":"YulExpressionStatement","src":"16204:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16279:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16286:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16275:3:150"},"nodeType":"YulFunctionCall","src":"16275:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16315:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"16319:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16311:3:150"},"nodeType":"YulFunctionCall","src":"16311:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"16292:18:150"},"nodeType":"YulFunctionCall","src":"16292:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16268:6:150"},"nodeType":"YulFunctionCall","src":"16268:57:150"},"nodeType":"YulExpressionStatement","src":"16268:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16345:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16352:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16341:3:150"},"nodeType":"YulFunctionCall","src":"16341:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16381:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"16385:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16377:3:150"},"nodeType":"YulFunctionCall","src":"16377:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"16358:18:150"},"nodeType":"YulFunctionCall","src":"16358:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16334:6:150"},"nodeType":"YulFunctionCall","src":"16334:57:150"},"nodeType":"YulExpressionStatement","src":"16334:57:150"},{"nodeType":"YulVariableDeclaration","src":"16400:42:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16433:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"16437:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16429:3:150"},"nodeType":"YulFunctionCall","src":"16429:12:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16416:12:150"},"nodeType":"YulFunctionCall","src":"16416:26:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"16404:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16471:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16480:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16483:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16473:6:150"},"nodeType":"YulFunctionCall","src":"16473:12:150"},"nodeType":"YulExpressionStatement","src":"16473:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"16457:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16467:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16454:2:150"},"nodeType":"YulFunctionCall","src":"16454:16:150"},"nodeType":"YulIf","src":"16451:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16507:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16514:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16503:3:150"},"nodeType":"YulFunctionCall","src":"16503:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16553:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"16557:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16549:3:150"},"nodeType":"YulFunctionCall","src":"16549:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"16568:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"16520:28:150"},"nodeType":"YulFunctionCall","src":"16520:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16496:6:150"},"nodeType":"YulFunctionCall","src":"16496:81:150"},"nodeType":"YulExpressionStatement","src":"16496:81:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16597:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16604:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16593:3:150"},"nodeType":"YulFunctionCall","src":"16593:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16633:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"16637:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16629:3:150"},"nodeType":"YulFunctionCall","src":"16629:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"16610:18:150"},"nodeType":"YulFunctionCall","src":"16610:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16586:6:150"},"nodeType":"YulFunctionCall","src":"16586:57:150"},"nodeType":"YulExpressionStatement","src":"16586:57:150"},{"nodeType":"YulVariableDeclaration","src":"16652:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16662:3:150","type":"","value":"256"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"16656:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16685:5:150"},{"name":"_3","nodeType":"YulIdentifier","src":"16692:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16681:3:150"},"nodeType":"YulFunctionCall","src":"16681:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16720:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"16724:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16716:3:150"},"nodeType":"YulFunctionCall","src":"16716:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"16697:18:150"},"nodeType":"YulFunctionCall","src":"16697:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16674:6:150"},"nodeType":"YulFunctionCall","src":"16674:55:150"},"nodeType":"YulExpressionStatement","src":"16674:55:150"},{"nodeType":"YulVariableDeclaration","src":"16738:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16748:3:150","type":"","value":"288"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"16742:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16771:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"16778:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16767:3:150"},"nodeType":"YulFunctionCall","src":"16767:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16806:2:150"},{"name":"_4","nodeType":"YulIdentifier","src":"16810:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16802:3:150"},"nodeType":"YulFunctionCall","src":"16802:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"16783:18:150"},"nodeType":"YulFunctionCall","src":"16783:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16760:6:150"},"nodeType":"YulFunctionCall","src":"16760:55:150"},"nodeType":"YulExpressionStatement","src":"16760:55:150"},{"nodeType":"YulVariableDeclaration","src":"16824:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16834:3:150","type":"","value":"320"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"16828:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16857:5:150"},{"name":"_5","nodeType":"YulIdentifier","src":"16864:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16853:3:150"},"nodeType":"YulFunctionCall","src":"16853:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16886:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"16890:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16882:3:150"},"nodeType":"YulFunctionCall","src":"16882:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16869:12:150"},"nodeType":"YulFunctionCall","src":"16869:25:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16846:6:150"},"nodeType":"YulFunctionCall","src":"16846:49:150"},"nodeType":"YulExpressionStatement","src":"16846:49:150"},{"nodeType":"YulVariableDeclaration","src":"16904:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16914:3:150","type":"","value":"352"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"16908:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16937:5:150"},{"name":"_6","nodeType":"YulIdentifier","src":"16944:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16933:3:150"},"nodeType":"YulFunctionCall","src":"16933:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"16966:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"16970:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16962:3:150"},"nodeType":"YulFunctionCall","src":"16962:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16949:12:150"},"nodeType":"YulFunctionCall","src":"16949:25:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16926:6:150"},"nodeType":"YulFunctionCall","src":"16926:49:150"},"nodeType":"YulExpressionStatement","src":"16926:49:150"},{"nodeType":"YulVariableDeclaration","src":"16984:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16994:3:150","type":"","value":"384"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"16988:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17017:5:150"},{"name":"_7","nodeType":"YulIdentifier","src":"17024:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17013:3:150"},"nodeType":"YulFunctionCall","src":"17013:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"17046:2:150"},{"name":"_7","nodeType":"YulIdentifier","src":"17050:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17042:3:150"},"nodeType":"YulFunctionCall","src":"17042:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17029:12:150"},"nodeType":"YulFunctionCall","src":"17029:25:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17006:6:150"},"nodeType":"YulFunctionCall","src":"17006:49:150"},"nodeType":"YulExpressionStatement","src":"17006:49:150"},{"nodeType":"YulAssignment","src":"17064:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"17074:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17064:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_InitializationData_$41125_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15663:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15674:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15686:6:150","type":""}],"src":"15590:1495:150"},{"body":{"nodeType":"YulBlock","src":"17208:102:150","statements":[{"nodeType":"YulAssignment","src":"17218:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17230:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17241:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17226:3:150"},"nodeType":"YulFunctionCall","src":"17226:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17218:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17260:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17275:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17291:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17296:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17287:3:150"},"nodeType":"YulFunctionCall","src":"17287:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"17300:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17283:3:150"},"nodeType":"YulFunctionCall","src":"17283:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17271:3:150"},"nodeType":"YulFunctionCall","src":"17271:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17253:6:150"},"nodeType":"YulFunctionCall","src":"17253:51:150"},"nodeType":"YulExpressionStatement","src":"17253:51:150"}]},"name":"abi_encode_tuple_t_contract$_IERC5805_$4537__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17177:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17188:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17199:4:150","type":""}],"src":"17090:220:150"},{"body":{"nodeType":"YulBlock","src":"17370:325:150","statements":[{"nodeType":"YulAssignment","src":"17380:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17394:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"17397:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"17390:3:150"},"nodeType":"YulFunctionCall","src":"17390:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"17380:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"17411:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"17441:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"17447:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17437:3:150"},"nodeType":"YulFunctionCall","src":"17437:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"17415:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17488:31:150","statements":[{"nodeType":"YulAssignment","src":"17490:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17504:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17512:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17500:3:150"},"nodeType":"YulFunctionCall","src":"17500:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"17490:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"17468:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17461:6:150"},"nodeType":"YulFunctionCall","src":"17461:26:150"},"nodeType":"YulIf","src":"17458:61:150"},{"body":{"nodeType":"YulBlock","src":"17578:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17599:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17606:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17611:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17602:3:150"},"nodeType":"YulFunctionCall","src":"17602:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17592:6:150"},"nodeType":"YulFunctionCall","src":"17592:31:150"},"nodeType":"YulExpressionStatement","src":"17592:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17643:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17646:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17636:6:150"},"nodeType":"YulFunctionCall","src":"17636:15:150"},"nodeType":"YulExpressionStatement","src":"17636:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17671:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17674:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17664:6:150"},"nodeType":"YulFunctionCall","src":"17664:15:150"},"nodeType":"YulExpressionStatement","src":"17664:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"17534:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17557:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17565:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17554:2:150"},"nodeType":"YulFunctionCall","src":"17554:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17531:2:150"},"nodeType":"YulFunctionCall","src":"17531:38:150"},"nodeType":"YulIf","src":"17528:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"17350:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"17359:6:150","type":""}],"src":"17315:380:150"},{"body":{"nodeType":"YulBlock","src":"17732:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17749:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17756:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17761:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17752:3:150"},"nodeType":"YulFunctionCall","src":"17752:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17742:6:150"},"nodeType":"YulFunctionCall","src":"17742:31:150"},"nodeType":"YulExpressionStatement","src":"17742:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17789:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17792:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17782:6:150"},"nodeType":"YulFunctionCall","src":"17782:15:150"},"nodeType":"YulExpressionStatement","src":"17782:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17813:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17816:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17806:6:150"},"nodeType":"YulFunctionCall","src":"17806:15:150"},"nodeType":"YulExpressionStatement","src":"17806:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"17700:127:150"},{"body":{"nodeType":"YulBlock","src":"17892:97:150","statements":[{"nodeType":"YulAssignment","src":"17902:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17917:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17911:5:150"},"nodeType":"YulFunctionCall","src":"17911:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17902:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17977:5:150"}],"functionName":{"name":"validator_revert_contract_IVeBetterPassport","nodeType":"YulIdentifier","src":"17933:43:150"},"nodeType":"YulFunctionCall","src":"17933:50:150"},"nodeType":"YulExpressionStatement","src":"17933:50:150"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17871:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17882:5:150","type":""}],"src":"17832:157:150"},{"body":{"nodeType":"YulBlock","src":"18058:378:150","statements":[{"body":{"nodeType":"YulBlock","src":"18107:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18116:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18119:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18109:6:150"},"nodeType":"YulFunctionCall","src":"18109:12:150"},"nodeType":"YulExpressionStatement","src":"18109:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18086:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"18094:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18082:3:150"},"nodeType":"YulFunctionCall","src":"18082:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"18101:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18078:3:150"},"nodeType":"YulFunctionCall","src":"18078:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18071:6:150"},"nodeType":"YulFunctionCall","src":"18071:35:150"},"nodeType":"YulIf","src":"18068:55:150"},{"nodeType":"YulVariableDeclaration","src":"18132:23:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18148:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18142:5:150"},"nodeType":"YulFunctionCall","src":"18142:13:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"18136:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18164:63:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"18223:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"18195:27:150"},"nodeType":"YulFunctionCall","src":"18195:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"18179:15:150"},"nodeType":"YulFunctionCall","src":"18179:48:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"18168:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"18243:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18252:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18236:6:150"},"nodeType":"YulFunctionCall","src":"18236:19:150"},"nodeType":"YulExpressionStatement","src":"18236:19:150"},{"body":{"nodeType":"YulBlock","src":"18303:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18312:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18315:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18305:6:150"},"nodeType":"YulFunctionCall","src":"18305:12:150"},"nodeType":"YulExpressionStatement","src":"18305:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18278:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18286:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18274:3:150"},"nodeType":"YulFunctionCall","src":"18274:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"18291:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18270:3:150"},"nodeType":"YulFunctionCall","src":"18270:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"18298:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18267:2:150"},"nodeType":"YulFunctionCall","src":"18267:35:150"},"nodeType":"YulIf","src":"18264:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18367:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"18375:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18363:3:150"},"nodeType":"YulFunctionCall","src":"18363:17:150"},{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"18386:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"18395:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18382:3:150"},"nodeType":"YulFunctionCall","src":"18382:18:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18402:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"18328:34:150"},"nodeType":"YulFunctionCall","src":"18328:77:150"},"nodeType":"YulExpressionStatement","src":"18328:77:150"},{"nodeType":"YulAssignment","src":"18414:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"18423:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"18414:5:150"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"18032:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"18040:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"18048:5:150","type":""}],"src":"17994:442:150"},{"body":{"nodeType":"YulBlock","src":"18498:107:150","statements":[{"nodeType":"YulAssignment","src":"18508:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18523:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18517:5:150"},"nodeType":"YulFunctionCall","src":"18517:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"18508:5:150"}]},{"body":{"nodeType":"YulBlock","src":"18583:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18592:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18595:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18585:6:150"},"nodeType":"YulFunctionCall","src":"18585:12:150"},"nodeType":"YulExpressionStatement","src":"18585:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18552:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18573:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18566:6:150"},"nodeType":"YulFunctionCall","src":"18566:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18559:6:150"},"nodeType":"YulFunctionCall","src":"18559:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"18549:2:150"},"nodeType":"YulFunctionCall","src":"18549:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18542:6:150"},"nodeType":"YulFunctionCall","src":"18542:40:150"},"nodeType":"YulIf","src":"18539:60:150"}]},"name":"abi_decode_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"18477:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"18488:5:150","type":""}],"src":"18441:164:150"},{"body":{"nodeType":"YulBlock","src":"18734:941:150","statements":[{"body":{"nodeType":"YulBlock","src":"18780:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18789:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18792:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18782:6:150"},"nodeType":"YulFunctionCall","src":"18782:12:150"},"nodeType":"YulExpressionStatement","src":"18782:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18755:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"18764:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18751:3:150"},"nodeType":"YulFunctionCall","src":"18751:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"18776:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18747:3:150"},"nodeType":"YulFunctionCall","src":"18747:32:150"},"nodeType":"YulIf","src":"18744:52:150"},{"nodeType":"YulVariableDeclaration","src":"18805:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18825:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18819:5:150"},"nodeType":"YulFunctionCall","src":"18819:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18809:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18844:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18862:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"18866:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18858:3:150"},"nodeType":"YulFunctionCall","src":"18858:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"18870:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18854:3:150"},"nodeType":"YulFunctionCall","src":"18854:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"18848:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18899:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18908:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18911:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18901:6:150"},"nodeType":"YulFunctionCall","src":"18901:12:150"},"nodeType":"YulExpressionStatement","src":"18901:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18887:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18895:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18884:2:150"},"nodeType":"YulFunctionCall","src":"18884:14:150"},"nodeType":"YulIf","src":"18881:34:150"},{"nodeType":"YulVariableDeclaration","src":"18924:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18938:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"18949:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18934:3:150"},"nodeType":"YulFunctionCall","src":"18934:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"18928:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18998:6:150"},"nodeType":"YulFunctionCall","src":"18998:12:150"},"nodeType":"YulExpressionStatement","src":"18998:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18976:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"18985:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18972:3:150"},"nodeType":"YulFunctionCall","src":"18972:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"18990:4:150","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18968:3:150"},"nodeType":"YulFunctionCall","src":"18968:27:150"},"nodeType":"YulIf","src":"18965:47:150"},{"nodeType":"YulVariableDeclaration","src":"19021:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_5384","nodeType":"YulIdentifier","src":"19034:20:150"},"nodeType":"YulFunctionCall","src":"19034:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"19025:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19072:5:150"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"19085:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19079:5:150"},"nodeType":"YulFunctionCall","src":"19079:9:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19065:6:150"},"nodeType":"YulFunctionCall","src":"19065:24:150"},"nodeType":"YulExpressionStatement","src":"19065:24:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19109:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"19116:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19105:3:150"},"nodeType":"YulFunctionCall","src":"19105:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"19155:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"19159:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19151:3:150"},"nodeType":"YulFunctionCall","src":"19151:11:150"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"19121:29:150"},"nodeType":"YulFunctionCall","src":"19121:42:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19098:6:150"},"nodeType":"YulFunctionCall","src":"19098:66:150"},"nodeType":"YulExpressionStatement","src":"19098:66:150"},{"nodeType":"YulVariableDeclaration","src":"19173:34:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"19199:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"19203:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19195:3:150"},"nodeType":"YulFunctionCall","src":"19195:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19189:5:150"},"nodeType":"YulFunctionCall","src":"19189:18:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"19177:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19236:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19245:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19248:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19238:6:150"},"nodeType":"YulFunctionCall","src":"19238:12:150"},"nodeType":"YulExpressionStatement","src":"19238:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"19222:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19232:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19219:2:150"},"nodeType":"YulFunctionCall","src":"19219:16:150"},"nodeType":"YulIf","src":"19216:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19272:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"19279:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19268:3:150"},"nodeType":"YulFunctionCall","src":"19268:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"19317:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"19321:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19313:3:150"},"nodeType":"YulFunctionCall","src":"19313:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"19332:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"19284:28:150"},"nodeType":"YulFunctionCall","src":"19284:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19261:6:150"},"nodeType":"YulFunctionCall","src":"19261:80:150"},"nodeType":"YulExpressionStatement","src":"19261:80:150"},{"nodeType":"YulVariableDeclaration","src":"19350:34:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"19376:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"19380:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19372:3:150"},"nodeType":"YulFunctionCall","src":"19372:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19366:5:150"},"nodeType":"YulFunctionCall","src":"19366:18:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"19354:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19413:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19422:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19425:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19415:6:150"},"nodeType":"YulFunctionCall","src":"19415:12:150"},"nodeType":"YulExpressionStatement","src":"19415:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"19399:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19409:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19396:2:150"},"nodeType":"YulFunctionCall","src":"19396:16:150"},"nodeType":"YulIf","src":"19393:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19449:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"19456:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19445:3:150"},"nodeType":"YulFunctionCall","src":"19445:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"19494:2:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"19498:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19490:3:150"},"nodeType":"YulFunctionCall","src":"19490:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"19509:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"19461:28:150"},"nodeType":"YulFunctionCall","src":"19461:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19438:6:150"},"nodeType":"YulFunctionCall","src":"19438:80:150"},"nodeType":"YulExpressionStatement","src":"19438:80:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19538:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"19545:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19534:3:150"},"nodeType":"YulFunctionCall","src":"19534:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"19561:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"19565:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19557:3:150"},"nodeType":"YulFunctionCall","src":"19557:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19551:5:150"},"nodeType":"YulFunctionCall","src":"19551:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19527:6:150"},"nodeType":"YulFunctionCall","src":"19527:44:150"},"nodeType":"YulExpressionStatement","src":"19527:44:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19591:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"19598:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19587:3:150"},"nodeType":"YulFunctionCall","src":"19587:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"19635:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"19639:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19631:3:150"},"nodeType":"YulFunctionCall","src":"19631:12:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"19604:26:150"},"nodeType":"YulFunctionCall","src":"19604:40:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19580:6:150"},"nodeType":"YulFunctionCall","src":"19580:65:150"},"nodeType":"YulExpressionStatement","src":"19580:65:150"},{"nodeType":"YulAssignment","src":"19654:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"19664:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19654:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18700:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"18711:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"18723:6:150","type":""}],"src":"18610:1065:150"},{"body":{"nodeType":"YulBlock","src":"19712:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19729:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19736:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"19741:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19732:3:150"},"nodeType":"YulFunctionCall","src":"19732:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19722:6:150"},"nodeType":"YulFunctionCall","src":"19722:31:150"},"nodeType":"YulExpressionStatement","src":"19722:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19769:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19772:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19762:6:150"},"nodeType":"YulFunctionCall","src":"19762:15:150"},"nodeType":"YulExpressionStatement","src":"19762:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19793:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19796:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19786:6:150"},"nodeType":"YulFunctionCall","src":"19786:15:150"},"nodeType":"YulExpressionStatement","src":"19786:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"19680:127:150"},{"body":{"nodeType":"YulBlock","src":"19859:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"19890:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19892:16:150"},"nodeType":"YulFunctionCall","src":"19892:18:150"},"nodeType":"YulExpressionStatement","src":"19892:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19875:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19886:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"19882:3:150"},"nodeType":"YulFunctionCall","src":"19882:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19872:2:150"},"nodeType":"YulFunctionCall","src":"19872:17:150"},"nodeType":"YulIf","src":"19869:43:150"},{"nodeType":"YulAssignment","src":"19921:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19932:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"19939:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19928:3:150"},"nodeType":"YulFunctionCall","src":"19928:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"19921:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19841:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"19851:3:150","type":""}],"src":"19812:135:150"},{"body":{"nodeType":"YulBlock","src":"20051:101:150","statements":[{"nodeType":"YulAssignment","src":"20061:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20073:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20084:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20069:3:150"},"nodeType":"YulFunctionCall","src":"20069:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20061:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20103:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20118:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20134:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"20138:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20130:3:150"},"nodeType":"YulFunctionCall","src":"20130:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"20142:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20126:3:150"},"nodeType":"YulFunctionCall","src":"20126:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20114:3:150"},"nodeType":"YulFunctionCall","src":"20114:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20096:6:150"},"nodeType":"YulFunctionCall","src":"20096:50:150"},"nodeType":"YulExpressionStatement","src":"20096:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20020:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20031:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20042:4:150","type":""}],"src":"19952:200:150"},{"body":{"nodeType":"YulBlock","src":"20331:239:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20348:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20359:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20341:6:150"},"nodeType":"YulFunctionCall","src":"20341:21:150"},"nodeType":"YulExpressionStatement","src":"20341:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20382:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20393:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20378:3:150"},"nodeType":"YulFunctionCall","src":"20378:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"20398:2:150","type":"","value":"49"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20371:6:150"},"nodeType":"YulFunctionCall","src":"20371:30:150"},"nodeType":"YulExpressionStatement","src":"20371:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20421:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20432:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20417:3:150"},"nodeType":"YulFunctionCall","src":"20417:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64","kind":"string","nodeType":"YulLiteral","src":"20437:34:150","type":"","value":"XAllocationVotingGovernor: round"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20410:6:150"},"nodeType":"YulFunctionCall","src":"20410:62:150"},"nodeType":"YulExpressionStatement","src":"20410:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20492:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20503:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20488:3:150"},"nodeType":"YulFunctionCall","src":"20488:18:150"},{"hexValue":"206973206e6f7420656e64656420796574","kind":"string","nodeType":"YulLiteral","src":"20508:19:150","type":"","value":" is not ended yet"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20481:6:150"},"nodeType":"YulFunctionCall","src":"20481:47:150"},"nodeType":"YulExpressionStatement","src":"20481:47:150"},{"nodeType":"YulAssignment","src":"20537:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20549:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20560:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20545:3:150"},"nodeType":"YulFunctionCall","src":"20545:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20537:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20308:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20322:4:150","type":""}],"src":"20157:413:150"},{"body":{"nodeType":"YulBlock","src":"20624:79:150","statements":[{"nodeType":"YulAssignment","src":"20634:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"20646:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"20649:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20642:3:150"},"nodeType":"YulFunctionCall","src":"20642:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"20634:4:150"}]},{"body":{"nodeType":"YulBlock","src":"20675:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"20677:16:150"},"nodeType":"YulFunctionCall","src":"20677:18:150"},"nodeType":"YulExpressionStatement","src":"20677:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"20666:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"20672:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20663:2:150"},"nodeType":"YulFunctionCall","src":"20663:11:150"},"nodeType":"YulIf","src":"20660:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"20606:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"20609:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"20615:4:150","type":""}],"src":"20575:128:150"},{"body":{"nodeType":"YulBlock","src":"20799:246:150","statements":[{"body":{"nodeType":"YulBlock","src":"20845:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20854:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20857:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20847:6:150"},"nodeType":"YulFunctionCall","src":"20847:12:150"},"nodeType":"YulExpressionStatement","src":"20847:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20820:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20829:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20816:3:150"},"nodeType":"YulFunctionCall","src":"20816:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20841:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20812:3:150"},"nodeType":"YulFunctionCall","src":"20812:32:150"},"nodeType":"YulIf","src":"20809:52:150"},{"nodeType":"YulVariableDeclaration","src":"20870:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20890:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20884:5:150"},"nodeType":"YulFunctionCall","src":"20884:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20874:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"20943:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20952:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20955:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20945:6:150"},"nodeType":"YulFunctionCall","src":"20945:12:150"},"nodeType":"YulExpressionStatement","src":"20945:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20915:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20931:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"20935:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20927:3:150"},"nodeType":"YulFunctionCall","src":"20927:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"20939:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20923:3:150"},"nodeType":"YulFunctionCall","src":"20923:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20912:2:150"},"nodeType":"YulFunctionCall","src":"20912:30:150"},"nodeType":"YulIf","src":"20909:50:150"},{"nodeType":"YulAssignment","src":"20968:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21011:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"21022:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21007:3:150"},"nodeType":"YulFunctionCall","src":"21007:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"21031:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"20978:28:150"},"nodeType":"YulFunctionCall","src":"20978:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20968:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20765:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20776:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20788:6:150","type":""}],"src":"20708:337:150"},{"body":{"nodeType":"YulBlock","src":"21224:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21241:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21252:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21234:6:150"},"nodeType":"YulFunctionCall","src":"21234:21:150"},"nodeType":"YulExpressionStatement","src":"21234:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21275:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21286:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21271:3:150"},"nodeType":"YulFunctionCall","src":"21271:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21291:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21264:6:150"},"nodeType":"YulFunctionCall","src":"21264:30:150"},"nodeType":"YulExpressionStatement","src":"21264:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21314:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21325:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21310:3:150"},"nodeType":"YulFunctionCall","src":"21310:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206170707320","kind":"string","nodeType":"YulLiteral","src":"21330:34:150","type":"","value":"XAllocationVotingGovernor: apps "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21303:6:150"},"nodeType":"YulFunctionCall","src":"21303:62:150"},"nodeType":"YulExpressionStatement","src":"21303:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21385:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21396:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21381:3:150"},"nodeType":"YulFunctionCall","src":"21381:18:150"},{"hexValue":"616e642077656967687473206c656e677468206d69736d61746368","kind":"string","nodeType":"YulLiteral","src":"21401:29:150","type":"","value":"and weights length mismatch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21374:6:150"},"nodeType":"YulFunctionCall","src":"21374:57:150"},"nodeType":"YulExpressionStatement","src":"21374:57:150"},{"nodeType":"YulAssignment","src":"21440:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21452:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21463:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21448:3:150"},"nodeType":"YulFunctionCall","src":"21448:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21440:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21201:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21215:4:150","type":""}],"src":"21050:423:150"},{"body":{"nodeType":"YulBlock","src":"21652:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21669:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21680:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21662:6:150"},"nodeType":"YulFunctionCall","src":"21662:21:150"},"nodeType":"YulExpressionStatement","src":"21662:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21703:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21714:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21699:3:150"},"nodeType":"YulFunctionCall","src":"21699:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21719:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21692:6:150"},"nodeType":"YulFunctionCall","src":"21692:30:150"},"nodeType":"YulExpressionStatement","src":"21692:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21742:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21753:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21738:3:150"},"nodeType":"YulFunctionCall","src":"21738:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f206170","kind":"string","nodeType":"YulLiteral","src":"21758:34:150","type":"","value":"XAllocationVotingGovernor: no ap"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21731:6:150"},"nodeType":"YulFunctionCall","src":"21731:62:150"},"nodeType":"YulExpressionStatement","src":"21731:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21813:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21824:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21809:3:150"},"nodeType":"YulFunctionCall","src":"21809:18:150"},{"hexValue":"707320746f20766f746520666f72","kind":"string","nodeType":"YulLiteral","src":"21829:16:150","type":"","value":"ps to vote for"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21802:6:150"},"nodeType":"YulFunctionCall","src":"21802:44:150"},"nodeType":"YulExpressionStatement","src":"21802:44:150"},{"nodeType":"YulAssignment","src":"21855:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21867:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21878:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21863:3:150"},"nodeType":"YulFunctionCall","src":"21863:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21855:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21629:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21643:4:150","type":""}],"src":"21478:410:150"},{"body":{"nodeType":"YulBlock","src":"22020:166:150","statements":[{"nodeType":"YulAssignment","src":"22030:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22042:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22053:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22038:3:150"},"nodeType":"YulFunctionCall","src":"22038:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22030:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22072:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22087:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22103:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22108:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22099:3:150"},"nodeType":"YulFunctionCall","src":"22099:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"22112:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22095:3:150"},"nodeType":"YulFunctionCall","src":"22095:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22083:3:150"},"nodeType":"YulFunctionCall","src":"22083:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22065:6:150"},"nodeType":"YulFunctionCall","src":"22065:51:150"},"nodeType":"YulExpressionStatement","src":"22065:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22136:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22147:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22132:3:150"},"nodeType":"YulFunctionCall","src":"22132:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22156:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"22164:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22152:3:150"},"nodeType":"YulFunctionCall","src":"22152:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22125:6:150"},"nodeType":"YulFunctionCall","src":"22125:55:150"},"nodeType":"YulExpressionStatement","src":"22125:55:150"}]},"name":"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21981:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21992:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22000:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22011:4:150","type":""}],"src":"21893:293:150"},{"body":{"nodeType":"YulBlock","src":"22296:311:150","statements":[{"body":{"nodeType":"YulBlock","src":"22342:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22351:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22354:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22344:6:150"},"nodeType":"YulFunctionCall","src":"22344:12:150"},"nodeType":"YulExpressionStatement","src":"22344:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22317:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22326:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22313:3:150"},"nodeType":"YulFunctionCall","src":"22313:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22338:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22309:3:150"},"nodeType":"YulFunctionCall","src":"22309:32:150"},"nodeType":"YulIf","src":"22306:52:150"},{"nodeType":"YulAssignment","src":"22367:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22404:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"22377:26:150"},"nodeType":"YulFunctionCall","src":"22377:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22367:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"22423:39:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22447:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22458:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22443:3:150"},"nodeType":"YulFunctionCall","src":"22443:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22437:5:150"},"nodeType":"YulFunctionCall","src":"22437:25:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"22427:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22505:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22514:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22517:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22507:6:150"},"nodeType":"YulFunctionCall","src":"22507:12:150"},"nodeType":"YulExpressionStatement","src":"22507:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22477:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22493:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"22497:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22489:3:150"},"nodeType":"YulFunctionCall","src":"22489:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"22501:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22485:3:150"},"nodeType":"YulFunctionCall","src":"22485:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22474:2:150"},"nodeType":"YulFunctionCall","src":"22474:30:150"},"nodeType":"YulIf","src":"22471:50:150"},{"nodeType":"YulAssignment","src":"22530:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22573:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"22584:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22569:3:150"},"nodeType":"YulFunctionCall","src":"22569:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22593:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"22540:28:150"},"nodeType":"YulFunctionCall","src":"22540:61:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"22530:6:150"}]}]},"name":"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22254:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22265:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22277:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22285:6:150","type":""}],"src":"22191:416:150"},{"body":{"nodeType":"YulBlock","src":"22761:168:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22778:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22793:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22809:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22814:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22805:3:150"},"nodeType":"YulFunctionCall","src":"22805:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"22818:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22801:3:150"},"nodeType":"YulFunctionCall","src":"22801:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22789:3:150"},"nodeType":"YulFunctionCall","src":"22789:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22771:6:150"},"nodeType":"YulFunctionCall","src":"22771:51:150"},"nodeType":"YulExpressionStatement","src":"22771:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22842:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22853:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22838:3:150"},"nodeType":"YulFunctionCall","src":"22838:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"22858:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22831:6:150"},"nodeType":"YulFunctionCall","src":"22831:30:150"},"nodeType":"YulExpressionStatement","src":"22831:30:150"},{"nodeType":"YulAssignment","src":"22870:53:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22896:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22908:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22919:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22904:3:150"},"nodeType":"YulFunctionCall","src":"22904:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"22878:17:150"},"nodeType":"YulFunctionCall","src":"22878:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22870:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22722:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22733:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22741:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22752:4:150","type":""}],"src":"22612:317:150"},{"body":{"nodeType":"YulBlock","src":"23014:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"23060:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23069:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23072:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23062:6:150"},"nodeType":"YulFunctionCall","src":"23062:12:150"},"nodeType":"YulExpressionStatement","src":"23062:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23035:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23044:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23031:3:150"},"nodeType":"YulFunctionCall","src":"23031:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23056:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23027:3:150"},"nodeType":"YulFunctionCall","src":"23027:32:150"},"nodeType":"YulIf","src":"23024:52:150"},{"nodeType":"YulVariableDeclaration","src":"23085:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23104:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23098:5:150"},"nodeType":"YulFunctionCall","src":"23098:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"23089:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"23172:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23181:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23184:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23174:6:150"},"nodeType":"YulFunctionCall","src":"23174:12:150"},"nodeType":"YulExpressionStatement","src":"23174:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23136:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23147:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"23154:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23143:3:150"},"nodeType":"YulFunctionCall","src":"23143:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"23133:2:150"},"nodeType":"YulFunctionCall","src":"23133:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"23126:6:150"},"nodeType":"YulFunctionCall","src":"23126:45:150"},"nodeType":"YulIf","src":"23123:65:150"},{"nodeType":"YulAssignment","src":"23197:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"23207:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23197:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22980:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22991:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23003:6:150","type":""}],"src":"22934:284:150"},{"body":{"nodeType":"YulBlock","src":"23352:145:150","statements":[{"nodeType":"YulAssignment","src":"23362:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23374:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23385:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23370:3:150"},"nodeType":"YulFunctionCall","src":"23370:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23362:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23404:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23419:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23435:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23440:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23431:3:150"},"nodeType":"YulFunctionCall","src":"23431:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23444:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23427:3:150"},"nodeType":"YulFunctionCall","src":"23427:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23415:3:150"},"nodeType":"YulFunctionCall","src":"23415:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23397:6:150"},"nodeType":"YulFunctionCall","src":"23397:51:150"},"nodeType":"YulExpressionStatement","src":"23397:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23468:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23479:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23464:3:150"},"nodeType":"YulFunctionCall","src":"23464:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"23484:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23457:6:150"},"nodeType":"YulFunctionCall","src":"23457:34:150"},"nodeType":"YulExpressionStatement","src":"23457:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23313:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23324:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23332:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23343:4:150","type":""}],"src":"23223:274:150"},{"body":{"nodeType":"YulBlock","src":"23583:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"23629:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23638:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23641:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23631:6:150"},"nodeType":"YulFunctionCall","src":"23631:12:150"},"nodeType":"YulExpressionStatement","src":"23631:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23604:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23613:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23600:3:150"},"nodeType":"YulFunctionCall","src":"23600:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23625:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23596:3:150"},"nodeType":"YulFunctionCall","src":"23596:32:150"},"nodeType":"YulIf","src":"23593:52:150"},{"nodeType":"YulAssignment","src":"23654:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23670:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23664:5:150"},"nodeType":"YulFunctionCall","src":"23664:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23654:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23549:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23560:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23572:6:150","type":""}],"src":"23502:184:150"},{"body":{"nodeType":"YulBlock","src":"23738:129:150","statements":[{"nodeType":"YulVariableDeclaration","src":"23748:24:150","value":{"kind":"number","nodeType":"YulLiteral","src":"23758:14:150","type":"","value":"0xffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23752:2:150","type":""}]},{"nodeType":"YulAssignment","src":"23781:34:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23796:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23799:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23792:3:150"},"nodeType":"YulFunctionCall","src":"23792:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"23808:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23811:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23804:3:150"},"nodeType":"YulFunctionCall","src":"23804:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23788:3:150"},"nodeType":"YulFunctionCall","src":"23788:27:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"23781:3:150"}]},{"body":{"nodeType":"YulBlock","src":"23839:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23841:16:150"},"nodeType":"YulFunctionCall","src":"23841:18:150"},"nodeType":"YulExpressionStatement","src":"23841:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"23830:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23835:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23827:2:150"},"nodeType":"YulFunctionCall","src":"23827:11:150"},"nodeType":"YulIf","src":"23824:37:150"}]},"name":"checked_add_t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23721:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"23724:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"23730:3:150","type":""}],"src":"23691:176:150"},{"body":{"nodeType":"YulBlock","src":"24001:119:150","statements":[{"nodeType":"YulAssignment","src":"24011:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24023:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24034:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24019:3:150"},"nodeType":"YulFunctionCall","src":"24019:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24011:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24053:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"24064:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24046:6:150"},"nodeType":"YulFunctionCall","src":"24046:25:150"},"nodeType":"YulExpressionStatement","src":"24046:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24091:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24102:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24087:3:150"},"nodeType":"YulFunctionCall","src":"24087:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"24107:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24080:6:150"},"nodeType":"YulFunctionCall","src":"24080:34:150"},"nodeType":"YulExpressionStatement","src":"24080:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23962:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23973:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23981:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23992:4:150","type":""}],"src":"23872:248:150"},{"body":{"nodeType":"YulBlock","src":"24203:124:150","statements":[{"body":{"nodeType":"YulBlock","src":"24249:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24258:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24261:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24251:6:150"},"nodeType":"YulFunctionCall","src":"24251:12:150"},"nodeType":"YulExpressionStatement","src":"24251:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24224:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24233:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24220:3:150"},"nodeType":"YulFunctionCall","src":"24220:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24245:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24216:3:150"},"nodeType":"YulFunctionCall","src":"24216:32:150"},"nodeType":"YulIf","src":"24213:52:150"},{"nodeType":"YulAssignment","src":"24274:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24311:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"24284:26:150"},"nodeType":"YulFunctionCall","src":"24284:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24274:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24169:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24180:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24192:6:150","type":""}],"src":"24125:202:150"},{"body":{"nodeType":"YulBlock","src":"24506:235:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24523:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24534:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24516:6:150"},"nodeType":"YulFunctionCall","src":"24516:21:150"},"nodeType":"YulExpressionStatement","src":"24516:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24557:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24568:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24553:3:150"},"nodeType":"YulFunctionCall","src":"24553:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24573:2:150","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24546:6:150"},"nodeType":"YulFunctionCall","src":"24546:30:150"},"nodeType":"YulExpressionStatement","src":"24546:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24596:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24607:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24592:3:150"},"nodeType":"YulFunctionCall","src":"24592:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420564f543320","kind":"string","nodeType":"YulLiteral","src":"24612:34:150","type":"","value":"XAllocationVoting: invalid VOT3 "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24585:6:150"},"nodeType":"YulFunctionCall","src":"24585:62:150"},"nodeType":"YulExpressionStatement","src":"24585:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24667:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24678:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24663:3:150"},"nodeType":"YulFunctionCall","src":"24663:18:150"},{"hexValue":"746f6b656e2061646472657373","kind":"string","nodeType":"YulLiteral","src":"24683:15:150","type":"","value":"token address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24656:6:150"},"nodeType":"YulFunctionCall","src":"24656:43:150"},"nodeType":"YulExpressionStatement","src":"24656:43:150"},{"nodeType":"YulAssignment","src":"24708:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24720:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24731:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24716:3:150"},"nodeType":"YulFunctionCall","src":"24716:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24708:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24483:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24497:4:150","type":""}],"src":"24332:409:150"},{"body":{"nodeType":"YulBlock","src":"24920:237:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24937:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24948:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24930:6:150"},"nodeType":"YulFunctionCall","src":"24930:21:150"},"nodeType":"YulExpressionStatement","src":"24930:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24971:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24982:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24967:3:150"},"nodeType":"YulFunctionCall","src":"24967:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24987:2:150","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24960:6:150"},"nodeType":"YulFunctionCall","src":"24960:30:150"},"nodeType":"YulExpressionStatement","src":"24960:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25010:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25021:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25006:3:150"},"nodeType":"YulFunctionCall","src":"25006:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420566f746572","kind":"string","nodeType":"YulLiteral","src":"25026:34:150","type":"","value":"XAllocationVoting: invalid Voter"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24999:6:150"},"nodeType":"YulFunctionCall","src":"24999:62:150"},"nodeType":"YulExpressionStatement","src":"24999:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25092:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25077:3:150"},"nodeType":"YulFunctionCall","src":"25077:18:150"},{"hexValue":"526577617264732061646472657373","kind":"string","nodeType":"YulLiteral","src":"25097:17:150","type":"","value":"Rewards address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25070:6:150"},"nodeType":"YulFunctionCall","src":"25070:45:150"},"nodeType":"YulExpressionStatement","src":"25070:45:150"},{"nodeType":"YulAssignment","src":"25124:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25136:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25147:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25132:3:150"},"nodeType":"YulFunctionCall","src":"25132:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25124:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24897:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24911:4:150","type":""}],"src":"24746:411:150"},{"body":{"nodeType":"YulBlock","src":"25336:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25353:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25364:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25346:6:150"},"nodeType":"YulFunctionCall","src":"25346:21:150"},"nodeType":"YulExpressionStatement","src":"25346:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25387:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25398:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25383:3:150"},"nodeType":"YulFunctionCall","src":"25383:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25403:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25376:6:150"},"nodeType":"YulFunctionCall","src":"25376:30:150"},"nodeType":"YulExpressionStatement","src":"25376:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25426:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25437:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25422:3:150"},"nodeType":"YulFunctionCall","src":"25422:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420456d697373","kind":"string","nodeType":"YulLiteral","src":"25442:34:150","type":"","value":"XAllocationVoting: invalid Emiss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25415:6:150"},"nodeType":"YulFunctionCall","src":"25415:62:150"},"nodeType":"YulExpressionStatement","src":"25415:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25497:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25508:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25493:3:150"},"nodeType":"YulFunctionCall","src":"25493:18:150"},{"hexValue":"696f6e732061646472657373","kind":"string","nodeType":"YulLiteral","src":"25513:14:150","type":"","value":"ions address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25486:6:150"},"nodeType":"YulFunctionCall","src":"25486:42:150"},"nodeType":"YulExpressionStatement","src":"25486:42:150"},{"nodeType":"YulAssignment","src":"25537:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25549:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25560:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25545:3:150"},"nodeType":"YulFunctionCall","src":"25545:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25537:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25313:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25327:4:150","type":""}],"src":"25162:408:150"},{"body":{"nodeType":"YulBlock","src":"25749:230:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25766:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25777:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25759:6:150"},"nodeType":"YulFunctionCall","src":"25759:21:150"},"nodeType":"YulExpressionStatement","src":"25759:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25800:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25811:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25796:3:150"},"nodeType":"YulFunctionCall","src":"25796:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"25816:2:150","type":"","value":"40"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25789:6:150"},"nodeType":"YulFunctionCall","src":"25789:30:150"},"nodeType":"YulExpressionStatement","src":"25789:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25839:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25850:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25835:3:150"},"nodeType":"YulFunctionCall","src":"25835:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c69642061646d696e","kind":"string","nodeType":"YulLiteral","src":"25855:34:150","type":"","value":"XAllocationVoting: invalid admin"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25828:6:150"},"nodeType":"YulFunctionCall","src":"25828:62:150"},"nodeType":"YulExpressionStatement","src":"25828:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25910:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25921:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25906:3:150"},"nodeType":"YulFunctionCall","src":"25906:18:150"},{"hexValue":"2061646472657373","kind":"string","nodeType":"YulLiteral","src":"25926:10:150","type":"","value":" address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25899:6:150"},"nodeType":"YulFunctionCall","src":"25899:38:150"},"nodeType":"YulExpressionStatement","src":"25899:38:150"},{"nodeType":"YulAssignment","src":"25946:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25958:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25969:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25954:3:150"},"nodeType":"YulFunctionCall","src":"25954:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25946:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25726:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25740:4:150","type":""}],"src":"25575:404:150"},{"body":{"nodeType":"YulBlock","src":"26092:101:150","statements":[{"nodeType":"YulAssignment","src":"26102:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26114:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26125:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26110:3:150"},"nodeType":"YulFunctionCall","src":"26110:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26102:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26144:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26159:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26175:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"26179:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26171:3:150"},"nodeType":"YulFunctionCall","src":"26171:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"26183:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26167:3:150"},"nodeType":"YulFunctionCall","src":"26167:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26155:3:150"},"nodeType":"YulFunctionCall","src":"26155:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26137:6:150"},"nodeType":"YulFunctionCall","src":"26137:50:150"},"nodeType":"YulExpressionStatement","src":"26137:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26061:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26072:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26083:4:150","type":""}],"src":"25984:209:150"},{"body":{"nodeType":"YulBlock","src":"26279:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"26325:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26334:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26337:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26327:6:150"},"nodeType":"YulFunctionCall","src":"26327:12:150"},"nodeType":"YulExpressionStatement","src":"26327:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"26300:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"26309:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26296:3:150"},"nodeType":"YulFunctionCall","src":"26296:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"26321:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"26292:3:150"},"nodeType":"YulFunctionCall","src":"26292:32:150"},"nodeType":"YulIf","src":"26289:52:150"},{"nodeType":"YulAssignment","src":"26350:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26366:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26360:5:150"},"nodeType":"YulFunctionCall","src":"26360:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"26350:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26245:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"26256:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"26268:6:150","type":""}],"src":"26198:184:150"},{"body":{"nodeType":"YulBlock","src":"26558:182:150","statements":[{"nodeType":"YulAssignment","src":"26568:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26580:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26591:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26576:3:150"},"nodeType":"YulFunctionCall","src":"26576:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26568:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26610:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"26621:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26603:6:150"},"nodeType":"YulFunctionCall","src":"26603:25:150"},"nodeType":"YulExpressionStatement","src":"26603:25:150"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"26664:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26676:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26687:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26672:3:150"},"nodeType":"YulFunctionCall","src":"26672:18:150"}],"functionName":{"name":"abi_encode_enum_RoundState","nodeType":"YulIdentifier","src":"26637:26:150"},"nodeType":"YulFunctionCall","src":"26637:54:150"},"nodeType":"YulExpressionStatement","src":"26637:54:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26711:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26722:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26707:3:150"},"nodeType":"YulFunctionCall","src":"26707:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"26727:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26700:6:150"},"nodeType":"YulFunctionCall","src":"26700:34:150"},"nodeType":"YulExpressionStatement","src":"26700:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_RoundState_$41575_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26511:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"26522:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26530:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26538:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26549:4:150","type":""}],"src":"26387:353:150"},{"body":{"nodeType":"YulBlock","src":"26881:130:150","statements":[{"nodeType":"YulAssignment","src":"26891:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26903:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26914:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26899:3:150"},"nodeType":"YulFunctionCall","src":"26899:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26891:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26933:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26948:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"26956:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26944:3:150"},"nodeType":"YulFunctionCall","src":"26944:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26926:6:150"},"nodeType":"YulFunctionCall","src":"26926:36:150"},"nodeType":"YulExpressionStatement","src":"26926:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26982:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26993:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26978:3:150"},"nodeType":"YulFunctionCall","src":"26978:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"26998:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26971:6:150"},"nodeType":"YulFunctionCall","src":"26971:34:150"},"nodeType":"YulExpressionStatement","src":"26971:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26842:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26853:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26861:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26872:4:150","type":""}],"src":"26745:266:150"},{"body":{"nodeType":"YulBlock","src":"27064:77:150","statements":[{"nodeType":"YulAssignment","src":"27074:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"27085:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"27088:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27081:3:150"},"nodeType":"YulFunctionCall","src":"27081:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"27074:3:150"}]},{"body":{"nodeType":"YulBlock","src":"27113:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"27115:16:150"},"nodeType":"YulFunctionCall","src":"27115:18:150"},"nodeType":"YulExpressionStatement","src":"27115:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"27105:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"27108:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27102:2:150"},"nodeType":"YulFunctionCall","src":"27102:10:150"},"nodeType":"YulIf","src":"27099:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"27047:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"27050:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"27056:3:150","type":""}],"src":"27016:125:150"},{"body":{"nodeType":"YulBlock","src":"27178:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27195:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27202:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"27207:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27198:3:150"},"nodeType":"YulFunctionCall","src":"27198:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27188:6:150"},"nodeType":"YulFunctionCall","src":"27188:31:150"},"nodeType":"YulExpressionStatement","src":"27188:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27235:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"27238:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27228:6:150"},"nodeType":"YulFunctionCall","src":"27228:15:150"},"nodeType":"YulExpressionStatement","src":"27228:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27259:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27262:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27252:6:150"},"nodeType":"YulFunctionCall","src":"27252:15:150"},"nodeType":"YulExpressionStatement","src":"27252:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"27146:127:150"},{"body":{"nodeType":"YulBlock","src":"27324:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"27355:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27376:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27383:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"27388:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27379:3:150"},"nodeType":"YulFunctionCall","src":"27379:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27369:6:150"},"nodeType":"YulFunctionCall","src":"27369:31:150"},"nodeType":"YulExpressionStatement","src":"27369:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27420:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"27423:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27413:6:150"},"nodeType":"YulFunctionCall","src":"27413:15:150"},"nodeType":"YulExpressionStatement","src":"27413:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27448:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27451:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27441:6:150"},"nodeType":"YulFunctionCall","src":"27441:15:150"},"nodeType":"YulExpressionStatement","src":"27441:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"27344:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27337:6:150"},"nodeType":"YulFunctionCall","src":"27337:9:150"},"nodeType":"YulIf","src":"27334:132:150"},{"nodeType":"YulAssignment","src":"27475:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"27484:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"27487:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"27480:3:150"},"nodeType":"YulFunctionCall","src":"27480:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"27475:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"27309:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"27312:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"27318:1:150","type":""}],"src":"27278:217:150"},{"body":{"nodeType":"YulBlock","src":"27552:116:150","statements":[{"nodeType":"YulAssignment","src":"27562:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"27577:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"27580:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"27573:3:150"},"nodeType":"YulFunctionCall","src":"27573:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"27562:7:150"}]},{"body":{"nodeType":"YulBlock","src":"27640:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"27642:16:150"},"nodeType":"YulFunctionCall","src":"27642:18:150"},"nodeType":"YulExpressionStatement","src":"27642:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"27611:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27604:6:150"},"nodeType":"YulFunctionCall","src":"27604:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"27618:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"27625:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"27634:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"27621:3:150"},"nodeType":"YulFunctionCall","src":"27621:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"27615:2:150"},"nodeType":"YulFunctionCall","src":"27615:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"27601:2:150"},"nodeType":"YulFunctionCall","src":"27601:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"27594:6:150"},"nodeType":"YulFunctionCall","src":"27594:45:150"},"nodeType":"YulIf","src":"27591:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"27531:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"27534:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"27540:7:150","type":""}],"src":"27500:168:150"},{"body":{"nodeType":"YulBlock","src":"27802:119:150","statements":[{"nodeType":"YulAssignment","src":"27812:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27824:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27835:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27820:3:150"},"nodeType":"YulFunctionCall","src":"27820:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27812:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27854:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"27865:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27847:6:150"},"nodeType":"YulFunctionCall","src":"27847:25:150"},"nodeType":"YulExpressionStatement","src":"27847:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27892:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27903:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27888:3:150"},"nodeType":"YulFunctionCall","src":"27888:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"27908:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27881:6:150"},"nodeType":"YulFunctionCall","src":"27881:34:150"},"nodeType":"YulExpressionStatement","src":"27881:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27763:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"27774:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27782:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27793:4:150","type":""}],"src":"27673:248:150"},{"body":{"nodeType":"YulBlock","src":"28111:232:150","statements":[{"nodeType":"YulAssignment","src":"28121:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28133:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28144:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28129:3:150"},"nodeType":"YulFunctionCall","src":"28129:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28121:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28164:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"28175:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28157:6:150"},"nodeType":"YulFunctionCall","src":"28157:25:150"},"nodeType":"YulExpressionStatement","src":"28157:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28202:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28213:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28198:3:150"},"nodeType":"YulFunctionCall","src":"28198:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"28222:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28238:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"28243:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28234:3:150"},"nodeType":"YulFunctionCall","src":"28234:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"28247:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28230:3:150"},"nodeType":"YulFunctionCall","src":"28230:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28218:3:150"},"nodeType":"YulFunctionCall","src":"28218:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28191:6:150"},"nodeType":"YulFunctionCall","src":"28191:60:150"},"nodeType":"YulExpressionStatement","src":"28191:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28271:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28282:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28267:3:150"},"nodeType":"YulFunctionCall","src":"28267:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"28287:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28260:6:150"},"nodeType":"YulFunctionCall","src":"28260:34:150"},"nodeType":"YulExpressionStatement","src":"28260:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28314:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28325:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28310:3:150"},"nodeType":"YulFunctionCall","src":"28310:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"28330:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28303:6:150"},"nodeType":"YulFunctionCall","src":"28303:34:150"},"nodeType":"YulExpressionStatement","src":"28303:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28056:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"28067:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"28075:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28083:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"28091:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28102:4:150","type":""}],"src":"27926:417:150"},{"body":{"nodeType":"YulBlock","src":"28577:575:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28594:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28605:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28587:6:150"},"nodeType":"YulFunctionCall","src":"28587:21:150"},"nodeType":"YulExpressionStatement","src":"28587:21:150"},{"nodeType":"YulVariableDeclaration","src":"28617:70:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"28660:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28672:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28683:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28668:3:150"},"nodeType":"YulFunctionCall","src":"28668:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"28631:28:150"},"nodeType":"YulFunctionCall","src":"28631:56:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"28621:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28696:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28706:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"28700:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28728:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28739:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28724:3:150"},"nodeType":"YulFunctionCall","src":"28724:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"28748:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"28756:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28744:3:150"},"nodeType":"YulFunctionCall","src":"28744:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28717:6:150"},"nodeType":"YulFunctionCall","src":"28717:50:150"},"nodeType":"YulExpressionStatement","src":"28717:50:150"},{"nodeType":"YulVariableDeclaration","src":"28776:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"28787:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"28780:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28802:27:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"28822:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28816:5:150"},"nodeType":"YulFunctionCall","src":"28816:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"28806:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"28845:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"28853:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28838:6:150"},"nodeType":"YulFunctionCall","src":"28838:22:150"},"nodeType":"YulExpressionStatement","src":"28838:22:150"},{"nodeType":"YulAssignment","src":"28869:22:150","value":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"28880:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28888:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28876:3:150"},"nodeType":"YulFunctionCall","src":"28876:15:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"28869:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"28900:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"28918:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28926:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28914:3:150"},"nodeType":"YulFunctionCall","src":"28914:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"28904:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28938:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"28947:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"28942:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29006:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29027:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"29038:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29032:5:150"},"nodeType":"YulFunctionCall","src":"29032:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29020:6:150"},"nodeType":"YulFunctionCall","src":"29020:26:150"},"nodeType":"YulExpressionStatement","src":"29020:26:150"},{"nodeType":"YulAssignment","src":"29059:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29070:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29075:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29066:3:150"},"nodeType":"YulFunctionCall","src":"29066:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"29059:3:150"}]},{"nodeType":"YulAssignment","src":"29091:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"29105:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29113:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29101:3:150"},"nodeType":"YulFunctionCall","src":"29101:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"29091:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28968:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"28971:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28965:2:150"},"nodeType":"YulFunctionCall","src":"28965:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"28979:18:150","statements":[{"nodeType":"YulAssignment","src":"28981:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28990:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"28993:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28986:3:150"},"nodeType":"YulFunctionCall","src":"28986:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"28981:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"28961:3:150","statements":[]},"src":"28957:169:150"},{"nodeType":"YulAssignment","src":"29135:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"29143:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29135:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28538:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28549:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"28557:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28568:4:150","type":""}],"src":"28348:804:150"},{"body":{"nodeType":"YulBlock","src":"29331:246:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29348:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29359:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29341:6:150"},"nodeType":"YulFunctionCall","src":"29341:21:150"},"nodeType":"YulExpressionStatement","src":"29341:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29382:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29393:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29378:3:150"},"nodeType":"YulFunctionCall","src":"29378:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"29398:2:150","type":"","value":"56"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29371:6:150"},"nodeType":"YulFunctionCall","src":"29371:30:150"},"nodeType":"YulExpressionStatement","src":"29371:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29421:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29432:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29417:3:150"},"nodeType":"YulFunctionCall","src":"29417:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20656d697373","kind":"string","nodeType":"YulLiteral","src":"29437:34:150","type":"","value":"XAllocationVotingGovernor: emiss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29410:6:150"},"nodeType":"YulFunctionCall","src":"29410:62:150"},"nodeType":"YulExpressionStatement","src":"29410:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29492:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29503:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29488:3:150"},"nodeType":"YulFunctionCall","src":"29488:18:150"},{"hexValue":"696f6e7320697320746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"29508:26:150","type":"","value":"ions is the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29481:6:150"},"nodeType":"YulFunctionCall","src":"29481:54:150"},"nodeType":"YulExpressionStatement","src":"29481:54:150"},{"nodeType":"YulAssignment","src":"29544:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29556:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29567:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29552:3:150"},"nodeType":"YulFunctionCall","src":"29552:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29544:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_49f06960ff76038c09832fd4be8f0e505c74f7191ccd279c539729703509a2b1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29308:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29322:4:150","type":""}],"src":"29157:420:150"},{"body":{"nodeType":"YulBlock","src":"29711:175:150","statements":[{"nodeType":"YulAssignment","src":"29721:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29733:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29744:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29729:3:150"},"nodeType":"YulFunctionCall","src":"29729:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29721:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"29756:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29774:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"29779:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29770:3:150"},"nodeType":"YulFunctionCall","src":"29770:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"29783:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29766:3:150"},"nodeType":"YulFunctionCall","src":"29766:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"29760:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29801:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"29816:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29824:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29812:3:150"},"nodeType":"YulFunctionCall","src":"29812:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29794:6:150"},"nodeType":"YulFunctionCall","src":"29794:34:150"},"nodeType":"YulExpressionStatement","src":"29794:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29848:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29859:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29844:3:150"},"nodeType":"YulFunctionCall","src":"29844:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29868:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29876:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29864:3:150"},"nodeType":"YulFunctionCall","src":"29864:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29837:6:150"},"nodeType":"YulFunctionCall","src":"29837:43:150"},"nodeType":"YulExpressionStatement","src":"29837:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29672:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"29683:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"29691:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29702:4:150","type":""}],"src":"29582:304:150"},{"body":{"nodeType":"YulBlock","src":"30065:305:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30082:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30093:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30075:6:150"},"nodeType":"YulFunctionCall","src":"30075:21:150"},"nodeType":"YulExpressionStatement","src":"30075:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30116:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30127:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30112:3:150"},"nodeType":"YulFunctionCall","src":"30112:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30132:2:150","type":"","value":"75"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30105:6:150"},"nodeType":"YulFunctionCall","src":"30105:30:150"},"nodeType":"YulExpressionStatement","src":"30105:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30155:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30166:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30151:3:150"},"nodeType":"YulFunctionCall","src":"30151:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a204170702073","kind":"string","nodeType":"YulLiteral","src":"30171:34:150","type":"","value":"XAllocationVotingGovernor: App s"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30144:6:150"},"nodeType":"YulFunctionCall","src":"30144:62:150"},"nodeType":"YulExpressionStatement","src":"30144:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30226:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30237:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30222:3:150"},"nodeType":"YulFunctionCall","src":"30222:18:150"},{"hexValue":"686172657320636170206d757374206265206c657373207468616e206f722065","kind":"string","nodeType":"YulLiteral","src":"30242:34:150","type":"","value":"hares cap must be less than or e"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30215:6:150"},"nodeType":"YulFunctionCall","src":"30215:62:150"},"nodeType":"YulExpressionStatement","src":"30215:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30297:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30308:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30293:3:150"},"nodeType":"YulFunctionCall","src":"30293:19:150"},{"hexValue":"7175616c20746f20313030","kind":"string","nodeType":"YulLiteral","src":"30314:13:150","type":"","value":"qual to 100"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30286:6:150"},"nodeType":"YulFunctionCall","src":"30286:42:150"},"nodeType":"YulExpressionStatement","src":"30286:42:150"},{"nodeType":"YulAssignment","src":"30337:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30349:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30360:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30345:3:150"},"nodeType":"YulFunctionCall","src":"30345:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30337:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30042:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30056:4:150","type":""}],"src":"29891:479:150"},{"body":{"nodeType":"YulBlock","src":"30549:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30566:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30577:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30559:6:150"},"nodeType":"YulFunctionCall","src":"30559:21:150"},"nodeType":"YulExpressionStatement","src":"30559:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30600:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30611:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30596:3:150"},"nodeType":"YulFunctionCall","src":"30596:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30616:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30589:6:150"},"nodeType":"YulFunctionCall","src":"30589:30:150"},"nodeType":"YulExpressionStatement","src":"30589:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30639:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30650:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30635:3:150"},"nodeType":"YulFunctionCall","src":"30635:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e65772042","kind":"string","nodeType":"YulLiteral","src":"30655:34:150","type":"","value":"XAllocationVotingGovernor: new B"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30628:6:150"},"nodeType":"YulFunctionCall","src":"30628:62:150"},"nodeType":"YulExpressionStatement","src":"30628:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30710:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30721:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30706:3:150"},"nodeType":"YulFunctionCall","src":"30706:18:150"},{"hexValue":"335452476f7665726e6f7220697320746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"30726:33:150","type":"","value":"3TRGovernor is the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30699:6:150"},"nodeType":"YulFunctionCall","src":"30699:61:150"},"nodeType":"YulExpressionStatement","src":"30699:61:150"},{"nodeType":"YulAssignment","src":"30769:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30781:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30792:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30777:3:150"},"nodeType":"YulFunctionCall","src":"30777:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30769:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_a3a82a592b1176cd5f7dcbaef2dde3d974f96f0ff9e637df62274c0edf10fec5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30526:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30540:4:150","type":""}],"src":"30375:427:150"},{"body":{"nodeType":"YulBlock","src":"30981:254:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30998:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31009:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30991:6:150"},"nodeType":"YulFunctionCall","src":"30991:21:150"},"nodeType":"YulExpressionStatement","src":"30991:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31032:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31043:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31028:3:150"},"nodeType":"YulFunctionCall","src":"31028:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31048:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31021:6:150"},"nodeType":"YulFunctionCall","src":"31021:30:150"},"nodeType":"YulExpressionStatement","src":"31021:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31071:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31082:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31067:3:150"},"nodeType":"YulFunctionCall","src":"31067:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e65772076","kind":"string","nodeType":"YulLiteral","src":"31087:34:150","type":"","value":"XAllocationVotingGovernor: new v"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31060:6:150"},"nodeType":"YulFunctionCall","src":"31060:62:150"},"nodeType":"YulExpressionStatement","src":"31060:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31142:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31153:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31138:3:150"},"nodeType":"YulFunctionCall","src":"31138:18:150"},{"hexValue":"6f746572207265776172647320697320746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"31158:34:150","type":"","value":"oter rewards is the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31131:6:150"},"nodeType":"YulFunctionCall","src":"31131:62:150"},"nodeType":"YulExpressionStatement","src":"31131:62:150"},{"nodeType":"YulAssignment","src":"31202:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31214:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31225:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31210:3:150"},"nodeType":"YulFunctionCall","src":"31210:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31202:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_bacfbb03a52a2d8761676368eb7289dd2a665b6cc40d53c4c6cc748b9a7a7c85__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30958:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30972:4:150","type":""}],"src":"30807:428:150"},{"body":{"nodeType":"YulBlock","src":"31414:297:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31431:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31442:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31424:6:150"},"nodeType":"YulFunctionCall","src":"31424:21:150"},"nodeType":"YulExpressionStatement","src":"31424:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31465:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31476:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31461:3:150"},"nodeType":"YulFunctionCall","src":"31461:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31481:2:150","type":"","value":"67"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31454:6:150"},"nodeType":"YulFunctionCall","src":"31454:30:150"},"nodeType":"YulExpressionStatement","src":"31454:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31504:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31515:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31500:3:150"},"nodeType":"YulFunctionCall","src":"31500:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e65772056","kind":"string","nodeType":"YulLiteral","src":"31520:34:150","type":"","value":"XAllocationVotingGovernor: new V"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31493:6:150"},"nodeType":"YulFunctionCall","src":"31493:62:150"},"nodeType":"YulExpressionStatement","src":"31493:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31575:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31586:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31571:3:150"},"nodeType":"YulFunctionCall","src":"31571:18:150"},{"hexValue":"6542657474657250617373706f727420697320746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"31591:34:150","type":"","value":"eBetterPassport is the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31564:6:150"},"nodeType":"YulFunctionCall","src":"31564:62:150"},"nodeType":"YulExpressionStatement","src":"31564:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31646:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31657:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31642:3:150"},"nodeType":"YulFunctionCall","src":"31642:19:150"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"31663:5:150","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31635:6:150"},"nodeType":"YulFunctionCall","src":"31635:34:150"},"nodeType":"YulExpressionStatement","src":"31635:34:150"},{"nodeType":"YulAssignment","src":"31678:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31690:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31701:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31686:3:150"},"nodeType":"YulFunctionCall","src":"31686:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31678:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_4003a3fa74a515e59cb978031571e1994a0914124c3966664c8a522f1b7937e6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31391:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31405:4:150","type":""}],"src":"31240:471:150"},{"body":{"nodeType":"YulBlock","src":"31890:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31907:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31918:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31900:6:150"},"nodeType":"YulFunctionCall","src":"31900:21:150"},"nodeType":"YulExpressionStatement","src":"31900:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31941:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31952:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31937:3:150"},"nodeType":"YulFunctionCall","src":"31937:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"31957:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31930:6:150"},"nodeType":"YulFunctionCall","src":"31930:30:150"},"nodeType":"YulExpressionStatement","src":"31930:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31980:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31991:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31976:3:150"},"nodeType":"YulFunctionCall","src":"31976:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a207468657265","kind":"string","nodeType":"YulLiteral","src":"31996:34:150","type":"","value":"XAllocationVotingGovernor: there"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31969:6:150"},"nodeType":"YulFunctionCall","src":"31969:62:150"},"nodeType":"YulExpressionStatement","src":"31969:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32051:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32062:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32047:3:150"},"nodeType":"YulFunctionCall","src":"32047:18:150"},{"hexValue":"2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65","kind":"string","nodeType":"YulLiteral","src":"32067:33:150","type":"","value":" can be only one round per time"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32040:6:150"},"nodeType":"YulFunctionCall","src":"32040:61:150"},"nodeType":"YulExpressionStatement","src":"32040:61:150"},{"nodeType":"YulAssignment","src":"32110:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32122:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32133:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32118:3:150"},"nodeType":"YulFunctionCall","src":"32118:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32110:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31867:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31881:4:150","type":""}],"src":"31716:427:150"},{"body":{"nodeType":"YulBlock","src":"32322:251:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32339:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32350:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32332:6:150"},"nodeType":"YulFunctionCall","src":"32332:21:150"},"nodeType":"YulExpressionStatement","src":"32332:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32373:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32384:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32369:3:150"},"nodeType":"YulFunctionCall","src":"32369:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32389:2:150","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32362:6:150"},"nodeType":"YulFunctionCall","src":"32362:30:150"},"nodeType":"YulExpressionStatement","src":"32362:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32412:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32423:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32408:3:150"},"nodeType":"YulFunctionCall","src":"32408:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e65772058","kind":"string","nodeType":"YulLiteral","src":"32428:34:150","type":"","value":"XAllocationVotingGovernor: new X"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32401:6:150"},"nodeType":"YulFunctionCall","src":"32401:62:150"},"nodeType":"YulExpressionStatement","src":"32401:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32483:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32494:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32479:3:150"},"nodeType":"YulFunctionCall","src":"32479:18:150"},{"hexValue":"324561726e4170707320697320746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"32499:31:150","type":"","value":"2EarnApps is the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32472:6:150"},"nodeType":"YulFunctionCall","src":"32472:59:150"},"nodeType":"YulExpressionStatement","src":"32472:59:150"},{"nodeType":"YulAssignment","src":"32540:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32552:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32563:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32548:3:150"},"nodeType":"YulFunctionCall","src":"32548:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32540:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_f66a2b1924848ed0d81ee154fe156876e1a702c5026c94c323b440f9f60d79dd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32299:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32313:4:150","type":""}],"src":"32148:425:150"},{"body":{"nodeType":"YulBlock","src":"32687:76:150","statements":[{"nodeType":"YulAssignment","src":"32697:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32709:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32720:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32705:3:150"},"nodeType":"YulFunctionCall","src":"32705:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32697:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32739:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"32750:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32732:6:150"},"nodeType":"YulFunctionCall","src":"32732:25:150"},"nodeType":"YulExpressionStatement","src":"32732:25:150"}]},"name":"abi_encode_tuple_t_rational_0_by_1__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32656:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32667:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32678:4:150","type":""}],"src":"32578:185:150"},{"body":{"nodeType":"YulBlock","src":"32868:93:150","statements":[{"nodeType":"YulAssignment","src":"32878:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32890:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32901:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32886:3:150"},"nodeType":"YulFunctionCall","src":"32886:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32878:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32920:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32935:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"32943:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32931:3:150"},"nodeType":"YulFunctionCall","src":"32931:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32913:6:150"},"nodeType":"YulFunctionCall","src":"32913:42:150"},"nodeType":"YulExpressionStatement","src":"32913:42:150"}]},"name":"abi_encode_tuple_t_uint32__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32837:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32848:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32859:4:150","type":""}],"src":"32768:193:150"},{"body":{"nodeType":"YulBlock","src":"33093:166:150","statements":[{"nodeType":"YulAssignment","src":"33103:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33115:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33126:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33111:3:150"},"nodeType":"YulFunctionCall","src":"33111:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33103:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"33138:20:150","value":{"kind":"number","nodeType":"YulLiteral","src":"33148:10:150","type":"","value":"0xffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"33142:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33174:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33189:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33197:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33185:3:150"},"nodeType":"YulFunctionCall","src":"33185:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33167:6:150"},"nodeType":"YulFunctionCall","src":"33167:34:150"},"nodeType":"YulExpressionStatement","src":"33167:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33221:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33232:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33217:3:150"},"nodeType":"YulFunctionCall","src":"33217:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"33241:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33249:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33237:3:150"},"nodeType":"YulFunctionCall","src":"33237:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33210:6:150"},"nodeType":"YulFunctionCall","src":"33210:43:150"},"nodeType":"YulExpressionStatement","src":"33210:43:150"}]},"name":"abi_encode_tuple_t_uint32_t_uint32__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33054:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33065:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33073:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33084:4:150","type":""}],"src":"32966:293:150"},{"body":{"nodeType":"YulBlock","src":"33438:317:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33455:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33466:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33448:6:150"},"nodeType":"YulFunctionCall","src":"33448:21:150"},"nodeType":"YulExpressionStatement","src":"33448:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33489:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33500:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33485:3:150"},"nodeType":"YulFunctionCall","src":"33485:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33505:2:150","type":"","value":"87"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33478:6:150"},"nodeType":"YulFunctionCall","src":"33478:30:150"},"nodeType":"YulExpressionStatement","src":"33478:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33528:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33539:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33524:3:150"},"nodeType":"YulFunctionCall","src":"33524:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a204261736520","kind":"string","nodeType":"YulLiteral","src":"33544:34:150","type":"","value":"XAllocationVotingGovernor: Base "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33517:6:150"},"nodeType":"YulFunctionCall","src":"33517:62:150"},"nodeType":"YulExpressionStatement","src":"33517:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33599:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33610:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33595:3:150"},"nodeType":"YulFunctionCall","src":"33595:18:150"},{"hexValue":"616c6c6f636174696f6e2070657263656e74616765206d757374206265206c65","kind":"string","nodeType":"YulLiteral","src":"33615:34:150","type":"","value":"allocation percentage must be le"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33588:6:150"},"nodeType":"YulFunctionCall","src":"33588:62:150"},"nodeType":"YulExpressionStatement","src":"33588:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33670:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33681:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33666:3:150"},"nodeType":"YulFunctionCall","src":"33666:19:150"},{"hexValue":"7373207468616e206f7220657175616c20746f20313030","kind":"string","nodeType":"YulLiteral","src":"33687:25:150","type":"","value":"ss than or equal to 100"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33659:6:150"},"nodeType":"YulFunctionCall","src":"33659:54:150"},"nodeType":"YulExpressionStatement","src":"33659:54:150"},{"nodeType":"YulAssignment","src":"33722:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33734:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33745:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33730:3:150"},"nodeType":"YulFunctionCall","src":"33730:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33722:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33415:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33429:4:150","type":""}],"src":"33264:491:150"},{"body":{"nodeType":"YulBlock","src":"33889:145:150","statements":[{"nodeType":"YulAssignment","src":"33899:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33911:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33922:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33907:3:150"},"nodeType":"YulFunctionCall","src":"33907:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33899:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33941:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33956:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33972:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"33977:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33968:3:150"},"nodeType":"YulFunctionCall","src":"33968:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"33981:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33964:3:150"},"nodeType":"YulFunctionCall","src":"33964:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33952:3:150"},"nodeType":"YulFunctionCall","src":"33952:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33934:6:150"},"nodeType":"YulFunctionCall","src":"33934:51:150"},"nodeType":"YulExpressionStatement","src":"33934:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34005:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34016:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34001:3:150"},"nodeType":"YulFunctionCall","src":"34001:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"34021:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33994:6:150"},"nodeType":"YulFunctionCall","src":"33994:34:150"},"nodeType":"YulExpressionStatement","src":"33994:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33850:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33861:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33869:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33880:4:150","type":""}],"src":"33760:274:150"},{"body":{"nodeType":"YulBlock","src":"34145:775:150","statements":[{"nodeType":"YulVariableDeclaration","src":"34155:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"34165:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"34159:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34212:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34221:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34224:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34214:6:150"},"nodeType":"YulFunctionCall","src":"34214:12:150"},"nodeType":"YulExpressionStatement","src":"34214:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"34187:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"34196:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34183:3:150"},"nodeType":"YulFunctionCall","src":"34183:23:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34208:2:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"34179:3:150"},"nodeType":"YulFunctionCall","src":"34179:32:150"},"nodeType":"YulIf","src":"34176:52:150"},{"nodeType":"YulVariableDeclaration","src":"34237:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34257:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34251:5:150"},"nodeType":"YulFunctionCall","src":"34251:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"34241:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34310:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34319:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34322:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34312:6:150"},"nodeType":"YulFunctionCall","src":"34312:12:150"},"nodeType":"YulExpressionStatement","src":"34312:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"34282:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34298:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"34302:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34294:3:150"},"nodeType":"YulFunctionCall","src":"34294:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"34306:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34290:3:150"},"nodeType":"YulFunctionCall","src":"34290:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34279:2:150"},"nodeType":"YulFunctionCall","src":"34279:30:150"},"nodeType":"YulIf","src":"34276:50:150"},{"nodeType":"YulVariableDeclaration","src":"34335:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34349:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"34360:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34345:3:150"},"nodeType":"YulFunctionCall","src":"34345:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"34339:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34415:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34424:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34427:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34417:6:150"},"nodeType":"YulFunctionCall","src":"34417:12:150"},"nodeType":"YulExpressionStatement","src":"34417:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"34394:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"34398:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34390:3:150"},"nodeType":"YulFunctionCall","src":"34390:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34405:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"34386:3:150"},"nodeType":"YulFunctionCall","src":"34386:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"34379:6:150"},"nodeType":"YulFunctionCall","src":"34379:35:150"},"nodeType":"YulIf","src":"34376:55:150"},{"nodeType":"YulVariableDeclaration","src":"34440:19:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"34456:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34450:5:150"},"nodeType":"YulFunctionCall","src":"34450:9:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"34444:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"34468:71:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"34535:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"34495:39:150"},"nodeType":"YulFunctionCall","src":"34495:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"34479:15:150"},"nodeType":"YulFunctionCall","src":"34479:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"34472:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"34548:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"34561:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"34552:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"34580:3:150"},{"name":"_3","nodeType":"YulIdentifier","src":"34585:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34573:6:150"},"nodeType":"YulFunctionCall","src":"34573:15:150"},"nodeType":"YulExpressionStatement","src":"34573:15:150"},{"nodeType":"YulAssignment","src":"34597:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"34608:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34613:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34604:3:150"},"nodeType":"YulFunctionCall","src":"34604:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"34597:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"34625:42:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"34647:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34655:1:150","type":"","value":"5"},{"name":"_3","nodeType":"YulIdentifier","src":"34658:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34651:3:150"},"nodeType":"YulFunctionCall","src":"34651:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34643:3:150"},"nodeType":"YulFunctionCall","src":"34643:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34664:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34639:3:150"},"nodeType":"YulFunctionCall","src":"34639:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"34629:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34699:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34708:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34711:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34701:6:150"},"nodeType":"YulFunctionCall","src":"34701:12:150"},"nodeType":"YulExpressionStatement","src":"34701:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"34682:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34690:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34679:2:150"},"nodeType":"YulFunctionCall","src":"34679:19:150"},"nodeType":"YulIf","src":"34676:39:150"},{"nodeType":"YulVariableDeclaration","src":"34724:22:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"34739:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34743:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34735:3:150"},"nodeType":"YulFunctionCall","src":"34735:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"34728:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34811:79:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"34832:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"34843:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34837:5:150"},"nodeType":"YulFunctionCall","src":"34837:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34825:6:150"},"nodeType":"YulFunctionCall","src":"34825:23:150"},"nodeType":"YulExpressionStatement","src":"34825:23:150"},{"nodeType":"YulAssignment","src":"34861:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"34872:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34877:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34868:3:150"},"nodeType":"YulFunctionCall","src":"34868:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"34861:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"34766:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"34771:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"34763:2:150"},"nodeType":"YulFunctionCall","src":"34763:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"34779:23:150","statements":[{"nodeType":"YulAssignment","src":"34781:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"34792:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34797:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34788:3:150"},"nodeType":"YulFunctionCall","src":"34788:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"34781:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"34759:3:150","statements":[]},"src":"34755:135:150"},{"nodeType":"YulAssignment","src":"34899:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"34909:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"34899:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34111:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"34122:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"34134:6:150","type":""}],"src":"34039:881:150"},{"body":{"nodeType":"YulBlock","src":"35188:311:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35205:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"35216:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35198:6:150"},"nodeType":"YulFunctionCall","src":"35198:25:150"},"nodeType":"YulExpressionStatement","src":"35198:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35243:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35254:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35239:3:150"},"nodeType":"YulFunctionCall","src":"35239:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35263:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35279:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35284:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35275:3:150"},"nodeType":"YulFunctionCall","src":"35275:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"35288:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35271:3:150"},"nodeType":"YulFunctionCall","src":"35271:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35259:3:150"},"nodeType":"YulFunctionCall","src":"35259:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35232:6:150"},"nodeType":"YulFunctionCall","src":"35232:60:150"},"nodeType":"YulExpressionStatement","src":"35232:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35312:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35323:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35308:3:150"},"nodeType":"YulFunctionCall","src":"35308:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"35328:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35301:6:150"},"nodeType":"YulFunctionCall","src":"35301:34:150"},"nodeType":"YulExpressionStatement","src":"35301:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35355:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35366:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35351:3:150"},"nodeType":"YulFunctionCall","src":"35351:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"35371:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35344:6:150"},"nodeType":"YulFunctionCall","src":"35344:34:150"},"nodeType":"YulExpressionStatement","src":"35344:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35398:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35409:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35394:3:150"},"nodeType":"YulFunctionCall","src":"35394:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"35415:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35387:6:150"},"nodeType":"YulFunctionCall","src":"35387:32:150"},"nodeType":"YulExpressionStatement","src":"35387:32:150"},{"nodeType":"YulAssignment","src":"35428:65:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"35465:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35477:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35488:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35473:3:150"},"nodeType":"YulFunctionCall","src":"35473:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"35436:28:150"},"nodeType":"YulFunctionCall","src":"35436:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35428:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35125:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"35136:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"35144:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35152:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35160:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35168:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35179:4:150","type":""}],"src":"34925:574:150"},{"body":{"nodeType":"YulBlock","src":"35560:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35577:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"35580:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35570:6:150"},"nodeType":"YulFunctionCall","src":"35570:14:150"},"nodeType":"YulExpressionStatement","src":"35570:14:150"},{"nodeType":"YulAssignment","src":"35593:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35611:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35614:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"35601:9:150"},"nodeType":"YulFunctionCall","src":"35601:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"35593:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"35543:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"35551:4:150","type":""}],"src":"35504:121:150"},{"body":{"nodeType":"YulBlock","src":"35711:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"35744:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"35758:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"35768:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"35762:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"35789:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"35793:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35782:6:150"},"nodeType":"YulFunctionCall","src":"35782:17:150"},"nodeType":"YulExpressionStatement","src":"35782:17:150"},{"nodeType":"YulVariableDeclaration","src":"35812:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"35834:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"35838:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"35824:9:150"},"nodeType":"YulFunctionCall","src":"35824:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"35816:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"35856:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"35879:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35889:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"35896:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"35908:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35892:3:150"},"nodeType":"YulFunctionCall","src":"35892:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"35885:3:150"},"nodeType":"YulFunctionCall","src":"35885:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35875:3:150"},"nodeType":"YulFunctionCall","src":"35875:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"35860:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"35950:23:150","statements":[{"nodeType":"YulAssignment","src":"35952:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"35967:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"35952:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"35932:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"35944:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"35929:2:150"},"nodeType":"YulFunctionCall","src":"35929:20:150"},"nodeType":"YulIf","src":"35926:47:150"},{"nodeType":"YulVariableDeclaration","src":"35986:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"36000:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36010:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"36017:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"36022:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36013:3:150"},"nodeType":"YulFunctionCall","src":"36013:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"36006:3:150"},"nodeType":"YulFunctionCall","src":"36006:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35996:3:150"},"nodeType":"YulFunctionCall","src":"35996:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"35990:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"36040:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"36053:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"36044:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"36138:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"36147:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"36154:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"36140:6:150"},"nodeType":"YulFunctionCall","src":"36140:17:150"},"nodeType":"YulExpressionStatement","src":"36140:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"36088:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"36095:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"36085:2:150"},"nodeType":"YulFunctionCall","src":"36085:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"36099:26:150","statements":[{"nodeType":"YulAssignment","src":"36101:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"36114:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"36121:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36110:3:150"},"nodeType":"YulFunctionCall","src":"36110:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"36101:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"36081:3:150","statements":[]},"src":"36077:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"35727:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"35732:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"35724:2:150"},"nodeType":"YulFunctionCall","src":"35724:11:150"},"nodeType":"YulIf","src":"35721:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"35683:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"35690:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"35695:10:150","type":""}],"src":"35630:545:150"},{"body":{"nodeType":"YulBlock","src":"36265:81:150","statements":[{"nodeType":"YulAssignment","src":"36275:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"36290:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36308:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"36311:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"36304:3:150"},"nodeType":"YulFunctionCall","src":"36304:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36321:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"36317:3:150"},"nodeType":"YulFunctionCall","src":"36317:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"36300:3:150"},"nodeType":"YulFunctionCall","src":"36300:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"36296:3:150"},"nodeType":"YulFunctionCall","src":"36296:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36286:3:150"},"nodeType":"YulFunctionCall","src":"36286:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36332:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"36335:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"36328:3:150"},"nodeType":"YulFunctionCall","src":"36328:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"36283:2:150"},"nodeType":"YulFunctionCall","src":"36283:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"36275:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"36242:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"36248:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"36256:4:150","type":""}],"src":"36180:166:150"},{"body":{"nodeType":"YulBlock","src":"36447:1256:150","statements":[{"nodeType":"YulVariableDeclaration","src":"36457:24:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"36477:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36471:5:150"},"nodeType":"YulFunctionCall","src":"36471:10:150"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"36461:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"36524:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"36526:16:150"},"nodeType":"YulFunctionCall","src":"36526:18:150"},"nodeType":"YulExpressionStatement","src":"36526:18:150"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"36496:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36512:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"36516:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"36508:3:150"},"nodeType":"YulFunctionCall","src":"36508:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"36520:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36504:3:150"},"nodeType":"YulFunctionCall","src":"36504:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"36493:2:150"},"nodeType":"YulFunctionCall","src":"36493:30:150"},"nodeType":"YulIf","src":"36490:56:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"36599:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"36637:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"36631:5:150"},"nodeType":"YulFunctionCall","src":"36631:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"36605:25:150"},"nodeType":"YulFunctionCall","src":"36605:38:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"36645:6:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"36555:43:150"},"nodeType":"YulFunctionCall","src":"36555:97:150"},"nodeType":"YulExpressionStatement","src":"36555:97:150"},{"nodeType":"YulVariableDeclaration","src":"36661:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"36678:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"36665:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"36688:23:150","value":{"kind":"number","nodeType":"YulLiteral","src":"36707:4:150","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"36692:11:150","type":""}]},{"nodeType":"YulAssignment","src":"36720:24:150","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"36733:11:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"36720:9:150"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"36790:656:150","statements":[{"nodeType":"YulVariableDeclaration","src":"36804:35:150","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"36823:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36835:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"36831:3:150"},"nodeType":"YulFunctionCall","src":"36831:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36819:3:150"},"nodeType":"YulFunctionCall","src":"36819:20:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"36808:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"36852:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"36896:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"36866:29:150"},"nodeType":"YulFunctionCall","src":"36866:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"36856:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"36914:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"36923:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"36918:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"37001:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"37026:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"37044:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"37049:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37040:3:150"},"nodeType":"YulFunctionCall","src":"37040:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37034:5:150"},"nodeType":"YulFunctionCall","src":"37034:26:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"37019:6:150"},"nodeType":"YulFunctionCall","src":"37019:42:150"},"nodeType":"YulExpressionStatement","src":"37019:42:150"},{"nodeType":"YulAssignment","src":"37078:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"37092:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"37100:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37088:3:150"},"nodeType":"YulFunctionCall","src":"37088:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"37078:6:150"}]},{"nodeType":"YulAssignment","src":"37119:40:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"37136:9:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"37147:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37132:3:150"},"nodeType":"YulFunctionCall","src":"37132:27:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"37119:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"36948:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"36951:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"36945:2:150"},"nodeType":"YulFunctionCall","src":"36945:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"36960:28:150","statements":[{"nodeType":"YulAssignment","src":"36962:24:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"36971:1:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"36974:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36967:3:150"},"nodeType":"YulFunctionCall","src":"36967:19:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"36962:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"36941:3:150","statements":[]},"src":"36937:236:150"},{"body":{"nodeType":"YulBlock","src":"37221:166:150","statements":[{"nodeType":"YulVariableDeclaration","src":"37239:43:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"37266:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"37271:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37262:3:150"},"nodeType":"YulFunctionCall","src":"37262:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37256:5:150"},"nodeType":"YulFunctionCall","src":"37256:26:150"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"37243:9:150","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"37306:6:150"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"37318:9:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37345:1:150","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"37348:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37341:3:150"},"nodeType":"YulFunctionCall","src":"37341:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"37357:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37337:3:150"},"nodeType":"YulFunctionCall","src":"37337:24:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37367:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"37363:3:150"},"nodeType":"YulFunctionCall","src":"37363:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"37333:3:150"},"nodeType":"YulFunctionCall","src":"37333:37:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"37329:3:150"},"nodeType":"YulFunctionCall","src":"37329:42:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37314:3:150"},"nodeType":"YulFunctionCall","src":"37314:58:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"37299:6:150"},"nodeType":"YulFunctionCall","src":"37299:74:150"},"nodeType":"YulExpressionStatement","src":"37299:74:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"37192:7:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"37201:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"37189:2:150"},"nodeType":"YulFunctionCall","src":"37189:19:150"},"nodeType":"YulIf","src":"37186:201:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"37407:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37421:1:150","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"37424:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37417:3:150"},"nodeType":"YulFunctionCall","src":"37417:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"37433:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37413:3:150"},"nodeType":"YulFunctionCall","src":"37413:22:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"37400:6:150"},"nodeType":"YulFunctionCall","src":"37400:36:150"},"nodeType":"YulExpressionStatement","src":"37400:36:150"}]},"nodeType":"YulCase","src":"36783:663:150","value":{"kind":"number","nodeType":"YulLiteral","src":"36788:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"37463:234:150","statements":[{"nodeType":"YulVariableDeclaration","src":"37477:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"37490:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"37481:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"37526:67:150","statements":[{"nodeType":"YulAssignment","src":"37544:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"37563:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"37568:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37559:3:150"},"nodeType":"YulFunctionCall","src":"37559:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37553:5:150"},"nodeType":"YulFunctionCall","src":"37553:26:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"37544:5:150"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"37507:6:150"},"nodeType":"YulIf","src":"37504:89:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"37613:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"37672:5:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"37679:6:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"37619:52:150"},"nodeType":"YulFunctionCall","src":"37619:67:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"37606:6:150"},"nodeType":"YulFunctionCall","src":"37606:81:150"},"nodeType":"YulExpressionStatement","src":"37606:81:150"}]},"nodeType":"YulCase","src":"37455:242:150","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"36763:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"36771:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"36760:2:150"},"nodeType":"YulFunctionCall","src":"36760:14:150"},"nodeType":"YulSwitch","src":"36753:944:150"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"36432:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"36438:3:150","type":""}],"src":"36351:1352:150"},{"body":{"nodeType":"YulBlock","src":"37845:130:150","statements":[{"nodeType":"YulAssignment","src":"37855:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37867:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37878:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37863:3:150"},"nodeType":"YulFunctionCall","src":"37863:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37855:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37897:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37912:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"37920:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37908:3:150"},"nodeType":"YulFunctionCall","src":"37908:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37890:6:150"},"nodeType":"YulFunctionCall","src":"37890:36:150"},"nodeType":"YulExpressionStatement","src":"37890:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37946:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37957:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37942:3:150"},"nodeType":"YulFunctionCall","src":"37942:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"37962:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37935:6:150"},"nodeType":"YulFunctionCall","src":"37935:34:150"},"nodeType":"YulExpressionStatement","src":"37935:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37806:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37817:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37825:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37836:4:150","type":""}],"src":"37708:267:150"},{"body":{"nodeType":"YulBlock","src":"38117:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"38127:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38147:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38141:5:150"},"nodeType":"YulFunctionCall","src":"38141:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"38131:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38202:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"38210:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38198:3:150"},"nodeType":"YulFunctionCall","src":"38198:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"38217:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"38222:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"38163:34:150"},"nodeType":"YulFunctionCall","src":"38163:66:150"},"nodeType":"YulExpressionStatement","src":"38163:66:150"},{"nodeType":"YulAssignment","src":"38238:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"38249:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"38254:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38245:3:150"},"nodeType":"YulFunctionCall","src":"38245:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"38238:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"38093:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38098:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"38109:3:150","type":""}],"src":"37980:287:150"},{"body":{"nodeType":"YulBlock","src":"38408:130:150","statements":[{"nodeType":"YulAssignment","src":"38418:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38430:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38441:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38426:3:150"},"nodeType":"YulFunctionCall","src":"38426:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38418:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38460:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38475:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"38483:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38471:3:150"},"nodeType":"YulFunctionCall","src":"38471:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38453:6:150"},"nodeType":"YulFunctionCall","src":"38453:36:150"},"nodeType":"YulExpressionStatement","src":"38453:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38509:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38520:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38505:3:150"},"nodeType":"YulFunctionCall","src":"38505:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"38525:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38498:6:150"},"nodeType":"YulFunctionCall","src":"38498:34:150"},"nodeType":"YulExpressionStatement","src":"38498:34:150"}]},"name":"abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38369:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"38380:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38388:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38399:4:150","type":""}],"src":"38272:266:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        let _2 := 64\n        pos := add(headStart, _2)\n        let tail_2 := add(add(headStart, shl(5, length)), _2)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            let _3 := mload(srcPtr)\n            let _4 := 0xc0\n            mstore(tail_2, mload(_3))\n            mstore(add(tail_2, _1), and(mload(add(_3, _1)), sub(shl(160, 1), 1)))\n            let memberValue0 := mload(add(_3, _2))\n            mstore(add(tail_2, _2), _4)\n            let tail_3 := abi_encode_string(memberValue0, add(tail_2, _4))\n            let _5 := 0x60\n            let memberValue0_1 := mload(add(_3, _5))\n            mstore(add(tail_2, _5), sub(tail_3, tail_2))\n            let tail_4 := abi_encode_string(memberValue0_1, tail_3)\n            let _6 := 0x80\n            mstore(add(tail_2, _6), mload(add(_3, _6)))\n            let _7 := 0xa0\n            mstore(add(tail_2, _7), iszero(iszero(mload(add(_3, _7)))))\n            tail_2 := tail_4\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function validator_revert_contract_IVeBetterPassport(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_contract$_IVeBetterPassport_$68601(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVeBetterPassport(value)\n        value0 := value\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_contract_IVeBetterPassport(value)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_contract_IVeBetterPassport(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_RoundState(value, pos)\n    {\n        if iszero(lt(value, 3))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_RoundState_$41575__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_RoundState(value0, headStart)\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_contract_IVeBetterPassport(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_5382() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0x01a0)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory_5384() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVeBetterPassport(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let _2 := calldataload(_1)\n        let array := allocate_memory(array_allocation_size_bytes(_2))\n        mstore(array, _2)\n        if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n        calldatacopy(add(array, 32), add(_1, 32), _2)\n        mstore(add(add(array, _2), 32), 0)\n        value1 := array\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function array_allocation_size_array_bytes32_dyn(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_4))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _1)\n        }\n        value1 := dst_1\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, _2) { revert(0, 0) }\n        value2 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n    }\n    function abi_decode_tuple_t_contract$_IEmissions_$64454(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVeBetterPassport(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_contract$_IB3TRGovernor_$63919(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVeBetterPassport(value)\n        value0 := value\n    }\n    function abi_encode_array_bytes32_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_array_bytes32_dyn(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_struct$_RoundCore_$44099_memory_ptr__to_t_struct$_RoundCore_$44099_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(mload(value0), sub(shl(160, 1), 1)))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffff))\n        mstore(add(headStart, 0x40), and(mload(add(value0, 0x40)), 0xffffffff))\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVeBetterPassport(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVeBetterPassport(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVeBetterPassport(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IX2EarnApps_$69989(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVeBetterPassport(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_uint32(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint32(headStart)\n    }\n    function abi_decode_array_address_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let value := calldataload(src)\n            validator_revert_contract_IVeBetterPassport(value)\n            mstore(dst, value)\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_struct$_InitializationData_$41125_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x01a0) { revert(0, 0) }\n        let value := allocate_memory_5382()\n        mstore(value, abi_decode_address(_2))\n        mstore(add(value, 32), calldataload(add(_2, 32)))\n        mstore(add(value, 64), abi_decode_uint32(add(_2, 64)))\n        mstore(add(value, 96), abi_decode_address(add(_2, 96)))\n        mstore(add(value, 128), abi_decode_address(add(_2, 128)))\n        mstore(add(value, 160), abi_decode_address(add(_2, 160)))\n        let offset_1 := calldataload(add(_2, 192))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(value, 192), abi_decode_array_address_dyn(add(_2, offset_1), dataEnd))\n        mstore(add(value, 224), abi_decode_address(add(_2, 224)))\n        let _3 := 256\n        mstore(add(value, _3), abi_decode_address(add(_2, _3)))\n        let _4 := 288\n        mstore(add(value, _4), abi_decode_address(add(_2, _4)))\n        let _5 := 320\n        mstore(add(value, _5), calldataload(add(_2, _5)))\n        let _6 := 352\n        mstore(add(value, _6), calldataload(add(_2, _6)))\n        let _7 := 384\n        mstore(add(value, _7), calldataload(add(_2, _7)))\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IERC5805_$4537__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_decode_address_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_contract_IVeBetterPassport(value)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let array_1 := allocate_memory(array_allocation_size_bytes(_1))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n        array := array_1\n    }\n    function abi_decode_bool_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0xc0) { revert(0, 0) }\n        let value := allocate_memory_5384()\n        mstore(value, mload(_2))\n        mstore(add(value, 32), abi_decode_address_fromMemory(add(_2, 32)))\n        let offset_1 := mload(add(_2, 64))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(value, 64), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        let offset_2 := mload(add(_2, 96))\n        if gt(offset_2, _1) { revert(0, 0) }\n        mstore(add(value, 96), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n        mstore(add(value, 128), mload(add(_2, 128)))\n        mstore(add(value, 160), abi_decode_bool_fromMemory(add(_2, 160)))\n        value0 := value\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 49)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: round\")\n        mstore(add(headStart, 96), \" is not ended yet\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: apps \")\n        mstore(add(headStart, 96), \"and weights length mismatch\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: no ap\")\n        mstore(add(headStart, 96), \"ps to vote for\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n        let offset := mload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_string(value1, add(headStart, 64))\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function checked_add_t_uint48(x, y) -> sum\n    {\n        let _1 := 0xffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid VOT3 \")\n        mstore(add(headStart, 96), \"token address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 47)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid Voter\")\n        mstore(add(headStart, 96), \"Rewards address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid Emiss\")\n        mstore(add(headStart, 96), \"ions address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 40)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid admin\")\n        mstore(add(headStart, 96), \" address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_RoundState_$41575_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        abi_encode_enum_RoundState(value1, add(headStart, 32))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        let tail_1 := abi_encode_array_bytes32_dyn(value0, add(headStart, 64))\n        let _1 := 32\n        mstore(add(headStart, _1), sub(tail_1, headStart))\n        let pos := tail_1\n        let length := mload(value1)\n        mstore(tail_1, length)\n        pos := add(tail_1, _1)\n        let srcPtr := add(value1, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_stringliteral_49f06960ff76038c09832fd4be8f0e505c74f7191ccd279c539729703509a2b1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 56)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: emiss\")\n        mstore(add(headStart, 96), \"ions is the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 75)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: App s\")\n        mstore(add(headStart, 96), \"hares cap must be less than or e\")\n        mstore(add(headStart, 128), \"qual to 100\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_a3a82a592b1176cd5f7dcbaef2dde3d974f96f0ff9e637df62274c0edf10fec5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: new B\")\n        mstore(add(headStart, 96), \"3TRGovernor is the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_bacfbb03a52a2d8761676368eb7289dd2a665b6cc40d53c4c6cc748b9a7a7c85__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 64)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: new v\")\n        mstore(add(headStart, 96), \"oter rewards is the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_4003a3fa74a515e59cb978031571e1994a0914124c3966664c8a522f1b7937e6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 67)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: new V\")\n        mstore(add(headStart, 96), \"eBetterPassport is the zero addr\")\n        mstore(add(headStart, 128), \"ess\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: there\")\n        mstore(add(headStart, 96), \" can be only one round per time\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_f66a2b1924848ed0d81ee154fe156876e1a702c5026c94c323b440f9f60d79dd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 61)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: new X\")\n        mstore(add(headStart, 96), \"2EarnApps is the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_0_by_1__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_uint32__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffff))\n    }\n    function abi_encode_tuple_t_uint32_t_uint32__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := 0xffffffff\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 87)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: Base \")\n        mstore(add(headStart, 96), \"allocation percentage must be le\")\n        mstore(add(headStart, 128), \"ss than or equal to 100\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_3))\n        let dst_1 := dst\n        mstore(dst, _3)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, mload(src))\n            dst := add(dst, _1)\n        }\n        value0 := dst_1\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), 160)\n        tail := abi_encode_array_bytes32_dyn(value4, add(headStart, 160))\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := srcOffset_1\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":9635},{"length":32,"start":9676},{"length":32,"start":10006}]},"linkReferences":{},"object":"6080604052600436106103565760003560e01c806250ea6f1461035b57806301ffc9a71461038657806302a251a3146103b657806306f3f9e6146103d957806306fdde03146103fb5780630a0e74ef1461041d5780630eca87fb1461043d57806319e6e1581461045d5780632267716c1461047d578063248a9ca314610492578063291605f7146104b257806329b6eca9146104df5780632f2ff15d146104ff578063300973771461051f57806333653f5d1461053f57806333727c4d146105545780633469f6e21461057457806336568abe146105945780633e4f49e6146105b457806343859632146105e1578063498d91bf146106015780634bb5181a146106215780634bf5d7e9146106415780634f1ef2861461065657806352d1902d146106695780635320a1471461067e57806353ed63991461069e57806354fd4d50146106be578063561b64ef146106e857806357181609146106fd578063593728121461071d57806359529edd1461073257806360c4247f14610752578063628277331461077257806374038935146107875780637893d736146107a757806378a81336146107bc5780637ace2485146107dc57806382afd23b14610809578063836761e0146108295780638ab52d4b146108495780638f1327c01461085e57806391d14854146108b757806391ddadf4146108d7578063952f21331461090357806397c3d334146109255780639aeb962b146109395780639cbe5efd146109595780639fb027021461096e578063a217fddf1461098e578063a3844e11146109a3578063a56b5765146109b8578063a7713a70146109d8578063ad3cb1cc146109ed578063b25d6f6214610a1e578063b3c93dab14610a3e578063bb7de6d414610a5e578063bd85948c14610a73578063bed7301014610a88578063c048f6c914610aa8578063cd669a7214610ac8578063d06efeda14610aea578063d3a368bd14610b0a578063d4a8dd9814610b2a578063d547741f14610b4a578063d68b4c3614610b6a578063dd4e2ba514610b8a578063e540d01d14610b9f578063e7ad2bed14610bbf578063eb9019d414610bdf578063f36c8f5c14610bff578063f5fae13614610c21578063f72c0d8b14610c41578063f8ce560a14610c63578063fb03ec6f14610c83578063fc0c546a14610ca3575b600080fd5b34801561036757600080fd5b50610370610cb8565b60405161037d919061426e565b60405180910390f35b34801561039257600080fd5b506103a66103a1366004614282565b610cd6565b604051901515815260200161037d565b3480156103c257600080fd5b506103cb610ce7565b60405190815260200161037d565b3480156103e557600080fd5b506103f96103f43660046142ac565b610cf6565b005b34801561040757600080fd5b50610410610d1b565b60405161037d9190614315565b34801561042957600080fd5b506103cb6104383660046142ac565b610dbc565b34801561044957600080fd5b506103cb6104583660046142ac565b610ddc565b34801561046957600080fd5b506103cb6104783660046142ac565b610dfc565b34801561048957600080fd5b50610370610e1f565b34801561049e57600080fd5b506103cb6104ad3660046142ac565b610e3d565b3480156104be57600080fd5b506104d26104cd3660046142ac565b610e5d565b60405161037d9190614328565b3480156104eb57600080fd5b506103f96104fa3660046143fa565b61103e565b34801561050b57600080fd5b506103f961051a366004614422565b6110ed565b34801561052b57600080fd5b506103cb61053a3660046142ac565b61110f565b34801561054b57600080fd5b5061037061112c565b34801561056057600080fd5b506103a661056f3660046142ac565b611147565b34801561058057600080fd5b506103f961058f3660046142ac565b61116a565b3480156105a057600080fd5b506103f96105af366004614422565b6112d1565b3480156105c057600080fd5b506105d46105cf3660046142ac565b611309565b60405161037d919061448a565b3480156105ed57600080fd5b506103a66105fc366004614422565b611391565b34801561060d57600080fd5b506103cb61061c3660046142ac565b6113ce565b34801561062d57600080fd5b506103cb61063c366004614498565b6113f1565b34801561064d57600080fd5b5061041061141c565b6103f9610664366004614572565b6114c5565b34801561067557600080fd5b506103cb6114e0565b34801561068a57600080fd5b506103706106993660046142ac565b6114fd565b3480156106aa57600080fd5b506103f96106b936600461468d565b611526565b3480156106ca57600080fd5b506040805180820190915260018152603760f81b6020820152610410565b3480156106f457600080fd5b506103cb6116fb565b34801561070957600080fd5b506103f96107183660046143fa565b611708565b34801561072957600080fd5b506103cb611729565b34801561073e57600080fd5b506103cb61074d3660046142ac565b611736565b34801561075e57600080fd5b506103cb61076d3660046142ac565b611744565b34801561077e57600080fd5b506103cb6117dd565b34801561079357600080fd5b506103f96107a23660046142ac565b6117f2565b3480156107b357600080fd5b50610370611813565b3480156107c857600080fd5b506103f96107d73660046143fa565b611831565b3480156107e857600080fd5b506107fc6107f73660046142ac565b611852565b60405161037d919061478b565b34801561081557600080fd5b506103a66108243660046142ac565b6118c5565b34801561083557600080fd5b506103f96108443660046142ac565b6118e9565b34801561085557600080fd5b506103cb61190a565b34801561086a57600080fd5b5061087e6108793660046142ac565b61191c565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff169082015260600161037d565b3480156108c357600080fd5b506103a66108d2366004614422565b61199c565b3480156108e357600080fd5b506108ec6119d2565b60405165ffffffffffff909116815260200161037d565b34801561090f57600080fd5b506103cb60008051602061503e83398151915281565b34801561093157600080fd5b5060646103cb565b34801561094557600080fd5b506103a66109543660046143fa565b611a41565b34801561096557600080fd5b506103cb611a6f565b34801561097a57600080fd5b506103f96109893660046143fa565b611a7a565b34801561099a57600080fd5b506103cb600081565b3480156109af57600080fd5b50610370611b42565b3480156109c457600080fd5b506103cb6109d336600461479e565b611b60565b3480156109e457600080fd5b506103cb611bdf565b3480156109f957600080fd5b50610410604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610a2a57600080fd5b506103f9610a393660046143fa565b611c04565b348015610a4a57600080fd5b506103f9610a593660046143fa565b611c25565b348015610a6a57600080fd5b506103cb611c46565b348015610a7f57600080fd5b506103cb611c5b565b348015610a9457600080fd5b506103cb610aa3366004614498565b611c84565b348015610ab457600080fd5b506103f9610ac33660046143fa565b611cb4565b348015610ad457600080fd5b506103cb60008051602061501e83398151915281565b348015610af657600080fd5b506103cb610b053660046142ac565b611cd5565b348015610b1657600080fd5b506103cb610b253660046142ac565b611d04565b348015610b3657600080fd5b506103a6610b453660046142ac565b611d58565b348015610b5657600080fd5b506103f9610b65366004614422565b611d63565b348015610b7657600080fd5b506103a6610b85366004614498565b611d7f565b348015610b9657600080fd5b50610410611dff565b348015610bab57600080fd5b506103f9610bba3660046147de565b611e1f565b348015610bcb57600080fd5b506103f9610bda36600461485d565b611e40565b348015610beb57600080fd5b506103cb610bfa36600461479e565b612258565b348015610c0b57600080fd5b506103cb600080516020614f7d83398151915281565b348015610c2d57600080fd5b506103f9610c3c3660046142ac565b612274565b348015610c4d57600080fd5b506103cb600080516020614fde83398151915281565b348015610c6f57600080fd5b506103cb610c7e3660046142ac565b612295565b348015610c8f57600080fd5b506103cb610c9e3660046142ac565b6122a0565b348015610caf57600080fd5b506103706122c3565b600080610cc36122ce565b600301546001600160a01b031692915050565b6000610ce1826122f2565b92915050565b6000610cf1612317565b905090565b600080516020614f7d833981519152610d0e8161232f565b610d178261233c565b5050565b60606000610d27612345565b9050806000018054610d3890614987565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6490614987565b8015610db15780601f10610d8657610100808354040283529160200191610db1565b820191906000526020600020905b815481529060010190602001808311610d9457829003601f168201915b505050505091505090565b600080610dc7612369565b60009384526003016020525050604090205490565b600080610de7612369565b60009384526002016020525050604090205490565b600080610e0761238d565b60009384526001016020525050604090206002015490565b600080610e2a6122ce565b600101546001600160a01b031692915050565b600080610e486123b1565b60009384526020525050604090206001015490565b60606000610e696123d5565b6000848152600282016020908152604080832080548251818502810185019093528083529495509293909291830182828015610ec457602002820191906000526020600020905b815481526020019060010190808311610eb0575b505050505090506000815190506000816001600160401b03811115610eeb57610eeb6144ba565b604051908082528060200260200182016040528015610f6357816020015b610f506040518060c001604052806000801916815260200160006001600160a01b031681526020016060815260200160608152602001600081526020016000151581525090565b815260200190600190039081610f095790505b50905060005b8281101561103457610f7961112c565b6001600160a01b031663785d6e18858381518110610f9957610f996149c1565b60200260200101516040518263ffffffff1660e01b8152600401610fbf91815260200190565b600060405180830381865afa158015610fdc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110049190810190614a37565b828281518110611016576110166149c1565b6020026020010181905250808061102c90614b13565b915050610f69565b5095945050505050565b6002600061104a6123f9565b8054909150600160401b900460ff1680611071575080546001600160401b03808416911610155b1561108f5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556110b78361241d565b805460ff60401b19168155604051600080516020614f9d833981519152906110e0908490614b2c565b60405180910390a1505050565b6110f682610e3d565b6110ff8161232f565b6111098383612454565b50505050565b60008061111a6124fc565b60009384526020525050604090205490565b6000806111376122ce565b546001600160a01b031692915050565b6000806111526124fc565b60009384526001016020525050604090205460ff1690565b611173816118c5565b156111df5760405162461bcd60e51b815260206004820152603160248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64604482015270081a5cc81b9bdd08195b991959081e595d607a1b60648201526084015b60405180910390fd5b60006111e96124fc565b90508160010361121e57600091825260208181526040808420600190819055928301909152909120805460ff19169091179055565b600261122983611309565b600281111561123a5761123a614452565b0361126a57600082815260208281526040808320949094556001928301905291909120805460ff19169091179055565b600161127583611309565b600281111561128657611286614452565b03610d1757806000611299600185614b40565b8152602080820192909252604090810160009081205485825284845282822055600180850190935220805460ff191690911790555050565b6001600160a01b03811633146112fa5760405163334bd91960e11b815260040160405180910390fd5b6113048282612520565b505050565b60008061131583611cd5565b90508060000361133b576040516333b4e31b60e21b8152600481018490526024016111d6565b60006113456119d2565b65ffffffffffff169050600061135a85611d04565b905081811061136e57506000949350505050565b61137785611d58565b61138657506001949350505050565b506002949350505050565b60008061139c61238d565b6000948552600101602090815260408086206001600160a01b0395909516865260049094019052505090205460ff1690565b6000806113d961238d565b60009384526001016020525050604090206005015490565b6000806113fc61238d565b600094855260010160209081526040808620948652939052505090205490565b60606114266122c3565b6001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561148457506040513d6000823e601f3d908101601f191682016040526114819190810190614b53565b60015b6114c0575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b6114cd612598565b6114d68261263f565b610d178282612657565b60006114ea61270b565b50600080516020614ffe83398151915290565b6000806115086123d5565b6000938452600101602052505060409020546001600160a01b031690565b611539836115346000612754565b612777565b5080518251146115af5760405162461bcd60e51b815260206004820152603b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20617070732060448201527a0c2dcc840eecad2ced0e8e640d8cadccee8d040dad2e6dac2e8c6d602b1b60648201526084016111d6565b60008251116116175760405162461bcd60e51b815260206004820152602e60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f20617060448201526d3839903a37903b37ba32903337b960911b60648201526084016111d6565b60006116216116fb565b905060008061162e610cb8565b6001600160a01b031663d0ebb0ee33611646866127b6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401600060405180830381865afa158015611697573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116bf9190810190614b87565b91509150816116e55733816040516344c4534960e01b81526004016111d6929190614bd5565b336116f2878288886127e4565b50505050505050565b6000610cf1610b05611a6f565b60008051602061503e8339815191526117208161232f565b610d1782612d14565b6000610cf1610b25611a6f565b6000610ce1610c7e83611cd5565b60008061174f612e02565b8054909150600082611762600184614b40565b81548110611772576117726149c1565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b03168682116117b6576001600160d01b03169695505050505050565b6117c96117c2886127b6565b8690612e26565b6001600160d01b0316979650505050505050565b6000806117e861238d565b6002015492915050565b600080516020614f7d83398151915261180a8161232f565b610d1782612edc565b60008061181e6122ce565b600401546001600160a01b031692915050565b600080516020614f7d8339815191526118498161232f565b610d1782612f7b565b6060600061185e6123d5565b600084815260028201602090815260409182902080548351818402810184019094528084529394509192908301828280156118b857602002820191906000526020600020905b8154815260200190600101908083116118a4575b5050505050915050919050565b6000806118d183611309565b60028111156118e2576118e2614452565b1492915050565b600080516020614f7d8339815191526119018161232f565b610d1782613026565b600080611915612369565b5492915050565b60408051606081018252600080825260208201819052918101829052906119416123d5565b60009384526001016020908152604093849020845160608101865290546001600160a01b0381168252600160a01b810465ffffffffffff1692820192909252600160d01b90910463ffffffff16938101939093525090919050565b6000806119a76123b1565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60006119dc6122c3565b6001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a35575060408051601f3d908101601f19168201909252611a3291810190614bf9565b60015b6114c057610cf161302f565b600080611a4c61238d565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b6000806119156123d5565b600080516020614fde833981519152611a928161232f565b60076000611a9e6123f9565b8054909150600160401b900460ff1680611ac5575080546001600160401b03808416911610155b15611ae35760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b178155611b0b8461303a565b805460ff60401b19168155604051600080516020614f9d83398151915290611b34908490614b2c565b60405180910390a150505050565b600080611b4d6122ce565b600201546001600160a01b031692915050565b6000611b6a611813565b6001600160a01b031663a56b576584846040518363ffffffff1660e01b8152600401611b97929190614c21565b602060405180830381865afa158015611bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd89190614c3a565b9392505050565b600080611bea612e02565b9050611bf581613042565b6001600160d01b031691505090565b60008051602061503e833981519152611c1c8161232f565b610d178261307b565b600080516020614f7d833981519152611c3d8161232f565b610d1782613170565b600080611c51612369565b6001015492915050565b600060008051602061501e833981519152611c758161232f565b611c7d6131f8565b91505b5090565b600080611c8f61238d565b6000948552600190810160209081526040808720958752949091019052505090205490565b60008051602061503e833981519152611ccc8161232f565b610d1782613298565b600080611ce06123d5565b600093845260010160205250506040902054600160a01b900465ffffffffffff1690565b600080611d0f6123d5565b6000848152600182016020526040902054909150611d4990600160d01b810463ffffffff1690600160a01b900465ffffffffffff16614c53565b65ffffffffffff169392505050565b6000610ce182613385565b611d6c82610e3d565b611d758161232f565b6111098383612520565b6000611d8961112c565b6001600160a01b031663d2570b9484611da185611cd5565b6040518363ffffffff1660e01b8152600401611dbe929190614c72565b602060405180830381865afa158015611ddb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd89190614c80565b6060604051806060016040528060218152602001614fbd60219139905090565b600080516020614f7d833981519152611e378161232f565b610d17826133a4565b6000611e4a6123f9565b805490915060ff600160401b82041615906001600160401b0316600081158015611e715750825b90506000826001600160401b03166001148015611e8d5750303b155b905081158015611e9b575080155b15611eb95760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315611ee257845460ff60401b1916600160401b1785555b85516001600160a01b0316611f4f5760405162461bcd60e51b815260206004820152602d60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420564f54332060448201526c746f6b656e206164647265737360981b60648201526084016111d6565b60808601516001600160a01b0316611fc15760405162461bcd60e51b815260206004820152602f60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420566f74657260448201526e52657761726473206164647265737360881b60648201526084016111d6565b60a08601516001600160a01b03166120305760405162461bcd60e51b815260206004820152602c60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420456d69737360448201526b696f6e73206164647265737360a01b60648201526084016111d6565b6120626040518060400160405280601181526020017058416c6c6f636174696f6e566f74696e6760781b8152506134d5565b61207a8661012001518760a0015188608001516134e6565b61208786604001516134f9565b61209586610180015161350a565b85516120a09061351b565b6120ad866020015161352c565b6120c186610140015187610160015161353d565b6120c961354f565b6120d161354f565b6120d961355b565b6120e161355b565b60005b8660c00151518110156121be5760006001600160a01b03168760c001518281518110612112576121126149c1565b60200260200101516001600160a01b0316036121815760405162461bcd60e51b815260206004820152602860248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c69642061646d696e604482015267206164647265737360c01b60648201526084016111d6565b6121ab6000801b8860c00151838151811061219e5761219e6149c1565b6020026020010151612454565b50806121b681614b13565b9150506120e4565b506121db600080516020614fde8339815191528760e00151612454565b506121f8600080516020614f7d8339815191528760600151612454565b5061221660008051602061503e833981519152876101000151612454565b50831561225057845460ff60401b19168555604051600080516020614f9d8339815191529061224790600190614b2c565b60405180910390a15b505050505050565b6000611bd8838360405180602001604052806000815250613563565b600080516020614f7d83398151915261228c8161232f565b610d17826135e3565b6000610ce18261368b565b6000806122ab61238d565b60009384526001016020525050604090206003015490565b600080611137613722565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b60006001600160e01b03198216637965db0b60e01b1480610ce15750610ce182613746565b60008061232261377b565b5463ffffffff1692915050565b612339813361379f565b50565b612339816137ca565b7f7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be0090565b7fc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c350090565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b7f0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f190090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b612425613858565b600061242f6122ce565b60030180546001600160a01b0319166001600160a01b03939093169290921790915550565b60008061245f6123b1565b905061246b848461199c565b6124eb576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556124a13390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610ce1565b6000915050610ce1565b5092915050565b7f7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e50250090565b60008061252b6123b1565b9050612537848461199c565b156124eb576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610ce1565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061261f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612613600080516020614ffe833981519152546001600160a01b031690565b6001600160a01b031614155b1561263d5760405163703e46dd60e11b815260040160405180910390fd5b565b600080516020614fde833981519152610d178161232f565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156126b1575060408051601f3d908101601f191682019092526126ae91810190614c3a565b60015b6126d05781604051634c9c8ce360e01b81526004016111d6919061426e565b600080516020614ffe833981519152811461270157604051632a87526960e21b8152600481018290526024016111d6565b611304838361387d565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461263d5760405163703e46dd60e11b815260040160405180910390fd5b600081600281111561276857612768614452565b600160ff919091161b92915050565b60008061278384611309565b905060008361279183612754565b1603611bd8578381846040516321b2b5ab60e11b81526004016111d693929190614c9b565b600065ffffffffffff821115611c80576030826040516306dfcc6560e41b81526004016111d6929190614cbd565b6127ee8484611391565b1561280e57826040516371c6af4960e01b81526004016111d6919061426e565b600061281861238d565b9050600061282586611cd5565b9050600080600061283688856138d3565b905060005b8751811015612b235760005b818110156128b357888181518110612861576128616149c1565b602002602001015189838151811061287b5761287b6149c1565b6020026020010151036128a157604051632367acf760e21b815260040160405180910390fd5b806128ab81614b13565b915050612847565b508681815181106128c6576128c66149c1565b6020026020010151846128d99190614cd0565b9350818411156128fc57604051630cc9baf760e01b815260040160405180910390fd5b61291f888281518110612911576129116149c1565b60200260200101518b611d7f565b61295957878181518110612935576129356149c1565b60200260200101516040516325c5391960e11b81526004016111d691815260200190565b60008660010160008c815260200190815260200160002060010160008a8481518110612987576129876149c1565b602002602001015181526020019081526020016000205490506000670de0b6b3a76400008984815181106129bd576129bd6149c1565b6020026020010151116129f857633b9aca008984815181106129e1576129e16149c1565b60200260200101516129f39190614cf9565b612a1a565b612a1a898481518110612a0d57612a0d6149c1565b6020026020010151613902565b90506000612a288284614cd0565b9050612a348380614d1b565b612a3e8280614d1b565b612a489190614b40565b612a529087614cd0565b9550808960010160008f815260200190815260200160002060010160008d8781518110612a8157612a816149c1565b6020026020010151815260200190815260200160002081905550898481518110612aad57612aad6149c1565b60200260200101518960010160008f815260200190815260200160002060000160008d8781518110612ae157612ae16149c1565b602002602001015181526020019081526020016000206000828254612b069190614cd0565b925050819055505050508080612b1b90614b13565b91505061283b565b50612b2c6117dd565b831015612b5757612b3b6117dd565b8360405163742f62c360e01b81526004016111d6929190614c72565b600089815260018601602052604081206003018054849290612b7a908490614cd0565b9091555050600089815260018601602052604081206002018054859290612ba2908490614cd0565b909155505060008981526001868101602081815260408085206001600160a01b038e168652600481018352908520805460ff19169094179093558c845252600501805491612bef83614b13565b90915550506001600160a01b03881660009081526020869052604090205460ff16612c38576001600160a01b0388166000908152602086905260409020805460ff191660011790555b612c40611b42565b6001600160a01b0316632f18339d858a86612c5a88613902565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b03909216602484015260448301526064820152608401600060405180830381600087803b158015612cad57600080fd5b505af1158015612cc1573d6000803e3d6000fd5b5050505088886001600160a01b03167fe2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e28989604051612d01929190614d32565b60405180910390a3505050505050505050565b6001600160a01b038116612d8b5760405162461bcd60e51b815260206004820152603860248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20656d697373604482015277696f6e7320697320746865207a65726f206164647265737360401b60648201526084016111d6565b6000612d956122ce565b60018101546040519192507f602f97505d28fb0206888a82df7cb072ec7ff056c77134b64368322bcb9f5aba91612dd7916001600160a01b0316908590614d89565b60405180910390a160010180546001600160a01b0319166001600160a01b0392909216919091179055565b7f49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c3240090565b815460009081816005811115612e85576000612e4184613902565b612e4b9085614b40565b60008881526020902090915081015465ffffffffffff9081169087161015612e7557809150612e83565b612e80816001614cd0565b92505b505b6000612e93878785856139ea565b90508015612ece57612eb887612eaa600184614b40565b600091825260209091200190565b54600160301b90046001600160d01b0316612ed1565b60005b979650505050505050565b6064811115612f675760405162461bcd60e51b815260206004820152604b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20417070207360448201527f686172657320636170206d757374206265206c657373207468616e206f72206560648201526a07175616c20746f203130360ac1b608482015260a4016111d6565b6000612f71612369565b6001019190915550565b6001600160a01b038116612ff75760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6577204260448201527f335452476f7665726e6f7220697320746865207a65726f20616464726573730060648201526084016111d6565b60006130016122ce565b60040180546001600160a01b0319166001600160a01b03939093169290921790915550565b61233981613a4c565b6000610cf1436127b6565b612ff7613858565b805460009080156130725761305c83612eaa600184614b40565b54600160301b90046001600160d01b0316611bd8565b60009392505050565b6001600160a01b0381166130f9576040805162461bcd60e51b81526020600482015260248101919091527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6577207660448201527f6f746572207265776172647320697320746865207a65726f206164647265737360648201526084016111d6565b60006131036122ce565b60028101546040519192507f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c491613145916001600160a01b0316908590614d89565b60405180910390a160020180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166124255760405162461bcd60e51b815260206004820152604360248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6577205660448201527f6542657474657250617373706f727420697320746865207a65726f206164647260648201526265737360e81b608482015260a4016111d6565b60003381613204611a6f565b9050801561328857613215816118c5565b156132885760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20746865726560448201527f2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d650060648201526084016111d6565b61329182613a9b565b9250505090565b6001600160a01b0381166133145760405162461bcd60e51b815260206004820152603d60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6577205860448201527f324561726e4170707320697320746865207a65726f206164647265737300000060648201526084016111d6565b600061331e6122ce565b80546040519192507f6183e90e12923ae97651b48be341fb5bcfd7bb63a987353dbcf962851011974d9161335d916001600160a01b0316908590614d89565b60405180910390a180546001600160a01b0319166001600160a01b0392909216919091179055565b600061339082610dfc565b61339c610c7e84611cd5565b111592915050565b8063ffffffff166000036133ce5760405163f1cfbf0560e01b8152600060048201526024016111d6565b60006133d8610e1f565b6001600160a01b0316635bec4cb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015613415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134399190614c3a565b9050808263ffffffff16106134695760405163f1cfbf0560e01b815263ffffffff831660048201526024016111d6565b600061347361377b565b80546040805163ffffffff928316815291861660208301529192507f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1805463ffffffff191663ffffffff939093169290921790915550565b6134dd613858565b61233981613cb7565b6134ee613858565b611304838383613cd6565b613501613858565b61233981613d28565b613512613858565b61233981613d39565b613523613858565b61233981613d55565b613534613858565b61233981613d89565b613545613858565b610d178282613d91565b613557613858565b61263d5b61263d613858565b600061356d6122c3565b6001600160a01b0316633a46b1a885856040518363ffffffff1660e01b815260040161359a929190614c21565b602060405180830381865afa1580156135b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135db9190614c3a565b949350505050565b606481111561367a5760405162461bcd60e51b815260206004820152605760248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20426173652060448201527f616c6c6f636174696f6e2070657263656e74616765206d757374206265206c6560648201527607373207468616e206f7220657175616c20746f2031303604c1b608482015260a4016111d6565b6000613684612369565b9190915550565b6000606461369883611744565b6136a06122c3565b6001600160a01b0316638e539e8c856040518263ffffffff1660e01b81526004016136cd91815260200190565b602060405180830381865afa1580156136ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061370e9190614c3a565b6137189190614d1b565b610ce19190614cf9565b7f6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab50090565b60006001600160e01b03198216639d53f06d60e01b1480610ce157506301ffc9a760e01b6001600160e01b0319831614610ce1565b7fd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a9990090565b6137a9828261199c565b610d1757808260405163e2517d3f60e01b81526004016111d6929190614c21565b6064808211156137f157818160405163243e544560e01b81526004016111d6929190614c72565b60006137fb611bdf565b90506000613807612e02565b90506138256138146119d2565b61381d86613dab565b839190613dda565b50507f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b46339978285604051611b34929190614c72565b613860613df5565b61263d57604051631afcd79f60e31b815260040160405180910390fd5b61388682613e0f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156138cb576113048282613e6b565b610d17613ed8565b6000806138e08484611b60565b90506000816138ef8686612258565b6138f99190614cd0565b95945050505050565b60008160000361391457506000919050565b6000600161392184613ef7565b901c6001901b9050600181848161393a5761393a614ce3565b048201901c9050600181848161395257613952614ce3565b048201901c9050600181848161396a5761396a614ce3565b048201901c9050600181848161398257613982614ce3565b048201901c9050600181848161399a5761399a614ce3565b048201901c905060018184816139b2576139b2614ce3565b048201901c905060018184816139ca576139ca614ce3565b048201901c9050611bd8818285816139e4576139e4614ce3565b04613f8b565b60005b81831015613a44576000613a018484613fa1565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613a3057809250613a3e565b613a3b816001614cd0565b93505b506139ed565b509392505050565b6000613a5661238d565b90507fa5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05816002015483604051613a8d929190614c72565b60405180910390a160020155565b600080613aa66123d5565b90508060000160008154613ab990614b13565b9091555080546000818152600183016020526040902054909250600160a01b900465ffffffffffff1615613b0f5781613af183611309565b6040516321b2b5ab60e11b81526111d6929190600090600401614c9b565b6001821115613b2657613b2661058f600184614b40565b6000613b3061112c565b6001600160a01b031663c04cff196040518163ffffffff1660e01b8152600401600060405180830381865afa158015613b6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613b959190810190614da3565b600084815260028401602090815260409091208251929350613bbb929091840190614217565b50613bc583613fbc565b6000613bcf6119d2565b65ffffffffffff1690506000613be3610ce7565b6000868152600186016020526040902080546001600160a01b0319166001600160a01b038916178155909150613c18836127b6565b815465ffffffffffff91909116600160a01b0265ffffffffffff60a01b19909116178155613c4582613ff5565b815463ffffffff91909116600160d01b0263ffffffff60d01b199091161781557fed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c8868885613c938682614cd0565b88604051613ca5959493929190614e28565b60405180910390a15050505050919050565b613cbf613858565b6000613cc9612345565b9050806113048382614ea1565b613cde613858565b6000613ce86122ce565b80546001600160a01b03199081166001600160a01b0396871617825560018201805482169587169590951790945560020180549093169190931617905550565b613d30613858565b612339816133a4565b613d41613858565b6000613d4b61238d565b6002019190915550565b613d5d613858565b6000613d67613722565b80546001600160a01b0319166001600160a01b03939093169290921790915550565b61233c613858565b613d99613858565b613da2826135e3565b610d1781612edc565b60006001600160d01b03821115611c805760d0826040516306dfcc6560e41b81526004016111d6929190614cbd565b600080613de8858585614021565b915091505b935093915050565b6000613dff6123f9565b54600160401b900460ff16919050565b806001600160a01b03163b600003613e3c5780604051634c9c8ce360e01b81526004016111d6919061426e565b600080516020614ffe83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613e889190614f60565b600060405180830381855af49150503d8060008114613ec3576040519150601f19603f3d011682016040523d82523d6000602084013e613ec8565b606091505b50915091506138f985838361419b565b341561263d5760405163b398979f60e01b815260040160405180910390fd5b600080608083901c15613f0c57608092831c92015b604083901c15613f1e57604092831c92015b602083901c15613f3057602092831c92015b601083901c15613f4257601092831c92015b600883901c15613f5457600892831c92015b600483901c15613f6657600492831c92015b600283901c15613f7857600292831c92015b600183901c15610ce15760010192915050565b6000818310613f9a5781611bd8565b5090919050565b6000613fb06002848418614cf9565b611bd890848416614cd0565b6000613fc6612369565b805460009384526002820160209081526040808620929092556001830154600390930190529092209190915550565b600063ffffffff821115611c80576020826040516306dfcc6560e41b81526004016111d6929190614cbd565b82546000908190801561414057600061403f87612eaa600185614b40565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561409357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036140df57846140b688612eaa600186614b40565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055614130565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150613ded9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081613ded565b6060826141b0576141ab826141ee565b611bd8565b81511580156141c757506001600160a01b0384163b155b156141e75783604051639996b31560e01b81526004016111d6919061426e565b5080611bd8565b8051156141fe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b828054828255906000526020600020908101928215614252579160200282015b82811115614252578251825591602001919060010190614237565b50611c809291505b80821115611c80576000815560010161425a565b6001600160a01b0391909116815260200190565b60006020828403121561429457600080fd5b81356001600160e01b031981168114611bd857600080fd5b6000602082840312156142be57600080fd5b5035919050565b60005b838110156142e05781810151838201526020016142c8565b50506000910152565b600081518084526143018160208601602086016142c5565b601f01601f19169290920160200192915050565b602081526000611bd860208301846142e9565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156143d757888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614390828701826142e9565b915050606080830151868303828801526143aa83826142e9565b6080858101519089015260a09485015115159490970193909352505050938601939086019060010161434f565b509098975050505050505050565b6001600160a01b038116811461233957600080fd5b60006020828403121561440c57600080fd5b8135611bd8816143e5565b80356114c0816143e5565b6000806040838503121561443557600080fd5b823591506020830135614447816143e5565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b6003811061448657634e487b7160e01b600052602160045260246000fd5b9052565b60208101610ce18284614468565b600080604083850312156144ab57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b03811182821017156144f3576144f36144ba565b60405290565b60405160c081016001600160401b03811182821017156144f3576144f36144ba565b604051601f8201601f191681016001600160401b0381118282101715614543576145436144ba565b604052919050565b60006001600160401b03821115614564576145646144ba565b50601f01601f191660200190565b6000806040838503121561458557600080fd5b8235614590816143e5565b915060208301356001600160401b038111156145ab57600080fd5b8301601f810185136145bc57600080fd5b80356145cf6145ca8261454b565b61451b565b8181528660208385010111156145e457600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006001600160401b0382111561461d5761461d6144ba565b5060051b60200190565b600082601f83011261463857600080fd5b813560206146486145ca83614604565b82815260059290921b8401810191818101908684111561466757600080fd5b8286015b84811015614682578035835291830191830161466b565b509695505050505050565b6000806000606084860312156146a257600080fd5b833592506020808501356001600160401b03808211156146c157600080fd5b818701915087601f8301126146d557600080fd5b81356146e36145ca82614604565b81815260059190911b8301840190848101908a83111561470257600080fd5b938501935b8285101561472057843582529385019390850190614707565b96505050604087013592508083111561473857600080fd5b505061474686828701614627565b9150509250925092565b600081518084526020808501945080840160005b8381101561478057815187529582019590820190600101614764565b509495945050505050565b602081526000611bd86020830184614750565b600080604083850312156147b157600080fd5b82356147bc816143e5565b946020939093013593505050565b803563ffffffff811681146114c057600080fd5b6000602082840312156147f057600080fd5b611bd8826147ca565b600082601f83011261480a57600080fd5b8135602061481a6145ca83614604565b82815260059290921b8401810191818101908684111561483957600080fd5b8286015b84811015614682578035614850816143e5565b835291830191830161483d565b60006020828403121561486f57600080fd5b81356001600160401b038082111561488657600080fd5b908301906101a0828603121561489b57600080fd5b6148a36144d0565b6148ac83614417565b8152602083013560208201526148c4604084016147ca565b60408201526148d560608401614417565b60608201526148e660808401614417565b60808201526148f760a08401614417565b60a082015260c08301358281111561490e57600080fd5b61491a878286016147f9565b60c08301525061492c60e08401614417565b60e08201526101009150614941828401614417565b828201526101209150614955828401614417565b918101919091526101408281013590820152610160808301359082015261018091820135918101919091529392505050565b600181811c9082168061499b57607f821691505b6020821081036149bb57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b80516114c0816143e5565b600082601f8301126149f357600080fd5b8151614a016145ca8261454b565b818152846020838601011115614a1657600080fd5b6135db8260208301602087016142c5565b805180151581146114c057600080fd5b600060208284031215614a4957600080fd5b81516001600160401b0380821115614a6057600080fd5b9083019060c08286031215614a7457600080fd5b614a7c6144f9565b82518152614a8c602084016149d7565b6020820152604083015182811115614aa357600080fd5b614aaf878286016149e2565b604083015250606083015182811115614ac757600080fd5b614ad3878286016149e2565b60608301525060808301516080820152614aef60a08401614a27565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201614b2557614b25614afd565b5060010190565b6001600160401b0391909116815260200190565b81810381811115610ce157610ce1614afd565b600060208284031215614b6557600080fd5b81516001600160401b03811115614b7b57600080fd5b6135db848285016149e2565b60008060408385031215614b9a57600080fd5b614ba383614a27565b60208401519092506001600160401b03811115614bbf57600080fd5b614bcb858286016149e2565b9150509250929050565b6001600160a01b03831681526040602082018190526000906135db908301846142e9565b600060208284031215614c0b57600080fd5b815165ffffffffffff81168114611bd857600080fd5b6001600160a01b03929092168252602082015260400190565b600060208284031215614c4c57600080fd5b5051919050565b65ffffffffffff8181168382160190808211156124f5576124f5614afd565b918252602082015260400190565b600060208284031215614c9257600080fd5b611bd882614a27565b83815260608101614caf6020830185614468565b826040830152949350505050565b60ff929092168252602082015260400190565b80820180821115610ce157610ce1614afd565b634e487b7160e01b600052601260045260246000fd5b600082614d1657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610ce157610ce1614afd565b604081526000614d456040830185614750565b82810360208481019190915284518083528582019282019060005b81811015614d7c57845183529383019391830191600101614d60565b5090979650505050505050565b6001600160a01b0392831681529116602082015260400190565b60006020808385031215614db657600080fd5b82516001600160401b03811115614dcc57600080fd5b8301601f81018513614ddd57600080fd5b8051614deb6145ca82614604565b81815260059190911b82018301908381019087831115614e0a57600080fd5b928401925b82841015612ed157835182529284019290840190614e0f565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000612ed160a0830184614750565b601f82111561130457600081815260208120601f850160051c81016020861015614e825750805b601f850160051c820191505b8181101561225057828155600101614e8e565b81516001600160401b03811115614eba57614eba6144ba565b614ece81614ec88454614987565b84614e5b565b602080601f831160018114614f035760008415614eeb5750858301515b600019600386901b1c1916600185901b178555612250565b600085815260208120601f198616915b82811015614f3257888601518255948401946001909101908401614f13565b5085821015614f505787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251614f728184602087016142c5565b919091019291505056fe71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2737570706f72743d782d616c6c6f636174696f6e732671756f72756d3d6175746f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7a2646970667358221220f075d5c441b3c2d4c68c2291cbcb9a16e3a1b23f4f325ddb5b440dfd3572d36964736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x356 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x50EA6F EQ PUSH2 0x35B JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x386 JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x3B6 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x3FB JUMPI DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x41D JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0x43D JUMPI DUP1 PUSH4 0x19E6E158 EQ PUSH2 0x45D JUMPI DUP1 PUSH4 0x2267716C EQ PUSH2 0x47D JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x492 JUMPI DUP1 PUSH4 0x291605F7 EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0x29B6ECA9 EQ PUSH2 0x4DF JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x4FF JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x51F JUMPI DUP1 PUSH4 0x33653F5D EQ PUSH2 0x53F JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x554 JUMPI DUP1 PUSH4 0x3469F6E2 EQ PUSH2 0x574 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x594 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x5B4 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x5E1 JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x601 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x621 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x641 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x656 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x669 JUMPI DUP1 PUSH4 0x5320A147 EQ PUSH2 0x67E JUMPI DUP1 PUSH4 0x53ED6399 EQ PUSH2 0x69E JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x6BE JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0x6E8 JUMPI DUP1 PUSH4 0x57181609 EQ PUSH2 0x6FD JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x71D JUMPI DUP1 PUSH4 0x59529EDD EQ PUSH2 0x732 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x752 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x772 JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0x787 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x7A7 JUMPI DUP1 PUSH4 0x78A81336 EQ PUSH2 0x7BC JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x7DC JUMPI DUP1 PUSH4 0x82AFD23B EQ PUSH2 0x809 JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x829 JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0x849 JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0x85E JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x8B7 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x8D7 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0x903 JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0x925 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0x939 JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0x959 JUMPI DUP1 PUSH4 0x9FB02702 EQ PUSH2 0x96E JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x98E JUMPI DUP1 PUSH4 0xA3844E11 EQ PUSH2 0x9A3 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0x9B8 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x9D8 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x9ED JUMPI DUP1 PUSH4 0xB25D6F62 EQ PUSH2 0xA1E JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xA3E JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xA5E JUMPI DUP1 PUSH4 0xBD85948C EQ PUSH2 0xA73 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0xA88 JUMPI DUP1 PUSH4 0xC048F6C9 EQ PUSH2 0xAA8 JUMPI DUP1 PUSH4 0xCD669A72 EQ PUSH2 0xAC8 JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0xAEA JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0xB0A JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0xB2A JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xB4A JUMPI DUP1 PUSH4 0xD68B4C36 EQ PUSH2 0xB6A JUMPI DUP1 PUSH4 0xDD4E2BA5 EQ PUSH2 0xB8A JUMPI DUP1 PUSH4 0xE540D01D EQ PUSH2 0xB9F JUMPI DUP1 PUSH4 0xE7AD2BED EQ PUSH2 0xBBF JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xBDF JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0xBFF JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0xC21 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xC41 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xC63 JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0xC83 JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0xCA3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x367 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xCB8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x392 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x3A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4282 JUMP JUMPDEST PUSH2 0xCD6 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x37D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xCE7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x37D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x3F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xCF6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x407 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x410 PUSH2 0xD1B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x4315 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x429 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x438 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xDBC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x449 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x458 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xDDC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x469 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x478 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xDFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x489 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0xE1F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x4AD CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xE3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D2 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0xE5D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x4328 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x4FA CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x103E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x51A CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x10ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x53A CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x110F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x54B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x112C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x560 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x56F CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1147 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x580 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x58F CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x116A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x5AF CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x12D1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5D4 PUSH2 0x5CF CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x448A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x5FC CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x1391 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x61C CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x13CE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x63C CALLDATASIZE PUSH1 0x4 PUSH2 0x4498 JUMP JUMPDEST PUSH2 0x13F1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x410 PUSH2 0x141C JUMP JUMPDEST PUSH2 0x3F9 PUSH2 0x664 CALLDATASIZE PUSH1 0x4 PUSH2 0x4572 JUMP JUMPDEST PUSH2 0x14C5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x675 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x14E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x699 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x14FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x6B9 CALLDATASIZE PUSH1 0x4 PUSH2 0x468D JUMP JUMPDEST PUSH2 0x1526 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x37 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x410 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x16FB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x709 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x718 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1708 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x729 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1729 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x73E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x74D CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1736 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x76D CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1744 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x77E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x17DD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x793 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x7A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x17F2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1813 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x7D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1831 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7FC PUSH2 0x7F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1852 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x37D SWAP2 SWAP1 PUSH2 0x478B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x815 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x824 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x18C5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x835 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x844 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x18E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x855 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x190A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x86A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x87E PUSH2 0x879 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x191C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x37D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x8D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x199C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8EC PUSH2 0x19D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x37D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x90F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x931 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH2 0x3CB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x945 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x954 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1A41 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x965 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1A6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0x989 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1A7A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x99A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x1B42 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x9D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x479E JUMP JUMPDEST PUSH2 0x1B60 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1BDF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x410 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xA39 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1C04 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xA59 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1C25 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1C46 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0x1C5B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xAA3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4498 JUMP JUMPDEST PUSH2 0x1C84 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xAC3 CALLDATASIZE PUSH1 0x4 PUSH2 0x43FA JUMP JUMPDEST PUSH2 0x1CB4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x501E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xB05 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1CD5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xB25 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1D04 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0xB45 CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x1D58 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xB65 CALLDATASIZE PUSH1 0x4 PUSH2 0x4422 JUMP JUMPDEST PUSH2 0x1D63 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0xB85 CALLDATASIZE PUSH1 0x4 PUSH2 0x4498 JUMP JUMPDEST PUSH2 0x1D7F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x410 PUSH2 0x1DFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xBBA CALLDATASIZE PUSH1 0x4 PUSH2 0x47DE JUMP JUMPDEST PUSH2 0x1E1F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBCB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xBDA CALLDATASIZE PUSH1 0x4 PUSH2 0x485D JUMP JUMPDEST PUSH2 0x1E40 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xBFA CALLDATASIZE PUSH1 0x4 PUSH2 0x479E JUMP JUMPDEST PUSH2 0x2258 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F9 PUSH2 0xC3C CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x2274 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xC7E CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x2295 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CB PUSH2 0xC9E CALLDATASIZE PUSH1 0x4 PUSH2 0x42AC JUMP JUMPDEST PUSH2 0x22A0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x370 PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCC3 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 DUP3 PUSH2 0x22F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF1 PUSH2 0x2317 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xD0E DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x233C JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xD27 PUSH2 0x2345 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xD38 SWAP1 PUSH2 0x4987 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD64 SWAP1 PUSH2 0x4987 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDB1 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD86 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDB1 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD94 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xDC7 PUSH2 0x2369 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xDE7 PUSH2 0x2369 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE07 PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE2A PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE48 PUSH2 0x23B1 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE69 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xEC4 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xEB0 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xEEB JUMPI PUSH2 0xEEB PUSH2 0x44BA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF63 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0xF50 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xF09 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1034 JUMPI PUSH2 0xF79 PUSH2 0x112C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x785D6E18 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xF99 JUMPI PUSH2 0xF99 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFBF SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFDC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1004 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4A37 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1016 JUMPI PUSH2 0x1016 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP1 DUP1 PUSH2 0x102C SWAP1 PUSH2 0x4B13 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xF69 JUMP JUMPDEST POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x104A PUSH2 0x23F9 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x1071 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x108F JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH2 0x10B7 DUP4 PUSH2 0x241D JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F9D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x10E0 SWAP1 DUP5 SWAP1 PUSH2 0x4B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x10F6 DUP3 PUSH2 0xE3D JUMP JUMPDEST PUSH2 0x10FF DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0x1109 DUP4 DUP4 PUSH2 0x2454 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x111A PUSH2 0x24FC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1137 PUSH2 0x22CE JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1152 PUSH2 0x24FC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1173 DUP2 PUSH2 0x18C5 JUMP JUMPDEST ISZERO PUSH2 0x11DF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A20726F756E64 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x81A5CC81B9BDD08195B991959081E595D PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x11E9 PUSH2 0x24FC JUMP JUMPDEST SWAP1 POP DUP2 PUSH1 0x1 SUB PUSH2 0x121E JUMPI PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 SWAP1 DUP2 SWAP1 SSTORE SWAP3 DUP4 ADD SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x2 PUSH2 0x1229 DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x123A JUMPI PUSH2 0x123A PUSH2 0x4452 JUMP JUMPDEST SUB PUSH2 0x126A JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE PUSH1 0x1 SWAP3 DUP4 ADD SWAP1 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH2 0x1275 DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1286 JUMPI PUSH2 0x1286 PUSH2 0x4452 JUMP JUMPDEST SUB PUSH2 0xD17 JUMPI DUP1 PUSH1 0x0 PUSH2 0x1299 PUSH1 0x1 DUP6 PUSH2 0x4B40 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD DUP6 DUP3 MSTORE DUP5 DUP5 MSTORE DUP3 DUP3 KECCAK256 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SWAP1 SWAP4 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x12FA JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1304 DUP3 DUP3 PUSH2 0x2520 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1315 DUP4 PUSH2 0x1CD5 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x133B JUMPI PUSH1 0x40 MLOAD PUSH4 0x33B4E31B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1345 PUSH2 0x19D2 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x135A DUP6 PUSH2 0x1D04 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x136E JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1377 DUP6 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0x1386 JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x139C PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13D9 PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13FC PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP5 DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1426 PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1484 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1481 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4B53 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x14C0 JUMPI POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14CD PUSH2 0x2598 JUMP JUMPDEST PUSH2 0x14D6 DUP3 PUSH2 0x263F JUMP JUMPDEST PUSH2 0xD17 DUP3 DUP3 PUSH2 0x2657 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14EA PUSH2 0x270B JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1508 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x1539 DUP4 PUSH2 0x1534 PUSH1 0x0 PUSH2 0x2754 JUMP JUMPDEST PUSH2 0x2777 JUMP JUMPDEST POP DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x15AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206170707320 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0xC2DCC840EECAD2CED0E8E640D8CADCCEE8D040DAD2E6DAC2E8C6D PUSH1 0x2B SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1617 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E6F206170 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3839903A37903B37BA32903337B9 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1621 PUSH2 0x16FB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x162E PUSH2 0xCB8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE CALLER PUSH2 0x1646 DUP7 PUSH2 0x27B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1697 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x16BF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4B87 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x16E5 JUMPI CALLER DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4BD5 JUMP JUMPDEST CALLER PUSH2 0x16F2 DUP8 DUP3 DUP9 DUP9 PUSH2 0x27E4 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF1 PUSH2 0xB05 PUSH2 0x1A6F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1720 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x2D14 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF1 PUSH2 0xB25 PUSH2 0x1A6F JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 PUSH2 0xC7E DUP4 PUSH2 0x1CD5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x174F PUSH2 0x2E02 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 DUP3 PUSH2 0x1762 PUSH1 0x1 DUP5 PUSH2 0x4B40 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1772 JUMPI PUSH2 0x1772 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP7 DUP3 GT PUSH2 0x17B6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x17C9 PUSH2 0x17C2 DUP9 PUSH2 0x27B6 JUMP JUMPDEST DUP7 SWAP1 PUSH2 0x2E26 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x17E8 PUSH2 0x238D JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x180A DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x2EDC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x181E PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1849 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x2F7B JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x185E PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE SWAP4 SWAP5 POP SWAP2 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x18B8 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x18A4 JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x18D1 DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x18E2 JUMPI PUSH2 0x18E2 PUSH2 0x4452 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1901 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x3026 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1915 PUSH2 0x2369 JUMP JUMPDEST SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0x1941 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP4 DUP5 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x60 DUP2 ADD DUP7 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xD0 SHL SWAP1 SWAP2 DIV PUSH4 0xFFFFFFFF AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19A7 PUSH2 0x23B1 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x19DC PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1A35 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1A32 SWAP2 DUP2 ADD SWAP1 PUSH2 0x4BF9 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x14C0 JUMPI PUSH2 0xCF1 PUSH2 0x302F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A4C PUSH2 0x238D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP4 SWAP1 SWAP4 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1915 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1A92 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 PUSH2 0x1A9E PUSH2 0x23F9 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x1AC5 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x1AE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH2 0x1B0B DUP5 PUSH2 0x303A JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F9D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x1B34 SWAP1 DUP5 SWAP1 PUSH2 0x4B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B4D PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B6A PUSH2 0x1813 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA56B5765 DUP5 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B97 SWAP3 SWAP2 SWAP1 PUSH2 0x4C21 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1BB4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1BD8 SWAP2 SWAP1 PUSH2 0x4C3A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BEA PUSH2 0x2E02 JUMP JUMPDEST SWAP1 POP PUSH2 0x1BF5 DUP2 PUSH2 0x3042 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1C1C DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x307B JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1C3D DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x3170 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C51 PUSH2 0x2369 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x501E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1C75 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0x1C7D PUSH2 0x31F8 JUMP JUMPDEST SWAP2 POP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C8F PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP8 KECCAK256 SWAP6 DUP8 MSTORE SWAP5 SWAP1 SWAP2 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1CCC DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x3298 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CE0 PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D0F PUSH2 0x23D5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x1D49 SWAP1 PUSH1 0x1 PUSH1 0xD0 SHL DUP2 DIV PUSH4 0xFFFFFFFF AND SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND PUSH2 0x4C53 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 DUP3 PUSH2 0x3385 JUMP JUMPDEST PUSH2 0x1D6C DUP3 PUSH2 0xE3D JUMP JUMPDEST PUSH2 0x1D75 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0x1109 DUP4 DUP4 PUSH2 0x2520 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D89 PUSH2 0x112C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD2570B94 DUP5 PUSH2 0x1DA1 DUP6 PUSH2 0x1CD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1DBE SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DDB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1BD8 SWAP2 SWAP1 PUSH2 0x4C80 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4FBD PUSH1 0x21 SWAP2 CODECOPY SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1E37 DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x33A4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E4A PUSH2 0x23F9 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E71 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x1E8D JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x1E9B JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1EB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1EE2 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST DUP6 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1F4F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420564F543320 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x746F6B656E2061646472657373 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x80 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FC1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420566F746572 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x526577617264732061646472657373 PUSH1 0x88 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2030 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420456D697373 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x696F6E732061646472657373 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x2062 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH17 0x58416C6C6F636174696F6E566F74696E67 PUSH1 0x78 SHL DUP2 MSTORE POP PUSH2 0x34D5 JUMP JUMPDEST PUSH2 0x207A DUP7 PUSH2 0x120 ADD MLOAD DUP8 PUSH1 0xA0 ADD MLOAD DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x34E6 JUMP JUMPDEST PUSH2 0x2087 DUP7 PUSH1 0x40 ADD MLOAD PUSH2 0x34F9 JUMP JUMPDEST PUSH2 0x2095 DUP7 PUSH2 0x180 ADD MLOAD PUSH2 0x350A JUMP JUMPDEST DUP6 MLOAD PUSH2 0x20A0 SWAP1 PUSH2 0x351B JUMP JUMPDEST PUSH2 0x20AD DUP7 PUSH1 0x20 ADD MLOAD PUSH2 0x352C JUMP JUMPDEST PUSH2 0x20C1 DUP7 PUSH2 0x140 ADD MLOAD DUP8 PUSH2 0x160 ADD MLOAD PUSH2 0x353D JUMP JUMPDEST PUSH2 0x20C9 PUSH2 0x354F JUMP JUMPDEST PUSH2 0x20D1 PUSH2 0x354F JUMP JUMPDEST PUSH2 0x20D9 PUSH2 0x355B JUMP JUMPDEST PUSH2 0x20E1 PUSH2 0x355B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 PUSH1 0xC0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x21BE JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0xC0 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2112 JUMPI PUSH2 0x2112 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2181 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C69642061646D696E PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x2061646472657373 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x21AB PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0xC0 ADD MLOAD DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x219E JUMPI PUSH2 0x219E PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x2454 JUMP JUMPDEST POP DUP1 PUSH2 0x21B6 DUP2 PUSH2 0x4B13 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x20E4 JUMP JUMPDEST POP PUSH2 0x21DB PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH1 0xE0 ADD MLOAD PUSH2 0x2454 JUMP JUMPDEST POP PUSH2 0x21F8 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH1 0x60 ADD MLOAD PUSH2 0x2454 JUMP JUMPDEST POP PUSH2 0x2216 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x503E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH2 0x100 ADD MLOAD PUSH2 0x2454 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2250 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F9D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2247 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x4B2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BD8 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x3563 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4F7D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x228C DUP2 PUSH2 0x232F JUMP JUMPDEST PUSH2 0xD17 DUP3 PUSH2 0x35E3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 DUP3 PUSH2 0x368B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x22AB PUSH2 0x238D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1137 PUSH2 0x3722 JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xCE1 JUMPI POP PUSH2 0xCE1 DUP3 PUSH2 0x3746 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2322 PUSH2 0x377B JUMP JUMPDEST SLOAD PUSH4 0xFFFFFFFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2339 DUP2 CALLER PUSH2 0x379F JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x37CA JUMP JUMPDEST PUSH32 0x7FB63BCD433C69110AD961BFBE38AEF51814CBB9E11AF6FE21011AE43FB4BE00 SWAP1 JUMP JUMPDEST PUSH32 0xC74DB4E191410C7A6C18F14684E1218B5E87C449D0F81AB47E8C67BF971C3500 SWAP1 JUMP JUMPDEST PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D500 SWAP1 JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH32 0xF5210C47C3BB73C471770A1CBB5B7DDC03C0EC886694CC17AE21D1F595F1900 SWAP1 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x2425 PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x242F PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x245F PUSH2 0x23B1 JUMP JUMPDEST SWAP1 POP PUSH2 0x246B DUP5 DUP5 PUSH2 0x199C JUMP JUMPDEST PUSH2 0x24EB JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x24A1 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xCE1 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xCE1 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x7DD3251B9882A8B07DC283A0B43197AA2BE3A6AF1A7F0284070FE5D86E502500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x252B PUSH2 0x23B1 JUMP JUMPDEST SWAP1 POP PUSH2 0x2537 DUP5 DUP5 PUSH2 0x199C JUMP JUMPDEST ISZERO PUSH2 0x24EB JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xCE1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x261F JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2613 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x263D JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FDE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xD17 DUP2 PUSH2 0x232F JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x26B1 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x26AE SWAP2 DUP2 ADD SWAP1 PUSH2 0x4C3A JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x26D0 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x2701 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x1304 DUP4 DUP4 PUSH2 0x387D JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x263D JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x2768 JUMPI PUSH2 0x2768 PUSH2 0x4452 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2783 DUP5 PUSH2 0x1309 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x2791 DUP4 PUSH2 0x2754 JUMP JUMPDEST AND SUB PUSH2 0x1BD8 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4C9B JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C80 JUMPI PUSH1 0x30 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4CBD JUMP JUMPDEST PUSH2 0x27EE DUP5 DUP5 PUSH2 0x1391 JUMP JUMPDEST ISZERO PUSH2 0x280E JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2818 PUSH2 0x238D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2825 DUP7 PUSH2 0x1CD5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x2836 DUP9 DUP6 PUSH2 0x38D3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0x2B23 JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x28B3 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2861 JUMPI PUSH2 0x2861 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP10 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x287B JUMPI PUSH2 0x287B PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x28A1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2367ACF7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x28AB DUP2 PUSH2 0x4B13 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2847 JUMP JUMPDEST POP DUP7 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x28C6 JUMPI PUSH2 0x28C6 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 PUSH2 0x28D9 SWAP2 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP4 POP DUP2 DUP5 GT ISZERO PUSH2 0x28FC JUMPI PUSH1 0x40 MLOAD PUSH4 0xCC9BAF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x291F DUP9 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2911 JUMPI PUSH2 0x2911 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP12 PUSH2 0x1D7F JUMP JUMPDEST PUSH2 0x2959 JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x2935 JUMPI PUSH2 0x2935 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x25C53919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP11 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2987 JUMPI PUSH2 0x2987 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x29BD JUMPI PUSH2 0x29BD PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x29F8 JUMPI PUSH4 0x3B9ACA00 DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x29E1 JUMPI PUSH2 0x29E1 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x29F3 SWAP2 SWAP1 PUSH2 0x4CF9 JUMP JUMPDEST PUSH2 0x2A1A JUMP JUMPDEST PUSH2 0x2A1A DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2A0D JUMPI PUSH2 0x2A0D PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x3902 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2A28 DUP3 DUP5 PUSH2 0x4CD0 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A34 DUP4 DUP1 PUSH2 0x4D1B JUMP JUMPDEST PUSH2 0x2A3E DUP3 DUP1 PUSH2 0x4D1B JUMP JUMPDEST PUSH2 0x2A48 SWAP2 SWAP1 PUSH2 0x4B40 JUMP JUMPDEST PUSH2 0x2A52 SWAP1 DUP8 PUSH2 0x4CD0 JUMP JUMPDEST SWAP6 POP DUP1 DUP10 PUSH1 0x1 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP14 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0x2A81 JUMPI PUSH2 0x2A81 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2AAD JUMPI PUSH2 0x2AAD PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP10 PUSH1 0x1 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP14 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0x2AE1 JUMPI PUSH2 0x2AE1 PUSH2 0x49C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2B06 SWAP2 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP DUP1 DUP1 PUSH2 0x2B1B SWAP1 PUSH2 0x4B13 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x283B JUMP JUMPDEST POP PUSH2 0x2B2C PUSH2 0x17DD JUMP JUMPDEST DUP4 LT ISZERO PUSH2 0x2B57 JUMPI PUSH2 0x2B3B PUSH2 0x17DD JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x2B7A SWAP1 DUP5 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP6 SWAP3 SWAP1 PUSH2 0x2BA2 SWAP1 DUP5 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 DUP2 ADD PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP7 MSTORE PUSH1 0x4 DUP2 ADD DUP4 MSTORE SWAP1 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE DUP13 DUP5 MSTORE MSTORE PUSH1 0x5 ADD DUP1 SLOAD SWAP2 PUSH2 0x2BEF DUP4 PUSH2 0x4B13 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2C38 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH2 0x2C40 PUSH2 0x1B42 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2F18339D DUP6 DUP11 DUP7 PUSH2 0x2C5A DUP9 PUSH2 0x3902 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2CAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2CC1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP9 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xE2D0D542AF9CDD3E0EF4ACE292FC5E9DD654164E63920EA9B58C435492AF84E2 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x2D01 SWAP3 SWAP2 SWAP1 PUSH2 0x4D32 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2D8B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x38 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A20656D697373 PUSH1 0x44 DUP3 ADD MSTORE PUSH24 0x696F6E7320697320746865207A65726F2061646472657373 PUSH1 0x40 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D95 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x602F97505D28FB0206888A82DF7CB072EC7FF056C77134B64368322BCB9F5ABA SWAP2 PUSH2 0x2DD7 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x4D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH32 0x49D99284D013647F52E2A267FD5944583BD36BE17443E784EC3E86BBD4C32400 SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2E85 JUMPI PUSH1 0x0 PUSH2 0x2E41 DUP5 PUSH2 0x3902 JUMP JUMPDEST PUSH2 0x2E4B SWAP1 DUP6 PUSH2 0x4B40 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x2E75 JUMPI DUP1 SWAP2 POP PUSH2 0x2E83 JUMP JUMPDEST PUSH2 0x2E80 DUP2 PUSH1 0x1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x2E93 DUP8 DUP8 DUP6 DUP6 PUSH2 0x39EA JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2ECE JUMPI PUSH2 0x2EB8 DUP8 PUSH2 0x2EAA PUSH1 0x1 DUP5 PUSH2 0x4B40 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2ED1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x2F67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A204170702073 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x686172657320636170206D757374206265206C657373207468616E206F722065 PUSH1 0x64 DUP3 ADD MSTORE PUSH11 0x7175616C20746F2031303 PUSH1 0xAC SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F71 PUSH2 0x2369 JUMP JUMPDEST PUSH1 0x1 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2FF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E65772042 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x335452476F7665726E6F7220697320746865207A65726F206164647265737300 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3001 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3A4C JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF1 NUMBER PUSH2 0x27B6 JUMP JUMPDEST PUSH2 0x2FF7 PUSH2 0x3858 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x3072 JUMPI PUSH2 0x305C DUP4 PUSH2 0x2EAA PUSH1 0x1 DUP5 PUSH2 0x4B40 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x1BD8 JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30F9 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E65772076 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6F746572207265776172647320697320746865207A65726F2061646472657373 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3103 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 SWAP2 PUSH2 0x3145 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x4D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2425 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x43 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E65772056 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6542657474657250617373706F727420697320746865207A65726F2061646472 PUSH1 0x64 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x3204 PUSH2 0x1A6F JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x3288 JUMPI PUSH2 0x3215 DUP2 PUSH2 0x18C5 JUMP JUMPDEST ISZERO PUSH2 0x3288 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A207468657265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2063616E206265206F6E6C79206F6E6520726F756E64207065722074696D6500 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x3291 DUP3 PUSH2 0x3A9B JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3314 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E65772058 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x324561726E4170707320697320746865207A65726F2061646472657373000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x331E PUSH2 0x22CE JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x6183E90E12923AE97651B48BE341FB5BCFD7BB63A987353DBCF962851011974D SWAP2 PUSH2 0x335D SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x4D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3390 DUP3 PUSH2 0xDFC JUMP JUMPDEST PUSH2 0x339C PUSH2 0xC7E DUP5 PUSH2 0x1CD5 JUMP JUMPDEST GT ISZERO SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH4 0xFFFFFFFF AND PUSH1 0x0 SUB PUSH2 0x33CE JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D8 PUSH2 0xE1F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5BEC4CB4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3415 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3439 SWAP2 SWAP1 PUSH2 0x4C3A JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x3469 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3473 PUSH2 0x377B JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xFFFFFFFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP7 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP2 SWAP3 POP PUSH32 0x7E3F7F0708A84DE9203036ABAA450DCCC85AD5FF52F78C170F3EDB55CF5E8828 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH4 0xFFFFFFFF NOT AND PUSH4 0xFFFFFFFF SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x34DD PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3CB7 JUMP JUMPDEST PUSH2 0x34EE PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x1304 DUP4 DUP4 DUP4 PUSH2 0x3CD6 JUMP JUMPDEST PUSH2 0x3501 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3D28 JUMP JUMPDEST PUSH2 0x3512 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3D39 JUMP JUMPDEST PUSH2 0x3523 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3D55 JUMP JUMPDEST PUSH2 0x3534 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x3D89 JUMP JUMPDEST PUSH2 0x3545 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0xD17 DUP3 DUP3 PUSH2 0x3D91 JUMP JUMPDEST PUSH2 0x3557 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x263D JUMPDEST PUSH2 0x263D PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x356D PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x3A46B1A8 DUP6 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x359A SWAP3 SWAP2 SWAP1 PUSH2 0x4C21 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x35B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35DB SWAP2 SWAP1 PUSH2 0x4C3A JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x367A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x57 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A204261736520 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x616C6C6F636174696F6E2070657263656E74616765206D757374206265206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH23 0x7373207468616E206F7220657175616C20746F2031303 PUSH1 0x4C SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3684 PUSH2 0x2369 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH2 0x3698 DUP4 PUSH2 0x1744 JUMP JUMPDEST PUSH2 0x36A0 PUSH2 0x22C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8E539E8C DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x36CD SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x36EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x370E SWAP2 SWAP1 PUSH2 0x4C3A JUMP JUMPDEST PUSH2 0x3718 SWAP2 SWAP1 PUSH2 0x4D1B JUMP JUMPDEST PUSH2 0xCE1 SWAP2 SWAP1 PUSH2 0x4CF9 JUMP JUMPDEST PUSH32 0x6EB1BF0A160CDF1B5E63F5E5C6B310F6C2542CD9E2A47FF1BC977C526DFAB500 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x9D53F06D PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xCE1 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xCE1 JUMP JUMPDEST PUSH32 0xD69D068053671881D25A4D751DCAD1E692749D9B24184F608CB1D01AF3A99900 SWAP1 JUMP JUMPDEST PUSH2 0x37A9 DUP3 DUP3 PUSH2 0x199C JUMP JUMPDEST PUSH2 0xD17 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4C21 JUMP JUMPDEST PUSH1 0x64 DUP1 DUP3 GT ISZERO PUSH2 0x37F1 JUMPI DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37FB PUSH2 0x1BDF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3807 PUSH2 0x2E02 JUMP JUMPDEST SWAP1 POP PUSH2 0x3825 PUSH2 0x3814 PUSH2 0x19D2 JUMP JUMPDEST PUSH2 0x381D DUP7 PUSH2 0x3DAB JUMP JUMPDEST DUP4 SWAP2 SWAP1 PUSH2 0x3DDA JUMP JUMPDEST POP POP PUSH32 0x553476BF02EF2726E8CE5CED78D63E26E602E4A2257B1F559418E24B4633997 DUP3 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1B34 SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH2 0x3860 PUSH2 0x3DF5 JUMP JUMPDEST PUSH2 0x263D JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3886 DUP3 PUSH2 0x3E0F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x38CB JUMPI PUSH2 0x1304 DUP3 DUP3 PUSH2 0x3E6B JUMP JUMPDEST PUSH2 0xD17 PUSH2 0x3ED8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x38E0 DUP5 DUP5 PUSH2 0x1B60 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x38EF DUP7 DUP7 PUSH2 0x2258 JUMP JUMPDEST PUSH2 0x38F9 SWAP2 SWAP1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x3914 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x3921 DUP5 PUSH2 0x3EF7 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x393A JUMPI PUSH2 0x393A PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3952 JUMPI PUSH2 0x3952 PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x396A JUMPI PUSH2 0x396A PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3982 JUMPI PUSH2 0x3982 PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x399A JUMPI PUSH2 0x399A PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x39B2 JUMPI PUSH2 0x39B2 PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x39CA JUMPI PUSH2 0x39CA PUSH2 0x4CE3 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x1BD8 DUP2 DUP3 DUP6 DUP2 PUSH2 0x39E4 JUMPI PUSH2 0x39E4 PUSH2 0x4CE3 JUMP JUMPDEST DIV PUSH2 0x3F8B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x3A44 JUMPI PUSH1 0x0 PUSH2 0x3A01 DUP5 DUP5 PUSH2 0x3FA1 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x3A30 JUMPI DUP1 SWAP3 POP PUSH2 0x3A3E JUMP JUMPDEST PUSH2 0x3A3B DUP2 PUSH1 0x1 PUSH2 0x4CD0 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x39ED JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A56 PUSH2 0x238D JUMP JUMPDEST SWAP1 POP PUSH32 0xA5B41E1BD59A5A33422F0B660829FF7686AED2198167061E3C6C21FDCC259F05 DUP2 PUSH1 0x2 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0x3A8D SWAP3 SWAP2 SWAP1 PUSH2 0x4C72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3AA6 PUSH2 0x23D5 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 DUP2 SLOAD PUSH2 0x3AB9 SWAP1 PUSH2 0x4B13 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP DUP1 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND ISZERO PUSH2 0x3B0F JUMPI DUP2 PUSH2 0x3AF1 DUP4 PUSH2 0x1309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x4C9B JUMP JUMPDEST PUSH1 0x1 DUP3 GT ISZERO PUSH2 0x3B26 JUMPI PUSH2 0x3B26 PUSH2 0x58F PUSH1 0x1 DUP5 PUSH2 0x4B40 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B30 PUSH2 0x112C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC04CFF19 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3B6D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3B95 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4DA3 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP3 MLOAD SWAP3 SWAP4 POP PUSH2 0x3BBB SWAP3 SWAP1 SWAP2 DUP5 ADD SWAP1 PUSH2 0x4217 JUMP JUMPDEST POP PUSH2 0x3BC5 DUP4 PUSH2 0x3FBC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BCF PUSH2 0x19D2 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x3BE3 PUSH2 0xCE7 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR DUP2 SSTORE SWAP1 SWAP2 POP PUSH2 0x3C18 DUP4 PUSH2 0x27B6 JUMP JUMPDEST DUP2 SLOAD PUSH6 0xFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH6 0xFFFFFFFFFFFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR DUP2 SSTORE PUSH2 0x3C45 DUP3 PUSH2 0x3FF5 JUMP JUMPDEST DUP2 SLOAD PUSH4 0xFFFFFFFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xD0 SHL MUL PUSH4 0xFFFFFFFF PUSH1 0xD0 SHL NOT SWAP1 SWAP2 AND OR DUP2 SSTORE PUSH32 0xED97F3DAA22D7F521CFAC2156E927C837565DD6980BD67CC6F7E53CC52EA09C8 DUP7 DUP9 DUP6 PUSH2 0x3C93 DUP7 DUP3 PUSH2 0x4CD0 JUMP JUMPDEST DUP9 PUSH1 0x40 MLOAD PUSH2 0x3CA5 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4E28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3CBF PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3CC9 PUSH2 0x2345 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x1304 DUP4 DUP3 PUSH2 0x4EA1 JUMP JUMPDEST PUSH2 0x3CDE PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3CE8 PUSH2 0x22CE JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND OR DUP3 SSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP3 AND SWAP6 DUP8 AND SWAP6 SWAP1 SWAP6 OR SWAP1 SWAP5 SSTORE PUSH1 0x2 ADD DUP1 SLOAD SWAP1 SWAP4 AND SWAP2 SWAP1 SWAP4 AND OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x3D30 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x2339 DUP2 PUSH2 0x33A4 JUMP JUMPDEST PUSH2 0x3D41 PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D4B PUSH2 0x238D JUMP JUMPDEST PUSH1 0x2 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x3D5D PUSH2 0x3858 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D67 PUSH2 0x3722 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x233C PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x3D99 PUSH2 0x3858 JUMP JUMPDEST PUSH2 0x3DA2 DUP3 PUSH2 0x35E3 JUMP JUMPDEST PUSH2 0xD17 DUP2 PUSH2 0x2EDC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x1C80 JUMPI PUSH1 0xD0 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4CBD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3DE8 DUP6 DUP6 DUP6 PUSH2 0x4021 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DFF PUSH2 0x23F9 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x3E3C JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4FFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x3E88 SWAP2 SWAP1 PUSH2 0x4F60 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3EC3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3EC8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x38F9 DUP6 DUP4 DUP4 PUSH2 0x419B JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x263D JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F0C JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F1E JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F30 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F42 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F54 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F66 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x3F78 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xCE1 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x3F9A JUMPI DUP2 PUSH2 0x1BD8 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3FB0 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x4CF9 JUMP JUMPDEST PUSH2 0x1BD8 SWAP1 DUP5 DUP5 AND PUSH2 0x4CD0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3FC6 PUSH2 0x2369 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SWAP1 MSTORE SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C80 JUMPI PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP3 SWAP2 SWAP1 PUSH2 0x4CBD JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x4140 JUMPI PUSH1 0x0 PUSH2 0x403F DUP8 PUSH2 0x2EAA PUSH1 0x1 DUP6 PUSH2 0x4B40 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x4093 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x40DF JUMPI DUP5 PUSH2 0x40B6 DUP9 PUSH2 0x2EAA PUSH1 0x1 DUP7 PUSH2 0x4B40 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x4130 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x3DED SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x3DED JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x41B0 JUMPI PUSH2 0x41AB DUP3 PUSH2 0x41EE JUMP JUMPDEST PUSH2 0x1BD8 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x41C7 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x41E7 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D6 SWAP2 SWAP1 PUSH2 0x426E JUMP JUMPDEST POP DUP1 PUSH2 0x1BD8 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x41FE JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x4252 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x4252 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x4237 JUMP JUMPDEST POP PUSH2 0x1C80 SWAP3 SWAP2 POP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1C80 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x425A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4294 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1BD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x42E0 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x42C8 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4301 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x42C5 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1BD8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x42E9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x43D7 JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x4390 DUP3 DUP8 ADD DUP3 PUSH2 0x42E9 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x43AA DUP4 DUP3 PUSH2 0x42E9 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x434F JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2339 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x440C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD8 DUP2 PUSH2 0x43E5 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x14C0 DUP2 PUSH2 0x43E5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4447 DUP2 PUSH2 0x43E5 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x4486 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0xCE1 DUP3 DUP5 PUSH2 0x4468 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x44AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x44F3 JUMPI PUSH2 0x44F3 PUSH2 0x44BA JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x44F3 JUMPI PUSH2 0x44F3 PUSH2 0x44BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4543 JUMPI PUSH2 0x4543 PUSH2 0x44BA JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4564 JUMPI PUSH2 0x4564 PUSH2 0x44BA JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4590 DUP2 PUSH2 0x43E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x45AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x45BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x45CF PUSH2 0x45CA DUP3 PUSH2 0x454B JUMP JUMPDEST PUSH2 0x451B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x45E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x461D JUMPI PUSH2 0x461D PUSH2 0x44BA JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4638 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4648 PUSH2 0x45CA DUP4 PUSH2 0x4604 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4667 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4682 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x466B JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x46A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP1 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x46C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x46D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x46E3 PUSH2 0x45CA DUP3 PUSH2 0x4604 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP11 DUP4 GT ISZERO PUSH2 0x4702 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x4720 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x4707 JUMP JUMPDEST SWAP7 POP POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x4746 DUP7 DUP3 DUP8 ADD PUSH2 0x4627 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4780 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4764 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1BD8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4750 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x47B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x47BC DUP2 PUSH2 0x43E5 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x14C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x47F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1BD8 DUP3 PUSH2 0x47CA JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x480A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x481A PUSH2 0x45CA DUP4 PUSH2 0x4604 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4839 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4682 JUMPI DUP1 CALLDATALOAD PUSH2 0x4850 DUP2 PUSH2 0x43E5 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x483D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x486F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4886 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x1A0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x489B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x48A3 PUSH2 0x44D0 JUMP JUMPDEST PUSH2 0x48AC DUP4 PUSH2 0x4417 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x48C4 PUSH1 0x40 DUP5 ADD PUSH2 0x47CA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x48D5 PUSH1 0x60 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x48E6 PUSH1 0x80 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x48F7 PUSH1 0xA0 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x490E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x491A DUP8 DUP3 DUP7 ADD PUSH2 0x47F9 JUMP JUMPDEST PUSH1 0xC0 DUP4 ADD MSTORE POP PUSH2 0x492C PUSH1 0xE0 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 SWAP2 POP PUSH2 0x4941 DUP3 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x120 SWAP2 POP PUSH2 0x4955 DUP3 DUP5 ADD PUSH2 0x4417 JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x140 DUP3 DUP2 ADD CALLDATALOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x160 DUP1 DUP4 ADD CALLDATALOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x180 SWAP2 DUP3 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x499B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x49BB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x14C0 DUP2 PUSH2 0x43E5 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x49F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x4A01 PUSH2 0x45CA DUP3 PUSH2 0x454B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4A16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35DB DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x42C5 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x14C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4A60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x4A74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A7C PUSH2 0x44F9 JUMP JUMPDEST DUP3 MLOAD DUP2 MSTORE PUSH2 0x4A8C PUSH1 0x20 DUP5 ADD PUSH2 0x49D7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x4AA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AAF DUP8 DUP3 DUP7 ADD PUSH2 0x49E2 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x4AC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AD3 DUP8 DUP3 DUP7 ADD PUSH2 0x49E2 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x4AEF PUSH1 0xA0 DUP5 ADD PUSH2 0x4A27 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x4B25 JUMPI PUSH2 0x4B25 PUSH2 0x4AFD JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xCE1 JUMPI PUSH2 0xCE1 PUSH2 0x4AFD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4B7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35DB DUP5 DUP3 DUP6 ADD PUSH2 0x49E2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4B9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4BA3 DUP4 PUSH2 0x4A27 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4BBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4BCB DUP6 DUP3 DUP7 ADD PUSH2 0x49E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x35DB SWAP1 DUP4 ADD DUP5 PUSH2 0x42E9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1BD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x24F5 JUMPI PUSH2 0x24F5 PUSH2 0x4AFD JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1BD8 DUP3 PUSH2 0x4A27 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x4CAF PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x4468 JUMP JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xCE1 JUMPI PUSH2 0xCE1 PUSH2 0x4AFD JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x4D16 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xCE1 JUMPI PUSH2 0xCE1 PUSH2 0x4AFD JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4D45 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x4750 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP5 MLOAD DUP1 DUP4 MSTORE DUP6 DUP3 ADD SWAP3 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4D7C JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4D60 JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4DB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x4DDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x4DEB PUSH2 0x45CA DUP3 PUSH2 0x4604 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP8 DUP4 GT ISZERO PUSH2 0x4E0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x2ED1 JUMPI DUP4 MLOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x4E0F JUMP JUMPDEST DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE DUP4 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2ED1 PUSH1 0xA0 DUP4 ADD DUP5 PUSH2 0x4750 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x4E82 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2250 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4E8E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4EBA JUMPI PUSH2 0x4EBA PUSH2 0x44BA JUMP JUMPDEST PUSH2 0x4ECE DUP2 PUSH2 0x4EC8 DUP5 SLOAD PUSH2 0x4987 JUMP JUMPDEST DUP5 PUSH2 0x4E5B JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4F03 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x4EEB JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2250 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4F32 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x4F13 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x4F50 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x4F72 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x42C5 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID PUSH18 0x840DC4906352362B0CDAF79870196C8E42AC 0xAF 0xAD 0xE7 0x2D 0x5D GAS PUSH14 0x59291253CEB1C7F505B2F371AE21 PUSH22 0xEE4913F4499E1F2633A7B5936321EED1CDAEB6115181 0xD2 PUSH20 0x7570706F72743D782D616C6C6F636174696F6E73 0x26 PUSH18 0x756F72756D3D6175746F189AB7A9244DF084 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC2B53661063988F1AD36E0A 0x49 0xD4 0xD9 0xA6 LOG3 LT PUSH7 0x52AAEED2BE542C DUP7 SWAP2 0xD5 CREATE2 REVERT AND DUP12 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7A2646970667358221220F0 PUSH22 0xD5C441B3C2D4C68C2291CBCB9A16E3A1B23F4F325DDB JUMPDEST PREVRANDAO 0xD REVERT CALLDATALOAD PUSH19 0xD36964736F6C63430008140033000000000000 ","sourceMap":"3393:7956:71:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5396:187:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10997:200:71;;;;;;;;;;-1:-1:-1;10997:200:71;;;;;:::i;:::-;;:::i;:::-;;;705:14:150;;698:22;680:41;;668:2;653:18;10997:200:71;540:187:150;10622:177:71;;;;;;;;;;;;;:::i;:::-;;;878:25:150;;;866:2;851:18;10622:177:71;732::150;9780:167:71;;;;;;;;;;-1:-1:-1;9780:167:71;;;;;:::i;:::-;;:::i;:::-;;7321:174:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4380:195:75:-;;;;;;;;;;-1:-1:-1;4380:195:75;;;;;:::i;:::-;;:::i;4095:219::-;;;;;;;;;;-1:-1:-1;4095:219:75;;;;;:::i;:::-;;:::i;12008:202:77:-;;;;;;;;;;-1:-1:-1;12008:202:77;;;;;:::i;:::-;;:::i;4994:166:74:-;;;;;;;;;;;;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;6513:565:78:-;;;;;;;;;;-1:-1:-1;6513:565:78;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7310:140:71:-;;;;;;;;;;-1:-1:-1;7310:140:71;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;4042:206:76:-;;;;;;;;;;-1:-1:-1;4042:206:76;;;;;:::i;:::-;;:::i;4775:169:74:-;;;;;;;;;;;;;:::i;4306:184:76:-;;;;;;;;;;-1:-1:-1;4306:184:76;;;;;:::i;:::-;;:::i;3066:868::-;;;;;;;;;;-1:-1:-1;3066:868:76;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;7921:496:73:-;;;;;;;;;;-1:-1:-1;7921:496:73;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12845:206:77:-;;;;;;;;;;-1:-1:-1;12845:206:77;;;;;:::i;:::-;;:::i;12284:204::-;;;;;;;;;;-1:-1:-1;12284:204:77;;;;;:::i;:::-;;:::i;11086:224::-;;;;;;;;;;-1:-1:-1;11086:224:77;;;;;:::i;:::-;;:::i;3526:235:80:-;;;;;;;;;;;;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;3705:134::-;;;;;;;;;;;;;:::i;5768:188:78:-;;;;;;;;;;-1:-1:-1;5768:188:78;;;;;:::i;:::-;;:::i;5376:918:73:-;;;;;;;;;;-1:-1:-1;5376:918:73;;;;;:::i;:::-;;:::i;7558:84::-;;;;;;;;;;-1:-1:-1;7627:10:73;;;;;;;;;;;;-1:-1:-1;;;7627:10:73;;;;7558:84;;4857:128:78;;;;;;;;;;;;;:::i;8075:142:71:-;;;;;;;;;;-1:-1:-1;8075:142:71;;;;;:::i;:::-;;:::i;5048:119:78:-;;;;;;;;;;;;;:::i;10450:118:71:-;;;;;;;;;;-1:-1:-1;10450:118:71;;;;;:::i;:::-;;:::i;3870:656:79:-;;;;;;;;;;-1:-1:-1;3870:656:79;;;;;:::i;:::-;;:::i;12601:175:77:-;;;;;;;;;;;;;:::i;9069:142:71:-;;;;;;;;;;-1:-1:-1;9069:142:71;;;;;:::i;:::-;;:::i;5639:175:74:-;;;;;;;;;;;;;:::i;10218:135:71:-;;;;;;;;;;-1:-1:-1;10218:135:71;;;;;:::i;:::-;;:::i;6037:207:78:-;;;;;;;;;;-1:-1:-1;6037:207:78;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7725:132:73:-;;;;;;;;;;-1:-1:-1;7725:132:73;;;;;:::i;:::-;;:::i;8614:161:71:-;;;;;;;;;;-1:-1:-1;8614:161:71;;;;;:::i;:::-;;:::i;3627:181:75:-;;;;;;;;;;;;;:::i;4400:177:78:-;;;;;;;;;;-1:-1:-1;4400:177:78;;;;;:::i;:::-;;:::i;:::-;;;;12380:13:150;;-1:-1:-1;;;;;12376:39:150;12358:58;;12476:4;12464:17;;;12458:24;12484:14;12454:45;12432:20;;;12425:75;12548:17;;;12542:24;12568:10;12538:41;12516:20;;;12509:71;12346:2;12331:18;4400:177:78;12156:430:150;3732:207:0;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;3183:198:80:-;;;;;;;;;;;;;:::i;:::-;;;12765:14:150;12753:27;;;12735:46;;12723:2;12708:18;3183:198:80;12591:196:150;4297:100:71;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4297:100:71;;4624:88:79;;;;;;;;;;-1:-1:-1;4704:3:79;4624:88;;13675:177:77;;;;;;;;;;-1:-1:-1;13675:177:77;;;;;:::i;:::-;;:::i;4628:169:78:-;;;;;;;;;;;;;:::i;7601:152:71:-;;;;;;;;;;-1:-1:-1;7601:152:71;;;;;:::i;:::-;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;5217:175:74;;;;;;;;;;;;;:::i;12895:179:73:-;;;;;;;;;;-1:-1:-1;12895:179:73;;;;;:::i;:::-;;:::i;3571:194:79:-;;;;;;;;;;;;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;8288:157:71;;;;;;;;;;-1:-1:-1;8288:157:71;;;;;:::i;:::-;;:::i;10007:155::-;;;;;;;;;;-1:-1:-1;10007:155:71;;;;;:::i;:::-;;:::i;3860:157:75:-;;;;;;;;;;;;;:::i;8861:127:71:-;;;;;;;;;;;;;:::i;11420:228:77:-;;;;;;;;;;-1:-1:-1;11420:228:77;;;;;:::i;:::-;;:::i;7860:147:71:-;;;;;;;;;;-1:-1:-1;7860:147:71;;;;;:::i;:::-;;:::i;3839:76::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3839:76:71;;5224:198:78;;;;;;;;;;-1:-1:-1;5224:198:78;;;;;:::i;:::-;;:::i;5482:232::-;;;;;;;;;;-1:-1:-1;5482:232:78;;;;;:::i;:::-;;:::i;8500:108:73:-;;;;;;;;;;-1:-1:-1;8500:108:73;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;8942:166:73:-;;;;;;;;;;-1:-1:-1;8942:166:73;;;;;:::i;:::-;;:::i;4436:131:77:-;;;;;;;;;;;;;:::i;9562:134:71:-;;;;;;;;;;-1:-1:-1;9562:134:71;;;;;:::i;:::-;;:::i;6003:1303::-;;;;;;;;;;-1:-1:-1;6003:1303:71;;;;;:::i;:::-;;:::i;8710:143:73:-;;;;;;;;;;-1:-1:-1;8710:143:73;;;;;:::i;:::-;;:::i;4121:70:71:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4121:70:71;;9306:196;;;;;;;;;;-1:-1:-1;9306:196:71;;;;;:::i;:::-;;:::i;3995:66::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3995:66:71;;10803:190;;;;;;;;;;-1:-1:-1;10803:190:71;;;;;:::i;:::-;;:::i;11734:206:77:-;;;;;;;;;;-1:-1:-1;11734:206:77;;;;;:::i;:::-;;:::i;2885:131:80:-;;;;;;;;;;;;;:::i;5396:187:74:-;5454:17;5479:34;5516:30;:28;:30::i;:::-;5559:19;;;-1:-1:-1;;;;;5559:19:74;;5396:187;-1:-1:-1;;5396:187:74:o;10997:200:71:-;11137:4;11156:36;11180:11;11156:23;:36::i;:::-;11149:43;10997:200;-1:-1:-1;;10997:200:71:o;10622:177::-;10750:7;10774:20;:18;:20::i;:::-;10767:27;;10622:177;:::o;9780:167::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9895:47:71::1;9923:18;9895:27;:47::i;:::-;9780:167:::0;;:::o;7321:174:73:-;7366:13;7387:42;7432:38;:36;:38::i;:::-;7387:83;;7483:1;:7;;7476:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7321:174;:::o;4380:195:75:-;4448:7;4463:33;4499:29;:27;:29::i;:::-;4541;;;;:20;;:29;;-1:-1:-1;;4541:29:75;;;;;4380:195::o;4095:219::-;4175:7;4190:33;4226:29;:27;:29::i;:::-;4268:41;;;;:32;;:41;;-1:-1:-1;;4268:41:75;;;;;4095:219::o;12008:202:77:-;12075:7;12090:35;12128:31;:29;:31::i;:::-;12172:22;;;;:13;;:22;;-1:-1:-1;;12172:22:77;;;:33;;;;12008:202::o;4994:166:74:-;5045:10;5063:34;5100:30;:28;:30::i;:::-;5143:12;;;-1:-1:-1;;;;;5143:12:74;;4994:166;-1:-1:-1;;4994:166:74:o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;6513:565:78:-;6585:53;6646:30;6679:26;:24;:26::i;:::-;6712:28;6743:33;;;:24;;;:33;;;;;;;;6712:64;;;;;;;;;;;;;;;;;6646:59;;-1:-1:-1;6712:28:78;;:64;;6743:33;6712:64;;6743:33;6712:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6782:14;6799:11;:18;6782:35;;6823:61;6945:6;-1:-1:-1;;;;;6887:70:78;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6887:70:78;;;;;;;;;;;;;;;;;6823:134;;6969:6;6964:90;6981:6;6977:1;:10;6964:90;;;7015:12;:10;:12::i;:::-;-1:-1:-1;;;;;7015:16:78;;7032:11;7044:1;7032:14;;;;;;;;:::i;:::-;;;;;;;7015:32;;;;;;;;;;;;;878:25:150;;866:2;851:18;;732:177;7015:32:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7015:32:78;;;;;;;;;;;;:::i;:::-;7002:7;7010:1;7002:10;;;;;;;;:::i;:::-;;;;;;:45;;;;6989:3;;;;;:::i;:::-;;;;6964:90;;;-1:-1:-1;7066:7:78;6513:565;-1:-1:-1;;;;;6513:565:78:o;7310:140:71:-;7390:1;6357:30:2;6390:26;:24;:26::i;:::-;6431:15;;;;-1:-1:-1;;;;6431:15:2;;;;;:44;;-1:-1:-1;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;;:14;;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1;;;6498:23:2;;;;;;;;;;;6427:105;6541:24;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;;6575:22;-1:-1:-1;;;6575:22:2;;;7399:46:71::1;7427:17:::0;7399:27:::1;:46::i;:::-;6618:23:2::0;;-1:-1:-1;;;;6618:23:2;;;6656:20;;-1:-1:-1;;;;;;;;;;;6656:20:2;;;6668:7;;6656:20;:::i;:::-;;;;;;;;6291:392;7310:140:71;;:::o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;4042:206:76:-;4114:7;4129:34;4166:30;:28;:30::i;:::-;4209:25;:34;;;;;-1:-1:-1;;4209:34:76;;;;;4042:206::o;4775:169:74:-;4827:11;4846:34;4883:30;:28;:30::i;:::-;4926:13;-1:-1:-1;;;;;4926:13:74;;4775:169;-1:-1:-1;;4775:169:74:o;4306:184:76:-;4367:4;4379:34;4416:30;:28;:30::i;:::-;4459:26;;;;:17;;:26;;-1:-1:-1;;4459:26:76;;;;;;;4306:184::o;3066:868::-;3145:17;3154:7;3145:8;:17::i;:::-;3144:18;3136:80;;;;-1:-1:-1;;;3136:80:76;;20359:2:150;3136:80:76;;;20341:21:150;20398:2;20378:18;;;20371:30;20437:34;20417:18;;;20410:62;-1:-1:-1;;;20488:18:150;;;20481:47;20545:19;;3136:80:76;;;;;;;;;3223:34;3260:30;:28;:30::i;:::-;3223:67;;3350:7;3361:1;3350:12;3346:126;;3372:25;:34;;;;;;;;;;;3409:1;3372:38;;;;3418:17;;;:26;;;;;;:33;;-1:-1:-1;;3418:33:76;;;;;;3066:868::o;3346:126::-;3500:20;3482:14;3488:7;3482:5;:14::i;:::-;:38;;;;;;;;:::i;:::-;;3478:452;;3593:25;:34;;;;;;;;;;;:44;;;;3674:4;3645:17;;;:26;;;;;;:33;;-1:-1:-1;;3645:33:76;;;;;;9780:167:71:o;3478:452:76:-;3713:17;3695:14;3701:7;3695:5;:14::i;:::-;:35;;;;;;;;:::i;:::-;;3691:239;;3844:1;:25;3870:11;3880:1;3870:7;:11;:::i;:::-;3844:38;;;;;;;;;;;;;;-1:-1:-1;3844:38:76;;;;3807:34;;;;;;;;;:75;3919:4;3890:17;;;:26;;;;:33;;-1:-1:-1;;3890:33:76;;;;;;3130:804;3066:868;:::o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;7921:496:73:-;7982:10;8000:16;8019:22;8033:7;8019:13;:22::i;:::-;8000:41;;8052:8;8064:1;8052:13;8048:74;;8082:33;;-1:-1:-1;;;8082:33:73;;;;;878:25:150;;;851:18;;8082:33:73;732:177:150;8048:74:73;8128:24;8155:7;:5;:7::i;:::-;8128:34;;;;8169:16;8188:22;8202:7;8188:13;:22::i;:::-;8169:41;;8233:16;8221:8;:28;8217:196;;-1:-1:-1;8266:17:73;;7921:496;-1:-1:-1;;;;7921:496:73:o;8217:196::-;8301:23;8316:7;8301:14;:23::i;:::-;8296:117;;-1:-1:-1;8341:17:73;;7921:496;-1:-1:-1;;;;7921:496:73:o;8296:117::-;-1:-1:-1;8386:20:73;;7921:496;-1:-1:-1;;;;7921:496:73:o;12845:206:77:-;12915:4;12927:35;12965:31;:29;:31::i;:::-;13009:22;;;;:13;;:22;;;;;;;;-1:-1:-1;;;;;13009:37:77;;;;;;:31;;;;:37;;-1:-1:-1;;13009:37:77;;;;;;12845:206::o;12284:204::-;12352:7;12367:35;12405:31;:29;:31::i;:::-;12449:22;;;;:13;;:22;;-1:-1:-1;;12449:22:77;;;:34;;;;12284:204::o;11086:224::-;11167:7;11182:35;11220:31;:29;:31::i;:::-;11264:22;;;;:13;;:22;;;;;;;;:41;;;;;;-1:-1:-1;;11264:41:77;;;;11086:224::o;3526:235:80:-;3586:13;3611:7;:5;:7::i;:::-;-1:-1:-1;;;;;3611:18:80;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3611:20:80;;;;;;;;;;;;:::i;:::-;;;3607:150;;-1:-1:-1;3712:38:80;;;;;;;;;;;;;;;;;;3526:235::o;3607:150::-;3681:9;3526:235;-1:-1:-1;3526:235:80:o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;3705:134::-:0;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;5768:188:78:-;5837:7;5852:30;5885:26;:24;:26::i;:::-;5924:18;;;;:9;;:18;;-1:-1:-1;;5924:18:78;;;:27;-1:-1:-1;;;;;5924:27:78;;5768:188::o;5376:918:73:-;5487:68;5508:7;5517:37;5536:17;5517:18;:37::i;:::-;5487:20;:68::i;:::-;;5587:11;:18;5570:6;:13;:35;5562:107;;;;-1:-1:-1;;;5562:107:73;;21252:2:150;5562:107:73;;;21234:21:150;21291:2;21271:18;;;21264:30;21330:34;21310:18;;;21303:62;-1:-1:-1;;;21381:18:150;;;21374:57;21448:19;;5562:107:73;21050:423:150;5562:107:73;5699:1;5683:6;:13;:17;5675:76;;;;-1:-1:-1;;;5675:76:73;;21680:2:150;5675:76:73;;;21662:21:150;21719:2;21699:18;;;21692:30;21758:34;21738:18;;;21731:62;-1:-1:-1;;;21809:18:150;;;21802:44;21863:19;;5675:76:73;21478:410:150;5675:76:73;5758:29;5790:22;:20;:22::i;:::-;5758:54;;5820:13;5835:25;5864:18;:16;:18::i;:::-;-1:-1:-1;;;;;5864:38:73;;966:10:11;5930:40:73;5948:21;5930:17;:40::i;:::-;5864:112;;-1:-1:-1;;;;;;5864:112:73;;;;;;;-1:-1:-1;;;;;22083:32:150;;;5864:112:73;;;22065:51:150;22164:14;22152:27;22132:18;;;22125:55;22038:18;;5864:112:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5864:112:73;;;;;;;;;;;;:::i;:::-;5819:157;;;;6106:8;6101:100;;966:10:11;6182:11:73;6131:63;;-1:-1:-1;;;6131:63:73;;;;;;;;;:::i;6101:100::-;966:10:11;6242:47:73;6253:7;966:10:11;6269:6:73;6277:11;6242:10;:47::i;:::-;5481:813;;;;5376:918;;;:::o;4857:128:78:-;4927:7;4949:31;4963:16;:14;:16::i;8075:142:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8185:27:71::1;8199:12;8185:13;:27::i;5048:119:78:-:0;5109:7;5131:31;5145:16;:14;:16::i;10450:118:71:-;10511:7;10533:30;10540:22;10554:7;10540:13;:22::i;3870:656:79:-;3943:7;3958:36;3997:32;:30;:32::i;:::-;4053:45;;3958:71;;-1:-1:-1;4036:14:79;3958:71;4241:10;4250:1;4053:45;4241:10;:::i;:::-;4202:50;;;;;;;;:::i;:::-;;;;;;;;;;4277:11;;4202:50;;-1:-1:-1;4277:11:79;;;;-1:-1:-1;;;4316:13:79;;-1:-1:-1;;;;;4316:13:79;4339:22;;;4335:61;;-1:-1:-1;;;;;4371:18:79;;3870:656;-1:-1:-1;;;;;;3870:656:79:o;4335:61::-;4448:73;4492:28;4510:9;4492:17;:28::i;:::-;4448:1;;:43;:73::i;:::-;-1:-1:-1;;;;;4441:80:79;;3870:656;-1:-1:-1;;;;;;;3870:656:79:o;12601:175:77:-;12657:7;12672:35;12710:31;:29;:31::i;:::-;12754:17;;;;12601:175;-1:-1:-1;;12601:175:77:o;9069:142:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9175:31:71::1;9192:13;9175:16;:31::i;5639:175:74:-:0;5693:13;5714:34;5751:30;:28;:30::i;:::-;5794:15;;;-1:-1:-1;;;;;5794:15:74;;5639:175;-1:-1:-1;;5639:175:74:o;10218:135:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;10315:33:71::1;10332:15;10315:16;:33::i;6037:207:78:-:0;6110:16;6134:30;6167:26;:24;:26::i;:::-;6206:33;;;;:24;;;:33;;;;;;;;;6199:40;;;;;;;;;;;;;;;;;6134:59;;-1:-1:-1;6199:40:78;;;;;6206:33;6199:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6037:207;;;:::o;7725:132:73:-;7798:4;;7817:14;7823:7;7817:5;:14::i;:::-;:35;;;;;;;;:::i;:::-;;;7725:132;-1:-1:-1;;7725:132:73:o;8614:161:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8726:44:71::1;8751:18;8726:24;:44::i;3627:181:75:-:0;3684:7;3699:33;3735:29;:27;:29::i;:::-;3777:26;;3627:181;-1:-1:-1;;3627:181:75:o;4400:177:78:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;4515:26:78;:24;:26::i;:::-;4554:18;;;;:9;;:18;;;;;;;;;4547:25;;;;;;;;;-1:-1:-1;;;;;4547:25:78;;;;-1:-1:-1;;;4547:25:78;;;;;;;;;;;-1:-1:-1;;;4547:25:78;;;;;;;;;;;;-1:-1:-1;4547:25:78;;;-1:-1:-1;4400:177:78:o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;3183:198:80:-;3238:6;3256:7;:5;:7::i;:::-;-1:-1:-1;;;;;3256:13:80;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3256:15:80;;;;;;;;-1:-1:-1;;3256:15:80;;;;;;;;;;;;:::i;:::-;;;3252:125;;3352:18;:16;:18::i;13675:177:77:-;13732:4;13744:35;13782:31;:29;:31::i;:::-;-1:-1:-1;;;;;13826:21:77;;;:15;:21;;;;;;;;-1:-1:-1;;13826:21:77;;;;;;;13675:177::o;4628:169:78:-;4692:7;4707:30;4740:26;:24;:26::i;7601:152:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;7697:1:71::1;6357:30:2;6390:26;:24;:26::i;:::-;6431:15:::0;;;;-1:-1:-1;;;;6431:15:2;::::1;;;::::0;:44:::1;;-1:-1:-1::0;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;::::1;:14:::0;::::1;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1::0;;;6498:23:2::1;;;;;;;;;;;6427:105;6541:24:::0;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;::::1;6575:22:::0;-1:-1:-1;;;6575:22:2::1;::::0;;7706:42:71::2;7734:13:::0;7706:27:::2;:42::i;:::-;6618:23:2::0;;-1:-1:-1;;;;6618:23:2::1;::::0;;6656:20:::1;::::0;-1:-1:-1;;;;;;;;;;;6656:20:2;::::1;::::0;6668:7;;6656:20:::1;:::i;:::-;;;;;;;;6291:392;3217:1:0;7601:152:71::0;;:::o;5217:175:74:-;5271:13;5292:34;5329:30;:28;:30::i;:::-;5372:15;;;-1:-1:-1;;;;;5372:15:74;;5217:175;-1:-1:-1;;5217:175:74:o;12895:179:73:-;12991:7;13013:14;:12;:14::i;:::-;-1:-1:-1;;;;;13013:36:73;;13050:7;13059:9;13013:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13006:63;12895:179;-1:-1:-1;;;12895:179:73:o;3571:194:79:-;3627:7;3642:36;3681:32;:30;:32::i;:::-;3642:71;-1:-1:-1;3726:34:79;3642:71;3726:32;:34::i;:::-;-1:-1:-1;;;;;3719:41:79;;;;3571:194;:::o;8288:157:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8407:33:71::1;8424:15;8407:16;:33::i;10007:155::-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;10116:41:71::1;10137:19;10116:20;:41::i;3860:157:75:-:0;3905:7;3920:33;3956:29;:27;:29::i;:::-;3998:14;;;;3860:157;-1:-1:-1;;3860:157:75:o;8861:127:71:-;8940:7;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8962:21:71::1;:19;:21::i;:::-;8955:28;;3217:1:0;8861:127:71::0;;:::o;11420:228:77:-;11503:7;11518:35;11556:31;:29;:31::i;:::-;11600:22;;;;:13;;;;:22;;;;;;;;:43;;;:38;;;;:43;;-1:-1:-1;;11600:43:77;;;;11420:228::o;7860:147:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;7973:29:71::1;7988:13;7973:14;:29::i;5224:198:78:-:0;5302:7;5317:30;5350:26;:24;:26::i;:::-;5389:18;;;;:9;;:18;;-1:-1:-1;;5389:18:78;;;:28;-1:-1:-1;;;5389:28:78;;;;;5224:198::o;5482:232::-;5560:7;5575:30;5608:26;:24;:26::i;:::-;5678:18;;;;:9;;;:18;;;;;:31;:9;;-1:-1:-1;5647:62:78;;-1:-1:-1;;;5678:31:78;;;;;-1:-1:-1;;;5647:28:78;;;;:62;:::i;:::-;5640:69;;;5482:232;-1:-1:-1;;;5482:232:78:o;8500:108:73:-;8561:4;8580:23;8595:7;8580:14;:23::i;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;8942:166:73:-:0;9030:4;9049:12;:10;:12::i;:::-;-1:-1:-1;;;;;9049:23:73;;9073:5;9080:22;9094:7;9080:13;:22::i;:::-;9049:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4436:131:77:-;4499:13;4520:42;;;;;;;;;;;;;;;;;;;4436:131;:::o;9562:134:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9658:33:71::1;9675:15;9658:16;:33::i;6003:1303::-:0;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;6096:14:71;;-1:-1:-1;;;;;6088:37:71::1;6080:95;;;::::0;-1:-1:-1;;;6080:95:71;;24534:2:150;6080:95:71::1;::::0;::::1;24516:21:150::0;24573:2;24553:18;;;24546:30;24612:34;24592:18;;;24585:62;-1:-1:-1;;;24663:18:150;;;24656:43;24716:19;;6080:95:71::1;24332:409:150::0;6080:95:71::1;6197:17;::::0;::::1;::::0;-1:-1:-1;;;;;6189:40:71::1;6181:100;;;::::0;-1:-1:-1;;;6181:100:71;;24948:2:150;6181:100:71::1;::::0;::::1;24930:21:150::0;24987:2;24967:18;;;24960:30;25026:34;25006:18;;;24999:62;-1:-1:-1;;;25077:18:150;;;25070:45;25132:19;;6181:100:71::1;24746:411:150::0;6181:100:71::1;6303:14;::::0;::::1;::::0;-1:-1:-1;;;;;6295:37:71::1;6287:94;;;::::0;-1:-1:-1;;;6287:94:71;;25364:2:150;6287:94:71::1;::::0;::::1;25346:21:150::0;25403:2;25383:18;;;25376:30;25442:34;25422:18;;;25415:62;-1:-1:-1;;;25493:18:150;;;25486:42;25545:19;;6287:94:71::1;25162:408:150::0;6287:94:71::1;6388:53;;;;;;;;;;;;;;-1:-1:-1::0;;;6388:53:71::1;;::::0;:32:::1;:53::i;:::-;6447:83;6472:4;:22;;;6496:4;:14;;;6512:4;:17;;;6447:24;:83::i;:::-;6536:47;6558:4;:24;;;6536:21;:47::i;:::-;6589;6615:4;:20;;;6589:25;:47::i;:::-;6655:14:::0;;6642:28:::1;::::0;:12:::1;:28::i;:::-;6676:49;6703:4;:21;;;6676:26;:49::i;:::-;6731:78;6760:4;:29;;;6791:4;:17;;;6731:28;:78::i;:::-;6815:26;:24;:26::i;:::-;6847:22;:20;:22::i;:::-;6875;:20;:22::i;:::-;6903:24;:22;:24::i;:::-;6939:9;6934:195;6954:4;:11;;;:18;6950:1;:22;6934:195;;;7021:1;-1:-1:-1::0;;;;;6995:28:71::1;:4;:11;;;7007:1;6995:14;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;6995:28:71::1;::::0;6987:81:::1;;;::::0;-1:-1:-1;;;6987:81:71;;25777:2:150;6987:81:71::1;::::0;::::1;25759:21:150::0;25816:2;25796:18;;;25789:30;25855:34;25835:18;;;25828:62;-1:-1:-1;;;25906:18:150;;;25899:38;25954:19;;6987:81:71::1;25575:404:150::0;6987:81:71::1;7076:46;2362:4:0;7087:18:71::0;::::1;7107:4;:11;;;7119:1;7107:14;;;;;;;;:::i;:::-;;;;;;;7076:10;:46::i;:::-;-1:-1:-1::0;6974:3:71;::::1;::::0;::::1;:::i;:::-;;;;6934:195;;;;7135:40;-1:-1:-1::0;;;;;;;;;;;7161:4:71::1;:13;;;7135:10;:40::i;:::-;;7181:42;-1:-1:-1::0;;;;;;;;;;;7209:4:71::1;:13;;;7181:10;:42::i;:::-;;7229:72;-1:-1:-1::0;;;;;;;;;;;7272:4:71::1;:28;;;7229:10;:72::i;:::-;;5070:14:2::0;5066:101;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;;;;;;;;;;;5142:14:2;;;5100:23;;5142:14;:::i;:::-;;;;;;;;5066:101;4092:1081;;;;;6003:1303:71;:::o;8710:143:73:-;8793:7;8815:33;8825:7;8834:9;8815:33;;;;;;;;;;;;:9;:33::i;9306:196:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9442:55:71::1;9471:25;9442:28;:55::i;10803:190::-:0;10941:7;10963:25;10976:11;10963:12;:25::i;11734:206:77:-;11803:7;11818:35;11856:31;:29;:31::i;:::-;11900:22;;;;:13;;:22;;-1:-1:-1;;11900:22:77;;;:35;;;;11734:206::o;2885:131:80:-;2931:8;2947:22;2972:18;:16;:18::i;2625:174:74:-;2757:32;;2625:174::o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;;3602:36;3626:11;3602:23;:36::i;2711:171:81:-;2773:7;2788:31;2822:27;:25;:27::i;:::-;2862:15;;;;2711:171;-1:-1:-1;;2711:171:81:o;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;:::-;4148:103;:::o;5230:127:79:-;5310:42;5333:18;5310:22;:42::i;3999:198:73:-;4147:40;;3999:198::o;2591:171:75:-;2721:31;;2591:171::o;3411:176:77:-;3544:33;;3411:176::o;2787:177:0:-;2920:28;;2787:177::o;2614:162:78:-;2738:28;;2614:162::o;8737:170:2:-;8870:21;;8737:170::o;4258:223:74:-;6931:20:2;:18;:20::i;:::-;4364:34:74::1;4401:30;:28;:30::i;:::-;4437:19;;:39:::0;;-1:-1:-1;;;;;;4437:39:74::1;-1:-1:-1::0;;;;;4437:39:74;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;4258:223:74:o;7270:387:0:-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7432:219;7353:304;7270:387;;;;:::o;2502:174:76:-;2634:32;;2502:174::o;7892:388:0:-;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;4599:312:3;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;4654:251;4599:312::o;11249:98:71:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;878:25:150;;;851:18;;6312:34:3;732:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;9427:132:73;9501:7;9542:10;9536:17;;;;;;;;:::i;:::-;9531:1;:22;;;;;;;9427:132;-1:-1:-1;;9427:132:73:o;6631:341::-;6723:10;6741:23;6767:14;6773:7;6767:5;:14::i;:::-;6741:40;-1:-1:-1;6851:1:73;6826:13;6791:32;6741:40;6791:18;:32::i;:::-;:48;:62;6787:156;;6899:7;6908:12;6922:13;6870:66;;-1:-1:-1;;;6870:66:73;;;;;;;;;;:::i;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14447:2;14451:5;14416:41;;-1:-1:-1;;;14416:41:37;;;;;;;;;:::i;6535:4139:77:-;6692:24;6701:7;6710:5;6692:8;:24::i;:::-;6688:82;;;6757:5;6733:30;;-1:-1:-1;;;6733:30:77;;;;;;;;:::i;6688:82::-;6776:35;6814:31;:29;:31::i;:::-;6776:69;;6886:18;6907:22;6921:7;6907:13;:22::i;:::-;6886:43;;6995:19;7105:30;7326:27;7356:34;7372:5;7379:10;7356:15;:34::i;:::-;7326:64;;7503:9;7498:1936;7518:4;:11;7514:1;:15;7498:1936;;;7602:9;7597:118;7617:1;7613;:5;7597:118;;;7650:4;7655:1;7650:7;;;;;;;;:::i;:::-;;;;;;;7639:4;7644:1;7639:7;;;;;;;;:::i;:::-;;;;;;;:18;7635:72;;7678:18;;-1:-1:-1;;;7678:18:77;;;;;;;;;;;7635:72;7620:3;;;;:::i;:::-;;;;7597:118;;;;7738:7;7746:1;7738:10;;;;;;;;:::i;:::-;;;;;;;7723:25;;;;;:::i;:::-;;;7775:19;7761:11;:33;7757:98;;;7813:33;;-1:-1:-1;;;7813:33:77;;;;;;;;;;;7757:98;7937:35;7955:4;7960:1;7955:7;;;;;;;;:::i;:::-;;;;;;;7964;7937:17;:35::i;:::-;7932:109;;8024:4;8029:1;8024:7;;;;;;;;:::i;:::-;;;;;;;7991:41;;-1:-1:-1;;;7991:41:77;;;;;;878:25:150;;866:2;851:18;;732:177;7932:109:77;8140:25;8168:1;:13;;:22;8182:7;8168:22;;;;;;;;;;;:38;;:47;8207:4;8212:1;8207:7;;;;;;;;:::i;:::-;;;;;;;8168:47;;;;;;;;;;;;8140:75;;8533:18;8567:4;8554:7;8562:1;8554:10;;;;;;;;:::i;:::-;;;;;;;:17;:60;;8611:3;8598:7;8606:1;8598:10;;;;;;;;:::i;:::-;;;;;;;:16;;;;:::i;:::-;8554:60;;;8574:21;8584:7;8592:1;8584:10;;;;;;;;:::i;:::-;;;;;;;8574:9;:21::i;:::-;8533:81;-1:-1:-1;8637:26:77;8666:30;8533:81;8666:17;:30;:::i;:::-;8637:59;-1:-1:-1;8948:37:77;8968:17;;8948:37;:::i;:::-;8904:39;8925:18;;8904:39;:::i;:::-;8903:83;;;;:::i;:::-;8877:109;;;;:::i;:::-;;;9245:18;9195:1;:13;;:22;9209:7;9195:22;;;;;;;;;;;:38;;:47;9234:4;9239:1;9234:7;;;;;;;;:::i;:::-;;;;;;;9195:47;;;;;;;;;;;:68;;;;9394:7;9402:1;9394:10;;;;;;;;:::i;:::-;;;;;;;9345:1;:13;;:22;9359:7;9345:22;;;;;;;;;;;:36;;:45;9382:4;9387:1;9382:7;;;;;;;;:::i;:::-;;;;;;;9345:45;;;;;;;;;;;;:59;;;;;;;:::i;:::-;;;;;;;;7536:1898;;;7531:3;;;;;:::i;:::-;;;;7498:1936;;;;9555:17;:15;:17::i;:::-;9541:11;:31;9537:120;;;9619:17;:15;:17::i;:::-;9638:11;9589:61;;-1:-1:-1;;;9589:61:77;;;;;;;;;:::i;9537:120::-;9708:22;;;;:13;;;:22;;;;;:35;;:61;;9747:22;;9708;:61;;9747:22;;9708:61;:::i;:::-;;;;-1:-1:-1;;9960:22:77;;;;:13;;;:22;;;;;:33;;:48;;9997:11;;9960:22;:48;;9997:11;;9960:48;:::i;:::-;;;;-1:-1:-1;;10059:22:77;;;;10100:4;10059:13;;;:22;;;;;;;;-1:-1:-1;;;;;10059:38:77;;;;:31;;;:38;;;;;:45;;-1:-1:-1;;10059:45:77;;;;;;;10144:22;;;;:34;;:36;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;10284:22:77;;:15;:22;;;;;;;;;;;;;10279:73;;-1:-1:-1;;;;;10316:22:77;;:15;:22;;;;;;;;;;:29;;-1:-1:-1;;10316:29:77;10341:4;10316:29;;;10279:73;10484:14;:12;:14::i;:::-;-1:-1:-1;;;;;10484:27:77;;10512:10;10524:5;10531:11;10544:22;10554:11;10544:9;:22::i;:::-;10484:83;;-1:-1:-1;;;;;;10484:83:77;;;;;;;;;;28157:25:150;;;;-1:-1:-1;;;;;28218:32:150;;;28198:18;;;28191:60;28267:18;;;28260:34;28310:18;;;28303:34;28129:19;;10484:83:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10646:7;10639:5;-1:-1:-1;;;;;10620:49:77;;10655:4;10661:7;10620:49;;;;;;;:::i;:::-;;;;;;;;6682:3992;;;;;6535:4139;;;;:::o;5959:392:74:-;-1:-1:-1;;;;;6044:41:74;;6036:110;;;;-1:-1:-1;;;6036:110:74;;29359:2:150;6036:110:74;;;29341:21:150;29398:2;29378:18;;;29371:30;29437:34;29417:18;;;29410:62;-1:-1:-1;;;29488:18:150;;;29481:54;29552:19;;6036:110:74;29157:420:150;6036:110:74;6152:34;6189:30;:28;:30::i;:::-;6252:12;;;;6231:64;;6152:67;;-1:-1:-1;6231:64:74;;;;-1:-1:-1;;;;;6252:12:74;;6275:18;;6231:64;:::i;:::-;;;;;;;;6301:12;;:45;;-1:-1:-1;;;;;;6301:45:74;-1:-1:-1;;;;;6301:45:74;;;;;;;;;;5959:392::o;2367:179:79:-;2502:34;;2367:179::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;5227:284:75:-;5316:3;5299:13;:20;;5291:108;;;;-1:-1:-1;;;5291:108:75;;30093:2:150;5291:108:75;;;30075:21:150;30132:2;30112:18;;;30105:30;30171:34;30151:18;;;30144:62;30242:34;30222:18;;;30215:62;-1:-1:-1;;;30293:19:150;;;30286:42;30345:19;;5291:108:75;29891:479:150;5291:108:75;5405:33;5441:29;:27;:29::i;:::-;5476:14;;:30;;;;-1:-1:-1;5227:284:75:o;8012:311:74:-;-1:-1:-1;;;;;8100:38:74;;8092:114;;;;-1:-1:-1;;;8092:114:74;;30577:2:150;8092:114:74;;;30559:21:150;30616:2;30596:18;;;30589:30;30655:34;30635:18;;;30628:62;30726:33;30706:18;;;30699:61;30777:19;;8092:114:74;30375:427:150;8092:114:74;8212:34;8249:30;:28;:30::i;:::-;8285:15;;:33;;-1:-1:-1;;;;;;8285:33:74;-1:-1:-1;;;;;8285:33:74;;;;;;;;;;;-1:-1:-1;8012:311:74:o;4736:121:77:-;4813:39;4833:18;4813:19;:39::i;931:109:42:-;977:6;1002:31;1020:12;1002:17;:31::i;4485:207:74:-;6931:20:2;:18;:20::i;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;10318:41::-;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;;10314:1;10296:70;10167:206;-1:-1:-1;;;10167:206:39:o;7004:392:74:-;-1:-1:-1;;;;;7092:38:74;;7084:115;;;;;-1:-1:-1;;;7084:115:74;;31009:2:150;7084:115:74;;;30991:21:150;31028:18;;;31021:30;;;;31087:34;31067:18;;;31060:62;31158:34;31138:18;;;31131:62;31210:19;;7084:115:74;30807:428:150;7084:115:74;7206:34;7243:30;:28;:30::i;:::-;7309:15;;;;7285:67;;7206;;-1:-1:-1;7285:67:74;;;;-1:-1:-1;;;;;7309:15:74;;7335;;7285:67;:::i;:::-;;;;;;;;7358:15;;:33;;-1:-1:-1;;;;;;7358:33:74;-1:-1:-1;;;;;7358:33:74;;;;;;;;;;7004:392::o;7531:358::-;-1:-1:-1;;;;;7638:42:74;;7623:140;;;;-1:-1:-1;;;7623:140:74;;31442:2:150;7623:140:74;;;31424:21:150;31481:2;31461:18;;;31454:30;31520:34;31500:18;;;31493:62;31591:34;31571:18;;;31564:62;-1:-1:-1;;;31642:19:150;;;31635:34;31686:19;;7623:140:74;31240:471:150;4754:488:73;4803:7;966:10:11;4803:7:73;5042:16;:14;:16::i;:::-;5019:39;-1:-1:-1;5068:16:73;;5064:136;;5103:22;5112:12;5103:8;:22::i;:::-;5102:23;5094:99;;;;-1:-1:-1;;;5094:99:73;;31918:2:150;5094:99:73;;;31900:21:150;31957:2;31937:18;;;31930:30;31996:34;31976:18;;;31969:62;32067:33;32047:18;;;32040:61;32118:19;;5094:99:73;31716:427:150;5094:99:73;5213:24;5228:8;5213:14;:24::i;:::-;5206:31;;;;4754:488;:::o;6508:371:74:-;-1:-1:-1;;;;;6590:36:74;;6582:110;;;;-1:-1:-1;;;6582:110:74;;32350:2:150;6582:110:74;;;32332:21:150;32389:2;32369:18;;;32362:30;32428:34;32408:18;;;32401:62;32499:31;32479:18;;;32472:59;32548:19;;6582:110:74;32148:425:150;6582:110:74;6699:34;6736:30;:28;:30::i;:::-;6800:13;;6778:61;;6699:67;;-1:-1:-1;6778:61:74;;;;-1:-1:-1;;;;;6800:13:74;;6824;;6778:61;:::i;:::-;;;;;;;;6845:29;;-1:-1:-1;;;;;;6845:29:74;-1:-1:-1;;;;;6845:29:74;;;;;;;;;;6508:371::o;13147:158:77:-;13228:4;13281:19;13292:7;13281:10;:19::i;:::-;13247:30;13254:22;13268:7;13254:13;:22::i;13247:30::-;:53;;;13147:158;-1:-1:-1;;13147:158:77:o;2990:583:81:-;3067:15;:20;;3086:1;3067:20;3063:78;;3104:30;;-1:-1:-1;;;3104:30:81;;3132:1;3104:30;;;878:25:150;851:18;;3104:30:81;732:177:150;3063:78:81;3222:30;3255:11;:9;:11::i;:::-;-1:-1:-1;;;;;3255:25:81;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3222:60;;3311:22;3292:15;:41;;;3288:113;;3350:44;;-1:-1:-1;;;3350:44:81;;32943:10:150;32931:23;;3350:44:81;;;32913:42:150;32886:18;;3350:44:81;32768:193:150;3288:113:81;3407:31;3441:27;:25;:27::i;:::-;3496:15;;3480:49;;;3496:15;;;;33167:34:150;;33237:15;;;33232:2;33217:18;;33210:43;3496:15:81;;-1:-1:-1;3480:49:81;;33111:18:150;3480:49:81;;;;;;;3535:33;;-1:-1:-1;;3535:33:81;;;;;;;;;;;;;-1:-1:-1;2990:583:81:o;4249:149:73:-;6931:20:2;:18;:20::i;:::-;4344:49:73::1;4387:5;4344:42;:49::i;3598:274:74:-:0;6931:20:2;:18;:20::i;:::-;3775:92:74::1;3810:17;3829:16;3847:19;3775:34;:92::i;2343:148:81:-:0;6931:20:2;:18;:20::i;:::-;2434:52:81::1;2466:19;2434:31;:52::i;3936:151:77:-:0;6931:20:2;:18;:20::i;:::-;4029:53:77::1;4065:16;4029:35;:53::i;2513:116:80:-:0;6931:20:2;:18;:20::i;:::-;2588:36:80::1;2611:12;2588:22;:36::i;3160:161:79:-:0;6931:20:2;:18;:20::i;:::-;3258:58:79::1;3295:20;3258:36;:58::i;3000:249:75:-:0;6931:20:2;:18;:20::i;:::-;3152:92:75::1;3191:31;3224:19;3152:38;:92::i;2727:109:76:-:0;6931:20:2;:18;:20::i;:::-;2795:36:76::1;3231:65:0::0;6931:20:2;:18;:20::i;3878:203:80:-;4014:7;4036;:5;:7::i;:::-;-1:-1:-1;;;;;4036:20:80;;4057:7;4066:9;4036:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4029:47;3878:203;-1:-1:-1;;;;3878:203:80:o;4752:374:75:-;4884:3;4855:25;:32;;4840:150;;;;-1:-1:-1;;;4840:150:75;;33466:2:150;4840:150:75;;;33448:21:150;33505:2;33485:18;;;33478:30;33544:34;33524:18;;;33517:62;33615:34;33595:18;;;33588:62;-1:-1:-1;;;33666:19:150;;;33659:54;33730:19;;4840:150:75;33264:491:150;4840:150:75;4996:33;5032:29;:27;:29::i;:::-;5067:54;;;;-1:-1:-1;4752:374:75:o;4839:190:79:-;4912:7;4704:3;4975:26;4991:9;4975:15;:26::i;:::-;4935:7;:5;:7::i;:::-;-1:-1:-1;;;;;4935:26:79;;4962:9;4935:37;;;;;;;;;;;;;878:25:150;;866:2;851:18;;732:177;4935:37:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:66;;;;:::i;:::-;4934:90;;;;:::i;2372:137:80:-;2479:20;;2372:137::o;7015:246:73:-;7136:4;-1:-1:-1;;;;;;7155:61:73;;-1:-1:-1;;;7155:61:73;;:101;;-1:-1:-1;;;;;;;;;;1133:40:14;;;7220:36:73;1034:146:14;2039:164:81;2164:29;;2039:164::o;4381:197:0:-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;5558:546:79:-;4704:3;5692:32;;;5688:122;;;5771:18;5791:11;5741:62;;-1:-1:-1;;;5741:62:79;;;;;;;;;:::i;5688:122::-;5816:26;5845:17;:15;:17::i;:::-;5816:46;;5869:36;5908:32;:30;:32::i;:::-;5869:71;;5946:79;5977:7;:5;:7::i;:::-;5986:38;6005:18;5986;:38::i;:::-;5946:1;;:79;:30;:79::i;:::-;;;6037:62;6060:18;6080;6037:62;;;;;;;:::i;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;2779:335:24;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;10678:316:77:-;10764:7;10779:38;10820:40;10842:5;10849:10;10820:21;:40::i;:::-;10779:81;;10866:27;10926:30;10896:27;10905:5;10912:10;10896:8;:27::i;:::-;:60;;;;:::i;:::-;10866:90;10678:316;-1:-1:-1;;;;;10678:316:77:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;4971:267:77:-;5051:35;5089:31;:29;:31::i;:::-;5051:69;;5132:57;5151:1;:17;;;5170:18;5132:57;;;;;;;:::i;:::-;;;;;;;;5195:17;;:38;4971:267::o;3233:1084:78:-;3310:15;3333:30;3366:26;:24;:26::i;:::-;3333:59;;3401:1;:13;;;3399:15;;;;;:::i;:::-;;;;-1:-1:-1;3430:13:78;;;3453:18;;;:9;;;:18;;;;;:28;3430:13;;-1:-1:-1;;;;3453:28:78;;;;:33;3449:126;;3532:7;3541:14;3547:7;3541:5;:14::i;:::-;3503:65;;-1:-1:-1;;;3503:65:78;;;;;;3565:1;;3503:65;;;:::i;3449:126::-;3633:1;3623:7;:11;3619:95;;;3681:26;3695:11;3705:1;3695:7;:11;:::i;3681:26::-;3763:21;3787:12;:10;:12::i;:::-;-1:-1:-1;;;;;3787:28:78;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3787:30:78;;;;;;;;;;;;:::i;:::-;3823:33;;;;:24;;;:33;;;;;;;;:40;;3763:54;;-1:-1:-1;3823:40:78;;:33;;:40;;;;:::i;:::-;;3870:34;3896:7;3870:25;:34::i;:::-;3911:16;3930:7;:5;:7::i;:::-;3911:26;;;;3943:16;3962:14;:12;:14::i;:::-;3983:23;4009:18;;;:9;;;:18;;;;;4033:25;;-1:-1:-1;;;;;;4033:25:78;-1:-1:-1;;;;;4033:25:78;;;;;3943:33;;-1:-1:-1;4082:27:78;4100:8;4082:17;:27::i;:::-;4064:45;;;;;;;-1:-1:-1;;;4064:45:78;-1:-1:-1;;;;4064:45:78;;;;;;4136:27;4154:8;4136:17;:27::i;:::-;4115:48;;;;;;;-1:-1:-1;;;4115:48:78;-1:-1:-1;;;;4115:48:78;;;;;;4175:68;4188:7;4197:8;4207;4217:19;4228:8;4207;4217:19;:::i;:::-;4238:4;4175:68;;;;;;;;;;:::i;:::-;;;;;;;;3327:990;;;;;3233:1084;;;:::o;4402:214:73:-;6931:20:2;:18;:20::i;:::-;4507:42:73::1;4552:38;:36;:38::i;:::-;4507:83:::0;-1:-1:-1;4507:83:73;4596:15:::1;4606:5:::0;4507:83;4596:15:::1;:::i;3876:378:74:-:0;6931:20:2;:18;:20::i;:::-;4063:34:74::1;4100:30;:28;:30::i;:::-;4136:33:::0;;-1:-1:-1;;;;;;4136:33:74;;::::1;-1:-1:-1::0;;;;;4136:33:74;;::::1;;::::0;;-1:-1:-1;4175:12:74;::::1;:31:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;4212:15:::1;;:37:::0;;;;::::1;::::0;;;::::1;;::::0;;-1:-1:-1;3876:378:74:o;2495:143:81:-;6931:20:2;:18;:20::i;:::-;2596:37:81::1;2613:19;2596:16;:37::i;4091:220:77:-:0;6931:20:2;:18;:20::i;:::-;4194:35:77::1;4232:31;:29;:31::i;:::-;4270:17;;:36:::0;;;;-1:-1:-1;4091:220:77:o;2633:181:80:-;6931:20:2;:18;:20::i;:::-;2718:22:80::1;2743:18;:16;:18::i;:::-;2767:42:::0;;-1:-1:-1;;;;;;2767:42:80::1;-1:-1:-1::0;;;;;2767:42:80;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;2633:181:80:o;3325:157:79:-;6931:20:2;:18;:20::i;3253:271:75:-;6931:20:2;:18;:20::i;:::-;3415:61:75::1;3444:31;3415:28;:61::i;:::-;3482:37;3499:19;3482:16;:37::i;4169:218:37:-:0;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4328:3;4333:5;4297:42;;-1:-1:-1;;;4297:42:37;;;;;;;;;:::i;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;8487:120:2:-;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;5624:282:75:-;5708:33;5744:29;:27;:29::i;:::-;5823:26;;;5779:41;;;:32;;;:41;;;;;;;;:70;;;;5887:14;;;;5855:20;;;;:29;;;;;:46;;;;-1:-1:-1;5624:282:75:o;15291:213:37:-;15347:6;15377:16;15369:24;;15365:103;;;15447:2;15451:5;15416:41;;-1:-1:-1;;;15416:41:37;;;;;;;;;:::i;11513:870:39:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;4625:582:32;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;5173:17;;5743:516;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:230:150;-1:-1:-1;;;;;205:32:150;;;;187:51;;175:2;160:18;;14:230::o;249:286::-;307:6;360:2;348:9;339:7;335:23;331:32;328:52;;;376:1;373;366:12;328:52;402:23;;-1:-1:-1;;;;;;454:32:150;;444:43;;434:71;;501:1;498;491:12;914:180;973:6;1026:2;1014:9;1005:7;1001:23;997:32;994:52;;;1042:1;1039;1032:12;994:52;-1:-1:-1;1065:23:150;;914:180;-1:-1:-1;914:180:150:o;1099:250::-;1184:1;1194:113;1208:6;1205:1;1202:13;1194:113;;;1284:11;;;1278:18;1265:11;;;1258:39;1230:2;1223:10;1194:113;;;-1:-1:-1;;1341:1:150;1323:16;;1316:27;1099:250::o;1354:271::-;1396:3;1434:5;1428:12;1461:6;1456:3;1449:19;1477:76;1546:6;1539:4;1534:3;1530:14;1523:4;1516:5;1512:16;1477:76;:::i;:::-;1607:2;1586:15;-1:-1:-1;;1582:29:150;1573:39;;;;1614:4;1569:50;;1354:271;-1:-1:-1;;1354:271:150:o;1630:220::-;1779:2;1768:9;1761:21;1742:4;1799:45;1840:2;1829:9;1825:18;1817:6;1799:45;:::i;2450:1592::-;2678:4;2707:2;2747;2736:9;2732:18;2777:2;2766:9;2759:21;2800:6;2835;2829:13;2866:6;2858;2851:22;2892:2;2882:12;;2925:2;2914:9;2910:18;2903:25;;2987:2;2977:6;2974:1;2970:14;2959:9;2955:30;2951:39;3025:2;3017:6;3013:15;3046:1;3056:957;3070:6;3067:1;3064:13;3056:957;;;3135:22;;;-1:-1:-1;;3131:36:150;3119:49;;3191:13;;3259:9;;3244:25;;3316:11;;;3310:18;-1:-1:-1;;;;;3306:44:150;3289:15;;;3282:69;3390:11;;;3384:18;3227:4;3422:15;;;3415:27;;;3227:4;3469:48;3501:15;;;3384:18;3469:48;:::i;:::-;3455:62;;;3540:4;3593:2;3589;3585:11;3579:18;3646:6;3638;3634:19;3629:2;3621:6;3617:15;3610:44;3681:41;3715:6;3699:14;3681:41;:::i;:::-;3745:4;3792:11;;;3786:18;3769:15;;;3762:43;3828:4;3889:11;;;3883:18;3876:26;3869:34;3852:15;;;;3845:59;;;;-1:-1:-1;;;3991:12:150;;;;3956:15;;;;3092:1;3085:9;3056:957;;;-1:-1:-1;4030:6:150;;2450:1592;-1:-1:-1;;;;;;;;2450:1592:150:o;4047:150::-;-1:-1:-1;;;;;4141:31:150;;4131:42;;4121:70;;4187:1;4184;4177:12;4202:293;4288:6;4341:2;4329:9;4320:7;4316:23;4312:32;4309:52;;;4357:1;4354;4347:12;4309:52;4396:9;4383:23;4415:50;4459:5;4415:50;:::i;4500:153::-;4568:20;;4597:50;4568:20;4597:50;:::i;4658:334::-;4726:6;4734;4787:2;4775:9;4766:7;4762:23;4758:32;4755:52;;;4803:1;4800;4793:12;4755:52;4839:9;4826:23;4816:33;;4899:2;4888:9;4884:18;4871:32;4912:50;4956:5;4912:50;:::i;:::-;4981:5;4971:15;;;4658:334;;;;;:::o;5226:127::-;5287:10;5282:3;5278:20;5275:1;5268:31;5318:4;5315:1;5308:15;5342:4;5339:1;5332:15;5358:238;5440:1;5433:5;5430:12;5420:143;;5485:10;5480:3;5476:20;5473:1;5466:31;5520:4;5517:1;5510:15;5548:4;5545:1;5538:15;5420:143;5572:18;;5358:238::o;5601:211::-;5749:2;5734:18;;5761:45;5738:9;5788:6;5761:45;:::i;6156:248::-;6224:6;6232;6285:2;6273:9;6264:7;6260:23;6256:32;6253:52;;;6301:1;6298;6291:12;6253:52;-1:-1:-1;;6324:23:150;;;6394:2;6379:18;;;6366:32;;-1:-1:-1;6156:248:150:o;6409:127::-;6470:10;6465:3;6461:20;6458:1;6451:31;6501:4;6498:1;6491:15;6525:4;6522:1;6515:15;6541:255;6613:2;6607:9;6655:6;6643:19;;-1:-1:-1;;;;;6677:34:150;;6713:22;;;6674:62;6671:88;;;6739:18;;:::i;:::-;6775:2;6768:22;6541:255;:::o;6801:253::-;6873:2;6867:9;6915:4;6903:17;;-1:-1:-1;;;;;6935:34:150;;6971:22;;;6932:62;6929:88;;;6997:18;;:::i;7059:275::-;7130:2;7124:9;7195:2;7176:13;;-1:-1:-1;;7172:27:150;7160:40;;-1:-1:-1;;;;;7215:34:150;;7251:22;;;7212:62;7209:88;;;7277:18;;:::i;:::-;7313:2;7306:22;7059:275;;-1:-1:-1;7059:275:150:o;7339:186::-;7387:4;-1:-1:-1;;;;;7409:30:150;;7406:56;;;7442:18;;:::i;:::-;-1:-1:-1;7508:2:150;7487:15;-1:-1:-1;;7483:29:150;7514:4;7479:40;;7339:186::o;7530:825::-;7607:6;7615;7668:2;7656:9;7647:7;7643:23;7639:32;7636:52;;;7684:1;7681;7674:12;7636:52;7723:9;7710:23;7742:50;7786:5;7742:50;:::i;:::-;7811:5;-1:-1:-1;7867:2:150;7852:18;;7839:32;-1:-1:-1;;;;;7883:30:150;;7880:50;;;7926:1;7923;7916:12;7880:50;7949:22;;8002:4;7994:13;;7990:27;-1:-1:-1;7980:55:150;;8031:1;8028;8021:12;7980:55;8067:2;8054:16;8092:48;8108:31;8136:2;8108:31;:::i;:::-;8092:48;:::i;:::-;8163:2;8156:5;8149:17;8203:7;8198:2;8193;8189;8185:11;8181:20;8178:33;8175:53;;;8224:1;8221;8214:12;8175:53;8279:2;8274;8270;8266:11;8261:2;8254:5;8250:14;8237:45;8323:1;8318:2;8313;8306:5;8302:14;8298:23;8291:34;8344:5;8334:15;;;;;7530:825;;;;;:::o;8568:183::-;8628:4;-1:-1:-1;;;;;8650:30:150;;8647:56;;;8683:18;;:::i;:::-;-1:-1:-1;8728:1:150;8724:14;8740:4;8720:25;;8568:183::o;8756:662::-;8810:5;8863:3;8856:4;8848:6;8844:17;8840:27;8830:55;;8881:1;8878;8871:12;8830:55;8917:6;8904:20;8943:4;8967:60;8983:43;9023:2;8983:43;:::i;8967:60::-;9061:15;;;9147:1;9143:10;;;;9131:23;;9127:32;;;9092:12;;;;9171:15;;;9168:35;;;9199:1;9196;9189:12;9168:35;9235:2;9227:6;9223:15;9247:142;9263:6;9258:3;9255:15;9247:142;;;9329:17;;9317:30;;9367:12;;;;9280;;9247:142;;;-1:-1:-1;9407:5:150;8756:662;-1:-1:-1;;;;;;8756:662:150:o;9423:1206::-;9550:6;9558;9566;9619:2;9607:9;9598:7;9594:23;9590:32;9587:52;;;9635:1;9632;9625:12;9587:52;9658:23;;;-1:-1:-1;9700:2:150;9738:18;;;9725:32;-1:-1:-1;;;;;9806:14:150;;;9803:34;;;9833:1;9830;9823:12;9803:34;9871:6;9860:9;9856:22;9846:32;;9916:7;9909:4;9905:2;9901:13;9897:27;9887:55;;9938:1;9935;9928:12;9887:55;9974:2;9961:16;9997:60;10013:43;10053:2;10013:43;:::i;9997:60::-;10091:15;;;10173:1;10169:10;;;;10161:19;;10157:28;;;10122:12;;;;10197:19;;;10194:39;;;10229:1;10226;10219:12;10194:39;10253:11;;;;10273:142;10289:6;10284:3;10281:15;10273:142;;;10355:17;;10343:30;;10306:12;;;;10393;;;;10273:142;;;10434:5;-1:-1:-1;;;10492:2:150;10477:18;;10464:32;;-1:-1:-1;10508:16:150;;;10505:36;;;10537:1;10534;10527:12;10505:36;;;10560:63;10615:7;10604:8;10593:9;10589:24;10560:63;:::i;:::-;10550:73;;;9423:1206;;;;;:::o;11450:435::-;11503:3;11541:5;11535:12;11568:6;11563:3;11556:19;11594:4;11623:2;11618:3;11614:12;11607:19;;11660:2;11653:5;11649:14;11681:1;11691:169;11705:6;11702:1;11699:13;11691:169;;;11766:13;;11754:26;;11800:12;;;;11835:15;;;;11727:1;11720:9;11691:169;;;-1:-1:-1;11876:3:150;;11450:435;-1:-1:-1;;;;;11450:435:150:o;11890:261::-;12069:2;12058:9;12051:21;12032:4;12089:56;12141:2;12130:9;12126:18;12118:6;12089:56;:::i;13294:334::-;13362:6;13370;13423:2;13411:9;13402:7;13398:23;13394:32;13391:52;;;13439:1;13436;13429:12;13391:52;13478:9;13465:23;13497:50;13541:5;13497:50;:::i;:::-;13566:5;13618:2;13603:18;;;;13590:32;;-1:-1:-1;;;13294:334:150:o;14472:163::-;14539:20;;14599:10;14588:22;;14578:33;;14568:61;;14625:1;14622;14615:12;14640:184;14698:6;14751:2;14739:9;14730:7;14726:23;14722:32;14719:52;;;14767:1;14764;14757:12;14719:52;14790:28;14808:9;14790:28;:::i;14829:756::-;14883:5;14936:3;14929:4;14921:6;14917:17;14913:27;14903:55;;14954:1;14951;14944:12;14903:55;14990:6;14977:20;15016:4;15040:60;15056:43;15096:2;15056:43;:::i;15040:60::-;15134:15;;;15220:1;15216:10;;;;15204:23;;15200:32;;;15165:12;;;;15244:15;;;15241:35;;;15272:1;15269;15262:12;15241:35;15308:2;15300:6;15296:15;15320:236;15336:6;15331:3;15328:15;15320:236;;;15416:3;15403:17;15433:50;15477:5;15433:50;:::i;:::-;15496:18;;15534:12;;;;15353;;15320:236;;15590:1495;15686:6;15739:2;15727:9;15718:7;15714:23;15710:32;15707:52;;;15755:1;15752;15745:12;15707:52;15782:23;;-1:-1:-1;;;;;15854:14:150;;;15851:34;;;15881:1;15878;15871:12;15851:34;15904:22;;;;15960:6;15942:16;;;15938:29;15935:49;;;15980:1;15977;15970:12;15935:49;16006:22;;:::i;:::-;16051;16070:2;16051:22;:::i;:::-;16044:5;16037:37;16127:2;16123;16119:11;16106:25;16101:2;16094:5;16090:14;16083:49;16164:30;16190:2;16186;16182:11;16164:30;:::i;:::-;16159:2;16152:5;16148:14;16141:54;16227:31;16254:2;16250;16246:11;16227:31;:::i;:::-;16222:2;16215:5;16211:14;16204:55;16292:32;16319:3;16315:2;16311:12;16292:32;:::i;:::-;16286:3;16279:5;16275:15;16268:57;16358:32;16385:3;16381:2;16377:12;16358:32;:::i;:::-;16352:3;16345:5;16341:15;16334:57;16437:3;16433:2;16429:12;16416:26;16467:2;16457:8;16454:16;16451:36;;;16483:1;16480;16473:12;16451:36;16520:56;16568:7;16557:8;16553:2;16549:17;16520:56;:::i;:::-;16514:3;16507:5;16503:15;16496:81;;16610:32;16637:3;16633:2;16629:12;16610:32;:::i;:::-;16604:3;16597:5;16593:15;16586:57;16662:3;16652:13;;16697:31;16724:2;16720;16716:11;16697:31;:::i;:::-;16692:2;16685:5;16681:14;16674:55;16748:3;16738:13;;16783:31;16810:2;16806;16802:11;16783:31;:::i;:::-;16767:14;;;16760:55;;;;16834:3;16882:11;;;16869:25;16853:14;;;16846:49;16914:3;16962:11;;;16949:25;16933:14;;;16926:49;16994:3;17042:11;;;17029:25;17013:14;;;17006:49;;;;16771:5;15590:1495;-1:-1:-1;;;15590:1495:150:o;17315:380::-;17394:1;17390:12;;;;17437;;;17458:61;;17512:4;17504:6;17500:17;17490:27;;17458:61;17565:2;17557:6;17554:14;17534:18;17531:38;17528:161;;17611:10;17606:3;17602:20;17599:1;17592:31;17646:4;17643:1;17636:15;17674:4;17671:1;17664:15;17528:161;;17315:380;;;:::o;17700:127::-;17761:10;17756:3;17752:20;17749:1;17742:31;17792:4;17789:1;17782:15;17816:4;17813:1;17806:15;17832:157;17911:13;;17933:50;17911:13;17933:50;:::i;17994:442::-;18048:5;18101:3;18094:4;18086:6;18082:17;18078:27;18068:55;;18119:1;18116;18109:12;18068:55;18148:6;18142:13;18179:48;18195:31;18223:2;18195:31;:::i;18179:48::-;18252:2;18243:7;18236:19;18298:3;18291:4;18286:2;18278:6;18274:15;18270:26;18267:35;18264:55;;;18315:1;18312;18305:12;18264:55;18328:77;18402:2;18395:4;18386:7;18382:18;18375:4;18367:6;18363:17;18328:77;:::i;18441:164::-;18517:13;;18566;;18559:21;18549:32;;18539:60;;18595:1;18592;18585:12;18610:1065;18723:6;18776:2;18764:9;18755:7;18751:23;18747:32;18744:52;;;18792:1;18789;18782:12;18744:52;18819:16;;-1:-1:-1;;;;;18884:14:150;;;18881:34;;;18911:1;18908;18901:12;18881:34;18934:22;;;;18990:4;18972:16;;;18968:27;18965:47;;;19008:1;19005;18998:12;18965:47;19034:22;;:::i;:::-;19085:2;19079:9;19072:5;19065:24;19121:42;19159:2;19155;19151:11;19121:42;:::i;:::-;19116:2;19109:5;19105:14;19098:66;19203:2;19199;19195:11;19189:18;19232:2;19222:8;19219:16;19216:36;;;19248:1;19245;19238:12;19216:36;19284:56;19332:7;19321:8;19317:2;19313:17;19284:56;:::i;:::-;19279:2;19272:5;19268:14;19261:80;;19380:2;19376;19372:11;19366:18;19409:2;19399:8;19396:16;19393:36;;;19425:1;19422;19415:12;19393:36;19461:56;19509:7;19498:8;19494:2;19490:17;19461:56;:::i;:::-;19456:2;19449:5;19445:14;19438:80;;19565:3;19561:2;19557:12;19551:19;19545:3;19538:5;19534:15;19527:44;19604:40;19639:3;19635:2;19631:12;19604:40;:::i;:::-;19598:3;19587:15;;19580:65;19591:5;18610:1065;-1:-1:-1;;;;;18610:1065:150:o;19680:127::-;19741:10;19736:3;19732:20;19729:1;19722:31;19772:4;19769:1;19762:15;19796:4;19793:1;19786:15;19812:135;19851:3;19872:17;;;19869:43;;19892:18;;:::i;:::-;-1:-1:-1;19939:1:150;19928:13;;19812:135::o;19952:200::-;-1:-1:-1;;;;;20114:31:150;;;;20096:50;;20084:2;20069:18;;19952:200::o;20575:128::-;20642:9;;;20663:11;;;20660:37;;;20677:18;;:::i;20708:337::-;20788:6;20841:2;20829:9;20820:7;20816:23;20812:32;20809:52;;;20857:1;20854;20847:12;20809:52;20884:16;;-1:-1:-1;;;;;20912:30:150;;20909:50;;;20955:1;20952;20945:12;20909:50;20978:61;21031:7;21022:6;21011:9;21007:22;20978:61;:::i;22191:416::-;22277:6;22285;22338:2;22326:9;22317:7;22313:23;22309:32;22306:52;;;22354:1;22351;22344:12;22306:52;22377:37;22404:9;22377:37;:::i;:::-;22458:2;22443:18;;22437:25;22367:47;;-1:-1:-1;;;;;;22474:30:150;;22471:50;;;22517:1;22514;22507:12;22471:50;22540:61;22593:7;22584:6;22573:9;22569:22;22540:61;:::i;:::-;22530:71;;;22191:416;;;;;:::o;22612:317::-;-1:-1:-1;;;;;22789:32:150;;22771:51;;22858:2;22853;22838:18;;22831:30;;;-1:-1:-1;;22878:45:150;;22904:18;;22896:6;22878:45;:::i;22934:284::-;23003:6;23056:2;23044:9;23035:7;23031:23;23027:32;23024:52;;;23072:1;23069;23062:12;23024:52;23104:9;23098:16;23154:14;23147:5;23143:26;23136:5;23133:37;23123:65;;23184:1;23181;23174:12;23223:274;-1:-1:-1;;;;;23415:32:150;;;;23397:51;;23479:2;23464:18;;23457:34;23385:2;23370:18;;23223:274::o;23502:184::-;23572:6;23625:2;23613:9;23604:7;23600:23;23596:32;23593:52;;;23641:1;23638;23631:12;23593:52;-1:-1:-1;23664:16:150;;23502:184;-1:-1:-1;23502:184:150:o;23691:176::-;23758:14;23792:10;;;23804;;;23788:27;;23827:11;;;23824:37;;;23841:18;;:::i;23872:248::-;24046:25;;;24102:2;24087:18;;24080:34;24034:2;24019:18;;23872:248::o;24125:202::-;24192:6;24245:2;24233:9;24224:7;24220:23;24216:32;24213:52;;;24261:1;24258;24251:12;24213:52;24284:37;24311:9;24284:37;:::i;26387:353::-;26603:25;;;26591:2;26576:18;;26637:54;26687:2;26672:18;;26664:6;26637:54;:::i;:::-;26727:6;26722:2;26711:9;26707:18;26700:34;26387:353;;;;;;:::o;26745:266::-;26956:4;26944:17;;;;26926:36;;26993:2;26978:18;;26971:34;26914:2;26899:18;;26745:266::o;27016:125::-;27081:9;;;27102:10;;;27099:36;;;27115:18;;:::i;27146:127::-;27207:10;27202:3;27198:20;27195:1;27188:31;27238:4;27235:1;27228:15;27262:4;27259:1;27252:15;27278:217;27318:1;27344;27334:132;;27388:10;27383:3;27379:20;27376:1;27369:31;27423:4;27420:1;27413:15;27451:4;27448:1;27441:15;27334:132;-1:-1:-1;27480:9:150;;27278:217::o;27500:168::-;27573:9;;;27604;;27621:15;;;27615:22;;27601:37;27591:71;;27642:18;;:::i;28348:804::-;28605:2;28594:9;28587:21;28568:4;28631:56;28683:2;28672:9;28668:18;28660:6;28631:56;:::i;:::-;28744:22;;;28706:2;28724:18;;;28717:50;;;;28816:13;;28838:22;;;28914:15;;;;28876;;;28947:1;28957:169;28971:6;28968:1;28965:13;28957:169;;;29032:13;;29020:26;;29101:15;;;;29066:12;;;;28993:1;28986:9;28957:169;;;-1:-1:-1;29143:3:150;;28348:804;-1:-1:-1;;;;;;;28348:804:150:o;29582:304::-;-1:-1:-1;;;;;29812:15:150;;;29794:34;;29864:15;;29859:2;29844:18;;29837:43;29744:2;29729:18;;29582:304::o;34039:881::-;34134:6;34165:2;34208;34196:9;34187:7;34183:23;34179:32;34176:52;;;34224:1;34221;34214:12;34176:52;34251:16;;-1:-1:-1;;;;;34279:30:150;;34276:50;;;34322:1;34319;34312:12;34276:50;34345:22;;34398:4;34390:13;;34386:27;-1:-1:-1;34376:55:150;;34427:1;34424;34417:12;34376:55;34456:2;34450:9;34479:60;34495:43;34535:2;34495:43;:::i;34479:60::-;34573:15;;;34655:1;34651:10;;;;34643:19;;34639:28;;;34604:12;;;;34679:19;;;34676:39;;;34711:1;34708;34701:12;34676:39;34735:11;;;;34755:135;34771:6;34766:3;34763:15;34755:135;;;34837:10;;34825:23;;34788:12;;;;34868;;;;34755:135;;34925:574;35216:6;35205:9;35198:25;35288:1;35284;35279:3;35275:11;35271:19;35263:6;35259:32;35254:2;35243:9;35239:18;35232:60;35328:6;35323:2;35312:9;35308:18;35301:34;35371:6;35366:2;35355:9;35351:18;35344:34;35415:3;35409;35398:9;35394:19;35387:32;35179:4;35436:57;35488:3;35477:9;35473:19;35465:6;35436:57;:::i;35630:545::-;35732:2;35727:3;35724:11;35721:448;;;35768:1;35793:5;35789:2;35782:17;35838:4;35834:2;35824:19;35908:2;35896:10;35892:19;35889:1;35885:27;35879:4;35875:38;35944:4;35932:10;35929:20;35926:47;;;-1:-1:-1;35967:4:150;35926:47;36022:2;36017:3;36013:12;36010:1;36006:20;36000:4;35996:31;35986:41;;36077:82;36095:2;36088:5;36085:13;36077:82;;;36140:17;;;36121:1;36110:13;36077:82;;36351:1352;36471:10;;-1:-1:-1;;;;;36493:30:150;;36490:56;;;36526:18;;:::i;:::-;36555:97;36645:6;36605:38;36637:4;36631:11;36605:38;:::i;:::-;36599:4;36555:97;:::i;:::-;36707:4;;36771:2;36760:14;;36788:1;36783:663;;;;37490:1;37507:6;37504:89;;;-1:-1:-1;37559:19:150;;;37553:26;37504:89;-1:-1:-1;;36308:1:150;36304:11;;;36300:24;36296:29;36286:40;36332:1;36328:11;;;36283:57;37606:81;;36753:944;;36783:663;35577:1;35570:14;;;35614:4;35601:18;;-1:-1:-1;;36819:20:150;;;36937:236;36951:7;36948:1;36945:14;36937:236;;;37040:19;;;37034:26;37019:42;;37132:27;;;;37100:1;37088:14;;;;36967:19;;36937:236;;;36941:3;37201:6;37192:7;37189:19;37186:201;;;37262:19;;;37256:26;-1:-1:-1;;37345:1:150;37341:14;;;37357:3;37337:24;37333:37;37329:42;37314:58;37299:74;;37186:201;-1:-1:-1;;;;;37433:1:150;37417:14;;;37413:22;37400:36;;-1:-1:-1;36351:1352:150:o;37980:287::-;38109:3;38147:6;38141:13;38163:66;38222:6;38217:3;38210:4;38202:6;38198:17;38163:66;:::i;:::-;38245:16;;;;;37980:287;-1:-1:-1;;37980:287:150:o"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","COUNTING_MODE()":"dd4e2ba5","DEFAULT_ADMIN_ROLE()":"a217fddf","GOVERNANCE_ROLE()":"f36c8f5c","ROUND_STARTER_ROLE()":"cd669a72","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","appSharesCap()":"bb7de6d4","b3trGovernor()":"7893d736","baseAllocationPercentage()":"8ab52d4b","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getAppsOfRound(uint256)":"291605f7","getDepositVotingPower(address,uint256)":"a56b5765","getRoleAdmin(bytes32)":"248a9ca3","getRound(uint256)":"8f1327c0","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","initialize((address,uint256,uint32,address,address,address,address[],address,address,address,uint256,uint256,uint256))":"e7ad2bed","initializeV2(address)":"29b6eca9","initializeV7(address)":"9fb02702","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isFinalized(uint256)":"33727c4d","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","proxiableUUID()":"52d1902d","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumReached(uint256)":"d4a8dd98","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","setAppSharesCap(uint256)":"74038935","setB3TRGovernor(address)":"78a81336","setBaseAllocationPercentage(uint256)":"f5fae136","setEmissionsAddress(address)":"57181609","setVeBetterPassport(address)":"b3c93dab","setVoterRewardsAddress(address)":"b25d6f62","setVotingPeriod(uint32)":"e540d01d","setVotingThreshold(uint256)":"836761e0","setX2EarnAppsAddress(address)":"c048f6c9","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","updateQuorumNumerator(uint256)":"06f3f9e6","upgradeToAndCall(address,bytes)":"4f1ef286","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","votingThreshold()":"62827733","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateAppVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"EmissionsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldQuorumNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VoterRewardsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingPeriod\",\"type\":\"uint256\"}],\"name\":\"VotingPeriodSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"X2EarnAppsSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOVERNANCE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROUND_STARTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"appSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppsOfRound\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRound\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"voteStart\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"voteDuration\",\"type\":\"uint32\"}],\"internalType\":\"struct RoundsStorageUpgradeableV7.RoundCore\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"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\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IVotes\",\"name\":\"vot3Token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"quorumPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"initialVotingPeriod\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"timeLock\",\"type\":\"address\"},{\"internalType\":\"contract IVoterRewards\",\"name\":\"voterRewards\",\"type\":\"address\"},{\"internalType\":\"contract IEmissions\",\"name\":\"emissions\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"admins\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractsAddressManager\",\"type\":\"address\"},{\"internalType\":\"contract IX2EarnApps\",\"name\":\"x2EarnAppsAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"baseAllocationPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"appSharesCap\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingThreshold\",\"type\":\"uint256\"}],\"internalType\":\"struct XAllocationVotingV7.InitializationData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"_veBetterPassport\",\"type\":\"address\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"_b3trGovernor\",\"type\":\"address\"}],\"name\":\"initializeV7\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"appSharesCap_\",\"type\":\"uint256\"}],\"name\":\"setAppSharesCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"newB3TRGovernor\",\"type\":\"address\"}],\"name\":\"setB3TRGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseAllocationPercentage_\",\"type\":\"uint256\"}],\"name\":\"setBaseAllocationPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"newEmissions\",\"type\":\"address\"}],\"name\":\"setEmissionsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"setVeBetterPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"newVoterRewards\",\"type\":\"address\"}],\"name\":\"setVoterRewardsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"newVotingPeriod\",\"type\":\"uint32\"}],\"name\":\"setVotingPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"setVotingThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"newX2EarnApps\",\"type\":\"address\"}],\"name\":\"setX2EarnAppsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC5805\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"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\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Rounds are started by the Emissions contract.Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).Interacts with the VotingRewards contract to save the user from casting a vote.The contract is using AccessControl to handle roles for admin, governance, and round-starting operations. ----- Version 2 ----- - Integrated VeBetterPassport - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold ----- Version 3 ----- - Updated the X2EarnApps interface to support node endorsement feature ----- Version 4 ----- - Updated the X2EarnApps interface to support node cooldown functionality ----- Version 6 -----  - Align IVoterRewards and IEmissions interfaces with the new contracts ----- Version 7 ----- - Proposal Execution: Count proposal deposits to x-allocation voting power\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"DuplicateAppVote()\":[{\"details\":\"Error thrown when trying to vote for the same app multiple times in one transaction\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum set is not a valid fraction.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"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.\"},\"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`)\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"See {IXAllocationVotingGovernor-COUNTING_MODE}.\"},\"b3trGovernor()\":{\"details\":\"Get the B3TRGovernor contract\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"currentRoundDeadline()\":{\"details\":\"Get the current round deadline block\"},\"currentRoundId()\":{\"details\":\"Get the current round id\"},\"currentRoundSnapshot()\":{\"details\":\"Get the current round start block\"},\"emissions()\":{\"details\":\"The emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Store the last succeeded round for the given round\",\"params\":{\"roundId\":\"The round to finalize\"}},\"getAppIdsOfRound(uint256)\":{\"details\":\"Get the ids of the apps eligible for voting in a round\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Get the votes received by a specific application in a given round\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Get the quadratic funding votes received by a specific application in a given round\"},\"getAppsOfRound(uint256)\":{\"details\":\"Get all the apps in the form of {App} eligible for voting in a round\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRound(uint256)\":{\"details\":\"Get the data of a round\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"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`.\"},\"hasVoted(uint256,address)\":{\"details\":\"Check if a user has voted in a given round\"},\"hasVotedOnce(address)\":{\"details\":\"Check if a user has voted at least once from the deployment of the contract\"},\"initialize((address,uint256,uint32,address,address,address,address[],address,address,address,uint256,uint256,uint256))\":{\"params\":{\"data\":\"The initialization data\"}},\"initializeV7(address)\":{\"details\":\"Initializes the contract with the B3TRGovernor contract.\",\"params\":{\"_b3trGovernor\":\"The address of the B3TRGovernor contract.\"}},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isFinalized(uint256)\":{\"details\":\"Check if the round is finalized\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Get the last succeeded round for the given round\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"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.\"},\"quorumDenominator()\":{\"details\":\"Returns the quorum denominator. Defaults to 100, but may be overridden.\"},\"quorumNumerator()\":{\"details\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"details\":\"Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"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 `callerConfirmation`. 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.\"},\"roundDeadline(uint256)\":{\"details\":\"Get the deadline block of a round\"},\"roundProposer(uint256)\":{\"details\":\"Get the proposer of a round\"},\"roundSnapshot(uint256)\":{\"details\":\"Get the start block of a round\"},\"setAppSharesCap(uint256)\":{\"details\":\"Set the max amount of shares an app can get in a round\"},\"setB3TRGovernor(address)\":{\"details\":\"Set the B3TRGovernor contract\"},\"setBaseAllocationPercentage(uint256)\":{\"details\":\"Set the base allocation percentage for funds distribution in a round\"},\"setEmissionsAddress(address)\":{\"details\":\"Set the address of the Emissions contract\"},\"setVeBetterPassport(address)\":{\"details\":\"Set the VeBetterPassport contract\"},\"setVoterRewardsAddress(address)\":{\"details\":\"Set the address of the VoterRewards contract\"},\"setVotingPeriod(uint32)\":{\"details\":\"Set the voting period for a round\"},\"setVotingThreshold(uint256)\":{\"details\":\"Update the voting threshold. This operation can only be performed through a governance proposal. Emits a {VotingThresholdSet} event.\"},\"setX2EarnAppsAddress(address)\":{\"details\":\"Set the address of the X2EarnApps contract\"},\"startNewRound()\":{\"details\":\"Start a new voting round for allocating funds to the x-apps\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"token()\":{\"details\":\"The token that voting power is sourced from.\"},\"totalVoters(uint256)\":{\"details\":\"Get the total number of voters in a given round\"},\"totalVotes(uint256)\":{\"details\":\"Get the total votes cast in a given round\"},\"totalVotesQF(uint256)\":{\"details\":\"Get the total quadratic funding votes cast in a given round\"},\"updateQuorumNumerator(uint256)\":{\"details\":\"Update the quorum a round needs to reach to be successful\"},\"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.\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Get the voter rewards contract\"},\"votingThreshold()\":{\"details\":\"The minimum number of tokens needed to cast a vote.\"},\"x2EarnApps()\":{\"details\":\"The X2EarnApps contract.\"}},\"title\":\"XAllocationVoting\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"The role that can set the addresses of the contracts used by the VoterRewards contract.\"},\"GOVERNANCE_ROLE()\":{\"notice\":\"Role identifier for governance operations\"},\"ROUND_STARTER_ROLE()\":{\"notice\":\"Role identifier for the address that can start a new round\"},\"UPGRADER_ROLE()\":{\"notice\":\"Role identifier for the address that can upgrade the contract\"},\"appSharesCap()\":{\"notice\":\"Get the app shares cap\"},\"baseAllocationPercentage()\":{\"notice\":\"Get the base allocation percentage\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"getAppsOfRound(uint256)\":{\"notice\":\"This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound} and then call {IX2EarnApps-app} for each app id\"},\"getRoundAppSharesCap(uint256)\":{\"notice\":\"Returns the app shares cap for a given round\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"notice\":\"Returns the base allocation percentage for a given round\"},\"initialize((address,uint256,uint32,address,address,address,address[],address,address,address,uint256,uint256,uint256))\":{\"notice\":\"Initialize the contract\"},\"roundQuorum(uint256)\":{\"notice\":\"Returns the quorum for a given round\"},\"votingThreshold()\":{\"notice\":\"The voting threshold.\"}},\"notice\":\"This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds. The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \\\"Quadratic Funding\\\" formula.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/XAllocationVotingV7.sol\":\"XAllocationVotingV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V7/XAllocationVotingV7.sol\":{\"keccak256\":\"0x601faf8eda7e56bd20e51af5d32ca192a5b269ff88d5d0037b97416a1853bf70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dee3d8bda1e2fb4c97bca2520fc6afbd70ff02583416b41d4427dfe3c7f3889\",\"dweb:/ipfs/QmPapX1u5nGPaXWVjqECBwKeEaBqN79i8Pus9uB32Nz1Jx\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol\":{\"keccak256\":\"0x5b50967bf06e689fab8e7e25b667333413e5b9df9c1772c5998a344459e05593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f7c39ec288fb8ae0ca1c38adaea5df1e100bc93d862d04c4c63f75d012f1fe4\",\"dweb:/ipfs/QmXsPGxRxvQW1zYmmnL96TuPjabMN7rZ9sA28zZmkxxyp5\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol\":{\"keccak256\":\"0x1bedabe3237af4ace287dc23145d65c8281d59fd32d62392577750c90d26a087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://234bc7e2357bcb31f16ce79398155d0f5dfa4e592edb961488625bd66e7b6279\",\"dweb:/ipfs/QmPvLAWcbj2CzHAsRNCCkZzVoBzLCHK7PoUhpsiCRsK8cj\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol\":{\"keccak256\":\"0xe9696f185b8831755673a51795bab0e44b0c4ca0226bdc1510629d93a7bdc968\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba31f6461f0bcba8bfd9a1fa347226e9dc4a25aa2a42c1ec49545791684ae7bb\",\"dweb:/ipfs/QmY2nHspVkksf86ZRxqZV3E2448kujhj4EZZCRKQg1StYa\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol\":{\"keccak256\":\"0x982a2a9cc1803479ac9bacecf97e8ee9096a87f90423a99012a096ee28ef9d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9814731a34b8ef54c957138a94dfe8d5c643071d3427636b5c14659df62557d8\",\"dweb:/ipfs/QmWSVcJmFSufjkpoks3nynAWvEQxJ84KBU9VGgym7NRiHZ\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol\":{\"keccak256\":\"0xf54338e7ead755251da4efd5f8f846772a6ea7b60ed1089db182263e24bcabe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc2a2e758c368063483cd2ffec87f2db68070bb7eb3b9c735fbc38f027832579\",\"dweb:/ipfs/QmUrm4DypyWDb33qSD3q7YomhM8ca7sqsSjLd5aVcGVrCj\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol\":{\"keccak256\":\"0x7f2491c133deda39c53981974070136a8c6f8340be2b34048d57290613ed988e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd636885bc3983dc94b4babe6006a8d8daa9f877534e3b708d639c7a9aaa4d93\",\"dweb:/ipfs/QmYL1CycsUZpcQg7PwjcugFkh5Cwd4LcJ4tNTAA2nX8Xys\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol\":{\"keccak256\":\"0x3aef5728a61127541ae9e64f137f9bc7cd717c3e8052c31a3bb3779d33a9d4dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6b605222a2b7950c5c9db0f2a9e97e0c9c299f6a05919f9c4458373c839a622\",\"dweb:/ipfs/QmbnwY3vBxsadvwAWibBjhs9e7NAbC4pByiq2XAoXZwybh\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol\":{\"keccak256\":\"0xe6937cb1ce268b8627d084ac3bfe0744c5097f83aaad0e6c500ce7cd6b2ca558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f964bcb08c6e01f8bf5a6fbafb1894fe4029d6bae75e7f6bece8c5ee6a7784cf\",\"dweb:/ipfs/QmQbqtwjf66NLDsMF7AwVjBkRCzYgiTho9TeFxgRUCYu9u\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol":{"IXAllocationVotingGovernorV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"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":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","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":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","version()":"54fd4d50","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"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\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the distribution allocation voting for the x-allocation pool reward distributions. This interface was forked from OpenZeppelin's IGovernor.sol and modified to fit the needs of a voting mechanism where a user can vote on multpile x-apps belonging to the ecosystem and fractionalize their votes accross the x-apps. There can be only one round per time. After the round is created  it becomes immediately active. There can be only two possible outcomes of a round: it succeeds or it fails. To succeed the only requirement is that the quorum is reached. New allocation rounds can be started only by the Emissions contract, this way we can align the duration of emission cycles and allocation rounds. If the round fails, we will need to \\u201cfinalize\\u201d it, which means we will create a pointer to the last succeeded round where shares should be calculated. Anyone can finalize the failed round, but it will be automatically done when a new round starts.\",\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast multiple votes at once Emits a {AllocationVoteCast} event.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the current allocation round round.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the current allocation round block when it starts.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getVotes(address,uint256)\":{\"details\":\"Voting power of an `account` at a specific `timepoint`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the state of the round is {RoundState.Active}.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Returns if an app can be voted in a specific round.\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Name of the governor instance (used in building the ERC712 domain separator).\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\"},\"quorumReached(uint256)\":{\"details\":\"Returns if quorum was reached for a specific round.\"},\"roundDeadline(uint256)\":{\"details\":\"Timepoint at which votes close. If using block number, votes close at the end of this block, so it is possible to cast a vote during this block.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the snapshot is performed at the end of this block. Hence, voting for this round starts at the beginning of the following block.\"},\"startNewRound()\":{\"details\":\"Create a new allocation round (round). Vote starts immediatly and lasts for a duration specified by {votingPeriod}. Emits a {RoundCreated} event.\"},\"state(uint256)\":{\"details\":\"Current state of a round\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"version()\":{\"details\":\"Version of the governor instance (used in building the ERC712 domain separator). Default: \\\"1\\\"\"},\"votingPeriod()\":{\"details\":\"Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. NOTE: This value is stored when the round is submitted so that possible changes to the value do not affect proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this interface returns a uint256, the value it returns should fit in a uint32.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getVotes(address,uint256)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"name()\":{\"notice\":\"module:core\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"roundDeadline(uint256)\":{\"notice\":\"module:core\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"roundSnapshot(uint256)\":{\"notice\":\"module:core\"},\"state(uint256)\":{\"notice\":\"module:core\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"},\"version()\":{\"notice\":\"module:core\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":\"IXAllocationVotingGovernorV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]}},\"version\":1}"}},"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol":{"XAllocationVotingGovernorV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"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":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Core of the voting system of allocation rounds, designed to be extended through various modules. This contract is abstract and requires several functions to be implemented in various modules: - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded}, and {_countVote} - A voting module must implement {_getVotes}, {clock}, and {CLOCK_MODE} - A settings module must implement {votingPeriod} - An external contracts module must implement {x2EarnApps}, {emissions}, {voterRewards} and {b3trGovernor} - A rounds storage module must implement {_startNewRound}, {roundSnapshot}, {roundDeadline}, and {currentRoundId} - A rounds finalization module must implement {finalize} - A earnings settings module must implement {_snapshotRoundEarningsCap} ----- Version 2 ----- - Integrated VeBetterPassport ----- Version 5 ----- - Fixed duplicate app voting in same transaction in {RoundVotesCountingUpgradeable._countVote} ----- Version 7 ----- - Added B3TRGovernor contract to the contract\",\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"XAllocationVotingGovernorV7\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":\"XAllocationVotingGovernorV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol":{"ExternalContractsUpgradeableV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"EmissionsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VoterRewardsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"X2EarnAppsSet","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"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":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"EmissionsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VoterRewardsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"X2EarnAppsSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernorV7} that handles the storage of external contracts for the XAllocationVotingGovernorV7.\",\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Get the B3TRGovernor contract\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"The emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Get the voter rewards contract\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"The X2EarnApps contract.\"}},\"title\":\"ExternalContractsUpgradeableV7\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol\":\"ExternalContractsUpgradeableV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV7.sol\":{\"keccak256\":\"0x5b50967bf06e689fab8e7e25b667333413e5b9df9c1772c5998a344459e05593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f7c39ec288fb8ae0ca1c38adaea5df1e100bc93d862d04c4c63f75d012f1fe4\",\"dweb:/ipfs/QmXsPGxRxvQW1zYmmnL96TuPjabMN7rZ9sA28zZmkxxyp5\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol":{"RoundEarningsSettingsUpgradeableV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"appSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"appSharesCap_","type":"uint256"}],"name":"setAppSharesCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"baseAllocationPercentage_","type":"uint256"}],"name":"setBaseAllocationPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"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":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","appSharesCap()":"bb7de6d4","b3trGovernor()":"7893d736","baseAllocationPercentage()":"8ab52d4b","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","setAppSharesCap(uint256)":"74038935","setBaseAllocationPercentage(uint256)":"f5fae136","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"appSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"appSharesCap_\",\"type\":\"uint256\"}],\"name\":\"setAppSharesCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseAllocationPercentage_\",\"type\":\"uint256\"}],\"name\":\"setBaseAllocationPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"setAppSharesCap(uint256)\":{\"details\":\"See {IXAllocationVotingGovernor-setBaseAllocationPercentage}.\"},\"setBaseAllocationPercentage(uint256)\":{\"details\":\"See {IXAllocationVotingGovernor-setBaseAllocationPercentage}.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"RoundEarningsSettingsUpgradeableV7\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"appSharesCap()\":{\"notice\":\"Get the app shares cap\"},\"baseAllocationPercentage()\":{\"notice\":\"Get the base allocation percentage\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getRoundAppSharesCap(uint256)\":{\"notice\":\"Returns the app shares cap for a given round\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"notice\":\"Returns the base allocation percentage for a given round\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"notice\":\"Extension of {XAllocationVotingGovernor} to handle the settings for the x-allocation earnings calculations: - baseAllocationPercentage: The base allocation percentage to be divided among the x-apps each round - appSharesCap: The maximum percentage of shares an x-app can reach in each round Since the base allocation percentage and app shares cap can be updated, we store the values for each round.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol\":\"RoundEarningsSettingsUpgradeableV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV7.sol\":{\"keccak256\":\"0x1bedabe3237af4ace287dc23145d65c8281d59fd32d62392577750c90d26a087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://234bc7e2357bcb31f16ce79398155d0f5dfa4e592edb961488625bd66e7b6279\",\"dweb:/ipfs/QmPvLAWcbj2CzHAsRNCCkZzVoBzLCHK7PoUhpsiCRsK8cj\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol":{"RoundFinalizationUpgradeableV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"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":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isFinalized(uint256)":"33727c4d","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"If a round does not meet the quorum (RoundState.Failed) we need to know the last round that succeeded, so we can calculate the earnings for the x-2-earn-apps upon that round. By always pointing each round at the last succeeded one, if a round fails, it will be enough to look at what round the previous one points to.\",\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Store the last succeeded round for the given round\",\"params\":{\"roundId\":\"The round to finalize\"}},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isFinalized(uint256)\":{\"details\":\"Check if the round is finalized\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Get the last succeeded round for the given round\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"RoundFinalizationUpgradeableV7\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"notice\":\"Extension of {XAllocationVotingGovernor} that handles the finalization of rounds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol\":\"RoundFinalizationUpgradeableV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV7.sol\":{\"keccak256\":\"0xe9696f185b8831755673a51795bab0e44b0c4ca0226bdc1510629d93a7bdc968\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba31f6461f0bcba8bfd9a1fa347226e9dc4a25aa2a42c1ec49545791684ae7bb\",\"dweb:/ipfs/QmY2nHspVkksf86ZRxqZV3E2448kujhj4EZZCRKQg1StYa\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol":{"RoundVotesCountingUpgradeableV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[],"name":"DuplicateAppVote","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSet","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"setVotingThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"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":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","setVotingThreshold(uint256)":"836761e0","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","votingThreshold()":"62827733","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateAppVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"setVotingThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} for counting votes for allocation rounds. In every round users can vote a fraction of their balance for the eligible apps in that round. ----- Version 5 ----- - Fixed duplicate app voting in same transaction in {_countVote}\",\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"DuplicateAppVote()\":[{\"details\":\"Error thrown when trying to vote for the same app multiple times in one transaction\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"See {IXAllocationVotingGovernor-COUNTING_MODE}.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Get the votes received by a specific application in a given round\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Get the quadratic funding votes received by a specific application in a given round\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Check if a user has voted in a given round\"},\"hasVotedOnce(address)\":{\"details\":\"Check if a user has voted at least once from the deployment of the contract\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"setVotingThreshold(uint256)\":{\"details\":\"Update the voting threshold. This operation can only be performed through a governance proposal. Emits a {VotingThresholdSet} event.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"totalVoters(uint256)\":{\"details\":\"Get the total number of voters in a given round\"},\"totalVotes(uint256)\":{\"details\":\"Get the total votes cast in a given round\"},\"totalVotesQF(uint256)\":{\"details\":\"Get the total quadratic funding votes cast in a given round\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"votingThreshold()\":{\"details\":\"The minimum number of tokens needed to cast a vote.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"RoundVotesCountingUpgradeableV7\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"votingThreshold()\":{\"notice\":\"The voting threshold.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol\":\"RoundVotesCountingUpgradeableV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV7.sol\":{\"keccak256\":\"0x982a2a9cc1803479ac9bacecf97e8ee9096a87f90423a99012a096ee28ef9d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9814731a34b8ef54c957138a94dfe8d5c643071d3427636b5c14659df62557d8\",\"dweb:/ipfs/QmWSVcJmFSufjkpoks3nynAWvEQxJ84KBU9VGgym7NRiHZ\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol":{"RoundsStorageUpgradeableV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppsOfRound","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRound","outputs":[{"components":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint48","name":"voteStart","type":"uint48"},{"internalType":"uint32","name":"voteDuration","type":"uint32"}],"internalType":"struct RoundsStorageUpgradeableV7.RoundCore","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"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":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getAppsOfRound(uint256)":"291605f7","getDepositVotingPower(address,uint256)":"a56b5765","getRound(uint256)":"8f1327c0","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppsOfRound\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRound\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"voteStart\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"voteDuration\",\"type\":\"uint32\"}],\"internalType\":\"struct RoundsStorageUpgradeableV7.RoundCore\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} for storing rounds data and managing the rounds lifecycle.\",\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Get the current round deadline block\"},\"currentRoundId()\":{\"details\":\"Get the current round id\"},\"currentRoundSnapshot()\":{\"details\":\"Get the current round start block\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Get the ids of the apps eligible for voting in a round\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getAppsOfRound(uint256)\":{\"details\":\"Get all the apps in the form of {App} eligible for voting in a round\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRound(uint256)\":{\"details\":\"Get the data of a round\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"roundDeadline(uint256)\":{\"details\":\"Get the deadline block of a round\"},\"roundProposer(uint256)\":{\"details\":\"Get the proposer of a round\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Get the start block of a round\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"RoundsStorageUpgradeableV7\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppsOfRound(uint256)\":{\"notice\":\"This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound} and then call {IX2EarnApps-app} for each app id\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol\":\"RoundsStorageUpgradeableV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV7.sol\":{\"keccak256\":\"0xf54338e7ead755251da4efd5f8f846772a6ea7b60ed1089db182263e24bcabe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc2a2e758c368063483cd2ffec87f2db68070bb7eb3b9c735fbc38f027832579\",\"dweb:/ipfs/QmUrm4DypyWDb33qSD3q7YomhM8ca7sqsSjLd5aVcGVrCj\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol":{"VotesQuorumFractionUpgradeableV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldQuorumNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC5805","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"updateQuorumNumerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","updateQuorumNumerator(uint256)":"06f3f9e6","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldQuorumNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC5805\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a fraction of the total supply.\",\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum set is not a valid fraction.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\"},\"quorumDenominator()\":{\"details\":\"Returns the quorum denominator. Defaults to 100, but may be overridden.\"},\"quorumNumerator()\":{\"details\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"details\":\"Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"token()\":{\"details\":\"The token that voting power is sourced from.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"updateQuorumNumerator(uint256)\":{\"details\":\"Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - New numerator must be smaller or equal to the denominator.\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"VotesQuorumFractionUpgradeableV7\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol\":\"VotesQuorumFractionUpgradeableV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV7.sol\":{\"keccak256\":\"0x7f2491c133deda39c53981974070136a8c6f8340be2b34048d57290613ed988e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd636885bc3983dc94b4babe6006a8d8daa9f877534e3b708d639c7a9aaa4d93\",\"dweb:/ipfs/QmYL1CycsUZpcQg7PwjcugFkh5Cwd4LcJ4tNTAA2nX8Xys\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol\":{\"keccak256\":\"0x3aef5728a61127541ae9e64f137f9bc7cd717c3e8052c31a3bb3779d33a9d4dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6b605222a2b7950c5c9db0f2a9e97e0c9c299f6a05919f9c4458373c839a622\",\"dweb:/ipfs/QmbnwY3vBxsadvwAWibBjhs9e7NAbC4pByiq2XAoXZwybh\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol":{"VotesUpgradeableV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC5805","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC5805\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes} token.\",\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"token()\":{\"details\":\"The token that voting power is sourced from.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"VotesUpgradeableV7\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol\":\"VotesUpgradeableV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotesUpgradeableV7.sol\":{\"keccak256\":\"0x3aef5728a61127541ae9e64f137f9bc7cd717c3e8052c31a3bb3779d33a9d4dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6b605222a2b7950c5c9db0f2a9e97e0c9c299f6a05919f9c4458373c839a622\",\"dweb:/ipfs/QmbnwY3vBxsadvwAWibBjhs9e7NAbC4pByiq2XAoXZwybh\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol":{"VotingSettingsUpgradeableV7":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingPeriod","type":"uint256"}],"name":"VotingPeriodSet","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV7.RoundState","name":"","type":"uint8"}],"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":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingPeriod\",\"type\":\"uint256\"}],\"name\":\"VotingPeriodSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV7.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernorV7} for voting settings.\",\"errors\":{\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"See {IXAllocationVotingGovernor-votingPeriod}.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"VotingSettingsUpgradeableV7\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol\":\"VotingSettingsUpgradeableV7\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V7/interfaces/IXAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0x1898264d0e42ad57782ca88f138cbcefbf164b718312bdf710939a3419e96f2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9905f665d67ebeefb7cb0136949661a46d61a01ba9b14ba9b3751e62789e46d4\",\"dweb:/ipfs/QmSPhTnrkLCT9ojGgFjRsCeqZXhoM9naCw9pptJrGNVMnc\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/XAllocationVotingGovernorV7.sol\":{\"keccak256\":\"0xfde524b76c6fc6bfe99e7e230c09c50575e24a60f9fcb6524b0ec4a6f1a334e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://932a311bdf8c79a1c0bf1bc9f58568dbfd5915828f2ec730b8ef24ba5b67e83f\",\"dweb:/ipfs/QmT9yWxuLRfP64E2zXVia7r9oJYhmQwEdsEjsD8fKRUsN2\"]},\"contracts/deprecated/V7/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV7.sol\":{\"keccak256\":\"0xe6937cb1ce268b8627d084ac3bfe0744c5097f83aaad0e6c500ce7cd6b2ca558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f964bcb08c6e01f8bf5a6fbafb1894fe4029d6bae75e7f6bece8c5ee6a7784cf\",\"dweb:/ipfs/QmQbqtwjf66NLDsMF7AwVjBkRCzYgiTho9TeFxgRUCYu9u\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/XAllocationVotingV8.sol":{"XAllocationVotingV8":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[],"name":"DuplicateAppVote","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"B3TRGovernorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"EmissionsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldQuorumNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"RelayerRewardsPoolSet","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":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VoterRewardsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingPeriod","type":"uint256"}],"name":"VotingPeriodSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"X2EarnAppsSet","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOVERNANCE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROUND_STARTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"appSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppsOfRound","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","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":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRound","outputs":[{"components":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint48","name":"voteStart","type":"uint48"},{"internalType":"uint32","name":"voteDuration","type":"uint32"}],"internalType":"struct RoundsStorageUpgradeableV8.RoundCore","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"getTotalAutoVotingUsersAtTimepoint","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getUserVotingPreferences","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","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":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"contract IVotes","name":"vot3Token","type":"address"},{"internalType":"uint256","name":"quorumPercentage","type":"uint256"},{"internalType":"uint32","name":"initialVotingPeriod","type":"uint32"},{"internalType":"address","name":"timeLock","type":"address"},{"internalType":"contract IVoterRewards","name":"voterRewards","type":"address"},{"internalType":"contract IEmissions","name":"emissions","type":"address"},{"internalType":"address[]","name":"admins","type":"address[]"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"contractsAddressManager","type":"address"},{"internalType":"contract IX2EarnApps","name":"x2EarnAppsAddress","type":"address"},{"internalType":"uint256","name":"baseAllocationPercentage","type":"uint256"},{"internalType":"uint256","name":"appSharesCap","type":"uint256"},{"internalType":"uint256","name":"votingThreshold","type":"uint256"}],"internalType":"struct XAllocationVotingV8.InitializationData","name":"data","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"appSharesCap_","type":"uint256"}],"name":"setAppSharesCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IB3TRGovernor","name":"newB3TRGovernor","type":"address"}],"name":"setB3TRGovernor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"baseAllocationPercentage_","type":"uint256"}],"name":"setBaseAllocationPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IEmissions","name":"newEmissions","type":"address"}],"name":"setEmissionsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRelayerRewardsPool","name":"newRelayerRewardsPool","type":"address"}],"name":"setRelayerRewardsPoolAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"}],"name":"setUserVotingPreferences","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVeBetterPassport","name":"newVeBetterPassport","type":"address"}],"name":"setVeBetterPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVoterRewards","name":"newVoterRewards","type":"address"}],"name":"setVoterRewardsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"newVotingPeriod","type":"uint32"}],"name":"setVotingPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"setVotingThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IX2EarnApps","name":"newX2EarnApps","type":"address"}],"name":"setX2EarnAppsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC5805","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"updateQuorumNumerator","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":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_45137":{"entryPoint":null,"id":45137,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol":{"AutoVotingLogicV8":[{"length":20,"start":10747},{"length":20,"start":11382},{"length":20,"start":11557},{"length":20,"start":11689},{"length":20,"start":13425},{"length":20,"start":13519},{"length":20,"start":13805}]}},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615db36200010460003960008181612d1f01528181612d480152612e920152615db36000f3fe6080604052600436106103e55760003560e01c806250ea6f146103ea57806301ffc9a71461041557806302a251a314610445578063059e952b1461046857806306f3f9e6146104a057806306fdde03146104c25780630a0e74ef146104e45780630eca87fb1461050457806319e6e158146105245780632267716c14610544578063248a9ca314610559578063291605f7146105795780632f2ff15d146105a657806330097377146105c657806333653f5d146105e657806333727c4d146105fb5780633469f6e21461061b57806336568abe1461063b5780633b395cbe1461065b5780633d4fd3c71461067b5780633e4f49e61461069b578063412caf0b146106c857806343859632146106f5578063498d91bf146107155780634bb5181a146107355780634bf5d7e9146107555780634cadad2f1461076a5780634f1ef2861461078a57806352d1902d1461079d5780635320a147146107b257806353ed6399146107d257806354fd4d50146107f2578063561b64ef1461081c5780635718160914610831578063593728121461085157806359529edd146108665780635dbdba6e146108865780635fb26367146108a657806360c4247f146108c657806362827733146108e65780636e8a1823146108fb57806374038935146109105780637893d7361461093057806378a81336146109455780637ace248514610965578063802d27091461098557806382afd23b146109a5578063836761e0146109c55780638a829eda146109e55780638ab52d4b14610a055780638f1327c014610a1a57806391d1485414610a7357806391ddadf414610a93578063952f213314610abf57806397c3d33414610ae15780639aeb962b14610af55780639cbe5efd14610b15578063a022756b14610b2a578063a217fddf14610b3f578063a3844e1114610b54578063a45f45aa14610b69578063a461a94d14610b9e578063a56b576514610bbe578063a5ae08e914610bde578063a7713a7014610bfe578063ad3cb1cc14610c13578063b25d6f6214610c44578063b3c93dab14610c64578063bb7de6d414610c84578063bd85948c14610c99578063bed7301014610cae578063c048f6c914610cce578063cd669a7214610cee578063cfea80ed14610d10578063d06efeda14610d30578063d3a368bd14610d50578063d4a8dd9814610d70578063d547741f14610d90578063d68b4c3614610db0578063dd4e2ba514610dd0578063e540d01d14610de5578063e7ad2bed14610e05578063eb9019d414610e25578063f36c8f5c14610e45578063f5fae13614610e67578063f72c0d8b14610e87578063f8ce560a14610ea9578063fb03ec6f14610ec9578063fc0c546a14610ee9575b600080fd5b3480156103f657600080fd5b506103ff610efe565b60405161040c9190614d6e565b60405180910390f35b34801561042157600080fd5b50610435610430366004614d82565b610f1c565b604051901515815260200161040c565b34801561045157600080fd5b5061045a610f2d565b60405190815260200161040c565b34801561047457600080fd5b50610488610483366004614dc0565b610f3c565b6040516001600160d01b03909116815260200161040c565b3480156104ac57600080fd5b506104c06104bb366004614ddd565b610f47565b005b3480156104ce57600080fd5b506104d7610f6c565b60405161040c9190614e46565b3480156104f057600080fd5b5061045a6104ff366004614ddd565b61100d565b34801561051057600080fd5b5061045a61051f366004614ddd565b61102d565b34801561053057600080fd5b5061045a61053f366004614ddd565b61104d565b34801561055057600080fd5b506103ff611070565b34801561056557600080fd5b5061045a610574366004614ddd565b61108e565b34801561058557600080fd5b50610599610594366004614ddd565b6110ae565b60405161040c9190614e59565b3480156105b257600080fd5b506104c06105c1366004614f36565b61128f565b3480156105d257600080fd5b5061045a6105e1366004614ddd565b6112b1565b3480156105f257600080fd5b506103ff6112ce565b34801561060757600080fd5b50610435610616366004614ddd565b6112d8565b34801561062757600080fd5b506104c0610636366004614ddd565b6112fb565b34801561064757600080fd5b506104c0610656366004614f36565b611462565b34801561066757600080fd5b506104c0610676366004615085565b61149a565b34801561068757600080fd5b506104356106963660046150b9565b6114a7565b3480156106a757600080fd5b506106bb6106b6366004614ddd565b6114c2565b60405161040c919061510f565b3480156106d457600080fd5b506106e86106e336600461511d565b61154a565b60405161040c9190615175565b34801561070157600080fd5b50610435610710366004614f36565b611555565b34801561072157600080fd5b5061045a610730366004614ddd565b611592565b34801561074157600080fd5b5061045a610750366004615188565b6115b5565b34801561076157600080fd5b506104d76115e0565b34801561077657600080fd5b5061045a6107853660046150b9565b611689565b6104c06107983660046151d1565b6116b8565b3480156107a957600080fd5b5061045a6116d3565b3480156107be57600080fd5b506103ff6107cd366004614ddd565b6116f0565b3480156107de57600080fd5b506104c06107ed36600461525e565b611719565b3480156107fe57600080fd5b506040805180820190915260018152600760fb1b60208201526104d7565b34801561082857600080fd5b5061045a6118a3565b34801561083d57600080fd5b506104c061084c36600461511d565b6118b0565b34801561085d57600080fd5b5061045a6118d1565b34801561087257600080fd5b5061045a610881366004614ddd565b6118de565b34801561089257600080fd5b506104c06108a136600461511d565b6118ec565b3480156108b257600080fd5b506104356108c136600461511d565b61190d565b3480156108d257600080fd5b5061045a6108e1366004614ddd565b611985565b3480156108f257600080fd5b5061045a611a1e565b34801561090757600080fd5b506103ff611a33565b34801561091c57600080fd5b506104c061092b366004614ddd565b611a51565b34801561093c57600080fd5b506103ff611a72565b34801561095157600080fd5b506104c061096036600461511d565b611a90565b34801561097157600080fd5b506106e8610980366004614ddd565b611ab1565b34801561099157600080fd5b506104356109a036600461511d565b611b24565b3480156109b157600080fd5b506104356109c0366004614ddd565b611b2f565b3480156109d157600080fd5b506104c06109e0366004614ddd565b611b53565b3480156109f157600080fd5b506104c0610a0036600461511d565b611b74565b348015610a1157600080fd5b5061045a611ba8565b348015610a2657600080fd5b50610a3a610a35366004614ddd565b611bba565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff169082015260600161040c565b348015610a7f57600080fd5b50610435610a8e366004614f36565b611c3a565b348015610a9f57600080fd5b50610aa8611c70565b60405165ffffffffffff909116815260200161040c565b348015610acb57600080fd5b5061045a600080516020615d5e83398151915281565b348015610aed57600080fd5b50606461045a565b348015610b0157600080fd5b50610435610b1036600461511d565b611cdf565b348015610b2157600080fd5b5061045a611d0d565b348015610b3657600080fd5b50610488611d18565b348015610b4b57600080fd5b5061045a600081565b348015610b6057600080fd5b506103ff611d95565b348015610b7557600080fd5b50610b89610b843660046150b9565b611db3565b6040805192835290151560208301520161040c565b348015610baa57600080fd5b50610435610bb9366004615320565b611dd8565b348015610bca57600080fd5b5061045a610bd93660046150b9565b611de4565b348015610bea57600080fd5b506104c0610bf93660046150b9565b611e5c565b348015610c0a57600080fd5b5061045a6120a5565b348015610c1f57600080fd5b506104d7604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610c5057600080fd5b506104c0610c5f36600461511d565b6120ca565b348015610c7057600080fd5b506104c0610c7f36600461511d565b6120eb565b348015610c9057600080fd5b5061045a61210c565b348015610ca557600080fd5b5061045a612121565b348015610cba57600080fd5b5061045a610cc9366004615188565b612147565b348015610cda57600080fd5b506104c0610ce936600461511d565b612177565b348015610cfa57600080fd5b5061045a600080516020615d3e83398151915281565b348015610d1c57600080fd5b50610435610d2b36600461511d565b612198565b348015610d3c57600080fd5b5061045a610d4b366004614ddd565b61224e565b348015610d5c57600080fd5b5061045a610d6b366004614ddd565b61227d565b348015610d7c57600080fd5b50610435610d8b366004614ddd565b6122d1565b348015610d9c57600080fd5b506104c0610dab366004614f36565b6122dc565b348015610dbc57600080fd5b50610435610dcb366004615188565b6122f8565b348015610ddc57600080fd5b506104d7612378565b348015610df157600080fd5b506104c0610e00366004615362565b612398565b348015610e1157600080fd5b506104c0610e203660046153e1565b6123b9565b348015610e3157600080fd5b5061045a610e403660046150b9565b6127de565b348015610e5157600080fd5b5061045a600080516020615cbd83398151915281565b348015610e7357600080fd5b506104c0610e82366004614ddd565b6127fa565b348015610e9357600080fd5b5061045a600080516020615cfe83398151915281565b348015610eb557600080fd5b5061045a610ec4366004614ddd565b61281b565b348015610ed557600080fd5b5061045a610ee4366004614ddd565b612826565b348015610ef557600080fd5b506103ff612849565b600080610f09612864565b600301546001600160a01b031692915050565b6000610f2782612888565b92915050565b6000610f376128ad565b905090565b6000610f27826128c5565b600080516020615cbd833981519152610f5f81612955565b610f688261295f565b5050565b60606000610f78612968565b9050806000018054610f899061550b565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb59061550b565b80156110025780601f10610fd757610100808354040283529160200191611002565b820191906000526020600020905b815481529060010190602001808311610fe557829003601f168201915b505050505091505090565b60008061101861298c565b60009384526003016020525050604090205490565b60008061103861298c565b60009384526002016020525050604090205490565b6000806110586129b0565b60009384526001016020525050604090206002015490565b60008061107b612864565b600101546001600160a01b031692915050565b6000806110996129d4565b60009384526020525050604090206001015490565b606060006110ba6129f8565b600084815260028201602090815260408083208054825181850281018501909352808352949550929390929183018282801561111557602002820191906000526020600020905b815481526020019060010190808311611101575b505050505090506000815190506000816001600160401b0381111561113c5761113c614f66565b6040519080825280602002602001820160405280156111b457816020015b6111a16040518060c001604052806000801916815260200160006001600160a01b031681526020016060815260200160608152602001600081526020016000151581525090565b81526020019060019003908161115a5790505b50905060005b82811015611285576111ca6112ce565b6001600160a01b031663785d6e188583815181106111ea576111ea615545565b60200260200101516040518263ffffffff1660e01b815260040161121091815260200190565b600060405180830381865afa15801561122d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261125591908101906155bb565b82828151811061126757611267615545565b6020026020010181905250808061127d90615697565b9150506111ba565b5095945050505050565b6112988261108e565b6112a181612955565b6112ab8383612a1c565b50505050565b6000806112bc612abd565b60009384526020525050604090205490565b6000610f37612ae1565b6000806112e3612abd565b60009384526001016020525050604090205460ff1690565b61130481611b2f565b156113705760405162461bcd60e51b815260206004820152603160248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64604482015270081a5cc81b9bdd08195b991959081e595d607a1b60648201526084015b60405180910390fd5b600061137a612abd565b9050816001036113af57600091825260208181526040808420600190819055928301909152909120805460ff19169091179055565b60026113ba836114c2565b60028111156113cb576113cb6150e5565b036113fb57600082815260208281526040808320949094556001928301905291909120805460ff19169091179055565b6001611406836114c2565b6002811115611417576114176150e5565b03610f685780600061142a6001856156b0565b8152602080820192909252604090810160009081205485825284845282822055600180850190935220805460ff191690911790555050565b6001600160a01b038116331461148b5760405163334bd91960e11b815260040160405180910390fd5b6114958282612aec565b505050565b6114a43382612b64565b50565b60006114bb836114b68461224e565b612be0565b9392505050565b6000806114ce8361224e565b9050806000036114f4576040516333b4e31b60e21b815260048101849052602401611367565b60006114fe611c70565b65ffffffffffff16905060006115138561227d565b905081811061152757506000949350505050565b611530856122d1565b61153f57506001949350505050565b506002949350505050565b6060610f2782612c87565b6000806115606129b0565b6000948552600101602090815260408086206001600160a01b0395909516865260049094019052505090205460ff1690565b60008061159d6129b0565b60009384526001016020525050604090206005015490565b6000806115c06129b0565b600094855260010160209081526040808620948652939052505090205490565b60606115ea612849565b6001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561164857506040513d6000823e601f3d908101601f1916820160405261164591908101906156c3565b60015b611684575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b6000806116968484611de4565b90506000816116a586866127de565b6116af91906156f7565b95945050505050565b6116c0612d14565b6116c982612dbb565b610f688282612dd3565b60006116dd612e87565b50600080516020615d1e83398151915290565b6000806116fb6129f8565b6000938452600101602052505060409020546001600160a01b031690565b805182511461178e5760405162461bcd60e51b815260206004820152603b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20617070732060448201527a0c2dcc840eecad2ced0e8e640d8cadccee8d040dad2e6dac2e8c6d602b1b6064820152608401611367565b60008251116117f65760405162461bcd60e51b815260206004820152602e60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f20617060448201526d3839903a37903b37ba32903337b960911b6064820152608401611367565b3063a461a94d3361180d6118086118a3565b612ed0565b6040518363ffffffff1660e01b815260040161182a92919061570a565b602060405180830381865afa158015611847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186b919061572b565b1561188b57336040516305b27abd60e01b81526004016113679190614d6e565b61189433612198565b50611495338484846000612efe565b6000610f37610d4b611d0d565b600080516020615d5e8339815191526118c881612955565b610f6882612fdc565b6000610f37610d6b611d0d565b6000610f27610ec48361224e565b600080516020615d5e83398151915261190481612955565b610f6882613089565b600080611918611070565b6001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119799190615746565b90506114bb8382612be0565b600080611990613133565b80549091506000826119a36001846156b0565b815481106119b3576119b3615545565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b03168682116119f7576001600160d01b03169695505050505050565b611a0a611a0388612ed0565b8690613157565b6001600160d01b0316979650505050505050565b600080611a296129b0565b6002015492915050565b600080611a3e612864565b600501546001600160a01b031692915050565b600080516020615cbd833981519152611a6981612955565b610f688261320d565b600080611a7d612864565b600401546001600160a01b031692915050565b600080516020615d5e833981519152611aa881612955565b610f68826132ac565b60606000611abd6129f8565b60008481526002820160209081526040918290208054835181840281018401909452808452939450919290830182828015611b1757602002820191906000526020600020905b815481526020019060010190808311611b03575b5050505050915050919050565b6000610f2782613350565b600080611b3b836114c2565b6002811115611b4c57611b4c6150e5565b1492915050565b600080516020615cbd833981519152611b6b81612955565b610f68826133b4565b336001600160a01b03821614611b9f573360405163065ece9760e51b81526004016113679190614d6e565b6114a4816133bd565b600080611bb361298c565b5492915050565b6040805160608101825260008082526020820181905291810182905290611bdf6129f8565b60009384526001016020908152604093849020845160608101865290546001600160a01b0381168252600160a01b810465ffffffffffff1692820192909252600160d01b90910463ffffffff16938101939093525090919050565b600080611c456129d4565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000611c7a612849565b6001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611cd3575060408051601f3d908101601f19168201909252611cd09181019061575f565b60015b61168457610f3761345d565b600080611cea6129b0565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b600080611bb36129f8565b600080611d23611070565b6001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d849190615746565b9050611d8f816128c5565b91505090565b600080611da0612864565b600201546001600160a01b031692915050565b6000806000611dc28585611689565b95670de0b6b3a764000087101595509350505050565b60006114bb8383612be0565b6000611dee611a72565b6001600160a01b031663a56b576584846040518363ffffffff1660e01b8152600401611e1b92919061577c565b602060405180830381865afa158015611e38573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bb9190615746565b3063a461a94d83611e6f6118088561224e565b6040518363ffffffff1660e01b8152600401611e8c92919061570a565b602060405180830381865afa158015611ea9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecd919061572b565b611eec5781604051632b8b7c8960e01b81526004016113679190614d6e565b611ef68183613468565b6000611f00610efe565b6001600160a01b031663d0ebb0ee84611f1a6118086118a3565b6040518363ffffffff1660e01b8152600401611f3792919061570a565b600060405180830381865afa158015611f54573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f7c9190810190615795565b5090506000611f8a84612c87565b90506000806000611f9c8787866134e2565b925092509250841580611fae57508251155b1561208e57611fbc87613350565b1561203357611fca876133bd565b611fd2611a33565b6001600160a01b031663e7dfe6728760016040518363ffffffff1660e01b81526004016120009291906157e3565b600060405180830381600087803b15801561201a57600080fd5b505af115801561202e573d6000803e3d6000fd5b505050505b82516040805187151581526020810192909252810182905286906001600160a01b038916907f55b62c33ca46df94310e16fc7e52e8ed456d93a5f21b1e7b5b4c2428905ddebc9060600160405180910390a350505050505050565b61209c878785856001612efe565b50505050505050565b6000806120b0613133565b90506120bb81613578565b6001600160d01b031691505090565b600080516020615d5e8339815191526120e281612955565b610f68826135b1565b600080516020615d5e83398151915261210381612955565b610f6882613656565b60008061211761298c565b6001015492915050565b6000600080516020615d3e83398151915261213b81612955565b611d8f6136fe565b5090565b6000806121526129b0565b6000948552600190810160209081526040808720958752949091019052505090205490565b600080516020615d5e83398151915261218f81612955565b610f688261379e565b60008060006121a5610efe565b6001600160a01b031663d0ebb0ee856121bf6118086118a3565b6040518363ffffffff1660e01b81526004016121dc92919061570a565b600060405180830381865afa1580156121f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122219190810190615795565b91509150816122475783816040516344c4534960e01b81526004016113679291906157f1565b5092915050565b6000806122596129f8565b600093845260010160205250506040902054600160a01b900465ffffffffffff1690565b6000806122886129f8565b60008481526001820160205260409020549091506122c290600160d01b810463ffffffff1690600160a01b900465ffffffffffff16615815565b65ffffffffffff169392505050565b6000610f278261383b565b6122e58261108e565b6122ee81612955565b6112ab8383612aec565b60006123026112ce565b6001600160a01b031663d2570b948461231a8561224e565b6040518363ffffffff1660e01b81526004016123379291906157e3565b602060405180830381865afa158015612354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bb919061572b565b6060604051806060016040528060218152602001615cdd60219139905090565b600080516020615cbd8339815191526123b081612955565b610f688261385a565b60006123c361398b565b805490915060ff600160401b82041615906001600160401b03166000811580156123ea5750825b90506000826001600160401b031660011480156124065750303b155b905081158015612414575080155b156124325760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561245b57845460ff60401b1916600160401b1785555b85516001600160a01b03166124c85760405162461bcd60e51b815260206004820152602d60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420564f54332060448201526c746f6b656e206164647265737360981b6064820152608401611367565b60808601516001600160a01b031661253a5760405162461bcd60e51b815260206004820152602f60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420566f74657260448201526e52657761726473206164647265737360881b6064820152608401611367565b60a08601516001600160a01b03166125a95760405162461bcd60e51b815260206004820152602c60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420456d69737360448201526b696f6e73206164647265737360a01b6064820152608401611367565b6125db6040518060400160405280601181526020017058416c6c6f636174696f6e566f74696e6760781b8152506139af565b6125f38661012001518760a0015188608001516139c0565b61260086604001516139d3565b61260e8661018001516139e4565b8551612619906139f5565b6126268660200151613a06565b61263a866101400151876101600151613a17565b612642613a29565b61264a613a29565b612652613a35565b61265a613a35565b60005b8660c00151518110156127375760006001600160a01b03168760c00151828151811061268b5761268b615545565b60200260200101516001600160a01b0316036126fa5760405162461bcd60e51b815260206004820152602860248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c69642061646d696e604482015267206164647265737360c01b6064820152608401611367565b6127246000801b8860c00151838151811061271757612717615545565b6020026020010151612a1c565b508061272f81615697565b91505061265d565b50612754600080516020615cfe8339815191528760e00151612a1c565b50612771600080516020615cbd8339815191528760600151612a1c565b5061278f600080516020615d5e833981519152876101000151612a1c565b5083156127d657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b60006114bb838360405180602001604052806000815250613a3d565b600080516020615cbd83398151915261281281612955565b610f6882613ab5565b6000610f2782613b5d565b6000806128316129b0565b60009384526001016020525050604090206003015490565b600080612854613bf4565b546001600160a01b031692915050565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b60006001600160e01b03198216637965db0b60e01b1480610f275750610f2782613c18565b6000806128b8613c4d565b5463ffffffff1692915050565b6000806128d0613c71565b6040516305832d3f60e31b81526004810182905265ffffffffffff8516602482015290915073__$346a993eb30a22a14ad5c6296c49c7f1c8$__90632c1969f890604401602060405180830381865af4158015612931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bb9190615834565b6114a48133613c95565b6114a481613cc0565b7f7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be0090565b7fc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c350090565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b7f0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f190090565b600080612a276129d4565b9050612a338484611c3a565b612ab3576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055612a693390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610f27565b6000915050610f27565b7f7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e50250090565b600080612854612864565b600080612af76129d4565b9050612b038484611c3a565b15612ab3576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610f27565b6000612b6e613c71565b905073__$346a993eb30a22a14ad5c6296c49c7f1c8$__638770fb4d82612b936112ce565b86866040518563ffffffff1660e01b8152600401612bb4949392919061585d565b60006040518083038186803b158015612bcc57600080fd5b505af415801561209c573d6000803e3d6000fd5b600080612beb613c71565b6040516312ec1a3760e11b8152600481018290526001600160a01b038616602482015265ffffffffffff8516604482015290915073__$346a993eb30a22a14ad5c6296c49c7f1c8$__906325d8346e90606401602060405180830381865af4158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f919061572b565b949350505050565b60606000612c93613c71565b60405163041666cf60e11b815290915073__$346a993eb30a22a14ad5c6296c49c7f1c8$__9063082ccd9e90612ccf9084908790600401615899565b600060405180830381865af4158015612cec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114bb919081019061590b565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480612d9b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612d8f600080516020615d1e833981519152546001600160a01b031690565b6001600160a01b031614155b15612db95760405163703e46dd60e11b815260040160405180910390fd5b565b600080516020615cfe833981519152610f6881612955565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612e2d575060408051601f3d908101601f19168201909252612e2a91810190615746565b60015b612e4c5781604051634c9c8ce360e01b81526004016113679190614d6e565b600080516020615d1e8339815191528114612e7d57604051632a87526960e21b815260048101829052602401611367565b6114958383613d5c565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612db95760405163703e46dd60e11b815260040160405180910390fd5b600065ffffffffffff821115612143576030826040516306dfcc6560e41b815260040161136792919061593f565b612f1184612f0c6000613db2565b613dd5565b50612f1e84868585613e14565b8015612fd557612f2c611a33565b6001600160a01b0316636cf88e7333878760006040518563ffffffff1660e01b8152600401612f5e9493929190615952565b600060405180830381600087803b158015612f7857600080fd5b505af1158015612f8c573d6000803e3d6000fd5b5050505083856001600160a01b03167f64dbcb1d23926d04f2fea8c7cc3f5d02846ee1e48940419cf422f69ae35813aa8585604051612fcc929190615990565b60405180910390a35b5050505050565b6001600160a01b03811661301f57604051630e21b92360e41b8152602060048201526009602482015268656d697373696f6e7360b81b6044820152606401611367565b6000613029612864565b6001810180546001600160a01b0319166001600160a01b0385169081179091556040519192507f602f97505d28fb0206888a82df7cb072ec7ff056c77134b64368322bcb9f5aba9161307d919085906159e7565b60405180910390a15050565b6001600160a01b0381166130d557604051630e21b92360e41b815260206004820152601260248201527114995b185e595c94995dd85c991cd41bdbdb60721b6044820152606401611367565b60006130df612864565b6005810180546001600160a01b0319166001600160a01b0385169081179091556040519192507f1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e9161307d919085906159e7565b7f49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c3240090565b8154600090818160058111156131b657600061317284614344565b61317c90856156b0565b60008881526020902090915081015465ffffffffffff90811690871610156131a6578091506131b4565b6131b18160016156f7565b92505b505b60006131c48787858561442c565b905080156131ff576131e9876131db6001846156b0565b600091825260209091200190565b54600160301b90046001600160d01b0316613202565b60005b979650505050505050565b60648111156132985760405162461bcd60e51b815260206004820152604b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20417070207360448201527f686172657320636170206d757374206265206c657373207468616e206f72206560648201526a07175616c20746f203130360ac1b608482015260a401611367565b60006132a261298c565b6001019190915550565b6001600160a01b0381166132f257604051630e21b92360e41b815260206004820152600c60248201526b2119aa2923b7bb32b93737b960a11b6044820152606401611367565b60006132fc612864565b6004810180546001600160a01b0319166001600160a01b0385169081179091556040519192507fb77fb0ff0b0446f13e672c64b103afd9da2774098ab3de2150eca002248bb2989161307d919085906159e7565b60008061335b613c71565b604051631c6fb9e560e31b815290915073__$346a993eb30a22a14ad5c6296c49c7f1c8$__9063e37dcf28906133979084908790600401615899565b602060405180830381865af4158015612354573d6000803e3d6000fd5b6114a48161448e565b60006133c7613c71565b905073__$346a993eb30a22a14ad5c6296c49c7f1c8$__633e17cd588230856133ee611c70565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b0392831660248501529116604483015265ffffffffffff16606482015260840160006040518083038186803b15801561344957600080fd5b505af41580156127d6573d6000803e3d6000fd5b6000610f3743612ed0565b613470611a33565b6001600160a01b031663e5ed920b8383336040516001600160e01b031960e086901b16815260048101939093526001600160a01b03918216602484015216604482015260640160006040518083038186803b1580156134ce57600080fd5b505afa1580156127d6573d6000803e3d6000fd5b606080600073__$346a993eb30a22a14ad5c6296c49c7f1c8$__63ea66e04a308888886040518563ffffffff1660e01b81526004016135249493929190615a01565b600060405180830381865af4158015613541573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135699190810190615a34565b92509250925093509350939050565b805460009080156135a857613592836131db6001846156b0565b54600160301b90046001600160d01b03166114bb565b60009392505050565b6001600160a01b0381166135f857604051630e21b92360e41b815260206004820152600d60248201526c766f746572207265776172647360981b6044820152606401611367565b6000613602612864565b6002810180546001600160a01b0319166001600160a01b0385169081179091556040519192507f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c49161307d919085906159e7565b6001600160a01b0381166136a057604051630e21b92360e41b815260206004820152601060248201526f159950995d1d195c94185cdcdc1bdc9d60821b6044820152606401611367565b60006136aa612864565b6003810180546001600160a01b0319166001600160a01b0385169081179091556040519192507f1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd711609161307d919085906159e7565b6000338161370a611d0d565b9050801561378e5761371b81611b2f565b1561378e5760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20746865726560448201527f2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65006064820152608401611367565b613797826144dd565b9250505090565b6001600160a01b0381166137e257604051630e21b92360e41b815260206004820152600a60248201526958324561726e4170707360b01b6044820152606401611367565b60006137ec612864565b80546001600160a01b0319166001600160a01b03841690811782556040519192507f6183e90e12923ae97651b48be341fb5bcfd7bb63a987353dbcf962851011974d9161307d919085906159e7565b60006138468261104d565b613852610ec48461224e565b111592915050565b8063ffffffff166000036138845760405163f1cfbf0560e01b815260006004820152602401611367565b600061388e611070565b6001600160a01b0316635bec4cb46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138ef9190615746565b9050808263ffffffff161061391f5760405163f1cfbf0560e01b815263ffffffff83166004820152602401611367565b6000613929613c4d565b80546040805163ffffffff928316815291861660208301529192507f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1805463ffffffff191663ffffffff939093169290921790915550565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6139b7614792565b6114a4816147b7565b6139c8614792565b6114958383836147d6565b6139db614792565b6114a481614828565b6139ec614792565b6114a481614839565b6139fd614792565b6114a481614855565b613a0e614792565b6114a481614889565b613a1f614792565b610f688282614891565b613a31614792565b612db95b612db9614792565b6000613a47612849565b6001600160a01b0316633a46b1a885856040518363ffffffff1660e01b8152600401613a7492919061577c565b602060405180830381865afa158015613a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615746565b6064811115613b4c5760405162461bcd60e51b815260206004820152605760248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20426173652060448201527f616c6c6f636174696f6e2070657263656e74616765206d757374206265206c6560648201527607373207468616e206f7220657175616c20746f2031303604c1b608482015260a401611367565b6000613b5661298c565b9190915550565b60006064613b6a83611985565b613b72612849565b6001600160a01b0316638e539e8c856040518263ffffffff1660e01b8152600401613b9f91815260200190565b602060405180830381865afa158015613bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613be09190615746565b613bea9190615af7565b610f279190615b24565b7f6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab50090565b60006001600160e01b03198216630d65a4d560e41b1480610f2757506301ffc9a760e01b6001600160e01b0319831614610f27565b7fd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a9990090565b7f38ba4d920474025bc119851d51630794ab25dc91b5f613afc3c0e85f09fdc10090565b613c9f8282611c3a565b610f6857808260405163e2517d3f60e01b815260040161136792919061577c565b606480821115613ce757818160405163243e544560e01b81526004016113679291906157e3565b6000613cf16120a5565b90506000613cfd613133565b9050613d1b613d0a611c70565b613d13866148ab565b8391906148da565b50507f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b46339978285604051613d4e9291906157e3565b60405180910390a150505050565b613d65826148f5565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613daa576114958282614951565b610f686149be565b6000816002811115613dc657613dc66150e5565b600160ff919091161b92915050565b600080613de1846114c2565b9050600083613def83613db2565b16036114bb578381846040516321b2b5ab60e11b815260040161136793929190615b46565b613e1e8484611555565b15613e3e57826040516371c6af4960e01b81526004016113679190614d6e565b6000613e486129b0565b90506000613e558661224e565b90506000806000613e668885611689565b905060005b87518110156141535760005b81811015613ee357888181518110613e9157613e91615545565b6020026020010151898381518110613eab57613eab615545565b602002602001015103613ed157604051632367acf760e21b815260040160405180910390fd5b80613edb81615697565b915050613e77565b50868181518110613ef657613ef6615545565b602002602001015184613f0991906156f7565b935081841115613f2c57604051630cc9baf760e01b815260040160405180910390fd5b613f4f888281518110613f4157613f41615545565b60200260200101518b6122f8565b613f8957878181518110613f6557613f65615545565b60200260200101516040516325c5391960e11b815260040161136791815260200190565b60008660010160008c815260200190815260200160002060010160008a8481518110613fb757613fb7615545565b602002602001015181526020019081526020016000205490506000670de0b6b3a7640000898481518110613fed57613fed615545565b60200260200101511161402857633b9aca0089848151811061401157614011615545565b60200260200101516140239190615b24565b61404a565b61404a89848151811061403d5761403d615545565b6020026020010151614344565b9050600061405882846156f7565b90506140648380615af7565b61406e8280615af7565b61407891906156b0565b61408290876156f7565b9550808960010160008f815260200190815260200160002060010160008d87815181106140b1576140b1615545565b60200260200101518152602001908152602001600020819055508984815181106140dd576140dd615545565b60200260200101518960010160008f815260200190815260200160002060000160008d878151811061411157614111615545565b60200260200101518152602001908152602001600020600082825461413691906156f7565b92505081905550505050808061414b90615697565b915050613e6b565b5061415c611a1e565b8310156141875761416b611a1e565b8360405163742f62c360e01b81526004016113679291906157e3565b6000898152600186016020526040812060030180548492906141aa9084906156f7565b90915550506000898152600186016020526040812060020180548592906141d29084906156f7565b909155505060008981526001868101602081815260408085206001600160a01b038e168652600481018352908520805460ff19169094179093558c84525260050180549161421f83615697565b90915550506001600160a01b03881660009081526020869052604090205460ff16614268576001600160a01b0388166000908152602086905260409020805460ff191660011790555b614270611d95565b6001600160a01b0316632f18339d858a8661428a88614344565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b03909216602484015260448301526064820152608401600060405180830381600087803b1580156142dd57600080fd5b505af11580156142f1573d6000803e3d6000fd5b5050505088886001600160a01b03167fe2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e28989604051614331929190615990565b60405180910390a3505050505050505050565b60008160000361435657506000919050565b60006001614363846149dd565b901c6001901b9050600181848161437c5761437c615b0e565b048201901c9050600181848161439457614394615b0e565b048201901c905060018184816143ac576143ac615b0e565b048201901c905060018184816143c4576143c4615b0e565b048201901c905060018184816143dc576143dc615b0e565b048201901c905060018184816143f4576143f4615b0e565b048201901c9050600181848161440c5761440c615b0e565b048201901c90506114bb8182858161442657614426615b0e565b04614a71565b60005b818310156144865760006144438484614a87565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561447257809250614480565b61447d8160016156f7565b93505b5061442f565b509392505050565b60006144986129b0565b90507fa5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f058160020154836040516144cf9291906157e3565b60405180910390a160020155565b6000806144e86129f8565b905080600001600081546144fb90615697565b9091555080546000818152600183016020526040902054909250600160a01b900465ffffffffffff16156145515781614533836114c2565b6040516321b2b5ab60e11b8152611367929190600090600401615b46565b6001821115614568576145686106366001846156b0565b60006145726112ce565b6001600160a01b031663c04cff196040518163ffffffff1660e01b8152600401600060405180830381865afa1580156145af573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526145d7919081019061590b565b6000848152600284016020908152604090912082519293506145fd929091840190614d17565b5061460783614aa2565b6000614611611c70565b65ffffffffffff1690506000614625610f2d565b6000868152600186016020526040902080546001600160a01b0319166001600160a01b03891617815590915061465a83612ed0565b815465ffffffffffff91909116600160a01b0265ffffffffffff60a01b1990911617815561468782614adb565b815463ffffffff91909116600160d01b0263ffffffff60d01b1990911617815560006146ba6146b585612ed0565b6128c5565b90506001600160d01b0381161561473f576146d3611a33565b604051632fb93c8560e11b8152600481018990526001600160d01b03831660248201526001600160a01b039190911690635f72790a90604401600060405180830381600087803b15801561472657600080fd5b505af115801561473a573d6000803e3d6000fd5b505050505b7fed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c887898661476d87826156f7565b8960405161477f959493929190615b68565b60405180910390a1505050505050919050565b61479a614b07565b612db957604051631afcd79f60e31b815260040160405180910390fd5b6147bf614792565b60006147c9612968565b9050806114958382615be1565b6147de614792565b60006147e8612864565b80546001600160a01b03199081166001600160a01b0396871617825560018201805482169587169590951790945560020180549093169190931617905550565b614830614792565b6114a48161385a565b614841614792565b600061484b6129b0565b6002019190915550565b61485d614792565b6000614867613bf4565b80546001600160a01b0319166001600160a01b03939093169290921790915550565b61295f614792565b614899614792565b6148a282613ab5565b610f688161320d565b60006001600160d01b038211156121435760d0826040516306dfcc6560e41b815260040161136792919061593f565b6000806148e8858585614b21565b915091505b935093915050565b806001600160a01b03163b6000036149225780604051634c9c8ce360e01b81526004016113679190614d6e565b600080516020615d1e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161496e9190615ca0565b600060405180830381855af49150503d80600081146149a9576040519150601f19603f3d011682016040523d82523d6000602084013e6149ae565b606091505b50915091506116af858383614c9b565b3415612db95760405163b398979f60e01b815260040160405180910390fd5b600080608083901c156149f257608092831c92015b604083901c15614a0457604092831c92015b602083901c15614a1657602092831c92015b601083901c15614a2857601092831c92015b600883901c15614a3a57600892831c92015b600483901c15614a4c57600492831c92015b600283901c15614a5e57600292831c92015b600183901c15610f275760010192915050565b6000818310614a8057816114bb565b5090919050565b6000614a966002848418615b24565b6114bb908484166156f7565b6000614aac61298c565b805460009384526002820160209081526040808620929092556001830154600390930190529092209190915550565b600063ffffffff821115612143576020826040516306dfcc6560e41b815260040161136792919061593f565b6000614b1161398b565b54600160401b900460ff16919050565b825460009081908015614c40576000614b3f876131db6001856156b0565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015614b9357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603614bdf5784614bb6886131db6001866156b0565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055614c30565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506148ed9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816148ed565b606082614cb057614cab82614cee565b6114bb565b8151158015614cc757506001600160a01b0384163b155b15614ce75783604051639996b31560e01b81526004016113679190614d6e565b50806114bb565b805115614cfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b828054828255906000526020600020908101928215614d52579160200282015b82811115614d52578251825591602001919060010190614d37565b506121439291505b808211156121435760008155600101614d5a565b6001600160a01b0391909116815260200190565b600060208284031215614d9457600080fd5b81356001600160e01b0319811681146114bb57600080fd5b65ffffffffffff811681146114a457600080fd5b600060208284031215614dd257600080fd5b81356114bb81614dac565b600060208284031215614def57600080fd5b5035919050565b60005b83811015614e11578181015183820152602001614df9565b50506000910152565b60008151808452614e32816020860160208601614df6565b601f01601f19169290920160200192915050565b6020815260006114bb6020830184614e1a565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614f0857888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614ec182870182614e1a565b91505060608083015186830382880152614edb8382614e1a565b6080858101519089015260a094850151151594909701939093525050509386019390860190600101614e80565b509098975050505050505050565b6001600160a01b03811681146114a457600080fd5b803561168481614f16565b60008060408385031215614f4957600080fd5b823591506020830135614f5b81614f16565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b0381118282101715614f9f57614f9f614f66565b60405290565b60405160c081016001600160401b0381118282101715614f9f57614f9f614f66565b604051601f8201601f191681016001600160401b0381118282101715614fef57614fef614f66565b604052919050565b60006001600160401b0382111561501057615010614f66565b5060051b60200190565b600082601f83011261502b57600080fd5b8135602061504061503b83614ff7565b614fc7565b82815260059290921b8401810191818101908684111561505f57600080fd5b8286015b8481101561507a5780358352918301918301615063565b509695505050505050565b60006020828403121561509757600080fd5b81356001600160401b038111156150ad57600080fd5b612c7f8482850161501a565b600080604083850312156150cc57600080fd5b82356150d781614f16565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b6003811061510b5761510b6150e5565b9052565b60208101610f2782846150fb565b60006020828403121561512f57600080fd5b81356114bb81614f16565b600081518084526020808501945080840160005b8381101561516a5781518752958201959082019060010161514e565b509495945050505050565b6020815260006114bb602083018461513a565b6000806040838503121561519b57600080fd5b50508035926020909101359150565b60006001600160401b038211156151c3576151c3614f66565b50601f01601f191660200190565b600080604083850312156151e457600080fd5b82356151ef81614f16565b915060208301356001600160401b0381111561520a57600080fd5b8301601f8101851361521b57600080fd5b803561522961503b826151aa565b81815286602083850101111561523e57600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008060006060848603121561527357600080fd5b833592506020808501356001600160401b038082111561529257600080fd5b61529e8883890161501a565b945060408701359150808211156152b457600080fd5b508501601f810187136152c657600080fd5b80356152d461503b82614ff7565b81815260059190911b820183019083810190898311156152f357600080fd5b928401925b82841015615311578335825292840192908401906152f8565b80955050505050509250925092565b6000806040838503121561533357600080fd5b823561533e81614f16565b91506020830135614f5b81614dac565b803563ffffffff8116811461168457600080fd5b60006020828403121561537457600080fd5b6114bb8261534e565b600082601f83011261538e57600080fd5b8135602061539e61503b83614ff7565b82815260059290921b840181019181810190868411156153bd57600080fd5b8286015b8481101561507a5780356153d481614f16565b83529183019183016153c1565b6000602082840312156153f357600080fd5b81356001600160401b038082111561540a57600080fd5b908301906101a0828603121561541f57600080fd5b615427614f7c565b61543083614f2b565b8152602083013560208201526154486040840161534e565b604082015261545960608401614f2b565b606082015261546a60808401614f2b565b608082015261547b60a08401614f2b565b60a082015260c08301358281111561549257600080fd5b61549e8782860161537d565b60c0830152506154b060e08401614f2b565b60e082015261010091506154c5828401614f2b565b8282015261012091506154d9828401614f2b565b918101919091526101408281013590820152610160808301359082015261018091820135918101919091529392505050565b600181811c9082168061551f57607f821691505b60208210810361553f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b805161168481614f16565b600082601f83011261557757600080fd5b815161558561503b826151aa565b81815284602083860101111561559a57600080fd5b612c7f826020830160208701614df6565b8051801515811461168457600080fd5b6000602082840312156155cd57600080fd5b81516001600160401b03808211156155e457600080fd5b9083019060c082860312156155f857600080fd5b615600614fa5565b825181526156106020840161555b565b602082015260408301518281111561562757600080fd5b61563387828601615566565b60408301525060608301518281111561564b57600080fd5b61565787828601615566565b6060830152506080830151608082015261567360a084016155ab565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016156a9576156a9615681565b5060010190565b81810381811115610f2757610f27615681565b6000602082840312156156d557600080fd5b81516001600160401b038111156156eb57600080fd5b612c7f84828501615566565b80820180821115610f2757610f27615681565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b60006020828403121561573d57600080fd5b6114bb826155ab565b60006020828403121561575857600080fd5b5051919050565b60006020828403121561577157600080fd5b81516114bb81614dac565b6001600160a01b03929092168252602082015260400190565b600080604083850312156157a857600080fd5b6157b1836155ab565b60208401519092506001600160401b038111156157cd57600080fd5b6157d985828601615566565b9150509250929050565b918252602082015260400190565b6001600160a01b0383168152604060208201819052600090612c7f90830184614e1a565b65ffffffffffff81811683821601908082111561224757612247615681565b60006020828403121561584657600080fd5b81516001600160d01b03811681146114bb57600080fd5b8481526001600160a01b0384811660208301528316604082015260806060820181905260009061588f9083018461513a565b9695505050505050565b9182526001600160a01b0316602082015260400190565b600082601f8301126158c157600080fd5b815160206158d161503b83614ff7565b82815260059290921b840181019181810190868411156158f057600080fd5b8286015b8481101561507a57805183529183019183016158f4565b60006020828403121561591d57600080fd5b81516001600160401b0381111561593357600080fd5b612c7f848285016158b0565b60ff929092168252602082015260400190565b6001600160a01b03858116825284166020820152604081018390526080810160028310615981576159816150e5565b82606083015295945050505050565b6040815260006159a3604083018561513a565b82810360208481019190915284518083528582019282019060005b818110156159da578451835293830193918301916001016159be565b5090979650505050505050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061588f9083018461513a565b600080600060608486031215615a4957600080fd5b83516001600160401b0380821115615a6057600080fd5b615a6c878388016158b0565b9450602091508186015181811115615a8357600080fd5b86019050601f81018713615a9657600080fd5b8051615aa461503b82614ff7565b81815260059190911b82018301908381019089831115615ac357600080fd5b928401925b82841015615ae157835182529284019290840190615ac8565b8096505050505050604084015190509250925092565b8082028115828204841417610f2757610f27615681565b634e487b7160e01b600052601260045260246000fd5b600082615b4157634e487b7160e01b600052601260045260246000fd5b500490565b83815260608101615b5a60208301856150fb565b826040830152949350505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061320260a083018461513a565b601f82111561149557600081815260208120601f850160051c81016020861015615bc25750805b601f850160051c820191505b818110156127d657828155600101615bce565b81516001600160401b03811115615bfa57615bfa614f66565b615c0e81615c08845461550b565b84615b9b565b602080601f831160018114615c435760008415615c2b5750858301515b600019600386901b1c1916600185901b1785556127d6565b600085815260208120601f198616915b82811015615c7257888601518255948401946001909101908401615c53565b5085821015615c905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251615cb2818460208701614df6565b919091019291505056fe71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1737570706f72743d782d616c6c6f636174696f6e732671756f72756d3d6175746f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7a2646970667358221220187c72fb2005fe4ddfaad843fd0ba71efa804b71f15859dc533aa244c3efad9464736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x5DB3 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x2D1F ADD MSTORE DUP2 DUP2 PUSH2 0x2D48 ADD MSTORE PUSH2 0x2E92 ADD MSTORE PUSH2 0x5DB3 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3E5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x50EA6F EQ PUSH2 0x3EA JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x415 JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0x59E952B EQ PUSH2 0x468 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x4A0 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x4C2 JUMPI DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x4E4 JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0x504 JUMPI DUP1 PUSH4 0x19E6E158 EQ PUSH2 0x524 JUMPI DUP1 PUSH4 0x2267716C EQ PUSH2 0x544 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0x291605F7 EQ PUSH2 0x579 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x5A6 JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x5C6 JUMPI DUP1 PUSH4 0x33653F5D EQ PUSH2 0x5E6 JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x5FB JUMPI DUP1 PUSH4 0x3469F6E2 EQ PUSH2 0x61B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x63B JUMPI DUP1 PUSH4 0x3B395CBE EQ PUSH2 0x65B JUMPI DUP1 PUSH4 0x3D4FD3C7 EQ PUSH2 0x67B JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x69B JUMPI DUP1 PUSH4 0x412CAF0B EQ PUSH2 0x6C8 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x6F5 JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x715 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x735 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x755 JUMPI DUP1 PUSH4 0x4CADAD2F EQ PUSH2 0x76A JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x78A JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x79D JUMPI DUP1 PUSH4 0x5320A147 EQ PUSH2 0x7B2 JUMPI DUP1 PUSH4 0x53ED6399 EQ PUSH2 0x7D2 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x7F2 JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0x81C JUMPI DUP1 PUSH4 0x57181609 EQ PUSH2 0x831 JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x851 JUMPI DUP1 PUSH4 0x59529EDD EQ PUSH2 0x866 JUMPI DUP1 PUSH4 0x5DBDBA6E EQ PUSH2 0x886 JUMPI DUP1 PUSH4 0x5FB26367 EQ PUSH2 0x8A6 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x8C6 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x8E6 JUMPI DUP1 PUSH4 0x6E8A1823 EQ PUSH2 0x8FB JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0x910 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x930 JUMPI DUP1 PUSH4 0x78A81336 EQ PUSH2 0x945 JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x965 JUMPI DUP1 PUSH4 0x802D2709 EQ PUSH2 0x985 JUMPI DUP1 PUSH4 0x82AFD23B EQ PUSH2 0x9A5 JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x9C5 JUMPI DUP1 PUSH4 0x8A829EDA EQ PUSH2 0x9E5 JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0xA05 JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0xA1A JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xA73 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xA93 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xABF JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xAE1 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xAF5 JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0xB15 JUMPI DUP1 PUSH4 0xA022756B EQ PUSH2 0xB2A JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xB3F JUMPI DUP1 PUSH4 0xA3844E11 EQ PUSH2 0xB54 JUMPI DUP1 PUSH4 0xA45F45AA EQ PUSH2 0xB69 JUMPI DUP1 PUSH4 0xA461A94D EQ PUSH2 0xB9E JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xBBE JUMPI DUP1 PUSH4 0xA5AE08E9 EQ PUSH2 0xBDE JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0xBFE JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xC13 JUMPI DUP1 PUSH4 0xB25D6F62 EQ PUSH2 0xC44 JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xC64 JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xC84 JUMPI DUP1 PUSH4 0xBD85948C EQ PUSH2 0xC99 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0xCAE JUMPI DUP1 PUSH4 0xC048F6C9 EQ PUSH2 0xCCE JUMPI DUP1 PUSH4 0xCD669A72 EQ PUSH2 0xCEE JUMPI DUP1 PUSH4 0xCFEA80ED EQ PUSH2 0xD10 JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0xD30 JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0xD50 JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0xD70 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xD90 JUMPI DUP1 PUSH4 0xD68B4C36 EQ PUSH2 0xDB0 JUMPI DUP1 PUSH4 0xDD4E2BA5 EQ PUSH2 0xDD0 JUMPI DUP1 PUSH4 0xE540D01D EQ PUSH2 0xDE5 JUMPI DUP1 PUSH4 0xE7AD2BED EQ PUSH2 0xE05 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xE25 JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0xE45 JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0xE67 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xE87 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xEA9 JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0xEC9 JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0xEE9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xEFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x421 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x430 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D82 JUMP JUMPDEST PUSH2 0xF1C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xF2D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x488 PUSH2 0x483 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DC0 JUMP JUMPDEST PUSH2 0xF3C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x4BB CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0xF47 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D7 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x4E46 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x4FF CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x100D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x510 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x51F CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x102D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x53F CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x104D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x550 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1070 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x574 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x108E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x599 PUSH2 0x594 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x10AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x4E59 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x5C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x128F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x5E1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x12B1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x12CE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x607 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x616 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x12D8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x636 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x12FB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x647 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x656 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x1462 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x667 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x676 CALLDATASIZE PUSH1 0x4 PUSH2 0x5085 JUMP JUMPDEST PUSH2 0x149A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x687 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x696 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x14A7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6BB PUSH2 0x6B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x510F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6E8 PUSH2 0x6E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x154A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x5175 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x701 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x710 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x1555 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x721 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x730 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1592 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x741 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x750 CALLDATASIZE PUSH1 0x4 PUSH2 0x5188 JUMP JUMPDEST PUSH2 0x15B5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x761 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D7 PUSH2 0x15E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x776 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x785 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x1689 JUMP JUMPDEST PUSH2 0x4C0 PUSH2 0x798 CALLDATASIZE PUSH1 0x4 PUSH2 0x51D1 JUMP JUMPDEST PUSH2 0x16B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x16D3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x7CD CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x16F0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x7ED CALLDATASIZE PUSH1 0x4 PUSH2 0x525E JUMP JUMPDEST PUSH2 0x1719 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x7 PUSH1 0xFB SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x4D7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x828 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x18A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x84C CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x18B0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x18D1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x872 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x881 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x18DE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x892 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x8A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x18EC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x8C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x190D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x8E1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1985 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x1A1E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x907 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1A33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x92B CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1A51 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x93C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1A72 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x951 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x960 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x1A90 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x971 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6E8 PUSH2 0x980 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1AB1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x9A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x1B24 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x9C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1B2F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x9E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1B53 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xA00 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x1B74 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x1BA8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3A PUSH2 0xA35 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1BBA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xA8E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x1C3A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAA8 PUSH2 0x1C70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xACB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH2 0x45A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB01 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xB10 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x1CDF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x1D0D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x488 PUSH2 0x1D18 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1D95 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB89 PUSH2 0xB84 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x1DB3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE SWAP1 ISZERO ISZERO PUSH1 0x20 DUP4 ADD MSTORE ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xBB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x5320 JUMP JUMPDEST PUSH2 0x1DD8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xBD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x1DE4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xBF9 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x1E5C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x20A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC1F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xC5F CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x20CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xC7F CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x20EB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x210C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x2121 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xCC9 CALLDATASIZE PUSH1 0x4 PUSH2 0x5188 JUMP JUMPDEST PUSH2 0x2147 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xCE9 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x2177 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xD2B CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x2198 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xD4B CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x224E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xD6B CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x227D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xD8B CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x22D1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xDAB CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x22DC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xDCB CALLDATASIZE PUSH1 0x4 PUSH2 0x5188 JUMP JUMPDEST PUSH2 0x22F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D7 PUSH2 0x2378 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xE00 CALLDATASIZE PUSH1 0x4 PUSH2 0x5362 JUMP JUMPDEST PUSH2 0x2398 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xE20 CALLDATASIZE PUSH1 0x4 PUSH2 0x53E1 JUMP JUMPDEST PUSH2 0x23B9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xE40 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x27DE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xE82 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x27FA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xEC4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x281B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xED5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xEE4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x2826 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF09 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x2888 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF37 PUSH2 0x28AD JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x28C5 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xF5F DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x295F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xF78 PUSH2 0x2968 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xF89 SWAP1 PUSH2 0x550B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xFB5 SWAP1 PUSH2 0x550B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1002 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xFD7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1002 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xFE5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1018 PUSH2 0x298C JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1038 PUSH2 0x298C JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1058 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x107B PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1099 PUSH2 0x29D4 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x10BA PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1115 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1101 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x113C JUMPI PUSH2 0x113C PUSH2 0x4F66 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x11B4 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x11A1 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x115A JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1285 JUMPI PUSH2 0x11CA PUSH2 0x12CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x785D6E18 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x11EA JUMPI PUSH2 0x11EA PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1210 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x122D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1255 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55BB JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1267 JUMPI PUSH2 0x1267 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP1 DUP1 PUSH2 0x127D SWAP1 PUSH2 0x5697 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11BA JUMP JUMPDEST POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1298 DUP3 PUSH2 0x108E JUMP JUMPDEST PUSH2 0x12A1 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0x12AB DUP4 DUP4 PUSH2 0x2A1C JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12BC PUSH2 0x2ABD JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF37 PUSH2 0x2AE1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12E3 PUSH2 0x2ABD JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1304 DUP2 PUSH2 0x1B2F JUMP JUMPDEST ISZERO PUSH2 0x1370 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A20726F756E64 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x81A5CC81B9BDD08195B991959081E595D PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x137A PUSH2 0x2ABD JUMP JUMPDEST SWAP1 POP DUP2 PUSH1 0x1 SUB PUSH2 0x13AF JUMPI PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 SWAP1 DUP2 SWAP1 SSTORE SWAP3 DUP4 ADD SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x2 PUSH2 0x13BA DUP4 PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x13CB JUMPI PUSH2 0x13CB PUSH2 0x50E5 JUMP JUMPDEST SUB PUSH2 0x13FB JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE PUSH1 0x1 SWAP3 DUP4 ADD SWAP1 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH2 0x1406 DUP4 PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1417 JUMPI PUSH2 0x1417 PUSH2 0x50E5 JUMP JUMPDEST SUB PUSH2 0xF68 JUMPI DUP1 PUSH1 0x0 PUSH2 0x142A PUSH1 0x1 DUP6 PUSH2 0x56B0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD DUP6 DUP3 MSTORE DUP5 DUP5 MSTORE DUP3 DUP3 KECCAK256 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SWAP1 SWAP4 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x148B JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1495 DUP3 DUP3 PUSH2 0x2AEC JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x14A4 CALLER DUP3 PUSH2 0x2B64 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BB DUP4 PUSH2 0x14B6 DUP5 PUSH2 0x224E JUMP JUMPDEST PUSH2 0x2BE0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x14CE DUP4 PUSH2 0x224E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x14F4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33B4E31B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14FE PUSH2 0x1C70 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x1513 DUP6 PUSH2 0x227D JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x1527 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1530 DUP6 PUSH2 0x22D1 JUMP JUMPDEST PUSH2 0x153F JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xF27 DUP3 PUSH2 0x2C87 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1560 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x159D PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x15C0 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP5 DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x15EA PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1648 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1645 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x56C3 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1684 JUMPI POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1696 DUP5 DUP5 PUSH2 0x1DE4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x16A5 DUP7 DUP7 PUSH2 0x27DE JUMP JUMPDEST PUSH2 0x16AF SWAP2 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x16C0 PUSH2 0x2D14 JUMP JUMPDEST PUSH2 0x16C9 DUP3 PUSH2 0x2DBB JUMP JUMPDEST PUSH2 0xF68 DUP3 DUP3 PUSH2 0x2DD3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DD PUSH2 0x2E87 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x16FB PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x178E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206170707320 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0xC2DCC840EECAD2CED0E8E640D8CADCCEE8D040DAD2E6DAC2E8C6D PUSH1 0x2B SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x17F6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E6F206170 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3839903A37903B37BA32903337B9 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST ADDRESS PUSH4 0xA461A94D CALLER PUSH2 0x180D PUSH2 0x1808 PUSH2 0x18A3 JUMP JUMPDEST PUSH2 0x2ED0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x182A SWAP3 SWAP2 SWAP1 PUSH2 0x570A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1847 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x186B SWAP2 SWAP1 PUSH2 0x572B JUMP JUMPDEST ISZERO PUSH2 0x188B JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x5B27ABD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH2 0x1894 CALLER PUSH2 0x2198 JUMP JUMPDEST POP PUSH2 0x1495 CALLER DUP5 DUP5 DUP5 PUSH1 0x0 PUSH2 0x2EFE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF37 PUSH2 0xD4B PUSH2 0x1D0D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x18C8 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x2FDC JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF37 PUSH2 0xD6B PUSH2 0x1D0D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 PUSH2 0xEC4 DUP4 PUSH2 0x224E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1904 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x3089 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1918 PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1955 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1979 SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST SWAP1 POP PUSH2 0x14BB DUP4 DUP3 PUSH2 0x2BE0 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1990 PUSH2 0x3133 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 DUP3 PUSH2 0x19A3 PUSH1 0x1 DUP5 PUSH2 0x56B0 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x19B3 JUMPI PUSH2 0x19B3 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP7 DUP3 GT PUSH2 0x19F7 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1A0A PUSH2 0x1A03 DUP9 PUSH2 0x2ED0 JUMP JUMPDEST DUP7 SWAP1 PUSH2 0x3157 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A29 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A3E PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1A69 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x320D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A7D PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1AA8 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x32AC JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1ABD PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE SWAP4 SWAP5 POP SWAP2 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1B17 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1B03 JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x3350 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B3B DUP4 PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1B4C JUMPI PUSH2 0x1B4C PUSH2 0x50E5 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1B6B DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x33B4 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x1B9F JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x65ECE97 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x33BD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BB3 PUSH2 0x298C JUMP JUMPDEST SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0x1BDF PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP4 DUP5 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x60 DUP2 ADD DUP7 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xD0 SHL SWAP1 SWAP2 DIV PUSH4 0xFFFFFFFF AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C45 PUSH2 0x29D4 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C7A PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1CD3 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1CD0 SWAP2 DUP2 ADD SWAP1 PUSH2 0x575F JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1684 JUMPI PUSH2 0xF37 PUSH2 0x345D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CEA PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP4 SWAP1 SWAP4 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BB3 PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D23 PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D60 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D84 SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST SWAP1 POP PUSH2 0x1D8F DUP2 PUSH2 0x28C5 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1DA0 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x1DC2 DUP6 DUP6 PUSH2 0x1689 JUMP JUMPDEST SWAP6 PUSH8 0xDE0B6B3A7640000 DUP8 LT ISZERO SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BB DUP4 DUP4 PUSH2 0x2BE0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DEE PUSH2 0x1A72 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA56B5765 DUP5 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E1B SWAP3 SWAP2 SWAP1 PUSH2 0x577C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E38 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14BB SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST ADDRESS PUSH4 0xA461A94D DUP4 PUSH2 0x1E6F PUSH2 0x1808 DUP6 PUSH2 0x224E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E8C SWAP3 SWAP2 SWAP1 PUSH2 0x570A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1EA9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1ECD SWAP2 SWAP1 PUSH2 0x572B JUMP JUMPDEST PUSH2 0x1EEC JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x2B8B7C89 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH2 0x1EF6 DUP2 DUP4 PUSH2 0x3468 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F00 PUSH2 0xEFE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP5 PUSH2 0x1F1A PUSH2 0x1808 PUSH2 0x18A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F37 SWAP3 SWAP2 SWAP1 PUSH2 0x570A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F54 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F7C SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5795 JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH2 0x1F8A DUP5 PUSH2 0x2C87 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x1F9C DUP8 DUP8 DUP7 PUSH2 0x34E2 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP5 ISZERO DUP1 PUSH2 0x1FAE JUMPI POP DUP3 MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x208E JUMPI PUSH2 0x1FBC DUP8 PUSH2 0x3350 JUMP JUMPDEST ISZERO PUSH2 0x2033 JUMPI PUSH2 0x1FCA DUP8 PUSH2 0x33BD JUMP JUMPDEST PUSH2 0x1FD2 PUSH2 0x1A33 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE7DFE672 DUP8 PUSH1 0x1 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2000 SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x201A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x202E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP1 MLOAD DUP8 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD DUP3 SWAP1 MSTORE DUP7 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND SWAP1 PUSH32 0x55B62C33CA46DF94310E16FC7E52E8ED456D93A5F21B1E7B5B4C2428905DDEBC SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x209C DUP8 DUP8 DUP6 DUP6 PUSH1 0x1 PUSH2 0x2EFE JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x20B0 PUSH2 0x3133 JUMP JUMPDEST SWAP1 POP PUSH2 0x20BB DUP2 PUSH2 0x3578 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x20E2 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x35B1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2103 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x3656 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2117 PUSH2 0x298C JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x213B DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0x1D8F PUSH2 0x36FE JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2152 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP8 KECCAK256 SWAP6 DUP8 MSTORE SWAP5 SWAP1 SWAP2 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x218F DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x379E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x21A5 PUSH2 0xEFE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP6 PUSH2 0x21BF PUSH2 0x1808 PUSH2 0x18A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21DC SWAP3 SWAP2 SWAP1 PUSH2 0x570A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x21F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2221 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5795 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x2247 JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x57F1 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2259 PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2288 PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x22C2 SWAP1 PUSH1 0x1 PUSH1 0xD0 SHL DUP2 DIV PUSH4 0xFFFFFFFF AND SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND PUSH2 0x5815 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x383B JUMP JUMPDEST PUSH2 0x22E5 DUP3 PUSH2 0x108E JUMP JUMPDEST PUSH2 0x22EE DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0x12AB DUP4 DUP4 PUSH2 0x2AEC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2302 PUSH2 0x12CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD2570B94 DUP5 PUSH2 0x231A DUP6 PUSH2 0x224E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2337 SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2354 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14BB SWAP2 SWAP1 PUSH2 0x572B JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5CDD PUSH1 0x21 SWAP2 CODECOPY SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x23B0 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x385A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23C3 PUSH2 0x398B JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x23EA JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x2406 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x2414 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x2432 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x245B JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST DUP6 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x24C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420564F543320 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x746F6B656E2061646472657373 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x80 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x253A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420566F746572 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x526577617264732061646472657373 PUSH1 0x88 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x25A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420456D697373 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x696F6E732061646472657373 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH2 0x25DB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH17 0x58416C6C6F636174696F6E566F74696E67 PUSH1 0x78 SHL DUP2 MSTORE POP PUSH2 0x39AF JUMP JUMPDEST PUSH2 0x25F3 DUP7 PUSH2 0x120 ADD MLOAD DUP8 PUSH1 0xA0 ADD MLOAD DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x39C0 JUMP JUMPDEST PUSH2 0x2600 DUP7 PUSH1 0x40 ADD MLOAD PUSH2 0x39D3 JUMP JUMPDEST PUSH2 0x260E DUP7 PUSH2 0x180 ADD MLOAD PUSH2 0x39E4 JUMP JUMPDEST DUP6 MLOAD PUSH2 0x2619 SWAP1 PUSH2 0x39F5 JUMP JUMPDEST PUSH2 0x2626 DUP7 PUSH1 0x20 ADD MLOAD PUSH2 0x3A06 JUMP JUMPDEST PUSH2 0x263A DUP7 PUSH2 0x140 ADD MLOAD DUP8 PUSH2 0x160 ADD MLOAD PUSH2 0x3A17 JUMP JUMPDEST PUSH2 0x2642 PUSH2 0x3A29 JUMP JUMPDEST PUSH2 0x264A PUSH2 0x3A29 JUMP JUMPDEST PUSH2 0x2652 PUSH2 0x3A35 JUMP JUMPDEST PUSH2 0x265A PUSH2 0x3A35 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 PUSH1 0xC0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x2737 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0xC0 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x268B JUMPI PUSH2 0x268B PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x26FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C69642061646D696E PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x2061646472657373 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH2 0x2724 PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0xC0 ADD MLOAD DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2717 JUMPI PUSH2 0x2717 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x2A1C JUMP JUMPDEST POP DUP1 PUSH2 0x272F DUP2 PUSH2 0x5697 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x265D JUMP JUMPDEST POP PUSH2 0x2754 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH1 0xE0 ADD MLOAD PUSH2 0x2A1C JUMP JUMPDEST POP PUSH2 0x2771 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH1 0x60 ADD MLOAD PUSH2 0x2A1C JUMP JUMPDEST POP PUSH2 0x278F PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH2 0x100 ADD MLOAD PUSH2 0x2A1C JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x27D6 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BB DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x3A3D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2812 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x3AB5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x3B5D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2831 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2854 PUSH2 0x3BF4 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xF27 JUMPI POP PUSH2 0xF27 DUP3 PUSH2 0x3C18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28B8 PUSH2 0x3C4D JUMP JUMPDEST SLOAD PUSH4 0xFFFFFFFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28D0 PUSH2 0x3C71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x5832D3F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH6 0xFFFFFFFFFFFF DUP6 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x2C1969F8 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2931 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14BB SWAP2 SWAP1 PUSH2 0x5834 JUMP JUMPDEST PUSH2 0x14A4 DUP2 CALLER PUSH2 0x3C95 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x3CC0 JUMP JUMPDEST PUSH32 0x7FB63BCD433C69110AD961BFBE38AEF51814CBB9E11AF6FE21011AE43FB4BE00 SWAP1 JUMP JUMPDEST PUSH32 0xC74DB4E191410C7A6C18F14684E1218B5E87C449D0F81AB47E8C67BF971C3500 SWAP1 JUMP JUMPDEST PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D500 SWAP1 JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH32 0xF5210C47C3BB73C471770A1CBB5B7DDC03C0EC886694CC17AE21D1F595F1900 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A27 PUSH2 0x29D4 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A33 DUP5 DUP5 PUSH2 0x1C3A JUMP JUMPDEST PUSH2 0x2AB3 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x2A69 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xF27 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xF27 JUMP JUMPDEST PUSH32 0x7DD3251B9882A8B07DC283A0B43197AA2BE3A6AF1A7F0284070FE5D86E502500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2854 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2AF7 PUSH2 0x29D4 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B03 DUP5 DUP5 PUSH2 0x1C3A JUMP JUMPDEST ISZERO PUSH2 0x2AB3 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xF27 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B6E PUSH2 0x3C71 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x8770FB4D DUP3 PUSH2 0x2B93 PUSH2 0x12CE JUMP JUMPDEST DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BB4 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x585D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2BCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x209C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2BEB PUSH2 0x3C71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x12EC1A37 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF DUP6 AND PUSH1 0x44 DUP3 ADD MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x25D8346E SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2C5B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C7F SWAP2 SWAP1 PUSH2 0x572B JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2C93 PUSH2 0x3C71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x41666CF PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x82CCD9E SWAP1 PUSH2 0x2CCF SWAP1 DUP5 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5899 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2CEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x14BB SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x590B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x2D9B JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2D8F PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x2DB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xF68 DUP2 PUSH2 0x2955 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x2E2D JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x2E2A SWAP2 DUP2 ADD SWAP1 PUSH2 0x5746 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x2E4C JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x2E7D JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH2 0x1495 DUP4 DUP4 PUSH2 0x3D5C JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x2DB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2143 JUMPI PUSH1 0x30 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x593F JUMP JUMPDEST PUSH2 0x2F11 DUP5 PUSH2 0x2F0C PUSH1 0x0 PUSH2 0x3DB2 JUMP JUMPDEST PUSH2 0x3DD5 JUMP JUMPDEST POP PUSH2 0x2F1E DUP5 DUP7 DUP6 DUP6 PUSH2 0x3E14 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2FD5 JUMPI PUSH2 0x2F2C PUSH2 0x1A33 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6CF88E73 CALLER DUP8 DUP8 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2F5E SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5952 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2F78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2F8C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x64DBCB1D23926D04F2FEA8C7CC3F5D02846EE1E48940419CF422F69AE35813AA DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x2FCC SWAP3 SWAP2 SWAP1 PUSH2 0x5990 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x301F JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x656D697373696F6E73 PUSH1 0xB8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3029 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x602F97505D28FB0206888A82DF7CB072EC7FF056C77134B64368322BCB9F5ABA SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x14995B185E595C94995DD85C991CD41BDBDB PUSH1 0x72 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30DF PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1CDB859FDDC65C1FC3FC767C3640525B1847D0ACE5955A01B15C7A91D96C357E SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH32 0x49D99284D013647F52E2A267FD5944583BD36BE17443E784EC3E86BBD4C32400 SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x31B6 JUMPI PUSH1 0x0 PUSH2 0x3172 DUP5 PUSH2 0x4344 JUMP JUMPDEST PUSH2 0x317C SWAP1 DUP6 PUSH2 0x56B0 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x31A6 JUMPI DUP1 SWAP2 POP PUSH2 0x31B4 JUMP JUMPDEST PUSH2 0x31B1 DUP2 PUSH1 0x1 PUSH2 0x56F7 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x31C4 DUP8 DUP8 DUP6 DUP6 PUSH2 0x442C JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x31FF JUMPI PUSH2 0x31E9 DUP8 PUSH2 0x31DB PUSH1 0x1 DUP5 PUSH2 0x56B0 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x3202 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x3298 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A204170702073 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x686172657320636170206D757374206265206C657373207468616E206F722065 PUSH1 0x64 DUP3 ADD MSTORE PUSH11 0x7175616C20746F2031303 PUSH1 0xAC SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32A2 PUSH2 0x298C JUMP JUMPDEST PUSH1 0x1 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x32F2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x2119AA2923B7BB32B93737B9 PUSH1 0xA1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32FC PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0xB77FB0FF0B0446F13E672C64B103AFD9DA2774098AB3DE2150ECA002248BB298 SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x335B PUSH2 0x3C71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1C6FB9E5 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0xE37DCF28 SWAP1 PUSH2 0x3397 SWAP1 DUP5 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5899 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2354 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x448E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33C7 PUSH2 0x3C71 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x3E17CD58 DUP3 ADDRESS DUP6 PUSH2 0x33EE PUSH2 0x1C70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND PUSH1 0x24 DUP6 ADD MSTORE SWAP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3449 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x27D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF37 NUMBER PUSH2 0x2ED0 JUMP JUMPDEST PUSH2 0x3470 PUSH2 0x1A33 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE5ED920B DUP4 DUP4 CALLER PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP5 ADD MSTORE AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x34CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x27D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0xEA66E04A ADDRESS DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3524 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5A01 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3541 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3569 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5A34 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP SWAP4 POP SWAP4 POP SWAP4 SWAP1 POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x35A8 JUMPI PUSH2 0x3592 DUP4 PUSH2 0x31DB PUSH1 0x1 DUP5 PUSH2 0x56B0 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x14BB JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x35F8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x766F7465722072657761726473 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3602 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x159950995D1D195C94185CDCDC1BDC9D PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x36AA PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1635A7CE44FAF9C7A871602659C02602D0B1DEB541D4DF560D0616D42DD71160 SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x370A PUSH2 0x1D0D JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x378E JUMPI PUSH2 0x371B DUP2 PUSH2 0x1B2F JUMP JUMPDEST ISZERO PUSH2 0x378E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A207468657265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2063616E206265206F6E6C79206F6E6520726F756E64207065722074696D6500 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH2 0x3797 DUP3 PUSH2 0x44DD JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x37E2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x58324561726E41707073 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37EC PUSH2 0x2864 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x6183E90E12923AE97651B48BE341FB5BCFD7BB63A987353DBCF962851011974D SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3846 DUP3 PUSH2 0x104D JUMP JUMPDEST PUSH2 0x3852 PUSH2 0xEC4 DUP5 PUSH2 0x224E JUMP JUMPDEST GT ISZERO SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH4 0xFFFFFFFF AND PUSH1 0x0 SUB PUSH2 0x3884 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x388E PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5BEC4CB4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x38CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x38EF SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x391F JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3929 PUSH2 0x3C4D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xFFFFFFFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP7 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP2 SWAP3 POP PUSH32 0x7E3F7F0708A84DE9203036ABAA450DCCC85AD5FF52F78C170F3EDB55CF5E8828 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH4 0xFFFFFFFF NOT AND PUSH4 0xFFFFFFFF SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x39B7 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x47B7 JUMP JUMPDEST PUSH2 0x39C8 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x1495 DUP4 DUP4 DUP4 PUSH2 0x47D6 JUMP JUMPDEST PUSH2 0x39DB PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x4828 JUMP JUMPDEST PUSH2 0x39EC PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x4839 JUMP JUMPDEST PUSH2 0x39FD PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x4855 JUMP JUMPDEST PUSH2 0x3A0E PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x4889 JUMP JUMPDEST PUSH2 0x3A1F PUSH2 0x4792 JUMP JUMPDEST PUSH2 0xF68 DUP3 DUP3 PUSH2 0x4891 JUMP JUMPDEST PUSH2 0x3A31 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x2DB9 JUMPDEST PUSH2 0x2DB9 PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A47 PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x3A46B1A8 DUP6 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A74 SWAP3 SWAP2 SWAP1 PUSH2 0x577C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A91 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C7F SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x3B4C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x57 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A204261736520 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x616C6C6F636174696F6E2070657263656E74616765206D757374206265206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH23 0x7373207468616E206F7220657175616C20746F2031303 PUSH1 0x4C SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B56 PUSH2 0x298C JUMP JUMPDEST SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH2 0x3B6A DUP4 PUSH2 0x1985 JUMP JUMPDEST PUSH2 0x3B72 PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8E539E8C DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B9F SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3BBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3BE0 SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST PUSH2 0x3BEA SWAP2 SWAP1 PUSH2 0x5AF7 JUMP JUMPDEST PUSH2 0xF27 SWAP2 SWAP1 PUSH2 0x5B24 JUMP JUMPDEST PUSH32 0x6EB1BF0A160CDF1B5E63F5E5C6B310F6C2542CD9E2A47FF1BC977C526DFAB500 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0xD65A4D5 PUSH1 0xE4 SHL EQ DUP1 PUSH2 0xF27 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xF27 JUMP JUMPDEST PUSH32 0xD69D068053671881D25A4D751DCAD1E692749D9B24184F608CB1D01AF3A99900 SWAP1 JUMP JUMPDEST PUSH32 0x38BA4D920474025BC119851D51630794AB25DC91B5F613AFC3C0E85F09FDC100 SWAP1 JUMP JUMPDEST PUSH2 0x3C9F DUP3 DUP3 PUSH2 0x1C3A JUMP JUMPDEST PUSH2 0xF68 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x577C JUMP JUMPDEST PUSH1 0x64 DUP1 DUP3 GT ISZERO PUSH2 0x3CE7 JUMPI DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3CF1 PUSH2 0x20A5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3CFD PUSH2 0x3133 JUMP JUMPDEST SWAP1 POP PUSH2 0x3D1B PUSH2 0x3D0A PUSH2 0x1C70 JUMP JUMPDEST PUSH2 0x3D13 DUP7 PUSH2 0x48AB JUMP JUMPDEST DUP4 SWAP2 SWAP1 PUSH2 0x48DA JUMP JUMPDEST POP POP PUSH32 0x553476BF02EF2726E8CE5CED78D63E26E602E4A2257B1F559418E24B4633997 DUP3 DUP6 PUSH1 0x40 MLOAD PUSH2 0x3D4E SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0x3D65 DUP3 PUSH2 0x48F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x3DAA JUMPI PUSH2 0x1495 DUP3 DUP3 PUSH2 0x4951 JUMP JUMPDEST PUSH2 0xF68 PUSH2 0x49BE JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x3DC6 JUMPI PUSH2 0x3DC6 PUSH2 0x50E5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3DE1 DUP5 PUSH2 0x14C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x3DEF DUP4 PUSH2 0x3DB2 JUMP JUMPDEST AND SUB PUSH2 0x14BB JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5B46 JUMP JUMPDEST PUSH2 0x3E1E DUP5 DUP5 PUSH2 0x1555 JUMP JUMPDEST ISZERO PUSH2 0x3E3E JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E48 PUSH2 0x29B0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3E55 DUP7 PUSH2 0x224E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3E66 DUP9 DUP6 PUSH2 0x1689 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0x4153 JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3EE3 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3E91 JUMPI PUSH2 0x3E91 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP10 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x3EAB JUMPI PUSH2 0x3EAB PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x3ED1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2367ACF7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x3EDB DUP2 PUSH2 0x5697 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3E77 JUMP JUMPDEST POP DUP7 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3EF6 JUMPI PUSH2 0x3EF6 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 PUSH2 0x3F09 SWAP2 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP4 POP DUP2 DUP5 GT ISZERO PUSH2 0x3F2C JUMPI PUSH1 0x40 MLOAD PUSH4 0xCC9BAF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F4F DUP9 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3F41 JUMPI PUSH2 0x3F41 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP12 PUSH2 0x22F8 JUMP JUMPDEST PUSH2 0x3F89 JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3F65 JUMPI PUSH2 0x3F65 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x25C53919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP11 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3FB7 JUMPI PUSH2 0x3FB7 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3FED JUMPI PUSH2 0x3FED PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x4028 JUMPI PUSH4 0x3B9ACA00 DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x4011 JUMPI PUSH2 0x4011 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x4023 SWAP2 SWAP1 PUSH2 0x5B24 JUMP JUMPDEST PUSH2 0x404A JUMP JUMPDEST PUSH2 0x404A DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x403D JUMPI PUSH2 0x403D PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x4344 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4058 DUP3 DUP5 PUSH2 0x56F7 JUMP JUMPDEST SWAP1 POP PUSH2 0x4064 DUP4 DUP1 PUSH2 0x5AF7 JUMP JUMPDEST PUSH2 0x406E DUP3 DUP1 PUSH2 0x5AF7 JUMP JUMPDEST PUSH2 0x4078 SWAP2 SWAP1 PUSH2 0x56B0 JUMP JUMPDEST PUSH2 0x4082 SWAP1 DUP8 PUSH2 0x56F7 JUMP JUMPDEST SWAP6 POP DUP1 DUP10 PUSH1 0x1 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP14 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0x40B1 JUMPI PUSH2 0x40B1 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x40DD JUMPI PUSH2 0x40DD PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP10 PUSH1 0x1 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP14 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0x4111 JUMPI PUSH2 0x4111 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4136 SWAP2 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP DUP1 DUP1 PUSH2 0x414B SWAP1 PUSH2 0x5697 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3E6B JUMP JUMPDEST POP PUSH2 0x415C PUSH2 0x1A1E JUMP JUMPDEST DUP4 LT ISZERO PUSH2 0x4187 JUMPI PUSH2 0x416B PUSH2 0x1A1E JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x41AA SWAP1 DUP5 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP6 SWAP3 SWAP1 PUSH2 0x41D2 SWAP1 DUP5 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 DUP2 ADD PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP7 MSTORE PUSH1 0x4 DUP2 ADD DUP4 MSTORE SWAP1 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE DUP13 DUP5 MSTORE MSTORE PUSH1 0x5 ADD DUP1 SLOAD SWAP2 PUSH2 0x421F DUP4 PUSH2 0x5697 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x4268 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH2 0x4270 PUSH2 0x1D95 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2F18339D DUP6 DUP11 DUP7 PUSH2 0x428A DUP9 PUSH2 0x4344 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x42DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x42F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP9 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xE2D0D542AF9CDD3E0EF4ACE292FC5E9DD654164E63920EA9B58C435492AF84E2 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x4331 SWAP3 SWAP2 SWAP1 PUSH2 0x5990 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x4356 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x4363 DUP5 PUSH2 0x49DD JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x437C JUMPI PUSH2 0x437C PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4394 JUMPI PUSH2 0x4394 PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x43AC JUMPI PUSH2 0x43AC PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x43C4 JUMPI PUSH2 0x43C4 PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x43DC JUMPI PUSH2 0x43DC PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x43F4 JUMPI PUSH2 0x43F4 PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x440C JUMPI PUSH2 0x440C PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x14BB DUP2 DUP3 DUP6 DUP2 PUSH2 0x4426 JUMPI PUSH2 0x4426 PUSH2 0x5B0E JUMP JUMPDEST DIV PUSH2 0x4A71 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x4486 JUMPI PUSH1 0x0 PUSH2 0x4443 DUP5 DUP5 PUSH2 0x4A87 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x4472 JUMPI DUP1 SWAP3 POP PUSH2 0x4480 JUMP JUMPDEST PUSH2 0x447D DUP2 PUSH1 0x1 PUSH2 0x56F7 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x442F JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4498 PUSH2 0x29B0 JUMP JUMPDEST SWAP1 POP PUSH32 0xA5B41E1BD59A5A33422F0B660829FF7686AED2198167061E3C6C21FDCC259F05 DUP2 PUSH1 0x2 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0x44CF SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x44E8 PUSH2 0x29F8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 DUP2 SLOAD PUSH2 0x44FB SWAP1 PUSH2 0x5697 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP DUP1 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND ISZERO PUSH2 0x4551 JUMPI DUP2 PUSH2 0x4533 DUP4 PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x5B46 JUMP JUMPDEST PUSH1 0x1 DUP3 GT ISZERO PUSH2 0x4568 JUMPI PUSH2 0x4568 PUSH2 0x636 PUSH1 0x1 DUP5 PUSH2 0x56B0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4572 PUSH2 0x12CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC04CFF19 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x45AF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x45D7 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x590B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP3 MLOAD SWAP3 SWAP4 POP PUSH2 0x45FD SWAP3 SWAP1 SWAP2 DUP5 ADD SWAP1 PUSH2 0x4D17 JUMP JUMPDEST POP PUSH2 0x4607 DUP4 PUSH2 0x4AA2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4611 PUSH2 0x1C70 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x4625 PUSH2 0xF2D JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR DUP2 SSTORE SWAP1 SWAP2 POP PUSH2 0x465A DUP4 PUSH2 0x2ED0 JUMP JUMPDEST DUP2 SLOAD PUSH6 0xFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH6 0xFFFFFFFFFFFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR DUP2 SSTORE PUSH2 0x4687 DUP3 PUSH2 0x4ADB JUMP JUMPDEST DUP2 SLOAD PUSH4 0xFFFFFFFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xD0 SHL MUL PUSH4 0xFFFFFFFF PUSH1 0xD0 SHL NOT SWAP1 SWAP2 AND OR DUP2 SSTORE PUSH1 0x0 PUSH2 0x46BA PUSH2 0x46B5 DUP6 PUSH2 0x2ED0 JUMP JUMPDEST PUSH2 0x28C5 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 AND ISZERO PUSH2 0x473F JUMPI PUSH2 0x46D3 PUSH2 0x1A33 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2FB93C85 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND SWAP1 PUSH4 0x5F72790A SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4726 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x473A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH32 0xED97F3DAA22D7F521CFAC2156E927C837565DD6980BD67CC6F7E53CC52EA09C8 DUP8 DUP10 DUP7 PUSH2 0x476D DUP8 DUP3 PUSH2 0x56F7 JUMP JUMPDEST DUP10 PUSH1 0x40 MLOAD PUSH2 0x477F SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5B68 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x479A PUSH2 0x4B07 JUMP JUMPDEST PUSH2 0x2DB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x47BF PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47C9 PUSH2 0x2968 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x1495 DUP4 DUP3 PUSH2 0x5BE1 JUMP JUMPDEST PUSH2 0x47DE PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47E8 PUSH2 0x2864 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND OR DUP3 SSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP3 AND SWAP6 DUP8 AND SWAP6 SWAP1 SWAP6 OR SWAP1 SWAP5 SSTORE PUSH1 0x2 ADD DUP1 SLOAD SWAP1 SWAP4 AND SWAP2 SWAP1 SWAP4 AND OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x4830 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x385A JUMP JUMPDEST PUSH2 0x4841 PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x484B PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x2 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x485D PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4867 PUSH2 0x3BF4 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x295F PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x4899 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x48A2 DUP3 PUSH2 0x3AB5 JUMP JUMPDEST PUSH2 0xF68 DUP2 PUSH2 0x320D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x2143 JUMPI PUSH1 0xD0 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x593F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x48E8 DUP6 DUP6 DUP6 PUSH2 0x4B21 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4922 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x496E SWAP2 SWAP1 PUSH2 0x5CA0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x49A9 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x49AE JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x16AF DUP6 DUP4 DUP4 PUSH2 0x4C9B JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x2DB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x49F2 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A04 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A16 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A28 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A3A JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A4C JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A5E JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xF27 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x4A80 JUMPI DUP2 PUSH2 0x14BB JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A96 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x5B24 JUMP JUMPDEST PUSH2 0x14BB SWAP1 DUP5 DUP5 AND PUSH2 0x56F7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4AAC PUSH2 0x298C JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SWAP1 MSTORE SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 GT ISZERO PUSH2 0x2143 JUMPI PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x593F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B11 PUSH2 0x398B JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x4C40 JUMPI PUSH1 0x0 PUSH2 0x4B3F DUP8 PUSH2 0x31DB PUSH1 0x1 DUP6 PUSH2 0x56B0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x4B93 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x4BDF JUMPI DUP5 PUSH2 0x4BB6 DUP9 PUSH2 0x31DB PUSH1 0x1 DUP7 PUSH2 0x56B0 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x4C30 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x48ED SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x48ED JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4CB0 JUMPI PUSH2 0x4CAB DUP3 PUSH2 0x4CEE JUMP JUMPDEST PUSH2 0x14BB JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4CC7 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4CE7 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST POP DUP1 PUSH2 0x14BB JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4CFE JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x4D52 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x4D52 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x4D37 JUMP JUMPDEST POP PUSH2 0x2143 SWAP3 SWAP2 POP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2143 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4D5A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4D94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x14BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x14A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4DD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x14BB DUP2 PUSH2 0x4DAC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4DEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4E11 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4DF9 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4E32 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4DF6 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x14BB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4E1A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F08 JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x4EC1 DUP3 DUP8 ADD DUP3 PUSH2 0x4E1A JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x4EDB DUP4 DUP3 PUSH2 0x4E1A JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4E80 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x14A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x1684 DUP2 PUSH2 0x4F16 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4F5B DUP2 PUSH2 0x4F16 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4F9F JUMPI PUSH2 0x4F9F PUSH2 0x4F66 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4F9F JUMPI PUSH2 0x4F9F PUSH2 0x4F66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4FEF JUMPI PUSH2 0x4FEF PUSH2 0x4F66 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5010 JUMPI PUSH2 0x5010 PUSH2 0x4F66 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x502B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x5040 PUSH2 0x503B DUP4 PUSH2 0x4FF7 JUMP JUMPDEST PUSH2 0x4FC7 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x505F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x507A JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x5063 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5097 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x50AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C7F DUP5 DUP3 DUP6 ADD PUSH2 0x501A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x50D7 DUP2 PUSH2 0x4F16 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x510B JUMPI PUSH2 0x510B PUSH2 0x50E5 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0xF27 DUP3 DUP5 PUSH2 0x50FB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x512F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x14BB DUP2 PUSH2 0x4F16 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x516A JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x514E JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x14BB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x513A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x519B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x51C3 JUMPI PUSH2 0x51C3 PUSH2 0x4F66 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x51E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x51EF DUP2 PUSH2 0x4F16 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x520A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x521B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x5229 PUSH2 0x503B DUP3 PUSH2 0x51AA JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x523E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP1 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5292 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x529E DUP9 DUP4 DUP10 ADD PUSH2 0x501A JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x52B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x52C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x52D4 PUSH2 0x503B DUP3 PUSH2 0x4FF7 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x52F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x5311 JUMPI DUP4 CALLDATALOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x52F8 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5333 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x533E DUP2 PUSH2 0x4F16 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4F5B DUP2 PUSH2 0x4DAC JUMP JUMPDEST DUP1 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1684 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14BB DUP3 PUSH2 0x534E JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x538E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x539E PUSH2 0x503B DUP4 PUSH2 0x4FF7 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x53BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x507A JUMPI DUP1 CALLDATALOAD PUSH2 0x53D4 DUP2 PUSH2 0x4F16 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x53C1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x53F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x540A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x1A0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x541F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5427 PUSH2 0x4F7C JUMP JUMPDEST PUSH2 0x5430 DUP4 PUSH2 0x4F2B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x5448 PUSH1 0x40 DUP5 ADD PUSH2 0x534E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x5459 PUSH1 0x60 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x546A PUSH1 0x80 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x547B PUSH1 0xA0 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x549E DUP8 DUP3 DUP7 ADD PUSH2 0x537D JUMP JUMPDEST PUSH1 0xC0 DUP4 ADD MSTORE POP PUSH2 0x54B0 PUSH1 0xE0 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 SWAP2 POP PUSH2 0x54C5 DUP3 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x120 SWAP2 POP PUSH2 0x54D9 DUP3 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x140 DUP3 DUP2 ADD CALLDATALOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x160 DUP1 DUP4 ADD CALLDATALOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x180 SWAP2 DUP3 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x551F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x553F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x1684 DUP2 PUSH2 0x4F16 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x5585 PUSH2 0x503B DUP3 PUSH2 0x51AA JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x559A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C7F DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4DF6 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1684 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x55E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x55F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5600 PUSH2 0x4FA5 JUMP JUMPDEST DUP3 MLOAD DUP2 MSTORE PUSH2 0x5610 PUSH1 0x20 DUP5 ADD PUSH2 0x555B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x5627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5633 DUP8 DUP3 DUP7 ADD PUSH2 0x5566 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x564B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5657 DUP8 DUP3 DUP7 ADD PUSH2 0x5566 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x5673 PUSH1 0xA0 DUP5 ADD PUSH2 0x55AB JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x56A9 JUMPI PUSH2 0x56A9 PUSH2 0x5681 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x5681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x56D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x56EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C7F DUP5 DUP3 DUP6 ADD PUSH2 0x5566 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x5681 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x573D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14BB DUP3 PUSH2 0x55AB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5758 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5771 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x14BB DUP2 PUSH2 0x4DAC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x57A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57B1 DUP4 PUSH2 0x55AB JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x57CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57D9 DUP6 DUP3 DUP7 ADD PUSH2 0x5566 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x2C7F SWAP1 DUP4 ADD DUP5 PUSH2 0x4E1A JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x2247 JUMPI PUSH2 0x2247 PUSH2 0x5681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5846 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x14BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE DUP4 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x588F SWAP1 DUP4 ADD DUP5 PUSH2 0x513A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x58C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x58D1 PUSH2 0x503B DUP4 PUSH2 0x4FF7 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x58F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x507A JUMPI DUP1 MLOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x58F4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x591D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5933 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C7F DUP5 DUP3 DUP6 ADD PUSH2 0x58B0 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x5981 JUMPI PUSH2 0x5981 PUSH2 0x50E5 JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x59A3 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x513A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP5 MLOAD DUP1 DUP4 MSTORE DUP6 DUP3 ADD SWAP3 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x59DA JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x59BE JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x588F SWAP1 DUP4 ADD DUP5 PUSH2 0x513A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5A49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5A60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5A6C DUP8 DUP4 DUP9 ADD PUSH2 0x58B0 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 SWAP2 POP DUP2 DUP7 ADD MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x5A83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 ADD SWAP1 POP PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x5A96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x5AA4 PUSH2 0x503B DUP3 PUSH2 0x4FF7 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x5AC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x5AE1 JUMPI DUP4 MLOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x5AC8 JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP PUSH1 0x40 DUP5 ADD MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x5681 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5B41 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x5B5A PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x50FB JUMP JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE DUP4 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x3202 PUSH1 0xA0 DUP4 ADD DUP5 PUSH2 0x513A JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1495 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5BC2 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x27D6 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5BCE JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5BFA JUMPI PUSH2 0x5BFA PUSH2 0x4F66 JUMP JUMPDEST PUSH2 0x5C0E DUP2 PUSH2 0x5C08 DUP5 SLOAD PUSH2 0x550B JUMP JUMPDEST DUP5 PUSH2 0x5B9B JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5C43 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x5C2B JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x27D6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5C72 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5C53 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5C90 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5CB2 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4DF6 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID PUSH18 0x840DC4906352362B0CDAF79870196C8E42AC 0xAF 0xAD 0xE7 0x2D 0x5D GAS PUSH14 0x59291253CEB1737570706F72743D PUSH25 0x2D616C6C6F636174696F6E732671756F72756D3D6175746F18 SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC2B53661063988F1AD36E0A 0x49 0xD4 0xD9 0xA6 LOG3 LT PUSH7 0x52AAEED2BE542C DUP7 SWAP2 0xD5 CREATE2 REVERT AND DUP12 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7A264697066735822122018 PUSH29 0x72FB2005FE4DDFAAD843FD0BA71EFA804B71F15859DC533AA244C3EFAD SWAP5 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"3616:10804:82:-:0;;;1171:4:3;1128:48;;6117:47:82;;;;;;;;;-1:-1:-1;6137:22:82;:20;:22::i;:::-;3616:10804;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;3616:10804:82;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_50406":{"entryPoint":5600,"id":50406,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_45096":{"entryPoint":null,"id":45096,"parameterSlots":0,"returnSlots":0},"@COUNTING_MODE_49049":{"entryPoint":9080,"id":49049,"parameterSlots":0,"returnSlots":1},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@GOVERNANCE_ROLE_45090":{"entryPoint":null,"id":45090,"parameterSlots":0,"returnSlots":0},"@ROUND_STARTER_ROLE_45078":{"entryPoint":null,"id":45078,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_45084":{"entryPoint":null,"id":45084,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@__AccessControl_init_63":{"entryPoint":14901,"id":63,"parameterSlots":0,"returnSlots":0},"@__ExternalContracts_init_48089":{"entryPoint":14784,"id":48089,"parameterSlots":3,"returnSlots":0},"@__ExternalContracts_init_unchained_48128":{"entryPoint":18390,"id":48128,"parameterSlots":3,"returnSlots":0},"@__RoundEarningsSettings_init_48566":{"entryPoint":14871,"id":48566,"parameterSlots":2,"returnSlots":0},"@__RoundEarningsSettings_init_unchained_48584":{"entryPoint":18577,"id":48584,"parameterSlots":2,"returnSlots":0},"@__RoundFinalization_init_48795":{"entryPoint":14889,"id":48795,"parameterSlots":0,"returnSlots":0},"@__RoundFinalization_init_unchained_48801":{"entryPoint":null,"id":48801,"parameterSlots":0,"returnSlots":0},"@__RoundVotesCounting_init_49019":{"entryPoint":14820,"id":49019,"parameterSlots":1,"returnSlots":0},"@__RoundVotesCounting_init_unchained_49039":{"entryPoint":18489,"id":49039,"parameterSlots":1,"returnSlots":0},"@__RoundsStorage_init_49632":{"entryPoint":null,"id":49632,"parameterSlots":0,"returnSlots":0},"@__RoundsStorage_init_unchained_49638":{"entryPoint":null,"id":49638,"parameterSlots":0,"returnSlots":0},"@__UUPSUpgradeable_init_1786":{"entryPoint":null,"id":1786,"parameterSlots":0,"returnSlots":0},"@__VotesQuorumFraction_init_50078":{"entryPoint":14854,"id":50078,"parameterSlots":1,"returnSlots":0},"@__VotesQuorumFraction_init_unchained_50090":{"entryPoint":18569,"id":50090,"parameterSlots":1,"returnSlots":0},"@__Votes_init_50313":{"entryPoint":14837,"id":50313,"parameterSlots":1,"returnSlots":0},"@__Votes_init_unchained_50339":{"entryPoint":18517,"id":50339,"parameterSlots":1,"returnSlots":0},"@__VotingSettings_init_50473":{"entryPoint":14803,"id":50473,"parameterSlots":1,"returnSlots":0},"@__VotingSettings_init_unchained_50485":{"entryPoint":18472,"id":50485,"parameterSlots":1,"returnSlots":0},"@__XAllocationVotingGovernor_init_46286":{"entryPoint":14767,"id":46286,"parameterSlots":1,"returnSlots":0},"@__XAllocationVotingGovernor_init_unchained_46306":{"entryPoint":18359,"id":46306,"parameterSlots":1,"returnSlots":0},"@_authorizeUpgrade_45720":{"entryPoint":11707,"id":45720,"parameterSlots":1,"returnSlots":0},"@_checkEarlyAccessEligibility_46649":{"entryPoint":13416,"id":46649,"parameterSlots":2,"returnSlots":0},"@_checkInitializing_1654":{"entryPoint":18322,"id":1654,"parameterSlots":0,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":18878,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":11911,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":11540,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":10581,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":15509,"id":150,"parameterSlots":2,"returnSlots":0},"@_countVote_49361":{"entryPoint":15892,"id":49361,"parameterSlots":4,"returnSlots":0},"@_encodeStateBitmap_46909":{"entryPoint":15794,"id":46909,"parameterSlots":1,"returnSlots":1},"@_getAccessControlStorage_46":{"entryPoint":10708,"id":46,"parameterSlots":0,"returnSlots":1},"@_getAutoVotingStorage_47752":{"entryPoint":15473,"id":47752,"parameterSlots":0,"returnSlots":1},"@_getEarningsSettingsStorage_48550":{"entryPoint":10636,"id":48550,"parameterSlots":0,"returnSlots":1},"@_getExternalContractsStorage_48031":{"entryPoint":10340,"id":48031,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":14731,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getRoundFinalizationStorage_48785":{"entryPoint":10941,"id":48785,"parameterSlots":0,"returnSlots":1},"@_getRoundVotesCountingStorage_48997":{"entryPoint":10672,"id":48997,"parameterSlots":0,"returnSlots":1},"@_getRoundsStorageStorage_49622":{"entryPoint":10744,"id":49622,"parameterSlots":0,"returnSlots":1},"@_getTotalAutoVotingUsersAtTimepoint_47952":{"entryPoint":10437,"id":47952,"parameterSlots":1,"returnSlots":1},"@_getUserVotingPreferences_47928":{"entryPoint":11399,"id":47928,"parameterSlots":1,"returnSlots":1},"@_getVotesQuorumFractionStorage_50052":{"entryPoint":12595,"id":50052,"parameterSlots":0,"returnSlots":1},"@_getVotesStorage_50300":{"entryPoint":15348,"id":50300,"parameterSlots":0,"returnSlots":1},"@_getVotes_50427":{"entryPoint":14909,"id":50427,"parameterSlots":3,"returnSlots":1},"@_getVotingSettingsStorage_50454":{"entryPoint":15437,"id":50454,"parameterSlots":0,"returnSlots":1},"@_getXAllocationVotingGovernorStorage_46273":{"entryPoint":10600,"id":46273,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":10780,"id":315,"parameterSlots":2,"returnSlots":1},"@_handleCastVote_46566":{"entryPoint":12030,"id":46566,"parameterSlots":5,"returnSlots":0},"@_insert_9806":{"entryPoint":19233,"id":9806,"parameterSlots":3,"returnSlots":2},"@_isAutoVotingEnabledAtTimepoint_47903":{"entryPoint":11232,"id":47903,"parameterSlots":2,"returnSlots":1},"@_isAutoVotingEnabled_47876":{"entryPoint":13136,"id":47876,"parameterSlots":1,"returnSlots":1},"@_isInitializing_1722":{"entryPoint":19207,"id":1722,"parameterSlots":0,"returnSlots":1},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_prepareAutoVoteArrays_47852":{"entryPoint":13538,"id":47852,"parameterSlots":3,"returnSlots":3},"@_quorumReached_49540":{"entryPoint":14395,"id":49540,"parameterSlots":1,"returnSlots":1},"@_revert_5583":{"entryPoint":19694,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":10988,"id":361,"parameterSlots":2,"returnSlots":1},"@_setAppSharesCap_48708":{"entryPoint":12813,"id":48708,"parameterSlots":1,"returnSlots":0},"@_setB3TRGovernor_48467":{"entryPoint":12972,"id":48467,"parameterSlots":1,"returnSlots":0},"@_setBaseAllocationPercentage_48682":{"entryPoint":15029,"id":48682,"parameterSlots":1,"returnSlots":0},"@_setEmissions_48283":{"entryPoint":12252,"id":48283,"parameterSlots":1,"returnSlots":0},"@_setImplementation_4791":{"entryPoint":18677,"id":4791,"parameterSlots":1,"returnSlots":0},"@_setRelayerRewardsPool_48513":{"entryPoint":12425,"id":48513,"parameterSlots":1,"returnSlots":0},"@_setUserVotingPreferences_47820":{"entryPoint":11108,"id":47820,"parameterSlots":2,"returnSlots":0},"@_setVeBetterPassport_48421":{"entryPoint":13910,"id":48421,"parameterSlots":1,"returnSlots":0},"@_setVoterRewards_48375":{"entryPoint":13745,"id":48375,"parameterSlots":1,"returnSlots":0},"@_setVotingPeriod_50552":{"entryPoint":14426,"id":50552,"parameterSlots":1,"returnSlots":0},"@_setVotingThreshold_49085":{"entryPoint":17550,"id":49085,"parameterSlots":1,"returnSlots":0},"@_setX2EarnApps_48329":{"entryPoint":14238,"id":48329,"parameterSlots":1,"returnSlots":0},"@_snapshotRoundEarningsCap_48740":{"entryPoint":19106,"id":48740,"parameterSlots":1,"returnSlots":0},"@_startNewRound_49790":{"entryPoint":17629,"id":49790,"parameterSlots":1,"returnSlots":1},"@_toggleAutoVoting_47789":{"entryPoint":13245,"id":47789,"parameterSlots":1,"returnSlots":0},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_updateQuorumNumerator_50264":{"entryPoint":15552,"id":50264,"parameterSlots":1,"returnSlots":0},"@_upgradeToAndCallUUPS_1913":{"entryPoint":11731,"id":1913,"parameterSlots":2,"returnSlots":0},"@_upperBinaryLookup_9858":{"entryPoint":17452,"id":9858,"parameterSlots":4,"returnSlots":1},"@_validateStateBitmap_46688":{"entryPoint":15829,"id":46688,"parameterSlots":2,"returnSlots":1},"@_voteSucceeded_49554":{"entryPoint":null,"id":49554,"parameterSlots":1,"returnSlots":1},"@appSharesCap_48616":{"entryPoint":8460,"id":48616,"parameterSlots":0,"returnSlots":1},"@average_6189":{"entryPoint":19079,"id":6189,"parameterSlots":2,"returnSlots":1},"@b3trGovernor_48217":{"entryPoint":6770,"id":48217,"parameterSlots":0,"returnSlots":1},"@baseAllocationPercentage_48600":{"entryPoint":7080,"id":48600,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":13405,"id":11429,"parameterSlots":0,"returnSlots":1},"@castVoteOnBehalfOf_46513":{"entryPoint":7772,"id":46513,"parameterSlots":2,"returnSlots":0},"@castVote_46401":{"entryPoint":5913,"id":46401,"parameterSlots":3,"returnSlots":0},"@clock_50382":{"entryPoint":7280,"id":50382,"parameterSlots":0,"returnSlots":1},"@currentRoundDeadline_49853":{"entryPoint":6353,"id":49853,"parameterSlots":0,"returnSlots":1},"@currentRoundId_49828":{"entryPoint":7437,"id":49828,"parameterSlots":0,"returnSlots":1},"@currentRoundSnapshot_49841":{"entryPoint":6307,"id":49841,"parameterSlots":0,"returnSlots":1},"@emissions_48164":{"entryPoint":4208,"id":48164,"parameterSlots":0,"returnSlots":1},"@finalizeRound_48898":{"entryPoint":4859,"id":48898,"parameterSlots":1,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":18769,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getAndValidateVotingPower_46631":{"entryPoint":7603,"id":46631,"parameterSlots":2,"returnSlots":2},"@getAppIdsOfRound_49946":{"entryPoint":6833,"id":49946,"parameterSlots":1,"returnSlots":1},"@getAppVotesQF_49413":{"entryPoint":8519,"id":49413,"parameterSlots":2,"returnSlots":1},"@getAppVotes_49387":{"entryPoint":5557,"id":49387,"parameterSlots":2,"returnSlots":1},"@getAppsOfRound_50016":{"entryPoint":4270,"id":50016,"parameterSlots":1,"returnSlots":1},"@getDepositVotingPower_47078":{"entryPoint":7652,"id":47078,"parameterSlots":2,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":4238,"id":171,"parameterSlots":1,"returnSlots":1},"@getRoundAppSharesCap_48656":{"entryPoint":4109,"id":48656,"parameterSlots":1,"returnSlots":1},"@getRoundBaseAllocationPercentage_48636":{"entryPoint":4141,"id":48636,"parameterSlots":1,"returnSlots":1},"@getRound_49811":{"entryPoint":7098,"id":49811,"parameterSlots":1,"returnSlots":1},"@getTotalAutoVotingUsersAtRoundStart_45621":{"entryPoint":7448,"id":45621,"parameterSlots":0,"returnSlots":1},"@getTotalAutoVotingUsersAtTimepoint_45634":{"entryPoint":3900,"id":45634,"parameterSlots":1,"returnSlots":1},"@getTotalVotingPower_46869":{"entryPoint":5769,"id":46869,"parameterSlots":2,"returnSlots":1},"@getUserVotingPreferences_45600":{"entryPoint":5450,"id":45600,"parameterSlots":1,"returnSlots":1},"@getVotes_46840":{"entryPoint":10206,"id":46840,"parameterSlots":2,"returnSlots":1},"@grantRole_190":{"entryPoint":4751,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":7226,"id":116,"parameterSlots":2,"returnSlots":1},"@hasVotedOnce_49574":{"entryPoint":7391,"id":49574,"parameterSlots":1,"returnSlots":1},"@hasVoted_49520":{"entryPoint":5461,"id":49520,"parameterSlots":2,"returnSlots":1},"@initialize_45293":{"entryPoint":9145,"id":45293,"parameterSlots":1,"returnSlots":0},"@isActive_46753":{"entryPoint":6959,"id":46753,"parameterSlots":1,"returnSlots":1},"@isEligibleForVote_46889":{"entryPoint":8952,"id":46889,"parameterSlots":2,"returnSlots":1},"@isFinalized_48938":{"entryPoint":4824,"id":48938,"parameterSlots":1,"returnSlots":1},"@isUserAutoVotingEnabledAtTimepoint_45586":{"entryPoint":7640,"id":45586,"parameterSlots":2,"returnSlots":1},"@isUserAutoVotingEnabledForRound_45570":{"entryPoint":5287,"id":45570,"parameterSlots":2,"returnSlots":1},"@isUserAutoVotingEnabledInCurrentRound_45549":{"entryPoint":6413,"id":45549,"parameterSlots":1,"returnSlots":1},"@isUserAutoVotingEnabled_45525":{"entryPoint":6948,"id":45525,"parameterSlots":1,"returnSlots":1},"@latestSucceededRoundId_48918":{"entryPoint":4785,"id":48918,"parameterSlots":1,"returnSlots":1},"@latest_9634":{"entryPoint":13688,"id":9634,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":18909,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":19057,"id":6166,"parameterSlots":2,"returnSlots":1},"@name_46727":{"entryPoint":3948,"id":46727,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":5843,"id":1804,"parameterSlots":0,"returnSlots":1},"@push_9437":{"entryPoint":18650,"id":9437,"parameterSlots":3,"returnSlots":2},"@quorumDenominator_50178":{"entryPoint":null,"id":50178,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_50108":{"entryPoint":8357,"id":50108,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_50169":{"entryPoint":6533,"id":50169,"parameterSlots":1,"returnSlots":1},"@quorumReached_46823":{"entryPoint":8913,"id":46823,"parameterSlots":1,"returnSlots":1},"@quorum_45694":{"entryPoint":10267,"id":45694,"parameterSlots":1,"returnSlots":1},"@quorum_50202":{"entryPoint":15197,"id":50202,"parameterSlots":1,"returnSlots":1},"@relayerRewardsPool_48235":{"entryPoint":6707,"id":48235,"parameterSlots":0,"returnSlots":1},"@renounceRole_232":{"entryPoint":5218,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":8924,"id":209,"parameterSlots":2,"returnSlots":0},"@roundDeadline_49903":{"entryPoint":8829,"id":49903,"parameterSlots":1,"returnSlots":1},"@roundProposer_49924":{"entryPoint":5872,"id":49924,"parameterSlots":1,"returnSlots":1},"@roundQuorum_45665":{"entryPoint":6366,"id":45665,"parameterSlots":1,"returnSlots":1},"@roundSnapshot_49875":{"entryPoint":8782,"id":49875,"parameterSlots":1,"returnSlots":1},"@setAppSharesCap_45466":{"entryPoint":6737,"id":45466,"parameterSlots":1,"returnSlots":0},"@setB3TRGovernor_45404":{"entryPoint":6800,"id":45404,"parameterSlots":1,"returnSlots":0},"@setBaseAllocationPercentage_45481":{"entryPoint":10234,"id":45481,"parameterSlots":1,"returnSlots":0},"@setEmissionsAddress_45359":{"entryPoint":6320,"id":45359,"parameterSlots":1,"returnSlots":0},"@setRelayerRewardsPoolAddress_45419":{"entryPoint":6380,"id":45419,"parameterSlots":1,"returnSlots":0},"@setUserVotingPreferences_45329":{"entryPoint":5274,"id":45329,"parameterSlots":1,"returnSlots":0},"@setVeBetterPassport_45389":{"entryPoint":8427,"id":45389,"parameterSlots":1,"returnSlots":0},"@setVoterRewardsAddress_45374":{"entryPoint":8394,"id":45374,"parameterSlots":1,"returnSlots":0},"@setVotingPeriod_45495":{"entryPoint":9112,"id":45495,"parameterSlots":1,"returnSlots":0},"@setVotingThreshold_45436":{"entryPoint":6995,"id":45436,"parameterSlots":1,"returnSlots":0},"@setVotingThreshold_49060":{"entryPoint":13236,"id":49060,"parameterSlots":1,"returnSlots":0},"@setX2EarnAppsAddress_45344":{"entryPoint":8567,"id":45344,"parameterSlots":1,"returnSlots":0},"@sqrt_6504":{"entryPoint":17220,"id":6504,"parameterSlots":1,"returnSlots":1},"@startNewRound_45451":{"entryPoint":8481,"id":45451,"parameterSlots":0,"returnSlots":1},"@startNewRound_46340":{"entryPoint":14078,"id":46340,"parameterSlots":0,"returnSlots":1},"@state_46810":{"entryPoint":5314,"id":46810,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_45710":{"entryPoint":3868,"id":45710,"parameterSlots":1,"returnSlots":1},"@supportsInterface_46711":{"entryPoint":15384,"id":46711,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":10376,"id":91,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":18603,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint32_7826":{"entryPoint":19163,"id":7826,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":11984,"id":7770,"parameterSlots":1,"returnSlots":1},"@toggleAutoVoting_45315":{"entryPoint":7028,"id":45315,"parameterSlots":1,"returnSlots":0},"@token_50356":{"entryPoint":10313,"id":50356,"parameterSlots":0,"returnSlots":1},"@totalVoters_49479":{"entryPoint":5522,"id":49479,"parameterSlots":1,"returnSlots":1},"@totalVotesQF_49435":{"entryPoint":10278,"id":49435,"parameterSlots":1,"returnSlots":1},"@totalVotes_49457":{"entryPoint":4173,"id":49457,"parameterSlots":1,"returnSlots":1},"@updateQuorumNumerator_45512":{"entryPoint":3911,"id":45512,"parameterSlots":1,"returnSlots":0},"@updateQuorumNumerator_50213":{"entryPoint":10591,"id":50213,"parameterSlots":1,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":5816,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":15708,"id":4825,"parameterSlots":2,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":12631,"id":9604,"parameterSlots":2,"returnSlots":1},"@validatePersonhoodForCurrentRound_46601":{"entryPoint":8600,"id":46601,"parameterSlots":1,"returnSlots":1},"@veBetterPassport_48199":{"entryPoint":3838,"id":48199,"parameterSlots":0,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":19611,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_46736":{"entryPoint":null,"id":46736,"parameterSlots":0,"returnSlots":1},"@voterRewards_48182":{"entryPoint":7573,"id":48182,"parameterSlots":0,"returnSlots":1},"@votingPeriod_45678":{"entryPoint":3885,"id":45678,"parameterSlots":0,"returnSlots":1},"@votingPeriod_50502":{"entryPoint":10413,"id":50502,"parameterSlots":0,"returnSlots":1},"@votingThreshold_49495":{"entryPoint":6686,"id":49495,"parameterSlots":0,"returnSlots":1},"@x2EarnApps_45650":{"entryPoint":4814,"id":45650,"parameterSlots":0,"returnSlots":1},"@x2EarnApps_48146":{"entryPoint":10977,"id":48146,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":20267,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_address_fromMemory":{"entryPoint":21851,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_address_dyn":{"entryPoint":21373,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes32_dyn":{"entryPoint":20506,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes32_dyn_fromMemory":{"entryPoint":22704,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bool_fromMemory":{"entryPoint":21931,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_fromMemory":{"entryPoint":21862,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":20765,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":20945,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":20665,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint48":{"entryPoint":21280,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":20613,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory":{"entryPoint":22795,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256_fromMemory":{"entryPoint":23092,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":22315,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory":{"entryPoint":22421,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":20278,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":19842,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IEmissions_$64454":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVoterRewards_$69092":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IX2EarnApps_$69989":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":22211,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_fromMemory":{"entryPoint":21947,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_InitializationData_$45129_memory_ptr":{"entryPoint":21473,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint208_fromMemory":{"entryPoint":22580,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":19933,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":22342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":21086,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_bytes32":{"entryPoint":20872,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint32":{"entryPoint":21346,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48":{"entryPoint":19904,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":22367,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint32":{"entryPoint":21326,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_array_bytes32_dyn":{"entryPoint":20794,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_enum_RoundState":{"entryPoint":20731,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_string":{"entryPoint":19994,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":23712,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":23015,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":23041,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":22866,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22513,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":22396,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed":{"entryPoint":22282,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":20853,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":22928,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":20057,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool_t_uint256_t_uint256__to_t_bool_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IERC5805_$4537__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed":{"entryPoint":19822,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_RoundState_$45736__to_t_uint8__fromStack_reversed":{"entryPoint":20751,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_0_by_1__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":22847,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":20038,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":22681,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":22621,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address_t_address_t_uint48__to_t_uint256_t_address_t_address_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address_t_uint48__to_t_uint256_t_address_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_uint48__to_t_uint256_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_struct$_RoundCore_$49597_memory_ptr__to_t_struct$_RoundCore_$49597_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_address__to_t_uint256_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":23400,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint256_t_bool__to_t_uint256_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_RoundState_$45736_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":23366,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":22499,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint208__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint32__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint32_t_uint32__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":20423,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_6160":{"entryPoint":20348,"id":null,"parameterSlots":0,"returnSlots":1},"allocate_memory_6162":{"entryPoint":20389,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_array_bytes32_dyn":{"entryPoint":20471,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_bytes":{"entryPoint":20906,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":22263,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint48":{"entryPoint":22549,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":23332,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":23287,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":22192,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":23451,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":23521,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":19958,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":21771,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":22167,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":22145,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":23310,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":20709,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":21829,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":20326,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":20246,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint48":{"entryPoint":19884,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:46021:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"142:102:150","statements":[{"nodeType":"YulAssignment","src":"152:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"164:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"175:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"160:3:150"},"nodeType":"YulFunctionCall","src":"160:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"152:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"194:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"209:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"230:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"221:3:150"},"nodeType":"YulFunctionCall","src":"221:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"234:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"217:3:150"},"nodeType":"YulFunctionCall","src":"217:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"205:3:150"},"nodeType":"YulFunctionCall","src":"205:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"187:6:150"},"nodeType":"YulFunctionCall","src":"187:51:150"},"nodeType":"YulExpressionStatement","src":"187:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"111:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"122:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"133:4:150","type":""}],"src":"14:230:150"},{"body":{"nodeType":"YulBlock","src":"318:217:150","statements":[{"body":{"nodeType":"YulBlock","src":"364:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"373:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"376:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"366:6:150"},"nodeType":"YulFunctionCall","src":"366:12:150"},"nodeType":"YulExpressionStatement","src":"366:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"339:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"348:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"335:3:150"},"nodeType":"YulFunctionCall","src":"335:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"360:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"331:3:150"},"nodeType":"YulFunctionCall","src":"331:32:150"},"nodeType":"YulIf","src":"328:52:150"},{"nodeType":"YulVariableDeclaration","src":"389:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"415:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"402:12:150"},"nodeType":"YulFunctionCall","src":"402:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"393:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"489:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"498:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"501:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"491:6:150"},"nodeType":"YulFunctionCall","src":"491:12:150"},"nodeType":"YulExpressionStatement","src":"491:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"447:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"458:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"469:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"474:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"465:3:150"},"nodeType":"YulFunctionCall","src":"465:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"454:3:150"},"nodeType":"YulFunctionCall","src":"454:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"444:2:150"},"nodeType":"YulFunctionCall","src":"444:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"437:6:150"},"nodeType":"YulFunctionCall","src":"437:51:150"},"nodeType":"YulIf","src":"434:71:150"},{"nodeType":"YulAssignment","src":"514:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"524:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"514:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"284:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"295:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"307:6:150","type":""}],"src":"249:286:150"},{"body":{"nodeType":"YulBlock","src":"635:92:150","statements":[{"nodeType":"YulAssignment","src":"645:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"657:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"668:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"653:3:150"},"nodeType":"YulFunctionCall","src":"653:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"645:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"687:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"712:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"705:6:150"},"nodeType":"YulFunctionCall","src":"705:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"698:6:150"},"nodeType":"YulFunctionCall","src":"698:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"680:6:150"},"nodeType":"YulFunctionCall","src":"680:41:150"},"nodeType":"YulExpressionStatement","src":"680:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"604:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"615:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"626:4:150","type":""}],"src":"540:187:150"},{"body":{"nodeType":"YulBlock","src":"833:76:150","statements":[{"nodeType":"YulAssignment","src":"843:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"855:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"866:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"851:3:150"},"nodeType":"YulFunctionCall","src":"851:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"843:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"885:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"896:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"878:6:150"},"nodeType":"YulFunctionCall","src":"878:25:150"},"nodeType":"YulExpressionStatement","src":"878:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"802:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"813:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"824:4:150","type":""}],"src":"732:177:150"},{"body":{"nodeType":"YulBlock","src":"958:81:150","statements":[{"body":{"nodeType":"YulBlock","src":"1017:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1026:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1029:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1019:6:150"},"nodeType":"YulFunctionCall","src":"1019:12:150"},"nodeType":"YulExpressionStatement","src":"1019:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"981:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"992:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"999:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"988:3:150"},"nodeType":"YulFunctionCall","src":"988:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"978:2:150"},"nodeType":"YulFunctionCall","src":"978:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"971:6:150"},"nodeType":"YulFunctionCall","src":"971:45:150"},"nodeType":"YulIf","src":"968:65:150"}]},"name":"validator_revert_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"947:5:150","type":""}],"src":"914:125:150"},{"body":{"nodeType":"YulBlock","src":"1113:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"1159:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1168:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1171:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1161:6:150"},"nodeType":"YulFunctionCall","src":"1161:12:150"},"nodeType":"YulExpressionStatement","src":"1161:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1134:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1143:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1130:3:150"},"nodeType":"YulFunctionCall","src":"1130:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1155:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1126:3:150"},"nodeType":"YulFunctionCall","src":"1126:32:150"},"nodeType":"YulIf","src":"1123:52:150"},{"nodeType":"YulVariableDeclaration","src":"1184:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1210:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1197:12:150"},"nodeType":"YulFunctionCall","src":"1197:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1188:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1253:5:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"1229:23:150"},"nodeType":"YulFunctionCall","src":"1229:30:150"},"nodeType":"YulExpressionStatement","src":"1229:30:150"},{"nodeType":"YulAssignment","src":"1268:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1278:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1268:6:150"}]}]},"name":"abi_decode_tuple_t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1079:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1090:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1102:6:150","type":""}],"src":"1044:245:150"},{"body":{"nodeType":"YulBlock","src":"1395:102:150","statements":[{"nodeType":"YulAssignment","src":"1405:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1417:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1428:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1413:3:150"},"nodeType":"YulFunctionCall","src":"1413:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1405:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1447:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1462:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1478:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"1483:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1474:3:150"},"nodeType":"YulFunctionCall","src":"1474:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"1487:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1470:3:150"},"nodeType":"YulFunctionCall","src":"1470:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1458:3:150"},"nodeType":"YulFunctionCall","src":"1458:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1440:6:150"},"nodeType":"YulFunctionCall","src":"1440:51:150"},"nodeType":"YulExpressionStatement","src":"1440:51:150"}]},"name":"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1364:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1375:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1386:4:150","type":""}],"src":"1294:203:150"},{"body":{"nodeType":"YulBlock","src":"1572:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1618:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1627:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1630:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1620:6:150"},"nodeType":"YulFunctionCall","src":"1620:12:150"},"nodeType":"YulExpressionStatement","src":"1620:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1593:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1602:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1589:3:150"},"nodeType":"YulFunctionCall","src":"1589:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1614:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1585:3:150"},"nodeType":"YulFunctionCall","src":"1585:32:150"},"nodeType":"YulIf","src":"1582:52:150"},{"nodeType":"YulAssignment","src":"1643:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1666:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1653:12:150"},"nodeType":"YulFunctionCall","src":"1653:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1643:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1538:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1549:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1561:6:150","type":""}],"src":"1502:180:150"},{"body":{"nodeType":"YulBlock","src":"1753:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1763:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1772:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1767:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1832:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1857:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1862:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1853:3:150"},"nodeType":"YulFunctionCall","src":"1853:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1876:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1881:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1872:3:150"},"nodeType":"YulFunctionCall","src":"1872:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1866:5:150"},"nodeType":"YulFunctionCall","src":"1866:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1846:6:150"},"nodeType":"YulFunctionCall","src":"1846:39:150"},"nodeType":"YulExpressionStatement","src":"1846:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1793:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1796:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1790:2:150"},"nodeType":"YulFunctionCall","src":"1790:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1804:19:150","statements":[{"nodeType":"YulAssignment","src":"1806:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1815:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1818:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1811:3:150"},"nodeType":"YulFunctionCall","src":"1811:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1806:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1786:3:150","statements":[]},"src":"1782:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1915:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1920:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1911:3:150"},"nodeType":"YulFunctionCall","src":"1911:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"1929:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1904:6:150"},"nodeType":"YulFunctionCall","src":"1904:27:150"},"nodeType":"YulExpressionStatement","src":"1904:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1731:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1736:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1741:6:150","type":""}],"src":"1687:250:150"},{"body":{"nodeType":"YulBlock","src":"1992:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2002:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2022:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2016:5:150"},"nodeType":"YulFunctionCall","src":"2016:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2006:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2044:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2049:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2037:6:150"},"nodeType":"YulFunctionCall","src":"2037:19:150"},"nodeType":"YulExpressionStatement","src":"2037:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2104:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2111:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2100:3:150"},"nodeType":"YulFunctionCall","src":"2100:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2122:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2127:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2118:3:150"},"nodeType":"YulFunctionCall","src":"2118:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"2134:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2065:34:150"},"nodeType":"YulFunctionCall","src":"2065:76:150"},"nodeType":"YulExpressionStatement","src":"2065:76:150"},{"nodeType":"YulAssignment","src":"2150:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2165:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2178:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2186:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2174:3:150"},"nodeType":"YulFunctionCall","src":"2174:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2195:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2191:3:150"},"nodeType":"YulFunctionCall","src":"2191:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2170:3:150"},"nodeType":"YulFunctionCall","src":"2170:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2161:3:150"},"nodeType":"YulFunctionCall","src":"2161:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"2202:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2157:3:150"},"nodeType":"YulFunctionCall","src":"2157:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2150:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1969:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1976:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1984:3:150","type":""}],"src":"1942:271:150"},{"body":{"nodeType":"YulBlock","src":"2339:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2356:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2367:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2349:6:150"},"nodeType":"YulFunctionCall","src":"2349:21:150"},"nodeType":"YulExpressionStatement","src":"2349:21:150"},{"nodeType":"YulAssignment","src":"2379:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2405:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2417:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2428:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2413:3:150"},"nodeType":"YulFunctionCall","src":"2413:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"2387:17:150"},"nodeType":"YulFunctionCall","src":"2387:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2379:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2308:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2319:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2330:4:150","type":""}],"src":"2218:220:150"},{"body":{"nodeType":"YulBlock","src":"2564:102:150","statements":[{"nodeType":"YulAssignment","src":"2574:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2586:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2597:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2582:3:150"},"nodeType":"YulFunctionCall","src":"2582:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2574:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2616:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2631:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2647:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2652:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2643:3:150"},"nodeType":"YulFunctionCall","src":"2643:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2656:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2639:3:150"},"nodeType":"YulFunctionCall","src":"2639:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2627:3:150"},"nodeType":"YulFunctionCall","src":"2627:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2609:6:150"},"nodeType":"YulFunctionCall","src":"2609:51:150"},"nodeType":"YulExpressionStatement","src":"2609:51:150"}]},"name":"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2533:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2544:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2555:4:150","type":""}],"src":"2443:223:150"},{"body":{"nodeType":"YulBlock","src":"2741:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"2787:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2796:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2799:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2789:6:150"},"nodeType":"YulFunctionCall","src":"2789:12:150"},"nodeType":"YulExpressionStatement","src":"2789:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2762:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2771:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2758:3:150"},"nodeType":"YulFunctionCall","src":"2758:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2783:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2754:3:150"},"nodeType":"YulFunctionCall","src":"2754:32:150"},"nodeType":"YulIf","src":"2751:52:150"},{"nodeType":"YulAssignment","src":"2812:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2835:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2822:12:150"},"nodeType":"YulFunctionCall","src":"2822:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2812:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2707:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2718:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2730:6:150","type":""}],"src":"2671:180:150"},{"body":{"nodeType":"YulBlock","src":"2957:76:150","statements":[{"nodeType":"YulAssignment","src":"2967:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2979:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2990:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2975:3:150"},"nodeType":"YulFunctionCall","src":"2975:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2967:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3009:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3020:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3002:6:150"},"nodeType":"YulFunctionCall","src":"3002:25:150"},"nodeType":"YulExpressionStatement","src":"3002:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2926:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2937:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2948:4:150","type":""}],"src":"2856:177:150"},{"body":{"nodeType":"YulBlock","src":"3275:1355:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3285:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3295:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3289:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3306:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3324:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3335:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3320:3:150"},"nodeType":"YulFunctionCall","src":"3320:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"3310:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3354:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3365:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3347:6:150"},"nodeType":"YulFunctionCall","src":"3347:21:150"},"nodeType":"YulExpressionStatement","src":"3347:21:150"},{"nodeType":"YulVariableDeclaration","src":"3377:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"3388:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"3381:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3403:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3423:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3417:5:150"},"nodeType":"YulFunctionCall","src":"3417:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3407:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"3446:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"3454:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3439:6:150"},"nodeType":"YulFunctionCall","src":"3439:22:150"},"nodeType":"YulExpressionStatement","src":"3439:22:150"},{"nodeType":"YulVariableDeclaration","src":"3470:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3480:2:150","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3474:2:150","type":""}]},{"nodeType":"YulAssignment","src":"3491:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3502:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3513:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3498:3:150"},"nodeType":"YulFunctionCall","src":"3498:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3491:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"3525:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3547:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3562:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"3565:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3558:3:150"},"nodeType":"YulFunctionCall","src":"3558:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3543:3:150"},"nodeType":"YulFunctionCall","src":"3543:30:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3575:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3539:3:150"},"nodeType":"YulFunctionCall","src":"3539:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"3529:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3587:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3605:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3613:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3601:3:150"},"nodeType":"YulFunctionCall","src":"3601:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"3591:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3625:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3634:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3629:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3693:908:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3714:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3727:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3735:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3723:3:150"},"nodeType":"YulFunctionCall","src":"3723:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3751:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3747:3:150"},"nodeType":"YulFunctionCall","src":"3747:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3719:3:150"},"nodeType":"YulFunctionCall","src":"3719:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3707:6:150"},"nodeType":"YulFunctionCall","src":"3707:49:150"},"nodeType":"YulExpressionStatement","src":"3707:49:150"},{"nodeType":"YulVariableDeclaration","src":"3769:23:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3785:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3779:5:150"},"nodeType":"YulFunctionCall","src":"3779:13:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3773:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3805:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3815:4:150","type":"","value":"0xc0"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"3809:2:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3839:6:150"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3853:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3847:5:150"},"nodeType":"YulFunctionCall","src":"3847:9:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3832:6:150"},"nodeType":"YulFunctionCall","src":"3832:25:150"},"nodeType":"YulExpressionStatement","src":"3832:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3881:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3889:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3877:3:150"},"nodeType":"YulFunctionCall","src":"3877:15:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3908:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3912:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3904:3:150"},"nodeType":"YulFunctionCall","src":"3904:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3898:5:150"},"nodeType":"YulFunctionCall","src":"3898:18:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3926:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3931:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3922:3:150"},"nodeType":"YulFunctionCall","src":"3922:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3935:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3918:3:150"},"nodeType":"YulFunctionCall","src":"3918:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3894:3:150"},"nodeType":"YulFunctionCall","src":"3894:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3870:6:150"},"nodeType":"YulFunctionCall","src":"3870:69:150"},"nodeType":"YulExpressionStatement","src":"3870:69:150"},{"nodeType":"YulVariableDeclaration","src":"3952:38:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3982:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3986:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3978:3:150"},"nodeType":"YulFunctionCall","src":"3978:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3972:5:150"},"nodeType":"YulFunctionCall","src":"3972:18:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"3956:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4014:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"4022:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4010:3:150"},"nodeType":"YulFunctionCall","src":"4010:15:150"},{"name":"_4","nodeType":"YulIdentifier","src":"4027:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4003:6:150"},"nodeType":"YulFunctionCall","src":"4003:27:150"},"nodeType":"YulExpressionStatement","src":"4003:27:150"},{"nodeType":"YulVariableDeclaration","src":"4043:62:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"4075:12:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4093:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"4101:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4089:3:150"},"nodeType":"YulFunctionCall","src":"4089:15:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"4057:17:150"},"nodeType":"YulFunctionCall","src":"4057:48:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"4047:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4118:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4128:4:150","type":"","value":"0x60"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"4122:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4145:40:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4177:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"4181:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4173:3:150"},"nodeType":"YulFunctionCall","src":"4173:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4167:5:150"},"nodeType":"YulFunctionCall","src":"4167:18:150"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"4149:14:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4209:6:150"},{"name":"_5","nodeType":"YulIdentifier","src":"4217:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4205:3:150"},"nodeType":"YulFunctionCall","src":"4205:15:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"4226:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"4234:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4222:3:150"},"nodeType":"YulFunctionCall","src":"4222:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4198:6:150"},"nodeType":"YulFunctionCall","src":"4198:44:150"},"nodeType":"YulExpressionStatement","src":"4198:44:150"},{"nodeType":"YulVariableDeclaration","src":"4255:55:150","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"4287:14:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"4303:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"4269:17:150"},"nodeType":"YulFunctionCall","src":"4269:41:150"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"4259:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4323:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4333:4:150","type":"","value":"0x80"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"4327:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4361:6:150"},{"name":"_6","nodeType":"YulIdentifier","src":"4369:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4357:3:150"},"nodeType":"YulFunctionCall","src":"4357:15:150"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4384:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"4388:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4380:3:150"},"nodeType":"YulFunctionCall","src":"4380:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4374:5:150"},"nodeType":"YulFunctionCall","src":"4374:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4350:6:150"},"nodeType":"YulFunctionCall","src":"4350:43:150"},"nodeType":"YulExpressionStatement","src":"4350:43:150"},{"nodeType":"YulVariableDeclaration","src":"4406:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4416:4:150","type":"","value":"0xa0"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"4410:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4444:6:150"},{"name":"_7","nodeType":"YulIdentifier","src":"4452:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4440:3:150"},"nodeType":"YulFunctionCall","src":"4440:15:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4481:2:150"},{"name":"_7","nodeType":"YulIdentifier","src":"4485:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4477:3:150"},"nodeType":"YulFunctionCall","src":"4477:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4471:5:150"},"nodeType":"YulFunctionCall","src":"4471:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4464:6:150"},"nodeType":"YulFunctionCall","src":"4464:26:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4457:6:150"},"nodeType":"YulFunctionCall","src":"4457:34:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4433:6:150"},"nodeType":"YulFunctionCall","src":"4433:59:150"},"nodeType":"YulExpressionStatement","src":"4433:59:150"},{"nodeType":"YulAssignment","src":"4505:16:150","value":{"name":"tail_4","nodeType":"YulIdentifier","src":"4515:6:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4505:6:150"}]},{"nodeType":"YulAssignment","src":"4534:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4548:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4556:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4544:3:150"},"nodeType":"YulFunctionCall","src":"4544:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4534:6:150"}]},{"nodeType":"YulAssignment","src":"4572:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4583:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4588:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4579:3:150"},"nodeType":"YulFunctionCall","src":"4579:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4572:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3655:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"3658:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3652:2:150"},"nodeType":"YulFunctionCall","src":"3652:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3666:18:150","statements":[{"nodeType":"YulAssignment","src":"3668:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3677:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"3680:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3673:3:150"},"nodeType":"YulFunctionCall","src":"3673:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3668:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3648:3:150","statements":[]},"src":"3644:957:150"},{"nodeType":"YulAssignment","src":"4610:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"4618:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4610:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3244:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3255:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3266:4:150","type":""}],"src":"3038:1592:150"},{"body":{"nodeType":"YulBlock","src":"4680:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"4744:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4753:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4756:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4746:6:150"},"nodeType":"YulFunctionCall","src":"4746:12:150"},"nodeType":"YulExpressionStatement","src":"4746:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4703:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4714:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4729:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4734:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4725:3:150"},"nodeType":"YulFunctionCall","src":"4725:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4738:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4721:3:150"},"nodeType":"YulFunctionCall","src":"4721:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4710:3:150"},"nodeType":"YulFunctionCall","src":"4710:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4700:2:150"},"nodeType":"YulFunctionCall","src":"4700:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4693:6:150"},"nodeType":"YulFunctionCall","src":"4693:50:150"},"nodeType":"YulIf","src":"4690:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4669:5:150","type":""}],"src":"4635:131:150"},{"body":{"nodeType":"YulBlock","src":"4820:85:150","statements":[{"nodeType":"YulAssignment","src":"4830:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4852:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4839:12:150"},"nodeType":"YulFunctionCall","src":"4839:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4830:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4893:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4868:24:150"},"nodeType":"YulFunctionCall","src":"4868:31:150"},"nodeType":"YulExpressionStatement","src":"4868:31:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4799:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4810:5:150","type":""}],"src":"4771:134:150"},{"body":{"nodeType":"YulBlock","src":"4997:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"5043:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5052:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5055:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5045:6:150"},"nodeType":"YulFunctionCall","src":"5045:12:150"},"nodeType":"YulExpressionStatement","src":"5045:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5018:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5027:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5014:3:150"},"nodeType":"YulFunctionCall","src":"5014:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5039:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5010:3:150"},"nodeType":"YulFunctionCall","src":"5010:32:150"},"nodeType":"YulIf","src":"5007:52:150"},{"nodeType":"YulAssignment","src":"5068:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5091:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5078:12:150"},"nodeType":"YulFunctionCall","src":"5078:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5068:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5110:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5140:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5151:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5136:3:150"},"nodeType":"YulFunctionCall","src":"5136:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5123:12:150"},"nodeType":"YulFunctionCall","src":"5123:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5114:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5189:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"5164:24:150"},"nodeType":"YulFunctionCall","src":"5164:31:150"},"nodeType":"YulExpressionStatement","src":"5164:31:150"},{"nodeType":"YulAssignment","src":"5204:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"5214:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5204:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4955:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4966:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4978:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4986:6:150","type":""}],"src":"4910:315:150"},{"body":{"nodeType":"YulBlock","src":"5352:102:150","statements":[{"nodeType":"YulAssignment","src":"5362:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5374:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5385:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5370:3:150"},"nodeType":"YulFunctionCall","src":"5370:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5362:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5404:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5419:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5435:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5440:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5431:3:150"},"nodeType":"YulFunctionCall","src":"5431:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"5444:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5427:3:150"},"nodeType":"YulFunctionCall","src":"5427:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5415:3:150"},"nodeType":"YulFunctionCall","src":"5415:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5397:6:150"},"nodeType":"YulFunctionCall","src":"5397:51:150"},"nodeType":"YulExpressionStatement","src":"5397:51:150"}]},"name":"abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5321:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5332:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5343:4:150","type":""}],"src":"5230:224:150"},{"body":{"nodeType":"YulBlock","src":"5491:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5508:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5515:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5520:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5511:3:150"},"nodeType":"YulFunctionCall","src":"5511:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5501:6:150"},"nodeType":"YulFunctionCall","src":"5501:31:150"},"nodeType":"YulExpressionStatement","src":"5501:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5548:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5551:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5541:6:150"},"nodeType":"YulFunctionCall","src":"5541:15:150"},"nodeType":"YulExpressionStatement","src":"5541:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5572:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5575:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5565:6:150"},"nodeType":"YulFunctionCall","src":"5565:15:150"},"nodeType":"YulExpressionStatement","src":"5565:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5459:127:150"},{"body":{"nodeType":"YulBlock","src":"5637:209:150","statements":[{"nodeType":"YulAssignment","src":"5647:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5663:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5657:5:150"},"nodeType":"YulFunctionCall","src":"5657:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5647:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5675:37:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5697:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5705:6:150","type":"","value":"0x01a0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5693:3:150"},"nodeType":"YulFunctionCall","src":"5693:19:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5679:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5787:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5789:16:150"},"nodeType":"YulFunctionCall","src":"5789:18:150"},"nodeType":"YulExpressionStatement","src":"5789:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5730:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5750:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5754:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5746:3:150"},"nodeType":"YulFunctionCall","src":"5746:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5758:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5742:3:150"},"nodeType":"YulFunctionCall","src":"5742:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5727:2:150"},"nodeType":"YulFunctionCall","src":"5727:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5766:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5778:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5763:2:150"},"nodeType":"YulFunctionCall","src":"5763:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5724:2:150"},"nodeType":"YulFunctionCall","src":"5724:62:150"},"nodeType":"YulIf","src":"5721:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5825:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5829:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5818:6:150"},"nodeType":"YulFunctionCall","src":"5818:22:150"},"nodeType":"YulExpressionStatement","src":"5818:22:150"}]},"name":"allocate_memory_6160","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5626:6:150","type":""}],"src":"5591:255:150"},{"body":{"nodeType":"YulBlock","src":"5897:207:150","statements":[{"nodeType":"YulAssignment","src":"5907:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5923:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5917:5:150"},"nodeType":"YulFunctionCall","src":"5917:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5907:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5935:35:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5957:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5965:4:150","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5953:3:150"},"nodeType":"YulFunctionCall","src":"5953:17:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"5939:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6045:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6047:16:150"},"nodeType":"YulFunctionCall","src":"6047:18:150"},"nodeType":"YulExpressionStatement","src":"6047:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5988:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6008:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6012:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6004:3:150"},"nodeType":"YulFunctionCall","src":"6004:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6016:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6000:3:150"},"nodeType":"YulFunctionCall","src":"6000:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5985:2:150"},"nodeType":"YulFunctionCall","src":"5985:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6024:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"6036:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6021:2:150"},"nodeType":"YulFunctionCall","src":"6021:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5982:2:150"},"nodeType":"YulFunctionCall","src":"5982:62:150"},"nodeType":"YulIf","src":"5979:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6083:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6087:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6076:6:150"},"nodeType":"YulFunctionCall","src":"6076:22:150"},"nodeType":"YulExpressionStatement","src":"6076:22:150"}]},"name":"allocate_memory_6162","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5886:6:150","type":""}],"src":"5851:253:150"},{"body":{"nodeType":"YulBlock","src":"6154:230:150","statements":[{"nodeType":"YulAssignment","src":"6164:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6180:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6174:5:150"},"nodeType":"YulFunctionCall","src":"6174:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6164:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6192:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6214:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"6230:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"6236:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6226:3:150"},"nodeType":"YulFunctionCall","src":"6226:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6245:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6241:3:150"},"nodeType":"YulFunctionCall","src":"6241:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6222:3:150"},"nodeType":"YulFunctionCall","src":"6222:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6210:3:150"},"nodeType":"YulFunctionCall","src":"6210:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"6196:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6325:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6327:16:150"},"nodeType":"YulFunctionCall","src":"6327:18:150"},"nodeType":"YulExpressionStatement","src":"6327:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6268:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6288:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6292:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6284:3:150"},"nodeType":"YulFunctionCall","src":"6284:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6296:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6280:3:150"},"nodeType":"YulFunctionCall","src":"6280:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6265:2:150"},"nodeType":"YulFunctionCall","src":"6265:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6304:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"6316:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6301:2:150"},"nodeType":"YulFunctionCall","src":"6301:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6262:2:150"},"nodeType":"YulFunctionCall","src":"6262:62:150"},"nodeType":"YulIf","src":"6259:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6363:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6367:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6356:6:150"},"nodeType":"YulFunctionCall","src":"6356:22:150"},"nodeType":"YulExpressionStatement","src":"6356:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"6134:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"6143:6:150","type":""}],"src":"6109:275:150"},{"body":{"nodeType":"YulBlock","src":"6458:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"6502:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6504:16:150"},"nodeType":"YulFunctionCall","src":"6504:18:150"},"nodeType":"YulExpressionStatement","src":"6504:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6474:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6490:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6494:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6486:3:150"},"nodeType":"YulFunctionCall","src":"6486:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6498:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6482:3:150"},"nodeType":"YulFunctionCall","src":"6482:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6471:2:150"},"nodeType":"YulFunctionCall","src":"6471:30:150"},"nodeType":"YulIf","src":"6468:56:150"},{"nodeType":"YulAssignment","src":"6533:33:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6549:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"6552:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6545:3:150"},"nodeType":"YulFunctionCall","src":"6545:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"6561:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6541:3:150"},"nodeType":"YulFunctionCall","src":"6541:25:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"6533:4:150"}]}]},"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"6438:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"6449:4:150","type":""}],"src":"6389:183:150"},{"body":{"nodeType":"YulBlock","src":"6641:598:150","statements":[{"body":{"nodeType":"YulBlock","src":"6690:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6699:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6702:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6692:6:150"},"nodeType":"YulFunctionCall","src":"6692:12:150"},"nodeType":"YulExpressionStatement","src":"6692:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6669:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6677:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6665:3:150"},"nodeType":"YulFunctionCall","src":"6665:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"6684:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6661:3:150"},"nodeType":"YulFunctionCall","src":"6661:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6654:6:150"},"nodeType":"YulFunctionCall","src":"6654:35:150"},"nodeType":"YulIf","src":"6651:55:150"},{"nodeType":"YulVariableDeclaration","src":"6715:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6738:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6725:12:150"},"nodeType":"YulFunctionCall","src":"6725:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6719:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6754:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"6764:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"6758:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6777:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6844:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"6804:39:150"},"nodeType":"YulFunctionCall","src":"6804:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"6788:15:150"},"nodeType":"YulFunctionCall","src":"6788:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"6781:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6857:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"6870:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"6861:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6889:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6894:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6882:6:150"},"nodeType":"YulFunctionCall","src":"6882:15:150"},"nodeType":"YulExpressionStatement","src":"6882:15:150"},{"nodeType":"YulAssignment","src":"6906:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6917:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"6922:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6913:3:150"},"nodeType":"YulFunctionCall","src":"6913:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"6906:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"6934:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6956:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6968:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"6971:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6964:3:150"},"nodeType":"YulFunctionCall","src":"6964:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6952:3:150"},"nodeType":"YulFunctionCall","src":"6952:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"6977:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6948:3:150"},"nodeType":"YulFunctionCall","src":"6948:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"6938:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7008:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7017:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7020:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7010:6:150"},"nodeType":"YulFunctionCall","src":"7010:12:150"},"nodeType":"YulExpressionStatement","src":"7010:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"6995:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"7003:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6992:2:150"},"nodeType":"YulFunctionCall","src":"6992:15:150"},"nodeType":"YulIf","src":"6989:35:150"},{"nodeType":"YulVariableDeclaration","src":"7033:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7048:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7056:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7044:3:150"},"nodeType":"YulFunctionCall","src":"7044:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"7037:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7124:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7145:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7163:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7150:12:150"},"nodeType":"YulFunctionCall","src":"7150:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7138:6:150"},"nodeType":"YulFunctionCall","src":"7138:30:150"},"nodeType":"YulExpressionStatement","src":"7138:30:150"},{"nodeType":"YulAssignment","src":"7181:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7192:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7197:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7188:3:150"},"nodeType":"YulFunctionCall","src":"7188:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"7181:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7079:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"7084:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7076:2:150"},"nodeType":"YulFunctionCall","src":"7076:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7092:23:150","statements":[{"nodeType":"YulAssignment","src":"7094:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7105:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7110:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7101:3:150"},"nodeType":"YulFunctionCall","src":"7101:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"7094:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"7072:3:150","statements":[]},"src":"7068:142:150"},{"nodeType":"YulAssignment","src":"7219:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"7228:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"7219:5:150"}]}]},"name":"abi_decode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6615:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"6623:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"6631:5:150","type":""}],"src":"6577:662:150"},{"body":{"nodeType":"YulBlock","src":"7339:253:150","statements":[{"body":{"nodeType":"YulBlock","src":"7385:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7394:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7397:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7387:6:150"},"nodeType":"YulFunctionCall","src":"7387:12:150"},"nodeType":"YulExpressionStatement","src":"7387:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7360:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7369:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7356:3:150"},"nodeType":"YulFunctionCall","src":"7356:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7381:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7352:3:150"},"nodeType":"YulFunctionCall","src":"7352:32:150"},"nodeType":"YulIf","src":"7349:52:150"},{"nodeType":"YulVariableDeclaration","src":"7410:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7437:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7424:12:150"},"nodeType":"YulFunctionCall","src":"7424:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7414:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7490:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7499:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7502:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7492:6:150"},"nodeType":"YulFunctionCall","src":"7492:12:150"},"nodeType":"YulExpressionStatement","src":"7492:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7462:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7478:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7482:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7474:3:150"},"nodeType":"YulFunctionCall","src":"7474:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7486:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7470:3:150"},"nodeType":"YulFunctionCall","src":"7470:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7459:2:150"},"nodeType":"YulFunctionCall","src":"7459:30:150"},"nodeType":"YulIf","src":"7456:50:150"},{"nodeType":"YulAssignment","src":"7515:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7558:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"7569:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7554:3:150"},"nodeType":"YulFunctionCall","src":"7554:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7578:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"7525:28:150"},"nodeType":"YulFunctionCall","src":"7525:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7515:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7305:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7316:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7328:6:150","type":""}],"src":"7244:348:150"},{"body":{"nodeType":"YulBlock","src":"7684:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"7730:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7739:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7742:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7732:6:150"},"nodeType":"YulFunctionCall","src":"7732:12:150"},"nodeType":"YulExpressionStatement","src":"7732:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7705:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7714:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7701:3:150"},"nodeType":"YulFunctionCall","src":"7701:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7726:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7697:3:150"},"nodeType":"YulFunctionCall","src":"7697:32:150"},"nodeType":"YulIf","src":"7694:52:150"},{"nodeType":"YulVariableDeclaration","src":"7755:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7781:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7768:12:150"},"nodeType":"YulFunctionCall","src":"7768:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7759:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7825:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"7800:24:150"},"nodeType":"YulFunctionCall","src":"7800:31:150"},"nodeType":"YulExpressionStatement","src":"7800:31:150"},{"nodeType":"YulAssignment","src":"7840:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7850:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7840:6:150"}]},{"nodeType":"YulAssignment","src":"7864:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7891:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7902:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7887:3:150"},"nodeType":"YulFunctionCall","src":"7887:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7874:12:150"},"nodeType":"YulFunctionCall","src":"7874:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7864:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7642:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7653:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7665:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7673:6:150","type":""}],"src":"7597:315:150"},{"body":{"nodeType":"YulBlock","src":"7949:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7966:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7973:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7978:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7969:3:150"},"nodeType":"YulFunctionCall","src":"7969:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7959:6:150"},"nodeType":"YulFunctionCall","src":"7959:31:150"},"nodeType":"YulExpressionStatement","src":"7959:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8006:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8009:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7999:6:150"},"nodeType":"YulFunctionCall","src":"7999:15:150"},"nodeType":"YulExpressionStatement","src":"7999:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8030:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8033:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8023:6:150"},"nodeType":"YulFunctionCall","src":"8023:15:150"},"nodeType":"YulExpressionStatement","src":"8023:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"7917:127:150"},{"body":{"nodeType":"YulBlock","src":"8101:89:150","statements":[{"body":{"nodeType":"YulBlock","src":"8135:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"8137:16:150"},"nodeType":"YulFunctionCall","src":"8137:18:150"},"nodeType":"YulExpressionStatement","src":"8137:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8124:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"8131:1:150","type":"","value":"3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8121:2:150"},"nodeType":"YulFunctionCall","src":"8121:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8114:6:150"},"nodeType":"YulFunctionCall","src":"8114:20:150"},"nodeType":"YulIf","src":"8111:46:150"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8173:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"8178:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8166:6:150"},"nodeType":"YulFunctionCall","src":"8166:18:150"},"nodeType":"YulExpressionStatement","src":"8166:18:150"}]},"name":"abi_encode_enum_RoundState","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8085:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8092:3:150","type":""}],"src":"8049:141:150"},{"body":{"nodeType":"YulBlock","src":"8310:96:150","statements":[{"nodeType":"YulAssignment","src":"8320:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8332:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8343:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8328:3:150"},"nodeType":"YulFunctionCall","src":"8328:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8320:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8382:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8390:9:150"}],"functionName":{"name":"abi_encode_enum_RoundState","nodeType":"YulIdentifier","src":"8355:26:150"},"nodeType":"YulFunctionCall","src":"8355:45:150"},"nodeType":"YulExpressionStatement","src":"8355:45:150"}]},"name":"abi_encode_tuple_t_enum$_RoundState_$45736__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8279:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8290:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8301:4:150","type":""}],"src":"8195:211:150"},{"body":{"nodeType":"YulBlock","src":"8481:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"8527:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8536:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8539:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8529:6:150"},"nodeType":"YulFunctionCall","src":"8529:12:150"},"nodeType":"YulExpressionStatement","src":"8529:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8502:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8511:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8498:3:150"},"nodeType":"YulFunctionCall","src":"8498:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8523:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8494:3:150"},"nodeType":"YulFunctionCall","src":"8494:32:150"},"nodeType":"YulIf","src":"8491:52:150"},{"nodeType":"YulVariableDeclaration","src":"8552:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8578:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8565:12:150"},"nodeType":"YulFunctionCall","src":"8565:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8556:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8622:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"8597:24:150"},"nodeType":"YulFunctionCall","src":"8597:31:150"},"nodeType":"YulExpressionStatement","src":"8597:31:150"},{"nodeType":"YulAssignment","src":"8637:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"8647:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8637:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8447:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8458:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8470:6:150","type":""}],"src":"8411:247:150"},{"body":{"nodeType":"YulBlock","src":"8724:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8734:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8754:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8748:5:150"},"nodeType":"YulFunctionCall","src":"8748:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8738:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8776:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"8781:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8769:6:150"},"nodeType":"YulFunctionCall","src":"8769:19:150"},"nodeType":"YulExpressionStatement","src":"8769:19:150"},{"nodeType":"YulVariableDeclaration","src":"8797:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8807:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8801:2:150","type":""}]},{"nodeType":"YulAssignment","src":"8820:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8831:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8836:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8827:3:150"},"nodeType":"YulFunctionCall","src":"8827:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8820:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"8848:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8866:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8873:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8862:3:150"},"nodeType":"YulFunctionCall","src":"8862:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"8852:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8885:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8894:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"8889:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8953:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8974:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8985:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8979:5:150"},"nodeType":"YulFunctionCall","src":"8979:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8967:6:150"},"nodeType":"YulFunctionCall","src":"8967:26:150"},"nodeType":"YulExpressionStatement","src":"8967:26:150"},{"nodeType":"YulAssignment","src":"9006:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9017:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9022:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9013:3:150"},"nodeType":"YulFunctionCall","src":"9013:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9006:3:150"}]},{"nodeType":"YulAssignment","src":"9038:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9052:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9060:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9048:3:150"},"nodeType":"YulFunctionCall","src":"9048:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9038:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8915:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"8918:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8912:2:150"},"nodeType":"YulFunctionCall","src":"8912:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8926:18:150","statements":[{"nodeType":"YulAssignment","src":"8928:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8937:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"8940:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8933:3:150"},"nodeType":"YulFunctionCall","src":"8933:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"8928:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"8908:3:150","statements":[]},"src":"8904:169:150"},{"nodeType":"YulAssignment","src":"9082:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"9089:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9082:3:150"}]}]},"name":"abi_encode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8701:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8708:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8716:3:150","type":""}],"src":"8663:435:150"},{"body":{"nodeType":"YulBlock","src":"9254:110:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9271:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9282:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9264:6:150"},"nodeType":"YulFunctionCall","src":"9264:21:150"},"nodeType":"YulExpressionStatement","src":"9264:21:150"},{"nodeType":"YulAssignment","src":"9294:64:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9331:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9343:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9354:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9339:3:150"},"nodeType":"YulFunctionCall","src":"9339:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"9302:28:150"},"nodeType":"YulFunctionCall","src":"9302:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9294:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9223:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9234:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9245:4:150","type":""}],"src":"9103:261:150"},{"body":{"nodeType":"YulBlock","src":"9456:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"9502:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9511:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9514:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9504:6:150"},"nodeType":"YulFunctionCall","src":"9504:12:150"},"nodeType":"YulExpressionStatement","src":"9504:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9477:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9486:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9473:3:150"},"nodeType":"YulFunctionCall","src":"9473:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9498:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9469:3:150"},"nodeType":"YulFunctionCall","src":"9469:32:150"},"nodeType":"YulIf","src":"9466:52:150"},{"nodeType":"YulAssignment","src":"9527:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9550:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9537:12:150"},"nodeType":"YulFunctionCall","src":"9537:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9527:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9569:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9599:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9610:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9595:3:150"},"nodeType":"YulFunctionCall","src":"9595:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9582:12:150"},"nodeType":"YulFunctionCall","src":"9582:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9573:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9648:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"9623:24:150"},"nodeType":"YulFunctionCall","src":"9623:31:150"},"nodeType":"YulExpressionStatement","src":"9623:31:150"},{"nodeType":"YulAssignment","src":"9663:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"9673:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9663:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9414:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9425:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9437:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9445:6:150","type":""}],"src":"9369:315:150"},{"body":{"nodeType":"YulBlock","src":"9776:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"9822:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9831:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9834:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9824:6:150"},"nodeType":"YulFunctionCall","src":"9824:12:150"},"nodeType":"YulExpressionStatement","src":"9824:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9797:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9806:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9793:3:150"},"nodeType":"YulFunctionCall","src":"9793:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9818:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9789:3:150"},"nodeType":"YulFunctionCall","src":"9789:32:150"},"nodeType":"YulIf","src":"9786:52:150"},{"nodeType":"YulAssignment","src":"9847:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9870:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9857:12:150"},"nodeType":"YulFunctionCall","src":"9857:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9847:6:150"}]},{"nodeType":"YulAssignment","src":"9889:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9916:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9927:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9912:3:150"},"nodeType":"YulFunctionCall","src":"9912:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9899:12:150"},"nodeType":"YulFunctionCall","src":"9899:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9889:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9734:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9745:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9757:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9765:6:150","type":""}],"src":"9689:248:150"},{"body":{"nodeType":"YulBlock","src":"9999:129:150","statements":[{"body":{"nodeType":"YulBlock","src":"10043:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"10045:16:150"},"nodeType":"YulFunctionCall","src":"10045:18:150"},"nodeType":"YulExpressionStatement","src":"10045:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10015:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10031:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"10035:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10027:3:150"},"nodeType":"YulFunctionCall","src":"10027:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"10039:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10023:3:150"},"nodeType":"YulFunctionCall","src":"10023:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10012:2:150"},"nodeType":"YulFunctionCall","src":"10012:30:150"},"nodeType":"YulIf","src":"10009:56:150"},{"nodeType":"YulAssignment","src":"10074:48:150","value":{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10094:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10102:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10090:3:150"},"nodeType":"YulFunctionCall","src":"10090:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10111:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10107:3:150"},"nodeType":"YulFunctionCall","src":"10107:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10086:3:150"},"nodeType":"YulFunctionCall","src":"10086:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"10117:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10082:3:150"},"nodeType":"YulFunctionCall","src":"10082:40:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"10074:4:150"}]}]},"name":"array_allocation_size_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"9979:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"9990:4:150","type":""}],"src":"9942:186:150"},{"body":{"nodeType":"YulBlock","src":"10229:710:150","statements":[{"body":{"nodeType":"YulBlock","src":"10275:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10284:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10287:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10277:6:150"},"nodeType":"YulFunctionCall","src":"10277:12:150"},"nodeType":"YulExpressionStatement","src":"10277:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10250:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10259:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10246:3:150"},"nodeType":"YulFunctionCall","src":"10246:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10271:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10242:3:150"},"nodeType":"YulFunctionCall","src":"10242:32:150"},"nodeType":"YulIf","src":"10239:52:150"},{"nodeType":"YulVariableDeclaration","src":"10300:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10326:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10313:12:150"},"nodeType":"YulFunctionCall","src":"10313:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10304:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10370:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"10345:24:150"},"nodeType":"YulFunctionCall","src":"10345:31:150"},"nodeType":"YulExpressionStatement","src":"10345:31:150"},{"nodeType":"YulAssignment","src":"10385:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10395:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10385:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10409:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10440:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10451:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10436:3:150"},"nodeType":"YulFunctionCall","src":"10436:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10423:12:150"},"nodeType":"YulFunctionCall","src":"10423:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10413:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10498:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10507:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10510:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10500:6:150"},"nodeType":"YulFunctionCall","src":"10500:12:150"},"nodeType":"YulExpressionStatement","src":"10500:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10470:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10486:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"10490:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10482:3:150"},"nodeType":"YulFunctionCall","src":"10482:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"10494:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10478:3:150"},"nodeType":"YulFunctionCall","src":"10478:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10467:2:150"},"nodeType":"YulFunctionCall","src":"10467:30:150"},"nodeType":"YulIf","src":"10464:50:150"},{"nodeType":"YulVariableDeclaration","src":"10523:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10537:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"10548:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10533:3:150"},"nodeType":"YulFunctionCall","src":"10533:22:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"10527:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10603:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10612:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10615:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10605:6:150"},"nodeType":"YulFunctionCall","src":"10605:12:150"},"nodeType":"YulExpressionStatement","src":"10605:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"10582:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"10586:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10578:3:150"},"nodeType":"YulFunctionCall","src":"10578:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10593:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10574:3:150"},"nodeType":"YulFunctionCall","src":"10574:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10567:6:150"},"nodeType":"YulFunctionCall","src":"10567:35:150"},"nodeType":"YulIf","src":"10564:55:150"},{"nodeType":"YulVariableDeclaration","src":"10628:26:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"10651:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10638:12:150"},"nodeType":"YulFunctionCall","src":"10638:16:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"10632:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10663:61:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10720:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"10692:27:150"},"nodeType":"YulFunctionCall","src":"10692:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"10676:15:150"},"nodeType":"YulFunctionCall","src":"10676:48:150"},"variables":[{"name":"array","nodeType":"YulTypedName","src":"10667:5:150","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"10740:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10747:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10733:6:150"},"nodeType":"YulFunctionCall","src":"10733:17:150"},"nodeType":"YulExpressionStatement","src":"10733:17:150"},{"body":{"nodeType":"YulBlock","src":"10796:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10805:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10808:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10798:6:150"},"nodeType":"YulFunctionCall","src":"10798:12:150"},"nodeType":"YulExpressionStatement","src":"10798:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"10773:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10777:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10769:3:150"},"nodeType":"YulFunctionCall","src":"10769:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"10782:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10765:3:150"},"nodeType":"YulFunctionCall","src":"10765:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10787:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10762:2:150"},"nodeType":"YulFunctionCall","src":"10762:33:150"},"nodeType":"YulIf","src":"10759:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"10838:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10845:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10834:3:150"},"nodeType":"YulFunctionCall","src":"10834:14:150"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"10854:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"10858:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10850:3:150"},"nodeType":"YulFunctionCall","src":"10850:11:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10863:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"10821:12:150"},"nodeType":"YulFunctionCall","src":"10821:45:150"},"nodeType":"YulExpressionStatement","src":"10821:45:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"10890:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10897:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10886:3:150"},"nodeType":"YulFunctionCall","src":"10886:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"10902:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10882:3:150"},"nodeType":"YulFunctionCall","src":"10882:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10907:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10875:6:150"},"nodeType":"YulFunctionCall","src":"10875:34:150"},"nodeType":"YulExpressionStatement","src":"10875:34:150"},{"nodeType":"YulAssignment","src":"10918:15:150","value":{"name":"array","nodeType":"YulIdentifier","src":"10928:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10918:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10187:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10198:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10210:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10218:6:150","type":""}],"src":"10133:806:150"},{"body":{"nodeType":"YulBlock","src":"11045:102:150","statements":[{"nodeType":"YulAssignment","src":"11055:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11067:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11078:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11063:3:150"},"nodeType":"YulFunctionCall","src":"11063:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11055:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11097:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11112:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11128:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11133:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11124:3:150"},"nodeType":"YulFunctionCall","src":"11124:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11137:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11120:3:150"},"nodeType":"YulFunctionCall","src":"11120:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11108:3:150"},"nodeType":"YulFunctionCall","src":"11108:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11090:6:150"},"nodeType":"YulFunctionCall","src":"11090:51:150"},"nodeType":"YulExpressionStatement","src":"11090:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11014:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11025:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11036:4:150","type":""}],"src":"10944:203:150"},{"body":{"nodeType":"YulBlock","src":"11306:1052:150","statements":[{"body":{"nodeType":"YulBlock","src":"11352:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11361:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11364:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11354:6:150"},"nodeType":"YulFunctionCall","src":"11354:12:150"},"nodeType":"YulExpressionStatement","src":"11354:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11327:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11336:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11323:3:150"},"nodeType":"YulFunctionCall","src":"11323:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11348:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11319:3:150"},"nodeType":"YulFunctionCall","src":"11319:32:150"},"nodeType":"YulIf","src":"11316:52:150"},{"nodeType":"YulAssignment","src":"11377:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11400:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11387:12:150"},"nodeType":"YulFunctionCall","src":"11387:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11377:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11419:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11429:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11423:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11440:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11471:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11482:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11467:3:150"},"nodeType":"YulFunctionCall","src":"11467:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11454:12:150"},"nodeType":"YulFunctionCall","src":"11454:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11444:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11495:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11513:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"11517:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11509:3:150"},"nodeType":"YulFunctionCall","src":"11509:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"11521:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11505:3:150"},"nodeType":"YulFunctionCall","src":"11505:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"11499:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11550:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11559:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11562:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11552:6:150"},"nodeType":"YulFunctionCall","src":"11552:12:150"},"nodeType":"YulExpressionStatement","src":"11552:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11538:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"11546:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11535:2:150"},"nodeType":"YulFunctionCall","src":"11535:14:150"},"nodeType":"YulIf","src":"11532:34:150"},{"nodeType":"YulAssignment","src":"11575:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11618:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"11629:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11614:3:150"},"nodeType":"YulFunctionCall","src":"11614:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11638:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"11585:28:150"},"nodeType":"YulFunctionCall","src":"11585:61:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11575:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11655:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11688:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11699:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11684:3:150"},"nodeType":"YulFunctionCall","src":"11684:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11671:12:150"},"nodeType":"YulFunctionCall","src":"11671:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"11659:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11732:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11741:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11744:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11734:6:150"},"nodeType":"YulFunctionCall","src":"11734:12:150"},"nodeType":"YulExpressionStatement","src":"11734:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"11718:8:150"},{"name":"_2","nodeType":"YulIdentifier","src":"11728:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11715:2:150"},"nodeType":"YulFunctionCall","src":"11715:16:150"},"nodeType":"YulIf","src":"11712:36:150"},{"nodeType":"YulVariableDeclaration","src":"11757:34:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11771:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"11782:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11767:3:150"},"nodeType":"YulFunctionCall","src":"11767:24:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"11761:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11839:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11848:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11851:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11841:6:150"},"nodeType":"YulFunctionCall","src":"11841:12:150"},"nodeType":"YulExpressionStatement","src":"11841:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11818:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"11822:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11814:3:150"},"nodeType":"YulFunctionCall","src":"11814:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11829:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11810:3:150"},"nodeType":"YulFunctionCall","src":"11810:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11803:6:150"},"nodeType":"YulFunctionCall","src":"11803:35:150"},"nodeType":"YulIf","src":"11800:55:150"},{"nodeType":"YulVariableDeclaration","src":"11864:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11887:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11874:12:150"},"nodeType":"YulFunctionCall","src":"11874:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"11868:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11899:71:150","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"11966:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"11926:39:150"},"nodeType":"YulFunctionCall","src":"11926:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"11910:15:150"},"nodeType":"YulFunctionCall","src":"11910:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"11903:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11979:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"11992:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"11983:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"12011:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"12016:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12004:6:150"},"nodeType":"YulFunctionCall","src":"12004:15:150"},"nodeType":"YulExpressionStatement","src":"12004:15:150"},{"nodeType":"YulAssignment","src":"12028:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"12039:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12044:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12035:3:150"},"nodeType":"YulFunctionCall","src":"12035:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"12028:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"12056:42:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"12078:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12086:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"12089:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12082:3:150"},"nodeType":"YulFunctionCall","src":"12082:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12074:3:150"},"nodeType":"YulFunctionCall","src":"12074:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12095:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12070:3:150"},"nodeType":"YulFunctionCall","src":"12070:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"12060:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12130:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12139:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12142:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12132:6:150"},"nodeType":"YulFunctionCall","src":"12132:12:150"},"nodeType":"YulExpressionStatement","src":"12132:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"12113:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"12121:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12110:2:150"},"nodeType":"YulFunctionCall","src":"12110:19:150"},"nodeType":"YulIf","src":"12107:39:150"},{"nodeType":"YulVariableDeclaration","src":"12155:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"12170:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12174:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12166:3:150"},"nodeType":"YulFunctionCall","src":"12166:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"12159:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12242:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"12263:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"12281:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12268:12:150"},"nodeType":"YulFunctionCall","src":"12268:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12256:6:150"},"nodeType":"YulFunctionCall","src":"12256:30:150"},"nodeType":"YulExpressionStatement","src":"12256:30:150"},{"nodeType":"YulAssignment","src":"12299:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"12310:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12315:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12306:3:150"},"nodeType":"YulFunctionCall","src":"12306:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"12299:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"12197:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"12202:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12194:2:150"},"nodeType":"YulFunctionCall","src":"12194:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"12210:23:150","statements":[{"nodeType":"YulAssignment","src":"12212:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"12223:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12228:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12219:3:150"},"nodeType":"YulFunctionCall","src":"12219:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"12212:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"12190:3:150","statements":[]},"src":"12186:142:150"},{"nodeType":"YulAssignment","src":"12337:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"12347:5:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"12337:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11256:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11267:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11279:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11287:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11295:6:150","type":""}],"src":"11152:1206:150"},{"body":{"nodeType":"YulBlock","src":"12453:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"12499:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12508:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12511:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12501:6:150"},"nodeType":"YulFunctionCall","src":"12501:12:150"},"nodeType":"YulExpressionStatement","src":"12501:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12474:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12483:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12470:3:150"},"nodeType":"YulFunctionCall","src":"12470:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12495:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12466:3:150"},"nodeType":"YulFunctionCall","src":"12466:32:150"},"nodeType":"YulIf","src":"12463:52:150"},{"nodeType":"YulVariableDeclaration","src":"12524:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12550:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12537:12:150"},"nodeType":"YulFunctionCall","src":"12537:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12528:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12594:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12569:24:150"},"nodeType":"YulFunctionCall","src":"12569:31:150"},"nodeType":"YulExpressionStatement","src":"12569:31:150"},{"nodeType":"YulAssignment","src":"12609:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12619:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12609:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IEmissions_$64454","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12419:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12430:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12442:6:150","type":""}],"src":"12363:267:150"},{"body":{"nodeType":"YulBlock","src":"12734:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"12780:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12789:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12792:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12782:6:150"},"nodeType":"YulFunctionCall","src":"12782:12:150"},"nodeType":"YulExpressionStatement","src":"12782:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12755:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12764:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12751:3:150"},"nodeType":"YulFunctionCall","src":"12751:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12776:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12747:3:150"},"nodeType":"YulFunctionCall","src":"12747:32:150"},"nodeType":"YulIf","src":"12744:52:150"},{"nodeType":"YulVariableDeclaration","src":"12805:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12831:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12818:12:150"},"nodeType":"YulFunctionCall","src":"12818:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12809:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12875:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12850:24:150"},"nodeType":"YulFunctionCall","src":"12850:31:150"},"nodeType":"YulExpressionStatement","src":"12850:31:150"},{"nodeType":"YulAssignment","src":"12890:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12900:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12890:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12700:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12711:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12723:6:150","type":""}],"src":"12635:276:150"},{"body":{"nodeType":"YulBlock","src":"13046:102:150","statements":[{"nodeType":"YulAssignment","src":"13056:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13068:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13079:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13064:3:150"},"nodeType":"YulFunctionCall","src":"13064:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13056:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13098:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13113:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13129:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"13134:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13125:3:150"},"nodeType":"YulFunctionCall","src":"13125:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"13138:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13121:3:150"},"nodeType":"YulFunctionCall","src":"13121:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13109:3:150"},"nodeType":"YulFunctionCall","src":"13109:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13091:6:150"},"nodeType":"YulFunctionCall","src":"13091:51:150"},"nodeType":"YulExpressionStatement","src":"13091:51:150"}]},"name":"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13015:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13026:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13037:4:150","type":""}],"src":"12916:232:150"},{"body":{"nodeType":"YulBlock","src":"13277:102:150","statements":[{"nodeType":"YulAssignment","src":"13287:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13299:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13310:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13295:3:150"},"nodeType":"YulFunctionCall","src":"13295:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13287:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13329:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13344:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13360:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"13365:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13356:3:150"},"nodeType":"YulFunctionCall","src":"13356:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"13369:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13352:3:150"},"nodeType":"YulFunctionCall","src":"13352:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13340:3:150"},"nodeType":"YulFunctionCall","src":"13340:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13322:6:150"},"nodeType":"YulFunctionCall","src":"13322:51:150"},"nodeType":"YulExpressionStatement","src":"13322:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13246:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13257:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13268:4:150","type":""}],"src":"13153:226:150"},{"body":{"nodeType":"YulBlock","src":"13477:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"13523:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13532:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13535:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13525:6:150"},"nodeType":"YulFunctionCall","src":"13525:12:150"},"nodeType":"YulExpressionStatement","src":"13525:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13498:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13507:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13494:3:150"},"nodeType":"YulFunctionCall","src":"13494:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13519:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13490:3:150"},"nodeType":"YulFunctionCall","src":"13490:32:150"},"nodeType":"YulIf","src":"13487:52:150"},{"nodeType":"YulVariableDeclaration","src":"13548:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13574:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13561:12:150"},"nodeType":"YulFunctionCall","src":"13561:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13552:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13618:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13593:24:150"},"nodeType":"YulFunctionCall","src":"13593:31:150"},"nodeType":"YulExpressionStatement","src":"13593:31:150"},{"nodeType":"YulAssignment","src":"13633:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13643:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13633:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13443:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13454:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13466:6:150","type":""}],"src":"13384:270:150"},{"body":{"nodeType":"YulBlock","src":"13816:273:150","statements":[{"nodeType":"YulAssignment","src":"13826:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13838:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13849:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13834:3:150"},"nodeType":"YulFunctionCall","src":"13834:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13826:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13868:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13889:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13883:5:150"},"nodeType":"YulFunctionCall","src":"13883:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13906:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"13911:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13902:3:150"},"nodeType":"YulFunctionCall","src":"13902:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"13915:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13898:3:150"},"nodeType":"YulFunctionCall","src":"13898:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13879:3:150"},"nodeType":"YulFunctionCall","src":"13879:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13861:6:150"},"nodeType":"YulFunctionCall","src":"13861:58:150"},"nodeType":"YulExpressionStatement","src":"13861:58:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13939:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13950:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13935:3:150"},"nodeType":"YulFunctionCall","src":"13935:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13971:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"13979:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13967:3:150"},"nodeType":"YulFunctionCall","src":"13967:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13961:5:150"},"nodeType":"YulFunctionCall","src":"13961:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"13987:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13957:3:150"},"nodeType":"YulFunctionCall","src":"13957:45:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13928:6:150"},"nodeType":"YulFunctionCall","src":"13928:75:150"},"nodeType":"YulExpressionStatement","src":"13928:75:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14023:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14034:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14019:3:150"},"nodeType":"YulFunctionCall","src":"14019:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14055:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"14063:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14051:3:150"},"nodeType":"YulFunctionCall","src":"14051:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14045:5:150"},"nodeType":"YulFunctionCall","src":"14045:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"14071:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14041:3:150"},"nodeType":"YulFunctionCall","src":"14041:41:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14012:6:150"},"nodeType":"YulFunctionCall","src":"14012:71:150"},"nodeType":"YulExpressionStatement","src":"14012:71:150"}]},"name":"abi_encode_tuple_t_struct$_RoundCore_$49597_memory_ptr__to_t_struct$_RoundCore_$49597_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13785:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13796:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13807:4:150","type":""}],"src":"13659:430:150"},{"body":{"nodeType":"YulBlock","src":"14193:97:150","statements":[{"nodeType":"YulAssignment","src":"14203:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14215:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14226:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14211:3:150"},"nodeType":"YulFunctionCall","src":"14211:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14203:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14245:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14260:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"14268:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14256:3:150"},"nodeType":"YulFunctionCall","src":"14256:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14238:6:150"},"nodeType":"YulFunctionCall","src":"14238:46:150"},"nodeType":"YulExpressionStatement","src":"14238:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14162:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14173:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14184:4:150","type":""}],"src":"14094:196:150"},{"body":{"nodeType":"YulBlock","src":"14419:102:150","statements":[{"nodeType":"YulAssignment","src":"14429:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14441:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14452:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14437:3:150"},"nodeType":"YulFunctionCall","src":"14437:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14429:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14471:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14486:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14502:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"14507:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14498:3:150"},"nodeType":"YulFunctionCall","src":"14498:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"14511:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14494:3:150"},"nodeType":"YulFunctionCall","src":"14494:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14482:3:150"},"nodeType":"YulFunctionCall","src":"14482:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14464:6:150"},"nodeType":"YulFunctionCall","src":"14464:51:150"},"nodeType":"YulExpressionStatement","src":"14464:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14388:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14399:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14410:4:150","type":""}],"src":"14295:226:150"},{"body":{"nodeType":"YulBlock","src":"14649:135:150","statements":[{"nodeType":"YulAssignment","src":"14659:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14671:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14682:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14667:3:150"},"nodeType":"YulFunctionCall","src":"14667:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14659:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14701:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"14712:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14694:6:150"},"nodeType":"YulFunctionCall","src":"14694:25:150"},"nodeType":"YulExpressionStatement","src":"14694:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14739:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14750:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14735:3:150"},"nodeType":"YulFunctionCall","src":"14735:18:150"},{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"14769:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14762:6:150"},"nodeType":"YulFunctionCall","src":"14762:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14755:6:150"},"nodeType":"YulFunctionCall","src":"14755:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14728:6:150"},"nodeType":"YulFunctionCall","src":"14728:50:150"},"nodeType":"YulExpressionStatement","src":"14728:50:150"}]},"name":"abi_encode_tuple_t_uint256_t_bool__to_t_uint256_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14610:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14621:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14629:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14640:4:150","type":""}],"src":"14526:258:150"},{"body":{"nodeType":"YulBlock","src":"14875:300:150","statements":[{"body":{"nodeType":"YulBlock","src":"14921:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14930:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14933:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14923:6:150"},"nodeType":"YulFunctionCall","src":"14923:12:150"},"nodeType":"YulExpressionStatement","src":"14923:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14896:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14905:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14892:3:150"},"nodeType":"YulFunctionCall","src":"14892:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14917:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14888:3:150"},"nodeType":"YulFunctionCall","src":"14888:32:150"},"nodeType":"YulIf","src":"14885:52:150"},{"nodeType":"YulVariableDeclaration","src":"14946:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14972:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14959:12:150"},"nodeType":"YulFunctionCall","src":"14959:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14950:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15016:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14991:24:150"},"nodeType":"YulFunctionCall","src":"14991:31:150"},"nodeType":"YulExpressionStatement","src":"14991:31:150"},{"nodeType":"YulAssignment","src":"15031:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15041:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15031:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"15055:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15087:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15098:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15083:3:150"},"nodeType":"YulFunctionCall","src":"15083:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15070:12:150"},"nodeType":"YulFunctionCall","src":"15070:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"15059:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15135:7:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"15111:23:150"},"nodeType":"YulFunctionCall","src":"15111:32:150"},"nodeType":"YulExpressionStatement","src":"15111:32:150"},{"nodeType":"YulAssignment","src":"15152:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"15162:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15152:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14833:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14844:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14856:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14864:6:150","type":""}],"src":"14789:386:150"},{"body":{"nodeType":"YulBlock","src":"15273:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"15319:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15328:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15331:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15321:6:150"},"nodeType":"YulFunctionCall","src":"15321:12:150"},"nodeType":"YulExpressionStatement","src":"15321:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15294:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15303:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15290:3:150"},"nodeType":"YulFunctionCall","src":"15290:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15315:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15286:3:150"},"nodeType":"YulFunctionCall","src":"15286:32:150"},"nodeType":"YulIf","src":"15283:52:150"},{"nodeType":"YulVariableDeclaration","src":"15344:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15370:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15357:12:150"},"nodeType":"YulFunctionCall","src":"15357:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15348:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15414:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15389:24:150"},"nodeType":"YulFunctionCall","src":"15389:31:150"},"nodeType":"YulExpressionStatement","src":"15389:31:150"},{"nodeType":"YulAssignment","src":"15429:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15439:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15429:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15239:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15250:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15262:6:150","type":""}],"src":"15180:270:150"},{"body":{"nodeType":"YulBlock","src":"15552:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"15598:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15607:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15610:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15600:6:150"},"nodeType":"YulFunctionCall","src":"15600:12:150"},"nodeType":"YulExpressionStatement","src":"15600:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15573:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15582:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15569:3:150"},"nodeType":"YulFunctionCall","src":"15569:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15594:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15565:3:150"},"nodeType":"YulFunctionCall","src":"15565:32:150"},"nodeType":"YulIf","src":"15562:52:150"},{"nodeType":"YulVariableDeclaration","src":"15623:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15649:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15636:12:150"},"nodeType":"YulFunctionCall","src":"15636:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15627:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15693:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15668:24:150"},"nodeType":"YulFunctionCall","src":"15668:31:150"},"nodeType":"YulExpressionStatement","src":"15668:31:150"},{"nodeType":"YulAssignment","src":"15708:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15718:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15708:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15518:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15529:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15541:6:150","type":""}],"src":"15455:274:150"},{"body":{"nodeType":"YulBlock","src":"15825:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"15871:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15880:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15883:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15873:6:150"},"nodeType":"YulFunctionCall","src":"15873:12:150"},"nodeType":"YulExpressionStatement","src":"15873:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15846:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15855:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15842:3:150"},"nodeType":"YulFunctionCall","src":"15842:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15867:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15838:3:150"},"nodeType":"YulFunctionCall","src":"15838:32:150"},"nodeType":"YulIf","src":"15835:52:150"},{"nodeType":"YulVariableDeclaration","src":"15896:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15922:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15909:12:150"},"nodeType":"YulFunctionCall","src":"15909:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15900:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15966:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15941:24:150"},"nodeType":"YulFunctionCall","src":"15941:31:150"},"nodeType":"YulExpressionStatement","src":"15941:31:150"},{"nodeType":"YulAssignment","src":"15981:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15991:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15981:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IX2EarnApps_$69989","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15791:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15802:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15814:6:150","type":""}],"src":"15734:268:150"},{"body":{"nodeType":"YulBlock","src":"16094:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"16140:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16149:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16152:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16142:6:150"},"nodeType":"YulFunctionCall","src":"16142:12:150"},"nodeType":"YulExpressionStatement","src":"16142:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16115:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16124:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16111:3:150"},"nodeType":"YulFunctionCall","src":"16111:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16136:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16107:3:150"},"nodeType":"YulFunctionCall","src":"16107:32:150"},"nodeType":"YulIf","src":"16104:52:150"},{"nodeType":"YulAssignment","src":"16165:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16188:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16175:12:150"},"nodeType":"YulFunctionCall","src":"16175:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16165:6:150"}]},{"nodeType":"YulAssignment","src":"16207:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16234:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16245:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16230:3:150"},"nodeType":"YulFunctionCall","src":"16230:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16217:12:150"},"nodeType":"YulFunctionCall","src":"16217:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"16207:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16052:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16063:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16075:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16083:6:150","type":""}],"src":"16007:248:150"},{"body":{"nodeType":"YulBlock","src":"16308:115:150","statements":[{"nodeType":"YulAssignment","src":"16318:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16340:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16327:12:150"},"nodeType":"YulFunctionCall","src":"16327:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"16318:5:150"}]},{"body":{"nodeType":"YulBlock","src":"16401:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16410:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16413:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16403:6:150"},"nodeType":"YulFunctionCall","src":"16403:12:150"},"nodeType":"YulExpressionStatement","src":"16403:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16369:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16380:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"16387:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16376:3:150"},"nodeType":"YulFunctionCall","src":"16376:22:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16366:2:150"},"nodeType":"YulFunctionCall","src":"16366:33:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16359:6:150"},"nodeType":"YulFunctionCall","src":"16359:41:150"},"nodeType":"YulIf","src":"16356:61:150"}]},"name":"abi_decode_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"16287:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"16298:5:150","type":""}],"src":"16260:163:150"},{"body":{"nodeType":"YulBlock","src":"16497:115:150","statements":[{"body":{"nodeType":"YulBlock","src":"16543:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16552:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16555:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16545:6:150"},"nodeType":"YulFunctionCall","src":"16545:12:150"},"nodeType":"YulExpressionStatement","src":"16545:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16518:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16527:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16514:3:150"},"nodeType":"YulFunctionCall","src":"16514:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16539:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16510:3:150"},"nodeType":"YulFunctionCall","src":"16510:32:150"},"nodeType":"YulIf","src":"16507:52:150"},{"nodeType":"YulAssignment","src":"16568:38:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16596:9:150"}],"functionName":{"name":"abi_decode_uint32","nodeType":"YulIdentifier","src":"16578:17:150"},"nodeType":"YulFunctionCall","src":"16578:28:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16568:6:150"}]}]},"name":"abi_decode_tuple_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16463:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16474:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16486:6:150","type":""}],"src":"16428:184:150"},{"body":{"nodeType":"YulBlock","src":"16681:673:150","statements":[{"body":{"nodeType":"YulBlock","src":"16730:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16739:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16742:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16732:6:150"},"nodeType":"YulFunctionCall","src":"16732:12:150"},"nodeType":"YulExpressionStatement","src":"16732:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16709:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"16717:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16705:3:150"},"nodeType":"YulFunctionCall","src":"16705:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"16724:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16701:3:150"},"nodeType":"YulFunctionCall","src":"16701:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16694:6:150"},"nodeType":"YulFunctionCall","src":"16694:35:150"},"nodeType":"YulIf","src":"16691:55:150"},{"nodeType":"YulVariableDeclaration","src":"16755:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16778:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16765:12:150"},"nodeType":"YulFunctionCall","src":"16765:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16759:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16794:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16804:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"16798:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16817:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"16884:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"16844:39:150"},"nodeType":"YulFunctionCall","src":"16844:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"16828:15:150"},"nodeType":"YulFunctionCall","src":"16828:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"16821:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16897:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"16910:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"16901:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16929:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16934:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16922:6:150"},"nodeType":"YulFunctionCall","src":"16922:15:150"},"nodeType":"YulExpressionStatement","src":"16922:15:150"},{"nodeType":"YulAssignment","src":"16946:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16957:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"16962:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16953:3:150"},"nodeType":"YulFunctionCall","src":"16953:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"16946:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"16974:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16996:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17008:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"17011:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17004:3:150"},"nodeType":"YulFunctionCall","src":"17004:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16992:3:150"},"nodeType":"YulFunctionCall","src":"16992:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"17017:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16988:3:150"},"nodeType":"YulFunctionCall","src":"16988:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"16978:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17048:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17057:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17060:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17050:6:150"},"nodeType":"YulFunctionCall","src":"17050:12:150"},"nodeType":"YulExpressionStatement","src":"17050:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"17035:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"17043:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17032:2:150"},"nodeType":"YulFunctionCall","src":"17032:15:150"},"nodeType":"YulIf","src":"17029:35:150"},{"nodeType":"YulVariableDeclaration","src":"17073:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17088:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"17096:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17084:3:150"},"nodeType":"YulFunctionCall","src":"17084:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"17077:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17164:161:150","statements":[{"nodeType":"YulVariableDeclaration","src":"17178:30:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"17204:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17191:12:150"},"nodeType":"YulFunctionCall","src":"17191:17:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17182:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17246:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"17221:24:150"},"nodeType":"YulFunctionCall","src":"17221:31:150"},"nodeType":"YulExpressionStatement","src":"17221:31:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"17272:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"17277:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17265:6:150"},"nodeType":"YulFunctionCall","src":"17265:18:150"},"nodeType":"YulExpressionStatement","src":"17265:18:150"},{"nodeType":"YulAssignment","src":"17296:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"17307:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"17312:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17303:3:150"},"nodeType":"YulFunctionCall","src":"17303:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"17296:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"17119:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"17124:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17116:2:150"},"nodeType":"YulFunctionCall","src":"17116:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"17132:23:150","statements":[{"nodeType":"YulAssignment","src":"17134:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"17145:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"17150:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17141:3:150"},"nodeType":"YulFunctionCall","src":"17141:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"17134:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"17112:3:150","statements":[]},"src":"17108:217:150"},{"nodeType":"YulAssignment","src":"17334:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"17343:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"17334:5:150"}]}]},"name":"abi_decode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"16655:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"16663:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"16671:5:150","type":""}],"src":"16617:737:150"},{"body":{"nodeType":"YulBlock","src":"17466:1388:150","statements":[{"body":{"nodeType":"YulBlock","src":"17512:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17521:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17524:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17514:6:150"},"nodeType":"YulFunctionCall","src":"17514:12:150"},"nodeType":"YulExpressionStatement","src":"17514:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17487:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17496:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17483:3:150"},"nodeType":"YulFunctionCall","src":"17483:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"17508:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17479:3:150"},"nodeType":"YulFunctionCall","src":"17479:32:150"},"nodeType":"YulIf","src":"17476:52:150"},{"nodeType":"YulVariableDeclaration","src":"17537:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17564:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17551:12:150"},"nodeType":"YulFunctionCall","src":"17551:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17541:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17583:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17601:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"17605:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17597:3:150"},"nodeType":"YulFunctionCall","src":"17597:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"17609:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17593:3:150"},"nodeType":"YulFunctionCall","src":"17593:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17587:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17638:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17647:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17650:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17640:6:150"},"nodeType":"YulFunctionCall","src":"17640:12:150"},"nodeType":"YulExpressionStatement","src":"17640:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17626:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17634:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17623:2:150"},"nodeType":"YulFunctionCall","src":"17623:14:150"},"nodeType":"YulIf","src":"17620:34:150"},{"nodeType":"YulVariableDeclaration","src":"17663:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17677:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"17688:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17673:3:150"},"nodeType":"YulFunctionCall","src":"17673:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"17667:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17737:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17746:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17749:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17739:6:150"},"nodeType":"YulFunctionCall","src":"17739:12:150"},"nodeType":"YulExpressionStatement","src":"17739:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17715:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"17724:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17711:3:150"},"nodeType":"YulFunctionCall","src":"17711:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"17729:6:150","type":"","value":"0x01a0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17707:3:150"},"nodeType":"YulFunctionCall","src":"17707:29:150"},"nodeType":"YulIf","src":"17704:49:150"},{"nodeType":"YulVariableDeclaration","src":"17762:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_6160","nodeType":"YulIdentifier","src":"17775:20:150"},"nodeType":"YulFunctionCall","src":"17775:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17766:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17813:5:150"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"17839:2:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"17820:18:150"},"nodeType":"YulFunctionCall","src":"17820:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17806:6:150"},"nodeType":"YulFunctionCall","src":"17806:37:150"},"nodeType":"YulExpressionStatement","src":"17806:37:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17863:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"17870:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17859:3:150"},"nodeType":"YulFunctionCall","src":"17859:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"17892:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"17896:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17888:3:150"},"nodeType":"YulFunctionCall","src":"17888:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17875:12:150"},"nodeType":"YulFunctionCall","src":"17875:25:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17852:6:150"},"nodeType":"YulFunctionCall","src":"17852:49:150"},"nodeType":"YulExpressionStatement","src":"17852:49:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17921:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"17928:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17917:3:150"},"nodeType":"YulFunctionCall","src":"17917:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"17955:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"17959:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17951:3:150"},"nodeType":"YulFunctionCall","src":"17951:11:150"}],"functionName":{"name":"abi_decode_uint32","nodeType":"YulIdentifier","src":"17933:17:150"},"nodeType":"YulFunctionCall","src":"17933:30:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17910:6:150"},"nodeType":"YulFunctionCall","src":"17910:54:150"},"nodeType":"YulExpressionStatement","src":"17910:54:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17984:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"17991:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17980:3:150"},"nodeType":"YulFunctionCall","src":"17980:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18019:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"18023:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18015:3:150"},"nodeType":"YulFunctionCall","src":"18015:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"17996:18:150"},"nodeType":"YulFunctionCall","src":"17996:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17973:6:150"},"nodeType":"YulFunctionCall","src":"17973:55:150"},"nodeType":"YulExpressionStatement","src":"17973:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18048:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"18055:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18044:3:150"},"nodeType":"YulFunctionCall","src":"18044:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18084:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"18088:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18080:3:150"},"nodeType":"YulFunctionCall","src":"18080:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"18061:18:150"},"nodeType":"YulFunctionCall","src":"18061:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18037:6:150"},"nodeType":"YulFunctionCall","src":"18037:57:150"},"nodeType":"YulExpressionStatement","src":"18037:57:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18114:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"18121:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18110:3:150"},"nodeType":"YulFunctionCall","src":"18110:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18150:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"18154:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18146:3:150"},"nodeType":"YulFunctionCall","src":"18146:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"18127:18:150"},"nodeType":"YulFunctionCall","src":"18127:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18103:6:150"},"nodeType":"YulFunctionCall","src":"18103:57:150"},"nodeType":"YulExpressionStatement","src":"18103:57:150"},{"nodeType":"YulVariableDeclaration","src":"18169:42:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18202:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"18206:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18198:3:150"},"nodeType":"YulFunctionCall","src":"18198:12:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18185:12:150"},"nodeType":"YulFunctionCall","src":"18185:26:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"18173:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18240:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18249:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18252:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18242:6:150"},"nodeType":"YulFunctionCall","src":"18242:12:150"},"nodeType":"YulExpressionStatement","src":"18242:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"18226:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18236:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18223:2:150"},"nodeType":"YulFunctionCall","src":"18223:16:150"},"nodeType":"YulIf","src":"18220:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18276:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"18283:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18272:3:150"},"nodeType":"YulFunctionCall","src":"18272:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18322:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"18326:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18318:3:150"},"nodeType":"YulFunctionCall","src":"18318:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18337:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"18289:28:150"},"nodeType":"YulFunctionCall","src":"18289:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18265:6:150"},"nodeType":"YulFunctionCall","src":"18265:81:150"},"nodeType":"YulExpressionStatement","src":"18265:81:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18366:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"18373:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18362:3:150"},"nodeType":"YulFunctionCall","src":"18362:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18402:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"18406:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18398:3:150"},"nodeType":"YulFunctionCall","src":"18398:12:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"18379:18:150"},"nodeType":"YulFunctionCall","src":"18379:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18355:6:150"},"nodeType":"YulFunctionCall","src":"18355:57:150"},"nodeType":"YulExpressionStatement","src":"18355:57:150"},{"nodeType":"YulVariableDeclaration","src":"18421:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18431:3:150","type":"","value":"256"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"18425:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18454:5:150"},{"name":"_3","nodeType":"YulIdentifier","src":"18461:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18450:3:150"},"nodeType":"YulFunctionCall","src":"18450:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18489:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"18493:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18485:3:150"},"nodeType":"YulFunctionCall","src":"18485:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"18466:18:150"},"nodeType":"YulFunctionCall","src":"18466:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18443:6:150"},"nodeType":"YulFunctionCall","src":"18443:55:150"},"nodeType":"YulExpressionStatement","src":"18443:55:150"},{"nodeType":"YulVariableDeclaration","src":"18507:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18517:3:150","type":"","value":"288"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"18511:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18540:5:150"},{"name":"_4","nodeType":"YulIdentifier","src":"18547:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18536:3:150"},"nodeType":"YulFunctionCall","src":"18536:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18575:2:150"},{"name":"_4","nodeType":"YulIdentifier","src":"18579:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18571:3:150"},"nodeType":"YulFunctionCall","src":"18571:11:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"18552:18:150"},"nodeType":"YulFunctionCall","src":"18552:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18529:6:150"},"nodeType":"YulFunctionCall","src":"18529:55:150"},"nodeType":"YulExpressionStatement","src":"18529:55:150"},{"nodeType":"YulVariableDeclaration","src":"18593:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18603:3:150","type":"","value":"320"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"18597:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18626:5:150"},{"name":"_5","nodeType":"YulIdentifier","src":"18633:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18622:3:150"},"nodeType":"YulFunctionCall","src":"18622:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18655:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"18659:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18651:3:150"},"nodeType":"YulFunctionCall","src":"18651:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18638:12:150"},"nodeType":"YulFunctionCall","src":"18638:25:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18615:6:150"},"nodeType":"YulFunctionCall","src":"18615:49:150"},"nodeType":"YulExpressionStatement","src":"18615:49:150"},{"nodeType":"YulVariableDeclaration","src":"18673:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18683:3:150","type":"","value":"352"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"18677:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18706:5:150"},{"name":"_6","nodeType":"YulIdentifier","src":"18713:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18702:3:150"},"nodeType":"YulFunctionCall","src":"18702:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18735:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"18739:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18731:3:150"},"nodeType":"YulFunctionCall","src":"18731:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18718:12:150"},"nodeType":"YulFunctionCall","src":"18718:25:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18695:6:150"},"nodeType":"YulFunctionCall","src":"18695:49:150"},"nodeType":"YulExpressionStatement","src":"18695:49:150"},{"nodeType":"YulVariableDeclaration","src":"18753:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18763:3:150","type":"","value":"384"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"18757:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18786:5:150"},{"name":"_7","nodeType":"YulIdentifier","src":"18793:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18782:3:150"},"nodeType":"YulFunctionCall","src":"18782:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18815:2:150"},{"name":"_7","nodeType":"YulIdentifier","src":"18819:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18811:3:150"},"nodeType":"YulFunctionCall","src":"18811:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18798:12:150"},"nodeType":"YulFunctionCall","src":"18798:25:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18775:6:150"},"nodeType":"YulFunctionCall","src":"18775:49:150"},"nodeType":"YulExpressionStatement","src":"18775:49:150"},{"nodeType":"YulAssignment","src":"18833:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"18843:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"18833:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_InitializationData_$45129_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17432:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17443:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17455:6:150","type":""}],"src":"17359:1495:150"},{"body":{"nodeType":"YulBlock","src":"18977:102:150","statements":[{"nodeType":"YulAssignment","src":"18987:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18999:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19010:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18995:3:150"},"nodeType":"YulFunctionCall","src":"18995:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18987:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19029:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19044:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19060:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"19065:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19056:3:150"},"nodeType":"YulFunctionCall","src":"19056:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"19069:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19052:3:150"},"nodeType":"YulFunctionCall","src":"19052:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19040:3:150"},"nodeType":"YulFunctionCall","src":"19040:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19022:6:150"},"nodeType":"YulFunctionCall","src":"19022:51:150"},"nodeType":"YulExpressionStatement","src":"19022:51:150"}]},"name":"abi_encode_tuple_t_contract$_IERC5805_$4537__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18946:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18957:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18968:4:150","type":""}],"src":"18859:220:150"},{"body":{"nodeType":"YulBlock","src":"19139:325:150","statements":[{"nodeType":"YulAssignment","src":"19149:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19163:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"19166:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"19159:3:150"},"nodeType":"YulFunctionCall","src":"19159:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"19149:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"19180:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"19210:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"19216:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19206:3:150"},"nodeType":"YulFunctionCall","src":"19206:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"19184:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19257:31:150","statements":[{"nodeType":"YulAssignment","src":"19259:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19273:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"19281:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19269:3:150"},"nodeType":"YulFunctionCall","src":"19269:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"19259:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"19237:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19230:6:150"},"nodeType":"YulFunctionCall","src":"19230:26:150"},"nodeType":"YulIf","src":"19227:61:150"},{"body":{"nodeType":"YulBlock","src":"19347:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19368:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19375:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"19380:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19371:3:150"},"nodeType":"YulFunctionCall","src":"19371:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19361:6:150"},"nodeType":"YulFunctionCall","src":"19361:31:150"},"nodeType":"YulExpressionStatement","src":"19361:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19412:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19415:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19405:6:150"},"nodeType":"YulFunctionCall","src":"19405:15:150"},"nodeType":"YulExpressionStatement","src":"19405:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19440:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19443:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19433:6:150"},"nodeType":"YulFunctionCall","src":"19433:15:150"},"nodeType":"YulExpressionStatement","src":"19433:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"19303:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19326:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"19334:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"19323:2:150"},"nodeType":"YulFunctionCall","src":"19323:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19300:2:150"},"nodeType":"YulFunctionCall","src":"19300:38:150"},"nodeType":"YulIf","src":"19297:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"19119:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"19128:6:150","type":""}],"src":"19084:380:150"},{"body":{"nodeType":"YulBlock","src":"19501:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19518:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19525:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"19530:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19521:3:150"},"nodeType":"YulFunctionCall","src":"19521:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19511:6:150"},"nodeType":"YulFunctionCall","src":"19511:31:150"},"nodeType":"YulExpressionStatement","src":"19511:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19558:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19561:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19551:6:150"},"nodeType":"YulFunctionCall","src":"19551:15:150"},"nodeType":"YulExpressionStatement","src":"19551:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19582:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19585:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19575:6:150"},"nodeType":"YulFunctionCall","src":"19575:15:150"},"nodeType":"YulExpressionStatement","src":"19575:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"19469:127:150"},{"body":{"nodeType":"YulBlock","src":"19661:78:150","statements":[{"nodeType":"YulAssignment","src":"19671:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19686:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19680:5:150"},"nodeType":"YulFunctionCall","src":"19680:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"19671:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19727:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"19702:24:150"},"nodeType":"YulFunctionCall","src":"19702:31:150"},"nodeType":"YulExpressionStatement","src":"19702:31:150"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"19640:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"19651:5:150","type":""}],"src":"19601:138:150"},{"body":{"nodeType":"YulBlock","src":"19808:378:150","statements":[{"body":{"nodeType":"YulBlock","src":"19857:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19866:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19869:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19859:6:150"},"nodeType":"YulFunctionCall","src":"19859:12:150"},"nodeType":"YulExpressionStatement","src":"19859:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19836:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"19844:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19832:3:150"},"nodeType":"YulFunctionCall","src":"19832:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"19851:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19828:3:150"},"nodeType":"YulFunctionCall","src":"19828:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19821:6:150"},"nodeType":"YulFunctionCall","src":"19821:35:150"},"nodeType":"YulIf","src":"19818:55:150"},{"nodeType":"YulVariableDeclaration","src":"19882:23:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19898:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19892:5:150"},"nodeType":"YulFunctionCall","src":"19892:13:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"19886:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"19914:63:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"19973:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"19945:27:150"},"nodeType":"YulFunctionCall","src":"19945:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"19929:15:150"},"nodeType":"YulFunctionCall","src":"19929:48:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"19918:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"19993:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20002:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19986:6:150"},"nodeType":"YulFunctionCall","src":"19986:19:150"},"nodeType":"YulExpressionStatement","src":"19986:19:150"},{"body":{"nodeType":"YulBlock","src":"20053:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20062:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20065:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20055:6:150"},"nodeType":"YulFunctionCall","src":"20055:12:150"},"nodeType":"YulExpressionStatement","src":"20055:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20028:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20036:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20024:3:150"},"nodeType":"YulFunctionCall","src":"20024:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"20041:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20020:3:150"},"nodeType":"YulFunctionCall","src":"20020:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"20048:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20017:2:150"},"nodeType":"YulFunctionCall","src":"20017:35:150"},"nodeType":"YulIf","src":"20014:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20117:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"20125:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20113:3:150"},"nodeType":"YulFunctionCall","src":"20113:17:150"},{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"20136:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"20145:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20132:3:150"},"nodeType":"YulFunctionCall","src":"20132:18:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20152:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"20078:34:150"},"nodeType":"YulFunctionCall","src":"20078:77:150"},"nodeType":"YulExpressionStatement","src":"20078:77:150"},{"nodeType":"YulAssignment","src":"20164:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"20173:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"20164:5:150"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"19782:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"19790:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"19798:5:150","type":""}],"src":"19744:442:150"},{"body":{"nodeType":"YulBlock","src":"20248:107:150","statements":[{"nodeType":"YulAssignment","src":"20258:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20273:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20267:5:150"},"nodeType":"YulFunctionCall","src":"20267:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"20258:5:150"}]},{"body":{"nodeType":"YulBlock","src":"20333:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20342:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20345:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20335:6:150"},"nodeType":"YulFunctionCall","src":"20335:12:150"},"nodeType":"YulExpressionStatement","src":"20335:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20302:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20323:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20316:6:150"},"nodeType":"YulFunctionCall","src":"20316:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20309:6:150"},"nodeType":"YulFunctionCall","src":"20309:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"20299:2:150"},"nodeType":"YulFunctionCall","src":"20299:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20292:6:150"},"nodeType":"YulFunctionCall","src":"20292:40:150"},"nodeType":"YulIf","src":"20289:60:150"}]},"name":"abi_decode_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"20227:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"20238:5:150","type":""}],"src":"20191:164:150"},{"body":{"nodeType":"YulBlock","src":"20484:941:150","statements":[{"body":{"nodeType":"YulBlock","src":"20530:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20539:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20542:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20532:6:150"},"nodeType":"YulFunctionCall","src":"20532:12:150"},"nodeType":"YulExpressionStatement","src":"20532:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20505:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20514:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20501:3:150"},"nodeType":"YulFunctionCall","src":"20501:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20526:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20497:3:150"},"nodeType":"YulFunctionCall","src":"20497:32:150"},"nodeType":"YulIf","src":"20494:52:150"},{"nodeType":"YulVariableDeclaration","src":"20555:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20575:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20569:5:150"},"nodeType":"YulFunctionCall","src":"20569:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"20559:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20594:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20612:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"20616:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20608:3:150"},"nodeType":"YulFunctionCall","src":"20608:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"20620:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20604:3:150"},"nodeType":"YulFunctionCall","src":"20604:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"20598:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"20649:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20658:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20661:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20651:6:150"},"nodeType":"YulFunctionCall","src":"20651:12:150"},"nodeType":"YulExpressionStatement","src":"20651:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"20637:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20645:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20634:2:150"},"nodeType":"YulFunctionCall","src":"20634:14:150"},"nodeType":"YulIf","src":"20631:34:150"},{"nodeType":"YulVariableDeclaration","src":"20674:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20688:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"20699:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20684:3:150"},"nodeType":"YulFunctionCall","src":"20684:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"20678:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"20746:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20755:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20758:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20748:6:150"},"nodeType":"YulFunctionCall","src":"20748:12:150"},"nodeType":"YulExpressionStatement","src":"20748:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20726:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"20735:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20722:3:150"},"nodeType":"YulFunctionCall","src":"20722:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"20740:4:150","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20718:3:150"},"nodeType":"YulFunctionCall","src":"20718:27:150"},"nodeType":"YulIf","src":"20715:47:150"},{"nodeType":"YulVariableDeclaration","src":"20771:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_6162","nodeType":"YulIdentifier","src":"20784:20:150"},"nodeType":"YulFunctionCall","src":"20784:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"20775:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20822:5:150"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"20835:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20829:5:150"},"nodeType":"YulFunctionCall","src":"20829:9:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20815:6:150"},"nodeType":"YulFunctionCall","src":"20815:24:150"},"nodeType":"YulExpressionStatement","src":"20815:24:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"20859:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"20866:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20855:3:150"},"nodeType":"YulFunctionCall","src":"20855:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"20905:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"20909:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20901:3:150"},"nodeType":"YulFunctionCall","src":"20901:11:150"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"20871:29:150"},"nodeType":"YulFunctionCall","src":"20871:42:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20848:6:150"},"nodeType":"YulFunctionCall","src":"20848:66:150"},"nodeType":"YulExpressionStatement","src":"20848:66:150"},{"nodeType":"YulVariableDeclaration","src":"20923:34:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"20949:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"20953:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20945:3:150"},"nodeType":"YulFunctionCall","src":"20945:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20939:5:150"},"nodeType":"YulFunctionCall","src":"20939:18:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"20927:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"20986:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20995:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20998:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20988:6:150"},"nodeType":"YulFunctionCall","src":"20988:12:150"},"nodeType":"YulExpressionStatement","src":"20988:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"20972:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20982:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20969:2:150"},"nodeType":"YulFunctionCall","src":"20969:16:150"},"nodeType":"YulIf","src":"20966:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21022:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"21029:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21018:3:150"},"nodeType":"YulFunctionCall","src":"21018:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"21067:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"21071:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21063:3:150"},"nodeType":"YulFunctionCall","src":"21063:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"21082:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"21034:28:150"},"nodeType":"YulFunctionCall","src":"21034:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21011:6:150"},"nodeType":"YulFunctionCall","src":"21011:80:150"},"nodeType":"YulExpressionStatement","src":"21011:80:150"},{"nodeType":"YulVariableDeclaration","src":"21100:34:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"21126:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"21130:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21122:3:150"},"nodeType":"YulFunctionCall","src":"21122:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21116:5:150"},"nodeType":"YulFunctionCall","src":"21116:18:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"21104:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"21163:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21172:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21175:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21165:6:150"},"nodeType":"YulFunctionCall","src":"21165:12:150"},"nodeType":"YulExpressionStatement","src":"21165:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"21149:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"21159:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21146:2:150"},"nodeType":"YulFunctionCall","src":"21146:16:150"},"nodeType":"YulIf","src":"21143:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21199:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"21206:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21195:3:150"},"nodeType":"YulFunctionCall","src":"21195:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"21244:2:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"21248:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21240:3:150"},"nodeType":"YulFunctionCall","src":"21240:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"21259:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"21211:28:150"},"nodeType":"YulFunctionCall","src":"21211:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21188:6:150"},"nodeType":"YulFunctionCall","src":"21188:80:150"},"nodeType":"YulExpressionStatement","src":"21188:80:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21288:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"21295:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21284:3:150"},"nodeType":"YulFunctionCall","src":"21284:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"21311:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"21315:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21307:3:150"},"nodeType":"YulFunctionCall","src":"21307:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21301:5:150"},"nodeType":"YulFunctionCall","src":"21301:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21277:6:150"},"nodeType":"YulFunctionCall","src":"21277:44:150"},"nodeType":"YulExpressionStatement","src":"21277:44:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21341:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"21348:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21337:3:150"},"nodeType":"YulFunctionCall","src":"21337:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"21385:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"21389:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21381:3:150"},"nodeType":"YulFunctionCall","src":"21381:12:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"21354:26:150"},"nodeType":"YulFunctionCall","src":"21354:40:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21330:6:150"},"nodeType":"YulFunctionCall","src":"21330:65:150"},"nodeType":"YulExpressionStatement","src":"21330:65:150"},{"nodeType":"YulAssignment","src":"21404:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21414:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21404:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20450:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20461:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20473:6:150","type":""}],"src":"20360:1065:150"},{"body":{"nodeType":"YulBlock","src":"21462:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21479:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21486:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"21491:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21482:3:150"},"nodeType":"YulFunctionCall","src":"21482:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21472:6:150"},"nodeType":"YulFunctionCall","src":"21472:31:150"},"nodeType":"YulExpressionStatement","src":"21472:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21519:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"21522:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21512:6:150"},"nodeType":"YulFunctionCall","src":"21512:15:150"},"nodeType":"YulExpressionStatement","src":"21512:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21543:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21546:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21536:6:150"},"nodeType":"YulFunctionCall","src":"21536:15:150"},"nodeType":"YulExpressionStatement","src":"21536:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"21430:127:150"},{"body":{"nodeType":"YulBlock","src":"21609:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"21640:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21642:16:150"},"nodeType":"YulFunctionCall","src":"21642:18:150"},"nodeType":"YulExpressionStatement","src":"21642:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21625:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21636:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21632:3:150"},"nodeType":"YulFunctionCall","src":"21632:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"21622:2:150"},"nodeType":"YulFunctionCall","src":"21622:17:150"},"nodeType":"YulIf","src":"21619:43:150"},{"nodeType":"YulAssignment","src":"21671:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21682:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"21689:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21678:3:150"},"nodeType":"YulFunctionCall","src":"21678:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"21671:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"21591:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"21601:3:150","type":""}],"src":"21562:135:150"},{"body":{"nodeType":"YulBlock","src":"21876:239:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21893:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21904:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21886:6:150"},"nodeType":"YulFunctionCall","src":"21886:21:150"},"nodeType":"YulExpressionStatement","src":"21886:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21927:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21938:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21923:3:150"},"nodeType":"YulFunctionCall","src":"21923:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"21943:2:150","type":"","value":"49"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21916:6:150"},"nodeType":"YulFunctionCall","src":"21916:30:150"},"nodeType":"YulExpressionStatement","src":"21916:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21966:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21977:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21962:3:150"},"nodeType":"YulFunctionCall","src":"21962:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64","kind":"string","nodeType":"YulLiteral","src":"21982:34:150","type":"","value":"XAllocationVotingGovernor: round"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21955:6:150"},"nodeType":"YulFunctionCall","src":"21955:62:150"},"nodeType":"YulExpressionStatement","src":"21955:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22037:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22048:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22033:3:150"},"nodeType":"YulFunctionCall","src":"22033:18:150"},{"hexValue":"206973206e6f7420656e64656420796574","kind":"string","nodeType":"YulLiteral","src":"22053:19:150","type":"","value":" is not ended yet"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22026:6:150"},"nodeType":"YulFunctionCall","src":"22026:47:150"},"nodeType":"YulExpressionStatement","src":"22026:47:150"},{"nodeType":"YulAssignment","src":"22082:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22094:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22105:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22090:3:150"},"nodeType":"YulFunctionCall","src":"22090:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22082:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21853:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21867:4:150","type":""}],"src":"21702:413:150"},{"body":{"nodeType":"YulBlock","src":"22169:79:150","statements":[{"nodeType":"YulAssignment","src":"22179:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22191:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"22194:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22187:3:150"},"nodeType":"YulFunctionCall","src":"22187:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"22179:4:150"}]},{"body":{"nodeType":"YulBlock","src":"22220:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22222:16:150"},"nodeType":"YulFunctionCall","src":"22222:18:150"},"nodeType":"YulExpressionStatement","src":"22222:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"22211:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"22217:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22208:2:150"},"nodeType":"YulFunctionCall","src":"22208:11:150"},"nodeType":"YulIf","src":"22205:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22151:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"22154:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"22160:4:150","type":""}],"src":"22120:128:150"},{"body":{"nodeType":"YulBlock","src":"22344:246:150","statements":[{"body":{"nodeType":"YulBlock","src":"22390:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22399:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22402:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22392:6:150"},"nodeType":"YulFunctionCall","src":"22392:12:150"},"nodeType":"YulExpressionStatement","src":"22392:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22365:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22374:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22361:3:150"},"nodeType":"YulFunctionCall","src":"22361:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22386:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22357:3:150"},"nodeType":"YulFunctionCall","src":"22357:32:150"},"nodeType":"YulIf","src":"22354:52:150"},{"nodeType":"YulVariableDeclaration","src":"22415:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22435:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22429:5:150"},"nodeType":"YulFunctionCall","src":"22429:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"22419:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22488:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22497:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22500:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22490:6:150"},"nodeType":"YulFunctionCall","src":"22490:12:150"},"nodeType":"YulExpressionStatement","src":"22490:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22460:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22476:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"22480:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22472:3:150"},"nodeType":"YulFunctionCall","src":"22472:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"22484:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22468:3:150"},"nodeType":"YulFunctionCall","src":"22468:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22457:2:150"},"nodeType":"YulFunctionCall","src":"22457:30:150"},"nodeType":"YulIf","src":"22454:50:150"},{"nodeType":"YulAssignment","src":"22513:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22556:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"22567:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22552:3:150"},"nodeType":"YulFunctionCall","src":"22552:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22576:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"22523:28:150"},"nodeType":"YulFunctionCall","src":"22523:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22513:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22310:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22321:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22333:6:150","type":""}],"src":"22253:337:150"},{"body":{"nodeType":"YulBlock","src":"22643:77:150","statements":[{"nodeType":"YulAssignment","src":"22653:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22664:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"22667:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22660:3:150"},"nodeType":"YulFunctionCall","src":"22660:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"22653:3:150"}]},{"body":{"nodeType":"YulBlock","src":"22692:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22694:16:150"},"nodeType":"YulFunctionCall","src":"22694:18:150"},"nodeType":"YulExpressionStatement","src":"22694:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22684:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"22687:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22681:2:150"},"nodeType":"YulFunctionCall","src":"22681:10:150"},"nodeType":"YulIf","src":"22678:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22626:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"22629:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"22635:3:150","type":""}],"src":"22595:125:150"},{"body":{"nodeType":"YulBlock","src":"22899:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22916:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22927:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22909:6:150"},"nodeType":"YulFunctionCall","src":"22909:21:150"},"nodeType":"YulExpressionStatement","src":"22909:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22950:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22961:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22946:3:150"},"nodeType":"YulFunctionCall","src":"22946:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"22966:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22939:6:150"},"nodeType":"YulFunctionCall","src":"22939:30:150"},"nodeType":"YulExpressionStatement","src":"22939:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22989:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23000:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22985:3:150"},"nodeType":"YulFunctionCall","src":"22985:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206170707320","kind":"string","nodeType":"YulLiteral","src":"23005:34:150","type":"","value":"XAllocationVotingGovernor: apps "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22978:6:150"},"nodeType":"YulFunctionCall","src":"22978:62:150"},"nodeType":"YulExpressionStatement","src":"22978:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23060:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23071:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23056:3:150"},"nodeType":"YulFunctionCall","src":"23056:18:150"},{"hexValue":"616e642077656967687473206c656e677468206d69736d61746368","kind":"string","nodeType":"YulLiteral","src":"23076:29:150","type":"","value":"and weights length mismatch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23049:6:150"},"nodeType":"YulFunctionCall","src":"23049:57:150"},"nodeType":"YulExpressionStatement","src":"23049:57:150"},{"nodeType":"YulAssignment","src":"23115:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23127:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23138:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23123:3:150"},"nodeType":"YulFunctionCall","src":"23123:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23115:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22876:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22890:4:150","type":""}],"src":"22725:423:150"},{"body":{"nodeType":"YulBlock","src":"23327:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23344:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23355:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23337:6:150"},"nodeType":"YulFunctionCall","src":"23337:21:150"},"nodeType":"YulExpressionStatement","src":"23337:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23378:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23389:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23374:3:150"},"nodeType":"YulFunctionCall","src":"23374:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"23394:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23367:6:150"},"nodeType":"YulFunctionCall","src":"23367:30:150"},"nodeType":"YulExpressionStatement","src":"23367:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23417:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23428:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23413:3:150"},"nodeType":"YulFunctionCall","src":"23413:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f206170","kind":"string","nodeType":"YulLiteral","src":"23433:34:150","type":"","value":"XAllocationVotingGovernor: no ap"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23406:6:150"},"nodeType":"YulFunctionCall","src":"23406:62:150"},"nodeType":"YulExpressionStatement","src":"23406:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23488:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23499:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23484:3:150"},"nodeType":"YulFunctionCall","src":"23484:18:150"},{"hexValue":"707320746f20766f746520666f72","kind":"string","nodeType":"YulLiteral","src":"23504:16:150","type":"","value":"ps to vote for"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23477:6:150"},"nodeType":"YulFunctionCall","src":"23477:44:150"},"nodeType":"YulExpressionStatement","src":"23477:44:150"},{"nodeType":"YulAssignment","src":"23530:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23542:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23553:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23538:3:150"},"nodeType":"YulFunctionCall","src":"23538:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23530:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23304:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23318:4:150","type":""}],"src":"23153:410:150"},{"body":{"nodeType":"YulBlock","src":"23695:166:150","statements":[{"nodeType":"YulAssignment","src":"23705:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23717:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23728:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23713:3:150"},"nodeType":"YulFunctionCall","src":"23713:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23705:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23747:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23762:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23778:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23783:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23774:3:150"},"nodeType":"YulFunctionCall","src":"23774:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23787:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23770:3:150"},"nodeType":"YulFunctionCall","src":"23770:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23758:3:150"},"nodeType":"YulFunctionCall","src":"23758:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23740:6:150"},"nodeType":"YulFunctionCall","src":"23740:51:150"},"nodeType":"YulExpressionStatement","src":"23740:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23811:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23822:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23807:3:150"},"nodeType":"YulFunctionCall","src":"23807:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23831:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"23839:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23827:3:150"},"nodeType":"YulFunctionCall","src":"23827:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23800:6:150"},"nodeType":"YulFunctionCall","src":"23800:55:150"},"nodeType":"YulExpressionStatement","src":"23800:55:150"}]},"name":"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23656:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23667:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23675:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23686:4:150","type":""}],"src":"23568:293:150"},{"body":{"nodeType":"YulBlock","src":"23944:124:150","statements":[{"body":{"nodeType":"YulBlock","src":"23990:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23999:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24002:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23992:6:150"},"nodeType":"YulFunctionCall","src":"23992:12:150"},"nodeType":"YulExpressionStatement","src":"23992:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23965:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23974:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23961:3:150"},"nodeType":"YulFunctionCall","src":"23961:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23986:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23957:3:150"},"nodeType":"YulFunctionCall","src":"23957:32:150"},"nodeType":"YulIf","src":"23954:52:150"},{"nodeType":"YulAssignment","src":"24015:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24052:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"24025:26:150"},"nodeType":"YulFunctionCall","src":"24025:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24015:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23910:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23921:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23933:6:150","type":""}],"src":"23866:202:150"},{"body":{"nodeType":"YulBlock","src":"24154:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"24200:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24209:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24212:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24202:6:150"},"nodeType":"YulFunctionCall","src":"24202:12:150"},"nodeType":"YulExpressionStatement","src":"24202:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24175:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24184:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24171:3:150"},"nodeType":"YulFunctionCall","src":"24171:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24196:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24167:3:150"},"nodeType":"YulFunctionCall","src":"24167:32:150"},"nodeType":"YulIf","src":"24164:52:150"},{"nodeType":"YulAssignment","src":"24225:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24241:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24235:5:150"},"nodeType":"YulFunctionCall","src":"24235:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24225:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24120:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24131:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24143:6:150","type":""}],"src":"24073:184:150"},{"body":{"nodeType":"YulBlock","src":"24342:169:150","statements":[{"body":{"nodeType":"YulBlock","src":"24388:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24397:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24400:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24390:6:150"},"nodeType":"YulFunctionCall","src":"24390:12:150"},"nodeType":"YulExpressionStatement","src":"24390:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24363:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24372:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24359:3:150"},"nodeType":"YulFunctionCall","src":"24359:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24384:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24355:3:150"},"nodeType":"YulFunctionCall","src":"24355:32:150"},"nodeType":"YulIf","src":"24352:52:150"},{"nodeType":"YulVariableDeclaration","src":"24413:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24432:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24426:5:150"},"nodeType":"YulFunctionCall","src":"24426:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"24417:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24475:5:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"24451:23:150"},"nodeType":"YulFunctionCall","src":"24451:30:150"},"nodeType":"YulExpressionStatement","src":"24451:30:150"},{"nodeType":"YulAssignment","src":"24490:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"24500:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24490:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24308:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24319:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24331:6:150","type":""}],"src":"24262:249:150"},{"body":{"nodeType":"YulBlock","src":"24645:145:150","statements":[{"nodeType":"YulAssignment","src":"24655:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24667:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24678:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24663:3:150"},"nodeType":"YulFunctionCall","src":"24663:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24655:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24697:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24712:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24728:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"24733:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"24724:3:150"},"nodeType":"YulFunctionCall","src":"24724:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"24737:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24720:3:150"},"nodeType":"YulFunctionCall","src":"24720:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24708:3:150"},"nodeType":"YulFunctionCall","src":"24708:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24690:6:150"},"nodeType":"YulFunctionCall","src":"24690:51:150"},"nodeType":"YulExpressionStatement","src":"24690:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24761:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24772:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24757:3:150"},"nodeType":"YulFunctionCall","src":"24757:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"24777:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24750:6:150"},"nodeType":"YulFunctionCall","src":"24750:34:150"},"nodeType":"YulExpressionStatement","src":"24750:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24606:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24617:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24625:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24636:4:150","type":""}],"src":"24516:274:150"},{"body":{"nodeType":"YulBlock","src":"24900:311:150","statements":[{"body":{"nodeType":"YulBlock","src":"24946:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24955:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24958:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24948:6:150"},"nodeType":"YulFunctionCall","src":"24948:12:150"},"nodeType":"YulExpressionStatement","src":"24948:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24921:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24930:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24917:3:150"},"nodeType":"YulFunctionCall","src":"24917:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24942:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24913:3:150"},"nodeType":"YulFunctionCall","src":"24913:32:150"},"nodeType":"YulIf","src":"24910:52:150"},{"nodeType":"YulAssignment","src":"24971:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25008:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"24981:26:150"},"nodeType":"YulFunctionCall","src":"24981:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24971:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"25027:39:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25051:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25062:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25047:3:150"},"nodeType":"YulFunctionCall","src":"25047:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25041:5:150"},"nodeType":"YulFunctionCall","src":"25041:25:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"25031:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"25109:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25118:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25121:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25111:6:150"},"nodeType":"YulFunctionCall","src":"25111:12:150"},"nodeType":"YulExpressionStatement","src":"25111:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"25081:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25097:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"25101:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25093:3:150"},"nodeType":"YulFunctionCall","src":"25093:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"25105:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25089:3:150"},"nodeType":"YulFunctionCall","src":"25089:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"25078:2:150"},"nodeType":"YulFunctionCall","src":"25078:30:150"},"nodeType":"YulIf","src":"25075:50:150"},{"nodeType":"YulAssignment","src":"25134:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25177:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"25188:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25173:3:150"},"nodeType":"YulFunctionCall","src":"25173:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"25197:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"25144:28:150"},"nodeType":"YulFunctionCall","src":"25144:61:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"25134:6:150"}]}]},"name":"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24858:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24869:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24881:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24889:6:150","type":""}],"src":"24795:416:150"},{"body":{"nodeType":"YulBlock","src":"25353:119:150","statements":[{"nodeType":"YulAssignment","src":"25363:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25375:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25386:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25371:3:150"},"nodeType":"YulFunctionCall","src":"25371:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25363:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25405:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"25416:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25398:6:150"},"nodeType":"YulFunctionCall","src":"25398:25:150"},"nodeType":"YulExpressionStatement","src":"25398:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25443:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25454:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25439:3:150"},"nodeType":"YulFunctionCall","src":"25439:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"25459:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25432:6:150"},"nodeType":"YulFunctionCall","src":"25432:34:150"},"nodeType":"YulExpressionStatement","src":"25432:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25314:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25325:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25333:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25344:4:150","type":""}],"src":"25216:256:150"},{"body":{"nodeType":"YulBlock","src":"25628:178:150","statements":[{"nodeType":"YulAssignment","src":"25638:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25650:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25661:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25646:3:150"},"nodeType":"YulFunctionCall","src":"25646:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25638:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25680:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25705:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25698:6:150"},"nodeType":"YulFunctionCall","src":"25698:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25691:6:150"},"nodeType":"YulFunctionCall","src":"25691:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25673:6:150"},"nodeType":"YulFunctionCall","src":"25673:41:150"},"nodeType":"YulExpressionStatement","src":"25673:41:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25734:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25745:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25730:3:150"},"nodeType":"YulFunctionCall","src":"25730:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"25750:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25723:6:150"},"nodeType":"YulFunctionCall","src":"25723:34:150"},"nodeType":"YulExpressionStatement","src":"25723:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25777:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25788:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25773:3:150"},"nodeType":"YulFunctionCall","src":"25773:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"25793:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25766:6:150"},"nodeType":"YulFunctionCall","src":"25766:34:150"},"nodeType":"YulExpressionStatement","src":"25766:34:150"}]},"name":"abi_encode_tuple_t_bool_t_uint256_t_uint256__to_t_bool_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25581:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"25592:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25600:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25608:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25619:4:150","type":""}],"src":"25477:329:150"},{"body":{"nodeType":"YulBlock","src":"25960:168:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25977:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25992:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26008:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"26013:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26004:3:150"},"nodeType":"YulFunctionCall","src":"26004:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"26017:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26000:3:150"},"nodeType":"YulFunctionCall","src":"26000:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25988:3:150"},"nodeType":"YulFunctionCall","src":"25988:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25970:6:150"},"nodeType":"YulFunctionCall","src":"25970:51:150"},"nodeType":"YulExpressionStatement","src":"25970:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26041:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26052:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26037:3:150"},"nodeType":"YulFunctionCall","src":"26037:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"26057:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26030:6:150"},"nodeType":"YulFunctionCall","src":"26030:30:150"},"nodeType":"YulExpressionStatement","src":"26030:30:150"},{"nodeType":"YulAssignment","src":"26069:53:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"26095:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26107:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26118:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26103:3:150"},"nodeType":"YulFunctionCall","src":"26103:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"26077:17:150"},"nodeType":"YulFunctionCall","src":"26077:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26069:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25921:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25932:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25940:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25951:4:150","type":""}],"src":"25811:317:150"},{"body":{"nodeType":"YulBlock","src":"26180:129:150","statements":[{"nodeType":"YulVariableDeclaration","src":"26190:24:150","value":{"kind":"number","nodeType":"YulLiteral","src":"26200:14:150","type":"","value":"0xffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"26194:2:150","type":""}]},{"nodeType":"YulAssignment","src":"26223:34:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"26238:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26241:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26234:3:150"},"nodeType":"YulFunctionCall","src":"26234:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"26250:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26253:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26246:3:150"},"nodeType":"YulFunctionCall","src":"26246:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26230:3:150"},"nodeType":"YulFunctionCall","src":"26230:27:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"26223:3:150"}]},{"body":{"nodeType":"YulBlock","src":"26281:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"26283:16:150"},"nodeType":"YulFunctionCall","src":"26283:18:150"},"nodeType":"YulExpressionStatement","src":"26283:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"26272:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26277:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26269:2:150"},"nodeType":"YulFunctionCall","src":"26269:11:150"},"nodeType":"YulIf","src":"26266:37:150"}]},"name":"checked_add_t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"26163:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"26166:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"26172:3:150","type":""}],"src":"26133:176:150"},{"body":{"nodeType":"YulBlock","src":"26443:119:150","statements":[{"nodeType":"YulAssignment","src":"26453:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26465:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26476:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26461:3:150"},"nodeType":"YulFunctionCall","src":"26461:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26453:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26495:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"26506:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26488:6:150"},"nodeType":"YulFunctionCall","src":"26488:25:150"},"nodeType":"YulExpressionStatement","src":"26488:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26533:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26544:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26529:3:150"},"nodeType":"YulFunctionCall","src":"26529:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"26549:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26522:6:150"},"nodeType":"YulFunctionCall","src":"26522:34:150"},"nodeType":"YulExpressionStatement","src":"26522:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26404:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26415:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26423:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26434:4:150","type":""}],"src":"26314:248:150"},{"body":{"nodeType":"YulBlock","src":"26741:235:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26758:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26769:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26751:6:150"},"nodeType":"YulFunctionCall","src":"26751:21:150"},"nodeType":"YulExpressionStatement","src":"26751:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26792:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26803:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26788:3:150"},"nodeType":"YulFunctionCall","src":"26788:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"26808:2:150","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26781:6:150"},"nodeType":"YulFunctionCall","src":"26781:30:150"},"nodeType":"YulExpressionStatement","src":"26781:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26842:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26827:3:150"},"nodeType":"YulFunctionCall","src":"26827:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420564f543320","kind":"string","nodeType":"YulLiteral","src":"26847:34:150","type":"","value":"XAllocationVoting: invalid VOT3 "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26820:6:150"},"nodeType":"YulFunctionCall","src":"26820:62:150"},"nodeType":"YulExpressionStatement","src":"26820:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26902:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26913:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26898:3:150"},"nodeType":"YulFunctionCall","src":"26898:18:150"},{"hexValue":"746f6b656e2061646472657373","kind":"string","nodeType":"YulLiteral","src":"26918:15:150","type":"","value":"token address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26891:6:150"},"nodeType":"YulFunctionCall","src":"26891:43:150"},"nodeType":"YulExpressionStatement","src":"26891:43:150"},{"nodeType":"YulAssignment","src":"26943:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26955:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26966:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26951:3:150"},"nodeType":"YulFunctionCall","src":"26951:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26943:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26718:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26732:4:150","type":""}],"src":"26567:409:150"},{"body":{"nodeType":"YulBlock","src":"27155:237:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27172:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27183:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27165:6:150"},"nodeType":"YulFunctionCall","src":"27165:21:150"},"nodeType":"YulExpressionStatement","src":"27165:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27206:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27217:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27202:3:150"},"nodeType":"YulFunctionCall","src":"27202:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"27222:2:150","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27195:6:150"},"nodeType":"YulFunctionCall","src":"27195:30:150"},"nodeType":"YulExpressionStatement","src":"27195:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27245:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27256:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27241:3:150"},"nodeType":"YulFunctionCall","src":"27241:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420566f746572","kind":"string","nodeType":"YulLiteral","src":"27261:34:150","type":"","value":"XAllocationVoting: invalid Voter"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27234:6:150"},"nodeType":"YulFunctionCall","src":"27234:62:150"},"nodeType":"YulExpressionStatement","src":"27234:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27316:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27327:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27312:3:150"},"nodeType":"YulFunctionCall","src":"27312:18:150"},{"hexValue":"526577617264732061646472657373","kind":"string","nodeType":"YulLiteral","src":"27332:17:150","type":"","value":"Rewards address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27305:6:150"},"nodeType":"YulFunctionCall","src":"27305:45:150"},"nodeType":"YulExpressionStatement","src":"27305:45:150"},{"nodeType":"YulAssignment","src":"27359:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27371:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27382:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27367:3:150"},"nodeType":"YulFunctionCall","src":"27367:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27359:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27132:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27146:4:150","type":""}],"src":"26981:411:150"},{"body":{"nodeType":"YulBlock","src":"27571:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27588:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27599:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27581:6:150"},"nodeType":"YulFunctionCall","src":"27581:21:150"},"nodeType":"YulExpressionStatement","src":"27581:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27622:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27633:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27618:3:150"},"nodeType":"YulFunctionCall","src":"27618:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"27638:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27611:6:150"},"nodeType":"YulFunctionCall","src":"27611:30:150"},"nodeType":"YulExpressionStatement","src":"27611:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27661:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27672:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27657:3:150"},"nodeType":"YulFunctionCall","src":"27657:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c696420456d697373","kind":"string","nodeType":"YulLiteral","src":"27677:34:150","type":"","value":"XAllocationVoting: invalid Emiss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27650:6:150"},"nodeType":"YulFunctionCall","src":"27650:62:150"},"nodeType":"YulExpressionStatement","src":"27650:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27732:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27743:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27728:3:150"},"nodeType":"YulFunctionCall","src":"27728:18:150"},{"hexValue":"696f6e732061646472657373","kind":"string","nodeType":"YulLiteral","src":"27748:14:150","type":"","value":"ions address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27721:6:150"},"nodeType":"YulFunctionCall","src":"27721:42:150"},"nodeType":"YulExpressionStatement","src":"27721:42:150"},{"nodeType":"YulAssignment","src":"27772:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27784:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27795:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27780:3:150"},"nodeType":"YulFunctionCall","src":"27780:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27772:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27548:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27562:4:150","type":""}],"src":"27397:408:150"},{"body":{"nodeType":"YulBlock","src":"27984:230:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28001:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28012:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27994:6:150"},"nodeType":"YulFunctionCall","src":"27994:21:150"},"nodeType":"YulExpressionStatement","src":"27994:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28035:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28046:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28031:3:150"},"nodeType":"YulFunctionCall","src":"28031:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"28051:2:150","type":"","value":"40"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28024:6:150"},"nodeType":"YulFunctionCall","src":"28024:30:150"},"nodeType":"YulExpressionStatement","src":"28024:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28074:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28085:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28070:3:150"},"nodeType":"YulFunctionCall","src":"28070:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c69642061646d696e","kind":"string","nodeType":"YulLiteral","src":"28090:34:150","type":"","value":"XAllocationVoting: invalid admin"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28063:6:150"},"nodeType":"YulFunctionCall","src":"28063:62:150"},"nodeType":"YulExpressionStatement","src":"28063:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28145:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28156:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28141:3:150"},"nodeType":"YulFunctionCall","src":"28141:18:150"},{"hexValue":"2061646472657373","kind":"string","nodeType":"YulLiteral","src":"28161:10:150","type":"","value":" address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28134:6:150"},"nodeType":"YulFunctionCall","src":"28134:38:150"},"nodeType":"YulExpressionStatement","src":"28134:38:150"},{"nodeType":"YulAssignment","src":"28181:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28193:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28204:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28189:3:150"},"nodeType":"YulFunctionCall","src":"28189:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28181:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27961:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27975:4:150","type":""}],"src":"27810:404:150"},{"body":{"nodeType":"YulBlock","src":"28327:101:150","statements":[{"nodeType":"YulAssignment","src":"28337:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28349:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28360:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28345:3:150"},"nodeType":"YulFunctionCall","src":"28345:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28337:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28379:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"28394:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28410:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"28414:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28406:3:150"},"nodeType":"YulFunctionCall","src":"28406:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28418:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28402:3:150"},"nodeType":"YulFunctionCall","src":"28402:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28390:3:150"},"nodeType":"YulFunctionCall","src":"28390:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28372:6:150"},"nodeType":"YulFunctionCall","src":"28372:50:150"},"nodeType":"YulExpressionStatement","src":"28372:50:150"}]},"name":"abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28296:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"28307:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28318:4:150","type":""}],"src":"28219:209:150"},{"body":{"nodeType":"YulBlock","src":"28605:140:150","statements":[{"nodeType":"YulAssignment","src":"28615:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28627:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28638:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28623:3:150"},"nodeType":"YulFunctionCall","src":"28623:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28615:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28657:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"28668:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28650:6:150"},"nodeType":"YulFunctionCall","src":"28650:25:150"},"nodeType":"YulExpressionStatement","src":"28650:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28695:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28706:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28691:3:150"},"nodeType":"YulFunctionCall","src":"28691:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"28715:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"28723:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28711:3:150"},"nodeType":"YulFunctionCall","src":"28711:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28684:6:150"},"nodeType":"YulFunctionCall","src":"28684:55:150"},"nodeType":"YulExpressionStatement","src":"28684:55:150"}]},"name":"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_uint48__to_t_uint256_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28566:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28577:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"28585:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28596:4:150","type":""}],"src":"28433:312:150"},{"body":{"nodeType":"YulBlock","src":"28831:209:150","statements":[{"body":{"nodeType":"YulBlock","src":"28877:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28886:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28889:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28879:6:150"},"nodeType":"YulFunctionCall","src":"28879:12:150"},"nodeType":"YulExpressionStatement","src":"28879:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"28852:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"28861:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28848:3:150"},"nodeType":"YulFunctionCall","src":"28848:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"28873:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"28844:3:150"},"nodeType":"YulFunctionCall","src":"28844:32:150"},"nodeType":"YulIf","src":"28841:52:150"},{"nodeType":"YulVariableDeclaration","src":"28902:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28921:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28915:5:150"},"nodeType":"YulFunctionCall","src":"28915:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"28906:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28994:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29003:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29006:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28996:6:150"},"nodeType":"YulFunctionCall","src":"28996:12:150"},"nodeType":"YulExpressionStatement","src":"28996:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28953:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28964:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28979:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"28984:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28975:3:150"},"nodeType":"YulFunctionCall","src":"28975:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"28988:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28971:3:150"},"nodeType":"YulFunctionCall","src":"28971:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28960:3:150"},"nodeType":"YulFunctionCall","src":"28960:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"28950:2:150"},"nodeType":"YulFunctionCall","src":"28950:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28943:6:150"},"nodeType":"YulFunctionCall","src":"28943:50:150"},"nodeType":"YulIf","src":"28940:70:150"},{"nodeType":"YulAssignment","src":"29019:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"29029:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"29019:6:150"}]}]},"name":"abi_decode_tuple_t_uint208_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28797:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"28808:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"28820:6:150","type":""}],"src":"28750:290:150"},{"body":{"nodeType":"YulBlock","src":"29325:297:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29342:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"29353:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29335:6:150"},"nodeType":"YulFunctionCall","src":"29335:25:150"},"nodeType":"YulExpressionStatement","src":"29335:25:150"},{"nodeType":"YulVariableDeclaration","src":"29369:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29387:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"29392:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29383:3:150"},"nodeType":"YulFunctionCall","src":"29383:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"29396:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29379:3:150"},"nodeType":"YulFunctionCall","src":"29379:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"29373:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29418:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29429:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29414:3:150"},"nodeType":"YulFunctionCall","src":"29414:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29438:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29446:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29434:3:150"},"nodeType":"YulFunctionCall","src":"29434:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29407:6:150"},"nodeType":"YulFunctionCall","src":"29407:43:150"},"nodeType":"YulExpressionStatement","src":"29407:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29470:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29481:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29466:3:150"},"nodeType":"YulFunctionCall","src":"29466:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"29490:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29498:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29486:3:150"},"nodeType":"YulFunctionCall","src":"29486:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29459:6:150"},"nodeType":"YulFunctionCall","src":"29459:43:150"},"nodeType":"YulExpressionStatement","src":"29459:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29522:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29533:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29518:3:150"},"nodeType":"YulFunctionCall","src":"29518:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"29538:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29511:6:150"},"nodeType":"YulFunctionCall","src":"29511:31:150"},"nodeType":"YulExpressionStatement","src":"29511:31:150"},{"nodeType":"YulAssignment","src":"29551:65:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"29588:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29600:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29611:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29596:3:150"},"nodeType":"YulFunctionCall","src":"29596:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"29559:28:150"},"nodeType":"YulFunctionCall","src":"29559:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29551:4:150"}]}]},"name":"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29270:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"29281:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"29289:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"29297:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"29305:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29316:4:150","type":""}],"src":"29045:577:150"},{"body":{"nodeType":"YulBlock","src":"29827:209:150","statements":[{"nodeType":"YulAssignment","src":"29837:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29849:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29860:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29845:3:150"},"nodeType":"YulFunctionCall","src":"29845:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29837:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29879:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"29890:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29872:6:150"},"nodeType":"YulFunctionCall","src":"29872:25:150"},"nodeType":"YulExpressionStatement","src":"29872:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29917:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29928:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29913:3:150"},"nodeType":"YulFunctionCall","src":"29913:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29937:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29953:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"29958:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29949:3:150"},"nodeType":"YulFunctionCall","src":"29949:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"29962:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29945:3:150"},"nodeType":"YulFunctionCall","src":"29945:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29933:3:150"},"nodeType":"YulFunctionCall","src":"29933:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29906:6:150"},"nodeType":"YulFunctionCall","src":"29906:60:150"},"nodeType":"YulExpressionStatement","src":"29906:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29986:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29997:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29982:3:150"},"nodeType":"YulFunctionCall","src":"29982:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"30006:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"30014:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30002:3:150"},"nodeType":"YulFunctionCall","src":"30002:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29975:6:150"},"nodeType":"YulFunctionCall","src":"29975:55:150"},"nodeType":"YulExpressionStatement","src":"29975:55:150"}]},"name":"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address_t_uint48__to_t_uint256_t_address_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29780:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"29791:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"29799:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"29807:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29818:4:150","type":""}],"src":"29627:409:150"},{"body":{"nodeType":"YulBlock","src":"30215:145:150","statements":[{"nodeType":"YulAssignment","src":"30225:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30237:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30248:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30233:3:150"},"nodeType":"YulFunctionCall","src":"30233:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30225:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30267:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"30278:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30260:6:150"},"nodeType":"YulFunctionCall","src":"30260:25:150"},"nodeType":"YulExpressionStatement","src":"30260:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30305:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30316:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30301:3:150"},"nodeType":"YulFunctionCall","src":"30301:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"30325:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30341:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"30346:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"30337:3:150"},"nodeType":"YulFunctionCall","src":"30337:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"30350:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30333:3:150"},"nodeType":"YulFunctionCall","src":"30333:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30321:3:150"},"nodeType":"YulFunctionCall","src":"30321:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30294:6:150"},"nodeType":"YulFunctionCall","src":"30294:60:150"},"nodeType":"YulExpressionStatement","src":"30294:60:150"}]},"name":"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30176:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30187:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30195:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30206:4:150","type":""}],"src":"30041:319:150"},{"body":{"nodeType":"YulBlock","src":"30440:584:150","statements":[{"body":{"nodeType":"YulBlock","src":"30489:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30498:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"30501:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"30491:6:150"},"nodeType":"YulFunctionCall","src":"30491:12:150"},"nodeType":"YulExpressionStatement","src":"30491:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"30468:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"30476:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30464:3:150"},"nodeType":"YulFunctionCall","src":"30464:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"30483:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"30460:3:150"},"nodeType":"YulFunctionCall","src":"30460:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"30453:6:150"},"nodeType":"YulFunctionCall","src":"30453:35:150"},"nodeType":"YulIf","src":"30450:55:150"},{"nodeType":"YulVariableDeclaration","src":"30514:23:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"30530:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30524:5:150"},"nodeType":"YulFunctionCall","src":"30524:13:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"30518:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"30546:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"30556:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"30550:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"30569:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"30636:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"30596:39:150"},"nodeType":"YulFunctionCall","src":"30596:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"30580:15:150"},"nodeType":"YulFunctionCall","src":"30580:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"30573:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"30649:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"30662:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"30653:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"30681:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"30686:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30674:6:150"},"nodeType":"YulFunctionCall","src":"30674:15:150"},"nodeType":"YulExpressionStatement","src":"30674:15:150"},{"nodeType":"YulAssignment","src":"30698:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"30709:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"30714:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30705:3:150"},"nodeType":"YulFunctionCall","src":"30705:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"30698:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"30726:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"30748:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30760:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"30763:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"30756:3:150"},"nodeType":"YulFunctionCall","src":"30756:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30744:3:150"},"nodeType":"YulFunctionCall","src":"30744:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"30769:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30740:3:150"},"nodeType":"YulFunctionCall","src":"30740:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"30730:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"30800:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30809:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"30812:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"30802:6:150"},"nodeType":"YulFunctionCall","src":"30802:12:150"},"nodeType":"YulExpressionStatement","src":"30802:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"30787:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"30795:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"30784:2:150"},"nodeType":"YulFunctionCall","src":"30784:15:150"},"nodeType":"YulIf","src":"30781:35:150"},{"nodeType":"YulVariableDeclaration","src":"30825:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"30840:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"30848:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30836:3:150"},"nodeType":"YulFunctionCall","src":"30836:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"30829:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"30916:79:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"30937:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"30948:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30942:5:150"},"nodeType":"YulFunctionCall","src":"30942:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30930:6:150"},"nodeType":"YulFunctionCall","src":"30930:23:150"},"nodeType":"YulExpressionStatement","src":"30930:23:150"},{"nodeType":"YulAssignment","src":"30966:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"30977:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"30982:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30973:3:150"},"nodeType":"YulFunctionCall","src":"30973:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"30966:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"30871:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"30876:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"30868:2:150"},"nodeType":"YulFunctionCall","src":"30868:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"30884:23:150","statements":[{"nodeType":"YulAssignment","src":"30886:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"30897:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"30902:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30893:3:150"},"nodeType":"YulFunctionCall","src":"30893:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"30886:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"30864:3:150","statements":[]},"src":"30860:135:150"},{"nodeType":"YulAssignment","src":"31004:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"31013:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"31004:5:150"}]}]},"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"30414:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"30422:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"30430:5:150","type":""}],"src":"30365:659:150"},{"body":{"nodeType":"YulBlock","src":"31135:257:150","statements":[{"body":{"nodeType":"YulBlock","src":"31181:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31190:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31193:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31183:6:150"},"nodeType":"YulFunctionCall","src":"31183:12:150"},"nodeType":"YulExpressionStatement","src":"31183:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"31156:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"31165:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31152:3:150"},"nodeType":"YulFunctionCall","src":"31152:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"31177:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"31148:3:150"},"nodeType":"YulFunctionCall","src":"31148:32:150"},"nodeType":"YulIf","src":"31145:52:150"},{"nodeType":"YulVariableDeclaration","src":"31206:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31226:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31220:5:150"},"nodeType":"YulFunctionCall","src":"31220:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"31210:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"31279:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31288:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31291:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31281:6:150"},"nodeType":"YulFunctionCall","src":"31281:12:150"},"nodeType":"YulExpressionStatement","src":"31281:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"31251:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31267:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"31271:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31263:3:150"},"nodeType":"YulFunctionCall","src":"31263:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"31275:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31259:3:150"},"nodeType":"YulFunctionCall","src":"31259:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"31248:2:150"},"nodeType":"YulFunctionCall","src":"31248:30:150"},"nodeType":"YulIf","src":"31245:50:150"},{"nodeType":"YulAssignment","src":"31304:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31358:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"31369:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31354:3:150"},"nodeType":"YulFunctionCall","src":"31354:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"31378:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"31314:39:150"},"nodeType":"YulFunctionCall","src":"31314:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"31304:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31101:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"31112:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"31124:6:150","type":""}],"src":"31029:363:150"},{"body":{"nodeType":"YulBlock","src":"31478:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"31524:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31533:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31536:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31526:6:150"},"nodeType":"YulFunctionCall","src":"31526:12:150"},"nodeType":"YulExpressionStatement","src":"31526:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"31499:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"31508:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31495:3:150"},"nodeType":"YulFunctionCall","src":"31495:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"31520:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"31491:3:150"},"nodeType":"YulFunctionCall","src":"31491:32:150"},"nodeType":"YulIf","src":"31488:52:150"},{"nodeType":"YulAssignment","src":"31549:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31565:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31559:5:150"},"nodeType":"YulFunctionCall","src":"31559:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"31549:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31444:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"31455:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"31467:6:150","type":""}],"src":"31397:184:150"},{"body":{"nodeType":"YulBlock","src":"31722:130:150","statements":[{"nodeType":"YulAssignment","src":"31732:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31744:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31755:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31740:3:150"},"nodeType":"YulFunctionCall","src":"31740:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31732:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31774:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31789:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"31797:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31785:3:150"},"nodeType":"YulFunctionCall","src":"31785:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31767:6:150"},"nodeType":"YulFunctionCall","src":"31767:36:150"},"nodeType":"YulExpressionStatement","src":"31767:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31823:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31834:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31819:3:150"},"nodeType":"YulFunctionCall","src":"31819:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"31839:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31812:6:150"},"nodeType":"YulFunctionCall","src":"31812:34:150"},"nodeType":"YulExpressionStatement","src":"31812:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31683:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"31694:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31702:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31713:4:150","type":""}],"src":"31586:266:150"},{"body":{"nodeType":"YulBlock","src":"32059:318:150","statements":[{"nodeType":"YulAssignment","src":"32069:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32092:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32077:3:150"},"nodeType":"YulFunctionCall","src":"32077:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32069:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"32105:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32123:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"32128:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"32119:3:150"},"nodeType":"YulFunctionCall","src":"32119:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"32132:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32115:3:150"},"nodeType":"YulFunctionCall","src":"32115:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"32109:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32150:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32165:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"32173:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32161:3:150"},"nodeType":"YulFunctionCall","src":"32161:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32143:6:150"},"nodeType":"YulFunctionCall","src":"32143:34:150"},"nodeType":"YulExpressionStatement","src":"32143:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32197:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32208:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32193:3:150"},"nodeType":"YulFunctionCall","src":"32193:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"32217:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"32225:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32213:3:150"},"nodeType":"YulFunctionCall","src":"32213:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32186:6:150"},"nodeType":"YulFunctionCall","src":"32186:43:150"},"nodeType":"YulExpressionStatement","src":"32186:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32249:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32260:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32245:3:150"},"nodeType":"YulFunctionCall","src":"32245:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"32265:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32238:6:150"},"nodeType":"YulFunctionCall","src":"32238:34:150"},"nodeType":"YulExpressionStatement","src":"32238:34:150"},{"body":{"nodeType":"YulBlock","src":"32306:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"32308:16:150"},"nodeType":"YulFunctionCall","src":"32308:18:150"},"nodeType":"YulExpressionStatement","src":"32308:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"32294:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"32302:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"32291:2:150"},"nodeType":"YulFunctionCall","src":"32291:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"32284:6:150"},"nodeType":"YulFunctionCall","src":"32284:21:150"},"nodeType":"YulIf","src":"32281:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32348:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32359:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32344:3:150"},"nodeType":"YulFunctionCall","src":"32344:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"32364:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32337:6:150"},"nodeType":"YulFunctionCall","src":"32337:34:150"},"nodeType":"YulExpressionStatement","src":"32337:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32004:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"32015:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"32023:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"32031:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32039:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32050:4:150","type":""}],"src":"31857:520:150"},{"body":{"nodeType":"YulBlock","src":"32611:575:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32628:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32639:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32621:6:150"},"nodeType":"YulFunctionCall","src":"32621:21:150"},"nodeType":"YulExpressionStatement","src":"32621:21:150"},{"nodeType":"YulVariableDeclaration","src":"32651:70:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32694:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32706:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32717:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32702:3:150"},"nodeType":"YulFunctionCall","src":"32702:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"32665:28:150"},"nodeType":"YulFunctionCall","src":"32665:56:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"32655:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"32730:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"32740:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"32734:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32762:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"32773:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32758:3:150"},"nodeType":"YulFunctionCall","src":"32758:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"32782:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"32790:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32778:3:150"},"nodeType":"YulFunctionCall","src":"32778:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32751:6:150"},"nodeType":"YulFunctionCall","src":"32751:50:150"},"nodeType":"YulExpressionStatement","src":"32751:50:150"},{"nodeType":"YulVariableDeclaration","src":"32810:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"32821:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"32814:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"32836:27:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"32856:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"32850:5:150"},"nodeType":"YulFunctionCall","src":"32850:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"32840:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"32879:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"32887:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32872:6:150"},"nodeType":"YulFunctionCall","src":"32872:22:150"},"nodeType":"YulExpressionStatement","src":"32872:22:150"},{"nodeType":"YulAssignment","src":"32903:22:150","value":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"32914:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"32922:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32910:3:150"},"nodeType":"YulFunctionCall","src":"32910:15:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"32903:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"32934:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"32952:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"32960:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32948:3:150"},"nodeType":"YulFunctionCall","src":"32948:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"32938:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"32972:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"32981:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"32976:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"33040:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33061:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"33072:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33066:5:150"},"nodeType":"YulFunctionCall","src":"33066:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33054:6:150"},"nodeType":"YulFunctionCall","src":"33054:26:150"},"nodeType":"YulExpressionStatement","src":"33054:26:150"},{"nodeType":"YulAssignment","src":"33093:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"33104:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33109:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33100:3:150"},"nodeType":"YulFunctionCall","src":"33100:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"33093:3:150"}]},{"nodeType":"YulAssignment","src":"33125:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"33139:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33147:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33135:3:150"},"nodeType":"YulFunctionCall","src":"33135:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"33125:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"33002:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"33005:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"32999:2:150"},"nodeType":"YulFunctionCall","src":"32999:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"33013:18:150","statements":[{"nodeType":"YulAssignment","src":"33015:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"33024:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"33027:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33020:3:150"},"nodeType":"YulFunctionCall","src":"33020:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"33015:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"32995:3:150","statements":[]},"src":"32991:169:150"},{"nodeType":"YulAssignment","src":"33169:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"33177:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33169:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32572:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"32583:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32591:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32602:4:150","type":""}],"src":"32382:804:150"},{"body":{"nodeType":"YulBlock","src":"33365:158:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33382:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33393:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33375:6:150"},"nodeType":"YulFunctionCall","src":"33375:21:150"},"nodeType":"YulExpressionStatement","src":"33375:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33416:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33427:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33412:3:150"},"nodeType":"YulFunctionCall","src":"33412:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33432:1:150","type":"","value":"9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33405:6:150"},"nodeType":"YulFunctionCall","src":"33405:29:150"},"nodeType":"YulExpressionStatement","src":"33405:29:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33454:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33465:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33450:3:150"},"nodeType":"YulFunctionCall","src":"33450:18:150"},{"hexValue":"656d697373696f6e73","kind":"string","nodeType":"YulLiteral","src":"33470:11:150","type":"","value":"emissions"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33443:6:150"},"nodeType":"YulFunctionCall","src":"33443:39:150"},"nodeType":"YulExpressionStatement","src":"33443:39:150"},{"nodeType":"YulAssignment","src":"33491:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33503:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33514:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33499:3:150"},"nodeType":"YulFunctionCall","src":"33499:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33491:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33342:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33356:4:150","type":""}],"src":"33191:332:150"},{"body":{"nodeType":"YulBlock","src":"33657:175:150","statements":[{"nodeType":"YulAssignment","src":"33667:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33679:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33690:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33675:3:150"},"nodeType":"YulFunctionCall","src":"33675:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33667:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"33702:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33720:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"33725:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33716:3:150"},"nodeType":"YulFunctionCall","src":"33716:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"33729:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33712:3:150"},"nodeType":"YulFunctionCall","src":"33712:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"33706:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33747:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33762:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33770:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33758:3:150"},"nodeType":"YulFunctionCall","src":"33758:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33740:6:150"},"nodeType":"YulFunctionCall","src":"33740:34:150"},"nodeType":"YulExpressionStatement","src":"33740:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33794:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33805:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33790:3:150"},"nodeType":"YulFunctionCall","src":"33790:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"33814:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"33822:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33810:3:150"},"nodeType":"YulFunctionCall","src":"33810:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33783:6:150"},"nodeType":"YulFunctionCall","src":"33783:43:150"},"nodeType":"YulExpressionStatement","src":"33783:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33618:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33629:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33637:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33648:4:150","type":""}],"src":"33528:304:150"},{"body":{"nodeType":"YulBlock","src":"34011:168:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34028:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34039:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34021:6:150"},"nodeType":"YulFunctionCall","src":"34021:21:150"},"nodeType":"YulExpressionStatement","src":"34021:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34062:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34073:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34058:3:150"},"nodeType":"YulFunctionCall","src":"34058:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34078:2:150","type":"","value":"18"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34051:6:150"},"nodeType":"YulFunctionCall","src":"34051:30:150"},"nodeType":"YulExpressionStatement","src":"34051:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34101:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34112:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34097:3:150"},"nodeType":"YulFunctionCall","src":"34097:18:150"},{"hexValue":"52656c6179657252657761726473506f6f6c","kind":"string","nodeType":"YulLiteral","src":"34117:20:150","type":"","value":"RelayerRewardsPool"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34090:6:150"},"nodeType":"YulFunctionCall","src":"34090:48:150"},"nodeType":"YulExpressionStatement","src":"34090:48:150"},{"nodeType":"YulAssignment","src":"34147:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34159:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34170:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34155:3:150"},"nodeType":"YulFunctionCall","src":"34155:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34147:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33988:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34002:4:150","type":""}],"src":"33837:342:150"},{"body":{"nodeType":"YulBlock","src":"34358:305:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34375:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34386:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34368:6:150"},"nodeType":"YulFunctionCall","src":"34368:21:150"},"nodeType":"YulExpressionStatement","src":"34368:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34409:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34420:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34405:3:150"},"nodeType":"YulFunctionCall","src":"34405:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34425:2:150","type":"","value":"75"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34398:6:150"},"nodeType":"YulFunctionCall","src":"34398:30:150"},"nodeType":"YulExpressionStatement","src":"34398:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34448:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34459:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34444:3:150"},"nodeType":"YulFunctionCall","src":"34444:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a204170702073","kind":"string","nodeType":"YulLiteral","src":"34464:34:150","type":"","value":"XAllocationVotingGovernor: App s"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34437:6:150"},"nodeType":"YulFunctionCall","src":"34437:62:150"},"nodeType":"YulExpressionStatement","src":"34437:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34519:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34530:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34515:3:150"},"nodeType":"YulFunctionCall","src":"34515:18:150"},{"hexValue":"686172657320636170206d757374206265206c657373207468616e206f722065","kind":"string","nodeType":"YulLiteral","src":"34535:34:150","type":"","value":"hares cap must be less than or e"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34508:6:150"},"nodeType":"YulFunctionCall","src":"34508:62:150"},"nodeType":"YulExpressionStatement","src":"34508:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34590:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34601:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34586:3:150"},"nodeType":"YulFunctionCall","src":"34586:19:150"},{"hexValue":"7175616c20746f20313030","kind":"string","nodeType":"YulLiteral","src":"34607:13:150","type":"","value":"qual to 100"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34579:6:150"},"nodeType":"YulFunctionCall","src":"34579:42:150"},"nodeType":"YulExpressionStatement","src":"34579:42:150"},{"nodeType":"YulAssignment","src":"34630:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34642:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34653:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34638:3:150"},"nodeType":"YulFunctionCall","src":"34638:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34630:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34335:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34349:4:150","type":""}],"src":"34184:479:150"},{"body":{"nodeType":"YulBlock","src":"34842:162:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34859:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34870:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34852:6:150"},"nodeType":"YulFunctionCall","src":"34852:21:150"},"nodeType":"YulExpressionStatement","src":"34852:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34893:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34904:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34889:3:150"},"nodeType":"YulFunctionCall","src":"34889:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"34909:2:150","type":"","value":"12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34882:6:150"},"nodeType":"YulFunctionCall","src":"34882:30:150"},"nodeType":"YulExpressionStatement","src":"34882:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34932:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34943:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34928:3:150"},"nodeType":"YulFunctionCall","src":"34928:18:150"},{"hexValue":"42335452476f7665726e6f72","kind":"string","nodeType":"YulLiteral","src":"34948:14:150","type":"","value":"B3TRGovernor"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34921:6:150"},"nodeType":"YulFunctionCall","src":"34921:42:150"},"nodeType":"YulExpressionStatement","src":"34921:42:150"},{"nodeType":"YulAssignment","src":"34972:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34984:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34995:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34980:3:150"},"nodeType":"YulFunctionCall","src":"34980:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34972:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34819:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34833:4:150","type":""}],"src":"34668:336:150"},{"body":{"nodeType":"YulBlock","src":"35237:283:150","statements":[{"nodeType":"YulAssignment","src":"35247:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35259:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35270:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35255:3:150"},"nodeType":"YulFunctionCall","src":"35255:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35247:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35290:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"35301:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35283:6:150"},"nodeType":"YulFunctionCall","src":"35283:25:150"},"nodeType":"YulExpressionStatement","src":"35283:25:150"},{"nodeType":"YulVariableDeclaration","src":"35317:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35335:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35340:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35331:3:150"},"nodeType":"YulFunctionCall","src":"35331:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"35344:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35327:3:150"},"nodeType":"YulFunctionCall","src":"35327:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"35321:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35366:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35377:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35362:3:150"},"nodeType":"YulFunctionCall","src":"35362:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35386:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35394:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35382:3:150"},"nodeType":"YulFunctionCall","src":"35382:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35355:6:150"},"nodeType":"YulFunctionCall","src":"35355:43:150"},"nodeType":"YulExpressionStatement","src":"35355:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35418:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35429:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35414:3:150"},"nodeType":"YulFunctionCall","src":"35414:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"35438:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35446:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35434:3:150"},"nodeType":"YulFunctionCall","src":"35434:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35407:6:150"},"nodeType":"YulFunctionCall","src":"35407:43:150"},"nodeType":"YulExpressionStatement","src":"35407:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35470:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35481:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35466:3:150"},"nodeType":"YulFunctionCall","src":"35466:18:150"},{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"35490:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"35498:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35486:3:150"},"nodeType":"YulFunctionCall","src":"35486:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35459:6:150"},"nodeType":"YulFunctionCall","src":"35459:55:150"},"nodeType":"YulExpressionStatement","src":"35459:55:150"}]},"name":"abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address_t_address_t_uint48__to_t_uint256_t_address_t_address_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35182:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"35193:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35201:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35209:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35217:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35228:4:150","type":""}],"src":"35009:511:150"},{"body":{"nodeType":"YulBlock","src":"35682:218:150","statements":[{"nodeType":"YulAssignment","src":"35692:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35704:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35715:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35700:3:150"},"nodeType":"YulFunctionCall","src":"35700:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35692:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35734:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"35745:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35727:6:150"},"nodeType":"YulFunctionCall","src":"35727:25:150"},"nodeType":"YulExpressionStatement","src":"35727:25:150"},{"nodeType":"YulVariableDeclaration","src":"35761:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35779:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35784:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35775:3:150"},"nodeType":"YulFunctionCall","src":"35775:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"35788:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35771:3:150"},"nodeType":"YulFunctionCall","src":"35771:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"35765:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35810:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35821:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35806:3:150"},"nodeType":"YulFunctionCall","src":"35806:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35830:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35838:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35826:3:150"},"nodeType":"YulFunctionCall","src":"35826:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35799:6:150"},"nodeType":"YulFunctionCall","src":"35799:43:150"},"nodeType":"YulExpressionStatement","src":"35799:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35862:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35873:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35858:3:150"},"nodeType":"YulFunctionCall","src":"35858:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"35882:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35890:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35878:3:150"},"nodeType":"YulFunctionCall","src":"35878:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35851:6:150"},"nodeType":"YulFunctionCall","src":"35851:43:150"},"nodeType":"YulExpressionStatement","src":"35851:43:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_address__to_t_uint256_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35635:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35646:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35654:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35662:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35673:4:150","type":""}],"src":"35525:375:150"},{"body":{"nodeType":"YulBlock","src":"36148:297:150","statements":[{"nodeType":"YulVariableDeclaration","src":"36158:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36176:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"36181:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"36172:3:150"},"nodeType":"YulFunctionCall","src":"36172:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"36185:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36168:3:150"},"nodeType":"YulFunctionCall","src":"36168:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"36162:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36203:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"36218:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"36226:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36214:3:150"},"nodeType":"YulFunctionCall","src":"36214:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36196:6:150"},"nodeType":"YulFunctionCall","src":"36196:34:150"},"nodeType":"YulExpressionStatement","src":"36196:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36250:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36261:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36246:3:150"},"nodeType":"YulFunctionCall","src":"36246:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"36270:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"36278:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36266:3:150"},"nodeType":"YulFunctionCall","src":"36266:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36239:6:150"},"nodeType":"YulFunctionCall","src":"36239:43:150"},"nodeType":"YulExpressionStatement","src":"36239:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36302:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36313:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36298:3:150"},"nodeType":"YulFunctionCall","src":"36298:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"36318:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36291:6:150"},"nodeType":"YulFunctionCall","src":"36291:34:150"},"nodeType":"YulExpressionStatement","src":"36291:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36345:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36356:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36341:3:150"},"nodeType":"YulFunctionCall","src":"36341:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36361:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36334:6:150"},"nodeType":"YulFunctionCall","src":"36334:31:150"},"nodeType":"YulExpressionStatement","src":"36334:31:150"},{"nodeType":"YulAssignment","src":"36374:65:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"36411:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36434:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36419:3:150"},"nodeType":"YulFunctionCall","src":"36419:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"36382:28:150"},"nodeType":"YulFunctionCall","src":"36382:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36374:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36093:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"36104:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"36112:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"36120:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"36128:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36139:4:150","type":""}],"src":"35905:540:150"},{"body":{"nodeType":"YulBlock","src":"36615:1028:150","statements":[{"body":{"nodeType":"YulBlock","src":"36661:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36670:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"36673:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"36663:6:150"},"nodeType":"YulFunctionCall","src":"36663:12:150"},"nodeType":"YulExpressionStatement","src":"36663:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"36636:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"36645:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36632:3:150"},"nodeType":"YulFunctionCall","src":"36632:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"36657:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"36628:3:150"},"nodeType":"YulFunctionCall","src":"36628:32:150"},"nodeType":"YulIf","src":"36625:52:150"},{"nodeType":"YulVariableDeclaration","src":"36686:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36706:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36700:5:150"},"nodeType":"YulFunctionCall","src":"36700:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"36690:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"36725:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36743:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"36747:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"36739:3:150"},"nodeType":"YulFunctionCall","src":"36739:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"36751:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36735:3:150"},"nodeType":"YulFunctionCall","src":"36735:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"36729:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"36780:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36789:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"36792:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"36782:6:150"},"nodeType":"YulFunctionCall","src":"36782:12:150"},"nodeType":"YulExpressionStatement","src":"36782:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"36768:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"36776:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"36765:2:150"},"nodeType":"YulFunctionCall","src":"36765:14:150"},"nodeType":"YulIf","src":"36762:34:150"},{"nodeType":"YulAssignment","src":"36805:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36859:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"36870:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36855:3:150"},"nodeType":"YulFunctionCall","src":"36855:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"36879:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"36815:39:150"},"nodeType":"YulFunctionCall","src":"36815:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"36805:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"36896:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"36906:2:150","type":"","value":"32"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"36900:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"36917:41:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36943:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"36954:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36939:3:150"},"nodeType":"YulFunctionCall","src":"36939:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36933:5:150"},"nodeType":"YulFunctionCall","src":"36933:25:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"36921:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"36987:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36996:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"36999:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"36989:6:150"},"nodeType":"YulFunctionCall","src":"36989:12:150"},"nodeType":"YulExpressionStatement","src":"36989:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"36973:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"36983:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"36970:2:150"},"nodeType":"YulFunctionCall","src":"36970:16:150"},"nodeType":"YulIf","src":"36967:36:150"},{"nodeType":"YulVariableDeclaration","src":"37012:34:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37026:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"37037:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37022:3:150"},"nodeType":"YulFunctionCall","src":"37022:24:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"37016:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"37094:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37103:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37106:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37096:6:150"},"nodeType":"YulFunctionCall","src":"37096:12:150"},"nodeType":"YulExpressionStatement","src":"37096:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"37073:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"37077:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37069:3:150"},"nodeType":"YulFunctionCall","src":"37069:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"37084:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"37065:3:150"},"nodeType":"YulFunctionCall","src":"37065:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"37058:6:150"},"nodeType":"YulFunctionCall","src":"37058:35:150"},"nodeType":"YulIf","src":"37055:55:150"},{"nodeType":"YulVariableDeclaration","src":"37119:19:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"37135:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37129:5:150"},"nodeType":"YulFunctionCall","src":"37129:9:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"37123:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"37147:71:150","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"37214:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"37174:39:150"},"nodeType":"YulFunctionCall","src":"37174:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"37158:15:150"},"nodeType":"YulFunctionCall","src":"37158:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"37151:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"37227:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"37240:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"37231:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"37259:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"37264:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37252:6:150"},"nodeType":"YulFunctionCall","src":"37252:15:150"},"nodeType":"YulExpressionStatement","src":"37252:15:150"},{"nodeType":"YulAssignment","src":"37276:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"37287:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"37292:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37283:3:150"},"nodeType":"YulFunctionCall","src":"37283:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"37276:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"37304:42:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"37326:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37334:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"37337:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37330:3:150"},"nodeType":"YulFunctionCall","src":"37330:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37322:3:150"},"nodeType":"YulFunctionCall","src":"37322:19:150"},{"name":"_2","nodeType":"YulIdentifier","src":"37343:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37318:3:150"},"nodeType":"YulFunctionCall","src":"37318:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"37308:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"37378:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37387:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"37390:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"37380:6:150"},"nodeType":"YulFunctionCall","src":"37380:12:150"},"nodeType":"YulExpressionStatement","src":"37380:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"37361:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"37369:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"37358:2:150"},"nodeType":"YulFunctionCall","src":"37358:19:150"},"nodeType":"YulIf","src":"37355:39:150"},{"nodeType":"YulVariableDeclaration","src":"37403:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"37418:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"37422:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37414:3:150"},"nodeType":"YulFunctionCall","src":"37414:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"37407:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"37490:79:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"37511:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"37522:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37516:5:150"},"nodeType":"YulFunctionCall","src":"37516:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37504:6:150"},"nodeType":"YulFunctionCall","src":"37504:23:150"},"nodeType":"YulExpressionStatement","src":"37504:23:150"},{"nodeType":"YulAssignment","src":"37540:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"37551:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"37556:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37547:3:150"},"nodeType":"YulFunctionCall","src":"37547:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"37540:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"37445:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"37450:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"37442:2:150"},"nodeType":"YulFunctionCall","src":"37442:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"37458:23:150","statements":[{"nodeType":"YulAssignment","src":"37460:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"37471:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"37476:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37467:3:150"},"nodeType":"YulFunctionCall","src":"37467:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"37460:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"37438:3:150","statements":[]},"src":"37434:135:150"},{"nodeType":"YulAssignment","src":"37578:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"37588:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"37578:6:150"}]},{"nodeType":"YulAssignment","src":"37602:35:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37622:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37633:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37618:3:150"},"nodeType":"YulFunctionCall","src":"37618:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37612:5:150"},"nodeType":"YulFunctionCall","src":"37612:25:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"37602:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36565:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"36576:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"36588:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"36596:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"36604:6:150","type":""}],"src":"36450:1193:150"},{"body":{"nodeType":"YulBlock","src":"37822:163:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37839:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37850:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37832:6:150"},"nodeType":"YulFunctionCall","src":"37832:21:150"},"nodeType":"YulExpressionStatement","src":"37832:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37873:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37884:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37869:3:150"},"nodeType":"YulFunctionCall","src":"37869:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37889:2:150","type":"","value":"13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37862:6:150"},"nodeType":"YulFunctionCall","src":"37862:30:150"},"nodeType":"YulExpressionStatement","src":"37862:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37912:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37923:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37908:3:150"},"nodeType":"YulFunctionCall","src":"37908:18:150"},{"hexValue":"766f7465722072657761726473","kind":"string","nodeType":"YulLiteral","src":"37928:15:150","type":"","value":"voter rewards"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37901:6:150"},"nodeType":"YulFunctionCall","src":"37901:43:150"},"nodeType":"YulExpressionStatement","src":"37901:43:150"},{"nodeType":"YulAssignment","src":"37953:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37965:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37976:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37961:3:150"},"nodeType":"YulFunctionCall","src":"37961:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37953:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37799:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37813:4:150","type":""}],"src":"37648:337:150"},{"body":{"nodeType":"YulBlock","src":"38164:166:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38181:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38192:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38174:6:150"},"nodeType":"YulFunctionCall","src":"38174:21:150"},"nodeType":"YulExpressionStatement","src":"38174:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38215:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38226:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38211:3:150"},"nodeType":"YulFunctionCall","src":"38211:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38231:2:150","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38204:6:150"},"nodeType":"YulFunctionCall","src":"38204:30:150"},"nodeType":"YulExpressionStatement","src":"38204:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38254:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38265:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38250:3:150"},"nodeType":"YulFunctionCall","src":"38250:18:150"},{"hexValue":"566542657474657250617373706f7274","kind":"string","nodeType":"YulLiteral","src":"38270:18:150","type":"","value":"VeBetterPassport"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38243:6:150"},"nodeType":"YulFunctionCall","src":"38243:46:150"},"nodeType":"YulExpressionStatement","src":"38243:46:150"},{"nodeType":"YulAssignment","src":"38298:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38310:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38321:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38306:3:150"},"nodeType":"YulFunctionCall","src":"38306:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38298:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38141:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38155:4:150","type":""}],"src":"37990:340:150"},{"body":{"nodeType":"YulBlock","src":"38509:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38526:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38537:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38519:6:150"},"nodeType":"YulFunctionCall","src":"38519:21:150"},"nodeType":"YulExpressionStatement","src":"38519:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38560:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38571:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38556:3:150"},"nodeType":"YulFunctionCall","src":"38556:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"38576:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38549:6:150"},"nodeType":"YulFunctionCall","src":"38549:30:150"},"nodeType":"YulExpressionStatement","src":"38549:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38599:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38610:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38595:3:150"},"nodeType":"YulFunctionCall","src":"38595:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a207468657265","kind":"string","nodeType":"YulLiteral","src":"38615:34:150","type":"","value":"XAllocationVotingGovernor: there"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38588:6:150"},"nodeType":"YulFunctionCall","src":"38588:62:150"},"nodeType":"YulExpressionStatement","src":"38588:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38670:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38681:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38666:3:150"},"nodeType":"YulFunctionCall","src":"38666:18:150"},{"hexValue":"2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65","kind":"string","nodeType":"YulLiteral","src":"38686:33:150","type":"","value":" can be only one round per time"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38659:6:150"},"nodeType":"YulFunctionCall","src":"38659:61:150"},"nodeType":"YulExpressionStatement","src":"38659:61:150"},{"nodeType":"YulAssignment","src":"38729:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38741:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38752:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38737:3:150"},"nodeType":"YulFunctionCall","src":"38737:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38729:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38486:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38500:4:150","type":""}],"src":"38335:427:150"},{"body":{"nodeType":"YulBlock","src":"38941:160:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38958:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38969:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38951:6:150"},"nodeType":"YulFunctionCall","src":"38951:21:150"},"nodeType":"YulExpressionStatement","src":"38951:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38992:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39003:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38988:3:150"},"nodeType":"YulFunctionCall","src":"38988:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39008:2:150","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38981:6:150"},"nodeType":"YulFunctionCall","src":"38981:30:150"},"nodeType":"YulExpressionStatement","src":"38981:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39031:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39042:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39027:3:150"},"nodeType":"YulFunctionCall","src":"39027:18:150"},{"hexValue":"58324561726e41707073","kind":"string","nodeType":"YulLiteral","src":"39047:12:150","type":"","value":"X2EarnApps"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39020:6:150"},"nodeType":"YulFunctionCall","src":"39020:40:150"},"nodeType":"YulExpressionStatement","src":"39020:40:150"},{"nodeType":"YulAssignment","src":"39069:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39092:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39077:3:150"},"nodeType":"YulFunctionCall","src":"39077:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39069:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38918:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38932:4:150","type":""}],"src":"38767:334:150"},{"body":{"nodeType":"YulBlock","src":"39215:76:150","statements":[{"nodeType":"YulAssignment","src":"39225:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39237:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39248:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39233:3:150"},"nodeType":"YulFunctionCall","src":"39233:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39225:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39267:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"39278:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39260:6:150"},"nodeType":"YulFunctionCall","src":"39260:25:150"},"nodeType":"YulExpressionStatement","src":"39260:25:150"}]},"name":"abi_encode_tuple_t_rational_0_by_1__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39184:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39195:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39206:4:150","type":""}],"src":"39106:185:150"},{"body":{"nodeType":"YulBlock","src":"39396:93:150","statements":[{"nodeType":"YulAssignment","src":"39406:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39418:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39429:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39414:3:150"},"nodeType":"YulFunctionCall","src":"39414:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39406:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39448:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"39463:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"39471:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39459:3:150"},"nodeType":"YulFunctionCall","src":"39459:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39441:6:150"},"nodeType":"YulFunctionCall","src":"39441:42:150"},"nodeType":"YulExpressionStatement","src":"39441:42:150"}]},"name":"abi_encode_tuple_t_uint32__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39365:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39376:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39387:4:150","type":""}],"src":"39296:193:150"},{"body":{"nodeType":"YulBlock","src":"39621:166:150","statements":[{"nodeType":"YulAssignment","src":"39631:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39643:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39654:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39639:3:150"},"nodeType":"YulFunctionCall","src":"39639:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39631:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"39666:20:150","value":{"kind":"number","nodeType":"YulLiteral","src":"39676:10:150","type":"","value":"0xffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"39670:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39702:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"39717:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39725:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39713:3:150"},"nodeType":"YulFunctionCall","src":"39713:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39695:6:150"},"nodeType":"YulFunctionCall","src":"39695:34:150"},"nodeType":"YulExpressionStatement","src":"39695:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39749:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39760:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39745:3:150"},"nodeType":"YulFunctionCall","src":"39745:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"39769:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39777:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39765:3:150"},"nodeType":"YulFunctionCall","src":"39765:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39738:6:150"},"nodeType":"YulFunctionCall","src":"39738:43:150"},"nodeType":"YulExpressionStatement","src":"39738:43:150"}]},"name":"abi_encode_tuple_t_uint32_t_uint32__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39582:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"39593:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39601:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39612:4:150","type":""}],"src":"39494:293:150"},{"body":{"nodeType":"YulBlock","src":"39966:317:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39983:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39994:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39976:6:150"},"nodeType":"YulFunctionCall","src":"39976:21:150"},"nodeType":"YulExpressionStatement","src":"39976:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40017:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40028:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40013:3:150"},"nodeType":"YulFunctionCall","src":"40013:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"40033:2:150","type":"","value":"87"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40006:6:150"},"nodeType":"YulFunctionCall","src":"40006:30:150"},"nodeType":"YulExpressionStatement","src":"40006:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40056:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40067:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40052:3:150"},"nodeType":"YulFunctionCall","src":"40052:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a204261736520","kind":"string","nodeType":"YulLiteral","src":"40072:34:150","type":"","value":"XAllocationVotingGovernor: Base "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40045:6:150"},"nodeType":"YulFunctionCall","src":"40045:62:150"},"nodeType":"YulExpressionStatement","src":"40045:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40127:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40138:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40123:3:150"},"nodeType":"YulFunctionCall","src":"40123:18:150"},{"hexValue":"616c6c6f636174696f6e2070657263656e74616765206d757374206265206c65","kind":"string","nodeType":"YulLiteral","src":"40143:34:150","type":"","value":"allocation percentage must be le"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40116:6:150"},"nodeType":"YulFunctionCall","src":"40116:62:150"},"nodeType":"YulExpressionStatement","src":"40116:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40198:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40209:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40194:3:150"},"nodeType":"YulFunctionCall","src":"40194:19:150"},{"hexValue":"7373207468616e206f7220657175616c20746f20313030","kind":"string","nodeType":"YulLiteral","src":"40215:25:150","type":"","value":"ss than or equal to 100"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40187:6:150"},"nodeType":"YulFunctionCall","src":"40187:54:150"},"nodeType":"YulExpressionStatement","src":"40187:54:150"},{"nodeType":"YulAssignment","src":"40250:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40262:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40273:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40258:3:150"},"nodeType":"YulFunctionCall","src":"40258:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40250:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39943:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39957:4:150","type":""}],"src":"39792:491:150"},{"body":{"nodeType":"YulBlock","src":"40340:116:150","statements":[{"nodeType":"YulAssignment","src":"40350:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"40365:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"40368:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"40361:3:150"},"nodeType":"YulFunctionCall","src":"40361:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"40350:7:150"}]},{"body":{"nodeType":"YulBlock","src":"40428:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"40430:16:150"},"nodeType":"YulFunctionCall","src":"40430:18:150"},"nodeType":"YulExpressionStatement","src":"40430:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"40399:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"40392:6:150"},"nodeType":"YulFunctionCall","src":"40392:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"40406:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"40413:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"40422:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"40409:3:150"},"nodeType":"YulFunctionCall","src":"40409:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"40403:2:150"},"nodeType":"YulFunctionCall","src":"40403:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"40389:2:150"},"nodeType":"YulFunctionCall","src":"40389:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"40382:6:150"},"nodeType":"YulFunctionCall","src":"40382:45:150"},"nodeType":"YulIf","src":"40379:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"40319:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"40322:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"40328:7:150","type":""}],"src":"40288:168:150"},{"body":{"nodeType":"YulBlock","src":"40493:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40510:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40517:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"40522:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40513:3:150"},"nodeType":"YulFunctionCall","src":"40513:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40503:6:150"},"nodeType":"YulFunctionCall","src":"40503:31:150"},"nodeType":"YulExpressionStatement","src":"40503:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40550:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"40553:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40543:6:150"},"nodeType":"YulFunctionCall","src":"40543:15:150"},"nodeType":"YulExpressionStatement","src":"40543:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40574:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"40577:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"40567:6:150"},"nodeType":"YulFunctionCall","src":"40567:15:150"},"nodeType":"YulExpressionStatement","src":"40567:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"40461:127:150"},{"body":{"nodeType":"YulBlock","src":"40639:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"40670:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40691:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40698:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"40703:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40694:3:150"},"nodeType":"YulFunctionCall","src":"40694:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40684:6:150"},"nodeType":"YulFunctionCall","src":"40684:31:150"},"nodeType":"YulExpressionStatement","src":"40684:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40735:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"40738:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40728:6:150"},"nodeType":"YulFunctionCall","src":"40728:15:150"},"nodeType":"YulExpressionStatement","src":"40728:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40763:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"40766:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"40756:6:150"},"nodeType":"YulFunctionCall","src":"40756:15:150"},"nodeType":"YulExpressionStatement","src":"40756:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"40659:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"40652:6:150"},"nodeType":"YulFunctionCall","src":"40652:9:150"},"nodeType":"YulIf","src":"40649:132:150"},{"nodeType":"YulAssignment","src":"40790:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"40799:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"40802:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"40795:3:150"},"nodeType":"YulFunctionCall","src":"40795:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"40790:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"40624:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"40627:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"40633:1:150","type":""}],"src":"40593:217:150"},{"body":{"nodeType":"YulBlock","src":"40944:145:150","statements":[{"nodeType":"YulAssignment","src":"40954:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40966:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40977:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40962:3:150"},"nodeType":"YulFunctionCall","src":"40962:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40954:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40996:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"41011:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41027:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"41032:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41023:3:150"},"nodeType":"YulFunctionCall","src":"41023:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"41036:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41019:3:150"},"nodeType":"YulFunctionCall","src":"41019:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41007:3:150"},"nodeType":"YulFunctionCall","src":"41007:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40989:6:150"},"nodeType":"YulFunctionCall","src":"40989:51:150"},"nodeType":"YulExpressionStatement","src":"40989:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41060:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41071:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41056:3:150"},"nodeType":"YulFunctionCall","src":"41056:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"41076:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41049:6:150"},"nodeType":"YulFunctionCall","src":"41049:34:150"},"nodeType":"YulExpressionStatement","src":"41049:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40905:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"40916:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40924:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40935:4:150","type":""}],"src":"40815:274:150"},{"body":{"nodeType":"YulBlock","src":"41223:119:150","statements":[{"nodeType":"YulAssignment","src":"41233:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41245:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41256:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41241:3:150"},"nodeType":"YulFunctionCall","src":"41241:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41233:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41275:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"41286:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41268:6:150"},"nodeType":"YulFunctionCall","src":"41268:25:150"},"nodeType":"YulExpressionStatement","src":"41268:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41324:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41309:3:150"},"nodeType":"YulFunctionCall","src":"41309:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"41329:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41302:6:150"},"nodeType":"YulFunctionCall","src":"41302:34:150"},"nodeType":"YulExpressionStatement","src":"41302:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41184:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"41195:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"41203:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41214:4:150","type":""}],"src":"41094:248:150"},{"body":{"nodeType":"YulBlock","src":"41518:182:150","statements":[{"nodeType":"YulAssignment","src":"41528:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41540:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41551:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41536:3:150"},"nodeType":"YulFunctionCall","src":"41536:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41528:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41570:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"41581:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41563:6:150"},"nodeType":"YulFunctionCall","src":"41563:25:150"},"nodeType":"YulExpressionStatement","src":"41563:25:150"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"41624:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41636:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41647:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41632:3:150"},"nodeType":"YulFunctionCall","src":"41632:18:150"}],"functionName":{"name":"abi_encode_enum_RoundState","nodeType":"YulIdentifier","src":"41597:26:150"},"nodeType":"YulFunctionCall","src":"41597:54:150"},"nodeType":"YulExpressionStatement","src":"41597:54:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41671:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41682:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41667:3:150"},"nodeType":"YulFunctionCall","src":"41667:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"41687:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41660:6:150"},"nodeType":"YulFunctionCall","src":"41660:34:150"},"nodeType":"YulExpressionStatement","src":"41660:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_RoundState_$45736_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41471:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"41482:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"41490:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"41498:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41509:4:150","type":""}],"src":"41347:353:150"},{"body":{"nodeType":"YulBlock","src":"41890:232:150","statements":[{"nodeType":"YulAssignment","src":"41900:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41912:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41923:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41908:3:150"},"nodeType":"YulFunctionCall","src":"41908:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"41900:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41943:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"41954:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41936:6:150"},"nodeType":"YulFunctionCall","src":"41936:25:150"},"nodeType":"YulExpressionStatement","src":"41936:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41981:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41992:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41977:3:150"},"nodeType":"YulFunctionCall","src":"41977:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"42001:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42017:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"42022:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42013:3:150"},"nodeType":"YulFunctionCall","src":"42013:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"42026:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42009:3:150"},"nodeType":"YulFunctionCall","src":"42009:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41997:3:150"},"nodeType":"YulFunctionCall","src":"41997:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41970:6:150"},"nodeType":"YulFunctionCall","src":"41970:60:150"},"nodeType":"YulExpressionStatement","src":"41970:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42050:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42061:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42046:3:150"},"nodeType":"YulFunctionCall","src":"42046:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"42066:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42039:6:150"},"nodeType":"YulFunctionCall","src":"42039:34:150"},"nodeType":"YulExpressionStatement","src":"42039:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42093:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42104:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42089:3:150"},"nodeType":"YulFunctionCall","src":"42089:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"42109:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42082:6:150"},"nodeType":"YulFunctionCall","src":"42082:34:150"},"nodeType":"YulExpressionStatement","src":"42082:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41835:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"41846:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"41854:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"41862:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"41870:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41881:4:150","type":""}],"src":"41705:417:150"},{"body":{"nodeType":"YulBlock","src":"42256:145:150","statements":[{"nodeType":"YulAssignment","src":"42266:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42278:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42289:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42274:3:150"},"nodeType":"YulFunctionCall","src":"42274:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42266:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42308:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"42319:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42301:6:150"},"nodeType":"YulFunctionCall","src":"42301:25:150"},"nodeType":"YulExpressionStatement","src":"42301:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42346:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42357:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42342:3:150"},"nodeType":"YulFunctionCall","src":"42342:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"42366:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42382:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"42387:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42378:3:150"},"nodeType":"YulFunctionCall","src":"42378:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"42391:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42374:3:150"},"nodeType":"YulFunctionCall","src":"42374:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42362:3:150"},"nodeType":"YulFunctionCall","src":"42362:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42335:6:150"},"nodeType":"YulFunctionCall","src":"42335:60:150"},"nodeType":"YulExpressionStatement","src":"42335:60:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint208__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42217:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42228:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42236:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42247:4:150","type":""}],"src":"42127:274:150"},{"body":{"nodeType":"YulBlock","src":"42669:311:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42686:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"42697:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42679:6:150"},"nodeType":"YulFunctionCall","src":"42679:25:150"},"nodeType":"YulExpressionStatement","src":"42679:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42724:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42735:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42720:3:150"},"nodeType":"YulFunctionCall","src":"42720:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"42744:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42760:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"42765:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42756:3:150"},"nodeType":"YulFunctionCall","src":"42756:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"42769:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42752:3:150"},"nodeType":"YulFunctionCall","src":"42752:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"42740:3:150"},"nodeType":"YulFunctionCall","src":"42740:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42713:6:150"},"nodeType":"YulFunctionCall","src":"42713:60:150"},"nodeType":"YulExpressionStatement","src":"42713:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42793:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42804:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42789:3:150"},"nodeType":"YulFunctionCall","src":"42789:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"42809:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42782:6:150"},"nodeType":"YulFunctionCall","src":"42782:34:150"},"nodeType":"YulExpressionStatement","src":"42782:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42836:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42847:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42832:3:150"},"nodeType":"YulFunctionCall","src":"42832:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"42852:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42825:6:150"},"nodeType":"YulFunctionCall","src":"42825:34:150"},"nodeType":"YulExpressionStatement","src":"42825:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42879:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42890:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42875:3:150"},"nodeType":"YulFunctionCall","src":"42875:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"42896:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42868:6:150"},"nodeType":"YulFunctionCall","src":"42868:32:150"},"nodeType":"YulExpressionStatement","src":"42868:32:150"},{"nodeType":"YulAssignment","src":"42909:65:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"42946:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42958:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42969:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42954:3:150"},"nodeType":"YulFunctionCall","src":"42954:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"42917:28:150"},"nodeType":"YulFunctionCall","src":"42917:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"42909:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"42606:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"42617:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"42625:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"42633:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"42641:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"42649:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"42660:4:150","type":""}],"src":"42406:574:150"},{"body":{"nodeType":"YulBlock","src":"43041:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43058:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"43061:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43051:6:150"},"nodeType":"YulFunctionCall","src":"43051:14:150"},"nodeType":"YulExpressionStatement","src":"43051:14:150"},{"nodeType":"YulAssignment","src":"43074:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43092:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"43095:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"43082:9:150"},"nodeType":"YulFunctionCall","src":"43082:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"43074:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"43024:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"43032:4:150","type":""}],"src":"42985:121:150"},{"body":{"nodeType":"YulBlock","src":"43192:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"43225:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"43239:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"43249:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"43243:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"43270:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"43274:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43263:6:150"},"nodeType":"YulFunctionCall","src":"43263:17:150"},"nodeType":"YulExpressionStatement","src":"43263:17:150"},{"nodeType":"YulVariableDeclaration","src":"43293:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"43315:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"43319:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"43305:9:150"},"nodeType":"YulFunctionCall","src":"43305:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"43297:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"43337:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"43360:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43370:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"43377:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"43389:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43373:3:150"},"nodeType":"YulFunctionCall","src":"43373:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"43366:3:150"},"nodeType":"YulFunctionCall","src":"43366:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43356:3:150"},"nodeType":"YulFunctionCall","src":"43356:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"43341:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"43431:23:150","statements":[{"nodeType":"YulAssignment","src":"43433:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"43448:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"43433:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"43413:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"43425:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"43410:2:150"},"nodeType":"YulFunctionCall","src":"43410:20:150"},"nodeType":"YulIf","src":"43407:47:150"},{"nodeType":"YulVariableDeclaration","src":"43467:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"43481:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43491:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"43498:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"43503:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43494:3:150"},"nodeType":"YulFunctionCall","src":"43494:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"43487:3:150"},"nodeType":"YulFunctionCall","src":"43487:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43477:3:150"},"nodeType":"YulFunctionCall","src":"43477:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"43471:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"43521:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"43534:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"43525:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"43619:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"43628:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"43635:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"43621:6:150"},"nodeType":"YulFunctionCall","src":"43621:17:150"},"nodeType":"YulExpressionStatement","src":"43621:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"43569:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"43576:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"43566:2:150"},"nodeType":"YulFunctionCall","src":"43566:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"43580:26:150","statements":[{"nodeType":"YulAssignment","src":"43582:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"43595:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"43602:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43591:3:150"},"nodeType":"YulFunctionCall","src":"43591:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"43582:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"43562:3:150","statements":[]},"src":"43558:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"43208:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"43213:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"43205:2:150"},"nodeType":"YulFunctionCall","src":"43205:11:150"},"nodeType":"YulIf","src":"43202:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"43164:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"43171:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"43176:10:150","type":""}],"src":"43111:545:150"},{"body":{"nodeType":"YulBlock","src":"43746:81:150","statements":[{"nodeType":"YulAssignment","src":"43756:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"43771:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43789:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"43792:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43785:3:150"},"nodeType":"YulFunctionCall","src":"43785:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43802:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"43798:3:150"},"nodeType":"YulFunctionCall","src":"43798:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"43781:3:150"},"nodeType":"YulFunctionCall","src":"43781:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"43777:3:150"},"nodeType":"YulFunctionCall","src":"43777:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43767:3:150"},"nodeType":"YulFunctionCall","src":"43767:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43813:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"43816:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43809:3:150"},"nodeType":"YulFunctionCall","src":"43809:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"43764:2:150"},"nodeType":"YulFunctionCall","src":"43764:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"43756:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"43723:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"43729:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"43737:4:150","type":""}],"src":"43661:166:150"},{"body":{"nodeType":"YulBlock","src":"43928:1256:150","statements":[{"nodeType":"YulVariableDeclaration","src":"43938:24:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"43958:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"43952:5:150"},"nodeType":"YulFunctionCall","src":"43952:10:150"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"43942:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"44005:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"44007:16:150"},"nodeType":"YulFunctionCall","src":"44007:18:150"},"nodeType":"YulExpressionStatement","src":"44007:18:150"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"43977:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43993:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"43997:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43989:3:150"},"nodeType":"YulFunctionCall","src":"43989:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"44001:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"43985:3:150"},"nodeType":"YulFunctionCall","src":"43985:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"43974:2:150"},"nodeType":"YulFunctionCall","src":"43974:30:150"},"nodeType":"YulIf","src":"43971:56:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"44080:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"44118:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"44112:5:150"},"nodeType":"YulFunctionCall","src":"44112:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"44086:25:150"},"nodeType":"YulFunctionCall","src":"44086:38:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"44126:6:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"44036:43:150"},"nodeType":"YulFunctionCall","src":"44036:97:150"},"nodeType":"YulExpressionStatement","src":"44036:97:150"},{"nodeType":"YulVariableDeclaration","src":"44142:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"44159:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"44146:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"44169:23:150","value":{"kind":"number","nodeType":"YulLiteral","src":"44188:4:150","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"44173:11:150","type":""}]},{"nodeType":"YulAssignment","src":"44201:24:150","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"44214:11:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"44201:9:150"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"44271:656:150","statements":[{"nodeType":"YulVariableDeclaration","src":"44285:35:150","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"44304:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44316:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"44312:3:150"},"nodeType":"YulFunctionCall","src":"44312:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"44300:3:150"},"nodeType":"YulFunctionCall","src":"44300:20:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"44289:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"44333:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"44377:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"44347:29:150"},"nodeType":"YulFunctionCall","src":"44347:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"44337:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"44395:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"44404:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"44399:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"44482:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"44507:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"44525:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"44530:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44521:3:150"},"nodeType":"YulFunctionCall","src":"44521:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44515:5:150"},"nodeType":"YulFunctionCall","src":"44515:26:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"44500:6:150"},"nodeType":"YulFunctionCall","src":"44500:42:150"},"nodeType":"YulExpressionStatement","src":"44500:42:150"},{"nodeType":"YulAssignment","src":"44559:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"44573:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"44581:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44569:3:150"},"nodeType":"YulFunctionCall","src":"44569:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"44559:6:150"}]},{"nodeType":"YulAssignment","src":"44600:40:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"44617:9:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"44628:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44613:3:150"},"nodeType":"YulFunctionCall","src":"44613:27:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"44600:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"44429:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"44432:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"44426:2:150"},"nodeType":"YulFunctionCall","src":"44426:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"44441:28:150","statements":[{"nodeType":"YulAssignment","src":"44443:24:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"44452:1:150"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"44455:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44448:3:150"},"nodeType":"YulFunctionCall","src":"44448:19:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"44443:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"44422:3:150","statements":[]},"src":"44418:236:150"},{"body":{"nodeType":"YulBlock","src":"44702:166:150","statements":[{"nodeType":"YulVariableDeclaration","src":"44720:43:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"44747:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"44752:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44743:3:150"},"nodeType":"YulFunctionCall","src":"44743:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44737:5:150"},"nodeType":"YulFunctionCall","src":"44737:26:150"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"44724:9:150","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"44787:6:150"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"44799:9:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44826:1:150","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"44829:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"44822:3:150"},"nodeType":"YulFunctionCall","src":"44822:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"44838:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"44818:3:150"},"nodeType":"YulFunctionCall","src":"44818:24:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44848:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"44844:3:150"},"nodeType":"YulFunctionCall","src":"44844:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"44814:3:150"},"nodeType":"YulFunctionCall","src":"44814:37:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"44810:3:150"},"nodeType":"YulFunctionCall","src":"44810:42:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"44795:3:150"},"nodeType":"YulFunctionCall","src":"44795:58:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"44780:6:150"},"nodeType":"YulFunctionCall","src":"44780:74:150"},"nodeType":"YulExpressionStatement","src":"44780:74:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"44673:7:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"44682:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"44670:2:150"},"nodeType":"YulFunctionCall","src":"44670:19:150"},"nodeType":"YulIf","src":"44667:201:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"44888:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44902:1:150","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"44905:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"44898:3:150"},"nodeType":"YulFunctionCall","src":"44898:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"44914:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44894:3:150"},"nodeType":"YulFunctionCall","src":"44894:22:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"44881:6:150"},"nodeType":"YulFunctionCall","src":"44881:36:150"},"nodeType":"YulExpressionStatement","src":"44881:36:150"}]},"nodeType":"YulCase","src":"44264:663:150","value":{"kind":"number","nodeType":"YulLiteral","src":"44269:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"44944:234:150","statements":[{"nodeType":"YulVariableDeclaration","src":"44958:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"44971:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"44962:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"45007:67:150","statements":[{"nodeType":"YulAssignment","src":"45025:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"45044:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"45049:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45040:3:150"},"nodeType":"YulFunctionCall","src":"45040:19:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"45034:5:150"},"nodeType":"YulFunctionCall","src":"45034:26:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"45025:5:150"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"44988:6:150"},"nodeType":"YulIf","src":"44985:89:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"45094:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"45153:5:150"},{"name":"newLen","nodeType":"YulIdentifier","src":"45160:6:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"45100:52:150"},"nodeType":"YulFunctionCall","src":"45100:67:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"45087:6:150"},"nodeType":"YulFunctionCall","src":"45087:81:150"},"nodeType":"YulExpressionStatement","src":"45087:81:150"}]},"nodeType":"YulCase","src":"44936:242:150","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"44244:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"44252:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"44241:2:150"},"nodeType":"YulFunctionCall","src":"44241:14:150"},"nodeType":"YulSwitch","src":"44234:944:150"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"43913:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"43919:3:150","type":""}],"src":"43832:1352:150"},{"body":{"nodeType":"YulBlock","src":"45326:130:150","statements":[{"nodeType":"YulAssignment","src":"45336:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45348:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45359:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45344:3:150"},"nodeType":"YulFunctionCall","src":"45344:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"45336:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45378:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"45393:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"45401:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"45389:3:150"},"nodeType":"YulFunctionCall","src":"45389:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45371:6:150"},"nodeType":"YulFunctionCall","src":"45371:36:150"},"nodeType":"YulExpressionStatement","src":"45371:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45427:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45438:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45423:3:150"},"nodeType":"YulFunctionCall","src":"45423:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"45443:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45416:6:150"},"nodeType":"YulFunctionCall","src":"45416:34:150"},"nodeType":"YulExpressionStatement","src":"45416:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"45287:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"45298:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"45306:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"45317:4:150","type":""}],"src":"45189:267:150"},{"body":{"nodeType":"YulBlock","src":"45598:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"45608:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"45628:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"45622:5:150"},"nodeType":"YulFunctionCall","src":"45622:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"45612:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"45683:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"45691:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45679:3:150"},"nodeType":"YulFunctionCall","src":"45679:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"45698:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"45703:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"45644:34:150"},"nodeType":"YulFunctionCall","src":"45644:66:150"},"nodeType":"YulExpressionStatement","src":"45644:66:150"},{"nodeType":"YulAssignment","src":"45719:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"45730:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"45735:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45726:3:150"},"nodeType":"YulFunctionCall","src":"45726:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"45719:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"45574:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"45579:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"45590:3:150","type":""}],"src":"45461:287:150"},{"body":{"nodeType":"YulBlock","src":"45889:130:150","statements":[{"nodeType":"YulAssignment","src":"45899:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45911:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45922:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45907:3:150"},"nodeType":"YulFunctionCall","src":"45907:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"45899:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45941:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"45956:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"45964:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"45952:3:150"},"nodeType":"YulFunctionCall","src":"45952:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45934:6:150"},"nodeType":"YulFunctionCall","src":"45934:36:150"},"nodeType":"YulExpressionStatement","src":"45934:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45990:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46001:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45986:3:150"},"nodeType":"YulFunctionCall","src":"45986:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"46006:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45979:6:150"},"nodeType":"YulFunctionCall","src":"45979:34:150"},"nodeType":"YulExpressionStatement","src":"45979:34:150"}]},"name":"abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"45850:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"45861:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"45869:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"45880:4:150","type":""}],"src":"45753:266:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function validator_revert_uint48(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint48(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint48(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint208__to_t_uint208__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(208, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        let _2 := 64\n        pos := add(headStart, _2)\n        let tail_2 := add(add(headStart, shl(5, length)), _2)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            let _3 := mload(srcPtr)\n            let _4 := 0xc0\n            mstore(tail_2, mload(_3))\n            mstore(add(tail_2, _1), and(mload(add(_3, _1)), sub(shl(160, 1), 1)))\n            let memberValue0 := mload(add(_3, _2))\n            mstore(add(tail_2, _2), _4)\n            let tail_3 := abi_encode_string(memberValue0, add(tail_2, _4))\n            let _5 := 0x60\n            let memberValue0_1 := mload(add(_3, _5))\n            mstore(add(tail_2, _5), sub(tail_3, tail_2))\n            let tail_4 := abi_encode_string(memberValue0_1, tail_3)\n            let _6 := 0x80\n            mstore(add(tail_2, _6), mload(add(_3, _6)))\n            let _7 := 0xa0\n            mstore(add(tail_2, _7), iszero(iszero(mload(add(_3, _7)))))\n            tail_2 := tail_4\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_6160() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0x01a0)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory_6162() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_array_bytes32_dyn(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_array_bytes32_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_RoundState(value, pos)\n    {\n        if iszero(lt(value, 3)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_RoundState_$45736__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_RoundState(value0, headStart)\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_array_bytes32_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_array_bytes32_dyn(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let _2 := calldataload(_1)\n        let array := allocate_memory(array_allocation_size_bytes(_2))\n        mstore(array, _2)\n        if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n        calldatacopy(add(array, 32), add(_1, 32), _2)\n        mstore(add(add(array, _2), 32), 0)\n        value1 := array\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        value1 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset_1)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_4))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _1)\n        }\n        value2 := dst_1\n    }\n    function abi_decode_tuple_t_contract$_IEmissions_$64454(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_contract$_IB3TRGovernor_$63919(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_struct$_RoundCore_$49597_memory_ptr__to_t_struct$_RoundCore_$49597_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(mload(value0), sub(shl(160, 1), 1)))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffff))\n        mstore(add(headStart, 0x40), and(mload(add(value0, 0x40)), 0xffffffff))\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_bool__to_t_uint256_t_bool__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), iszero(iszero(value1)))\n    }\n    function abi_decode_tuple_t_addresst_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_uint48(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVeBetterPassport_$68601(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IX2EarnApps_$69989(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_uint32(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint32(headStart)\n    }\n    function abi_decode_array_address_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let value := calldataload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_struct$_InitializationData_$45129_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x01a0) { revert(0, 0) }\n        let value := allocate_memory_6160()\n        mstore(value, abi_decode_address(_2))\n        mstore(add(value, 32), calldataload(add(_2, 32)))\n        mstore(add(value, 64), abi_decode_uint32(add(_2, 64)))\n        mstore(add(value, 96), abi_decode_address(add(_2, 96)))\n        mstore(add(value, 128), abi_decode_address(add(_2, 128)))\n        mstore(add(value, 160), abi_decode_address(add(_2, 160)))\n        let offset_1 := calldataload(add(_2, 192))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(value, 192), abi_decode_array_address_dyn(add(_2, offset_1), dataEnd))\n        mstore(add(value, 224), abi_decode_address(add(_2, 224)))\n        let _3 := 256\n        mstore(add(value, _3), abi_decode_address(add(_2, _3)))\n        let _4 := 288\n        mstore(add(value, _4), abi_decode_address(add(_2, _4)))\n        let _5 := 320\n        mstore(add(value, _5), calldataload(add(_2, _5)))\n        let _6 := 352\n        mstore(add(value, _6), calldataload(add(_2, _6)))\n        let _7 := 384\n        mstore(add(value, _7), calldataload(add(_2, _7)))\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IERC5805_$4537__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_decode_address_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let array_1 := allocate_memory(array_allocation_size_bytes(_1))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n        array := array_1\n    }\n    function abi_decode_bool_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0xc0) { revert(0, 0) }\n        let value := allocate_memory_6162()\n        mstore(value, mload(_2))\n        mstore(add(value, 32), abi_decode_address_fromMemory(add(_2, 32)))\n        let offset_1 := mload(add(_2, 64))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(value, 64), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        let offset_2 := mload(add(_2, 96))\n        if gt(offset_2, _1) { revert(0, 0) }\n        mstore(add(value, 96), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n        mstore(add(value, 128), mload(add(_2, 128)))\n        mstore(add(value, 160), abi_decode_bool_fromMemory(add(_2, 160)))\n        value0 := value\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 49)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: round\")\n        mstore(add(headStart, 96), \" is not ended yet\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: apps \")\n        mstore(add(headStart, 96), \"and weights length mismatch\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: no ap\")\n        mstore(add(headStart, 96), \"ps to vote for\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint48(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n        let offset := mload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_bool_t_uint256_t_uint256__to_t_bool_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, iszero(iszero(value0)))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_string(value1, add(headStart, 64))\n    }\n    function checked_add_t_uint48(x, y) -> sum\n    {\n        let _1 := 0xffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_9d5323c03d298f3665f9c80effa6b27f5c39ed1a1abef6617ca37ac3ef83c78a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid VOT3 \")\n        mstore(add(headStart, 96), \"token address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_57ed6daaaec2f84d5ac2e94ea870ab21f89de6e9a43be49afdbbbc1265962af6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 47)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid Voter\")\n        mstore(add(headStart, 96), \"Rewards address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_64d059b7dd2ccd7340b19c50c35633d54df9c087d8d9e026a664da7d13cdb890__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid Emiss\")\n        mstore(add(headStart, 96), \"ions address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_1b706c3f6f8064d2a6b46063ed826329f19a207195e48ce6518c91e184642b0b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 40)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid admin\")\n        mstore(add(headStart, 96), \" address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_uint48__to_t_uint256_t_uint48__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_uint208_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, sub(shl(208, 1), 1)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), and(value2, _1))\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_array_bytes32_dyn(value3, add(headStart, 128))\n    }\n    function abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address_t_uint48__to_t_uint256_t_address_t_uint48__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(value2, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_array_bytes32_dyn_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, mload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        if iszero(lt(value3, 2)) { panic_error_0x21() }\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        let tail_1 := abi_encode_array_bytes32_dyn(value0, add(headStart, 64))\n        let _1 := 32\n        mstore(add(headStart, _1), sub(tail_1, headStart))\n        let pos := tail_1\n        let length := mload(value1)\n        mstore(tail_1, length)\n        pos := add(tail_1, _1)\n        let srcPtr := add(value1, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 9)\n        mstore(add(headStart, 64), \"emissions\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 18)\n        mstore(add(headStart, 64), \"RelayerRewardsPool\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_7b352b2117fb55c13b3c5a2c064144c3c2bffa454e1d2eaec927bc8b59873a33__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 75)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: App s\")\n        mstore(add(headStart, 96), \"hares cap must be less than or e\")\n        mstore(add(headStart, 128), \"qual to 100\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 12)\n        mstore(add(headStart, 64), \"B3TRGovernor\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptr_t_address_t_address_t_uint48__to_t_uint256_t_address_t_address_t_uint48__fromStack_library_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), and(value2, _1))\n        mstore(add(headStart, 96), and(value3, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_address__to_t_uint256_t_address_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), and(value2, _1))\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_array_bytes32_dyn(value3, add(headStart, 128))\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n        let _2 := 32\n        let offset_1 := mload(add(headStart, _2))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let _3 := add(headStart, offset_1)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := mload(_3)\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_4))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _2)\n        let srcEnd := add(add(_3, shl(5, _4)), _2)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, mload(src))\n            dst := add(dst, _2)\n        }\n        value1 := dst_1\n        value2 := mload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 13)\n        mstore(add(headStart, 64), \"voter rewards\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 16)\n        mstore(add(headStart, 64), \"VeBetterPassport\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: there\")\n        mstore(add(headStart, 96), \" can be only one round per time\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 10)\n        mstore(add(headStart, 64), \"X2EarnApps\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_rational_0_by_1__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_uint32__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffff))\n    }\n    function abi_encode_tuple_t_uint32_t_uint32__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := 0xffffffff\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_3f9f23e264779db4725f81ba65dcc2d1271b3772ce5dfda8371be39b9a3c74e6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 87)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: Base \")\n        mstore(add(headStart, 96), \"allocation percentage must be le\")\n        mstore(add(headStart, 128), \"ss than or equal to 100\")\n        tail := add(headStart, 160)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_RoundState_$45736_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        abi_encode_enum_RoundState(value1, add(headStart, 32))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_uint256_t_uint208__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(208, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), 160)\n        tail := abi_encode_array_bytes32_dyn(value4, add(headStart, 160))\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := srcOffset_1\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":11551},{"length":32,"start":11592},{"length":32,"start":11922}]},"linkReferences":{"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol":{"AutoVotingLogicV8":[{"length":20,"start":10487},{"length":20,"start":11122},{"length":20,"start":11297},{"length":20,"start":11429},{"length":20,"start":13165},{"length":20,"start":13259},{"length":20,"start":13545}]}},"object":"6080604052600436106103e55760003560e01c806250ea6f146103ea57806301ffc9a71461041557806302a251a314610445578063059e952b1461046857806306f3f9e6146104a057806306fdde03146104c25780630a0e74ef146104e45780630eca87fb1461050457806319e6e158146105245780632267716c14610544578063248a9ca314610559578063291605f7146105795780632f2ff15d146105a657806330097377146105c657806333653f5d146105e657806333727c4d146105fb5780633469f6e21461061b57806336568abe1461063b5780633b395cbe1461065b5780633d4fd3c71461067b5780633e4f49e61461069b578063412caf0b146106c857806343859632146106f5578063498d91bf146107155780634bb5181a146107355780634bf5d7e9146107555780634cadad2f1461076a5780634f1ef2861461078a57806352d1902d1461079d5780635320a147146107b257806353ed6399146107d257806354fd4d50146107f2578063561b64ef1461081c5780635718160914610831578063593728121461085157806359529edd146108665780635dbdba6e146108865780635fb26367146108a657806360c4247f146108c657806362827733146108e65780636e8a1823146108fb57806374038935146109105780637893d7361461093057806378a81336146109455780637ace248514610965578063802d27091461098557806382afd23b146109a5578063836761e0146109c55780638a829eda146109e55780638ab52d4b14610a055780638f1327c014610a1a57806391d1485414610a7357806391ddadf414610a93578063952f213314610abf57806397c3d33414610ae15780639aeb962b14610af55780639cbe5efd14610b15578063a022756b14610b2a578063a217fddf14610b3f578063a3844e1114610b54578063a45f45aa14610b69578063a461a94d14610b9e578063a56b576514610bbe578063a5ae08e914610bde578063a7713a7014610bfe578063ad3cb1cc14610c13578063b25d6f6214610c44578063b3c93dab14610c64578063bb7de6d414610c84578063bd85948c14610c99578063bed7301014610cae578063c048f6c914610cce578063cd669a7214610cee578063cfea80ed14610d10578063d06efeda14610d30578063d3a368bd14610d50578063d4a8dd9814610d70578063d547741f14610d90578063d68b4c3614610db0578063dd4e2ba514610dd0578063e540d01d14610de5578063e7ad2bed14610e05578063eb9019d414610e25578063f36c8f5c14610e45578063f5fae13614610e67578063f72c0d8b14610e87578063f8ce560a14610ea9578063fb03ec6f14610ec9578063fc0c546a14610ee9575b600080fd5b3480156103f657600080fd5b506103ff610efe565b60405161040c9190614d6e565b60405180910390f35b34801561042157600080fd5b50610435610430366004614d82565b610f1c565b604051901515815260200161040c565b34801561045157600080fd5b5061045a610f2d565b60405190815260200161040c565b34801561047457600080fd5b50610488610483366004614dc0565b610f3c565b6040516001600160d01b03909116815260200161040c565b3480156104ac57600080fd5b506104c06104bb366004614ddd565b610f47565b005b3480156104ce57600080fd5b506104d7610f6c565b60405161040c9190614e46565b3480156104f057600080fd5b5061045a6104ff366004614ddd565b61100d565b34801561051057600080fd5b5061045a61051f366004614ddd565b61102d565b34801561053057600080fd5b5061045a61053f366004614ddd565b61104d565b34801561055057600080fd5b506103ff611070565b34801561056557600080fd5b5061045a610574366004614ddd565b61108e565b34801561058557600080fd5b50610599610594366004614ddd565b6110ae565b60405161040c9190614e59565b3480156105b257600080fd5b506104c06105c1366004614f36565b61128f565b3480156105d257600080fd5b5061045a6105e1366004614ddd565b6112b1565b3480156105f257600080fd5b506103ff6112ce565b34801561060757600080fd5b50610435610616366004614ddd565b6112d8565b34801561062757600080fd5b506104c0610636366004614ddd565b6112fb565b34801561064757600080fd5b506104c0610656366004614f36565b611462565b34801561066757600080fd5b506104c0610676366004615085565b61149a565b34801561068757600080fd5b506104356106963660046150b9565b6114a7565b3480156106a757600080fd5b506106bb6106b6366004614ddd565b6114c2565b60405161040c919061510f565b3480156106d457600080fd5b506106e86106e336600461511d565b61154a565b60405161040c9190615175565b34801561070157600080fd5b50610435610710366004614f36565b611555565b34801561072157600080fd5b5061045a610730366004614ddd565b611592565b34801561074157600080fd5b5061045a610750366004615188565b6115b5565b34801561076157600080fd5b506104d76115e0565b34801561077657600080fd5b5061045a6107853660046150b9565b611689565b6104c06107983660046151d1565b6116b8565b3480156107a957600080fd5b5061045a6116d3565b3480156107be57600080fd5b506103ff6107cd366004614ddd565b6116f0565b3480156107de57600080fd5b506104c06107ed36600461525e565b611719565b3480156107fe57600080fd5b506040805180820190915260018152600760fb1b60208201526104d7565b34801561082857600080fd5b5061045a6118a3565b34801561083d57600080fd5b506104c061084c36600461511d565b6118b0565b34801561085d57600080fd5b5061045a6118d1565b34801561087257600080fd5b5061045a610881366004614ddd565b6118de565b34801561089257600080fd5b506104c06108a136600461511d565b6118ec565b3480156108b257600080fd5b506104356108c136600461511d565b61190d565b3480156108d257600080fd5b5061045a6108e1366004614ddd565b611985565b3480156108f257600080fd5b5061045a611a1e565b34801561090757600080fd5b506103ff611a33565b34801561091c57600080fd5b506104c061092b366004614ddd565b611a51565b34801561093c57600080fd5b506103ff611a72565b34801561095157600080fd5b506104c061096036600461511d565b611a90565b34801561097157600080fd5b506106e8610980366004614ddd565b611ab1565b34801561099157600080fd5b506104356109a036600461511d565b611b24565b3480156109b157600080fd5b506104356109c0366004614ddd565b611b2f565b3480156109d157600080fd5b506104c06109e0366004614ddd565b611b53565b3480156109f157600080fd5b506104c0610a0036600461511d565b611b74565b348015610a1157600080fd5b5061045a611ba8565b348015610a2657600080fd5b50610a3a610a35366004614ddd565b611bba565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff169082015260600161040c565b348015610a7f57600080fd5b50610435610a8e366004614f36565b611c3a565b348015610a9f57600080fd5b50610aa8611c70565b60405165ffffffffffff909116815260200161040c565b348015610acb57600080fd5b5061045a600080516020615d5e83398151915281565b348015610aed57600080fd5b50606461045a565b348015610b0157600080fd5b50610435610b1036600461511d565b611cdf565b348015610b2157600080fd5b5061045a611d0d565b348015610b3657600080fd5b50610488611d18565b348015610b4b57600080fd5b5061045a600081565b348015610b6057600080fd5b506103ff611d95565b348015610b7557600080fd5b50610b89610b843660046150b9565b611db3565b6040805192835290151560208301520161040c565b348015610baa57600080fd5b50610435610bb9366004615320565b611dd8565b348015610bca57600080fd5b5061045a610bd93660046150b9565b611de4565b348015610bea57600080fd5b506104c0610bf93660046150b9565b611e5c565b348015610c0a57600080fd5b5061045a6120a5565b348015610c1f57600080fd5b506104d7604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610c5057600080fd5b506104c0610c5f36600461511d565b6120ca565b348015610c7057600080fd5b506104c0610c7f36600461511d565b6120eb565b348015610c9057600080fd5b5061045a61210c565b348015610ca557600080fd5b5061045a612121565b348015610cba57600080fd5b5061045a610cc9366004615188565b612147565b348015610cda57600080fd5b506104c0610ce936600461511d565b612177565b348015610cfa57600080fd5b5061045a600080516020615d3e83398151915281565b348015610d1c57600080fd5b50610435610d2b36600461511d565b612198565b348015610d3c57600080fd5b5061045a610d4b366004614ddd565b61224e565b348015610d5c57600080fd5b5061045a610d6b366004614ddd565b61227d565b348015610d7c57600080fd5b50610435610d8b366004614ddd565b6122d1565b348015610d9c57600080fd5b506104c0610dab366004614f36565b6122dc565b348015610dbc57600080fd5b50610435610dcb366004615188565b6122f8565b348015610ddc57600080fd5b506104d7612378565b348015610df157600080fd5b506104c0610e00366004615362565b612398565b348015610e1157600080fd5b506104c0610e203660046153e1565b6123b9565b348015610e3157600080fd5b5061045a610e403660046150b9565b6127de565b348015610e5157600080fd5b5061045a600080516020615cbd83398151915281565b348015610e7357600080fd5b506104c0610e82366004614ddd565b6127fa565b348015610e9357600080fd5b5061045a600080516020615cfe83398151915281565b348015610eb557600080fd5b5061045a610ec4366004614ddd565b61281b565b348015610ed557600080fd5b5061045a610ee4366004614ddd565b612826565b348015610ef557600080fd5b506103ff612849565b600080610f09612864565b600301546001600160a01b031692915050565b6000610f2782612888565b92915050565b6000610f376128ad565b905090565b6000610f27826128c5565b600080516020615cbd833981519152610f5f81612955565b610f688261295f565b5050565b60606000610f78612968565b9050806000018054610f899061550b565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb59061550b565b80156110025780601f10610fd757610100808354040283529160200191611002565b820191906000526020600020905b815481529060010190602001808311610fe557829003601f168201915b505050505091505090565b60008061101861298c565b60009384526003016020525050604090205490565b60008061103861298c565b60009384526002016020525050604090205490565b6000806110586129b0565b60009384526001016020525050604090206002015490565b60008061107b612864565b600101546001600160a01b031692915050565b6000806110996129d4565b60009384526020525050604090206001015490565b606060006110ba6129f8565b600084815260028201602090815260408083208054825181850281018501909352808352949550929390929183018282801561111557602002820191906000526020600020905b815481526020019060010190808311611101575b505050505090506000815190506000816001600160401b0381111561113c5761113c614f66565b6040519080825280602002602001820160405280156111b457816020015b6111a16040518060c001604052806000801916815260200160006001600160a01b031681526020016060815260200160608152602001600081526020016000151581525090565b81526020019060019003908161115a5790505b50905060005b82811015611285576111ca6112ce565b6001600160a01b031663785d6e188583815181106111ea576111ea615545565b60200260200101516040518263ffffffff1660e01b815260040161121091815260200190565b600060405180830381865afa15801561122d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261125591908101906155bb565b82828151811061126757611267615545565b6020026020010181905250808061127d90615697565b9150506111ba565b5095945050505050565b6112988261108e565b6112a181612955565b6112ab8383612a1c565b50505050565b6000806112bc612abd565b60009384526020525050604090205490565b6000610f37612ae1565b6000806112e3612abd565b60009384526001016020525050604090205460ff1690565b61130481611b2f565b156113705760405162461bcd60e51b815260206004820152603160248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64604482015270081a5cc81b9bdd08195b991959081e595d607a1b60648201526084015b60405180910390fd5b600061137a612abd565b9050816001036113af57600091825260208181526040808420600190819055928301909152909120805460ff19169091179055565b60026113ba836114c2565b60028111156113cb576113cb6150e5565b036113fb57600082815260208281526040808320949094556001928301905291909120805460ff19169091179055565b6001611406836114c2565b6002811115611417576114176150e5565b03610f685780600061142a6001856156b0565b8152602080820192909252604090810160009081205485825284845282822055600180850190935220805460ff191690911790555050565b6001600160a01b038116331461148b5760405163334bd91960e11b815260040160405180910390fd5b6114958282612aec565b505050565b6114a43382612b64565b50565b60006114bb836114b68461224e565b612be0565b9392505050565b6000806114ce8361224e565b9050806000036114f4576040516333b4e31b60e21b815260048101849052602401611367565b60006114fe611c70565b65ffffffffffff16905060006115138561227d565b905081811061152757506000949350505050565b611530856122d1565b61153f57506001949350505050565b506002949350505050565b6060610f2782612c87565b6000806115606129b0565b6000948552600101602090815260408086206001600160a01b0395909516865260049094019052505090205460ff1690565b60008061159d6129b0565b60009384526001016020525050604090206005015490565b6000806115c06129b0565b600094855260010160209081526040808620948652939052505090205490565b60606115ea612849565b6001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561164857506040513d6000823e601f3d908101601f1916820160405261164591908101906156c3565b60015b611684575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b6000806116968484611de4565b90506000816116a586866127de565b6116af91906156f7565b95945050505050565b6116c0612d14565b6116c982612dbb565b610f688282612dd3565b60006116dd612e87565b50600080516020615d1e83398151915290565b6000806116fb6129f8565b6000938452600101602052505060409020546001600160a01b031690565b805182511461178e5760405162461bcd60e51b815260206004820152603b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20617070732060448201527a0c2dcc840eecad2ced0e8e640d8cadccee8d040dad2e6dac2e8c6d602b1b6064820152608401611367565b60008251116117f65760405162461bcd60e51b815260206004820152602e60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f20617060448201526d3839903a37903b37ba32903337b960911b6064820152608401611367565b3063a461a94d3361180d6118086118a3565b612ed0565b6040518363ffffffff1660e01b815260040161182a92919061570a565b602060405180830381865afa158015611847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186b919061572b565b1561188b57336040516305b27abd60e01b81526004016113679190614d6e565b61189433612198565b50611495338484846000612efe565b6000610f37610d4b611d0d565b600080516020615d5e8339815191526118c881612955565b610f6882612fdc565b6000610f37610d6b611d0d565b6000610f27610ec48361224e565b600080516020615d5e83398151915261190481612955565b610f6882613089565b600080611918611070565b6001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119799190615746565b90506114bb8382612be0565b600080611990613133565b80549091506000826119a36001846156b0565b815481106119b3576119b3615545565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b03168682116119f7576001600160d01b03169695505050505050565b611a0a611a0388612ed0565b8690613157565b6001600160d01b0316979650505050505050565b600080611a296129b0565b6002015492915050565b600080611a3e612864565b600501546001600160a01b031692915050565b600080516020615cbd833981519152611a6981612955565b610f688261320d565b600080611a7d612864565b600401546001600160a01b031692915050565b600080516020615d5e833981519152611aa881612955565b610f68826132ac565b60606000611abd6129f8565b60008481526002820160209081526040918290208054835181840281018401909452808452939450919290830182828015611b1757602002820191906000526020600020905b815481526020019060010190808311611b03575b5050505050915050919050565b6000610f2782613350565b600080611b3b836114c2565b6002811115611b4c57611b4c6150e5565b1492915050565b600080516020615cbd833981519152611b6b81612955565b610f68826133b4565b336001600160a01b03821614611b9f573360405163065ece9760e51b81526004016113679190614d6e565b6114a4816133bd565b600080611bb361298c565b5492915050565b6040805160608101825260008082526020820181905291810182905290611bdf6129f8565b60009384526001016020908152604093849020845160608101865290546001600160a01b0381168252600160a01b810465ffffffffffff1692820192909252600160d01b90910463ffffffff16938101939093525090919050565b600080611c456129d4565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000611c7a612849565b6001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611cd3575060408051601f3d908101601f19168201909252611cd09181019061575f565b60015b61168457610f3761345d565b600080611cea6129b0565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b600080611bb36129f8565b600080611d23611070565b6001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d849190615746565b9050611d8f816128c5565b91505090565b600080611da0612864565b600201546001600160a01b031692915050565b6000806000611dc28585611689565b95670de0b6b3a764000087101595509350505050565b60006114bb8383612be0565b6000611dee611a72565b6001600160a01b031663a56b576584846040518363ffffffff1660e01b8152600401611e1b92919061577c565b602060405180830381865afa158015611e38573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bb9190615746565b3063a461a94d83611e6f6118088561224e565b6040518363ffffffff1660e01b8152600401611e8c92919061570a565b602060405180830381865afa158015611ea9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecd919061572b565b611eec5781604051632b8b7c8960e01b81526004016113679190614d6e565b611ef68183613468565b6000611f00610efe565b6001600160a01b031663d0ebb0ee84611f1a6118086118a3565b6040518363ffffffff1660e01b8152600401611f3792919061570a565b600060405180830381865afa158015611f54573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f7c9190810190615795565b5090506000611f8a84612c87565b90506000806000611f9c8787866134e2565b925092509250841580611fae57508251155b1561208e57611fbc87613350565b1561203357611fca876133bd565b611fd2611a33565b6001600160a01b031663e7dfe6728760016040518363ffffffff1660e01b81526004016120009291906157e3565b600060405180830381600087803b15801561201a57600080fd5b505af115801561202e573d6000803e3d6000fd5b505050505b82516040805187151581526020810192909252810182905286906001600160a01b038916907f55b62c33ca46df94310e16fc7e52e8ed456d93a5f21b1e7b5b4c2428905ddebc9060600160405180910390a350505050505050565b61209c878785856001612efe565b50505050505050565b6000806120b0613133565b90506120bb81613578565b6001600160d01b031691505090565b600080516020615d5e8339815191526120e281612955565b610f68826135b1565b600080516020615d5e83398151915261210381612955565b610f6882613656565b60008061211761298c565b6001015492915050565b6000600080516020615d3e83398151915261213b81612955565b611d8f6136fe565b5090565b6000806121526129b0565b6000948552600190810160209081526040808720958752949091019052505090205490565b600080516020615d5e83398151915261218f81612955565b610f688261379e565b60008060006121a5610efe565b6001600160a01b031663d0ebb0ee856121bf6118086118a3565b6040518363ffffffff1660e01b81526004016121dc92919061570a565b600060405180830381865afa1580156121f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122219190810190615795565b91509150816122475783816040516344c4534960e01b81526004016113679291906157f1565b5092915050565b6000806122596129f8565b600093845260010160205250506040902054600160a01b900465ffffffffffff1690565b6000806122886129f8565b60008481526001820160205260409020549091506122c290600160d01b810463ffffffff1690600160a01b900465ffffffffffff16615815565b65ffffffffffff169392505050565b6000610f278261383b565b6122e58261108e565b6122ee81612955565b6112ab8383612aec565b60006123026112ce565b6001600160a01b031663d2570b948461231a8561224e565b6040518363ffffffff1660e01b81526004016123379291906157e3565b602060405180830381865afa158015612354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bb919061572b565b6060604051806060016040528060218152602001615cdd60219139905090565b600080516020615cbd8339815191526123b081612955565b610f688261385a565b60006123c361398b565b805490915060ff600160401b82041615906001600160401b03166000811580156123ea5750825b90506000826001600160401b031660011480156124065750303b155b905081158015612414575080155b156124325760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561245b57845460ff60401b1916600160401b1785555b85516001600160a01b03166124c85760405162461bcd60e51b815260206004820152602d60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420564f54332060448201526c746f6b656e206164647265737360981b6064820152608401611367565b60808601516001600160a01b031661253a5760405162461bcd60e51b815260206004820152602f60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420566f74657260448201526e52657761726473206164647265737360881b6064820152608401611367565b60a08601516001600160a01b03166125a95760405162461bcd60e51b815260206004820152602c60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c696420456d69737360448201526b696f6e73206164647265737360a01b6064820152608401611367565b6125db6040518060400160405280601181526020017058416c6c6f636174696f6e566f74696e6760781b8152506139af565b6125f38661012001518760a0015188608001516139c0565b61260086604001516139d3565b61260e8661018001516139e4565b8551612619906139f5565b6126268660200151613a06565b61263a866101400151876101600151613a17565b612642613a29565b61264a613a29565b612652613a35565b61265a613a35565b60005b8660c00151518110156127375760006001600160a01b03168760c00151828151811061268b5761268b615545565b60200260200101516001600160a01b0316036126fa5760405162461bcd60e51b815260206004820152602860248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c69642061646d696e604482015267206164647265737360c01b6064820152608401611367565b6127246000801b8860c00151838151811061271757612717615545565b6020026020010151612a1c565b508061272f81615697565b91505061265d565b50612754600080516020615cfe8339815191528760e00151612a1c565b50612771600080516020615cbd8339815191528760600151612a1c565b5061278f600080516020615d5e833981519152876101000151612a1c565b5083156127d657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b60006114bb838360405180602001604052806000815250613a3d565b600080516020615cbd83398151915261281281612955565b610f6882613ab5565b6000610f2782613b5d565b6000806128316129b0565b60009384526001016020525050604090206003015490565b600080612854613bf4565b546001600160a01b031692915050565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b60006001600160e01b03198216637965db0b60e01b1480610f275750610f2782613c18565b6000806128b8613c4d565b5463ffffffff1692915050565b6000806128d0613c71565b6040516305832d3f60e31b81526004810182905265ffffffffffff8516602482015290915073__$346a993eb30a22a14ad5c6296c49c7f1c8$__90632c1969f890604401602060405180830381865af4158015612931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bb9190615834565b6114a48133613c95565b6114a481613cc0565b7f7fb63bcd433c69110ad961bfbe38aef51814cbb9e11af6fe21011ae43fb4be0090565b7fc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c350090565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b7f0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f190090565b600080612a276129d4565b9050612a338484611c3a565b612ab3576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055612a693390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610f27565b6000915050610f27565b7f7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e50250090565b600080612854612864565b600080612af76129d4565b9050612b038484611c3a565b15612ab3576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610f27565b6000612b6e613c71565b905073__$346a993eb30a22a14ad5c6296c49c7f1c8$__638770fb4d82612b936112ce565b86866040518563ffffffff1660e01b8152600401612bb4949392919061585d565b60006040518083038186803b158015612bcc57600080fd5b505af415801561209c573d6000803e3d6000fd5b600080612beb613c71565b6040516312ec1a3760e11b8152600481018290526001600160a01b038616602482015265ffffffffffff8516604482015290915073__$346a993eb30a22a14ad5c6296c49c7f1c8$__906325d8346e90606401602060405180830381865af4158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f919061572b565b949350505050565b60606000612c93613c71565b60405163041666cf60e11b815290915073__$346a993eb30a22a14ad5c6296c49c7f1c8$__9063082ccd9e90612ccf9084908790600401615899565b600060405180830381865af4158015612cec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114bb919081019061590b565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480612d9b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612d8f600080516020615d1e833981519152546001600160a01b031690565b6001600160a01b031614155b15612db95760405163703e46dd60e11b815260040160405180910390fd5b565b600080516020615cfe833981519152610f6881612955565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612e2d575060408051601f3d908101601f19168201909252612e2a91810190615746565b60015b612e4c5781604051634c9c8ce360e01b81526004016113679190614d6e565b600080516020615d1e8339815191528114612e7d57604051632a87526960e21b815260048101829052602401611367565b6114958383613d5c565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612db95760405163703e46dd60e11b815260040160405180910390fd5b600065ffffffffffff821115612143576030826040516306dfcc6560e41b815260040161136792919061593f565b612f1184612f0c6000613db2565b613dd5565b50612f1e84868585613e14565b8015612fd557612f2c611a33565b6001600160a01b0316636cf88e7333878760006040518563ffffffff1660e01b8152600401612f5e9493929190615952565b600060405180830381600087803b158015612f7857600080fd5b505af1158015612f8c573d6000803e3d6000fd5b5050505083856001600160a01b03167f64dbcb1d23926d04f2fea8c7cc3f5d02846ee1e48940419cf422f69ae35813aa8585604051612fcc929190615990565b60405180910390a35b5050505050565b6001600160a01b03811661301f57604051630e21b92360e41b8152602060048201526009602482015268656d697373696f6e7360b81b6044820152606401611367565b6000613029612864565b6001810180546001600160a01b0319166001600160a01b0385169081179091556040519192507f602f97505d28fb0206888a82df7cb072ec7ff056c77134b64368322bcb9f5aba9161307d919085906159e7565b60405180910390a15050565b6001600160a01b0381166130d557604051630e21b92360e41b815260206004820152601260248201527114995b185e595c94995dd85c991cd41bdbdb60721b6044820152606401611367565b60006130df612864565b6005810180546001600160a01b0319166001600160a01b0385169081179091556040519192507f1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e9161307d919085906159e7565b7f49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c3240090565b8154600090818160058111156131b657600061317284614344565b61317c90856156b0565b60008881526020902090915081015465ffffffffffff90811690871610156131a6578091506131b4565b6131b18160016156f7565b92505b505b60006131c48787858561442c565b905080156131ff576131e9876131db6001846156b0565b600091825260209091200190565b54600160301b90046001600160d01b0316613202565b60005b979650505050505050565b60648111156132985760405162461bcd60e51b815260206004820152604b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20417070207360448201527f686172657320636170206d757374206265206c657373207468616e206f72206560648201526a07175616c20746f203130360ac1b608482015260a401611367565b60006132a261298c565b6001019190915550565b6001600160a01b0381166132f257604051630e21b92360e41b815260206004820152600c60248201526b2119aa2923b7bb32b93737b960a11b6044820152606401611367565b60006132fc612864565b6004810180546001600160a01b0319166001600160a01b0385169081179091556040519192507fb77fb0ff0b0446f13e672c64b103afd9da2774098ab3de2150eca002248bb2989161307d919085906159e7565b60008061335b613c71565b604051631c6fb9e560e31b815290915073__$346a993eb30a22a14ad5c6296c49c7f1c8$__9063e37dcf28906133979084908790600401615899565b602060405180830381865af4158015612354573d6000803e3d6000fd5b6114a48161448e565b60006133c7613c71565b905073__$346a993eb30a22a14ad5c6296c49c7f1c8$__633e17cd588230856133ee611c70565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b0392831660248501529116604483015265ffffffffffff16606482015260840160006040518083038186803b15801561344957600080fd5b505af41580156127d6573d6000803e3d6000fd5b6000610f3743612ed0565b613470611a33565b6001600160a01b031663e5ed920b8383336040516001600160e01b031960e086901b16815260048101939093526001600160a01b03918216602484015216604482015260640160006040518083038186803b1580156134ce57600080fd5b505afa1580156127d6573d6000803e3d6000fd5b606080600073__$346a993eb30a22a14ad5c6296c49c7f1c8$__63ea66e04a308888886040518563ffffffff1660e01b81526004016135249493929190615a01565b600060405180830381865af4158015613541573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135699190810190615a34565b92509250925093509350939050565b805460009080156135a857613592836131db6001846156b0565b54600160301b90046001600160d01b03166114bb565b60009392505050565b6001600160a01b0381166135f857604051630e21b92360e41b815260206004820152600d60248201526c766f746572207265776172647360981b6044820152606401611367565b6000613602612864565b6002810180546001600160a01b0319166001600160a01b0385169081179091556040519192507f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c49161307d919085906159e7565b6001600160a01b0381166136a057604051630e21b92360e41b815260206004820152601060248201526f159950995d1d195c94185cdcdc1bdc9d60821b6044820152606401611367565b60006136aa612864565b6003810180546001600160a01b0319166001600160a01b0385169081179091556040519192507f1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd711609161307d919085906159e7565b6000338161370a611d0d565b9050801561378e5761371b81611b2f565b1561378e5760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20746865726560448201527f2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65006064820152608401611367565b613797826144dd565b9250505090565b6001600160a01b0381166137e257604051630e21b92360e41b815260206004820152600a60248201526958324561726e4170707360b01b6044820152606401611367565b60006137ec612864565b80546001600160a01b0319166001600160a01b03841690811782556040519192507f6183e90e12923ae97651b48be341fb5bcfd7bb63a987353dbcf962851011974d9161307d919085906159e7565b60006138468261104d565b613852610ec48461224e565b111592915050565b8063ffffffff166000036138845760405163f1cfbf0560e01b815260006004820152602401611367565b600061388e611070565b6001600160a01b0316635bec4cb46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138ef9190615746565b9050808263ffffffff161061391f5760405163f1cfbf0560e01b815263ffffffff83166004820152602401611367565b6000613929613c4d565b80546040805163ffffffff928316815291861660208301529192507f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1805463ffffffff191663ffffffff939093169290921790915550565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6139b7614792565b6114a4816147b7565b6139c8614792565b6114958383836147d6565b6139db614792565b6114a481614828565b6139ec614792565b6114a481614839565b6139fd614792565b6114a481614855565b613a0e614792565b6114a481614889565b613a1f614792565b610f688282614891565b613a31614792565b612db95b612db9614792565b6000613a47612849565b6001600160a01b0316633a46b1a885856040518363ffffffff1660e01b8152600401613a7492919061577c565b602060405180830381865afa158015613a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615746565b6064811115613b4c5760405162461bcd60e51b815260206004820152605760248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20426173652060448201527f616c6c6f636174696f6e2070657263656e74616765206d757374206265206c6560648201527607373207468616e206f7220657175616c20746f2031303604c1b608482015260a401611367565b6000613b5661298c565b9190915550565b60006064613b6a83611985565b613b72612849565b6001600160a01b0316638e539e8c856040518263ffffffff1660e01b8152600401613b9f91815260200190565b602060405180830381865afa158015613bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613be09190615746565b613bea9190615af7565b610f279190615b24565b7f6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab50090565b60006001600160e01b03198216630d65a4d560e41b1480610f2757506301ffc9a760e01b6001600160e01b0319831614610f27565b7fd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a9990090565b7f38ba4d920474025bc119851d51630794ab25dc91b5f613afc3c0e85f09fdc10090565b613c9f8282611c3a565b610f6857808260405163e2517d3f60e01b815260040161136792919061577c565b606480821115613ce757818160405163243e544560e01b81526004016113679291906157e3565b6000613cf16120a5565b90506000613cfd613133565b9050613d1b613d0a611c70565b613d13866148ab565b8391906148da565b50507f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b46339978285604051613d4e9291906157e3565b60405180910390a150505050565b613d65826148f5565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613daa576114958282614951565b610f686149be565b6000816002811115613dc657613dc66150e5565b600160ff919091161b92915050565b600080613de1846114c2565b9050600083613def83613db2565b16036114bb578381846040516321b2b5ab60e11b815260040161136793929190615b46565b613e1e8484611555565b15613e3e57826040516371c6af4960e01b81526004016113679190614d6e565b6000613e486129b0565b90506000613e558661224e565b90506000806000613e668885611689565b905060005b87518110156141535760005b81811015613ee357888181518110613e9157613e91615545565b6020026020010151898381518110613eab57613eab615545565b602002602001015103613ed157604051632367acf760e21b815260040160405180910390fd5b80613edb81615697565b915050613e77565b50868181518110613ef657613ef6615545565b602002602001015184613f0991906156f7565b935081841115613f2c57604051630cc9baf760e01b815260040160405180910390fd5b613f4f888281518110613f4157613f41615545565b60200260200101518b6122f8565b613f8957878181518110613f6557613f65615545565b60200260200101516040516325c5391960e11b815260040161136791815260200190565b60008660010160008c815260200190815260200160002060010160008a8481518110613fb757613fb7615545565b602002602001015181526020019081526020016000205490506000670de0b6b3a7640000898481518110613fed57613fed615545565b60200260200101511161402857633b9aca0089848151811061401157614011615545565b60200260200101516140239190615b24565b61404a565b61404a89848151811061403d5761403d615545565b6020026020010151614344565b9050600061405882846156f7565b90506140648380615af7565b61406e8280615af7565b61407891906156b0565b61408290876156f7565b9550808960010160008f815260200190815260200160002060010160008d87815181106140b1576140b1615545565b60200260200101518152602001908152602001600020819055508984815181106140dd576140dd615545565b60200260200101518960010160008f815260200190815260200160002060000160008d878151811061411157614111615545565b60200260200101518152602001908152602001600020600082825461413691906156f7565b92505081905550505050808061414b90615697565b915050613e6b565b5061415c611a1e565b8310156141875761416b611a1e565b8360405163742f62c360e01b81526004016113679291906157e3565b6000898152600186016020526040812060030180548492906141aa9084906156f7565b90915550506000898152600186016020526040812060020180548592906141d29084906156f7565b909155505060008981526001868101602081815260408085206001600160a01b038e168652600481018352908520805460ff19169094179093558c84525260050180549161421f83615697565b90915550506001600160a01b03881660009081526020869052604090205460ff16614268576001600160a01b0388166000908152602086905260409020805460ff191660011790555b614270611d95565b6001600160a01b0316632f18339d858a8661428a88614344565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b03909216602484015260448301526064820152608401600060405180830381600087803b1580156142dd57600080fd5b505af11580156142f1573d6000803e3d6000fd5b5050505088886001600160a01b03167fe2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e28989604051614331929190615990565b60405180910390a3505050505050505050565b60008160000361435657506000919050565b60006001614363846149dd565b901c6001901b9050600181848161437c5761437c615b0e565b048201901c9050600181848161439457614394615b0e565b048201901c905060018184816143ac576143ac615b0e565b048201901c905060018184816143c4576143c4615b0e565b048201901c905060018184816143dc576143dc615b0e565b048201901c905060018184816143f4576143f4615b0e565b048201901c9050600181848161440c5761440c615b0e565b048201901c90506114bb8182858161442657614426615b0e565b04614a71565b60005b818310156144865760006144438484614a87565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561447257809250614480565b61447d8160016156f7565b93505b5061442f565b509392505050565b60006144986129b0565b90507fa5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f058160020154836040516144cf9291906157e3565b60405180910390a160020155565b6000806144e86129f8565b905080600001600081546144fb90615697565b9091555080546000818152600183016020526040902054909250600160a01b900465ffffffffffff16156145515781614533836114c2565b6040516321b2b5ab60e11b8152611367929190600090600401615b46565b6001821115614568576145686106366001846156b0565b60006145726112ce565b6001600160a01b031663c04cff196040518163ffffffff1660e01b8152600401600060405180830381865afa1580156145af573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526145d7919081019061590b565b6000848152600284016020908152604090912082519293506145fd929091840190614d17565b5061460783614aa2565b6000614611611c70565b65ffffffffffff1690506000614625610f2d565b6000868152600186016020526040902080546001600160a01b0319166001600160a01b03891617815590915061465a83612ed0565b815465ffffffffffff91909116600160a01b0265ffffffffffff60a01b1990911617815561468782614adb565b815463ffffffff91909116600160d01b0263ffffffff60d01b1990911617815560006146ba6146b585612ed0565b6128c5565b90506001600160d01b0381161561473f576146d3611a33565b604051632fb93c8560e11b8152600481018990526001600160d01b03831660248201526001600160a01b039190911690635f72790a90604401600060405180830381600087803b15801561472657600080fd5b505af115801561473a573d6000803e3d6000fd5b505050505b7fed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c887898661476d87826156f7565b8960405161477f959493929190615b68565b60405180910390a1505050505050919050565b61479a614b07565b612db957604051631afcd79f60e31b815260040160405180910390fd5b6147bf614792565b60006147c9612968565b9050806114958382615be1565b6147de614792565b60006147e8612864565b80546001600160a01b03199081166001600160a01b0396871617825560018201805482169587169590951790945560020180549093169190931617905550565b614830614792565b6114a48161385a565b614841614792565b600061484b6129b0565b6002019190915550565b61485d614792565b6000614867613bf4565b80546001600160a01b0319166001600160a01b03939093169290921790915550565b61295f614792565b614899614792565b6148a282613ab5565b610f688161320d565b60006001600160d01b038211156121435760d0826040516306dfcc6560e41b815260040161136792919061593f565b6000806148e8858585614b21565b915091505b935093915050565b806001600160a01b03163b6000036149225780604051634c9c8ce360e01b81526004016113679190614d6e565b600080516020615d1e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161496e9190615ca0565b600060405180830381855af49150503d80600081146149a9576040519150601f19603f3d011682016040523d82523d6000602084013e6149ae565b606091505b50915091506116af858383614c9b565b3415612db95760405163b398979f60e01b815260040160405180910390fd5b600080608083901c156149f257608092831c92015b604083901c15614a0457604092831c92015b602083901c15614a1657602092831c92015b601083901c15614a2857601092831c92015b600883901c15614a3a57600892831c92015b600483901c15614a4c57600492831c92015b600283901c15614a5e57600292831c92015b600183901c15610f275760010192915050565b6000818310614a8057816114bb565b5090919050565b6000614a966002848418615b24565b6114bb908484166156f7565b6000614aac61298c565b805460009384526002820160209081526040808620929092556001830154600390930190529092209190915550565b600063ffffffff821115612143576020826040516306dfcc6560e41b815260040161136792919061593f565b6000614b1161398b565b54600160401b900460ff16919050565b825460009081908015614c40576000614b3f876131db6001856156b0565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015614b9357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603614bdf5784614bb6886131db6001866156b0565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055614c30565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506148ed9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816148ed565b606082614cb057614cab82614cee565b6114bb565b8151158015614cc757506001600160a01b0384163b155b15614ce75783604051639996b31560e01b81526004016113679190614d6e565b50806114bb565b805115614cfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b828054828255906000526020600020908101928215614d52579160200282015b82811115614d52578251825591602001919060010190614d37565b506121439291505b808211156121435760008155600101614d5a565b6001600160a01b0391909116815260200190565b600060208284031215614d9457600080fd5b81356001600160e01b0319811681146114bb57600080fd5b65ffffffffffff811681146114a457600080fd5b600060208284031215614dd257600080fd5b81356114bb81614dac565b600060208284031215614def57600080fd5b5035919050565b60005b83811015614e11578181015183820152602001614df9565b50506000910152565b60008151808452614e32816020860160208601614df6565b601f01601f19169290920160200192915050565b6020815260006114bb6020830184614e1a565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614f0857888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614ec182870182614e1a565b91505060608083015186830382880152614edb8382614e1a565b6080858101519089015260a094850151151594909701939093525050509386019390860190600101614e80565b509098975050505050505050565b6001600160a01b03811681146114a457600080fd5b803561168481614f16565b60008060408385031215614f4957600080fd5b823591506020830135614f5b81614f16565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b0381118282101715614f9f57614f9f614f66565b60405290565b60405160c081016001600160401b0381118282101715614f9f57614f9f614f66565b604051601f8201601f191681016001600160401b0381118282101715614fef57614fef614f66565b604052919050565b60006001600160401b0382111561501057615010614f66565b5060051b60200190565b600082601f83011261502b57600080fd5b8135602061504061503b83614ff7565b614fc7565b82815260059290921b8401810191818101908684111561505f57600080fd5b8286015b8481101561507a5780358352918301918301615063565b509695505050505050565b60006020828403121561509757600080fd5b81356001600160401b038111156150ad57600080fd5b612c7f8482850161501a565b600080604083850312156150cc57600080fd5b82356150d781614f16565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b6003811061510b5761510b6150e5565b9052565b60208101610f2782846150fb565b60006020828403121561512f57600080fd5b81356114bb81614f16565b600081518084526020808501945080840160005b8381101561516a5781518752958201959082019060010161514e565b509495945050505050565b6020815260006114bb602083018461513a565b6000806040838503121561519b57600080fd5b50508035926020909101359150565b60006001600160401b038211156151c3576151c3614f66565b50601f01601f191660200190565b600080604083850312156151e457600080fd5b82356151ef81614f16565b915060208301356001600160401b0381111561520a57600080fd5b8301601f8101851361521b57600080fd5b803561522961503b826151aa565b81815286602083850101111561523e57600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008060006060848603121561527357600080fd5b833592506020808501356001600160401b038082111561529257600080fd5b61529e8883890161501a565b945060408701359150808211156152b457600080fd5b508501601f810187136152c657600080fd5b80356152d461503b82614ff7565b81815260059190911b820183019083810190898311156152f357600080fd5b928401925b82841015615311578335825292840192908401906152f8565b80955050505050509250925092565b6000806040838503121561533357600080fd5b823561533e81614f16565b91506020830135614f5b81614dac565b803563ffffffff8116811461168457600080fd5b60006020828403121561537457600080fd5b6114bb8261534e565b600082601f83011261538e57600080fd5b8135602061539e61503b83614ff7565b82815260059290921b840181019181810190868411156153bd57600080fd5b8286015b8481101561507a5780356153d481614f16565b83529183019183016153c1565b6000602082840312156153f357600080fd5b81356001600160401b038082111561540a57600080fd5b908301906101a0828603121561541f57600080fd5b615427614f7c565b61543083614f2b565b8152602083013560208201526154486040840161534e565b604082015261545960608401614f2b565b606082015261546a60808401614f2b565b608082015261547b60a08401614f2b565b60a082015260c08301358281111561549257600080fd5b61549e8782860161537d565b60c0830152506154b060e08401614f2b565b60e082015261010091506154c5828401614f2b565b8282015261012091506154d9828401614f2b565b918101919091526101408281013590820152610160808301359082015261018091820135918101919091529392505050565b600181811c9082168061551f57607f821691505b60208210810361553f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b805161168481614f16565b600082601f83011261557757600080fd5b815161558561503b826151aa565b81815284602083860101111561559a57600080fd5b612c7f826020830160208701614df6565b8051801515811461168457600080fd5b6000602082840312156155cd57600080fd5b81516001600160401b03808211156155e457600080fd5b9083019060c082860312156155f857600080fd5b615600614fa5565b825181526156106020840161555b565b602082015260408301518281111561562757600080fd5b61563387828601615566565b60408301525060608301518281111561564b57600080fd5b61565787828601615566565b6060830152506080830151608082015261567360a084016155ab565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016156a9576156a9615681565b5060010190565b81810381811115610f2757610f27615681565b6000602082840312156156d557600080fd5b81516001600160401b038111156156eb57600080fd5b612c7f84828501615566565b80820180821115610f2757610f27615681565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b60006020828403121561573d57600080fd5b6114bb826155ab565b60006020828403121561575857600080fd5b5051919050565b60006020828403121561577157600080fd5b81516114bb81614dac565b6001600160a01b03929092168252602082015260400190565b600080604083850312156157a857600080fd5b6157b1836155ab565b60208401519092506001600160401b038111156157cd57600080fd5b6157d985828601615566565b9150509250929050565b918252602082015260400190565b6001600160a01b0383168152604060208201819052600090612c7f90830184614e1a565b65ffffffffffff81811683821601908082111561224757612247615681565b60006020828403121561584657600080fd5b81516001600160d01b03811681146114bb57600080fd5b8481526001600160a01b0384811660208301528316604082015260806060820181905260009061588f9083018461513a565b9695505050505050565b9182526001600160a01b0316602082015260400190565b600082601f8301126158c157600080fd5b815160206158d161503b83614ff7565b82815260059290921b840181019181810190868411156158f057600080fd5b8286015b8481101561507a57805183529183019183016158f4565b60006020828403121561591d57600080fd5b81516001600160401b0381111561593357600080fd5b612c7f848285016158b0565b60ff929092168252602082015260400190565b6001600160a01b03858116825284166020820152604081018390526080810160028310615981576159816150e5565b82606083015295945050505050565b6040815260006159a3604083018561513a565b82810360208481019190915284518083528582019282019060005b818110156159da578451835293830193918301916001016159be565b5090979650505050505050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061588f9083018461513a565b600080600060608486031215615a4957600080fd5b83516001600160401b0380821115615a6057600080fd5b615a6c878388016158b0565b9450602091508186015181811115615a8357600080fd5b86019050601f81018713615a9657600080fd5b8051615aa461503b82614ff7565b81815260059190911b82018301908381019089831115615ac357600080fd5b928401925b82841015615ae157835182529284019290840190615ac8565b8096505050505050604084015190509250925092565b8082028115828204841417610f2757610f27615681565b634e487b7160e01b600052601260045260246000fd5b600082615b4157634e487b7160e01b600052601260045260246000fd5b500490565b83815260608101615b5a60208301856150fb565b826040830152949350505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061320260a083018461513a565b601f82111561149557600081815260208120601f850160051c81016020861015615bc25750805b601f850160051c820191505b818110156127d657828155600101615bce565b81516001600160401b03811115615bfa57615bfa614f66565b615c0e81615c08845461550b565b84615b9b565b602080601f831160018114615c435760008415615c2b5750858301515b600019600386901b1c1916600185901b1785556127d6565b600085815260208120601f198616915b82811015615c7257888601518255948401946001909101908401615c53565b5085821015615c905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251615cb2818460208701614df6565b919091019291505056fe71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1737570706f72743d782d616c6c6f636174696f6e732671756f72756d3d6175746f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7a2646970667358221220187c72fb2005fe4ddfaad843fd0ba71efa804b71f15859dc533aa244c3efad9464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3E5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x50EA6F EQ PUSH2 0x3EA JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x415 JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0x59E952B EQ PUSH2 0x468 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x4A0 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x4C2 JUMPI DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x4E4 JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0x504 JUMPI DUP1 PUSH4 0x19E6E158 EQ PUSH2 0x524 JUMPI DUP1 PUSH4 0x2267716C EQ PUSH2 0x544 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x559 JUMPI DUP1 PUSH4 0x291605F7 EQ PUSH2 0x579 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x5A6 JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x5C6 JUMPI DUP1 PUSH4 0x33653F5D EQ PUSH2 0x5E6 JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x5FB JUMPI DUP1 PUSH4 0x3469F6E2 EQ PUSH2 0x61B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x63B JUMPI DUP1 PUSH4 0x3B395CBE EQ PUSH2 0x65B JUMPI DUP1 PUSH4 0x3D4FD3C7 EQ PUSH2 0x67B JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x69B JUMPI DUP1 PUSH4 0x412CAF0B EQ PUSH2 0x6C8 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x6F5 JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x715 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x735 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x755 JUMPI DUP1 PUSH4 0x4CADAD2F EQ PUSH2 0x76A JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x78A JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x79D JUMPI DUP1 PUSH4 0x5320A147 EQ PUSH2 0x7B2 JUMPI DUP1 PUSH4 0x53ED6399 EQ PUSH2 0x7D2 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x7F2 JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0x81C JUMPI DUP1 PUSH4 0x57181609 EQ PUSH2 0x831 JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x851 JUMPI DUP1 PUSH4 0x59529EDD EQ PUSH2 0x866 JUMPI DUP1 PUSH4 0x5DBDBA6E EQ PUSH2 0x886 JUMPI DUP1 PUSH4 0x5FB26367 EQ PUSH2 0x8A6 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x8C6 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x8E6 JUMPI DUP1 PUSH4 0x6E8A1823 EQ PUSH2 0x8FB JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0x910 JUMPI DUP1 PUSH4 0x7893D736 EQ PUSH2 0x930 JUMPI DUP1 PUSH4 0x78A81336 EQ PUSH2 0x945 JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x965 JUMPI DUP1 PUSH4 0x802D2709 EQ PUSH2 0x985 JUMPI DUP1 PUSH4 0x82AFD23B EQ PUSH2 0x9A5 JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x9C5 JUMPI DUP1 PUSH4 0x8A829EDA EQ PUSH2 0x9E5 JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0xA05 JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0xA1A JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xA73 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xA93 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xABF JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xAE1 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xAF5 JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0xB15 JUMPI DUP1 PUSH4 0xA022756B EQ PUSH2 0xB2A JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xB3F JUMPI DUP1 PUSH4 0xA3844E11 EQ PUSH2 0xB54 JUMPI DUP1 PUSH4 0xA45F45AA EQ PUSH2 0xB69 JUMPI DUP1 PUSH4 0xA461A94D EQ PUSH2 0xB9E JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xBBE JUMPI DUP1 PUSH4 0xA5AE08E9 EQ PUSH2 0xBDE JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0xBFE JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xC13 JUMPI DUP1 PUSH4 0xB25D6F62 EQ PUSH2 0xC44 JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xC64 JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xC84 JUMPI DUP1 PUSH4 0xBD85948C EQ PUSH2 0xC99 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0xCAE JUMPI DUP1 PUSH4 0xC048F6C9 EQ PUSH2 0xCCE JUMPI DUP1 PUSH4 0xCD669A72 EQ PUSH2 0xCEE JUMPI DUP1 PUSH4 0xCFEA80ED EQ PUSH2 0xD10 JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0xD30 JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0xD50 JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0xD70 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xD90 JUMPI DUP1 PUSH4 0xD68B4C36 EQ PUSH2 0xDB0 JUMPI DUP1 PUSH4 0xDD4E2BA5 EQ PUSH2 0xDD0 JUMPI DUP1 PUSH4 0xE540D01D EQ PUSH2 0xDE5 JUMPI DUP1 PUSH4 0xE7AD2BED EQ PUSH2 0xE05 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xE25 JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0xE45 JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0xE67 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xE87 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xEA9 JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0xEC9 JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0xEE9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0xEFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x421 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x430 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D82 JUMP JUMPDEST PUSH2 0xF1C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xF2D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x488 PUSH2 0x483 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DC0 JUMP JUMPDEST PUSH2 0xF3C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x4BB CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0xF47 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D7 PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x4E46 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x4FF CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x100D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x510 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x51F CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x102D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x53F CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x104D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x550 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1070 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x574 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x108E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x599 PUSH2 0x594 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x10AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x4E59 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x5C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x128F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x5E1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x12B1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x12CE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x607 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x616 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x12D8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x636 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x12FB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x647 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x656 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x1462 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x667 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x676 CALLDATASIZE PUSH1 0x4 PUSH2 0x5085 JUMP JUMPDEST PUSH2 0x149A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x687 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x696 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x14A7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6BB PUSH2 0x6B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x510F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6E8 PUSH2 0x6E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x154A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x5175 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x701 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x710 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x1555 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x721 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x730 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1592 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x741 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x750 CALLDATASIZE PUSH1 0x4 PUSH2 0x5188 JUMP JUMPDEST PUSH2 0x15B5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x761 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D7 PUSH2 0x15E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x776 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x785 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x1689 JUMP JUMPDEST PUSH2 0x4C0 PUSH2 0x798 CALLDATASIZE PUSH1 0x4 PUSH2 0x51D1 JUMP JUMPDEST PUSH2 0x16B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x16D3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x7CD CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x16F0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x7ED CALLDATASIZE PUSH1 0x4 PUSH2 0x525E JUMP JUMPDEST PUSH2 0x1719 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x7 PUSH1 0xFB SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x4D7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x828 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x18A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x84C CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x18B0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x18D1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x872 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x881 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x18DE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x892 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x8A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x18EC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x8C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x190D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x8E1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1985 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x1A1E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x907 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1A33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x92B CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1A51 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x93C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1A72 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x951 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x960 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x1A90 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x971 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6E8 PUSH2 0x980 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1AB1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x9A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x1B24 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x9C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1B2F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0x9E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1B53 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xA00 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x1B74 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x1BA8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3A PUSH2 0xA35 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x1BBA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xA8E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x1C3A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAA8 PUSH2 0x1C70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xACB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH2 0x45A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB01 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xB10 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x1CDF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x1D0D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x488 PUSH2 0x1D18 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x1D95 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB89 PUSH2 0xB84 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x1DB3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE SWAP1 ISZERO ISZERO PUSH1 0x20 DUP4 ADD MSTORE ADD PUSH2 0x40C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xBB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x5320 JUMP JUMPDEST PUSH2 0x1DD8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xBD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x1DE4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xBF9 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x1E5C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x20A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC1F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xC5F CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x20CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xC7F CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x20EB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x210C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0x2121 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xCC9 CALLDATASIZE PUSH1 0x4 PUSH2 0x5188 JUMP JUMPDEST PUSH2 0x2147 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xCE9 CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x2177 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xD2B CALLDATASIZE PUSH1 0x4 PUSH2 0x511D JUMP JUMPDEST PUSH2 0x2198 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xD4B CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x224E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xD6B CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x227D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xD8B CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x22D1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xDAB CALLDATASIZE PUSH1 0x4 PUSH2 0x4F36 JUMP JUMPDEST PUSH2 0x22DC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0xDCB CALLDATASIZE PUSH1 0x4 PUSH2 0x5188 JUMP JUMPDEST PUSH2 0x22F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D7 PUSH2 0x2378 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xE00 CALLDATASIZE PUSH1 0x4 PUSH2 0x5362 JUMP JUMPDEST PUSH2 0x2398 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xE20 CALLDATASIZE PUSH1 0x4 PUSH2 0x53E1 JUMP JUMPDEST PUSH2 0x23B9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xE40 CALLDATASIZE PUSH1 0x4 PUSH2 0x50B9 JUMP JUMPDEST PUSH2 0x27DE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4C0 PUSH2 0xE82 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x27FA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xEC4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x281B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xED5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x45A PUSH2 0xEE4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4DDD JUMP JUMPDEST PUSH2 0x2826 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3FF PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF09 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x2888 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF37 PUSH2 0x28AD JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x28C5 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xF5F DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x295F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xF78 PUSH2 0x2968 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xF89 SWAP1 PUSH2 0x550B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xFB5 SWAP1 PUSH2 0x550B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1002 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xFD7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1002 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xFE5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1018 PUSH2 0x298C JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1038 PUSH2 0x298C JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1058 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x107B PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1099 PUSH2 0x29D4 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x10BA PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1115 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1101 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x113C JUMPI PUSH2 0x113C PUSH2 0x4F66 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x11B4 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x11A1 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x115A JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1285 JUMPI PUSH2 0x11CA PUSH2 0x12CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x785D6E18 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x11EA JUMPI PUSH2 0x11EA PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1210 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x122D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1255 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55BB JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1267 JUMPI PUSH2 0x1267 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP1 DUP1 PUSH2 0x127D SWAP1 PUSH2 0x5697 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11BA JUMP JUMPDEST POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1298 DUP3 PUSH2 0x108E JUMP JUMPDEST PUSH2 0x12A1 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0x12AB DUP4 DUP4 PUSH2 0x2A1C JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12BC PUSH2 0x2ABD JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF37 PUSH2 0x2AE1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12E3 PUSH2 0x2ABD JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1304 DUP2 PUSH2 0x1B2F JUMP JUMPDEST ISZERO PUSH2 0x1370 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A20726F756E64 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x81A5CC81B9BDD08195B991959081E595D PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x137A PUSH2 0x2ABD JUMP JUMPDEST SWAP1 POP DUP2 PUSH1 0x1 SUB PUSH2 0x13AF JUMPI PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 SWAP1 DUP2 SWAP1 SSTORE SWAP3 DUP4 ADD SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x2 PUSH2 0x13BA DUP4 PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x13CB JUMPI PUSH2 0x13CB PUSH2 0x50E5 JUMP JUMPDEST SUB PUSH2 0x13FB JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE PUSH1 0x1 SWAP3 DUP4 ADD SWAP1 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH2 0x1406 DUP4 PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1417 JUMPI PUSH2 0x1417 PUSH2 0x50E5 JUMP JUMPDEST SUB PUSH2 0xF68 JUMPI DUP1 PUSH1 0x0 PUSH2 0x142A PUSH1 0x1 DUP6 PUSH2 0x56B0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD DUP6 DUP3 MSTORE DUP5 DUP5 MSTORE DUP3 DUP3 KECCAK256 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SWAP1 SWAP4 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x148B JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1495 DUP3 DUP3 PUSH2 0x2AEC JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x14A4 CALLER DUP3 PUSH2 0x2B64 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BB DUP4 PUSH2 0x14B6 DUP5 PUSH2 0x224E JUMP JUMPDEST PUSH2 0x2BE0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x14CE DUP4 PUSH2 0x224E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x14F4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33B4E31B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14FE PUSH2 0x1C70 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x1513 DUP6 PUSH2 0x227D JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x1527 JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1530 DUP6 PUSH2 0x22D1 JUMP JUMPDEST PUSH2 0x153F JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xF27 DUP3 PUSH2 0x2C87 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1560 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x159D PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x15C0 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP5 DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x15EA PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1648 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1645 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x56C3 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1684 JUMPI POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1696 DUP5 DUP5 PUSH2 0x1DE4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x16A5 DUP7 DUP7 PUSH2 0x27DE JUMP JUMPDEST PUSH2 0x16AF SWAP2 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x16C0 PUSH2 0x2D14 JUMP JUMPDEST PUSH2 0x16C9 DUP3 PUSH2 0x2DBB JUMP JUMPDEST PUSH2 0xF68 DUP3 DUP3 PUSH2 0x2DD3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DD PUSH2 0x2E87 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x16FB PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x178E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206170707320 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0xC2DCC840EECAD2CED0E8E640D8CADCCEE8D040DAD2E6DAC2E8C6D PUSH1 0x2B SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x17F6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E6F206170 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3839903A37903B37BA32903337B9 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST ADDRESS PUSH4 0xA461A94D CALLER PUSH2 0x180D PUSH2 0x1808 PUSH2 0x18A3 JUMP JUMPDEST PUSH2 0x2ED0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x182A SWAP3 SWAP2 SWAP1 PUSH2 0x570A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1847 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x186B SWAP2 SWAP1 PUSH2 0x572B JUMP JUMPDEST ISZERO PUSH2 0x188B JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x5B27ABD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH2 0x1894 CALLER PUSH2 0x2198 JUMP JUMPDEST POP PUSH2 0x1495 CALLER DUP5 DUP5 DUP5 PUSH1 0x0 PUSH2 0x2EFE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF37 PUSH2 0xD4B PUSH2 0x1D0D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x18C8 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x2FDC JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF37 PUSH2 0xD6B PUSH2 0x1D0D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 PUSH2 0xEC4 DUP4 PUSH2 0x224E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1904 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x3089 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1918 PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1955 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1979 SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST SWAP1 POP PUSH2 0x14BB DUP4 DUP3 PUSH2 0x2BE0 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1990 PUSH2 0x3133 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 DUP3 PUSH2 0x19A3 PUSH1 0x1 DUP5 PUSH2 0x56B0 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x19B3 JUMPI PUSH2 0x19B3 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP7 DUP3 GT PUSH2 0x19F7 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1A0A PUSH2 0x1A03 DUP9 PUSH2 0x2ED0 JUMP JUMPDEST DUP7 SWAP1 PUSH2 0x3157 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A29 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A3E PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1A69 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x320D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A7D PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1AA8 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x32AC JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1ABD PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE SWAP4 SWAP5 POP SWAP2 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1B17 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1B03 JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x3350 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B3B DUP4 PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1B4C JUMPI PUSH2 0x1B4C PUSH2 0x50E5 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1B6B DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x33B4 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x1B9F JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x65ECE97 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x33BD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BB3 PUSH2 0x298C JUMP JUMPDEST SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0x1BDF PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP4 DUP5 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x60 DUP2 ADD DUP7 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xD0 SHL SWAP1 SWAP2 DIV PUSH4 0xFFFFFFFF AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C45 PUSH2 0x29D4 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C7A PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1CD3 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1CD0 SWAP2 DUP2 ADD SWAP1 PUSH2 0x575F JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1684 JUMPI PUSH2 0xF37 PUSH2 0x345D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1CEA PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP4 SWAP1 SWAP4 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BB3 PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D23 PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D60 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D84 SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST SWAP1 POP PUSH2 0x1D8F DUP2 PUSH2 0x28C5 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1DA0 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x1DC2 DUP6 DUP6 PUSH2 0x1689 JUMP JUMPDEST SWAP6 PUSH8 0xDE0B6B3A7640000 DUP8 LT ISZERO SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BB DUP4 DUP4 PUSH2 0x2BE0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DEE PUSH2 0x1A72 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA56B5765 DUP5 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E1B SWAP3 SWAP2 SWAP1 PUSH2 0x577C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E38 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14BB SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST ADDRESS PUSH4 0xA461A94D DUP4 PUSH2 0x1E6F PUSH2 0x1808 DUP6 PUSH2 0x224E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E8C SWAP3 SWAP2 SWAP1 PUSH2 0x570A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1EA9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1ECD SWAP2 SWAP1 PUSH2 0x572B JUMP JUMPDEST PUSH2 0x1EEC JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x2B8B7C89 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH2 0x1EF6 DUP2 DUP4 PUSH2 0x3468 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F00 PUSH2 0xEFE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP5 PUSH2 0x1F1A PUSH2 0x1808 PUSH2 0x18A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F37 SWAP3 SWAP2 SWAP1 PUSH2 0x570A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F54 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F7C SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5795 JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH2 0x1F8A DUP5 PUSH2 0x2C87 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x1F9C DUP8 DUP8 DUP7 PUSH2 0x34E2 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP5 ISZERO DUP1 PUSH2 0x1FAE JUMPI POP DUP3 MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x208E JUMPI PUSH2 0x1FBC DUP8 PUSH2 0x3350 JUMP JUMPDEST ISZERO PUSH2 0x2033 JUMPI PUSH2 0x1FCA DUP8 PUSH2 0x33BD JUMP JUMPDEST PUSH2 0x1FD2 PUSH2 0x1A33 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE7DFE672 DUP8 PUSH1 0x1 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2000 SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x201A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x202E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP1 MLOAD DUP8 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD DUP3 SWAP1 MSTORE DUP7 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND SWAP1 PUSH32 0x55B62C33CA46DF94310E16FC7E52E8ED456D93A5F21B1E7B5B4C2428905DDEBC SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x209C DUP8 DUP8 DUP6 DUP6 PUSH1 0x1 PUSH2 0x2EFE JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x20B0 PUSH2 0x3133 JUMP JUMPDEST SWAP1 POP PUSH2 0x20BB DUP2 PUSH2 0x3578 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x20E2 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x35B1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2103 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x3656 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2117 PUSH2 0x298C JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D3E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x213B DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0x1D8F PUSH2 0x36FE JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2152 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP8 KECCAK256 SWAP6 DUP8 MSTORE SWAP5 SWAP1 SWAP2 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x218F DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x379E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x21A5 PUSH2 0xEFE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP6 PUSH2 0x21BF PUSH2 0x1808 PUSH2 0x18A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21DC SWAP3 SWAP2 SWAP1 PUSH2 0x570A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x21F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2221 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5795 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x2247 JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x57F1 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2259 PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2288 PUSH2 0x29F8 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x22C2 SWAP1 PUSH1 0x1 PUSH1 0xD0 SHL DUP2 DIV PUSH4 0xFFFFFFFF AND SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND PUSH2 0x5815 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x383B JUMP JUMPDEST PUSH2 0x22E5 DUP3 PUSH2 0x108E JUMP JUMPDEST PUSH2 0x22EE DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0x12AB DUP4 DUP4 PUSH2 0x2AEC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2302 PUSH2 0x12CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD2570B94 DUP5 PUSH2 0x231A DUP6 PUSH2 0x224E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2337 SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2354 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14BB SWAP2 SWAP1 PUSH2 0x572B JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5CDD PUSH1 0x21 SWAP2 CODECOPY SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x23B0 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x385A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23C3 PUSH2 0x398B JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x23EA JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x2406 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x2414 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x2432 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x245B JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST DUP6 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x24C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420564F543320 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x746F6B656E2061646472657373 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x80 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x253A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420566F746572 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x526577617264732061646472657373 PUSH1 0x88 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x25A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C696420456D697373 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x696F6E732061646472657373 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH2 0x25DB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH17 0x58416C6C6F636174696F6E566F74696E67 PUSH1 0x78 SHL DUP2 MSTORE POP PUSH2 0x39AF JUMP JUMPDEST PUSH2 0x25F3 DUP7 PUSH2 0x120 ADD MLOAD DUP8 PUSH1 0xA0 ADD MLOAD DUP9 PUSH1 0x80 ADD MLOAD PUSH2 0x39C0 JUMP JUMPDEST PUSH2 0x2600 DUP7 PUSH1 0x40 ADD MLOAD PUSH2 0x39D3 JUMP JUMPDEST PUSH2 0x260E DUP7 PUSH2 0x180 ADD MLOAD PUSH2 0x39E4 JUMP JUMPDEST DUP6 MLOAD PUSH2 0x2619 SWAP1 PUSH2 0x39F5 JUMP JUMPDEST PUSH2 0x2626 DUP7 PUSH1 0x20 ADD MLOAD PUSH2 0x3A06 JUMP JUMPDEST PUSH2 0x263A DUP7 PUSH2 0x140 ADD MLOAD DUP8 PUSH2 0x160 ADD MLOAD PUSH2 0x3A17 JUMP JUMPDEST PUSH2 0x2642 PUSH2 0x3A29 JUMP JUMPDEST PUSH2 0x264A PUSH2 0x3A29 JUMP JUMPDEST PUSH2 0x2652 PUSH2 0x3A35 JUMP JUMPDEST PUSH2 0x265A PUSH2 0x3A35 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 PUSH1 0xC0 ADD MLOAD MLOAD DUP2 LT ISZERO PUSH2 0x2737 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0xC0 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x268B JUMPI PUSH2 0x268B PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x26FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C69642061646D696E PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x2061646472657373 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH2 0x2724 PUSH1 0x0 DUP1 SHL DUP9 PUSH1 0xC0 ADD MLOAD DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2717 JUMPI PUSH2 0x2717 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x2A1C JUMP JUMPDEST POP DUP1 PUSH2 0x272F DUP2 PUSH2 0x5697 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x265D JUMP JUMPDEST POP PUSH2 0x2754 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH1 0xE0 ADD MLOAD PUSH2 0x2A1C JUMP JUMPDEST POP PUSH2 0x2771 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH1 0x60 ADD MLOAD PUSH2 0x2A1C JUMP JUMPDEST POP PUSH2 0x278F PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D5E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP8 PUSH2 0x100 ADD MLOAD PUSH2 0x2A1C JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x27D6 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14BB DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x3A3D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CBD DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2812 DUP2 PUSH2 0x2955 JUMP JUMPDEST PUSH2 0xF68 DUP3 PUSH2 0x3AB5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF27 DUP3 PUSH2 0x3B5D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2831 PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2854 PUSH2 0x3BF4 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xF27 JUMPI POP PUSH2 0xF27 DUP3 PUSH2 0x3C18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28B8 PUSH2 0x3C4D JUMP JUMPDEST SLOAD PUSH4 0xFFFFFFFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28D0 PUSH2 0x3C71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x5832D3F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH6 0xFFFFFFFFFFFF DUP6 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x2C1969F8 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2931 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14BB SWAP2 SWAP1 PUSH2 0x5834 JUMP JUMPDEST PUSH2 0x14A4 DUP2 CALLER PUSH2 0x3C95 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x3CC0 JUMP JUMPDEST PUSH32 0x7FB63BCD433C69110AD961BFBE38AEF51814CBB9E11AF6FE21011AE43FB4BE00 SWAP1 JUMP JUMPDEST PUSH32 0xC74DB4E191410C7A6C18F14684E1218B5E87C449D0F81AB47E8C67BF971C3500 SWAP1 JUMP JUMPDEST PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D500 SWAP1 JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH32 0xF5210C47C3BB73C471770A1CBB5B7DDC03C0EC886694CC17AE21D1F595F1900 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A27 PUSH2 0x29D4 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A33 DUP5 DUP5 PUSH2 0x1C3A JUMP JUMPDEST PUSH2 0x2AB3 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x2A69 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xF27 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xF27 JUMP JUMPDEST PUSH32 0x7DD3251B9882A8B07DC283A0B43197AA2BE3A6AF1A7F0284070FE5D86E502500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2854 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2AF7 PUSH2 0x29D4 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B03 DUP5 DUP5 PUSH2 0x1C3A JUMP JUMPDEST ISZERO PUSH2 0x2AB3 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xF27 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B6E PUSH2 0x3C71 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x8770FB4D DUP3 PUSH2 0x2B93 PUSH2 0x12CE JUMP JUMPDEST DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BB4 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x585D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2BCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x209C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2BEB PUSH2 0x3C71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x12EC1A37 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF DUP6 AND PUSH1 0x44 DUP3 ADD MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x25D8346E SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2C5B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C7F SWAP2 SWAP1 PUSH2 0x572B JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x2C93 PUSH2 0x3C71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x41666CF PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x82CCD9E SWAP1 PUSH2 0x2CCF SWAP1 DUP5 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5899 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2CEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x14BB SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x590B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x2D9B JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2D8F PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x2DB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CFE DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xF68 DUP2 PUSH2 0x2955 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x2E2D JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x2E2A SWAP2 DUP2 ADD SWAP1 PUSH2 0x5746 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x2E4C JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x2E7D JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH2 0x1495 DUP4 DUP4 PUSH2 0x3D5C JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x2DB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2143 JUMPI PUSH1 0x30 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x593F JUMP JUMPDEST PUSH2 0x2F11 DUP5 PUSH2 0x2F0C PUSH1 0x0 PUSH2 0x3DB2 JUMP JUMPDEST PUSH2 0x3DD5 JUMP JUMPDEST POP PUSH2 0x2F1E DUP5 DUP7 DUP6 DUP6 PUSH2 0x3E14 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2FD5 JUMPI PUSH2 0x2F2C PUSH2 0x1A33 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6CF88E73 CALLER DUP8 DUP8 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2F5E SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5952 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2F78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2F8C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x64DBCB1D23926D04F2FEA8C7CC3F5D02846EE1E48940419CF422F69AE35813AA DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x2FCC SWAP3 SWAP2 SWAP1 PUSH2 0x5990 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x301F JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x656D697373696F6E73 PUSH1 0xB8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3029 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x602F97505D28FB0206888A82DF7CB072EC7FF056C77134B64368322BCB9F5ABA SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x14995B185E595C94995DD85C991CD41BDBDB PUSH1 0x72 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30DF PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x5 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1CDB859FDDC65C1FC3FC767C3640525B1847D0ACE5955A01B15C7A91D96C357E SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH32 0x49D99284D013647F52E2A267FD5944583BD36BE17443E784EC3E86BBD4C32400 SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x31B6 JUMPI PUSH1 0x0 PUSH2 0x3172 DUP5 PUSH2 0x4344 JUMP JUMPDEST PUSH2 0x317C SWAP1 DUP6 PUSH2 0x56B0 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x31A6 JUMPI DUP1 SWAP2 POP PUSH2 0x31B4 JUMP JUMPDEST PUSH2 0x31B1 DUP2 PUSH1 0x1 PUSH2 0x56F7 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x31C4 DUP8 DUP8 DUP6 DUP6 PUSH2 0x442C JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x31FF JUMPI PUSH2 0x31E9 DUP8 PUSH2 0x31DB PUSH1 0x1 DUP5 PUSH2 0x56B0 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x3202 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x3298 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x4B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A204170702073 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x686172657320636170206D757374206265206C657373207468616E206F722065 PUSH1 0x64 DUP3 ADD MSTORE PUSH11 0x7175616C20746F2031303 PUSH1 0xAC SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32A2 PUSH2 0x298C JUMP JUMPDEST PUSH1 0x1 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x32F2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x2119AA2923B7BB32B93737B9 PUSH1 0xA1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32FC PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0xB77FB0FF0B0446F13E672C64B103AFD9DA2774098AB3DE2150ECA002248BB298 SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x335B PUSH2 0x3C71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1C6FB9E5 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0xE37DCF28 SWAP1 PUSH2 0x3397 SWAP1 DUP5 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5899 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2354 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x448E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33C7 PUSH2 0x3C71 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x3E17CD58 DUP3 ADDRESS DUP6 PUSH2 0x33EE PUSH2 0x1C70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND PUSH1 0x24 DUP6 ADD MSTORE SWAP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3449 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x27D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF37 NUMBER PUSH2 0x2ED0 JUMP JUMPDEST PUSH2 0x3470 PUSH2 0x1A33 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE5ED920B DUP4 DUP4 CALLER PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP5 ADD MSTORE AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x34CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x27D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0xEA66E04A ADDRESS DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3524 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5A01 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3541 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3569 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5A34 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP SWAP4 POP SWAP4 POP SWAP4 SWAP1 POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x35A8 JUMPI PUSH2 0x3592 DUP4 PUSH2 0x31DB PUSH1 0x1 DUP5 PUSH2 0x56B0 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x14BB JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x35F8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x766F7465722072657761726473 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3602 PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x36A0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x159950995D1D195C94185CDCDC1BDC9D PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x36AA PUSH2 0x2864 JUMP JUMPDEST PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1635A7CE44FAF9C7A871602659C02602D0B1DEB541D4DF560D0616D42DD71160 SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x370A PUSH2 0x1D0D JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x378E JUMPI PUSH2 0x371B DUP2 PUSH2 0x1B2F JUMP JUMPDEST ISZERO PUSH2 0x378E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A207468657265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2063616E206265206F6E6C79206F6E6520726F756E64207065722074696D6500 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH2 0x3797 DUP3 PUSH2 0x44DD JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x37E2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x58324561726E41707073 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37EC PUSH2 0x2864 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x6183E90E12923AE97651B48BE341FB5BCFD7BB63A987353DBCF962851011974D SWAP2 PUSH2 0x307D SWAP2 SWAP1 DUP6 SWAP1 PUSH2 0x59E7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3846 DUP3 PUSH2 0x104D JUMP JUMPDEST PUSH2 0x3852 PUSH2 0xEC4 DUP5 PUSH2 0x224E JUMP JUMPDEST GT ISZERO SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH4 0xFFFFFFFF AND PUSH1 0x0 SUB PUSH2 0x3884 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x388E PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5BEC4CB4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x38CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x38EF SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x391F JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3929 PUSH2 0x3C4D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xFFFFFFFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP7 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP2 SWAP3 POP PUSH32 0x7E3F7F0708A84DE9203036ABAA450DCCC85AD5FF52F78C170F3EDB55CF5E8828 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH4 0xFFFFFFFF NOT AND PUSH4 0xFFFFFFFF SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH2 0x39B7 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x47B7 JUMP JUMPDEST PUSH2 0x39C8 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x1495 DUP4 DUP4 DUP4 PUSH2 0x47D6 JUMP JUMPDEST PUSH2 0x39DB PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x4828 JUMP JUMPDEST PUSH2 0x39EC PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x4839 JUMP JUMPDEST PUSH2 0x39FD PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x4855 JUMP JUMPDEST PUSH2 0x3A0E PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x4889 JUMP JUMPDEST PUSH2 0x3A1F PUSH2 0x4792 JUMP JUMPDEST PUSH2 0xF68 DUP3 DUP3 PUSH2 0x4891 JUMP JUMPDEST PUSH2 0x3A31 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x2DB9 JUMPDEST PUSH2 0x2DB9 PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A47 PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x3A46B1A8 DUP6 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A74 SWAP3 SWAP2 SWAP1 PUSH2 0x577C JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A91 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C7F SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x3B4C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x57 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A204261736520 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x616C6C6F636174696F6E2070657263656E74616765206D757374206265206C65 PUSH1 0x64 DUP3 ADD MSTORE PUSH23 0x7373207468616E206F7220657175616C20746F2031303 PUSH1 0x4C SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x1367 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B56 PUSH2 0x298C JUMP JUMPDEST SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH2 0x3B6A DUP4 PUSH2 0x1985 JUMP JUMPDEST PUSH2 0x3B72 PUSH2 0x2849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8E539E8C DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B9F SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3BBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3BE0 SWAP2 SWAP1 PUSH2 0x5746 JUMP JUMPDEST PUSH2 0x3BEA SWAP2 SWAP1 PUSH2 0x5AF7 JUMP JUMPDEST PUSH2 0xF27 SWAP2 SWAP1 PUSH2 0x5B24 JUMP JUMPDEST PUSH32 0x6EB1BF0A160CDF1B5E63F5E5C6B310F6C2542CD9E2A47FF1BC977C526DFAB500 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0xD65A4D5 PUSH1 0xE4 SHL EQ DUP1 PUSH2 0xF27 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xF27 JUMP JUMPDEST PUSH32 0xD69D068053671881D25A4D751DCAD1E692749D9B24184F608CB1D01AF3A99900 SWAP1 JUMP JUMPDEST PUSH32 0x38BA4D920474025BC119851D51630794AB25DC91B5F613AFC3C0E85F09FDC100 SWAP1 JUMP JUMPDEST PUSH2 0x3C9F DUP3 DUP3 PUSH2 0x1C3A JUMP JUMPDEST PUSH2 0xF68 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x577C JUMP JUMPDEST PUSH1 0x64 DUP1 DUP3 GT ISZERO PUSH2 0x3CE7 JUMPI DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3CF1 PUSH2 0x20A5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3CFD PUSH2 0x3133 JUMP JUMPDEST SWAP1 POP PUSH2 0x3D1B PUSH2 0x3D0A PUSH2 0x1C70 JUMP JUMPDEST PUSH2 0x3D13 DUP7 PUSH2 0x48AB JUMP JUMPDEST DUP4 SWAP2 SWAP1 PUSH2 0x48DA JUMP JUMPDEST POP POP PUSH32 0x553476BF02EF2726E8CE5CED78D63E26E602E4A2257B1F559418E24B4633997 DUP3 DUP6 PUSH1 0x40 MLOAD PUSH2 0x3D4E SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0x3D65 DUP3 PUSH2 0x48F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x3DAA JUMPI PUSH2 0x1495 DUP3 DUP3 PUSH2 0x4951 JUMP JUMPDEST PUSH2 0xF68 PUSH2 0x49BE JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x3DC6 JUMPI PUSH2 0x3DC6 PUSH2 0x50E5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3DE1 DUP5 PUSH2 0x14C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x3DEF DUP4 PUSH2 0x3DB2 JUMP JUMPDEST AND SUB PUSH2 0x14BB JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5B46 JUMP JUMPDEST PUSH2 0x3E1E DUP5 DUP5 PUSH2 0x1555 JUMP JUMPDEST ISZERO PUSH2 0x3E3E JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E48 PUSH2 0x29B0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3E55 DUP7 PUSH2 0x224E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3E66 DUP9 DUP6 PUSH2 0x1689 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0x4153 JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3EE3 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3E91 JUMPI PUSH2 0x3E91 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP10 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x3EAB JUMPI PUSH2 0x3EAB PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x3ED1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2367ACF7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x3EDB DUP2 PUSH2 0x5697 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3E77 JUMP JUMPDEST POP DUP7 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3EF6 JUMPI PUSH2 0x3EF6 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 PUSH2 0x3F09 SWAP2 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP4 POP DUP2 DUP5 GT ISZERO PUSH2 0x3F2C JUMPI PUSH1 0x40 MLOAD PUSH4 0xCC9BAF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F4F DUP9 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3F41 JUMPI PUSH2 0x3F41 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP12 PUSH2 0x22F8 JUMP JUMPDEST PUSH2 0x3F89 JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3F65 JUMPI PUSH2 0x3F65 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x25C53919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP11 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3FB7 JUMPI PUSH2 0x3FB7 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3FED JUMPI PUSH2 0x3FED PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x4028 JUMPI PUSH4 0x3B9ACA00 DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x4011 JUMPI PUSH2 0x4011 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x4023 SWAP2 SWAP1 PUSH2 0x5B24 JUMP JUMPDEST PUSH2 0x404A JUMP JUMPDEST PUSH2 0x404A DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x403D JUMPI PUSH2 0x403D PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x4344 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x4058 DUP3 DUP5 PUSH2 0x56F7 JUMP JUMPDEST SWAP1 POP PUSH2 0x4064 DUP4 DUP1 PUSH2 0x5AF7 JUMP JUMPDEST PUSH2 0x406E DUP3 DUP1 PUSH2 0x5AF7 JUMP JUMPDEST PUSH2 0x4078 SWAP2 SWAP1 PUSH2 0x56B0 JUMP JUMPDEST PUSH2 0x4082 SWAP1 DUP8 PUSH2 0x56F7 JUMP JUMPDEST SWAP6 POP DUP1 DUP10 PUSH1 0x1 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP14 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0x40B1 JUMPI PUSH2 0x40B1 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP10 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x40DD JUMPI PUSH2 0x40DD PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP10 PUSH1 0x1 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP14 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0x4111 JUMPI PUSH2 0x4111 PUSH2 0x5545 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4136 SWAP2 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP DUP1 DUP1 PUSH2 0x414B SWAP1 PUSH2 0x5697 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3E6B JUMP JUMPDEST POP PUSH2 0x415C PUSH2 0x1A1E JUMP JUMPDEST DUP4 LT ISZERO PUSH2 0x4187 JUMPI PUSH2 0x416B PUSH2 0x1A1E JUMP JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x41AA SWAP1 DUP5 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP6 SWAP3 SWAP1 PUSH2 0x41D2 SWAP1 DUP5 SWAP1 PUSH2 0x56F7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 DUP7 DUP2 ADD PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND DUP7 MSTORE PUSH1 0x4 DUP2 ADD DUP4 MSTORE SWAP1 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE DUP13 DUP5 MSTORE MSTORE PUSH1 0x5 ADD DUP1 SLOAD SWAP2 PUSH2 0x421F DUP4 PUSH2 0x5697 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x4268 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH2 0x4270 PUSH2 0x1D95 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2F18339D DUP6 DUP11 DUP7 PUSH2 0x428A DUP9 PUSH2 0x4344 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x42DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x42F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP9 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xE2D0D542AF9CDD3E0EF4ACE292FC5E9DD654164E63920EA9B58C435492AF84E2 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x4331 SWAP3 SWAP2 SWAP1 PUSH2 0x5990 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x4356 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x4363 DUP5 PUSH2 0x49DD JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x437C JUMPI PUSH2 0x437C PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x4394 JUMPI PUSH2 0x4394 PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x43AC JUMPI PUSH2 0x43AC PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x43C4 JUMPI PUSH2 0x43C4 PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x43DC JUMPI PUSH2 0x43DC PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x43F4 JUMPI PUSH2 0x43F4 PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x440C JUMPI PUSH2 0x440C PUSH2 0x5B0E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x14BB DUP2 DUP3 DUP6 DUP2 PUSH2 0x4426 JUMPI PUSH2 0x4426 PUSH2 0x5B0E JUMP JUMPDEST DIV PUSH2 0x4A71 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x4486 JUMPI PUSH1 0x0 PUSH2 0x4443 DUP5 DUP5 PUSH2 0x4A87 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x4472 JUMPI DUP1 SWAP3 POP PUSH2 0x4480 JUMP JUMPDEST PUSH2 0x447D DUP2 PUSH1 0x1 PUSH2 0x56F7 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x442F JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4498 PUSH2 0x29B0 JUMP JUMPDEST SWAP1 POP PUSH32 0xA5B41E1BD59A5A33422F0B660829FF7686AED2198167061E3C6C21FDCC259F05 DUP2 PUSH1 0x2 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0x44CF SWAP3 SWAP2 SWAP1 PUSH2 0x57E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x44E8 PUSH2 0x29F8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 DUP2 SLOAD PUSH2 0x44FB SWAP1 PUSH2 0x5697 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP DUP1 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND ISZERO PUSH2 0x4551 JUMPI DUP2 PUSH2 0x4533 DUP4 PUSH2 0x14C2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x5B46 JUMP JUMPDEST PUSH1 0x1 DUP3 GT ISZERO PUSH2 0x4568 JUMPI PUSH2 0x4568 PUSH2 0x636 PUSH1 0x1 DUP5 PUSH2 0x56B0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4572 PUSH2 0x12CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC04CFF19 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x45AF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x45D7 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x590B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP3 MLOAD SWAP3 SWAP4 POP PUSH2 0x45FD SWAP3 SWAP1 SWAP2 DUP5 ADD SWAP1 PUSH2 0x4D17 JUMP JUMPDEST POP PUSH2 0x4607 DUP4 PUSH2 0x4AA2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4611 PUSH2 0x1C70 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x4625 PUSH2 0xF2D JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR DUP2 SSTORE SWAP1 SWAP2 POP PUSH2 0x465A DUP4 PUSH2 0x2ED0 JUMP JUMPDEST DUP2 SLOAD PUSH6 0xFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH6 0xFFFFFFFFFFFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR DUP2 SSTORE PUSH2 0x4687 DUP3 PUSH2 0x4ADB JUMP JUMPDEST DUP2 SLOAD PUSH4 0xFFFFFFFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xD0 SHL MUL PUSH4 0xFFFFFFFF PUSH1 0xD0 SHL NOT SWAP1 SWAP2 AND OR DUP2 SSTORE PUSH1 0x0 PUSH2 0x46BA PUSH2 0x46B5 DUP6 PUSH2 0x2ED0 JUMP JUMPDEST PUSH2 0x28C5 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 AND ISZERO PUSH2 0x473F JUMPI PUSH2 0x46D3 PUSH2 0x1A33 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2FB93C85 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND SWAP1 PUSH4 0x5F72790A SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4726 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x473A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH32 0xED97F3DAA22D7F521CFAC2156E927C837565DD6980BD67CC6F7E53CC52EA09C8 DUP8 DUP10 DUP7 PUSH2 0x476D DUP8 DUP3 PUSH2 0x56F7 JUMP JUMPDEST DUP10 PUSH1 0x40 MLOAD PUSH2 0x477F SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5B68 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x479A PUSH2 0x4B07 JUMP JUMPDEST PUSH2 0x2DB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x47BF PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47C9 PUSH2 0x2968 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x1495 DUP4 DUP3 PUSH2 0x5BE1 JUMP JUMPDEST PUSH2 0x47DE PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47E8 PUSH2 0x2864 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND OR DUP3 SSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP3 AND SWAP6 DUP8 AND SWAP6 SWAP1 SWAP6 OR SWAP1 SWAP5 SSTORE PUSH1 0x2 ADD DUP1 SLOAD SWAP1 SWAP4 AND SWAP2 SWAP1 SWAP4 AND OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x4830 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x14A4 DUP2 PUSH2 0x385A JUMP JUMPDEST PUSH2 0x4841 PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x484B PUSH2 0x29B0 JUMP JUMPDEST PUSH1 0x2 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x485D PUSH2 0x4792 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4867 PUSH2 0x3BF4 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH2 0x295F PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x4899 PUSH2 0x4792 JUMP JUMPDEST PUSH2 0x48A2 DUP3 PUSH2 0x3AB5 JUMP JUMPDEST PUSH2 0xF68 DUP2 PUSH2 0x320D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x2143 JUMPI PUSH1 0xD0 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x593F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x48E8 DUP6 DUP6 DUP6 PUSH2 0x4B21 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4922 JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5D1E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x496E SWAP2 SWAP1 PUSH2 0x5CA0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x49A9 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x49AE JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x16AF DUP6 DUP4 DUP4 PUSH2 0x4C9B JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x2DB9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x49F2 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A04 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A16 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A28 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A3A JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A4C JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x4A5E JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xF27 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x4A80 JUMPI DUP2 PUSH2 0x14BB JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A96 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x5B24 JUMP JUMPDEST PUSH2 0x14BB SWAP1 DUP5 DUP5 AND PUSH2 0x56F7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4AAC PUSH2 0x298C JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SWAP1 MSTORE SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 GT ISZERO PUSH2 0x2143 JUMPI PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP3 SWAP2 SWAP1 PUSH2 0x593F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B11 PUSH2 0x398B JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x4C40 JUMPI PUSH1 0x0 PUSH2 0x4B3F DUP8 PUSH2 0x31DB PUSH1 0x1 DUP6 PUSH2 0x56B0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x4B93 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x4BDF JUMPI DUP5 PUSH2 0x4BB6 DUP9 PUSH2 0x31DB PUSH1 0x1 DUP7 PUSH2 0x56B0 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x4C30 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x48ED SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x48ED JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4CB0 JUMPI PUSH2 0x4CAB DUP3 PUSH2 0x4CEE JUMP JUMPDEST PUSH2 0x14BB JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4CC7 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4CE7 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1367 SWAP2 SWAP1 PUSH2 0x4D6E JUMP JUMPDEST POP DUP1 PUSH2 0x14BB JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4CFE JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x4D52 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x4D52 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x4D37 JUMP JUMPDEST POP PUSH2 0x2143 SWAP3 SWAP2 POP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2143 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4D5A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4D94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x14BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x14A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4DD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x14BB DUP2 PUSH2 0x4DAC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4DEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4E11 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4DF9 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4E32 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4DF6 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x14BB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4E1A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F08 JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x4EC1 DUP3 DUP8 ADD DUP3 PUSH2 0x4E1A JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x4EDB DUP4 DUP3 PUSH2 0x4E1A JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4E80 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x14A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x1684 DUP2 PUSH2 0x4F16 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4F5B DUP2 PUSH2 0x4F16 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4F9F JUMPI PUSH2 0x4F9F PUSH2 0x4F66 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4F9F JUMPI PUSH2 0x4F9F PUSH2 0x4F66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4FEF JUMPI PUSH2 0x4FEF PUSH2 0x4F66 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5010 JUMPI PUSH2 0x5010 PUSH2 0x4F66 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x502B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x5040 PUSH2 0x503B DUP4 PUSH2 0x4FF7 JUMP JUMPDEST PUSH2 0x4FC7 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x505F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x507A JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x5063 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5097 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x50AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C7F DUP5 DUP3 DUP6 ADD PUSH2 0x501A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x50CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x50D7 DUP2 PUSH2 0x4F16 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x510B JUMPI PUSH2 0x510B PUSH2 0x50E5 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0xF27 DUP3 DUP5 PUSH2 0x50FB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x512F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x14BB DUP2 PUSH2 0x4F16 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x516A JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x514E JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x14BB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x513A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x519B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x51C3 JUMPI PUSH2 0x51C3 PUSH2 0x4F66 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x51E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x51EF DUP2 PUSH2 0x4F16 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x520A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x521B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x5229 PUSH2 0x503B DUP3 PUSH2 0x51AA JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x523E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP1 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5292 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x529E DUP9 DUP4 DUP10 ADD PUSH2 0x501A JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x52B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x52C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x52D4 PUSH2 0x503B DUP3 PUSH2 0x4FF7 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x52F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x5311 JUMPI DUP4 CALLDATALOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x52F8 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5333 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x533E DUP2 PUSH2 0x4F16 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4F5B DUP2 PUSH2 0x4DAC JUMP JUMPDEST DUP1 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1684 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14BB DUP3 PUSH2 0x534E JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x538E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x539E PUSH2 0x503B DUP4 PUSH2 0x4FF7 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x53BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x507A JUMPI DUP1 CALLDATALOAD PUSH2 0x53D4 DUP2 PUSH2 0x4F16 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x53C1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x53F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x540A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH2 0x1A0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x541F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5427 PUSH2 0x4F7C JUMP JUMPDEST PUSH2 0x5430 DUP4 PUSH2 0x4F2B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x5448 PUSH1 0x40 DUP5 ADD PUSH2 0x534E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x5459 PUSH1 0x60 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x546A PUSH1 0x80 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x547B PUSH1 0xA0 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x5492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x549E DUP8 DUP3 DUP7 ADD PUSH2 0x537D JUMP JUMPDEST PUSH1 0xC0 DUP4 ADD MSTORE POP PUSH2 0x54B0 PUSH1 0xE0 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 SWAP2 POP PUSH2 0x54C5 DUP3 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST DUP3 DUP3 ADD MSTORE PUSH2 0x120 SWAP2 POP PUSH2 0x54D9 DUP3 DUP5 ADD PUSH2 0x4F2B JUMP JUMPDEST SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x140 DUP3 DUP2 ADD CALLDATALOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x160 DUP1 DUP4 ADD CALLDATALOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x180 SWAP2 DUP3 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x551F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x553F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x1684 DUP2 PUSH2 0x4F16 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x5585 PUSH2 0x503B DUP3 PUSH2 0x51AA JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x559A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C7F DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4DF6 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1684 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x55E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x55F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5600 PUSH2 0x4FA5 JUMP JUMPDEST DUP3 MLOAD DUP2 MSTORE PUSH2 0x5610 PUSH1 0x20 DUP5 ADD PUSH2 0x555B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x5627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5633 DUP8 DUP3 DUP7 ADD PUSH2 0x5566 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x564B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5657 DUP8 DUP3 DUP7 ADD PUSH2 0x5566 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x5673 PUSH1 0xA0 DUP5 ADD PUSH2 0x55AB JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x56A9 JUMPI PUSH2 0x56A9 PUSH2 0x5681 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x5681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x56D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x56EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C7F DUP5 DUP3 DUP6 ADD PUSH2 0x5566 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x5681 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x573D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14BB DUP3 PUSH2 0x55AB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5758 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5771 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x14BB DUP2 PUSH2 0x4DAC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x57A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57B1 DUP4 PUSH2 0x55AB JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x57CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57D9 DUP6 DUP3 DUP7 ADD PUSH2 0x5566 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x2C7F SWAP1 DUP4 ADD DUP5 PUSH2 0x4E1A JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x2247 JUMPI PUSH2 0x2247 PUSH2 0x5681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5846 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x14BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE DUP4 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x588F SWAP1 DUP4 ADD DUP5 PUSH2 0x513A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x58C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x58D1 PUSH2 0x503B DUP4 PUSH2 0x4FF7 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x58F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x507A JUMPI DUP1 MLOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x58F4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x591D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5933 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C7F DUP5 DUP3 DUP6 ADD PUSH2 0x58B0 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x5981 JUMPI PUSH2 0x5981 PUSH2 0x50E5 JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x59A3 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x513A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP5 MLOAD DUP1 DUP4 MSTORE DUP6 DUP3 ADD SWAP3 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x59DA JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x59BE JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x588F SWAP1 DUP4 ADD DUP5 PUSH2 0x513A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5A49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5A60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5A6C DUP8 DUP4 DUP9 ADD PUSH2 0x58B0 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 SWAP2 POP DUP2 DUP7 ADD MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x5A83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 ADD SWAP1 POP PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x5A96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x5AA4 PUSH2 0x503B DUP3 PUSH2 0x4FF7 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x5AC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x5AE1 JUMPI DUP4 MLOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x5AC8 JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP PUSH1 0x40 DUP5 ADD MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xF27 JUMPI PUSH2 0xF27 PUSH2 0x5681 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5B41 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x5B5A PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x50FB JUMP JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE DUP4 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x3202 PUSH1 0xA0 DUP4 ADD DUP5 PUSH2 0x513A JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1495 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5BC2 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x27D6 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5BCE JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5BFA JUMPI PUSH2 0x5BFA PUSH2 0x4F66 JUMP JUMPDEST PUSH2 0x5C0E DUP2 PUSH2 0x5C08 DUP5 SLOAD PUSH2 0x550B JUMP JUMPDEST DUP5 PUSH2 0x5B9B JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x5C43 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x5C2B JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x27D6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5C72 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5C53 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5C90 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5CB2 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4DF6 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID PUSH18 0x840DC4906352362B0CDAF79870196C8E42AC 0xAF 0xAD 0xE7 0x2D 0x5D GAS PUSH14 0x59291253CEB1737570706F72743D PUSH25 0x2D616C6C6F636174696F6E732671756F72756D3D6175746F18 SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC2B53661063988F1AD36E0A 0x49 0xD4 0xD9 0xA6 LOG3 LT PUSH7 0x52AAEED2BE542C DUP7 SWAP2 0xD5 CREATE2 REVERT AND DUP12 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7A264697066735822122018 PUSH29 0x72FB2005FE4DDFAAD843FD0BA71EFA804B71F15859DC533AA244C3EFAD SWAP5 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"3616:10804:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5480:187:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14068:200:82;;;;;;;;;;-1:-1:-1;14068:200:82;;;;;:::i;:::-;;:::i;:::-;;;705:14:150;;698:22;680:41;;668:2;653:18;14068:200:82;540:187:150;13711:159:82;;;;;;;;;;;;;:::i;:::-;;;878:25:150;;;866:2;851:18;13711:159:82;732:177:150;12973:156:82;;;;;;;;;;-1:-1:-1;12973:156:82;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1458:32:150;;;1440:51;;1428:2;1413:18;12973:156:82;1294:203:150;10718:167:82;;;;;;;;;;-1:-1:-1;10718:167:82;;;;;:::i;:::-;;:::i;:::-;;10953:174:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4409:195:89:-;;;;;;;;;;-1:-1:-1;4409:195:89;;;;;:::i;:::-;;:::i;4124:219::-;;;;;;;;;;-1:-1:-1;4124:219:89;;;;;:::i;:::-;;:::i;11721:202:91:-;;;;;;;;;;-1:-1:-1;11721:202:91;;;;;:::i;:::-;;:::i;5078:166:88:-;;;;;;;;;;;;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;6948:565:92:-;;;;;;;;;;-1:-1:-1;6948:565:92;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;4071:206:90:-;;;;;;;;;;-1:-1:-1;4071:206:90;;;;;:::i;:::-;;:::i;13246:235:82:-;;;;;;;;;;;;;:::i;4335:184:90:-;;;;;;;;;;-1:-1:-1;4335:184:90;;;;;:::i;:::-;;:::i;3095:868::-;;;;;;;;;;-1:-1:-1;3095:868:90;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;7889:124:82:-;;;;;;;;;;-1:-1:-1;7889:124:82;;;;;:::i;:::-;;:::i;11801:192::-;;;;;;;;;;-1:-1:-1;11801:192:82;;;;;:::i;:::-;;:::i;11553:496:84:-;;;;;;;;;;-1:-1:-1;11553:496:84;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12399:142:82:-;;;;;;;;;;-1:-1:-1;12399:142:82;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12558:206:91:-;;;;;;;;;;-1:-1:-1;12558:206:91;;;;;:::i;:::-;;:::i;11997:204::-;;;;;;;;;;-1:-1:-1;11997:204:91;;;;;:::i;:::-;;:::i;10799:224::-;;;;;;;;;;-1:-1:-1;10799:224:91;;;;;:::i;:::-;;:::i;3555:235:94:-;;;;;;;;;;;;;:::i;12771:323:84:-;;;;;;;;;;-1:-1:-1;12771:323:84;;;;;:::i;:::-;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;3705:134::-;;;;;;;;;;;;;:::i;6203:188:92:-;;;;;;;;;;-1:-1:-1;6203:188:92;;;;;:::i;:::-;;:::i;5815:593:84:-;;;;;;;;;;-1:-1:-1;5815:593:84;;;;;:::i;:::-;;:::i;11190:84::-;;;;;;;;;;-1:-1:-1;11259:10:84;;;;;;;;;;;;-1:-1:-1;;;11259:10:84;;;;11190:84;;5292:128:92;;;;;;;;;;;;;:::i;8297:142:82:-;;;;;;;;;;-1:-1:-1;8297:142:82;;;;;:::i;:::-;;:::i;5483:119:92:-;;;;;;;;;;;;;:::i;13539:118:82:-;;;;;;;;;;-1:-1:-1;13539:118:82;;;;;:::i;:::-;;:::i;9188:195::-;;;;;;;;;;-1:-1:-1;9188:195:82;;;;;:::i;:::-;;:::i;11400:241::-;;;;;;;;;;-1:-1:-1;11400:241:82;;;;;:::i;:::-;;:::i;3890:656:93:-;;;;;;;;;;-1:-1:-1;3890:656:93;;;;;:::i;:::-;;:::i;12314:175:91:-;;;;;;;;;;;;;:::i;5960:193:88:-;;;;;;;;;;;;;:::i;10007:142:82:-;;;;;;;;;;-1:-1:-1;10007:142:82;;;;;:::i;:::-;;:::i;5723:175:88:-;;;;;;;;;;;;;:::i;8961:150:82:-;;;;;;;;;;-1:-1:-1;8961:150:82;;;;;:::i;:::-;;:::i;6472:207:92:-;;;;;;;;;;-1:-1:-1;6472:207:92;;;;;:::i;:::-;;:::i;11096:118:82:-;;;;;;;;;;-1:-1:-1;11096:118:82;;;;;:::i;:::-;;:::i;11357:132:84:-;;;;;;;;;;-1:-1:-1;11357:132:84;;;;;:::i;:::-;;:::i;9552:161:82:-;;;;;;;;;;-1:-1:-1;9552:161:82;;;;;:::i;:::-;;:::i;7659:162::-;;;;;;;;;;-1:-1:-1;7659:162:82;;;;;:::i;:::-;;:::i;3656:181:89:-;;;;;;;;;;;;;:::i;4835:177:92:-;;;;;;;;;;-1:-1:-1;4835:177:92;;;;;:::i;:::-;;:::i;:::-;;;;13883:13:150;;-1:-1:-1;;;;;13879:39:150;13861:58;;13979:4;13967:17;;;13961:24;13987:14;13957:45;13935:20;;;13928:75;14051:17;;;14045:24;14071:10;14041:41;14019:20;;;14012:71;13849:2;13834:18;4835:177:92;13659:430:150;3732:207:0;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;3212:198:94:-;;;;;;;;;;;;;:::i;:::-;;;14268:14:150;14256:27;;;14238:46;;14226:2;14211:18;3212:198:94;14094:196:150;4552:100:82;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4552:100:82;;4644:88:93;;;;;;;;;;-1:-1:-1;4724:3:93;4644:88;;13388:177:91;;;;;;;;;;-1:-1:-1;13388:177:91;;;;;:::i;:::-;;:::i;5063:169:92:-;;;;;;;;;;;;;:::i;12648:222:82:-;;;;;;;;;;;;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;5301:175:88;;;;;;;;;;;;;:::i;9371:281:84:-;;;;;;;;;;-1:-1:-1;9371:281:84;;;;;:::i;:::-;;:::i;:::-;;;;14694:25:150;;;14762:14;;14755:22;14750:2;14735:18;;14728:50;14667:18;9371:281:84;14526:258:150;12156:175:82;;;;;;;;;;-1:-1:-1;12156:175:82;;;;;:::i;:::-;;:::i;17136:179:84:-;;;;;;;;;;-1:-1:-1;17136:179:84;;;;;:::i;:::-;;:::i;6645:1215::-;;;;;;;;;;-1:-1:-1;6645:1215:84;;;;;:::i;:::-;;:::i;3591:194:93:-;;;;;;;;;;;;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;8510:157:82;;;;;;;;;;-1:-1:-1;8510:157:82;;;;;:::i;:::-;;:::i;8727:178::-;;;;;;;;;;-1:-1:-1;8727:178:82;;;;;:::i;:::-;;:::i;3889:157:89:-;;;;;;;;;;;;;:::i;9799:127:82:-;;;;;;;;;;;;;:::i;11133:228:91:-;;;;;;;;;;-1:-1:-1;11133:228:91;;;;;:::i;:::-;;:::i;8082:147:82:-;;;;;;;;;;-1:-1:-1;8082:147:82;;;;;:::i;:::-;;:::i;4094:76::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4094:76:82;;8841:366:84;;;;;;;;;;-1:-1:-1;8841:366:84;;;;;:::i;:::-;;:::i;5659:198:92:-;;;;;;;;;;-1:-1:-1;5659:198:92;;;;;:::i;:::-;;:::i;5917:232::-;;;;;;;;;;-1:-1:-1;5917:232:92;;;;;:::i;:::-;;:::i;12132:108:84:-;;;;;;;;;;-1:-1:-1;12132:108:84;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;13183:166:84:-;;;;;;;;;;-1:-1:-1;13183:166:84;;;;;:::i;:::-;;:::i;4465:131:91:-;;;;;;;;;;;;;:::i;10500:134:82:-;;;;;;;;;;-1:-1:-1;10500:134:82;;;;;:::i;:::-;;:::i;6258:1303::-;;;;;;;;;;-1:-1:-1;6258:1303:82;;;;;:::i;:::-;;:::i;12342:143:84:-;;;;;;;;;;-1:-1:-1;12342:143:84;;;;;:::i;:::-;;:::i;4376:70:82:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4376:70:82;;10244:196;;;;;;;;;;-1:-1:-1;10244:196:82;;;;;:::i;:::-;;:::i;4250:66::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4250:66:82;;13874:190;;;;;;;;;;-1:-1:-1;13874:190:82;;;;;:::i;:::-;;:::i;11447:206:91:-;;;;;;;;;;-1:-1:-1;11447:206:91;;;;;:::i;:::-;;:::i;2914:131:94:-;;;;;;;;;;;;;:::i;5480:187:88:-;5538:17;5563:34;5600:30;:28;:30::i;:::-;5643:19;;;-1:-1:-1;;;;;5643:19:88;;5480:187;-1:-1:-1;;5480:187:88:o;14068:200:82:-;14208:4;14227:36;14251:11;14227:23;:36::i;:::-;14220:43;14068:200;-1:-1:-1;;14068:200:82:o;13711:159::-;13823:7;13845:20;:18;:20::i;:::-;13838:27;;13711:159;:::o;12973:156::-;13056:7;13078:46;13114:9;13078:35;:46::i;10718:167::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;10833:47:82::1;10861:18;10833:27;:47::i;:::-;10718:167:::0;;:::o;10953:174:84:-;10998:13;11019:42;11064:38;:36;:38::i;:::-;11019:83;;11115:1;:7;;11108:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10953:174;:::o;4409:195:89:-;4477:7;4492:33;4528:29;:27;:29::i;:::-;4570;;;;:20;;:29;;-1:-1:-1;;4570:29:89;;;;;4409:195::o;4124:219::-;4204:7;4219:33;4255:29;:27;:29::i;:::-;4297:41;;;;:32;;:41;;-1:-1:-1;;4297:41:89;;;;;4124:219::o;11721:202:91:-;11788:7;11803:35;11841:31;:29;:31::i;:::-;11885:22;;;;:13;;:22;;-1:-1:-1;;11885:22:91;;;:33;;;;11721:202::o;5078:166:88:-;5129:10;5147:34;5184:30;:28;:30::i;:::-;5227:12;;;-1:-1:-1;;;;;5227:12:88;;5078:166;-1:-1:-1;;5078:166:88:o;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;6948:565:92:-;7020:53;7081:30;7114:26;:24;:26::i;:::-;7147:28;7178:33;;;:24;;;:33;;;;;;;;7147:64;;;;;;;;;;;;;;;;;7081:59;;-1:-1:-1;7147:28:92;;:64;;7178:33;7147:64;;7178:33;7147:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7217:14;7234:11;:18;7217:35;;7258:61;7380:6;-1:-1:-1;;;;;7322:70:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7322:70:92;;;;;;;;;;;;;;;;;7258:134;;7404:6;7399:90;7416:6;7412:1;:10;7399:90;;;7450:12;:10;:12::i;:::-;-1:-1:-1;;;;;7450:16:92;;7467:11;7479:1;7467:14;;;;;;;;:::i;:::-;;;;;;;7450:32;;;;;;;;;;;;;878:25:150;;866:2;851:18;;732:177;7450:32:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7450:32:92;;;;;;;;;;;;:::i;:::-;7437:7;7445:1;7437:10;;;;;;;;:::i;:::-;;;;;;:45;;;;7424:3;;;;;:::i;:::-;;;;7399:90;;;-1:-1:-1;7501:7:92;6948:565;-1:-1:-1;;;;;6948:565:92:o;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;4071:206:90:-;4143:7;4158:34;4195:30;:28;:30::i;:::-;4238:25;:34;;;;;-1:-1:-1;;4238:34:90;;;;;4071:206::o;13246:235:82:-;13405:11;13433:43;:41;:43::i;4335:184:90:-;4396:4;4408:34;4445:30;:28;:30::i;:::-;4488:26;;;;:17;;:26;;-1:-1:-1;;4488:26:90;;;;;;;4335:184::o;3095:868::-;3174:17;3183:7;3174:8;:17::i;:::-;3173:18;3165:80;;;;-1:-1:-1;;;3165:80:90;;21904:2:150;3165:80:90;;;21886:21:150;21943:2;21923:18;;;21916:30;21982:34;21962:18;;;21955:62;-1:-1:-1;;;22033:18:150;;;22026:47;22090:19;;3165:80:90;;;;;;;;;3252:34;3289:30;:28;:30::i;:::-;3252:67;;3379:7;3390:1;3379:12;3375:126;;3401:25;:34;;;;;;;;;;;3438:1;3401:38;;;;3447:17;;;:26;;;;;;:33;;-1:-1:-1;;3447:33:90;;;;;;3095:868::o;3375:126::-;3529:20;3511:14;3517:7;3511:5;:14::i;:::-;:38;;;;;;;;:::i;:::-;;3507:452;;3622:25;:34;;;;;;;;;;;:44;;;;3703:4;3674:17;;;:26;;;;;;:33;;-1:-1:-1;;3674:33:90;;;;;;10718:167:82:o;3507:452:90:-;3742:17;3724:14;3730:7;3724:5;:14::i;:::-;:35;;;;;;;;:::i;:::-;;3720:239;;3873:1;:25;3899:11;3909:1;3899:7;:11;:::i;:::-;3873:38;;;;;;;;;;;;;;-1:-1:-1;3873:38:90;;;;3836:34;;;;;;;;;:75;3948:4;3919:17;;;:26;;;;:33;;-1:-1:-1;;3919:33:90;;;;;;3159:804;3095:868;:::o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;7889:124:82:-;7961:47;966:10:11;8001:6:82;7961:25;:47::i;:::-;7889:124;:::o;11801:192::-;11897:4;11916:72;11948:7;11964:22;11978:7;11964:13;:22::i;:::-;11916:31;:72::i;:::-;11909:79;11801:192;-1:-1:-1;;;11801:192:82:o;11553:496:84:-;11614:10;11632:16;11651:22;11665:7;11651:13;:22::i;:::-;11632:41;;11684:8;11696:1;11684:13;11680:74;;11714:33;;-1:-1:-1;;;11714:33:84;;;;;878:25:150;;;851:18;;11714:33:84;732:177:150;11680:74:84;11760:24;11787:7;:5;:7::i;:::-;11760:34;;;;11801:16;11820:22;11834:7;11820:13;:22::i;:::-;11801:41;;11865:16;11853:8;:28;11849:196;;-1:-1:-1;11898:17:84;;11553:496;-1:-1:-1;;;;11553:496:84:o;11849:196::-;11933:23;11948:7;11933:14;:23::i;:::-;11928:117;;-1:-1:-1;11973:17:84;;11553:496;-1:-1:-1;;;;11553:496:84:o;11928:117::-;-1:-1:-1;12018:20:84;;11553:496;-1:-1:-1;;;;11553:496:84:o;12399:142:82:-;12471:16;12502:34;12528:7;12502:25;:34::i;12558:206:91:-;12628:4;12640:35;12678:31;:29;:31::i;:::-;12722:22;;;;:13;;:22;;;;;;;;-1:-1:-1;;;;;12722:37:91;;;;;;:31;;;;:37;;-1:-1:-1;;12722:37:91;;;;;;12558:206::o;11997:204::-;12065:7;12080:35;12118:31;:29;:31::i;:::-;12162:22;;;;:13;;:22;;-1:-1:-1;;12162:22:91;;;:34;;;;11997:204::o;10799:224::-;10880:7;10895:35;10933:31;:29;:31::i;:::-;10977:22;;;;:13;;:22;;;;;;;;:41;;;;;;-1:-1:-1;;10977:41:91;;;;10799:224::o;3555:235:94:-;3615:13;3640:7;:5;:7::i;:::-;-1:-1:-1;;;;;3640:18:94;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3640:20:94;;;;;;;;;;;;:::i;:::-;;;3636:150;;-1:-1:-1;3741:38:94;;;;;;;;;;;;;;;;;;3555:235::o;3636:150::-;3710:9;3555:235;-1:-1:-1;3555:235:94:o;12771:323:84:-;12864:7;12879:38;12920:40;12942:5;12949:10;12920:21;:40::i;:::-;12879:81;;12966:27;13026:30;12996:27;13005:5;13012:10;12996:8;:27::i;:::-;:60;;;;:::i;:::-;12966:90;12771:323;-1:-1:-1;;;;;12771:323:84:o;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;3705:134::-:0;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;6203:188:92:-;6272:7;6287:30;6320:26;:24;:26::i;:::-;6359:18;;;;:9;;:18;;-1:-1:-1;;6359:18:92;;;:27;-1:-1:-1;;;;;6359:27:92;;6203:188::o;5815:593:84:-;5951:11;:18;5934:6;:13;:35;5926:107;;;;-1:-1:-1;;;5926:107:84;;22927:2:150;5926:107:84;;;22909:21:150;22966:2;22946:18;;;22939:30;23005:34;22985:18;;;22978:62;-1:-1:-1;;;23056:18:150;;;23049:57;23123:19;;5926:107:84;22725:423:150;5926:107:84;6063:1;6047:6;:13;:17;6039:76;;;;-1:-1:-1;;;6039:76:84;;23355:2:150;6039:76:84;;;23337:21:150;23394:2;23374:18;;;23367:30;23433:34;23413:18;;;23406:62;-1:-1:-1;;;23484:18:150;;;23477:44;23538:19;;6039:76:84;23153:410:150;6039:76:84;6126:4;:39;966:10:11;6180:41:84;6198:22;:20;:22::i;:::-;6180:17;:41::i;:::-;6126:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6122:155;;;966:10:11;6239:31:84;;-1:-1:-1;;;6239:31:84;;;;;;;;:::i;6122:155::-;6283:47;966:10:11;8841:366:84;:::i;6283:47::-;-1:-1:-1;6337:66:84;966:10:11;6367:7:84;6376:6;6384:11;6397:5;6337:15;:66::i;5292:128:92:-;5362:7;5384:31;5398:16;:14;:16::i;8297:142:82:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8407:27:82::1;8421:12;8407:13;:27::i;5483:119:92:-:0;5544:7;5566:31;5580:16;:14;:16::i;13539:118:82:-;13600:7;13622:30;13629:22;13643:7;13629:13;:22::i;9188:195::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9333:45:82::1;9356:21;9333:22;:45::i;11400:241::-:0;11485:4;11497:25;11525:11;:9;:11::i;:::-;-1:-1:-1;;;;;11525:29:82;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11497:59;;11569:67;11601:7;11617:17;11569:31;:67::i;3890:656:93:-;3963:7;3978:36;4017:32;:30;:32::i;:::-;4073:45;;3978:71;;-1:-1:-1;4056:14:93;3978:71;4261:10;4270:1;4073:45;4261:10;:::i;:::-;4222:50;;;;;;;;:::i;:::-;;;;;;;;;;4297:11;;4222:50;;-1:-1:-1;4297:11:93;;;;-1:-1:-1;;;4336:13:93;;-1:-1:-1;;;;;4336:13:93;4359:22;;;4355:61;;-1:-1:-1;;;;;4391:18:93;;3890:656;-1:-1:-1;;;;;;3890:656:93:o;4355:61::-;4468:73;4512:28;4530:9;4512:17;:28::i;:::-;4468:1;;:43;:73::i;:::-;-1:-1:-1;;;;;4461:80:93;;3890:656;-1:-1:-1;;;;;;;3890:656:93:o;12314:175:91:-;12370:7;12385:35;12423:31;:29;:31::i;:::-;12467:17;;;;12314:175;-1:-1:-1;;12314:175:91:o;5960:193:88:-;6020:19;6047:34;6084:30;:28;:30::i;:::-;6127:21;;;-1:-1:-1;;;;;6127:21:88;;5960:193;-1:-1:-1;;5960:193:88:o;10007:142:82:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;10113:31:82::1;10130:13;10113:16;:31::i;5723:175:88:-:0;5777:13;5798:34;5835:30;:28;:30::i;:::-;5878:15;;;-1:-1:-1;;;;;5878:15:88;;5723:175;-1:-1:-1;;5723:175:88:o;8961:150:82:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9073:33:82::1;9090:15;9073:16;:33::i;6472:207:92:-:0;6545:16;6569:30;6602:26;:24;:26::i;:::-;6641:33;;;;:24;;;:33;;;;;;;;;6634:40;;;;;;;;;;;;;;;;;6569:59;;-1:-1:-1;6634:40:92;;;;;6641:33;6634:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6472:207;;;:::o;11096:118:82:-;11164:4;11183:26;11204:4;11183:20;:26::i;11357:132:84:-;11430:4;;11449:14;11455:7;11449:5;:14::i;:::-;:35;;;;;;;;:::i;:::-;;;11357:132;-1:-1:-1;;11357:132:84:o;9552:161:82:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9664:44:82::1;9689:18;9664:24;:44::i;7659:162::-:0;966:10:11;-1:-1:-1;;;;;7716:20:82;;;7712:75;;966:10:11;7753:27:82;;-1:-1:-1;;;7753:27:82;;;;;;;;:::i;7712:75::-;7793:23;7811:4;7793:17;:23::i;3656:181:89:-;3713:7;3728:33;3764:29;:27;:29::i;:::-;3806:26;;3656:181;-1:-1:-1;;3656:181:89:o;4835:177:92:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;4950:26:92;:24;:26::i;:::-;4989:18;;;;:9;;:18;;;;;;;;;4982:25;;;;;;;;;-1:-1:-1;;;;;4982:25:92;;;;-1:-1:-1;;;4982:25:92;;;;;;;;;;;-1:-1:-1;;;4982:25:92;;;;;;;;;;;;-1:-1:-1;4982:25:92;;;-1:-1:-1;4835:177:92:o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;3212:198:94:-;3267:6;3285:7;:5;:7::i;:::-;-1:-1:-1;;;;;3285:13:94;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3285:15:94;;;;;;;;-1:-1:-1;;3285:15:94;;;;;;;;;;;;:::i;:::-;;;3281:125;;3381:18;:16;:18::i;13388:177:91:-;13445:4;13457:35;13495:31;:29;:31::i;:::-;-1:-1:-1;;;;;13539:21:91;;;:15;:21;;;;;;;;-1:-1:-1;;13539:21:91;;;;;;;13388:177::o;5063:169:92:-;5127:7;5142:30;5175:26;:24;:26::i;12648:222:82:-;12716:7;12731:25;12759:11;:9;:11::i;:::-;-1:-1:-1;;;;;12759:29:82;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12731:59;;12803:62;12846:17;12803:35;:62::i;:::-;12796:69;;;12648:222;:::o;5301:175:88:-;5355:13;5376:34;5413:30;:28;:30::i;:::-;5456:15;;;-1:-1:-1;;;;;5456:15:88;;5301:175;-1:-1:-1;;5301:175:88:o;9371:281:84:-;9463:7;9472:4;9484:27;9514:39;9534:7;9543:9;9514:19;:39::i;:::-;9484:69;9597:7;9574:30;;;;-1:-1:-1;9371:281:84;-1:-1:-1;;;;9371:281:84:o;12156:175:82:-;12256:4;12275:51;12307:7;12316:9;12275:31;:51::i;17136:179:84:-;17232:7;17254:14;:12;:14::i;:::-;-1:-1:-1;;;;;17254:36:84;;17291:7;17300:9;17254:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6645:1215::-;6723:4;:39;6763:5;6770:41;6788:22;6802:7;6788:13;:22::i;6770:41::-;6723:89;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6718:145;;6850:5;6829:27;;-1:-1:-1;;;6829:27:84;;;;;;;;:::i;6718:145::-;6869:44;6898:7;6907:5;6869:28;:44::i;:::-;6921:13;6940:18;:16;:18::i;:::-;-1:-1:-1;;;;;6940:38:84;;6979:5;6986:41;7004:22;:20;:22::i;6986:41::-;6940:88;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6940:88:84;;;;;;;;;;;;:::i;:::-;6920:108;;;7035:23;7061:32;7087:5;7061:25;:32::i;:::-;7035:58;;7101:28;7131;7161:19;7184:70;7214:5;7227:7;7242:6;7184:22;:70::i;:::-;7100:154;;;;;;7412:8;7411:9;:36;;;-1:-1:-1;7424:18:84;;:23;7411:36;7407:379;;;7535:27;7556:5;7535:20;:27::i;:::-;7531:148;;;7574:24;7592:5;7574:17;:24::i;:::-;7608:20;:18;:20::i;:::-;-1:-1:-1;;;;;7608:50:84;;7659:7;7668:1;7608:62;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7531:148;7733:18;;7691:74;;;25698:14:150;;25691:22;25673:41;;25745:2;25730:18;;25723:34;;;;25773:18;;25766:34;;;7714:7:84;;-1:-1:-1;;;;;7691:74:84;;;;;25661:2:150;25646:18;7691:74:84;;;;;;;7773:7;;;;;6645:1215;;:::o;7407:379::-;7792:63;7808:5;7815:7;7824:11;7837;7850:4;7792:15;:63::i;:::-;6712:1148;;;;;6645:1215;;:::o;3591:194:93:-;3647:7;3662:36;3701:32;:30;:32::i;:::-;3662:71;-1:-1:-1;3746:34:93;3662:71;3746:32;:34::i;:::-;-1:-1:-1;;;;;3739:41:93;;;;3591:194;:::o;8510:157:82:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8629:33:82::1;8646:15;8629:16;:33::i;8727:178::-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8859:41:82::1;8880:19;8859:20;:41::i;3889:157:89:-:0;3934:7;3949:33;3985:29;:27;:29::i;:::-;4027:14;;;;3889:157;-1:-1:-1;;3889:157:89:o;9799:127:82:-;9878:7;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9900:21:82::1;:19;:21::i;3217:1:0:-;9799:127:82::0;;:::o;11133:228:91:-;11216:7;11231:35;11269:31;:29;:31::i;:::-;11313:22;;;;:13;;;;:22;;;;;;;;:43;;;:38;;;;:43;;-1:-1:-1;;11313:43:91;;;;11133:228::o;8082:147:82:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8195:29:82::1;8210:13;8195:14;:29::i;8841:366:84:-:0;8920:4;8933:13;8948:25;8977:18;:16;:18::i;:::-;-1:-1:-1;;;;;8977:38:84;;9023:5;9036:41;9054:22;:20;:22::i;9036:41::-;8977:106;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8977:106:84;;;;;;;;;;;;:::i;:::-;8932:151;;;;9094:8;9089:93;;9156:5;9163:11;9119:56;;-1:-1:-1;;;9119:56:84;;;;;;;;;:::i;9089:93::-;-1:-1:-1;9194:8:84;8841:366;-1:-1:-1;;8841:366:84:o;5659:198:92:-;5737:7;5752:30;5785:26;:24;:26::i;:::-;5824:18;;;;:9;;:18;;-1:-1:-1;;5824:18:92;;;:28;-1:-1:-1;;;5824:28:92;;;;;5659:198::o;5917:232::-;5995:7;6010:30;6043:26;:24;:26::i;:::-;6113:18;;;;:9;;;:18;;;;;:31;:9;;-1:-1:-1;6082:62:92;;-1:-1:-1;;;6113:31:92;;;;;-1:-1:-1;;;6082:28:92;;;;:62;:::i;:::-;6075:69;;;5917:232;-1:-1:-1;;;5917:232:92:o;12132:108:84:-;12193:4;12212:23;12227:7;12212:14;:23::i;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;13183:166:84:-:0;13271:4;13290:12;:10;:12::i;:::-;-1:-1:-1;;;;;13290:23:84;;13314:5;13321:22;13335:7;13321:13;:22::i;:::-;13290:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4465:131:91:-;4528:13;4549:42;;;;;;;;;;;;;;;;;;;4465:131;:::o;10500:134:82:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;10596:33:82::1;10613:15;10596:16;:33::i;6258:1303::-:0;4158:30:2;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:2;-1:-1:-1;;;4302:15:2;;;4301:16;;-1:-1:-1;;;;;4348:14:2;4279:19;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;-1:-1:-1;;;;;4790:16:2;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:2;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:2;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;;;;;4951:18:2;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:2;-1:-1:-1;;;5013:22:2;;;4979:67;6351:14:82;;-1:-1:-1;;;;;6343:37:82::1;6335:95;;;::::0;-1:-1:-1;;;6335:95:82;;26769:2:150;6335:95:82::1;::::0;::::1;26751:21:150::0;26808:2;26788:18;;;26781:30;26847:34;26827:18;;;26820:62;-1:-1:-1;;;26898:18:150;;;26891:43;26951:19;;6335:95:82::1;26567:409:150::0;6335:95:82::1;6452:17;::::0;::::1;::::0;-1:-1:-1;;;;;6444:40:82::1;6436:100;;;::::0;-1:-1:-1;;;6436:100:82;;27183:2:150;6436:100:82::1;::::0;::::1;27165:21:150::0;27222:2;27202:18;;;27195:30;27261:34;27241:18;;;27234:62;-1:-1:-1;;;27312:18:150;;;27305:45;27367:19;;6436:100:82::1;26981:411:150::0;6436:100:82::1;6558:14;::::0;::::1;::::0;-1:-1:-1;;;;;6550:37:82::1;6542:94;;;::::0;-1:-1:-1;;;6542:94:82;;27599:2:150;6542:94:82::1;::::0;::::1;27581:21:150::0;27638:2;27618:18;;;27611:30;27677:34;27657:18;;;27650:62;-1:-1:-1;;;27728:18:150;;;27721:42;27780:19;;6542:94:82::1;27397:408:150::0;6542:94:82::1;6643:53;;;;;;;;;;;;;;-1:-1:-1::0;;;6643:53:82::1;;::::0;:32:::1;:53::i;:::-;6702:83;6727:4;:22;;;6751:4;:14;;;6767:4;:17;;;6702:24;:83::i;:::-;6791:47;6813:4;:24;;;6791:21;:47::i;:::-;6844;6870:4;:20;;;6844:25;:47::i;:::-;6910:14:::0;;6897:28:::1;::::0;:12:::1;:28::i;:::-;6931:49;6958:4;:21;;;6931:26;:49::i;:::-;6986:78;7015:4;:29;;;7046:4;:17;;;6986:28;:78::i;:::-;7070:26;:24;:26::i;:::-;7102:22;:20;:22::i;:::-;7130;:20;:22::i;:::-;7158:24;:22;:24::i;:::-;7194:9;7189:195;7209:4;:11;;;:18;7205:1;:22;7189:195;;;7276:1;-1:-1:-1::0;;;;;7250:28:82::1;:4;:11;;;7262:1;7250:14;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;7250:28:82::1;::::0;7242:81:::1;;;::::0;-1:-1:-1;;;7242:81:82;;28012:2:150;7242:81:82::1;::::0;::::1;27994:21:150::0;28051:2;28031:18;;;28024:30;28090:34;28070:18;;;28063:62;-1:-1:-1;;;28141:18:150;;;28134:38;28189:19;;7242:81:82::1;27810:404:150::0;7242:81:82::1;7331:46;2362:4:0;7342:18:82::0;::::1;7362:4;:11;;;7374:1;7362:14;;;;;;;;:::i;:::-;;;;;;;7331:10;:46::i;:::-;-1:-1:-1::0;7229:3:82;::::1;::::0;::::1;:::i;:::-;;;;7189:195;;;;7390:40;-1:-1:-1::0;;;;;;;;;;;7416:4:82::1;:13;;;7390:10;:40::i;:::-;;7436:42;-1:-1:-1::0;;;;;;;;;;;7464:4:82::1;:13;;;7436:10;:42::i;:::-;;7484:72;-1:-1:-1::0;;;;;;;;;;;7527:4:82::1;:28;;;7484:10;:72::i;:::-;;5070:14:2::0;5066:101;;;5100:23;;-1:-1:-1;;;;5100:23:2;;;5142:14;;-1:-1:-1;28372:50:150;;5142:14:2;;28360:2:150;28345:18;5142:14:2;;;;;;;5066:101;4092:1081;;;;;6258:1303:82;:::o;12342:143:84:-;12425:7;12447:33;12457:7;12466:9;12447:33;;;;;;;;;;;;:9;:33::i;10244:196:82:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;10380:55:82::1;10409:25;10380:28;:55::i;13874:190::-:0;14012:7;14034:25;14047:11;14034:12;:25::i;11447:206:91:-;11516:7;11531:35;11569:31;:29;:31::i;:::-;11613:22;;;;:13;;:22;;-1:-1:-1;;11613:22:91;;;:35;;;;11447:206::o;2914:131:94:-;2960:8;2976:22;3001:18;:16;:18::i;:::-;3032:8;-1:-1:-1;;;;;3032:8:94;;2914:131;-1:-1:-1;;2914:131:94:o;2859:174:88:-;2991:32;;2859:174::o;3443:202:0:-;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;;3602:36;3626:11;3602:23;:36::i;2738:171:95:-;2800:7;2815:31;2849:27;:25;:27::i;:::-;2889:15;;;;2738:171;-1:-1:-1;;2738:171:95:o;4014:284:87:-;4117:7;4132:56;4191:23;:21;:23::i;:::-;4227:66;;-1:-1:-1;;;4227:66:87;;;;;28650:25:150;;;28723:14;28711:27;;28691:18;;;28684:55;4132:82:87;;-1:-1:-1;4227:17:87;;:52;;28623:18:150;;4227:66:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4148:103:0:-;4214:30;4225:4;966:10:11;4214::0;:30::i;5250:127:93:-;5330:42;5353:18;5330:22;:42::i;4377:198:84:-;4525:40;;4377:198::o;2620:171:89:-;2750:31;;2620:171::o;3440:176:91:-;3573:33;;3440:176::o;2787:177:0:-;2920:28;;2787:177::o;2643:162:92:-;2767:28;;2643:162::o;7270:387:0:-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;2531:174:90;2663:32;;2531:174::o;4851:177:88:-;4911:11;4930:34;4967:30;:28;:30::i;7892:388:0:-;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;2046:274:87;2144:56;2203:23;:21;:23::i;:::-;2144:82;;2232:17;:42;2275:1;2286:12;:10;:12::i;:::-;2301:7;2310:4;2232:83;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3260:311;3388:4;3400:56;3459:23;:21;:23::i;:::-;3495:71;;-1:-1:-1;;;3495:71:87;;;;;29872:25:150;;;-1:-1:-1;;;;;29933:32:150;;29913:18;;;29906:60;30014:14;30002:27;;29982:18;;;29975:55;3400:82:87;;-1:-1:-1;3495:17:87;;:48;;29845:18:150;;3495:71:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3488:78;3260:311;-1:-1:-1;;;;3260:311:87:o;3640:270::-;3732:16;3756:56;3815:23;:21;:23::i;:::-;3851:54;;-1:-1:-1;;;3851:54:87;;3756:82;;-1:-1:-1;3851:17:87;;:42;;:54;;3756:82;;3897:7;;3851:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3851:54:87;;;;;;;;;;;;:::i;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;4654:251;4599:312::o;14320:98:82:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;878:25:150;;;851:18;;6312:34:3;732:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;14291:213:37;14347:6;14377:16;14369:24;;14365:103;;;14447:2;14451:5;14416:41;;-1:-1:-1;;;14416:41:37;;;;;;;;;:::i;8217:496:84:-;8385:68;8406:7;8415:37;8434:17;8415:18;:37::i;:::-;8385:20;:68::i;:::-;;8460:47;8471:7;8480:5;8487:6;8495:11;8460:10;:47::i;:::-;8518:10;8514:195;;;8538:20;:18;:20::i;:::-;-1:-1:-1;;;;;8538:42:84;;966:10:11;8595:5:84;8602:7;8611:18;8538:92;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8673:7;8666:5;-1:-1:-1;;;;;8643:59:84;;8682:6;8690:11;8643:59;;;;;;;:::i;:::-;;;;;;;;8514:195;8217:496;;;;;:::o;6298:371:88:-;-1:-1:-1;;;;;6379:41:88;;6375:89;;6429:35;;-1:-1:-1;;;6429:35:88;;33393:2:150;6429:35:88;;;33375:21:150;33432:1;33412:18;;;33405:29;-1:-1:-1;;;33450:18:150;;;33443:39;33499:18;;6429:35:88;33191:332:150;6375:89:88;6471:34;6508:30;:28;:30::i;:::-;6544:12;;;:45;;-1:-1:-1;;;;;;6544:45:88;-1:-1:-1;;;;;6544:45:88;;;;;;;;6600:64;;6544:12;;-1:-1:-1;6600:64:88;;;;6544:45;;;6600:64;:::i;:::-;;;;;;;;6369:300;6298:371;:::o;8835:426::-;-1:-1:-1;;;;;8937:44:88;;8933:101;;8990:44;;-1:-1:-1;;;8990:44:88;;34039:2:150;8990:44:88;;;34021:21:150;34078:2;34058:18;;;34051:30;-1:-1:-1;;;34097:18:150;;;34090:48;34155:18;;8990:44:88;33837:342:150;8933:101:88;9041:34;9078:30;:28;:30::i;:::-;9114:21;;;:45;;-1:-1:-1;;;;;;9114:45:88;-1:-1:-1;;;;;9114:45:88;;;;;;;;9171:85;;9114:21;;-1:-1:-1;9171:85:88;;;;9114:45;;;9171:85;:::i;2387:179:93:-;2522:34;;2387:179::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;5256:284:89:-;5345:3;5328:13;:20;;5320:108;;;;-1:-1:-1;;;5320:108:89;;34386:2:150;5320:108:89;;;34368:21:150;34425:2;34405:18;;;34398:30;34464:34;34444:18;;;34437:62;34535:34;34515:18;;;34508:62;-1:-1:-1;;;34586:19:150;;;34579:42;34638:19;;5320:108:89;34184:479:150;5320:108:89;5434:33;5470:29;:27;:29::i;:::-;5505:14;;:30;;;;-1:-1:-1;5256:284:89:o;8328:366:88:-;-1:-1:-1;;;;;8412:38:88;;8408:89;;8459:38;;-1:-1:-1;;;8459:38:88;;34870:2:150;8459:38:88;;;34852:21:150;34909:2;34889:18;;;34882:30;-1:-1:-1;;;34928:18:150;;;34921:42;34980:18;;8459:38:88;34668:336:150;8408:89:88;8504:34;8541:30;:28;:30::i;:::-;8578:15;;;:33;;-1:-1:-1;;;;;;8578:33:88;-1:-1:-1;;;;;8578:33:88;;;;;;;;8622:67;;8578:15;;-1:-1:-1;8622:67:88;;;;8578:33;;;8622:67;:::i;2915:248:87:-;3002:4;3014:56;3073:23;:21;:23::i;:::-;3109:49;;-1:-1:-1;;;3109:49:87;;3014:82;;-1:-1:-1;3109:17:87;;:37;;:49;;3014:82;;3150:7;;3109:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4765:121:91;4842:39;4862:18;4842:19;:39::i;1738:239:87:-;1814:56;1873:23;:21;:23::i;:::-;1814:82;;1902:17;:34;1937:1;1948:4;1955:7;1964;:5;:7::i;:::-;1902:70;;-1:-1:-1;;;;;;1902:70:87;;;;;;;;;;35283:25:150;;;;-1:-1:-1;;;;;35382:15:150;;;35362:18;;;35355:43;35434:15;;35414:18;;;35407:43;35498:14;35486:27;35466:18;;;35459:55;35255:19;;1902:70:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;931:109:42;977:6;1002:31;1020:12;1002:17;:31::i;9805:175:84:-;9895:20;:18;:20::i;:::-;-1:-1:-1;;;;;9895:50:84;;9946:7;9955:5;966:10:11;9895:80:84;;-1:-1:-1;;;;;;9895:80:84;;;;;;;;;;35727:25:150;;;;-1:-1:-1;;;;;35826:15:150;;;35806:18;;;35799:43;35878:15;35858:18;;;35851:43;35700:18;;9895:80:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2434:349:87;2597:28;2627;2657:19;2693:17;:39;2741:4;2748:5;2755:7;2764:13;2693:85;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2693:85:87;;;;;;;;;;;;:::i;:::-;2686:92;;;;;;2434:349;;;;;;;:::o;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;10318:41::-;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;;10314:1;10296:70;10167:206;-1:-1:-1;;;10167:206:39:o;7297:367:88:-;-1:-1:-1;;;;;7381:38:88;;7377:90;;7428:39;;-1:-1:-1;;;7428:39:88;;37850:2:150;7428:39:88;;;37832:21:150;37889:2;37869:18;;;37862:30;-1:-1:-1;;;37908:18:150;;;37901:43;37961:18;;7428:39:88;37648:337:150;7377:90:88;7474:34;7511:30;:28;:30::i;:::-;7548:15;;;:33;;-1:-1:-1;;;;;;7548:33:88;-1:-1:-1;;;;;7548:33:88;;;;;;;;7592:67;;7548:15;;-1:-1:-1;7592:67:88;;;;7548:33;;;7592:67;:::i;7799:406::-;-1:-1:-1;;;;;7895:42:88;;7891:97;;7946:42;;-1:-1:-1;;;7946:42:88;;38192:2:150;7946:42:88;;;38174:21:150;38231:2;38211:18;;;38204:30;-1:-1:-1;;;38250:18:150;;;38243:46;38306:18;;7946:42:88;37990:340:150;7891:97:88;7995:34;8032:30;:28;:30::i;:::-;8069:19;;;:41;;-1:-1:-1;;;;;;8069:41:88;-1:-1:-1;;;;;8069:41:88;;;;;;;;8121:79;;8069:19;;-1:-1:-1;8121:79:88;;;;8069:41;;;8121:79;:::i;5132:488:84:-;5181:7;966:10:11;5181:7:84;5420:16;:14;:16::i;:::-;5397:39;-1:-1:-1;5446:16:84;;5442:136;;5481:22;5490:12;5481:8;:22::i;:::-;5480:23;5472:99;;;;-1:-1:-1;;;5472:99:84;;38537:2:150;5472:99:84;;;38519:21:150;38576:2;38556:18;;;38549:30;38615:34;38595:18;;;38588:62;38686:33;38666:18;;;38659:61;38737:19;;5472:99:84;38335:427:150;5472:99:84;5591:24;5606:8;5591:14;:24::i;:::-;5584:31;;;;5132:488;:::o;6826:346:88:-;-1:-1:-1;;;;;6904:36:88;;6900:85;;6949:36;;-1:-1:-1;;;6949:36:88;;38969:2:150;6949:36:88;;;38951:21:150;39008:2;38988:18;;;38981:30;-1:-1:-1;;;39027:18:150;;;39020:40;39077:18;;6949:36:88;38767:334:150;6900:85:88;6992:34;7029:30;:28;:30::i;:::-;7066:29;;-1:-1:-1;;;;;;7066:29:88;-1:-1:-1;;;;;7066:29:88;;;;;;;7106:61;;7066:29;;-1:-1:-1;7106:61:88;;;;7066:29;;;7106:61;:::i;12860:158:91:-;12941:4;12994:19;13005:7;12994:10;:19::i;:::-;12960:30;12967:22;12981:7;12967:13;:22::i;12960:30::-;:53;;;12860:158;-1:-1:-1;;12860:158:91:o;3017:583:95:-;3094:15;:20;;3113:1;3094:20;3090:78;;3131:30;;-1:-1:-1;;;3131:30:95;;3159:1;3131:30;;;878:25:150;851:18;;3131:30:95;732:177:150;3090:78:95;3249:30;3282:11;:9;:11::i;:::-;-1:-1:-1;;;;;3282:25:95;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3249:60;;3338:22;3319:15;:41;;;3315:113;;3377:44;;-1:-1:-1;;;3377:44:95;;39471:10:150;39459:23;;3377:44:95;;;39441:42:150;39414:18;;3377:44:95;39296:193:150;3315:113:95;3434:31;3468:27;:25;:27::i;:::-;3523:15;;3507:49;;;3523:15;;;;39695:34:150;;39765:15;;;39760:2;39745:18;;39738:43;3523:15:95;;-1:-1:-1;3507:49:95;;39639:18:150;3507:49:95;;;;;;;3562:33;;-1:-1:-1;;3562:33:95;;;;;;;;;;;;;-1:-1:-1;3017:583:95:o;8737:170:2:-;8870:21;;8737:170::o;4627:149:84:-;6931:20:2;:18;:20::i;:::-;4722:49:84::1;4765:5;4722:42;:49::i;4112:274:88:-:0;6931:20:2;:18;:20::i;:::-;4289:92:88::1;4324:17;4343:16;4361:19;4289:34;:92::i;2370:148:95:-:0;6931:20:2;:18;:20::i;:::-;2461:52:95::1;2493:19;2461:31;:52::i;3965:151:91:-:0;6931:20:2;:18;:20::i;:::-;4058:53:91::1;4094:16;4058:35;:53::i;2542:116:94:-:0;6931:20:2;:18;:20::i;:::-;2617:36:94::1;2640:12;2617:22;:36::i;3180:161:93:-:0;6931:20:2;:18;:20::i;:::-;3278:58:93::1;3315:20;3278:36;:58::i;3029:249:89:-:0;6931:20:2;:18;:20::i;:::-;3181:92:89::1;3220:31;3253:19;3181:38;:92::i;2756:109:90:-:0;6931:20:2;:18;:20::i;:::-;2824:36:90::1;3231:65:0::0;6931:20:2;:18;:20::i;3907:203:94:-;4043:7;4065;:5;:7::i;:::-;-1:-1:-1;;;;;4065:20:94;;4086:7;4095:9;4065:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4781:374:89:-;4913:3;4884:25;:32;;4869:150;;;;-1:-1:-1;;;4869:150:89;;39994:2:150;4869:150:89;;;39976:21:150;40033:2;40013:18;;;40006:30;40072:34;40052:18;;;40045:62;40143:34;40123:18;;;40116:62;-1:-1:-1;;;40194:19:150;;;40187:54;40258:19;;4869:150:89;39792:491:150;4869:150:89;5025:33;5061:29;:27;:29::i;:::-;5096:54;;;;-1:-1:-1;4781:374:89:o;4859:190:93:-;4932:7;4724:3;4995:26;5011:9;4995:15;:26::i;:::-;4955:7;:5;:7::i;:::-;-1:-1:-1;;;;;4955:26:93;;4982:9;4955:37;;;;;;;;;;;;;878:25:150;;866:2;851:18;;732:177;4955:37:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:66;;;;:::i;:::-;4954:90;;;;:::i;2401:137:94:-;2508:20;;2401:137::o;10649:244:84:-;10770:4;-1:-1:-1;;;;;;10789:59:84;;-1:-1:-1;;;10789:59:84;;:99;;-1:-1:-1;;;;;;;;;;1133:40:14;;;10852:36:84;1034:146:14;2066:164:95;2191:29;;2066:164::o;1274:181:87:-;1420:25;;1274:181::o;4381:197:0:-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;5578:546:93:-;4724:3;5712:32;;;5708:122;;;5791:18;5811:11;5761:62;;-1:-1:-1;;;5761:62:93;;;;;;;;;:::i;5708:122::-;5836:26;5865:17;:15;:17::i;:::-;5836:46;;5889:36;5928:32;:30;:32::i;:::-;5889:71;;5966:79;5997:7;:5;:7::i;:::-;6006:38;6025:18;6006;:38::i;:::-;5966:1;;:79;:30;:79::i;:::-;;;6057:62;6080:18;6100;6057:62;;;;;;;:::i;:::-;;;;;;;;5655:469;;;5578:546;:::o;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;13668:132:84:-;13742:7;13783:10;13777:17;;;;;;;;:::i;:::-;13772:1;:22;;;;;;;13668:132;-1:-1:-1;;13668:132:84:o;10265:341::-;10357:10;10375:23;10401:14;10407:7;10401:5;:14::i;:::-;10375:40;-1:-1:-1;10485:1:84;10460:13;10425:32;10375:40;10425:18;:32::i;:::-;:48;:62;10421:156;;10533:7;10542:12;10556:13;10504:66;;-1:-1:-1;;;10504:66:84;;;;;;;;;;:::i;6564:4143:91:-;6721:24;6730:7;6739:5;6721:8;:24::i;:::-;6717:82;;;6786:5;6762:30;;-1:-1:-1;;;6762:30:91;;;;;;;;:::i;6717:82::-;6805:35;6843:31;:29;:31::i;:::-;6805:69;;6915:18;6936:22;6950:7;6936:13;:22::i;:::-;6915:43;;7024:19;7134:30;7355:27;7385:38;7405:5;7412:10;7385:19;:38::i;:::-;7355:68;;7536:9;7531:1936;7551:4;:11;7547:1;:15;7531:1936;;;7635:9;7630:118;7650:1;7646;:5;7630:118;;;7683:4;7688:1;7683:7;;;;;;;;:::i;:::-;;;;;;;7672:4;7677:1;7672:7;;;;;;;;:::i;:::-;;;;;;;:18;7668:72;;7711:18;;-1:-1:-1;;;7711:18:91;;;;;;;;;;;7668:72;7653:3;;;;:::i;:::-;;;;7630:118;;;;7771:7;7779:1;7771:10;;;;;;;;:::i;:::-;;;;;;;7756:25;;;;;:::i;:::-;;;7808:19;7794:11;:33;7790:98;;;7846:33;;-1:-1:-1;;;7846:33:91;;;;;;;;;;;7790:98;7970:35;7988:4;7993:1;7988:7;;;;;;;;:::i;:::-;;;;;;;7997;7970:17;:35::i;:::-;7965:109;;8057:4;8062:1;8057:7;;;;;;;;:::i;:::-;;;;;;;8024:41;;-1:-1:-1;;;8024:41:91;;;;;;878:25:150;;866:2;851:18;;732:177;7965:109:91;8173:25;8201:1;:13;;:22;8215:7;8201:22;;;;;;;;;;;:38;;:47;8240:4;8245:1;8240:7;;;;;;;;:::i;:::-;;;;;;;8201:47;;;;;;;;;;;;8173:75;;8566:18;8600:4;8587:7;8595:1;8587:10;;;;;;;;:::i;:::-;;;;;;;:17;:60;;8644:3;8631:7;8639:1;8631:10;;;;;;;;:::i;:::-;;;;;;;:16;;;;:::i;:::-;8587:60;;;8607:21;8617:7;8625:1;8617:10;;;;;;;;:::i;:::-;;;;;;;8607:9;:21::i;:::-;8566:81;-1:-1:-1;8670:26:91;8699:30;8566:81;8699:17;:30;:::i;:::-;8670:59;-1:-1:-1;8981:37:91;9001:17;;8981:37;:::i;:::-;8937:39;8958:18;;8937:39;:::i;:::-;8936:83;;;;:::i;:::-;8910:109;;;;:::i;:::-;;;9278:18;9228:1;:13;;:22;9242:7;9228:22;;;;;;;;;;;:38;;:47;9267:4;9272:1;9267:7;;;;;;;;:::i;:::-;;;;;;;9228:47;;;;;;;;;;;:68;;;;9427:7;9435:1;9427:10;;;;;;;;:::i;:::-;;;;;;;9378:1;:13;;:22;9392:7;9378:22;;;;;;;;;;;:36;;:45;9415:4;9420:1;9415:7;;;;;;;;:::i;:::-;;;;;;;9378:45;;;;;;;;;;;;:59;;;;;;;:::i;:::-;;;;;;;;7569:1898;;;7564:3;;;;;:::i;:::-;;;;7531:1936;;;;9588:17;:15;:17::i;:::-;9574:11;:31;9570:120;;;9652:17;:15;:17::i;:::-;9671:11;9622:61;;-1:-1:-1;;;9622:61:91;;;;;;;;;:::i;9570:120::-;9741:22;;;;:13;;;:22;;;;;:35;;:61;;9780:22;;9741;:61;;9780:22;;9741:61;:::i;:::-;;;;-1:-1:-1;;9993:22:91;;;;:13;;;:22;;;;;:33;;:48;;10030:11;;9993:22;:48;;10030:11;;9993:48;:::i;:::-;;;;-1:-1:-1;;10092:22:91;;;;10133:4;10092:13;;;:22;;;;;;;;-1:-1:-1;;;;;10092:38:91;;;;:31;;;:38;;;;;:45;;-1:-1:-1;;10092:45:91;;;;;;;10177:22;;;;:34;;:36;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;10317:22:91;;:15;:22;;;;;;;;;;;;;10312:73;;-1:-1:-1;;;;;10349:22:91;;:15;:22;;;;;;;;;;:29;;-1:-1:-1;;10349:29:91;10374:4;10349:29;;;10312:73;10517:14;:12;:14::i;:::-;-1:-1:-1;;;;;10517:27:91;;10545:10;10557:5;10564:11;10577:22;10587:11;10577:9;:22::i;:::-;10517:83;;-1:-1:-1;;;;;;10517:83:91;;;;;;;;;;41936:25:150;;;;-1:-1:-1;;;;;41997:32:150;;;41977:18;;;41970:60;42046:18;;;42039:34;42089:18;;;42082:34;41908:19;;10517:83:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10679:7;10672:5;-1:-1:-1;;;;;10653:49:91;;10688:4;10694:7;10653:49;;;;;;;:::i;:::-;;;;;;;;6711:3996;;;;;6564:4143;;;;:::o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;5000:267:91:-;5080:35;5118:31;:29;:31::i;:::-;5080:69;;5161:57;5180:1;:17;;;5199:18;5161:57;;;;;;;:::i;:::-;;;;;;;;5224:17;;:38;5000:267::o;3262:1490:92:-;3339:15;3362:30;3395:26;:24;:26::i;:::-;3362:59;;3430:1;:13;;;3428:15;;;;;:::i;:::-;;;;-1:-1:-1;3459:13:92;;;3482:18;;;:9;;;:18;;;;;:28;3459:13;;-1:-1:-1;;;;3482:28:92;;;;:33;3478:126;;3561:7;3570:14;3576:7;3570:5;:14::i;:::-;3532:65;;-1:-1:-1;;;3532:65:92;;;;;;3594:1;;3532:65;;;:::i;3478:126::-;3662:1;3652:7;:11;3648:95;;;3710:26;3724:11;3734:1;3724:7;:11;:::i;3710:26::-;3792:21;3816:12;:10;:12::i;:::-;-1:-1:-1;;;;;3816:28:92;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3816:30:92;;;;;;;;;;;;:::i;:::-;3852:33;;;;:24;;;:33;;;;;;;;:40;;3792:54;;-1:-1:-1;3852:40:92;;:33;;:40;;;;:::i;:::-;;3899:34;3925:7;3899:25;:34::i;:::-;3940:16;3959:7;:5;:7::i;:::-;3940:26;;;;3972:16;3991:14;:12;:14::i;:::-;4012:23;4038:18;;;:9;;;:18;;;;;4062:25;;-1:-1:-1;;;;;;4062:25:92;-1:-1:-1;;;;;4062:25:92;;;;;3972:33;;-1:-1:-1;4111:27:92;4129:8;4111:17;:27::i;:::-;4093:45;;;;;;;-1:-1:-1;;;4093:45:92;-1:-1:-1;;;;4093:45:92;;;;;;4165:27;4183:8;4165:17;:27::i;:::-;4144:48;;;;;;;-1:-1:-1;;;4144:48:92;-1:-1:-1;;;;4144:48:92;;;;;;:18;4409:64;4445:27;4463:8;4445:17;:27::i;:::-;4409:35;:64::i;:::-;4378:95;-1:-1:-1;;;;;;4483:24:92;;;4479:120;;4517:20;:18;:20::i;:::-;:75;;-1:-1:-1;;;4517:75:92;;;;;42301:25:150;;;-1:-1:-1;;;;;42362:32:150;;42342:18;;;42335:60;-1:-1:-1;;;;;4517:44:92;;;;;;;42274:18:150;;4517:75:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4479:120;4610:68;4623:7;4632:8;4642;4652:19;4663:8;4642;4652:19;:::i;:::-;4673:4;4610:68;;;;;;;;;;:::i;:::-;;;;;;;;3356:1396;;;;;;3262:1490;;;:::o;7084:141:2:-;7151:17;:15;:17::i;:::-;7146:73;;7191:17;;-1:-1:-1;;;7191:17:2;;;;;;;;;;;4780:214:84;6931:20:2;:18;:20::i;:::-;4885:42:84::1;4930:38;:36;:38::i;:::-;4885:83:::0;-1:-1:-1;4885:83:84;4974:15:::1;4984:5:::0;4885:83;4974:15:::1;:::i;4390:378:88:-:0;6931:20:2;:18;:20::i;:::-;4577:34:88::1;4614:30;:28;:30::i;:::-;4650:33:::0;;-1:-1:-1;;;;;;4650:33:88;;::::1;-1:-1:-1::0;;;;;4650:33:88;;::::1;;::::0;;-1:-1:-1;4689:12:88;::::1;:31:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;4726:15:::1;;:37:::0;;;;::::1;::::0;;;::::1;;::::0;;-1:-1:-1;4390:378:88:o;2522:143:95:-;6931:20:2;:18;:20::i;:::-;2623:37:95::1;2640:19;2623:16;:37::i;4120:220:91:-:0;6931:20:2;:18;:20::i;:::-;4223:35:91::1;4261:31;:29;:31::i;:::-;4299:17;;:36:::0;;;;-1:-1:-1;4120:220:91:o;2662:181:94:-;6931:20:2;:18;:20::i;:::-;2747:22:94::1;2772:18;:16;:18::i;:::-;2796:42:::0;;-1:-1:-1;;;;;;2796:42:94::1;-1:-1:-1::0;;;;;2796:42:94;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;2662:181:94:o;3345:157:93:-;6931:20:2;:18;:20::i;3282:271:89:-;6931:20:2;:18;:20::i;:::-;3444:61:89::1;3473:31;3444:28;:61::i;:::-;3511:37;3528:19;3511:16;:37::i;4169:218:37:-:0;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4328:3;4333:5;4297:42;;-1:-1:-1;;;4297:42:37;;;;;;;;;:::i;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;2186:281:24:-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;5653:282:89:-;5737:33;5773:29;:27;:29::i;:::-;5852:26;;;5808:41;;;:32;;;:41;;;;;;;;:70;;;;5916:14;;;;5884:20;;;;:29;;;;;:46;;;;-1:-1:-1;5653:282:89:o;15291:213:37:-;15347:6;15377:16;15369:24;;15365:103;;;15447:2;15451:5;15416:41;;-1:-1:-1;;;15416:41:37;;;;;;;;;:::i;8487:120:2:-;8537:4;8560:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8560:40:2;;;;;;-1:-1:-1;8487:120:2:o;11513:870:39:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;4625:582:32;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;5173:17;;5743:516;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:230:150;-1:-1:-1;;;;;205:32:150;;;;187:51;;175:2;160:18;;14:230::o;249:286::-;307:6;360:2;348:9;339:7;335:23;331:32;328:52;;;376:1;373;366:12;328:52;402:23;;-1:-1:-1;;;;;;454:32:150;;444:43;;434:71;;501:1;498;491:12;914:125;999:14;992:5;988:26;981:5;978:37;968:65;;1029:1;1026;1019:12;1044:245;1102:6;1155:2;1143:9;1134:7;1130:23;1126:32;1123:52;;;1171:1;1168;1161:12;1123:52;1210:9;1197:23;1229:30;1253:5;1229:30;:::i;1502:180::-;1561:6;1614:2;1602:9;1593:7;1589:23;1585:32;1582:52;;;1630:1;1627;1620:12;1582:52;-1:-1:-1;1653:23:150;;1502:180;-1:-1:-1;1502:180:150:o;1687:250::-;1772:1;1782:113;1796:6;1793:1;1790:13;1782:113;;;1872:11;;;1866:18;1853:11;;;1846:39;1818:2;1811:10;1782:113;;;-1:-1:-1;;1929:1:150;1911:16;;1904:27;1687:250::o;1942:271::-;1984:3;2022:5;2016:12;2049:6;2044:3;2037:19;2065:76;2134:6;2127:4;2122:3;2118:14;2111:4;2104:5;2100:16;2065:76;:::i;:::-;2195:2;2174:15;-1:-1:-1;;2170:29:150;2161:39;;;;2202:4;2157:50;;1942:271;-1:-1:-1;;1942:271:150:o;2218:220::-;2367:2;2356:9;2349:21;2330:4;2387:45;2428:2;2417:9;2413:18;2405:6;2387:45;:::i;3038:1592::-;3266:4;3295:2;3335;3324:9;3320:18;3365:2;3354:9;3347:21;3388:6;3423;3417:13;3454:6;3446;3439:22;3480:2;3470:12;;3513:2;3502:9;3498:18;3491:25;;3575:2;3565:6;3562:1;3558:14;3547:9;3543:30;3539:39;3613:2;3605:6;3601:15;3634:1;3644:957;3658:6;3655:1;3652:13;3644:957;;;3723:22;;;-1:-1:-1;;3719:36:150;3707:49;;3779:13;;3847:9;;3832:25;;3904:11;;;3898:18;-1:-1:-1;;;;;3894:44:150;3877:15;;;3870:69;3978:11;;;3972:18;3815:4;4010:15;;;4003:27;;;3815:4;4057:48;4089:15;;;3972:18;4057:48;:::i;:::-;4043:62;;;4128:4;4181:2;4177;4173:11;4167:18;4234:6;4226;4222:19;4217:2;4209:6;4205:15;4198:44;4269:41;4303:6;4287:14;4269:41;:::i;:::-;4333:4;4380:11;;;4374:18;4357:15;;;4350:43;4416:4;4477:11;;;4471:18;4464:26;4457:34;4440:15;;;;4433:59;;;;-1:-1:-1;;;4579:12:150;;;;4544:15;;;;3680:1;3673:9;3644:957;;;-1:-1:-1;4618:6:150;;3038:1592;-1:-1:-1;;;;;;;;3038:1592:150:o;4635:131::-;-1:-1:-1;;;;;4710:31:150;;4700:42;;4690:70;;4756:1;4753;4746:12;4771:134;4839:20;;4868:31;4839:20;4868:31;:::i;4910:315::-;4978:6;4986;5039:2;5027:9;5018:7;5014:23;5010:32;5007:52;;;5055:1;5052;5045:12;5007:52;5091:9;5078:23;5068:33;;5151:2;5140:9;5136:18;5123:32;5164:31;5189:5;5164:31;:::i;:::-;5214:5;5204:15;;;4910:315;;;;;:::o;5459:127::-;5520:10;5515:3;5511:20;5508:1;5501:31;5551:4;5548:1;5541:15;5575:4;5572:1;5565:15;5591:255;5663:2;5657:9;5705:6;5693:19;;-1:-1:-1;;;;;5727:34:150;;5763:22;;;5724:62;5721:88;;;5789:18;;:::i;:::-;5825:2;5818:22;5591:255;:::o;5851:253::-;5923:2;5917:9;5965:4;5953:17;;-1:-1:-1;;;;;5985:34:150;;6021:22;;;5982:62;5979:88;;;6047:18;;:::i;6109:275::-;6180:2;6174:9;6245:2;6226:13;;-1:-1:-1;;6222:27:150;6210:40;;-1:-1:-1;;;;;6265:34:150;;6301:22;;;6262:62;6259:88;;;6327:18;;:::i;:::-;6363:2;6356:22;6109:275;;-1:-1:-1;6109:275:150:o;6389:183::-;6449:4;-1:-1:-1;;;;;6471:30:150;;6468:56;;;6504:18;;:::i;:::-;-1:-1:-1;6549:1:150;6545:14;6561:4;6541:25;;6389:183::o;6577:662::-;6631:5;6684:3;6677:4;6669:6;6665:17;6661:27;6651:55;;6702:1;6699;6692:12;6651:55;6738:6;6725:20;6764:4;6788:60;6804:43;6844:2;6804:43;:::i;:::-;6788:60;:::i;:::-;6882:15;;;6968:1;6964:10;;;;6952:23;;6948:32;;;6913:12;;;;6992:15;;;6989:35;;;7020:1;7017;7010:12;6989:35;7056:2;7048:6;7044:15;7068:142;7084:6;7079:3;7076:15;7068:142;;;7150:17;;7138:30;;7188:12;;;;7101;;7068:142;;;-1:-1:-1;7228:5:150;6577:662;-1:-1:-1;;;;;;6577:662:150:o;7244:348::-;7328:6;7381:2;7369:9;7360:7;7356:23;7352:32;7349:52;;;7397:1;7394;7387:12;7349:52;7424:23;;-1:-1:-1;;;;;7459:30:150;;7456:50;;;7502:1;7499;7492:12;7456:50;7525:61;7578:7;7569:6;7558:9;7554:22;7525:61;:::i;7597:315::-;7665:6;7673;7726:2;7714:9;7705:7;7701:23;7697:32;7694:52;;;7742:1;7739;7732:12;7694:52;7781:9;7768:23;7800:31;7825:5;7800:31;:::i;:::-;7850:5;7902:2;7887:18;;;;7874:32;;-1:-1:-1;;;7597:315:150:o;7917:127::-;7978:10;7973:3;7969:20;7966:1;7959:31;8009:4;8006:1;7999:15;8033:4;8030:1;8023:15;8049:141;8131:1;8124:5;8121:12;8111:46;;8137:18;;:::i;:::-;8166;;8049:141::o;8195:211::-;8343:2;8328:18;;8355:45;8332:9;8382:6;8355:45;:::i;8411:247::-;8470:6;8523:2;8511:9;8502:7;8498:23;8494:32;8491:52;;;8539:1;8536;8529:12;8491:52;8578:9;8565:23;8597:31;8622:5;8597:31;:::i;8663:435::-;8716:3;8754:5;8748:12;8781:6;8776:3;8769:19;8807:4;8836:2;8831:3;8827:12;8820:19;;8873:2;8866:5;8862:14;8894:1;8904:169;8918:6;8915:1;8912:13;8904:169;;;8979:13;;8967:26;;9013:12;;;;9048:15;;;;8940:1;8933:9;8904:169;;;-1:-1:-1;9089:3:150;;8663:435;-1:-1:-1;;;;;8663:435:150:o;9103:261::-;9282:2;9271:9;9264:21;9245:4;9302:56;9354:2;9343:9;9339:18;9331:6;9302:56;:::i;9689:248::-;9757:6;9765;9818:2;9806:9;9797:7;9793:23;9789:32;9786:52;;;9834:1;9831;9824:12;9786:52;-1:-1:-1;;9857:23:150;;;9927:2;9912:18;;;9899:32;;-1:-1:-1;9689:248:150:o;9942:186::-;9990:4;-1:-1:-1;;;;;10012:30:150;;10009:56;;;10045:18;;:::i;:::-;-1:-1:-1;10111:2:150;10090:15;-1:-1:-1;;10086:29:150;10117:4;10082:40;;9942:186::o;10133:806::-;10210:6;10218;10271:2;10259:9;10250:7;10246:23;10242:32;10239:52;;;10287:1;10284;10277:12;10239:52;10326:9;10313:23;10345:31;10370:5;10345:31;:::i;:::-;10395:5;-1:-1:-1;10451:2:150;10436:18;;10423:32;-1:-1:-1;;;;;10467:30:150;;10464:50;;;10510:1;10507;10500:12;10464:50;10533:22;;10586:4;10578:13;;10574:27;-1:-1:-1;10564:55:150;;10615:1;10612;10605:12;10564:55;10651:2;10638:16;10676:48;10692:31;10720:2;10692:31;:::i;10676:48::-;10747:2;10740:5;10733:17;10787:7;10782:2;10777;10773;10769:11;10765:20;10762:33;10759:53;;;10808:1;10805;10798:12;10759:53;10863:2;10858;10854;10850:11;10845:2;10838:5;10834:14;10821:45;10907:1;10902:2;10897;10890:5;10886:14;10882:23;10875:34;10928:5;10918:15;;;;;10133:806;;;;;:::o;11152:1206::-;11279:6;11287;11295;11348:2;11336:9;11327:7;11323:23;11319:32;11316:52;;;11364:1;11361;11354:12;11316:52;11387:23;;;-1:-1:-1;11429:2:150;11467:18;;;11454:32;-1:-1:-1;;;;;11535:14:150;;;11532:34;;;11562:1;11559;11552:12;11532:34;11585:61;11638:7;11629:6;11618:9;11614:22;11585:61;:::i;:::-;11575:71;;11699:2;11688:9;11684:18;11671:32;11655:48;;11728:2;11718:8;11715:16;11712:36;;;11744:1;11741;11734:12;11712:36;-1:-1:-1;11767:24:150;;11822:4;11814:13;;11810:27;-1:-1:-1;11800:55:150;;11851:1;11848;11841:12;11800:55;11887:2;11874:16;11910:60;11926:43;11966:2;11926:43;:::i;11910:60::-;12004:15;;;12086:1;12082:10;;;;12074:19;;12070:28;;;12035:12;;;;12110:19;;;12107:39;;;12142:1;12139;12132:12;12107:39;12166:11;;;;12186:142;12202:6;12197:3;12194:15;12186:142;;;12268:17;;12256:30;;12219:12;;;;12306;;;;12186:142;;;12347:5;12337:15;;;;;;;11152:1206;;;;;:::o;14789:386::-;14856:6;14864;14917:2;14905:9;14896:7;14892:23;14888:32;14885:52;;;14933:1;14930;14923:12;14885:52;14972:9;14959:23;14991:31;15016:5;14991:31;:::i;:::-;15041:5;-1:-1:-1;15098:2:150;15083:18;;15070:32;15111;15070;15111;:::i;16260:163::-;16327:20;;16387:10;16376:22;;16366:33;;16356:61;;16413:1;16410;16403:12;16428:184;16486:6;16539:2;16527:9;16518:7;16514:23;16510:32;16507:52;;;16555:1;16552;16545:12;16507:52;16578:28;16596:9;16578:28;:::i;16617:737::-;16671:5;16724:3;16717:4;16709:6;16705:17;16701:27;16691:55;;16742:1;16739;16732:12;16691:55;16778:6;16765:20;16804:4;16828:60;16844:43;16884:2;16844:43;:::i;16828:60::-;16922:15;;;17008:1;17004:10;;;;16992:23;;16988:32;;;16953:12;;;;17032:15;;;17029:35;;;17060:1;17057;17050:12;17029:35;17096:2;17088:6;17084:15;17108:217;17124:6;17119:3;17116:15;17108:217;;;17204:3;17191:17;17221:31;17246:5;17221:31;:::i;:::-;17265:18;;17303:12;;;;17141;;17108:217;;17359:1495;17455:6;17508:2;17496:9;17487:7;17483:23;17479:32;17476:52;;;17524:1;17521;17514:12;17476:52;17551:23;;-1:-1:-1;;;;;17623:14:150;;;17620:34;;;17650:1;17647;17640:12;17620:34;17673:22;;;;17729:6;17711:16;;;17707:29;17704:49;;;17749:1;17746;17739:12;17704:49;17775:22;;:::i;:::-;17820;17839:2;17820:22;:::i;:::-;17813:5;17806:37;17896:2;17892;17888:11;17875:25;17870:2;17863:5;17859:14;17852:49;17933:30;17959:2;17955;17951:11;17933:30;:::i;:::-;17928:2;17921:5;17917:14;17910:54;17996:31;18023:2;18019;18015:11;17996:31;:::i;:::-;17991:2;17984:5;17980:14;17973:55;18061:32;18088:3;18084:2;18080:12;18061:32;:::i;:::-;18055:3;18048:5;18044:15;18037:57;18127:32;18154:3;18150:2;18146:12;18127:32;:::i;:::-;18121:3;18114:5;18110:15;18103:57;18206:3;18202:2;18198:12;18185:26;18236:2;18226:8;18223:16;18220:36;;;18252:1;18249;18242:12;18220:36;18289:56;18337:7;18326:8;18322:2;18318:17;18289:56;:::i;:::-;18283:3;18276:5;18272:15;18265:81;;18379:32;18406:3;18402:2;18398:12;18379:32;:::i;:::-;18373:3;18366:5;18362:15;18355:57;18431:3;18421:13;;18466:31;18493:2;18489;18485:11;18466:31;:::i;:::-;18461:2;18454:5;18450:14;18443:55;18517:3;18507:13;;18552:31;18579:2;18575;18571:11;18552:31;:::i;:::-;18536:14;;;18529:55;;;;18603:3;18651:11;;;18638:25;18622:14;;;18615:49;18683:3;18731:11;;;18718:25;18702:14;;;18695:49;18763:3;18811:11;;;18798:25;18782:14;;;18775:49;;;;18540:5;17359:1495;-1:-1:-1;;;17359:1495:150:o;19084:380::-;19163:1;19159:12;;;;19206;;;19227:61;;19281:4;19273:6;19269:17;19259:27;;19227:61;19334:2;19326:6;19323:14;19303:18;19300:38;19297:161;;19380:10;19375:3;19371:20;19368:1;19361:31;19415:4;19412:1;19405:15;19443:4;19440:1;19433:15;19297:161;;19084:380;;;:::o;19469:127::-;19530:10;19525:3;19521:20;19518:1;19511:31;19561:4;19558:1;19551:15;19585:4;19582:1;19575:15;19601:138;19680:13;;19702:31;19680:13;19702:31;:::i;19744:442::-;19798:5;19851:3;19844:4;19836:6;19832:17;19828:27;19818:55;;19869:1;19866;19859:12;19818:55;19898:6;19892:13;19929:48;19945:31;19973:2;19945:31;:::i;19929:48::-;20002:2;19993:7;19986:19;20048:3;20041:4;20036:2;20028:6;20024:15;20020:26;20017:35;20014:55;;;20065:1;20062;20055:12;20014:55;20078:77;20152:2;20145:4;20136:7;20132:18;20125:4;20117:6;20113:17;20078:77;:::i;20191:164::-;20267:13;;20316;;20309:21;20299:32;;20289:60;;20345:1;20342;20335:12;20360:1065;20473:6;20526:2;20514:9;20505:7;20501:23;20497:32;20494:52;;;20542:1;20539;20532:12;20494:52;20569:16;;-1:-1:-1;;;;;20634:14:150;;;20631:34;;;20661:1;20658;20651:12;20631:34;20684:22;;;;20740:4;20722:16;;;20718:27;20715:47;;;20758:1;20755;20748:12;20715:47;20784:22;;:::i;:::-;20835:2;20829:9;20822:5;20815:24;20871:42;20909:2;20905;20901:11;20871:42;:::i;:::-;20866:2;20859:5;20855:14;20848:66;20953:2;20949;20945:11;20939:18;20982:2;20972:8;20969:16;20966:36;;;20998:1;20995;20988:12;20966:36;21034:56;21082:7;21071:8;21067:2;21063:17;21034:56;:::i;:::-;21029:2;21022:5;21018:14;21011:80;;21130:2;21126;21122:11;21116:18;21159:2;21149:8;21146:16;21143:36;;;21175:1;21172;21165:12;21143:36;21211:56;21259:7;21248:8;21244:2;21240:17;21211:56;:::i;:::-;21206:2;21199:5;21195:14;21188:80;;21315:3;21311:2;21307:12;21301:19;21295:3;21288:5;21284:15;21277:44;21354:40;21389:3;21385:2;21381:12;21354:40;:::i;:::-;21348:3;21337:15;;21330:65;21341:5;20360:1065;-1:-1:-1;;;;;20360:1065:150:o;21430:127::-;21491:10;21486:3;21482:20;21479:1;21472:31;21522:4;21519:1;21512:15;21546:4;21543:1;21536:15;21562:135;21601:3;21622:17;;;21619:43;;21642:18;;:::i;:::-;-1:-1:-1;21689:1:150;21678:13;;21562:135::o;22120:128::-;22187:9;;;22208:11;;;22205:37;;;22222:18;;:::i;22253:337::-;22333:6;22386:2;22374:9;22365:7;22361:23;22357:32;22354:52;;;22402:1;22399;22392:12;22354:52;22429:16;;-1:-1:-1;;;;;22457:30:150;;22454:50;;;22500:1;22497;22490:12;22454:50;22523:61;22576:7;22567:6;22556:9;22552:22;22523:61;:::i;22595:125::-;22660:9;;;22681:10;;;22678:36;;;22694:18;;:::i;23568:293::-;-1:-1:-1;;;;;23758:32:150;;;;23740:51;;23839:14;23827:27;23822:2;23807:18;;23800:55;23728:2;23713:18;;23568:293::o;23866:202::-;23933:6;23986:2;23974:9;23965:7;23961:23;23957:32;23954:52;;;24002:1;23999;23992:12;23954:52;24025:37;24052:9;24025:37;:::i;24073:184::-;24143:6;24196:2;24184:9;24175:7;24171:23;24167:32;24164:52;;;24212:1;24209;24202:12;24164:52;-1:-1:-1;24235:16:150;;24073:184;-1:-1:-1;24073:184:150:o;24262:249::-;24331:6;24384:2;24372:9;24363:7;24359:23;24355:32;24352:52;;;24400:1;24397;24390:12;24352:52;24432:9;24426:16;24451:30;24475:5;24451:30;:::i;24516:274::-;-1:-1:-1;;;;;24708:32:150;;;;24690:51;;24772:2;24757:18;;24750:34;24678:2;24663:18;;24516:274::o;24795:416::-;24881:6;24889;24942:2;24930:9;24921:7;24917:23;24913:32;24910:52;;;24958:1;24955;24948:12;24910:52;24981:37;25008:9;24981:37;:::i;:::-;25062:2;25047:18;;25041:25;24971:47;;-1:-1:-1;;;;;;25078:30:150;;25075:50;;;25121:1;25118;25111:12;25075:50;25144:61;25197:7;25188:6;25177:9;25173:22;25144:61;:::i;:::-;25134:71;;;24795:416;;;;;:::o;25216:256::-;25398:25;;;25454:2;25439:18;;25432:34;25386:2;25371:18;;25216:256::o;25811:317::-;-1:-1:-1;;;;;25988:32:150;;25970:51;;26057:2;26052;26037:18;;26030:30;;;-1:-1:-1;;26077:45:150;;26103:18;;26095:6;26077:45;:::i;26133:176::-;26200:14;26234:10;;;26246;;;26230:27;;26269:11;;;26266:37;;;26283:18;;:::i;28750:290::-;28820:6;28873:2;28861:9;28852:7;28848:23;28844:32;28841:52;;;28889:1;28886;28879:12;28841:52;28915:16;;-1:-1:-1;;;;;28960:31:150;;28950:42;;28940:70;;29006:1;29003;28996:12;29045:577;29335:25;;;-1:-1:-1;;;;;29434:15:150;;;29429:2;29414:18;;29407:43;29486:15;;29481:2;29466:18;;29459:43;29538:3;29533:2;29518:18;;29511:31;;;29316:4;;29559:57;;29596:19;;29588:6;29559:57;:::i;:::-;29551:65;29045:577;-1:-1:-1;;;;;;29045:577:150:o;30041:319::-;30260:25;;;-1:-1:-1;;;;;30321:32:150;30316:2;30301:18;;30294:60;30248:2;30233:18;;30041:319::o;30365:659::-;30430:5;30483:3;30476:4;30468:6;30464:17;30460:27;30450:55;;30501:1;30498;30491:12;30450:55;30530:6;30524:13;30556:4;30580:60;30596:43;30636:2;30596:43;:::i;30580:60::-;30674:15;;;30760:1;30756:10;;;;30744:23;;30740:32;;;30705:12;;;;30784:15;;;30781:35;;;30812:1;30809;30802:12;30781:35;30848:2;30840:6;30836:15;30860:135;30876:6;30871:3;30868:15;30860:135;;;30942:10;;30930:23;;30973:12;;;;30893;;30860:135;;31029:363;31124:6;31177:2;31165:9;31156:7;31152:23;31148:32;31145:52;;;31193:1;31190;31183:12;31145:52;31220:16;;-1:-1:-1;;;;;31248:30:150;;31245:50;;;31291:1;31288;31281:12;31245:50;31314:72;31378:7;31369:6;31358:9;31354:22;31314:72;:::i;31586:266::-;31797:4;31785:17;;;;31767:36;;31834:2;31819:18;;31812:34;31755:2;31740:18;;31586:266::o;31857:520::-;-1:-1:-1;;;;;32161:15:150;;;32143:34;;32213:15;;32208:2;32193:18;;32186:43;32260:2;32245:18;;32238:34;;;32092:3;32077:19;;32302:1;32291:13;;32281:47;;32308:18;;:::i;:::-;32364:6;32359:2;32348:9;32344:18;32337:34;31857:520;;;;;;;:::o;32382:804::-;32639:2;32628:9;32621:21;32602:4;32665:56;32717:2;32706:9;32702:18;32694:6;32665:56;:::i;:::-;32778:22;;;32740:2;32758:18;;;32751:50;;;;32850:13;;32872:22;;;32948:15;;;;32910;;;32981:1;32991:169;33005:6;33002:1;32999:13;32991:169;;;33066:13;;33054:26;;33135:15;;;;33100:12;;;;33027:1;33020:9;32991:169;;;-1:-1:-1;33177:3:150;;32382:804;-1:-1:-1;;;;;;;32382:804:150:o;33528:304::-;-1:-1:-1;;;;;33758:15:150;;;33740:34;;33810:15;;33805:2;33790:18;;33783:43;33690:2;33675:18;;33528:304::o;35905:540::-;-1:-1:-1;;;;;36214:15:150;;;36196:34;;36266:15;;36261:2;36246:18;;36239:43;36313:2;36298:18;;36291:34;;;36361:3;36356:2;36341:18;;36334:31;;;36139:4;;36382:57;;36419:19;;36411:6;36382:57;:::i;36450:1193::-;36588:6;36596;36604;36657:2;36645:9;36636:7;36632:23;36628:32;36625:52;;;36673:1;36670;36663:12;36625:52;36700:16;;-1:-1:-1;;;;;36765:14:150;;;36762:34;;;36792:1;36789;36782:12;36762:34;36815:72;36879:7;36870:6;36859:9;36855:22;36815:72;:::i;:::-;36805:82;;36906:2;36896:12;;36954:2;36943:9;36939:18;36933:25;36983:2;36973:8;36970:16;36967:36;;;36999:1;36996;36989:12;36967:36;37022:24;;;-1:-1:-1;37077:4:150;37069:13;;37065:27;-1:-1:-1;37055:55:150;;37106:1;37103;37096:12;37055:55;37135:2;37129:9;37158:60;37174:43;37214:2;37174:43;:::i;37158:60::-;37252:15;;;37334:1;37330:10;;;;37322:19;;37318:28;;;37283:12;;;;37358:19;;;37355:39;;;37390:1;37387;37380:12;37355:39;37414:11;;;;37434:135;37450:6;37445:3;37442:15;37434:135;;;37516:10;;37504:23;;37467:12;;;;37547;;;;37434:135;;;37588:5;37578:15;;;;;;;37633:2;37622:9;37618:18;37612:25;37602:35;;36450:1193;;;;;:::o;40288:168::-;40361:9;;;40392;;40409:15;;;40403:22;;40389:37;40379:71;;40430:18;;:::i;40461:127::-;40522:10;40517:3;40513:20;40510:1;40503:31;40553:4;40550:1;40543:15;40577:4;40574:1;40567:15;40593:217;40633:1;40659;40649:132;;40703:10;40698:3;40694:20;40691:1;40684:31;40738:4;40735:1;40728:15;40766:4;40763:1;40756:15;40649:132;-1:-1:-1;40795:9:150;;40593:217::o;41347:353::-;41563:25;;;41551:2;41536:18;;41597:54;41647:2;41632:18;;41624:6;41597:54;:::i;:::-;41687:6;41682:2;41671:9;41667:18;41660:34;41347:353;;;;;;:::o;42406:574::-;42697:6;42686:9;42679:25;42769:1;42765;42760:3;42756:11;42752:19;42744:6;42740:32;42735:2;42724:9;42720:18;42713:60;42809:6;42804:2;42793:9;42789:18;42782:34;42852:6;42847:2;42836:9;42832:18;42825:34;42896:3;42890;42879:9;42875:19;42868:32;42660:4;42917:57;42969:3;42958:9;42954:19;42946:6;42917:57;:::i;43111:545::-;43213:2;43208:3;43205:11;43202:448;;;43249:1;43274:5;43270:2;43263:17;43319:4;43315:2;43305:19;43389:2;43377:10;43373:19;43370:1;43366:27;43360:4;43356:38;43425:4;43413:10;43410:20;43407:47;;;-1:-1:-1;43448:4:150;43407:47;43503:2;43498:3;43494:12;43491:1;43487:20;43481:4;43477:31;43467:41;;43558:82;43576:2;43569:5;43566:13;43558:82;;;43621:17;;;43602:1;43591:13;43558:82;;43832:1352;43952:10;;-1:-1:-1;;;;;43974:30:150;;43971:56;;;44007:18;;:::i;:::-;44036:97;44126:6;44086:38;44118:4;44112:11;44086:38;:::i;:::-;44080:4;44036:97;:::i;:::-;44188:4;;44252:2;44241:14;;44269:1;44264:663;;;;44971:1;44988:6;44985:89;;;-1:-1:-1;45040:19:150;;;45034:26;44985:89;-1:-1:-1;;43789:1:150;43785:11;;;43781:24;43777:29;43767:40;43813:1;43809:11;;;43764:57;45087:81;;44234:944;;44264:663;43058:1;43051:14;;;43095:4;43082:18;;-1:-1:-1;;44300:20:150;;;44418:236;44432:7;44429:1;44426:14;44418:236;;;44521:19;;;44515:26;44500:42;;44613:27;;;;44581:1;44569:14;;;;44448:19;;44418:236;;;44422:3;44682:6;44673:7;44670:19;44667:201;;;44743:19;;;44737:26;-1:-1:-1;;44826:1:150;44822:14;;;44838:3;44818:24;44814:37;44810:42;44795:58;44780:74;;44667:201;-1:-1:-1;;;;;44914:1:150;44898:14;;;44894:22;44881:36;;-1:-1:-1;43832:1352:150:o;45461:287::-;45590:3;45628:6;45622:13;45644:66;45703:6;45698:3;45691:4;45683:6;45679:17;45644:66;:::i;:::-;45726:16;;;;;45461:287;-1:-1:-1;;45461:287:150:o"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","COUNTING_MODE()":"dd4e2ba5","DEFAULT_ADMIN_ROLE()":"a217fddf","GOVERNANCE_ROLE()":"f36c8f5c","ROUND_STARTER_ROLE()":"cd669a72","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","appSharesCap()":"bb7de6d4","b3trGovernor()":"7893d736","baseAllocationPercentage()":"8ab52d4b","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getAppsOfRound(uint256)":"291605f7","getDepositVotingPower(address,uint256)":"a56b5765","getRoleAdmin(bytes32)":"248a9ca3","getRound(uint256)":"8f1327c0","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalAutoVotingUsersAtTimepoint(uint48)":"059e952b","getTotalVotingPower(address,uint256)":"4cadad2f","getUserVotingPreferences(address)":"412caf0b","getVotes(address,uint256)":"eb9019d4","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","initialize((address,uint256,uint32,address,address,address,address[],address,address,address,uint256,uint256,uint256))":"e7ad2bed","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isFinalized(uint256)":"33727c4d","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","proxiableUUID()":"52d1902d","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","setAppSharesCap(uint256)":"74038935","setB3TRGovernor(address)":"78a81336","setBaseAllocationPercentage(uint256)":"f5fae136","setEmissionsAddress(address)":"57181609","setRelayerRewardsPoolAddress(address)":"5dbdba6e","setUserVotingPreferences(bytes32[])":"3b395cbe","setVeBetterPassport(address)":"b3c93dab","setVoterRewardsAddress(address)":"b25d6f62","setVotingPeriod(uint32)":"e540d01d","setVotingThreshold(uint256)":"836761e0","setX2EarnAppsAddress(address)":"c048f6c9","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","token()":"fc0c546a","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","updateQuorumNumerator(uint256)":"06f3f9e6","upgradeToAndCall(address,bytes)":"4f1ef286","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","votingThreshold()":"62827733","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateAppVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"B3TRGovernorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"EmissionsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldQuorumNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"RelayerRewardsPoolSet\",\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VoterRewardsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingPeriod\",\"type\":\"uint256\"}],\"name\":\"VotingPeriodSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"X2EarnAppsSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOVERNANCE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROUND_STARTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"appSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppsOfRound\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRound\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"voteStart\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"voteDuration\",\"type\":\"uint32\"}],\"internalType\":\"struct RoundsStorageUpgradeableV8.RoundCore\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"getTotalAutoVotingUsersAtTimepoint\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getUserVotingPreferences\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"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\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IVotes\",\"name\":\"vot3Token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"quorumPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"initialVotingPeriod\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"timeLock\",\"type\":\"address\"},{\"internalType\":\"contract IVoterRewards\",\"name\":\"voterRewards\",\"type\":\"address\"},{\"internalType\":\"contract IEmissions\",\"name\":\"emissions\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"admins\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractsAddressManager\",\"type\":\"address\"},{\"internalType\":\"contract IX2EarnApps\",\"name\":\"x2EarnAppsAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"baseAllocationPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"appSharesCap\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingThreshold\",\"type\":\"uint256\"}],\"internalType\":\"struct XAllocationVotingV8.InitializationData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"appSharesCap_\",\"type\":\"uint256\"}],\"name\":\"setAppSharesCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"newB3TRGovernor\",\"type\":\"address\"}],\"name\":\"setB3TRGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseAllocationPercentage_\",\"type\":\"uint256\"}],\"name\":\"setBaseAllocationPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"newEmissions\",\"type\":\"address\"}],\"name\":\"setEmissionsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"newRelayerRewardsPool\",\"type\":\"address\"}],\"name\":\"setRelayerRewardsPoolAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"}],\"name\":\"setUserVotingPreferences\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"setVeBetterPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"newVoterRewards\",\"type\":\"address\"}],\"name\":\"setVoterRewardsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"newVotingPeriod\",\"type\":\"uint32\"}],\"name\":\"setVotingPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"setVotingThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"newX2EarnApps\",\"type\":\"address\"}],\"name\":\"setX2EarnAppsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC5805\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"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\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Rounds are started by the Emissions contract.Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).Interacts with the VotingRewards contract to save the user from casting a vote.The contract is using AccessControl to handle roles for admin, governance, and round-starting operations. ----- Version 2 ----- - Integrated VeBetterPassport - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold ----- Version 3 ----- - Updated the X2EarnApps interface to support node endorsement feature ----- Version 4 ----- - Updated the X2EarnApps interface to support node cooldown functionality ----- Version 6 -----  - Align IVoterRewards and IEmissions interfaces with the new contracts ----- Version 7 ----- - Proposal Execution: Count proposal deposits to x-allocation voting power ----- Version 8 -----  - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"DuplicateAppVote()\":[{\"details\":\"Error thrown when trying to vote for the same app multiple times in one transaction\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum set is not a valid fraction.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"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.\"},\"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`)\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"See {IXAllocationVotingGovernor-COUNTING_MODE}.\"},\"b3trGovernor()\":{\"details\":\"Get the B3TRGovernor contract\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"currentRoundDeadline()\":{\"details\":\"Get the current round deadline block\"},\"currentRoundId()\":{\"details\":\"Get the current round id\"},\"currentRoundSnapshot()\":{\"details\":\"Get the current round start block\"},\"emissions()\":{\"details\":\"The emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Store the last succeeded round for the given round\",\"params\":{\"roundId\":\"The round to finalize\"}},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Get the ids of the apps eligible for voting in a round\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Get the votes received by a specific application in a given round\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Get the quadratic funding votes received by a specific application in a given round\"},\"getAppsOfRound(uint256)\":{\"details\":\"Get all the apps in the form of {App} eligible for voting in a round\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRound(uint256)\":{\"details\":\"Get the data of a round\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the last emission block\"},\"getTotalAutoVotingUsersAtTimepoint(uint48)\":{\"details\":\"Get the total number of users who enabled autovoting at a specific timepoint\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getUserVotingPreferences(address)\":{\"details\":\"Get the voting preferences for an account\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"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`.\"},\"hasVoted(uint256,address)\":{\"details\":\"Check if a user has voted in a given round\"},\"hasVotedOnce(address)\":{\"details\":\"Check if a user has voted at least once from the deployment of the contract\"},\"initialize((address,uint256,uint32,address,address,address,address[],address,address,address,uint256,uint256,uint256))\":{\"params\":{\"data\":\"The initialization data\"}},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isFinalized(uint256)\":{\"details\":\"Check if the round is finalized\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Checks if auto-voting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether auto-voting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if auto-voting is enabled for an account at a specific\",\"params\":{\"account\":\"The address to check\",\"timepoint\":\"block number\"}},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Checks if auto-voting is enabled for an account at the start of a specific round\"},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Checks if auto-voting is enabled for an account at the start of the current cycle\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Get the last succeeded round for the given round\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"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.\"},\"quorumDenominator()\":{\"details\":\"Returns the quorum denominator. Defaults to 100, but may be overridden.\"},\"quorumNumerator()\":{\"details\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"details\":\"Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Get the RelayerRewardsPool contract\"},\"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 `callerConfirmation`. 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.\"},\"roundDeadline(uint256)\":{\"details\":\"Get the deadline block of a round\"},\"roundProposer(uint256)\":{\"details\":\"Get the proposer of a round\"},\"roundSnapshot(uint256)\":{\"details\":\"Get the start block of a round\"},\"setAppSharesCap(uint256)\":{\"details\":\"Set the max amount of shares an app can get in a round\"},\"setB3TRGovernor(address)\":{\"details\":\"Set the B3TRGovernor contract\"},\"setBaseAllocationPercentage(uint256)\":{\"details\":\"Set the base allocation percentage for funds distribution in a round\"},\"setEmissionsAddress(address)\":{\"details\":\"Set the address of the Emissions contract\"},\"setRelayerRewardsPoolAddress(address)\":{\"details\":\"Set the address of the RelayerRewardsPool contract\"},\"setUserVotingPreferences(bytes32[])\":{\"details\":\"Set the voting preferences for the caller\"},\"setVeBetterPassport(address)\":{\"details\":\"Set the VeBetterPassport contract\"},\"setVoterRewardsAddress(address)\":{\"details\":\"Set the address of the VoterRewards contract\"},\"setVotingPeriod(uint32)\":{\"details\":\"Set the voting period for a round\"},\"setVotingThreshold(uint256)\":{\"details\":\"Update the voting threshold. This operation can only be performed through a governance proposal. Emits a {VotingThresholdSet} event.\"},\"setX2EarnAppsAddress(address)\":{\"details\":\"Set the address of the X2EarnApps contract\"},\"startNewRound()\":{\"details\":\"Start a new voting round for allocating funds to the x-apps\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for the caller\"},\"token()\":{\"details\":\"The token that voting power is sourced from.\"},\"totalVoters(uint256)\":{\"details\":\"Get the total number of voters in a given round\"},\"totalVotes(uint256)\":{\"details\":\"Get the total votes cast in a given round\"},\"totalVotesQF(uint256)\":{\"details\":\"Get the total quadratic funding votes cast in a given round\"},\"updateQuorumNumerator(uint256)\":{\"details\":\"Update the quorum a round needs to reach to be successful\"},\"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.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Get the voter rewards contract\"},\"votingThreshold()\":{\"details\":\"The minimum number of tokens needed to cast a vote.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract\",\"returns\":{\"_0\":\"IX2EarnApps The X2EarnApps contract interface\"}}},\"title\":\"XAllocationVoting\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"The role that can set the addresses of the contracts used by the VoterRewards contract.\"},\"GOVERNANCE_ROLE()\":{\"notice\":\"Role identifier for governance operations\"},\"ROUND_STARTER_ROLE()\":{\"notice\":\"Role identifier for the address that can start a new round\"},\"UPGRADER_ROLE()\":{\"notice\":\"Role identifier for the address that can upgrade the contract\"},\"appSharesCap()\":{\"notice\":\"Get the app shares cap\"},\"baseAllocationPercentage()\":{\"notice\":\"Get the base allocation percentage\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppsOfRound(uint256)\":{\"notice\":\"This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound} and then call {IX2EarnApps-app} for each app id\"},\"getRoundAppSharesCap(uint256)\":{\"notice\":\"Returns the app shares cap for a given round\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"notice\":\"Returns the base allocation percentage for a given round\"},\"initialize((address,uint256,uint32,address,address,address,address[],address,address,address,uint256,uint256,uint256))\":{\"notice\":\"Initialize the contract\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"notice\":\"Useful function for frontend to consume\"},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"notice\":\"Status changes mid-cycle will only take effect in the next cycle\"},\"roundQuorum(uint256)\":{\"notice\":\"Returns the quorum for a given round\"},\"votingThreshold()\":{\"notice\":\"The voting threshold.\"}},\"notice\":\"This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds. The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \\\"Quadratic Funding\\\" formula.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/XAllocationVotingV8.sol\":\"XAllocationVotingV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V8/XAllocationVotingV8.sol\":{\"keccak256\":\"0xbc70cfc67fd9057524855f48e6da4c760a5a5a3b4a07f0719fa32fc7608216a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2e238d52a05a89861c1e3d63fd083103844dab59f1bc67200c77cf8719897c9\",\"dweb:/ipfs/QmRsM5qX7wvwEotS6U6JAyqN869JSXxVZwjoybW8AcDhQC\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol\":{\"keccak256\":\"0x5584ab427e7a48c3588495362e29f01b598d64dcfe17e9936a741cd58896a6b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51577a6c571c1b82bfd460ed39a29af65b1d01dfa3814f7abac7cd1d2e1de8a6\",\"dweb:/ipfs/QmTQriPXHaq16XoTiaBTnN4Lpjhrn2xpXNV2MMvZcbJRTQ\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol\":{\"keccak256\":\"0xa1ffa2be4062d1ef34eb03c9211f39284052acd5e7ca29e8c63f1fe557e54502\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c74d9c314e9090fb9f9822006fef2cb3bf7f995afc7507719b7e2f723113a7e\",\"dweb:/ipfs/QmczTiK9DJnsW15oo9Xc5FETPUYnZZFhHXCKT3yZYSRGuX\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol\":{\"keccak256\":\"0xe345266d5289d8e6f87c067d4873a8e3f6939192fed59a98464508e9addd6e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e2e1b46d8471c2d8786e8dc7ca02b422e79648b7d84182571d3c71262d501d5\",\"dweb:/ipfs/QmRXnGCodY65qh15PfDzDr2Gn2XB5mREamzaLJJcj6g5ae\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol\":{\"keccak256\":\"0x548acbad387668c958b4c578c36681cf6dfaa12641123efe533966244c8fe84f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c03c24a566acf84b4393448d16b3bdea105b1e7915a22b3a05da9206befe2180\",\"dweb:/ipfs/QmdDH7rqQzTjMVE6p28fPx2jg38X6kRznkGtsqyTXv3x3j\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol\":{\"keccak256\":\"0xb1877cdecaa2c3378ad6f2140aa7a602e368a522f52aff85e8dd0c227a1a03a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://247e531a25359b9faf86b4a13015779fa18027b7fd0438a56b10f0308836aa83\",\"dweb:/ipfs/QmYn3MkDN8Fcjw1omjvZZMRBKDdyi1vFz5dBDnFAyq9gwf\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol\":{\"keccak256\":\"0xc2437c5ad75203ac97d4ed1914365b44ef5874708b494de12547419f1dd2b29a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a2495d6974b8f095c6892d28f29d9104474d3615dd25a60e35c862b5aec6b06\",\"dweb:/ipfs/QmWzGy2zDdvnrEpgqc4Z8eFDEBHS7uvi3duiNJp1ciJdpV\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol\":{\"keccak256\":\"0xd16021c022d6ec26f72c094f75de87b0b638de87b681b935d548dae8f9149014\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3b4e882cef867ff5ba454b3c5c56c6afa345c4473ea19dac1b4d173100368c\",\"dweb:/ipfs/QmRmi2CjjfpHPaEAfpWDPuBbWmeeegCQskgBk7BR8ECF8Y\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol\":{\"keccak256\":\"0x00fdea938a02ce5d7909ffed3f86286cc7f03502002dc2d2b2e4c416517879a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddb2e65f75793f21e90b8134d807a6ebdbf84471845f32a8d8dddda6c574f48f\",\"dweb:/ipfs/Qmb4a7uf5372s6pCz5RydSdZyafsAN3jUqqVDAFXeoyYFh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol\":{\"keccak256\":\"0xb78fd3922102e26d76c88c429450477f1b18d9f51d207183f8dcd24bf7e8707e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80eb7cc2e127ed23cac243edb36a22a5d68f3841f879fb3b7a7f265dc325dc5c\",\"dweb:/ipfs/QmTWiJyqbRA9Ko8eQ1Fs1CV6rZNHUimtgzYtdfbyX8yKQi\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol\":{\"keccak256\":\"0x3eb6df65ce59b9e8daef06b869d2b1cff15452894296d560f87f335d433cd529\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cbaefe3cf71bc357db4bc8b5577a7fe9e261631533505863e0f6ab8429fa1d1\",\"dweb:/ipfs/QmRcszvQG55Y3VXp4jm5otMai4eYHCgGz6KSxBZKCHzMD3\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol\":{\"keccak256\":\"0xf7efc75835f911d068865c9710116a630af2b7d850f08b70f6b93760d0ed860e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4675f0af67b447df78329c7e4b65d7091c2ffaee9b0d5fb9ad12ae3a501418\",\"dweb:/ipfs/QmVfnVE7fpui8w9vKpZmuDKSoqyRpmMiUQSjbveg5Utced\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol":{"IXAllocationVotingGovernorV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","version()":"54fd4d50","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the distribution allocation voting for the x-allocation pool reward distributions. This interface was forked from OpenZeppelin's IGovernor.sol and modified to fit the needs of a voting mechanism where a user can vote on multpile x-apps belonging to the ecosystem and fractionalize their votes accross the x-apps. There can be only one round per time. After the round is created  it becomes immediately active. There can be only two possible outcomes of a round: it succeeds or it fails. To succeed the only requirement is that the quorum is reached. New allocation rounds can be started only by the Emissions contract, this way we can align the duration of emission cycles and allocation rounds. If the round fails, we will need to \\u201cfinalize\\u201d it, which means we will create a pointer to the last succeeded round where shares should be calculated. Anyone can finalize the failed round, but it will be automatically done when a new round starts.\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast multiple votes at once Emits a {AllocationVoteCast} event.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the current allocation round round.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the current allocation round block when it starts.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) and validates it's greater than zero\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\"},\"getVotes(address,uint256)\":{\"details\":\"Voting power of an `account` at a specific `timepoint`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the state of the round is {RoundState.Active}.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Returns if an app can be voted in a specific round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Name of the governor instance (used in building the ERC712 domain separator).\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\"},\"quorumReached(uint256)\":{\"details\":\"Returns if quorum was reached for a specific round.\"},\"roundDeadline(uint256)\":{\"details\":\"Timepoint at which votes close. If using block number, votes close at the end of this block, so it is possible to cast a vote during this block.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the snapshot is performed at the end of this block. Hence, voting for this round starts at the beginning of the following block.\"},\"startNewRound()\":{\"details\":\"Create a new allocation round (round). Vote starts immediatly and lasts for a duration specified by {votingPeriod}. Emits a {RoundCreated} event.\"},\"state(uint256)\":{\"details\":\"Current state of a round\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validates if an account is a person\"},\"version()\":{\"details\":\"Version of the governor instance (used in building the ERC712 domain separator). Default: \\\"1\\\"\"},\"votingPeriod()\":{\"details\":\"Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. NOTE: This value is stored when the round is submitted so that possible changes to the value do not affect proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this interface returns a uint256, the value it returns should fit in a uint32.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getVotes(address,uint256)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"name()\":{\"notice\":\"module:core\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"roundDeadline(uint256)\":{\"notice\":\"module:core\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"roundSnapshot(uint256)\":{\"notice\":\"module:core\"},\"state(uint256)\":{\"notice\":\"module:core\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"},\"version()\":{\"notice\":\"module:core\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":\"IXAllocationVotingGovernorV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol":{"XAllocationVotingGovernorV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Core of the voting system of allocation rounds, designed to be extended through various modules. This contract is abstract and requires several functions to be implemented in various modules: - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded}, and {_countVote} - A voting module must implement {_getVotes}, {clock}, and {CLOCK_MODE} - A settings module must implement {votingPeriod} - An external contracts module must implement {x2EarnApps}, {emissions}, {voterRewards} and {b3trGovernor} - A rounds storage module must implement {_startNewRound}, {roundSnapshot}, {roundDeadline}, and {currentRoundId} - A rounds finalization module must implement {finalize} - A earnings settings module must implement {_snapshotRoundEarningsCap} ----- Version 2 ----- - Integrated VeBetterPassport ----- Version 5 ----- - Fixed duplicate app voting in same transaction in {RoundVotesCountingUpgradeable._countVote} ----- Version 7 ----- - Added B3TRGovernor contract to the contract ----- Version 8 ----- - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences - Added refactoring to code for voting - Integrate RelayerRewardsPool contract to handle relayer rewards for autovoting\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Returns the RelayerRewardsPool contract.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"XAllocationVotingGovernor\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":\"XAllocationVotingGovernorV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol":{"AutoVotingLogicV8":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"xAllocationVotingGovernorAddress","type":"address"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"preferredApps","type":"bytes32[]"}],"name":"prepareAutoVoteArrays","outputs":[{"internalType":"bytes32[]","name":"finalAppIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"},{"internalType":"uint256","name":"votingPower","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6116b861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100825760003560e01c8063082ccd9e1461008757806325d8346e146100b05780632c1969f8146100d35780633e17cd58146100fe5780638770fb4d14610120578063a68c4888146100d3578063e37dcf2814610140578063ea66e04a14610153575b600080fd5b61009a6100953660046111d7565b610175565b6040516100a7919061123e565b60405180910390f35b6100c36100be366004611267565b6101e5565b60405190151581526020016100a7565b6100e66100e13660046112a3565b61021c565b6040516001600160d01b0390911681526020016100a7565b81801561010a57600080fd5b5061011e6101193660046112c6565b610232565b005b81801561012c57600080fd5b5061011e61013b3660046113b8565b610591565b6100c361014e3660046111d7565b61085f565b61016661016136600461141f565b610894565b6040516100a79392919061146e565b6001600160a01b03811660009081526001830160209081526040918290208054835181840281018401909452808452606093928301828280156101d757602002820191906000526020600020905b8154815260200190600101908083116101c3575b505050505090505b92915050565b6001600160a01b03821660009081526020849052604081206102079083610c77565b6001600160d01b031660011490509392505050565b600061022b6002840183610c77565b9392505050565b6001600160a01b03821660009081526020859052604081206102549083610c77565b6001600160d01b031660011490508015848261048f5760405163cfea80ed60e01b81526001600160a01b03868116600483015282169063cfea80ed90602401602060405180830381865afa1580156102b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d491906114de565b506000816001600160a01b031663a45f45aa87846001600160a01b031663561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610325573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034991906114f9565b6040518363ffffffff1660e01b8152600401610366929190611512565b6040805180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a6919061152b565b915050806104105760405162461bcd60e51b815260206004820152602c60248201527f4175746f566f74696e674c6f6769633a206174206c65617374203120564f543360448201526b081a5cc81c995c5d5a5c995960a21b60648201526084015b60405180910390fd5b6001600160a01b038616600090815260018901602052604090205461048d5760405162461bcd60e51b815260206004820152602d60248201527f4175746f566f74696e674c6f6769633a206d7573742073656c6563742061742060448201526c06c65617374206f6e652061707609c1b6064820152608401610407565b505b82156104b8576001600160a01b038516600090815260018801602052604081206104b891611142565b6104f984836104d0576104cb6000610d2d565b6104da565b6104da6001610d2d565b6001600160a01b038816600090815260208b9052604090209190610d65565b506000905061050b6002890186610c77565b90506000836105245761051f600183611564565b61052f565b61052f82600161158b565b905061053f60028a018783610d65565b5050866001600160a01b03167f6baead299a74ec4ebb558b9c9507046309c90e561107f4776cef02327b5265498560405161057e911515815260200190565b60405180910390a2505050505050505050565b60008151116105ee5760405162461bcd60e51b8152602060048201526024808201527f4175746f566f74696e674c6f6769633a206e6f206170707320746f20766f7465604482015263103337b960e11b6064820152608401610407565b600f815111156106595760405162461bcd60e51b815260206004820152603060248201527f4175746f566f74696e674c6f6769633a206d75737420766f746520666f72206c60448201526f657373207468616e203135206170707360801b6064820152608401610407565b8260005b82518110156107ea57816001600160a01b031663607bfb24848381518110610687576106876115ab565b60200260200101516040518263ffffffff1660e01b81526004016106ad91815260200190565b602060405180830381865afa1580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee91906114de565b6107395760405162461bcd60e51b815260206004820152601c60248201527b04175746f566f74696e674c6f6769633a20696e76616c6964206170760241b6044820152606401610407565b60005b818110156107d757838181518110610756576107566115ab565b6020026020010151848381518110610770576107706115ab565b6020026020010151036107c55760405162461bcd60e51b815260206004820152601e60248201527f4175746f566f74696e674c6f6769633a206475706c69636174652061707000006044820152606401610407565b806107cf816115c1565b91505061073c565b50806107e2816115c1565b91505061065d565b506001600160a01b03831660009081526001860160209081526040909120835161081692850190611163565b50826001600160a01b03167f3e3998ec06c031c887b2c4825699d96390034bafa666cc53be14a1b832a0654e8360405161085091906115da565b60405180910390a25050505050565b6001600160a01b038116600090815260208390526040812061088090610d80565b6001600160d01b0316600114905092915050565b606080600080879050600080826001600160a01b031663a45f45aa8a856001600160a01b031663d06efeda8c6040518263ffffffff1660e01b81526004016108de91815260200190565b602060405180830381865afa1580156108fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091f91906114f9565b6040518363ffffffff1660e01b815260040161093c929190611512565b6040805180830381865afa158015610958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097c919061152b565b91509150819350806109ab5750506040805160008082526020820190815281830190925294509250610c6d9050565b86516000816001600160401b038111156109c7576109c7611313565b6040519080825280602002602001820160405280156109f0578160200160208202803683370190505b5090506000805b83811015610aea57866001600160a01b031663d68b4c368c8381518110610a2057610a206115ab565b60200260200101518e6040518363ffffffff1660e01b8152600401610a4f929190918252602082015260400190565b602060405180830381865afa158015610a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9091906114de565b15610ada578a8181518110610aa757610aa76115ab565b6020026020010151838380610abb906115c1565b945081518110610acd57610acd6115ab565b6020026020010181815250505b610ae3816115c1565b90506109f7565b5080600003610b195750506040805160008082526020820190815281830190925297509550610c6d9350505050565b806001600160401b03811115610b3157610b31611313565b604051908082528060200260200182016040528015610b5a578160200160208202803683370190505b509850806001600160401b03811115610b7557610b75611313565b604051908082528060200260200182016040528015610b9e578160200160208202803683370190505b5097506000610bad8289611634565b90506000610bbb838a611648565b905060005b83811015610c6357848181518110610bda57610bda6115ab565b60200260200101518c8281518110610bf457610bf46115ab565b602002602001018181525050828b8281518110610c1357610c136115ab565b60200260200101818152505081811015610c535760018b8281518110610c3b57610c3b6115ab565b60200260200101818151610c4f919061165c565b9052505b610c5c816115c1565b9050610bc0565b5050505050505050505b9450945094915050565b815460009081816005811115610cd6576000610c9284610db9565b610c9c908561166f565b60008881526020902090915081015465ffffffffffff9081169087161015610cc657809150610cd4565b610cd181600161165c565b92505b505b6000610ce487878585610ea1565b90508015610d1f57610d0987610cfb60018461166f565b600091825260209091200190565b54600160301b90046001600160d01b0316610d22565b60005b979650505050505050565b60006001600160d01b03821115610d61576040516306dfcc6560e41b815260d0600482015260248101839052604401610407565b5090565b600080610d73858585610f03565b915091505b935093915050565b80546000908015610db057610d9a83610cfb60018461166f565b54600160301b90046001600160d01b031661022b565b60009392505050565b600081600003610dcb57506000919050565b60006001610dd88461107d565b901c6001901b90506001818481610df157610df161161e565b048201901c90506001818481610e0957610e0961161e565b048201901c90506001818481610e2157610e2161161e565b048201901c90506001818481610e3957610e3961161e565b048201901c90506001818481610e5157610e5161161e565b048201901c90506001818481610e6957610e6961161e565b048201901c90506001818481610e8157610e8161161e565b048201901c905061022b81828581610e9b57610e9b61161e565b04611111565b60005b81831015610efb576000610eb88484611127565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ee757809250610ef5565b610ef281600161165c565b93505b50610ea4565b509392505050565b825460009081908015611022576000610f2187610cfb60018561166f565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f7557604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fc15784610f9888610cfb60018661166f565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611012565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610d789050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610d78565b600080608083901c1561109257608092831c92015b604083901c156110a457604092831c92015b602083901c156110b657602092831c92015b601083901c156110c857601092831c92015b600883901c156110da57600892831c92015b600483901c156110ec57600492831c92015b600283901c156110fe57600292831c92015b600183901c156101df5760010192915050565b6000818310611120578161022b565b5090919050565b60006111366002848418611634565b61022b9084841661165c565b508054600082559060005260206000209081019061116091906111a6565b50565b82805482825590600052602060002090810192821561119e579160200282015b8281111561119e578251825591602001919060010190611183565b50610d619291505b5b80821115610d6157600081556001016111a7565b80356001600160a01b03811681146111d257600080fd5b919050565b600080604083850312156111ea57600080fd5b823591506111fa602084016111bb565b90509250929050565b600081518084526020808501945080840160005b8381101561123357815187529582019590820190600101611217565b509495945050505050565b60208152600061022b6020830184611203565b803565ffffffffffff811681146111d257600080fd5b60008060006060848603121561127c57600080fd5b8335925061128c602085016111bb565b915061129a60408501611251565b90509250925092565b600080604083850312156112b657600080fd5b823591506111fa60208401611251565b600080600080608085870312156112dc57600080fd5b843593506112ec602086016111bb565b92506112fa604086016111bb565b915061130860608601611251565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261133a57600080fd5b813560206001600160401b038083111561135657611356611313565b8260051b604051601f19603f8301168101818110848211171561137b5761137b611313565b60405293845285810183019383810192508785111561139957600080fd5b83870191505b84821015610d225781358352918301919083019061139f565b600080600080608085870312156113ce57600080fd5b843593506113de602086016111bb565b92506113ec604086016111bb565b915060608501356001600160401b0381111561140757600080fd5b61141387828801611329565b91505092959194509250565b6000806000806080858703121561143557600080fd5b61143e856111bb565b935061144c602086016111bb565b92506040850135915060608501356001600160401b0381111561140757600080fd5b6060815260006114816060830186611203565b82810360208481019190915285518083528682019282019060005b818110156114b85784518352938301939183019160010161149c565b5050809350505050826040830152949350505050565b805180151581146111d257600080fd5b6000602082840312156114f057600080fd5b61022b826114ce565b60006020828403121561150b57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b6000806040838503121561153e57600080fd5b825191506111fa602084016114ce565b634e487b7160e01b600052601160045260246000fd5b6001600160d01b038281168282160390808211156115845761158461154e565b5092915050565b6001600160d01b038181168382160190808211156115845761158461154e565b634e487b7160e01b600052603260045260246000fd5b6000600182016115d3576115d361154e565b5060010190565b6020808252825182820181905260009190848201906040850190845b81811015611612578351835292840192918401916001016115f6565b50909695505050505050565b634e487b7160e01b600052601260045260246000fd5b6000826116435761164361161e565b500490565b6000826116575761165761161e565b500690565b808201808211156101df576101df61154e565b818103818111156101df576101df61154e56fea26469706673582212202864cc638b2a16fdb3da9c6bb34f1a1f836461e1c7a1c71c394503b2be42ad7364736f6c63430008140033","opcodes":"PUSH2 0x16B8 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x82 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x82CCD9E EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x25D8346E EQ PUSH2 0xB0 JUMPI DUP1 PUSH4 0x2C1969F8 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3E17CD58 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x8770FB4D EQ PUSH2 0x120 JUMPI DUP1 PUSH4 0xA68C4888 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0xE37DCF28 EQ PUSH2 0x140 JUMPI DUP1 PUSH4 0xEA66E04A EQ PUSH2 0x153 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9A PUSH2 0x95 CALLDATASIZE PUSH1 0x4 PUSH2 0x11D7 JUMP JUMPDEST PUSH2 0x175 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x123E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH2 0xBE CALLDATASIZE PUSH1 0x4 PUSH2 0x1267 JUMP JUMPDEST PUSH2 0x1E5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA7 JUMP JUMPDEST PUSH2 0xE6 PUSH2 0xE1 CALLDATASIZE PUSH1 0x4 PUSH2 0x12A3 JUMP JUMPDEST PUSH2 0x21C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA7 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x10A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11E PUSH2 0x119 CALLDATASIZE PUSH1 0x4 PUSH2 0x12C6 JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x12C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11E PUSH2 0x13B CALLDATASIZE PUSH1 0x4 PUSH2 0x13B8 JUMP JUMPDEST PUSH2 0x591 JUMP JUMPDEST PUSH2 0xC3 PUSH2 0x14E CALLDATASIZE PUSH1 0x4 PUSH2 0x11D7 JUMP JUMPDEST PUSH2 0x85F JUMP JUMPDEST PUSH2 0x166 PUSH2 0x161 CALLDATASIZE PUSH1 0x4 PUSH2 0x141F JUMP JUMPDEST PUSH2 0x894 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x146E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1D7 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1C3 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x207 SWAP1 DUP4 PUSH2 0xC77 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22B PUSH1 0x2 DUP5 ADD DUP4 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP6 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x254 SWAP1 DUP4 PUSH2 0xC77 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP DUP1 ISZERO DUP5 DUP3 PUSH2 0x48F JUMPI PUSH1 0x40 MLOAD PUSH4 0xCFEA80ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP3 AND SWAP1 PUSH4 0xCFEA80ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2D4 SWAP2 SWAP1 PUSH2 0x14DE JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA45F45AA DUP8 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x325 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x349 SWAP2 SWAP1 PUSH2 0x14F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x366 SWAP3 SWAP2 SWAP1 PUSH2 0x1512 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x382 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A6 SWAP2 SWAP1 PUSH2 0x152B JUMP JUMPDEST SWAP2 POP POP DUP1 PUSH2 0x410 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206174206C65617374203120564F5433 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x81A5CC81C995C5D5A5C9959 PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x48D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206D7573742073656C65637420617420 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x6C65617374206F6E652061707 PUSH1 0x9C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x407 JUMP JUMPDEST POP JUMPDEST DUP3 ISZERO PUSH2 0x4B8 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x4B8 SWAP2 PUSH2 0x1142 JUMP JUMPDEST PUSH2 0x4F9 DUP5 DUP4 PUSH2 0x4D0 JUMPI PUSH2 0x4CB PUSH1 0x0 PUSH2 0xD2D JUMP JUMPDEST PUSH2 0x4DA JUMP JUMPDEST PUSH2 0x4DA PUSH1 0x1 PUSH2 0xD2D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP12 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0xD65 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH2 0x50B PUSH1 0x2 DUP10 ADD DUP7 PUSH2 0xC77 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x524 JUMPI PUSH2 0x51F PUSH1 0x1 DUP4 PUSH2 0x1564 JUMP JUMPDEST PUSH2 0x52F JUMP JUMPDEST PUSH2 0x52F DUP3 PUSH1 0x1 PUSH2 0x158B JUMP JUMPDEST SWAP1 POP PUSH2 0x53F PUSH1 0x2 DUP11 ADD DUP8 DUP4 PUSH2 0xD65 JUMP JUMPDEST POP POP DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x6BAEAD299A74EC4EBB558B9C9507046309C90E561107F4776CEF02327B526549 DUP6 PUSH1 0x40 MLOAD PUSH2 0x57E SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206E6F206170707320746F20766F7465 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x103337B9 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x407 JUMP JUMPDEST PUSH1 0xF DUP2 MLOAD GT ISZERO PUSH2 0x659 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206D75737420766F746520666F72206C PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x657373207468616E2031352061707073 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x407 JUMP JUMPDEST DUP3 PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x7EA JUMPI DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x607BFB24 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x687 JUMPI PUSH2 0x687 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6AD SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6EE SWAP2 SWAP1 PUSH2 0x14DE JUMP JUMPDEST PUSH2 0x739 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x4175746F566F74696E674C6F6769633A20696E76616C69642061707 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x407 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7D7 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x756 JUMPI PUSH2 0x756 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x770 JUMPI PUSH2 0x770 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x7C5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206475706C6963617465206170700000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x407 JUMP JUMPDEST DUP1 PUSH2 0x7CF DUP2 PUSH2 0x15C1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x73C JUMP JUMPDEST POP DUP1 PUSH2 0x7E2 DUP2 PUSH2 0x15C1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x65D JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP4 MLOAD PUSH2 0x816 SWAP3 DUP6 ADD SWAP1 PUSH2 0x1163 JUMP JUMPDEST POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x3E3998EC06C031C887B2C4825699D96390034BAFA666CC53BE14A1B832A0654E DUP4 PUSH1 0x40 MLOAD PUSH2 0x850 SWAP2 SWAP1 PUSH2 0x15DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x880 SWAP1 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 DUP1 DUP8 SWAP1 POP PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA45F45AA DUP11 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD06EFEDA DUP13 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DE SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x91F SWAP2 SWAP1 PUSH2 0x14F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x93C SWAP3 SWAP2 SWAP1 PUSH2 0x1512 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x958 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x97C SWAP2 SWAP1 PUSH2 0x152B JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 SWAP4 POP DUP1 PUSH2 0x9AB JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE SWAP5 POP SWAP3 POP PUSH2 0xC6D SWAP1 POP JUMP JUMPDEST DUP7 MLOAD PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x9C7 JUMPI PUSH2 0x9C7 PUSH2 0x1313 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x9F0 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xAEA JUMPI DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD68B4C36 DUP13 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xA20 JUMPI PUSH2 0xA20 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP15 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA4F SWAP3 SWAP2 SWAP1 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA6C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA90 SWAP2 SWAP1 PUSH2 0x14DE JUMP JUMPDEST ISZERO PUSH2 0xADA JUMPI DUP11 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xAA7 JUMPI PUSH2 0xAA7 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP4 DUP1 PUSH2 0xABB SWAP1 PUSH2 0x15C1 JUMP JUMPDEST SWAP5 POP DUP2 MLOAD DUP2 LT PUSH2 0xACD JUMPI PUSH2 0xACD PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP JUMPDEST PUSH2 0xAE3 DUP2 PUSH2 0x15C1 JUMP JUMPDEST SWAP1 POP PUSH2 0x9F7 JUMP JUMPDEST POP DUP1 PUSH1 0x0 SUB PUSH2 0xB19 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE SWAP8 POP SWAP6 POP PUSH2 0xC6D SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xB31 JUMPI PUSH2 0xB31 PUSH2 0x1313 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xB5A JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP9 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xB75 JUMPI PUSH2 0xB75 PUSH2 0x1313 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xB9E JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP8 POP PUSH1 0x0 PUSH2 0xBAD DUP3 DUP10 PUSH2 0x1634 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xBBB DUP4 DUP11 PUSH2 0x1648 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC63 JUMPI DUP5 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xBDA JUMPI PUSH2 0xBDA PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP13 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xBF4 JUMPI PUSH2 0xBF4 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP12 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC13 JUMPI PUSH2 0xC13 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP2 DUP2 LT ISZERO PUSH2 0xC53 JUMPI PUSH1 0x1 DUP12 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC3B JUMPI PUSH2 0xC3B PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH2 0xC4F SWAP2 SWAP1 PUSH2 0x165C JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST PUSH2 0xC5C DUP2 PUSH2 0x15C1 JUMP JUMPDEST SWAP1 POP PUSH2 0xBC0 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xCD6 JUMPI PUSH1 0x0 PUSH2 0xC92 DUP5 PUSH2 0xDB9 JUMP JUMPDEST PUSH2 0xC9C SWAP1 DUP6 PUSH2 0x166F JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xCC6 JUMPI DUP1 SWAP2 POP PUSH2 0xCD4 JUMP JUMPDEST PUSH2 0xCD1 DUP2 PUSH1 0x1 PUSH2 0x165C JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xCE4 DUP8 DUP8 DUP6 DUP6 PUSH2 0xEA1 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xD1F JUMPI PUSH2 0xD09 DUP8 PUSH2 0xCFB PUSH1 0x1 DUP5 PUSH2 0x166F JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xD22 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0xD61 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x407 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xD73 DUP6 DUP6 DUP6 PUSH2 0xF03 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0xDB0 JUMPI PUSH2 0xD9A DUP4 PUSH2 0xCFB PUSH1 0x1 DUP5 PUSH2 0x166F JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x22B JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDCB JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDD8 DUP5 PUSH2 0x107D JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDF1 JUMPI PUSH2 0xDF1 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE09 JUMPI PUSH2 0xE09 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE21 JUMPI PUSH2 0xE21 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE39 JUMPI PUSH2 0xE39 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE51 JUMPI PUSH2 0xE51 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE69 JUMPI PUSH2 0xE69 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE81 JUMPI PUSH2 0xE81 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x22B DUP2 DUP3 DUP6 DUP2 PUSH2 0xE9B JUMPI PUSH2 0xE9B PUSH2 0x161E JUMP JUMPDEST DIV PUSH2 0x1111 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xEFB JUMPI PUSH1 0x0 PUSH2 0xEB8 DUP5 DUP5 PUSH2 0x1127 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xEE7 JUMPI DUP1 SWAP3 POP PUSH2 0xEF5 JUMP JUMPDEST PUSH2 0xEF2 DUP2 PUSH1 0x1 PUSH2 0x165C JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xEA4 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1022 JUMPI PUSH1 0x0 PUSH2 0xF21 DUP8 PUSH2 0xCFB PUSH1 0x1 DUP6 PUSH2 0x166F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xF75 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xFC1 JUMPI DUP5 PUSH2 0xF98 DUP9 PUSH2 0xCFB PUSH1 0x1 DUP7 PUSH2 0x166F JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1012 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0xD78 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0xD78 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1092 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x10A4 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x10B6 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x10C8 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x10DA JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x10EC JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x10FE JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DF JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1120 JUMPI DUP2 PUSH2 0x22B JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1136 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1634 JUMP JUMPDEST PUSH2 0x22B SWAP1 DUP5 DUP5 AND PUSH2 0x165C JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1160 SWAP2 SWAP1 PUSH2 0x11A6 JUMP JUMPDEST POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x119E JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x119E JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1183 JUMP JUMPDEST POP PUSH2 0xD61 SWAP3 SWAP2 POP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xD61 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x11A7 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x11FA PUSH1 0x20 DUP5 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1233 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1217 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x22B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1203 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x127C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH2 0x128C PUSH1 0x20 DUP6 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP2 POP PUSH2 0x129A PUSH1 0x40 DUP6 ADD PUSH2 0x1251 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x12B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x11FA PUSH1 0x20 DUP5 ADD PUSH2 0x1251 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x12DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH2 0x12EC PUSH1 0x20 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP3 POP PUSH2 0x12FA PUSH1 0x40 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP2 POP PUSH2 0x1308 PUSH1 0x60 DUP7 ADD PUSH2 0x1251 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x133A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 GT ISZERO PUSH2 0x1356 JUMPI PUSH2 0x1356 PUSH2 0x1313 JUMP JUMPDEST DUP3 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x137B JUMPI PUSH2 0x137B PUSH2 0x1313 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP4 DUP5 MSTORE DUP6 DUP2 ADD DUP4 ADD SWAP4 DUP4 DUP2 ADD SWAP3 POP DUP8 DUP6 GT ISZERO PUSH2 0x1399 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP2 POP JUMPDEST DUP5 DUP3 LT ISZERO PUSH2 0xD22 JUMPI DUP2 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x139F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x13CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH2 0x13DE PUSH1 0x20 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP3 POP PUSH2 0x13EC PUSH1 0x40 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1407 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1413 DUP8 DUP3 DUP9 ADD PUSH2 0x1329 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x143E DUP6 PUSH2 0x11BB JUMP JUMPDEST SWAP4 POP PUSH2 0x144C PUSH1 0x20 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1407 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1481 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1203 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP6 MLOAD DUP1 DUP4 MSTORE DUP7 DUP3 ADD SWAP3 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x14B8 JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x149C JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22B DUP3 PUSH2 0x14CE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x150B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x153E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD SWAP2 POP PUSH2 0x11FA PUSH1 0x20 DUP5 ADD PUSH2 0x14CE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 DUP2 AND DUP3 DUP3 AND SUB SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1584 JUMPI PUSH2 0x1584 PUSH2 0x154E JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1584 JUMPI PUSH2 0x1584 PUSH2 0x154E JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x15D3 JUMPI PUSH2 0x15D3 PUSH2 0x154E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1612 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x15F6 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1643 JUMPI PUSH2 0x1643 PUSH2 0x161E JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1657 JUMPI PUSH2 0x1657 PUSH2 0x161E JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1DF JUMPI PUSH2 0x1DF PUSH2 0x154E JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1DF JUMPI PUSH2 0x1DF PUSH2 0x154E JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x28 PUSH5 0xCC638B2A16 REVERT 0xB3 0xDA SWAP13 PUSH12 0xB34F1A1F836461E1C7A1C71C CODECOPY GASLIMIT SUB 0xB2 0xBE TIMESTAMP 0xAD PUSH20 0x64736F6C63430008140033000000000000000000 ","sourceMap":"703:9457:85:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;703:9457:85;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_insert_9806":{"entryPoint":3843,"id":9806,"parameterSlots":3,"returnSlots":2},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":3745,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":4391,"id":6189,"parameterSlots":2,"returnSlots":1},"@getTotalAutoVotingUsersAtTimepoint_47489":{"entryPoint":540,"id":47489,"parameterSlots":2,"returnSlots":1},"@getTotalAutoVotingUsers_47507":{"entryPoint":null,"id":47507,"parameterSlots":2,"returnSlots":1},"@getUserVotingPreferences_47471":{"entryPoint":373,"id":47471,"parameterSlots":2,"returnSlots":1},"@isAutoVotingEnabledAtTimepoint_47453":{"entryPoint":485,"id":47453,"parameterSlots":3,"returnSlots":1},"@isAutoVotingEnabled_47429":{"entryPoint":2143,"id":47429,"parameterSlots":2,"returnSlots":1},"@latest_9634":{"entryPoint":3456,"id":9634,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":4221,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":4369,"id":6166,"parameterSlots":2,"returnSlots":1},"@prepareAutoVoteArrays_47705":{"entryPoint":2196,"id":47705,"parameterSlots":4,"returnSlots":3},"@push_9437":{"entryPoint":3429,"id":9437,"parameterSlots":3,"returnSlots":2},"@setUserVotingPreferences_47408":{"entryPoint":1425,"id":47408,"parameterSlots":4,"returnSlots":0},"@sqrt_6504":{"entryPoint":3513,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":3373,"id":7210,"parameterSlots":1,"returnSlots":1},"@toggleAutoVoting_47313":{"entryPoint":562,"id":47313,"parameterSlots":4,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":3191,"id":9604,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":4539,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_bytes32_dyn":{"entryPoint":4905,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bool_fromMemory":{"entryPoint":5326,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":5151,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":5342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_address":{"entryPoint":4567,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_addresst_addresst_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":5048,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_addresst_addresst_uint48":{"entryPoint":4806,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_addresst_uint48":{"entryPoint":4711,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_uint48":{"entryPoint":4771,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":5369,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_bool_fromMemory":{"entryPoint":5419,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_uint48":{"entryPoint":4689,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_array_bytes32_dyn":{"entryPoint":4611,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":5394,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":4670,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":5594,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_library_reversed":{"entryPoint":5230,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint208":{"entryPoint":5515,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":5724,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":5684,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint208":{"entryPoint":5476,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":5743,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":5569,"id":null,"parameterSlots":1,"returnSlots":1},"mod_t_uint256":{"entryPoint":5704,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":5454,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":5662,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":5547,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":4883,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:12817:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:150","statements":[{"nodeType":"YulAssignment","src":"73:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:150"},"nodeType":"YulFunctionCall","src":"82:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:150"}]},{"body":{"nodeType":"YulBlock","src":"165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:150"},"nodeType":"YulFunctionCall","src":"167:12:150"},"nodeType":"YulExpressionStatement","src":"167:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:150"},"nodeType":"YulFunctionCall","src":"146:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:150"},"nodeType":"YulFunctionCall","src":"142:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:150"},"nodeType":"YulFunctionCall","src":"121:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:150"},"nodeType":"YulFunctionCall","src":"114:50:150"},"nodeType":"YulIf","src":"111:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:150","type":""}],"src":"14:173:150"},{"body":{"nodeType":"YulBlock","src":"316:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"362:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"371:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"374:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"364:6:150"},"nodeType":"YulFunctionCall","src":"364:12:150"},"nodeType":"YulExpressionStatement","src":"364:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"337:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"346:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"333:3:150"},"nodeType":"YulFunctionCall","src":"333:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"358:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"329:3:150"},"nodeType":"YulFunctionCall","src":"329:32:150"},"nodeType":"YulIf","src":"326:52:150"},{"nodeType":"YulAssignment","src":"387:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"410:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"397:12:150"},"nodeType":"YulFunctionCall","src":"397:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"387:6:150"}]},{"nodeType":"YulAssignment","src":"429:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"462:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"473:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"458:3:150"},"nodeType":"YulFunctionCall","src":"458:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"439:18:150"},"nodeType":"YulFunctionCall","src":"439:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"429:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"274:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"285:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"297:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"305:6:150","type":""}],"src":"192:291:150"},{"body":{"nodeType":"YulBlock","src":"549:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"559:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"579:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"573:5:150"},"nodeType":"YulFunctionCall","src":"573:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"563:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"601:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"606:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"594:6:150"},"nodeType":"YulFunctionCall","src":"594:19:150"},"nodeType":"YulExpressionStatement","src":"594:19:150"},{"nodeType":"YulVariableDeclaration","src":"622:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"632:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"626:2:150","type":""}]},{"nodeType":"YulAssignment","src":"645:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"656:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"661:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"652:3:150"},"nodeType":"YulFunctionCall","src":"652:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"645:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"673:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"691:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"698:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"687:3:150"},"nodeType":"YulFunctionCall","src":"687:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"677:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"710:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"719:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"714:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"778:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"799:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"810:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"804:5:150"},"nodeType":"YulFunctionCall","src":"804:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"792:6:150"},"nodeType":"YulFunctionCall","src":"792:26:150"},"nodeType":"YulExpressionStatement","src":"792:26:150"},{"nodeType":"YulAssignment","src":"831:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"842:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"847:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"838:3:150"},"nodeType":"YulFunctionCall","src":"838:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"831:3:150"}]},{"nodeType":"YulAssignment","src":"863:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"877:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"885:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"873:3:150"},"nodeType":"YulFunctionCall","src":"873:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"863:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"740:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"743:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"737:2:150"},"nodeType":"YulFunctionCall","src":"737:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"751:18:150","statements":[{"nodeType":"YulAssignment","src":"753:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"762:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"765:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"758:3:150"},"nodeType":"YulFunctionCall","src":"758:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"753:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"733:3:150","statements":[]},"src":"729:169:150"},{"nodeType":"YulAssignment","src":"907:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"914:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"907:3:150"}]}]},"name":"abi_encode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"526:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"533:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"541:3:150","type":""}],"src":"488:435:150"},{"body":{"nodeType":"YulBlock","src":"1087:110:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1104:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1115:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1097:6:150"},"nodeType":"YulFunctionCall","src":"1097:21:150"},"nodeType":"YulExpressionStatement","src":"1097:21:150"},{"nodeType":"YulAssignment","src":"1127:64:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1164:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1176:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1187:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1172:3:150"},"nodeType":"YulFunctionCall","src":"1172:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"1135:28:150"},"nodeType":"YulFunctionCall","src":"1135:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1127:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1056:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1067:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1078:4:150","type":""}],"src":"928:269:150"},{"body":{"nodeType":"YulBlock","src":"1250:119:150","statements":[{"nodeType":"YulAssignment","src":"1260:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1282:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1269:12:150"},"nodeType":"YulFunctionCall","src":"1269:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1260:5:150"}]},{"body":{"nodeType":"YulBlock","src":"1347:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1356:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1359:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1349:6:150"},"nodeType":"YulFunctionCall","src":"1349:12:150"},"nodeType":"YulExpressionStatement","src":"1349:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1311:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1322:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1329:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1318:3:150"},"nodeType":"YulFunctionCall","src":"1318:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1308:2:150"},"nodeType":"YulFunctionCall","src":"1308:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1301:6:150"},"nodeType":"YulFunctionCall","src":"1301:45:150"},"nodeType":"YulIf","src":"1298:65:150"}]},"name":"abi_decode_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1229:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1240:5:150","type":""}],"src":"1202:167:150"},{"body":{"nodeType":"YulBlock","src":"1514:223:150","statements":[{"body":{"nodeType":"YulBlock","src":"1560:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1569:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1572:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1562:6:150"},"nodeType":"YulFunctionCall","src":"1562:12:150"},"nodeType":"YulExpressionStatement","src":"1562:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1535:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1544:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:150"},"nodeType":"YulFunctionCall","src":"1531:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1556:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1527:3:150"},"nodeType":"YulFunctionCall","src":"1527:32:150"},"nodeType":"YulIf","src":"1524:52:150"},{"nodeType":"YulAssignment","src":"1585:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1608:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1595:12:150"},"nodeType":"YulFunctionCall","src":"1595:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1585:6:150"}]},{"nodeType":"YulAssignment","src":"1627:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1660:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1671:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1656:3:150"},"nodeType":"YulFunctionCall","src":"1656:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1637:18:150"},"nodeType":"YulFunctionCall","src":"1637:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1627:6:150"}]},{"nodeType":"YulAssignment","src":"1684:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1716:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1727:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1712:3:150"},"nodeType":"YulFunctionCall","src":"1712:18:150"}],"functionName":{"name":"abi_decode_uint48","nodeType":"YulIdentifier","src":"1694:17:150"},"nodeType":"YulFunctionCall","src":"1694:37:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1684:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1464:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1475:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1487:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1495:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1503:6:150","type":""}],"src":"1374:363:150"},{"body":{"nodeType":"YulBlock","src":"1845:92:150","statements":[{"nodeType":"YulAssignment","src":"1855:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1867:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1878:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1863:3:150"},"nodeType":"YulFunctionCall","src":"1863:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1855:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1897:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1922:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1915:6:150"},"nodeType":"YulFunctionCall","src":"1915:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1908:6:150"},"nodeType":"YulFunctionCall","src":"1908:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1890:6:150"},"nodeType":"YulFunctionCall","src":"1890:41:150"},"nodeType":"YulExpressionStatement","src":"1890:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1814:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1825:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1836:4:150","type":""}],"src":"1742:195:150"},{"body":{"nodeType":"YulBlock","src":"2065:166:150","statements":[{"body":{"nodeType":"YulBlock","src":"2111:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2120:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2123:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2113:6:150"},"nodeType":"YulFunctionCall","src":"2113:12:150"},"nodeType":"YulExpressionStatement","src":"2113:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2086:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2095:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2082:3:150"},"nodeType":"YulFunctionCall","src":"2082:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2107:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2078:3:150"},"nodeType":"YulFunctionCall","src":"2078:32:150"},"nodeType":"YulIf","src":"2075:52:150"},{"nodeType":"YulAssignment","src":"2136:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2159:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2146:12:150"},"nodeType":"YulFunctionCall","src":"2146:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2136:6:150"}]},{"nodeType":"YulAssignment","src":"2178:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2210:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2221:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2206:3:150"},"nodeType":"YulFunctionCall","src":"2206:18:150"}],"functionName":{"name":"abi_decode_uint48","nodeType":"YulIdentifier","src":"2188:17:150"},"nodeType":"YulFunctionCall","src":"2188:37:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2178:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2023:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2034:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2046:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2054:6:150","type":""}],"src":"1942:289:150"},{"body":{"nodeType":"YulBlock","src":"2345:102:150","statements":[{"nodeType":"YulAssignment","src":"2355:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2367:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2378:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2363:3:150"},"nodeType":"YulFunctionCall","src":"2363:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2355:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2397:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2412:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2428:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"2433:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2424:3:150"},"nodeType":"YulFunctionCall","src":"2424:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2437:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2420:3:150"},"nodeType":"YulFunctionCall","src":"2420:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2408:3:150"},"nodeType":"YulFunctionCall","src":"2408:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2390:6:150"},"nodeType":"YulFunctionCall","src":"2390:51:150"},"nodeType":"YulExpressionStatement","src":"2390:51:150"}]},"name":"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2314:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2325:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2336:4:150","type":""}],"src":"2236:211:150"},{"body":{"nodeType":"YulBlock","src":"2609:281:150","statements":[{"body":{"nodeType":"YulBlock","src":"2656:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2665:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2668:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2658:6:150"},"nodeType":"YulFunctionCall","src":"2658:12:150"},"nodeType":"YulExpressionStatement","src":"2658:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2630:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2639:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2626:3:150"},"nodeType":"YulFunctionCall","src":"2626:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2651:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2622:3:150"},"nodeType":"YulFunctionCall","src":"2622:33:150"},"nodeType":"YulIf","src":"2619:53:150"},{"nodeType":"YulAssignment","src":"2681:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2704:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2691:12:150"},"nodeType":"YulFunctionCall","src":"2691:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2681:6:150"}]},{"nodeType":"YulAssignment","src":"2723:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2756:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2767:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2752:3:150"},"nodeType":"YulFunctionCall","src":"2752:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2733:18:150"},"nodeType":"YulFunctionCall","src":"2733:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2723:6:150"}]},{"nodeType":"YulAssignment","src":"2780:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2813:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2824:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2809:3:150"},"nodeType":"YulFunctionCall","src":"2809:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2790:18:150"},"nodeType":"YulFunctionCall","src":"2790:38:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2780:6:150"}]},{"nodeType":"YulAssignment","src":"2837:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2869:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2880:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2865:3:150"},"nodeType":"YulFunctionCall","src":"2865:18:150"}],"functionName":{"name":"abi_decode_uint48","nodeType":"YulIdentifier","src":"2847:17:150"},"nodeType":"YulFunctionCall","src":"2847:37:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2837:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_addresst_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2551:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2562:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2574:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2582:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2590:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2598:6:150","type":""}],"src":"2452:438:150"},{"body":{"nodeType":"YulBlock","src":"2927:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2944:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2951:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2956:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2947:3:150"},"nodeType":"YulFunctionCall","src":"2947:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2937:6:150"},"nodeType":"YulFunctionCall","src":"2937:31:150"},"nodeType":"YulExpressionStatement","src":"2937:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2984:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2987:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2977:6:150"},"nodeType":"YulFunctionCall","src":"2977:15:150"},"nodeType":"YulExpressionStatement","src":"2977:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3008:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3011:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3001:6:150"},"nodeType":"YulFunctionCall","src":"3001:15:150"},"nodeType":"YulExpressionStatement","src":"3001:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2895:127:150"},{"body":{"nodeType":"YulBlock","src":"3091:838:150","statements":[{"body":{"nodeType":"YulBlock","src":"3140:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3149:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3152:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3142:6:150"},"nodeType":"YulFunctionCall","src":"3142:12:150"},"nodeType":"YulExpressionStatement","src":"3142:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3119:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3127:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3115:3:150"},"nodeType":"YulFunctionCall","src":"3115:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"3134:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3111:3:150"},"nodeType":"YulFunctionCall","src":"3111:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3104:6:150"},"nodeType":"YulFunctionCall","src":"3104:35:150"},"nodeType":"YulIf","src":"3101:55:150"},{"nodeType":"YulVariableDeclaration","src":"3165:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3188:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3175:12:150"},"nodeType":"YulFunctionCall","src":"3175:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3169:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3204:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3214:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3208:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3227:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3245:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3249:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3241:3:150"},"nodeType":"YulFunctionCall","src":"3241:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3253:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3237:3:150"},"nodeType":"YulFunctionCall","src":"3237:18:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3231:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3278:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3280:16:150"},"nodeType":"YulFunctionCall","src":"3280:18:150"},"nodeType":"YulExpressionStatement","src":"3280:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3270:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"3274:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3267:2:150"},"nodeType":"YulFunctionCall","src":"3267:10:150"},"nodeType":"YulIf","src":"3264:36:150"},{"nodeType":"YulVariableDeclaration","src":"3309:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3323:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"3326:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3319:3:150"},"nodeType":"YulFunctionCall","src":"3319:10:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"3313:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3338:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3358:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3352:5:150"},"nodeType":"YulFunctionCall","src":"3352:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3342:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3370:56:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3392:6:150"},{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"3408:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"3412:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3404:3:150"},"nodeType":"YulFunctionCall","src":"3404:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3421:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3417:3:150"},"nodeType":"YulFunctionCall","src":"3417:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3400:3:150"},"nodeType":"YulFunctionCall","src":"3400:25:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3388:3:150"},"nodeType":"YulFunctionCall","src":"3388:38:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"3374:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3485:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3487:16:150"},"nodeType":"YulFunctionCall","src":"3487:18:150"},"nodeType":"YulExpressionStatement","src":"3487:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3444:10:150"},{"name":"_3","nodeType":"YulIdentifier","src":"3456:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3441:2:150"},"nodeType":"YulFunctionCall","src":"3441:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3464:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"3476:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3461:2:150"},"nodeType":"YulFunctionCall","src":"3461:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3438:2:150"},"nodeType":"YulFunctionCall","src":"3438:46:150"},"nodeType":"YulIf","src":"3435:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3523:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3527:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3516:6:150"},"nodeType":"YulFunctionCall","src":"3516:22:150"},"nodeType":"YulExpressionStatement","src":"3516:22:150"},{"nodeType":"YulVariableDeclaration","src":"3547:17:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3558:6:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3551:3:150","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3580:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3588:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3573:6:150"},"nodeType":"YulFunctionCall","src":"3573:18:150"},"nodeType":"YulExpressionStatement","src":"3573:18:150"},{"nodeType":"YulAssignment","src":"3600:22:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3611:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3619:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3607:3:150"},"nodeType":"YulFunctionCall","src":"3607:15:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3600:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"3631:38:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3653:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"3661:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3649:3:150"},"nodeType":"YulFunctionCall","src":"3649:15:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3666:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3645:3:150"},"nodeType":"YulFunctionCall","src":"3645:24:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"3635:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3697:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3706:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3709:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3699:6:150"},"nodeType":"YulFunctionCall","src":"3699:12:150"},"nodeType":"YulExpressionStatement","src":"3699:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"3684:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"3692:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3681:2:150"},"nodeType":"YulFunctionCall","src":"3681:15:150"},"nodeType":"YulIf","src":"3678:35:150"},{"nodeType":"YulVariableDeclaration","src":"3722:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3737:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3745:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3733:3:150"},"nodeType":"YulFunctionCall","src":"3733:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3726:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3813:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3834:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3852:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3839:12:150"},"nodeType":"YulFunctionCall","src":"3839:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3827:6:150"},"nodeType":"YulFunctionCall","src":"3827:30:150"},"nodeType":"YulExpressionStatement","src":"3827:30:150"},{"nodeType":"YulAssignment","src":"3870:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3881:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3886:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3877:3:150"},"nodeType":"YulFunctionCall","src":"3877:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3870:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3768:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"3773:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3765:2:150"},"nodeType":"YulFunctionCall","src":"3765:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3781:23:150","statements":[{"nodeType":"YulAssignment","src":"3783:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3794:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3799:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3790:3:150"},"nodeType":"YulFunctionCall","src":"3790:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3783:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3761:3:150","statements":[]},"src":"3757:142:150"},{"nodeType":"YulAssignment","src":"3908:15:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3917:6:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3908:5:150"}]}]},"name":"abi_decode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3065:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"3073:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3081:5:150","type":""}],"src":"3027:902:150"},{"body":{"nodeType":"YulBlock","src":"4117:419:150","statements":[{"body":{"nodeType":"YulBlock","src":"4164:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4173:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4176:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4166:6:150"},"nodeType":"YulFunctionCall","src":"4166:12:150"},"nodeType":"YulExpressionStatement","src":"4166:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4138:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4147:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4134:3:150"},"nodeType":"YulFunctionCall","src":"4134:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4159:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4130:3:150"},"nodeType":"YulFunctionCall","src":"4130:33:150"},"nodeType":"YulIf","src":"4127:53:150"},{"nodeType":"YulAssignment","src":"4189:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4212:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4199:12:150"},"nodeType":"YulFunctionCall","src":"4199:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4189:6:150"}]},{"nodeType":"YulAssignment","src":"4231:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4264:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4275:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4260:3:150"},"nodeType":"YulFunctionCall","src":"4260:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4241:18:150"},"nodeType":"YulFunctionCall","src":"4241:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4231:6:150"}]},{"nodeType":"YulAssignment","src":"4288:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4321:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4332:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4317:3:150"},"nodeType":"YulFunctionCall","src":"4317:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4298:18:150"},"nodeType":"YulFunctionCall","src":"4298:38:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4288:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4345:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4376:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4387:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4372:3:150"},"nodeType":"YulFunctionCall","src":"4372:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4359:12:150"},"nodeType":"YulFunctionCall","src":"4359:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4349:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4434:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4443:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4446:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4436:6:150"},"nodeType":"YulFunctionCall","src":"4436:12:150"},"nodeType":"YulExpressionStatement","src":"4436:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4406:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4422:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4426:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4418:3:150"},"nodeType":"YulFunctionCall","src":"4418:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4430:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4414:3:150"},"nodeType":"YulFunctionCall","src":"4414:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4403:2:150"},"nodeType":"YulFunctionCall","src":"4403:30:150"},"nodeType":"YulIf","src":"4400:50:150"},{"nodeType":"YulAssignment","src":"4459:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4502:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"4513:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4498:3:150"},"nodeType":"YulFunctionCall","src":"4498:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4522:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"4469:28:150"},"nodeType":"YulFunctionCall","src":"4469:61:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4459:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_addresst_addresst_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4059:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4070:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4082:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4090:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4098:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4106:6:150","type":""}],"src":"3934:602:150"},{"body":{"nodeType":"YulBlock","src":"4687:419:150","statements":[{"body":{"nodeType":"YulBlock","src":"4734:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4743:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4746:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4736:6:150"},"nodeType":"YulFunctionCall","src":"4736:12:150"},"nodeType":"YulExpressionStatement","src":"4736:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4708:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4717:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4704:3:150"},"nodeType":"YulFunctionCall","src":"4704:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4729:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4700:3:150"},"nodeType":"YulFunctionCall","src":"4700:33:150"},"nodeType":"YulIf","src":"4697:53:150"},{"nodeType":"YulAssignment","src":"4759:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4788:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4769:18:150"},"nodeType":"YulFunctionCall","src":"4769:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4759:6:150"}]},{"nodeType":"YulAssignment","src":"4807:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4840:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4851:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4836:3:150"},"nodeType":"YulFunctionCall","src":"4836:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4817:18:150"},"nodeType":"YulFunctionCall","src":"4817:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4807:6:150"}]},{"nodeType":"YulAssignment","src":"4864:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4891:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4902:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4887:3:150"},"nodeType":"YulFunctionCall","src":"4887:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4874:12:150"},"nodeType":"YulFunctionCall","src":"4874:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4864:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4915:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4946:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4957:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4942:3:150"},"nodeType":"YulFunctionCall","src":"4942:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4929:12:150"},"nodeType":"YulFunctionCall","src":"4929:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4919:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5004:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5013:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5016:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5006:6:150"},"nodeType":"YulFunctionCall","src":"5006:12:150"},"nodeType":"YulExpressionStatement","src":"5006:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4976:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4992:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4996:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4988:3:150"},"nodeType":"YulFunctionCall","src":"4988:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5000:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4984:3:150"},"nodeType":"YulFunctionCall","src":"4984:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4973:2:150"},"nodeType":"YulFunctionCall","src":"4973:30:150"},"nodeType":"YulIf","src":"4970:50:150"},{"nodeType":"YulAssignment","src":"5029:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5072:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"5083:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5068:3:150"},"nodeType":"YulFunctionCall","src":"5068:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5092:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"5039:28:150"},"nodeType":"YulFunctionCall","src":"5039:61:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5029:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4629:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4640:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4652:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4660:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4668:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4676:6:150","type":""}],"src":"4541:565:150"},{"body":{"nodeType":"YulBlock","src":"5376:618:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5393:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5404:2:150","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5386:6:150"},"nodeType":"YulFunctionCall","src":"5386:21:150"},"nodeType":"YulExpressionStatement","src":"5386:21:150"},{"nodeType":"YulVariableDeclaration","src":"5416:70:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5459:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5471:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5482:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5467:3:150"},"nodeType":"YulFunctionCall","src":"5467:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"5430:28:150"},"nodeType":"YulFunctionCall","src":"5430:56:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"5420:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5495:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5505:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5499:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5527:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5538:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5523:3:150"},"nodeType":"YulFunctionCall","src":"5523:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"5547:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5555:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5543:3:150"},"nodeType":"YulFunctionCall","src":"5543:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5516:6:150"},"nodeType":"YulFunctionCall","src":"5516:50:150"},"nodeType":"YulExpressionStatement","src":"5516:50:150"},{"nodeType":"YulVariableDeclaration","src":"5575:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"5586:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"5579:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5601:27:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5621:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5615:5:150"},"nodeType":"YulFunctionCall","src":"5615:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5605:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"5644:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"5652:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5637:6:150"},"nodeType":"YulFunctionCall","src":"5637:22:150"},"nodeType":"YulExpressionStatement","src":"5637:22:150"},{"nodeType":"YulAssignment","src":"5668:22:150","value":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"5679:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5687:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5675:3:150"},"nodeType":"YulFunctionCall","src":"5675:15:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5668:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"5699:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5717:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5725:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5713:3:150"},"nodeType":"YulFunctionCall","src":"5713:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"5703:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5737:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5746:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5741:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5805:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5826:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5837:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5831:5:150"},"nodeType":"YulFunctionCall","src":"5831:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5819:6:150"},"nodeType":"YulFunctionCall","src":"5819:26:150"},"nodeType":"YulExpressionStatement","src":"5819:26:150"},{"nodeType":"YulAssignment","src":"5858:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5869:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5874:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5865:3:150"},"nodeType":"YulFunctionCall","src":"5865:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5858:3:150"}]},{"nodeType":"YulAssignment","src":"5890:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5904:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5912:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5900:3:150"},"nodeType":"YulFunctionCall","src":"5900:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5890:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5767:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"5770:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5764:2:150"},"nodeType":"YulFunctionCall","src":"5764:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5778:18:150","statements":[{"nodeType":"YulAssignment","src":"5780:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5789:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"5792:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5785:3:150"},"nodeType":"YulFunctionCall","src":"5785:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5780:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5760:3:150","statements":[]},"src":"5756:169:150"},{"nodeType":"YulAssignment","src":"5934:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"5942:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5934:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5965:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5976:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5961:3:150"},"nodeType":"YulFunctionCall","src":"5961:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"5981:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5954:6:150"},"nodeType":"YulFunctionCall","src":"5954:34:150"},"nodeType":"YulExpressionStatement","src":"5954:34:150"}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5329:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5340:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5348:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5356:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5367:4:150","type":""}],"src":"5111:883:150"},{"body":{"nodeType":"YulBlock","src":"6100:102:150","statements":[{"nodeType":"YulAssignment","src":"6110:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6122:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6133:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6118:3:150"},"nodeType":"YulFunctionCall","src":"6118:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6110:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6152:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6167:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6183:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6188:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6179:3:150"},"nodeType":"YulFunctionCall","src":"6179:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"6192:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6175:3:150"},"nodeType":"YulFunctionCall","src":"6175:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6163:3:150"},"nodeType":"YulFunctionCall","src":"6163:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6145:6:150"},"nodeType":"YulFunctionCall","src":"6145:51:150"},"nodeType":"YulExpressionStatement","src":"6145:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6069:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6080:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6091:4:150","type":""}],"src":"5999:203:150"},{"body":{"nodeType":"YulBlock","src":"6264:107:150","statements":[{"nodeType":"YulAssignment","src":"6274:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6289:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6283:5:150"},"nodeType":"YulFunctionCall","src":"6283:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6274:5:150"}]},{"body":{"nodeType":"YulBlock","src":"6349:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6358:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6361:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6351:6:150"},"nodeType":"YulFunctionCall","src":"6351:12:150"},"nodeType":"YulExpressionStatement","src":"6351:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6318:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6339:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6332:6:150"},"nodeType":"YulFunctionCall","src":"6332:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6325:6:150"},"nodeType":"YulFunctionCall","src":"6325:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6315:2:150"},"nodeType":"YulFunctionCall","src":"6315:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6308:6:150"},"nodeType":"YulFunctionCall","src":"6308:40:150"},"nodeType":"YulIf","src":"6305:60:150"}]},"name":"abi_decode_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6243:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6254:5:150","type":""}],"src":"6207:164:150"},{"body":{"nodeType":"YulBlock","src":"6454:124:150","statements":[{"body":{"nodeType":"YulBlock","src":"6500:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6509:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6512:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6502:6:150"},"nodeType":"YulFunctionCall","src":"6502:12:150"},"nodeType":"YulExpressionStatement","src":"6502:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6475:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6484:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6471:3:150"},"nodeType":"YulFunctionCall","src":"6471:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6496:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6467:3:150"},"nodeType":"YulFunctionCall","src":"6467:32:150"},"nodeType":"YulIf","src":"6464:52:150"},{"nodeType":"YulAssignment","src":"6525:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6562:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"6535:26:150"},"nodeType":"YulFunctionCall","src":"6535:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6525:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6420:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6431:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6443:6:150","type":""}],"src":"6376:202:150"},{"body":{"nodeType":"YulBlock","src":"6664:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"6710:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6719:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6722:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6712:6:150"},"nodeType":"YulFunctionCall","src":"6712:12:150"},"nodeType":"YulExpressionStatement","src":"6712:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6685:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6694:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6681:3:150"},"nodeType":"YulFunctionCall","src":"6681:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6706:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6677:3:150"},"nodeType":"YulFunctionCall","src":"6677:32:150"},"nodeType":"YulIf","src":"6674:52:150"},{"nodeType":"YulAssignment","src":"6735:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6751:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6745:5:150"},"nodeType":"YulFunctionCall","src":"6745:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6735:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6630:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6641:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6653:6:150","type":""}],"src":"6583:184:150"},{"body":{"nodeType":"YulBlock","src":"6901:145:150","statements":[{"nodeType":"YulAssignment","src":"6911:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6923:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6934:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6919:3:150"},"nodeType":"YulFunctionCall","src":"6919:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6911:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6953:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6968:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6984:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6989:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6980:3:150"},"nodeType":"YulFunctionCall","src":"6980:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"6993:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6976:3:150"},"nodeType":"YulFunctionCall","src":"6976:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6964:3:150"},"nodeType":"YulFunctionCall","src":"6964:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6946:6:150"},"nodeType":"YulFunctionCall","src":"6946:51:150"},"nodeType":"YulExpressionStatement","src":"6946:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7017:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7028:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7013:3:150"},"nodeType":"YulFunctionCall","src":"7013:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"7033:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7006:6:150"},"nodeType":"YulFunctionCall","src":"7006:34:150"},"nodeType":"YulExpressionStatement","src":"7006:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6862:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6873:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6881:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6892:4:150","type":""}],"src":"6772:274:150"},{"body":{"nodeType":"YulBlock","src":"7146:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"7192:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7201:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7204:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7194:6:150"},"nodeType":"YulFunctionCall","src":"7194:12:150"},"nodeType":"YulExpressionStatement","src":"7194:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7167:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7176:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7163:3:150"},"nodeType":"YulFunctionCall","src":"7163:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7188:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7159:3:150"},"nodeType":"YulFunctionCall","src":"7159:32:150"},"nodeType":"YulIf","src":"7156:52:150"},{"nodeType":"YulAssignment","src":"7217:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7233:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7227:5:150"},"nodeType":"YulFunctionCall","src":"7227:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7217:6:150"}]},{"nodeType":"YulAssignment","src":"7252:56:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7293:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7304:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7289:3:150"},"nodeType":"YulFunctionCall","src":"7289:18:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"7262:26:150"},"nodeType":"YulFunctionCall","src":"7262:46:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7252:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7104:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7115:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7127:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7135:6:150","type":""}],"src":"7051:263:150"},{"body":{"nodeType":"YulBlock","src":"7493:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7510:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7521:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7503:6:150"},"nodeType":"YulFunctionCall","src":"7503:21:150"},"nodeType":"YulExpressionStatement","src":"7503:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7555:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7540:3:150"},"nodeType":"YulFunctionCall","src":"7540:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7560:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7533:6:150"},"nodeType":"YulFunctionCall","src":"7533:30:150"},"nodeType":"YulExpressionStatement","src":"7533:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7583:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7594:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7579:3:150"},"nodeType":"YulFunctionCall","src":"7579:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206174206c65617374203120564f5433","kind":"string","nodeType":"YulLiteral","src":"7599:34:150","type":"","value":"AutoVotingLogic: at least 1 VOT3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7572:6:150"},"nodeType":"YulFunctionCall","src":"7572:62:150"},"nodeType":"YulExpressionStatement","src":"7572:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7654:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7665:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7650:3:150"},"nodeType":"YulFunctionCall","src":"7650:18:150"},{"hexValue":"206973207265717569726564","kind":"string","nodeType":"YulLiteral","src":"7670:14:150","type":"","value":" is required"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7643:6:150"},"nodeType":"YulFunctionCall","src":"7643:42:150"},"nodeType":"YulExpressionStatement","src":"7643:42:150"},{"nodeType":"YulAssignment","src":"7694:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7706:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7717:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7702:3:150"},"nodeType":"YulFunctionCall","src":"7702:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7694:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7470:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7484:4:150","type":""}],"src":"7319:408:150"},{"body":{"nodeType":"YulBlock","src":"7906:235:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7923:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7934:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7916:6:150"},"nodeType":"YulFunctionCall","src":"7916:21:150"},"nodeType":"YulExpressionStatement","src":"7916:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7957:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7968:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7953:3:150"},"nodeType":"YulFunctionCall","src":"7953:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7973:2:150","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7946:6:150"},"nodeType":"YulFunctionCall","src":"7946:30:150"},"nodeType":"YulExpressionStatement","src":"7946:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7996:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8007:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7992:3:150"},"nodeType":"YulFunctionCall","src":"7992:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206d7573742073656c65637420617420","kind":"string","nodeType":"YulLiteral","src":"8012:34:150","type":"","value":"AutoVotingLogic: must select at "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7985:6:150"},"nodeType":"YulFunctionCall","src":"7985:62:150"},"nodeType":"YulExpressionStatement","src":"7985:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8067:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8078:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8063:3:150"},"nodeType":"YulFunctionCall","src":"8063:18:150"},{"hexValue":"6c65617374206f6e6520617070","kind":"string","nodeType":"YulLiteral","src":"8083:15:150","type":"","value":"least one app"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8056:6:150"},"nodeType":"YulFunctionCall","src":"8056:43:150"},"nodeType":"YulExpressionStatement","src":"8056:43:150"},{"nodeType":"YulAssignment","src":"8108:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8120:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8131:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8116:3:150"},"nodeType":"YulFunctionCall","src":"8116:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8108:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7883:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7897:4:150","type":""}],"src":"7732:409:150"},{"body":{"nodeType":"YulBlock","src":"8178:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8195:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8202:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8207:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8198:3:150"},"nodeType":"YulFunctionCall","src":"8198:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8188:6:150"},"nodeType":"YulFunctionCall","src":"8188:31:150"},"nodeType":"YulExpressionStatement","src":"8188:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8235:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8238:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8228:6:150"},"nodeType":"YulFunctionCall","src":"8228:15:150"},"nodeType":"YulExpressionStatement","src":"8228:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8259:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8262:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8252:6:150"},"nodeType":"YulFunctionCall","src":"8252:15:150"},"nodeType":"YulExpressionStatement","src":"8252:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"8146:127:150"},{"body":{"nodeType":"YulBlock","src":"8327:136:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8337:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8355:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"8360:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8351:3:150"},"nodeType":"YulFunctionCall","src":"8351:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8364:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8347:3:150"},"nodeType":"YulFunctionCall","src":"8347:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8341:2:150","type":""}]},{"nodeType":"YulAssignment","src":"8375:35:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8391:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8394:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8387:3:150"},"nodeType":"YulFunctionCall","src":"8387:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"8403:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8406:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8399:3:150"},"nodeType":"YulFunctionCall","src":"8399:10:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8383:3:150"},"nodeType":"YulFunctionCall","src":"8383:27:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"8375:4:150"}]},{"body":{"nodeType":"YulBlock","src":"8435:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"8437:16:150"},"nodeType":"YulFunctionCall","src":"8437:18:150"},"nodeType":"YulExpressionStatement","src":"8437:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"8425:4:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8431:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8422:2:150"},"nodeType":"YulFunctionCall","src":"8422:12:150"},"nodeType":"YulIf","src":"8419:38:150"}]},"name":"checked_sub_t_uint208","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"8309:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"8312:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"8318:4:150","type":""}],"src":"8278:185:150"},{"body":{"nodeType":"YulBlock","src":"8516:134:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8526:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8544:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"8549:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8540:3:150"},"nodeType":"YulFunctionCall","src":"8540:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8553:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8536:3:150"},"nodeType":"YulFunctionCall","src":"8536:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8530:2:150","type":""}]},{"nodeType":"YulAssignment","src":"8564:34:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8579:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8582:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8575:3:150"},"nodeType":"YulFunctionCall","src":"8575:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"8591:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8594:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8587:3:150"},"nodeType":"YulFunctionCall","src":"8587:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8571:3:150"},"nodeType":"YulFunctionCall","src":"8571:27:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"8564:3:150"}]},{"body":{"nodeType":"YulBlock","src":"8622:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"8624:16:150"},"nodeType":"YulFunctionCall","src":"8624:18:150"},"nodeType":"YulExpressionStatement","src":"8624:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"8613:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8618:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8610:2:150"},"nodeType":"YulFunctionCall","src":"8610:11:150"},"nodeType":"YulIf","src":"8607:37:150"}]},"name":"checked_add_t_uint208","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"8499:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"8502:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"8508:3:150","type":""}],"src":"8468:182:150"},{"body":{"nodeType":"YulBlock","src":"8750:92:150","statements":[{"nodeType":"YulAssignment","src":"8760:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8772:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8783:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8768:3:150"},"nodeType":"YulFunctionCall","src":"8768:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8760:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8802:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8827:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8820:6:150"},"nodeType":"YulFunctionCall","src":"8820:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8813:6:150"},"nodeType":"YulFunctionCall","src":"8813:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8795:6:150"},"nodeType":"YulFunctionCall","src":"8795:41:150"},"nodeType":"YulExpressionStatement","src":"8795:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8719:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8730:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8741:4:150","type":""}],"src":"8655:187:150"},{"body":{"nodeType":"YulBlock","src":"9021:226:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9038:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9049:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9031:6:150"},"nodeType":"YulFunctionCall","src":"9031:21:150"},"nodeType":"YulExpressionStatement","src":"9031:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9072:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9083:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9068:3:150"},"nodeType":"YulFunctionCall","src":"9068:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"9088:2:150","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9061:6:150"},"nodeType":"YulFunctionCall","src":"9061:30:150"},"nodeType":"YulExpressionStatement","src":"9061:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9111:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9122:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9107:3:150"},"nodeType":"YulFunctionCall","src":"9107:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206e6f206170707320746f20766f7465","kind":"string","nodeType":"YulLiteral","src":"9127:34:150","type":"","value":"AutoVotingLogic: no apps to vote"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9100:6:150"},"nodeType":"YulFunctionCall","src":"9100:62:150"},"nodeType":"YulExpressionStatement","src":"9100:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9182:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9193:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9178:3:150"},"nodeType":"YulFunctionCall","src":"9178:18:150"},{"hexValue":"20666f72","kind":"string","nodeType":"YulLiteral","src":"9198:6:150","type":"","value":" for"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9171:6:150"},"nodeType":"YulFunctionCall","src":"9171:34:150"},"nodeType":"YulExpressionStatement","src":"9171:34:150"},{"nodeType":"YulAssignment","src":"9214:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9226:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9237:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9222:3:150"},"nodeType":"YulFunctionCall","src":"9222:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9214:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8998:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9012:4:150","type":""}],"src":"8847:400:150"},{"body":{"nodeType":"YulBlock","src":"9426:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9443:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9454:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9436:6:150"},"nodeType":"YulFunctionCall","src":"9436:21:150"},"nodeType":"YulExpressionStatement","src":"9436:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9477:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9488:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9473:3:150"},"nodeType":"YulFunctionCall","src":"9473:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"9493:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9466:6:150"},"nodeType":"YulFunctionCall","src":"9466:30:150"},"nodeType":"YulExpressionStatement","src":"9466:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9516:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9527:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9512:3:150"},"nodeType":"YulFunctionCall","src":"9512:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206d75737420766f746520666f72206c","kind":"string","nodeType":"YulLiteral","src":"9532:34:150","type":"","value":"AutoVotingLogic: must vote for l"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9505:6:150"},"nodeType":"YulFunctionCall","src":"9505:62:150"},"nodeType":"YulExpressionStatement","src":"9505:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9587:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9598:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9583:3:150"},"nodeType":"YulFunctionCall","src":"9583:18:150"},{"hexValue":"657373207468616e2031352061707073","kind":"string","nodeType":"YulLiteral","src":"9603:18:150","type":"","value":"ess than 15 apps"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9576:6:150"},"nodeType":"YulFunctionCall","src":"9576:46:150"},"nodeType":"YulExpressionStatement","src":"9576:46:150"},{"nodeType":"YulAssignment","src":"9631:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9643:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9654:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9639:3:150"},"nodeType":"YulFunctionCall","src":"9639:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9631:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9403:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9417:4:150","type":""}],"src":"9252:412:150"},{"body":{"nodeType":"YulBlock","src":"9701:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9718:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9725:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9730:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9721:3:150"},"nodeType":"YulFunctionCall","src":"9721:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9711:6:150"},"nodeType":"YulFunctionCall","src":"9711:31:150"},"nodeType":"YulExpressionStatement","src":"9711:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9758:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9761:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9751:6:150"},"nodeType":"YulFunctionCall","src":"9751:15:150"},"nodeType":"YulExpressionStatement","src":"9751:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9782:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9785:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9775:6:150"},"nodeType":"YulFunctionCall","src":"9775:15:150"},"nodeType":"YulExpressionStatement","src":"9775:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"9669:127:150"},{"body":{"nodeType":"YulBlock","src":"9902:76:150","statements":[{"nodeType":"YulAssignment","src":"9912:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9924:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9935:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9920:3:150"},"nodeType":"YulFunctionCall","src":"9920:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9912:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9954:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"9965:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9947:6:150"},"nodeType":"YulFunctionCall","src":"9947:25:150"},"nodeType":"YulExpressionStatement","src":"9947:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9871:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9882:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9893:4:150","type":""}],"src":"9801:177:150"},{"body":{"nodeType":"YulBlock","src":"10157:178:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10174:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10185:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10167:6:150"},"nodeType":"YulFunctionCall","src":"10167:21:150"},"nodeType":"YulExpressionStatement","src":"10167:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10208:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10219:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10204:3:150"},"nodeType":"YulFunctionCall","src":"10204:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"10224:2:150","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10197:6:150"},"nodeType":"YulFunctionCall","src":"10197:30:150"},"nodeType":"YulExpressionStatement","src":"10197:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10247:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10258:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10243:3:150"},"nodeType":"YulFunctionCall","src":"10243:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a20696e76616c696420617070","kind":"string","nodeType":"YulLiteral","src":"10263:30:150","type":"","value":"AutoVotingLogic: invalid app"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10236:6:150"},"nodeType":"YulFunctionCall","src":"10236:58:150"},"nodeType":"YulExpressionStatement","src":"10236:58:150"},{"nodeType":"YulAssignment","src":"10303:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10315:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10326:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10311:3:150"},"nodeType":"YulFunctionCall","src":"10311:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10303:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10134:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10148:4:150","type":""}],"src":"9983:352:150"},{"body":{"nodeType":"YulBlock","src":"10514:180:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10531:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10542:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10524:6:150"},"nodeType":"YulFunctionCall","src":"10524:21:150"},"nodeType":"YulExpressionStatement","src":"10524:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10565:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10576:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10561:3:150"},"nodeType":"YulFunctionCall","src":"10561:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"10581:2:150","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10554:6:150"},"nodeType":"YulFunctionCall","src":"10554:30:150"},"nodeType":"YulExpressionStatement","src":"10554:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10604:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10615:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10600:3:150"},"nodeType":"YulFunctionCall","src":"10600:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206475706c696361746520617070","kind":"string","nodeType":"YulLiteral","src":"10620:32:150","type":"","value":"AutoVotingLogic: duplicate app"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10593:6:150"},"nodeType":"YulFunctionCall","src":"10593:60:150"},"nodeType":"YulExpressionStatement","src":"10593:60:150"},{"nodeType":"YulAssignment","src":"10662:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10674:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10685:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10670:3:150"},"nodeType":"YulFunctionCall","src":"10670:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10662:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10491:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10505:4:150","type":""}],"src":"10340:354:150"},{"body":{"nodeType":"YulBlock","src":"10746:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"10777:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"10779:16:150"},"nodeType":"YulFunctionCall","src":"10779:18:150"},"nodeType":"YulExpressionStatement","src":"10779:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10762:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10773:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10769:3:150"},"nodeType":"YulFunctionCall","src":"10769:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"10759:2:150"},"nodeType":"YulFunctionCall","src":"10759:17:150"},"nodeType":"YulIf","src":"10756:43:150"},{"nodeType":"YulAssignment","src":"10808:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10819:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10826:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10815:3:150"},"nodeType":"YulFunctionCall","src":"10815:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"10808:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10728:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"10738:3:150","type":""}],"src":"10699:135:150"},{"body":{"nodeType":"YulBlock","src":"10990:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"11000:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11010:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11004:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11021:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11039:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11050:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11035:3:150"},"nodeType":"YulFunctionCall","src":"11035:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"11025:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11069:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11080:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11062:6:150"},"nodeType":"YulFunctionCall","src":"11062:21:150"},"nodeType":"YulExpressionStatement","src":"11062:21:150"},{"nodeType":"YulVariableDeclaration","src":"11092:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"11103:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"11096:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11118:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11138:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11132:5:150"},"nodeType":"YulFunctionCall","src":"11132:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"11122:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"11161:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"11169:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11154:6:150"},"nodeType":"YulFunctionCall","src":"11154:22:150"},"nodeType":"YulExpressionStatement","src":"11154:22:150"},{"nodeType":"YulAssignment","src":"11185:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11196:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11207:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11192:3:150"},"nodeType":"YulFunctionCall","src":"11192:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11185:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"11219:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11237:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11245:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11233:3:150"},"nodeType":"YulFunctionCall","src":"11233:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"11223:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11257:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11266:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"11261:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11325:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11346:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11357:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11351:5:150"},"nodeType":"YulFunctionCall","src":"11351:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11339:6:150"},"nodeType":"YulFunctionCall","src":"11339:26:150"},"nodeType":"YulExpressionStatement","src":"11339:26:150"},{"nodeType":"YulAssignment","src":"11378:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11389:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11394:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11385:3:150"},"nodeType":"YulFunctionCall","src":"11385:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11378:3:150"}]},{"nodeType":"YulAssignment","src":"11410:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11424:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11432:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11420:3:150"},"nodeType":"YulFunctionCall","src":"11420:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11410:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11287:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"11290:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11284:2:150"},"nodeType":"YulFunctionCall","src":"11284:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11298:18:150","statements":[{"nodeType":"YulAssignment","src":"11300:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11309:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"11312:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11305:3:150"},"nodeType":"YulFunctionCall","src":"11305:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"11300:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"11280:3:150","statements":[]},"src":"11276:169:150"},{"nodeType":"YulAssignment","src":"11454:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"11462:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11454:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10959:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10970:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10981:4:150","type":""}],"src":"10839:632:150"},{"body":{"nodeType":"YulBlock","src":"11577:76:150","statements":[{"nodeType":"YulAssignment","src":"11587:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11599:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11610:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11595:3:150"},"nodeType":"YulFunctionCall","src":"11595:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11587:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11629:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"11640:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11622:6:150"},"nodeType":"YulFunctionCall","src":"11622:25:150"},"nodeType":"YulExpressionStatement","src":"11622:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11546:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11557:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11568:4:150","type":""}],"src":"11476:177:150"},{"body":{"nodeType":"YulBlock","src":"11787:119:150","statements":[{"nodeType":"YulAssignment","src":"11797:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11809:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11820:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11805:3:150"},"nodeType":"YulFunctionCall","src":"11805:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11797:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11839:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"11850:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11832:6:150"},"nodeType":"YulFunctionCall","src":"11832:25:150"},"nodeType":"YulExpressionStatement","src":"11832:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11877:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11888:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11873:3:150"},"nodeType":"YulFunctionCall","src":"11873:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"11893:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11866:6:150"},"nodeType":"YulFunctionCall","src":"11866:34:150"},"nodeType":"YulExpressionStatement","src":"11866:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11748:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11759:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11767:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11778:4:150","type":""}],"src":"11658:248:150"},{"body":{"nodeType":"YulBlock","src":"11943:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11960:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11967:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"11972:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11963:3:150"},"nodeType":"YulFunctionCall","src":"11963:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11953:6:150"},"nodeType":"YulFunctionCall","src":"11953:31:150"},"nodeType":"YulExpressionStatement","src":"11953:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12000:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12003:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11993:6:150"},"nodeType":"YulFunctionCall","src":"11993:15:150"},"nodeType":"YulExpressionStatement","src":"11993:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12024:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12027:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12017:6:150"},"nodeType":"YulFunctionCall","src":"12017:15:150"},"nodeType":"YulExpressionStatement","src":"12017:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"11911:127:150"},{"body":{"nodeType":"YulBlock","src":"12089:74:150","statements":[{"body":{"nodeType":"YulBlock","src":"12112:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"12114:16:150"},"nodeType":"YulFunctionCall","src":"12114:18:150"},"nodeType":"YulExpressionStatement","src":"12114:18:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"12109:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12102:6:150"},"nodeType":"YulFunctionCall","src":"12102:9:150"},"nodeType":"YulIf","src":"12099:35:150"},{"nodeType":"YulAssignment","src":"12143:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12152:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12155:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"12148:3:150"},"nodeType":"YulFunctionCall","src":"12148:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"12143:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12074:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12077:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"12083:1:150","type":""}],"src":"12043:120:150"},{"body":{"nodeType":"YulBlock","src":"12206:74:150","statements":[{"body":{"nodeType":"YulBlock","src":"12229:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"12231:16:150"},"nodeType":"YulFunctionCall","src":"12231:18:150"},"nodeType":"YulExpressionStatement","src":"12231:18:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"12226:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12219:6:150"},"nodeType":"YulFunctionCall","src":"12219:9:150"},"nodeType":"YulIf","src":"12216:35:150"},{"nodeType":"YulAssignment","src":"12260:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12269:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12272:1:150"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"12265:3:150"},"nodeType":"YulFunctionCall","src":"12265:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"12260:1:150"}]}]},"name":"mod_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12191:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12194:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"12200:1:150","type":""}],"src":"12168:112:150"},{"body":{"nodeType":"YulBlock","src":"12333:77:150","statements":[{"nodeType":"YulAssignment","src":"12343:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12354:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12357:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12350:3:150"},"nodeType":"YulFunctionCall","src":"12350:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"12343:3:150"}]},{"body":{"nodeType":"YulBlock","src":"12382:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12384:16:150"},"nodeType":"YulFunctionCall","src":"12384:18:150"},"nodeType":"YulExpressionStatement","src":"12384:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12374:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"12377:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12371:2:150"},"nodeType":"YulFunctionCall","src":"12371:10:150"},"nodeType":"YulIf","src":"12368:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12316:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12319:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"12325:3:150","type":""}],"src":"12285:125:150"},{"body":{"nodeType":"YulBlock","src":"12464:79:150","statements":[{"nodeType":"YulAssignment","src":"12474:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12486:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12489:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12482:3:150"},"nodeType":"YulFunctionCall","src":"12482:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"12474:4:150"}]},{"body":{"nodeType":"YulBlock","src":"12515:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12517:16:150"},"nodeType":"YulFunctionCall","src":"12517:18:150"},"nodeType":"YulExpressionStatement","src":"12517:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"12506:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"12512:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12503:2:150"},"nodeType":"YulFunctionCall","src":"12503:11:150"},"nodeType":"YulIf","src":"12500:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12446:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12449:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"12455:4:150","type":""}],"src":"12415:128:150"},{"body":{"nodeType":"YulBlock","src":"12685:130:150","statements":[{"nodeType":"YulAssignment","src":"12695:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12707:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12718:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12703:3:150"},"nodeType":"YulFunctionCall","src":"12703:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12695:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12737:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12752:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12760:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12748:3:150"},"nodeType":"YulFunctionCall","src":"12748:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12730:6:150"},"nodeType":"YulFunctionCall","src":"12730:36:150"},"nodeType":"YulExpressionStatement","src":"12730:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12786:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12797:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12782:3:150"},"nodeType":"YulFunctionCall","src":"12782:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12802:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12775:6:150"},"nodeType":"YulFunctionCall","src":"12775:34:150"},"nodeType":"YulExpressionStatement","src":"12775:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12646:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12657:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12665:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12676:4:150","type":""}],"src":"12548:267:150"}]},"contents":"{\n    { }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n    }\n    function abi_encode_array_bytes32_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_array_bytes32_dyn(value0, add(headStart, 32))\n    }\n    function abi_decode_uint48(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_addresst_uint48(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := abi_decode_uint48(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint48(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint208__to_t_uint208__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(208, 1), 1)))\n    }\n    function abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_addresst_addresst_uint48(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := abi_decode_address(add(headStart, 64))\n        value3 := abi_decode_uint48(add(headStart, 96))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function abi_decode_array_bytes32_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let _3 := sub(shl(64, 1), 1)\n        if gt(_1, _3) { panic_error_0x41() }\n        let _4 := shl(5, _1)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(_4, 63), not(31)))\n        if or(gt(newFreePtr, _3), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let dst := memPtr\n        mstore(memPtr, _1)\n        dst := add(memPtr, _2)\n        let srcEnd := add(add(offset, _4), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := memPtr\n    }\n    function abi_decode_tuple_t_struct$_AutoVotingStorage_$47726_storage_ptrt_addresst_addresst_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := abi_decode_address(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 96)\n        let tail_1 := abi_encode_array_bytes32_dyn(value0, add(headStart, 96))\n        let _1 := 32\n        mstore(add(headStart, _1), sub(tail_1, headStart))\n        let pos := tail_1\n        let length := mload(value1)\n        mstore(tail_1, length)\n        pos := add(tail_1, _1)\n        let srcPtr := add(value1, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_bool_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint256t_bool_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := mload(headStart)\n        value1 := abi_decode_bool_fromMemory(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"AutoVotingLogic: at least 1 VOT3\")\n        mstore(add(headStart, 96), \" is required\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"AutoVotingLogic: must select at \")\n        mstore(add(headStart, 96), \"least one app\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_sub_t_uint208(x, y) -> diff\n    {\n        let _1 := sub(shl(208, 1), 1)\n        diff := sub(and(x, _1), and(y, _1))\n        if gt(diff, _1) { panic_error_0x11() }\n    }\n    function checked_add_t_uint208(x, y) -> sum\n    {\n        let _1 := sub(shl(208, 1), 1)\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 36)\n        mstore(add(headStart, 64), \"AutoVotingLogic: no apps to vote\")\n        mstore(add(headStart, 96), \" for\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"AutoVotingLogic: must vote for l\")\n        mstore(add(headStart, 96), \"ess than 15 apps\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"AutoVotingLogic: invalid app\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 30)\n        mstore(add(headStart, 64), \"AutoVotingLogic: duplicate app\")\n        tail := add(headStart, 96)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := div(x, y)\n    }\n    function mod_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100825760003560e01c8063082ccd9e1461008757806325d8346e146100b05780632c1969f8146100d35780633e17cd58146100fe5780638770fb4d14610120578063a68c4888146100d3578063e37dcf2814610140578063ea66e04a14610153575b600080fd5b61009a6100953660046111d7565b610175565b6040516100a7919061123e565b60405180910390f35b6100c36100be366004611267565b6101e5565b60405190151581526020016100a7565b6100e66100e13660046112a3565b61021c565b6040516001600160d01b0390911681526020016100a7565b81801561010a57600080fd5b5061011e6101193660046112c6565b610232565b005b81801561012c57600080fd5b5061011e61013b3660046113b8565b610591565b6100c361014e3660046111d7565b61085f565b61016661016136600461141f565b610894565b6040516100a79392919061146e565b6001600160a01b03811660009081526001830160209081526040918290208054835181840281018401909452808452606093928301828280156101d757602002820191906000526020600020905b8154815260200190600101908083116101c3575b505050505090505b92915050565b6001600160a01b03821660009081526020849052604081206102079083610c77565b6001600160d01b031660011490509392505050565b600061022b6002840183610c77565b9392505050565b6001600160a01b03821660009081526020859052604081206102549083610c77565b6001600160d01b031660011490508015848261048f5760405163cfea80ed60e01b81526001600160a01b03868116600483015282169063cfea80ed90602401602060405180830381865afa1580156102b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d491906114de565b506000816001600160a01b031663a45f45aa87846001600160a01b031663561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610325573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034991906114f9565b6040518363ffffffff1660e01b8152600401610366929190611512565b6040805180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a6919061152b565b915050806104105760405162461bcd60e51b815260206004820152602c60248201527f4175746f566f74696e674c6f6769633a206174206c65617374203120564f543360448201526b081a5cc81c995c5d5a5c995960a21b60648201526084015b60405180910390fd5b6001600160a01b038616600090815260018901602052604090205461048d5760405162461bcd60e51b815260206004820152602d60248201527f4175746f566f74696e674c6f6769633a206d7573742073656c6563742061742060448201526c06c65617374206f6e652061707609c1b6064820152608401610407565b505b82156104b8576001600160a01b038516600090815260018801602052604081206104b891611142565b6104f984836104d0576104cb6000610d2d565b6104da565b6104da6001610d2d565b6001600160a01b038816600090815260208b9052604090209190610d65565b506000905061050b6002890186610c77565b90506000836105245761051f600183611564565b61052f565b61052f82600161158b565b905061053f60028a018783610d65565b5050866001600160a01b03167f6baead299a74ec4ebb558b9c9507046309c90e561107f4776cef02327b5265498560405161057e911515815260200190565b60405180910390a2505050505050505050565b60008151116105ee5760405162461bcd60e51b8152602060048201526024808201527f4175746f566f74696e674c6f6769633a206e6f206170707320746f20766f7465604482015263103337b960e11b6064820152608401610407565b600f815111156106595760405162461bcd60e51b815260206004820152603060248201527f4175746f566f74696e674c6f6769633a206d75737420766f746520666f72206c60448201526f657373207468616e203135206170707360801b6064820152608401610407565b8260005b82518110156107ea57816001600160a01b031663607bfb24848381518110610687576106876115ab565b60200260200101516040518263ffffffff1660e01b81526004016106ad91815260200190565b602060405180830381865afa1580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee91906114de565b6107395760405162461bcd60e51b815260206004820152601c60248201527b04175746f566f74696e674c6f6769633a20696e76616c6964206170760241b6044820152606401610407565b60005b818110156107d757838181518110610756576107566115ab565b6020026020010151848381518110610770576107706115ab565b6020026020010151036107c55760405162461bcd60e51b815260206004820152601e60248201527f4175746f566f74696e674c6f6769633a206475706c69636174652061707000006044820152606401610407565b806107cf816115c1565b91505061073c565b50806107e2816115c1565b91505061065d565b506001600160a01b03831660009081526001860160209081526040909120835161081692850190611163565b50826001600160a01b03167f3e3998ec06c031c887b2c4825699d96390034bafa666cc53be14a1b832a0654e8360405161085091906115da565b60405180910390a25050505050565b6001600160a01b038116600090815260208390526040812061088090610d80565b6001600160d01b0316600114905092915050565b606080600080879050600080826001600160a01b031663a45f45aa8a856001600160a01b031663d06efeda8c6040518263ffffffff1660e01b81526004016108de91815260200190565b602060405180830381865afa1580156108fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091f91906114f9565b6040518363ffffffff1660e01b815260040161093c929190611512565b6040805180830381865afa158015610958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097c919061152b565b91509150819350806109ab5750506040805160008082526020820190815281830190925294509250610c6d9050565b86516000816001600160401b038111156109c7576109c7611313565b6040519080825280602002602001820160405280156109f0578160200160208202803683370190505b5090506000805b83811015610aea57866001600160a01b031663d68b4c368c8381518110610a2057610a206115ab565b60200260200101518e6040518363ffffffff1660e01b8152600401610a4f929190918252602082015260400190565b602060405180830381865afa158015610a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9091906114de565b15610ada578a8181518110610aa757610aa76115ab565b6020026020010151838380610abb906115c1565b945081518110610acd57610acd6115ab565b6020026020010181815250505b610ae3816115c1565b90506109f7565b5080600003610b195750506040805160008082526020820190815281830190925297509550610c6d9350505050565b806001600160401b03811115610b3157610b31611313565b604051908082528060200260200182016040528015610b5a578160200160208202803683370190505b509850806001600160401b03811115610b7557610b75611313565b604051908082528060200260200182016040528015610b9e578160200160208202803683370190505b5097506000610bad8289611634565b90506000610bbb838a611648565b905060005b83811015610c6357848181518110610bda57610bda6115ab565b60200260200101518c8281518110610bf457610bf46115ab565b602002602001018181525050828b8281518110610c1357610c136115ab565b60200260200101818152505081811015610c535760018b8281518110610c3b57610c3b6115ab565b60200260200101818151610c4f919061165c565b9052505b610c5c816115c1565b9050610bc0565b5050505050505050505b9450945094915050565b815460009081816005811115610cd6576000610c9284610db9565b610c9c908561166f565b60008881526020902090915081015465ffffffffffff9081169087161015610cc657809150610cd4565b610cd181600161165c565b92505b505b6000610ce487878585610ea1565b90508015610d1f57610d0987610cfb60018461166f565b600091825260209091200190565b54600160301b90046001600160d01b0316610d22565b60005b979650505050505050565b60006001600160d01b03821115610d61576040516306dfcc6560e41b815260d0600482015260248101839052604401610407565b5090565b600080610d73858585610f03565b915091505b935093915050565b80546000908015610db057610d9a83610cfb60018461166f565b54600160301b90046001600160d01b031661022b565b60009392505050565b600081600003610dcb57506000919050565b60006001610dd88461107d565b901c6001901b90506001818481610df157610df161161e565b048201901c90506001818481610e0957610e0961161e565b048201901c90506001818481610e2157610e2161161e565b048201901c90506001818481610e3957610e3961161e565b048201901c90506001818481610e5157610e5161161e565b048201901c90506001818481610e6957610e6961161e565b048201901c90506001818481610e8157610e8161161e565b048201901c905061022b81828581610e9b57610e9b61161e565b04611111565b60005b81831015610efb576000610eb88484611127565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ee757809250610ef5565b610ef281600161165c565b93505b50610ea4565b509392505050565b825460009081908015611022576000610f2187610cfb60018561166f565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f7557604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fc15784610f9888610cfb60018661166f565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611012565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610d789050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610d78565b600080608083901c1561109257608092831c92015b604083901c156110a457604092831c92015b602083901c156110b657602092831c92015b601083901c156110c857601092831c92015b600883901c156110da57600892831c92015b600483901c156110ec57600492831c92015b600283901c156110fe57600292831c92015b600183901c156101df5760010192915050565b6000818310611120578161022b565b5090919050565b60006111366002848418611634565b61022b9084841661165c565b508054600082559060005260206000209081019061116091906111a6565b50565b82805482825590600052602060002090810192821561119e579160200282015b8281111561119e578251825591602001919060010190611183565b50610d619291505b5b80821115610d6157600081556001016111a7565b80356001600160a01b03811681146111d257600080fd5b919050565b600080604083850312156111ea57600080fd5b823591506111fa602084016111bb565b90509250929050565b600081518084526020808501945080840160005b8381101561123357815187529582019590820190600101611217565b509495945050505050565b60208152600061022b6020830184611203565b803565ffffffffffff811681146111d257600080fd5b60008060006060848603121561127c57600080fd5b8335925061128c602085016111bb565b915061129a60408501611251565b90509250925092565b600080604083850312156112b657600080fd5b823591506111fa60208401611251565b600080600080608085870312156112dc57600080fd5b843593506112ec602086016111bb565b92506112fa604086016111bb565b915061130860608601611251565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261133a57600080fd5b813560206001600160401b038083111561135657611356611313565b8260051b604051601f19603f8301168101818110848211171561137b5761137b611313565b60405293845285810183019383810192508785111561139957600080fd5b83870191505b84821015610d225781358352918301919083019061139f565b600080600080608085870312156113ce57600080fd5b843593506113de602086016111bb565b92506113ec604086016111bb565b915060608501356001600160401b0381111561140757600080fd5b61141387828801611329565b91505092959194509250565b6000806000806080858703121561143557600080fd5b61143e856111bb565b935061144c602086016111bb565b92506040850135915060608501356001600160401b0381111561140757600080fd5b6060815260006114816060830186611203565b82810360208481019190915285518083528682019282019060005b818110156114b85784518352938301939183019160010161149c565b5050809350505050826040830152949350505050565b805180151581146111d257600080fd5b6000602082840312156114f057600080fd5b61022b826114ce565b60006020828403121561150b57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b6000806040838503121561153e57600080fd5b825191506111fa602084016114ce565b634e487b7160e01b600052601160045260246000fd5b6001600160d01b038281168282160390808211156115845761158461154e565b5092915050565b6001600160d01b038181168382160190808211156115845761158461154e565b634e487b7160e01b600052603260045260246000fd5b6000600182016115d3576115d361154e565b5060010190565b6020808252825182820181905260009190848201906040850190845b81811015611612578351835292840192918401916001016115f6565b50909695505050505050565b634e487b7160e01b600052601260045260246000fd5b6000826116435761164361161e565b500490565b6000826116575761165761161e565b500690565b808201808211156101df576101df61154e565b818103818111156101df576101df61154e56fea26469706673582212202864cc638b2a16fdb3da9c6bb34f1a1f836461e1c7a1c71c394503b2be42ad7364736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x82 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x82CCD9E EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x25D8346E EQ PUSH2 0xB0 JUMPI DUP1 PUSH4 0x2C1969F8 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x3E17CD58 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x8770FB4D EQ PUSH2 0x120 JUMPI DUP1 PUSH4 0xA68C4888 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0xE37DCF28 EQ PUSH2 0x140 JUMPI DUP1 PUSH4 0xEA66E04A EQ PUSH2 0x153 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9A PUSH2 0x95 CALLDATASIZE PUSH1 0x4 PUSH2 0x11D7 JUMP JUMPDEST PUSH2 0x175 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x123E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH2 0xBE CALLDATASIZE PUSH1 0x4 PUSH2 0x1267 JUMP JUMPDEST PUSH2 0x1E5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA7 JUMP JUMPDEST PUSH2 0xE6 PUSH2 0xE1 CALLDATASIZE PUSH1 0x4 PUSH2 0x12A3 JUMP JUMPDEST PUSH2 0x21C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA7 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x10A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11E PUSH2 0x119 CALLDATASIZE PUSH1 0x4 PUSH2 0x12C6 JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x12C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11E PUSH2 0x13B CALLDATASIZE PUSH1 0x4 PUSH2 0x13B8 JUMP JUMPDEST PUSH2 0x591 JUMP JUMPDEST PUSH2 0xC3 PUSH2 0x14E CALLDATASIZE PUSH1 0x4 PUSH2 0x11D7 JUMP JUMPDEST PUSH2 0x85F JUMP JUMPDEST PUSH2 0x166 PUSH2 0x161 CALLDATASIZE PUSH1 0x4 PUSH2 0x141F JUMP JUMPDEST PUSH2 0x894 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x146E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1D7 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1C3 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP5 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x207 SWAP1 DUP4 PUSH2 0xC77 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22B PUSH1 0x2 DUP5 ADD DUP4 PUSH2 0xC77 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP6 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x254 SWAP1 DUP4 PUSH2 0xC77 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP DUP1 ISZERO DUP5 DUP3 PUSH2 0x48F JUMPI PUSH1 0x40 MLOAD PUSH4 0xCFEA80ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP3 AND SWAP1 PUSH4 0xCFEA80ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2D4 SWAP2 SWAP1 PUSH2 0x14DE JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA45F45AA DUP8 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x325 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x349 SWAP2 SWAP1 PUSH2 0x14F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x366 SWAP3 SWAP2 SWAP1 PUSH2 0x1512 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x382 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A6 SWAP2 SWAP1 PUSH2 0x152B JUMP JUMPDEST SWAP2 POP POP DUP1 PUSH2 0x410 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206174206C65617374203120564F5433 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x81A5CC81C995C5D5A5C9959 PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x48D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206D7573742073656C65637420617420 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x6C65617374206F6E652061707 PUSH1 0x9C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x407 JUMP JUMPDEST POP JUMPDEST DUP3 ISZERO PUSH2 0x4B8 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x4B8 SWAP2 PUSH2 0x1142 JUMP JUMPDEST PUSH2 0x4F9 DUP5 DUP4 PUSH2 0x4D0 JUMPI PUSH2 0x4CB PUSH1 0x0 PUSH2 0xD2D JUMP JUMPDEST PUSH2 0x4DA JUMP JUMPDEST PUSH2 0x4DA PUSH1 0x1 PUSH2 0xD2D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP12 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0xD65 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH2 0x50B PUSH1 0x2 DUP10 ADD DUP7 PUSH2 0xC77 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x524 JUMPI PUSH2 0x51F PUSH1 0x1 DUP4 PUSH2 0x1564 JUMP JUMPDEST PUSH2 0x52F JUMP JUMPDEST PUSH2 0x52F DUP3 PUSH1 0x1 PUSH2 0x158B JUMP JUMPDEST SWAP1 POP PUSH2 0x53F PUSH1 0x2 DUP11 ADD DUP8 DUP4 PUSH2 0xD65 JUMP JUMPDEST POP POP DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x6BAEAD299A74EC4EBB558B9C9507046309C90E561107F4776CEF02327B526549 DUP6 PUSH1 0x40 MLOAD PUSH2 0x57E SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206E6F206170707320746F20766F7465 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x103337B9 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x407 JUMP JUMPDEST PUSH1 0xF DUP2 MLOAD GT ISZERO PUSH2 0x659 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206D75737420766F746520666F72206C PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x657373207468616E2031352061707073 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x407 JUMP JUMPDEST DUP3 PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x7EA JUMPI DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x607BFB24 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x687 JUMPI PUSH2 0x687 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6AD SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6EE SWAP2 SWAP1 PUSH2 0x14DE JUMP JUMPDEST PUSH2 0x739 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x4175746F566F74696E674C6F6769633A20696E76616C69642061707 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x407 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7D7 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x756 JUMPI PUSH2 0x756 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x770 JUMPI PUSH2 0x770 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x7C5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206475706C6963617465206170700000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x407 JUMP JUMPDEST DUP1 PUSH2 0x7CF DUP2 PUSH2 0x15C1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x73C JUMP JUMPDEST POP DUP1 PUSH2 0x7E2 DUP2 PUSH2 0x15C1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x65D JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP4 MLOAD PUSH2 0x816 SWAP3 DUP6 ADD SWAP1 PUSH2 0x1163 JUMP JUMPDEST POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x3E3998EC06C031C887B2C4825699D96390034BAFA666CC53BE14A1B832A0654E DUP4 PUSH1 0x40 MLOAD PUSH2 0x850 SWAP2 SWAP1 PUSH2 0x15DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x880 SWAP1 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 DUP1 DUP8 SWAP1 POP PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA45F45AA DUP11 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD06EFEDA DUP13 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DE SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x91F SWAP2 SWAP1 PUSH2 0x14F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x93C SWAP3 SWAP2 SWAP1 PUSH2 0x1512 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x958 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x97C SWAP2 SWAP1 PUSH2 0x152B JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 SWAP4 POP DUP1 PUSH2 0x9AB JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE SWAP5 POP SWAP3 POP PUSH2 0xC6D SWAP1 POP JUMP JUMPDEST DUP7 MLOAD PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x9C7 JUMPI PUSH2 0x9C7 PUSH2 0x1313 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x9F0 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xAEA JUMPI DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD68B4C36 DUP13 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xA20 JUMPI PUSH2 0xA20 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP15 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA4F SWAP3 SWAP2 SWAP1 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA6C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA90 SWAP2 SWAP1 PUSH2 0x14DE JUMP JUMPDEST ISZERO PUSH2 0xADA JUMPI DUP11 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xAA7 JUMPI PUSH2 0xAA7 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP4 DUP1 PUSH2 0xABB SWAP1 PUSH2 0x15C1 JUMP JUMPDEST SWAP5 POP DUP2 MLOAD DUP2 LT PUSH2 0xACD JUMPI PUSH2 0xACD PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP JUMPDEST PUSH2 0xAE3 DUP2 PUSH2 0x15C1 JUMP JUMPDEST SWAP1 POP PUSH2 0x9F7 JUMP JUMPDEST POP DUP1 PUSH1 0x0 SUB PUSH2 0xB19 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE SWAP8 POP SWAP6 POP PUSH2 0xC6D SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xB31 JUMPI PUSH2 0xB31 PUSH2 0x1313 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xB5A JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP9 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xB75 JUMPI PUSH2 0xB75 PUSH2 0x1313 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xB9E JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP8 POP PUSH1 0x0 PUSH2 0xBAD DUP3 DUP10 PUSH2 0x1634 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xBBB DUP4 DUP11 PUSH2 0x1648 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC63 JUMPI DUP5 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xBDA JUMPI PUSH2 0xBDA PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP13 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xBF4 JUMPI PUSH2 0xBF4 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP12 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC13 JUMPI PUSH2 0xC13 PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP2 DUP2 LT ISZERO PUSH2 0xC53 JUMPI PUSH1 0x1 DUP12 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xC3B JUMPI PUSH2 0xC3B PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH2 0xC4F SWAP2 SWAP1 PUSH2 0x165C JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST PUSH2 0xC5C DUP2 PUSH2 0x15C1 JUMP JUMPDEST SWAP1 POP PUSH2 0xBC0 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xCD6 JUMPI PUSH1 0x0 PUSH2 0xC92 DUP5 PUSH2 0xDB9 JUMP JUMPDEST PUSH2 0xC9C SWAP1 DUP6 PUSH2 0x166F JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xCC6 JUMPI DUP1 SWAP2 POP PUSH2 0xCD4 JUMP JUMPDEST PUSH2 0xCD1 DUP2 PUSH1 0x1 PUSH2 0x165C JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xCE4 DUP8 DUP8 DUP6 DUP6 PUSH2 0xEA1 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xD1F JUMPI PUSH2 0xD09 DUP8 PUSH2 0xCFB PUSH1 0x1 DUP5 PUSH2 0x166F JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xD22 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0xD61 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x407 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xD73 DUP6 DUP6 DUP6 PUSH2 0xF03 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0xDB0 JUMPI PUSH2 0xD9A DUP4 PUSH2 0xCFB PUSH1 0x1 DUP5 PUSH2 0x166F JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x22B JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDCB JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDD8 DUP5 PUSH2 0x107D JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDF1 JUMPI PUSH2 0xDF1 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE09 JUMPI PUSH2 0xE09 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE21 JUMPI PUSH2 0xE21 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE39 JUMPI PUSH2 0xE39 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE51 JUMPI PUSH2 0xE51 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE69 JUMPI PUSH2 0xE69 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE81 JUMPI PUSH2 0xE81 PUSH2 0x161E JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x22B DUP2 DUP3 DUP6 DUP2 PUSH2 0xE9B JUMPI PUSH2 0xE9B PUSH2 0x161E JUMP JUMPDEST DIV PUSH2 0x1111 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xEFB JUMPI PUSH1 0x0 PUSH2 0xEB8 DUP5 DUP5 PUSH2 0x1127 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xEE7 JUMPI DUP1 SWAP3 POP PUSH2 0xEF5 JUMP JUMPDEST PUSH2 0xEF2 DUP2 PUSH1 0x1 PUSH2 0x165C JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xEA4 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1022 JUMPI PUSH1 0x0 PUSH2 0xF21 DUP8 PUSH2 0xCFB PUSH1 0x1 DUP6 PUSH2 0x166F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xF75 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xFC1 JUMPI DUP5 PUSH2 0xF98 DUP9 PUSH2 0xCFB PUSH1 0x1 DUP7 PUSH2 0x166F JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1012 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0xD78 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0xD78 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1092 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x10A4 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x10B6 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x10C8 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x10DA JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x10EC JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x10FE JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DF JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1120 JUMPI DUP2 PUSH2 0x22B JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1136 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1634 JUMP JUMPDEST PUSH2 0x22B SWAP1 DUP5 DUP5 AND PUSH2 0x165C JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1160 SWAP2 SWAP1 PUSH2 0x11A6 JUMP JUMPDEST POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x119E JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x119E JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1183 JUMP JUMPDEST POP PUSH2 0xD61 SWAP3 SWAP2 POP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xD61 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x11A7 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x11FA PUSH1 0x20 DUP5 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1233 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1217 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x22B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1203 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x127C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH2 0x128C PUSH1 0x20 DUP6 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP2 POP PUSH2 0x129A PUSH1 0x40 DUP6 ADD PUSH2 0x1251 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x12B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x11FA PUSH1 0x20 DUP5 ADD PUSH2 0x1251 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x12DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH2 0x12EC PUSH1 0x20 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP3 POP PUSH2 0x12FA PUSH1 0x40 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP2 POP PUSH2 0x1308 PUSH1 0x60 DUP7 ADD PUSH2 0x1251 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x133A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 GT ISZERO PUSH2 0x1356 JUMPI PUSH2 0x1356 PUSH2 0x1313 JUMP JUMPDEST DUP3 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x137B JUMPI PUSH2 0x137B PUSH2 0x1313 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP4 DUP5 MSTORE DUP6 DUP2 ADD DUP4 ADD SWAP4 DUP4 DUP2 ADD SWAP3 POP DUP8 DUP6 GT ISZERO PUSH2 0x1399 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP2 POP JUMPDEST DUP5 DUP3 LT ISZERO PUSH2 0xD22 JUMPI DUP2 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x139F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x13CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH2 0x13DE PUSH1 0x20 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP3 POP PUSH2 0x13EC PUSH1 0x40 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1407 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1413 DUP8 DUP3 DUP9 ADD PUSH2 0x1329 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x143E DUP6 PUSH2 0x11BB JUMP JUMPDEST SWAP4 POP PUSH2 0x144C PUSH1 0x20 DUP7 ADD PUSH2 0x11BB JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1407 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1481 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1203 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP6 MLOAD DUP1 DUP4 MSTORE DUP7 DUP3 ADD SWAP3 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x14B8 JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x149C JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x11D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22B DUP3 PUSH2 0x14CE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x150B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x153E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD SWAP2 POP PUSH2 0x11FA PUSH1 0x20 DUP5 ADD PUSH2 0x14CE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 DUP2 AND DUP3 DUP3 AND SUB SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1584 JUMPI PUSH2 0x1584 PUSH2 0x154E JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1584 JUMPI PUSH2 0x1584 PUSH2 0x154E JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x15D3 JUMPI PUSH2 0x15D3 PUSH2 0x154E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1612 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x15F6 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1643 JUMPI PUSH2 0x1643 PUSH2 0x161E JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1657 JUMPI PUSH2 0x1657 PUSH2 0x161E JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1DF JUMPI PUSH2 0x1DF PUSH2 0x154E JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1DF JUMPI PUSH2 0x1DF PUSH2 0x154E JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x28 PUSH5 0xCC638B2A16 REVERT 0xB3 0xDA SWAP13 PUSH12 0xB34F1A1F836461E1C7A1C71C CODECOPY GASLIMIT SUB 0xB2 0xBE TIMESTAMP 0xAD PUSH20 0x64736F6C63430008140033000000000000000000 ","sourceMap":"703:9457:85:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6376:213;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5868:259;;;;;;:::i;:::-;;:::i;:::-;;;1915:14:150;;1908:22;1890:41;;1878:2;1863:18;5868:259:85;1742:195:150;6886:234:85;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2408:32:150;;;2390:51;;2378:2;2363:18;6886:234:85;2236:211:150;2212:1545:85;;;;;;;;;;-1:-1:-1;2212:1545:85;;;;;:::i;:::-;;:::i;:::-;;4059:955;;;;;;;;;;-1:-1:-1;4059:955:85;;;;;:::i;:::-;;:::i;5334:206::-;;;;;;:::i;:::-;;:::i;8282:1876::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;6376:213::-;-1:-1:-1;;;;;6551:33:85;;;;;;:24;;;:33;;;;;;;;;6544:40;;;;;;;;;;;;;;;;;6520:16;;6544:40;;;6551:33;6544:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6376:213;;;;;:::o;5868:259::-;-1:-1:-1;;;;;6059:29:85;;6040:4;6059:29;;;;;;;;;;:58;;6107:9;6059:47;:58::i;:::-;-1:-1:-1;;;;;6059:63:85;6121:1;6059:63;6052:70;;5868:259;;;;;:::o;6886:234::-;7041:7;7063:52;:23;;;7105:9;7063:41;:52::i;:::-;7056:59;6886:234;-1:-1:-1;;;6886:234:85:o;2212:1545::-;-1:-1:-1;;;;;2425:29:85;;2404:18;2425:29;;;;;;;;;;:54;;2473:5;2425:47;:54::i;:::-;-1:-1:-1;;;;;2425:59:85;2483:1;2425:59;;-1:-1:-1;2507:14:85;;2610:32;2425:59;2736:446;;2764:68;;-1:-1:-1;;;2764:68:85;;-1:-1:-1;;;;;6163:32:150;;;2764:68:85;;;6145:51:150;2764:59:85;;;;;6118:18:150;;2764:68:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2843:12;2859:25;-1:-1:-1;;;;;2859:51:85;;2920:7;2937:25;-1:-1:-1;;;;;2937:46:85;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2859:134;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2840:153;;;3009:7;3001:64;;;;-1:-1:-1;;;3001:64:85;;7521:2:150;3001:64:85;;;7503:21:150;7560:2;7540:18;;;7533:30;7599:34;7579:18;;;7572:62;-1:-1:-1;;;7650:18:150;;;7643:42;7702:19;;3001:64:85;;;;;;;;;-1:-1:-1;;;;;3081:33:85;;3124:1;3081:33;;;:24;;;:33;;;;;:40;3073:102;;;;-1:-1:-1;;;3073:102:85;;7934:2:150;3073:102:85;;;7916:21:150;7973:2;7953:18;;;7946:30;8012:34;7992:18;;;7985:62;-1:-1:-1;;;8063:18:150;;;8056:43;8116:19;;3073:102:85;7732:409:150;3073:102:85;2756:426;2736:446;3279:13;3275:74;;;-1:-1:-1;;;;;3309:33:85;;;;;;:24;;;:33;;;;;3302:40;;;:::i;:::-;3402:100;3437:5;3444:9;:57;;3480:21;3499:1;3480:18;:21::i;:::-;3444:57;;;3456:21;3475:1;3456:18;:21::i;:::-;-1:-1:-1;;;;;3402:29:85;;:20;:29;;;;;;;;;;;:100;:34;:100::i;:::-;-1:-1:-1;3509:20:85;;-1:-1:-1;3532:48:85;:23;;;3574:5;3532:41;:48::i;:::-;3509:71;;3586:16;3605:9;:47;;3636:16;3651:1;3636:12;:16;:::i;:::-;3605:47;;;3617:16;:12;3632:1;3617:16;:::i;:::-;3586:66;-1:-1:-1;3658:45:85;:23;;;3687:5;3586:66;3658:28;:45::i;:::-;;;3733:7;-1:-1:-1;;;;;3715:37:85;;3742:9;3715:37;;;;1915:14:150;1908:22;1890:41;;1878:2;1863:18;;1742:195;3715:37:85;;;;;;;;2398:1359;;;;;2212:1545;;;;:::o;4059:955::-;4275:1;4261:4;:11;:15;4253:64;;;;-1:-1:-1;;;4253:64:85;;9049:2:150;4253:64:85;;;9031:21:150;9088:2;9068:18;;;9061:30;9127:34;9107:18;;;9100:62;-1:-1:-1;;;9178:18:150;;;9171:34;9222:19;;4253:64:85;8847:400:150;4253:64:85;4346:2;4331:4;:11;:17;;4323:78;;;;-1:-1:-1;;;4323:78:85;;9454:2:150;4323:78:85;;;9436:21:150;9493:2;9473:18;;;9466:30;9532:34;9512:18;;;9505:62;-1:-1:-1;;;9583:18:150;;;9576:46;9639:19;;4323:78:85;9252:412:150;4323:78:85;4453:17;4408:30;4583:333;4603:4;:11;4599:1;:15;4583:333;;;4670:18;-1:-1:-1;;;;;4670:28:85;;4699:4;4704:1;4699:7;;;;;;;;:::i;:::-;;;;;;;4670:37;;;;;;;;;;;;;9947:25:150;;9935:2;9920:18;;9801:177;4670:37:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4662:78;;;;-1:-1:-1;;;4662:78:85;;10185:2:150;4662:78:85;;;10167:21:150;10224:2;10204:18;;;10197:30;-1:-1:-1;;;10243:18:150;;;10236:58;10311:18;;4662:78:85;9983:352:150;4662:78:85;4807:9;4802:108;4822:1;4818;:5;4802:108;;;4859:4;4864:1;4859:7;;;;;;;;:::i;:::-;;;;;;;4848:4;4853:1;4848:7;;;;;;;;:::i;:::-;;;;;;;:18;4840:61;;;;-1:-1:-1;;;4840:61:85;;10542:2:150;4840:61:85;;;10524:21:150;10581:2;10561:18;;;10554:30;10620:32;10600:18;;;10593:60;10670:18;;4840:61:85;10340:354:150;4840:61:85;4825:3;;;;:::i;:::-;;;;4802:108;;;-1:-1:-1;4616:3:85;;;;:::i;:::-;;;;4583:333;;;-1:-1:-1;;;;;;4922:33:85;;;;;;:24;;;:33;;;;;;;;:40;;;;;;;;:::i;:::-;;4995:7;-1:-1:-1;;;;;4974:35:85;;5004:4;4974:35;;;;;;:::i;:::-;;;;;;;;4247:767;4059:955;;;;:::o;5334:206::-;-1:-1:-1;;;;;5492:29:85;;5473:4;5492:29;;;;;;;;;;:38;;:36;:38::i;:::-;-1:-1:-1;;;;;5492:43:85;5534:1;5492:43;5485:50;;5334:206;;;;:::o;8282:1876::-;8462:28;8492;8522:19;8549:52;8631:32;8549:115;;8672:27;8701:12;8717:25;-1:-1:-1;;;;;8717:51:85;;8776:5;8789:25;-1:-1:-1;;;;;8789:39:85;;8829:7;8789:48;;;;;;;;;;;;;9947:25:150;;9935:2;9920:18;;9801:177;8789:48:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8717:126;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8671:172;;;;8864:19;8850:33;;8962:7;8957:85;;-1:-1:-1;;8987:16:85;;;9001:1;8987:16;;;;;;9005;;;;;;;;;8987;-1:-1:-1;8987:16:85;-1:-1:-1;8979:56:85;;-1:-1:-1;8979:56:85;8957:85;9101:20;;9087:11;9101:20;-1:-1:-1;;;;;9157:18:85;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9157:18:85;;9127:48;;9181:13;9206:9;9201:177;9221:3;9217:1;:7;9201:177;;;9243:25;-1:-1:-1;;;;;9243:43:85;;9287:13;9301:1;9287:16;;;;;;;;:::i;:::-;;;;;;;9305:7;9243:70;;;;;;;;;;;;;;;11832:25:150;;;11888:2;11873:18;;11866:34;11820:2;11805:18;;11658:248;9243:70:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9239:133;;;9347:13;9361:1;9347:16;;;;;;;;:::i;:::-;;;;;;;9325:10;9336:7;;;;;:::i;:::-;;;9325:19;;;;;;;;:::i;:::-;;;;;;:38;;;;;9239:133;9226:3;;;:::i;:::-;;;9201:177;;;;9442:5;9451:1;9442:10;9438:87;;-1:-1:-1;;9470:16:85;;;9484:1;9470:16;;;;;;9488;;;;;;;;;9470;-1:-1:-1;9470:16:85;-1:-1:-1;9462:56:85;;-1:-1:-1;;;;9462:56:85;9438:87;9602:5;-1:-1:-1;;;;;9588:20:85;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9588:20:85;;9574:34;;9642:5;-1:-1:-1;;;;;9628:20:85;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9628:20:85;-1:-1:-1;9614:34:85;-1:-1:-1;9654:18:85;9675:19;9689:5;9675:11;:19;:::i;:::-;9654:40;-1:-1:-1;9700:22:85;9725:19;9739:5;9725:11;:19;:::i;:::-;9700:44;;9756:9;9751:350;9771:5;9767:1;:9;9751:350;;;9808:10;9819:1;9808:13;;;;;;;;:::i;:::-;;;;;;;9791:11;9803:1;9791:14;;;;;;;;:::i;:::-;;;;;;:30;;;;;9846:10;9829:11;9841:1;9829:14;;;;;;;;:::i;:::-;;;;;;:27;;;;;10041:14;10037:1;:18;10033:62;;;10085:1;10067:11;10079:1;10067:14;;;;;;;;:::i;:::-;;;;;;:19;;;;;;;:::i;:::-;;;-1:-1:-1;10033:62:85;9778:3;;;:::i;:::-;;;9751:350;;;;10107:46;;;;;;;;8282:1876;;;;;;;;;:::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;12730:36:150;12782:18;;;12775:34;;;12703:18;;4297:42:37;12548:267:150;4245:105:37;-1:-1:-1;4374:5:37;4169:218::o;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;10167:206::-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;10318:41::-;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;;10314:1;10296:70;10167:206;-1:-1:-1;;;10167:206:39:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;11513:870::-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:173:150;82:20;;-1:-1:-1;;;;;131:31:150;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:291::-;297:6;305;358:2;346:9;337:7;333:23;329:32;326:52;;;374:1;371;364:12;326:52;410:9;397:23;387:33;;439:38;473:2;462:9;458:18;439:38;:::i;:::-;429:48;;192:291;;;;;:::o;488:435::-;541:3;579:5;573:12;606:6;601:3;594:19;632:4;661:2;656:3;652:12;645:19;;698:2;691:5;687:14;719:1;729:169;743:6;740:1;737:13;729:169;;;804:13;;792:26;;838:12;;;;873:15;;;;765:1;758:9;729:169;;;-1:-1:-1;914:3:150;;488:435;-1:-1:-1;;;;;488:435:150:o;928:269::-;1115:2;1104:9;1097:21;1078:4;1135:56;1187:2;1176:9;1172:18;1164:6;1135:56;:::i;1202:167::-;1269:20;;1329:14;1318:26;;1308:37;;1298:65;;1359:1;1356;1349:12;1374:363;1487:6;1495;1503;1556:2;1544:9;1535:7;1531:23;1527:32;1524:52;;;1572:1;1569;1562:12;1524:52;1608:9;1595:23;1585:33;;1637:38;1671:2;1660:9;1656:18;1637:38;:::i;:::-;1627:48;;1694:37;1727:2;1716:9;1712:18;1694:37;:::i;:::-;1684:47;;1374:363;;;;;:::o;1942:289::-;2046:6;2054;2107:2;2095:9;2086:7;2082:23;2078:32;2075:52;;;2123:1;2120;2113:12;2075:52;2159:9;2146:23;2136:33;;2188:37;2221:2;2210:9;2206:18;2188:37;:::i;2452:438::-;2574:6;2582;2590;2598;2651:3;2639:9;2630:7;2626:23;2622:33;2619:53;;;2668:1;2665;2658:12;2619:53;2704:9;2691:23;2681:33;;2733:38;2767:2;2756:9;2752:18;2733:38;:::i;:::-;2723:48;;2790:38;2824:2;2813:9;2809:18;2790:38;:::i;:::-;2780:48;;2847:37;2880:2;2869:9;2865:18;2847:37;:::i;:::-;2837:47;;2452:438;;;;;;;:::o;2895:127::-;2956:10;2951:3;2947:20;2944:1;2937:31;2987:4;2984:1;2977:15;3011:4;3008:1;3001:15;3027:902;3081:5;3134:3;3127:4;3119:6;3115:17;3111:27;3101:55;;3152:1;3149;3142:12;3101:55;3175:20;;3214:4;-1:-1:-1;;;;;3267:10:150;;;3264:36;;;3280:18;;:::i;:::-;3326:2;3323:1;3319:10;3358:2;3352:9;3421:2;3417:7;3412:2;3408;3404:11;3400:25;3392:6;3388:38;3476:6;3464:10;3461:22;3456:2;3444:10;3441:18;3438:46;3435:72;;;3487:18;;:::i;:::-;3523:2;3516:22;3573:18;;;3649:15;;;3645:24;;;3607:15;;;;-1:-1:-1;3681:15:150;;;3678:35;;;3709:1;3706;3699:12;3678:35;3745:2;3737:6;3733:15;3722:26;;3757:142;3773:6;3768:3;3765:15;3757:142;;;3839:17;;3827:30;;3877:12;;;;3790;;;;3757:142;;3934:602;4082:6;4090;4098;4106;4159:3;4147:9;4138:7;4134:23;4130:33;4127:53;;;4176:1;4173;4166:12;4127:53;4212:9;4199:23;4189:33;;4241:38;4275:2;4264:9;4260:18;4241:38;:::i;:::-;4231:48;;4298:38;4332:2;4321:9;4317:18;4298:38;:::i;:::-;4288:48;-1:-1:-1;4387:2:150;4372:18;;4359:32;-1:-1:-1;;;;;4403:30:150;;4400:50;;;4446:1;4443;4436:12;4400:50;4469:61;4522:7;4513:6;4502:9;4498:22;4469:61;:::i;:::-;4459:71;;;3934:602;;;;;;;:::o;4541:565::-;4652:6;4660;4668;4676;4729:3;4717:9;4708:7;4704:23;4700:33;4697:53;;;4746:1;4743;4736:12;4697:53;4769:29;4788:9;4769:29;:::i;:::-;4759:39;;4817:38;4851:2;4840:9;4836:18;4817:38;:::i;:::-;4807:48;-1:-1:-1;4902:2:150;4887:18;;4874:32;;-1:-1:-1;4957:2:150;4942:18;;4929:32;-1:-1:-1;;;;;4973:30:150;;4970:50;;;5016:1;5013;5006:12;5111:883;5404:2;5393:9;5386:21;5367:4;5430:56;5482:2;5471:9;5467:18;5459:6;5430:56;:::i;:::-;5543:22;;;5505:2;5523:18;;;5516:50;;;;5615:13;;5637:22;;;5713:15;;;;5675;;;5746:1;5756:169;5770:6;5767:1;5764:13;5756:169;;;5831:13;;5819:26;;5900:15;;;;5865:12;;;;5792:1;5785:9;5756:169;;;5760:3;;5942;5934:11;;;;;5981:6;5976:2;5965:9;5961:18;5954:34;5111:883;;;;;;:::o;6207:164::-;6283:13;;6332;;6325:21;6315:32;;6305:60;;6361:1;6358;6351:12;6376:202;6443:6;6496:2;6484:9;6475:7;6471:23;6467:32;6464:52;;;6512:1;6509;6502:12;6464:52;6535:37;6562:9;6535:37;:::i;6583:184::-;6653:6;6706:2;6694:9;6685:7;6681:23;6677:32;6674:52;;;6722:1;6719;6712:12;6674:52;-1:-1:-1;6745:16:150;;6583:184;-1:-1:-1;6583:184:150:o;6772:274::-;-1:-1:-1;;;;;6964:32:150;;;;6946:51;;7028:2;7013:18;;7006:34;6934:2;6919:18;;6772:274::o;7051:263::-;7127:6;7135;7188:2;7176:9;7167:7;7163:23;7159:32;7156:52;;;7204:1;7201;7194:12;7156:52;7233:9;7227:16;7217:26;;7262:46;7304:2;7293:9;7289:18;7262:46;:::i;8146:127::-;8207:10;8202:3;8198:20;8195:1;8188:31;8238:4;8235:1;8228:15;8262:4;8259:1;8252:15;8278:185;-1:-1:-1;;;;;8399:10:150;;;8387;;;8383:27;;8422:12;;;8419:38;;;8437:18;;:::i;:::-;8419:38;8278:185;;;;:::o;8468:182::-;-1:-1:-1;;;;;8575:10:150;;;8587;;;8571:27;;8610:11;;;8607:37;;;8624:18;;:::i;9669:127::-;9730:10;9725:3;9721:20;9718:1;9711:31;9761:4;9758:1;9751:15;9785:4;9782:1;9775:15;10699:135;10738:3;10759:17;;;10756:43;;10779:18;;:::i;:::-;-1:-1:-1;10826:1:150;10815:13;;10699:135::o;10839:632::-;11010:2;11062:21;;;11132:13;;11035:18;;;11154:22;;;10981:4;;11010:2;11233:15;;;;11207:2;11192:18;;;10981:4;11276:169;11290:6;11287:1;11284:13;11276:169;;;11351:13;;11339:26;;11420:15;;;;11385:12;;;;11312:1;11305:9;11276:169;;;-1:-1:-1;11462:3:150;;10839:632;-1:-1:-1;;;;;;10839:632:150:o;11911:127::-;11972:10;11967:3;11963:20;11960:1;11953:31;12003:4;12000:1;11993:15;12027:4;12024:1;12017:15;12043:120;12083:1;12109;12099:35;;12114:18;;:::i;:::-;-1:-1:-1;12148:9:150;;12043:120::o;12168:112::-;12200:1;12226;12216:35;;12231:18;;:::i;:::-;-1:-1:-1;12265:9:150;;12168:112::o;12285:125::-;12350:9;;;12371:10;;;12368:36;;;12384:18;;:::i;12415:128::-;12482:9;;;12503:11;;;12500:37;;;12517:18;;:::i"},"methodIdentifiers":{"getTotalAutoVotingUsers(XAllocationVotingDataTypesV8.AutoVotingStorage storage,uint48)":"a68c4888","getTotalAutoVotingUsersAtTimepoint(XAllocationVotingDataTypesV8.AutoVotingStorage storage,uint48)":"2c1969f8","getUserVotingPreferences(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address)":"082ccd9e","isAutoVotingEnabled(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address)":"e37dcf28","isAutoVotingEnabledAtTimepoint(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address,uint48)":"25d8346e","prepareAutoVoteArrays(address,address,uint256,bytes32[])":"ea66e04a","setUserVotingPreferences(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address,address,bytes32[])":"8770fb4d","toggleAutoVoting(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address,address,uint48)":"3e17cd58"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"xAllocationVotingGovernorAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"preferredApps\",\"type\":\"bytes32[]\"}],\"name\":\"prepareAutoVoteArrays\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"finalAppIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This library is intended to be used by the XAllocationVoting contract\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"AutoVotingToggled(address,bool)\":{\"params\":{\"account\":\"The address of the user\",\"enabled\":\"Whether autovoting is enabled or disabled\"}},\"PreferredAppsUpdated(address,bytes32[])\":{\"params\":{\"account\":\"The address of the user\",\"apps\":\"The list of app IDs the user prefers to vote for\"}}},\"kind\":\"dev\",\"methods\":{\"getTotalAutoVotingUsers(XAllocationVotingDataTypesV8.AutoVotingStorage storage,uint48)\":{\"details\":\"Gets the total number of users who enabled autovoting at the current timepoint\",\"params\":{\"$\":\"The storage struct for AutoVoting preferences\",\"clock\":\"The current timepoint\"},\"returns\":{\"_0\":\"The total number of users who enabled autovoting at the current timepoint\"}},\"getTotalAutoVotingUsersAtTimepoint(XAllocationVotingDataTypesV8.AutoVotingStorage storage,uint48)\":{\"details\":\"Gets the total number of users who enabled autovoting at a specific timepoint\",\"params\":{\"$\":\"The storage struct for AutoVoting preferences\",\"timepoint\":\"The timepoint to check\"},\"returns\":{\"_0\":\"The total number of users who enabled autovoting at the specific timepoint\"}},\"getUserVotingPreferences(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address)\":{\"details\":\"Gets the voting preferences for an account\",\"params\":{\"$\":\"The storage struct for AutoVoting preferences\",\"account\":\"The address to get preferences for\"},\"returns\":{\"_0\":\"The list of app IDs the account prefers to vote for\"}},\"isAutoVotingEnabled(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address)\":{\"details\":\"Checks if autovoting is enabled for an account at the latest timepoint\",\"params\":{\"$\":\"The storage struct for AutoVoting preferences\",\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the latest timepoint\"}},\"isAutoVotingEnabledAtTimepoint(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address,uint48)\":{\"details\":\"Checks if autovoting is enabled for an account at a specific timepoint\",\"params\":{\"$\":\"The storage struct for AutoVoting preferences\",\"account\":\"The address to check\",\"timepoint\":\"The timepoint to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific timepoint\"}},\"prepareAutoVoteArrays(address,address,uint256,bytes32[])\":{\"details\":\"Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights\",\"params\":{\"preferredApps\":\"Array of preferred app IDs\",\"roundId\":\"The round ID to vote in\",\"voter\":\"The address of the voter\",\"xAllocationVotingGovernorAddress\":\"The address of the XAllocationVotingGovernor contract\"},\"returns\":{\"finalAppIds\":\"Array of eligible app IDs\",\"voteWeights\":\"Array of equal vote weights\",\"votingPower\":\"The voting power of the voter\"}},\"setUserVotingPreferences(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address,address,bytes32[])\":{\"details\":\"Sets the voting preferences for an account\",\"params\":{\"$\":\"The storage struct for AutoVoting preferences\",\"account\":\"The address to set preferences for\",\"apps\":\"The list of app IDs to vote for\",\"x2EarnAppsAddress\":\"The address of the X2EarnApps contract\"}},\"toggleAutoVoting(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address,address,uint48)\":{\"details\":\"Toggles autovoting for an account\",\"params\":{\"$\":\"The storage struct for AutoVoting preferences\",\"account\":\"The address to toggle autovoting for\",\"clock\":\"The current timepoint\",\"xAllocationVotingGovernorAddress\":\"The address of the XAllocationVotingGovernor contract\"}}},\"title\":\"AutoVotingLogic\",\"version\":1},\"userdoc\":{\"events\":{\"AutoVotingToggled(address,bool)\":{\"notice\":\"Emitted when a user toggles their autovoting status\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"notice\":\"Emitted when a user updates their preferred apps for autovoting\"}},\"kind\":\"user\",\"methods\":{\"prepareAutoVoteArrays(address,address,uint256,bytes32[])\":{\"notice\":\"Returns empty arrays if voter has insufficient voting powerReturns empty arrays if no eligible apps found\"},\"toggleAutoVoting(XAllocationVotingDataTypesV8.AutoVotingStorage storage,address,address,uint48)\":{\"notice\":\"User Enabled: false \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 true Total Count:  100   \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 101 User Prefs:   [existing preferences kept] User Enabled: true \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 false Total Count:  101   \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 100 User Prefs:   [app1, app2] \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 [] (deleted)\"}},\"notice\":\"Library that handles user preferences for automatic voting in allocation rounds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol\":\"AutoVotingLogicV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol\":{\"keccak256\":\"0x5584ab427e7a48c3588495362e29f01b598d64dcfe17e9936a741cd58896a6b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51577a6c571c1b82bfd460ed39a29af65b1d01dfa3814f7abac7cd1d2e1de8a6\",\"dweb:/ipfs/QmTQriPXHaq16XoTiaBTnN4Lpjhrn2xpXNV2MMvZcbJRTQ\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol\":{\"keccak256\":\"0xa1ffa2be4062d1ef34eb03c9211f39284052acd5e7ca29e8c63f1fe557e54502\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c74d9c314e9090fb9f9822006fef2cb3bf7f995afc7507719b7e2f723113a7e\",\"dweb:/ipfs/QmczTiK9DJnsW15oo9Xc5FETPUYnZZFhHXCKT3yZYSRGuX\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol":{"XAllocationVotingDataTypesV8":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220494e75e984117c6c1818816dae286b4952f61c7c0627651b2d9c41429199e3e564736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x49 0x4E PUSH22 0xE984117C6C1818816DAE286B4952F61C7C0627651B2D SWAP13 COINBASE TIMESTAMP SWAP2 SWAP10 0xE3 0xE5 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"353:572:86:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;353:572:86;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220494e75e984117c6c1818816dae286b4952f61c7c0627651b2d9c41429199e3e564736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x49 0x4E PUSH22 0xE984117C6C1818816DAE286B4952F61C7C0627651B2D SWAP13 COINBASE TIMESTAMP SWAP2 SWAP10 0xE3 0xE5 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"353:572:86:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Contains storage structures and data types for allocation voting functionality\",\"kind\":\"dev\",\"methods\":{},\"title\":\"XAllocationVotingDataTypes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library defining data types used in the XAllocationVoting contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol\":\"XAllocationVotingDataTypesV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol\":{\"keccak256\":\"0xa1ffa2be4062d1ef34eb03c9211f39284052acd5e7ca29e8c63f1fe557e54502\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c74d9c314e9090fb9f9822006fef2cb3bf7f995afc7507719b7e2f723113a7e\",\"dweb:/ipfs/QmczTiK9DJnsW15oo9Xc5FETPUYnZZFhHXCKT3yZYSRGuX\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol":{"AutoVotingLogicUpgradeableV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This module is intended to be inherited by the XAllocationVoting contract\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Returns the RelayerRewardsPool contract.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Get the X2EarnApps contract interface\",\"returns\":{\"_0\":\"The X2EarnApps contract interface\"}}},\"stateVariables\":{\"AutoVotingStorageLocation\":{\"custom:storage-location\":\"erc7201:b3tr.storage.XAllocationVotingGovernorV8.AutoVoting\",\"details\":\"This constant defines the storage slot for AutoVotingStorage struct (defined in XAllocationVotingDataTypes)Calculated as: keccak256(abi.encode(uint256(keccak256(\\\"b3tr.storage.XAllocationVotingGovernorV8.AutoVoting\\\")) - 1)) & ~bytes32(uint256(0xff))\"}},\"title\":\"AutoVotingLogicUpgradeable\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"notice\":\"Handles user preferences for automatic voting in allocation rounds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol\":\"AutoVotingLogicUpgradeableV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/libraries/AutoVotingLogicV8.sol\":{\"keccak256\":\"0x5584ab427e7a48c3588495362e29f01b598d64dcfe17e9936a741cd58896a6b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51577a6c571c1b82bfd460ed39a29af65b1d01dfa3814f7abac7cd1d2e1de8a6\",\"dweb:/ipfs/QmTQriPXHaq16XoTiaBTnN4Lpjhrn2xpXNV2MMvZcbJRTQ\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/libraries/XAllocationVotingDataTypesV8.sol\":{\"keccak256\":\"0xa1ffa2be4062d1ef34eb03c9211f39284052acd5e7ca29e8c63f1fe557e54502\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c74d9c314e9090fb9f9822006fef2cb3bf7f995afc7507719b7e2f723113a7e\",\"dweb:/ipfs/QmczTiK9DJnsW15oo9Xc5FETPUYnZZFhHXCKT3yZYSRGuX\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/AutoVotingLogicUpgradeableV8.sol\":{\"keccak256\":\"0xe345266d5289d8e6f87c067d4873a8e3f6939192fed59a98464508e9addd6e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e2e1b46d8471c2d8786e8dc7ca02b422e79648b7d84182571d3c71262d501d5\",\"dweb:/ipfs/QmRXnGCodY65qh15PfDzDr2Gn2XB5mREamzaLJJcj6g5ae\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol":{"ExternalContractsUpgradeableV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"B3TRGovernorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"EmissionsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"RelayerRewardsPoolSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VoterRewardsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"X2EarnAppsSet","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"B3TRGovernorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"EmissionsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"RelayerRewardsPoolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VoterRewardsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"X2EarnAppsSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} that handles the storage of external contracts for the XAllocationVotingGovernorV8.\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Get the B3TRGovernor contract\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"The emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Get the RelayerRewardsPool contract\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Get the voter rewards contract\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"The X2EarnApps contract.\"}},\"title\":\"ExternalContractsUpgradeable\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol\":\"ExternalContractsUpgradeableV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/ExternalContractsUpgradeableV8.sol\":{\"keccak256\":\"0x548acbad387668c958b4c578c36681cf6dfaa12641123efe533966244c8fe84f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c03c24a566acf84b4393448d16b3bdea105b1e7915a22b3a05da9206befe2180\",\"dweb:/ipfs/QmdDH7rqQzTjMVE6p28fPx2jg38X6kRznkGtsqyTXv3x3j\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol":{"RoundEarningsSettingsUpgradeableV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"appSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"appSharesCap_","type":"uint256"}],"name":"setAppSharesCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"baseAllocationPercentage_","type":"uint256"}],"name":"setBaseAllocationPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","appSharesCap()":"bb7de6d4","b3trGovernor()":"7893d736","baseAllocationPercentage()":"8ab52d4b","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","setAppSharesCap(uint256)":"74038935","setBaseAllocationPercentage(uint256)":"f5fae136","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"appSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"appSharesCap_\",\"type\":\"uint256\"}],\"name\":\"setAppSharesCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseAllocationPercentage_\",\"type\":\"uint256\"}],\"name\":\"setBaseAllocationPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Returns the RelayerRewardsPool contract.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"setAppSharesCap(uint256)\":{\"details\":\"See {IXAllocationVotingGovernor-setBaseAllocationPercentage}.\"},\"setBaseAllocationPercentage(uint256)\":{\"details\":\"See {IXAllocationVotingGovernor-setBaseAllocationPercentage}.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"RoundEarningsSettingsUpgradeable\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"appSharesCap()\":{\"notice\":\"Get the app shares cap\"},\"baseAllocationPercentage()\":{\"notice\":\"Get the base allocation percentage\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getRoundAppSharesCap(uint256)\":{\"notice\":\"Returns the app shares cap for a given round\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"notice\":\"Returns the base allocation percentage for a given round\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"notice\":\"Extension of {XAllocationVotingGovernor} to handle the settings for the x-allocation earnings calculations: - baseAllocationPercentage: The base allocation percentage to be divided among the x-apps each round - appSharesCap: The maximum percentage of shares an x-app can reach in each round Since the base allocation percentage and app shares cap can be updated, we store the values for each round.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol\":\"RoundEarningsSettingsUpgradeableV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundEarningsSettingsUpgradeableV8.sol\":{\"keccak256\":\"0xb1877cdecaa2c3378ad6f2140aa7a602e368a522f52aff85e8dd0c227a1a03a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://247e531a25359b9faf86b4a13015779fa18027b7fd0438a56b10f0308836aa83\",\"dweb:/ipfs/QmYn3MkDN8Fcjw1omjvZZMRBKDdyi1vFz5dBDnFAyq9gwf\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol":{"RoundFinalizationUpgradeableV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isFinalized(uint256)":"33727c4d","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"If a round does not meet the quorum (RoundState.Failed) we need to know the last round that succeeded, so we can calculate the earnings for the x-2-earn-apps upon that round. By always pointing each round at the last succeeded one, if a round fails, it will be enough to look at what round the previous one points to.\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Store the last succeeded round for the given round\",\"params\":{\"roundId\":\"The round to finalize\"}},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isFinalized(uint256)\":{\"details\":\"Check if the round is finalized\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Get the last succeeded round for the given round\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Returns the RelayerRewardsPool contract.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"RoundFinalizationUpgradeable\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"notice\":\"Extension of {XAllocationVotingGovernor} that handles the finalization of rounds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol\":\"RoundFinalizationUpgradeableV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundFinalizationUpgradeableV8.sol\":{\"keccak256\":\"0xc2437c5ad75203ac97d4ed1914365b44ef5874708b494de12547419f1dd2b29a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a2495d6974b8f095c6892d28f29d9104474d3615dd25a60e35c862b5aec6b06\",\"dweb:/ipfs/QmWzGy2zDdvnrEpgqc4Z8eFDEBHS7uvi3duiNJp1ciJdpV\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol":{"RoundVotesCountingUpgradeableV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[],"name":"DuplicateAppVote","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSet","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"setVotingThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","setVotingThreshold(uint256)":"836761e0","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","votingThreshold()":"62827733","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateAppVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"setVotingThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} for counting votes for allocation rounds. In every round users can vote a fraction of their balance for the eligible apps in that round. ----- Version 5 ----- - Fixed duplicate app voting in same transaction in {_countVote}\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"DuplicateAppVote()\":[{\"details\":\"Error thrown when trying to vote for the same app multiple times in one transaction\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"See {IXAllocationVotingGovernor-COUNTING_MODE}.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Get the votes received by a specific application in a given round\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Get the quadratic funding votes received by a specific application in a given round\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Check if a user has voted in a given round\"},\"hasVotedOnce(address)\":{\"details\":\"Check if a user has voted at least once from the deployment of the contract\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Returns the RelayerRewardsPool contract.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"setVotingThreshold(uint256)\":{\"details\":\"Update the voting threshold. This operation can only be performed through a governance proposal. Emits a {VotingThresholdSet} event.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Get the total number of voters in a given round\"},\"totalVotes(uint256)\":{\"details\":\"Get the total votes cast in a given round\"},\"totalVotesQF(uint256)\":{\"details\":\"Get the total quadratic funding votes cast in a given round\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"votingThreshold()\":{\"details\":\"The minimum number of tokens needed to cast a vote.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"RoundVotesCountingUpgradeable\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"votingThreshold()\":{\"notice\":\"The voting threshold.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol\":\"RoundVotesCountingUpgradeableV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundVotesCountingUpgradeableV8.sol\":{\"keccak256\":\"0xd16021c022d6ec26f72c094f75de87b0b638de87b681b935d548dae8f9149014\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3b4e882cef867ff5ba454b3c5c56c6afa345c4473ea19dac1b4d173100368c\",\"dweb:/ipfs/QmRmi2CjjfpHPaEAfpWDPuBbWmeeegCQskgBk7BR8ECF8Y\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol":{"RoundsStorageUpgradeableV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppsOfRound","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRound","outputs":[{"components":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint48","name":"voteStart","type":"uint48"},{"internalType":"uint32","name":"voteDuration","type":"uint32"}],"internalType":"struct RoundsStorageUpgradeableV8.RoundCore","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getAppsOfRound(uint256)":"291605f7","getDepositVotingPower(address,uint256)":"a56b5765","getRound(uint256)":"8f1327c0","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppsOfRound\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRound\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"voteStart\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"voteDuration\",\"type\":\"uint32\"}],\"internalType\":\"struct RoundsStorageUpgradeableV8.RoundCore\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} for storing rounds data and managing the rounds lifecycle.\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Get the current round deadline block\"},\"currentRoundId()\":{\"details\":\"Get the current round id\"},\"currentRoundSnapshot()\":{\"details\":\"Get the current round start block\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Get the ids of the apps eligible for voting in a round\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getAppsOfRound(uint256)\":{\"details\":\"Get all the apps in the form of {App} eligible for voting in a round\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRound(uint256)\":{\"details\":\"Get the data of a round\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Returns the RelayerRewardsPool contract.\"},\"roundDeadline(uint256)\":{\"details\":\"Get the deadline block of a round\"},\"roundProposer(uint256)\":{\"details\":\"Get the proposer of a round\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Get the start block of a round\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"RoundsStorageUpgradeable\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppsOfRound(uint256)\":{\"notice\":\"This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound} and then call {IX2EarnApps-app} for each app id\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol\":\"RoundsStorageUpgradeableV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/RoundsStorageUpgradeableV8.sol\":{\"keccak256\":\"0x00fdea938a02ce5d7909ffed3f86286cc7f03502002dc2d2b2e4c416517879a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddb2e65f75793f21e90b8134d807a6ebdbf84471845f32a8d8dddda6c574f48f\",\"dweb:/ipfs/Qmb4a7uf5372s6pCz5RydSdZyafsAN3jUqqVDAFXeoyYFh\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol":{"VotesQuorumFractionUpgradeableV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldQuorumNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC5805","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"updateQuorumNumerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","token()":"fc0c546a","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","updateQuorumNumerator(uint256)":"06f3f9e6","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldQuorumNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC5805\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a fraction of the total supply.\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum set is not a valid fraction.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\"},\"quorumDenominator()\":{\"details\":\"Returns the quorum denominator. Defaults to 100, but may be overridden.\"},\"quorumNumerator()\":{\"details\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"details\":\"Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Returns the RelayerRewardsPool contract.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"token()\":{\"details\":\"The token that voting power is sourced from.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"updateQuorumNumerator(uint256)\":{\"details\":\"Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - New numerator must be smaller or equal to the denominator.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"VotesQuorumFractionUpgradeable\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol\":\"VotesQuorumFractionUpgradeableV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesQuorumFractionUpgradeableV8.sol\":{\"keccak256\":\"0xb78fd3922102e26d76c88c429450477f1b18d9f51d207183f8dcd24bf7e8707e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80eb7cc2e127ed23cac243edb36a22a5d68f3841f879fb3b7a7f265dc325dc5c\",\"dweb:/ipfs/QmTWiJyqbRA9Ko8eQ1Fs1CV6rZNHUimtgzYtdfbyX8yKQi\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol\":{\"keccak256\":\"0x3eb6df65ce59b9e8daef06b869d2b1cff15452894296d560f87f335d433cd529\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cbaefe3cf71bc357db4bc8b5577a7fe9e261631533505863e0f6ab8429fa1d1\",\"dweb:/ipfs/QmRcszvQG55Y3VXp4jm5otMai4eYHCgGz6KSxBZKCHzMD3\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol":{"VotesUpgradeableV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC5805","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","token()":"fc0c546a","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC5805\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes} token.\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Returns the RelayerRewardsPool contract.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"token()\":{\"details\":\"The token that voting power is sourced from.\"},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"Returns the voting duration.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"VotesUpgradeable\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol\":\"VotesUpgradeableV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotesUpgradeableV8.sol\":{\"keccak256\":\"0x3eb6df65ce59b9e8daef06b869d2b1cff15452894296d560f87f335d433cd529\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cbaefe3cf71bc357db4bc8b5577a7fe9e261631533505863e0f6ab8429fa1d1\",\"dweb:/ipfs/QmRcszvQG55Y3VXp4jm5otMai4eYHCgGz6KSxBZKCHzMD3\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol":{"VotingSettingsUpgradeableV8":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingPeriod","type":"uint256"}],"name":"VotingPeriodSet","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"contract IB3TRGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"contract IEmissions","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getAndValidateVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernorV8.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"x2EarnApps","outputs":[{"internalType":"contract IX2EarnApps","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3trGovernor()":"7893d736","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","emissions()":"2267716c","finalizeRound(uint256)":"3469f6e2","getAndValidateVotingPower(address,uint256)":"a45f45aa","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getDepositVotingPower(address,uint256)":"a56b5765","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","name()":"06fdde03","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","relayerRewardsPool()":"6e8a1823","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","x2EarnApps()":"33653f5d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingPeriod\",\"type\":\"uint256\"}],\"name\":\"VotingPeriodSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getAndValidateVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernorV8.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"x2EarnApps\",\"outputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {XAllocationVotingGovernor} for voting settings.\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `support=x-allocations` refers to the fractionalized vote for each x-application. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - `quorum=auto` means that the contract defines the logic for counting the quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3trGovernor()\":{\"details\":\"Returns the B3TRGovernor contract.\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the X2EarnApps contract.\"},\"emissions()\":{\"details\":\"Returns the Emissions contract.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAndValidateVotingPower(address,uint256)\":{\"details\":\"Gets total voting power (voting power + deposit voting power) for an account and validates it meets the minimum threshold for auto-voting\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Get the total voting power (VOT3 tokens + deposits) for a voter at a given timepoint\",\"params\":{\"roundStart\":\"The start of the round (timepoint)\",\"voter\":\"The address of the voter\"},\"returns\":{\"_0\":\"Combined voting power from held tokens and proposal deposits\"}},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes votes for a given account at a given timepoint.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"name()\":{\"details\":\"Returns the name of the governor.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"relayerRewardsPool()\":{\"details\":\"Returns the RelayerRewardsPool contract.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundProposer(uint256)\":{\"details\":\"The account that created a round.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts.\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications.\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"veBetterPassport()\":{\"details\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"voterRewards()\":{\"details\":\"Returns the VoterRewards contract.\"},\"votingPeriod()\":{\"details\":\"See {IXAllocationVotingGovernor-votingPeriod}.\"},\"x2EarnApps()\":{\"details\":\"Returns the X2EarnApps contract.\"}},\"title\":\"VotingSettingsUpgradeable\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"roundProposer(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol\":\"VotingSettingsUpgradeableV8\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/deprecated/V8/interfaces/IXAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x25022cc3a1e2e25175a6a7c26903d236416cfbc4c96b72c136e8f383b9c696d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab8cd38b9b5824e95d19b4ea3b3952654fdc8672751f709744decea401f545b4\",\"dweb:/ipfs/QmNrZrAsv4DkVcjparag7TbeRgpS7oYNbPSNLJxZrTUgx5\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/XAllocationVotingGovernorV8.sol\":{\"keccak256\":\"0x7083afcf2c196464e63f082203d7a8200a218058393a3c78d220c7ddc0d0dc30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928e16e79f1e419844cd27210c2dddfedbec0d7476edbcb57820efe6f9bb54c7\",\"dweb:/ipfs/QmQUpimgSAjTXgM7yCVDX5GJjgVj5mzkSzxyjHTWZ3JDJh\"]},\"contracts/deprecated/V8/x-allocation-voting-governance/modules/VotingSettingsUpgradeableV8.sol\":{\"keccak256\":\"0xf7efc75835f911d068865c9710116a630af2b7d850f08b70f6b93760d0ed860e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4675f0af67b447df78329c7e4b65d7091c2ffaee9b0d5fb9ad12ae3a501418\",\"dweb:/ipfs/QmVfnVE7fpui8w9vKpZmuDKSoqyRpmMiUQSjbveg5Utced\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/deprecated/V9/x-allocation-voting-governance/XAllocationVotingV9.sol":{"XAllocationVotingV9":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"DelegatedToNavigator","type":"error"},{"inputs":[],"name":"DuplicateAppVote","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernor.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"NavigatorCannotEnableAutoVoting","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"NavigatorPreferencesNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegatedToNavigator","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"SkipWindowNotReached","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"VoteAlreadyProcessed","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"fingerprint","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"lastChangedRound","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"FreshnessMultiplierApplied","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"NavigatorVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"NavigatorVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","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":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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":"GOVERNANCE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROUND_STARTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"appSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castNavigatorVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"citizenSkipWindowBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"disableAutoVotingFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppsOfRound","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","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":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRound","outputs":[{"components":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint48","name":"voteStart","type":"uint48"},{"internalType":"uint32","name":"voteDuration","type":"uint32"}],"internalType":"struct XAllocationVotingStorageTypes.RoundCore","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"getTotalAutoVotingUsersAtTimepoint","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getUserVotingPreferences","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","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":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"hasUserVotedForApp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract INavigatorRegistry","name":"_navigatorRegistry","type":"address"},{"internalType":"uint256","name":"_citizenSkipWindowBlocks","type":"uint256"}],"name":"initializeV9","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"navigatorRegistry","outputs":[{"internalType":"contract INavigatorRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"appSharesCap_","type":"uint256"}],"name":"setAppSharesCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IB3TRGovernor","name":"newB3TRGovernor","type":"address"}],"name":"setB3TRGovernor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"baseAllocationPercentage_","type":"uint256"}],"name":"setBaseAllocationPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setCitizenSkipWindowBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IEmissions","name":"newEmissions","type":"address"}],"name":"setEmissionsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract INavigatorRegistry","name":"newNavigatorRegistry","type":"address"}],"name":"setNavigatorRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRelayerRewardsPool","name":"newRelayerRewardsPool","type":"address"}],"name":"setRelayerRewardsPoolAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"}],"name":"setUserVotingPreferences","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVeBetterPassport","name":"newVeBetterPassport","type":"address"}],"name":"setVeBetterPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVoterRewards","name":"newVoterRewards","type":"address"}],"name":"setVoterRewardsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"newVotingPeriod","type":"uint32"}],"name":"setVotingPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"setVotingThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IX2EarnApps","name":"newX2EarnApps","type":"address"}],"name":"setX2EarnAppsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernor.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"updateQuorumNumerator","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":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_50675":{"entryPoint":null,"id":50675,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol":{"AutoVotingLogic":[{"length":20,"start":4158},{"length":20,"start":5327},{"length":20,"start":5405},{"length":20,"start":6143},{"length":20,"start":7965},{"length":20,"start":8298},{"length":20,"start":8410},{"length":20,"start":8811},{"length":20,"start":9325},{"length":20,"start":10242},{"length":20,"start":10371},{"length":20,"start":10802},{"length":20,"start":10933},{"length":20,"start":11099},{"length":20,"start":11211},{"length":20,"start":13649}]},"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol":{"ExternalContractsUtils":[{"length":20,"start":7608},{"length":20,"start":7776},{"length":20,"start":8694},{"length":20,"start":11930},{"length":20,"start":12309},{"length":20,"start":12388},{"length":20,"start":16085},{"length":20,"start":16973}]},"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol":{"RoundEarningsSettingsUtils":[{"length":20,"start":4545},{"length":20,"start":4665},{"length":20,"start":8621},{"length":20,"start":9428},{"length":20,"start":12432},{"length":20,"start":13555},{"length":20,"start":17059}]},"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol":{"RoundFinalizationUtils":[{"length":20,"start":4972},{"length":20,"start":5031},{"length":20,"start":5128},{"length":20,"start":12810},{"length":20,"start":12913}]},"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol":{"RoundVotesCountingUtils":[{"length":20,"start":4724},{"length":20,"start":5971},{"length":20,"start":6299},{"length":20,"start":6419},{"length":20,"start":6486},{"length":20,"start":6538},{"length":20,"start":8070},{"length":20,"start":8933},{"length":20,"start":9978},{"length":20,"start":16004},{"length":20,"start":16433},{"length":20,"start":17177},{"length":20,"start":18764}]},"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol":{"RoundsStorageUtils":[{"length":20,"start":4815},{"length":20,"start":5567},{"length":20,"start":5829},{"length":20,"start":7498},{"length":20,"start":7652},{"length":20,"start":8759},{"length":20,"start":9546},{"length":20,"start":10022},{"length":20,"start":12538},{"length":20,"start":13406},{"length":20,"start":16336},{"length":20,"start":16395},{"length":20,"start":18497}]},"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol":{"VotesQuorumFractionUtils":[{"length":20,"start":4289},{"length":20,"start":6807},{"length":20,"start":8032},{"length":20,"start":9889},{"length":20,"start":17118}]},"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol":{"VotesUtils":[{"length":20,"start":4316},{"length":20,"start":5708},{"length":20,"start":6649},{"length":20,"start":8438},{"length":20,"start":9353},{"length":20,"start":9698},{"length":20,"start":11239},{"length":20,"start":13180},{"length":20,"start":16892}]},"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol":{"VotingSettingsUtils":[{"length":20,"start":4028},{"length":20,"start":9851},{"length":20,"start":12038},{"length":20,"start":12199},{"length":20,"start":13293},{"length":20,"start":16674},{"length":20,"start":18596}]}},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615a6562000104600039600081816143e50152818161440e01526145580152615a656000f3fe6080604052600436106103c55760003560e01c806301ffc9a7146103ca57806302a251a3146103ff578063059e952b1461042257806306f3f9e61461045a5780630a0e74ef1461047c5780630eca87fb1461049c57806319e6e158146104bc578063248a9ca3146104dc578063291605f7146104fc5780632f2ff15d14610529578063300973771461054957806333727c4d146105695780633469f6e21461058957806336568abe146105a95780633b395cbe146105c95780633d4fd3c7146105e95780633e4f49e614610609578063412caf0b1461063657806342707a43146106635780634385963214610683578063498d91bf146106a35780634bb5181a146106c35780634bf5d7e9146106e35780634cadad2f146107055780634f1ef286146107255780634fa76ec91461073857806352d1902d1461074d57806353ed63991461076257806354fd4d5014610782578063561b64ef146107ac57806357181609146107c157806359372812146107e157806359529edd146107f65780635dbdba6e146108165780635fb263671461083657806360c4247f146108565780636282773314610876578063673fc7241461088b57806374038935146108ab57806378a81336146108cb5780637ace2485146108eb578063802d27091461090b57806382afd23b1461092b578063836761e01461094b5780638a829eda1461096b5780638ab52d4b1461098b5780638f1327c0146109a057806391d14854146109f957806391ddadf414610a195780639382c81814610a3b578063952f213314610a5b57806397c3d33414610a7d5780639aeb962b14610a925780639cbe5efd14610ab2578063a022756b14610ac7578063a217fddf14610adc578063a461a94d14610af1578063a56b576514610b11578063a5ae08e914610b31578063a7713a7014610738578063aa86328614610b51578063abc517fd14610b71578063ad3cb1cc14610b86578063b25d6f6214610bb7578063b3c93dab14610bd7578063bb7de6d414610bf7578063bd85948c14610c0c578063be2a9f8f14610c21578063bed7301014610c41578063c048f6c914610c61578063cd669a7214610c81578063cfea80ed14610ca3578063d06efeda14610cc3578063d3a368bd14610ce3578063d4a8dd9814610d03578063d547741f14610d23578063d68b4c3614610d43578063e125f74e14610d63578063e540d01d14610d85578063eb9019d414610da5578063f36c8f5c14610dc5578063f530108f14610de7578063f5fae13614610e07578063f72c0d8b14610e27578063f8ce560a14610e49578063fb03ec6f14610e69575b600080fd5b3480156103d657600080fd5b506103ea6103e5366004614b6f565b610e89565b60405190151581526020015b60405180910390f35b34801561040b57600080fd5b50610414610eb4565b6040519081526020016103f6565b34801561042e57600080fd5b5061044261043d366004614bad565b610f28565b6040516001600160d01b0390911681526020016103f6565b34801561046657600080fd5b5061047a610475366004614bca565b610fa3565b005b34801561048857600080fd5b50610414610497366004614bca565b6110a4565b3480156104a857600080fd5b506104146104b7366004614bca565b61111c565b3480156104c857600080fd5b506104146104d7366004614bca565b611157565b3480156104e857600080fd5b506104146104f7366004614bca565b611192565b34801561050857600080fd5b5061051c610517366004614bca565b6111b2565b6040516103f69190614c33565b34801561053557600080fd5b5061047a610544366004614d05565b61122d565b34801561055557600080fd5b50610414610564366004614bca565b61124f565b34801561057557600080fd5b506103ea610584366004614bca565b61128a565b34801561059557600080fd5b5061047a6105a4366004614bca565b611302565b3480156105b557600080fd5b5061047a6105c4366004614d05565b611391565b3480156105d557600080fd5b5061047a6105e4366004614e31565b6113c9565b3480156105f557600080fd5b506103ea610604366004614e65565b611415565b34801561061557600080fd5b50610629610624366004614bca565b6114a0565b6040516103f69190614ebb565b34801561064257600080fd5b50610656610651366004614ec9565b6116e9565b6040516103f69190614f21565b34801561066f57600080fd5b506103ea61067e366004614f34565b611768565b34801561068f57600080fd5b506103ea61069e366004614d05565b6117fd565b3480156106af57600080fd5b506104146106be366004614bca565b611839565b3480156106cf57600080fd5b506104146106de366004614f6c565b611874565b3480156106ef57600080fd5b506106f86118f1565b6040516103f69190614f8e565b34801561071157600080fd5b50610414610720366004614e65565b611964565b61047a610733366004614fc8565b611970565b34801561074457600080fd5b5061041461198f565b34801561075957600080fd5b506104146119da565b34801561076e57600080fd5b5061047a61077d366004615055565b6119f7565b34801561078e57600080fd5b506040805180820190915260018152603960f81b60208201526106f8565b3480156107b857600080fd5b50610414611c42565b3480156107cd57600080fd5b5061047a6107dc366004614ec9565b611c8d565b3480156107ed57600080fd5b50610414611cdc565b34801561080257600080fd5b50610414610811366004614bca565b611d27565b34801561082257600080fd5b5061047a610831366004614ec9565b611d35565b34801561084257600080fd5b506103ea610851366004614ec9565b611d84565b34801561086257600080fd5b50610414610871366004614bca565b611e43565b34801561088257600080fd5b50610414611e7e565b34801561089757600080fd5b5061047a6108a6366004614ec9565b611ec9565b3480156108b757600080fd5b5061047a6108c6366004614bca565b61207b565b3480156108d757600080fd5b5061047a6108e6366004614ec9565b6120cb565b3480156108f757600080fd5b50610656610906366004614bca565b61211a565b34801561091757600080fd5b506103ea610926366004614ec9565b612155565b34801561093757600080fd5b506103ea610946366004614bca565b61218f565b34801561095757600080fd5b5061047a610966366004614bca565b6121b3565b34801561097757600080fd5b5061047a610986366004614ec9565b612203565b34801561099757600080fd5b506104146123cc565b3480156109ac57600080fd5b506109c06109bb366004614bca565b612417565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff16908201526060016103f6565b348015610a0557600080fd5b506103ea610a14366004614d05565b6124a4565b348015610a2557600080fd5b50610a2e6124da565b6040516103f69190615117565b348015610a4757600080fd5b5061047a610a56366004614bca565b612549565b348015610a6757600080fd5b50610414600080516020615a1083398151915281565b348015610a8957600080fd5b50610414612599565b348015610a9e57600080fd5b506103ea610aad366004614ec9565b6125e4565b348015610abe57600080fd5b5061041461261e565b348015610ad357600080fd5b50610442612669565b348015610ae857600080fd5b50610414600081565b348015610afd57600080fd5b506103ea610b0c36600461512a565b61276d565b348015610b1d57600080fd5b50610414610b2c366004614e65565b6127a9565b348015610b3d57600080fd5b5061047a610b4c366004614e65565b612803565b348015610b5d57600080fd5b5061047a610b6c366004614e65565b612c7d565b348015610b7d57600080fd5b50610414612e9f565b348015610b9257600080fd5b506106f8604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610bc357600080fd5b5061047a610bd2366004614ec9565b612eea565b348015610be357600080fd5b5061047a610bf2366004614ec9565b612f39565b348015610c0357600080fd5b50610414612f88565b348015610c1857600080fd5b50610414612fd3565b348015610c2d57600080fd5b5061047a610c3c366004614e65565b6136b4565b348015610c4d57600080fd5b50610414610c5c366004614f6c565b613d6e565b348015610c6d57600080fd5b5061047a610c7c366004614ec9565b613daa565b348015610c8d57600080fd5b506104146000805160206159f083398151915281565b348015610caf57600080fd5b506103ea610cbe366004614ec9565b613df9565b348015610ccf57600080fd5b50610414610cde366004614bca565b613eb3565b348015610cef57600080fd5b50610414610cfe366004614bca565b613eee565b348015610d0f57600080fd5b506103ea610d1e366004614bca565b613f29565b348015610d2f57600080fd5b5061047a610d3e366004614d05565b613f6f565b348015610d4f57600080fd5b506103ea610d5e366004614f6c565b613f8b565b348015610d6f57600080fd5b50610d78613fe8565b6040516103f69190615158565b348015610d9157600080fd5b5061047a610da036600461517e565b614004565b348015610db157600080fd5b50610414610dc0366004614e65565b6140e6565b348015610dd157600080fd5b5061041460008051602061599083398151915281565b348015610df357600080fd5b5061047a610e02366004614ec9565b614122565b348015610e1357600080fd5b5061047a610e22366004614bca565b614171565b348015610e3357600080fd5b506104146000805160206159b083398151915281565b348015610e5557600080fd5b50610414610e64366004614bca565b6141c1565b348015610e7557600080fd5b50610414610e84366004614bca565b6141fc565b60006001600160e01b03198216639da99b3f60e01b1480610eae5750610eae82614237565b92915050565b600073__$e74cba849739aecfa9bf3b6281c0831878$__6302a251a36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f23919061519b565b905090565b60405163059e952b60e01b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__9063059e952b90610f62908590600401615117565b602060405180830381865af4158015610f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae91906151b4565b600080516020615990833981519152610fbb8161426c565b73__$e7d0f1dc0c8caff7791d9dd32970050ea7$__63bd88fe328373__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561101f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104391906151dd565b6040516001600160e01b031960e085901b168152600481019290925265ffffffffffff1660248201526044015b60006040518083038186803b15801561108857600080fd5b505af415801561109c573d6000803e3d6000fd5b505050505050565b604051630a0e74ef60e01b81526004810182905260009073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90630a0e74ef906024015b602060405180830381865af41580156110f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae919061519b565b604051630eca87fb60e01b81526004810182905260009073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90630eca87fb906024016110db565b60405163033cdc2b60e31b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__906319e6e158906024016110db565b60008061119d614279565b60009384526020525050604090206001015490565b60405163291605f760e01b81526004810182905260609073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063291605f790602401600060405180830381865af4158015611205573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eae919081019061525f565b61123682611192565b61123f8161426c565b611249838361429d565b50505050565b604051633009737760e01b81526004810182905260009073__$70f75f99fe6661499ece4b8956af59cd6c$__906330097377906024016110db565b6040516333727c4d60e01b81526004810182905260009073__$70f75f99fe6661499ece4b8956af59cd6c$__906333727c4d906024015b602060405180830381865af41580156112de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae91906153a2565b73__$70f75f99fe6661499ece4b8956af59cd6c$__6309d3c59b82611326846114a0565b600281111561133757611337614e91565b6113408561218f565b6040518463ffffffff1660e01b815260040161135e939291906153bd565b60006040518083038186803b15801561137657600080fd5b505af415801561138a573d6000803e3d6000fd5b5050505050565b6001600160a01b03811633146113ba5760405163334bd91960e11b815260040160405180910390fd5b6113c4828261433e565b505050565b73__$24ed9c895b3ab1d429967676414af5d94a$__63642998816113eb6143b6565b546001600160a01b031633846040518463ffffffff1660e01b815260040161135e939291906153d8565b600073__$24ed9c895b3ab1d429967676414af5d94a$__631f59dfd78461143b85613eb3565b6040518363ffffffff1660e01b8152600401611458929190615404565b602060405180830381865af4158015611475573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149991906153a2565b9392505050565b6040516368377f6d60e11b815260048101829052600090819073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d06efeda90602401602060405180830381865af41580156114f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611519919061519b565b905080600003611544576040516333b4e31b60e21b8152600481018490526024015b60405180910390fd5b600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561158f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b391906151dd565b65ffffffffffff169050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63d3a368bd866040518263ffffffff1660e01b81526004016115f891815260200190565b602060405180830381865af4158015611615573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611639919061519b565b905081811061164d57506000949350505050565b73__$04e71bdb39671a9b319808db351dce05d3$__63adf8652386611671866141c1565b6040518363ffffffff1660e01b815260040161168e929190615425565b602060405180830381865af41580156116ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cf91906153a2565b6116de57506001949350505050565b506002949350505050565b60405163412caf0b60e01b815260609073__$24ed9c895b3ab1d429967676414af5d94a$__9063412caf0b90611723908590600401615158565b600060405180830381865af4158015611740573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eae919081019061548e565b6040516342707a4360e01b8152600481018490526001600160a01b03831660248201526044810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__906342707a4390606401602060405180830381865af41580156117d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f591906153a2565b949350505050565b6040516321c2cb1960e11b815260009073__$04e71bdb39671a9b319808db351dce05d3$__9063438596329061145890869086906004016154c2565b60405163498d91bf60e01b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__9063498d91bf906024016110db565b6040516325da8c0d60e11b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90634bb5181a906118b09086908690600401615425565b602060405180830381865af41580156118cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611499919061519b565b606073__$95674d662a270791c819f82956386ae379$__634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865af415801561193c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2391908101906154d9565b600061149983836140e6565b6119786143da565b61198182614481565b61198b8282614499565b5050565b600073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__63a7713a706040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b60006119e461454d565b506000805160206159d083398151915290565b8051825114611a6c5760405162461bcd60e51b815260206004820152603b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20617070732060448201527a0c2dcc840eecad2ced0e8e640d8cadccee8d040dad2e6dac2e8c6d602b1b606482015260840161153b565b6000825111611ad45760405162461bcd60e51b815260206004820152602e60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f20617060448201526d3839903a37903b37ba32903337b960911b606482015260840161153b565b3063a461a94d33611aeb611ae6611c42565b614596565b6040518363ffffffff1660e01b8152600401611b08929190615404565b602060405180830381865afa158015611b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4991906153a2565b15611b6957336040516305b27abd60e01b815260040161153b9190615158565b6000611b736143b6565b600601546001600160a01b031690508015611c2a5760006001600160a01b0382166318be49d933611ba388613eb3565b6040518363ffffffff1660e01b8152600401611bc092919061550d565b602060405180830381865afa158015611bdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c019190615526565b6001600160a01b031614611c2a573360405163640ed18360e01b815260040161153b9190615158565b611c3333613df9565b506112493385858560006145cd565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b600080516020615a10833981519152611ca58161426c565b604051632b9f45b760e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90632b9f45b790611070908590600401615158565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63593728126040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b6000610eae610e6483613eb3565b600080516020615a10833981519152611d4d8161426c565b604051630e0bea3b60e21b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063382fa8ec90611070908590600401615158565b600080611d8f6143b6565b60010160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e07919061519b565b604051631f59dfd760e01b815290915073__$24ed9c895b3ab1d429967676414af5d94a$__90631f59dfd7906114589086908590600401615404565b6040516360c4247f60e01b81526004810182905260009073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__906360c4247f906024016110db565b600073__$04e71bdb39671a9b319808db351dce05d3$__63628277336040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b6000611ed36143b6565b600601546001600160a01b031690508015801590611ef95750336001600160a01b038216145b611f575760405162461bcd60e51b815260206004820152602960248201527f58416c6c6f636174696f6e566f74696e673a206e6f74206e6176696761746f7260448201526820726567697374727960b81b606482015260840161153b565b604051632947884560e11b815273__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a90611f8e908590600401615158565b602060405180830381865af4158015611fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcf91906153a2565b1561198b5773__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308473__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205d91906151dd565b6040518463ffffffff1660e01b815260040161107093929190615543565b6000805160206159908339815191526120938161426c565b604051637403893560e01b81526004810183905273__$36f22459ee3e33aa9c0be04d35fbeab80d$__90637403893590602401611070565b600080516020615a108339815191526120e38161426c565b6040516332ea3f7360e11b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__906365d47ee690611070908590600401615158565b604051637ace248560e01b81526004810182905260609073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__90637ace248590602401611723565b604051632947884560e11b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a906112c1908590600401615158565b60008061219b836114a0565b60028111156121ac576121ac614e91565b1492915050565b6000805160206159908339815191526121cb8161426c565b60405163041b3b0f60e51b81526004810183905273__$04e71bdb39671a9b319808db351dce05d3$__9063836761e090602401611070565b336001600160a01b0382161461222e573360405163065ece9760e51b815260040161153b9190615158565b60006122386143b6565b600601546001600160a01b031690508015612367576040516353127ad560e11b81526001600160a01b0382169063a624f5aa90612279908590600401615158565b602060405180830381865afa158015612296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ba91906153a2565b156122da5781604051638523c47f60e01b815260040161153b9190615158565b604051633e28391d60e01b81526001600160a01b03821690633e28391d90612306908590600401615158565b602060405180830381865afa158015612323573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061234791906153a2565b15612367578160405163640ed18360e01b815260040161153b9190615158565b73__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308473__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612039573d6000803e3d6000fd5b600073__$36f22459ee3e33aa9c0be04d35fbeab80d$__638ab52d4b6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b6040805160608101825260008082526020820181905281830152905163023c4c9f60e61b81526004810183905273__$ee22ebed0dbdcceb519aa1d808f0526e6a$__90638f1327c090602401606060405180830381865af4158015612480573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae919061556e565b6000806124af614279565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612525573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906151dd565b6000805160206159908339815191526125618161426c565b604051631270590360e31b81526004810183905273__$e74cba849739aecfa9bf3b6281c0831878$__90639382c81890602401611070565b600073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__6397c3d3346040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b604051639aeb962b60e01b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90639aeb962b906112c1908590600401615158565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b6000806126746143b6565b60010160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ec919061519b565b60405163059e952b60e01b815290915073__$24ed9c895b3ab1d429967676414af5d94a$__9063059e952b90612726908490600401615117565b602060405180830381865af4158015612743573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276791906151b4565b91505090565b604051631f59dfd760e01b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__90631f59dfd7906114589086908690600401615404565b60006127b36143b6565b60049081015460405163a56b576560e01b81526001600160a01b039091169163a56b5765916127e691879187910161550d565b602060405180830381865afa1580156118cd573d6000803e3d6000fd5b3063a461a94d83612816611ae685613eb3565b6040518363ffffffff1660e01b8152600401612833929190615404565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287491906153a2565b6128935781604051632b8b7c8960e01b815260040161153b9190615158565b61289d81836145ec565b60006128a76143b6565b600301546001600160a01b031663d0ebb0ee846128c5611ae6611c42565b6040518363ffffffff1660e01b81526004016128e2929190615404565b600060405180830381865afa1580156128ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261292791908101906155df565b509050600073__$24ed9c895b3ab1d429967676414af5d94a$__63412caf0b856040518263ffffffff1660e01b81526004016129639190615158565b600060405180830381865af4158015612980573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129a8919081019061548e565b9050600080600073__$24ed9c895b3ab1d429967676414af5d94a$__63ea66e04a308989886040518563ffffffff1660e01b81526004016129ec949392919061562d565b600060405180830381865af4158015612a09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a31919081019061566a565b925092509250841580612a4357508251155b15612c6657604051632947884560e11b815273__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a90612a7f908a90600401615158565b602060405180830381865af4158015612a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac091906153a2565b15612c0b5773__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308973__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4e91906151dd565b6040518463ffffffff1660e01b8152600401612b6c93929190615543565b60006040518083038186803b158015612b8457600080fd5b505af4158015612b98573d6000803e3d6000fd5b50505050612ba46143b6565b600501546040516373eff33960e11b81526001600160a01b039091169063e7dfe67290612bd8908990600190600401615425565b600060405180830381600087803b158015612bf257600080fd5b505af1158015612c06573d6000803e3d6000fd5b505050505b82516040805187151581526020810192909252810182905286906001600160a01b038916907f55b62c33ca46df94310e16fc7e52e8ed456d93a5f21b1e7b5b4c2428905ddebc9060600160405180910390a350505050505050565b612c748787858560016145cd565b50505050505050565b6000805160206159b0833981519152612c958161426c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460089190600160401b900460ff1680612cde575080546001600160401b03808416911610155b15612cfc5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038516612d875760405162461bcd60e51b815260206004820152602d60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c6964206e6176696760448201526c61746f7220726567697374727960981b606482015260840161153b565b60405163ce396b1f60e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063ce396b1f90612dbe908890600401615158565b60006040518083038186803b158015612dd657600080fd5b505af4158015612dea573d6000803e3d6000fd5b5050604051631270590360e31b81526004810187905273__$e74cba849739aecfa9bf3b6281c0831878$__9250639382c818915060240160006040518083038186803b158015612e3957600080fd5b505af4158015612e4d573d6000803e3d6000fd5b5050825460ff60401b1916835550506040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b600073__$e74cba849739aecfa9bf3b6281c0831878$__63abc517fd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b600080516020615a10833981519152612f028161426c565b60405163358e7d9760e21b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063d639f65c90611070908590600401615158565b600080516020615a10833981519152612f518161426c565b604051634784a11360e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90634784a11390611070908590600401615158565b600073__$36f22459ee3e33aa9c0be04d35fbeab80d$__63bb7de6d46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b60006000805160206159f0833981519152612fed8161426c565b6000339050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865af415801561303d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613061919061519b565b905080156130e5576130728161218f565b156130e55760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20746865726560448201527f2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d6500606482015260840161153b565b60008111801561316657506040516333727c4d60e01b81526004810182905273__$70f75f99fe6661499ece4b8956af59cd6c$__906333727c4d90602401602060405180830381865af4158015613140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316491906153a2565b155b156131f85773__$70f75f99fe6661499ece4b8956af59cd6c$__6309d3c59b8261318f846114a0565b60028111156131a0576131a0614e91565b6131a98561218f565b6040518463ffffffff1660e01b81526004016131c7939291906153bd565b60006040518083038186803b1580156131df57600080fd5b505af41580156131f3573d6000803e3d6000fd5b505050505b60006132026143b6565b546040805163c04cff1960e01b815290516001600160a01b039092169163c04cff19916004808201926000929091908290030181865afa15801561324a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613272919081019061548e565b9050600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156132bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132e391906151dd565b9050600073__$e74cba849739aecfa9bf3b6281c0831878$__6302a251a36040518163ffffffff1660e01b8152600401602060405180830381865af4158015613330573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613354919061519b565b9050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__637ad59a23878585886040518563ffffffff1660e01b815260040161339594939291906156d6565b602060405180830381865af41580156133b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d6919061519b565b604051633ed9b0ff60e11b81526004810182905290915073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90637db361fe9060240160006040518083038186803b15801561342457600080fd5b505af4158015613438573d6000803e3d6000fd5b505060405163059e952b60e01b81526000925073__$24ed9c895b3ab1d429967676414af5d94a$__915063059e952b90613476908790600401615117565b602060405180830381865af4158015613493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134b791906151b4565b905060006134c36143b6565b600601546001600160a01b031690506000811561354c57604051630a5515e360e01b81526001600160a01b03831690630a5515e390613506908990600401615117565b602060405180830381865afa158015613523573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061354791906151b4565b61354f565b60005b905060006135696001600160d01b0380841690861661572a565b9050606060006135776143b6565b600401546001600160a01b03169050801580159061359e57506000846001600160d01b0316115b1561360c57806001600160a01b0316635584c4f96040518163ffffffff1660e01b8152600401600060405180830381865afa1580156135e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613609919081019061548e565b91505b600083118061361c575060008251115b156136a257600061362b6143b6565b6005015460405163bfaabf3160e01b81526001600160a01b039091169150819063bfaabf319061366e908b9088906001600160d01b038b1690899060040161573d565b600060405180830381600087803b15801561368857600080fd5b505af115801561369c573d6000803e3d6000fd5b50505050505b50949b50505050505050505050505090565b6136c7816136c2600061466a565b61468d565b5060006136d26143b6565b600601546001600160a01b0316905060006136ec83613eb3565b90506000826001600160a01b03166318be49d986846040518363ffffffff1660e01b815260040161371e92919061550d565b602060405180830381865afa15801561373b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061375f9190615526565b90506001600160a01b03811661378a5784604051630d1c9abb60e31b815260040161153b9190615158565b60006137946143b6565b600501546001600160a01b031690506137ac826146cc565b1561384857604051637b8fee0b60e11b81526001600160a01b0382169063f71fdc16906137df9088908a906004016154c2565b600060405180830381600087803b1580156137f957600080fd5b505af115801561380d573d6000803e3d6000fd5b5050505084826001600160a01b0316876001600160a01b031660008051602061597083398151915260405160405180910390a4505050505050565b604051630e53e11560e21b81526001600160a01b0385169063394f845490613876908590899060040161550d565b602060405180830381865afa158015613893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138b791906153a2565b6138f2576138c485614724565b604051637b8fee0b60e11b81526001600160a01b0382169063f71fdc16906137df9088908a906004016154c2565b60006138fc6143b6565b600301546001600160a01b031663d0ebb0ee8861391887614596565b6040518363ffffffff1660e01b8152600401613935929190615404565b600060405180830381865afa158015613952573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261397a91908101906155df565b50905080613a1a57604051637b8fee0b60e11b81526001600160a01b0383169063f71fdc16906139b09089908b906004016154c2565b600060405180830381600087803b1580156139ca57600080fd5b505af11580156139de573d6000803e3d6000fd5b5050505085836001600160a01b0316886001600160a01b031660008051602061597083398151915260405160405180910390a450505050505050565b613a2486886145ec565b600080866001600160a01b031663f232dd60868a6040518363ffffffff1660e01b8152600401613a5592919061550d565b600060405180830381865afa158015613a72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613a9a9190810190615762565b915091506000876001600160a01b031663c61c06e78b896040518363ffffffff1660e01b8152600401613ace92919061550d565b602060405180830381865afa158015613aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0f919061519b565b90506000886001600160a01b031663e1f1c4a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b75919061519b565b9050600083516001600160401b03811115613b9257613b92614d35565b604051908082528060200260200182016040528015613bbb578160200160208202803683370190505b5090506000805b8551811015613c525783868281518110613bde57613bde6157bb565b602002602001015186613bf191906157d1565b613bfb91906157e8565b838281518110613c0d57613c0d6157bb565b602002602001018181525050828181518110613c2b57613c2b6157bb565b602002602001015182613c3e919061572a565b915080613c4a8161580a565b915050613bc2565b508381108015613c63575060008251115b15613c9d57613c728185615823565b82600081518110613c8557613c856157bb565b60200260200101818151613c99919061572a565b9052505b613cac8d8d8885886000614837565b6001600160a01b038816636cf88e73338f8f60006040518563ffffffff1660e01b8152600401613cdf9493929190615836565b600060405180830381600087803b158015613cf957600080fd5b505af1158015613d0d573d6000803e3d6000fd5b505050508b896001600160a01b03168e6001600160a01b03167f28e698009c3f75a566409d95005b1906bbae152060ccf899a822777dd147950c8986604051613d57929190615874565b60405180910390a450505050505050505050505050565b604051630bed730160e41b815260009073__$04e71bdb39671a9b319808db351dce05d3$__9063bed73010906118b09086908690600401615425565b600080516020615a10833981519152613dc28161426c565b604051637d4b948360e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90637d4b948390611070908590600401615158565b6000806000613e066143b6565b600301546001600160a01b031663d0ebb0ee85613e24611ae6611c42565b6040518363ffffffff1660e01b8152600401613e41929190615404565b600060405180830381865afa158015613e5e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e8691908101906155df565b9150915081613eac5783816040516344c4534960e01b815260040161153b929190615899565b5092915050565b6040516368377f6d60e11b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d06efeda906024016110db565b60405163d3a368bd60e01b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d3a368bd906024016110db565b600073__$04e71bdb39671a9b319808db351dce05d3$__63754ba25d83613f52610e6486613eb3565b6040518363ffffffff1660e01b81526004016112c1929190615425565b613f7882611192565b613f818161426c565b611249838361433e565b6000613f956143b6565b546001600160a01b031663d2570b9484613fae85613eb3565b6040518363ffffffff1660e01b8152600401613fcb929190615425565b602060405180830381865afa158015611475573d6000803e3d6000fd5b6000613ff26143b6565b600601546001600160a01b0316919050565b60008051602061599083398151915261401c8161426c565b73__$e74cba849739aecfa9bf3b6281c0831878$__630ff235a98361403f6143b6565b60010160009054906101000a90046001600160a01b03166001600160a01b0316635bec4cb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015614093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140b7919061519b565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401611070565b604051633ae4067560e21b815260009073__$95674d662a270791c819f82956386ae379$__9063eb9019d4906118b0908690869060040161550d565b600080516020615a1083398151915261413a8161426c565b60405163ce396b1f60e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063ce396b1f90611070908590600401615158565b6000805160206159908339815191526141898161426c565b604051637afd709b60e11b81526004810183905273__$36f22459ee3e33aa9c0be04d35fbeab80d$__9063f5fae13690602401611070565b604051637c672b0560e11b81526004810182905260009073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__9063f8ce560a906024016110db565b60405163fb03ec6f60e01b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__9063fb03ec6f906024016110db565b60006001600160e01b03198216637965db0b60e01b1480610eae57506301ffc9a760e01b6001600160e01b0319831614610eae565b6142768133614981565b50565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806142a8614279565b90506142b484846124a4565b614334576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556142ea3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610eae565b6000915050610eae565b600080614349614279565b905061435584846124a4565b15614334576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610eae565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061446157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166144556000805160206159d0833981519152546001600160a01b031690565b6001600160a01b031614155b1561447f5760405163703e46dd60e11b815260040160405180910390fd5b565b6000805160206159b083398151915261198b8161426c565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156144f3575060408051601f3d908101601f191682019092526144f09181019061519b565b60015b6145125781604051634c9c8ce360e01b815260040161153b9190615158565b6000805160206159d0833981519152811461454357604051632a87526960e21b81526004810182905260240161153b565b6113c483836149ac565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461447f5760405163703e46dd60e11b815260040160405180910390fd5b600065ffffffffffff8211156145c9576040516306dfcc6560e41b8152603060048201526024810183905260440161153b565b5090565b60006145dc86610dc087613eb3565b905061109c868686868587614837565b6145f46143b6565b600501546001600160a01b031663e5ed920b8383336040516001600160e01b031960e086901b16815260048101939093526001600160a01b03918216602484015216604482015260640160006040518083038186803b15801561465657600080fd5b505afa15801561109c573d6000803e3d6000fd5b600081600281111561467e5761467e614e91565b600160ff919091161b92915050565b600080614699846114a0565b90506000836146a78361466a565b1603611499578381846040516321b2b5ab60e11b815260040161153b939291906158bd565b60006146d66143b6565b6006015460405163506b90db60e11b81526001600160a01b039091169063a0d721b690614707908590600401615158565b602060405180830381865afa1580156112de573d6000803e3d6000fd5b60405163d3a368bd60e01b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d3a368bd90602401602060405180830381865af4158015614777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061479b919061519b565b90508073__$e74cba849739aecfa9bf3b6281c0831878$__63abc517fd6040518163ffffffff1660e01b8152600401602060405180830381865af41580156147e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061480b919061519b565b614815904361572a565b101561198b5760405163474a8edb60e11b81526004810183905260240161153b565b614845856136c2600061466a565b5073__$04e71bdb39671a9b319808db351dce05d3$__63cdc6ac0c868887878761486e8c613eb3565b6040518763ffffffff1660e01b815260040161488f969594939291906158df565b60006040518083038186803b1580156148a757600080fd5b505af41580156148bb573d6000803e3d6000fd5b50505050801561109c576148cd6143b6565b600501546001600160a01b0316636cf88e7333888860006040518563ffffffff1660e01b81526004016149039493929190615836565b600060405180830381600087803b15801561491d57600080fd5b505af1158015614931573d6000803e3d6000fd5b5050505084866001600160a01b03167f64dbcb1d23926d04f2fea8c7cc3f5d02846ee1e48940419cf422f69ae35813aa8686604051614971929190615874565b60405180910390a3505050505050565b61498b82826124a4565b61198b57808260405163e2517d3f60e01b815260040161153b92919061550d565b6149b582614a02565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156149fa576113c48282614a5e565b61198b614ad4565b806001600160a01b03163b600003614a2f5780604051634c9c8ce360e01b815260040161153b9190615158565b6000805160206159d083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051614a7b9190615953565b600060405180830381855af49150503d8060008114614ab6576040519150601f19603f3d011682016040523d82523d6000602084013e614abb565b606091505b5091509150614acb858383614af3565b95945050505050565b341561447f5760405163b398979f60e01b815260040160405180910390fd5b606082614b0857614b0382614b46565b611499565b8151158015614b1f57506001600160a01b0384163b155b15614b3f5783604051639996b31560e01b815260040161153b9190615158565b5080611499565b805115614b565780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b600060208284031215614b8157600080fd5b81356001600160e01b03198116811461149957600080fd5b65ffffffffffff8116811461427657600080fd5b600060208284031215614bbf57600080fd5b813561149981614b99565b600060208284031215614bdc57600080fd5b5035919050565b60005b83811015614bfe578181015183820152602001614be6565b50506000910152565b60008151808452614c1f816020860160208601614be3565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614ce257888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614c9b82870182614c07565b91505060608083015186830382880152614cb58382614c07565b6080858101519089015260a094850151151594909701939093525050509386019390860190600101614c5a565b509098975050505050505050565b6001600160a01b038116811461427657600080fd5b60008060408385031215614d1857600080fd5b823591506020830135614d2a81614cf0565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715614d6d57614d6d614d35565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614d9b57614d9b614d35565b604052919050565b60006001600160401b03821115614dbc57614dbc614d35565b5060051b60200190565b600082601f830112614dd757600080fd5b81356020614dec614de783614da3565b614d73565b82815260059290921b84018101918181019086841115614e0b57600080fd5b8286015b84811015614e265780358352918301918301614e0f565b509695505050505050565b600060208284031215614e4357600080fd5b81356001600160401b03811115614e5957600080fd5b6117f584828501614dc6565b60008060408385031215614e7857600080fd5b8235614e8381614cf0565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b60038110614eb757614eb7614e91565b9052565b60208101610eae8284614ea7565b600060208284031215614edb57600080fd5b813561149981614cf0565b600081518084526020808501945080840160005b83811015614f1657815187529582019590820190600101614efa565b509495945050505050565b6020815260006114996020830184614ee6565b600080600060608486031215614f4957600080fd5b833592506020840135614f5b81614cf0565b929592945050506040919091013590565b60008060408385031215614f7f57600080fd5b50508035926020909101359150565b6020815260006114996020830184614c07565b60006001600160401b03821115614fba57614fba614d35565b50601f01601f191660200190565b60008060408385031215614fdb57600080fd5b8235614fe681614cf0565b915060208301356001600160401b0381111561500157600080fd5b8301601f8101851361501257600080fd5b8035615020614de782614fa1565b81815286602083850101111561503557600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008060006060848603121561506a57600080fd5b833592506020808501356001600160401b038082111561508957600080fd5b61509588838901614dc6565b945060408701359150808211156150ab57600080fd5b508501601f810187136150bd57600080fd5b80356150cb614de782614da3565b81815260059190911b820183019083810190898311156150ea57600080fd5b928401925b82841015615108578335825292840192908401906150ef565b80955050505050509250925092565b65ffffffffffff91909116815260200190565b6000806040838503121561513d57600080fd5b823561514881614cf0565b91506020830135614d2a81614b99565b6001600160a01b0391909116815260200190565b63ffffffff8116811461427657600080fd5b60006020828403121561519057600080fd5b81356114998161516c565b6000602082840312156151ad57600080fd5b5051919050565b6000602082840312156151c657600080fd5b81516001600160d01b038116811461149957600080fd5b6000602082840312156151ef57600080fd5b815161149981614b99565b805161520581614cf0565b919050565b600082601f83011261521b57600080fd5b8151615229614de782614fa1565b81815284602083860101111561523e57600080fd5b6117f5826020830160208701614be3565b8051801515811461520557600080fd5b6000602080838503121561527257600080fd5b82516001600160401b038082111561528957600080fd5b818501915085601f83011261529d57600080fd5b81516152ab614de782614da3565b81815260059190911b830184019084810190888311156152ca57600080fd5b8585015b83811015615395578051858111156152e557600080fd5b860160c0818c03601f190112156152fc5760008081fd5b615304614d4b565b88820151815260406153178184016151fa565b8a8301526060808401518981111561532f5760008081fd5b61533d8f8d8388010161520a565b83850152506080915081840151898111156153585760008081fd5b6153668f8d8388010161520a565b82850152505060a0808401518284015261538260c0850161524f565b90830152508452509186019186016152ce565b5098975050505050505050565b6000602082840312156153b457600080fd5b6114998261524f565b92835260ff9190911660208301521515604082015260600190565b6001600160a01b03848116825283166020820152606060408201819052600090614acb90830184614ee6565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b918252602082015260400190565b600082601f83011261544457600080fd5b81516020615454614de783614da3565b82815260059290921b8401810191818101908684111561547357600080fd5b8286015b84811015614e265780518352918301918301615477565b6000602082840312156154a057600080fd5b81516001600160401b038111156154b657600080fd5b6117f584828501615433565b9182526001600160a01b0316602082015260400190565b6000602082840312156154eb57600080fd5b81516001600160401b0381111561550157600080fd5b6117f58482850161520a565b6001600160a01b03929092168252602082015260400190565b60006020828403121561553857600080fd5b815161149981614cf0565b6001600160a01b03938416815291909216602082015265ffffffffffff909116604082015260600190565b60006060828403121561558057600080fd5b604051606081016001600160401b03811182821017156155a2576155a2614d35565b60405282516155b081614cf0565b815260208301516155c081614b99565b602082015260408301516155d38161516c565b60408201529392505050565b600080604083850312156155f257600080fd5b6155fb8361524f565b60208401519092506001600160401b0381111561561757600080fd5b6156238582860161520a565b9150509250929050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061566090830184614ee6565b9695505050505050565b60008060006060848603121561567f57600080fd5b83516001600160401b038082111561569657600080fd5b6156a287838801615433565b945060208601519150808211156156b857600080fd5b506156c586828701615433565b925050604084015190509250925092565b6001600160a01b038516815265ffffffffffff8416602082015263ffffffff8316604082015260806060820181905260009061566090830184614ee6565b634e487b7160e01b600052601160045260246000fd5b80820180821115610eae57610eae615714565b8481528360208201528260408201526080606082015260006156606080830184614ee6565b6000806040838503121561577557600080fd5b82516001600160401b038082111561578c57600080fd5b61579886838701615433565b935060208501519150808211156157ae57600080fd5b5061562385828601615433565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610eae57610eae615714565b60008261580557634e487b7160e01b600052601260045260246000fd5b500490565b60006001820161581c5761581c615714565b5060010190565b81810381811115610eae57610eae615714565b6001600160a01b0385811682528416602082015260408101839052608081016002831061586557615865614e91565b82606083015295945050505050565b6040815260006158876040830185614ee6565b8281036020840152614acb8185614ee6565b6001600160a01b03831681526040602082018190526000906117f590830184614c07565b838152606081016158d16020830185614ea7565b826040830152949350505050565b8681526000602060018060a01b0388168184015260c0604084015261590760c0840188614ee6565b838103606085015286518082528288019183019060005b8181101561593a5783518352928401929184019160010161591e565b5050608085019690965250505060a00152949350505050565b60008251615965818460208701614be3565b919091019291505056fe8e8addaac431662b768d45375ef48133b8bad0daad5ce4096fd41007e8d31a8771840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7a2646970667358221220d5c7dd6d1113b2bdc8640a203047b96ae10ec6751a01dd2a2901eaef3fbd7aa264736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x5A65 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x43E5 ADD MSTORE DUP2 DUP2 PUSH2 0x440E ADD MSTORE PUSH2 0x4558 ADD MSTORE PUSH2 0x5A65 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3C5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x3CA JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x3FF JUMPI DUP1 PUSH4 0x59E952B EQ PUSH2 0x422 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x45A JUMPI DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x47C JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0x49C JUMPI DUP1 PUSH4 0x19E6E158 EQ PUSH2 0x4BC JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x4DC JUMPI DUP1 PUSH4 0x291605F7 EQ PUSH2 0x4FC JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x529 JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x549 JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0x3469F6E2 EQ PUSH2 0x589 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x5A9 JUMPI DUP1 PUSH4 0x3B395CBE EQ PUSH2 0x5C9 JUMPI DUP1 PUSH4 0x3D4FD3C7 EQ PUSH2 0x5E9 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x609 JUMPI DUP1 PUSH4 0x412CAF0B EQ PUSH2 0x636 JUMPI DUP1 PUSH4 0x42707A43 EQ PUSH2 0x663 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x683 JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x6A3 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x6C3 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x6E3 JUMPI DUP1 PUSH4 0x4CADAD2F EQ PUSH2 0x705 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x725 JUMPI DUP1 PUSH4 0x4FA76EC9 EQ PUSH2 0x738 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x74D JUMPI DUP1 PUSH4 0x53ED6399 EQ PUSH2 0x762 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x782 JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0x7AC JUMPI DUP1 PUSH4 0x57181609 EQ PUSH2 0x7C1 JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x7E1 JUMPI DUP1 PUSH4 0x59529EDD EQ PUSH2 0x7F6 JUMPI DUP1 PUSH4 0x5DBDBA6E EQ PUSH2 0x816 JUMPI DUP1 PUSH4 0x5FB26367 EQ PUSH2 0x836 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x856 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x876 JUMPI DUP1 PUSH4 0x673FC724 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0x8AB JUMPI DUP1 PUSH4 0x78A81336 EQ PUSH2 0x8CB JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x8EB JUMPI DUP1 PUSH4 0x802D2709 EQ PUSH2 0x90B JUMPI DUP1 PUSH4 0x82AFD23B EQ PUSH2 0x92B JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x94B JUMPI DUP1 PUSH4 0x8A829EDA EQ PUSH2 0x96B JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0x98B JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0x9A0 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x9F9 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xA19 JUMPI DUP1 PUSH4 0x9382C818 EQ PUSH2 0xA3B JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xA5B JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xA7D JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xA92 JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0xAB2 JUMPI DUP1 PUSH4 0xA022756B EQ PUSH2 0xAC7 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xADC JUMPI DUP1 PUSH4 0xA461A94D EQ PUSH2 0xAF1 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xB11 JUMPI DUP1 PUSH4 0xA5AE08E9 EQ PUSH2 0xB31 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x738 JUMPI DUP1 PUSH4 0xAA863286 EQ PUSH2 0xB51 JUMPI DUP1 PUSH4 0xABC517FD EQ PUSH2 0xB71 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xB86 JUMPI DUP1 PUSH4 0xB25D6F62 EQ PUSH2 0xBB7 JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xBD7 JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xBF7 JUMPI DUP1 PUSH4 0xBD85948C EQ PUSH2 0xC0C JUMPI DUP1 PUSH4 0xBE2A9F8F EQ PUSH2 0xC21 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0xC41 JUMPI DUP1 PUSH4 0xC048F6C9 EQ PUSH2 0xC61 JUMPI DUP1 PUSH4 0xCD669A72 EQ PUSH2 0xC81 JUMPI DUP1 PUSH4 0xCFEA80ED EQ PUSH2 0xCA3 JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0xCC3 JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0xCE3 JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0xD03 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xD23 JUMPI DUP1 PUSH4 0xD68B4C36 EQ PUSH2 0xD43 JUMPI DUP1 PUSH4 0xE125F74E EQ PUSH2 0xD63 JUMPI DUP1 PUSH4 0xE540D01D EQ PUSH2 0xD85 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xDA5 JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0xDC5 JUMPI DUP1 PUSH4 0xF530108F EQ PUSH2 0xDE7 JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0xE07 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xE27 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xE49 JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0xE69 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x3E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B6F JUMP JUMPDEST PUSH2 0xE89 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xEB4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x442 PUSH2 0x43D CALLDATASIZE PUSH1 0x4 PUSH2 0x4BAD JUMP JUMPDEST PUSH2 0xF28 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x475 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0xFA3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x497 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x10A4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x111C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1157 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1192 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x508 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x51C PUSH2 0x517 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x11B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4C33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x535 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x544 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x122D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x564 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x124F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x584 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x128A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x595 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1302 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x1391 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E31 JUMP JUMPDEST PUSH2 0x13C9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x604 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x1415 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x615 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x629 PUSH2 0x624 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x14A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4EBB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x642 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x656 PUSH2 0x651 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x16E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4F21 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x67E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F34 JUMP JUMPDEST PUSH2 0x1768 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x69E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x17FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x6BE CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1839 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x6DE CALLDATASIZE PUSH1 0x4 PUSH2 0x4F6C JUMP JUMPDEST PUSH2 0x1874 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F8 PUSH2 0x18F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4F8E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x711 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x720 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x1964 JUMP JUMPDEST PUSH2 0x47A PUSH2 0x733 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC8 JUMP JUMPDEST PUSH2 0x1970 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x744 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x198F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x759 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x19DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x76E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x77D CALLDATASIZE PUSH1 0x4 PUSH2 0x5055 JUMP JUMPDEST PUSH2 0x19F7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x78E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x39 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x6F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1C42 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x7DC CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x1C8D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1CDC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x802 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x811 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1D27 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x822 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x831 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x1D35 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x842 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x851 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x1D84 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x862 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x871 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1E43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x882 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1E7E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x897 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x1EC9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x207B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x20CB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x656 PUSH2 0x906 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x211A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x917 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x926 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x2155 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x946 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x218F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x957 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x966 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x21B3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x986 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x2203 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x997 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x23CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C0 PUSH2 0x9BB CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x2417 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xA14 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x24A4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA2E PUSH2 0x24DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5117 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xA56 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x2549 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2599 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xAAD CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x25E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xABE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x261E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x442 PUSH2 0x2669 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xB0C CALLDATASIZE PUSH1 0x4 PUSH2 0x512A JUMP JUMPDEST PUSH2 0x276D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xB2C CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x27A9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xB4C CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x2803 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xB6C CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x2C7D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2E9F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F8 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xBD2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x2EEA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xBF2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x2F39 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2F88 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2FD3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xC3C CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x36B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xC5C CALLDATASIZE PUSH1 0x4 PUSH2 0x4F6C JUMP JUMPDEST PUSH2 0x3D6E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xC7C CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x3DAA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59F0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xCBE CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x3DF9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xCDE CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x3EB3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xCFE CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x3EEE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xD1E CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x3F29 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xD3E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x3F6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xD5E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F6C JUMP JUMPDEST PUSH2 0x3F8B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD78 PUSH2 0x3FE8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xDA0 CALLDATASIZE PUSH1 0x4 PUSH2 0x517E JUMP JUMPDEST PUSH2 0x4004 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xDC0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x40E6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xE02 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x4122 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xE22 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x4171 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59B0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xE64 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x41C1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xE84 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x41FC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x9DA99B3F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xEAE JUMPI POP PUSH2 0xEAE DUP3 PUSH2 0x4237 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF23 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x59E952B SWAP1 PUSH2 0xF62 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5117 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF7F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x51B4 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xFBB DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH20 0x0 PUSH4 0xBD88FE32 DUP4 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x101F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1043 SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1088 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x109C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA0E74EF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA0E74EF SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x10F8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xECA87FB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xECA87FB SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x33CDC2B PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x19E6E158 SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x119D PUSH2 0x4279 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x291605F7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x291605F7 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1205 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xEAE SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x525F JUMP JUMPDEST PUSH2 0x1236 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH2 0x123F DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH2 0x1249 DUP4 DUP4 PUSH2 0x429D JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x30097377 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x30097377 SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x33727C4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x33727C4D SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x12DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9D3C59B DUP3 PUSH2 0x1326 DUP5 PUSH2 0x14A0 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1337 JUMPI PUSH2 0x1337 PUSH2 0x4E91 JUMP JUMPDEST PUSH2 0x1340 DUP6 PUSH2 0x218F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x53BD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1376 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x138A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x13BA JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x13C4 DUP3 DUP3 PUSH2 0x433E JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0x64299881 PUSH2 0x13EB PUSH2 0x43B6 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x53D8 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x1F59DFD7 DUP5 PUSH2 0x143B DUP6 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1458 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1499 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14F5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1519 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33B4E31B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x158F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15B3 SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0xD3A368BD DUP7 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15F8 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1615 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1639 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x164D JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0xADF86523 DUP7 PUSH2 0x1671 DUP7 PUSH2 0x41C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x168E SWAP3 SWAP2 SWAP1 PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x16AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16CF SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST PUSH2 0x16DE JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x412CAF0B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x412CAF0B SWAP1 PUSH2 0x1723 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1740 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xEAE SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x548E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x42707A43 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x42707A43 SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17F5 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x21C2CB19 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x43859632 SWAP1 PUSH2 0x1458 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x54C2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x498D91BF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x498D91BF SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x25DA8C0D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x4BB5181A SWAP1 PUSH2 0x18B0 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x18CD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1499 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x193C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF23 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x54D9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1499 DUP4 DUP4 PUSH2 0x40E6 JUMP JUMPDEST PUSH2 0x1978 PUSH2 0x43DA JUMP JUMPDEST PUSH2 0x1981 DUP3 PUSH2 0x4481 JUMP JUMPDEST PUSH2 0x198B DUP3 DUP3 PUSH2 0x4499 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xA7713A70 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19E4 PUSH2 0x454D JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59D0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x1A6C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206170707320 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0xC2DCC840EECAD2CED0E8E640D8CADCCEE8D040DAD2E6DAC2E8C6D PUSH1 0x2B SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1AD4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E6F206170 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3839903A37903B37BA32903337B9 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST ADDRESS PUSH4 0xA461A94D CALLER PUSH2 0x1AEB PUSH2 0x1AE6 PUSH2 0x1C42 JUMP JUMPDEST PUSH2 0x4596 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B08 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B25 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B49 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x1B69 JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x5B27ABD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B73 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO PUSH2 0x1C2A JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH4 0x18BE49D9 CALLER PUSH2 0x1BA3 DUP9 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BC0 SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1BDD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C01 SWAP2 SWAP1 PUSH2 0x5526 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1C2A JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH2 0x1C33 CALLER PUSH2 0x3DF9 JUMP JUMPDEST POP PUSH2 0x1249 CALLER DUP6 DUP6 DUP6 PUSH1 0x0 PUSH2 0x45CD JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1CA5 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2B9F45B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x2B9F45B7 SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEAE PUSH2 0xE64 DUP4 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1D4D DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x382FA8EC SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D8F PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DE3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E07 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F59DFD7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x1F59DFD7 SWAP1 PUSH2 0x1458 SWAP1 DUP7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x60C4247F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x60C4247F SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x62827733 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1ED3 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x1EF9 JUMPI POP CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ JUMPDEST PUSH2 0x1F57 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A206E6F74206E6176696761746F72 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x207265676973747279 PUSH1 0xB8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x1F8E SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1FAB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FCF SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x198B JUMPI PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP5 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2039 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x205D SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1070 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5543 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2093 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x74038935 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x74038935 SWAP1 PUSH1 0x24 ADD PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x20E3 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x32EA3F73 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x65D47EE6 SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7ACE2485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x7ACE2485 SWAP1 PUSH1 0x24 ADD PUSH2 0x1723 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x12C1 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x219B DUP4 PUSH2 0x14A0 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x21AC JUMPI PUSH2 0x21AC PUSH2 0x4E91 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x21CB DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x41B3B0F PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x836761E0 SWAP1 PUSH1 0x24 ADD PUSH2 0x1070 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x222E JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x65ECE97 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2238 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO PUSH2 0x2367 JUMPI PUSH1 0x40 MLOAD PUSH4 0x53127AD5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xA624F5AA SWAP1 PUSH2 0x2279 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2296 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22BA SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x22DA JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x8523C47F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3E28391D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x3E28391D SWAP1 PUSH2 0x2306 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2323 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2347 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x2367 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP5 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2039 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x8AB52D4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE DUP2 DUP4 ADD MSTORE SWAP1 MLOAD PUSH4 0x23C4C9F PUSH1 0xE6 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8F1327C0 SWAP1 PUSH1 0x24 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2480 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x556E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24AF PUSH2 0x4279 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2525 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF23 SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2561 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x12705903 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x9382C818 SWAP1 PUSH1 0x24 ADD PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x97C3D334 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x12C1 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2674 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x26C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x26EC SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x59E952B SWAP1 PUSH2 0x2726 SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x5117 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2743 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2767 SWAP2 SWAP1 PUSH2 0x51B4 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F59DFD7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x1F59DFD7 SWAP1 PUSH2 0x1458 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27B3 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x4 SWAP1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xA56B5765 SWAP2 PUSH2 0x27E6 SWAP2 DUP8 SWAP2 DUP8 SWAP2 ADD PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18CD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH4 0xA461A94D DUP4 PUSH2 0x2816 PUSH2 0x1AE6 DUP6 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2833 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2850 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2874 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST PUSH2 0x2893 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x2B8B7C89 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH2 0x289D DUP2 DUP4 PUSH2 0x45EC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28A7 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP5 PUSH2 0x28C5 PUSH2 0x1AE6 PUSH2 0x1C42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x28E2 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28FF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2927 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55DF JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x412CAF0B DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2963 SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2980 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x29A8 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x548E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0xEA66E04A ADDRESS DUP10 DUP10 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29EC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x562D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2A09 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2A31 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x566A JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP5 ISZERO DUP1 PUSH2 0x2A43 JUMPI POP DUP3 MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x2C66 JUMPI PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x2A7F SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2A9C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AC0 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x2C0B JUMPI PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP10 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2B2A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B4E SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B6C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2B84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2B98 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x2BA4 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x73EFF339 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE7DFE672 SWAP1 PUSH2 0x2BD8 SWAP1 DUP10 SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x4 ADD PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2BF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2C06 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP1 MLOAD DUP8 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD DUP3 SWAP1 MSTORE DUP7 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND SWAP1 PUSH32 0x55B62C33CA46DF94310E16FC7E52E8ED456D93A5F21B1E7B5B4C2428905DDEBC SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2C74 DUP8 DUP8 DUP6 DUP6 PUSH1 0x1 PUSH2 0x45CD JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59B0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2C95 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x8 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2CDE JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2CFC JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2D87 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C6964206E61766967 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x61746F72207265676973747279 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x2DBE SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2DD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2DEA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x12705903 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x9382C818 SWAP2 POP PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2E4D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP3 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP4 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xABC517FD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2F02 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x358E7D97 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD639F65C SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2F51 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4784A113 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4784A113 SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBB7DE6D4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59F0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2FED DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x303D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3061 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x30E5 JUMPI PUSH2 0x3072 DUP2 PUSH2 0x218F JUMP JUMPDEST ISZERO PUSH2 0x30E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A207468657265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2063616E206265206F6E6C79206F6E6520726F756E64207065722074696D6500 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x3166 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x33727C4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x33727C4D SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3140 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3164 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x31F8 JUMPI PUSH20 0x0 PUSH4 0x9D3C59B DUP3 PUSH2 0x318F DUP5 PUSH2 0x14A0 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x31A0 JUMPI PUSH2 0x31A0 PUSH2 0x4E91 JUMP JUMPDEST PUSH2 0x31A9 DUP6 PUSH2 0x218F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x31C7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x53BD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x31DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x31F3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x0 PUSH2 0x3202 PUSH2 0x43B6 JUMP JUMPDEST SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xC04CFF19 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xC04CFF19 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x324A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3272 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x548E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x32BF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x32E3 SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3330 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3354 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x7AD59A23 DUP8 DUP6 DUP6 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3395 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x56D6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x33B2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x33D6 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3ED9B0FF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x7DB361FE SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3438 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 POP PUSH20 0x0 SWAP2 POP PUSH4 0x59E952B SWAP1 PUSH2 0x3476 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5117 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3493 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x34B7 SWAP2 SWAP1 PUSH2 0x51B4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x34C3 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH1 0x0 DUP2 ISZERO PUSH2 0x354C JUMPI PUSH1 0x40 MLOAD PUSH4 0xA5515E3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0xA5515E3 SWAP1 PUSH2 0x3506 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x5117 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3523 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3547 SWAP2 SWAP1 PUSH2 0x51B4 JUMP JUMPDEST PUSH2 0x354F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3569 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP5 AND SWAP1 DUP7 AND PUSH2 0x572A JUMP JUMPDEST SWAP1 POP PUSH1 0x60 PUSH1 0x0 PUSH2 0x3577 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x359E JUMPI POP PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND GT JUMPDEST ISZERO PUSH2 0x360C JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5584C4F9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x35E1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3609 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x548E JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 DUP4 GT DUP1 PUSH2 0x361C JUMPI POP PUSH1 0x0 DUP3 MLOAD GT JUMPDEST ISZERO PUSH2 0x36A2 JUMPI PUSH1 0x0 PUSH2 0x362B PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFAABF31 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP DUP2 SWAP1 PUSH4 0xBFAABF31 SWAP1 PUSH2 0x366E SWAP1 DUP12 SWAP1 DUP9 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP12 AND SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x573D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3688 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x369C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST POP SWAP5 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x36C7 DUP2 PUSH2 0x36C2 PUSH1 0x0 PUSH2 0x466A JUMP JUMPDEST PUSH2 0x468D JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x36D2 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH1 0x0 PUSH2 0x36EC DUP4 PUSH2 0x3EB3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18BE49D9 DUP7 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x371E SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x373B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x375F SWAP2 SWAP1 PUSH2 0x5526 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x378A JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xD1C9ABB PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3794 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH2 0x37AC DUP3 PUSH2 0x46CC JUMP JUMPDEST ISZERO PUSH2 0x3848 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xF71FDC16 SWAP1 PUSH2 0x37DF SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x54C2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x37F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x380D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5970 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE53E115 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x394F8454 SWAP1 PUSH2 0x3876 SWAP1 DUP6 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3893 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x38B7 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST PUSH2 0x38F2 JUMPI PUSH2 0x38C4 DUP6 PUSH2 0x4724 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xF71FDC16 SWAP1 PUSH2 0x37DF SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x54C2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38FC PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP9 PUSH2 0x3918 DUP8 PUSH2 0x4596 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3935 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3952 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x397A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55DF JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x3A1A JUMPI PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0xF71FDC16 SWAP1 PUSH2 0x39B0 SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x54C2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x39CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x39DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP6 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5970 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3A24 DUP7 DUP9 PUSH2 0x45EC JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF232DD60 DUP7 DUP11 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A55 SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3A9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5762 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC61C06E7 DUP12 DUP10 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3ACE SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3AEB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B0F SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE1F1C4A7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3B51 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B75 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3B92 JUMPI PUSH2 0x3B92 PUSH2 0x4D35 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3BBB JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x3C52 JUMPI DUP4 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3BDE JUMPI PUSH2 0x3BDE PUSH2 0x57BB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH2 0x3BF1 SWAP2 SWAP1 PUSH2 0x57D1 JUMP JUMPDEST PUSH2 0x3BFB SWAP2 SWAP1 PUSH2 0x57E8 JUMP JUMPDEST DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3C0D JUMPI PUSH2 0x3C0D PUSH2 0x57BB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3C2B JUMPI PUSH2 0x3C2B PUSH2 0x57BB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH2 0x3C3E SWAP2 SWAP1 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x3C4A DUP2 PUSH2 0x580A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3BC2 JUMP JUMPDEST POP DUP4 DUP2 LT DUP1 ISZERO PUSH2 0x3C63 JUMPI POP PUSH1 0x0 DUP3 MLOAD GT JUMPDEST ISZERO PUSH2 0x3C9D JUMPI PUSH2 0x3C72 DUP2 DUP6 PUSH2 0x5823 JUMP JUMPDEST DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x3C85 JUMPI PUSH2 0x3C85 PUSH2 0x57BB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH2 0x3C99 SWAP2 SWAP1 PUSH2 0x572A JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST PUSH2 0x3CAC DUP14 DUP14 DUP9 DUP6 DUP9 PUSH1 0x0 PUSH2 0x4837 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH4 0x6CF88E73 CALLER DUP16 DUP16 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CDF SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5836 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3CF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3D0D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP12 DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x28E698009C3F75A566409D95005B1906BBAE152060CCF899A822777DD147950C DUP10 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3D57 SWAP3 SWAP2 SWAP1 PUSH2 0x5874 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBED7301 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xBED73010 SWAP1 PUSH2 0x18B0 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x3DC2 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7D4B9483 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x7D4B9483 SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3E06 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP6 PUSH2 0x3E24 PUSH2 0x1AE6 PUSH2 0x1C42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E41 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3E5E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3E86 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55DF JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x3EAC JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP3 SWAP2 SWAP1 PUSH2 0x5899 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x754BA25D DUP4 PUSH2 0x3F52 PUSH2 0xE64 DUP7 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C1 SWAP3 SWAP2 SWAP1 PUSH2 0x5425 JUMP JUMPDEST PUSH2 0x3F78 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH2 0x3F81 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH2 0x1249 DUP4 DUP4 PUSH2 0x433E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F95 PUSH2 0x43B6 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD2570B94 DUP5 PUSH2 0x3FAE DUP6 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3FCB SWAP3 SWAP2 SWAP1 PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3FF2 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x401C DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH20 0x0 PUSH4 0xFF235A9 DUP4 PUSH2 0x403F PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5BEC4CB4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4093 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40B7 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH4 0xFFFFFFFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3AE40675 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xEB9019D4 SWAP1 PUSH2 0x18B0 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x550D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x413A DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x4189 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7AFD709B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xF5FAE136 SWAP1 PUSH1 0x24 ADD PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7C672B05 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xF8CE560A SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xFB03EC6F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xFB03EC6F SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xEAE JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xEAE JUMP JUMPDEST PUSH2 0x4276 DUP2 CALLER PUSH2 0x4981 JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x42A8 PUSH2 0x4279 JUMP JUMPDEST SWAP1 POP PUSH2 0x42B4 DUP5 DUP5 PUSH2 0x24A4 JUMP JUMPDEST PUSH2 0x4334 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x42EA CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xEAE JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xEAE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4349 PUSH2 0x4279 JUMP JUMPDEST SWAP1 POP PUSH2 0x4355 DUP5 DUP5 PUSH2 0x24A4 JUMP JUMPDEST ISZERO PUSH2 0x4334 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xEAE JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x4461 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4455 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59D0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x447F JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59B0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x198B DUP2 PUSH2 0x426C JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x44F3 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x44F0 SWAP2 DUP2 ADD SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4512 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59D0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x4543 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x153B JUMP JUMPDEST PUSH2 0x13C4 DUP4 DUP4 PUSH2 0x49AC JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x447F JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x45C9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x153B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45DC DUP7 PUSH2 0xDC0 DUP8 PUSH2 0x3EB3 JUMP JUMPDEST SWAP1 POP PUSH2 0x109C DUP7 DUP7 DUP7 DUP7 DUP6 DUP8 PUSH2 0x4837 JUMP JUMPDEST PUSH2 0x45F4 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE5ED920B DUP4 DUP4 CALLER PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP5 ADD MSTORE AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4656 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x109C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x467E JUMPI PUSH2 0x467E PUSH2 0x4E91 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4699 DUP5 PUSH2 0x14A0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x46A7 DUP4 PUSH2 0x466A JUMP JUMPDEST AND SUB PUSH2 0x1499 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x58BD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46D6 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x506B90DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA0D721B6 SWAP1 PUSH2 0x4707 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4777 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x479B SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0x0 PUSH4 0xABC517FD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x47E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x480B SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH2 0x4815 SWAP1 NUMBER PUSH2 0x572A JUMP JUMPDEST LT ISZERO PUSH2 0x198B JUMPI PUSH1 0x40 MLOAD PUSH4 0x474A8EDB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x153B JUMP JUMPDEST PUSH2 0x4845 DUP6 PUSH2 0x36C2 PUSH1 0x0 PUSH2 0x466A JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xCDC6AC0C DUP7 DUP9 DUP8 DUP8 DUP8 PUSH2 0x486E DUP13 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP8 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x488F SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x58DF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x48A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x48BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 ISZERO PUSH2 0x109C JUMPI PUSH2 0x48CD PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6CF88E73 CALLER DUP9 DUP9 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4903 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5836 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x491D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4931 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x64DBCB1D23926D04F2FEA8C7CC3F5D02846EE1E48940419CF422F69AE35813AA DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x4971 SWAP3 SWAP2 SWAP1 PUSH2 0x5874 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x498B DUP3 DUP3 PUSH2 0x24A4 JUMP JUMPDEST PUSH2 0x198B JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH2 0x49B5 DUP3 PUSH2 0x4A02 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x49FA JUMPI PUSH2 0x13C4 DUP3 DUP3 PUSH2 0x4A5E JUMP JUMPDEST PUSH2 0x198B PUSH2 0x4AD4 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4A2F JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59D0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x4A7B SWAP2 SWAP1 PUSH2 0x5953 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4AB6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4ABB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x4ACB DUP6 DUP4 DUP4 PUSH2 0x4AF3 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x447F JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4B08 JUMPI PUSH2 0x4B03 DUP3 PUSH2 0x4B46 JUMP JUMPDEST PUSH2 0x1499 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4B1F JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4B3F JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST POP DUP1 PUSH2 0x1499 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4B56 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x4276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1499 DUP2 PUSH2 0x4B99 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4BFE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4BE6 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4C1F DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4BE3 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4CE2 JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x4C9B DUP3 DUP8 ADD DUP3 PUSH2 0x4C07 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x4CB5 DUP4 DUP3 PUSH2 0x4C07 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4C5A JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4D2A DUP2 PUSH2 0x4CF0 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4D6D JUMPI PUSH2 0x4D6D PUSH2 0x4D35 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4D9B JUMPI PUSH2 0x4D9B PUSH2 0x4D35 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4DBC JUMPI PUSH2 0x4DBC PUSH2 0x4D35 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4DD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4DEC PUSH2 0x4DE7 DUP4 PUSH2 0x4DA3 JUMP JUMPDEST PUSH2 0x4D73 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4E0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4E26 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4E0F JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4E59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F5 DUP5 DUP3 DUP6 ADD PUSH2 0x4DC6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4E78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4E83 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x4EB7 JUMPI PUSH2 0x4EB7 PUSH2 0x4E91 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0xEAE DUP3 DUP5 PUSH2 0x4EA7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1499 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F16 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4EFA JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1499 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4F49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4F5B DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1499 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4C07 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4FBA JUMPI PUSH2 0x4FBA PUSH2 0x4D35 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4FDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4FE6 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5001 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x5012 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x5020 PUSH2 0x4DE7 DUP3 PUSH2 0x4FA1 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x5035 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x506A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP1 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5095 DUP9 DUP4 DUP10 ADD PUSH2 0x4DC6 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x50AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x50BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x50CB PUSH2 0x4DE7 DUP3 PUSH2 0x4DA3 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x50EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x5108 JUMPI DUP4 CALLDATALOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x50EF JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x513D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5148 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4D2A DUP2 PUSH2 0x4B99 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x4276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5190 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1499 DUP2 PUSH2 0x516C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1499 DUP2 PUSH2 0x4B99 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x5205 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x521B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x5229 PUSH2 0x4DE7 DUP3 PUSH2 0x4FA1 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x523E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F5 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4BE3 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5272 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5289 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x529D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x52AB PUSH2 0x4DE7 DUP3 PUSH2 0x4DA3 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP9 DUP4 GT ISZERO PUSH2 0x52CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 ADD JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5395 JUMPI DUP1 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x52E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 ADD PUSH1 0xC0 DUP2 DUP13 SUB PUSH1 0x1F NOT ADD SLT ISZERO PUSH2 0x52FC JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5304 PUSH2 0x4D4B JUMP JUMPDEST DUP9 DUP3 ADD MLOAD DUP2 MSTORE PUSH1 0x40 PUSH2 0x5317 DUP2 DUP5 ADD PUSH2 0x51FA JUMP JUMPDEST DUP11 DUP4 ADD MSTORE PUSH1 0x60 DUP1 DUP5 ADD MLOAD DUP10 DUP2 GT ISZERO PUSH2 0x532F JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x533D DUP16 DUP14 DUP4 DUP9 ADD ADD PUSH2 0x520A JUMP JUMPDEST DUP4 DUP6 ADD MSTORE POP PUSH1 0x80 SWAP2 POP DUP2 DUP5 ADD MLOAD DUP10 DUP2 GT ISZERO PUSH2 0x5358 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5366 DUP16 DUP14 DUP4 DUP9 ADD ADD PUSH2 0x520A JUMP JUMPDEST DUP3 DUP6 ADD MSTORE POP POP PUSH1 0xA0 DUP1 DUP5 ADD MLOAD DUP3 DUP5 ADD MSTORE PUSH2 0x5382 PUSH1 0xC0 DUP6 ADD PUSH2 0x524F JUMP JUMPDEST SWAP1 DUP4 ADD MSTORE POP DUP5 MSTORE POP SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x52CE JUMP JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x53B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1499 DUP3 PUSH2 0x524F JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x4ACB SWAP1 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5444 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x5454 PUSH2 0x4DE7 DUP4 PUSH2 0x4DA3 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x5473 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4E26 JUMPI DUP1 MLOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x5477 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x54B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F5 DUP5 DUP3 DUP6 ADD PUSH2 0x5433 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5501 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F5 DUP5 DUP3 DUP6 ADD PUSH2 0x520A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5538 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1499 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND DUP2 MSTORE SWAP2 SWAP1 SWAP3 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5580 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x55A2 JUMPI PUSH2 0x55A2 PUSH2 0x4D35 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 MLOAD PUSH2 0x55B0 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x55C0 DUP2 PUSH2 0x4B99 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x55D3 DUP2 PUSH2 0x516C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55FB DUP4 PUSH2 0x524F JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5623 DUP6 DUP3 DUP7 ADD PUSH2 0x520A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5660 SWAP1 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x567F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5696 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x56A2 DUP8 DUP4 DUP9 ADD PUSH2 0x5433 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x56B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x56C5 DUP7 DUP3 DUP8 ADD PUSH2 0x5433 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5660 SWAP1 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xEAE JUMPI PUSH2 0xEAE PUSH2 0x5714 JUMP JUMPDEST DUP5 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP3 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x5660 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5775 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x578C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5798 DUP7 DUP4 DUP8 ADD PUSH2 0x5433 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x57AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5623 DUP6 DUP3 DUP7 ADD PUSH2 0x5433 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xEAE JUMPI PUSH2 0xEAE PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5805 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x581C JUMPI PUSH2 0x581C PUSH2 0x5714 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xEAE JUMPI PUSH2 0xEAE PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x5865 JUMPI PUSH2 0x5865 PUSH2 0x4E91 JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x5887 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x4EE6 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4ACB DUP2 DUP6 PUSH2 0x4EE6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x17F5 SWAP1 DUP4 ADD DUP5 PUSH2 0x4C07 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x58D1 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x4EA7 JUMP JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP7 DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 DUP5 ADD MSTORE PUSH1 0xC0 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x5907 PUSH1 0xC0 DUP5 ADD DUP9 PUSH2 0x4EE6 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE DUP7 MLOAD DUP1 DUP3 MSTORE DUP3 DUP9 ADD SWAP2 DUP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x593A JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x591E JUMP JUMPDEST POP POP PUSH1 0x80 DUP6 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5965 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4BE3 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID DUP15 DUP11 0xDD 0xAA 0xC4 BALANCE PUSH7 0x2B768D45375EF4 DUP2 CALLER 0xB8 0xBA 0xD0 0xDA 0xAD 0x5C 0xE4 MULMOD PUSH16 0xD41007E8D31A8771840DC4906352362B 0xC 0xDA 0xF7 SWAP9 PUSH17 0x196C8E42ACAFADE72D5D5A6D59291253CE 0xB1 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC2B53661063988F1AD36E0A 0x49 0xD4 0xD9 0xA6 LOG3 LT PUSH7 0x52AAEED2BE542C DUP7 SWAP2 0xD5 CREATE2 REVERT AND DUP12 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7A2646970667358221220D5 0xC7 0xDD PUSH14 0x1113B2BDC8640A203047B96AE10E 0xC6 PUSH22 0x1A01DD2A2901EAEF3FBD7AA264736F6C634300081400 CALLER ","sourceMap":"7179:34049:96:-:0;;;1171:4:3;1128:48;;8362:47:96;;;;;;;;;-1:-1:-1;8382:22:96;:20;:22::i;:::-;7179:34049;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;7179:34049:96;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_52306":{"entryPoint":6385,"id":52306,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_50646":{"entryPoint":null,"id":50646,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@GOVERNANCE_ROLE_50640":{"entryPoint":null,"id":50640,"parameterSlots":0,"returnSlots":0},"@ROUND_STARTER_ROLE_50628":{"entryPoint":null,"id":50628,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_50634":{"entryPoint":null,"id":50634,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@_authorizeUpgrade_50726":{"entryPoint":17537,"id":50726,"parameterSlots":1,"returnSlots":0},"@_checkEarlyAccessEligibility_51797":{"entryPoint":17900,"id":51797,"parameterSlots":2,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":19156,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":17741,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":17370,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":17004,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":18817,"id":150,"parameterSlots":2,"returnSlots":0},"@_encodeStateBitmap_52857":{"entryPoint":18026,"id":52857,"parameterSlots":1,"returnSlots":1},"@_getAccessControlStorage_46":{"entryPoint":17017,"id":46,"parameterSlots":0,"returnSlots":1},"@_getExternalContractsStorage_83090":{"entryPoint":17334,"id":83090,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":17053,"id":315,"parameterSlots":2,"returnSlots":1},"@_handleCastVoteWithPower_51532":{"entryPoint":18487,"id":51532,"parameterSlots":6,"returnSlots":0},"@_handleCastVote_51469":{"entryPoint":17869,"id":51469,"parameterSlots":5,"returnSlots":0},"@_isNavigatorDead_51841":{"entryPoint":18124,"id":51841,"parameterSlots":1,"returnSlots":1},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_revert_5583":{"entryPoint":19270,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":17214,"id":361,"parameterSlots":2,"returnSlots":1},"@_setImplementation_4791":{"entryPoint":18946,"id":4791,"parameterSlots":1,"returnSlots":0},"@_upgradeToAndCallUUPS_1913":{"entryPoint":17561,"id":1913,"parameterSlots":2,"returnSlots":0},"@_validateSkipWindow_51824":{"entryPoint":18212,"id":51824,"parameterSlots":1,"returnSlots":0},"@_validateStateBitmap_51630":{"entryPoint":18061,"id":51630,"parameterSlots":2,"returnSlots":1},"@appSharesCap_52435":{"entryPoint":12168,"id":52435,"parameterSlots":0,"returnSlots":1},"@baseAllocationPercentage_52424":{"entryPoint":9164,"id":52424,"parameterSlots":0,"returnSlots":1},"@castNavigatorVote_51434":{"entryPoint":14004,"id":51434,"parameterSlots":2,"returnSlots":0},"@castVoteOnBehalfOf_51174":{"entryPoint":10243,"id":51174,"parameterSlots":2,"returnSlots":0},"@castVote_51041":{"entryPoint":6647,"id":51041,"parameterSlots":3,"returnSlots":0},"@citizenSkipWindowBlocks_52085":{"entryPoint":11935,"id":52085,"parameterSlots":0,"returnSlots":1},"@clock_52295":{"entryPoint":9434,"id":52295,"parameterSlots":0,"returnSlots":1},"@currentRoundDeadline_52339":{"entryPoint":7388,"id":52339,"parameterSlots":0,"returnSlots":1},"@currentRoundId_52317":{"entryPoint":9758,"id":52317,"parameterSlots":0,"returnSlots":1},"@currentRoundSnapshot_52328":{"entryPoint":7234,"id":52328,"parameterSlots":0,"returnSlots":1},"@disableAutoVotingFor_51753":{"entryPoint":7881,"id":51753,"parameterSlots":1,"returnSlots":0},"@finalizeRound_51554":{"entryPoint":4866,"id":51554,"parameterSlots":1,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":19038,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getAppIdsOfRound_52382":{"entryPoint":8474,"id":52382,"parameterSlots":1,"returnSlots":1},"@getAppVotesQF_52497":{"entryPoint":15726,"id":52497,"parameterSlots":2,"returnSlots":1},"@getAppVotes_52480":{"entryPoint":6260,"id":52480,"parameterSlots":2,"returnSlots":1},"@getAppsOfRound_52413":{"entryPoint":4530,"id":52413,"parameterSlots":1,"returnSlots":1},"@getDepositVotingPower_52259":{"entryPoint":10153,"id":52259,"parameterSlots":2,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":4498,"id":171,"parameterSlots":1,"returnSlots":1},"@getRoundAppSharesCap_52463":{"entryPoint":4260,"id":52463,"parameterSlots":1,"returnSlots":1},"@getRoundBaseAllocationPercentage_52449":{"entryPoint":4380,"id":52449,"parameterSlots":1,"returnSlots":1},"@getRound_52397":{"entryPoint":9239,"id":52397,"parameterSlots":1,"returnSlots":1},"@getTotalAutoVotingUsersAtRoundStart_52810":{"entryPoint":9833,"id":52810,"parameterSlots":0,"returnSlots":1},"@getTotalAutoVotingUsersAtTimepoint_52824":{"entryPoint":3880,"id":52824,"parameterSlots":1,"returnSlots":1},"@getTotalVotingPower_52217":{"entryPoint":6500,"id":52217,"parameterSlots":2,"returnSlots":1},"@getUserVotingPreferences_52786":{"entryPoint":5865,"id":52786,"parameterSlots":1,"returnSlots":1},"@getVotes_52201":{"entryPoint":16614,"id":52201,"parameterSlots":2,"returnSlots":1},"@grantRole_190":{"entryPoint":4653,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":9380,"id":116,"parameterSlots":2,"returnSlots":1},"@hasUserVotedForApp_52590":{"entryPoint":5992,"id":52590,"parameterSlots":3,"returnSlots":1},"@hasVotedOnce_52570":{"entryPoint":9700,"id":52570,"parameterSlots":1,"returnSlots":1},"@hasVoted_52556":{"entryPoint":6141,"id":52556,"parameterSlots":2,"returnSlots":1},"@initializeV9_50716":{"entryPoint":11389,"id":50716,"parameterSlots":2,"returnSlots":0},"@isActive_52101":{"entryPoint":8591,"id":52101,"parameterSlots":1,"returnSlots":1},"@isEligibleForVote_52239":{"entryPoint":16267,"id":52239,"parameterSlots":2,"returnSlots":1},"@isFinalized_52676":{"entryPoint":4746,"id":52676,"parameterSlots":1,"returnSlots":1},"@isUserAutoVotingEnabledAtTimepoint_52771":{"entryPoint":10093,"id":52771,"parameterSlots":2,"returnSlots":1},"@isUserAutoVotingEnabledForRound_52754":{"entryPoint":5141,"id":52754,"parameterSlots":2,"returnSlots":1},"@isUserAutoVotingEnabledInCurrentRound_52732":{"entryPoint":7556,"id":52732,"parameterSlots":1,"returnSlots":1},"@isUserAutoVotingEnabled_52705":{"entryPoint":8533,"id":52705,"parameterSlots":1,"returnSlots":1},"@latestSucceededRoundId_52662":{"entryPoint":4687,"id":52662,"parameterSlots":1,"returnSlots":1},"@navigatorRegistry_52837":{"entryPoint":16360,"id":52837,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":6618,"id":1804,"parameterSlots":0,"returnSlots":1},"@quorumDenominator_52637":{"entryPoint":9625,"id":52637,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_52612":{"entryPoint":null,"id":52612,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_52626":{"entryPoint":7747,"id":52626,"parameterSlots":1,"returnSlots":1},"@quorumPercentage_52648":{"entryPoint":6543,"id":52648,"parameterSlots":0,"returnSlots":1},"@quorumReached_52184":{"entryPoint":16169,"id":52184,"parameterSlots":1,"returnSlots":1},"@quorum_52284":{"entryPoint":16833,"id":52284,"parameterSlots":1,"returnSlots":1},"@renounceRole_232":{"entryPoint":5009,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":16239,"id":209,"parameterSlots":2,"returnSlots":0},"@roundDeadline_52367":{"entryPoint":16110,"id":52367,"parameterSlots":1,"returnSlots":1},"@roundQuorum_52691":{"entryPoint":7463,"id":52691,"parameterSlots":1,"returnSlots":1},"@roundSnapshot_52353":{"entryPoint":16051,"id":52353,"parameterSlots":1,"returnSlots":1},"@setAppSharesCap_51992":{"entryPoint":8315,"id":51992,"parameterSlots":1,"returnSlots":0},"@setB3TRGovernor_51926":{"entryPoint":8395,"id":51926,"parameterSlots":1,"returnSlots":0},"@setBaseAllocationPercentage_52008":{"entryPoint":16753,"id":52008,"parameterSlots":1,"returnSlots":0},"@setCitizenSkipWindowBlocks_52046":{"entryPoint":9545,"id":52046,"parameterSlots":1,"returnSlots":0},"@setEmissionsAddress_51875":{"entryPoint":7309,"id":51875,"parameterSlots":1,"returnSlots":0},"@setNavigatorRegistry_51960":{"entryPoint":16674,"id":51960,"parameterSlots":1,"returnSlots":0},"@setRelayerRewardsPoolAddress_51943":{"entryPoint":7477,"id":51943,"parameterSlots":1,"returnSlots":0},"@setUserVotingPreferences_51776":{"entryPoint":5065,"id":51776,"parameterSlots":1,"returnSlots":0},"@setVeBetterPassport_51909":{"entryPoint":12089,"id":51909,"parameterSlots":1,"returnSlots":0},"@setVoterRewardsAddress_51892":{"entryPoint":12010,"id":51892,"parameterSlots":1,"returnSlots":0},"@setVotingPeriod_52030":{"entryPoint":16388,"id":52030,"parameterSlots":1,"returnSlots":0},"@setVotingThreshold_51976":{"entryPoint":8627,"id":51976,"parameterSlots":1,"returnSlots":0},"@setX2EarnAppsAddress_51858":{"entryPoint":15786,"id":51858,"parameterSlots":1,"returnSlots":0},"@startNewRound_50941":{"entryPoint":12243,"id":50941,"parameterSlots":0,"returnSlots":1},"@state_52165":{"entryPoint":5280,"id":52165,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_52881":{"entryPoint":3721,"id":52881,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":16951,"id":91,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":17814,"id":7770,"parameterSlots":1,"returnSlots":1},"@toggleAutoVoting_51698":{"entryPoint":8707,"id":51698,"parameterSlots":1,"returnSlots":0},"@totalVoters_52539":{"entryPoint":6201,"id":52539,"parameterSlots":1,"returnSlots":1},"@totalVotesQF_52525":{"entryPoint":16892,"id":52525,"parameterSlots":1,"returnSlots":1},"@totalVotes_52511":{"entryPoint":4439,"id":52511,"parameterSlots":1,"returnSlots":1},"@updateQuorumNumerator_52065":{"entryPoint":4003,"id":52065,"parameterSlots":1,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":6512,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":18860,"id":4825,"parameterSlots":2,"returnSlots":0},"@validatePersonhoodForCurrentRound_51591":{"entryPoint":15865,"id":51591,"parameterSlots":1,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":19187,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_52074":{"entryPoint":null,"id":52074,"parameterSlots":0,"returnSlots":1},"@votingPeriod_52270":{"entryPoint":3764,"id":52270,"parameterSlots":0,"returnSlots":1},"@votingThreshold_52601":{"entryPoint":7806,"id":52601,"parameterSlots":0,"returnSlots":1},"abi_decode_address_fromMemory":{"entryPoint":20986,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_bytes32_dyn":{"entryPoint":19910,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes32_dyn_fromMemory":{"entryPoint":21555,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bool_fromMemory":{"entryPoint":21071,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_fromMemory":{"entryPoint":21002,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":20169,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":21798,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":20424,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":20069,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint48":{"entryPoint":20778,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":20017,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory":{"entryPoint":21646,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr_fromMemory":{"entryPoint":22370,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256_fromMemory":{"entryPoint":22122,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":21087,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":21410,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory":{"entryPoint":21983,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":19717,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":19311,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IEmissions_$64454":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVoterRewards_$69092":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IX2EarnApps_$69989":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":21721,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_RoundCore_$82969_memory_ptr_fromMemory":{"entryPoint":21870,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint208_fromMemory":{"entryPoint":20916,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":19402,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":20891,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_addresst_bytes32":{"entryPoint":20276,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":20565,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_bytes32":{"entryPoint":20332,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint32":{"entryPoint":20862,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48":{"entryPoint":19373,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":20957,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_bytes32_dyn":{"entryPoint":20198,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_enum_RoundState":{"entryPoint":20135,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_string":{"entryPoint":19463,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22867,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":21464,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":22061,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":22582,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint48__to_t_address_t_address_t_uint48__fromStack_library_reversed":{"entryPoint":21827,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22681,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":21773,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_library_reversed":{"entryPoint":21508,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":22230,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":20257,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":22644,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":19507,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool_t_uint256_t_uint256__to_t_bool_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed":{"entryPoint":20824,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_RoundState_$70612__to_t_uint8__fromStack_reversed":{"entryPoint":20155,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":20366,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_RoundCore_$82969_memory_ptr__to_t_struct$_RoundCore_$82969_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":21698,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_address__to_t_uint256_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__fromStack_library_reversed":{"entryPoint":22751,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_bytes32__to_t_uint256_t_address_t_bytes32__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_RoundState_$70612_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":22717,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed":{"entryPoint":21541,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":22333,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint8_t_bool__to_t_uint256_t_uint8_t_bool__fromStack_library_reversed":{"entryPoint":21437,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint32_t_uint256__to_t_uint32_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":20759,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":19827,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_5317":{"entryPoint":19787,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_array_bytes32_dyn":{"entryPoint":19875,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_bytes":{"entryPoint":20385,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":22314,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":22504,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":22481,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":22563,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":19427,"id":null,"parameterSlots":3,"returnSlots":0},"increment_t_uint256":{"entryPoint":22538,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":22292,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":20113,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":22459,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":19765,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":19696,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint32":{"entryPoint":20844,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint48":{"entryPoint":19353,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:40916:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"83:217:150","statements":[{"body":{"nodeType":"YulBlock","src":"129:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"138:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"141:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"131:6:150"},"nodeType":"YulFunctionCall","src":"131:12:150"},"nodeType":"YulExpressionStatement","src":"131:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"104:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"113:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"100:3:150"},"nodeType":"YulFunctionCall","src":"100:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"125:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"96:3:150"},"nodeType":"YulFunctionCall","src":"96:32:150"},"nodeType":"YulIf","src":"93:52:150"},{"nodeType":"YulVariableDeclaration","src":"154:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"180:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"167:12:150"},"nodeType":"YulFunctionCall","src":"167:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"158:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"254:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"263:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"266:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"256:6:150"},"nodeType":"YulFunctionCall","src":"256:12:150"},"nodeType":"YulExpressionStatement","src":"256:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"212:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"223:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"234:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"239:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"230:3:150"},"nodeType":"YulFunctionCall","src":"230:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"219:3:150"},"nodeType":"YulFunctionCall","src":"219:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"209:2:150"},"nodeType":"YulFunctionCall","src":"209:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"202:6:150"},"nodeType":"YulFunctionCall","src":"202:51:150"},"nodeType":"YulIf","src":"199:71:150"},{"nodeType":"YulAssignment","src":"279:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"289:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"279:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"49:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"60:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"72:6:150","type":""}],"src":"14:286:150"},{"body":{"nodeType":"YulBlock","src":"400:92:150","statements":[{"nodeType":"YulAssignment","src":"410:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"422:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"433:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"418:3:150"},"nodeType":"YulFunctionCall","src":"418:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"410:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"452:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"477:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"470:6:150"},"nodeType":"YulFunctionCall","src":"470:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"463:6:150"},"nodeType":"YulFunctionCall","src":"463:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"445:6:150"},"nodeType":"YulFunctionCall","src":"445:41:150"},"nodeType":"YulExpressionStatement","src":"445:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"369:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"380:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"391:4:150","type":""}],"src":"305:187:150"},{"body":{"nodeType":"YulBlock","src":"598:76:150","statements":[{"nodeType":"YulAssignment","src":"608:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"620:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"631:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"616:3:150"},"nodeType":"YulFunctionCall","src":"616:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"608:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"650:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"661:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"643:6:150"},"nodeType":"YulFunctionCall","src":"643:25:150"},"nodeType":"YulExpressionStatement","src":"643:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"567:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"578:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"589:4:150","type":""}],"src":"497:177:150"},{"body":{"nodeType":"YulBlock","src":"723:81:150","statements":[{"body":{"nodeType":"YulBlock","src":"782:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"791:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"794:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"784:6:150"},"nodeType":"YulFunctionCall","src":"784:12:150"},"nodeType":"YulExpressionStatement","src":"784:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"746:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"757:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"764:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"753:3:150"},"nodeType":"YulFunctionCall","src":"753:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"743:2:150"},"nodeType":"YulFunctionCall","src":"743:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"736:6:150"},"nodeType":"YulFunctionCall","src":"736:45:150"},"nodeType":"YulIf","src":"733:65:150"}]},"name":"validator_revert_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"712:5:150","type":""}],"src":"679:125:150"},{"body":{"nodeType":"YulBlock","src":"878:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"924:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"933:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"936:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"926:6:150"},"nodeType":"YulFunctionCall","src":"926:12:150"},"nodeType":"YulExpressionStatement","src":"926:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"899:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"908:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"895:3:150"},"nodeType":"YulFunctionCall","src":"895:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"920:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"891:3:150"},"nodeType":"YulFunctionCall","src":"891:32:150"},"nodeType":"YulIf","src":"888:52:150"},{"nodeType":"YulVariableDeclaration","src":"949:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"975:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"962:12:150"},"nodeType":"YulFunctionCall","src":"962:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"953:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1018:5:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"994:23:150"},"nodeType":"YulFunctionCall","src":"994:30:150"},"nodeType":"YulExpressionStatement","src":"994:30:150"},{"nodeType":"YulAssignment","src":"1033:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1043:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1033:6:150"}]}]},"name":"abi_decode_tuple_t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"844:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"855:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"867:6:150","type":""}],"src":"809:245:150"},{"body":{"nodeType":"YulBlock","src":"1160:102:150","statements":[{"nodeType":"YulAssignment","src":"1170:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1182:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1193:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1178:3:150"},"nodeType":"YulFunctionCall","src":"1178:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1170:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1212:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1227:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1243:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"1248:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1239:3:150"},"nodeType":"YulFunctionCall","src":"1239:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"1252:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1235:3:150"},"nodeType":"YulFunctionCall","src":"1235:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1223:3:150"},"nodeType":"YulFunctionCall","src":"1223:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1205:6:150"},"nodeType":"YulFunctionCall","src":"1205:51:150"},"nodeType":"YulExpressionStatement","src":"1205:51:150"}]},"name":"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1129:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1140:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1151:4:150","type":""}],"src":"1059:203:150"},{"body":{"nodeType":"YulBlock","src":"1337:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1383:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1392:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1395:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1385:6:150"},"nodeType":"YulFunctionCall","src":"1385:12:150"},"nodeType":"YulExpressionStatement","src":"1385:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1358:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1367:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1354:3:150"},"nodeType":"YulFunctionCall","src":"1354:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1379:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1350:3:150"},"nodeType":"YulFunctionCall","src":"1350:32:150"},"nodeType":"YulIf","src":"1347:52:150"},{"nodeType":"YulAssignment","src":"1408:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1431:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1418:12:150"},"nodeType":"YulFunctionCall","src":"1418:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1408:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1303:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1314:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1326:6:150","type":""}],"src":"1267:180:150"},{"body":{"nodeType":"YulBlock","src":"1522:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1568:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1577:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1580:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1570:6:150"},"nodeType":"YulFunctionCall","src":"1570:12:150"},"nodeType":"YulExpressionStatement","src":"1570:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1543:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1552:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1539:3:150"},"nodeType":"YulFunctionCall","src":"1539:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1564:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1535:3:150"},"nodeType":"YulFunctionCall","src":"1535:32:150"},"nodeType":"YulIf","src":"1532:52:150"},{"nodeType":"YulAssignment","src":"1593:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1616:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1603:12:150"},"nodeType":"YulFunctionCall","src":"1603:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1593:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1488:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1499:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1511:6:150","type":""}],"src":"1452:180:150"},{"body":{"nodeType":"YulBlock","src":"1738:76:150","statements":[{"nodeType":"YulAssignment","src":"1748:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1760:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1771:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1756:3:150"},"nodeType":"YulFunctionCall","src":"1756:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1748:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1790:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1801:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1783:6:150"},"nodeType":"YulFunctionCall","src":"1783:25:150"},"nodeType":"YulExpressionStatement","src":"1783:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1707:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1718:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1729:4:150","type":""}],"src":"1637:177:150"},{"body":{"nodeType":"YulBlock","src":"1885:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1895:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1904:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1899:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1964:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1989:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1994:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1985:3:150"},"nodeType":"YulFunctionCall","src":"1985:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2008:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"2013:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2004:3:150"},"nodeType":"YulFunctionCall","src":"2004:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1998:5:150"},"nodeType":"YulFunctionCall","src":"1998:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1978:6:150"},"nodeType":"YulFunctionCall","src":"1978:39:150"},"nodeType":"YulExpressionStatement","src":"1978:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1925:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1928:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1922:2:150"},"nodeType":"YulFunctionCall","src":"1922:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1936:19:150","statements":[{"nodeType":"YulAssignment","src":"1938:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1947:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1950:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1943:3:150"},"nodeType":"YulFunctionCall","src":"1943:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1938:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1918:3:150","statements":[]},"src":"1914:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2047:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2052:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2043:3:150"},"nodeType":"YulFunctionCall","src":"2043:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"2061:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2036:6:150"},"nodeType":"YulFunctionCall","src":"2036:27:150"},"nodeType":"YulExpressionStatement","src":"2036:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1863:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1868:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1873:6:150","type":""}],"src":"1819:250:150"},{"body":{"nodeType":"YulBlock","src":"2124:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2134:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2154:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2148:5:150"},"nodeType":"YulFunctionCall","src":"2148:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2138:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2176:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2181:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2169:6:150"},"nodeType":"YulFunctionCall","src":"2169:19:150"},"nodeType":"YulExpressionStatement","src":"2169:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2236:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2243:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2232:3:150"},"nodeType":"YulFunctionCall","src":"2232:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2254:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2259:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2250:3:150"},"nodeType":"YulFunctionCall","src":"2250:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"2266:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2197:34:150"},"nodeType":"YulFunctionCall","src":"2197:76:150"},"nodeType":"YulExpressionStatement","src":"2197:76:150"},{"nodeType":"YulAssignment","src":"2282:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2297:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2310:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2318:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2306:3:150"},"nodeType":"YulFunctionCall","src":"2306:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2327:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2323:3:150"},"nodeType":"YulFunctionCall","src":"2323:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2302:3:150"},"nodeType":"YulFunctionCall","src":"2302:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2293:3:150"},"nodeType":"YulFunctionCall","src":"2293:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"2334:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:150"},"nodeType":"YulFunctionCall","src":"2289:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2282:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2101:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2108:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2116:3:150","type":""}],"src":"2074:271:150"},{"body":{"nodeType":"YulBlock","src":"2587:1355:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2597:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2607:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2601:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2618:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2636:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2647:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2632:3:150"},"nodeType":"YulFunctionCall","src":"2632:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"2622:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2666:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2677:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2659:6:150"},"nodeType":"YulFunctionCall","src":"2659:21:150"},"nodeType":"YulExpressionStatement","src":"2659:21:150"},{"nodeType":"YulVariableDeclaration","src":"2689:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"2700:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"2693:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2715:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2735:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2729:5:150"},"nodeType":"YulFunctionCall","src":"2729:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2719:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"2758:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"2766:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2751:6:150"},"nodeType":"YulFunctionCall","src":"2751:22:150"},"nodeType":"YulExpressionStatement","src":"2751:22:150"},{"nodeType":"YulVariableDeclaration","src":"2782:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2792:2:150","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2786:2:150","type":""}]},{"nodeType":"YulAssignment","src":"2803:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2814:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2825:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2810:3:150"},"nodeType":"YulFunctionCall","src":"2810:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2803:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2837:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2859:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2874:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"2877:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2870:3:150"},"nodeType":"YulFunctionCall","src":"2870:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2855:3:150"},"nodeType":"YulFunctionCall","src":"2855:30:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2887:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2851:3:150"},"nodeType":"YulFunctionCall","src":"2851:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"2841:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2899:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2917:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2925:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2913:3:150"},"nodeType":"YulFunctionCall","src":"2913:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"2903:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2937:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2946:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2941:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3005:908:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3026:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3039:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3047:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3035:3:150"},"nodeType":"YulFunctionCall","src":"3035:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3063:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3059:3:150"},"nodeType":"YulFunctionCall","src":"3059:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3031:3:150"},"nodeType":"YulFunctionCall","src":"3031:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3019:6:150"},"nodeType":"YulFunctionCall","src":"3019:49:150"},"nodeType":"YulExpressionStatement","src":"3019:49:150"},{"nodeType":"YulVariableDeclaration","src":"3081:23:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3097:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3091:5:150"},"nodeType":"YulFunctionCall","src":"3091:13:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3085:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3117:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3127:4:150","type":"","value":"0xc0"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"3121:2:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3151:6:150"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3165:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3159:5:150"},"nodeType":"YulFunctionCall","src":"3159:9:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3144:6:150"},"nodeType":"YulFunctionCall","src":"3144:25:150"},"nodeType":"YulExpressionStatement","src":"3144:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3193:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3201:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3189:3:150"},"nodeType":"YulFunctionCall","src":"3189:15:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3220:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3224:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3216:3:150"},"nodeType":"YulFunctionCall","src":"3216:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3210:5:150"},"nodeType":"YulFunctionCall","src":"3210:18:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3238:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3243:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3234:3:150"},"nodeType":"YulFunctionCall","src":"3234:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3247:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3230:3:150"},"nodeType":"YulFunctionCall","src":"3230:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3206:3:150"},"nodeType":"YulFunctionCall","src":"3206:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3182:6:150"},"nodeType":"YulFunctionCall","src":"3182:69:150"},"nodeType":"YulExpressionStatement","src":"3182:69:150"},{"nodeType":"YulVariableDeclaration","src":"3264:38:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3294:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3298:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3290:3:150"},"nodeType":"YulFunctionCall","src":"3290:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3284:5:150"},"nodeType":"YulFunctionCall","src":"3284:18:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"3268:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3326:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3334:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3322:3:150"},"nodeType":"YulFunctionCall","src":"3322:15:150"},{"name":"_4","nodeType":"YulIdentifier","src":"3339:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3315:6:150"},"nodeType":"YulFunctionCall","src":"3315:27:150"},"nodeType":"YulExpressionStatement","src":"3315:27:150"},{"nodeType":"YulVariableDeclaration","src":"3355:62:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"3387:12:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3405:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"3413:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3401:3:150"},"nodeType":"YulFunctionCall","src":"3401:15:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3369:17:150"},"nodeType":"YulFunctionCall","src":"3369:48:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"3359:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3430:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3440:4:150","type":"","value":"0x60"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"3434:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3457:40:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3489:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"3493:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3485:3:150"},"nodeType":"YulFunctionCall","src":"3485:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3479:5:150"},"nodeType":"YulFunctionCall","src":"3479:18:150"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"3461:14:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3521:6:150"},{"name":"_5","nodeType":"YulIdentifier","src":"3529:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3517:3:150"},"nodeType":"YulFunctionCall","src":"3517:15:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"3538:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"3546:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3534:3:150"},"nodeType":"YulFunctionCall","src":"3534:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3510:6:150"},"nodeType":"YulFunctionCall","src":"3510:44:150"},"nodeType":"YulExpressionStatement","src":"3510:44:150"},{"nodeType":"YulVariableDeclaration","src":"3567:55:150","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"3599:14:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"3615:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3581:17:150"},"nodeType":"YulFunctionCall","src":"3581:41:150"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"3571:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3635:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3645:4:150","type":"","value":"0x80"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"3639:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3673:6:150"},{"name":"_6","nodeType":"YulIdentifier","src":"3681:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3669:3:150"},"nodeType":"YulFunctionCall","src":"3669:15:150"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3696:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"3700:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3692:3:150"},"nodeType":"YulFunctionCall","src":"3692:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3686:5:150"},"nodeType":"YulFunctionCall","src":"3686:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3662:6:150"},"nodeType":"YulFunctionCall","src":"3662:43:150"},"nodeType":"YulExpressionStatement","src":"3662:43:150"},{"nodeType":"YulVariableDeclaration","src":"3718:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3728:4:150","type":"","value":"0xa0"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"3722:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3756:6:150"},{"name":"_7","nodeType":"YulIdentifier","src":"3764:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3752:3:150"},"nodeType":"YulFunctionCall","src":"3752:15:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3793:2:150"},{"name":"_7","nodeType":"YulIdentifier","src":"3797:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3789:3:150"},"nodeType":"YulFunctionCall","src":"3789:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3783:5:150"},"nodeType":"YulFunctionCall","src":"3783:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3776:6:150"},"nodeType":"YulFunctionCall","src":"3776:26:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3769:6:150"},"nodeType":"YulFunctionCall","src":"3769:34:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3745:6:150"},"nodeType":"YulFunctionCall","src":"3745:59:150"},"nodeType":"YulExpressionStatement","src":"3745:59:150"},{"nodeType":"YulAssignment","src":"3817:16:150","value":{"name":"tail_4","nodeType":"YulIdentifier","src":"3827:6:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3817:6:150"}]},{"nodeType":"YulAssignment","src":"3846:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3860:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3868:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3856:3:150"},"nodeType":"YulFunctionCall","src":"3856:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3846:6:150"}]},{"nodeType":"YulAssignment","src":"3884:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3895:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3900:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3891:3:150"},"nodeType":"YulFunctionCall","src":"3891:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3884:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2967:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"2970:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2964:2:150"},"nodeType":"YulFunctionCall","src":"2964:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2978:18:150","statements":[{"nodeType":"YulAssignment","src":"2980:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2989:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"2992:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2985:3:150"},"nodeType":"YulFunctionCall","src":"2985:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2980:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"2960:3:150","statements":[]},"src":"2956:957:150"},{"nodeType":"YulAssignment","src":"3922:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"3930:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3922:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2556:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2567:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2578:4:150","type":""}],"src":"2350:1592:150"},{"body":{"nodeType":"YulBlock","src":"3992:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"4056:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4065:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4068:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4058:6:150"},"nodeType":"YulFunctionCall","src":"4058:12:150"},"nodeType":"YulExpressionStatement","src":"4058:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4015:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4026:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4041:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4046:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4037:3:150"},"nodeType":"YulFunctionCall","src":"4037:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4050:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4033:3:150"},"nodeType":"YulFunctionCall","src":"4033:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4022:3:150"},"nodeType":"YulFunctionCall","src":"4022:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4012:2:150"},"nodeType":"YulFunctionCall","src":"4012:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4005:6:150"},"nodeType":"YulFunctionCall","src":"4005:50:150"},"nodeType":"YulIf","src":"4002:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3981:5:150","type":""}],"src":"3947:131:150"},{"body":{"nodeType":"YulBlock","src":"4170:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"4216:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4225:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4228:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4218:6:150"},"nodeType":"YulFunctionCall","src":"4218:12:150"},"nodeType":"YulExpressionStatement","src":"4218:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4191:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4200:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4187:3:150"},"nodeType":"YulFunctionCall","src":"4187:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4212:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4183:3:150"},"nodeType":"YulFunctionCall","src":"4183:32:150"},"nodeType":"YulIf","src":"4180:52:150"},{"nodeType":"YulAssignment","src":"4241:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4264:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4251:12:150"},"nodeType":"YulFunctionCall","src":"4251:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4241:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4283:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4324:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4309:3:150"},"nodeType":"YulFunctionCall","src":"4309:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4296:12:150"},"nodeType":"YulFunctionCall","src":"4296:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4287:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4362:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4337:24:150"},"nodeType":"YulFunctionCall","src":"4337:31:150"},"nodeType":"YulExpressionStatement","src":"4337:31:150"},{"nodeType":"YulAssignment","src":"4377:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4387:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4377:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4128:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4139:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4151:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4159:6:150","type":""}],"src":"4083:315:150"},{"body":{"nodeType":"YulBlock","src":"4435:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4452:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4459:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4464:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4455:3:150"},"nodeType":"YulFunctionCall","src":"4455:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4445:6:150"},"nodeType":"YulFunctionCall","src":"4445:31:150"},"nodeType":"YulExpressionStatement","src":"4445:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4492:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4495:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4485:6:150"},"nodeType":"YulFunctionCall","src":"4485:15:150"},"nodeType":"YulExpressionStatement","src":"4485:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4516:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4519:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4509:6:150"},"nodeType":"YulFunctionCall","src":"4509:15:150"},"nodeType":"YulExpressionStatement","src":"4509:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"4403:127:150"},{"body":{"nodeType":"YulBlock","src":"4581:207:150","statements":[{"nodeType":"YulAssignment","src":"4591:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4607:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4601:5:150"},"nodeType":"YulFunctionCall","src":"4601:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4591:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4619:35:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4641:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4649:4:150","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4637:3:150"},"nodeType":"YulFunctionCall","src":"4637:17:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4623:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4729:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4731:16:150"},"nodeType":"YulFunctionCall","src":"4731:18:150"},"nodeType":"YulExpressionStatement","src":"4731:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4672:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4692:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4696:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4688:3:150"},"nodeType":"YulFunctionCall","src":"4688:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4700:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4684:3:150"},"nodeType":"YulFunctionCall","src":"4684:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4669:2:150"},"nodeType":"YulFunctionCall","src":"4669:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4708:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4720:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4705:2:150"},"nodeType":"YulFunctionCall","src":"4705:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4666:2:150"},"nodeType":"YulFunctionCall","src":"4666:62:150"},"nodeType":"YulIf","src":"4663:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4767:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4771:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4760:6:150"},"nodeType":"YulFunctionCall","src":"4760:22:150"},"nodeType":"YulExpressionStatement","src":"4760:22:150"}]},"name":"allocate_memory_5317","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4570:6:150","type":""}],"src":"4535:253:150"},{"body":{"nodeType":"YulBlock","src":"4838:230:150","statements":[{"nodeType":"YulAssignment","src":"4848:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4864:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4858:5:150"},"nodeType":"YulFunctionCall","src":"4858:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4848:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4876:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4898:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"4914:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"4920:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4910:3:150"},"nodeType":"YulFunctionCall","src":"4910:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4929:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4925:3:150"},"nodeType":"YulFunctionCall","src":"4925:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4906:3:150"},"nodeType":"YulFunctionCall","src":"4906:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4894:3:150"},"nodeType":"YulFunctionCall","src":"4894:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4880:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5009:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5011:16:150"},"nodeType":"YulFunctionCall","src":"5011:18:150"},"nodeType":"YulExpressionStatement","src":"5011:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4952:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4972:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4976:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4968:3:150"},"nodeType":"YulFunctionCall","src":"4968:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4980:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4964:3:150"},"nodeType":"YulFunctionCall","src":"4964:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4949:2:150"},"nodeType":"YulFunctionCall","src":"4949:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4988:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5000:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4985:2:150"},"nodeType":"YulFunctionCall","src":"4985:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4946:2:150"},"nodeType":"YulFunctionCall","src":"4946:62:150"},"nodeType":"YulIf","src":"4943:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5047:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5051:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5040:6:150"},"nodeType":"YulFunctionCall","src":"5040:22:150"},"nodeType":"YulExpressionStatement","src":"5040:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"4818:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4827:6:150","type":""}],"src":"4793:275:150"},{"body":{"nodeType":"YulBlock","src":"5142:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"5186:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5188:16:150"},"nodeType":"YulFunctionCall","src":"5188:18:150"},"nodeType":"YulExpressionStatement","src":"5188:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5158:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5174:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5178:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5170:3:150"},"nodeType":"YulFunctionCall","src":"5170:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5182:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5166:3:150"},"nodeType":"YulFunctionCall","src":"5166:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5155:2:150"},"nodeType":"YulFunctionCall","src":"5155:30:150"},"nodeType":"YulIf","src":"5152:56:150"},{"nodeType":"YulAssignment","src":"5217:33:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5233:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"5236:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5229:3:150"},"nodeType":"YulFunctionCall","src":"5229:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"5245:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5225:3:150"},"nodeType":"YulFunctionCall","src":"5225:25:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"5217:4:150"}]}]},"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"5122:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"5133:4:150","type":""}],"src":"5073:183:150"},{"body":{"nodeType":"YulBlock","src":"5325:598:150","statements":[{"body":{"nodeType":"YulBlock","src":"5374:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5383:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5386:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5376:6:150"},"nodeType":"YulFunctionCall","src":"5376:12:150"},"nodeType":"YulExpressionStatement","src":"5376:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5353:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5361:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5349:3:150"},"nodeType":"YulFunctionCall","src":"5349:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"5368:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5345:3:150"},"nodeType":"YulFunctionCall","src":"5345:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5338:6:150"},"nodeType":"YulFunctionCall","src":"5338:35:150"},"nodeType":"YulIf","src":"5335:55:150"},{"nodeType":"YulVariableDeclaration","src":"5399:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5422:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5409:12:150"},"nodeType":"YulFunctionCall","src":"5409:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5403:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5438:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5448:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"5442:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5461:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"5528:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"5488:39:150"},"nodeType":"YulFunctionCall","src":"5488:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5472:15:150"},"nodeType":"YulFunctionCall","src":"5472:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"5465:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5541:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"5554:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"5545:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5573:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5578:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5566:6:150"},"nodeType":"YulFunctionCall","src":"5566:15:150"},"nodeType":"YulExpressionStatement","src":"5566:15:150"},{"nodeType":"YulAssignment","src":"5590:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5601:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5606:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5597:3:150"},"nodeType":"YulFunctionCall","src":"5597:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5590:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"5618:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5640:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5652:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"5655:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5648:3:150"},"nodeType":"YulFunctionCall","src":"5648:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5636:3:150"},"nodeType":"YulFunctionCall","src":"5636:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5661:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5632:3:150"},"nodeType":"YulFunctionCall","src":"5632:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"5622:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5692:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5701:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5704:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5694:6:150"},"nodeType":"YulFunctionCall","src":"5694:12:150"},"nodeType":"YulExpressionStatement","src":"5694:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"5679:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"5687:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5676:2:150"},"nodeType":"YulFunctionCall","src":"5676:15:150"},"nodeType":"YulIf","src":"5673:35:150"},{"nodeType":"YulVariableDeclaration","src":"5717:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5732:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5740:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5728:3:150"},"nodeType":"YulFunctionCall","src":"5728:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"5721:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5808:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5829:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5847:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5834:12:150"},"nodeType":"YulFunctionCall","src":"5834:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5822:6:150"},"nodeType":"YulFunctionCall","src":"5822:30:150"},"nodeType":"YulExpressionStatement","src":"5822:30:150"},{"nodeType":"YulAssignment","src":"5865:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5876:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5881:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5872:3:150"},"nodeType":"YulFunctionCall","src":"5872:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5865:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5763:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"5768:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5760:2:150"},"nodeType":"YulFunctionCall","src":"5760:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5776:23:150","statements":[{"nodeType":"YulAssignment","src":"5778:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5789:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5794:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5785:3:150"},"nodeType":"YulFunctionCall","src":"5785:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"5778:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5756:3:150","statements":[]},"src":"5752:142:150"},{"nodeType":"YulAssignment","src":"5903:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"5912:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5903:5:150"}]}]},"name":"abi_decode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5299:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5307:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5315:5:150","type":""}],"src":"5261:662:150"},{"body":{"nodeType":"YulBlock","src":"6023:253:150","statements":[{"body":{"nodeType":"YulBlock","src":"6069:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6078:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6081:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6071:6:150"},"nodeType":"YulFunctionCall","src":"6071:12:150"},"nodeType":"YulExpressionStatement","src":"6071:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6044:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6053:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6040:3:150"},"nodeType":"YulFunctionCall","src":"6040:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6065:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6036:3:150"},"nodeType":"YulFunctionCall","src":"6036:32:150"},"nodeType":"YulIf","src":"6033:52:150"},{"nodeType":"YulVariableDeclaration","src":"6094:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6121:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6108:12:150"},"nodeType":"YulFunctionCall","src":"6108:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6098:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6174:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6183:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6186:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6176:6:150"},"nodeType":"YulFunctionCall","src":"6176:12:150"},"nodeType":"YulExpressionStatement","src":"6176:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6146:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6162:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6166:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6158:3:150"},"nodeType":"YulFunctionCall","src":"6158:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6170:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6154:3:150"},"nodeType":"YulFunctionCall","src":"6154:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6143:2:150"},"nodeType":"YulFunctionCall","src":"6143:30:150"},"nodeType":"YulIf","src":"6140:50:150"},{"nodeType":"YulAssignment","src":"6199:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6242:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6253:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6238:3:150"},"nodeType":"YulFunctionCall","src":"6238:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6262:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"6209:28:150"},"nodeType":"YulFunctionCall","src":"6209:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6199:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5989:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6000:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6012:6:150","type":""}],"src":"5928:348:150"},{"body":{"nodeType":"YulBlock","src":"6368:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"6414:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6423:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6426:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6416:6:150"},"nodeType":"YulFunctionCall","src":"6416:12:150"},"nodeType":"YulExpressionStatement","src":"6416:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6389:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6398:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6385:3:150"},"nodeType":"YulFunctionCall","src":"6385:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6410:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6381:3:150"},"nodeType":"YulFunctionCall","src":"6381:32:150"},"nodeType":"YulIf","src":"6378:52:150"},{"nodeType":"YulVariableDeclaration","src":"6439:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6465:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6452:12:150"},"nodeType":"YulFunctionCall","src":"6452:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6443:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6509:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6484:24:150"},"nodeType":"YulFunctionCall","src":"6484:31:150"},"nodeType":"YulExpressionStatement","src":"6484:31:150"},{"nodeType":"YulAssignment","src":"6524:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6534:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6524:6:150"}]},{"nodeType":"YulAssignment","src":"6548:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6575:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6586:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6571:3:150"},"nodeType":"YulFunctionCall","src":"6571:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6558:12:150"},"nodeType":"YulFunctionCall","src":"6558:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6548:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6326:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6337:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6349:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6357:6:150","type":""}],"src":"6281:315:150"},{"body":{"nodeType":"YulBlock","src":"6633:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6650:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6657:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6662:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6653:3:150"},"nodeType":"YulFunctionCall","src":"6653:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6643:6:150"},"nodeType":"YulFunctionCall","src":"6643:31:150"},"nodeType":"YulExpressionStatement","src":"6643:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6690:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6693:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6683:6:150"},"nodeType":"YulFunctionCall","src":"6683:15:150"},"nodeType":"YulExpressionStatement","src":"6683:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6714:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6717:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6707:6:150"},"nodeType":"YulFunctionCall","src":"6707:15:150"},"nodeType":"YulExpressionStatement","src":"6707:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"6601:127:150"},{"body":{"nodeType":"YulBlock","src":"6785:89:150","statements":[{"body":{"nodeType":"YulBlock","src":"6819:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"6821:16:150"},"nodeType":"YulFunctionCall","src":"6821:18:150"},"nodeType":"YulExpressionStatement","src":"6821:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6808:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"6815:1:150","type":"","value":"3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6805:2:150"},"nodeType":"YulFunctionCall","src":"6805:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6798:6:150"},"nodeType":"YulFunctionCall","src":"6798:20:150"},"nodeType":"YulIf","src":"6795:46:150"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6857:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"6862:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6850:6:150"},"nodeType":"YulFunctionCall","src":"6850:18:150"},"nodeType":"YulExpressionStatement","src":"6850:18:150"}]},"name":"abi_encode_enum_RoundState","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6769:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6776:3:150","type":""}],"src":"6733:141:150"},{"body":{"nodeType":"YulBlock","src":"6994:96:150","statements":[{"nodeType":"YulAssignment","src":"7004:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7016:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7027:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7012:3:150"},"nodeType":"YulFunctionCall","src":"7012:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7004:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7066:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7074:9:150"}],"functionName":{"name":"abi_encode_enum_RoundState","nodeType":"YulIdentifier","src":"7039:26:150"},"nodeType":"YulFunctionCall","src":"7039:45:150"},"nodeType":"YulExpressionStatement","src":"7039:45:150"}]},"name":"abi_encode_tuple_t_enum$_RoundState_$70612__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6963:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6974:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6985:4:150","type":""}],"src":"6879:211:150"},{"body":{"nodeType":"YulBlock","src":"7165:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"7211:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7220:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7223:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7213:6:150"},"nodeType":"YulFunctionCall","src":"7213:12:150"},"nodeType":"YulExpressionStatement","src":"7213:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7186:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7195:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7182:3:150"},"nodeType":"YulFunctionCall","src":"7182:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7207:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7178:3:150"},"nodeType":"YulFunctionCall","src":"7178:32:150"},"nodeType":"YulIf","src":"7175:52:150"},{"nodeType":"YulVariableDeclaration","src":"7236:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7262:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7249:12:150"},"nodeType":"YulFunctionCall","src":"7249:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7240:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7306:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"7281:24:150"},"nodeType":"YulFunctionCall","src":"7281:31:150"},"nodeType":"YulExpressionStatement","src":"7281:31:150"},{"nodeType":"YulAssignment","src":"7321:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7331:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7321:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7131:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7142:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7154:6:150","type":""}],"src":"7095:247:150"},{"body":{"nodeType":"YulBlock","src":"7408:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7418:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7438:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7432:5:150"},"nodeType":"YulFunctionCall","src":"7432:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7422:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7460:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"7465:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7453:6:150"},"nodeType":"YulFunctionCall","src":"7453:19:150"},"nodeType":"YulExpressionStatement","src":"7453:19:150"},{"nodeType":"YulVariableDeclaration","src":"7481:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7491:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7485:2:150","type":""}]},{"nodeType":"YulAssignment","src":"7504:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7515:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7520:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7511:3:150"},"nodeType":"YulFunctionCall","src":"7511:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7504:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"7532:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7550:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7557:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7546:3:150"},"nodeType":"YulFunctionCall","src":"7546:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7536:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7569:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7578:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7573:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7637:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7658:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7669:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7663:5:150"},"nodeType":"YulFunctionCall","src":"7663:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7651:6:150"},"nodeType":"YulFunctionCall","src":"7651:26:150"},"nodeType":"YulExpressionStatement","src":"7651:26:150"},{"nodeType":"YulAssignment","src":"7690:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7701:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7706:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7697:3:150"},"nodeType":"YulFunctionCall","src":"7697:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7690:3:150"}]},{"nodeType":"YulAssignment","src":"7722:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7736:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7744:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7732:3:150"},"nodeType":"YulFunctionCall","src":"7732:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7722:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7599:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"7602:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7596:2:150"},"nodeType":"YulFunctionCall","src":"7596:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7610:18:150","statements":[{"nodeType":"YulAssignment","src":"7612:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7621:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"7624:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7617:3:150"},"nodeType":"YulFunctionCall","src":"7617:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7612:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"7592:3:150","statements":[]},"src":"7588:169:150"},{"nodeType":"YulAssignment","src":"7766:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"7773:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7766:3:150"}]}]},"name":"abi_encode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7385:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7392:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7400:3:150","type":""}],"src":"7347:435:150"},{"body":{"nodeType":"YulBlock","src":"7938:110:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7955:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7966:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7948:6:150"},"nodeType":"YulFunctionCall","src":"7948:21:150"},"nodeType":"YulExpressionStatement","src":"7948:21:150"},{"nodeType":"YulAssignment","src":"7978:64:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8015:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8027:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8038:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8023:3:150"},"nodeType":"YulFunctionCall","src":"8023:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"7986:28:150"},"nodeType":"YulFunctionCall","src":"7986:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7978:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7907:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7918:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7929:4:150","type":""}],"src":"7787:261:150"},{"body":{"nodeType":"YulBlock","src":"8157:279:150","statements":[{"body":{"nodeType":"YulBlock","src":"8203:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8212:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8215:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8205:6:150"},"nodeType":"YulFunctionCall","src":"8205:12:150"},"nodeType":"YulExpressionStatement","src":"8205:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8178:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8187:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8174:3:150"},"nodeType":"YulFunctionCall","src":"8174:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8199:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8170:3:150"},"nodeType":"YulFunctionCall","src":"8170:32:150"},"nodeType":"YulIf","src":"8167:52:150"},{"nodeType":"YulAssignment","src":"8228:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8251:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8238:12:150"},"nodeType":"YulFunctionCall","src":"8238:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8228:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8270:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8300:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8311:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8296:3:150"},"nodeType":"YulFunctionCall","src":"8296:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8283:12:150"},"nodeType":"YulFunctionCall","src":"8283:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8274:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8349:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"8324:24:150"},"nodeType":"YulFunctionCall","src":"8324:31:150"},"nodeType":"YulExpressionStatement","src":"8324:31:150"},{"nodeType":"YulAssignment","src":"8364:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"8374:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8364:6:150"}]},{"nodeType":"YulAssignment","src":"8388:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8415:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8426:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8411:3:150"},"nodeType":"YulFunctionCall","src":"8411:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8398:12:150"},"nodeType":"YulFunctionCall","src":"8398:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8388:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8107:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8118:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8130:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8138:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8146:6:150","type":""}],"src":"8053:383:150"},{"body":{"nodeType":"YulBlock","src":"8528:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"8574:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8583:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8586:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8576:6:150"},"nodeType":"YulFunctionCall","src":"8576:12:150"},"nodeType":"YulExpressionStatement","src":"8576:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8549:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8558:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8545:3:150"},"nodeType":"YulFunctionCall","src":"8545:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8570:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8541:3:150"},"nodeType":"YulFunctionCall","src":"8541:32:150"},"nodeType":"YulIf","src":"8538:52:150"},{"nodeType":"YulAssignment","src":"8599:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8622:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8609:12:150"},"nodeType":"YulFunctionCall","src":"8609:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8599:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8641:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8671:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8682:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8667:3:150"},"nodeType":"YulFunctionCall","src":"8667:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8654:12:150"},"nodeType":"YulFunctionCall","src":"8654:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8645:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8720:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"8695:24:150"},"nodeType":"YulFunctionCall","src":"8695:31:150"},"nodeType":"YulExpressionStatement","src":"8695:31:150"},{"nodeType":"YulAssignment","src":"8735:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"8745:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8735:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8486:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8497:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8509:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8517:6:150","type":""}],"src":"8441:315:150"},{"body":{"nodeType":"YulBlock","src":"8848:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"8894:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8903:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8906:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8896:6:150"},"nodeType":"YulFunctionCall","src":"8896:12:150"},"nodeType":"YulExpressionStatement","src":"8896:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8869:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8878:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8865:3:150"},"nodeType":"YulFunctionCall","src":"8865:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8890:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8861:3:150"},"nodeType":"YulFunctionCall","src":"8861:32:150"},"nodeType":"YulIf","src":"8858:52:150"},{"nodeType":"YulAssignment","src":"8919:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8942:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8929:12:150"},"nodeType":"YulFunctionCall","src":"8929:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8919:6:150"}]},{"nodeType":"YulAssignment","src":"8961:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8988:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8999:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8984:3:150"},"nodeType":"YulFunctionCall","src":"8984:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8971:12:150"},"nodeType":"YulFunctionCall","src":"8971:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8961:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8806:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8817:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8829:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8837:6:150","type":""}],"src":"8761:248:150"},{"body":{"nodeType":"YulBlock","src":"9135:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9152:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9163:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9145:6:150"},"nodeType":"YulFunctionCall","src":"9145:21:150"},"nodeType":"YulExpressionStatement","src":"9145:21:150"},{"nodeType":"YulAssignment","src":"9175:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9201:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9213:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9224:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9209:3:150"},"nodeType":"YulFunctionCall","src":"9209:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"9183:17:150"},"nodeType":"YulFunctionCall","src":"9183:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9175:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9104:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9115:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9126:4:150","type":""}],"src":"9014:220:150"},{"body":{"nodeType":"YulBlock","src":"9296:129:150","statements":[{"body":{"nodeType":"YulBlock","src":"9340:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"9342:16:150"},"nodeType":"YulFunctionCall","src":"9342:18:150"},"nodeType":"YulExpressionStatement","src":"9342:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9312:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9328:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9332:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9324:3:150"},"nodeType":"YulFunctionCall","src":"9324:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9336:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9320:3:150"},"nodeType":"YulFunctionCall","src":"9320:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9309:2:150"},"nodeType":"YulFunctionCall","src":"9309:30:150"},"nodeType":"YulIf","src":"9306:56:150"},{"nodeType":"YulAssignment","src":"9371:48:150","value":{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9391:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9399:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9387:3:150"},"nodeType":"YulFunctionCall","src":"9387:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9408:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9404:3:150"},"nodeType":"YulFunctionCall","src":"9404:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9383:3:150"},"nodeType":"YulFunctionCall","src":"9383:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"9414:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9379:3:150"},"nodeType":"YulFunctionCall","src":"9379:40:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"9371:4:150"}]}]},"name":"array_allocation_size_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"9276:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"9287:4:150","type":""}],"src":"9239:186:150"},{"body":{"nodeType":"YulBlock","src":"9526:710:150","statements":[{"body":{"nodeType":"YulBlock","src":"9572:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9581:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9584:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9574:6:150"},"nodeType":"YulFunctionCall","src":"9574:12:150"},"nodeType":"YulExpressionStatement","src":"9574:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9547:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9556:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9543:3:150"},"nodeType":"YulFunctionCall","src":"9543:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9568:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9539:3:150"},"nodeType":"YulFunctionCall","src":"9539:32:150"},"nodeType":"YulIf","src":"9536:52:150"},{"nodeType":"YulVariableDeclaration","src":"9597:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9623:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9610:12:150"},"nodeType":"YulFunctionCall","src":"9610:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9601:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9667:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"9642:24:150"},"nodeType":"YulFunctionCall","src":"9642:31:150"},"nodeType":"YulExpressionStatement","src":"9642:31:150"},{"nodeType":"YulAssignment","src":"9682:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"9692:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9682:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9706:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9737:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9748:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9733:3:150"},"nodeType":"YulFunctionCall","src":"9733:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9720:12:150"},"nodeType":"YulFunctionCall","src":"9720:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9710:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9795:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9804:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9807:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9797:6:150"},"nodeType":"YulFunctionCall","src":"9797:12:150"},"nodeType":"YulExpressionStatement","src":"9797:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9767:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9783:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9787:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9779:3:150"},"nodeType":"YulFunctionCall","src":"9779:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9791:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9775:3:150"},"nodeType":"YulFunctionCall","src":"9775:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9764:2:150"},"nodeType":"YulFunctionCall","src":"9764:30:150"},"nodeType":"YulIf","src":"9761:50:150"},{"nodeType":"YulVariableDeclaration","src":"9820:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9834:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9845:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9830:3:150"},"nodeType":"YulFunctionCall","src":"9830:22:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9824:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9900:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9909:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9912:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9902:6:150"},"nodeType":"YulFunctionCall","src":"9902:12:150"},"nodeType":"YulExpressionStatement","src":"9902:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"9879:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9883:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9875:3:150"},"nodeType":"YulFunctionCall","src":"9875:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9890:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9871:3:150"},"nodeType":"YulFunctionCall","src":"9871:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9864:6:150"},"nodeType":"YulFunctionCall","src":"9864:35:150"},"nodeType":"YulIf","src":"9861:55:150"},{"nodeType":"YulVariableDeclaration","src":"9925:26:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"9948:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9935:12:150"},"nodeType":"YulFunctionCall","src":"9935:16:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"9929:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9960:61:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10017:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"9989:27:150"},"nodeType":"YulFunctionCall","src":"9989:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"9973:15:150"},"nodeType":"YulFunctionCall","src":"9973:48:150"},"variables":[{"name":"array","nodeType":"YulTypedName","src":"9964:5:150","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"10037:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10044:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10030:6:150"},"nodeType":"YulFunctionCall","src":"10030:17:150"},"nodeType":"YulExpressionStatement","src":"10030:17:150"},{"body":{"nodeType":"YulBlock","src":"10093:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10102:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10105:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10095:6:150"},"nodeType":"YulFunctionCall","src":"10095:12:150"},"nodeType":"YulExpressionStatement","src":"10095:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"10070:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10074:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10066:3:150"},"nodeType":"YulFunctionCall","src":"10066:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"10079:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10062:3:150"},"nodeType":"YulFunctionCall","src":"10062:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10084:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10059:2:150"},"nodeType":"YulFunctionCall","src":"10059:33:150"},"nodeType":"YulIf","src":"10056:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"10135:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10142:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10131:3:150"},"nodeType":"YulFunctionCall","src":"10131:14:150"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"10151:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"10155:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10147:3:150"},"nodeType":"YulFunctionCall","src":"10147:11:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10160:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"10118:12:150"},"nodeType":"YulFunctionCall","src":"10118:45:150"},"nodeType":"YulExpressionStatement","src":"10118:45:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"10187:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10194:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10183:3:150"},"nodeType":"YulFunctionCall","src":"10183:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"10199:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10179:3:150"},"nodeType":"YulFunctionCall","src":"10179:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10204:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10172:6:150"},"nodeType":"YulFunctionCall","src":"10172:34:150"},"nodeType":"YulExpressionStatement","src":"10172:34:150"},{"nodeType":"YulAssignment","src":"10215:15:150","value":{"name":"array","nodeType":"YulIdentifier","src":"10225:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10215:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9484:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9495:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9507:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9515:6:150","type":""}],"src":"9430:806:150"},{"body":{"nodeType":"YulBlock","src":"10395:1052:150","statements":[{"body":{"nodeType":"YulBlock","src":"10441:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10450:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10453:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10443:6:150"},"nodeType":"YulFunctionCall","src":"10443:12:150"},"nodeType":"YulExpressionStatement","src":"10443:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10416:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10425:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10412:3:150"},"nodeType":"YulFunctionCall","src":"10412:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10437:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10408:3:150"},"nodeType":"YulFunctionCall","src":"10408:32:150"},"nodeType":"YulIf","src":"10405:52:150"},{"nodeType":"YulAssignment","src":"10466:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10489:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10476:12:150"},"nodeType":"YulFunctionCall","src":"10476:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10466:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10508:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10518:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"10512:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10529:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10560:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10571:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10556:3:150"},"nodeType":"YulFunctionCall","src":"10556:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10543:12:150"},"nodeType":"YulFunctionCall","src":"10543:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10533:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10584:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10602:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"10606:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10598:3:150"},"nodeType":"YulFunctionCall","src":"10598:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"10610:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10594:3:150"},"nodeType":"YulFunctionCall","src":"10594:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"10588:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10639:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10648:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10651:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10641:6:150"},"nodeType":"YulFunctionCall","src":"10641:12:150"},"nodeType":"YulExpressionStatement","src":"10641:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10627:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10635:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10624:2:150"},"nodeType":"YulFunctionCall","src":"10624:14:150"},"nodeType":"YulIf","src":"10621:34:150"},{"nodeType":"YulAssignment","src":"10664:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10707:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"10718:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10703:3:150"},"nodeType":"YulFunctionCall","src":"10703:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10727:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"10674:28:150"},"nodeType":"YulFunctionCall","src":"10674:61:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10664:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10744:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10777:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10788:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10773:3:150"},"nodeType":"YulFunctionCall","src":"10773:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10760:12:150"},"nodeType":"YulFunctionCall","src":"10760:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"10748:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10821:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10830:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10833:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10823:6:150"},"nodeType":"YulFunctionCall","src":"10823:12:150"},"nodeType":"YulExpressionStatement","src":"10823:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"10807:8:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10817:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10804:2:150"},"nodeType":"YulFunctionCall","src":"10804:16:150"},"nodeType":"YulIf","src":"10801:36:150"},{"nodeType":"YulVariableDeclaration","src":"10846:34:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10860:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"10871:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10856:3:150"},"nodeType":"YulFunctionCall","src":"10856:24:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"10850:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10928:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10937:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10940:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10930:6:150"},"nodeType":"YulFunctionCall","src":"10930:12:150"},"nodeType":"YulExpressionStatement","src":"10930:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"10907:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"10911:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10903:3:150"},"nodeType":"YulFunctionCall","src":"10903:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10918:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10899:3:150"},"nodeType":"YulFunctionCall","src":"10899:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10892:6:150"},"nodeType":"YulFunctionCall","src":"10892:35:150"},"nodeType":"YulIf","src":"10889:55:150"},{"nodeType":"YulVariableDeclaration","src":"10953:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"10976:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10963:12:150"},"nodeType":"YulFunctionCall","src":"10963:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"10957:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10988:71:150","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"11055:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"11015:39:150"},"nodeType":"YulFunctionCall","src":"11015:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"10999:15:150"},"nodeType":"YulFunctionCall","src":"10999:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"10992:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11068:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"11081:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"11072:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11100:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"11105:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11093:6:150"},"nodeType":"YulFunctionCall","src":"11093:15:150"},"nodeType":"YulExpressionStatement","src":"11093:15:150"},{"nodeType":"YulAssignment","src":"11117:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11128:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11133:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11124:3:150"},"nodeType":"YulFunctionCall","src":"11124:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"11117:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"11145:42:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11167:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11175:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"11178:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11171:3:150"},"nodeType":"YulFunctionCall","src":"11171:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11163:3:150"},"nodeType":"YulFunctionCall","src":"11163:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11184:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11159:3:150"},"nodeType":"YulFunctionCall","src":"11159:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"11149:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11219:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11228:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11231:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11221:6:150"},"nodeType":"YulFunctionCall","src":"11221:12:150"},"nodeType":"YulExpressionStatement","src":"11221:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"11202:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11210:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11199:2:150"},"nodeType":"YulFunctionCall","src":"11199:19:150"},"nodeType":"YulIf","src":"11196:39:150"},{"nodeType":"YulVariableDeclaration","src":"11244:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11259:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11263:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11255:3:150"},"nodeType":"YulFunctionCall","src":"11255:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"11248:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11331:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11352:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11370:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11357:12:150"},"nodeType":"YulFunctionCall","src":"11357:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11345:6:150"},"nodeType":"YulFunctionCall","src":"11345:30:150"},"nodeType":"YulExpressionStatement","src":"11345:30:150"},{"nodeType":"YulAssignment","src":"11388:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11399:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11404:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11395:3:150"},"nodeType":"YulFunctionCall","src":"11395:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"11388:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11286:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"11291:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11283:2:150"},"nodeType":"YulFunctionCall","src":"11283:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11299:23:150","statements":[{"nodeType":"YulAssignment","src":"11301:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11312:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11317:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11308:3:150"},"nodeType":"YulFunctionCall","src":"11308:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"11301:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"11279:3:150","statements":[]},"src":"11275:142:150"},{"nodeType":"YulAssignment","src":"11426:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"11436:5:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11426:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10345:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10356:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10368:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10376:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10384:6:150","type":""}],"src":"10241:1206:150"},{"body":{"nodeType":"YulBlock","src":"11542:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"11588:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11597:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11600:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11590:6:150"},"nodeType":"YulFunctionCall","src":"11590:12:150"},"nodeType":"YulExpressionStatement","src":"11590:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11563:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11572:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11559:3:150"},"nodeType":"YulFunctionCall","src":"11559:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11584:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11555:3:150"},"nodeType":"YulFunctionCall","src":"11555:32:150"},"nodeType":"YulIf","src":"11552:52:150"},{"nodeType":"YulVariableDeclaration","src":"11613:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11639:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11626:12:150"},"nodeType":"YulFunctionCall","src":"11626:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11617:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11683:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11658:24:150"},"nodeType":"YulFunctionCall","src":"11658:31:150"},"nodeType":"YulExpressionStatement","src":"11658:31:150"},{"nodeType":"YulAssignment","src":"11698:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11708:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11698:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IEmissions_$64454","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11508:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11519:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11531:6:150","type":""}],"src":"11452:267:150"},{"body":{"nodeType":"YulBlock","src":"11823:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"11869:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11878:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11881:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11871:6:150"},"nodeType":"YulFunctionCall","src":"11871:12:150"},"nodeType":"YulExpressionStatement","src":"11871:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11844:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11853:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11840:3:150"},"nodeType":"YulFunctionCall","src":"11840:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11865:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11836:3:150"},"nodeType":"YulFunctionCall","src":"11836:32:150"},"nodeType":"YulIf","src":"11833:52:150"},{"nodeType":"YulVariableDeclaration","src":"11894:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11920:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11907:12:150"},"nodeType":"YulFunctionCall","src":"11907:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11898:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11964:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11939:24:150"},"nodeType":"YulFunctionCall","src":"11939:31:150"},"nodeType":"YulExpressionStatement","src":"11939:31:150"},{"nodeType":"YulAssignment","src":"11979:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11989:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11979:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11789:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11800:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11812:6:150","type":""}],"src":"11724:276:150"},{"body":{"nodeType":"YulBlock","src":"12098:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"12144:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12153:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12156:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12146:6:150"},"nodeType":"YulFunctionCall","src":"12146:12:150"},"nodeType":"YulExpressionStatement","src":"12146:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12119:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12128:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12115:3:150"},"nodeType":"YulFunctionCall","src":"12115:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12140:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12111:3:150"},"nodeType":"YulFunctionCall","src":"12111:32:150"},"nodeType":"YulIf","src":"12108:52:150"},{"nodeType":"YulVariableDeclaration","src":"12169:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12195:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12182:12:150"},"nodeType":"YulFunctionCall","src":"12182:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12173:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12239:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12214:24:150"},"nodeType":"YulFunctionCall","src":"12214:31:150"},"nodeType":"YulExpressionStatement","src":"12214:31:150"},{"nodeType":"YulAssignment","src":"12254:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12264:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12254:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12064:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12075:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12087:6:150","type":""}],"src":"12005:270:150"},{"body":{"nodeType":"YulBlock","src":"12437:273:150","statements":[{"nodeType":"YulAssignment","src":"12447:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12459:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12470:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12455:3:150"},"nodeType":"YulFunctionCall","src":"12455:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12447:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12489:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12510:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12504:5:150"},"nodeType":"YulFunctionCall","src":"12504:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12527:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12532:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12523:3:150"},"nodeType":"YulFunctionCall","src":"12523:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"12536:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12519:3:150"},"nodeType":"YulFunctionCall","src":"12519:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12500:3:150"},"nodeType":"YulFunctionCall","src":"12500:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12482:6:150"},"nodeType":"YulFunctionCall","src":"12482:58:150"},"nodeType":"YulExpressionStatement","src":"12482:58:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12560:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12571:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12556:3:150"},"nodeType":"YulFunctionCall","src":"12556:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12592:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12600:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12588:3:150"},"nodeType":"YulFunctionCall","src":"12588:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12582:5:150"},"nodeType":"YulFunctionCall","src":"12582:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"12608:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12578:3:150"},"nodeType":"YulFunctionCall","src":"12578:45:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12549:6:150"},"nodeType":"YulFunctionCall","src":"12549:75:150"},"nodeType":"YulExpressionStatement","src":"12549:75:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12644:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12655:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12640:3:150"},"nodeType":"YulFunctionCall","src":"12640:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12676:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12684:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12672:3:150"},"nodeType":"YulFunctionCall","src":"12672:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12666:5:150"},"nodeType":"YulFunctionCall","src":"12666:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"12692:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12662:3:150"},"nodeType":"YulFunctionCall","src":"12662:41:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12633:6:150"},"nodeType":"YulFunctionCall","src":"12633:71:150"},"nodeType":"YulExpressionStatement","src":"12633:71:150"}]},"name":"abi_encode_tuple_t_struct$_RoundCore_$82969_memory_ptr__to_t_struct$_RoundCore_$82969_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12406:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12417:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12428:4:150","type":""}],"src":"12280:430:150"},{"body":{"nodeType":"YulBlock","src":"12814:97:150","statements":[{"nodeType":"YulAssignment","src":"12824:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12836:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12847:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12832:3:150"},"nodeType":"YulFunctionCall","src":"12832:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12824:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12866:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12881:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12889:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12877:3:150"},"nodeType":"YulFunctionCall","src":"12877:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12859:6:150"},"nodeType":"YulFunctionCall","src":"12859:46:150"},"nodeType":"YulExpressionStatement","src":"12859:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12783:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12794:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12805:4:150","type":""}],"src":"12715:196:150"},{"body":{"nodeType":"YulBlock","src":"13002:300:150","statements":[{"body":{"nodeType":"YulBlock","src":"13048:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13057:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13060:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13050:6:150"},"nodeType":"YulFunctionCall","src":"13050:12:150"},"nodeType":"YulExpressionStatement","src":"13050:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13023:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13032:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13019:3:150"},"nodeType":"YulFunctionCall","src":"13019:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13044:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13015:3:150"},"nodeType":"YulFunctionCall","src":"13015:32:150"},"nodeType":"YulIf","src":"13012:52:150"},{"nodeType":"YulVariableDeclaration","src":"13073:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13099:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13086:12:150"},"nodeType":"YulFunctionCall","src":"13086:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13077:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13143:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13118:24:150"},"nodeType":"YulFunctionCall","src":"13118:31:150"},"nodeType":"YulExpressionStatement","src":"13118:31:150"},{"nodeType":"YulAssignment","src":"13158:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13168:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13158:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13182:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13214:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13225:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13210:3:150"},"nodeType":"YulFunctionCall","src":"13210:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13197:12:150"},"nodeType":"YulFunctionCall","src":"13197:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13186:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13262:7:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"13238:23:150"},"nodeType":"YulFunctionCall","src":"13238:32:150"},"nodeType":"YulExpressionStatement","src":"13238:32:150"},{"nodeType":"YulAssignment","src":"13279:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"13289:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13279:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12960:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12971:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12983:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12991:6:150","type":""}],"src":"12916:386:150"},{"body":{"nodeType":"YulBlock","src":"13422:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"13468:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13477:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13480:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13470:6:150"},"nodeType":"YulFunctionCall","src":"13470:12:150"},"nodeType":"YulExpressionStatement","src":"13470:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13443:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13452:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13439:3:150"},"nodeType":"YulFunctionCall","src":"13439:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13464:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13435:3:150"},"nodeType":"YulFunctionCall","src":"13435:32:150"},"nodeType":"YulIf","src":"13432:52:150"},{"nodeType":"YulVariableDeclaration","src":"13493:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13519:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13506:12:150"},"nodeType":"YulFunctionCall","src":"13506:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13497:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13563:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13538:24:150"},"nodeType":"YulFunctionCall","src":"13538:31:150"},"nodeType":"YulExpressionStatement","src":"13538:31:150"},{"nodeType":"YulAssignment","src":"13578:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13588:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13578:6:150"}]},{"nodeType":"YulAssignment","src":"13602:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13640:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13625:3:150"},"nodeType":"YulFunctionCall","src":"13625:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13612:12:150"},"nodeType":"YulFunctionCall","src":"13612:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13602:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13380:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13391:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13403:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13411:6:150","type":""}],"src":"13307:343:150"},{"body":{"nodeType":"YulBlock","src":"13748:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"13794:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13803:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13806:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13796:6:150"},"nodeType":"YulFunctionCall","src":"13796:12:150"},"nodeType":"YulExpressionStatement","src":"13796:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13769:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13778:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13765:3:150"},"nodeType":"YulFunctionCall","src":"13765:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13790:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13761:3:150"},"nodeType":"YulFunctionCall","src":"13761:32:150"},"nodeType":"YulIf","src":"13758:52:150"},{"nodeType":"YulVariableDeclaration","src":"13819:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13845:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13832:12:150"},"nodeType":"YulFunctionCall","src":"13832:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13823:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13889:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13864:24:150"},"nodeType":"YulFunctionCall","src":"13864:31:150"},"nodeType":"YulExpressionStatement","src":"13864:31:150"},{"nodeType":"YulAssignment","src":"13904:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13914:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13904:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13714:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13725:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13737:6:150","type":""}],"src":"13655:270:150"},{"body":{"nodeType":"YulBlock","src":"14027:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"14073:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14082:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14085:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14075:6:150"},"nodeType":"YulFunctionCall","src":"14075:12:150"},"nodeType":"YulExpressionStatement","src":"14075:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14048:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14057:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14044:3:150"},"nodeType":"YulFunctionCall","src":"14044:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14069:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14040:3:150"},"nodeType":"YulFunctionCall","src":"14040:32:150"},"nodeType":"YulIf","src":"14037:52:150"},{"nodeType":"YulVariableDeclaration","src":"14098:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14124:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14111:12:150"},"nodeType":"YulFunctionCall","src":"14111:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14102:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14168:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14143:24:150"},"nodeType":"YulFunctionCall","src":"14143:31:150"},"nodeType":"YulExpressionStatement","src":"14143:31:150"},{"nodeType":"YulAssignment","src":"14183:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14193:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14183:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13993:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14004:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14016:6:150","type":""}],"src":"13930:274:150"},{"body":{"nodeType":"YulBlock","src":"14300:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"14346:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14355:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14358:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14348:6:150"},"nodeType":"YulFunctionCall","src":"14348:12:150"},"nodeType":"YulExpressionStatement","src":"14348:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14321:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14330:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14317:3:150"},"nodeType":"YulFunctionCall","src":"14317:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14342:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14313:3:150"},"nodeType":"YulFunctionCall","src":"14313:32:150"},"nodeType":"YulIf","src":"14310:52:150"},{"nodeType":"YulVariableDeclaration","src":"14371:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14397:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14384:12:150"},"nodeType":"YulFunctionCall","src":"14384:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14375:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14441:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14416:24:150"},"nodeType":"YulFunctionCall","src":"14416:31:150"},"nodeType":"YulExpressionStatement","src":"14416:31:150"},{"nodeType":"YulAssignment","src":"14456:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14466:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14456:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IX2EarnApps_$69989","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14266:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14277:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14289:6:150","type":""}],"src":"14209:268:150"},{"body":{"nodeType":"YulBlock","src":"14569:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"14615:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14624:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14627:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14617:6:150"},"nodeType":"YulFunctionCall","src":"14617:12:150"},"nodeType":"YulExpressionStatement","src":"14617:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14590:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14599:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14586:3:150"},"nodeType":"YulFunctionCall","src":"14586:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14611:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14582:3:150"},"nodeType":"YulFunctionCall","src":"14582:32:150"},"nodeType":"YulIf","src":"14579:52:150"},{"nodeType":"YulAssignment","src":"14640:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14663:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14650:12:150"},"nodeType":"YulFunctionCall","src":"14650:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14640:6:150"}]},{"nodeType":"YulAssignment","src":"14682:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14709:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14720:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14705:3:150"},"nodeType":"YulFunctionCall","src":"14705:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14692:12:150"},"nodeType":"YulFunctionCall","src":"14692:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14682:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14527:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14538:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14550:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14558:6:150","type":""}],"src":"14482:248:150"},{"body":{"nodeType":"YulBlock","src":"14864:102:150","statements":[{"nodeType":"YulAssignment","src":"14874:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14886:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14897:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14882:3:150"},"nodeType":"YulFunctionCall","src":"14882:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14874:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14916:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14931:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14947:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"14952:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14943:3:150"},"nodeType":"YulFunctionCall","src":"14943:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"14956:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14939:3:150"},"nodeType":"YulFunctionCall","src":"14939:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14927:3:150"},"nodeType":"YulFunctionCall","src":"14927:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14909:6:150"},"nodeType":"YulFunctionCall","src":"14909:51:150"},"nodeType":"YulExpressionStatement","src":"14909:51:150"}]},"name":"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14833:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14844:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14855:4:150","type":""}],"src":"14735:231:150"},{"body":{"nodeType":"YulBlock","src":"15015:77:150","statements":[{"body":{"nodeType":"YulBlock","src":"15070:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15079:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15082:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15072:6:150"},"nodeType":"YulFunctionCall","src":"15072:12:150"},"nodeType":"YulExpressionStatement","src":"15072:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15038:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15049:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"15056:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15045:3:150"},"nodeType":"YulFunctionCall","src":"15045:22:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"15035:2:150"},"nodeType":"YulFunctionCall","src":"15035:33:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15028:6:150"},"nodeType":"YulFunctionCall","src":"15028:41:150"},"nodeType":"YulIf","src":"15025:61:150"}]},"name":"validator_revert_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15004:5:150","type":""}],"src":"14971:121:150"},{"body":{"nodeType":"YulBlock","src":"15166:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"15212:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15221:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15224:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15214:6:150"},"nodeType":"YulFunctionCall","src":"15214:12:150"},"nodeType":"YulExpressionStatement","src":"15214:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15187:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15196:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15183:3:150"},"nodeType":"YulFunctionCall","src":"15183:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15208:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15179:3:150"},"nodeType":"YulFunctionCall","src":"15179:32:150"},"nodeType":"YulIf","src":"15176:52:150"},{"nodeType":"YulVariableDeclaration","src":"15237:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15263:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15250:12:150"},"nodeType":"YulFunctionCall","src":"15250:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15241:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15306:5:150"}],"functionName":{"name":"validator_revert_uint32","nodeType":"YulIdentifier","src":"15282:23:150"},"nodeType":"YulFunctionCall","src":"15282:30:150"},"nodeType":"YulExpressionStatement","src":"15282:30:150"},{"nodeType":"YulAssignment","src":"15321:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15331:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15321:6:150"}]}]},"name":"abi_decode_tuple_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15132:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15143:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15155:6:150","type":""}],"src":"15097:245:150"},{"body":{"nodeType":"YulBlock","src":"15445:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"15491:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15500:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15503:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15493:6:150"},"nodeType":"YulFunctionCall","src":"15493:12:150"},"nodeType":"YulExpressionStatement","src":"15493:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15466:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15475:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15462:3:150"},"nodeType":"YulFunctionCall","src":"15462:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15487:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15458:3:150"},"nodeType":"YulFunctionCall","src":"15458:32:150"},"nodeType":"YulIf","src":"15455:52:150"},{"nodeType":"YulVariableDeclaration","src":"15516:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15542:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15529:12:150"},"nodeType":"YulFunctionCall","src":"15529:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15520:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15586:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15561:24:150"},"nodeType":"YulFunctionCall","src":"15561:31:150"},"nodeType":"YulExpressionStatement","src":"15561:31:150"},{"nodeType":"YulAssignment","src":"15601:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15611:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15601:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15411:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15422:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15434:6:150","type":""}],"src":"15347:275:150"},{"body":{"nodeType":"YulBlock","src":"15708:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"15754:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15763:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15766:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15756:6:150"},"nodeType":"YulFunctionCall","src":"15756:12:150"},"nodeType":"YulExpressionStatement","src":"15756:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15729:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15738:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15725:3:150"},"nodeType":"YulFunctionCall","src":"15725:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15750:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15721:3:150"},"nodeType":"YulFunctionCall","src":"15721:32:150"},"nodeType":"YulIf","src":"15718:52:150"},{"nodeType":"YulAssignment","src":"15779:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15795:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15789:5:150"},"nodeType":"YulFunctionCall","src":"15789:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15779:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15674:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15685:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15697:6:150","type":""}],"src":"15627:184:150"},{"body":{"nodeType":"YulBlock","src":"15923:97:150","statements":[{"nodeType":"YulAssignment","src":"15933:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15945:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15956:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15941:3:150"},"nodeType":"YulFunctionCall","src":"15941:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15933:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15975:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15990:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"15998:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15986:3:150"},"nodeType":"YulFunctionCall","src":"15986:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15968:6:150"},"nodeType":"YulFunctionCall","src":"15968:46:150"},"nodeType":"YulExpressionStatement","src":"15968:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15892:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15903:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15914:4:150","type":""}],"src":"15816:204:150"},{"body":{"nodeType":"YulBlock","src":"16106:209:150","statements":[{"body":{"nodeType":"YulBlock","src":"16152:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16161:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16164:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16154:6:150"},"nodeType":"YulFunctionCall","src":"16154:12:150"},"nodeType":"YulExpressionStatement","src":"16154:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16127:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16136:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16123:3:150"},"nodeType":"YulFunctionCall","src":"16123:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16148:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16119:3:150"},"nodeType":"YulFunctionCall","src":"16119:32:150"},"nodeType":"YulIf","src":"16116:52:150"},{"nodeType":"YulVariableDeclaration","src":"16177:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16196:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16190:5:150"},"nodeType":"YulFunctionCall","src":"16190:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16181:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16269:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16278:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16281:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16271:6:150"},"nodeType":"YulFunctionCall","src":"16271:12:150"},"nodeType":"YulExpressionStatement","src":"16271:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16228:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16239:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16254:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"16259:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16250:3:150"},"nodeType":"YulFunctionCall","src":"16250:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16263:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16246:3:150"},"nodeType":"YulFunctionCall","src":"16246:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16235:3:150"},"nodeType":"YulFunctionCall","src":"16235:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16225:2:150"},"nodeType":"YulFunctionCall","src":"16225:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16218:6:150"},"nodeType":"YulFunctionCall","src":"16218:50:150"},"nodeType":"YulIf","src":"16215:70:150"},{"nodeType":"YulAssignment","src":"16294:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"16304:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16294:6:150"}]}]},"name":"abi_decode_tuple_t_uint208_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16072:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16083:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16095:6:150","type":""}],"src":"16025:290:150"},{"body":{"nodeType":"YulBlock","src":"16400:169:150","statements":[{"body":{"nodeType":"YulBlock","src":"16446:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16455:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16458:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16448:6:150"},"nodeType":"YulFunctionCall","src":"16448:12:150"},"nodeType":"YulExpressionStatement","src":"16448:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16421:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16430:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16417:3:150"},"nodeType":"YulFunctionCall","src":"16417:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16442:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16413:3:150"},"nodeType":"YulFunctionCall","src":"16413:32:150"},"nodeType":"YulIf","src":"16410:52:150"},{"nodeType":"YulVariableDeclaration","src":"16471:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16490:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16484:5:150"},"nodeType":"YulFunctionCall","src":"16484:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16475:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16533:5:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"16509:23:150"},"nodeType":"YulFunctionCall","src":"16509:30:150"},"nodeType":"YulExpressionStatement","src":"16509:30:150"},{"nodeType":"YulAssignment","src":"16548:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"16558:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16548:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16366:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16377:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16389:6:150","type":""}],"src":"16320:249:150"},{"body":{"nodeType":"YulBlock","src":"16709:140:150","statements":[{"nodeType":"YulAssignment","src":"16719:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16731:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16742:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16727:3:150"},"nodeType":"YulFunctionCall","src":"16727:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16719:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16761:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"16772:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16754:6:150"},"nodeType":"YulFunctionCall","src":"16754:25:150"},"nodeType":"YulExpressionStatement","src":"16754:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16799:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16810:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16795:3:150"},"nodeType":"YulFunctionCall","src":"16795:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16819:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"16827:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16815:3:150"},"nodeType":"YulFunctionCall","src":"16815:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16788:6:150"},"nodeType":"YulFunctionCall","src":"16788:55:150"},"nodeType":"YulExpressionStatement","src":"16788:55:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16670:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16681:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16689:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16700:4:150","type":""}],"src":"16574:275:150"},{"body":{"nodeType":"YulBlock","src":"16963:76:150","statements":[{"nodeType":"YulAssignment","src":"16973:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16985:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16996:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16981:3:150"},"nodeType":"YulFunctionCall","src":"16981:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16973:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17015:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"17026:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17008:6:150"},"nodeType":"YulFunctionCall","src":"17008:25:150"},"nodeType":"YulExpressionStatement","src":"17008:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16932:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16943:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16954:4:150","type":""}],"src":"16854:185:150"},{"body":{"nodeType":"YulBlock","src":"17104:78:150","statements":[{"nodeType":"YulAssignment","src":"17114:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17129:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17123:5:150"},"nodeType":"YulFunctionCall","src":"17123:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17114:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17170:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"17145:24:150"},"nodeType":"YulFunctionCall","src":"17145:31:150"},"nodeType":"YulExpressionStatement","src":"17145:31:150"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17083:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17094:5:150","type":""}],"src":"17044:138:150"},{"body":{"nodeType":"YulBlock","src":"17251:378:150","statements":[{"body":{"nodeType":"YulBlock","src":"17300:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17309:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17312:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17302:6:150"},"nodeType":"YulFunctionCall","src":"17302:12:150"},"nodeType":"YulExpressionStatement","src":"17302:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17279:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17287:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17275:3:150"},"nodeType":"YulFunctionCall","src":"17275:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"17294:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17271:3:150"},"nodeType":"YulFunctionCall","src":"17271:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17264:6:150"},"nodeType":"YulFunctionCall","src":"17264:35:150"},"nodeType":"YulIf","src":"17261:55:150"},{"nodeType":"YulVariableDeclaration","src":"17325:23:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17341:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17335:5:150"},"nodeType":"YulFunctionCall","src":"17335:13:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17329:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17357:63:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17416:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"17388:27:150"},"nodeType":"YulFunctionCall","src":"17388:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"17372:15:150"},"nodeType":"YulFunctionCall","src":"17372:48:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"17361:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"17436:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17445:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17429:6:150"},"nodeType":"YulFunctionCall","src":"17429:19:150"},"nodeType":"YulExpressionStatement","src":"17429:19:150"},{"body":{"nodeType":"YulBlock","src":"17496:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17505:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17508:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17498:6:150"},"nodeType":"YulFunctionCall","src":"17498:12:150"},"nodeType":"YulExpressionStatement","src":"17498:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17471:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17479:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17467:3:150"},"nodeType":"YulFunctionCall","src":"17467:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"17484:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17463:3:150"},"nodeType":"YulFunctionCall","src":"17463:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"17491:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17460:2:150"},"nodeType":"YulFunctionCall","src":"17460:35:150"},"nodeType":"YulIf","src":"17457:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17560:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17568:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17556:3:150"},"nodeType":"YulFunctionCall","src":"17556:17:150"},{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"17579:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"17588:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17575:3:150"},"nodeType":"YulFunctionCall","src":"17575:18:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17595:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"17521:34:150"},"nodeType":"YulFunctionCall","src":"17521:77:150"},"nodeType":"YulExpressionStatement","src":"17521:77:150"},{"nodeType":"YulAssignment","src":"17607:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"17616:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"17607:5:150"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17225:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"17233:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"17241:5:150","type":""}],"src":"17187:442:150"},{"body":{"nodeType":"YulBlock","src":"17691:107:150","statements":[{"nodeType":"YulAssignment","src":"17701:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17716:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17710:5:150"},"nodeType":"YulFunctionCall","src":"17710:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17701:5:150"}]},{"body":{"nodeType":"YulBlock","src":"17776:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17785:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17788:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17778:6:150"},"nodeType":"YulFunctionCall","src":"17778:12:150"},"nodeType":"YulExpressionStatement","src":"17778:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17745:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17766:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17759:6:150"},"nodeType":"YulFunctionCall","src":"17759:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17752:6:150"},"nodeType":"YulFunctionCall","src":"17752:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17742:2:150"},"nodeType":"YulFunctionCall","src":"17742:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17735:6:150"},"nodeType":"YulFunctionCall","src":"17735:40:150"},"nodeType":"YulIf","src":"17732:60:150"}]},"name":"abi_decode_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17670:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17681:5:150","type":""}],"src":"17634:164:150"},{"body":{"nodeType":"YulBlock","src":"17952:2025:150","statements":[{"nodeType":"YulVariableDeclaration","src":"17962:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"17972:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17966:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18019:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18028:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18031:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18021:6:150"},"nodeType":"YulFunctionCall","src":"18021:12:150"},"nodeType":"YulExpressionStatement","src":"18021:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17994:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"18003:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17990:3:150"},"nodeType":"YulFunctionCall","src":"17990:23:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18015:2:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17986:3:150"},"nodeType":"YulFunctionCall","src":"17986:32:150"},"nodeType":"YulIf","src":"17983:52:150"},{"nodeType":"YulVariableDeclaration","src":"18044:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18064:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18058:5:150"},"nodeType":"YulFunctionCall","src":"18058:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18048:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18083:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18101:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"18105:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18097:3:150"},"nodeType":"YulFunctionCall","src":"18097:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"18109:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18093:3:150"},"nodeType":"YulFunctionCall","src":"18093:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"18087:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18138:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18147:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18150:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18140:6:150"},"nodeType":"YulFunctionCall","src":"18140:12:150"},"nodeType":"YulExpressionStatement","src":"18140:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18126:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"18134:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18123:2:150"},"nodeType":"YulFunctionCall","src":"18123:14:150"},"nodeType":"YulIf","src":"18120:34:150"},{"nodeType":"YulVariableDeclaration","src":"18163:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18177:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"18188:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18173:3:150"},"nodeType":"YulFunctionCall","src":"18173:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"18167:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18243:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18252:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18255:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18245:6:150"},"nodeType":"YulFunctionCall","src":"18245:12:150"},"nodeType":"YulExpressionStatement","src":"18245:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18222:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"18226:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18218:3:150"},"nodeType":"YulFunctionCall","src":"18218:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18233:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18214:3:150"},"nodeType":"YulFunctionCall","src":"18214:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18207:6:150"},"nodeType":"YulFunctionCall","src":"18207:35:150"},"nodeType":"YulIf","src":"18204:55:150"},{"nodeType":"YulVariableDeclaration","src":"18268:19:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18284:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18278:5:150"},"nodeType":"YulFunctionCall","src":"18278:9:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"18272:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18296:71:150","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"18363:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"18323:39:150"},"nodeType":"YulFunctionCall","src":"18323:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"18307:15:150"},"nodeType":"YulFunctionCall","src":"18307:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"18300:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18376:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"18389:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"18380:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"18408:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"18413:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18401:6:150"},"nodeType":"YulFunctionCall","src":"18401:15:150"},"nodeType":"YulExpressionStatement","src":"18401:15:150"},{"nodeType":"YulAssignment","src":"18425:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"18436:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18441:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18432:3:150"},"nodeType":"YulFunctionCall","src":"18432:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"18425:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"18453:42:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18475:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18483:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"18486:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18479:3:150"},"nodeType":"YulFunctionCall","src":"18479:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18471:3:150"},"nodeType":"YulFunctionCall","src":"18471:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18492:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18467:3:150"},"nodeType":"YulFunctionCall","src":"18467:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"18457:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18527:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18536:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18539:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18529:6:150"},"nodeType":"YulFunctionCall","src":"18529:12:150"},"nodeType":"YulExpressionStatement","src":"18529:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"18510:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18518:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18507:2:150"},"nodeType":"YulFunctionCall","src":"18507:19:150"},"nodeType":"YulIf","src":"18504:39:150"},{"nodeType":"YulVariableDeclaration","src":"18552:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18567:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18571:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18563:3:150"},"nodeType":"YulFunctionCall","src":"18563:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"18556:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18639:1308:150","statements":[{"nodeType":"YulVariableDeclaration","src":"18653:29:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18678:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18672:5:150"},"nodeType":"YulFunctionCall","src":"18672:10:150"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"18657:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18718:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18727:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18730:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18720:6:150"},"nodeType":"YulFunctionCall","src":"18720:12:150"},"nodeType":"YulExpressionStatement","src":"18720:12:150"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"18701:11:150"},{"name":"_2","nodeType":"YulIdentifier","src":"18714:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18698:2:150"},"nodeType":"YulFunctionCall","src":"18698:19:150"},"nodeType":"YulIf","src":"18695:39:150"},{"nodeType":"YulVariableDeclaration","src":"18747:30:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18761:2:150"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"18765:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18757:3:150"},"nodeType":"YulFunctionCall","src":"18757:20:150"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"18751:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18847:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"18865:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18875:1:150","type":"","value":"0"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"18869:2:150","type":""}]},{"expression":{"arguments":[{"name":"_6","nodeType":"YulIdentifier","src":"18900:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"18904:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18893:6:150"},"nodeType":"YulFunctionCall","src":"18893:14:150"},"nodeType":"YulExpressionStatement","src":"18893:14:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18805:7:150"},{"name":"_5","nodeType":"YulIdentifier","src":"18814:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18801:3:150"},"nodeType":"YulFunctionCall","src":"18801:16:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18823:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18819:3:150"},"nodeType":"YulFunctionCall","src":"18819:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18797:3:150"},"nodeType":"YulFunctionCall","src":"18797:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"18829:4:150","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18793:3:150"},"nodeType":"YulFunctionCall","src":"18793:41:150"},"nodeType":"YulIf","src":"18790:131:150"},{"nodeType":"YulVariableDeclaration","src":"18934:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_5317","nodeType":"YulIdentifier","src":"18947:20:150"},"nodeType":"YulFunctionCall","src":"18947:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"18938:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18989:5:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19006:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19010:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19002:3:150"},"nodeType":"YulFunctionCall","src":"19002:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18996:5:150"},"nodeType":"YulFunctionCall","src":"18996:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18982:6:150"},"nodeType":"YulFunctionCall","src":"18982:33:150"},"nodeType":"YulExpressionStatement","src":"18982:33:150"},{"nodeType":"YulVariableDeclaration","src":"19028:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19038:2:150","type":"","value":"64"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"19032:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19064:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19071:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19060:3:150"},"nodeType":"YulFunctionCall","src":"19060:14:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19110:2:150"},{"name":"_7","nodeType":"YulIdentifier","src":"19114:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19106:3:150"},"nodeType":"YulFunctionCall","src":"19106:11:150"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"19076:29:150"},"nodeType":"YulFunctionCall","src":"19076:42:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19053:6:150"},"nodeType":"YulFunctionCall","src":"19053:66:150"},"nodeType":"YulExpressionStatement","src":"19053:66:150"},{"nodeType":"YulVariableDeclaration","src":"19132:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19142:2:150","type":"","value":"96"},"variables":[{"name":"_8","nodeType":"YulTypedName","src":"19136:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"19157:34:150","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19183:2:150"},{"name":"_8","nodeType":"YulIdentifier","src":"19187:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19179:3:150"},"nodeType":"YulFunctionCall","src":"19179:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19173:5:150"},"nodeType":"YulFunctionCall","src":"19173:18:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"19161:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19236:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"19254:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19264:1:150","type":"","value":"0"},"variables":[{"name":"_9","nodeType":"YulTypedName","src":"19258:2:150","type":""}]},{"expression":{"arguments":[{"name":"_9","nodeType":"YulIdentifier","src":"19289:2:150"},{"name":"_9","nodeType":"YulIdentifier","src":"19293:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19282:6:150"},"nodeType":"YulFunctionCall","src":"19282:14:150"},"nodeType":"YulExpressionStatement","src":"19282:14:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"19210:8:150"},{"name":"_2","nodeType":"YulIdentifier","src":"19220:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19207:2:150"},"nodeType":"YulFunctionCall","src":"19207:16:150"},"nodeType":"YulIf","src":"19204:106:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19334:5:150"},{"name":"_7","nodeType":"YulIdentifier","src":"19341:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19330:3:150"},"nodeType":"YulFunctionCall","src":"19330:14:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19383:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"19387:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19379:3:150"},"nodeType":"YulFunctionCall","src":"19379:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19398:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19375:3:150"},"nodeType":"YulFunctionCall","src":"19375:26:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"19403:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"19346:28:150"},"nodeType":"YulFunctionCall","src":"19346:65:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19323:6:150"},"nodeType":"YulFunctionCall","src":"19323:89:150"},"nodeType":"YulExpressionStatement","src":"19323:89:150"},{"nodeType":"YulVariableDeclaration","src":"19425:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19436:3:150","type":"","value":"128"},"variables":[{"name":"_10","nodeType":"YulTypedName","src":"19429:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"19452:35:150","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19478:2:150"},{"name":"_10","nodeType":"YulIdentifier","src":"19482:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19474:3:150"},"nodeType":"YulFunctionCall","src":"19474:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19468:5:150"},"nodeType":"YulFunctionCall","src":"19468:19:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"19456:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19532:77:150","statements":[{"nodeType":"YulVariableDeclaration","src":"19550:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19561:1:150","type":"","value":"0"},"variables":[{"name":"_11","nodeType":"YulTypedName","src":"19554:3:150","type":""}]},{"expression":{"arguments":[{"name":"_11","nodeType":"YulIdentifier","src":"19586:3:150"},{"name":"_11","nodeType":"YulIdentifier","src":"19591:3:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19579:6:150"},"nodeType":"YulFunctionCall","src":"19579:16:150"},"nodeType":"YulExpressionStatement","src":"19579:16:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"19506:8:150"},{"name":"_2","nodeType":"YulIdentifier","src":"19516:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19503:2:150"},"nodeType":"YulFunctionCall","src":"19503:16:150"},"nodeType":"YulIf","src":"19500:109:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19633:5:150"},{"name":"_8","nodeType":"YulIdentifier","src":"19640:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19629:3:150"},"nodeType":"YulFunctionCall","src":"19629:14:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19682:2:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"19686:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19678:3:150"},"nodeType":"YulFunctionCall","src":"19678:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19697:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19674:3:150"},"nodeType":"YulFunctionCall","src":"19674:26:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"19702:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"19645:28:150"},"nodeType":"YulFunctionCall","src":"19645:65:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19622:6:150"},"nodeType":"YulFunctionCall","src":"19622:89:150"},"nodeType":"YulExpressionStatement","src":"19622:89:150"},{"nodeType":"YulVariableDeclaration","src":"19724:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19735:3:150","type":"","value":"160"},"variables":[{"name":"_12","nodeType":"YulTypedName","src":"19728:3:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19762:5:150"},{"name":"_10","nodeType":"YulIdentifier","src":"19769:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19758:3:150"},"nodeType":"YulFunctionCall","src":"19758:15:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19785:2:150"},{"name":"_12","nodeType":"YulIdentifier","src":"19789:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19781:3:150"},"nodeType":"YulFunctionCall","src":"19781:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19775:5:150"},"nodeType":"YulFunctionCall","src":"19775:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19751:6:150"},"nodeType":"YulFunctionCall","src":"19751:44:150"},"nodeType":"YulExpressionStatement","src":"19751:44:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19819:5:150"},{"name":"_12","nodeType":"YulIdentifier","src":"19826:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19815:3:150"},"nodeType":"YulFunctionCall","src":"19815:15:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19863:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"19867:4:150","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19859:3:150"},"nodeType":"YulFunctionCall","src":"19859:13:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"19832:26:150"},"nodeType":"YulFunctionCall","src":"19832:41:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19808:6:150"},"nodeType":"YulFunctionCall","src":"19808:66:150"},"nodeType":"YulExpressionStatement","src":"19808:66:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"19894:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"19899:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19887:6:150"},"nodeType":"YulFunctionCall","src":"19887:18:150"},"nodeType":"YulExpressionStatement","src":"19887:18:150"},{"nodeType":"YulAssignment","src":"19918:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"19929:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19934:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19925:3:150"},"nodeType":"YulFunctionCall","src":"19925:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"19918:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18594:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"18599:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18591:2:150"},"nodeType":"YulFunctionCall","src":"18591:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"18607:23:150","statements":[{"nodeType":"YulAssignment","src":"18609:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18620:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18625:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18616:3:150"},"nodeType":"YulFunctionCall","src":"18616:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"18609:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"18587:3:150","statements":[]},"src":"18583:1364:150"},{"nodeType":"YulAssignment","src":"19956:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"19966:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19956:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17918:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17929:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17941:6:150","type":""}],"src":"17803:2174:150"},{"body":{"nodeType":"YulBlock","src":"20060:124:150","statements":[{"body":{"nodeType":"YulBlock","src":"20106:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20115:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20118:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20108:6:150"},"nodeType":"YulFunctionCall","src":"20108:12:150"},"nodeType":"YulExpressionStatement","src":"20108:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20081:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20090:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20077:3:150"},"nodeType":"YulFunctionCall","src":"20077:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20102:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20073:3:150"},"nodeType":"YulFunctionCall","src":"20073:32:150"},"nodeType":"YulIf","src":"20070:52:150"},{"nodeType":"YulAssignment","src":"20131:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20168:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"20141:26:150"},"nodeType":"YulFunctionCall","src":"20141:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20131:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20026:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20037:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20049:6:150","type":""}],"src":"19982:202:150"},{"body":{"nodeType":"YulBlock","src":"20344:189:150","statements":[{"nodeType":"YulAssignment","src":"20354:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20366:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20377:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20362:3:150"},"nodeType":"YulFunctionCall","src":"20362:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20354:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20396:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"20407:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20389:6:150"},"nodeType":"YulFunctionCall","src":"20389:25:150"},"nodeType":"YulExpressionStatement","src":"20389:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20434:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20445:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20430:3:150"},"nodeType":"YulFunctionCall","src":"20430:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20454:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"20462:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20450:3:150"},"nodeType":"YulFunctionCall","src":"20450:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20423:6:150"},"nodeType":"YulFunctionCall","src":"20423:45:150"},"nodeType":"YulExpressionStatement","src":"20423:45:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20488:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20499:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20484:3:150"},"nodeType":"YulFunctionCall","src":"20484:18:150"},{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"20518:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20511:6:150"},"nodeType":"YulFunctionCall","src":"20511:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20504:6:150"},"nodeType":"YulFunctionCall","src":"20504:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20477:6:150"},"nodeType":"YulFunctionCall","src":"20477:50:150"},"nodeType":"YulExpressionStatement","src":"20477:50:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint8_t_bool__to_t_uint256_t_uint8_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20297:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20308:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20316:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20324:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20335:4:150","type":""}],"src":"20189:344:150"},{"body":{"nodeType":"YulBlock","src":"20753:252:150","statements":[{"nodeType":"YulVariableDeclaration","src":"20763:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20781:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"20786:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20777:3:150"},"nodeType":"YulFunctionCall","src":"20777:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"20790:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20773:3:150"},"nodeType":"YulFunctionCall","src":"20773:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"20767:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20808:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20823:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20831:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20819:3:150"},"nodeType":"YulFunctionCall","src":"20819:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20801:6:150"},"nodeType":"YulFunctionCall","src":"20801:34:150"},"nodeType":"YulExpressionStatement","src":"20801:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20855:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20866:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20851:3:150"},"nodeType":"YulFunctionCall","src":"20851:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20875:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20883:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20871:3:150"},"nodeType":"YulFunctionCall","src":"20871:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20844:6:150"},"nodeType":"YulFunctionCall","src":"20844:43:150"},"nodeType":"YulExpressionStatement","src":"20844:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20907:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20918:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20903:3:150"},"nodeType":"YulFunctionCall","src":"20903:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"20923:2:150","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20896:6:150"},"nodeType":"YulFunctionCall","src":"20896:30:150"},"nodeType":"YulExpressionStatement","src":"20896:30:150"},{"nodeType":"YulAssignment","src":"20935:64:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"20972:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20984:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20995:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20980:3:150"},"nodeType":"YulFunctionCall","src":"20980:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"20943:28:150"},"nodeType":"YulFunctionCall","src":"20943:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20935:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20706:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20717:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20725:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20733:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20744:4:150","type":""}],"src":"20538:467:150"},{"body":{"nodeType":"YulBlock","src":"21145:166:150","statements":[{"nodeType":"YulAssignment","src":"21155:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21167:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21178:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21163:3:150"},"nodeType":"YulFunctionCall","src":"21163:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21155:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21197:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21212:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21228:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"21233:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21224:3:150"},"nodeType":"YulFunctionCall","src":"21224:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"21237:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21220:3:150"},"nodeType":"YulFunctionCall","src":"21220:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21208:3:150"},"nodeType":"YulFunctionCall","src":"21208:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21190:6:150"},"nodeType":"YulFunctionCall","src":"21190:51:150"},"nodeType":"YulExpressionStatement","src":"21190:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21261:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21272:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21257:3:150"},"nodeType":"YulFunctionCall","src":"21257:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"21281:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"21289:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21277:3:150"},"nodeType":"YulFunctionCall","src":"21277:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21250:6:150"},"nodeType":"YulFunctionCall","src":"21250:55:150"},"nodeType":"YulExpressionStatement","src":"21250:55:150"}]},"name":"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21106:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21117:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21125:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21136:4:150","type":""}],"src":"21010:301:150"},{"body":{"nodeType":"YulBlock","src":"21453:119:150","statements":[{"nodeType":"YulAssignment","src":"21463:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21475:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21486:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21471:3:150"},"nodeType":"YulFunctionCall","src":"21471:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21463:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21505:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"21516:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21498:6:150"},"nodeType":"YulFunctionCall","src":"21498:25:150"},"nodeType":"YulExpressionStatement","src":"21498:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21543:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21554:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21539:3:150"},"nodeType":"YulFunctionCall","src":"21539:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"21559:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21532:6:150"},"nodeType":"YulFunctionCall","src":"21532:34:150"},"nodeType":"YulExpressionStatement","src":"21532:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21414:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21425:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21433:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21444:4:150","type":""}],"src":"21316:256:150"},{"body":{"nodeType":"YulBlock","src":"21686:102:150","statements":[{"nodeType":"YulAssignment","src":"21696:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21708:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21719:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21704:3:150"},"nodeType":"YulFunctionCall","src":"21704:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21696:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21738:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21753:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21769:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"21774:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21765:3:150"},"nodeType":"YulFunctionCall","src":"21765:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"21778:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21761:3:150"},"nodeType":"YulFunctionCall","src":"21761:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21749:3:150"},"nodeType":"YulFunctionCall","src":"21749:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21731:6:150"},"nodeType":"YulFunctionCall","src":"21731:51:150"},"nodeType":"YulExpressionStatement","src":"21731:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21655:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21666:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21677:4:150","type":""}],"src":"21577:211:150"},{"body":{"nodeType":"YulBlock","src":"21868:584:150","statements":[{"body":{"nodeType":"YulBlock","src":"21917:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21926:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21929:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21919:6:150"},"nodeType":"YulFunctionCall","src":"21919:12:150"},"nodeType":"YulExpressionStatement","src":"21919:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"21896:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"21904:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21892:3:150"},"nodeType":"YulFunctionCall","src":"21892:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"21911:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21888:3:150"},"nodeType":"YulFunctionCall","src":"21888:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21881:6:150"},"nodeType":"YulFunctionCall","src":"21881:35:150"},"nodeType":"YulIf","src":"21878:55:150"},{"nodeType":"YulVariableDeclaration","src":"21942:23:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"21958:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21952:5:150"},"nodeType":"YulFunctionCall","src":"21952:13:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"21946:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21974:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"21984:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"21978:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21997:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"22064:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"22024:39:150"},"nodeType":"YulFunctionCall","src":"22024:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"22008:15:150"},"nodeType":"YulFunctionCall","src":"22008:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"22001:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"22077:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"22090:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"22081:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22109:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22114:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22102:6:150"},"nodeType":"YulFunctionCall","src":"22102:15:150"},"nodeType":"YulExpressionStatement","src":"22102:15:150"},{"nodeType":"YulAssignment","src":"22126:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22137:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22142:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22133:3:150"},"nodeType":"YulFunctionCall","src":"22133:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"22126:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"22154:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22176:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22188:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"22191:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22184:3:150"},"nodeType":"YulFunctionCall","src":"22184:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22172:3:150"},"nodeType":"YulFunctionCall","src":"22172:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22197:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22168:3:150"},"nodeType":"YulFunctionCall","src":"22168:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"22158:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22228:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22237:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22240:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22230:6:150"},"nodeType":"YulFunctionCall","src":"22230:12:150"},"nodeType":"YulExpressionStatement","src":"22230:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"22215:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"22223:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22212:2:150"},"nodeType":"YulFunctionCall","src":"22212:15:150"},"nodeType":"YulIf","src":"22209:35:150"},{"nodeType":"YulVariableDeclaration","src":"22253:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22268:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22276:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22264:3:150"},"nodeType":"YulFunctionCall","src":"22264:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"22257:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22344:79:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22365:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22376:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22370:5:150"},"nodeType":"YulFunctionCall","src":"22370:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22358:6:150"},"nodeType":"YulFunctionCall","src":"22358:23:150"},"nodeType":"YulExpressionStatement","src":"22358:23:150"},{"nodeType":"YulAssignment","src":"22394:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22405:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22410:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22401:3:150"},"nodeType":"YulFunctionCall","src":"22401:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"22394:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22299:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"22304:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"22296:2:150"},"nodeType":"YulFunctionCall","src":"22296:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"22312:23:150","statements":[{"nodeType":"YulAssignment","src":"22314:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22325:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22330:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22321:3:150"},"nodeType":"YulFunctionCall","src":"22321:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"22314:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"22292:3:150","statements":[]},"src":"22288:135:150"},{"nodeType":"YulAssignment","src":"22432:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"22441:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"22432:5:150"}]}]},"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"21842:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"21850:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"21858:5:150","type":""}],"src":"21793:659:150"},{"body":{"nodeType":"YulBlock","src":"22563:257:150","statements":[{"body":{"nodeType":"YulBlock","src":"22609:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22618:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22621:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22611:6:150"},"nodeType":"YulFunctionCall","src":"22611:12:150"},"nodeType":"YulExpressionStatement","src":"22611:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22584:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22593:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22580:3:150"},"nodeType":"YulFunctionCall","src":"22580:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22605:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22576:3:150"},"nodeType":"YulFunctionCall","src":"22576:32:150"},"nodeType":"YulIf","src":"22573:52:150"},{"nodeType":"YulVariableDeclaration","src":"22634:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22654:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22648:5:150"},"nodeType":"YulFunctionCall","src":"22648:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"22638:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22707:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22716:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22719:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22709:6:150"},"nodeType":"YulFunctionCall","src":"22709:12:150"},"nodeType":"YulExpressionStatement","src":"22709:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22679:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22695:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"22699:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22691:3:150"},"nodeType":"YulFunctionCall","src":"22691:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"22703:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22687:3:150"},"nodeType":"YulFunctionCall","src":"22687:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22676:2:150"},"nodeType":"YulFunctionCall","src":"22676:30:150"},"nodeType":"YulIf","src":"22673:50:150"},{"nodeType":"YulAssignment","src":"22732:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22786:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"22797:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22782:3:150"},"nodeType":"YulFunctionCall","src":"22782:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22806:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"22742:39:150"},"nodeType":"YulFunctionCall","src":"22742:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22732:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22529:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22540:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22552:6:150","type":""}],"src":"22457:363:150"},{"body":{"nodeType":"YulBlock","src":"22990:188:150","statements":[{"nodeType":"YulAssignment","src":"23000:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23012:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23023:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23008:3:150"},"nodeType":"YulFunctionCall","src":"23008:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23000:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23042:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"23053:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23035:6:150"},"nodeType":"YulFunctionCall","src":"23035:25:150"},"nodeType":"YulExpressionStatement","src":"23035:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23080:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23091:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23076:3:150"},"nodeType":"YulFunctionCall","src":"23076:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23100:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23116:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23121:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23112:3:150"},"nodeType":"YulFunctionCall","src":"23112:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23125:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23108:3:150"},"nodeType":"YulFunctionCall","src":"23108:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23096:3:150"},"nodeType":"YulFunctionCall","src":"23096:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23069:6:150"},"nodeType":"YulFunctionCall","src":"23069:60:150"},"nodeType":"YulExpressionStatement","src":"23069:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23149:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23160:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23145:3:150"},"nodeType":"YulFunctionCall","src":"23145:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"23165:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23138:6:150"},"nodeType":"YulFunctionCall","src":"23138:34:150"},"nodeType":"YulExpressionStatement","src":"23138:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_bytes32__to_t_uint256_t_address_t_bytes32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22943:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"22954:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22962:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22970:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22981:4:150","type":""}],"src":"22825:353:150"},{"body":{"nodeType":"YulBlock","src":"23320:145:150","statements":[{"nodeType":"YulAssignment","src":"23330:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23342:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23353:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23338:3:150"},"nodeType":"YulFunctionCall","src":"23338:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23330:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23372:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"23383:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23365:6:150"},"nodeType":"YulFunctionCall","src":"23365:25:150"},"nodeType":"YulExpressionStatement","src":"23365:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23410:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23421:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23406:3:150"},"nodeType":"YulFunctionCall","src":"23406:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23430:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23446:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23451:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23442:3:150"},"nodeType":"YulFunctionCall","src":"23442:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23455:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23438:3:150"},"nodeType":"YulFunctionCall","src":"23438:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23426:3:150"},"nodeType":"YulFunctionCall","src":"23426:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23399:6:150"},"nodeType":"YulFunctionCall","src":"23399:60:150"},"nodeType":"YulExpressionStatement","src":"23399:60:150"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23281:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23292:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23300:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23311:4:150","type":""}],"src":"23183:282:150"},{"body":{"nodeType":"YulBlock","src":"23607:119:150","statements":[{"nodeType":"YulAssignment","src":"23617:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23640:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23625:3:150"},"nodeType":"YulFunctionCall","src":"23625:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23617:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23659:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"23670:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23652:6:150"},"nodeType":"YulFunctionCall","src":"23652:25:150"},"nodeType":"YulExpressionStatement","src":"23652:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23697:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23708:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23693:3:150"},"nodeType":"YulFunctionCall","src":"23693:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"23713:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23686:6:150"},"nodeType":"YulFunctionCall","src":"23686:34:150"},"nodeType":"YulExpressionStatement","src":"23686:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23568:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23579:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23587:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23598:4:150","type":""}],"src":"23470:256:150"},{"body":{"nodeType":"YulBlock","src":"23822:246:150","statements":[{"body":{"nodeType":"YulBlock","src":"23868:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23877:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23880:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23870:6:150"},"nodeType":"YulFunctionCall","src":"23870:12:150"},"nodeType":"YulExpressionStatement","src":"23870:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23843:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23852:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23839:3:150"},"nodeType":"YulFunctionCall","src":"23839:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23864:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23835:3:150"},"nodeType":"YulFunctionCall","src":"23835:32:150"},"nodeType":"YulIf","src":"23832:52:150"},{"nodeType":"YulVariableDeclaration","src":"23893:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23913:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23907:5:150"},"nodeType":"YulFunctionCall","src":"23907:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23897:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"23966:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23975:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23978:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23968:6:150"},"nodeType":"YulFunctionCall","src":"23968:12:150"},"nodeType":"YulExpressionStatement","src":"23968:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"23938:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23954:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"23958:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23950:3:150"},"nodeType":"YulFunctionCall","src":"23950:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"23962:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23946:3:150"},"nodeType":"YulFunctionCall","src":"23946:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23935:2:150"},"nodeType":"YulFunctionCall","src":"23935:30:150"},"nodeType":"YulIf","src":"23932:50:150"},{"nodeType":"YulAssignment","src":"23991:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24034:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"24045:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24030:3:150"},"nodeType":"YulFunctionCall","src":"24030:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"24054:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"24001:28:150"},"nodeType":"YulFunctionCall","src":"24001:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23991:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23788:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23799:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23811:6:150","type":""}],"src":"23731:337:150"},{"body":{"nodeType":"YulBlock","src":"24247:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24264:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24275:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24257:6:150"},"nodeType":"YulFunctionCall","src":"24257:21:150"},"nodeType":"YulExpressionStatement","src":"24257:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24298:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24309:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24294:3:150"},"nodeType":"YulFunctionCall","src":"24294:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24314:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24287:6:150"},"nodeType":"YulFunctionCall","src":"24287:30:150"},"nodeType":"YulExpressionStatement","src":"24287:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24337:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24348:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24333:3:150"},"nodeType":"YulFunctionCall","src":"24333:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206170707320","kind":"string","nodeType":"YulLiteral","src":"24353:34:150","type":"","value":"XAllocationVotingGovernor: apps "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24326:6:150"},"nodeType":"YulFunctionCall","src":"24326:62:150"},"nodeType":"YulExpressionStatement","src":"24326:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24408:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24419:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24404:3:150"},"nodeType":"YulFunctionCall","src":"24404:18:150"},{"hexValue":"616e642077656967687473206c656e677468206d69736d61746368","kind":"string","nodeType":"YulLiteral","src":"24424:29:150","type":"","value":"and weights length mismatch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24397:6:150"},"nodeType":"YulFunctionCall","src":"24397:57:150"},"nodeType":"YulExpressionStatement","src":"24397:57:150"},{"nodeType":"YulAssignment","src":"24463:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24475:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24486:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24471:3:150"},"nodeType":"YulFunctionCall","src":"24471:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24463:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24224:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24238:4:150","type":""}],"src":"24073:423:150"},{"body":{"nodeType":"YulBlock","src":"24675:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24692:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24703:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24685:6:150"},"nodeType":"YulFunctionCall","src":"24685:21:150"},"nodeType":"YulExpressionStatement","src":"24685:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24726:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24737:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24722:3:150"},"nodeType":"YulFunctionCall","src":"24722:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24742:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24715:6:150"},"nodeType":"YulFunctionCall","src":"24715:30:150"},"nodeType":"YulExpressionStatement","src":"24715:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24765:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24776:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24761:3:150"},"nodeType":"YulFunctionCall","src":"24761:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f206170","kind":"string","nodeType":"YulLiteral","src":"24781:34:150","type":"","value":"XAllocationVotingGovernor: no ap"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24754:6:150"},"nodeType":"YulFunctionCall","src":"24754:62:150"},"nodeType":"YulExpressionStatement","src":"24754:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24836:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24847:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24832:3:150"},"nodeType":"YulFunctionCall","src":"24832:18:150"},{"hexValue":"707320746f20766f746520666f72","kind":"string","nodeType":"YulLiteral","src":"24852:16:150","type":"","value":"ps to vote for"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24825:6:150"},"nodeType":"YulFunctionCall","src":"24825:44:150"},"nodeType":"YulExpressionStatement","src":"24825:44:150"},{"nodeType":"YulAssignment","src":"24878:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24890:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24901:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24886:3:150"},"nodeType":"YulFunctionCall","src":"24886:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24878:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24652:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24666:4:150","type":""}],"src":"24501:410:150"},{"body":{"nodeType":"YulBlock","src":"25043:166:150","statements":[{"nodeType":"YulAssignment","src":"25053:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25065:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25076:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25061:3:150"},"nodeType":"YulFunctionCall","src":"25061:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25053:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25095:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25110:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25126:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25131:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25122:3:150"},"nodeType":"YulFunctionCall","src":"25122:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"25135:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25118:3:150"},"nodeType":"YulFunctionCall","src":"25118:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25106:3:150"},"nodeType":"YulFunctionCall","src":"25106:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25088:6:150"},"nodeType":"YulFunctionCall","src":"25088:51:150"},"nodeType":"YulExpressionStatement","src":"25088:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25159:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25170:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25155:3:150"},"nodeType":"YulFunctionCall","src":"25155:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"25179:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"25187:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25175:3:150"},"nodeType":"YulFunctionCall","src":"25175:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25148:6:150"},"nodeType":"YulFunctionCall","src":"25148:55:150"},"nodeType":"YulExpressionStatement","src":"25148:55:150"}]},"name":"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25004:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25015:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25023:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25034:4:150","type":""}],"src":"24916:293:150"},{"body":{"nodeType":"YulBlock","src":"25315:102:150","statements":[{"nodeType":"YulAssignment","src":"25325:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25337:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25348:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25333:3:150"},"nodeType":"YulFunctionCall","src":"25333:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25325:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25367:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25382:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25398:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25403:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25394:3:150"},"nodeType":"YulFunctionCall","src":"25394:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"25407:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25390:3:150"},"nodeType":"YulFunctionCall","src":"25390:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25378:3:150"},"nodeType":"YulFunctionCall","src":"25378:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25360:6:150"},"nodeType":"YulFunctionCall","src":"25360:51:150"},"nodeType":"YulExpressionStatement","src":"25360:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25284:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25295:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25306:4:150","type":""}],"src":"25214:203:150"},{"body":{"nodeType":"YulBlock","src":"25551:145:150","statements":[{"nodeType":"YulAssignment","src":"25561:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25573:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25584:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25569:3:150"},"nodeType":"YulFunctionCall","src":"25569:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25561:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25603:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25618:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25634:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25639:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25630:3:150"},"nodeType":"YulFunctionCall","src":"25630:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"25643:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25626:3:150"},"nodeType":"YulFunctionCall","src":"25626:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25614:3:150"},"nodeType":"YulFunctionCall","src":"25614:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25596:6:150"},"nodeType":"YulFunctionCall","src":"25596:51:150"},"nodeType":"YulExpressionStatement","src":"25596:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25667:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25678:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25663:3:150"},"nodeType":"YulFunctionCall","src":"25663:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"25683:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25656:6:150"},"nodeType":"YulFunctionCall","src":"25656:34:150"},"nodeType":"YulExpressionStatement","src":"25656:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25512:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25523:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25531:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25542:4:150","type":""}],"src":"25422:274:150"},{"body":{"nodeType":"YulBlock","src":"25782:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"25828:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25837:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25840:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25830:6:150"},"nodeType":"YulFunctionCall","src":"25830:12:150"},"nodeType":"YulExpressionStatement","src":"25830:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"25803:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"25812:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25799:3:150"},"nodeType":"YulFunctionCall","src":"25799:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"25824:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"25795:3:150"},"nodeType":"YulFunctionCall","src":"25795:32:150"},"nodeType":"YulIf","src":"25792:52:150"},{"nodeType":"YulVariableDeclaration","src":"25853:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25872:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25866:5:150"},"nodeType":"YulFunctionCall","src":"25866:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"25857:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25916:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"25891:24:150"},"nodeType":"YulFunctionCall","src":"25891:31:150"},"nodeType":"YulExpressionStatement","src":"25891:31:150"},{"nodeType":"YulAssignment","src":"25931:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"25941:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"25931:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25748:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"25759:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"25771:6:150","type":""}],"src":"25701:251:150"},{"body":{"nodeType":"YulBlock","src":"26086:102:150","statements":[{"nodeType":"YulAssignment","src":"26096:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26108:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26119:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26104:3:150"},"nodeType":"YulFunctionCall","src":"26104:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26096:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26138:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26153:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26169:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"26174:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26165:3:150"},"nodeType":"YulFunctionCall","src":"26165:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"26178:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26161:3:150"},"nodeType":"YulFunctionCall","src":"26161:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26149:3:150"},"nodeType":"YulFunctionCall","src":"26149:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26131:6:150"},"nodeType":"YulFunctionCall","src":"26131:51:150"},"nodeType":"YulExpressionStatement","src":"26131:51:150"}]},"name":"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26055:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26066:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26077:4:150","type":""}],"src":"25957:231:150"},{"body":{"nodeType":"YulBlock","src":"26331:102:150","statements":[{"nodeType":"YulAssignment","src":"26341:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26353:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26364:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26349:3:150"},"nodeType":"YulFunctionCall","src":"26349:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26341:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26383:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26398:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26414:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"26419:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26410:3:150"},"nodeType":"YulFunctionCall","src":"26410:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"26423:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26406:3:150"},"nodeType":"YulFunctionCall","src":"26406:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26394:3:150"},"nodeType":"YulFunctionCall","src":"26394:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26376:6:150"},"nodeType":"YulFunctionCall","src":"26376:51:150"},"nodeType":"YulExpressionStatement","src":"26376:51:150"}]},"name":"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26300:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26311:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26322:4:150","type":""}],"src":"26193:240:150"},{"body":{"nodeType":"YulBlock","src":"26612:231:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26640:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26622:6:150"},"nodeType":"YulFunctionCall","src":"26622:21:150"},"nodeType":"YulExpressionStatement","src":"26622:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26663:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26674:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26659:3:150"},"nodeType":"YulFunctionCall","src":"26659:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"26679:2:150","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26652:6:150"},"nodeType":"YulFunctionCall","src":"26652:30:150"},"nodeType":"YulExpressionStatement","src":"26652:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26702:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26713:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26698:3:150"},"nodeType":"YulFunctionCall","src":"26698:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a206e6f74206e6176696761746f72","kind":"string","nodeType":"YulLiteral","src":"26718:34:150","type":"","value":"XAllocationVoting: not navigator"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26691:6:150"},"nodeType":"YulFunctionCall","src":"26691:62:150"},"nodeType":"YulExpressionStatement","src":"26691:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26773:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26784:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26769:3:150"},"nodeType":"YulFunctionCall","src":"26769:18:150"},{"hexValue":"207265676973747279","kind":"string","nodeType":"YulLiteral","src":"26789:11:150","type":"","value":" registry"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26762:6:150"},"nodeType":"YulFunctionCall","src":"26762:39:150"},"nodeType":"YulExpressionStatement","src":"26762:39:150"},{"nodeType":"YulAssignment","src":"26810:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26822:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26833:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26818:3:150"},"nodeType":"YulFunctionCall","src":"26818:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26810:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26589:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26603:4:150","type":""}],"src":"26438:405:150"},{"body":{"nodeType":"YulBlock","src":"27011:239:150","statements":[{"nodeType":"YulAssignment","src":"27021:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27033:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27044:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27029:3:150"},"nodeType":"YulFunctionCall","src":"27029:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27021:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"27056:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27074:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"27079:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27070:3:150"},"nodeType":"YulFunctionCall","src":"27070:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"27083:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27066:3:150"},"nodeType":"YulFunctionCall","src":"27066:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"27060:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27101:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27116:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27124:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27112:3:150"},"nodeType":"YulFunctionCall","src":"27112:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27094:6:150"},"nodeType":"YulFunctionCall","src":"27094:34:150"},"nodeType":"YulExpressionStatement","src":"27094:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27148:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27159:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27144:3:150"},"nodeType":"YulFunctionCall","src":"27144:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"27168:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27176:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27164:3:150"},"nodeType":"YulFunctionCall","src":"27164:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27137:6:150"},"nodeType":"YulFunctionCall","src":"27137:43:150"},"nodeType":"YulExpressionStatement","src":"27137:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27200:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27211:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27196:3:150"},"nodeType":"YulFunctionCall","src":"27196:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"27220:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"27228:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27216:3:150"},"nodeType":"YulFunctionCall","src":"27216:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27189:6:150"},"nodeType":"YulFunctionCall","src":"27189:55:150"},"nodeType":"YulExpressionStatement","src":"27189:55:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint48__to_t_address_t_address_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26964:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"26975:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26983:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26991:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27002:4:150","type":""}],"src":"26848:402:150"},{"body":{"nodeType":"YulBlock","src":"27387:102:150","statements":[{"nodeType":"YulAssignment","src":"27397:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27409:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27420:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27405:3:150"},"nodeType":"YulFunctionCall","src":"27405:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27397:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27439:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27454:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27470:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"27475:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27466:3:150"},"nodeType":"YulFunctionCall","src":"27466:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"27479:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27462:3:150"},"nodeType":"YulFunctionCall","src":"27462:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27450:3:150"},"nodeType":"YulFunctionCall","src":"27450:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27432:6:150"},"nodeType":"YulFunctionCall","src":"27432:51:150"},"nodeType":"YulExpressionStatement","src":"27432:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27356:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27367:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27378:4:150","type":""}],"src":"27255:234:150"},{"body":{"nodeType":"YulBlock","src":"27603:665:150","statements":[{"body":{"nodeType":"YulBlock","src":"27649:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27658:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27661:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27651:6:150"},"nodeType":"YulFunctionCall","src":"27651:12:150"},"nodeType":"YulExpressionStatement","src":"27651:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"27624:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"27633:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27620:3:150"},"nodeType":"YulFunctionCall","src":"27620:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"27645:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"27616:3:150"},"nodeType":"YulFunctionCall","src":"27616:32:150"},"nodeType":"YulIf","src":"27613:52:150"},{"nodeType":"YulVariableDeclaration","src":"27674:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27694:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27688:5:150"},"nodeType":"YulFunctionCall","src":"27688:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"27678:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27706:33:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27728:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"27736:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27724:3:150"},"nodeType":"YulFunctionCall","src":"27724:15:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"27710:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27814:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"27816:16:150"},"nodeType":"YulFunctionCall","src":"27816:18:150"},"nodeType":"YulExpressionStatement","src":"27816:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"27757:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27777:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"27781:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27773:3:150"},"nodeType":"YulFunctionCall","src":"27773:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"27785:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27769:3:150"},"nodeType":"YulFunctionCall","src":"27769:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27754:2:150"},"nodeType":"YulFunctionCall","src":"27754:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"27793:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"27805:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27790:2:150"},"nodeType":"YulFunctionCall","src":"27790:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"27751:2:150"},"nodeType":"YulFunctionCall","src":"27751:62:150"},"nodeType":"YulIf","src":"27748:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27852:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"27856:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27845:6:150"},"nodeType":"YulFunctionCall","src":"27845:22:150"},"nodeType":"YulExpressionStatement","src":"27845:22:150"},{"nodeType":"YulVariableDeclaration","src":"27876:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27895:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27889:5:150"},"nodeType":"YulFunctionCall","src":"27889:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"27880:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27939:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"27914:24:150"},"nodeType":"YulFunctionCall","src":"27914:31:150"},"nodeType":"YulExpressionStatement","src":"27914:31:150"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27961:6:150"},{"name":"value","nodeType":"YulIdentifier","src":"27969:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27954:6:150"},"nodeType":"YulFunctionCall","src":"27954:21:150"},"nodeType":"YulExpressionStatement","src":"27954:21:150"},{"nodeType":"YulVariableDeclaration","src":"27984:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28009:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28020:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28005:3:150"},"nodeType":"YulFunctionCall","src":"28005:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27999:5:150"},"nodeType":"YulFunctionCall","src":"27999:25:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"27988:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"28057:7:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"28033:23:150"},"nodeType":"YulFunctionCall","src":"28033:32:150"},"nodeType":"YulExpressionStatement","src":"28033:32:150"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"28085:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"28093:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28081:3:150"},"nodeType":"YulFunctionCall","src":"28081:15:150"},{"name":"value_1","nodeType":"YulIdentifier","src":"28098:7:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28074:6:150"},"nodeType":"YulFunctionCall","src":"28074:32:150"},"nodeType":"YulExpressionStatement","src":"28074:32:150"},{"nodeType":"YulVariableDeclaration","src":"28115:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28140:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28151:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28136:3:150"},"nodeType":"YulFunctionCall","src":"28136:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28130:5:150"},"nodeType":"YulFunctionCall","src":"28130:25:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"28119:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"28188:7:150"}],"functionName":{"name":"validator_revert_uint32","nodeType":"YulIdentifier","src":"28164:23:150"},"nodeType":"YulFunctionCall","src":"28164:32:150"},"nodeType":"YulExpressionStatement","src":"28164:32:150"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"28216:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"28224:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28212:3:150"},"nodeType":"YulFunctionCall","src":"28212:15:150"},{"name":"value_2","nodeType":"YulIdentifier","src":"28229:7:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28205:6:150"},"nodeType":"YulFunctionCall","src":"28205:32:150"},"nodeType":"YulExpressionStatement","src":"28205:32:150"},{"nodeType":"YulAssignment","src":"28246:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"28256:6:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"28246:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_RoundCore_$82969_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27569:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"27580:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"27592:6:150","type":""}],"src":"27494:774:150"},{"body":{"nodeType":"YulBlock","src":"28378:311:150","statements":[{"body":{"nodeType":"YulBlock","src":"28424:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28433:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28436:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28426:6:150"},"nodeType":"YulFunctionCall","src":"28426:12:150"},"nodeType":"YulExpressionStatement","src":"28426:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"28399:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"28408:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28395:3:150"},"nodeType":"YulFunctionCall","src":"28395:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"28420:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"28391:3:150"},"nodeType":"YulFunctionCall","src":"28391:32:150"},"nodeType":"YulIf","src":"28388:52:150"},{"nodeType":"YulAssignment","src":"28449:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28486:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"28459:26:150"},"nodeType":"YulFunctionCall","src":"28459:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"28449:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"28505:39:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28529:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28540:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28525:3:150"},"nodeType":"YulFunctionCall","src":"28525:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28519:5:150"},"nodeType":"YulFunctionCall","src":"28519:25:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"28509:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28587:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28596:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28599:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28589:6:150"},"nodeType":"YulFunctionCall","src":"28589:12:150"},"nodeType":"YulExpressionStatement","src":"28589:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"28559:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28575:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"28579:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28571:3:150"},"nodeType":"YulFunctionCall","src":"28571:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28583:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28567:3:150"},"nodeType":"YulFunctionCall","src":"28567:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28556:2:150"},"nodeType":"YulFunctionCall","src":"28556:30:150"},"nodeType":"YulIf","src":"28553:50:150"},{"nodeType":"YulAssignment","src":"28612:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28655:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"28666:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28651:3:150"},"nodeType":"YulFunctionCall","src":"28651:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"28675:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"28622:28:150"},"nodeType":"YulFunctionCall","src":"28622:61:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"28612:6:150"}]}]},"name":"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28336:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"28347:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"28359:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28367:6:150","type":""}],"src":"28273:416:150"},{"body":{"nodeType":"YulBlock","src":"28937:297:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28947:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28965:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"28970:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28961:3:150"},"nodeType":"YulFunctionCall","src":"28961:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"28974:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28957:3:150"},"nodeType":"YulFunctionCall","src":"28957:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"28951:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28992:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"29007:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29015:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29003:3:150"},"nodeType":"YulFunctionCall","src":"29003:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28985:6:150"},"nodeType":"YulFunctionCall","src":"28985:34:150"},"nodeType":"YulExpressionStatement","src":"28985:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29039:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29050:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29035:3:150"},"nodeType":"YulFunctionCall","src":"29035:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29059:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29067:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29055:3:150"},"nodeType":"YulFunctionCall","src":"29055:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29028:6:150"},"nodeType":"YulFunctionCall","src":"29028:43:150"},"nodeType":"YulExpressionStatement","src":"29028:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29091:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29102:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29087:3:150"},"nodeType":"YulFunctionCall","src":"29087:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"29107:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29080:6:150"},"nodeType":"YulFunctionCall","src":"29080:34:150"},"nodeType":"YulExpressionStatement","src":"29080:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29134:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29145:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29130:3:150"},"nodeType":"YulFunctionCall","src":"29130:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"29150:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29123:6:150"},"nodeType":"YulFunctionCall","src":"29123:31:150"},"nodeType":"YulExpressionStatement","src":"29123:31:150"},{"nodeType":"YulAssignment","src":"29163:65:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"29200:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29212:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29223:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29208:3:150"},"nodeType":"YulFunctionCall","src":"29208:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"29171:28:150"},"nodeType":"YulFunctionCall","src":"29171:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29163:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28882:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"28893:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"28901:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28909:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"28917:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28928:4:150","type":""}],"src":"28694:540:150"},{"body":{"nodeType":"YulBlock","src":"29404:510:150","statements":[{"body":{"nodeType":"YulBlock","src":"29450:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29459:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29462:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29452:6:150"},"nodeType":"YulFunctionCall","src":"29452:12:150"},"nodeType":"YulExpressionStatement","src":"29452:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"29425:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"29434:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29421:3:150"},"nodeType":"YulFunctionCall","src":"29421:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"29446:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"29417:3:150"},"nodeType":"YulFunctionCall","src":"29417:32:150"},"nodeType":"YulIf","src":"29414:52:150"},{"nodeType":"YulVariableDeclaration","src":"29475:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29495:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29489:5:150"},"nodeType":"YulFunctionCall","src":"29489:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"29479:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29514:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29532:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"29536:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29528:3:150"},"nodeType":"YulFunctionCall","src":"29528:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"29540:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29524:3:150"},"nodeType":"YulFunctionCall","src":"29524:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"29518:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29569:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29578:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29581:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29571:6:150"},"nodeType":"YulFunctionCall","src":"29571:12:150"},"nodeType":"YulExpressionStatement","src":"29571:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"29557:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29565:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29554:2:150"},"nodeType":"YulFunctionCall","src":"29554:14:150"},"nodeType":"YulIf","src":"29551:34:150"},{"nodeType":"YulAssignment","src":"29594:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29648:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"29659:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29644:3:150"},"nodeType":"YulFunctionCall","src":"29644:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"29668:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"29604:39:150"},"nodeType":"YulFunctionCall","src":"29604:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"29594:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"29685:41:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29711:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29722:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29707:3:150"},"nodeType":"YulFunctionCall","src":"29707:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29701:5:150"},"nodeType":"YulFunctionCall","src":"29701:25:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"29689:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29755:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29764:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29767:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29757:6:150"},"nodeType":"YulFunctionCall","src":"29757:12:150"},"nodeType":"YulExpressionStatement","src":"29757:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"29741:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29751:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29738:2:150"},"nodeType":"YulFunctionCall","src":"29738:16:150"},"nodeType":"YulIf","src":"29735:36:150"},{"nodeType":"YulAssignment","src":"29780:84:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29834:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"29845:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29830:3:150"},"nodeType":"YulFunctionCall","src":"29830:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"29856:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"29790:39:150"},"nodeType":"YulFunctionCall","src":"29790:74:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"29780:6:150"}]},{"nodeType":"YulAssignment","src":"29873:35:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29893:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29904:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29889:3:150"},"nodeType":"YulFunctionCall","src":"29889:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29883:5:150"},"nodeType":"YulFunctionCall","src":"29883:25:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"29873:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29354:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"29365:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"29377:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"29385:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"29393:6:150","type":""}],"src":"29239:675:150"},{"body":{"nodeType":"YulBlock","src":"30056:119:150","statements":[{"nodeType":"YulAssignment","src":"30066:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30078:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30089:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30074:3:150"},"nodeType":"YulFunctionCall","src":"30074:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30066:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30108:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"30119:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30101:6:150"},"nodeType":"YulFunctionCall","src":"30101:25:150"},"nodeType":"YulExpressionStatement","src":"30101:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30146:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30157:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30142:3:150"},"nodeType":"YulFunctionCall","src":"30142:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"30162:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30135:6:150"},"nodeType":"YulFunctionCall","src":"30135:34:150"},"nodeType":"YulExpressionStatement","src":"30135:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30017:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30028:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30036:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30047:4:150","type":""}],"src":"29919:256:150"},{"body":{"nodeType":"YulBlock","src":"30331:178:150","statements":[{"nodeType":"YulAssignment","src":"30341:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30353:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30364:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30349:3:150"},"nodeType":"YulFunctionCall","src":"30349:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30341:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30383:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30408:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"30401:6:150"},"nodeType":"YulFunctionCall","src":"30401:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"30394:6:150"},"nodeType":"YulFunctionCall","src":"30394:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30376:6:150"},"nodeType":"YulFunctionCall","src":"30376:41:150"},"nodeType":"YulExpressionStatement","src":"30376:41:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30437:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30448:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30433:3:150"},"nodeType":"YulFunctionCall","src":"30433:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"30453:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30426:6:150"},"nodeType":"YulFunctionCall","src":"30426:34:150"},"nodeType":"YulExpressionStatement","src":"30426:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30480:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30491:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30476:3:150"},"nodeType":"YulFunctionCall","src":"30476:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"30496:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30469:6:150"},"nodeType":"YulFunctionCall","src":"30469:34:150"},"nodeType":"YulExpressionStatement","src":"30469:34:150"}]},"name":"abi_encode_tuple_t_bool_t_uint256_t_uint256__to_t_bool_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30284:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"30295:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30303:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30311:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30322:4:150","type":""}],"src":"30180:329:150"},{"body":{"nodeType":"YulBlock","src":"30688:235:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30705:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30716:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30698:6:150"},"nodeType":"YulFunctionCall","src":"30698:21:150"},"nodeType":"YulExpressionStatement","src":"30698:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30739:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30750:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30735:3:150"},"nodeType":"YulFunctionCall","src":"30735:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30755:2:150","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30728:6:150"},"nodeType":"YulFunctionCall","src":"30728:30:150"},"nodeType":"YulExpressionStatement","src":"30728:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30778:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30789:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30774:3:150"},"nodeType":"YulFunctionCall","src":"30774:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c6964206e61766967","kind":"string","nodeType":"YulLiteral","src":"30794:34:150","type":"","value":"XAllocationVoting: invalid navig"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30767:6:150"},"nodeType":"YulFunctionCall","src":"30767:62:150"},"nodeType":"YulExpressionStatement","src":"30767:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30849:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30860:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30845:3:150"},"nodeType":"YulFunctionCall","src":"30845:18:150"},{"hexValue":"61746f72207265676973747279","kind":"string","nodeType":"YulLiteral","src":"30865:15:150","type":"","value":"ator registry"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30838:6:150"},"nodeType":"YulFunctionCall","src":"30838:43:150"},"nodeType":"YulExpressionStatement","src":"30838:43:150"},{"nodeType":"YulAssignment","src":"30890:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30902:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30913:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30898:3:150"},"nodeType":"YulFunctionCall","src":"30898:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30890:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30665:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30679:4:150","type":""}],"src":"30514:409:150"},{"body":{"nodeType":"YulBlock","src":"31065:102:150","statements":[{"nodeType":"YulAssignment","src":"31075:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31087:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31098:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31083:3:150"},"nodeType":"YulFunctionCall","src":"31083:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31075:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31117:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31132:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31148:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"31153:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31144:3:150"},"nodeType":"YulFunctionCall","src":"31144:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"31157:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31140:3:150"},"nodeType":"YulFunctionCall","src":"31140:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31128:3:150"},"nodeType":"YulFunctionCall","src":"31128:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31110:6:150"},"nodeType":"YulFunctionCall","src":"31110:51:150"},"nodeType":"YulExpressionStatement","src":"31110:51:150"}]},"name":"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31034:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31045:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31056:4:150","type":""}],"src":"30928:239:150"},{"body":{"nodeType":"YulBlock","src":"31271:101:150","statements":[{"nodeType":"YulAssignment","src":"31281:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31293:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31304:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31289:3:150"},"nodeType":"YulFunctionCall","src":"31289:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31281:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31323:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31338:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31354:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"31358:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31350:3:150"},"nodeType":"YulFunctionCall","src":"31350:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"31362:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31346:3:150"},"nodeType":"YulFunctionCall","src":"31346:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31334:3:150"},"nodeType":"YulFunctionCall","src":"31334:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31316:6:150"},"nodeType":"YulFunctionCall","src":"31316:50:150"},"nodeType":"YulExpressionStatement","src":"31316:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31240:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31251:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31262:4:150","type":""}],"src":"31172:200:150"},{"body":{"nodeType":"YulBlock","src":"31509:102:150","statements":[{"nodeType":"YulAssignment","src":"31519:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31531:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31542:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31527:3:150"},"nodeType":"YulFunctionCall","src":"31527:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31519:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31561:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31576:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31592:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"31597:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31588:3:150"},"nodeType":"YulFunctionCall","src":"31588:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"31601:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31584:3:150"},"nodeType":"YulFunctionCall","src":"31584:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31572:3:150"},"nodeType":"YulFunctionCall","src":"31572:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31554:6:150"},"nodeType":"YulFunctionCall","src":"31554:51:150"},"nodeType":"YulExpressionStatement","src":"31554:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31478:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31489:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31500:4:150","type":""}],"src":"31377:234:150"},{"body":{"nodeType":"YulBlock","src":"31752:102:150","statements":[{"nodeType":"YulAssignment","src":"31762:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31774:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31785:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31770:3:150"},"nodeType":"YulFunctionCall","src":"31770:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31762:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31804:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31819:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31835:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"31840:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31831:3:150"},"nodeType":"YulFunctionCall","src":"31831:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"31844:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31827:3:150"},"nodeType":"YulFunctionCall","src":"31827:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31815:3:150"},"nodeType":"YulFunctionCall","src":"31815:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31797:6:150"},"nodeType":"YulFunctionCall","src":"31797:51:150"},"nodeType":"YulExpressionStatement","src":"31797:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31721:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31732:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31743:4:150","type":""}],"src":"31616:238:150"},{"body":{"nodeType":"YulBlock","src":"32033:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32050:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32061:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32043:6:150"},"nodeType":"YulFunctionCall","src":"32043:21:150"},"nodeType":"YulExpressionStatement","src":"32043:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32084:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32095:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32080:3:150"},"nodeType":"YulFunctionCall","src":"32080:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32100:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32073:6:150"},"nodeType":"YulFunctionCall","src":"32073:30:150"},"nodeType":"YulExpressionStatement","src":"32073:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32123:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32134:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32119:3:150"},"nodeType":"YulFunctionCall","src":"32119:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a207468657265","kind":"string","nodeType":"YulLiteral","src":"32139:34:150","type":"","value":"XAllocationVotingGovernor: there"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32112:6:150"},"nodeType":"YulFunctionCall","src":"32112:62:150"},"nodeType":"YulExpressionStatement","src":"32112:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32194:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32205:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32190:3:150"},"nodeType":"YulFunctionCall","src":"32190:18:150"},{"hexValue":"2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65","kind":"string","nodeType":"YulLiteral","src":"32210:33:150","type":"","value":" can be only one round per time"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32183:6:150"},"nodeType":"YulFunctionCall","src":"32183:61:150"},"nodeType":"YulExpressionStatement","src":"32183:61:150"},{"nodeType":"YulAssignment","src":"32253:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32265:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32276:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32261:3:150"},"nodeType":"YulFunctionCall","src":"32261:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32253:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32010:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32024:4:150","type":""}],"src":"31859:427:150"},{"body":{"nodeType":"YulBlock","src":"32530:305:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32547:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32562:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32578:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"32583:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"32574:3:150"},"nodeType":"YulFunctionCall","src":"32574:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"32587:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32570:3:150"},"nodeType":"YulFunctionCall","src":"32570:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32558:3:150"},"nodeType":"YulFunctionCall","src":"32558:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32540:6:150"},"nodeType":"YulFunctionCall","src":"32540:51:150"},"nodeType":"YulExpressionStatement","src":"32540:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32611:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32622:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32607:3:150"},"nodeType":"YulFunctionCall","src":"32607:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"32631:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"32639:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32627:3:150"},"nodeType":"YulFunctionCall","src":"32627:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32600:6:150"},"nodeType":"YulFunctionCall","src":"32600:55:150"},"nodeType":"YulExpressionStatement","src":"32600:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32675:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32686:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32671:3:150"},"nodeType":"YulFunctionCall","src":"32671:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"32695:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"32703:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32691:3:150"},"nodeType":"YulFunctionCall","src":"32691:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32664:6:150"},"nodeType":"YulFunctionCall","src":"32664:51:150"},"nodeType":"YulExpressionStatement","src":"32664:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32735:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32746:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32731:3:150"},"nodeType":"YulFunctionCall","src":"32731:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32751:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32724:6:150"},"nodeType":"YulFunctionCall","src":"32724:31:150"},"nodeType":"YulExpressionStatement","src":"32724:31:150"},{"nodeType":"YulAssignment","src":"32764:65:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"32801:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32813:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32824:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32809:3:150"},"nodeType":"YulFunctionCall","src":"32809:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"32772:28:150"},"nodeType":"YulFunctionCall","src":"32772:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32764:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32475:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"32486:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"32494:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"32502:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32510:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32521:4:150","type":""}],"src":"32291:544:150"},{"body":{"nodeType":"YulBlock","src":"32872:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32889:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32896:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"32901:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"32892:3:150"},"nodeType":"YulFunctionCall","src":"32892:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32882:6:150"},"nodeType":"YulFunctionCall","src":"32882:31:150"},"nodeType":"YulExpressionStatement","src":"32882:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32929:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"32932:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32922:6:150"},"nodeType":"YulFunctionCall","src":"32922:15:150"},"nodeType":"YulExpressionStatement","src":"32922:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32953:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"32956:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"32946:6:150"},"nodeType":"YulFunctionCall","src":"32946:15:150"},"nodeType":"YulExpressionStatement","src":"32946:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"32840:127:150"},{"body":{"nodeType":"YulBlock","src":"33020:77:150","statements":[{"nodeType":"YulAssignment","src":"33030:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"33041:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"33044:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33037:3:150"},"nodeType":"YulFunctionCall","src":"33037:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"33030:3:150"}]},{"body":{"nodeType":"YulBlock","src":"33069:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"33071:16:150"},"nodeType":"YulFunctionCall","src":"33071:18:150"},"nodeType":"YulExpressionStatement","src":"33071:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"33061:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"33064:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"33058:2:150"},"nodeType":"YulFunctionCall","src":"33058:10:150"},"nodeType":"YulIf","src":"33055:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"33003:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"33006:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"33012:3:150","type":""}],"src":"32972:125:150"},{"body":{"nodeType":"YulBlock","src":"33208:257:150","statements":[{"body":{"nodeType":"YulBlock","src":"33254:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33263:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"33266:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"33256:6:150"},"nodeType":"YulFunctionCall","src":"33256:12:150"},"nodeType":"YulExpressionStatement","src":"33256:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"33229:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"33238:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33225:3:150"},"nodeType":"YulFunctionCall","src":"33225:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"33250:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"33221:3:150"},"nodeType":"YulFunctionCall","src":"33221:32:150"},"nodeType":"YulIf","src":"33218:52:150"},{"nodeType":"YulVariableDeclaration","src":"33279:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33299:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33293:5:150"},"nodeType":"YulFunctionCall","src":"33293:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33283:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"33352:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33361:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"33364:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"33354:6:150"},"nodeType":"YulFunctionCall","src":"33354:12:150"},"nodeType":"YulExpressionStatement","src":"33354:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"33324:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33340:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"33344:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33336:3:150"},"nodeType":"YulFunctionCall","src":"33336:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"33348:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33332:3:150"},"nodeType":"YulFunctionCall","src":"33332:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"33321:2:150"},"nodeType":"YulFunctionCall","src":"33321:30:150"},"nodeType":"YulIf","src":"33318:50:150"},{"nodeType":"YulAssignment","src":"33377:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33431:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"33442:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33427:3:150"},"nodeType":"YulFunctionCall","src":"33427:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"33451:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"33387:39:150"},"nodeType":"YulFunctionCall","src":"33387:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"33377:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33174:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"33185:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"33197:6:150","type":""}],"src":"33102:363:150"},{"body":{"nodeType":"YulBlock","src":"33705:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33722:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"33733:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33715:6:150"},"nodeType":"YulFunctionCall","src":"33715:25:150"},"nodeType":"YulExpressionStatement","src":"33715:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33760:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33771:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33756:3:150"},"nodeType":"YulFunctionCall","src":"33756:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"33776:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33749:6:150"},"nodeType":"YulFunctionCall","src":"33749:34:150"},"nodeType":"YulExpressionStatement","src":"33749:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33803:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33814:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33799:3:150"},"nodeType":"YulFunctionCall","src":"33799:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"33819:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33792:6:150"},"nodeType":"YulFunctionCall","src":"33792:34:150"},"nodeType":"YulExpressionStatement","src":"33792:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33846:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33857:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33842:3:150"},"nodeType":"YulFunctionCall","src":"33842:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33862:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33835:6:150"},"nodeType":"YulFunctionCall","src":"33835:31:150"},"nodeType":"YulExpressionStatement","src":"33835:31:150"},{"nodeType":"YulAssignment","src":"33875:65:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"33912:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33924:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33935:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33920:3:150"},"nodeType":"YulFunctionCall","src":"33920:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"33883:28:150"},"nodeType":"YulFunctionCall","src":"33883:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33875:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33650:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"33661:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"33669:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33677:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33685:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33696:4:150","type":""}],"src":"33470:476:150"},{"body":{"nodeType":"YulBlock","src":"34080:145:150","statements":[{"nodeType":"YulAssignment","src":"34090:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34102:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34113:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34098:3:150"},"nodeType":"YulFunctionCall","src":"34098:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34090:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34132:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"34143:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34125:6:150"},"nodeType":"YulFunctionCall","src":"34125:25:150"},"nodeType":"YulExpressionStatement","src":"34125:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34170:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34181:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34166:3:150"},"nodeType":"YulFunctionCall","src":"34166:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"34190:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34206:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"34211:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34202:3:150"},"nodeType":"YulFunctionCall","src":"34202:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"34215:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34198:3:150"},"nodeType":"YulFunctionCall","src":"34198:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"34186:3:150"},"nodeType":"YulFunctionCall","src":"34186:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34159:6:150"},"nodeType":"YulFunctionCall","src":"34159:60:150"},"nodeType":"YulExpressionStatement","src":"34159:60:150"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34041:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"34052:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34060:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34071:4:150","type":""}],"src":"33951:274:150"},{"body":{"nodeType":"YulBlock","src":"34378:466:150","statements":[{"body":{"nodeType":"YulBlock","src":"34424:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34433:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34436:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34426:6:150"},"nodeType":"YulFunctionCall","src":"34426:12:150"},"nodeType":"YulExpressionStatement","src":"34426:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"34399:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"34408:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34395:3:150"},"nodeType":"YulFunctionCall","src":"34395:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"34420:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"34391:3:150"},"nodeType":"YulFunctionCall","src":"34391:32:150"},"nodeType":"YulIf","src":"34388:52:150"},{"nodeType":"YulVariableDeclaration","src":"34449:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34469:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34463:5:150"},"nodeType":"YulFunctionCall","src":"34463:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"34453:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"34488:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34506:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"34510:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34502:3:150"},"nodeType":"YulFunctionCall","src":"34502:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"34514:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34498:3:150"},"nodeType":"YulFunctionCall","src":"34498:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"34492:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34543:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34552:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34555:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34545:6:150"},"nodeType":"YulFunctionCall","src":"34545:12:150"},"nodeType":"YulExpressionStatement","src":"34545:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"34531:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34539:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34528:2:150"},"nodeType":"YulFunctionCall","src":"34528:14:150"},"nodeType":"YulIf","src":"34525:34:150"},{"nodeType":"YulAssignment","src":"34568:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34622:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"34633:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34618:3:150"},"nodeType":"YulFunctionCall","src":"34618:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34642:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"34578:39:150"},"nodeType":"YulFunctionCall","src":"34578:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"34568:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"34659:41:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34685:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34696:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34681:3:150"},"nodeType":"YulFunctionCall","src":"34681:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34675:5:150"},"nodeType":"YulFunctionCall","src":"34675:25:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"34663:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34729:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34738:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34741:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34731:6:150"},"nodeType":"YulFunctionCall","src":"34731:12:150"},"nodeType":"YulExpressionStatement","src":"34731:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"34715:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34725:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34712:2:150"},"nodeType":"YulFunctionCall","src":"34712:16:150"},"nodeType":"YulIf","src":"34709:36:150"},{"nodeType":"YulAssignment","src":"34754:84:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34808:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"34819:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34804:3:150"},"nodeType":"YulFunctionCall","src":"34804:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34830:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"34764:39:150"},"nodeType":"YulFunctionCall","src":"34764:74:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"34754:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34336:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"34347:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"34359:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"34367:6:150","type":""}],"src":"34230:614:150"},{"body":{"nodeType":"YulBlock","src":"34881:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34898:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34905:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"34910:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34901:3:150"},"nodeType":"YulFunctionCall","src":"34901:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34891:6:150"},"nodeType":"YulFunctionCall","src":"34891:31:150"},"nodeType":"YulExpressionStatement","src":"34891:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34938:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"34941:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34931:6:150"},"nodeType":"YulFunctionCall","src":"34931:15:150"},"nodeType":"YulExpressionStatement","src":"34931:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34962:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34965:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34955:6:150"},"nodeType":"YulFunctionCall","src":"34955:15:150"},"nodeType":"YulExpressionStatement","src":"34955:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"34849:127:150"},{"body":{"nodeType":"YulBlock","src":"35033:116:150","statements":[{"nodeType":"YulAssignment","src":"35043:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35058:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"35061:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"35054:3:150"},"nodeType":"YulFunctionCall","src":"35054:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"35043:7:150"}]},{"body":{"nodeType":"YulBlock","src":"35121:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"35123:16:150"},"nodeType":"YulFunctionCall","src":"35123:18:150"},"nodeType":"YulExpressionStatement","src":"35123:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35092:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35085:6:150"},"nodeType":"YulFunctionCall","src":"35085:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"35099:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"35106:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"35115:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"35102:3:150"},"nodeType":"YulFunctionCall","src":"35102:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"35096:2:150"},"nodeType":"YulFunctionCall","src":"35096:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"35082:2:150"},"nodeType":"YulFunctionCall","src":"35082:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35075:6:150"},"nodeType":"YulFunctionCall","src":"35075:45:150"},"nodeType":"YulIf","src":"35072:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"35012:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"35015:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"35021:7:150","type":""}],"src":"34981:168:150"},{"body":{"nodeType":"YulBlock","src":"35200:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"35231:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35252:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35259:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"35264:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35255:3:150"},"nodeType":"YulFunctionCall","src":"35255:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35245:6:150"},"nodeType":"YulFunctionCall","src":"35245:31:150"},"nodeType":"YulExpressionStatement","src":"35245:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35296:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"35299:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35289:6:150"},"nodeType":"YulFunctionCall","src":"35289:15:150"},"nodeType":"YulExpressionStatement","src":"35289:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35324:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35327:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35317:6:150"},"nodeType":"YulFunctionCall","src":"35317:15:150"},"nodeType":"YulExpressionStatement","src":"35317:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"35220:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35213:6:150"},"nodeType":"YulFunctionCall","src":"35213:9:150"},"nodeType":"YulIf","src":"35210:132:150"},{"nodeType":"YulAssignment","src":"35351:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35360:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"35363:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"35356:3:150"},"nodeType":"YulFunctionCall","src":"35356:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"35351:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"35185:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"35188:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"35194:1:150","type":""}],"src":"35154:217:150"},{"body":{"nodeType":"YulBlock","src":"35423:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"35454:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"35456:16:150"},"nodeType":"YulFunctionCall","src":"35456:18:150"},"nodeType":"YulExpressionStatement","src":"35456:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35439:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35450:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"35446:3:150"},"nodeType":"YulFunctionCall","src":"35446:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"35436:2:150"},"nodeType":"YulFunctionCall","src":"35436:17:150"},"nodeType":"YulIf","src":"35433:43:150"},{"nodeType":"YulAssignment","src":"35485:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35496:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"35503:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35492:3:150"},"nodeType":"YulFunctionCall","src":"35492:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"35485:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35405:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"35415:3:150","type":""}],"src":"35376:135:150"},{"body":{"nodeType":"YulBlock","src":"35565:79:150","statements":[{"nodeType":"YulAssignment","src":"35575:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35587:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"35590:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35583:3:150"},"nodeType":"YulFunctionCall","src":"35583:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"35575:4:150"}]},{"body":{"nodeType":"YulBlock","src":"35616:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"35618:16:150"},"nodeType":"YulFunctionCall","src":"35618:18:150"},"nodeType":"YulExpressionStatement","src":"35618:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"35607:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"35613:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"35604:2:150"},"nodeType":"YulFunctionCall","src":"35604:11:150"},"nodeType":"YulIf","src":"35601:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"35547:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"35550:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"35556:4:150","type":""}],"src":"35516:128:150"},{"body":{"nodeType":"YulBlock","src":"35851:318:150","statements":[{"nodeType":"YulAssignment","src":"35861:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35873:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35884:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35869:3:150"},"nodeType":"YulFunctionCall","src":"35869:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35861:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"35897:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35915:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35920:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35911:3:150"},"nodeType":"YulFunctionCall","src":"35911:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"35924:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35907:3:150"},"nodeType":"YulFunctionCall","src":"35907:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"35901:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35942:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35957:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35965:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35953:3:150"},"nodeType":"YulFunctionCall","src":"35953:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35935:6:150"},"nodeType":"YulFunctionCall","src":"35935:34:150"},"nodeType":"YulExpressionStatement","src":"35935:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35989:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36000:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35985:3:150"},"nodeType":"YulFunctionCall","src":"35985:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"36009:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"36017:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36005:3:150"},"nodeType":"YulFunctionCall","src":"36005:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35978:6:150"},"nodeType":"YulFunctionCall","src":"35978:43:150"},"nodeType":"YulExpressionStatement","src":"35978:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36041:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36052:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36037:3:150"},"nodeType":"YulFunctionCall","src":"36037:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"36057:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36030:6:150"},"nodeType":"YulFunctionCall","src":"36030:34:150"},"nodeType":"YulExpressionStatement","src":"36030:34:150"},{"body":{"nodeType":"YulBlock","src":"36098:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"36100:16:150"},"nodeType":"YulFunctionCall","src":"36100:18:150"},"nodeType":"YulExpressionStatement","src":"36100:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"36086:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"36094:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"36083:2:150"},"nodeType":"YulFunctionCall","src":"36083:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"36076:6:150"},"nodeType":"YulFunctionCall","src":"36076:21:150"},"nodeType":"YulIf","src":"36073:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36140:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36151:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36136:3:150"},"nodeType":"YulFunctionCall","src":"36136:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"36156:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36129:6:150"},"nodeType":"YulFunctionCall","src":"36129:34:150"},"nodeType":"YulExpressionStatement","src":"36129:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35796:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"35807:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35815:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35823:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35831:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35842:4:150","type":""}],"src":"35649:520:150"},{"body":{"nodeType":"YulBlock","src":"36403:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36420:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36431:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36413:6:150"},"nodeType":"YulFunctionCall","src":"36413:21:150"},"nodeType":"YulExpressionStatement","src":"36413:21:150"},{"nodeType":"YulVariableDeclaration","src":"36443:70:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"36486:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36498:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36509:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36494:3:150"},"nodeType":"YulFunctionCall","src":"36494:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"36457:28:150"},"nodeType":"YulFunctionCall","src":"36457:56:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"36447:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36533:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36544:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36529:3:150"},"nodeType":"YulFunctionCall","src":"36529:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"36553:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"36561:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36549:3:150"},"nodeType":"YulFunctionCall","src":"36549:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36522:6:150"},"nodeType":"YulFunctionCall","src":"36522:50:150"},"nodeType":"YulExpressionStatement","src":"36522:50:150"},{"nodeType":"YulAssignment","src":"36581:52:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"36618:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"36626:6:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"36589:28:150"},"nodeType":"YulFunctionCall","src":"36589:44:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36581:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36364:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"36375:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"36383:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36394:4:150","type":""}],"src":"36174:465:150"},{"body":{"nodeType":"YulBlock","src":"36774:102:150","statements":[{"nodeType":"YulAssignment","src":"36784:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36796:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36807:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36792:3:150"},"nodeType":"YulFunctionCall","src":"36792:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36784:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36826:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"36841:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36857:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"36862:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"36853:3:150"},"nodeType":"YulFunctionCall","src":"36853:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"36866:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36849:3:150"},"nodeType":"YulFunctionCall","src":"36849:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36837:3:150"},"nodeType":"YulFunctionCall","src":"36837:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36819:6:150"},"nodeType":"YulFunctionCall","src":"36819:51:150"},"nodeType":"YulExpressionStatement","src":"36819:51:150"}]},"name":"abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36743:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"36754:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36765:4:150","type":""}],"src":"36644:232:150"},{"body":{"nodeType":"YulBlock","src":"37030:168:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37047:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37062:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37078:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"37083:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37074:3:150"},"nodeType":"YulFunctionCall","src":"37074:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"37087:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"37070:3:150"},"nodeType":"YulFunctionCall","src":"37070:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37058:3:150"},"nodeType":"YulFunctionCall","src":"37058:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37040:6:150"},"nodeType":"YulFunctionCall","src":"37040:51:150"},"nodeType":"YulExpressionStatement","src":"37040:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37111:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37122:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37107:3:150"},"nodeType":"YulFunctionCall","src":"37107:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37127:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37100:6:150"},"nodeType":"YulFunctionCall","src":"37100:30:150"},"nodeType":"YulExpressionStatement","src":"37100:30:150"},{"nodeType":"YulAssignment","src":"37139:53:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"37165:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37177:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37188:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37173:3:150"},"nodeType":"YulFunctionCall","src":"37173:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"37147:17:150"},"nodeType":"YulFunctionCall","src":"37147:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37139:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36991:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37002:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37010:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37021:4:150","type":""}],"src":"36881:317:150"},{"body":{"nodeType":"YulBlock","src":"37332:119:150","statements":[{"nodeType":"YulAssignment","src":"37342:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37354:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37365:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37350:3:150"},"nodeType":"YulFunctionCall","src":"37350:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37342:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37384:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"37395:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37377:6:150"},"nodeType":"YulFunctionCall","src":"37377:25:150"},"nodeType":"YulExpressionStatement","src":"37377:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37422:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37433:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37418:3:150"},"nodeType":"YulFunctionCall","src":"37418:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"37438:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37411:6:150"},"nodeType":"YulFunctionCall","src":"37411:34:150"},"nodeType":"YulExpressionStatement","src":"37411:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37293:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37304:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37312:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37323:4:150","type":""}],"src":"37203:248:150"},{"body":{"nodeType":"YulBlock","src":"37591:136:150","statements":[{"nodeType":"YulAssignment","src":"37601:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37613:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37624:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37609:3:150"},"nodeType":"YulFunctionCall","src":"37609:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37601:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37643:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37658:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"37666:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37654:3:150"},"nodeType":"YulFunctionCall","src":"37654:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37636:6:150"},"nodeType":"YulFunctionCall","src":"37636:42:150"},"nodeType":"YulExpressionStatement","src":"37636:42:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37698:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37709:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37694:3:150"},"nodeType":"YulFunctionCall","src":"37694:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"37714:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37687:6:150"},"nodeType":"YulFunctionCall","src":"37687:34:150"},"nodeType":"YulExpressionStatement","src":"37687:34:150"}]},"name":"abi_encode_tuple_t_uint32_t_uint256__to_t_uint32_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37552:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37563:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37571:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37582:4:150","type":""}],"src":"37456:271:150"},{"body":{"nodeType":"YulBlock","src":"37869:145:150","statements":[{"nodeType":"YulAssignment","src":"37879:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37891:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37902:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37887:3:150"},"nodeType":"YulFunctionCall","src":"37887:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37879:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37921:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37936:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37952:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"37957:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37948:3:150"},"nodeType":"YulFunctionCall","src":"37948:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"37961:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"37944:3:150"},"nodeType":"YulFunctionCall","src":"37944:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37932:3:150"},"nodeType":"YulFunctionCall","src":"37932:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37914:6:150"},"nodeType":"YulFunctionCall","src":"37914:51:150"},"nodeType":"YulExpressionStatement","src":"37914:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37985:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37996:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37981:3:150"},"nodeType":"YulFunctionCall","src":"37981:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"38001:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37974:6:150"},"nodeType":"YulFunctionCall","src":"37974:34:150"},"nodeType":"YulExpressionStatement","src":"37974:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37830:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37841:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37849:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37860:4:150","type":""}],"src":"37732:282:150"},{"body":{"nodeType":"YulBlock","src":"38100:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"38146:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38155:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38158:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38148:6:150"},"nodeType":"YulFunctionCall","src":"38148:12:150"},"nodeType":"YulExpressionStatement","src":"38148:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"38121:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"38130:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38117:3:150"},"nodeType":"YulFunctionCall","src":"38117:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"38142:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"38113:3:150"},"nodeType":"YulFunctionCall","src":"38113:32:150"},"nodeType":"YulIf","src":"38110:52:150"},{"nodeType":"YulAssignment","src":"38171:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38187:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38181:5:150"},"nodeType":"YulFunctionCall","src":"38181:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"38171:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38066:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"38077:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"38089:6:150","type":""}],"src":"38019:184:150"},{"body":{"nodeType":"YulBlock","src":"38344:130:150","statements":[{"nodeType":"YulAssignment","src":"38354:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38366:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38377:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38362:3:150"},"nodeType":"YulFunctionCall","src":"38362:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38354:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38396:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38411:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"38419:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38407:3:150"},"nodeType":"YulFunctionCall","src":"38407:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38389:6:150"},"nodeType":"YulFunctionCall","src":"38389:36:150"},"nodeType":"YulExpressionStatement","src":"38389:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38445:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38456:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38441:3:150"},"nodeType":"YulFunctionCall","src":"38441:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"38461:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38434:6:150"},"nodeType":"YulFunctionCall","src":"38434:34:150"},"nodeType":"YulExpressionStatement","src":"38434:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38305:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"38316:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38324:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38335:4:150","type":""}],"src":"38208:266:150"},{"body":{"nodeType":"YulBlock","src":"38636:218:150","statements":[{"nodeType":"YulAssignment","src":"38646:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38658:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38669:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38654:3:150"},"nodeType":"YulFunctionCall","src":"38654:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38646:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38688:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"38699:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38681:6:150"},"nodeType":"YulFunctionCall","src":"38681:25:150"},"nodeType":"YulExpressionStatement","src":"38681:25:150"},{"nodeType":"YulVariableDeclaration","src":"38715:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38733:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"38738:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"38729:3:150"},"nodeType":"YulFunctionCall","src":"38729:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"38742:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38725:3:150"},"nodeType":"YulFunctionCall","src":"38725:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"38719:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38764:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38775:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38760:3:150"},"nodeType":"YulFunctionCall","src":"38760:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"38784:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38792:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38780:3:150"},"nodeType":"YulFunctionCall","src":"38780:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38753:6:150"},"nodeType":"YulFunctionCall","src":"38753:43:150"},"nodeType":"YulExpressionStatement","src":"38753:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38816:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38827:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38812:3:150"},"nodeType":"YulFunctionCall","src":"38812:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"38836:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38844:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38832:3:150"},"nodeType":"YulFunctionCall","src":"38832:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38805:6:150"},"nodeType":"YulFunctionCall","src":"38805:43:150"},"nodeType":"YulExpressionStatement","src":"38805:43:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_address__to_t_uint256_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38589:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"38600:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"38608:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38616:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38627:4:150","type":""}],"src":"38479:375:150"},{"body":{"nodeType":"YulBlock","src":"39030:182:150","statements":[{"nodeType":"YulAssignment","src":"39040:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39052:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39063:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39048:3:150"},"nodeType":"YulFunctionCall","src":"39048:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39040:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39082:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"39093:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39075:6:150"},"nodeType":"YulFunctionCall","src":"39075:25:150"},"nodeType":"YulExpressionStatement","src":"39075:25:150"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"39136:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39148:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39159:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39144:3:150"},"nodeType":"YulFunctionCall","src":"39144:18:150"}],"functionName":{"name":"abi_encode_enum_RoundState","nodeType":"YulIdentifier","src":"39109:26:150"},"nodeType":"YulFunctionCall","src":"39109:54:150"},"nodeType":"YulExpressionStatement","src":"39109:54:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39183:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39194:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39179:3:150"},"nodeType":"YulFunctionCall","src":"39179:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"39199:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39172:6:150"},"nodeType":"YulFunctionCall","src":"39172:34:150"},"nodeType":"YulExpressionStatement","src":"39172:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_RoundState_$70612_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38983:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"38994:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"39002:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39010:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39021:4:150","type":""}],"src":"38859:353:150"},{"body":{"nodeType":"YulBlock","src":"39566:777:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39583:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"39594:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39576:6:150"},"nodeType":"YulFunctionCall","src":"39576:25:150"},"nodeType":"YulExpressionStatement","src":"39576:25:150"},{"nodeType":"YulVariableDeclaration","src":"39610:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"39620:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"39614:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39642:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39653:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39638:3:150"},"nodeType":"YulFunctionCall","src":"39638:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"39662:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39678:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"39683:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"39674:3:150"},"nodeType":"YulFunctionCall","src":"39674:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"39687:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39670:3:150"},"nodeType":"YulFunctionCall","src":"39670:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39658:3:150"},"nodeType":"YulFunctionCall","src":"39658:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39631:6:150"},"nodeType":"YulFunctionCall","src":"39631:60:150"},"nodeType":"YulExpressionStatement","src":"39631:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39711:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39722:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39707:3:150"},"nodeType":"YulFunctionCall","src":"39707:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39727:3:150","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39700:6:150"},"nodeType":"YulFunctionCall","src":"39700:31:150"},"nodeType":"YulExpressionStatement","src":"39700:31:150"},{"nodeType":"YulVariableDeclaration","src":"39740:71:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"39783:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39795:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39806:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39791:3:150"},"nodeType":"YulFunctionCall","src":"39791:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"39754:28:150"},"nodeType":"YulFunctionCall","src":"39754:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"39744:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39842:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39827:3:150"},"nodeType":"YulFunctionCall","src":"39827:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"39851:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"39859:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39847:3:150"},"nodeType":"YulFunctionCall","src":"39847:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39820:6:150"},"nodeType":"YulFunctionCall","src":"39820:50:150"},"nodeType":"YulExpressionStatement","src":"39820:50:150"},{"nodeType":"YulVariableDeclaration","src":"39879:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"39890:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"39883:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"39905:27:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"39925:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"39919:5:150"},"nodeType":"YulFunctionCall","src":"39919:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"39909:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"39948:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"39956:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39941:6:150"},"nodeType":"YulFunctionCall","src":"39941:22:150"},"nodeType":"YulExpressionStatement","src":"39941:22:150"},{"nodeType":"YulAssignment","src":"39972:22:150","value":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"39983:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39991:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39979:3:150"},"nodeType":"YulFunctionCall","src":"39979:15:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"39972:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"40003:29:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"40021:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40029:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40017:3:150"},"nodeType":"YulFunctionCall","src":"40017:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"40007:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"40041:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"40050:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"40045:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40109:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40130:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"40141:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40135:5:150"},"nodeType":"YulFunctionCall","src":"40135:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40123:6:150"},"nodeType":"YulFunctionCall","src":"40123:26:150"},"nodeType":"YulExpressionStatement","src":"40123:26:150"},{"nodeType":"YulAssignment","src":"40162:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40173:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40178:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40169:3:150"},"nodeType":"YulFunctionCall","src":"40169:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"40162:3:150"}]},{"nodeType":"YulAssignment","src":"40194:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"40208:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40216:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40204:3:150"},"nodeType":"YulFunctionCall","src":"40204:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"40194:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"40071:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"40074:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"40068:2:150"},"nodeType":"YulFunctionCall","src":"40068:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"40082:18:150","statements":[{"nodeType":"YulAssignment","src":"40084:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"40093:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"40096:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40089:3:150"},"nodeType":"YulFunctionCall","src":"40089:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"40084:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"40064:3:150","statements":[]},"src":"40060:169:150"},{"nodeType":"YulAssignment","src":"40238:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"40246:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40238:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40280:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40265:3:150"},"nodeType":"YulFunctionCall","src":"40265:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"40286:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40258:6:150"},"nodeType":"YulFunctionCall","src":"40258:35:150"},"nodeType":"YulExpressionStatement","src":"40258:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40324:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40309:3:150"},"nodeType":"YulFunctionCall","src":"40309:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"40330:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40302:6:150"},"nodeType":"YulFunctionCall","src":"40302:35:150"},"nodeType":"YulExpressionStatement","src":"40302:35:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39495:9:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"39506:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"39514:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"39522:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"39530:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"39538:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39546:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39557:4:150","type":""}],"src":"39217:1126:150"},{"body":{"nodeType":"YulBlock","src":"40477:145:150","statements":[{"nodeType":"YulAssignment","src":"40487:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40499:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40510:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40495:3:150"},"nodeType":"YulFunctionCall","src":"40495:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40487:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40529:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40544:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40560:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"40565:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40556:3:150"},"nodeType":"YulFunctionCall","src":"40556:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"40569:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"40552:3:150"},"nodeType":"YulFunctionCall","src":"40552:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"40540:3:150"},"nodeType":"YulFunctionCall","src":"40540:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40522:6:150"},"nodeType":"YulFunctionCall","src":"40522:51:150"},"nodeType":"YulExpressionStatement","src":"40522:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40593:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40604:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40589:3:150"},"nodeType":"YulFunctionCall","src":"40589:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"40609:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40582:6:150"},"nodeType":"YulFunctionCall","src":"40582:34:150"},"nodeType":"YulExpressionStatement","src":"40582:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40438:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"40449:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40457:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40468:4:150","type":""}],"src":"40348:274:150"},{"body":{"nodeType":"YulBlock","src":"40764:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40774:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40794:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40788:5:150"},"nodeType":"YulFunctionCall","src":"40788:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"40778:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40849:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"40857:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40845:3:150"},"nodeType":"YulFunctionCall","src":"40845:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"40864:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40869:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"40810:34:150"},"nodeType":"YulFunctionCall","src":"40810:66:150"},"nodeType":"YulExpressionStatement","src":"40810:66:150"},{"nodeType":"YulAssignment","src":"40885:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40896:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40901:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40892:3:150"},"nodeType":"YulFunctionCall","src":"40892:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"40885:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"40740:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40745:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"40756:3:150","type":""}],"src":"40627:287:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function validator_revert_uint48(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint48(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint48(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint208__to_t_uint208__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(208, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        let _2 := 64\n        pos := add(headStart, _2)\n        let tail_2 := add(add(headStart, shl(5, length)), _2)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            let _3 := mload(srcPtr)\n            let _4 := 0xc0\n            mstore(tail_2, mload(_3))\n            mstore(add(tail_2, _1), and(mload(add(_3, _1)), sub(shl(160, 1), 1)))\n            let memberValue0 := mload(add(_3, _2))\n            mstore(add(tail_2, _2), _4)\n            let tail_3 := abi_encode_string(memberValue0, add(tail_2, _4))\n            let _5 := 0x60\n            let memberValue0_1 := mload(add(_3, _5))\n            mstore(add(tail_2, _5), sub(tail_3, tail_2))\n            let tail_4 := abi_encode_string(memberValue0_1, tail_3)\n            let _6 := 0x80\n            mstore(add(tail_2, _6), mload(add(_3, _6)))\n            let _7 := 0xa0\n            mstore(add(tail_2, _7), iszero(iszero(mload(add(_3, _7)))))\n            tail_2 := tail_4\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_5317() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_array_bytes32_dyn(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_array_bytes32_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_RoundState(value, pos)\n    {\n        if iszero(lt(value, 3)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_RoundState_$70612__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_RoundState(value0, headStart)\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_array_bytes32_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_array_bytes32_dyn(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256t_addresst_bytes32(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let _2 := calldataload(_1)\n        let array := allocate_memory(array_allocation_size_bytes(_2))\n        mstore(array, _2)\n        if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n        calldatacopy(add(array, 32), add(_1, 32), _2)\n        mstore(add(add(array, _2), 32), 0)\n        value1 := array\n    }\n    function abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        value1 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset_1)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_4))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _1)\n        }\n        value2 := dst_1\n    }\n    function abi_decode_tuple_t_contract$_IEmissions_$64454(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IB3TRGovernor_$63919(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_struct$_RoundCore_$82969_memory_ptr__to_t_struct$_RoundCore_$82969_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(mload(value0), sub(shl(160, 1), 1)))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffff))\n        mstore(add(headStart, 0x40), and(mload(add(value0, 0x40)), 0xffffffff))\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_addresst_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_uint48(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVeBetterPassport_$68601(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IX2EarnApps_$69989(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_uint32(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint32(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_uint208_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, sub(shl(208, 1), 1)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint48(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint48__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_address_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let array_1 := allocate_memory(array_allocation_size_bytes(_1))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n        array := array_1\n    }\n    function abi_decode_bool_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := mload(_3)\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_4))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, _2) { revert(0, 0) }\n            let _5 := add(_3, innerOffset)\n            if slt(add(sub(dataEnd, _5), not(31)), 0xc0)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            let value := allocate_memory_5317()\n            mstore(value, mload(add(_5, _1)))\n            let _7 := 64\n            mstore(add(value, _1), abi_decode_address_fromMemory(add(_5, _7)))\n            let _8 := 96\n            let offset_1 := mload(add(_5, _8))\n            if gt(offset_1, _2)\n            {\n                let _9 := 0\n                revert(_9, _9)\n            }\n            mstore(add(value, _7), abi_decode_string_fromMemory(add(add(_5, offset_1), _1), dataEnd))\n            let _10 := 128\n            let offset_2 := mload(add(_5, _10))\n            if gt(offset_2, _2)\n            {\n                let _11 := 0\n                revert(_11, _11)\n            }\n            mstore(add(value, _8), abi_decode_string_fromMemory(add(add(_5, offset_2), _1), dataEnd))\n            let _12 := 160\n            mstore(add(value, _10), mload(add(_5, _12)))\n            mstore(add(value, _12), abi_decode_bool_fromMemory(add(_5, 0xc0)))\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := dst_1\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n    }\n    function abi_encode_tuple_t_uint256_t_uint8_t_bool__to_t_uint256_t_uint8_t_bool__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xff))\n        mstore(add(headStart, 64), iszero(iszero(value2)))\n    }\n    function abi_encode_tuple_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), 96)\n        tail := abi_encode_array_bytes32_dyn(value2, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_array_bytes32_dyn_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, mload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_bytes32__to_t_uint256_t_address_t_bytes32__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: apps \")\n        mstore(add(headStart, 96), \"and weights length mismatch\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: no ap\")\n        mstore(add(headStart, 96), \"ps to vote for\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 41)\n        mstore(add(headStart, 64), \"XAllocationVoting: not navigator\")\n        mstore(add(headStart, 96), \" registry\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint48__to_t_address_t_address_t_uint48__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), and(value2, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_struct$_RoundCore_$82969_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, 96)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let value := mload(headStart)\n        validator_revert_address(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint48(value_1)\n        mstore(add(memPtr, 32), value_1)\n        let value_2 := mload(add(headStart, 64))\n        validator_revert_uint32(value_2)\n        mstore(add(memPtr, 64), value_2)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n        let offset := mload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_array_bytes32_dyn(value3, add(headStart, 128))\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n        let offset_1 := mload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset_1), dataEnd)\n        value2 := mload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_uint256_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_bool_t_uint256_t_uint256__to_t_bool_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, iszero(iszero(value0)))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid navig\")\n        mstore(add(headStart, 96), \"ator registry\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: there\")\n        mstore(add(headStart, 96), \" can be only one round per time\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n        mstore(add(headStart, 64), and(value2, 0xffffffff))\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_array_bytes32_dyn(value3, add(headStart, 128))\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_array_bytes32_dyn(value3, add(headStart, 128))\n    }\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n        let offset_1 := mload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset_1), dataEnd)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        if iszero(lt(value3, 2)) { panic_error_0x21() }\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        let tail_1 := abi_encode_array_bytes32_dyn(value0, add(headStart, 64))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        tail := abi_encode_array_bytes32_dyn(value1, tail_1)\n    }\n    function abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_string(value1, add(headStart, 64))\n    }\n    function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint32_t_uint256__to_t_uint32_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xffffffff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_address__to_t_uint256_t_address_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), and(value2, _1))\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_RoundState_$70612_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        abi_encode_enum_RoundState(value1, add(headStart, 32))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__fromStack_library_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        let _1 := 32\n        mstore(add(headStart, _1), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), 192)\n        let tail_1 := abi_encode_array_bytes32_dyn(value2, add(headStart, 192))\n        mstore(add(headStart, 96), sub(tail_1, headStart))\n        let pos := tail_1\n        let length := mload(value3)\n        mstore(tail_1, length)\n        pos := add(tail_1, _1)\n        let srcPtr := add(value3, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n        mstore(add(headStart, 128), value4)\n        mstore(add(headStart, 160), value5)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":17381},{"length":32,"start":17422},{"length":32,"start":17752}]},"linkReferences":{"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol":{"AutoVotingLogic":[{"length":20,"start":3898},{"length":20,"start":5067},{"length":20,"start":5145},{"length":20,"start":5883},{"length":20,"start":7705},{"length":20,"start":8038},{"length":20,"start":8150},{"length":20,"start":8551},{"length":20,"start":9065},{"length":20,"start":9982},{"length":20,"start":10111},{"length":20,"start":10542},{"length":20,"start":10673},{"length":20,"start":10839},{"length":20,"start":10951},{"length":20,"start":13389}]},"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol":{"ExternalContractsUtils":[{"length":20,"start":7348},{"length":20,"start":7516},{"length":20,"start":8434},{"length":20,"start":11670},{"length":20,"start":12049},{"length":20,"start":12128},{"length":20,"start":15825},{"length":20,"start":16713}]},"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol":{"RoundEarningsSettingsUtils":[{"length":20,"start":4285},{"length":20,"start":4405},{"length":20,"start":8361},{"length":20,"start":9168},{"length":20,"start":12172},{"length":20,"start":13295},{"length":20,"start":16799}]},"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol":{"RoundFinalizationUtils":[{"length":20,"start":4712},{"length":20,"start":4771},{"length":20,"start":4868},{"length":20,"start":12550},{"length":20,"start":12653}]},"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol":{"RoundVotesCountingUtils":[{"length":20,"start":4464},{"length":20,"start":5711},{"length":20,"start":6039},{"length":20,"start":6159},{"length":20,"start":6226},{"length":20,"start":6278},{"length":20,"start":7810},{"length":20,"start":8673},{"length":20,"start":9718},{"length":20,"start":15744},{"length":20,"start":16173},{"length":20,"start":16917},{"length":20,"start":18504}]},"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol":{"RoundsStorageUtils":[{"length":20,"start":4555},{"length":20,"start":5307},{"length":20,"start":5569},{"length":20,"start":7238},{"length":20,"start":7392},{"length":20,"start":8499},{"length":20,"start":9286},{"length":20,"start":9762},{"length":20,"start":12278},{"length":20,"start":13146},{"length":20,"start":16076},{"length":20,"start":16135},{"length":20,"start":18237}]},"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol":{"VotesQuorumFractionUtils":[{"length":20,"start":4029},{"length":20,"start":6547},{"length":20,"start":7772},{"length":20,"start":9629},{"length":20,"start":16858}]},"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol":{"VotesUtils":[{"length":20,"start":4056},{"length":20,"start":5448},{"length":20,"start":6389},{"length":20,"start":8178},{"length":20,"start":9093},{"length":20,"start":9438},{"length":20,"start":10979},{"length":20,"start":12920},{"length":20,"start":16632}]},"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol":{"VotingSettingsUtils":[{"length":20,"start":3768},{"length":20,"start":9591},{"length":20,"start":11778},{"length":20,"start":11939},{"length":20,"start":13033},{"length":20,"start":16414},{"length":20,"start":18336}]}},"object":"6080604052600436106103c55760003560e01c806301ffc9a7146103ca57806302a251a3146103ff578063059e952b1461042257806306f3f9e61461045a5780630a0e74ef1461047c5780630eca87fb1461049c57806319e6e158146104bc578063248a9ca3146104dc578063291605f7146104fc5780632f2ff15d14610529578063300973771461054957806333727c4d146105695780633469f6e21461058957806336568abe146105a95780633b395cbe146105c95780633d4fd3c7146105e95780633e4f49e614610609578063412caf0b1461063657806342707a43146106635780634385963214610683578063498d91bf146106a35780634bb5181a146106c35780634bf5d7e9146106e35780634cadad2f146107055780634f1ef286146107255780634fa76ec91461073857806352d1902d1461074d57806353ed63991461076257806354fd4d5014610782578063561b64ef146107ac57806357181609146107c157806359372812146107e157806359529edd146107f65780635dbdba6e146108165780635fb263671461083657806360c4247f146108565780636282773314610876578063673fc7241461088b57806374038935146108ab57806378a81336146108cb5780637ace2485146108eb578063802d27091461090b57806382afd23b1461092b578063836761e01461094b5780638a829eda1461096b5780638ab52d4b1461098b5780638f1327c0146109a057806391d14854146109f957806391ddadf414610a195780639382c81814610a3b578063952f213314610a5b57806397c3d33414610a7d5780639aeb962b14610a925780639cbe5efd14610ab2578063a022756b14610ac7578063a217fddf14610adc578063a461a94d14610af1578063a56b576514610b11578063a5ae08e914610b31578063a7713a7014610738578063aa86328614610b51578063abc517fd14610b71578063ad3cb1cc14610b86578063b25d6f6214610bb7578063b3c93dab14610bd7578063bb7de6d414610bf7578063bd85948c14610c0c578063be2a9f8f14610c21578063bed7301014610c41578063c048f6c914610c61578063cd669a7214610c81578063cfea80ed14610ca3578063d06efeda14610cc3578063d3a368bd14610ce3578063d4a8dd9814610d03578063d547741f14610d23578063d68b4c3614610d43578063e125f74e14610d63578063e540d01d14610d85578063eb9019d414610da5578063f36c8f5c14610dc5578063f530108f14610de7578063f5fae13614610e07578063f72c0d8b14610e27578063f8ce560a14610e49578063fb03ec6f14610e69575b600080fd5b3480156103d657600080fd5b506103ea6103e5366004614b6f565b610e89565b60405190151581526020015b60405180910390f35b34801561040b57600080fd5b50610414610eb4565b6040519081526020016103f6565b34801561042e57600080fd5b5061044261043d366004614bad565b610f28565b6040516001600160d01b0390911681526020016103f6565b34801561046657600080fd5b5061047a610475366004614bca565b610fa3565b005b34801561048857600080fd5b50610414610497366004614bca565b6110a4565b3480156104a857600080fd5b506104146104b7366004614bca565b61111c565b3480156104c857600080fd5b506104146104d7366004614bca565b611157565b3480156104e857600080fd5b506104146104f7366004614bca565b611192565b34801561050857600080fd5b5061051c610517366004614bca565b6111b2565b6040516103f69190614c33565b34801561053557600080fd5b5061047a610544366004614d05565b61122d565b34801561055557600080fd5b50610414610564366004614bca565b61124f565b34801561057557600080fd5b506103ea610584366004614bca565b61128a565b34801561059557600080fd5b5061047a6105a4366004614bca565b611302565b3480156105b557600080fd5b5061047a6105c4366004614d05565b611391565b3480156105d557600080fd5b5061047a6105e4366004614e31565b6113c9565b3480156105f557600080fd5b506103ea610604366004614e65565b611415565b34801561061557600080fd5b50610629610624366004614bca565b6114a0565b6040516103f69190614ebb565b34801561064257600080fd5b50610656610651366004614ec9565b6116e9565b6040516103f69190614f21565b34801561066f57600080fd5b506103ea61067e366004614f34565b611768565b34801561068f57600080fd5b506103ea61069e366004614d05565b6117fd565b3480156106af57600080fd5b506104146106be366004614bca565b611839565b3480156106cf57600080fd5b506104146106de366004614f6c565b611874565b3480156106ef57600080fd5b506106f86118f1565b6040516103f69190614f8e565b34801561071157600080fd5b50610414610720366004614e65565b611964565b61047a610733366004614fc8565b611970565b34801561074457600080fd5b5061041461198f565b34801561075957600080fd5b506104146119da565b34801561076e57600080fd5b5061047a61077d366004615055565b6119f7565b34801561078e57600080fd5b506040805180820190915260018152603960f81b60208201526106f8565b3480156107b857600080fd5b50610414611c42565b3480156107cd57600080fd5b5061047a6107dc366004614ec9565b611c8d565b3480156107ed57600080fd5b50610414611cdc565b34801561080257600080fd5b50610414610811366004614bca565b611d27565b34801561082257600080fd5b5061047a610831366004614ec9565b611d35565b34801561084257600080fd5b506103ea610851366004614ec9565b611d84565b34801561086257600080fd5b50610414610871366004614bca565b611e43565b34801561088257600080fd5b50610414611e7e565b34801561089757600080fd5b5061047a6108a6366004614ec9565b611ec9565b3480156108b757600080fd5b5061047a6108c6366004614bca565b61207b565b3480156108d757600080fd5b5061047a6108e6366004614ec9565b6120cb565b3480156108f757600080fd5b50610656610906366004614bca565b61211a565b34801561091757600080fd5b506103ea610926366004614ec9565b612155565b34801561093757600080fd5b506103ea610946366004614bca565b61218f565b34801561095757600080fd5b5061047a610966366004614bca565b6121b3565b34801561097757600080fd5b5061047a610986366004614ec9565b612203565b34801561099757600080fd5b506104146123cc565b3480156109ac57600080fd5b506109c06109bb366004614bca565b612417565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff16908201526060016103f6565b348015610a0557600080fd5b506103ea610a14366004614d05565b6124a4565b348015610a2557600080fd5b50610a2e6124da565b6040516103f69190615117565b348015610a4757600080fd5b5061047a610a56366004614bca565b612549565b348015610a6757600080fd5b50610414600080516020615a1083398151915281565b348015610a8957600080fd5b50610414612599565b348015610a9e57600080fd5b506103ea610aad366004614ec9565b6125e4565b348015610abe57600080fd5b5061041461261e565b348015610ad357600080fd5b50610442612669565b348015610ae857600080fd5b50610414600081565b348015610afd57600080fd5b506103ea610b0c36600461512a565b61276d565b348015610b1d57600080fd5b50610414610b2c366004614e65565b6127a9565b348015610b3d57600080fd5b5061047a610b4c366004614e65565b612803565b348015610b5d57600080fd5b5061047a610b6c366004614e65565b612c7d565b348015610b7d57600080fd5b50610414612e9f565b348015610b9257600080fd5b506106f8604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610bc357600080fd5b5061047a610bd2366004614ec9565b612eea565b348015610be357600080fd5b5061047a610bf2366004614ec9565b612f39565b348015610c0357600080fd5b50610414612f88565b348015610c1857600080fd5b50610414612fd3565b348015610c2d57600080fd5b5061047a610c3c366004614e65565b6136b4565b348015610c4d57600080fd5b50610414610c5c366004614f6c565b613d6e565b348015610c6d57600080fd5b5061047a610c7c366004614ec9565b613daa565b348015610c8d57600080fd5b506104146000805160206159f083398151915281565b348015610caf57600080fd5b506103ea610cbe366004614ec9565b613df9565b348015610ccf57600080fd5b50610414610cde366004614bca565b613eb3565b348015610cef57600080fd5b50610414610cfe366004614bca565b613eee565b348015610d0f57600080fd5b506103ea610d1e366004614bca565b613f29565b348015610d2f57600080fd5b5061047a610d3e366004614d05565b613f6f565b348015610d4f57600080fd5b506103ea610d5e366004614f6c565b613f8b565b348015610d6f57600080fd5b50610d78613fe8565b6040516103f69190615158565b348015610d9157600080fd5b5061047a610da036600461517e565b614004565b348015610db157600080fd5b50610414610dc0366004614e65565b6140e6565b348015610dd157600080fd5b5061041460008051602061599083398151915281565b348015610df357600080fd5b5061047a610e02366004614ec9565b614122565b348015610e1357600080fd5b5061047a610e22366004614bca565b614171565b348015610e3357600080fd5b506104146000805160206159b083398151915281565b348015610e5557600080fd5b50610414610e64366004614bca565b6141c1565b348015610e7557600080fd5b50610414610e84366004614bca565b6141fc565b60006001600160e01b03198216639da99b3f60e01b1480610eae5750610eae82614237565b92915050565b600073__$e74cba849739aecfa9bf3b6281c0831878$__6302a251a36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f23919061519b565b905090565b60405163059e952b60e01b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__9063059e952b90610f62908590600401615117565b602060405180830381865af4158015610f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae91906151b4565b600080516020615990833981519152610fbb8161426c565b73__$e7d0f1dc0c8caff7791d9dd32970050ea7$__63bd88fe328373__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561101f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104391906151dd565b6040516001600160e01b031960e085901b168152600481019290925265ffffffffffff1660248201526044015b60006040518083038186803b15801561108857600080fd5b505af415801561109c573d6000803e3d6000fd5b505050505050565b604051630a0e74ef60e01b81526004810182905260009073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90630a0e74ef906024015b602060405180830381865af41580156110f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae919061519b565b604051630eca87fb60e01b81526004810182905260009073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90630eca87fb906024016110db565b60405163033cdc2b60e31b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__906319e6e158906024016110db565b60008061119d614279565b60009384526020525050604090206001015490565b60405163291605f760e01b81526004810182905260609073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063291605f790602401600060405180830381865af4158015611205573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eae919081019061525f565b61123682611192565b61123f8161426c565b611249838361429d565b50505050565b604051633009737760e01b81526004810182905260009073__$70f75f99fe6661499ece4b8956af59cd6c$__906330097377906024016110db565b6040516333727c4d60e01b81526004810182905260009073__$70f75f99fe6661499ece4b8956af59cd6c$__906333727c4d906024015b602060405180830381865af41580156112de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae91906153a2565b73__$70f75f99fe6661499ece4b8956af59cd6c$__6309d3c59b82611326846114a0565b600281111561133757611337614e91565b6113408561218f565b6040518463ffffffff1660e01b815260040161135e939291906153bd565b60006040518083038186803b15801561137657600080fd5b505af415801561138a573d6000803e3d6000fd5b5050505050565b6001600160a01b03811633146113ba5760405163334bd91960e11b815260040160405180910390fd5b6113c4828261433e565b505050565b73__$24ed9c895b3ab1d429967676414af5d94a$__63642998816113eb6143b6565b546001600160a01b031633846040518463ffffffff1660e01b815260040161135e939291906153d8565b600073__$24ed9c895b3ab1d429967676414af5d94a$__631f59dfd78461143b85613eb3565b6040518363ffffffff1660e01b8152600401611458929190615404565b602060405180830381865af4158015611475573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149991906153a2565b9392505050565b6040516368377f6d60e11b815260048101829052600090819073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d06efeda90602401602060405180830381865af41580156114f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611519919061519b565b905080600003611544576040516333b4e31b60e21b8152600481018490526024015b60405180910390fd5b600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561158f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b391906151dd565b65ffffffffffff169050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63d3a368bd866040518263ffffffff1660e01b81526004016115f891815260200190565b602060405180830381865af4158015611615573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611639919061519b565b905081811061164d57506000949350505050565b73__$04e71bdb39671a9b319808db351dce05d3$__63adf8652386611671866141c1565b6040518363ffffffff1660e01b815260040161168e929190615425565b602060405180830381865af41580156116ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cf91906153a2565b6116de57506001949350505050565b506002949350505050565b60405163412caf0b60e01b815260609073__$24ed9c895b3ab1d429967676414af5d94a$__9063412caf0b90611723908590600401615158565b600060405180830381865af4158015611740573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eae919081019061548e565b6040516342707a4360e01b8152600481018490526001600160a01b03831660248201526044810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__906342707a4390606401602060405180830381865af41580156117d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f591906153a2565b949350505050565b6040516321c2cb1960e11b815260009073__$04e71bdb39671a9b319808db351dce05d3$__9063438596329061145890869086906004016154c2565b60405163498d91bf60e01b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__9063498d91bf906024016110db565b6040516325da8c0d60e11b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90634bb5181a906118b09086908690600401615425565b602060405180830381865af41580156118cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611499919061519b565b606073__$95674d662a270791c819f82956386ae379$__634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865af415801561193c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2391908101906154d9565b600061149983836140e6565b6119786143da565b61198182614481565b61198b8282614499565b5050565b600073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__63a7713a706040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b60006119e461454d565b506000805160206159d083398151915290565b8051825114611a6c5760405162461bcd60e51b815260206004820152603b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20617070732060448201527a0c2dcc840eecad2ced0e8e640d8cadccee8d040dad2e6dac2e8c6d602b1b606482015260840161153b565b6000825111611ad45760405162461bcd60e51b815260206004820152602e60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f20617060448201526d3839903a37903b37ba32903337b960911b606482015260840161153b565b3063a461a94d33611aeb611ae6611c42565b614596565b6040518363ffffffff1660e01b8152600401611b08929190615404565b602060405180830381865afa158015611b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4991906153a2565b15611b6957336040516305b27abd60e01b815260040161153b9190615158565b6000611b736143b6565b600601546001600160a01b031690508015611c2a5760006001600160a01b0382166318be49d933611ba388613eb3565b6040518363ffffffff1660e01b8152600401611bc092919061550d565b602060405180830381865afa158015611bdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c019190615526565b6001600160a01b031614611c2a573360405163640ed18360e01b815260040161153b9190615158565b611c3333613df9565b506112493385858560006145cd565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b600080516020615a10833981519152611ca58161426c565b604051632b9f45b760e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90632b9f45b790611070908590600401615158565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63593728126040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b6000610eae610e6483613eb3565b600080516020615a10833981519152611d4d8161426c565b604051630e0bea3b60e21b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063382fa8ec90611070908590600401615158565b600080611d8f6143b6565b60010160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e07919061519b565b604051631f59dfd760e01b815290915073__$24ed9c895b3ab1d429967676414af5d94a$__90631f59dfd7906114589086908590600401615404565b6040516360c4247f60e01b81526004810182905260009073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__906360c4247f906024016110db565b600073__$04e71bdb39671a9b319808db351dce05d3$__63628277336040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b6000611ed36143b6565b600601546001600160a01b031690508015801590611ef95750336001600160a01b038216145b611f575760405162461bcd60e51b815260206004820152602960248201527f58416c6c6f636174696f6e566f74696e673a206e6f74206e6176696761746f7260448201526820726567697374727960b81b606482015260840161153b565b604051632947884560e11b815273__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a90611f8e908590600401615158565b602060405180830381865af4158015611fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcf91906153a2565b1561198b5773__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308473__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205d91906151dd565b6040518463ffffffff1660e01b815260040161107093929190615543565b6000805160206159908339815191526120938161426c565b604051637403893560e01b81526004810183905273__$36f22459ee3e33aa9c0be04d35fbeab80d$__90637403893590602401611070565b600080516020615a108339815191526120e38161426c565b6040516332ea3f7360e11b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__906365d47ee690611070908590600401615158565b604051637ace248560e01b81526004810182905260609073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__90637ace248590602401611723565b604051632947884560e11b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a906112c1908590600401615158565b60008061219b836114a0565b60028111156121ac576121ac614e91565b1492915050565b6000805160206159908339815191526121cb8161426c565b60405163041b3b0f60e51b81526004810183905273__$04e71bdb39671a9b319808db351dce05d3$__9063836761e090602401611070565b336001600160a01b0382161461222e573360405163065ece9760e51b815260040161153b9190615158565b60006122386143b6565b600601546001600160a01b031690508015612367576040516353127ad560e11b81526001600160a01b0382169063a624f5aa90612279908590600401615158565b602060405180830381865afa158015612296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ba91906153a2565b156122da5781604051638523c47f60e01b815260040161153b9190615158565b604051633e28391d60e01b81526001600160a01b03821690633e28391d90612306908590600401615158565b602060405180830381865afa158015612323573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061234791906153a2565b15612367578160405163640ed18360e01b815260040161153b9190615158565b73__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308473__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612039573d6000803e3d6000fd5b600073__$36f22459ee3e33aa9c0be04d35fbeab80d$__638ab52d4b6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b6040805160608101825260008082526020820181905281830152905163023c4c9f60e61b81526004810183905273__$ee22ebed0dbdcceb519aa1d808f0526e6a$__90638f1327c090602401606060405180830381865af4158015612480573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae919061556e565b6000806124af614279565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612525573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906151dd565b6000805160206159908339815191526125618161426c565b604051631270590360e31b81526004810183905273__$e74cba849739aecfa9bf3b6281c0831878$__90639382c81890602401611070565b600073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__6397c3d3346040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b604051639aeb962b60e01b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90639aeb962b906112c1908590600401615158565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b6000806126746143b6565b60010160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ec919061519b565b60405163059e952b60e01b815290915073__$24ed9c895b3ab1d429967676414af5d94a$__9063059e952b90612726908490600401615117565b602060405180830381865af4158015612743573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276791906151b4565b91505090565b604051631f59dfd760e01b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__90631f59dfd7906114589086908690600401615404565b60006127b36143b6565b60049081015460405163a56b576560e01b81526001600160a01b039091169163a56b5765916127e691879187910161550d565b602060405180830381865afa1580156118cd573d6000803e3d6000fd5b3063a461a94d83612816611ae685613eb3565b6040518363ffffffff1660e01b8152600401612833929190615404565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287491906153a2565b6128935781604051632b8b7c8960e01b815260040161153b9190615158565b61289d81836145ec565b60006128a76143b6565b600301546001600160a01b031663d0ebb0ee846128c5611ae6611c42565b6040518363ffffffff1660e01b81526004016128e2929190615404565b600060405180830381865afa1580156128ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261292791908101906155df565b509050600073__$24ed9c895b3ab1d429967676414af5d94a$__63412caf0b856040518263ffffffff1660e01b81526004016129639190615158565b600060405180830381865af4158015612980573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129a8919081019061548e565b9050600080600073__$24ed9c895b3ab1d429967676414af5d94a$__63ea66e04a308989886040518563ffffffff1660e01b81526004016129ec949392919061562d565b600060405180830381865af4158015612a09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a31919081019061566a565b925092509250841580612a4357508251155b15612c6657604051632947884560e11b815273__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a90612a7f908a90600401615158565b602060405180830381865af4158015612a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac091906153a2565b15612c0b5773__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308973__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4e91906151dd565b6040518463ffffffff1660e01b8152600401612b6c93929190615543565b60006040518083038186803b158015612b8457600080fd5b505af4158015612b98573d6000803e3d6000fd5b50505050612ba46143b6565b600501546040516373eff33960e11b81526001600160a01b039091169063e7dfe67290612bd8908990600190600401615425565b600060405180830381600087803b158015612bf257600080fd5b505af1158015612c06573d6000803e3d6000fd5b505050505b82516040805187151581526020810192909252810182905286906001600160a01b038916907f55b62c33ca46df94310e16fc7e52e8ed456d93a5f21b1e7b5b4c2428905ddebc9060600160405180910390a350505050505050565b612c748787858560016145cd565b50505050505050565b6000805160206159b0833981519152612c958161426c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460089190600160401b900460ff1680612cde575080546001600160401b03808416911610155b15612cfc5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038516612d875760405162461bcd60e51b815260206004820152602d60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c6964206e6176696760448201526c61746f7220726567697374727960981b606482015260840161153b565b60405163ce396b1f60e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063ce396b1f90612dbe908890600401615158565b60006040518083038186803b158015612dd657600080fd5b505af4158015612dea573d6000803e3d6000fd5b5050604051631270590360e31b81526004810187905273__$e74cba849739aecfa9bf3b6281c0831878$__9250639382c818915060240160006040518083038186803b158015612e3957600080fd5b505af4158015612e4d573d6000803e3d6000fd5b5050825460ff60401b1916835550506040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b600073__$e74cba849739aecfa9bf3b6281c0831878$__63abc517fd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b600080516020615a10833981519152612f028161426c565b60405163358e7d9760e21b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063d639f65c90611070908590600401615158565b600080516020615a10833981519152612f518161426c565b604051634784a11360e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90634784a11390611070908590600401615158565b600073__$36f22459ee3e33aa9c0be04d35fbeab80d$__63bb7de6d46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610eff573d6000803e3d6000fd5b60006000805160206159f0833981519152612fed8161426c565b6000339050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865af415801561303d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613061919061519b565b905080156130e5576130728161218f565b156130e55760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20746865726560448201527f2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d6500606482015260840161153b565b60008111801561316657506040516333727c4d60e01b81526004810182905273__$70f75f99fe6661499ece4b8956af59cd6c$__906333727c4d90602401602060405180830381865af4158015613140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316491906153a2565b155b156131f85773__$70f75f99fe6661499ece4b8956af59cd6c$__6309d3c59b8261318f846114a0565b60028111156131a0576131a0614e91565b6131a98561218f565b6040518463ffffffff1660e01b81526004016131c7939291906153bd565b60006040518083038186803b1580156131df57600080fd5b505af41580156131f3573d6000803e3d6000fd5b505050505b60006132026143b6565b546040805163c04cff1960e01b815290516001600160a01b039092169163c04cff19916004808201926000929091908290030181865afa15801561324a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613272919081019061548e565b9050600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156132bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132e391906151dd565b9050600073__$e74cba849739aecfa9bf3b6281c0831878$__6302a251a36040518163ffffffff1660e01b8152600401602060405180830381865af4158015613330573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613354919061519b565b9050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__637ad59a23878585886040518563ffffffff1660e01b815260040161339594939291906156d6565b602060405180830381865af41580156133b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d6919061519b565b604051633ed9b0ff60e11b81526004810182905290915073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90637db361fe9060240160006040518083038186803b15801561342457600080fd5b505af4158015613438573d6000803e3d6000fd5b505060405163059e952b60e01b81526000925073__$24ed9c895b3ab1d429967676414af5d94a$__915063059e952b90613476908790600401615117565b602060405180830381865af4158015613493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134b791906151b4565b905060006134c36143b6565b600601546001600160a01b031690506000811561354c57604051630a5515e360e01b81526001600160a01b03831690630a5515e390613506908990600401615117565b602060405180830381865afa158015613523573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061354791906151b4565b61354f565b60005b905060006135696001600160d01b0380841690861661572a565b9050606060006135776143b6565b600401546001600160a01b03169050801580159061359e57506000846001600160d01b0316115b1561360c57806001600160a01b0316635584c4f96040518163ffffffff1660e01b8152600401600060405180830381865afa1580156135e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613609919081019061548e565b91505b600083118061361c575060008251115b156136a257600061362b6143b6565b6005015460405163bfaabf3160e01b81526001600160a01b039091169150819063bfaabf319061366e908b9088906001600160d01b038b1690899060040161573d565b600060405180830381600087803b15801561368857600080fd5b505af115801561369c573d6000803e3d6000fd5b50505050505b50949b50505050505050505050505090565b6136c7816136c2600061466a565b61468d565b5060006136d26143b6565b600601546001600160a01b0316905060006136ec83613eb3565b90506000826001600160a01b03166318be49d986846040518363ffffffff1660e01b815260040161371e92919061550d565b602060405180830381865afa15801561373b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061375f9190615526565b90506001600160a01b03811661378a5784604051630d1c9abb60e31b815260040161153b9190615158565b60006137946143b6565b600501546001600160a01b031690506137ac826146cc565b1561384857604051637b8fee0b60e11b81526001600160a01b0382169063f71fdc16906137df9088908a906004016154c2565b600060405180830381600087803b1580156137f957600080fd5b505af115801561380d573d6000803e3d6000fd5b5050505084826001600160a01b0316876001600160a01b031660008051602061597083398151915260405160405180910390a4505050505050565b604051630e53e11560e21b81526001600160a01b0385169063394f845490613876908590899060040161550d565b602060405180830381865afa158015613893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138b791906153a2565b6138f2576138c485614724565b604051637b8fee0b60e11b81526001600160a01b0382169063f71fdc16906137df9088908a906004016154c2565b60006138fc6143b6565b600301546001600160a01b031663d0ebb0ee8861391887614596565b6040518363ffffffff1660e01b8152600401613935929190615404565b600060405180830381865afa158015613952573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261397a91908101906155df565b50905080613a1a57604051637b8fee0b60e11b81526001600160a01b0383169063f71fdc16906139b09089908b906004016154c2565b600060405180830381600087803b1580156139ca57600080fd5b505af11580156139de573d6000803e3d6000fd5b5050505085836001600160a01b0316886001600160a01b031660008051602061597083398151915260405160405180910390a450505050505050565b613a2486886145ec565b600080866001600160a01b031663f232dd60868a6040518363ffffffff1660e01b8152600401613a5592919061550d565b600060405180830381865afa158015613a72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613a9a9190810190615762565b915091506000876001600160a01b031663c61c06e78b896040518363ffffffff1660e01b8152600401613ace92919061550d565b602060405180830381865afa158015613aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0f919061519b565b90506000886001600160a01b031663e1f1c4a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b75919061519b565b9050600083516001600160401b03811115613b9257613b92614d35565b604051908082528060200260200182016040528015613bbb578160200160208202803683370190505b5090506000805b8551811015613c525783868281518110613bde57613bde6157bb565b602002602001015186613bf191906157d1565b613bfb91906157e8565b838281518110613c0d57613c0d6157bb565b602002602001018181525050828181518110613c2b57613c2b6157bb565b602002602001015182613c3e919061572a565b915080613c4a8161580a565b915050613bc2565b508381108015613c63575060008251115b15613c9d57613c728185615823565b82600081518110613c8557613c856157bb565b60200260200101818151613c99919061572a565b9052505b613cac8d8d8885886000614837565b6001600160a01b038816636cf88e73338f8f60006040518563ffffffff1660e01b8152600401613cdf9493929190615836565b600060405180830381600087803b158015613cf957600080fd5b505af1158015613d0d573d6000803e3d6000fd5b505050508b896001600160a01b03168e6001600160a01b03167f28e698009c3f75a566409d95005b1906bbae152060ccf899a822777dd147950c8986604051613d57929190615874565b60405180910390a450505050505050505050505050565b604051630bed730160e41b815260009073__$04e71bdb39671a9b319808db351dce05d3$__9063bed73010906118b09086908690600401615425565b600080516020615a10833981519152613dc28161426c565b604051637d4b948360e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90637d4b948390611070908590600401615158565b6000806000613e066143b6565b600301546001600160a01b031663d0ebb0ee85613e24611ae6611c42565b6040518363ffffffff1660e01b8152600401613e41929190615404565b600060405180830381865afa158015613e5e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e8691908101906155df565b9150915081613eac5783816040516344c4534960e01b815260040161153b929190615899565b5092915050565b6040516368377f6d60e11b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d06efeda906024016110db565b60405163d3a368bd60e01b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d3a368bd906024016110db565b600073__$04e71bdb39671a9b319808db351dce05d3$__63754ba25d83613f52610e6486613eb3565b6040518363ffffffff1660e01b81526004016112c1929190615425565b613f7882611192565b613f818161426c565b611249838361433e565b6000613f956143b6565b546001600160a01b031663d2570b9484613fae85613eb3565b6040518363ffffffff1660e01b8152600401613fcb929190615425565b602060405180830381865afa158015611475573d6000803e3d6000fd5b6000613ff26143b6565b600601546001600160a01b0316919050565b60008051602061599083398151915261401c8161426c565b73__$e74cba849739aecfa9bf3b6281c0831878$__630ff235a98361403f6143b6565b60010160009054906101000a90046001600160a01b03166001600160a01b0316635bec4cb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015614093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140b7919061519b565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401611070565b604051633ae4067560e21b815260009073__$95674d662a270791c819f82956386ae379$__9063eb9019d4906118b0908690869060040161550d565b600080516020615a1083398151915261413a8161426c565b60405163ce396b1f60e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063ce396b1f90611070908590600401615158565b6000805160206159908339815191526141898161426c565b604051637afd709b60e11b81526004810183905273__$36f22459ee3e33aa9c0be04d35fbeab80d$__9063f5fae13690602401611070565b604051637c672b0560e11b81526004810182905260009073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__9063f8ce560a906024016110db565b60405163fb03ec6f60e01b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__9063fb03ec6f906024016110db565b60006001600160e01b03198216637965db0b60e01b1480610eae57506301ffc9a760e01b6001600160e01b0319831614610eae565b6142768133614981565b50565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806142a8614279565b90506142b484846124a4565b614334576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556142ea3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610eae565b6000915050610eae565b600080614349614279565b905061435584846124a4565b15614334576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610eae565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061446157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166144556000805160206159d0833981519152546001600160a01b031690565b6001600160a01b031614155b1561447f5760405163703e46dd60e11b815260040160405180910390fd5b565b6000805160206159b083398151915261198b8161426c565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156144f3575060408051601f3d908101601f191682019092526144f09181019061519b565b60015b6145125781604051634c9c8ce360e01b815260040161153b9190615158565b6000805160206159d0833981519152811461454357604051632a87526960e21b81526004810182905260240161153b565b6113c483836149ac565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461447f5760405163703e46dd60e11b815260040160405180910390fd5b600065ffffffffffff8211156145c9576040516306dfcc6560e41b8152603060048201526024810183905260440161153b565b5090565b60006145dc86610dc087613eb3565b905061109c868686868587614837565b6145f46143b6565b600501546001600160a01b031663e5ed920b8383336040516001600160e01b031960e086901b16815260048101939093526001600160a01b03918216602484015216604482015260640160006040518083038186803b15801561465657600080fd5b505afa15801561109c573d6000803e3d6000fd5b600081600281111561467e5761467e614e91565b600160ff919091161b92915050565b600080614699846114a0565b90506000836146a78361466a565b1603611499578381846040516321b2b5ab60e11b815260040161153b939291906158bd565b60006146d66143b6565b6006015460405163506b90db60e11b81526001600160a01b039091169063a0d721b690614707908590600401615158565b602060405180830381865afa1580156112de573d6000803e3d6000fd5b60405163d3a368bd60e01b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d3a368bd90602401602060405180830381865af4158015614777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061479b919061519b565b90508073__$e74cba849739aecfa9bf3b6281c0831878$__63abc517fd6040518163ffffffff1660e01b8152600401602060405180830381865af41580156147e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061480b919061519b565b614815904361572a565b101561198b5760405163474a8edb60e11b81526004810183905260240161153b565b614845856136c2600061466a565b5073__$04e71bdb39671a9b319808db351dce05d3$__63cdc6ac0c868887878761486e8c613eb3565b6040518763ffffffff1660e01b815260040161488f969594939291906158df565b60006040518083038186803b1580156148a757600080fd5b505af41580156148bb573d6000803e3d6000fd5b50505050801561109c576148cd6143b6565b600501546001600160a01b0316636cf88e7333888860006040518563ffffffff1660e01b81526004016149039493929190615836565b600060405180830381600087803b15801561491d57600080fd5b505af1158015614931573d6000803e3d6000fd5b5050505084866001600160a01b03167f64dbcb1d23926d04f2fea8c7cc3f5d02846ee1e48940419cf422f69ae35813aa8686604051614971929190615874565b60405180910390a3505050505050565b61498b82826124a4565b61198b57808260405163e2517d3f60e01b815260040161153b92919061550d565b6149b582614a02565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156149fa576113c48282614a5e565b61198b614ad4565b806001600160a01b03163b600003614a2f5780604051634c9c8ce360e01b815260040161153b9190615158565b6000805160206159d083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051614a7b9190615953565b600060405180830381855af49150503d8060008114614ab6576040519150601f19603f3d011682016040523d82523d6000602084013e614abb565b606091505b5091509150614acb858383614af3565b95945050505050565b341561447f5760405163b398979f60e01b815260040160405180910390fd5b606082614b0857614b0382614b46565b611499565b8151158015614b1f57506001600160a01b0384163b155b15614b3f5783604051639996b31560e01b815260040161153b9190615158565b5080611499565b805115614b565780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b600060208284031215614b8157600080fd5b81356001600160e01b03198116811461149957600080fd5b65ffffffffffff8116811461427657600080fd5b600060208284031215614bbf57600080fd5b813561149981614b99565b600060208284031215614bdc57600080fd5b5035919050565b60005b83811015614bfe578181015183820152602001614be6565b50506000910152565b60008151808452614c1f816020860160208601614be3565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614ce257888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614c9b82870182614c07565b91505060608083015186830382880152614cb58382614c07565b6080858101519089015260a094850151151594909701939093525050509386019390860190600101614c5a565b509098975050505050505050565b6001600160a01b038116811461427657600080fd5b60008060408385031215614d1857600080fd5b823591506020830135614d2a81614cf0565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715614d6d57614d6d614d35565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614d9b57614d9b614d35565b604052919050565b60006001600160401b03821115614dbc57614dbc614d35565b5060051b60200190565b600082601f830112614dd757600080fd5b81356020614dec614de783614da3565b614d73565b82815260059290921b84018101918181019086841115614e0b57600080fd5b8286015b84811015614e265780358352918301918301614e0f565b509695505050505050565b600060208284031215614e4357600080fd5b81356001600160401b03811115614e5957600080fd5b6117f584828501614dc6565b60008060408385031215614e7857600080fd5b8235614e8381614cf0565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b60038110614eb757614eb7614e91565b9052565b60208101610eae8284614ea7565b600060208284031215614edb57600080fd5b813561149981614cf0565b600081518084526020808501945080840160005b83811015614f1657815187529582019590820190600101614efa565b509495945050505050565b6020815260006114996020830184614ee6565b600080600060608486031215614f4957600080fd5b833592506020840135614f5b81614cf0565b929592945050506040919091013590565b60008060408385031215614f7f57600080fd5b50508035926020909101359150565b6020815260006114996020830184614c07565b60006001600160401b03821115614fba57614fba614d35565b50601f01601f191660200190565b60008060408385031215614fdb57600080fd5b8235614fe681614cf0565b915060208301356001600160401b0381111561500157600080fd5b8301601f8101851361501257600080fd5b8035615020614de782614fa1565b81815286602083850101111561503557600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008060006060848603121561506a57600080fd5b833592506020808501356001600160401b038082111561508957600080fd5b61509588838901614dc6565b945060408701359150808211156150ab57600080fd5b508501601f810187136150bd57600080fd5b80356150cb614de782614da3565b81815260059190911b820183019083810190898311156150ea57600080fd5b928401925b82841015615108578335825292840192908401906150ef565b80955050505050509250925092565b65ffffffffffff91909116815260200190565b6000806040838503121561513d57600080fd5b823561514881614cf0565b91506020830135614d2a81614b99565b6001600160a01b0391909116815260200190565b63ffffffff8116811461427657600080fd5b60006020828403121561519057600080fd5b81356114998161516c565b6000602082840312156151ad57600080fd5b5051919050565b6000602082840312156151c657600080fd5b81516001600160d01b038116811461149957600080fd5b6000602082840312156151ef57600080fd5b815161149981614b99565b805161520581614cf0565b919050565b600082601f83011261521b57600080fd5b8151615229614de782614fa1565b81815284602083860101111561523e57600080fd5b6117f5826020830160208701614be3565b8051801515811461520557600080fd5b6000602080838503121561527257600080fd5b82516001600160401b038082111561528957600080fd5b818501915085601f83011261529d57600080fd5b81516152ab614de782614da3565b81815260059190911b830184019084810190888311156152ca57600080fd5b8585015b83811015615395578051858111156152e557600080fd5b860160c0818c03601f190112156152fc5760008081fd5b615304614d4b565b88820151815260406153178184016151fa565b8a8301526060808401518981111561532f5760008081fd5b61533d8f8d8388010161520a565b83850152506080915081840151898111156153585760008081fd5b6153668f8d8388010161520a565b82850152505060a0808401518284015261538260c0850161524f565b90830152508452509186019186016152ce565b5098975050505050505050565b6000602082840312156153b457600080fd5b6114998261524f565b92835260ff9190911660208301521515604082015260600190565b6001600160a01b03848116825283166020820152606060408201819052600090614acb90830184614ee6565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b918252602082015260400190565b600082601f83011261544457600080fd5b81516020615454614de783614da3565b82815260059290921b8401810191818101908684111561547357600080fd5b8286015b84811015614e265780518352918301918301615477565b6000602082840312156154a057600080fd5b81516001600160401b038111156154b657600080fd5b6117f584828501615433565b9182526001600160a01b0316602082015260400190565b6000602082840312156154eb57600080fd5b81516001600160401b0381111561550157600080fd5b6117f58482850161520a565b6001600160a01b03929092168252602082015260400190565b60006020828403121561553857600080fd5b815161149981614cf0565b6001600160a01b03938416815291909216602082015265ffffffffffff909116604082015260600190565b60006060828403121561558057600080fd5b604051606081016001600160401b03811182821017156155a2576155a2614d35565b60405282516155b081614cf0565b815260208301516155c081614b99565b602082015260408301516155d38161516c565b60408201529392505050565b600080604083850312156155f257600080fd5b6155fb8361524f565b60208401519092506001600160401b0381111561561757600080fd5b6156238582860161520a565b9150509250929050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061566090830184614ee6565b9695505050505050565b60008060006060848603121561567f57600080fd5b83516001600160401b038082111561569657600080fd5b6156a287838801615433565b945060208601519150808211156156b857600080fd5b506156c586828701615433565b925050604084015190509250925092565b6001600160a01b038516815265ffffffffffff8416602082015263ffffffff8316604082015260806060820181905260009061566090830184614ee6565b634e487b7160e01b600052601160045260246000fd5b80820180821115610eae57610eae615714565b8481528360208201528260408201526080606082015260006156606080830184614ee6565b6000806040838503121561577557600080fd5b82516001600160401b038082111561578c57600080fd5b61579886838701615433565b935060208501519150808211156157ae57600080fd5b5061562385828601615433565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610eae57610eae615714565b60008261580557634e487b7160e01b600052601260045260246000fd5b500490565b60006001820161581c5761581c615714565b5060010190565b81810381811115610eae57610eae615714565b6001600160a01b0385811682528416602082015260408101839052608081016002831061586557615865614e91565b82606083015295945050505050565b6040815260006158876040830185614ee6565b8281036020840152614acb8185614ee6565b6001600160a01b03831681526040602082018190526000906117f590830184614c07565b838152606081016158d16020830185614ea7565b826040830152949350505050565b8681526000602060018060a01b0388168184015260c0604084015261590760c0840188614ee6565b838103606085015286518082528288019183019060005b8181101561593a5783518352928401929184019160010161591e565b5050608085019690965250505060a00152949350505050565b60008251615965818460208701614be3565b919091019291505056fe8e8addaac431662b768d45375ef48133b8bad0daad5ce4096fd41007e8d31a8771840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7a2646970667358221220d5c7dd6d1113b2bdc8640a203047b96ae10ec6751a01dd2a2901eaef3fbd7aa264736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3C5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x3CA JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x3FF JUMPI DUP1 PUSH4 0x59E952B EQ PUSH2 0x422 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x45A JUMPI DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x47C JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0x49C JUMPI DUP1 PUSH4 0x19E6E158 EQ PUSH2 0x4BC JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x4DC JUMPI DUP1 PUSH4 0x291605F7 EQ PUSH2 0x4FC JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x529 JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x549 JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0x3469F6E2 EQ PUSH2 0x589 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x5A9 JUMPI DUP1 PUSH4 0x3B395CBE EQ PUSH2 0x5C9 JUMPI DUP1 PUSH4 0x3D4FD3C7 EQ PUSH2 0x5E9 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x609 JUMPI DUP1 PUSH4 0x412CAF0B EQ PUSH2 0x636 JUMPI DUP1 PUSH4 0x42707A43 EQ PUSH2 0x663 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x683 JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x6A3 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x6C3 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x6E3 JUMPI DUP1 PUSH4 0x4CADAD2F EQ PUSH2 0x705 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x725 JUMPI DUP1 PUSH4 0x4FA76EC9 EQ PUSH2 0x738 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x74D JUMPI DUP1 PUSH4 0x53ED6399 EQ PUSH2 0x762 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x782 JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0x7AC JUMPI DUP1 PUSH4 0x57181609 EQ PUSH2 0x7C1 JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x7E1 JUMPI DUP1 PUSH4 0x59529EDD EQ PUSH2 0x7F6 JUMPI DUP1 PUSH4 0x5DBDBA6E EQ PUSH2 0x816 JUMPI DUP1 PUSH4 0x5FB26367 EQ PUSH2 0x836 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x856 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x876 JUMPI DUP1 PUSH4 0x673FC724 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0x8AB JUMPI DUP1 PUSH4 0x78A81336 EQ PUSH2 0x8CB JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x8EB JUMPI DUP1 PUSH4 0x802D2709 EQ PUSH2 0x90B JUMPI DUP1 PUSH4 0x82AFD23B EQ PUSH2 0x92B JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x94B JUMPI DUP1 PUSH4 0x8A829EDA EQ PUSH2 0x96B JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0x98B JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0x9A0 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x9F9 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xA19 JUMPI DUP1 PUSH4 0x9382C818 EQ PUSH2 0xA3B JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xA5B JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xA7D JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xA92 JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0xAB2 JUMPI DUP1 PUSH4 0xA022756B EQ PUSH2 0xAC7 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xADC JUMPI DUP1 PUSH4 0xA461A94D EQ PUSH2 0xAF1 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xB11 JUMPI DUP1 PUSH4 0xA5AE08E9 EQ PUSH2 0xB31 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x738 JUMPI DUP1 PUSH4 0xAA863286 EQ PUSH2 0xB51 JUMPI DUP1 PUSH4 0xABC517FD EQ PUSH2 0xB71 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xB86 JUMPI DUP1 PUSH4 0xB25D6F62 EQ PUSH2 0xBB7 JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xBD7 JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xBF7 JUMPI DUP1 PUSH4 0xBD85948C EQ PUSH2 0xC0C JUMPI DUP1 PUSH4 0xBE2A9F8F EQ PUSH2 0xC21 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0xC41 JUMPI DUP1 PUSH4 0xC048F6C9 EQ PUSH2 0xC61 JUMPI DUP1 PUSH4 0xCD669A72 EQ PUSH2 0xC81 JUMPI DUP1 PUSH4 0xCFEA80ED EQ PUSH2 0xCA3 JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0xCC3 JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0xCE3 JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0xD03 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xD23 JUMPI DUP1 PUSH4 0xD68B4C36 EQ PUSH2 0xD43 JUMPI DUP1 PUSH4 0xE125F74E EQ PUSH2 0xD63 JUMPI DUP1 PUSH4 0xE540D01D EQ PUSH2 0xD85 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xDA5 JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0xDC5 JUMPI DUP1 PUSH4 0xF530108F EQ PUSH2 0xDE7 JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0xE07 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xE27 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xE49 JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0xE69 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x3E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B6F JUMP JUMPDEST PUSH2 0xE89 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xEB4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x442 PUSH2 0x43D CALLDATASIZE PUSH1 0x4 PUSH2 0x4BAD JUMP JUMPDEST PUSH2 0xF28 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x475 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0xFA3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x497 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x10A4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x111C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1157 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1192 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x508 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x51C PUSH2 0x517 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x11B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4C33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x535 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x544 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x122D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x564 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x124F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x584 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x128A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x595 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1302 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x1391 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E31 JUMP JUMPDEST PUSH2 0x13C9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x604 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x1415 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x615 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x629 PUSH2 0x624 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x14A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4EBB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x642 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x656 PUSH2 0x651 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x16E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4F21 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x67E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F34 JUMP JUMPDEST PUSH2 0x1768 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x69E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x17FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x6BE CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1839 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x6DE CALLDATASIZE PUSH1 0x4 PUSH2 0x4F6C JUMP JUMPDEST PUSH2 0x1874 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F8 PUSH2 0x18F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4F8E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x711 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x720 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x1964 JUMP JUMPDEST PUSH2 0x47A PUSH2 0x733 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC8 JUMP JUMPDEST PUSH2 0x1970 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x744 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x198F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x759 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x19DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x76E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x77D CALLDATASIZE PUSH1 0x4 PUSH2 0x5055 JUMP JUMPDEST PUSH2 0x19F7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x78E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x39 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x6F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1C42 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x7DC CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x1C8D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1CDC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x802 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x811 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1D27 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x822 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x831 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x1D35 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x842 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x851 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x1D84 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x862 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x871 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x1E43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x882 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1E7E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x897 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x1EC9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x207B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x20CB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x656 PUSH2 0x906 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x211A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x917 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x926 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x2155 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x946 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x218F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x957 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x966 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x21B3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x986 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x2203 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x997 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x23CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C0 PUSH2 0x9BB CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x2417 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xA14 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x24A4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA2E PUSH2 0x24DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5117 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xA56 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x2549 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2599 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xAAD CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x25E4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xABE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x261E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x442 PUSH2 0x2669 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xB0C CALLDATASIZE PUSH1 0x4 PUSH2 0x512A JUMP JUMPDEST PUSH2 0x276D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xB2C CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x27A9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xB4C CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x2803 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xB6C CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x2C7D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2E9F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F8 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xBD2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x2EEA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xBF2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x2F39 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2F88 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2FD3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xC3C CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x36B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xC5C CALLDATASIZE PUSH1 0x4 PUSH2 0x4F6C JUMP JUMPDEST PUSH2 0x3D6E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xC7C CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x3DAA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59F0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xCBE CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x3DF9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xCDE CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x3EB3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xCFE CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x3EEE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xD1E CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x3F29 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xD3E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D05 JUMP JUMPDEST PUSH2 0x3F6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xD5E CALLDATASIZE PUSH1 0x4 PUSH2 0x4F6C JUMP JUMPDEST PUSH2 0x3F8B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD78 PUSH2 0x3FE8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xDA0 CALLDATASIZE PUSH1 0x4 PUSH2 0x517E JUMP JUMPDEST PUSH2 0x4004 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xDC0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E65 JUMP JUMPDEST PUSH2 0x40E6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xE02 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EC9 JUMP JUMPDEST PUSH2 0x4122 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xE22 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x4171 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59B0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xE64 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x41C1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xE84 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BCA JUMP JUMPDEST PUSH2 0x41FC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x9DA99B3F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xEAE JUMPI POP PUSH2 0xEAE DUP3 PUSH2 0x4237 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF23 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x59E952B SWAP1 PUSH2 0xF62 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5117 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF7F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x51B4 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xFBB DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH20 0x0 PUSH4 0xBD88FE32 DUP4 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x101F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1043 SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1088 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x109C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA0E74EF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA0E74EF SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x10F8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xECA87FB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xECA87FB SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x33CDC2B PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x19E6E158 SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x119D PUSH2 0x4279 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x291605F7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x291605F7 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1205 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xEAE SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x525F JUMP JUMPDEST PUSH2 0x1236 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH2 0x123F DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH2 0x1249 DUP4 DUP4 PUSH2 0x429D JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x30097377 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x30097377 SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x33727C4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x33727C4D SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x12DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9D3C59B DUP3 PUSH2 0x1326 DUP5 PUSH2 0x14A0 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1337 JUMPI PUSH2 0x1337 PUSH2 0x4E91 JUMP JUMPDEST PUSH2 0x1340 DUP6 PUSH2 0x218F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x53BD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1376 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x138A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x13BA JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x13C4 DUP3 DUP3 PUSH2 0x433E JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0x64299881 PUSH2 0x13EB PUSH2 0x43B6 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x53D8 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x1F59DFD7 DUP5 PUSH2 0x143B DUP6 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1458 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1499 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14F5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1519 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33B4E31B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x158F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15B3 SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0xD3A368BD DUP7 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15F8 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1615 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1639 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x164D JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0xADF86523 DUP7 PUSH2 0x1671 DUP7 PUSH2 0x41C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x168E SWAP3 SWAP2 SWAP1 PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x16AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16CF SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST PUSH2 0x16DE JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x412CAF0B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x412CAF0B SWAP1 PUSH2 0x1723 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1740 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xEAE SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x548E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x42707A43 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x42707A43 SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17F5 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x21C2CB19 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x43859632 SWAP1 PUSH2 0x1458 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x54C2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x498D91BF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x498D91BF SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x25DA8C0D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x4BB5181A SWAP1 PUSH2 0x18B0 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x18CD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1499 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x193C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF23 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x54D9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1499 DUP4 DUP4 PUSH2 0x40E6 JUMP JUMPDEST PUSH2 0x1978 PUSH2 0x43DA JUMP JUMPDEST PUSH2 0x1981 DUP3 PUSH2 0x4481 JUMP JUMPDEST PUSH2 0x198B DUP3 DUP3 PUSH2 0x4499 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xA7713A70 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19E4 PUSH2 0x454D JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59D0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x1A6C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206170707320 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0xC2DCC840EECAD2CED0E8E640D8CADCCEE8D040DAD2E6DAC2E8C6D PUSH1 0x2B SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1AD4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E6F206170 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3839903A37903B37BA32903337B9 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST ADDRESS PUSH4 0xA461A94D CALLER PUSH2 0x1AEB PUSH2 0x1AE6 PUSH2 0x1C42 JUMP JUMPDEST PUSH2 0x4596 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B08 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B25 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B49 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x1B69 JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x5B27ABD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B73 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO PUSH2 0x1C2A JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH4 0x18BE49D9 CALLER PUSH2 0x1BA3 DUP9 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BC0 SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1BDD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C01 SWAP2 SWAP1 PUSH2 0x5526 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1C2A JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH2 0x1C33 CALLER PUSH2 0x3DF9 JUMP JUMPDEST POP PUSH2 0x1249 CALLER DUP6 DUP6 DUP6 PUSH1 0x0 PUSH2 0x45CD JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1CA5 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2B9F45B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x2B9F45B7 SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEAE PUSH2 0xE64 DUP4 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1D4D DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x382FA8EC SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D8F PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DE3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E07 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F59DFD7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x1F59DFD7 SWAP1 PUSH2 0x1458 SWAP1 DUP7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x60C4247F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x60C4247F SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x62827733 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1ED3 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x1EF9 JUMPI POP CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ JUMPDEST PUSH2 0x1F57 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A206E6F74206E6176696761746F72 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x207265676973747279 PUSH1 0xB8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x1F8E SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1FAB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FCF SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x198B JUMPI PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP5 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2039 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x205D SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1070 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5543 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2093 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x74038935 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x74038935 SWAP1 PUSH1 0x24 ADD PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x20E3 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x32EA3F73 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x65D47EE6 SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7ACE2485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x7ACE2485 SWAP1 PUSH1 0x24 ADD PUSH2 0x1723 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x12C1 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x219B DUP4 PUSH2 0x14A0 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x21AC JUMPI PUSH2 0x21AC PUSH2 0x4E91 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x21CB DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x41B3B0F PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x836761E0 SWAP1 PUSH1 0x24 ADD PUSH2 0x1070 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x222E JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x65ECE97 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2238 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO PUSH2 0x2367 JUMPI PUSH1 0x40 MLOAD PUSH4 0x53127AD5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xA624F5AA SWAP1 PUSH2 0x2279 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2296 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22BA SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x22DA JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x8523C47F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3E28391D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x3E28391D SWAP1 PUSH2 0x2306 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2323 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2347 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x2367 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP5 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2039 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x8AB52D4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE DUP2 DUP4 ADD MSTORE SWAP1 MLOAD PUSH4 0x23C4C9F PUSH1 0xE6 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8F1327C0 SWAP1 PUSH1 0x24 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2480 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAE SWAP2 SWAP1 PUSH2 0x556E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24AF PUSH2 0x4279 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2525 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF23 SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2561 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x12705903 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x9382C818 SWAP1 PUSH1 0x24 ADD PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x97C3D334 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x12C1 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2674 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x26C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x26EC SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x59E952B SWAP1 PUSH2 0x2726 SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x5117 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2743 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2767 SWAP2 SWAP1 PUSH2 0x51B4 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F59DFD7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x1F59DFD7 SWAP1 PUSH2 0x1458 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27B3 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x4 SWAP1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xA56B5765 SWAP2 PUSH2 0x27E6 SWAP2 DUP8 SWAP2 DUP8 SWAP2 ADD PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18CD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH4 0xA461A94D DUP4 PUSH2 0x2816 PUSH2 0x1AE6 DUP6 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2833 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2850 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2874 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST PUSH2 0x2893 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x2B8B7C89 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH2 0x289D DUP2 DUP4 PUSH2 0x45EC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28A7 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP5 PUSH2 0x28C5 PUSH2 0x1AE6 PUSH2 0x1C42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x28E2 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28FF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2927 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55DF JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x412CAF0B DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2963 SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2980 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x29A8 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x548E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0xEA66E04A ADDRESS DUP10 DUP10 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29EC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x562D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2A09 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2A31 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x566A JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP5 ISZERO DUP1 PUSH2 0x2A43 JUMPI POP DUP3 MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x2C66 JUMPI PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x2A7F SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2A9C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AC0 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO PUSH2 0x2C0B JUMPI PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP10 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2B2A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B4E SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B6C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2B84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2B98 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x2BA4 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x73EFF339 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE7DFE672 SWAP1 PUSH2 0x2BD8 SWAP1 DUP10 SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x4 ADD PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2BF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2C06 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP1 MLOAD DUP8 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD DUP3 SWAP1 MSTORE DUP7 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND SWAP1 PUSH32 0x55B62C33CA46DF94310E16FC7E52E8ED456D93A5F21B1E7B5B4C2428905DDEBC SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2C74 DUP8 DUP8 DUP6 DUP6 PUSH1 0x1 PUSH2 0x45CD JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59B0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2C95 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x8 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2CDE JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2CFC JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2D87 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C6964206E61766967 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x61746F72207265676973747279 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x2DBE SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2DD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2DEA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x12705903 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x9382C818 SWAP2 POP PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2E4D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP3 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP4 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xABC517FD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2F02 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x358E7D97 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD639F65C SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2F51 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4784A113 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4784A113 SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBB7DE6D4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xEFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59F0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2FED DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x303D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3061 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x30E5 JUMPI PUSH2 0x3072 DUP2 PUSH2 0x218F JUMP JUMPDEST ISZERO PUSH2 0x30E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A207468657265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2063616E206265206F6E6C79206F6E6520726F756E64207065722074696D6500 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153B JUMP JUMPDEST PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x3166 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x33727C4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x33727C4D SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3140 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3164 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x31F8 JUMPI PUSH20 0x0 PUSH4 0x9D3C59B DUP3 PUSH2 0x318F DUP5 PUSH2 0x14A0 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x31A0 JUMPI PUSH2 0x31A0 PUSH2 0x4E91 JUMP JUMPDEST PUSH2 0x31A9 DUP6 PUSH2 0x218F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x31C7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x53BD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x31DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x31F3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x0 PUSH2 0x3202 PUSH2 0x43B6 JUMP JUMPDEST SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xC04CFF19 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xC04CFF19 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x324A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3272 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x548E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x32BF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x32E3 SWAP2 SWAP1 PUSH2 0x51DD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3330 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3354 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x7AD59A23 DUP8 DUP6 DUP6 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3395 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x56D6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x33B2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x33D6 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3ED9B0FF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x7DB361FE SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3438 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 POP PUSH20 0x0 SWAP2 POP PUSH4 0x59E952B SWAP1 PUSH2 0x3476 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5117 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3493 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x34B7 SWAP2 SWAP1 PUSH2 0x51B4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x34C3 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH1 0x0 DUP2 ISZERO PUSH2 0x354C JUMPI PUSH1 0x40 MLOAD PUSH4 0xA5515E3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0xA5515E3 SWAP1 PUSH2 0x3506 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x5117 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3523 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3547 SWAP2 SWAP1 PUSH2 0x51B4 JUMP JUMPDEST PUSH2 0x354F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3569 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP5 AND SWAP1 DUP7 AND PUSH2 0x572A JUMP JUMPDEST SWAP1 POP PUSH1 0x60 PUSH1 0x0 PUSH2 0x3577 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x359E JUMPI POP PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND GT JUMPDEST ISZERO PUSH2 0x360C JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5584C4F9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x35E1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3609 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x548E JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 DUP4 GT DUP1 PUSH2 0x361C JUMPI POP PUSH1 0x0 DUP3 MLOAD GT JUMPDEST ISZERO PUSH2 0x36A2 JUMPI PUSH1 0x0 PUSH2 0x362B PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFAABF31 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP DUP2 SWAP1 PUSH4 0xBFAABF31 SWAP1 PUSH2 0x366E SWAP1 DUP12 SWAP1 DUP9 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP12 AND SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x573D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3688 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x369C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST POP SWAP5 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x36C7 DUP2 PUSH2 0x36C2 PUSH1 0x0 PUSH2 0x466A JUMP JUMPDEST PUSH2 0x468D JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x36D2 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH1 0x0 PUSH2 0x36EC DUP4 PUSH2 0x3EB3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18BE49D9 DUP7 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x371E SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x373B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x375F SWAP2 SWAP1 PUSH2 0x5526 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x378A JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xD1C9ABB PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3794 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH2 0x37AC DUP3 PUSH2 0x46CC JUMP JUMPDEST ISZERO PUSH2 0x3848 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xF71FDC16 SWAP1 PUSH2 0x37DF SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x54C2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x37F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x380D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5970 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE53E115 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x394F8454 SWAP1 PUSH2 0x3876 SWAP1 DUP6 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3893 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x38B7 SWAP2 SWAP1 PUSH2 0x53A2 JUMP JUMPDEST PUSH2 0x38F2 JUMPI PUSH2 0x38C4 DUP6 PUSH2 0x4724 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xF71FDC16 SWAP1 PUSH2 0x37DF SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x54C2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38FC PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP9 PUSH2 0x3918 DUP8 PUSH2 0x4596 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3935 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3952 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x397A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55DF JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x3A1A JUMPI PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0xF71FDC16 SWAP1 PUSH2 0x39B0 SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x54C2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x39CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x39DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP6 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5970 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3A24 DUP7 DUP9 PUSH2 0x45EC JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF232DD60 DUP7 DUP11 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A55 SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3A9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5762 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC61C06E7 DUP12 DUP10 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3ACE SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3AEB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B0F SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE1F1C4A7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3B51 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B75 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3B92 JUMPI PUSH2 0x3B92 PUSH2 0x4D35 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3BBB JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x3C52 JUMPI DUP4 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3BDE JUMPI PUSH2 0x3BDE PUSH2 0x57BB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH2 0x3BF1 SWAP2 SWAP1 PUSH2 0x57D1 JUMP JUMPDEST PUSH2 0x3BFB SWAP2 SWAP1 PUSH2 0x57E8 JUMP JUMPDEST DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3C0D JUMPI PUSH2 0x3C0D PUSH2 0x57BB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3C2B JUMPI PUSH2 0x3C2B PUSH2 0x57BB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH2 0x3C3E SWAP2 SWAP1 PUSH2 0x572A JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x3C4A DUP2 PUSH2 0x580A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3BC2 JUMP JUMPDEST POP DUP4 DUP2 LT DUP1 ISZERO PUSH2 0x3C63 JUMPI POP PUSH1 0x0 DUP3 MLOAD GT JUMPDEST ISZERO PUSH2 0x3C9D JUMPI PUSH2 0x3C72 DUP2 DUP6 PUSH2 0x5823 JUMP JUMPDEST DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x3C85 JUMPI PUSH2 0x3C85 PUSH2 0x57BB JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH2 0x3C99 SWAP2 SWAP1 PUSH2 0x572A JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST PUSH2 0x3CAC DUP14 DUP14 DUP9 DUP6 DUP9 PUSH1 0x0 PUSH2 0x4837 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH4 0x6CF88E73 CALLER DUP16 DUP16 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CDF SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5836 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3CF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3D0D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP12 DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x28E698009C3F75A566409D95005B1906BBAE152060CCF899A822777DD147950C DUP10 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3D57 SWAP3 SWAP2 SWAP1 PUSH2 0x5874 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBED7301 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xBED73010 SWAP1 PUSH2 0x18B0 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x3DC2 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7D4B9483 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x7D4B9483 SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x3E06 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP6 PUSH2 0x3E24 PUSH2 0x1AE6 PUSH2 0x1C42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E41 SWAP3 SWAP2 SWAP1 PUSH2 0x5404 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3E5E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3E86 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55DF JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x3EAC JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP3 SWAP2 SWAP1 PUSH2 0x5899 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x754BA25D DUP4 PUSH2 0x3F52 PUSH2 0xE64 DUP7 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C1 SWAP3 SWAP2 SWAP1 PUSH2 0x5425 JUMP JUMPDEST PUSH2 0x3F78 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH2 0x3F81 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH2 0x1249 DUP4 DUP4 PUSH2 0x433E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F95 PUSH2 0x43B6 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD2570B94 DUP5 PUSH2 0x3FAE DUP6 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3FCB SWAP3 SWAP2 SWAP1 PUSH2 0x5425 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3FF2 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x401C DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH20 0x0 PUSH4 0xFF235A9 DUP4 PUSH2 0x403F PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5BEC4CB4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4093 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40B7 SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH4 0xFFFFFFFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3AE40675 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xEB9019D4 SWAP1 PUSH2 0x18B0 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x550D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5A10 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x413A DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x1070 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5990 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x4189 DUP2 PUSH2 0x426C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7AFD709B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xF5FAE136 SWAP1 PUSH1 0x24 ADD PUSH2 0x1070 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7C672B05 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xF8CE560A SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xFB03EC6F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xFB03EC6F SWAP1 PUSH1 0x24 ADD PUSH2 0x10DB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xEAE JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xEAE JUMP JUMPDEST PUSH2 0x4276 DUP2 CALLER PUSH2 0x4981 JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x42A8 PUSH2 0x4279 JUMP JUMPDEST SWAP1 POP PUSH2 0x42B4 DUP5 DUP5 PUSH2 0x24A4 JUMP JUMPDEST PUSH2 0x4334 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x42EA CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xEAE JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xEAE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4349 PUSH2 0x4279 JUMP JUMPDEST SWAP1 POP PUSH2 0x4355 DUP5 DUP5 PUSH2 0x24A4 JUMP JUMPDEST ISZERO PUSH2 0x4334 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xEAE JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x4461 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4455 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59D0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x447F JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59B0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x198B DUP2 PUSH2 0x426C JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x44F3 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x44F0 SWAP2 DUP2 ADD SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4512 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59D0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x4543 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x153B JUMP JUMPDEST PUSH2 0x13C4 DUP4 DUP4 PUSH2 0x49AC JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x447F JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x45C9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x153B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45DC DUP7 PUSH2 0xDC0 DUP8 PUSH2 0x3EB3 JUMP JUMPDEST SWAP1 POP PUSH2 0x109C DUP7 DUP7 DUP7 DUP7 DUP6 DUP8 PUSH2 0x4837 JUMP JUMPDEST PUSH2 0x45F4 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE5ED920B DUP4 DUP4 CALLER PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP5 ADD MSTORE AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4656 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x109C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x467E JUMPI PUSH2 0x467E PUSH2 0x4E91 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4699 DUP5 PUSH2 0x14A0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x46A7 DUP4 PUSH2 0x466A JUMP JUMPDEST AND SUB PUSH2 0x1499 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x58BD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46D6 PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x506B90DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA0D721B6 SWAP1 PUSH2 0x4707 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4777 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x479B SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0x0 PUSH4 0xABC517FD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x47E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x480B SWAP2 SWAP1 PUSH2 0x519B JUMP JUMPDEST PUSH2 0x4815 SWAP1 NUMBER PUSH2 0x572A JUMP JUMPDEST LT ISZERO PUSH2 0x198B JUMPI PUSH1 0x40 MLOAD PUSH4 0x474A8EDB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x153B JUMP JUMPDEST PUSH2 0x4845 DUP6 PUSH2 0x36C2 PUSH1 0x0 PUSH2 0x466A JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xCDC6AC0C DUP7 DUP9 DUP8 DUP8 DUP8 PUSH2 0x486E DUP13 PUSH2 0x3EB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP8 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x488F SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x58DF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x48A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x48BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 ISZERO PUSH2 0x109C JUMPI PUSH2 0x48CD PUSH2 0x43B6 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6CF88E73 CALLER DUP9 DUP9 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4903 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5836 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x491D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4931 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x64DBCB1D23926D04F2FEA8C7CC3F5D02846EE1E48940419CF422F69AE35813AA DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x4971 SWAP3 SWAP2 SWAP1 PUSH2 0x5874 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x498B DUP3 DUP3 PUSH2 0x24A4 JUMP JUMPDEST PUSH2 0x198B JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP3 SWAP2 SWAP1 PUSH2 0x550D JUMP JUMPDEST PUSH2 0x49B5 DUP3 PUSH2 0x4A02 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x49FA JUMPI PUSH2 0x13C4 DUP3 DUP3 PUSH2 0x4A5E JUMP JUMPDEST PUSH2 0x198B PUSH2 0x4AD4 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4A2F JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x59D0 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x4A7B SWAP2 SWAP1 PUSH2 0x5953 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4AB6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4ABB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x4ACB DUP6 DUP4 DUP4 PUSH2 0x4AF3 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x447F JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4B08 JUMPI PUSH2 0x4B03 DUP3 PUSH2 0x4B46 JUMP JUMPDEST PUSH2 0x1499 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4B1F JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4B3F JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153B SWAP2 SWAP1 PUSH2 0x5158 JUMP JUMPDEST POP DUP1 PUSH2 0x1499 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4B56 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x4276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1499 DUP2 PUSH2 0x4B99 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4BFE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4BE6 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4C1F DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4BE3 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4CE2 JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x4C9B DUP3 DUP8 ADD DUP3 PUSH2 0x4C07 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x4CB5 DUP4 DUP3 PUSH2 0x4C07 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4C5A JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4D2A DUP2 PUSH2 0x4CF0 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4D6D JUMPI PUSH2 0x4D6D PUSH2 0x4D35 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4D9B JUMPI PUSH2 0x4D9B PUSH2 0x4D35 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4DBC JUMPI PUSH2 0x4DBC PUSH2 0x4D35 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4DD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4DEC PUSH2 0x4DE7 DUP4 PUSH2 0x4DA3 JUMP JUMPDEST PUSH2 0x4D73 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4E0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4E26 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4E0F JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4E59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F5 DUP5 DUP3 DUP6 ADD PUSH2 0x4DC6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4E78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4E83 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x4EB7 JUMPI PUSH2 0x4EB7 PUSH2 0x4E91 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0xEAE DUP3 DUP5 PUSH2 0x4EA7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1499 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F16 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4EFA JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1499 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4F49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4F5B DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1499 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4C07 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4FBA JUMPI PUSH2 0x4FBA PUSH2 0x4D35 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4FDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4FE6 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5001 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x5012 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x5020 PUSH2 0x4DE7 DUP3 PUSH2 0x4FA1 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x5035 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x506A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP1 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5095 DUP9 DUP4 DUP10 ADD PUSH2 0x4DC6 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x50AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x50BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x50CB PUSH2 0x4DE7 DUP3 PUSH2 0x4DA3 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x50EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x5108 JUMPI DUP4 CALLDATALOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x50EF JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x513D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5148 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4D2A DUP2 PUSH2 0x4B99 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x4276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5190 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1499 DUP2 PUSH2 0x516C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1499 DUP2 PUSH2 0x4B99 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x5205 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x521B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x5229 PUSH2 0x4DE7 DUP3 PUSH2 0x4FA1 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x523E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F5 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4BE3 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5272 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5289 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x529D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x52AB PUSH2 0x4DE7 DUP3 PUSH2 0x4DA3 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP9 DUP4 GT ISZERO PUSH2 0x52CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 ADD JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5395 JUMPI DUP1 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x52E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 ADD PUSH1 0xC0 DUP2 DUP13 SUB PUSH1 0x1F NOT ADD SLT ISZERO PUSH2 0x52FC JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5304 PUSH2 0x4D4B JUMP JUMPDEST DUP9 DUP3 ADD MLOAD DUP2 MSTORE PUSH1 0x40 PUSH2 0x5317 DUP2 DUP5 ADD PUSH2 0x51FA JUMP JUMPDEST DUP11 DUP4 ADD MSTORE PUSH1 0x60 DUP1 DUP5 ADD MLOAD DUP10 DUP2 GT ISZERO PUSH2 0x532F JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x533D DUP16 DUP14 DUP4 DUP9 ADD ADD PUSH2 0x520A JUMP JUMPDEST DUP4 DUP6 ADD MSTORE POP PUSH1 0x80 SWAP2 POP DUP2 DUP5 ADD MLOAD DUP10 DUP2 GT ISZERO PUSH2 0x5358 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5366 DUP16 DUP14 DUP4 DUP9 ADD ADD PUSH2 0x520A JUMP JUMPDEST DUP3 DUP6 ADD MSTORE POP POP PUSH1 0xA0 DUP1 DUP5 ADD MLOAD DUP3 DUP5 ADD MSTORE PUSH2 0x5382 PUSH1 0xC0 DUP6 ADD PUSH2 0x524F JUMP JUMPDEST SWAP1 DUP4 ADD MSTORE POP DUP5 MSTORE POP SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x52CE JUMP JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x53B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1499 DUP3 PUSH2 0x524F JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x4ACB SWAP1 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5444 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x5454 PUSH2 0x4DE7 DUP4 PUSH2 0x4DA3 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x5473 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4E26 JUMPI DUP1 MLOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x5477 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x54B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F5 DUP5 DUP3 DUP6 ADD PUSH2 0x5433 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5501 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F5 DUP5 DUP3 DUP6 ADD PUSH2 0x520A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5538 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1499 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND DUP2 MSTORE SWAP2 SWAP1 SWAP3 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5580 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x55A2 JUMPI PUSH2 0x55A2 PUSH2 0x4D35 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 MLOAD PUSH2 0x55B0 DUP2 PUSH2 0x4CF0 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x55C0 DUP2 PUSH2 0x4B99 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x55D3 DUP2 PUSH2 0x516C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55FB DUP4 PUSH2 0x524F JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5623 DUP6 DUP3 DUP7 ADD PUSH2 0x520A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5660 SWAP1 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x567F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5696 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x56A2 DUP8 DUP4 DUP9 ADD PUSH2 0x5433 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x56B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x56C5 DUP7 DUP3 DUP8 ADD PUSH2 0x5433 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5660 SWAP1 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xEAE JUMPI PUSH2 0xEAE PUSH2 0x5714 JUMP JUMPDEST DUP5 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP3 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x5660 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x4EE6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5775 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x578C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5798 DUP7 DUP4 DUP8 ADD PUSH2 0x5433 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x57AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5623 DUP6 DUP3 DUP7 ADD PUSH2 0x5433 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xEAE JUMPI PUSH2 0xEAE PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5805 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x581C JUMPI PUSH2 0x581C PUSH2 0x5714 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xEAE JUMPI PUSH2 0xEAE PUSH2 0x5714 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x5865 JUMPI PUSH2 0x5865 PUSH2 0x4E91 JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x5887 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x4EE6 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4ACB DUP2 DUP6 PUSH2 0x4EE6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x17F5 SWAP1 DUP4 ADD DUP5 PUSH2 0x4C07 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x58D1 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x4EA7 JUMP JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP7 DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 DUP5 ADD MSTORE PUSH1 0xC0 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x5907 PUSH1 0xC0 DUP5 ADD DUP9 PUSH2 0x4EE6 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE DUP7 MLOAD DUP1 DUP3 MSTORE DUP3 DUP9 ADD SWAP2 DUP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x593A JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x591E JUMP JUMPDEST POP POP PUSH1 0x80 DUP6 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5965 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4BE3 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID DUP15 DUP11 0xDD 0xAA 0xC4 BALANCE PUSH7 0x2B768D45375EF4 DUP2 CALLER 0xB8 0xBA 0xD0 0xDA 0xAD 0x5C 0xE4 MULMOD PUSH16 0xD41007E8D31A8771840DC4906352362B 0xC 0xDA 0xF7 SWAP9 PUSH17 0x196C8E42ACAFADE72D5D5A6D59291253CE 0xB1 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC2B53661063988F1AD36E0A 0x49 0xD4 0xD9 0xA6 LOG3 LT PUSH7 0x52AAEED2BE542C DUP7 SWAP2 0xD5 CREATE2 REVERT AND DUP12 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7A2646970667358221220D5 0xC7 0xDD PUSH14 0x1113B2BDC8640A203047B96AE10E 0xC6 PUSH22 0x1A01DD2A2901EAEF3FBD7AA264736F6C634300081400 CALLER ","sourceMap":"7179:34049:96:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40964:262;;;;;;;;;;-1:-1:-1;40964:262:96;;;;;:::i;:::-;;:::i;:::-;;;470:14:150;;463:22;445:41;;433:2;418:18;40964:262:96;;;;;;;;30642:106;;;;;;;;;;;;;:::i;:::-;;;643:25:150;;;631:2;616:18;30642:106:96;497:177:150;40109:171:96;;;;;;;;;;-1:-1:-1;40109:171:96;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1223:32:150;;;1205:51;;1193:2;1178:18;40109:171:96;1059:203:150;27664:189:96;;;;;;;;;;-1:-1:-1;27664:189:96;;;;;:::i;:::-;;:::i;:::-;;34144:151;;;;;;;;;;-1:-1:-1;34144:151:96;;;;;:::i;:::-;;:::i;33879:175::-;;;;;;;;;;-1:-1:-1;33879:175:96;;;;;:::i;:::-;;:::i;34910:128::-;;;;;;;;;;-1:-1:-1;34910:128:96;;;;;:::i;:::-;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;33099:187:96:-;;;;;;;;;;-1:-1:-1;33099:187:96;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;37311:153:96:-;;;;;;;;;;-1:-1:-1;37311:153:96;;;;;:::i;:::-;;:::i;37523:128::-;;;;;;;;;;-1:-1:-1;37523:128:96;;;;;:::i;:::-;;:::i;20076:147::-;;;;;;;;;;-1:-1:-1;20076:147:96;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;22929:248:96:-;;;;;;;;;;-1:-1:-1;22929:248:96;;;;;:::i;:::-;;:::i;38796:207::-;;;;;;;;;;-1:-1:-1;38796:207:96;;;;;:::i;:::-;;:::i;28517:577::-;;;;;;;;;;-1:-1:-1;28517:577:96;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;39424:157::-;;;;;;;;;;-1:-1:-1;39424:157:96;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;35940:183::-;;;;;;;;;;-1:-1:-1;35940:183:96;;;;;:::i;:::-;;:::i;35514:141::-;;;;;;;;;;-1:-1:-1;35514:141:96;;;;;:::i;:::-;;:::i;35318:130::-;;;;;;;;;;-1:-1:-1;35318:130:96;;;;;:::i;:::-;;:::i;34452:148::-;;;;;;;;;;-1:-1:-1;34452:148:96;;;;;:::i;:::-;;:::i;31359:99::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;29667:139::-;;;;;;;;;;-1:-1:-1;29667:139:96;;;;;:::i;:::-;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;37046:118:96:-;;;;;;;;;;;;;:::i;3705:134:3:-;;;;;;;;;;;;;:::i;12066:1071:96:-;;;;;;;;;;-1:-1:-1;12066:1071:96;;;;;:::i;:::-;;:::i;27983:76::-;;;;;;;;;;-1:-1:-1;28044:10:96;;;;;;;;;;;;-1:-1:-1;;;28044:10:96;;;;27983:76;;31771:121;;;;;;;;;;;;;:::i;24658:164::-;;;;;;;;;;-1:-1:-1;24658:164:96;;;;;:::i;:::-;;:::i;31965:121::-;;;;;;;;;;;;;:::i;37709:118::-;;;;;;;;;;-1:-1:-1;37709:118:96;;;;;:::i;:::-;;:::i;25637:217::-;;;;;;;;;;-1:-1:-1;25637:217:96;;;;;:::i;:::-;;:::i;38299:337::-;;;;;;;;;;-1:-1:-1;38299:337:96;;;;;:::i;:::-;;:::i;36639:143::-;;;;;;;;;;-1:-1:-1;36639:143:96;;;;;:::i;:::-;;:::i;36198:116::-;;;;;;;;;;;;;:::i;22392:469::-;;;;;;;;;;-1:-1:-1;22392:469:96;;;;;:::i;:::-;;:::i;26547:151::-;;;;;;;;;;-1:-1:-1;26547:151:96;;;;;:::i;:::-;;:::i;25388:172::-;;;;;;;;;;-1:-1:-1;25388:172:96;;;;;:::i;:::-;;:::i;32554:144::-;;;;;;;;;;-1:-1:-1;32554:144:96;;;;;:::i;:::-;;:::i;37980:133::-;;;;;;;;;;-1:-1:-1;37980:133:96;;;;;:::i;:::-;;:::i;28338:115::-;;;;;;;;;;-1:-1:-1;28338:115:96;;;;;:::i;:::-;;:::i;26304:162::-;;;;;;;;;;-1:-1:-1;26304:162:96;;;;;:::i;:::-;;:::i;21619:615::-;;;;;;;;;;-1:-1:-1;21619:615:96;;;;;:::i;:::-;;:::i;33449:137::-;;;;;;;;;;;;;:::i;32742:160::-;;;;;;;;;;-1:-1:-1;32742:160:96;;;;;:::i;:::-;;:::i;:::-;;;;12504:13:150;;-1:-1:-1;;;;;12500:39:150;12482:58;;12600:4;12588:17;;;12582:24;12608:14;12578:45;12556:20;;;12549:75;12672:17;;;12666:24;12692:10;12662:41;12640:20;;;12633:71;12470:2;12455:18;32742:160:96;12280:430:150;3732:207:0;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;31143:82:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;27426:154::-;;;;;;;;;;-1:-1:-1;27426:154:96;;;;;:::i;:::-;;:::i;7882:100::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7882:100:96;;36842:121;;;;;;;;;;;;;:::i;35736:123::-;;;;;;;;;;-1:-1:-1;35736:123:96;;;;;:::i;:::-;;:::i;31575:109::-;;;;;;;;;;;;;:::i;39688:318::-;;;;;;;;;;;;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;39166:190:96;;;;;;;;;;-1:-1:-1;39166:190:96;;;;;:::i;:::-;;:::i;30244:261::-;;;;;;;;;;-1:-1:-1;30244:261:96;;;;;:::i;:::-;;:::i;13322:1485::-;;;;;;;;;;-1:-1:-1;13322:1485:96;;;;;:::i;:::-;;:::i;8496:414::-;;;;;;;;;;-1:-1:-1;8496:414:96;;;;;:::i;:::-;;:::i;28127:128::-;;;;;;;;;;;;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;24893:179:96;;;;;;;;;;-1:-1:-1;24893:179:96;;;;;:::i;:::-;;:::i;25132:200::-;;;;;;;;;;-1:-1:-1;25132:200:96;;;;;:::i;:::-;;:::i;33664:113::-;;;;;;;;;;;;;:::i;9386:2485::-;;;;;;;;;;;;;:::i;15514:3053::-;;;;;;;;;;-1:-1:-1;15514:3053:96;;;;;:::i;:::-;;:::i;34696:152::-;;;;;;;;;;-1:-1:-1;34696:152:96;;;;;:::i;:::-;;:::i;24421:169::-;;;;;;;;;;-1:-1:-1;24421:169:96;;;;;:::i;:::-;;:::i;7424:76::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7424:76:96;;20434:429;;;;;;;;;;-1:-1:-1;20434:429:96;;;;;:::i;:::-;;:::i;32160:129::-;;;;;;;;;;-1:-1:-1;32160:129:96;;;;;:::i;:::-;;:::i;32350:::-;;;;;;;;;;-1:-1:-1;32350:129:96;;;;;:::i;:::-;;:::i;29177:163::-;;;;;;;;;;-1:-1:-1;29177:163:96;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;29895:248:96:-;;;;;;;;;;-1:-1:-1;29895:248:96;;;;;:::i;:::-;;:::i;40420:167::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;27050:252::-;;;;;;;;;;-1:-1:-1;27050:252:96;;;;;:::i;:::-;;:::i;29436:141::-;;;;;;;;;;-1:-1:-1;29436:141:96;;;;;:::i;:::-;;:::i;7706:70::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7706:70:96;;25930:205;;;;;;;;;;-1:-1:-1;25930:205:96;;;;;:::i;:::-;;:::i;26793:197::-;;;;;;;;;;-1:-1:-1;26793:197:96;;;;;:::i;:::-;;:::i;7580:66::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7580:66:96;;30834:125;;;;;;;;;;-1:-1:-1;30834:125:96;;;;;:::i;:::-;;:::i;35118:132::-;;;;;;;;;;-1:-1:-1;35118:132:96;;;;;:::i;:::-;;:::i;40964:262::-;41103:4;-1:-1:-1;;;;;;41122:59:96;;-1:-1:-1;;;41122:59:96;;:99;;;41185:36;41209:11;41185:23;:36::i;:::-;41115:106;40964:262;-1:-1:-1;;40964:262:96:o;30642:106::-;30687:7;30709:19;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30702:41;;30642:106;:::o;40109:171::-;40214:61;;-1:-1:-1;;;40214:61:96;;40192:7;;40214:15;;:50;;:61;;40265:9;;40214:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;27664:189::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;27762:24:96::1;:46;27809:18;27829:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27762:86;::::0;-1:-1:-1;;;;;;27762:86:96::1;::::0;;;;;;::::1;::::0;::::1;16754:25:150::0;;;;16827:14;16815:27;16795:18;;;16788:55;16727:18;;27762:86:96::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;27664:189:::0;;:::o;34144:151::-;34234:56;;-1:-1:-1;;;34234:56:96;;;;;643:25:150;;;34212:7:96;;34234:26;;:47;;616:18:150;;34234:56:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;33879:175::-;33981:68;;-1:-1:-1;;;33981:68:96;;;;;643:25:150;;;33959:7:96;;33981:26;;:59;;616:18:150;;33981:68:96;497:177:150;34910:128:96;34990:43;;-1:-1:-1;;;34990:43:96;;;;;643:25:150;;;34968:7:96;;34990:23;;:34;;616:18:150;;34990:43:96;497:177:150;4759:191:0;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;33099:187:96:-;33239:42;;-1:-1:-1;;;33239:42:96;;;;;643:25:150;;;33171:53:96;;33239:18;;:33;;616:18:150;;33239:42:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;33239:42:96;;;;;;;;;;;;:::i;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;37311:153:96:-;37405:54;;-1:-1:-1;;;37405:54:96;;;;;643:25:150;;;37383:7:96;;37405:22;;:45;;616:18:150;;37405:54:96;497:177:150;37523:128:96;37603:43;;-1:-1:-1;;;37603:43:96;;;;;643:25:150;;;37584:4:96;;37603:22;;:34;;616:18:150;;37603:43:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20076:147::-;20131:22;:36;20168:7;20183:14;20189:7;20183:5;:14::i;:::-;20177:21;;;;;;;;:::i;:::-;20200:17;20209:7;20200:8;:17::i;:::-;20131:87;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20076:147;:::o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;22929:248:96:-;23003:15;:40;23059:60;:58;:60::i;:::-;:72;-1:-1:-1;;;;;23059:72:96;966:10:11;23160:6:96;23003:169;;;;;;;;;;;;;;;;;:::i;38796:207::-;38892:4;38911:15;:46;38958:7;38974:22;38988:7;38974:13;:22::i;:::-;38911:87;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38904:94;38796:207;-1:-1:-1;;;38796:207:96:o;28517:577::-;28607:41;;-1:-1:-1;;;28607:41:96;;;;;643:25:150;;;28570:10:96;;;;28607:18;;:32;;616:18:150;;28607:41:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28588:60;;28659:8;28671:1;28659:13;28655:74;;28689:33;;-1:-1:-1;;;28689:33:96;;;;;643:25:150;;;616:18;;28689:33:96;;;;;;;;28655:74;28735:24;28762:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28735:45;;;;28786:16;28805:18;:32;28838:7;28805:41;;;;;;;;;;;;;643:25:150;;631:2;616:18;;497:177;28805:41:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28786:60;;28869:16;28857:8;:28;28853:237;;-1:-1:-1;28902:17:96;;28517:577;-1:-1:-1;;;;28517:577:96:o;28853:237::-;28937:23;:37;28975:7;28984:16;28991:8;28984:6;:16::i;:::-;28937:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28932:158;;-1:-1:-1;29018:17:96;;28517:577;-1:-1:-1;;;;28517:577:96:o;28932:158::-;-1:-1:-1;29063:20:96;;28517:577;-1:-1:-1;;;;28517:577:96:o;39424:157::-;39527:49;;-1:-1:-1;;;39527:49:96;;39496:16;;39527:15;;:40;;:49;;39568:7;;39527:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;39527:49:96;;;;;;;;;;;;:::i;35940:183::-;36054:64;;-1:-1:-1;;;36054:64:96;;;;;23035:25:150;;;-1:-1:-1;;;;;23096:32:150;;23076:18;;;23069:60;23145:18;;;23138:34;;;36035:4:96;;36054:23;;:42;;23008:18:150;;36054:64:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36047:71;35940:183;-1:-1:-1;;;;35940:183:96:o;35514:141::-;35603:47;;-1:-1:-1;;;35603:47:96;;35584:4;;35603:23;;:32;;:47;;35636:7;;35645:4;;35603:47;;;:::i;35318:130::-;35399:44;;-1:-1:-1;;;35399:44:96;;;;;643:25:150;;;35377:7:96;;35399:23;;:35;;616:18:150;;35399:44:96;497:177:150;34452:148:96;34546:49;;-1:-1:-1;;;34546:49:96;;34524:7;;34546:23;;:35;;:49;;34582:7;;34591:3;;34546:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;31359:99::-;31402:13;31430:10;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;31430:23:96;;;;;;;;;;;;:::i;29667:139::-;29752:7;29774:27;29783:5;29790:10;29774:8;:27::i;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;:::-;4158:214:::0;;:::o;37046:118:96:-;37095:7;37117:24;:40;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3705:134:3;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;12066:1071:96:-;12202:11;:18;12185:6;:13;:35;12177:107;;;;-1:-1:-1;;;12177:107:96;;24275:2:150;12177:107:96;;;24257:21:150;24314:2;24294:18;;;24287:30;24353:34;24333:18;;;24326:62;-1:-1:-1;;;24404:18:150;;;24397:57;24471:19;;12177:107:96;24073:423:150;12177:107:96;12314:1;12298:6;:13;:17;12290:76;;;;-1:-1:-1;;;12290:76:96;;24703:2:150;12290:76:96;;;24685:21:150;24742:2;24722:18;;;24715:30;24781:34;24761:18;;;24754:62;-1:-1:-1;;;24832:18:150;;;24825:44;24886:19;;12290:76:96;24501:410:150;12290:76:96;12377:4;:39;966:10:11;12431:41:96;12449:22;:20;:22::i;:::-;12431:17;:41::i;:::-;12377:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12373:155;;;966:10:11;12490:31:96;;-1:-1:-1;;;12490:31:96;;;;;;;;:::i;12373:155::-;12625:44;12672:67;:65;:67::i;:::-;:93;;;-1:-1:-1;;;;;12672:93:96;;-1:-1:-1;12775:48:96;;12771:235;;12936:1;-1:-1:-1;;;;;12837:49:96;;;966:10:11;12901:22:96;12915:7;12901:13;:22::i;:::-;12837:87;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12837:101:96;;12833:167;;966:10:11;12957:34:96;;-1:-1:-1;;;12957:34:96;;;;;;;;:::i;12833:167::-;13012:47;966:10:11;20434:429:96;:::i;13012:47::-;-1:-1:-1;13066:66:96;966:10:11;13096:7:96;13105:6;13113:11;13126:5;13066:15;:66::i;31771:121::-;31824:7;31846:18;:39;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24658:164;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;24768:49:96::1;::::0;-1:-1:-1;;;24768:49:96;;:22:::1;::::0;:35:::1;::::0;:49:::1;::::0;24804:12;;24768:49:::1;;;:::i;31965:121::-:0;32018:7;32040:18;:39;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37709:118;37770:7;37792:30;37799:22;37813:7;37799:13;:22::i;25637:217::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;25782:67:96::1;::::0;-1:-1:-1;;;25782:67:96;;:22:::1;::::0;:44:::1;::::0;:67:::1;::::0;25827:21;;25782:67:::1;;;:::i;38299:337::-:0;38384:4;38396:25;38424:67;:65;:67::i;:::-;:85;;;;;;;;;;-1:-1:-1;;;;;38424:85:96;-1:-1:-1;;;;;38424:110:96;;:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38549:82;;-1:-1:-1;;;38549:82:96;;38396:140;;-1:-1:-1;38549:15:96;;:46;;:82;;38596:7;;38396:140;;38549:82;;;:::i;36639:143::-;36726:51;;-1:-1:-1;;;36726:51:96;;;;;643:25:150;;;36704:7:96;;36726:24;;:40;;616:18:150;;36726:51:96;497:177:150;36198:116:96;36246:7;36268:23;:39;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22392:469;22451:30;22484:60;:58;:60::i;:::-;:79;;;-1:-1:-1;;;;;22484:79:96;;-1:-1:-1;22584:34:96;;;;;:74;;-1:-1:-1;966:10:11;-1:-1:-1;;;;;22622:36:96;;;22584:74;22569:146;;;;-1:-1:-1;;;22569:146:96;;26640:2:150;22569:146:96;;;26622:21:150;26679:2;26659:18;;;26652:30;26718:34;26698:18;;;26691:62;-1:-1:-1;;;26769:18:150;;;26762:39;26818:19;;22569:146:96;26438:405:150;22569:146:96;22726:41;;-1:-1:-1;;;22726:41:96;;:15;;:35;;:41;;22762:4;;22726:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22722:135;;;22777:15;:32;22818:4;22825;22831:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22777:73;;;;;;;;;;;;;;;;;:::i;26547:151::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;26636:57:96::1;::::0;-1:-1:-1;;;26636:57:96;;::::1;::::0;::::1;643:25:150::0;;;26636:26:96::1;::::0;:42:::1;::::0;616:18:150;;26636:57:96::1;497:177:150::0;25388:172:96;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;25500:55:96::1;::::0;-1:-1:-1;;;25500:55:96;;:22:::1;::::0;:38:::1;::::0;:55:::1;::::0;25539:15;;25500:55:::1;;;:::i;32554:144::-:0;32649:44;;-1:-1:-1;;;32649:44:96;;;;;643:25:150;;;32618:16:96;;32649:18;;:35;;616:18:150;;32649:44:96;497:177:150;37980:133:96;38067:41;;-1:-1:-1;;;38067:41:96;;38048:4;;38067:15;;:35;;:41;;38103:4;;38067:41;;;:::i;28338:115::-;28394:4;;28413:14;28419:7;28413:5;:14::i;:::-;:35;;;;;;;;:::i;:::-;;;28338:115;-1:-1:-1;;28338:115:96:o;26304:162::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;26399:62:96::1;::::0;-1:-1:-1;;;26399:62:96;;::::1;::::0;::::1;643:25:150::0;;;26399:23:96::1;::::0;:42:::1;::::0;616:18:150;;26399:62:96::1;497:177:150::0;21619:615:96;966:10:11;-1:-1:-1;;;;;21678:20:96;;;21674:75;;966:10:11;21715:27:96;;-1:-1:-1;;;21715:27:96;;;;;;;;:::i;21674:75::-;21822:30;21855:60;:58;:60::i;:::-;:79;;;-1:-1:-1;;;;;21855:79:96;;-1:-1:-1;21944:34:96;;21940:210;;21992:29;;-1:-1:-1;;;21992:29:96;;-1:-1:-1;;;;;21992:23:96;;;;;:29;;22016:4;;21992:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21988:79;;;22062:4;22030:37;;-1:-1:-1;;;22030:37:96;;;;;;;;:::i;21988:79::-;22079:29;;-1:-1:-1;;;22079:29:96;;-1:-1:-1;;;;;22079:23:96;;;;;:29;;22103:4;;22079:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22075:68;;;22138:4;22117:26;;-1:-1:-1;;;22117:26:96;;;;;;;;:::i;22075:68::-;22156:15;:32;22197:4;22204;22210:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33449:137;33506:7;33528:26;:51;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32742:160;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;32861:36:96;;-1:-1:-1;;;32861:36:96;;;;;643:25:150;;;32861:18:96;;:27;;616:18:150;;32861:36:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;31143:82:96:-;31181:6;31202:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;27426:154::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;27519:56:96::1;::::0;-1:-1:-1;;;27519:56:96;;::::1;::::0;::::1;643:25:150::0;;;27519:19:96::1;::::0;:46:::1;::::0;616:18:150;;27519:56:96::1;497:177:150::0;36842:121:96;36892:7;36914:24;:42;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35736:123;35812:42;;-1:-1:-1;;;35812:42:96;;35793:4;;35812:23;;:36;;:42;;35849:4;;35812:42;;;:::i;31575:109::-;31622:7;31644:18;:33;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39688:318;39756:7;39771:25;39799:67;:65;:67::i;:::-;:85;;;;;;;;;;-1:-1:-1;;;;;39799:85:96;-1:-1:-1;;;;;39799:110:96;;:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;39924:77;;-1:-1:-1;;;39924:77:96;;39771:140;;-1:-1:-1;39924:15:96;;:50;;:77;;39771:140;;39924:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;39917:84;;;39688:318;:::o;39166:190::-;39285:66;;-1:-1:-1;;;39285:66:96;;39266:4;;39285:15;;:46;;:66;;39332:7;;39341:9;;39285:66;;;:::i;30244:261::-;30332:7;30360:60;:58;:60::i;:::-;:74;;;;;:140;;-1:-1:-1;;;30360:140:96;;-1:-1:-1;;;;;30360:74:96;;;;:96;;:140;;30466:7;;30483:9;;30360:140;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13322:1485;13400:4;:39;13440:5;13447:41;13465:22;13479:7;13465:13;:22::i;13447:41::-;13400:89;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13395:145;;13527:5;13506:27;;-1:-1:-1;;;13506:27:96;;;;;;;;:::i;13395:145::-;13546:44;13575:7;13584:5;13546:28;:44::i;:::-;13598:13;13617:67;:65;:67::i;:::-;:92;;;-1:-1:-1;;;;;13617:92:96;:119;13737:5;13744:41;13762:22;:20;:22::i;13744:41::-;13617:169;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13617:169:96;;;;;;;;;;;;:::i;:::-;13597:189;;;13793:23;13819:15;:40;13860:5;13819:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13819:47:96;;;;;;;;;;;;:::i;:::-;13793:73;;13874:28;13904:31;13937:19;13960:15;:44;14013:4;14020:5;14027:7;14036:6;13960:83;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13960:83:96;;;;;;;;;;;;:::i;:::-;13873:170;;;;;;14201:8;14200:9;:36;;;-1:-1:-1;14213:18:96;;:23;14200:36;14196:534;;;14324:42;;-1:-1:-1;;;14324:42:96;;:15;;:35;;:42;;14360:5;;14324:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14320:303;;;14378:15;:32;14419:4;14426:5;14433:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14378:74;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14462:60;:58;:60::i;:::-;:80;;;:152;;-1:-1:-1;;;14462:152:96;;-1:-1:-1;;;;;14462:80:96;;;;:110;;:152;;14584:7;;14462:80;;:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14320:303;14677:18;;14635:74;;;30401:14:150;;30394:22;30376:41;;30448:2;30433:18;;30426:34;;;;30476:18;;30469:34;;;14658:7:96;;-1:-1:-1;;;;;14635:74:96;;;;;30364:2:150;30349:18;14635:74:96;;;;;;;14717:7;;;;;13322:1485;;:::o;14196:534::-;14736:66;14752:5;14759:7;14768:11;14781:14;14797:4;14736:15;:66::i;:::-;13389:1418;;;;;13322:1485;;:::o;8496:414::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8870:21:2;6431:15;;8650:1:96::1;::::0;8870:21:2;-1:-1:-1;;;6431:15:2;::::1;;;::::0;:44:::1;;-1:-1:-1::0;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;::::1;:14:::0;::::1;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1::0;;;6498:23:2::1;;;;;;;;;;;6427:105;6541:24:::0;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;::::1;6575:22:::0;-1:-1:-1;;;6575:22:2::1;::::0;;-1:-1:-1;;;;;8667:41:96;::::2;8659:99;;;::::0;-1:-1:-1;;;8659:99:96;;30716:2:150;8659:99:96::2;::::0;::::2;30698:21:150::0;30755:2;30735:18;;;30728:30;30794:34;30774:18;;;30767:62;-1:-1:-1;;;30845:18:150;;;30838:43;30898:19;;8659:99:96::2;30514:409:150::0;8659:99:96::2;8764:63;::::0;-1:-1:-1;;;8764:63:96;;:22:::2;::::0;:43:::2;::::0;:63:::2;::::0;8808:18;;8764:63:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;8833:72:96::2;::::0;-1:-1:-1;;;8833:72:96;;::::2;::::0;::::2;643:25:150::0;;;8833:19:96::2;::::0;-1:-1:-1;8833:46:96::2;::::0;-1:-1:-1;616:18:150;;8833:72:96::2;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;6618:23:2;;-1:-1:-1;;;;6618:23:2::1;::::0;;-1:-1:-1;;6656:20:2::1;::::0;-1:-1:-1;;;;;31334:31:150;;31316:50;;6656:20:2::1;::::0;31304:2:150;31289:18;6656:20:2::1;;;;;;;6291:392;3217:1:0;8496:414:96::0;;;:::o;28127:128::-;28183:7;28205:19;:43;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24893:179;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;25012:55:96::1;::::0;-1:-1:-1;;;25012:55:96;;:22:::1;::::0;:38:::1;::::0;:55:::1;::::0;25051:15;;25012:55:::1;;;:::i;25132:200::-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;25264:63:96::1;::::0;-1:-1:-1;;;25264:63:96;;:22:::1;::::0;:42:::1;::::0;:63:::1;::::0;25307:19;;25264:63:::1;;;:::i;33664:113::-:0;33709:7;33731:26;:39;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9386:2485;9456:7;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9471::96::1;966:10:11::0;9471:31:96::1;;9672:20;9695:18;:33;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9672:58:::0;-1:-1:-1;9740:16:96;;9736:136:::1;;9775:22;9784:12;9775:8;:22::i;:::-;9774:23;9766:99;;;::::0;-1:-1:-1;;;9766:99:96;;32061:2:150;9766:99:96::1;::::0;::::1;32043:21:150::0;32100:2;32080:18;;;32073:30;32139:34;32119:18;;;32112:62;32210:33;32190:18;;;32183:61;32261:19;;9766:99:96::1;31859:427:150::0;9766:99:96::1;9943:1;9928:12;:16;:69;;;;-1:-1:-1::0;9949:48:96::1;::::0;-1:-1:-1;;;9949:48:96;;::::1;::::0;::::1;643:25:150::0;;;9949:22:96::1;::::0;:34:::1;::::0;616:18:150;;9949:48:96::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9948:49;9928:69;9924:192;;;10007:22;:36;10044:12;10064:19;10070:12;10064:5;:19::i;:::-;10058:26;;;;;;;;:::i;:::-;10086:22;10095:12;10086:8;:22::i;:::-;10007:102;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9924:192;10147:29;10179:67;:65;:67::i;:::-;:86:::0;:111:::1;::::0;;-1:-1:-1;;;10179:111:96;;;;-1:-1:-1;;;;;10179:86:96;;::::1;::::0;:109:::1;::::0;:111:::1;::::0;;::::1;::::0;:86:::1;::::0;:111;;;;;;;;:86;:111:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;10179:111:96::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;10147:143;;10321:19;10343:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10321:40;;10367:26;10403:19;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10367:71;;10444:18;10465;:30;10496:8;10506:12;10520:19;10541:12;10465:89;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10609:63;::::0;-1:-1:-1;;;10609:63:96;;::::1;::::0;::::1;643:25:150::0;;;10444:110:96;;-1:-1:-1;10609:26:96::1;::::0;:51:::1;::::0;616:18:150;;10609:63:96::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10781:64:96::1;::::0;-1:-1:-1;;;10781:64:96;;10750:28:::1;::::0;-1:-1:-1;10781:15:96::1;::::0;-1:-1:-1;10781:50:96::1;::::0;:64:::1;::::0;10832:12;;10781:64:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10750:95;;10851:30;10884:60;:58;:60::i;:::-;:79;;::::0;-1:-1:-1;;;;;10884:79:96::1;::::0;-1:-1:-1;10884:79:96::1;11002:34:::0;;:115:::1;;11055:62;::::0;-1:-1:-1;;;11055:62:96;;-1:-1:-1;;;;;11055:48:96;::::1;::::0;::::1;::::0;:62:::1;::::0;11104:12;;11055:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11002:115;;;11045:1;11002:115;10969:148:::0;-1:-1:-1;11123:23:96::1;11149:63;-1:-1:-1::0;;;;;11181:31:96;;::::1;::::0;11149:29;::::1;:63;:::i;:::-;11123:89;;11219:32;11257:22;11282:60;:58;:60::i;:::-;:74;;::::0;-1:-1:-1;;;;;11282:74:96::1;::::0;-1:-1:-1;11366:31:96;;;::::1;::::0;:61:::1;;;11426:1;11401:22;-1:-1:-1::0;;;;;11401:26:96::1;;11366:61;11362:129;;;11455:8;-1:-1:-1::0;;;;;11455:27:96::1;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;11455:29:96::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;11437:47;;11362:129;11519:1;11501:15;:19;:49;;;;11549:1;11524:15;:22;:26;11501:49;11497:346;;;11560:24;11587:60;:58;:60::i;:::-;:80;;::::0;11675:161:::1;::::0;-1:-1:-1;;;11675:161:96;;-1:-1:-1;;;;;11587:80:96;;::::1;::::0;-1:-1:-1;11587:80:96;;11675:42:::1;::::0;:161:::1;::::0;11727:10;;11747:15;;-1:-1:-1;;;;;11772:31:96;::::1;::::0;11813:15;;11675:161:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11552:291;11497:346;-1:-1:-1::0;11856:10:96;;-1:-1:-1;;;;;;;;;;;9386:2485:96;;:::o;15514:3053::-;15588:68;15609:7;15618:37;15637:17;15618:18;:37::i;:::-;15588:20;:68::i;:::-;;15663:44;15710:67;:65;:67::i;:::-;:93;;;-1:-1:-1;;;;;15710:93:96;;-1:-1:-1;15710:93:96;15926:22;15940:7;15926:13;:22::i;:::-;15907:41;;15954:17;15974:25;-1:-1:-1;;;;;15974:49:96;;16024:7;16033:8;15974:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15954:88;-1:-1:-1;;;;;;16052:23:96;;16048:68;;16108:7;16084:32;;-1:-1:-1;;;16084:32:96;;;;;;;;:::i;16048:68::-;16123:24;16150:60;:58;:60::i;:::-;:80;;;-1:-1:-1;;;;;16150:80:96;;-1:-1:-1;16329:27:96;16346:9;16329:16;:27::i;:::-;16325:171;;;16366:47;;-1:-1:-1;;;16366:47:96;;-1:-1:-1;;;;;16366:29:96;;;;;:47;;16396:7;;16405;;16366:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16467:7;16456:9;-1:-1:-1;;;;;16426:49:96;16447:7;-1:-1:-1;;;;;16426:49:96;-1:-1:-1;;;;;;;;;;;16426:49:96;;;;;;;;;16483:7;;;;15514:3053;;:::o;16325:171::-;16552:63;;-1:-1:-1;;;16552:63:96;;-1:-1:-1;;;;;16552:43:96;;;;;:63;;16596:9;;16607:7;;16552:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16547:344;;16725:28;16745:7;16725:19;:28::i;:::-;16761:47;;-1:-1:-1;;;16761:47:96;;-1:-1:-1;;;;;16761:29:96;;;;;:47;;16791:7;;16800;;16761:47;;;:::i;16547:344::-;16973:13;16992:67;:65;:67::i;:::-;:92;;;-1:-1:-1;;;;;16992:92:96;:119;17112:7;17121:27;17139:8;17121:17;:27::i;:::-;16992:157;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16992:157:96;;;;;;;;;;;;:::i;:::-;16972:177;;;17160:8;17155:153;;17178:47;;-1:-1:-1;;;17178:47:96;;-1:-1:-1;;;;;17178:29:96;;;;;:47;;17208:7;;17217;;17178:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17279:7;17268:9;-1:-1:-1;;;;;17238:49:96;17259:7;-1:-1:-1;;;;;17238:49:96;-1:-1:-1;;;;;;;;;;;17238:49:96;;;;;;;;;17295:7;;;;;15514:3053;;:::o;17155:153::-;17314:46;17343:7;17352;17314:28;:46::i;:::-;17460:23;17485:28;17517:25;-1:-1:-1;;;;;17517:50:96;;17575:9;17592:7;17517:88;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17517:88:96;;;;;;;;;;;;:::i;:::-;17459:146;;;;17669:22;17694:25;-1:-1:-1;;;;;17694:55:96;;17750:7;17759:8;17694:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17669:99;;17864:19;17886:25;-1:-1:-1;;;;;17886:38:96;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17864:62;;17932:28;17977:11;:18;-1:-1:-1;;;;;17963:33:96;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17963:33:96;;17932:64;;18002:17;18030:9;18025:159;18045:11;:18;18041:1;:22;18025:159;;;18131:11;18113;18125:1;18113:14;;;;;;;;:::i;:::-;;;;;;;18096;:31;;;;:::i;:::-;18095:47;;;;:::i;:::-;18078:11;18090:1;18078:14;;;;;;;;:::i;:::-;;;;;;:64;;;;;18163:11;18175:1;18163:14;;;;;;;;:::i;:::-;;;;;;;18150:27;;;;;:::i;:::-;;-1:-1:-1;18065:3:96;;;;:::i;:::-;;;;18025:159;;;;18205:14;18193:9;:26;:52;;;;;18244:1;18223:11;:18;:22;18193:52;18189:117;;;18273:26;18290:9;18273:14;:26;:::i;:::-;18255:11;18267:1;18255:14;;;;;;;;:::i;:::-;;;;;;:44;;;;;;;:::i;:::-;;;-1:-1:-1;18189:117:96;18312:86;18337:7;18346;18355:6;18363:11;18376:14;18392:5;18312:24;:86::i;:::-;-1:-1:-1;;;;;18405:26:96;;;966:10:11;18446:7:96;18455;18464:18;18405:78;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18533:7;18522:9;-1:-1:-1;;;;;18495:67:96;18513:7;-1:-1:-1;;;;;18495:67:96;;18542:6;18550:11;18495:67;;;;;;;:::i;:::-;;;;;;;;15582:2985;;;;;;;;;;;15514:3053;;:::o;34696:152::-;34792:51;;-1:-1:-1;;;34792:51:96;;34770:7;;34792:23;;:37;;:51;;34830:7;;34839:3;;34792:51;;;:::i;24421:169::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;24534:51:96::1;::::0;-1:-1:-1;;;24534:51:96;;:22:::1;::::0;:36:::1;::::0;:51:::1;::::0;24571:13;;24534:51:::1;;;:::i;20434:429::-:0;20513:4;20526:13;20541:25;20570:67;:65;:67::i;:::-;:92;;;-1:-1:-1;;;;;20570:92:96;:119;20690:5;20697:41;20715:22;:20;:22::i;20697:41::-;20570:169;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20570:169:96;;;;;;;;;;;;:::i;:::-;20525:214;;;;20750:8;20745:93;;20812:5;20819:11;20775:56;;-1:-1:-1;;;20775:56:96;;;;;;;;;:::i;20745:93::-;-1:-1:-1;20850:8:96;20434:429;-1:-1:-1;;20434:429:96:o;32160:129::-;32243:41;;-1:-1:-1;;;32243:41:96;;;;;643:25:150;;;32221:7:96;;32243:18;;:32;;616:18:150;;32243:41:96;497:177:150;32350:129:96;32433:41;;-1:-1:-1;;;32433:41:96;;;;;643:25:150;;;32411:7:96;;32433:18;;:32;;616:18:150;;32433:41:96;497:177:150;29177:163:96;29238:4;29257:23;:37;29295:7;29304:30;29311:22;29325:7;29311:13;:22::i;29304:30::-;29257:78;;;;;;;;;;;;;;;;:::i;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;29895:248:96:-:0;29975:4;30000:60;:58;:60::i;:::-;:72;-1:-1:-1;;;;;30000:72:96;:83;30093:5;30108:22;30122:7;30108:13;:22::i;:::-;30000:138;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;40420:167;40470:18;40503:60;:58;:60::i;:::-;:79;;;-1:-1:-1;;;;;40503:79:96;;40420:167;-1:-1:-1;40420:167:96:o;27050:252::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;27138:19:96::1;:35;27181:15;27204:60;:58;:60::i;:::-;:71;;;;;;;;;;-1:-1:-1::0;;;;;27204:71:96::1;-1:-1:-1::0;;;;;27204:85:96::1;;:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27138:159;::::0;-1:-1:-1;;;;;;27138:159:96::1;::::0;;;;;;::::1;37654:23:150::0;;;;27138:159:96::1;::::0;::::1;37636:42:150::0;37694:18;;;37687:34;37609:18;;27138:159:96::1;37456:271:150::0;29436:141:96;29533:39;;-1:-1:-1;;;29533:39:96;;29511:7;;29533:10;;:19;;:39;;29553:7;;29562:9;;29533:39;;;:::i;25930:205::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;26065:65:96::1;::::0;-1:-1:-1;;;26065:65:96;;:22:::1;::::0;:43:::1;::::0;:65:::1;::::0;26109:20;;26065:65:::1;;;:::i;26793:197::-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;26904:81:96::1;::::0;-1:-1:-1;;;26904:81:96;;::::1;::::0;::::1;643:25:150::0;;;26904:26:96::1;::::0;:54:::1;::::0;616:18:150;;26904:81:96::1;497:177:150::0;30834:125:96;30912:42;;-1:-1:-1;;;30912:42:96;;;;;643:25:150;;;30890:7:96;;30912:24;;:31;;616:18:150;;30912:42:96;497:177:150;35118:132:96;35200:45;;-1:-1:-1;;;35200:45:96;;;;;643:25:150;;;35178:7:96;;35200:23;;:36;;616:18:150;;35200:45:96;497:177:150;3443:202:0;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;-1:-1:-1;;;;;;;;;;1133:40:14;;;3602:36:0;1034:146:14;4148:103:0;4214:30;4225:4;966:10:11;4214::0;:30::i;:::-;4148:103;:::o;2787:177::-;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;7151:174:149;7283:32;;7151:174::o;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;4654:251;4599:312::o;8988:98:96:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;643:25:150;;;616:18;;6312:34:3;497:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;14291:213:37;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;38389:36:150;38441:18;;;38434:34;;;38362:18;;14416:41:37;38208:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;18928:326:96:-;19096:19;19118:39;19127:5;19134:22;19148:7;19134:13;:22::i;19118:39::-;19096:61;;19163:86;19188:5;19195:7;19204:6;19212:11;19225;19238:10;19163:24;:86::i;23289:259::-;23379:60;:58;:60::i;:::-;:80;;;-1:-1:-1;;;;;23379:80:96;:110;23497:7;23512:5;966:10:11;23379:164:96;;-1:-1:-1;;;;;;23379:164:96;;;;;;;;;;38681:25:150;;;;-1:-1:-1;;;;;38780:15:150;;;38760:18;;;38753:43;38832:15;38812:18;;;38805:43;38654:18;;23379:164:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40828:132;40902:7;40943:10;40937:17;;;;;;;;:::i;:::-;40932:1;:22;;;;;;;40828:132;-1:-1:-1;;40828:132:96:o;21148:341::-;21240:10;21258:23;21284:14;21290:7;21284:5;:14::i;:::-;21258:40;-1:-1:-1;21368:1:96;21343:13;21308:32;21258:40;21308:18;:32::i;:::-;:48;:62;21304:156;;21416:7;21425:12;21439:13;21387:66;;-1:-1:-1;;;21387:66:96;;;;;;;;;;:::i;24076:196::-;24144:4;24163:60;:58;:60::i;:::-;:79;;;:104;;-1:-1:-1;;;24163:104:96;;-1:-1:-1;;;;;24163:79:96;;;;:93;;:104;;24257:9;;24163:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;23684:250;23769:41;;-1:-1:-1;;;23769:41:96;;;;;643:25:150;;;23750:16:96;;23769:18;;:32;;616:18:150;;23769:41:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23750:60;;23883:8;23835:19;:43;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23820:60;;:12;:60;:::i;:::-;:71;23816:113;;;23900:29;;-1:-1:-1;;;23900:29:96;;;;;643:25:150;;;616:18;;23900:29:96;497:177:150;19258:730:96;19460:68;19481:7;19490:37;19509:17;19490:18;:37::i;19460:68::-;;19575:23;:33;19609:7;19618:5;19625:6;19633:11;19646;19659:22;19673:7;19659:13;:22::i;:::-;19575:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19693:10;19689:295;;;19713:60;:58;:60::i;:::-;:80;;;-1:-1:-1;;;;;19713:80:96;:102;966:10:11;19847:5:96;19862:7;19879:18;19713:192;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19948:7;19941:5;-1:-1:-1;;;;;19918:59:96;;19957:6;19965:11;19918:59;;;;;;;:::i;:::-;;;;;;;;19258:730;;;;;;:::o;4381:197:0:-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;2186:281::-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;:::-;4290:62;4106:253;-1:-1:-1;;;;;4106:253:32:o;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;4625:582:32;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;5173:17;;5743:516;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;14:286:150;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:150;;209:43;;199:71;;266:1;263;256:12;679:125;764:14;757:5;753:26;746:5;743:37;733:65;;794:1;791;784:12;809:245;867:6;920:2;908:9;899:7;895:23;891:32;888:52;;;936:1;933;926:12;888:52;975:9;962:23;994:30;1018:5;994:30;:::i;1267:180::-;1326:6;1379:2;1367:9;1358:7;1354:23;1350:32;1347:52;;;1395:1;1392;1385:12;1347:52;-1:-1:-1;1418:23:150;;1267:180;-1:-1:-1;1267:180:150:o;1819:250::-;1904:1;1914:113;1928:6;1925:1;1922:13;1914:113;;;2004:11;;;1998:18;1985:11;;;1978:39;1950:2;1943:10;1914:113;;;-1:-1:-1;;2061:1:150;2043:16;;2036:27;1819:250::o;2074:271::-;2116:3;2154:5;2148:12;2181:6;2176:3;2169:19;2197:76;2266:6;2259:4;2254:3;2250:14;2243:4;2236:5;2232:16;2197:76;:::i;:::-;2327:2;2306:15;-1:-1:-1;;2302:29:150;2293:39;;;;2334:4;2289:50;;2074:271;-1:-1:-1;;2074:271:150:o;2350:1592::-;2578:4;2607:2;2647;2636:9;2632:18;2677:2;2666:9;2659:21;2700:6;2735;2729:13;2766:6;2758;2751:22;2792:2;2782:12;;2825:2;2814:9;2810:18;2803:25;;2887:2;2877:6;2874:1;2870:14;2859:9;2855:30;2851:39;2925:2;2917:6;2913:15;2946:1;2956:957;2970:6;2967:1;2964:13;2956:957;;;3035:22;;;-1:-1:-1;;3031:36:150;3019:49;;3091:13;;3159:9;;3144:25;;3216:11;;;3210:18;-1:-1:-1;;;;;3206:44:150;3189:15;;;3182:69;3290:11;;;3284:18;3127:4;3322:15;;;3315:27;;;3127:4;3369:48;3401:15;;;3284:18;3369:48;:::i;:::-;3355:62;;;3440:4;3493:2;3489;3485:11;3479:18;3546:6;3538;3534:19;3529:2;3521:6;3517:15;3510:44;3581:41;3615:6;3599:14;3581:41;:::i;:::-;3645:4;3692:11;;;3686:18;3669:15;;;3662:43;3728:4;3789:11;;;3783:18;3776:26;3769:34;3752:15;;;;3745:59;;;;-1:-1:-1;;;3891:12:150;;;;3856:15;;;;2992:1;2985:9;2956:957;;;-1:-1:-1;3930:6:150;;2350:1592;-1:-1:-1;;;;;;;;2350:1592:150:o;3947:131::-;-1:-1:-1;;;;;4022:31:150;;4012:42;;4002:70;;4068:1;4065;4058:12;4083:315;4151:6;4159;4212:2;4200:9;4191:7;4187:23;4183:32;4180:52;;;4228:1;4225;4218:12;4180:52;4264:9;4251:23;4241:33;;4324:2;4313:9;4309:18;4296:32;4337:31;4362:5;4337:31;:::i;:::-;4387:5;4377:15;;;4083:315;;;;;:::o;4403:127::-;4464:10;4459:3;4455:20;4452:1;4445:31;4495:4;4492:1;4485:15;4519:4;4516:1;4509:15;4535:253;4607:2;4601:9;4649:4;4637:17;;-1:-1:-1;;;;;4669:34:150;;4705:22;;;4666:62;4663:88;;;4731:18;;:::i;:::-;4767:2;4760:22;4535:253;:::o;4793:275::-;4864:2;4858:9;4929:2;4910:13;;-1:-1:-1;;4906:27:150;4894:40;;-1:-1:-1;;;;;4949:34:150;;4985:22;;;4946:62;4943:88;;;5011:18;;:::i;:::-;5047:2;5040:22;4793:275;;-1:-1:-1;4793:275:150:o;5073:183::-;5133:4;-1:-1:-1;;;;;5155:30:150;;5152:56;;;5188:18;;:::i;:::-;-1:-1:-1;5233:1:150;5229:14;5245:4;5225:25;;5073:183::o;5261:662::-;5315:5;5368:3;5361:4;5353:6;5349:17;5345:27;5335:55;;5386:1;5383;5376:12;5335:55;5422:6;5409:20;5448:4;5472:60;5488:43;5528:2;5488:43;:::i;:::-;5472:60;:::i;:::-;5566:15;;;5652:1;5648:10;;;;5636:23;;5632:32;;;5597:12;;;;5676:15;;;5673:35;;;5704:1;5701;5694:12;5673:35;5740:2;5732:6;5728:15;5752:142;5768:6;5763:3;5760:15;5752:142;;;5834:17;;5822:30;;5872:12;;;;5785;;5752:142;;;-1:-1:-1;5912:5:150;5261:662;-1:-1:-1;;;;;;5261:662:150:o;5928:348::-;6012:6;6065:2;6053:9;6044:7;6040:23;6036:32;6033:52;;;6081:1;6078;6071:12;6033:52;6108:23;;-1:-1:-1;;;;;6143:30:150;;6140:50;;;6186:1;6183;6176:12;6140:50;6209:61;6262:7;6253:6;6242:9;6238:22;6209:61;:::i;6281:315::-;6349:6;6357;6410:2;6398:9;6389:7;6385:23;6381:32;6378:52;;;6426:1;6423;6416:12;6378:52;6465:9;6452:23;6484:31;6509:5;6484:31;:::i;:::-;6534:5;6586:2;6571:18;;;;6558:32;;-1:-1:-1;;;6281:315:150:o;6601:127::-;6662:10;6657:3;6653:20;6650:1;6643:31;6693:4;6690:1;6683:15;6717:4;6714:1;6707:15;6733:141;6815:1;6808:5;6805:12;6795:46;;6821:18;;:::i;:::-;6850;;6733:141::o;6879:211::-;7027:2;7012:18;;7039:45;7016:9;7066:6;7039:45;:::i;7095:247::-;7154:6;7207:2;7195:9;7186:7;7182:23;7178:32;7175:52;;;7223:1;7220;7213:12;7175:52;7262:9;7249:23;7281:31;7306:5;7281:31;:::i;7347:435::-;7400:3;7438:5;7432:12;7465:6;7460:3;7453:19;7491:4;7520:2;7515:3;7511:12;7504:19;;7557:2;7550:5;7546:14;7578:1;7588:169;7602:6;7599:1;7596:13;7588:169;;;7663:13;;7651:26;;7697:12;;;;7732:15;;;;7624:1;7617:9;7588:169;;;-1:-1:-1;7773:3:150;;7347:435;-1:-1:-1;;;;;7347:435:150:o;7787:261::-;7966:2;7955:9;7948:21;7929:4;7986:56;8038:2;8027:9;8023:18;8015:6;7986:56;:::i;8053:383::-;8130:6;8138;8146;8199:2;8187:9;8178:7;8174:23;8170:32;8167:52;;;8215:1;8212;8205:12;8167:52;8251:9;8238:23;8228:33;;8311:2;8300:9;8296:18;8283:32;8324:31;8349:5;8324:31;:::i;:::-;8053:383;;8374:5;;-1:-1:-1;;;8426:2:150;8411:18;;;;8398:32;;8053:383::o;8761:248::-;8829:6;8837;8890:2;8878:9;8869:7;8865:23;8861:32;8858:52;;;8906:1;8903;8896:12;8858:52;-1:-1:-1;;8929:23:150;;;8999:2;8984:18;;;8971:32;;-1:-1:-1;8761:248:150:o;9014:220::-;9163:2;9152:9;9145:21;9126:4;9183:45;9224:2;9213:9;9209:18;9201:6;9183:45;:::i;9239:186::-;9287:4;-1:-1:-1;;;;;9309:30:150;;9306:56;;;9342:18;;:::i;:::-;-1:-1:-1;9408:2:150;9387:15;-1:-1:-1;;9383:29:150;9414:4;9379:40;;9239:186::o;9430:806::-;9507:6;9515;9568:2;9556:9;9547:7;9543:23;9539:32;9536:52;;;9584:1;9581;9574:12;9536:52;9623:9;9610:23;9642:31;9667:5;9642:31;:::i;:::-;9692:5;-1:-1:-1;9748:2:150;9733:18;;9720:32;-1:-1:-1;;;;;9764:30:150;;9761:50;;;9807:1;9804;9797:12;9761:50;9830:22;;9883:4;9875:13;;9871:27;-1:-1:-1;9861:55:150;;9912:1;9909;9902:12;9861:55;9948:2;9935:16;9973:48;9989:31;10017:2;9989:31;:::i;9973:48::-;10044:2;10037:5;10030:17;10084:7;10079:2;10074;10070;10066:11;10062:20;10059:33;10056:53;;;10105:1;10102;10095:12;10056:53;10160:2;10155;10151;10147:11;10142:2;10135:5;10131:14;10118:45;10204:1;10199:2;10194;10187:5;10183:14;10179:23;10172:34;10225:5;10215:15;;;;;9430:806;;;;;:::o;10241:1206::-;10368:6;10376;10384;10437:2;10425:9;10416:7;10412:23;10408:32;10405:52;;;10453:1;10450;10443:12;10405:52;10476:23;;;-1:-1:-1;10518:2:150;10556:18;;;10543:32;-1:-1:-1;;;;;10624:14:150;;;10621:34;;;10651:1;10648;10641:12;10621:34;10674:61;10727:7;10718:6;10707:9;10703:22;10674:61;:::i;:::-;10664:71;;10788:2;10777:9;10773:18;10760:32;10744:48;;10817:2;10807:8;10804:16;10801:36;;;10833:1;10830;10823:12;10801:36;-1:-1:-1;10856:24:150;;10911:4;10903:13;;10899:27;-1:-1:-1;10889:55:150;;10940:1;10937;10930:12;10889:55;10976:2;10963:16;10999:60;11015:43;11055:2;11015:43;:::i;10999:60::-;11093:15;;;11175:1;11171:10;;;;11163:19;;11159:28;;;11124:12;;;;11199:19;;;11196:39;;;11231:1;11228;11221:12;11196:39;11255:11;;;;11275:142;11291:6;11286:3;11283:15;11275:142;;;11357:17;;11345:30;;11308:12;;;;11395;;;;11275:142;;;11436:5;11426:15;;;;;;;10241:1206;;;;;:::o;12715:196::-;12889:14;12877:27;;;;12859:46;;12847:2;12832:18;;12715:196::o;12916:386::-;12983:6;12991;13044:2;13032:9;13023:7;13019:23;13015:32;13012:52;;;13060:1;13057;13050:12;13012:52;13099:9;13086:23;13118:31;13143:5;13118:31;:::i;:::-;13168:5;-1:-1:-1;13225:2:150;13210:18;;13197:32;13238;13197;13238;:::i;14735:231::-;-1:-1:-1;;;;;14927:32:150;;;;14909:51;;14897:2;14882:18;;14735:231::o;14971:121::-;15056:10;15049:5;15045:22;15038:5;15035:33;15025:61;;15082:1;15079;15072:12;15097:245;15155:6;15208:2;15196:9;15187:7;15183:23;15179:32;15176:52;;;15224:1;15221;15214:12;15176:52;15263:9;15250:23;15282:30;15306:5;15282:30;:::i;15627:184::-;15697:6;15750:2;15738:9;15729:7;15725:23;15721:32;15718:52;;;15766:1;15763;15756:12;15718:52;-1:-1:-1;15789:16:150;;15627:184;-1:-1:-1;15627:184:150:o;16025:290::-;16095:6;16148:2;16136:9;16127:7;16123:23;16119:32;16116:52;;;16164:1;16161;16154:12;16116:52;16190:16;;-1:-1:-1;;;;;16235:31:150;;16225:42;;16215:70;;16281:1;16278;16271:12;16320:249;16389:6;16442:2;16430:9;16421:7;16417:23;16413:32;16410:52;;;16458:1;16455;16448:12;16410:52;16490:9;16484:16;16509:30;16533:5;16509:30;:::i;17044:138::-;17123:13;;17145:31;17123:13;17145:31;:::i;:::-;17044:138;;;:::o;17187:442::-;17241:5;17294:3;17287:4;17279:6;17275:17;17271:27;17261:55;;17312:1;17309;17302:12;17261:55;17341:6;17335:13;17372:48;17388:31;17416:2;17388:31;:::i;17372:48::-;17445:2;17436:7;17429:19;17491:3;17484:4;17479:2;17471:6;17467:15;17463:26;17460:35;17457:55;;;17508:1;17505;17498:12;17457:55;17521:77;17595:2;17588:4;17579:7;17575:18;17568:4;17560:6;17556:17;17521:77;:::i;17634:164::-;17710:13;;17759;;17752:21;17742:32;;17732:60;;17788:1;17785;17778:12;17803:2174;17941:6;17972:2;18015;18003:9;17994:7;17990:23;17986:32;17983:52;;;18031:1;18028;18021:12;17983:52;18058:16;;-1:-1:-1;;;;;18123:14:150;;;18120:34;;;18150:1;18147;18140:12;18120:34;18188:6;18177:9;18173:22;18163:32;;18233:7;18226:4;18222:2;18218:13;18214:27;18204:55;;18255:1;18252;18245:12;18204:55;18284:2;18278:9;18307:60;18323:43;18363:2;18323:43;:::i;18307:60::-;18401:15;;;18483:1;18479:10;;;;18471:19;;18467:28;;;18432:12;;;;18507:19;;;18504:39;;;18539:1;18536;18529:12;18504:39;18571:2;18567;18563:11;18583:1364;18599:6;18594:3;18591:15;18583:1364;;;18678:3;18672:10;18714:2;18701:11;18698:19;18695:39;;;18730:1;18727;18720:12;18695:39;18757:20;;18829:4;18801:16;;;-1:-1:-1;;18797:30:150;18793:41;18790:131;;;18875:1;18904:2;18900;18893:14;18790:131;18947:22;;:::i;:::-;19010:2;19006;19002:11;18996:18;18989:5;18982:33;19038:2;19076:42;19114:2;19110;19106:11;19076:42;:::i;:::-;19071:2;19064:5;19060:14;19053:66;19142:2;19187;19183;19179:11;19173:18;19220:2;19210:8;19207:16;19204:106;;;19264:1;19293:2;19289;19282:14;19204:106;19346:65;19403:7;19398:2;19387:8;19383:2;19379:17;19375:26;19346:65;:::i;:::-;19341:2;19334:5;19330:14;19323:89;;19436:3;19425:14;;19482:3;19478:2;19474:12;19468:19;19516:2;19506:8;19503:16;19500:109;;;19561:1;19591:3;19586;19579:16;19500:109;19645:65;19702:7;19697:2;19686:8;19682:2;19678:17;19674:26;19645:65;:::i;:::-;19640:2;19633:5;19629:14;19622:89;;;19735:3;19789;19785:2;19781:12;19775:19;19769:3;19762:5;19758:15;19751:44;19832:41;19867:4;19863:2;19859:13;19832:41;:::i;:::-;19815:15;;;19808:66;-1:-1:-1;19887:18:150;;-1:-1:-1;19925:12:150;;;;18616;;18583:1364;;;-1:-1:-1;19966:5:150;17803:2174;-1:-1:-1;;;;;;;;17803:2174:150:o;19982:202::-;20049:6;20102:2;20090:9;20081:7;20077:23;20073:32;20070:52;;;20118:1;20115;20108:12;20070:52;20141:37;20168:9;20141:37;:::i;20189:344::-;20389:25;;;20462:4;20450:17;;;;20445:2;20430:18;;20423:45;20511:14;20504:22;20499:2;20484:18;;20477:50;20377:2;20362:18;;20189:344::o;20538:467::-;-1:-1:-1;;;;;20819:15:150;;;20801:34;;20871:15;;20866:2;20851:18;;20844:43;20923:2;20918;20903:18;;20896:30;;;20744:4;;20943:56;;20980:18;;20972:6;20943:56;:::i;21010:301::-;-1:-1:-1;;;;;21208:32:150;;;;21190:51;;21289:14;21277:27;21272:2;21257:18;;21250:55;21178:2;21163:18;;21010:301::o;21316:256::-;21498:25;;;21554:2;21539:18;;21532:34;21486:2;21471:18;;21316:256::o;21793:659::-;21858:5;21911:3;21904:4;21896:6;21892:17;21888:27;21878:55;;21929:1;21926;21919:12;21878:55;21958:6;21952:13;21984:4;22008:60;22024:43;22064:2;22024:43;:::i;22008:60::-;22102:15;;;22188:1;22184:10;;;;22172:23;;22168:32;;;22133:12;;;;22212:15;;;22209:35;;;22240:1;22237;22230:12;22209:35;22276:2;22268:6;22264:15;22288:135;22304:6;22299:3;22296:15;22288:135;;;22370:10;;22358:23;;22401:12;;;;22321;;22288:135;;22457:363;22552:6;22605:2;22593:9;22584:7;22580:23;22576:32;22573:52;;;22621:1;22618;22611:12;22573:52;22648:16;;-1:-1:-1;;;;;22676:30:150;;22673:50;;;22719:1;22716;22709:12;22673:50;22742:72;22806:7;22797:6;22786:9;22782:22;22742:72;:::i;23183:282::-;23365:25;;;-1:-1:-1;;;;;23426:32:150;23421:2;23406:18;;23399:60;23353:2;23338:18;;23183:282::o;23731:337::-;23811:6;23864:2;23852:9;23843:7;23839:23;23835:32;23832:52;;;23880:1;23877;23870:12;23832:52;23907:16;;-1:-1:-1;;;;;23935:30:150;;23932:50;;;23978:1;23975;23968:12;23932:50;24001:61;24054:7;24045:6;24034:9;24030:22;24001:61;:::i;25422:274::-;-1:-1:-1;;;;;25614:32:150;;;;25596:51;;25678:2;25663:18;;25656:34;25584:2;25569:18;;25422:274::o;25701:251::-;25771:6;25824:2;25812:9;25803:7;25799:23;25795:32;25792:52;;;25840:1;25837;25830:12;25792:52;25872:9;25866:16;25891:31;25916:5;25891:31;:::i;26848:402::-;-1:-1:-1;;;;;27112:15:150;;;27094:34;;27164:15;;;;27159:2;27144:18;;27137:43;27228:14;27216:27;;;27211:2;27196:18;;27189:55;27044:2;27029:18;;26848:402::o;27494:774::-;27592:6;27645:2;27633:9;27624:7;27620:23;27616:32;27613:52;;;27661:1;27658;27651:12;27613:52;27694:2;27688:9;27736:2;27724:15;;-1:-1:-1;;;;;27754:34:150;;27790:22;;;27751:62;27748:88;;;27816:18;;:::i;:::-;27852:2;27845:22;27889:16;;27914:31;27889:16;27914:31;:::i;:::-;27954:21;;28020:2;28005:18;;27999:25;28033:32;27999:25;28033:32;:::i;:::-;28093:2;28081:15;;28074:32;28151:2;28136:18;;28130:25;28164:32;28130:25;28164:32;:::i;:::-;28224:2;28212:15;;28205:32;28216:6;27494:774;-1:-1:-1;;;27494:774:150:o;28273:416::-;28359:6;28367;28420:2;28408:9;28399:7;28395:23;28391:32;28388:52;;;28436:1;28433;28426:12;28388:52;28459:37;28486:9;28459:37;:::i;:::-;28540:2;28525:18;;28519:25;28449:47;;-1:-1:-1;;;;;;28556:30:150;;28553:50;;;28599:1;28596;28589:12;28553:50;28622:61;28675:7;28666:6;28655:9;28651:22;28622:61;:::i;:::-;28612:71;;;28273:416;;;;;:::o;28694:540::-;-1:-1:-1;;;;;29003:15:150;;;28985:34;;29055:15;;29050:2;29035:18;;29028:43;29102:2;29087:18;;29080:34;;;29150:3;29145:2;29130:18;;29123:31;;;28928:4;;29171:57;;29208:19;;29200:6;29171:57;:::i;:::-;29163:65;28694:540;-1:-1:-1;;;;;;28694:540:150:o;29239:675::-;29377:6;29385;29393;29446:2;29434:9;29425:7;29421:23;29417:32;29414:52;;;29462:1;29459;29452:12;29414:52;29489:16;;-1:-1:-1;;;;;29554:14:150;;;29551:34;;;29581:1;29578;29571:12;29551:34;29604:72;29668:7;29659:6;29648:9;29644:22;29604:72;:::i;:::-;29594:82;;29722:2;29711:9;29707:18;29701:25;29685:41;;29751:2;29741:8;29738:16;29735:36;;;29767:1;29764;29757:12;29735:36;;29790:74;29856:7;29845:8;29834:9;29830:24;29790:74;:::i;:::-;29780:84;;;29904:2;29893:9;29889:18;29883:25;29873:35;;29239:675;;;;;:::o;32291:544::-;-1:-1:-1;;;;;32558:32:150;;32540:51;;32639:14;32627:27;;32622:2;32607:18;;32600:55;32703:10;32691:23;;32686:2;32671:18;;32664:51;32751:3;32746:2;32731:18;;32724:31;;;-1:-1:-1;;32772:57:150;;32809:19;;32801:6;32772:57;:::i;32840:127::-;32901:10;32896:3;32892:20;32889:1;32882:31;32932:4;32929:1;32922:15;32956:4;32953:1;32946:15;32972:125;33037:9;;;33058:10;;;33055:36;;;33071:18;;:::i;33470:476::-;33733:6;33722:9;33715:25;33776:6;33771:2;33760:9;33756:18;33749:34;33819:6;33814:2;33803:9;33799:18;33792:34;33862:3;33857:2;33846:9;33842:18;33835:31;33696:4;33883:57;33935:3;33924:9;33920:19;33912:6;33883:57;:::i;34230:614::-;34359:6;34367;34420:2;34408:9;34399:7;34395:23;34391:32;34388:52;;;34436:1;34433;34426:12;34388:52;34463:16;;-1:-1:-1;;;;;34528:14:150;;;34525:34;;;34555:1;34552;34545:12;34525:34;34578:72;34642:7;34633:6;34622:9;34618:22;34578:72;:::i;:::-;34568:82;;34696:2;34685:9;34681:18;34675:25;34659:41;;34725:2;34715:8;34712:16;34709:36;;;34741:1;34738;34731:12;34709:36;;34764:74;34830:7;34819:8;34808:9;34804:24;34764:74;:::i;34849:127::-;34910:10;34905:3;34901:20;34898:1;34891:31;34941:4;34938:1;34931:15;34965:4;34962:1;34955:15;34981:168;35054:9;;;35085;;35102:15;;;35096:22;;35082:37;35072:71;;35123:18;;:::i;35154:217::-;35194:1;35220;35210:132;;35264:10;35259:3;35255:20;35252:1;35245:31;35299:4;35296:1;35289:15;35327:4;35324:1;35317:15;35210:132;-1:-1:-1;35356:9:150;;35154:217::o;35376:135::-;35415:3;35436:17;;;35433:43;;35456:18;;:::i;:::-;-1:-1:-1;35503:1:150;35492:13;;35376:135::o;35516:128::-;35583:9;;;35604:11;;;35601:37;;;35618:18;;:::i;35649:520::-;-1:-1:-1;;;;;35953:15:150;;;35935:34;;36005:15;;36000:2;35985:18;;35978:43;36052:2;36037:18;;36030:34;;;35884:3;35869:19;;36094:1;36083:13;;36073:47;;36100:18;;:::i;:::-;36156:6;36151:2;36140:9;36136:18;36129:34;35649:520;;;;;;;:::o;36174:465::-;36431:2;36420:9;36413:21;36394:4;36457:56;36509:2;36498:9;36494:18;36486:6;36457:56;:::i;:::-;36561:9;36553:6;36549:22;36544:2;36533:9;36529:18;36522:50;36589:44;36626:6;36618;36589:44;:::i;36881:317::-;-1:-1:-1;;;;;37058:32:150;;37040:51;;37127:2;37122;37107:18;;37100:30;;;-1:-1:-1;;37147:45:150;;37173:18;;37165:6;37147:45;:::i;38859:353::-;39075:25;;;39063:2;39048:18;;39109:54;39159:2;39144:18;;39136:6;39109:54;:::i;:::-;39199:6;39194:2;39183:9;39179:18;39172:34;38859:353;;;;;;:::o;39217:1126::-;39594:6;39583:9;39576:25;39557:4;39620:2;39687:1;39683;39678:3;39674:11;39670:19;39662:6;39658:32;39653:2;39642:9;39638:18;39631:60;39727:3;39722:2;39711:9;39707:18;39700:31;39754:57;39806:3;39795:9;39791:19;39783:6;39754:57;:::i;:::-;39847:22;;;39842:2;39827:18;;39820:50;39919:13;;39941:22;;;40017:15;;;;39979;;;40050:1;40060:169;40074:6;40071:1;40068:13;40060:169;;;40135:13;;40123:26;;40204:15;;;;40169:12;;;;40096:1;40089:9;40060:169;;;-1:-1:-1;;40280:3:150;40265:19;;40258:35;;;;-1:-1:-1;;;40324:3:150;40309:19;40302:35;40246:3;39217:1126;-1:-1:-1;;;;39217:1126:150:o;40627:287::-;40756:3;40794:6;40788:13;40810:66;40869:6;40864:3;40857:4;40849:6;40845:17;40810:66;:::i;:::-;40892:16;;;;;40627:287;-1:-1:-1;;40627:287:150:o"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","GOVERNANCE_ROLE()":"f36c8f5c","ROUND_STARTER_ROLE()":"cd669a72","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","appSharesCap()":"bb7de6d4","baseAllocationPercentage()":"8ab52d4b","castNavigatorVote(address,uint256)":"be2a9f8f","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","citizenSkipWindowBlocks()":"abc517fd","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","disableAutoVotingFor(address)":"673fc724","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getAppsOfRound(uint256)":"291605f7","getDepositVotingPower(address,uint256)":"a56b5765","getRoleAdmin(bytes32)":"248a9ca3","getRound(uint256)":"8f1327c0","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalAutoVotingUsersAtTimepoint(uint48)":"059e952b","getTotalVotingPower(address,uint256)":"4cadad2f","getUserVotingPreferences(address)":"412caf0b","getVotes(address,uint256)":"eb9019d4","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hasUserVotedForApp(uint256,address,bytes32)":"42707a43","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","initializeV9(address,uint256)":"aa863286","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isFinalized(uint256)":"33727c4d","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","navigatorRegistry()":"e125f74e","proxiableUUID()":"52d1902d","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumPercentage()":"4fa76ec9","quorumReached(uint256)":"d4a8dd98","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","roundDeadline(uint256)":"d3a368bd","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","setAppSharesCap(uint256)":"74038935","setB3TRGovernor(address)":"78a81336","setBaseAllocationPercentage(uint256)":"f5fae136","setCitizenSkipWindowBlocks(uint256)":"9382c818","setEmissionsAddress(address)":"57181609","setNavigatorRegistry(address)":"f530108f","setRelayerRewardsPoolAddress(address)":"5dbdba6e","setUserVotingPreferences(bytes32[])":"3b395cbe","setVeBetterPassport(address)":"b3c93dab","setVoterRewardsAddress(address)":"b25d6f62","setVotingPeriod(uint32)":"e540d01d","setVotingThreshold(uint256)":"836761e0","setX2EarnAppsAddress(address)":"c048f6c9","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","updateQuorumNumerator(uint256)":"06f3f9e6","upgradeToAndCall(address,bytes)":"4f1ef286","validatePersonhoodForCurrentRound(address)":"cfea80ed","version()":"54fd4d50","votingPeriod()":"02a251a3","votingThreshold()":"62827733"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"DelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateAppVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernor.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"NavigatorCannotEnableAutoVoting\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"NavigatorPreferencesNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"SkipWindowNotReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"VoteAlreadyProcessed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"fingerprint\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastChangedRound\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"FreshnessMultiplierApplied\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"NavigatorVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"NavigatorVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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\":\"GOVERNANCE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROUND_STARTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"appSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castNavigatorVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"citizenSkipWindowBlocks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"disableAutoVotingFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppsOfRound\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRound\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"voteStart\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"voteDuration\",\"type\":\"uint32\"}],\"internalType\":\"struct XAllocationVotingStorageTypes.RoundCore\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"getTotalAutoVotingUsersAtTimepoint\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getUserVotingPreferences\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"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\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"hasUserVotedForApp\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"_navigatorRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_citizenSkipWindowBlocks\",\"type\":\"uint256\"}],\"name\":\"initializeV9\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"navigatorRegistry\",\"outputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"appSharesCap_\",\"type\":\"uint256\"}],\"name\":\"setAppSharesCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"newB3TRGovernor\",\"type\":\"address\"}],\"name\":\"setB3TRGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseAllocationPercentage_\",\"type\":\"uint256\"}],\"name\":\"setBaseAllocationPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"setCitizenSkipWindowBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"newEmissions\",\"type\":\"address\"}],\"name\":\"setEmissionsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"newNavigatorRegistry\",\"type\":\"address\"}],\"name\":\"setNavigatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"newRelayerRewardsPool\",\"type\":\"address\"}],\"name\":\"setRelayerRewardsPoolAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"}],\"name\":\"setUserVotingPreferences\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"setVeBetterPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"newVoterRewards\",\"type\":\"address\"}],\"name\":\"setVoterRewardsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"newVotingPeriod\",\"type\":\"uint32\"}],\"name\":\"setVotingPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"setVotingThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"newX2EarnApps\",\"type\":\"address\"}],\"name\":\"setX2EarnAppsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernor.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"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\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Rounds are started by the Emissions contract.Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).Interacts with the VotingRewards contract to save the user from casting a vote.The contract is using AccessControl to handle roles for admin, governance, and round-starting operations. ----- Version 2 ----- - Integrated VeBetterPassport - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold ----- Version 3 ----- - Updated the X2EarnApps interface to support node endorsement feature ----- Version 4 ----- - Updated the X2EarnApps interface to support node cooldown functionality ----- Version 6 -----  - Align IVoterRewards and IEmissions interfaces with the new contracts ----- Version 7 ----- - Proposal Execution: Count proposal deposits to x-allocation voting power ----- Version 8 -----  - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences ----- Version 9 -----  - Refactored from module inheritance to library architecture for contract size optimization  - Removed the following public functions to reduce contract size (accessible via libraries or storage reads):    - name(), initialize(), COUNTING_MODE()    - x2EarnApps(), emissions(), voterRewards(), veBetterPassport(), b3trGovernor(), relayerRewardsPool(), token()    - roundProposer(), getAndValidateVotingPower()  - Added freshness multiplier (XOR fingerprint) in RoundVotesCountingUtils via FreshnessUtils library  - New storage in RoundVotesCountingStorage: _lastVoteFingerprint, _lastFingerprintChangedRound, userVotedForApp  - New storage in ExternalContractsStorage: _navigatorRegistry (INavigatorRegistry)  - New function: castNavigatorVote(citizen, roundId) \\u2014 votes on behalf of navigator-delegated citizens    - Voting power = delegated amount at round snapshot (checkpointed in NavigatorRegistry)    - Uses navigator's allocation percentages (basis points, sum to 10000) converted to absolute weights    - Registers RelayerAction.VOTE for the caller  - New function: disableAutoVotingFor(user) \\u2014 privileged, callable only by NavigatorRegistry  - New events: NavigatorVoteCast, FreshnessMultiplierApplied  - New errors: NotDelegatedToNavigator, NavigatorPreferencesNotSet  - New initializer: initializeV9(INavigatorRegistry, uint256 citizenSkipWindowBlocks) \\u2014 reinitializer(8)  - setNavigatorRegistry() setter via ExternalContractsUtils  - citizenSkipWindowBlocks moved from constant to storage (VotingSettingsStorage), configurable per env  - setCitizenSkipWindowBlocks(uint256) governance-gated setter  - VotesUtils.getVotes() returns delegated amount when citizen has active navigator at snapshot  - Deprecated: getTotalVotingPower() is replaced by getVotes()\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"DelegatedToNavigator(address)\":[{\"details\":\"Citizen is delegated to a navigator and cannot vote manually\"}],\"DuplicateAppVote()\":[{\"details\":\"The `voter` has voted for the same app multiple times in the same transaction.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NavigatorCannotEnableAutoVoting(address)\":[{\"details\":\"Navigator cannot enable auto-voting\"}],\"NavigatorPreferencesNotSet(address,uint256)\":[{\"details\":\"Navigator has not set allocation preferences for the round\"}],\"NotDelegatedToNavigator(address)\":[{\"details\":\"Citizen is not delegated to any navigator\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SkipWindowNotReached(uint256)\":[{\"details\":\"The skip window (minimum time into the round before skips are allowed) has not been reached\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}],\"VoteAlreadyProcessed(address,uint256)\":[{\"details\":\"The voter has already been processed (voted or skipped) for this round\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"FreshnessMultiplierApplied(address,uint256,bytes32,uint256,uint256)\":{\"details\":\"Emitted when a freshness multiplier is applied to a vote.\",\"params\":{\"fingerprint\":\"The XOR fingerprint of the voted apps\",\"lastChangedRound\":\"The round when the voter's fingerprint last changed\",\"multiplier\":\"The freshness multiplier applied (basis points, 10000 = 1x)\",\"roundId\":\"The round in which the vote was cast\",\"voter\":\"The voter address\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"NavigatorVoteCast(address,address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a navigator casts a vote on behalf of a delegated citizen\"},\"NavigatorVoteSkipped(address,address,uint256)\":{\"details\":\"Emitted when a navigator vote is skipped (navigator dead or no preferences set)\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"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.\"},\"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`)\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"appSharesCap()\":{\"details\":\"Returns the max percentage of votes an app can get in a round.\"},\"baseAllocationPercentage()\":{\"details\":\"Returns the current base allocation percentage for funds distribution.\"},\"castNavigatorVote(address,uint256)\":{\"details\":\"Cast a vote on behalf of a citizen delegated to a navigator, or auto-skip if the      navigator is dead / has not set preferences (after the skip window). Decision flow:   1. Navigator dead at snapshot \\u2192 revert (citizen not delegated)   2. Navigator dead NOW \\u2192 skip immediately, reduce allocation vote expectation   3. Navigator alive + no preferences + skip window NOT reached \\u2192 revert (relayer retries later)   4. Navigator alive + no preferences + skip window reached \\u2192 skip   5. Navigator alive + preferences set + citizen not a person \\u2192 skip   6. Navigator alive + preferences set + citizen is a person \\u2192 vote normally\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"citizenSkipWindowBlocks()\":{\"details\":\"Returns the citizen skip window in blocks\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints, as specified in EIP-6372. Matched to the token's clock.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"currentRoundDeadline()\":{\"details\":\"Returns the block number at which the current round ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the block number at which the current round snapshot was taken.\"},\"disableAutoVotingFor(address)\":{\"details\":\"Disable autovoting for a user. Called by NavigatorRegistry when a citizen delegates. No-op if auto-voting is already disabled.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of the apps eligible for voting in a round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Returns the total votes received by a specific app in a given round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Returns the quadratic funding votes received by a specific app in a given round.\"},\"getAppsOfRound(uint256)\":{\"details\":\"Returns all the apps eligible for voting in a round with details.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRound(uint256)\":{\"details\":\"Returns the data of a round.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the app shares cap for a given round (snapshotted at round start).\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for a given round (snapshotted at round start).\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the last emission block\"},\"getTotalAutoVotingUsersAtTimepoint(uint48)\":{\"details\":\"Get the total number of users who enabled autovoting at a specific timepoint\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Deprecated: use getVotes instead, which now includes deposit voting power.\"},\"getUserVotingPreferences(address)\":{\"details\":\"Get the voting preferences for an account\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes for a given account at a given timepoint.\"},\"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`.\"},\"hasUserVotedForApp(uint256,address,bytes32)\":{\"details\":\"Returns whether a user voted for a specific app in a given round.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether a user has voted in a given round.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns whether a user has voted at least once across all rounds.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isFinalized(uint256)\":{\"details\":\"Returns whether a round has been finalized.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Checks if auto-voting is enabled for an account\"},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if auto-voting is enabled for an account at a specific\",\"params\":{\"account\":\"The address to check\",\"timepoint\":\"block number\"}},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Checks if auto-voting is enabled for an account at the start of a specific round\"},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Checks if auto-voting is enabled for an account at the start of the current cycle\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the last succeeded round for the given round.\"},\"navigatorRegistry()\":{\"details\":\"Get the NavigatorRegistry contract.\"},\"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.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint, based on token total supply.\"},\"quorumDenominator()\":{\"details\":\"Returns the quorum denominator (always 100).\"},\"quorumNumerator()\":{\"details\":\"Returns the current quorum numerator (latest checkpoint).\"},\"quorumNumerator(uint256)\":{\"details\":\"Returns the quorum numerator at a specific timepoint.\"},\"quorumPercentage()\":{\"details\":\"Alias for quorumNumerator() \\u2014 returns the quorum as a percentage.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"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 `callerConfirmation`. 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.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts (snapshot).\"},\"setAppSharesCap(uint256)\":{\"details\":\"Set the max amount of shares an app can get in a round\"},\"setB3TRGovernor(address)\":{\"details\":\"Set the B3TRGovernor contract\"},\"setBaseAllocationPercentage(uint256)\":{\"details\":\"Set the base allocation percentage for funds distribution in a round\"},\"setCitizenSkipWindowBlocks(uint256)\":{\"details\":\"Set the citizen skip window (blocks before round deadline when relayers can skip navigator votes)\"},\"setEmissionsAddress(address)\":{\"details\":\"Set the address of the Emissions contract\"},\"setNavigatorRegistry(address)\":{\"details\":\"Set the address of the NavigatorRegistry contract\"},\"setRelayerRewardsPoolAddress(address)\":{\"details\":\"Set the address of the RelayerRewardsPool contract\"},\"setUserVotingPreferences(bytes32[])\":{\"details\":\"Set the voting preferences for the caller\"},\"setVeBetterPassport(address)\":{\"details\":\"Set the VeBetterPassport contract\"},\"setVoterRewardsAddress(address)\":{\"details\":\"Set the address of the VoterRewards contract\"},\"setVotingPeriod(uint32)\":{\"details\":\"Set the voting period for a round\"},\"setVotingThreshold(uint256)\":{\"details\":\"Update the voting threshold. This operation can only be performed through a governance proposal. Emits a {VotingThresholdSet} event.\"},\"setX2EarnAppsAddress(address)\":{\"details\":\"Set the address of the X2EarnApps contract\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications. Orchestrates: finalize previous round \\u2192 create new round \\u2192 snapshot earnings \\u2192 setup auto-voting relayer actions\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for the caller\"},\"totalVoters(uint256)\":{\"details\":\"Returns the total number of voters in a given round.\"},\"totalVotes(uint256)\":{\"details\":\"Returns the total votes cast in a given round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Returns the total quadratic funding votes cast in a given round.\"},\"updateQuorumNumerator(uint256)\":{\"details\":\"Update the quorum a round needs to reach to be successful\"},\"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.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"votingPeriod()\":{\"details\":\"See {IXAllocationVotingGovernor-votingPeriod}.\"},\"votingThreshold()\":{\"details\":\"Returns the minimum amount of tokens needed to cast a vote.\"}},\"stateVariables\":{\"ALL_ROUND_STATES_BITMAP\":{\"details\":\"Bitmask with every valid `RoundState` bit set: bit `i` is 1 for enum value `i` (same layout as      `_encodeStateBitmap`). `2 ** (max + 1) - 1` sets bits `0` through `type(RoundState).max` inclusive.\"}},\"title\":\"XAllocationVoting\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"The role that can set the addresses of the contracts used by the VoterRewards contract.\"},\"GOVERNANCE_ROLE()\":{\"notice\":\"Role identifier for governance operations\"},\"ROUND_STARTER_ROLE()\":{\"notice\":\"Role identifier for the address that can start a new round\"},\"UPGRADER_ROLE()\":{\"notice\":\"Role identifier for the address that can upgrade the contract\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppsOfRound(uint256)\":{\"notice\":\"Could be inefficient with a large number of apps; use {getAppIdsOfRound} + {IX2EarnApps-app} instead.\"},\"initializeV9(address,uint256)\":{\"notice\":\"Initialize V9: set NavigatorRegistry address and citizen skip window\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"notice\":\"Useful function for frontend to consume\"},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"notice\":\"Status changes mid-cycle will only take effect in the next cycle\"},\"roundQuorum(uint256)\":{\"notice\":\"Returns the quorum for a given round\"}},\"notice\":\"This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds. The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \\\"Quadratic Funding\\\" formula.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deprecated/V9/x-allocation-voting-governance/XAllocationVotingV9.sol\":\"XAllocationVotingV9\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/deprecated/V9/x-allocation-voting-governance/XAllocationVotingV9.sol\":{\"keccak256\":\"0x3a16aa92218a35a294578b65e9c2dc84728aa7b6bf742d02c89145ed9da14ff6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://684fb2107dd32e8122d85eba18d58e6bf0924f3cdf2f55314b1570fca3ed120b\",\"dweb:/ipfs/QmedTVWLtssxkG7LFRK8bxxUhYBEnZ9gzTEonCuDNZ51pD\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol\":{\"keccak256\":\"0x42162bff61e2a31e160c3778d19fbf16dc8d70200bee77b0c36baa8f92d7f855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3e1bbb7e829f4a3b1a50cfebaef52619047549e900dc014ce6096e3242993f3\",\"dweb:/ipfs/QmPiSRTNJQPunAwVR9indpNKLZWH1WycVpo5qmyZAFrKdd\"]},\"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol\":{\"keccak256\":\"0x23258e2ea03da915eb7be5c1741ae01ea980d822cfb1a29df622b213db840f93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b5f5259d96b2452152147877a0e86274203ba1584a6ba9374ab56de483ad918\",\"dweb:/ipfs/QmZGwk5Lc7RM1RU7wHDnVZdmowJjYu5mhyVBtsqya5GCmA\"]},\"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol\":{\"keccak256\":\"0x191c83ec4ca9c8e02ca42f70b631525bdb33d38adcf6801af001ee4184f6c7b7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2445c25e52ab4ae91c2f44479f47360bfafec5f059b02e4c6221912524cfb2a8\",\"dweb:/ipfs/QmWTL9CqoAQVHLX4mk7SqYZGMX1wP2baia11xV5RwYVJt5\"]},\"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol\":{\"keccak256\":\"0x307348dda3f7794ee65b6d57297b3cb2914145ef1abd09a19d32d8efb143e924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fda589e1452e745863b9e6dbd0ea9a05ea819fd32aff4b28f84dbbbb351e7ad\",\"dweb:/ipfs/QmV1qN8NeX8GRvP6xD1vRSnvAmQZQP3QgCsYbRxw5mEppV\"]},\"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol\":{\"keccak256\":\"0xd907a07b39a21de46c9b7ddb7e2fd9fbcfe36df69ade8ead79256e8b6708a97c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7798f099f7c36d7a38f9c46ecefd4a29b7e162c0f745a97a29e4e77622b2fe1a\",\"dweb:/ipfs/QmQ2gHpnDEF8cRQsxc8Bw7oou6YqYry2sbJ1wReQiLjgMF\"]},\"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol\":{\"keccak256\":\"0xa311d512471dc9993a86fd315d81d98f93e01fb32bdfaa5548be27d1ca1d9ba2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2517b1ff30ebad7930c0d9f00bc76c9ed88fd02ea7099fa338f53e6ba8ac1383\",\"dweb:/ipfs/QmPkdZd4TMpSam2uHFZ9xQwzksm6cU7NVZeQixGAZrxkD5\"]},\"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol\":{\"keccak256\":\"0x36fd15fd1e1198c921cecc24b4e3f36c6001b2815f060f4e136b0dae546b2621\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a34eb82c770573781d1b44102191ee132507a1583a6f34583fa2632e176501d2\",\"dweb:/ipfs/QmTz1hpwE74WXrtFFBNvm4oM4jKAvxrufxFf6TLuRayi6V\"]},\"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol\":{\"keccak256\":\"0x5150e2d8f20e4f0d2b738fa7f311a0afb831759aaa3e5670315bce0095063cbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://284ca8044affe6919d9e62e87bad5196b2225da372c88cbb374c3dedc96e24e6\",\"dweb:/ipfs/QmVJMMT7mCVuVTb5H6dk334PoL7Mjpi9ekqbC3GzKPcXWW\"]},\"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol\":{\"keccak256\":\"0x1b0da96cf95560309c10c5cf200db15814538aefb7d3a3db93f9648527e3eeea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e17a91e76badb756c75879a8d8339c5f3a48e46dd3dcef50c91552e91e168c63\",\"dweb:/ipfs/QmYY87tyaxN4NdjXyf4ksdJsCtiPRKfAEg1JQCL6JYAHmC\"]},\"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol\":{\"keccak256\":\"0xdbb0c5907539cacffcf519e5dbfab00b4bbe0db8b9902e55a833c87cfc8b9cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://406a0284908e7ec2e7aa12734eb05ec92831be95d82fcbcf406790d85c46f588\",\"dweb:/ipfs/QmdEQxzTPZGsKA87eboyv77yWgD7kUukVm2D1R6S5rWuzf\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol\":{\"keccak256\":\"0x8ebd4466c002d8e3a86a275b74a034f7fe05debb31067c7605f84b250d59e568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eba6437d4a983b44f3fe350bd4805fa7c4f8d19f105100ea276bce326a359aaf\",\"dweb:/ipfs/Qmbd95pbEgcwejWrTjAadsJBBa2B1oGJztkTT7E5ANVApr\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/governance/B3TRGovernor.sol":{"B3TRGovernor":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"DelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"gmLevel","type":"uint256"}],"name":"GMLevelAboveMaxLevel","type":"error"},{"inputs":[{"internalType":"uint256","name":"gmLevel","type":"uint256"}],"name":"GMLevelAboveMaxLevel","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernanceSkipWindowNotReached","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorAlreadyQueuedProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"GovernorDepositThresholdNotInRange","type":"error"},{"inputs":[],"name":"GovernorDisabledDeposit","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"votes","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"GovernorInsufficientProposerVotes","type":"error"},{"inputs":[],"name":"GovernorInvalidDepositAmount","type":"error"},{"inputs":[{"internalType":"uint256","name":"targets","type":"uint256"},{"internalType":"uint256","name":"calldatas","type":"uint256"},{"internalType":"uint256","name":"values","type":"uint256"}],"name":"GovernorInvalidProposalLength","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"requiredWeight","type":"uint256"}],"name":"GovernorInvalidProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorInvalidStartRound","type":"error"},{"inputs":[],"name":"GovernorInvalidVoteType","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositer","type":"address"}],"name":"GovernorNoDepositToWithdraw","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNotQueuedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyProposer","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"string","name":"explanation","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[],"name":"GovernorQueueNotImplemented","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"GovernorRestrictedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"}],"name":"GovernorRestrictedProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GranteeCannotDepositOwnGrant","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidPayeeAddress","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"MissingProposalBudget","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorDecisionNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegatedToNavigator","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NotReadyToClaim","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"PayeesAlreadyFinalized","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"PayoutAlreadyClaimed","type":"error"},{"inputs":[],"name":"QueueEmpty","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"TooManyContributors","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"UnauthorizedAccess","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"UnauthorizedCommunityExecution","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThresholdCap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThresholdCap","type":"uint256"}],"name":"DepositThresholdCapSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThreshold","type":"uint256"}],"name":"DepositThresholdSetV2","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"bytes4","name":"functionSelector","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"FunctionWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorGovernanceVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxBudget","type":"uint256"}],"name":"ProposalBudgetSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"canceler","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"ProposalCanceledWithReason","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"string[]","name":"contributors","type":"string[]"}],"name":"ProposalContributorsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":true,"internalType":"uint256","name":"roundIdVoteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"ProposalCreatedWithType","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalDevelopmentStateReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalInDevelopment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":false,"internalType":"string","name":"implementationDiscussion","type":"string"}],"name":"ProposalInDevelopmentDetails","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalPayoutClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"etaSeconds","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"withdrawer","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"disabled","type":"bool"}],"name":"QuadraticVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"QuorumNumeratorUpdatedByType","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldRequiredGMLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRequiredGMLevel","type":"uint256"}],"name":"RequiredGMLevelSet","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":"oldTimelock","type":"address"},{"indexed":false,"internalType":"address","name":"newTimelock","type":"address"}],"name":"TimelockChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","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":"oldVeBetterPassport","type":"address"},{"indexed":true,"internalType":"address","name":"newVeBetterPassport","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"power","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"walletAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"deposit","type":"uint256"}],"name":"VotingPowerSeeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSetV2","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOVERNOR_FUNCTIONS_SETTINGS_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROPOSAL_EXECUTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROPOSAL_STATE_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canProposalStartInNextRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"cancel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"citizen","type":"address"}],"name":"castNavigatorVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"claimPayout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdCapByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdPercentageByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getActiveProposals","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGalaxyMemberContract","outputs":[{"internalType":"contract IGalaxyMember","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGrantsManagerContract","outputs":[{"internalType":"contract IGrantsManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalBudget","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalContributors","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalDescription","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalImplementationDiscussion","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalPayee","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getQuadraticVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"getRequiredGMLevelByProposalType","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":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getTimelockId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"getUserDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governanceSkipWindowBlocks","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":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"contract INavigatorRegistry","name":"_navigatorRegistry","type":"address"},{"internalType":"contract IRelayerRewardsPool","name":"_relayerRewardsPool","type":"address"},{"internalType":"uint256","name":"_governanceSkipWindowBlocks","type":"uint256"}],"name":"initializeV10","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ITreasury","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_maxContributorsPerProposal","type":"uint256"}],"name":"initializeV11","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"name":"isFunctionWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isProposalPaid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isQuadraticVotingDisabledForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isQuadraticVotingDisabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"markAsCompleted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"payee","type":"address"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"implementationDiscussion","type":"string"},{"internalType":"string[]","name":"contributors","type":"string[]"}],"name":"markAsInDevelopment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minVotingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"navigatorRegistry","outputs":[{"internalType":"contract INavigatorRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDepositReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDepositThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalNeedsQueuing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalStartRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalTotalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalType","outputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalVotes","outputs":[{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"abstainVotes","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"startRoundId","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"maxBudget","type":"uint256"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"startRoundId","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"internalType":"string","name":"milestonesDetailsMetadataURI","type":"string"}],"name":"proposeGrant","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"quorumByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"quorumNumeratorByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"quorumNumeratorByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"relay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"resetDevelopmentState","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":"contract IGalaxyMember","name":"newGalaxyMember","type":"address"}],"name":"setGalaxyMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setGovernanceSkipWindowBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IGrantsManager","name":"newGrantsManager","type":"address"}],"name":"setGrantsManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}],"name":"setIsFunctionRestrictionEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinVotingDelay","type":"uint256"}],"name":"setMinVotingDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract INavigatorRegistry","name":"newNavigatorRegistry","type":"address"}],"name":"setNavigatorRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDepositThresholdCap","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"setProposalTypeDepositThresholdCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDepositThreshold","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"setProposalTypeDepositThresholdPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingThreshold","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"setProposalTypeVotingThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRelayerRewardsPool","name":"newRelayerRewardsPool","type":"address"}],"name":"setRelayerRewardsPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"},{"internalType":"uint256","name":"newGMWeight","type":"uint256"}],"name":"setRequiredGMLevelByProposalType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVeBetterPassport","name":"newVeBetterPassport","type":"address"}],"name":"setVeBetterPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVoterRewards","name":"newVoterRewards","type":"address"}],"name":"setVoterRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"functionSelector","type":"bytes4"},{"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"setWhitelistFunction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"},{"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"setWhitelistFunctions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"newXAllocationVoting","type":"address"}],"name":"setXAllocationVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum GovernorTypes.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"timelock","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"timelockSalt","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleQuadraticVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IVOT3","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"payee","type":"address"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"implementationDiscussion","type":"string"},{"internalType":"string[]","name":"contributors","type":"string[]"}],"name":"updateCommunityExecution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"updateQuorumNumerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"updateQuorumNumeratorByType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TimelockControllerUpgradeable","name":"newTimelock","type":"address"}],"name":"updateTimelock","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":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"votingThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositor","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"xAllocationVoting","outputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_52990":{"entryPoint":null,"id":52990,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":8730},{"length":20,"start":10859}]},"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol":{"GovernorCommunityExecutionLogic":[{"length":20,"start":5851},{"length":20,"start":7218},{"length":20,"start":9123},{"length":20,"start":9473},{"length":20,"start":9731},{"length":20,"start":9775},{"length":20,"start":10548},{"length":20,"start":13143},{"length":20,"start":14001}]},"contracts/governance/libraries/GovernorConfigurator.sol":{"GovernorConfigurator":[{"length":20,"start":6377},{"length":20,"start":6767},{"length":20,"start":8241},{"length":20,"start":8465},{"length":20,"start":10076},{"length":20,"start":10183},{"length":20,"start":11754},{"length":20,"start":11855},{"length":20,"start":11965},{"length":20,"start":12141},{"length":20,"start":12304},{"length":20,"start":12391},{"length":20,"start":12478},{"length":20,"start":13434},{"length":20,"start":13653},{"length":20,"start":14218}]},"contracts/governance/libraries/GovernorDepositLogic.sol":{"GovernorDepositLogic":[{"length":20,"start":5584},{"length":20,"start":9929},{"length":20,"start":11241},{"length":20,"start":13780}]},"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol":{"GovernorFunctionRestrictionsLogic":[{"length":20,"start":8907},{"length":20,"start":10703},{"length":20,"start":12798}]},"contracts/governance/libraries/GovernorProposalLogic.sol":{"GovernorProposalLogic":[{"length":20,"start":5694},{"length":20,"start":6994},{"length":20,"start":7414},{"length":20,"start":7562},{"length":20,"start":7701},{"length":20,"start":9221},{"length":20,"start":10293},{"length":20,"start":12206},{"length":20,"start":12857},{"length":20,"start":12937},{"length":20,"start":13244},{"length":20,"start":13538},{"length":20,"start":13850}]},"contracts/governance/libraries/GovernorQuorumLogic.sol":{"GovernorQuorumLogic":[{"length":20,"start":6037},{"length":20,"start":6519},{"length":20,"start":6811},{"length":20,"start":8371},{"length":20,"start":8988},{"length":20,"start":9672},{"length":20,"start":11287},{"length":20,"start":13347},{"length":20,"start":14294}]},"contracts/governance/libraries/GovernorStateLogic.sol":{"GovernorStateLogic":[{"length":20,"start":8530}]},"contracts/governance/libraries/GovernorVotesLogic.sol":{"GovernorVotesLogic":[{"length":20,"start":9386},{"length":20,"start":10241},{"length":20,"start":10404},{"length":20,"start":11004},{"length":20,"start":11128},{"length":20,"start":12536},{"length":20,"start":12596}]}},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615cc16200010460003960008181613c1b01528181613c440152613d8d0152615cc16000f3fe60806040526004361061055e5760003560e01c806250ea6f1461059a578062f714ce146105c5578063013b1088146105e557806301d6e78f1461061357806301ffc9a714610633578063026865cc1461066357806302a251a314610683578063038f9b651461069857806306f3f9e6146106b857806306fdde03146106d85780630dd8614c146106fa5780630eddee301461071a578063143489d01461073a578063150b7a021461075a578063160cbed7146107935780631caf3474146107b3578063229acb17146107d3578063248a9ca3146107f35780632656227d146108135780632a09c772146108265780632d63f693146108535780632f2ff15d1461087357806333970a9d146108935780633397d78d146108b357806336568abe146108d357806336d23a4c146108f35780633d1ac63e146109155780633d47fe94146109355780633e4f49e6146109555780633f4ba83a14610982578063406ced841461099757806343859632146109b75780634bf5d7e9146109d75780634c5ead08146109ec5780634e05524414610a0c5780634f1ef28614610a2c5780635273e74b14610a3f57806352d1902d14610a5f578063542d6db514610a74578063544ffc9c14610a945780635452a01b14610acf57806354fd4d5014610aef5780635584c4f914610b1a5780635678138814610b3c578063582a486a14610b5c5780635b16e25914610b715780635c573d4414610b9e5780635c975abb14610bbe57806360463d6814610bd357806360c4247f14610bf3578063656f3e4014610c135780636a1423d714610c335780636b6a070414610c535780636dd139be14610c735780636e8a182314610c93578063726da5fd14610ca857806374a55a5114610cc85780637a4cce6d14610ce85780637b3c71d314610d0857806381ab235314610d2857806381c0d6df14610d3d5780638456cb5914610d5257806388fb07a514610d675780638a69614e14610d875780638ced2a1114610da75780638d5a3f6714610dc75780638e828cb414610de757806391d1485414610e0757806391ddadf414610e27578063952f213314610e5357806397c3d33414610e755780639aeb962b14610e895780639c17e7b314610ea9578063a217fddf14610ebe578063a3844e1114610ed3578063a45aa31314610ee8578063a56b576514610f08578063a7713a7014610f28578063a832918c14610f3d578063a890c91014610f5d578063a9a9529414610f7d578063ab58fb8e14610f9d578063ad3cb1cc14610fbd578063ae0b8da814610fee578063b26a95091461100e578063b3c93dab1461102e578063b69d417b1461104e578063b6e9eff41461106e578063bc197c811461108e578063bd5aefea146110ae578063be9bd92b146110d0578063c01f9e37146110f0578063c0a6026c14611110578063c220f2f514611130578063c28bc2fa14611150578063c305f59a14611163578063c40ffbf614611183578063c429bd8214611198578063c59057e4146111b8578063cf09f8bf146111d8578063d33219b4146111ed578063d4a8dd9814611202578063d53c74c114611222578063d547741f14611242578063dd4e2ba514611262578063de65f41a14611277578063e09c8d4414611297578063e125f74e146112b7578063e205aeb0146112cc578063e2bbb158146112e1578063e4ec85d414611301578063e63ab1e914611321578063eab59fd214611343578063eb9019d414611363578063ede8bed014611383578063ee8a948b146113a3578063f03a98d5146113b8578063f23a6e61146113cd578063f530108f146113ed578063f744f1191461140d578063f8ce560a1461142d578063fc0c546a1461144d578063fd4fd6e11461146257600080fd5b36610595573061056c611484565b6001600160a01b03161461059357604051637485328f60e11b815260040160405180910390fd5b005b600080fd5b3480156105a657600080fd5b506105af6114a2565b6040516105bc919061457c565b60405180910390f35b3480156105d157600080fd5b506105936105e03660046145b5565b6114be565b3480156105f157600080fd5b50610605610600366004614814565b611529565b6040519081526020016105bc565b34801561061f57600080fd5b5061060561062e366004614909565b6115be565b34801561063f57600080fd5b5061065361064e36600461493a565b61163c565b60405190151581526020016105bc565b34801561066f57600080fd5b5061060561067e366004614964565b61168d565b34801561068f57600080fd5b5061060561172c565b3480156106a457600080fd5b506105936106b3366004614964565b6117b8565b3480156106c457600080fd5b506105936106d3366004614909565b611844565b3480156106e457600080fd5b506106ed611895565b6040516105bc91906149e0565b34801561070657600080fd5b506105936107153660046149f3565b611936565b34801561072657600080fd5b50610605610735366004614a10565b611993565b34801561074657600080fd5b506105af610755366004614909565b6119e7565b34801561076657600080fd5b5061077a610775366004614a2b565b6119f2565b6040516001600160e01b031990911681526020016105bc565b34801561079f57600080fd5b506106056107ae366004614a96565b611a35565b3480156107bf57600080fd5b506106056107ce366004614a10565b611ac8565b3480156107df57600080fd5b506106ed6107ee366004614909565b611b15565b3480156107ff57600080fd5b5061060561080e366004614909565b611b91565b610605610821366004614a96565b611bb1565b34801561083257600080fd5b50610846610841366004614909565b611c6d565b6040516105bc9190614b4f565b34801561085f57600080fd5b5061060561086e366004614909565b611cf8565b34801561087f57600080fd5b5061059361088e3660046145b5565b611d33565b34801561089f57600080fd5b506105936108ae366004614b5d565b611d55565b3480156108bf57600080fd5b506105936108ce366004614909565b611efe565b3480156108df57600080fd5b506105936108ee3660046145b5565b611f4f565b3480156108ff57600080fd5b50610605600080516020615b8483398151915281565b34801561092157600080fd5b50610593610930366004614964565b611f87565b34801561094157600080fd5b506105936109503660046149f3565b611fd9565b34801561096157600080fd5b50610975610970366004614909565b612035565b6040516105bc9190614b89565b34801561098e57600080fd5b506105936120c0565b3480156109a357600080fd5b506105936109b2366004614ba3565b6120e3565b3480156109c357600080fd5b506106536109d23660046145b5565b612106565b3480156109e357600080fd5b506106ed612112565b3480156109f857600080fd5b50610593610a07366004614bd8565b61218a565b348015610a1857600080fd5b50610605610a273660046145b5565b6121e9565b610593610a3a366004614bf5565b6121f5565b348015610a4b57600080fd5b50610605610a5a366004614964565b612214565b348015610a6b57600080fd5b50610605612243565b348015610a8057600080fd5b50610605610a8f366004614a10565b612260565b348015610aa057600080fd5b50610ab4610aaf366004614909565b61226b565b604080519384526020840192909252908201526060016105bc565b348015610adb57600080fd5b506105af610aea366004614909565b612286565b348015610afb57600080fd5b50604080518082019091526002815261313160f01b60208201526106ed565b348015610b2657600080fd5b50610b2f6122fd565b6040516105bc9190614c7f565b348015610b4857600080fd5b50610605610b57366004614ca1565b612370565b348015610b6857600080fd5b506105af6123c8565b348015610b7d57600080fd5b50610b91610b8c366004614909565b6123e4565b6040516105bc9190614cc6565b348015610baa57600080fd5b50610605610bb9366004614909565b61245f565b348015610bca57600080fd5b50610653612476565b348015610bdf57600080fd5b50610605610bee366004614909565b61248b565b348015610bff57600080fd5b50610605610c0e366004614909565b6124ab565b348015610c1f57600080fd5b506106ed610c2e366004614909565b6124e6565b348015610c3f57600080fd5b50610593610c4e366004614d70565b612521565b348015610c5f57600080fd5b50610605610c6e366004614a10565b6125c1565b348015610c7f57600080fd5b50610605610c8e366004614a10565b6125ef565b348015610c9f57600080fd5b506105af612614565b348015610cb457600080fd5b50610593610cc3366004614964565b612630565b348015610cd457600080fd5b50610653610ce3366004614e55565b612682565b348015610cf457600080fd5b50610593610d033660046149f3565b61268e565b348015610d1457600080fd5b50610605610d23366004614e81565b6126eb565b348015610d3457600080fd5b5061065361272d565b348015610d4957600080fd5b5061065361279c565b348015610d5e57600080fd5b506105936127e7565b348015610d7357600080fd5b50610605610d82366004614909565b612807565b348015610d9357600080fd5b50610593610da2366004614909565b612812565b348015610db357600080fd5b50610605610dc2366004614909565b612880565b348015610dd357600080fd5b50610653610de2366004614909565b61288b565b348015610df357600080fd5b50610593610e02366004614edc565b612896565b348015610e1357600080fd5b50610653610e223660046145b5565b61292d565b348015610e3357600080fd5b50610e3c612963565b60405165ffffffffffff90911681526020016105bc565b348015610e5f57600080fd5b50610605600080516020615c2483398151915281565b348015610e8157600080fd5b506064610605565b348015610e9557600080fd5b50610653610ea43660046149f3565b6129d2565b348015610eb557600080fd5b506105936129dd565b348015610eca57600080fd5b50610605600081565b348015610edf57600080fd5b506105af612a3a565b348015610ef457600080fd5b50610653610f03366004614909565b612a5b565b348015610f1457600080fd5b50610605610f23366004614b5d565b612ad3565b348015610f3457600080fd5b50610605612b0f565b348015610f4957600080fd5b50610593610f58366004614f98565b612b7e565b348015610f6957600080fd5b50610593610f783660046149f3565b612e41565b348015610f8957600080fd5b50610653610f98366004614909565b612e91565b348015610fa957600080fd5b50610605610fb8366004614909565b612ecc565b348015610fc957600080fd5b506106ed604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610ffa57600080fd5b506105936110093660046149f3565b612ed7565b34801561101a57600080fd5b50610593611029366004614909565b612f34565b34801561103a57600080fd5b506105936110493660046149f3565b612f85565b34801561105a57600080fd5b50610605611069366004614b5d565b612fe2565b34801561107a57600080fd5b506106056110893660046145b5565b61301e565b34801561109a57600080fd5b5061077a6110a9366004614fd9565b61305a565b3480156110ba57600080fd5b50610605600080516020615c0483398151915281565b3480156110dc57600080fd5b506105936110eb366004615086565b61309e565b3480156110fc57600080fd5b5061060561110b366004614909565b61311c565b34801561111c57600080fd5b5061059361112b366004614909565b613157565b34801561113c57600080fd5b5061060561114b366004614909565b6131a7565b61059361115e3660046150cf565b6131b2565b34801561116f57600080fd5b5061065361117e366004614909565b61323a565b34801561118f57600080fd5b50610605613275565b3480156111a457600080fd5b506105936111b3366004614909565b61328a565b3480156111c457600080fd5b506106056111d3366004614a96565b6132da565b3480156111e457600080fd5b506105af6132e8565b3480156111f957600080fd5b506105af611484565b34801561120e57600080fd5b5061065361121d366004614909565b613306565b34801561122e57600080fd5b5061059361123d3660046149f3565b613341565b34801561124e57600080fd5b5061059361125d3660046145b5565b61339e565b34801561126e57600080fd5b506106ed6133ba565b34801561128357600080fd5b50610605611292366004615112565b6133da565b3480156112a357600080fd5b506105936112b2366004614964565b613429565b3480156112c357600080fd5b506105af61347b565b3480156112d857600080fd5b506105af613497565b3480156112ed57600080fd5b506105936112fc3660046151ae565b6134b3565b34801561130d57600080fd5b5061060561131c366004614a10565b6134f2565b34801561132d57600080fd5b50610605600080516020615be483398151915281565b34801561134f57600080fd5b5061060561135e3660046151d0565b6134fd565b34801561136f57600080fd5b5061060561137e366004614b5d565b613597565b34801561138f57600080fd5b5061059361139e366004614d70565b6135a3565b3480156113af57600080fd5b506106056135e5565b3480156113c457600080fd5b506105af6135ef565b3480156113d957600080fd5b5061077a6113e8366004615297565b61360d565b3480156113f957600080fd5b506105936114083660046149f3565b613651565b34801561141957600080fd5b50610605611428366004614909565b6136ae565b34801561143957600080fd5b50610605611448366004614909565b6136b9565b34801561145957600080fd5b506105af6136f4565b34801561146e57600080fd5b50610605600080516020615c4483398151915281565b60008061148f613712565b600601546001600160a01b031692915050565b60006114ac613712565b601401546001600160a01b0316919050565b604051627b8a6760e11b815273__$1ecfab2f131b89284f3c8449e5b3f4ac2f$__9062f714ce906114f590859085906004016152ff565b60006040518083038186803b15801561150d57600080fd5b505af4158015611521573d6000803e3d6000fd5b505050505050565b6040516227621160e31b815260009073__$0f6271ecd36857987d374ff633d31cbc3c$__9063013b108890611570908c908c908c908c908c908c908c908c906004016153a4565b602060405180830381865af415801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190615434565b9998505050505050505050565b6040516301d6e78f60e01b81526004810182905260009073__$5c903bf0790ffcaff49f17b51ec8a22c01$__906301d6e78f906024015b602060405180830381865af4158015611612573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116369190615434565b92915050565b60006001600160e01b0319821663c964612f60e01b148061166d57506001600160e01b03198216630271189760e51b145b8061163657506001600160e01b031982166301ffc9a760e01b1492915050565b600073__$3907422bd7a9d6e8e002872d31c2e7a534$__63026865cc848460018111156116bc576116bc614b25565b6040516001600160e01b031960e085901b168152600481019290925260ff1660248201526044015b602060405180830381865af4158015611701573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117259190615434565b9392505050565b600080611737613712565b905080600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b29190615434565b91505090565b60006117c4813361292d565b6117d6576117d6335b60003630613736565b604051634cfc47c360e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90634cfc47c39061180f908590879060040161544d565b60006040518083038186803b15801561182757600080fd5b505af415801561183b573d6000803e3d6000fd5b50505050505050565b6000611850813361292d565b61185d5761185d336117cd565b604051630379fcf360e11b81526004810183905273__$3907422bd7a9d6e8e002872d31c2e7a534$__906306f3f9e6906024016114f5565b606060006118a1613712565b90508060000180546118b290615468565b80601f01602080910402602001604051908101604052809291908181526020018280546118de90615468565b801561192b5780601f106119005761010080835404028352916020019161192b565b820191906000526020600020905b81548152906001019060200180831161190e57829003601f168201915b505050505091505090565b600080516020615c2483398151915261194f813361292d565b61195c5761195c336117cd565b604051630e0bea3b60e21b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063382fa8ec906114f590859060040161457c565b600073__$3907422bd7a9d6e8e002872d31c2e7a534$__630eddee308360018111156119c1576119c1614b25565b6040516001600160e01b031960e084901b16815260ff90911660048201526024016115f5565b6000611636826137d4565b6000306119fd611484565b6001600160a01b031614611a2457604051637485328f60e11b815260040160405180910390fd5b50630a85bd0160e11b949350505050565b6000611a3f6137fd565b6040516301957cc760e01b815273__$0f6271ecd36857987d374ff633d31cbc3c$__906301957cc790611a7e90309089908990899089906004016154a2565b602060405180830381865af4158015611a9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abf9190615434565b95945050505050565b600080611ad3613712565b9050806017016000846001811115611aed57611aed614b25565b6001811115611afe57611afe614b25565b815260200190815260200160002054915050919050565b60405163229acb1760e01b81526004810182905260609073__$5c903bf0790ffcaff49f17b51ec8a22c01$__9063229acb17906024015b600060405180830381865af4158015611b69573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611636919081019061554c565b600080611b9c613825565b60009384526020525050604090206001015490565b6000611bbb6137fd565b600080516020615b84833981519152611bd581600061292d565b611be357611be38133613849565b60405163fcadd1f760e01b815273__$0f6271ecd36857987d374ff633d31cbc3c$__9063fcadd1f790611c229030908a908a908a908a906004016154a2565b602060405180830381865af4158015611c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c639190615434565b9695505050505050565b604051631504e3b960e11b81526004810182905260009073__$0f6271ecd36857987d374ff633d31cbc3c$__90632a09c77290602401602060405180830381865af4158015611cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce49190615580565b60ff16600181111561163657611636614b25565b604051632d63f69360e01b81526004810182905260009073__$0f6271ecd36857987d374ff633d31cbc3c$__90632d63f693906024016115f5565b611d3c82611b91565b611d4581613874565b611d4f838361387e565b50505050565b6000611d61813361292d565b611d6e57611d6e336117cd565b60096000611d7a61391f565b8054909150600160401b900460ff1680611da1575080546001600160401b03808416911610155b15611dbf5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038516611e395760405162461bcd60e51b815260206004820152601e60248201527f42335452476f7665726e6f723a20696e76616c6964207472656173757279000060448201526064015b60405180910390fd5b60008411611e985760405162461bcd60e51b815260206004820152602660248201527f42335452476f7665726e6f723a20696e76616c6964206d617820636f6e7472696044820152656275746f727360d01b6064820152608401611e30565b6000611ea2613712565b6023810180546001600160a01b0319166001600160a01b03891617905560240185905550805460ff60401b19168155604051600080516020615ba483398151915290611eef90849061559d565b60405180910390a15050505050565b6000611f0a813361292d565b611f1757611f17336117cd565b604051633397d78d60e01b81526004810183905273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90633397d78d906024016114f5565b6001600160a01b0381163314611f785760405163334bd91960e11b815260040160405180910390fd5b611f828282613943565b505050565b6000611f93813361292d565b611fa057611fa0336117cd565b60405163334b055760e21b815273__$3907422bd7a9d6e8e002872d31c2e7a534$__9063cd2c155c9061180f90869086906004016155b1565b600080516020615c24833981519152611ff2813361292d565b611fff57611fff336117cd565b6040516241c19d60e91b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__906383833a00906114f590859060040161457c565b604051631f27a4f360e11b81526004810182905260009073__$7756226fbd9b31469951eb130a9d82c56c$__90633e4f49e690602401602060405180830381865af4158015612088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ac9190615580565b60ff16600981111561163657611636614b25565b600080516020615be48339815191526120d881613874565b6120e06139bb565b50565b60006120ef813361292d565b6120fc576120fc336117cd565b611f828383613a12565b60006117258383613b9d565b606073__$3618b725599b71188fd71e0b940aaf7176$__634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865af415801561215d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612185919081019061554c565b905090565b600080516020615c048339815191526121a3813361292d565b6121b0576121b0336117cd565b60405163098bd5a160e31b8152821515600482015273__$89592c2ad43e2fc865373e86e1b840d06b$__90634c5ead08906024016114f5565b60006117258383613bda565b6121fd613c10565b61220682613cb5565b6122108282613cce565b5050565b600073__$3907422bd7a9d6e8e002872d31c2e7a534$__635273e74b848460018111156116bc576116bc614b25565b600061224d613d82565b50600080516020615bc483398151915290565b600061163682613dcb565b600080600061227984613e15565b9250925092509193909250565b604051635452a01b60e01b81526004810182905260009073__$5c903bf0790ffcaff49f17b51ec8a22c01$__90635452a01b90602401602060405180830381865af41580156122d9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163691906155c5565b606073__$0f6271ecd36857987d374ff633d31cbc3c$__635584c4f96040518163ffffffff1660e01b8152600401600060405180830381865af4158015612348573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261218591908101906155e2565b604051630dd063f960e41b81526004810183905233602482015260ff82166044820152608060648201526000608482018190529073__$ffb54439c7ca59a73697a8d71df14608d7$__9063dd063f909060a4016116e4565b60006123d2613712565b600b01546001600160a01b0316919050565b604051635b16e25960e01b81526004810182905260609073__$5c903bf0790ffcaff49f17b51ec8a22c01$__90635b16e25990602401600060405180830381865af4158015612437573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116369190810190615672565b60006001600160601b03193060601b168218611636565b600080612481613e4b565b5460ff1692915050565b600080612496613712565b60009384526011016020525050604090205490565b6040516360c4247f60e01b81526004810182905260009073__$3907422bd7a9d6e8e002872d31c2e7a534$__906360c4247f906024016115f5565b604051630195bcf960e61b81526004810182905260609073__$5c903bf0790ffcaff49f17b51ec8a22c01$__9063656f3e4090602401611b4c565b6125296137fd565b73__$5c903bf0790ffcaff49f17b51ec8a22c01$__630a9c9f198989898989898989612563600080516020615c448339815191523361292d565b6040518a63ffffffff1660e01b81526004016125879998979695949392919061574b565b60006040518083038186803b15801561259f57600080fd5b505af41580156125b3573d6000803e3d6000fd5b505050505050505050505050565b600073__$1ecfab2f131b89284f3c8449e5b3f4ac2f$__636b6a07048360018111156119c1576119c1614b25565b6000806125fa613712565b905080601c016000846001811115611aed57611aed614b25565b600061261e613712565b602001546001600160a01b0316919050565b600061263c813361292d565b61264957612649336117cd565b6040516314060bef60e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__906314060bef9061180f908590879060040161544d565b60006117258383613e6f565b600080516020615c248339815191526126a7813361292d565b6126b4576126b4336117cd565b60405163358e7d9760e21b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063d639f65c906114f590859060040161457c565b604051630dd063f960e41b815260009073__$ffb54439c7ca59a73697a8d71df14608d7$__9063dd063f9090611a7e9088903390899089908990600401615836565b600073__$0f6271ecd36857987d374ff633d31cbc3c$__6381ab23536040518163ffffffff1660e01b8152600401602060405180830381865af4158015612778573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612185919061586a565b600073__$ffb54439c7ca59a73697a8d71df14608d7$__6381c0d6df6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612778573d6000803e3d6000fd5b600080516020615be48339815191526127ff81613874565b6120e0613eb7565b600061163682613efe565b61281a6137fd565b604051634534b0a760e11b81526004810182905273__$5c903bf0790ffcaff49f17b51ec8a22c01$__90638a69614e9060240160006040518083038186803b15801561286557600080fd5b505af4158015612879573d6000803e3d6000fd5b5050505050565b600061163682613f21565b600061163682613f48565b600080516020615c048339815191526128af813361292d565b6128bc576128bc336117cd565b6040516323a0a32d60e21b815273__$89592c2ad43e2fc865373e86e1b840d06b$__90638e828cb4906128f790879087908790600401615887565b60006040518083038186803b15801561290f57600080fd5b505af4158015612923573d6000803e3d6000fd5b5050505050505050565b600080612938613825565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156129ae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218591906158f2565b600061163682613f74565b60006129e9813361292d565b6129f6576129f6336117cd565b73__$ffb54439c7ca59a73697a8d71df14608d7$__639c17e7b36040518163ffffffff1660e01b815260040160006040518083038186803b15801561286557600080fd5b6000612a44613712565b6009015461010090046001600160a01b0316919050565b60405163a45aa31360e01b81526004810182905260009073__$ffb54439c7ca59a73697a8d71df14608d7$__9063a45aa313906024015b602060405180830381865af4158015612aaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611636919061586a565b60405163a56b576560e01b815260009073__$1ecfab2f131b89284f3c8449e5b3f4ac2f$__9063a56b5765906116e4908690869060040161591a565b600073__$3907422bd7a9d6e8e002872d31c2e7a534$__63a7713a706040518163ffffffff1660e01b8152600401602060405180830381865af4158015612b5a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121859190615434565b6000612b8a813361292d565b612b9757612b97336117cd565b60086000612ba361391f565b8054909150600160401b900460ff1680612bca575080546001600160401b03808416911610155b15612be85760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038616612c6e5760405162461bcd60e51b815260206004820152602860248201527f42335452476f7665726e6f723a20696e76616c6964206e6176696761746f7220604482015267726567697374727960c01b6064820152608401611e30565b6001600160a01b038516612cd75760405162461bcd60e51b815260206004820152602a60248201527f42335452476f7665726e6f723a20696e76616c69642072656c617965722072656044820152691dd85c991cc81c1bdbdb60b21b6064820152608401611e30565b60405163ce396b1f60e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063ce396b1f90612d0e90899060040161457c565b60006040518083038186803b158015612d2657600080fd5b505af4158015612d3a573d6000803e3d6000fd5b5050604051630e0bea3b60e21b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__925063382fa8ec9150612d7590889060040161457c565b60006040518083038186803b158015612d8d57600080fd5b505af4158015612da1573d6000803e3d6000fd5b5050604051633397d78d60e01b81526004810187905273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9250633397d78d915060240160006040518083038186803b158015612df057600080fd5b505af4158015612e04573d6000803e3d6000fd5b5050825460ff60401b191683555050604051600080516020615ba483398151915290612e3190849061559d565b60405180910390a1505050505050565b6000612e4d813361292d565b612e5a57612e5a336117cd565b604051632cae129d60e21b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063b2b84a74906114f590859060040161457c565b604051632a6a54a560e21b81526004810182905260009073__$0f6271ecd36857987d374ff633d31cbc3c$__9063a9a9529490602401612a92565b600061163682613fa4565b600080516020615c24833981519152612ef0813361292d565b612efd57612efd336117cd565b6040516327a4ecdd60e11b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90634f49d9ba906114f590859060040161457c565b6000612f40813361292d565b612f4d57612f4d336117cd565b60405163b26a950960e01b81526004810183905273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063b26a9509906024016114f5565b600080516020615c24833981519152612f9e813361292d565b612fab57612fab336117cd565b604051634784a11360e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90634784a113906114f590859060040161457c565b60405163b69d417b60e01b815260009073__$ffb54439c7ca59a73697a8d71df14608d7$__9063b69d417b906116e4908690869060040161591a565b604051632dba7bfd60e21b815260009073__$ffb54439c7ca59a73697a8d71df14608d7$__9063b6e9eff4906116e490869086906004016152ff565b600030613065611484565b6001600160a01b03161461308c57604051637485328f60e11b815260040160405180910390fd5b5063bc197c8160e01b95945050505050565b600080516020615c048339815191526130b7813361292d565b6130c4576130c4336117cd565b60405163be9bd92b60e01b81526001600160a01b03851660048201526001600160e01b031984166024820152821515604482015273__$89592c2ad43e2fc865373e86e1b840d06b$__9063be9bd92b906064016128f7565b60405163c01f9e3760e01b81526004810182905260009073__$0f6271ecd36857987d374ff633d31cbc3c$__9063c01f9e37906024016115f5565b600080516020615c4483398151915261316f81613874565b604051633029809b60e21b81526004810183905273__$0f6271ecd36857987d374ff633d31cbc3c$__9063c0a6026c906024016114f5565b600061163682613fd6565b60006131be813361292d565b6131cb576131cb336117cd565b600080866001600160a01b03168686866040516131e9929190615933565b60006040518083038185875af1925050503d8060008114613226576040519150601f19603f3d011682016040523d82523d6000602084013e61322b565b606091505b50915091506129238282613ff9565b604051636182facd60e11b81526004810182905260009073__$5c903bf0790ffcaff49f17b51ec8a22c01$__9063c305f59a90602401612a92565b600080613280613712565b6004015492915050565b600080516020615c448339815191526132a281613874565b604051636214dec160e11b81526004810183905273__$0f6271ecd36857987d374ff633d31cbc3c$__9063c429bd82906024016114f5565b6000611abf85858585614015565b6000806132f3613712565b601a01546001600160a01b031692915050565b604051639079991f60e01b81526004810182905260009073__$3907422bd7a9d6e8e002872d31c2e7a534$__90639079991f90602401612a92565b600080516020615c2483398151915261335a813361292d565b61336757613367336117cd565b60405163697772a560e11b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063d2eee54a906114f590859060040161457c565b6133a782611b91565b6133b081613874565b611d4f8383613943565b6060604051806060016040528060288152602001615c6460289139905090565b600073__$0f6271ecd36857987d374ff633d31cbc3c$__63badecd763361340260003361292d565b89898989896040518863ffffffff1660e01b8152600401611c229796959493929190615943565b6000613435813361292d565b61344257613442336117cd565b6040516335ac44dd60e11b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90636b5889ba9061180f908590879060040161544d565b6000613485613712565b601f01546001600160a01b0316919050565b60006134a1613712565b600a01546001600160a01b0316919050565b604051631c57762b60e31b8152600481018390526024810182905273__$1ecfab2f131b89284f3c8449e5b3f4ac2f$__9063e2bbb158906044016114f5565b60006116368261404f565b60006135076137fd565b60405163755acfe960e11b815273__$0f6271ecd36857987d374ff633d31cbc3c$__9063eab59fd29061354a908b908b908b908b908b908b908b906004016159af565b602060405180830381865af4158015613567573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061358b9190615434565b98975050505050505050565b60006117258383614099565b6135ab6137fd565b73__$5c903bf0790ffcaff49f17b51ec8a22c01$__6316a19ad68989898989898989612563600080516020615c448339815191523361292d565b60006121856142be565b6000806135fa613712565b601b01546001600160a01b031692915050565b600030613618611484565b6001600160a01b03161461363f57604051637485328f60e11b815260040160405180910390fd5b5063f23a6e6160e01b95945050505050565b600080516020615c2483398151915261366a813361292d565b61367757613677336117cd565b60405163ce396b1f60e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063ce396b1f906114f590859060040161457c565b6000611636826142d1565b604051637c672b0560e11b81526004810182905260009073__$3907422bd7a9d6e8e002872d31c2e7a534$__9063f8ce560a906024016115f5565b6000806136ff613712565b600c01546001600160a01b031692915050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b6000613740613712565b9050846001600160a01b0316613754611484565b6001600160a01b03161461377d57846040516347096e4760e01b8152600401611e30919061457c565b816001600160a01b031661378f611484565b6001600160a01b03161461287957600084846040516137af929190615933565b604051809103902090505b806137c7836002016142f1565b036137ba57505050505050565b6000806137df613712565b6000938452600101602052505060409020546001600160a01b031690565b613805612476565b156138235760405163d93c066560e01b815260040160405180910390fd5b565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b613853828261292d565b61221057808260405163e2517d3f60e01b8152600401611e3092919061591a565b6120e08133613849565b600080613889613825565b9050613895848461292d565b613915576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556138cb3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050611636565b6000915050611636565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b60008061394e613825565b905061395a848461292d565b15613915576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050611636565b6139c3614366565b60006139cd613e4b565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051613a07919061457c565b60405180910390a150565b6000613a1c613712565b9050600081601b0160009054906101000a90046001600160a01b03166001600160a01b031663a49062d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a999190615434565b9050600082601c016000866001811115613ab557613ab5614b25565b6001811115613ac657613ac6614b25565b8152602001908152602001600020549050613ae08561438b565b613afc5760405162461bcd60e51b8152600401611e3090615a1c565b81841115613b2057604051637780647f60e11b815260048101859052602401611e30565b7fb1b75318956f66fa2b8b148bc3b2520c6e22133a50ac6069d38f97ed462b487a858286604051613b5393929190615a67565b60405180910390a18383601c016000876001811115613b7457613b74614b25565b6001811115613b8557613b85614b25565b81526020810191909152604001600020555050505050565b600080613ba8613712565b6000948552600f01602090815260408086206001600160a01b0395909516865260039094019052505090205460ff1690565b600080613be5613712565b6000948552600d01602090815260408086206001600160a01b03959095168652939052505090205490565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480613c9757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316613c8b600080516020615bc4833981519152546001600160a01b031690565b6001600160a01b031614155b156138235760405163703e46dd60e11b815260040160405180910390fd5b6000613cc1813361292d565b61221057612210336117cd565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613d28575060408051601f3d908101601f19168201909252613d2591810190615434565b60015b613d475781604051634c9c8ce360e01b8152600401611e30919061457c565b600080516020615bc48339815191528114613d7857604051632a87526960e21b815260048101829052602401611e30565b611f8283836143c2565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146138235760405163703e46dd60e11b815260040160405180910390fd5b600080613dd6613712565b9050613de18361438b565b613dfd5760405162461bcd60e51b8152600401611e3090615a1c565b806016016000846001811115611aed57611aed614b25565b600080600080613e23613712565b6000958652600f01602052505060409092208054600182015460029092015490949193509150565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b600080613e7a613712565b6001600160a01b03851660009081526008909101602090815260408083206001600160e01b03198716845290915290205460ff1691505092915050565b613ebf6137fd565b6000613ec9613e4b565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586139fa3390565b600080613f09613712565b60009384526001016020525050604090206004015490565b600080613f2c613712565b6000938452600190810160205260409093209092015492915050565b600080613f53613712565b60009384526001016020525050604090206004810154600390910154101590565b600080613f7f613712565b6001600160a01b03909316600090815260109093016020525050604090205460ff1690565b600080613faf613712565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080613fe1613712565b60009384526001016020525050604090206003015490565b60608261400e5761400982614418565b611636565b5080611636565b60008484848460405160200161402e9493929190615a86565b60408051601f19818403018152919052805160209091012095945050505050565b60008061405a613712565b90506140658361438b565b6140815760405162461bcd60e51b8152600401611e3090615a1c565b806019016000846001811115611aed57611aed614b25565b6000806140a4613712565b600c810154604051630748d63560e31b81529192506000916001600160a01b0390911690633a46b1a8906140de908890889060040161591a565b602060405180830381865afa1580156140fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061411f9190615434565b601f8301549091506001600160a01b031661413d5791506116369050565b601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990614172908990899060040161591a565b602060405180830381865afa15801561418f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b391906155c5565b6001600160a01b03161461423f57601f82015460405163c61c06e760e01b81526001600160a01b039091169063c61c06e7906141f5908890889060040161591a565b602060405180830381865afa158015614212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142369190615434565b92505050611636565b601f82015460405163094f6f2960e21b81526001600160a01b039091169063253dbca490614273908890889060040161591a565b602060405180830381865afa158015614290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142b49190615434565b611abf9082615b46565b60006142c8613712565b60220154905090565b6000806142dc613712565b60009384526007016020525050604090205490565b80546000906001600160801b0380821691600160801b9004168103614329576040516375e52f4f60e01b815260040160405180910390fd5b6001600160801b038181166000908152600185810160205260408220805492905585546001600160801b0319169301909116919091179092555090565b61436e612476565b61382357604051638dfc202b60e01b815260040160405180910390fd5b6000808260018111156143a0576143a0614b25565b1480611636575060018260018111156143bb576143bb614b25565b1492915050565b6143cb82614441565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561441057611f82828261449d565b61221061450a565b8051156144285780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b806001600160a01b03163b60000361446e5780604051634c9c8ce360e01b8152600401611e30919061457c565b600080516020615bc483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516144ba9190615b67565b600060405180830381855af49150503d80600081146144f5576040519150601f19603f3d011682016040523d82523d6000602084013e6144fa565b606091505b5091509150611abf858383614529565b34156138235760405163b398979f60e01b815260040160405180910390fd5b60608261453e5761453982614418565b611725565b815115801561455557506001600160a01b0384163b155b156145755783604051639996b31560e01b8152600401611e30919061457c565b5092915050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146120e057600080fd5b80356145b081614590565b919050565b600080604083850312156145c857600080fd5b8235915060208301356145da81614590565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614623576146236145e5565b604052919050565b60006001600160401b03821115614644576146446145e5565b5060051b60200190565b600082601f83011261465f57600080fd5b8135602061467461466f8361462b565b6145fb565b82815260059290921b8401810191818101908684111561469357600080fd5b8286015b848110156146b75780356146aa81614590565b8352918301918301614697565b509695505050505050565b600082601f8301126146d357600080fd5b813560206146e361466f8361462b565b82815260059290921b8401810191818101908684111561470257600080fd5b8286015b848110156146b75780358352918301918301614706565b60006001600160401b03821115614736576147366145e5565b50601f01601f191660200190565b600082601f83011261475557600080fd5b813561476361466f8261471d565b81815284602083860101111561477857600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126147a657600080fd5b813560206147b661466f8361462b565b82815260059290921b840181019181810190868411156147d557600080fd5b8286015b848110156146b75780356001600160401b038111156147f85760008081fd5b6148068986838b0101614744565b8452509183019183016147d9565b600080600080600080600080610100898b03121561483157600080fd5b88356001600160401b038082111561484857600080fd5b6148548c838d0161464e565b995060208b013591508082111561486a57600080fd5b6148768c838d016146c2565b985060408b013591508082111561488c57600080fd5b6148988c838d01614795565b975060608b01359150808211156148ae57600080fd5b6148ba8c838d01614744565b965060808b0135955060a08b013594506148d660c08c016145a5565b935060e08b01359150808211156148ec57600080fd5b506148f98b828c01614744565b9150509295985092959890939650565b60006020828403121561491b57600080fd5b5035919050565b80356001600160e01b0319811681146145b057600080fd5b60006020828403121561494c57600080fd5b61172582614922565b8035600281106145b057600080fd5b6000806040838503121561497757600080fd5b8235915061498760208401614955565b90509250929050565b60005b838110156149ab578181015183820152602001614993565b50506000910152565b600081518084526149cc816020860160208601614990565b601f01601f19169290920160200192915050565b60208152600061172560208301846149b4565b600060208284031215614a0557600080fd5b813561172581614590565b600060208284031215614a2257600080fd5b61172582614955565b60008060008060808587031215614a4157600080fd5b8435614a4c81614590565b93506020850135614a5c81614590565b92506040850135915060608501356001600160401b03811115614a7e57600080fd5b614a8a87828801614744565b91505092959194509250565b60008060008060808587031215614aac57600080fd5b84356001600160401b0380821115614ac357600080fd5b614acf8883890161464e565b95506020870135915080821115614ae557600080fd5b614af1888389016146c2565b94506040870135915080821115614b0757600080fd5b50614b1487828801614795565b949793965093946060013593505050565b634e487b7160e01b600052602160045260246000fd5b60028110614b4b57614b4b614b25565b9052565b602081016116368284614b3b565b60008060408385031215614b7057600080fd5b8235614b7b81614590565b946020939093013593505050565b60208101600a8310614b9d57614b9d614b25565b91905290565b60008060408385031215614bb657600080fd5b614b7b83614955565b80151581146120e057600080fd5b80356145b081614bbf565b600060208284031215614bea57600080fd5b813561172581614bbf565b60008060408385031215614c0857600080fd5b8235614c1381614590565b915060208301356001600160401b03811115614c2e57600080fd5b614c3a85828601614744565b9150509250929050565b600081518084526020808501945080840160005b83811015614c7457815187529582019590820190600101614c58565b509495945050505050565b6020815260006117256020830184614c44565b60ff811681146120e057600080fd5b60008060408385031215614cb457600080fd5b8235915060208301356145da81614c92565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614d1b57603f19888603018452614d098583516149b4565b94509285019290850190600101614ced565b5092979650505050505050565b60008083601f840112614d3a57600080fd5b5081356001600160401b03811115614d5157600080fd5b602083019150836020828501011115614d6957600080fd5b9250929050565b60008060008060008060008060a0898b031215614d8c57600080fd5b883597506020890135614d9e81614590565b965060408901356001600160401b0380821115614dba57600080fd5b614dc68c838d01614d28565b909850965060608b0135915080821115614ddf57600080fd5b614deb8c838d01614d28565b909650945060808b0135915080821115614e0457600080fd5b818b0191508b601f830112614e1857600080fd5b813581811115614e2757600080fd5b8c60208260051b8501011115614e3c57600080fd5b6020830194508093505050509295985092959890939650565b60008060408385031215614e6857600080fd5b8235614e7381614590565b915061498760208401614922565b60008060008060608587031215614e9757600080fd5b843593506020850135614ea981614c92565b925060408501356001600160401b03811115614ec457600080fd5b614ed087828801614d28565b95989497509550505050565b600080600060608486031215614ef157600080fd5b8335614efc81614590565b92506020848101356001600160401b03811115614f1857600080fd5b8501601f81018713614f2957600080fd5b8035614f3761466f8261462b565b81815260059190911b82018301908381019089831115614f5657600080fd5b928401925b82841015614f7b57614f6c84614922565b82529284019290840190614f5b565b8096505050505050614f8f60408501614bcd565b90509250925092565b600080600060608486031215614fad57600080fd5b8335614fb881614590565b92506020840135614fc881614590565b929592945050506040919091013590565b600080600080600060a08688031215614ff157600080fd5b8535614ffc81614590565b9450602086013561500c81614590565b935060408601356001600160401b038082111561502857600080fd5b61503489838a016146c2565b9450606088013591508082111561504a57600080fd5b61505689838a016146c2565b9350608088013591508082111561506c57600080fd5b5061507988828901614744565b9150509295509295909350565b60008060006060848603121561509b57600080fd5b83356150a681614590565b92506150b460208501614922565b915060408401356150c481614bbf565b809150509250925092565b600080600080606085870312156150e557600080fd5b84356150f081614590565b93506020850135925060408501356001600160401b03811115614ec457600080fd5b600080600080600060a0868803121561512a57600080fd5b85356001600160401b038082111561514157600080fd5b61514d89838a0161464e565b9650602088013591508082111561516357600080fd5b61516f89838a016146c2565b9550604088013591508082111561518557600080fd5b61519189838a01614795565b945060608801359350608088013591508082111561506c57600080fd5b600080604083850312156151c157600080fd5b50508035926020909101359150565b600080600080600080600060e0888a0312156151eb57600080fd5b87356001600160401b038082111561520257600080fd5b61520e8b838c0161464e565b985060208a013591508082111561522457600080fd5b6152308b838c016146c2565b975060408a013591508082111561524657600080fd5b6152528b838c01614795565b965060608a013591508082111561526857600080fd5b506152758a828b01614744565b979a969950949760808101359660a0820135965060c090910135945092505050565b600080600080600060a086880312156152af57600080fd5b85356152ba81614590565b945060208601356152ca81614590565b9350604086013592506060860135915060808601356001600160401b038111156152f357600080fd5b61507988828901614744565b9182526001600160a01b0316602082015260400190565b600081518084526020808501945080840160005b83811015614c745781516001600160a01b03168752958201959082019060010161532a565b600081518084526020808501808196508360051b8101915082860160005b858110156153975782840389526153858483516149b4565b9885019893509084019060010161536d565b5091979650505050505050565b60006101008083526153b88184018c615316565b905082810360208401526153cc818b614c44565b905082810360408401526153e0818a61534f565b905082810360608401526153f481896149b4565b6080840188905260a084018790526001600160a01b03861660c085015283810360e0850152905061542581856149b4565b9b9a5050505050505050505050565b60006020828403121561544657600080fd5b5051919050565b6040810161545b8285614b3b565b8260208301529392505050565b600181811c9082168061547c57607f821691505b60208210810361549c57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038616815260a0602082018190526000906154c690830187615316565b82810360408401526154d88187614c44565b905082810360608401526154ec818661534f565b9150508260808301529695505050505050565b600082601f83011261551057600080fd5b815161551e61466f8261471d565b81815284602083860101111561553357600080fd5b615544826020830160208701614990565b949350505050565b60006020828403121561555e57600080fd5b81516001600160401b0381111561557457600080fd5b615544848285016154ff565b60006020828403121561559257600080fd5b815161172581614c92565b6001600160401b0391909116815260200190565b828152604081016117256020830184614b3b565b6000602082840312156155d757600080fd5b815161172581614590565b600060208083850312156155f557600080fd5b82516001600160401b0381111561560b57600080fd5b8301601f8101851361561c57600080fd5b805161562a61466f8261462b565b81815260059190911b8201830190838101908783111561564957600080fd5b928401925b828410156156675783518252928401929084019061564e565b979650505050505050565b6000602080838503121561568557600080fd5b82516001600160401b038082111561569c57600080fd5b818501915085601f8301126156b057600080fd5b81516156be61466f8261462b565b81815260059190911b830184019084810190888311156156dd57600080fd5b8585015b83811015615715578051858111156156f95760008081fd5b6157078b89838a01016154ff565b8452509186019186016156e1565b5098975050505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8981526000602060018060a01b038b168184015260c0604084015261577460c084018a8c615722565b838103606085015261578781898b615722565b84810360808601528681529050818101600587901b820183018860005b8981101561581357848303601f190184528135368c9003601e190181126157ca57600080fd5b8b0186810190356001600160401b038111156157e557600080fd5b8036038213156157f457600080fd5b6157ff858284615722565b9588019594505050908501906001016157a4565b505086151560a0870152935061582892505050565b9a9950505050505050505050565b8581526001600160a01b038516602082015260ff841660408201526080606082018190526000906156679083018486615722565b60006020828403121561587c57600080fd5b815161172581614bbf565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b818110156158da5784516001600160e01b031916835293830193918301916001016158b4565b50508093505050508215156040830152949350505050565b60006020828403121561590457600080fd5b815165ffffffffffff8116811461172557600080fd5b6001600160a01b03929092168252602082015260400190565b8183823760009101908152919050565b6001600160a01b0388168152861515602082015260e06040820181905260009061596f90830188615316565b82810360608401526159818188614c44565b90508281036080840152615995818761534f565b90508460a084015282810360c084015261582881856149b4565b60e0815260006159c260e083018a615316565b82810360208401526159d4818a614c44565b905082810360408401526159e8818961534f565b905082810360608401526159fc81886149b4565b6080840196909652505060a081019290925260c090910152949350505050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b60608101615a758286614b3b565b602082019390935260400152919050565b6080808252855190820181905260009060209060a0840190828901845b82811015615ac85781516001600160a01b031684529284019290840190600101615aa3565b50505083810382850152615adc8188614c44565b905083810360408501528086518083528383019150838160051b84010184890160005b83811015615b2d57601f19868403018552615b1b8383516149b4565b94870194925090860190600101615aff565b5050809550505050505082606083015295945050505050565b8082018082111561163657634e487b7160e01b600052601160045260246000fd5b60008251615b79818460208701614990565b919091019291505056fe6575630003027b0b2fc4a48bc39dbc3eba9cf56588c696a6f5717e167a0ce731c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a87e72189a3ea069796dab5c7d3826581f957cb5c882c1e6dae7acacec49ca48e56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7320cc91c16c42272679cab4152f867e0cd4a98f53556da2d53b4e515be8c7796737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e2c616761696e7374a264697066735822122002ac80797a0444e5830333c0f129f002edd21a0724bc35dc91d5b139cdd83ea264736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x5CC1 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x3C1B ADD MSTORE DUP2 DUP2 PUSH2 0x3C44 ADD MSTORE PUSH2 0x3D8D ADD MSTORE PUSH2 0x5CC1 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x50EA6F EQ PUSH2 0x59A JUMPI DUP1 PUSH3 0xF714CE EQ PUSH2 0x5C5 JUMPI DUP1 PUSH4 0x13B1088 EQ PUSH2 0x5E5 JUMPI DUP1 PUSH4 0x1D6E78F EQ PUSH2 0x613 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x633 JUMPI DUP1 PUSH4 0x26865CC EQ PUSH2 0x663 JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x683 JUMPI DUP1 PUSH4 0x38F9B65 EQ PUSH2 0x698 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x6B8 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x6D8 JUMPI DUP1 PUSH4 0xDD8614C EQ PUSH2 0x6FA JUMPI DUP1 PUSH4 0xEDDEE30 EQ PUSH2 0x71A JUMPI DUP1 PUSH4 0x143489D0 EQ PUSH2 0x73A JUMPI DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x75A JUMPI DUP1 PUSH4 0x160CBED7 EQ PUSH2 0x793 JUMPI DUP1 PUSH4 0x1CAF3474 EQ PUSH2 0x7B3 JUMPI DUP1 PUSH4 0x229ACB17 EQ PUSH2 0x7D3 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x7F3 JUMPI DUP1 PUSH4 0x2656227D EQ PUSH2 0x813 JUMPI DUP1 PUSH4 0x2A09C772 EQ PUSH2 0x826 JUMPI DUP1 PUSH4 0x2D63F693 EQ PUSH2 0x853 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x873 JUMPI DUP1 PUSH4 0x33970A9D EQ PUSH2 0x893 JUMPI DUP1 PUSH4 0x3397D78D EQ PUSH2 0x8B3 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x8D3 JUMPI DUP1 PUSH4 0x36D23A4C EQ PUSH2 0x8F3 JUMPI DUP1 PUSH4 0x3D1AC63E EQ PUSH2 0x915 JUMPI DUP1 PUSH4 0x3D47FE94 EQ PUSH2 0x935 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x955 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x982 JUMPI DUP1 PUSH4 0x406CED84 EQ PUSH2 0x997 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x9B7 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x9D7 JUMPI DUP1 PUSH4 0x4C5EAD08 EQ PUSH2 0x9EC JUMPI DUP1 PUSH4 0x4E055244 EQ PUSH2 0xA0C JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0xA2C JUMPI DUP1 PUSH4 0x5273E74B EQ PUSH2 0xA3F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0xA5F JUMPI DUP1 PUSH4 0x542D6DB5 EQ PUSH2 0xA74 JUMPI DUP1 PUSH4 0x544FFC9C EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x5452A01B EQ PUSH2 0xACF JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xAEF JUMPI DUP1 PUSH4 0x5584C4F9 EQ PUSH2 0xB1A JUMPI DUP1 PUSH4 0x56781388 EQ PUSH2 0xB3C JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0xB5C JUMPI DUP1 PUSH4 0x5B16E259 EQ PUSH2 0xB71 JUMPI DUP1 PUSH4 0x5C573D44 EQ PUSH2 0xB9E JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0xBBE JUMPI DUP1 PUSH4 0x60463D68 EQ PUSH2 0xBD3 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0xBF3 JUMPI DUP1 PUSH4 0x656F3E40 EQ PUSH2 0xC13 JUMPI DUP1 PUSH4 0x6A1423D7 EQ PUSH2 0xC33 JUMPI DUP1 PUSH4 0x6B6A0704 EQ PUSH2 0xC53 JUMPI DUP1 PUSH4 0x6DD139BE EQ PUSH2 0xC73 JUMPI DUP1 PUSH4 0x6E8A1823 EQ PUSH2 0xC93 JUMPI DUP1 PUSH4 0x726DA5FD EQ PUSH2 0xCA8 JUMPI DUP1 PUSH4 0x74A55A51 EQ PUSH2 0xCC8 JUMPI DUP1 PUSH4 0x7A4CCE6D EQ PUSH2 0xCE8 JUMPI DUP1 PUSH4 0x7B3C71D3 EQ PUSH2 0xD08 JUMPI DUP1 PUSH4 0x81AB2353 EQ PUSH2 0xD28 JUMPI DUP1 PUSH4 0x81C0D6DF EQ PUSH2 0xD3D JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0xD52 JUMPI DUP1 PUSH4 0x88FB07A5 EQ PUSH2 0xD67 JUMPI DUP1 PUSH4 0x8A69614E EQ PUSH2 0xD87 JUMPI DUP1 PUSH4 0x8CED2A11 EQ PUSH2 0xDA7 JUMPI DUP1 PUSH4 0x8D5A3F67 EQ PUSH2 0xDC7 JUMPI DUP1 PUSH4 0x8E828CB4 EQ PUSH2 0xDE7 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xE07 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xE27 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xE53 JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xE75 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xE89 JUMPI DUP1 PUSH4 0x9C17E7B3 EQ PUSH2 0xEA9 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xEBE JUMPI DUP1 PUSH4 0xA3844E11 EQ PUSH2 0xED3 JUMPI DUP1 PUSH4 0xA45AA313 EQ PUSH2 0xEE8 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xF08 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0xF28 JUMPI DUP1 PUSH4 0xA832918C EQ PUSH2 0xF3D JUMPI DUP1 PUSH4 0xA890C910 EQ PUSH2 0xF5D JUMPI DUP1 PUSH4 0xA9A95294 EQ PUSH2 0xF7D JUMPI DUP1 PUSH4 0xAB58FB8E EQ PUSH2 0xF9D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xFBD JUMPI DUP1 PUSH4 0xAE0B8DA8 EQ PUSH2 0xFEE JUMPI DUP1 PUSH4 0xB26A9509 EQ PUSH2 0x100E JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0x102E JUMPI DUP1 PUSH4 0xB69D417B EQ PUSH2 0x104E JUMPI DUP1 PUSH4 0xB6E9EFF4 EQ PUSH2 0x106E JUMPI DUP1 PUSH4 0xBC197C81 EQ PUSH2 0x108E JUMPI DUP1 PUSH4 0xBD5AEFEA EQ PUSH2 0x10AE JUMPI DUP1 PUSH4 0xBE9BD92B EQ PUSH2 0x10D0 JUMPI DUP1 PUSH4 0xC01F9E37 EQ PUSH2 0x10F0 JUMPI DUP1 PUSH4 0xC0A6026C EQ PUSH2 0x1110 JUMPI DUP1 PUSH4 0xC220F2F5 EQ PUSH2 0x1130 JUMPI DUP1 PUSH4 0xC28BC2FA EQ PUSH2 0x1150 JUMPI DUP1 PUSH4 0xC305F59A EQ PUSH2 0x1163 JUMPI DUP1 PUSH4 0xC40FFBF6 EQ PUSH2 0x1183 JUMPI DUP1 PUSH4 0xC429BD82 EQ PUSH2 0x1198 JUMPI DUP1 PUSH4 0xC59057E4 EQ PUSH2 0x11B8 JUMPI DUP1 PUSH4 0xCF09F8BF EQ PUSH2 0x11D8 JUMPI DUP1 PUSH4 0xD33219B4 EQ PUSH2 0x11ED JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0x1202 JUMPI DUP1 PUSH4 0xD53C74C1 EQ PUSH2 0x1222 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x1242 JUMPI DUP1 PUSH4 0xDD4E2BA5 EQ PUSH2 0x1262 JUMPI DUP1 PUSH4 0xDE65F41A EQ PUSH2 0x1277 JUMPI DUP1 PUSH4 0xE09C8D44 EQ PUSH2 0x1297 JUMPI DUP1 PUSH4 0xE125F74E EQ PUSH2 0x12B7 JUMPI DUP1 PUSH4 0xE205AEB0 EQ PUSH2 0x12CC JUMPI DUP1 PUSH4 0xE2BBB158 EQ PUSH2 0x12E1 JUMPI DUP1 PUSH4 0xE4EC85D4 EQ PUSH2 0x1301 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x1321 JUMPI DUP1 PUSH4 0xEAB59FD2 EQ PUSH2 0x1343 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0x1363 JUMPI DUP1 PUSH4 0xEDE8BED0 EQ PUSH2 0x1383 JUMPI DUP1 PUSH4 0xEE8A948B EQ PUSH2 0x13A3 JUMPI DUP1 PUSH4 0xF03A98D5 EQ PUSH2 0x13B8 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x13CD JUMPI DUP1 PUSH4 0xF530108F EQ PUSH2 0x13ED JUMPI DUP1 PUSH4 0xF744F119 EQ PUSH2 0x140D JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0x142D JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x144D JUMPI DUP1 PUSH4 0xFD4FD6E1 EQ PUSH2 0x1462 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x595 JUMPI ADDRESS PUSH2 0x56C PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x593 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x14A2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x5E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x14BE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x600 CALLDATASIZE PUSH1 0x4 PUSH2 0x4814 JUMP JUMPDEST PUSH2 0x1529 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x61F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x62E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x15BE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x63F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x64E CALLDATASIZE PUSH1 0x4 PUSH2 0x493A JUMP JUMPDEST PUSH2 0x163C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x67E CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x168D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x172C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x6B3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x17B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x6D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1844 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0x1895 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x49E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x706 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x715 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x1936 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x726 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x735 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x1993 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x746 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x755 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x19E7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x766 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x77A PUSH2 0x775 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A2B JUMP JUMPDEST PUSH2 0x19F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x7AE CALLDATASIZE PUSH1 0x4 PUSH2 0x4A96 JUMP JUMPDEST PUSH2 0x1A35 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x7CE CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x1AC8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0x7EE CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x80E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1B91 JUMP JUMPDEST PUSH2 0x605 PUSH2 0x821 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A96 JUMP JUMPDEST PUSH2 0x1BB1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x832 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x846 PUSH2 0x841 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1C6D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x4B4F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x86E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1CF8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x87F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x88E CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x1D33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x8AE CALLDATASIZE PUSH1 0x4 PUSH2 0x4B5D JUMP JUMPDEST PUSH2 0x1D55 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x8CE CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1EFE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x8EE CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x1F4F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5B84 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x921 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x930 CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x1F87 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x941 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x950 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x1FD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x961 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x975 PUSH2 0x970 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x4B89 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x98E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x20C0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x9B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BA3 JUMP JUMPDEST PUSH2 0x20E3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x9D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x2106 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0x2112 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xA07 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD8 JUMP JUMPDEST PUSH2 0x218A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xA27 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x21E9 JUMP JUMPDEST PUSH2 0x593 PUSH2 0xA3A CALLDATASIZE PUSH1 0x4 PUSH2 0x4BF5 JUMP JUMPDEST PUSH2 0x21F5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xA5A CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x2214 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x2243 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xA8F CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x2260 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAB4 PUSH2 0xAAF CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x226B JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0xAEA CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2286 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH2 0x3131 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x6ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB2F PUSH2 0x22FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x4C7F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xB57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CA1 JUMP JUMPDEST PUSH2 0x2370 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x23C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB91 PUSH2 0xB8C CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x23E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x4CC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xBB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x245F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x2476 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xBEE CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x248B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xC0E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x24AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC1F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0xC2E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x24E6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xC4E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D70 JUMP JUMPDEST PUSH2 0x2521 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xC6E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x25C1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xC8E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x25EF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x2614 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xCC3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x2630 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xCE3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E55 JUMP JUMPDEST PUSH2 0x2682 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xD03 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x268E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xD23 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E81 JUMP JUMPDEST PUSH2 0x26EB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x272D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x279C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x27E7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xD82 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2807 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xDA2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2812 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xDC2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2880 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xDE2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x288B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xE02 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EDC JUMP JUMPDEST PUSH2 0x2896 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xE22 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x292D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE3C PUSH2 0x2963 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH2 0x605 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xEA4 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x29D2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x29DD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xECA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x2A3A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xF03 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2A5B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xF23 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B5D JUMP JUMPDEST PUSH2 0x2AD3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x2B0F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xF58 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F98 JUMP JUMPDEST PUSH2 0x2B7E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xF78 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x2E41 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xF98 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2E91 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xFB8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2ECC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x1009 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x2ED7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x101A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x1029 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2F34 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x103A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x1049 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x2F85 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x105A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1069 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B5D JUMP JUMPDEST PUSH2 0x2FE2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x107A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1089 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x301E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x109A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x77A PUSH2 0x10A9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FD9 JUMP JUMPDEST PUSH2 0x305A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C04 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x10EB CALLDATASIZE PUSH1 0x4 PUSH2 0x5086 JUMP JUMPDEST PUSH2 0x309E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x110B CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x311C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x111C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x112B CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x3157 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x113C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x114B CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x31A7 JUMP JUMPDEST PUSH2 0x593 PUSH2 0x115E CALLDATASIZE PUSH1 0x4 PUSH2 0x50CF JUMP JUMPDEST PUSH2 0x31B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x116F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x117E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x323A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x3275 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x11B3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x328A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x11D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A96 JUMP JUMPDEST PUSH2 0x32DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x32E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x1484 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x120E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x121D CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x3306 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x122E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x123D CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x3341 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x124E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x125D CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x339E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x126E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0x33BA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1283 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1292 CALLDATASIZE PUSH1 0x4 PUSH2 0x5112 JUMP JUMPDEST PUSH2 0x33DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x12B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x3429 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x347B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x3497 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x12FC CALLDATASIZE PUSH1 0x4 PUSH2 0x51AE JUMP JUMPDEST PUSH2 0x34B3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x130D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x131C CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x34F2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BE4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x134F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x135E CALLDATASIZE PUSH1 0x4 PUSH2 0x51D0 JUMP JUMPDEST PUSH2 0x34FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x137E CALLDATASIZE PUSH1 0x4 PUSH2 0x4B5D JUMP JUMPDEST PUSH2 0x3597 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x138F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x139E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D70 JUMP JUMPDEST PUSH2 0x35A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x35E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x35EF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x77A PUSH2 0x13E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x5297 JUMP JUMPDEST PUSH2 0x360D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x1408 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x3651 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1428 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x36AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1439 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1448 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x36B9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1459 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x36F4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x146E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x148F PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14AC PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x14 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x7B8A67 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH3 0xF714CE SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x52FF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x150D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1521 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x276211 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x13B1088 SWAP1 PUSH2 0x1570 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x53A4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x158D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15B1 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1D6E78F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x1D6E78F SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1612 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1636 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0xC964612F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x166D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ JUMPDEST DUP1 PUSH2 0x1636 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x26865CC DUP5 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16BC JUMPI PUSH2 0x16BC PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1701 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1725 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1737 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x178E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17B2 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17C4 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x17D6 JUMPI PUSH2 0x17D6 CALLER JUMPDEST PUSH1 0x0 CALLDATASIZE ADDRESS PUSH2 0x3736 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4CFC47C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4CFC47C3 SWAP1 PUSH2 0x180F SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x544D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1827 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x183B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1850 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x185D JUMPI PUSH2 0x185D CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x379FCF3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6F3F9E6 SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x18A1 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x18B2 SWAP1 PUSH2 0x5468 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x18DE SWAP1 PUSH2 0x5468 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x192B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1900 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x192B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x190E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x194F DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x195C JUMPI PUSH2 0x195C CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x382FA8EC SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xEDDEE30 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19C1 JUMPI PUSH2 0x19C1 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0xFF SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x37D4 JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x19FD PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1A24 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A3F PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1957CC7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x1957CC7 SWAP1 PUSH2 0x1A7E SWAP1 ADDRESS SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x54A2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A9B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1ABF SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1AD3 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x17 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AED JUMPI PUSH2 0x1AED PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AFE JUMPI PUSH2 0x1AFE PUSH2 0x4B25 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x229ACB17 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x229ACB17 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1B69 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1636 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x554C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B9C PUSH2 0x3825 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BBB PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5B84 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1BD5 DUP2 PUSH1 0x0 PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1BE3 JUMPI PUSH2 0x1BE3 DUP2 CALLER PUSH2 0x3849 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xFCADD1F7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xFCADD1F7 SWAP1 PUSH2 0x1C22 SWAP1 ADDRESS SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x54A2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1C3F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C63 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CC0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1CE4 SWAP2 SWAP1 PUSH2 0x5580 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1636 JUMPI PUSH2 0x1636 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D63F693 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2D63F693 SWAP1 PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH2 0x1D3C DUP3 PUSH2 0x1B91 JUMP JUMPDEST PUSH2 0x1D45 DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH2 0x1D4F DUP4 DUP4 PUSH2 0x387E JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D61 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1D6E JUMPI PUSH2 0x1D6E CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x9 PUSH1 0x0 PUSH2 0x1D7A PUSH2 0x391F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x1DA1 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x1DBF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x1E39 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A20696E76616C69642074726561737572790000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 GT PUSH2 0x1E98 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A20696E76616C6964206D617820636F6E747269 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x6275746F7273 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA2 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x23 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x24 ADD DUP6 SWAP1 SSTORE POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BA4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x1EEF SWAP1 DUP5 SWAP1 PUSH2 0x559D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F0A DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1F17 JUMPI PUSH2 0x1F17 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3397D78D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x3397D78D SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x1F78 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1F82 DUP3 DUP3 PUSH2 0x3943 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F93 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1FA0 JUMPI PUSH2 0x1FA0 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x334B0557 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCD2C155C SWAP1 PUSH2 0x180F SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x55B1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1FF2 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1FFF JUMPI PUSH2 0x1FFF CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x41C19D PUSH1 0xE9 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x83833A00 SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2088 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20AC SWAP2 SWAP1 PUSH2 0x5580 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1636 JUMPI PUSH2 0x1636 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BE4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x20D8 DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH2 0x20E0 PUSH2 0x39BB JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20EF DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x20FC JUMPI PUSH2 0x20FC CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH2 0x1F82 DUP4 DUP4 PUSH2 0x3A12 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1725 DUP4 DUP4 PUSH2 0x3B9D JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x215D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2185 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x554C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C04 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x21A3 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x21B0 JUMPI PUSH2 0x21B0 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x98BD5A1 PUSH1 0xE3 SHL DUP2 MSTORE DUP3 ISZERO ISZERO PUSH1 0x4 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4C5EAD08 SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1725 DUP4 DUP4 PUSH2 0x3BDA JUMP JUMPDEST PUSH2 0x21FD PUSH2 0x3C10 JUMP JUMPDEST PUSH2 0x2206 DUP3 PUSH2 0x3CB5 JUMP JUMPDEST PUSH2 0x2210 DUP3 DUP3 PUSH2 0x3CCE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x5273E74B DUP5 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16BC JUMPI PUSH2 0x16BC PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x224D PUSH2 0x3D82 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BC4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3DCB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x2279 DUP5 PUSH2 0x3E15 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x5452A01B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x5452A01B SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x22D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1636 SWAP2 SWAP1 PUSH2 0x55C5 JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x5584C4F9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2348 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2185 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55E2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xDD063F9 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE CALLER PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0xFF DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x84 DUP3 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xDD063F90 SWAP1 PUSH1 0xA4 ADD PUSH2 0x16E4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23D2 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0xB ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x5B16E259 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x5B16E259 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2437 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1636 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5672 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT ADDRESS PUSH1 0x60 SHL AND DUP3 XOR PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2481 PUSH2 0x3E4B JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2496 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x11 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x60C4247F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x60C4247F SWAP1 PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x195BCF9 PUSH1 0xE6 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x656F3E40 SWAP1 PUSH1 0x24 ADD PUSH2 0x1B4C JUMP JUMPDEST PUSH2 0x2529 PUSH2 0x37FD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA9C9F19 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x2563 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x292D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP11 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2587 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x574B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x259F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x25B3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x6B6A0704 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19C1 JUMPI PUSH2 0x19C1 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x25FA PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1C ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AED JUMPI PUSH2 0x1AED PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x261E PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x20 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x263C DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2649 JUMPI PUSH2 0x2649 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x14060BEF PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x14060BEF SWAP1 PUSH2 0x180F SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x544D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1725 DUP4 DUP4 PUSH2 0x3E6F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x26A7 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x26B4 JUMPI PUSH2 0x26B4 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x358E7D97 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD639F65C SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xDD063F9 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xDD063F90 SWAP1 PUSH2 0x1A7E SWAP1 DUP9 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x5836 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x81AB2353 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2778 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2185 SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x81C0D6DF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2778 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BE4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x27FF DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH2 0x20E0 PUSH2 0x3EB7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3EFE JUMP JUMPDEST PUSH2 0x281A PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4534B0A7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8A69614E SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2865 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2879 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3F21 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3F48 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C04 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x28AF DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x28BC JUMPI PUSH2 0x28BC CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x23A0A32D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8E828CB4 SWAP1 PUSH2 0x28F7 SWAP1 DUP8 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x290F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2923 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2938 PUSH2 0x3825 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2185 SWAP2 SWAP1 PUSH2 0x58F2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3F74 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29E9 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x29F6 JUMPI PUSH2 0x29F6 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9C17E7B3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2865 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A44 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x9 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA45AA313 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA45AA313 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2AAF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1636 SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA56B5765 SWAP1 PUSH2 0x16E4 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xA7713A70 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2B5A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2185 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B8A DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2B97 JUMPI PUSH2 0x2B97 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x8 PUSH1 0x0 PUSH2 0x2BA3 PUSH2 0x391F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2BCA JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2BE8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2C6E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A20696E76616C6964206E6176696761746F7220 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7265676973747279 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2CD7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A20696E76616C69642072656C61796572207265 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1DD85C991CC81C1BDBDB PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x2D0E SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2D26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2D3A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x382FA8EC SWAP2 POP PUSH2 0x2D75 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2D8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2DA1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x3397D78D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x3397D78D SWAP2 POP PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2DF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2E04 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP3 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP4 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BA4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2E31 SWAP1 DUP5 SWAP1 PUSH2 0x559D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E4D DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2E5A JUMPI PUSH2 0x2E5A CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2CAE129D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB2B84A74 SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2A6A54A5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA9A95294 SWAP1 PUSH1 0x24 ADD PUSH2 0x2A92 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3FA4 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2EF0 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2EFD JUMPI PUSH2 0x2EFD CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x27A4ECDD PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4F49D9BA SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F40 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2F4D JUMPI PUSH2 0x2F4D CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB26A9509 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB26A9509 SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2F9E DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2FAB JUMPI PUSH2 0x2FAB CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4784A113 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4784A113 SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB69D417B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xB69D417B SWAP1 PUSH2 0x16E4 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DBA7BFD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xB6E9EFF4 SWAP1 PUSH2 0x16E4 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x52FF JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x3065 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x308C JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C04 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x30B7 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x30C4 JUMPI PUSH2 0x30C4 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBE9BD92B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE DUP3 ISZERO ISZERO PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xBE9BD92B SWAP1 PUSH1 0x64 ADD PUSH2 0x28F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xC01F9E37 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xC01F9E37 SWAP1 PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x316F DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3029809B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xC0A6026C SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3FD6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31BE DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x31CB JUMPI PUSH2 0x31CB CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x31E9 SWAP3 SWAP2 SWAP1 PUSH2 0x5933 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3226 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x322B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2923 DUP3 DUP3 PUSH2 0x3FF9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6182FACD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xC305F59A SWAP1 PUSH1 0x24 ADD PUSH2 0x2A92 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3280 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x32A2 DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6214DEC1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xC429BD82 SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1ABF DUP6 DUP6 DUP6 DUP6 PUSH2 0x4015 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x32F3 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1A ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9079991F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x9079991F SWAP1 PUSH1 0x24 ADD PUSH2 0x2A92 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x335A DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x3367 JUMPI PUSH2 0x3367 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x697772A5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD2EEE54A SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH2 0x33A7 DUP3 PUSH2 0x1B91 JUMP JUMPDEST PUSH2 0x33B0 DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH2 0x1D4F DUP4 DUP4 PUSH2 0x3943 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5C64 PUSH1 0x28 SWAP2 CODECOPY SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBADECD76 CALLER PUSH2 0x3402 PUSH1 0x0 CALLER PUSH2 0x292D JUMP JUMPDEST DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD DUP9 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C22 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5943 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3435 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x3442 JUMPI PUSH2 0x3442 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x35AC44DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6B5889BA SWAP1 PUSH2 0x180F SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x544D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3485 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1F ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34A1 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0xA ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1C57762B PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xE2BBB158 SWAP1 PUSH1 0x44 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x404F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3507 PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x755ACFE9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xEAB59FD2 SWAP1 PUSH2 0x354A SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x59AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3567 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x358B SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1725 DUP4 DUP4 PUSH2 0x4099 JUMP JUMPDEST PUSH2 0x35AB PUSH2 0x37FD JUMP JUMPDEST PUSH20 0x0 PUSH4 0x16A19AD6 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x2563 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x292D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2185 PUSH2 0x42BE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x35FA PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1B ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x3618 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x363F JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x366A DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x3677 JUMPI PUSH2 0x3677 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x42D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7C672B05 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xF8CE560A SWAP1 PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x36FF PUSH2 0x3712 JUMP JUMPDEST PUSH1 0xC ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3740 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3754 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x377D JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0x47096E47 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x378F PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2879 JUMPI PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x37AF SWAP3 SWAP2 SWAP1 PUSH2 0x5933 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP1 POP JUMPDEST DUP1 PUSH2 0x37C7 DUP4 PUSH1 0x2 ADD PUSH2 0x42F1 JUMP JUMPDEST SUB PUSH2 0x37BA JUMPI POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x37DF PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x3805 PUSH2 0x2476 JUMP JUMPDEST ISZERO PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH2 0x3853 DUP3 DUP3 PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2210 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP3 SWAP2 SWAP1 PUSH2 0x591A JUMP JUMPDEST PUSH2 0x20E0 DUP2 CALLER PUSH2 0x3849 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3889 PUSH2 0x3825 JUMP JUMPDEST SWAP1 POP PUSH2 0x3895 DUP5 DUP5 PUSH2 0x292D JUMP JUMPDEST PUSH2 0x3915 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x38CB CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x1636 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x394E PUSH2 0x3825 JUMP JUMPDEST SWAP1 POP PUSH2 0x395A DUP5 DUP5 PUSH2 0x292D JUMP JUMPDEST ISZERO PUSH2 0x3915 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x1636 JUMP JUMPDEST PUSH2 0x39C3 PUSH2 0x4366 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39CD PUSH2 0x3E4B JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A07 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A1C PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1B ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA49062D4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A75 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A99 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1C ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3AB5 JUMPI PUSH2 0x3AB5 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3AC6 JUMPI PUSH2 0x3AC6 PUSH2 0x4B25 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0x3AE0 DUP6 PUSH2 0x438B JUMP JUMPDEST PUSH2 0x3AFC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP1 PUSH2 0x5A1C JUMP JUMPDEST DUP2 DUP5 GT ISZERO PUSH2 0x3B20 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7780647F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH32 0xB1B75318956F66FA2B8B148BC3B2520C6E22133A50AC6069D38F97ED462B487A DUP6 DUP3 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3B53 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5A67 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP4 DUP4 PUSH1 0x1C ADD PUSH1 0x0 DUP8 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3B74 JUMPI PUSH2 0x3B74 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3B85 JUMPI PUSH2 0x3B85 PUSH2 0x4B25 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BA8 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0xF ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE PUSH1 0x3 SWAP1 SWAP5 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BE5 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0xD ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3C97 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3C8B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BC4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3CC1 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2210 JUMPI PUSH2 0x2210 CALLER PUSH2 0x17CD JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3D28 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3D25 SWAP2 DUP2 ADD SWAP1 PUSH2 0x5434 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3D47 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BC4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3D78 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH2 0x1F82 DUP4 DUP4 PUSH2 0x43C2 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3DD6 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP PUSH2 0x3DE1 DUP4 PUSH2 0x438B JUMP JUMPDEST PUSH2 0x3DFD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP1 PUSH2 0x5A1C JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AED JUMPI PUSH2 0x1AED PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x3E23 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 SWAP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 SWAP1 SWAP3 ADD SLOAD SWAP1 SWAP5 SWAP2 SWAP4 POP SWAP2 POP JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E7A PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3EBF PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3EC9 PUSH2 0x3E4B JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x39FA CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F09 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F2C PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP4 KECCAK256 SWAP1 SWAP3 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F53 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F7F PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3FAF PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3FE1 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x400E JUMPI PUSH2 0x4009 DUP3 PUSH2 0x4418 JUMP JUMPDEST PUSH2 0x1636 JUMP JUMPDEST POP DUP1 PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x402E SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5A86 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x405A PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP PUSH2 0x4065 DUP4 PUSH2 0x438B JUMP JUMPDEST PUSH2 0x4081 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP1 PUSH2 0x5A1C JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AED JUMPI PUSH2 0x1AED PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x40A4 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0x40DE SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x40FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x411F SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x413D JUMPI SWAP2 POP PUSH2 0x1636 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x4172 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x418F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x41B3 SWAP2 SWAP1 PUSH2 0x55C5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x423F JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x41F5 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4212 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4236 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x4273 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4290 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x42B4 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST PUSH2 0x1ABF SWAP1 DUP3 PUSH2 0x5B46 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42C8 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x22 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x42DC PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x7 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND SWAP2 PUSH1 0x1 PUSH1 0x80 SHL SWAP1 DIV AND DUP2 SUB PUSH2 0x4329 JUMPI PUSH1 0x40 MLOAD PUSH4 0x75E52F4F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP6 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD SWAP3 SWAP1 SSTORE DUP6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT AND SWAP4 ADD SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP3 SSTORE POP SWAP1 JUMP JUMPDEST PUSH2 0x436E PUSH2 0x2476 JUMP JUMPDEST PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x43A0 JUMPI PUSH2 0x43A0 PUSH2 0x4B25 JUMP JUMPDEST EQ DUP1 PUSH2 0x1636 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x43BB JUMPI PUSH2 0x43BB PUSH2 0x4B25 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x43CB DUP3 PUSH2 0x4441 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4410 JUMPI PUSH2 0x1F82 DUP3 DUP3 PUSH2 0x449D JUMP JUMPDEST PUSH2 0x2210 PUSH2 0x450A JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4428 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x446E JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BC4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x44BA SWAP2 SWAP1 PUSH2 0x5B67 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x44F5 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x44FA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1ABF DUP6 DUP4 DUP4 PUSH2 0x4529 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x453E JUMPI PUSH2 0x4539 DUP3 PUSH2 0x4418 JUMP JUMPDEST PUSH2 0x1725 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4555 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4575 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x20E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x45B0 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x45C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x45DA DUP2 PUSH2 0x4590 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4623 JUMPI PUSH2 0x4623 PUSH2 0x45E5 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4644 JUMPI PUSH2 0x4644 PUSH2 0x45E5 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x465F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4674 PUSH2 0x466F DUP4 PUSH2 0x462B JUMP JUMPDEST PUSH2 0x45FB JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4693 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x46B7 JUMPI DUP1 CALLDATALOAD PUSH2 0x46AA DUP2 PUSH2 0x4590 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4697 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x46D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x46E3 PUSH2 0x466F DUP4 PUSH2 0x462B JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4702 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x46B7 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4706 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4736 JUMPI PUSH2 0x4736 PUSH2 0x45E5 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4755 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4763 PUSH2 0x466F DUP3 PUSH2 0x471D JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4778 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x47A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x47B6 PUSH2 0x466F DUP4 PUSH2 0x462B JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x47D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x46B7 JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x47F8 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4806 DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x4744 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x47D9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x4831 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4848 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4854 DUP13 DUP4 DUP14 ADD PUSH2 0x464E JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x486A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4876 DUP13 DUP4 DUP14 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP9 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x488C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4898 DUP13 DUP4 DUP14 ADD PUSH2 0x4795 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x48AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x48BA DUP13 DUP4 DUP14 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP5 POP PUSH2 0x48D6 PUSH1 0xC0 DUP13 ADD PUSH2 0x45A5 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x48EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x48F9 DUP12 DUP3 DUP13 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x491B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x45B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x494C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1725 DUP3 PUSH2 0x4922 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0x45B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x4987 PUSH1 0x20 DUP5 ADD PUSH2 0x4955 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x49AB JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4993 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x49CC DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4990 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1725 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x49B4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1725 DUP2 PUSH2 0x4590 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1725 DUP3 PUSH2 0x4955 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4A41 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x4A4C DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x4A5C DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4A7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A8A DUP8 DUP3 DUP9 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4AAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4AC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4ACF DUP9 DUP4 DUP10 ADD PUSH2 0x464E JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4AE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AF1 DUP9 DUP4 DUP10 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4B07 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4B14 DUP8 DUP3 DUP9 ADD PUSH2 0x4795 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP4 SWAP5 PUSH1 0x60 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x4B4B JUMPI PUSH2 0x4B4B PUSH2 0x4B25 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1636 DUP3 DUP5 PUSH2 0x4B3B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4B70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4B7B DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0xA DUP4 LT PUSH2 0x4B9D JUMPI PUSH2 0x4B9D PUSH2 0x4B25 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4BB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4B7B DUP4 PUSH2 0x4955 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x20E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x45B0 DUP2 PUSH2 0x4BBF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1725 DUP2 PUSH2 0x4BBF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4C08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4C13 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4C2E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4C3A DUP6 DUP3 DUP7 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4C74 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4C58 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1725 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4C44 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x20E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4CB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x45DA DUP2 PUSH2 0x4C92 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4D1B JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x4D09 DUP6 DUP4 MLOAD PUSH2 0x49B4 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4CED JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4D3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4D51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x4D69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x4D8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD PUSH2 0x4D9E DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4DBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4DC6 DUP13 DUP4 DUP14 ADD PUSH2 0x4D28 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4DDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4DEB DUP13 DUP4 DUP14 ADD PUSH2 0x4D28 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4E04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP12 ADD SWAP2 POP DUP12 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4E18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4E27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP13 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x4E3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4E68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4E73 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP2 POP PUSH2 0x4987 PUSH1 0x20 DUP5 ADD PUSH2 0x4922 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4E97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x4EA9 DUP2 PUSH2 0x4C92 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4EC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4ED0 DUP8 DUP3 DUP9 ADD PUSH2 0x4D28 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4EF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4EFC DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4F18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x4F29 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x4F37 PUSH2 0x466F DUP3 PUSH2 0x462B JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x4F56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x4F7B JUMPI PUSH2 0x4F6C DUP5 PUSH2 0x4922 JUMP JUMPDEST DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x4F5B JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP PUSH2 0x4F8F PUSH1 0x40 DUP6 ADD PUSH2 0x4BCD JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4FAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4FB8 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4FC8 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4FF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4FFC DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x500C DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5028 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5034 DUP10 DUP4 DUP11 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x504A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5056 DUP10 DUP4 DUP11 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x506C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5079 DUP9 DUP3 DUP10 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x509B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x50A6 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 POP PUSH2 0x50B4 PUSH1 0x20 DUP6 ADD PUSH2 0x4922 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x50C4 DUP2 PUSH2 0x4BBF JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x50E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x50F0 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4EC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x512A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5141 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x514D DUP10 DUP4 DUP11 ADD PUSH2 0x464E JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x516F DUP10 DUP4 DUP11 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5191 DUP10 DUP4 DUP11 ADD PUSH2 0x4795 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x506C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x51C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x51EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5202 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x520E DUP12 DUP4 DUP13 ADD PUSH2 0x464E JUMP JUMPDEST SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5224 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5230 DUP12 DUP4 DUP13 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5252 DUP12 DUP4 DUP13 ADD PUSH2 0x4795 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5268 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5275 DUP11 DUP3 DUP12 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP5 SWAP8 PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP7 PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP7 POP PUSH1 0xC0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x52AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x52BA DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x52CA DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x52F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5079 DUP9 DUP3 DUP10 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4C74 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x532A JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP4 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x5397 JUMPI DUP3 DUP5 SUB DUP10 MSTORE PUSH2 0x5385 DUP5 DUP4 MLOAD PUSH2 0x49B4 JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x536D JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 MSTORE PUSH2 0x53B8 DUP2 DUP5 ADD DUP13 PUSH2 0x5316 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x53CC DUP2 DUP12 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x53E0 DUP2 DUP11 PUSH2 0x534F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x53F4 DUP2 DUP10 PUSH2 0x49B4 JUMP JUMPDEST PUSH1 0x80 DUP5 ADD DUP9 SWAP1 MSTORE PUSH1 0xA0 DUP5 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0xC0 DUP6 ADD MSTORE DUP4 DUP2 SUB PUSH1 0xE0 DUP6 ADD MSTORE SWAP1 POP PUSH2 0x5425 DUP2 DUP6 PUSH2 0x49B4 JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5446 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP2 ADD PUSH2 0x545B DUP3 DUP6 PUSH2 0x4B3B JUMP JUMPDEST DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x547C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x549C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP2 MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x54C6 SWAP1 DUP4 ADD DUP8 PUSH2 0x5316 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x54D8 DUP2 DUP8 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x54EC DUP2 DUP7 PUSH2 0x534F JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5510 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x551E PUSH2 0x466F DUP3 PUSH2 0x471D JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x5533 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5544 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4990 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x555E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5574 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5544 DUP5 DUP3 DUP6 ADD PUSH2 0x54FF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5592 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1725 DUP2 PUSH2 0x4C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH2 0x1725 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4B3B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1725 DUP2 PUSH2 0x4590 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x560B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x561C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x562A PUSH2 0x466F DUP3 PUSH2 0x462B JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP8 DUP4 GT ISZERO PUSH2 0x5649 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x5667 JUMPI DUP4 MLOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x564E JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5685 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x569C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x56B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x56BE PUSH2 0x466F DUP3 PUSH2 0x462B JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP9 DUP4 GT ISZERO PUSH2 0x56DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 ADD JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5715 JUMPI DUP1 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x56F9 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5707 DUP12 DUP10 DUP4 DUP11 ADD ADD PUSH2 0x54FF JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x56E1 JUMP JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST DUP10 DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP12 AND DUP2 DUP5 ADD MSTORE PUSH1 0xC0 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x5774 PUSH1 0xC0 DUP5 ADD DUP11 DUP13 PUSH2 0x5722 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE PUSH2 0x5787 DUP2 DUP10 DUP12 PUSH2 0x5722 JUMP JUMPDEST DUP5 DUP2 SUB PUSH1 0x80 DUP7 ADD MSTORE DUP7 DUP2 MSTORE SWAP1 POP DUP2 DUP2 ADD PUSH1 0x5 DUP8 SWAP1 SHL DUP3 ADD DUP4 ADD DUP9 PUSH1 0x0 JUMPDEST DUP10 DUP2 LT ISZERO PUSH2 0x5813 JUMPI DUP5 DUP4 SUB PUSH1 0x1F NOT ADD DUP5 MSTORE DUP2 CALLDATALOAD CALLDATASIZE DUP13 SWAP1 SUB PUSH1 0x1E NOT ADD DUP2 SLT PUSH2 0x57CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP12 ADD DUP7 DUP2 ADD SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x57E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATASIZE SUB DUP3 SGT ISZERO PUSH2 0x57F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57FF DUP6 DUP3 DUP5 PUSH2 0x5722 JUMP JUMPDEST SWAP6 DUP9 ADD SWAP6 SWAP5 POP POP POP SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x57A4 JUMP JUMPDEST POP POP DUP7 ISZERO ISZERO PUSH1 0xA0 DUP8 ADD MSTORE SWAP4 POP PUSH2 0x5828 SWAP3 POP POP POP JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP6 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xFF DUP5 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5667 SWAP1 DUP4 ADD DUP5 DUP7 PUSH2 0x5722 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x587C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1725 DUP2 PUSH2 0x4BBF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP1 DUP4 ADD DUP3 SWAP1 MSTORE DUP5 MLOAD SWAP2 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP6 DUP3 ADD SWAP2 SWAP1 PUSH1 0x80 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x58DA JUMPI DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x58B4 JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 ISZERO ISZERO PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5904 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1725 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 MSTORE DUP7 ISZERO ISZERO PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xE0 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x596F SWAP1 DUP4 ADD DUP9 PUSH2 0x5316 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x5981 DUP2 DUP9 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x5995 DUP2 DUP8 PUSH2 0x534F JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0xA0 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x5828 DUP2 DUP6 PUSH2 0x49B4 JUMP JUMPDEST PUSH1 0xE0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x59C2 PUSH1 0xE0 DUP4 ADD DUP11 PUSH2 0x5316 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x59D4 DUP2 DUP11 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x59E8 DUP2 DUP10 PUSH2 0x534F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x59FC DUP2 DUP9 PUSH2 0x49B4 JUMP JUMPDEST PUSH1 0x80 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0xA0 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xC0 SWAP1 SWAP2 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD PUSH2 0x5A75 DUP3 DUP7 PUSH2 0x4B3B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 DUP1 DUP3 MSTORE DUP6 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0xA0 DUP5 ADD SWAP1 DUP3 DUP10 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5AC8 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5AA3 JUMP JUMPDEST POP POP POP DUP4 DUP2 SUB DUP3 DUP6 ADD MSTORE PUSH2 0x5ADC DUP2 DUP9 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x40 DUP6 ADD MSTORE DUP1 DUP7 MLOAD DUP1 DUP4 MSTORE DUP4 DUP4 ADD SWAP2 POP DUP4 DUP2 PUSH1 0x5 SHL DUP5 ADD ADD DUP5 DUP10 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5B2D JUMPI PUSH1 0x1F NOT DUP7 DUP5 SUB ADD DUP6 MSTORE PUSH2 0x5B1B DUP4 DUP4 MLOAD PUSH2 0x49B4 JUMP JUMPDEST SWAP5 DUP8 ADD SWAP5 SWAP3 POP SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5AFF JUMP JUMPDEST POP POP DUP1 SWAP6 POP POP POP POP POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1636 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5B79 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4990 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID PUSH6 0x75630003027B SIGNEXTEND 0x2F 0xC4 LOG4 DUP12 0xC3 SWAP14 0xBC RETURNDATACOPY 0xBA SWAP13 CREATE2 PUSH6 0x88C696A6F571 PUSH31 0x167A0CE731C7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A87E72189 LOG3 0xEA MOD SWAP8 SWAP7 0xDA 0xB5 0xC7 0xD3 DUP3 PUSH6 0x81F957CB5C88 0x2C 0x1E PUSH14 0xAE7ACACEC49CA48E56AF926AA384 0x5D 0x4D 0xC6 GASPRICE PUSH13 0x773ED36F51794728C97EBCD1BF DUP5 JUMPDEST 0xCE 0xCB AND 0xEE 0xB6 0xB7 ORIGIN 0xC 0xC9 SHR AND 0xC4 0x22 PUSH19 0x679CAB4152F867E0CD4A98F53556DA2D53B4E5 ISZERO 0xBE DUP13 PUSH24 0x96737570706F72743D627261766F2671756F72756D3D666F PUSH19 0x2C6162737461696E2C616761696E7374A26469 PUSH17 0x66735822122002AC80797A0444E5830333 0xC0 CALL 0x29 CREATE MUL 0xED 0xD2 BYTE SMOD 0x24 0xBC CALLDATALOAD 0xDC SWAP2 0xD5 0xB1 CODECOPY 0xCD 0xD8 RETURNDATACOPY LOG2 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"7641:49936:97:-:0;;;1171:4:3;1128:48;;8594:47:97;;;;;;;;;-1:-1:-1;8614:22:97;:20;:22::i;:::-;7641:49936;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;7641:49936:97;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_53421":{"entryPoint":8466,"id":53421,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_52970":{"entryPoint":null,"id":52970,"parameterSlots":0,"returnSlots":0},"@COUNTING_MODE_53626":{"entryPoint":13242,"id":53626,"parameterSlots":0,"returnSlots":1},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@GOVERNOR_FUNCTIONS_SETTINGS_ROLE_52958":{"entryPoint":null,"id":52958,"parameterSlots":0,"returnSlots":0},"@PAUSER_ROLE_52964":{"entryPoint":null,"id":52964,"parameterSlots":0,"returnSlots":0},"@PROPOSAL_EXECUTOR_ROLE_52976":{"entryPoint":null,"id":52976,"parameterSlots":0,"returnSlots":0},"@PROPOSAL_STATE_MANAGER_ROLE_52982":{"entryPoint":null,"id":52982,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@_53196":{"entryPoint":null,"id":53196,"parameterSlots":0,"returnSlots":0},"@_authorizeUpgrade_55001":{"entryPoint":15541,"id":55001,"parameterSlots":1,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":17674,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":15746,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":15376,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":14452,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":14409,"id":150,"parameterSlots":2,"returnSlots":0},"@_getAccessControlStorage_46":{"entryPoint":14373,"id":46,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":14623,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getPausableStorage_4013":{"entryPoint":15947,"id":4013,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":14462,"id":315,"parameterSlots":2,"returnSlots":1},"@_msgData_3978":{"entryPoint":null,"id":3978,"parameterSlots":0,"returnSlots":2},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_pause_4138":{"entryPoint":16055,"id":4138,"parameterSlots":0,"returnSlots":0},"@_requireNotPaused_4101":{"entryPoint":14333,"id":4101,"parameterSlots":0,"returnSlots":0},"@_requirePaused_4114":{"entryPoint":17254,"id":4114,"parameterSlots":0,"returnSlots":0},"@_revert_5583":{"entryPoint":17432,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":14659,"id":361,"parameterSlots":2,"returnSlots":1},"@_setImplementation_4791":{"entryPoint":17473,"id":4791,"parameterSlots":1,"returnSlots":0},"@_unpause_4162":{"entryPoint":14779,"id":4162,"parameterSlots":0,"returnSlots":0},"@_upgradeToAndCallUUPS_1913":{"entryPoint":15566,"id":1913,"parameterSlots":2,"returnSlots":0},"@b3tr_53852":{"entryPoint":9160,"id":53852,"parameterSlots":0,"returnSlots":1},"@canProposalStartInNextRound_53271":{"entryPoint":10029,"id":53271,"parameterSlots":0,"returnSlots":1},"@cancel_54288":{"entryPoint":13274,"id":54288,"parameterSlots":5,"returnSlots":1},"@castNavigatorVote_54347":{"entryPoint":12318,"id":54347,"parameterSlots":2,"returnSlots":1},"@castVoteWithReason_54330":{"entryPoint":9963,"id":54330,"parameterSlots":4,"returnSlots":1},"@castVote_54308":{"entryPoint":9072,"id":54308,"parameterSlots":2,"returnSlots":1},"@checkGovernance_57979":{"entryPoint":14134,"id":57979,"parameterSlots":4,"returnSlots":0},"@claimPayout_54754":{"entryPoint":10258,"id":54754,"parameterSlots":1,"returnSlots":0},"@clock_53410":{"entryPoint":10595,"id":53410,"parameterSlots":0,"returnSlots":1},"@depositThresholdByProposalType_53972":{"entryPoint":9665,"id":53972,"parameterSlots":1,"returnSlots":1},"@depositThresholdCapByProposalType_54062":{"entryPoint":13554,"id":54062,"parameterSlots":1,"returnSlots":1},"@depositThresholdPercentageByProposalType_53987":{"entryPoint":8800,"id":53987,"parameterSlots":1,"returnSlots":1},"@deposit_54379":{"entryPoint":13491,"id":54379,"parameterSlots":2,"returnSlots":0},"@execute_54252":{"entryPoint":7089,"id":54252,"parameterSlots":4,"returnSlots":1},"@executor_57929":{"entryPoint":5252,"id":57929,"parameterSlots":0,"returnSlots":1},"@functionDelegateCall_5503":{"entryPoint":17565,"id":5503,"parameterSlots":2,"returnSlots":1},"@getActiveProposals_53936":{"entryPoint":8957,"id":53936,"parameterSlots":0,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdCap_56943":{"entryPoint":16463,"id":56943,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdPercentage_56891":{"entryPoint":15819,"id":56891,"parameterSlots":1,"returnSlots":1},"@getDepositVotingPower_54990":{"entryPoint":10963,"id":54990,"parameterSlots":2,"returnSlots":1},"@getGalaxyMemberContract_54082":{"entryPoint":13807,"id":54082,"parameterSlots":0,"returnSlots":1},"@getGovernorStorage_61139":{"entryPoint":14098,"id":61139,"parameterSlots":0,"returnSlots":1},"@getGrantsManagerContract_54102":{"entryPoint":13032,"id":54102,"parameterSlots":0,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getProposalBudget_54768":{"entryPoint":5566,"id":54768,"parameterSlots":1,"returnSlots":1},"@getProposalContributors_54839":{"entryPoint":9188,"id":54839,"parameterSlots":1,"returnSlots":1},"@getProposalDeposits_53657":{"entryPoint":12711,"id":53657,"parameterSlots":1,"returnSlots":1},"@getProposalDeposits_57510":{"entryPoint":16342,"id":57510,"parameterSlots":1,"returnSlots":1},"@getProposalDescription_54810":{"entryPoint":6933,"id":54810,"parameterSlots":1,"returnSlots":1},"@getProposalImplementationDiscussion_54824":{"entryPoint":9446,"id":54824,"parameterSlots":1,"returnSlots":1},"@getProposalPayee_54782":{"entryPoint":8838,"id":54782,"parameterSlots":1,"returnSlots":1},"@getProposalVotes_61890":{"entryPoint":15893,"id":61890,"parameterSlots":1,"returnSlots":3},"@getQuadraticVotingPower_53399":{"entryPoint":12258,"id":53399,"parameterSlots":2,"returnSlots":1},"@getRequiredGMLevelByProposalType_54126":{"entryPoint":9711,"id":54126,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":7057,"id":171,"parameterSlots":1,"returnSlots":1},"@getTimelockId_53699":{"entryPoint":13998,"id":53699,"parameterSlots":1,"returnSlots":1},"@getTimelockId_58333":{"entryPoint":17105,"id":58333,"parameterSlots":1,"returnSlots":1},"@getUserDeposit_53716":{"entryPoint":8681,"id":53716,"parameterSlots":2,"returnSlots":1},"@getUserDeposit_57462":{"entryPoint":15322,"id":57462,"parameterSlots":2,"returnSlots":1},"@getVotes_53382":{"entryPoint":13719,"id":53382,"parameterSlots":2,"returnSlots":1},"@getVotes_61801":{"entryPoint":16537,"id":61801,"parameterSlots":2,"returnSlots":1},"@governanceSkipWindowBlocks_53924":{"entryPoint":13797,"id":53924,"parameterSlots":0,"returnSlots":1},"@governanceSkipWindowBlocks_57027":{"entryPoint":17086,"id":57027,"parameterSlots":0,"returnSlots":1},"@grantRole_190":{"entryPoint":7475,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":10541,"id":116,"parameterSlots":2,"returnSlots":1},"@hasVotedOnce_53562":{"entryPoint":10706,"id":53562,"parameterSlots":1,"returnSlots":1},"@hasVoted_53643":{"entryPoint":8454,"id":53643,"parameterSlots":2,"returnSlots":1},"@hasVoted_61850":{"entryPoint":15261,"id":61850,"parameterSlots":2,"returnSlots":1},"@hashProposal_53795":{"entryPoint":13018,"id":53795,"parameterSlots":4,"returnSlots":1},"@hashProposal_58179":{"entryPoint":16405,"id":58179,"parameterSlots":4,"returnSlots":1},"@initializeV10_53053":{"entryPoint":11134,"id":53053,"parameterSlots":3,"returnSlots":0},"@initializeV11_53110":{"entryPoint":7509,"id":53110,"parameterSlots":2,"returnSlots":0},"@isFunctionWhitelisted_53508":{"entryPoint":9858,"id":53508,"parameterSlots":2,"returnSlots":1},"@isFunctionWhitelisted_57790":{"entryPoint":15983,"id":57790,"parameterSlots":2,"returnSlots":1},"@isProposalPaid_54796":{"entryPoint":12858,"id":54796,"parameterSlots":1,"returnSlots":1},"@isQuadraticVotingDisabledForCurrentRound_53746":{"entryPoint":10140,"id":53746,"parameterSlots":0,"returnSlots":1},"@isQuadraticVotingDisabledForRound_53760":{"entryPoint":10843,"id":53760,"parameterSlots":1,"returnSlots":1},"@isValidProposalType_60182":{"entryPoint":17291,"id":60182,"parameterSlots":1,"returnSlots":1},"@markAsCompleted_54673":{"entryPoint":12631,"id":54673,"parameterSlots":1,"returnSlots":0},"@markAsInDevelopment_54706":{"entryPoint":13731,"id":54706,"parameterSlots":8,"returnSlots":0},"@minVotingDelay_53527":{"entryPoint":12917,"id":53527,"parameterSlots":0,"returnSlots":1},"@name_53735":{"entryPoint":6293,"id":53735,"parameterSlots":0,"returnSlots":1},"@navigatorRegistry_53900":{"entryPoint":13435,"id":53900,"parameterSlots":0,"returnSlots":1},"@onERC1155BatchReceived_55136":{"entryPoint":12378,"id":55136,"parameterSlots":5,"returnSlots":1},"@onERC1155Received_55068":{"entryPoint":13837,"id":55068,"parameterSlots":5,"returnSlots":1},"@onERC721Received_55100":{"entryPoint":6642,"id":55100,"parameterSlots":4,"returnSlots":1},"@pause_54137":{"entryPoint":10215,"id":54137,"parameterSlots":0,"returnSlots":0},"@paused_4089":{"entryPoint":9334,"id":4089,"parameterSlots":0,"returnSlots":1},"@popFront_10642":{"entryPoint":17137,"id":10642,"parameterSlots":1,"returnSlots":1},"@proposalDeadline_53341":{"entryPoint":12572,"id":53341,"parameterSlots":1,"returnSlots":1},"@proposalDepositReached_53671":{"entryPoint":10379,"id":53671,"parameterSlots":1,"returnSlots":1},"@proposalDepositReached_57544":{"entryPoint":16200,"id":57544,"parameterSlots":1,"returnSlots":1},"@proposalDepositThreshold_53685":{"entryPoint":10247,"id":53685,"parameterSlots":1,"returnSlots":1},"@proposalDepositThreshold_57486":{"entryPoint":16126,"id":57486,"parameterSlots":1,"returnSlots":1},"@proposalEta_53299":{"entryPoint":11980,"id":53299,"parameterSlots":1,"returnSlots":1},"@proposalEta_58227":{"entryPoint":16292,"id":58227,"parameterSlots":1,"returnSlots":1},"@proposalNeedsQueuing_53242":{"entryPoint":11921,"id":53242,"parameterSlots":1,"returnSlots":1},"@proposalProposer_53285":{"entryPoint":6631,"id":53285,"parameterSlots":1,"returnSlots":1},"@proposalProposer_58203":{"entryPoint":14292,"id":58203,"parameterSlots":1,"returnSlots":1},"@proposalSnapshot_53327":{"entryPoint":7416,"id":53327,"parameterSlots":1,"returnSlots":1},"@proposalStartRound_53313":{"entryPoint":10368,"id":53313,"parameterSlots":1,"returnSlots":1},"@proposalStartRound_58251":{"entryPoint":16161,"id":58251,"parameterSlots":1,"returnSlots":1},"@proposalTotalVotes_53599":{"entryPoint":9355,"id":53599,"parameterSlots":1,"returnSlots":1},"@proposalType_53954":{"entryPoint":7277,"id":53954,"parameterSlots":1,"returnSlots":1},"@proposalVotes_53617":{"entryPoint":8811,"id":53617,"parameterSlots":1,"returnSlots":3},"@proposeGrant_54641":{"entryPoint":5417,"id":54641,"parameterSlots":8,"returnSlots":1},"@propose_54185":{"entryPoint":13565,"id":54185,"parameterSlots":7,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":8771,"id":1804,"parameterSlots":0,"returnSlots":1},"@queue_54217":{"entryPoint":6709,"id":54217,"parameterSlots":4,"returnSlots":1},"@quorumByProposalType_54008":{"entryPoint":5773,"id":54008,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_53491":{"entryPoint":null,"id":53491,"parameterSlots":0,"returnSlots":1},"@quorumDenominator_60305":{"entryPoint":null,"id":60305,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_54026":{"entryPoint":6547,"id":54026,"parameterSlots":1,"returnSlots":1},"@quorumNumeratorByProposalType_54047":{"entryPoint":8724,"id":54047,"parameterSlots":2,"returnSlots":1},"@quorumNumerator_53466":{"entryPoint":11023,"id":53466,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_53480":{"entryPoint":9387,"id":53480,"parameterSlots":1,"returnSlots":1},"@quorumReached_53576":{"entryPoint":13062,"id":53576,"parameterSlots":1,"returnSlots":1},"@quorum_53455":{"entryPoint":14009,"id":53455,"parameterSlots":1,"returnSlots":1},"@relay_53228":{"entryPoint":12722,"id":53228,"parameterSlots":4,"returnSlots":0},"@relayerRewardsPool_53913":{"entryPoint":9748,"id":53913,"parameterSlots":0,"returnSlots":1},"@renounceRole_232":{"entryPoint":8015,"id":232,"parameterSlots":2,"returnSlots":0},"@resetDevelopmentState_54657":{"entryPoint":12938,"id":54657,"parameterSlots":1,"returnSlots":0},"@revokeRole_209":{"entryPoint":13214,"id":209,"parameterSlots":2,"returnSlots":0},"@setGalaxyMember_54936":{"entryPoint":11991,"id":54936,"parameterSlots":1,"returnSlots":0},"@setGovernanceSkipWindowBlocks_54501":{"entryPoint":7934,"id":54501,"parameterSlots":1,"returnSlots":0},"@setGrantsManager_54953":{"entryPoint":13121,"id":54953,"parameterSlots":1,"returnSlots":0},"@setIsFunctionRestrictionEnabled_54469":{"entryPoint":8586,"id":54469,"parameterSlots":1,"returnSlots":0},"@setMinVotingDelay_54485":{"entryPoint":12084,"id":54485,"parameterSlots":1,"returnSlots":0},"@setNavigatorRegistry_54586":{"entryPoint":13905,"id":54586,"parameterSlots":1,"returnSlots":0},"@setProposalTypeDepositThresholdCap_54919":{"entryPoint":13353,"id":54919,"parameterSlots":2,"returnSlots":0},"@setProposalTypeDepositThresholdPercentage_54879":{"entryPoint":9776,"id":54879,"parameterSlots":2,"returnSlots":0},"@setProposalTypeVotingThreshold_54899":{"entryPoint":6072,"id":54899,"parameterSlots":2,"returnSlots":0},"@setRelayerRewardsPool_54603":{"entryPoint":6454,"id":54603,"parameterSlots":1,"returnSlots":0},"@setRequiredGMLevelByProposalType_54973":{"entryPoint":8419,"id":54973,"parameterSlots":2,"returnSlots":0},"@setRequiredGMLevelByProposalType_57090":{"entryPoint":14866,"id":57090,"parameterSlots":2,"returnSlots":0},"@setVeBetterPassport_54569":{"entryPoint":12165,"id":54569,"parameterSlots":1,"returnSlots":0},"@setVoterRewards_54518":{"entryPoint":9870,"id":54518,"parameterSlots":1,"returnSlots":0},"@setWhitelistFunction_54430":{"entryPoint":12446,"id":54430,"parameterSlots":3,"returnSlots":0},"@setWhitelistFunctions_54453":{"entryPoint":10390,"id":54453,"parameterSlots":3,"returnSlots":0},"@setXAllocationVoting_54535":{"entryPoint":8153,"id":54535,"parameterSlots":1,"returnSlots":0},"@state_53260":{"entryPoint":8245,"id":53260,"parameterSlots":1,"returnSlots":1},"@supportsInterface_55034":{"entryPoint":5692,"id":55034,"parameterSlots":1,"returnSlots":1},"@timelockSalt_53813":{"entryPoint":9311,"id":53813,"parameterSlots":1,"returnSlots":1},"@timelockSalt_57907":{"entryPoint":null,"id":57907,"parameterSlots":2,"returnSlots":1},"@timelock_53874":{"entryPoint":null,"id":53874,"parameterSlots":0,"returnSlots":1},"@toggleQuadraticVoting_54408":{"entryPoint":10717,"id":54408,"parameterSlots":0,"returnSlots":0},"@token_53441":{"entryPoint":14068,"id":53441,"parameterSlots":0,"returnSlots":1},"@unpause_54148":{"entryPoint":8384,"id":54148,"parameterSlots":0,"returnSlots":0},"@updateCommunityExecution_54739":{"entryPoint":9505,"id":54739,"parameterSlots":8,"returnSlots":0},"@updateQuorumNumeratorByType_54859":{"entryPoint":8071,"id":54859,"parameterSlots":2,"returnSlots":0},"@updateQuorumNumerator_54395":{"entryPoint":6212,"id":54395,"parameterSlots":1,"returnSlots":0},"@updateTimelock_54552":{"entryPoint":11841,"id":54552,"parameterSlots":1,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":8693,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":17346,"id":4825,"parameterSlots":2,"returnSlots":0},"@userVotedOnce_61913":{"entryPoint":16244,"id":61913,"parameterSlots":1,"returnSlots":1},"@veBetterPassport_53887":{"entryPoint":5282,"id":53887,"parameterSlots":0,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":17705,"id":5543,"parameterSlots":3,"returnSlots":1},"@verifyCallResult_5565":{"entryPoint":16377,"id":5565,"parameterSlots":2,"returnSlots":1},"@version_53769":{"entryPoint":null,"id":53769,"parameterSlots":0,"returnSlots":1},"@voterRewards_53826":{"entryPoint":10810,"id":53826,"parameterSlots":0,"returnSlots":1},"@votingPeriod_53548":{"entryPoint":5932,"id":53548,"parameterSlots":0,"returnSlots":1},"@votingThresholdByProposalType_53365":{"entryPoint":6856,"id":53365,"parameterSlots":1,"returnSlots":1},"@withdraw_54363":{"entryPoint":5310,"id":54363,"parameterSlots":2,"returnSlots":0},"@xAllocationVoting_53839":{"entryPoint":13463,"id":53839,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":17829,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_address_dyn":{"entryPoint":17998,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes_dyn":{"entryPoint":18325,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":18114,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bool":{"entryPoint":19405,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_bytes":{"entryPoint":18244,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes4":{"entryPoint":18722,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_enum_ProposalType":{"entryPoint":18773,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_calldata":{"entryPoint":19752,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_string_fromMemory":{"entryPoint":21759,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":21957,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr":{"entryPoint":20441,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":18987,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr":{"entryPoint":21143,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool":{"entryPoint":20188,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes4":{"entryPoint":20053,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_bytes4t_bool":{"entryPoint":20614,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":19445,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptr":{"entryPoint":20687,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32":{"entryPoint":19094,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr":{"entryPoint":20754,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr":{"entryPoint":18452,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_uint256":{"entryPoint":20944,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":22130,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory":{"entryPoint":21986,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool":{"entryPoint":19416,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":22634,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":18746,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IGalaxyMember_$65196":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IGrantsManager_$65639":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_contract$_IRelayerRewardsPool_$67117t_uint256":{"entryPoint":20376,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117":{"entryPoint":18931,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_ITreasury_$67241t_uint256":{"entryPoint":19293,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVoterRewards_$69092":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ProposalType_$61431":{"entryPoint":18960,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ProposalType_$61431t_uint256":{"entryPoint":19363,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":21836,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":18697,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":21556,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":17845,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_addresst_string_calldata_ptrt_string_calldata_ptrt_array$_t_string_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":19824,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_uint256t_enum$_ProposalType_$61431":{"entryPoint":18788,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":20910,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint8":{"entryPoint":19617,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint8t_string_calldata_ptr":{"entryPoint":20097,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":22770,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8_fromMemory":{"entryPoint":21888,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_address_dyn":{"entryPoint":21270,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_bytes_dyn":{"entryPoint":21327,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_uint256_dyn":{"entryPoint":19524,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_bool":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_enum_ProposalType":{"entryPoint":19259,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_string":{"entryPoint":18868,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string_calldata":{"entryPoint":22306,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22835,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":23399,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_library_reversed":{"entryPoint":21666,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__to_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__fromStack_library_reversed":{"entryPoint":22663,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__to_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":22851,"id":null,"parameterSlots":8,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes4_t_bool__to_t_address_t_bytes4_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed":{"entryPoint":22810,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed":{"entryPoint":23174,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":21412,"id":null,"parameterSlots":9,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_library_reversed":{"entryPoint":22959,"id":null,"parameterSlots":8,"returnSlots":1},"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":19654,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":19583,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVOT3_$67719__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed":{"entryPoint":17788,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_TimelockControllerUpgradeable_$1478__to_t_address_payable__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalState_$61406__to_t_uint8__fromStack_reversed":{"entryPoint":19337,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$61431__to_t_uint8__fromStack_reversed":{"entryPoint":19279,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$61431_t_uint256__to_t_uint8_t_uint256__fromStack_library_reversed":{"entryPoint":21581,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$61431_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":23143,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":18912,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_350fdfac125644b2824c59d7d47204e58a1ff9974ddef7f0ab890cde9c8b8a56__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":23068,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6c6d35768718cf2e8d62813ba5806cbd6186e80baa76d90c88ed91ccd770cefc__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_73e11a8abbc9a7177ad14dda9ae7eaada948d41b4e3b2d05d3d7d441fafa03de__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7fa5a327e1b5b4342bcb5efc01693de1812f98a642e298618e3f3416bfc4a5ce__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":21247,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_string_calldata_ptr_t_string_calldata_ptr_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_t_bool__to_t_uint256_t_address_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bool__fromStack_library_reversed":{"entryPoint":22347,"id":null,"parameterSlots":10,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint8_t_string_calldata_ptr__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":22582,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint8_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint8__fromStack_library_reversed":{"entryPoint":21937,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint8__to_t_uint256_t_uint8__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":21917,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":17915,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_array_address_dyn":{"entryPoint":17963,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_bytes":{"entryPoint":18205,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":23366,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":18832,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":21608,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x21":{"entryPoint":19237,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":17893,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":17808,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":19391,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":19602,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:54527:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"142:102:150","statements":[{"nodeType":"YulAssignment","src":"152:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"164:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"175:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"160:3:150"},"nodeType":"YulFunctionCall","src":"160:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"152:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"194:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"209:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"230:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"221:3:150"},"nodeType":"YulFunctionCall","src":"221:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"234:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"217:3:150"},"nodeType":"YulFunctionCall","src":"217:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"205:3:150"},"nodeType":"YulFunctionCall","src":"205:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"187:6:150"},"nodeType":"YulFunctionCall","src":"187:51:150"},"nodeType":"YulExpressionStatement","src":"187:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"111:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"122:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"133:4:150","type":""}],"src":"14:230:150"},{"body":{"nodeType":"YulBlock","src":"294:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"358:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"367:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"370:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"360:6:150"},"nodeType":"YulFunctionCall","src":"360:12:150"},"nodeType":"YulExpressionStatement","src":"360:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"317:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"328:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"343:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"348:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"339:3:150"},"nodeType":"YulFunctionCall","src":"339:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"352:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"335:3:150"},"nodeType":"YulFunctionCall","src":"335:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"324:3:150"},"nodeType":"YulFunctionCall","src":"324:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"314:2:150"},"nodeType":"YulFunctionCall","src":"314:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"307:6:150"},"nodeType":"YulFunctionCall","src":"307:50:150"},"nodeType":"YulIf","src":"304:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"283:5:150","type":""}],"src":"249:131:150"},{"body":{"nodeType":"YulBlock","src":"434:85:150","statements":[{"nodeType":"YulAssignment","src":"444:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"466:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"453:12:150"},"nodeType":"YulFunctionCall","src":"453:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"444:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"507:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"482:24:150"},"nodeType":"YulFunctionCall","src":"482:31:150"},"nodeType":"YulExpressionStatement","src":"482:31:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"413:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"424:5:150","type":""}],"src":"385:134:150"},{"body":{"nodeType":"YulBlock","src":"611:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"657:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"666:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"669:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"659:6:150"},"nodeType":"YulFunctionCall","src":"659:12:150"},"nodeType":"YulExpressionStatement","src":"659:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"632:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"641:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"628:3:150"},"nodeType":"YulFunctionCall","src":"628:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"653:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"624:3:150"},"nodeType":"YulFunctionCall","src":"624:32:150"},"nodeType":"YulIf","src":"621:52:150"},{"nodeType":"YulAssignment","src":"682:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"705:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"692:12:150"},"nodeType":"YulFunctionCall","src":"692:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"682:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"724:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"754:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"765:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"750:3:150"},"nodeType":"YulFunctionCall","src":"750:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"737:12:150"},"nodeType":"YulFunctionCall","src":"737:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"728:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"803:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"778:24:150"},"nodeType":"YulFunctionCall","src":"778:31:150"},"nodeType":"YulExpressionStatement","src":"778:31:150"},{"nodeType":"YulAssignment","src":"818:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"828:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"818:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"569:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"580:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"592:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"600:6:150","type":""}],"src":"524:315:150"},{"body":{"nodeType":"YulBlock","src":"876:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"893:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"900:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"905:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"896:3:150"},"nodeType":"YulFunctionCall","src":"896:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"886:6:150"},"nodeType":"YulFunctionCall","src":"886:31:150"},"nodeType":"YulExpressionStatement","src":"886:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"933:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"936:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"926:6:150"},"nodeType":"YulFunctionCall","src":"926:15:150"},"nodeType":"YulExpressionStatement","src":"926:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"957:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"960:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"950:6:150"},"nodeType":"YulFunctionCall","src":"950:15:150"},"nodeType":"YulExpressionStatement","src":"950:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"844:127:150"},{"body":{"nodeType":"YulBlock","src":"1021:230:150","statements":[{"nodeType":"YulAssignment","src":"1031:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1047:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1041:5:150"},"nodeType":"YulFunctionCall","src":"1041:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1031:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1059:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1081:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"1097:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"1103:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1093:3:150"},"nodeType":"YulFunctionCall","src":"1093:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1112:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1108:3:150"},"nodeType":"YulFunctionCall","src":"1108:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1089:3:150"},"nodeType":"YulFunctionCall","src":"1089:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1077:3:150"},"nodeType":"YulFunctionCall","src":"1077:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1063:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1192:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1194:16:150"},"nodeType":"YulFunctionCall","src":"1194:18:150"},"nodeType":"YulExpressionStatement","src":"1194:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1135:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1155:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1159:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1151:3:150"},"nodeType":"YulFunctionCall","src":"1151:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1163:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1147:3:150"},"nodeType":"YulFunctionCall","src":"1147:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1132:2:150"},"nodeType":"YulFunctionCall","src":"1132:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1171:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1183:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1168:2:150"},"nodeType":"YulFunctionCall","src":"1168:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1129:2:150"},"nodeType":"YulFunctionCall","src":"1129:62:150"},"nodeType":"YulIf","src":"1126:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1230:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1234:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1223:6:150"},"nodeType":"YulFunctionCall","src":"1223:22:150"},"nodeType":"YulExpressionStatement","src":"1223:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1001:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1010:6:150","type":""}],"src":"976:275:150"},{"body":{"nodeType":"YulBlock","src":"1325:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"1369:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1371:16:150"},"nodeType":"YulFunctionCall","src":"1371:18:150"},"nodeType":"YulExpressionStatement","src":"1371:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1341:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1357:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1361:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1353:3:150"},"nodeType":"YulFunctionCall","src":"1353:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1365:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1349:3:150"},"nodeType":"YulFunctionCall","src":"1349:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1338:2:150"},"nodeType":"YulFunctionCall","src":"1338:30:150"},"nodeType":"YulIf","src":"1335:56:150"},{"nodeType":"YulAssignment","src":"1400:33:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1416:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"1419:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1412:3:150"},"nodeType":"YulFunctionCall","src":"1412:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"1428:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1408:3:150"},"nodeType":"YulFunctionCall","src":"1408:25:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"1400:4:150"}]}]},"name":"array_allocation_size_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"1305:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"1316:4:150","type":""}],"src":"1256:183:150"},{"body":{"nodeType":"YulBlock","src":"1508:673:150","statements":[{"body":{"nodeType":"YulBlock","src":"1557:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1566:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1569:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1559:6:150"},"nodeType":"YulFunctionCall","src":"1559:12:150"},"nodeType":"YulExpressionStatement","src":"1559:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1536:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1544:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1532:3:150"},"nodeType":"YulFunctionCall","src":"1532:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"1551:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1528:3:150"},"nodeType":"YulFunctionCall","src":"1528:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1521:6:150"},"nodeType":"YulFunctionCall","src":"1521:35:150"},"nodeType":"YulIf","src":"1518:55:150"},{"nodeType":"YulVariableDeclaration","src":"1582:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1605:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1592:12:150"},"nodeType":"YulFunctionCall","src":"1592:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1586:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1621:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1631:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1625:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1644:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1711:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"1671:39:150"},"nodeType":"YulFunctionCall","src":"1671:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1655:15:150"},"nodeType":"YulFunctionCall","src":"1655:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1648:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1724:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"1737:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"1728:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1756:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1761:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1749:6:150"},"nodeType":"YulFunctionCall","src":"1749:15:150"},"nodeType":"YulExpressionStatement","src":"1749:15:150"},{"nodeType":"YulAssignment","src":"1773:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1784:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1789:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1780:3:150"},"nodeType":"YulFunctionCall","src":"1780:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1773:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1801:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1823:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1835:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1838:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1831:3:150"},"nodeType":"YulFunctionCall","src":"1831:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1819:3:150"},"nodeType":"YulFunctionCall","src":"1819:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1844:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1815:3:150"},"nodeType":"YulFunctionCall","src":"1815:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1805:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1875:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1884:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1887:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1877:6:150"},"nodeType":"YulFunctionCall","src":"1877:12:150"},"nodeType":"YulExpressionStatement","src":"1877:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1862:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"1870:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1859:2:150"},"nodeType":"YulFunctionCall","src":"1859:15:150"},"nodeType":"YulIf","src":"1856:35:150"},{"nodeType":"YulVariableDeclaration","src":"1900:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1915:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1923:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1911:3:150"},"nodeType":"YulFunctionCall","src":"1911:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1904:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1991:161:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2005:30:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2031:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2018:12:150"},"nodeType":"YulFunctionCall","src":"2018:17:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2009:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2073:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"2048:24:150"},"nodeType":"YulFunctionCall","src":"2048:31:150"},"nodeType":"YulExpressionStatement","src":"2048:31:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2099:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"2104:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2092:6:150"},"nodeType":"YulFunctionCall","src":"2092:18:150"},"nodeType":"YulExpressionStatement","src":"2092:18:150"},{"nodeType":"YulAssignment","src":"2123:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2134:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2139:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2130:3:150"},"nodeType":"YulFunctionCall","src":"2130:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2123:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1946:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1951:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1943:2:150"},"nodeType":"YulFunctionCall","src":"1943:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1959:23:150","statements":[{"nodeType":"YulAssignment","src":"1961:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1972:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1977:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1968:3:150"},"nodeType":"YulFunctionCall","src":"1968:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1961:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1939:3:150","statements":[]},"src":"1935:217:150"},{"nodeType":"YulAssignment","src":"2161:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2170:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2161:5:150"}]}]},"name":"abi_decode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1482:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"1490:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1498:5:150","type":""}],"src":"1444:737:150"},{"body":{"nodeType":"YulBlock","src":"2250:598:150","statements":[{"body":{"nodeType":"YulBlock","src":"2299:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2308:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2311:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2301:6:150"},"nodeType":"YulFunctionCall","src":"2301:12:150"},"nodeType":"YulExpressionStatement","src":"2301:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2278:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2286:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2274:3:150"},"nodeType":"YulFunctionCall","src":"2274:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"2293:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2270:3:150"},"nodeType":"YulFunctionCall","src":"2270:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2263:6:150"},"nodeType":"YulFunctionCall","src":"2263:35:150"},"nodeType":"YulIf","src":"2260:55:150"},{"nodeType":"YulVariableDeclaration","src":"2324:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2347:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2334:12:150"},"nodeType":"YulFunctionCall","src":"2334:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2328:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2363:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2373:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2367:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2386:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2453:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"2413:39:150"},"nodeType":"YulFunctionCall","src":"2413:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2397:15:150"},"nodeType":"YulFunctionCall","src":"2397:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2390:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2466:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"2479:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2470:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2498:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2503:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2491:6:150"},"nodeType":"YulFunctionCall","src":"2491:15:150"},"nodeType":"YulExpressionStatement","src":"2491:15:150"},{"nodeType":"YulAssignment","src":"2515:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2526:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2531:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2522:3:150"},"nodeType":"YulFunctionCall","src":"2522:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2515:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2543:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2565:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2577:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"2580:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2573:3:150"},"nodeType":"YulFunctionCall","src":"2573:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2561:3:150"},"nodeType":"YulFunctionCall","src":"2561:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2586:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2557:3:150"},"nodeType":"YulFunctionCall","src":"2557:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2547:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2617:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2626:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2629:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2619:6:150"},"nodeType":"YulFunctionCall","src":"2619:12:150"},"nodeType":"YulExpressionStatement","src":"2619:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2604:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"2612:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2601:2:150"},"nodeType":"YulFunctionCall","src":"2601:15:150"},"nodeType":"YulIf","src":"2598:35:150"},{"nodeType":"YulVariableDeclaration","src":"2642:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2657:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2665:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2653:3:150"},"nodeType":"YulFunctionCall","src":"2653:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2646:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2733:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2754:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2772:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2759:12:150"},"nodeType":"YulFunctionCall","src":"2759:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2747:6:150"},"nodeType":"YulFunctionCall","src":"2747:30:150"},"nodeType":"YulExpressionStatement","src":"2747:30:150"},{"nodeType":"YulAssignment","src":"2790:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2801:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2806:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2797:3:150"},"nodeType":"YulFunctionCall","src":"2797:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2790:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2688:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2693:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2685:2:150"},"nodeType":"YulFunctionCall","src":"2685:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2701:23:150","statements":[{"nodeType":"YulAssignment","src":"2703:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2714:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2719:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2710:3:150"},"nodeType":"YulFunctionCall","src":"2710:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2703:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"2681:3:150","statements":[]},"src":"2677:142:150"},{"nodeType":"YulAssignment","src":"2828:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2837:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2828:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2224:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"2232:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2240:5:150","type":""}],"src":"2186:662:150"},{"body":{"nodeType":"YulBlock","src":"2910:129:150","statements":[{"body":{"nodeType":"YulBlock","src":"2954:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2956:16:150"},"nodeType":"YulFunctionCall","src":"2956:18:150"},"nodeType":"YulExpressionStatement","src":"2956:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2926:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2942:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2946:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2938:3:150"},"nodeType":"YulFunctionCall","src":"2938:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2950:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2934:3:150"},"nodeType":"YulFunctionCall","src":"2934:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2923:2:150"},"nodeType":"YulFunctionCall","src":"2923:30:150"},"nodeType":"YulIf","src":"2920:56:150"},{"nodeType":"YulAssignment","src":"2985:48:150","value":{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3005:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3013:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3001:3:150"},"nodeType":"YulFunctionCall","src":"3001:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3022:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3018:3:150"},"nodeType":"YulFunctionCall","src":"3018:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2997:3:150"},"nodeType":"YulFunctionCall","src":"2997:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"3028:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2993:3:150"},"nodeType":"YulFunctionCall","src":"2993:40:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2985:4:150"}]}]},"name":"array_allocation_size_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2890:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2901:4:150","type":""}],"src":"2853:186:150"},{"body":{"nodeType":"YulBlock","src":"3096:410:150","statements":[{"body":{"nodeType":"YulBlock","src":"3145:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3154:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3157:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3147:6:150"},"nodeType":"YulFunctionCall","src":"3147:12:150"},"nodeType":"YulExpressionStatement","src":"3147:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3124:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3132:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3120:3:150"},"nodeType":"YulFunctionCall","src":"3120:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"3139:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3116:3:150"},"nodeType":"YulFunctionCall","src":"3116:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3109:6:150"},"nodeType":"YulFunctionCall","src":"3109:35:150"},"nodeType":"YulIf","src":"3106:55:150"},{"nodeType":"YulVariableDeclaration","src":"3170:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3193:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3180:12:150"},"nodeType":"YulFunctionCall","src":"3180:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3174:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3209:63:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3268:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"3240:27:150"},"nodeType":"YulFunctionCall","src":"3240:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3224:15:150"},"nodeType":"YulFunctionCall","src":"3224:48:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"3213:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3288:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3297:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3281:6:150"},"nodeType":"YulFunctionCall","src":"3281:19:150"},"nodeType":"YulExpressionStatement","src":"3281:19:150"},{"body":{"nodeType":"YulBlock","src":"3348:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3357:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3360:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3350:6:150"},"nodeType":"YulFunctionCall","src":"3350:12:150"},"nodeType":"YulExpressionStatement","src":"3350:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3323:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3331:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3319:3:150"},"nodeType":"YulFunctionCall","src":"3319:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"3336:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3315:3:150"},"nodeType":"YulFunctionCall","src":"3315:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"3343:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3312:2:150"},"nodeType":"YulFunctionCall","src":"3312:35:150"},"nodeType":"YulIf","src":"3309:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3390:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"3399:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3386:3:150"},"nodeType":"YulFunctionCall","src":"3386:18:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3410:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3418:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3406:3:150"},"nodeType":"YulFunctionCall","src":"3406:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3425:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3373:12:150"},"nodeType":"YulFunctionCall","src":"3373:55:150"},"nodeType":"YulExpressionStatement","src":"3373:55:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"3452:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3461:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3448:3:150"},"nodeType":"YulFunctionCall","src":"3448:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"3466:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3444:3:150"},"nodeType":"YulFunctionCall","src":"3444:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"3473:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3437:6:150"},"nodeType":"YulFunctionCall","src":"3437:38:150"},"nodeType":"YulExpressionStatement","src":"3437:38:150"},{"nodeType":"YulAssignment","src":"3484:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"3493:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3484:5:150"}]}]},"name":"abi_decode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3070:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"3078:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3086:5:150","type":""}],"src":"3044:462:150"},{"body":{"nodeType":"YulBlock","src":"3573:824:150","statements":[{"body":{"nodeType":"YulBlock","src":"3622:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3631:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3634:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3624:6:150"},"nodeType":"YulFunctionCall","src":"3624:12:150"},"nodeType":"YulExpressionStatement","src":"3624:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3601:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3609:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3597:3:150"},"nodeType":"YulFunctionCall","src":"3597:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"3616:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3593:3:150"},"nodeType":"YulFunctionCall","src":"3593:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3586:6:150"},"nodeType":"YulFunctionCall","src":"3586:35:150"},"nodeType":"YulIf","src":"3583:55:150"},{"nodeType":"YulVariableDeclaration","src":"3647:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3670:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3657:12:150"},"nodeType":"YulFunctionCall","src":"3657:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3651:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3686:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3696:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3690:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3709:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3776:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"3736:39:150"},"nodeType":"YulFunctionCall","src":"3736:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"3720:15:150"},"nodeType":"YulFunctionCall","src":"3720:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3713:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3789:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"3802:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"3793:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3821:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3826:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3814:6:150"},"nodeType":"YulFunctionCall","src":"3814:15:150"},"nodeType":"YulExpressionStatement","src":"3814:15:150"},{"nodeType":"YulAssignment","src":"3838:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3849:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3854:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3845:3:150"},"nodeType":"YulFunctionCall","src":"3845:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3838:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"3866:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3888:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3900:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"3903:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3896:3:150"},"nodeType":"YulFunctionCall","src":"3896:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3884:3:150"},"nodeType":"YulFunctionCall","src":"3884:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3909:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3880:3:150"},"nodeType":"YulFunctionCall","src":"3880:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"3870:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3940:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3949:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3952:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3942:6:150"},"nodeType":"YulFunctionCall","src":"3942:12:150"},"nodeType":"YulExpressionStatement","src":"3942:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"3927:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"3935:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3924:2:150"},"nodeType":"YulFunctionCall","src":"3924:15:150"},"nodeType":"YulIf","src":"3921:35:150"},{"nodeType":"YulVariableDeclaration","src":"3965:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3980:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3988:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3976:3:150"},"nodeType":"YulFunctionCall","src":"3976:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3969:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4056:312:150","statements":[{"nodeType":"YulVariableDeclaration","src":"4070:36:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4102:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4089:12:150"},"nodeType":"YulFunctionCall","src":"4089:17:150"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"4074:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4170:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"4188:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4198:1:150","type":"","value":"0"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"4192:2:150","type":""}]},{"expression":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4223:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"4227:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4216:6:150"},"nodeType":"YulFunctionCall","src":"4216:14:150"},"nodeType":"YulExpressionStatement","src":"4216:14:150"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"4125:11:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4146:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4150:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4142:3:150"},"nodeType":"YulFunctionCall","src":"4142:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4154:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4138:3:150"},"nodeType":"YulFunctionCall","src":"4138:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4122:2:150"},"nodeType":"YulFunctionCall","src":"4122:35:150"},"nodeType":"YulIf","src":"4119:125:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4264:3:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4294:6:150"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"4302:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4290:3:150"},"nodeType":"YulFunctionCall","src":"4290:24:150"},{"name":"_2","nodeType":"YulIdentifier","src":"4316:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4286:3:150"},"nodeType":"YulFunctionCall","src":"4286:33:150"},{"name":"end","nodeType":"YulIdentifier","src":"4321:3:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"4269:16:150"},"nodeType":"YulFunctionCall","src":"4269:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4257:6:150"},"nodeType":"YulFunctionCall","src":"4257:69:150"},"nodeType":"YulExpressionStatement","src":"4257:69:150"},{"nodeType":"YulAssignment","src":"4339:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4350:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"4355:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4346:3:150"},"nodeType":"YulFunctionCall","src":"4346:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"4339:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4011:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"4016:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4008:2:150"},"nodeType":"YulFunctionCall","src":"4008:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4024:23:150","statements":[{"nodeType":"YulAssignment","src":"4026:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4037:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"4042:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4033:3:150"},"nodeType":"YulFunctionCall","src":"4033:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"4026:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"4004:3:150","statements":[]},"src":"4000:368:150"},{"nodeType":"YulAssignment","src":"4377:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"4386:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"4377:5:150"}]}]},"name":"abi_decode_array_bytes_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3547:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"3555:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3563:5:150","type":""}],"src":"3511:886:150"},{"body":{"nodeType":"YulBlock","src":"4695:1148:150","statements":[{"body":{"nodeType":"YulBlock","src":"4742:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4751:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4754:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4744:6:150"},"nodeType":"YulFunctionCall","src":"4744:12:150"},"nodeType":"YulExpressionStatement","src":"4744:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4716:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4725:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4712:3:150"},"nodeType":"YulFunctionCall","src":"4712:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4737:3:150","type":"","value":"256"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4708:3:150"},"nodeType":"YulFunctionCall","src":"4708:33:150"},"nodeType":"YulIf","src":"4705:53:150"},{"nodeType":"YulVariableDeclaration","src":"4767:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4794:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4781:12:150"},"nodeType":"YulFunctionCall","src":"4781:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4771:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4813:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4831:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4835:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4827:3:150"},"nodeType":"YulFunctionCall","src":"4827:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4839:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4823:3:150"},"nodeType":"YulFunctionCall","src":"4823:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4817:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4868:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4877:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4880:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4870:6:150"},"nodeType":"YulFunctionCall","src":"4870:12:150"},"nodeType":"YulExpressionStatement","src":"4870:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4856:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4864:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4853:2:150"},"nodeType":"YulFunctionCall","src":"4853:14:150"},"nodeType":"YulIf","src":"4850:34:150"},{"nodeType":"YulAssignment","src":"4893:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4936:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"4947:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4932:3:150"},"nodeType":"YulFunctionCall","src":"4932:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4956:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"4903:28:150"},"nodeType":"YulFunctionCall","src":"4903:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4893:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4973:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5006:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5017:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5002:3:150"},"nodeType":"YulFunctionCall","src":"5002:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4989:12:150"},"nodeType":"YulFunctionCall","src":"4989:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4977:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5050:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5059:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5062:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5052:6:150"},"nodeType":"YulFunctionCall","src":"5052:12:150"},"nodeType":"YulExpressionStatement","src":"5052:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"5036:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5046:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5033:2:150"},"nodeType":"YulFunctionCall","src":"5033:16:150"},"nodeType":"YulIf","src":"5030:36:150"},{"nodeType":"YulAssignment","src":"5075:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5118:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"5129:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5114:3:150"},"nodeType":"YulFunctionCall","src":"5114:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5140:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"5085:28:150"},"nodeType":"YulFunctionCall","src":"5085:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5075:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5157:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5190:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5201:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5186:3:150"},"nodeType":"YulFunctionCall","src":"5186:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5173:12:150"},"nodeType":"YulFunctionCall","src":"5173:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"5161:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5234:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5243:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5246:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5236:6:150"},"nodeType":"YulFunctionCall","src":"5236:12:150"},"nodeType":"YulExpressionStatement","src":"5236:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"5220:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5230:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5217:2:150"},"nodeType":"YulFunctionCall","src":"5217:16:150"},"nodeType":"YulIf","src":"5214:36:150"},{"nodeType":"YulAssignment","src":"5259:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5300:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"5311:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5296:3:150"},"nodeType":"YulFunctionCall","src":"5296:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5322:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"5269:26:150"},"nodeType":"YulFunctionCall","src":"5269:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5259:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5339:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5372:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5383:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5368:3:150"},"nodeType":"YulFunctionCall","src":"5368:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5355:12:150"},"nodeType":"YulFunctionCall","src":"5355:32:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"5343:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5416:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5425:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5428:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5418:6:150"},"nodeType":"YulFunctionCall","src":"5418:12:150"},"nodeType":"YulExpressionStatement","src":"5418:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"5402:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5412:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5399:2:150"},"nodeType":"YulFunctionCall","src":"5399:16:150"},"nodeType":"YulIf","src":"5396:36:150"},{"nodeType":"YulAssignment","src":"5441:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5472:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"5483:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5468:3:150"},"nodeType":"YulFunctionCall","src":"5468:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5494:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"5451:16:150"},"nodeType":"YulFunctionCall","src":"5451:51:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5441:6:150"}]},{"nodeType":"YulAssignment","src":"5511:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5538:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5549:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5534:3:150"},"nodeType":"YulFunctionCall","src":"5534:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5521:12:150"},"nodeType":"YulFunctionCall","src":"5521:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"5511:6:150"}]},{"nodeType":"YulAssignment","src":"5563:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5590:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5601:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5586:3:150"},"nodeType":"YulFunctionCall","src":"5586:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5573:12:150"},"nodeType":"YulFunctionCall","src":"5573:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"5563:6:150"}]},{"nodeType":"YulAssignment","src":"5615:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5648:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5659:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5644:3:150"},"nodeType":"YulFunctionCall","src":"5644:19:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5625:18:150"},"nodeType":"YulFunctionCall","src":"5625:39:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"5615:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5673:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5706:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5717:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5702:3:150"},"nodeType":"YulFunctionCall","src":"5702:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5689:12:150"},"nodeType":"YulFunctionCall","src":"5689:33:150"},"variables":[{"name":"offset_4","nodeType":"YulTypedName","src":"5677:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5751:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5760:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5763:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5753:6:150"},"nodeType":"YulFunctionCall","src":"5753:12:150"},"nodeType":"YulExpressionStatement","src":"5753:12:150"}]},"condition":{"arguments":[{"name":"offset_4","nodeType":"YulIdentifier","src":"5737:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5747:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5734:2:150"},"nodeType":"YulFunctionCall","src":"5734:16:150"},"nodeType":"YulIf","src":"5731:36:150"},{"nodeType":"YulAssignment","src":"5776:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5807:9:150"},{"name":"offset_4","nodeType":"YulIdentifier","src":"5818:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5803:3:150"},"nodeType":"YulFunctionCall","src":"5803:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5829:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"5786:16:150"},"nodeType":"YulFunctionCall","src":"5786:51:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"5776:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4605:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4616:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4628:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4636:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4644:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4652:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4660:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4668:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"4676:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"4684:6:150","type":""}],"src":"4402:1441:150"},{"body":{"nodeType":"YulBlock","src":"5949:76:150","statements":[{"nodeType":"YulAssignment","src":"5959:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5971:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5982:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5967:3:150"},"nodeType":"YulFunctionCall","src":"5967:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5959:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6001:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"6012:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5994:6:150"},"nodeType":"YulFunctionCall","src":"5994:25:150"},"nodeType":"YulExpressionStatement","src":"5994:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5918:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5929:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5940:4:150","type":""}],"src":"5848:177:150"},{"body":{"nodeType":"YulBlock","src":"6100:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"6146:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6155:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6158:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6148:6:150"},"nodeType":"YulFunctionCall","src":"6148:12:150"},"nodeType":"YulExpressionStatement","src":"6148:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6121:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6130:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6117:3:150"},"nodeType":"YulFunctionCall","src":"6117:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6142:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6113:3:150"},"nodeType":"YulFunctionCall","src":"6113:32:150"},"nodeType":"YulIf","src":"6110:52:150"},{"nodeType":"YulAssignment","src":"6171:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6194:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6181:12:150"},"nodeType":"YulFunctionCall","src":"6181:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6171:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6066:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6077:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6089:6:150","type":""}],"src":"6030:180:150"},{"body":{"nodeType":"YulBlock","src":"6263:125:150","statements":[{"nodeType":"YulAssignment","src":"6273:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6295:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6282:12:150"},"nodeType":"YulFunctionCall","src":"6282:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6273:5:150"}]},{"body":{"nodeType":"YulBlock","src":"6366:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6375:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6378:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6368:6:150"},"nodeType":"YulFunctionCall","src":"6368:12:150"},"nodeType":"YulExpressionStatement","src":"6368:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6324:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6335:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6346:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6351:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6342:3:150"},"nodeType":"YulFunctionCall","src":"6342:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6331:3:150"},"nodeType":"YulFunctionCall","src":"6331:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6321:2:150"},"nodeType":"YulFunctionCall","src":"6321:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6314:6:150"},"nodeType":"YulFunctionCall","src":"6314:51:150"},"nodeType":"YulIf","src":"6311:71:150"}]},"name":"abi_decode_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6242:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6253:5:150","type":""}],"src":"6215:173:150"},{"body":{"nodeType":"YulBlock","src":"6462:115:150","statements":[{"body":{"nodeType":"YulBlock","src":"6508:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6517:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6520:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6510:6:150"},"nodeType":"YulFunctionCall","src":"6510:12:150"},"nodeType":"YulExpressionStatement","src":"6510:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6483:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6492:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6479:3:150"},"nodeType":"YulFunctionCall","src":"6479:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6504:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6475:3:150"},"nodeType":"YulFunctionCall","src":"6475:32:150"},"nodeType":"YulIf","src":"6472:52:150"},{"nodeType":"YulAssignment","src":"6533:38:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6561:9:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"6543:17:150"},"nodeType":"YulFunctionCall","src":"6543:28:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6533:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6428:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6439:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6451:6:150","type":""}],"src":"6393:184:150"},{"body":{"nodeType":"YulBlock","src":"6623:50:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6640:3:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6659:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6652:6:150"},"nodeType":"YulFunctionCall","src":"6652:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6645:6:150"},"nodeType":"YulFunctionCall","src":"6645:21:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6633:6:150"},"nodeType":"YulFunctionCall","src":"6633:34:150"},"nodeType":"YulExpressionStatement","src":"6633:34:150"}]},"name":"abi_encode_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6607:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6614:3:150","type":""}],"src":"6582:91:150"},{"body":{"nodeType":"YulBlock","src":"6773:92:150","statements":[{"nodeType":"YulAssignment","src":"6783:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6795:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6806:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6791:3:150"},"nodeType":"YulFunctionCall","src":"6791:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6783:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6825:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6850:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6843:6:150"},"nodeType":"YulFunctionCall","src":"6843:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6836:6:150"},"nodeType":"YulFunctionCall","src":"6836:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6818:6:150"},"nodeType":"YulFunctionCall","src":"6818:41:150"},"nodeType":"YulExpressionStatement","src":"6818:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6742:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6753:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6764:4:150","type":""}],"src":"6678:187:150"},{"body":{"nodeType":"YulBlock","src":"6929:94:150","statements":[{"nodeType":"YulAssignment","src":"6939:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6961:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6948:12:150"},"nodeType":"YulFunctionCall","src":"6948:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6939:5:150"}]},{"body":{"nodeType":"YulBlock","src":"7001:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7010:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7013:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7003:6:150"},"nodeType":"YulFunctionCall","src":"7003:12:150"},"nodeType":"YulExpressionStatement","src":"7003:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6990:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"6997:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6987:2:150"},"nodeType":"YulFunctionCall","src":"6987:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6980:6:150"},"nodeType":"YulFunctionCall","src":"6980:20:150"},"nodeType":"YulIf","src":"6977:40:150"}]},"name":"abi_decode_enum_ProposalType","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6908:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6919:5:150","type":""}],"src":"6870:153:150"},{"body":{"nodeType":"YulBlock","src":"7133:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"7179:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7188:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7191:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7181:6:150"},"nodeType":"YulFunctionCall","src":"7181:12:150"},"nodeType":"YulExpressionStatement","src":"7181:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7154:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7163:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7150:3:150"},"nodeType":"YulFunctionCall","src":"7150:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7175:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7146:3:150"},"nodeType":"YulFunctionCall","src":"7146:32:150"},"nodeType":"YulIf","src":"7143:52:150"},{"nodeType":"YulAssignment","src":"7204:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7227:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7214:12:150"},"nodeType":"YulFunctionCall","src":"7214:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7204:6:150"}]},{"nodeType":"YulAssignment","src":"7246:58:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7289:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7300:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7285:3:150"},"nodeType":"YulFunctionCall","src":"7285:18:150"}],"functionName":{"name":"abi_decode_enum_ProposalType","nodeType":"YulIdentifier","src":"7256:28:150"},"nodeType":"YulFunctionCall","src":"7256:48:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7246:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_enum$_ProposalType_$61431","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7091:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7102:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7114:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7122:6:150","type":""}],"src":"7028:282:150"},{"body":{"nodeType":"YulBlock","src":"7381:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7391:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7400:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7395:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7460:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7485:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"7490:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7481:3:150"},"nodeType":"YulFunctionCall","src":"7481:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7504:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"7509:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7500:3:150"},"nodeType":"YulFunctionCall","src":"7500:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7494:5:150"},"nodeType":"YulFunctionCall","src":"7494:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7474:6:150"},"nodeType":"YulFunctionCall","src":"7474:39:150"},"nodeType":"YulExpressionStatement","src":"7474:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7421:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"7424:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7418:2:150"},"nodeType":"YulFunctionCall","src":"7418:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7432:19:150","statements":[{"nodeType":"YulAssignment","src":"7434:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7443:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"7446:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7439:3:150"},"nodeType":"YulFunctionCall","src":"7439:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7434:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"7414:3:150","statements":[]},"src":"7410:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7543:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"7548:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7539:3:150"},"nodeType":"YulFunctionCall","src":"7539:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"7557:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7532:6:150"},"nodeType":"YulFunctionCall","src":"7532:27:150"},"nodeType":"YulExpressionStatement","src":"7532:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"7359:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"7364:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"7369:6:150","type":""}],"src":"7315:250:150"},{"body":{"nodeType":"YulBlock","src":"7620:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7630:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7650:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7644:5:150"},"nodeType":"YulFunctionCall","src":"7644:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7634:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7672:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"7677:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7665:6:150"},"nodeType":"YulFunctionCall","src":"7665:19:150"},"nodeType":"YulExpressionStatement","src":"7665:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7732:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"7739:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7728:3:150"},"nodeType":"YulFunctionCall","src":"7728:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7750:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"7755:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7746:3:150"},"nodeType":"YulFunctionCall","src":"7746:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"7762:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"7693:34:150"},"nodeType":"YulFunctionCall","src":"7693:76:150"},"nodeType":"YulExpressionStatement","src":"7693:76:150"},{"nodeType":"YulAssignment","src":"7778:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7793:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7806:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7814:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7802:3:150"},"nodeType":"YulFunctionCall","src":"7802:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7823:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7819:3:150"},"nodeType":"YulFunctionCall","src":"7819:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7798:3:150"},"nodeType":"YulFunctionCall","src":"7798:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7789:3:150"},"nodeType":"YulFunctionCall","src":"7789:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"7830:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7785:3:150"},"nodeType":"YulFunctionCall","src":"7785:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7778:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7597:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7604:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7612:3:150","type":""}],"src":"7570:271:150"},{"body":{"nodeType":"YulBlock","src":"7967:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7984:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7995:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7977:6:150"},"nodeType":"YulFunctionCall","src":"7977:21:150"},"nodeType":"YulExpressionStatement","src":"7977:21:150"},{"nodeType":"YulAssignment","src":"8007:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8033:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8045:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8056:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8041:3:150"},"nodeType":"YulFunctionCall","src":"8041:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"8015:17:150"},"nodeType":"YulFunctionCall","src":"8015:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8007:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7936:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7947:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7958:4:150","type":""}],"src":"7846:220:150"},{"body":{"nodeType":"YulBlock","src":"8170:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"8216:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8225:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8228:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8218:6:150"},"nodeType":"YulFunctionCall","src":"8218:12:150"},"nodeType":"YulExpressionStatement","src":"8218:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8191:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8200:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8187:3:150"},"nodeType":"YulFunctionCall","src":"8187:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8212:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8183:3:150"},"nodeType":"YulFunctionCall","src":"8183:32:150"},"nodeType":"YulIf","src":"8180:52:150"},{"nodeType":"YulVariableDeclaration","src":"8241:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8267:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8254:12:150"},"nodeType":"YulFunctionCall","src":"8254:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8245:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8311:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"8286:24:150"},"nodeType":"YulFunctionCall","src":"8286:31:150"},"nodeType":"YulExpressionStatement","src":"8286:31:150"},{"nodeType":"YulAssignment","src":"8326:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"8336:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8326:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8136:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8147:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8159:6:150","type":""}],"src":"8071:276:150"},{"body":{"nodeType":"YulBlock","src":"8440:126:150","statements":[{"body":{"nodeType":"YulBlock","src":"8486:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8495:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8498:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8488:6:150"},"nodeType":"YulFunctionCall","src":"8488:12:150"},"nodeType":"YulExpressionStatement","src":"8488:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8461:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8470:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8457:3:150"},"nodeType":"YulFunctionCall","src":"8457:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8482:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8453:3:150"},"nodeType":"YulFunctionCall","src":"8453:32:150"},"nodeType":"YulIf","src":"8450:52:150"},{"nodeType":"YulAssignment","src":"8511:49:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8550:9:150"}],"functionName":{"name":"abi_decode_enum_ProposalType","nodeType":"YulIdentifier","src":"8521:28:150"},"nodeType":"YulFunctionCall","src":"8521:39:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8511:6:150"}]}]},"name":"abi_decode_tuple_t_enum$_ProposalType_$61431","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8406:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8417:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8429:6:150","type":""}],"src":"8352:214:150"},{"body":{"nodeType":"YulBlock","src":"8672:102:150","statements":[{"nodeType":"YulAssignment","src":"8682:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8694:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8705:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8690:3:150"},"nodeType":"YulFunctionCall","src":"8690:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8682:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8724:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8739:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8755:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8760:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8751:3:150"},"nodeType":"YulFunctionCall","src":"8751:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8764:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8747:3:150"},"nodeType":"YulFunctionCall","src":"8747:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8735:3:150"},"nodeType":"YulFunctionCall","src":"8735:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8717:6:150"},"nodeType":"YulFunctionCall","src":"8717:51:150"},"nodeType":"YulExpressionStatement","src":"8717:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8641:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8652:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8663:4:150","type":""}],"src":"8571:203:150"},{"body":{"nodeType":"YulBlock","src":"8909:535:150","statements":[{"body":{"nodeType":"YulBlock","src":"8956:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8965:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8968:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8958:6:150"},"nodeType":"YulFunctionCall","src":"8958:12:150"},"nodeType":"YulExpressionStatement","src":"8958:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8930:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8939:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8926:3:150"},"nodeType":"YulFunctionCall","src":"8926:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8951:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8922:3:150"},"nodeType":"YulFunctionCall","src":"8922:33:150"},"nodeType":"YulIf","src":"8919:53:150"},{"nodeType":"YulVariableDeclaration","src":"8981:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9007:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8994:12:150"},"nodeType":"YulFunctionCall","src":"8994:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8985:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9051:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"9026:24:150"},"nodeType":"YulFunctionCall","src":"9026:31:150"},"nodeType":"YulExpressionStatement","src":"9026:31:150"},{"nodeType":"YulAssignment","src":"9066:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"9076:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9066:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9090:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9122:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9133:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9118:3:150"},"nodeType":"YulFunctionCall","src":"9118:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9105:12:150"},"nodeType":"YulFunctionCall","src":"9105:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"9094:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"9171:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"9146:24:150"},"nodeType":"YulFunctionCall","src":"9146:33:150"},"nodeType":"YulExpressionStatement","src":"9146:33:150"},{"nodeType":"YulAssignment","src":"9188:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"9198:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9188:6:150"}]},{"nodeType":"YulAssignment","src":"9214:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9241:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9252:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9237:3:150"},"nodeType":"YulFunctionCall","src":"9237:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9224:12:150"},"nodeType":"YulFunctionCall","src":"9224:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9214:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9265:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9296:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9307:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9292:3:150"},"nodeType":"YulFunctionCall","src":"9292:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9279:12:150"},"nodeType":"YulFunctionCall","src":"9279:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9269:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9354:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9363:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9366:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9356:6:150"},"nodeType":"YulFunctionCall","src":"9356:12:150"},"nodeType":"YulExpressionStatement","src":"9356:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9326:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9342:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9346:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9338:3:150"},"nodeType":"YulFunctionCall","src":"9338:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9350:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9334:3:150"},"nodeType":"YulFunctionCall","src":"9334:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9323:2:150"},"nodeType":"YulFunctionCall","src":"9323:30:150"},"nodeType":"YulIf","src":"9320:50:150"},{"nodeType":"YulAssignment","src":"9379:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9410:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9421:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9406:3:150"},"nodeType":"YulFunctionCall","src":"9406:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9430:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"9389:16:150"},"nodeType":"YulFunctionCall","src":"9389:49:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"9379:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8851:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8862:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8874:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8882:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8890:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8898:6:150","type":""}],"src":"8779:665:150"},{"body":{"nodeType":"YulBlock","src":"9548:103:150","statements":[{"nodeType":"YulAssignment","src":"9558:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9570:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9581:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9566:3:150"},"nodeType":"YulFunctionCall","src":"9566:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9558:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9600:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9615:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9627:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9632:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9623:3:150"},"nodeType":"YulFunctionCall","src":"9623:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9611:3:150"},"nodeType":"YulFunctionCall","src":"9611:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9593:6:150"},"nodeType":"YulFunctionCall","src":"9593:52:150"},"nodeType":"YulExpressionStatement","src":"9593:52:150"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9517:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9528:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9539:4:150","type":""}],"src":"9449:202:150"},{"body":{"nodeType":"YulBlock","src":"9861:692:150","statements":[{"body":{"nodeType":"YulBlock","src":"9908:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9917:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9920:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9910:6:150"},"nodeType":"YulFunctionCall","src":"9910:12:150"},"nodeType":"YulExpressionStatement","src":"9910:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9882:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9891:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9878:3:150"},"nodeType":"YulFunctionCall","src":"9878:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9903:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9874:3:150"},"nodeType":"YulFunctionCall","src":"9874:33:150"},"nodeType":"YulIf","src":"9871:53:150"},{"nodeType":"YulVariableDeclaration","src":"9933:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9960:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9947:12:150"},"nodeType":"YulFunctionCall","src":"9947:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9937:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9979:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9997:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"10001:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9993:3:150"},"nodeType":"YulFunctionCall","src":"9993:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"10005:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9989:3:150"},"nodeType":"YulFunctionCall","src":"9989:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9983:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10034:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10043:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10046:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10036:6:150"},"nodeType":"YulFunctionCall","src":"10036:12:150"},"nodeType":"YulExpressionStatement","src":"10036:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10022:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10030:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10019:2:150"},"nodeType":"YulFunctionCall","src":"10019:14:150"},"nodeType":"YulIf","src":"10016:34:150"},{"nodeType":"YulAssignment","src":"10059:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10102:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"10113:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10098:3:150"},"nodeType":"YulFunctionCall","src":"10098:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10122:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"10069:28:150"},"nodeType":"YulFunctionCall","src":"10069:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10059:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10139:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10172:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10183:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10168:3:150"},"nodeType":"YulFunctionCall","src":"10168:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10155:12:150"},"nodeType":"YulFunctionCall","src":"10155:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"10143:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10216:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10225:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10228:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10218:6:150"},"nodeType":"YulFunctionCall","src":"10218:12:150"},"nodeType":"YulExpressionStatement","src":"10218:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"10202:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10212:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10199:2:150"},"nodeType":"YulFunctionCall","src":"10199:16:150"},"nodeType":"YulIf","src":"10196:36:150"},{"nodeType":"YulAssignment","src":"10241:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10284:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"10295:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10280:3:150"},"nodeType":"YulFunctionCall","src":"10280:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10306:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"10251:28:150"},"nodeType":"YulFunctionCall","src":"10251:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10241:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10323:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10356:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10367:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10352:3:150"},"nodeType":"YulFunctionCall","src":"10352:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10339:12:150"},"nodeType":"YulFunctionCall","src":"10339:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"10327:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10400:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10409:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10412:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10402:6:150"},"nodeType":"YulFunctionCall","src":"10402:12:150"},"nodeType":"YulExpressionStatement","src":"10402:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"10386:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10396:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10383:2:150"},"nodeType":"YulFunctionCall","src":"10383:16:150"},"nodeType":"YulIf","src":"10380:36:150"},{"nodeType":"YulAssignment","src":"10425:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10466:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"10477:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10462:3:150"},"nodeType":"YulFunctionCall","src":"10462:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10488:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"10435:26:150"},"nodeType":"YulFunctionCall","src":"10435:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10425:6:150"}]},{"nodeType":"YulAssignment","src":"10505:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10532:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10543:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10528:3:150"},"nodeType":"YulFunctionCall","src":"10528:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10515:12:150"},"nodeType":"YulFunctionCall","src":"10515:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"10505:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9803:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9814:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9826:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9834:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9842:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9850:6:150","type":""}],"src":"9656:897:150"},{"body":{"nodeType":"YulBlock","src":"10628:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"10674:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10683:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10686:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10676:6:150"},"nodeType":"YulFunctionCall","src":"10676:12:150"},"nodeType":"YulExpressionStatement","src":"10676:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10649:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10658:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10645:3:150"},"nodeType":"YulFunctionCall","src":"10645:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10670:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10641:3:150"},"nodeType":"YulFunctionCall","src":"10641:32:150"},"nodeType":"YulIf","src":"10638:52:150"},{"nodeType":"YulAssignment","src":"10699:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10722:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10709:12:150"},"nodeType":"YulFunctionCall","src":"10709:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10699:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10594:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10605:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10617:6:150","type":""}],"src":"10558:180:150"},{"body":{"nodeType":"YulBlock","src":"10844:76:150","statements":[{"nodeType":"YulAssignment","src":"10854:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10866:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10877:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10862:3:150"},"nodeType":"YulFunctionCall","src":"10862:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10854:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10896:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10907:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10889:6:150"},"nodeType":"YulFunctionCall","src":"10889:25:150"},"nodeType":"YulExpressionStatement","src":"10889:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10813:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10824:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10835:4:150","type":""}],"src":"10743:177:150"},{"body":{"nodeType":"YulBlock","src":"10957:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10974:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10981:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10986:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10977:3:150"},"nodeType":"YulFunctionCall","src":"10977:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10967:6:150"},"nodeType":"YulFunctionCall","src":"10967:31:150"},"nodeType":"YulExpressionStatement","src":"10967:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11014:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"11017:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11007:6:150"},"nodeType":"YulFunctionCall","src":"11007:15:150"},"nodeType":"YulExpressionStatement","src":"11007:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11038:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11041:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11031:6:150"},"nodeType":"YulFunctionCall","src":"11031:15:150"},"nodeType":"YulExpressionStatement","src":"11031:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"10925:127:150"},{"body":{"nodeType":"YulBlock","src":"11111:89:150","statements":[{"body":{"nodeType":"YulBlock","src":"11145:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"11147:16:150"},"nodeType":"YulFunctionCall","src":"11147:18:150"},"nodeType":"YulExpressionStatement","src":"11147:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11134:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"11141:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11131:2:150"},"nodeType":"YulFunctionCall","src":"11131:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11124:6:150"},"nodeType":"YulFunctionCall","src":"11124:20:150"},"nodeType":"YulIf","src":"11121:46:150"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11183:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"11188:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11176:6:150"},"nodeType":"YulFunctionCall","src":"11176:18:150"},"nodeType":"YulExpressionStatement","src":"11176:18:150"}]},"name":"abi_encode_enum_ProposalType","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11095:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11102:3:150","type":""}],"src":"11057:143:150"},{"body":{"nodeType":"YulBlock","src":"11322:98:150","statements":[{"nodeType":"YulAssignment","src":"11332:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11344:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11355:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11340:3:150"},"nodeType":"YulFunctionCall","src":"11340:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11332:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11396:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11404:9:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"11367:28:150"},"nodeType":"YulFunctionCall","src":"11367:47:150"},"nodeType":"YulExpressionStatement","src":"11367:47:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$61431__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11291:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11302:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11313:4:150","type":""}],"src":"11205:215:150"},{"body":{"nodeType":"YulBlock","src":"11512:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"11558:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11567:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11570:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11560:6:150"},"nodeType":"YulFunctionCall","src":"11560:12:150"},"nodeType":"YulExpressionStatement","src":"11560:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11533:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11542:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11529:3:150"},"nodeType":"YulFunctionCall","src":"11529:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11554:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11525:3:150"},"nodeType":"YulFunctionCall","src":"11525:32:150"},"nodeType":"YulIf","src":"11522:52:150"},{"nodeType":"YulAssignment","src":"11583:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11606:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11593:12:150"},"nodeType":"YulFunctionCall","src":"11593:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11583:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"11625:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11655:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11666:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11651:3:150"},"nodeType":"YulFunctionCall","src":"11651:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11638:12:150"},"nodeType":"YulFunctionCall","src":"11638:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11629:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11704:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11679:24:150"},"nodeType":"YulFunctionCall","src":"11679:31:150"},"nodeType":"YulExpressionStatement","src":"11679:31:150"},{"nodeType":"YulAssignment","src":"11719:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11729:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11719:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11470:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11481:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11493:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11501:6:150","type":""}],"src":"11425:315:150"},{"body":{"nodeType":"YulBlock","src":"11851:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"11897:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11906:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11909:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11899:6:150"},"nodeType":"YulFunctionCall","src":"11899:12:150"},"nodeType":"YulExpressionStatement","src":"11899:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11872:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11881:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11868:3:150"},"nodeType":"YulFunctionCall","src":"11868:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11893:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11864:3:150"},"nodeType":"YulFunctionCall","src":"11864:32:150"},"nodeType":"YulIf","src":"11861:52:150"},{"nodeType":"YulVariableDeclaration","src":"11922:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11948:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11935:12:150"},"nodeType":"YulFunctionCall","src":"11935:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11926:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11992:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11967:24:150"},"nodeType":"YulFunctionCall","src":"11967:31:150"},"nodeType":"YulExpressionStatement","src":"11967:31:150"},{"nodeType":"YulAssignment","src":"12007:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12017:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12007:6:150"}]},{"nodeType":"YulAssignment","src":"12031:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12058:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12069:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12054:3:150"},"nodeType":"YulFunctionCall","src":"12054:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12041:12:150"},"nodeType":"YulFunctionCall","src":"12041:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"12031:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_ITreasury_$67241t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11809:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11820:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11832:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11840:6:150","type":""}],"src":"11745:334:150"},{"body":{"nodeType":"YulBlock","src":"12190:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"12236:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12245:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12248:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12238:6:150"},"nodeType":"YulFunctionCall","src":"12238:12:150"},"nodeType":"YulExpressionStatement","src":"12238:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12211:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12220:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12207:3:150"},"nodeType":"YulFunctionCall","src":"12207:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12232:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12203:3:150"},"nodeType":"YulFunctionCall","src":"12203:32:150"},"nodeType":"YulIf","src":"12200:52:150"},{"nodeType":"YulVariableDeclaration","src":"12261:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12287:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12274:12:150"},"nodeType":"YulFunctionCall","src":"12274:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12265:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12331:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12306:24:150"},"nodeType":"YulFunctionCall","src":"12306:31:150"},"nodeType":"YulExpressionStatement","src":"12306:31:150"},{"nodeType":"YulAssignment","src":"12346:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12356:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12346:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12156:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12167:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12179:6:150","type":""}],"src":"12084:283:150"},{"body":{"nodeType":"YulBlock","src":"12490:133:150","statements":[{"nodeType":"YulAssignment","src":"12500:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12512:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12523:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12508:3:150"},"nodeType":"YulFunctionCall","src":"12508:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12500:4:150"}]},{"body":{"nodeType":"YulBlock","src":"12561:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"12563:16:150"},"nodeType":"YulFunctionCall","src":"12563:18:150"},"nodeType":"YulExpressionStatement","src":"12563:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12548:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12556:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12545:2:150"},"nodeType":"YulFunctionCall","src":"12545:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12538:6:150"},"nodeType":"YulFunctionCall","src":"12538:22:150"},"nodeType":"YulIf","src":"12535:48:150"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12599:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12610:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12592:6:150"},"nodeType":"YulFunctionCall","src":"12592:25:150"},"nodeType":"YulExpressionStatement","src":"12592:25:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalState_$61406__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12459:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12470:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12481:4:150","type":""}],"src":"12372:251:150"},{"body":{"nodeType":"YulBlock","src":"12733:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"12779:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12788:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12791:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12781:6:150"},"nodeType":"YulFunctionCall","src":"12781:12:150"},"nodeType":"YulExpressionStatement","src":"12781:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12754:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12763:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12750:3:150"},"nodeType":"YulFunctionCall","src":"12750:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12775:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12746:3:150"},"nodeType":"YulFunctionCall","src":"12746:32:150"},"nodeType":"YulIf","src":"12743:52:150"},{"nodeType":"YulAssignment","src":"12804:49:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12843:9:150"}],"functionName":{"name":"abi_decode_enum_ProposalType","nodeType":"YulIdentifier","src":"12814:28:150"},"nodeType":"YulFunctionCall","src":"12814:39:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12804:6:150"}]},{"nodeType":"YulAssignment","src":"12862:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12889:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12900:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12885:3:150"},"nodeType":"YulFunctionCall","src":"12885:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12872:12:150"},"nodeType":"YulFunctionCall","src":"12872:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"12862:6:150"}]}]},"name":"abi_decode_tuple_t_enum$_ProposalType_$61431t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12691:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12702:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12714:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12722:6:150","type":""}],"src":"12628:282:150"},{"body":{"nodeType":"YulBlock","src":"12957:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"13011:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13020:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13023:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13013:6:150"},"nodeType":"YulFunctionCall","src":"13013:12:150"},"nodeType":"YulExpressionStatement","src":"13013:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12980:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13001:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12994:6:150"},"nodeType":"YulFunctionCall","src":"12994:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12987:6:150"},"nodeType":"YulFunctionCall","src":"12987:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12977:2:150"},"nodeType":"YulFunctionCall","src":"12977:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12970:6:150"},"nodeType":"YulFunctionCall","src":"12970:40:150"},"nodeType":"YulIf","src":"12967:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12946:5:150","type":""}],"src":"12915:118:150"},{"body":{"nodeType":"YulBlock","src":"13084:82:150","statements":[{"nodeType":"YulAssignment","src":"13094:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13116:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13103:12:150"},"nodeType":"YulFunctionCall","src":"13103:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"13094:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13154:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"13132:21:150"},"nodeType":"YulFunctionCall","src":"13132:28:150"},"nodeType":"YulExpressionStatement","src":"13132:28:150"}]},"name":"abi_decode_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"13063:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"13074:5:150","type":""}],"src":"13038:128:150"},{"body":{"nodeType":"YulBlock","src":"13238:174:150","statements":[{"body":{"nodeType":"YulBlock","src":"13284:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13293:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13296:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13286:6:150"},"nodeType":"YulFunctionCall","src":"13286:12:150"},"nodeType":"YulExpressionStatement","src":"13286:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13259:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13268:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13255:3:150"},"nodeType":"YulFunctionCall","src":"13255:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13280:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13251:3:150"},"nodeType":"YulFunctionCall","src":"13251:32:150"},"nodeType":"YulIf","src":"13248:52:150"},{"nodeType":"YulVariableDeclaration","src":"13309:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13335:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13322:12:150"},"nodeType":"YulFunctionCall","src":"13322:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13313:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13376:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"13354:21:150"},"nodeType":"YulFunctionCall","src":"13354:28:150"},"nodeType":"YulExpressionStatement","src":"13354:28:150"},{"nodeType":"YulAssignment","src":"13391:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13401:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13391:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13204:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13215:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13227:6:150","type":""}],"src":"13171:241:150"},{"body":{"nodeType":"YulBlock","src":"13513:359:150","statements":[{"body":{"nodeType":"YulBlock","src":"13559:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13568:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13571:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13561:6:150"},"nodeType":"YulFunctionCall","src":"13561:12:150"},"nodeType":"YulExpressionStatement","src":"13561:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13534:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13543:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13530:3:150"},"nodeType":"YulFunctionCall","src":"13530:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13555:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13526:3:150"},"nodeType":"YulFunctionCall","src":"13526:32:150"},"nodeType":"YulIf","src":"13523:52:150"},{"nodeType":"YulVariableDeclaration","src":"13584:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13610:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13597:12:150"},"nodeType":"YulFunctionCall","src":"13597:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13588:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13654:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13629:24:150"},"nodeType":"YulFunctionCall","src":"13629:31:150"},"nodeType":"YulExpressionStatement","src":"13629:31:150"},{"nodeType":"YulAssignment","src":"13669:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13679:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13669:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13693:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13724:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13735:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13720:3:150"},"nodeType":"YulFunctionCall","src":"13720:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13707:12:150"},"nodeType":"YulFunctionCall","src":"13707:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13697:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"13782:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13791:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13794:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13784:6:150"},"nodeType":"YulFunctionCall","src":"13784:12:150"},"nodeType":"YulExpressionStatement","src":"13784:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13754:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13770:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"13774:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13766:3:150"},"nodeType":"YulFunctionCall","src":"13766:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"13778:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13762:3:150"},"nodeType":"YulFunctionCall","src":"13762:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13751:2:150"},"nodeType":"YulFunctionCall","src":"13751:30:150"},"nodeType":"YulIf","src":"13748:50:150"},{"nodeType":"YulAssignment","src":"13807:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13838:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"13849:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13834:3:150"},"nodeType":"YulFunctionCall","src":"13834:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13858:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"13817:16:150"},"nodeType":"YulFunctionCall","src":"13817:49:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13807:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13471:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13482:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13494:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13502:6:150","type":""}],"src":"13417:455:150"},{"body":{"nodeType":"YulBlock","src":"14034:162:150","statements":[{"nodeType":"YulAssignment","src":"14044:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14056:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14067:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14052:3:150"},"nodeType":"YulFunctionCall","src":"14052:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14044:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14086:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"14097:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14079:6:150"},"nodeType":"YulFunctionCall","src":"14079:25:150"},"nodeType":"YulExpressionStatement","src":"14079:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14124:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14135:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14120:3:150"},"nodeType":"YulFunctionCall","src":"14120:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"14140:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14113:6:150"},"nodeType":"YulFunctionCall","src":"14113:34:150"},"nodeType":"YulExpressionStatement","src":"14113:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14167:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14178:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14163:3:150"},"nodeType":"YulFunctionCall","src":"14163:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"14183:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14156:6:150"},"nodeType":"YulFunctionCall","src":"14156:34:150"},"nodeType":"YulExpressionStatement","src":"14156:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13987:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13998:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14006:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14014:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14025:4:150","type":""}],"src":"13877:319:150"},{"body":{"nodeType":"YulBlock","src":"14262:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"14272:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14292:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14286:5:150"},"nodeType":"YulFunctionCall","src":"14286:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"14276:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14314:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"14319:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14307:6:150"},"nodeType":"YulFunctionCall","src":"14307:19:150"},"nodeType":"YulExpressionStatement","src":"14307:19:150"},{"nodeType":"YulVariableDeclaration","src":"14335:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14345:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14339:2:150","type":""}]},{"nodeType":"YulAssignment","src":"14358:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14369:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14374:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14365:3:150"},"nodeType":"YulFunctionCall","src":"14365:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14358:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"14386:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14404:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14411:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14400:3:150"},"nodeType":"YulFunctionCall","src":"14400:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"14390:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14423:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14432:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"14427:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14491:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14512:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"14523:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14517:5:150"},"nodeType":"YulFunctionCall","src":"14517:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14505:6:150"},"nodeType":"YulFunctionCall","src":"14505:26:150"},"nodeType":"YulExpressionStatement","src":"14505:26:150"},{"nodeType":"YulAssignment","src":"14544:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14555:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14560:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14551:3:150"},"nodeType":"YulFunctionCall","src":"14551:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14544:3:150"}]},{"nodeType":"YulAssignment","src":"14576:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"14590:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14598:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14586:3:150"},"nodeType":"YulFunctionCall","src":"14586:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"14576:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14453:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"14456:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14450:2:150"},"nodeType":"YulFunctionCall","src":"14450:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"14464:18:150","statements":[{"nodeType":"YulAssignment","src":"14466:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14475:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"14478:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14471:3:150"},"nodeType":"YulFunctionCall","src":"14471:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"14466:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"14446:3:150","statements":[]},"src":"14442:169:150"},{"nodeType":"YulAssignment","src":"14620:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"14627:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14620:3:150"}]}]},"name":"abi_encode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14239:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14246:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14254:3:150","type":""}],"src":"14201:435:150"},{"body":{"nodeType":"YulBlock","src":"14792:110:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14809:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14820:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14802:6:150"},"nodeType":"YulFunctionCall","src":"14802:21:150"},"nodeType":"YulExpressionStatement","src":"14802:21:150"},{"nodeType":"YulAssignment","src":"14832:64:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14869:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14881:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14892:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14877:3:150"},"nodeType":"YulFunctionCall","src":"14877:18:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"14840:28:150"},"nodeType":"YulFunctionCall","src":"14840:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14832:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14761:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14772:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14783:4:150","type":""}],"src":"14641:261:150"},{"body":{"nodeType":"YulBlock","src":"14950:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"14999:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15008:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15011:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15001:6:150"},"nodeType":"YulFunctionCall","src":"15001:12:150"},"nodeType":"YulExpressionStatement","src":"15001:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14973:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14984:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"14991:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14980:3:150"},"nodeType":"YulFunctionCall","src":"14980:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14970:2:150"},"nodeType":"YulFunctionCall","src":"14970:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14963:6:150"},"nodeType":"YulFunctionCall","src":"14963:35:150"},"nodeType":"YulIf","src":"14960:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14939:5:150","type":""}],"src":"14907:114:150"},{"body":{"nodeType":"YulBlock","src":"15111:226:150","statements":[{"body":{"nodeType":"YulBlock","src":"15157:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15166:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15169:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15159:6:150"},"nodeType":"YulFunctionCall","src":"15159:12:150"},"nodeType":"YulExpressionStatement","src":"15159:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15132:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15141:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15128:3:150"},"nodeType":"YulFunctionCall","src":"15128:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15153:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15124:3:150"},"nodeType":"YulFunctionCall","src":"15124:32:150"},"nodeType":"YulIf","src":"15121:52:150"},{"nodeType":"YulAssignment","src":"15182:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15205:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15192:12:150"},"nodeType":"YulFunctionCall","src":"15192:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15182:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"15224:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15254:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15265:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15250:3:150"},"nodeType":"YulFunctionCall","src":"15250:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15237:12:150"},"nodeType":"YulFunctionCall","src":"15237:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15228:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15301:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"15278:22:150"},"nodeType":"YulFunctionCall","src":"15278:29:150"},"nodeType":"YulExpressionStatement","src":"15278:29:150"},{"nodeType":"YulAssignment","src":"15316:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15326:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15316:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15069:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15080:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15092:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15100:6:150","type":""}],"src":"15026:311:150"},{"body":{"nodeType":"YulBlock","src":"15458:102:150","statements":[{"nodeType":"YulAssignment","src":"15468:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15480:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15491:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15476:3:150"},"nodeType":"YulFunctionCall","src":"15476:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15468:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15510:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15525:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15541:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"15546:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15537:3:150"},"nodeType":"YulFunctionCall","src":"15537:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"15550:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15533:3:150"},"nodeType":"YulFunctionCall","src":"15533:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15521:3:150"},"nodeType":"YulFunctionCall","src":"15521:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15503:6:150"},"nodeType":"YulFunctionCall","src":"15503:51:150"},"nodeType":"YulExpressionStatement","src":"15503:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15427:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15438:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15449:4:150","type":""}],"src":"15342:218:150"},{"body":{"nodeType":"YulBlock","src":"15736:632:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15746:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15756:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"15750:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15767:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15785:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15796:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15781:3:150"},"nodeType":"YulFunctionCall","src":"15781:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"15771:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15815:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15826:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15808:6:150"},"nodeType":"YulFunctionCall","src":"15808:21:150"},"nodeType":"YulExpressionStatement","src":"15808:21:150"},{"nodeType":"YulVariableDeclaration","src":"15838:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"15849:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"15842:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15864:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15884:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15878:5:150"},"nodeType":"YulFunctionCall","src":"15878:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"15868:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"15907:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"15915:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15900:6:150"},"nodeType":"YulFunctionCall","src":"15900:22:150"},"nodeType":"YulExpressionStatement","src":"15900:22:150"},{"nodeType":"YulAssignment","src":"15931:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15942:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15953:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15938:3:150"},"nodeType":"YulFunctionCall","src":"15938:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15931:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"15965:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15987:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16002:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"16005:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15998:3:150"},"nodeType":"YulFunctionCall","src":"15998:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15983:3:150"},"nodeType":"YulFunctionCall","src":"15983:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"16015:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15979:3:150"},"nodeType":"YulFunctionCall","src":"15979:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"15969:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16027:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16045:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16053:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16041:3:150"},"nodeType":"YulFunctionCall","src":"16041:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"16031:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16065:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16074:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"16069:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16133:206:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16154:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"16167:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16175:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16163:3:150"},"nodeType":"YulFunctionCall","src":"16163:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16191:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16187:3:150"},"nodeType":"YulFunctionCall","src":"16187:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16159:3:150"},"nodeType":"YulFunctionCall","src":"16159:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16147:6:150"},"nodeType":"YulFunctionCall","src":"16147:49:150"},"nodeType":"YulExpressionStatement","src":"16147:49:150"},{"nodeType":"YulAssignment","src":"16209:50:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16243:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16237:5:150"},"nodeType":"YulFunctionCall","src":"16237:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"16252:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"16219:17:150"},"nodeType":"YulFunctionCall","src":"16219:40:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"16209:6:150"}]},{"nodeType":"YulAssignment","src":"16272:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16286:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16294:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16282:3:150"},"nodeType":"YulFunctionCall","src":"16282:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16272:6:150"}]},{"nodeType":"YulAssignment","src":"16310:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16321:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16326:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16317:3:150"},"nodeType":"YulFunctionCall","src":"16317:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16310:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16095:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"16098:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16092:2:150"},"nodeType":"YulFunctionCall","src":"16092:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16106:18:150","statements":[{"nodeType":"YulAssignment","src":"16108:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16117:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"16120:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16113:3:150"},"nodeType":"YulFunctionCall","src":"16113:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16108:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"16088:3:150","statements":[]},"src":"16084:255:150"},{"nodeType":"YulAssignment","src":"16348:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"16356:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16348:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15705:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15716:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15727:4:150","type":""}],"src":"15565:803:150"},{"body":{"nodeType":"YulBlock","src":"16446:275:150","statements":[{"body":{"nodeType":"YulBlock","src":"16495:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16504:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16507:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16497:6:150"},"nodeType":"YulFunctionCall","src":"16497:12:150"},"nodeType":"YulExpressionStatement","src":"16497:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16474:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"16482:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16470:3:150"},"nodeType":"YulFunctionCall","src":"16470:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"16489:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16466:3:150"},"nodeType":"YulFunctionCall","src":"16466:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16459:6:150"},"nodeType":"YulFunctionCall","src":"16459:35:150"},"nodeType":"YulIf","src":"16456:55:150"},{"nodeType":"YulAssignment","src":"16520:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16543:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16530:12:150"},"nodeType":"YulFunctionCall","src":"16530:20:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"16520:6:150"}]},{"body":{"nodeType":"YulBlock","src":"16593:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16602:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16605:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16595:6:150"},"nodeType":"YulFunctionCall","src":"16595:12:150"},"nodeType":"YulExpressionStatement","src":"16595:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"16565:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16581:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"16585:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16577:3:150"},"nodeType":"YulFunctionCall","src":"16577:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"16589:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16573:3:150"},"nodeType":"YulFunctionCall","src":"16573:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16562:2:150"},"nodeType":"YulFunctionCall","src":"16562:30:150"},"nodeType":"YulIf","src":"16559:50:150"},{"nodeType":"YulAssignment","src":"16618:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16634:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"16642:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16630:3:150"},"nodeType":"YulFunctionCall","src":"16630:17:150"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"16618:8:150"}]},{"body":{"nodeType":"YulBlock","src":"16699:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16708:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16711:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16701:6:150"},"nodeType":"YulFunctionCall","src":"16701:12:150"},"nodeType":"YulExpressionStatement","src":"16701:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"16670:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"16678:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16666:3:150"},"nodeType":"YulFunctionCall","src":"16666:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"16687:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16662:3:150"},"nodeType":"YulFunctionCall","src":"16662:30:150"},{"name":"end","nodeType":"YulIdentifier","src":"16694:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16659:2:150"},"nodeType":"YulFunctionCall","src":"16659:39:150"},"nodeType":"YulIf","src":"16656:59:150"}]},"name":"abi_decode_string_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"16409:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"16417:3:150","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"16425:8:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"16435:6:150","type":""}],"src":"16373:348:150"},{"body":{"nodeType":"YulBlock","src":"16951:1185:150","statements":[{"body":{"nodeType":"YulBlock","src":"16998:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17007:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17010:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17000:6:150"},"nodeType":"YulFunctionCall","src":"17000:12:150"},"nodeType":"YulExpressionStatement","src":"17000:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16972:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16981:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16968:3:150"},"nodeType":"YulFunctionCall","src":"16968:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16993:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16964:3:150"},"nodeType":"YulFunctionCall","src":"16964:33:150"},"nodeType":"YulIf","src":"16961:53:150"},{"nodeType":"YulAssignment","src":"17023:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17046:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17033:12:150"},"nodeType":"YulFunctionCall","src":"17033:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17023:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"17065:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17095:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17106:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17091:3:150"},"nodeType":"YulFunctionCall","src":"17091:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17078:12:150"},"nodeType":"YulFunctionCall","src":"17078:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17069:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17144:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"17119:24:150"},"nodeType":"YulFunctionCall","src":"17119:31:150"},"nodeType":"YulExpressionStatement","src":"17119:31:150"},{"nodeType":"YulAssignment","src":"17159:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"17169:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"17159:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"17183:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17214:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17225:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17210:3:150"},"nodeType":"YulFunctionCall","src":"17210:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17197:12:150"},"nodeType":"YulFunctionCall","src":"17197:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17187:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17238:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17256:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"17260:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17252:3:150"},"nodeType":"YulFunctionCall","src":"17252:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"17264:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17248:3:150"},"nodeType":"YulFunctionCall","src":"17248:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17242:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17293:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17302:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17305:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17295:6:150"},"nodeType":"YulFunctionCall","src":"17295:12:150"},"nodeType":"YulExpressionStatement","src":"17295:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17281:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17289:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17278:2:150"},"nodeType":"YulFunctionCall","src":"17278:14:150"},"nodeType":"YulIf","src":"17275:34:150"},{"nodeType":"YulVariableDeclaration","src":"17318:85:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17375:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"17386:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17371:3:150"},"nodeType":"YulFunctionCall","src":"17371:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17395:7:150"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"17344:26:150"},"nodeType":"YulFunctionCall","src":"17344:59:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"17322:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"17332:8:150","type":""}]},{"nodeType":"YulAssignment","src":"17412:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"17422:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"17412:6:150"}]},{"nodeType":"YulAssignment","src":"17439:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"17449:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"17439:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"17466:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17499:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17510:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17495:3:150"},"nodeType":"YulFunctionCall","src":"17495:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17482:12:150"},"nodeType":"YulFunctionCall","src":"17482:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"17470:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17543:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17552:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17555:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17545:6:150"},"nodeType":"YulFunctionCall","src":"17545:12:150"},"nodeType":"YulExpressionStatement","src":"17545:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"17529:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17539:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17526:2:150"},"nodeType":"YulFunctionCall","src":"17526:16:150"},"nodeType":"YulIf","src":"17523:36:150"},{"nodeType":"YulVariableDeclaration","src":"17568:87:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17625:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"17636:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17621:3:150"},"nodeType":"YulFunctionCall","src":"17621:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17647:7:150"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"17594:26:150"},"nodeType":"YulFunctionCall","src":"17594:61:150"},"variables":[{"name":"value4_1","nodeType":"YulTypedName","src":"17572:8:150","type":""},{"name":"value5_1","nodeType":"YulTypedName","src":"17582:8:150","type":""}]},{"nodeType":"YulAssignment","src":"17664:18:150","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"17674:8:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"17664:6:150"}]},{"nodeType":"YulAssignment","src":"17691:18:150","value":{"name":"value5_1","nodeType":"YulIdentifier","src":"17701:8:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"17691:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"17718:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17751:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17762:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17747:3:150"},"nodeType":"YulFunctionCall","src":"17747:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17734:12:150"},"nodeType":"YulFunctionCall","src":"17734:33:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"17722:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17796:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17805:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17808:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17798:6:150"},"nodeType":"YulFunctionCall","src":"17798:12:150"},"nodeType":"YulExpressionStatement","src":"17798:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"17782:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17792:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17779:2:150"},"nodeType":"YulFunctionCall","src":"17779:16:150"},"nodeType":"YulIf","src":"17776:36:150"},{"nodeType":"YulVariableDeclaration","src":"17821:34:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17835:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"17846:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17831:3:150"},"nodeType":"YulFunctionCall","src":"17831:24:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"17825:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17903:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17912:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17915:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17905:6:150"},"nodeType":"YulFunctionCall","src":"17905:12:150"},"nodeType":"YulExpressionStatement","src":"17905:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"17882:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"17886:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17878:3:150"},"nodeType":"YulFunctionCall","src":"17878:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17893:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17874:3:150"},"nodeType":"YulFunctionCall","src":"17874:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17867:6:150"},"nodeType":"YulFunctionCall","src":"17867:35:150"},"nodeType":"YulIf","src":"17864:55:150"},{"nodeType":"YulVariableDeclaration","src":"17928:30:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"17955:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17942:12:150"},"nodeType":"YulFunctionCall","src":"17942:16:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"17932:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17985:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17994:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17997:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17987:6:150"},"nodeType":"YulFunctionCall","src":"17987:12:150"},"nodeType":"YulExpressionStatement","src":"17987:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17973:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17981:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17970:2:150"},"nodeType":"YulFunctionCall","src":"17970:14:150"},"nodeType":"YulIf","src":"17967:34:150"},{"body":{"nodeType":"YulBlock","src":"18059:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18068:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18071:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18061:6:150"},"nodeType":"YulFunctionCall","src":"18061:12:150"},"nodeType":"YulExpressionStatement","src":"18061:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18024:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18032:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"18035:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18028:3:150"},"nodeType":"YulFunctionCall","src":"18028:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18020:3:150"},"nodeType":"YulFunctionCall","src":"18020:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"18045:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18016:3:150"},"nodeType":"YulFunctionCall","src":"18016:32:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18050:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18013:2:150"},"nodeType":"YulFunctionCall","src":"18013:45:150"},"nodeType":"YulIf","src":"18010:65:150"},{"nodeType":"YulAssignment","src":"18084:21:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18098:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"18102:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18094:3:150"},"nodeType":"YulFunctionCall","src":"18094:11:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"18084:6:150"}]},{"nodeType":"YulAssignment","src":"18114:16:150","value":{"name":"length","nodeType":"YulIdentifier","src":"18124:6:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"18114:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_string_calldata_ptrt_string_calldata_ptrt_array$_t_string_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16861:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16872:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16884:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16892:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"16900:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"16908:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"16916:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"16924:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"16932:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"16940:6:150","type":""}],"src":"16726:1410:150"},{"body":{"nodeType":"YulBlock","src":"18271:102:150","statements":[{"nodeType":"YulAssignment","src":"18281:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18293:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18304:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18289:3:150"},"nodeType":"YulFunctionCall","src":"18289:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18281:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18323:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18338:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18354:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"18359:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18350:3:150"},"nodeType":"YulFunctionCall","src":"18350:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"18363:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18346:3:150"},"nodeType":"YulFunctionCall","src":"18346:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18334:3:150"},"nodeType":"YulFunctionCall","src":"18334:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18316:6:150"},"nodeType":"YulFunctionCall","src":"18316:51:150"},"nodeType":"YulExpressionStatement","src":"18316:51:150"}]},"name":"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18240:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18251:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18262:4:150","type":""}],"src":"18141:232:150"},{"body":{"nodeType":"YulBlock","src":"18464:233:150","statements":[{"body":{"nodeType":"YulBlock","src":"18510:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18519:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18522:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18512:6:150"},"nodeType":"YulFunctionCall","src":"18512:12:150"},"nodeType":"YulExpressionStatement","src":"18512:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18485:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"18494:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18481:3:150"},"nodeType":"YulFunctionCall","src":"18481:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"18506:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18477:3:150"},"nodeType":"YulFunctionCall","src":"18477:32:150"},"nodeType":"YulIf","src":"18474:52:150"},{"nodeType":"YulVariableDeclaration","src":"18535:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18561:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18548:12:150"},"nodeType":"YulFunctionCall","src":"18548:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"18539:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18605:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"18580:24:150"},"nodeType":"YulFunctionCall","src":"18580:31:150"},"nodeType":"YulExpressionStatement","src":"18580:31:150"},{"nodeType":"YulAssignment","src":"18620:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"18630:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"18620:6:150"}]},{"nodeType":"YulAssignment","src":"18644:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18676:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18687:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18672:3:150"},"nodeType":"YulFunctionCall","src":"18672:18:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"18654:17:150"},"nodeType":"YulFunctionCall","src":"18654:37:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"18644:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18422:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"18433:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"18445:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18453:6:150","type":""}],"src":"18378:319:150"},{"body":{"nodeType":"YulBlock","src":"18795:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"18841:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18850:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18853:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18843:6:150"},"nodeType":"YulFunctionCall","src":"18843:12:150"},"nodeType":"YulExpressionStatement","src":"18843:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18816:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"18825:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18812:3:150"},"nodeType":"YulFunctionCall","src":"18812:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"18837:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18808:3:150"},"nodeType":"YulFunctionCall","src":"18808:32:150"},"nodeType":"YulIf","src":"18805:52:150"},{"nodeType":"YulVariableDeclaration","src":"18866:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18892:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"18879:12:150"},"nodeType":"YulFunctionCall","src":"18879:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"18870:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18936:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"18911:24:150"},"nodeType":"YulFunctionCall","src":"18911:31:150"},"nodeType":"YulExpressionStatement","src":"18911:31:150"},{"nodeType":"YulAssignment","src":"18951:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"18961:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"18951:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18761:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"18772:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"18784:6:150","type":""}],"src":"18702:270:150"},{"body":{"nodeType":"YulBlock","src":"19099:488:150","statements":[{"body":{"nodeType":"YulBlock","src":"19145:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19154:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19157:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19147:6:150"},"nodeType":"YulFunctionCall","src":"19147:12:150"},"nodeType":"YulExpressionStatement","src":"19147:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19120:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19129:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19116:3:150"},"nodeType":"YulFunctionCall","src":"19116:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19141:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19112:3:150"},"nodeType":"YulFunctionCall","src":"19112:32:150"},"nodeType":"YulIf","src":"19109:52:150"},{"nodeType":"YulAssignment","src":"19170:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19193:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19180:12:150"},"nodeType":"YulFunctionCall","src":"19180:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19170:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"19212:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19242:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19253:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19238:3:150"},"nodeType":"YulFunctionCall","src":"19238:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19225:12:150"},"nodeType":"YulFunctionCall","src":"19225:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"19216:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19289:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"19266:22:150"},"nodeType":"YulFunctionCall","src":"19266:29:150"},"nodeType":"YulExpressionStatement","src":"19266:29:150"},{"nodeType":"YulAssignment","src":"19304:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"19314:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"19304:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"19328:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19359:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19370:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19355:3:150"},"nodeType":"YulFunctionCall","src":"19355:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19342:12:150"},"nodeType":"YulFunctionCall","src":"19342:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"19332:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19417:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19426:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19429:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19419:6:150"},"nodeType":"YulFunctionCall","src":"19419:12:150"},"nodeType":"YulExpressionStatement","src":"19419:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19389:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19405:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"19409:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19401:3:150"},"nodeType":"YulFunctionCall","src":"19401:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"19413:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19397:3:150"},"nodeType":"YulFunctionCall","src":"19397:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19386:2:150"},"nodeType":"YulFunctionCall","src":"19386:30:150"},"nodeType":"YulIf","src":"19383:50:150"},{"nodeType":"YulVariableDeclaration","src":"19442:85:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19499:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"19510:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19495:3:150"},"nodeType":"YulFunctionCall","src":"19495:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"19519:7:150"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"19468:26:150"},"nodeType":"YulFunctionCall","src":"19468:59:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"19446:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"19456:8:150","type":""}]},{"nodeType":"YulAssignment","src":"19536:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"19546:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"19536:6:150"}]},{"nodeType":"YulAssignment","src":"19563:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"19573:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"19563:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint8t_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19041:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19052:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19064:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19072:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19080:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19088:6:150","type":""}],"src":"18977:610:150"},{"body":{"nodeType":"YulBlock","src":"19717:973:150","statements":[{"body":{"nodeType":"YulBlock","src":"19763:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19772:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19775:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19765:6:150"},"nodeType":"YulFunctionCall","src":"19765:12:150"},"nodeType":"YulExpressionStatement","src":"19765:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19738:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19747:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19734:3:150"},"nodeType":"YulFunctionCall","src":"19734:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19759:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19730:3:150"},"nodeType":"YulFunctionCall","src":"19730:32:150"},"nodeType":"YulIf","src":"19727:52:150"},{"nodeType":"YulVariableDeclaration","src":"19788:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19814:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19801:12:150"},"nodeType":"YulFunctionCall","src":"19801:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"19792:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19858:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"19833:24:150"},"nodeType":"YulFunctionCall","src":"19833:31:150"},"nodeType":"YulExpressionStatement","src":"19833:31:150"},{"nodeType":"YulAssignment","src":"19873:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"19883:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19873:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"19897:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19907:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"19901:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"19918:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19949:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19960:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19945:3:150"},"nodeType":"YulFunctionCall","src":"19945:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"19932:12:150"},"nodeType":"YulFunctionCall","src":"19932:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"19922:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"20007:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20016:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20019:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20009:6:150"},"nodeType":"YulFunctionCall","src":"20009:12:150"},"nodeType":"YulExpressionStatement","src":"20009:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"19979:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19995:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"19999:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19991:3:150"},"nodeType":"YulFunctionCall","src":"19991:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"20003:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19987:3:150"},"nodeType":"YulFunctionCall","src":"19987:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19976:2:150"},"nodeType":"YulFunctionCall","src":"19976:30:150"},"nodeType":"YulIf","src":"19973:50:150"},{"nodeType":"YulVariableDeclaration","src":"20032:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20046:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"20057:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20042:3:150"},"nodeType":"YulFunctionCall","src":"20042:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"20036:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"20112:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20121:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20124:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20114:6:150"},"nodeType":"YulFunctionCall","src":"20114:12:150"},"nodeType":"YulExpressionStatement","src":"20114:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"20091:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"20095:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20087:3:150"},"nodeType":"YulFunctionCall","src":"20087:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20102:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20083:3:150"},"nodeType":"YulFunctionCall","src":"20083:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20076:6:150"},"nodeType":"YulFunctionCall","src":"20076:35:150"},"nodeType":"YulIf","src":"20073:55:150"},{"nodeType":"YulVariableDeclaration","src":"20137:26:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"20160:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"20147:12:150"},"nodeType":"YulFunctionCall","src":"20147:16:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"20141:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20172:71:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"20239:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"20199:39:150"},"nodeType":"YulFunctionCall","src":"20199:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"20183:15:150"},"nodeType":"YulFunctionCall","src":"20183:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"20176:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20252:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"20265:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"20256:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"20284:3:150"},{"name":"_3","nodeType":"YulIdentifier","src":"20289:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20277:6:150"},"nodeType":"YulFunctionCall","src":"20277:15:150"},"nodeType":"YulExpressionStatement","src":"20277:15:150"},{"nodeType":"YulAssignment","src":"20301:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"20312:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20317:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20308:3:150"},"nodeType":"YulFunctionCall","src":"20308:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"20301:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"20329:42:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"20351:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20359:1:150","type":"","value":"5"},{"name":"_3","nodeType":"YulIdentifier","src":"20362:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20355:3:150"},"nodeType":"YulFunctionCall","src":"20355:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20347:3:150"},"nodeType":"YulFunctionCall","src":"20347:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20368:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20343:3:150"},"nodeType":"YulFunctionCall","src":"20343:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"20333:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"20403:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20412:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20415:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20405:6:150"},"nodeType":"YulFunctionCall","src":"20405:12:150"},"nodeType":"YulExpressionStatement","src":"20405:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"20386:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"20394:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20383:2:150"},"nodeType":"YulFunctionCall","src":"20383:19:150"},"nodeType":"YulIf","src":"20380:39:150"},{"nodeType":"YulVariableDeclaration","src":"20428:22:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"20443:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20447:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20439:3:150"},"nodeType":"YulFunctionCall","src":"20439:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"20432:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"20515:91:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"20536:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"20559:3:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"20541:17:150"},"nodeType":"YulFunctionCall","src":"20541:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20529:6:150"},"nodeType":"YulFunctionCall","src":"20529:35:150"},"nodeType":"YulExpressionStatement","src":"20529:35:150"},{"nodeType":"YulAssignment","src":"20577:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"20588:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20593:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20584:3:150"},"nodeType":"YulFunctionCall","src":"20584:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"20577:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"20470:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"20475:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"20467:2:150"},"nodeType":"YulFunctionCall","src":"20467:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"20483:23:150","statements":[{"nodeType":"YulAssignment","src":"20485:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"20496:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20501:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20492:3:150"},"nodeType":"YulFunctionCall","src":"20492:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"20485:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"20463:3:150","statements":[]},"src":"20459:147:150"},{"nodeType":"YulAssignment","src":"20615:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"20625:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"20615:6:150"}]},{"nodeType":"YulAssignment","src":"20639:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20669:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20680:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20665:3:150"},"nodeType":"YulFunctionCall","src":"20665:18:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"20649:15:150"},"nodeType":"YulFunctionCall","src":"20649:35:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"20639:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19667:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19678:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19690:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19698:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19706:6:150","type":""}],"src":"19592:1098:150"},{"body":{"nodeType":"YulBlock","src":"20794:97:150","statements":[{"nodeType":"YulAssignment","src":"20804:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20816:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20827:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20812:3:150"},"nodeType":"YulFunctionCall","src":"20812:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20804:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20846:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20861:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"20869:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20857:3:150"},"nodeType":"YulFunctionCall","src":"20857:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20839:6:150"},"nodeType":"YulFunctionCall","src":"20839:46:150"},"nodeType":"YulExpressionStatement","src":"20839:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20763:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20774:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20785:4:150","type":""}],"src":"20695:196:150"},{"body":{"nodeType":"YulBlock","src":"20966:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"21012:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21021:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21024:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21014:6:150"},"nodeType":"YulFunctionCall","src":"21014:12:150"},"nodeType":"YulExpressionStatement","src":"21014:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20987:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20996:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20983:3:150"},"nodeType":"YulFunctionCall","src":"20983:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21008:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20979:3:150"},"nodeType":"YulFunctionCall","src":"20979:32:150"},"nodeType":"YulIf","src":"20976:52:150"},{"nodeType":"YulVariableDeclaration","src":"21037:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21063:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21050:12:150"},"nodeType":"YulFunctionCall","src":"21050:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21041:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21107:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"21082:24:150"},"nodeType":"YulFunctionCall","src":"21082:31:150"},"nodeType":"YulExpressionStatement","src":"21082:31:150"},{"nodeType":"YulAssignment","src":"21122:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21132:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21122:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20932:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20943:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20955:6:150","type":""}],"src":"20896:247:150"},{"body":{"nodeType":"YulBlock","src":"21272:102:150","statements":[{"nodeType":"YulAssignment","src":"21282:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21294:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21305:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21290:3:150"},"nodeType":"YulFunctionCall","src":"21290:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21282:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21324:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21339:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21355:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"21360:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21351:3:150"},"nodeType":"YulFunctionCall","src":"21351:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"21364:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21347:3:150"},"nodeType":"YulFunctionCall","src":"21347:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21335:3:150"},"nodeType":"YulFunctionCall","src":"21335:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21317:6:150"},"nodeType":"YulFunctionCall","src":"21317:51:150"},"nodeType":"YulExpressionStatement","src":"21317:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21241:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21252:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21263:4:150","type":""}],"src":"21148:226:150"},{"body":{"nodeType":"YulBlock","src":"21466:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"21512:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21521:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21524:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21514:6:150"},"nodeType":"YulFunctionCall","src":"21514:12:150"},"nodeType":"YulExpressionStatement","src":"21514:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21487:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21496:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21483:3:150"},"nodeType":"YulFunctionCall","src":"21483:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21508:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21479:3:150"},"nodeType":"YulFunctionCall","src":"21479:32:150"},"nodeType":"YulIf","src":"21476:52:150"},{"nodeType":"YulVariableDeclaration","src":"21537:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21563:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21550:12:150"},"nodeType":"YulFunctionCall","src":"21550:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21541:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21607:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"21582:24:150"},"nodeType":"YulFunctionCall","src":"21582:31:150"},"nodeType":"YulExpressionStatement","src":"21582:31:150"},{"nodeType":"YulAssignment","src":"21622:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21632:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21622:6:150"}]},{"nodeType":"YulAssignment","src":"21646:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21673:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21684:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21669:3:150"},"nodeType":"YulFunctionCall","src":"21669:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21656:12:150"},"nodeType":"YulFunctionCall","src":"21656:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"21646:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21424:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21435:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21447:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21455:6:150","type":""}],"src":"21379:315:150"},{"body":{"nodeType":"YulBlock","src":"21860:352:150","statements":[{"body":{"nodeType":"YulBlock","src":"21906:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21915:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21918:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21908:6:150"},"nodeType":"YulFunctionCall","src":"21908:12:150"},"nodeType":"YulExpressionStatement","src":"21908:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21881:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21890:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21877:3:150"},"nodeType":"YulFunctionCall","src":"21877:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21902:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21873:3:150"},"nodeType":"YulFunctionCall","src":"21873:32:150"},"nodeType":"YulIf","src":"21870:52:150"},{"nodeType":"YulVariableDeclaration","src":"21931:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21957:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"21944:12:150"},"nodeType":"YulFunctionCall","src":"21944:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21935:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22001:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"21976:24:150"},"nodeType":"YulFunctionCall","src":"21976:31:150"},"nodeType":"YulExpressionStatement","src":"21976:31:150"},{"nodeType":"YulAssignment","src":"22016:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"22026:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22016:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"22040:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22072:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22083:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22068:3:150"},"nodeType":"YulFunctionCall","src":"22068:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22055:12:150"},"nodeType":"YulFunctionCall","src":"22055:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"22044:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"22121:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"22096:24:150"},"nodeType":"YulFunctionCall","src":"22096:33:150"},"nodeType":"YulExpressionStatement","src":"22096:33:150"},{"nodeType":"YulAssignment","src":"22138:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"22148:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"22138:6:150"}]},{"nodeType":"YulAssignment","src":"22164:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22191:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22202:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22187:3:150"},"nodeType":"YulFunctionCall","src":"22187:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22174:12:150"},"nodeType":"YulFunctionCall","src":"22174:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"22164:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_contract$_IRelayerRewardsPool_$67117t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21810:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21821:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21833:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21841:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"21849:6:150","type":""}],"src":"21699:513:150"},{"body":{"nodeType":"YulBlock","src":"22325:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"22371:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22380:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22383:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22373:6:150"},"nodeType":"YulFunctionCall","src":"22373:12:150"},"nodeType":"YulExpressionStatement","src":"22373:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22346:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22355:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22342:3:150"},"nodeType":"YulFunctionCall","src":"22342:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22367:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22338:3:150"},"nodeType":"YulFunctionCall","src":"22338:32:150"},"nodeType":"YulIf","src":"22335:52:150"},{"nodeType":"YulVariableDeclaration","src":"22396:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22422:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22409:12:150"},"nodeType":"YulFunctionCall","src":"22409:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"22400:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22466:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"22441:24:150"},"nodeType":"YulFunctionCall","src":"22441:31:150"},"nodeType":"YulExpressionStatement","src":"22441:31:150"},{"nodeType":"YulAssignment","src":"22481:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"22491:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22481:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22291:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22302:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22314:6:150","type":""}],"src":"22217:285:150"},{"body":{"nodeType":"YulBlock","src":"22600:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"22646:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22655:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22658:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22648:6:150"},"nodeType":"YulFunctionCall","src":"22648:12:150"},"nodeType":"YulExpressionStatement","src":"22648:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22621:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22630:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22617:3:150"},"nodeType":"YulFunctionCall","src":"22617:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22642:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22613:3:150"},"nodeType":"YulFunctionCall","src":"22613:32:150"},"nodeType":"YulIf","src":"22610:52:150"},{"nodeType":"YulVariableDeclaration","src":"22671:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22697:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22684:12:150"},"nodeType":"YulFunctionCall","src":"22684:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"22675:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22741:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"22716:24:150"},"nodeType":"YulFunctionCall","src":"22716:31:150"},"nodeType":"YulExpressionStatement","src":"22716:31:150"},{"nodeType":"YulAssignment","src":"22756:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"22766:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22756:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IGalaxyMember_$65196","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22566:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22577:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22589:6:150","type":""}],"src":"22507:270:150"},{"body":{"nodeType":"YulBlock","src":"22879:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"22925:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22934:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22937:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22927:6:150"},"nodeType":"YulFunctionCall","src":"22927:12:150"},"nodeType":"YulExpressionStatement","src":"22927:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22900:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22909:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22896:3:150"},"nodeType":"YulFunctionCall","src":"22896:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22921:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22892:3:150"},"nodeType":"YulFunctionCall","src":"22892:32:150"},"nodeType":"YulIf","src":"22889:52:150"},{"nodeType":"YulVariableDeclaration","src":"22950:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22976:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22963:12:150"},"nodeType":"YulFunctionCall","src":"22963:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"22954:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23020:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"22995:24:150"},"nodeType":"YulFunctionCall","src":"22995:31:150"},"nodeType":"YulExpressionStatement","src":"22995:31:150"},{"nodeType":"YulAssignment","src":"23035:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"23045:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23035:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22845:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22856:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22868:6:150","type":""}],"src":"22782:274:150"},{"body":{"nodeType":"YulBlock","src":"23258:874:150","statements":[{"body":{"nodeType":"YulBlock","src":"23305:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23314:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23317:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23307:6:150"},"nodeType":"YulFunctionCall","src":"23307:12:150"},"nodeType":"YulExpressionStatement","src":"23307:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23279:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23288:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23275:3:150"},"nodeType":"YulFunctionCall","src":"23275:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23300:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23271:3:150"},"nodeType":"YulFunctionCall","src":"23271:33:150"},"nodeType":"YulIf","src":"23268:53:150"},{"nodeType":"YulVariableDeclaration","src":"23330:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23356:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23343:12:150"},"nodeType":"YulFunctionCall","src":"23343:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"23334:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23400:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"23375:24:150"},"nodeType":"YulFunctionCall","src":"23375:31:150"},"nodeType":"YulExpressionStatement","src":"23375:31:150"},{"nodeType":"YulAssignment","src":"23415:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"23425:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23415:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"23439:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23471:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23482:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23467:3:150"},"nodeType":"YulFunctionCall","src":"23467:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23454:12:150"},"nodeType":"YulFunctionCall","src":"23454:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"23443:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"23520:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"23495:24:150"},"nodeType":"YulFunctionCall","src":"23495:33:150"},"nodeType":"YulExpressionStatement","src":"23495:33:150"},{"nodeType":"YulAssignment","src":"23537:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"23547:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"23537:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"23563:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23594:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23605:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23590:3:150"},"nodeType":"YulFunctionCall","src":"23590:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23577:12:150"},"nodeType":"YulFunctionCall","src":"23577:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23567:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"23618:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23636:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"23640:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23632:3:150"},"nodeType":"YulFunctionCall","src":"23632:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"23644:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23628:3:150"},"nodeType":"YulFunctionCall","src":"23628:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23622:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"23673:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23682:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23685:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23675:6:150"},"nodeType":"YulFunctionCall","src":"23675:12:150"},"nodeType":"YulExpressionStatement","src":"23675:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"23661:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23669:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23658:2:150"},"nodeType":"YulFunctionCall","src":"23658:14:150"},"nodeType":"YulIf","src":"23655:34:150"},{"nodeType":"YulAssignment","src":"23698:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23741:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"23752:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23737:3:150"},"nodeType":"YulFunctionCall","src":"23737:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"23761:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"23708:28:150"},"nodeType":"YulFunctionCall","src":"23708:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"23698:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"23778:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23811:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23822:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23807:3:150"},"nodeType":"YulFunctionCall","src":"23807:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23794:12:150"},"nodeType":"YulFunctionCall","src":"23794:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"23782:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"23855:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23864:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23867:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23857:6:150"},"nodeType":"YulFunctionCall","src":"23857:12:150"},"nodeType":"YulExpressionStatement","src":"23857:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"23841:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23851:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23838:2:150"},"nodeType":"YulFunctionCall","src":"23838:16:150"},"nodeType":"YulIf","src":"23835:36:150"},{"nodeType":"YulAssignment","src":"23880:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23923:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"23934:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23919:3:150"},"nodeType":"YulFunctionCall","src":"23919:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"23945:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"23890:28:150"},"nodeType":"YulFunctionCall","src":"23890:63:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"23880:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"23962:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23995:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24006:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23991:3:150"},"nodeType":"YulFunctionCall","src":"23991:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"23978:12:150"},"nodeType":"YulFunctionCall","src":"23978:33:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"23966:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"24040:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24049:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24052:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24042:6:150"},"nodeType":"YulFunctionCall","src":"24042:12:150"},"nodeType":"YulExpressionStatement","src":"24042:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"24026:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24036:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24023:2:150"},"nodeType":"YulFunctionCall","src":"24023:16:150"},"nodeType":"YulIf","src":"24020:36:150"},{"nodeType":"YulAssignment","src":"24065:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24096:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"24107:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24092:3:150"},"nodeType":"YulFunctionCall","src":"24092:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"24118:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"24075:16:150"},"nodeType":"YulFunctionCall","src":"24075:51:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"24065:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23192:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23203:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23215:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23223:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23231:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"23239:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"23247:6:150","type":""}],"src":"23061:1071:150"},{"body":{"nodeType":"YulBlock","src":"24237:354:150","statements":[{"body":{"nodeType":"YulBlock","src":"24283:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24292:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24295:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24285:6:150"},"nodeType":"YulFunctionCall","src":"24285:12:150"},"nodeType":"YulExpressionStatement","src":"24285:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24258:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24267:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24254:3:150"},"nodeType":"YulFunctionCall","src":"24254:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24279:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24250:3:150"},"nodeType":"YulFunctionCall","src":"24250:32:150"},"nodeType":"YulIf","src":"24247:52:150"},{"nodeType":"YulVariableDeclaration","src":"24308:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24334:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"24321:12:150"},"nodeType":"YulFunctionCall","src":"24321:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"24312:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24378:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"24353:24:150"},"nodeType":"YulFunctionCall","src":"24353:31:150"},"nodeType":"YulExpressionStatement","src":"24353:31:150"},{"nodeType":"YulAssignment","src":"24393:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"24403:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24393:6:150"}]},{"nodeType":"YulAssignment","src":"24417:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24449:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24460:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24445:3:150"},"nodeType":"YulFunctionCall","src":"24445:18:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"24427:17:150"},"nodeType":"YulFunctionCall","src":"24427:37:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"24417:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"24473:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24505:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24516:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24501:3:150"},"nodeType":"YulFunctionCall","src":"24501:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"24488:12:150"},"nodeType":"YulFunctionCall","src":"24488:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"24477:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"24551:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"24529:21:150"},"nodeType":"YulFunctionCall","src":"24529:30:150"},"nodeType":"YulExpressionStatement","src":"24529:30:150"},{"nodeType":"YulAssignment","src":"24568:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"24578:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"24568:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes4t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24187:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24198:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24210:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24218:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"24226:6:150","type":""}],"src":"24137:454:150"},{"body":{"nodeType":"YulBlock","src":"24719:490:150","statements":[{"body":{"nodeType":"YulBlock","src":"24765:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24774:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24777:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24767:6:150"},"nodeType":"YulFunctionCall","src":"24767:12:150"},"nodeType":"YulExpressionStatement","src":"24767:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"24740:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24749:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24736:3:150"},"nodeType":"YulFunctionCall","src":"24736:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"24761:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"24732:3:150"},"nodeType":"YulFunctionCall","src":"24732:32:150"},"nodeType":"YulIf","src":"24729:52:150"},{"nodeType":"YulVariableDeclaration","src":"24790:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24816:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"24803:12:150"},"nodeType":"YulFunctionCall","src":"24803:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"24794:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24860:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"24835:24:150"},"nodeType":"YulFunctionCall","src":"24835:31:150"},"nodeType":"YulExpressionStatement","src":"24835:31:150"},{"nodeType":"YulAssignment","src":"24875:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"24885:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"24875:6:150"}]},{"nodeType":"YulAssignment","src":"24899:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24926:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24937:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24922:3:150"},"nodeType":"YulFunctionCall","src":"24922:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"24909:12:150"},"nodeType":"YulFunctionCall","src":"24909:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"24899:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"24950:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24981:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24992:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24977:3:150"},"nodeType":"YulFunctionCall","src":"24977:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"24964:12:150"},"nodeType":"YulFunctionCall","src":"24964:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"24954:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"25039:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25048:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25051:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25041:6:150"},"nodeType":"YulFunctionCall","src":"25041:12:150"},"nodeType":"YulExpressionStatement","src":"25041:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"25011:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25027:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"25031:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25023:3:150"},"nodeType":"YulFunctionCall","src":"25023:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"25035:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25019:3:150"},"nodeType":"YulFunctionCall","src":"25019:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"25008:2:150"},"nodeType":"YulFunctionCall","src":"25008:30:150"},"nodeType":"YulIf","src":"25005:50:150"},{"nodeType":"YulVariableDeclaration","src":"25064:85:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25121:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"25132:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25117:3:150"},"nodeType":"YulFunctionCall","src":"25117:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"25141:7:150"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"25090:26:150"},"nodeType":"YulFunctionCall","src":"25090:59:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"25068:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"25078:8:150","type":""}]},{"nodeType":"YulAssignment","src":"25158:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"25168:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"25158:6:150"}]},{"nodeType":"YulAssignment","src":"25185:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"25195:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"25185:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24661:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"24672:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"24684:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24692:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"24700:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"24708:6:150","type":""}],"src":"24596:613:150"},{"body":{"nodeType":"YulBlock","src":"25339:102:150","statements":[{"nodeType":"YulAssignment","src":"25349:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25361:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25372:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25357:3:150"},"nodeType":"YulFunctionCall","src":"25357:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25349:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25391:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25406:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25422:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25427:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25418:3:150"},"nodeType":"YulFunctionCall","src":"25418:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"25431:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25414:3:150"},"nodeType":"YulFunctionCall","src":"25414:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25402:3:150"},"nodeType":"YulFunctionCall","src":"25402:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25384:6:150"},"nodeType":"YulFunctionCall","src":"25384:51:150"},"nodeType":"YulExpressionStatement","src":"25384:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25308:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25319:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25330:4:150","type":""}],"src":"25214:227:150"},{"body":{"nodeType":"YulBlock","src":"25540:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"25586:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25595:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25598:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25588:6:150"},"nodeType":"YulFunctionCall","src":"25588:12:150"},"nodeType":"YulExpressionStatement","src":"25588:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"25561:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"25570:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25557:3:150"},"nodeType":"YulFunctionCall","src":"25557:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"25582:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"25553:3:150"},"nodeType":"YulFunctionCall","src":"25553:32:150"},"nodeType":"YulIf","src":"25550:52:150"},{"nodeType":"YulVariableDeclaration","src":"25611:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25637:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"25624:12:150"},"nodeType":"YulFunctionCall","src":"25624:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"25615:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25681:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"25656:24:150"},"nodeType":"YulFunctionCall","src":"25656:31:150"},"nodeType":"YulExpressionStatement","src":"25656:31:150"},{"nodeType":"YulAssignment","src":"25696:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"25706:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"25696:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IGrantsManager_$65639","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25506:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"25517:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"25529:6:150","type":""}],"src":"25446:271:150"},{"body":{"nodeType":"YulBlock","src":"25954:865:150","statements":[{"body":{"nodeType":"YulBlock","src":"26001:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26010:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26013:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26003:6:150"},"nodeType":"YulFunctionCall","src":"26003:12:150"},"nodeType":"YulExpressionStatement","src":"26003:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"25975:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"25984:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25971:3:150"},"nodeType":"YulFunctionCall","src":"25971:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"25996:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"25967:3:150"},"nodeType":"YulFunctionCall","src":"25967:33:150"},"nodeType":"YulIf","src":"25964:53:150"},{"nodeType":"YulVariableDeclaration","src":"26026:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26053:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26040:12:150"},"nodeType":"YulFunctionCall","src":"26040:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"26030:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26072:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26090:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"26094:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26086:3:150"},"nodeType":"YulFunctionCall","src":"26086:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"26098:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26082:3:150"},"nodeType":"YulFunctionCall","src":"26082:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"26076:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26127:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26136:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26139:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26129:6:150"},"nodeType":"YulFunctionCall","src":"26129:12:150"},"nodeType":"YulExpressionStatement","src":"26129:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"26115:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26123:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26112:2:150"},"nodeType":"YulFunctionCall","src":"26112:14:150"},"nodeType":"YulIf","src":"26109:34:150"},{"nodeType":"YulAssignment","src":"26152:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26195:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"26206:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26191:3:150"},"nodeType":"YulFunctionCall","src":"26191:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"26215:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"26162:28:150"},"nodeType":"YulFunctionCall","src":"26162:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"26152:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"26232:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26265:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26276:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26261:3:150"},"nodeType":"YulFunctionCall","src":"26261:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26248:12:150"},"nodeType":"YulFunctionCall","src":"26248:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"26236:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26309:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26318:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26321:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26311:6:150"},"nodeType":"YulFunctionCall","src":"26311:12:150"},"nodeType":"YulExpressionStatement","src":"26311:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"26295:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26305:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26292:2:150"},"nodeType":"YulFunctionCall","src":"26292:16:150"},"nodeType":"YulIf","src":"26289:36:150"},{"nodeType":"YulAssignment","src":"26334:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26377:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"26388:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26373:3:150"},"nodeType":"YulFunctionCall","src":"26373:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"26399:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"26344:28:150"},"nodeType":"YulFunctionCall","src":"26344:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"26334:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"26416:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26449:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26460:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26445:3:150"},"nodeType":"YulFunctionCall","src":"26445:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26432:12:150"},"nodeType":"YulFunctionCall","src":"26432:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"26420:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26493:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26502:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26505:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26495:6:150"},"nodeType":"YulFunctionCall","src":"26495:12:150"},"nodeType":"YulExpressionStatement","src":"26495:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"26479:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26489:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26476:2:150"},"nodeType":"YulFunctionCall","src":"26476:16:150"},"nodeType":"YulIf","src":"26473:36:150"},{"nodeType":"YulAssignment","src":"26518:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26559:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"26570:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26555:3:150"},"nodeType":"YulFunctionCall","src":"26555:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"26581:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"26528:26:150"},"nodeType":"YulFunctionCall","src":"26528:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"26518:6:150"}]},{"nodeType":"YulAssignment","src":"26598:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26625:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26636:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26621:3:150"},"nodeType":"YulFunctionCall","src":"26621:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26608:12:150"},"nodeType":"YulFunctionCall","src":"26608:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"26598:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"26649:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26682:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26693:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26678:3:150"},"nodeType":"YulFunctionCall","src":"26678:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"26665:12:150"},"nodeType":"YulFunctionCall","src":"26665:33:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"26653:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26727:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26736:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26739:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"26729:6:150"},"nodeType":"YulFunctionCall","src":"26729:12:150"},"nodeType":"YulExpressionStatement","src":"26729:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"26713:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"26723:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26710:2:150"},"nodeType":"YulFunctionCall","src":"26710:16:150"},"nodeType":"YulIf","src":"26707:36:150"},{"nodeType":"YulAssignment","src":"26752:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26783:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"26794:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26779:3:150"},"nodeType":"YulFunctionCall","src":"26779:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"26805:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"26762:16:150"},"nodeType":"YulFunctionCall","src":"26762:51:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"26752:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25888:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"25899:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"25911:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25919:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"25927:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"25935:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"25943:6:150","type":""}],"src":"25722:1097:150"},{"body":{"nodeType":"YulBlock","src":"26953:102:150","statements":[{"nodeType":"YulAssignment","src":"26963:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26975:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26986:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26971:3:150"},"nodeType":"YulFunctionCall","src":"26971:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26963:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27005:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27020:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27036:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"27041:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27032:3:150"},"nodeType":"YulFunctionCall","src":"27032:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"27045:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27028:3:150"},"nodeType":"YulFunctionCall","src":"27028:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27016:3:150"},"nodeType":"YulFunctionCall","src":"27016:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26998:6:150"},"nodeType":"YulFunctionCall","src":"26998:51:150"},"nodeType":"YulExpressionStatement","src":"26998:51:150"}]},"name":"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26922:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26933:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26944:4:150","type":""}],"src":"26824:231:150"},{"body":{"nodeType":"YulBlock","src":"27197:102:150","statements":[{"nodeType":"YulAssignment","src":"27207:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27219:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27230:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27215:3:150"},"nodeType":"YulFunctionCall","src":"27215:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27207:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27249:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27264:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27280:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"27285:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27276:3:150"},"nodeType":"YulFunctionCall","src":"27276:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"27289:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27272:3:150"},"nodeType":"YulFunctionCall","src":"27272:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27260:3:150"},"nodeType":"YulFunctionCall","src":"27260:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27242:6:150"},"nodeType":"YulFunctionCall","src":"27242:51:150"},"nodeType":"YulExpressionStatement","src":"27242:51:150"}]},"name":"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27166:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27177:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27188:4:150","type":""}],"src":"27060:239:150"},{"body":{"nodeType":"YulBlock","src":"27391:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"27437:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27446:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27449:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27439:6:150"},"nodeType":"YulFunctionCall","src":"27439:12:150"},"nodeType":"YulExpressionStatement","src":"27439:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"27412:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"27421:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27408:3:150"},"nodeType":"YulFunctionCall","src":"27408:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"27433:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"27404:3:150"},"nodeType":"YulFunctionCall","src":"27404:32:150"},"nodeType":"YulIf","src":"27401:52:150"},{"nodeType":"YulAssignment","src":"27462:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27485:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"27472:12:150"},"nodeType":"YulFunctionCall","src":"27472:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"27462:6:150"}]},{"nodeType":"YulAssignment","src":"27504:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27531:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27542:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27527:3:150"},"nodeType":"YulFunctionCall","src":"27527:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"27514:12:150"},"nodeType":"YulFunctionCall","src":"27514:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"27504:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27349:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"27360:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"27372:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"27380:6:150","type":""}],"src":"27304:248:150"},{"body":{"nodeType":"YulBlock","src":"27823:969:150","statements":[{"body":{"nodeType":"YulBlock","src":"27870:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27879:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27882:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27872:6:150"},"nodeType":"YulFunctionCall","src":"27872:12:150"},"nodeType":"YulExpressionStatement","src":"27872:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"27844:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"27853:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27840:3:150"},"nodeType":"YulFunctionCall","src":"27840:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"27865:3:150","type":"","value":"224"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"27836:3:150"},"nodeType":"YulFunctionCall","src":"27836:33:150"},"nodeType":"YulIf","src":"27833:53:150"},{"nodeType":"YulVariableDeclaration","src":"27895:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27922:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"27909:12:150"},"nodeType":"YulFunctionCall","src":"27909:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"27899:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27941:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27959:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"27963:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27955:3:150"},"nodeType":"YulFunctionCall","src":"27955:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"27967:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27951:3:150"},"nodeType":"YulFunctionCall","src":"27951:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"27945:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27996:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28005:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28008:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27998:6:150"},"nodeType":"YulFunctionCall","src":"27998:12:150"},"nodeType":"YulExpressionStatement","src":"27998:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"27984:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27992:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27981:2:150"},"nodeType":"YulFunctionCall","src":"27981:14:150"},"nodeType":"YulIf","src":"27978:34:150"},{"nodeType":"YulAssignment","src":"28021:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28064:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"28075:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28060:3:150"},"nodeType":"YulFunctionCall","src":"28060:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"28084:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"28031:28:150"},"nodeType":"YulFunctionCall","src":"28031:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"28021:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"28101:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28134:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28145:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28130:3:150"},"nodeType":"YulFunctionCall","src":"28130:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"28117:12:150"},"nodeType":"YulFunctionCall","src":"28117:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"28105:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28178:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28187:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28190:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28180:6:150"},"nodeType":"YulFunctionCall","src":"28180:12:150"},"nodeType":"YulExpressionStatement","src":"28180:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"28164:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28174:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28161:2:150"},"nodeType":"YulFunctionCall","src":"28161:16:150"},"nodeType":"YulIf","src":"28158:36:150"},{"nodeType":"YulAssignment","src":"28203:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28246:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"28257:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28242:3:150"},"nodeType":"YulFunctionCall","src":"28242:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"28268:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"28213:28:150"},"nodeType":"YulFunctionCall","src":"28213:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"28203:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"28285:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28318:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28329:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28314:3:150"},"nodeType":"YulFunctionCall","src":"28314:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"28301:12:150"},"nodeType":"YulFunctionCall","src":"28301:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"28289:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28362:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28371:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28374:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28364:6:150"},"nodeType":"YulFunctionCall","src":"28364:12:150"},"nodeType":"YulExpressionStatement","src":"28364:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"28348:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28358:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28345:2:150"},"nodeType":"YulFunctionCall","src":"28345:16:150"},"nodeType":"YulIf","src":"28342:36:150"},{"nodeType":"YulAssignment","src":"28387:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28428:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"28439:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28424:3:150"},"nodeType":"YulFunctionCall","src":"28424:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"28450:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"28397:26:150"},"nodeType":"YulFunctionCall","src":"28397:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"28387:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"28467:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28500:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28511:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28496:3:150"},"nodeType":"YulFunctionCall","src":"28496:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"28483:12:150"},"nodeType":"YulFunctionCall","src":"28483:32:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"28471:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28544:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28553:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28556:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28546:6:150"},"nodeType":"YulFunctionCall","src":"28546:12:150"},"nodeType":"YulExpressionStatement","src":"28546:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"28530:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"28540:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28527:2:150"},"nodeType":"YulFunctionCall","src":"28527:16:150"},"nodeType":"YulIf","src":"28524:36:150"},{"nodeType":"YulAssignment","src":"28569:61:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28600:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"28611:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28596:3:150"},"nodeType":"YulFunctionCall","src":"28596:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"28622:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"28579:16:150"},"nodeType":"YulFunctionCall","src":"28579:51:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"28569:6:150"}]},{"nodeType":"YulAssignment","src":"28639:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28666:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28677:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28662:3:150"},"nodeType":"YulFunctionCall","src":"28662:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"28649:12:150"},"nodeType":"YulFunctionCall","src":"28649:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"28639:6:150"}]},{"nodeType":"YulAssignment","src":"28691:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28718:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28729:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28714:3:150"},"nodeType":"YulFunctionCall","src":"28714:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"28701:12:150"},"nodeType":"YulFunctionCall","src":"28701:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"28691:6:150"}]},{"nodeType":"YulAssignment","src":"28743:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28770:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28781:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28766:3:150"},"nodeType":"YulFunctionCall","src":"28766:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"28753:12:150"},"nodeType":"YulFunctionCall","src":"28753:33:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"28743:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27741:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"27752:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"27764:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"27772:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"27780:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"27788:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"27796:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"27804:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"27812:6:150","type":""}],"src":"27557:1235:150"},{"body":{"nodeType":"YulBlock","src":"28921:102:150","statements":[{"nodeType":"YulAssignment","src":"28931:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28943:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28954:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28939:3:150"},"nodeType":"YulFunctionCall","src":"28939:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28931:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28973:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"28988:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29004:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"29009:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29000:3:150"},"nodeType":"YulFunctionCall","src":"29000:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"29013:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28996:3:150"},"nodeType":"YulFunctionCall","src":"28996:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28984:3:150"},"nodeType":"YulFunctionCall","src":"28984:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28966:6:150"},"nodeType":"YulFunctionCall","src":"28966:51:150"},"nodeType":"YulExpressionStatement","src":"28966:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28890:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"28901:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28912:4:150","type":""}],"src":"28797:226:150"},{"body":{"nodeType":"YulBlock","src":"29175:587:150","statements":[{"body":{"nodeType":"YulBlock","src":"29222:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29231:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29234:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29224:6:150"},"nodeType":"YulFunctionCall","src":"29224:12:150"},"nodeType":"YulExpressionStatement","src":"29224:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"29196:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"29205:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29192:3:150"},"nodeType":"YulFunctionCall","src":"29192:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"29217:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"29188:3:150"},"nodeType":"YulFunctionCall","src":"29188:33:150"},"nodeType":"YulIf","src":"29185:53:150"},{"nodeType":"YulVariableDeclaration","src":"29247:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29273:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"29260:12:150"},"nodeType":"YulFunctionCall","src":"29260:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"29251:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29317:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"29292:24:150"},"nodeType":"YulFunctionCall","src":"29292:31:150"},"nodeType":"YulExpressionStatement","src":"29292:31:150"},{"nodeType":"YulAssignment","src":"29332:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"29342:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"29332:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"29356:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29388:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29399:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29384:3:150"},"nodeType":"YulFunctionCall","src":"29384:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"29371:12:150"},"nodeType":"YulFunctionCall","src":"29371:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"29360:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"29437:7:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"29412:24:150"},"nodeType":"YulFunctionCall","src":"29412:33:150"},"nodeType":"YulExpressionStatement","src":"29412:33:150"},{"nodeType":"YulAssignment","src":"29454:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"29464:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"29454:6:150"}]},{"nodeType":"YulAssignment","src":"29480:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29507:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29518:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29503:3:150"},"nodeType":"YulFunctionCall","src":"29503:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"29490:12:150"},"nodeType":"YulFunctionCall","src":"29490:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"29480:6:150"}]},{"nodeType":"YulAssignment","src":"29531:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29558:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29569:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29554:3:150"},"nodeType":"YulFunctionCall","src":"29554:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"29541:12:150"},"nodeType":"YulFunctionCall","src":"29541:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"29531:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"29582:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29613:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29624:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29609:3:150"},"nodeType":"YulFunctionCall","src":"29609:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"29596:12:150"},"nodeType":"YulFunctionCall","src":"29596:33:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"29586:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29672:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29681:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29684:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29674:6:150"},"nodeType":"YulFunctionCall","src":"29674:12:150"},"nodeType":"YulExpressionStatement","src":"29674:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"29644:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29660:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"29664:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29656:3:150"},"nodeType":"YulFunctionCall","src":"29656:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"29668:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29652:3:150"},"nodeType":"YulFunctionCall","src":"29652:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29641:2:150"},"nodeType":"YulFunctionCall","src":"29641:30:150"},"nodeType":"YulIf","src":"29638:50:150"},{"nodeType":"YulAssignment","src":"29697:59:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29728:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"29739:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29724:3:150"},"nodeType":"YulFunctionCall","src":"29724:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"29748:7:150"}],"functionName":{"name":"abi_decode_bytes","nodeType":"YulIdentifier","src":"29707:16:150"},"nodeType":"YulFunctionCall","src":"29707:49:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"29697:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29109:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"29120:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"29132:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"29140:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"29148:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"29156:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"29164:6:150","type":""}],"src":"29028:734:150"},{"body":{"nodeType":"YulBlock","src":"29865:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"29911:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29920:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29923:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29913:6:150"},"nodeType":"YulFunctionCall","src":"29913:12:150"},"nodeType":"YulExpressionStatement","src":"29913:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"29886:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"29895:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29882:3:150"},"nodeType":"YulFunctionCall","src":"29882:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"29907:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"29878:3:150"},"nodeType":"YulFunctionCall","src":"29878:32:150"},"nodeType":"YulIf","src":"29875:52:150"},{"nodeType":"YulVariableDeclaration","src":"29936:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29962:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"29949:12:150"},"nodeType":"YulFunctionCall","src":"29949:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"29940:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"30006:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"29981:24:150"},"nodeType":"YulFunctionCall","src":"29981:31:150"},"nodeType":"YulExpressionStatement","src":"29981:31:150"},{"nodeType":"YulAssignment","src":"30021:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"30031:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"30021:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29831:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"29842:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"29854:6:150","type":""}],"src":"29767:275:150"},{"body":{"nodeType":"YulBlock","src":"30163:102:150","statements":[{"nodeType":"YulAssignment","src":"30173:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30185:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30196:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30181:3:150"},"nodeType":"YulFunctionCall","src":"30181:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30173:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30215:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30230:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30246:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"30251:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"30242:3:150"},"nodeType":"YulFunctionCall","src":"30242:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"30255:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30238:3:150"},"nodeType":"YulFunctionCall","src":"30238:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30226:3:150"},"nodeType":"YulFunctionCall","src":"30226:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30208:6:150"},"nodeType":"YulFunctionCall","src":"30208:51:150"},"nodeType":"YulExpressionStatement","src":"30208:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVOT3_$67719__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30132:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30143:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30154:4:150","type":""}],"src":"30047:218:150"},{"body":{"nodeType":"YulBlock","src":"30407:145:150","statements":[{"nodeType":"YulAssignment","src":"30417:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30429:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30440:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30425:3:150"},"nodeType":"YulFunctionCall","src":"30425:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30417:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30459:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"30470:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30452:6:150"},"nodeType":"YulFunctionCall","src":"30452:25:150"},"nodeType":"YulExpressionStatement","src":"30452:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30497:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30508:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30493:3:150"},"nodeType":"YulFunctionCall","src":"30493:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"30517:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30533:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"30538:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"30529:3:150"},"nodeType":"YulFunctionCall","src":"30529:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"30542:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30525:3:150"},"nodeType":"YulFunctionCall","src":"30525:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30513:3:150"},"nodeType":"YulFunctionCall","src":"30513:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30486:6:150"},"nodeType":"YulFunctionCall","src":"30486:60:150"},"nodeType":"YulExpressionStatement","src":"30486:60:150"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30368:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30379:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30387:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30398:4:150","type":""}],"src":"30270:282:150"},{"body":{"nodeType":"YulBlock","src":"30618:400:150","statements":[{"nodeType":"YulVariableDeclaration","src":"30628:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"30648:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30642:5:150"},"nodeType":"YulFunctionCall","src":"30642:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"30632:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30670:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"30675:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30663:6:150"},"nodeType":"YulFunctionCall","src":"30663:19:150"},"nodeType":"YulExpressionStatement","src":"30663:19:150"},{"nodeType":"YulVariableDeclaration","src":"30691:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"30701:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"30695:2:150","type":""}]},{"nodeType":"YulAssignment","src":"30714:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30725:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"30730:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30721:3:150"},"nodeType":"YulFunctionCall","src":"30721:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"30714:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"30742:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"30760:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"30767:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30756:3:150"},"nodeType":"YulFunctionCall","src":"30756:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"30746:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"30779:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"30788:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"30783:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"30847:146:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30868:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"30883:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30877:5:150"},"nodeType":"YulFunctionCall","src":"30877:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"30900:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"30905:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"30896:3:150"},"nodeType":"YulFunctionCall","src":"30896:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"30909:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30892:3:150"},"nodeType":"YulFunctionCall","src":"30892:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30873:3:150"},"nodeType":"YulFunctionCall","src":"30873:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30861:6:150"},"nodeType":"YulFunctionCall","src":"30861:52:150"},"nodeType":"YulExpressionStatement","src":"30861:52:150"},{"nodeType":"YulAssignment","src":"30926:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30937:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"30942:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30933:3:150"},"nodeType":"YulFunctionCall","src":"30933:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"30926:3:150"}]},{"nodeType":"YulAssignment","src":"30958:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"30972:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"30980:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30968:3:150"},"nodeType":"YulFunctionCall","src":"30968:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"30958:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"30809:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"30812:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"30806:2:150"},"nodeType":"YulFunctionCall","src":"30806:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"30820:18:150","statements":[{"nodeType":"YulAssignment","src":"30822:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"30831:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"30834:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30827:3:150"},"nodeType":"YulFunctionCall","src":"30827:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"30822:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"30802:3:150","statements":[]},"src":"30798:195:150"},{"nodeType":"YulAssignment","src":"31002:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"31009:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"31002:3:150"}]}]},"name":"abi_encode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"30595:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"30602:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"30610:3:150","type":""}],"src":"30557:461:150"},{"body":{"nodeType":"YulBlock","src":"31082:556:150","statements":[{"nodeType":"YulVariableDeclaration","src":"31092:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31112:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31106:5:150"},"nodeType":"YulFunctionCall","src":"31106:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"31096:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31134:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"31139:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31127:6:150"},"nodeType":"YulFunctionCall","src":"31127:19:150"},"nodeType":"YulExpressionStatement","src":"31127:19:150"},{"nodeType":"YulVariableDeclaration","src":"31155:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"31165:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"31159:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"31178:31:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31201:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"31206:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31197:3:150"},"nodeType":"YulFunctionCall","src":"31197:12:150"},"variables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"31182:11:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"31218:24:150","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"31231:11:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"31222:5:150","type":""}]},{"nodeType":"YulAssignment","src":"31251:18:150","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"31258:11:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"31251:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"31278:38:150","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"31294:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31305:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"31308:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31301:3:150"},"nodeType":"YulFunctionCall","src":"31301:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31290:3:150"},"nodeType":"YulFunctionCall","src":"31290:26:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"31282:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"31325:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31343:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"31350:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31339:3:150"},"nodeType":"YulFunctionCall","src":"31339:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"31329:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"31362:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"31371:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"31366:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"31430:182:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31451:3:150"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"31460:4:150"},{"name":"pos_1","nodeType":"YulIdentifier","src":"31466:5:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31456:3:150"},"nodeType":"YulFunctionCall","src":"31456:16:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31444:6:150"},"nodeType":"YulFunctionCall","src":"31444:29:150"},"nodeType":"YulExpressionStatement","src":"31444:29:150"},{"nodeType":"YulAssignment","src":"31486:46:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"31518:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31512:5:150"},"nodeType":"YulFunctionCall","src":"31512:13:150"},{"name":"tail","nodeType":"YulIdentifier","src":"31527:4:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"31494:17:150"},"nodeType":"YulFunctionCall","src":"31494:38:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31486:4:150"}]},{"nodeType":"YulAssignment","src":"31545:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"31559:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"31567:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31555:3:150"},"nodeType":"YulFunctionCall","src":"31555:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"31545:6:150"}]},{"nodeType":"YulAssignment","src":"31583:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31594:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"31599:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31590:3:150"},"nodeType":"YulFunctionCall","src":"31590:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"31583:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"31392:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"31395:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"31389:2:150"},"nodeType":"YulFunctionCall","src":"31389:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"31403:18:150","statements":[{"nodeType":"YulAssignment","src":"31405:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"31414:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"31417:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31410:3:150"},"nodeType":"YulFunctionCall","src":"31410:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"31405:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"31385:3:150","statements":[]},"src":"31381:231:150"},{"nodeType":"YulAssignment","src":"31621:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"31628:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"31621:3:150"}]}]},"name":"abi_encode_array_bytes_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31059:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"31066:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"31074:3:150","type":""}],"src":"31023:615:150"},{"body":{"nodeType":"YulBlock","src":"32156:771:150","statements":[{"nodeType":"YulVariableDeclaration","src":"32166:13:150","value":{"kind":"number","nodeType":"YulLiteral","src":"32176:3:150","type":"","value":"256"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"32170:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32195:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"32206:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32188:6:150"},"nodeType":"YulFunctionCall","src":"32188:21:150"},"nodeType":"YulExpressionStatement","src":"32188:21:150"},{"nodeType":"YulVariableDeclaration","src":"32218:70:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32261:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32273:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"32284:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32269:3:150"},"nodeType":"YulFunctionCall","src":"32269:18:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"32232:28:150"},"nodeType":"YulFunctionCall","src":"32232:56:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"32222:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32308:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32319:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32304:3:150"},"nodeType":"YulFunctionCall","src":"32304:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"32328:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"32336:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32324:3:150"},"nodeType":"YulFunctionCall","src":"32324:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32297:6:150"},"nodeType":"YulFunctionCall","src":"32297:50:150"},"nodeType":"YulExpressionStatement","src":"32297:50:150"},{"nodeType":"YulVariableDeclaration","src":"32356:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"32399:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"32407:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"32370:28:150"},"nodeType":"YulFunctionCall","src":"32370:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"32360:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32434:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32445:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32430:3:150"},"nodeType":"YulFunctionCall","src":"32430:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"32454:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"32462:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32450:3:150"},"nodeType":"YulFunctionCall","src":"32450:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32423:6:150"},"nodeType":"YulFunctionCall","src":"32423:50:150"},"nodeType":"YulExpressionStatement","src":"32423:50:150"},{"nodeType":"YulVariableDeclaration","src":"32482:56:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"32523:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"32531:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"32496:26:150"},"nodeType":"YulFunctionCall","src":"32496:42:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"32486:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32558:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32569:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32554:3:150"},"nodeType":"YulFunctionCall","src":"32554:18:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"32578:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"32586:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32574:3:150"},"nodeType":"YulFunctionCall","src":"32574:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32547:6:150"},"nodeType":"YulFunctionCall","src":"32547:50:150"},"nodeType":"YulExpressionStatement","src":"32547:50:150"},{"nodeType":"YulVariableDeclaration","src":"32606:47:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"32638:6:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"32646:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"32620:17:150"},"nodeType":"YulFunctionCall","src":"32620:33:150"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"32610:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32673:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32684:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32669:3:150"},"nodeType":"YulFunctionCall","src":"32669:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"32690:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32662:6:150"},"nodeType":"YulFunctionCall","src":"32662:35:150"},"nodeType":"YulExpressionStatement","src":"32662:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32717:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32728:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32713:3:150"},"nodeType":"YulFunctionCall","src":"32713:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"32734:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32706:6:150"},"nodeType":"YulFunctionCall","src":"32706:35:150"},"nodeType":"YulExpressionStatement","src":"32706:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32761:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32772:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32757:3:150"},"nodeType":"YulFunctionCall","src":"32757:19:150"},{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"32782:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32798:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"32803:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"32794:3:150"},"nodeType":"YulFunctionCall","src":"32794:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"32807:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32790:3:150"},"nodeType":"YulFunctionCall","src":"32790:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32778:3:150"},"nodeType":"YulFunctionCall","src":"32778:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32750:6:150"},"nodeType":"YulFunctionCall","src":"32750:61:150"},"nodeType":"YulExpressionStatement","src":"32750:61:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32842:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32827:3:150"},"nodeType":"YulFunctionCall","src":"32827:19:150"},{"arguments":[{"name":"tail_4","nodeType":"YulIdentifier","src":"32852:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"32860:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32848:3:150"},"nodeType":"YulFunctionCall","src":"32848:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32820:6:150"},"nodeType":"YulFunctionCall","src":"32820:51:150"},"nodeType":"YulExpressionStatement","src":"32820:51:150"},{"nodeType":"YulAssignment","src":"32880:41:150","value":{"arguments":[{"name":"value7","nodeType":"YulIdentifier","src":"32906:6:150"},{"name":"tail_4","nodeType":"YulIdentifier","src":"32914:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"32888:17:150"},"nodeType":"YulFunctionCall","src":"32888:33:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32880:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32069:9:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"32080:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"32088:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"32096:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"32104:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"32112:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"32120:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"32128:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32136:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32147:4:150","type":""}],"src":"31643:1284:150"},{"body":{"nodeType":"YulBlock","src":"33013:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"33059:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33068:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"33071:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"33061:6:150"},"nodeType":"YulFunctionCall","src":"33061:12:150"},"nodeType":"YulExpressionStatement","src":"33061:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"33034:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"33043:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33030:3:150"},"nodeType":"YulFunctionCall","src":"33030:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"33055:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"33026:3:150"},"nodeType":"YulFunctionCall","src":"33026:32:150"},"nodeType":"YulIf","src":"33023:52:150"},{"nodeType":"YulAssignment","src":"33084:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33100:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33094:5:150"},"nodeType":"YulFunctionCall","src":"33094:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"33084:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32979:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"32990:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"33002:6:150","type":""}],"src":"32932:184:150"},{"body":{"nodeType":"YulBlock","src":"33230:76:150","statements":[{"nodeType":"YulAssignment","src":"33240:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33252:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33263:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33248:3:150"},"nodeType":"YulFunctionCall","src":"33248:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33240:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33282:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"33293:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33275:6:150"},"nodeType":"YulFunctionCall","src":"33275:25:150"},"nodeType":"YulExpressionStatement","src":"33275:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33199:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33210:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33221:4:150","type":""}],"src":"33121:185:150"},{"body":{"nodeType":"YulBlock","src":"33444:130:150","statements":[{"nodeType":"YulAssignment","src":"33454:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33466:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33477:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33462:3:150"},"nodeType":"YulFunctionCall","src":"33462:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33454:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33496:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"33507:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33489:6:150"},"nodeType":"YulFunctionCall","src":"33489:25:150"},"nodeType":"YulExpressionStatement","src":"33489:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33534:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33545:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33530:3:150"},"nodeType":"YulFunctionCall","src":"33530:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"33554:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"33562:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33550:3:150"},"nodeType":"YulFunctionCall","src":"33550:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33523:6:150"},"nodeType":"YulFunctionCall","src":"33523:45:150"},"nodeType":"YulExpressionStatement","src":"33523:45:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint8__to_t_uint256_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33405:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33416:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33424:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33435:4:150","type":""}],"src":"33311:263:150"},{"body":{"nodeType":"YulBlock","src":"33732:141:150","statements":[{"nodeType":"YulAssignment","src":"33742:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33754:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33765:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33750:3:150"},"nodeType":"YulFunctionCall","src":"33750:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33742:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33806:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"33814:9:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"33777:28:150"},"nodeType":"YulFunctionCall","src":"33777:47:150"},"nodeType":"YulExpressionStatement","src":"33777:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33844:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33855:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33840:3:150"},"nodeType":"YulFunctionCall","src":"33840:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"33860:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33833:6:150"},"nodeType":"YulFunctionCall","src":"33833:34:150"},"nodeType":"YulExpressionStatement","src":"33833:34:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$61431_t_uint256__to_t_uint8_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33693:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33704:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33712:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33723:4:150","type":""}],"src":"33579:294:150"},{"body":{"nodeType":"YulBlock","src":"33933:325:150","statements":[{"nodeType":"YulAssignment","src":"33943:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33957:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"33960:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"33953:3:150"},"nodeType":"YulFunctionCall","src":"33953:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"33943:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"33974:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"34004:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"34010:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"34000:3:150"},"nodeType":"YulFunctionCall","src":"34000:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"33978:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34051:31:150","statements":[{"nodeType":"YulAssignment","src":"34053:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"34067:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"34075:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"34063:3:150"},"nodeType":"YulFunctionCall","src":"34063:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"34053:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"34031:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"34024:6:150"},"nodeType":"YulFunctionCall","src":"34024:26:150"},"nodeType":"YulIf","src":"34021:61:150"},{"body":{"nodeType":"YulBlock","src":"34141:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34162:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34169:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"34174:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34165:3:150"},"nodeType":"YulFunctionCall","src":"34165:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34155:6:150"},"nodeType":"YulFunctionCall","src":"34155:31:150"},"nodeType":"YulExpressionStatement","src":"34155:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34206:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"34209:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34199:6:150"},"nodeType":"YulFunctionCall","src":"34199:15:150"},"nodeType":"YulExpressionStatement","src":"34199:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34234:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34237:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34227:6:150"},"nodeType":"YulFunctionCall","src":"34227:15:150"},"nodeType":"YulExpressionStatement","src":"34227:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"34097:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"34120:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"34128:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"34117:2:150"},"nodeType":"YulFunctionCall","src":"34117:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"34094:2:150"},"nodeType":"YulFunctionCall","src":"34094:38:150"},"nodeType":"YulIf","src":"34091:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"33913:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"33922:6:150","type":""}],"src":"33878:380:150"},{"body":{"nodeType":"YulBlock","src":"34401:102:150","statements":[{"nodeType":"YulAssignment","src":"34411:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34434:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34419:3:150"},"nodeType":"YulFunctionCall","src":"34419:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34411:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34453:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34468:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34484:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"34489:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34480:3:150"},"nodeType":"YulFunctionCall","src":"34480:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"34493:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34476:3:150"},"nodeType":"YulFunctionCall","src":"34476:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"34464:3:150"},"nodeType":"YulFunctionCall","src":"34464:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34446:6:150"},"nodeType":"YulFunctionCall","src":"34446:51:150"},"nodeType":"YulExpressionStatement","src":"34446:51:150"}]},"name":"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34370:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34381:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34392:4:150","type":""}],"src":"34263:240:150"},{"body":{"nodeType":"YulBlock","src":"34613:87:150","statements":[{"nodeType":"YulAssignment","src":"34623:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34635:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34646:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34631:3:150"},"nodeType":"YulFunctionCall","src":"34631:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34623:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34665:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34680:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"34688:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"34676:3:150"},"nodeType":"YulFunctionCall","src":"34676:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34658:6:150"},"nodeType":"YulFunctionCall","src":"34658:36:150"},"nodeType":"YulExpressionStatement","src":"34658:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34582:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34593:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34604:4:150","type":""}],"src":"34508:192:150"},{"body":{"nodeType":"YulBlock","src":"35094:475:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35111:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35126:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35142:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35147:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35138:3:150"},"nodeType":"YulFunctionCall","src":"35138:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"35151:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35134:3:150"},"nodeType":"YulFunctionCall","src":"35134:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35122:3:150"},"nodeType":"YulFunctionCall","src":"35122:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35104:6:150"},"nodeType":"YulFunctionCall","src":"35104:51:150"},"nodeType":"YulExpressionStatement","src":"35104:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35175:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35186:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35171:3:150"},"nodeType":"YulFunctionCall","src":"35171:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"35191:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35164:6:150"},"nodeType":"YulFunctionCall","src":"35164:31:150"},"nodeType":"YulExpressionStatement","src":"35164:31:150"},{"nodeType":"YulVariableDeclaration","src":"35204:71:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35247:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35259:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35270:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35255:3:150"},"nodeType":"YulFunctionCall","src":"35255:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"35218:28:150"},"nodeType":"YulFunctionCall","src":"35218:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"35208:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35295:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35306:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35291:3:150"},"nodeType":"YulFunctionCall","src":"35291:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"35315:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"35323:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35311:3:150"},"nodeType":"YulFunctionCall","src":"35311:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35284:6:150"},"nodeType":"YulFunctionCall","src":"35284:50:150"},"nodeType":"YulExpressionStatement","src":"35284:50:150"},{"nodeType":"YulVariableDeclaration","src":"35343:58:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"35386:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"35394:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"35357:28:150"},"nodeType":"YulFunctionCall","src":"35357:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"35347:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35421:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35432:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35417:3:150"},"nodeType":"YulFunctionCall","src":"35417:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"35441:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"35449:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35437:3:150"},"nodeType":"YulFunctionCall","src":"35437:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35410:6:150"},"nodeType":"YulFunctionCall","src":"35410:50:150"},"nodeType":"YulExpressionStatement","src":"35410:50:150"},{"nodeType":"YulAssignment","src":"35469:50:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"35504:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"35512:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"35477:26:150"},"nodeType":"YulFunctionCall","src":"35477:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35469:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35539:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35550:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35535:3:150"},"nodeType":"YulFunctionCall","src":"35535:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"35556:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35528:6:150"},"nodeType":"YulFunctionCall","src":"35528:35:150"},"nodeType":"YulExpressionStatement","src":"35528:35:150"}]},"name":"abi_encode_tuple_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35031:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"35042:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"35050:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35058:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35066:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35074:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35085:4:150","type":""}],"src":"34705:864:150"},{"body":{"nodeType":"YulBlock","src":"35638:378:150","statements":[{"body":{"nodeType":"YulBlock","src":"35687:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35696:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35699:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35689:6:150"},"nodeType":"YulFunctionCall","src":"35689:12:150"},"nodeType":"YulExpressionStatement","src":"35689:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"35666:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"35674:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35662:3:150"},"nodeType":"YulFunctionCall","src":"35662:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"35681:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"35658:3:150"},"nodeType":"YulFunctionCall","src":"35658:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35651:6:150"},"nodeType":"YulFunctionCall","src":"35651:35:150"},"nodeType":"YulIf","src":"35648:55:150"},{"nodeType":"YulVariableDeclaration","src":"35712:23:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"35728:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35722:5:150"},"nodeType":"YulFunctionCall","src":"35722:13:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"35716:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"35744:63:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"35803:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"35775:27:150"},"nodeType":"YulFunctionCall","src":"35775:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"35759:15:150"},"nodeType":"YulFunctionCall","src":"35759:48:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"35748:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"35823:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35832:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35816:6:150"},"nodeType":"YulFunctionCall","src":"35816:19:150"},"nodeType":"YulExpressionStatement","src":"35816:19:150"},{"body":{"nodeType":"YulBlock","src":"35883:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35892:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35895:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35885:6:150"},"nodeType":"YulFunctionCall","src":"35885:12:150"},"nodeType":"YulExpressionStatement","src":"35885:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"35858:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35866:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35854:3:150"},"nodeType":"YulFunctionCall","src":"35854:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"35871:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35850:3:150"},"nodeType":"YulFunctionCall","src":"35850:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"35878:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"35847:2:150"},"nodeType":"YulFunctionCall","src":"35847:35:150"},"nodeType":"YulIf","src":"35844:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"35947:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"35955:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35943:3:150"},"nodeType":"YulFunctionCall","src":"35943:17:150"},{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"35966:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"35975:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35962:3:150"},"nodeType":"YulFunctionCall","src":"35962:18:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35982:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"35908:34:150"},"nodeType":"YulFunctionCall","src":"35908:77:150"},"nodeType":"YulExpressionStatement","src":"35908:77:150"},{"nodeType":"YulAssignment","src":"35994:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"36003:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"35994:5:150"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"35612:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"35620:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"35628:5:150","type":""}],"src":"35574:442:150"},{"body":{"nodeType":"YulBlock","src":"36112:246:150","statements":[{"body":{"nodeType":"YulBlock","src":"36158:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36167:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"36170:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"36160:6:150"},"nodeType":"YulFunctionCall","src":"36160:12:150"},"nodeType":"YulExpressionStatement","src":"36160:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"36133:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"36142:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36129:3:150"},"nodeType":"YulFunctionCall","src":"36129:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"36154:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"36125:3:150"},"nodeType":"YulFunctionCall","src":"36125:32:150"},"nodeType":"YulIf","src":"36122:52:150"},{"nodeType":"YulVariableDeclaration","src":"36183:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36203:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36197:5:150"},"nodeType":"YulFunctionCall","src":"36197:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"36187:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"36256:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36265:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"36268:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"36258:6:150"},"nodeType":"YulFunctionCall","src":"36258:12:150"},"nodeType":"YulExpressionStatement","src":"36258:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"36228:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36244:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"36248:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"36240:3:150"},"nodeType":"YulFunctionCall","src":"36240:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"36252:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36236:3:150"},"nodeType":"YulFunctionCall","src":"36236:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"36225:2:150"},"nodeType":"YulFunctionCall","src":"36225:30:150"},"nodeType":"YulIf","src":"36222:50:150"},{"nodeType":"YulAssignment","src":"36281:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36324:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"36335:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36320:3:150"},"nodeType":"YulFunctionCall","src":"36320:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"36344:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"36291:28:150"},"nodeType":"YulFunctionCall","src":"36291:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"36281:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36078:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"36089:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"36101:6:150","type":""}],"src":"36021:337:150"},{"body":{"nodeType":"YulBlock","src":"36442:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"36488:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36497:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"36500:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"36490:6:150"},"nodeType":"YulFunctionCall","src":"36490:12:150"},"nodeType":"YulExpressionStatement","src":"36490:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"36463:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"36472:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36459:3:150"},"nodeType":"YulFunctionCall","src":"36459:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"36484:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"36455:3:150"},"nodeType":"YulFunctionCall","src":"36455:32:150"},"nodeType":"YulIf","src":"36452:52:150"},{"nodeType":"YulVariableDeclaration","src":"36513:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36532:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36526:5:150"},"nodeType":"YulFunctionCall","src":"36526:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"36517:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36574:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"36551:22:150"},"nodeType":"YulFunctionCall","src":"36551:29:150"},"nodeType":"YulExpressionStatement","src":"36551:29:150"},{"nodeType":"YulAssignment","src":"36589:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"36599:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"36589:6:150"}]}]},"name":"abi_decode_tuple_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36408:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"36419:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"36431:6:150","type":""}],"src":"36363:247:150"},{"body":{"nodeType":"YulBlock","src":"36789:180:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36806:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36817:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36799:6:150"},"nodeType":"YulFunctionCall","src":"36799:21:150"},"nodeType":"YulExpressionStatement","src":"36799:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36840:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36851:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36836:3:150"},"nodeType":"YulFunctionCall","src":"36836:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"36856:2:150","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36829:6:150"},"nodeType":"YulFunctionCall","src":"36829:30:150"},"nodeType":"YulExpressionStatement","src":"36829:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36879:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36890:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36875:3:150"},"nodeType":"YulFunctionCall","src":"36875:18:150"},{"hexValue":"42335452476f7665726e6f723a20696e76616c6964207472656173757279","kind":"string","nodeType":"YulLiteral","src":"36895:32:150","type":"","value":"B3TRGovernor: invalid treasury"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36868:6:150"},"nodeType":"YulFunctionCall","src":"36868:60:150"},"nodeType":"YulExpressionStatement","src":"36868:60:150"},{"nodeType":"YulAssignment","src":"36937:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36949:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36960:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36945:3:150"},"nodeType":"YulFunctionCall","src":"36945:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36937:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_350fdfac125644b2824c59d7d47204e58a1ff9974ddef7f0ab890cde9c8b8a56__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36766:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36780:4:150","type":""}],"src":"36615:354:150"},{"body":{"nodeType":"YulBlock","src":"37148:228:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37165:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37176:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37158:6:150"},"nodeType":"YulFunctionCall","src":"37158:21:150"},"nodeType":"YulExpressionStatement","src":"37158:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37199:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37210:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37195:3:150"},"nodeType":"YulFunctionCall","src":"37195:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37215:2:150","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37188:6:150"},"nodeType":"YulFunctionCall","src":"37188:30:150"},"nodeType":"YulExpressionStatement","src":"37188:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37238:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37249:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37234:3:150"},"nodeType":"YulFunctionCall","src":"37234:18:150"},{"hexValue":"42335452476f7665726e6f723a20696e76616c6964206d617820636f6e747269","kind":"string","nodeType":"YulLiteral","src":"37254:34:150","type":"","value":"B3TRGovernor: invalid max contri"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37227:6:150"},"nodeType":"YulFunctionCall","src":"37227:62:150"},"nodeType":"YulExpressionStatement","src":"37227:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37309:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37320:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37305:3:150"},"nodeType":"YulFunctionCall","src":"37305:18:150"},{"hexValue":"6275746f7273","kind":"string","nodeType":"YulLiteral","src":"37325:8:150","type":"","value":"butors"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37298:6:150"},"nodeType":"YulFunctionCall","src":"37298:36:150"},"nodeType":"YulExpressionStatement","src":"37298:36:150"},{"nodeType":"YulAssignment","src":"37343:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37355:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37366:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37351:3:150"},"nodeType":"YulFunctionCall","src":"37351:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37343:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6c6d35768718cf2e8d62813ba5806cbd6186e80baa76d90c88ed91ccd770cefc__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37125:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37139:4:150","type":""}],"src":"36974:402:150"},{"body":{"nodeType":"YulBlock","src":"37480:101:150","statements":[{"nodeType":"YulAssignment","src":"37490:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37502:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37513:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37498:3:150"},"nodeType":"YulFunctionCall","src":"37498:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37490:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37532:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37547:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37563:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"37567:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37559:3:150"},"nodeType":"YulFunctionCall","src":"37559:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"37571:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"37555:3:150"},"nodeType":"YulFunctionCall","src":"37555:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37543:3:150"},"nodeType":"YulFunctionCall","src":"37543:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37525:6:150"},"nodeType":"YulFunctionCall","src":"37525:50:150"},"nodeType":"YulExpressionStatement","src":"37525:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37449:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37460:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37471:4:150","type":""}],"src":"37381:200:150"},{"body":{"nodeType":"YulBlock","src":"37739:141:150","statements":[{"nodeType":"YulAssignment","src":"37749:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37761:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37772:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37757:3:150"},"nodeType":"YulFunctionCall","src":"37757:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37749:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37791:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"37802:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37784:6:150"},"nodeType":"YulFunctionCall","src":"37784:25:150"},"nodeType":"YulExpressionStatement","src":"37784:25:150"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"37847:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37859:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37870:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37855:3:150"},"nodeType":"YulFunctionCall","src":"37855:18:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"37818:28:150"},"nodeType":"YulFunctionCall","src":"37818:56:150"},"nodeType":"YulExpressionStatement","src":"37818:56:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37700:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37711:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37719:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37730:4:150","type":""}],"src":"37586:294:150"},{"body":{"nodeType":"YulBlock","src":"38030:102:150","statements":[{"nodeType":"YulAssignment","src":"38040:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38052:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38063:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38048:3:150"},"nodeType":"YulFunctionCall","src":"38048:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38040:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38082:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38097:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38113:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"38118:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"38109:3:150"},"nodeType":"YulFunctionCall","src":"38109:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"38122:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38105:3:150"},"nodeType":"YulFunctionCall","src":"38105:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38093:3:150"},"nodeType":"YulFunctionCall","src":"38093:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38075:6:150"},"nodeType":"YulFunctionCall","src":"38075:51:150"},"nodeType":"YulExpressionStatement","src":"38075:51:150"}]},"name":"abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37999:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38010:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38021:4:150","type":""}],"src":"37885:247:150"},{"body":{"nodeType":"YulBlock","src":"38240:92:150","statements":[{"nodeType":"YulAssignment","src":"38250:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38262:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38273:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38258:3:150"},"nodeType":"YulFunctionCall","src":"38258:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38250:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38292:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38317:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"38310:6:150"},"nodeType":"YulFunctionCall","src":"38310:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"38303:6:150"},"nodeType":"YulFunctionCall","src":"38303:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38285:6:150"},"nodeType":"YulFunctionCall","src":"38285:41:150"},"nodeType":"YulExpressionStatement","src":"38285:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38209:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38220:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38231:4:150","type":""}],"src":"38137:195:150"},{"body":{"nodeType":"YulBlock","src":"38418:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"38464:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38473:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38476:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38466:6:150"},"nodeType":"YulFunctionCall","src":"38466:12:150"},"nodeType":"YulExpressionStatement","src":"38466:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"38439:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"38448:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38435:3:150"},"nodeType":"YulFunctionCall","src":"38435:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"38460:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"38431:3:150"},"nodeType":"YulFunctionCall","src":"38431:32:150"},"nodeType":"YulIf","src":"38428:52:150"},{"nodeType":"YulVariableDeclaration","src":"38489:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38508:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38502:5:150"},"nodeType":"YulFunctionCall","src":"38502:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"38493:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"38552:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"38527:24:150"},"nodeType":"YulFunctionCall","src":"38527:31:150"},"nodeType":"YulExpressionStatement","src":"38527:31:150"},{"nodeType":"YulAssignment","src":"38567:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"38577:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"38567:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38384:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"38395:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"38407:6:150","type":""}],"src":"38337:251:150"},{"body":{"nodeType":"YulBlock","src":"38699:775:150","statements":[{"nodeType":"YulVariableDeclaration","src":"38709:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"38719:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"38713:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"38766:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38775:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38778:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38768:6:150"},"nodeType":"YulFunctionCall","src":"38768:12:150"},"nodeType":"YulExpressionStatement","src":"38768:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"38741:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"38750:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38737:3:150"},"nodeType":"YulFunctionCall","src":"38737:23:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38762:2:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"38733:3:150"},"nodeType":"YulFunctionCall","src":"38733:32:150"},"nodeType":"YulIf","src":"38730:52:150"},{"nodeType":"YulVariableDeclaration","src":"38791:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38811:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38805:5:150"},"nodeType":"YulFunctionCall","src":"38805:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"38795:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"38864:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38873:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38876:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38866:6:150"},"nodeType":"YulFunctionCall","src":"38866:12:150"},"nodeType":"YulExpressionStatement","src":"38866:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"38836:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38852:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"38856:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"38848:3:150"},"nodeType":"YulFunctionCall","src":"38848:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"38860:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38844:3:150"},"nodeType":"YulFunctionCall","src":"38844:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"38833:2:150"},"nodeType":"YulFunctionCall","src":"38833:30:150"},"nodeType":"YulIf","src":"38830:50:150"},{"nodeType":"YulVariableDeclaration","src":"38889:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38903:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"38914:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38899:3:150"},"nodeType":"YulFunctionCall","src":"38899:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"38893:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"38969:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38978:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38981:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38971:6:150"},"nodeType":"YulFunctionCall","src":"38971:12:150"},"nodeType":"YulExpressionStatement","src":"38971:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"38948:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"38952:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38944:3:150"},"nodeType":"YulFunctionCall","src":"38944:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"38959:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"38940:3:150"},"nodeType":"YulFunctionCall","src":"38940:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"38933:6:150"},"nodeType":"YulFunctionCall","src":"38933:35:150"},"nodeType":"YulIf","src":"38930:55:150"},{"nodeType":"YulVariableDeclaration","src":"38994:19:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"39010:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"39004:5:150"},"nodeType":"YulFunctionCall","src":"39004:9:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"38998:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"39022:71:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"39089:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"39049:39:150"},"nodeType":"YulFunctionCall","src":"39049:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"39033:15:150"},"nodeType":"YulFunctionCall","src":"39033:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"39026:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"39102:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"39115:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"39106:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"39134:3:150"},{"name":"_3","nodeType":"YulIdentifier","src":"39139:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39127:6:150"},"nodeType":"YulFunctionCall","src":"39127:15:150"},"nodeType":"YulExpressionStatement","src":"39127:15:150"},{"nodeType":"YulAssignment","src":"39151:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"39162:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39167:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39158:3:150"},"nodeType":"YulFunctionCall","src":"39158:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"39151:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"39179:42:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"39201:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39209:1:150","type":"","value":"5"},{"name":"_3","nodeType":"YulIdentifier","src":"39212:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"39205:3:150"},"nodeType":"YulFunctionCall","src":"39205:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39197:3:150"},"nodeType":"YulFunctionCall","src":"39197:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39218:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39193:3:150"},"nodeType":"YulFunctionCall","src":"39193:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"39183:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"39253:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39262:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"39265:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"39255:6:150"},"nodeType":"YulFunctionCall","src":"39255:12:150"},"nodeType":"YulExpressionStatement","src":"39255:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"39236:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"39244:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"39233:2:150"},"nodeType":"YulFunctionCall","src":"39233:19:150"},"nodeType":"YulIf","src":"39230:39:150"},{"nodeType":"YulVariableDeclaration","src":"39278:22:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"39293:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39297:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39289:3:150"},"nodeType":"YulFunctionCall","src":"39289:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"39282:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"39365:79:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"39386:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"39397:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"39391:5:150"},"nodeType":"YulFunctionCall","src":"39391:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39379:6:150"},"nodeType":"YulFunctionCall","src":"39379:23:150"},"nodeType":"YulExpressionStatement","src":"39379:23:150"},{"nodeType":"YulAssignment","src":"39415:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"39426:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39431:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39422:3:150"},"nodeType":"YulFunctionCall","src":"39422:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"39415:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"39320:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"39325:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"39317:2:150"},"nodeType":"YulFunctionCall","src":"39317:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"39333:23:150","statements":[{"nodeType":"YulAssignment","src":"39335:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"39346:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39351:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39342:3:150"},"nodeType":"YulFunctionCall","src":"39342:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"39335:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"39313:3:150","statements":[]},"src":"39309:135:150"},{"nodeType":"YulAssignment","src":"39453:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"39463:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"39453:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38665:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"38676:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"38688:6:150","type":""}],"src":"38593:881:150"},{"body":{"nodeType":"YulBlock","src":"39741:279:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39758:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"39769:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39751:6:150"},"nodeType":"YulFunctionCall","src":"39751:25:150"},"nodeType":"YulExpressionStatement","src":"39751:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39796:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39807:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39792:3:150"},"nodeType":"YulFunctionCall","src":"39792:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"39816:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39832:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"39837:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"39828:3:150"},"nodeType":"YulFunctionCall","src":"39828:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"39841:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39824:3:150"},"nodeType":"YulFunctionCall","src":"39824:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39812:3:150"},"nodeType":"YulFunctionCall","src":"39812:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39785:6:150"},"nodeType":"YulFunctionCall","src":"39785:60:150"},"nodeType":"YulExpressionStatement","src":"39785:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39865:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39876:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39861:3:150"},"nodeType":"YulFunctionCall","src":"39861:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"39885:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"39893:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39881:3:150"},"nodeType":"YulFunctionCall","src":"39881:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39854:6:150"},"nodeType":"YulFunctionCall","src":"39854:45:150"},"nodeType":"YulExpressionStatement","src":"39854:45:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39919:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39930:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39915:3:150"},"nodeType":"YulFunctionCall","src":"39915:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39935:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39908:6:150"},"nodeType":"YulFunctionCall","src":"39908:31:150"},"nodeType":"YulExpressionStatement","src":"39908:31:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39959:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39970:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39955:3:150"},"nodeType":"YulFunctionCall","src":"39955:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"39976:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39948:6:150"},"nodeType":"YulFunctionCall","src":"39948:30:150"},"nodeType":"YulExpressionStatement","src":"39948:30:150"},{"nodeType":"YulAssignment","src":"39987:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39999:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40010:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39995:3:150"},"nodeType":"YulFunctionCall","src":"39995:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39987:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint8_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39694:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"39705:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"39713:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39721:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39732:4:150","type":""}],"src":"39479:541:150"},{"body":{"nodeType":"YulBlock","src":"40141:1018:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40151:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"40161:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"40155:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40208:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40217:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"40220:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"40210:6:150"},"nodeType":"YulFunctionCall","src":"40210:12:150"},"nodeType":"YulExpressionStatement","src":"40210:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"40183:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"40192:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"40179:3:150"},"nodeType":"YulFunctionCall","src":"40179:23:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40204:2:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"40175:3:150"},"nodeType":"YulFunctionCall","src":"40175:32:150"},"nodeType":"YulIf","src":"40172:52:150"},{"nodeType":"YulVariableDeclaration","src":"40233:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40253:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40247:5:150"},"nodeType":"YulFunctionCall","src":"40247:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"40237:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"40272:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40290:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"40294:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40286:3:150"},"nodeType":"YulFunctionCall","src":"40286:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"40298:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"40282:3:150"},"nodeType":"YulFunctionCall","src":"40282:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"40276:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40327:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40336:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"40339:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"40329:6:150"},"nodeType":"YulFunctionCall","src":"40329:12:150"},"nodeType":"YulExpressionStatement","src":"40329:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"40315:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"40323:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"40312:2:150"},"nodeType":"YulFunctionCall","src":"40312:14:150"},"nodeType":"YulIf","src":"40309:34:150"},{"nodeType":"YulVariableDeclaration","src":"40352:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40366:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"40377:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40362:3:150"},"nodeType":"YulFunctionCall","src":"40362:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"40356:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40432:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40441:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"40444:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"40434:6:150"},"nodeType":"YulFunctionCall","src":"40434:12:150"},"nodeType":"YulExpressionStatement","src":"40434:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"40411:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"40415:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40407:3:150"},"nodeType":"YulFunctionCall","src":"40407:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"40422:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"40403:3:150"},"nodeType":"YulFunctionCall","src":"40403:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"40396:6:150"},"nodeType":"YulFunctionCall","src":"40396:35:150"},"nodeType":"YulIf","src":"40393:55:150"},{"nodeType":"YulVariableDeclaration","src":"40457:19:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"40473:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40467:5:150"},"nodeType":"YulFunctionCall","src":"40467:9:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"40461:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"40485:71:150","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"40552:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"40512:39:150"},"nodeType":"YulFunctionCall","src":"40512:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"40496:15:150"},"nodeType":"YulFunctionCall","src":"40496:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"40489:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"40565:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"40578:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"40569:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"40597:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"40602:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40590:6:150"},"nodeType":"YulFunctionCall","src":"40590:15:150"},"nodeType":"YulExpressionStatement","src":"40590:15:150"},{"nodeType":"YulAssignment","src":"40614:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"40625:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40630:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40621:3:150"},"nodeType":"YulFunctionCall","src":"40621:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"40614:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"40642:42:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"40664:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40672:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"40675:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40668:3:150"},"nodeType":"YulFunctionCall","src":"40668:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40660:3:150"},"nodeType":"YulFunctionCall","src":"40660:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40681:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40656:3:150"},"nodeType":"YulFunctionCall","src":"40656:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"40646:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40716:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40725:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"40728:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"40718:6:150"},"nodeType":"YulFunctionCall","src":"40718:12:150"},"nodeType":"YulExpressionStatement","src":"40718:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"40699:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"40707:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"40696:2:150"},"nodeType":"YulFunctionCall","src":"40696:19:150"},"nodeType":"YulIf","src":"40693:39:150"},{"nodeType":"YulVariableDeclaration","src":"40741:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"40756:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40760:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40752:3:150"},"nodeType":"YulFunctionCall","src":"40752:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"40745:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40828:301:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40842:29:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"40867:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40861:5:150"},"nodeType":"YulFunctionCall","src":"40861:10:150"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"40846:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40919:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40937:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"40947:1:150","type":"","value":"0"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"40941:2:150","type":""}]},{"expression":{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"40972:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"40976:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"40965:6:150"},"nodeType":"YulFunctionCall","src":"40965:14:150"},"nodeType":"YulExpressionStatement","src":"40965:14:150"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"40890:11:150"},{"name":"_2","nodeType":"YulIdentifier","src":"40903:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"40887:2:150"},"nodeType":"YulFunctionCall","src":"40887:19:150"},"nodeType":"YulIf","src":"40884:109:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"41013:3:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"41055:2:150"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"41059:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41051:3:150"},"nodeType":"YulFunctionCall","src":"41051:20:150"},{"name":"_1","nodeType":"YulIdentifier","src":"41073:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41047:3:150"},"nodeType":"YulFunctionCall","src":"41047:29:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"41078:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"41018:28:150"},"nodeType":"YulFunctionCall","src":"41018:68:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41006:6:150"},"nodeType":"YulFunctionCall","src":"41006:81:150"},"nodeType":"YulExpressionStatement","src":"41006:81:150"},{"nodeType":"YulAssignment","src":"41100:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"41111:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"41116:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41107:3:150"},"nodeType":"YulFunctionCall","src":"41107:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"41100:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"40783:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"40788:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"40780:2:150"},"nodeType":"YulFunctionCall","src":"40780:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"40796:23:150","statements":[{"nodeType":"YulAssignment","src":"40798:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"40809:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40814:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40805:3:150"},"nodeType":"YulFunctionCall","src":"40805:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"40798:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"40776:3:150","statements":[]},"src":"40772:357:150"},{"nodeType":"YulAssignment","src":"41138:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"41148:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"41138:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40107:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"40118:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"40130:6:150","type":""}],"src":"40025:1134:150"},{"body":{"nodeType":"YulBlock","src":"41231:200:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41248:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"41253:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41241:6:150"},"nodeType":"YulFunctionCall","src":"41241:19:150"},"nodeType":"YulExpressionStatement","src":"41241:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41286:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"41291:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41282:3:150"},"nodeType":"YulFunctionCall","src":"41282:14:150"},{"name":"start","nodeType":"YulIdentifier","src":"41298:5:150"},{"name":"length","nodeType":"YulIdentifier","src":"41305:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"41269:12:150"},"nodeType":"YulFunctionCall","src":"41269:43:150"},"nodeType":"YulExpressionStatement","src":"41269:43:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41336:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"41341:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41332:3:150"},"nodeType":"YulFunctionCall","src":"41332:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"41350:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41328:3:150"},"nodeType":"YulFunctionCall","src":"41328:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"41357:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41321:6:150"},"nodeType":"YulFunctionCall","src":"41321:38:150"},"nodeType":"YulExpressionStatement","src":"41321:38:150"},{"nodeType":"YulAssignment","src":"41368:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"41383:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"41396:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"41404:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41392:3:150"},"nodeType":"YulFunctionCall","src":"41392:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41413:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"41409:3:150"},"nodeType":"YulFunctionCall","src":"41409:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41388:3:150"},"nodeType":"YulFunctionCall","src":"41388:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41379:3:150"},"nodeType":"YulFunctionCall","src":"41379:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"41420:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41375:3:150"},"nodeType":"YulFunctionCall","src":"41375:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"41368:3:150"}]}]},"name":"abi_encode_string_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"41200:5:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"41207:6:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"41215:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"41223:3:150","type":""}],"src":"41164:267:150"},{"body":{"nodeType":"YulBlock","src":"41821:1440:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41838:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"41849:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41831:6:150"},"nodeType":"YulFunctionCall","src":"41831:25:150"},"nodeType":"YulExpressionStatement","src":"41831:25:150"},{"nodeType":"YulVariableDeclaration","src":"41865:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"41875:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"41869:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41897:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"41908:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41893:3:150"},"nodeType":"YulFunctionCall","src":"41893:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"41917:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"41933:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"41938:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"41929:3:150"},"nodeType":"YulFunctionCall","src":"41929:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"41942:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"41925:3:150"},"nodeType":"YulFunctionCall","src":"41925:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"41913:3:150"},"nodeType":"YulFunctionCall","src":"41913:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41886:6:150"},"nodeType":"YulFunctionCall","src":"41886:60:150"},"nodeType":"YulExpressionStatement","src":"41886:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"41966:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"41977:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"41962:3:150"},"nodeType":"YulFunctionCall","src":"41962:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"41982:3:150","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"41955:6:150"},"nodeType":"YulFunctionCall","src":"41955:31:150"},"nodeType":"YulExpressionStatement","src":"41955:31:150"},{"nodeType":"YulVariableDeclaration","src":"41995:77:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"42036:6:150"},{"name":"value3","nodeType":"YulIdentifier","src":"42044:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42056:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42067:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42052:3:150"},"nodeType":"YulFunctionCall","src":"42052:19:150"}],"functionName":{"name":"abi_encode_string_calldata","nodeType":"YulIdentifier","src":"42009:26:150"},"nodeType":"YulFunctionCall","src":"42009:63:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"41999:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42092:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42103:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42088:3:150"},"nodeType":"YulFunctionCall","src":"42088:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"42112:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"42120:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42108:3:150"},"nodeType":"YulFunctionCall","src":"42108:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42081:6:150"},"nodeType":"YulFunctionCall","src":"42081:50:150"},"nodeType":"YulExpressionStatement","src":"42081:50:150"},{"nodeType":"YulVariableDeclaration","src":"42140:64:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"42181:6:150"},{"name":"value5","nodeType":"YulIdentifier","src":"42189:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"42197:6:150"}],"functionName":{"name":"abi_encode_string_calldata","nodeType":"YulIdentifier","src":"42154:26:150"},"nodeType":"YulFunctionCall","src":"42154:50:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"42144:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"42224:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"42235:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42220:3:150"},"nodeType":"YulFunctionCall","src":"42220:19:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"42245:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"42253:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42241:3:150"},"nodeType":"YulFunctionCall","src":"42241:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42213:6:150"},"nodeType":"YulFunctionCall","src":"42213:51:150"},"nodeType":"YulExpressionStatement","src":"42213:51:150"},{"nodeType":"YulVariableDeclaration","src":"42273:17:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"42284:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"42277:3:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"42306:6:150"},{"name":"value7","nodeType":"YulIdentifier","src":"42314:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42299:6:150"},"nodeType":"YulFunctionCall","src":"42299:22:150"},"nodeType":"YulExpressionStatement","src":"42299:22:150"},{"nodeType":"YulAssignment","src":"42330:22:150","value":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"42341:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"42349:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42337:3:150"},"nodeType":"YulFunctionCall","src":"42337:15:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"42330:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"42361:50:150","value":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"42383:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42395:1:150","type":"","value":"5"},{"name":"value7","nodeType":"YulIdentifier","src":"42398:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42391:3:150"},"nodeType":"YulFunctionCall","src":"42391:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42379:3:150"},"nodeType":"YulFunctionCall","src":"42379:27:150"},{"name":"_1","nodeType":"YulIdentifier","src":"42408:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42375:3:150"},"nodeType":"YulFunctionCall","src":"42375:36:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"42365:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"42420:20:150","value":{"name":"value6","nodeType":"YulIdentifier","src":"42434:6:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"42424:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"42449:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"42458:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"42453:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"42517:662:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"42538:3:150"},{"arguments":[{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"42551:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"42559:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42547:3:150"},"nodeType":"YulFunctionCall","src":"42547:19:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42572:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"42568:3:150"},"nodeType":"YulFunctionCall","src":"42568:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42543:3:150"},"nodeType":"YulFunctionCall","src":"42543:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"42531:6:150"},"nodeType":"YulFunctionCall","src":"42531:46:150"},"nodeType":"YulExpressionStatement","src":"42531:46:150"},{"nodeType":"YulVariableDeclaration","src":"42590:46:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"42629:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"42616:12:150"},"nodeType":"YulFunctionCall","src":"42616:20:150"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"42594:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"42727:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42736:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42739:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42729:6:150"},"nodeType":"YulFunctionCall","src":"42729:12:150"},"nodeType":"YulExpressionStatement","src":"42729:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"42663:18:150"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"42691:12:150"},"nodeType":"YulFunctionCall","src":"42691:14:150"},{"name":"value6","nodeType":"YulIdentifier","src":"42707:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42687:3:150"},"nodeType":"YulFunctionCall","src":"42687:27:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42720:2:150","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"42716:3:150"},"nodeType":"YulFunctionCall","src":"42716:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42683:3:150"},"nodeType":"YulFunctionCall","src":"42683:41:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"42659:3:150"},"nodeType":"YulFunctionCall","src":"42659:66:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"42652:6:150"},"nodeType":"YulFunctionCall","src":"42652:74:150"},"nodeType":"YulIf","src":"42649:94:150"},{"nodeType":"YulVariableDeclaration","src":"42756:44:150","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"42773:18:150"},{"name":"value6","nodeType":"YulIdentifier","src":"42793:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42769:3:150"},"nodeType":"YulFunctionCall","src":"42769:31:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"42760:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"42813:33:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"42840:5:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"42827:12:150"},"nodeType":"YulFunctionCall","src":"42827:19:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"42817:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"42859:29:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"42878:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"42885:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42874:3:150"},"nodeType":"YulFunctionCall","src":"42874:14:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"42863:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"42935:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42944:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"42947:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"42937:6:150"},"nodeType":"YulFunctionCall","src":"42937:12:150"},"nodeType":"YulExpressionStatement","src":"42937:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"42907:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"42923:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"42927:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"42919:3:150"},"nodeType":"YulFunctionCall","src":"42919:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"42931:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42915:3:150"},"nodeType":"YulFunctionCall","src":"42915:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"42904:2:150"},"nodeType":"YulFunctionCall","src":"42904:30:150"},"nodeType":"YulIf","src":"42901:50:150"},{"body":{"nodeType":"YulBlock","src":"43009:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43018:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"43021:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"43011:6:150"},"nodeType":"YulFunctionCall","src":"43011:12:150"},"nodeType":"YulExpressionStatement","src":"43011:12:150"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"42971:7:150"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"42984:12:150"},"nodeType":"YulFunctionCall","src":"42984:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"43000:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"42980:3:150"},"nodeType":"YulFunctionCall","src":"42980:27:150"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"42967:3:150"},"nodeType":"YulFunctionCall","src":"42967:41:150"},"nodeType":"YulIf","src":"42964:61:150"},{"nodeType":"YulAssignment","src":"43038:61:150","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"43075:7:150"},{"name":"length","nodeType":"YulIdentifier","src":"43084:6:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"43092:6:150"}],"functionName":{"name":"abi_encode_string_calldata","nodeType":"YulIdentifier","src":"43048:26:150"},"nodeType":"YulFunctionCall","src":"43048:51:150"},"variableNames":[{"name":"tail_3","nodeType":"YulIdentifier","src":"43038:6:150"}]},{"nodeType":"YulAssignment","src":"43112:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"43126:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"43134:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43122:3:150"},"nodeType":"YulFunctionCall","src":"43122:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"43112:6:150"}]},{"nodeType":"YulAssignment","src":"43150:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"43161:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"43166:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43157:3:150"},"nodeType":"YulFunctionCall","src":"43157:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"43150:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"42479:1:150"},{"name":"value7","nodeType":"YulIdentifier","src":"42482:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"42476:2:150"},"nodeType":"YulFunctionCall","src":"42476:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"42490:18:150","statements":[{"nodeType":"YulAssignment","src":"42492:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"42501:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"42504:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"42497:3:150"},"nodeType":"YulFunctionCall","src":"42497:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"42492:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"42472:3:150","statements":[]},"src":"42468:711:150"},{"nodeType":"YulAssignment","src":"43188:14:150","value":{"name":"tail_3","nodeType":"YulIdentifier","src":"43196:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43188:4:150"}]},{"expression":{"arguments":[{"name":"value8","nodeType":"YulIdentifier","src":"43227:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43239:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43250:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43235:3:150"},"nodeType":"YulFunctionCall","src":"43235:19:150"}],"functionName":{"name":"abi_encode_bool","nodeType":"YulIdentifier","src":"43211:15:150"},"nodeType":"YulFunctionCall","src":"43211:44:150"},"nodeType":"YulExpressionStatement","src":"43211:44:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_string_calldata_ptr_t_string_calldata_ptr_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_t_bool__to_t_uint256_t_address_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"41726:9:150","type":""},{"name":"value8","nodeType":"YulTypedName","src":"41737:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"41745:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"41753:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"41761:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"41769:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"41777:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"41785:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"41793:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"41801:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"41812:4:150","type":""}],"src":"41436:1825:150"},{"body":{"nodeType":"YulBlock","src":"43398:102:150","statements":[{"nodeType":"YulAssignment","src":"43408:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43420:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43431:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43416:3:150"},"nodeType":"YulFunctionCall","src":"43416:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43408:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43450:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"43465:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43481:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"43486:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43477:3:150"},"nodeType":"YulFunctionCall","src":"43477:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"43490:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"43473:3:150"},"nodeType":"YulFunctionCall","src":"43473:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43461:3:150"},"nodeType":"YulFunctionCall","src":"43461:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43443:6:150"},"nodeType":"YulFunctionCall","src":"43443:51:150"},"nodeType":"YulExpressionStatement","src":"43443:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43367:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43378:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43389:4:150","type":""}],"src":"43266:234:150"},{"body":{"nodeType":"YulBlock","src":"43724:284:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43741:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"43752:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43734:6:150"},"nodeType":"YulFunctionCall","src":"43734:25:150"},"nodeType":"YulExpressionStatement","src":"43734:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43779:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43790:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43775:3:150"},"nodeType":"YulFunctionCall","src":"43775:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"43799:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"43815:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"43820:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"43811:3:150"},"nodeType":"YulFunctionCall","src":"43811:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"43824:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"43807:3:150"},"nodeType":"YulFunctionCall","src":"43807:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43795:3:150"},"nodeType":"YulFunctionCall","src":"43795:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43768:6:150"},"nodeType":"YulFunctionCall","src":"43768:60:150"},"nodeType":"YulExpressionStatement","src":"43768:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43848:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43859:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43844:3:150"},"nodeType":"YulFunctionCall","src":"43844:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"43868:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"43876:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"43864:3:150"},"nodeType":"YulFunctionCall","src":"43864:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43837:6:150"},"nodeType":"YulFunctionCall","src":"43837:45:150"},"nodeType":"YulExpressionStatement","src":"43837:45:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43902:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43913:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43898:3:150"},"nodeType":"YulFunctionCall","src":"43898:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"43918:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"43891:6:150"},"nodeType":"YulFunctionCall","src":"43891:31:150"},"nodeType":"YulExpressionStatement","src":"43891:31:150"},{"nodeType":"YulAssignment","src":"43931:71:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"43966:6:150"},{"name":"value4","nodeType":"YulIdentifier","src":"43974:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"43986:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"43997:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"43982:3:150"},"nodeType":"YulFunctionCall","src":"43982:19:150"}],"functionName":{"name":"abi_encode_string_calldata","nodeType":"YulIdentifier","src":"43939:26:150"},"nodeType":"YulFunctionCall","src":"43939:63:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"43931:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint8_t_string_calldata_ptr__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"43661:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"43672:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"43680:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"43688:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"43696:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"43704:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"43715:4:150","type":""}],"src":"43505:503:150"},{"body":{"nodeType":"YulBlock","src":"44091:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"44137:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44146:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"44149:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"44139:6:150"},"nodeType":"YulFunctionCall","src":"44139:12:150"},"nodeType":"YulExpressionStatement","src":"44139:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"44112:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"44121:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"44108:3:150"},"nodeType":"YulFunctionCall","src":"44108:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"44133:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"44104:3:150"},"nodeType":"YulFunctionCall","src":"44104:32:150"},"nodeType":"YulIf","src":"44101:52:150"},{"nodeType":"YulVariableDeclaration","src":"44162:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44181:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44175:5:150"},"nodeType":"YulFunctionCall","src":"44175:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"44166:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"44222:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"44200:21:150"},"nodeType":"YulFunctionCall","src":"44200:28:150"},"nodeType":"YulExpressionStatement","src":"44200:28:150"},{"nodeType":"YulAssignment","src":"44237:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"44247:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"44237:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"44057:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"44068:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"44080:6:150","type":""}],"src":"44013:245:150"},{"body":{"nodeType":"YulBlock","src":"44470:637:150","statements":[{"nodeType":"YulVariableDeclaration","src":"44480:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44498:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44509:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44494:3:150"},"nodeType":"YulFunctionCall","src":"44494:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"44484:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44528:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"44543:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44559:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"44564:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"44555:3:150"},"nodeType":"YulFunctionCall","src":"44555:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"44568:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"44551:3:150"},"nodeType":"YulFunctionCall","src":"44551:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"44539:3:150"},"nodeType":"YulFunctionCall","src":"44539:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44521:6:150"},"nodeType":"YulFunctionCall","src":"44521:51:150"},"nodeType":"YulExpressionStatement","src":"44521:51:150"},{"nodeType":"YulVariableDeclaration","src":"44581:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"44591:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"44585:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44613:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"44624:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44609:3:150"},"nodeType":"YulFunctionCall","src":"44609:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"44629:2:150","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44602:6:150"},"nodeType":"YulFunctionCall","src":"44602:30:150"},"nodeType":"YulExpressionStatement","src":"44602:30:150"},{"nodeType":"YulVariableDeclaration","src":"44641:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"44652:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"44645:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"44667:27:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"44687:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44681:5:150"},"nodeType":"YulFunctionCall","src":"44681:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"44671:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"44710:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"44718:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44703:6:150"},"nodeType":"YulFunctionCall","src":"44703:22:150"},"nodeType":"YulExpressionStatement","src":"44703:22:150"},{"nodeType":"YulAssignment","src":"44734:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"44745:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"44756:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44741:3:150"},"nodeType":"YulFunctionCall","src":"44741:19:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"44734:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"44769:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"44787:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"44795:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44783:3:150"},"nodeType":"YulFunctionCall","src":"44783:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"44773:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"44807:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"44816:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"44811:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"44875:147:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44896:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"44911:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"44905:5:150"},"nodeType":"YulFunctionCall","src":"44905:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"44924:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"44929:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"44920:3:150"},"nodeType":"YulFunctionCall","src":"44920:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"44901:3:150"},"nodeType":"YulFunctionCall","src":"44901:40:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"44889:6:150"},"nodeType":"YulFunctionCall","src":"44889:53:150"},"nodeType":"YulExpressionStatement","src":"44889:53:150"},{"nodeType":"YulAssignment","src":"44955:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"44966:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"44971:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44962:3:150"},"nodeType":"YulFunctionCall","src":"44962:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"44955:3:150"}]},{"nodeType":"YulAssignment","src":"44987:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"45001:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"45009:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44997:3:150"},"nodeType":"YulFunctionCall","src":"44997:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"44987:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"44837:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"44840:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"44834:2:150"},"nodeType":"YulFunctionCall","src":"44834:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"44848:18:150","statements":[{"nodeType":"YulAssignment","src":"44850:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"44859:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"44862:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"44855:3:150"},"nodeType":"YulFunctionCall","src":"44855:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"44850:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"44830:3:150","statements":[]},"src":"44826:196:150"},{"nodeType":"YulAssignment","src":"45031:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"45039:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"45031:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45062:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45073:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45058:3:150"},"nodeType":"YulFunctionCall","src":"45058:18:150"},{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"45092:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"45085:6:150"},"nodeType":"YulFunctionCall","src":"45085:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"45078:6:150"},"nodeType":"YulFunctionCall","src":"45078:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45051:6:150"},"nodeType":"YulFunctionCall","src":"45051:50:150"},"nodeType":"YulExpressionStatement","src":"45051:50:150"}]},"name":"abi_encode_tuple_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__to_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"44423:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"44434:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"44442:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"44450:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"44461:4:150","type":""}],"src":"44263:844:150"},{"body":{"nodeType":"YulBlock","src":"45192:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"45238:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"45247:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"45250:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"45240:6:150"},"nodeType":"YulFunctionCall","src":"45240:12:150"},"nodeType":"YulExpressionStatement","src":"45240:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"45213:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"45222:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"45209:3:150"},"nodeType":"YulFunctionCall","src":"45209:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"45234:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"45205:3:150"},"nodeType":"YulFunctionCall","src":"45205:32:150"},"nodeType":"YulIf","src":"45202:52:150"},{"nodeType":"YulVariableDeclaration","src":"45263:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45282:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"45276:5:150"},"nodeType":"YulFunctionCall","src":"45276:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"45267:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"45350:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"45359:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"45362:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"45352:6:150"},"nodeType":"YulFunctionCall","src":"45352:12:150"},"nodeType":"YulExpressionStatement","src":"45352:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"45314:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"45325:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"45332:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"45321:3:150"},"nodeType":"YulFunctionCall","src":"45321:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"45311:2:150"},"nodeType":"YulFunctionCall","src":"45311:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"45304:6:150"},"nodeType":"YulFunctionCall","src":"45304:45:150"},"nodeType":"YulIf","src":"45301:65:150"},{"nodeType":"YulAssignment","src":"45375:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"45385:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"45375:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"45158:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"45169:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"45181:6:150","type":""}],"src":"45112:284:150"},{"body":{"nodeType":"YulBlock","src":"45538:145:150","statements":[{"nodeType":"YulAssignment","src":"45548:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45560:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45571:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45556:3:150"},"nodeType":"YulFunctionCall","src":"45556:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"45548:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45590:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"45605:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"45621:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"45626:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"45617:3:150"},"nodeType":"YulFunctionCall","src":"45617:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"45630:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"45613:3:150"},"nodeType":"YulFunctionCall","src":"45613:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"45601:3:150"},"nodeType":"YulFunctionCall","src":"45601:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45583:6:150"},"nodeType":"YulFunctionCall","src":"45583:51:150"},"nodeType":"YulExpressionStatement","src":"45583:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45654:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45665:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45650:3:150"},"nodeType":"YulFunctionCall","src":"45650:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"45670:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45643:6:150"},"nodeType":"YulFunctionCall","src":"45643:34:150"},"nodeType":"YulExpressionStatement","src":"45643:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"45499:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"45510:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"45518:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"45529:4:150","type":""}],"src":"45401:282:150"},{"body":{"nodeType":"YulBlock","src":"45862:230:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45879:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45890:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45872:6:150"},"nodeType":"YulFunctionCall","src":"45872:21:150"},"nodeType":"YulExpressionStatement","src":"45872:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45913:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45924:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45909:3:150"},"nodeType":"YulFunctionCall","src":"45909:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"45929:2:150","type":"","value":"40"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45902:6:150"},"nodeType":"YulFunctionCall","src":"45902:30:150"},"nodeType":"YulExpressionStatement","src":"45902:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"45952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"45963:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"45948:3:150"},"nodeType":"YulFunctionCall","src":"45948:18:150"},{"hexValue":"42335452476f7665726e6f723a20696e76616c6964206e6176696761746f7220","kind":"string","nodeType":"YulLiteral","src":"45968:34:150","type":"","value":"B3TRGovernor: invalid navigator "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45941:6:150"},"nodeType":"YulFunctionCall","src":"45941:62:150"},"nodeType":"YulExpressionStatement","src":"45941:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46023:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46034:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46019:3:150"},"nodeType":"YulFunctionCall","src":"46019:18:150"},{"hexValue":"7265676973747279","kind":"string","nodeType":"YulLiteral","src":"46039:10:150","type":"","value":"registry"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46012:6:150"},"nodeType":"YulFunctionCall","src":"46012:38:150"},"nodeType":"YulExpressionStatement","src":"46012:38:150"},{"nodeType":"YulAssignment","src":"46059:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46071:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46082:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46067:3:150"},"nodeType":"YulFunctionCall","src":"46067:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"46059:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_7fa5a327e1b5b4342bcb5efc01693de1812f98a642e298618e3f3416bfc4a5ce__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"45839:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"45853:4:150","type":""}],"src":"45688:404:150"},{"body":{"nodeType":"YulBlock","src":"46271:232:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46288:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46299:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46281:6:150"},"nodeType":"YulFunctionCall","src":"46281:21:150"},"nodeType":"YulExpressionStatement","src":"46281:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46322:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46333:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46318:3:150"},"nodeType":"YulFunctionCall","src":"46318:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"46338:2:150","type":"","value":"42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46311:6:150"},"nodeType":"YulFunctionCall","src":"46311:30:150"},"nodeType":"YulExpressionStatement","src":"46311:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46361:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46372:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46357:3:150"},"nodeType":"YulFunctionCall","src":"46357:18:150"},{"hexValue":"42335452476f7665726e6f723a20696e76616c69642072656c61796572207265","kind":"string","nodeType":"YulLiteral","src":"46377:34:150","type":"","value":"B3TRGovernor: invalid relayer re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46350:6:150"},"nodeType":"YulFunctionCall","src":"46350:62:150"},"nodeType":"YulExpressionStatement","src":"46350:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46432:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46443:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46428:3:150"},"nodeType":"YulFunctionCall","src":"46428:18:150"},{"hexValue":"776172647320706f6f6c","kind":"string","nodeType":"YulLiteral","src":"46448:12:150","type":"","value":"wards pool"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46421:6:150"},"nodeType":"YulFunctionCall","src":"46421:40:150"},"nodeType":"YulExpressionStatement","src":"46421:40:150"},{"nodeType":"YulAssignment","src":"46470:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46482:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46493:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46478:3:150"},"nodeType":"YulFunctionCall","src":"46478:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"46470:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_73e11a8abbc9a7177ad14dda9ae7eaada948d41b4e3b2d05d3d7d441fafa03de__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"46248:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"46262:4:150","type":""}],"src":"46097:406:150"},{"body":{"nodeType":"YulBlock","src":"46645:102:150","statements":[{"nodeType":"YulAssignment","src":"46655:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46667:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46678:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46663:3:150"},"nodeType":"YulFunctionCall","src":"46663:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"46655:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46697:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"46712:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"46728:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"46733:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"46724:3:150"},"nodeType":"YulFunctionCall","src":"46724:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"46737:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"46720:3:150"},"nodeType":"YulFunctionCall","src":"46720:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"46708:3:150"},"nodeType":"YulFunctionCall","src":"46708:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46690:6:150"},"nodeType":"YulFunctionCall","src":"46690:51:150"},"nodeType":"YulExpressionStatement","src":"46690:51:150"}]},"name":"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"46614:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"46625:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"46636:4:150","type":""}],"src":"46508:239:150"},{"body":{"nodeType":"YulBlock","src":"46907:102:150","statements":[{"nodeType":"YulAssignment","src":"46917:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46929:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"46940:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"46925:3:150"},"nodeType":"YulFunctionCall","src":"46925:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"46917:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"46959:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"46974:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"46990:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"46995:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"46986:3:150"},"nodeType":"YulFunctionCall","src":"46986:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"46999:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"46982:3:150"},"nodeType":"YulFunctionCall","src":"46982:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"46970:3:150"},"nodeType":"YulFunctionCall","src":"46970:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"46952:6:150"},"nodeType":"YulFunctionCall","src":"46952:51:150"},"nodeType":"YulExpressionStatement","src":"46952:51:150"}]},"name":"abi_encode_tuple_t_contract$_TimelockControllerUpgradeable_$1478__to_t_address_payable__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"46876:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"46887:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"46898:4:150","type":""}],"src":"46752:257:150"},{"body":{"nodeType":"YulBlock","src":"47146:102:150","statements":[{"nodeType":"YulAssignment","src":"47156:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"47168:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"47179:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47164:3:150"},"nodeType":"YulFunctionCall","src":"47164:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"47156:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"47198:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"47213:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47229:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"47234:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"47225:3:150"},"nodeType":"YulFunctionCall","src":"47225:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"47238:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"47221:3:150"},"nodeType":"YulFunctionCall","src":"47221:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"47209:3:150"},"nodeType":"YulFunctionCall","src":"47209:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47191:6:150"},"nodeType":"YulFunctionCall","src":"47191:51:150"},"nodeType":"YulExpressionStatement","src":"47191:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"47115:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"47126:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"47137:4:150","type":""}],"src":"47014:234:150"},{"body":{"nodeType":"YulBlock","src":"47389:102:150","statements":[{"nodeType":"YulAssignment","src":"47399:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"47411:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"47422:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47407:3:150"},"nodeType":"YulFunctionCall","src":"47407:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"47399:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"47441:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"47456:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47472:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"47477:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"47468:3:150"},"nodeType":"YulFunctionCall","src":"47468:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"47481:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"47464:3:150"},"nodeType":"YulFunctionCall","src":"47464:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"47452:3:150"},"nodeType":"YulFunctionCall","src":"47452:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47434:6:150"},"nodeType":"YulFunctionCall","src":"47434:51:150"},"nodeType":"YulExpressionStatement","src":"47434:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"47358:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"47369:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"47380:4:150","type":""}],"src":"47253:238:150"},{"body":{"nodeType":"YulBlock","src":"47653:231:150","statements":[{"nodeType":"YulAssignment","src":"47663:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"47675:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"47686:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47671:3:150"},"nodeType":"YulFunctionCall","src":"47671:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"47663:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"47705:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"47720:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47736:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"47741:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"47732:3:150"},"nodeType":"YulFunctionCall","src":"47732:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"47745:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"47728:3:150"},"nodeType":"YulFunctionCall","src":"47728:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"47716:3:150"},"nodeType":"YulFunctionCall","src":"47716:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47698:6:150"},"nodeType":"YulFunctionCall","src":"47698:51:150"},"nodeType":"YulExpressionStatement","src":"47698:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"47769:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"47780:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47765:3:150"},"nodeType":"YulFunctionCall","src":"47765:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"47789:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"47801:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"47806:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"47797:3:150"},"nodeType":"YulFunctionCall","src":"47797:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"47785:3:150"},"nodeType":"YulFunctionCall","src":"47785:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47758:6:150"},"nodeType":"YulFunctionCall","src":"47758:61:150"},"nodeType":"YulExpressionStatement","src":"47758:61:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"47839:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"47850:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"47835:3:150"},"nodeType":"YulFunctionCall","src":"47835:18:150"},{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"47869:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"47862:6:150"},"nodeType":"YulFunctionCall","src":"47862:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"47855:6:150"},"nodeType":"YulFunctionCall","src":"47855:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"47828:6:150"},"nodeType":"YulFunctionCall","src":"47828:50:150"},"nodeType":"YulExpressionStatement","src":"47828:50:150"}]},"name":"abi_encode_tuple_t_address_t_bytes4_t_bool__to_t_address_t_bytes4_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"47606:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"47617:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"47625:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"47633:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"47644:4:150","type":""}],"src":"47496:388:150"},{"body":{"nodeType":"YulBlock","src":"48036:124:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48059:3:150"},{"name":"value0","nodeType":"YulIdentifier","src":"48064:6:150"},{"name":"value1","nodeType":"YulIdentifier","src":"48072:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"48046:12:150"},"nodeType":"YulFunctionCall","src":"48046:33:150"},"nodeType":"YulExpressionStatement","src":"48046:33:150"},{"nodeType":"YulVariableDeclaration","src":"48088:26:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"48102:3:150"},{"name":"value1","nodeType":"YulIdentifier","src":"48107:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"48098:3:150"},"nodeType":"YulFunctionCall","src":"48098:16:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"48092:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"48130:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"48134:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48123:6:150"},"nodeType":"YulFunctionCall","src":"48123:13:150"},"nodeType":"YulExpressionStatement","src":"48123:13:150"},{"nodeType":"YulAssignment","src":"48145:9:150","value":{"name":"_1","nodeType":"YulIdentifier","src":"48152:2:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"48145:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"48004:3:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"48009:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"48017:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"48028:3:150","type":""}],"src":"47889:271:150"},{"body":{"nodeType":"YulBlock","src":"48298:102:150","statements":[{"nodeType":"YulAssignment","src":"48308:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"48320:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"48331:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"48316:3:150"},"nodeType":"YulFunctionCall","src":"48316:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"48308:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"48350:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"48365:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48381:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"48386:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"48377:3:150"},"nodeType":"YulFunctionCall","src":"48377:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"48390:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"48373:3:150"},"nodeType":"YulFunctionCall","src":"48373:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"48361:3:150"},"nodeType":"YulFunctionCall","src":"48361:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48343:6:150"},"nodeType":"YulFunctionCall","src":"48343:51:150"},"nodeType":"YulExpressionStatement","src":"48343:51:150"}]},"name":"abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"48267:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"48278:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"48289:4:150","type":""}],"src":"48165:235:150"},{"body":{"nodeType":"YulBlock","src":"48864:651:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"48881:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"48896:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"48912:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"48917:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"48908:3:150"},"nodeType":"YulFunctionCall","src":"48908:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"48921:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"48904:3:150"},"nodeType":"YulFunctionCall","src":"48904:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"48892:3:150"},"nodeType":"YulFunctionCall","src":"48892:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48874:6:150"},"nodeType":"YulFunctionCall","src":"48874:51:150"},"nodeType":"YulExpressionStatement","src":"48874:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"48945:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"48956:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"48941:3:150"},"nodeType":"YulFunctionCall","src":"48941:18:150"},{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"48975:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"48968:6:150"},"nodeType":"YulFunctionCall","src":"48968:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"48961:6:150"},"nodeType":"YulFunctionCall","src":"48961:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48934:6:150"},"nodeType":"YulFunctionCall","src":"48934:50:150"},"nodeType":"YulExpressionStatement","src":"48934:50:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"49004:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"49015:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49000:3:150"},"nodeType":"YulFunctionCall","src":"49000:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"49020:3:150","type":"","value":"224"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"48993:6:150"},"nodeType":"YulFunctionCall","src":"48993:31:150"},"nodeType":"YulExpressionStatement","src":"48993:31:150"},{"nodeType":"YulVariableDeclaration","src":"49033:71:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"49076:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"49088:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"49099:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49084:3:150"},"nodeType":"YulFunctionCall","src":"49084:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"49047:28:150"},"nodeType":"YulFunctionCall","src":"49047:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"49037:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"49124:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"49135:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49120:3:150"},"nodeType":"YulFunctionCall","src":"49120:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"49144:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"49152:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"49140:3:150"},"nodeType":"YulFunctionCall","src":"49140:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"49113:6:150"},"nodeType":"YulFunctionCall","src":"49113:50:150"},"nodeType":"YulExpressionStatement","src":"49113:50:150"},{"nodeType":"YulVariableDeclaration","src":"49172:58:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"49215:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"49223:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"49186:28:150"},"nodeType":"YulFunctionCall","src":"49186:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"49176:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"49250:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"49261:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49246:3:150"},"nodeType":"YulFunctionCall","src":"49246:19:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"49271:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"49279:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"49267:3:150"},"nodeType":"YulFunctionCall","src":"49267:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"49239:6:150"},"nodeType":"YulFunctionCall","src":"49239:51:150"},"nodeType":"YulExpressionStatement","src":"49239:51:150"},{"nodeType":"YulVariableDeclaration","src":"49299:56:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"49340:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"49348:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"49313:26:150"},"nodeType":"YulFunctionCall","src":"49313:42:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"49303:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"49375:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"49386:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49371:3:150"},"nodeType":"YulFunctionCall","src":"49371:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"49392:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"49364:6:150"},"nodeType":"YulFunctionCall","src":"49364:35:150"},"nodeType":"YulExpressionStatement","src":"49364:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"49419:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"49430:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49415:3:150"},"nodeType":"YulFunctionCall","src":"49415:19:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"49440:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"49448:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"49436:3:150"},"nodeType":"YulFunctionCall","src":"49436:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"49408:6:150"},"nodeType":"YulFunctionCall","src":"49408:51:150"},"nodeType":"YulExpressionStatement","src":"49408:51:150"},{"nodeType":"YulAssignment","src":"49468:41:150","value":{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"49494:6:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"49502:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"49476:17:150"},"nodeType":"YulFunctionCall","src":"49476:33:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"49468:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__to_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"48785:9:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"48796:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"48804:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"48812:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"48820:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"48828:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"48836:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"48844:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"48855:4:150","type":""}],"src":"48405:1110:150"},{"body":{"nodeType":"YulBlock","src":"49657:119:150","statements":[{"nodeType":"YulAssignment","src":"49667:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"49679:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"49690:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49675:3:150"},"nodeType":"YulFunctionCall","src":"49675:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"49667:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"49709:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"49720:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"49702:6:150"},"nodeType":"YulFunctionCall","src":"49702:25:150"},"nodeType":"YulExpressionStatement","src":"49702:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"49747:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"49758:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"49743:3:150"},"nodeType":"YulFunctionCall","src":"49743:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"49763:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"49736:6:150"},"nodeType":"YulFunctionCall","src":"49736:34:150"},"nodeType":"YulExpressionStatement","src":"49736:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"49618:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"49629:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"49637:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"49648:4:150","type":""}],"src":"49520:256:150"},{"body":{"nodeType":"YulBlock","src":"50246:609:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"50263:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"50274:3:150","type":"","value":"224"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50256:6:150"},"nodeType":"YulFunctionCall","src":"50256:22:150"},"nodeType":"YulExpressionStatement","src":"50256:22:150"},{"nodeType":"YulVariableDeclaration","src":"50287:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"50330:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"50342:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"50353:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50338:3:150"},"nodeType":"YulFunctionCall","src":"50338:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"50301:28:150"},"nodeType":"YulFunctionCall","src":"50301:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"50291:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"50378:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"50389:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50374:3:150"},"nodeType":"YulFunctionCall","src":"50374:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"50398:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"50406:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"50394:3:150"},"nodeType":"YulFunctionCall","src":"50394:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50367:6:150"},"nodeType":"YulFunctionCall","src":"50367:50:150"},"nodeType":"YulExpressionStatement","src":"50367:50:150"},{"nodeType":"YulVariableDeclaration","src":"50426:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"50469:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"50477:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"50440:28:150"},"nodeType":"YulFunctionCall","src":"50440:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"50430:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"50504:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"50515:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50500:3:150"},"nodeType":"YulFunctionCall","src":"50500:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"50524:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"50532:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"50520:3:150"},"nodeType":"YulFunctionCall","src":"50520:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50493:6:150"},"nodeType":"YulFunctionCall","src":"50493:50:150"},"nodeType":"YulExpressionStatement","src":"50493:50:150"},{"nodeType":"YulVariableDeclaration","src":"50552:56:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"50593:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"50601:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"50566:26:150"},"nodeType":"YulFunctionCall","src":"50566:42:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"50556:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"50628:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"50639:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50624:3:150"},"nodeType":"YulFunctionCall","src":"50624:18:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"50648:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"50656:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"50644:3:150"},"nodeType":"YulFunctionCall","src":"50644:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50617:6:150"},"nodeType":"YulFunctionCall","src":"50617:50:150"},"nodeType":"YulExpressionStatement","src":"50617:50:150"},{"nodeType":"YulAssignment","src":"50676:41:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"50702:6:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"50710:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"50684:17:150"},"nodeType":"YulFunctionCall","src":"50684:33:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"50676:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"50737:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"50748:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50733:3:150"},"nodeType":"YulFunctionCall","src":"50733:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"50754:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50726:6:150"},"nodeType":"YulFunctionCall","src":"50726:35:150"},"nodeType":"YulExpressionStatement","src":"50726:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"50781:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"50792:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50777:3:150"},"nodeType":"YulFunctionCall","src":"50777:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"50798:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50770:6:150"},"nodeType":"YulFunctionCall","src":"50770:35:150"},"nodeType":"YulExpressionStatement","src":"50770:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"50825:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"50836:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"50821:3:150"},"nodeType":"YulFunctionCall","src":"50821:19:150"},{"name":"value6","nodeType":"YulIdentifier","src":"50842:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"50814:6:150"},"nodeType":"YulFunctionCall","src":"50814:35:150"},"nodeType":"YulExpressionStatement","src":"50814:35:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50167:9:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"50178:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"50186:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"50194:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"50202:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"50210:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"50218:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"50226:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"50237:4:150","type":""}],"src":"49781:1074:150"},{"body":{"nodeType":"YulBlock","src":"50989:145:150","statements":[{"nodeType":"YulAssignment","src":"50999:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51011:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51022:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51007:3:150"},"nodeType":"YulFunctionCall","src":"51007:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"50999:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51041:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"51056:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"51072:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"51077:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"51068:3:150"},"nodeType":"YulFunctionCall","src":"51068:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"51081:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"51064:3:150"},"nodeType":"YulFunctionCall","src":"51064:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"51052:3:150"},"nodeType":"YulFunctionCall","src":"51052:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51034:6:150"},"nodeType":"YulFunctionCall","src":"51034:51:150"},"nodeType":"YulExpressionStatement","src":"51034:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51105:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51116:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51101:3:150"},"nodeType":"YulFunctionCall","src":"51101:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"51121:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51094:6:150"},"nodeType":"YulFunctionCall","src":"51094:34:150"},"nodeType":"YulExpressionStatement","src":"51094:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50950:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"50961:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"50969:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"50980:4:150","type":""}],"src":"50860:274:150"},{"body":{"nodeType":"YulBlock","src":"51313:233:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51330:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51341:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51323:6:150"},"nodeType":"YulFunctionCall","src":"51323:21:150"},"nodeType":"YulExpressionStatement","src":"51323:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51364:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51375:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51360:3:150"},"nodeType":"YulFunctionCall","src":"51360:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"51380:2:150","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51353:6:150"},"nodeType":"YulFunctionCall","src":"51353:30:150"},"nodeType":"YulExpressionStatement","src":"51353:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51403:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51414:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51399:3:150"},"nodeType":"YulFunctionCall","src":"51399:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c6964207072","kind":"string","nodeType":"YulLiteral","src":"51419:34:150","type":"","value":"GovernorConfigurator: invalid pr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51392:6:150"},"nodeType":"YulFunctionCall","src":"51392:62:150"},"nodeType":"YulExpressionStatement","src":"51392:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51474:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51485:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51470:3:150"},"nodeType":"YulFunctionCall","src":"51470:18:150"},{"hexValue":"6f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"51490:13:150","type":"","value":"oposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51463:6:150"},"nodeType":"YulFunctionCall","src":"51463:41:150"},"nodeType":"YulExpressionStatement","src":"51463:41:150"},{"nodeType":"YulAssignment","src":"51513:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51525:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51536:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51521:3:150"},"nodeType":"YulFunctionCall","src":"51521:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"51513:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"51290:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"51304:4:150","type":""}],"src":"51139:407:150"},{"body":{"nodeType":"YulBlock","src":"51724:184:150","statements":[{"nodeType":"YulAssignment","src":"51734:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51746:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51757:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51742:3:150"},"nodeType":"YulFunctionCall","src":"51742:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"51734:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"51798:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"51806:9:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"51769:28:150"},"nodeType":"YulFunctionCall","src":"51769:47:150"},"nodeType":"YulExpressionStatement","src":"51769:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51836:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51847:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51832:3:150"},"nodeType":"YulFunctionCall","src":"51832:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"51852:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51825:6:150"},"nodeType":"YulFunctionCall","src":"51825:34:150"},"nodeType":"YulExpressionStatement","src":"51825:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"51879:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"51890:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"51875:3:150"},"nodeType":"YulFunctionCall","src":"51875:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"51895:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"51868:6:150"},"nodeType":"YulFunctionCall","src":"51868:34:150"},"nodeType":"YulExpressionStatement","src":"51868:34:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$61431_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"51677:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"51688:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"51696:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"51704:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"51715:4:150","type":""}],"src":"51551:357:150"},{"body":{"nodeType":"YulBlock","src":"51994:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"52040:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"52049:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"52052:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"52042:6:150"},"nodeType":"YulFunctionCall","src":"52042:12:150"},"nodeType":"YulExpressionStatement","src":"52042:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"52015:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"52024:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"52011:3:150"},"nodeType":"YulFunctionCall","src":"52011:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"52036:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"52007:3:150"},"nodeType":"YulFunctionCall","src":"52007:32:150"},"nodeType":"YulIf","src":"52004:52:150"},{"nodeType":"YulAssignment","src":"52065:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"52081:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"52075:5:150"},"nodeType":"YulFunctionCall","src":"52075:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"52065:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"51960:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"51971:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"51983:6:150","type":""}],"src":"51913:184:150"},{"body":{"nodeType":"YulBlock","src":"52455:1272:150","statements":[{"nodeType":"YulVariableDeclaration","src":"52465:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"52483:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"52494:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52479:3:150"},"nodeType":"YulFunctionCall","src":"52479:19:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"52469:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"52514:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"52525:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52507:6:150"},"nodeType":"YulFunctionCall","src":"52507:22:150"},"nodeType":"YulExpressionStatement","src":"52507:22:150"},{"nodeType":"YulVariableDeclaration","src":"52538:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"52549:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"52542:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"52564:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"52584:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"52578:5:150"},"nodeType":"YulFunctionCall","src":"52578:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"52568:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"52607:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"52615:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52600:6:150"},"nodeType":"YulFunctionCall","src":"52600:22:150"},"nodeType":"YulExpressionStatement","src":"52600:22:150"},{"nodeType":"YulAssignment","src":"52631:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"52642:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"52653:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52638:3:150"},"nodeType":"YulFunctionCall","src":"52638:19:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"52631:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"52666:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"52676:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"52670:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"52689:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"52707:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"52715:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52703:3:150"},"nodeType":"YulFunctionCall","src":"52703:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"52693:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"52727:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"52736:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"52731:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"52795:146:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52816:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"52831:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"52825:5:150"},"nodeType":"YulFunctionCall","src":"52825:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"52848:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"52853:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"52844:3:150"},"nodeType":"YulFunctionCall","src":"52844:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"52857:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"52840:3:150"},"nodeType":"YulFunctionCall","src":"52840:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"52821:3:150"},"nodeType":"YulFunctionCall","src":"52821:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52809:6:150"},"nodeType":"YulFunctionCall","src":"52809:52:150"},"nodeType":"YulExpressionStatement","src":"52809:52:150"},{"nodeType":"YulAssignment","src":"52874:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52885:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"52890:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52881:3:150"},"nodeType":"YulFunctionCall","src":"52881:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"52874:3:150"}]},{"nodeType":"YulAssignment","src":"52906:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"52920:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"52928:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52916:3:150"},"nodeType":"YulFunctionCall","src":"52916:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"52906:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"52757:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"52760:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"52754:2:150"},"nodeType":"YulFunctionCall","src":"52754:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"52768:18:150","statements":[{"nodeType":"YulAssignment","src":"52770:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"52779:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"52782:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52775:3:150"},"nodeType":"YulFunctionCall","src":"52775:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"52770:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"52750:3:150","statements":[]},"src":"52746:195:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"52961:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"52972:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"52957:3:150"},"nodeType":"YulFunctionCall","src":"52957:18:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"52981:3:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"52986:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"52977:3:150"},"nodeType":"YulFunctionCall","src":"52977:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"52950:6:150"},"nodeType":"YulFunctionCall","src":"52950:47:150"},"nodeType":"YulExpressionStatement","src":"52950:47:150"},{"nodeType":"YulVariableDeclaration","src":"53006:55:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"53049:6:150"},{"name":"pos","nodeType":"YulIdentifier","src":"53057:3:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"53020:28:150"},"nodeType":"YulFunctionCall","src":"53020:41:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"53010:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"53081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"53092:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53077:3:150"},"nodeType":"YulFunctionCall","src":"53077:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"53101:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"53109:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"53097:3:150"},"nodeType":"YulFunctionCall","src":"53097:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53070:6:150"},"nodeType":"YulFunctionCall","src":"53070:50:150"},"nodeType":"YulExpressionStatement","src":"53070:50:150"},{"nodeType":"YulVariableDeclaration","src":"53129:19:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"53142:6:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"53133:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"53157:29:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"53179:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"53173:5:150"},"nodeType":"YulFunctionCall","src":"53173:13:150"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"53161:8:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"53202:6:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"53210:8:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53195:6:150"},"nodeType":"YulFunctionCall","src":"53195:24:150"},"nodeType":"YulExpressionStatement","src":"53195:24:150"},{"nodeType":"YulAssignment","src":"53228:24:150","value":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"53241:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"53249:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53237:3:150"},"nodeType":"YulFunctionCall","src":"53237:15:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"53228:5:150"}]},{"nodeType":"YulVariableDeclaration","src":"53261:52:150","value":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"53283:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"53295:1:150","type":"","value":"5"},{"name":"length_1","nodeType":"YulIdentifier","src":"53298:8:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"53291:3:150"},"nodeType":"YulFunctionCall","src":"53291:16:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53279:3:150"},"nodeType":"YulFunctionCall","src":"53279:29:150"},{"name":"_1","nodeType":"YulIdentifier","src":"53310:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53275:3:150"},"nodeType":"YulFunctionCall","src":"53275:38:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"53265:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"53322:31:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"53342:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"53350:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53338:3:150"},"nodeType":"YulFunctionCall","src":"53338:15:150"},"variables":[{"name":"srcPtr_1","nodeType":"YulTypedName","src":"53326:8:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"53362:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"53373:1:150","type":"","value":"0"},"variables":[{"name":"i_1","nodeType":"YulTypedName","src":"53366:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"53440:215:150","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"53461:5:150"},{"arguments":[{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"53476:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"53484:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"53472:3:150"},"nodeType":"YulFunctionCall","src":"53472:19:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"53497:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"53493:3:150"},"nodeType":"YulFunctionCall","src":"53493:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53468:3:150"},"nodeType":"YulFunctionCall","src":"53468:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53454:6:150"},"nodeType":"YulFunctionCall","src":"53454:48:150"},"nodeType":"YulExpressionStatement","src":"53454:48:150"},{"nodeType":"YulAssignment","src":"53515:52:150","value":{"arguments":[{"arguments":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"53549:8:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"53543:5:150"},"nodeType":"YulFunctionCall","src":"53543:15:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"53560:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"53525:17:150"},"nodeType":"YulFunctionCall","src":"53525:42:150"},"variableNames":[{"name":"tail_3","nodeType":"YulIdentifier","src":"53515:6:150"}]},{"nodeType":"YulAssignment","src":"53580:29:150","value":{"arguments":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"53596:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"53606:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53592:3:150"},"nodeType":"YulFunctionCall","src":"53592:17:150"},"variableNames":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"53580:8:150"}]},{"nodeType":"YulAssignment","src":"53622:23:150","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"53635:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"53642:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53631:3:150"},"nodeType":"YulFunctionCall","src":"53631:14:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"53622:5:150"}]}]},"condition":{"arguments":[{"name":"i_1","nodeType":"YulIdentifier","src":"53394:3:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"53399:8:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"53391:2:150"},"nodeType":"YulFunctionCall","src":"53391:17:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"53409:22:150","statements":[{"nodeType":"YulAssignment","src":"53411:18:150","value":{"arguments":[{"name":"i_1","nodeType":"YulIdentifier","src":"53422:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"53427:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53418:3:150"},"nodeType":"YulFunctionCall","src":"53418:11:150"},"variableNames":[{"name":"i_1","nodeType":"YulIdentifier","src":"53411:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"53387:3:150","statements":[]},"src":"53383:272:150"},{"nodeType":"YulAssignment","src":"53664:14:150","value":{"name":"tail_3","nodeType":"YulIdentifier","src":"53672:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"53664:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"53698:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"53709:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53694:3:150"},"nodeType":"YulFunctionCall","src":"53694:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"53714:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53687:6:150"},"nodeType":"YulFunctionCall","src":"53687:34:150"},"nodeType":"YulExpressionStatement","src":"53687:34:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"52400:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"52411:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"52419:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"52427:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"52435:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"52446:4:150","type":""}],"src":"52102:1625:150"},{"body":{"nodeType":"YulBlock","src":"53861:145:150","statements":[{"nodeType":"YulAssignment","src":"53871:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"53883:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"53894:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53879:3:150"},"nodeType":"YulFunctionCall","src":"53879:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"53871:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"53913:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"53928:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"53944:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"53949:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"53940:3:150"},"nodeType":"YulFunctionCall","src":"53940:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"53953:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"53936:3:150"},"nodeType":"YulFunctionCall","src":"53936:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"53924:3:150"},"nodeType":"YulFunctionCall","src":"53924:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53906:6:150"},"nodeType":"YulFunctionCall","src":"53906:51:150"},"nodeType":"YulExpressionStatement","src":"53906:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"53977:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"53988:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"53973:3:150"},"nodeType":"YulFunctionCall","src":"53973:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"53993:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"53966:6:150"},"nodeType":"YulFunctionCall","src":"53966:34:150"},"nodeType":"YulExpressionStatement","src":"53966:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"53822:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"53833:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"53841:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"53852:4:150","type":""}],"src":"53732:274:150"},{"body":{"nodeType":"YulBlock","src":"54059:174:150","statements":[{"nodeType":"YulAssignment","src":"54069:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"54080:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"54083:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54076:3:150"},"nodeType":"YulFunctionCall","src":"54076:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"54069:3:150"}]},{"body":{"nodeType":"YulBlock","src":"54116:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"54137:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"54144:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"54149:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"54140:3:150"},"nodeType":"YulFunctionCall","src":"54140:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54130:6:150"},"nodeType":"YulFunctionCall","src":"54130:31:150"},"nodeType":"YulExpressionStatement","src":"54130:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"54181:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"54184:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"54174:6:150"},"nodeType":"YulFunctionCall","src":"54174:15:150"},"nodeType":"YulExpressionStatement","src":"54174:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"54209:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"54212:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"54202:6:150"},"nodeType":"YulFunctionCall","src":"54202:15:150"},"nodeType":"YulExpressionStatement","src":"54202:15:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"54100:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"54103:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"54097:2:150"},"nodeType":"YulFunctionCall","src":"54097:10:150"},"nodeType":"YulIf","src":"54094:133:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"54042:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"54045:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"54051:3:150","type":""}],"src":"54011:222:150"},{"body":{"nodeType":"YulBlock","src":"54375:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"54385:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"54405:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"54399:5:150"},"nodeType":"YulFunctionCall","src":"54399:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"54389:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"54460:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"54468:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54456:3:150"},"nodeType":"YulFunctionCall","src":"54456:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"54475:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"54480:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"54421:34:150"},"nodeType":"YulFunctionCall","src":"54421:66:150"},"nodeType":"YulExpressionStatement","src":"54421:66:150"},{"nodeType":"YulAssignment","src":"54496:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"54507:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"54512:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"54503:3:150"},"nodeType":"YulFunctionCall","src":"54503:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"54496:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"54351:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"54356:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"54367:3:150","type":""}],"src":"54238:287:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_array_address_dyn(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_array_address_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let value := calldataload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let array_1 := allocate_memory(array_allocation_size_bytes(_1))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_array_bytes_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, sub(shl(64, 1), 1))\n            {\n                let _3 := 0\n                revert(_3, _3)\n            }\n            mstore(dst, abi_decode_bytes(add(add(offset, innerOffset), _2), end))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 96))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n        value5 := calldataload(add(headStart, 160))\n        value6 := abi_decode_address(add(headStart, 192))\n        let offset_4 := calldataload(add(headStart, 224))\n        if gt(offset_4, _1) { revert(0, 0) }\n        value7 := abi_decode_bytes(add(headStart, offset_4), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_bytes4(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bytes4(headStart)\n    }\n    function abi_encode_bool(value, pos)\n    {\n        mstore(pos, iszero(iszero(value)))\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_enum_ProposalType(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(lt(value, 2)) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_enum$_ProposalType_$61431(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_enum_ProposalType(add(headStart, 32))\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_enum$_ProposalType_$61431(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_enum_ProposalType(headStart)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        value3 := calldataload(add(headStart, 96))\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_ProposalType(value, pos)\n    {\n        if iszero(lt(value, 2)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$61431__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_ProposalType(value0, headStart)\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_contract$_ITreasury_$67241t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_enum$_ProposalState_$61406__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 10)) { panic_error_0x21() }\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_enum$_ProposalType_$61431t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_enum_ProposalType(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_bool(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_bool(value)\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_array_uint256_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_array_uint256_dyn(value0, add(headStart, 32))\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint8(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_uint8(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_contract$_IB3TR_$62888__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_string(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_decode_string_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_addresst_string_calldata_ptrt_string_calldata_ptrt_array$_t_string_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n        let offset := calldataload(add(headStart, 64))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let value4_1, value5_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n        value4 := value4_1\n        value5 := value5_1\n        let offset_2 := calldataload(add(headStart, 128))\n        if gt(offset_2, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset_2)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := calldataload(_2)\n        if gt(length, _1) { revert(0, 0) }\n        if gt(add(add(_2, shl(5, length)), 32), dataEnd) { revert(0, 0) }\n        value6 := add(_2, 32)\n        value7 := length\n    }\n    function abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_bytes4(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := abi_decode_bytes4(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint256t_uint8t_string_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_uint8(value)\n        value1 := value\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := calldataload(_2)\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_3))\n        let dst_1 := dst\n        mstore(dst, _3)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, abi_decode_bytes4(src))\n            dst := add(dst, _1)\n        }\n        value1 := dst_1\n        value2 := abi_decode_bool(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_contract$_IRelayerRewardsPool_$67117t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IGalaxyMember_$65196(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVeBetterPassport_$68601(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        let offset := calldataload(add(headStart, 64))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value2 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 128))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value4 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_bytes4t_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := abi_decode_bytes4(add(headStart, 32))\n        let value_1 := calldataload(add(headStart, 64))\n        validator_revert_bool(value_1)\n        value2 := value_1\n    }\n    function abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_contract$_IGrantsManager_$65639(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        value3 := calldataload(add(headStart, 96))\n        let offset_3 := calldataload(add(headStart, 128))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value4 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n    }\n    function abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n    {\n        if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 96))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n        value5 := calldataload(add(headStart, 160))\n        value6 := calldataload(add(headStart, 192))\n    }\n    function abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_address(value_1)\n        value1 := value_1\n        value2 := calldataload(add(headStart, 64))\n        value3 := calldataload(add(headStart, 96))\n        let offset := calldataload(add(headStart, 128))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value4 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IVOT3_$67719__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_array_address_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_array_bytes_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        let updated_pos := add(pos, _1)\n        let pos_1 := updated_pos\n        pos := updated_pos\n        let tail := add(pos_1, shl(5, length))\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, sub(tail, pos_1))\n            tail := abi_encode_string(mload(srcPtr), tail)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_string_memory_ptr__fromStack_library_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        let _1 := 256\n        mstore(headStart, _1)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, _1))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let tail_3 := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), sub(tail_3, headStart))\n        let tail_4 := abi_encode_string(value3, tail_3)\n        mstore(add(headStart, 128), value4)\n        mstore(add(headStart, 160), value5)\n        mstore(add(headStart, 192), and(value6, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 224), sub(tail_4, headStart))\n        tail := abi_encode_string(value7, tail_4)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_uint256_t_uint8__to_t_uint256_t_uint8__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xff))\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$61431_t_uint256__to_t_uint8_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        abi_encode_enum_ProposalType(value0, headStart)\n        mstore(add(headStart, 32), value1)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_encode_tuple_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_address_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 160)\n        let tail_1 := abi_encode_array_address_dyn(value1, add(headStart, 160))\n        mstore(add(headStart, 64), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value2, tail_1)\n        mstore(add(headStart, 96), sub(tail_2, headStart))\n        tail := abi_encode_array_bytes_dyn(value3, tail_2)\n        mstore(add(headStart, 128), value4)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let array_1 := allocate_memory(array_allocation_size_bytes(_1))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n        array := array_1\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_350fdfac125644b2824c59d7d47204e58a1ff9974ddef7f0ab890cde9c8b8a56__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 30)\n        mstore(add(headStart, 64), \"B3TRGovernor: invalid treasury\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_6c6d35768718cf2e8d62813ba5806cbd6186e80baa76d90c88ed91ccd770cefc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 38)\n        mstore(add(headStart, 64), \"B3TRGovernor: invalid max contri\")\n        mstore(add(headStart, 96), \"butors\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint8__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        abi_encode_enum_ProposalType(value1, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_IXAllocationVotingGovernor_$71124__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_3))\n        let dst_1 := dst\n        mstore(dst, _3)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, mload(src))\n            dst := add(dst, _1)\n        }\n        value0 := dst_1\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint8_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(value2, 0xff))\n        mstore(add(headStart, 96), 128)\n        mstore(add(headStart, 128), 0)\n        tail := add(headStart, 160)\n    }\n    function abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := mload(_3)\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_4))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, _2)\n            {\n                let _5 := 0\n                revert(_5, _5)\n            }\n            mstore(dst, abi_decode_string_fromMemory(add(add(_3, innerOffset), _1), dataEnd))\n            dst := add(dst, _1)\n        }\n        value0 := dst_1\n    }\n    function abi_encode_string_calldata(start, length, pos) -> end\n    {\n        mstore(pos, length)\n        calldatacopy(add(pos, 0x20), start, length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_string_calldata_ptr_t_string_calldata_ptr_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_t_bool__to_t_uint256_t_address_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bool__fromStack_library_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        let _1 := 32\n        mstore(add(headStart, _1), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), 192)\n        let tail_1 := abi_encode_string_calldata(value2, value3, add(headStart, 192))\n        mstore(add(headStart, 96), sub(tail_1, headStart))\n        let tail_2 := abi_encode_string_calldata(value4, value5, tail_1)\n        mstore(add(headStart, 128), sub(tail_2, headStart))\n        let pos := tail_2\n        mstore(tail_2, value7)\n        pos := add(tail_2, _1)\n        let tail_3 := add(add(tail_2, shl(5, value7)), _1)\n        let srcPtr := value6\n        let i := 0\n        for { } lt(i, value7) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_3, tail_2), not(31)))\n            let rel_offset_of_tail := calldataload(srcPtr)\n            if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), value6), not(30)))) { revert(0, 0) }\n            let value := add(rel_offset_of_tail, value6)\n            let length := calldataload(value)\n            let value_1 := add(value, _1)\n            if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n            if sgt(value_1, sub(calldatasize(), length)) { revert(0, 0) }\n            tail_3 := abi_encode_string_calldata(value_1, length, tail_3)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_3\n        abi_encode_bool(value8, add(headStart, 160))\n    }\n    function abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint8_t_string_calldata_ptr__to_t_uint256_t_address_t_uint8_t_string_memory_ptr__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(value2, 0xff))\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_string_calldata(value3, value4, add(headStart, 128))\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__to_t_address_t_array$_t_bytes4_$dyn_memory_ptr_t_bool__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 96)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        let _1 := 32\n        mstore(add(headStart, _1), 96)\n        let pos := tail_1\n        let length := mload(value1)\n        mstore(tail_1, length)\n        pos := add(headStart, 128)\n        let srcPtr := add(value1, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), shl(224, 0xffffffff)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n        mstore(add(headStart, 64), iszero(iszero(value2)))\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_7fa5a327e1b5b4342bcb5efc01693de1812f98a642e298618e3f3416bfc4a5ce__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 40)\n        mstore(add(headStart, 64), \"B3TRGovernor: invalid navigator \")\n        mstore(add(headStart, 96), \"registry\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_73e11a8abbc9a7177ad14dda9ae7eaada948d41b4e3b2d05d3d7d441fafa03de__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 42)\n        mstore(add(headStart, 64), \"B3TRGovernor: invalid relayer re\")\n        mstore(add(headStart, 96), \"wards pool\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_TimelockControllerUpgradeable_$1478__to_t_address_payable__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IGalaxyMember_$65196__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_bytes4_t_bool__to_t_address_t_bytes4_t_bool__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, shl(224, 0xffffffff)))\n        mstore(add(headStart, 64), iszero(iszero(value2)))\n    }\n    function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        calldatacopy(pos, value0, value1)\n        let _1 := add(pos, value1)\n        mstore(_1, 0)\n        end := _1\n    }\n    function abi_encode_tuple_t_contract$_IGrantsManager_$65639__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__to_t_address_t_bool_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_string_memory_ptr__fromStack_library_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), iszero(iszero(value1)))\n        mstore(add(headStart, 64), 224)\n        let tail_1 := abi_encode_array_address_dyn(value2, add(headStart, 224))\n        mstore(add(headStart, 96), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value3, tail_1)\n        mstore(add(headStart, 128), sub(tail_2, headStart))\n        let tail_3 := abi_encode_array_bytes_dyn(value4, tail_2)\n        mstore(add(headStart, 160), value5)\n        mstore(add(headStart, 192), sub(tail_3, headStart))\n        tail := abi_encode_string(value6, tail_3)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_library_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 224)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 224))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let tail_3 := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), sub(tail_3, headStart))\n        tail := abi_encode_string(value3, tail_3)\n        mstore(add(headStart, 128), value4)\n        mstore(add(headStart, 160), value5)\n        mstore(add(headStart, 192), value6)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 43)\n        mstore(add(headStart, 64), \"GovernorConfigurator: invalid pr\")\n        mstore(add(headStart, 96), \"oposal type\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$61431_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        abi_encode_enum_ProposalType(value0, headStart)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 128)\n        mstore(headStart, 128)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 160)\n        let _1 := 0x20\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        mstore(add(headStart, _1), sub(pos, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, pos)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let pos_1 := tail_2\n        let length_1 := mload(value2)\n        mstore(tail_2, length_1)\n        pos_1 := add(tail_2, _1)\n        let tail_3 := add(add(tail_2, shl(5, length_1)), _1)\n        let srcPtr_1 := add(value2, _1)\n        let i_1 := 0\n        for { } lt(i_1, length_1) { i_1 := add(i_1, 1) }\n        {\n            mstore(pos_1, add(sub(tail_3, tail_2), not(31)))\n            tail_3 := abi_encode_string(mload(srcPtr_1), tail_3)\n            srcPtr_1 := add(srcPtr_1, _1)\n            pos_1 := add(pos_1, _1)\n        }\n        tail := tail_3\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x11)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":15387},{"length":32,"start":15428},{"length":32,"start":15757}]},"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":8470},{"length":20,"start":10599}]},"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol":{"GovernorCommunityExecutionLogic":[{"length":20,"start":5591},{"length":20,"start":6958},{"length":20,"start":8863},{"length":20,"start":9213},{"length":20,"start":9471},{"length":20,"start":9515},{"length":20,"start":10288},{"length":20,"start":12883},{"length":20,"start":13741}]},"contracts/governance/libraries/GovernorConfigurator.sol":{"GovernorConfigurator":[{"length":20,"start":6117},{"length":20,"start":6507},{"length":20,"start":7981},{"length":20,"start":8205},{"length":20,"start":9816},{"length":20,"start":9923},{"length":20,"start":11494},{"length":20,"start":11595},{"length":20,"start":11705},{"length":20,"start":11881},{"length":20,"start":12044},{"length":20,"start":12131},{"length":20,"start":12218},{"length":20,"start":13174},{"length":20,"start":13393},{"length":20,"start":13958}]},"contracts/governance/libraries/GovernorDepositLogic.sol":{"GovernorDepositLogic":[{"length":20,"start":5324},{"length":20,"start":9669},{"length":20,"start":10981},{"length":20,"start":13520}]},"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol":{"GovernorFunctionRestrictionsLogic":[{"length":20,"start":8647},{"length":20,"start":10443},{"length":20,"start":12538}]},"contracts/governance/libraries/GovernorProposalLogic.sol":{"GovernorProposalLogic":[{"length":20,"start":5434},{"length":20,"start":6734},{"length":20,"start":7154},{"length":20,"start":7302},{"length":20,"start":7441},{"length":20,"start":8961},{"length":20,"start":10033},{"length":20,"start":11946},{"length":20,"start":12597},{"length":20,"start":12677},{"length":20,"start":12984},{"length":20,"start":13278},{"length":20,"start":13590}]},"contracts/governance/libraries/GovernorQuorumLogic.sol":{"GovernorQuorumLogic":[{"length":20,"start":5777},{"length":20,"start":6259},{"length":20,"start":6551},{"length":20,"start":8111},{"length":20,"start":8728},{"length":20,"start":9412},{"length":20,"start":11027},{"length":20,"start":13087},{"length":20,"start":14034}]},"contracts/governance/libraries/GovernorStateLogic.sol":{"GovernorStateLogic":[{"length":20,"start":8270}]},"contracts/governance/libraries/GovernorVotesLogic.sol":{"GovernorVotesLogic":[{"length":20,"start":9126},{"length":20,"start":9981},{"length":20,"start":10144},{"length":20,"start":10744},{"length":20,"start":10868},{"length":20,"start":12276},{"length":20,"start":12336}]}},"object":"60806040526004361061055e5760003560e01c806250ea6f1461059a578062f714ce146105c5578063013b1088146105e557806301d6e78f1461061357806301ffc9a714610633578063026865cc1461066357806302a251a314610683578063038f9b651461069857806306f3f9e6146106b857806306fdde03146106d85780630dd8614c146106fa5780630eddee301461071a578063143489d01461073a578063150b7a021461075a578063160cbed7146107935780631caf3474146107b3578063229acb17146107d3578063248a9ca3146107f35780632656227d146108135780632a09c772146108265780632d63f693146108535780632f2ff15d1461087357806333970a9d146108935780633397d78d146108b357806336568abe146108d357806336d23a4c146108f35780633d1ac63e146109155780633d47fe94146109355780633e4f49e6146109555780633f4ba83a14610982578063406ced841461099757806343859632146109b75780634bf5d7e9146109d75780634c5ead08146109ec5780634e05524414610a0c5780634f1ef28614610a2c5780635273e74b14610a3f57806352d1902d14610a5f578063542d6db514610a74578063544ffc9c14610a945780635452a01b14610acf57806354fd4d5014610aef5780635584c4f914610b1a5780635678138814610b3c578063582a486a14610b5c5780635b16e25914610b715780635c573d4414610b9e5780635c975abb14610bbe57806360463d6814610bd357806360c4247f14610bf3578063656f3e4014610c135780636a1423d714610c335780636b6a070414610c535780636dd139be14610c735780636e8a182314610c93578063726da5fd14610ca857806374a55a5114610cc85780637a4cce6d14610ce85780637b3c71d314610d0857806381ab235314610d2857806381c0d6df14610d3d5780638456cb5914610d5257806388fb07a514610d675780638a69614e14610d875780638ced2a1114610da75780638d5a3f6714610dc75780638e828cb414610de757806391d1485414610e0757806391ddadf414610e27578063952f213314610e5357806397c3d33414610e755780639aeb962b14610e895780639c17e7b314610ea9578063a217fddf14610ebe578063a3844e1114610ed3578063a45aa31314610ee8578063a56b576514610f08578063a7713a7014610f28578063a832918c14610f3d578063a890c91014610f5d578063a9a9529414610f7d578063ab58fb8e14610f9d578063ad3cb1cc14610fbd578063ae0b8da814610fee578063b26a95091461100e578063b3c93dab1461102e578063b69d417b1461104e578063b6e9eff41461106e578063bc197c811461108e578063bd5aefea146110ae578063be9bd92b146110d0578063c01f9e37146110f0578063c0a6026c14611110578063c220f2f514611130578063c28bc2fa14611150578063c305f59a14611163578063c40ffbf614611183578063c429bd8214611198578063c59057e4146111b8578063cf09f8bf146111d8578063d33219b4146111ed578063d4a8dd9814611202578063d53c74c114611222578063d547741f14611242578063dd4e2ba514611262578063de65f41a14611277578063e09c8d4414611297578063e125f74e146112b7578063e205aeb0146112cc578063e2bbb158146112e1578063e4ec85d414611301578063e63ab1e914611321578063eab59fd214611343578063eb9019d414611363578063ede8bed014611383578063ee8a948b146113a3578063f03a98d5146113b8578063f23a6e61146113cd578063f530108f146113ed578063f744f1191461140d578063f8ce560a1461142d578063fc0c546a1461144d578063fd4fd6e11461146257600080fd5b36610595573061056c611484565b6001600160a01b03161461059357604051637485328f60e11b815260040160405180910390fd5b005b600080fd5b3480156105a657600080fd5b506105af6114a2565b6040516105bc919061457c565b60405180910390f35b3480156105d157600080fd5b506105936105e03660046145b5565b6114be565b3480156105f157600080fd5b50610605610600366004614814565b611529565b6040519081526020016105bc565b34801561061f57600080fd5b5061060561062e366004614909565b6115be565b34801561063f57600080fd5b5061065361064e36600461493a565b61163c565b60405190151581526020016105bc565b34801561066f57600080fd5b5061060561067e366004614964565b61168d565b34801561068f57600080fd5b5061060561172c565b3480156106a457600080fd5b506105936106b3366004614964565b6117b8565b3480156106c457600080fd5b506105936106d3366004614909565b611844565b3480156106e457600080fd5b506106ed611895565b6040516105bc91906149e0565b34801561070657600080fd5b506105936107153660046149f3565b611936565b34801561072657600080fd5b50610605610735366004614a10565b611993565b34801561074657600080fd5b506105af610755366004614909565b6119e7565b34801561076657600080fd5b5061077a610775366004614a2b565b6119f2565b6040516001600160e01b031990911681526020016105bc565b34801561079f57600080fd5b506106056107ae366004614a96565b611a35565b3480156107bf57600080fd5b506106056107ce366004614a10565b611ac8565b3480156107df57600080fd5b506106ed6107ee366004614909565b611b15565b3480156107ff57600080fd5b5061060561080e366004614909565b611b91565b610605610821366004614a96565b611bb1565b34801561083257600080fd5b50610846610841366004614909565b611c6d565b6040516105bc9190614b4f565b34801561085f57600080fd5b5061060561086e366004614909565b611cf8565b34801561087f57600080fd5b5061059361088e3660046145b5565b611d33565b34801561089f57600080fd5b506105936108ae366004614b5d565b611d55565b3480156108bf57600080fd5b506105936108ce366004614909565b611efe565b3480156108df57600080fd5b506105936108ee3660046145b5565b611f4f565b3480156108ff57600080fd5b50610605600080516020615b8483398151915281565b34801561092157600080fd5b50610593610930366004614964565b611f87565b34801561094157600080fd5b506105936109503660046149f3565b611fd9565b34801561096157600080fd5b50610975610970366004614909565b612035565b6040516105bc9190614b89565b34801561098e57600080fd5b506105936120c0565b3480156109a357600080fd5b506105936109b2366004614ba3565b6120e3565b3480156109c357600080fd5b506106536109d23660046145b5565b612106565b3480156109e357600080fd5b506106ed612112565b3480156109f857600080fd5b50610593610a07366004614bd8565b61218a565b348015610a1857600080fd5b50610605610a273660046145b5565b6121e9565b610593610a3a366004614bf5565b6121f5565b348015610a4b57600080fd5b50610605610a5a366004614964565b612214565b348015610a6b57600080fd5b50610605612243565b348015610a8057600080fd5b50610605610a8f366004614a10565b612260565b348015610aa057600080fd5b50610ab4610aaf366004614909565b61226b565b604080519384526020840192909252908201526060016105bc565b348015610adb57600080fd5b506105af610aea366004614909565b612286565b348015610afb57600080fd5b50604080518082019091526002815261313160f01b60208201526106ed565b348015610b2657600080fd5b50610b2f6122fd565b6040516105bc9190614c7f565b348015610b4857600080fd5b50610605610b57366004614ca1565b612370565b348015610b6857600080fd5b506105af6123c8565b348015610b7d57600080fd5b50610b91610b8c366004614909565b6123e4565b6040516105bc9190614cc6565b348015610baa57600080fd5b50610605610bb9366004614909565b61245f565b348015610bca57600080fd5b50610653612476565b348015610bdf57600080fd5b50610605610bee366004614909565b61248b565b348015610bff57600080fd5b50610605610c0e366004614909565b6124ab565b348015610c1f57600080fd5b506106ed610c2e366004614909565b6124e6565b348015610c3f57600080fd5b50610593610c4e366004614d70565b612521565b348015610c5f57600080fd5b50610605610c6e366004614a10565b6125c1565b348015610c7f57600080fd5b50610605610c8e366004614a10565b6125ef565b348015610c9f57600080fd5b506105af612614565b348015610cb457600080fd5b50610593610cc3366004614964565b612630565b348015610cd457600080fd5b50610653610ce3366004614e55565b612682565b348015610cf457600080fd5b50610593610d033660046149f3565b61268e565b348015610d1457600080fd5b50610605610d23366004614e81565b6126eb565b348015610d3457600080fd5b5061065361272d565b348015610d4957600080fd5b5061065361279c565b348015610d5e57600080fd5b506105936127e7565b348015610d7357600080fd5b50610605610d82366004614909565b612807565b348015610d9357600080fd5b50610593610da2366004614909565b612812565b348015610db357600080fd5b50610605610dc2366004614909565b612880565b348015610dd357600080fd5b50610653610de2366004614909565b61288b565b348015610df357600080fd5b50610593610e02366004614edc565b612896565b348015610e1357600080fd5b50610653610e223660046145b5565b61292d565b348015610e3357600080fd5b50610e3c612963565b60405165ffffffffffff90911681526020016105bc565b348015610e5f57600080fd5b50610605600080516020615c2483398151915281565b348015610e8157600080fd5b506064610605565b348015610e9557600080fd5b50610653610ea43660046149f3565b6129d2565b348015610eb557600080fd5b506105936129dd565b348015610eca57600080fd5b50610605600081565b348015610edf57600080fd5b506105af612a3a565b348015610ef457600080fd5b50610653610f03366004614909565b612a5b565b348015610f1457600080fd5b50610605610f23366004614b5d565b612ad3565b348015610f3457600080fd5b50610605612b0f565b348015610f4957600080fd5b50610593610f58366004614f98565b612b7e565b348015610f6957600080fd5b50610593610f783660046149f3565b612e41565b348015610f8957600080fd5b50610653610f98366004614909565b612e91565b348015610fa957600080fd5b50610605610fb8366004614909565b612ecc565b348015610fc957600080fd5b506106ed604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610ffa57600080fd5b506105936110093660046149f3565b612ed7565b34801561101a57600080fd5b50610593611029366004614909565b612f34565b34801561103a57600080fd5b506105936110493660046149f3565b612f85565b34801561105a57600080fd5b50610605611069366004614b5d565b612fe2565b34801561107a57600080fd5b506106056110893660046145b5565b61301e565b34801561109a57600080fd5b5061077a6110a9366004614fd9565b61305a565b3480156110ba57600080fd5b50610605600080516020615c0483398151915281565b3480156110dc57600080fd5b506105936110eb366004615086565b61309e565b3480156110fc57600080fd5b5061060561110b366004614909565b61311c565b34801561111c57600080fd5b5061059361112b366004614909565b613157565b34801561113c57600080fd5b5061060561114b366004614909565b6131a7565b61059361115e3660046150cf565b6131b2565b34801561116f57600080fd5b5061065361117e366004614909565b61323a565b34801561118f57600080fd5b50610605613275565b3480156111a457600080fd5b506105936111b3366004614909565b61328a565b3480156111c457600080fd5b506106056111d3366004614a96565b6132da565b3480156111e457600080fd5b506105af6132e8565b3480156111f957600080fd5b506105af611484565b34801561120e57600080fd5b5061065361121d366004614909565b613306565b34801561122e57600080fd5b5061059361123d3660046149f3565b613341565b34801561124e57600080fd5b5061059361125d3660046145b5565b61339e565b34801561126e57600080fd5b506106ed6133ba565b34801561128357600080fd5b50610605611292366004615112565b6133da565b3480156112a357600080fd5b506105936112b2366004614964565b613429565b3480156112c357600080fd5b506105af61347b565b3480156112d857600080fd5b506105af613497565b3480156112ed57600080fd5b506105936112fc3660046151ae565b6134b3565b34801561130d57600080fd5b5061060561131c366004614a10565b6134f2565b34801561132d57600080fd5b50610605600080516020615be483398151915281565b34801561134f57600080fd5b5061060561135e3660046151d0565b6134fd565b34801561136f57600080fd5b5061060561137e366004614b5d565b613597565b34801561138f57600080fd5b5061059361139e366004614d70565b6135a3565b3480156113af57600080fd5b506106056135e5565b3480156113c457600080fd5b506105af6135ef565b3480156113d957600080fd5b5061077a6113e8366004615297565b61360d565b3480156113f957600080fd5b506105936114083660046149f3565b613651565b34801561141957600080fd5b50610605611428366004614909565b6136ae565b34801561143957600080fd5b50610605611448366004614909565b6136b9565b34801561145957600080fd5b506105af6136f4565b34801561146e57600080fd5b50610605600080516020615c4483398151915281565b60008061148f613712565b600601546001600160a01b031692915050565b60006114ac613712565b601401546001600160a01b0316919050565b604051627b8a6760e11b815273__$1ecfab2f131b89284f3c8449e5b3f4ac2f$__9062f714ce906114f590859085906004016152ff565b60006040518083038186803b15801561150d57600080fd5b505af4158015611521573d6000803e3d6000fd5b505050505050565b6040516227621160e31b815260009073__$0f6271ecd36857987d374ff633d31cbc3c$__9063013b108890611570908c908c908c908c908c908c908c908c906004016153a4565b602060405180830381865af415801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190615434565b9998505050505050505050565b6040516301d6e78f60e01b81526004810182905260009073__$5c903bf0790ffcaff49f17b51ec8a22c01$__906301d6e78f906024015b602060405180830381865af4158015611612573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116369190615434565b92915050565b60006001600160e01b0319821663c964612f60e01b148061166d57506001600160e01b03198216630271189760e51b145b8061163657506001600160e01b031982166301ffc9a760e01b1492915050565b600073__$3907422bd7a9d6e8e002872d31c2e7a534$__63026865cc848460018111156116bc576116bc614b25565b6040516001600160e01b031960e085901b168152600481019290925260ff1660248201526044015b602060405180830381865af4158015611701573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117259190615434565b9392505050565b600080611737613712565b905080600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b29190615434565b91505090565b60006117c4813361292d565b6117d6576117d6335b60003630613736565b604051634cfc47c360e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90634cfc47c39061180f908590879060040161544d565b60006040518083038186803b15801561182757600080fd5b505af415801561183b573d6000803e3d6000fd5b50505050505050565b6000611850813361292d565b61185d5761185d336117cd565b604051630379fcf360e11b81526004810183905273__$3907422bd7a9d6e8e002872d31c2e7a534$__906306f3f9e6906024016114f5565b606060006118a1613712565b90508060000180546118b290615468565b80601f01602080910402602001604051908101604052809291908181526020018280546118de90615468565b801561192b5780601f106119005761010080835404028352916020019161192b565b820191906000526020600020905b81548152906001019060200180831161190e57829003601f168201915b505050505091505090565b600080516020615c2483398151915261194f813361292d565b61195c5761195c336117cd565b604051630e0bea3b60e21b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063382fa8ec906114f590859060040161457c565b600073__$3907422bd7a9d6e8e002872d31c2e7a534$__630eddee308360018111156119c1576119c1614b25565b6040516001600160e01b031960e084901b16815260ff90911660048201526024016115f5565b6000611636826137d4565b6000306119fd611484565b6001600160a01b031614611a2457604051637485328f60e11b815260040160405180910390fd5b50630a85bd0160e11b949350505050565b6000611a3f6137fd565b6040516301957cc760e01b815273__$0f6271ecd36857987d374ff633d31cbc3c$__906301957cc790611a7e90309089908990899089906004016154a2565b602060405180830381865af4158015611a9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abf9190615434565b95945050505050565b600080611ad3613712565b9050806017016000846001811115611aed57611aed614b25565b6001811115611afe57611afe614b25565b815260200190815260200160002054915050919050565b60405163229acb1760e01b81526004810182905260609073__$5c903bf0790ffcaff49f17b51ec8a22c01$__9063229acb17906024015b600060405180830381865af4158015611b69573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611636919081019061554c565b600080611b9c613825565b60009384526020525050604090206001015490565b6000611bbb6137fd565b600080516020615b84833981519152611bd581600061292d565b611be357611be38133613849565b60405163fcadd1f760e01b815273__$0f6271ecd36857987d374ff633d31cbc3c$__9063fcadd1f790611c229030908a908a908a908a906004016154a2565b602060405180830381865af4158015611c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c639190615434565b9695505050505050565b604051631504e3b960e11b81526004810182905260009073__$0f6271ecd36857987d374ff633d31cbc3c$__90632a09c77290602401602060405180830381865af4158015611cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce49190615580565b60ff16600181111561163657611636614b25565b604051632d63f69360e01b81526004810182905260009073__$0f6271ecd36857987d374ff633d31cbc3c$__90632d63f693906024016115f5565b611d3c82611b91565b611d4581613874565b611d4f838361387e565b50505050565b6000611d61813361292d565b611d6e57611d6e336117cd565b60096000611d7a61391f565b8054909150600160401b900460ff1680611da1575080546001600160401b03808416911610155b15611dbf5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038516611e395760405162461bcd60e51b815260206004820152601e60248201527f42335452476f7665726e6f723a20696e76616c6964207472656173757279000060448201526064015b60405180910390fd5b60008411611e985760405162461bcd60e51b815260206004820152602660248201527f42335452476f7665726e6f723a20696e76616c6964206d617820636f6e7472696044820152656275746f727360d01b6064820152608401611e30565b6000611ea2613712565b6023810180546001600160a01b0319166001600160a01b03891617905560240185905550805460ff60401b19168155604051600080516020615ba483398151915290611eef90849061559d565b60405180910390a15050505050565b6000611f0a813361292d565b611f1757611f17336117cd565b604051633397d78d60e01b81526004810183905273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90633397d78d906024016114f5565b6001600160a01b0381163314611f785760405163334bd91960e11b815260040160405180910390fd5b611f828282613943565b505050565b6000611f93813361292d565b611fa057611fa0336117cd565b60405163334b055760e21b815273__$3907422bd7a9d6e8e002872d31c2e7a534$__9063cd2c155c9061180f90869086906004016155b1565b600080516020615c24833981519152611ff2813361292d565b611fff57611fff336117cd565b6040516241c19d60e91b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__906383833a00906114f590859060040161457c565b604051631f27a4f360e11b81526004810182905260009073__$7756226fbd9b31469951eb130a9d82c56c$__90633e4f49e690602401602060405180830381865af4158015612088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ac9190615580565b60ff16600981111561163657611636614b25565b600080516020615be48339815191526120d881613874565b6120e06139bb565b50565b60006120ef813361292d565b6120fc576120fc336117cd565b611f828383613a12565b60006117258383613b9d565b606073__$3618b725599b71188fd71e0b940aaf7176$__634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865af415801561215d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612185919081019061554c565b905090565b600080516020615c048339815191526121a3813361292d565b6121b0576121b0336117cd565b60405163098bd5a160e31b8152821515600482015273__$89592c2ad43e2fc865373e86e1b840d06b$__90634c5ead08906024016114f5565b60006117258383613bda565b6121fd613c10565b61220682613cb5565b6122108282613cce565b5050565b600073__$3907422bd7a9d6e8e002872d31c2e7a534$__635273e74b848460018111156116bc576116bc614b25565b600061224d613d82565b50600080516020615bc483398151915290565b600061163682613dcb565b600080600061227984613e15565b9250925092509193909250565b604051635452a01b60e01b81526004810182905260009073__$5c903bf0790ffcaff49f17b51ec8a22c01$__90635452a01b90602401602060405180830381865af41580156122d9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163691906155c5565b606073__$0f6271ecd36857987d374ff633d31cbc3c$__635584c4f96040518163ffffffff1660e01b8152600401600060405180830381865af4158015612348573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261218591908101906155e2565b604051630dd063f960e41b81526004810183905233602482015260ff82166044820152608060648201526000608482018190529073__$ffb54439c7ca59a73697a8d71df14608d7$__9063dd063f909060a4016116e4565b60006123d2613712565b600b01546001600160a01b0316919050565b604051635b16e25960e01b81526004810182905260609073__$5c903bf0790ffcaff49f17b51ec8a22c01$__90635b16e25990602401600060405180830381865af4158015612437573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116369190810190615672565b60006001600160601b03193060601b168218611636565b600080612481613e4b565b5460ff1692915050565b600080612496613712565b60009384526011016020525050604090205490565b6040516360c4247f60e01b81526004810182905260009073__$3907422bd7a9d6e8e002872d31c2e7a534$__906360c4247f906024016115f5565b604051630195bcf960e61b81526004810182905260609073__$5c903bf0790ffcaff49f17b51ec8a22c01$__9063656f3e4090602401611b4c565b6125296137fd565b73__$5c903bf0790ffcaff49f17b51ec8a22c01$__630a9c9f198989898989898989612563600080516020615c448339815191523361292d565b6040518a63ffffffff1660e01b81526004016125879998979695949392919061574b565b60006040518083038186803b15801561259f57600080fd5b505af41580156125b3573d6000803e3d6000fd5b505050505050505050505050565b600073__$1ecfab2f131b89284f3c8449e5b3f4ac2f$__636b6a07048360018111156119c1576119c1614b25565b6000806125fa613712565b905080601c016000846001811115611aed57611aed614b25565b600061261e613712565b602001546001600160a01b0316919050565b600061263c813361292d565b61264957612649336117cd565b6040516314060bef60e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__906314060bef9061180f908590879060040161544d565b60006117258383613e6f565b600080516020615c248339815191526126a7813361292d565b6126b4576126b4336117cd565b60405163358e7d9760e21b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063d639f65c906114f590859060040161457c565b604051630dd063f960e41b815260009073__$ffb54439c7ca59a73697a8d71df14608d7$__9063dd063f9090611a7e9088903390899089908990600401615836565b600073__$0f6271ecd36857987d374ff633d31cbc3c$__6381ab23536040518163ffffffff1660e01b8152600401602060405180830381865af4158015612778573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612185919061586a565b600073__$ffb54439c7ca59a73697a8d71df14608d7$__6381c0d6df6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612778573d6000803e3d6000fd5b600080516020615be48339815191526127ff81613874565b6120e0613eb7565b600061163682613efe565b61281a6137fd565b604051634534b0a760e11b81526004810182905273__$5c903bf0790ffcaff49f17b51ec8a22c01$__90638a69614e9060240160006040518083038186803b15801561286557600080fd5b505af4158015612879573d6000803e3d6000fd5b5050505050565b600061163682613f21565b600061163682613f48565b600080516020615c048339815191526128af813361292d565b6128bc576128bc336117cd565b6040516323a0a32d60e21b815273__$89592c2ad43e2fc865373e86e1b840d06b$__90638e828cb4906128f790879087908790600401615887565b60006040518083038186803b15801561290f57600080fd5b505af4158015612923573d6000803e3d6000fd5b5050505050505050565b600080612938613825565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156129ae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218591906158f2565b600061163682613f74565b60006129e9813361292d565b6129f6576129f6336117cd565b73__$ffb54439c7ca59a73697a8d71df14608d7$__639c17e7b36040518163ffffffff1660e01b815260040160006040518083038186803b15801561286557600080fd5b6000612a44613712565b6009015461010090046001600160a01b0316919050565b60405163a45aa31360e01b81526004810182905260009073__$ffb54439c7ca59a73697a8d71df14608d7$__9063a45aa313906024015b602060405180830381865af4158015612aaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611636919061586a565b60405163a56b576560e01b815260009073__$1ecfab2f131b89284f3c8449e5b3f4ac2f$__9063a56b5765906116e4908690869060040161591a565b600073__$3907422bd7a9d6e8e002872d31c2e7a534$__63a7713a706040518163ffffffff1660e01b8152600401602060405180830381865af4158015612b5a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121859190615434565b6000612b8a813361292d565b612b9757612b97336117cd565b60086000612ba361391f565b8054909150600160401b900460ff1680612bca575080546001600160401b03808416911610155b15612be85760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038616612c6e5760405162461bcd60e51b815260206004820152602860248201527f42335452476f7665726e6f723a20696e76616c6964206e6176696761746f7220604482015267726567697374727960c01b6064820152608401611e30565b6001600160a01b038516612cd75760405162461bcd60e51b815260206004820152602a60248201527f42335452476f7665726e6f723a20696e76616c69642072656c617965722072656044820152691dd85c991cc81c1bdbdb60b21b6064820152608401611e30565b60405163ce396b1f60e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063ce396b1f90612d0e90899060040161457c565b60006040518083038186803b158015612d2657600080fd5b505af4158015612d3a573d6000803e3d6000fd5b5050604051630e0bea3b60e21b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__925063382fa8ec9150612d7590889060040161457c565b60006040518083038186803b158015612d8d57600080fd5b505af4158015612da1573d6000803e3d6000fd5b5050604051633397d78d60e01b81526004810187905273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9250633397d78d915060240160006040518083038186803b158015612df057600080fd5b505af4158015612e04573d6000803e3d6000fd5b5050825460ff60401b191683555050604051600080516020615ba483398151915290612e3190849061559d565b60405180910390a1505050505050565b6000612e4d813361292d565b612e5a57612e5a336117cd565b604051632cae129d60e21b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063b2b84a74906114f590859060040161457c565b604051632a6a54a560e21b81526004810182905260009073__$0f6271ecd36857987d374ff633d31cbc3c$__9063a9a9529490602401612a92565b600061163682613fa4565b600080516020615c24833981519152612ef0813361292d565b612efd57612efd336117cd565b6040516327a4ecdd60e11b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90634f49d9ba906114f590859060040161457c565b6000612f40813361292d565b612f4d57612f4d336117cd565b60405163b26a950960e01b81526004810183905273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063b26a9509906024016114f5565b600080516020615c24833981519152612f9e813361292d565b612fab57612fab336117cd565b604051634784a11360e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90634784a113906114f590859060040161457c565b60405163b69d417b60e01b815260009073__$ffb54439c7ca59a73697a8d71df14608d7$__9063b69d417b906116e4908690869060040161591a565b604051632dba7bfd60e21b815260009073__$ffb54439c7ca59a73697a8d71df14608d7$__9063b6e9eff4906116e490869086906004016152ff565b600030613065611484565b6001600160a01b03161461308c57604051637485328f60e11b815260040160405180910390fd5b5063bc197c8160e01b95945050505050565b600080516020615c048339815191526130b7813361292d565b6130c4576130c4336117cd565b60405163be9bd92b60e01b81526001600160a01b03851660048201526001600160e01b031984166024820152821515604482015273__$89592c2ad43e2fc865373e86e1b840d06b$__9063be9bd92b906064016128f7565b60405163c01f9e3760e01b81526004810182905260009073__$0f6271ecd36857987d374ff633d31cbc3c$__9063c01f9e37906024016115f5565b600080516020615c4483398151915261316f81613874565b604051633029809b60e21b81526004810183905273__$0f6271ecd36857987d374ff633d31cbc3c$__9063c0a6026c906024016114f5565b600061163682613fd6565b60006131be813361292d565b6131cb576131cb336117cd565b600080866001600160a01b03168686866040516131e9929190615933565b60006040518083038185875af1925050503d8060008114613226576040519150601f19603f3d011682016040523d82523d6000602084013e61322b565b606091505b50915091506129238282613ff9565b604051636182facd60e11b81526004810182905260009073__$5c903bf0790ffcaff49f17b51ec8a22c01$__9063c305f59a90602401612a92565b600080613280613712565b6004015492915050565b600080516020615c448339815191526132a281613874565b604051636214dec160e11b81526004810183905273__$0f6271ecd36857987d374ff633d31cbc3c$__9063c429bd82906024016114f5565b6000611abf85858585614015565b6000806132f3613712565b601a01546001600160a01b031692915050565b604051639079991f60e01b81526004810182905260009073__$3907422bd7a9d6e8e002872d31c2e7a534$__90639079991f90602401612a92565b600080516020615c2483398151915261335a813361292d565b61336757613367336117cd565b60405163697772a560e11b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063d2eee54a906114f590859060040161457c565b6133a782611b91565b6133b081613874565b611d4f8383613943565b6060604051806060016040528060288152602001615c6460289139905090565b600073__$0f6271ecd36857987d374ff633d31cbc3c$__63badecd763361340260003361292d565b89898989896040518863ffffffff1660e01b8152600401611c229796959493929190615943565b6000613435813361292d565b61344257613442336117cd565b6040516335ac44dd60e11b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__90636b5889ba9061180f908590879060040161544d565b6000613485613712565b601f01546001600160a01b0316919050565b60006134a1613712565b600a01546001600160a01b0316919050565b604051631c57762b60e31b8152600481018390526024810182905273__$1ecfab2f131b89284f3c8449e5b3f4ac2f$__9063e2bbb158906044016114f5565b60006116368261404f565b60006135076137fd565b60405163755acfe960e11b815273__$0f6271ecd36857987d374ff633d31cbc3c$__9063eab59fd29061354a908b908b908b908b908b908b908b906004016159af565b602060405180830381865af4158015613567573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061358b9190615434565b98975050505050505050565b60006117258383614099565b6135ab6137fd565b73__$5c903bf0790ffcaff49f17b51ec8a22c01$__6316a19ad68989898989898989612563600080516020615c448339815191523361292d565b60006121856142be565b6000806135fa613712565b601b01546001600160a01b031692915050565b600030613618611484565b6001600160a01b03161461363f57604051637485328f60e11b815260040160405180910390fd5b5063f23a6e6160e01b95945050505050565b600080516020615c2483398151915261366a813361292d565b61367757613677336117cd565b60405163ce396b1f60e01b815273__$c649b4f4a4ae9367cd90b9058a7ced9f31$__9063ce396b1f906114f590859060040161457c565b6000611636826142d1565b604051637c672b0560e11b81526004810182905260009073__$3907422bd7a9d6e8e002872d31c2e7a534$__9063f8ce560a906024016115f5565b6000806136ff613712565b600c01546001600160a01b031692915050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b6000613740613712565b9050846001600160a01b0316613754611484565b6001600160a01b03161461377d57846040516347096e4760e01b8152600401611e30919061457c565b816001600160a01b031661378f611484565b6001600160a01b03161461287957600084846040516137af929190615933565b604051809103902090505b806137c7836002016142f1565b036137ba57505050505050565b6000806137df613712565b6000938452600101602052505060409020546001600160a01b031690565b613805612476565b156138235760405163d93c066560e01b815260040160405180910390fd5b565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b613853828261292d565b61221057808260405163e2517d3f60e01b8152600401611e3092919061591a565b6120e08133613849565b600080613889613825565b9050613895848461292d565b613915576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556138cb3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050611636565b6000915050611636565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b60008061394e613825565b905061395a848461292d565b15613915576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050611636565b6139c3614366565b60006139cd613e4b565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051613a07919061457c565b60405180910390a150565b6000613a1c613712565b9050600081601b0160009054906101000a90046001600160a01b03166001600160a01b031663a49062d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a999190615434565b9050600082601c016000866001811115613ab557613ab5614b25565b6001811115613ac657613ac6614b25565b8152602001908152602001600020549050613ae08561438b565b613afc5760405162461bcd60e51b8152600401611e3090615a1c565b81841115613b2057604051637780647f60e11b815260048101859052602401611e30565b7fb1b75318956f66fa2b8b148bc3b2520c6e22133a50ac6069d38f97ed462b487a858286604051613b5393929190615a67565b60405180910390a18383601c016000876001811115613b7457613b74614b25565b6001811115613b8557613b85614b25565b81526020810191909152604001600020555050505050565b600080613ba8613712565b6000948552600f01602090815260408086206001600160a01b0395909516865260039094019052505090205460ff1690565b600080613be5613712565b6000948552600d01602090815260408086206001600160a01b03959095168652939052505090205490565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480613c9757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316613c8b600080516020615bc4833981519152546001600160a01b031690565b6001600160a01b031614155b156138235760405163703e46dd60e11b815260040160405180910390fd5b6000613cc1813361292d565b61221057612210336117cd565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613d28575060408051601f3d908101601f19168201909252613d2591810190615434565b60015b613d475781604051634c9c8ce360e01b8152600401611e30919061457c565b600080516020615bc48339815191528114613d7857604051632a87526960e21b815260048101829052602401611e30565b611f8283836143c2565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146138235760405163703e46dd60e11b815260040160405180910390fd5b600080613dd6613712565b9050613de18361438b565b613dfd5760405162461bcd60e51b8152600401611e3090615a1c565b806016016000846001811115611aed57611aed614b25565b600080600080613e23613712565b6000958652600f01602052505060409092208054600182015460029092015490949193509150565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b600080613e7a613712565b6001600160a01b03851660009081526008909101602090815260408083206001600160e01b03198716845290915290205460ff1691505092915050565b613ebf6137fd565b6000613ec9613e4b565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586139fa3390565b600080613f09613712565b60009384526001016020525050604090206004015490565b600080613f2c613712565b6000938452600190810160205260409093209092015492915050565b600080613f53613712565b60009384526001016020525050604090206004810154600390910154101590565b600080613f7f613712565b6001600160a01b03909316600090815260109093016020525050604090205460ff1690565b600080613faf613712565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080613fe1613712565b60009384526001016020525050604090206003015490565b60608261400e5761400982614418565b611636565b5080611636565b60008484848460405160200161402e9493929190615a86565b60408051601f19818403018152919052805160209091012095945050505050565b60008061405a613712565b90506140658361438b565b6140815760405162461bcd60e51b8152600401611e3090615a1c565b806019016000846001811115611aed57611aed614b25565b6000806140a4613712565b600c810154604051630748d63560e31b81529192506000916001600160a01b0390911690633a46b1a8906140de908890889060040161591a565b602060405180830381865afa1580156140fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061411f9190615434565b601f8301549091506001600160a01b031661413d5791506116369050565b601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990614172908990899060040161591a565b602060405180830381865afa15801561418f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b391906155c5565b6001600160a01b03161461423f57601f82015460405163c61c06e760e01b81526001600160a01b039091169063c61c06e7906141f5908890889060040161591a565b602060405180830381865afa158015614212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142369190615434565b92505050611636565b601f82015460405163094f6f2960e21b81526001600160a01b039091169063253dbca490614273908890889060040161591a565b602060405180830381865afa158015614290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142b49190615434565b611abf9082615b46565b60006142c8613712565b60220154905090565b6000806142dc613712565b60009384526007016020525050604090205490565b80546000906001600160801b0380821691600160801b9004168103614329576040516375e52f4f60e01b815260040160405180910390fd5b6001600160801b038181166000908152600185810160205260408220805492905585546001600160801b0319169301909116919091179092555090565b61436e612476565b61382357604051638dfc202b60e01b815260040160405180910390fd5b6000808260018111156143a0576143a0614b25565b1480611636575060018260018111156143bb576143bb614b25565b1492915050565b6143cb82614441565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561441057611f82828261449d565b61221061450a565b8051156144285780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b806001600160a01b03163b60000361446e5780604051634c9c8ce360e01b8152600401611e30919061457c565b600080516020615bc483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516144ba9190615b67565b600060405180830381855af49150503d80600081146144f5576040519150601f19603f3d011682016040523d82523d6000602084013e6144fa565b606091505b5091509150611abf858383614529565b34156138235760405163b398979f60e01b815260040160405180910390fd5b60608261453e5761453982614418565b611725565b815115801561455557506001600160a01b0384163b155b156145755783604051639996b31560e01b8152600401611e30919061457c565b5092915050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146120e057600080fd5b80356145b081614590565b919050565b600080604083850312156145c857600080fd5b8235915060208301356145da81614590565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614623576146236145e5565b604052919050565b60006001600160401b03821115614644576146446145e5565b5060051b60200190565b600082601f83011261465f57600080fd5b8135602061467461466f8361462b565b6145fb565b82815260059290921b8401810191818101908684111561469357600080fd5b8286015b848110156146b75780356146aa81614590565b8352918301918301614697565b509695505050505050565b600082601f8301126146d357600080fd5b813560206146e361466f8361462b565b82815260059290921b8401810191818101908684111561470257600080fd5b8286015b848110156146b75780358352918301918301614706565b60006001600160401b03821115614736576147366145e5565b50601f01601f191660200190565b600082601f83011261475557600080fd5b813561476361466f8261471d565b81815284602083860101111561477857600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126147a657600080fd5b813560206147b661466f8361462b565b82815260059290921b840181019181810190868411156147d557600080fd5b8286015b848110156146b75780356001600160401b038111156147f85760008081fd5b6148068986838b0101614744565b8452509183019183016147d9565b600080600080600080600080610100898b03121561483157600080fd5b88356001600160401b038082111561484857600080fd5b6148548c838d0161464e565b995060208b013591508082111561486a57600080fd5b6148768c838d016146c2565b985060408b013591508082111561488c57600080fd5b6148988c838d01614795565b975060608b01359150808211156148ae57600080fd5b6148ba8c838d01614744565b965060808b0135955060a08b013594506148d660c08c016145a5565b935060e08b01359150808211156148ec57600080fd5b506148f98b828c01614744565b9150509295985092959890939650565b60006020828403121561491b57600080fd5b5035919050565b80356001600160e01b0319811681146145b057600080fd5b60006020828403121561494c57600080fd5b61172582614922565b8035600281106145b057600080fd5b6000806040838503121561497757600080fd5b8235915061498760208401614955565b90509250929050565b60005b838110156149ab578181015183820152602001614993565b50506000910152565b600081518084526149cc816020860160208601614990565b601f01601f19169290920160200192915050565b60208152600061172560208301846149b4565b600060208284031215614a0557600080fd5b813561172581614590565b600060208284031215614a2257600080fd5b61172582614955565b60008060008060808587031215614a4157600080fd5b8435614a4c81614590565b93506020850135614a5c81614590565b92506040850135915060608501356001600160401b03811115614a7e57600080fd5b614a8a87828801614744565b91505092959194509250565b60008060008060808587031215614aac57600080fd5b84356001600160401b0380821115614ac357600080fd5b614acf8883890161464e565b95506020870135915080821115614ae557600080fd5b614af1888389016146c2565b94506040870135915080821115614b0757600080fd5b50614b1487828801614795565b949793965093946060013593505050565b634e487b7160e01b600052602160045260246000fd5b60028110614b4b57614b4b614b25565b9052565b602081016116368284614b3b565b60008060408385031215614b7057600080fd5b8235614b7b81614590565b946020939093013593505050565b60208101600a8310614b9d57614b9d614b25565b91905290565b60008060408385031215614bb657600080fd5b614b7b83614955565b80151581146120e057600080fd5b80356145b081614bbf565b600060208284031215614bea57600080fd5b813561172581614bbf565b60008060408385031215614c0857600080fd5b8235614c1381614590565b915060208301356001600160401b03811115614c2e57600080fd5b614c3a85828601614744565b9150509250929050565b600081518084526020808501945080840160005b83811015614c7457815187529582019590820190600101614c58565b509495945050505050565b6020815260006117256020830184614c44565b60ff811681146120e057600080fd5b60008060408385031215614cb457600080fd5b8235915060208301356145da81614c92565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614d1b57603f19888603018452614d098583516149b4565b94509285019290850190600101614ced565b5092979650505050505050565b60008083601f840112614d3a57600080fd5b5081356001600160401b03811115614d5157600080fd5b602083019150836020828501011115614d6957600080fd5b9250929050565b60008060008060008060008060a0898b031215614d8c57600080fd5b883597506020890135614d9e81614590565b965060408901356001600160401b0380821115614dba57600080fd5b614dc68c838d01614d28565b909850965060608b0135915080821115614ddf57600080fd5b614deb8c838d01614d28565b909650945060808b0135915080821115614e0457600080fd5b818b0191508b601f830112614e1857600080fd5b813581811115614e2757600080fd5b8c60208260051b8501011115614e3c57600080fd5b6020830194508093505050509295985092959890939650565b60008060408385031215614e6857600080fd5b8235614e7381614590565b915061498760208401614922565b60008060008060608587031215614e9757600080fd5b843593506020850135614ea981614c92565b925060408501356001600160401b03811115614ec457600080fd5b614ed087828801614d28565b95989497509550505050565b600080600060608486031215614ef157600080fd5b8335614efc81614590565b92506020848101356001600160401b03811115614f1857600080fd5b8501601f81018713614f2957600080fd5b8035614f3761466f8261462b565b81815260059190911b82018301908381019089831115614f5657600080fd5b928401925b82841015614f7b57614f6c84614922565b82529284019290840190614f5b565b8096505050505050614f8f60408501614bcd565b90509250925092565b600080600060608486031215614fad57600080fd5b8335614fb881614590565b92506020840135614fc881614590565b929592945050506040919091013590565b600080600080600060a08688031215614ff157600080fd5b8535614ffc81614590565b9450602086013561500c81614590565b935060408601356001600160401b038082111561502857600080fd5b61503489838a016146c2565b9450606088013591508082111561504a57600080fd5b61505689838a016146c2565b9350608088013591508082111561506c57600080fd5b5061507988828901614744565b9150509295509295909350565b60008060006060848603121561509b57600080fd5b83356150a681614590565b92506150b460208501614922565b915060408401356150c481614bbf565b809150509250925092565b600080600080606085870312156150e557600080fd5b84356150f081614590565b93506020850135925060408501356001600160401b03811115614ec457600080fd5b600080600080600060a0868803121561512a57600080fd5b85356001600160401b038082111561514157600080fd5b61514d89838a0161464e565b9650602088013591508082111561516357600080fd5b61516f89838a016146c2565b9550604088013591508082111561518557600080fd5b61519189838a01614795565b945060608801359350608088013591508082111561506c57600080fd5b600080604083850312156151c157600080fd5b50508035926020909101359150565b600080600080600080600060e0888a0312156151eb57600080fd5b87356001600160401b038082111561520257600080fd5b61520e8b838c0161464e565b985060208a013591508082111561522457600080fd5b6152308b838c016146c2565b975060408a013591508082111561524657600080fd5b6152528b838c01614795565b965060608a013591508082111561526857600080fd5b506152758a828b01614744565b979a969950949760808101359660a0820135965060c090910135945092505050565b600080600080600060a086880312156152af57600080fd5b85356152ba81614590565b945060208601356152ca81614590565b9350604086013592506060860135915060808601356001600160401b038111156152f357600080fd5b61507988828901614744565b9182526001600160a01b0316602082015260400190565b600081518084526020808501945080840160005b83811015614c745781516001600160a01b03168752958201959082019060010161532a565b600081518084526020808501808196508360051b8101915082860160005b858110156153975782840389526153858483516149b4565b9885019893509084019060010161536d565b5091979650505050505050565b60006101008083526153b88184018c615316565b905082810360208401526153cc818b614c44565b905082810360408401526153e0818a61534f565b905082810360608401526153f481896149b4565b6080840188905260a084018790526001600160a01b03861660c085015283810360e0850152905061542581856149b4565b9b9a5050505050505050505050565b60006020828403121561544657600080fd5b5051919050565b6040810161545b8285614b3b565b8260208301529392505050565b600181811c9082168061547c57607f821691505b60208210810361549c57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038616815260a0602082018190526000906154c690830187615316565b82810360408401526154d88187614c44565b905082810360608401526154ec818661534f565b9150508260808301529695505050505050565b600082601f83011261551057600080fd5b815161551e61466f8261471d565b81815284602083860101111561553357600080fd5b615544826020830160208701614990565b949350505050565b60006020828403121561555e57600080fd5b81516001600160401b0381111561557457600080fd5b615544848285016154ff565b60006020828403121561559257600080fd5b815161172581614c92565b6001600160401b0391909116815260200190565b828152604081016117256020830184614b3b565b6000602082840312156155d757600080fd5b815161172581614590565b600060208083850312156155f557600080fd5b82516001600160401b0381111561560b57600080fd5b8301601f8101851361561c57600080fd5b805161562a61466f8261462b565b81815260059190911b8201830190838101908783111561564957600080fd5b928401925b828410156156675783518252928401929084019061564e565b979650505050505050565b6000602080838503121561568557600080fd5b82516001600160401b038082111561569c57600080fd5b818501915085601f8301126156b057600080fd5b81516156be61466f8261462b565b81815260059190911b830184019084810190888311156156dd57600080fd5b8585015b83811015615715578051858111156156f95760008081fd5b6157078b89838a01016154ff565b8452509186019186016156e1565b5098975050505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8981526000602060018060a01b038b168184015260c0604084015261577460c084018a8c615722565b838103606085015261578781898b615722565b84810360808601528681529050818101600587901b820183018860005b8981101561581357848303601f190184528135368c9003601e190181126157ca57600080fd5b8b0186810190356001600160401b038111156157e557600080fd5b8036038213156157f457600080fd5b6157ff858284615722565b9588019594505050908501906001016157a4565b505086151560a0870152935061582892505050565b9a9950505050505050505050565b8581526001600160a01b038516602082015260ff841660408201526080606082018190526000906156679083018486615722565b60006020828403121561587c57600080fd5b815161172581614bbf565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b818110156158da5784516001600160e01b031916835293830193918301916001016158b4565b50508093505050508215156040830152949350505050565b60006020828403121561590457600080fd5b815165ffffffffffff8116811461172557600080fd5b6001600160a01b03929092168252602082015260400190565b8183823760009101908152919050565b6001600160a01b0388168152861515602082015260e06040820181905260009061596f90830188615316565b82810360608401526159818188614c44565b90508281036080840152615995818761534f565b90508460a084015282810360c084015261582881856149b4565b60e0815260006159c260e083018a615316565b82810360208401526159d4818a614c44565b905082810360408401526159e8818961534f565b905082810360608401526159fc81886149b4565b6080840196909652505060a081019290925260c090910152949350505050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b60608101615a758286614b3b565b602082019390935260400152919050565b6080808252855190820181905260009060209060a0840190828901845b82811015615ac85781516001600160a01b031684529284019290840190600101615aa3565b50505083810382850152615adc8188614c44565b905083810360408501528086518083528383019150838160051b84010184890160005b83811015615b2d57601f19868403018552615b1b8383516149b4565b94870194925090860190600101615aff565b5050809550505050505082606083015295945050505050565b8082018082111561163657634e487b7160e01b600052601160045260246000fd5b60008251615b79818460208701614990565b919091019291505056fe6575630003027b0b2fc4a48bc39dbc3eba9cf56588c696a6f5717e167a0ce731c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a87e72189a3ea069796dab5c7d3826581f957cb5c882c1e6dae7acacec49ca48e56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7320cc91c16c42272679cab4152f867e0cd4a98f53556da2d53b4e515be8c7796737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e2c616761696e7374a264697066735822122002ac80797a0444e5830333c0f129f002edd21a0724bc35dc91d5b139cdd83ea264736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x50EA6F EQ PUSH2 0x59A JUMPI DUP1 PUSH3 0xF714CE EQ PUSH2 0x5C5 JUMPI DUP1 PUSH4 0x13B1088 EQ PUSH2 0x5E5 JUMPI DUP1 PUSH4 0x1D6E78F EQ PUSH2 0x613 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x633 JUMPI DUP1 PUSH4 0x26865CC EQ PUSH2 0x663 JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x683 JUMPI DUP1 PUSH4 0x38F9B65 EQ PUSH2 0x698 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x6B8 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x6D8 JUMPI DUP1 PUSH4 0xDD8614C EQ PUSH2 0x6FA JUMPI DUP1 PUSH4 0xEDDEE30 EQ PUSH2 0x71A JUMPI DUP1 PUSH4 0x143489D0 EQ PUSH2 0x73A JUMPI DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x75A JUMPI DUP1 PUSH4 0x160CBED7 EQ PUSH2 0x793 JUMPI DUP1 PUSH4 0x1CAF3474 EQ PUSH2 0x7B3 JUMPI DUP1 PUSH4 0x229ACB17 EQ PUSH2 0x7D3 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x7F3 JUMPI DUP1 PUSH4 0x2656227D EQ PUSH2 0x813 JUMPI DUP1 PUSH4 0x2A09C772 EQ PUSH2 0x826 JUMPI DUP1 PUSH4 0x2D63F693 EQ PUSH2 0x853 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x873 JUMPI DUP1 PUSH4 0x33970A9D EQ PUSH2 0x893 JUMPI DUP1 PUSH4 0x3397D78D EQ PUSH2 0x8B3 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x8D3 JUMPI DUP1 PUSH4 0x36D23A4C EQ PUSH2 0x8F3 JUMPI DUP1 PUSH4 0x3D1AC63E EQ PUSH2 0x915 JUMPI DUP1 PUSH4 0x3D47FE94 EQ PUSH2 0x935 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x955 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x982 JUMPI DUP1 PUSH4 0x406CED84 EQ PUSH2 0x997 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x9B7 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x9D7 JUMPI DUP1 PUSH4 0x4C5EAD08 EQ PUSH2 0x9EC JUMPI DUP1 PUSH4 0x4E055244 EQ PUSH2 0xA0C JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0xA2C JUMPI DUP1 PUSH4 0x5273E74B EQ PUSH2 0xA3F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0xA5F JUMPI DUP1 PUSH4 0x542D6DB5 EQ PUSH2 0xA74 JUMPI DUP1 PUSH4 0x544FFC9C EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x5452A01B EQ PUSH2 0xACF JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xAEF JUMPI DUP1 PUSH4 0x5584C4F9 EQ PUSH2 0xB1A JUMPI DUP1 PUSH4 0x56781388 EQ PUSH2 0xB3C JUMPI DUP1 PUSH4 0x582A486A EQ PUSH2 0xB5C JUMPI DUP1 PUSH4 0x5B16E259 EQ PUSH2 0xB71 JUMPI DUP1 PUSH4 0x5C573D44 EQ PUSH2 0xB9E JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0xBBE JUMPI DUP1 PUSH4 0x60463D68 EQ PUSH2 0xBD3 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0xBF3 JUMPI DUP1 PUSH4 0x656F3E40 EQ PUSH2 0xC13 JUMPI DUP1 PUSH4 0x6A1423D7 EQ PUSH2 0xC33 JUMPI DUP1 PUSH4 0x6B6A0704 EQ PUSH2 0xC53 JUMPI DUP1 PUSH4 0x6DD139BE EQ PUSH2 0xC73 JUMPI DUP1 PUSH4 0x6E8A1823 EQ PUSH2 0xC93 JUMPI DUP1 PUSH4 0x726DA5FD EQ PUSH2 0xCA8 JUMPI DUP1 PUSH4 0x74A55A51 EQ PUSH2 0xCC8 JUMPI DUP1 PUSH4 0x7A4CCE6D EQ PUSH2 0xCE8 JUMPI DUP1 PUSH4 0x7B3C71D3 EQ PUSH2 0xD08 JUMPI DUP1 PUSH4 0x81AB2353 EQ PUSH2 0xD28 JUMPI DUP1 PUSH4 0x81C0D6DF EQ PUSH2 0xD3D JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0xD52 JUMPI DUP1 PUSH4 0x88FB07A5 EQ PUSH2 0xD67 JUMPI DUP1 PUSH4 0x8A69614E EQ PUSH2 0xD87 JUMPI DUP1 PUSH4 0x8CED2A11 EQ PUSH2 0xDA7 JUMPI DUP1 PUSH4 0x8D5A3F67 EQ PUSH2 0xDC7 JUMPI DUP1 PUSH4 0x8E828CB4 EQ PUSH2 0xDE7 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xE07 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xE27 JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xE53 JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xE75 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xE89 JUMPI DUP1 PUSH4 0x9C17E7B3 EQ PUSH2 0xEA9 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xEBE JUMPI DUP1 PUSH4 0xA3844E11 EQ PUSH2 0xED3 JUMPI DUP1 PUSH4 0xA45AA313 EQ PUSH2 0xEE8 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xF08 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0xF28 JUMPI DUP1 PUSH4 0xA832918C EQ PUSH2 0xF3D JUMPI DUP1 PUSH4 0xA890C910 EQ PUSH2 0xF5D JUMPI DUP1 PUSH4 0xA9A95294 EQ PUSH2 0xF7D JUMPI DUP1 PUSH4 0xAB58FB8E EQ PUSH2 0xF9D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xFBD JUMPI DUP1 PUSH4 0xAE0B8DA8 EQ PUSH2 0xFEE JUMPI DUP1 PUSH4 0xB26A9509 EQ PUSH2 0x100E JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0x102E JUMPI DUP1 PUSH4 0xB69D417B EQ PUSH2 0x104E JUMPI DUP1 PUSH4 0xB6E9EFF4 EQ PUSH2 0x106E JUMPI DUP1 PUSH4 0xBC197C81 EQ PUSH2 0x108E JUMPI DUP1 PUSH4 0xBD5AEFEA EQ PUSH2 0x10AE JUMPI DUP1 PUSH4 0xBE9BD92B EQ PUSH2 0x10D0 JUMPI DUP1 PUSH4 0xC01F9E37 EQ PUSH2 0x10F0 JUMPI DUP1 PUSH4 0xC0A6026C EQ PUSH2 0x1110 JUMPI DUP1 PUSH4 0xC220F2F5 EQ PUSH2 0x1130 JUMPI DUP1 PUSH4 0xC28BC2FA EQ PUSH2 0x1150 JUMPI DUP1 PUSH4 0xC305F59A EQ PUSH2 0x1163 JUMPI DUP1 PUSH4 0xC40FFBF6 EQ PUSH2 0x1183 JUMPI DUP1 PUSH4 0xC429BD82 EQ PUSH2 0x1198 JUMPI DUP1 PUSH4 0xC59057E4 EQ PUSH2 0x11B8 JUMPI DUP1 PUSH4 0xCF09F8BF EQ PUSH2 0x11D8 JUMPI DUP1 PUSH4 0xD33219B4 EQ PUSH2 0x11ED JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0x1202 JUMPI DUP1 PUSH4 0xD53C74C1 EQ PUSH2 0x1222 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x1242 JUMPI DUP1 PUSH4 0xDD4E2BA5 EQ PUSH2 0x1262 JUMPI DUP1 PUSH4 0xDE65F41A EQ PUSH2 0x1277 JUMPI DUP1 PUSH4 0xE09C8D44 EQ PUSH2 0x1297 JUMPI DUP1 PUSH4 0xE125F74E EQ PUSH2 0x12B7 JUMPI DUP1 PUSH4 0xE205AEB0 EQ PUSH2 0x12CC JUMPI DUP1 PUSH4 0xE2BBB158 EQ PUSH2 0x12E1 JUMPI DUP1 PUSH4 0xE4EC85D4 EQ PUSH2 0x1301 JUMPI DUP1 PUSH4 0xE63AB1E9 EQ PUSH2 0x1321 JUMPI DUP1 PUSH4 0xEAB59FD2 EQ PUSH2 0x1343 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0x1363 JUMPI DUP1 PUSH4 0xEDE8BED0 EQ PUSH2 0x1383 JUMPI DUP1 PUSH4 0xEE8A948B EQ PUSH2 0x13A3 JUMPI DUP1 PUSH4 0xF03A98D5 EQ PUSH2 0x13B8 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x13CD JUMPI DUP1 PUSH4 0xF530108F EQ PUSH2 0x13ED JUMPI DUP1 PUSH4 0xF744F119 EQ PUSH2 0x140D JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0x142D JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x144D JUMPI DUP1 PUSH4 0xFD4FD6E1 EQ PUSH2 0x1462 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x595 JUMPI ADDRESS PUSH2 0x56C PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x593 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x14A2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x5E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x14BE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x600 CALLDATASIZE PUSH1 0x4 PUSH2 0x4814 JUMP JUMPDEST PUSH2 0x1529 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x61F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x62E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x15BE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x63F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x64E CALLDATASIZE PUSH1 0x4 PUSH2 0x493A JUMP JUMPDEST PUSH2 0x163C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x67E CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x168D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x172C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x6B3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x17B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x6D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1844 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0x1895 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x49E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x706 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x715 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x1936 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x726 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x735 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x1993 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x746 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x755 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x19E7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x766 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x77A PUSH2 0x775 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A2B JUMP JUMPDEST PUSH2 0x19F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x7AE CALLDATASIZE PUSH1 0x4 PUSH2 0x4A96 JUMP JUMPDEST PUSH2 0x1A35 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x7CE CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x1AC8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0x7EE CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x80E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1B91 JUMP JUMPDEST PUSH2 0x605 PUSH2 0x821 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A96 JUMP JUMPDEST PUSH2 0x1BB1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x832 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x846 PUSH2 0x841 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1C6D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x4B4F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x86E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1CF8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x87F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x88E CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x1D33 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x8AE CALLDATASIZE PUSH1 0x4 PUSH2 0x4B5D JUMP JUMPDEST PUSH2 0x1D55 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x8CE CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x1EFE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x8EE CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x1F4F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5B84 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x921 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x930 CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x1F87 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x941 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x950 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x1FD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x961 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x975 PUSH2 0x970 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x4B89 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x98E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x20C0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x9B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BA3 JUMP JUMPDEST PUSH2 0x20E3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x9D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x2106 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0x2112 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xA07 CALLDATASIZE PUSH1 0x4 PUSH2 0x4BD8 JUMP JUMPDEST PUSH2 0x218A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xA27 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x21E9 JUMP JUMPDEST PUSH2 0x593 PUSH2 0xA3A CALLDATASIZE PUSH1 0x4 PUSH2 0x4BF5 JUMP JUMPDEST PUSH2 0x21F5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xA5A CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x2214 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x2243 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xA8F CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x2260 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAB4 PUSH2 0xAAF CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x226B JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0xAEA CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2286 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH2 0x3131 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x6ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB2F PUSH2 0x22FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x4C7F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xB57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CA1 JUMP JUMPDEST PUSH2 0x2370 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x23C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB91 PUSH2 0xB8C CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x23E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5BC SWAP2 SWAP1 PUSH2 0x4CC6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xBB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x245F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x2476 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xBEE CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x248B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xC0E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x24AB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC1F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0xC2E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x24E6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xC4E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D70 JUMP JUMPDEST PUSH2 0x2521 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xC6E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x25C1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xC8E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x25EF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x2614 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xCC3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x2630 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xCE3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E55 JUMP JUMPDEST PUSH2 0x2682 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xD03 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x268E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xD23 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E81 JUMP JUMPDEST PUSH2 0x26EB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x272D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x279C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x27E7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xD82 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2807 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xDA2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2812 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xDC2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2880 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xDE2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x288B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xE02 CALLDATASIZE PUSH1 0x4 PUSH2 0x4EDC JUMP JUMPDEST PUSH2 0x2896 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xE22 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x292D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE3C PUSH2 0x2963 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5BC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH2 0x605 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xEA4 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x29D2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x29DD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xECA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x2A3A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xF03 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2A5B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xF23 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B5D JUMP JUMPDEST PUSH2 0x2AD3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x2B0F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xF58 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F98 JUMP JUMPDEST PUSH2 0x2B7E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0xF78 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x2E41 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0xF98 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2E91 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0xFB8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2ECC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x1009 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x2ED7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x101A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x1029 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x2F34 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x103A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x1049 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x2F85 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x105A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1069 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B5D JUMP JUMPDEST PUSH2 0x2FE2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x107A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1089 CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x301E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x109A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x77A PUSH2 0x10A9 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FD9 JUMP JUMPDEST PUSH2 0x305A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C04 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x10EB CALLDATASIZE PUSH1 0x4 PUSH2 0x5086 JUMP JUMPDEST PUSH2 0x309E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x110B CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x311C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x111C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x112B CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x3157 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x113C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x114B CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x31A7 JUMP JUMPDEST PUSH2 0x593 PUSH2 0x115E CALLDATASIZE PUSH1 0x4 PUSH2 0x50CF JUMP JUMPDEST PUSH2 0x31B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x116F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x117E CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x323A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x3275 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x11B3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x328A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x11D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A96 JUMP JUMPDEST PUSH2 0x32DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x32E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x11F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x1484 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x120E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x653 PUSH2 0x121D CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x3306 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x122E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x123D CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x3341 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x124E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x125D CALLDATASIZE PUSH1 0x4 PUSH2 0x45B5 JUMP JUMPDEST PUSH2 0x339E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x126E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6ED PUSH2 0x33BA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1283 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1292 CALLDATASIZE PUSH1 0x4 PUSH2 0x5112 JUMP JUMPDEST PUSH2 0x33DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x12B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x4964 JUMP JUMPDEST PUSH2 0x3429 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x347B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x3497 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x12FC CALLDATASIZE PUSH1 0x4 PUSH2 0x51AE JUMP JUMPDEST PUSH2 0x34B3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x130D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x131C CALLDATASIZE PUSH1 0x4 PUSH2 0x4A10 JUMP JUMPDEST PUSH2 0x34F2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x132D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BE4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x134F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x135E CALLDATASIZE PUSH1 0x4 PUSH2 0x51D0 JUMP JUMPDEST PUSH2 0x34FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x137E CALLDATASIZE PUSH1 0x4 PUSH2 0x4B5D JUMP JUMPDEST PUSH2 0x3597 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x138F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x139E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D70 JUMP JUMPDEST PUSH2 0x35A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x35E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x35EF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x77A PUSH2 0x13E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x5297 JUMP JUMPDEST PUSH2 0x360D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x593 PUSH2 0x1408 CALLDATASIZE PUSH1 0x4 PUSH2 0x49F3 JUMP JUMPDEST PUSH2 0x3651 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1428 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x36AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1439 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH2 0x1448 CALLDATASIZE PUSH1 0x4 PUSH2 0x4909 JUMP JUMPDEST PUSH2 0x36B9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1459 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x36F4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x146E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x605 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x148F PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14AC PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x14 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x7B8A67 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH3 0xF714CE SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x52FF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x150D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1521 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x276211 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x13B1088 SWAP1 PUSH2 0x1570 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x53A4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x158D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15B1 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1D6E78F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x1D6E78F SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1612 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1636 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0xC964612F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x166D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ JUMPDEST DUP1 PUSH2 0x1636 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x26865CC DUP5 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16BC JUMPI PUSH2 0x16BC PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1701 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1725 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1737 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x178E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17B2 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17C4 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x17D6 JUMPI PUSH2 0x17D6 CALLER JUMPDEST PUSH1 0x0 CALLDATASIZE ADDRESS PUSH2 0x3736 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4CFC47C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4CFC47C3 SWAP1 PUSH2 0x180F SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x544D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1827 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x183B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1850 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x185D JUMPI PUSH2 0x185D CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x379FCF3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6F3F9E6 SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x18A1 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x18B2 SWAP1 PUSH2 0x5468 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x18DE SWAP1 PUSH2 0x5468 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x192B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1900 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x192B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x190E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x194F DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x195C JUMPI PUSH2 0x195C CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x382FA8EC SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xEDDEE30 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19C1 JUMPI PUSH2 0x19C1 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP5 SWAP1 SHL AND DUP2 MSTORE PUSH1 0xFF SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x37D4 JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x19FD PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1A24 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A3F PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1957CC7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x1957CC7 SWAP1 PUSH2 0x1A7E SWAP1 ADDRESS SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x54A2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A9B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1ABF SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1AD3 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x17 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AED JUMPI PUSH2 0x1AED PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AFE JUMPI PUSH2 0x1AFE PUSH2 0x4B25 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x229ACB17 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x229ACB17 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1B69 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1636 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x554C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B9C PUSH2 0x3825 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BBB PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5B84 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1BD5 DUP2 PUSH1 0x0 PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1BE3 JUMPI PUSH2 0x1BE3 DUP2 CALLER PUSH2 0x3849 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xFCADD1F7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xFCADD1F7 SWAP1 PUSH2 0x1C22 SWAP1 ADDRESS SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x54A2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1C3F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C63 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CC0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1CE4 SWAP2 SWAP1 PUSH2 0x5580 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1636 JUMPI PUSH2 0x1636 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D63F693 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2D63F693 SWAP1 PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH2 0x1D3C DUP3 PUSH2 0x1B91 JUMP JUMPDEST PUSH2 0x1D45 DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH2 0x1D4F DUP4 DUP4 PUSH2 0x387E JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D61 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1D6E JUMPI PUSH2 0x1D6E CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x9 PUSH1 0x0 PUSH2 0x1D7A PUSH2 0x391F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x1DA1 JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x1DBF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x1E39 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A20696E76616C69642074726561737572790000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 GT PUSH2 0x1E98 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A20696E76616C6964206D617820636F6E747269 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x6275746F7273 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA2 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x23 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x24 ADD DUP6 SWAP1 SSTORE POP DUP1 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP2 SSTORE PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BA4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x1EEF SWAP1 DUP5 SWAP1 PUSH2 0x559D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F0A DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1F17 JUMPI PUSH2 0x1F17 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3397D78D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x3397D78D SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x1F78 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1F82 DUP3 DUP3 PUSH2 0x3943 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F93 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1FA0 JUMPI PUSH2 0x1FA0 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x334B0557 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCD2C155C SWAP1 PUSH2 0x180F SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x55B1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1FF2 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x1FFF JUMPI PUSH2 0x1FFF CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x41C19D PUSH1 0xE9 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x83833A00 SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F27A4F3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x3E4F49E6 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2088 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20AC SWAP2 SWAP1 PUSH2 0x5580 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x1636 JUMPI PUSH2 0x1636 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BE4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x20D8 DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH2 0x20E0 PUSH2 0x39BB JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20EF DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x20FC JUMPI PUSH2 0x20FC CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH2 0x1F82 DUP4 DUP4 PUSH2 0x3A12 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1725 DUP4 DUP4 PUSH2 0x3B9D JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x215D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2185 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x554C JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C04 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x21A3 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x21B0 JUMPI PUSH2 0x21B0 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x98BD5A1 PUSH1 0xE3 SHL DUP2 MSTORE DUP3 ISZERO ISZERO PUSH1 0x4 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4C5EAD08 SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1725 DUP4 DUP4 PUSH2 0x3BDA JUMP JUMPDEST PUSH2 0x21FD PUSH2 0x3C10 JUMP JUMPDEST PUSH2 0x2206 DUP3 PUSH2 0x3CB5 JUMP JUMPDEST PUSH2 0x2210 DUP3 DUP3 PUSH2 0x3CCE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x5273E74B DUP5 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16BC JUMPI PUSH2 0x16BC PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x224D PUSH2 0x3D82 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BC4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3DCB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x2279 DUP5 PUSH2 0x3E15 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x5452A01B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x5452A01B SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x22D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1636 SWAP2 SWAP1 PUSH2 0x55C5 JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x5584C4F9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2348 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2185 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x55E2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xDD063F9 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE CALLER PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0xFF DUP3 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x84 DUP3 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xDD063F90 SWAP1 PUSH1 0xA4 ADD PUSH2 0x16E4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23D2 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0xB ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x5B16E259 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x5B16E259 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2437 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1636 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5672 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT ADDRESS PUSH1 0x60 SHL AND DUP3 XOR PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2481 PUSH2 0x3E4B JUMP JUMPDEST SLOAD PUSH1 0xFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2496 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x11 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x60C4247F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x60C4247F SWAP1 PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x195BCF9 PUSH1 0xE6 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x656F3E40 SWAP1 PUSH1 0x24 ADD PUSH2 0x1B4C JUMP JUMPDEST PUSH2 0x2529 PUSH2 0x37FD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA9C9F19 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x2563 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x292D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP11 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2587 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x574B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x259F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x25B3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x6B6A0704 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19C1 JUMPI PUSH2 0x19C1 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x25FA PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1C ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AED JUMPI PUSH2 0x1AED PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x261E PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x20 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x263C DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2649 JUMPI PUSH2 0x2649 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x14060BEF PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x14060BEF SWAP1 PUSH2 0x180F SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x544D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1725 DUP4 DUP4 PUSH2 0x3E6F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x26A7 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x26B4 JUMPI PUSH2 0x26B4 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x358E7D97 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD639F65C SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xDD063F9 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xDD063F90 SWAP1 PUSH2 0x1A7E SWAP1 DUP9 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x5836 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x81AB2353 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2778 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2185 SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x81C0D6DF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2778 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BE4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x27FF DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH2 0x20E0 PUSH2 0x3EB7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3EFE JUMP JUMPDEST PUSH2 0x281A PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4534B0A7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8A69614E SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2865 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2879 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3F21 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3F48 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C04 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x28AF DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x28BC JUMPI PUSH2 0x28BC CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x23A0A32D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8E828CB4 SWAP1 PUSH2 0x28F7 SWAP1 DUP8 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x5887 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x290F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2923 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2938 PUSH2 0x3825 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2185 SWAP2 SWAP1 PUSH2 0x58F2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3F74 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29E9 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x29F6 JUMPI PUSH2 0x29F6 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9C17E7B3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2865 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A44 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x9 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA45AA313 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA45AA313 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2AAF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1636 SWAP2 SWAP1 PUSH2 0x586A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA56B5765 SWAP1 PUSH2 0x16E4 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xA7713A70 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2B5A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2185 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B8A DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2B97 JUMPI PUSH2 0x2B97 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x8 PUSH1 0x0 PUSH2 0x2BA3 PUSH2 0x391F JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2BCA JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2BE8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x2C6E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A20696E76616C6964206E6176696761746F7220 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7265676973747279 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2CD7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A20696E76616C69642072656C61796572207265 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x1DD85C991CC81C1BDBDB PUSH1 0xB2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x2D0E SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2D26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2D3A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x382FA8EC SWAP2 POP PUSH2 0x2D75 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2D8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2DA1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x3397D78D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x3397D78D SWAP2 POP PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2DF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2E04 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP3 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP4 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BA4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH2 0x2E31 SWAP1 DUP5 SWAP1 PUSH2 0x559D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E4D DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2E5A JUMPI PUSH2 0x2E5A CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2CAE129D PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB2B84A74 SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2A6A54A5 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA9A95294 SWAP1 PUSH1 0x24 ADD PUSH2 0x2A92 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3FA4 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2EF0 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2EFD JUMPI PUSH2 0x2EFD CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x27A4ECDD PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4F49D9BA SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F40 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2F4D JUMPI PUSH2 0x2F4D CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB26A9509 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB26A9509 SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2F9E DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2FAB JUMPI PUSH2 0x2FAB CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4784A113 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4784A113 SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB69D417B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xB69D417B SWAP1 PUSH2 0x16E4 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DBA7BFD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xB6E9EFF4 SWAP1 PUSH2 0x16E4 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x52FF JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x3065 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x308C JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C04 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x30B7 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x30C4 JUMPI PUSH2 0x30C4 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBE9BD92B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE DUP3 ISZERO ISZERO PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xBE9BD92B SWAP1 PUSH1 0x64 ADD PUSH2 0x28F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xC01F9E37 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xC01F9E37 SWAP1 PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x316F DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3029809B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xC0A6026C SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x3FD6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31BE DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x31CB JUMPI PUSH2 0x31CB CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x31E9 SWAP3 SWAP2 SWAP1 PUSH2 0x5933 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3226 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x322B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x2923 DUP3 DUP3 PUSH2 0x3FF9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6182FACD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xC305F59A SWAP1 PUSH1 0x24 ADD PUSH2 0x2A92 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3280 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x32A2 DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6214DEC1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xC429BD82 SWAP1 PUSH1 0x24 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1ABF DUP6 DUP6 DUP6 DUP6 PUSH2 0x4015 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x32F3 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1A ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9079991F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x9079991F SWAP1 PUSH1 0x24 ADD PUSH2 0x2A92 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x335A DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x3367 JUMPI PUSH2 0x3367 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x697772A5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD2EEE54A SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH2 0x33A7 DUP3 PUSH2 0x1B91 JUMP JUMPDEST PUSH2 0x33B0 DUP2 PUSH2 0x3874 JUMP JUMPDEST PUSH2 0x1D4F DUP4 DUP4 PUSH2 0x3943 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5C64 PUSH1 0x28 SWAP2 CODECOPY SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBADECD76 CALLER PUSH2 0x3402 PUSH1 0x0 CALLER PUSH2 0x292D JUMP JUMPDEST DUP10 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD DUP9 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C22 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5943 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3435 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x3442 JUMPI PUSH2 0x3442 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x35AC44DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6B5889BA SWAP1 PUSH2 0x180F SWAP1 DUP6 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x544D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3485 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1F ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34A1 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0xA ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1C57762B PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xE2BBB158 SWAP1 PUSH1 0x44 ADD PUSH2 0x14F5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x404F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3507 PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x755ACFE9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xEAB59FD2 SWAP1 PUSH2 0x354A SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x59AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3567 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x358B SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1725 DUP4 DUP4 PUSH2 0x4099 JUMP JUMPDEST PUSH2 0x35AB PUSH2 0x37FD JUMP JUMPDEST PUSH20 0x0 PUSH4 0x16A19AD6 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x2563 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C44 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x292D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2185 PUSH2 0x42BE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x35FA PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1B ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH2 0x3618 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x363F JUMPI PUSH1 0x40 MLOAD PUSH4 0x7485328F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C24 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x366A DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x3677 JUMPI PUSH2 0x3677 CALLER PUSH2 0x17CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x14F5 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1636 DUP3 PUSH2 0x42D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7C672B05 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xF8CE560A SWAP1 PUSH1 0x24 ADD PUSH2 0x15F5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x36FF PUSH2 0x3712 JUMP JUMPDEST PUSH1 0xC ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3740 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3754 PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x377D JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0x47096E47 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x378F PUSH2 0x1484 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2879 JUMPI PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x37AF SWAP3 SWAP2 SWAP1 PUSH2 0x5933 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP1 POP JUMPDEST DUP1 PUSH2 0x37C7 DUP4 PUSH1 0x2 ADD PUSH2 0x42F1 JUMP JUMPDEST SUB PUSH2 0x37BA JUMPI POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x37DF PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x3805 PUSH2 0x2476 JUMP JUMPDEST ISZERO PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD93C0665 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH2 0x3853 DUP3 DUP3 PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2210 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP3 SWAP2 SWAP1 PUSH2 0x591A JUMP JUMPDEST PUSH2 0x20E0 DUP2 CALLER PUSH2 0x3849 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3889 PUSH2 0x3825 JUMP JUMPDEST SWAP1 POP PUSH2 0x3895 DUP5 DUP5 PUSH2 0x292D JUMP JUMPDEST PUSH2 0x3915 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x38CB CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x1636 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x394E PUSH2 0x3825 JUMP JUMPDEST SWAP1 POP PUSH2 0x395A DUP5 DUP5 PUSH2 0x292D JUMP JUMPDEST ISZERO PUSH2 0x3915 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0x1636 JUMP JUMPDEST PUSH2 0x39C3 PUSH2 0x4366 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39CD PUSH2 0x3E4B JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 SSTORE SWAP1 POP PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA CALLER JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A07 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A1C PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1B ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA49062D4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A75 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A99 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1C ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3AB5 JUMPI PUSH2 0x3AB5 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3AC6 JUMPI PUSH2 0x3AC6 PUSH2 0x4B25 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0x3AE0 DUP6 PUSH2 0x438B JUMP JUMPDEST PUSH2 0x3AFC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP1 PUSH2 0x5A1C JUMP JUMPDEST DUP2 DUP5 GT ISZERO PUSH2 0x3B20 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7780647F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH32 0xB1B75318956F66FA2B8B148BC3B2520C6E22133A50AC6069D38F97ED462B487A DUP6 DUP3 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3B53 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5A67 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP4 DUP4 PUSH1 0x1C ADD PUSH1 0x0 DUP8 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3B74 JUMPI PUSH2 0x3B74 PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3B85 JUMPI PUSH2 0x3B85 PUSH2 0x4B25 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BA8 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0xF ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE PUSH1 0x3 SWAP1 SWAP5 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BE5 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0xD ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x3C97 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3C8B PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BC4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3CC1 DUP2 CALLER PUSH2 0x292D JUMP JUMPDEST PUSH2 0x2210 JUMPI PUSH2 0x2210 CALLER PUSH2 0x17CD JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3D28 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3D25 SWAP2 DUP2 ADD SWAP1 PUSH2 0x5434 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3D47 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BC4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x3D78 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x1E30 JUMP JUMPDEST PUSH2 0x1F82 DUP4 DUP4 PUSH2 0x43C2 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3DD6 PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP PUSH2 0x3DE1 DUP4 PUSH2 0x438B JUMP JUMPDEST PUSH2 0x3DFD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP1 PUSH2 0x5A1C JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AED JUMPI PUSH2 0x1AED PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x3E23 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 SWAP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 SWAP1 SWAP3 ADD SLOAD SWAP1 SWAP5 SWAP2 SWAP4 POP SWAP2 POP JUMP JUMPDEST PUSH32 0xCD5ED15C6E187E77E9AEE88184C21F4F2182AB5827CB3B7E07FBEDCD63F03300 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E7A PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3EBF PUSH2 0x37FD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3EC9 PUSH2 0x3E4B JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE SWAP1 POP PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 PUSH2 0x39FA CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F09 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F2C PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP4 KECCAK256 SWAP1 SWAP3 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F53 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F7F PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 SWAP1 SWAP4 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3FAF PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3FE1 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x400E JUMPI PUSH2 0x4009 DUP3 PUSH2 0x4418 JUMP JUMPDEST PUSH2 0x1636 JUMP JUMPDEST POP DUP1 PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x402E SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5A86 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x405A PUSH2 0x3712 JUMP JUMPDEST SWAP1 POP PUSH2 0x4065 DUP4 PUSH2 0x438B JUMP JUMPDEST PUSH2 0x4081 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP1 PUSH2 0x5A1C JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1AED JUMPI PUSH2 0x1AED PUSH2 0x4B25 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x40A4 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0x40DE SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x40FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x411F SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x413D JUMPI SWAP2 POP PUSH2 0x1636 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x4172 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x418F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x41B3 SWAP2 SWAP1 PUSH2 0x55C5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x423F JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x41F5 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4212 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4236 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x1636 JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x4273 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x591A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4290 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x42B4 SWAP2 SWAP1 PUSH2 0x5434 JUMP JUMPDEST PUSH2 0x1ABF SWAP1 DUP3 PUSH2 0x5B46 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42C8 PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x22 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x42DC PUSH2 0x3712 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x7 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND SWAP2 PUSH1 0x1 PUSH1 0x80 SHL SWAP1 DIV AND DUP2 SUB PUSH2 0x4329 JUMPI PUSH1 0x40 MLOAD PUSH4 0x75E52F4F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP6 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD SWAP3 SWAP1 SSTORE DUP6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT AND SWAP4 ADD SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP3 SSTORE POP SWAP1 JUMP JUMPDEST PUSH2 0x436E PUSH2 0x2476 JUMP JUMPDEST PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8DFC202B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x43A0 JUMPI PUSH2 0x43A0 PUSH2 0x4B25 JUMP JUMPDEST EQ DUP1 PUSH2 0x1636 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x43BB JUMPI PUSH2 0x43BB PUSH2 0x4B25 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x43CB DUP3 PUSH2 0x4441 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4410 JUMPI PUSH2 0x1F82 DUP3 DUP3 PUSH2 0x449D JUMP JUMPDEST PUSH2 0x2210 PUSH2 0x450A JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4428 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x446E JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5BC4 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x44BA SWAP2 SWAP1 PUSH2 0x5B67 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x44F5 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x44FA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1ABF DUP6 DUP4 DUP4 PUSH2 0x4529 JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x3823 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x453E JUMPI PUSH2 0x4539 DUP3 PUSH2 0x4418 JUMP JUMPDEST PUSH2 0x1725 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4555 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4575 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E30 SWAP2 SWAP1 PUSH2 0x457C JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x20E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x45B0 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x45C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x45DA DUP2 PUSH2 0x4590 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4623 JUMPI PUSH2 0x4623 PUSH2 0x45E5 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4644 JUMPI PUSH2 0x4644 PUSH2 0x45E5 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x465F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4674 PUSH2 0x466F DUP4 PUSH2 0x462B JUMP JUMPDEST PUSH2 0x45FB JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4693 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x46B7 JUMPI DUP1 CALLDATALOAD PUSH2 0x46AA DUP2 PUSH2 0x4590 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4697 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x46D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x46E3 PUSH2 0x466F DUP4 PUSH2 0x462B JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4702 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x46B7 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4706 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4736 JUMPI PUSH2 0x4736 PUSH2 0x45E5 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4755 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4763 PUSH2 0x466F DUP3 PUSH2 0x471D JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x4778 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x47A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x47B6 PUSH2 0x466F DUP4 PUSH2 0x462B JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x47D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x46B7 JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x47F8 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4806 DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x4744 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x47D9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x4831 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4848 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4854 DUP13 DUP4 DUP14 ADD PUSH2 0x464E JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x486A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4876 DUP13 DUP4 DUP14 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP9 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x488C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4898 DUP13 DUP4 DUP14 ADD PUSH2 0x4795 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x48AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x48BA DUP13 DUP4 DUP14 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP5 POP PUSH2 0x48D6 PUSH1 0xC0 DUP13 ADD PUSH2 0x45A5 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x48EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x48F9 DUP12 DUP3 DUP13 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x491B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x45B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x494C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1725 DUP3 PUSH2 0x4922 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0x45B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x4987 PUSH1 0x20 DUP5 ADD PUSH2 0x4955 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x49AB JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4993 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x49CC DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4990 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1725 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x49B4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1725 DUP2 PUSH2 0x4590 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1725 DUP3 PUSH2 0x4955 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4A41 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x4A4C DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x4A5C DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4A7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A8A DUP8 DUP3 DUP9 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4AAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4AC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4ACF DUP9 DUP4 DUP10 ADD PUSH2 0x464E JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4AE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4AF1 DUP9 DUP4 DUP10 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4B07 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4B14 DUP8 DUP3 DUP9 ADD PUSH2 0x4795 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP4 SWAP5 PUSH1 0x60 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x4B4B JUMPI PUSH2 0x4B4B PUSH2 0x4B25 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1636 DUP3 DUP5 PUSH2 0x4B3B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4B70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4B7B DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0xA DUP4 LT PUSH2 0x4B9D JUMPI PUSH2 0x4B9D PUSH2 0x4B25 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4BB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4B7B DUP4 PUSH2 0x4955 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x20E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x45B0 DUP2 PUSH2 0x4BBF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1725 DUP2 PUSH2 0x4BBF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4C08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4C13 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4C2E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4C3A DUP6 DUP3 DUP7 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4C74 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4C58 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1725 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4C44 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x20E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4CB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x45DA DUP2 PUSH2 0x4C92 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4D1B JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x4D09 DUP6 DUP4 MLOAD PUSH2 0x49B4 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4CED JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4D3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4D51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x4D69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x4D8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD PUSH2 0x4D9E DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4DBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4DC6 DUP13 DUP4 DUP14 ADD PUSH2 0x4D28 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4DDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4DEB DUP13 DUP4 DUP14 ADD PUSH2 0x4D28 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4E04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP12 ADD SWAP2 POP DUP12 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4E18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4E27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP13 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x4E3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4E68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4E73 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP2 POP PUSH2 0x4987 PUSH1 0x20 DUP5 ADD PUSH2 0x4922 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4E97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x4EA9 DUP2 PUSH2 0x4C92 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4EC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4ED0 DUP8 DUP3 DUP9 ADD PUSH2 0x4D28 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4EF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4EFC DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4F18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x4F29 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x4F37 PUSH2 0x466F DUP3 PUSH2 0x462B JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x4F56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x4F7B JUMPI PUSH2 0x4F6C DUP5 PUSH2 0x4922 JUMP JUMPDEST DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x4F5B JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP PUSH2 0x4F8F PUSH1 0x40 DUP6 ADD PUSH2 0x4BCD JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4FAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4FB8 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4FC8 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4FF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x4FFC DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x500C DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5028 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5034 DUP10 DUP4 DUP11 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x504A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5056 DUP10 DUP4 DUP11 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x506C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5079 DUP9 DUP3 DUP10 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x509B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x50A6 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP3 POP PUSH2 0x50B4 PUSH1 0x20 DUP6 ADD PUSH2 0x4922 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x50C4 DUP2 PUSH2 0x4BBF JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x50E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x50F0 DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4EC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x512A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5141 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x514D DUP10 DUP4 DUP11 ADD PUSH2 0x464E JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x516F DUP10 DUP4 DUP11 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5191 DUP10 DUP4 DUP11 ADD PUSH2 0x4795 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x506C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x51C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x51EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5202 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x520E DUP12 DUP4 DUP13 ADD PUSH2 0x464E JUMP JUMPDEST SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5224 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5230 DUP12 DUP4 DUP13 ADD PUSH2 0x46C2 JUMP JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5252 DUP12 DUP4 DUP13 ADD PUSH2 0x4795 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5268 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5275 DUP11 DUP3 DUP12 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP5 SWAP8 PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP7 PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP7 POP PUSH1 0xC0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x52AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x52BA DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x52CA DUP2 PUSH2 0x4590 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x52F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5079 DUP9 DUP3 DUP10 ADD PUSH2 0x4744 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4C74 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x532A JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP4 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x5397 JUMPI DUP3 DUP5 SUB DUP10 MSTORE PUSH2 0x5385 DUP5 DUP4 MLOAD PUSH2 0x49B4 JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x536D JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 MSTORE PUSH2 0x53B8 DUP2 DUP5 ADD DUP13 PUSH2 0x5316 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x53CC DUP2 DUP12 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x53E0 DUP2 DUP11 PUSH2 0x534F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x53F4 DUP2 DUP10 PUSH2 0x49B4 JUMP JUMPDEST PUSH1 0x80 DUP5 ADD DUP9 SWAP1 MSTORE PUSH1 0xA0 DUP5 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0xC0 DUP6 ADD MSTORE DUP4 DUP2 SUB PUSH1 0xE0 DUP6 ADD MSTORE SWAP1 POP PUSH2 0x5425 DUP2 DUP6 PUSH2 0x49B4 JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5446 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP2 ADD PUSH2 0x545B DUP3 DUP6 PUSH2 0x4B3B JUMP JUMPDEST DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x547C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x549C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP2 MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x54C6 SWAP1 DUP4 ADD DUP8 PUSH2 0x5316 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x54D8 DUP2 DUP8 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x54EC DUP2 DUP7 PUSH2 0x534F JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5510 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x551E PUSH2 0x466F DUP3 PUSH2 0x471D JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x5533 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5544 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4990 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x555E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5574 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5544 DUP5 DUP3 DUP6 ADD PUSH2 0x54FF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5592 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1725 DUP2 PUSH2 0x4C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH2 0x1725 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4B3B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x55D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1725 DUP2 PUSH2 0x4590 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x560B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x561C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x562A PUSH2 0x466F DUP3 PUSH2 0x462B JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP8 DUP4 GT ISZERO PUSH2 0x5649 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x5667 JUMPI DUP4 MLOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x564E JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5685 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x569C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x56B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x56BE PUSH2 0x466F DUP3 PUSH2 0x462B JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP9 DUP4 GT ISZERO PUSH2 0x56DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 ADD JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5715 JUMPI DUP1 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x56F9 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5707 DUP12 DUP10 DUP4 DUP11 ADD ADD PUSH2 0x54FF JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x56E1 JUMP JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST DUP10 DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP12 AND DUP2 DUP5 ADD MSTORE PUSH1 0xC0 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x5774 PUSH1 0xC0 DUP5 ADD DUP11 DUP13 PUSH2 0x5722 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE PUSH2 0x5787 DUP2 DUP10 DUP12 PUSH2 0x5722 JUMP JUMPDEST DUP5 DUP2 SUB PUSH1 0x80 DUP7 ADD MSTORE DUP7 DUP2 MSTORE SWAP1 POP DUP2 DUP2 ADD PUSH1 0x5 DUP8 SWAP1 SHL DUP3 ADD DUP4 ADD DUP9 PUSH1 0x0 JUMPDEST DUP10 DUP2 LT ISZERO PUSH2 0x5813 JUMPI DUP5 DUP4 SUB PUSH1 0x1F NOT ADD DUP5 MSTORE DUP2 CALLDATALOAD CALLDATASIZE DUP13 SWAP1 SUB PUSH1 0x1E NOT ADD DUP2 SLT PUSH2 0x57CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP12 ADD DUP7 DUP2 ADD SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x57E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATASIZE SUB DUP3 SGT ISZERO PUSH2 0x57F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57FF DUP6 DUP3 DUP5 PUSH2 0x5722 JUMP JUMPDEST SWAP6 DUP9 ADD SWAP6 SWAP5 POP POP POP SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x57A4 JUMP JUMPDEST POP POP DUP7 ISZERO ISZERO PUSH1 0xA0 DUP8 ADD MSTORE SWAP4 POP PUSH2 0x5828 SWAP3 POP POP POP JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP6 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xFF DUP5 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x5667 SWAP1 DUP4 ADD DUP5 DUP7 PUSH2 0x5722 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x587C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1725 DUP2 PUSH2 0x4BBF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP1 DUP4 ADD DUP3 SWAP1 MSTORE DUP5 MLOAD SWAP2 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP6 DUP3 ADD SWAP2 SWAP1 PUSH1 0x80 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x58DA JUMPI DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x58B4 JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 ISZERO ISZERO PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5904 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1725 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 MSTORE DUP7 ISZERO ISZERO PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xE0 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x596F SWAP1 DUP4 ADD DUP9 PUSH2 0x5316 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x5981 DUP2 DUP9 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x5995 DUP2 DUP8 PUSH2 0x534F JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0xA0 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x5828 DUP2 DUP6 PUSH2 0x49B4 JUMP JUMPDEST PUSH1 0xE0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x59C2 PUSH1 0xE0 DUP4 ADD DUP11 PUSH2 0x5316 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x59D4 DUP2 DUP11 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x59E8 DUP2 DUP10 PUSH2 0x534F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x59FC DUP2 DUP9 PUSH2 0x49B4 JUMP JUMPDEST PUSH1 0x80 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0xA0 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xC0 SWAP1 SWAP2 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD PUSH2 0x5A75 DUP3 DUP7 PUSH2 0x4B3B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 DUP1 DUP3 MSTORE DUP6 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0xA0 DUP5 ADD SWAP1 DUP3 DUP10 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5AC8 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5AA3 JUMP JUMPDEST POP POP POP DUP4 DUP2 SUB DUP3 DUP6 ADD MSTORE PUSH2 0x5ADC DUP2 DUP9 PUSH2 0x4C44 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x40 DUP6 ADD MSTORE DUP1 DUP7 MLOAD DUP1 DUP4 MSTORE DUP4 DUP4 ADD SWAP2 POP DUP4 DUP2 PUSH1 0x5 SHL DUP5 ADD ADD DUP5 DUP10 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5B2D JUMPI PUSH1 0x1F NOT DUP7 DUP5 SUB ADD DUP6 MSTORE PUSH2 0x5B1B DUP4 DUP4 MLOAD PUSH2 0x49B4 JUMP JUMPDEST SWAP5 DUP8 ADD SWAP5 SWAP3 POP SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5AFF JUMP JUMPDEST POP POP DUP1 SWAP6 POP POP POP POP POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1636 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5B79 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4990 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID PUSH6 0x75630003027B SIGNEXTEND 0x2F 0xC4 LOG4 DUP12 0xC3 SWAP14 0xBC RETURNDATACOPY 0xBA SWAP13 CREATE2 PUSH6 0x88C696A6F571 PUSH31 0x167A0CE731C7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CD 0xAE 0xB6 GT MLOAD DUP2 0xD2 CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC65D7A28E3265B37A647492 SWAP16 CALLER PUSH6 0x21B332C1681B SWAP4 EXTCODEHASH PUSH13 0xB9F3376673440D862A87E72189 LOG3 0xEA MOD SWAP8 SWAP7 0xDA 0xB5 0xC7 0xD3 DUP3 PUSH6 0x81F957CB5C88 0x2C 0x1E PUSH14 0xAE7ACACEC49CA48E56AF926AA384 0x5D 0x4D 0xC6 GASPRICE PUSH13 0x773ED36F51794728C97EBCD1BF DUP5 JUMPDEST 0xCE 0xCB AND 0xEE 0xB6 0xB7 ORIGIN 0xC 0xC9 SHR AND 0xC4 0x22 PUSH19 0x679CAB4152F867E0CD4A98F53556DA2D53B4E5 ISZERO 0xBE DUP13 PUSH24 0x96737570706F72743D627261766F2671756F72756D3D666F PUSH19 0x2C6162737461696E2C616761696E7374A26469 PUSH17 0x66735822122002AC80797A0444E5830333 0xC0 CALL 0x29 CREATE MUL 0xED 0xD2 BYTE SMOD 0x24 0xBC CALLDATALOAD 0xDC SWAP2 0xD5 0xB1 CODECOPY 0xCD 0xD8 RETURNDATACOPY LOG2 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"7641:49936:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12147:4;12101:34;:32;:34::i;:::-;-1:-1:-1;;;;;12101:51:97;;12097:104;;12169:25;;-1:-1:-1;;;12169:25:97;;;;;;;;;;;12097:104;7641:49936;;;;;28846:146;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;38971:129;;;;;;;;;;-1:-1:-1;38971:129:97;;;;;:::i;:::-;;:::i;45562:548::-;;;;;;;;;;-1:-1:-1;45562:548:97;;;;;:::i;:::-;;:::i;:::-;;;5994:25:150;;;5982:2;5967:18;45562:548:97;5848:177:150;49792:158:97;;;;;;;;;;-1:-1:-1;49792:158:97;;;;;:::i;:::-;;:::i;55678:305::-;;;;;;;;;;-1:-1:-1;55678:305:97;;;;;:::i;:::-;;:::i;:::-;;;6843:14:150;;6836:22;6818:41;;6806:2;6791:18;55678:305:97;6678:187:150;31403:238:97;;;;;;;;;;-1:-1:-1;31403:238:97;;;;;:::i;:::-;;:::i;20521:204::-;;;;;;;;;;;;;:::i;52661:275::-;;;;;;;;;;-1:-1:-1;52661:275:97;;;;;:::i;:::-;;:::i;39620:181::-;;;;;;;;;;-1:-1:-1;39620:181:97;;;;;:::i;:::-;;:::i;24790:174::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;44791:218::-;;;;;;;;;;-1:-1:-1;44791:218:97;;;;;:::i;:::-;;:::i;31822:210::-;;;;;;;;;;-1:-1:-1;31822:210:97;;;;;:::i;:::-;;:::i;14554:152::-;;;;;;;;;;-1:-1:-1;14554:152:97;;;;;:::i;:::-;;:::i;56746:256::-;;;;;;;;;;-1:-1:-1;56746:256:97;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;9611:33:150;;;9593:52;;9581:2;9566:18;56746:256:97;9449:202:150;35806:283:97;;;;;;;;;;-1:-1:-1;35806:283:97;;;;;:::i;:::-;;:::i;16389:279::-;;;;;;;;;;-1:-1:-1;16389:279:97;;;;;:::i;:::-;;:::i;50476:174::-;;;;;;;;;;-1:-1:-1;50476:174:97;;;;;:::i;:::-;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;36427:338:97:-;;;;;;:::i;:::-;;:::i;30080:185::-;;;;;;;;;;-1:-1:-1;30080:185:97;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;15759:146::-;;;;;;;;;;-1:-1:-1;15759:146:97;;;;;:::i;:::-;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;9786:522:97:-;;;;;;;;;;-1:-1:-1;9786:522:97;;;;;:::i;:::-;;:::i;42368:176::-;;;;;;;;;;-1:-1:-1;42368:176:97;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;8277:84:97:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8277:84:97;;51502:270;;;;;;;;;;-1:-1:-1;51502:270:97;;;;;:::i;:::-;;:::i;43187:221::-;;;;;;;;;;-1:-1:-1;43187:221:97;;;;;:::i;:::-;;:::i;13924:170::-;;;;;;;;;;-1:-1:-1;13924:170:97;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;34258:71::-;;;;;;;;;;;;;:::i;54500:267::-;;;;;;;;;;-1:-1:-1;54500:267:97;;;;;:::i;:::-;;:::i;22761:150::-;;;;;;;;;;-1:-1:-1;22761:150:97;;;;;:::i;:::-;;:::i;17979:109::-;;;;;;;;;;;;;:::i;41548:214::-;;;;;;;;;;-1:-1:-1;41548:214:97;;;;;:::i;:::-;;:::i;24529:161::-;;;;;;;;;;-1:-1:-1;24529:161:97;;;;;:::i;:::-;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;32289:252:97:-;;;;;;;;;;-1:-1:-1;32289:252:97;;;;;:::i;:::-;;:::i;3705:134:3:-;;;;;;;;;;;;;:::i;30904:223:97:-;;;;;;;;;;-1:-1:-1;30904:223:97;;;;;:::i;:::-;;:::i;22076:201::-;;;;;;;;;;-1:-1:-1;22076:201:97;;;;;:::i;:::-;;:::i;:::-;;;;14079:25:150;;;14135:2;14120:18;;14113:34;;;;14163:18;;;14156:34;14067:2;14052:18;22076:201:97;13877:319:150;50014:156:97;;;;;;;;;;-1:-1:-1;50014:156:97;;;;;:::i;:::-;;:::i;25799:79::-;;;;;;;;;;-1:-1:-1;25862:11:97;;;;;;;;;;;;-1:-1:-1;;;25862:11:97;;;;25799:79;;29775:131;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;37740:164::-;;;;;;;;;;-1:-1:-1;37740:164:97;;;;;:::i;:::-;;:::i;28292:110::-;;;;;;;;;;;;;:::i;51008:178::-;;;;;;;;;;-1:-1:-1;51008:178:97;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;27484:165::-;;;;;;;;;;-1:-1:-1;27484:165:97;;;;;:::i;:::-;;:::i;2692:145:12:-;;;;;;;;;;;;;:::i;21547:226:97:-;;;;;;;;;;-1:-1:-1;21547:226:97;;;;;:::i;:::-;;:::i;19229:140::-;;;;;;;;;;-1:-1:-1;19229:140:97;;;;;:::i;:::-;;:::i;50719:200::-;;;;;;;;;;-1:-1:-1;50719:200:97;;;;;:::i;:::-;;:::i;48871:452::-;;;;;;;;;;-1:-1:-1;48871:452:97;;;;;:::i;:::-;;:::i;30463:221::-;;;;;;;;;;-1:-1:-1;30463:221:97;;;;;:::i;:::-;;:::i;33746:292::-;;;;;;;;;;-1:-1:-1;33746:292:97;;;;;:::i;:::-;;:::i;29343:152::-;;;;;;;;;;;;;:::i;52069:299::-;;;;;;;;;;-1:-1:-1;52069:299:97;;;;;:::i;:::-;;:::i;19921:200::-;;;;;;;;;;-1:-1:-1;19921:200:97;;;;;:::i;:::-;;:::i;42769:180::-;;;;;;;;;;-1:-1:-1;42769:180:97;;;;;:::i;:::-;;:::i;38174:202::-;;;;;;;;;;-1:-1:-1;38174:202:97;;;;;:::i;:::-;;:::i;14257:135::-;;;;;;;;;;;;;:::i;25122:160::-;;;;;;;;;;;;;:::i;34141:67::-;;;;;;;;;;;;;:::i;23803:161::-;;;;;;;;;;-1:-1:-1;23803:161:97;;;;;:::i;:::-;;:::i;49518:130::-;;;;;;;;;;-1:-1:-1;49518:130:97;;;;;:::i;:::-;;:::i;15168:148::-;;;;;;;;;;-1:-1:-1;15168:148:97;;;;;:::i;:::-;;:::i;23466:154::-;;;;;;;;;;-1:-1:-1;23466:154:97;;;;;:::i;:::-;;:::i;41104:288::-;;;;;;;;;;-1:-1:-1;41104:288:97;;;;;:::i;:::-;;:::i;3732:207:0:-;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;17704:92:97:-;;;;;;;;;;;;;:::i;:::-;;;20869:14:150;20857:27;;;20839:46;;20827:2;20812:18;17704:92:97;20695:196:150;8122:100:97;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8122:100:97;;19555:118;;;;;;;;;;-1:-1:-1;3160:3:105;19555:118:97;17979:109;20947:121;;;;;;;;;;-1:-1:-1;20947:121:97;;;;;:::i;:::-;;:::i;40049:136::-;;;;;;;;;;;;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;27762:134:97;;;;;;;;;;;;;:::i;25525:168::-;;;;;;;;;;-1:-1:-1;25525:168:97;;;;;:::i;:::-;;:::i;54987:177::-;;;;;;;;;;-1:-1:-1;54987:177:97;;;;;:::i;:::-;;:::i;18858:114::-;;;;;;;;;;;;;:::i;8745:652::-;;;;;;;;;;-1:-1:-1;8745:652:97;;;;;:::i;:::-;;:::i;43782:192::-;;;;;;;;;;-1:-1:-1;43782:192:97;;;;;:::i;:::-;;:::i;13599:151::-;;;;;;;;;;-1:-1:-1;13599:151:97;;;;;:::i;:::-;;:::i;14859:142::-;;;;;;;;;;-1:-1:-1;14859:142:97;;;;;:::i;:::-;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;53681:198:97;;;;;;;;;;-1:-1:-1;53681:198:97;;;;;:::i;:::-;;:::i;42014:170::-;;;;;;;;;;-1:-1:-1;42014:170:97;;;;;:::i;:::-;;:::i;44103:208::-;;;;;;;;;;-1:-1:-1;44103:208:97;;;;;:::i;:::-;;:::i;17310:181::-;;;;;;;;;;-1:-1:-1;17310:181:97;;;;;:::i;:::-;;:::i;38636:166::-;;;;;;;;;;-1:-1:-1;38636:166:97;;;;;:::i;:::-;;:::i;57256:319::-;;;;;;;;;;-1:-1:-1;57256:319:97;;;;;:::i;:::-;;:::i;7832:104::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7832:104:97;;40499:275;;;;;;;;;;-1:-1:-1;40499:275:97;;;;;:::i;:::-;;:::i;16068:146::-;;;;;;;;;;-1:-1:-1;16068:146:97;;;;;:::i;:::-;;:::i;46677:150::-;;;;;;;;;;-1:-1:-1;46677:150:97;;;;;:::i;:::-;;:::i;23082:151::-;;;;;;;;;;-1:-1:-1;23082:151:97;;;;;:::i;:::-;;:::i;12779:286::-;;;;;;:::i;:::-;;:::i;50247:149::-;;;;;;;;;;-1:-1:-1;50247:149:97;;;;;:::i;:::-;;:::i;20231:188::-;;;;;;;;;;;;;:::i;46411:162::-;;;;;;;;;;-1:-1:-1;46411:162:97;;;;;:::i;:::-;;:::i;27024:271::-;;;;;;;;;;-1:-1:-1;27024:271:97;;;;;:::i;:::-;;:::i;33371:204::-;;;;;;;;;;;;;:::i;28533:193::-;;;;;;;;;;;;;:::i;21242:137::-;;;;;;;;;;-1:-1:-1;21242:137:97;;;;;:::i;:::-;;:::i;53999:203::-;;;;;;;;;;-1:-1:-1;53999:203:97;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;22421:123:97:-;;;;;;;;;;;;;:::i;37106:417::-;;;;;;;;;;-1:-1:-1;37106:417:97;;;;;:::i;:::-;;:::i;53273:291::-;;;;;;;;;;-1:-1:-1;53273:291:97;;;;;:::i;:::-;;:::i;29124:149::-;;;;;;;;;;;;;:::i;28044:157::-;;;;;;;;;;;;;:::i;39266:121::-;;;;;;;;;;-1:-1:-1;39266:121:97;;;;;:::i;:::-;;:::i;32747:209::-;;;;;;;;;;-1:-1:-1;32747:209:97;;;;;:::i;:::-;;:::i;7991:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7991:62:97;;35014:456;;;;;;;;;;-1:-1:-1;35014:456:97;;;;;:::i;:::-;;:::i;16871:151::-;;;;;;;;;;-1:-1:-1;16871:151:97;;;;;:::i;:::-;;:::i;48080:442::-;;;;;;;;;;-1:-1:-1;48080:442:97;;;;;:::i;:::-;;:::i;29570:137::-;;;;;;;;;;;;;:::i;33062:201::-;;;;;;;;;;;;;:::i;56232:267::-;;;;;;;;;;-1:-1:-1;56232:267:97;;;;;:::i;:::-;;:::i;44443:213::-;;;;;;;;;;-1:-1:-1;44443:213:97;;;;;:::i;:::-;;:::i;24135:138::-;;;;;;;;;;-1:-1:-1;24135:138:97;;;;;:::i;:::-;;:::i;18590:126::-;;;;;;;;;;-1:-1:-1;18590:126:97;;;;;:::i;:::-;;:::i;18198:167::-;;;;;;;;;;;;;:::i;8444:94::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8444:94:97;;2639:185:103;2682:7;2697:46;2746:41;:39;:41::i;:::-;2808:10;;;-1:-1:-1;;;;;2808:10:103;;2639:185;-1:-1:-1;;2639:185:103:o;28846:146:97:-;28897:17;28929:41;:39;:41::i;:::-;:58;;;-1:-1:-1;;;;;28929:58:97;;28846:146;-1:-1:-1;28846:146:97:o;38971:129::-;39043:52;;-1:-1:-1;;;39043:52:97;;:20;;:29;;:52;;39073:10;;39085:9;;39043:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38971:129;;:::o;45562:548::-;45883:222;;-1:-1:-1;;;45883:222:97;;45855:7;;45883:21;;:34;;:222;;45927:7;;45944:6;;45960:9;;45979:11;;46000:12;;46022:13;;46045:14;;46069:28;;45883:222;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;45870:235;45562:548;-1:-1:-1;;;;;;;;;45562:548:97:o;49792:158::-;49884:61;;-1:-1:-1;;;49884:61:97;;;;;5994:25:150;;;49862:7:97;;49884:31;;:49;;5967:18:150;;49884:61:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;49877:68;49792:158;-1:-1:-1;;49792:158:97:o;55678:305::-;55798:4;-1:-1:-1;;;;;;55823:46:97;;-1:-1:-1;;;55823:46:97;;:105;;-1:-1:-1;;;;;;;55879:49:97;;-1:-1:-1;;;55879:49:97;55823:105;:155;;;-1:-1:-1;;;;;;;55938:40:97;;-1:-1:-1;;;55938:40:97;55810:168;55678:305;-1:-1:-1;;55678:305:97:o;31403:238::-;31535:7;31557:19;:40;31598:11;31617:17;31611:24;;;;;;;;:::i;:::-;31557:79;;-1:-1:-1;;;;;;31557:79:97;;;;;;;;;;33489:25:150;;;;33562:4;33550:17;33530:18;;;33523:45;33462:18;;31557:79:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31550:86;31403:238;-1:-1:-1;;;31403:238:97:o;20521:204::-;20568:7;20583:46;20632:41;:39;:41::i;:::-;20583:90;;20686:1;:19;;;;;;;;;;-1:-1:-1;;;;;20686:19:97;-1:-1:-1;;;;;20686:32:97;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20679:41;;;20521:204;:::o;52661:275::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;1040:14:11;;11498:4:97;11424:39;:80::i;:::-;52841:90:::1;::::0;-1:-1:-1;;;52841:90:97;;:20:::1;::::0;:51:::1;::::0;:90:::1;::::0;52893:17;;52912:18;;52841:90:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;52661:275:::0;;;:::o;39620:181::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;39735:61:::1;::::0;-1:-1:-1;;;39735:61:97;;::::1;::::0;::::1;5994:25:150::0;;;39735:19:97::1;::::0;:41:::1;::::0;5967:18:150;;39735:61:97::1;5848:177:150::0;24790:174:97;24829:13;24850:46;24899:41;:39;:41::i;:::-;24850:90;;24953:1;:6;;24946:13;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24790:174;:::o;44791:218::-;-1:-1:-1;;;;;;;;;;;11395:27:97;8179:43;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;44939:65:::1;::::0;-1:-1:-1;;;44939:65:97;;:20:::1;::::0;:42:::1;::::0;:65:::1;::::0;44982:21;;44939:65:::1;;;:::i;31822:210::-:0;31930:7;31952:19;:49;32008:17;32002:24;;;;;;;;:::i;:::-;31952:75;;-1:-1:-1;;;;;;31952:75:97;;;;;;;34688:4:150;34676:17;;;31952:75:97;;;34658:36:150;34631:18;;31952:75:97;34508:192:150;14554:152:97;14629:7;14651:50;14690:10;14651:38;:50::i;56746:256::-;56837:6;56901:4;56855:34;:32;:34::i;:::-;-1:-1:-1;;;;;56855:51:97;;56851:104;;56923:25;;-1:-1:-1;;;56923:25:97;;;;;;;;;;;56851:104;-1:-1:-1;;;;56746:256:97;;;;;;:::o;35806:283::-;35975:7;2316:19:12;:17;:19::i;:::-;35997:87:97::1;::::0;-1:-1:-1;;;35997:87:97;;:21:::1;::::0;:27:::1;::::0;:87:::1;::::0;36033:4:::1;::::0;36040:7;;36049:6;;36057:9;;36068:15;;35997:87:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35990:94:::0;35806:283;-1:-1:-1;;;;;35806:283:97:o;16389:279::-;16497:7;16512:46;16561:41;:39;:41::i;:::-;16512:90;;16615:1;:29;;:48;16645:17;16615:48;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16608:55;;;16389:279;;;:::o;50476:174::-;50579:66;;-1:-1:-1;;;50579:66:97;;;;;5994:25:150;;;50551:13:97;;50579:31;;:54;;5967:18:150;;50579:66:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;50579:66:97;;;;;;;;;;;;:::i;4759:191:0:-;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;36427:338:97:-;36649:7;2316:19:12;:17;:19::i;:::-;-1:-1:-1;;;;;;;;;;;11837:25:97::1;11845:4;11859:1;11837:7;:25::i;:::-;11832:77;;11872:30;11883:4:::0;966:10:11;11872::97::1;:30::i;:::-;36671:89:::2;::::0;-1:-1:-1;;;36671:89:97;;:21:::2;::::0;:29:::2;::::0;:89:::2;::::0;36709:4:::2;::::0;36716:7;;36725:6;;36733:9;;36744:15;;36671:89:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36664:96:::0;36427:338;-1:-1:-1;;;;;;36427:338:97:o;30080:185::-;30213:46;;-1:-1:-1;;;30213:46:97;;;;;5994:25:150;;;30145:26:97;;30213:21;;:34;;5967:18:150;;30213:46:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30186:74;;;;;;;;;;:::i;15759:146::-;15850:50;;-1:-1:-1;;;15850:50:97;;;;;5994:25:150;;;15828:7:97;;15850:21;;:38;;5967:18:150;;15850:50:97;5848:177:150;5246:136:0;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;9786:522:97:-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;9943:1:::1;6357:30:2;6390:26;:24;:26::i;:::-;6431:15:::0;;;;-1:-1:-1;;;;6431:15:2;::::1;;;::::0;:44:::1;;-1:-1:-1::0;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;::::1;:14:::0;::::1;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1::0;;;6498:23:2::1;;;;;;;;;;;6427:105;6541:24:::0;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;::::1;6575:22:::0;-1:-1:-1;;;6575:22:2::1;::::0;;-1:-1:-1;;;;;9960:32:97;::::2;9952:75;;;::::0;-1:-1:-1;;;9952:75:97;;36817:2:150;9952:75:97::2;::::0;::::2;36799:21:150::0;36856:2;36836:18;;;36829:30;36895:32;36875:18;;;36868:60;36945:18;;9952:75:97::2;;;;;;;;;10071:1;10041:27;:31;10033:82;;;::::0;-1:-1:-1;;;10033:82:97;;37176:2:150;10033:82:97::2;::::0;::::2;37158:21:150::0;37215:2;37195:18;;;37188:30;37254:34;37234:18;;;37227:62;-1:-1:-1;;;37305:18:150;;;37298:36;37351:19;;10033:82:97::2;36974:402:150::0;10033:82:97::2;10121:46;10170:41;:39;:41::i;:::-;10217:10;::::0;::::2;:22:::0;;-1:-1:-1;;;;;;10217:22:97::2;-1:-1:-1::0;;;;;10217:22:97;::::2;;::::0;;10245:28:::2;;:58:::0;;;-1:-1:-1;6618:23:2;;-1:-1:-1;;;;6618:23:2::1;::::0;;6656:20:::1;::::0;-1:-1:-1;;;;;;;;;;;6656:20:2;::::1;::::0;6668:7;;6656:20:::1;:::i;:::-;;;;;;;;6291:392;11510:1:97;9786:522:::0;;;:::o;42368:176::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;42479:60:::1;::::0;-1:-1:-1;;;42479:60:97;;::::1;::::0;::::1;5994:25:150::0;;;42479:20:97::1;::::0;:50:::1;::::0;5967:18:150;;42479:60:97::1;5848:177:150::0;6348:245:0;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;51502:270:97:-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;51681:86:::1;::::0;-1:-1:-1;;;51681:86:97;;:19:::1;::::0;:47:::1;::::0;:86:::1;::::0;51729:18;;51749:17;;51681:86:::1;;;:::i;43187:221::-:0;-1:-1:-1;;;;;;;;;;;11395:27:97;8179:43;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;43340:63:::1;::::0;-1:-1:-1;;;43340:63:97;;:20:::1;::::0;:41:::1;::::0;:63:::1;::::0;43382:20;;43340:63:::1;;;:::i;13924:170::-:0;14052:36;;-1:-1:-1;;;14052:36:97;;;;;5994:25:150;;;13982:27:97;;14052:18;;:24;;5967:18:150;;14052:36:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14024:65;;;;;;;;;;:::i;34258:71::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;34314:10:97::1;:8;:10::i;:::-;34258:71:::0;:::o;54500:267::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;54677:85:::1;54731:17;54750:11;54677:53;:85::i;22761:150::-:0;22839:4;22858:48;22886:10;22898:7;22858:27;:48::i;17979:109::-;18024:13;18052:18;:29;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18052:31:97;;;;;;;;;;;;:::i;:::-;18045:38;;17979:109;:::o;41548:214::-;-1:-1:-1;;;;;;;;;;;11395:27:97;7891:45;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;41681:76:::1;::::0;-1:-1:-1;;;41681:76:97;;6843:14:150;;6836:22;41681:76:97::1;::::0;::::1;6818:41:150::0;41681:33:97::1;::::0;:65:::1;::::0;6791:18:150;;41681:76:97::1;6678:187:150::0;24529:161:97;24610:7;24632:53;24668:10;24680:4;24632:35;:53::i;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;:::-;4158:214:::0;;:::o;32289:252:97:-;32428:7;32450:19;:49;32500:9;32517:17;32511:24;;;;;;;;:::i;3705:134:3:-;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;30904:223:97:-;31031:7;31053:69;31104:17;31053:50;:69::i;22076:201::-;22150:20;22172:16;22190:20;22225:47;22261:10;22225:35;:47::i;:::-;22218:54;;;;;;22076:201;;;;;:::o;50014:156::-;50105:60;;-1:-1:-1;;;50105:60:97;;;;;5994:25:150;;;50083:7:97;;50105:31;;:48;;5967:18:150;;50105:60:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;29775:131::-;29828:16;29859:21;:40;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29859:42:97;;;;;;;;;;;;:::i;37740:164::-;37833:66;;-1:-1:-1;;;37833:66:97;;;;;39751:25:150;;;966:10:11;39792:18:150;;;39785:60;39893:4;39881:17;;39861:18;;;39854:45;39935:3;39915:18;;;39908:31;37811:7:97;39955:19:150;;;39948:30;;;37811:7:97;37833:18;;:27;;39995:19:150;;37833:66:97;39479:541:150;28292:110:97;28331:5;28351:41;:39;:41::i;:::-;:46;;;-1:-1:-1;;;;;28351:46:97;;28292:110;-1:-1:-1;28292:110:97:o;51008:178::-;51114:67;;-1:-1:-1;;;51114:67:97;;;;;5994:25:150;;;51084:15:97;;51114:31;;:55;;5967:18:150;;51114:67:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;51114:67:97;;;;;;;;;;;;:::i;27484:165::-;27554:7;-1:-1:-1;;;;;;27638:4:97;2406:24:103;;:42;;;27576:68:97;2289:164:103;2692:145:12;2739:4;2755:25;2783:21;:19;:21::i;:::-;2821:9;;;;2692:145;-1:-1:-1;;2692:145:12:o;21547:226:97:-;21618:7;21633:46;21682:41;:39;:41::i;:::-;21736:32;;;;:20;;:32;;-1:-1:-1;;21736:32:97;;;;;21547:226::o;19229:140::-;19318:46;;-1:-1:-1;;;19318:46:97;;;;;5994:25:150;;;19296:7:97;;19318:19;;:35;;5967:18:150;;19318:46:97;5848:177:150;50719:200:97;50835:79;;-1:-1:-1;;;50835:79:97;;;;;5994:25:150;;;50807:13:97;;50835:31;;:67;;5967:18:150;;50835:79:97;5848:177:150;48871:452:97;2316:19:12;:17;:19::i;:::-;49096:31:97::1;:56;49160:10:::0;49178:5;49191:11;;49210:24;;49242:12;;49262:50:::1;-1:-1:-1::0;;;;;;;;;;;966:10:11;3732:207:0;:::i;49262:50:97:-:1;49096:222;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;48871:452:::0;;;;;;;;:::o;30463:221::-;30580:7;30602:20;:51;30660:17;30654:24;;;;;;;;:::i;33746:292::-;33865:7;33880:46;33929:41;:39;:41::i;:::-;33880:90;;33983:1;:31;;:50;34015:17;33983:50;;;;;;;;:::i;29343:152::-;29396:19;29430:41;:39;:41::i;:::-;:60;;;-1:-1:-1;;;;;29430:60:97;;29343:152;-1:-1:-1;29343:152:97:o;52069:299::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;52261:102:::1;::::0;-1:-1:-1;;;52261:102:97;;:20:::1;::::0;:62:::1;::::0;:102:::1;::::0;52324:17;;52343:19;;52261:102:::1;;;:::i;19921:200::-:0;20016:4;20035:81;20091:6;20099:16;20035:55;:81::i;42769:180::-;-1:-1:-1;;;;;;;;;;;11395:27:97;8179:43;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;42891:53:::1;::::0;-1:-1:-1;;;42891:53:97;;:20:::1;::::0;:36:::1;::::0;:53:::1;::::0;42928:15;;42891:53:::1;;;:::i;38174:202::-:0;38301:70;;-1:-1:-1;;;38301:70:97;;38279:7;;38301:18;;:27;;:70;;38329:10;;966::11;;38355:7:97;;38364:6;;;;38301:70;;;:::i;14257:135::-;14317:4;14336:21;:49;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;25122:160::-;25197:4;25216:18;:59;:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34141:67;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;34195:8:97::1;:6;:8::i;23803:161::-:0;23880:7;23902:57;23948:10;23902:45;:57::i;49518:130::-;2316:19:12;:17;:19::i;:::-;49588:55:97::1;::::0;-1:-1:-1;;;49588:55:97;;::::1;::::0;::::1;5994:25:150::0;;;49588:31:97::1;::::0;:43:::1;::::0;5967:18:150;;49588:55:97::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;49518:130:::0;:::o;15168:148::-;15237:7;15259:52;15300:10;15259:40;:52::i;23466:154::-;23541:4;23560:55;23604:10;23560:43;:55::i;41104:288::-;-1:-1:-1;;;;;;;;;;;11395:27:97;7891:45;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;41290:97:::1;::::0;-1:-1:-1;;;41290:97:97;;:33:::1;::::0;:55:::1;::::0;:97:::1;::::0;41346:6;;41354:17;;41373:13;;41290:97:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;41104:288:::0;;;;:::o;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;17704:92:97:-;17744:6;17765:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20947:121::-;21006:4;21025:38;21058:4;21025:32;:38::i;40049:136::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;40138:18:::1;:40;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;27762:134:::0;27809:13;27837:41;:39;:41::i;:::-;:54;;;;;;-1:-1:-1;;;;;27837:54:97;;;-1:-1:-1;27762:134:97:o;25525:168::-;25627:61;;-1:-1:-1;;;25627:61:97;;;;;5994:25:150;;;25608:4:97;;25627:18;;:52;;5967:18:150;;25627:61:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;54987:177::-;55097:62;;-1:-1:-1;;;55097:62:97;;55075:7;;55097:20;;:42;;:62;;55140:7;;55149:9;;55097:62;;;:::i;18858:114::-;18908:7;18930:19;:35;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8745:652::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;8965:1:::1;6357:30:2;6390:26;:24;:26::i;:::-;6431:15:::0;;;;-1:-1:-1;;;;6431:15:2;::::1;;;::::0;:44:::1;;-1:-1:-1::0;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;::::1;:14:::0;::::1;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1::0;;;6498:23:2::1;;;;;;;;;;;6427:105;6541:24:::0;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;::::1;6575:22:::0;-1:-1:-1;;;6575:22:2::1;::::0;;-1:-1:-1;;;;;8982:41:97;::::2;8974:94;;;::::0;-1:-1:-1;;;8974:94:97;;45890:2:150;8974:94:97::2;::::0;::::2;45872:21:150::0;45929:2;45909:18;;;45902:30;45968:34;45948:18;;;45941:62;-1:-1:-1;;;46019:18:150;;;46012:38;46067:19;;8974:94:97::2;45688:404:150::0;8974:94:97::2;-1:-1:-1::0;;;;;9082:42:97;::::2;9074:97;;;::::0;-1:-1:-1;;;9074:97:97;;46299:2:150;9074:97:97::2;::::0;::::2;46281:21:150::0;46338:2;46318:18;;;46311:30;46377:34;46357:18;;;46350:62;-1:-1:-1;;;46428:18:150;;;46421:40;46478:19;;9074:97:97::2;46097:406:150::0;9074:97:97::2;9177:61;::::0;-1:-1:-1;;;9177:61:97;;:20:::2;::::0;:41:::2;::::0;:61:::2;::::0;9219:18;;9177:61:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;9244:63:97::2;::::0;-1:-1:-1;;;9244:63:97;;:20:::2;::::0;-1:-1:-1;9244:42:97::2;::::0;-1:-1:-1;9244:63:97::2;::::0;9287:19;;9244:63:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;9313:79:97::2;::::0;-1:-1:-1;;;9313:79:97;;::::2;::::0;::::2;5994:25:150::0;;;9313:20:97::2;::::0;-1:-1:-1;9313:50:97::2;::::0;-1:-1:-1;5967:18:150;;9313:79:97::2;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;6618:23:2;;-1:-1:-1;;;;6618:23:2::1;::::0;;-1:-1:-1;;6656:20:2::1;::::0;-1:-1:-1;;;;;;;;;;;6656:20:2;::::1;::::0;6668:7;;6656:20:::1;:::i;:::-;;;;;;;;6291:392;11510:1:97;8745:652:::0;;;;:::o;43782:192::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;43921:48:::1;::::0;-1:-1:-1;;;43921:48:97;;:20:::1;::::0;:35:::1;::::0;:48:::1;::::0;43957:11;;43921:48:::1;;;:::i;13599:151::-:0;13691:54;;-1:-1:-1;;;13691:54:97;;;;;5994:25:150;;;13672:4:97;;13691:21;;:42;;5967:18:150;;13691:54:97;5848:177:150;14859:142:97;14929:7;14951:45;14985:10;14951:33;:45::i;53681:198::-;-1:-1:-1;;;;;;;;;;;11395:27:97;8179:43;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;53813:61:::1;::::0;-1:-1:-1;;;53813:61:97;;:20:::1;::::0;:44:::1;::::0;:61:::1;::::0;53858:15;;53813:61:::1;;;:::i;42014:170::-:0;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;42122:57:::1;::::0;-1:-1:-1;;;42122:57:97;;::::1;::::0;::::1;5994:25:150::0;;;42122:20:97::1;::::0;:38:::1;::::0;5967:18:150;;42122:57:97::1;5848:177:150::0;44103:208:97;-1:-1:-1;;;;;;;;;;;11395:27:97;8179:43;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;44245:61:::1;::::0;-1:-1:-1;;;44245:61:97;;:20:::1;::::0;:40:::1;::::0;:61:::1;::::0;44286:19;;44245:61:::1;;;:::i;17310:181::-:0;17424:62;;-1:-1:-1;;;17424:62:97;;17402:7;;17424:18;;:42;;:62;;17467:7;;17476:9;;17424:62;;;:::i;38636:166::-;38740:57;;-1:-1:-1;;;38740:57:97;;38718:7;;38740:18;;:36;;:57;;38777:10;;38789:7;;38740:57;;;:::i;57256:319::-;57404:6;57468:4;57422:34;:32;:34::i;:::-;-1:-1:-1;;;;;57422:51:97;;57418:104;;57490:25;;-1:-1:-1;;;57490:25:97;;;;;;;;;;;57418:104;-1:-1:-1;;;;57256:319:97;;;;;;;:::o;40499:275::-;-1:-1:-1;;;;;;;;;;;11395:27:97;7891:45;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;40674:95:::1;::::0;-1:-1:-1;;;40674:95:97;;-1:-1:-1;;;;;47716:32:150;;40674:95:97::1;::::0;::::1;47698:51:150::0;-1:-1:-1;;;;;;47785:33:150;;47765:18;;;47758:61;47862:14;;47855:22;47835:18;;;47828:50;40674:33:97::1;::::0;:54:::1;::::0;47671:18:150;;40674:95:97::1;47496:388:150::0;16068:146:97;16159:50;;-1:-1:-1;;;16159:50:97;;;;;5994:25:150;;;16137:7:97;;16159:21;;:38;;5967:18:150;;16159:50:97;5848:177:150;46677:150:97;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;46773:49:97::1;::::0;-1:-1:-1;;;46773:49:97;;::::1;::::0;::::1;5994:25:150::0;;;46773:21:97::1;::::0;:37:::1;::::0;5967:18:150;;46773:49:97::1;5848:177:150::0;23082:151:97;23154:7;23176:52;23217:10;23176:40;:52::i;12779:286::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;12935:12:::1;12949:23:::0;12976:6:::1;-1:-1:-1::0;;;;;12976:11:97::1;12996:5;13004:4;;12976:33;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12934:75;;;;13015:45;13040:7;13049:10;13015:24;:45::i;50247:149::-:0;50333:58;;-1:-1:-1;;;50333:58:97;;;;;5994:25:150;;;50314:4:97;;50333:31;;:46;;5967:18:150;;50333:58:97;5848:177:150;20231:188:97;20280:7;20295:46;20344:41;:39;:41::i;:::-;20398:16;;;;20231:188;-1:-1:-1;;20231:188:97:o;46411:162::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;46513:55:97::1;::::0;-1:-1:-1;;;46513:55:97;;::::1;::::0;::::1;5994:25:150::0;;;46513:21:97::1;::::0;:43:::1;::::0;5967:18:150;;46513:55:97::1;5848:177:150::0;27024:271:97;27189:7;27211:79;27246:7;27255:6;27263:9;27274:15;27211:34;:79::i;33371:204::-;33430:14;33452:46;33501:41;:39;:41::i;:::-;33555:15;;;-1:-1:-1;;;;;33555:15:97;;33371:204;-1:-1:-1;;33371:204:97:o;21242:137::-;21327:47;;-1:-1:-1;;;21327:47:97;;;;;5994:25:150;;;21308:4:97;;21327:19;;:35;;5967:18:150;;21327:47:97;5848:177:150;53999:203:97;-1:-1:-1;;;;;;;;;;;11395:27:97;8179:43;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;54134:63:::1;::::0;-1:-1:-1;;;54134:63:97;;:20:::1;::::0;:45:::1;::::0;:63:::1;::::0;54180:16;;54134:63:::1;;;:::i;5662:138:0:-:0;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;22421:123:97:-:0;22469:13;22490:49;;;;;;;;;;;;;;;;;;;22421:123;:::o;37106:417::-;37288:7;37316:21;:28;966:10:11;37376:41:97;2362:4:0;966:10:11;3732:207:0;:::i;37376:41:97:-;37427:7;37444:6;37460:9;37479:15;37504:6;37316:202;;;;;;;;;;;;;;;;;;;;;:::i;53273:291::-;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;53461:98:::1;::::0;-1:-1:-1;;;53461:98:97;;:20:::1;::::0;:55:::1;::::0;:98:::1;::::0;53517:17;;53536:22;;53461:98:::1;;;:::i;29124:149::-:0;29176:18;29209:41;:39;:41::i;:::-;:59;;;-1:-1:-1;;;;;29209:59:97;;29124:149;-1:-1:-1;29124:149:97:o;28044:157::-;28096:26;28137:41;:39;:41::i;:::-;:59;;;-1:-1:-1;;;;;28137:59:97;;28044:157;-1:-1:-1;28044:157:97:o;39266:121::-;39334:48;;-1:-1:-1;;;39334:48:97;;;;;49702:25:150;;;49743:18;;;49736:34;;;39334:20:97;;:28;;49675:18:150;;39334:48:97;49520:256:150;32747:209:97;32867:7;32889:62;32933:17;32889:43;:62::i;35014:456::-;35263:7;2316:19:12;:17;:19::i;:::-;35291:174:97::1;::::0;-1:-1:-1;;;35291:174:97;;:21:::1;::::0;:29:::1;::::0;:174:::1;::::0;35330:7;;35347:6;;35363:9;;35382:11;;35403:12;;35425:13;;35448:9;;35291:174:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35278:187:::0;35014:456;-1:-1:-1;;;;;;;;35014:456:97:o;16871:151::-;16948:7;16970:47;16998:7;17007:9;16970:27;:47::i;48080:442::-;2316:19:12;:17;:19::i;:::-;48300:31:97::1;:51;48359:10:::0;48377:5;48390:11;;48409:24;;48441:12;;48461:50:::1;-1:-1:-1::0;;;;;;;;;;;966:10:11;3732:207:0;:::i;29570:137:97:-;29631:7;29653:49;:47;:49::i;33062:201::-;33120:13;33141:46;33190:41;:39;:41::i;:::-;33244:14;;;-1:-1:-1;;;;;33244:14:97;;33062:201;-1:-1:-1;;33062:201:97:o;56232:267::-;56333:6;56397:4;56351:34;:32;:34::i;:::-;-1:-1:-1;;;;;56351:51:97;;56347:104;;56419:25;;-1:-1:-1;;;56419:25:97;;;;;;;;;;;56347:104;-1:-1:-1;;;;56232:267:97;;;;;;;:::o;44443:213::-;-1:-1:-1;;;;;;;;;;;11395:27:97;8179:43;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;11424:80:97;44588:63:::1;::::0;-1:-1:-1;;;44588:63:97;;:20:::1;::::0;:41:::1;::::0;:63:::1;::::0;44630:20;;44588:63:::1;;;:::i;24135:138::-:0;24199:7;24221:47;24257:10;24221:35;:47::i;18590:126::-;18672:39;;-1:-1:-1;;;18672:39:97;;;;;5994:25:150;;;18650:7:97;;18672:19;;:26;;5967:18:150;;18672:39:97;5848:177:150;18198:167:97;18238:5;18251:46;18300:41;:39;:41::i;:::-;18354:6;;;-1:-1:-1;;;;;18354:6:97;;18198:167;-1:-1:-1;;18198:167:97:o;2697:146:107:-;2810:23;;2697:146::o;3230:550:103:-;3348:46;3397:41;:39;:41::i;:::-;3348:90;;3462:6;-1:-1:-1;;;;;3448:20:103;:10;:8;:10::i;:::-;-1:-1:-1;;;;;3448:20:103;;3444:76;;3506:6;3485:28;;-1:-1:-1;;;3485:28:103;;;;;;;;:::i;3444:76::-;3543:15;-1:-1:-1;;;;;3529:29:103;:10;:8;:10::i;:::-;-1:-1:-1;;;;;3529:29:103;;3525:251;;3568:19;3600:4;;3590:15;;;;;;;:::i;:::-;;;;;;;;3568:37;;3717:53;3755:11;3724:27;:1;:16;;:25;:27::i;:::-;:42;3717:53;;3560:216;3342:438;3230:550;;;;:::o;6721:232:104:-;6798:7;6813:46;6862:41;:39;:41::i;:::-;6916:23;;;;:11;;:23;;-1:-1:-1;;6916:23:104;;;:32;-1:-1:-1;;;;;6916:32:104;;6721:232::o;2905:128:12:-;2970:8;:6;:8::i;:::-;2966:61;;;3001:15;;-1:-1:-1;;;3001:15:12;;;;;;;;;;;2966:61;2905:128::o;2787:177:0:-;2920:28;;2787:177::o;4381:197::-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;4148:103::-;4214:30;4225:4;966:10:11;11872::97::1;:30::i;7270:387:0:-:0;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;8737:170:2;8870:21;;8737:170::o;7892:388:0:-;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;3674:178:12;2563:16;:14;:16::i;:::-;3732:25:::1;3760:21;:19;:21::i;:::-;3791:17:::0;;-1:-1:-1;;3791:17:12::1;::::0;;;-1:-1:-1;3823:22:12::1;966:10:11::0;3832:12:12::1;3823:22;;;;;;:::i;:::-;;;;;;;;3722:130;3674:178::o:0;19135:753:100:-;19271:46;19320:41;:39;:41::i;:::-;19271:90;;19367:19;19389:1;:14;;;;;;;;;;-1:-1:-1;;;;;19389:14:100;-1:-1:-1;;;;;19389:24:100;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19367:48;;19421:26;19450:1;:31;;:50;19482:17;19450:50;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19421:79;;19521:60;19563:17;19521:41;:60::i;:::-;19506:134;;;;-1:-1:-1;;;19506:134:100;;;;;;;:::i;:::-;19665:11;19651;:25;19647:86;;;19693:33;;-1:-1:-1;;;19693:33:100;;;;;5994:25:150;;;5967:18;;19693:33:100;5848:177:150;19647:86:100;19743:70;19762:17;19781:18;19801:11;19743:70;;;;;;;;:::i;:::-;;;;;;;;19872:11;19819:1;:31;;:50;19851:17;19819:50;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;19819:50:100;:64;-1:-1:-1;;;;;19135:753:100:o;9174:243:109:-;9252:4;9264:46;9313:41;:39;:41::i;:::-;9367:27;;;;:15;;:27;;;;;;;;-1:-1:-1;;;;;9367:45:109;;;;;;:36;;;;:45;;-1:-1:-1;;9367:45:109;;;;;;9174:243::o;6923:244:101:-;7016:7;7031:46;7080:41;:39;:41::i;:::-;7134:22;;;;:10;;:22;;;;;;;;-1:-1:-1;;;;;7134:28:101;;;;;;;;;-1:-1:-1;;7134:28:101;;;;6923:244::o;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;55361:115:97;2362:4:0;11395:27:97;2362:4:0;966:10:11;3732:207:0;:::i;11395:27:97:-;11390:114;;11424:80;966:10:11;11464:12:97;887:96:11;6052:538:3;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;5994:25:150;;;5967:18;;6312:34:3;5848:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;16150:397:100;16253:7;16268:46;16317:41;:39;:41::i;:::-;16268:90;;16372:55;16414:12;16372:41;:55::i;:::-;16364:111;;;;-1:-1:-1;;;16364:111:100;;;;;;;:::i;:::-;16488:1;:40;;:54;16529:12;16488:54;;;;;;;;:::i;9712:413:109:-;9789:20;9811:16;9829:20;9857:46;9906:41;:39;:41::i;:::-;9953:47;10003:27;;;:15;;:27;;-1:-1:-1;;10003:27:109;;;;10044:25;;10071:21;;;;10094:25;;;;;10044;;10071:21;;-1:-1:-1;10094:25:109;-1:-1:-1;9712:413:109:o;1147:162:12:-;1270:23;;1147:162::o;3757:275:102:-;3864:4;3876:46;3925:41;:39;:41::i;:::-;-1:-1:-1;;;;;3979:30:102;;;;;;:22;;;;:30;;;;;;;;-1:-1:-1;;;;;;3979:48:102;;;;;;;;;;;;;-1:-1:-1;;3757:275:102;;;;:::o;3366:176:12:-;2316:19;:17;:19::i;:::-;3425:25:::1;3453:21;:19;:21::i;:::-;3484:16:::0;;-1:-1:-1;;3484:16:12::1;3496:4;3484:16;::::0;;3425:49;-1:-1:-1;3515:20:12::1;3522:12;966:10:11::0;;887:96;7350:248:101;7435:7;7450:46;7499:41;:39;:41::i;:::-;7553:23;;;;:11;;:23;;-1:-1:-1;;7553:23:101;;;:40;;;;7350:248::o;7498:242:104:-;7577:7;7592:46;7641:41;:39;:41::i;:::-;7695:23;;;;:11;;;;:23;;;;;;:40;;;;;7498:242;-1:-1:-1;;7498:242:104:o;8286:329:101:-;8369:4;8381:46;8430:41;:39;:41::i;:::-;8477:43;8523:23;;;:11;;:23;;-1:-1:-1;;8523:23:101;;;8585:25;;;;8559:22;;;;;:51;;;8286:329::o;10301:200:109:-;10361:4;10373:46;10422:41;:39;:41::i;:::-;-1:-1:-1;;;;;10476:20:109;;;;;;;:14;;;;:20;;-1:-1:-1;;10476:20:109;;;;;;;10301:200::o;7121:229:104:-;7193:7;7208:46;7257:41;:39;:41::i;:::-;7311:23;;;;:11;;:23;;-1:-1:-1;;7311:23:104;;;:34;;;-1:-1:-1;;;7311:34:104;;;;;7121:229::o;7803:240:101:-;7883:7;7898:46;7947:41;:39;:41::i;:::-;8001:23;;;;:11;;:23;;-1:-1:-1;;8001:23:101;;;:37;;;;7803:240::o;5407:224:32:-;5495:12;5524:7;5519:106;;5547:19;5555:10;5547:7;:19::i;:::-;5519:106;;;-1:-1:-1;5604:10:32;5597:17;;6298:269:104;6465:7;6516;6525:6;6533:9;6544:15;6505:55;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6505:55:104;;;;;;;;;6495:66;;6505:55;6495:66;;;;;6298:269;-1:-1:-1;;;;;6298:269:104:o;17045:383:100:-;17141:7;17156:46;17205:41;:39;:41::i;:::-;17156:90;;17260:55;17302:12;17260:41;:55::i;:::-;17252:111;;;;-1:-1:-1;;;17252:111:100;;;;;;;:::i;:::-;17376:1;:33;;:47;17410:12;17376:47;;;;;;;;:::i;7612:840:109:-;7689:7;7704:46;7753:41;:39;:41::i;:::-;7821:6;;;;:39;;-1:-1:-1;;;7821:39:109;;7704:90;;-1:-1:-1;7800:18:109;;-1:-1:-1;;;;;7821:6:109;;;;:19;;:39;;7841:7;;7850:9;;7821:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7879:19;;;;7800:60;;-1:-1:-1;;;;;;7879:19:109;7867:65;;7922:10;-1:-1:-1;7915:17:109;;-1:-1:-1;7915:17:109;7867:65;8031:19;;;;:63;;-1:-1:-1;;;8031:63:109;;8106:1;;-1:-1:-1;;;;;8031:19:109;;:43;;:63;;8075:7;;8084:9;;8031:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8031:77:109;;8027:174;;8125:19;;;;:69;;-1:-1:-1;;;8125:69:109;;-1:-1:-1;;;;;8125:19:109;;;;:49;;:69;;8175:7;;8184:9;;8125:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8118:76;;;;;;8027:174;8358:19;;;;:66;;-1:-1:-1;;;8358:66:109;;-1:-1:-1;;;;;8358:19:109;;;;:46;;:66;;8405:7;;8414:9;;8358:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8344:80;;;;:::i;18975:156:100:-;19036:7;19058:41;:39;:41::i;:::-;:68;;;19051:75;;18975:156;:::o;9326:222:104:-;9400:7;9415:46;9464:41;:39;:41::i;:::-;9518:25;;;;:13;;:25;;-1:-1:-1;;9518:25:104;;;;;9326:222::o;3419:358:40:-;3553:12;;3483:13;;-1:-1:-1;;;;;3553:12:40;;;;-1:-1:-1;;;3597:10:40;;;3583:24;;3579:49;;3616:12;;-1:-1:-1;;;3616:12:40;;;;;;;;;;;3579:49;-1:-1:-1;;;;;3650:23:40;;;;;;;:11;;;;:23;;;;;;;3687:30;;;3731:29;;-1:-1:-1;;;;;;3731:29:40;3746:14;;3731:29;;;;;;;;;;-1:-1:-1;3650:23:40;3419:358::o;3105:126:12:-;3168:8;:6;:8::i;:::-;3163:62;;3199:15;;-1:-1:-1;;;3199:15:12;;;;;;;;;;;39283:241:104;39381:4;;39406:17;:56;;;;;;;;:::i;:::-;;:113;;;-1:-1:-1;39487:32:104;39466:17;:53;;;;;;;;:::i;:::-;;39393:126;39283:241;-1:-1:-1;;39283:241:104:o;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;5743:516:32:-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;2186:281:24;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;4625:582:32;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;4625:582;-1:-1:-1;;4625:582:32:o;14:230:150:-;-1:-1:-1;;;;;205:32:150;;;;187:51;;175:2;160:18;;14:230::o;249:131::-;-1:-1:-1;;;;;324:31:150;;314:42;;304:70;;370:1;367;360:12;385:134;453:20;;482:31;453:20;482:31;:::i;:::-;385:134;;;:::o;524:315::-;592:6;600;653:2;641:9;632:7;628:23;624:32;621:52;;;669:1;666;659:12;621:52;705:9;692:23;682:33;;765:2;754:9;750:18;737:32;778:31;803:5;778:31;:::i;:::-;828:5;818:15;;;524:315;;;;;:::o;844:127::-;905:10;900:3;896:20;893:1;886:31;936:4;933:1;926:15;960:4;957:1;950:15;976:275;1047:2;1041:9;1112:2;1093:13;;-1:-1:-1;;1089:27:150;1077:40;;-1:-1:-1;;;;;1132:34:150;;1168:22;;;1129:62;1126:88;;;1194:18;;:::i;:::-;1230:2;1223:22;976:275;;-1:-1:-1;976:275:150:o;1256:183::-;1316:4;-1:-1:-1;;;;;1338:30:150;;1335:56;;;1371:18;;:::i;:::-;-1:-1:-1;1416:1:150;1412:14;1428:4;1408:25;;1256:183::o;1444:737::-;1498:5;1551:3;1544:4;1536:6;1532:17;1528:27;1518:55;;1569:1;1566;1559:12;1518:55;1605:6;1592:20;1631:4;1655:60;1671:43;1711:2;1671:43;:::i;:::-;1655:60;:::i;:::-;1749:15;;;1835:1;1831:10;;;;1819:23;;1815:32;;;1780:12;;;;1859:15;;;1856:35;;;1887:1;1884;1877:12;1856:35;1923:2;1915:6;1911:15;1935:217;1951:6;1946:3;1943:15;1935:217;;;2031:3;2018:17;2048:31;2073:5;2048:31;:::i;:::-;2092:18;;2130:12;;;;1968;;1935:217;;;-1:-1:-1;2170:5:150;1444:737;-1:-1:-1;;;;;;1444:737:150:o;2186:662::-;2240:5;2293:3;2286:4;2278:6;2274:17;2270:27;2260:55;;2311:1;2308;2301:12;2260:55;2347:6;2334:20;2373:4;2397:60;2413:43;2453:2;2413:43;:::i;2397:60::-;2491:15;;;2577:1;2573:10;;;;2561:23;;2557:32;;;2522:12;;;;2601:15;;;2598:35;;;2629:1;2626;2619:12;2598:35;2665:2;2657:6;2653:15;2677:142;2693:6;2688:3;2685:15;2677:142;;;2759:17;;2747:30;;2797:12;;;;2710;;2677:142;;2853:186;2901:4;-1:-1:-1;;;;;2923:30:150;;2920:56;;;2956:18;;:::i;:::-;-1:-1:-1;3022:2:150;3001:15;-1:-1:-1;;2997:29:150;3028:4;2993:40;;2853:186::o;3044:462::-;3086:5;3139:3;3132:4;3124:6;3120:17;3116:27;3106:55;;3157:1;3154;3147:12;3106:55;3193:6;3180:20;3224:48;3240:31;3268:2;3240:31;:::i;3224:48::-;3297:2;3288:7;3281:19;3343:3;3336:4;3331:2;3323:6;3319:15;3315:26;3312:35;3309:55;;;3360:1;3357;3350:12;3309:55;3425:2;3418:4;3410:6;3406:17;3399:4;3390:7;3386:18;3373:55;3473:1;3448:16;;;3466:4;3444:27;3437:38;;;;3452:7;3044:462;-1:-1:-1;;;3044:462:150:o;3511:886::-;3563:5;3616:3;3609:4;3601:6;3597:17;3593:27;3583:55;;3634:1;3631;3624:12;3583:55;3670:6;3657:20;3696:4;3720:60;3736:43;3776:2;3736:43;:::i;3720:60::-;3814:15;;;3900:1;3896:10;;;;3884:23;;3880:32;;;3845:12;;;;3924:15;;;3921:35;;;3952:1;3949;3942:12;3921:35;3988:2;3980:6;3976:15;4000:368;4016:6;4011:3;4008:15;4000:368;;;4089:17;;-1:-1:-1;;;;;4122:35:150;;4119:125;;;4198:1;4227:2;4223;4216:14;4119:125;4269:56;4321:3;4316:2;4302:11;4294:6;4290:24;4286:33;4269:56;:::i;:::-;4257:69;;-1:-1:-1;4346:12:150;;;;4033;;4000:368;;4402:1441;4628:6;4636;4644;4652;4660;4668;4676;4684;4737:3;4725:9;4716:7;4712:23;4708:33;4705:53;;;4754:1;4751;4744:12;4705:53;4781:23;;-1:-1:-1;;;;;4853:14:150;;;4850:34;;;4880:1;4877;4870:12;4850:34;4903:61;4956:7;4947:6;4936:9;4932:22;4903:61;:::i;:::-;4893:71;;5017:2;5006:9;5002:18;4989:32;4973:48;;5046:2;5036:8;5033:16;5030:36;;;5062:1;5059;5052:12;5030:36;5085:63;5140:7;5129:8;5118:9;5114:24;5085:63;:::i;:::-;5075:73;;5201:2;5190:9;5186:18;5173:32;5157:48;;5230:2;5220:8;5217:16;5214:36;;;5246:1;5243;5236:12;5214:36;5269:61;5322:7;5311:8;5300:9;5296:24;5269:61;:::i;:::-;5259:71;;5383:2;5372:9;5368:18;5355:32;5339:48;;5412:2;5402:8;5399:16;5396:36;;;5428:1;5425;5418:12;5396:36;5451:51;5494:7;5483:8;5472:9;5468:24;5451:51;:::i;:::-;5441:61;;5549:3;5538:9;5534:19;5521:33;5511:43;;5601:3;5590:9;5586:19;5573:33;5563:43;;5625:39;5659:3;5648:9;5644:19;5625:39;:::i;:::-;5615:49;;5717:3;5706:9;5702:19;5689:33;5673:49;;5747:2;5737:8;5734:16;5731:36;;;5763:1;5760;5753:12;5731:36;;5786:51;5829:7;5818:8;5807:9;5803:24;5786:51;:::i;:::-;5776:61;;;4402:1441;;;;;;;;;;;:::o;6030:180::-;6089:6;6142:2;6130:9;6121:7;6117:23;6113:32;6110:52;;;6158:1;6155;6148:12;6110:52;-1:-1:-1;6181:23:150;;6030:180;-1:-1:-1;6030:180:150:o;6215:173::-;6282:20;;-1:-1:-1;;;;;;6331:32:150;;6321:43;;6311:71;;6378:1;6375;6368:12;6393:184;6451:6;6504:2;6492:9;6483:7;6479:23;6475:32;6472:52;;;6520:1;6517;6510:12;6472:52;6543:28;6561:9;6543:28;:::i;6870:153::-;6948:20;;6997:1;6987:12;;6977:40;;7013:1;7010;7003:12;7028:282;7114:6;7122;7175:2;7163:9;7154:7;7150:23;7146:32;7143:52;;;7191:1;7188;7181:12;7143:52;7227:9;7214:23;7204:33;;7256:48;7300:2;7289:9;7285:18;7256:48;:::i;:::-;7246:58;;7028:282;;;;;:::o;7315:250::-;7400:1;7410:113;7424:6;7421:1;7418:13;7410:113;;;7500:11;;;7494:18;7481:11;;;7474:39;7446:2;7439:10;7410:113;;;-1:-1:-1;;7557:1:150;7539:16;;7532:27;7315:250::o;7570:271::-;7612:3;7650:5;7644:12;7677:6;7672:3;7665:19;7693:76;7762:6;7755:4;7750:3;7746:14;7739:4;7732:5;7728:16;7693:76;:::i;:::-;7823:2;7802:15;-1:-1:-1;;7798:29:150;7789:39;;;;7830:4;7785:50;;7570:271;-1:-1:-1;;7570:271:150:o;7846:220::-;7995:2;7984:9;7977:21;7958:4;8015:45;8056:2;8045:9;8041:18;8033:6;8015:45;:::i;8071:276::-;8159:6;8212:2;8200:9;8191:7;8187:23;8183:32;8180:52;;;8228:1;8225;8218:12;8180:52;8267:9;8254:23;8286:31;8311:5;8286:31;:::i;8352:214::-;8429:6;8482:2;8470:9;8461:7;8457:23;8453:32;8450:52;;;8498:1;8495;8488:12;8450:52;8521:39;8550:9;8521:39;:::i;8779:665::-;8874:6;8882;8890;8898;8951:3;8939:9;8930:7;8926:23;8922:33;8919:53;;;8968:1;8965;8958:12;8919:53;9007:9;8994:23;9026:31;9051:5;9026:31;:::i;:::-;9076:5;-1:-1:-1;9133:2:150;9118:18;;9105:32;9146:33;9105:32;9146:33;:::i;:::-;9198:7;-1:-1:-1;9252:2:150;9237:18;;9224:32;;-1:-1:-1;9307:2:150;9292:18;;9279:32;-1:-1:-1;;;;;9323:30:150;;9320:50;;;9366:1;9363;9356:12;9320:50;9389:49;9430:7;9421:6;9410:9;9406:22;9389:49;:::i;:::-;9379:59;;;8779:665;;;;;;;:::o;9656:897::-;9826:6;9834;9842;9850;9903:3;9891:9;9882:7;9878:23;9874:33;9871:53;;;9920:1;9917;9910:12;9871:53;9947:23;;-1:-1:-1;;;;;10019:14:150;;;10016:34;;;10046:1;10043;10036:12;10016:34;10069:61;10122:7;10113:6;10102:9;10098:22;10069:61;:::i;:::-;10059:71;;10183:2;10172:9;10168:18;10155:32;10139:48;;10212:2;10202:8;10199:16;10196:36;;;10228:1;10225;10218:12;10196:36;10251:63;10306:7;10295:8;10284:9;10280:24;10251:63;:::i;:::-;10241:73;;10367:2;10356:9;10352:18;10339:32;10323:48;;10396:2;10386:8;10383:16;10380:36;;;10412:1;10409;10402:12;10380:36;;10435:61;10488:7;10477:8;10466:9;10462:24;10435:61;:::i;:::-;9656:897;;;;-1:-1:-1;10425:71:150;;10543:2;10528:18;10515:32;;-1:-1:-1;;;9656:897:150:o;10925:127::-;10986:10;10981:3;10977:20;10974:1;10967:31;11017:4;11014:1;11007:15;11041:4;11038:1;11031:15;11057:143;11141:1;11134:5;11131:12;11121:46;;11147:18;;:::i;:::-;11176;;11057:143::o;11205:215::-;11355:2;11340:18;;11367:47;11344:9;11396:6;11367:47;:::i;11745:334::-;11832:6;11840;11893:2;11881:9;11872:7;11868:23;11864:32;11861:52;;;11909:1;11906;11899:12;11861:52;11948:9;11935:23;11967:31;11992:5;11967:31;:::i;:::-;12017:5;12069:2;12054:18;;;;12041:32;;-1:-1:-1;;;11745:334:150:o;12372:251::-;12523:2;12508:18;;12556:2;12545:14;;12535:48;;12563:18;;:::i;:::-;12592:25;;;12372:251;:::o;12628:282::-;12714:6;12722;12775:2;12763:9;12754:7;12750:23;12746:32;12743:52;;;12791:1;12788;12781:12;12743:52;12814:39;12843:9;12814:39;:::i;12915:118::-;13001:5;12994:13;12987:21;12980:5;12977:32;12967:60;;13023:1;13020;13013:12;13038:128;13103:20;;13132:28;13103:20;13132:28;:::i;13171:241::-;13227:6;13280:2;13268:9;13259:7;13255:23;13251:32;13248:52;;;13296:1;13293;13286:12;13248:52;13335:9;13322:23;13354:28;13376:5;13354:28;:::i;13417:455::-;13494:6;13502;13555:2;13543:9;13534:7;13530:23;13526:32;13523:52;;;13571:1;13568;13561:12;13523:52;13610:9;13597:23;13629:31;13654:5;13629:31;:::i;:::-;13679:5;-1:-1:-1;13735:2:150;13720:18;;13707:32;-1:-1:-1;;;;;13751:30:150;;13748:50;;;13794:1;13791;13784:12;13748:50;13817:49;13858:7;13849:6;13838:9;13834:22;13817:49;:::i;:::-;13807:59;;;13417:455;;;;;:::o;14201:435::-;14254:3;14292:5;14286:12;14319:6;14314:3;14307:19;14345:4;14374:2;14369:3;14365:12;14358:19;;14411:2;14404:5;14400:14;14432:1;14442:169;14456:6;14453:1;14450:13;14442:169;;;14517:13;;14505:26;;14551:12;;;;14586:15;;;;14478:1;14471:9;14442:169;;;-1:-1:-1;14627:3:150;;14201:435;-1:-1:-1;;;;;14201:435:150:o;14641:261::-;14820:2;14809:9;14802:21;14783:4;14840:56;14892:2;14881:9;14877:18;14869:6;14840:56;:::i;14907:114::-;14991:4;14984:5;14980:16;14973:5;14970:27;14960:55;;15011:1;15008;15001:12;15026:311;15092:6;15100;15153:2;15141:9;15132:7;15128:23;15124:32;15121:52;;;15169:1;15166;15159:12;15121:52;15205:9;15192:23;15182:33;;15265:2;15254:9;15250:18;15237:32;15278:29;15301:5;15278:29;:::i;15565:803::-;15727:4;15756:2;15796;15785:9;15781:18;15826:2;15815:9;15808:21;15849:6;15884;15878:13;15915:6;15907;15900:22;15953:2;15942:9;15938:18;15931:25;;16015:2;16005:6;16002:1;15998:14;15987:9;15983:30;15979:39;15965:53;;16053:2;16045:6;16041:15;16074:1;16084:255;16098:6;16095:1;16092:13;16084:255;;;16191:2;16187:7;16175:9;16167:6;16163:22;16159:36;16154:3;16147:49;16219:40;16252:6;16243;16237:13;16219:40;:::i;:::-;16209:50;-1:-1:-1;16317:12:150;;;;16282:15;;;;16120:1;16113:9;16084:255;;;-1:-1:-1;16356:6:150;;15565:803;-1:-1:-1;;;;;;;15565:803:150:o;16373:348::-;16425:8;16435:6;16489:3;16482:4;16474:6;16470:17;16466:27;16456:55;;16507:1;16504;16497:12;16456:55;-1:-1:-1;16530:20:150;;-1:-1:-1;;;;;16562:30:150;;16559:50;;;16605:1;16602;16595:12;16559:50;16642:4;16634:6;16630:17;16618:29;;16694:3;16687:4;16678:6;16670;16666:19;16662:30;16659:39;16656:59;;;16711:1;16708;16701:12;16656:59;16373:348;;;;;:::o;16726:1410::-;16884:6;16892;16900;16908;16916;16924;16932;16940;16993:3;16981:9;16972:7;16968:23;16964:33;16961:53;;;17010:1;17007;17000:12;16961:53;17046:9;17033:23;17023:33;;17106:2;17095:9;17091:18;17078:32;17119:31;17144:5;17119:31;:::i;:::-;17169:5;-1:-1:-1;17225:2:150;17210:18;;17197:32;-1:-1:-1;;;;;17278:14:150;;;17275:34;;;17305:1;17302;17295:12;17275:34;17344:59;17395:7;17386:6;17375:9;17371:22;17344:59;:::i;:::-;17422:8;;-1:-1:-1;17318:85:150;-1:-1:-1;17510:2:150;17495:18;;17482:32;;-1:-1:-1;17526:16:150;;;17523:36;;;17555:1;17552;17545:12;17523:36;17594:61;17647:7;17636:8;17625:9;17621:24;17594:61;:::i;:::-;17674:8;;-1:-1:-1;17568:87:150;-1:-1:-1;17762:3:150;17747:19;;17734:33;;-1:-1:-1;17779:16:150;;;17776:36;;;17808:1;17805;17798:12;17776:36;17846:8;17835:9;17831:24;17821:34;;17893:7;17886:4;17882:2;17878:13;17874:27;17864:55;;17915:1;17912;17905:12;17864:55;17955:2;17942:16;17981:2;17973:6;17970:14;17967:34;;;17997:1;17994;17987:12;17967:34;18050:7;18045:2;18035:6;18032:1;18028:14;18024:2;18020:23;18016:32;18013:45;18010:65;;;18071:1;18068;18061:12;18010:65;18102:2;18098;18094:11;18084:21;;18124:6;18114:16;;;;;16726:1410;;;;;;;;;;;:::o;18378:319::-;18445:6;18453;18506:2;18494:9;18485:7;18481:23;18477:32;18474:52;;;18522:1;18519;18512:12;18474:52;18561:9;18548:23;18580:31;18605:5;18580:31;:::i;:::-;18630:5;-1:-1:-1;18654:37:150;18687:2;18672:18;;18654:37;:::i;18977:610::-;19064:6;19072;19080;19088;19141:2;19129:9;19120:7;19116:23;19112:32;19109:52;;;19157:1;19154;19147:12;19109:52;19193:9;19180:23;19170:33;;19253:2;19242:9;19238:18;19225:32;19266:29;19289:5;19266:29;:::i;:::-;19314:5;-1:-1:-1;19370:2:150;19355:18;;19342:32;-1:-1:-1;;;;;19386:30:150;;19383:50;;;19429:1;19426;19419:12;19383:50;19468:59;19519:7;19510:6;19499:9;19495:22;19468:59;:::i;:::-;18977:610;;;;-1:-1:-1;19546:8:150;-1:-1:-1;;;;18977:610:150:o;19592:1098::-;19690:6;19698;19706;19759:2;19747:9;19738:7;19734:23;19730:32;19727:52;;;19775:1;19772;19765:12;19727:52;19814:9;19801:23;19833:31;19858:5;19833:31;:::i;:::-;19883:5;-1:-1:-1;19907:2:150;19945:18;;;19932:32;-1:-1:-1;;;;;19976:30:150;;19973:50;;;20019:1;20016;20009:12;19973:50;20042:22;;20095:4;20087:13;;20083:27;-1:-1:-1;20073:55:150;;20124:1;20121;20114:12;20073:55;20160:2;20147:16;20183:60;20199:43;20239:2;20199:43;:::i;20183:60::-;20277:15;;;20359:1;20355:10;;;;20347:19;;20343:28;;;20308:12;;;;20383:19;;;20380:39;;;20415:1;20412;20405:12;20380:39;20439:11;;;;20459:147;20475:6;20470:3;20467:15;20459:147;;;20541:22;20559:3;20541:22;:::i;:::-;20529:35;;20492:12;;;;20584;;;;20459:147;;;20625:5;20615:15;;;;;;;20649:35;20680:2;20669:9;20665:18;20649:35;:::i;:::-;20639:45;;19592:1098;;;;;:::o;21699:513::-;21833:6;21841;21849;21902:2;21890:9;21881:7;21877:23;21873:32;21870:52;;;21918:1;21915;21908:12;21870:52;21957:9;21944:23;21976:31;22001:5;21976:31;:::i;:::-;22026:5;-1:-1:-1;22083:2:150;22068:18;;22055:32;22096:33;22055:32;22096:33;:::i;:::-;21699:513;;22148:7;;-1:-1:-1;;;22202:2:150;22187:18;;;;22174:32;;21699:513::o;23061:1071::-;23215:6;23223;23231;23239;23247;23300:3;23288:9;23279:7;23275:23;23271:33;23268:53;;;23317:1;23314;23307:12;23268:53;23356:9;23343:23;23375:31;23400:5;23375:31;:::i;:::-;23425:5;-1:-1:-1;23482:2:150;23467:18;;23454:32;23495:33;23454:32;23495:33;:::i;:::-;23547:7;-1:-1:-1;23605:2:150;23590:18;;23577:32;-1:-1:-1;;;;;23658:14:150;;;23655:34;;;23685:1;23682;23675:12;23655:34;23708:61;23761:7;23752:6;23741:9;23737:22;23708:61;:::i;:::-;23698:71;;23822:2;23811:9;23807:18;23794:32;23778:48;;23851:2;23841:8;23838:16;23835:36;;;23867:1;23864;23857:12;23835:36;23890:63;23945:7;23934:8;23923:9;23919:24;23890:63;:::i;:::-;23880:73;;24006:3;23995:9;23991:19;23978:33;23962:49;;24036:2;24026:8;24023:16;24020:36;;;24052:1;24049;24042:12;24020:36;;24075:51;24118:7;24107:8;24096:9;24092:24;24075:51;:::i;:::-;24065:61;;;23061:1071;;;;;;;;:::o;24137:454::-;24210:6;24218;24226;24279:2;24267:9;24258:7;24254:23;24250:32;24247:52;;;24295:1;24292;24285:12;24247:52;24334:9;24321:23;24353:31;24378:5;24353:31;:::i;:::-;24403:5;-1:-1:-1;24427:37:150;24460:2;24445:18;;24427:37;:::i;:::-;24417:47;;24516:2;24505:9;24501:18;24488:32;24529:30;24551:7;24529:30;:::i;:::-;24578:7;24568:17;;;24137:454;;;;;:::o;24596:613::-;24684:6;24692;24700;24708;24761:2;24749:9;24740:7;24736:23;24732:32;24729:52;;;24777:1;24774;24767:12;24729:52;24816:9;24803:23;24835:31;24860:5;24835:31;:::i;:::-;24885:5;-1:-1:-1;24937:2:150;24922:18;;24909:32;;-1:-1:-1;24992:2:150;24977:18;;24964:32;-1:-1:-1;;;;;25008:30:150;;25005:50;;;25051:1;25048;25041:12;25722:1097;25911:6;25919;25927;25935;25943;25996:3;25984:9;25975:7;25971:23;25967:33;25964:53;;;26013:1;26010;26003:12;25964:53;26040:23;;-1:-1:-1;;;;;26112:14:150;;;26109:34;;;26139:1;26136;26129:12;26109:34;26162:61;26215:7;26206:6;26195:9;26191:22;26162:61;:::i;:::-;26152:71;;26276:2;26265:9;26261:18;26248:32;26232:48;;26305:2;26295:8;26292:16;26289:36;;;26321:1;26318;26311:12;26289:36;26344:63;26399:7;26388:8;26377:9;26373:24;26344:63;:::i;:::-;26334:73;;26460:2;26449:9;26445:18;26432:32;26416:48;;26489:2;26479:8;26476:16;26473:36;;;26505:1;26502;26495:12;26473:36;26528:61;26581:7;26570:8;26559:9;26555:24;26528:61;:::i;:::-;26518:71;;26636:2;26625:9;26621:18;26608:32;26598:42;;26693:3;26682:9;26678:19;26665:33;26649:49;;26723:2;26713:8;26710:16;26707:36;;;26739:1;26736;26729:12;27304:248;27372:6;27380;27433:2;27421:9;27412:7;27408:23;27404:32;27401:52;;;27449:1;27446;27439:12;27401:52;-1:-1:-1;;27472:23:150;;;27542:2;27527:18;;;27514:32;;-1:-1:-1;27304:248:150:o;27557:1235::-;27764:6;27772;27780;27788;27796;27804;27812;27865:3;27853:9;27844:7;27840:23;27836:33;27833:53;;;27882:1;27879;27872:12;27833:53;27909:23;;-1:-1:-1;;;;;27981:14:150;;;27978:34;;;28008:1;28005;27998:12;27978:34;28031:61;28084:7;28075:6;28064:9;28060:22;28031:61;:::i;:::-;28021:71;;28145:2;28134:9;28130:18;28117:32;28101:48;;28174:2;28164:8;28161:16;28158:36;;;28190:1;28187;28180:12;28158:36;28213:63;28268:7;28257:8;28246:9;28242:24;28213:63;:::i;:::-;28203:73;;28329:2;28318:9;28314:18;28301:32;28285:48;;28358:2;28348:8;28345:16;28342:36;;;28374:1;28371;28364:12;28342:36;28397:61;28450:7;28439:8;28428:9;28424:24;28397:61;:::i;:::-;28387:71;;28511:2;28500:9;28496:18;28483:32;28467:48;;28540:2;28530:8;28527:16;28524:36;;;28556:1;28553;28546:12;28524:36;;28579:51;28622:7;28611:8;28600:9;28596:24;28579:51;:::i;:::-;27557:1235;;;;-1:-1:-1;27557:1235:150;;28677:3;28662:19;;28649:33;;28729:3;28714:19;;28701:33;;-1:-1:-1;28781:3:150;28766:19;;;28753:33;;-1:-1:-1;27557:1235:150;-1:-1:-1;;;27557:1235:150:o;29028:734::-;29132:6;29140;29148;29156;29164;29217:3;29205:9;29196:7;29192:23;29188:33;29185:53;;;29234:1;29231;29224:12;29185:53;29273:9;29260:23;29292:31;29317:5;29292:31;:::i;:::-;29342:5;-1:-1:-1;29399:2:150;29384:18;;29371:32;29412:33;29371:32;29412:33;:::i;:::-;29464:7;-1:-1:-1;29518:2:150;29503:18;;29490:32;;-1:-1:-1;29569:2:150;29554:18;;29541:32;;-1:-1:-1;29624:3:150;29609:19;;29596:33;-1:-1:-1;;;;;29641:30:150;;29638:50;;;29684:1;29681;29674:12;29638:50;29707:49;29748:7;29739:6;29728:9;29724:22;29707:49;:::i;30270:282::-;30452:25;;;-1:-1:-1;;;;;30513:32:150;30508:2;30493:18;;30486:60;30440:2;30425:18;;30270:282::o;30557:461::-;30610:3;30648:5;30642:12;30675:6;30670:3;30663:19;30701:4;30730:2;30725:3;30721:12;30714:19;;30767:2;30760:5;30756:14;30788:1;30798:195;30812:6;30809:1;30806:13;30798:195;;;30877:13;;-1:-1:-1;;;;;30873:39:150;30861:52;;30933:12;;;;30968:15;;;;30909:1;30827:9;30798:195;;31023:615;31074:3;31112:5;31106:12;31139:6;31134:3;31127:19;31165:4;31206:2;31201:3;31197:12;31231:11;31258;31251:18;;31308:6;31305:1;31301:14;31294:5;31290:26;31278:38;;31350:2;31343:5;31339:14;31371:1;31381:231;31395:6;31392:1;31389:13;31381:231;;;31466:5;31460:4;31456:16;31451:3;31444:29;31494:38;31527:4;31518:6;31512:13;31494:38;:::i;:::-;31590:12;;;;31486:46;-1:-1:-1;31555:15:150;;;;31417:1;31410:9;31381:231;;;-1:-1:-1;31628:4:150;;31023:615;-1:-1:-1;;;;;;;31023:615:150:o;31643:1284::-;32147:4;32176:3;32206:2;32195:9;32188:21;32232:56;32284:2;32273:9;32269:18;32261:6;32232:56;:::i;:::-;32218:70;;32336:9;32328:6;32324:22;32319:2;32308:9;32304:18;32297:50;32370:44;32407:6;32399;32370:44;:::i;:::-;32356:58;;32462:9;32454:6;32450:22;32445:2;32434:9;32430:18;32423:50;32496:42;32531:6;32523;32496:42;:::i;:::-;32482:56;;32586:9;32578:6;32574:22;32569:2;32558:9;32554:18;32547:50;32620:33;32646:6;32638;32620:33;:::i;:::-;32684:3;32669:19;;32662:35;;;32728:3;32713:19;;32706:35;;;-1:-1:-1;;;;;32778:32:150;;32772:3;32757:19;;32750:61;32848:22;;;32842:3;32827:19;;32820:51;32606:47;-1:-1:-1;32888:33:150;32606:47;32906:6;32888:33;:::i;:::-;32880:41;31643:1284;-1:-1:-1;;;;;;;;;;;31643:1284:150:o;32932:184::-;33002:6;33055:2;33043:9;33034:7;33030:23;33026:32;33023:52;;;33071:1;33068;33061:12;33023:52;-1:-1:-1;33094:16:150;;32932:184;-1:-1:-1;32932:184:150:o;33579:294::-;33765:2;33750:18;;33777:47;33754:9;33806:6;33777:47;:::i;:::-;33860:6;33855:2;33844:9;33840:18;33833:34;33579:294;;;;;:::o;33878:380::-;33957:1;33953:12;;;;34000;;;34021:61;;34075:4;34067:6;34063:17;34053:27;;34021:61;34128:2;34120:6;34117:14;34097:18;34094:38;34091:161;;34174:10;34169:3;34165:20;34162:1;34155:31;34209:4;34206:1;34199:15;34237:4;34234:1;34227:15;34091:161;;33878:380;;;:::o;34705:864::-;-1:-1:-1;;;;;35122:32:150;;35104:51;;35142:3;35186:2;35171:18;;35164:31;;;-1:-1:-1;;35218:57:150;;35255:19;;35247:6;35218:57;:::i;:::-;35323:9;35315:6;35311:22;35306:2;35295:9;35291:18;35284:50;35357:44;35394:6;35386;35357:44;:::i;:::-;35343:58;;35449:9;35441:6;35437:22;35432:2;35421:9;35417:18;35410:50;35477:42;35512:6;35504;35477:42;:::i;:::-;35469:50;;;35556:6;35550:3;35539:9;35535:19;35528:35;34705:864;;;;;;;;:::o;35574:442::-;35628:5;35681:3;35674:4;35666:6;35662:17;35658:27;35648:55;;35699:1;35696;35689:12;35648:55;35728:6;35722:13;35759:48;35775:31;35803:2;35775:31;:::i;35759:48::-;35832:2;35823:7;35816:19;35878:3;35871:4;35866:2;35858:6;35854:15;35850:26;35847:35;35844:55;;;35895:1;35892;35885:12;35844:55;35908:77;35982:2;35975:4;35966:7;35962:18;35955:4;35947:6;35943:17;35908:77;:::i;:::-;36003:7;35574:442;-1:-1:-1;;;;35574:442:150:o;36021:337::-;36101:6;36154:2;36142:9;36133:7;36129:23;36125:32;36122:52;;;36170:1;36167;36160:12;36122:52;36197:16;;-1:-1:-1;;;;;36225:30:150;;36222:50;;;36268:1;36265;36258:12;36222:50;36291:61;36344:7;36335:6;36324:9;36320:22;36291:61;:::i;36363:247::-;36431:6;36484:2;36472:9;36463:7;36459:23;36455:32;36452:52;;;36500:1;36497;36490:12;36452:52;36532:9;36526:16;36551:29;36574:5;36551:29;:::i;37381:200::-;-1:-1:-1;;;;;37543:31:150;;;;37525:50;;37513:2;37498:18;;37381:200::o;37586:294::-;37784:25;;;37772:2;37757:18;;37818:56;37870:2;37855:18;;37847:6;37818:56;:::i;38337:251::-;38407:6;38460:2;38448:9;38439:7;38435:23;38431:32;38428:52;;;38476:1;38473;38466:12;38428:52;38508:9;38502:16;38527:31;38552:5;38527:31;:::i;38593:881::-;38688:6;38719:2;38762;38750:9;38741:7;38737:23;38733:32;38730:52;;;38778:1;38775;38768:12;38730:52;38805:16;;-1:-1:-1;;;;;38833:30:150;;38830:50;;;38876:1;38873;38866:12;38830:50;38899:22;;38952:4;38944:13;;38940:27;-1:-1:-1;38930:55:150;;38981:1;38978;38971:12;38930:55;39010:2;39004:9;39033:60;39049:43;39089:2;39049:43;:::i;39033:60::-;39127:15;;;39209:1;39205:10;;;;39197:19;;39193:28;;;39158:12;;;;39233:19;;;39230:39;;;39265:1;39262;39255:12;39230:39;39289:11;;;;39309:135;39325:6;39320:3;39317:15;39309:135;;;39391:10;;39379:23;;39342:12;;;;39422;;;;39309:135;;;39463:5;38593:881;-1:-1:-1;;;;;;;38593:881:150:o;40025:1134::-;40130:6;40161:2;40204;40192:9;40183:7;40179:23;40175:32;40172:52;;;40220:1;40217;40210:12;40172:52;40247:16;;-1:-1:-1;;;;;40312:14:150;;;40309:34;;;40339:1;40336;40329:12;40309:34;40377:6;40366:9;40362:22;40352:32;;40422:7;40415:4;40411:2;40407:13;40403:27;40393:55;;40444:1;40441;40434:12;40393:55;40473:2;40467:9;40496:60;40512:43;40552:2;40512:43;:::i;40496:60::-;40590:15;;;40672:1;40668:10;;;;40660:19;;40656:28;;;40621:12;;;;40696:19;;;40693:39;;;40728:1;40725;40718:12;40693:39;40760:2;40756;40752:11;40772:357;40788:6;40783:3;40780:15;40772:357;;;40867:3;40861:10;40903:2;40890:11;40887:19;40884:109;;;40947:1;40976:2;40972;40965:14;40884:109;41018:68;41078:7;41073:2;41059:11;41055:2;41051:20;41047:29;41018:68;:::i;:::-;41006:81;;-1:-1:-1;41107:12:150;;;;40805;;40772:357;;;-1:-1:-1;41148:5:150;40025:1134;-1:-1:-1;;;;;;;;40025:1134:150:o;41164:267::-;41253:6;41248:3;41241:19;41305:6;41298:5;41291:4;41286:3;41282:14;41269:43;-1:-1:-1;41357:1:150;41332:16;;;41350:4;41328:27;;;41321:38;;;;41413:2;41392:15;;;-1:-1:-1;;41388:29:150;41379:39;;;41375:50;;41164:267::o;41436:1825::-;41849:6;41838:9;41831:25;41812:4;41875:2;41942:1;41938;41933:3;41929:11;41925:19;41917:6;41913:32;41908:2;41897:9;41893:18;41886:60;41982:3;41977:2;41966:9;41962:18;41955:31;42009:63;42067:3;42056:9;42052:19;42044:6;42036;42009:63;:::i;:::-;42120:9;42112:6;42108:22;42103:2;42092:9;42088:18;42081:50;42154;42197:6;42189;42181;42154:50;:::i;:::-;42241:22;;;42235:3;42220:19;;42213:51;42299:22;;;42140:64;-1:-1:-1;42337:15:150;;;42395:1;42391:14;;;42379:27;;42375:36;;42434:6;42458:1;42468:711;42482:6;42479:1;42476:13;42468:711;;;42547:19;;;-1:-1:-1;;42543:33:150;42531:46;;42616:20;;42691:14;42687:27;;;-1:-1:-1;;42683:41:150;42659:66;;42649:94;;42739:1;42736;42729:12;42649:94;42769:31;;42874:14;;;;42827:19;-1:-1:-1;;;;;42904:30:150;;42901:50;;;42947:1;42944;42937:12;42901:50;43000:6;42984:14;42980:27;42971:7;42967:41;42964:61;;;43021:1;43018;43011:12;42964:61;43048:51;43092:6;43084;43075:7;43048:51;:::i;:::-;43157:12;;;;43038:61;-1:-1:-1;;;43122:15:150;;;;42504:1;42497:9;42468:711;;;-1:-1:-1;;6652:13:150;;6645:21;43250:3;43235:19;;6633:34;43196:6;-1:-1:-1;43211:44:150;;-1:-1:-1;;;6582:91:150;43211:44;41436:1825;;;;;;;;;;;;:::o;43505:503::-;43734:25;;;-1:-1:-1;;;;;43795:32:150;;43790:2;43775:18;;43768:60;43876:4;43864:17;;43859:2;43844:18;;43837:45;43918:3;43913:2;43898:18;;43891:31;;;-1:-1:-1;;43939:63:150;;43982:19;;43974:6;43966;43939:63;:::i;44013:245::-;44080:6;44133:2;44121:9;44112:7;44108:23;44104:32;44101:52;;;44149:1;44146;44139:12;44101:52;44181:9;44175:16;44200:28;44222:5;44200:28;:::i;44263:844::-;-1:-1:-1;;;;;44539:32:150;;44521:51;;44509:2;44591;44609:18;;;44602:30;;;44681:13;;44494:18;;;44703:22;;;44461:4;;44783:15;;;;44591:2;44756:3;44741:19;;;44461:4;44826:196;44840:6;44837:1;44834:13;44826:196;;;44905:13;;-1:-1:-1;;;;;;44901:40:150;44889:53;;44997:15;;;;44962:12;;;;44862:1;44855:9;44826:196;;;44830:3;;45039;45031:11;;;;;45092:6;45085:14;45078:22;45073:2;45062:9;45058:18;45051:50;44263:844;;;;;;:::o;45112:284::-;45181:6;45234:2;45222:9;45213:7;45209:23;45205:32;45202:52;;;45250:1;45247;45240:12;45202:52;45282:9;45276:16;45332:14;45325:5;45321:26;45314:5;45311:37;45301:65;;45362:1;45359;45352:12;45401:282;-1:-1:-1;;;;;45601:32:150;;;;45583:51;;45665:2;45650:18;;45643:34;45571:2;45556:18;;45401:282::o;47889:271::-;48072:6;48064;48059:3;48046:33;48028:3;48098:16;;48123:13;;;48098:16;47889:271;-1:-1:-1;47889:271:150:o;48405:1110::-;-1:-1:-1;;;;;48892:32:150;;48874:51;;48968:14;;48961:22;48956:2;48941:18;;48934:50;49020:3;49015:2;49000:18;;48993:31;;;-1:-1:-1;;49047:57:150;;49084:19;;49076:6;49047:57;:::i;:::-;49152:9;49144:6;49140:22;49135:2;49124:9;49120:18;49113:50;49186:44;49223:6;49215;49186:44;:::i;:::-;49172:58;;49279:9;49271:6;49267:22;49261:3;49250:9;49246:19;49239:51;49313:42;49348:6;49340;49313:42;:::i;:::-;49299:56;;49392:6;49386:3;49375:9;49371:19;49364:35;49448:9;49440:6;49436:22;49430:3;49419:9;49415:19;49408:51;49476:33;49502:6;49494;49476:33;:::i;49781:1074::-;50274:3;50263:9;50256:22;50237:4;50301:57;50353:3;50342:9;50338:19;50330:6;50301:57;:::i;:::-;50406:9;50398:6;50394:22;50389:2;50378:9;50374:18;50367:50;50440:44;50477:6;50469;50440:44;:::i;:::-;50426:58;;50532:9;50524:6;50520:22;50515:2;50504:9;50500:18;50493:50;50566:42;50601:6;50593;50566:42;:::i;:::-;50552:56;;50656:9;50648:6;50644:22;50639:2;50628:9;50624:18;50617:50;50684:33;50710:6;50702;50684:33;:::i;:::-;50748:3;50733:19;;50726:35;;;;-1:-1:-1;;50792:3:150;50777:19;;50770:35;;;;50836:3;50821:19;;;50814:35;50676:41;49781:1074;-1:-1:-1;;;;49781:1074:150:o;51139:407::-;51341:2;51323:21;;;51380:2;51360:18;;;51353:30;51419:34;51414:2;51399:18;;51392:62;-1:-1:-1;;;51485:2:150;51470:18;;51463:41;51536:3;51521:19;;51139:407::o;51551:357::-;51757:2;51742:18;;51769:47;51746:9;51798:6;51769:47;:::i;:::-;51847:2;51832:18;;51825:34;;;;51890:2;51875:18;51868:34;51551:357;;-1:-1:-1;51551:357:150:o;52102:1625::-;52494:3;52507:22;;;52578:13;;52479:19;;;52600:22;;;52446:4;;52676;;52653:3;52638:19;;;52703:15;;;52446:4;52746:195;52760:6;52757:1;52754:13;52746:195;;;52825:13;;-1:-1:-1;;;;;52821:39:150;52809:52;;52881:12;;;;52916:15;;;;52857:1;52775:9;52746:195;;;52750:3;;;52986:9;52981:3;52977:19;52972:2;52961:9;52957:18;52950:47;53020:41;53057:3;53049:6;53020:41;:::i;:::-;53006:55;;53109:9;53101:6;53097:22;53092:2;53081:9;53077:18;53070:50;53142:6;53179;53173:13;53210:8;53202:6;53195:24;53249:2;53241:6;53237:15;53228:24;;53310:2;53298:8;53295:1;53291:16;53283:6;53279:29;53275:38;53350:2;53342:6;53338:15;53373:1;53383:272;53399:8;53394:3;53391:17;53383:272;;;53497:2;53493:7;53484:6;53476;53472:19;53468:33;53461:5;53454:48;53525:42;53560:6;53549:8;53543:15;53525:42;:::i;:::-;53631:14;;;;53515:52;-1:-1:-1;53592:17:150;;;;53427:1;53418:11;53383:272;;;53387:3;;53672:6;53664:14;;;;;;;53714:6;53709:2;53698:9;53694:18;53687:34;52102:1625;;;;;;;:::o;54011:222::-;54076:9;;;54097:10;;;54094:133;;;54149:10;54144:3;54140:20;54137:1;54130:31;54184:4;54181:1;54174:15;54212:4;54209:1;54202:15;54238:287;54367:3;54405:6;54399:13;54421:66;54480:6;54475:3;54468:4;54460:6;54456:17;54421:66;:::i;:::-;54503:16;;;;;54238:287;-1:-1:-1;;54238:287:150:o"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","COUNTING_MODE()":"dd4e2ba5","DEFAULT_ADMIN_ROLE()":"a217fddf","GOVERNOR_FUNCTIONS_SETTINGS_ROLE()":"bd5aefea","PAUSER_ROLE()":"e63ab1e9","PROPOSAL_EXECUTOR_ROLE()":"36d23a4c","PROPOSAL_STATE_MANAGER_ROLE()":"fd4fd6e1","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","b3tr()":"582a486a","canProposalStartInNextRound()":"81ab2353","cancel(address[],uint256[],bytes[],bytes32,string)":"de65f41a","castNavigatorVote(uint256,address)":"b6e9eff4","castVote(uint256,uint8)":"56781388","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","claimPayout(uint256)":"8a69614e","clock()":"91ddadf4","deposit(uint256,uint256)":"e2bbb158","depositThresholdByProposalType(uint8)":"6b6a0704","depositThresholdCapByProposalType(uint8)":"e4ec85d4","depositThresholdPercentageByProposalType(uint8)":"542d6db5","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getActiveProposals()":"5584c4f9","getDepositVotingPower(address,uint256)":"a56b5765","getGalaxyMemberContract()":"f03a98d5","getGrantsManagerContract()":"cf09f8bf","getProposalBudget(uint256)":"01d6e78f","getProposalContributors(uint256)":"5b16e259","getProposalDeposits(uint256)":"c220f2f5","getProposalDescription(uint256)":"229acb17","getProposalImplementationDiscussion(uint256)":"656f3e40","getProposalPayee(uint256)":"5452a01b","getQuadraticVotingPower(address,uint256)":"b69d417b","getRequiredGMLevelByProposalType(uint8)":"6dd139be","getRoleAdmin(bytes32)":"248a9ca3","getTimelockId(uint256)":"f744f119","getUserDeposit(uint256,address)":"4e055244","getVotes(address,uint256)":"eb9019d4","governanceSkipWindowBlocks()":"ee8a948b","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","initializeV10(address,address,uint256)":"a832918c","initializeV11(address,uint256)":"33970a9d","isFunctionWhitelisted(address,bytes4)":"74a55a51","isProposalPaid(uint256)":"c305f59a","isQuadraticVotingDisabledForCurrentRound()":"81c0d6df","isQuadraticVotingDisabledForRound(uint256)":"a45aa313","markAsCompleted(uint256)":"c0a6026c","markAsInDevelopment(uint256,address,string,string,string[])":"ede8bed0","minVotingDelay()":"c40ffbf6","name()":"06fdde03","navigatorRegistry()":"e125f74e","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","pause()":"8456cb59","paused()":"5c975abb","proposalDeadline(uint256)":"c01f9e37","proposalDepositReached(uint256)":"8d5a3f67","proposalDepositThreshold(uint256)":"88fb07a5","proposalEta(uint256)":"ab58fb8e","proposalNeedsQueuing(uint256)":"a9a95294","proposalProposer(uint256)":"143489d0","proposalSnapshot(uint256)":"2d63f693","proposalStartRound(uint256)":"8ced2a11","proposalTotalVotes(uint256)":"60463d68","proposalType(uint256)":"2a09c772","proposalVotes(uint256)":"544ffc9c","propose(address[],uint256[],bytes[],string,uint256,uint256,uint256)":"eab59fd2","proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)":"013b1088","proxiableUUID()":"52d1902d","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","quorum(uint256)":"f8ce560a","quorumByProposalType(uint256,uint8)":"026865cc","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumNumeratorByProposalType(uint256,uint8)":"5273e74b","quorumNumeratorByProposalType(uint8)":"0eddee30","quorumReached(uint256)":"d4a8dd98","relay(address,uint256,bytes)":"c28bc2fa","relayerRewardsPool()":"6e8a1823","renounceRole(bytes32,address)":"36568abe","resetDevelopmentState(uint256)":"c429bd82","revokeRole(bytes32,address)":"d547741f","setGalaxyMember(address)":"ae0b8da8","setGovernanceSkipWindowBlocks(uint256)":"3397d78d","setGrantsManager(address)":"d53c74c1","setIsFunctionRestrictionEnabled(bool)":"4c5ead08","setMinVotingDelay(uint256)":"b26a9509","setNavigatorRegistry(address)":"f530108f","setProposalTypeDepositThresholdCap(uint256,uint8)":"e09c8d44","setProposalTypeDepositThresholdPercentage(uint256,uint8)":"726da5fd","setProposalTypeVotingThreshold(uint256,uint8)":"038f9b65","setRelayerRewardsPool(address)":"0dd8614c","setRequiredGMLevelByProposalType(uint8,uint256)":"406ced84","setVeBetterPassport(address)":"b3c93dab","setVoterRewards(address)":"7a4cce6d","setWhitelistFunction(address,bytes4,bool)":"be9bd92b","setWhitelistFunctions(address,bytes4[],bool)":"8e828cb4","setXAllocationVoting(address)":"3d47fe94","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","timelock()":"d33219b4","timelockSalt(bytes32)":"5c573d44","toggleQuadraticVoting()":"9c17e7b3","token()":"fc0c546a","unpause()":"3f4ba83a","updateCommunityExecution(uint256,address,string,string,string[])":"6a1423d7","updateQuorumNumerator(uint256)":"06f3f9e6","updateQuorumNumeratorByType(uint256,uint8)":"3d1ac63e","updateTimelock(address)":"a890c910","upgradeToAndCall(address,bytes)":"4f1ef286","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","votingThresholdByProposalType(uint8)":"1caf3474","withdraw(uint256,address)":"00f714ce","xAllocationVoting()":"e205aeb0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"DelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gmLevel\",\"type\":\"uint256\"}],\"name\":\"GMLevelAboveMaxLevel\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gmLevel\",\"type\":\"uint256\"}],\"name\":\"GMLevelAboveMaxLevel\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernanceSkipWindowNotReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorAlreadyQueuedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"GovernorDepositThresholdNotInRange\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorDisabledDeposit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"GovernorInsufficientProposerVotes\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidDepositAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldatas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"values\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposalLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredWeight\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidStartRound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidVoteType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"}],\"name\":\"GovernorNoDepositToWithdraw\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNotQueuedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"explanation\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorQueueNotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"GovernorRestrictedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"GovernorRestrictedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GranteeCannotDepositOwnGrant\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPayeeAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"MissingProposalBudget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorDecisionNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NotReadyToClaim\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"PayeesAlreadyFinalized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"PayoutAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"QueueEmpty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"TooManyContributors\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UnauthorizedAccess\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"UnauthorizedCommunityExecution\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThresholdCap\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThresholdCap\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdCapSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdSetV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"FunctionWhitelisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorGovernanceVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxBudget\",\"type\":\"uint256\"}],\"name\":\"ProposalBudgetSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"canceler\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"ProposalCanceledWithReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"contributors\",\"type\":\"string[]\"}],\"name\":\"ProposalContributorsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundIdVoteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"ProposalCreatedWithType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalDevelopmentStateReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalInDevelopment\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"implementationDiscussion\",\"type\":\"string\"}],\"name\":\"ProposalInDevelopmentDetails\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalPayoutClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"etaSeconds\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalWithdraw\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"name\":\"QuadraticVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"QuorumNumeratorUpdatedByType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldRequiredGMLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newRequiredGMLevel\",\"type\":\"uint256\"}],\"name\":\"RequiredGMLevelSet\",\"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\":\"oldTimelock\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"TimelockChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"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\":\"oldVeBetterPassport\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"walletAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"VotingPowerSeeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSetV2\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOVERNOR_FUNCTIONS_SETTINGS_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROPOSAL_EXECUTOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROPOSAL_STATE_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canProposalStartInNextRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"cancel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"castNavigatorVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"claimPayout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdCapByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdPercentageByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveProposals\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGalaxyMemberContract\",\"outputs\":[{\"internalType\":\"contract IGalaxyMember\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGrantsManagerContract\",\"outputs\":[{\"internalType\":\"contract IGrantsManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalBudget\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalContributors\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalDeposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalDescription\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalImplementationDiscussion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalPayee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getQuadraticVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"getRequiredGMLevelByProposalType\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getTimelockId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"governanceSkipWindowBlocks\",\"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\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"_navigatorRegistry\",\"type\":\"address\"},{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"_relayerRewardsPool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_governanceSkipWindowBlocks\",\"type\":\"uint256\"}],\"name\":\"initializeV10\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITreasury\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxContributorsPerProposal\",\"type\":\"uint256\"}],\"name\":\"initializeV11\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"isFunctionWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isProposalPaid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isQuadraticVotingDisabledForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isQuadraticVotingDisabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"markAsCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"implementationDiscussion\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"contributors\",\"type\":\"string[]\"}],\"name\":\"markAsInDevelopment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minVotingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"navigatorRegistry\",\"outputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDepositReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDepositThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalNeedsQueuing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalStartRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalTotalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"againstVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"forVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"abstainVotes\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"startRoundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"depositAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBudget\",\"type\":\"uint256\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"startRoundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"depositAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"milestonesDetailsMetadataURI\",\"type\":\"string\"}],\"name\":\"proposeGrant\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumNumeratorByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumNumeratorByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"resetDevelopmentState\",\"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\":\"contract IGalaxyMember\",\"name\":\"newGalaxyMember\",\"type\":\"address\"}],\"name\":\"setGalaxyMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"setGovernanceSkipWindowBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IGrantsManager\",\"name\":\"newGrantsManager\",\"type\":\"address\"}],\"name\":\"setGrantsManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"name\":\"setIsFunctionRestrictionEnabled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newMinVotingDelay\",\"type\":\"uint256\"}],\"name\":\"setMinVotingDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"newNavigatorRegistry\",\"type\":\"address\"}],\"name\":\"setNavigatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDepositThresholdCap\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"setProposalTypeDepositThresholdCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"setProposalTypeDepositThresholdPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"setProposalTypeVotingThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"newRelayerRewardsPool\",\"type\":\"address\"}],\"name\":\"setRelayerRewardsPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"newGMWeight\",\"type\":\"uint256\"}],\"name\":\"setRequiredGMLevelByProposalType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"setVeBetterPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"newVoterRewards\",\"type\":\"address\"}],\"name\":\"setVoterRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"setWhitelistFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"functionSelectors\",\"type\":\"bytes4[]\"},{\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"setWhitelistFunctions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"newXAllocationVoting\",\"type\":\"address\"}],\"name\":\"setXAllocationVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timelock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"timelockSalt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"toggleQuadraticVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IVOT3\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"implementationDiscussion\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"contributors\",\"type\":\"string[]\"}],\"name\":\"updateCommunityExecution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"updateQuorumNumeratorByType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TimelockControllerUpgradeable\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"updateTimelock\",\"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\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"votingThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationVoting\",\"outputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"The contract is upgradeable and uses the UUPS pattern. All logic is stored in libraries. ------------------ VERSION 2 ------------------ - Replaced onlyGovernance modifier with onlyRoleOrGovernance which checks if the caller has the DEFAULT_ADMIN_ROLE role or if the function is called through a governance proposal ------------------ VERSION 3 ------------------ - Added the ability to toggle the quadratic voting mechanism on and off ------------------ VERSION 4 ------------------ - Integrated VeBetterPassport contract ------------------ VERSION 5 ------------------ - Difference from V4: Updated all libraries to use new version of IVoterRewards that supports GM Upgrades. ------------------ VERSION 6 ------------------ - Updated all libraries to use new version of IVoterRewards that supports GM Rewards Pool. ------------------ VERSION 7 ------------------ - Added proposal type concept, STANDARD (0n) for existing proposals and GRANT (1n) for new grants proposals. - Added deposit threshold cap based on proposal type. ------------------ VERSION 8 ------------------ - No changes from V7 (placeholder for future reference). ------------------ VERSION 9 ------------------ - Added reason parameter to cancel function for providing cancellation rationale. - Added ProposalCanceledWithReason event. ------------------ VERSION 10 ------------------ - Refactored from module inheritance to library architecture for contract size optimization - Added navigator delegation voting via castNavigatorVote(proposalId, citizen) - New storage: GovernorStorage.navigatorRegistry (INavigatorRegistry), relayerRewardsPool (IRelayerRewardsPool),   proposalsForRound mapping (round-indexed proposal tracking for relayer expected-actions) - New events: NavigatorGovernanceVoteCast - New errors: NotDelegatedToNavigator, NavigatorDecisionNotSet (in GovernorVotesLogic) - New initializer: initializeV10(INavigatorRegistry, IRelayerRewardsPool, uint256 governanceSkipWindowBlocks) \\u2014 reinitializer(8) - governanceSkipWindowBlocks moved from constant to storage (GovernorStorage), configurable per env - setGovernanceSkipWindowBlocks(uint256) setter via GovernorConfigurator - setNavigatorRegistry() / setRelayerRewardsPool() setters via GovernorConfigurator - GovernorVotesLogic.getVotes() returns delegated amount when citizen has active navigator at snapshot - Dead navigator (deactivated/exiting) = delegation void, returns full VOT3 balance - castNavigatorVote uses snapshot-based navigator lookup (getNavigatorAtTimepoint) - castVote double-vote prevention: blocks manual voting if delegated at proposal snapshot with alive navigator - Uses checkpointed citizenToNavigator and isDeactivatedAtTimepoint for snapshot consistency\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"DelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is delegated to a navigator and cannot vote manually\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"GMLevelAboveMaxLevel(uint256)\":[{\"details\":\"The GM level is not in the valid range - 0 to max level.\"},{\"details\":\"Thrown when the proposer does not fit the requirement (GM weight ATM)\"}],\"GovernanceSkipWindowNotReached(uint256)\":[{\"details\":\"The governance skip window has not been reached yet\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAlreadyQueuedProposal(uint256)\":[{\"details\":\"The proposal has already been queued.\"}],\"GovernorDepositThresholdNotInRange(uint256)\":[{\"details\":\"The deposit threshold is not in the valid range for a percentage - 0 to 100.\"}],\"GovernorDisabledDeposit()\":[{\"details\":\"Token deposits are disabled in this contract.\"}],\"GovernorInsufficientProposerVotes(address,uint256,uint256)\":[{\"details\":\"The `proposer` does not have the required votes to create a proposal.\"}],\"GovernorInvalidDepositAmount()\":[{\"details\":\"The deposit amount must be greater than 0.\"}],\"GovernorInvalidProposalLength(uint256,uint256,uint256)\":[{\"details\":\"Empty proposal or a mismatch between the parameters length for a proposal call.\"}],\"GovernorInvalidProposer(address,uint256)\":[{\"details\":\"The GM level is not in the valid range - 0 to max level.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum numerator is greater than the quorum denominator.\"}],\"GovernorInvalidStartRound(uint256)\":[{\"details\":\"The round when proposal should start is not valid.\"}],\"GovernorInvalidVoteType()\":[{\"details\":\"The vote type used is not valid for the corresponding counting module.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNoDepositToWithdraw(uint256,address)\":[{\"details\":\"There is no deposit to withdraw.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"The `proposalId` doesn't exist.\"}],\"GovernorNotQueuedProposal(uint256)\":[{\"details\":\"The proposal hasn't been queued yet.\"}],\"GovernorOnlyExecutor(address)\":[{\"details\":\"Thrown when the `account` is not the governance executor.\",\"params\":{\"account\":\"The address that attempted the unauthorized action.\"}},{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorOnlyProposer(address)\":[{\"details\":\"The `account` is not a proposer.\"}],\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"details\":\"Thrown when the personhood verification fails.\",\"params\":{\"explanation\":\"The reason for the failure.\",\"voter\":\"The address of the voter.\"}}],\"GovernorQueueNotImplemented()\":[{\"details\":\"Queue operation is not implemented for this governor. Execute should be called directly.\"}],\"GovernorRestrictedProposal(uint256,uint8)\":[{\"details\":\"Thrown when a proposal is not allowed to perform a specific action. Some actions are restricted to Standard proposals only, others to Grant proposals only. eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\"}],\"GovernorRestrictedProposer(address)\":[{\"details\":\"The `proposer` is not allowed to create a proposal.\"}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a proposal is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each ProposalState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the proposal is expected to not be in any state (i.e. not exist). This is the case when a proposal that is expected to be unset is already initiated (the proposal is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"GranteeCannotDepositOwnGrant(uint256)\":[{\"details\":\"The grantee cannot deposit for their own grant.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidPayeeAddress()\":[{\"details\":\"Payee is the zero address while the proposal has a non-zero implementation cost.\"}],\"MissingProposalBudget(uint256)\":[{\"details\":\"No max budget was recorded for the proposal but a non-zero payee was provided.\"}],\"NavigatorDecisionNotSet(address,uint256)\":[{\"details\":\"Thrown when navigator has not set a decision for the proposal\"}],\"NotDelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is not delegated to any navigator\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"NotReadyToClaim(uint256)\":[{\"details\":\"The proposal is not in a state where the budget can be paid out (missing payee or budget).\"}],\"PayeesAlreadyFinalized(uint256)\":[{\"details\":\"markAsInDevelopment was already called for this proposal.\"}],\"PayoutAlreadyClaimed(uint256)\":[{\"details\":\"The payout was already pulled from Treasury.\"}],\"QueueEmpty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}],\"TooManyContributors(uint256,uint256)\":[{\"details\":\"Contributors array is larger than maxContributorsPerProposal.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}],\"UnauthorizedAccess(address)\":[{\"details\":\"User is not authorized to perform the action.\"}],\"UnauthorizedCommunityExecution(address,uint256)\":[{\"details\":\"Caller is neither the proposal proposer nor a PROPOSAL_STATE_MANAGER_ROLE holder.\"}]},\"events\":{\"DepositThresholdCapSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold cap for a proposal type is set.\"},\"DepositThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold percentage for a proposal type is set.\"},\"FunctionWhitelisted(address,bytes4,bool)\":{\"details\":\"Emitted when a function is whitelisted or restricted by the governor.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCanceledWithReason(uint256,address,string)\":{\"details\":\"Emitted when a proposal is canceled with a reason.\"},\"ProposalCompleted(uint256)\":{\"details\":\"Emitted when a proposal is marked as completed.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],string,uint256,uint256)\":{\"details\":\"Emitted when a proposal is created\"},\"ProposalCreatedWithType(uint256,uint8)\":{\"details\":\"Emitted when a proposal is created with type information.\"},\"ProposalDeposit(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is made to a proposal.\"},\"ProposalDevelopmentStateReset(uint256)\":{\"details\":\"Emitted when the development state of a proposal is reset back to pending development.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"ProposalInDevelopment(uint256)\":{\"details\":\"Emitted when a proposal is marked as in development.\"},\"ProposalQueued(uint256,uint256)\":{\"details\":\"Emitted when a proposal is queued.\"},\"ProposalWithdraw(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is withdrawn from a proposal.\"},\"QuadraticVotingToggled(bool)\":{\"params\":{\"disabled\":\"- The flag to enable or disable quadratic voting.\"}},\"QuorumNumeratorUpdated(uint256,uint256)\":{\"details\":\"Emitted when the quorum numerator is updated.\"},\"QuorumNumeratorUpdatedByType(uint256,uint256,uint8)\":{\"details\":\"Emitted when the quorum numerator for a specific proposal type is updated.\"},\"RequiredGMLevelSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the required GM level for a proposal type is set.\"},\"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.\"},\"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`)\"},\"TimelockChange(address,address)\":{\"details\":\"Emitted when the timelock controller used for proposal execution is modified.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"},\"VeBetterPassportSet(address,address)\":{\"details\":\"Emitted when the VeBetterPassport contract is set.\"},\"VoteCast(address,uint256,uint8,uint256,uint256,string)\":{\"details\":\"Emitted when a vote is cast without params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\"},\"VotingPowerSeeded(address,uint256)\":{\"details\":\"Emitted when the voting power is seeded.\"},\"VotingThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the `votingThreshold` for a proposal type is set.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"returns\":{\"_0\":\"string The clock mode\"}},\"COUNTING_MODE()\":{\"returns\":{\"_0\":\"string The counting mode\"}},\"b3tr()\":{\"returns\":{\"_0\":\"IB3TR The B3TR contract\"}},\"canProposalStartInNextRound()\":{\"returns\":{\"_0\":\"bool True if the proposal can start in the next round, false otherwise\"}},\"cancel(address[],uint256[],bytes[],bytes32,string)\":{\"params\":{\"calldatas\":\"The list of call data\",\"descriptionHash\":\"The hash of the description\",\"reason\":\"The reason for canceling the proposal\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"castNavigatorVote(uint256,address)\":{\"params\":{\"citizen\":\"The delegated citizen whose voting power is used\",\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The voting weight used\"}},\"castVote(uint256,uint8)\":{\"params\":{\"proposalId\":\"The id of the proposal\",\"support\":\"The support value (0 = against, 1 = for, 2 = abstain)\"},\"returns\":{\"_0\":\"uint256 The voting power\"}},\"castVoteWithReason(uint256,uint8,string)\":{\"params\":{\"proposalId\":\"The id of the proposal\",\"reason\":\"The reason for the vote\",\"support\":\"The support value (0 = against, 1 = for, 2 = abstain)\"},\"returns\":{\"_0\":\"uint256 The voting power\"}},\"claimPayout(uint256)\":{\"details\":\"Callable by anyone. Idempotent \\u2014 second call reverts with PayoutAlreadyClaimed.\"},\"clock()\":{\"returns\":{\"_0\":\"uint48 The current clock time\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"deposit(uint256,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to deposit\",\"proposalId\":\"The id of the proposal\"}},\"depositThresholdByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold for the proposal type.\"}},\"depositThresholdCapByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold cap for the proposal type.\"}},\"depositThresholdPercentageByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold percentage for the proposal type.\"}},\"execute(address[],uint256[],bytes[],bytes32)\":{\"params\":{\"calldatas\":\"The list of call data\",\"descriptionHash\":\"The hash of the description\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"getDepositVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account\",\"timepoint\":\"The timepoint\"},\"returns\":{\"_0\":\"The deposit voting power\"}},\"getGalaxyMemberContract()\":{\"returns\":{\"_0\":\"The current GalaxyMember contract\"}},\"getGrantsManagerContract()\":{\"returns\":{\"_0\":\"The current GrantsManager contract\"}},\"getProposalDeposits(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"uint256 The amount of deposits\"}},\"getQuadraticVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account\",\"timepoint\":\"The timepoint to get the voting power at\"},\"returns\":{\"_0\":\"uint256 The quadratic voting power\"}},\"getRequiredGMLevelByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of the proposal\"},\"returns\":{\"_0\":\"The GM weight for the proposal type\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getTimelockId(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bytes32 The timelock id\"}},\"getUserDeposit(uint256,address)\":{\"params\":{\"proposalId\":\"The id of the proposal.\",\"user\":\"The address of the user.\"},\"returns\":{\"_0\":\"uint256 The amount of tokens deposited by the user\"}},\"getVotes(address,uint256)\":{\"params\":{\"account\":\"The address of the account\",\"timepoint\":\"The timepoint to get the votes at\"},\"returns\":{\"_0\":\"uint256 The number of votes\"}},\"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`.\"},\"hasVoted(uint256,address)\":{\"params\":{\"account\":\"The address of the account\",\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the account has voted, false otherwise\"}},\"hasVotedOnce(address)\":{\"params\":{\"user\":\"The address of the user to check if has voted at least one time\"},\"returns\":{\"_0\":\"bool True if the user has voted once, false otherwise\"}},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"params\":{\"calldatas\":\"The list of call data\",\"descriptionHash\":\"The hash of the description\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"initializeV11(address,uint256)\":{\"details\":\"Records the Treasury reference used to pay the registered payee and the maximum      number of contributor handles allowed per proposal.\",\"params\":{\"_maxContributorsPerProposal\":\"Hard cap on the contributors array per proposal.\",\"_treasury\":\"The Treasury contract from which B3TR payouts are pulled.\"}},\"isFunctionWhitelisted(address,bytes4)\":{\"params\":{\"functionSelector\":\"The function selector\",\"target\":\"The address of the contract\"},\"returns\":{\"_0\":\"bool True if the function is whitelisted, false otherwise\"}},\"isQuadraticVotingDisabledForCurrentRound()\":{\"returns\":{\"_0\":\"true if quadratic voting is disabled, false otherwise.\"}},\"isQuadraticVotingDisabledForRound(uint256)\":{\"params\":{\"roundId\":\"- The round ID for which to check if quadratic voting is disabled.\"},\"returns\":{\"_0\":\"true if quadratic voting is disabled, false otherwise.\"}},\"markAsCompleted(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"}},\"markAsInDevelopment(uint256,address,string,string,string[])\":{\"details\":\"Callable by the proposer or by an address holding PROPOSAL_STATE_MANAGER_ROLE.      - `maxBudget == 0` requires `payee == address(0)` (pure state transition).      - `maxBudget > 0`  requires `payee != address(0)` (single recipient of the full budget).      Grants reject \\u2014 Grants follow the milestone-based payout flow.      The registered payee receives the FULL `maxBudget` on {claimPayout}; it is the      payee's responsibility to forward funds to any contributors / team off-chain.\",\"params\":{\"contributors\":\"Array of contributor handles / URLs (capped at maxContributorsPerProposal).\",\"description\":\"Free-text description (e.g. \\\"Developed by Framer and Rosa\\\").\",\"implementationDiscussion\":\"URL to the implementation-discussion thread.\",\"payee\":\"Single payout address; may be address(0) when maxBudget == 0.\",\"proposalId\":\"The proposal id.\"}},\"minVotingDelay()\":{\"returns\":{\"_0\":\"uint256 The minimum voting delay\"}},\"name()\":{\"returns\":{\"_0\":\"string The name of the governor\"}},\"navigatorRegistry()\":{\"returns\":{\"_0\":\"INavigatorRegistry The NavigatorRegistry contract\"}},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"returns\":{\"_0\":\"bytes4 The selector of the function\"}},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"returns\":{\"_0\":\"bytes4 The selector of the function\"}},\"onERC721Received(address,address,uint256,bytes)\":{\"returns\":{\"_0\":\"bytes4 The selector of the function\"}},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"proposalDeadline(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The deadline of the proposal\"}},\"proposalDepositReached(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"bool True if the threshold is reached, false otherwise\"}},\"proposalDepositThreshold(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold for the proposal.\"}},\"proposalEta(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The ETA of the proposal\"}},\"proposalNeedsQueuing(uint256)\":{\"details\":\"If no calldatas or targets then it's not executable, otherwise it will check if the governance can execute transactions or not.\",\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal needs queuing, false otherwise\"}},\"proposalProposer(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"address The address of the proposer\"}},\"proposalSnapshot(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The snapshot of the proposal\"}},\"proposalStartRound(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The start round of the proposal\"}},\"proposalTotalVotes(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"uint256 The total votes for the proposal\"}},\"proposalType(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GovernorTypes.ProposalType The proposal type\"}},\"proposalVotes(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"abstainVotes\":\"The votes abstaining the proposal\",\"againstVotes\":\"The votes against the proposal\",\"forVotes\":\"The votes for the proposal\"}},\"propose(address[],uint256[],bytes[],string,uint256,uint256,uint256)\":{\"details\":\"V11 consolidated entrypoint. Single `propose` function with mandatory `maxBudget`      parameter \\u2014 pass `0` for proposals without a community-execution payout flow.\",\"params\":{\"calldatas\":\"The list of call data\",\"depositAmount\":\"The amount of deposit for the proposal\",\"description\":\"The proposal description\",\"maxBudget\":\"Maximum implementation budget in B3TR wei (0 = no payout flow)\",\"startRoundId\":\"The round in which the proposal should start\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"params\":{\"calldatas\":\"The list of call data\",\"depositAmount\":\"The amount of deposit for the proposal\",\"description\":\"The proposal description\",\"grantsReceiver\":\"The address of the grants receiver\",\"milestonesDetailsMetadataURI\":\"The IPFS hash containing the milestones descriptions\",\"startRoundId\":\"The round in which the proposal should start\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"The proposal id\"}},\"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.\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"params\":{\"calldatas\":\"The list of call data\",\"descriptionHash\":\"The hash of the description\",\"targets\":\"The list of target addresses\",\"values\":\"The list of values to send\"},\"returns\":{\"_0\":\"uint256 The proposal id\"}},\"quorum(uint256)\":{\"params\":{\"blockNumber\":\"The block number to get the quorum for\"},\"returns\":{\"_0\":\"uint256 The quorum\"}},\"quorumByProposalType(uint256,uint8)\":{\"params\":{\"blockNumber\":\"The block number to get the quorum for\",\"proposalTypeValue\":\"The type of proposal\"},\"returns\":{\"_0\":\"uint256 The quorum\"}},\"quorumDenominator()\":{\"returns\":{\"_0\":\"uint256 The quorum denominator\"}},\"quorumNumerator()\":{\"returns\":{\"_0\":\"uint256 The current quorum numerator\"}},\"quorumNumerator(uint256)\":{\"params\":{\"timepoint\":\"The timepoint to get the quorum numerator for\"},\"returns\":{\"_0\":\"uint256 The quorum numerator at the given timepoint\"}},\"quorumNumeratorByProposalType(uint256,uint8)\":{\"params\":{\"timepoint\":\"The timepoint to get the quorum numerator for\"},\"returns\":{\"_0\":\"uint256 The quorum numerator at the given timepoint\"}},\"quorumNumeratorByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal\"},\"returns\":{\"_0\":\"uint256 The quorum numerator\"}},\"quorumReached(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"bool True if quorum was reached, false otherwise\"}},\"relay(address,uint256,bytes)\":{\"params\":{\"data\":\"The data to call the target with\",\"target\":\"The target address\",\"value\":\"The amount of ether to send\"}},\"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 `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"resetDevelopmentState(uint256)\":{\"details\":\"This should reset the enum state back to the original one, since pending development is not tracked in {GovernorStateLogic._state} condition\",\"params\":{\"proposalId\":\"The id of the proposal\"}},\"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.\"},\"setGalaxyMember(address)\":{\"params\":{\"newGalaxyMember\":\"The new GalaxyMember contract\"}},\"setGovernanceSkipWindowBlocks(uint256)\":{\"params\":{\"newValue\":\"The new skip window in blocks\"}},\"setGrantsManager(address)\":{\"params\":{\"newGrantsManager\":\"The new GrantsManager contract\"}},\"setIsFunctionRestrictionEnabled(bool)\":{\"params\":{\"isEnabled\":\"Flag to enable/disable function restriction\"}},\"setMinVotingDelay(uint256)\":{\"params\":{\"newMinVotingDelay\":\"The new minimum voting delay\"}},\"setNavigatorRegistry(address)\":{\"params\":{\"newNavigatorRegistry\":\"The new NavigatorRegistry contract\"}},\"setProposalTypeDepositThresholdCap(uint256,uint8)\":{\"params\":{\"newDepositThresholdCap\":\"The new deposit threshold cap\",\"proposalTypeValue\":\"The proposal type\"}},\"setProposalTypeDepositThresholdPercentage(uint256,uint8)\":{\"params\":{\"newDepositThreshold\":\"The new deposit threshold\",\"proposalTypeValue\":\"The proposal type\"}},\"setProposalTypeVotingThreshold(uint256,uint8)\":{\"params\":{\"newVotingThreshold\":\"The new voting threshold\",\"proposalTypeValue\":\"The proposal type\"}},\"setRelayerRewardsPool(address)\":{\"params\":{\"newRelayerRewardsPool\":\"The new RelayerRewardsPool contract\"}},\"setRequiredGMLevelByProposalType(uint8,uint256)\":{\"params\":{\"newGMWeight\":\"The new GM weight for the proposal type\",\"proposalTypeValue\":\"The type of the proposal\"}},\"setVeBetterPassport(address)\":{\"params\":{\"newVeBetterPassport\":\"The new VeBetterPassport contract\"}},\"setVoterRewards(address)\":{\"params\":{\"newVoterRewards\":\"The new voter rewards contract\"}},\"setWhitelistFunction(address,bytes4,bool)\":{\"params\":{\"functionSelector\":\"The function selector\",\"isWhitelisted\":\"Bool indicating if function is whitelisted for proposals\",\"target\":\"The address of the contract\"}},\"setWhitelistFunctions(address,bytes4[],bool)\":{\"params\":{\"functionSelectors\":\"Array of function selectors\",\"isWhitelisted\":\"Bool indicating if function is whitelisted for proposals\",\"target\":\"The address of the contract\"}},\"setXAllocationVoting(address)\":{\"params\":{\"newXAllocationVoting\":\"The new xAllocationVoting contract\"}},\"state(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal\"},\"returns\":{\"_0\":\"GovernorTypes.ProposalState The state of the proposal\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The interface id to check\"},\"returns\":{\"_0\":\"bool True if the interface is supported, false otherwise\"}},\"timelock()\":{\"returns\":{\"_0\":\"address The address of the timelock\"}},\"timelockSalt(bytes32)\":{\"params\":{\"descriptionHash\":\"The hash of the description\"},\"returns\":{\"_0\":\"bytes32 The timelock salt\"}},\"toggleQuadraticVoting()\":{\"details\":\"This function toggles the state of quadratic votingstarting from the next round. The state will flip between enabled and disabled each time the function is called.\"},\"token()\":{\"returns\":{\"_0\":\"IVOT3 The voting token\"}},\"updateCommunityExecution(uint256,address,string,string,string[])\":{\"details\":\"Authorized to the proposer OR PROPOSAL_STATE_MANAGER_ROLE. Allowed while the proposal      is `InDevelopment` or `Completed` and `proposalPaid` is still false.\"},\"updateQuorumNumerator(uint256)\":{\"params\":{\"newQuorumNumerator\":\"The new quorum numerator\"}},\"updateQuorumNumeratorByType(uint256,uint8)\":{\"params\":{\"newQuorumNumerator\":\"The new quorum numerator\",\"proposalTypeValue\":\"The proposal type\"}},\"updateTimelock(address)\":{\"params\":{\"newTimelock\":\"The new timelock controller\"}},\"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.\"},\"veBetterPassport()\":{\"returns\":{\"_0\":\"The current VeBetterPassport contract.\"}},\"version()\":{\"returns\":{\"_0\":\"string The version of the governor\"}},\"voterRewards()\":{\"returns\":{\"_0\":\"IVoterRewardsV2 The voter rewards contract\"}},\"votingPeriod()\":{\"returns\":{\"_0\":\"uint256 The voting period\"}},\"votingThresholdByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of the proposal\"},\"returns\":{\"_0\":\"uint256 The voting threshold\"}},\"withdraw(uint256,address)\":{\"params\":{\"depositor\":\"The address of the depositor\",\"proposalId\":\"The id of the proposal\"}},\"xAllocationVoting()\":{\"returns\":{\"_0\":\"IXAllocationVotingGovernor The XAllocationVotingGovernor contract\"}}},\"title\":\"B3TRGovernor\",\"version\":1},\"userdoc\":{\"events\":{\"NavigatorGovernanceVoteSkipped(address,address,uint256)\":{\"notice\":\"Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\"},\"ProposalBudgetSet(uint256,uint256)\":{\"notice\":\"Emitted when an implementation-cost budget is recorded for a proposal.\"},\"ProposalContributorsSet(uint256,string[])\":{\"notice\":\"Emitted when the contributor handle list is (re)set for a proposal.\"},\"ProposalInDevelopmentDetails(uint256,address,string,string)\":{\"notice\":\"Off-chain metadata registered alongside the payee when entering development         or replaced via updateCommunityExecution before payout.\"},\"ProposalPayoutClaimed(uint256,address,uint256)\":{\"notice\":\"Emitted when the single registered payee pulls the implementation cost from Treasury.\"},\"QuadraticVotingToggled(bool)\":{\"notice\":\"Emits true if quadratic voting is disabled, false otherwise.\"}},\"kind\":\"user\",\"methods\":{\"CLOCK_MODE()\":{\"notice\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"The role that can set external contracts addresses\"},\"COUNTING_MODE()\":{\"notice\":\"Returns the counting mode\"},\"GOVERNOR_FUNCTIONS_SETTINGS_ROLE()\":{\"notice\":\"The role that can whitelist allowed functions in the propose function\"},\"PAUSER_ROLE()\":{\"notice\":\"The role that can pause the contract\"},\"PROPOSAL_EXECUTOR_ROLE()\":{\"notice\":\"The role that can execute a proposal\"},\"PROPOSAL_STATE_MANAGER_ROLE()\":{\"notice\":\"The role that can mark a proposal in development/completed state\"},\"b3tr()\":{\"notice\":\"See {B3TRGovernor-b3tr}.\"},\"canProposalStartInNextRound()\":{\"notice\":\"Check if the proposal can start in the next round\"},\"cancel(address[],uint256[],bytes[],bytes32,string)\":{\"notice\":\"See {Governor-cancel}.\"},\"castNavigatorVote(uint256,address)\":{\"notice\":\"Cast a governance vote on behalf of a citizen delegated to a navigator.\"},\"castVote(uint256,uint8)\":{\"notice\":\"See {IB3TRGovernor-castVote}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"notice\":\"See {IB3TRGovernor-castVoteWithReason}.\"},\"claimPayout(uint256)\":{\"notice\":\"V11: Pay the registered payee the full implementation cost from Treasury.\"},\"clock()\":{\"notice\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"deposit(uint256,uint256)\":{\"notice\":\"Deposits tokens for a specific proposal\"},\"depositThresholdByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold for a proposal type.\"},\"depositThresholdCapByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold cap for a proposal type.\"},\"depositThresholdPercentageByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold percentage for a proposal type.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"See {IB3TRGovernor-execute}. Callable only when contract is not paused.\"},\"getActiveProposals()\":{\"notice\":\"Returns currently active proposal IDs.\"},\"getDepositVotingPower(address,uint256)\":{\"notice\":\"Get the deposit voting power for a given account at a given timepoint\"},\"getGalaxyMemberContract()\":{\"notice\":\"Get the GalaxyMember contract\"},\"getGrantsManagerContract()\":{\"notice\":\"Get the GrantsManager contract\"},\"getProposalBudget(uint256)\":{\"notice\":\"The maximum implementation cost (B3TR wei) recorded for a proposal.\"},\"getProposalContributors(uint256)\":{\"notice\":\"The contributor handle list (e.g. github/twitter URLs) for a proposal.\"},\"getProposalDeposits(uint256)\":{\"notice\":\"Returns the amount of deposits made to a proposal.\"},\"getProposalDescription(uint256)\":{\"notice\":\"The free-text description registered alongside the V11 payee.\"},\"getProposalImplementationDiscussion(uint256)\":{\"notice\":\"The implementation-discussion link for a proposal.\"},\"getProposalPayee(uint256)\":{\"notice\":\"The single registered payee for the proposal.\"},\"getQuadraticVotingPower(address,uint256)\":{\"notice\":\"Returns the quadratic voting power that `account` has.  See {IB3TRGovernor-getQuadraticVotingPower}.\"},\"getRequiredGMLevelByProposalType(uint8)\":{\"notice\":\"Get the GM weight for a proposal type\"},\"getTimelockId(uint256)\":{\"notice\":\"Public endpoint to retrieve the timelock id of a proposal.\"},\"getUserDeposit(uint256,address)\":{\"notice\":\"Returns the amount of tokens a specific user has deposited to a proposal.\"},\"getVotes(address,uint256)\":{\"notice\":\"See {IB3TRGovernor-getVotes}.\"},\"governanceSkipWindowBlocks()\":{\"notice\":\"Returns the governance skip window in blocks.\"},\"hasVoted(uint256,address)\":{\"notice\":\"See {IB3TRGovernor-hasVoted}.\"},\"hasVotedOnce(address)\":{\"notice\":\"Check if a user has voted at least one time.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"See {IB3TRGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"initializeV10(address,address,uint256)\":{\"notice\":\"Initialize V10: set NavigatorRegistry, RelayerRewardsPool, and governance skip window\"},\"initializeV11(address,uint256)\":{\"notice\":\"Initialize V11: Community Execution Framework\"},\"isFunctionWhitelisted(address,bytes4)\":{\"notice\":\"Check if a function is restricted by the governor\"},\"isProposalPaid(uint256)\":{\"notice\":\"True iff the payout has already been pulled from Treasury.\"},\"isQuadraticVotingDisabledForCurrentRound()\":{\"notice\":\"Check if quadratic voting is disabled for the current round.\"},\"isQuadraticVotingDisabledForRound(uint256)\":{\"notice\":\"Check if quadratic voting is disabled at a specific round.\"},\"markAsCompleted(uint256)\":{\"notice\":\"Mark a proposal as completed\"},\"markAsInDevelopment(uint256,address,string,string,string[])\":{\"notice\":\"V11: Mark a proposal as InDevelopment and register the single payout address,         free-text description, implementation-discussion link, and contributor handles.\"},\"minVotingDelay()\":{\"notice\":\"See {B3TRGovernor-minVotingDelay}.\"},\"name()\":{\"notice\":\"See {IB3TRGovernor-name}.\"},\"navigatorRegistry()\":{\"notice\":\"Returns the NavigatorRegistry contract.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"See {IERC1155Receiver-onERC1155BatchReceived}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"notice\":\"See {IERC1155Receiver-onERC1155Received}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\"},\"onERC721Received(address,address,uint256,bytes)\":{\"notice\":\"See {IERC721Receiver-onERC721Received}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\"},\"pause()\":{\"notice\":\"Pause the contract\"},\"proposalDeadline(uint256)\":{\"notice\":\"See {IB3TRGovernor-proposalDeadline}.\"},\"proposalDepositReached(uint256)\":{\"notice\":\"Returns true if the threshold of deposits required to reach a proposal has been reached.\"},\"proposalDepositThreshold(uint256)\":{\"notice\":\"Returns the deposit threshold for a proposal.\"},\"proposalEta(uint256)\":{\"notice\":\"See {IB3TRGovernor-proposalEta}.\"},\"proposalNeedsQueuing(uint256)\":{\"notice\":\"Function to know if a proposal is executable or not. If the proposal was created without any targets, values, or calldatas, it is not executable. to check if the proposal is executable.\"},\"proposalProposer(uint256)\":{\"notice\":\"See {IB3TRGovernor-proposalProposer}.\"},\"proposalSnapshot(uint256)\":{\"notice\":\"See {IB3TRGovernor-proposalSnapshot}. We take for granted that the round starts the block after it ends. But it can happen that the round is not started yet for whatever reason. Knowing this, if the proposal starts 4 rounds in the future we need to consider also those extra blocks used to start the rounds.\"},\"proposalStartRound(uint256)\":{\"notice\":\"See {IB3TRGovernor-proposalStartRound}\"},\"proposalTotalVotes(uint256)\":{\"notice\":\"Returns the total votes for a proposal\"},\"proposalType(uint256)\":{\"notice\":\"Returns the proposal type of a proposal.\"},\"proposalVotes(uint256)\":{\"notice\":\"Accessor to the internal vote counts, in terms of vote power.\"},\"propose(address[],uint256[],bytes[],string,uint256,uint256,uint256)\":{\"notice\":\"See {IB3TRGovernor-propose}.\"},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"notice\":\"Propose a grant\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"See {IB3TRGovernor-queue}. Callable only when contract is not paused.\"},\"quorum(uint256)\":{\"notice\":\"Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\"},\"quorumByProposalType(uint256,uint8)\":{\"notice\":\"Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\"},\"quorumDenominator()\":{\"notice\":\"Returns the quorum denominator using the GovernorQuorumFraction library. Defaults to 100, but may be overridden.\"},\"quorumNumerator()\":{\"notice\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"notice\":\"Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\"},\"quorumNumeratorByProposalType(uint256,uint8)\":{\"notice\":\"Returns the quorum numerator at a specific timepoint using the GovernorQuorumFraction library.\"},\"quorumNumeratorByProposalType(uint8)\":{\"notice\":\"Returns the quorum numerator for a specific proposal type.\"},\"quorumReached(uint256)\":{\"notice\":\"Returns if quorum was reached or not\"},\"relay(address,uint256,bytes)\":{\"notice\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"relayerRewardsPool()\":{\"notice\":\"Returns the RelayerRewardsPool contract.\"},\"resetDevelopmentState(uint256)\":{\"notice\":\"Reset the development state of a proposal back to pending development\"},\"setGalaxyMember(address)\":{\"notice\":\"Set the GalaxyMember contract\"},\"setGovernanceSkipWindowBlocks(uint256)\":{\"notice\":\"Set the governance skip window (blocks before proposal deadline when relayers can skip navigator votes)\"},\"setGrantsManager(address)\":{\"notice\":\"Set the GrantsManager contract\"},\"setIsFunctionRestrictionEnabled(bool)\":{\"notice\":\"Method that allows to toggle the function restriction on/off\"},\"setMinVotingDelay(uint256)\":{\"notice\":\"Update the min voting delay before vote can start. This operation can only be performed through a governance proposal. Emits a {MinVotingDelaySet} event.\"},\"setNavigatorRegistry(address)\":{\"notice\":\"Set the NavigatorRegistry contract\"},\"setProposalTypeDepositThresholdCap(uint256,uint8)\":{\"notice\":\"Update the deposit threshold cap for a proposal type. This operation can only be performed through a governance proposal or by the DEFAULT_ADMIN_ROLE Emits a {DepositThresholdCapSet} event.\"},\"setProposalTypeDepositThresholdPercentage(uint256,uint8)\":{\"notice\":\"Update the deposit threshold for a proposal type. This operation can only be performed through a governance proposal. Emits a {DepositThresholdSetV2} event.\"},\"setProposalTypeVotingThreshold(uint256,uint8)\":{\"notice\":\"Update the voting threshold for a proposal type. This operation can only be performed through a governance proposal. Emits a {VotingThresholdSetV2} event.\"},\"setRelayerRewardsPool(address)\":{\"notice\":\"Set the RelayerRewardsPool contract\"},\"setRequiredGMLevelByProposalType(uint8,uint256)\":{\"notice\":\"Set the GM weight for a proposal typee.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal\"},\"setVeBetterPassport(address)\":{\"notice\":\"Set the VeBetterPassport contract\"},\"setVoterRewards(address)\":{\"notice\":\"Set the voter rewards contract This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\"},\"setWhitelistFunction(address,bytes4,bool)\":{\"notice\":\"Method that allows to restrict functions that can be called by proposals for a single function selector\"},\"setWhitelistFunctions(address,bytes4[],bool)\":{\"notice\":\"Method that allows to restrict functions that can be called by proposals for multiple function selectors at once\"},\"setXAllocationVoting(address)\":{\"notice\":\"Set the xAllocationVoting contract This function is only callable through governance proposals or by the CONTRACTS_ADDRESS_MANAGER_ROLE\"},\"state(uint256)\":{\"notice\":\"Returns the state of a proposal\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the contract supports a specific interface\"},\"timelock()\":{\"notice\":\"Public accessor to check the address of the timelock\"},\"timelockSalt(bytes32)\":{\"notice\":\"Public endpoint to get the salt used for the timelock operation.\"},\"toggleQuadraticVoting()\":{\"notice\":\"Toggle quadratic voting for next round.\"},\"token()\":{\"notice\":\"The token that voting power is sourced from.\"},\"unpause()\":{\"notice\":\"Unpause the contract\"},\"updateCommunityExecution(uint256,address,string,string,string[])\":{\"notice\":\"V11: Update the payee / description / implementation-discussion / contributors of         a proposal whose payout has not been claimed yet.\"},\"updateQuorumNumerator(uint256)\":{\"notice\":\"Changes the quorum numerator. This operation can only be performed through a governance proposal. Emits a {QuorumNumeratorUpdated} event.\"},\"updateQuorumNumeratorByType(uint256,uint8)\":{\"notice\":\"Changes the quorum numerator for a specific proposal type. This operation can only be performed through a governance proposal. Emits a {QuorumNumeratorUpdatedByType} event.\"},\"updateTimelock(address)\":{\"notice\":\"Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates must be proposed, scheduled, and executed through governance proposals. CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\"},\"veBetterPassport()\":{\"notice\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"notice\":\"See {IB3TRGovernor-version}.\"},\"voterRewards()\":{\"notice\":\"The voter rewards contract.\"},\"votingPeriod()\":{\"notice\":\"See {IB3TRGovernor-votingPeriod}.\"},\"votingThresholdByProposalType(uint8)\":{\"notice\":\"Returns the voting threshold for a proposal type\"},\"withdraw(uint256,address)\":{\"notice\":\"Withdraws deposits for a specific proposal\"},\"xAllocationVoting()\":{\"notice\":\"The XAllocationVotingGovernor contract.\"}},\"notice\":\"This contract is the main governance contract for the VeBetterDAO ecosystem. Anyone can create a proposal to both change the state of the contract, to execute a transaction on the timelock or to ask for a vote from the community without performing any onchain action. In order for the proposal to become active, the community needs to deposit a certain amount of VOT3 tokens. This is used as a heat check for the proposal, and funds are returned to the depositors after vote is concluded. Votes for proposals start periodically, based on the allocation rounds (see xAllocationVoting contract), and the round in which the proposal should be active is specified by the proposer during the proposal creation. A minimum amount of voting power is required in order to vote on a proposal. The voting power is calculated through the quadratic vote formula based on the amount of VOT3 tokens held by the voter at the block when the proposal becomes active. Once a proposal succeeds, it can be queued and executed. The execution is done through the timelock contract. The contract is upgradeable and uses the UUPS pattern.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/B3TRGovernor.sol\":\"B3TRGovernor\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol\":{\"keccak256\":\"0x92915b7f7f642c6be3f65bfd1522feb5d5b6ef25f755f4dbb51df32c868f2f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ad36d5cc7e190e1ee6c94b24659bc3a31396c4c36b6ffa6a509e10661f8007\",\"dweb:/ipfs/QmPFyc4zMh2zo6YWZt25gjm3YdR2hg6wGETaWw256fMmJJ\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/B3TRGovernor.sol\":{\"keccak256\":\"0x5a268aa7217f0334af5bebe2717f5780180cb9da370c7af944e81384740e6527\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://926628e150676cac89158c603e55a6f3f4de5449b59dd0fc779c55e4f48ae326\",\"dweb:/ipfs/Qmdg3HPocVVnmz4LkXxVFtS9ur8kJE1yJXqzQk65iy2sTb\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":{"abi":[{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6103c661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80634bf5d7e91461004557806391ddadf414610063575b600080fd5b61004d610082565b60405161005a919061026c565b60405180910390f35b61006b610149565b60405165ffffffffffff909116815260200161005a565b6060600061008e6101d9565b905080600c0160009054906101000a90046001600160a01b03166001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561010657506040513d6000823e601f3d908101601f1916820160405261010391908101906102b5565b60015b61014357505060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b92915050565b6000806101546101d9565b905080600c0160009054906101000a90046001600160a01b03166001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156101c7575060408051601f3d908101601f191682019092526101c491810190610361565b60015b610143576101d36101fd565b91505090565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006102084361020d565b905090565b600065ffffffffffff821115610244576040516306dfcc6560e41b8152603060048201526024810183905260440160405180910390fd5b5090565b60005b8381101561026357818101518382015260200161024b565b50506000910152565b602081526000825180602084015261028b816040850160208701610248565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156102c757600080fd5b81516001600160401b03808211156102de57600080fd5b818401915084601f8301126102f257600080fd5b8151818111156103045761030461029f565b604051601f8201601f19908116603f0116810190838211818310171561032c5761032c61029f565b8160405282815287602084870101111561034557600080fd5b610356836020830160208801610248565b979650505050505050565b60006020828403121561037357600080fd5b815165ffffffffffff8116811461038957600080fd5b939250505056fea2646970667358221220006d024c9be5d8267fb30bea3c5abc219340cfd5ebca138455b93973ae99cf9764736f6c63430008140033","opcodes":"PUSH2 0x3C6 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x40 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x45 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x63 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6B PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5A JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x8E PUSH2 0x1D9 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xC ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x106 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x103 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x143 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x154 PUSH2 0x1D9 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xC ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1C7 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1C4 SWAP2 DUP2 ADD SWAP1 PUSH2 0x361 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x143 JUMPI PUSH2 0x1D3 PUSH2 0x1FD JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x208 NUMBER PUSH2 0x20D JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x263 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x24B JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x28B DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x248 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x304 JUMPI PUSH2 0x304 PUSH2 0x29F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x32C JUMPI PUSH2 0x32C PUSH2 0x29F JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x345 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x356 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x248 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x389 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STOP PUSH14 0x24C9BE5D8267FB30BEA3C5ABC21 SWAP4 BLOCKHASH 0xCF 0xD5 0xEB 0xCA SGT DUP5 SSTORE 0xB9 CODECOPY PUSH20 0xAE99CF9764736F6C634300081400330000000000 ","sourceMap":"1642:1272:98:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1642:1272:98;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_55212":{"entryPoint":130,"id":55212,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":509,"id":11429,"parameterSlots":0,"returnSlots":1},"@clock_55180":{"entryPoint":329,"id":55180,"parameterSlots":0,"returnSlots":1},"@getGovernorStorage_61139":{"entryPoint":473,"id":61139,"parameterSlots":0,"returnSlots":1},"@toUint48_7770":{"entryPoint":525,"id":7770,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":693,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":865,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":620,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":584,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x41":{"entryPoint":671,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2478:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"80:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"90:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"99:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"94:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"159:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"184:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"189:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"180:3:150"},"nodeType":"YulFunctionCall","src":"180:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"203:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"208:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"199:3:150"},"nodeType":"YulFunctionCall","src":"199:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"193:5:150"},"nodeType":"YulFunctionCall","src":"193:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"173:6:150"},"nodeType":"YulFunctionCall","src":"173:39:150"},"nodeType":"YulExpressionStatement","src":"173:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"120:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"123:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"117:2:150"},"nodeType":"YulFunctionCall","src":"117:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"131:19:150","statements":[{"nodeType":"YulAssignment","src":"133:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"142:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"145:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"138:3:150"},"nodeType":"YulFunctionCall","src":"138:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"133:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"113:3:150","statements":[]},"src":"109:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"242:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"247:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"238:3:150"},"nodeType":"YulFunctionCall","src":"238:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"256:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"231:6:150"},"nodeType":"YulFunctionCall","src":"231:27:150"},"nodeType":"YulExpressionStatement","src":"231:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"58:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"63:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:150","type":""}],"src":"14:250:150"},{"body":{"nodeType":"YulBlock","src":"398:275:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"415:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"426:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"408:6:150"},"nodeType":"YulFunctionCall","src":"408:21:150"},"nodeType":"YulExpressionStatement","src":"408:21:150"},{"nodeType":"YulVariableDeclaration","src":"438:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"458:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"452:5:150"},"nodeType":"YulFunctionCall","src":"452:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"442:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"485:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"496:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"481:3:150"},"nodeType":"YulFunctionCall","src":"481:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"501:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"474:6:150"},"nodeType":"YulFunctionCall","src":"474:34:150"},"nodeType":"YulExpressionStatement","src":"474:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"556:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"564:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"552:3:150"},"nodeType":"YulFunctionCall","src":"552:15:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"573:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"584:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"569:3:150"},"nodeType":"YulFunctionCall","src":"569:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"589:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"517:34:150"},"nodeType":"YulFunctionCall","src":"517:79:150"},"nodeType":"YulExpressionStatement","src":"517:79:150"},{"nodeType":"YulAssignment","src":"605:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"621:9:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"640:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"648:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"636:3:150"},"nodeType":"YulFunctionCall","src":"636:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"657:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"653:3:150"},"nodeType":"YulFunctionCall","src":"653:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"632:3:150"},"nodeType":"YulFunctionCall","src":"632:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"617:3:150"},"nodeType":"YulFunctionCall","src":"617:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"664:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"613:3:150"},"nodeType":"YulFunctionCall","src":"613:54:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"605:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"367:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"378:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"389:4:150","type":""}],"src":"269:404:150"},{"body":{"nodeType":"YulBlock","src":"785:97:150","statements":[{"nodeType":"YulAssignment","src":"795:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"807:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"818:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"803:3:150"},"nodeType":"YulFunctionCall","src":"803:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"795:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"837:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"852:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"860:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"848:3:150"},"nodeType":"YulFunctionCall","src":"848:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"830:6:150"},"nodeType":"YulFunctionCall","src":"830:46:150"},"nodeType":"YulExpressionStatement","src":"830:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"754:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"765:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"776:4:150","type":""}],"src":"678:204:150"},{"body":{"nodeType":"YulBlock","src":"919:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"936:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"943:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"948:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"939:3:150"},"nodeType":"YulFunctionCall","src":"939:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"929:6:150"},"nodeType":"YulFunctionCall","src":"929:31:150"},"nodeType":"YulExpressionStatement","src":"929:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"976:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"979:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"969:6:150"},"nodeType":"YulFunctionCall","src":"969:15:150"},"nodeType":"YulExpressionStatement","src":"969:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1000:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1003:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"993:6:150"},"nodeType":"YulFunctionCall","src":"993:15:150"},"nodeType":"YulExpressionStatement","src":"993:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"887:127:150"},{"body":{"nodeType":"YulBlock","src":"1110:806:150","statements":[{"body":{"nodeType":"YulBlock","src":"1156:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1165:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1168:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1158:6:150"},"nodeType":"YulFunctionCall","src":"1158:12:150"},"nodeType":"YulExpressionStatement","src":"1158:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1131:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1140:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1127:3:150"},"nodeType":"YulFunctionCall","src":"1127:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1152:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1123:3:150"},"nodeType":"YulFunctionCall","src":"1123:32:150"},"nodeType":"YulIf","src":"1120:52:150"},{"nodeType":"YulVariableDeclaration","src":"1181:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1201:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1195:5:150"},"nodeType":"YulFunctionCall","src":"1195:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1185:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1220:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1238:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1242:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1234:3:150"},"nodeType":"YulFunctionCall","src":"1234:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1246:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1230:3:150"},"nodeType":"YulFunctionCall","src":"1230:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1224:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1275:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1284:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1287:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1277:6:150"},"nodeType":"YulFunctionCall","src":"1277:12:150"},"nodeType":"YulExpressionStatement","src":"1277:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1263:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1271:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1260:2:150"},"nodeType":"YulFunctionCall","src":"1260:14:150"},"nodeType":"YulIf","src":"1257:34:150"},{"nodeType":"YulVariableDeclaration","src":"1300:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1314:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"1325:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1310:3:150"},"nodeType":"YulFunctionCall","src":"1310:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1304:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1380:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1389:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1392:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1382:6:150"},"nodeType":"YulFunctionCall","src":"1382:12:150"},"nodeType":"YulExpressionStatement","src":"1382:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1359:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1363:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1355:3:150"},"nodeType":"YulFunctionCall","src":"1355:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1370:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1351:3:150"},"nodeType":"YulFunctionCall","src":"1351:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1344:6:150"},"nodeType":"YulFunctionCall","src":"1344:35:150"},"nodeType":"YulIf","src":"1341:55:150"},{"nodeType":"YulVariableDeclaration","src":"1405:19:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1421:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1415:5:150"},"nodeType":"YulFunctionCall","src":"1415:9:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1409:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1447:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1449:16:150"},"nodeType":"YulFunctionCall","src":"1449:18:150"},"nodeType":"YulExpressionStatement","src":"1449:18:150"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1439:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1443:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1436:2:150"},"nodeType":"YulFunctionCall","src":"1436:10:150"},"nodeType":"YulIf","src":"1433:36:150"},{"nodeType":"YulVariableDeclaration","src":"1478:17:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1492:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1488:3:150"},"nodeType":"YulFunctionCall","src":"1488:7:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1482:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1504:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1524:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1518:5:150"},"nodeType":"YulFunctionCall","src":"1518:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1508:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1536:71:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1558:6:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1582:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1586:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1578:3:150"},"nodeType":"YulFunctionCall","src":"1578:13:150"},{"name":"_4","nodeType":"YulIdentifier","src":"1593:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1574:3:150"},"nodeType":"YulFunctionCall","src":"1574:22:150"},{"kind":"number","nodeType":"YulLiteral","src":"1598:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1570:3:150"},"nodeType":"YulFunctionCall","src":"1570:31:150"},{"name":"_4","nodeType":"YulIdentifier","src":"1603:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1566:3:150"},"nodeType":"YulFunctionCall","src":"1566:40:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1554:3:150"},"nodeType":"YulFunctionCall","src":"1554:53:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1540:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1666:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1668:16:150"},"nodeType":"YulFunctionCall","src":"1668:18:150"},"nodeType":"YulExpressionStatement","src":"1668:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1625:10:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1637:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1622:2:150"},"nodeType":"YulFunctionCall","src":"1622:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1645:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1657:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1642:2:150"},"nodeType":"YulFunctionCall","src":"1642:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1619:2:150"},"nodeType":"YulFunctionCall","src":"1619:46:150"},"nodeType":"YulIf","src":"1616:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1704:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1708:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1697:6:150"},"nodeType":"YulFunctionCall","src":"1697:22:150"},"nodeType":"YulExpressionStatement","src":"1697:22:150"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1735:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"1743:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1728:6:150"},"nodeType":"YulFunctionCall","src":"1728:18:150"},"nodeType":"YulExpressionStatement","src":"1728:18:150"},{"body":{"nodeType":"YulBlock","src":"1792:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1801:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1804:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1794:6:150"},"nodeType":"YulFunctionCall","src":"1794:12:150"},"nodeType":"YulExpressionStatement","src":"1794:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1769:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"1773:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1765:3:150"},"nodeType":"YulFunctionCall","src":"1765:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"1778:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1761:3:150"},"nodeType":"YulFunctionCall","src":"1761:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1783:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1758:2:150"},"nodeType":"YulFunctionCall","src":"1758:33:150"},"nodeType":"YulIf","src":"1755:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1856:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1860:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1852:3:150"},"nodeType":"YulFunctionCall","src":"1852:11:150"},{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1869:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1877:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1865:3:150"},"nodeType":"YulFunctionCall","src":"1865:15:150"},{"name":"_3","nodeType":"YulIdentifier","src":"1882:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"1817:34:150"},"nodeType":"YulFunctionCall","src":"1817:68:150"},"nodeType":"YulExpressionStatement","src":"1817:68:150"},{"nodeType":"YulAssignment","src":"1894:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1904:6:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1894:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1076:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1087:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1099:6:150","type":""}],"src":"1019:897:150"},{"body":{"nodeType":"YulBlock","src":"2001:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"2047:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2056:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2059:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2049:6:150"},"nodeType":"YulFunctionCall","src":"2049:12:150"},"nodeType":"YulExpressionStatement","src":"2049:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2022:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2031:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2018:3:150"},"nodeType":"YulFunctionCall","src":"2018:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2043:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2014:3:150"},"nodeType":"YulFunctionCall","src":"2014:32:150"},"nodeType":"YulIf","src":"2011:52:150"},{"nodeType":"YulVariableDeclaration","src":"2072:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2091:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2085:5:150"},"nodeType":"YulFunctionCall","src":"2085:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2076:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2159:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2168:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2171:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2161:6:150"},"nodeType":"YulFunctionCall","src":"2161:12:150"},"nodeType":"YulExpressionStatement","src":"2161:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2123:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2134:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2141:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2130:3:150"},"nodeType":"YulFunctionCall","src":"2130:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2120:2:150"},"nodeType":"YulFunctionCall","src":"2120:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2113:6:150"},"nodeType":"YulFunctionCall","src":"2113:45:150"},"nodeType":"YulIf","src":"2110:65:150"},{"nodeType":"YulAssignment","src":"2184:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2194:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2184:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1967:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1978:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1990:6:150","type":""}],"src":"1921:284:150"},{"body":{"nodeType":"YulBlock","src":"2346:130:150","statements":[{"nodeType":"YulAssignment","src":"2356:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2368:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2379:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2364:3:150"},"nodeType":"YulFunctionCall","src":"2364:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2356:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2398:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2413:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2421:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2409:3:150"},"nodeType":"YulFunctionCall","src":"2409:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2391:6:150"},"nodeType":"YulFunctionCall","src":"2391:36:150"},"nodeType":"YulExpressionStatement","src":"2391:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2447:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2458:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2443:3:150"},"nodeType":"YulFunctionCall","src":"2443:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"2463:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2436:6:150"},"nodeType":"YulFunctionCall","src":"2436:34:150"},"nodeType":"YulExpressionStatement","src":"2436:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2307:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2318:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2326:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2337:4:150","type":""}],"src":"2210:266:150"}]},"contents":"{\n    { }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let length := mload(value0)\n        mstore(add(headStart, 32), length)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(headStart, 64), length)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        if gt(_3, _1) { panic_error_0x41() }\n        let _4 := not(31)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, _3)\n        if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80634bf5d7e91461004557806391ddadf414610063575b600080fd5b61004d610082565b60405161005a919061026c565b60405180910390f35b61006b610149565b60405165ffffffffffff909116815260200161005a565b6060600061008e6101d9565b905080600c0160009054906101000a90046001600160a01b03166001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561010657506040513d6000823e601f3d908101601f1916820160405261010391908101906102b5565b60015b61014357505060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b92915050565b6000806101546101d9565b905080600c0160009054906101000a90046001600160a01b03166001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156101c7575060408051601f3d908101601f191682019092526101c491810190610361565b60015b610143576101d36101fd565b91505090565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006102084361020d565b905090565b600065ffffffffffff821115610244576040516306dfcc6560e41b8152603060048201526024810183905260440160405180910390fd5b5090565b60005b8381101561026357818101518382015260200161024b565b50506000910152565b602081526000825180602084015261028b816040850160208701610248565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156102c757600080fd5b81516001600160401b03808211156102de57600080fd5b818401915084601f8301126102f257600080fd5b8151818111156103045761030461029f565b604051601f8201601f19908116603f0116810190838211818310171561032c5761032c61029f565b8160405282815287602084870101111561034557600080fd5b610356836020830160208801610248565b979650505050505050565b60006020828403121561037357600080fd5b815165ffffffffffff8116811461038957600080fd5b939250505056fea2646970667358221220006d024c9be5d8267fb30bea3c5abc219340cfd5ebca138455b93973ae99cf9764736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x40 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x45 JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x63 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6B PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x5A JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x8E PUSH2 0x1D9 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xC ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x106 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x103 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x143 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x154 PUSH2 0x1D9 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0xC ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1C7 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1C4 SWAP2 DUP2 ADD SWAP1 PUSH2 0x361 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x143 JUMPI PUSH2 0x1D3 PUSH2 0x1FD JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x208 NUMBER PUSH2 0x20D JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x263 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x24B JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x28B DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x248 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x304 JUMPI PUSH2 0x304 PUSH2 0x29F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x32C JUMPI PUSH2 0x32C PUSH2 0x29F JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x345 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x356 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x248 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x389 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STOP PUSH14 0x24C9BE5D8267FB30BEA3C5ABC21 SWAP4 BLOCKHASH 0xCF 0xD5 0xEB 0xCA SGT DUP5 SSTORE 0xB9 CODECOPY PUSH20 0xAE99CF9764736F6C634300081400330000000000 ","sourceMap":"1642:1272:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2597:315;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1995:278;;;:::i;:::-;;;860:14:150;848:27;;;830:46;;818:2;803:18;1995:278:98;678:204:150;2597:315:98;2642:13;2663:46;2712:41;:39;:41::i;:::-;2663:90;;2763:1;:6;;;;;;;;;;-1:-1:-1;;;;;2763:6:98;-1:-1:-1;;;;;2763:17:98;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2763:19:98;;;;;;;;;;;;:::i;:::-;;;2759:149;;-1:-1:-1;;2863:38:98;;;;;;;;;;;;;;;;;;2597:315::o;2759:149::-;2832:9;2597:315;-1:-1:-1;;2597:315:98:o;1995:278::-;2035:6;2049:46;2098:41;:39;:41::i;:::-;2049:90;;2149:1;:6;;;;;;;;;;-1:-1:-1;;;;;2149:6:98;-1:-1:-1;;;;;2149:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2149:14:98;;;;;;;;-1:-1:-1;;2149:14:98;;;;;;;;;;;;:::i;:::-;;;2145:124;;2244:18;:16;:18::i;:::-;2237:25;;;1995:278;:::o;2697:146:107:-;2810:23;;2697:146::o;931:109:42:-;977:6;1002:31;1020:12;1002:17;:31::i;:::-;995:38;;931:109;:::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;2391:36:150;2443:18;;;2436:34;;;2364:18;;14416:41:37;;;;;;;14365:103;-1:-1:-1;14491:5:37;14291:213::o;14:250:150:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:150;238:16;;231:27;14:250::o;269:404::-;426:2;415:9;408:21;389:4;458:6;452:13;501:6;496:2;485:9;481:18;474:34;517:79;589:6;584:2;573:9;569:18;564:2;556:6;552:15;517:79;:::i;:::-;657:2;636:15;-1:-1:-1;;632:29:150;617:45;;;;664:2;613:54;;269:404;-1:-1:-1;;269:404:150:o;887:127::-;948:10;943:3;939:20;936:1;929:31;979:4;976:1;969:15;1003:4;1000:1;993:15;1019:897;1099:6;1152:2;1140:9;1131:7;1127:23;1123:32;1120:52;;;1168:1;1165;1158:12;1120:52;1195:16;;-1:-1:-1;;;;;1260:14:150;;;1257:34;;;1287:1;1284;1277:12;1257:34;1325:6;1314:9;1310:22;1300:32;;1370:7;1363:4;1359:2;1355:13;1351:27;1341:55;;1392:1;1389;1382:12;1341:55;1421:2;1415:9;1443:2;1439;1436:10;1433:36;;;1449:18;;:::i;:::-;1524:2;1518:9;1492:2;1578:13;;-1:-1:-1;;1574:22:150;;;1598:2;1570:31;1566:40;1554:53;;;1622:18;;;1642:22;;;1619:46;1616:72;;;1668:18;;:::i;:::-;1708:10;1704:2;1697:22;1743:2;1735:6;1728:18;1783:7;1778:2;1773;1769;1765:11;1761:20;1758:33;1755:53;;;1804:1;1801;1794:12;1755:53;1817:68;1882:2;1877;1869:6;1865:15;1860:2;1856;1852:11;1817:68;:::i;:::-;1904:6;1019:897;-1:-1:-1;;;;;;;1019:897:150:o;1921:284::-;1990:6;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2091:9;2085:16;2141:14;2134:5;2130:26;2123:5;2120:37;2110:65;;2171:1;2168;2161:12;2110:65;2194:5;1921:284;-1:-1:-1;;;1921:284:150:o"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","clock()":"91ddadf4"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This library interacts with the IVOT3 interface to get the clock time or mode.\",\"errors\":{\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Tries to get the clock mode from the vot3 interface. If it fails, it returns the default block number mode.\",\"returns\":{\"_0\":\"The clock mode as a string.\"}},\"clock()\":{\"details\":\"Tries to get the timepoint from the vot3 clock. If it fails, it returns the current block number.\",\"returns\":{\"_0\":\"The current timepoint or block number.\"}}},\"title\":\"GovernorClockLogic Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"CLOCK_MODE()\":{\"notice\":\"Returns the machine-readable description of the clock mode as specified in EIP-6372.\"},\"clock()\":{\"notice\":\"Returns the current timepoint from the token's clock, falling back to the current block number if the token does not implement EIP-6372.\"}},\"notice\":\"Library for managing the clock logic as specified in EIP-6372, with fallback to block numbers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorClockLogic.sol\":\"GovernorClockLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol":{"GovernorCommunityExecutionLogic":{"abi":[{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"GovernorRestrictedProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[],"name":"InvalidPayeeAddress","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"MissingProposalBudget","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NotReadyToClaim","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"PayeesAlreadyFinalized","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"PayoutAlreadyClaimed","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"TooManyContributors","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"UnauthorizedCommunityExecution","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxBudget","type":"uint256"}],"name":"ProposalBudgetSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"string[]","name":"contributors","type":"string[]"}],"name":"ProposalContributorsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalInDevelopment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":false,"internalType":"string","name":"implementationDiscussion","type":"string"}],"name":"ProposalInDevelopmentDetails","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalPayoutClaimed","type":"event"},{"inputs":[],"name":"getMaxContributorsPerProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalBudget","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalContributors","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalDescription","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalImplementationDiscussion","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalPayee","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isProposalCommunityExecutionFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isProposalPaid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":3405},{"length":20,"start":5316},{"length":20,"start":5439}]}},"object":"6121c761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a35760003560e01c806301d6e78f146100a85780630a9c9f19146100ce57806316a19ad6146100f057806320132e5414610110578063229acb17146101335780634bb66439146101535780635452a01b1461015b5780635b16e25914610186578063656f3e40146101a65780638a69614e146101b9578063c305f59a146101d9575b600080fd5b6100bb6100b6366004611b21565b6101ec565b6040519081526020015b60405180910390f35b8180156100da57600080fd5b506100ee6100e9366004611be4565b61020a565b005b8180156100fc57600080fd5b506100ee61010b366004611be4565b610243565b61012361011e366004611b21565b61032e565b60405190151581526020016100c5565b610146610141366004611b21565b61034f565b6040516100c59190611cfb565b6100bb6103fb565b61016e610169366004611b21565b61040e565b6040516001600160a01b0390911681526020016100c5565b610199610194366004611b21565b610435565b6040516100c59190611d0e565b6101466101b4366004611b21565b61052a565b8180156101c557600080fd5b506100ee6101d4366004611b21565b610551565b6101236101e7366004611b21565b6106c9565b60006101f66106ea565b600092835260250160205250604090205490565b610214898261070e565b61021e89896107c0565b610228838361084f565b610238898989898989898961088a565b505050505050505050565b61024d898261098d565b61025789896107c0565b610261838361084f565b600061026b6106ea565b60008b815260278201602052604090205490915060ff16156102a857604051630e4ce86960e41b8152600481018b90526024015b60405180910390fd5b60008a81526027820160205260409020805460ff191660011790556102d38a8a8a8a8a8a8a8a61088a565b60008a8152601e82016020908152604091829020805460ff1916600117905590518b81527fae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0910160405180910390a150505050505050505050565b60006103386106ea565b600092835260270160205250604090205460ff1690565b60606103596106ea565b600083815260299190910160205260409020805461037690611d86565b80601f01602080910402602001604051908101604052809291908181526020018280546103a290611d86565b80156103ef5780601f106103c4576101008083540402835291602001916103ef565b820191906000526020600020905b8154815290600101906020018083116103d257829003601f168201915b50505050509050919050565b60006104056106ea565b60240154905090565b60006104186106ea565b60009283526026016020525060409020546001600160a01b031690565b606061043f6106ea565b602b016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561051f57838290600052602060002001805461049290611d86565b80601f01602080910402602001604051908101604052809291908181526020018280546104be90611d86565b801561050b5780601f106104e05761010080835404028352916020019161050b565b820191906000526020600020905b8154815290600101906020018083116104ee57829003601f168201915b505050505081526020019060010190610473565b505050509050919050565b60606105346106ea565b6000838152602a9190910160205260409020805461037690611d86565b600061055b6106ea565b90506105708261056b6009610aa4565b610ac7565b50600082815260288201602052604090205460ff16156105a6576040516331bfcd9f60e11b81526004810183905260240161029f565b600082815260268201602090815260408083205460258501909252909120546001600160a01b03909116908115806105dc575080155b156105fd57604051637b210ad760e11b81526004810185905260240161029f565b600084815260288401602052604090819020805460ff1916600117905560238401549051638e184b3f60e01b81526001600160a01b0390911690638e184b3f9061064d9085908590600401611dc0565b600060405180830381600087803b15801561066757600080fd5b505af115801561067b573d6000803e3d6000fd5b50505050816001600160a01b0316847fea09ed9ea14239b5e3188607c24cf3ee441615cfa1f8ff9dfeaf12f0a7949bc6836040516106bb91815260200190565b60405180910390a350505050565b60006106d36106ea565b600092835260280160205250604090205460ff1690565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006107186106ea565b600084815260018201602052604090208054919250906001600160a01b03163314801590610744575082155b1561076657338460405163483f74db60e11b815260040161029f929190611dc0565b610784846107746009610aa4565b61077e6008610aa4565b17610ac7565b50600084815260288301602052604090205460ff16156107ba576040516331bfcd9f60e11b81526004810185905260240161029f565b50505050565b60006107ca6106ea565b60008481526025919091016020526040902054905080158015906107f557506001600160a01b038216155b156108135760405163792ee9db60e11b815260040160405180910390fd5b8015801561082957506001600160a01b03821615155b1561084a57604051638667f7cb60e01b81526004810184905260240161029f565b505050565b60006108596106ea565b6024015490508082111561084a57604051631f3ca81760e11b8152600481018390526024810182905260440161029f565b60006108946106ea565b60008a8152602682016020908152604080832080546001600160a01b0319166001600160a01b038e161790556029840190915290209091506108d7878983611e3d565b506000898152602a8201602052604090206108f3858783611e3d565b50610900818a8585610b0f565b876001600160a01b0316897fe88c3dd4f40f87300587b77b8fd804224e789f0998e5421d84fc6641bc4206db898989896040516109409493929190611f25565b60405180910390a3887f73a685e17e09a2fbdba72e1aa6c2adf949b4025a58dcb463ce267875fb7ea3f1848460405161097a929190611f4c565b60405180910390a2505050505050505050565b60006109976106ea565b600084815260018201602052604090208054919250906001600160a01b031633148015906109c3575082155b156109e557338460405163483f74db60e11b815260040161029f929190611dc0565b600084815260158301602052604081205460ff1690816001811115610a0c57610a0c611d70565b14610a2e5784816040516344b7587b60e01b815260040161029f929190611fe7565b610a4685610a3c6004610aa4565b61077e6006610aa4565b506002820154600160201b900460ff168015610a7b57506004610a6886610b98565b6009811115610a7957610a79611d70565b145b15610a9d5784816040516344b7587b60e01b815260040161029f929190611fe7565b5050505050565b6000816009811115610ab857610ab8611d70565b600160ff919091161b92915050565b600080610ad384610b98565b9050600083610ae183610aa4565b1603610b06578381846040516331b75e4d60e01b815260040161029f9392919061200b565b90505b92915050565b6000838152602b850160205260408120610b2891611a99565b60005b81811015610a9d576000848152602b860160205260409020838383818110610b5557610b55612033565b9050602002810190610b679190612049565b82546001810184556000938452602090932090920191610b879183611e3d565b50610b91816120a5565b9050610b2b565b600080610ba36106ea565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610bf857610bf8611d70565b03610c0a575060089695505050505050565b6002836002811115610c1e57610c1e611d70565b03610c30575060099695505050505050565b8115610c43575060069695505050505050565b8015610c56575060029695505050505050565b8360010154600003610c7e57604051636ad0607560e01b81526004810188905260240161029f565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfc91906120be565b1015610d0f575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e91906120d7565b65ffffffffffff1690506000610d9389610f3f565b9050610d9e8961110e565b610db15750600798975050505050505050565b818110610dc75750600198975050505050505050565b610dd08961113a565b1580610de25750610de089611198565b155b15610df65750600398975050505050505050565b610dff896111c0565b600003610e155750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9691906120ff565b15610eab575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610ef6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1a91906120ff565b15610f2f575060069998505050505050505050565b5060029998505050505050505050565b600080610f4a6106ea565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fde91906120be565b1061107b576000610fed6106ea565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa15801561104f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107391906120be565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f491906120be565b6110fd846111f2565b611107919061211c565b9392505050565b6000806111196106ea565b60009384526001016020525050604090206004810154600390910154101590565b6000806111456106ea565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061118e611177866111f2565b83600181111561118957611189611d70565b61159a565b1115949350505050565b6000806111a36106ea565b6000938452600f0160205250506040902080546001909101541190565b6000806111cb6106ea565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b6000806111fd6106ea565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129191906120be565b106112e95760006112a06106ea565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401611032565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135991906120be565b6000858152600180850160205260409091200154611377919061212f565b9050600061138660018361212f565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ff91906120be565b6114099190612142565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015611462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148691906120be565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f591906120d7565b65ffffffffffff16811161157b5773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561154c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157091906120d7565b65ffffffffffff1690505b82611586838361211c565b611590919061211c565b9695505050505050565b6000806115a56106ea565b905060646115b38585611636565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162291906120be565b61162c9190612142565b611073919061216f565b6000610b06838360ff16600181111561165157611651611d70565b60008061165c6106ea565b9050600081601801600085600181111561167857611678611d70565b600181111561168957611689611d70565b81526020810191909152604001600090812054915060188301818660018111156116b5576116b5611d70565b60018111156116c6576116c6611d70565b815260208101919091526040016000206116e160018461212f565b815481106116f1576116f1612033565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611737576001600160d01b03169450610b099350505050565b6117886117438961179d565b8660180160008a600181111561175b5761175b611d70565b600181111561176c5761176c611d70565b81526020019081526020016000206117d490919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff8211156117d0576040516306dfcc6560e41b8152603060048201526024810183905260440161029f565b5090565b8154600090818160058111156118335760006117ef8461188a565b6117f9908561212f565b60008881526020902090915081015465ffffffffffff908116908716101561182357809150611831565b61182e81600161211c565b92505b505b600061184187878585611972565b9050801561187c576118668761185860018461212f565b600091825260209091200190565b54600160301b90046001600160d01b031661187f565b60005b979650505050505050565b60008160000361189c57506000919050565b600060016118a9846119d4565b901c6001901b905060018184816118c2576118c2612159565b048201901c905060018184816118da576118da612159565b048201901c905060018184816118f2576118f2612159565b048201901c9050600181848161190a5761190a612159565b048201901c9050600181848161192257611922612159565b048201901c9050600181848161193a5761193a612159565b048201901c9050600181848161195257611952612159565b048201901c90506111078182858161196c5761196c612159565b04611a68565b60005b818310156119cc5760006119898484611a7e565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156119b8578092506119c6565b6119c381600161211c565b93505b50611975565b509392505050565b600080608083901c156119e957608092831c92015b604083901c156119fb57604092831c92015b602083901c15611a0d57602092831c92015b601083901c15611a1f57601092831c92015b600883901c15611a3157600892831c92015b600483901c15611a4357600492831c92015b600283901c15611a5557600292831c92015b600183901c15610b095760010192915050565b6000818310611a775781610b06565b5090919050565b6000611a8d600284841861216f565b610b069084841661211c565b5080546000825590600052602060002090810190611ab79190611aba565b50565b808211156117d0576000611ace8282611ad7565b50600101611aba565b508054611ae390611d86565b6000825580601f10611af3575050565b601f016020900490600052602060002090810190611ab791905b808211156117d05760008155600101611b0d565b600060208284031215611b3357600080fd5b5035919050565b60008083601f840112611b4c57600080fd5b5081356001600160401b03811115611b6357600080fd5b602083019150836020828501011115611b7b57600080fd5b9250929050565b60008083601f840112611b9457600080fd5b5081356001600160401b03811115611bab57600080fd5b6020830191508360208260051b8501011115611b7b57600080fd5b8015158114611ab757600080fd5b8035611bdf81611bc6565b919050565b600080600080600080600080600060c08a8c031215611c0257600080fd5b8935985060208a01356001600160a01b0381168114611c2057600080fd5b975060408a01356001600160401b0380821115611c3c57600080fd5b611c488d838e01611b3a565b909950975060608c0135915080821115611c6157600080fd5b611c6d8d838e01611b3a565b909750955060808c0135915080821115611c8657600080fd5b50611c938c828d01611b82565b9094509250611ca6905060a08b01611bd4565b90509295985092959850929598565b6000815180845260005b81811015611cdb57602081850181015186830182015201611cbf565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610b066020830184611cb5565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611d6357603f19888603018452611d51858351611cb5565b94509285019290850190600101611d35565b5092979650505050505050565b634e487b7160e01b600052602160045260246000fd5b600181811c90821680611d9a57607f821691505b602082108103611dba57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b601f82111561084a57600081815260208120601f850160051c81016020861015611e165750805b601f850160051c820191505b81811015611e3557828155600101611e22565b505050505050565b6001600160401b03831115611e5457611e54611dd9565b611e6883611e628354611d86565b83611def565b6000601f841160018114611e9c5760008515611e845750838201355b600019600387901b1c1916600186901b178355610a9d565b600083815260209020601f19861690835b82811015611ecd5786850135825560209485019460019092019101611ead565b5086821015611eea5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611f39604083018688611efc565b828103602084015261187f818587611efc565b60208082528181018390526000906040600585901b8401810190840186845b87811015611fda57868403603f190183528135368a9003601e19018112611f9157600080fd5b890185810190356001600160401b03811115611fac57600080fd5b803603821315611fbb57600080fd5b611fc6868284611efc565b955050509184019190840190600101611f6b565b5091979650505050505050565b8281526040810160028310611ffe57611ffe611d70565b8260208301529392505050565b83815260608101600a841061202257612022611d70565b602082019390935260400152919050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261206057600080fd5b8301803591506001600160401b0382111561207a57600080fd5b602001915036819003821315611b7b57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120b7576120b761208f565b5060010190565b6000602082840312156120d057600080fd5b5051919050565b6000602082840312156120e957600080fd5b815165ffffffffffff81168114610b0657600080fd5b60006020828403121561211157600080fd5b8151610b0681611bc6565b80820180821115610b0957610b0961208f565b81810381811115610b0957610b0961208f565b8082028115828204841417610b0957610b0961208f565b634e487b7160e01b600052601260045260246000fd5b60008261218c57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122070a64416f6de954c0730435f445df20d19644fee9b3b1e4db67012b6ee393caf64736f6c63430008140033","opcodes":"PUSH2 0x21C7 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA3 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1D6E78F EQ PUSH2 0xA8 JUMPI DUP1 PUSH4 0xA9C9F19 EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0x16A19AD6 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x20132E54 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x229ACB17 EQ PUSH2 0x133 JUMPI DUP1 PUSH4 0x4BB66439 EQ PUSH2 0x153 JUMPI DUP1 PUSH4 0x5452A01B EQ PUSH2 0x15B JUMPI DUP1 PUSH4 0x5B16E259 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x656F3E40 EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x8A69614E EQ PUSH2 0x1B9 JUMPI DUP1 PUSH4 0xC305F59A EQ PUSH2 0x1D9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBB PUSH2 0xB6 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x1EC JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xEE PUSH2 0xE9 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BE4 JUMP JUMPDEST PUSH2 0x20A JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xEE PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1BE4 JUMP JUMPDEST PUSH2 0x243 JUMP JUMPDEST PUSH2 0x123 PUSH2 0x11E CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x32E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC5 JUMP JUMPDEST PUSH2 0x146 PUSH2 0x141 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x34F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC5 SWAP2 SWAP1 PUSH2 0x1CFB JUMP JUMPDEST PUSH2 0xBB PUSH2 0x3FB JUMP JUMPDEST PUSH2 0x16E PUSH2 0x169 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x40E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC5 JUMP JUMPDEST PUSH2 0x199 PUSH2 0x194 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x435 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC5 SWAP2 SWAP1 PUSH2 0x1D0E JUMP JUMPDEST PUSH2 0x146 PUSH2 0x1B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x52A JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xEE PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x551 JUMP JUMPDEST PUSH2 0x123 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F6 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x25 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x214 DUP10 DUP3 PUSH2 0x70E JUMP JUMPDEST PUSH2 0x21E DUP10 DUP10 PUSH2 0x7C0 JUMP JUMPDEST PUSH2 0x228 DUP4 DUP4 PUSH2 0x84F JUMP JUMPDEST PUSH2 0x238 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x88A JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x24D DUP10 DUP3 PUSH2 0x98D JUMP JUMPDEST PUSH2 0x257 DUP10 DUP10 PUSH2 0x7C0 JUMP JUMPDEST PUSH2 0x261 DUP4 DUP4 PUSH2 0x84F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26B PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x27 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE4CE869 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP12 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x27 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x2D3 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0x88A JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1E DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE SWAP1 MLOAD DUP12 DUP2 MSTORE PUSH32 0xAE96D9C307786EFA9D87D53B27B247AA9EF9C3640C4D5065FDDC861C71684AB0 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x338 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x27 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x359 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x29 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x376 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3A2 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3EF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3C4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3EF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3D2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x405 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x24 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x418 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x26 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x43F PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x2B ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x51F JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x492 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4BE SWAP1 PUSH2 0x1D86 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x50B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4EE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x473 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x534 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2A SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x376 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x55B PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP PUSH2 0x570 DUP3 PUSH2 0x56B PUSH1 0x9 PUSH2 0xAA4 JUMP JUMPDEST PUSH2 0xAC7 JUMP JUMPDEST POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x28 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x5A6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x31BFCD9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x26 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x25 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP2 ISZERO DUP1 PUSH2 0x5DC JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x5FD JUMPI PUSH1 0x40 MLOAD PUSH4 0x7B210AD7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x28 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x23 DUP5 ADD SLOAD SWAP1 MLOAD PUSH4 0x8E184B3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E184B3F SWAP1 PUSH2 0x64D SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DC0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x667 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x67B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0xEA09ED9EA14239B5E3188607C24CF3EE441615CFA1F8FF9DFEAF12F0A7949BC6 DUP4 PUSH1 0x40 MLOAD PUSH2 0x6BB SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D3 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x28 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x718 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO SWAP1 PUSH2 0x744 JUMPI POP DUP3 ISZERO JUMPDEST ISZERO PUSH2 0x766 JUMPI CALLER DUP5 PUSH1 0x40 MLOAD PUSH4 0x483F74DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP3 SWAP2 SWAP1 PUSH2 0x1DC0 JUMP JUMPDEST PUSH2 0x784 DUP5 PUSH2 0x774 PUSH1 0x9 PUSH2 0xAA4 JUMP JUMPDEST PUSH2 0x77E PUSH1 0x8 PUSH2 0xAA4 JUMP JUMPDEST OR PUSH2 0xAC7 JUMP JUMPDEST POP PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x28 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x7BA JUMPI PUSH1 0x40 MLOAD PUSH4 0x31BFCD9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7CA PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x25 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x7F5 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x813 JUMPI PUSH1 0x40 MLOAD PUSH4 0x792EE9DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 ISZERO DUP1 ISZERO PUSH2 0x829 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x84A JUMPI PUSH1 0x40 MLOAD PUSH4 0x8667F7CB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x859 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x24 ADD SLOAD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x84A JUMPI PUSH1 0x40 MLOAD PUSH4 0x1F3CA817 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x29F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x894 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x26 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND OR SWAP1 SSTORE PUSH1 0x29 DUP5 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x8D7 DUP8 DUP10 DUP4 PUSH2 0x1E3D JUMP JUMPDEST POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2A DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x8F3 DUP6 DUP8 DUP4 PUSH2 0x1E3D JUMP JUMPDEST POP PUSH2 0x900 DUP2 DUP11 DUP6 DUP6 PUSH2 0xB0F JUMP JUMPDEST DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0xE88C3DD4F40F87300587B77B8FD804224E789F0998E5421D84FC6641BC4206DB DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x940 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP9 PUSH32 0x73A685E17E09A2FBDBA72E1AA6C2ADF949B4025A58DCB463CE267875FB7EA3F1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x97A SWAP3 SWAP2 SWAP1 PUSH2 0x1F4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x997 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO SWAP1 PUSH2 0x9C3 JUMPI POP DUP3 ISZERO JUMPDEST ISZERO PUSH2 0x9E5 JUMPI CALLER DUP5 PUSH1 0x40 MLOAD PUSH4 0x483F74DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP3 SWAP2 SWAP1 PUSH2 0x1DC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA0C JUMPI PUSH2 0xA0C PUSH2 0x1D70 JUMP JUMPDEST EQ PUSH2 0xA2E JUMPI DUP5 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP3 SWAP2 SWAP1 PUSH2 0x1FE7 JUMP JUMPDEST PUSH2 0xA46 DUP6 PUSH2 0xA3C PUSH1 0x4 PUSH2 0xAA4 JUMP JUMPDEST PUSH2 0x77E PUSH1 0x6 PUSH2 0xAA4 JUMP JUMPDEST POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 ISZERO PUSH2 0xA7B JUMPI POP PUSH1 0x4 PUSH2 0xA68 DUP7 PUSH2 0xB98 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0xA79 JUMPI PUSH2 0xA79 PUSH2 0x1D70 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0xA9D JUMPI DUP5 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP3 SWAP2 SWAP1 PUSH2 0x1FE7 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0xAB8 JUMPI PUSH2 0xAB8 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAD3 DUP5 PUSH2 0xB98 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0xAE1 DUP4 PUSH2 0xAA4 JUMP JUMPDEST AND SUB PUSH2 0xB06 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x200B JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2B DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xB28 SWAP2 PUSH2 0x1A99 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xA9D JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2B DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 DUP4 DUP4 DUP2 DUP2 LT PUSH2 0xB55 JUMPI PUSH2 0xB55 PUSH2 0x2033 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xB67 SWAP2 SWAP1 PUSH2 0x2049 JUMP JUMPDEST DUP3 SLOAD PUSH1 0x1 DUP2 ADD DUP5 SSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 SWAP1 SWAP4 KECCAK256 SWAP1 SWAP3 ADD SWAP2 PUSH2 0xB87 SWAP2 DUP4 PUSH2 0x1E3D JUMP JUMPDEST POP PUSH2 0xB91 DUP2 PUSH2 0x20A5 JUMP JUMPDEST SWAP1 POP PUSH2 0xB2B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA3 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xBF8 JUMPI PUSH2 0xBF8 PUSH2 0x1D70 JUMP JUMPDEST SUB PUSH2 0xC0A JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC1E JUMPI PUSH2 0xC1E PUSH2 0x1D70 JUMP JUMPDEST SUB PUSH2 0xC30 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0xC43 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC56 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0xC7E JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCD8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCFC SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST LT ISZERO PUSH2 0xD0F JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD5A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD7E SWAP2 SWAP1 PUSH2 0x20D7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0xD93 DUP10 PUSH2 0xF3F JUMP JUMPDEST SWAP1 POP PUSH2 0xD9E DUP10 PUSH2 0x110E JUMP JUMPDEST PUSH2 0xDB1 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0xDC7 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xDD0 DUP10 PUSH2 0x113A JUMP JUMPDEST ISZERO DUP1 PUSH2 0xDE2 JUMPI POP PUSH2 0xDE0 DUP10 PUSH2 0x1198 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xDF6 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xDFF DUP10 PUSH2 0x11C0 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0xE15 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE96 SWAP2 SWAP1 PUSH2 0x20FF JUMP JUMPDEST ISZERO PUSH2 0xEAB JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEF6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF1A SWAP2 SWAP1 PUSH2 0x20FF JUMP JUMPDEST ISZERO PUSH2 0xF2F JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF4A PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFBA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFDE SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST LT PUSH2 0x107B JUMPI PUSH1 0x0 PUSH2 0xFED PUSH2 0x6EA JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x104F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1073 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x10D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10F4 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST PUSH2 0x10FD DUP5 PUSH2 0x11F2 JUMP JUMPDEST PUSH2 0x1107 SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1119 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1145 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x118E PUSH2 0x1177 DUP7 PUSH2 0x11F2 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1189 JUMPI PUSH2 0x1189 PUSH2 0x1D70 JUMP JUMPDEST PUSH2 0x159A JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11A3 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11CB PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11FD PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x126D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1291 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST LT PUSH2 0x12E9 JUMPI PUSH1 0x0 PUSH2 0x12A0 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x1032 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1335 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1359 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x1377 SWAP2 SWAP1 PUSH2 0x212F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1386 PUSH1 0x1 DUP4 PUSH2 0x212F JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13FF SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST PUSH2 0x1409 SWAP2 SWAP1 PUSH2 0x2142 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1462 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1486 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14F5 SWAP2 SWAP1 PUSH2 0x20D7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x157B JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x154C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1570 SWAP2 SWAP1 PUSH2 0x20D7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1586 DUP4 DUP4 PUSH2 0x211C JUMP JUMPDEST PUSH2 0x1590 SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x15A5 PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x15B3 DUP6 DUP6 PUSH2 0x1636 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1622 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST PUSH2 0x162C SWAP2 SWAP1 PUSH2 0x2142 JUMP JUMPDEST PUSH2 0x1073 SWAP2 SWAP1 PUSH2 0x216F JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB06 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1651 JUMPI PUSH2 0x1651 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x165C PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1678 JUMPI PUSH2 0x1678 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1689 JUMPI PUSH2 0x1689 PUSH2 0x1D70 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16B5 JUMPI PUSH2 0x16B5 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16C6 JUMPI PUSH2 0x16C6 PUSH2 0x1D70 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x16E1 PUSH1 0x1 DUP5 PUSH2 0x212F JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x16F1 JUMPI PUSH2 0x16F1 PUSH2 0x2033 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x1737 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0xB09 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1788 PUSH2 0x1743 DUP10 PUSH2 0x179D JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x175B JUMPI PUSH2 0x175B PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x176C JUMPI PUSH2 0x176C PUSH2 0x1D70 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x17D4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x17D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x29F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x1833 JUMPI PUSH1 0x0 PUSH2 0x17EF DUP5 PUSH2 0x188A JUMP JUMPDEST PUSH2 0x17F9 SWAP1 DUP6 PUSH2 0x212F JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x1823 JUMPI DUP1 SWAP2 POP PUSH2 0x1831 JUMP JUMPDEST PUSH2 0x182E DUP2 PUSH1 0x1 PUSH2 0x211C JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x1841 DUP8 DUP8 DUP6 DUP6 PUSH2 0x1972 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x187C JUMPI PUSH2 0x1866 DUP8 PUSH2 0x1858 PUSH1 0x1 DUP5 PUSH2 0x212F JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x187F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x189C JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x18A9 DUP5 PUSH2 0x19D4 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x18C2 JUMPI PUSH2 0x18C2 PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x18DA JUMPI PUSH2 0x18DA PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x18F2 JUMPI PUSH2 0x18F2 PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x190A JUMPI PUSH2 0x190A PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1922 JUMPI PUSH2 0x1922 PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x193A JUMPI PUSH2 0x193A PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1952 JUMPI PUSH2 0x1952 PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x1107 DUP2 DUP3 DUP6 DUP2 PUSH2 0x196C JUMPI PUSH2 0x196C PUSH2 0x2159 JUMP JUMPDEST DIV PUSH2 0x1A68 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x19CC JUMPI PUSH1 0x0 PUSH2 0x1989 DUP5 DUP5 PUSH2 0x1A7E JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x19B8 JUMPI DUP1 SWAP3 POP PUSH2 0x19C6 JUMP JUMPDEST PUSH2 0x19C3 DUP2 PUSH1 0x1 PUSH2 0x211C JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x1975 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x19E9 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x19FB JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A0D JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A1F JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A31 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A43 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A55 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xB09 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1A77 JUMPI DUP2 PUSH2 0xB06 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A8D PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x216F JUMP JUMPDEST PUSH2 0xB06 SWAP1 DUP5 DUP5 AND PUSH2 0x211C JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1AB7 SWAP2 SWAP1 PUSH2 0x1ABA JUMP JUMPDEST POP JUMP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x17D0 JUMPI PUSH1 0x0 PUSH2 0x1ACE DUP3 DUP3 PUSH2 0x1AD7 JUMP JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x1ABA JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x1AE3 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x1AF3 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1AB7 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x17D0 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1B0D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1B4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1B63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x1B7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1B94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1BAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x1B7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1AB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x1BDF DUP2 PUSH2 0x1BC6 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x1C02 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1C3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1C48 DUP14 DUP4 DUP15 ADD PUSH2 0x1B3A JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1C61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1C6D DUP14 DUP4 DUP15 ADD PUSH2 0x1B3A JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x80 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1C86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C93 DUP13 DUP3 DUP14 ADD PUSH2 0x1B82 JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP PUSH2 0x1CA6 SWAP1 POP PUSH1 0xA0 DUP12 ADD PUSH2 0x1BD4 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CDB JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x1CBF JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB06 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1CB5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1D63 JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x1D51 DUP6 DUP4 MLOAD PUSH2 0x1CB5 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1D35 JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1D9A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1DBA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x84A JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1E16 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1E35 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1E22 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT ISZERO PUSH2 0x1E54 JUMPI PUSH2 0x1E54 PUSH2 0x1DD9 JUMP JUMPDEST PUSH2 0x1E68 DUP4 PUSH2 0x1E62 DUP4 SLOAD PUSH2 0x1D86 JUMP JUMPDEST DUP4 PUSH2 0x1DEF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP5 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1E9C JUMPI PUSH1 0x0 DUP6 ISZERO PUSH2 0x1E84 JUMPI POP DUP4 DUP3 ADD CALLDATALOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP8 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP7 SWAP1 SHL OR DUP4 SSTORE PUSH2 0xA9D JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP1 DUP4 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1ECD JUMPI DUP7 DUP6 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x20 SWAP5 DUP6 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x1EAD JUMP JUMPDEST POP DUP7 DUP3 LT ISZERO PUSH2 0x1EEA JUMPI PUSH1 0x0 NOT PUSH1 0xF8 DUP9 PUSH1 0x3 SHL AND SHR NOT DUP5 DUP8 ADD CALLDATALOAD AND DUP2 SSTORE JUMPDEST POP POP PUSH1 0x1 DUP6 PUSH1 0x1 SHL ADD DUP4 SSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1F39 PUSH1 0x40 DUP4 ADD DUP7 DUP9 PUSH2 0x1EFC JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x187F DUP2 DUP6 DUP8 PUSH2 0x1EFC JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x40 PUSH1 0x5 DUP6 SWAP1 SHL DUP5 ADD DUP2 ADD SWAP1 DUP5 ADD DUP7 DUP5 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x1FDA JUMPI DUP7 DUP5 SUB PUSH1 0x3F NOT ADD DUP4 MSTORE DUP2 CALLDATALOAD CALLDATASIZE DUP11 SWAP1 SUB PUSH1 0x1E NOT ADD DUP2 SLT PUSH2 0x1F91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 ADD DUP6 DUP2 ADD SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1FAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATASIZE SUB DUP3 SGT ISZERO PUSH2 0x1FBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FC6 DUP7 DUP3 DUP5 PUSH2 0x1EFC JUMP JUMPDEST SWAP6 POP POP POP SWAP2 DUP5 ADD SWAP2 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1F6B JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x1FFE JUMPI PUSH2 0x1FFE PUSH2 0x1D70 JUMP JUMPDEST DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x2022 JUMPI PUSH2 0x2022 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x2060 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x207A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x1B7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x20B7 JUMPI PUSH2 0x20B7 PUSH2 0x208F JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xB06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2111 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xB06 DUP2 PUSH2 0x1BC6 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xB09 JUMPI PUSH2 0xB09 PUSH2 0x208F JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xB09 JUMPI PUSH2 0xB09 PUSH2 0x208F JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xB09 JUMPI PUSH2 0xB09 PUSH2 0x208F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x218C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xA64416F6DE954C0730435F445DF20D1964 0x4F 0xEE SWAP12 EXTCODESIZE 0x1E 0x4D 0xB6 PUSH17 0x12B6EE393CAF64736F6C63430008140033 ","sourceMap":"2172:12126:99:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2172:12126:99;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_checkMarkAsInDevelopmentGuards_55521":{"entryPoint":2445,"id":55521,"parameterSlots":2,"returnSlots":0},"@_checkUpdateCommunityExecutionGuards_55773":{"entryPoint":1806,"id":55773,"parameterSlots":2,"returnSlots":0},"@_proposalDeadline_60068":{"entryPoint":3903,"id":60068,"parameterSlots":1,"returnSlots":1},"@_proposalSnapshot_60010":{"entryPoint":4594,"id":60010,"parameterSlots":1,"returnSlots":1},"@_quorumNumeratorByProposalType_60689":{"entryPoint":null,"id":60689,"parameterSlots":2,"returnSlots":1},"@_setContributors_56022":{"entryPoint":2831,"id":56022,"parameterSlots":4,"returnSlots":0},"@_state_61095":{"entryPoint":2968,"id":61095,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":6514,"id":9858,"parameterSlots":4,"returnSlots":1},"@_validateBudgetVsPayee_55569":{"entryPoint":1984,"id":55569,"parameterSlots":2,"returnSlots":0},"@_validateContributorsCount_55595":{"entryPoint":2127,"id":55595,"parameterSlots":2,"returnSlots":0},"@_writeCommunityExecutionData_55661":{"entryPoint":2186,"id":55661,"parameterSlots":8,"returnSlots":0},"@average_6189":{"entryPoint":6782,"id":6189,"parameterSlots":2,"returnSlots":1},"@claimPayout_55864":{"entryPoint":1361,"id":55864,"parameterSlots":1,"returnSlots":0},"@encodeStateBitmap_60890":{"entryPoint":2724,"id":60890,"parameterSlots":1,"returnSlots":1},"@getGovernorStorage_61139":{"entryPoint":1770,"id":61139,"parameterSlots":0,"returnSlots":1},"@getMaxContributorsPerProposal_55981":{"entryPoint":1019,"id":55981,"parameterSlots":0,"returnSlots":1},"@getProposalBudget_55879":{"entryPoint":492,"id":55879,"parameterSlots":1,"returnSlots":1},"@getProposalContributors_55970":{"entryPoint":1077,"id":55970,"parameterSlots":1,"returnSlots":1},"@getProposalDescription_55939":{"entryPoint":847,"id":55939,"parameterSlots":1,"returnSlots":1},"@getProposalImplementationDiscussion_55954":{"entryPoint":1322,"id":55954,"parameterSlots":1,"returnSlots":1},"@getProposalPayee_55894":{"entryPoint":1038,"id":55894,"parameterSlots":1,"returnSlots":1},"@isProposalCommunityExecutionFinalized_55924":{"entryPoint":814,"id":55924,"parameterSlots":1,"returnSlots":1},"@isProposalPaid_55909":{"entryPoint":1737,"id":55909,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":6612,"id":6671,"parameterSlots":1,"returnSlots":1},"@markAsInDevelopment_55419":{"entryPoint":579,"id":55419,"parameterSlots":9,"returnSlots":0},"@min_6166":{"entryPoint":6760,"id":6166,"parameterSlots":2,"returnSlots":1},"@proposalDepositReached_57544":{"entryPoint":4366,"id":57544,"parameterSlots":1,"returnSlots":1},"@proposalEta_58227":{"entryPoint":4544,"id":58227,"parameterSlots":1,"returnSlots":1},"@quorumByProposalType_60543":{"entryPoint":5530,"id":60543,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_60305":{"entryPoint":null,"id":60305,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_60403":{"entryPoint":5686,"id":60403,"parameterSlots":2,"returnSlots":1},"@quorumReached_60616":{"entryPoint":4410,"id":60616,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":6282,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":6045,"id":7770,"parameterSlots":1,"returnSlots":1},"@updateCommunityExecution_55701":{"entryPoint":522,"id":55701,"parameterSlots":9,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":6100,"id":9604,"parameterSlots":2,"returnSlots":1},"@validateStateBitmap_60870":{"entryPoint":2759,"id":60870,"parameterSlots":2,"returnSlots":1},"@voteSucceeded_61728":{"entryPoint":4504,"id":61728,"parameterSlots":1,"returnSlots":1},"abi_decode_array_string_calldata_dyn_calldata":{"entryPoint":7042,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_bool":{"entryPoint":7124,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_calldata":{"entryPoint":6970,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":8447,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":6945,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":8382,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_addresst_string_calldata_ptrt_string_calldata_ptrt_array$_t_string_calldata_ptr_$dyn_calldata_ptrt_bool":{"entryPoint":7140,"id":null,"parameterSlots":2,"returnSlots":9},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":8407,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":7349,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string_calldata":{"entryPoint":7932,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":7616,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":8012,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":7438,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7973,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":7419,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":8203,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":8167,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"access_calldata_tail_t_string_calldata_ptr":{"entryPoint":8265,"id":null,"parameterSlots":2,"returnSlots":2},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":8476,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":8559,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":8514,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":8495,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":7663,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage":{"entryPoint":7741,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":7558,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":8357,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":8335,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":8537,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":7536,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":8243,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":7641,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bool":{"entryPoint":7110,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:13636:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:150"},"nodeType":"YulFunctionCall","src":"132:12:150"},"nodeType":"YulExpressionStatement","src":"132:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:150"},"nodeType":"YulFunctionCall","src":"101:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:150"},"nodeType":"YulFunctionCall","src":"97:32:150"},"nodeType":"YulIf","src":"94:52:150"},{"nodeType":"YulAssignment","src":"155:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:150"},"nodeType":"YulFunctionCall","src":"165:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:150","type":""}],"src":"14:180:150"},{"body":{"nodeType":"YulBlock","src":"308:76:150","statements":[{"nodeType":"YulAssignment","src":"318:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"330:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"341:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"326:3:150"},"nodeType":"YulFunctionCall","src":"326:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"318:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"360:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"371:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"353:6:150"},"nodeType":"YulFunctionCall","src":"353:25:150"},"nodeType":"YulExpressionStatement","src":"353:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"277:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"288:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"299:4:150","type":""}],"src":"199:185:150"},{"body":{"nodeType":"YulBlock","src":"462:275:150","statements":[{"body":{"nodeType":"YulBlock","src":"511:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"520:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"523:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"513:6:150"},"nodeType":"YulFunctionCall","src":"513:12:150"},"nodeType":"YulExpressionStatement","src":"513:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"490:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"498:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"486:3:150"},"nodeType":"YulFunctionCall","src":"486:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"505:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"482:3:150"},"nodeType":"YulFunctionCall","src":"482:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"475:6:150"},"nodeType":"YulFunctionCall","src":"475:35:150"},"nodeType":"YulIf","src":"472:55:150"},{"nodeType":"YulAssignment","src":"536:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"559:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"546:12:150"},"nodeType":"YulFunctionCall","src":"546:20:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"536:6:150"}]},{"body":{"nodeType":"YulBlock","src":"609:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"618:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"621:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"611:6:150"},"nodeType":"YulFunctionCall","src":"611:12:150"},"nodeType":"YulExpressionStatement","src":"611:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"581:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"597:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"601:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"593:3:150"},"nodeType":"YulFunctionCall","src":"593:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"605:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"589:3:150"},"nodeType":"YulFunctionCall","src":"589:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"578:2:150"},"nodeType":"YulFunctionCall","src":"578:30:150"},"nodeType":"YulIf","src":"575:50:150"},{"nodeType":"YulAssignment","src":"634:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"650:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"658:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"646:3:150"},"nodeType":"YulFunctionCall","src":"646:17:150"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"634:8:150"}]},{"body":{"nodeType":"YulBlock","src":"715:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"724:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"727:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"717:6:150"},"nodeType":"YulFunctionCall","src":"717:12:150"},"nodeType":"YulExpressionStatement","src":"717:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"686:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"694:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"682:3:150"},"nodeType":"YulFunctionCall","src":"682:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"703:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"678:3:150"},"nodeType":"YulFunctionCall","src":"678:30:150"},{"name":"end","nodeType":"YulIdentifier","src":"710:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"675:2:150"},"nodeType":"YulFunctionCall","src":"675:39:150"},"nodeType":"YulIf","src":"672:59:150"}]},"name":"abi_decode_string_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"425:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"433:3:150","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"441:8:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"451:6:150","type":""}],"src":"389:348:150"},{"body":{"nodeType":"YulBlock","src":"834:283:150","statements":[{"body":{"nodeType":"YulBlock","src":"883:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"892:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"895:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"885:6:150"},"nodeType":"YulFunctionCall","src":"885:12:150"},"nodeType":"YulExpressionStatement","src":"885:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"862:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"870:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"858:3:150"},"nodeType":"YulFunctionCall","src":"858:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"877:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"854:3:150"},"nodeType":"YulFunctionCall","src":"854:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"847:6:150"},"nodeType":"YulFunctionCall","src":"847:35:150"},"nodeType":"YulIf","src":"844:55:150"},{"nodeType":"YulAssignment","src":"908:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"931:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"918:12:150"},"nodeType":"YulFunctionCall","src":"918:20:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"908:6:150"}]},{"body":{"nodeType":"YulBlock","src":"981:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"990:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"993:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"983:6:150"},"nodeType":"YulFunctionCall","src":"983:12:150"},"nodeType":"YulExpressionStatement","src":"983:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"953:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"969:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"973:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"965:3:150"},"nodeType":"YulFunctionCall","src":"965:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"977:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"961:3:150"},"nodeType":"YulFunctionCall","src":"961:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"950:2:150"},"nodeType":"YulFunctionCall","src":"950:30:150"},"nodeType":"YulIf","src":"947:50:150"},{"nodeType":"YulAssignment","src":"1006:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1022:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1030:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1018:3:150"},"nodeType":"YulFunctionCall","src":"1018:17:150"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"1006:8:150"}]},{"body":{"nodeType":"YulBlock","src":"1095:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1104:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1107:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1097:6:150"},"nodeType":"YulFunctionCall","src":"1097:12:150"},"nodeType":"YulExpressionStatement","src":"1097:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1058:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1070:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"1073:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1066:3:150"},"nodeType":"YulFunctionCall","src":"1066:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1054:3:150"},"nodeType":"YulFunctionCall","src":"1054:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"1083:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1050:3:150"},"nodeType":"YulFunctionCall","src":"1050:38:150"},{"name":"end","nodeType":"YulIdentifier","src":"1090:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1047:2:150"},"nodeType":"YulFunctionCall","src":"1047:47:150"},"nodeType":"YulIf","src":"1044:67:150"}]},"name":"abi_decode_array_string_calldata_dyn_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"797:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"805:3:150","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"813:8:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"823:6:150","type":""}],"src":"742:375:150"},{"body":{"nodeType":"YulBlock","src":"1164:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"1218:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1227:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1230:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1220:6:150"},"nodeType":"YulFunctionCall","src":"1220:12:150"},"nodeType":"YulExpressionStatement","src":"1220:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1187:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1208:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1201:6:150"},"nodeType":"YulFunctionCall","src":"1201:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1194:6:150"},"nodeType":"YulFunctionCall","src":"1194:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1184:2:150"},"nodeType":"YulFunctionCall","src":"1184:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1177:6:150"},"nodeType":"YulFunctionCall","src":"1177:40:150"},"nodeType":"YulIf","src":"1174:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1153:5:150","type":""}],"src":"1122:118:150"},{"body":{"nodeType":"YulBlock","src":"1291:82:150","statements":[{"nodeType":"YulAssignment","src":"1301:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1323:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1310:12:150"},"nodeType":"YulFunctionCall","src":"1310:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1301:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1361:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"1339:21:150"},"nodeType":"YulFunctionCall","src":"1339:28:150"},"nodeType":"YulExpressionStatement","src":"1339:28:150"}]},"name":"abi_decode_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1270:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1281:5:150","type":""}],"src":"1245:128:150"},{"body":{"nodeType":"YulBlock","src":"1617:1130:150","statements":[{"body":{"nodeType":"YulBlock","src":"1664:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1673:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1676:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1666:6:150"},"nodeType":"YulFunctionCall","src":"1666:12:150"},"nodeType":"YulExpressionStatement","src":"1666:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1638:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1647:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1634:3:150"},"nodeType":"YulFunctionCall","src":"1634:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1659:3:150","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1630:3:150"},"nodeType":"YulFunctionCall","src":"1630:33:150"},"nodeType":"YulIf","src":"1627:53:150"},{"nodeType":"YulAssignment","src":"1689:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1712:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1699:12:150"},"nodeType":"YulFunctionCall","src":"1699:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1689:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1731:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1761:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1772:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1757:3:150"},"nodeType":"YulFunctionCall","src":"1757:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1744:12:150"},"nodeType":"YulFunctionCall","src":"1744:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1735:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1839:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1848:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1851:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1841:6:150"},"nodeType":"YulFunctionCall","src":"1841:12:150"},"nodeType":"YulExpressionStatement","src":"1841:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1798:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1809:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1824:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1829:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1820:3:150"},"nodeType":"YulFunctionCall","src":"1820:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"1833:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1816:3:150"},"nodeType":"YulFunctionCall","src":"1816:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1805:3:150"},"nodeType":"YulFunctionCall","src":"1805:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1795:2:150"},"nodeType":"YulFunctionCall","src":"1795:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1788:6:150"},"nodeType":"YulFunctionCall","src":"1788:50:150"},"nodeType":"YulIf","src":"1785:70:150"},{"nodeType":"YulAssignment","src":"1864:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1874:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1864:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1888:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1919:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1930:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1915:3:150"},"nodeType":"YulFunctionCall","src":"1915:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1902:12:150"},"nodeType":"YulFunctionCall","src":"1902:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1892:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1943:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1961:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1965:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1957:3:150"},"nodeType":"YulFunctionCall","src":"1957:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1969:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1953:3:150"},"nodeType":"YulFunctionCall","src":"1953:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1947:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1998:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2007:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2010:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2000:6:150"},"nodeType":"YulFunctionCall","src":"2000:12:150"},"nodeType":"YulExpressionStatement","src":"2000:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1986:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1994:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1983:2:150"},"nodeType":"YulFunctionCall","src":"1983:14:150"},"nodeType":"YulIf","src":"1980:34:150"},{"nodeType":"YulVariableDeclaration","src":"2023:85:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2080:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"2091:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2076:3:150"},"nodeType":"YulFunctionCall","src":"2076:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2100:7:150"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"2049:26:150"},"nodeType":"YulFunctionCall","src":"2049:59:150"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"2027:8:150","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"2037:8:150","type":""}]},{"nodeType":"YulAssignment","src":"2117:18:150","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"2127:8:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2117:6:150"}]},{"nodeType":"YulAssignment","src":"2144:18:150","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"2154:8:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2144:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"2171:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2204:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2215:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2200:3:150"},"nodeType":"YulFunctionCall","src":"2200:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2187:12:150"},"nodeType":"YulFunctionCall","src":"2187:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"2175:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2248:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2257:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2260:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2250:6:150"},"nodeType":"YulFunctionCall","src":"2250:12:150"},"nodeType":"YulExpressionStatement","src":"2250:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"2234:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2244:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2231:2:150"},"nodeType":"YulFunctionCall","src":"2231:16:150"},"nodeType":"YulIf","src":"2228:36:150"},{"nodeType":"YulVariableDeclaration","src":"2273:87:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2330:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"2341:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2326:3:150"},"nodeType":"YulFunctionCall","src":"2326:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2352:7:150"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"2299:26:150"},"nodeType":"YulFunctionCall","src":"2299:61:150"},"variables":[{"name":"value4_1","nodeType":"YulTypedName","src":"2277:8:150","type":""},{"name":"value5_1","nodeType":"YulTypedName","src":"2287:8:150","type":""}]},{"nodeType":"YulAssignment","src":"2369:18:150","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"2379:8:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2369:6:150"}]},{"nodeType":"YulAssignment","src":"2396:18:150","value":{"name":"value5_1","nodeType":"YulIdentifier","src":"2406:8:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"2396:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"2423:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2456:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2467:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2452:3:150"},"nodeType":"YulFunctionCall","src":"2452:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2439:12:150"},"nodeType":"YulFunctionCall","src":"2439:33:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"2427:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2501:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2510:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2513:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2503:6:150"},"nodeType":"YulFunctionCall","src":"2503:12:150"},"nodeType":"YulExpressionStatement","src":"2503:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"2487:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2497:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2484:2:150"},"nodeType":"YulFunctionCall","src":"2484:16:150"},"nodeType":"YulIf","src":"2481:36:150"},{"nodeType":"YulVariableDeclaration","src":"2526:106:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2602:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"2613:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2598:3:150"},"nodeType":"YulFunctionCall","src":"2598:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2624:7:150"}],"functionName":{"name":"abi_decode_array_string_calldata_dyn_calldata","nodeType":"YulIdentifier","src":"2552:45:150"},"nodeType":"YulFunctionCall","src":"2552:80:150"},"variables":[{"name":"value6_1","nodeType":"YulTypedName","src":"2530:8:150","type":""},{"name":"value7_1","nodeType":"YulTypedName","src":"2540:8:150","type":""}]},{"nodeType":"YulAssignment","src":"2641:18:150","value":{"name":"value6_1","nodeType":"YulIdentifier","src":"2651:8:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"2641:6:150"}]},{"nodeType":"YulAssignment","src":"2668:18:150","value":{"name":"value7_1","nodeType":"YulIdentifier","src":"2678:8:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"2668:6:150"}]},{"nodeType":"YulAssignment","src":"2695:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2725:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2736:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2721:3:150"},"nodeType":"YulFunctionCall","src":"2721:19:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"2705:15:150"},"nodeType":"YulFunctionCall","src":"2705:36:150"},"variableNames":[{"name":"value8","nodeType":"YulIdentifier","src":"2695:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_string_calldata_ptrt_string_calldata_ptrt_array$_t_string_calldata_ptr_$dyn_calldata_ptrt_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1519:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1530:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1542:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1550:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1558:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"1566:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"1574:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"1582:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"1590:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"1598:6:150","type":""},{"name":"value8","nodeType":"YulTypedName","src":"1606:6:150","type":""}],"src":"1378:1369:150"},{"body":{"nodeType":"YulBlock","src":"2855:92:150","statements":[{"nodeType":"YulAssignment","src":"2865:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2877:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2888:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2873:3:150"},"nodeType":"YulFunctionCall","src":"2873:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2865:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2907:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2932:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2925:6:150"},"nodeType":"YulFunctionCall","src":"2925:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2918:6:150"},"nodeType":"YulFunctionCall","src":"2918:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2900:6:150"},"nodeType":"YulFunctionCall","src":"2900:41:150"},"nodeType":"YulExpressionStatement","src":"2900:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2824:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2835:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2846:4:150","type":""}],"src":"2752:195:150"},{"body":{"nodeType":"YulBlock","src":"3002:373:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3012:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3032:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3026:5:150"},"nodeType":"YulFunctionCall","src":"3026:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3016:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3054:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"3059:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3047:6:150"},"nodeType":"YulFunctionCall","src":"3047:19:150"},"nodeType":"YulExpressionStatement","src":"3047:19:150"},{"nodeType":"YulVariableDeclaration","src":"3075:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3084:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3079:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3146:110:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3160:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3170:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3164:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3202:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"3207:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3198:3:150"},"nodeType":"YulFunctionCall","src":"3198:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3211:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3194:3:150"},"nodeType":"YulFunctionCall","src":"3194:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3230:5:150"},{"name":"i","nodeType":"YulIdentifier","src":"3237:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3226:3:150"},"nodeType":"YulFunctionCall","src":"3226:13:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3241:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3222:3:150"},"nodeType":"YulFunctionCall","src":"3222:22:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3216:5:150"},"nodeType":"YulFunctionCall","src":"3216:29:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3187:6:150"},"nodeType":"YulFunctionCall","src":"3187:59:150"},"nodeType":"YulExpressionStatement","src":"3187:59:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3105:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"3108:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3102:2:150"},"nodeType":"YulFunctionCall","src":"3102:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3116:21:150","statements":[{"nodeType":"YulAssignment","src":"3118:17:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3127:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"3130:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3123:3:150"},"nodeType":"YulFunctionCall","src":"3123:12:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3118:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3098:3:150","statements":[]},"src":"3094:162:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3280:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"3285:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3276:3:150"},"nodeType":"YulFunctionCall","src":"3276:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"3294:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3272:3:150"},"nodeType":"YulFunctionCall","src":"3272:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"3301:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3265:6:150"},"nodeType":"YulFunctionCall","src":"3265:38:150"},"nodeType":"YulExpressionStatement","src":"3265:38:150"},{"nodeType":"YulAssignment","src":"3312:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3327:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3340:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3348:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3336:3:150"},"nodeType":"YulFunctionCall","src":"3336:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3357:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3353:3:150"},"nodeType":"YulFunctionCall","src":"3353:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3332:3:150"},"nodeType":"YulFunctionCall","src":"3332:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3323:3:150"},"nodeType":"YulFunctionCall","src":"3323:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"3364:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3319:3:150"},"nodeType":"YulFunctionCall","src":"3319:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3312:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2979:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2986:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2994:3:150","type":""}],"src":"2952:423:150"},{"body":{"nodeType":"YulBlock","src":"3509:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3526:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3537:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3519:6:150"},"nodeType":"YulFunctionCall","src":"3519:21:150"},"nodeType":"YulExpressionStatement","src":"3519:21:150"},{"nodeType":"YulAssignment","src":"3549:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3575:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3587:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3598:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3583:3:150"},"nodeType":"YulFunctionCall","src":"3583:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3557:17:150"},"nodeType":"YulFunctionCall","src":"3557:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3549:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3478:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3489:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3500:4:150","type":""}],"src":"3380:228:150"},{"body":{"nodeType":"YulBlock","src":"3722:102:150","statements":[{"nodeType":"YulAssignment","src":"3732:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3744:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3755:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3740:3:150"},"nodeType":"YulFunctionCall","src":"3740:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3732:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3774:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3789:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3805:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3810:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3801:3:150"},"nodeType":"YulFunctionCall","src":"3801:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3814:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3797:3:150"},"nodeType":"YulFunctionCall","src":"3797:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3785:3:150"},"nodeType":"YulFunctionCall","src":"3785:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3767:6:150"},"nodeType":"YulFunctionCall","src":"3767:51:150"},"nodeType":"YulExpressionStatement","src":"3767:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3691:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3702:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3713:4:150","type":""}],"src":"3613:211:150"},{"body":{"nodeType":"YulBlock","src":"4008:632:150","statements":[{"nodeType":"YulVariableDeclaration","src":"4018:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4028:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4022:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4039:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4057:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4068:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4053:3:150"},"nodeType":"YulFunctionCall","src":"4053:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"4043:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4087:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4098:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4080:6:150"},"nodeType":"YulFunctionCall","src":"4080:21:150"},"nodeType":"YulExpressionStatement","src":"4080:21:150"},{"nodeType":"YulVariableDeclaration","src":"4110:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"4121:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"4114:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4136:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4156:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4150:5:150"},"nodeType":"YulFunctionCall","src":"4150:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4140:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"4179:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"4187:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4172:6:150"},"nodeType":"YulFunctionCall","src":"4172:22:150"},"nodeType":"YulExpressionStatement","src":"4172:22:150"},{"nodeType":"YulAssignment","src":"4203:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4214:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4225:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4210:3:150"},"nodeType":"YulFunctionCall","src":"4210:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4203:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"4237:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4259:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4274:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"4277:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4270:3:150"},"nodeType":"YulFunctionCall","src":"4270:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4255:3:150"},"nodeType":"YulFunctionCall","src":"4255:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"4287:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4251:3:150"},"nodeType":"YulFunctionCall","src":"4251:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"4241:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4299:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4317:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4325:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4313:3:150"},"nodeType":"YulFunctionCall","src":"4313:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"4303:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4337:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4346:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"4341:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4405:206:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4426:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4439:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4447:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4435:3:150"},"nodeType":"YulFunctionCall","src":"4435:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4463:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4459:3:150"},"nodeType":"YulFunctionCall","src":"4459:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4431:3:150"},"nodeType":"YulFunctionCall","src":"4431:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4419:6:150"},"nodeType":"YulFunctionCall","src":"4419:49:150"},"nodeType":"YulExpressionStatement","src":"4419:49:150"},{"nodeType":"YulAssignment","src":"4481:50:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4515:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4509:5:150"},"nodeType":"YulFunctionCall","src":"4509:13:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"4524:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"4491:17:150"},"nodeType":"YulFunctionCall","src":"4491:40:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"4481:6:150"}]},{"nodeType":"YulAssignment","src":"4544:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4558:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4566:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4554:3:150"},"nodeType":"YulFunctionCall","src":"4554:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4544:6:150"}]},{"nodeType":"YulAssignment","src":"4582:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4593:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4598:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4589:3:150"},"nodeType":"YulFunctionCall","src":"4589:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4582:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4367:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"4370:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4364:2:150"},"nodeType":"YulFunctionCall","src":"4364:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4378:18:150","statements":[{"nodeType":"YulAssignment","src":"4380:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4389:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"4392:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4385:3:150"},"nodeType":"YulFunctionCall","src":"4385:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"4380:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"4360:3:150","statements":[]},"src":"4356:255:150"},{"nodeType":"YulAssignment","src":"4620:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"4628:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4620:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3977:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3988:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3999:4:150","type":""}],"src":"3829:811:150"},{"body":{"nodeType":"YulBlock","src":"4746:76:150","statements":[{"nodeType":"YulAssignment","src":"4756:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4768:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4779:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4764:3:150"},"nodeType":"YulFunctionCall","src":"4764:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4756:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4798:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"4809:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4791:6:150"},"nodeType":"YulFunctionCall","src":"4791:25:150"},"nodeType":"YulExpressionStatement","src":"4791:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4715:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4726:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4737:4:150","type":""}],"src":"4645:177:150"},{"body":{"nodeType":"YulBlock","src":"4859:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4876:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4883:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4888:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4879:3:150"},"nodeType":"YulFunctionCall","src":"4879:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4869:6:150"},"nodeType":"YulFunctionCall","src":"4869:31:150"},"nodeType":"YulExpressionStatement","src":"4869:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4916:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4919:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4909:6:150"},"nodeType":"YulFunctionCall","src":"4909:15:150"},"nodeType":"YulExpressionStatement","src":"4909:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4940:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4943:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4933:6:150"},"nodeType":"YulFunctionCall","src":"4933:15:150"},"nodeType":"YulExpressionStatement","src":"4933:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"4827:127:150"},{"body":{"nodeType":"YulBlock","src":"5014:325:150","statements":[{"nodeType":"YulAssignment","src":"5024:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5038:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"5041:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"5034:3:150"},"nodeType":"YulFunctionCall","src":"5034:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5024:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5055:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"5085:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"5091:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5081:3:150"},"nodeType":"YulFunctionCall","src":"5081:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"5059:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5132:31:150","statements":[{"nodeType":"YulAssignment","src":"5134:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5148:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5156:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5144:3:150"},"nodeType":"YulFunctionCall","src":"5144:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"5134:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"5112:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5105:6:150"},"nodeType":"YulFunctionCall","src":"5105:26:150"},"nodeType":"YulIf","src":"5102:61:150"},{"body":{"nodeType":"YulBlock","src":"5222:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5243:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5250:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5255:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5246:3:150"},"nodeType":"YulFunctionCall","src":"5246:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5236:6:150"},"nodeType":"YulFunctionCall","src":"5236:31:150"},"nodeType":"YulExpressionStatement","src":"5236:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5287:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5290:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5280:6:150"},"nodeType":"YulFunctionCall","src":"5280:15:150"},"nodeType":"YulExpressionStatement","src":"5280:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5315:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5318:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5308:6:150"},"nodeType":"YulFunctionCall","src":"5308:15:150"},"nodeType":"YulExpressionStatement","src":"5308:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"5178:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5201:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5209:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5198:2:150"},"nodeType":"YulFunctionCall","src":"5198:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5175:2:150"},"nodeType":"YulFunctionCall","src":"5175:38:150"},"nodeType":"YulIf","src":"5172:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"4994:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"5003:6:150","type":""}],"src":"4959:380:150"},{"body":{"nodeType":"YulBlock","src":"5473:145:150","statements":[{"nodeType":"YulAssignment","src":"5483:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5495:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5506:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5491:3:150"},"nodeType":"YulFunctionCall","src":"5491:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5483:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5525:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5540:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5556:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5561:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5552:3:150"},"nodeType":"YulFunctionCall","src":"5552:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"5565:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5548:3:150"},"nodeType":"YulFunctionCall","src":"5548:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5536:3:150"},"nodeType":"YulFunctionCall","src":"5536:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5518:6:150"},"nodeType":"YulFunctionCall","src":"5518:51:150"},"nodeType":"YulExpressionStatement","src":"5518:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5589:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5600:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5585:3:150"},"nodeType":"YulFunctionCall","src":"5585:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"5605:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5578:6:150"},"nodeType":"YulFunctionCall","src":"5578:34:150"},"nodeType":"YulExpressionStatement","src":"5578:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5434:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5445:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5453:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5464:4:150","type":""}],"src":"5344:274:150"},{"body":{"nodeType":"YulBlock","src":"5752:119:150","statements":[{"nodeType":"YulAssignment","src":"5762:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5774:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5785:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5770:3:150"},"nodeType":"YulFunctionCall","src":"5770:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5762:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5804:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"5815:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5797:6:150"},"nodeType":"YulFunctionCall","src":"5797:25:150"},"nodeType":"YulExpressionStatement","src":"5797:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5842:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5853:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5838:3:150"},"nodeType":"YulFunctionCall","src":"5838:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"5858:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5831:6:150"},"nodeType":"YulFunctionCall","src":"5831:34:150"},"nodeType":"YulExpressionStatement","src":"5831:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5713:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5724:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5732:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5743:4:150","type":""}],"src":"5623:248:150"},{"body":{"nodeType":"YulBlock","src":"5908:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5925:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5932:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5937:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5928:3:150"},"nodeType":"YulFunctionCall","src":"5928:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5918:6:150"},"nodeType":"YulFunctionCall","src":"5918:31:150"},"nodeType":"YulExpressionStatement","src":"5918:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5965:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5968:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5958:6:150"},"nodeType":"YulFunctionCall","src":"5958:15:150"},"nodeType":"YulExpressionStatement","src":"5958:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5989:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5992:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5982:6:150"},"nodeType":"YulFunctionCall","src":"5982:15:150"},"nodeType":"YulExpressionStatement","src":"5982:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5876:127:150"},{"body":{"nodeType":"YulBlock","src":"6064:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6081:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"6084:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6074:6:150"},"nodeType":"YulFunctionCall","src":"6074:14:150"},"nodeType":"YulExpressionStatement","src":"6074:14:150"},{"nodeType":"YulAssignment","src":"6097:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6115:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6118:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"6105:9:150"},"nodeType":"YulFunctionCall","src":"6105:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"6097:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"6047:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"6055:4:150","type":""}],"src":"6008:121:150"},{"body":{"nodeType":"YulBlock","src":"6215:464:150","statements":[{"body":{"nodeType":"YulBlock","src":"6248:425:150","statements":[{"nodeType":"YulVariableDeclaration","src":"6262:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"6272:1:150","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6266:2:150","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6293:2:150"},{"name":"array","nodeType":"YulIdentifier","src":"6297:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6286:6:150"},"nodeType":"YulFunctionCall","src":"6286:17:150"},"nodeType":"YulExpressionStatement","src":"6286:17:150"},{"nodeType":"YulVariableDeclaration","src":"6316:31:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6338:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6342:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"6328:9:150"},"nodeType":"YulFunctionCall","src":"6328:19:150"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"6320:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6360:57:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6383:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6393:1:150","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"6400:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6412:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6396:3:150"},"nodeType":"YulFunctionCall","src":"6396:19:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"6389:3:150"},"nodeType":"YulFunctionCall","src":"6389:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6379:3:150"},"nodeType":"YulFunctionCall","src":"6379:38:150"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"6364:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6454:23:150","statements":[{"nodeType":"YulAssignment","src":"6456:19:150","value":{"name":"data","nodeType":"YulIdentifier","src":"6471:4:150"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"6456:11:150"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"6436:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6448:4:150","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6433:2:150"},"nodeType":"YulFunctionCall","src":"6433:20:150"},"nodeType":"YulIf","src":"6430:47:150"},{"nodeType":"YulVariableDeclaration","src":"6490:41:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6504:4:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6514:1:150","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"6521:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"6526:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6517:3:150"},"nodeType":"YulFunctionCall","src":"6517:12:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"6510:3:150"},"nodeType":"YulFunctionCall","src":"6510:20:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6500:3:150"},"nodeType":"YulFunctionCall","src":"6500:31:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"6494:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6544:24:150","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"6557:11:150"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"6548:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6642:21:150","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"6651:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6658:2:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"6644:6:150"},"nodeType":"YulFunctionCall","src":"6644:17:150"},"nodeType":"YulExpressionStatement","src":"6644:17:150"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"6592:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"6599:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6589:2:150"},"nodeType":"YulFunctionCall","src":"6589:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6603:26:150","statements":[{"nodeType":"YulAssignment","src":"6605:22:150","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"6618:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"6625:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6614:3:150"},"nodeType":"YulFunctionCall","src":"6614:13:150"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"6605:5:150"}]}]},"pre":{"nodeType":"YulBlock","src":"6585:3:150","statements":[]},"src":"6581:82:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"6231:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"6236:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6228:2:150"},"nodeType":"YulFunctionCall","src":"6228:11:150"},"nodeType":"YulIf","src":"6225:448:150"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"6187:5:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"6194:3:150","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"6199:10:150","type":""}],"src":"6134:545:150"},{"body":{"nodeType":"YulBlock","src":"6769:81:150","statements":[{"nodeType":"YulAssignment","src":"6779:65:150","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6794:4:150"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6812:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"6815:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6808:3:150"},"nodeType":"YulFunctionCall","src":"6808:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6825:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6821:3:150"},"nodeType":"YulFunctionCall","src":"6821:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"6804:3:150"},"nodeType":"YulFunctionCall","src":"6804:24:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6800:3:150"},"nodeType":"YulFunctionCall","src":"6800:29:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6790:3:150"},"nodeType":"YulFunctionCall","src":"6790:40:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6836:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"6839:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6832:3:150"},"nodeType":"YulFunctionCall","src":"6832:11:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6787:2:150"},"nodeType":"YulFunctionCall","src":"6787:57:150"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"6779:4:150"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"6746:4:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"6752:3:150","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"6760:4:150","type":""}],"src":"6684:166:150"},{"body":{"nodeType":"YulBlock","src":"6958:1103:150","statements":[{"body":{"nodeType":"YulBlock","src":"6999:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"7001:16:150"},"nodeType":"YulFunctionCall","src":"7001:18:150"},"nodeType":"YulExpressionStatement","src":"7001:18:150"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"6974:3:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6987:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6991:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6983:3:150"},"nodeType":"YulFunctionCall","src":"6983:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6995:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6979:3:150"},"nodeType":"YulFunctionCall","src":"6979:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6971:2:150"},"nodeType":"YulFunctionCall","src":"6971:27:150"},"nodeType":"YulIf","src":"6968:53:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"7074:4:150"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"7112:4:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"7106:5:150"},"nodeType":"YulFunctionCall","src":"7106:11:150"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"7080:25:150"},"nodeType":"YulFunctionCall","src":"7080:38:150"},{"name":"len","nodeType":"YulIdentifier","src":"7120:3:150"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"7030:43:150"},"nodeType":"YulFunctionCall","src":"7030:94:150"},"nodeType":"YulExpressionStatement","src":"7030:94:150"},{"nodeType":"YulVariableDeclaration","src":"7133:18:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7150:1:150","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"7137:9:150","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"7194:609:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7208:32:150","value":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"7227:3:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7236:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7232:3:150"},"nodeType":"YulFunctionCall","src":"7232:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7223:3:150"},"nodeType":"YulFunctionCall","src":"7223:17:150"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"7212:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7253:49:150","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"7297:4:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"7267:29:150"},"nodeType":"YulFunctionCall","src":"7267:35:150"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"7257:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7315:18:150","value":{"name":"srcOffset","nodeType":"YulIdentifier","src":"7324:9:150"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7319:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7403:172:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"7428:6:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7453:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"7458:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7449:3:150"},"nodeType":"YulFunctionCall","src":"7449:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7436:12:150"},"nodeType":"YulFunctionCall","src":"7436:33:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"7421:6:150"},"nodeType":"YulFunctionCall","src":"7421:49:150"},"nodeType":"YulExpressionStatement","src":"7421:49:150"},{"nodeType":"YulAssignment","src":"7487:24:150","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"7501:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7509:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7497:3:150"},"nodeType":"YulFunctionCall","src":"7497:14:150"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"7487:6:150"}]},{"nodeType":"YulAssignment","src":"7528:33:150","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"7545:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7556:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7541:3:150"},"nodeType":"YulFunctionCall","src":"7541:20:150"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"7528:9:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7357:1:150"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"7360:7:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7354:2:150"},"nodeType":"YulFunctionCall","src":"7354:14:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7369:21:150","statements":[{"nodeType":"YulAssignment","src":"7371:17:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7380:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"7383:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7376:3:150"},"nodeType":"YulFunctionCall","src":"7376:12:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7371:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"7350:3:150","statements":[]},"src":"7346:229:150"},{"body":{"nodeType":"YulBlock","src":"7620:127:150","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"7645:6:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7674:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"7679:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7670:3:150"},"nodeType":"YulFunctionCall","src":"7670:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7657:12:150"},"nodeType":"YulFunctionCall","src":"7657:33:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7708:1:150","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"7711:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7704:3:150"},"nodeType":"YulFunctionCall","src":"7704:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7717:3:150","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7700:3:150"},"nodeType":"YulFunctionCall","src":"7700:21:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7727:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7723:3:150"},"nodeType":"YulFunctionCall","src":"7723:6:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"7696:3:150"},"nodeType":"YulFunctionCall","src":"7696:34:150"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7692:3:150"},"nodeType":"YulFunctionCall","src":"7692:39:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7653:3:150"},"nodeType":"YulFunctionCall","src":"7653:79:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"7638:6:150"},"nodeType":"YulFunctionCall","src":"7638:95:150"},"nodeType":"YulExpressionStatement","src":"7638:95:150"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"7594:7:150"},{"name":"len","nodeType":"YulIdentifier","src":"7603:3:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7591:2:150"},"nodeType":"YulFunctionCall","src":"7591:16:150"},"nodeType":"YulIf","src":"7588:159:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"7767:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7781:1:150","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"7784:3:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7777:3:150"},"nodeType":"YulFunctionCall","src":"7777:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7790:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7773:3:150"},"nodeType":"YulFunctionCall","src":"7773:19:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"7760:6:150"},"nodeType":"YulFunctionCall","src":"7760:33:150"},"nodeType":"YulExpressionStatement","src":"7760:33:150"}]},"nodeType":"YulCase","src":"7187:616:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7192:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"7820:235:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7834:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7847:1:150","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7838:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7880:74:150","statements":[{"nodeType":"YulAssignment","src":"7898:42:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7924:3:150"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"7929:9:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7920:3:150"},"nodeType":"YulFunctionCall","src":"7920:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7907:12:150"},"nodeType":"YulFunctionCall","src":"7907:33:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7898:5:150"}]}]},"condition":{"name":"len","nodeType":"YulIdentifier","src":"7864:3:150"},"nodeType":"YulIf","src":"7861:93:150"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"7974:4:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8033:5:150"},{"name":"len","nodeType":"YulIdentifier","src":"8040:3:150"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"7980:52:150"},"nodeType":"YulFunctionCall","src":"7980:64:150"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"7967:6:150"},"nodeType":"YulFunctionCall","src":"7967:78:150"},"nodeType":"YulExpressionStatement","src":"7967:78:150"}]},"nodeType":"YulCase","src":"7812:243:150","value":"default"}],"expression":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"7170:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"7175:2:150","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7167:2:150"},"nodeType":"YulFunctionCall","src":"7167:11:150"},"nodeType":"YulSwitch","src":"7160:895:150"}]},"name":"copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"6938:4:150","type":""},{"name":"src","nodeType":"YulTypedName","src":"6944:3:150","type":""},{"name":"len","nodeType":"YulTypedName","src":"6949:3:150","type":""}],"src":"6855:1206:150"},{"body":{"nodeType":"YulBlock","src":"8133:200:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8150:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"8155:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8143:6:150"},"nodeType":"YulFunctionCall","src":"8143:19:150"},"nodeType":"YulExpressionStatement","src":"8143:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8188:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"8193:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8184:3:150"},"nodeType":"YulFunctionCall","src":"8184:14:150"},{"name":"start","nodeType":"YulIdentifier","src":"8200:5:150"},{"name":"length","nodeType":"YulIdentifier","src":"8207:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"8171:12:150"},"nodeType":"YulFunctionCall","src":"8171:43:150"},"nodeType":"YulExpressionStatement","src":"8171:43:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8238:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"8243:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8234:3:150"},"nodeType":"YulFunctionCall","src":"8234:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"8252:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8230:3:150"},"nodeType":"YulFunctionCall","src":"8230:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"8259:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8223:6:150"},"nodeType":"YulFunctionCall","src":"8223:38:150"},"nodeType":"YulExpressionStatement","src":"8223:38:150"},{"nodeType":"YulAssignment","src":"8270:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8285:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8298:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8306:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8294:3:150"},"nodeType":"YulFunctionCall","src":"8294:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8315:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8311:3:150"},"nodeType":"YulFunctionCall","src":"8311:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8290:3:150"},"nodeType":"YulFunctionCall","src":"8290:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8281:3:150"},"nodeType":"YulFunctionCall","src":"8281:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"8322:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8277:3:150"},"nodeType":"YulFunctionCall","src":"8277:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8270:3:150"}]}]},"name":"abi_encode_string_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nodeType":"YulTypedName","src":"8102:5:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"8109:6:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8117:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8125:3:150","type":""}],"src":"8066:267:150"},{"body":{"nodeType":"YulBlock","src":"8527:248:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8544:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8555:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8537:6:150"},"nodeType":"YulFunctionCall","src":"8537:21:150"},"nodeType":"YulExpressionStatement","src":"8537:21:150"},{"nodeType":"YulVariableDeclaration","src":"8567:76:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8608:6:150"},{"name":"value1","nodeType":"YulIdentifier","src":"8616:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8628:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8639:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8624:3:150"},"nodeType":"YulFunctionCall","src":"8624:18:150"}],"functionName":{"name":"abi_encode_string_calldata","nodeType":"YulIdentifier","src":"8581:26:150"},"nodeType":"YulFunctionCall","src":"8581:62:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"8571:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8663:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8674:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8659:3:150"},"nodeType":"YulFunctionCall","src":"8659:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"8683:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8691:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8679:3:150"},"nodeType":"YulFunctionCall","src":"8679:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8652:6:150"},"nodeType":"YulFunctionCall","src":"8652:50:150"},"nodeType":"YulExpressionStatement","src":"8652:50:150"},{"nodeType":"YulAssignment","src":"8711:58:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"8746:6:150"},{"name":"value3","nodeType":"YulIdentifier","src":"8754:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"8762:6:150"}],"functionName":{"name":"abi_encode_string_calldata","nodeType":"YulIdentifier","src":"8719:26:150"},"nodeType":"YulFunctionCall","src":"8719:50:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8711:4:150"}]}]},"name":"abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8472:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8483:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8491:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8499:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8507:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8518:4:150","type":""}],"src":"8338:437:150"},{"body":{"nodeType":"YulBlock","src":"8963:1046:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8973:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8983:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8977:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8994:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9012:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9023:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9008:3:150"},"nodeType":"YulFunctionCall","src":"9008:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"8998:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9042:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9053:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9035:6:150"},"nodeType":"YulFunctionCall","src":"9035:21:150"},"nodeType":"YulExpressionStatement","src":"9035:21:150"},{"nodeType":"YulVariableDeclaration","src":"9065:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"9076:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"9069:3:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"9098:6:150"},{"name":"value1","nodeType":"YulIdentifier","src":"9106:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9091:6:150"},"nodeType":"YulFunctionCall","src":"9091:22:150"},"nodeType":"YulExpressionStatement","src":"9091:22:150"},{"nodeType":"YulAssignment","src":"9122:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9133:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9144:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9129:3:150"},"nodeType":"YulFunctionCall","src":"9129:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9122:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"9156:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9178:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9193:1:150","type":"","value":"5"},{"name":"value1","nodeType":"YulIdentifier","src":"9196:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9189:3:150"},"nodeType":"YulFunctionCall","src":"9189:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9174:3:150"},"nodeType":"YulFunctionCall","src":"9174:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"9206:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9170:3:150"},"nodeType":"YulFunctionCall","src":"9170:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"9160:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9218:20:150","value":{"name":"value0","nodeType":"YulIdentifier","src":"9232:6:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"9222:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9247:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9256:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"9251:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9315:665:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9336:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"9349:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9357:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9345:3:150"},"nodeType":"YulFunctionCall","src":"9345:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9373:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9369:3:150"},"nodeType":"YulFunctionCall","src":"9369:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9341:3:150"},"nodeType":"YulFunctionCall","src":"9341:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9329:6:150"},"nodeType":"YulFunctionCall","src":"9329:49:150"},"nodeType":"YulExpressionStatement","src":"9329:49:150"},{"nodeType":"YulVariableDeclaration","src":"9391:46:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9430:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9417:12:150"},"nodeType":"YulFunctionCall","src":"9417:20:150"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"9395:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9528:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9537:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9540:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9530:6:150"},"nodeType":"YulFunctionCall","src":"9530:12:150"},"nodeType":"YulExpressionStatement","src":"9530:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"9464:18:150"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"9492:12:150"},"nodeType":"YulFunctionCall","src":"9492:14:150"},{"name":"value0","nodeType":"YulIdentifier","src":"9508:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9488:3:150"},"nodeType":"YulFunctionCall","src":"9488:27:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9521:2:150","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9517:3:150"},"nodeType":"YulFunctionCall","src":"9517:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9484:3:150"},"nodeType":"YulFunctionCall","src":"9484:41:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9460:3:150"},"nodeType":"YulFunctionCall","src":"9460:66:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9453:6:150"},"nodeType":"YulFunctionCall","src":"9453:74:150"},"nodeType":"YulIf","src":"9450:94:150"},{"nodeType":"YulVariableDeclaration","src":"9557:44:150","value":{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"9574:18:150"},{"name":"value0","nodeType":"YulIdentifier","src":"9594:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9570:3:150"},"nodeType":"YulFunctionCall","src":"9570:31:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9561:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9614:33:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9641:5:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9628:12:150"},"nodeType":"YulFunctionCall","src":"9628:19:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9618:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9660:29:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9679:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9686:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9675:3:150"},"nodeType":"YulFunctionCall","src":"9675:14:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"9664:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9736:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9745:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9748:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9738:6:150"},"nodeType":"YulFunctionCall","src":"9738:12:150"},"nodeType":"YulExpressionStatement","src":"9738:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9708:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9724:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9728:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9720:3:150"},"nodeType":"YulFunctionCall","src":"9720:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9732:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9716:3:150"},"nodeType":"YulFunctionCall","src":"9716:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9705:2:150"},"nodeType":"YulFunctionCall","src":"9705:30:150"},"nodeType":"YulIf","src":"9702:50:150"},{"body":{"nodeType":"YulBlock","src":"9810:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9819:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9822:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9812:6:150"},"nodeType":"YulFunctionCall","src":"9812:12:150"},"nodeType":"YulExpressionStatement","src":"9812:12:150"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"9772:7:150"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"9785:12:150"},"nodeType":"YulFunctionCall","src":"9785:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"9801:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9781:3:150"},"nodeType":"YulFunctionCall","src":"9781:27:150"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"9768:3:150"},"nodeType":"YulFunctionCall","src":"9768:41:150"},"nodeType":"YulIf","src":"9765:61:150"},{"nodeType":"YulAssignment","src":"9839:61:150","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"9876:7:150"},{"name":"length","nodeType":"YulIdentifier","src":"9885:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"9893:6:150"}],"functionName":{"name":"abi_encode_string_calldata","nodeType":"YulIdentifier","src":"9849:26:150"},"nodeType":"YulFunctionCall","src":"9849:51:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"9839:6:150"}]},{"nodeType":"YulAssignment","src":"9913:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9927:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9935:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9923:3:150"},"nodeType":"YulFunctionCall","src":"9923:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9913:6:150"}]},{"nodeType":"YulAssignment","src":"9951:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9962:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9967:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9958:3:150"},"nodeType":"YulFunctionCall","src":"9958:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9951:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9277:1:150"},{"name":"value1","nodeType":"YulIdentifier","src":"9280:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9274:2:150"},"nodeType":"YulFunctionCall","src":"9274:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9288:18:150","statements":[{"nodeType":"YulAssignment","src":"9290:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9299:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"9302:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9295:3:150"},"nodeType":"YulFunctionCall","src":"9295:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"9290:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"9270:3:150","statements":[]},"src":"9266:714:150"},{"nodeType":"YulAssignment","src":"9989:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"9997:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9989:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8924:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8935:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8943:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8954:4:150","type":""}],"src":"8780:1229:150"},{"body":{"nodeType":"YulBlock","src":"10159:175:150","statements":[{"nodeType":"YulAssignment","src":"10169:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10181:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10192:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10177:3:150"},"nodeType":"YulFunctionCall","src":"10177:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10169:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10211:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10222:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10204:6:150"},"nodeType":"YulFunctionCall","src":"10204:25:150"},"nodeType":"YulExpressionStatement","src":"10204:25:150"},{"body":{"nodeType":"YulBlock","src":"10263:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"10265:16:150"},"nodeType":"YulFunctionCall","src":"10265:18:150"},"nodeType":"YulExpressionStatement","src":"10265:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10251:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10259:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10248:2:150"},"nodeType":"YulFunctionCall","src":"10248:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10241:6:150"},"nodeType":"YulFunctionCall","src":"10241:21:150"},"nodeType":"YulIf","src":"10238:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10305:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10316:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10301:3:150"},"nodeType":"YulFunctionCall","src":"10301:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"10321:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10294:6:150"},"nodeType":"YulFunctionCall","src":"10294:34:150"},"nodeType":"YulExpressionStatement","src":"10294:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10120:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10131:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10139:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10150:4:150","type":""}],"src":"10014:320:150"},{"body":{"nodeType":"YulBlock","src":"10513:219:150","statements":[{"nodeType":"YulAssignment","src":"10523:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10535:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10546:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10531:3:150"},"nodeType":"YulFunctionCall","src":"10531:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10523:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10565:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10576:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10558:6:150"},"nodeType":"YulFunctionCall","src":"10558:25:150"},"nodeType":"YulExpressionStatement","src":"10558:25:150"},{"body":{"nodeType":"YulBlock","src":"10618:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"10620:16:150"},"nodeType":"YulFunctionCall","src":"10620:18:150"},"nodeType":"YulExpressionStatement","src":"10620:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10605:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10613:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10602:2:150"},"nodeType":"YulFunctionCall","src":"10602:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10595:6:150"},"nodeType":"YulFunctionCall","src":"10595:22:150"},"nodeType":"YulIf","src":"10592:48:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10660:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10671:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10656:3:150"},"nodeType":"YulFunctionCall","src":"10656:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"10676:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10649:6:150"},"nodeType":"YulFunctionCall","src":"10649:34:150"},"nodeType":"YulExpressionStatement","src":"10649:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10703:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10714:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10699:3:150"},"nodeType":"YulFunctionCall","src":"10699:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"10719:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10692:6:150"},"nodeType":"YulFunctionCall","src":"10692:34:150"},"nodeType":"YulExpressionStatement","src":"10692:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10466:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10477:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10485:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10493:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10504:4:150","type":""}],"src":"10339:393:150"},{"body":{"nodeType":"YulBlock","src":"10769:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10786:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10793:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10798:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10789:3:150"},"nodeType":"YulFunctionCall","src":"10789:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10779:6:150"},"nodeType":"YulFunctionCall","src":"10779:31:150"},"nodeType":"YulExpressionStatement","src":"10779:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10826:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10829:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10819:6:150"},"nodeType":"YulFunctionCall","src":"10819:15:150"},"nodeType":"YulExpressionStatement","src":"10819:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10850:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10853:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10843:6:150"},"nodeType":"YulFunctionCall","src":"10843:15:150"},"nodeType":"YulExpressionStatement","src":"10843:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"10737:127:150"},{"body":{"nodeType":"YulBlock","src":"10964:427:150","statements":[{"nodeType":"YulVariableDeclaration","src":"10974:51:150","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"11013:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11000:12:150"},"nodeType":"YulFunctionCall","src":"11000:25:150"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"10978:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11114:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11123:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11126:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11116:6:150"},"nodeType":"YulFunctionCall","src":"11116:12:150"},"nodeType":"YulExpressionStatement","src":"11116:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"11048:18:150"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"11076:12:150"},"nodeType":"YulFunctionCall","src":"11076:14:150"},{"name":"base_ref","nodeType":"YulIdentifier","src":"11092:8:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11072:3:150"},"nodeType":"YulFunctionCall","src":"11072:29:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11107:2:150","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"11103:3:150"},"nodeType":"YulFunctionCall","src":"11103:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11068:3:150"},"nodeType":"YulFunctionCall","src":"11068:43:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11044:3:150"},"nodeType":"YulFunctionCall","src":"11044:68:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11037:6:150"},"nodeType":"YulFunctionCall","src":"11037:76:150"},"nodeType":"YulIf","src":"11034:96:150"},{"nodeType":"YulVariableDeclaration","src":"11139:47:150","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"11157:8:150"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"11167:18:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11153:3:150"},"nodeType":"YulFunctionCall","src":"11153:33:150"},"variables":[{"name":"addr_1","nodeType":"YulTypedName","src":"11143:6:150","type":""}]},{"nodeType":"YulAssignment","src":"11195:30:150","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"11218:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11205:12:150"},"nodeType":"YulFunctionCall","src":"11205:20:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"11195:6:150"}]},{"body":{"nodeType":"YulBlock","src":"11268:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11277:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11280:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11270:6:150"},"nodeType":"YulFunctionCall","src":"11270:12:150"},"nodeType":"YulExpressionStatement","src":"11270:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11240:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11256:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"11260:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11252:3:150"},"nodeType":"YulFunctionCall","src":"11252:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"11264:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11248:3:150"},"nodeType":"YulFunctionCall","src":"11248:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11237:2:150"},"nodeType":"YulFunctionCall","src":"11237:30:150"},"nodeType":"YulIf","src":"11234:50:150"},{"nodeType":"YulAssignment","src":"11293:25:150","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"11305:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"11313:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11301:3:150"},"nodeType":"YulFunctionCall","src":"11301:17:150"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"11293:4:150"}]},{"body":{"nodeType":"YulBlock","src":"11369:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11378:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11381:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11371:6:150"},"nodeType":"YulFunctionCall","src":"11371:12:150"},"nodeType":"YulExpressionStatement","src":"11371:12:150"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"11334:4:150"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"11344:12:150"},"nodeType":"YulFunctionCall","src":"11344:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"11360:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11340:3:150"},"nodeType":"YulFunctionCall","src":"11340:27:150"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"11330:3:150"},"nodeType":"YulFunctionCall","src":"11330:38:150"},"nodeType":"YulIf","src":"11327:58:150"}]},"name":"access_calldata_tail_t_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"10921:8:150","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"10931:11:150","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"10947:4:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"10953:6:150","type":""}],"src":"10869:522:150"},{"body":{"nodeType":"YulBlock","src":"11428:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11445:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11452:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"11457:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11448:3:150"},"nodeType":"YulFunctionCall","src":"11448:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11438:6:150"},"nodeType":"YulFunctionCall","src":"11438:31:150"},"nodeType":"YulExpressionStatement","src":"11438:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11485:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"11488:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11478:6:150"},"nodeType":"YulFunctionCall","src":"11478:15:150"},"nodeType":"YulExpressionStatement","src":"11478:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11509:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11512:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11502:6:150"},"nodeType":"YulFunctionCall","src":"11502:15:150"},"nodeType":"YulExpressionStatement","src":"11502:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"11396:127:150"},{"body":{"nodeType":"YulBlock","src":"11575:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"11606:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"11608:16:150"},"nodeType":"YulFunctionCall","src":"11608:18:150"},"nodeType":"YulExpressionStatement","src":"11608:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11591:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11602:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"11598:3:150"},"nodeType":"YulFunctionCall","src":"11598:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"11588:2:150"},"nodeType":"YulFunctionCall","src":"11588:17:150"},"nodeType":"YulIf","src":"11585:43:150"},{"nodeType":"YulAssignment","src":"11637:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11648:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"11655:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11644:3:150"},"nodeType":"YulFunctionCall","src":"11644:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"11637:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11557:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"11567:3:150","type":""}],"src":"11528:135:150"},{"body":{"nodeType":"YulBlock","src":"11749:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"11795:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11804:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11807:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11797:6:150"},"nodeType":"YulFunctionCall","src":"11797:12:150"},"nodeType":"YulExpressionStatement","src":"11797:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11770:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11779:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11766:3:150"},"nodeType":"YulFunctionCall","src":"11766:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11791:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11762:3:150"},"nodeType":"YulFunctionCall","src":"11762:32:150"},"nodeType":"YulIf","src":"11759:52:150"},{"nodeType":"YulAssignment","src":"11820:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11836:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11830:5:150"},"nodeType":"YulFunctionCall","src":"11830:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11820:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11715:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11726:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11738:6:150","type":""}],"src":"11668:184:150"},{"body":{"nodeType":"YulBlock","src":"11937:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"11983:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11992:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11995:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11985:6:150"},"nodeType":"YulFunctionCall","src":"11985:12:150"},"nodeType":"YulExpressionStatement","src":"11985:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11958:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11967:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11954:3:150"},"nodeType":"YulFunctionCall","src":"11954:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11979:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11950:3:150"},"nodeType":"YulFunctionCall","src":"11950:32:150"},"nodeType":"YulIf","src":"11947:52:150"},{"nodeType":"YulVariableDeclaration","src":"12008:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12027:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12021:5:150"},"nodeType":"YulFunctionCall","src":"12021:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12012:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"12095:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12104:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12107:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12097:6:150"},"nodeType":"YulFunctionCall","src":"12097:12:150"},"nodeType":"YulExpressionStatement","src":"12097:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12059:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12070:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"12077:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12066:3:150"},"nodeType":"YulFunctionCall","src":"12066:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12056:2:150"},"nodeType":"YulFunctionCall","src":"12056:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12049:6:150"},"nodeType":"YulFunctionCall","src":"12049:45:150"},"nodeType":"YulIf","src":"12046:65:150"},{"nodeType":"YulAssignment","src":"12120:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12130:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12120:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11903:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11914:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11926:6:150","type":""}],"src":"11857:284:150"},{"body":{"nodeType":"YulBlock","src":"12247:76:150","statements":[{"nodeType":"YulAssignment","src":"12257:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12280:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12265:3:150"},"nodeType":"YulFunctionCall","src":"12265:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12257:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12299:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12310:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12292:6:150"},"nodeType":"YulFunctionCall","src":"12292:25:150"},"nodeType":"YulExpressionStatement","src":"12292:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12216:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12227:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12238:4:150","type":""}],"src":"12146:177:150"},{"body":{"nodeType":"YulBlock","src":"12406:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"12452:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12461:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12464:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12454:6:150"},"nodeType":"YulFunctionCall","src":"12454:12:150"},"nodeType":"YulExpressionStatement","src":"12454:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12427:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12436:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12423:3:150"},"nodeType":"YulFunctionCall","src":"12423:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12448:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12419:3:150"},"nodeType":"YulFunctionCall","src":"12419:32:150"},"nodeType":"YulIf","src":"12416:52:150"},{"nodeType":"YulVariableDeclaration","src":"12477:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12496:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12490:5:150"},"nodeType":"YulFunctionCall","src":"12490:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12481:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12537:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"12515:21:150"},"nodeType":"YulFunctionCall","src":"12515:28:150"},"nodeType":"YulExpressionStatement","src":"12515:28:150"},{"nodeType":"YulAssignment","src":"12552:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12562:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12552:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12372:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12383:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12395:6:150","type":""}],"src":"12328:245:150"},{"body":{"nodeType":"YulBlock","src":"12626:77:150","statements":[{"nodeType":"YulAssignment","src":"12636:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12647:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12650:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12643:3:150"},"nodeType":"YulFunctionCall","src":"12643:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"12636:3:150"}]},{"body":{"nodeType":"YulBlock","src":"12675:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12677:16:150"},"nodeType":"YulFunctionCall","src":"12677:18:150"},"nodeType":"YulExpressionStatement","src":"12677:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12667:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"12670:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12664:2:150"},"nodeType":"YulFunctionCall","src":"12664:10:150"},"nodeType":"YulIf","src":"12661:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12609:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12612:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"12618:3:150","type":""}],"src":"12578:125:150"},{"body":{"nodeType":"YulBlock","src":"12757:79:150","statements":[{"nodeType":"YulAssignment","src":"12767:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12779:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12782:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12775:3:150"},"nodeType":"YulFunctionCall","src":"12775:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"12767:4:150"}]},{"body":{"nodeType":"YulBlock","src":"12808:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12810:16:150"},"nodeType":"YulFunctionCall","src":"12810:18:150"},"nodeType":"YulExpressionStatement","src":"12810:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"12799:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"12805:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12796:2:150"},"nodeType":"YulFunctionCall","src":"12796:11:150"},"nodeType":"YulIf","src":"12793:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12739:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12742:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"12748:4:150","type":""}],"src":"12708:128:150"},{"body":{"nodeType":"YulBlock","src":"12893:116:150","statements":[{"nodeType":"YulAssignment","src":"12903:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12918:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12921:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"12914:3:150"},"nodeType":"YulFunctionCall","src":"12914:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"12903:7:150"}]},{"body":{"nodeType":"YulBlock","src":"12981:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12983:16:150"},"nodeType":"YulFunctionCall","src":"12983:18:150"},"nodeType":"YulExpressionStatement","src":"12983:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12952:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12945:6:150"},"nodeType":"YulFunctionCall","src":"12945:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"12959:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"12966:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"12975:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"12962:3:150"},"nodeType":"YulFunctionCall","src":"12962:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12956:2:150"},"nodeType":"YulFunctionCall","src":"12956:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"12942:2:150"},"nodeType":"YulFunctionCall","src":"12942:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12935:6:150"},"nodeType":"YulFunctionCall","src":"12935:45:150"},"nodeType":"YulIf","src":"12932:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12872:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12875:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"12881:7:150","type":""}],"src":"12841:168:150"},{"body":{"nodeType":"YulBlock","src":"13046:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13063:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13070:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13075:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13066:3:150"},"nodeType":"YulFunctionCall","src":"13066:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13056:6:150"},"nodeType":"YulFunctionCall","src":"13056:31:150"},"nodeType":"YulExpressionStatement","src":"13056:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13103:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13106:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13096:6:150"},"nodeType":"YulFunctionCall","src":"13096:15:150"},"nodeType":"YulExpressionStatement","src":"13096:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13127:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13130:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13120:6:150"},"nodeType":"YulFunctionCall","src":"13120:15:150"},"nodeType":"YulExpressionStatement","src":"13120:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"13014:127:150"},{"body":{"nodeType":"YulBlock","src":"13192:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"13223:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13244:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13251:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"13256:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13247:3:150"},"nodeType":"YulFunctionCall","src":"13247:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13237:6:150"},"nodeType":"YulFunctionCall","src":"13237:31:150"},"nodeType":"YulExpressionStatement","src":"13237:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13288:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13291:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13281:6:150"},"nodeType":"YulFunctionCall","src":"13281:15:150"},"nodeType":"YulExpressionStatement","src":"13281:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13316:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13319:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13309:6:150"},"nodeType":"YulFunctionCall","src":"13309:15:150"},"nodeType":"YulExpressionStatement","src":"13309:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"13212:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13205:6:150"},"nodeType":"YulFunctionCall","src":"13205:9:150"},"nodeType":"YulIf","src":"13202:132:150"},{"nodeType":"YulAssignment","src":"13343:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13352:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"13355:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"13348:3:150"},"nodeType":"YulFunctionCall","src":"13348:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"13343:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13177:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"13180:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"13186:1:150","type":""}],"src":"13146:217:150"},{"body":{"nodeType":"YulBlock","src":"13504:130:150","statements":[{"nodeType":"YulAssignment","src":"13514:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13526:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13537:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13522:3:150"},"nodeType":"YulFunctionCall","src":"13522:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13514:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13556:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13571:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"13579:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13567:3:150"},"nodeType":"YulFunctionCall","src":"13567:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13549:6:150"},"nodeType":"YulFunctionCall","src":"13549:36:150"},"nodeType":"YulExpressionStatement","src":"13549:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13605:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13616:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13601:3:150"},"nodeType":"YulFunctionCall","src":"13601:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"13621:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13594:6:150"},"nodeType":"YulFunctionCall","src":"13594:34:150"},"nodeType":"YulExpressionStatement","src":"13594:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13465:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13476:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13484:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13495:4:150","type":""}],"src":"13368:266:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_string_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_array_string_calldata_dyn_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_bool(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_bool(value)\n    }\n    function abi_decode_tuple_t_uint256t_addresst_string_calldata_ptrt_string_calldata_ptrt_array$_t_string_calldata_ptr_$dyn_calldata_ptrt_bool(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n        value1 := value\n        let offset := calldataload(add(headStart, 64))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let value4_1, value5_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n        value4 := value4_1\n        value5 := value5_1\n        let offset_2 := calldataload(add(headStart, 128))\n        if gt(offset_2, _1) { revert(0, 0) }\n        let value6_1, value7_1 := abi_decode_array_string_calldata_dyn_calldata(add(headStart, offset_2), dataEnd)\n        value6 := value6_1\n        value7 := value7_1\n        value8 := abi_decode_bool(add(headStart, 160))\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 0x20) }\n        {\n            let _1 := 0x20\n            mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n        }\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_string(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(_1, array)\n            let data := keccak256(_1, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage(slot, src, len)\n    {\n        if gt(len, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), len)\n        let srcOffset := 0\n        switch gt(len, 31)\n        case 1 {\n            let loopEnd := and(len, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := srcOffset\n            for { } lt(i, loopEnd) { i := add(i, 0x20) }\n            {\n                sstore(dstPtr, calldataload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, 0x20)\n            }\n            if lt(loopEnd, len)\n            {\n                sstore(dstPtr, and(calldataload(add(src, srcOffset)), not(shr(and(shl(3, len), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, len), 1))\n        }\n        default {\n            let value := 0\n            if len\n            {\n                value := calldataload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, len))\n        }\n    }\n    function abi_encode_string_calldata(start, length, pos) -> end\n    {\n        mstore(pos, length)\n        calldatacopy(add(pos, 0x20), start, length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 64))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        tail := abi_encode_string_calldata(value2, value3, tail_1)\n    }\n    function abi_encode_tuple_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        mstore(tail_1, value1)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, value1)), 64)\n        let srcPtr := value0\n        let i := 0\n        for { } lt(i, value1) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            let rel_offset_of_tail := calldataload(srcPtr)\n            if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), value0), not(30)))) { revert(0, 0) }\n            let value := add(rel_offset_of_tail, value0)\n            let length := calldataload(value)\n            let value_1 := add(value, _1)\n            if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n            if sgt(value_1, sub(calldatasize(), length)) { revert(0, 0) }\n            tail_2 := abi_encode_string_calldata(value_1, length, tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint8__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        if iszero(lt(value1, 2)) { panic_error_0x21() }\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        if iszero(lt(value1, 10)) { panic_error_0x21() }\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function access_calldata_tail_t_string_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let addr_1 := add(base_ref, rel_offset_of_tail)\n        length := calldataload(addr_1)\n        if gt(length, sub(shl(64, 1), 1)) { revert(0, 0) }\n        addr := add(addr_1, 0x20)\n        if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":3347},{"length":20,"start":5258},{"length":20,"start":5381}]}},"object":"73000000000000000000000000000000000000000030146080604052600436106100a35760003560e01c806301d6e78f146100a85780630a9c9f19146100ce57806316a19ad6146100f057806320132e5414610110578063229acb17146101335780634bb66439146101535780635452a01b1461015b5780635b16e25914610186578063656f3e40146101a65780638a69614e146101b9578063c305f59a146101d9575b600080fd5b6100bb6100b6366004611b21565b6101ec565b6040519081526020015b60405180910390f35b8180156100da57600080fd5b506100ee6100e9366004611be4565b61020a565b005b8180156100fc57600080fd5b506100ee61010b366004611be4565b610243565b61012361011e366004611b21565b61032e565b60405190151581526020016100c5565b610146610141366004611b21565b61034f565b6040516100c59190611cfb565b6100bb6103fb565b61016e610169366004611b21565b61040e565b6040516001600160a01b0390911681526020016100c5565b610199610194366004611b21565b610435565b6040516100c59190611d0e565b6101466101b4366004611b21565b61052a565b8180156101c557600080fd5b506100ee6101d4366004611b21565b610551565b6101236101e7366004611b21565b6106c9565b60006101f66106ea565b600092835260250160205250604090205490565b610214898261070e565b61021e89896107c0565b610228838361084f565b610238898989898989898961088a565b505050505050505050565b61024d898261098d565b61025789896107c0565b610261838361084f565b600061026b6106ea565b60008b815260278201602052604090205490915060ff16156102a857604051630e4ce86960e41b8152600481018b90526024015b60405180910390fd5b60008a81526027820160205260409020805460ff191660011790556102d38a8a8a8a8a8a8a8a61088a565b60008a8152601e82016020908152604091829020805460ff1916600117905590518b81527fae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0910160405180910390a150505050505050505050565b60006103386106ea565b600092835260270160205250604090205460ff1690565b60606103596106ea565b600083815260299190910160205260409020805461037690611d86565b80601f01602080910402602001604051908101604052809291908181526020018280546103a290611d86565b80156103ef5780601f106103c4576101008083540402835291602001916103ef565b820191906000526020600020905b8154815290600101906020018083116103d257829003601f168201915b50505050509050919050565b60006104056106ea565b60240154905090565b60006104186106ea565b60009283526026016020525060409020546001600160a01b031690565b606061043f6106ea565b602b016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561051f57838290600052602060002001805461049290611d86565b80601f01602080910402602001604051908101604052809291908181526020018280546104be90611d86565b801561050b5780601f106104e05761010080835404028352916020019161050b565b820191906000526020600020905b8154815290600101906020018083116104ee57829003601f168201915b505050505081526020019060010190610473565b505050509050919050565b60606105346106ea565b6000838152602a9190910160205260409020805461037690611d86565b600061055b6106ea565b90506105708261056b6009610aa4565b610ac7565b50600082815260288201602052604090205460ff16156105a6576040516331bfcd9f60e11b81526004810183905260240161029f565b600082815260268201602090815260408083205460258501909252909120546001600160a01b03909116908115806105dc575080155b156105fd57604051637b210ad760e11b81526004810185905260240161029f565b600084815260288401602052604090819020805460ff1916600117905560238401549051638e184b3f60e01b81526001600160a01b0390911690638e184b3f9061064d9085908590600401611dc0565b600060405180830381600087803b15801561066757600080fd5b505af115801561067b573d6000803e3d6000fd5b50505050816001600160a01b0316847fea09ed9ea14239b5e3188607c24cf3ee441615cfa1f8ff9dfeaf12f0a7949bc6836040516106bb91815260200190565b60405180910390a350505050565b60006106d36106ea565b600092835260280160205250604090205460ff1690565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006107186106ea565b600084815260018201602052604090208054919250906001600160a01b03163314801590610744575082155b1561076657338460405163483f74db60e11b815260040161029f929190611dc0565b610784846107746009610aa4565b61077e6008610aa4565b17610ac7565b50600084815260288301602052604090205460ff16156107ba576040516331bfcd9f60e11b81526004810185905260240161029f565b50505050565b60006107ca6106ea565b60008481526025919091016020526040902054905080158015906107f557506001600160a01b038216155b156108135760405163792ee9db60e11b815260040160405180910390fd5b8015801561082957506001600160a01b03821615155b1561084a57604051638667f7cb60e01b81526004810184905260240161029f565b505050565b60006108596106ea565b6024015490508082111561084a57604051631f3ca81760e11b8152600481018390526024810182905260440161029f565b60006108946106ea565b60008a8152602682016020908152604080832080546001600160a01b0319166001600160a01b038e161790556029840190915290209091506108d7878983611e3d565b506000898152602a8201602052604090206108f3858783611e3d565b50610900818a8585610b0f565b876001600160a01b0316897fe88c3dd4f40f87300587b77b8fd804224e789f0998e5421d84fc6641bc4206db898989896040516109409493929190611f25565b60405180910390a3887f73a685e17e09a2fbdba72e1aa6c2adf949b4025a58dcb463ce267875fb7ea3f1848460405161097a929190611f4c565b60405180910390a2505050505050505050565b60006109976106ea565b600084815260018201602052604090208054919250906001600160a01b031633148015906109c3575082155b156109e557338460405163483f74db60e11b815260040161029f929190611dc0565b600084815260158301602052604081205460ff1690816001811115610a0c57610a0c611d70565b14610a2e5784816040516344b7587b60e01b815260040161029f929190611fe7565b610a4685610a3c6004610aa4565b61077e6006610aa4565b506002820154600160201b900460ff168015610a7b57506004610a6886610b98565b6009811115610a7957610a79611d70565b145b15610a9d5784816040516344b7587b60e01b815260040161029f929190611fe7565b5050505050565b6000816009811115610ab857610ab8611d70565b600160ff919091161b92915050565b600080610ad384610b98565b9050600083610ae183610aa4565b1603610b06578381846040516331b75e4d60e01b815260040161029f9392919061200b565b90505b92915050565b6000838152602b850160205260408120610b2891611a99565b60005b81811015610a9d576000848152602b860160205260409020838383818110610b5557610b55612033565b9050602002810190610b679190612049565b82546001810184556000938452602090932090920191610b879183611e3d565b50610b91816120a5565b9050610b2b565b600080610ba36106ea565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610bf857610bf8611d70565b03610c0a575060089695505050505050565b6002836002811115610c1e57610c1e611d70565b03610c30575060099695505050505050565b8115610c43575060069695505050505050565b8015610c56575060029695505050505050565b8360010154600003610c7e57604051636ad0607560e01b81526004810188905260240161029f565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfc91906120be565b1015610d0f575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e91906120d7565b65ffffffffffff1690506000610d9389610f3f565b9050610d9e8961110e565b610db15750600798975050505050505050565b818110610dc75750600198975050505050505050565b610dd08961113a565b1580610de25750610de089611198565b155b15610df65750600398975050505050505050565b610dff896111c0565b600003610e155750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9691906120ff565b15610eab575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610ef6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1a91906120ff565b15610f2f575060069998505050505050505050565b5060029998505050505050505050565b600080610f4a6106ea565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fde91906120be565b1061107b576000610fed6106ea565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa15801561104f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107391906120be565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f491906120be565b6110fd846111f2565b611107919061211c565b9392505050565b6000806111196106ea565b60009384526001016020525050604090206004810154600390910154101590565b6000806111456106ea565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061118e611177866111f2565b83600181111561118957611189611d70565b61159a565b1115949350505050565b6000806111a36106ea565b6000938452600f0160205250506040902080546001909101541190565b6000806111cb6106ea565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b6000806111fd6106ea565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129191906120be565b106112e95760006112a06106ea565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401611032565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135991906120be565b6000858152600180850160205260409091200154611377919061212f565b9050600061138660018361212f565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ff91906120be565b6114099190612142565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015611462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148691906120be565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f591906120d7565b65ffffffffffff16811161157b5773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561154c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157091906120d7565b65ffffffffffff1690505b82611586838361211c565b611590919061211c565b9695505050505050565b6000806115a56106ea565b905060646115b38585611636565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162291906120be565b61162c9190612142565b611073919061216f565b6000610b06838360ff16600181111561165157611651611d70565b60008061165c6106ea565b9050600081601801600085600181111561167857611678611d70565b600181111561168957611689611d70565b81526020810191909152604001600090812054915060188301818660018111156116b5576116b5611d70565b60018111156116c6576116c6611d70565b815260208101919091526040016000206116e160018461212f565b815481106116f1576116f1612033565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611737576001600160d01b03169450610b099350505050565b6117886117438961179d565b8660180160008a600181111561175b5761175b611d70565b600181111561176c5761176c611d70565b81526020019081526020016000206117d490919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff8211156117d0576040516306dfcc6560e41b8152603060048201526024810183905260440161029f565b5090565b8154600090818160058111156118335760006117ef8461188a565b6117f9908561212f565b60008881526020902090915081015465ffffffffffff908116908716101561182357809150611831565b61182e81600161211c565b92505b505b600061184187878585611972565b9050801561187c576118668761185860018461212f565b600091825260209091200190565b54600160301b90046001600160d01b031661187f565b60005b979650505050505050565b60008160000361189c57506000919050565b600060016118a9846119d4565b901c6001901b905060018184816118c2576118c2612159565b048201901c905060018184816118da576118da612159565b048201901c905060018184816118f2576118f2612159565b048201901c9050600181848161190a5761190a612159565b048201901c9050600181848161192257611922612159565b048201901c9050600181848161193a5761193a612159565b048201901c9050600181848161195257611952612159565b048201901c90506111078182858161196c5761196c612159565b04611a68565b60005b818310156119cc5760006119898484611a7e565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156119b8578092506119c6565b6119c381600161211c565b93505b50611975565b509392505050565b600080608083901c156119e957608092831c92015b604083901c156119fb57604092831c92015b602083901c15611a0d57602092831c92015b601083901c15611a1f57601092831c92015b600883901c15611a3157600892831c92015b600483901c15611a4357600492831c92015b600283901c15611a5557600292831c92015b600183901c15610b095760010192915050565b6000818310611a775781610b06565b5090919050565b6000611a8d600284841861216f565b610b069084841661211c565b5080546000825590600052602060002090810190611ab79190611aba565b50565b808211156117d0576000611ace8282611ad7565b50600101611aba565b508054611ae390611d86565b6000825580601f10611af3575050565b601f016020900490600052602060002090810190611ab791905b808211156117d05760008155600101611b0d565b600060208284031215611b3357600080fd5b5035919050565b60008083601f840112611b4c57600080fd5b5081356001600160401b03811115611b6357600080fd5b602083019150836020828501011115611b7b57600080fd5b9250929050565b60008083601f840112611b9457600080fd5b5081356001600160401b03811115611bab57600080fd5b6020830191508360208260051b8501011115611b7b57600080fd5b8015158114611ab757600080fd5b8035611bdf81611bc6565b919050565b600080600080600080600080600060c08a8c031215611c0257600080fd5b8935985060208a01356001600160a01b0381168114611c2057600080fd5b975060408a01356001600160401b0380821115611c3c57600080fd5b611c488d838e01611b3a565b909950975060608c0135915080821115611c6157600080fd5b611c6d8d838e01611b3a565b909750955060808c0135915080821115611c8657600080fd5b50611c938c828d01611b82565b9094509250611ca6905060a08b01611bd4565b90509295985092959850929598565b6000815180845260005b81811015611cdb57602081850181015186830182015201611cbf565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610b066020830184611cb5565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611d6357603f19888603018452611d51858351611cb5565b94509285019290850190600101611d35565b5092979650505050505050565b634e487b7160e01b600052602160045260246000fd5b600181811c90821680611d9a57607f821691505b602082108103611dba57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b601f82111561084a57600081815260208120601f850160051c81016020861015611e165750805b601f850160051c820191505b81811015611e3557828155600101611e22565b505050505050565b6001600160401b03831115611e5457611e54611dd9565b611e6883611e628354611d86565b83611def565b6000601f841160018114611e9c5760008515611e845750838201355b600019600387901b1c1916600186901b178355610a9d565b600083815260209020601f19861690835b82811015611ecd5786850135825560209485019460019092019101611ead565b5086821015611eea5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611f39604083018688611efc565b828103602084015261187f818587611efc565b60208082528181018390526000906040600585901b8401810190840186845b87811015611fda57868403603f190183528135368a9003601e19018112611f9157600080fd5b890185810190356001600160401b03811115611fac57600080fd5b803603821315611fbb57600080fd5b611fc6868284611efc565b955050509184019190840190600101611f6b565b5091979650505050505050565b8281526040810160028310611ffe57611ffe611d70565b8260208301529392505050565b83815260608101600a841061202257612022611d70565b602082019390935260400152919050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261206057600080fd5b8301803591506001600160401b0382111561207a57600080fd5b602001915036819003821315611b7b57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120b7576120b761208f565b5060010190565b6000602082840312156120d057600080fd5b5051919050565b6000602082840312156120e957600080fd5b815165ffffffffffff81168114610b0657600080fd5b60006020828403121561211157600080fd5b8151610b0681611bc6565b80820180821115610b0957610b0961208f565b81810381811115610b0957610b0961208f565b8082028115828204841417610b0957610b0961208f565b634e487b7160e01b600052601260045260246000fd5b60008261218c57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122070a64416f6de954c0730435f445df20d19644fee9b3b1e4db67012b6ee393caf64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA3 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1D6E78F EQ PUSH2 0xA8 JUMPI DUP1 PUSH4 0xA9C9F19 EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0x16A19AD6 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x20132E54 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x229ACB17 EQ PUSH2 0x133 JUMPI DUP1 PUSH4 0x4BB66439 EQ PUSH2 0x153 JUMPI DUP1 PUSH4 0x5452A01B EQ PUSH2 0x15B JUMPI DUP1 PUSH4 0x5B16E259 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x656F3E40 EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x8A69614E EQ PUSH2 0x1B9 JUMPI DUP1 PUSH4 0xC305F59A EQ PUSH2 0x1D9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBB PUSH2 0xB6 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x1EC JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xEE PUSH2 0xE9 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BE4 JUMP JUMPDEST PUSH2 0x20A JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xEE PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1BE4 JUMP JUMPDEST PUSH2 0x243 JUMP JUMPDEST PUSH2 0x123 PUSH2 0x11E CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x32E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC5 JUMP JUMPDEST PUSH2 0x146 PUSH2 0x141 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x34F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC5 SWAP2 SWAP1 PUSH2 0x1CFB JUMP JUMPDEST PUSH2 0xBB PUSH2 0x3FB JUMP JUMPDEST PUSH2 0x16E PUSH2 0x169 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x40E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC5 JUMP JUMPDEST PUSH2 0x199 PUSH2 0x194 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x435 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC5 SWAP2 SWAP1 PUSH2 0x1D0E JUMP JUMPDEST PUSH2 0x146 PUSH2 0x1B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x52A JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xEE PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x551 JUMP JUMPDEST PUSH2 0x123 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B21 JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F6 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x25 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x214 DUP10 DUP3 PUSH2 0x70E JUMP JUMPDEST PUSH2 0x21E DUP10 DUP10 PUSH2 0x7C0 JUMP JUMPDEST PUSH2 0x228 DUP4 DUP4 PUSH2 0x84F JUMP JUMPDEST PUSH2 0x238 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x88A JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x24D DUP10 DUP3 PUSH2 0x98D JUMP JUMPDEST PUSH2 0x257 DUP10 DUP10 PUSH2 0x7C0 JUMP JUMPDEST PUSH2 0x261 DUP4 DUP4 PUSH2 0x84F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26B PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x27 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE4CE869 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP12 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x27 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x2D3 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0x88A JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1E DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE SWAP1 MLOAD DUP12 DUP2 MSTORE PUSH32 0xAE96D9C307786EFA9D87D53B27B247AA9EF9C3640C4D5065FDDC861C71684AB0 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x338 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x27 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x359 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x29 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x376 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3A2 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3EF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3C4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3EF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3D2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x405 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x24 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x418 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x26 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x43F PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x2B ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x51F JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x492 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4BE SWAP1 PUSH2 0x1D86 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x50B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4EE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x473 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x534 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2A SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x376 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x55B PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP PUSH2 0x570 DUP3 PUSH2 0x56B PUSH1 0x9 PUSH2 0xAA4 JUMP JUMPDEST PUSH2 0xAC7 JUMP JUMPDEST POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x28 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x5A6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x31BFCD9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x26 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x25 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP2 ISZERO DUP1 PUSH2 0x5DC JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x5FD JUMPI PUSH1 0x40 MLOAD PUSH4 0x7B210AD7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x28 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x23 DUP5 ADD SLOAD SWAP1 MLOAD PUSH4 0x8E184B3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E184B3F SWAP1 PUSH2 0x64D SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DC0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x667 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x67B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0xEA09ED9EA14239B5E3188607C24CF3EE441615CFA1F8FF9DFEAF12F0A7949BC6 DUP4 PUSH1 0x40 MLOAD PUSH2 0x6BB SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D3 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x28 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x718 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO SWAP1 PUSH2 0x744 JUMPI POP DUP3 ISZERO JUMPDEST ISZERO PUSH2 0x766 JUMPI CALLER DUP5 PUSH1 0x40 MLOAD PUSH4 0x483F74DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP3 SWAP2 SWAP1 PUSH2 0x1DC0 JUMP JUMPDEST PUSH2 0x784 DUP5 PUSH2 0x774 PUSH1 0x9 PUSH2 0xAA4 JUMP JUMPDEST PUSH2 0x77E PUSH1 0x8 PUSH2 0xAA4 JUMP JUMPDEST OR PUSH2 0xAC7 JUMP JUMPDEST POP PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x28 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x7BA JUMPI PUSH1 0x40 MLOAD PUSH4 0x31BFCD9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7CA PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x25 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x7F5 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x813 JUMPI PUSH1 0x40 MLOAD PUSH4 0x792EE9DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 ISZERO DUP1 ISZERO PUSH2 0x829 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO ISZERO JUMPDEST ISZERO PUSH2 0x84A JUMPI PUSH1 0x40 MLOAD PUSH4 0x8667F7CB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x859 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x24 ADD SLOAD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x84A JUMPI PUSH1 0x40 MLOAD PUSH4 0x1F3CA817 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x29F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x894 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x26 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND OR SWAP1 SSTORE PUSH1 0x29 DUP5 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x8D7 DUP8 DUP10 DUP4 PUSH2 0x1E3D JUMP JUMPDEST POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2A DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x8F3 DUP6 DUP8 DUP4 PUSH2 0x1E3D JUMP JUMPDEST POP PUSH2 0x900 DUP2 DUP11 DUP6 DUP6 PUSH2 0xB0F JUMP JUMPDEST DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0xE88C3DD4F40F87300587B77B8FD804224E789F0998E5421D84FC6641BC4206DB DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x940 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP9 PUSH32 0x73A685E17E09A2FBDBA72E1AA6C2ADF949B4025A58DCB463CE267875FB7EA3F1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x97A SWAP3 SWAP2 SWAP1 PUSH2 0x1F4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x997 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO SWAP1 PUSH2 0x9C3 JUMPI POP DUP3 ISZERO JUMPDEST ISZERO PUSH2 0x9E5 JUMPI CALLER DUP5 PUSH1 0x40 MLOAD PUSH4 0x483F74DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP3 SWAP2 SWAP1 PUSH2 0x1DC0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA0C JUMPI PUSH2 0xA0C PUSH2 0x1D70 JUMP JUMPDEST EQ PUSH2 0xA2E JUMPI DUP5 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP3 SWAP2 SWAP1 PUSH2 0x1FE7 JUMP JUMPDEST PUSH2 0xA46 DUP6 PUSH2 0xA3C PUSH1 0x4 PUSH2 0xAA4 JUMP JUMPDEST PUSH2 0x77E PUSH1 0x6 PUSH2 0xAA4 JUMP JUMPDEST POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 ISZERO PUSH2 0xA7B JUMPI POP PUSH1 0x4 PUSH2 0xA68 DUP7 PUSH2 0xB98 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0xA79 JUMPI PUSH2 0xA79 PUSH2 0x1D70 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0xA9D JUMPI DUP5 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP3 SWAP2 SWAP1 PUSH2 0x1FE7 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0xAB8 JUMPI PUSH2 0xAB8 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAD3 DUP5 PUSH2 0xB98 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0xAE1 DUP4 PUSH2 0xAA4 JUMP JUMPDEST AND SUB PUSH2 0xB06 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29F SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x200B JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2B DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xB28 SWAP2 PUSH2 0x1A99 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xA9D JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2B DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 DUP4 DUP4 DUP2 DUP2 LT PUSH2 0xB55 JUMPI PUSH2 0xB55 PUSH2 0x2033 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xB67 SWAP2 SWAP1 PUSH2 0x2049 JUMP JUMPDEST DUP3 SLOAD PUSH1 0x1 DUP2 ADD DUP5 SSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 SWAP1 SWAP4 KECCAK256 SWAP1 SWAP3 ADD SWAP2 PUSH2 0xB87 SWAP2 DUP4 PUSH2 0x1E3D JUMP JUMPDEST POP PUSH2 0xB91 DUP2 PUSH2 0x20A5 JUMP JUMPDEST SWAP1 POP PUSH2 0xB2B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBA3 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xBF8 JUMPI PUSH2 0xBF8 PUSH2 0x1D70 JUMP JUMPDEST SUB PUSH2 0xC0A JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC1E JUMPI PUSH2 0xC1E PUSH2 0x1D70 JUMP JUMPDEST SUB PUSH2 0xC30 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0xC43 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC56 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0xC7E JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x29F JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xCD8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCFC SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST LT ISZERO PUSH2 0xD0F JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD5A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD7E SWAP2 SWAP1 PUSH2 0x20D7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0xD93 DUP10 PUSH2 0xF3F JUMP JUMPDEST SWAP1 POP PUSH2 0xD9E DUP10 PUSH2 0x110E JUMP JUMPDEST PUSH2 0xDB1 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0xDC7 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xDD0 DUP10 PUSH2 0x113A JUMP JUMPDEST ISZERO DUP1 PUSH2 0xDE2 JUMPI POP PUSH2 0xDE0 DUP10 PUSH2 0x1198 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xDF6 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xDFF DUP10 PUSH2 0x11C0 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0xE15 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE96 SWAP2 SWAP1 PUSH2 0x20FF JUMP JUMPDEST ISZERO PUSH2 0xEAB JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEF6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF1A SWAP2 SWAP1 PUSH2 0x20FF JUMP JUMPDEST ISZERO PUSH2 0xF2F JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF4A PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFBA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFDE SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST LT PUSH2 0x107B JUMPI PUSH1 0x0 PUSH2 0xFED PUSH2 0x6EA JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x104F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1073 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x10D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10F4 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST PUSH2 0x10FD DUP5 PUSH2 0x11F2 JUMP JUMPDEST PUSH2 0x1107 SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1119 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1145 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x118E PUSH2 0x1177 DUP7 PUSH2 0x11F2 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1189 JUMPI PUSH2 0x1189 PUSH2 0x1D70 JUMP JUMPDEST PUSH2 0x159A JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11A3 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11CB PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11FD PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x126D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1291 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST LT PUSH2 0x12E9 JUMPI PUSH1 0x0 PUSH2 0x12A0 PUSH2 0x6EA JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x1032 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1335 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1359 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x1377 SWAP2 SWAP1 PUSH2 0x212F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1386 PUSH1 0x1 DUP4 PUSH2 0x212F JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13FF SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST PUSH2 0x1409 SWAP2 SWAP1 PUSH2 0x2142 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1462 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1486 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14D1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14F5 SWAP2 SWAP1 PUSH2 0x20D7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x157B JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x154C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1570 SWAP2 SWAP1 PUSH2 0x20D7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1586 DUP4 DUP4 PUSH2 0x211C JUMP JUMPDEST PUSH2 0x1590 SWAP2 SWAP1 PUSH2 0x211C JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x15A5 PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x15B3 DUP6 DUP6 PUSH2 0x1636 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1622 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST PUSH2 0x162C SWAP2 SWAP1 PUSH2 0x2142 JUMP JUMPDEST PUSH2 0x1073 SWAP2 SWAP1 PUSH2 0x216F JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB06 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1651 JUMPI PUSH2 0x1651 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x165C PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1678 JUMPI PUSH2 0x1678 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1689 JUMPI PUSH2 0x1689 PUSH2 0x1D70 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16B5 JUMPI PUSH2 0x16B5 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x16C6 JUMPI PUSH2 0x16C6 PUSH2 0x1D70 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x16E1 PUSH1 0x1 DUP5 PUSH2 0x212F JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x16F1 JUMPI PUSH2 0x16F1 PUSH2 0x2033 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x1737 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0xB09 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1788 PUSH2 0x1743 DUP10 PUSH2 0x179D JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x175B JUMPI PUSH2 0x175B PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x176C JUMPI PUSH2 0x176C PUSH2 0x1D70 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x17D4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x17D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x29F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x1833 JUMPI PUSH1 0x0 PUSH2 0x17EF DUP5 PUSH2 0x188A JUMP JUMPDEST PUSH2 0x17F9 SWAP1 DUP6 PUSH2 0x212F JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x1823 JUMPI DUP1 SWAP2 POP PUSH2 0x1831 JUMP JUMPDEST PUSH2 0x182E DUP2 PUSH1 0x1 PUSH2 0x211C JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x1841 DUP8 DUP8 DUP6 DUP6 PUSH2 0x1972 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x187C JUMPI PUSH2 0x1866 DUP8 PUSH2 0x1858 PUSH1 0x1 DUP5 PUSH2 0x212F JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x187F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x189C JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x18A9 DUP5 PUSH2 0x19D4 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x18C2 JUMPI PUSH2 0x18C2 PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x18DA JUMPI PUSH2 0x18DA PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x18F2 JUMPI PUSH2 0x18F2 PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x190A JUMPI PUSH2 0x190A PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1922 JUMPI PUSH2 0x1922 PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x193A JUMPI PUSH2 0x193A PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1952 JUMPI PUSH2 0x1952 PUSH2 0x2159 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x1107 DUP2 DUP3 DUP6 DUP2 PUSH2 0x196C JUMPI PUSH2 0x196C PUSH2 0x2159 JUMP JUMPDEST DIV PUSH2 0x1A68 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x19CC JUMPI PUSH1 0x0 PUSH2 0x1989 DUP5 DUP5 PUSH2 0x1A7E JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x19B8 JUMPI DUP1 SWAP3 POP PUSH2 0x19C6 JUMP JUMPDEST PUSH2 0x19C3 DUP2 PUSH1 0x1 PUSH2 0x211C JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x1975 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x19E9 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x19FB JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A0D JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A1F JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A31 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A43 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1A55 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0xB09 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1A77 JUMPI DUP2 PUSH2 0xB06 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A8D PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x216F JUMP JUMPDEST PUSH2 0xB06 SWAP1 DUP5 DUP5 AND PUSH2 0x211C JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1AB7 SWAP2 SWAP1 PUSH2 0x1ABA JUMP JUMPDEST POP JUMP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x17D0 JUMPI PUSH1 0x0 PUSH2 0x1ACE DUP3 DUP3 PUSH2 0x1AD7 JUMP JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x1ABA JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x1AE3 SWAP1 PUSH2 0x1D86 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x1AF3 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1AB7 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x17D0 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1B0D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1B4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1B63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x1B7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1B94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1BAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x1B7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1AB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x1BDF DUP2 PUSH2 0x1BC6 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x1C02 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1C3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1C48 DUP14 DUP4 DUP15 ADD PUSH2 0x1B3A JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1C61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1C6D DUP14 DUP4 DUP15 ADD PUSH2 0x1B3A JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x80 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1C86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C93 DUP13 DUP3 DUP14 ADD PUSH2 0x1B82 JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP PUSH2 0x1CA6 SWAP1 POP PUSH1 0xA0 DUP12 ADD PUSH2 0x1BD4 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CDB JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x1CBF JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB06 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1CB5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1D63 JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x1D51 DUP6 DUP4 MLOAD PUSH2 0x1CB5 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1D35 JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1D9A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1DBA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x84A JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1E16 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1E35 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1E22 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT ISZERO PUSH2 0x1E54 JUMPI PUSH2 0x1E54 PUSH2 0x1DD9 JUMP JUMPDEST PUSH2 0x1E68 DUP4 PUSH2 0x1E62 DUP4 SLOAD PUSH2 0x1D86 JUMP JUMPDEST DUP4 PUSH2 0x1DEF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP5 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1E9C JUMPI PUSH1 0x0 DUP6 ISZERO PUSH2 0x1E84 JUMPI POP DUP4 DUP3 ADD CALLDATALOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP8 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP7 SWAP1 SHL OR DUP4 SSTORE PUSH2 0xA9D JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP1 DUP4 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1ECD JUMPI DUP7 DUP6 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x20 SWAP5 DUP6 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x1EAD JUMP JUMPDEST POP DUP7 DUP3 LT ISZERO PUSH2 0x1EEA JUMPI PUSH1 0x0 NOT PUSH1 0xF8 DUP9 PUSH1 0x3 SHL AND SHR NOT DUP5 DUP8 ADD CALLDATALOAD AND DUP2 SSTORE JUMPDEST POP POP PUSH1 0x1 DUP6 PUSH1 0x1 SHL ADD DUP4 SSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1F39 PUSH1 0x40 DUP4 ADD DUP7 DUP9 PUSH2 0x1EFC JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x187F DUP2 DUP6 DUP8 PUSH2 0x1EFC JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x40 PUSH1 0x5 DUP6 SWAP1 SHL DUP5 ADD DUP2 ADD SWAP1 DUP5 ADD DUP7 DUP5 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x1FDA JUMPI DUP7 DUP5 SUB PUSH1 0x3F NOT ADD DUP4 MSTORE DUP2 CALLDATALOAD CALLDATASIZE DUP11 SWAP1 SUB PUSH1 0x1E NOT ADD DUP2 SLT PUSH2 0x1F91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 ADD DUP6 DUP2 ADD SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1FAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATASIZE SUB DUP3 SGT ISZERO PUSH2 0x1FBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FC6 DUP7 DUP3 DUP5 PUSH2 0x1EFC JUMP JUMPDEST SWAP6 POP POP POP SWAP2 DUP5 ADD SWAP2 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1F6B JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x1FFE JUMPI PUSH2 0x1FFE PUSH2 0x1D70 JUMP JUMPDEST DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x2022 JUMPI PUSH2 0x2022 PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x2060 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x207A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x1B7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x20B7 JUMPI PUSH2 0x20B7 PUSH2 0x208F JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xB06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2111 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xB06 DUP2 PUSH2 0x1BC6 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xB09 JUMPI PUSH2 0xB09 PUSH2 0x208F JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xB09 JUMPI PUSH2 0xB09 PUSH2 0x208F JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xB09 JUMPI PUSH2 0xB09 PUSH2 0x208F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x218C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xA64416F6DE954C0730435F445DF20D1964 0x4F 0xEE SWAP12 EXTCODESIZE 0x1E 0x4D 0xB6 PUSH17 0x12B6EE393CAF64736F6C63430008140033 ","sourceMap":"2172:12126:99:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12109:168;;;;;;:::i;:::-;;:::i;:::-;;;353:25:150;;;341:2;326:18;12109:168:99;;;;;;;;9852:516;;;;;;;;;;-1:-1:-1;9852:516:99;;;;;:::i;:::-;;:::i;:::-;;6017:901;;;;;;;;;;-1:-1:-1;6017:901:99;;;;;:::i;:::-;;:::i;12609:191::-;;;;;;:::i;:::-;;:::i;:::-;;;2925:14:150;;2918:22;2900:41;;2888:2;2873:18;12609:191:99;2752:195:150;12804:181:99;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13389:159::-;;;:::i;12281:163::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3785:32:150;;;3767:51;;3755:2;3740:18;12281:163:99;3613:211:150;13200:185:99;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12989:207::-;;;;;;:::i;:::-;;:::i;11306:736::-;;;;;;;;;;-1:-1:-1;11306:736:99;;;;;:::i;:::-;;:::i;12448:157::-;;;;;;:::i;:::-;;:::i;12109:168::-;12179:7;12201:41;:39;:41::i;:::-;:71;;;;:59;;:71;;-1:-1:-1;12201:71:99;;;;;12109:168::o;9852:516::-;10094:70;10131:10;10143:20;10094:36;:70::i;:::-;10170:41;10193:10;10205:5;10170:22;:41::i;:::-;10217:40;10244:12;;10217:26;:40::i;:::-;10263:100;10292:10;10304:5;10311:11;;10324:24;;10350:12;;10263:28;:100::i;:::-;9852:516;;;;;;;;;:::o;6017:901::-;6254:65;6286:10;6298:20;6254:31;:65::i;:::-;6325:41;6348:10;6360:5;6325:22;:41::i;:::-;6372:40;6399:12;;6372:26;:40::i;:::-;6419:46;6468:41;:39;:41::i;:::-;6519:37;;;;:25;;;:37;;;;;;6419:90;;-1:-1:-1;6519:37:99;;6515:99;;;6573:34;;-1:-1:-1;;;6573:34:99;;;;;353:25:150;;;326:18;;6573:34:99;;;;;;;;6515:99;6619:37;;;;:25;;;:37;;;;;:44;;-1:-1:-1;;6619:44:99;6659:4;6619:44;;;6670:100;6645:10;6711:5;6718:11;;6731:24;;6757:12;;6670:28;:100::i;:::-;6776:38;;;;:26;;;:38;;;;;;;;;:93;;-1:-1:-1;;6776:93:99;6817:52;6776:93;;;6880:33;;353:25:150;;;6880:33:99;;326:18:150;6880:33:99;;;;;;;6248:670;6017:901;;;;;;;;;:::o;12609:191::-;12699:4;12718:41;:39;:41::i;:::-;:77;;;;:65;;:77;;-1:-1:-1;12718:77:99;;;;;;;12609:191::o;12804:181::-;12879:13;12907:41;:39;:41::i;:::-;:73;;;;:61;;;;;:73;;;;;12900:80;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12804:181;;;:::o;13389:159::-;13453:7;13475:41;:39;:41::i;:::-;:68;;;13468:75;;13389:159;:::o;12281:163::-;12350:7;12372:41;:39;:41::i;:::-;:67;;;;:55;;:67;;-1:-1:-1;12372:67:99;;;;-1:-1:-1;;;;;12372:67:99;;12281:163::o;13200:185::-;13276:15;13306:41;:39;:41::i;:::-;:62;;:74;13369:10;13306:74;;;;;;;;;;;13299:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13200:185;;;:::o;12989:207::-;13077:13;13105:41;:39;:41::i;:::-;:86;;;;:74;;;;;:86;;;;;13098:93;;;;;:::i;11306:736::-;11362:46;11411:41;:39;:41::i;:::-;11362:90;;11459:145;11505:10;11523:75;11560:37;11523:36;:75::i;:::-;11459:38;:145::i;:::-;-1:-1:-1;11615:26:99;;;;:14;;;:26;;;;;;;;11611:86;;;11658:32;;-1:-1:-1;;;11658:32:99;;;;;353:25:150;;;326:18;;11658:32:99;199:185:150;11611:86:99;11703:13;11719:27;;;:15;;;:27;;;;;;;;;11769:19;;;:31;;;;;;;-1:-1:-1;;;;;11719:27:99;;;;11810:19;;;:34;;-1:-1:-1;11833:11:99;;11810:34;11806:89;;;11861:27;;-1:-1:-1;;;11861:27:99;;;;;353:25:150;;;326:18;;11861:27:99;199:185:150;11806:89:99;11901:26;;;;:14;;;:26;;;;;;;:33;;-1:-1:-1;;11901:33:99;11930:4;11901:33;;;11940:10;;;;:38;;-1:-1:-1;;;11940:38:99;;-1:-1:-1;;;;;11940:10:99;;;;:23;;:38;;11964:5;;11971:6;;11940:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12023:5;-1:-1:-1;;;;;11989:48:99;12011:10;11989:48;12030:6;11989:48;;;;353:25:150;;341:2;326:18;;199:185;11989:48:99;;;;;;;;11356:686;;;11306:736;:::o;12448:157::-;12515:4;12534:41;:39;:41::i;:::-;:66;;;;:54;;:66;;-1:-1:-1;12534:66:99;;;;;;;12448:157::o;2697:146:107:-;2810:23;;2697:146::o;10372:759:99:-;10484:46;10533:41;:39;:41::i;:::-;10580:43;10626:23;;;:11;;;:23;;;;;10674:17;;10626:11;;-1:-1:-1;10626:23:99;-1:-1:-1;;;;;10674:17:99;10660:10;:31;;;;:56;;;10696:20;10695:21;10660:56;10656:138;;;10764:10;10776;10733:54;;-1:-1:-1;;;10733:54:99;;;;;;;;;:::i;10656:138::-;10800:235;10846:10;10954:75;10991:37;10954:36;:75::i;:::-;10864:79;10901:41;10864:36;:79::i;:::-;:165;10800:38;:235::i;:::-;-1:-1:-1;11045:26:99;;;;:14;;;:26;;;;;;;;11041:86;;;11088:32;;-1:-1:-1;;;11088:32:99;;;;;353:25:150;;;326:18;;11088:32:99;199:185:150;11041:86:99;10478:653;;10372:759;;:::o;7995:366::-;8081:14;8098:41;:39;:41::i;:::-;:71;;;;:59;;;;;:71;;;;;;;-1:-1:-1;8179:10:99;;;;;:33;;-1:-1:-1;;;;;;8193:19:99;;;8179:33;8175:82;;;8229:21;;-1:-1:-1;;;8229:21:99;;;;;;;;;;;8175:82;8266:11;;:34;;;;-1:-1:-1;;;;;;8281:19:99;;;;8266:34;8262:95;;;8317:33;;-1:-1:-1;;;8317:33:99;;;;;353:25:150;;;326:18;;8317:33:99;199:185:150;8262:95:99;8075:286;7995:366;;:::o;8365:277::-;8452:11;8466:41;:39;:41::i;:::-;:68;;;;-1:-1:-1;8544:25:99;;;8540:98;;;8586:45;;-1:-1:-1;;;8586:45:99;;;;;5797:25:150;;;5838:18;;;5831:34;;;5770:18;;8586:45:99;5623:248:150;8646:690:99;8860:46;8909:41;:39;:41::i;:::-;8956:27;;;;:15;;;:27;;;;;;;;:35;;-1:-1:-1;;;;;;8956:35:99;-1:-1:-1;;;;;8956:35:99;;;;;8997:21;;;:33;;;;;8956:15;;-1:-1:-1;8997:47:99;9033:11;;8997:33;:47;:::i;:::-;-1:-1:-1;9050:46:99;;;;:34;;;:46;;;;;:73;9099:24;;9050:46;:73;:::i;:::-;;9129:45;9146:1;9149:10;9161:12;;9129:16;:45::i;:::-;9226:5;-1:-1:-1;;;;;9185:86:99;9214:10;9185:86;9233:11;;9246:24;;9185:86;;;;;;;;;:::i;:::-;;;;;;;;9306:10;9282:49;9318:12;;9282:49;;;;;;;:::i;:::-;;;;;;;;8854:482;8646:690;;;;;;;;:::o;6922:1069::-;7029:46;7078:41;:39;:41::i;:::-;7125:43;7171:23;;;:11;;;:23;;;;;7219:17;;7171:11;;-1:-1:-1;7171:23:99;-1:-1:-1;;;;;7219:17:99;7205:10;:31;;;;:56;;;7241:20;7240:21;7205:56;7201:138;;;7309:10;7321;7278:54;;-1:-1:-1;;;7278:54:99;;;;;;;;;:::i;7201:138::-;7345:39;7387:26;;;:14;;;:26;;;;;;;;;7423:12;:51;;;;;;;;:::i;:::-;;7419:131;;7518:10;7530:12;7491:52;;-1:-1:-1;;;7491:52:99;;;;;;;;;:::i;7419:131::-;7556:230;7602:10;7705:75;7742:37;7705:36;:75::i;:::-;7620:74;7657:36;7620;:74::i;7556:230::-;-1:-1:-1;7803:21:99;;;;-1:-1:-1;;;7803:21:99;;;;:103;;;;-1:-1:-1;7869:37:99;7828;7854:10;7828:25;:37::i;:::-;:78;;;;;;;;:::i;:::-;;7803:103;7792:195;;;7955:10;7967:12;7928:52;;-1:-1:-1;;;7928:52:99;;;;;;;;;:::i;7792:195::-;7023:968;;;6922:1069;;:::o;3966:154:106:-;4059:7;4100:13;4094:20;;;;;;;;:::i;:::-;4089:1;:25;;;;;;;3966:154;-1:-1:-1;;3966:154:106:o;3306:399::-;3413:27;3448:40;3491:18;3498:10;3491:6;:18::i;:::-;3448:61;-1:-1:-1;3578:1:106;3553:13;3519:31;3448:61;3519:17;:31::i;:::-;:47;:61;3515:161;;3629:10;3641:12;3655:13;3597:72;;-1:-1:-1;;;3597:72:106;;;;;;;;;;:::i;3515:161::-;3688:12;-1:-1:-1;3306:399:106;;;;;:::o;13616:324:99:-;13779:34;;;;:22;;;:34;;;;;13772:41;;;:::i;:::-;13824:9;13819:117;13835:23;;;13819:117;;;13873:34;;;;:22;;;:34;;;;;13913:12;;13926:1;13913:15;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;13873:56;;;;;;;-1:-1:-1;13873:56:99;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13860:3:99;;;:::i;:::-;;;13819:117;;4324:2276:106;4391:27;4426:46;4475:41;:39;:41::i;:::-;4559:43;4605:23;;;:11;;;;:23;;;;;;;;4700:26;;;:38;;;;;;;4768:17;;;;4426:90;;-1:-1:-1;4605:23:106;;4700:38;;;;;-1:-1:-1;;;4768:17:106;;;;;-1:-1:-1;;;4815:17:106;;;;;4843:24;:80;;;;;;;;:::i;:::-;;4839:149;;-1:-1:-1;4940:41:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4839:149::-;5026:48;4998:24;:76;;;;;;;;:::i;:::-;;4994:141;;-1:-1:-1;5091:37:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4994:141::-;5145:16;5141:80;;;-1:-1:-1;5178:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5141:80::-;5231:16;5227:80;;;-1:-1:-1;5264:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5227:80::-;5317:8;:25;;;5346:1;5317:30;5313:97;;5364:39;;-1:-1:-1;;;5364:39:106;;;;;353:25:150;;;326:18;;5364:39:106;199:185:150;5313:97:106;5499:8;:25;;;5460:1;:19;;;;;;;;;;-1:-1:-1;;;;;5460:19:106;-1:-1:-1;;;;;5460:34:106;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;5456:127;;;-1:-1:-1;5541:35:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5456:127::-;5589:24;5616:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5589:53;;;;5648:16;5667:51;5707:10;5667:39;:51::i;:::-;5648:70;;5730:55;5774:10;5730:43;:55::i;:::-;5725:125;;-1:-1:-1;5802:41:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5725:125::-;5872:16;5860:8;:28;5856:740;;-1:-1:-1;5905:34:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5856:740::-;5964:45;5998:10;5964:33;:45::i;:::-;5963:46;:95;;;;6014:44;6047:10;6014:32;:44::i;:::-;6013:45;5963:95;5952:644;;;-1:-1:-1;6080:36:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5952:644::-;6133:45;6167:10;6133:33;:45::i;:::-;6182:1;6133:50;6129:467;;-1:-1:-1;6200:37:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;6129:467::-;6258:15;6276:25;;;:13;;;:25;;;;;;;;6313:10;;;;:38;;-1:-1:-1;;;6313:38:106;;;;;353:25:150;;;6276::106;;-1:-1:-1;;;;;6313:10:106;;:29;;326:18:150;;6313:38:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6309:281;;;-1:-1:-1;6370:34:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6309:281::-;6423:10;;;;:35;;-1:-1:-1;;;6423:35:106;;;;;353:25:150;;;-1:-1:-1;;;;;6423:10:106;;;;:26;;326:18:150;;6423:35:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6419:171;;;-1:-1:-1;6477:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6419:171::-;-1:-1:-1;6545:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;36683:757:104:-;36761:7;36776:46;36825:41;:39;:41::i;:::-;36776:90;;37009:1;:11;;:23;37021:10;37009:23;;;;;;;;;;;:40;;;36969:1;:19;;;;;;;;;;-1:-1:-1;;;;;36969:19:104;-1:-1:-1;;;;;36969:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36965:279;;37057:46;37106:41;:39;:41::i;:::-;37162:19;;;;;37196:23;;;37162:19;37196:11;;;:23;;;;;;;:40;;37162:75;;-1:-1:-1;;;37162:75:104;;;;;353:25:150;;;;37162:19:104;;-1:-1:-1;;;;;;37162:19:104;;:33;;326:18:150;;37162:75:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37155:82;36683:757;-1:-1:-1;;;;36683:757:104:o;36965:279::-;37401:1;:19;;;;;;;;;;-1:-1:-1;;;;;37401:19:104;-1:-1:-1;;;;;37401:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37369:29;37387:10;37369:17;:29::i;:::-;:66;;;;:::i;:::-;37362:73;36683:757;-1:-1:-1;;;36683:757:104:o;8286:329:101:-;8369:4;8381:46;8430:41;:39;:41::i;:::-;8477:43;8523:23;;;:11;;:23;;-1:-1:-1;;8523:23:101;;;8585:25;;;;8559:22;;;;;:51;;;8286:329::o;8505:411:105:-;8579:4;8591:46;8640:41;:39;:41::i;:::-;8687:39;8729:26;;;:14;;;:26;;;;;;;;;8879:20;;;:32;;;;;;;8591:90;;-1:-1:-1;8729:26:105;;;8775:94;8796:51;8744:10;8796:39;:51::i;:::-;8855:12;8849:19;;;;;;;;:::i;:::-;8775:20;:94::i;:::-;:136;;;8505:411;-1:-1:-1;;;;8505:411:105:o;6487:318:109:-;6553:4;6565:46;6614:41;:39;:41::i;:::-;6661:47;6711:27;;;:15;;:27;;-1:-1:-1;;6711:27:109;;;6775:25;;6751:21;;;;;:49;;6487:318::o;7121:229:104:-;7193:7;7208:46;7257:41;:39;:41::i;:::-;7311:23;;;;:11;;:23;;-1:-1:-1;;7311:23:104;;;:34;;;-1:-1:-1;;;7311:34:104;;;;;7121:229::o;35366:1145::-;35444:7;35459:46;35508:41;:39;:41::i;:::-;35459:90;;35662:1;:11;;:23;35674:10;35662:23;;;;;;;;;;;:40;;;35622:1;:19;;;;;;;;;;-1:-1:-1;;;;;35622:19:104;-1:-1:-1;;;;;35622:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;35618:279;;35710:46;35759:41;:39;:41::i;:::-;35815:19;;;;;35849:23;;;35815:19;35849:11;;;:23;;;;;;;:40;;35815:75;;-1:-1:-1;;;35815:75:104;;;;;353:25:150;;;;35815:19:104;;-1:-1:-1;;;;;;35815:19:104;;:33;;326:18:150;;35815:75:104;199:185:150;35618:279:104;35975:19;;;;:36;;;-1:-1:-1;;;35975:36:104;;;;35903:26;;-1:-1:-1;;;;;35975:19:104;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35932:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;35903:108;-1:-1:-1;36017:26:104;36084:22;36105:1;35903:108;36084:22;:::i;:::-;36046:1;:19;;;;;;;;;;-1:-1:-1;;;;;36046:19:104;-1:-1:-1;;;;;36046:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36017:90;;36169:28;36200:1;:19;;;;;;;;;;-1:-1:-1;;;;;36200:19:104;-1:-1:-1;;;;;36200:40:104;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36169:73;;36339:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36315:50;;:20;:50;36311:120;;36398:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36375:49;;;;36311:120;36488:18;36444:41;36467:18;36444:20;:41;:::i;:::-;:62;;;;:::i;:::-;36437:69;35366:1145;-1:-1:-1;;;;;;35366:1145:104:o;6604:364:105:-;6711:7;6726:46;6775:41;:39;:41::i;:::-;6726:90;-1:-1:-1;3160:3:105;6875:59;6905:9;6916:17;6875:29;:59::i;:::-;6836:6;;;;:36;;-1:-1:-1;;;6836:36:105;;;;;353:25:150;;;-1:-1:-1;;;;;6836:6:105;;;;:25;;326:18:150;;6836:36:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6835:128;;;;:::i;4421:231::-;4537:7;4559:88;4590:9;4628:17;4601:45;;;;;;;;;;:::i;:::-;9407:7;9422:46;9471:41;:39;:41::i;:::-;9422:90;;9518:14;9535:1;:20;;:39;9556:17;9535:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9535:39:105;;;:59;;-1:-1:-1;9698:20:105;;;-1:-1:-1;9719:17:105;9698:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9698:39:105;9751:10;9760:1;9751:6;:10;:::i;:::-;9698:64;;;;;;;;:::i;:::-;;;;;;;;;;9787:11;;9698:64;;-1:-1:-1;9787:11:105;;;;-1:-1:-1;;;9826:13:105;;-1:-1:-1;;;;;9826:13:105;9849:22;;;9845:61;;-1:-1:-1;;;;;9881:18:105;;-1:-1:-1;9881:18:105;;-1:-1:-1;;;;9881:18:105;9845:61;9958:87;10016:28;10034:9;10016:17;:28::i;:::-;9958:1;:20;;:39;9979:17;9958:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:57;;:87;;;;:::i;:::-;-1:-1:-1;;;;;9951:94:105;;9267:783;-1:-1:-1;;;;;;;;9267:783:105:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;13549:36:150;13601:18;;;13594:34;;;13522:18;;14416:41:37;13368:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;10699:983:36:-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:180:150;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:150;;14:180;-1:-1:-1;14:180:150:o;389:348::-;441:8;451:6;505:3;498:4;490:6;486:17;482:27;472:55;;523:1;520;513:12;472:55;-1:-1:-1;546:20:150;;-1:-1:-1;;;;;578:30:150;;575:50;;;621:1;618;611:12;575:50;658:4;650:6;646:17;634:29;;710:3;703:4;694:6;686;682:19;678:30;675:39;672:59;;;727:1;724;717:12;672:59;389:348;;;;;:::o;742:375::-;813:8;823:6;877:3;870:4;862:6;858:17;854:27;844:55;;895:1;892;885:12;844:55;-1:-1:-1;918:20:150;;-1:-1:-1;;;;;950:30:150;;947:50;;;993:1;990;983:12;947:50;1030:4;1022:6;1018:17;1006:29;;1090:3;1083:4;1073:6;1070:1;1066:14;1058:6;1054:27;1050:38;1047:47;1044:67;;;1107:1;1104;1097:12;1122:118;1208:5;1201:13;1194:21;1187:5;1184:32;1174:60;;1230:1;1227;1220:12;1245:128;1310:20;;1339:28;1310:20;1339:28;:::i;:::-;1245:128;;;:::o;1378:1369::-;1542:6;1550;1558;1566;1574;1582;1590;1598;1606;1659:3;1647:9;1638:7;1634:23;1630:33;1627:53;;;1676:1;1673;1666:12;1627:53;1699:23;;;-1:-1:-1;1772:2:150;1757:18;;1744:32;-1:-1:-1;;;;;1805:31:150;;1795:42;;1785:70;;1851:1;1848;1841:12;1785:70;1874:5;-1:-1:-1;1930:2:150;1915:18;;1902:32;-1:-1:-1;;;;;1983:14:150;;;1980:34;;;2010:1;2007;2000:12;1980:34;2049:59;2100:7;2091:6;2080:9;2076:22;2049:59;:::i;:::-;2127:8;;-1:-1:-1;2023:85:150;-1:-1:-1;2215:2:150;2200:18;;2187:32;;-1:-1:-1;2231:16:150;;;2228:36;;;2260:1;2257;2250:12;2228:36;2299:61;2352:7;2341:8;2330:9;2326:24;2299:61;:::i;:::-;2379:8;;-1:-1:-1;2273:87:150;-1:-1:-1;2467:3:150;2452:19;;2439:33;;-1:-1:-1;2484:16:150;;;2481:36;;;2513:1;2510;2503:12;2481:36;;2552:80;2624:7;2613:8;2602:9;2598:24;2552:80;:::i;:::-;2651:8;;-1:-1:-1;2526:106:150;-1:-1:-1;2705:36:150;;-1:-1:-1;2736:3:150;2721:19;;2705:36;:::i;:::-;2695:46;;1378:1369;;;;;;;;;;;:::o;2952:423::-;2994:3;3032:5;3026:12;3059:6;3054:3;3047:19;3084:1;3094:162;3108:6;3105:1;3102:13;3094:162;;;3170:4;3226:13;;;3222:22;;3216:29;3198:11;;;3194:20;;3187:59;3123:12;3094:162;;;3098:3;3301:1;3294:4;3285:6;3280:3;3276:16;3272:27;3265:38;3364:4;3357:2;3353:7;3348:2;3340:6;3336:15;3332:29;3327:3;3323:39;3319:50;3312:57;;;2952:423;;;;:::o;3380:228::-;3537:2;3526:9;3519:21;3500:4;3557:45;3598:2;3587:9;3583:18;3575:6;3557:45;:::i;3829:811::-;3999:4;4028:2;4068;4057:9;4053:18;4098:2;4087:9;4080:21;4121:6;4156;4150:13;4187:6;4179;4172:22;4225:2;4214:9;4210:18;4203:25;;4287:2;4277:6;4274:1;4270:14;4259:9;4255:30;4251:39;4237:53;;4325:2;4317:6;4313:15;4346:1;4356:255;4370:6;4367:1;4364:13;4356:255;;;4463:2;4459:7;4447:9;4439:6;4435:22;4431:36;4426:3;4419:49;4491:40;4524:6;4515;4509:13;4491:40;:::i;:::-;4481:50;-1:-1:-1;4589:12:150;;;;4554:15;;;;4392:1;4385:9;4356:255;;;-1:-1:-1;4628:6:150;;3829:811;-1:-1:-1;;;;;;;3829:811:150:o;4827:127::-;4888:10;4883:3;4879:20;4876:1;4869:31;4919:4;4916:1;4909:15;4943:4;4940:1;4933:15;4959:380;5038:1;5034:12;;;;5081;;;5102:61;;5156:4;5148:6;5144:17;5134:27;;5102:61;5209:2;5201:6;5198:14;5178:18;5175:38;5172:161;;5255:10;5250:3;5246:20;5243:1;5236:31;5290:4;5287:1;5280:15;5318:4;5315:1;5308:15;5172:161;;4959:380;;;:::o;5344:274::-;-1:-1:-1;;;;;5536:32:150;;;;5518:51;;5600:2;5585:18;;5578:34;5506:2;5491:18;;5344:274::o;5876:127::-;5937:10;5932:3;5928:20;5925:1;5918:31;5968:4;5965:1;5958:15;5992:4;5989:1;5982:15;6134:545;6236:2;6231:3;6228:11;6225:448;;;6272:1;6297:5;6293:2;6286:17;6342:4;6338:2;6328:19;6412:2;6400:10;6396:19;6393:1;6389:27;6383:4;6379:38;6448:4;6436:10;6433:20;6430:47;;;-1:-1:-1;6471:4:150;6430:47;6526:2;6521:3;6517:12;6514:1;6510:20;6504:4;6500:31;6490:41;;6581:82;6599:2;6592:5;6589:13;6581:82;;;6644:17;;;6625:1;6614:13;6581:82;;;6585:3;;;6134:545;;;:::o;6855:1206::-;-1:-1:-1;;;;;6971:27:150;;6968:53;;;7001:18;;:::i;:::-;7030:94;7120:3;7080:38;7112:4;7106:11;7080:38;:::i;:::-;7074:4;7030:94;:::i;:::-;7150:1;7175:2;7170:3;7167:11;7192:1;7187:616;;;;7847:1;7864:3;7861:93;;;-1:-1:-1;7920:19:150;;;7907:33;7861:93;-1:-1:-1;;6812:1:150;6808:11;;;6804:24;6800:29;6790:40;6836:1;6832:11;;;6787:57;7967:78;;7160:895;;7187:616;6081:1;6074:14;;;6118:4;6105:18;;-1:-1:-1;;7223:17:150;;;7324:9;7346:229;7360:7;7357:1;7354:14;7346:229;;;7449:19;;;7436:33;7421:49;;7556:4;7541:20;;;;7509:1;7497:14;;;;7376:12;7346:229;;;7350:3;7603;7594:7;7591:16;7588:159;;;7727:1;7723:6;7717:3;7711;7708:1;7704:11;7700:21;7696:34;7692:39;7679:9;7674:3;7670:19;7657:33;7653:79;7645:6;7638:95;7588:159;;;7790:1;7784:3;7781:1;7777:11;7773:19;7767:4;7760:33;7160:895;;6855:1206;;;:::o;8066:267::-;8155:6;8150:3;8143:19;8207:6;8200:5;8193:4;8188:3;8184:14;8171:43;-1:-1:-1;8259:1:150;8234:16;;;8252:4;8230:27;;;8223:38;;;;8315:2;8294:15;;;-1:-1:-1;;8290:29:150;8281:39;;;8277:50;;8066:267::o;8338:437::-;8555:2;8544:9;8537:21;8518:4;8581:62;8639:2;8628:9;8624:18;8616:6;8608;8581:62;:::i;:::-;8691:9;8683:6;8679:22;8674:2;8663:9;8659:18;8652:50;8719;8762:6;8754;8746;8719:50;:::i;8780:1229::-;8983:2;9035:21;;;9008:18;;;9091:22;;;-1:-1:-1;;9144:2:150;9193:1;9189:14;;;9174:30;;9170:39;;;9129:18;;9232:6;-1:-1:-1;9266:714:150;9280:6;9277:1;9274:13;9266:714;;;9345:22;;;-1:-1:-1;;9341:36:150;9329:49;;9417:20;;9492:14;9488:27;;;-1:-1:-1;;9484:41:150;9460:66;;9450:94;;9540:1;9537;9530:12;9450:94;9570:31;;9675:14;;;;9628:19;-1:-1:-1;;;;;9705:30:150;;9702:50;;;9748:1;9745;9738:12;9702:50;9801:6;9785:14;9781:27;9772:7;9768:41;9765:61;;;9822:1;9819;9812:12;9765:61;9849:51;9893:6;9885;9876:7;9849:51;:::i;:::-;9839:61;-1:-1:-1;;;9958:12:150;;;;9923:15;;;;9302:1;9295:9;9266:714;;;-1:-1:-1;9997:6:150;;8780:1229;-1:-1:-1;;;;;;;8780:1229:150:o;10014:320::-;10204:25;;;10192:2;10177:18;;10259:1;10248:13;;10238:47;;10265:18;;:::i;:::-;10321:6;10316:2;10305:9;10301:18;10294:34;10014:320;;;;;:::o;10339:393::-;10558:25;;;10546:2;10531:18;;10613:2;10602:14;;10592:48;;10620:18;;:::i;:::-;10671:2;10656:18;;10649:34;;;;10714:2;10699:18;10692:34;10339:393;;-1:-1:-1;10339:393:150:o;10737:127::-;10798:10;10793:3;10789:20;10786:1;10779:31;10829:4;10826:1;10819:15;10853:4;10850:1;10843:15;10869:522;10947:4;10953:6;11013:11;11000:25;11107:2;11103:7;11092:8;11076:14;11072:29;11068:43;11048:18;11044:68;11034:96;;11126:1;11123;11116:12;11034:96;11153:33;;11205:20;;;-1:-1:-1;;;;;;11237:30:150;;11234:50;;;11280:1;11277;11270:12;11234:50;11313:4;11301:17;;-1:-1:-1;11344:14:150;11340:27;;;11330:38;;11327:58;;;11381:1;11378;11371:12;11396:127;11457:10;11452:3;11448:20;11445:1;11438:31;11488:4;11485:1;11478:15;11512:4;11509:1;11502:15;11528:135;11567:3;11588:17;;;11585:43;;11608:18;;:::i;:::-;-1:-1:-1;11655:1:150;11644:13;;11528:135::o;11668:184::-;11738:6;11791:2;11779:9;11770:7;11766:23;11762:32;11759:52;;;11807:1;11804;11797:12;11759:52;-1:-1:-1;11830:16:150;;11668:184;-1:-1:-1;11668:184:150:o;11857:284::-;11926:6;11979:2;11967:9;11958:7;11954:23;11950:32;11947:52;;;11995:1;11992;11985:12;11947:52;12027:9;12021:16;12077:14;12070:5;12066:26;12059:5;12056:37;12046:65;;12107:1;12104;12097:12;12328:245;12395:6;12448:2;12436:9;12427:7;12423:23;12419:32;12416:52;;;12464:1;12461;12454:12;12416:52;12496:9;12490:16;12515:28;12537:5;12515:28;:::i;12578:125::-;12643:9;;;12664:10;;;12661:36;;;12677:18;;:::i;12708:128::-;12775:9;;;12796:11;;;12793:37;;;12810:18;;:::i;12841:168::-;12914:9;;;12945;;12962:15;;;12956:22;;12942:37;12932:71;;12983:18;;:::i;13014:127::-;13075:10;13070:3;13066:20;13063:1;13056:31;13106:4;13103:1;13096:15;13130:4;13127:1;13120:15;13146:217;13186:1;13212;13202:132;;13256:10;13251:3;13247:20;13244:1;13237:31;13291:4;13288:1;13281:15;13319:4;13316:1;13309:15;13202:132;-1:-1:-1;13348:9:150;;13146:217::o"},"methodIdentifiers":{"claimPayout(uint256)":"8a69614e","getMaxContributorsPerProposal()":"4bb66439","getProposalBudget(uint256)":"01d6e78f","getProposalContributors(uint256)":"5b16e259","getProposalDescription(uint256)":"229acb17","getProposalImplementationDiscussion(uint256)":"656f3e40","getProposalPayee(uint256)":"5452a01b","isProposalCommunityExecutionFinalized(uint256)":"20132e54","isProposalPaid(uint256)":"c305f59a","markAsInDevelopment(uint256,address,string,string,string[],bool)":"16a19ad6","updateCommunityExecution(uint256,address,string,string,string[],bool)":"0a9c9f19"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"GovernorRestrictedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPayeeAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"MissingProposalBudget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NotReadyToClaim\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"PayeesAlreadyFinalized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"PayoutAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"TooManyContributors\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"UnauthorizedCommunityExecution\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxBudget\",\"type\":\"uint256\"}],\"name\":\"ProposalBudgetSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"contributors\",\"type\":\"string[]\"}],\"name\":\"ProposalContributorsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalInDevelopment\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"implementationDiscussion\",\"type\":\"string\"}],\"name\":\"ProposalInDevelopmentDetails\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalPayoutClaimed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getMaxContributorsPerProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalBudget\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalContributors\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalDescription\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalImplementationDiscussion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalPayee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isProposalCommunityExecutionFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isProposalPaid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"All state-changing functions are designed to be called via delegatecall from      {B3TRGovernor}; they read and write the namespaced GovernorStorage slot and      use `msg.sender` (which resolves to the original caller in delegatecall      context, matching the convention used by the existing logic libraries).\",\"errors\":{\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"Thrown when the `proposalId` does not exist.\",\"params\":{\"proposalId\":\"The ID of the proposal that does not exist.\"}}],\"GovernorRestrictedProposal(uint256,uint8)\":[{\"details\":\"Re-declared here so it can be referenced from this library's revert paths.      Matches the existing selector declared in GovernorProposalLogic / IB3TRGovernor.\"}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"Thrown when the current state of a proposal does not match the expected states.\",\"params\":{\"current\":\"The current state of the proposal.\",\"expectedStates\":\"The expected states of the proposal as a bitmap.\",\"proposalId\":\"The ID of the proposal.\"}}],\"InvalidPayeeAddress()\":[{\"details\":\"The payee address is the zero address.\"}],\"MissingProposalBudget(uint256)\":[{\"details\":\"No max budget was recorded for the proposal; the V11 flow cannot be used.\"}],\"NotReadyToClaim(uint256)\":[{\"details\":\"The proposal is not in a state where the budget can be paid out.\"}],\"PayeesAlreadyFinalized(uint256)\":[{\"details\":\"markAsInDevelopment was already called for this proposal.\"}],\"PayoutAlreadyClaimed(uint256)\":[{\"details\":\"The payout was already pulled from Treasury.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"TooManyContributors(uint256,uint256)\":[{\"details\":\"Contributors array is larger than `maxContributorsPerProposal`.\"}],\"UnauthorizedCommunityExecution(address,uint256)\":[{\"details\":\"Caller is neither the proposal proposer nor a PROPOSAL_STATE_MANAGER_ROLE holder.\"}]},\"kind\":\"dev\",\"methods\":{\"claimPayout(uint256)\":{\"details\":\"Callable by anyone. Requires the proposal to be `Completed`. Idempotent.\"},\"markAsInDevelopment(uint256,address,string,string,string[],bool)\":{\"details\":\"Authorized to the proposer OR a PROPOSAL_STATE_MANAGER_ROLE caller; the role      check is performed by the Governor wrapper and forwarded as `callerHasManagerRole`.      Validation:      - Proposal must be a Standard proposal (Grants follow the milestone payout flow)      - Proposal state must be `Executed`, or `Succeeded` when not executable      - The function must not have been called before for this proposal      - When `maxBudget > 0` (community-execution proposal): `payee` must be != 0      - When `maxBudget == 0`: `payee` may be zero (pure state transition, no payout)      - Contributors list size must be <= maxContributorsPerProposal      The single registered payee receives the FULL `maxBudget` when {claimPayout}      is later called. It is the payee's responsibility to forward funds to any      contributors / dev team / project manager off-chain.\"},\"updateCommunityExecution(uint256,address,string,string,string[],bool)\":{\"details\":\"Authorized to the proposer OR a PROPOSAL_STATE_MANAGER_ROLE caller (matching      markAsInDevelopment access rules). Allowed while the proposal is `InDevelopment`      or `Completed` so the proposer can still correct the payout target up until      {claimPayout} is called. Once `proposalPaid` is true the data is immutable.\"}},\"title\":\"GovernorCommunityExecutionLogic\",\"version\":1},\"userdoc\":{\"events\":{\"ProposalBudgetSet(uint256,uint256)\":{\"notice\":\"Emitted when an implementation-cost budget is recorded for a proposal.\"},\"ProposalContributorsSet(uint256,string[])\":{\"notice\":\"Emitted when the contributor handles are (re)set for a proposal.\"},\"ProposalInDevelopment(uint256)\":{\"notice\":\"Re-declared backward-compatible event so the new flow keeps emitting the         same signature as the legacy `markAsInDevelopment(uint256)` path used to.\"},\"ProposalInDevelopmentDetails(uint256,address,string,string)\":{\"notice\":\"Off-chain metadata registered alongside the payee when entering development         (or replaced via {updateCommunityExecution} before payout).\"},\"ProposalPayoutClaimed(uint256,address,uint256)\":{\"notice\":\"Emitted when the single payout is pulled from Treasury to the registered payee.\"}},\"kind\":\"user\",\"methods\":{\"claimPayout(uint256)\":{\"notice\":\"Pull the full implementation cost from Treasury to the registered payee.\"},\"markAsInDevelopment(uint256,address,string,string,string[],bool)\":{\"notice\":\"Mark a proposal as InDevelopment and register the V11 payee + metadata.\"},\"updateCommunityExecution(uint256,address,string,string,string[],bool)\":{\"notice\":\"Replace the payee / description / discussion / contributors for an         in-development proposal whose payout has not yet been claimed.\"}},\"notice\":\"Library implementing the V11 Community Execution Framework: per-proposal         B3TR implementation cost, a single payout address that receives the full         budget after the proposal is marked Completed, free-text description /         implementation-discussion link, and a list of contributor handles.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":\"GovernorCommunityExecutionLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorConfigurator.sol":{"GovernorConfigurator":{"abi":[{"inputs":[{"internalType":"uint256","name":"gmLevel","type":"uint256"}],"name":"GMLevelAboveMaxLevel","type":"error"},{"inputs":[{"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"GovernorDepositThresholdNotInRange","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThresholdCap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThresholdCap","type":"uint256"}],"name":"DepositThresholdCapSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldDepositThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThreshold","type":"uint256"}],"name":"DepositThresholdSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThreshold","type":"uint256"}],"name":"DepositThresholdSetV2","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"GovernanceSkipWindowBlocksSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldMinMinVotingDelay","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMinVotingDelay","type":"uint256"}],"name":"MinVotingDelaySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldNavigatorRegistry","type":"address"},{"indexed":false,"internalType":"address","name":"newNavigatorRegistry","type":"address"}],"name":"NavigatorRegistrySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRelayerRewardsPool","type":"address"},{"indexed":false,"internalType":"address","name":"newRelayerRewardsPool","type":"address"}],"name":"RelayerRewardsPoolSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldRequiredGMLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRequiredGMLevel","type":"uint256"}],"name":"RequiredGMLevelSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldTimelock","type":"address"},{"indexed":false,"internalType":"address","name":"newTimelock","type":"address"}],"name":"TimelockChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldVeBetterPassport","type":"address"},{"indexed":false,"internalType":"address","name":"newVeBetterPassport","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VoterRewardsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSetV2","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"XAllocationVotingSet","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"610e5e61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100b95760003560e01c806314060bef146100be5780633397d78d146100e0578063382fa8ec146101005780634784a113146101205780634cfc47c3146101405780634f49d9ba146101605780636b5889ba1461018057806383833a00146101a0578063b26a9509146101c0578063b2b84a74146101e0578063ce396b1f14610200578063d2eee54a14610220578063d639f65c14610240575b600080fd5b8180156100ca57600080fd5b506100de6100d9366004610c42565b610260565b005b8180156100ec57600080fd5b506100de6100fb366004610c72565b6102c1565b81801561010c57600080fd5b506100de61011b366004610ca0565b610378565b81801561012c57600080fd5b506100de61013b366004610ca0565b610475565b81801561014c57600080fd5b506100de61015b366004610c42565b6104ec565b81801561016c57600080fd5b506100de61017b366004610ca0565b61051b565b81801561018c57600080fd5b506100de61019b366004610c42565b61054d565b8180156101ac57600080fd5b506100de6101bb366004610ca0565b61057c565b8180156101cc57600080fd5b506100de6101db366004610c72565b610670565b8180156101ec57600080fd5b506100de6101fb366004610ca0565b6106c1565b81801561020c57600080fd5b506100de61021b366004610ca0565b6107ad565b81801561022c57600080fd5b506100de61023b366004610ca0565b610824565b81801561024c57600080fd5b506100de61025b366004610ca0565b610853565b61026982610950565b61028e5760405162461bcd60e51b815260040161028590610cc4565b60405180910390fd5b60648111156102b357604051631f04dde560e11b815260048101829052602401610285565b6102bd8282610988565b5050565b600081116103275760405162461bcd60e51b815260206004820152602d60248201527f476f7665726e6f72436f6e666967757261746f723a20736b69702077696e646f60448201526c077206d757374206265203e203609c1b6064820152608401610285565b6000610331610a46565b602281015460408051918252602082018590529192507fb04bf299a74179f455d40e5f5f5c3192123bf6a22ca8e4698e79aa526a6f07a3910160405180910390a160220155565b6001600160a01b0381166103fe5760405162461bcd60e51b815260206004820152604160248201527f476f7665726e6f72436f6e666967757261746f723a2072656c6179657220726560448201527f776172647320706f6f6c20616464726573732063616e6e6f74206265207a65726064820152606f60f81b608482015260a401610285565b6000610408610a46565b60208101546040519192507f1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e9161044a916001600160a01b0316908590610d0f565b60405180910390a160200180546001600160a01b0319166001600160a01b0392909216919091179055565b600061047f610a46565b60148101546040519192507f1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160916104c1916001600160a01b0316908590610d0f565b60405180910390a160140180546001600160a01b0319166001600160a01b0392909216919091179055565b6104f582610950565b6105115760405162461bcd60e51b815260040161028590610cc4565b6102bd8282610a6a565b6001600160a01b0381166105415760405162461bcd60e51b815260040161028590610d29565b61054a81610b01565b50565b61055682610950565b6105725760405162461bcd60e51b815260040161028590610cc4565b6102bd8282610b56565b6000610586610a46565b90506001600160a01b0382166106045760405162461bcd60e51b815260206004820152603e60248201527f476f7665726e6f72436f6e666967757261746f723a2078416c6c6f636174696f60448201527f6e566f74696e6720616464726573732063616e6e6f74206265207a65726f00006064820152608401610285565b600a8101546040517f71004d26dc692e8d5005fb307953a5ce05000120035aa3f83615abc6c6fbba2e91610645916001600160a01b03909116908590610d0f565b60405180910390a1600a0180546001600160a01b0319166001600160a01b0392909216919091179055565b600061067a610a46565b600481015460408051918252602082018590529192507fd5fa2027382834080d1e011cda04312db2805a2069bb13475f4376e8d7c64668910160405180910390a160040155565b60006106cb610a46565b90506001600160a01b0382166107415760405162461bcd60e51b815260206004820152603560248201527f476f7665726e6f72436f6e666967757261746f723a2074696d656c6f636b20616044820152746464726573732063616e6e6f74206265207a65726f60581b6064820152608401610285565b60068101546040517f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b22640191610782916001600160a01b03909116908590610d0f565b60405180910390a160060180546001600160a01b0319166001600160a01b0392909216919091179055565b60006107b7610a46565b601f8101546040519192507f072ec7147cbb6a8d38bd6caa7fdf26b9987bb2ec536bbc5288c4a4c335c58c80916107f9916001600160a01b0316908590610d0f565b60405180910390a1601f0180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661084a5760405162461bcd60e51b815260040161028590610d82565b61054a81610bed565b600061085d610a46565b90506001600160a01b0382166108d75760405162461bcd60e51b815260206004820152603960248201527f476f7665726e6f72436f6e666967757261746f723a20766f7465725265776172604482015278647320616464726573732063616e6e6f74206265207a65726f60381b6064820152608401610285565b7f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c48160090160019054906101000a90046001600160a01b03168360405161091f929190610d0f565b60405180910390a160090180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60008082600181111561096557610965610ddc565b14806109825750600182600181111561098057610980610ddc565b145b92915050565b6000610992610a46565b90507fd7f4fd38ed535300fc72a5de4a35264cf0638081fc06ba63a6c1025b9993b0f3838260160160008660018111156109ce576109ce610ddc565b60018111156109df576109df610ddc565b815260200190815260200160002054846040516109fe93929190610df2565b60405180910390a181816016016000856001811115610a1f57610a1f610ddc565b6001811115610a3057610a30610ddc565b8152602081019190915260400160002055505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b6000610a74610a46565b90507f1e44e875a8ec5300a305e63ca083de2b0e62e333df633bde0e680a9ff64e3c2183826017016000866001811115610ab057610ab0610ddc565b6001811115610ac157610ac1610ddc565b81526020019081526020016000205484604051610ae093929190610df2565b60405180910390a181816017016000856001811115610a1f57610a1f610ddc565b6000610b0b610a46565b90506001600160a01b038216610b335760405162461bcd60e51b815260040161028590610d29565b601b0180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b60610a46565b90507fbab71752ceaca29a72caf93b1099d9bfcf0e836a02c01a567d4e7365ae2242c283826019016000866001811115610b9c57610b9c610ddc565b6001811115610bad57610bad610ddc565b81526020019081526020016000205484604051610bcc93929190610df2565b60405180910390a181816019016000856001811115610a1f57610a1f610ddc565b6000610bf7610a46565b90506001600160a01b038216610c1f5760405162461bcd60e51b815260040161028590610d82565b601a0180546001600160a01b0319166001600160a01b0392909216919091179055565b60008060408385031215610c5557600080fd5b823560028110610c6457600080fd5b946020939093013593505050565b600060208284031215610c8457600080fd5b5035919050565b6001600160a01b038116811461054a57600080fd5b600060208284031215610cb257600080fd5b8135610cbd81610c8b565b9392505050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60208082526039908201527f476f7665726e6f72436f6e666967757261746f723a2047616c6178794d656d62604082015278657220616464726573732063616e6e6f74206265207a65726f60381b606082015260800190565b6020808252603a908201527f476f7665726e6f72436f6e666967757261746f723a204772616e74734d616e6160408201527967657220616464726573732063616e6e6f74206265207a65726f60301b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b6060810160028510610e1457634e487b7160e01b600052602160045260246000fd5b93815260208101929092526040909101529056fea2646970667358221220123a89797be172efa33a0846085a9daf2845af0a2f5788dfc4cec8b7faab4f3664736f6c63430008140033","opcodes":"PUSH2 0xE5E PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x14060BEF EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0x3397D78D EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x382FA8EC EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x4784A113 EQ PUSH2 0x120 JUMPI DUP1 PUSH4 0x4CFC47C3 EQ PUSH2 0x140 JUMPI DUP1 PUSH4 0x4F49D9BA EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0x6B5889BA EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0x83833A00 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xB26A9509 EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xB2B84A74 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xCE396B1F EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0xD2EEE54A EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0xD639F65C EQ PUSH2 0x240 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0xC42 JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0xC72 JUMP JUMPDEST PUSH2 0x2C1 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x11B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x378 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x12C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x13B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x475 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x14C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x15B CALLDATASIZE PUSH1 0x4 PUSH2 0xC42 JUMP JUMPDEST PUSH2 0x4EC JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x17B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x18C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0xC42 JUMP JUMPDEST PUSH2 0x54D JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1BB CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x57C JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1DB CALLDATASIZE PUSH1 0x4 PUSH2 0xC72 JUMP JUMPDEST PUSH2 0x670 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x6C1 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x20C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x7AD JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x824 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST PUSH2 0x269 DUP3 PUSH2 0x950 JUMP JUMPDEST PUSH2 0x28E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xCC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1F04DDE5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x285 JUMP JUMPDEST PUSH2 0x2BD DUP3 DUP3 PUSH2 0x988 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0x327 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20736B69702077696E646F PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x77206D757374206265203E203 PUSH1 0x9C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x285 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x331 PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x22 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xB04BF299A74179F455D40E5F5F5C3192123BF6A22CA8E4698E79AA526A6F07A3 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x22 ADD SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3FE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A2072656C61796572207265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776172647320706F6F6C20616464726573732063616E6E6F74206265207A6572 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x6F PUSH1 0xF8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x285 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x408 PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1CDB859FDDC65C1FC3FC767C3640525B1847D0ACE5955A01B15C7A91D96C357E SWAP2 PUSH2 0x44A SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x20 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47F PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x14 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1635A7CE44FAF9C7A871602659C02602D0B1DEB541D4DF560D0616D42DD71160 SWAP2 PUSH2 0x4C1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x14 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4F5 DUP3 PUSH2 0x950 JUMP JUMPDEST PUSH2 0x511 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xCC4 JUMP JUMPDEST PUSH2 0x2BD DUP3 DUP3 PUSH2 0xA6A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x541 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xD29 JUMP JUMPDEST PUSH2 0x54A DUP2 PUSH2 0xB01 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x556 DUP3 PUSH2 0x950 JUMP JUMPDEST PUSH2 0x572 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xCC4 JUMP JUMPDEST PUSH2 0x2BD DUP3 DUP3 PUSH2 0xB56 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x586 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x604 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A2078416C6C6F636174696F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6E566F74696E6720616464726573732063616E6E6F74206265207A65726F0000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x285 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x71004D26DC692E8D5005FB307953A5CE05000120035AA3F83615ABC6C6FBBA2E SWAP2 PUSH2 0x645 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xA ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x67A PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xD5FA2027382834080D1E011CDA04312DB2805A2069BB13475F4376E8D7C64668 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x4 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6CB PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x741 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A2074696D656C6F636B2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x6464726573732063616E6E6F74206265207A65726F PUSH1 0x58 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x285 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x8F74EA46EF7894F65EABFB5E6E695DE773A000B47C529AB559178069B226401 SWAP2 PUSH2 0x782 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x6 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7B7 PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x1F DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x72EC7147CBB6A8D38BD6CAA7FDF26B9987BB2EC536BBC5288C4A4C335C58C80 SWAP2 PUSH2 0x7F9 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1F ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x84A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xD82 JUMP JUMPDEST PUSH2 0x54A DUP2 PUSH2 0xBED JUMP JUMPDEST PUSH1 0x0 PUSH2 0x85D PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8D7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20766F7465725265776172 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x647320616464726573732063616E6E6F74206265207A65726F PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x285 JUMP JUMPDEST PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 DUP2 PUSH1 0x9 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x91F SWAP3 SWAP2 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x9 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x965 JUMPI PUSH2 0x965 PUSH2 0xDDC JUMP JUMPDEST EQ DUP1 PUSH2 0x982 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x980 JUMPI PUSH2 0x980 PUSH2 0xDDC JUMP JUMPDEST EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x992 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH32 0xD7F4FD38ED535300FC72A5DE4A35264CF0638081FC06BA63A6C1025B9993B0F3 DUP4 DUP3 PUSH1 0x16 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x9CE JUMPI PUSH2 0x9CE PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x9DF JUMPI PUSH2 0x9DF PUSH2 0xDDC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0x9FE SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDF2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x16 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA1F JUMPI PUSH2 0xA1F PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA30 JUMPI PUSH2 0xA30 PUSH2 0xDDC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA74 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH32 0x1E44E875A8EC5300A305E63CA083DE2B0E62E333DF633BDE0E680A9FF64E3C21 DUP4 DUP3 PUSH1 0x17 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xAB0 JUMPI PUSH2 0xAB0 PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xAC1 JUMPI PUSH2 0xAC1 PUSH2 0xDDC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xAE0 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDF2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x17 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA1F JUMPI PUSH2 0xA1F PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0B PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB33 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xD29 JUMP JUMPDEST PUSH1 0x1B ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB60 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH32 0xBAB71752CEACA29A72CAF93B1099D9BFCF0E836A02C01A567D4E7365AE2242C2 DUP4 DUP3 PUSH1 0x19 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB9C JUMPI PUSH2 0xB9C PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBAD JUMPI PUSH2 0xBAD PUSH2 0xDDC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xBCC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDF2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x19 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA1F JUMPI PUSH2 0xA1F PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBF7 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC1F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xD82 JUMP JUMPDEST PUSH1 0x1A ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0xC64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x54A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCBD DUP2 PUSH2 0xC8B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x39 SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A2047616C6178794D656D62 PUSH1 0x40 DUP3 ADD MSTORE PUSH25 0x657220616464726573732063616E6E6F74206265207A65726F PUSH1 0x38 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x3A SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A204772616E74734D616E61 PUSH1 0x40 DUP3 ADD MSTORE PUSH26 0x67657220616464726573732063616E6E6F74206265207A65726F PUSH1 0x30 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD PUSH1 0x2 DUP6 LT PUSH2 0xE14 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLT GASPRICE DUP10 PUSH26 0x7BE172EFA33A0846085A9DAF2845AF0A2F5788DFC4CEC8B7FAAB 0x4F CALLDATASIZE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"2427:17463:100:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2427:17463:100;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_setGalaxyMemberContract_56748":{"entryPoint":2817,"id":56748,"parameterSlots":1,"returnSlots":0},"@_setGrantsManagerContract_56808":{"entryPoint":3053,"id":56808,"parameterSlots":1,"returnSlots":0},"@_setProposalTypeDepositThresholdCap_56688":{"entryPoint":2902,"id":56688,"parameterSlots":2,"returnSlots":0},"@_setProposalTypeDepositThresholdPercentage_56570":{"entryPoint":2440,"id":56570,"parameterSlots":2,"returnSlots":0},"@_setProposalTypeVotingThreshold_56629":{"entryPoint":2666,"id":56629,"parameterSlots":2,"returnSlots":0},"@getGovernorStorage_61139":{"entryPoint":2630,"id":61139,"parameterSlots":0,"returnSlots":1},"@isValidProposalType_60182":{"entryPoint":2384,"id":60182,"parameterSlots":1,"returnSlots":1},"@setGalaxyMemberContract_56712":{"entryPoint":1307,"id":56712,"parameterSlots":1,"returnSlots":0},"@setGovernanceSkipWindowBlocks_56330":{"entryPoint":705,"id":56330,"parameterSlots":1,"returnSlots":0},"@setGrantsManagerContract_56772":{"entryPoint":2084,"id":56772,"parameterSlots":1,"returnSlots":0},"@setMinVotingDelay_56358":{"entryPoint":1648,"id":56358,"parameterSlots":1,"returnSlots":0},"@setNavigatorRegistry_56247":{"entryPoint":1965,"id":56247,"parameterSlots":1,"returnSlots":0},"@setProposalTypeDepositThresholdCap_56652":{"entryPoint":1357,"id":56652,"parameterSlots":2,"returnSlots":0},"@setProposalTypeDepositThresholdPercentage_56534":{"entryPoint":608,"id":56534,"parameterSlots":2,"returnSlots":0},"@setProposalTypeVotingThreshold_56593":{"entryPoint":1260,"id":56593,"parameterSlots":2,"returnSlots":0},"@setRelayerRewardsPool_56295":{"entryPoint":888,"id":56295,"parameterSlots":1,"returnSlots":0},"@setVeBetterPassport_56212":{"entryPoint":1141,"id":56212,"parameterSlots":1,"returnSlots":0},"@setVoterRewards_56406":{"entryPoint":2131,"id":56406,"parameterSlots":1,"returnSlots":0},"@setXAllocationVoting_56454":{"entryPoint":1404,"id":56454,"parameterSlots":1,"returnSlots":0},"@updateTimelock_56502":{"entryPoint":1729,"id":56502,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_contract$_IGalaxyMember_$65196":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IGrantsManager_$65639":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117":{"entryPoint":3232,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVoterRewards_$69092":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_enum$_ProposalType_$61431t_uint256":{"entryPoint":3138,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":3186,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":3343,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$61431_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":3570,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_stringliteral_037dbf5859a8fb91da8b98f3a24d52c356903ef23273082b4178678fc59f4bc6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3458,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3268,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_602de8831a650e8872fb27596fb82bbc16d7141a3b963a7781ead850bf103614__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7df73a27ba910fd5a5ac52a6787b30606043bbb54ba652898d4acb2282f13a8e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3369,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8cb0a4c35d5295637d396d1306e0484efcadc08c94682117dbac156e1d05f84c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_bab4f7a299e36c6aff6bc4689e4b028733b2f98977c64143da6c31d5a6692d97__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e60225fea531c85b30de1bfd54335825ede6160db5b3c5079c75bd9cbfb7a8d5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f9dc7f3c8b071e9769e8f0619954654cea67e7b7177f4beed0db6f97a5db4cfd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"panic_error_0x21":{"entryPoint":3548,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_contract_IRelayerRewardsPool":{"entryPoint":3211,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7913:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"119:237:150","statements":[{"body":{"nodeType":"YulBlock","src":"165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:150"},"nodeType":"YulFunctionCall","src":"167:12:150"},"nodeType":"YulExpressionStatement","src":"167:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"140:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"149:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"136:3:150"},"nodeType":"YulFunctionCall","src":"136:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"161:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"132:3:150"},"nodeType":"YulFunctionCall","src":"132:32:150"},"nodeType":"YulIf","src":"129:52:150"},{"nodeType":"YulVariableDeclaration","src":"190:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"216:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"203:12:150"},"nodeType":"YulFunctionCall","src":"203:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"194:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"259:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:150"},"nodeType":"YulFunctionCall","src":"261:12:150"},"nodeType":"YulExpressionStatement","src":"261:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"248:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"255:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"245:2:150"},"nodeType":"YulFunctionCall","src":"245:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"238:6:150"},"nodeType":"YulFunctionCall","src":"238:20:150"},"nodeType":"YulIf","src":"235:40:150"},{"nodeType":"YulAssignment","src":"284:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"294:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"284:6:150"}]},{"nodeType":"YulAssignment","src":"308:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"335:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"346:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"331:3:150"},"nodeType":"YulFunctionCall","src":"331:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"318:12:150"},"nodeType":"YulFunctionCall","src":"318:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"308:6:150"}]}]},"name":"abi_decode_tuple_t_enum$_ProposalType_$61431t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"77:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"88:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"100:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"108:6:150","type":""}],"src":"14:342:150"},{"body":{"nodeType":"YulBlock","src":"431:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"477:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"486:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"489:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"479:6:150"},"nodeType":"YulFunctionCall","src":"479:12:150"},"nodeType":"YulExpressionStatement","src":"479:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"452:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"461:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"448:3:150"},"nodeType":"YulFunctionCall","src":"448:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"473:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"444:3:150"},"nodeType":"YulFunctionCall","src":"444:32:150"},"nodeType":"YulIf","src":"441:52:150"},{"nodeType":"YulAssignment","src":"502:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"525:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"512:12:150"},"nodeType":"YulFunctionCall","src":"512:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"502:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"397:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"408:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"420:6:150","type":""}],"src":"361:180:150"},{"body":{"nodeType":"YulBlock","src":"612:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"676:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"685:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"688:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"678:6:150"},"nodeType":"YulFunctionCall","src":"678:12:150"},"nodeType":"YulExpressionStatement","src":"678:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"635:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"646:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"661:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"666:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"657:3:150"},"nodeType":"YulFunctionCall","src":"657:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"670:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"653:3:150"},"nodeType":"YulFunctionCall","src":"653:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"642:3:150"},"nodeType":"YulFunctionCall","src":"642:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"632:2:150"},"nodeType":"YulFunctionCall","src":"632:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"625:6:150"},"nodeType":"YulFunctionCall","src":"625:50:150"},"nodeType":"YulIf","src":"622:70:150"}]},"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"601:5:150","type":""}],"src":"546:152:150"},{"body":{"nodeType":"YulBlock","src":"802:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"848:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"857:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"860:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"850:6:150"},"nodeType":"YulFunctionCall","src":"850:12:150"},"nodeType":"YulExpressionStatement","src":"850:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"823:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"832:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"819:3:150"},"nodeType":"YulFunctionCall","src":"819:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"844:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"815:3:150"},"nodeType":"YulFunctionCall","src":"815:32:150"},"nodeType":"YulIf","src":"812:52:150"},{"nodeType":"YulVariableDeclaration","src":"873:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"899:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"886:12:150"},"nodeType":"YulFunctionCall","src":"886:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"877:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"964:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"918:45:150"},"nodeType":"YulFunctionCall","src":"918:52:150"},"nodeType":"YulExpressionStatement","src":"918:52:150"},{"nodeType":"YulAssignment","src":"979:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"989:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"979:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"768:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"779:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"791:6:150","type":""}],"src":"703:297:150"},{"body":{"nodeType":"YulBlock","src":"1102:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"1148:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1157:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1160:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1150:6:150"},"nodeType":"YulFunctionCall","src":"1150:12:150"},"nodeType":"YulExpressionStatement","src":"1150:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1123:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1132:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1119:3:150"},"nodeType":"YulFunctionCall","src":"1119:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1144:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1115:3:150"},"nodeType":"YulFunctionCall","src":"1115:32:150"},"nodeType":"YulIf","src":"1112:52:150"},{"nodeType":"YulVariableDeclaration","src":"1173:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1199:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1186:12:150"},"nodeType":"YulFunctionCall","src":"1186:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1177:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1264:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"1218:45:150"},"nodeType":"YulFunctionCall","src":"1218:52:150"},"nodeType":"YulExpressionStatement","src":"1218:52:150"},{"nodeType":"YulAssignment","src":"1279:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1289:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1279:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1068:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1079:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1091:6:150","type":""}],"src":"1005:295:150"},{"body":{"nodeType":"YulBlock","src":"1398:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"1444:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1453:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1456:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1446:6:150"},"nodeType":"YulFunctionCall","src":"1446:12:150"},"nodeType":"YulExpressionStatement","src":"1446:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1419:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1428:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1415:3:150"},"nodeType":"YulFunctionCall","src":"1415:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1440:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1411:3:150"},"nodeType":"YulFunctionCall","src":"1411:32:150"},"nodeType":"YulIf","src":"1408:52:150"},{"nodeType":"YulVariableDeclaration","src":"1469:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1495:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1482:12:150"},"nodeType":"YulFunctionCall","src":"1482:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1473:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1560:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"1514:45:150"},"nodeType":"YulFunctionCall","src":"1514:52:150"},"nodeType":"YulExpressionStatement","src":"1514:52:150"},{"nodeType":"YulAssignment","src":"1575:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1585:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1575:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IGalaxyMember_$65196","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1364:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1375:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1387:6:150","type":""}],"src":"1305:291:150"},{"body":{"nodeType":"YulBlock","src":"1707:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"1753:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1762:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1765:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1755:6:150"},"nodeType":"YulFunctionCall","src":"1755:12:150"},"nodeType":"YulExpressionStatement","src":"1755:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1728:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1737:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1724:3:150"},"nodeType":"YulFunctionCall","src":"1724:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1749:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1720:3:150"},"nodeType":"YulFunctionCall","src":"1720:32:150"},"nodeType":"YulIf","src":"1717:52:150"},{"nodeType":"YulVariableDeclaration","src":"1778:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1804:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1791:12:150"},"nodeType":"YulFunctionCall","src":"1791:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1782:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1869:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"1823:45:150"},"nodeType":"YulFunctionCall","src":"1823:52:150"},"nodeType":"YulExpressionStatement","src":"1823:52:150"},{"nodeType":"YulAssignment","src":"1884:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1894:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1884:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1673:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1684:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1696:6:150","type":""}],"src":"1601:304:150"},{"body":{"nodeType":"YulBlock","src":"2018:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"2064:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2073:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2076:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2066:6:150"},"nodeType":"YulFunctionCall","src":"2066:12:150"},"nodeType":"YulExpressionStatement","src":"2066:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2039:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2048:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2035:3:150"},"nodeType":"YulFunctionCall","src":"2035:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2060:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2031:3:150"},"nodeType":"YulFunctionCall","src":"2031:32:150"},"nodeType":"YulIf","src":"2028:52:150"},{"nodeType":"YulVariableDeclaration","src":"2089:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2115:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2102:12:150"},"nodeType":"YulFunctionCall","src":"2102:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2093:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2180:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"2134:45:150"},"nodeType":"YulFunctionCall","src":"2134:52:150"},"nodeType":"YulExpressionStatement","src":"2134:52:150"},{"nodeType":"YulAssignment","src":"2195:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2205:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2195:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1984:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1995:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2007:6:150","type":""}],"src":"1910:306:150"},{"body":{"nodeType":"YulBlock","src":"2319:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"2365:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2374:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2377:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2367:6:150"},"nodeType":"YulFunctionCall","src":"2367:12:150"},"nodeType":"YulExpressionStatement","src":"2367:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2340:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2349:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2336:3:150"},"nodeType":"YulFunctionCall","src":"2336:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2361:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2332:3:150"},"nodeType":"YulFunctionCall","src":"2332:32:150"},"nodeType":"YulIf","src":"2329:52:150"},{"nodeType":"YulVariableDeclaration","src":"2390:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2416:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2403:12:150"},"nodeType":"YulFunctionCall","src":"2403:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2394:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2481:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"2435:45:150"},"nodeType":"YulFunctionCall","src":"2435:52:150"},"nodeType":"YulExpressionStatement","src":"2435:52:150"},{"nodeType":"YulAssignment","src":"2496:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2506:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2496:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2285:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2296:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2308:6:150","type":""}],"src":"2221:296:150"},{"body":{"nodeType":"YulBlock","src":"2616:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"2662:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2671:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2674:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2664:6:150"},"nodeType":"YulFunctionCall","src":"2664:12:150"},"nodeType":"YulExpressionStatement","src":"2664:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2637:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2646:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2633:3:150"},"nodeType":"YulFunctionCall","src":"2633:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2658:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2629:3:150"},"nodeType":"YulFunctionCall","src":"2629:32:150"},"nodeType":"YulIf","src":"2626:52:150"},{"nodeType":"YulVariableDeclaration","src":"2687:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2713:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2700:12:150"},"nodeType":"YulFunctionCall","src":"2700:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2691:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2778:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"2732:45:150"},"nodeType":"YulFunctionCall","src":"2732:52:150"},"nodeType":"YulExpressionStatement","src":"2732:52:150"},{"nodeType":"YulAssignment","src":"2793:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2803:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2793:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IGrantsManager_$65639","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2582:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2593:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2605:6:150","type":""}],"src":"2522:292:150"},{"body":{"nodeType":"YulBlock","src":"2912:198:150","statements":[{"body":{"nodeType":"YulBlock","src":"2958:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2967:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2970:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2960:6:150"},"nodeType":"YulFunctionCall","src":"2960:12:150"},"nodeType":"YulExpressionStatement","src":"2960:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2933:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2942:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2929:3:150"},"nodeType":"YulFunctionCall","src":"2929:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2954:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2925:3:150"},"nodeType":"YulFunctionCall","src":"2925:32:150"},"nodeType":"YulIf","src":"2922:52:150"},{"nodeType":"YulVariableDeclaration","src":"2983:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3009:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2996:12:150"},"nodeType":"YulFunctionCall","src":"2996:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2987:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3074:5:150"}],"functionName":{"name":"validator_revert_contract_IRelayerRewardsPool","nodeType":"YulIdentifier","src":"3028:45:150"},"nodeType":"YulFunctionCall","src":"3028:52:150"},"nodeType":"YulExpressionStatement","src":"3028:52:150"},{"nodeType":"YulAssignment","src":"3089:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3099:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3089:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2878:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2889:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2901:6:150","type":""}],"src":"2819:291:150"},{"body":{"nodeType":"YulBlock","src":"3289:233:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3306:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3317:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3299:6:150"},"nodeType":"YulFunctionCall","src":"3299:21:150"},"nodeType":"YulExpressionStatement","src":"3299:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3340:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3351:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3336:3:150"},"nodeType":"YulFunctionCall","src":"3336:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"3356:2:150","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3329:6:150"},"nodeType":"YulFunctionCall","src":"3329:30:150"},"nodeType":"YulExpressionStatement","src":"3329:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3379:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3390:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3375:3:150"},"nodeType":"YulFunctionCall","src":"3375:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c6964207072","kind":"string","nodeType":"YulLiteral","src":"3395:34:150","type":"","value":"GovernorConfigurator: invalid pr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3368:6:150"},"nodeType":"YulFunctionCall","src":"3368:62:150"},"nodeType":"YulExpressionStatement","src":"3368:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3450:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3461:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3446:3:150"},"nodeType":"YulFunctionCall","src":"3446:18:150"},{"hexValue":"6f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"3466:13:150","type":"","value":"oposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3439:6:150"},"nodeType":"YulFunctionCall","src":"3439:41:150"},"nodeType":"YulExpressionStatement","src":"3439:41:150"},{"nodeType":"YulAssignment","src":"3489:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3501:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3512:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3497:3:150"},"nodeType":"YulFunctionCall","src":"3497:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3489:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3266:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3280:4:150","type":""}],"src":"3115:407:150"},{"body":{"nodeType":"YulBlock","src":"3628:76:150","statements":[{"nodeType":"YulAssignment","src":"3638:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3650:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3661:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3646:3:150"},"nodeType":"YulFunctionCall","src":"3646:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3638:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3680:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3691:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3673:6:150"},"nodeType":"YulFunctionCall","src":"3673:25:150"},"nodeType":"YulExpressionStatement","src":"3673:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3597:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3608:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3619:4:150","type":""}],"src":"3527:177:150"},{"body":{"nodeType":"YulBlock","src":"3883:235:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3900:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3911:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3893:6:150"},"nodeType":"YulFunctionCall","src":"3893:21:150"},"nodeType":"YulExpressionStatement","src":"3893:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3934:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3945:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3930:3:150"},"nodeType":"YulFunctionCall","src":"3930:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"3950:2:150","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3923:6:150"},"nodeType":"YulFunctionCall","src":"3923:30:150"},"nodeType":"YulExpressionStatement","src":"3923:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3973:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3984:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3969:3:150"},"nodeType":"YulFunctionCall","src":"3969:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20736b69702077696e646f","kind":"string","nodeType":"YulLiteral","src":"3989:34:150","type":"","value":"GovernorConfigurator: skip windo"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3962:6:150"},"nodeType":"YulFunctionCall","src":"3962:62:150"},"nodeType":"YulExpressionStatement","src":"3962:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4044:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4055:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4040:3:150"},"nodeType":"YulFunctionCall","src":"4040:18:150"},{"hexValue":"77206d757374206265203e2030","kind":"string","nodeType":"YulLiteral","src":"4060:15:150","type":"","value":"w must be > 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4033:6:150"},"nodeType":"YulFunctionCall","src":"4033:43:150"},"nodeType":"YulExpressionStatement","src":"4033:43:150"},{"nodeType":"YulAssignment","src":"4085:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4097:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4108:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4093:3:150"},"nodeType":"YulFunctionCall","src":"4093:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4085:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_f9dc7f3c8b071e9769e8f0619954654cea67e7b7177f4beed0db6f97a5db4cfd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3860:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3874:4:150","type":""}],"src":"3709:409:150"},{"body":{"nodeType":"YulBlock","src":"4252:119:150","statements":[{"nodeType":"YulAssignment","src":"4262:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4274:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4285:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4270:3:150"},"nodeType":"YulFunctionCall","src":"4270:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4262:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4304:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"4315:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4297:6:150"},"nodeType":"YulFunctionCall","src":"4297:25:150"},"nodeType":"YulExpressionStatement","src":"4297:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4342:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4353:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4338:3:150"},"nodeType":"YulFunctionCall","src":"4338:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"4358:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4331:6:150"},"nodeType":"YulFunctionCall","src":"4331:34:150"},"nodeType":"YulExpressionStatement","src":"4331:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4213:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4224:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4232:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4243:4:150","type":""}],"src":"4123:248:150"},{"body":{"nodeType":"YulBlock","src":"4550:295:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4567:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4578:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4560:6:150"},"nodeType":"YulFunctionCall","src":"4560:21:150"},"nodeType":"YulExpressionStatement","src":"4560:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4601:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4612:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4597:3:150"},"nodeType":"YulFunctionCall","src":"4597:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"4617:2:150","type":"","value":"65"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4590:6:150"},"nodeType":"YulFunctionCall","src":"4590:30:150"},"nodeType":"YulExpressionStatement","src":"4590:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4640:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4651:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4636:3:150"},"nodeType":"YulFunctionCall","src":"4636:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a2072656c61796572207265","kind":"string","nodeType":"YulLiteral","src":"4656:34:150","type":"","value":"GovernorConfigurator: relayer re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4629:6:150"},"nodeType":"YulFunctionCall","src":"4629:62:150"},"nodeType":"YulExpressionStatement","src":"4629:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4711:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4722:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4707:3:150"},"nodeType":"YulFunctionCall","src":"4707:18:150"},{"hexValue":"776172647320706f6f6c20616464726573732063616e6e6f74206265207a6572","kind":"string","nodeType":"YulLiteral","src":"4727:34:150","type":"","value":"wards pool address cannot be zer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4700:6:150"},"nodeType":"YulFunctionCall","src":"4700:62:150"},"nodeType":"YulExpressionStatement","src":"4700:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4782:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4793:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4778:3:150"},"nodeType":"YulFunctionCall","src":"4778:19:150"},{"hexValue":"6f","kind":"string","nodeType":"YulLiteral","src":"4799:3:150","type":"","value":"o"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4771:6:150"},"nodeType":"YulFunctionCall","src":"4771:32:150"},"nodeType":"YulExpressionStatement","src":"4771:32:150"},{"nodeType":"YulAssignment","src":"4812:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4824:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4835:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4820:3:150"},"nodeType":"YulFunctionCall","src":"4820:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4812:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_602de8831a650e8872fb27596fb82bbc16d7141a3b963a7781ead850bf103614__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4527:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4541:4:150","type":""}],"src":"4376:469:150"},{"body":{"nodeType":"YulBlock","src":"4979:175:150","statements":[{"nodeType":"YulAssignment","src":"4989:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5001:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5012:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4997:3:150"},"nodeType":"YulFunctionCall","src":"4997:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4989:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"5024:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5042:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5047:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5038:3:150"},"nodeType":"YulFunctionCall","src":"5038:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"5051:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5034:3:150"},"nodeType":"YulFunctionCall","src":"5034:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5028:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5069:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5084:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5092:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5080:3:150"},"nodeType":"YulFunctionCall","src":"5080:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5062:6:150"},"nodeType":"YulFunctionCall","src":"5062:34:150"},"nodeType":"YulExpressionStatement","src":"5062:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5116:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5127:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5112:3:150"},"nodeType":"YulFunctionCall","src":"5112:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5136:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5144:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5132:3:150"},"nodeType":"YulFunctionCall","src":"5132:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5105:6:150"},"nodeType":"YulFunctionCall","src":"5105:43:150"},"nodeType":"YulExpressionStatement","src":"5105:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4940:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4951:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4959:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4970:4:150","type":""}],"src":"4850:304:150"},{"body":{"nodeType":"YulBlock","src":"5333:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5350:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5361:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5343:6:150"},"nodeType":"YulFunctionCall","src":"5343:21:150"},"nodeType":"YulExpressionStatement","src":"5343:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5384:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5395:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5380:3:150"},"nodeType":"YulFunctionCall","src":"5380:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"5400:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5373:6:150"},"nodeType":"YulFunctionCall","src":"5373:30:150"},"nodeType":"YulExpressionStatement","src":"5373:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5434:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5419:3:150"},"nodeType":"YulFunctionCall","src":"5419:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a2047616c6178794d656d62","kind":"string","nodeType":"YulLiteral","src":"5439:34:150","type":"","value":"GovernorConfigurator: GalaxyMemb"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5412:6:150"},"nodeType":"YulFunctionCall","src":"5412:62:150"},"nodeType":"YulExpressionStatement","src":"5412:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5494:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5505:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5490:3:150"},"nodeType":"YulFunctionCall","src":"5490:18:150"},{"hexValue":"657220616464726573732063616e6e6f74206265207a65726f","kind":"string","nodeType":"YulLiteral","src":"5510:27:150","type":"","value":"er address cannot be zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5483:6:150"},"nodeType":"YulFunctionCall","src":"5483:55:150"},"nodeType":"YulExpressionStatement","src":"5483:55:150"},{"nodeType":"YulAssignment","src":"5547:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5559:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5570:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5555:3:150"},"nodeType":"YulFunctionCall","src":"5555:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5547:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_7df73a27ba910fd5a5ac52a6787b30606043bbb54ba652898d4acb2282f13a8e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5310:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5324:4:150","type":""}],"src":"5159:421:150"},{"body":{"nodeType":"YulBlock","src":"5759:252:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5776:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5787:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5769:6:150"},"nodeType":"YulFunctionCall","src":"5769:21:150"},"nodeType":"YulExpressionStatement","src":"5769:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5810:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5821:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5806:3:150"},"nodeType":"YulFunctionCall","src":"5806:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"5826:2:150","type":"","value":"62"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5799:6:150"},"nodeType":"YulFunctionCall","src":"5799:30:150"},"nodeType":"YulExpressionStatement","src":"5799:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5849:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5860:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5845:3:150"},"nodeType":"YulFunctionCall","src":"5845:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a2078416c6c6f636174696f","kind":"string","nodeType":"YulLiteral","src":"5865:34:150","type":"","value":"GovernorConfigurator: xAllocatio"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5838:6:150"},"nodeType":"YulFunctionCall","src":"5838:62:150"},"nodeType":"YulExpressionStatement","src":"5838:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5920:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5931:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5916:3:150"},"nodeType":"YulFunctionCall","src":"5916:18:150"},{"hexValue":"6e566f74696e6720616464726573732063616e6e6f74206265207a65726f","kind":"string","nodeType":"YulLiteral","src":"5936:32:150","type":"","value":"nVoting address cannot be zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5909:6:150"},"nodeType":"YulFunctionCall","src":"5909:60:150"},"nodeType":"YulExpressionStatement","src":"5909:60:150"},{"nodeType":"YulAssignment","src":"5978:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5990:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6001:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5986:3:150"},"nodeType":"YulFunctionCall","src":"5986:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5978:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_e60225fea531c85b30de1bfd54335825ede6160db5b3c5079c75bd9cbfb7a8d5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5736:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5750:4:150","type":""}],"src":"5585:426:150"},{"body":{"nodeType":"YulBlock","src":"6190:243:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6207:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6218:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6200:6:150"},"nodeType":"YulFunctionCall","src":"6200:21:150"},"nodeType":"YulExpressionStatement","src":"6200:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6241:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6252:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6237:3:150"},"nodeType":"YulFunctionCall","src":"6237:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"6257:2:150","type":"","value":"53"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6230:6:150"},"nodeType":"YulFunctionCall","src":"6230:30:150"},"nodeType":"YulExpressionStatement","src":"6230:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6280:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6291:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6276:3:150"},"nodeType":"YulFunctionCall","src":"6276:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a2074696d656c6f636b2061","kind":"string","nodeType":"YulLiteral","src":"6296:34:150","type":"","value":"GovernorConfigurator: timelock a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6269:6:150"},"nodeType":"YulFunctionCall","src":"6269:62:150"},"nodeType":"YulExpressionStatement","src":"6269:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6351:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6362:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6347:3:150"},"nodeType":"YulFunctionCall","src":"6347:18:150"},{"hexValue":"6464726573732063616e6e6f74206265207a65726f","kind":"string","nodeType":"YulLiteral","src":"6367:23:150","type":"","value":"ddress cannot be zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6340:6:150"},"nodeType":"YulFunctionCall","src":"6340:51:150"},"nodeType":"YulExpressionStatement","src":"6340:51:150"},{"nodeType":"YulAssignment","src":"6400:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6412:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6423:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6408:3:150"},"nodeType":"YulFunctionCall","src":"6408:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6400:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_bab4f7a299e36c6aff6bc4689e4b028733b2f98977c64143da6c31d5a6692d97__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6167:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6181:4:150","type":""}],"src":"6016:417:150"},{"body":{"nodeType":"YulBlock","src":"6612:248:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6640:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6622:6:150"},"nodeType":"YulFunctionCall","src":"6622:21:150"},"nodeType":"YulExpressionStatement","src":"6622:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6663:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6674:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6659:3:150"},"nodeType":"YulFunctionCall","src":"6659:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"6679:2:150","type":"","value":"58"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6652:6:150"},"nodeType":"YulFunctionCall","src":"6652:30:150"},"nodeType":"YulExpressionStatement","src":"6652:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6702:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6713:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6698:3:150"},"nodeType":"YulFunctionCall","src":"6698:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a204772616e74734d616e61","kind":"string","nodeType":"YulLiteral","src":"6718:34:150","type":"","value":"GovernorConfigurator: GrantsMana"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6691:6:150"},"nodeType":"YulFunctionCall","src":"6691:62:150"},"nodeType":"YulExpressionStatement","src":"6691:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6773:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6784:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6769:3:150"},"nodeType":"YulFunctionCall","src":"6769:18:150"},{"hexValue":"67657220616464726573732063616e6e6f74206265207a65726f","kind":"string","nodeType":"YulLiteral","src":"6789:28:150","type":"","value":"ger address cannot be zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6762:6:150"},"nodeType":"YulFunctionCall","src":"6762:56:150"},"nodeType":"YulExpressionStatement","src":"6762:56:150"},{"nodeType":"YulAssignment","src":"6827:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6839:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6850:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6835:3:150"},"nodeType":"YulFunctionCall","src":"6835:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6827:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_037dbf5859a8fb91da8b98f3a24d52c356903ef23273082b4178678fc59f4bc6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6589:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6603:4:150","type":""}],"src":"6438:422:150"},{"body":{"nodeType":"YulBlock","src":"7039:247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7056:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7067:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7049:6:150"},"nodeType":"YulFunctionCall","src":"7049:21:150"},"nodeType":"YulExpressionStatement","src":"7049:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7090:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7101:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7086:3:150"},"nodeType":"YulFunctionCall","src":"7086:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7106:2:150","type":"","value":"57"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7079:6:150"},"nodeType":"YulFunctionCall","src":"7079:30:150"},"nodeType":"YulExpressionStatement","src":"7079:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7129:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7140:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7125:3:150"},"nodeType":"YulFunctionCall","src":"7125:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20766f7465725265776172","kind":"string","nodeType":"YulLiteral","src":"7145:34:150","type":"","value":"GovernorConfigurator: voterRewar"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7118:6:150"},"nodeType":"YulFunctionCall","src":"7118:62:150"},"nodeType":"YulExpressionStatement","src":"7118:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7200:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7211:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7196:3:150"},"nodeType":"YulFunctionCall","src":"7196:18:150"},{"hexValue":"647320616464726573732063616e6e6f74206265207a65726f","kind":"string","nodeType":"YulLiteral","src":"7216:27:150","type":"","value":"ds address cannot be zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7189:6:150"},"nodeType":"YulFunctionCall","src":"7189:55:150"},"nodeType":"YulExpressionStatement","src":"7189:55:150"},{"nodeType":"YulAssignment","src":"7253:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7265:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7276:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7261:3:150"},"nodeType":"YulFunctionCall","src":"7261:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7253:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8cb0a4c35d5295637d396d1306e0484efcadc08c94682117dbac156e1d05f84c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7016:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7030:4:150","type":""}],"src":"6865:421:150"},{"body":{"nodeType":"YulBlock","src":"7323:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7340:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7347:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7352:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7343:3:150"},"nodeType":"YulFunctionCall","src":"7343:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7333:6:150"},"nodeType":"YulFunctionCall","src":"7333:31:150"},"nodeType":"YulExpressionStatement","src":"7333:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7380:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7383:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7373:6:150"},"nodeType":"YulFunctionCall","src":"7373:15:150"},"nodeType":"YulExpressionStatement","src":"7373:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7404:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7407:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7397:6:150"},"nodeType":"YulFunctionCall","src":"7397:15:150"},"nodeType":"YulExpressionStatement","src":"7397:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"7291:127:150"},{"body":{"nodeType":"YulBlock","src":"7596:315:150","statements":[{"nodeType":"YulAssignment","src":"7606:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7618:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7629:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7614:3:150"},"nodeType":"YulFunctionCall","src":"7614:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7606:4:150"}]},{"body":{"nodeType":"YulBlock","src":"7674:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7695:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7702:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7707:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7698:3:150"},"nodeType":"YulFunctionCall","src":"7698:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7688:6:150"},"nodeType":"YulFunctionCall","src":"7688:31:150"},"nodeType":"YulExpressionStatement","src":"7688:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7739:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7742:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7732:6:150"},"nodeType":"YulFunctionCall","src":"7732:15:150"},"nodeType":"YulExpressionStatement","src":"7732:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7767:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7770:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7760:6:150"},"nodeType":"YulFunctionCall","src":"7760:15:150"},"nodeType":"YulExpressionStatement","src":"7760:15:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7654:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7662:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7651:2:150"},"nodeType":"YulFunctionCall","src":"7651:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7644:6:150"},"nodeType":"YulFunctionCall","src":"7644:21:150"},"nodeType":"YulIf","src":"7641:144:150"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7801:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"7812:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7794:6:150"},"nodeType":"YulFunctionCall","src":"7794:25:150"},"nodeType":"YulExpressionStatement","src":"7794:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7839:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7850:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7835:3:150"},"nodeType":"YulFunctionCall","src":"7835:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"7855:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7828:6:150"},"nodeType":"YulFunctionCall","src":"7828:34:150"},"nodeType":"YulExpressionStatement","src":"7828:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7893:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7878:3:150"},"nodeType":"YulFunctionCall","src":"7878:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"7898:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7871:6:150"},"nodeType":"YulFunctionCall","src":"7871:34:150"},"nodeType":"YulExpressionStatement","src":"7871:34:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$61431_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7549:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7560:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7568:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7576:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7587:4:150","type":""}],"src":"7423:488:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_enum$_ProposalType_$61431t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(lt(value, 2)) { revert(0, 0) }\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function validator_revert_contract_IRelayerRewardsPool(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVeBetterPassport_$68601(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IGalaxyMember_$65196(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IXAllocationVotingGovernor_$71124(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_TimelockControllerUpgradeable_$1478(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IGrantsManager_$65639(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IRelayerRewardsPool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 43)\n        mstore(add(headStart, 64), \"GovernorConfigurator: invalid pr\")\n        mstore(add(headStart, 96), \"oposal type\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_f9dc7f3c8b071e9769e8f0619954654cea67e7b7177f4beed0db6f97a5db4cfd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"GovernorConfigurator: skip windo\")\n        mstore(add(headStart, 96), \"w must be > 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_stringliteral_602de8831a650e8872fb27596fb82bbc16d7141a3b963a7781ead850bf103614__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 65)\n        mstore(add(headStart, 64), \"GovernorConfigurator: relayer re\")\n        mstore(add(headStart, 96), \"wards pool address cannot be zer\")\n        mstore(add(headStart, 128), \"o\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_7df73a27ba910fd5a5ac52a6787b30606043bbb54ba652898d4acb2282f13a8e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GovernorConfigurator: GalaxyMemb\")\n        mstore(add(headStart, 96), \"er address cannot be zero\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_e60225fea531c85b30de1bfd54335825ede6160db5b3c5079c75bd9cbfb7a8d5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 62)\n        mstore(add(headStart, 64), \"GovernorConfigurator: xAllocatio\")\n        mstore(add(headStart, 96), \"nVoting address cannot be zero\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_bab4f7a299e36c6aff6bc4689e4b028733b2f98977c64143da6c31d5a6692d97__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 53)\n        mstore(add(headStart, 64), \"GovernorConfigurator: timelock a\")\n        mstore(add(headStart, 96), \"ddress cannot be zero\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_037dbf5859a8fb91da8b98f3a24d52c356903ef23273082b4178678fc59f4bc6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 58)\n        mstore(add(headStart, 64), \"GovernorConfigurator: GrantsMana\")\n        mstore(add(headStart, 96), \"ger address cannot be zero\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_8cb0a4c35d5295637d396d1306e0484efcadc08c94682117dbac156e1d05f84c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"GovernorConfigurator: voterRewar\")\n        mstore(add(headStart, 96), \"ds address cannot be zero\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$61431_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        if iszero(lt(value0, 2))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100b95760003560e01c806314060bef146100be5780633397d78d146100e0578063382fa8ec146101005780634784a113146101205780634cfc47c3146101405780634f49d9ba146101605780636b5889ba1461018057806383833a00146101a0578063b26a9509146101c0578063b2b84a74146101e0578063ce396b1f14610200578063d2eee54a14610220578063d639f65c14610240575b600080fd5b8180156100ca57600080fd5b506100de6100d9366004610c42565b610260565b005b8180156100ec57600080fd5b506100de6100fb366004610c72565b6102c1565b81801561010c57600080fd5b506100de61011b366004610ca0565b610378565b81801561012c57600080fd5b506100de61013b366004610ca0565b610475565b81801561014c57600080fd5b506100de61015b366004610c42565b6104ec565b81801561016c57600080fd5b506100de61017b366004610ca0565b61051b565b81801561018c57600080fd5b506100de61019b366004610c42565b61054d565b8180156101ac57600080fd5b506100de6101bb366004610ca0565b61057c565b8180156101cc57600080fd5b506100de6101db366004610c72565b610670565b8180156101ec57600080fd5b506100de6101fb366004610ca0565b6106c1565b81801561020c57600080fd5b506100de61021b366004610ca0565b6107ad565b81801561022c57600080fd5b506100de61023b366004610ca0565b610824565b81801561024c57600080fd5b506100de61025b366004610ca0565b610853565b61026982610950565b61028e5760405162461bcd60e51b815260040161028590610cc4565b60405180910390fd5b60648111156102b357604051631f04dde560e11b815260048101829052602401610285565b6102bd8282610988565b5050565b600081116103275760405162461bcd60e51b815260206004820152602d60248201527f476f7665726e6f72436f6e666967757261746f723a20736b69702077696e646f60448201526c077206d757374206265203e203609c1b6064820152608401610285565b6000610331610a46565b602281015460408051918252602082018590529192507fb04bf299a74179f455d40e5f5f5c3192123bf6a22ca8e4698e79aa526a6f07a3910160405180910390a160220155565b6001600160a01b0381166103fe5760405162461bcd60e51b815260206004820152604160248201527f476f7665726e6f72436f6e666967757261746f723a2072656c6179657220726560448201527f776172647320706f6f6c20616464726573732063616e6e6f74206265207a65726064820152606f60f81b608482015260a401610285565b6000610408610a46565b60208101546040519192507f1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e9161044a916001600160a01b0316908590610d0f565b60405180910390a160200180546001600160a01b0319166001600160a01b0392909216919091179055565b600061047f610a46565b60148101546040519192507f1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160916104c1916001600160a01b0316908590610d0f565b60405180910390a160140180546001600160a01b0319166001600160a01b0392909216919091179055565b6104f582610950565b6105115760405162461bcd60e51b815260040161028590610cc4565b6102bd8282610a6a565b6001600160a01b0381166105415760405162461bcd60e51b815260040161028590610d29565b61054a81610b01565b50565b61055682610950565b6105725760405162461bcd60e51b815260040161028590610cc4565b6102bd8282610b56565b6000610586610a46565b90506001600160a01b0382166106045760405162461bcd60e51b815260206004820152603e60248201527f476f7665726e6f72436f6e666967757261746f723a2078416c6c6f636174696f60448201527f6e566f74696e6720616464726573732063616e6e6f74206265207a65726f00006064820152608401610285565b600a8101546040517f71004d26dc692e8d5005fb307953a5ce05000120035aa3f83615abc6c6fbba2e91610645916001600160a01b03909116908590610d0f565b60405180910390a1600a0180546001600160a01b0319166001600160a01b0392909216919091179055565b600061067a610a46565b600481015460408051918252602082018590529192507fd5fa2027382834080d1e011cda04312db2805a2069bb13475f4376e8d7c64668910160405180910390a160040155565b60006106cb610a46565b90506001600160a01b0382166107415760405162461bcd60e51b815260206004820152603560248201527f476f7665726e6f72436f6e666967757261746f723a2074696d656c6f636b20616044820152746464726573732063616e6e6f74206265207a65726f60581b6064820152608401610285565b60068101546040517f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b22640191610782916001600160a01b03909116908590610d0f565b60405180910390a160060180546001600160a01b0319166001600160a01b0392909216919091179055565b60006107b7610a46565b601f8101546040519192507f072ec7147cbb6a8d38bd6caa7fdf26b9987bb2ec536bbc5288c4a4c335c58c80916107f9916001600160a01b0316908590610d0f565b60405180910390a1601f0180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661084a5760405162461bcd60e51b815260040161028590610d82565b61054a81610bed565b600061085d610a46565b90506001600160a01b0382166108d75760405162461bcd60e51b815260206004820152603960248201527f476f7665726e6f72436f6e666967757261746f723a20766f7465725265776172604482015278647320616464726573732063616e6e6f74206265207a65726f60381b6064820152608401610285565b7f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c48160090160019054906101000a90046001600160a01b03168360405161091f929190610d0f565b60405180910390a160090180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60008082600181111561096557610965610ddc565b14806109825750600182600181111561098057610980610ddc565b145b92915050565b6000610992610a46565b90507fd7f4fd38ed535300fc72a5de4a35264cf0638081fc06ba63a6c1025b9993b0f3838260160160008660018111156109ce576109ce610ddc565b60018111156109df576109df610ddc565b815260200190815260200160002054846040516109fe93929190610df2565b60405180910390a181816016016000856001811115610a1f57610a1f610ddc565b6001811115610a3057610a30610ddc565b8152602081019190915260400160002055505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b6000610a74610a46565b90507f1e44e875a8ec5300a305e63ca083de2b0e62e333df633bde0e680a9ff64e3c2183826017016000866001811115610ab057610ab0610ddc565b6001811115610ac157610ac1610ddc565b81526020019081526020016000205484604051610ae093929190610df2565b60405180910390a181816017016000856001811115610a1f57610a1f610ddc565b6000610b0b610a46565b90506001600160a01b038216610b335760405162461bcd60e51b815260040161028590610d29565b601b0180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b60610a46565b90507fbab71752ceaca29a72caf93b1099d9bfcf0e836a02c01a567d4e7365ae2242c283826019016000866001811115610b9c57610b9c610ddc565b6001811115610bad57610bad610ddc565b81526020019081526020016000205484604051610bcc93929190610df2565b60405180910390a181816019016000856001811115610a1f57610a1f610ddc565b6000610bf7610a46565b90506001600160a01b038216610c1f5760405162461bcd60e51b815260040161028590610d82565b601a0180546001600160a01b0319166001600160a01b0392909216919091179055565b60008060408385031215610c5557600080fd5b823560028110610c6457600080fd5b946020939093013593505050565b600060208284031215610c8457600080fd5b5035919050565b6001600160a01b038116811461054a57600080fd5b600060208284031215610cb257600080fd5b8135610cbd81610c8b565b9392505050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60208082526039908201527f476f7665726e6f72436f6e666967757261746f723a2047616c6178794d656d62604082015278657220616464726573732063616e6e6f74206265207a65726f60381b606082015260800190565b6020808252603a908201527f476f7665726e6f72436f6e666967757261746f723a204772616e74734d616e6160408201527967657220616464726573732063616e6e6f74206265207a65726f60301b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b6060810160028510610e1457634e487b7160e01b600052602160045260246000fd5b93815260208101929092526040909101529056fea2646970667358221220123a89797be172efa33a0846085a9daf2845af0a2f5788dfc4cec8b7faab4f3664736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x14060BEF EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0x3397D78D EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x382FA8EC EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x4784A113 EQ PUSH2 0x120 JUMPI DUP1 PUSH4 0x4CFC47C3 EQ PUSH2 0x140 JUMPI DUP1 PUSH4 0x4F49D9BA EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0x6B5889BA EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0x83833A00 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xB26A9509 EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xB2B84A74 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xCE396B1F EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0xD2EEE54A EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0xD639F65C EQ PUSH2 0x240 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0xC42 JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0xC72 JUMP JUMPDEST PUSH2 0x2C1 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x11B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x378 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x12C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x13B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x475 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x14C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x15B CALLDATASIZE PUSH1 0x4 PUSH2 0xC42 JUMP JUMPDEST PUSH2 0x4EC JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x17B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x18C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0xC42 JUMP JUMPDEST PUSH2 0x54D JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1BB CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x57C JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1DB CALLDATASIZE PUSH1 0x4 PUSH2 0xC72 JUMP JUMPDEST PUSH2 0x670 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x6C1 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x20C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x7AD JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x824 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0xCA0 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST PUSH2 0x269 DUP3 PUSH2 0x950 JUMP JUMPDEST PUSH2 0x28E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xCC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1F04DDE5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x285 JUMP JUMPDEST PUSH2 0x2BD DUP3 DUP3 PUSH2 0x988 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0x327 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20736B69702077696E646F PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x77206D757374206265203E203 PUSH1 0x9C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x285 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x331 PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x22 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xB04BF299A74179F455D40E5F5F5C3192123BF6A22CA8E4698E79AA526A6F07A3 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x22 ADD SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3FE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A2072656C61796572207265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x776172647320706F6F6C20616464726573732063616E6E6F74206265207A6572 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x6F PUSH1 0xF8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x285 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x408 PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1CDB859FDDC65C1FC3FC767C3640525B1847D0ACE5955A01B15C7A91D96C357E SWAP2 PUSH2 0x44A SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x20 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47F PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x14 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1635A7CE44FAF9C7A871602659C02602D0B1DEB541D4DF560D0616D42DD71160 SWAP2 PUSH2 0x4C1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x14 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4F5 DUP3 PUSH2 0x950 JUMP JUMPDEST PUSH2 0x511 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xCC4 JUMP JUMPDEST PUSH2 0x2BD DUP3 DUP3 PUSH2 0xA6A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x541 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xD29 JUMP JUMPDEST PUSH2 0x54A DUP2 PUSH2 0xB01 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x556 DUP3 PUSH2 0x950 JUMP JUMPDEST PUSH2 0x572 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xCC4 JUMP JUMPDEST PUSH2 0x2BD DUP3 DUP3 PUSH2 0xB56 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x586 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x604 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A2078416C6C6F636174696F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6E566F74696E6720616464726573732063616E6E6F74206265207A65726F0000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x285 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x71004D26DC692E8D5005FB307953A5CE05000120035AA3F83615ABC6C6FBBA2E SWAP2 PUSH2 0x645 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xA ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x67A PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xD5FA2027382834080D1E011CDA04312DB2805A2069BB13475F4376E8D7C64668 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x4 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6CB PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x741 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A2074696D656C6F636B2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x6464726573732063616E6E6F74206265207A65726F PUSH1 0x58 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x285 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x8F74EA46EF7894F65EABFB5E6E695DE773A000B47C529AB559178069B226401 SWAP2 PUSH2 0x782 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x6 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7B7 PUSH2 0xA46 JUMP JUMPDEST PUSH1 0x1F DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x72EC7147CBB6A8D38BD6CAA7FDF26B9987BB2EC536BBC5288C4A4C335C58C80 SWAP2 PUSH2 0x7F9 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1F ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x84A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xD82 JUMP JUMPDEST PUSH2 0x54A DUP2 PUSH2 0xBED JUMP JUMPDEST PUSH1 0x0 PUSH2 0x85D PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8D7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20766F7465725265776172 PUSH1 0x44 DUP3 ADD MSTORE PUSH25 0x647320616464726573732063616E6E6F74206265207A65726F PUSH1 0x38 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x285 JUMP JUMPDEST PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 DUP2 PUSH1 0x9 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x91F SWAP3 SWAP2 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x9 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH2 0x100 MUL PUSH2 0x100 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x965 JUMPI PUSH2 0x965 PUSH2 0xDDC JUMP JUMPDEST EQ DUP1 PUSH2 0x982 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x980 JUMPI PUSH2 0x980 PUSH2 0xDDC JUMP JUMPDEST EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x992 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH32 0xD7F4FD38ED535300FC72A5DE4A35264CF0638081FC06BA63A6C1025B9993B0F3 DUP4 DUP3 PUSH1 0x16 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x9CE JUMPI PUSH2 0x9CE PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x9DF JUMPI PUSH2 0x9DF PUSH2 0xDDC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0x9FE SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDF2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x16 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA1F JUMPI PUSH2 0xA1F PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA30 JUMPI PUSH2 0xA30 PUSH2 0xDDC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SSTORE POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA74 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH32 0x1E44E875A8EC5300A305E63CA083DE2B0E62E333DF633BDE0E680A9FF64E3C21 DUP4 DUP3 PUSH1 0x17 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xAB0 JUMPI PUSH2 0xAB0 PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xAC1 JUMPI PUSH2 0xAC1 PUSH2 0xDDC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xAE0 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDF2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x17 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA1F JUMPI PUSH2 0xA1F PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0B PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB33 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xD29 JUMP JUMPDEST PUSH1 0x1B ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB60 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH32 0xBAB71752CEACA29A72CAF93B1099D9BFCF0E836A02C01A567D4E7365AE2242C2 DUP4 DUP3 PUSH1 0x19 ADD PUSH1 0x0 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB9C JUMPI PUSH2 0xB9C PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBAD JUMPI PUSH2 0xBAD PUSH2 0xDDC JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0xBCC SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDF2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 DUP2 PUSH1 0x19 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA1F JUMPI PUSH2 0xA1F PUSH2 0xDDC JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBF7 PUSH2 0xA46 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC1F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x285 SWAP1 PUSH2 0xD82 JUMP JUMPDEST PUSH1 0x1A ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0xC64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x54A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCBD DUP2 PUSH2 0xC8B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x39 SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A2047616C6178794D656D62 PUSH1 0x40 DUP3 ADD MSTORE PUSH25 0x657220616464726573732063616E6E6F74206265207A65726F PUSH1 0x38 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x3A SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A204772616E74734D616E61 PUSH1 0x40 DUP3 ADD MSTORE PUSH26 0x67657220616464726573732063616E6E6F74206265207A65726F PUSH1 0x30 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD PUSH1 0x2 DUP6 LT PUSH2 0xE14 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLT GASPRICE DUP10 PUSH26 0x7BE172EFA33A0846085A9DAF2845AF0A2F5788DFC4CEC8B7FAAB 0x4F CALLDATASIZE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"2427:17463:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9788:463;;;;;;;;;;-1:-1:-1;9788:463:100;;;;;:::i;:::-;;:::i;:::-;;6732:368;;;;;;;;;;-1:-1:-1;6732:368:100;;;;;:::i;:::-;;:::i;6119:475::-;;;;;;;;;;-1:-1:-1;6119:475:100;;;;;:::i;:::-;;:::i;5212:313::-;;;;;;;;;;-1:-1:-1;5212:313:100;;;;;:::i;:::-;;:::i;11312:323::-;;;;;;;;;;-1:-1:-1;11312:323:100;;;;;:::i;:::-;;:::i;13699:239::-;;;;;;;;;;-1:-1:-1;13699:239:100;;;;;:::i;:::-;;:::i;12620:339::-;;;;;;;;;;-1:-1:-1;12620:339:100;;;;;:::i;:::-;;:::i;8431:471::-;;;;;;;;;;-1:-1:-1;8431:471:100;;;;;:::i;:::-;;:::i;7313:271::-;;;;;;;;;;-1:-1:-1;7313:271:100;;;;;:::i;:::-;;:::i;9094:381::-;;;;;;;;;;-1:-1:-1;9094:381:100;;;;;:::i;:::-;;:::i;5660:321::-;;;;;;;;;;-1:-1:-1;5660:321:100;;;;;:::i;:::-;;:::i;14389:246::-;;;;;;;;;;-1:-1:-1;14389:246:100;;;;;:::i;:::-;;:::i;7787:395::-;;;;;;;;;;-1:-1:-1;7787:395:100;;;;;:::i;:::-;;:::i;9788:463::-;9944:55;9986:12;9944:41;:55::i;:::-;9936:111;;;;-1:-1:-1;;;9936:111:100;;;;;;;:::i;:::-;;;;;;;;;10079:3;10057:19;:25;10053:108;;;10099:55;;-1:-1:-1;;;10099:55:100;;;;;3673:25:150;;;3646:18;;10099:55:100;3527:177:150;10053:108:100;10166:77;10209:12;10223:19;10166:42;:77::i;:::-;9788:463;;:::o;6732:368::-;6823:1;6812:8;:12;6804:70;;;;-1:-1:-1;;;6804:70:100;;3911:2:150;6804:70:100;;;3893:21:150;3950:2;3930:18;;;3923:30;3989:34;3969:18;;;3962:62;-1:-1:-1;;;4040:18:150;;;4033:43;4093:19;;6804:70:100;3709:409:150;6804:70:100;6880:46;6929:41;:39;:41::i;:::-;7011:28;;;;6981:69;;;4297:25:150;;;4353:2;4338:18;;4331:34;;;6880:90:100;;-1:-1:-1;6981:69:100;;4270:18:150;6981:69:100;;;;;;;7056:28;;:39;6732:368::o;6119:475::-;-1:-1:-1;;;;;6223:44:100;;6208:140;;;;-1:-1:-1;;;6208:140:100;;4578:2:150;6208:140:100;;;4560:21:150;4617:2;4597:18;;;4590:30;4656:34;4636:18;;;4629:62;4727:34;4707:18;;;4700:62;-1:-1:-1;;;4778:19:150;;;4771:32;4820:19;;6208:140:100;4376:469:150;6208:140:100;6354:46;6403:41;:39;:41::i;:::-;6485:20;;;;6455:84;;6354:90;;-1:-1:-1;6455:84:100;;;;-1:-1:-1;;;;;6485:20:100;;6516:21;;6455:84;:::i;:::-;;;;;;;;6545:20;;:44;;-1:-1:-1;;;;;;6545:44:100;-1:-1:-1;;;;;6545:44:100;;;;;;;;;;6119:475::o;5212:313::-;5295:46;5344:41;:39;:41::i;:::-;5424:18;;;;5396:78;;5295:90;;-1:-1:-1;5396:78:100;;;;-1:-1:-1;;;;;5424:18:100;;5453:19;;5396:78;:::i;:::-;;;;;;;;5480:18;;:40;;-1:-1:-1;;;;;;5480:40:100;-1:-1:-1;;;;;5480:40:100;;;;;;;;;;5212:313::o;11312:323::-;11456:55;11498:12;11456:41;:55::i;:::-;11448:111;;;;-1:-1:-1;;;11448:111:100;;;;;;;:::i;:::-;11565:65;11597:12;11611:18;11565:31;:65::i;13699:239::-;-1:-1:-1;;;;;13786:38:100;;13778:108;;;;-1:-1:-1;;;13778:108:100;;;;;;;:::i;:::-;13892:41;13917:15;13892:24;:41::i;:::-;13699:239;:::o;12620:339::-;12772:55;12814:12;12772:41;:55::i;:::-;12764:111;;;;-1:-1:-1;;;12764:111:100;;;;;;;:::i;:::-;12881:73;12917:12;12931:22;12881:35;:73::i;8431:471::-;8525:46;8574:41;:39;:41::i;:::-;8525:90;-1:-1:-1;;;;;;8636:43:100;;8621:136;;;;-1:-1:-1;;;8621:136:100;;5787:2:150;8621:136:100;;;5769:21:150;5826:2;5806:18;;;5799:30;5865:34;5845:18;;;5838:62;5936:32;5916:18;;;5909:60;5986:19;;8621:136:100;5585:426:150;8621:136:100;8797:19;;;;8768:81;;;;;;-1:-1:-1;;;;;8797:19:100;;;;8827:20;;8768:81;:::i;:::-;;;;;;;;8855:19;;:42;;-1:-1:-1;;;;;;8855:42:100;-1:-1:-1;;;;;8855:42:100;;;;;;;;;;8431:471::o;7313:271::-;7382:46;7431:41;:39;:41::i;:::-;7501:16;;;;7483:54;;;4297:25:150;;;4353:2;4338:18;;4331:34;;;7382:90:100;;-1:-1:-1;7483:54:100;;4270:18:150;7483:54:100;;;;;;;7543:16;;:36;7313:271::o;9094:381::-;9176:46;9225:41;:39;:41::i;:::-;9176:90;-1:-1:-1;;;;;;9280:34:100;;9272:100;;;;-1:-1:-1;;;9272:100:100;;6218:2:150;9272:100:100;;;6200:21:150;6257:2;6237:18;;;6230:30;6296:34;6276:18;;;6269:62;-1:-1:-1;;;6347:18:150;;;6340:51;6408:19;;9272:100:100;6016:417:150;9272:100:100;9406:10;;;;9383:57;;;;;;-1:-1:-1;;;;;9406:10:100;;;;9427:11;;9383:57;:::i;:::-;;;;;;;;9446:10;;:24;;-1:-1:-1;;;;;;9446:24:100;-1:-1:-1;;;;;9446:24:100;;;;;;;;;;9094:381::o;5660:321::-;5746:46;5795:41;:39;:41::i;:::-;5876:19;;;;5847:81;;5746:90;;-1:-1:-1;5847:81:100;;;;-1:-1:-1;;;;;5876:19:100;;5906:20;;5847:81;:::i;:::-;;;;;;;;5934:19;;:42;;-1:-1:-1;;;;;;5934:42:100;-1:-1:-1;;;;;5934:42:100;;;;;;;;;;5660:321::o;14389:246::-;-1:-1:-1;;;;;14479:39:100;;14471:110;;;;-1:-1:-1;;;14471:110:100;;;;;;;:::i;:::-;14587:43;14613:16;14587:25;:43::i;7787:395::-;7858:46;7907:41;:39;:41::i;:::-;7858:90;-1:-1:-1;;;;;;7962:38:100;;7954:108;;;;-1:-1:-1;;;7954:108:100;;7067:2:150;7954:108:100;;;7049:21:150;7106:2;7086:18;;;7079:30;7145:34;7125:18;;;7118:62;-1:-1:-1;;;7196:18:150;;;7189:55;7261:19;;7954:108:100;6865:421:150;7954:108:100;8073:66;8097:1;:14;;;;;;;;;;-1:-1:-1;;;;;8097:14:100;8122:15;8073:66;;;;;;;:::i;:::-;;;;;;;;8145:14;;:32;;-1:-1:-1;;;;;8145:32:100;;;;;-1:-1:-1;;;;;;8145:32:100;;;;;;;;;7787:395::o;39283:241:104:-;39381:4;;39406:17;:56;;;;;;;;:::i;:::-;;:113;;;-1:-1:-1;39487:32:104;39466:17;:53;;;;;;;;:::i;:::-;;39406:113;39393:126;39283:241;-1:-1:-1;;39283:241:104:o;10564:473:100:-;10713:46;10762:41;:39;:41::i;:::-;10713:90;;10814:136;10843:12;10863:1;:40;;:54;10904:12;10863:54;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10925:19;10814:136;;;;;;;;:::i;:::-;;;;;;;;11013:19;10956:1;:40;;:54;10997:12;10956:54;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;10956:54:100;:76;-1:-1:-1;;;10564:473:100:o;2697:146:107:-;2810:23;;2697:146::o;11910:412:100:-;12047:46;12096:41;:39;:41::i;:::-;12047:90;;12148:99;12169:12;12183:1;:29;;:43;12213:12;12183:43;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;12228:18;12148:99;;;;;;;;:::i;:::-;;;;;;;;12299:18;12253:1;:29;;:43;12283:12;12253:43;;;;;;;;:::i;14058:327::-;14138:46;14187:41;:39;:41::i;:::-;14138:90;-1:-1:-1;;;;;;14242:38:100;;14234:108;;;;-1:-1:-1;;;14234:108:100;;;;;;;:::i;:::-;14348:14;;:32;;-1:-1:-1;;;;;;14348:32:100;-1:-1:-1;;;;;14348:32:100;;;;;;;;;;14058:327::o;13257:438::-;13402:46;13451:41;:39;:41::i;:::-;13402:90;;13503:109;13526:12;13540:1;:33;;:47;13574:12;13540:47;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13589:22;13503:109;;;;;;;;:::i;:::-;;;;;;;;13668:22;13618:1;:33;;:47;13652:12;13618:47;;;;;;;;:::i;14758:334::-;14841:46;14890:41;:39;:41::i;:::-;14841:90;-1:-1:-1;;;;;;14945:39:100;;14937:110;;;;-1:-1:-1;;;14937:110:100;;;;;;;:::i;:::-;15053:15;;:34;;-1:-1:-1;;;;;;15053:34:100;-1:-1:-1;;;;;15053:34:100;;;;;;;;;;14758:334::o;14:342:150:-;100:6;108;161:2;149:9;140:7;136:23;132:32;129:52;;;177:1;174;167:12;129:52;216:9;203:23;255:1;248:5;245:12;235:40;;271:1;268;261:12;235:40;294:5;346:2;331:18;;;;318:32;;-1:-1:-1;;;14:342:150:o;361:180::-;420:6;473:2;461:9;452:7;448:23;444:32;441:52;;;489:1;486;479:12;441:52;-1:-1:-1;512:23:150;;361:180;-1:-1:-1;361:180:150:o;546:152::-;-1:-1:-1;;;;;642:31:150;;632:42;;622:70;;688:1;685;678:12;703:297;791:6;844:2;832:9;823:7;819:23;815:32;812:52;;;860:1;857;850:12;812:52;899:9;886:23;918:52;964:5;918:52;:::i;:::-;989:5;703:297;-1:-1:-1;;;703:297:150:o;3115:407::-;3317:2;3299:21;;;3356:2;3336:18;;;3329:30;3395:34;3390:2;3375:18;;3368:62;-1:-1:-1;;;3461:2:150;3446:18;;3439:41;3512:3;3497:19;;3115:407::o;4850:304::-;-1:-1:-1;;;;;5080:15:150;;;5062:34;;5132:15;;5127:2;5112:18;;5105:43;5012:2;4997:18;;4850:304::o;5159:421::-;5361:2;5343:21;;;5400:2;5380:18;;;5373:30;5439:34;5434:2;5419:18;;5412:62;-1:-1:-1;;;5505:2:150;5490:18;;5483:55;5570:3;5555:19;;5159:421::o;6438:422::-;6640:2;6622:21;;;6679:2;6659:18;;;6652:30;6718:34;6713:2;6698:18;;6691:62;-1:-1:-1;;;6784:2:150;6769:18;;6762:56;6850:3;6835:19;;6438:422::o;7291:127::-;7352:10;7347:3;7343:20;7340:1;7333:31;7383:4;7380:1;7373:15;7407:4;7404:1;7397:15;7423:488;7629:2;7614:18;;7662:1;7651:13;;7641:144;;7707:10;7702:3;7698:20;7695:1;7688:31;7742:4;7739:1;7732:15;7770:4;7767:1;7760:15;7641:144;7794:25;;;7850:2;7835:18;;7828:34;;;;7893:2;7878:18;;;7871:34;7423:488;:::o"},"methodIdentifiers":{"setGalaxyMemberContract(IGalaxyMember)":"4f49d9ba","setGovernanceSkipWindowBlocks(uint256)":"3397d78d","setGrantsManagerContract(IGrantsManager)":"d2eee54a","setMinVotingDelay(uint256)":"b26a9509","setNavigatorRegistry(INavigatorRegistry)":"ce396b1f","setProposalTypeDepositThresholdCap(GovernorTypes.ProposalType,uint256)":"6b5889ba","setProposalTypeDepositThresholdPercentage(GovernorTypes.ProposalType,uint256)":"14060bef","setProposalTypeVotingThreshold(GovernorTypes.ProposalType,uint256)":"4cfc47c3","setRelayerRewardsPool(IRelayerRewardsPool)":"382fa8ec","setVeBetterPassport(IVeBetterPassport)":"4784a113","setVoterRewards(IVoterRewards)":"d639f65c","setXAllocationVoting(IXAllocationVotingGovernor)":"83833a00","updateTimelock(TimelockControllerUpgradeable)":"b2b84a74"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gmLevel\",\"type\":\"uint256\"}],\"name\":\"GMLevelAboveMaxLevel\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"GovernorDepositThresholdNotInRange\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThresholdCap\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThresholdCap\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdCapSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdSetV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"GovernanceSkipWindowBlocksSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldMinMinVotingDelay\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMinVotingDelay\",\"type\":\"uint256\"}],\"name\":\"MinVotingDelaySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldNavigatorRegistry\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newNavigatorRegistry\",\"type\":\"address\"}],\"name\":\"NavigatorRegistrySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldRelayerRewardsPool\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newRelayerRewardsPool\",\"type\":\"address\"}],\"name\":\"RelayerRewardsPoolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldRequiredGMLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newRequiredGMLevel\",\"type\":\"uint256\"}],\"name\":\"RequiredGMLevelSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldTimelock\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"TimelockChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldVeBetterPassport\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VoterRewardsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSetV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"XAllocationVotingSet\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"This library provides functions to set and get various configuration parameters and contracts used by the Governor contract.\",\"errors\":{\"GMLevelAboveMaxLevel(uint256)\":[{\"details\":\"The GM level is not in the valid range - 0 to max level.\"}],\"GovernorDepositThresholdNotInRange(uint256)\":[{\"details\":\"The deposit threshold is not in the valid range for a percentage - 0 to 100.\"}]},\"events\":{\"DepositThresholdCapSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold cap for a proposal type is set.\"},\"DepositThresholdSet(uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold percentage is set.\"},\"DepositThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold percentage for a proposal type is set.\"},\"MinVotingDelaySet(uint256,uint256)\":{\"details\":\"Emitted when the minimum delay before vote starts is set.\"},\"RequiredGMLevelSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the required GM level for a proposal type is set.\"},\"TimelockChange(address,address)\":{\"details\":\"Emitted when the timelock controller used for proposal execution is modified.\"},\"VeBetterPassportSet(address,address)\":{\"details\":\"Emitted when the VeBetterPassport contract is set.\"},\"VoterRewardsSet(address,address)\":{\"details\":\"Emitted when the voter rewards contract is set.\"},\"VotingThresholdSet(uint256,uint256)\":{\"details\":\"Emitted when the `votingThreshold` is set.\"},\"VotingThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the `votingThreshold` for a proposal type is set.\"},\"XAllocationVotingSet(address,address)\":{\"details\":\"Emitted when the XAllocationVotingGovernor contract is set.\"}},\"kind\":\"dev\",\"methods\":{\"setGovernanceSkipWindowBlocks(uint256)\":{\"params\":{\"newValue\":\"The new skip window in blocks (must be > 0).\"}},\"setMinVotingDelay(uint256)\":{\"details\":\"Sets a new minimum voting delay and emits a {MinVotingDelaySet} event.\",\"params\":{\"newMinVotingDelay\":\"The new minimum voting delay.\"}},\"setNavigatorRegistry(INavigatorRegistry)\":{\"params\":{\"newNavigatorRegistry\":\"The new NavigatorRegistry contract.\"}},\"setProposalTypeDepositThresholdCap(GovernorTypes.ProposalType,uint256)\":{\"details\":\"Sets a new deposit threshold cap for a proposal type and emits a {DepositThresholdCapSet} event.\",\"params\":{\"newDepositThresholdCap\":\"The new deposit threshold cap.\",\"proposalType\":\"The proposal type.\"}},\"setProposalTypeDepositThresholdPercentage(GovernorTypes.ProposalType,uint256)\":{\"details\":\"Sets a new deposit threshold percentage for a proposal type and emits a {DepositThresholdSet} event.\",\"params\":{\"newDepositThreshold\":\"The new deposit threshold percentage.\",\"proposalType\":\"The proposal type.\"}},\"setProposalTypeVotingThreshold(GovernorTypes.ProposalType,uint256)\":{\"details\":\"Sets a new voting threshold for a proposal type and emits a {VotingThresholdSet} event.\",\"params\":{\"newVotingThreshold\":\"The new voting threshold.\",\"proposalType\":\"The proposal type.\"}},\"setRelayerRewardsPool(IRelayerRewardsPool)\":{\"params\":{\"newRelayerRewardsPool\":\"The new RelayerRewardsPool contract.\"}},\"setVeBetterPassport(IVeBetterPassport)\":{\"details\":\"Sets a new VeBetterPassport contract and emits a {VeBetterPassportSet} event.\",\"params\":{\"newVeBetterPassport\":\"The new VeBetterPassport contract.\"}},\"setVoterRewards(IVoterRewards)\":{\"details\":\"Sets a new voter rewards contract and emits a {VoterRewardsSet} event.\",\"params\":{\"newVoterRewards\":\"The new voter rewards contract.\"}},\"setXAllocationVoting(IXAllocationVotingGovernor)\":{\"details\":\"Sets a new XAllocationVotingGovernor contract and emits a {XAllocationVotingSet} event.\",\"params\":{\"newXAllocationVoting\":\"The new XAllocationVotingGovernor contract.\"}},\"updateTimelock(TimelockControllerUpgradeable)\":{\"details\":\"Sets a new timelock controller and emits a {TimelockChange} event.\",\"params\":{\"newTimelock\":\"The new timelock controller.\"}}},\"title\":\"GovernorConfigurator Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setGovernanceSkipWindowBlocks(uint256)\":{\"notice\":\"Sets the governance skip window in blocks.\"},\"setMinVotingDelay(uint256)\":{\"notice\":\"Sets the minimum delay before vote starts.\"},\"setNavigatorRegistry(INavigatorRegistry)\":{\"notice\":\"Sets the NavigatorRegistry contract.\"},\"setProposalTypeDepositThresholdCap(GovernorTypes.ProposalType,uint256)\":{\"notice\":\"Sets the deposit threshold cap for a proposal type.\"},\"setProposalTypeDepositThresholdPercentage(GovernorTypes.ProposalType,uint256)\":{\"notice\":\"Sets the deposit threshold percentage for a proposal type.\"},\"setProposalTypeVotingThreshold(GovernorTypes.ProposalType,uint256)\":{\"notice\":\"Sets the voting threshold for a proposal type.\"},\"setRelayerRewardsPool(IRelayerRewardsPool)\":{\"notice\":\"Sets the RelayerRewardsPool contract.\"},\"setVeBetterPassport(IVeBetterPassport)\":{\"notice\":\"Sets the VeBetterPassport contract.\"},\"setVoterRewards(IVoterRewards)\":{\"notice\":\"Sets the voter rewards contract.\"},\"setXAllocationVoting(IXAllocationVotingGovernor)\":{\"notice\":\"Sets the XAllocationVotingGovernor contract.\"},\"updateTimelock(TimelockControllerUpgradeable)\":{\"notice\":\"Updates the timelock controller.\"}},\"notice\":\"Library for managing the configuration of a Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorConfigurator.sol\":\"GovernorConfigurator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorDepositLogic.sol":{"GovernorDepositLogic":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[],"name":"GovernorInvalidDepositAmount","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositer","type":"address"}],"name":"GovernorNoDepositToWithdraw","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GranteeCannotDepositOwnGrant","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"withdrawer","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalWithdraw","type":"event"},{"inputs":[{"internalType":"uint8","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":491},{"length":20,"start":655},{"length":20,"start":2287},{"length":20,"start":2456},{"length":20,"start":3037},{"length":20,"start":6081},{"length":20,"start":6204}]}},"object":"611e8c61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062f714ce1461005a5780636b6a07041461007c578063a56b5765146100a1578063e2bbb158146100b4575b600080fd5b81801561006657600080fd5b5061007a610075366004611ab6565b6100d4565b005b61008f61008a366004611ae2565b6103c4565b60405190815260200160405180910390f35b61008f6100af366004611b05565b6103e9565b8180156100c057600080fd5b5061007a6100cf366004611b2f565b610433565b60006100de610535565b6000848152600d8201602090815260408083206001600160a01b038716845290915281205491925061013d90859061011590610559565b6001610122600982611b7d565b61012d906002611c7a565b6101379190611c89565b1861057c565b5080600003610176576040516315fb458d60e01b8152600481018590526001600160a01b03841660248201526044015b60405180910390fd5b6000848152600d8301602090815260408083206001600160a01b0387168452825280832083905580516324776b7d60e21b8152905161022f9273__$3618b725599b71188fd71e0b940aaf7176$__926391ddadf492600480830193928290030181865af41580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f9190611c9c565b6001600160a01b0386166000908152601d860160205260409020906105c2565b9050600061024e610249846001600160d01b038516611c89565b610678565b90506102e173__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561029c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c09190611c9c565b6001600160a01b0387166000908152601d87016020526040902090836106b0565b5050600c84015460405163a9059cbb60e01b81526001600160a01b038781166004830152602482018690529091169063a9059cbb906044016020604051808303816000875af1158015610338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035c9190611cc4565b6103785760405162461bcd60e51b815260040161016d90611ce6565b85856001600160a01b03167ffbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1856040516103b491815260200190565b60405180910390a3505050505050565b60006103e38260ff1660018111156103de576103de611b51565b6106cb565b92915050565b6000806103f4610535565b905061042261040284610799565b6001600160a01b0386166000908152601d840160205260409020906105c2565b6001600160d01b0316949350505050565b600061043d610535565b9050826000036104605760405163c22b340f60e01b815260040160405180910390fd5b60008281526001808301602052604082209081015490910361049857604051636ad0607560e01b81526004810184905260240161016d565b80546001600160a01b0316331480156104d557506001600084815260158401602052604090205460ff1660018111156104d3576104d3611b51565b145b156104f657604051633c23a8d760e11b81526004810184905260240161016d565b610509836105046000610559565b61057c565b508381600301600082825461051e9190611d1d565b9091555061052f90508433856107cc565b50505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600081600981111561056d5761056d611b51565b600160ff919091161b92915050565b60008061058884610a28565b905060008361059683610559565b16036105bb578381846040516331b75e4d60e01b815260040161016d93929190611d30565b9392505050565b8154600090818160058111156106215760006105dd84610dcf565b6105e79085611c89565b60008881526020902090915081015465ffffffffffff90811690871610156106115780915061061f565b61061c816001611d1d565b92505b505b600061062f87878585610eb7565b9050801561066a5761065487610646600184611c89565b600091825260209091200190565b54600160301b90046001600160d01b031661066d565b60005b979650505050505050565b60006001600160d01b038211156106ac576040516306dfcc6560e41b815260d060048201526024810183905260440161016d565b5090565b6000806106be858585610f11565b915091505b935093915050565b6000806106d6610535565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190611d66565b61075e8661108b565b6107689190611d7f565b6107729190611dac565b9050600061077f856110fd565b90508082111561079157949350505050565b509392505050565b600065ffffffffffff8211156106ac576040516306dfcc6560e41b8152603060048201526024810183905260440161016d565b60006107d6610535565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af1158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190611cc4565b6108735760405162461bcd60e51b815260040161016d90611ce6565b6000828152600d8201602090815260408083206001600160a01b0387168452909152812080548692906108a7908490611d1d565b92505081905550600061094073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190611c9c565b6001600160a01b0386166000908152601d850160205260409020906105c2565b9050600061094d86610678565b6109579083611dce565b90506109ea73__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190611c9c565b6001600160a01b0387166000908152601d86016020526040902090836106b0565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516103b491815260200190565b600080610a33610535565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610a8857610a88611b51565b03610a9a575060089695505050505050565b6002836002811115610aae57610aae611b51565b03610ac0575060099695505050505050565b8115610ad3575060069695505050505050565b8015610ae6575060029695505050505050565b8360010154600003610b0e57604051636ad0607560e01b81526004810188905260240161016d565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190611d66565b1015610b9f575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0e9190611c9c565b65ffffffffffff1690506000610c2389611147565b9050610c2e8961130f565b610c415750600798975050505050505050565b818110610c575750600198975050505050505050565b610c608961133b565b1580610c725750610c7089611399565b155b15610c865750600398975050505050505050565b610c8f896113c1565b600003610ca55750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611cc4565b15610d3b575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190611cc4565b15610dbf575060069998505050505050505050565b5060029998505050505050505050565b600081600003610de157506000919050565b60006001610dee846113f3565b901c6001901b90506001818481610e0757610e07611d96565b048201901c90506001818481610e1f57610e1f611d96565b048201901c90506001818481610e3757610e37611d96565b048201901c90506001818481610e4f57610e4f611d96565b048201901c90506001818481610e6757610e67611d96565b048201901c90506001818481610e7f57610e7f611d96565b048201901c90506001818481610e9757610e97611d96565b048201901c90506105bb81828581610eb157610eb1611d96565b04611487565b60005b81831015610791576000610ece848461149d565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610efd57809250610f0b565b610f08816001611d1d565b93505b50610eba565b825460009081908015611030576000610f2f87610646600185611c89565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f8357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fcf5784610fa688610646600186611c89565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611020565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506106c39050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816106c3565b600080611096610535565b90506110a1836114b8565b6110bd5760405162461bcd60e51b815260040161016d90611df5565b8060160160008460018111156110d5576110d5611b51565b60018111156110e6576110e6611b51565b815260200190815260200160002054915050919050565b600080611108610535565b9050611113836114b8565b61112f5760405162461bcd60e51b815260040161016d90611df5565b8060190160008460018111156110d5576110d5611b51565b600080611152610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e69190611d66565b106112835760006111f5610535565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015611257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127b9190611d66565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190611d66565b611305846114ef565b6105bb9190611d1d565b60008061131a610535565b60009384526001016020525050604090206004810154600390910154101590565b600080611346610535565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061138f611378866114ef565b83600181111561138a5761138a611b51565b611897565b1115949350505050565b6000806113a4610535565b6000938452600f0160205250506040902080546001909101541190565b6000806113cc610535565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080608083901c1561140857608092831c92015b604083901c1561141a57604092831c92015b602083901c1561142c57602092831c92015b601083901c1561143e57601092831c92015b600883901c1561145057600892831c92015b600483901c1561146257600492831c92015b600283901c1561147457600292831c92015b600183901c156103e35760010192915050565b600081831061149657816105bb565b5090919050565b60006114ac6002848418611dac565b6105bb90848416611d1d565b6000808260018111156114cd576114cd611b51565b14806103e3575060018260018111156114e8576114e8611b51565b1492915050565b6000806114fa610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190611d66565b106115e657600061159d610535565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda9060240161123a565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116569190611d66565b60008581526001808501602052604090912001546116749190611c89565b90506000611683600183611c89565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fc9190611d66565b6117069190611d7f565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117839190611d66565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f29190611c9c565b65ffffffffffff1681116118785773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186d9190611c9c565b65ffffffffffff1690505b826118838383611d1d565b61188d9190611d1d565b9695505050505050565b6000806118a2610535565b905060646118b08585611933565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156118fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191f9190611d66565b6119299190611d7f565b61127b9190611dac565b60006105bb838360ff16600181111561194e5761194e611b51565b600080611959610535565b9050600081601801600085600181111561197557611975611b51565b600181111561198657611986611b51565b81526020810191909152604001600090812054915060188301818660018111156119b2576119b2611b51565b60018111156119c3576119c3611b51565b815260208101919091526040016000206119de600184611c89565b815481106119ee576119ee611e40565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611a34576001600160d01b031694506103e39350505050565b611a85611a4089610799565b8660180160008a6001811115611a5857611a58611b51565b6001811115611a6957611a69611b51565b81526020019081526020016000206105c290919063ffffffff16565b6001600160d01b031698975050505050505050565b80356001600160a01b0381168114611ab157600080fd5b919050565b60008060408385031215611ac957600080fd5b82359150611ad960208401611a9a565b90509250929050565b600060208284031215611af457600080fd5b813560ff811681146105bb57600080fd5b60008060408385031215611b1857600080fd5b611b2183611a9a565b946020939093013593505050565b60008060408385031215611b4257600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156103e3576103e3611b67565b600181815b80851115611bd1578160001904821115611bb757611bb7611b67565b80851615611bc457918102915b93841c9390800290611b9b565b509250929050565b600082611be8575060016103e3565b81611bf5575060006103e3565b8160018114611c0b5760028114611c1557611c31565b60019150506103e3565b60ff841115611c2657611c26611b67565b50506001821b6103e3565b5060208310610133831016604e8410600b8410161715611c54575081810a6103e3565b611c5e8383611b96565b8060001904821115611c7257611c72611b67565b029392505050565b60006105bb60ff841683611bd9565b818103818111156103e3576103e3611b67565b600060208284031215611cae57600080fd5b815165ffffffffffff811681146105bb57600080fd5b600060208284031215611cd657600080fd5b815180151581146105bb57600080fd5b6020808252601d908201527f42335452476f7665726e6f723a207472616e73666572206661696c6564000000604082015260600190565b808201808211156103e3576103e3611b67565b83815260608101600a8410611d5557634e487b7160e01b600052602160045260246000fd5b602082019390935260400152919050565b600060208284031215611d7857600080fd5b5051919050565b80820281158282048414176103e3576103e3611b67565b634e487b7160e01b600052601260045260246000fd5b600082611dc957634e487b7160e01b600052601260045260246000fd5b500490565b6001600160d01b03818116838216019080821115611dee57611dee611b67565b5092915050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b634e487b7160e01b600052603260045260246000fdfea264697066735822122085ba1380d199b075eb171ef8f7d0547fcea0a8e5195b03296a1b7596c5b0488964736f6c63430008140033","opcodes":"PUSH2 0x1E8C PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x6B6A0704 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0xE2BBB158 EQ PUSH2 0xB4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x75 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AB6 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8F PUSH2 0x8A CALLDATASIZE PUSH1 0x4 PUSH2 0x1AE2 JUMP JUMPDEST PUSH2 0x3C4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8F PUSH2 0xAF CALLDATASIZE PUSH1 0x4 PUSH2 0x1B05 JUMP JUMPDEST PUSH2 0x3E9 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0xCF CALLDATASIZE PUSH1 0x4 PUSH2 0x1B2F JUMP JUMPDEST PUSH2 0x433 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH2 0x13D SWAP1 DUP6 SWAP1 PUSH2 0x115 SWAP1 PUSH2 0x559 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x122 PUSH1 0x9 DUP3 PUSH2 0x1B7D JUMP JUMPDEST PUSH2 0x12D SWAP1 PUSH1 0x2 PUSH2 0x1C7A JUMP JUMPDEST PUSH2 0x137 SWAP2 SWAP1 PUSH2 0x1C89 JUMP JUMPDEST XOR PUSH2 0x57C JUMP JUMPDEST POP DUP1 PUSH1 0x0 SUB PUSH2 0x176 JUMPI PUSH1 0x40 MLOAD PUSH4 0x15FB458D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xD DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP1 MLOAD PUSH4 0x24776B7D PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD PUSH2 0x22F SWAP3 PUSH20 0x0 SWAP3 PUSH4 0x91DDADF4 SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24E PUSH2 0x249 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP6 AND PUSH2 0x1C89 JUMP JUMPDEST PUSH2 0x678 JUMP JUMPDEST SWAP1 POP PUSH2 0x2E1 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C0 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP8 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP PUSH1 0xC DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP7 SWAP1 MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x338 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35C SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST PUSH2 0x378 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1CE6 JUMP JUMPDEST DUP6 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xFBE8F0867E2424D124A83F2A1D534D784A8BB780B73B22F3F1032DAFFB603FA1 DUP6 PUSH1 0x40 MLOAD PUSH2 0x3B4 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E3 DUP3 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3DE JUMPI PUSH2 0x3DE PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x6CB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F4 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x422 PUSH2 0x402 DUP5 PUSH2 0x799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43D PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x0 SUB PUSH2 0x460 JUMPI PUSH1 0x40 MLOAD PUSH4 0xC22B340F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SLOAD SWAP1 SWAP2 SUB PUSH2 0x498 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO PUSH2 0x4D5 JUMPI POP PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x4D3 JUMPI PUSH2 0x4D3 PUSH2 0x1B51 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x4F6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3C23A8D7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST PUSH2 0x509 DUP4 PUSH2 0x504 PUSH1 0x0 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x57C JUMP JUMPDEST POP DUP4 DUP2 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x51E SWAP2 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x52F SWAP1 POP DUP5 CALLER DUP6 PUSH2 0x7CC JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x56D JUMPI PUSH2 0x56D PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x588 DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x596 DUP4 PUSH2 0x559 JUMP JUMPDEST AND SUB PUSH2 0x5BB JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D30 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x621 JUMPI PUSH1 0x0 PUSH2 0x5DD DUP5 PUSH2 0xDCF JUMP JUMPDEST PUSH2 0x5E7 SWAP1 DUP6 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x611 JUMPI DUP1 SWAP2 POP PUSH2 0x61F JUMP JUMPDEST PUSH2 0x61C DUP2 PUSH1 0x1 PUSH2 0x1D1D JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x62F DUP8 DUP8 DUP6 DUP6 PUSH2 0xEB7 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x66A JUMPI PUSH2 0x654 DUP8 PUSH2 0x646 PUSH1 0x1 DUP5 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x66D JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x16D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6BE DUP6 DUP6 DUP6 PUSH2 0xF11 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6D6 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 DUP3 PUSH1 0xB ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x731 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x755 SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x75E DUP7 PUSH2 0x108B JUMP JUMPDEST PUSH2 0x768 SWAP2 SWAP1 PUSH2 0x1D7F JUMP JUMPDEST PUSH2 0x772 SWAP2 SWAP1 PUSH2 0x1DAC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x77F DUP6 PUSH2 0x10FD JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x791 JUMPI SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x16D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7D6 PUSH2 0x535 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP9 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x833 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST PUSH2 0x873 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1CE6 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0x8A7 SWAP1 DUP5 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x940 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8FC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x920 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x94D DUP7 PUSH2 0x678 JUMP JUMPDEST PUSH2 0x957 SWAP1 DUP4 PUSH2 0x1DCE JUMP JUMPDEST SWAP1 POP PUSH2 0x9EA PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9A5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9C9 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x65C1DF56BBA34C409163F3295407AB399DF5A4D9BF3DD0288416D6041CDC272C DUP9 PUSH1 0x40 MLOAD PUSH2 0x3B4 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA33 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xA88 JUMPI PUSH2 0xA88 PUSH2 0x1B51 JUMP JUMPDEST SUB PUSH2 0xA9A JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xAAE JUMPI PUSH2 0xAAE PUSH2 0x1B51 JUMP JUMPDEST SUB PUSH2 0xAC0 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0xAD3 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0xAE6 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0xB0E JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB68 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB8C SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST LT ISZERO PUSH2 0xB9F JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xBEA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC0E SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0xC23 DUP10 PUSH2 0x1147 JUMP JUMPDEST SWAP1 POP PUSH2 0xC2E DUP10 PUSH2 0x130F JUMP JUMPDEST PUSH2 0xC41 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0xC57 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC60 DUP10 PUSH2 0x133B JUMP JUMPDEST ISZERO DUP1 PUSH2 0xC72 JUMPI POP PUSH2 0xC70 DUP10 PUSH2 0x1399 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xC86 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC8F DUP10 PUSH2 0x13C1 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0xCA5 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD02 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD26 SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST ISZERO PUSH2 0xD3B JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD86 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDAA SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST ISZERO PUSH2 0xDBF JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDE1 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDEE DUP5 PUSH2 0x13F3 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE07 JUMPI PUSH2 0xE07 PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE1F JUMPI PUSH2 0xE1F PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE37 JUMPI PUSH2 0xE37 PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE4F JUMPI PUSH2 0xE4F PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE67 JUMPI PUSH2 0xE67 PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE7F JUMPI PUSH2 0xE7F PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE97 JUMPI PUSH2 0xE97 PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x5BB DUP2 DUP3 DUP6 DUP2 PUSH2 0xEB1 JUMPI PUSH2 0xEB1 PUSH2 0x1D96 JUMP JUMPDEST DIV PUSH2 0x1487 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x791 JUMPI PUSH1 0x0 PUSH2 0xECE DUP5 DUP5 PUSH2 0x149D JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xEFD JUMPI DUP1 SWAP3 POP PUSH2 0xF0B JUMP JUMPDEST PUSH2 0xF08 DUP2 PUSH1 0x1 PUSH2 0x1D1D JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xEBA JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1030 JUMPI PUSH1 0x0 PUSH2 0xF2F DUP8 PUSH2 0x646 PUSH1 0x1 DUP6 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xF83 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xFCF JUMPI DUP5 PUSH2 0xFA6 DUP9 PUSH2 0x646 PUSH1 0x1 DUP7 PUSH2 0x1C89 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x6C3 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x6C3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1096 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x10A1 DUP4 PUSH2 0x14B8 JUMP JUMPDEST PUSH2 0x10BD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1DF5 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10D5 JUMPI PUSH2 0x10D5 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10E6 JUMPI PUSH2 0x10E6 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1108 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x1113 DUP4 PUSH2 0x14B8 JUMP JUMPDEST PUSH2 0x112F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1DF5 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10D5 JUMPI PUSH2 0x10D5 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1152 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11C2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11E6 SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST LT PUSH2 0x1283 JUMPI PUSH1 0x0 PUSH2 0x11F5 PUSH2 0x535 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1257 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x127B SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12FC SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x1305 DUP5 PUSH2 0x14EF JUMP JUMPDEST PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x131A PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1346 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x138F PUSH2 0x1378 DUP7 PUSH2 0x14EF JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x138A JUMPI PUSH2 0x138A PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x1897 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13A4 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13CC PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1408 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x141A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x142C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x143E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1450 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1462 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1474 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1496 JUMPI DUP2 PUSH2 0x5BB JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14AC PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1DAC JUMP JUMPDEST PUSH2 0x5BB SWAP1 DUP5 DUP5 AND PUSH2 0x1D1D JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14CD JUMPI PUSH2 0x14CD PUSH2 0x1B51 JUMP JUMPDEST EQ DUP1 PUSH2 0x3E3 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14E8 JUMPI PUSH2 0x14E8 PUSH2 0x1B51 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x14FA PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x156A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x158E SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST LT PUSH2 0x15E6 JUMPI PUSH1 0x0 PUSH2 0x159D PUSH2 0x535 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x123A JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1632 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1656 SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x1674 SWAP2 SWAP1 PUSH2 0x1C89 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1683 PUSH1 0x1 DUP4 PUSH2 0x1C89 JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16FC SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x1706 SWAP2 SWAP1 PUSH2 0x1D7F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x175F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1783 SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17F2 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x1878 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1849 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x186D SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1883 DUP4 DUP4 PUSH2 0x1D1D JUMP JUMPDEST PUSH2 0x188D SWAP2 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x18A2 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x18B0 DUP6 DUP6 PUSH2 0x1933 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x191F SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x1929 SWAP2 SWAP1 PUSH2 0x1D7F JUMP JUMPDEST PUSH2 0x127B SWAP2 SWAP1 PUSH2 0x1DAC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BB DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x194E JUMPI PUSH2 0x194E PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1959 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1975 JUMPI PUSH2 0x1975 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1986 JUMPI PUSH2 0x1986 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19B2 JUMPI PUSH2 0x19B2 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19C3 JUMPI PUSH2 0x19C3 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x19DE PUSH1 0x1 DUP5 PUSH2 0x1C89 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x19EE JUMPI PUSH2 0x19EE PUSH2 0x1E40 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x1A34 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x3E3 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1A85 PUSH2 0x1A40 DUP10 PUSH2 0x799 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1A58 JUMPI PUSH2 0x1A58 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1A69 JUMPI PUSH2 0x1A69 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x5C2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1AB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1AC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1AD9 PUSH1 0x20 DUP5 ADD PUSH2 0x1A9A JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B21 DUP4 PUSH2 0x1A9A JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH2 0x1BD1 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x1BB7 JUMPI PUSH2 0x1BB7 PUSH2 0x1B67 JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH2 0x1BC4 JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH2 0x1B9B JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1BE8 JUMPI POP PUSH1 0x1 PUSH2 0x3E3 JUMP JUMPDEST DUP2 PUSH2 0x1BF5 JUMPI POP PUSH1 0x0 PUSH2 0x3E3 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1C0B JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x1C15 JUMPI PUSH2 0x1C31 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x1C26 JUMPI PUSH2 0x1C26 PUSH2 0x1B67 JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH2 0x3E3 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x1C54 JUMPI POP DUP2 DUP2 EXP PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x1C5E DUP4 DUP4 PUSH2 0x1B96 JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x1C72 JUMPI PUSH2 0x1C72 PUSH2 0x1B67 JUMP JUMPDEST MUL SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BB PUSH1 0xFF DUP5 AND DUP4 PUSH2 0x1BD9 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1D SWAP1 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A207472616E73666572206661696C6564000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x1D55 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1DC9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1DEE JUMPI PUSH2 0x1DEE PUSH2 0x1B67 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP6 0xBA SGT DUP1 0xD1 SWAP10 0xB0 PUSH22 0xEB171EF8F7D0547FCEA0A8E5195B03296A1B7596C5B0 BASEFEE DUP10 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1950:8571:101:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1950:8571:101;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_depositThresholdByProposalType_57594":{"entryPoint":1739,"id":57594,"parameterSlots":1,"returnSlots":1},"@_insert_9806":{"entryPoint":3857,"id":9806,"parameterSlots":3,"returnSlots":2},"@_proposalDeadline_60068":{"entryPoint":4423,"id":60068,"parameterSlots":1,"returnSlots":1},"@_proposalSnapshot_60010":{"entryPoint":5359,"id":60010,"parameterSlots":1,"returnSlots":1},"@_quorumNumeratorByProposalType_60689":{"entryPoint":null,"id":60689,"parameterSlots":2,"returnSlots":1},"@_state_61095":{"entryPoint":2600,"id":61095,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":3767,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":5277,"id":6189,"parameterSlots":2,"returnSlots":1},"@depositFunds_57435":{"entryPoint":1996,"id":57435,"parameterSlots":3,"returnSlots":0},"@depositThresholdByProposalType_57610":{"entryPoint":964,"id":57610,"parameterSlots":1,"returnSlots":1},"@deposit_57241":{"entryPoint":1075,"id":57241,"parameterSlots":2,"returnSlots":0},"@encodeStateBitmap_60890":{"entryPoint":1369,"id":60890,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdCap_56943":{"entryPoint":4349,"id":56943,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdPercentage_56891":{"entryPoint":4235,"id":56891,"parameterSlots":1,"returnSlots":1},"@getDepositVotingPower_57641":{"entryPoint":1001,"id":57641,"parameterSlots":2,"returnSlots":1},"@getGovernorStorage_61139":{"entryPoint":1333,"id":61139,"parameterSlots":0,"returnSlots":1},"@isValidProposalType_60182":{"entryPoint":5304,"id":60182,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":5107,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":5255,"id":6166,"parameterSlots":2,"returnSlots":1},"@proposalDepositReached_57544":{"entryPoint":4879,"id":57544,"parameterSlots":1,"returnSlots":1},"@proposalEta_58227":{"entryPoint":5057,"id":58227,"parameterSlots":1,"returnSlots":1},"@push_9437":{"entryPoint":1712,"id":9437,"parameterSlots":3,"returnSlots":2},"@quorumByProposalType_60543":{"entryPoint":6295,"id":60543,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_60305":{"entryPoint":null,"id":60305,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_60403":{"entryPoint":6451,"id":60403,"parameterSlots":2,"returnSlots":1},"@quorumReached_60616":{"entryPoint":4923,"id":60616,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":3535,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":1656,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":1945,"id":7770,"parameterSlots":1,"returnSlots":1},"@upperLookupRecent_9604":{"entryPoint":1474,"id":9604,"parameterSlots":2,"returnSlots":1},"@validateStateBitmap_60870":{"entryPoint":1404,"id":60870,"parameterSlots":2,"returnSlots":1},"@voteSucceeded_61728":{"entryPoint":5017,"id":61728,"parameterSlots":1,"returnSlots":1},"@withdraw_57352":{"entryPoint":212,"id":57352,"parameterSlots":2,"returnSlots":0},"abi_decode_address":{"entryPoint":6810,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":6917,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":7364,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":7526,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":6838,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":6959,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":7324,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8":{"entryPoint":6882,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7669,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7398,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":7472,"id":null,"parameterSlots":4,"returnSlots":1},"checked_add_t_uint208":{"entryPoint":7630,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":7453,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint8":{"entryPoint":7037,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":7596,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_helper":{"entryPoint":7062,"id":null,"parameterSlots":2,"returnSlots":2},"checked_exp_t_uint256_t_uint8":{"entryPoint":7290,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_unsigned":{"entryPoint":7129,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":7551,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":7305,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":7015,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":7574,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":6993,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":7744,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:8203:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:150","statements":[{"nodeType":"YulAssignment","src":"73:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:150"},"nodeType":"YulFunctionCall","src":"82:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:150"}]},{"body":{"nodeType":"YulBlock","src":"165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:150"},"nodeType":"YulFunctionCall","src":"167:12:150"},"nodeType":"YulExpressionStatement","src":"167:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:150"},"nodeType":"YulFunctionCall","src":"146:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:150"},"nodeType":"YulFunctionCall","src":"142:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:150"},"nodeType":"YulFunctionCall","src":"121:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:150"},"nodeType":"YulFunctionCall","src":"114:50:150"},"nodeType":"YulIf","src":"111:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:150","type":""}],"src":"14:173:150"},{"body":{"nodeType":"YulBlock","src":"279:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"325:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"337:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"327:6:150"},"nodeType":"YulFunctionCall","src":"327:12:150"},"nodeType":"YulExpressionStatement","src":"327:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"300:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"309:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"296:3:150"},"nodeType":"YulFunctionCall","src":"296:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"321:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"292:3:150"},"nodeType":"YulFunctionCall","src":"292:32:150"},"nodeType":"YulIf","src":"289:52:150"},{"nodeType":"YulAssignment","src":"350:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"360:12:150"},"nodeType":"YulFunctionCall","src":"360:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"350:6:150"}]},{"nodeType":"YulAssignment","src":"392:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"425:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"436:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"421:3:150"},"nodeType":"YulFunctionCall","src":"421:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"402:18:150"},"nodeType":"YulFunctionCall","src":"402:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"392:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"237:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"248:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"260:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"268:6:150","type":""}],"src":"192:254:150"},{"body":{"nodeType":"YulBlock","src":"519:201:150","statements":[{"body":{"nodeType":"YulBlock","src":"565:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"574:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"577:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"567:6:150"},"nodeType":"YulFunctionCall","src":"567:12:150"},"nodeType":"YulExpressionStatement","src":"567:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"540:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"549:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"536:3:150"},"nodeType":"YulFunctionCall","src":"536:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"561:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"532:3:150"},"nodeType":"YulFunctionCall","src":"532:32:150"},"nodeType":"YulIf","src":"529:52:150"},{"nodeType":"YulVariableDeclaration","src":"590:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"616:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"603:12:150"},"nodeType":"YulFunctionCall","src":"603:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"594:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"674:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"683:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"686:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"676:6:150"},"nodeType":"YulFunctionCall","src":"676:12:150"},"nodeType":"YulExpressionStatement","src":"676:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"648:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"666:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"655:3:150"},"nodeType":"YulFunctionCall","src":"655:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"645:2:150"},"nodeType":"YulFunctionCall","src":"645:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"638:6:150"},"nodeType":"YulFunctionCall","src":"638:35:150"},"nodeType":"YulIf","src":"635:55:150"},{"nodeType":"YulAssignment","src":"699:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"709:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"699:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"485:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"496:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"508:6:150","type":""}],"src":"451:269:150"},{"body":{"nodeType":"YulBlock","src":"834:76:150","statements":[{"nodeType":"YulAssignment","src":"844:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"856:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"867:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"852:3:150"},"nodeType":"YulFunctionCall","src":"852:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"844:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"886:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"897:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"879:6:150"},"nodeType":"YulFunctionCall","src":"879:25:150"},"nodeType":"YulExpressionStatement","src":"879:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"803:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"814:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"825:4:150","type":""}],"src":"725:185:150"},{"body":{"nodeType":"YulBlock","src":"1002:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"1048:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1057:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1060:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1050:6:150"},"nodeType":"YulFunctionCall","src":"1050:12:150"},"nodeType":"YulExpressionStatement","src":"1050:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1023:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1032:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1019:3:150"},"nodeType":"YulFunctionCall","src":"1019:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1044:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1015:3:150"},"nodeType":"YulFunctionCall","src":"1015:32:150"},"nodeType":"YulIf","src":"1012:52:150"},{"nodeType":"YulAssignment","src":"1073:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1102:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1083:18:150"},"nodeType":"YulFunctionCall","src":"1083:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1073:6:150"}]},{"nodeType":"YulAssignment","src":"1121:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1148:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1159:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1144:3:150"},"nodeType":"YulFunctionCall","src":"1144:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1131:12:150"},"nodeType":"YulFunctionCall","src":"1131:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1121:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"960:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"971:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"983:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"991:6:150","type":""}],"src":"915:254:150"},{"body":{"nodeType":"YulBlock","src":"1261:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"1307:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1316:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1319:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1309:6:150"},"nodeType":"YulFunctionCall","src":"1309:12:150"},"nodeType":"YulExpressionStatement","src":"1309:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1282:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1291:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1278:3:150"},"nodeType":"YulFunctionCall","src":"1278:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1303:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1274:3:150"},"nodeType":"YulFunctionCall","src":"1274:32:150"},"nodeType":"YulIf","src":"1271:52:150"},{"nodeType":"YulAssignment","src":"1332:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1355:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1342:12:150"},"nodeType":"YulFunctionCall","src":"1342:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1332:6:150"}]},{"nodeType":"YulAssignment","src":"1374:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1401:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1412:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1397:3:150"},"nodeType":"YulFunctionCall","src":"1397:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1384:12:150"},"nodeType":"YulFunctionCall","src":"1384:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1374:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1219:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1230:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1242:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1250:6:150","type":""}],"src":"1174:248:150"},{"body":{"nodeType":"YulBlock","src":"1459:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1476:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1483:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1488:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1479:3:150"},"nodeType":"YulFunctionCall","src":"1479:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1469:6:150"},"nodeType":"YulFunctionCall","src":"1469:31:150"},"nodeType":"YulExpressionStatement","src":"1469:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1516:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1519:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1509:6:150"},"nodeType":"YulFunctionCall","src":"1509:15:150"},"nodeType":"YulExpressionStatement","src":"1509:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1540:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1543:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1533:6:150"},"nodeType":"YulFunctionCall","src":"1533:15:150"},"nodeType":"YulExpressionStatement","src":"1533:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"1427:127:150"},{"body":{"nodeType":"YulBlock","src":"1591:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1608:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1615:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1620:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1611:3:150"},"nodeType":"YulFunctionCall","src":"1611:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1601:6:150"},"nodeType":"YulFunctionCall","src":"1601:31:150"},"nodeType":"YulExpressionStatement","src":"1601:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1648:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1651:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1641:6:150"},"nodeType":"YulFunctionCall","src":"1641:15:150"},"nodeType":"YulExpressionStatement","src":"1641:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1672:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1675:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1665:6:150"},"nodeType":"YulFunctionCall","src":"1665:15:150"},"nodeType":"YulExpressionStatement","src":"1665:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"1559:127:150"},{"body":{"nodeType":"YulBlock","src":"1737:102:150","statements":[{"nodeType":"YulAssignment","src":"1747:38:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1762:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1765:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1758:3:150"},"nodeType":"YulFunctionCall","src":"1758:12:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"1776:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1779:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1772:3:150"},"nodeType":"YulFunctionCall","src":"1772:12:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1754:3:150"},"nodeType":"YulFunctionCall","src":"1754:31:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"1747:3:150"}]},{"body":{"nodeType":"YulBlock","src":"1811:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1813:16:150"},"nodeType":"YulFunctionCall","src":"1813:18:150"},"nodeType":"YulExpressionStatement","src":"1813:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"1800:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"1805:4:150","type":"","value":"0xff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1797:2:150"},"nodeType":"YulFunctionCall","src":"1797:13:150"},"nodeType":"YulIf","src":"1794:39:150"}]},"name":"checked_add_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1720:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"1723:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"1729:3:150","type":""}],"src":"1691:148:150"},{"body":{"nodeType":"YulBlock","src":"1908:358:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1918:16:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1933:1:150","type":"","value":"1"},"variables":[{"name":"power_1","nodeType":"YulTypedName","src":"1922:7:150","type":""}]},{"nodeType":"YulAssignment","src":"1943:16:150","value":{"name":"power_1","nodeType":"YulIdentifier","src":"1952:7:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"1943:5:150"}]},{"nodeType":"YulAssignment","src":"1968:13:150","value":{"name":"_base","nodeType":"YulIdentifier","src":"1976:5:150"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"1968:4:150"}]},{"body":{"nodeType":"YulBlock","src":"2032:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"2077:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2079:16:150"},"nodeType":"YulFunctionCall","src":"2079:18:150"},"nodeType":"YulExpressionStatement","src":"2079:18:150"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2052:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2066:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2062:3:150"},"nodeType":"YulFunctionCall","src":"2062:6:150"},{"name":"base","nodeType":"YulIdentifier","src":"2070:4:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2058:3:150"},"nodeType":"YulFunctionCall","src":"2058:17:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2049:2:150"},"nodeType":"YulFunctionCall","src":"2049:27:150"},"nodeType":"YulIf","src":"2046:53:150"},{"body":{"nodeType":"YulBlock","src":"2138:29:150","statements":[{"nodeType":"YulAssignment","src":"2140:25:150","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"2153:5:150"},{"name":"base","nodeType":"YulIdentifier","src":"2160:4:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2149:3:150"},"nodeType":"YulFunctionCall","src":"2149:16:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2140:5:150"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2119:8:150"},{"name":"power_1","nodeType":"YulIdentifier","src":"2129:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2115:3:150"},"nodeType":"YulFunctionCall","src":"2115:22:150"},"nodeType":"YulIf","src":"2112:55:150"},{"nodeType":"YulAssignment","src":"2180:23:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2192:4:150"},{"name":"base","nodeType":"YulIdentifier","src":"2198:4:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2188:3:150"},"nodeType":"YulFunctionCall","src":"2188:15:150"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"2180:4:150"}]},{"nodeType":"YulAssignment","src":"2216:34:150","value":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"2232:7:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"2241:8:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2228:3:150"},"nodeType":"YulFunctionCall","src":"2228:22:150"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"2216:8:150"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2001:8:150"},{"name":"power_1","nodeType":"YulIdentifier","src":"2011:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1998:2:150"},"nodeType":"YulFunctionCall","src":"1998:21:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2020:3:150","statements":[]},"pre":{"nodeType":"YulBlock","src":"1994:3:150","statements":[]},"src":"1990:270:150"}]},"name":"checked_exp_helper","nodeType":"YulFunctionDefinition","parameters":[{"name":"_base","nodeType":"YulTypedName","src":"1872:5:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"1879:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"1892:5:150","type":""},{"name":"base","nodeType":"YulTypedName","src":"1899:4:150","type":""}],"src":"1844:422:150"},{"body":{"nodeType":"YulBlock","src":"2330:747:150","statements":[{"body":{"nodeType":"YulBlock","src":"2368:52:150","statements":[{"nodeType":"YulAssignment","src":"2382:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2391:1:150","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2382:5:150"}]},{"nodeType":"YulLeave","src":"2405:5:150"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2350:8:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2343:6:150"},"nodeType":"YulFunctionCall","src":"2343:16:150"},"nodeType":"YulIf","src":"2340:80:150"},{"body":{"nodeType":"YulBlock","src":"2453:52:150","statements":[{"nodeType":"YulAssignment","src":"2467:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2476:1:150","type":"","value":"0"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2467:5:150"}]},{"nodeType":"YulLeave","src":"2490:5:150"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2439:4:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2432:6:150"},"nodeType":"YulFunctionCall","src":"2432:12:150"},"nodeType":"YulIf","src":"2429:76:150"},{"cases":[{"body":{"nodeType":"YulBlock","src":"2541:52:150","statements":[{"nodeType":"YulAssignment","src":"2555:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2564:1:150","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2555:5:150"}]},{"nodeType":"YulLeave","src":"2578:5:150"}]},"nodeType":"YulCase","src":"2534:59:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2539:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2609:123:150","statements":[{"body":{"nodeType":"YulBlock","src":"2644:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2646:16:150"},"nodeType":"YulFunctionCall","src":"2646:18:150"},"nodeType":"YulExpressionStatement","src":"2646:18:150"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2629:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"2639:3:150","type":"","value":"255"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2626:2:150"},"nodeType":"YulFunctionCall","src":"2626:17:150"},"nodeType":"YulIf","src":"2623:43:150"},{"nodeType":"YulAssignment","src":"2679:25:150","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2692:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"2702:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2688:3:150"},"nodeType":"YulFunctionCall","src":"2688:16:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2679:5:150"}]},{"nodeType":"YulLeave","src":"2717:5:150"}]},"nodeType":"YulCase","src":"2602:130:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2607:1:150","type":"","value":"2"}}],"expression":{"name":"base","nodeType":"YulIdentifier","src":"2521:4:150"},"nodeType":"YulSwitch","src":"2514:218:150"},{"body":{"nodeType":"YulBlock","src":"2830:70:150","statements":[{"nodeType":"YulAssignment","src":"2844:28:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2857:4:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"2863:8:150"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"2853:3:150"},"nodeType":"YulFunctionCall","src":"2853:19:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"2844:5:150"}]},{"nodeType":"YulLeave","src":"2885:5:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2754:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"2760:2:150","type":"","value":"11"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2751:2:150"},"nodeType":"YulFunctionCall","src":"2751:12:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2768:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"2778:2:150","type":"","value":"78"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2765:2:150"},"nodeType":"YulFunctionCall","src":"2765:16:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2747:3:150"},"nodeType":"YulFunctionCall","src":"2747:35:150"},{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2791:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"2797:3:150","type":"","value":"307"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2788:2:150"},"nodeType":"YulFunctionCall","src":"2788:13:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"2806:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"2816:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2803:2:150"},"nodeType":"YulFunctionCall","src":"2803:16:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2784:3:150"},"nodeType":"YulFunctionCall","src":"2784:36:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2744:2:150"},"nodeType":"YulFunctionCall","src":"2744:77:150"},"nodeType":"YulIf","src":"2741:159:150"},{"nodeType":"YulVariableDeclaration","src":"2909:57:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"2951:4:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"2957:8:150"}],"functionName":{"name":"checked_exp_helper","nodeType":"YulIdentifier","src":"2932:18:150"},"nodeType":"YulFunctionCall","src":"2932:34:150"},"variables":[{"name":"power_1","nodeType":"YulTypedName","src":"2913:7:150","type":""},{"name":"base_1","nodeType":"YulTypedName","src":"2922:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3011:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3013:16:150"},"nodeType":"YulFunctionCall","src":"3013:18:150"},"nodeType":"YulExpressionStatement","src":"3013:18:150"}]},"condition":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"2981:7:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2998:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2994:3:150"},"nodeType":"YulFunctionCall","src":"2994:6:150"},{"name":"base_1","nodeType":"YulIdentifier","src":"3002:6:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2990:3:150"},"nodeType":"YulFunctionCall","src":"2990:19:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2978:2:150"},"nodeType":"YulFunctionCall","src":"2978:32:150"},"nodeType":"YulIf","src":"2975:58:150"},{"nodeType":"YulAssignment","src":"3042:29:150","value":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"3055:7:150"},{"name":"base_1","nodeType":"YulIdentifier","src":"3064:6:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3051:3:150"},"nodeType":"YulFunctionCall","src":"3051:20:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"3042:5:150"}]}]},"name":"checked_exp_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"2301:4:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"2307:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"2320:5:150","type":""}],"src":"2271:806:150"},{"body":{"nodeType":"YulBlock","src":"3150:72:150","statements":[{"nodeType":"YulAssignment","src":"3160:56:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"3190:4:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"3200:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"3210:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3196:3:150"},"nodeType":"YulFunctionCall","src":"3196:19:150"}],"functionName":{"name":"checked_exp_unsigned","nodeType":"YulIdentifier","src":"3169:20:150"},"nodeType":"YulFunctionCall","src":"3169:47:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"3160:5:150"}]}]},"name":"checked_exp_t_uint256_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"3121:4:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"3127:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"3140:5:150","type":""}],"src":"3082:140:150"},{"body":{"nodeType":"YulBlock","src":"3276:79:150","statements":[{"nodeType":"YulAssignment","src":"3286:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3298:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"3301:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3294:3:150"},"nodeType":"YulFunctionCall","src":"3294:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"3286:4:150"}]},{"body":{"nodeType":"YulBlock","src":"3327:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3329:16:150"},"nodeType":"YulFunctionCall","src":"3329:18:150"},"nodeType":"YulExpressionStatement","src":"3329:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"3318:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"3324:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3315:2:150"},"nodeType":"YulFunctionCall","src":"3315:11:150"},"nodeType":"YulIf","src":"3312:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3258:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"3261:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"3267:4:150","type":""}],"src":"3227:128:150"},{"body":{"nodeType":"YulBlock","src":"3489:145:150","statements":[{"nodeType":"YulAssignment","src":"3499:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3511:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3522:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3507:3:150"},"nodeType":"YulFunctionCall","src":"3507:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3499:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3541:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3552:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3534:6:150"},"nodeType":"YulFunctionCall","src":"3534:25:150"},"nodeType":"YulExpressionStatement","src":"3534:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3579:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3590:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3575:3:150"},"nodeType":"YulFunctionCall","src":"3575:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3599:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3615:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3620:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3611:3:150"},"nodeType":"YulFunctionCall","src":"3611:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3624:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3607:3:150"},"nodeType":"YulFunctionCall","src":"3607:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3595:3:150"},"nodeType":"YulFunctionCall","src":"3595:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3568:6:150"},"nodeType":"YulFunctionCall","src":"3568:60:150"},"nodeType":"YulExpressionStatement","src":"3568:60:150"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3450:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3461:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3469:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3480:4:150","type":""}],"src":"3360:274:150"},{"body":{"nodeType":"YulBlock","src":"3719:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"3765:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3774:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3777:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3767:6:150"},"nodeType":"YulFunctionCall","src":"3767:12:150"},"nodeType":"YulExpressionStatement","src":"3767:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3740:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3749:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3736:3:150"},"nodeType":"YulFunctionCall","src":"3736:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3761:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3732:3:150"},"nodeType":"YulFunctionCall","src":"3732:32:150"},"nodeType":"YulIf","src":"3729:52:150"},{"nodeType":"YulVariableDeclaration","src":"3790:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3809:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3803:5:150"},"nodeType":"YulFunctionCall","src":"3803:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3794:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3877:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3886:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3889:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3879:6:150"},"nodeType":"YulFunctionCall","src":"3879:12:150"},"nodeType":"YulExpressionStatement","src":"3879:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3841:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3852:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"3859:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3848:3:150"},"nodeType":"YulFunctionCall","src":"3848:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3838:2:150"},"nodeType":"YulFunctionCall","src":"3838:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3831:6:150"},"nodeType":"YulFunctionCall","src":"3831:45:150"},"nodeType":"YulIf","src":"3828:65:150"},{"nodeType":"YulAssignment","src":"3902:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3912:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3902:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3685:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3696:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3708:6:150","type":""}],"src":"3639:284:150"},{"body":{"nodeType":"YulBlock","src":"4057:145:150","statements":[{"nodeType":"YulAssignment","src":"4067:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4079:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4090:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4075:3:150"},"nodeType":"YulFunctionCall","src":"4075:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4067:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4109:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4124:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4140:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4145:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4136:3:150"},"nodeType":"YulFunctionCall","src":"4136:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4149:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4132:3:150"},"nodeType":"YulFunctionCall","src":"4132:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4120:3:150"},"nodeType":"YulFunctionCall","src":"4120:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4102:6:150"},"nodeType":"YulFunctionCall","src":"4102:51:150"},"nodeType":"YulExpressionStatement","src":"4102:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4173:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4184:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4169:3:150"},"nodeType":"YulFunctionCall","src":"4169:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"4189:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4162:6:150"},"nodeType":"YulFunctionCall","src":"4162:34:150"},"nodeType":"YulExpressionStatement","src":"4162:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4018:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4029:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4037:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4048:4:150","type":""}],"src":"3928:274:150"},{"body":{"nodeType":"YulBlock","src":"4285:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"4331:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4340:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4343:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4333:6:150"},"nodeType":"YulFunctionCall","src":"4333:12:150"},"nodeType":"YulExpressionStatement","src":"4333:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4306:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4315:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4302:3:150"},"nodeType":"YulFunctionCall","src":"4302:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4327:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4298:3:150"},"nodeType":"YulFunctionCall","src":"4298:32:150"},"nodeType":"YulIf","src":"4295:52:150"},{"nodeType":"YulVariableDeclaration","src":"4356:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4375:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4369:5:150"},"nodeType":"YulFunctionCall","src":"4369:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4360:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4438:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4447:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4450:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4440:6:150"},"nodeType":"YulFunctionCall","src":"4440:12:150"},"nodeType":"YulExpressionStatement","src":"4440:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4407:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4428:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4421:6:150"},"nodeType":"YulFunctionCall","src":"4421:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4414:6:150"},"nodeType":"YulFunctionCall","src":"4414:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4404:2:150"},"nodeType":"YulFunctionCall","src":"4404:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4397:6:150"},"nodeType":"YulFunctionCall","src":"4397:40:150"},"nodeType":"YulIf","src":"4394:60:150"},{"nodeType":"YulAssignment","src":"4463:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4473:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4463:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4251:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4262:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4274:6:150","type":""}],"src":"4207:277:150"},{"body":{"nodeType":"YulBlock","src":"4663:179:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4680:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4691:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4673:6:150"},"nodeType":"YulFunctionCall","src":"4673:21:150"},"nodeType":"YulExpressionStatement","src":"4673:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4714:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4725:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4710:3:150"},"nodeType":"YulFunctionCall","src":"4710:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"4730:2:150","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4703:6:150"},"nodeType":"YulFunctionCall","src":"4703:30:150"},"nodeType":"YulExpressionStatement","src":"4703:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4753:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4764:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4749:3:150"},"nodeType":"YulFunctionCall","src":"4749:18:150"},{"hexValue":"42335452476f7665726e6f723a207472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"4769:31:150","type":"","value":"B3TRGovernor: transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4742:6:150"},"nodeType":"YulFunctionCall","src":"4742:59:150"},"nodeType":"YulExpressionStatement","src":"4742:59:150"},{"nodeType":"YulAssignment","src":"4810:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4822:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4833:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4818:3:150"},"nodeType":"YulFunctionCall","src":"4818:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4810:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4640:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4654:4:150","type":""}],"src":"4489:353:150"},{"body":{"nodeType":"YulBlock","src":"4948:76:150","statements":[{"nodeType":"YulAssignment","src":"4958:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4970:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4981:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4966:3:150"},"nodeType":"YulFunctionCall","src":"4966:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4958:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5000:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"5011:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4993:6:150"},"nodeType":"YulFunctionCall","src":"4993:25:150"},"nodeType":"YulExpressionStatement","src":"4993:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4917:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4928:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4939:4:150","type":""}],"src":"4847:177:150"},{"body":{"nodeType":"YulBlock","src":"5077:77:150","statements":[{"nodeType":"YulAssignment","src":"5087:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5098:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"5101:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5094:3:150"},"nodeType":"YulFunctionCall","src":"5094:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5087:3:150"}]},{"body":{"nodeType":"YulBlock","src":"5126:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5128:16:150"},"nodeType":"YulFunctionCall","src":"5128:18:150"},"nodeType":"YulExpressionStatement","src":"5128:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5118:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"5121:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5115:2:150"},"nodeType":"YulFunctionCall","src":"5115:10:150"},"nodeType":"YulIf","src":"5112:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5060:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"5063:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5069:3:150","type":""}],"src":"5029:125:150"},{"body":{"nodeType":"YulBlock","src":"5333:316:150","statements":[{"nodeType":"YulAssignment","src":"5343:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5355:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5366:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5351:3:150"},"nodeType":"YulFunctionCall","src":"5351:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5343:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5385:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"5396:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5378:6:150"},"nodeType":"YulFunctionCall","src":"5378:25:150"},"nodeType":"YulExpressionStatement","src":"5378:25:150"},{"body":{"nodeType":"YulBlock","src":"5446:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5467:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5474:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5479:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5470:3:150"},"nodeType":"YulFunctionCall","src":"5470:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5460:6:150"},"nodeType":"YulFunctionCall","src":"5460:31:150"},"nodeType":"YulExpressionStatement","src":"5460:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5511:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5514:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5504:6:150"},"nodeType":"YulFunctionCall","src":"5504:15:150"},"nodeType":"YulExpressionStatement","src":"5504:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5539:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5542:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5532:6:150"},"nodeType":"YulFunctionCall","src":"5532:15:150"},"nodeType":"YulExpressionStatement","src":"5532:15:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5425:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5433:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5422:2:150"},"nodeType":"YulFunctionCall","src":"5422:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5415:6:150"},"nodeType":"YulFunctionCall","src":"5415:22:150"},"nodeType":"YulIf","src":"5412:145:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5577:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5588:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5573:3:150"},"nodeType":"YulFunctionCall","src":"5573:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"5593:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5566:6:150"},"nodeType":"YulFunctionCall","src":"5566:34:150"},"nodeType":"YulExpressionStatement","src":"5566:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5620:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5631:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5616:3:150"},"nodeType":"YulFunctionCall","src":"5616:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"5636:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5609:6:150"},"nodeType":"YulFunctionCall","src":"5609:34:150"},"nodeType":"YulExpressionStatement","src":"5609:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5286:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5297:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5305:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5313:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5324:4:150","type":""}],"src":"5159:490:150"},{"body":{"nodeType":"YulBlock","src":"5791:130:150","statements":[{"nodeType":"YulAssignment","src":"5801:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5813:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5824:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5809:3:150"},"nodeType":"YulFunctionCall","src":"5809:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5801:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5843:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5858:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5866:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5854:3:150"},"nodeType":"YulFunctionCall","src":"5854:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5836:6:150"},"nodeType":"YulFunctionCall","src":"5836:36:150"},"nodeType":"YulExpressionStatement","src":"5836:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5892:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5903:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5888:3:150"},"nodeType":"YulFunctionCall","src":"5888:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"5908:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5881:6:150"},"nodeType":"YulFunctionCall","src":"5881:34:150"},"nodeType":"YulExpressionStatement","src":"5881:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5752:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5763:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5771:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5782:4:150","type":""}],"src":"5654:267:150"},{"body":{"nodeType":"YulBlock","src":"6007:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"6053:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6062:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6065:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6055:6:150"},"nodeType":"YulFunctionCall","src":"6055:12:150"},"nodeType":"YulExpressionStatement","src":"6055:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6028:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6037:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6024:3:150"},"nodeType":"YulFunctionCall","src":"6024:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6049:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6020:3:150"},"nodeType":"YulFunctionCall","src":"6020:32:150"},"nodeType":"YulIf","src":"6017:52:150"},{"nodeType":"YulAssignment","src":"6078:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6094:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6088:5:150"},"nodeType":"YulFunctionCall","src":"6088:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6078:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5973:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5984:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5996:6:150","type":""}],"src":"5926:184:150"},{"body":{"nodeType":"YulBlock","src":"6167:116:150","statements":[{"nodeType":"YulAssignment","src":"6177:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6192:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"6195:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"6188:3:150"},"nodeType":"YulFunctionCall","src":"6188:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"6177:7:150"}]},{"body":{"nodeType":"YulBlock","src":"6255:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"6257:16:150"},"nodeType":"YulFunctionCall","src":"6257:18:150"},"nodeType":"YulExpressionStatement","src":"6257:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6226:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6219:6:150"},"nodeType":"YulFunctionCall","src":"6219:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"6233:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"6240:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"6249:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6236:3:150"},"nodeType":"YulFunctionCall","src":"6236:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6230:2:150"},"nodeType":"YulFunctionCall","src":"6230:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6216:2:150"},"nodeType":"YulFunctionCall","src":"6216:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6209:6:150"},"nodeType":"YulFunctionCall","src":"6209:45:150"},"nodeType":"YulIf","src":"6206:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"6146:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"6149:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"6155:7:150","type":""}],"src":"6115:168:150"},{"body":{"nodeType":"YulBlock","src":"6320:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6337:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6344:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6349:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6340:3:150"},"nodeType":"YulFunctionCall","src":"6340:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6330:6:150"},"nodeType":"YulFunctionCall","src":"6330:31:150"},"nodeType":"YulExpressionStatement","src":"6330:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6377:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6380:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6370:6:150"},"nodeType":"YulFunctionCall","src":"6370:15:150"},"nodeType":"YulExpressionStatement","src":"6370:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6401:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6404:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6394:6:150"},"nodeType":"YulFunctionCall","src":"6394:15:150"},"nodeType":"YulExpressionStatement","src":"6394:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"6288:127:150"},{"body":{"nodeType":"YulBlock","src":"6466:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"6497:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6518:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6525:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6530:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6521:3:150"},"nodeType":"YulFunctionCall","src":"6521:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6511:6:150"},"nodeType":"YulFunctionCall","src":"6511:31:150"},"nodeType":"YulExpressionStatement","src":"6511:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6562:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6565:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6555:6:150"},"nodeType":"YulFunctionCall","src":"6555:15:150"},"nodeType":"YulExpressionStatement","src":"6555:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6590:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6593:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6583:6:150"},"nodeType":"YulFunctionCall","src":"6583:15:150"},"nodeType":"YulExpressionStatement","src":"6583:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"6486:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6479:6:150"},"nodeType":"YulFunctionCall","src":"6479:9:150"},"nodeType":"YulIf","src":"6476:132:150"},{"nodeType":"YulAssignment","src":"6617:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6626:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"6629:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6622:3:150"},"nodeType":"YulFunctionCall","src":"6622:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"6617:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"6451:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"6454:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"6460:1:150","type":""}],"src":"6420:217:150"},{"body":{"nodeType":"YulBlock","src":"6778:130:150","statements":[{"nodeType":"YulAssignment","src":"6788:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6800:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6811:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6796:3:150"},"nodeType":"YulFunctionCall","src":"6796:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6788:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6830:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6845:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6853:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6841:3:150"},"nodeType":"YulFunctionCall","src":"6841:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6823:6:150"},"nodeType":"YulFunctionCall","src":"6823:36:150"},"nodeType":"YulExpressionStatement","src":"6823:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6879:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6890:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6875:3:150"},"nodeType":"YulFunctionCall","src":"6875:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"6895:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6868:6:150"},"nodeType":"YulFunctionCall","src":"6868:34:150"},"nodeType":"YulExpressionStatement","src":"6868:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6739:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6750:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6758:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6769:4:150","type":""}],"src":"6642:266:150"},{"body":{"nodeType":"YulBlock","src":"7070:218:150","statements":[{"nodeType":"YulAssignment","src":"7080:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7092:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7103:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7088:3:150"},"nodeType":"YulFunctionCall","src":"7088:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7080:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"7115:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7133:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7138:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7129:3:150"},"nodeType":"YulFunctionCall","src":"7129:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7142:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7125:3:150"},"nodeType":"YulFunctionCall","src":"7125:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7119:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7160:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7175:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7183:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7171:3:150"},"nodeType":"YulFunctionCall","src":"7171:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7153:6:150"},"nodeType":"YulFunctionCall","src":"7153:34:150"},"nodeType":"YulExpressionStatement","src":"7153:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7207:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7218:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7203:3:150"},"nodeType":"YulFunctionCall","src":"7203:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7227:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7235:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7223:3:150"},"nodeType":"YulFunctionCall","src":"7223:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7196:6:150"},"nodeType":"YulFunctionCall","src":"7196:43:150"},"nodeType":"YulExpressionStatement","src":"7196:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7259:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7270:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7255:3:150"},"nodeType":"YulFunctionCall","src":"7255:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"7275:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7248:6:150"},"nodeType":"YulFunctionCall","src":"7248:34:150"},"nodeType":"YulExpressionStatement","src":"7248:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7023:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7034:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7042:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7050:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7061:4:150","type":""}],"src":"6913:375:150"},{"body":{"nodeType":"YulBlock","src":"7341:134:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7351:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7369:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"7374:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7365:3:150"},"nodeType":"YulFunctionCall","src":"7365:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7378:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7361:3:150"},"nodeType":"YulFunctionCall","src":"7361:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7355:2:150","type":""}]},{"nodeType":"YulAssignment","src":"7389:34:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7404:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7407:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7400:3:150"},"nodeType":"YulFunctionCall","src":"7400:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"7416:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7419:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7412:3:150"},"nodeType":"YulFunctionCall","src":"7412:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7396:3:150"},"nodeType":"YulFunctionCall","src":"7396:27:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"7389:3:150"}]},{"body":{"nodeType":"YulBlock","src":"7447:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"7449:16:150"},"nodeType":"YulFunctionCall","src":"7449:18:150"},"nodeType":"YulExpressionStatement","src":"7449:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"7438:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7443:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7435:2:150"},"nodeType":"YulFunctionCall","src":"7435:11:150"},"nodeType":"YulIf","src":"7432:37:150"}]},"name":"checked_add_t_uint208","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"7324:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"7327:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"7333:3:150","type":""}],"src":"7293:182:150"},{"body":{"nodeType":"YulBlock","src":"7581:76:150","statements":[{"nodeType":"YulAssignment","src":"7591:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7603:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7614:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7599:3:150"},"nodeType":"YulFunctionCall","src":"7599:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7591:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7633:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"7644:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7626:6:150"},"nodeType":"YulFunctionCall","src":"7626:25:150"},"nodeType":"YulExpressionStatement","src":"7626:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7550:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7561:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7572:4:150","type":""}],"src":"7480:177:150"},{"body":{"nodeType":"YulBlock","src":"7836:233:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7853:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7864:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7846:6:150"},"nodeType":"YulFunctionCall","src":"7846:21:150"},"nodeType":"YulExpressionStatement","src":"7846:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7887:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7898:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7883:3:150"},"nodeType":"YulFunctionCall","src":"7883:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7903:2:150","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7876:6:150"},"nodeType":"YulFunctionCall","src":"7876:30:150"},"nodeType":"YulExpressionStatement","src":"7876:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7926:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7937:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7922:3:150"},"nodeType":"YulFunctionCall","src":"7922:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c6964207072","kind":"string","nodeType":"YulLiteral","src":"7942:34:150","type":"","value":"GovernorConfigurator: invalid pr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7915:6:150"},"nodeType":"YulFunctionCall","src":"7915:62:150"},"nodeType":"YulExpressionStatement","src":"7915:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7997:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8008:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7993:3:150"},"nodeType":"YulFunctionCall","src":"7993:18:150"},{"hexValue":"6f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"8013:13:150","type":"","value":"oposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7986:6:150"},"nodeType":"YulFunctionCall","src":"7986:41:150"},"nodeType":"YulExpressionStatement","src":"7986:41:150"},{"nodeType":"YulAssignment","src":"8036:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8048:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8059:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8044:3:150"},"nodeType":"YulFunctionCall","src":"8044:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8036:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7813:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7827:4:150","type":""}],"src":"7662:407:150"},{"body":{"nodeType":"YulBlock","src":"8106:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8123:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8130:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8135:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8126:3:150"},"nodeType":"YulFunctionCall","src":"8126:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8116:6:150"},"nodeType":"YulFunctionCall","src":"8116:31:150"},"nodeType":"YulExpressionStatement","src":"8116:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8163:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8166:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8156:6:150"},"nodeType":"YulFunctionCall","src":"8156:15:150"},"nodeType":"YulExpressionStatement","src":"8156:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8187:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8190:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8180:6:150"},"nodeType":"YulFunctionCall","src":"8180:15:150"},"nodeType":"YulExpressionStatement","src":"8180:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"8074:127:150"}]},"contents":"{\n    { }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function checked_exp_helper(_base, exponent) -> power, base\n    {\n        let power_1 := 1\n        power := power_1\n        base := _base\n        for { } gt(exponent, power_1) { }\n        {\n            if gt(base, div(not(0), base)) { panic_error_0x11() }\n            if and(exponent, power_1) { power := mul(power, base) }\n            base := mul(base, base)\n            exponent := shr(power_1, exponent)\n        }\n    }\n    function checked_exp_unsigned(base, exponent) -> power\n    {\n        if iszero(exponent)\n        {\n            power := 1\n            leave\n        }\n        if iszero(base)\n        {\n            power := 0\n            leave\n        }\n        switch base\n        case 1 {\n            power := 1\n            leave\n        }\n        case 2 {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := shl(exponent, 1)\n            leave\n        }\n        if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n        {\n            power := exp(base, exponent)\n            leave\n        }\n        let power_1, base_1 := checked_exp_helper(base, exponent)\n        if gt(power_1, div(not(0), base_1)) { panic_error_0x11() }\n        power := mul(power_1, base_1)\n    }\n    function checked_exp_t_uint256_t_uint8(base, exponent) -> power\n    {\n        power := checked_exp_unsigned(base, and(exponent, 0xff))\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"B3TRGovernor: transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        if iszero(lt(value1, 10))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n    }\n    function checked_add_t_uint208(x, y) -> sum\n    {\n        let _1 := sub(shl(208, 1), 1)\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 43)\n        mstore(add(headStart, 64), \"GovernorConfigurator: invalid pr\")\n        mstore(add(headStart, 96), \"oposal type\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":433},{"length":20,"start":597},{"length":20,"start":2229},{"length":20,"start":2398},{"length":20,"start":2979},{"length":20,"start":6023},{"length":20,"start":6146}]}},"object":"73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062f714ce1461005a5780636b6a07041461007c578063a56b5765146100a1578063e2bbb158146100b4575b600080fd5b81801561006657600080fd5b5061007a610075366004611ab6565b6100d4565b005b61008f61008a366004611ae2565b6103c4565b60405190815260200160405180910390f35b61008f6100af366004611b05565b6103e9565b8180156100c057600080fd5b5061007a6100cf366004611b2f565b610433565b60006100de610535565b6000848152600d8201602090815260408083206001600160a01b038716845290915281205491925061013d90859061011590610559565b6001610122600982611b7d565b61012d906002611c7a565b6101379190611c89565b1861057c565b5080600003610176576040516315fb458d60e01b8152600481018590526001600160a01b03841660248201526044015b60405180910390fd5b6000848152600d8301602090815260408083206001600160a01b0387168452825280832083905580516324776b7d60e21b8152905161022f9273__$3618b725599b71188fd71e0b940aaf7176$__926391ddadf492600480830193928290030181865af41580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f9190611c9c565b6001600160a01b0386166000908152601d860160205260409020906105c2565b9050600061024e610249846001600160d01b038516611c89565b610678565b90506102e173__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561029c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c09190611c9c565b6001600160a01b0387166000908152601d87016020526040902090836106b0565b5050600c84015460405163a9059cbb60e01b81526001600160a01b038781166004830152602482018690529091169063a9059cbb906044016020604051808303816000875af1158015610338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035c9190611cc4565b6103785760405162461bcd60e51b815260040161016d90611ce6565b85856001600160a01b03167ffbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1856040516103b491815260200190565b60405180910390a3505050505050565b60006103e38260ff1660018111156103de576103de611b51565b6106cb565b92915050565b6000806103f4610535565b905061042261040284610799565b6001600160a01b0386166000908152601d840160205260409020906105c2565b6001600160d01b0316949350505050565b600061043d610535565b9050826000036104605760405163c22b340f60e01b815260040160405180910390fd5b60008281526001808301602052604082209081015490910361049857604051636ad0607560e01b81526004810184905260240161016d565b80546001600160a01b0316331480156104d557506001600084815260158401602052604090205460ff1660018111156104d3576104d3611b51565b145b156104f657604051633c23a8d760e11b81526004810184905260240161016d565b610509836105046000610559565b61057c565b508381600301600082825461051e9190611d1d565b9091555061052f90508433856107cc565b50505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600081600981111561056d5761056d611b51565b600160ff919091161b92915050565b60008061058884610a28565b905060008361059683610559565b16036105bb578381846040516331b75e4d60e01b815260040161016d93929190611d30565b9392505050565b8154600090818160058111156106215760006105dd84610dcf565b6105e79085611c89565b60008881526020902090915081015465ffffffffffff90811690871610156106115780915061061f565b61061c816001611d1d565b92505b505b600061062f87878585610eb7565b9050801561066a5761065487610646600184611c89565b600091825260209091200190565b54600160301b90046001600160d01b031661066d565b60005b979650505050505050565b60006001600160d01b038211156106ac576040516306dfcc6560e41b815260d060048201526024810183905260440161016d565b5090565b6000806106be858585610f11565b915091505b935093915050565b6000806106d6610535565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190611d66565b61075e8661108b565b6107689190611d7f565b6107729190611dac565b9050600061077f856110fd565b90508082111561079157949350505050565b509392505050565b600065ffffffffffff8211156106ac576040516306dfcc6560e41b8152603060048201526024810183905260440161016d565b60006107d6610535565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af1158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190611cc4565b6108735760405162461bcd60e51b815260040161016d90611ce6565b6000828152600d8201602090815260408083206001600160a01b0387168452909152812080548692906108a7908490611d1d565b92505081905550600061094073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190611c9c565b6001600160a01b0386166000908152601d850160205260409020906105c2565b9050600061094d86610678565b6109579083611dce565b90506109ea73__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190611c9c565b6001600160a01b0387166000908152601d86016020526040902090836106b0565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516103b491815260200190565b600080610a33610535565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610a8857610a88611b51565b03610a9a575060089695505050505050565b6002836002811115610aae57610aae611b51565b03610ac0575060099695505050505050565b8115610ad3575060069695505050505050565b8015610ae6575060029695505050505050565b8360010154600003610b0e57604051636ad0607560e01b81526004810188905260240161016d565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190611d66565b1015610b9f575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0e9190611c9c565b65ffffffffffff1690506000610c2389611147565b9050610c2e8961130f565b610c415750600798975050505050505050565b818110610c575750600198975050505050505050565b610c608961133b565b1580610c725750610c7089611399565b155b15610c865750600398975050505050505050565b610c8f896113c1565b600003610ca55750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611cc4565b15610d3b575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190611cc4565b15610dbf575060069998505050505050505050565b5060029998505050505050505050565b600081600003610de157506000919050565b60006001610dee846113f3565b901c6001901b90506001818481610e0757610e07611d96565b048201901c90506001818481610e1f57610e1f611d96565b048201901c90506001818481610e3757610e37611d96565b048201901c90506001818481610e4f57610e4f611d96565b048201901c90506001818481610e6757610e67611d96565b048201901c90506001818481610e7f57610e7f611d96565b048201901c90506001818481610e9757610e97611d96565b048201901c90506105bb81828581610eb157610eb1611d96565b04611487565b60005b81831015610791576000610ece848461149d565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610efd57809250610f0b565b610f08816001611d1d565b93505b50610eba565b825460009081908015611030576000610f2f87610646600185611c89565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f8357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fcf5784610fa688610646600186611c89565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611020565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506106c39050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816106c3565b600080611096610535565b90506110a1836114b8565b6110bd5760405162461bcd60e51b815260040161016d90611df5565b8060160160008460018111156110d5576110d5611b51565b60018111156110e6576110e6611b51565b815260200190815260200160002054915050919050565b600080611108610535565b9050611113836114b8565b61112f5760405162461bcd60e51b815260040161016d90611df5565b8060190160008460018111156110d5576110d5611b51565b600080611152610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e69190611d66565b106112835760006111f5610535565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015611257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127b9190611d66565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190611d66565b611305846114ef565b6105bb9190611d1d565b60008061131a610535565b60009384526001016020525050604090206004810154600390910154101590565b600080611346610535565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061138f611378866114ef565b83600181111561138a5761138a611b51565b611897565b1115949350505050565b6000806113a4610535565b6000938452600f0160205250506040902080546001909101541190565b6000806113cc610535565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080608083901c1561140857608092831c92015b604083901c1561141a57604092831c92015b602083901c1561142c57602092831c92015b601083901c1561143e57601092831c92015b600883901c1561145057600892831c92015b600483901c1561146257600492831c92015b600283901c1561147457600292831c92015b600183901c156103e35760010192915050565b600081831061149657816105bb565b5090919050565b60006114ac6002848418611dac565b6105bb90848416611d1d565b6000808260018111156114cd576114cd611b51565b14806103e3575060018260018111156114e8576114e8611b51565b1492915050565b6000806114fa610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190611d66565b106115e657600061159d610535565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda9060240161123a565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116569190611d66565b60008581526001808501602052604090912001546116749190611c89565b90506000611683600183611c89565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fc9190611d66565b6117069190611d7f565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117839190611d66565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f29190611c9c565b65ffffffffffff1681116118785773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186d9190611c9c565b65ffffffffffff1690505b826118838383611d1d565b61188d9190611d1d565b9695505050505050565b6000806118a2610535565b905060646118b08585611933565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156118fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191f9190611d66565b6119299190611d7f565b61127b9190611dac565b60006105bb838360ff16600181111561194e5761194e611b51565b600080611959610535565b9050600081601801600085600181111561197557611975611b51565b600181111561198657611986611b51565b81526020810191909152604001600090812054915060188301818660018111156119b2576119b2611b51565b60018111156119c3576119c3611b51565b815260208101919091526040016000206119de600184611c89565b815481106119ee576119ee611e40565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611a34576001600160d01b031694506103e39350505050565b611a85611a4089610799565b8660180160008a6001811115611a5857611a58611b51565b6001811115611a6957611a69611b51565b81526020019081526020016000206105c290919063ffffffff16565b6001600160d01b031698975050505050505050565b80356001600160a01b0381168114611ab157600080fd5b919050565b60008060408385031215611ac957600080fd5b82359150611ad960208401611a9a565b90509250929050565b600060208284031215611af457600080fd5b813560ff811681146105bb57600080fd5b60008060408385031215611b1857600080fd5b611b2183611a9a565b946020939093013593505050565b60008060408385031215611b4257600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156103e3576103e3611b67565b600181815b80851115611bd1578160001904821115611bb757611bb7611b67565b80851615611bc457918102915b93841c9390800290611b9b565b509250929050565b600082611be8575060016103e3565b81611bf5575060006103e3565b8160018114611c0b5760028114611c1557611c31565b60019150506103e3565b60ff841115611c2657611c26611b67565b50506001821b6103e3565b5060208310610133831016604e8410600b8410161715611c54575081810a6103e3565b611c5e8383611b96565b8060001904821115611c7257611c72611b67565b029392505050565b60006105bb60ff841683611bd9565b818103818111156103e3576103e3611b67565b600060208284031215611cae57600080fd5b815165ffffffffffff811681146105bb57600080fd5b600060208284031215611cd657600080fd5b815180151581146105bb57600080fd5b6020808252601d908201527f42335452476f7665726e6f723a207472616e73666572206661696c6564000000604082015260600190565b808201808211156103e3576103e3611b67565b83815260608101600a8410611d5557634e487b7160e01b600052602160045260246000fd5b602082019390935260400152919050565b600060208284031215611d7857600080fd5b5051919050565b80820281158282048414176103e3576103e3611b67565b634e487b7160e01b600052601260045260246000fd5b600082611dc957634e487b7160e01b600052601260045260246000fd5b500490565b6001600160d01b03818116838216019080821115611dee57611dee611b67565b5092915050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b634e487b7160e01b600052603260045260246000fdfea264697066735822122085ba1380d199b075eb171ef8f7d0547fcea0a8e5195b03296a1b7596c5b0488964736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x6B6A0704 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0xE2BBB158 EQ PUSH2 0xB4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0x75 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AB6 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8F PUSH2 0x8A CALLDATASIZE PUSH1 0x4 PUSH2 0x1AE2 JUMP JUMPDEST PUSH2 0x3C4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8F PUSH2 0xAF CALLDATASIZE PUSH1 0x4 PUSH2 0x1B05 JUMP JUMPDEST PUSH2 0x3E9 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0xCF CALLDATASIZE PUSH1 0x4 PUSH2 0x1B2F JUMP JUMPDEST PUSH2 0x433 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH2 0x13D SWAP1 DUP6 SWAP1 PUSH2 0x115 SWAP1 PUSH2 0x559 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x122 PUSH1 0x9 DUP3 PUSH2 0x1B7D JUMP JUMPDEST PUSH2 0x12D SWAP1 PUSH1 0x2 PUSH2 0x1C7A JUMP JUMPDEST PUSH2 0x137 SWAP2 SWAP1 PUSH2 0x1C89 JUMP JUMPDEST XOR PUSH2 0x57C JUMP JUMPDEST POP DUP1 PUSH1 0x0 SUB PUSH2 0x176 JUMPI PUSH1 0x40 MLOAD PUSH4 0x15FB458D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xD DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP4 SWAP1 SSTORE DUP1 MLOAD PUSH4 0x24776B7D PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD PUSH2 0x22F SWAP3 PUSH20 0x0 SWAP3 PUSH4 0x91DDADF4 SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24E PUSH2 0x249 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP6 AND PUSH2 0x1C89 JUMP JUMPDEST PUSH2 0x678 JUMP JUMPDEST SWAP1 POP PUSH2 0x2E1 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C0 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP8 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP PUSH1 0xC DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP7 SWAP1 MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x338 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35C SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST PUSH2 0x378 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1CE6 JUMP JUMPDEST DUP6 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xFBE8F0867E2424D124A83F2A1D534D784A8BB780B73B22F3F1032DAFFB603FA1 DUP6 PUSH1 0x40 MLOAD PUSH2 0x3B4 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E3 DUP3 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3DE JUMPI PUSH2 0x3DE PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x6CB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F4 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x422 PUSH2 0x402 DUP5 PUSH2 0x799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x43D PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x0 SUB PUSH2 0x460 JUMPI PUSH1 0x40 MLOAD PUSH4 0xC22B340F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SLOAD SWAP1 SWAP2 SUB PUSH2 0x498 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ DUP1 ISZERO PUSH2 0x4D5 JUMPI POP PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x4D3 JUMPI PUSH2 0x4D3 PUSH2 0x1B51 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x4F6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3C23A8D7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST PUSH2 0x509 DUP4 PUSH2 0x504 PUSH1 0x0 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x57C JUMP JUMPDEST POP DUP4 DUP2 PUSH1 0x3 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x51E SWAP2 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x52F SWAP1 POP DUP5 CALLER DUP6 PUSH2 0x7CC JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x56D JUMPI PUSH2 0x56D PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x588 DUP5 PUSH2 0xA28 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x596 DUP4 PUSH2 0x559 JUMP JUMPDEST AND SUB PUSH2 0x5BB JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D30 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x621 JUMPI PUSH1 0x0 PUSH2 0x5DD DUP5 PUSH2 0xDCF JUMP JUMPDEST PUSH2 0x5E7 SWAP1 DUP6 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x611 JUMPI DUP1 SWAP2 POP PUSH2 0x61F JUMP JUMPDEST PUSH2 0x61C DUP2 PUSH1 0x1 PUSH2 0x1D1D JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x62F DUP8 DUP8 DUP6 DUP6 PUSH2 0xEB7 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x66A JUMPI PUSH2 0x654 DUP8 PUSH2 0x646 PUSH1 0x1 DUP5 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x66D JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x16D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6BE DUP6 DUP6 DUP6 PUSH2 0xF11 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6D6 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 DUP3 PUSH1 0xB ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x731 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x755 SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x75E DUP7 PUSH2 0x108B JUMP JUMPDEST PUSH2 0x768 SWAP2 SWAP1 PUSH2 0x1D7F JUMP JUMPDEST PUSH2 0x772 SWAP2 SWAP1 PUSH2 0x1DAC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x77F DUP6 PUSH2 0x10FD JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x791 JUMPI SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x16D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7D6 PUSH2 0x535 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP9 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x833 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST PUSH2 0x873 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1CE6 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0x8A7 SWAP1 DUP5 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x940 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8FC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x920 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x5C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x94D DUP7 PUSH2 0x678 JUMP JUMPDEST PUSH2 0x957 SWAP1 DUP4 PUSH2 0x1DCE JUMP JUMPDEST SWAP1 POP PUSH2 0x9EA PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9A5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9C9 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x65C1DF56BBA34C409163F3295407AB399DF5A4D9BF3DD0288416D6041CDC272C DUP9 PUSH1 0x40 MLOAD PUSH2 0x3B4 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA33 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xA88 JUMPI PUSH2 0xA88 PUSH2 0x1B51 JUMP JUMPDEST SUB PUSH2 0xA9A JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xAAE JUMPI PUSH2 0xAAE PUSH2 0x1B51 JUMP JUMPDEST SUB PUSH2 0xAC0 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0xAD3 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0xAE6 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0xB0E JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x16D JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB68 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB8C SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST LT ISZERO PUSH2 0xB9F JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xBEA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC0E SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0xC23 DUP10 PUSH2 0x1147 JUMP JUMPDEST SWAP1 POP PUSH2 0xC2E DUP10 PUSH2 0x130F JUMP JUMPDEST PUSH2 0xC41 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0xC57 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC60 DUP10 PUSH2 0x133B JUMP JUMPDEST ISZERO DUP1 PUSH2 0xC72 JUMPI POP PUSH2 0xC70 DUP10 PUSH2 0x1399 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xC86 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC8F DUP10 PUSH2 0x13C1 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0xCA5 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD02 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD26 SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST ISZERO PUSH2 0xD3B JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD86 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDAA SWAP2 SWAP1 PUSH2 0x1CC4 JUMP JUMPDEST ISZERO PUSH2 0xDBF JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDE1 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDEE DUP5 PUSH2 0x13F3 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE07 JUMPI PUSH2 0xE07 PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE1F JUMPI PUSH2 0xE1F PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE37 JUMPI PUSH2 0xE37 PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE4F JUMPI PUSH2 0xE4F PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE67 JUMPI PUSH2 0xE67 PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE7F JUMPI PUSH2 0xE7F PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE97 JUMPI PUSH2 0xE97 PUSH2 0x1D96 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x5BB DUP2 DUP3 DUP6 DUP2 PUSH2 0xEB1 JUMPI PUSH2 0xEB1 PUSH2 0x1D96 JUMP JUMPDEST DIV PUSH2 0x1487 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x791 JUMPI PUSH1 0x0 PUSH2 0xECE DUP5 DUP5 PUSH2 0x149D JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xEFD JUMPI DUP1 SWAP3 POP PUSH2 0xF0B JUMP JUMPDEST PUSH2 0xF08 DUP2 PUSH1 0x1 PUSH2 0x1D1D JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xEBA JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1030 JUMPI PUSH1 0x0 PUSH2 0xF2F DUP8 PUSH2 0x646 PUSH1 0x1 DUP6 PUSH2 0x1C89 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xF83 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xFCF JUMPI DUP5 PUSH2 0xFA6 DUP9 PUSH2 0x646 PUSH1 0x1 DUP7 PUSH2 0x1C89 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x6C3 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x6C3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1096 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x10A1 DUP4 PUSH2 0x14B8 JUMP JUMPDEST PUSH2 0x10BD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1DF5 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10D5 JUMPI PUSH2 0x10D5 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10E6 JUMPI PUSH2 0x10E6 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1108 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH2 0x1113 DUP4 PUSH2 0x14B8 JUMP JUMPDEST PUSH2 0x112F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16D SWAP1 PUSH2 0x1DF5 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x10D5 JUMPI PUSH2 0x10D5 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1152 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11C2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11E6 SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST LT PUSH2 0x1283 JUMPI PUSH1 0x0 PUSH2 0x11F5 PUSH2 0x535 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1257 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x127B SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12FC SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x1305 DUP5 PUSH2 0x14EF JUMP JUMPDEST PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x131A PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1346 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x138F PUSH2 0x1378 DUP7 PUSH2 0x14EF JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x138A JUMPI PUSH2 0x138A PUSH2 0x1B51 JUMP JUMPDEST PUSH2 0x1897 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13A4 PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x13CC PUSH2 0x535 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1408 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x141A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x142C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x143E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1450 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1462 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1474 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1496 JUMPI DUP2 PUSH2 0x5BB JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14AC PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1DAC JUMP JUMPDEST PUSH2 0x5BB SWAP1 DUP5 DUP5 AND PUSH2 0x1D1D JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14CD JUMPI PUSH2 0x14CD PUSH2 0x1B51 JUMP JUMPDEST EQ DUP1 PUSH2 0x3E3 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x14E8 JUMPI PUSH2 0x14E8 PUSH2 0x1B51 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x14FA PUSH2 0x535 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x156A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x158E SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST LT PUSH2 0x15E6 JUMPI PUSH1 0x0 PUSH2 0x159D PUSH2 0x535 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x123A JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1632 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1656 SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x1674 SWAP2 SWAP1 PUSH2 0x1C89 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1683 PUSH1 0x1 DUP4 PUSH2 0x1C89 JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16FC SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x1706 SWAP2 SWAP1 PUSH2 0x1D7F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x175F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1783 SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17F2 SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x1878 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1849 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x186D SWAP2 SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1883 DUP4 DUP4 PUSH2 0x1D1D JUMP JUMPDEST PUSH2 0x188D SWAP2 SWAP1 PUSH2 0x1D1D JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x18A2 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x18B0 DUP6 DUP6 PUSH2 0x1933 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x191F SWAP2 SWAP1 PUSH2 0x1D66 JUMP JUMPDEST PUSH2 0x1929 SWAP2 SWAP1 PUSH2 0x1D7F JUMP JUMPDEST PUSH2 0x127B SWAP2 SWAP1 PUSH2 0x1DAC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BB DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x194E JUMPI PUSH2 0x194E PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1959 PUSH2 0x535 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1975 JUMPI PUSH2 0x1975 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1986 JUMPI PUSH2 0x1986 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19B2 JUMPI PUSH2 0x19B2 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x19C3 JUMPI PUSH2 0x19C3 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x19DE PUSH1 0x1 DUP5 PUSH2 0x1C89 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x19EE JUMPI PUSH2 0x19EE PUSH2 0x1E40 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x1A34 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x3E3 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1A85 PUSH2 0x1A40 DUP10 PUSH2 0x799 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1A58 JUMPI PUSH2 0x1A58 PUSH2 0x1B51 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1A69 JUMPI PUSH2 0x1A69 PUSH2 0x1B51 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x5C2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1AB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1AC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1AD9 PUSH1 0x20 DUP5 ADD PUSH2 0x1A9A JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B21 DUP4 PUSH2 0x1A9A JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH2 0x1BD1 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x1BB7 JUMPI PUSH2 0x1BB7 PUSH2 0x1B67 JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH2 0x1BC4 JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH2 0x1B9B JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1BE8 JUMPI POP PUSH1 0x1 PUSH2 0x3E3 JUMP JUMPDEST DUP2 PUSH2 0x1BF5 JUMPI POP PUSH1 0x0 PUSH2 0x3E3 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1C0B JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x1C15 JUMPI PUSH2 0x1C31 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x1C26 JUMPI PUSH2 0x1C26 PUSH2 0x1B67 JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH2 0x3E3 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x1C54 JUMPI POP DUP2 DUP2 EXP PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x1C5E DUP4 DUP4 PUSH2 0x1B96 JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x1C72 JUMPI PUSH2 0x1C72 PUSH2 0x1B67 JUMP JUMPDEST MUL SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BB PUSH1 0xFF DUP5 AND DUP4 PUSH2 0x1BD9 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1D SWAP1 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A207472616E73666572206661696C6564000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x1D55 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x3E3 JUMPI PUSH2 0x3E3 PUSH2 0x1B67 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1DC9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1DEE JUMPI PUSH2 0x1DEE PUSH2 0x1B67 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP6 0xBA SGT DUP1 0xD1 SWAP10 0xB0 PUSH22 0xEB171EF8F7D0547FCEA0A8E5195B03296A1B7596C5B0 BASEFEE DUP10 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1950:8571:101:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4675:965;;;;;;;;;;-1:-1:-1;4675:965:101;;;;;:::i;:::-;;:::i;:::-;;9789:201;;;;;;:::i;:::-;;:::i;:::-;;;879:25:150;;;867:2;852:18;9789:201:101;;;;;;;10218:301;;;;;;:::i;:::-;;:::i;3332:827::-;;;;;;;;;;-1:-1:-1;3332:827:101;;;;;:::i;:::-;;:::i;4675:965::-;4747:46;4796:41;:39;:41::i;:::-;4843:14;4860:22;;;:10;;;:22;;;;;;;;-1:-1:-1;;;;;4860:33:101;;;;;;;;;;4747:90;;-1:-1:-1;4900:199:101;;4871:10;;5020:73;;:36;:73::i;:::-;2038:1:106;1985:48;1991:37;2038:1;1985:48;:::i;:::-;1979:55;;:1;:55;:::i;:::-;1978:61;;;;:::i;:::-;4964:129:101;4900:38;:199::i;:::-;;5110:6;5120:1;5110:11;5106:89;;5138:50;;-1:-1:-1;;;5138:50:101;;;;;3534:25:150;;;-1:-1:-1;;;;;3595:32:150;;3575:18;;;3568:60;3507:18;;5138:50:101;;;;;;;;5106:89;5237:1;5201:22;;;:10;;;:22;;;;;;;;-1:-1:-1;;;;;5201:33:101;;;;;;;;;:37;;;5319:26;;-1:-1:-1;;;5319:26:101;;;;5268:78;;5319:18;;:24;;:26;;;;;5201:22;5319:26;;;;;:18;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5268:32:101;;;;;;:21;;;:32;;;;;;:50;:78::i;:::-;5245:101;-1:-1:-1;5352:16:101;5371:41;5390:21;5405:6;-1:-1:-1;;;;;5390:21:101;;;:::i;:::-;5371:18;:41::i;:::-;5352:60;;5418:75;5456:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5418:32:101;;;;;;:21;;;:32;;;;;;5484:8;5418:37;:75::i;:::-;-1:-1:-1;;5508:6:101;;;;:34;;-1:-1:-1;;;5508:34:101;;-1:-1:-1;;;;;4120:32:150;;;5508:34:101;;;4102:51:150;4169:18;;;4162:34;;;5508:6:101;;;;:15;;4075:18:150;;5508:34:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5500:76;;;;-1:-1:-1;;;5500:76:101;;;;;;;:::i;:::-;5616:10;5605:9;-1:-1:-1;;;;;5588:47:101;;5628:6;5588:47;;;;879:25:150;;867:2;852:18;;725:185;5588:47:101;;;;;;;;4741:899;;;;4675:965;;:::o;9789:201::-;9885:7;9907:78;9966:17;9939:45;;;;;;;;;;:::i;:::-;9907:31;:78::i;:::-;9900:85;9789:201;-1:-1:-1;;9789:201:101:o;10218:301::-;10318:7;10333:46;10382:41;:39;:41::i;:::-;10333:90;;10436:78;10485:28;10503:9;10485:17;:28::i;:::-;-1:-1:-1;;;;;10436:30:101;;;;;;:21;;;:30;;;;;;:48;:78::i;:::-;-1:-1:-1;;;;;10429:85:101;;10218:301;-1:-1:-1;;;;10218:301:101:o;3332:827::-;3400:46;3449:41;:39;:41::i;:::-;3400:90;;3500:6;3510:1;3500:11;3496:69;;3528:30;;-1:-1:-1;;;3528:30:101;;;;;;;;;;;3496:69;3571:43;3617:23;;;:11;;;;:23;;;;;3651:25;;;;3617:23;;3651:30;3647:97;;3698:39;;-1:-1:-1;;;3698:39:101;;;;;879:25:150;;;852:18;;3698:39:101;725:185:150;3647:97:101;3754:17;;-1:-1:-1;;;;;3754:17:101;3775:10;3754:31;:97;;;;-1:-1:-1;3819:32:101;3789:26;;;;:14;;;:26;;;;;;;;;:62;;;;;;;:::i;:::-;;3754:97;3750:165;;;3868:40;;-1:-1:-1;;;3868:40:101;;;;;879:25:150;;;852:18;;3868:40:101;725:185:150;3750:165:101;3921:143;3967:10;3985:73;4022:35;3985:36;:73::i;:::-;3921:38;:143::i;:::-;;4097:6;4071:8;:22;;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;4110:44:101;;-1:-1:-1;4123:6:101;4131:10;4143;4110:12;:44::i;:::-;3394:765;;3332:827;;:::o;2697:146:107:-;2810:23;;2697:146::o;3966:154:106:-;4059:7;4100:13;4094:20;;;;;;;;:::i;:::-;4089:1;:25;;;;;;;3966:154;-1:-1:-1;;3966:154:106:o;3306:399::-;3413:27;3448:40;3491:18;3498:10;3491:6;:18::i;:::-;3448:61;-1:-1:-1;3578:1:106;3553:13;3519:31;3448:61;3519:17;:31::i;:::-;:47;:61;3515:161;;3629:10;3641:12;3655:13;3597:72;;-1:-1:-1;;;3597:72:106;;;;;;;;;;:::i;3515:161::-;3688:12;3306:399;-1:-1:-1;;;3306:399:106:o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;5836:36:150;5888:18;;;5881:34;;;5809:18;;4297:42:37;5654:267:150;4245:105:37;-1:-1:-1;4374:5:37;4169:218::o;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;8997:574:101:-;9110:7;9125:46;9174:41;:39;:41::i;:::-;9125:90;;9221:32;9354:3;9330:1;:6;;;;;;;;;;-1:-1:-1;;;;;9330:6:101;-1:-1:-1;;;;;9330:18:101;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9257:64;9308:12;9257:50;:64::i;:::-;:93;;;;:::i;:::-;9256:101;;;;:::i;:::-;9221:136;;9363:20;9386:57;9430:12;9386:43;:57::i;:::-;9363:80;;9481:12;9454:24;:39;9450:79;;;9510:12;8997:574;-1:-1:-1;;;;8997:574:101:o;9450:79::-;-1:-1:-1;9542:24:101;8997:574;-1:-1:-1;;;8997:574:101:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;5836:36:150;5888:18;;;5881:34;;;5809:18;;14416:41:37;5654:267:150;5963:667:101;6071:46;6120:41;:39;:41::i;:::-;6175:6;;;;:53;;-1:-1:-1;;;6175:53:101;;-1:-1:-1;;;;;7171:15:150;;;6175:53:101;;;7153:34:150;6214:4:101;7203:18:150;;;7196:43;7255:18;;;7248:34;;;6175:6:101;;-1:-1:-1;6175:6:101;;;:19;;7088:18:150;;6175:53:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6167:95;;;;-1:-1:-1;;;6167:95:101;;;;;;;:::i;:::-;6269:22;;;;:10;;;:22;;;;;;;;-1:-1:-1;;;;;6269:33:101;;;;;;;;;:43;;6306:6;;6269:22;:43;;6306:6;;6269:43;:::i;:::-;;;;;;;;6319:20;6342:78;6393:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6342:32:101;;;;;;:21;;;:32;;;;;;:50;:78::i;:::-;6319:101;;6426:16;6460:26;6479:6;6460:18;:26::i;:::-;6445:41;;:12;:41;:::i;:::-;6426:60;;6492:75;6530:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6492:32:101;;;;;;:21;;;:32;;;;;;6558:8;6492:37;:75::i;:::-;;;6606:10;6595:9;-1:-1:-1;;;;;6579:46:101;;6618:6;6579:46;;;;879:25:150;;867:2;852:18;;725:185;4324:2276:106;4391:27;4426:46;4475:41;:39;:41::i;:::-;4559:43;4605:23;;;:11;;;;:23;;;;;;;;4700:26;;;:38;;;;;;;4768:17;;;;4426:90;;-1:-1:-1;4605:23:106;;4700:38;;;;;-1:-1:-1;;;4768:17:106;;;;;-1:-1:-1;;;4815:17:106;;;;;4843:24;:80;;;;;;;;:::i;:::-;;4839:149;;-1:-1:-1;4940:41:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4839:149::-;5026:48;4998:24;:76;;;;;;;;:::i;:::-;;4994:141;;-1:-1:-1;5091:37:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4994:141::-;5145:16;5141:80;;;-1:-1:-1;5178:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5141:80::-;5231:16;5227:80;;;-1:-1:-1;5264:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5227:80::-;5317:8;:25;;;5346:1;5317:30;5313:97;;5364:39;;-1:-1:-1;;;5364:39:106;;;;;879:25:150;;;852:18;;5364:39:106;725:185:150;5313:97:106;5499:8;:25;;;5460:1;:19;;;;;;;;;;-1:-1:-1;;;;;5460:19:106;-1:-1:-1;;;;;5460:34:106;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;5456:127;;;-1:-1:-1;5541:35:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5456:127::-;5589:24;5616:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5589:53;;;;5648:16;5667:51;5707:10;5667:39;:51::i;:::-;5648:70;;5730:55;5774:10;5730:43;:55::i;:::-;5725:125;;-1:-1:-1;5802:41:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5725:125::-;5872:16;5860:8;:28;5856:740;;-1:-1:-1;5905:34:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5856:740::-;5964:45;5998:10;5964:33;:45::i;:::-;5963:46;:95;;;;6014:44;6047:10;6014:32;:44::i;:::-;6013:45;5963:95;5952:644;;;-1:-1:-1;6080:36:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5952:644::-;6133:45;6167:10;6133:33;:45::i;:::-;6182:1;6133:50;6129:467;;-1:-1:-1;6200:37:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;6129:467::-;6258:15;6276:25;;;:13;;;:25;;;;;;;;6313:10;;;;:38;;-1:-1:-1;;;6313:38:106;;;;;879:25:150;;;6276::106;;-1:-1:-1;;;;;6313:10:106;;:29;;852:18:150;;6313:38:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6309:281;;;-1:-1:-1;6370:34:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6309:281::-;6423:10;;;;:35;;-1:-1:-1;;;6423:35:106;;;;;879:25:150;;;-1:-1:-1;;;;;6423:10:106;;;;:26;;852:18:150;;6423:35:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6419:171;;;-1:-1:-1;6477:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6419:171::-;-1:-1:-1;6545:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;11513:870;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;16150:397:100;16253:7;16268:46;16317:41;:39;:41::i;:::-;16268:90;;16372:55;16414:12;16372:41;:55::i;:::-;16364:111;;;;-1:-1:-1;;;16364:111:100;;;;;;;:::i;:::-;16488:1;:40;;:54;16529:12;16488:54;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16481:61;;;16150:397;;;:::o;17045:383::-;17141:7;17156:46;17205:41;:39;:41::i;:::-;17156:90;;17260:55;17302:12;17260:41;:55::i;:::-;17252:111;;;;-1:-1:-1;;;17252:111:100;;;;;;;:::i;:::-;17376:1;:33;;:47;17410:12;17376:47;;;;;;;;:::i;36683:757:104:-;36761:7;36776:46;36825:41;:39;:41::i;:::-;36776:90;;37009:1;:11;;:23;37021:10;37009:23;;;;;;;;;;;:40;;;36969:1;:19;;;;;;;;;;-1:-1:-1;;;;;36969:19:104;-1:-1:-1;;;;;36969:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36965:279;;37057:46;37106:41;:39;:41::i;:::-;37162:19;;;;;37196:23;;;37162:19;37196:11;;;:23;;;;;;;:40;;37162:75;;-1:-1:-1;;;37162:75:104;;;;;879:25:150;;;;37162:19:104;;-1:-1:-1;;;;;;37162:19:104;;:33;;852:18:150;;37162:75:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37155:82;36683:757;-1:-1:-1;;;;36683:757:104:o;36965:279::-;37401:1;:19;;;;;;;;;;-1:-1:-1;;;;;37401:19:104;-1:-1:-1;;;;;37401:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37369:29;37387:10;37369:17;:29::i;:::-;:66;;;;:::i;8286:329:101:-;8369:4;8381:46;8430:41;:39;:41::i;:::-;8477:43;8523:23;;;:11;;:23;;-1:-1:-1;;8523:23:101;;;8585:25;;;;8559:22;;;;;:51;;;8286:329::o;8505:411:105:-;8579:4;8591:46;8640:41;:39;:41::i;:::-;8687:39;8729:26;;;:14;;;:26;;;;;;;;;8879:20;;;:32;;;;;;;8591:90;;-1:-1:-1;8729:26:105;;;8775:94;8796:51;8744:10;8796:39;:51::i;:::-;8855:12;8849:19;;;;;;;;:::i;:::-;8775:20;:94::i;:::-;:136;;;8505:411;-1:-1:-1;;;;8505:411:105:o;6487:318:109:-;6553:4;6565:46;6614:41;:39;:41::i;:::-;6661:47;6711:27;;;:15;;:27;;-1:-1:-1;;6711:27:109;;;6775:25;;6751:21;;;;;:49;;6487:318::o;7121:229:104:-;7193:7;7208:46;7257:41;:39;:41::i;:::-;7311:23;;;;:11;;:23;;-1:-1:-1;;7311:23:104;;;:34;;;-1:-1:-1;;;7311:34:104;;;;;7121:229::o;10699:983:36:-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;39283:241:104:-;39381:4;;39406:17;:56;;;;;;;;:::i;:::-;;:113;;;-1:-1:-1;39487:32:104;39466:17;:53;;;;;;;;:::i;:::-;;39393:126;39283:241;-1:-1:-1;;39283:241:104:o;35366:1145::-;35444:7;35459:46;35508:41;:39;:41::i;:::-;35459:90;;35662:1;:11;;:23;35674:10;35662:23;;;;;;;;;;;:40;;;35622:1;:19;;;;;;;;;;-1:-1:-1;;;;;35622:19:104;-1:-1:-1;;;;;35622:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;35618:279;;35710:46;35759:41;:39;:41::i;:::-;35815:19;;;;;35849:23;;;35815:19;35849:11;;;:23;;;;;;;:40;;35815:75;;-1:-1:-1;;;35815:75:104;;;;;879:25:150;;;;35815:19:104;;-1:-1:-1;;;;;;35815:19:104;;:33;;852:18:150;;35815:75:104;725:185:150;35618:279:104;35975:19;;;;:36;;;-1:-1:-1;;;35975:36:104;;;;35903:26;;-1:-1:-1;;;;;35975:19:104;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35932:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;35903:108;-1:-1:-1;36017:26:104;36084:22;36105:1;35903:108;36084:22;:::i;:::-;36046:1;:19;;;;;;;;;;-1:-1:-1;;;;;36046:19:104;-1:-1:-1;;;;;36046:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36017:90;;36169:28;36200:1;:19;;;;;;;;;;-1:-1:-1;;;;;36200:19:104;-1:-1:-1;;;;;36200:40:104;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36169:73;;36339:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36315:50;;:20;:50;36311:120;;36398:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36375:49;;;;36311:120;36488:18;36444:41;36467:18;36444:20;:41;:::i;:::-;:62;;;;:::i;:::-;36437:69;35366:1145;-1:-1:-1;;;;;;35366:1145:104:o;6604:364:105:-;6711:7;6726:46;6775:41;:39;:41::i;:::-;6726:90;-1:-1:-1;3160:3:105;6875:59;6905:9;6916:17;6875:29;:59::i;:::-;6836:6;;;;:36;;-1:-1:-1;;;6836:36:105;;;;;879:25:150;;;-1:-1:-1;;;;;6836:6:105;;;;:25;;852:18:150;;6836:36:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6835:128;;;;:::i;4421:231::-;4537:7;4559:88;4590:9;4628:17;4601:45;;;;;;;;;;:::i;:::-;9407:7;9422:46;9471:41;:39;:41::i;:::-;9422:90;;9518:14;9535:1;:20;;:39;9556:17;9535:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9535:39:105;;;:59;;-1:-1:-1;9698:20:105;;;-1:-1:-1;9719:17:105;9698:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9698:39:105;9751:10;9760:1;9751:6;:10;:::i;:::-;9698:64;;;;;;;;:::i;:::-;;;;;;;;;;9787:11;;9698:64;;-1:-1:-1;9787:11:105;;;;-1:-1:-1;;;9826:13:105;;-1:-1:-1;;;;;9826:13:105;9849:22;;;9845:61;;-1:-1:-1;;;;;9881:18:105;;-1:-1:-1;9881:18:105;;-1:-1:-1;;;;9881:18:105;9845:61;9958:87;10016:28;10034:9;10016:17;:28::i;:::-;9958:1;:20;;:39;9979:17;9958:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:57;;:87;;;;:::i;:::-;-1:-1:-1;;;;;9951:94:105;;9267:783;-1:-1:-1;;;;;;;;9267:783:105:o;14:173:150:-;82:20;;-1:-1:-1;;;;;131:31:150;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;373:9;360:23;350:33;;402:38;436:2;425:9;421:18;402:38;:::i;:::-;392:48;;192:254;;;;;:::o;451:269::-;508:6;561:2;549:9;540:7;536:23;532:32;529:52;;;577:1;574;567:12;529:52;616:9;603:23;666:4;659:5;655:16;648:5;645:27;635:55;;686:1;683;676:12;915:254;983:6;991;1044:2;1032:9;1023:7;1019:23;1015:32;1012:52;;;1060:1;1057;1050:12;1012:52;1083:29;1102:9;1083:29;:::i;:::-;1073:39;1159:2;1144:18;;;;1131:32;;-1:-1:-1;;;915:254:150:o;1174:248::-;1242:6;1250;1303:2;1291:9;1282:7;1278:23;1274:32;1271:52;;;1319:1;1316;1309:12;1271:52;-1:-1:-1;;1342:23:150;;;1412:2;1397:18;;;1384:32;;-1:-1:-1;1174:248:150:o;1427:127::-;1488:10;1483:3;1479:20;1476:1;1469:31;1519:4;1516:1;1509:15;1543:4;1540:1;1533:15;1559:127;1620:10;1615:3;1611:20;1608:1;1601:31;1651:4;1648:1;1641:15;1675:4;1672:1;1665:15;1691:148;1779:4;1758:12;;;1772;;;1754:31;;1797:13;;1794:39;;;1813:18;;:::i;1844:422::-;1933:1;1976:5;1933:1;1990:270;2011:7;2001:8;1998:21;1990:270;;;2070:4;2066:1;2062:6;2058:17;2052:4;2049:27;2046:53;;;2079:18;;:::i;:::-;2129:7;2119:8;2115:22;2112:55;;;2149:16;;;;2112:55;2228:22;;;;2188:15;;;;1990:270;;;1994:3;1844:422;;;;;:::o;2271:806::-;2320:5;2350:8;2340:80;;-1:-1:-1;2391:1:150;2405:5;;2340:80;2439:4;2429:76;;-1:-1:-1;2476:1:150;2490:5;;2429:76;2521:4;2539:1;2534:59;;;;2607:1;2602:130;;;;2514:218;;2534:59;2564:1;2555:10;;2578:5;;;2602:130;2639:3;2629:8;2626:17;2623:43;;;2646:18;;:::i;:::-;-1:-1:-1;;2702:1:150;2688:16;;2717:5;;2514:218;;2816:2;2806:8;2803:16;2797:3;2791:4;2788:13;2784:36;2778:2;2768:8;2765:16;2760:2;2754:4;2751:12;2747:35;2744:77;2741:159;;;-1:-1:-1;2853:19:150;;;2885:5;;2741:159;2932:34;2957:8;2951:4;2932:34;:::i;:::-;3002:6;2998:1;2994:6;2990:19;2981:7;2978:32;2975:58;;;3013:18;;:::i;:::-;3051:20;;2271:806;-1:-1:-1;;;2271:806:150:o;3082:140::-;3140:5;3169:47;3210:4;3200:8;3196:19;3190:4;3169:47;:::i;3227:128::-;3294:9;;;3315:11;;;3312:37;;;3329:18;;:::i;3639:284::-;3708:6;3761:2;3749:9;3740:7;3736:23;3732:32;3729:52;;;3777:1;3774;3767:12;3729:52;3809:9;3803:16;3859:14;3852:5;3848:26;3841:5;3838:37;3828:65;;3889:1;3886;3879:12;4207:277;4274:6;4327:2;4315:9;4306:7;4302:23;4298:32;4295:52;;;4343:1;4340;4333:12;4295:52;4375:9;4369:16;4428:5;4421:13;4414:21;4407:5;4404:32;4394:60;;4450:1;4447;4440:12;4489:353;4691:2;4673:21;;;4730:2;4710:18;;;4703:30;4769:31;4764:2;4749:18;;4742:59;4833:2;4818:18;;4489:353::o;5029:125::-;5094:9;;;5115:10;;;5112:36;;;5128:18;;:::i;5159:490::-;5378:25;;;5366:2;5351:18;;5433:2;5422:14;;5412:145;;5479:10;5474:3;5470:20;5467:1;5460:31;5514:4;5511:1;5504:15;5542:4;5539:1;5532:15;5412:145;5588:2;5573:18;;5566:34;;;;5631:2;5616:18;5609:34;5159:490;;-1:-1:-1;5159:490:150:o;5926:184::-;5996:6;6049:2;6037:9;6028:7;6024:23;6020:32;6017:52;;;6065:1;6062;6055:12;6017:52;-1:-1:-1;6088:16:150;;5926:184;-1:-1:-1;5926:184:150:o;6115:168::-;6188:9;;;6219;;6236:15;;;6230:22;;6216:37;6206:71;;6257:18;;:::i;6288:127::-;6349:10;6344:3;6340:20;6337:1;6330:31;6380:4;6377:1;6370:15;6404:4;6401:1;6394:15;6420:217;6460:1;6486;6476:132;;6530:10;6525:3;6521:20;6518:1;6511:31;6565:4;6562:1;6555:15;6593:4;6590:1;6583:15;6476:132;-1:-1:-1;6622:9:150;;6420:217::o;7293:182::-;-1:-1:-1;;;;;7400:10:150;;;7412;;;7396:27;;7435:11;;;7432:37;;;7449:18;;:::i;:::-;7432:37;7293:182;;;;:::o;7662:407::-;7864:2;7846:21;;;7903:2;7883:18;;;7876:30;7942:34;7937:2;7922:18;;7915:62;-1:-1:-1;;;8008:2:150;7993:18;;7986:41;8059:3;8044:19;;7662:407::o;8074:127::-;8135:10;8130:3;8126:20;8123:1;8116:31;8166:4;8163:1;8156:15;8190:4;8187:1;8180:15"},"methodIdentifiers":{"deposit(uint256,uint256)":"e2bbb158","depositThresholdByProposalType(uint8)":"6b6a0704","getDepositVotingPower(address,uint256)":"a56b5765","withdraw(uint256,address)":"00f714ce"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidDepositAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"}],\"name\":\"GovernorNoDepositToWithdraw\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GranteeCannotDepositOwnGrant\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalWithdraw\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This library provides functions to deposit and withdraw tokens for proposals, and to get deposit-related information.\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"GovernorInvalidDepositAmount()\":[{\"details\":\"Thrown when the deposit amount is invalid (must be greater than 0).\"}],\"GovernorNoDepositToWithdraw(uint256,address)\":[{\"details\":\"Thrown when there is no deposit to withdraw.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"Thrown when the proposal ID does not exist.\"},{\"details\":\"Thrown when the `proposalId` does not exist.\",\"params\":{\"proposalId\":\"The ID of the proposal that does not exist.\"}}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"Thrown when the current state of a proposal does not match the expected states.\",\"params\":{\"current\":\"The current state of the proposal.\",\"expectedStates\":\"The expected states of the proposal as a bitmap.\",\"proposalId\":\"The ID of the proposal.\"}}],\"GranteeCannotDepositOwnGrant(uint256)\":[{\"details\":\"Thrown when the grantee tries to deposit for their own grant.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"ProposalDeposit(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is made to a proposal.\"},\"ProposalWithdraw(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is withdrawn from a proposal.\"}},\"kind\":\"dev\",\"methods\":{\"deposit(uint256,uint256)\":{\"details\":\"Proposer and proposal sponsors can contribute towards a proposal's deposit using this function. The proposal must be in the Pending state to make a deposit. The amount deposited from an address is tracked and can be withdrawn by the same address when the voting round is over.\",\"params\":{\"amount\":\"The amount of tokens to deposit.\",\"proposalId\":\"The ID of the proposal.\"}},\"depositThresholdByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal (uint8-encoded enum).\"},\"returns\":{\"_0\":\"uint256 The deposit threshold for the proposal type.\"}},\"getDepositVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account.\",\"timepoint\":\"The timepoint.\"},\"returns\":{\"_0\":\"The deposit voting power.\"}},\"withdraw(uint256,address)\":{\"details\":\"A depositor can only withdraw their tokens once the proposal is no longer Pending or Active. Each address can only withdraw once per proposal. Reverts if no deposits are available to withdraw or if the deposits have already been withdrawn by the message sender. Reverts if the token transfer fails.\",\"params\":{\"depositer\":\"The address of the depositor.\",\"proposalId\":\"The ID of the proposal to withdraw deposits from.\"}}},\"title\":\"GovernorDepositLogic Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deposit(uint256,uint256)\":{\"notice\":\"Deposits tokens for a proposal.\"},\"depositThresholdByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold for a proposal type.\"},\"getDepositVotingPower(address,uint256)\":{\"notice\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"withdraw(uint256,address)\":{\"notice\":\"Withdraws tokens previously deposited to a proposal.\"}},\"notice\":\"Library for managing deposits related to proposals in the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorDepositLogic.sol\":\"GovernorDepositLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol":{"GovernorFunctionRestrictionsLogic":{"abi":[{"inputs":[{"internalType":"bytes","name":"selector","type":"bytes"}],"name":"GovernorFunctionInvalidSelector","type":"error"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"name":"GovernorRestrictedFunction","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"bytes4","name":"functionSelector","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"FunctionWhitelisted","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"61045461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80634c5ead08146100505780638e828cb414610072578063be9bd92b14610092575b600080fd5b81801561005c57600080fd5b5061007061006b366004610259565b6100b2565b005b81801561007e57600080fd5b5061007061008d3660046102c0565b6100d2565b81801561009e57600080fd5b506100706100ad3660046103a7565b61011a565b60006100bc610220565b600901805460ff19169215159290921790915550565b60005b825181101561011457610102848483815181106100f4576100f46103e1565b60200260200101518461011a565b8061010c816103f7565b9150506100d5565b50505050565b6000610124610220565b90506001600160a01b0384166101a65760405162461bcd60e51b815260206004820152603d60248201527f476f7665726e6f7246756e6374696f6e5265737472696374696f6e734c6f676960448201527f633a2074617267657420697320746865207a65726f2061646472657373000000606482015260840160405180910390fd5b6001600160a01b038416600081815260088301602090815260408083206001600160e01b0319881680855290835292819020805460ff191687151590811790915590519081529192917f5da7b78f7dccc6b378e3f55a7e57f9363d3c15686c0d82f85e45130393c9c970910160405180910390a350505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b8035801515811461025457600080fd5b919050565b60006020828403121561026b57600080fd5b61027482610244565b9392505050565b80356001600160a01b038116811461025457600080fd5b634e487b7160e01b600052604160045260246000fd5b80356001600160e01b03198116811461025457600080fd5b6000806000606084860312156102d557600080fd5b6102de8461027b565b92506020848101356001600160401b03808211156102fb57600080fd5b818701915087601f83011261030f57600080fd5b81358181111561032157610321610292565b8060051b604051601f19603f8301168101818110858211171561034657610346610292565b60405291825284820192508381018501918a83111561036457600080fd5b938501935b828510156103895761037a856102a8565b84529385019392850192610369565b80975050505050505061039e60408501610244565b90509250925092565b6000806000606084860312156103bc57600080fd5b6103c58461027b565b92506103d3602085016102a8565b915061039e60408501610244565b634e487b7160e01b600052603260045260246000fd5b60006001820161041757634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212209e5eff9f2821084d70a4df9f296c3559bec8ee4d9deee1d0f0e6be22fe70d86664736f6c63430008140033","opcodes":"PUSH2 0x454 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4C5EAD08 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E828CB4 EQ PUSH2 0x72 JUMPI DUP1 PUSH4 0xBE9BD92B EQ PUSH2 0x92 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x6B CALLDATASIZE PUSH1 0x4 PUSH2 0x259 JUMP JUMPDEST PUSH2 0xB2 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x8D CALLDATASIZE PUSH1 0x4 PUSH2 0x2C0 JUMP JUMPDEST PUSH2 0xD2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0xAD CALLDATASIZE PUSH1 0x4 PUSH2 0x3A7 JUMP JUMPDEST PUSH2 0x11A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC PUSH2 0x220 JUMP JUMPDEST PUSH1 0x9 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x114 JUMPI PUSH2 0x102 DUP5 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xF4 JUMPI PUSH2 0xF4 PUSH2 0x3E1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH2 0x10C DUP2 PUSH2 0x3F7 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xD5 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x124 PUSH2 0x220 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1A6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F7246756E6374696F6E5265737472696374696F6E734C6F6769 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x633A2074617267657420697320746865207A65726F2061646472657373000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x5DA7B78F7DCCC6B378E3F55A7E57F9363D3C15686C0D82F85E45130393C9C970 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x274 DUP3 PUSH2 0x244 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DE DUP5 PUSH2 0x27B JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x30F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x321 JUMPI PUSH2 0x321 PUSH2 0x292 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x346 JUMPI PUSH2 0x346 PUSH2 0x292 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP5 DUP3 ADD SWAP3 POP DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP11 DUP4 GT ISZERO PUSH2 0x364 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x389 JUMPI PUSH2 0x37A DUP6 PUSH2 0x2A8 JUMP JUMPDEST DUP5 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP3 DUP6 ADD SWAP3 PUSH2 0x369 JUMP JUMPDEST DUP1 SWAP8 POP POP POP POP POP POP POP PUSH2 0x39E PUSH1 0x40 DUP6 ADD PUSH2 0x244 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3C5 DUP5 PUSH2 0x27B JUMP JUMPDEST SWAP3 POP PUSH2 0x3D3 PUSH1 0x20 DUP6 ADD PUSH2 0x2A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x39E PUSH1 0x40 DUP6 ADD PUSH2 0x244 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x417 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 0x5E SELFDESTRUCT SWAP16 0x28 0x21 ADDMOD 0x4D PUSH17 0xA4DF9F296C3559BEC8EE4D9DEEE1D0F0E6 0xBE 0x22 INVALID PUSH17 0xD86664736F6C6343000814003300000000 ","sourceMap":"1527:3636:102:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1527:3636:102;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@getGovernorStorage_61139":{"entryPoint":544,"id":61139,"parameterSlots":0,"returnSlots":1},"@setIsFunctionRestrictionEnabled_57764":{"entryPoint":178,"id":57764,"parameterSlots":1,"returnSlots":0},"@setWhitelistFunction_57712":{"entryPoint":282,"id":57712,"parameterSlots":3,"returnSlots":0},"@setWhitelistFunctions_57743":{"entryPoint":210,"id":57743,"parameterSlots":3,"returnSlots":0},"abi_decode_address":{"entryPoint":635,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_bool":{"entryPoint":580,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_bytes4":{"entryPoint":680,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool":{"entryPoint":704,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes4t_bool":{"entryPoint":935,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_bool":{"entryPoint":601,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8d4ecba034ab217241c4d6a4abfc0b43e49d18148083ee0a6d0b65304188fb4c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":1015,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x32":{"entryPoint":993,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":658,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3437:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"60:114:150","statements":[{"nodeType":"YulAssignment","src":"70:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"92:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"79:12:150"},"nodeType":"YulFunctionCall","src":"79:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"70:5:150"}]},{"body":{"nodeType":"YulBlock","src":"152:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"161:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"164:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"154:6:150"},"nodeType":"YulFunctionCall","src":"154:12:150"},"nodeType":"YulExpressionStatement","src":"154:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"121:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"142:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"135:6:150"},"nodeType":"YulFunctionCall","src":"135:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"128:6:150"},"nodeType":"YulFunctionCall","src":"128:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"118:2:150"},"nodeType":"YulFunctionCall","src":"118:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"111:6:150"},"nodeType":"YulFunctionCall","src":"111:40:150"},"nodeType":"YulIf","src":"108:60:150"}]},"name":"abi_decode_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"39:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"50:5:150","type":""}],"src":"14:160:150"},{"body":{"nodeType":"YulBlock","src":"246:113:150","statements":[{"body":{"nodeType":"YulBlock","src":"292:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"301:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"304:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"294:6:150"},"nodeType":"YulFunctionCall","src":"294:12:150"},"nodeType":"YulExpressionStatement","src":"294:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"267:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"276:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"263:3:150"},"nodeType":"YulFunctionCall","src":"263:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"288:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"259:3:150"},"nodeType":"YulFunctionCall","src":"259:32:150"},"nodeType":"YulIf","src":"256:52:150"},{"nodeType":"YulAssignment","src":"317:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"343:9:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"327:15:150"},"nodeType":"YulFunctionCall","src":"327:26:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"317:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"212:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"223:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"235:6:150","type":""}],"src":"179:180:150"},{"body":{"nodeType":"YulBlock","src":"413:124:150","statements":[{"nodeType":"YulAssignment","src":"423:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"445:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"432:12:150"},"nodeType":"YulFunctionCall","src":"432:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"423:5:150"}]},{"body":{"nodeType":"YulBlock","src":"515:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"524:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"527:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"517:6:150"},"nodeType":"YulFunctionCall","src":"517:12:150"},"nodeType":"YulExpressionStatement","src":"517:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"474:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"485:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"500:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"505:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"496:3:150"},"nodeType":"YulFunctionCall","src":"496:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"509:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"492:3:150"},"nodeType":"YulFunctionCall","src":"492:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"481:3:150"},"nodeType":"YulFunctionCall","src":"481:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"471:2:150"},"nodeType":"YulFunctionCall","src":"471:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"464:6:150"},"nodeType":"YulFunctionCall","src":"464:50:150"},"nodeType":"YulIf","src":"461:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"392:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"403:5:150","type":""}],"src":"364:173:150"},{"body":{"nodeType":"YulBlock","src":"574:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"591:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"598:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"603:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"594:3:150"},"nodeType":"YulFunctionCall","src":"594:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"584:6:150"},"nodeType":"YulFunctionCall","src":"584:31:150"},"nodeType":"YulExpressionStatement","src":"584:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"631:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"634:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"624:6:150"},"nodeType":"YulFunctionCall","src":"624:15:150"},"nodeType":"YulExpressionStatement","src":"624:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"655:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"658:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"648:6:150"},"nodeType":"YulFunctionCall","src":"648:15:150"},"nodeType":"YulExpressionStatement","src":"648:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"542:127:150"},{"body":{"nodeType":"YulBlock","src":"722:125:150","statements":[{"nodeType":"YulAssignment","src":"732:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"754:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"741:12:150"},"nodeType":"YulFunctionCall","src":"741:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"732:5:150"}]},{"body":{"nodeType":"YulBlock","src":"825:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"834:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"837:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"827:6:150"},"nodeType":"YulFunctionCall","src":"827:12:150"},"nodeType":"YulExpressionStatement","src":"827:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"783:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"794:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"805:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"810:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"801:3:150"},"nodeType":"YulFunctionCall","src":"801:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"790:3:150"},"nodeType":"YulFunctionCall","src":"790:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"780:2:150"},"nodeType":"YulFunctionCall","src":"780:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"773:6:150"},"nodeType":"YulFunctionCall","src":"773:51:150"},"nodeType":"YulIf","src":"770:71:150"}]},"name":"abi_decode_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"701:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"712:5:150","type":""}],"src":"674:173:150"},{"body":{"nodeType":"YulBlock","src":"977:1136:150","statements":[{"body":{"nodeType":"YulBlock","src":"1023:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1032:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1035:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1025:6:150"},"nodeType":"YulFunctionCall","src":"1025:12:150"},"nodeType":"YulExpressionStatement","src":"1025:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"998:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1007:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"994:3:150"},"nodeType":"YulFunctionCall","src":"994:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1019:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"990:3:150"},"nodeType":"YulFunctionCall","src":"990:32:150"},"nodeType":"YulIf","src":"987:52:150"},{"nodeType":"YulAssignment","src":"1048:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1077:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1058:18:150"},"nodeType":"YulFunctionCall","src":"1058:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1048:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1096:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1106:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1100:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1117:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1148:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1159:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1144:3:150"},"nodeType":"YulFunctionCall","src":"1144:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1131:12:150"},"nodeType":"YulFunctionCall","src":"1131:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1121:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1172:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1190:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1194:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1186:3:150"},"nodeType":"YulFunctionCall","src":"1186:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"1198:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1182:3:150"},"nodeType":"YulFunctionCall","src":"1182:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1176:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1227:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1236:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1239:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1229:6:150"},"nodeType":"YulFunctionCall","src":"1229:12:150"},"nodeType":"YulExpressionStatement","src":"1229:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1215:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1223:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1212:2:150"},"nodeType":"YulFunctionCall","src":"1212:14:150"},"nodeType":"YulIf","src":"1209:34:150"},{"nodeType":"YulVariableDeclaration","src":"1252:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1266:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"1277:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1262:3:150"},"nodeType":"YulFunctionCall","src":"1262:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1256:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1332:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1341:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1344:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1334:6:150"},"nodeType":"YulFunctionCall","src":"1334:12:150"},"nodeType":"YulExpressionStatement","src":"1334:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1311:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1315:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1307:3:150"},"nodeType":"YulFunctionCall","src":"1307:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1322:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1303:3:150"},"nodeType":"YulFunctionCall","src":"1303:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1296:6:150"},"nodeType":"YulFunctionCall","src":"1296:35:150"},"nodeType":"YulIf","src":"1293:55:150"},{"nodeType":"YulVariableDeclaration","src":"1357:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1380:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1367:12:150"},"nodeType":"YulFunctionCall","src":"1367:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1361:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1406:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1408:16:150"},"nodeType":"YulFunctionCall","src":"1408:18:150"},"nodeType":"YulExpressionStatement","src":"1408:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"1398:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1402:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1395:2:150"},"nodeType":"YulFunctionCall","src":"1395:10:150"},"nodeType":"YulIf","src":"1392:36:150"},{"nodeType":"YulVariableDeclaration","src":"1437:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1451:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"1454:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1447:3:150"},"nodeType":"YulFunctionCall","src":"1447:10:150"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"1441:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1466:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1486:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1480:5:150"},"nodeType":"YulFunctionCall","src":"1480:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1470:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1498:56:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1520:6:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"1536:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1540:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1532:3:150"},"nodeType":"YulFunctionCall","src":"1532:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1549:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1545:3:150"},"nodeType":"YulFunctionCall","src":"1545:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1528:3:150"},"nodeType":"YulFunctionCall","src":"1528:25:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1516:3:150"},"nodeType":"YulFunctionCall","src":"1516:38:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1502:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1613:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1615:16:150"},"nodeType":"YulFunctionCall","src":"1615:18:150"},"nodeType":"YulExpressionStatement","src":"1615:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1572:10:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1584:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1569:2:150"},"nodeType":"YulFunctionCall","src":"1569:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1592:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1604:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1589:2:150"},"nodeType":"YulFunctionCall","src":"1589:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1566:2:150"},"nodeType":"YulFunctionCall","src":"1566:46:150"},"nodeType":"YulIf","src":"1563:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1651:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1655:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1644:6:150"},"nodeType":"YulFunctionCall","src":"1644:22:150"},"nodeType":"YulExpressionStatement","src":"1644:22:150"},{"nodeType":"YulVariableDeclaration","src":"1675:17:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1686:6:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1679:3:150","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1708:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"1716:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1701:6:150"},"nodeType":"YulFunctionCall","src":"1701:18:150"},"nodeType":"YulExpressionStatement","src":"1701:18:150"},{"nodeType":"YulAssignment","src":"1728:22:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1739:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1747:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1735:3:150"},"nodeType":"YulFunctionCall","src":"1735:15:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1728:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1759:34:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1781:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"1785:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1777:3:150"},"nodeType":"YulFunctionCall","src":"1777:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1790:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1773:3:150"},"nodeType":"YulFunctionCall","src":"1773:20:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1763:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1825:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1834:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1837:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1827:6:150"},"nodeType":"YulFunctionCall","src":"1827:12:150"},"nodeType":"YulExpressionStatement","src":"1827:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1808:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1816:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1805:2:150"},"nodeType":"YulFunctionCall","src":"1805:19:150"},"nodeType":"YulIf","src":"1802:39:150"},{"nodeType":"YulVariableDeclaration","src":"1850:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1865:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1869:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1861:3:150"},"nodeType":"YulFunctionCall","src":"1861:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1854:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1937:91:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1958:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1981:3:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"1963:17:150"},"nodeType":"YulFunctionCall","src":"1963:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1951:6:150"},"nodeType":"YulFunctionCall","src":"1951:35:150"},"nodeType":"YulExpressionStatement","src":"1951:35:150"},{"nodeType":"YulAssignment","src":"1999:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2010:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2015:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2006:3:150"},"nodeType":"YulFunctionCall","src":"2006:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1999:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1892:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1897:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1889:2:150"},"nodeType":"YulFunctionCall","src":"1889:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1905:23:150","statements":[{"nodeType":"YulAssignment","src":"1907:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1918:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1923:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1914:3:150"},"nodeType":"YulFunctionCall","src":"1914:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1907:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1885:3:150","statements":[]},"src":"1881:147:150"},{"nodeType":"YulAssignment","src":"2037:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"2047:6:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2037:6:150"}]},{"nodeType":"YulAssignment","src":"2062:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2092:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2103:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2088:3:150"},"nodeType":"YulFunctionCall","src":"2088:18:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"2072:15:150"},"nodeType":"YulFunctionCall","src":"2072:35:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2062:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"927:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"938:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"950:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"958:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"966:6:150","type":""}],"src":"852:1261:150"},{"body":{"nodeType":"YulBlock","src":"2218:226:150","statements":[{"body":{"nodeType":"YulBlock","src":"2264:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2273:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2276:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2266:6:150"},"nodeType":"YulFunctionCall","src":"2266:12:150"},"nodeType":"YulExpressionStatement","src":"2266:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2239:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2248:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2235:3:150"},"nodeType":"YulFunctionCall","src":"2235:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2260:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2231:3:150"},"nodeType":"YulFunctionCall","src":"2231:32:150"},"nodeType":"YulIf","src":"2228:52:150"},{"nodeType":"YulAssignment","src":"2289:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2318:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2299:18:150"},"nodeType":"YulFunctionCall","src":"2299:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2289:6:150"}]},{"nodeType":"YulAssignment","src":"2337:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2369:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2380:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2365:3:150"},"nodeType":"YulFunctionCall","src":"2365:18:150"}],"functionName":{"name":"abi_decode_bytes4","nodeType":"YulIdentifier","src":"2347:17:150"},"nodeType":"YulFunctionCall","src":"2347:37:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2337:6:150"}]},{"nodeType":"YulAssignment","src":"2393:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2423:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2434:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2419:3:150"},"nodeType":"YulFunctionCall","src":"2419:18:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"2403:15:150"},"nodeType":"YulFunctionCall","src":"2403:35:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2393:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes4t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2168:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2179:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2191:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2199:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2207:6:150","type":""}],"src":"2118:326:150"},{"body":{"nodeType":"YulBlock","src":"2481:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2498:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2505:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2510:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2501:3:150"},"nodeType":"YulFunctionCall","src":"2501:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2491:6:150"},"nodeType":"YulFunctionCall","src":"2491:31:150"},"nodeType":"YulExpressionStatement","src":"2491:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2538:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2541:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2531:6:150"},"nodeType":"YulFunctionCall","src":"2531:15:150"},"nodeType":"YulExpressionStatement","src":"2531:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2562:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2565:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2555:6:150"},"nodeType":"YulFunctionCall","src":"2555:15:150"},"nodeType":"YulExpressionStatement","src":"2555:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"2449:127:150"},{"body":{"nodeType":"YulBlock","src":"2628:185:150","statements":[{"body":{"nodeType":"YulBlock","src":"2667:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2688:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2695:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2700:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2691:3:150"},"nodeType":"YulFunctionCall","src":"2691:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2681:6:150"},"nodeType":"YulFunctionCall","src":"2681:31:150"},"nodeType":"YulExpressionStatement","src":"2681:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2732:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2735:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2725:6:150"},"nodeType":"YulFunctionCall","src":"2725:15:150"},"nodeType":"YulExpressionStatement","src":"2725:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2760:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2763:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2753:6:150"},"nodeType":"YulFunctionCall","src":"2753:15:150"},"nodeType":"YulExpressionStatement","src":"2753:15:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2644:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2655:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2651:3:150"},"nodeType":"YulFunctionCall","src":"2651:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2641:2:150"},"nodeType":"YulFunctionCall","src":"2641:17:150"},"nodeType":"YulIf","src":"2638:140:150"},{"nodeType":"YulAssignment","src":"2787:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2798:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2805:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2794:3:150"},"nodeType":"YulFunctionCall","src":"2794:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"2787:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2610:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"2620:3:150","type":""}],"src":"2581:232:150"},{"body":{"nodeType":"YulBlock","src":"2992:251:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3009:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3020:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3002:6:150"},"nodeType":"YulFunctionCall","src":"3002:21:150"},"nodeType":"YulExpressionStatement","src":"3002:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3043:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3054:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3039:3:150"},"nodeType":"YulFunctionCall","src":"3039:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"3059:2:150","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3032:6:150"},"nodeType":"YulFunctionCall","src":"3032:30:150"},"nodeType":"YulExpressionStatement","src":"3032:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3082:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3093:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3078:3:150"},"nodeType":"YulFunctionCall","src":"3078:18:150"},{"hexValue":"476f7665726e6f7246756e6374696f6e5265737472696374696f6e734c6f6769","kind":"string","nodeType":"YulLiteral","src":"3098:34:150","type":"","value":"GovernorFunctionRestrictionsLogi"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3071:6:150"},"nodeType":"YulFunctionCall","src":"3071:62:150"},"nodeType":"YulExpressionStatement","src":"3071:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3153:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3164:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3149:3:150"},"nodeType":"YulFunctionCall","src":"3149:18:150"},{"hexValue":"633a2074617267657420697320746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"3169:31:150","type":"","value":"c: target is the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3142:6:150"},"nodeType":"YulFunctionCall","src":"3142:59:150"},"nodeType":"YulExpressionStatement","src":"3142:59:150"},{"nodeType":"YulAssignment","src":"3210:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3222:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3233:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3218:3:150"},"nodeType":"YulFunctionCall","src":"3218:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3210:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8d4ecba034ab217241c4d6a4abfc0b43e49d18148083ee0a6d0b65304188fb4c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2969:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2983:4:150","type":""}],"src":"2818:425:150"},{"body":{"nodeType":"YulBlock","src":"3343:92:150","statements":[{"nodeType":"YulAssignment","src":"3353:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3365:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3376:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3361:3:150"},"nodeType":"YulFunctionCall","src":"3361:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3353:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3395:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3420:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3413:6:150"},"nodeType":"YulFunctionCall","src":"3413:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3406:6:150"},"nodeType":"YulFunctionCall","src":"3406:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3388:6:150"},"nodeType":"YulFunctionCall","src":"3388:41:150"},"nodeType":"YulExpressionStatement","src":"3388:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3312:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3323:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3334:4:150","type":""}],"src":"3248:187:150"}]},"contents":"{\n    { }\n    function abi_decode_bool(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool(headStart)\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function abi_decode_bytes4(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_array$_t_bytes4_$dyn_memory_ptrt_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        if gt(_4, _2) { panic_error_0x41() }\n        let _5 := shl(5, _4)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(_5, 63), not(31)))\n        if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let dst := memPtr\n        mstore(memPtr, _4)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_3, _5), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, abi_decode_bytes4(src))\n            dst := add(dst, _1)\n        }\n        value1 := memPtr\n        value2 := abi_decode_bool(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_addresst_bytes4t_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_bytes4(add(headStart, 32))\n        value2 := abi_decode_bool(add(headStart, 64))\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x11)\n            revert(0, 0x24)\n        }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_stringliteral_8d4ecba034ab217241c4d6a4abfc0b43e49d18148083ee0a6d0b65304188fb4c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 61)\n        mstore(add(headStart, 64), \"GovernorFunctionRestrictionsLogi\")\n        mstore(add(headStart, 96), \"c: target is the zero address\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80634c5ead08146100505780638e828cb414610072578063be9bd92b14610092575b600080fd5b81801561005c57600080fd5b5061007061006b366004610259565b6100b2565b005b81801561007e57600080fd5b5061007061008d3660046102c0565b6100d2565b81801561009e57600080fd5b506100706100ad3660046103a7565b61011a565b60006100bc610220565b600901805460ff19169215159290921790915550565b60005b825181101561011457610102848483815181106100f4576100f46103e1565b60200260200101518461011a565b8061010c816103f7565b9150506100d5565b50505050565b6000610124610220565b90506001600160a01b0384166101a65760405162461bcd60e51b815260206004820152603d60248201527f476f7665726e6f7246756e6374696f6e5265737472696374696f6e734c6f676960448201527f633a2074617267657420697320746865207a65726f2061646472657373000000606482015260840160405180910390fd5b6001600160a01b038416600081815260088301602090815260408083206001600160e01b0319881680855290835292819020805460ff191687151590811790915590519081529192917f5da7b78f7dccc6b378e3f55a7e57f9363d3c15686c0d82f85e45130393c9c970910160405180910390a350505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b8035801515811461025457600080fd5b919050565b60006020828403121561026b57600080fd5b61027482610244565b9392505050565b80356001600160a01b038116811461025457600080fd5b634e487b7160e01b600052604160045260246000fd5b80356001600160e01b03198116811461025457600080fd5b6000806000606084860312156102d557600080fd5b6102de8461027b565b92506020848101356001600160401b03808211156102fb57600080fd5b818701915087601f83011261030f57600080fd5b81358181111561032157610321610292565b8060051b604051601f19603f8301168101818110858211171561034657610346610292565b60405291825284820192508381018501918a83111561036457600080fd5b938501935b828510156103895761037a856102a8565b84529385019392850192610369565b80975050505050505061039e60408501610244565b90509250925092565b6000806000606084860312156103bc57600080fd5b6103c58461027b565b92506103d3602085016102a8565b915061039e60408501610244565b634e487b7160e01b600052603260045260246000fd5b60006001820161041757634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212209e5eff9f2821084d70a4df9f296c3559bec8ee4d9deee1d0f0e6be22fe70d86664736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4C5EAD08 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E828CB4 EQ PUSH2 0x72 JUMPI DUP1 PUSH4 0xBE9BD92B EQ PUSH2 0x92 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x6B CALLDATASIZE PUSH1 0x4 PUSH2 0x259 JUMP JUMPDEST PUSH2 0xB2 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x8D CALLDATASIZE PUSH1 0x4 PUSH2 0x2C0 JUMP JUMPDEST PUSH2 0xD2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0xAD CALLDATASIZE PUSH1 0x4 PUSH2 0x3A7 JUMP JUMPDEST PUSH2 0x11A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC PUSH2 0x220 JUMP JUMPDEST PUSH1 0x9 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x114 JUMPI PUSH2 0x102 DUP5 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xF4 JUMPI PUSH2 0xF4 PUSH2 0x3E1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH2 0x10C DUP2 PUSH2 0x3F7 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xD5 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x124 PUSH2 0x220 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1A6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F7246756E6374696F6E5265737472696374696F6E734C6F6769 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x633A2074617267657420697320746865207A65726F2061646472657373000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP8 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x5DA7B78F7DCCC6B378E3F55A7E57F9363D3C15686C0D82F85E45130393C9C970 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x274 DUP3 PUSH2 0x244 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DE DUP5 PUSH2 0x27B JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 DUP2 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x30F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x321 JUMPI PUSH2 0x321 PUSH2 0x292 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x346 JUMPI PUSH2 0x346 PUSH2 0x292 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP5 DUP3 ADD SWAP3 POP DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP11 DUP4 GT ISZERO PUSH2 0x364 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x389 JUMPI PUSH2 0x37A DUP6 PUSH2 0x2A8 JUMP JUMPDEST DUP5 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP3 DUP6 ADD SWAP3 PUSH2 0x369 JUMP JUMPDEST DUP1 SWAP8 POP POP POP POP POP POP POP PUSH2 0x39E PUSH1 0x40 DUP6 ADD PUSH2 0x244 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3C5 DUP5 PUSH2 0x27B JUMP JUMPDEST SWAP3 POP PUSH2 0x3D3 PUSH1 0x20 DUP6 ADD PUSH2 0x2A8 JUMP JUMPDEST SWAP2 POP PUSH2 0x39E PUSH1 0x40 DUP6 ADD PUSH2 0x244 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x417 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 0x5E SELFDESTRUCT SWAP16 0x28 0x21 ADDMOD 0x4D PUSH17 0xA4DF9F296C3559BEC8EE4D9DEEE1D0F0E6 0xBE 0x22 INVALID PUSH17 0xD86664736F6C6343000814003300000000 ","sourceMap":"1527:3636:102:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3493:215;;;;;;;;;;-1:-1:-1;3493:215:102;;;;;:::i;:::-;;:::i;:::-;;3221:268;;;;;;;;;;-1:-1:-1;3221:268:102;;;;;:::i;:::-;;:::i;2761:456::-;;;;;;;;;;-1:-1:-1;2761:456:102;;;;;:::i;:::-;;:::i;3493:215::-;3565:46;3614:41;:39;:41::i;:::-;3661:30;;:42;;-1:-1:-1;;3661:42:102;;;;;;;;;;;-1:-1:-1;3493:215:102:o;3221:268::-;3359:9;3354:131;3374:17;:24;3370:1;:28;3354:131;;;3413:65;3434:6;3442:17;3460:1;3442:20;;;;;;;;:::i;:::-;;;;;;;3464:13;3413:20;:65::i;:::-;3400:3;;;;:::i;:::-;;;;3354:131;;;;3221:268;;;:::o;2761:456::-;2881:46;2930:41;:39;:41::i;:::-;2881:90;-1:-1:-1;;;;;;2985:20:102;;2977:94;;;;-1:-1:-1;;;2977:94:102;;3020:2:150;2977:94:102;;;3002:21:150;3059:2;3039:18;;;3032:30;3098:34;3078:18;;;3071:62;3169:31;3149:18;;;3142:59;3218:19;;2977:94:102;;;;;;;;-1:-1:-1;;;;;3077:30:102;;;;;;:22;;;:30;;;;;;;;-1:-1:-1;;;;;;3077:48:102;;;;;;;;;;;;:64;;-1:-1:-1;;3077:64:102;;;;;;;;;;3152:60;;3388:41:150;;;3077:48:102;;:30;3152:60;;3361:18:150;3152:60:102;;;;;;;2875:342;2761:456;;;:::o;2697:146:107:-;2810:23;;2697:146::o;14:160:150:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:180::-;235:6;288:2;276:9;267:7;263:23;259:32;256:52;;;304:1;301;294:12;256:52;327:26;343:9;327:26;:::i;:::-;317:36;179:180;-1:-1:-1;;;179:180:150:o;364:173::-;432:20;;-1:-1:-1;;;;;481:31:150;;471:42;;461:70;;527:1;524;517:12;542:127;603:10;598:3;594:20;591:1;584:31;634:4;631:1;624:15;658:4;655:1;648:15;674:173;741:20;;-1:-1:-1;;;;;;790:32:150;;780:43;;770:71;;837:1;834;827:12;852:1261;950:6;958;966;1019:2;1007:9;998:7;994:23;990:32;987:52;;;1035:1;1032;1025:12;987:52;1058:29;1077:9;1058:29;:::i;:::-;1048:39;-1:-1:-1;1106:2:150;1144:18;;;1131:32;-1:-1:-1;;;;;1212:14:150;;;1209:34;;;1239:1;1236;1229:12;1209:34;1277:6;1266:9;1262:22;1252:32;;1322:7;1315:4;1311:2;1307:13;1303:27;1293:55;;1344:1;1341;1334:12;1293:55;1380:2;1367:16;1402:2;1398;1395:10;1392:36;;;1408:18;;:::i;:::-;1454:2;1451:1;1447:10;1486:2;1480:9;1549:2;1545:7;1540:2;1536;1532:11;1528:25;1520:6;1516:38;1604:6;1592:10;1589:22;1584:2;1572:10;1569:18;1566:46;1563:72;;;1615:18;;:::i;:::-;1651:2;1644:22;1701:18;;;1735:15;;;;-1:-1:-1;1777:11:150;;;1773:20;;;1805:19;;;1802:39;;;1837:1;1834;1827:12;1802:39;1861:11;;;;1881:147;1897:6;1892:3;1889:15;1881:147;;;1963:22;1981:3;1963:22;:::i;:::-;1951:35;;1914:12;;;;2006;;;;1881:147;;;2047:6;2037:16;;;;;;;;2072:35;2103:2;2092:9;2088:18;2072:35;:::i;:::-;2062:45;;852:1261;;;;;:::o;2118:326::-;2191:6;2199;2207;2260:2;2248:9;2239:7;2235:23;2231:32;2228:52;;;2276:1;2273;2266:12;2228:52;2299:29;2318:9;2299:29;:::i;:::-;2289:39;;2347:37;2380:2;2369:9;2365:18;2347:37;:::i;:::-;2337:47;;2403:35;2434:2;2423:9;2419:18;2403:35;:::i;2449:127::-;2510:10;2505:3;2501:20;2498:1;2491:31;2541:4;2538:1;2531:15;2565:4;2562:1;2555:15;2581:232;2620:3;2641:17;;;2638:140;;2700:10;2695:3;2691:20;2688:1;2681:31;2735:4;2732:1;2725:15;2763:4;2760:1;2753:15;2638:140;-1:-1:-1;2805:1:150;2794:13;;2581:232::o"},"methodIdentifiers":{"setIsFunctionRestrictionEnabled(bool)":"4c5ead08","setWhitelistFunction(address,bytes4,bool)":"be9bd92b","setWhitelistFunctions(address,bytes4[],bool)":"8e828cb4"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"selector\",\"type\":\"bytes\"}],\"name\":\"GovernorFunctionInvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"GovernorRestrictedFunction\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"FunctionWhitelisted\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"This library provides functions to whitelist or restrict functions that can be called by proposals.\",\"errors\":{\"GovernorFunctionInvalidSelector(bytes)\":[{\"params\":{\"selector\":\"The function selector that is invalid.\"}}],\"GovernorRestrictedFunction(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector that is restricted.\"}}]},\"events\":{\"FunctionWhitelisted(address,bytes4,bool)\":{\"params\":{\"functionSelector\":\"The function selector.\",\"isWhitelisted\":\"Boolean indicating if the function is whitelisted.\",\"target\":\"The address of the contract.\"}}},\"kind\":\"dev\",\"methods\":{\"setWhitelistFunction(address,bytes4,bool)\":{\"details\":\"This method allows restricting functions that can be called by proposals for a single function selector.\",\"params\":{\"functionSelector\":\"The function selector.\",\"isWhitelisted\":\"Boolean indicating if the function is whitelisted for proposals.\",\"target\":\"The address of the contract.\"}}},\"title\":\"GovernorFunctionRestrictionsLogic\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorFunctionInvalidSelector(bytes)\":[{\"notice\":\"Error message for when a function selector is invalid.\"}],\"GovernorRestrictedFunction(bytes4)\":[{\"notice\":\"Error message for when a function is restricted by the governor.\"}]},\"events\":{\"FunctionWhitelisted(address,bytes4,bool)\":{\"notice\":\"Emitted when a function is whitelisted by the governor.\"}},\"kind\":\"user\",\"methods\":{\"setWhitelistFunction(address,bytes4,bool)\":{\"notice\":\"Set the whitelist status of a function for proposals.\"}},\"notice\":\"Library for managing function restrictions within the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":\"GovernorFunctionRestrictionsLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorGovernanceLogic.sol":{"GovernorGovernanceLogic":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyExecutor","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122041c093d60092492f94ab73a407886089752c725b14e97aa614e58ff4f9fcb88464736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE 0xC0 SWAP4 0xD6 STOP SWAP3 0x49 0x2F SWAP5 0xAB PUSH20 0xA407886089752C725B14E97AA614E58FF4F9FCB8 DUP5 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1649:2133:103:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1649:2133:103;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122041c093d60092492f94ab73a407886089752c725b14e97aa614e58ff4f9fcb88464736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE 0xC0 SWAP4 0xD6 STOP SWAP3 0x49 0x2F SWAP5 0xAB PUSH20 0xA407886089752C725B14E97AA614E58FF4F9FCB8 DUP5 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1649:2133:103:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyExecutor\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides functions to manage the governance execution flow and validate the governance executor.\",\"errors\":{\"GovernorOnlyExecutor(address)\":[{\"details\":\"Thrown when the `account` is not the governance executor.\",\"params\":{\"account\":\"The address that attempted the unauthorized action.\"}}]},\"kind\":\"dev\",\"methods\":{},\"title\":\"GovernorGovernanceLogic\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for validating descriptions in governance proposals based on the proposer's address suffix.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":\"GovernorGovernanceLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorProposalLogic.sol":{"GovernorProposalLogic":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"bytes","name":"selector","type":"bytes"}],"name":"GovernorFunctionInvalidSelector","type":"error"},{"inputs":[{"internalType":"uint256","name":"targets","type":"uint256"},{"internalType":"uint256","name":"calldatas","type":"uint256"},{"internalType":"uint256","name":"values","type":"uint256"}],"name":"GovernorInvalidProposalLength","type":"error"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"GovernorInvalidProposalType","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"requiredWeight","type":"uint256"}],"name":"GovernorInvalidProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorInvalidStartRound","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[],"name":"GovernorQueueNotImplemented","type":"error"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"name":"GovernorRestrictedFunction","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"GovernorRestrictedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"}],"name":"GovernorRestrictedProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"PayoutAlreadyClaimed","type":"error"},{"inputs":[],"name":"QueueFull","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"UnauthorizedAccess","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxBudget","type":"uint256"}],"name":"ProposalBudgetSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"canceler","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"ProposalCanceledWithReason","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":true,"internalType":"uint256","name":"roundIdVoteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"ProposalCreatedWithType","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalDevelopmentStateReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalInDevelopment","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"etaSeconds","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"inputs":[],"name":"canProposalStartInNextRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getActiveProposals","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalNeedsQueuing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalType","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":5479},{"length":20,"start":5602},{"length":20,"start":6130},{"length":20,"start":6945},{"length":20,"start":9840},{"length":20,"start":10009}]}},"object":"613f0b61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100b95760003560e01c8063013b1088146100be57806301957cc7146100f15780632a09c772146101115780632d63f693146101365780635584c4f91461014957806381ab23531461015e578063a9a9529414610176578063badecd7614610189578063c01f9e37146101a9578063c0a6026c146101bc578063c429bd82146101de578063eab59fd2146101fe578063fcadd1f71461021e575b600080fd5b8180156100ca57600080fd5b506100de6100d93660046134a8565b61023e565b6040519081526020015b60405180910390f35b8180156100fd57600080fd5b506100de61010c36600461359d565b610311565b61012461011f36600461363d565b6103fd565b60405160ff90911681526020016100e8565b6100de61014436600461363d565b610437565b610151610448565b6040516100e89190613656565b610166610655565b60405190151581526020016100e8565b61016661018436600461363d565b610664565b81801561019557600080fd5b506100de6101a43660046136b3565b6106c0565b6100de6101b736600461363d565b6108ba565b8180156101c857600080fd5b506101dc6101d736600461363d565b6108c5565b005b8180156101ea57600080fd5b506101dc6101f936600461363d565b610980565b81801561020a57600080fd5b506100de61021936600461378a565b610aa0565b81801561022a57600080fd5b506100de61023936600461359d565b610afc565b600080610249610c95565b905060006102608b8b8b8b80519060200120610cb9565b905061027333888a8e8e8e876001610cf3565b81601a0160009054906101000a90046001600160a01b03166001600160a01b031663808860a5858333898e6040518663ffffffff1660e01b81526004016102be9594939291906138ec565b600060405180830381600087803b1580156102d857600080fd5b505af11580156102ec573d6000803e3d6000fd5b5050505061030233828d8d8d8d8d8d6001610f54565b9b9a5050505050505050505050565b60008061031c610c95565b9050600061032c87878787610cb9565b90506103418161033c6004611046565b611069565b50600061035289838a8a8a8a6110a8565b905065ffffffffffff8116156103d8576000828152600184016020908152604091829020600201805465ffffffffffff60381b1916600160381b65ffffffffffff8616908102919091179091558251858152918201527f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892910160405180910390a16103f1565b604051634844252360e11b815260040160405180910390fd5b50979650505050505050565b600080610408610c95565b600084815260158201602052604090205490915060ff1660018111156104305761043061393b565b9392505050565b600061044282611250565b92915050565b60606000610454610c95565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d19190613951565b6000818152602184016020526040812080549293509190816001600160401b038111156105005761050061324b565b604051908082528060200260200182016040528015610529578160200160208202803683370190505b5090506000805b838110156105ba57600085828154811061054c5761054c61396a565b600091825260209091200154905060016105658261163d565b60098111156105765761057661393b565b036105a7578084848151811061058e5761058e61396a565b6020908102919091010152826105a381613996565b9350505b50806105b281613996565b915050610530565b506000816001600160401b038111156105d5576105d561324b565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b50905060005b828110156103f15783818151811061061e5761061e61396a565b60200260200101518282815181106106385761063861396a565b60209081029190910101528061064d81613996565b915050610604565b600061065f6119e4565b905090565b60008061066f610c95565b600084815260018083016020526040822090810154929350919003610698575060009392505050565b6002810154600160201b900460ff16156106b6575060019392505050565b5060009392505050565b6000806106cb610c95565b905060006106db88888888610cb9565b90506106e681611ba1565b6001600160a01b03168a6001600160a01b031614158015610705575088155b1561072e5789604051633733be5960e21b815260040161072591906139af565b60405180910390fd5b61079b8161073c6003611046565b6107466007611046565b6107506009611046565b61075a6008611046565b6107646006611046565b61076e6002611046565b600161077b6009826139c3565b610786906002613ac0565b6107909190613acf565b181818181818611069565b506107a581611ba1565b6001600160a01b03168a6001600160a01b0316036108265760006107c88261163d565b60098111156107d9576107d961393b565b146108265760405162461bcd60e51b815260206004820152601e60248201527f476f7665726e6f723a2070726f706f73616c206e6f742070656e64696e6700006044820152606401610725565b600081815260078301602052604090205480156108af57600683015460405163c4d252f560e01b8152600481018390526001600160a01b039091169063c4d252f590602401600060405180830381600087803b15801561088557600080fd5b505af1158015610899573d6000803e3d6000fd5b5050506000838152600785016020526040812055505b610302828c87611bca565b600061044282611c81565b60006108cf610c95565b600083815260158201602052604081205491925060ff909116908160018111156108fb576108fb61393b565b1461091d5782816040516344b7587b60e01b8152600401610725929190613af6565b61092b8361033c6008611046565b506000838152601e83016020908152604091829020805460ff1916600217905590518481527f71611adb0c8d2eea43359b2e41e5fdf96309ce734ed1eb78ceb763198c1b8967910160405180910390a1505050565b600061098a610c95565b90506109aa8261099a6009611046565b6109a46008611046565b17611069565b50600082815260288201602052604090205460ff16156109e0576040516331bfcd9f60e11b815260048101839052602401610725565b6000828152601e820160209081526040808320805460ff199081169091556027850183528184208054909116905560268401825280832080546001600160a01b0319169055602984019091528120610a37916131be565b6000828152602a820160205260408120610a50916131be565b6000828152602b820160205260408120610a69916131fb565b6040518281527f89e9abefcace5d0e37429f32023df3d73c9a310923f6383fa778ec40c629df0e9060200160405180910390a15050565b6000803390506000610abb8a8a8a8a80519060200120610cb9565b9050610ace8287898d8d8d876000610cf3565b6000610ae283838d8d8d8d8d8d6000610f54565b9050610aee8186611e04565b9a9950505050505050505050565b600080610b07610c95565b90506000610b1787878787610cb9565b9050610b3181610b276005611046565b6109a46004611046565b5060008181526001830160205260409020600201805460ff60281b1916600160281b1790556001600160a01b038816610b68611e71565b6001600160a01b031614610bfc5760005b8751811015610bfa57306001600160a01b0316888281518110610b9e57610b9e61396a565b60200260200101516001600160a01b031603610bea57610bea868281518110610bc957610bc961396a565b60200260200101518051906020012084600201611e8f90919063ffffffff16565b610bf381613996565b9050610b79565b505b610c0a888289898989611f00565b876001600160a01b0316610c1c611e71565b6001600160a01b031614158015610c4a575060028201546001600160801b03808216600160801b9092041614155b15610c5757600060028301555b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f9060200160405180910390a1979650505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600084848484604051602001610cd29493929190613b7e565b60408051601f19818403018152919052805160209091012095945050505050565b6000610cfd610c95565b9050610d0882611f9c565b610d275781604051633e4bbe1960e11b81526004016107259190613bc9565b80600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da09190613951565b8811610dc257604051637a5d07d360e01b815260048101899052602401610725565b80600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3b9190613951565b610e46906001613bd7565b8803610e7457610e546119e4565b610e7457604051637a5d07d360e01b815260048101899052602401610725565b6000826001811115610e8857610e8861393b565b03610eb657610e978988611fd3565b610eb6578860405163d9b3955760e01b815260040161072591906139af565b84518651141580610ec957508351865114155b15610efe57855184518651604051630447b05d60e41b8152600481019390935260248301919091526044820152606401610725565b600083815260018083016020526040909120015415610f3f5782610f218461163d565b6040516331b75e4d60e01b8152610725929190600090600401613bea565b610f4986856120c4565b505050505050505050565b600080610f5f610c95565b90506000610f6c846121a9565b90506000610ff183600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fec9190613951565b612277565b8b5190915015156110028e876122a7565b6110128d8f848b858c898d61240b565b861561102357611023878f8f61251d565b6110348e8e8e8e8e8e8e8a8e6127b9565b509a9c9b505050505050505050505050565b600081600981111561105a5761105a61393b565b600160ff919091161b92915050565b6000806110758461163d565b905060008361108383611046565b1603610430578381846040516331b75e4d60e01b815260040161072593929190613bea565b6000806110b3610c95565b905060008160060160009054906101000a90046001600160a01b03166001600160a01b031663f27a0c926040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111309190613951565b9050600061113e858b612895565b600684015460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f4279061117a908b908b908b906000908890600401613c12565b602060405180830381865afa158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb9190613951565b60008a815260078501602052604080822092909255600685015491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb09161120a918c918c918c919088908a90600401613c60565b600060405180830381600087803b15801561122457600080fd5b505af1158015611238573d6000803e3d6000fd5b50505050610aee824261124b9190613bd7565b6128a6565b60008061125b610c95565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ef9190613951565b1061138c5760006112fe610c95565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda906024015b602060405180830381865afa158015611360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113849190613951565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc9190613951565b600085815260018085016020526040909120015461141a9190613acf565b90506000611429600183613acf565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a29190613951565b6114ac9190613cb8565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015611505573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115299190613951565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115989190613ccf565b65ffffffffffff16811161161e5773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156115ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116139190613ccf565b65ffffffffffff1690505b826116298383613bd7565b6116339190613bd7565b9695505050505050565b600080611648610c95565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b909204169083600281111561169d5761169d61393b565b036116af575060089695505050505050565b60028360028111156116c3576116c361393b565b036116d5575060099695505050505050565b81156116e8575060069695505050505050565b80156116fb575060029695505050505050565b836001015460000361172357604051636ad0607560e01b815260048101889052602401610725565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190613951565b10156117b4575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156117ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118239190613ccf565b65ffffffffffff169050600061183889611c81565b9050611843896128d4565b6118565750600798975050505050505050565b81811061186c5750600198975050505050505050565b61187589612900565b158061188757506118858961295e565b155b1561189b5750600398975050505050505050565b6118a489612986565b6000036118ba5750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190613cf7565b15611950575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa15801561199b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bf9190613cf7565b156119d4575060069998505050505050505050565b5060029998505050505050505050565b6000806119ef610c95565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613951565b600a83015460405163d3a368bd60e01b8152600481018390529192506000916001600160a01b039091169063d3a368bd90602401602060405180830381865afa158015611abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae19190613951565b9050600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b529190613ccf565b90508065ffffffffffff168211611b6e57600094505050505090565b611b8065ffffffffffff821683613acf565b84600401541115611b9657600094505050505090565b600194505050505090565b600080611bac610c95565b6000938452600101602052505060409020546001600160a01b031690565b600080611bd5610c95565b600086815260018201602052604090819020600201805460ff60301b1916600160301b179055519091507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90611c2e9087815260200190565b60405180910390a1836001600160a01b0316857f93bcf40b1de68d22878e9394837dd4b08dae46ee73bc722cccffecdadbe4414585604051611c709190613d14565b60405180910390a350929392505050565b600080611c8c610c95565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d209190613951565b10611d78576000611d2f610c95565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd90602401611343565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df19190613951565b611dfa84611250565b6104309190613bd7565b80600003611e10575050565b6000611e1a610c95565b6000848152602582016020526040908190208490555190915083907fcd8165bf95ab7c7ec457210098e726b4261032710b47126b883ca5247afdd83790611e649085815260200190565b60405180910390a2505050565b600080611e7c610c95565b600601546001600160a01b031692915050565b81546001600160801b03600160801b820481169181166001830190911603611eca57604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b03808216600090815260018086016020526040909120939093558354919092018216600160801b029116179055565b6000611f0a610c95565b60068101549091506001600160a01b031663e38335e5348787876000611f30898f612895565b6040518763ffffffff1660e01b8152600401611f50959493929190613c12565b6000604051808303818588803b158015611f6957600080fd5b505af1158015611f7d573d6000803e3d6000fd5b5050506000978852505060070160205250506040832092909255505050565b600080826001811115611fb157611fb161393b565b148061044257506001826001811115611fcc57611fcc61393b565b1492915050565b80516000906034811015611feb576001915050610442565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b1461201e57600192505050610442565b60008061202c602885613acf565b90505b838110156120a35760008061206388848151811061204f5761204f61396a565b01602001516001600160f81b0319166129b8565b915091508161207b5760019650505050505050610442565b8060ff166004856001600160a01b0316901b17935050508061209c90613996565b905061202f565b50856001600160a01b0316816001600160a01b031614935050505092915050565b60006120ce610c95565b600981015490915060ff16156121a45760005b83518110156121a257600061210e8483815181106121015761210161396a565b6020026020010151612a4a565b90508260080160008684815181106121285761212861396a565b6020908102919091018101516001600160a01b0316825281810192909252604090810160009081206001600160e01b03198516825290925290205460ff1661218f5760405163294080f760e21b81526001600160e01b031982166004820152602401610725565b508061219a81613996565b9150506120e1565b505b505050565b6000806121b4610c95565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561220f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122339190613951565b61223c86612a79565b6122469190613cb8565b6122509190613d3d565b9050600061225d85612aeb565b90508082111561226f57949350505050565b509392505050565b600063ffffffff8211156122a3576020826040516306dfcc6560e41b8152600401610725929190613d5f565b5090565b60006122b1610c95565b9050600081601c0160008460018111156122cd576122cd61393b565b60018111156122de576122de61393b565b815260208101919091526040908101600090812054601b850154925163d206885d60e01b815290935090916001600160a01b031690636d5e303290829063d206885d9061232f908a906004016139af565b602060405180830381865afa15801561234c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123709190613951565b6040518263ffffffff1660e01b815260040161238e91815260200190565b602060405180830381865afa1580156123ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cf9190613951565b905081811015612404576040516304b60e7960e31b81526001600160a01b038616600482015260248101839052604401610725565b5050505050565b6000612415610c95565b905060008160010160008b81526020019081526020016000209050888160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550868160010181905550878160020160006101000a81548163ffffffff021916908363ffffffff160217905550858160020160046101000a81548160ff021916908315150217905550848160030181905550838160040181905550828260150160008c815260200190815260200160002060006101000a81548160ff021916908360018111156124ea576124ea61393b565b02179055505060009586526021016020908152604086208054600181018255908752952090940196909655505050505050565b6000612527610c95565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af1158015612584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a89190613cf7565b6125f45760405162461bcd60e51b815260206004820152601d60248201527f42335452476f7665726e6f723a207472616e73666572206661696c65640000006044820152606401610725565b6000828152600d8201602090815260408083206001600160a01b038716845290915281208054869290612628908490613bd7565b9250508190555060006126c173__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561267d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a19190613ccf565b6001600160a01b0386166000908152601d85016020526040902090612b35565b905060006126ce86612beb565b6126d89083613d72565b905061276b73__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274a9190613ccf565b6001600160a01b0387166000908152601d8601602052604090209083612c1a565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516127a991815260200190565b60405180910390a3505050505050565b82896001600160a01b0316897f9c2b0d68f5edfd1bf6158a1867aced894efcfcf77c7a7603cb571e18ce89ae768a8a8c516001600160401b038111156128015761280161324b565b60405190808252806020026020018201604052801561283457816020015b606081526020019060019003908161281f5790505b508b8b8a60405161284a96959493929190613d99565b60405180910390a4877f6d04097725b4d82fbe72e4fd0fd1798c60a7b1bbc328842680c83ac06b1b0ada826040516128829190613bc9565b60405180910390a2505050505050505050565b60601b6001600160601b0319161890565b600065ffffffffffff8211156122a3576030826040516306dfcc6560e41b8152600401610725929190613d5f565b6000806128df610c95565b60009384526001016020525050604090206004810154600390910154101590565b60008061290b610c95565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061295461293d86611250565b83600181111561294f5761294f61393b565b612c35565b1115949350505050565b600080612969610c95565b6000938452600f0160205250506040902080546001909101541190565b600080612991610c95565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b60008060f883901c602f811180156129d35750603a8160ff16105b156129e857600194602f199091019350915050565b8060ff1660401080156129fe575060478160ff16105b15612a13576001946036199091019350915050565b8060ff166060108015612a29575060678160ff16105b15612a3e576001946056199091019350915050565b50600093849350915050565b6000600482511015612a7157816040516301a800fb60e41b81526004016107259190613d14565b506020015190565b600080612a84610c95565b9050612a8f83611f9c565b612aab5760405162461bcd60e51b815260040161072590613e50565b806016016000846001811115612ac357612ac361393b565b6001811115612ad457612ad461393b565b815260200190815260200160002054915050919050565b600080612af6610c95565b9050612b0183611f9c565b612b1d5760405162461bcd60e51b815260040161072590613e50565b806019016000846001811115612ac357612ac361393b565b815460009081816005811115612b94576000612b5084612cd1565b612b5a9085613acf565b60008881526020902090915081015465ffffffffffff9081169087161015612b8457809150612b92565b612b8f816001613bd7565b92505b505b6000612ba287878585612db9565b90508015612bdd57612bc787612bb9600184613acf565b600091825260209091200190565b54600160301b90046001600160d01b0316612be0565b60005b979650505050505050565b60006001600160d01b038211156122a35760d0826040516306dfcc6560e41b8152600401610725929190613d5f565b600080612c28858585612e13565b915091505b935093915050565b600080612c40610c95565b90506064612c4e8585612f8d565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015612c99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbd9190613951565b612cc79190613cb8565b6113849190613d3d565b600081600003612ce357506000919050565b60006001612cf084612fad565b901c6001901b90506001818481612d0957612d09613d27565b048201901c90506001818481612d2157612d21613d27565b048201901c90506001818481612d3957612d39613d27565b048201901c90506001818481612d5157612d51613d27565b048201901c90506001818481612d6957612d69613d27565b048201901c90506001818481612d8157612d81613d27565b048201901c90506001818481612d9957612d99613d27565b048201901c905061043081828581612db357612db3613d27565b04613041565b60005b8183101561226f576000612dd08484613057565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115612dff57809250612e0d565b612e0a816001613bd7565b93505b50612dbc565b825460009081908015612f32576000612e3187612bb9600185613acf565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015612e8557604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603612ed15784612ea888612bb9600186613acf565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055612f22565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150612c2d9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081612c2d565b6000610430838360ff166001811115612fa857612fa861393b565b613072565b600080608083901c15612fc257608092831c92015b604083901c15612fd457604092831c92015b602083901c15612fe657602092831c92015b601083901c15612ff857601092831c92015b600883901c1561300a57600892831c92015b600483901c1561301c57600492831c92015b600283901c1561302e57600292831c92015b600183901c156104425760010192915050565b60008183106130505781610430565b5090919050565b60006130666002848418613d3d565b61043090848416613bd7565b60008061307d610c95565b905060008160180160008560018111156130995761309961393b565b60018111156130aa576130aa61393b565b81526020810191909152604001600090812054915060188301818660018111156130d6576130d661393b565b60018111156130e7576130e761393b565b81526020810191909152604001600020613102600184613acf565b815481106131125761311261396a565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211613158576001600160d01b031694506104429350505050565b6131a9613164896128a6565b8660180160008a600181111561317c5761317c61393b565b600181111561318d5761318d61393b565b8152602001908152602001600020612b3590919063ffffffff16565b6001600160d01b031698975050505050505050565b5080546131ca90613e9b565b6000825580601f106131da575050565b601f0160209004906000526020600020908101906131f89190613219565b50565b50805460008255906000526020600020908101906131f8919061322e565b5b808211156122a3576000815560010161321a565b808211156122a357600061324282826131be565b5060010161322e565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156132895761328961324b565b604052919050565b60006001600160401b038211156132aa576132aa61324b565b5060051b60200190565b80356001600160a01b03811681146132cb57600080fd5b919050565b600082601f8301126132e157600080fd5b813560206132f66132f183613291565b613261565b82815260059290921b8401810191818101908684111561331557600080fd5b8286015b848110156133375761332a816132b4565b8352918301918301613319565b509695505050505050565b600082601f83011261335357600080fd5b813560206133636132f183613291565b82815260059290921b8401810191818101908684111561338257600080fd5b8286015b848110156133375780358352918301918301613386565b60006001600160401b038311156133b6576133b661324b565b6133c9601f8401601f1916602001613261565b90508281528383830111156133dd57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261340557600080fd5b813560206134156132f183613291565b82815260059290921b8401810191818101908684111561343457600080fd5b8286015b848110156133375780356001600160401b038111156134575760008081fd5b8701603f810189136134695760008081fd5b61347a89868301356040840161339d565b845250918301918301613438565b600082601f83011261349957600080fd5b6104308383356020850161339d565b600080600080600080600080610100898b0312156134c557600080fd5b88356001600160401b03808211156134dc57600080fd5b6134e88c838d016132d0565b995060208b01359150808211156134fe57600080fd5b61350a8c838d01613342565b985060408b013591508082111561352057600080fd5b61352c8c838d016133f4565b975060608b013591508082111561354257600080fd5b61354e8c838d01613488565b965060808b0135955060a08b0135945061356a60c08c016132b4565b935060e08b013591508082111561358057600080fd5b5061358d8b828c01613488565b9150509295985092959890939650565b600080600080600060a086880312156135b557600080fd5b6135be866132b4565b945060208601356001600160401b03808211156135da57600080fd5b6135e689838a016132d0565b955060408801359150808211156135fc57600080fd5b61360889838a01613342565b9450606088013591508082111561361e57600080fd5b5061362b888289016133f4565b95989497509295608001359392505050565b60006020828403121561364f57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561368e57835183529284019291840191600101613672565b50909695505050505050565b80151581146131f857600080fd5b80356132cb8161369a565b600080600080600080600060e0888a0312156136ce57600080fd5b6136d7886132b4565b96506136e5602089016136a8565b955060408801356001600160401b038082111561370157600080fd5b61370d8b838c016132d0565b965060608a013591508082111561372357600080fd5b61372f8b838c01613342565b955060808a013591508082111561374557600080fd5b6137518b838c016133f4565b945060a08a0135935060c08a013591508082111561376e57600080fd5b5061377b8a828b01613488565b91505092959891949750929550565b600080600080600080600060e0888a0312156137a557600080fd5b87356001600160401b03808211156137bc57600080fd5b6137c88b838c016132d0565b985060208a01359150808211156137de57600080fd5b6137ea8b838c01613342565b975060408a013591508082111561380057600080fd5b61380c8b838c016133f4565b965060608a013591508082111561382257600080fd5b5061382f8a828b01613488565b979a969950949760808101359660a0820135965060c090910135945092505050565b6000815180845260005b818110156138775760208185018101518683018201520161385b565b506000602082860101526020601f19601f83011685010191505092915050565b600081518084526020808501808196508360051b8101915082860160005b858110156138df5782840389526138cd848351613851565b988501989350908401906001016138b5565b5091979650505050505050565b60a0815260006138ff60a0830188613851565b602083018790526001600160a01b03868116604085015285166060840152828103608084015261392f8185613897565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561396357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016139a8576139a8613980565b5060010190565b6001600160a01b0391909116815260200190565b60ff818116838216019081111561044257610442613980565b600181815b80851115613a175781600019048211156139fd576139fd613980565b80851615613a0a57918102915b93841c93908002906139e1565b509250929050565b600082613a2e57506001610442565b81613a3b57506000610442565b8160018114613a515760028114613a5b57613a77565b6001915050610442565b60ff841115613a6c57613a6c613980565b50506001821b610442565b5060208310610133831016604e8410600b8410161715613a9a575081810a610442565b613aa483836139dc565b8060001904821115613ab857613ab8613980565b029392505050565b600061043060ff841683613a1f565b8181038181111561044257610442613980565b60028110613af257613af261393b565b9052565b828152604081016104306020830184613ae2565b600081518084526020808501945080840160005b83811015613b435781516001600160a01b031687529582019590820190600101613b1e565b509495945050505050565b600081518084526020808501945080840160005b83811015613b4357815187529582019590820190600101613b62565b608081526000613b916080830187613b0a565b8281036020840152613ba38187613b4e565b90508281036040840152613bb78186613897565b91505082606083015295945050505050565b602081016104428284613ae2565b8082018082111561044257610442613980565b83815260608101600a8410613c0157613c0161393b565b602082019390935260400152919050565b60a081526000613c2560a0830188613b0a565b8281036020840152613c378188613b4e565b90508281036040840152613c4b8187613897565b60608401959095525050608001529392505050565b60c081526000613c7360c0830189613b0a565b8281036020840152613c858189613b4e565b90508281036040840152613c998188613897565b60608401969096525050608081019290925260a0909101529392505050565b808202811582820484141761044257610442613980565b600060208284031215613ce157600080fd5b815165ffffffffffff8116811461043057600080fd5b600060208284031215613d0957600080fd5b81516104308161369a565b6020815260006104306020830184613851565b634e487b7160e01b600052601260045260246000fd5b600082613d5a57634e487b7160e01b600052601260045260246000fd5b500490565b60ff929092168252602082015260400190565b6001600160d01b03818116838216019080821115613d9257613d92613980565b5092915050565b60c081526000613dac60c0830189613b0a565b602083820381850152613dbf828a613b4e565b915083820360408501528188518084528284019150828160051b850101838b0160005b83811015613e1057601f19878403018552613dfe838351613851565b94860194925090850190600101613de2565b50508681036060880152613e24818b613897565b9450505050508281036080840152613e3c8186613851565b9150508260a0830152979650505050505050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b600181811c90821680613eaf57607f821691505b602082108103613ecf57634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220eabddccf952d8e005c27d809cb766d9b377603e597f8fa6dec9a8600b4aa174c64736f6c63430008140033","opcodes":"PUSH2 0x3F0B PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13B1088 EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0x1957CC7 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0x2A09C772 EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x2D63F693 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x5584C4F9 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x81AB2353 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0xA9A95294 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0xBADECD76 EQ PUSH2 0x189 JUMPI DUP1 PUSH4 0xC01F9E37 EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0xC0A6026C EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0xC429BD82 EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0xEAB59FD2 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0xFCADD1F7 EQ PUSH2 0x21E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x34A8 JUMP JUMPDEST PUSH2 0x23E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x10C CALLDATASIZE PUSH1 0x4 PUSH2 0x359D JUMP JUMPDEST PUSH2 0x311 JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x3FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE8 JUMP JUMPDEST PUSH2 0xDE PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x437 JUMP JUMPDEST PUSH2 0x151 PUSH2 0x448 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x3656 JUMP JUMPDEST PUSH2 0x166 PUSH2 0x655 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE8 JUMP JUMPDEST PUSH2 0x166 PUSH2 0x184 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x664 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x36B3 JUMP JUMPDEST PUSH2 0x6C0 JUMP JUMPDEST PUSH2 0xDE PUSH2 0x1B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x8BA JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC PUSH2 0x1D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x8C5 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC PUSH2 0x1F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x980 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x20A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x219 CALLDATASIZE PUSH1 0x4 PUSH2 0x378A JUMP JUMPDEST PUSH2 0xAA0 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x359D JUMP JUMPDEST PUSH2 0xAFC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x249 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x260 DUP12 DUP12 DUP12 DUP12 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0x273 CALLER DUP9 DUP11 DUP15 DUP15 DUP15 DUP8 PUSH1 0x1 PUSH2 0xCF3 JUMP JUMPDEST DUP2 PUSH1 0x1A ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x808860A5 DUP6 DUP4 CALLER DUP10 DUP15 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BE SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x38EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2EC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x302 CALLER DUP3 DUP14 DUP14 DUP14 DUP14 DUP14 DUP14 PUSH1 0x1 PUSH2 0xF54 JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31C PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x32C DUP8 DUP8 DUP8 DUP8 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0x341 DUP2 PUSH2 0x33C PUSH1 0x4 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x1069 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x352 DUP10 DUP4 DUP11 DUP11 DUP11 DUP11 PUSH2 0x10A8 JUMP JUMPDEST SWAP1 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF PUSH1 0x38 SHL NOT AND PUSH1 0x1 PUSH1 0x38 SHL PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE DUP3 MLOAD DUP6 DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH32 0x9A2E42FD6722813D69113E7D0079D3D940171428DF7373DF9C7F7617CFDA2892 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x3F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x48442523 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x408 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x430 JUMPI PUSH2 0x430 PUSH2 0x393B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x442 DUP3 PUSH2 0x1250 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x454 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4D1 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x21 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x500 JUMPI PUSH2 0x500 PUSH2 0x324B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x529 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5BA JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x54C JUMPI PUSH2 0x54C PUSH2 0x396A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 POP PUSH1 0x1 PUSH2 0x565 DUP3 PUSH2 0x163D JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x576 JUMPI PUSH2 0x576 PUSH2 0x393B JUMP JUMPDEST SUB PUSH2 0x5A7 JUMPI DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x58E JUMPI PUSH2 0x58E PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP3 PUSH2 0x5A3 DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP4 POP POP JUMPDEST POP DUP1 PUSH2 0x5B2 DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x530 JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5D5 JUMPI PUSH2 0x5D5 PUSH2 0x324B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x5FE JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3F1 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x61E JUMPI PUSH2 0x61E PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x638 JUMPI PUSH2 0x638 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP1 PUSH2 0x64D DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x604 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x65F PUSH2 0x19E4 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x66F PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 SUB PUSH2 0x698 JUMPI POP PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x6B6 JUMPI POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6CB PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x6DB DUP9 DUP9 DUP9 DUP9 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0x6E6 DUP2 PUSH2 0x1BA1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 ISZERO PUSH2 0x705 JUMPI POP DUP9 ISZERO JUMPDEST ISZERO PUSH2 0x72E JUMPI DUP10 PUSH1 0x40 MLOAD PUSH4 0x3733BE59 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x39AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x79B DUP2 PUSH2 0x73C PUSH1 0x3 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x746 PUSH1 0x7 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x750 PUSH1 0x9 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x75A PUSH1 0x8 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x764 PUSH1 0x6 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x76E PUSH1 0x2 PUSH2 0x1046 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x77B PUSH1 0x9 DUP3 PUSH2 0x39C3 JUMP JUMPDEST PUSH2 0x786 SWAP1 PUSH1 0x2 PUSH2 0x3AC0 JUMP JUMPDEST PUSH2 0x790 SWAP2 SWAP1 PUSH2 0x3ACF JUMP JUMPDEST XOR XOR XOR XOR XOR XOR PUSH2 0x1069 JUMP JUMPDEST POP PUSH2 0x7A5 DUP2 PUSH2 0x1BA1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x826 JUMPI PUSH1 0x0 PUSH2 0x7C8 DUP3 PUSH2 0x163D JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x7D9 JUMPI PUSH2 0x7D9 PUSH2 0x393B JUMP JUMPDEST EQ PUSH2 0x826 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F723A2070726F706F73616C206E6F742070656E64696E670000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x8AF JUMPI PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC4D252F5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC4D252F5 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x885 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x899 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE POP JUMPDEST PUSH2 0x302 DUP3 DUP13 DUP8 PUSH2 0x1BCA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x442 DUP3 PUSH2 0x1C81 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8CF PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF SWAP1 SWAP2 AND SWAP1 DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x8FB JUMPI PUSH2 0x8FB PUSH2 0x393B JUMP JUMPDEST EQ PUSH2 0x91D JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH2 0x3AF6 JUMP JUMPDEST PUSH2 0x92B DUP4 PUSH2 0x33C PUSH1 0x8 PUSH2 0x1046 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1E DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x2 OR SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x71611ADB0C8D2EEA43359B2E41E5FDF96309CE734ED1EB78CEB763198C1B8967 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x98A PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH2 0x9AA DUP3 PUSH2 0x99A PUSH1 0x9 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x9A4 PUSH1 0x8 PUSH2 0x1046 JUMP JUMPDEST OR PUSH2 0x1069 JUMP JUMPDEST POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x28 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x9E0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x31BFCD9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1E DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x27 DUP6 ADD DUP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x26 DUP5 ADD DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x29 DUP5 ADD SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0xA37 SWAP2 PUSH2 0x31BE JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2A DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xA50 SWAP2 PUSH2 0x31BE JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2B DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xA69 SWAP2 PUSH2 0x31FB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0x89E9ABEFCACE5D0E37429F32023DF3D73C9A310923F6383FA778EC40C629DF0E SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER SWAP1 POP PUSH1 0x0 PUSH2 0xABB DUP11 DUP11 DUP11 DUP11 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0xACE DUP3 DUP8 DUP10 DUP14 DUP14 DUP14 DUP8 PUSH1 0x0 PUSH2 0xCF3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAE2 DUP4 DUP4 DUP14 DUP14 DUP14 DUP14 DUP14 DUP14 PUSH1 0x0 PUSH2 0xF54 JUMP JUMPDEST SWAP1 POP PUSH2 0xAEE DUP2 DUP7 PUSH2 0x1E04 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB07 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xB17 DUP8 DUP8 DUP8 DUP8 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0xB31 DUP2 PUSH2 0xB27 PUSH1 0x5 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x9A4 PUSH1 0x4 PUSH2 0x1046 JUMP JUMPDEST POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0x28 SHL NOT AND PUSH1 0x1 PUSH1 0x28 SHL OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0xB68 PUSH2 0x1E71 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBFC JUMPI PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0xBFA JUMPI ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB9E JUMPI PUSH2 0xB9E PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xBEA JUMPI PUSH2 0xBEA DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xBC9 JUMPI PUSH2 0xBC9 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP5 PUSH1 0x2 ADD PUSH2 0x1E8F SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0xBF3 DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP1 POP PUSH2 0xB79 JUMP JUMPDEST POP JUMPDEST PUSH2 0xC0A DUP9 DUP3 DUP10 DUP10 DUP10 DUP10 PUSH2 0x1F00 JUMP JUMPDEST DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC1C PUSH2 0x1E71 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 ISZERO PUSH2 0xC4A JUMPI POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x80 SHL SWAP1 SWAP3 DIV AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xC57 JUMPI PUSH1 0x0 PUSH1 0x2 DUP4 ADD SSTORE JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x712AE1383F79AC853F8D882153778E0260EF8F03B504E2866E0593E04D2B291F SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCD2 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3B7E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFD PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH2 0xD08 DUP3 PUSH2 0x1F9C JUMP JUMPDEST PUSH2 0xD27 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x3E4BBE19 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x3BC9 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD7C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDA0 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST DUP9 GT PUSH2 0xDC2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7A5D07D3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE17 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE3B SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0xE46 SWAP1 PUSH1 0x1 PUSH2 0x3BD7 JUMP JUMPDEST DUP9 SUB PUSH2 0xE74 JUMPI PUSH2 0xE54 PUSH2 0x19E4 JUMP JUMPDEST PUSH2 0xE74 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7A5D07D3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xE88 JUMPI PUSH2 0xE88 PUSH2 0x393B JUMP JUMPDEST SUB PUSH2 0xEB6 JUMPI PUSH2 0xE97 DUP10 DUP9 PUSH2 0x1FD3 JUMP JUMPDEST PUSH2 0xEB6 JUMPI DUP9 PUSH1 0x40 MLOAD PUSH4 0xD9B39557 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x39AF JUMP JUMPDEST DUP5 MLOAD DUP7 MLOAD EQ ISZERO DUP1 PUSH2 0xEC9 JUMPI POP DUP4 MLOAD DUP7 MLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0xEFE JUMPI DUP6 MLOAD DUP5 MLOAD DUP7 MLOAD PUSH1 0x40 MLOAD PUSH4 0x447B05D PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x24 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD ISZERO PUSH2 0xF3F JUMPI DUP3 PUSH2 0xF21 DUP5 PUSH2 0x163D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x3BEA JUMP JUMPDEST PUSH2 0xF49 DUP7 DUP6 PUSH2 0x20C4 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF5F PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xF6C DUP5 PUSH2 0x21A9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xFF1 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFC8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFEC SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x2277 JUMP JUMPDEST DUP12 MLOAD SWAP1 SWAP2 POP ISZERO ISZERO PUSH2 0x1002 DUP15 DUP8 PUSH2 0x22A7 JUMP JUMPDEST PUSH2 0x1012 DUP14 DUP16 DUP5 DUP12 DUP6 DUP13 DUP10 DUP14 PUSH2 0x240B JUMP JUMPDEST DUP7 ISZERO PUSH2 0x1023 JUMPI PUSH2 0x1023 DUP8 DUP16 DUP16 PUSH2 0x251D JUMP JUMPDEST PUSH2 0x1034 DUP15 DUP15 DUP15 DUP15 DUP15 DUP15 DUP15 DUP11 DUP15 PUSH2 0x27B9 JUMP JUMPDEST POP SWAP11 SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x105A JUMPI PUSH2 0x105A PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1075 DUP5 PUSH2 0x163D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x1083 DUP4 PUSH2 0x1046 JUMP JUMPDEST AND SUB PUSH2 0x430 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3BEA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x10B3 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x6 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF27A0C92 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x110C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1130 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x113E DUP6 DUP12 PUSH2 0x2895 JUMP JUMPDEST PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xB1C5F427 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xB1C5F427 SWAP1 PUSH2 0x117A SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x0 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C12 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1197 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11BB SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x7 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP6 ADD SLOAD SWAP2 MLOAD PUSH4 0x8F2A0BB PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x8F2A0BB0 SWAP2 PUSH2 0x120A SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C60 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1224 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1238 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0xAEE DUP3 TIMESTAMP PUSH2 0x124B SWAP2 SWAP1 PUSH2 0x3BD7 JUMP JUMPDEST PUSH2 0x28A6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x125B PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12EF SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST LT PUSH2 0x138C JUMPI PUSH1 0x0 PUSH2 0x12FE PUSH2 0xC95 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1360 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1384 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13FC SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x141A SWAP2 SWAP1 PUSH2 0x3ACF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1429 PUSH1 0x1 DUP4 PUSH2 0x3ACF JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x147E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14A2 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x14AC SWAP2 SWAP1 PUSH2 0x3CB8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1505 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1529 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1574 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1598 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x161E JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x15EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1613 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1629 DUP4 DUP4 PUSH2 0x3BD7 JUMP JUMPDEST PUSH2 0x1633 SWAP2 SWAP1 PUSH2 0x3BD7 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1648 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x169D JUMPI PUSH2 0x169D PUSH2 0x393B JUMP JUMPDEST SUB PUSH2 0x16AF JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x16C3 JUMPI PUSH2 0x16C3 PUSH2 0x393B JUMP JUMPDEST SUB PUSH2 0x16D5 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x16E8 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16FB JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x1723 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x177D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17A1 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST LT ISZERO PUSH2 0x17B4 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17FF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1823 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x1838 DUP10 PUSH2 0x1C81 JUMP JUMPDEST SWAP1 POP PUSH2 0x1843 DUP10 PUSH2 0x28D4 JUMP JUMPDEST PUSH2 0x1856 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x186C JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1875 DUP10 PUSH2 0x2900 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x1887 JUMPI POP PUSH2 0x1885 DUP10 PUSH2 0x295E JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x189B JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x18A4 DUP10 PUSH2 0x2986 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x18BA JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1917 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x193B SWAP2 SWAP1 PUSH2 0x3CF7 JUMP JUMPDEST ISZERO PUSH2 0x1950 JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x199B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19BF SWAP2 SWAP1 PUSH2 0x3CF7 JUMP JUMPDEST ISZERO PUSH2 0x19D4 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19EF PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A48 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A6C SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0xA DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1ABD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AE1 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1B2E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B52 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST SWAP1 POP DUP1 PUSH6 0xFFFFFFFFFFFF AND DUP3 GT PUSH2 0x1B6E JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x1B80 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP4 PUSH2 0x3ACF JUMP JUMPDEST DUP5 PUSH1 0x4 ADD SLOAD GT ISZERO PUSH2 0x1B96 JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BAC PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BD5 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0x30 SHL NOT AND PUSH1 0x1 PUSH1 0x30 SHL OR SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP PUSH32 0x789CF55BE980739DAD1D0699B93B58E806B51C9D96619BFA8FE0A28ABAA7B30C SWAP1 PUSH2 0x1C2E SWAP1 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x93BCF40B1DE68D22878E9394837DD4B08DAE46EE73BC722CCCFFECDADBE44145 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1C70 SWAP2 SWAP1 PUSH2 0x3D14 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C8C PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CFC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D20 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST LT PUSH2 0x1D78 JUMPI PUSH1 0x0 PUSH2 0x1D2F PUSH2 0xC95 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x1343 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DCD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DF1 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x1DFA DUP5 PUSH2 0x1250 JUMP JUMPDEST PUSH2 0x430 SWAP2 SWAP1 PUSH2 0x3BD7 JUMP JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x1E10 JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E1A PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x25 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP4 SWAP1 PUSH32 0xCD8165BF95AB7C7EC457210098E726B4261032710B47126B883CA5247AFDD837 SWAP1 PUSH2 0x1E64 SWAP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E7C PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB PUSH1 0x1 PUSH1 0x80 SHL DUP3 DIV DUP2 AND SWAP2 DUP2 AND PUSH1 0x1 DUP4 ADD SWAP1 SWAP2 AND SUB PUSH2 0x1ECA JUMPI PUSH1 0x40 MLOAD PUSH4 0x8ACB5F27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE DUP4 SLOAD SWAP2 SWAP1 SWAP3 ADD DUP3 AND PUSH1 0x1 PUSH1 0x80 SHL MUL SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F0A PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE38335E5 CALLVALUE DUP8 DUP8 DUP8 PUSH1 0x0 PUSH2 0x1F30 DUP10 DUP16 PUSH2 0x2895 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP8 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F50 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3C12 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1F69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1F7D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 SWAP8 DUP9 MSTORE POP POP PUSH1 0x7 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1FB1 JUMPI PUSH2 0x1FB1 PUSH2 0x393B JUMP JUMPDEST EQ DUP1 PUSH2 0x442 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1FCC JUMPI PUSH2 0x1FCC PUSH2 0x393B JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SWAP1 PUSH1 0x34 DUP2 LT ISZERO PUSH2 0x1FEB JUMPI PUSH1 0x1 SWAP2 POP POP PUSH2 0x442 JUMP JUMPDEST DUP3 DUP2 ADD PUSH1 0x13 NOT ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH12 0x46E0E4DEE0DEE6CAE47A60F PUSH1 0xA3 SHL EQ PUSH2 0x201E JUMPI PUSH1 0x1 SWAP3 POP POP POP PUSH2 0x442 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x202C PUSH1 0x28 DUP6 PUSH2 0x3ACF JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x20A3 JUMPI PUSH1 0x0 DUP1 PUSH2 0x2063 DUP9 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x204F JUMPI PUSH2 0x204F PUSH2 0x396A JUMP JUMPDEST ADD PUSH1 0x20 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND PUSH2 0x29B8 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x207B JUMPI PUSH1 0x1 SWAP7 POP POP POP POP POP POP POP PUSH2 0x442 JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 SHL OR SWAP4 POP POP POP DUP1 PUSH2 0x209C SWAP1 PUSH2 0x3996 JUMP JUMPDEST SWAP1 POP PUSH2 0x202F JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20CE PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x9 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x21A4 JUMPI PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x21A2 JUMPI PUSH1 0x0 PUSH2 0x210E DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2101 JUMPI PUSH2 0x2101 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x2A4A JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2128 JUMPI PUSH2 0x2128 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP6 AND DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x218F JUMPI PUSH1 0x40 MLOAD PUSH4 0x294080F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST POP DUP1 PUSH2 0x219A DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x20E1 JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21B4 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 DUP3 PUSH1 0xB ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x220F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2233 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x223C DUP7 PUSH2 0x2A79 JUMP JUMPDEST PUSH2 0x2246 SWAP2 SWAP1 PUSH2 0x3CB8 JUMP JUMPDEST PUSH2 0x2250 SWAP2 SWAP1 PUSH2 0x3D3D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x225D DUP6 PUSH2 0x2AEB JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x226F JUMPI SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH2 0x3D5F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22B1 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1C ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x22CD JUMPI PUSH2 0x22CD PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x22DE JUMPI PUSH2 0x22DE PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD PUSH1 0x1B DUP6 ADD SLOAD SWAP3 MLOAD PUSH4 0xD206885D PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP4 POP SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6D5E3032 SWAP1 DUP3 SWAP1 PUSH4 0xD206885D SWAP1 PUSH2 0x232F SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x39AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x234C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2370 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x238E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x23AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x23CF SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x2404 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B60E79 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x725 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2415 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 ADD PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP9 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP DUP7 DUP2 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP8 DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 DUP2 PUSH1 0x2 ADD PUSH1 0x4 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP5 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP DUP3 DUP3 PUSH1 0x15 ADD PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x24EA JUMPI PUSH2 0x24EA PUSH2 0x393B JUMP JUMPDEST MUL OR SWAP1 SSTORE POP POP PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0x21 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP8 MSTORE SWAP6 KECCAK256 SWAP1 SWAP5 ADD SWAP7 SWAP1 SWAP7 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2527 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP9 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2584 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x25A8 SWAP2 SWAP1 PUSH2 0x3CF7 JUMP JUMPDEST PUSH2 0x25F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A207472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0x2628 SWAP1 DUP5 SWAP1 PUSH2 0x3BD7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x26C1 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x267D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x26A1 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x2B35 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x26CE DUP7 PUSH2 0x2BEB JUMP JUMPDEST PUSH2 0x26D8 SWAP1 DUP4 PUSH2 0x3D72 JUMP JUMPDEST SWAP1 POP PUSH2 0x276B PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2726 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x274A SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x2C1A JUMP JUMPDEST POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x65C1DF56BBA34C409163F3295407AB399DF5A4D9BF3DD0288416D6041CDC272C DUP9 PUSH1 0x40 MLOAD PUSH2 0x27A9 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0x9C2B0D68F5EDFD1BF6158A1867ACED894EFCFCF77C7A7603CB571E18CE89AE76 DUP11 DUP11 DUP13 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2801 JUMPI PUSH2 0x2801 PUSH2 0x324B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2834 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x281F JUMPI SWAP1 POP JUMPDEST POP DUP12 DUP12 DUP11 PUSH1 0x40 MLOAD PUSH2 0x284A SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D99 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP8 PUSH32 0x6D04097725B4D82FBE72E4FD0FD1798C60A7B1BBC328842680C83AC06B1B0ADA DUP3 PUSH1 0x40 MLOAD PUSH2 0x2882 SWAP2 SWAP1 PUSH2 0x3BC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT AND XOR SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0x30 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH2 0x3D5F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28DF PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x290B PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x2954 PUSH2 0x293D DUP7 PUSH2 0x1250 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x294F JUMPI PUSH2 0x294F PUSH2 0x393B JUMP JUMPDEST PUSH2 0x2C35 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2969 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2991 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0xF8 DUP4 SWAP1 SHR PUSH1 0x2F DUP2 GT DUP1 ISZERO PUSH2 0x29D3 JUMPI POP PUSH1 0x3A DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x29E8 JUMPI PUSH1 0x1 SWAP5 PUSH1 0x2F NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x40 LT DUP1 ISZERO PUSH2 0x29FE JUMPI POP PUSH1 0x47 DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A13 JUMPI PUSH1 0x1 SWAP5 PUSH1 0x36 NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x60 LT DUP1 ISZERO PUSH2 0x2A29 JUMPI POP PUSH1 0x67 DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A3E JUMPI PUSH1 0x1 SWAP5 PUSH1 0x56 NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP4 DUP5 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 MLOAD LT ISZERO PUSH2 0x2A71 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x1A800FB PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x3D14 JUMP JUMPDEST POP PUSH1 0x20 ADD MLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A84 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A8F DUP4 PUSH2 0x1F9C JUMP JUMPDEST PUSH2 0x2AAB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP1 PUSH2 0x3E50 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2AC3 JUMPI PUSH2 0x2AC3 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2AD4 JUMPI PUSH2 0x2AD4 PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2AF6 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B01 DUP4 PUSH2 0x1F9C JUMP JUMPDEST PUSH2 0x2B1D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP1 PUSH2 0x3E50 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2AC3 JUMPI PUSH2 0x2AC3 PUSH2 0x393B JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2B94 JUMPI PUSH1 0x0 PUSH2 0x2B50 DUP5 PUSH2 0x2CD1 JUMP JUMPDEST PUSH2 0x2B5A SWAP1 DUP6 PUSH2 0x3ACF JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x2B84 JUMPI DUP1 SWAP2 POP PUSH2 0x2B92 JUMP JUMPDEST PUSH2 0x2B8F DUP2 PUSH1 0x1 PUSH2 0x3BD7 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x2BA2 DUP8 DUP8 DUP6 DUP6 PUSH2 0x2DB9 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2BDD JUMPI PUSH2 0x2BC7 DUP8 PUSH2 0x2BB9 PUSH1 0x1 DUP5 PUSH2 0x3ACF JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2BE0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0xD0 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH2 0x3D5F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C28 DUP6 DUP6 DUP6 PUSH2 0x2E13 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C40 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x2C4E DUP6 DUP6 PUSH2 0x2F8D JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2C99 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2CBD SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x2CC7 SWAP2 SWAP1 PUSH2 0x3CB8 JUMP JUMPDEST PUSH2 0x1384 SWAP2 SWAP1 PUSH2 0x3D3D JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x2CE3 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x2CF0 DUP5 PUSH2 0x2FAD JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D09 JUMPI PUSH2 0x2D09 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D21 JUMPI PUSH2 0x2D21 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D39 JUMPI PUSH2 0x2D39 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D51 JUMPI PUSH2 0x2D51 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D69 JUMPI PUSH2 0x2D69 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D81 JUMPI PUSH2 0x2D81 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D99 JUMPI PUSH2 0x2D99 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x430 DUP2 DUP3 DUP6 DUP2 PUSH2 0x2DB3 JUMPI PUSH2 0x2DB3 PUSH2 0x3D27 JUMP JUMPDEST DIV PUSH2 0x3041 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x226F JUMPI PUSH1 0x0 PUSH2 0x2DD0 DUP5 DUP5 PUSH2 0x3057 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x2DFF JUMPI DUP1 SWAP3 POP PUSH2 0x2E0D JUMP JUMPDEST PUSH2 0x2E0A DUP2 PUSH1 0x1 PUSH2 0x3BD7 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x2DBC JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x2F32 JUMPI PUSH1 0x0 PUSH2 0x2E31 DUP8 PUSH2 0x2BB9 PUSH1 0x1 DUP6 PUSH2 0x3ACF JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x2E85 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x2ED1 JUMPI DUP5 PUSH2 0x2EA8 DUP9 PUSH2 0x2BB9 PUSH1 0x1 DUP7 PUSH2 0x3ACF JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x2F22 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x2C2D SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x2C2D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x430 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2FA8 JUMPI PUSH2 0x2FA8 PUSH2 0x393B JUMP JUMPDEST PUSH2 0x3072 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x2FC2 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x2FD4 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x2FE6 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x2FF8 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x300A JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x301C JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x302E JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x442 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x3050 JUMPI DUP2 PUSH2 0x430 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3066 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x3D3D JUMP JUMPDEST PUSH2 0x430 SWAP1 DUP5 DUP5 AND PUSH2 0x3BD7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x307D PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3099 JUMPI PUSH2 0x3099 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30AA JUMPI PUSH2 0x30AA PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30D6 JUMPI PUSH2 0x30D6 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30E7 JUMPI PUSH2 0x30E7 PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x3102 PUSH1 0x1 DUP5 PUSH2 0x3ACF JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x3112 JUMPI PUSH2 0x3112 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x3158 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x442 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x31A9 PUSH2 0x3164 DUP10 PUSH2 0x28A6 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x317C JUMPI PUSH2 0x317C PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x318D JUMPI PUSH2 0x318D PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x2B35 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x31CA SWAP1 PUSH2 0x3E9B JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x31DA JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x31F8 SWAP2 SWAP1 PUSH2 0x3219 JUMP JUMPDEST POP JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x31F8 SWAP2 SWAP1 PUSH2 0x322E JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x321A JUMP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0x0 PUSH2 0x3242 DUP3 DUP3 PUSH2 0x31BE JUMP JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x322E JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x3289 JUMPI PUSH2 0x3289 PUSH2 0x324B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x32AA JUMPI PUSH2 0x32AA PUSH2 0x324B JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x32CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x32E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x32F6 PUSH2 0x32F1 DUP4 PUSH2 0x3291 JUMP JUMPDEST PUSH2 0x3261 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x3337 JUMPI PUSH2 0x332A DUP2 PUSH2 0x32B4 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3319 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3353 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x3363 PUSH2 0x32F1 DUP4 PUSH2 0x3291 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3382 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x3337 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3386 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT ISZERO PUSH2 0x33B6 JUMPI PUSH2 0x33B6 PUSH2 0x324B JUMP JUMPDEST PUSH2 0x33C9 PUSH1 0x1F DUP5 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x3261 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x33DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x3415 PUSH2 0x32F1 DUP4 PUSH2 0x3291 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x3337 JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3457 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP8 ADD PUSH1 0x3F DUP2 ADD DUP10 SGT PUSH2 0x3469 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x347A DUP10 DUP7 DUP4 ADD CALLDATALOAD PUSH1 0x40 DUP5 ADD PUSH2 0x339D JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3438 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x430 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x339D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x34C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x34DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x34E8 DUP13 DUP4 DUP14 ADD PUSH2 0x32D0 JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x350A DUP13 DUP4 DUP14 ADD PUSH2 0x3342 JUMP JUMPDEST SWAP9 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3520 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x352C DUP13 DUP4 DUP14 ADD PUSH2 0x33F4 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x354E DUP13 DUP4 DUP14 ADD PUSH2 0x3488 JUMP JUMPDEST SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP5 POP PUSH2 0x356A PUSH1 0xC0 DUP13 ADD PUSH2 0x32B4 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3580 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x358D DUP12 DUP3 DUP13 ADD PUSH2 0x3488 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x35B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35BE DUP7 PUSH2 0x32B4 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x35DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35E6 DUP10 DUP4 DUP11 ADD PUSH2 0x32D0 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x35FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3608 DUP10 DUP4 DUP11 ADD PUSH2 0x3342 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x361E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x362B DUP9 DUP3 DUP10 ADD PUSH2 0x33F4 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP3 SWAP6 PUSH1 0x80 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x364F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x368E JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x3672 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x31F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x32CB DUP2 PUSH2 0x369A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x36CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x36D7 DUP9 PUSH2 0x32B4 JUMP JUMPDEST SWAP7 POP PUSH2 0x36E5 PUSH1 0x20 DUP10 ADD PUSH2 0x36A8 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x3701 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x370D DUP12 DUP4 DUP13 ADD PUSH2 0x32D0 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3723 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x372F DUP12 DUP4 DUP13 ADD PUSH2 0x3342 JUMP JUMPDEST SWAP6 POP PUSH1 0x80 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3745 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3751 DUP12 DUP4 DUP13 ADD PUSH2 0x33F4 JUMP JUMPDEST SWAP5 POP PUSH1 0xA0 DUP11 ADD CALLDATALOAD SWAP4 POP PUSH1 0xC0 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x376E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x377B DUP11 DUP3 DUP12 ADD PUSH2 0x3488 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x37A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x37BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x37C8 DUP12 DUP4 DUP13 ADD PUSH2 0x32D0 JUMP JUMPDEST SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x37DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x37EA DUP12 DUP4 DUP13 ADD PUSH2 0x3342 JUMP JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3800 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x380C DUP12 DUP4 DUP13 ADD PUSH2 0x33F4 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3822 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x382F DUP11 DUP3 DUP12 ADD PUSH2 0x3488 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP5 SWAP8 PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP7 PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP7 POP PUSH1 0xC0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3877 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x385B JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP4 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x38DF JUMPI DUP3 DUP5 SUB DUP10 MSTORE PUSH2 0x38CD DUP5 DUP4 MLOAD PUSH2 0x3851 JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x38B5 JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x38FF PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x3851 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x40 DUP6 ADD MSTORE DUP6 AND PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x392F DUP2 DUP6 PUSH2 0x3897 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3963 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x39A8 JUMPI PUSH2 0x39A8 PUSH2 0x3980 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP2 GT ISZERO PUSH2 0x442 JUMPI PUSH2 0x442 PUSH2 0x3980 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH2 0x3A17 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x39FD JUMPI PUSH2 0x39FD PUSH2 0x3980 JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH2 0x3A0A JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH2 0x39E1 JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3A2E JUMPI POP PUSH1 0x1 PUSH2 0x442 JUMP JUMPDEST DUP2 PUSH2 0x3A3B JUMPI POP PUSH1 0x0 PUSH2 0x442 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x3A51 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x3A5B JUMPI PUSH2 0x3A77 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x442 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x3A6C JUMPI PUSH2 0x3A6C PUSH2 0x3980 JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH2 0x442 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x3A9A JUMPI POP DUP2 DUP2 EXP PUSH2 0x442 JUMP JUMPDEST PUSH2 0x3AA4 DUP4 DUP4 PUSH2 0x39DC JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x3AB8 JUMPI PUSH2 0x3AB8 PUSH2 0x3980 JUMP JUMPDEST MUL SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x430 PUSH1 0xFF DUP5 AND DUP4 PUSH2 0x3A1F JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x442 JUMPI PUSH2 0x442 PUSH2 0x3980 JUMP JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x3AF2 JUMPI PUSH2 0x3AF2 PUSH2 0x393B JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH2 0x430 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3AE2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3B43 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3B1E JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3B43 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3B62 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3B91 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x3B0A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3BA3 DUP2 DUP8 PUSH2 0x3B4E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3BB7 DUP2 DUP7 PUSH2 0x3897 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x442 DUP3 DUP5 PUSH2 0x3AE2 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x442 JUMPI PUSH2 0x442 PUSH2 0x3980 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x3C01 JUMPI PUSH2 0x3C01 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3C25 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x3B0A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3C37 DUP2 DUP9 PUSH2 0x3B4E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3C4B DUP2 DUP8 PUSH2 0x3897 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3C73 PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x3B0A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3C85 DUP2 DUP10 PUSH2 0x3B4E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3C99 DUP2 DUP9 PUSH2 0x3897 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x442 JUMPI PUSH2 0x442 PUSH2 0x3980 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3CE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x430 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x430 DUP2 PUSH2 0x369A JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x430 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3851 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3D5A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x3D92 JUMPI PUSH2 0x3D92 PUSH2 0x3980 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3DAC PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x3B0A JUMP JUMPDEST PUSH1 0x20 DUP4 DUP3 SUB DUP2 DUP6 ADD MSTORE PUSH2 0x3DBF DUP3 DUP11 PUSH2 0x3B4E JUMP JUMPDEST SWAP2 POP DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE DUP2 DUP9 MLOAD DUP1 DUP5 MSTORE DUP3 DUP5 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD DUP4 DUP12 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3E10 JUMPI PUSH1 0x1F NOT DUP8 DUP5 SUB ADD DUP6 MSTORE PUSH2 0x3DFE DUP4 DUP4 MLOAD PUSH2 0x3851 JUMP JUMPDEST SWAP5 DUP7 ADD SWAP5 SWAP3 POP SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3DE2 JUMP JUMPDEST POP POP DUP7 DUP2 SUB PUSH1 0x60 DUP9 ADD MSTORE PUSH2 0x3E24 DUP2 DUP12 PUSH2 0x3897 JUMP JUMPDEST SWAP5 POP POP POP POP POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3E3C DUP2 DUP7 PUSH2 0x3851 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xA0 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x3EAF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3ECF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEA 0xBD 0xDC 0xCF SWAP6 0x2D DUP15 STOP 0x5C 0x27 0xD8 MULMOD 0xCB PUSH23 0x6D9B377603E597F8FA6DEC9A8600B4AA174C64736F6C63 NUMBER STOP ADDMOD EQ STOP CALLER ","sourceMap":"2294:37952:104:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2294:37952:104;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_canProposalStartInNextRound_59910":{"entryPoint":6628,"id":59910,"parameterSlots":0,"returnSlots":1},"@_cancel_59854":{"entryPoint":7114,"id":59854,"parameterSlots":3,"returnSlots":1},"@_depositThresholdByProposalType_57594":{"entryPoint":8617,"id":57594,"parameterSlots":1,"returnSlots":1},"@_emitProposalCreatedEvents_59389":{"entryPoint":10169,"id":59389,"parameterSlots":9,"returnSlots":0},"@_executeOperations_59728":{"entryPoint":7936,"id":59728,"parameterSlots":6,"returnSlots":0},"@_insert_9806":{"entryPoint":11795,"id":9806,"parameterSlots":3,"returnSlots":2},"@_proposalDeadline_60068":{"entryPoint":7297,"id":60068,"parameterSlots":1,"returnSlots":1},"@_proposalSnapshot_60010":{"entryPoint":4688,"id":60010,"parameterSlots":1,"returnSlots":1},"@_propose_59340":{"entryPoint":3924,"id":59340,"parameterSlots":9,"returnSlots":1},"@_queueOperations_59811":{"entryPoint":4264,"id":59811,"parameterSlots":6,"returnSlots":1},"@_quorumNumeratorByProposalType_60689":{"entryPoint":12402,"id":60689,"parameterSlots":2,"returnSlots":1},"@_setProposal_59626":{"entryPoint":9227,"id":59626,"parameterSlots":8,"returnSlots":0},"@_state_61095":{"entryPoint":5693,"id":61095,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":11705,"id":9858,"parameterSlots":4,"returnSlots":1},"@_validateProposer_59674":{"entryPoint":8871,"id":59674,"parameterSlots":2,"returnSlots":0},"@average_6189":{"entryPoint":12375,"id":6189,"parameterSlots":2,"returnSlots":1},"@canProposalStartInNextRound_58287":{"entryPoint":1621,"id":58287,"parameterSlots":0,"returnSlots":1},"@cancel_59082":{"entryPoint":1728,"id":59082,"parameterSlots":7,"returnSlots":1},"@checkFunctionsRestriction_57848":{"entryPoint":8388,"id":57848,"parameterSlots":2,"returnSlots":0},"@clear_10744":{"entryPoint":null,"id":10744,"parameterSlots":1,"returnSlots":0},"@depositFunds_57435":{"entryPoint":9501,"id":57435,"parameterSlots":3,"returnSlots":0},"@empty_10780":{"entryPoint":null,"id":10780,"parameterSlots":1,"returnSlots":1},"@encodeStateBitmap_60890":{"entryPoint":4166,"id":60890,"parameterSlots":1,"returnSlots":1},"@execute_58925":{"entryPoint":2812,"id":58925,"parameterSlots":5,"returnSlots":1},"@executor_57929":{"entryPoint":7793,"id":57929,"parameterSlots":0,"returnSlots":1},"@extractFunctionSelector_57872":{"entryPoint":10826,"id":57872,"parameterSlots":1,"returnSlots":1},"@getActiveProposals_58480":{"entryPoint":1096,"id":58480,"parameterSlots":0,"returnSlots":1},"@getDepositThresholdCap_56943":{"entryPoint":10987,"id":56943,"parameterSlots":1,"returnSlots":1},"@getDepositThresholdPercentage_56891":{"entryPoint":10873,"id":56891,"parameterSlots":1,"returnSlots":1},"@getGovernorStorage_61139":{"entryPoint":3221,"id":61139,"parameterSlots":0,"returnSlots":1},"@hashProposal_58179":{"entryPoint":3257,"id":58179,"parameterSlots":4,"returnSlots":1},"@isValidDescriptionForProposer_60160":{"entryPoint":8147,"id":60160,"parameterSlots":2,"returnSlots":1},"@isValidProposalType_60182":{"entryPoint":8092,"id":60182,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":12205,"id":6671,"parameterSlots":1,"returnSlots":1},"@markAsCompleted_59146":{"entryPoint":2245,"id":59146,"parameterSlots":1,"returnSlots":0},"@min_6166":{"entryPoint":12353,"id":6166,"parameterSlots":2,"returnSlots":1},"@proposalDeadline_58277":{"entryPoint":2234,"id":58277,"parameterSlots":1,"returnSlots":1},"@proposalDepositReached_57544":{"entryPoint":10452,"id":57544,"parameterSlots":1,"returnSlots":1},"@proposalEta_58227":{"entryPoint":10630,"id":58227,"parameterSlots":1,"returnSlots":1},"@proposalNeedsQueuing_58697":{"entryPoint":1636,"id":58697,"parameterSlots":1,"returnSlots":1},"@proposalProposer_58203":{"entryPoint":7073,"id":58203,"parameterSlots":1,"returnSlots":1},"@proposalSnapshot_58264":{"entryPoint":1079,"id":58264,"parameterSlots":1,"returnSlots":1},"@proposalType_58359":{"entryPoint":1021,"id":58359,"parameterSlots":1,"returnSlots":1},"@proposeGrant_58652":{"entryPoint":574,"id":58652,"parameterSlots":8,"returnSlots":1},"@propose_58561":{"entryPoint":2720,"id":58561,"parameterSlots":7,"returnSlots":1},"@pushBack_10511":{"entryPoint":7823,"id":10511,"parameterSlots":2,"returnSlots":0},"@push_9437":{"entryPoint":11290,"id":9437,"parameterSlots":3,"returnSlots":2},"@queue_58783":{"entryPoint":785,"id":58783,"parameterSlots":5,"returnSlots":1},"@quorumByProposalType_60543":{"entryPoint":11317,"id":60543,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_60305":{"entryPoint":null,"id":60305,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_60403":{"entryPoint":12173,"id":60403,"parameterSlots":2,"returnSlots":1},"@quorumReached_60616":{"entryPoint":10496,"id":60616,"parameterSlots":1,"returnSlots":1},"@resetDevelopmentState_59235":{"entryPoint":2432,"id":59235,"parameterSlots":1,"returnSlots":0},"@setProposalBudget_55338":{"entryPoint":7684,"id":55338,"parameterSlots":2,"returnSlots":0},"@sqrt_6504":{"entryPoint":11473,"id":6504,"parameterSlots":1,"returnSlots":1},"@timelockSalt_57907":{"entryPoint":10389,"id":57907,"parameterSlots":2,"returnSlots":1},"@toUint208_7210":{"entryPoint":11243,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint32_7826":{"entryPoint":8823,"id":7826,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":10406,"id":7770,"parameterSlots":1,"returnSlots":1},"@tryHexToUint_60251":{"entryPoint":10680,"id":60251,"parameterSlots":1,"returnSlots":2},"@upperLookupRecent_9604":{"entryPoint":11061,"id":9604,"parameterSlots":2,"returnSlots":1},"@validateProposeParams_59532":{"entryPoint":3315,"id":59532,"parameterSlots":8,"returnSlots":0},"@validateStateBitmap_60870":{"entryPoint":4201,"id":60870,"parameterSlots":2,"returnSlots":1},"@voteSucceeded_61728":{"entryPoint":10590,"id":61728,"parameterSlots":1,"returnSlots":1},"abi_decode_address":{"entryPoint":12980,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_address_dyn":{"entryPoint":13008,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes_dyn":{"entryPoint":13300,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":13122,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_bytes":{"entryPoint":13213,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_bool":{"entryPoint":13992,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string":{"entryPoint":13448,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32":{"entryPoint":13725,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_boolt_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr":{"entryPoint":14003,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr":{"entryPoint":13480,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_uint256":{"entryPoint":14218,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":15607,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":13885,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":14673,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":15567,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_address_dyn":{"entryPoint":15114,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_bytes_dyn":{"entryPoint":14487,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_uint256_dyn":{"entryPoint":15182,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_enum_ProposalType":{"entryPoint":15074,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_string":{"entryPoint":14417,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":14767,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed":{"entryPoint":15230,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":15378,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":15456,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed":{"entryPoint":15769,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":13910,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_ProposalType_$61431__to_t_uint8__fromStack_reversed":{"entryPoint":15305,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":15711,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15636,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":14572,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15952,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":15338,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":15094,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":12897,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_array_address_dyn":{"entryPoint":12945,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint208":{"entryPoint":15730,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":15319,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint8":{"entryPoint":14787,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":15677,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_helper":{"entryPoint":14812,"id":null,"parameterSlots":2,"returnSlots":2},"checked_exp_t_uint256_t_uint8":{"entryPoint":15040,"id":null,"parameterSlots":2,"returnSlots":1},"checked_exp_unsigned":{"entryPoint":14879,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":15544,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":15055,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":16027,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":14742,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":14720,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":15655,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":14651,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":14698,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":12875,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bool":{"entryPoint":13978,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:27077:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:150"},"nodeType":"YulFunctionCall","src":"66:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:150"},"nodeType":"YulFunctionCall","src":"56:31:150"},"nodeType":"YulExpressionStatement","src":"56:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:150"},"nodeType":"YulFunctionCall","src":"96:15:150"},"nodeType":"YulExpressionStatement","src":"96:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:150"},"nodeType":"YulFunctionCall","src":"120:15:150"},"nodeType":"YulExpressionStatement","src":"120:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:150"},{"body":{"nodeType":"YulBlock","src":"191:230:150","statements":[{"nodeType":"YulAssignment","src":"201:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"217:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"211:5:150"},"nodeType":"YulFunctionCall","src":"211:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"201:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"229:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"251:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"267:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"273:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"263:3:150"},"nodeType":"YulFunctionCall","src":"263:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"282:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"278:3:150"},"nodeType":"YulFunctionCall","src":"278:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"259:3:150"},"nodeType":"YulFunctionCall","src":"259:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"247:3:150"},"nodeType":"YulFunctionCall","src":"247:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"233:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"362:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"364:16:150"},"nodeType":"YulFunctionCall","src":"364:18:150"},"nodeType":"YulExpressionStatement","src":"364:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"305:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"325:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"329:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"321:3:150"},"nodeType":"YulFunctionCall","src":"321:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"333:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"317:3:150"},"nodeType":"YulFunctionCall","src":"317:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"302:2:150"},"nodeType":"YulFunctionCall","src":"302:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"341:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"353:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"338:2:150"},"nodeType":"YulFunctionCall","src":"338:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"299:2:150"},"nodeType":"YulFunctionCall","src":"299:62:150"},"nodeType":"YulIf","src":"296:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"400:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"404:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"393:6:150"},"nodeType":"YulFunctionCall","src":"393:22:150"},"nodeType":"YulExpressionStatement","src":"393:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"171:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"180:6:150","type":""}],"src":"146:275:150"},{"body":{"nodeType":"YulBlock","src":"495:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"539:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"541:16:150"},"nodeType":"YulFunctionCall","src":"541:18:150"},"nodeType":"YulExpressionStatement","src":"541:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"511:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"527:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"531:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"523:3:150"},"nodeType":"YulFunctionCall","src":"523:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"535:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"519:3:150"},"nodeType":"YulFunctionCall","src":"519:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"508:2:150"},"nodeType":"YulFunctionCall","src":"508:30:150"},"nodeType":"YulIf","src":"505:56:150"},{"nodeType":"YulAssignment","src":"570:33:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"586:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"589:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"582:3:150"},"nodeType":"YulFunctionCall","src":"582:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"598:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"578:3:150"},"nodeType":"YulFunctionCall","src":"578:25:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"570:4:150"}]}]},"name":"array_allocation_size_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"475:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"486:4:150","type":""}],"src":"426:183:150"},{"body":{"nodeType":"YulBlock","src":"663:124:150","statements":[{"nodeType":"YulAssignment","src":"673:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"695:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"682:12:150"},"nodeType":"YulFunctionCall","src":"682:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"673:5:150"}]},{"body":{"nodeType":"YulBlock","src":"765:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"774:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"777:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"767:6:150"},"nodeType":"YulFunctionCall","src":"767:12:150"},"nodeType":"YulExpressionStatement","src":"767:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"724:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"735:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"750:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"755:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"746:3:150"},"nodeType":"YulFunctionCall","src":"746:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"759:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"742:3:150"},"nodeType":"YulFunctionCall","src":"742:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"731:3:150"},"nodeType":"YulFunctionCall","src":"731:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"721:2:150"},"nodeType":"YulFunctionCall","src":"721:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"714:6:150"},"nodeType":"YulFunctionCall","src":"714:50:150"},"nodeType":"YulIf","src":"711:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"642:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"653:5:150","type":""}],"src":"614:173:150"},{"body":{"nodeType":"YulBlock","src":"856:604:150","statements":[{"body":{"nodeType":"YulBlock","src":"905:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"914:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"917:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"907:6:150"},"nodeType":"YulFunctionCall","src":"907:12:150"},"nodeType":"YulExpressionStatement","src":"907:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"884:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"892:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"880:3:150"},"nodeType":"YulFunctionCall","src":"880:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"899:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"876:3:150"},"nodeType":"YulFunctionCall","src":"876:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"869:6:150"},"nodeType":"YulFunctionCall","src":"869:35:150"},"nodeType":"YulIf","src":"866:55:150"},{"nodeType":"YulVariableDeclaration","src":"930:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"953:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"940:12:150"},"nodeType":"YulFunctionCall","src":"940:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"934:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"969:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"979:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"973:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"992:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1059:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"1019:39:150"},"nodeType":"YulFunctionCall","src":"1019:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1003:15:150"},"nodeType":"YulFunctionCall","src":"1003:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"996:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1072:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"1085:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"1076:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1104:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1109:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1097:6:150"},"nodeType":"YulFunctionCall","src":"1097:15:150"},"nodeType":"YulExpressionStatement","src":"1097:15:150"},{"nodeType":"YulAssignment","src":"1121:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1132:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1137:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1128:3:150"},"nodeType":"YulFunctionCall","src":"1128:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1121:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1149:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1171:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1183:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1186:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1179:3:150"},"nodeType":"YulFunctionCall","src":"1179:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1167:3:150"},"nodeType":"YulFunctionCall","src":"1167:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1192:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1163:3:150"},"nodeType":"YulFunctionCall","src":"1163:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1153:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1223:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1232:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1235:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1225:6:150"},"nodeType":"YulFunctionCall","src":"1225:12:150"},"nodeType":"YulExpressionStatement","src":"1225:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1210:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"1218:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1207:2:150"},"nodeType":"YulFunctionCall","src":"1207:15:150"},"nodeType":"YulIf","src":"1204:35:150"},{"nodeType":"YulVariableDeclaration","src":"1248:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1263:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1271:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1259:3:150"},"nodeType":"YulFunctionCall","src":"1259:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1252:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1339:92:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1360:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1384:3:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1365:18:150"},"nodeType":"YulFunctionCall","src":"1365:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1353:6:150"},"nodeType":"YulFunctionCall","src":"1353:36:150"},"nodeType":"YulExpressionStatement","src":"1353:36:150"},{"nodeType":"YulAssignment","src":"1402:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1413:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1418:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1409:3:150"},"nodeType":"YulFunctionCall","src":"1409:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1402:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1294:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1299:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1291:2:150"},"nodeType":"YulFunctionCall","src":"1291:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1307:23:150","statements":[{"nodeType":"YulAssignment","src":"1309:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1320:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1325:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1316:3:150"},"nodeType":"YulFunctionCall","src":"1316:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1309:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1287:3:150","statements":[]},"src":"1283:148:150"},{"nodeType":"YulAssignment","src":"1440:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"1449:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1440:5:150"}]}]},"name":"abi_decode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"830:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"838:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"846:5:150","type":""}],"src":"792:668:150"},{"body":{"nodeType":"YulBlock","src":"1529:598:150","statements":[{"body":{"nodeType":"YulBlock","src":"1578:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1587:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1590:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1580:6:150"},"nodeType":"YulFunctionCall","src":"1580:12:150"},"nodeType":"YulExpressionStatement","src":"1580:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1557:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1565:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1553:3:150"},"nodeType":"YulFunctionCall","src":"1553:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"1572:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1549:3:150"},"nodeType":"YulFunctionCall","src":"1549:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1542:6:150"},"nodeType":"YulFunctionCall","src":"1542:35:150"},"nodeType":"YulIf","src":"1539:55:150"},{"nodeType":"YulVariableDeclaration","src":"1603:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1626:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1613:12:150"},"nodeType":"YulFunctionCall","src":"1613:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1607:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1642:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1652:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1646:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1665:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1732:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"1692:39:150"},"nodeType":"YulFunctionCall","src":"1692:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1676:15:150"},"nodeType":"YulFunctionCall","src":"1676:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1669:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1745:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"1758:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"1749:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1777:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1782:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1770:6:150"},"nodeType":"YulFunctionCall","src":"1770:15:150"},"nodeType":"YulExpressionStatement","src":"1770:15:150"},{"nodeType":"YulAssignment","src":"1794:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1805:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1810:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1801:3:150"},"nodeType":"YulFunctionCall","src":"1801:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1794:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1822:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1844:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1856:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1859:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1852:3:150"},"nodeType":"YulFunctionCall","src":"1852:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1840:3:150"},"nodeType":"YulFunctionCall","src":"1840:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1865:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1836:3:150"},"nodeType":"YulFunctionCall","src":"1836:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1826:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1896:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1905:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1908:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1898:6:150"},"nodeType":"YulFunctionCall","src":"1898:12:150"},"nodeType":"YulExpressionStatement","src":"1898:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1883:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"1891:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1880:2:150"},"nodeType":"YulFunctionCall","src":"1880:15:150"},"nodeType":"YulIf","src":"1877:35:150"},{"nodeType":"YulVariableDeclaration","src":"1921:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1936:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1944:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1932:3:150"},"nodeType":"YulFunctionCall","src":"1932:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1925:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2012:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2033:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2051:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2038:12:150"},"nodeType":"YulFunctionCall","src":"2038:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2026:6:150"},"nodeType":"YulFunctionCall","src":"2026:30:150"},"nodeType":"YulExpressionStatement","src":"2026:30:150"},{"nodeType":"YulAssignment","src":"2069:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2080:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2085:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2076:3:150"},"nodeType":"YulFunctionCall","src":"2076:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2069:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1967:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1972:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1964:2:150"},"nodeType":"YulFunctionCall","src":"1964:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1980:23:150","statements":[{"nodeType":"YulAssignment","src":"1982:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1993:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1998:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1989:3:150"},"nodeType":"YulFunctionCall","src":"1989:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1982:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1960:3:150","statements":[]},"src":"1956:142:150"},{"nodeType":"YulAssignment","src":"2107:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2116:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2107:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1503:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"1511:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1519:5:150","type":""}],"src":"1465:662:150"},{"body":{"nodeType":"YulBlock","src":"2206:332:150","statements":[{"body":{"nodeType":"YulBlock","src":"2250:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2252:16:150"},"nodeType":"YulFunctionCall","src":"2252:18:150"},"nodeType":"YulExpressionStatement","src":"2252:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2222:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2238:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2242:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2234:3:150"},"nodeType":"YulFunctionCall","src":"2234:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2246:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2230:3:150"},"nodeType":"YulFunctionCall","src":"2230:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2219:2:150"},"nodeType":"YulFunctionCall","src":"2219:30:150"},"nodeType":"YulIf","src":"2216:56:150"},{"nodeType":"YulAssignment","src":"2281:66:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2318:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2326:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2314:3:150"},"nodeType":"YulFunctionCall","src":"2314:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2335:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2331:3:150"},"nodeType":"YulFunctionCall","src":"2331:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2310:3:150"},"nodeType":"YulFunctionCall","src":"2310:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"2341:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2306:3:150"},"nodeType":"YulFunctionCall","src":"2306:40:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2290:15:150"},"nodeType":"YulFunctionCall","src":"2290:57:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2281:5:150"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2363:5:150"},{"name":"length","nodeType":"YulIdentifier","src":"2370:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2356:6:150"},"nodeType":"YulFunctionCall","src":"2356:21:150"},"nodeType":"YulExpressionStatement","src":"2356:21:150"},{"body":{"nodeType":"YulBlock","src":"2415:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2424:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2427:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2417:6:150"},"nodeType":"YulFunctionCall","src":"2417:12:150"},"nodeType":"YulExpressionStatement","src":"2417:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2396:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2401:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2392:3:150"},"nodeType":"YulFunctionCall","src":"2392:16:150"},{"name":"end","nodeType":"YulIdentifier","src":"2410:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2389:2:150"},"nodeType":"YulFunctionCall","src":"2389:25:150"},"nodeType":"YulIf","src":"2386:45:150"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2457:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2464:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2453:3:150"},"nodeType":"YulFunctionCall","src":"2453:16:150"},{"name":"src","nodeType":"YulIdentifier","src":"2471:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2476:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"2440:12:150"},"nodeType":"YulFunctionCall","src":"2440:43:150"},"nodeType":"YulExpressionStatement","src":"2440:43:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"2507:5:150"},{"name":"length","nodeType":"YulIdentifier","src":"2514:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2503:3:150"},"nodeType":"YulFunctionCall","src":"2503:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"2523:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2499:3:150"},"nodeType":"YulFunctionCall","src":"2499:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"2530:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2492:6:150"},"nodeType":"YulFunctionCall","src":"2492:40:150"},"nodeType":"YulExpressionStatement","src":"2492:40:150"}]},"name":"abi_decode_available_length_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"2175:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"2180:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"2188:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2196:5:150","type":""}],"src":"2132:406:150"},{"body":{"nodeType":"YulBlock","src":"2605:1025:150","statements":[{"body":{"nodeType":"YulBlock","src":"2654:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2663:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2666:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2656:6:150"},"nodeType":"YulFunctionCall","src":"2656:12:150"},"nodeType":"YulExpressionStatement","src":"2656:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2633:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2641:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2629:3:150"},"nodeType":"YulFunctionCall","src":"2629:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"2648:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2625:3:150"},"nodeType":"YulFunctionCall","src":"2625:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2618:6:150"},"nodeType":"YulFunctionCall","src":"2618:35:150"},"nodeType":"YulIf","src":"2615:55:150"},{"nodeType":"YulVariableDeclaration","src":"2679:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2702:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2689:12:150"},"nodeType":"YulFunctionCall","src":"2689:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2683:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2718:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2728:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2722:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2741:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2808:2:150"}],"functionName":{"name":"array_allocation_size_array_address_dyn","nodeType":"YulIdentifier","src":"2768:39:150"},"nodeType":"YulFunctionCall","src":"2768:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2752:15:150"},"nodeType":"YulFunctionCall","src":"2752:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2745:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2821:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"2834:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2825:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2853:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2858:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2846:6:150"},"nodeType":"YulFunctionCall","src":"2846:15:150"},"nodeType":"YulExpressionStatement","src":"2846:15:150"},{"nodeType":"YulAssignment","src":"2870:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2881:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2886:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2877:3:150"},"nodeType":"YulFunctionCall","src":"2877:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2870:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2898:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2920:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2932:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"2935:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2928:3:150"},"nodeType":"YulFunctionCall","src":"2928:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2916:3:150"},"nodeType":"YulFunctionCall","src":"2916:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2941:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2912:3:150"},"nodeType":"YulFunctionCall","src":"2912:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2902:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2972:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2981:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2984:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2974:6:150"},"nodeType":"YulFunctionCall","src":"2974:12:150"},"nodeType":"YulExpressionStatement","src":"2974:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2959:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"2967:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2956:2:150"},"nodeType":"YulFunctionCall","src":"2956:15:150"},"nodeType":"YulIf","src":"2953:35:150"},{"nodeType":"YulVariableDeclaration","src":"2997:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3012:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3020:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3008:3:150"},"nodeType":"YulFunctionCall","src":"3008:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3001:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3088:513:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3102:36:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3134:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3121:12:150"},"nodeType":"YulFunctionCall","src":"3121:17:150"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"3106:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3202:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3220:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3230:1:150","type":"","value":"0"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3224:2:150","type":""}]},{"expression":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3255:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"3259:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3248:6:150"},"nodeType":"YulFunctionCall","src":"3248:14:150"},"nodeType":"YulExpressionStatement","src":"3248:14:150"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"3157:11:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3178:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3182:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3174:3:150"},"nodeType":"YulFunctionCall","src":"3174:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3186:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3170:3:150"},"nodeType":"YulFunctionCall","src":"3170:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3154:2:150"},"nodeType":"YulFunctionCall","src":"3154:35:150"},"nodeType":"YulIf","src":"3151:125:150"},{"nodeType":"YulVariableDeclaration","src":"3289:34:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3303:6:150"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"3311:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3299:3:150"},"nodeType":"YulFunctionCall","src":"3299:24:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"3293:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3381:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"3399:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3409:1:150","type":"","value":"0"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"3403:2:150","type":""}]},{"expression":{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"3434:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"3438:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3427:6:150"},"nodeType":"YulFunctionCall","src":"3427:14:150"},"nodeType":"YulExpressionStatement","src":"3427:14:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"3354:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"3358:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3350:3:150"},"nodeType":"YulFunctionCall","src":"3350:11:150"},{"name":"end","nodeType":"YulIdentifier","src":"3363:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3346:3:150"},"nodeType":"YulFunctionCall","src":"3346:21:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3339:6:150"},"nodeType":"YulFunctionCall","src":"3339:29:150"},"nodeType":"YulIf","src":"3336:119:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3475:3:150"},{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"3518:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"3522:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3514:3:150"},"nodeType":"YulFunctionCall","src":"3514:11:150"},{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"3544:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3548:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3540:3:150"},"nodeType":"YulFunctionCall","src":"3540:11:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3527:12:150"},"nodeType":"YulFunctionCall","src":"3527:25:150"},{"name":"end","nodeType":"YulIdentifier","src":"3554:3:150"}],"functionName":{"name":"abi_decode_available_length_bytes","nodeType":"YulIdentifier","src":"3480:33:150"},"nodeType":"YulFunctionCall","src":"3480:78:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3468:6:150"},"nodeType":"YulFunctionCall","src":"3468:91:150"},"nodeType":"YulExpressionStatement","src":"3468:91:150"},{"nodeType":"YulAssignment","src":"3572:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3583:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3588:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3579:3:150"},"nodeType":"YulFunctionCall","src":"3579:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3572:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3043:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"3048:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3040:2:150"},"nodeType":"YulFunctionCall","src":"3040:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3056:23:150","statements":[{"nodeType":"YulAssignment","src":"3058:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3069:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3074:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3065:3:150"},"nodeType":"YulFunctionCall","src":"3065:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3058:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3036:3:150","statements":[]},"src":"3032:569:150"},{"nodeType":"YulAssignment","src":"3610:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"3619:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3610:5:150"}]}]},"name":"abi_decode_array_bytes_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2579:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"2587:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2595:5:150","type":""}],"src":"2543:1087:150"},{"body":{"nodeType":"YulBlock","src":"3688:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"3737:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3746:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3749:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3739:6:150"},"nodeType":"YulFunctionCall","src":"3739:12:150"},"nodeType":"YulExpressionStatement","src":"3739:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3716:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3724:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3712:3:150"},"nodeType":"YulFunctionCall","src":"3712:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"3731:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3708:3:150"},"nodeType":"YulFunctionCall","src":"3708:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3701:6:150"},"nodeType":"YulFunctionCall","src":"3701:35:150"},"nodeType":"YulIf","src":"3698:55:150"},{"nodeType":"YulAssignment","src":"3762:88:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3809:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3817:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3805:3:150"},"nodeType":"YulFunctionCall","src":"3805:17:150"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3837:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3824:12:150"},"nodeType":"YulFunctionCall","src":"3824:20:150"},{"name":"end","nodeType":"YulIdentifier","src":"3846:3:150"}],"functionName":{"name":"abi_decode_available_length_bytes","nodeType":"YulIdentifier","src":"3771:33:150"},"nodeType":"YulFunctionCall","src":"3771:79:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3762:5:150"}]}]},"name":"abi_decode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3662:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"3670:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"3678:5:150","type":""}],"src":"3635:221:150"},{"body":{"nodeType":"YulBlock","src":"4154:1150:150","statements":[{"body":{"nodeType":"YulBlock","src":"4201:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4210:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4213:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4203:6:150"},"nodeType":"YulFunctionCall","src":"4203:12:150"},"nodeType":"YulExpressionStatement","src":"4203:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4175:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4184:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4171:3:150"},"nodeType":"YulFunctionCall","src":"4171:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4196:3:150","type":"","value":"256"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4167:3:150"},"nodeType":"YulFunctionCall","src":"4167:33:150"},"nodeType":"YulIf","src":"4164:53:150"},{"nodeType":"YulVariableDeclaration","src":"4226:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4253:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4240:12:150"},"nodeType":"YulFunctionCall","src":"4240:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4230:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4272:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4290:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4294:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4286:3:150"},"nodeType":"YulFunctionCall","src":"4286:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4298:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4282:3:150"},"nodeType":"YulFunctionCall","src":"4282:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4276:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4327:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4336:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4339:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4329:6:150"},"nodeType":"YulFunctionCall","src":"4329:12:150"},"nodeType":"YulExpressionStatement","src":"4329:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4315:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4323:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4312:2:150"},"nodeType":"YulFunctionCall","src":"4312:14:150"},"nodeType":"YulIf","src":"4309:34:150"},{"nodeType":"YulAssignment","src":"4352:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4395:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"4406:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4391:3:150"},"nodeType":"YulFunctionCall","src":"4391:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4415:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"4362:28:150"},"nodeType":"YulFunctionCall","src":"4362:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4352:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4432:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4465:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4476:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4461:3:150"},"nodeType":"YulFunctionCall","src":"4461:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4448:12:150"},"nodeType":"YulFunctionCall","src":"4448:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4436:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4509:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4518:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4521:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4511:6:150"},"nodeType":"YulFunctionCall","src":"4511:12:150"},"nodeType":"YulExpressionStatement","src":"4511:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"4495:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4505:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4492:2:150"},"nodeType":"YulFunctionCall","src":"4492:16:150"},"nodeType":"YulIf","src":"4489:36:150"},{"nodeType":"YulAssignment","src":"4534:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4577:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"4588:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4573:3:150"},"nodeType":"YulFunctionCall","src":"4573:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4599:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"4544:28:150"},"nodeType":"YulFunctionCall","src":"4544:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4534:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4616:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4649:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4660:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4645:3:150"},"nodeType":"YulFunctionCall","src":"4645:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4632:12:150"},"nodeType":"YulFunctionCall","src":"4632:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"4620:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4693:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4702:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4705:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4695:6:150"},"nodeType":"YulFunctionCall","src":"4695:12:150"},"nodeType":"YulExpressionStatement","src":"4695:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"4679:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4689:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4676:2:150"},"nodeType":"YulFunctionCall","src":"4676:16:150"},"nodeType":"YulIf","src":"4673:36:150"},{"nodeType":"YulAssignment","src":"4718:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4759:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"4770:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4755:3:150"},"nodeType":"YulFunctionCall","src":"4755:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4781:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"4728:26:150"},"nodeType":"YulFunctionCall","src":"4728:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4718:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4798:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4842:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4827:3:150"},"nodeType":"YulFunctionCall","src":"4827:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4814:12:150"},"nodeType":"YulFunctionCall","src":"4814:32:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"4802:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4875:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4884:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4887:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4877:6:150"},"nodeType":"YulFunctionCall","src":"4877:12:150"},"nodeType":"YulExpressionStatement","src":"4877:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"4861:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4871:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4858:2:150"},"nodeType":"YulFunctionCall","src":"4858:16:150"},"nodeType":"YulIf","src":"4855:36:150"},{"nodeType":"YulAssignment","src":"4900:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4932:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"4943:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4928:3:150"},"nodeType":"YulFunctionCall","src":"4928:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4954:7:150"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"4910:17:150"},"nodeType":"YulFunctionCall","src":"4910:52:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4900:6:150"}]},{"nodeType":"YulAssignment","src":"4971:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4998:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5009:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4994:3:150"},"nodeType":"YulFunctionCall","src":"4994:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4981:12:150"},"nodeType":"YulFunctionCall","src":"4981:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"4971:6:150"}]},{"nodeType":"YulAssignment","src":"5023:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5050:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5061:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5046:3:150"},"nodeType":"YulFunctionCall","src":"5046:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5033:12:150"},"nodeType":"YulFunctionCall","src":"5033:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"5023:6:150"}]},{"nodeType":"YulAssignment","src":"5075:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5108:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5119:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5104:3:150"},"nodeType":"YulFunctionCall","src":"5104:19:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5085:18:150"},"nodeType":"YulFunctionCall","src":"5085:39:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"5075:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5133:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5177:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5162:3:150"},"nodeType":"YulFunctionCall","src":"5162:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5149:12:150"},"nodeType":"YulFunctionCall","src":"5149:33:150"},"variables":[{"name":"offset_4","nodeType":"YulTypedName","src":"5137:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5211:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5220:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5223:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5213:6:150"},"nodeType":"YulFunctionCall","src":"5213:12:150"},"nodeType":"YulExpressionStatement","src":"5213:12:150"}]},"condition":{"arguments":[{"name":"offset_4","nodeType":"YulIdentifier","src":"5197:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5207:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5194:2:150"},"nodeType":"YulFunctionCall","src":"5194:16:150"},"nodeType":"YulIf","src":"5191:36:150"},{"nodeType":"YulAssignment","src":"5236:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5268:9:150"},{"name":"offset_4","nodeType":"YulIdentifier","src":"5279:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5264:3:150"},"nodeType":"YulFunctionCall","src":"5264:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5290:7:150"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5246:17:150"},"nodeType":"YulFunctionCall","src":"5246:52:150"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"5236:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4064:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4075:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4087:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4095:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4103:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4111:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4119:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4127:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"4135:6:150","type":""},{"name":"value7","nodeType":"YulTypedName","src":"4143:6:150","type":""}],"src":"3861:1443:150"},{"body":{"nodeType":"YulBlock","src":"5418:76:150","statements":[{"nodeType":"YulAssignment","src":"5428:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5440:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5451:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5436:3:150"},"nodeType":"YulFunctionCall","src":"5436:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5428:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5470:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"5481:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5463:6:150"},"nodeType":"YulFunctionCall","src":"5463:25:150"},"nodeType":"YulExpressionStatement","src":"5463:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5387:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5398:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5409:4:150","type":""}],"src":"5309:185:150"},{"body":{"nodeType":"YulBlock","src":"5721:750:150","statements":[{"body":{"nodeType":"YulBlock","src":"5768:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5777:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5780:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5770:6:150"},"nodeType":"YulFunctionCall","src":"5770:12:150"},"nodeType":"YulExpressionStatement","src":"5770:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5742:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5751:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5738:3:150"},"nodeType":"YulFunctionCall","src":"5738:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5763:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5734:3:150"},"nodeType":"YulFunctionCall","src":"5734:33:150"},"nodeType":"YulIf","src":"5731:53:150"},{"nodeType":"YulAssignment","src":"5793:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5822:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5803:18:150"},"nodeType":"YulFunctionCall","src":"5803:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5793:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5841:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5872:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5883:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5868:3:150"},"nodeType":"YulFunctionCall","src":"5868:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5855:12:150"},"nodeType":"YulFunctionCall","src":"5855:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5845:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5896:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5914:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5918:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5910:3:150"},"nodeType":"YulFunctionCall","src":"5910:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5922:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5906:3:150"},"nodeType":"YulFunctionCall","src":"5906:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5900:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5951:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5960:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5963:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5953:6:150"},"nodeType":"YulFunctionCall","src":"5953:12:150"},"nodeType":"YulExpressionStatement","src":"5953:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5939:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5947:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5936:2:150"},"nodeType":"YulFunctionCall","src":"5936:14:150"},"nodeType":"YulIf","src":"5933:34:150"},{"nodeType":"YulAssignment","src":"5976:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6019:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6030:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6015:3:150"},"nodeType":"YulFunctionCall","src":"6015:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6039:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"5986:28:150"},"nodeType":"YulFunctionCall","src":"5986:61:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5976:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6056:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6089:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6100:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6085:3:150"},"nodeType":"YulFunctionCall","src":"6085:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6072:12:150"},"nodeType":"YulFunctionCall","src":"6072:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"6060:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6133:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6142:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6145:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6135:6:150"},"nodeType":"YulFunctionCall","src":"6135:12:150"},"nodeType":"YulExpressionStatement","src":"6135:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"6119:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6129:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6116:2:150"},"nodeType":"YulFunctionCall","src":"6116:16:150"},"nodeType":"YulIf","src":"6113:36:150"},{"nodeType":"YulAssignment","src":"6158:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6201:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"6212:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6197:3:150"},"nodeType":"YulFunctionCall","src":"6197:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6223:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"6168:28:150"},"nodeType":"YulFunctionCall","src":"6168:63:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6158:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6240:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6273:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6284:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6269:3:150"},"nodeType":"YulFunctionCall","src":"6269:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6256:12:150"},"nodeType":"YulFunctionCall","src":"6256:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"6244:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6317:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6326:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6329:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6319:6:150"},"nodeType":"YulFunctionCall","src":"6319:12:150"},"nodeType":"YulExpressionStatement","src":"6319:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"6303:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6313:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6300:2:150"},"nodeType":"YulFunctionCall","src":"6300:16:150"},"nodeType":"YulIf","src":"6297:36:150"},{"nodeType":"YulAssignment","src":"6342:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6383:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"6394:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6379:3:150"},"nodeType":"YulFunctionCall","src":"6379:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6405:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"6352:26:150"},"nodeType":"YulFunctionCall","src":"6352:61:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6342:6:150"}]},{"nodeType":"YulAssignment","src":"6422:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6449:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6460:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6445:3:150"},"nodeType":"YulFunctionCall","src":"6445:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6432:12:150"},"nodeType":"YulFunctionCall","src":"6432:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"6422:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5655:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5666:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5678:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5686:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5694:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5702:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"5710:6:150","type":""}],"src":"5499:972:150"},{"body":{"nodeType":"YulBlock","src":"6546:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"6592:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6601:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6604:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6594:6:150"},"nodeType":"YulFunctionCall","src":"6594:12:150"},"nodeType":"YulExpressionStatement","src":"6594:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6567:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6576:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6563:3:150"},"nodeType":"YulFunctionCall","src":"6563:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6588:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6559:3:150"},"nodeType":"YulFunctionCall","src":"6559:32:150"},"nodeType":"YulIf","src":"6556:52:150"},{"nodeType":"YulAssignment","src":"6617:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6640:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6627:12:150"},"nodeType":"YulFunctionCall","src":"6627:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6617:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6512:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6523:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6535:6:150","type":""}],"src":"6476:180:150"},{"body":{"nodeType":"YulBlock","src":"6766:87:150","statements":[{"nodeType":"YulAssignment","src":"6776:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6788:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6799:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6784:3:150"},"nodeType":"YulFunctionCall","src":"6784:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6776:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6818:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6833:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6841:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6829:3:150"},"nodeType":"YulFunctionCall","src":"6829:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6811:6:150"},"nodeType":"YulFunctionCall","src":"6811:36:150"},"nodeType":"YulExpressionStatement","src":"6811:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6735:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6746:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6757:4:150","type":""}],"src":"6661:192:150"},{"body":{"nodeType":"YulBlock","src":"7017:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7027:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7037:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7031:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7048:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7066:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7077:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7062:3:150"},"nodeType":"YulFunctionCall","src":"7062:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"7052:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7096:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7107:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7089:6:150"},"nodeType":"YulFunctionCall","src":"7089:21:150"},"nodeType":"YulExpressionStatement","src":"7089:21:150"},{"nodeType":"YulVariableDeclaration","src":"7119:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"7130:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"7123:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7145:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7165:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7159:5:150"},"nodeType":"YulFunctionCall","src":"7159:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7149:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"7188:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"7196:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7181:6:150"},"nodeType":"YulFunctionCall","src":"7181:22:150"},"nodeType":"YulExpressionStatement","src":"7181:22:150"},{"nodeType":"YulAssignment","src":"7212:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7223:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7234:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7219:3:150"},"nodeType":"YulFunctionCall","src":"7219:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7212:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"7246:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7264:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7272:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7260:3:150"},"nodeType":"YulFunctionCall","src":"7260:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7250:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7284:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7293:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7288:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7352:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7373:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7384:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7378:5:150"},"nodeType":"YulFunctionCall","src":"7378:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7366:6:150"},"nodeType":"YulFunctionCall","src":"7366:26:150"},"nodeType":"YulExpressionStatement","src":"7366:26:150"},{"nodeType":"YulAssignment","src":"7405:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7416:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7421:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7412:3:150"},"nodeType":"YulFunctionCall","src":"7412:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7405:3:150"}]},{"nodeType":"YulAssignment","src":"7437:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7451:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7459:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7447:3:150"},"nodeType":"YulFunctionCall","src":"7447:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7437:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7314:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"7317:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7311:2:150"},"nodeType":"YulFunctionCall","src":"7311:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7325:18:150","statements":[{"nodeType":"YulAssignment","src":"7327:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7336:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"7339:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7332:3:150"},"nodeType":"YulFunctionCall","src":"7332:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7327:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"7307:3:150","statements":[]},"src":"7303:169:150"},{"nodeType":"YulAssignment","src":"7481:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"7489:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7481:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6986:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6997:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7008:4:150","type":""}],"src":"6858:640:150"},{"body":{"nodeType":"YulBlock","src":"7606:92:150","statements":[{"nodeType":"YulAssignment","src":"7616:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7628:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7639:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7624:3:150"},"nodeType":"YulFunctionCall","src":"7624:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7616:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7658:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7683:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7676:6:150"},"nodeType":"YulFunctionCall","src":"7676:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7669:6:150"},"nodeType":"YulFunctionCall","src":"7669:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7651:6:150"},"nodeType":"YulFunctionCall","src":"7651:41:150"},"nodeType":"YulExpressionStatement","src":"7651:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7575:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7586:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7597:4:150","type":""}],"src":"7503:195:150"},{"body":{"nodeType":"YulBlock","src":"7745:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"7799:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7808:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7811:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7801:6:150"},"nodeType":"YulFunctionCall","src":"7801:12:150"},"nodeType":"YulExpressionStatement","src":"7801:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7768:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7789:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7782:6:150"},"nodeType":"YulFunctionCall","src":"7782:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7775:6:150"},"nodeType":"YulFunctionCall","src":"7775:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7765:2:150"},"nodeType":"YulFunctionCall","src":"7765:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7758:6:150"},"nodeType":"YulFunctionCall","src":"7758:40:150"},"nodeType":"YulIf","src":"7755:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7734:5:150","type":""}],"src":"7703:118:150"},{"body":{"nodeType":"YulBlock","src":"7872:82:150","statements":[{"nodeType":"YulAssignment","src":"7882:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7904:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7891:12:150"},"nodeType":"YulFunctionCall","src":"7891:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7882:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7942:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"7920:21:150"},"nodeType":"YulFunctionCall","src":"7920:28:150"},"nodeType":"YulExpressionStatement","src":"7920:28:150"}]},"name":"abi_decode_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7851:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7862:5:150","type":""}],"src":"7826:128:150"},{"body":{"nodeType":"YulBlock","src":"8222:979:150","statements":[{"body":{"nodeType":"YulBlock","src":"8269:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8278:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8281:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8271:6:150"},"nodeType":"YulFunctionCall","src":"8271:12:150"},"nodeType":"YulExpressionStatement","src":"8271:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8243:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8252:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8239:3:150"},"nodeType":"YulFunctionCall","src":"8239:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8264:3:150","type":"","value":"224"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8235:3:150"},"nodeType":"YulFunctionCall","src":"8235:33:150"},"nodeType":"YulIf","src":"8232:53:150"},{"nodeType":"YulAssignment","src":"8294:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8323:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"8304:18:150"},"nodeType":"YulFunctionCall","src":"8304:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8294:6:150"}]},{"nodeType":"YulAssignment","src":"8342:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8372:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8383:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8368:3:150"},"nodeType":"YulFunctionCall","src":"8368:18:150"}],"functionName":{"name":"abi_decode_bool","nodeType":"YulIdentifier","src":"8352:15:150"},"nodeType":"YulFunctionCall","src":"8352:35:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8342:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8396:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8427:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8438:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8423:3:150"},"nodeType":"YulFunctionCall","src":"8423:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8410:12:150"},"nodeType":"YulFunctionCall","src":"8410:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8400:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8451:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8469:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"8473:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8465:3:150"},"nodeType":"YulFunctionCall","src":"8465:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"8477:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8461:3:150"},"nodeType":"YulFunctionCall","src":"8461:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8455:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8506:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8515:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8518:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8508:6:150"},"nodeType":"YulFunctionCall","src":"8508:12:150"},"nodeType":"YulExpressionStatement","src":"8508:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8494:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8502:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8491:2:150"},"nodeType":"YulFunctionCall","src":"8491:14:150"},"nodeType":"YulIf","src":"8488:34:150"},{"nodeType":"YulAssignment","src":"8531:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8574:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"8585:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8570:3:150"},"nodeType":"YulFunctionCall","src":"8570:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8594:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"8541:28:150"},"nodeType":"YulFunctionCall","src":"8541:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8531:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8611:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8644:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8655:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8640:3:150"},"nodeType":"YulFunctionCall","src":"8640:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8627:12:150"},"nodeType":"YulFunctionCall","src":"8627:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"8615:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8688:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8697:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8700:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8690:6:150"},"nodeType":"YulFunctionCall","src":"8690:12:150"},"nodeType":"YulExpressionStatement","src":"8690:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"8674:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8684:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8671:2:150"},"nodeType":"YulFunctionCall","src":"8671:16:150"},"nodeType":"YulIf","src":"8668:36:150"},{"nodeType":"YulAssignment","src":"8713:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8756:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"8767:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8752:3:150"},"nodeType":"YulFunctionCall","src":"8752:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8778:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"8723:28:150"},"nodeType":"YulFunctionCall","src":"8723:63:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"8713:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8795:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8828:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8839:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8824:3:150"},"nodeType":"YulFunctionCall","src":"8824:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8811:12:150"},"nodeType":"YulFunctionCall","src":"8811:33:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"8799:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8873:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8882:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8885:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8875:6:150"},"nodeType":"YulFunctionCall","src":"8875:12:150"},"nodeType":"YulExpressionStatement","src":"8875:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"8859:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8869:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8856:2:150"},"nodeType":"YulFunctionCall","src":"8856:16:150"},"nodeType":"YulIf","src":"8853:36:150"},{"nodeType":"YulAssignment","src":"8898:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8939:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"8950:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8935:3:150"},"nodeType":"YulFunctionCall","src":"8935:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8961:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"8908:26:150"},"nodeType":"YulFunctionCall","src":"8908:61:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"8898:6:150"}]},{"nodeType":"YulAssignment","src":"8978:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9005:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9016:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9001:3:150"},"nodeType":"YulFunctionCall","src":"9001:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8988:12:150"},"nodeType":"YulFunctionCall","src":"8988:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"8978:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9030:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9063:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9074:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9059:3:150"},"nodeType":"YulFunctionCall","src":"9059:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9046:12:150"},"nodeType":"YulFunctionCall","src":"9046:33:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"9034:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9108:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9117:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9120:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9110:6:150"},"nodeType":"YulFunctionCall","src":"9110:12:150"},"nodeType":"YulExpressionStatement","src":"9110:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"9094:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9104:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9091:2:150"},"nodeType":"YulFunctionCall","src":"9091:16:150"},"nodeType":"YulIf","src":"9088:36:150"},{"nodeType":"YulAssignment","src":"9133:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9165:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"9176:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9161:3:150"},"nodeType":"YulFunctionCall","src":"9161:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9187:7:150"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"9143:17:150"},"nodeType":"YulFunctionCall","src":"9143:52:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"9133:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_boolt_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8140:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8151:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8163:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8171:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8179:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8187:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"8195:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"8203:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"8211:6:150","type":""}],"src":"7959:1242:150"},{"body":{"nodeType":"YulBlock","src":"9472:970:150","statements":[{"body":{"nodeType":"YulBlock","src":"9519:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9528:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9531:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9521:6:150"},"nodeType":"YulFunctionCall","src":"9521:12:150"},"nodeType":"YulExpressionStatement","src":"9521:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9493:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9502:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9489:3:150"},"nodeType":"YulFunctionCall","src":"9489:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9514:3:150","type":"","value":"224"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9485:3:150"},"nodeType":"YulFunctionCall","src":"9485:33:150"},"nodeType":"YulIf","src":"9482:53:150"},{"nodeType":"YulVariableDeclaration","src":"9544:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9571:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9558:12:150"},"nodeType":"YulFunctionCall","src":"9558:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9548:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9590:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9608:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9612:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9604:3:150"},"nodeType":"YulFunctionCall","src":"9604:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9616:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9600:3:150"},"nodeType":"YulFunctionCall","src":"9600:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9594:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9645:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9654:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9657:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9647:6:150"},"nodeType":"YulFunctionCall","src":"9647:12:150"},"nodeType":"YulExpressionStatement","src":"9647:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9633:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9641:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9630:2:150"},"nodeType":"YulFunctionCall","src":"9630:14:150"},"nodeType":"YulIf","src":"9627:34:150"},{"nodeType":"YulAssignment","src":"9670:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9713:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9724:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9709:3:150"},"nodeType":"YulFunctionCall","src":"9709:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9733:7:150"}],"functionName":{"name":"abi_decode_array_address_dyn","nodeType":"YulIdentifier","src":"9680:28:150"},"nodeType":"YulFunctionCall","src":"9680:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9670:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9750:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9783:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9794:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9779:3:150"},"nodeType":"YulFunctionCall","src":"9779:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9766:12:150"},"nodeType":"YulFunctionCall","src":"9766:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"9754:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9827:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9836:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9839:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9829:6:150"},"nodeType":"YulFunctionCall","src":"9829:12:150"},"nodeType":"YulExpressionStatement","src":"9829:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"9813:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9823:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9810:2:150"},"nodeType":"YulFunctionCall","src":"9810:16:150"},"nodeType":"YulIf","src":"9807:36:150"},{"nodeType":"YulAssignment","src":"9852:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9895:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9906:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9891:3:150"},"nodeType":"YulFunctionCall","src":"9891:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9917:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"9862:28:150"},"nodeType":"YulFunctionCall","src":"9862:63:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9852:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9934:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9978:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9963:3:150"},"nodeType":"YulFunctionCall","src":"9963:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9950:12:150"},"nodeType":"YulFunctionCall","src":"9950:32:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"9938:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10011:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10020:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10023:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10013:6:150"},"nodeType":"YulFunctionCall","src":"10013:12:150"},"nodeType":"YulExpressionStatement","src":"10013:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"9997:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10007:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9994:2:150"},"nodeType":"YulFunctionCall","src":"9994:16:150"},"nodeType":"YulIf","src":"9991:36:150"},{"nodeType":"YulAssignment","src":"10036:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10077:9:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"10088:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10073:3:150"},"nodeType":"YulFunctionCall","src":"10073:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10099:7:150"}],"functionName":{"name":"abi_decode_array_bytes_dyn","nodeType":"YulIdentifier","src":"10046:26:150"},"nodeType":"YulFunctionCall","src":"10046:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10036:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10116:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10149:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10160:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10145:3:150"},"nodeType":"YulFunctionCall","src":"10145:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10132:12:150"},"nodeType":"YulFunctionCall","src":"10132:32:150"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"10120:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10193:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10202:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10205:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10195:6:150"},"nodeType":"YulFunctionCall","src":"10195:12:150"},"nodeType":"YulExpressionStatement","src":"10195:12:150"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"10179:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10189:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10176:2:150"},"nodeType":"YulFunctionCall","src":"10176:16:150"},"nodeType":"YulIf","src":"10173:36:150"},{"nodeType":"YulAssignment","src":"10218:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10250:9:150"},{"name":"offset_3","nodeType":"YulIdentifier","src":"10261:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10246:3:150"},"nodeType":"YulFunctionCall","src":"10246:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10272:7:150"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"10228:17:150"},"nodeType":"YulFunctionCall","src":"10228:52:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"10218:6:150"}]},{"nodeType":"YulAssignment","src":"10289:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10316:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10327:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10312:3:150"},"nodeType":"YulFunctionCall","src":"10312:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10299:12:150"},"nodeType":"YulFunctionCall","src":"10299:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"10289:6:150"}]},{"nodeType":"YulAssignment","src":"10341:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10368:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10379:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10364:3:150"},"nodeType":"YulFunctionCall","src":"10364:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10351:12:150"},"nodeType":"YulFunctionCall","src":"10351:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"10341:6:150"}]},{"nodeType":"YulAssignment","src":"10393:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10420:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10431:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10416:3:150"},"nodeType":"YulFunctionCall","src":"10416:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10403:12:150"},"nodeType":"YulFunctionCall","src":"10403:33:150"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"10393:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9390:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9401:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9413:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9421:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9429:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9437:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"9445:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"9453:6:150","type":""},{"name":"value6","nodeType":"YulTypedName","src":"9461:6:150","type":""}],"src":"9206:1236:150"},{"body":{"nodeType":"YulBlock","src":"10497:373:150","statements":[{"nodeType":"YulVariableDeclaration","src":"10507:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10527:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10521:5:150"},"nodeType":"YulFunctionCall","src":"10521:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10511:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10549:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"10554:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10542:6:150"},"nodeType":"YulFunctionCall","src":"10542:19:150"},"nodeType":"YulExpressionStatement","src":"10542:19:150"},{"nodeType":"YulVariableDeclaration","src":"10570:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10579:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"10574:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10641:110:150","statements":[{"nodeType":"YulVariableDeclaration","src":"10655:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10665:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"10659:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10697:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"10702:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10693:3:150"},"nodeType":"YulFunctionCall","src":"10693:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10706:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10689:3:150"},"nodeType":"YulFunctionCall","src":"10689:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10725:5:150"},{"name":"i","nodeType":"YulIdentifier","src":"10732:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10721:3:150"},"nodeType":"YulFunctionCall","src":"10721:13:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10736:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10717:3:150"},"nodeType":"YulFunctionCall","src":"10717:22:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10711:5:150"},"nodeType":"YulFunctionCall","src":"10711:29:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10682:6:150"},"nodeType":"YulFunctionCall","src":"10682:59:150"},"nodeType":"YulExpressionStatement","src":"10682:59:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"10600:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"10603:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10597:2:150"},"nodeType":"YulFunctionCall","src":"10597:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"10611:21:150","statements":[{"nodeType":"YulAssignment","src":"10613:17:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"10622:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"10625:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10618:3:150"},"nodeType":"YulFunctionCall","src":"10618:12:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"10613:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"10593:3:150","statements":[]},"src":"10589:162:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10775:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"10780:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10771:3:150"},"nodeType":"YulFunctionCall","src":"10771:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"10789:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10767:3:150"},"nodeType":"YulFunctionCall","src":"10767:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"10796:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10760:6:150"},"nodeType":"YulFunctionCall","src":"10760:38:150"},"nodeType":"YulExpressionStatement","src":"10760:38:150"},{"nodeType":"YulAssignment","src":"10807:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10822:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10835:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10843:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10831:3:150"},"nodeType":"YulFunctionCall","src":"10831:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10852:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10848:3:150"},"nodeType":"YulFunctionCall","src":"10848:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10827:3:150"},"nodeType":"YulFunctionCall","src":"10827:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10818:3:150"},"nodeType":"YulFunctionCall","src":"10818:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"10859:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10814:3:150"},"nodeType":"YulFunctionCall","src":"10814:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10807:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10474:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10481:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10489:3:150","type":""}],"src":"10447:423:150"},{"body":{"nodeType":"YulBlock","src":"10934:556:150","statements":[{"nodeType":"YulVariableDeclaration","src":"10944:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10964:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10958:5:150"},"nodeType":"YulFunctionCall","src":"10958:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10948:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10986:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"10991:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10979:6:150"},"nodeType":"YulFunctionCall","src":"10979:19:150"},"nodeType":"YulExpressionStatement","src":"10979:19:150"},{"nodeType":"YulVariableDeclaration","src":"11007:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11017:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11011:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11030:31:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11053:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11058:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11049:3:150"},"nodeType":"YulFunctionCall","src":"11049:12:150"},"variables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"11034:11:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11070:24:150","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"11083:11:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"11074:5:150","type":""}]},{"nodeType":"YulAssignment","src":"11103:18:150","value":{"name":"updated_pos","nodeType":"YulIdentifier","src":"11110:11:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11103:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"11130:38:150","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"11146:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11157:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"11160:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11153:3:150"},"nodeType":"YulFunctionCall","src":"11153:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11142:3:150"},"nodeType":"YulFunctionCall","src":"11142:26:150"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"11134:4:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11177:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11195:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11202:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11191:3:150"},"nodeType":"YulFunctionCall","src":"11191:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"11181:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11214:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"11223:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"11218:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11282:182:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11303:3:150"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11312:4:150"},{"name":"pos_1","nodeType":"YulIdentifier","src":"11318:5:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11308:3:150"},"nodeType":"YulFunctionCall","src":"11308:16:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11296:6:150"},"nodeType":"YulFunctionCall","src":"11296:29:150"},"nodeType":"YulExpressionStatement","src":"11296:29:150"},{"nodeType":"YulAssignment","src":"11338:46:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11370:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11364:5:150"},"nodeType":"YulFunctionCall","src":"11364:13:150"},{"name":"tail","nodeType":"YulIdentifier","src":"11379:4:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"11346:17:150"},"nodeType":"YulFunctionCall","src":"11346:38:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11338:4:150"}]},{"nodeType":"YulAssignment","src":"11397:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11411:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11419:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11407:3:150"},"nodeType":"YulFunctionCall","src":"11407:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"11397:6:150"}]},{"nodeType":"YulAssignment","src":"11435:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11446:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11451:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11442:3:150"},"nodeType":"YulFunctionCall","src":"11442:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11435:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11244:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"11247:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11241:2:150"},"nodeType":"YulFunctionCall","src":"11241:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11255:18:150","statements":[{"nodeType":"YulAssignment","src":"11257:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"11266:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"11269:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11262:3:150"},"nodeType":"YulFunctionCall","src":"11262:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"11257:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"11237:3:150","statements":[]},"src":"11233:231:150"},{"nodeType":"YulAssignment","src":"11473:11:150","value":{"name":"tail","nodeType":"YulIdentifier","src":"11480:4:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11473:3:150"}]}]},"name":"abi_encode_array_bytes_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10911:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10918:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10926:3:150","type":""}],"src":"10875:615:150"},{"body":{"nodeType":"YulBlock","src":"11796:411:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11813:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11824:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11806:6:150"},"nodeType":"YulFunctionCall","src":"11806:22:150"},"nodeType":"YulExpressionStatement","src":"11806:22:150"},{"nodeType":"YulVariableDeclaration","src":"11837:60:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11869:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11881:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11892:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11877:3:150"},"nodeType":"YulFunctionCall","src":"11877:19:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"11851:17:150"},"nodeType":"YulFunctionCall","src":"11851:46:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"11841:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11917:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11928:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11913:3:150"},"nodeType":"YulFunctionCall","src":"11913:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"11933:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11906:6:150"},"nodeType":"YulFunctionCall","src":"11906:34:150"},"nodeType":"YulExpressionStatement","src":"11906:34:150"},{"nodeType":"YulVariableDeclaration","src":"11949:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11967:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11972:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11963:3:150"},"nodeType":"YulFunctionCall","src":"11963:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11976:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11959:3:150"},"nodeType":"YulFunctionCall","src":"11959:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11953:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11998:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12009:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11994:3:150"},"nodeType":"YulFunctionCall","src":"11994:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"12018:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12026:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12014:3:150"},"nodeType":"YulFunctionCall","src":"12014:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11987:6:150"},"nodeType":"YulFunctionCall","src":"11987:43:150"},"nodeType":"YulExpressionStatement","src":"11987:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12050:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12061:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12046:3:150"},"nodeType":"YulFunctionCall","src":"12046:18:150"},{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"12070:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"12078:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12066:3:150"},"nodeType":"YulFunctionCall","src":"12066:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12039:6:150"},"nodeType":"YulFunctionCall","src":"12039:43:150"},"nodeType":"YulExpressionStatement","src":"12039:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12102:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12113:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12098:3:150"},"nodeType":"YulFunctionCall","src":"12098:19:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"12123:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12131:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12119:3:150"},"nodeType":"YulFunctionCall","src":"12119:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12091:6:150"},"nodeType":"YulFunctionCall","src":"12091:51:150"},"nodeType":"YulExpressionStatement","src":"12091:51:150"},{"nodeType":"YulAssignment","src":"12151:50:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"12186:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"12194:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"12159:26:150"},"nodeType":"YulFunctionCall","src":"12159:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12151:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11733:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"11744:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11752:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11760:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11768:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11776:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11787:4:150","type":""}],"src":"11495:712:150"},{"body":{"nodeType":"YulBlock","src":"12340:140:150","statements":[{"nodeType":"YulAssignment","src":"12350:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12362:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12373:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12358:3:150"},"nodeType":"YulFunctionCall","src":"12358:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12350:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12392:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12403:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12385:6:150"},"nodeType":"YulFunctionCall","src":"12385:25:150"},"nodeType":"YulExpressionStatement","src":"12385:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12430:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12441:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12426:3:150"},"nodeType":"YulFunctionCall","src":"12426:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"12450:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12458:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12446:3:150"},"nodeType":"YulFunctionCall","src":"12446:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12419:6:150"},"nodeType":"YulFunctionCall","src":"12419:55:150"},"nodeType":"YulExpressionStatement","src":"12419:55:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12301:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12312:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12320:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12331:4:150","type":""}],"src":"12212:268:150"},{"body":{"nodeType":"YulBlock","src":"12517:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12534:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12541:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12546:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12537:3:150"},"nodeType":"YulFunctionCall","src":"12537:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12527:6:150"},"nodeType":"YulFunctionCall","src":"12527:31:150"},"nodeType":"YulExpressionStatement","src":"12527:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12574:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12577:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12567:6:150"},"nodeType":"YulFunctionCall","src":"12567:15:150"},"nodeType":"YulExpressionStatement","src":"12567:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12598:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12601:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12591:6:150"},"nodeType":"YulFunctionCall","src":"12591:15:150"},"nodeType":"YulExpressionStatement","src":"12591:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"12485:127:150"},{"body":{"nodeType":"YulBlock","src":"12698:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"12744:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12753:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12756:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12746:6:150"},"nodeType":"YulFunctionCall","src":"12746:12:150"},"nodeType":"YulExpressionStatement","src":"12746:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12719:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12728:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12715:3:150"},"nodeType":"YulFunctionCall","src":"12715:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12740:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12711:3:150"},"nodeType":"YulFunctionCall","src":"12711:32:150"},"nodeType":"YulIf","src":"12708:52:150"},{"nodeType":"YulAssignment","src":"12769:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12785:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12779:5:150"},"nodeType":"YulFunctionCall","src":"12779:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12769:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12664:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12675:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12687:6:150","type":""}],"src":"12617:184:150"},{"body":{"nodeType":"YulBlock","src":"12838:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12855:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12862:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12867:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12858:3:150"},"nodeType":"YulFunctionCall","src":"12858:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12848:6:150"},"nodeType":"YulFunctionCall","src":"12848:31:150"},"nodeType":"YulExpressionStatement","src":"12848:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12895:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12898:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12888:6:150"},"nodeType":"YulFunctionCall","src":"12888:15:150"},"nodeType":"YulExpressionStatement","src":"12888:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12919:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12922:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12912:6:150"},"nodeType":"YulFunctionCall","src":"12912:15:150"},"nodeType":"YulExpressionStatement","src":"12912:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"12806:127:150"},{"body":{"nodeType":"YulBlock","src":"12970:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12987:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12994:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12999:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12990:3:150"},"nodeType":"YulFunctionCall","src":"12990:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12980:6:150"},"nodeType":"YulFunctionCall","src":"12980:31:150"},"nodeType":"YulExpressionStatement","src":"12980:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13027:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"13030:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13020:6:150"},"nodeType":"YulFunctionCall","src":"13020:15:150"},"nodeType":"YulExpressionStatement","src":"13020:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13051:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13054:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13044:6:150"},"nodeType":"YulFunctionCall","src":"13044:15:150"},"nodeType":"YulExpressionStatement","src":"13044:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"12938:127:150"},{"body":{"nodeType":"YulBlock","src":"13117:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"13148:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13150:16:150"},"nodeType":"YulFunctionCall","src":"13150:18:150"},"nodeType":"YulExpressionStatement","src":"13150:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13133:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13144:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"13140:3:150"},"nodeType":"YulFunctionCall","src":"13140:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"13130:2:150"},"nodeType":"YulFunctionCall","src":"13130:17:150"},"nodeType":"YulIf","src":"13127:43:150"},{"nodeType":"YulAssignment","src":"13179:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13190:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"13197:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13186:3:150"},"nodeType":"YulFunctionCall","src":"13186:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"13179:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13099:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"13109:3:150","type":""}],"src":"13070:135:150"},{"body":{"nodeType":"YulBlock","src":"13311:102:150","statements":[{"nodeType":"YulAssignment","src":"13321:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13333:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13344:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13329:3:150"},"nodeType":"YulFunctionCall","src":"13329:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13321:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13363:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13378:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13394:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"13399:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13390:3:150"},"nodeType":"YulFunctionCall","src":"13390:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"13403:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13386:3:150"},"nodeType":"YulFunctionCall","src":"13386:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13374:3:150"},"nodeType":"YulFunctionCall","src":"13374:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13356:6:150"},"nodeType":"YulFunctionCall","src":"13356:51:150"},"nodeType":"YulExpressionStatement","src":"13356:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13280:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13291:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13302:4:150","type":""}],"src":"13210:203:150"},{"body":{"nodeType":"YulBlock","src":"13464:102:150","statements":[{"nodeType":"YulAssignment","src":"13474:38:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13489:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"13492:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13485:3:150"},"nodeType":"YulFunctionCall","src":"13485:12:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"13503:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"13506:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13499:3:150"},"nodeType":"YulFunctionCall","src":"13499:12:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13481:3:150"},"nodeType":"YulFunctionCall","src":"13481:31:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"13474:3:150"}]},{"body":{"nodeType":"YulBlock","src":"13538:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13540:16:150"},"nodeType":"YulFunctionCall","src":"13540:18:150"},"nodeType":"YulExpressionStatement","src":"13540:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"13527:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"13532:4:150","type":"","value":"0xff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13524:2:150"},"nodeType":"YulFunctionCall","src":"13524:13:150"},"nodeType":"YulIf","src":"13521:39:150"}]},"name":"checked_add_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13447:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"13450:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"13456:3:150","type":""}],"src":"13418:148:150"},{"body":{"nodeType":"YulBlock","src":"13635:358:150","statements":[{"nodeType":"YulVariableDeclaration","src":"13645:16:150","value":{"kind":"number","nodeType":"YulLiteral","src":"13660:1:150","type":"","value":"1"},"variables":[{"name":"power_1","nodeType":"YulTypedName","src":"13649:7:150","type":""}]},{"nodeType":"YulAssignment","src":"13670:16:150","value":{"name":"power_1","nodeType":"YulIdentifier","src":"13679:7:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"13670:5:150"}]},{"nodeType":"YulAssignment","src":"13695:13:150","value":{"name":"_base","nodeType":"YulIdentifier","src":"13703:5:150"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"13695:4:150"}]},{"body":{"nodeType":"YulBlock","src":"13759:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"13804:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13806:16:150"},"nodeType":"YulFunctionCall","src":"13806:18:150"},"nodeType":"YulExpressionStatement","src":"13806:18:150"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"13779:4:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13793:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"13789:3:150"},"nodeType":"YulFunctionCall","src":"13789:6:150"},{"name":"base","nodeType":"YulIdentifier","src":"13797:4:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"13785:3:150"},"nodeType":"YulFunctionCall","src":"13785:17:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13776:2:150"},"nodeType":"YulFunctionCall","src":"13776:27:150"},"nodeType":"YulIf","src":"13773:53:150"},{"body":{"nodeType":"YulBlock","src":"13865:29:150","statements":[{"nodeType":"YulAssignment","src":"13867:25:150","value":{"arguments":[{"name":"power","nodeType":"YulIdentifier","src":"13880:5:150"},{"name":"base","nodeType":"YulIdentifier","src":"13887:4:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"13876:3:150"},"nodeType":"YulFunctionCall","src":"13876:16:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"13867:5:150"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"13846:8:150"},{"name":"power_1","nodeType":"YulIdentifier","src":"13856:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13842:3:150"},"nodeType":"YulFunctionCall","src":"13842:22:150"},"nodeType":"YulIf","src":"13839:55:150"},{"nodeType":"YulAssignment","src":"13907:23:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"13919:4:150"},{"name":"base","nodeType":"YulIdentifier","src":"13925:4:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"13915:3:150"},"nodeType":"YulFunctionCall","src":"13915:15:150"},"variableNames":[{"name":"base","nodeType":"YulIdentifier","src":"13907:4:150"}]},{"nodeType":"YulAssignment","src":"13943:34:150","value":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"13959:7:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"13968:8:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"13955:3:150"},"nodeType":"YulFunctionCall","src":"13955:22:150"},"variableNames":[{"name":"exponent","nodeType":"YulIdentifier","src":"13943:8:150"}]}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"13728:8:150"},{"name":"power_1","nodeType":"YulIdentifier","src":"13738:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13725:2:150"},"nodeType":"YulFunctionCall","src":"13725:21:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"13747:3:150","statements":[]},"pre":{"nodeType":"YulBlock","src":"13721:3:150","statements":[]},"src":"13717:270:150"}]},"name":"checked_exp_helper","nodeType":"YulFunctionDefinition","parameters":[{"name":"_base","nodeType":"YulTypedName","src":"13599:5:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"13606:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"13619:5:150","type":""},{"name":"base","nodeType":"YulTypedName","src":"13626:4:150","type":""}],"src":"13571:422:150"},{"body":{"nodeType":"YulBlock","src":"14057:747:150","statements":[{"body":{"nodeType":"YulBlock","src":"14095:52:150","statements":[{"nodeType":"YulAssignment","src":"14109:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14118:1:150","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14109:5:150"}]},{"nodeType":"YulLeave","src":"14132:5:150"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14077:8:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14070:6:150"},"nodeType":"YulFunctionCall","src":"14070:16:150"},"nodeType":"YulIf","src":"14067:80:150"},{"body":{"nodeType":"YulBlock","src":"14180:52:150","statements":[{"nodeType":"YulAssignment","src":"14194:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14203:1:150","type":"","value":"0"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14194:5:150"}]},{"nodeType":"YulLeave","src":"14217:5:150"}]},"condition":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14166:4:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14159:6:150"},"nodeType":"YulFunctionCall","src":"14159:12:150"},"nodeType":"YulIf","src":"14156:76:150"},{"cases":[{"body":{"nodeType":"YulBlock","src":"14268:52:150","statements":[{"nodeType":"YulAssignment","src":"14282:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14291:1:150","type":"","value":"1"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14282:5:150"}]},{"nodeType":"YulLeave","src":"14305:5:150"}]},"nodeType":"YulCase","src":"14261:59:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14266:1:150","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"14336:123:150","statements":[{"body":{"nodeType":"YulBlock","src":"14371:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14373:16:150"},"nodeType":"YulFunctionCall","src":"14373:18:150"},"nodeType":"YulExpressionStatement","src":"14373:18:150"}]},"condition":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14356:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"14366:3:150","type":"","value":"255"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14353:2:150"},"nodeType":"YulFunctionCall","src":"14353:17:150"},"nodeType":"YulIf","src":"14350:43:150"},{"nodeType":"YulAssignment","src":"14406:25:150","value":{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14419:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"14429:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14415:3:150"},"nodeType":"YulFunctionCall","src":"14415:16:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14406:5:150"}]},{"nodeType":"YulLeave","src":"14444:5:150"}]},"nodeType":"YulCase","src":"14329:130:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14334:1:150","type":"","value":"2"}}],"expression":{"name":"base","nodeType":"YulIdentifier","src":"14248:4:150"},"nodeType":"YulSwitch","src":"14241:218:150"},{"body":{"nodeType":"YulBlock","src":"14557:70:150","statements":[{"nodeType":"YulAssignment","src":"14571:28:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14584:4:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"14590:8:150"}],"functionName":{"name":"exp","nodeType":"YulIdentifier","src":"14580:3:150"},"nodeType":"YulFunctionCall","src":"14580:19:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14571:5:150"}]},{"nodeType":"YulLeave","src":"14612:5:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14481:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"14487:2:150","type":"","value":"11"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14478:2:150"},"nodeType":"YulFunctionCall","src":"14478:12:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14495:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"14505:2:150","type":"","value":"78"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14492:2:150"},"nodeType":"YulFunctionCall","src":"14492:16:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14474:3:150"},"nodeType":"YulFunctionCall","src":"14474:35:150"},{"arguments":[{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14518:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"14524:3:150","type":"","value":"307"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14515:2:150"},"nodeType":"YulFunctionCall","src":"14515:13:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14533:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"14543:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14530:2:150"},"nodeType":"YulFunctionCall","src":"14530:16:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14511:3:150"},"nodeType":"YulFunctionCall","src":"14511:36:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14471:2:150"},"nodeType":"YulFunctionCall","src":"14471:77:150"},"nodeType":"YulIf","src":"14468:159:150"},{"nodeType":"YulVariableDeclaration","src":"14636:57:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14678:4:150"},{"name":"exponent","nodeType":"YulIdentifier","src":"14684:8:150"}],"functionName":{"name":"checked_exp_helper","nodeType":"YulIdentifier","src":"14659:18:150"},"nodeType":"YulFunctionCall","src":"14659:34:150"},"variables":[{"name":"power_1","nodeType":"YulTypedName","src":"14640:7:150","type":""},{"name":"base_1","nodeType":"YulTypedName","src":"14649:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14738:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14740:16:150"},"nodeType":"YulFunctionCall","src":"14740:18:150"},"nodeType":"YulExpressionStatement","src":"14740:18:150"}]},"condition":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"14708:7:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14725:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14721:3:150"},"nodeType":"YulFunctionCall","src":"14721:6:150"},{"name":"base_1","nodeType":"YulIdentifier","src":"14729:6:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"14717:3:150"},"nodeType":"YulFunctionCall","src":"14717:19:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14705:2:150"},"nodeType":"YulFunctionCall","src":"14705:32:150"},"nodeType":"YulIf","src":"14702:58:150"},{"nodeType":"YulAssignment","src":"14769:29:150","value":{"arguments":[{"name":"power_1","nodeType":"YulIdentifier","src":"14782:7:150"},{"name":"base_1","nodeType":"YulIdentifier","src":"14791:6:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"14778:3:150"},"nodeType":"YulFunctionCall","src":"14778:20:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14769:5:150"}]}]},"name":"checked_exp_unsigned","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"14028:4:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"14034:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"14047:5:150","type":""}],"src":"13998:806:150"},{"body":{"nodeType":"YulBlock","src":"14877:72:150","statements":[{"nodeType":"YulAssignment","src":"14887:56:150","value":{"arguments":[{"name":"base","nodeType":"YulIdentifier","src":"14917:4:150"},{"arguments":[{"name":"exponent","nodeType":"YulIdentifier","src":"14927:8:150"},{"kind":"number","nodeType":"YulLiteral","src":"14937:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14923:3:150"},"nodeType":"YulFunctionCall","src":"14923:19:150"}],"functionName":{"name":"checked_exp_unsigned","nodeType":"YulIdentifier","src":"14896:20:150"},"nodeType":"YulFunctionCall","src":"14896:47:150"},"variableNames":[{"name":"power","nodeType":"YulIdentifier","src":"14887:5:150"}]}]},"name":"checked_exp_t_uint256_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"base","nodeType":"YulTypedName","src":"14848:4:150","type":""},{"name":"exponent","nodeType":"YulTypedName","src":"14854:8:150","type":""}],"returnVariables":[{"name":"power","nodeType":"YulTypedName","src":"14867:5:150","type":""}],"src":"14809:140:150"},{"body":{"nodeType":"YulBlock","src":"15003:79:150","statements":[{"nodeType":"YulAssignment","src":"15013:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15025:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"15028:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15021:3:150"},"nodeType":"YulFunctionCall","src":"15021:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"15013:4:150"}]},{"body":{"nodeType":"YulBlock","src":"15054:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"15056:16:150"},"nodeType":"YulFunctionCall","src":"15056:18:150"},"nodeType":"YulExpressionStatement","src":"15056:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"15045:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"15051:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15042:2:150"},"nodeType":"YulFunctionCall","src":"15042:11:150"},"nodeType":"YulIf","src":"15039:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"14985:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"14988:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"14994:4:150","type":""}],"src":"14954:128:150"},{"body":{"nodeType":"YulBlock","src":"15261:180:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15278:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15289:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15271:6:150"},"nodeType":"YulFunctionCall","src":"15271:21:150"},"nodeType":"YulExpressionStatement","src":"15271:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15312:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15323:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15308:3:150"},"nodeType":"YulFunctionCall","src":"15308:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"15328:2:150","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15301:6:150"},"nodeType":"YulFunctionCall","src":"15301:30:150"},"nodeType":"YulExpressionStatement","src":"15301:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15351:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15362:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15347:3:150"},"nodeType":"YulFunctionCall","src":"15347:18:150"},{"hexValue":"476f7665726e6f723a2070726f706f73616c206e6f742070656e64696e67","kind":"string","nodeType":"YulLiteral","src":"15367:32:150","type":"","value":"Governor: proposal not pending"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15340:6:150"},"nodeType":"YulFunctionCall","src":"15340:60:150"},"nodeType":"YulExpressionStatement","src":"15340:60:150"},{"nodeType":"YulAssignment","src":"15409:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15421:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15432:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15417:3:150"},"nodeType":"YulFunctionCall","src":"15417:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15409:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15238:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15252:4:150","type":""}],"src":"15087:354:150"},{"body":{"nodeType":"YulBlock","src":"15547:76:150","statements":[{"nodeType":"YulAssignment","src":"15557:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15569:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15580:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15565:3:150"},"nodeType":"YulFunctionCall","src":"15565:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15557:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15599:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"15610:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15592:6:150"},"nodeType":"YulFunctionCall","src":"15592:25:150"},"nodeType":"YulExpressionStatement","src":"15592:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15516:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15527:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15538:4:150","type":""}],"src":"15446:177:150"},{"body":{"nodeType":"YulBlock","src":"15682:89:150","statements":[{"body":{"nodeType":"YulBlock","src":"15716:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"15718:16:150"},"nodeType":"YulFunctionCall","src":"15718:18:150"},"nodeType":"YulExpressionStatement","src":"15718:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15705:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"15712:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15702:2:150"},"nodeType":"YulFunctionCall","src":"15702:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15695:6:150"},"nodeType":"YulFunctionCall","src":"15695:20:150"},"nodeType":"YulIf","src":"15692:46:150"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15754:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"15759:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15747:6:150"},"nodeType":"YulFunctionCall","src":"15747:18:150"},"nodeType":"YulExpressionStatement","src":"15747:18:150"}]},"name":"abi_encode_enum_ProposalType","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15666:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"15673:3:150","type":""}],"src":"15628:143:150"},{"body":{"nodeType":"YulBlock","src":"15921:141:150","statements":[{"nodeType":"YulAssignment","src":"15931:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15943:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15954:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15939:3:150"},"nodeType":"YulFunctionCall","src":"15939:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15931:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15973:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"15984:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15966:6:150"},"nodeType":"YulFunctionCall","src":"15966:25:150"},"nodeType":"YulExpressionStatement","src":"15966:25:150"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16029:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16041:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16052:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16037:3:150"},"nodeType":"YulFunctionCall","src":"16037:18:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"16000:28:150"},"nodeType":"YulFunctionCall","src":"16000:56:150"},"nodeType":"YulExpressionStatement","src":"16000:56:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15882:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15893:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15901:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15912:4:150","type":""}],"src":"15776:286:150"},{"body":{"nodeType":"YulBlock","src":"16168:76:150","statements":[{"nodeType":"YulAssignment","src":"16178:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16190:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16201:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16186:3:150"},"nodeType":"YulFunctionCall","src":"16186:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16178:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16220:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"16231:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16213:6:150"},"nodeType":"YulFunctionCall","src":"16213:25:150"},"nodeType":"YulExpressionStatement","src":"16213:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16137:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16148:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16159:4:150","type":""}],"src":"16067:177:150"},{"body":{"nodeType":"YulBlock","src":"16310:400:150","statements":[{"nodeType":"YulVariableDeclaration","src":"16320:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16340:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16334:5:150"},"nodeType":"YulFunctionCall","src":"16334:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"16324:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16362:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"16367:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16355:6:150"},"nodeType":"YulFunctionCall","src":"16355:19:150"},"nodeType":"YulExpressionStatement","src":"16355:19:150"},{"nodeType":"YulVariableDeclaration","src":"16383:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16393:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16387:2:150","type":""}]},{"nodeType":"YulAssignment","src":"16406:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16417:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16422:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16413:3:150"},"nodeType":"YulFunctionCall","src":"16413:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16406:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"16434:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16452:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16459:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16448:3:150"},"nodeType":"YulFunctionCall","src":"16448:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"16438:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16471:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16480:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"16475:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16539:146:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16560:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16575:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16569:5:150"},"nodeType":"YulFunctionCall","src":"16569:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16592:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"16597:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16588:3:150"},"nodeType":"YulFunctionCall","src":"16588:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16601:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16584:3:150"},"nodeType":"YulFunctionCall","src":"16584:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16565:3:150"},"nodeType":"YulFunctionCall","src":"16565:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16553:6:150"},"nodeType":"YulFunctionCall","src":"16553:52:150"},"nodeType":"YulExpressionStatement","src":"16553:52:150"},{"nodeType":"YulAssignment","src":"16618:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16629:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16634:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16625:3:150"},"nodeType":"YulFunctionCall","src":"16625:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16618:3:150"}]},{"nodeType":"YulAssignment","src":"16650:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16664:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16672:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16660:3:150"},"nodeType":"YulFunctionCall","src":"16660:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"16650:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16501:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"16504:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16498:2:150"},"nodeType":"YulFunctionCall","src":"16498:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16512:18:150","statements":[{"nodeType":"YulAssignment","src":"16514:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16523:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"16526:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16519:3:150"},"nodeType":"YulFunctionCall","src":"16519:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16514:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"16494:3:150","statements":[]},"src":"16490:195:150"},{"nodeType":"YulAssignment","src":"16694:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"16701:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16694:3:150"}]}]},"name":"abi_encode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16287:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16294:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16302:3:150","type":""}],"src":"16249:461:150"},{"body":{"nodeType":"YulBlock","src":"16776:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"16786:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16806:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16800:5:150"},"nodeType":"YulFunctionCall","src":"16800:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"16790:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16828:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"16833:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16821:6:150"},"nodeType":"YulFunctionCall","src":"16821:19:150"},"nodeType":"YulExpressionStatement","src":"16821:19:150"},{"nodeType":"YulVariableDeclaration","src":"16849:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16859:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16853:2:150","type":""}]},{"nodeType":"YulAssignment","src":"16872:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16883:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16888:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16879:3:150"},"nodeType":"YulFunctionCall","src":"16879:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"16872:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"16900:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16918:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16925:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16914:3:150"},"nodeType":"YulFunctionCall","src":"16914:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"16904:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16937:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16946:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"16941:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17005:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17026:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"17037:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17031:5:150"},"nodeType":"YulFunctionCall","src":"17031:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17019:6:150"},"nodeType":"YulFunctionCall","src":"17019:26:150"},"nodeType":"YulExpressionStatement","src":"17019:26:150"},{"nodeType":"YulAssignment","src":"17058:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17069:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17074:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17065:3:150"},"nodeType":"YulFunctionCall","src":"17065:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"17058:3:150"}]},{"nodeType":"YulAssignment","src":"17090:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"17104:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17112:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17100:3:150"},"nodeType":"YulFunctionCall","src":"17100:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"17090:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16967:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"16970:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16964:2:150"},"nodeType":"YulFunctionCall","src":"16964:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16978:18:150","statements":[{"nodeType":"YulAssignment","src":"16980:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16989:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"16992:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16985:3:150"},"nodeType":"YulFunctionCall","src":"16985:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16980:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"16960:3:150","statements":[]},"src":"16956:169:150"},{"nodeType":"YulAssignment","src":"17134:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"17141:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"17134:3:150"}]}]},"name":"abi_encode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"16753:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"16760:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16768:3:150","type":""}],"src":"16715:435:150"},{"body":{"nodeType":"YulBlock","src":"17508:405:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17525:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17536:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17518:6:150"},"nodeType":"YulFunctionCall","src":"17518:22:150"},"nodeType":"YulExpressionStatement","src":"17518:22:150"},{"nodeType":"YulVariableDeclaration","src":"17549:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17592:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17604:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17615:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17600:3:150"},"nodeType":"YulFunctionCall","src":"17600:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"17563:28:150"},"nodeType":"YulFunctionCall","src":"17563:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"17553:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17640:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17651:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17636:3:150"},"nodeType":"YulFunctionCall","src":"17636:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"17660:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17668:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17656:3:150"},"nodeType":"YulFunctionCall","src":"17656:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17629:6:150"},"nodeType":"YulFunctionCall","src":"17629:50:150"},"nodeType":"YulExpressionStatement","src":"17629:50:150"},{"nodeType":"YulVariableDeclaration","src":"17688:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17731:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"17739:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"17702:28:150"},"nodeType":"YulFunctionCall","src":"17702:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"17692:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17766:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17777:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17762:3:150"},"nodeType":"YulFunctionCall","src":"17762:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"17786:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17794:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17782:3:150"},"nodeType":"YulFunctionCall","src":"17782:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17755:6:150"},"nodeType":"YulFunctionCall","src":"17755:50:150"},"nodeType":"YulExpressionStatement","src":"17755:50:150"},{"nodeType":"YulAssignment","src":"17814:50:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17849:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"17857:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"17822:26:150"},"nodeType":"YulFunctionCall","src":"17822:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17814:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17884:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17895:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17880:3:150"},"nodeType":"YulFunctionCall","src":"17880:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"17900:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17873:6:150"},"nodeType":"YulFunctionCall","src":"17873:34:150"},"nodeType":"YulExpressionStatement","src":"17873:34:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17453:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"17464:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17472:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17480:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17488:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17499:4:150","type":""}],"src":"17155:758:150"},{"body":{"nodeType":"YulBlock","src":"18035:98:150","statements":[{"nodeType":"YulAssignment","src":"18045:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18057:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18068:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18053:3:150"},"nodeType":"YulFunctionCall","src":"18053:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18045:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18109:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"18117:9:150"}],"functionName":{"name":"abi_encode_enum_ProposalType","nodeType":"YulIdentifier","src":"18080:28:150"},"nodeType":"YulFunctionCall","src":"18080:47:150"},"nodeType":"YulExpressionStatement","src":"18080:47:150"}]},"name":"abi_encode_tuple_t_enum$_ProposalType_$61431__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18004:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18015:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18026:4:150","type":""}],"src":"17918:215:150"},{"body":{"nodeType":"YulBlock","src":"18186:77:150","statements":[{"nodeType":"YulAssignment","src":"18196:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"18207:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"18210:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18203:3:150"},"nodeType":"YulFunctionCall","src":"18203:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"18196:3:150"}]},{"body":{"nodeType":"YulBlock","src":"18235:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18237:16:150"},"nodeType":"YulFunctionCall","src":"18237:18:150"},"nodeType":"YulExpressionStatement","src":"18237:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"18227:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"18230:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18224:2:150"},"nodeType":"YulFunctionCall","src":"18224:10:150"},"nodeType":"YulIf","src":"18221:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"18169:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"18172:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"18178:3:150","type":""}],"src":"18138:125:150"},{"body":{"nodeType":"YulBlock","src":"18425:162:150","statements":[{"nodeType":"YulAssignment","src":"18435:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18447:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18458:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18443:3:150"},"nodeType":"YulFunctionCall","src":"18443:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18435:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18477:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"18488:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18470:6:150"},"nodeType":"YulFunctionCall","src":"18470:25:150"},"nodeType":"YulExpressionStatement","src":"18470:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18515:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18526:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18511:3:150"},"nodeType":"YulFunctionCall","src":"18511:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"18531:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18504:6:150"},"nodeType":"YulFunctionCall","src":"18504:34:150"},"nodeType":"YulExpressionStatement","src":"18504:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18558:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18569:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18554:3:150"},"nodeType":"YulFunctionCall","src":"18554:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"18574:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18547:6:150"},"nodeType":"YulFunctionCall","src":"18547:34:150"},"nodeType":"YulExpressionStatement","src":"18547:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18378:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18389:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18397:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18405:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18416:4:150","type":""}],"src":"18268:319:150"},{"body":{"nodeType":"YulBlock","src":"18766:219:150","statements":[{"nodeType":"YulAssignment","src":"18776:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18788:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18799:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18784:3:150"},"nodeType":"YulFunctionCall","src":"18784:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18776:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18818:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"18829:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18811:6:150"},"nodeType":"YulFunctionCall","src":"18811:25:150"},"nodeType":"YulExpressionStatement","src":"18811:25:150"},{"body":{"nodeType":"YulBlock","src":"18871:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"18873:16:150"},"nodeType":"YulFunctionCall","src":"18873:18:150"},"nodeType":"YulExpressionStatement","src":"18873:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18858:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"18866:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18855:2:150"},"nodeType":"YulFunctionCall","src":"18855:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18848:6:150"},"nodeType":"YulFunctionCall","src":"18848:22:150"},"nodeType":"YulIf","src":"18845:48:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18913:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18924:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18909:3:150"},"nodeType":"YulFunctionCall","src":"18909:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"18929:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18902:6:150"},"nodeType":"YulFunctionCall","src":"18902:34:150"},"nodeType":"YulExpressionStatement","src":"18902:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18956:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18967:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18952:3:150"},"nodeType":"YulFunctionCall","src":"18952:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"18972:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18945:6:150"},"nodeType":"YulFunctionCall","src":"18945:34:150"},"nodeType":"YulExpressionStatement","src":"18945:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18719:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18730:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18738:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18746:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18757:4:150","type":""}],"src":"18592:393:150"},{"body":{"nodeType":"YulBlock","src":"19379:449:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19396:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19407:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19389:6:150"},"nodeType":"YulFunctionCall","src":"19389:22:150"},"nodeType":"YulExpressionStatement","src":"19389:22:150"},{"nodeType":"YulVariableDeclaration","src":"19420:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19463:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19475:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19486:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19471:3:150"},"nodeType":"YulFunctionCall","src":"19471:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"19434:28:150"},"nodeType":"YulFunctionCall","src":"19434:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"19424:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19511:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19522:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19507:3:150"},"nodeType":"YulFunctionCall","src":"19507:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"19531:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19539:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19527:3:150"},"nodeType":"YulFunctionCall","src":"19527:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19500:6:150"},"nodeType":"YulFunctionCall","src":"19500:50:150"},"nodeType":"YulExpressionStatement","src":"19500:50:150"},{"nodeType":"YulVariableDeclaration","src":"19559:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19602:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"19610:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"19573:28:150"},"nodeType":"YulFunctionCall","src":"19573:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"19563:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19637:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19648:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19633:3:150"},"nodeType":"YulFunctionCall","src":"19633:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"19657:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19665:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19653:3:150"},"nodeType":"YulFunctionCall","src":"19653:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19626:6:150"},"nodeType":"YulFunctionCall","src":"19626:50:150"},"nodeType":"YulExpressionStatement","src":"19626:50:150"},{"nodeType":"YulAssignment","src":"19685:50:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"19720:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"19728:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"19693:26:150"},"nodeType":"YulFunctionCall","src":"19693:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19685:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19755:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19766:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19751:3:150"},"nodeType":"YulFunctionCall","src":"19751:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"19771:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19744:6:150"},"nodeType":"YulFunctionCall","src":"19744:34:150"},"nodeType":"YulExpressionStatement","src":"19744:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19798:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19809:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19794:3:150"},"nodeType":"YulFunctionCall","src":"19794:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"19815:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19787:6:150"},"nodeType":"YulFunctionCall","src":"19787:35:150"},"nodeType":"YulExpressionStatement","src":"19787:35:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19316:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"19327:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19335:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19343:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19351:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19359:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19370:4:150","type":""}],"src":"18990:838:150"},{"body":{"nodeType":"YulBlock","src":"19914:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"19960:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19969:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19972:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19962:6:150"},"nodeType":"YulFunctionCall","src":"19962:12:150"},"nodeType":"YulExpressionStatement","src":"19962:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"19935:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"19944:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19931:3:150"},"nodeType":"YulFunctionCall","src":"19931:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"19956:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"19927:3:150"},"nodeType":"YulFunctionCall","src":"19927:32:150"},"nodeType":"YulIf","src":"19924:52:150"},{"nodeType":"YulAssignment","src":"19985:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20001:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19995:5:150"},"nodeType":"YulFunctionCall","src":"19995:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19985:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19880:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"19891:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"19903:6:150","type":""}],"src":"19833:184:150"},{"body":{"nodeType":"YulBlock","src":"20439:493:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20456:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20467:3:150","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20449:6:150"},"nodeType":"YulFunctionCall","src":"20449:22:150"},"nodeType":"YulExpressionStatement","src":"20449:22:150"},{"nodeType":"YulVariableDeclaration","src":"20480:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20523:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20535:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20546:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20531:3:150"},"nodeType":"YulFunctionCall","src":"20531:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"20494:28:150"},"nodeType":"YulFunctionCall","src":"20494:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"20484:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20571:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20582:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20567:3:150"},"nodeType":"YulFunctionCall","src":"20567:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"20591:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20599:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20587:3:150"},"nodeType":"YulFunctionCall","src":"20587:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20560:6:150"},"nodeType":"YulFunctionCall","src":"20560:50:150"},"nodeType":"YulExpressionStatement","src":"20560:50:150"},{"nodeType":"YulVariableDeclaration","src":"20619:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20662:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"20670:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"20633:28:150"},"nodeType":"YulFunctionCall","src":"20633:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"20623:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20697:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20708:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20693:3:150"},"nodeType":"YulFunctionCall","src":"20693:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"20717:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20725:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20713:3:150"},"nodeType":"YulFunctionCall","src":"20713:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20686:6:150"},"nodeType":"YulFunctionCall","src":"20686:50:150"},"nodeType":"YulExpressionStatement","src":"20686:50:150"},{"nodeType":"YulAssignment","src":"20745:50:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"20780:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"20788:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"20753:26:150"},"nodeType":"YulFunctionCall","src":"20753:42:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20745:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20815:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20826:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20811:3:150"},"nodeType":"YulFunctionCall","src":"20811:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"20831:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20804:6:150"},"nodeType":"YulFunctionCall","src":"20804:34:150"},"nodeType":"YulExpressionStatement","src":"20804:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20858:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20869:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20854:3:150"},"nodeType":"YulFunctionCall","src":"20854:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"20875:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20847:6:150"},"nodeType":"YulFunctionCall","src":"20847:35:150"},"nodeType":"YulExpressionStatement","src":"20847:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20902:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20913:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20898:3:150"},"nodeType":"YulFunctionCall","src":"20898:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"20919:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20891:6:150"},"nodeType":"YulFunctionCall","src":"20891:35:150"},"nodeType":"YulExpressionStatement","src":"20891:35:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20368:9:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"20379:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"20387:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20395:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20403:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20411:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20419:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20430:4:150","type":""}],"src":"20022:910:150"},{"body":{"nodeType":"YulBlock","src":"20989:116:150","statements":[{"nodeType":"YulAssignment","src":"20999:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"21014:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"21017:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"21010:3:150"},"nodeType":"YulFunctionCall","src":"21010:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"20999:7:150"}]},{"body":{"nodeType":"YulBlock","src":"21077:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"21079:16:150"},"nodeType":"YulFunctionCall","src":"21079:18:150"},"nodeType":"YulExpressionStatement","src":"21079:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"21048:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21041:6:150"},"nodeType":"YulFunctionCall","src":"21041:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"21055:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"21062:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"21071:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"21058:3:150"},"nodeType":"YulFunctionCall","src":"21058:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"21052:2:150"},"nodeType":"YulFunctionCall","src":"21052:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"21038:2:150"},"nodeType":"YulFunctionCall","src":"21038:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21031:6:150"},"nodeType":"YulFunctionCall","src":"21031:45:150"},"nodeType":"YulIf","src":"21028:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"20968:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"20971:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"20977:7:150","type":""}],"src":"20937:168:150"},{"body":{"nodeType":"YulBlock","src":"21190:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"21236:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21245:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21248:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21238:6:150"},"nodeType":"YulFunctionCall","src":"21238:12:150"},"nodeType":"YulExpressionStatement","src":"21238:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21211:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21220:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21207:3:150"},"nodeType":"YulFunctionCall","src":"21207:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21232:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21203:3:150"},"nodeType":"YulFunctionCall","src":"21203:32:150"},"nodeType":"YulIf","src":"21200:52:150"},{"nodeType":"YulVariableDeclaration","src":"21261:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21280:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21274:5:150"},"nodeType":"YulFunctionCall","src":"21274:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21265:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"21348:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21357:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21360:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21350:6:150"},"nodeType":"YulFunctionCall","src":"21350:12:150"},"nodeType":"YulExpressionStatement","src":"21350:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21312:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21323:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"21330:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21319:3:150"},"nodeType":"YulFunctionCall","src":"21319:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"21309:2:150"},"nodeType":"YulFunctionCall","src":"21309:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21302:6:150"},"nodeType":"YulFunctionCall","src":"21302:45:150"},"nodeType":"YulIf","src":"21299:65:150"},{"nodeType":"YulAssignment","src":"21373:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21383:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21373:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21156:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21167:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21179:6:150","type":""}],"src":"21110:284:150"},{"body":{"nodeType":"YulBlock","src":"21477:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"21523:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21532:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21535:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21525:6:150"},"nodeType":"YulFunctionCall","src":"21525:12:150"},"nodeType":"YulExpressionStatement","src":"21525:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21498:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"21507:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21494:3:150"},"nodeType":"YulFunctionCall","src":"21494:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"21519:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21490:3:150"},"nodeType":"YulFunctionCall","src":"21490:32:150"},"nodeType":"YulIf","src":"21487:52:150"},{"nodeType":"YulVariableDeclaration","src":"21548:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21567:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21561:5:150"},"nodeType":"YulFunctionCall","src":"21561:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21552:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21608:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"21586:21:150"},"nodeType":"YulFunctionCall","src":"21586:28:150"},"nodeType":"YulExpressionStatement","src":"21586:28:150"},{"nodeType":"YulAssignment","src":"21623:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"21633:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"21623:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21443:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21454:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21466:6:150","type":""}],"src":"21399:245:150"},{"body":{"nodeType":"YulBlock","src":"21770:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21787:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21798:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21780:6:150"},"nodeType":"YulFunctionCall","src":"21780:21:150"},"nodeType":"YulExpressionStatement","src":"21780:21:150"},{"nodeType":"YulAssignment","src":"21810:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21836:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21848:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21859:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21844:3:150"},"nodeType":"YulFunctionCall","src":"21844:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"21818:17:150"},"nodeType":"YulFunctionCall","src":"21818:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21810:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21739:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21750:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21761:4:150","type":""}],"src":"21649:220:150"},{"body":{"nodeType":"YulBlock","src":"21973:103:150","statements":[{"nodeType":"YulAssignment","src":"21983:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21995:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22006:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21991:3:150"},"nodeType":"YulFunctionCall","src":"21991:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21983:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22025:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22040:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22052:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"22057:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22048:3:150"},"nodeType":"YulFunctionCall","src":"22048:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22036:3:150"},"nodeType":"YulFunctionCall","src":"22036:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22018:6:150"},"nodeType":"YulFunctionCall","src":"22018:52:150"},"nodeType":"YulExpressionStatement","src":"22018:52:150"}]},"name":"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21942:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21953:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21964:4:150","type":""}],"src":"21874:202:150"},{"body":{"nodeType":"YulBlock","src":"22113:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22130:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22137:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"22142:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22133:3:150"},"nodeType":"YulFunctionCall","src":"22133:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22123:6:150"},"nodeType":"YulFunctionCall","src":"22123:31:150"},"nodeType":"YulExpressionStatement","src":"22123:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22170:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22173:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22163:6:150"},"nodeType":"YulFunctionCall","src":"22163:15:150"},"nodeType":"YulExpressionStatement","src":"22163:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22194:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22197:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22187:6:150"},"nodeType":"YulFunctionCall","src":"22187:15:150"},"nodeType":"YulExpressionStatement","src":"22187:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"22081:127:150"},{"body":{"nodeType":"YulBlock","src":"22259:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"22290:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22311:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22318:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"22323:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22314:3:150"},"nodeType":"YulFunctionCall","src":"22314:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22304:6:150"},"nodeType":"YulFunctionCall","src":"22304:31:150"},"nodeType":"YulExpressionStatement","src":"22304:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22355:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"22358:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22348:6:150"},"nodeType":"YulFunctionCall","src":"22348:15:150"},"nodeType":"YulExpressionStatement","src":"22348:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22383:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22386:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22376:6:150"},"nodeType":"YulFunctionCall","src":"22376:15:150"},"nodeType":"YulExpressionStatement","src":"22376:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"22279:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22272:6:150"},"nodeType":"YulFunctionCall","src":"22272:9:150"},"nodeType":"YulIf","src":"22269:132:150"},{"nodeType":"YulAssignment","src":"22410:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22419:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"22422:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"22415:3:150"},"nodeType":"YulFunctionCall","src":"22415:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"22410:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22244:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"22247:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"22253:1:150","type":""}],"src":"22213:217:150"},{"body":{"nodeType":"YulBlock","src":"22571:130:150","statements":[{"nodeType":"YulAssignment","src":"22581:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22593:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22604:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22589:3:150"},"nodeType":"YulFunctionCall","src":"22589:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22581:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22623:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22638:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"22646:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22634:3:150"},"nodeType":"YulFunctionCall","src":"22634:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22616:6:150"},"nodeType":"YulFunctionCall","src":"22616:36:150"},"nodeType":"YulExpressionStatement","src":"22616:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22672:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22683:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22668:3:150"},"nodeType":"YulFunctionCall","src":"22668:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"22688:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22661:6:150"},"nodeType":"YulFunctionCall","src":"22661:34:150"},"nodeType":"YulExpressionStatement","src":"22661:34:150"}]},"name":"abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22532:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22543:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22551:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22562:4:150","type":""}],"src":"22435:266:150"},{"body":{"nodeType":"YulBlock","src":"22835:145:150","statements":[{"nodeType":"YulAssignment","src":"22845:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22857:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22868:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22853:3:150"},"nodeType":"YulFunctionCall","src":"22853:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22845:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22887:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22902:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22918:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22923:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22914:3:150"},"nodeType":"YulFunctionCall","src":"22914:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"22927:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22910:3:150"},"nodeType":"YulFunctionCall","src":"22910:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22898:3:150"},"nodeType":"YulFunctionCall","src":"22898:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22880:6:150"},"nodeType":"YulFunctionCall","src":"22880:51:150"},"nodeType":"YulExpressionStatement","src":"22880:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22951:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"22962:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22947:3:150"},"nodeType":"YulFunctionCall","src":"22947:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"22967:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22940:6:150"},"nodeType":"YulFunctionCall","src":"22940:34:150"},"nodeType":"YulExpressionStatement","src":"22940:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22796:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22807:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22815:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22826:4:150","type":""}],"src":"22706:274:150"},{"body":{"nodeType":"YulBlock","src":"23142:218:150","statements":[{"nodeType":"YulAssignment","src":"23152:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23164:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23175:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23160:3:150"},"nodeType":"YulFunctionCall","src":"23160:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23152:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"23187:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23205:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23210:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23201:3:150"},"nodeType":"YulFunctionCall","src":"23201:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23214:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23197:3:150"},"nodeType":"YulFunctionCall","src":"23197:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23191:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23232:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23247:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23255:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23243:3:150"},"nodeType":"YulFunctionCall","src":"23243:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23225:6:150"},"nodeType":"YulFunctionCall","src":"23225:34:150"},"nodeType":"YulExpressionStatement","src":"23225:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23279:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23290:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23275:3:150"},"nodeType":"YulFunctionCall","src":"23275:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23299:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23307:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23295:3:150"},"nodeType":"YulFunctionCall","src":"23295:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23268:6:150"},"nodeType":"YulFunctionCall","src":"23268:43:150"},"nodeType":"YulExpressionStatement","src":"23268:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23331:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23342:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23327:3:150"},"nodeType":"YulFunctionCall","src":"23327:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"23347:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23320:6:150"},"nodeType":"YulFunctionCall","src":"23320:34:150"},"nodeType":"YulExpressionStatement","src":"23320:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23095:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23106:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23114:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23122:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23133:4:150","type":""}],"src":"22985:375:150"},{"body":{"nodeType":"YulBlock","src":"23539:179:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23556:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23567:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23549:6:150"},"nodeType":"YulFunctionCall","src":"23549:21:150"},"nodeType":"YulExpressionStatement","src":"23549:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23590:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23601:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23586:3:150"},"nodeType":"YulFunctionCall","src":"23586:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"23606:2:150","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23579:6:150"},"nodeType":"YulFunctionCall","src":"23579:30:150"},"nodeType":"YulExpressionStatement","src":"23579:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23640:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23625:3:150"},"nodeType":"YulFunctionCall","src":"23625:18:150"},{"hexValue":"42335452476f7665726e6f723a207472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"23645:31:150","type":"","value":"B3TRGovernor: transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23618:6:150"},"nodeType":"YulFunctionCall","src":"23618:59:150"},"nodeType":"YulExpressionStatement","src":"23618:59:150"},{"nodeType":"YulAssignment","src":"23686:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23698:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23709:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23694:3:150"},"nodeType":"YulFunctionCall","src":"23694:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23686:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23516:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23530:4:150","type":""}],"src":"23365:353:150"},{"body":{"nodeType":"YulBlock","src":"23771:134:150","statements":[{"nodeType":"YulVariableDeclaration","src":"23781:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23799:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"23804:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23795:3:150"},"nodeType":"YulFunctionCall","src":"23795:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23808:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23791:3:150"},"nodeType":"YulFunctionCall","src":"23791:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23785:2:150","type":""}]},{"nodeType":"YulAssignment","src":"23819:34:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23834:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23837:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23830:3:150"},"nodeType":"YulFunctionCall","src":"23830:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"23846:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23849:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23842:3:150"},"nodeType":"YulFunctionCall","src":"23842:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23826:3:150"},"nodeType":"YulFunctionCall","src":"23826:27:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"23819:3:150"}]},{"body":{"nodeType":"YulBlock","src":"23877:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23879:16:150"},"nodeType":"YulFunctionCall","src":"23879:18:150"},"nodeType":"YulExpressionStatement","src":"23879:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"23868:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"23873:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23865:2:150"},"nodeType":"YulFunctionCall","src":"23865:11:150"},"nodeType":"YulIf","src":"23862:37:150"}]},"name":"checked_add_t_uint208","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23754:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"23757:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"23763:3:150","type":""}],"src":"23723:182:150"},{"body":{"nodeType":"YulBlock","src":"24409:1103:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24426:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24437:3:150","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24419:6:150"},"nodeType":"YulFunctionCall","src":"24419:22:150"},"nodeType":"YulExpressionStatement","src":"24419:22:150"},{"nodeType":"YulVariableDeclaration","src":"24450:71:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24493:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24505:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24516:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24501:3:150"},"nodeType":"YulFunctionCall","src":"24501:19:150"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"24464:28:150"},"nodeType":"YulFunctionCall","src":"24464:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"24454:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24530:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"24540:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"24534:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24562:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24573:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24558:3:150"},"nodeType":"YulFunctionCall","src":"24558:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"24582:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24590:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24578:3:150"},"nodeType":"YulFunctionCall","src":"24578:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24551:6:150"},"nodeType":"YulFunctionCall","src":"24551:50:150"},"nodeType":"YulExpressionStatement","src":"24551:50:150"},{"nodeType":"YulVariableDeclaration","src":"24610:58:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"24653:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"24661:6:150"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"24624:28:150"},"nodeType":"YulFunctionCall","src":"24624:44:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"24614:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24688:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24699:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24684:3:150"},"nodeType":"YulFunctionCall","src":"24684:18:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"24708:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"24716:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24704:3:150"},"nodeType":"YulFunctionCall","src":"24704:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24677:6:150"},"nodeType":"YulFunctionCall","src":"24677:50:150"},"nodeType":"YulExpressionStatement","src":"24677:50:150"},{"nodeType":"YulVariableDeclaration","src":"24736:17:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"24747:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"24740:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24762:27:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"24782:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24776:5:150"},"nodeType":"YulFunctionCall","src":"24776:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"24766:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"24805:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"24813:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24798:6:150"},"nodeType":"YulFunctionCall","src":"24798:22:150"},"nodeType":"YulExpressionStatement","src":"24798:22:150"},{"nodeType":"YulAssignment","src":"24829:22:150","value":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"24840:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24848:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24836:3:150"},"nodeType":"YulFunctionCall","src":"24836:15:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"24829:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"24860:50:150","value":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"24882:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24894:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"24897:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"24890:3:150"},"nodeType":"YulFunctionCall","src":"24890:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24878:3:150"},"nodeType":"YulFunctionCall","src":"24878:27:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24907:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24874:3:150"},"nodeType":"YulFunctionCall","src":"24874:36:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"24864:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24919:29:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"24937:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"24945:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24933:3:150"},"nodeType":"YulFunctionCall","src":"24933:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"24923:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"24957:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"24966:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"24961:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"25025:203:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25046:3:150"},{"arguments":[{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"25059:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"25067:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25055:3:150"},"nodeType":"YulFunctionCall","src":"25055:19:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25080:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"25076:3:150"},"nodeType":"YulFunctionCall","src":"25076:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25051:3:150"},"nodeType":"YulFunctionCall","src":"25051:33:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25039:6:150"},"nodeType":"YulFunctionCall","src":"25039:46:150"},"nodeType":"YulExpressionStatement","src":"25039:46:150"},{"nodeType":"YulAssignment","src":"25098:50:150","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"25132:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25126:5:150"},"nodeType":"YulFunctionCall","src":"25126:13:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"25141:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"25108:17:150"},"nodeType":"YulFunctionCall","src":"25108:40:150"},"variableNames":[{"name":"tail_3","nodeType":"YulIdentifier","src":"25098:6:150"}]},{"nodeType":"YulAssignment","src":"25161:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"25175:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"25183:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25171:3:150"},"nodeType":"YulFunctionCall","src":"25171:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"25161:6:150"}]},{"nodeType":"YulAssignment","src":"25199:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25210:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"25215:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25206:3:150"},"nodeType":"YulFunctionCall","src":"25206:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"25199:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"24987:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"24990:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"24984:2:150"},"nodeType":"YulFunctionCall","src":"24984:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"24998:18:150","statements":[{"nodeType":"YulAssignment","src":"25000:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"25009:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"25012:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25005:3:150"},"nodeType":"YulFunctionCall","src":"25005:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"25000:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"24980:3:150","statements":[]},"src":"24976:252:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25248:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25259:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25244:3:150"},"nodeType":"YulFunctionCall","src":"25244:18:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"25268:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"25276:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25264:3:150"},"nodeType":"YulFunctionCall","src":"25264:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25237:6:150"},"nodeType":"YulFunctionCall","src":"25237:50:150"},"nodeType":"YulExpressionStatement","src":"25237:50:150"},{"nodeType":"YulVariableDeclaration","src":"25296:56:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"25337:6:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"25345:6:150"}],"functionName":{"name":"abi_encode_array_bytes_dyn","nodeType":"YulIdentifier","src":"25310:26:150"},"nodeType":"YulFunctionCall","src":"25310:42:150"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"25300:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25372:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25383:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25368:3:150"},"nodeType":"YulFunctionCall","src":"25368:19:150"},{"arguments":[{"name":"tail_4","nodeType":"YulIdentifier","src":"25393:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"25401:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25389:3:150"},"nodeType":"YulFunctionCall","src":"25389:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25361:6:150"},"nodeType":"YulFunctionCall","src":"25361:51:150"},"nodeType":"YulExpressionStatement","src":"25361:51:150"},{"nodeType":"YulAssignment","src":"25421:41:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"25447:6:150"},{"name":"tail_4","nodeType":"YulIdentifier","src":"25455:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"25429:17:150"},"nodeType":"YulFunctionCall","src":"25429:33:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25421:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25482:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25493:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25478:3:150"},"nodeType":"YulFunctionCall","src":"25478:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"25499:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25471:6:150"},"nodeType":"YulFunctionCall","src":"25471:35:150"},"nodeType":"YulExpressionStatement","src":"25471:35:150"}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24338:9:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"24349:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"24357:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"24365:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"24373:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24381:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24389:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24400:4:150","type":""}],"src":"23910:1602:150"},{"body":{"nodeType":"YulBlock","src":"25653:130:150","statements":[{"nodeType":"YulAssignment","src":"25663:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25675:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25686:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25671:3:150"},"nodeType":"YulFunctionCall","src":"25671:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25663:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25705:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25720:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"25728:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25716:3:150"},"nodeType":"YulFunctionCall","src":"25716:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25698:6:150"},"nodeType":"YulFunctionCall","src":"25698:36:150"},"nodeType":"YulExpressionStatement","src":"25698:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25754:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25765:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25750:3:150"},"nodeType":"YulFunctionCall","src":"25750:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"25770:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25743:6:150"},"nodeType":"YulFunctionCall","src":"25743:34:150"},"nodeType":"YulExpressionStatement","src":"25743:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25614:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25625:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25633:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25644:4:150","type":""}],"src":"25517:266:150"},{"body":{"nodeType":"YulBlock","src":"25907:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25924:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25935:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25917:6:150"},"nodeType":"YulFunctionCall","src":"25917:21:150"},"nodeType":"YulExpressionStatement","src":"25917:21:150"},{"nodeType":"YulAssignment","src":"25947:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25973:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25985:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25996:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25981:3:150"},"nodeType":"YulFunctionCall","src":"25981:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"25955:17:150"},"nodeType":"YulFunctionCall","src":"25955:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25947:4:150"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25876:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25887:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25898:4:150","type":""}],"src":"25788:218:150"},{"body":{"nodeType":"YulBlock","src":"26185:233:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26202:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26213:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26195:6:150"},"nodeType":"YulFunctionCall","src":"26195:21:150"},"nodeType":"YulExpressionStatement","src":"26195:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26236:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26247:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26232:3:150"},"nodeType":"YulFunctionCall","src":"26232:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"26252:2:150","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26225:6:150"},"nodeType":"YulFunctionCall","src":"26225:30:150"},"nodeType":"YulExpressionStatement","src":"26225:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26275:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26286:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26271:3:150"},"nodeType":"YulFunctionCall","src":"26271:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c6964207072","kind":"string","nodeType":"YulLiteral","src":"26291:34:150","type":"","value":"GovernorConfigurator: invalid pr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26264:6:150"},"nodeType":"YulFunctionCall","src":"26264:62:150"},"nodeType":"YulExpressionStatement","src":"26264:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26346:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26357:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26342:3:150"},"nodeType":"YulFunctionCall","src":"26342:18:150"},{"hexValue":"6f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"26362:13:150","type":"","value":"oposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26335:6:150"},"nodeType":"YulFunctionCall","src":"26335:41:150"},"nodeType":"YulExpressionStatement","src":"26335:41:150"},{"nodeType":"YulAssignment","src":"26385:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26397:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26408:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26393:3:150"},"nodeType":"YulFunctionCall","src":"26393:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26385:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26162:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26176:4:150","type":""}],"src":"26011:407:150"},{"body":{"nodeType":"YulBlock","src":"26560:130:150","statements":[{"nodeType":"YulAssignment","src":"26570:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26582:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26593:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26578:3:150"},"nodeType":"YulFunctionCall","src":"26578:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26570:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26612:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26627:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"26635:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26623:3:150"},"nodeType":"YulFunctionCall","src":"26623:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26605:6:150"},"nodeType":"YulFunctionCall","src":"26605:36:150"},"nodeType":"YulExpressionStatement","src":"26605:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26661:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26672:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26657:3:150"},"nodeType":"YulFunctionCall","src":"26657:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"26677:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26650:6:150"},"nodeType":"YulFunctionCall","src":"26650:34:150"},"nodeType":"YulExpressionStatement","src":"26650:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26521:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26532:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26540:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26551:4:150","type":""}],"src":"26423:267:150"},{"body":{"nodeType":"YulBlock","src":"26750:325:150","statements":[{"nodeType":"YulAssignment","src":"26760:22:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26774:1:150","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"26777:4:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"26770:3:150"},"nodeType":"YulFunctionCall","src":"26770:12:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"26760:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"26791:38:150","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"26821:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"26827:1:150","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26817:3:150"},"nodeType":"YulFunctionCall","src":"26817:12:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"26795:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"26868:31:150","statements":[{"nodeType":"YulAssignment","src":"26870:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"26884:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"26892:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26880:3:150"},"nodeType":"YulFunctionCall","src":"26880:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"26870:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"26848:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"26841:6:150"},"nodeType":"YulFunctionCall","src":"26841:26:150"},"nodeType":"YulIf","src":"26838:61:150"},{"body":{"nodeType":"YulBlock","src":"26958:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26979:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26986:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"26991:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26982:3:150"},"nodeType":"YulFunctionCall","src":"26982:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26972:6:150"},"nodeType":"YulFunctionCall","src":"26972:31:150"},"nodeType":"YulExpressionStatement","src":"26972:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27023:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"27026:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27016:6:150"},"nodeType":"YulFunctionCall","src":"27016:15:150"},"nodeType":"YulExpressionStatement","src":"27016:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27051:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27054:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27044:6:150"},"nodeType":"YulFunctionCall","src":"27044:15:150"},"nodeType":"YulExpressionStatement","src":"27044:15:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"26914:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"26937:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"26945:2:150","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"26934:2:150"},"nodeType":"YulFunctionCall","src":"26934:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"26911:2:150"},"nodeType":"YulFunctionCall","src":"26911:38:150"},"nodeType":"YulIf","src":"26908:161:150"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"26730:4:150","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"26739:6:150","type":""}],"src":"26695:380:150"}]},"contents":"{\n    { }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_array_address_dyn(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_array_address_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, abi_decode_address(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_available_length_bytes(src, length, end) -> array\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        array := allocate_memory(add(and(add(length, 31), not(31)), 0x20))\n        mstore(array, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        calldatacopy(add(array, 0x20), src, length)\n        mstore(add(add(array, length), 0x20), 0)\n    }\n    function abi_decode_array_bytes_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_address_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, sub(shl(64, 1), 1))\n            {\n                let _3 := 0\n                revert(_3, _3)\n            }\n            let _4 := add(offset, innerOffset)\n            if iszero(slt(add(_4, 63), end))\n            {\n                let _5 := 0\n                revert(_5, _5)\n            }\n            mstore(dst, abi_decode_available_length_bytes(add(_4, 64), calldataload(add(_4, _2)), end))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_string(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        array := abi_decode_available_length_bytes(add(offset, 0x20), calldataload(offset), end)\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_addresst_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 96))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value3 := abi_decode_string(add(headStart, offset_3), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n        value5 := calldataload(add(headStart, 160))\n        value6 := abi_decode_address(add(headStart, 192))\n        let offset_4 := calldataload(add(headStart, 224))\n        if gt(offset_4, _1) { revert(0, 0) }\n        value7 := abi_decode_string(add(headStart, offset_4), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        let offset := calldataload(add(headStart, 32))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value1 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value2 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 96))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value3 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_bool(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_bool(value)\n    }\n    function abi_decode_tuple_t_addresst_boolt_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes32t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n    {\n        if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_bool(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value2 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 128))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value4 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        value5 := calldataload(add(headStart, 160))\n        let offset_3 := calldataload(add(headStart, 192))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value6 := abi_decode_string(add(headStart, offset_3), dataEnd)\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_string_memory_ptrt_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n    {\n        if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_address_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_array_bytes_dyn(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 96))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value3 := abi_decode_string(add(headStart, offset_3), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n        value5 := calldataload(add(headStart, 160))\n        value6 := calldataload(add(headStart, 192))\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 0x20) }\n        {\n            let _1 := 0x20\n            mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n        }\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_array_bytes_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        let updated_pos := add(pos, _1)\n        let pos_1 := updated_pos\n        pos := updated_pos\n        let tail := add(pos_1, shl(5, length))\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, sub(tail, pos_1))\n            tail := abi_encode_string(mload(srcPtr), tail)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_string_memory_ptr_t_uint256_t_address_t_address_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 160)\n        let tail_1 := abi_encode_string(value0, add(headStart, 160))\n        mstore(add(headStart, 32), value1)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(add(headStart, 64), and(value2, _1))\n        mstore(add(headStart, 96), and(value3, _1))\n        mstore(add(headStart, 128), sub(tail_1, headStart))\n        tail := abi_encode_array_bytes_dyn(value4, tail_1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function checked_exp_helper(_base, exponent) -> power, base\n    {\n        let power_1 := 1\n        power := power_1\n        base := _base\n        for { } gt(exponent, power_1) { }\n        {\n            if gt(base, div(not(0), base)) { panic_error_0x11() }\n            if and(exponent, power_1) { power := mul(power, base) }\n            base := mul(base, base)\n            exponent := shr(power_1, exponent)\n        }\n    }\n    function checked_exp_unsigned(base, exponent) -> power\n    {\n        if iszero(exponent)\n        {\n            power := 1\n            leave\n        }\n        if iszero(base)\n        {\n            power := 0\n            leave\n        }\n        switch base\n        case 1 {\n            power := 1\n            leave\n        }\n        case 2 {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := shl(exponent, 1)\n            leave\n        }\n        if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n        {\n            power := exp(base, exponent)\n            leave\n        }\n        let power_1, base_1 := checked_exp_helper(base, exponent)\n        if gt(power_1, div(not(0), base_1)) { panic_error_0x11() }\n        power := mul(power_1, base_1)\n    }\n    function checked_exp_t_uint256_t_uint8(base, exponent) -> power\n    {\n        power := checked_exp_unsigned(base, and(exponent, 0xff))\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_afbb4340e096f9728bac57fd866e0a32bf3f5950919fd4fd925cae607f515837__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 30)\n        mstore(add(headStart, 64), \"Governor: proposal not pending\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_enum_ProposalType(value, pos)\n    {\n        if iszero(lt(value, 2)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint8__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        abi_encode_enum_ProposalType(value1, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_array_address_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_array_uint256_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 128)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 128))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        tail := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_enum$_ProposalType_$61431__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_ProposalType(value0, headStart)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        if iszero(lt(value1, 10)) { panic_error_0x21() }\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 160)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 160))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        tail := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), value4)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_rational_0_by_1_t_bytes32_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 192)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 192))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        tail := abi_encode_array_bytes_dyn(value2, tail_2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), value4)\n        mstore(add(headStart, 160), value5)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_rational_32_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_stringliteral_ab644cdf552b2d88d5f7f799931ea09a735b32ebe189ecc47f496aa746520137__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 29)\n        mstore(add(headStart, 64), \"B3TRGovernor: transfer failed\")\n        tail := add(headStart, 96)\n    }\n    function checked_add_t_uint208(x, y) -> sum\n    {\n        let _1 := sub(shl(208, 1), 1)\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 192)\n        let tail_1 := abi_encode_array_address_dyn(value0, add(headStart, 192))\n        let _1 := 32\n        mstore(add(headStart, _1), sub(tail_1, headStart))\n        let tail_2 := abi_encode_array_uint256_dyn(value1, tail_1)\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        let pos := tail_2\n        let length := mload(value2)\n        mstore(tail_2, length)\n        pos := add(tail_2, _1)\n        let tail_3 := add(add(tail_2, shl(5, length)), _1)\n        let srcPtr := add(value2, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_3, tail_2), not(31)))\n            tail_3 := abi_encode_string(mload(srcPtr), tail_3)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        mstore(add(headStart, 96), sub(tail_3, headStart))\n        let tail_4 := abi_encode_array_bytes_dyn(value3, tail_3)\n        mstore(add(headStart, 128), sub(tail_4, headStart))\n        tail := abi_encode_string(value4, tail_4)\n        mstore(add(headStart, 160), value5)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 43)\n        mstore(add(headStart, 64), \"GovernorConfigurator: invalid pr\")\n        mstore(add(headStart, 96), \"oposal type\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":5421},{"length":20,"start":5544},{"length":20,"start":6072},{"length":20,"start":6887},{"length":20,"start":9782},{"length":20,"start":9951}]}},"object":"73000000000000000000000000000000000000000030146080604052600436106100b95760003560e01c8063013b1088146100be57806301957cc7146100f15780632a09c772146101115780632d63f693146101365780635584c4f91461014957806381ab23531461015e578063a9a9529414610176578063badecd7614610189578063c01f9e37146101a9578063c0a6026c146101bc578063c429bd82146101de578063eab59fd2146101fe578063fcadd1f71461021e575b600080fd5b8180156100ca57600080fd5b506100de6100d93660046134a8565b61023e565b6040519081526020015b60405180910390f35b8180156100fd57600080fd5b506100de61010c36600461359d565b610311565b61012461011f36600461363d565b6103fd565b60405160ff90911681526020016100e8565b6100de61014436600461363d565b610437565b610151610448565b6040516100e89190613656565b610166610655565b60405190151581526020016100e8565b61016661018436600461363d565b610664565b81801561019557600080fd5b506100de6101a43660046136b3565b6106c0565b6100de6101b736600461363d565b6108ba565b8180156101c857600080fd5b506101dc6101d736600461363d565b6108c5565b005b8180156101ea57600080fd5b506101dc6101f936600461363d565b610980565b81801561020a57600080fd5b506100de61021936600461378a565b610aa0565b81801561022a57600080fd5b506100de61023936600461359d565b610afc565b600080610249610c95565b905060006102608b8b8b8b80519060200120610cb9565b905061027333888a8e8e8e876001610cf3565b81601a0160009054906101000a90046001600160a01b03166001600160a01b031663808860a5858333898e6040518663ffffffff1660e01b81526004016102be9594939291906138ec565b600060405180830381600087803b1580156102d857600080fd5b505af11580156102ec573d6000803e3d6000fd5b5050505061030233828d8d8d8d8d8d6001610f54565b9b9a5050505050505050505050565b60008061031c610c95565b9050600061032c87878787610cb9565b90506103418161033c6004611046565b611069565b50600061035289838a8a8a8a6110a8565b905065ffffffffffff8116156103d8576000828152600184016020908152604091829020600201805465ffffffffffff60381b1916600160381b65ffffffffffff8616908102919091179091558251858152918201527f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892910160405180910390a16103f1565b604051634844252360e11b815260040160405180910390fd5b50979650505050505050565b600080610408610c95565b600084815260158201602052604090205490915060ff1660018111156104305761043061393b565b9392505050565b600061044282611250565b92915050565b60606000610454610c95565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d19190613951565b6000818152602184016020526040812080549293509190816001600160401b038111156105005761050061324b565b604051908082528060200260200182016040528015610529578160200160208202803683370190505b5090506000805b838110156105ba57600085828154811061054c5761054c61396a565b600091825260209091200154905060016105658261163d565b60098111156105765761057661393b565b036105a7578084848151811061058e5761058e61396a565b6020908102919091010152826105a381613996565b9350505b50806105b281613996565b915050610530565b506000816001600160401b038111156105d5576105d561324b565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b50905060005b828110156103f15783818151811061061e5761061e61396a565b60200260200101518282815181106106385761063861396a565b60209081029190910101528061064d81613996565b915050610604565b600061065f6119e4565b905090565b60008061066f610c95565b600084815260018083016020526040822090810154929350919003610698575060009392505050565b6002810154600160201b900460ff16156106b6575060019392505050565b5060009392505050565b6000806106cb610c95565b905060006106db88888888610cb9565b90506106e681611ba1565b6001600160a01b03168a6001600160a01b031614158015610705575088155b1561072e5789604051633733be5960e21b815260040161072591906139af565b60405180910390fd5b61079b8161073c6003611046565b6107466007611046565b6107506009611046565b61075a6008611046565b6107646006611046565b61076e6002611046565b600161077b6009826139c3565b610786906002613ac0565b6107909190613acf565b181818181818611069565b506107a581611ba1565b6001600160a01b03168a6001600160a01b0316036108265760006107c88261163d565b60098111156107d9576107d961393b565b146108265760405162461bcd60e51b815260206004820152601e60248201527f476f7665726e6f723a2070726f706f73616c206e6f742070656e64696e6700006044820152606401610725565b600081815260078301602052604090205480156108af57600683015460405163c4d252f560e01b8152600481018390526001600160a01b039091169063c4d252f590602401600060405180830381600087803b15801561088557600080fd5b505af1158015610899573d6000803e3d6000fd5b5050506000838152600785016020526040812055505b610302828c87611bca565b600061044282611c81565b60006108cf610c95565b600083815260158201602052604081205491925060ff909116908160018111156108fb576108fb61393b565b1461091d5782816040516344b7587b60e01b8152600401610725929190613af6565b61092b8361033c6008611046565b506000838152601e83016020908152604091829020805460ff1916600217905590518481527f71611adb0c8d2eea43359b2e41e5fdf96309ce734ed1eb78ceb763198c1b8967910160405180910390a1505050565b600061098a610c95565b90506109aa8261099a6009611046565b6109a46008611046565b17611069565b50600082815260288201602052604090205460ff16156109e0576040516331bfcd9f60e11b815260048101839052602401610725565b6000828152601e820160209081526040808320805460ff199081169091556027850183528184208054909116905560268401825280832080546001600160a01b0319169055602984019091528120610a37916131be565b6000828152602a820160205260408120610a50916131be565b6000828152602b820160205260408120610a69916131fb565b6040518281527f89e9abefcace5d0e37429f32023df3d73c9a310923f6383fa778ec40c629df0e9060200160405180910390a15050565b6000803390506000610abb8a8a8a8a80519060200120610cb9565b9050610ace8287898d8d8d876000610cf3565b6000610ae283838d8d8d8d8d8d6000610f54565b9050610aee8186611e04565b9a9950505050505050505050565b600080610b07610c95565b90506000610b1787878787610cb9565b9050610b3181610b276005611046565b6109a46004611046565b5060008181526001830160205260409020600201805460ff60281b1916600160281b1790556001600160a01b038816610b68611e71565b6001600160a01b031614610bfc5760005b8751811015610bfa57306001600160a01b0316888281518110610b9e57610b9e61396a565b60200260200101516001600160a01b031603610bea57610bea868281518110610bc957610bc961396a565b60200260200101518051906020012084600201611e8f90919063ffffffff16565b610bf381613996565b9050610b79565b505b610c0a888289898989611f00565b876001600160a01b0316610c1c611e71565b6001600160a01b031614158015610c4a575060028201546001600160801b03808216600160801b9092041614155b15610c5757600060028301555b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f9060200160405180910390a1979650505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600084848484604051602001610cd29493929190613b7e565b60408051601f19818403018152919052805160209091012095945050505050565b6000610cfd610c95565b9050610d0882611f9c565b610d275781604051633e4bbe1960e11b81526004016107259190613bc9565b80600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da09190613951565b8811610dc257604051637a5d07d360e01b815260048101899052602401610725565b80600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3b9190613951565b610e46906001613bd7565b8803610e7457610e546119e4565b610e7457604051637a5d07d360e01b815260048101899052602401610725565b6000826001811115610e8857610e8861393b565b03610eb657610e978988611fd3565b610eb6578860405163d9b3955760e01b815260040161072591906139af565b84518651141580610ec957508351865114155b15610efe57855184518651604051630447b05d60e41b8152600481019390935260248301919091526044820152606401610725565b600083815260018083016020526040909120015415610f3f5782610f218461163d565b6040516331b75e4d60e01b8152610725929190600090600401613bea565b610f4986856120c4565b505050505050505050565b600080610f5f610c95565b90506000610f6c846121a9565b90506000610ff183600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fec9190613951565b612277565b8b5190915015156110028e876122a7565b6110128d8f848b858c898d61240b565b861561102357611023878f8f61251d565b6110348e8e8e8e8e8e8e8a8e6127b9565b509a9c9b505050505050505050505050565b600081600981111561105a5761105a61393b565b600160ff919091161b92915050565b6000806110758461163d565b905060008361108383611046565b1603610430578381846040516331b75e4d60e01b815260040161072593929190613bea565b6000806110b3610c95565b905060008160060160009054906101000a90046001600160a01b03166001600160a01b031663f27a0c926040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111309190613951565b9050600061113e858b612895565b600684015460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f4279061117a908b908b908b906000908890600401613c12565b602060405180830381865afa158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb9190613951565b60008a815260078501602052604080822092909255600685015491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb09161120a918c918c918c919088908a90600401613c60565b600060405180830381600087803b15801561122457600080fd5b505af1158015611238573d6000803e3d6000fd5b50505050610aee824261124b9190613bd7565b6128a6565b60008061125b610c95565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ef9190613951565b1061138c5760006112fe610c95565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda906024015b602060405180830381865afa158015611360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113849190613951565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc9190613951565b600085815260018085016020526040909120015461141a9190613acf565b90506000611429600183613acf565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a29190613951565b6114ac9190613cb8565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015611505573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115299190613951565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115989190613ccf565b65ffffffffffff16811161161e5773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156115ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116139190613ccf565b65ffffffffffff1690505b826116298383613bd7565b6116339190613bd7565b9695505050505050565b600080611648610c95565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b909204169083600281111561169d5761169d61393b565b036116af575060089695505050505050565b60028360028111156116c3576116c361393b565b036116d5575060099695505050505050565b81156116e8575060069695505050505050565b80156116fb575060029695505050505050565b836001015460000361172357604051636ad0607560e01b815260048101889052602401610725565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190613951565b10156117b4575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156117ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118239190613ccf565b65ffffffffffff169050600061183889611c81565b9050611843896128d4565b6118565750600798975050505050505050565b81811061186c5750600198975050505050505050565b61187589612900565b158061188757506118858961295e565b155b1561189b5750600398975050505050505050565b6118a489612986565b6000036118ba5750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190613cf7565b15611950575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa15801561199b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bf9190613cf7565b156119d4575060069998505050505050505050565b5060029998505050505050505050565b6000806119ef610c95565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613951565b600a83015460405163d3a368bd60e01b8152600481018390529192506000916001600160a01b039091169063d3a368bd90602401602060405180830381865afa158015611abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae19190613951565b9050600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b529190613ccf565b90508065ffffffffffff168211611b6e57600094505050505090565b611b8065ffffffffffff821683613acf565b84600401541115611b9657600094505050505090565b600194505050505090565b600080611bac610c95565b6000938452600101602052505060409020546001600160a01b031690565b600080611bd5610c95565b600086815260018201602052604090819020600201805460ff60301b1916600160301b179055519091507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90611c2e9087815260200190565b60405180910390a1836001600160a01b0316857f93bcf40b1de68d22878e9394837dd4b08dae46ee73bc722cccffecdadbe4414585604051611c709190613d14565b60405180910390a350929392505050565b600080611c8c610c95565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d209190613951565b10611d78576000611d2f610c95565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd90602401611343565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df19190613951565b611dfa84611250565b6104309190613bd7565b80600003611e10575050565b6000611e1a610c95565b6000848152602582016020526040908190208490555190915083907fcd8165bf95ab7c7ec457210098e726b4261032710b47126b883ca5247afdd83790611e649085815260200190565b60405180910390a2505050565b600080611e7c610c95565b600601546001600160a01b031692915050565b81546001600160801b03600160801b820481169181166001830190911603611eca57604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b03808216600090815260018086016020526040909120939093558354919092018216600160801b029116179055565b6000611f0a610c95565b60068101549091506001600160a01b031663e38335e5348787876000611f30898f612895565b6040518763ffffffff1660e01b8152600401611f50959493929190613c12565b6000604051808303818588803b158015611f6957600080fd5b505af1158015611f7d573d6000803e3d6000fd5b5050506000978852505060070160205250506040832092909255505050565b600080826001811115611fb157611fb161393b565b148061044257506001826001811115611fcc57611fcc61393b565b1492915050565b80516000906034811015611feb576001915050610442565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b1461201e57600192505050610442565b60008061202c602885613acf565b90505b838110156120a35760008061206388848151811061204f5761204f61396a565b01602001516001600160f81b0319166129b8565b915091508161207b5760019650505050505050610442565b8060ff166004856001600160a01b0316901b17935050508061209c90613996565b905061202f565b50856001600160a01b0316816001600160a01b031614935050505092915050565b60006120ce610c95565b600981015490915060ff16156121a45760005b83518110156121a257600061210e8483815181106121015761210161396a565b6020026020010151612a4a565b90508260080160008684815181106121285761212861396a565b6020908102919091018101516001600160a01b0316825281810192909252604090810160009081206001600160e01b03198516825290925290205460ff1661218f5760405163294080f760e21b81526001600160e01b031982166004820152602401610725565b508061219a81613996565b9150506120e1565b505b505050565b6000806121b4610c95565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561220f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122339190613951565b61223c86612a79565b6122469190613cb8565b6122509190613d3d565b9050600061225d85612aeb565b90508082111561226f57949350505050565b509392505050565b600063ffffffff8211156122a3576020826040516306dfcc6560e41b8152600401610725929190613d5f565b5090565b60006122b1610c95565b9050600081601c0160008460018111156122cd576122cd61393b565b60018111156122de576122de61393b565b815260208101919091526040908101600090812054601b850154925163d206885d60e01b815290935090916001600160a01b031690636d5e303290829063d206885d9061232f908a906004016139af565b602060405180830381865afa15801561234c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123709190613951565b6040518263ffffffff1660e01b815260040161238e91815260200190565b602060405180830381865afa1580156123ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cf9190613951565b905081811015612404576040516304b60e7960e31b81526001600160a01b038616600482015260248101839052604401610725565b5050505050565b6000612415610c95565b905060008160010160008b81526020019081526020016000209050888160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550868160010181905550878160020160006101000a81548163ffffffff021916908363ffffffff160217905550858160020160046101000a81548160ff021916908315150217905550848160030181905550838160040181905550828260150160008c815260200190815260200160002060006101000a81548160ff021916908360018111156124ea576124ea61393b565b02179055505060009586526021016020908152604086208054600181018255908752952090940196909655505050505050565b6000612527610c95565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af1158015612584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a89190613cf7565b6125f45760405162461bcd60e51b815260206004820152601d60248201527f42335452476f7665726e6f723a207472616e73666572206661696c65640000006044820152606401610725565b6000828152600d8201602090815260408083206001600160a01b038716845290915281208054869290612628908490613bd7565b9250508190555060006126c173__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561267d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a19190613ccf565b6001600160a01b0386166000908152601d85016020526040902090612b35565b905060006126ce86612beb565b6126d89083613d72565b905061276b73__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274a9190613ccf565b6001600160a01b0387166000908152601d8601602052604090209083612c1a565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516127a991815260200190565b60405180910390a3505050505050565b82896001600160a01b0316897f9c2b0d68f5edfd1bf6158a1867aced894efcfcf77c7a7603cb571e18ce89ae768a8a8c516001600160401b038111156128015761280161324b565b60405190808252806020026020018201604052801561283457816020015b606081526020019060019003908161281f5790505b508b8b8a60405161284a96959493929190613d99565b60405180910390a4877f6d04097725b4d82fbe72e4fd0fd1798c60a7b1bbc328842680c83ac06b1b0ada826040516128829190613bc9565b60405180910390a2505050505050505050565b60601b6001600160601b0319161890565b600065ffffffffffff8211156122a3576030826040516306dfcc6560e41b8152600401610725929190613d5f565b6000806128df610c95565b60009384526001016020525050604090206004810154600390910154101590565b60008061290b610c95565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061295461293d86611250565b83600181111561294f5761294f61393b565b612c35565b1115949350505050565b600080612969610c95565b6000938452600f0160205250506040902080546001909101541190565b600080612991610c95565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b60008060f883901c602f811180156129d35750603a8160ff16105b156129e857600194602f199091019350915050565b8060ff1660401080156129fe575060478160ff16105b15612a13576001946036199091019350915050565b8060ff166060108015612a29575060678160ff16105b15612a3e576001946056199091019350915050565b50600093849350915050565b6000600482511015612a7157816040516301a800fb60e41b81526004016107259190613d14565b506020015190565b600080612a84610c95565b9050612a8f83611f9c565b612aab5760405162461bcd60e51b815260040161072590613e50565b806016016000846001811115612ac357612ac361393b565b6001811115612ad457612ad461393b565b815260200190815260200160002054915050919050565b600080612af6610c95565b9050612b0183611f9c565b612b1d5760405162461bcd60e51b815260040161072590613e50565b806019016000846001811115612ac357612ac361393b565b815460009081816005811115612b94576000612b5084612cd1565b612b5a9085613acf565b60008881526020902090915081015465ffffffffffff9081169087161015612b8457809150612b92565b612b8f816001613bd7565b92505b505b6000612ba287878585612db9565b90508015612bdd57612bc787612bb9600184613acf565b600091825260209091200190565b54600160301b90046001600160d01b0316612be0565b60005b979650505050505050565b60006001600160d01b038211156122a35760d0826040516306dfcc6560e41b8152600401610725929190613d5f565b600080612c28858585612e13565b915091505b935093915050565b600080612c40610c95565b90506064612c4e8585612f8d565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015612c99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbd9190613951565b612cc79190613cb8565b6113849190613d3d565b600081600003612ce357506000919050565b60006001612cf084612fad565b901c6001901b90506001818481612d0957612d09613d27565b048201901c90506001818481612d2157612d21613d27565b048201901c90506001818481612d3957612d39613d27565b048201901c90506001818481612d5157612d51613d27565b048201901c90506001818481612d6957612d69613d27565b048201901c90506001818481612d8157612d81613d27565b048201901c90506001818481612d9957612d99613d27565b048201901c905061043081828581612db357612db3613d27565b04613041565b60005b8183101561226f576000612dd08484613057565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115612dff57809250612e0d565b612e0a816001613bd7565b93505b50612dbc565b825460009081908015612f32576000612e3187612bb9600185613acf565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015612e8557604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603612ed15784612ea888612bb9600186613acf565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055612f22565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150612c2d9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081612c2d565b6000610430838360ff166001811115612fa857612fa861393b565b613072565b600080608083901c15612fc257608092831c92015b604083901c15612fd457604092831c92015b602083901c15612fe657602092831c92015b601083901c15612ff857601092831c92015b600883901c1561300a57600892831c92015b600483901c1561301c57600492831c92015b600283901c1561302e57600292831c92015b600183901c156104425760010192915050565b60008183106130505781610430565b5090919050565b60006130666002848418613d3d565b61043090848416613bd7565b60008061307d610c95565b905060008160180160008560018111156130995761309961393b565b60018111156130aa576130aa61393b565b81526020810191909152604001600090812054915060188301818660018111156130d6576130d661393b565b60018111156130e7576130e761393b565b81526020810191909152604001600020613102600184613acf565b815481106131125761311261396a565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211613158576001600160d01b031694506104429350505050565b6131a9613164896128a6565b8660180160008a600181111561317c5761317c61393b565b600181111561318d5761318d61393b565b8152602001908152602001600020612b3590919063ffffffff16565b6001600160d01b031698975050505050505050565b5080546131ca90613e9b565b6000825580601f106131da575050565b601f0160209004906000526020600020908101906131f89190613219565b50565b50805460008255906000526020600020908101906131f8919061322e565b5b808211156122a3576000815560010161321a565b808211156122a357600061324282826131be565b5060010161322e565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156132895761328961324b565b604052919050565b60006001600160401b038211156132aa576132aa61324b565b5060051b60200190565b80356001600160a01b03811681146132cb57600080fd5b919050565b600082601f8301126132e157600080fd5b813560206132f66132f183613291565b613261565b82815260059290921b8401810191818101908684111561331557600080fd5b8286015b848110156133375761332a816132b4565b8352918301918301613319565b509695505050505050565b600082601f83011261335357600080fd5b813560206133636132f183613291565b82815260059290921b8401810191818101908684111561338257600080fd5b8286015b848110156133375780358352918301918301613386565b60006001600160401b038311156133b6576133b661324b565b6133c9601f8401601f1916602001613261565b90508281528383830111156133dd57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261340557600080fd5b813560206134156132f183613291565b82815260059290921b8401810191818101908684111561343457600080fd5b8286015b848110156133375780356001600160401b038111156134575760008081fd5b8701603f810189136134695760008081fd5b61347a89868301356040840161339d565b845250918301918301613438565b600082601f83011261349957600080fd5b6104308383356020850161339d565b600080600080600080600080610100898b0312156134c557600080fd5b88356001600160401b03808211156134dc57600080fd5b6134e88c838d016132d0565b995060208b01359150808211156134fe57600080fd5b61350a8c838d01613342565b985060408b013591508082111561352057600080fd5b61352c8c838d016133f4565b975060608b013591508082111561354257600080fd5b61354e8c838d01613488565b965060808b0135955060a08b0135945061356a60c08c016132b4565b935060e08b013591508082111561358057600080fd5b5061358d8b828c01613488565b9150509295985092959890939650565b600080600080600060a086880312156135b557600080fd5b6135be866132b4565b945060208601356001600160401b03808211156135da57600080fd5b6135e689838a016132d0565b955060408801359150808211156135fc57600080fd5b61360889838a01613342565b9450606088013591508082111561361e57600080fd5b5061362b888289016133f4565b95989497509295608001359392505050565b60006020828403121561364f57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561368e57835183529284019291840191600101613672565b50909695505050505050565b80151581146131f857600080fd5b80356132cb8161369a565b600080600080600080600060e0888a0312156136ce57600080fd5b6136d7886132b4565b96506136e5602089016136a8565b955060408801356001600160401b038082111561370157600080fd5b61370d8b838c016132d0565b965060608a013591508082111561372357600080fd5b61372f8b838c01613342565b955060808a013591508082111561374557600080fd5b6137518b838c016133f4565b945060a08a0135935060c08a013591508082111561376e57600080fd5b5061377b8a828b01613488565b91505092959891949750929550565b600080600080600080600060e0888a0312156137a557600080fd5b87356001600160401b03808211156137bc57600080fd5b6137c88b838c016132d0565b985060208a01359150808211156137de57600080fd5b6137ea8b838c01613342565b975060408a013591508082111561380057600080fd5b61380c8b838c016133f4565b965060608a013591508082111561382257600080fd5b5061382f8a828b01613488565b979a969950949760808101359660a0820135965060c090910135945092505050565b6000815180845260005b818110156138775760208185018101518683018201520161385b565b506000602082860101526020601f19601f83011685010191505092915050565b600081518084526020808501808196508360051b8101915082860160005b858110156138df5782840389526138cd848351613851565b988501989350908401906001016138b5565b5091979650505050505050565b60a0815260006138ff60a0830188613851565b602083018790526001600160a01b03868116604085015285166060840152828103608084015261392f8185613897565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561396357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016139a8576139a8613980565b5060010190565b6001600160a01b0391909116815260200190565b60ff818116838216019081111561044257610442613980565b600181815b80851115613a175781600019048211156139fd576139fd613980565b80851615613a0a57918102915b93841c93908002906139e1565b509250929050565b600082613a2e57506001610442565b81613a3b57506000610442565b8160018114613a515760028114613a5b57613a77565b6001915050610442565b60ff841115613a6c57613a6c613980565b50506001821b610442565b5060208310610133831016604e8410600b8410161715613a9a575081810a610442565b613aa483836139dc565b8060001904821115613ab857613ab8613980565b029392505050565b600061043060ff841683613a1f565b8181038181111561044257610442613980565b60028110613af257613af261393b565b9052565b828152604081016104306020830184613ae2565b600081518084526020808501945080840160005b83811015613b435781516001600160a01b031687529582019590820190600101613b1e565b509495945050505050565b600081518084526020808501945080840160005b83811015613b4357815187529582019590820190600101613b62565b608081526000613b916080830187613b0a565b8281036020840152613ba38187613b4e565b90508281036040840152613bb78186613897565b91505082606083015295945050505050565b602081016104428284613ae2565b8082018082111561044257610442613980565b83815260608101600a8410613c0157613c0161393b565b602082019390935260400152919050565b60a081526000613c2560a0830188613b0a565b8281036020840152613c378188613b4e565b90508281036040840152613c4b8187613897565b60608401959095525050608001529392505050565b60c081526000613c7360c0830189613b0a565b8281036020840152613c858189613b4e565b90508281036040840152613c998188613897565b60608401969096525050608081019290925260a0909101529392505050565b808202811582820484141761044257610442613980565b600060208284031215613ce157600080fd5b815165ffffffffffff8116811461043057600080fd5b600060208284031215613d0957600080fd5b81516104308161369a565b6020815260006104306020830184613851565b634e487b7160e01b600052601260045260246000fd5b600082613d5a57634e487b7160e01b600052601260045260246000fd5b500490565b60ff929092168252602082015260400190565b6001600160d01b03818116838216019080821115613d9257613d92613980565b5092915050565b60c081526000613dac60c0830189613b0a565b602083820381850152613dbf828a613b4e565b915083820360408501528188518084528284019150828160051b850101838b0160005b83811015613e1057601f19878403018552613dfe838351613851565b94860194925090850190600101613de2565b50508681036060880152613e24818b613897565b9450505050508281036080840152613e3c8186613851565b9150508260a0830152979650505050505050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b600181811c90821680613eaf57607f821691505b602082108103613ecf57634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220eabddccf952d8e005c27d809cb766d9b377603e597f8fa6dec9a8600b4aa174c64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13B1088 EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0x1957CC7 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0x2A09C772 EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x2D63F693 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x5584C4F9 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x81AB2353 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0xA9A95294 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0xBADECD76 EQ PUSH2 0x189 JUMPI DUP1 PUSH4 0xC01F9E37 EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0xC0A6026C EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0xC429BD82 EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0xEAB59FD2 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0xFCADD1F7 EQ PUSH2 0x21E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x34A8 JUMP JUMPDEST PUSH2 0x23E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x10C CALLDATASIZE PUSH1 0x4 PUSH2 0x359D JUMP JUMPDEST PUSH2 0x311 JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x3FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE8 JUMP JUMPDEST PUSH2 0xDE PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x437 JUMP JUMPDEST PUSH2 0x151 PUSH2 0x448 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x3656 JUMP JUMPDEST PUSH2 0x166 PUSH2 0x655 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE8 JUMP JUMPDEST PUSH2 0x166 PUSH2 0x184 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x664 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x1A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x36B3 JUMP JUMPDEST PUSH2 0x6C0 JUMP JUMPDEST PUSH2 0xDE PUSH2 0x1B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x8BA JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC PUSH2 0x1D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x8C5 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC PUSH2 0x1F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x363D JUMP JUMPDEST PUSH2 0x980 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x20A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x219 CALLDATASIZE PUSH1 0x4 PUSH2 0x378A JUMP JUMPDEST PUSH2 0xAA0 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x359D JUMP JUMPDEST PUSH2 0xAFC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x249 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x260 DUP12 DUP12 DUP12 DUP12 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0x273 CALLER DUP9 DUP11 DUP15 DUP15 DUP15 DUP8 PUSH1 0x1 PUSH2 0xCF3 JUMP JUMPDEST DUP2 PUSH1 0x1A ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x808860A5 DUP6 DUP4 CALLER DUP10 DUP15 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BE SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x38EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2EC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x302 CALLER DUP3 DUP14 DUP14 DUP14 DUP14 DUP14 DUP14 PUSH1 0x1 PUSH2 0xF54 JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31C PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x32C DUP8 DUP8 DUP8 DUP8 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0x341 DUP2 PUSH2 0x33C PUSH1 0x4 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x1069 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x352 DUP10 DUP4 DUP11 DUP11 DUP11 DUP11 PUSH2 0x10A8 JUMP JUMPDEST SWAP1 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF PUSH1 0x38 SHL NOT AND PUSH1 0x1 PUSH1 0x38 SHL PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE DUP3 MLOAD DUP6 DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH32 0x9A2E42FD6722813D69113E7D0079D3D940171428DF7373DF9C7F7617CFDA2892 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x3F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x48442523 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x408 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x430 JUMPI PUSH2 0x430 PUSH2 0x393B JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x442 DUP3 PUSH2 0x1250 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x454 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4D1 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x21 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x500 JUMPI PUSH2 0x500 PUSH2 0x324B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x529 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5BA JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x54C JUMPI PUSH2 0x54C PUSH2 0x396A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 POP PUSH1 0x1 PUSH2 0x565 DUP3 PUSH2 0x163D JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x576 JUMPI PUSH2 0x576 PUSH2 0x393B JUMP JUMPDEST SUB PUSH2 0x5A7 JUMPI DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x58E JUMPI PUSH2 0x58E PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP3 PUSH2 0x5A3 DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP4 POP POP JUMPDEST POP DUP1 PUSH2 0x5B2 DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x530 JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5D5 JUMPI PUSH2 0x5D5 PUSH2 0x324B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x5FE JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3F1 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x61E JUMPI PUSH2 0x61E PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x638 JUMPI PUSH2 0x638 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP1 PUSH2 0x64D DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x604 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x65F PUSH2 0x19E4 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x66F PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 SUB PUSH2 0x698 JUMPI POP PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x6B6 JUMPI POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6CB PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x6DB DUP9 DUP9 DUP9 DUP9 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0x6E6 DUP2 PUSH2 0x1BA1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 ISZERO PUSH2 0x705 JUMPI POP DUP9 ISZERO JUMPDEST ISZERO PUSH2 0x72E JUMPI DUP10 PUSH1 0x40 MLOAD PUSH4 0x3733BE59 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x39AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x79B DUP2 PUSH2 0x73C PUSH1 0x3 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x746 PUSH1 0x7 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x750 PUSH1 0x9 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x75A PUSH1 0x8 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x764 PUSH1 0x6 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x76E PUSH1 0x2 PUSH2 0x1046 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x77B PUSH1 0x9 DUP3 PUSH2 0x39C3 JUMP JUMPDEST PUSH2 0x786 SWAP1 PUSH1 0x2 PUSH2 0x3AC0 JUMP JUMPDEST PUSH2 0x790 SWAP2 SWAP1 PUSH2 0x3ACF JUMP JUMPDEST XOR XOR XOR XOR XOR XOR PUSH2 0x1069 JUMP JUMPDEST POP PUSH2 0x7A5 DUP2 PUSH2 0x1BA1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x826 JUMPI PUSH1 0x0 PUSH2 0x7C8 DUP3 PUSH2 0x163D JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x7D9 JUMPI PUSH2 0x7D9 PUSH2 0x393B JUMP JUMPDEST EQ PUSH2 0x826 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F723A2070726F706F73616C206E6F742070656E64696E670000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x8AF JUMPI PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC4D252F5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC4D252F5 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x885 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x899 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE POP JUMPDEST PUSH2 0x302 DUP3 DUP13 DUP8 PUSH2 0x1BCA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x442 DUP3 PUSH2 0x1C81 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8CF PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF SWAP1 SWAP2 AND SWAP1 DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x8FB JUMPI PUSH2 0x8FB PUSH2 0x393B JUMP JUMPDEST EQ PUSH2 0x91D JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44B7587B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH2 0x3AF6 JUMP JUMPDEST PUSH2 0x92B DUP4 PUSH2 0x33C PUSH1 0x8 PUSH2 0x1046 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1E DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x2 OR SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x71611ADB0C8D2EEA43359B2E41E5FDF96309CE734ED1EB78CEB763198C1B8967 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x98A PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH2 0x9AA DUP3 PUSH2 0x99A PUSH1 0x9 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x9A4 PUSH1 0x8 PUSH2 0x1046 JUMP JUMPDEST OR PUSH2 0x1069 JUMP JUMPDEST POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x28 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x9E0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x31BFCD9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1E DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x27 DUP6 ADD DUP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x26 DUP5 ADD DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x29 DUP5 ADD SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0xA37 SWAP2 PUSH2 0x31BE JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2A DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xA50 SWAP2 PUSH2 0x31BE JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2B DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xA69 SWAP2 PUSH2 0x31FB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0x89E9ABEFCACE5D0E37429F32023DF3D73C9A310923F6383FA778EC40C629DF0E SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER SWAP1 POP PUSH1 0x0 PUSH2 0xABB DUP11 DUP11 DUP11 DUP11 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0xACE DUP3 DUP8 DUP10 DUP14 DUP14 DUP14 DUP8 PUSH1 0x0 PUSH2 0xCF3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAE2 DUP4 DUP4 DUP14 DUP14 DUP14 DUP14 DUP14 DUP14 PUSH1 0x0 PUSH2 0xF54 JUMP JUMPDEST SWAP1 POP PUSH2 0xAEE DUP2 DUP7 PUSH2 0x1E04 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB07 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xB17 DUP8 DUP8 DUP8 DUP8 PUSH2 0xCB9 JUMP JUMPDEST SWAP1 POP PUSH2 0xB31 DUP2 PUSH2 0xB27 PUSH1 0x5 PUSH2 0x1046 JUMP JUMPDEST PUSH2 0x9A4 PUSH1 0x4 PUSH2 0x1046 JUMP JUMPDEST POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0x28 SHL NOT AND PUSH1 0x1 PUSH1 0x28 SHL OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH2 0xB68 PUSH2 0x1E71 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBFC JUMPI PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0xBFA JUMPI ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB9E JUMPI PUSH2 0xB9E PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xBEA JUMPI PUSH2 0xBEA DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xBC9 JUMPI PUSH2 0xBC9 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP5 PUSH1 0x2 ADD PUSH2 0x1E8F SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0xBF3 DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP1 POP PUSH2 0xB79 JUMP JUMPDEST POP JUMPDEST PUSH2 0xC0A DUP9 DUP3 DUP10 DUP10 DUP10 DUP10 PUSH2 0x1F00 JUMP JUMPDEST DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC1C PUSH2 0x1E71 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 ISZERO PUSH2 0xC4A JUMPI POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x80 SHL SWAP1 SWAP3 DIV AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xC57 JUMPI PUSH1 0x0 PUSH1 0x2 DUP4 ADD SSTORE JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x712AE1383F79AC853F8D882153778E0260EF8F03B504E2866E0593E04D2B291F SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCD2 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3B7E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCFD PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH2 0xD08 DUP3 PUSH2 0x1F9C JUMP JUMPDEST PUSH2 0xD27 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x3E4BBE19 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x3BC9 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD7C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDA0 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST DUP9 GT PUSH2 0xDC2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7A5D07D3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE17 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE3B SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0xE46 SWAP1 PUSH1 0x1 PUSH2 0x3BD7 JUMP JUMPDEST DUP9 SUB PUSH2 0xE74 JUMPI PUSH2 0xE54 PUSH2 0x19E4 JUMP JUMPDEST PUSH2 0xE74 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7A5D07D3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xE88 JUMPI PUSH2 0xE88 PUSH2 0x393B JUMP JUMPDEST SUB PUSH2 0xEB6 JUMPI PUSH2 0xE97 DUP10 DUP9 PUSH2 0x1FD3 JUMP JUMPDEST PUSH2 0xEB6 JUMPI DUP9 PUSH1 0x40 MLOAD PUSH4 0xD9B39557 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x39AF JUMP JUMPDEST DUP5 MLOAD DUP7 MLOAD EQ ISZERO DUP1 PUSH2 0xEC9 JUMPI POP DUP4 MLOAD DUP7 MLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0xEFE JUMPI DUP6 MLOAD DUP5 MLOAD DUP7 MLOAD PUSH1 0x40 MLOAD PUSH4 0x447B05D PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x24 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD ISZERO PUSH2 0xF3F JUMPI DUP3 PUSH2 0xF21 DUP5 PUSH2 0x163D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x3BEA JUMP JUMPDEST PUSH2 0xF49 DUP7 DUP6 PUSH2 0x20C4 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF5F PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xF6C DUP5 PUSH2 0x21A9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xFF1 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFC8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFEC SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x2277 JUMP JUMPDEST DUP12 MLOAD SWAP1 SWAP2 POP ISZERO ISZERO PUSH2 0x1002 DUP15 DUP8 PUSH2 0x22A7 JUMP JUMPDEST PUSH2 0x1012 DUP14 DUP16 DUP5 DUP12 DUP6 DUP13 DUP10 DUP14 PUSH2 0x240B JUMP JUMPDEST DUP7 ISZERO PUSH2 0x1023 JUMPI PUSH2 0x1023 DUP8 DUP16 DUP16 PUSH2 0x251D JUMP JUMPDEST PUSH2 0x1034 DUP15 DUP15 DUP15 DUP15 DUP15 DUP15 DUP15 DUP11 DUP15 PUSH2 0x27B9 JUMP JUMPDEST POP SWAP11 SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x105A JUMPI PUSH2 0x105A PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1075 DUP5 PUSH2 0x163D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x1083 DUP4 PUSH2 0x1046 JUMP JUMPDEST AND SUB PUSH2 0x430 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3BEA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x10B3 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x6 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF27A0C92 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x110C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1130 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x113E DUP6 DUP12 PUSH2 0x2895 JUMP JUMPDEST PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xB1C5F427 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xB1C5F427 SWAP1 PUSH2 0x117A SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x0 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C12 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1197 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11BB SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x7 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP6 ADD SLOAD SWAP2 MLOAD PUSH4 0x8F2A0BB PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x8F2A0BB0 SWAP2 PUSH2 0x120A SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C60 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1224 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1238 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0xAEE DUP3 TIMESTAMP PUSH2 0x124B SWAP2 SWAP1 PUSH2 0x3BD7 JUMP JUMPDEST PUSH2 0x28A6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x125B PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12EF SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST LT PUSH2 0x138C JUMPI PUSH1 0x0 PUSH2 0x12FE PUSH2 0xC95 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1360 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1384 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13D8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13FC SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x141A SWAP2 SWAP1 PUSH2 0x3ACF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1429 PUSH1 0x1 DUP4 PUSH2 0x3ACF JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x147E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14A2 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x14AC SWAP2 SWAP1 PUSH2 0x3CB8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1505 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1529 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1574 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1598 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x161E JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x15EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1613 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x1629 DUP4 DUP4 PUSH2 0x3BD7 JUMP JUMPDEST PUSH2 0x1633 SWAP2 SWAP1 PUSH2 0x3BD7 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1648 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x169D JUMPI PUSH2 0x169D PUSH2 0x393B JUMP JUMPDEST SUB PUSH2 0x16AF JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x16C3 JUMPI PUSH2 0x16C3 PUSH2 0x393B JUMP JUMPDEST SUB PUSH2 0x16D5 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x16E8 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16FB JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x1723 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x177D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17A1 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST LT ISZERO PUSH2 0x17B4 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17FF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1823 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x1838 DUP10 PUSH2 0x1C81 JUMP JUMPDEST SWAP1 POP PUSH2 0x1843 DUP10 PUSH2 0x28D4 JUMP JUMPDEST PUSH2 0x1856 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x186C JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1875 DUP10 PUSH2 0x2900 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x1887 JUMPI POP PUSH2 0x1885 DUP10 PUSH2 0x295E JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x189B JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x18A4 DUP10 PUSH2 0x2986 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x18BA JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1917 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x193B SWAP2 SWAP1 PUSH2 0x3CF7 JUMP JUMPDEST ISZERO PUSH2 0x1950 JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x199B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19BF SWAP2 SWAP1 PUSH2 0x3CF7 JUMP JUMPDEST ISZERO PUSH2 0x19D4 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19EF PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A48 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A6C SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0xA DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1ABD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AE1 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1B2E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B52 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST SWAP1 POP DUP1 PUSH6 0xFFFFFFFFFFFF AND DUP3 GT PUSH2 0x1B6E JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x1B80 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP4 PUSH2 0x3ACF JUMP JUMPDEST DUP5 PUSH1 0x4 ADD SLOAD GT ISZERO PUSH2 0x1B96 JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BAC PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1BD5 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0x30 SHL NOT AND PUSH1 0x1 PUSH1 0x30 SHL OR SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP PUSH32 0x789CF55BE980739DAD1D0699B93B58E806B51C9D96619BFA8FE0A28ABAA7B30C SWAP1 PUSH2 0x1C2E SWAP1 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x93BCF40B1DE68D22878E9394837DD4B08DAE46EE73BC722CCCFFECDADBE44145 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1C70 SWAP2 SWAP1 PUSH2 0x3D14 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1C8C PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CFC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D20 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST LT PUSH2 0x1D78 JUMPI PUSH1 0x0 PUSH2 0x1D2F PUSH2 0xC95 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x1343 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DCD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DF1 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x1DFA DUP5 PUSH2 0x1250 JUMP JUMPDEST PUSH2 0x430 SWAP2 SWAP1 PUSH2 0x3BD7 JUMP JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x1E10 JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E1A PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x25 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP DUP4 SWAP1 PUSH32 0xCD8165BF95AB7C7EC457210098E726B4261032710B47126B883CA5247AFDD837 SWAP1 PUSH2 0x1E64 SWAP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E7C PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB PUSH1 0x1 PUSH1 0x80 SHL DUP3 DIV DUP2 AND SWAP2 DUP2 AND PUSH1 0x1 DUP4 ADD SWAP1 SWAP2 AND SUB PUSH2 0x1ECA JUMPI PUSH1 0x40 MLOAD PUSH4 0x8ACB5F27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE DUP4 SLOAD SWAP2 SWAP1 SWAP3 ADD DUP3 AND PUSH1 0x1 PUSH1 0x80 SHL MUL SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F0A PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE38335E5 CALLVALUE DUP8 DUP8 DUP8 PUSH1 0x0 PUSH2 0x1F30 DUP10 DUP16 PUSH2 0x2895 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP8 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F50 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3C12 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1F69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1F7D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 SWAP8 DUP9 MSTORE POP POP PUSH1 0x7 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1FB1 JUMPI PUSH2 0x1FB1 PUSH2 0x393B JUMP JUMPDEST EQ DUP1 PUSH2 0x442 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x1FCC JUMPI PUSH2 0x1FCC PUSH2 0x393B JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SWAP1 PUSH1 0x34 DUP2 LT ISZERO PUSH2 0x1FEB JUMPI PUSH1 0x1 SWAP2 POP POP PUSH2 0x442 JUMP JUMPDEST DUP3 DUP2 ADD PUSH1 0x13 NOT ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH12 0x46E0E4DEE0DEE6CAE47A60F PUSH1 0xA3 SHL EQ PUSH2 0x201E JUMPI PUSH1 0x1 SWAP3 POP POP POP PUSH2 0x442 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x202C PUSH1 0x28 DUP6 PUSH2 0x3ACF JUMP JUMPDEST SWAP1 POP JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x20A3 JUMPI PUSH1 0x0 DUP1 PUSH2 0x2063 DUP9 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x204F JUMPI PUSH2 0x204F PUSH2 0x396A JUMP JUMPDEST ADD PUSH1 0x20 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND PUSH2 0x29B8 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x207B JUMPI PUSH1 0x1 SWAP7 POP POP POP POP POP POP POP PUSH2 0x442 JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 SHL OR SWAP4 POP POP POP DUP1 PUSH2 0x209C SWAP1 PUSH2 0x3996 JUMP JUMPDEST SWAP1 POP PUSH2 0x202F JUMP JUMPDEST POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20CE PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x9 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0x21A4 JUMPI PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x21A2 JUMPI PUSH1 0x0 PUSH2 0x210E DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2101 JUMPI PUSH2 0x2101 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x2A4A JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x8 ADD PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2128 JUMPI PUSH2 0x2128 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP6 AND DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x218F JUMPI PUSH1 0x40 MLOAD PUSH4 0x294080F7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x725 JUMP JUMPDEST POP DUP1 PUSH2 0x219A DUP2 PUSH2 0x3996 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x20E1 JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21B4 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x64 DUP3 PUSH1 0xB ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x220F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2233 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x223C DUP7 PUSH2 0x2A79 JUMP JUMPDEST PUSH2 0x2246 SWAP2 SWAP1 PUSH2 0x3CB8 JUMP JUMPDEST PUSH2 0x2250 SWAP2 SWAP1 PUSH2 0x3D3D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x225D DUP6 PUSH2 0x2AEB JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x226F JUMPI SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH2 0x3D5F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22B1 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1C ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x22CD JUMPI PUSH2 0x22CD PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x22DE JUMPI PUSH2 0x22DE PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD PUSH1 0x1B DUP6 ADD SLOAD SWAP3 MLOAD PUSH4 0xD206885D PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP4 POP SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6D5E3032 SWAP1 DUP3 SWAP1 PUSH4 0xD206885D SWAP1 PUSH2 0x232F SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x39AF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x234C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2370 SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x238E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x23AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x23CF SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x2404 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B60E79 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x725 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2415 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 ADD PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP9 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP DUP7 DUP2 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP8 DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 DUP2 PUSH1 0x2 ADD PUSH1 0x4 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP5 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP DUP4 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP DUP3 DUP3 PUSH1 0x15 ADD PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x24EA JUMPI PUSH2 0x24EA PUSH2 0x393B JUMP JUMPDEST MUL OR SWAP1 SSTORE POP POP PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0x21 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP8 MSTORE SWAP6 KECCAK256 SWAP1 SWAP5 ADD SWAP7 SWAP1 SWAP7 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2527 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP9 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2584 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x25A8 SWAP2 SWAP1 PUSH2 0x3CF7 JUMP JUMPDEST PUSH2 0x25F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42335452476F7665726E6F723A207472616E73666572206661696C6564000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x725 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xD DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD DUP7 SWAP3 SWAP1 PUSH2 0x2628 SWAP1 DUP5 SWAP1 PUSH2 0x3BD7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x26C1 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x267D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x26A1 SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x2B35 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x26CE DUP7 PUSH2 0x2BEB JUMP JUMPDEST PUSH2 0x26D8 SWAP1 DUP4 PUSH2 0x3D72 JUMP JUMPDEST SWAP1 POP PUSH2 0x276B PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2726 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x274A SWAP2 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1D DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP4 PUSH2 0x2C1A JUMP JUMPDEST POP POP DUP4 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x65C1DF56BBA34C409163F3295407AB399DF5A4D9BF3DD0288416D6041CDC272C DUP9 PUSH1 0x40 MLOAD PUSH2 0x27A9 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH32 0x9C2B0D68F5EDFD1BF6158A1867ACED894EFCFCF77C7A7603CB571E18CE89AE76 DUP11 DUP11 DUP13 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2801 JUMPI PUSH2 0x2801 PUSH2 0x324B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2834 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x281F JUMPI SWAP1 POP JUMPDEST POP DUP12 DUP12 DUP11 PUSH1 0x40 MLOAD PUSH2 0x284A SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D99 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 DUP8 PUSH32 0x6D04097725B4D82FBE72E4FD0FD1798C60A7B1BBC328842680C83AC06B1B0ADA DUP3 PUSH1 0x40 MLOAD PUSH2 0x2882 SWAP2 SWAP1 PUSH2 0x3BC9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT AND XOR SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0x30 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH2 0x3D5F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x28DF PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x290B PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x2954 PUSH2 0x293D DUP7 PUSH2 0x1250 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x294F JUMPI PUSH2 0x294F PUSH2 0x393B JUMP JUMPDEST PUSH2 0x2C35 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2969 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2991 PUSH2 0xC95 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0xF8 DUP4 SWAP1 SHR PUSH1 0x2F DUP2 GT DUP1 ISZERO PUSH2 0x29D3 JUMPI POP PUSH1 0x3A DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x29E8 JUMPI PUSH1 0x1 SWAP5 PUSH1 0x2F NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x40 LT DUP1 ISZERO PUSH2 0x29FE JUMPI POP PUSH1 0x47 DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A13 JUMPI PUSH1 0x1 SWAP5 PUSH1 0x36 NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x60 LT DUP1 ISZERO PUSH2 0x2A29 JUMPI POP PUSH1 0x67 DUP2 PUSH1 0xFF AND LT JUMPDEST ISZERO PUSH2 0x2A3E JUMPI PUSH1 0x1 SWAP5 PUSH1 0x56 NOT SWAP1 SWAP2 ADD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST POP PUSH1 0x0 SWAP4 DUP5 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 MLOAD LT ISZERO PUSH2 0x2A71 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x1A800FB PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x3D14 JUMP JUMPDEST POP PUSH1 0x20 ADD MLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A84 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A8F DUP4 PUSH2 0x1F9C JUMP JUMPDEST PUSH2 0x2AAB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP1 PUSH2 0x3E50 JUMP JUMPDEST DUP1 PUSH1 0x16 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2AC3 JUMPI PUSH2 0x2AC3 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2AD4 JUMPI PUSH2 0x2AD4 PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2AF6 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH2 0x2B01 DUP4 PUSH2 0x1F9C JUMP JUMPDEST PUSH2 0x2B1D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP1 PUSH2 0x3E50 JUMP JUMPDEST DUP1 PUSH1 0x19 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2AC3 JUMPI PUSH2 0x2AC3 PUSH2 0x393B JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2B94 JUMPI PUSH1 0x0 PUSH2 0x2B50 DUP5 PUSH2 0x2CD1 JUMP JUMPDEST PUSH2 0x2B5A SWAP1 DUP6 PUSH2 0x3ACF JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x2B84 JUMPI DUP1 SWAP2 POP PUSH2 0x2B92 JUMP JUMPDEST PUSH2 0x2B8F DUP2 PUSH1 0x1 PUSH2 0x3BD7 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x2BA2 DUP8 DUP8 DUP6 DUP6 PUSH2 0x2DB9 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2BDD JUMPI PUSH2 0x2BC7 DUP8 PUSH2 0x2BB9 PUSH1 0x1 DUP5 PUSH2 0x3ACF JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2BE0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0xD0 DUP3 PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP3 SWAP2 SWAP1 PUSH2 0x3D5F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C28 DUP6 DUP6 DUP6 PUSH2 0x2E13 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C40 PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x2C4E DUP6 DUP6 PUSH2 0x2F8D JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2C99 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2CBD SWAP2 SWAP1 PUSH2 0x3951 JUMP JUMPDEST PUSH2 0x2CC7 SWAP2 SWAP1 PUSH2 0x3CB8 JUMP JUMPDEST PUSH2 0x1384 SWAP2 SWAP1 PUSH2 0x3D3D JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x2CE3 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x2CF0 DUP5 PUSH2 0x2FAD JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D09 JUMPI PUSH2 0x2D09 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D21 JUMPI PUSH2 0x2D21 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D39 JUMPI PUSH2 0x2D39 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D51 JUMPI PUSH2 0x2D51 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D69 JUMPI PUSH2 0x2D69 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D81 JUMPI PUSH2 0x2D81 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x2D99 JUMPI PUSH2 0x2D99 PUSH2 0x3D27 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x430 DUP2 DUP3 DUP6 DUP2 PUSH2 0x2DB3 JUMPI PUSH2 0x2DB3 PUSH2 0x3D27 JUMP JUMPDEST DIV PUSH2 0x3041 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x226F JUMPI PUSH1 0x0 PUSH2 0x2DD0 DUP5 DUP5 PUSH2 0x3057 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x2DFF JUMPI DUP1 SWAP3 POP PUSH2 0x2E0D JUMP JUMPDEST PUSH2 0x2E0A DUP2 PUSH1 0x1 PUSH2 0x3BD7 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x2DBC JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x2F32 JUMPI PUSH1 0x0 PUSH2 0x2E31 DUP8 PUSH2 0x2BB9 PUSH1 0x1 DUP6 PUSH2 0x3ACF JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x2E85 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x2ED1 JUMPI DUP5 PUSH2 0x2EA8 DUP9 PUSH2 0x2BB9 PUSH1 0x1 DUP7 PUSH2 0x3ACF JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x2F22 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x2C2D SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x2C2D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x430 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2FA8 JUMPI PUSH2 0x2FA8 PUSH2 0x393B JUMP JUMPDEST PUSH2 0x3072 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x2FC2 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x2FD4 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x2FE6 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x2FF8 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x300A JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x301C JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x302E JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x442 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x3050 JUMPI DUP2 PUSH2 0x430 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3066 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x3D3D JUMP JUMPDEST PUSH2 0x430 SWAP1 DUP5 DUP5 AND PUSH2 0x3BD7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x307D PUSH2 0xC95 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x3099 JUMPI PUSH2 0x3099 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30AA JUMPI PUSH2 0x30AA PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30D6 JUMPI PUSH2 0x30D6 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x30E7 JUMPI PUSH2 0x30E7 PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x3102 PUSH1 0x1 DUP5 PUSH2 0x3ACF JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x3112 JUMPI PUSH2 0x3112 PUSH2 0x396A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x3158 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x442 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x31A9 PUSH2 0x3164 DUP10 PUSH2 0x28A6 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x317C JUMPI PUSH2 0x317C PUSH2 0x393B JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x318D JUMPI PUSH2 0x318D PUSH2 0x393B JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x2B35 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x31CA SWAP1 PUSH2 0x3E9B JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x31DA JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x31F8 SWAP2 SWAP1 PUSH2 0x3219 JUMP JUMPDEST POP JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x31F8 SWAP2 SWAP1 PUSH2 0x322E JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x321A JUMP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x22A3 JUMPI PUSH1 0x0 PUSH2 0x3242 DUP3 DUP3 PUSH2 0x31BE JUMP JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x322E JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x3289 JUMPI PUSH2 0x3289 PUSH2 0x324B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x32AA JUMPI PUSH2 0x32AA PUSH2 0x324B JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x32CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x32E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x32F6 PUSH2 0x32F1 DUP4 PUSH2 0x3291 JUMP JUMPDEST PUSH2 0x3261 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x3337 JUMPI PUSH2 0x332A DUP2 PUSH2 0x32B4 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3319 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3353 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x3363 PUSH2 0x32F1 DUP4 PUSH2 0x3291 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3382 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x3337 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3386 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT ISZERO PUSH2 0x33B6 JUMPI PUSH2 0x33B6 PUSH2 0x324B JUMP JUMPDEST PUSH2 0x33C9 PUSH1 0x1F DUP5 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x3261 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x33DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x3415 PUSH2 0x32F1 DUP4 PUSH2 0x3291 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x3337 JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3457 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP8 ADD PUSH1 0x3F DUP2 ADD DUP10 SGT PUSH2 0x3469 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x347A DUP10 DUP7 DUP4 ADD CALLDATALOAD PUSH1 0x40 DUP5 ADD PUSH2 0x339D JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3438 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x430 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x339D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x34C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x34DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x34E8 DUP13 DUP4 DUP14 ADD PUSH2 0x32D0 JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x350A DUP13 DUP4 DUP14 ADD PUSH2 0x3342 JUMP JUMPDEST SWAP9 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3520 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x352C DUP13 DUP4 DUP14 ADD PUSH2 0x33F4 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x354E DUP13 DUP4 DUP14 ADD PUSH2 0x3488 JUMP JUMPDEST SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP6 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP5 POP PUSH2 0x356A PUSH1 0xC0 DUP13 ADD PUSH2 0x32B4 JUMP JUMPDEST SWAP4 POP PUSH1 0xE0 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3580 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x358D DUP12 DUP3 DUP13 ADD PUSH2 0x3488 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x35B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35BE DUP7 PUSH2 0x32B4 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x35DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35E6 DUP10 DUP4 DUP11 ADD PUSH2 0x32D0 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x35FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3608 DUP10 DUP4 DUP11 ADD PUSH2 0x3342 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x361E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x362B DUP9 DUP3 DUP10 ADD PUSH2 0x33F4 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP3 SWAP6 PUSH1 0x80 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x364F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x368E JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x3672 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x31F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x32CB DUP2 PUSH2 0x369A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x36CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x36D7 DUP9 PUSH2 0x32B4 JUMP JUMPDEST SWAP7 POP PUSH2 0x36E5 PUSH1 0x20 DUP10 ADD PUSH2 0x36A8 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x3701 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x370D DUP12 DUP4 DUP13 ADD PUSH2 0x32D0 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3723 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x372F DUP12 DUP4 DUP13 ADD PUSH2 0x3342 JUMP JUMPDEST SWAP6 POP PUSH1 0x80 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3745 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3751 DUP12 DUP4 DUP13 ADD PUSH2 0x33F4 JUMP JUMPDEST SWAP5 POP PUSH1 0xA0 DUP11 ADD CALLDATALOAD SWAP4 POP PUSH1 0xC0 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x376E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x377B DUP11 DUP3 DUP12 ADD PUSH2 0x3488 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x37A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x37BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x37C8 DUP12 DUP4 DUP13 ADD PUSH2 0x32D0 JUMP JUMPDEST SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x37DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x37EA DUP12 DUP4 DUP13 ADD PUSH2 0x3342 JUMP JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3800 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x380C DUP12 DUP4 DUP13 ADD PUSH2 0x33F4 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3822 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x382F DUP11 DUP3 DUP12 ADD PUSH2 0x3488 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP5 SWAP8 PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP7 PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP7 POP PUSH1 0xC0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3877 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x385B JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP4 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x38DF JUMPI DUP3 DUP5 SUB DUP10 MSTORE PUSH2 0x38CD DUP5 DUP4 MLOAD PUSH2 0x3851 JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x38B5 JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x38FF PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x3851 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x40 DUP6 ADD MSTORE DUP6 AND PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x392F DUP2 DUP6 PUSH2 0x3897 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3963 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x39A8 JUMPI PUSH2 0x39A8 PUSH2 0x3980 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP2 GT ISZERO PUSH2 0x442 JUMPI PUSH2 0x442 PUSH2 0x3980 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH2 0x3A17 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x39FD JUMPI PUSH2 0x39FD PUSH2 0x3980 JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH2 0x3A0A JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH2 0x39E1 JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3A2E JUMPI POP PUSH1 0x1 PUSH2 0x442 JUMP JUMPDEST DUP2 PUSH2 0x3A3B JUMPI POP PUSH1 0x0 PUSH2 0x442 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x3A51 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x3A5B JUMPI PUSH2 0x3A77 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x442 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x3A6C JUMPI PUSH2 0x3A6C PUSH2 0x3980 JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH2 0x442 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x3A9A JUMPI POP DUP2 DUP2 EXP PUSH2 0x442 JUMP JUMPDEST PUSH2 0x3AA4 DUP4 DUP4 PUSH2 0x39DC JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH2 0x3AB8 JUMPI PUSH2 0x3AB8 PUSH2 0x3980 JUMP JUMPDEST MUL SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x430 PUSH1 0xFF DUP5 AND DUP4 PUSH2 0x3A1F JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x442 JUMPI PUSH2 0x442 PUSH2 0x3980 JUMP JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x3AF2 JUMPI PUSH2 0x3AF2 PUSH2 0x393B JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH2 0x430 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3AE2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3B43 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3B1E JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3B43 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3B62 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3B91 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x3B0A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3BA3 DUP2 DUP8 PUSH2 0x3B4E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3BB7 DUP2 DUP7 PUSH2 0x3897 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x442 DUP3 DUP5 PUSH2 0x3AE2 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x442 JUMPI PUSH2 0x442 PUSH2 0x3980 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x3C01 JUMPI PUSH2 0x3C01 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3C25 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x3B0A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3C37 DUP2 DUP9 PUSH2 0x3B4E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3C4B DUP2 DUP8 PUSH2 0x3897 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3C73 PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x3B0A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3C85 DUP2 DUP10 PUSH2 0x3B4E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3C99 DUP2 DUP9 PUSH2 0x3897 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x442 JUMPI PUSH2 0x442 PUSH2 0x3980 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3CE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x430 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x430 DUP2 PUSH2 0x369A JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x430 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3851 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3D5A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x3D92 JUMPI PUSH2 0x3D92 PUSH2 0x3980 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3DAC PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x3B0A JUMP JUMPDEST PUSH1 0x20 DUP4 DUP3 SUB DUP2 DUP6 ADD MSTORE PUSH2 0x3DBF DUP3 DUP11 PUSH2 0x3B4E JUMP JUMPDEST SWAP2 POP DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE DUP2 DUP9 MLOAD DUP1 DUP5 MSTORE DUP3 DUP5 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD DUP4 DUP12 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3E10 JUMPI PUSH1 0x1F NOT DUP8 DUP5 SUB ADD DUP6 MSTORE PUSH2 0x3DFE DUP4 DUP4 MLOAD PUSH2 0x3851 JUMP JUMPDEST SWAP5 DUP7 ADD SWAP5 SWAP3 POP SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3DE2 JUMP JUMPDEST POP POP DUP7 DUP2 SUB PUSH1 0x60 DUP9 ADD MSTORE PUSH2 0x3E24 DUP2 DUP12 PUSH2 0x3897 JUMP JUMPDEST SWAP5 POP POP POP POP POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3E3C DUP2 DUP7 PUSH2 0x3851 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xA0 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x3EAF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3ECF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEA 0xBD 0xDC 0xCF SWAP6 0x2D DUP15 STOP 0x5C 0x27 0xD8 MULMOD 0xCB PUSH23 0x6D9B377603E597F8FA6DEC9A8600B4AA174C64736F6C63 NUMBER STOP ADDMOD EQ STOP CALLER ","sourceMap":"2294:37952:104:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13634:1221;;;;;;;;;;-1:-1:-1;13634:1221:104;;;;;:::i;:::-;;:::i;:::-;;;5463:25:150;;;5451:2;5436:18;13634:1221:104;;;;;;;;15997:945;;;;;;;;;;-1:-1:-1;15997:945:104;;;;;:::i;:::-;;:::i;9697:227::-;;;;;;:::i;:::-;;:::i;:::-;;;6841:4:150;6829:17;;;6811:36;;6799:2;6784:18;9697:227:104;6661:192:150;7972:133:104;;;;;;:::i;:::-;;:::i;10152:876::-;;;:::i;:::-;;;;;;;:::i;8649:116::-;;;:::i;:::-;;;7676:14:150;;7669:22;7651:41;;7639:2;7624:18;8649:116:104;7503:195:150;15127:423:104;;;;;;:::i;:::-;;:::i;19355:1621::-;;;;;;;;;;-1:-1:-1;19355:1621:104;;;;;:::i;:::-;;:::i;8351:133::-;;;;;;:::i;:::-;;:::i;21404:891::-;;;;;;;;;;-1:-1:-1;21404:891:104;;;;;:::i;:::-;;:::i;:::-;;23079:1008;;;;;;;;;;-1:-1:-1;23079:1008:104;;;;;:::i;:::-;;:::i;11938:992::-;;;;;;;;;;-1:-1:-1;11938:992:104;;;;;:::i;:::-;;:::i;17386:1404::-;;;;;;;;;;-1:-1:-1;17386:1404:104;;;;;:::i;:::-;;:::i;13634:1221::-;13927:7;13942:46;13991:41;:39;:41::i;:::-;13942:90;;14038:18;14059:71;14072:7;14081:6;14089:9;14116:11;14100:29;;;;;;14059:12;:71::i;:::-;14038:92;;14137:199;14166:10;14195:12;14215:11;14234:7;14249:6;14263:9;14280:10;14298:32;14137:21;:199::i;:::-;14442:1;:15;;;;;;;;;;-1:-1:-1;;;;;14442:15:104;-1:-1:-1;;;;;14427:48:104;;14483:28;14519:10;14537;14566:14;14588:9;14427:176;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14623:227;14641:10;14672;14692:7;14709:6;14725:9;14744:11;14765:12;14787:13;14810:32;14623:8;:227::i;:::-;14610:240;13634:1221;-1:-1:-1;;;;;;;;;;;13634:1221:104:o;15997:945::-;16216:7;16231:46;16280:41;:39;:41::i;:::-;16231:90;;16327:18;16348:57;16361:7;16370:6;16378:9;16389:15;16348:12;:57::i;:::-;16327:78;;16412:145;16458:10;16476:75;16513:37;16476:36;:75::i;:::-;16412:38;:145::i;:::-;;16564:17;16584:132;16608:15;16631:10;16649:7;16664:6;16678:9;16695:15;16584:16;:132::i;:::-;16564:152;-1:-1:-1;16727:15:104;;;;16723:191;;16752:23;;;;:11;;;:23;;;;;;;;;:34;;:47;;-1:-1:-1;;;;16752:47:104;-1:-1:-1;;;16752:47:104;;;;;;;;;;;;;16812:38;;12385:25:150;;;12426:18;;;12419:55;16812:38:104;;12358:18:150;16812:38:104;;;;;;;16723:191;;;16878:29;;-1:-1:-1;;;16878:29:104;;;;;;;;;;;16723:191;-1:-1:-1;16927:10:104;15997:945;-1:-1:-1;;;;;;;15997:945:104:o;9697:227::-;9770:5;9783:46;9832:41;:39;:41::i;:::-;9892:26;;;;:14;;;:26;;;;;;9783:90;;-1:-1:-1;9892:26:104;;;9886:33;;;;;;;:::i;:::-;9879:40;9697:227;-1:-1:-1;;;9697:227:104:o;7972:133::-;8049:7;8071:29;8089:10;8071:17;:29::i;:::-;8064:36;7972:133;-1:-1:-1;;7972:133:104:o;10152:876::-;10205:16;10229:46;10278:41;:39;:41::i;:::-;10229:90;;10325:22;10350:1;:19;;;;;;;;;;-1:-1:-1;;;;;10350:19:104;-1:-1:-1;;;;;10350:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10392:32;10427:35;;;:19;;;:35;;;;;10482:21;;10325:61;;-1:-1:-1;10427:35:104;10482:21;;-1:-1:-1;;;;;10546:18:104;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10546:18:104;;10509:55;;10570:19;10601:9;10596:256;10616:3;10612:1;:7;10596:256;;;10634:18;10655:14;10670:1;10655:17;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;10725:34:104;10684:37;10710:10;10684:25;:37::i;:::-;:75;;;;;;;;:::i;:::-;;10680:166;;10804:10;10771:17;10789:11;10771:30;;;;;;;;:::i;:::-;;;;;;;;;;:43;10824:13;;;;:::i;:::-;;;;10680:166;-1:-1:-1;10621:3:104;;;;:::i;:::-;;;;10596:256;;;;10858:24;10899:11;-1:-1:-1;;;;;10885:26:104;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10885:26:104;;10858:53;;10922:9;10917:86;10937:11;10933:1;:15;10917:86;;;10976:17;10994:1;10976:20;;;;;;;;:::i;:::-;;;;;;;10963:7;10971:1;10963:10;;;;;;;;:::i;:::-;;;;;;;;;;:33;10950:3;;;;:::i;:::-;;;;10917:86;;8649:116;8711:4;8730:30;:28;:30::i;:::-;8723:37;;8649:116;:::o;15127:423::-;15208:4;15220:46;15269:41;:39;:41::i;:::-;15316:43;15362:23;;;:11;;;;:23;;;;;15395:25;;;;15220:90;;-1:-1:-1;15362:23:104;15395:30;;15391:63;;-1:-1:-1;15442:5:104;;15127:423;-1:-1:-1;;;15127:423:104:o;15391:63::-;15464:21;;;;-1:-1:-1;;;15464:21:104;;;;15460:86;;;-1:-1:-1;15502:4:104;;15127:423;-1:-1:-1;;;15127:423:104:o;15460:86::-;-1:-1:-1;15534:5:104;;15127:423;-1:-1:-1;;;15127:423:104:o;19355:1621::-;19574:7;19589:46;19638:41;:39;:41::i;:::-;19589:90;;19685:18;19706:57;19719:7;19728:6;19736:9;19747:15;19706:12;:57::i;:::-;19685:78;;19785:28;19802:10;19785:16;:28::i;:::-;-1:-1:-1;;;;;19774:39:104;:7;-1:-1:-1;;;;;19774:39:104;;;:49;;;;;19818:5;19817:6;19774:49;19770:104;;;19859:7;19840:27;;-1:-1:-1;;;19840:27:104;;;;;;;;:::i;:::-;;;;;;;;19770:104;19880:636;19926:10;20436:74;20473:36;20436;:74::i;:::-;20346:79;20383:41;20346:36;:79::i;:::-;20260:75;20297:37;20260:36;:75::i;:::-;20170:79;20207:41;20170:36;:79::i;:::-;20085:74;20122:36;20085;:74::i;:::-;20000;20037:36;20000;:74::i;:::-;2038:1:106;1985:48;1991:37;2038:1;1985:48;:::i;:::-;1979:55;;:1;:55;:::i;:::-;1978:61;;;;:::i;:::-;19944:130:104;:215;:305;:391;:481;:566;19880:38;:636::i;:::-;;20538:28;20555:10;20538:16;:28::i;:::-;-1:-1:-1;;;;;20527:39:104;:7;-1:-1:-1;;;;;20527:39:104;;20523:203;;20634:35;20593:37;20619:10;20593:25;:37::i;:::-;:76;;;;;;;;:::i;:::-;;20576:143;;;;-1:-1:-1;;;20576:143:104;;15289:2:150;20576:143:104;;;15271:21:150;15328:2;15308:18;;;15301:30;15367:32;15347:18;;;15340:60;15417:18;;20576:143:104;15087:354:150;20576:143:104;20732:18;20753:25;;;:13;;;:25;;;;;;20788:15;;20784:138;;20829:10;;;;:29;;-1:-1:-1;;;20829:29:104;;;;;5463:25:150;;;-1:-1:-1;;;;;20829:10:104;;;;:17;;5436:18:150;;20829:29:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20890:25:104;;;;:13;;;:25;;;;;20883:32;-1:-1:-1;20784:138:104;20935:36;20943:10;20955:7;20964:6;20935:7;:36::i;8351:133::-;8428:7;8450:29;8468:10;8450:17;:29::i;21404:891::-;21464:46;21513:41;:39;:41::i;:::-;21560:39;21602:26;;;:14;;;:26;;;;;;21464:90;;-1:-1:-1;21602:26:104;;;;;21792:12;:51;;;;;;;;:::i;:::-;;21788:131;;21887:10;21899:12;21860:52;;-1:-1:-1;;;21860:52:104;;;;;;;;;:::i;21788:131::-;21989:149;22035:10;22053:79;22090:41;22053:36;:79::i;21989:149::-;-1:-1:-1;22144:38:104;;;;:26;;;:38;;;;;;;;;:89;;-1:-1:-1;;22144:89:104;22185:48;22144:89;;;22261:29;;5463:25:150;;;22261:29:104;;5436:18:150;22261:29:104;;;;;;;21458:837;;21404:891;:::o;23079:1008::-;23145:46;23194:41;:39;:41::i;:::-;23145:90;;23241:235;23287:10;23395:75;23432:37;23395:36;:75::i;:::-;23305:79;23342:41;23305:36;:79::i;:::-;:165;23241:38;:235::i;:::-;-1:-1:-1;23486:26:104;;;;:14;;;:26;;;;;;;;23482:86;;;23529:32;;-1:-1:-1;;;23529:32:104;;;;;5463:25:150;;;5436:18;;23529:32:104;5309:185:150;23482:86:104;23614:57;23573:38;;;:26;;;:38;;;;;;;;:98;;-1:-1:-1;;23573:98:104;;;;;;23784:25;;;:37;;;;;23777:44;;;;;;;23834:15;;;:27;;;;;23827:34;;-1:-1:-1;;;;;;23827:34:104;;;23874:21;;;:33;;;;;23867:40;;;:::i;:::-;23920:46;;;;:34;;;:46;;;;;23913:53;;;:::i;:::-;23979:34;;;;:22;;;:34;;;;;23972:41;;;:::i;:::-;24041;;5463:25:150;;;24041:41:104;;5451:2:150;5436:18;24041:41:104;;;;;;;23139:948;23079:1008;:::o;11938:992::-;12173:7;12188:16;12207:10;12188:29;;12224:18;12245:71;12258:7;12267:6;12275:9;12302:11;12286:29;;;;;;12245:12;:71::i;:::-;12224:92;;12323:189;12352:8;12368:12;12388:11;12407:7;12422:6;12436:9;12453:10;12471:35;12323:21;:189::i;:::-;12519:17;12539:197;12555:8;12571:10;12589:7;12604:6;12618:9;12635:11;12654:12;12674:13;12695:35;12539:8;:197::i;:::-;12519:217;;12831:71;12881:9;12892;12831:49;:71::i;:::-;12916:9;11938:992;-1:-1:-1;;;;;;;;;;11938:992:104:o;17386:1404::-;17607:7;17622:46;17671:41;:39;:41::i;:::-;17622:90;;17718:18;17739:57;17752:7;17761:6;17769:9;17780:15;17739:12;:57::i;:::-;17718:78;;17803:228;17849:10;17953:72;17990:34;17953:36;:72::i;:::-;17867:75;17904:37;17867:36;:75::i;17803:228::-;-1:-1:-1;18095:23:104;;;;18130:4;18095:11;;:23;;;;;:32;;:39;;-1:-1:-1;;;;18095:39:104;-1:-1:-1;;;18095:39:104;;;-1:-1:-1;;;;;18203:53:104;;:34;:32;:34::i;:::-;-1:-1:-1;;;;;18203:53:104;;18199:238;;18271:9;18266:165;18286:7;:14;18282:1;:18;18266:165;;;18343:4;-1:-1:-1;;;;;18321:27:104;:7;18329:1;18321:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;18321:27:104;;18317:106;;18362:50;18398:9;18408:1;18398:12;;;;;;;;:::i;:::-;;;;;;;18388:23;;;;;;18362:1;:16;;:25;;:50;;;;:::i;:::-;18302:3;;;:::i;:::-;;;18266:165;;;;18199:238;18443:92;18462:15;18479:10;18491:7;18500:6;18508:9;18519:15;18443:18;:92::i;:::-;18637:15;-1:-1:-1;;;;;18599:53:104;:34;:32;:34::i;:::-;-1:-1:-1;;;;;18599:53:104;;;:82;;;;-1:-1:-1;18657:16:104;;;5832:12:40;-1:-1:-1;;;;;5832:12:40;;;-1:-1:-1;;;5818:10:40;;;;:26;18656:25:104;18599:82;18595:127;;;5383:1:40;18691:16:104;;;5394:14:40;18691:24:104;18733:28;;5463:25:150;;;18733:28:104;;5451:2:150;5436:18;18733:28:104;;;;;;;18775:10;17386:1404;-1:-1:-1;;;;;;;17386:1404:104:o;2697:146:107:-;2810:23;;2697:146::o;6298:269:104:-;6465:7;6516;6525:6;6533:9;6544:15;6505:55;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6505:55:104;;;;;;;;;6495:66;;6505:55;6495:66;;;;;6298:269;-1:-1:-1;;;;;6298:269:104:o;27504:1675::-;27800:46;27849:41;:39;:41::i;:::-;27800:90;;27935:38;27955:17;27935:19;:38::i;:::-;27930:113;;28018:17;27990:46;;-1:-1:-1;;;27990:46:104;;;;;;;;:::i;27930:113::-;28104:1;:19;;;;;;;;;;-1:-1:-1;;;;;28104:19:104;-1:-1:-1;;;;;28104:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28088:12;:52;28084:119;;28157:39;;-1:-1:-1;;;28157:39:104;;;;;5463:25:150;;;5436:18;;28157:39:104;5309:185:150;28084:119:104;28305:1;:19;;;;;;;;;;-1:-1:-1;;;;;28305:19:104;-1:-1:-1;;;;;28305:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;;28344:1;28305:40;:::i;:::-;28289:12;:56;28285:178;;28360:30;:28;:30::i;:::-;28355:102;;28409:39;;-1:-1:-1;;;28409:39:104;;;;;5463:25:150;;;5436:18;;28409:39:104;5309:185:150;28355:102:104;28530:35;28509:17;:56;;;;;;;;:::i;:::-;;28505:197;;28580:52;28610:8;28620:11;28580:29;:52::i;:::-;28575:121;;28678:8;28651:36;;-1:-1:-1;;;28651:36:104;;;;;;;;:::i;28575:121::-;28730:6;:13;28712:7;:14;:31;;:69;;;;28765:9;:16;28747:7;:14;:34;;28712:69;28708:175;;;28828:14;;28844:16;;28862:13;;28798:78;;-1:-1:-1;;;28798:78:104;;;;;18470:25:150;;;;18511:18;;;18504:34;;;;18554:18;;;18547:34;18443:18;;28798:78:104;18268:319:150;28708:175:104;28893:23;;;;:11;;;;:23;;;;;;:40;;:45;28889:200;;29020:10;29032:37;29058:10;29032:25;:37::i;:::-;28988:94;;-1:-1:-1;;;28988:94:104;;;;;;29079:1;;28988:94;;;:::i;28889:200::-;29095:79;29155:7;29164:9;29095:59;:79::i;:::-;27794:1385;27504:1675;;;;;;;;:::o;24807:1252::-;25115:7;25130:46;25179:41;:39;:41::i;:::-;25130:90;;25226:30;25259:71;25312:17;25259:52;:71::i;:::-;25226:104;;25336:19;25358:53;25376:1;:19;;;;;;;;;;-1:-1:-1;;;;;25376:19:104;-1:-1:-1;;;;;25376:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25358:17;:53::i;:::-;25437:14;;25336:75;;-1:-1:-1;25437:18:104;;25462:46;25480:8;25490:17;25462;:46::i;:::-;25515:188;25535:10;25553:8;25569:12;25589;25609;25629:13;25650:22;25680:17;25515:12;:188::i;:::-;25714:17;;25710:108;;25741:70;25775:13;25790:8;25800:10;25741:33;:70::i;:::-;25824:206;25858:8;25874:10;25892:7;25907:6;25921:9;25938:11;25957:12;25977:22;26007:17;25824:26;:206::i;:::-;-1:-1:-1;26044:10:104;;24807:1252;-1:-1:-1;;;;;;;;;;;;24807:1252:104:o;3966:154:106:-;4059:7;4100:13;4094:20;;;;;;;;:::i;:::-;4089:1;:25;;;;;;;3966:154;-1:-1:-1;;3966:154:106:o;3306:399::-;3413:27;3448:40;3491:18;3498:10;3491:6;:18::i;:::-;3448:61;-1:-1:-1;3578:1:106;3553:13;3519:31;3448:61;3519:17;:31::i;:::-;:47;:61;3515:161;;3629:10;3641:12;3655:13;3597:72;;-1:-1:-1;;;3597:72:106;;;;;;;;;;:::i;32886:730:104:-;33139:6;33153:46;33202:41;:39;:41::i;:::-;33153:90;;33249:13;33265:1;:10;;;;;;;;;;-1:-1:-1;;;;;33265:10:104;-1:-1:-1;;;;;33265:22:104;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33249:40;;33296:12;33311:70;33348:15;33365;33311:36;:70::i;:::-;33415:10;;;;:66;;-1:-1:-1;;;33415:66:104;;33296:85;;-1:-1:-1;;;;;;33415:10:104;;:29;;:66;;33445:7;;33454:6;;33462:9;;33415:10;;33296:85;;33415:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33387:25;;;;:13;;;:25;;;;;;:94;;;;33487:10;;;;:68;;-1:-1:-1;;;33487:68:104;;-1:-1:-1;;;;;33487:10:104;;;;:24;;:68;;33512:7;;33521:6;;33529:9;;33387:25;33543:4;;33549:5;;33487:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33569:42;33605:5;33587:15;:23;;;;:::i;:::-;33569:17;:42::i;35366:1145::-;35444:7;35459:46;35508:41;:39;:41::i;:::-;35459:90;;35662:1;:11;;:23;35674:10;35662:23;;;;;;;;;;;:40;;;35622:1;:19;;;;;;;;;;-1:-1:-1;;;;;35622:19:104;-1:-1:-1;;;;;35622:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;35618:279;;35710:46;35759:41;:39;:41::i;:::-;35815:19;;;;;35849:23;;;35815:19;35849:11;;;:23;;;;;;;:40;;35815:75;;-1:-1:-1;;;35815:75:104;;;;;5463:25:150;;;;35815:19:104;;-1:-1:-1;;;;;;35815:19:104;;:33;;5436:18:150;;35815:75:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35808:82;35366:1145;-1:-1:-1;;;;35366:1145:104:o;35618:279::-;35975:19;;;;:36;;;-1:-1:-1;;;35975:36:104;;;;35903:26;;-1:-1:-1;;;;;35975:19:104;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35932:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;35903:108;-1:-1:-1;36017:26:104;36084:22;36105:1;35903:108;36084:22;:::i;:::-;36046:1;:19;;;;;;;;;;-1:-1:-1;;;;;36046:19:104;-1:-1:-1;;;;;36046:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36017:90;;36169:28;36200:1;:19;;;;;;;;;;-1:-1:-1;;;;;36200:19:104;-1:-1:-1;;;;;36200:40:104;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36169:73;;36339:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36315:50;;:20;:50;36311:120;;36398:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36375:49;;;;36311:120;36488:18;36444:41;36467:18;36444:20;:41;:::i;:::-;:62;;;;:::i;:::-;36437:69;35366:1145;-1:-1:-1;;;;;;35366:1145:104:o;4324:2276:106:-;4391:27;4426:46;4475:41;:39;:41::i;:::-;4559:43;4605:23;;;:11;;;;:23;;;;;;;;4700:26;;;:38;;;;;;;4768:17;;;;4426:90;;-1:-1:-1;4605:23:106;;4700:38;;;;;-1:-1:-1;;;4768:17:106;;;;;-1:-1:-1;;;4815:17:106;;;;;4843:24;:80;;;;;;;;:::i;:::-;;4839:149;;-1:-1:-1;4940:41:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4839:149::-;5026:48;4998:24;:76;;;;;;;;:::i;:::-;;4994:141;;-1:-1:-1;5091:37:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4994:141::-;5145:16;5141:80;;;-1:-1:-1;5178:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5141:80::-;5231:16;5227:80;;;-1:-1:-1;5264:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5227:80::-;5317:8;:25;;;5346:1;5317:30;5313:97;;5364:39;;-1:-1:-1;;;5364:39:106;;;;;5463:25:150;;;5436:18;;5364:39:106;5309:185:150;5313:97:106;5499:8;:25;;;5460:1;:19;;;;;;;;;;-1:-1:-1;;;;;5460:19:106;-1:-1:-1;;;;;5460:34:106;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;5456:127;;;-1:-1:-1;5541:35:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5456:127::-;5589:24;5616:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5589:53;;;;5648:16;5667:51;5707:10;5667:39;:51::i;:::-;5648:70;;5730:55;5774:10;5730:43;:55::i;:::-;5725:125;;-1:-1:-1;5802:41:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5725:125::-;5872:16;5860:8;:28;5856:740;;-1:-1:-1;5905:34:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5856:740::-;5964:45;5998:10;5964:33;:45::i;:::-;5963:46;:95;;;;6014:44;6047:10;6014:32;:44::i;:::-;6013:45;5963:95;5952:644;;;-1:-1:-1;6080:36:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5952:644::-;6133:45;6167:10;6133:33;:45::i;:::-;6182:1;6133:50;6129:467;;-1:-1:-1;6200:37:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;6129:467::-;6258:15;6276:25;;;:13;;;:25;;;;;;;;6313:10;;;;:38;;-1:-1:-1;;;6313:38:106;;;;;5463:25:150;;;6276::106;;-1:-1:-1;;;;;6313:10:106;;:29;;5436:18:150;;6313:38:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6309:281;;;-1:-1:-1;6370:34:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6309:281::-;6423:10;;;;:35;;-1:-1:-1;;;6423:35:106;;;;;5463:25:150;;;-1:-1:-1;;;;;6423:10:106;;;;:26;;5436:18:150;;6423:35:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6419:171;;;-1:-1:-1;6477:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6419:171::-;-1:-1:-1;6545:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;34463:731:104:-;34529:4;34541:46;34590:41;:39;:41::i;:::-;34541:90;;34637:22;34662:1;:19;;;;;;;;;;-1:-1:-1;;;;;34662:19:104;-1:-1:-1;;;;;34662:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34735:19;;;;:49;;-1:-1:-1;;;34735:49:104;;;;;5463:25:150;;;34637:61:104;;-1:-1:-1;34704:28:104;;-1:-1:-1;;;;;34735:19:104;;;;:33;;5436:18:150;;34735:49:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34704:80;;34790:19;34812:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34790:48;;34950:12;34926:36;;:20;:36;34922:69;;34979:5;34972:12;;;;;;34463:731;:::o;34922:69::-;35108:35;;;;:20;:35;:::i;:::-;35089:1;:16;;;:54;35085:87;;;35160:5;35153:12;;;;;;34463:731;:::o;35085:87::-;35185:4;35178:11;;;;;;34463:731;:::o;6721:232::-;6798:7;6813:46;6862:41;:39;:41::i;:::-;6916:23;;;;:11;;:23;;-1:-1:-1;;6916:23:104;;;:32;-1:-1:-1;;;;;6916:32:104;;6721:232::o;33889:395::-;33999:7;34014:46;34063:41;:39;:41::i;:::-;34110:23;;;;34145:4;34110:11;;:23;;;;;;;:32;;:39;;-1:-1:-1;;;;34110:39:104;-1:-1:-1;;;34110:39:104;;;34160:28;34014:90;;-1:-1:-1;34160:28:104;;;;34122:10;5463:25:150;;5451:2;5436:18;;5309:185;34160:28:104;;;;;;;;34238:8;-1:-1:-1;;;;;34199:56:104;34226:10;34199:56;34248:6;34199:56;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;34269:10:104;;33889:395;-1:-1:-1;;;33889:395:104:o;36683:757::-;36761:7;36776:46;36825:41;:39;:41::i;:::-;36776:90;;37009:1;:11;;:23;37021:10;37009:23;;;;;;;;;;;:40;;;36969:1;:19;;;;;;;;;;-1:-1:-1;;;;;36969:19:104;-1:-1:-1;;;;;36969:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36965:279;;37057:46;37106:41;:39;:41::i;:::-;37162:19;;;;;37196:23;;;37162:19;37196:11;;;:23;;;;;;;:40;;37162:75;;-1:-1:-1;;;37162:75:104;;;;;5463:25:150;;;;37162:19:104;;-1:-1:-1;;;;;;37162:19:104;;:33;;5436:18:150;;37162:75:104;5309:185:150;36965:279:104;37401:1;:19;;;;;;;;;;-1:-1:-1;;;;;37401:19:104;-1:-1:-1;;;;;37401:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37369:29;37387:10;37369:17;:29::i;:::-;:66;;;;:::i;4574:322:99:-;4659:9;4672:1;4659:14;4655:41;;4574:322;;:::o;4655:41::-;4701:46;4750:41;:39;:41::i;:::-;4797:31;;;;:19;;;:31;;;;;;;:43;;;4851:40;4701:90;;-1:-1:-1;4817:10:99;;4851:40;;;;4831:9;5463:25:150;;5451:2;5436:18;;5309:185;4851:40:99;;;;;;;;4649:247;4574:322;;:::o;2639:185:103:-;2682:7;2697:46;2746:41;:39;:41::i;:::-;2808:10;;;-1:-1:-1;;;;;2808:10:103;;2639:185;-1:-1:-1;;2639:185:103:o;1985:302:40:-;2109:10;;-1:-1:-1;;;;;;;;2109:10:40;;;;;2154:12;;;2137:13;;:29;;;;2133:53;;2175:11;;-1:-1:-1;;;2175:11:40;;;;;;;;;;;2133:53;-1:-1:-1;;;;;2200:22:40;;;;;;;:11;;;;:22;;;;;;:30;;;;2244:26;;2257:13;;;;2244:26;;-1:-1:-1;;;2244:26:40;;;;;;1985:302::o;31745:630:104:-;31997:46;32046:41;:39;:41::i;:::-;32123:10;;;;31997:90;;-1:-1:-1;;;;;;32123:10:104;:23;32155:9;32174:7;32189:6;32203:9;32123:10;32229:70;32266:15;32283;32229:36;:70::i;:::-;32123:182;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;32345:25:104;;;;-1:-1:-1;;32345:13:104;;:25;;-1:-1:-1;;32345:25:104;;;32338:32;;;;-1:-1:-1;;;31745:630:104:o;39283:241::-;39381:4;;39406:17;:56;;;;;;;;:::i;:::-;;:113;;;-1:-1:-1;39487:32:104;39466:17;:53;;;;;;;;:::i;:::-;;39393:126;39283:241;-1:-1:-1;;39283:241:104:o;37818:1279::-;37950:25;;37924:4;;38054:2;38048:8;;38044:40;;;38073:4;38066:11;;;;;38044:40;38484:30;;;-1:-1:-1;;38484:30:104;38478:37;-1:-1:-1;;;;;;38603:33:104;;-1:-1:-1;;;38603:33:104;38599:65;;38653:4;38646:11;;;;;;38599:65;38733:17;;38773:8;38779:2;38773:3;:8;:::i;:::-;38761:20;;38756:293;38787:3;38783:1;:7;38756:293;;;38806:10;38818:11;38833:35;38852:11;38865:1;38846:21;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;38846:21:104;38833:12;:35::i;:::-;38805:63;;;;38962:5;38957:42;;38986:4;38979:11;;;;;;;;;;38957:42;39037:5;39018:24;;39032:1;39019:9;-1:-1:-1;;;;;39019:14:104;;;39018:24;39006:36;;38797:252;;38792:3;;;;:::i;:::-;;;38756:293;;;;39083:8;-1:-1:-1;;;;;39062:30:104;:9;-1:-1:-1;;;;;39062:30:104;;39055:37;;;;;37818:1279;;;;:::o;4036:534:102:-;4155:46;4204:41;:39;:41::i;:::-;4255:30;;;;4155:90;;-1:-1:-1;4255:30:102;;4251:315;;;4300:9;4295:265;4315:7;:14;4311:1;:18;4295:265;;;4346:23;4372:37;4396:9;4406:1;4396:12;;;;;;;;:::i;:::-;;;;;;;4372:23;:37::i;:::-;4346:63;;4424:1;:22;;:34;4447:7;4455:1;4447:10;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;4424:34:102;;;;;;;;;;;;;;-1:-1:-1;4424:34:102;;;-1:-1:-1;;;;;;4424:52:102;;;;;;;;;;;;4419:133;;4497:44;;-1:-1:-1;;;4497:44:102;;-1:-1:-1;;;;;;22036:33:150;;4497:44:102;;;22018:52:150;21991:18;;4497:44:102;21874:202:150;4419:133:102;-1:-1:-1;4331:3:102;;;;:::i;:::-;;;;4295:265;;;;4251:315;4149:421;4036:534;;:::o;8997:574:101:-;9110:7;9125:46;9174:41;:39;:41::i;:::-;9125:90;;9221:32;9354:3;9330:1;:6;;;;;;;;;;-1:-1:-1;;;;;9330:6:101;-1:-1:-1;;;;;9330:18:101;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9257:64;9308:12;9257:50;:64::i;:::-;:93;;;;:::i;:::-;9256:101;;;;:::i;:::-;9221:136;;9363:20;9386:57;9430:12;9386:43;:57::i;:::-;9363:80;;9481:12;9454:24;:39;9450:79;;;9510:12;8997:574;-1:-1:-1;;;;8997:574:101:o;9450:79::-;-1:-1:-1;9542:24:101;8997:574;-1:-1:-1;;;8997:574:101:o;15291:213:37:-;15347:6;15377:16;15369:24;;15365:103;;;15447:2;15451:5;15416:41;;-1:-1:-1;;;15416:41:37;;;;;;;;;:::i;15365:103::-;-1:-1:-1;15491:5:37;15291:213::o;30803:506:104:-;30925:46;30974:41;:39;:41::i;:::-;30925:90;;31021:22;31046:1;:31;;:50;31078:17;31046:50;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;31046:50:104;;;;31118:14;;;;31141:43;;-1:-1:-1;;;31141:43:104;;31046:50;;-1:-1:-1;;;;;;;;31118:14:104;;:22;;:14;;31141:33;;:43;;31175:8;;31141:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31118:67;;;;;;;;;;;;;5463:25:150;;5451:2;5436:18;;5309:185;31118:67:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31102:83;;31218:14;31210:5;:22;31206:99;;;31249:49;;-1:-1:-1;;;31249:49:104;;-1:-1:-1;;;;;22898:32:150;;31249:49:104;;;22880:51:150;22947:18;;;22940:34;;;22853:18;;31249:49:104;22706:274:150;31206:99:104;30919:390;;;30803:506;;:::o;29766:861::-;30045:46;30094:41;:39;:41::i;:::-;30045:90;;30141:43;30187:1;:11;;:23;30199:10;30187:23;;;;;;;;;;;30141:69;;30237:8;30217;:17;;;:28;;;;;-1:-1:-1;;;;;30217:28:104;;;;;-1:-1:-1;;;;;30217:28:104;;;;;;30279:16;30251:8;:25;;:44;;;;30325:12;30301:8;:21;;;:36;;;;;;;;;;;;;;;;;;30367:12;30343:8;:21;;;:36;;;;;;;;;;;;;;;;;;30410:13;30385:8;:22;;:38;;;;30457:24;30429:8;:25;;:52;;;;30545:17;30516:1;:14;;:26;30531:10;30516:26;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;30568:37:104;;;;:19;;:37;;;;;;;:54;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;29766:861:104:o;5963:667:101:-;6071:46;6120:41;:39;:41::i;:::-;6175:6;;;;:53;;-1:-1:-1;;;6175:53:101;;-1:-1:-1;;;;;23243:15:150;;;6175:53:101;;;23225:34:150;6214:4:101;23275:18:150;;;23268:43;23327:18;;;23320:34;;;6175:6:101;;-1:-1:-1;6175:6:101;;;:19;;23160:18:150;;6175:53:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6167:95;;;;-1:-1:-1;;;6167:95:101;;23567:2:150;6167:95:101;;;23549:21:150;23606:2;23586:18;;;23579:30;23645:31;23625:18;;;23618:59;23694:18;;6167:95:101;23365:353:150;6167:95:101;6269:22;;;;:10;;;:22;;;;;;;;-1:-1:-1;;;;;6269:33:101;;;;;;;;;:43;;6306:6;;6269:22;:43;;6306:6;;6269:43;:::i;:::-;;;;;;;;6319:20;6342:78;6393:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6342:32:101;;;;;;:21;;;:32;;;;;;:50;:78::i;:::-;6319:101;;6426:16;6460:26;6479:6;6460:18;:26::i;:::-;6445:41;;:12;:41;:::i;:::-;6426:60;;6492:75;6530:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6492:32:101;;;;;;:21;;;:32;;;;;;6558:8;6492:37;:75::i;:::-;;;6606:10;6595:9;-1:-1:-1;;;;;6579:46:101;;6618:6;6579:46;;;;5463:25:150;;5451:2;5436:18;;5309:185;6579:46:101;;;;;;;;6065:565;;;5963:667;;;:::o;26297:713:104:-;26846:12;26729:8;-1:-1:-1;;;;;26688:206:104;26711:10;26688:206;26745:7;26760:6;26787:7;:14;-1:-1:-1;;;;;26774:28:104;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26810:9;26827:11;26866:22;26688:206;;;;;;;;;;;:::i;:::-;;;;;;;;26975:10;26951:54;26987:17;26951:54;;;;;;:::i;:::-;;;;;;;;26297:713;;;;;;;;;:::o;2289:164:103:-;2406:24;;-1:-1:-1;;;;;;2406:42:103;;;2289:164::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14447:2;14451:5;14416:41;;-1:-1:-1;;;14416:41:37;;;;;;;;;:::i;8286:329:101:-;8369:4;8381:46;8430:41;:39;:41::i;:::-;8477:43;8523:23;;;:11;;:23;;-1:-1:-1;;8523:23:101;;;8585:25;;;;8559:22;;;;;:51;;;8286:329::o;8505:411:105:-;8579:4;8591:46;8640:41;:39;:41::i;:::-;8687:39;8729:26;;;:14;;;:26;;;;;;;;;8879:20;;;:32;;;;;;;8591:90;;-1:-1:-1;8729:26:105;;;8775:94;8796:51;8744:10;8796:39;:51::i;:::-;8855:12;8849:19;;;;;;;;:::i;:::-;8775:20;:94::i;:::-;:136;;;8505:411;-1:-1:-1;;;;8505:411:105:o;6487:318:109:-;6553:4;6565:46;6614:41;:39;:41::i;:::-;6661:47;6711:27;;;:15;;:27;;-1:-1:-1;;6711:27:109;;;6775:25;;6751:21;;;;;:49;;6487:318::o;7121:229:104:-;7193:7;7208:46;7257:41;:39;:41::i;:::-;7311:23;;;;:11;;:23;;-1:-1:-1;;7311:23:104;;;:34;;;-1:-1:-1;;;7311:34:104;;;;;7121:229::o;39769:474::-;39826:4;;39855:11;;;;39912:2;:6;-1:-1:-1;39912:16:104;;;;;39926:2;39922:1;:6;;;39912:16;39908:325;;;39948:4;;-1:-1:-1;;39954:6:104;;;;-1:-1:-1;39769:474:104;-1:-1:-1;;39769:474:104:o;39908:325::-;40009:1;40004:6;;:2;:6;:16;;;;;40018:2;40014:1;:6;;;40004:16;40000:233;;;40040:4;;-1:-1:-1;;40046:6:104;;;;-1:-1:-1;39769:474:104;-1:-1:-1;;39769:474:104:o;40000:233::-;40101:1;40096:6;;:2;:6;:17;;;;;40110:3;40106:1;:7;;;40096:17;40092:141;;;40133:4;;-1:-1:-1;;40139:6:104;;;;-1:-1:-1;39769:474:104;-1:-1:-1;;39769:474:104:o;40092:141::-;-1:-1:-1;40215:5:104;;;;-1:-1:-1;39769:474:104;-1:-1:-1;;39769:474:104:o;4916:245:102:-;4990:6;5022:1;5008:4;:11;:15;5004:65;;;5064:4;5032:37;;-1:-1:-1;;;5032:37:102;;;;;;;;:::i;5004:65::-;-1:-1:-1;5131:2:102;5121:13;5115:20;;4916:245::o;16150:397:100:-;16253:7;16268:46;16317:41;:39;:41::i;:::-;16268:90;;16372:55;16414:12;16372:41;:55::i;:::-;16364:111;;;;-1:-1:-1;;;16364:111:100;;;;;;;:::i;:::-;16488:1;:40;;:54;16529:12;16488:54;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16481:61;;;16150:397;;;:::o;17045:383::-;17141:7;17156:46;17205:41;:39;:41::i;:::-;17156:90;;17260:55;17302:12;17260:41;:55::i;:::-;17252:111;;;;-1:-1:-1;;;17252:111:100;;;;;;;:::i;:::-;17376:1;:33;;:47;17410:12;17376:47;;;;;;;;:::i;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4328:3;4333:5;4297:42;;-1:-1:-1;;;4297:42:37;;;;;;;;;:::i;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;6604:364:105:-;6711:7;6726:46;6775:41;:39;:41::i;:::-;6726:90;-1:-1:-1;3160:3:105;6875:59;6905:9;6916:17;6875:29;:59::i;:::-;6836:6;;;;:36;;-1:-1:-1;;;6836:36:105;;;;;5463:25:150;;;-1:-1:-1;;;;;6836:6:105;;;;:25;;5436:18:150;;6836:36:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6835:128;;;;:::i;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;11513:870;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;4421:231:105;4537:7;4559:88;4590:9;4628:17;4601:45;;;;;;;;;;:::i;:::-;4559:30;:88::i;10699:983:36:-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;9267:783:105:-;9407:7;9422:46;9471:41;:39;:41::i;:::-;9422:90;;9518:14;9535:1;:20;;:39;9556:17;9535:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9535:39:105;;;:59;;-1:-1:-1;9698:20:105;;;-1:-1:-1;9719:17:105;9698:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9698:39:105;9751:10;9760:1;9751:6;:10;:::i;:::-;9698:64;;;;;;;;:::i;:::-;;;;;;;;;;9787:11;;9698:64;;-1:-1:-1;9787:11:105;;;;-1:-1:-1;;;9826:13:105;;-1:-1:-1;;;;;9826:13:105;9849:22;;;9845:61;;-1:-1:-1;;;;;9881:18:105;;-1:-1:-1;9881:18:105;;-1:-1:-1;;;;9881:18:105;9845:61;9958:87;10016:28;10034:9;10016:17;:28::i;:::-;9958:1;:20;;:39;9979:17;9958:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:57;;:87;;;;:::i;:::-;-1:-1:-1;;;;;9951:94:105;;9267:783;-1:-1:-1;;;;;;;;9267:783:105:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;14:127:150;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:150;247:40;;-1:-1:-1;;;;;302:34:150;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:150:o;426:183::-;486:4;-1:-1:-1;;;;;508:30:150;;505:56;;;541:18;;:::i;:::-;-1:-1:-1;586:1:150;582:14;598:4;578:25;;426:183::o;614:173::-;682:20;;-1:-1:-1;;;;;731:31:150;;721:42;;711:70;;777:1;774;767:12;711:70;614:173;;;:::o;792:668::-;846:5;899:3;892:4;884:6;880:17;876:27;866:55;;917:1;914;907:12;866:55;953:6;940:20;979:4;1003:60;1019:43;1059:2;1019:43;:::i;:::-;1003:60;:::i;:::-;1097:15;;;1183:1;1179:10;;;;1167:23;;1163:32;;;1128:12;;;;1207:15;;;1204:35;;;1235:1;1232;1225:12;1204:35;1271:2;1263:6;1259:15;1283:148;1299:6;1294:3;1291:15;1283:148;;;1365:23;1384:3;1365:23;:::i;:::-;1353:36;;1409:12;;;;1316;;1283:148;;;-1:-1:-1;1449:5:150;792:668;-1:-1:-1;;;;;;792:668:150:o;1465:662::-;1519:5;1572:3;1565:4;1557:6;1553:17;1549:27;1539:55;;1590:1;1587;1580:12;1539:55;1626:6;1613:20;1652:4;1676:60;1692:43;1732:2;1692:43;:::i;1676:60::-;1770:15;;;1856:1;1852:10;;;;1840:23;;1836:32;;;1801:12;;;;1880:15;;;1877:35;;;1908:1;1905;1898:12;1877:35;1944:2;1936:6;1932:15;1956:142;1972:6;1967:3;1964:15;1956:142;;;2038:17;;2026:30;;2076:12;;;;1989;;1956:142;;2132:406;2196:5;-1:-1:-1;;;;;2219:30:150;;2216:56;;;2252:18;;:::i;:::-;2290:57;2335:2;2314:15;;-1:-1:-1;;2310:29:150;2341:4;2306:40;2290:57;:::i;:::-;2281:66;;2370:6;2363:5;2356:21;2410:3;2401:6;2396:3;2392:16;2389:25;2386:45;;;2427:1;2424;2417:12;2386:45;2476:6;2471:3;2464:4;2457:5;2453:16;2440:43;2530:1;2523:4;2514:6;2507:5;2503:18;2499:29;2492:40;2132:406;;;;;:::o;2543:1087::-;2595:5;2648:3;2641:4;2633:6;2629:17;2625:27;2615:55;;2666:1;2663;2656:12;2615:55;2702:6;2689:20;2728:4;2752:60;2768:43;2808:2;2768:43;:::i;2752:60::-;2846:15;;;2932:1;2928:10;;;;2916:23;;2912:32;;;2877:12;;;;2956:15;;;2953:35;;;2984:1;2981;2974:12;2953:35;3020:2;3012:6;3008:15;3032:569;3048:6;3043:3;3040:15;3032:569;;;3121:17;;-1:-1:-1;;;;;3154:35:150;;3151:125;;;3230:1;3259:2;3255;3248:14;3151:125;3299:24;;3358:2;3350:11;;3346:21;-1:-1:-1;3336:119:150;;3409:1;3438:2;3434;3427:14;3336:119;3480:78;3554:3;3548:2;3544;3540:11;3527:25;3522:2;3518;3514:11;3480:78;:::i;:::-;3468:91;;-1:-1:-1;3579:12:150;;;;3065;;3032:569;;3635:221;3678:5;3731:3;3724:4;3716:6;3712:17;3708:27;3698:55;;3749:1;3746;3739:12;3698:55;3771:79;3846:3;3837:6;3824:20;3817:4;3809:6;3805:17;3771:79;:::i;3861:1443::-;4087:6;4095;4103;4111;4119;4127;4135;4143;4196:3;4184:9;4175:7;4171:23;4167:33;4164:53;;;4213:1;4210;4203:12;4164:53;4240:23;;-1:-1:-1;;;;;4312:14:150;;;4309:34;;;4339:1;4336;4329:12;4309:34;4362:61;4415:7;4406:6;4395:9;4391:22;4362:61;:::i;:::-;4352:71;;4476:2;4465:9;4461:18;4448:32;4432:48;;4505:2;4495:8;4492:16;4489:36;;;4521:1;4518;4511:12;4489:36;4544:63;4599:7;4588:8;4577:9;4573:24;4544:63;:::i;:::-;4534:73;;4660:2;4649:9;4645:18;4632:32;4616:48;;4689:2;4679:8;4676:16;4673:36;;;4705:1;4702;4695:12;4673:36;4728:61;4781:7;4770:8;4759:9;4755:24;4728:61;:::i;:::-;4718:71;;4842:2;4831:9;4827:18;4814:32;4798:48;;4871:2;4861:8;4858:16;4855:36;;;4887:1;4884;4877:12;4855:36;4910:52;4954:7;4943:8;4932:9;4928:24;4910:52;:::i;:::-;4900:62;;5009:3;4998:9;4994:19;4981:33;4971:43;;5061:3;5050:9;5046:19;5033:33;5023:43;;5085:39;5119:3;5108:9;5104:19;5085:39;:::i;:::-;5075:49;;5177:3;5166:9;5162:19;5149:33;5133:49;;5207:2;5197:8;5194:16;5191:36;;;5223:1;5220;5213:12;5191:36;;5246:52;5290:7;5279:8;5268:9;5264:24;5246:52;:::i;:::-;5236:62;;;3861:1443;;;;;;;;;;;:::o;5499:972::-;5678:6;5686;5694;5702;5710;5763:3;5751:9;5742:7;5738:23;5734:33;5731:53;;;5780:1;5777;5770:12;5731:53;5803:29;5822:9;5803:29;:::i;:::-;5793:39;-1:-1:-1;5883:2:150;5868:18;;5855:32;-1:-1:-1;;;;;5936:14:150;;;5933:34;;;5963:1;5960;5953:12;5933:34;5986:61;6039:7;6030:6;6019:9;6015:22;5986:61;:::i;:::-;5976:71;;6100:2;6089:9;6085:18;6072:32;6056:48;;6129:2;6119:8;6116:16;6113:36;;;6145:1;6142;6135:12;6113:36;6168:63;6223:7;6212:8;6201:9;6197:24;6168:63;:::i;:::-;6158:73;;6284:2;6273:9;6269:18;6256:32;6240:48;;6313:2;6303:8;6300:16;6297:36;;;6329:1;6326;6319:12;6297:36;;6352:61;6405:7;6394:8;6383:9;6379:24;6352:61;:::i;:::-;5499:972;;;;-1:-1:-1;5499:972:150;;6460:3;6445:19;6432:33;;5499:972;-1:-1:-1;;;5499:972:150:o;6476:180::-;6535:6;6588:2;6576:9;6567:7;6563:23;6559:32;6556:52;;;6604:1;6601;6594:12;6556:52;-1:-1:-1;6627:23:150;;6476:180;-1:-1:-1;6476:180:150:o;6858:640::-;7037:2;7089:21;;;7159:13;;7062:18;;;7181:22;;;7008:4;;7037:2;7260:15;;;;7234:2;7219:18;;;7008:4;7303:169;7317:6;7314:1;7311:13;7303:169;;;7378:13;;7366:26;;7447:15;;;;7412:12;;;;7339:1;7332:9;7303:169;;;-1:-1:-1;7489:3:150;;6858:640;-1:-1:-1;;;;;;6858:640:150:o;7703:118::-;7789:5;7782:13;7775:21;7768:5;7765:32;7755:60;;7811:1;7808;7801:12;7826:128;7891:20;;7920:28;7891:20;7920:28;:::i;7959:1242::-;8163:6;8171;8179;8187;8195;8203;8211;8264:3;8252:9;8243:7;8239:23;8235:33;8232:53;;;8281:1;8278;8271:12;8232:53;8304:29;8323:9;8304:29;:::i;:::-;8294:39;;8352:35;8383:2;8372:9;8368:18;8352:35;:::i;:::-;8342:45;-1:-1:-1;8438:2:150;8423:18;;8410:32;-1:-1:-1;;;;;8491:14:150;;;8488:34;;;8518:1;8515;8508:12;8488:34;8541:61;8594:7;8585:6;8574:9;8570:22;8541:61;:::i;:::-;8531:71;;8655:2;8644:9;8640:18;8627:32;8611:48;;8684:2;8674:8;8671:16;8668:36;;;8700:1;8697;8690:12;8668:36;8723:63;8778:7;8767:8;8756:9;8752:24;8723:63;:::i;:::-;8713:73;;8839:3;8828:9;8824:19;8811:33;8795:49;;8869:2;8859:8;8856:16;8853:36;;;8885:1;8882;8875:12;8853:36;8908:61;8961:7;8950:8;8939:9;8935:24;8908:61;:::i;:::-;8898:71;;9016:3;9005:9;9001:19;8988:33;8978:43;;9074:3;9063:9;9059:19;9046:33;9030:49;;9104:2;9094:8;9091:16;9088:36;;;9120:1;9117;9110:12;9088:36;;9143:52;9187:7;9176:8;9165:9;9161:24;9143:52;:::i;:::-;9133:62;;;7959:1242;;;;;;;;;;:::o;9206:1236::-;9413:6;9421;9429;9437;9445;9453;9461;9514:3;9502:9;9493:7;9489:23;9485:33;9482:53;;;9531:1;9528;9521:12;9482:53;9558:23;;-1:-1:-1;;;;;9630:14:150;;;9627:34;;;9657:1;9654;9647:12;9627:34;9680:61;9733:7;9724:6;9713:9;9709:22;9680:61;:::i;:::-;9670:71;;9794:2;9783:9;9779:18;9766:32;9750:48;;9823:2;9813:8;9810:16;9807:36;;;9839:1;9836;9829:12;9807:36;9862:63;9917:7;9906:8;9895:9;9891:24;9862:63;:::i;:::-;9852:73;;9978:2;9967:9;9963:18;9950:32;9934:48;;10007:2;9997:8;9994:16;9991:36;;;10023:1;10020;10013:12;9991:36;10046:61;10099:7;10088:8;10077:9;10073:24;10046:61;:::i;:::-;10036:71;;10160:2;10149:9;10145:18;10132:32;10116:48;;10189:2;10179:8;10176:16;10173:36;;;10205:1;10202;10195:12;10173:36;;10228:52;10272:7;10261:8;10250:9;10246:24;10228:52;:::i;:::-;9206:1236;;;;-1:-1:-1;9206:1236:150;;10327:3;10312:19;;10299:33;;10379:3;10364:19;;10351:33;;-1:-1:-1;10431:3:150;10416:19;;;10403:33;;-1:-1:-1;9206:1236:150;-1:-1:-1;;;9206:1236:150:o;10447:423::-;10489:3;10527:5;10521:12;10554:6;10549:3;10542:19;10579:1;10589:162;10603:6;10600:1;10597:13;10589:162;;;10665:4;10721:13;;;10717:22;;10711:29;10693:11;;;10689:20;;10682:59;10618:12;10589:162;;;10593:3;10796:1;10789:4;10780:6;10775:3;10771:16;10767:27;10760:38;10859:4;10852:2;10848:7;10843:2;10835:6;10831:15;10827:29;10822:3;10818:39;10814:50;10807:57;;;10447:423;;;;:::o;10875:615::-;10926:3;10964:5;10958:12;10991:6;10986:3;10979:19;11017:4;11058:2;11053:3;11049:12;11083:11;11110;11103:18;;11160:6;11157:1;11153:14;11146:5;11142:26;11130:38;;11202:2;11195:5;11191:14;11223:1;11233:231;11247:6;11244:1;11241:13;11233:231;;;11318:5;11312:4;11308:16;11303:3;11296:29;11346:38;11379:4;11370:6;11364:13;11346:38;:::i;:::-;11442:12;;;;11338:46;-1:-1:-1;11407:15:150;;;;11269:1;11262:9;11233:231;;;-1:-1:-1;11480:4:150;;10875:615;-1:-1:-1;;;;;;;10875:615:150:o;11495:712::-;11824:3;11813:9;11806:22;11787:4;11851:46;11892:3;11881:9;11877:19;11869:6;11851:46;:::i;:::-;11928:2;11913:18;;11906:34;;;-1:-1:-1;;;;;12014:15:150;;;12009:2;11994:18;;11987:43;12066:15;;12061:2;12046:18;;12039:43;12119:22;;;12113:3;12098:19;;12091:51;12159:42;12123:6;12186;12159:42;:::i;:::-;12151:50;11495:712;-1:-1:-1;;;;;;;;11495:712:150:o;12485:127::-;12546:10;12541:3;12537:20;12534:1;12527:31;12577:4;12574:1;12567:15;12601:4;12598:1;12591:15;12617:184;12687:6;12740:2;12728:9;12719:7;12715:23;12711:32;12708:52;;;12756:1;12753;12746:12;12708:52;-1:-1:-1;12779:16:150;;12617:184;-1:-1:-1;12617:184:150:o;12806:127::-;12867:10;12862:3;12858:20;12855:1;12848:31;12898:4;12895:1;12888:15;12922:4;12919:1;12912:15;12938:127;12999:10;12994:3;12990:20;12987:1;12980:31;13030:4;13027:1;13020:15;13054:4;13051:1;13044:15;13070:135;13109:3;13130:17;;;13127:43;;13150:18;;:::i;:::-;-1:-1:-1;13197:1:150;13186:13;;13070:135::o;13210:203::-;-1:-1:-1;;;;;13374:32:150;;;;13356:51;;13344:2;13329:18;;13210:203::o;13418:148::-;13506:4;13485:12;;;13499;;;13481:31;;13524:13;;13521:39;;;13540:18;;:::i;13571:422::-;13660:1;13703:5;13660:1;13717:270;13738:7;13728:8;13725:21;13717:270;;;13797:4;13793:1;13789:6;13785:17;13779:4;13776:27;13773:53;;;13806:18;;:::i;:::-;13856:7;13846:8;13842:22;13839:55;;;13876:16;;;;13839:55;13955:22;;;;13915:15;;;;13717:270;;;13721:3;13571:422;;;;;:::o;13998:806::-;14047:5;14077:8;14067:80;;-1:-1:-1;14118:1:150;14132:5;;14067:80;14166:4;14156:76;;-1:-1:-1;14203:1:150;14217:5;;14156:76;14248:4;14266:1;14261:59;;;;14334:1;14329:130;;;;14241:218;;14261:59;14291:1;14282:10;;14305:5;;;14329:130;14366:3;14356:8;14353:17;14350:43;;;14373:18;;:::i;:::-;-1:-1:-1;;14429:1:150;14415:16;;14444:5;;14241:218;;14543:2;14533:8;14530:16;14524:3;14518:4;14515:13;14511:36;14505:2;14495:8;14492:16;14487:2;14481:4;14478:12;14474:35;14471:77;14468:159;;;-1:-1:-1;14580:19:150;;;14612:5;;14468:159;14659:34;14684:8;14678:4;14659:34;:::i;:::-;14729:6;14725:1;14721:6;14717:19;14708:7;14705:32;14702:58;;;14740:18;;:::i;:::-;14778:20;;13998:806;-1:-1:-1;;;13998:806:150:o;14809:140::-;14867:5;14896:47;14937:4;14927:8;14923:19;14917:4;14896:47;:::i;14954:128::-;15021:9;;;15042:11;;;15039:37;;;15056:18;;:::i;15628:143::-;15712:1;15705:5;15702:12;15692:46;;15718:18;;:::i;:::-;15747;;15628:143::o;15776:286::-;15966:25;;;15954:2;15939:18;;16000:56;16052:2;16037:18;;16029:6;16000:56;:::i;16249:461::-;16302:3;16340:5;16334:12;16367:6;16362:3;16355:19;16393:4;16422:2;16417:3;16413:12;16406:19;;16459:2;16452:5;16448:14;16480:1;16490:195;16504:6;16501:1;16498:13;16490:195;;;16569:13;;-1:-1:-1;;;;;16565:39:150;16553:52;;16625:12;;;;16660:15;;;;16601:1;16519:9;16490:195;;;-1:-1:-1;16701:3:150;;16249:461;-1:-1:-1;;;;;16249:461:150:o;16715:435::-;16768:3;16806:5;16800:12;16833:6;16828:3;16821:19;16859:4;16888:2;16883:3;16879:12;16872:19;;16925:2;16918:5;16914:14;16946:1;16956:169;16970:6;16967:1;16964:13;16956:169;;;17031:13;;17019:26;;17065:12;;;;17100:15;;;;16992:1;16985:9;16956:169;;17155:758;17536:3;17525:9;17518:22;17499:4;17563:57;17615:3;17604:9;17600:19;17592:6;17563:57;:::i;:::-;17668:9;17660:6;17656:22;17651:2;17640:9;17636:18;17629:50;17702:44;17739:6;17731;17702:44;:::i;:::-;17688:58;;17794:9;17786:6;17782:22;17777:2;17766:9;17762:18;17755:50;17822:42;17857:6;17849;17822:42;:::i;:::-;17814:50;;;17900:6;17895:2;17884:9;17880:18;17873:34;17155:758;;;;;;;:::o;17918:215::-;18068:2;18053:18;;18080:47;18057:9;18109:6;18080:47;:::i;18138:125::-;18203:9;;;18224:10;;;18221:36;;;18237:18;;:::i;18592:393::-;18811:25;;;18799:2;18784:18;;18866:2;18855:14;;18845:48;;18873:18;;:::i;:::-;18924:2;18909:18;;18902:34;;;;18967:2;18952:18;18945:34;18592:393;;-1:-1:-1;18592:393:150:o;18990:838::-;19407:3;19396:9;19389:22;19370:4;19434:57;19486:3;19475:9;19471:19;19463:6;19434:57;:::i;:::-;19539:9;19531:6;19527:22;19522:2;19511:9;19507:18;19500:50;19573:44;19610:6;19602;19573:44;:::i;:::-;19559:58;;19665:9;19657:6;19653:22;19648:2;19637:9;19633:18;19626:50;19693:42;19728:6;19720;19693:42;:::i;:::-;19766:2;19751:18;;19744:34;;;;-1:-1:-1;;19809:3:150;19794:19;19787:35;19685:50;18990:838;-1:-1:-1;;;18990:838:150:o;20022:910::-;20467:3;20456:9;20449:22;20430:4;20494:57;20546:3;20535:9;20531:19;20523:6;20494:57;:::i;:::-;20599:9;20591:6;20587:22;20582:2;20571:9;20567:18;20560:50;20633:44;20670:6;20662;20633:44;:::i;:::-;20619:58;;20725:9;20717:6;20713:22;20708:2;20697:9;20693:18;20686:50;20753:42;20788:6;20780;20753:42;:::i;:::-;20826:2;20811:18;;20804:34;;;;-1:-1:-1;;20869:3:150;20854:19;;20847:35;;;;20913:3;20898:19;;;20891:35;20745:50;20022:910;-1:-1:-1;;;20022:910:150:o;20937:168::-;21010:9;;;21041;;21058:15;;;21052:22;;21038:37;21028:71;;21079:18;;:::i;21110:284::-;21179:6;21232:2;21220:9;21211:7;21207:23;21203:32;21200:52;;;21248:1;21245;21238:12;21200:52;21280:9;21274:16;21330:14;21323:5;21319:26;21312:5;21309:37;21299:65;;21360:1;21357;21350:12;21399:245;21466:6;21519:2;21507:9;21498:7;21494:23;21490:32;21487:52;;;21535:1;21532;21525:12;21487:52;21567:9;21561:16;21586:28;21608:5;21586:28;:::i;21649:220::-;21798:2;21787:9;21780:21;21761:4;21818:45;21859:2;21848:9;21844:18;21836:6;21818:45;:::i;22081:127::-;22142:10;22137:3;22133:20;22130:1;22123:31;22173:4;22170:1;22163:15;22197:4;22194:1;22187:15;22213:217;22253:1;22279;22269:132;;22323:10;22318:3;22314:20;22311:1;22304:31;22358:4;22355:1;22348:15;22386:4;22383:1;22376:15;22269:132;-1:-1:-1;22415:9:150;;22213:217::o;22435:266::-;22646:4;22634:17;;;;22616:36;;22683:2;22668:18;;22661:34;22604:2;22589:18;;22435:266::o;23723:182::-;-1:-1:-1;;;;;23830:10:150;;;23842;;;23826:27;;23865:11;;;23862:37;;;23879:18;;:::i;:::-;23862:37;23723:182;;;;:::o;23910:1602::-;24437:3;24426:9;24419:22;24400:4;24464:57;24516:3;24505:9;24501:19;24493:6;24464:57;:::i;:::-;24540:2;24590:9;24582:6;24578:22;24573:2;24562:9;24558:18;24551:50;24624:44;24661:6;24653;24624:44;:::i;:::-;24610:58;;24716:9;24708:6;24704:22;24699:2;24688:9;24684:18;24677:50;24747:6;24782;24776:13;24813:6;24805;24798:22;24848:2;24840:6;24836:15;24829:22;;24907:2;24897:6;24894:1;24890:14;24882:6;24878:27;24874:36;24945:2;24937:6;24933:15;24966:1;24976:252;24990:6;24987:1;24984:13;24976:252;;;25080:2;25076:7;25067:6;25059;25055:19;25051:33;25046:3;25039:46;25108:40;25141:6;25132;25126:13;25108:40;:::i;:::-;25206:12;;;;25098:50;-1:-1:-1;25171:15:150;;;;25012:1;25005:9;24976:252;;;24980:3;;25276:9;25268:6;25264:22;25259:2;25248:9;25244:18;25237:50;25310:42;25345:6;25337;25310:42;:::i;:::-;25296:56;;;;;;25401:9;25393:6;25389:22;25383:3;25372:9;25368:19;25361:51;25429:33;25455:6;25447;25429:33;:::i;:::-;25421:41;;;25499:6;25493:3;25482:9;25478:19;25471:35;23910:1602;;;;;;;;;:::o;26011:407::-;26213:2;26195:21;;;26252:2;26232:18;;;26225:30;26291:34;26286:2;26271:18;;26264:62;-1:-1:-1;;;26357:2:150;26342:18;;26335:41;26408:3;26393:19;;26011:407::o;26695:380::-;26774:1;26770:12;;;;26817;;;26838:61;;26892:4;26884:6;26880:17;26870:27;;26838:61;26945:2;26937:6;26934:14;26914:18;26911:38;26908:161;;26991:10;26986:3;26982:20;26979:1;26972:31;27026:4;27023:1;27016:15;27054:4;27051:1;27044:15;26908:161;;26695:380;;;:::o"},"methodIdentifiers":{"canProposalStartInNextRound()":"81ab2353","cancel(address,bool,address[],uint256[],bytes[],bytes32,string)":"badecd76","execute(address,address[],uint256[],bytes[],bytes32)":"fcadd1f7","getActiveProposals()":"5584c4f9","markAsCompleted(uint256)":"c0a6026c","proposalDeadline(uint256)":"c01f9e37","proposalNeedsQueuing(uint256)":"a9a95294","proposalSnapshot(uint256)":"2d63f693","proposalType(uint256)":"2a09c772","propose(address[],uint256[],bytes[],string,uint256,uint256,uint256)":"eab59fd2","proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)":"013b1088","queue(address,address[],uint256[],bytes[],bytes32)":"01957cc7","resetDevelopmentState(uint256)":"c429bd82"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"selector\",\"type\":\"bytes\"}],\"name\":\"GovernorFunctionInvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldatas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"values\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposalLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"GovernorInvalidProposalType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredWeight\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidStartRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorQueueNotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"GovernorRestrictedFunction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"GovernorRestrictedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"GovernorRestrictedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"PayoutAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"QueueFull\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UnauthorizedAccess\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxBudget\",\"type\":\"uint256\"}],\"name\":\"ProposalBudgetSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"canceler\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"ProposalCanceledWithReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundIdVoteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"ProposalCreatedWithType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalDevelopmentStateReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalInDevelopment\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"etaSeconds\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"canProposalStartInNextRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveProposals\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalNeedsQueuing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This library provides functions to create, cancel, execute, and validate proposals.\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"GovernorFunctionInvalidSelector(bytes)\":[{\"params\":{\"selector\":\"The function selector that is invalid.\"}}],\"GovernorInvalidProposalLength(uint256,uint256,uint256)\":[{\"details\":\"Thrown when there is an empty proposal or a mismatch between parameters length for a proposal call.\"}],\"GovernorInvalidProposalType(uint8)\":[{\"details\":\"Thrown when the proposal type is invalid.\"}],\"GovernorInvalidProposer(address,uint256)\":[{\"details\":\"Thrown when the proposer does not fit the requirement (GM weight ATM)\"}],\"GovernorInvalidStartRound(uint256)\":[{\"details\":\"Thrown when the round for proposal start is invalid.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"Thrown when the `proposalId` does not exist.\",\"params\":{\"proposalId\":\"The ID of the proposal that does not exist.\"}}],\"GovernorQueueNotImplemented()\":[{\"details\":\"Thrown when a queue operation is not implemented.\"}],\"GovernorRestrictedFunction(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector that is restricted.\"}}],\"GovernorRestrictedProposal(uint256,uint8)\":[{\"details\":\"Thrown when a proposal is not allowed to perform a specific action. Some actions are restricted to Standard proposals only, others to Grant proposals only. eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\"}],\"GovernorRestrictedProposer(address)\":[{\"details\":\"Thrown when the proposer is not allowed to create a proposal.\"}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"Thrown when the current state of a proposal is not the expected state for an operation.\"},{\"details\":\"Thrown when the current state of a proposal does not match the expected states.\",\"params\":{\"current\":\"The current state of the proposal.\",\"expectedStates\":\"The expected states of the proposal as a bitmap.\",\"proposalId\":\"The ID of the proposal.\"}}],\"PayoutAlreadyClaimed(uint256)\":[{\"details\":\"Thrown when an attempt is made to reset the development state of a proposal whose V11 community-execution payout has already been claimed. Mirrors the selector declared in {GovernorCommunityExecutionLogic} and {IB3TRGovernor} so callers see a single error type.\"}],\"QueueFull()\":[{\"details\":\"A push operation couldn't be completed due to the queue being full.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"UnauthorizedAccess(address)\":[{\"details\":\"Thrown when a user is not authorized to perform an action.\"}]},\"events\":{\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCanceledWithReason(uint256,address,string)\":{\"details\":\"Emitted when a proposal is canceled with a reason.\"},\"ProposalCompleted(uint256)\":{\"details\":\"Emitted when a proposal is marked as completed.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],string,uint256,uint256)\":{\"details\":\"Emitted when a proposal is created.\"},\"ProposalCreatedWithType(uint256,uint8)\":{\"details\":\"Emitted when a proposal is created with type information.\"},\"ProposalDeposit(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is made to a proposal.\"},\"ProposalDevelopmentStateReset(uint256)\":{\"details\":\"Emitted when the development state of a proposal is reset back to pending development.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"ProposalInDevelopment(uint256)\":{\"details\":\"Emitted when a proposal is marked as in development.\"},\"ProposalQueued(uint256,uint256)\":{\"details\":\"Emitted when a proposal is queued.\"}},\"kind\":\"dev\",\"methods\":{\"canProposalStartInNextRound()\":{\"returns\":{\"_0\":\"True if the proposal can start in the next round, false otherwise.\"}},\"cancel(address,bool,address[],uint256[],bytes[],bytes32,string)\":{\"details\":\"Cancels a proposal in any state other than Canceled or Executed.\",\"params\":{\"account\":\"The account canceling the proposal.\",\"admin\":\"Whether the account has admin role.\",\"calldatas\":\"The function signatures and arguments.\",\"descriptionHash\":\"The hash of the proposal description.\",\"reason\":\"The reason for canceling the proposal.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"execute(address,address[],uint256[],bytes[],bytes32)\":{\"details\":\"Executes the proposal in the timelock.\",\"params\":{\"calldatas\":\"The function signatures and arguments.\",\"contractAddress\":\"The address of the calling contract.\",\"descriptionHash\":\"The hash of the proposal description.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"getActiveProposals()\":{\"details\":\"Iterates proposals registered for the current round and filters by Active state.      Bounded by proposals-per-round (0-3 in practice).\"},\"markAsCompleted(uint256)\":{\"details\":\"This should be only callable by authorized wallet that has the PROPOSAL_STATE_MANAGER_ROLE role - Only Standard proposals are allowed here. - Can only mark as completed if proposal is in development - The proposal development state is set to Completed - The event ProposalCompleted is emitted\",\"params\":{\"proposalId\":\"The id of the proposal.\"}},\"proposalDeadline(uint256)\":{\"details\":\"Determines the block number at which the proposal will be considered expired.\",\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"The deadline block number.\"}},\"proposalNeedsQueuing(uint256)\":{\"details\":\"Function to know if a proposal is executable or not. If the proposal was creted without any targets, values, or calldatas, it is not executable. to check if the proposal is executable.\",\"params\":{\"proposalId\":\"The id of the proposal\"}},\"proposalSnapshot(uint256)\":{\"details\":\"Determines the block number at which the proposal was snapshot.\",\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"The snapshot block number.\"}},\"proposalType(uint256)\":{\"params\":{\"proposalId\":\"The id of the proposal.\"},\"returns\":{\"_0\":\"The proposal type.\"}},\"propose(address[],uint256[],bytes[],string,uint256,uint256,uint256)\":{\"details\":\"V11 unified entrypoint. `maxBudget == 0` means \\\"no payout flow\\\"; `maxBudget > 0` is the hard cap      that will later be paid out to registered developer payees via {markAsInDevelopment}.\",\"params\":{\"calldatas\":\"The function signatures and arguments.\",\"depositAmount\":\"The amount of tokens the proposer intends to deposit.\",\"description\":\"The description of the proposal.\",\"maxBudget\":\"Maximum implementation budget in B3TR wei. Set to 0 for proposals without a payout flow.\",\"startRoundId\":\"The round in which the proposal should be active.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"details\":\"Creates a new proposal and validates the proposal parameters.\",\"params\":{\"calldatas\":\"The function signatures and arguments.\",\"depositAmount\":\"The amount of tokens the proposer intends to deposit.\",\"description\":\"The description of the proposal.\",\"grantsReceiver\":\"The address of the grants receiver\",\"milestonesDetailsMetadataURI\":\"The IPFS hash containing the milestones ipfs hash\",\"startRoundId\":\"The round in which the proposal should be active.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"queue(address,address[],uint256[],bytes[],bytes32)\":{\"details\":\"Queues the proposal in the timelock.\",\"params\":{\"calldatas\":\"The function signatures and arguments.\",\"contractAddress\":\"The address of the calling contract.\",\"descriptionHash\":\"The hash of the proposal description.\",\"targets\":\"The addresses of the contracts to call.\",\"values\":\"The values to send to the contracts.\"},\"returns\":{\"_0\":\"The proposal id.\"}},\"resetDevelopmentState(uint256)\":{\"details\":\"This should reset the enum state back to the original one, since pending development is not tracked in {GovernorStateLogic._state} condition. V11: also wipes the community-execution metadata (single payee, description, implementation-discussion link, contributors, finalized flag) so that a follow-up {markAsInDevelopment} call can register a fresh payee. The immutable `proposalMaxBudget` set at proposal-creation time is intentionally preserved. Reverts with {PayoutAlreadyClaimed} if the Treasury transfer has already executed \\u2014 a paid proposal must never be silently un-marked.\",\"params\":{\"proposalId\":\"The id of the proposal\"}}},\"title\":\"GovernorProposalLogic\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorFunctionInvalidSelector(bytes)\":[{\"notice\":\"Error message for when a function selector is invalid.\"}],\"GovernorRestrictedFunction(bytes4)\":[{\"notice\":\"Error message for when a function is restricted by the governor.\"}]},\"events\":{\"ProposalBudgetSet(uint256,uint256)\":{\"notice\":\"Emitted when an implementation-cost budget is recorded for a proposal.\"}},\"kind\":\"user\",\"methods\":{\"canProposalStartInNextRound()\":{\"notice\":\"Returns whether a proposal can start in the next round.\"},\"cancel(address,bool,address[],uint256[],bytes[],bytes32,string)\":{\"notice\":\"Cancels a proposal.\"},\"execute(address,address[],uint256[],bytes[],bytes32)\":{\"notice\":\"Executes a queued proposal.\"},\"getActiveProposals()\":{\"notice\":\"Returns proposal IDs that are currently active.\"},\"markAsCompleted(uint256)\":{\"notice\":\"Mark a proposal as completed\"},\"proposalDeadline(uint256)\":{\"notice\":\"Returns the deadline block of a proposal.\"},\"proposalSnapshot(uint256)\":{\"notice\":\"Returns the snapshot block of a proposal.\"},\"proposalType(uint256)\":{\"notice\":\"Returns the proposal type of a proposal.\"},\"propose(address[],uint256[],bytes[],string,uint256,uint256,uint256)\":{\"notice\":\"Proposes a new Standard governance action with an optional Community-Execution max budget.\"},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"notice\":\"Proposes a new grant proposal.\"},\"queue(address,address[],uint256[],bytes[],bytes32)\":{\"notice\":\"Queues a proposal for execution.\"},\"resetDevelopmentState(uint256)\":{\"notice\":\"Reset the development state of a proposal back to pending development\"}},\"notice\":\"Library for managing proposals in the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorProposalLogic.sol\":\"GovernorProposalLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorQuorumLogic.sol":{"GovernorQuorumLogic":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"QuorumNumeratorUpdatedByType","type":"event"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isQuorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint8","name":"proposalTypeValue","type":"uint8"}],"name":"quorumByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"proposalTypeValue","type":"uint8"}],"name":"quorumNumeratorByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint8","name":"proposalTypeValue","type":"uint8"}],"name":"quorumNumeratorByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":1346},{"length":20,"start":3447},{"length":20,"start":3570}]}},"object":"61129e61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061008d5760003560e01c8063026865cc1461009257806306f3f9e6146100b85780630eddee30146100da5780635273e74b146100ed57806360c4247f146101005780639079991f14610113578063a7713a7014610136578063cd2c155c1461013e578063f8ce560a1461015e575b600080fd5b6100a56100a03660046110a2565b610171565b6040519081526020015b60405180910390f35b8180156100c457600080fd5b506100d86100d33660046110ce565b610217565b005b6100a56100e83660046110e7565b610225565b6100a56100fb3660046110a2565b610295565b6100a561010e3660046110ce565b6102bc565b6101266101213660046110ce565b6103a7565b60405190151581526020016100af565b6100a56103b2565b81801561014a57600080fd5b506100d8610159366004611102565b6103df565b6100a561016c3660046110ce565b6103ed565b60008061017c610488565b9050606461018a8585610295565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156101d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f99190611136565b6102039190611165565b61020d9190611192565b9150505b92915050565b6102228160006104ac565b50565b600080610230610488565b90506102858160180160008560ff166001811115610250576102506111b4565b6001811115610261576102616111b4565b6001811115610272576102726111b4565b815260200190815260200160002061063f565b6001600160d01b03169392505050565b60006102b5838360ff1660018111156102b0576102b06111b4565b610686565b9392505050565b6000806102c7610488565b60008080526018820160205260408120805492935090919082906102ec6001846111ca565b815481106102fc576102fc6111dd565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610341576001600160d01b0316979650505050505050565b61039261034d89610790565b876018016000886001811115610365576103656111b4565b6001811115610376576103766111b4565b81526020019081526020016000206107c790919063ffffffff16565b6001600160d01b031698975050505050505050565b60006102118261086f565b6000806103bd610488565b905060006103cf601883018280610261565b6001600160d01b03169250505090565b6103e982826104ac565b5050565b6000806103f8610488565b90506064610405846102bc565b600c830154604051632394e7a360e21b8152600481018790526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104749190611136565b61047e9190611165565b6102b59190611192565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006104b6610488565b9050606460006104d18460018111156100e8576100e86111b4565b9050818511156105035760405163243e544560e01b815260048101869052602481018390526044015b60405180910390fd5b6105c273__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561054f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057391906111f3565b61057c876108c8565b856018016000886001811115610594576105946111b4565b60018111156105a5576105a56111b4565b81526020019081526020016000206108fc9092919063ffffffff16565b505060408051828152602081018790527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a17fa887ac6363633c0ce6f205a5a5e196934dd309db93895e5751862be24465171d8186866040516106309392919061121b565b60405180910390a15050505050565b8054600090801561067d57610667836106596001846111ca565b600091825260209091200190565b54600160301b90046001600160d01b03166102b5565b60009392505050565b600080610691610488565b905060008160180160008560018111156106ad576106ad6111b4565b60018111156106be576106be6111b4565b81526020810191909152604001600090812054915060188301818660018111156106ea576106ea6111b4565b60018111156106fb576106fb6111b4565b815260208101919091526040016000206107166001846111ca565b81548110610726576107266111dd565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031687821161076c576001600160d01b031694506102119350505050565b61039261077889610790565b8660180160008a6001811115610365576103656111b4565b600065ffffffffffff8211156107c3576040516306dfcc6560e41b815260306004820152602481018390526044016104fa565b5090565b8154600090818160058111156108265760006107e284610917565b6107ec90856111ca565b60008881526020902090915081015465ffffffffffff908116908716101561081657809150610824565b610821816001611255565b92505b505b6000610834878785856109ff565b905080156108615761084b876106596001846111ca565b54600160301b90046001600160d01b0316610864565b60005b979650505050505050565b60008061087a610488565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906108be6108ac86610a61565b8360018111156100a0576100a06111b4565b1115949350505050565b60006001600160d01b038211156107c3576040516306dfcc6560e41b815260d06004820152602481018390526044016104fa565b60008061090a858585610e4d565b915091505b935093915050565b60008160000361092957506000919050565b6000600161093684610fc7565b901c6001901b9050600181848161094f5761094f61117c565b048201901c905060018184816109675761096761117c565b048201901c9050600181848161097f5761097f61117c565b048201901c905060018184816109975761099761117c565b048201901c905060018184816109af576109af61117c565b048201901c905060018184816109c7576109c761117c565b048201901c905060018184816109df576109df61117c565b048201901c90506102b5818285816109f9576109f961117c565b0461105b565b60005b81831015610a59576000610a168484611071565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610a4557809250610a53565b610a50816001611255565b93505b50610a02565b509392505050565b600080610a6c610488565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b009190611136565b10610b9c576000610b0f610488565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401602060405180830381865afa158015610b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b949190611136565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c9190611136565b6000858152600180850160205260409091200154610c2a91906111ca565b90506000610c396001836111ca565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb29190611136565b610cbc9190611165565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d399190611136565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610d84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da891906111f3565b65ffffffffffff168111610e2e5773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2391906111f3565b65ffffffffffff1690505b82610e398383611255565b610e439190611255565b9695505050505050565b825460009081908015610f6c576000610e6b876106596001856111ca565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610ebf57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610f0b5784610ee2886106596001866111ca565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055610f5c565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b60200151925083915061090f9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b02919093161792019190915590508161090f565b600080608083901c15610fdc57608092831c92015b604083901c15610fee57604092831c92015b602083901c1561100057602092831c92015b601083901c1561101257601092831c92015b600883901c1561102457600892831c92015b600483901c1561103657600492831c92015b600283901c1561104857600292831c92015b600183901c156102115760010192915050565b600081831061106a57816102b5565b5090919050565b60006110806002848418611192565b6102b590848416611255565b803560ff8116811461109d57600080fd5b919050565b600080604083850312156110b557600080fd5b823591506110c56020840161108c565b90509250929050565b6000602082840312156110e057600080fd5b5035919050565b6000602082840312156110f957600080fd5b6102b58261108c565b6000806040838503121561111557600080fd5b8235915060208301356002811061112b57600080fd5b809150509250929050565b60006020828403121561114857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176102115761021161114f565b634e487b7160e01b600052601260045260246000fd5b6000826111af57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fd5b818103818111156102115761021161114f565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120557600080fd5b815165ffffffffffff811681146102b557600080fd5b83815260208101839052606081016002831061124757634e487b7160e01b600052602160045260246000fd5b826040830152949350505050565b808201808211156102115761021161114f56fea264697066735822122018738c5bee09e5e6595f4298ddc29fa9d41104f68aa80184b6a5441ee3d2031864736f6c63430008140033","opcodes":"PUSH2 0x129E PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x8D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26865CC EQ PUSH2 0x92 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xEDDEE30 EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x5273E74B EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x9079991F EQ PUSH2 0x113 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0xCD2C155C EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5 PUSH2 0xA0 CALLDATASIZE PUSH1 0x4 PUSH2 0x10A2 JUMP JUMPDEST PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD8 PUSH2 0xD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x217 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA5 PUSH2 0xE8 CALLDATASIZE PUSH1 0x4 PUSH2 0x10E7 JUMP JUMPDEST PUSH2 0x225 JUMP JUMPDEST PUSH2 0xA5 PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0x10A2 JUMP JUMPDEST PUSH2 0x295 JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x2BC JUMP JUMPDEST PUSH2 0x126 PUSH2 0x121 CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xAF JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x3B2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x14A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD8 PUSH2 0x159 CALLDATASIZE PUSH1 0x4 PUSH2 0x1102 JUMP JUMPDEST PUSH2 0x3DF JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x16C CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x3ED JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x17C PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x18A DUP6 DUP6 PUSH2 0x295 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x203 SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST PUSH2 0x20D SWAP2 SWAP1 PUSH2 0x1192 JUMP JUMPDEST SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x222 DUP2 PUSH1 0x0 PUSH2 0x4AC JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x230 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH2 0x285 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x250 JUMPI PUSH2 0x250 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x261 JUMPI PUSH2 0x261 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x272 JUMPI PUSH2 0x272 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x63F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B0 JUMPI PUSH2 0x2B0 PUSH2 0x11B4 JUMP JUMPDEST PUSH2 0x686 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C7 PUSH2 0x488 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 MSTORE PUSH1 0x18 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 SWAP1 DUP3 SWAP1 PUSH2 0x2EC PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2FC JUMPI PUSH2 0x2FC PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x341 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x392 PUSH2 0x34D DUP10 PUSH2 0x790 JUMP JUMPDEST DUP8 PUSH1 0x18 ADD PUSH1 0x0 DUP9 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x365 JUMPI PUSH2 0x365 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x376 JUMPI PUSH2 0x376 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x7C7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211 DUP3 PUSH2 0x86F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BD PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3CF PUSH1 0x18 DUP4 ADD DUP3 DUP1 PUSH2 0x261 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x3E9 DUP3 DUP3 PUSH2 0x4AC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F8 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x405 DUP5 PUSH2 0x2BC JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x450 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x474 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x47E SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST PUSH2 0x2B5 SWAP2 SWAP1 PUSH2 0x1192 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B6 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH1 0x0 PUSH2 0x4D1 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xE8 JUMPI PUSH2 0xE8 PUSH2 0x11B4 JUMP JUMPDEST SWAP1 POP DUP2 DUP6 GT ISZERO PUSH2 0x503 JUMPI PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5C2 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x54F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x573 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH2 0x57C DUP8 PUSH2 0x8C8 JUMP JUMPDEST DUP6 PUSH1 0x18 ADD PUSH1 0x0 DUP9 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x594 JUMPI PUSH2 0x594 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x5A5 JUMPI PUSH2 0x5A5 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x8FC SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP8 SWAP1 MSTORE PUSH32 0x553476BF02EF2726E8CE5CED78D63E26E602E4A2257B1F559418E24B4633997 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0xA887AC6363633C0CE6F205A5A5E196934DD309DB93895E5751862BE24465171D DUP2 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x630 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x121B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x67D JUMPI PUSH2 0x667 DUP4 PUSH2 0x659 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x691 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6AD JUMPI PUSH2 0x6AD PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6BE JUMPI PUSH2 0x6BE PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6EA JUMPI PUSH2 0x6EA PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6FB JUMPI PUSH2 0x6FB PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x716 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x726 JUMPI PUSH2 0x726 PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x76C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x211 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x392 PUSH2 0x778 DUP10 PUSH2 0x790 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x365 JUMPI PUSH2 0x365 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x826 JUMPI PUSH1 0x0 PUSH2 0x7E2 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH2 0x7EC SWAP1 DUP6 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x816 JUMPI DUP1 SWAP2 POP PUSH2 0x824 JUMP JUMPDEST PUSH2 0x821 DUP2 PUSH1 0x1 PUSH2 0x1255 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x834 DUP8 DUP8 DUP6 DUP6 PUSH2 0x9FF JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x861 JUMPI PUSH2 0x84B DUP8 PUSH2 0x659 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x864 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x87A PUSH2 0x488 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x8BE PUSH2 0x8AC DUP7 PUSH2 0xA61 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA0 JUMPI PUSH2 0xA0 PUSH2 0x11B4 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A DUP6 DUP6 DUP6 PUSH2 0xE4D JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x929 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x936 DUP5 PUSH2 0xFC7 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x94F JUMPI PUSH2 0x94F PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x967 JUMPI PUSH2 0x967 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x97F JUMPI PUSH2 0x97F PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x997 JUMPI PUSH2 0x997 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9AF JUMPI PUSH2 0x9AF PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9C7 JUMPI PUSH2 0x9C7 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9DF JUMPI PUSH2 0x9DF PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x2B5 DUP2 DUP3 DUP6 DUP2 PUSH2 0x9F9 JUMPI PUSH2 0x9F9 PUSH2 0x117C JUMP JUMPDEST DIV PUSH2 0x105B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xA59 JUMPI PUSH1 0x0 PUSH2 0xA16 DUP5 DUP5 PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xA45 JUMPI DUP1 SWAP3 POP PUSH2 0xA53 JUMP JUMPDEST PUSH2 0xA50 DUP2 PUSH1 0x1 PUSH2 0x1255 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xA02 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA6C PUSH2 0x488 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xADC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB00 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST LT PUSH2 0xB9C JUMPI PUSH1 0x0 PUSH2 0xB0F PUSH2 0x488 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB70 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB94 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBE8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC0C SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0xC2A SWAP2 SWAP1 PUSH2 0x11CA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC39 PUSH1 0x1 DUP4 PUSH2 0x11CA JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC8E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCB2 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0xCBC SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD15 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD39 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD84 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDA8 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0xE2E JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE23 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0xE39 DUP4 DUP4 PUSH2 0x1255 JUMP JUMPDEST PUSH2 0xE43 SWAP2 SWAP1 PUSH2 0x1255 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0xF6C JUMPI PUSH1 0x0 PUSH2 0xE6B DUP8 PUSH2 0x659 PUSH1 0x1 DUP6 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xEBF JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xF0B JUMPI DUP5 PUSH2 0xEE2 DUP9 PUSH2 0x659 PUSH1 0x1 DUP7 PUSH2 0x11CA JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0xF5C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x90F SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x90F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xFDC JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xFEE JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1000 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1012 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1024 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1036 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1048 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x211 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x106A JUMPI DUP2 PUSH2 0x2B5 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1192 JUMP JUMPDEST PUSH2 0x2B5 SWAP1 DUP5 DUP5 AND PUSH2 0x1255 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x109D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x10B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x10C5 PUSH1 0x20 DUP5 ADD PUSH2 0x108C JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B5 DUP3 PUSH2 0x108C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1115 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0x112B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x11AF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x2B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x1247 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR PUSH20 0x8C5BEE09E5E6595F4298DDC29FA9D41104F68AA8 ADD DUP5 0xB6 0xA5 PREVRANDAO 0x1E 0xE3 0xD2 SUB XOR PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1797:9463:105:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1797:9463:105;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_insert_9806":{"entryPoint":3661,"id":9806,"parameterSlots":3,"returnSlots":2},"@_proposalSnapshot_60010":{"entryPoint":2657,"id":60010,"parameterSlots":1,"returnSlots":1},"@_quorumNumeratorByProposalType_60689":{"entryPoint":1670,"id":60689,"parameterSlots":2,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_updateQuorumNumeratorByType_60758":{"entryPoint":1196,"id":60758,"parameterSlots":2,"returnSlots":0},"@_upperBinaryLookup_9858":{"entryPoint":2559,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":4209,"id":6189,"parameterSlots":2,"returnSlots":1},"@getGovernorStorage_61139":{"entryPoint":1160,"id":61139,"parameterSlots":0,"returnSlots":1},"@isQuorumReached_60476":{"entryPoint":935,"id":60476,"parameterSlots":1,"returnSlots":1},"@latest_9634":{"entryPoint":1599,"id":9634,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":4039,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":4187,"id":6166,"parameterSlots":2,"returnSlots":1},"@push_9437":{"entryPoint":2300,"id":9437,"parameterSlots":3,"returnSlots":2},"@quorumByProposalType_60543":{"entryPoint":369,"id":60543,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_60305":{"entryPoint":null,"id":60305,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_60403":{"entryPoint":661,"id":60403,"parameterSlots":2,"returnSlots":1},"@quorumNumeratorByProposalType_60463":{"entryPoint":549,"id":60463,"parameterSlots":1,"returnSlots":1},"@quorumNumerator_60384":{"entryPoint":700,"id":60384,"parameterSlots":1,"returnSlots":1},"@quorumNumerator_60435":{"entryPoint":946,"id":60435,"parameterSlots":0,"returnSlots":1},"@quorumReached_60616":{"entryPoint":2159,"id":60616,"parameterSlots":1,"returnSlots":1},"@quorum_60508":{"entryPoint":1005,"id":60508,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":2327,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":2248,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":1936,"id":7770,"parameterSlots":1,"returnSlots":1},"@updateQuorumNumeratorByType_60572":{"entryPoint":991,"id":60572,"parameterSlots":2,"returnSlots":0},"@updateQuorumNumerator_60557":{"entryPoint":535,"id":60557,"parameterSlots":1,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":1991,"id":9604,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":4302,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":4406,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_enum$_ProposalType_$61431":{"entryPoint":4354,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint8":{"entryPoint":4258,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":4595,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8":{"entryPoint":4327,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint8":{"entryPoint":4236,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":4635,"id":null,"parameterSlots":4,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":4693,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4498,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":4453,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4554,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":4431,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":4476,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":4532,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":4573,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4671:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"61:109:150","statements":[{"nodeType":"YulAssignment","src":"71:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"93:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"80:12:150"},"nodeType":"YulFunctionCall","src":"80:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"71:5:150"}]},{"body":{"nodeType":"YulBlock","src":"148:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"157:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"160:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"150:6:150"},"nodeType":"YulFunctionCall","src":"150:12:150"},"nodeType":"YulExpressionStatement","src":"150:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"122:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"133:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"140:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"129:3:150"},"nodeType":"YulFunctionCall","src":"129:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"119:2:150"},"nodeType":"YulFunctionCall","src":"119:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"112:6:150"},"nodeType":"YulFunctionCall","src":"112:35:150"},"nodeType":"YulIf","src":"109:55:150"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"40:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"51:5:150","type":""}],"src":"14:156:150"},{"body":{"nodeType":"YulBlock","src":"260:165:150","statements":[{"body":{"nodeType":"YulBlock","src":"306:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"315:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"318:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"308:6:150"},"nodeType":"YulFunctionCall","src":"308:12:150"},"nodeType":"YulExpressionStatement","src":"308:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"281:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"290:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"277:3:150"},"nodeType":"YulFunctionCall","src":"277:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"302:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"273:3:150"},"nodeType":"YulFunctionCall","src":"273:32:150"},"nodeType":"YulIf","src":"270:52:150"},{"nodeType":"YulAssignment","src":"331:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"354:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"341:12:150"},"nodeType":"YulFunctionCall","src":"341:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"331:6:150"}]},{"nodeType":"YulAssignment","src":"373:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"404:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"415:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"400:3:150"},"nodeType":"YulFunctionCall","src":"400:18:150"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"383:16:150"},"nodeType":"YulFunctionCall","src":"383:36:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"373:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"218:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"229:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"241:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"249:6:150","type":""}],"src":"175:250:150"},{"body":{"nodeType":"YulBlock","src":"539:76:150","statements":[{"nodeType":"YulAssignment","src":"549:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"561:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"572:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"557:3:150"},"nodeType":"YulFunctionCall","src":"557:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"549:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"591:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"602:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"584:6:150"},"nodeType":"YulFunctionCall","src":"584:25:150"},"nodeType":"YulExpressionStatement","src":"584:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"508:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"519:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"530:4:150","type":""}],"src":"430:185:150"},{"body":{"nodeType":"YulBlock","src":"690:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"736:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"745:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"748:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"738:6:150"},"nodeType":"YulFunctionCall","src":"738:12:150"},"nodeType":"YulExpressionStatement","src":"738:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"711:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"720:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"707:3:150"},"nodeType":"YulFunctionCall","src":"707:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"732:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"703:3:150"},"nodeType":"YulFunctionCall","src":"703:32:150"},"nodeType":"YulIf","src":"700:52:150"},{"nodeType":"YulAssignment","src":"761:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"784:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"771:12:150"},"nodeType":"YulFunctionCall","src":"771:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"761:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"656:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"667:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"679:6:150","type":""}],"src":"620:180:150"},{"body":{"nodeType":"YulBlock","src":"873:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"919:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"928:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"931:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"921:6:150"},"nodeType":"YulFunctionCall","src":"921:12:150"},"nodeType":"YulExpressionStatement","src":"921:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"894:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"903:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"890:3:150"},"nodeType":"YulFunctionCall","src":"890:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"915:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"886:3:150"},"nodeType":"YulFunctionCall","src":"886:32:150"},"nodeType":"YulIf","src":"883:52:150"},{"nodeType":"YulAssignment","src":"944:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"971:9:150"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"954:16:150"},"nodeType":"YulFunctionCall","src":"954:27:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"944:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"839:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"850:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"862:6:150","type":""}],"src":"805:182:150"},{"body":{"nodeType":"YulBlock","src":"1095:92:150","statements":[{"nodeType":"YulAssignment","src":"1105:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1117:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1128:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1113:3:150"},"nodeType":"YulFunctionCall","src":"1113:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1105:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1147:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1172:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1165:6:150"},"nodeType":"YulFunctionCall","src":"1165:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1158:6:150"},"nodeType":"YulFunctionCall","src":"1158:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1140:6:150"},"nodeType":"YulFunctionCall","src":"1140:41:150"},"nodeType":"YulExpressionStatement","src":"1140:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1064:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1075:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1086:4:150","type":""}],"src":"992:195:150"},{"body":{"nodeType":"YulBlock","src":"1297:237:150","statements":[{"body":{"nodeType":"YulBlock","src":"1343:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1352:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1355:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1345:6:150"},"nodeType":"YulFunctionCall","src":"1345:12:150"},"nodeType":"YulExpressionStatement","src":"1345:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1318:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1327:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1314:3:150"},"nodeType":"YulFunctionCall","src":"1314:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1339:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1310:3:150"},"nodeType":"YulFunctionCall","src":"1310:32:150"},"nodeType":"YulIf","src":"1307:52:150"},{"nodeType":"YulAssignment","src":"1368:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1391:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1378:12:150"},"nodeType":"YulFunctionCall","src":"1378:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1368:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1410:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1440:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1451:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1436:3:150"},"nodeType":"YulFunctionCall","src":"1436:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1423:12:150"},"nodeType":"YulFunctionCall","src":"1423:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1414:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1488:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1497:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1500:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1490:6:150"},"nodeType":"YulFunctionCall","src":"1490:12:150"},"nodeType":"YulExpressionStatement","src":"1490:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1477:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1484:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1474:2:150"},"nodeType":"YulFunctionCall","src":"1474:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1467:6:150"},"nodeType":"YulFunctionCall","src":"1467:20:150"},"nodeType":"YulIf","src":"1464:40:150"},{"nodeType":"YulAssignment","src":"1513:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1523:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1513:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_enum$_ProposalType_$61431","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1255:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1266:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1278:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1286:6:150","type":""}],"src":"1192:342:150"},{"body":{"nodeType":"YulBlock","src":"1640:76:150","statements":[{"nodeType":"YulAssignment","src":"1650:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1662:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1673:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1658:3:150"},"nodeType":"YulFunctionCall","src":"1658:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1650:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1692:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1703:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1685:6:150"},"nodeType":"YulFunctionCall","src":"1685:25:150"},"nodeType":"YulExpressionStatement","src":"1685:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1609:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1620:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1631:4:150","type":""}],"src":"1539:177:150"},{"body":{"nodeType":"YulBlock","src":"1802:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"1848:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1857:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1860:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1850:6:150"},"nodeType":"YulFunctionCall","src":"1850:12:150"},"nodeType":"YulExpressionStatement","src":"1850:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1823:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1832:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1819:3:150"},"nodeType":"YulFunctionCall","src":"1819:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1844:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1815:3:150"},"nodeType":"YulFunctionCall","src":"1815:32:150"},"nodeType":"YulIf","src":"1812:52:150"},{"nodeType":"YulAssignment","src":"1873:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1889:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1883:5:150"},"nodeType":"YulFunctionCall","src":"1883:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1873:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1768:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1779:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1791:6:150","type":""}],"src":"1721:184:150"},{"body":{"nodeType":"YulBlock","src":"1942:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1959:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1966:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1971:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1962:3:150"},"nodeType":"YulFunctionCall","src":"1962:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1952:6:150"},"nodeType":"YulFunctionCall","src":"1952:31:150"},"nodeType":"YulExpressionStatement","src":"1952:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1999:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2002:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1992:6:150"},"nodeType":"YulFunctionCall","src":"1992:15:150"},"nodeType":"YulExpressionStatement","src":"1992:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2023:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2026:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2016:6:150"},"nodeType":"YulFunctionCall","src":"2016:15:150"},"nodeType":"YulExpressionStatement","src":"2016:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"1910:127:150"},{"body":{"nodeType":"YulBlock","src":"2094:116:150","statements":[{"nodeType":"YulAssignment","src":"2104:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2119:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2122:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2115:3:150"},"nodeType":"YulFunctionCall","src":"2115:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"2104:7:150"}]},{"body":{"nodeType":"YulBlock","src":"2182:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2184:16:150"},"nodeType":"YulFunctionCall","src":"2184:18:150"},"nodeType":"YulExpressionStatement","src":"2184:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2153:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2146:6:150"},"nodeType":"YulFunctionCall","src":"2146:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2160:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"2167:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"2176:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2163:3:150"},"nodeType":"YulFunctionCall","src":"2163:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2157:2:150"},"nodeType":"YulFunctionCall","src":"2157:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2143:2:150"},"nodeType":"YulFunctionCall","src":"2143:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2136:6:150"},"nodeType":"YulFunctionCall","src":"2136:45:150"},"nodeType":"YulIf","src":"2133:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2073:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2076:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"2082:7:150","type":""}],"src":"2042:168:150"},{"body":{"nodeType":"YulBlock","src":"2247:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2264:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2271:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2276:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2267:3:150"},"nodeType":"YulFunctionCall","src":"2267:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2257:6:150"},"nodeType":"YulFunctionCall","src":"2257:31:150"},"nodeType":"YulExpressionStatement","src":"2257:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2304:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2307:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2297:6:150"},"nodeType":"YulFunctionCall","src":"2297:15:150"},"nodeType":"YulExpressionStatement","src":"2297:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2328:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2331:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2321:6:150"},"nodeType":"YulFunctionCall","src":"2321:15:150"},"nodeType":"YulExpressionStatement","src":"2321:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"2215:127:150"},{"body":{"nodeType":"YulBlock","src":"2393:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"2424:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2445:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2452:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2457:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2448:3:150"},"nodeType":"YulFunctionCall","src":"2448:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2438:6:150"},"nodeType":"YulFunctionCall","src":"2438:31:150"},"nodeType":"YulExpressionStatement","src":"2438:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2489:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2492:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2482:6:150"},"nodeType":"YulFunctionCall","src":"2482:15:150"},"nodeType":"YulExpressionStatement","src":"2482:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2517:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2520:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2510:6:150"},"nodeType":"YulFunctionCall","src":"2510:15:150"},"nodeType":"YulExpressionStatement","src":"2510:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2413:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2406:6:150"},"nodeType":"YulFunctionCall","src":"2406:9:150"},"nodeType":"YulIf","src":"2403:132:150"},{"nodeType":"YulAssignment","src":"2544:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2553:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2556:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2549:3:150"},"nodeType":"YulFunctionCall","src":"2549:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2544:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2378:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2381:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"2387:1:150","type":""}],"src":"2347:217:150"},{"body":{"nodeType":"YulBlock","src":"2601:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2618:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2625:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2630:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2621:3:150"},"nodeType":"YulFunctionCall","src":"2621:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2611:6:150"},"nodeType":"YulFunctionCall","src":"2611:31:150"},"nodeType":"YulExpressionStatement","src":"2611:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2658:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2661:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2651:6:150"},"nodeType":"YulFunctionCall","src":"2651:15:150"},"nodeType":"YulExpressionStatement","src":"2651:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2682:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2685:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2675:6:150"},"nodeType":"YulFunctionCall","src":"2675:15:150"},"nodeType":"YulExpressionStatement","src":"2675:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"2569:127:150"},{"body":{"nodeType":"YulBlock","src":"2750:79:150","statements":[{"nodeType":"YulAssignment","src":"2760:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2772:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2775:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2768:3:150"},"nodeType":"YulFunctionCall","src":"2768:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"2760:4:150"}]},{"body":{"nodeType":"YulBlock","src":"2801:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2803:16:150"},"nodeType":"YulFunctionCall","src":"2803:18:150"},"nodeType":"YulExpressionStatement","src":"2803:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"2792:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"2798:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2789:2:150"},"nodeType":"YulFunctionCall","src":"2789:11:150"},"nodeType":"YulIf","src":"2786:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2732:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2735:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"2741:4:150","type":""}],"src":"2701:128:150"},{"body":{"nodeType":"YulBlock","src":"2866:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2883:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2890:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2895:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2886:3:150"},"nodeType":"YulFunctionCall","src":"2886:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2876:6:150"},"nodeType":"YulFunctionCall","src":"2876:31:150"},"nodeType":"YulExpressionStatement","src":"2876:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2923:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2926:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2916:6:150"},"nodeType":"YulFunctionCall","src":"2916:15:150"},"nodeType":"YulExpressionStatement","src":"2916:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2947:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2950:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2940:6:150"},"nodeType":"YulFunctionCall","src":"2940:15:150"},"nodeType":"YulExpressionStatement","src":"2940:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"2834:127:150"},{"body":{"nodeType":"YulBlock","src":"3095:119:150","statements":[{"nodeType":"YulAssignment","src":"3105:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3117:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3128:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3113:3:150"},"nodeType":"YulFunctionCall","src":"3113:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3105:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3147:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3158:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3140:6:150"},"nodeType":"YulFunctionCall","src":"3140:25:150"},"nodeType":"YulExpressionStatement","src":"3140:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3185:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3196:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3181:3:150"},"nodeType":"YulFunctionCall","src":"3181:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"3201:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3174:6:150"},"nodeType":"YulFunctionCall","src":"3174:34:150"},"nodeType":"YulExpressionStatement","src":"3174:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3056:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3067:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3075:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3086:4:150","type":""}],"src":"2966:248:150"},{"body":{"nodeType":"YulBlock","src":"3299:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"3345:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3354:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3357:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3347:6:150"},"nodeType":"YulFunctionCall","src":"3347:12:150"},"nodeType":"YulExpressionStatement","src":"3347:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3320:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3329:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3316:3:150"},"nodeType":"YulFunctionCall","src":"3316:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3341:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3312:3:150"},"nodeType":"YulFunctionCall","src":"3312:32:150"},"nodeType":"YulIf","src":"3309:52:150"},{"nodeType":"YulVariableDeclaration","src":"3370:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3389:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3383:5:150"},"nodeType":"YulFunctionCall","src":"3383:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3374:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3457:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3466:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3469:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3459:6:150"},"nodeType":"YulFunctionCall","src":"3459:12:150"},"nodeType":"YulExpressionStatement","src":"3459:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3421:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3432:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"3439:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3428:3:150"},"nodeType":"YulFunctionCall","src":"3428:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3418:2:150"},"nodeType":"YulFunctionCall","src":"3418:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3411:6:150"},"nodeType":"YulFunctionCall","src":"3411:45:150"},"nodeType":"YulIf","src":"3408:65:150"},{"nodeType":"YulAssignment","src":"3482:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3492:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3482:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3265:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3276:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3288:6:150","type":""}],"src":"3219:284:150"},{"body":{"nodeType":"YulBlock","src":"3681:315:150","statements":[{"nodeType":"YulAssignment","src":"3691:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3703:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3714:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3699:3:150"},"nodeType":"YulFunctionCall","src":"3699:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3691:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3733:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3744:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3726:6:150"},"nodeType":"YulFunctionCall","src":"3726:25:150"},"nodeType":"YulExpressionStatement","src":"3726:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3771:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3782:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3767:3:150"},"nodeType":"YulFunctionCall","src":"3767:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"3787:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3760:6:150"},"nodeType":"YulFunctionCall","src":"3760:34:150"},"nodeType":"YulExpressionStatement","src":"3760:34:150"},{"body":{"nodeType":"YulBlock","src":"3836:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3857:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3864:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3869:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3860:3:150"},"nodeType":"YulFunctionCall","src":"3860:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3850:6:150"},"nodeType":"YulFunctionCall","src":"3850:31:150"},"nodeType":"YulExpressionStatement","src":"3850:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3901:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3904:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3894:6:150"},"nodeType":"YulFunctionCall","src":"3894:15:150"},"nodeType":"YulExpressionStatement","src":"3894:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3929:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3932:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3922:6:150"},"nodeType":"YulFunctionCall","src":"3922:15:150"},"nodeType":"YulExpressionStatement","src":"3922:15:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"3816:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3824:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3813:2:150"},"nodeType":"YulFunctionCall","src":"3813:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3806:6:150"},"nodeType":"YulFunctionCall","src":"3806:21:150"},"nodeType":"YulIf","src":"3803:144:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3967:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3978:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3963:3:150"},"nodeType":"YulFunctionCall","src":"3963:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"3983:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3956:6:150"},"nodeType":"YulFunctionCall","src":"3956:34:150"},"nodeType":"YulExpressionStatement","src":"3956:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3634:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3645:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3653:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3661:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3672:4:150","type":""}],"src":"3508:488:150"},{"body":{"nodeType":"YulBlock","src":"4137:130:150","statements":[{"nodeType":"YulAssignment","src":"4147:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4159:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4170:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4155:3:150"},"nodeType":"YulFunctionCall","src":"4155:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4147:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4189:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4204:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4212:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4200:3:150"},"nodeType":"YulFunctionCall","src":"4200:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4182:6:150"},"nodeType":"YulFunctionCall","src":"4182:36:150"},"nodeType":"YulExpressionStatement","src":"4182:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4238:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4249:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4234:3:150"},"nodeType":"YulFunctionCall","src":"4234:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"4254:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4227:6:150"},"nodeType":"YulFunctionCall","src":"4227:34:150"},"nodeType":"YulExpressionStatement","src":"4227:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4098:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4109:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4117:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4128:4:150","type":""}],"src":"4001:266:150"},{"body":{"nodeType":"YulBlock","src":"4320:77:150","statements":[{"nodeType":"YulAssignment","src":"4330:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4341:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"4344:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4337:3:150"},"nodeType":"YulFunctionCall","src":"4337:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"4330:3:150"}]},{"body":{"nodeType":"YulBlock","src":"4369:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"4371:16:150"},"nodeType":"YulFunctionCall","src":"4371:18:150"},"nodeType":"YulExpressionStatement","src":"4371:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4361:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"4364:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4358:2:150"},"nodeType":"YulFunctionCall","src":"4358:10:150"},"nodeType":"YulIf","src":"4355:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4303:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"4306:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"4312:3:150","type":""}],"src":"4272:125:150"},{"body":{"nodeType":"YulBlock","src":"4539:130:150","statements":[{"nodeType":"YulAssignment","src":"4549:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4561:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4572:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4557:3:150"},"nodeType":"YulFunctionCall","src":"4557:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4549:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4591:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4606:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4614:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4602:3:150"},"nodeType":"YulFunctionCall","src":"4602:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4584:6:150"},"nodeType":"YulFunctionCall","src":"4584:36:150"},"nodeType":"YulExpressionStatement","src":"4584:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4640:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4651:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4636:3:150"},"nodeType":"YulFunctionCall","src":"4636:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"4656:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4629:6:150"},"nodeType":"YulFunctionCall","src":"4629:34:150"},"nodeType":"YulExpressionStatement","src":"4629:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4500:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4511:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4519:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4530:4:150","type":""}],"src":"4402:267:150"}]},"contents":"{\n    { }\n    function abi_decode_uint8(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint8(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint8(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint8(headStart)\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_uint256t_enum$_ProposalType_$61431(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        if iszero(lt(value, 2)) { revert(0, 0) }\n        value1 := value\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_enum$_ProposalType_$61431__to_t_uint256_t_uint256_t_uint8__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        if iszero(lt(value2, 2))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":1288},{"length":20,"start":3389},{"length":20,"start":3512}]}},"object":"730000000000000000000000000000000000000000301460806040526004361061008d5760003560e01c8063026865cc1461009257806306f3f9e6146100b85780630eddee30146100da5780635273e74b146100ed57806360c4247f146101005780639079991f14610113578063a7713a7014610136578063cd2c155c1461013e578063f8ce560a1461015e575b600080fd5b6100a56100a03660046110a2565b610171565b6040519081526020015b60405180910390f35b8180156100c457600080fd5b506100d86100d33660046110ce565b610217565b005b6100a56100e83660046110e7565b610225565b6100a56100fb3660046110a2565b610295565b6100a561010e3660046110ce565b6102bc565b6101266101213660046110ce565b6103a7565b60405190151581526020016100af565b6100a56103b2565b81801561014a57600080fd5b506100d8610159366004611102565b6103df565b6100a561016c3660046110ce565b6103ed565b60008061017c610488565b9050606461018a8585610295565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156101d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f99190611136565b6102039190611165565b61020d9190611192565b9150505b92915050565b6102228160006104ac565b50565b600080610230610488565b90506102858160180160008560ff166001811115610250576102506111b4565b6001811115610261576102616111b4565b6001811115610272576102726111b4565b815260200190815260200160002061063f565b6001600160d01b03169392505050565b60006102b5838360ff1660018111156102b0576102b06111b4565b610686565b9392505050565b6000806102c7610488565b60008080526018820160205260408120805492935090919082906102ec6001846111ca565b815481106102fc576102fc6111dd565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610341576001600160d01b0316979650505050505050565b61039261034d89610790565b876018016000886001811115610365576103656111b4565b6001811115610376576103766111b4565b81526020019081526020016000206107c790919063ffffffff16565b6001600160d01b031698975050505050505050565b60006102118261086f565b6000806103bd610488565b905060006103cf601883018280610261565b6001600160d01b03169250505090565b6103e982826104ac565b5050565b6000806103f8610488565b90506064610405846102bc565b600c830154604051632394e7a360e21b8152600481018790526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104749190611136565b61047e9190611165565b6102b59190611192565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006104b6610488565b9050606460006104d18460018111156100e8576100e86111b4565b9050818511156105035760405163243e544560e01b815260048101869052602481018390526044015b60405180910390fd5b6105c273__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561054f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057391906111f3565b61057c876108c8565b856018016000886001811115610594576105946111b4565b60018111156105a5576105a56111b4565b81526020019081526020016000206108fc9092919063ffffffff16565b505060408051828152602081018790527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a17fa887ac6363633c0ce6f205a5a5e196934dd309db93895e5751862be24465171d8186866040516106309392919061121b565b60405180910390a15050505050565b8054600090801561067d57610667836106596001846111ca565b600091825260209091200190565b54600160301b90046001600160d01b03166102b5565b60009392505050565b600080610691610488565b905060008160180160008560018111156106ad576106ad6111b4565b60018111156106be576106be6111b4565b81526020810191909152604001600090812054915060188301818660018111156106ea576106ea6111b4565b60018111156106fb576106fb6111b4565b815260208101919091526040016000206107166001846111ca565b81548110610726576107266111dd565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031687821161076c576001600160d01b031694506102119350505050565b61039261077889610790565b8660180160008a6001811115610365576103656111b4565b600065ffffffffffff8211156107c3576040516306dfcc6560e41b815260306004820152602481018390526044016104fa565b5090565b8154600090818160058111156108265760006107e284610917565b6107ec90856111ca565b60008881526020902090915081015465ffffffffffff908116908716101561081657809150610824565b610821816001611255565b92505b505b6000610834878785856109ff565b905080156108615761084b876106596001846111ca565b54600160301b90046001600160d01b0316610864565b60005b979650505050505050565b60008061087a610488565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906108be6108ac86610a61565b8360018111156100a0576100a06111b4565b1115949350505050565b60006001600160d01b038211156107c3576040516306dfcc6560e41b815260d06004820152602481018390526044016104fa565b60008061090a858585610e4d565b915091505b935093915050565b60008160000361092957506000919050565b6000600161093684610fc7565b901c6001901b9050600181848161094f5761094f61117c565b048201901c905060018184816109675761096761117c565b048201901c9050600181848161097f5761097f61117c565b048201901c905060018184816109975761099761117c565b048201901c905060018184816109af576109af61117c565b048201901c905060018184816109c7576109c761117c565b048201901c905060018184816109df576109df61117c565b048201901c90506102b5818285816109f9576109f961117c565b0461105b565b60005b81831015610a59576000610a168484611071565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610a4557809250610a53565b610a50816001611255565b93505b50610a02565b509392505050565b600080610a6c610488565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b009190611136565b10610b9c576000610b0f610488565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401602060405180830381865afa158015610b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b949190611136565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c9190611136565b6000858152600180850160205260409091200154610c2a91906111ca565b90506000610c396001836111ca565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb29190611136565b610cbc9190611165565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d399190611136565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610d84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da891906111f3565b65ffffffffffff168111610e2e5773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2391906111f3565b65ffffffffffff1690505b82610e398383611255565b610e439190611255565b9695505050505050565b825460009081908015610f6c576000610e6b876106596001856111ca565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610ebf57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610f0b5784610ee2886106596001866111ca565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055610f5c565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b60200151925083915061090f9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b02919093161792019190915590508161090f565b600080608083901c15610fdc57608092831c92015b604083901c15610fee57604092831c92015b602083901c1561100057602092831c92015b601083901c1561101257601092831c92015b600883901c1561102457600892831c92015b600483901c1561103657600492831c92015b600283901c1561104857600292831c92015b600183901c156102115760010192915050565b600081831061106a57816102b5565b5090919050565b60006110806002848418611192565b6102b590848416611255565b803560ff8116811461109d57600080fd5b919050565b600080604083850312156110b557600080fd5b823591506110c56020840161108c565b90509250929050565b6000602082840312156110e057600080fd5b5035919050565b6000602082840312156110f957600080fd5b6102b58261108c565b6000806040838503121561111557600080fd5b8235915060208301356002811061112b57600080fd5b809150509250929050565b60006020828403121561114857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176102115761021161114f565b634e487b7160e01b600052601260045260246000fd5b6000826111af57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fd5b818103818111156102115761021161114f565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120557600080fd5b815165ffffffffffff811681146102b557600080fd5b83815260208101839052606081016002831061124757634e487b7160e01b600052602160045260246000fd5b826040830152949350505050565b808201808211156102115761021161114f56fea264697066735822122018738c5bee09e5e6595f4298ddc29fa9d41104f68aa80184b6a5441ee3d2031864736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x8D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26865CC EQ PUSH2 0x92 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xEDDEE30 EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x5273E74B EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x9079991F EQ PUSH2 0x113 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0xCD2C155C EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5 PUSH2 0xA0 CALLDATASIZE PUSH1 0x4 PUSH2 0x10A2 JUMP JUMPDEST PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD8 PUSH2 0xD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x217 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA5 PUSH2 0xE8 CALLDATASIZE PUSH1 0x4 PUSH2 0x10E7 JUMP JUMPDEST PUSH2 0x225 JUMP JUMPDEST PUSH2 0xA5 PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0x10A2 JUMP JUMPDEST PUSH2 0x295 JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x2BC JUMP JUMPDEST PUSH2 0x126 PUSH2 0x121 CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xAF JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x3B2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x14A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD8 PUSH2 0x159 CALLDATASIZE PUSH1 0x4 PUSH2 0x1102 JUMP JUMPDEST PUSH2 0x3DF JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x16C CALLDATASIZE PUSH1 0x4 PUSH2 0x10CE JUMP JUMPDEST PUSH2 0x3ED JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x17C PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x18A DUP6 DUP6 PUSH2 0x295 JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x203 SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST PUSH2 0x20D SWAP2 SWAP1 PUSH2 0x1192 JUMP JUMPDEST SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x222 DUP2 PUSH1 0x0 PUSH2 0x4AC JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x230 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH2 0x285 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x250 JUMPI PUSH2 0x250 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x261 JUMPI PUSH2 0x261 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x272 JUMPI PUSH2 0x272 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x63F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2B0 JUMPI PUSH2 0x2B0 PUSH2 0x11B4 JUMP JUMPDEST PUSH2 0x686 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2C7 PUSH2 0x488 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 MSTORE PUSH1 0x18 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 SWAP1 DUP3 SWAP1 PUSH2 0x2EC PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2FC JUMPI PUSH2 0x2FC PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x341 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x392 PUSH2 0x34D DUP10 PUSH2 0x790 JUMP JUMPDEST DUP8 PUSH1 0x18 ADD PUSH1 0x0 DUP9 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x365 JUMPI PUSH2 0x365 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x376 JUMPI PUSH2 0x376 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x7C7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211 DUP3 PUSH2 0x86F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BD PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3CF PUSH1 0x18 DUP4 ADD DUP3 DUP1 PUSH2 0x261 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x3E9 DUP3 DUP3 PUSH2 0x4AC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F8 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x405 DUP5 PUSH2 0x2BC JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x450 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x474 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0x47E SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST PUSH2 0x2B5 SWAP2 SWAP1 PUSH2 0x1192 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B6 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH1 0x0 PUSH2 0x4D1 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xE8 JUMPI PUSH2 0xE8 PUSH2 0x11B4 JUMP JUMPDEST SWAP1 POP DUP2 DUP6 GT ISZERO PUSH2 0x503 JUMPI PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5C2 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x54F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x573 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH2 0x57C DUP8 PUSH2 0x8C8 JUMP JUMPDEST DUP6 PUSH1 0x18 ADD PUSH1 0x0 DUP9 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x594 JUMPI PUSH2 0x594 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x5A5 JUMPI PUSH2 0x5A5 PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0x8FC SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP8 SWAP1 MSTORE PUSH32 0x553476BF02EF2726E8CE5CED78D63E26E602E4A2257B1F559418E24B4633997 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0xA887AC6363633C0CE6F205A5A5E196934DD309DB93895E5751862BE24465171D DUP2 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x630 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x121B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x67D JUMPI PUSH2 0x667 DUP4 PUSH2 0x659 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x691 PUSH2 0x488 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6AD JUMPI PUSH2 0x6AD PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6BE JUMPI PUSH2 0x6BE PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6EA JUMPI PUSH2 0x6EA PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6FB JUMPI PUSH2 0x6FB PUSH2 0x11B4 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x716 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x726 JUMPI PUSH2 0x726 PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x76C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x211 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x392 PUSH2 0x778 DUP10 PUSH2 0x790 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x365 JUMPI PUSH2 0x365 PUSH2 0x11B4 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x826 JUMPI PUSH1 0x0 PUSH2 0x7E2 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH2 0x7EC SWAP1 DUP6 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x816 JUMPI DUP1 SWAP2 POP PUSH2 0x824 JUMP JUMPDEST PUSH2 0x821 DUP2 PUSH1 0x1 PUSH2 0x1255 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x834 DUP8 DUP8 DUP6 DUP6 PUSH2 0x9FF JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x861 JUMPI PUSH2 0x84B DUP8 PUSH2 0x659 PUSH1 0x1 DUP5 PUSH2 0x11CA JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x864 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x87A PUSH2 0x488 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x8BE PUSH2 0x8AC DUP7 PUSH2 0xA61 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA0 JUMPI PUSH2 0xA0 PUSH2 0x11B4 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90A DUP6 DUP6 DUP6 PUSH2 0xE4D JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x929 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x936 DUP5 PUSH2 0xFC7 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x94F JUMPI PUSH2 0x94F PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x967 JUMPI PUSH2 0x967 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x97F JUMPI PUSH2 0x97F PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x997 JUMPI PUSH2 0x997 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9AF JUMPI PUSH2 0x9AF PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9C7 JUMPI PUSH2 0x9C7 PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x9DF JUMPI PUSH2 0x9DF PUSH2 0x117C JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x2B5 DUP2 DUP3 DUP6 DUP2 PUSH2 0x9F9 JUMPI PUSH2 0x9F9 PUSH2 0x117C JUMP JUMPDEST DIV PUSH2 0x105B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xA59 JUMPI PUSH1 0x0 PUSH2 0xA16 DUP5 DUP5 PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xA45 JUMPI DUP1 SWAP3 POP PUSH2 0xA53 JUMP JUMPDEST PUSH2 0xA50 DUP2 PUSH1 0x1 PUSH2 0x1255 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xA02 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA6C PUSH2 0x488 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xADC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB00 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST LT PUSH2 0xB9C JUMPI PUSH1 0x0 PUSH2 0xB0F PUSH2 0x488 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB70 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB94 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBE8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC0C SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0xC2A SWAP2 SWAP1 PUSH2 0x11CA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC39 PUSH1 0x1 DUP4 PUSH2 0x11CA JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC8E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCB2 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST PUSH2 0xCBC SWAP2 SWAP1 PUSH2 0x1165 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD15 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD39 SWAP2 SWAP1 PUSH2 0x1136 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD84 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDA8 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0xE2E JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDFF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE23 SWAP2 SWAP1 PUSH2 0x11F3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0xE39 DUP4 DUP4 PUSH2 0x1255 JUMP JUMPDEST PUSH2 0xE43 SWAP2 SWAP1 PUSH2 0x1255 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0xF6C JUMPI PUSH1 0x0 PUSH2 0xE6B DUP8 PUSH2 0x659 PUSH1 0x1 DUP6 PUSH2 0x11CA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xEBF JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xF0B JUMPI DUP5 PUSH2 0xEE2 DUP9 PUSH2 0x659 PUSH1 0x1 DUP7 PUSH2 0x11CA JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0xF5C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x90F SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x90F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xFDC JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xFEE JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1000 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1012 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1024 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1036 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1048 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x211 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x106A JUMPI DUP2 PUSH2 0x2B5 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x1192 JUMP JUMPDEST PUSH2 0x2B5 SWAP1 DUP5 DUP5 AND PUSH2 0x1255 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x109D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x10B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x10C5 PUSH1 0x20 DUP5 ADD PUSH2 0x108C JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B5 DUP3 PUSH2 0x108C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1115 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x2 DUP2 LT PUSH2 0x112B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x11AF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x2B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x1247 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x211 JUMPI PUSH2 0x211 PUSH2 0x114F JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR PUSH20 0x8C5BEE09E5E6595F4298DDC29FA9D41104F68AA8 ADD DUP5 0xB6 0xA5 PREVRANDAO 0x1E 0xE3 0xD2 SUB XOR PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1797:9463:105:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6604:364;;;;;;:::i;:::-;;:::i;:::-;;;584:25:150;;;572:2;557:18;6604:364:105;;;;;;;;7393:172;;;;;;;;;;-1:-1:-1;7393:172:105;;;;;:::i;:::-;;:::i;:::-;;5299:292;;;;;;:::i;:::-;;:::i;4421:231::-;;;;;;:::i;:::-;;:::i;3403:784::-;;;;;;:::i;:::-;;:::i;5788:125::-;;;;;;:::i;:::-;;:::i;:::-;;;1165:14:150;;1158:22;1140:41;;1128:2;1113:18;5788:125:105;992:195:150;4789:297:105;;;:::i;8013:210::-;;;;;;;;;;-1:-1:-1;8013:210:105;;;;;:::i;:::-;;:::i;6081:268::-;;;;;;:::i;:::-;;:::i;6604:364::-;6711:7;6726:46;6775:41;:39;:41::i;:::-;6726:90;-1:-1:-1;3160:3:105;6875:59;6905:9;6916:17;6875:29;:59::i;:::-;6836:6;;;;:36;;-1:-1:-1;;;6836:36:105;;;;;584:25:150;;;-1:-1:-1;;;;;6836:6:105;;;;:25;;557:18:150;;6836:36:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6835:128;;;;:::i;:::-;6822:141;;;6604:364;;;;;:::o;7393:172::-;7475:85;7504:18;7524:35;7475:28;:85::i;:::-;7393:172;:::o;5299:292::-;5392:7;5407:46;5456:41;:39;:41::i;:::-;5407:90;;5510:76;:1;:20;;:67;5558:17;5531:45;;;;;;;;;;:::i;:::-;5510:67;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:74;:76::i;:::-;-1:-1:-1;;;;;5503:83:105;;5299:292;-1:-1:-1;;;5299:292:105:o;4421:231::-;4537:7;4559:88;4590:9;4628:17;4601:45;;;;;;;;;;:::i;:::-;4559:30;:88::i;:::-;4552:95;4421:231;-1:-1:-1;;;4421:231:105:o;3403:784::-;3476:7;3491:46;3540:41;:39;:41::i;:::-;3587:39;3687:34;;;:20;;;:34;;;;;:54;;:20;;-1:-1:-1;3587:39:105;;3687:54;3587:39;;3893:10;3902:1;3687:54;3893:10;:::i;:::-;3845:59;;;;;;;;:::i;:::-;;;;;;;;;;3929:11;;3845:59;;-1:-1:-1;3929:11:105;;;;-1:-1:-1;;;3968:13:105;;-1:-1:-1;;;;;3968:13:105;3991:22;;;3987:61;;-1:-1:-1;;;;;4023:18:105;;3403:784;-1:-1:-1;;;;;;;3403:784:105:o;3987:61::-;4100:82;4153:28;4171:9;4153:17;:28::i;:::-;4100:1;:20;;:34;4121:12;4100:34;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:52;;:82;;;;:::i;:::-;-1:-1:-1;;;;;4093:89:105;;3403:784;-1:-1:-1;;;;;;;;3403:784:105:o;5788:125::-;5864:4;5883:25;5897:10;5883:13;:25::i;4789:297::-;4837:7;4852:46;4901:41;:39;:41::i;:::-;4852:90;-1:-1:-1;4948:39:105;5038:43;:20;;;4948:39;;5038:34;;:43;-1:-1:-1;;;;;5031:50:105;;;;;4789:297;:::o;8013:210::-;8151:67;8180:18;8200:17;8151:28;:67::i;:::-;8013:210;;:::o;6081:268::-;6137:7;6152:46;6201:41;:39;:41::i;:::-;6152:90;-1:-1:-1;3160:3:105;6295:26;6311:9;6295:15;:26::i;:::-;6256:6;;;;:36;;-1:-1:-1;;;6256:36:105;;;;;584:25:150;;;-1:-1:-1;;;;;6256:6:105;;;;:25;;557:18:150;;6256:36:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;6255:89;;;;:::i;2697:146:107:-;2810:23;;2697:146::o;10451:807:105:-;10590:46;10639:41;:39;:41::i;:::-;10590:90;-1:-1:-1;3160:3:105;10686:19;10762:55;10798:17;10792:24;;;;;;;;:::i;10762:55::-;10733:84;;10849:11;10828:18;:32;10824:122;;;10877:62;;-1:-1:-1;;;10877:62:105;;;;;3140:25:150;;;3181:18;;;3174:34;;;3113:18;;10877:62:105;;;;;;;;10824:122;10952:130;11004:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11038:38;11057:18;11038;:38::i;:::-;10952:1;:20;;:39;10973:17;10952:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:44;;:130;;;;;:::i;:::-;-1:-1:-1;;11093:62:105;;;3140:25:150;;;3196:2;3181:18;;3174:34;;;11093:62:105;;3113:18:150;11093:62:105;;;;;;;11166:87;11195:18;11215;11235:17;11166:87;;;;;;;;:::i;:::-;;;;;;;;10584:674;;;10451:807;;:::o;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;10318:41;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;;10314:1;10296:70;10167:206;-1:-1:-1;;;10167:206:39:o;9267:783:105:-;9407:7;9422:46;9471:41;:39;:41::i;:::-;9422:90;;9518:14;9535:1;:20;;:39;9556:17;9535:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9535:39:105;;;:59;;-1:-1:-1;9698:20:105;;;-1:-1:-1;9719:17:105;9698:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9698:39:105;9751:10;9760:1;9751:6;:10;:::i;:::-;9698:64;;;;;;;;:::i;:::-;;;;;;;;;;9787:11;;9698:64;;-1:-1:-1;9787:11:105;;;;-1:-1:-1;;;9826:13:105;;-1:-1:-1;;;;;9826:13:105;9849:22;;;9845:61;;-1:-1:-1;;;;;9881:18:105;;-1:-1:-1;9881:18:105;;-1:-1:-1;;;;9881:18:105;9845:61;9958:87;10016:28;10034:9;10016:17;:28::i;:::-;9958:1;:20;;:39;9979:17;9958:39;;;;;;;;:::i;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;4182:36:150;4234:18;;;4227:34;;;4155:18;;14416:41:37;4001:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;9992:41::-;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;8505:411:105:-;8579:4;8591:46;8640:41;:39;:41::i;:::-;8687:39;8729:26;;;:14;;;:26;;;;;;;;;8879:20;;;:32;;;;;;;8591:90;;-1:-1:-1;8729:26:105;;;8775:94;8796:51;8744:10;8796:39;:51::i;:::-;8855:12;8849:19;;;;;;;;:::i;8775:94::-;:136;;;8505:411;-1:-1:-1;;;;8505:411:105:o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;4182:36:150;4234:18;;;4227:34;;;4155:18;;4297:42:37;4001:266:150;8050:162:39;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;35366:1145:104:-;35444:7;35459:46;35508:41;:39;:41::i;:::-;35459:90;;35662:1;:11;;:23;35674:10;35662:23;;;;;;;;;;;:40;;;35622:1;:19;;;;;;;;;;-1:-1:-1;;;;;35622:19:104;-1:-1:-1;;;;;35622:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;35618:279;;35710:46;35759:41;:39;:41::i;:::-;35815:19;;;;;35849:23;;;35815:19;35849:11;;;:23;;;;;;;:40;;35815:75;;-1:-1:-1;;;35815:75:104;;;;;584:25:150;;;;35815:19:104;;-1:-1:-1;;;;;;35815:19:104;;:33;;557:18:150;;35815:75:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35808:82;35366:1145;-1:-1:-1;;;;35366:1145:104:o;35618:279::-;35975:19;;;;:36;;;-1:-1:-1;;;35975:36:104;;;;35903:26;;-1:-1:-1;;;;;35975:19:104;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35932:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;35903:108;-1:-1:-1;36017:26:104;36084:22;36105:1;35903:108;36084:22;:::i;:::-;36046:1;:19;;;;;;;;;;-1:-1:-1;;;;;36046:19:104;-1:-1:-1;;;;;36046:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36017:90;;36169:28;36200:1;:19;;;;;;;;;;-1:-1:-1;;;;;36200:19:104;-1:-1:-1;;;;;36200:40:104;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36169:73;;36339:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36315:50;;:20;:50;36311:120;;36398:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36375:49;;;;36311:120;36488:18;36444:41;36467:18;36444:20;:41;:::i;:::-;:62;;;;:::i;:::-;36437:69;35366:1145;-1:-1:-1;;;;;;35366:1145:104:o;11513:870:39:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;14:156:150:-;80:20;;140:4;129:16;;119:27;;109:55;;160:1;157;150:12;109:55;14:156;;;:::o;175:250::-;241:6;249;302:2;290:9;281:7;277:23;273:32;270:52;;;318:1;315;308:12;270:52;354:9;341:23;331:33;;383:36;415:2;404:9;400:18;383:36;:::i;:::-;373:46;;175:250;;;;;:::o;620:180::-;679:6;732:2;720:9;711:7;707:23;703:32;700:52;;;748:1;745;738:12;700:52;-1:-1:-1;771:23:150;;620:180;-1:-1:-1;620:180:150:o;805:182::-;862:6;915:2;903:9;894:7;890:23;886:32;883:52;;;931:1;928;921:12;883:52;954:27;971:9;954:27;:::i;1192:342::-;1278:6;1286;1339:2;1327:9;1318:7;1314:23;1310:32;1307:52;;;1355:1;1352;1345:12;1307:52;1391:9;1378:23;1368:33;;1451:2;1440:9;1436:18;1423:32;1484:1;1477:5;1474:12;1464:40;;1500:1;1497;1490:12;1464:40;1523:5;1513:15;;;1192:342;;;;;:::o;1721:184::-;1791:6;1844:2;1832:9;1823:7;1819:23;1815:32;1812:52;;;1860:1;1857;1850:12;1812:52;-1:-1:-1;1883:16:150;;1721:184;-1:-1:-1;1721:184:150:o;1910:127::-;1971:10;1966:3;1962:20;1959:1;1952:31;2002:4;1999:1;1992:15;2026:4;2023:1;2016:15;2042:168;2115:9;;;2146;;2163:15;;;2157:22;;2143:37;2133:71;;2184:18;;:::i;2215:127::-;2276:10;2271:3;2267:20;2264:1;2257:31;2307:4;2304:1;2297:15;2331:4;2328:1;2321:15;2347:217;2387:1;2413;2403:132;;2457:10;2452:3;2448:20;2445:1;2438:31;2492:4;2489:1;2482:15;2520:4;2517:1;2510:15;2403:132;-1:-1:-1;2549:9:150;;2347:217::o;2569:127::-;2630:10;2625:3;2621:20;2618:1;2611:31;2661:4;2658:1;2651:15;2685:4;2682:1;2675:15;2701:128;2768:9;;;2789:11;;;2786:37;;;2803:18;;:::i;2834:127::-;2895:10;2890:3;2886:20;2883:1;2876:31;2926:4;2923:1;2916:15;2950:4;2947:1;2940:15;3219:284;3288:6;3341:2;3329:9;3320:7;3316:23;3312:32;3309:52;;;3357:1;3354;3347:12;3309:52;3389:9;3383:16;3439:14;3432:5;3428:26;3421:5;3418:37;3408:65;;3469:1;3466;3459:12;3508:488;3726:25;;;3782:2;3767:18;;3760:34;;;3714:2;3699:18;;3824:1;3813:13;;3803:144;;3869:10;3864:3;3860:20;3857:1;3850:31;3904:4;3901:1;3894:15;3932:4;3929:1;3922:15;3803:144;3983:6;3978:2;3967:9;3963:18;3956:34;3508:488;;;;;;:::o;4272:125::-;4337:9;;;4358:10;;;4355:36;;;4371:18;;:::i"},"methodIdentifiers":{"isQuorumReached(uint256)":"9079991f","quorum(uint256)":"f8ce560a","quorumByProposalType(uint256,uint8)":"026865cc","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumNumeratorByProposalType(uint256,uint8)":"5273e74b","quorumNumeratorByProposalType(uint8)":"0eddee30","updateQuorumNumerator(uint256)":"06f3f9e6","updateQuorumNumeratorByType(uint256,GovernorTypes.ProposalType)":"cd2c155c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"QuorumNumeratorUpdatedByType\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isQuorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumNumeratorByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"quorumNumeratorByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"params\":{\"quorumDenominator\":\"The denominator against which the numerator was compared.\",\"quorumNumerator\":\"The attempted new numerator that failed the update.\"}}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"QuorumNumeratorUpdated(uint256,uint256)\":{\"params\":{\"newNumerator\":\"The numerator after the update.\",\"oldNumerator\":\"The numerator before the update.\"}},\"QuorumNumeratorUpdatedByType(uint256,uint256,uint8)\":{\"params\":{\"newNumerator\":\"The numerator after the update.\",\"oldNumerator\":\"The numerator before the update.\",\"proposalType\":\"The type of proposal.\"}}},\"kind\":\"dev\",\"methods\":{\"isQuorumReached(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal.\"},\"returns\":{\"_0\":\"True if the quorum has been reached, false otherwise.\"}},\"quorum(uint256)\":{\"params\":{\"timepoint\":\"The specific timepoint.\"},\"returns\":{\"_0\":\"The quorum at the given timepoint.\"}},\"quorumByProposalType(uint256,uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\",\"timepoint\":\"The specific timepoint.\"},\"returns\":{\"_0\":\"The quorum at the given timepoint and proposal type.\"}},\"quorumNumerator()\":{\"returns\":{\"_0\":\"The latest quorum numerator.\"}},\"quorumNumerator(uint256)\":{\"params\":{\"timepoint\":\"The specific timepoint for which to fetch the numerator.\"},\"returns\":{\"_0\":\"The quorum numerator at the given timepoint.\"}},\"quorumNumeratorByProposalType(uint256,uint8)\":{\"params\":{\"timepoint\":\"The specific timepoint for which to fetch the numerator.\"},\"returns\":{\"_0\":\"The quorum numerator at the given timepoint.\"}},\"quorumNumeratorByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"The latest quorum numerator for the proposal type.\"}},\"updateQuorumNumerator(uint256)\":{\"details\":\"This function should only be called from governance actions where numerators need updating.New numerator must be smaller or equal to the denominator.\",\"params\":{\"newQuorumNumerator\":\"The new value for the quorum numerator.\"}},\"updateQuorumNumeratorByType(uint256,GovernorTypes.ProposalType)\":{\"details\":\"This function should only be called from governance actions where numerators need updating.New numerator must be smaller or equal to the denominator.\",\"params\":{\"newQuorumNumerator\":\"The new value for the quorum numerator.\",\"proposalTypeValue\":\"The type of proposal.\"}}},\"title\":\"GovernorQuorumLogic\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"notice\":\"Error that is thrown when the new quorum numerator exceeds the denominator.\"}]},\"events\":{\"QuorumNumeratorUpdated(uint256,uint256)\":{\"notice\":\"Emitted when the quorum numerator is updated.\"},\"QuorumNumeratorUpdatedByType(uint256,uint256,uint8)\":{\"notice\":\"Emitted when the quorum numerator for a specific proposal type is updated.\"}},\"kind\":\"user\",\"methods\":{\"isQuorumReached(uint256)\":{\"notice\":\"Checks if the quorum has been reached for a proposal.\"},\"quorum(uint256)\":{\"notice\":\"Returns the quorum for a specific timepoint.\"},\"quorumByProposalType(uint256,uint8)\":{\"notice\":\"Returns the quorum for a specific timepoint and proposal type.\"},\"quorumNumerator()\":{\"notice\":\"Retrieves the latest quorum numerator using the GovernorClockLogic library.\"},\"quorumNumerator(uint256)\":{\"notice\":\"Retrieves the quorum numerator at a specific timepoint using checkpoint data.\"},\"quorumNumeratorByProposalType(uint256,uint8)\":{\"notice\":\"Retrieves the quorum numerator at a specific timepoint using checkpoint data.\"},\"quorumNumeratorByProposalType(uint8)\":{\"notice\":\"Retrieves the latest quorum numerator for a specific proposal type.\"},\"updateQuorumNumerator(uint256)\":{\"notice\":\"Updates the quorum numerator to a new value at a specified time, emitting an event upon success.\"},\"updateQuorumNumeratorByType(uint256,GovernorTypes.ProposalType)\":{\"notice\":\"Updates the quorum numerator for a specific proposal type to a new value at a specified time, emitting an event upon success.\"}},\"notice\":\"Library for managing quorum numerators using checkpointed data structures.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorQuorumLogic.sol\":\"GovernorQuorumLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorStateLogic.sol":{"GovernorStateLogic":{"abi":[{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":575},{"length":20,"start":2522},{"length":20,"start":2645}]}},"object":"61111861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80633e4f49e61461003a575b600080fd5b61004d610048366004610faf565b610063565b60405160ff909116815260200160405180910390f35b600061006e82610085565b600981111561007f5761007f610fc8565b92915050565b600080610090610431565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b90920416908360028111156100e5576100e5610fc8565b036100f7575060089695505050505050565b600283600281111561010b5761010b610fc8565b0361011d575060099695505050505050565b8115610130575060069695505050505050565b8015610143575060029695505050505050565b836001015460000361017057604051636ad0607560e01b8152600481018890526024015b60405180910390fd5b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee9190610fde565b1015610201575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610ff7565b65ffffffffffff169050600061028589610455565b905061029089610624565b6102a35750600798975050505050505050565b8181106102b95750600198975050505050505050565b6102c289610650565b15806102d457506102d2896106ae565b155b156102e85750600398975050505050505050565b6102f1896106d6565b6000036103075750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610364573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610388919061101f565b1561039d575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c919061101f565b15610421575060069998505050505050505050565b5060029998505050505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600080610460610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f49190610fde565b10610591576000610503610431565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610fde565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610fde565b61061384610708565b61061d9190611057565b9392505050565b60008061062f610431565b60009384526001016020525050604090206004810154600390910154101590565b60008061065b610431565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906106a461068d86610708565b83600181111561069f5761069f610fc8565b610ab0565b1115949350505050565b6000806106b9610431565b6000938452600f0160205250506040902080546001909101541190565b6000806106e1610431565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080610713610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610fde565b106107ff5760006107b6610431565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401610548565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f9190610fde565b600085815260018085016020526040909120015461088d919061106a565b9050600061089c60018361106a565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109159190610fde565b61091f919061107d565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190610fde565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0b9190610ff7565b65ffffffffffff168111610a915773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190610ff7565b65ffffffffffff1690505b82610a9c8383611057565b610aa69190611057565b9695505050505050565b600080610abb610431565b90506064610ac98585610b4c565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b389190610fde565b610b42919061107d565b61058991906110aa565b600061061d838360ff166001811115610b6757610b67610fc8565b600080610b72610431565b90506000816018016000856001811115610b8e57610b8e610fc8565b6001811115610b9f57610b9f610fc8565b8152602081019190915260400160009081205491506018830181866001811115610bcb57610bcb610fc8565b6001811115610bdc57610bdc610fc8565b81526020810191909152604001600020610bf760018461106a565b81548110610c0757610c076110cc565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610c4d576001600160d01b0316945061007f9350505050565b610c9e610c5989610cb3565b8660180160008a6001811115610c7157610c71610fc8565b6001811115610c8257610c82610fc8565b8152602001908152602001600020610cea90919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff821115610ce6576040516306dfcc6560e41b81526030600482015260248101839052604401610167565b5090565b815460009081816005811115610d49576000610d0584610da0565b610d0f908561106a565b60008881526020902090915081015465ffffffffffff9081169087161015610d3957809150610d47565b610d44816001611057565b92505b505b6000610d5787878585610e88565b90508015610d9257610d7c87610d6e60018461106a565b600091825260209091200190565b54600160301b90046001600160d01b0316610d95565b60005b979650505050505050565b600081600003610db257506000919050565b60006001610dbf84610eea565b901c6001901b90506001818481610dd857610dd8611094565b048201901c90506001818481610df057610df0611094565b048201901c90506001818481610e0857610e08611094565b048201901c90506001818481610e2057610e20611094565b048201901c90506001818481610e3857610e38611094565b048201901c90506001818481610e5057610e50611094565b048201901c90506001818481610e6857610e68611094565b048201901c905061061d81828581610e8257610e82611094565b04610f7e565b60005b81831015610ee2576000610e9f8484610f94565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ece57809250610edc565b610ed9816001611057565b93505b50610e8b565b509392505050565b600080608083901c15610eff57608092831c92015b604083901c15610f1157604092831c92015b602083901c15610f2357602092831c92015b601083901c15610f3557601092831c92015b600883901c15610f4757600892831c92015b600483901c15610f5957600492831c92015b600283901c15610f6b57600292831c92015b600183901c1561007f5760010192915050565b6000818310610f8d578161061d565b5090919050565b6000610fa360028484186110aa565b61061d90848416611057565b600060208284031215610fc157600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215610ff057600080fd5b5051919050565b60006020828403121561100957600080fd5b815165ffffffffffff8116811461061d57600080fd5b60006020828403121561103157600080fd5b8151801515811461061d57600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561007f5761007f611041565b8181038181111561007f5761007f611041565b808202811582820484141761007f5761007f611041565b634e487b7160e01b600052601260045260246000fd5b6000826110c757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220adee2b7230f17dd9439e4b221fbe0ca4c725fdc47da04097beb1235ae3473cb664736f6c63430008140033","opcodes":"PUSH2 0x1118 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAF JUMP JUMPDEST PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x6E DUP3 PUSH2 0x85 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0xFC8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE5 JUMPI PUSH2 0xE5 PUSH2 0xFC8 JUMP JUMPDEST SUB PUSH2 0xF7 JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x10B JUMPI PUSH2 0x10B PUSH2 0xFC8 JUMP JUMPDEST SUB PUSH2 0x11D JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x130 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x143 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x170 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT ISZERO PUSH2 0x201 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x24C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x270 SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x285 DUP10 PUSH2 0x455 JUMP JUMPDEST SWAP1 POP PUSH2 0x290 DUP10 PUSH2 0x624 JUMP JUMPDEST PUSH2 0x2A3 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x2B9 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2C2 DUP10 PUSH2 0x650 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x2D4 JUMPI POP PUSH2 0x2D2 DUP10 PUSH2 0x6AE JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x2E8 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2F1 DUP10 PUSH2 0x6D6 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x307 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x364 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x388 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST ISZERO PUSH2 0x39D JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3E8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST ISZERO PUSH2 0x421 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x460 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4F4 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT PUSH2 0x591 JUMPI PUSH1 0x0 PUSH2 0x503 PUSH2 0x431 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x565 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x589 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5E6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x60A SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0x613 DUP5 PUSH2 0x708 JUMP JUMPDEST PUSH2 0x61D SWAP2 SWAP1 PUSH2 0x1057 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x62F PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x65B PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x6A4 PUSH2 0x68D DUP7 PUSH2 0x708 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x69F JUMPI PUSH2 0x69F PUSH2 0xFC8 JUMP JUMPDEST PUSH2 0xAB0 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6B9 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6E1 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x713 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x783 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT PUSH2 0x7FF JUMPI PUSH1 0x0 PUSH2 0x7B6 PUSH2 0x431 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x548 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x84B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x86F SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x88D SWAP2 SWAP1 PUSH2 0x106A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x89C PUSH1 0x1 DUP4 PUSH2 0x106A JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x915 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0x91F SWAP2 SWAP1 PUSH2 0x107D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x978 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x99C SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA0B SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0xA91 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA62 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA86 SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0xA9C DUP4 DUP4 PUSH2 0x1057 JUMP JUMPDEST PUSH2 0xAA6 SWAP2 SWAP1 PUSH2 0x1057 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xABB PUSH2 0x431 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0xAC9 DUP6 DUP6 PUSH2 0xB4C JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB14 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB38 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0xB42 SWAP2 SWAP1 PUSH2 0x107D JUMP JUMPDEST PUSH2 0x589 SWAP2 SWAP1 PUSH2 0x10AA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x61D DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB67 JUMPI PUSH2 0xB67 PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB72 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB8E JUMPI PUSH2 0xB8E PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB9F JUMPI PUSH2 0xB9F PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBCB JUMPI PUSH2 0xBCB PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0xBF7 PUSH1 0x1 DUP5 PUSH2 0x106A JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xC07 JUMPI PUSH2 0xC07 PUSH2 0x10CC JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0xC4D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x7F SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0xC9E PUSH2 0xC59 DUP10 PUSH2 0xCB3 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC71 JUMPI PUSH2 0xC71 PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC82 JUMPI PUSH2 0xC82 PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0xCEA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xCE6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x167 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xD49 JUMPI PUSH1 0x0 PUSH2 0xD05 DUP5 PUSH2 0xDA0 JUMP JUMPDEST PUSH2 0xD0F SWAP1 DUP6 PUSH2 0x106A JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xD39 JUMPI DUP1 SWAP2 POP PUSH2 0xD47 JUMP JUMPDEST PUSH2 0xD44 DUP2 PUSH1 0x1 PUSH2 0x1057 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xD57 DUP8 DUP8 DUP6 DUP6 PUSH2 0xE88 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xD92 JUMPI PUSH2 0xD7C DUP8 PUSH2 0xD6E PUSH1 0x1 DUP5 PUSH2 0x106A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xD95 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDB2 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDBF DUP5 PUSH2 0xEEA JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDD8 JUMPI PUSH2 0xDD8 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDF0 JUMPI PUSH2 0xDF0 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE08 JUMPI PUSH2 0xE08 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE20 JUMPI PUSH2 0xE20 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE38 JUMPI PUSH2 0xE38 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE50 JUMPI PUSH2 0xE50 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE68 JUMPI PUSH2 0xE68 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x61D DUP2 DUP3 DUP6 DUP2 PUSH2 0xE82 JUMPI PUSH2 0xE82 PUSH2 0x1094 JUMP JUMPDEST DIV PUSH2 0xF7E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xEE2 JUMPI PUSH1 0x0 PUSH2 0xE9F DUP5 DUP5 PUSH2 0xF94 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xECE JUMPI DUP1 SWAP3 POP PUSH2 0xEDC JUMP JUMPDEST PUSH2 0xED9 DUP2 PUSH1 0x1 PUSH2 0x1057 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xE8B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xEFF JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xF11 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0xF23 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0xF35 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0xF47 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0xF59 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0xF6B JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x7F JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xF8D JUMPI DUP2 PUSH2 0x61D JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFA3 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x10AA JUMP JUMPDEST PUSH2 0x61D SWAP1 DUP5 DUP5 AND PUSH2 0x1057 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1031 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x10C7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAD 0xEE 0x2B PUSH19 0x30F17DD9439E4B221FBE0CA4C725FDC47DA040 SWAP8 0xBE 0xB1 0x23 GAS 0xE3 SELFBALANCE EXTCODECOPY 0xB6 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1816:4786:106:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1816:4786:106;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_proposalDeadline_60068":{"entryPoint":1109,"id":60068,"parameterSlots":1,"returnSlots":1},"@_proposalSnapshot_60010":{"entryPoint":1800,"id":60010,"parameterSlots":1,"returnSlots":1},"@_quorumNumeratorByProposalType_60689":{"entryPoint":null,"id":60689,"parameterSlots":2,"returnSlots":1},"@_state_61095":{"entryPoint":133,"id":61095,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":3720,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":3988,"id":6189,"parameterSlots":2,"returnSlots":1},"@getGovernorStorage_61139":{"entryPoint":1073,"id":61139,"parameterSlots":0,"returnSlots":1},"@log2_6671":{"entryPoint":3818,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":3966,"id":6166,"parameterSlots":2,"returnSlots":1},"@proposalDepositReached_57544":{"entryPoint":1572,"id":57544,"parameterSlots":1,"returnSlots":1},"@proposalEta_58227":{"entryPoint":1750,"id":58227,"parameterSlots":1,"returnSlots":1},"@quorumByProposalType_60543":{"entryPoint":2736,"id":60543,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_60305":{"entryPoint":null,"id":60305,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_60403":{"entryPoint":2892,"id":60403,"parameterSlots":2,"returnSlots":1},"@quorumReached_60616":{"entryPoint":1616,"id":60616,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":3488,"id":6504,"parameterSlots":1,"returnSlots":1},"@state_60829":{"entryPoint":99,"id":60829,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":3251,"id":7770,"parameterSlots":1,"returnSlots":1},"@upperLookupRecent_9604":{"entryPoint":3306,"id":9604,"parameterSlots":2,"returnSlots":1},"@voteSucceeded_61728":{"entryPoint":1710,"id":61728,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":4127,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":4015,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":4062,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":4087,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":4183,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4266,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":4221,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4202,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":4161,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":4244,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":4040,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":4300,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2974:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:150"},"nodeType":"YulFunctionCall","src":"132:12:150"},"nodeType":"YulExpressionStatement","src":"132:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:150"},"nodeType":"YulFunctionCall","src":"101:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:150"},"nodeType":"YulFunctionCall","src":"97:32:150"},"nodeType":"YulIf","src":"94:52:150"},{"nodeType":"YulAssignment","src":"155:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:150"},"nodeType":"YulFunctionCall","src":"165:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:150","type":""}],"src":"14:180:150"},{"body":{"nodeType":"YulBlock","src":"304:87:150","statements":[{"nodeType":"YulAssignment","src":"314:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"326:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"337:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"322:3:150"},"nodeType":"YulFunctionCall","src":"322:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"314:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"356:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"371:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"379:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"367:3:150"},"nodeType":"YulFunctionCall","src":"367:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"349:6:150"},"nodeType":"YulFunctionCall","src":"349:36:150"},"nodeType":"YulExpressionStatement","src":"349:36:150"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"273:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"284:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"295:4:150","type":""}],"src":"199:192:150"},{"body":{"nodeType":"YulBlock","src":"428:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"445:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"452:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"457:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"448:3:150"},"nodeType":"YulFunctionCall","src":"448:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"438:6:150"},"nodeType":"YulFunctionCall","src":"438:31:150"},"nodeType":"YulExpressionStatement","src":"438:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"485:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"488:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"478:6:150"},"nodeType":"YulFunctionCall","src":"478:15:150"},"nodeType":"YulExpressionStatement","src":"478:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"509:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"512:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"502:6:150"},"nodeType":"YulFunctionCall","src":"502:15:150"},"nodeType":"YulExpressionStatement","src":"502:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"396:127:150"},{"body":{"nodeType":"YulBlock","src":"629:76:150","statements":[{"nodeType":"YulAssignment","src":"639:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"651:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"662:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"647:3:150"},"nodeType":"YulFunctionCall","src":"647:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"639:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"681:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"692:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"674:6:150"},"nodeType":"YulFunctionCall","src":"674:25:150"},"nodeType":"YulExpressionStatement","src":"674:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"598:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"609:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"620:4:150","type":""}],"src":"528:177:150"},{"body":{"nodeType":"YulBlock","src":"791:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"837:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"846:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"849:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"839:6:150"},"nodeType":"YulFunctionCall","src":"839:12:150"},"nodeType":"YulExpressionStatement","src":"839:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"812:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"821:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"808:3:150"},"nodeType":"YulFunctionCall","src":"808:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"833:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"804:3:150"},"nodeType":"YulFunctionCall","src":"804:32:150"},"nodeType":"YulIf","src":"801:52:150"},{"nodeType":"YulAssignment","src":"862:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"878:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"872:5:150"},"nodeType":"YulFunctionCall","src":"872:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"862:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"757:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"768:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"780:6:150","type":""}],"src":"710:184:150"},{"body":{"nodeType":"YulBlock","src":"979:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"1025:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1034:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1037:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1027:6:150"},"nodeType":"YulFunctionCall","src":"1027:12:150"},"nodeType":"YulExpressionStatement","src":"1027:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1000:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1009:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"996:3:150"},"nodeType":"YulFunctionCall","src":"996:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1021:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"992:3:150"},"nodeType":"YulFunctionCall","src":"992:32:150"},"nodeType":"YulIf","src":"989:52:150"},{"nodeType":"YulVariableDeclaration","src":"1050:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1069:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1063:5:150"},"nodeType":"YulFunctionCall","src":"1063:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1054:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1137:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1146:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1149:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1139:6:150"},"nodeType":"YulFunctionCall","src":"1139:12:150"},"nodeType":"YulExpressionStatement","src":"1139:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1101:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1112:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1119:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1108:3:150"},"nodeType":"YulFunctionCall","src":"1108:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1098:2:150"},"nodeType":"YulFunctionCall","src":"1098:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1091:6:150"},"nodeType":"YulFunctionCall","src":"1091:45:150"},"nodeType":"YulIf","src":"1088:65:150"},{"nodeType":"YulAssignment","src":"1162:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1172:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1162:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"945:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"956:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"968:6:150","type":""}],"src":"899:284:150"},{"body":{"nodeType":"YulBlock","src":"1289:76:150","statements":[{"nodeType":"YulAssignment","src":"1299:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1311:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1322:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1307:3:150"},"nodeType":"YulFunctionCall","src":"1307:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1299:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1341:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1352:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1334:6:150"},"nodeType":"YulFunctionCall","src":"1334:25:150"},"nodeType":"YulExpressionStatement","src":"1334:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1258:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1269:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1280:4:150","type":""}],"src":"1188:177:150"},{"body":{"nodeType":"YulBlock","src":"1448:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"1494:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1503:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1506:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1496:6:150"},"nodeType":"YulFunctionCall","src":"1496:12:150"},"nodeType":"YulExpressionStatement","src":"1496:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1469:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1478:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1465:3:150"},"nodeType":"YulFunctionCall","src":"1465:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1490:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1461:3:150"},"nodeType":"YulFunctionCall","src":"1461:32:150"},"nodeType":"YulIf","src":"1458:52:150"},{"nodeType":"YulVariableDeclaration","src":"1519:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1538:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1532:5:150"},"nodeType":"YulFunctionCall","src":"1532:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1523:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1601:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1610:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1613:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1603:6:150"},"nodeType":"YulFunctionCall","src":"1603:12:150"},"nodeType":"YulExpressionStatement","src":"1603:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1570:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1591:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1584:6:150"},"nodeType":"YulFunctionCall","src":"1584:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1577:6:150"},"nodeType":"YulFunctionCall","src":"1577:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1567:2:150"},"nodeType":"YulFunctionCall","src":"1567:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1560:6:150"},"nodeType":"YulFunctionCall","src":"1560:40:150"},"nodeType":"YulIf","src":"1557:60:150"},{"nodeType":"YulAssignment","src":"1626:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1636:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1626:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1414:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1425:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1437:6:150","type":""}],"src":"1370:277:150"},{"body":{"nodeType":"YulBlock","src":"1684:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1701:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1708:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1713:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1704:3:150"},"nodeType":"YulFunctionCall","src":"1704:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1694:6:150"},"nodeType":"YulFunctionCall","src":"1694:31:150"},"nodeType":"YulExpressionStatement","src":"1694:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1741:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1744:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1734:6:150"},"nodeType":"YulFunctionCall","src":"1734:15:150"},"nodeType":"YulExpressionStatement","src":"1734:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1765:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1768:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1758:6:150"},"nodeType":"YulFunctionCall","src":"1758:15:150"},"nodeType":"YulExpressionStatement","src":"1758:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"1652:127:150"},{"body":{"nodeType":"YulBlock","src":"1832:77:150","statements":[{"nodeType":"YulAssignment","src":"1842:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1853:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"1856:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1849:3:150"},"nodeType":"YulFunctionCall","src":"1849:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"1842:3:150"}]},{"body":{"nodeType":"YulBlock","src":"1881:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1883:16:150"},"nodeType":"YulFunctionCall","src":"1883:18:150"},"nodeType":"YulExpressionStatement","src":"1883:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1873:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"1876:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1870:2:150"},"nodeType":"YulFunctionCall","src":"1870:10:150"},"nodeType":"YulIf","src":"1867:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1815:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"1818:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"1824:3:150","type":""}],"src":"1784:125:150"},{"body":{"nodeType":"YulBlock","src":"1963:79:150","statements":[{"nodeType":"YulAssignment","src":"1973:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1985:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"1988:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1981:3:150"},"nodeType":"YulFunctionCall","src":"1981:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"1973:4:150"}]},{"body":{"nodeType":"YulBlock","src":"2014:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2016:16:150"},"nodeType":"YulFunctionCall","src":"2016:18:150"},"nodeType":"YulExpressionStatement","src":"2016:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"2005:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"2011:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2002:2:150"},"nodeType":"YulFunctionCall","src":"2002:11:150"},"nodeType":"YulIf","src":"1999:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1945:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"1948:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"1954:4:150","type":""}],"src":"1914:128:150"},{"body":{"nodeType":"YulBlock","src":"2099:116:150","statements":[{"nodeType":"YulAssignment","src":"2109:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2124:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2127:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2120:3:150"},"nodeType":"YulFunctionCall","src":"2120:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"2109:7:150"}]},{"body":{"nodeType":"YulBlock","src":"2187:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2189:16:150"},"nodeType":"YulFunctionCall","src":"2189:18:150"},"nodeType":"YulExpressionStatement","src":"2189:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2158:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2151:6:150"},"nodeType":"YulFunctionCall","src":"2151:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2165:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"2172:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"2181:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2168:3:150"},"nodeType":"YulFunctionCall","src":"2168:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2162:2:150"},"nodeType":"YulFunctionCall","src":"2162:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2148:2:150"},"nodeType":"YulFunctionCall","src":"2148:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2141:6:150"},"nodeType":"YulFunctionCall","src":"2141:45:150"},"nodeType":"YulIf","src":"2138:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2078:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2081:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"2087:7:150","type":""}],"src":"2047:168:150"},{"body":{"nodeType":"YulBlock","src":"2252:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2269:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2276:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2281:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2272:3:150"},"nodeType":"YulFunctionCall","src":"2272:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2262:6:150"},"nodeType":"YulFunctionCall","src":"2262:31:150"},"nodeType":"YulExpressionStatement","src":"2262:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2309:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2312:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2302:6:150"},"nodeType":"YulFunctionCall","src":"2302:15:150"},"nodeType":"YulExpressionStatement","src":"2302:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2333:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2336:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2326:6:150"},"nodeType":"YulFunctionCall","src":"2326:15:150"},"nodeType":"YulExpressionStatement","src":"2326:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"2220:127:150"},{"body":{"nodeType":"YulBlock","src":"2398:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"2429:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2450:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2457:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2462:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2453:3:150"},"nodeType":"YulFunctionCall","src":"2453:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2443:6:150"},"nodeType":"YulFunctionCall","src":"2443:31:150"},"nodeType":"YulExpressionStatement","src":"2443:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2494:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2497:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2487:6:150"},"nodeType":"YulFunctionCall","src":"2487:15:150"},"nodeType":"YulExpressionStatement","src":"2487:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2522:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2525:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2515:6:150"},"nodeType":"YulFunctionCall","src":"2515:15:150"},"nodeType":"YulExpressionStatement","src":"2515:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2418:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2411:6:150"},"nodeType":"YulFunctionCall","src":"2411:9:150"},"nodeType":"YulIf","src":"2408:132:150"},{"nodeType":"YulAssignment","src":"2549:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2558:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2561:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2554:3:150"},"nodeType":"YulFunctionCall","src":"2554:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2549:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2383:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2386:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"2392:1:150","type":""}],"src":"2352:217:150"},{"body":{"nodeType":"YulBlock","src":"2606:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2623:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2630:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2635:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2626:3:150"},"nodeType":"YulFunctionCall","src":"2626:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2616:6:150"},"nodeType":"YulFunctionCall","src":"2616:31:150"},"nodeType":"YulExpressionStatement","src":"2616:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2663:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2666:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2656:6:150"},"nodeType":"YulFunctionCall","src":"2656:15:150"},"nodeType":"YulExpressionStatement","src":"2656:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2687:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2690:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2680:6:150"},"nodeType":"YulFunctionCall","src":"2680:15:150"},"nodeType":"YulExpressionStatement","src":"2680:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"2574:127:150"},{"body":{"nodeType":"YulBlock","src":"2842:130:150","statements":[{"nodeType":"YulAssignment","src":"2852:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2864:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2875:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2860:3:150"},"nodeType":"YulFunctionCall","src":"2860:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2852:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2894:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2909:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2917:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2905:3:150"},"nodeType":"YulFunctionCall","src":"2905:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2887:6:150"},"nodeType":"YulFunctionCall","src":"2887:36:150"},"nodeType":"YulExpressionStatement","src":"2887:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2943:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2954:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2939:3:150"},"nodeType":"YulFunctionCall","src":"2939:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"2959:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2932:6:150"},"nodeType":"YulFunctionCall","src":"2932:34:150"},"nodeType":"YulExpressionStatement","src":"2932:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2803:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2814:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2822:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2833:4:150","type":""}],"src":"2706:266:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":517},{"length":20,"start":2464},{"length":20,"start":2587}]}},"object":"73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80633e4f49e61461003a575b600080fd5b61004d610048366004610faf565b610063565b60405160ff909116815260200160405180910390f35b600061006e82610085565b600981111561007f5761007f610fc8565b92915050565b600080610090610431565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b90920416908360028111156100e5576100e5610fc8565b036100f7575060089695505050505050565b600283600281111561010b5761010b610fc8565b0361011d575060099695505050505050565b8115610130575060069695505050505050565b8015610143575060029695505050505050565b836001015460000361017057604051636ad0607560e01b8152600481018890526024015b60405180910390fd5b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee9190610fde565b1015610201575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610ff7565b65ffffffffffff169050600061028589610455565b905061029089610624565b6102a35750600798975050505050505050565b8181106102b95750600198975050505050505050565b6102c289610650565b15806102d457506102d2896106ae565b155b156102e85750600398975050505050505050565b6102f1896106d6565b6000036103075750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610364573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610388919061101f565b1561039d575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c919061101f565b15610421575060069998505050505050505050565b5060029998505050505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600080610460610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f49190610fde565b10610591576000610503610431565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610fde565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610fde565b61061384610708565b61061d9190611057565b9392505050565b60008061062f610431565b60009384526001016020525050604090206004810154600390910154101590565b60008061065b610431565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906106a461068d86610708565b83600181111561069f5761069f610fc8565b610ab0565b1115949350505050565b6000806106b9610431565b6000938452600f0160205250506040902080546001909101541190565b6000806106e1610431565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080610713610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610fde565b106107ff5760006107b6610431565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401610548565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f9190610fde565b600085815260018085016020526040909120015461088d919061106a565b9050600061089c60018361106a565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109159190610fde565b61091f919061107d565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190610fde565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0b9190610ff7565b65ffffffffffff168111610a915773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190610ff7565b65ffffffffffff1690505b82610a9c8383611057565b610aa69190611057565b9695505050505050565b600080610abb610431565b90506064610ac98585610b4c565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b389190610fde565b610b42919061107d565b61058991906110aa565b600061061d838360ff166001811115610b6757610b67610fc8565b600080610b72610431565b90506000816018016000856001811115610b8e57610b8e610fc8565b6001811115610b9f57610b9f610fc8565b8152602081019190915260400160009081205491506018830181866001811115610bcb57610bcb610fc8565b6001811115610bdc57610bdc610fc8565b81526020810191909152604001600020610bf760018461106a565b81548110610c0757610c076110cc565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610c4d576001600160d01b0316945061007f9350505050565b610c9e610c5989610cb3565b8660180160008a6001811115610c7157610c71610fc8565b6001811115610c8257610c82610fc8565b8152602001908152602001600020610cea90919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff821115610ce6576040516306dfcc6560e41b81526030600482015260248101839052604401610167565b5090565b815460009081816005811115610d49576000610d0584610da0565b610d0f908561106a565b60008881526020902090915081015465ffffffffffff9081169087161015610d3957809150610d47565b610d44816001611057565b92505b505b6000610d5787878585610e88565b90508015610d9257610d7c87610d6e60018461106a565b600091825260209091200190565b54600160301b90046001600160d01b0316610d95565b60005b979650505050505050565b600081600003610db257506000919050565b60006001610dbf84610eea565b901c6001901b90506001818481610dd857610dd8611094565b048201901c90506001818481610df057610df0611094565b048201901c90506001818481610e0857610e08611094565b048201901c90506001818481610e2057610e20611094565b048201901c90506001818481610e3857610e38611094565b048201901c90506001818481610e5057610e50611094565b048201901c90506001818481610e6857610e68611094565b048201901c905061061d81828581610e8257610e82611094565b04610f7e565b60005b81831015610ee2576000610e9f8484610f94565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ece57809250610edc565b610ed9816001611057565b93505b50610e8b565b509392505050565b600080608083901c15610eff57608092831c92015b604083901c15610f1157604092831c92015b602083901c15610f2357602092831c92015b601083901c15610f3557601092831c92015b600883901c15610f4757600892831c92015b600483901c15610f5957600492831c92015b600283901c15610f6b57600292831c92015b600183901c1561007f5760010192915050565b6000818310610f8d578161061d565b5090919050565b6000610fa360028484186110aa565b61061d90848416611057565b600060208284031215610fc157600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215610ff057600080fd5b5051919050565b60006020828403121561100957600080fd5b815165ffffffffffff8116811461061d57600080fd5b60006020828403121561103157600080fd5b8151801515811461061d57600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561007f5761007f611041565b8181038181111561007f5761007f611041565b808202811582820484141761007f5761007f611041565b634e487b7160e01b600052601260045260246000fd5b6000826110c757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220adee2b7230f17dd9439e4b221fbe0ca4c725fdc47da04097beb1235ae3473cb664736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAF JUMP JUMPDEST PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x6E DUP3 PUSH2 0x85 JUMP JUMPDEST PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0xFC8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x90 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE5 JUMPI PUSH2 0xE5 PUSH2 0xFC8 JUMP JUMPDEST SUB PUSH2 0xF7 JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x10B JUMPI PUSH2 0x10B PUSH2 0xFC8 JUMP JUMPDEST SUB PUSH2 0x11D JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x130 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x143 JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x170 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT ISZERO PUSH2 0x201 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x24C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x270 SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x285 DUP10 PUSH2 0x455 JUMP JUMPDEST SWAP1 POP PUSH2 0x290 DUP10 PUSH2 0x624 JUMP JUMPDEST PUSH2 0x2A3 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x2B9 JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2C2 DUP10 PUSH2 0x650 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x2D4 JUMPI POP PUSH2 0x2D2 DUP10 PUSH2 0x6AE JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x2E8 JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2F1 DUP10 PUSH2 0x6D6 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x307 JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x364 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x388 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST ISZERO PUSH2 0x39D JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3E8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x40C SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST ISZERO PUSH2 0x421 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x460 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4F4 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT PUSH2 0x591 JUMPI PUSH1 0x0 PUSH2 0x503 PUSH2 0x431 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x565 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x589 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5E6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x60A SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0x613 DUP5 PUSH2 0x708 JUMP JUMPDEST PUSH2 0x61D SWAP2 SWAP1 PUSH2 0x1057 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x62F PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x65B PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x6A4 PUSH2 0x68D DUP7 PUSH2 0x708 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x69F JUMPI PUSH2 0x69F PUSH2 0xFC8 JUMP JUMPDEST PUSH2 0xAB0 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6B9 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6E1 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x713 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x783 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7A7 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST LT PUSH2 0x7FF JUMPI PUSH1 0x0 PUSH2 0x7B6 PUSH2 0x431 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x548 JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x84B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x86F SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x88D SWAP2 SWAP1 PUSH2 0x106A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x89C PUSH1 0x1 DUP4 PUSH2 0x106A JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x915 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0x91F SWAP2 SWAP1 PUSH2 0x107D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x978 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x99C SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA0B SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0xA91 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA62 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA86 SWAP2 SWAP1 PUSH2 0xFF7 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0xA9C DUP4 DUP4 PUSH2 0x1057 JUMP JUMPDEST PUSH2 0xAA6 SWAP2 SWAP1 PUSH2 0x1057 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xABB PUSH2 0x431 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0xAC9 DUP6 DUP6 PUSH2 0xB4C JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB14 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB38 SWAP2 SWAP1 PUSH2 0xFDE JUMP JUMPDEST PUSH2 0xB42 SWAP2 SWAP1 PUSH2 0x107D JUMP JUMPDEST PUSH2 0x589 SWAP2 SWAP1 PUSH2 0x10AA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x61D DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB67 JUMPI PUSH2 0xB67 PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB72 PUSH2 0x431 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB8E JUMPI PUSH2 0xB8E PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xB9F JUMPI PUSH2 0xB9F PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBCB JUMPI PUSH2 0xBCB PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0xBF7 PUSH1 0x1 DUP5 PUSH2 0x106A JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xC07 JUMPI PUSH2 0xC07 PUSH2 0x10CC JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0xC4D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x7F SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0xC9E PUSH2 0xC59 DUP10 PUSH2 0xCB3 JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC71 JUMPI PUSH2 0xC71 PUSH2 0xFC8 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC82 JUMPI PUSH2 0xC82 PUSH2 0xFC8 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0xCEA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xCE6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x167 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xD49 JUMPI PUSH1 0x0 PUSH2 0xD05 DUP5 PUSH2 0xDA0 JUMP JUMPDEST PUSH2 0xD0F SWAP1 DUP6 PUSH2 0x106A JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xD39 JUMPI DUP1 SWAP2 POP PUSH2 0xD47 JUMP JUMPDEST PUSH2 0xD44 DUP2 PUSH1 0x1 PUSH2 0x1057 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xD57 DUP8 DUP8 DUP6 DUP6 PUSH2 0xE88 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xD92 JUMPI PUSH2 0xD7C DUP8 PUSH2 0xD6E PUSH1 0x1 DUP5 PUSH2 0x106A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xD95 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDB2 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDBF DUP5 PUSH2 0xEEA JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDD8 JUMPI PUSH2 0xDD8 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xDF0 JUMPI PUSH2 0xDF0 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE08 JUMPI PUSH2 0xE08 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE20 JUMPI PUSH2 0xE20 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE38 JUMPI PUSH2 0xE38 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE50 JUMPI PUSH2 0xE50 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE68 JUMPI PUSH2 0xE68 PUSH2 0x1094 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x61D DUP2 DUP3 DUP6 DUP2 PUSH2 0xE82 JUMPI PUSH2 0xE82 PUSH2 0x1094 JUMP JUMPDEST DIV PUSH2 0xF7E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xEE2 JUMPI PUSH1 0x0 PUSH2 0xE9F DUP5 DUP5 PUSH2 0xF94 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xECE JUMPI DUP1 SWAP3 POP PUSH2 0xEDC JUMP JUMPDEST PUSH2 0xED9 DUP2 PUSH1 0x1 PUSH2 0x1057 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xE8B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xEFF JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xF11 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0xF23 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0xF35 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0xF47 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0xF59 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0xF6B JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x7F JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xF8D JUMPI DUP2 PUSH2 0x61D JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFA3 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x10AA JUMP JUMPDEST PUSH2 0x61D SWAP1 DUP5 DUP5 AND PUSH2 0x1057 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1031 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x7F JUMPI PUSH2 0x7F PUSH2 0x1041 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x10C7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAD 0xEE 0x2B PUSH19 0x30F17DD9439E4B221FBE0CA4C725FDC47DA040 SWAP8 0xBE 0xB1 0x23 GAS 0xE3 SELFBALANCE EXTCODECOPY 0xB6 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1816:4786:106:-:0;;;;;;;;;;;;;;;;;;;;;;;;2858:116;;;;;;:::i;:::-;;:::i;:::-;;;379:4:150;367:17;;;349:36;;337:2;322:18;2858:116:106;;;;;;;;2924:5;2950:18;2957:10;2950:6;:18::i;:::-;2944:25;;;;;;;;:::i;:::-;2937:32;2858:116;-1:-1:-1;;2858:116:106:o;4324:2276::-;4391:27;4426:46;4475:41;:39;:41::i;:::-;4559:43;4605:23;;;:11;;;;:23;;;;;;;;4700:26;;;:38;;;;;;;4768:17;;;;4426:90;;-1:-1:-1;4605:23:106;;4700:38;;;;;-1:-1:-1;;;4768:17:106;;;;;-1:-1:-1;;;4815:17:106;;;;;4843:24;:80;;;;;;;;:::i;:::-;;4839:149;;-1:-1:-1;4940:41:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4839:149::-;5026:48;4998:24;:76;;;;;;;;:::i;:::-;;4994:141;;-1:-1:-1;5091:37:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4994:141::-;5145:16;5141:80;;;-1:-1:-1;5178:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5141:80::-;5231:16;5227:80;;;-1:-1:-1;5264:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5227:80::-;5317:8;:25;;;5346:1;5317:30;5313:97;;5364:39;;-1:-1:-1;;;5364:39:106;;;;;674:25:150;;;647:18;;5364:39:106;;;;;;;;5313:97;5499:8;:25;;;5460:1;:19;;;;;;;;;;-1:-1:-1;;;;;5460:19:106;-1:-1:-1;;;;;5460:34:106;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;5456:127;;;-1:-1:-1;5541:35:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5456:127::-;5589:24;5616:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5589:53;;;;5648:16;5667:51;5707:10;5667:39;:51::i;:::-;5648:70;;5730:55;5774:10;5730:43;:55::i;:::-;5725:125;;-1:-1:-1;5802:41:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5725:125::-;5872:16;5860:8;:28;5856:740;;-1:-1:-1;5905:34:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5856:740::-;5964:45;5998:10;5964:33;:45::i;:::-;5963:46;:95;;;;6014:44;6047:10;6014:32;:44::i;:::-;6013:45;5963:95;5952:644;;;-1:-1:-1;6080:36:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5952:644::-;6133:45;6167:10;6133:33;:45::i;:::-;6182:1;6133:50;6129:467;;-1:-1:-1;6200:37:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;6129:467::-;6258:15;6276:25;;;:13;;;:25;;;;;;;;6313:10;;;;:38;;-1:-1:-1;;;6313:38:106;;;;;674:25:150;;;6276::106;;-1:-1:-1;;;;;6313:10:106;;:29;;647:18:150;;6313:38:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6309:281;;;-1:-1:-1;6370:34:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6309:281::-;6423:10;;;;:35;;-1:-1:-1;;;6423:35:106;;;;;674:25:150;;;-1:-1:-1;;;;;6423:10:106;;;;:26;;647:18:150;;6423:35:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6419:171;;;-1:-1:-1;6477:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6419:171::-;-1:-1:-1;6545:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;2697:146:107:-;2810:23;;2697:146::o;36683:757:104:-;36761:7;36776:46;36825:41;:39;:41::i;:::-;36776:90;;37009:1;:11;;:23;37021:10;37009:23;;;;;;;;;;;:40;;;36969:1;:19;;;;;;;;;;-1:-1:-1;;;;;36969:19:104;-1:-1:-1;;;;;36969:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36965:279;;37057:46;37106:41;:39;:41::i;:::-;37162:19;;;;;37196:23;;;37162:19;37196:11;;;:23;;;;;;;:40;;37162:75;;-1:-1:-1;;;37162:75:104;;;;;674:25:150;;;;37162:19:104;;-1:-1:-1;;;;;;37162:19:104;;:33;;647:18:150;;37162:75:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37155:82;36683:757;-1:-1:-1;;;;36683:757:104:o;36965:279::-;37401:1;:19;;;;;;;;;;-1:-1:-1;;;;;37401:19:104;-1:-1:-1;;;;;37401:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37369:29;37387:10;37369:17;:29::i;:::-;:66;;;;:::i;:::-;37362:73;36683:757;-1:-1:-1;;;36683:757:104:o;8286:329:101:-;8369:4;8381:46;8430:41;:39;:41::i;:::-;8477:43;8523:23;;;:11;;:23;;-1:-1:-1;;8523:23:101;;;8585:25;;;;8559:22;;;;;:51;;;8286:329::o;8505:411:105:-;8579:4;8591:46;8640:41;:39;:41::i;:::-;8687:39;8729:26;;;:14;;;:26;;;;;;;;;8879:20;;;:32;;;;;;;8591:90;;-1:-1:-1;8729:26:105;;;8775:94;8796:51;8744:10;8796:39;:51::i;:::-;8855:12;8849:19;;;;;;;;:::i;:::-;8775:20;:94::i;:::-;:136;;;8505:411;-1:-1:-1;;;;8505:411:105:o;6487:318:109:-;6553:4;6565:46;6614:41;:39;:41::i;:::-;6661:47;6711:27;;;:15;;:27;;-1:-1:-1;;6711:27:109;;;6775:25;;6751:21;;;;;:49;;6487:318::o;7121:229:104:-;7193:7;7208:46;7257:41;:39;:41::i;:::-;7311:23;;;;:11;;:23;;-1:-1:-1;;7311:23:104;;;:34;;;-1:-1:-1;;;7311:34:104;;;;;7121:229::o;35366:1145::-;35444:7;35459:46;35508:41;:39;:41::i;:::-;35459:90;;35662:1;:11;;:23;35674:10;35662:23;;;;;;;;;;;:40;;;35622:1;:19;;;;;;;;;;-1:-1:-1;;;;;35622:19:104;-1:-1:-1;;;;;35622:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;35618:279;;35710:46;35759:41;:39;:41::i;:::-;35815:19;;;;;35849:23;;;35815:19;35849:11;;;:23;;;;;;;:40;;35815:75;;-1:-1:-1;;;35815:75:104;;;;;674:25:150;;;;35815:19:104;;-1:-1:-1;;;;;;35815:19:104;;:33;;647:18:150;;35815:75:104;528:177:150;35618:279:104;35975:19;;;;:36;;;-1:-1:-1;;;35975:36:104;;;;35903:26;;-1:-1:-1;;;;;35975:19:104;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35932:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;35903:108;-1:-1:-1;36017:26:104;36084:22;36105:1;35903:108;36084:22;:::i;:::-;36046:1;:19;;;;;;;;;;-1:-1:-1;;;;;36046:19:104;-1:-1:-1;;;;;36046:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36017:90;;36169:28;36200:1;:19;;;;;;;;;;-1:-1:-1;;;;;36200:19:104;-1:-1:-1;;;;;36200:40:104;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36169:73;;36339:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36315:50;;:20;:50;36311:120;;36398:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36375:49;;;;36311:120;36488:18;36444:41;36467:18;36444:20;:41;:::i;:::-;:62;;;;:::i;:::-;36437:69;35366:1145;-1:-1:-1;;;;;;35366:1145:104:o;6604:364:105:-;6711:7;6726:46;6775:41;:39;:41::i;:::-;6726:90;-1:-1:-1;3160:3:105;6875:59;6905:9;6916:17;6875:29;:59::i;:::-;6836:6;;;;:36;;-1:-1:-1;;;6836:36:105;;;;;674:25:150;;;-1:-1:-1;;;;;6836:6:105;;;;:25;;647:18:150;;6836:36:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6835:128;;;;:::i;4421:231::-;4537:7;4559:88;4590:9;4628:17;4601:45;;;;;;;;;;:::i;:::-;9407:7;9422:46;9471:41;:39;:41::i;:::-;9422:90;;9518:14;9535:1;:20;;:39;9556:17;9535:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9535:39:105;;;:59;;-1:-1:-1;9698:20:105;;;-1:-1:-1;9719:17:105;9698:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9698:39:105;9751:10;9760:1;9751:6;:10;:::i;:::-;9698:64;;;;;;;;:::i;:::-;;;;;;;;;;9787:11;;9698:64;;-1:-1:-1;9787:11:105;;;;-1:-1:-1;;;9826:13:105;;-1:-1:-1;;;;;9826:13:105;9849:22;;;9845:61;;-1:-1:-1;;;;;9881:18:105;;-1:-1:-1;9881:18:105;;-1:-1:-1;;;;9881:18:105;9845:61;9958:87;10016:28;10034:9;10016:17;:28::i;:::-;9958:1;:20;;:39;9979:17;9958:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:57;;:87;;;;:::i;:::-;-1:-1:-1;;;;;9951:94:105;;9267:783;-1:-1:-1;;;;;;;;9267:783:105:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;2887:36:150;2939:18;;;2932:34;;;2860:18;;14416:41:37;2706:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;10699:983:36:-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;14:180:150:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:150;;14:180;-1:-1:-1;14:180:150:o;396:127::-;457:10;452:3;448:20;445:1;438:31;488:4;485:1;478:15;512:4;509:1;502:15;710:184;780:6;833:2;821:9;812:7;808:23;804:32;801:52;;;849:1;846;839:12;801:52;-1:-1:-1;872:16:150;;710:184;-1:-1:-1;710:184:150:o;899:284::-;968:6;1021:2;1009:9;1000:7;996:23;992:32;989:52;;;1037:1;1034;1027:12;989:52;1069:9;1063:16;1119:14;1112:5;1108:26;1101:5;1098:37;1088:65;;1149:1;1146;1139:12;1370:277;1437:6;1490:2;1478:9;1469:7;1465:23;1461:32;1458:52;;;1506:1;1503;1496:12;1458:52;1538:9;1532:16;1591:5;1584:13;1577:21;1570:5;1567:32;1557:60;;1613:1;1610;1603:12;1652:127;1713:10;1708:3;1704:20;1701:1;1694:31;1744:4;1741:1;1734:15;1768:4;1765:1;1758:15;1784:125;1849:9;;;1870:10;;;1867:36;;;1883:18;;:::i;1914:128::-;1981:9;;;2002:11;;;1999:37;;;2016:18;;:::i;2047:168::-;2120:9;;;2151;;2168:15;;;2162:22;;2148:37;2138:71;;2189:18;;:::i;2220:127::-;2281:10;2276:3;2272:20;2269:1;2262:31;2312:4;2309:1;2302:15;2336:4;2333:1;2326:15;2352:217;2392:1;2418;2408:132;;2462:10;2457:3;2453:20;2450:1;2443:31;2497:4;2494:1;2487:15;2525:4;2522:1;2515:15;2408:132;-1:-1:-1;2554:9:150;;2352:217::o;2574:127::-;2635:10;2630:3;2626:20;2623:1;2616:31;2666:4;2663:1;2656:15;2690:4;2687:1;2680:15"},"methodIdentifiers":{"state(uint256)":"3e4f49e6"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"Thrown when the `proposalId` does not exist.\",\"params\":{\"proposalId\":\"The ID of the proposal that does not exist.\"}}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"Thrown when the current state of a proposal does not match the expected states.\",\"params\":{\"current\":\"The current state of the proposal.\",\"expectedStates\":\"The expected states of the proposal as a bitmap.\",\"proposalId\":\"The ID of the proposal.\"}}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{\"state(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal.\"},\"returns\":{\"_0\":\"The current state of the proposal.\"}}},\"title\":\"GovernorStateLogic\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"state(uint256)\":{\"notice\":\"Retrieves the current state of a proposal.\"}},\"notice\":\"Library for Governor state logic, managing the state transitions and validations of governance proposals.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorStateLogic.sol\":\"GovernorStateLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorStorageTypes.sol":{"GovernorStorageTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a9d63b091f0107c791367d39a8689841db94dd398e219f9a0c3a281f78c51dd664736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA9 0xD6 EXTCODESIZE MULMOD 0x1F ADD SMOD 0xC7 SWAP2 CALLDATASIZE PUSH30 0x39A8689841DB94DD398E219F9A0C3A281F78C51DD664736F6C6343000814 STOP CALLER ","sourceMap":"2392:7897:107:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2392:7897:107;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a9d63b091f0107c791367d39a8689841db94dd398e219f9a0c3a281f78c51dd664736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA9 0xD6 EXTCODESIZE MULMOD 0x1F ADD SMOD 0xC7 SWAP2 CALLDATASIZE PUSH30 0x39A8689841DB94DD398E219F9A0C3A281F78C51DD664736F6C6343000814 STOP CALLER ","sourceMap":"2392:7897:107:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"GovernorStorageTypes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for defining storage types used in the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorStorageTypes.sol\":\"GovernorStorageTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorTypes.sol":{"GovernorTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208ed7f2a697615880185884e674927acd0e31ffab94c84ad63b37286244c5cb8364736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP15 0xD7 CALLCODE 0xA6 SWAP8 PUSH2 0x5880 XOR PC DUP5 0xE6 PUSH21 0x927ACD0E31FFAB94C84AD63B37286244C5CB836473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"1755:3884:108:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1755:3884:108;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208ed7f2a697615880185884e674927acd0e31ffab94c84ad63b37286244c5cb8364736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP15 0xD7 CALLCODE 0xA6 SWAP8 PUSH2 0x5880 XOR PC DUP5 0xE6 PUSH21 0x927ACD0E31FFAB94C84AD63B37286244C5CB836473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"1755:3884:108:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorTypes.sol\":\"GovernorTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]}},\"version\":1}"}},"contracts/governance/libraries/GovernorVotesLogic.sol":{"GovernorVotesLogic":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"DelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernanceSkipWindowNotReached","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[],"name":"GovernorInvalidVoteType","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"string","name":"explanation","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorDecisionNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"power","type":"uint256"}],"name":"NavigatorGovernanceVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorGovernanceVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"disabled","type":"bool"}],"name":"QuadraticVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"power","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getQuadraticVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isQuadraticVotingDisabledForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isQuadraticVotingDisabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":537},{"length":20,"start":685},{"length":20,"start":5437},{"length":20,"start":5560},{"length":20,"start":8082}]},"contracts/governance/libraries/GovernorProposalLogic.sol":{"GovernorProposalLogic":[{"length":20,"start":2505},{"length":20,"start":3308}]}},"object":"612b1861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806381c0d6df146100715780639c17e7b31461008e578063a45aa313146100a5578063b69d417b146100b8578063b6e9eff4146100d9578063dd063f90146100f9575b600080fd5b610079610119565b60405190151581526020015b60405180910390f35b81801561009a57600080fd5b506100a36101cc565b005b6100796100b3366004612573565b61031c565b6100cb6100c63660046125a4565b6103c7565b604051908152602001610085565b8180156100e557600080fd5b506100cb6100f43660046125d0565b6103f2565b81801561010557600080fd5b506100cb61011436600461260f565b610ae9565b600080610124610d7b565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b031663561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a191906126ad565b90506101b96101af82610d9f565b6013840190610dd6565b6001600160d01b03166001149250505090565b60006101d6610d7b565b9050600061024a73__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af91906126c6565b6001600160d01b03166001149050600081610266576001610269565b60005b60ff1690506102e973__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156102ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102de91906126c6565b601385019083610e8c565b50506040518215907fe782263e17b994d34e64f19af2397c26081a1f4c26c604acb8fb3db6bafc903e90600090a2505050565b600080610327610d7b565b600a8101546040516368377f6d60e11b8152600481018690529192506000916103a3916001600160a01b03169063d06efeda90602401602060405180830381865afa15801561037a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039e91906126ad565b610d9f565b90506103b26013830182610dd6565b6001600160d01b031660011492505050919050565b60006103db6103d68484610ea7565b6110d5565b6103e990633b9aca00612704565b90505b92915050565b6000806103fd610d7b565b90506104128461040d60016111c4565b6111e7565b50600061041e85611226565b601f8301546040516318be49d960e01b81529192506000916001600160a01b03909116906318be49d990610458908890869060040161271b565b602060405180830381865afa158015610475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104999190612734565b90506001600160a01b0381166104cd5784604051630d1c9abb60e31b81526004016104c49190612751565b60405180910390fd5b600086815260018085016020526040918290200154601f850154915163506b90db60e11b815290916001600160a01b03169063a0d721b690610513908590600401612751565b602060405180830381865afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610554919061277a565b156106115760208401546001600160a01b0316156105d55760208401546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906105a29084908a908c90600401612795565b600060405180830381600087803b1580156105bc57600080fd5b505af11580156105d0573d6000803e3d6000fd5b505050505b86826001600160a01b0316876001600160a01b0316600080516020612ac383398151915260405160405180910390a460009450505050506103ec565b601f840154604051632246f2db60e01b81526001600160a01b0390911690632246f2db906106459085908b9060040161271b565b602060405180830381865afa158015610662573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610686919061277a565b61078557600061069588611613565b9050806106a0611796565b6106aa90436127b4565b10156106cc576040516324852b2f60e11b8152600481018990526024016104c4565b60208501546001600160a01b0316156107485760208501546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906107159085908b908d90600401612795565b600060405180830381600087803b15801561072f57600080fd5b505af1158015610743573d6000803e3d6000fd5b505050505b87836001600160a01b0316886001600160a01b0316600080516020612ac383398151915260405160405180910390a46000955050505050506103ec565b60148401546000906001600160a01b031663d0ebb0ee886107a587610d9f565b6040518363ffffffff1660e01b81526004016107c29291906127c7565b600060405180830381865afa1580156107df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108079190810190612822565b509050806108585760208501546001600160a01b0316156107485760208501546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906107159085908b908d90600401612795565b601f8501546040516338b3ce1360e01b81526000916001600160a01b0316906338b3ce139061088d9087908d9060040161271b565b602060405180830381865afa1580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce91906128e2565b905060006108dd6001836128ff565b601f88015460405163c61c06e760e01b81529192506000916001600160a01b039091169063c61c06e790610917908d908b9060040161271b565b602060405180830381865afa158015610934573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095891906126ad565b90506000610965826110d5565b61097390633b9aca00612704565b604051631504e3b960e11b8152600481018e905290915060009073__$0f6271ecd36857987d374ff633d31cbc3c$__90632a09c77290602401602060405180830381865af41580156109c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ed91906128e2565b60ff166001811115610a0157610a01612918565b9050610a0d83826117a9565b610a1a8d8d8686866117e6565b610a288a8e8e86888e611973565b610a338a8e8e611abc565b6040805160ff86168152602081018590529081018390528d906001600160a01b03808b1691908f16907fe5aba2374a4ff3b54ee59beb7eabaae209c8a3e5d31185fd429458c2f887c21a9060600160405180910390a46040805160ff86168152602081018590529081018390526080606082018190526000908201528d906001600160a01b038e1690600080516020612aa38339815191529060a0015b60405180910390a350909b9a5050505050505050505050565b600080610af4610d7b565b9050610b048761040d60016111c4565b506000610b1088611226565b601f8301549091506001600160a01b031615610bc557601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990610b5b908b90869060040161271b565b602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c9190612734565b6001600160a01b031614610bc5578660405163640ed18360e01b81526004016104c49190612751565b601482015460009081906001600160a01b031663d0ebb0ee8a610be786610d9f565b6040518363ffffffff1660e01b8152600401610c049291906127c7565b600060405180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c499190810190612822565b9150915081610c6f5788816040516344c4534960e01b81526004016104c492919061292e565b6000610c7b8a85610ea7565b90506000610c88826110d5565b610c9690633b9aca00612704565b604051631504e3b960e11b8152600481018e905290915060009073__$0f6271ecd36857987d374ff633d31cbc3c$__90632a09c77290602401602060405180830381865af4158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906128e2565b60ff166001811115610d2457610d24612918565b9050610d3083826117a9565b610d3d8d8d8d86866117e6565b610d4b878e8e868f8b611973565b8c8c6001600160a01b0316600080516020612aa38339815191528d86868f8f604051610ad0959493929190612970565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600065ffffffffffff821115610dd2576040516306dfcc6560e41b815260306004820152602481018390526044016104c4565b5090565b815460009081816005811115610e35576000610df1846110d5565b610dfb90856129b7565b60008881526020902090915081015465ffffffffffff9081169087161015610e2557809150610e33565b610e308160016127b4565b92505b505b6000610e4387878585611b57565b90508015610e7e57610e6887610e5a6001846129b7565b600091825260209091200190565b54600160301b90046001600160d01b0316610e81565b60005b979650505050505050565b600080610e9a858585611bb9565b915091505b935093915050565b600080610eb2610d7b565b600c810154604051630748d63560e31b81529192506000916001600160a01b0390911690633a46b1a890610eec908890889060040161271b565b602060405180830381865afa158015610f09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2d91906126ad565b601f8301549091506001600160a01b0316610f4b5791506103ec9050565b601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990610f80908990899060040161271b565b602060405180830381865afa158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc19190612734565b6001600160a01b03161461104d57601f82015460405163c61c06e760e01b81526001600160a01b039091169063c61c06e790611003908890889060040161271b565b602060405180830381865afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104491906126ad565b925050506103ec565b601f82015460405163094f6f2960e21b81526001600160a01b039091169063253dbca490611081908890889060040161271b565b602060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c291906126ad565b6110cc90826127b4565b95945050505050565b6000816000036110e757506000919050565b600060016110f484611d33565b901c6001901b9050600181848161110d5761110d6129ca565b048201901c90506001818481611125576111256129ca565b048201901c9050600181848161113d5761113d6129ca565b048201901c90506001818481611155576111556129ca565b048201901c9050600181848161116d5761116d6129ca565b048201901c90506001818481611185576111856129ca565b048201901c9050600181848161119d5761119d6129ca565b048201901c90506111bd818285816111b7576111b76129ca565b04611dc7565b9392505050565b60008160098111156111d8576111d8612918565b600160ff919091161b92915050565b6000806111f384611ddd565b9050600083611201836111c4565b16036103e9578381846040516331b75e4d60e01b81526004016104c4939291906129e0565b600080611231610d7b565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c591906126ad565b106113625760006112d4610d7b565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda906024015b602060405180830381865afa158015611336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135a91906126ad565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa1580156113ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d291906126ad565b60008581526001808501602052604090912001546113f091906129b7565b905060006113ff6001836129b7565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611454573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147891906126ad565b6114829190612704565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ff91906126ad565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e91906126c6565b65ffffffffffff1681116115f45773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156115c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e991906126c6565b65ffffffffffff1690505b826115ff83836127b4565b61160991906127b4565b9695505050505050565b60008061161e610d7b565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b291906126ad565b1061170a5760006116c1610d7b565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd90602401611319565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178391906126ad565b61178c84611226565b6111bd91906127b4565b60006117a0610d7b565b60220154905090565b60006117b482612184565b9050808310156117e15760405163742f62c360e01b815260048101829052602481018490526044016104c4565b505050565b60006117f0610d7b565b6000878152600f8201602090815260408083206001600160a01b038a16845260038101909252909120549192509060ff161561184157856040516371c6af4960e01b81526004016104c49190612751565b6001600160a01b03861660009081526003820160205260408120805460ff1916600117905561186e610119565b611878578361187a565b845b905060ff86166118a3578082600001600082825461189891906127b4565b909155506118fc9050565b60001960ff8716016118c3578082600101600082825461189891906127b4565b60011960ff8716016118e3578082600201600082825461189891906127b4565b6040516303599be160e11b815260040160405180910390fd5b60008881526011840160205260408120805487929061191c9084906127b4565b90915550506001600160a01b038716600090815260108401602052604090205460ff16611969576001600160a01b03871660009081526010840160205260409020805460ff191660011790555b5050505050505050565b600986015460405163a7381dab60e01b81526004810183905260009182916101009091046001600160a01b03169063a7381dab906024016040805180830381865afa1580156119c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ea9190612a08565b9150915060008460ff16600214611a015782611a03565b815b90506000612710611a148389612704565b611a1e9190612a2c565b60098b015490915061010090046001600160a01b0316632f18339d8a8a84611a45816110d5565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b03909216602484015260448301526064820152608401600060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b5050505050505050505050505050565b60208301546001600160a01b0316611ad357505050565b602080840154600084815260018087019093526040808220909301549251636cf88e7360e01b81526001600160a01b0390921692636cf88e7392611b209233928792909190600401612a4e565b600060405180830381600087803b158015611b3a57600080fd5b505af1158015611b4e573d6000803e3d6000fd5b50505050505050565b60005b81831015611bb1576000611b6e848461223a565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115611b9d57809250611bab565b611ba88160016127b4565b93505b50611b5a565b509392505050565b825460009081908015611cd8576000611bd787610e5a6001856129b7565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015611c2b57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603611c775784611c4e88610e5a6001866129b7565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611cc8565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610e9f9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610e9f565b600080608083901c15611d4857608092831c92015b604083901c15611d5a57604092831c92015b602083901c15611d6c57602092831c92015b601083901c15611d7e57601092831c92015b600883901c15611d9057600892831c92015b600483901c15611da257600492831c92015b600283901c15611db457600292831c92015b600183901c156103ec5760010192915050565b6000818310611dd657816103e9565b5090919050565b600080611de8610d7b565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115611e3d57611e3d612918565b03611e4f575060089695505050505050565b6002836002811115611e6357611e63612918565b03611e75575060099695505050505050565b8115611e88575060069695505050505050565b8015611e9b575060029695505050505050565b8360010154600003611ec357604051636ad0607560e01b8152600481018890526024016104c4565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4191906126ad565b1015611f54575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc391906126c6565b65ffffffffffff1690506000611fd889611613565b9050611fe389612255565b611ff65750600798975050505050505050565b81811061200c5750600198975050505050505050565b61201589612281565b15806120275750612025896122df565b155b1561203b5750600398975050505050505050565b61204489612307565b60000361205a5750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa1580156120b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120db919061277a565b156120f0575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa15801561213b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215f919061277a565b15612174575060069998505050505050505050565b5060029998505050505050505050565b60008061218f610d7b565b905061219a83612339565b6121fa5760405162461bcd60e51b815260206004820152602b60248201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260448201526a6f706f73616c207479706560a81b60648201526084016104c4565b80601701600084600181111561221257612212612918565b600181111561222357612223612918565b815260200190815260200160002054915050919050565b60006122496002848418612a2c565b6103e9908484166127b4565b600080612260610d7b565b60009384526001016020525050604090206004810154600390910154101590565b60008061228c610d7b565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906122d56122be86611226565b8360018111156122d0576122d0612918565b612370565b1115949350505050565b6000806122ea610d7b565b6000938452600f0160205250506040902080546001909101541190565b600080612312610d7b565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b60008082600181111561234e5761234e612918565b14806103ec5750600182600181111561236957612369612918565b1492915050565b60008061237b610d7b565b90506064612389858561240c565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156123d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f891906126ad565b6124029190612704565b61135a9190612a2c565b60006103e9838360ff16600181111561242757612427612918565b600080612432610d7b565b9050600081601801600085600181111561244e5761244e612918565b600181111561245f5761245f612918565b815260208101919091526040016000908120549150601883018186600181111561248b5761248b612918565b600181111561249c5761249c612918565b815260208101919091526040016000206124b76001846129b7565b815481106124c7576124c7612a8c565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031687821161250d576001600160d01b031694506103ec9350505050565b61255e61251989610d9f565b8660180160008a600181111561253157612531612918565b600181111561254257612542612918565b8152602001908152602001600020610dd690919063ffffffff16565b6001600160d01b031698975050505050505050565b60006020828403121561258557600080fd5b5035919050565b6001600160a01b03811681146125a157600080fd5b50565b600080604083850312156125b757600080fd5b82356125c28161258c565b946020939093013593505050565b600080604083850312156125e357600080fd5b8235915060208301356125f58161258c565b809150509250929050565b60ff811681146125a157600080fd5b60008060008060006080868803121561262757600080fd5b8535945060208601356126398161258c565b9350604086013561264981612600565b925060608601356001600160401b038082111561266557600080fd5b818801915088601f83011261267957600080fd5b81358181111561268857600080fd5b89602082850101111561269a57600080fd5b9699959850939650602001949392505050565b6000602082840312156126bf57600080fd5b5051919050565b6000602082840312156126d857600080fd5b815165ffffffffffff811681146103e957600080fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103ec576103ec6126ee565b6001600160a01b03929092168252602082015260400190565b60006020828403121561274657600080fd5b81516103e98161258c565b6001600160a01b0391909116815260200190565b8051801515811461277557600080fd5b919050565b60006020828403121561278c57600080fd5b6103e982612765565b9283526001600160a01b03919091166020830152604082015260600190565b808201808211156103ec576103ec6126ee565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015612819578181015183820152602001612801565b50506000910152565b6000806040838503121561283557600080fd5b61283e83612765565b60208401519092506001600160401b038082111561285b57600080fd5b818501915085601f83011261286f57600080fd5b815181811115612881576128816127e8565b604051601f8201601f19908116603f011681019083821181831017156128a9576128a96127e8565b816040528281528860208487010111156128c257600080fd5b6128d38360208301602088016127fe565b80955050505050509250929050565b6000602082840312156128f457600080fd5b81516103e981612600565b60ff82811682821603908111156103ec576103ec6126ee565b634e487b7160e01b600052602160045260246000fd5b60018060a01b0383168152604060208201526000825180604084015261295b8160608501602087016127fe565b601f01601f1916919091016060019392505050565b60ff8616815284602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b818103818111156103ec576103ec6126ee565b634e487b7160e01b600052601260045260246000fd5b83815260608101600a84106129f7576129f7612918565b602082019390935260400152919050565b60008060408385031215612a1b57600080fd5b505080516020909101519092909150565b600082612a4957634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03858116825284166020820152604081018390526080810160028310612a7d57612a7d612918565b82606083015295945050505050565b634e487b7160e01b600052603260045260246000fdfeaec5ebd9cfb5e0fa9ec893c112b6f15c366248db781323babe6909c0e07703978b34402b007625b875ac624bea888f2cd3b6896eb9b8f2a2a278bbf3b5dd9b4da2646970667358221220155b22843dc4830fcd112e9f6e9d1deb550233b1baf3ce9487e5f57eab1bbd7e64736f6c63430008140033","opcodes":"PUSH2 0x2B18 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x6C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x81C0D6DF EQ PUSH2 0x71 JUMPI DUP1 PUSH4 0x9C17E7B3 EQ PUSH2 0x8E JUMPI DUP1 PUSH4 0xA45AA313 EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0xB69D417B EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xB6E9EFF4 EQ PUSH2 0xD9 JUMPI DUP1 PUSH4 0xDD063F90 EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x79 PUSH2 0x119 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3 PUSH2 0x1CC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x79 PUSH2 0xB3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2573 JUMP JUMPDEST PUSH2 0x31C JUMP JUMPDEST PUSH2 0xCB PUSH2 0xC6 CALLDATASIZE PUSH1 0x4 PUSH2 0x25A4 JUMP JUMPDEST PUSH2 0x3C7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x85 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCB PUSH2 0xF4 CALLDATASIZE PUSH1 0x4 PUSH2 0x25D0 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x105 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCB PUSH2 0x114 CALLDATASIZE PUSH1 0x4 PUSH2 0x260F JUMP JUMPDEST PUSH2 0xAE9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x124 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A1 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP1 POP PUSH2 0x1B9 PUSH2 0x1AF DUP3 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x13 DUP5 ADD SWAP1 PUSH2 0xDD6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D6 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24A PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x226 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x266 JUMPI PUSH1 0x1 PUSH2 0x269 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH2 0x2E9 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2DE SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH1 0x13 DUP6 ADD SWAP1 DUP4 PUSH2 0xE8C JUMP JUMPDEST POP POP PUSH1 0x40 MLOAD DUP3 ISZERO SWAP1 PUSH32 0xE782263E17B994D34E64F19AF2397C26081A1F4C26C604ACB8FB3DB6BAFC903E SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x327 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x3A3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x37A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0xD9F JUMP JUMPDEST SWAP1 POP PUSH2 0x3B2 PUSH1 0x13 DUP4 ADD DUP3 PUSH2 0xDD6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 DUP5 PUSH2 0xEA7 JUMP JUMPDEST PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x3E9 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2704 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3FD PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0x412 DUP5 PUSH2 0x40D PUSH1 0x1 PUSH2 0x11C4 JUMP JUMPDEST PUSH2 0x11E7 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x41E DUP6 PUSH2 0x1226 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x458 SWAP1 DUP9 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x499 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4CD JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xD1C9ABB PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD PUSH1 0x1F DUP6 ADD SLOAD SWAP2 MLOAD PUSH4 0x506B90DB PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA0D721B6 SWAP1 PUSH2 0x513 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x2751 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x530 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x554 SWAP2 SWAP1 PUSH2 0x277A JUMP JUMPDEST ISZERO PUSH2 0x611 JUMPI PUSH1 0x20 DUP5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x5D5 JUMPI PUSH1 0x20 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x5A2 SWAP1 DUP5 SWAP1 DUP11 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x2795 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x5BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x5D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP7 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AC3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x0 SWAP5 POP POP POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x1F DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2246F2DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2246F2DB SWAP1 PUSH2 0x645 SWAP1 DUP6 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x662 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x686 SWAP2 SWAP1 PUSH2 0x277A JUMP JUMPDEST PUSH2 0x785 JUMPI PUSH1 0x0 PUSH2 0x695 DUP9 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x6A0 PUSH2 0x1796 JUMP JUMPDEST PUSH2 0x6AA SWAP1 NUMBER PUSH2 0x27B4 JUMP JUMPDEST LT ISZERO PUSH2 0x6CC JUMPI PUSH1 0x40 MLOAD PUSH4 0x24852B2F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x748 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x715 SWAP1 DUP6 SWAP1 DUP12 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x2795 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x72F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x743 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP8 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AC3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x0 SWAP6 POP POP POP POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x14 DUP5 ADD SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP9 PUSH2 0x7A5 DUP8 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7C2 SWAP3 SWAP2 SWAP1 PUSH2 0x27C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x807 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2822 JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x858 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x748 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x715 SWAP1 DUP6 SWAP1 DUP12 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x2795 JUMP JUMPDEST PUSH1 0x1F DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x38B3CE13 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x38B3CE13 SWAP1 PUSH2 0x88D SWAP1 DUP8 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8CE SWAP2 SWAP1 PUSH2 0x28E2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x8DD PUSH1 0x1 DUP4 PUSH2 0x28FF JUMP JUMPDEST PUSH1 0x1F DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x917 SWAP1 DUP14 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x934 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x958 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x965 DUP3 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x973 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2704 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP15 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9ED SWAP2 SWAP1 PUSH2 0x28E2 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA01 JUMPI PUSH2 0xA01 PUSH2 0x2918 JUMP JUMPDEST SWAP1 POP PUSH2 0xA0D DUP4 DUP3 PUSH2 0x17A9 JUMP JUMPDEST PUSH2 0xA1A DUP14 DUP14 DUP7 DUP7 DUP7 PUSH2 0x17E6 JUMP JUMPDEST PUSH2 0xA28 DUP11 DUP15 DUP15 DUP7 DUP9 DUP15 PUSH2 0x1973 JUMP JUMPDEST PUSH2 0xA33 DUP11 DUP15 DUP15 PUSH2 0x1ABC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE DUP14 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND SWAP2 SWAP1 DUP16 AND SWAP1 PUSH32 0xE5ABA2374A4FF3B54EE59BEB7EABAAE209C8A3E5D31185FD429458C2F887C21A SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP3 ADD MSTORE DUP14 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AA3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0xA0 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP SWAP1 SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAF4 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0xB04 DUP8 PUSH2 0x40D PUSH1 0x1 PUSH2 0x11C4 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0xB10 DUP9 PUSH2 0x1226 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xBC5 JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0xB5B SWAP1 DUP12 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB9C SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBC5 JUMPI DUP7 PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2751 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP11 PUSH2 0xBE7 DUP7 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC04 SWAP3 SWAP2 SWAP1 PUSH2 0x27C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC21 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC49 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2822 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0xC6F JUMPI DUP9 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP3 SWAP2 SWAP1 PUSH2 0x292E JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC7B DUP11 DUP6 PUSH2 0xEA7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC88 DUP3 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0xC96 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2704 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP15 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xCEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD10 SWAP2 SWAP1 PUSH2 0x28E2 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xD24 JUMPI PUSH2 0xD24 PUSH2 0x2918 JUMP JUMPDEST SWAP1 POP PUSH2 0xD30 DUP4 DUP3 PUSH2 0x17A9 JUMP JUMPDEST PUSH2 0xD3D DUP14 DUP14 DUP14 DUP7 DUP7 PUSH2 0x17E6 JUMP JUMPDEST PUSH2 0xD4B DUP8 DUP15 DUP15 DUP7 DUP16 DUP12 PUSH2 0x1973 JUMP JUMPDEST DUP13 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AA3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP14 DUP7 DUP7 DUP16 DUP16 PUSH1 0x40 MLOAD PUSH2 0xAD0 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2970 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDD2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4C4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xE35 JUMPI PUSH1 0x0 PUSH2 0xDF1 DUP5 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0xDFB SWAP1 DUP6 PUSH2 0x29B7 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xE25 JUMPI DUP1 SWAP2 POP PUSH2 0xE33 JUMP JUMPDEST PUSH2 0xE30 DUP2 PUSH1 0x1 PUSH2 0x27B4 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xE43 DUP8 DUP8 DUP6 DUP6 PUSH2 0x1B57 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xE7E JUMPI PUSH2 0xE68 DUP8 PUSH2 0xE5A PUSH1 0x1 DUP5 PUSH2 0x29B7 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xE81 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE9A DUP6 DUP6 DUP6 PUSH2 0x1BB9 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEB2 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0xEEC SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF09 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF2D SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF4B JUMPI SWAP2 POP PUSH2 0x3EC SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0xF80 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF9D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFC1 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x104D JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x1003 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1020 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1044 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x1081 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x109E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10C2 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x10CC SWAP1 DUP3 PUSH2 0x27B4 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x10E7 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x10F4 DUP5 PUSH2 0x1D33 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x110D JUMPI PUSH2 0x110D PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1125 JUMPI PUSH2 0x1125 PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x113D JUMPI PUSH2 0x113D PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1155 JUMPI PUSH2 0x1155 PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x116D JUMPI PUSH2 0x116D PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1185 JUMPI PUSH2 0x1185 PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x119D JUMPI PUSH2 0x119D PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x11BD DUP2 DUP3 DUP6 DUP2 PUSH2 0x11B7 JUMPI PUSH2 0x11B7 PUSH2 0x29CA JUMP JUMPDEST DIV PUSH2 0x1DC7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x11D8 JUMPI PUSH2 0x11D8 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11F3 DUP5 PUSH2 0x1DDD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x1201 DUP4 PUSH2 0x11C4 JUMP JUMPDEST AND SUB PUSH2 0x3E9 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x29E0 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1231 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12A1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12C5 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST LT PUSH2 0x1362 JUMPI PUSH1 0x0 PUSH2 0x12D4 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1336 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x135A SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13D2 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x13F0 SWAP2 SWAP1 PUSH2 0x29B7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x13FF PUSH1 0x1 DUP4 PUSH2 0x29B7 JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1454 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1478 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x1482 SWAP2 SWAP1 PUSH2 0x2704 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x14DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14FF SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x154A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x156E SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x15F4 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x15C5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15E9 SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x15FF DUP4 DUP4 PUSH2 0x27B4 JUMP JUMPDEST PUSH2 0x1609 SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x161E PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x168E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16B2 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST LT PUSH2 0x170A JUMPI PUSH1 0x0 PUSH2 0x16C1 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x1319 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x175F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1783 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x178C DUP5 PUSH2 0x1226 JUMP JUMPDEST PUSH2 0x11BD SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17A0 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x22 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17B4 DUP3 PUSH2 0x2184 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0x17E1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4C4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17F0 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0xF DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND DUP5 MSTORE PUSH1 0x3 DUP2 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x1841 JUMPI DUP6 PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2751 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x186E PUSH2 0x119 JUMP JUMPDEST PUSH2 0x1878 JUMPI DUP4 PUSH2 0x187A JUMP JUMPDEST DUP5 JUMPDEST SWAP1 POP PUSH1 0xFF DUP7 AND PUSH2 0x18A3 JUMPI DUP1 DUP3 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x18FC SWAP1 POP JUMP JUMPDEST PUSH1 0x0 NOT PUSH1 0xFF DUP8 AND ADD PUSH2 0x18C3 JUMPI DUP1 DUP3 PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST PUSH1 0x1 NOT PUSH1 0xFF DUP8 AND ADD PUSH2 0x18E3 JUMPI DUP1 DUP3 PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3599BE1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x11 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0x191C SWAP1 DUP5 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1969 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x9 DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA7381DAB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA7381DAB SWAP1 PUSH1 0x24 ADD PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x19C6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19EA SWAP2 SWAP1 PUSH2 0x2A08 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP5 PUSH1 0xFF AND PUSH1 0x2 EQ PUSH2 0x1A01 JUMPI DUP3 PUSH2 0x1A03 JUMP JUMPDEST DUP2 JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2710 PUSH2 0x1A14 DUP4 DUP10 PUSH2 0x2704 JUMP JUMPDEST PUSH2 0x1A1E SWAP2 SWAP1 PUSH2 0x2A2C JUMP JUMPDEST PUSH1 0x9 DUP12 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2F18339D DUP11 DUP11 DUP5 PUSH2 0x1A45 DUP2 PUSH2 0x10D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1AAC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1AD3 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP5 ADD SLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP8 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD SLOAD SWAP3 MLOAD PUSH4 0x6CF88E73 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 PUSH4 0x6CF88E73 SWAP3 PUSH2 0x1B20 SWAP3 CALLER SWAP3 DUP8 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x2A4E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1B4E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x1BB1 JUMPI PUSH1 0x0 PUSH2 0x1B6E DUP5 DUP5 PUSH2 0x223A JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x1B9D JUMPI DUP1 SWAP3 POP PUSH2 0x1BAB JUMP JUMPDEST PUSH2 0x1BA8 DUP2 PUSH1 0x1 PUSH2 0x27B4 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x1B5A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1CD8 JUMPI PUSH1 0x0 PUSH2 0x1BD7 DUP8 PUSH2 0xE5A PUSH1 0x1 DUP6 PUSH2 0x29B7 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x1C2B JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x1C77 JUMPI DUP5 PUSH2 0x1C4E DUP9 PUSH2 0xE5A PUSH1 0x1 DUP7 PUSH2 0x29B7 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1CC8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0xE9F SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0xE9F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D48 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D5A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D6C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D7E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D90 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DA2 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DB4 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x3EC JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1DD6 JUMPI DUP2 PUSH2 0x3E9 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1DE8 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1E3D JUMPI PUSH2 0x1E3D PUSH2 0x2918 JUMP JUMPDEST SUB PUSH2 0x1E4F JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1E63 JUMPI PUSH2 0x1E63 PUSH2 0x2918 JUMP JUMPDEST SUB PUSH2 0x1E75 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x1E88 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1E9B JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x1EC3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C4 JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F1D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F41 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST LT ISZERO PUSH2 0x1F54 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1F9F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FC3 SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x1FD8 DUP10 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP PUSH2 0x1FE3 DUP10 PUSH2 0x2255 JUMP JUMPDEST PUSH2 0x1FF6 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x200C JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2015 DUP10 PUSH2 0x2281 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x2027 JUMPI POP PUSH2 0x2025 DUP10 PUSH2 0x22DF JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x203B JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2044 DUP10 PUSH2 0x2307 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x205A JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x20B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20DB SWAP2 SWAP1 PUSH2 0x277A JUMP JUMPDEST ISZERO PUSH2 0x20F0 JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x213B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x215F SWAP2 SWAP1 PUSH2 0x277A JUMP JUMPDEST ISZERO PUSH2 0x2174 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x218F PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0x219A DUP4 PUSH2 0x2339 JUMP JUMPDEST PUSH2 0x21FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C4 JUMP JUMPDEST DUP1 PUSH1 0x17 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2212 JUMPI PUSH2 0x2212 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2223 JUMPI PUSH2 0x2223 PUSH2 0x2918 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2249 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x2A2C JUMP JUMPDEST PUSH2 0x3E9 SWAP1 DUP5 DUP5 AND PUSH2 0x27B4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2260 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x228C PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x22D5 PUSH2 0x22BE DUP7 PUSH2 0x1226 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x22D0 JUMPI PUSH2 0x22D0 PUSH2 0x2918 JUMP JUMPDEST PUSH2 0x2370 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x22EA PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2312 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x234E JUMPI PUSH2 0x234E PUSH2 0x2918 JUMP JUMPDEST EQ DUP1 PUSH2 0x3EC JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2369 JUMPI PUSH2 0x2369 PUSH2 0x2918 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x237B PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x2389 DUP6 DUP6 PUSH2 0x240C JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x23D4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x23F8 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x2402 SWAP2 SWAP1 PUSH2 0x2704 JUMP JUMPDEST PUSH2 0x135A SWAP2 SWAP1 PUSH2 0x2A2C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E9 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2427 JUMPI PUSH2 0x2427 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2432 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x244E JUMPI PUSH2 0x244E PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x245F JUMPI PUSH2 0x245F PUSH2 0x2918 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x248B JUMPI PUSH2 0x248B PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x249C JUMPI PUSH2 0x249C PUSH2 0x2918 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x24B7 PUSH1 0x1 DUP5 PUSH2 0x29B7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x24C7 JUMPI PUSH2 0x24C7 PUSH2 0x2A8C JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x250D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x3EC SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x255E PUSH2 0x2519 DUP10 PUSH2 0xD9F JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2531 JUMPI PUSH2 0x2531 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2542 JUMPI PUSH2 0x2542 PUSH2 0x2918 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0xDD6 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x25A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x25C2 DUP2 PUSH2 0x258C JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x25F5 DUP2 PUSH2 0x258C JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x25A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x2639 DUP2 PUSH2 0x258C JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x2649 DUP2 PUSH2 0x2600 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2665 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2679 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2688 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x269A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP PUSH1 0x20 ADD SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26EE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2746 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x258C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2775 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x278C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E9 DUP3 PUSH2 0x2765 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26EE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2819 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2801 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2835 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x283E DUP4 PUSH2 0x2765 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x285B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x2881 JUMPI PUSH2 0x2881 PUSH2 0x27E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x28A9 JUMPI PUSH2 0x28A9 PUSH2 0x27E8 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x28C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28D3 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x27FE JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x2600 JUMP JUMPDEST PUSH1 0xFF DUP3 DUP2 AND DUP3 DUP3 AND SUB SWAP1 DUP2 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26EE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x295B DUP2 PUSH1 0x60 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x27FE JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x60 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xFF DUP7 AND DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP4 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD MSTORE DUP2 PUSH1 0x80 DUP3 ADD MSTORE DUP2 DUP4 PUSH1 0xA0 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP4 ADD PUSH1 0xA0 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26EE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x29F7 JUMPI PUSH2 0x29F7 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD SWAP1 SWAP3 SWAP1 SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2A49 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x2A7D JUMPI PUSH2 0x2A7D PUSH2 0x2918 JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID 0xAE 0xC5 0xEB 0xD9 0xCF 0xB5 0xE0 STATICCALL SWAP15 0xC8 SWAP4 0xC1 SLT 0xB6 CALL 0x5C CALLDATASIZE PUSH3 0x48DB78 SGT 0x23 0xBA 0xBE PUSH10 0x9C0E07703978B34402B STOP PUSH23 0x25B875AC624BEA888F2CD3B6896EB9B8F2A2A278BBF3B5 0xDD SWAP12 0x4D LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO JUMPDEST 0x22 DUP5 RETURNDATASIZE 0xC4 DUP4 0xF 0xCD GT 0x2E SWAP16 PUSH15 0x9D1DEB550233B1BAF3CE9487E5F57E 0xAB SHL 0xBD PUSH31 0x64736F6C634300081400330000000000000000000000000000000000000000 ","sourceMap":"2201:18782:109:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2201:18782:109;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_checkVotingThreshold_62401":{"entryPoint":6057,"id":62401,"parameterSlots":2,"returnSlots":0},"@_countVote_61694":{"entryPoint":6118,"id":61694,"parameterSlots":5,"returnSlots":0},"@_insert_9806":{"entryPoint":7097,"id":9806,"parameterSlots":3,"returnSlots":2},"@_proposalDeadline_60068":{"entryPoint":5651,"id":60068,"parameterSlots":1,"returnSlots":1},"@_proposalSnapshot_60010":{"entryPoint":4646,"id":60010,"parameterSlots":1,"returnSlots":1},"@_quorumNumeratorByProposalType_60689":{"entryPoint":null,"id":60689,"parameterSlots":2,"returnSlots":1},"@_registerRelayerActionForNavigatorVote_62627":{"entryPoint":6844,"id":62627,"parameterSlots":3,"returnSlots":0},"@_registerVoteWithIntentMultiplier_62587":{"entryPoint":6515,"id":62587,"parameterSlots":6,"returnSlots":0},"@_state_61095":{"entryPoint":7645,"id":61095,"parameterSlots":1,"returnSlots":1},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":6999,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":8762,"id":6189,"parameterSlots":2,"returnSlots":1},"@castNavigatorVote_62374":{"entryPoint":1010,"id":62374,"parameterSlots":2,"returnSlots":1},"@castVote_62070":{"entryPoint":2793,"id":62070,"parameterSlots":5,"returnSlots":1},"@encodeStateBitmap_60890":{"entryPoint":4548,"id":60890,"parameterSlots":1,"returnSlots":1},"@getGovernorStorage_61139":{"entryPoint":3451,"id":61139,"parameterSlots":0,"returnSlots":1},"@getQuadraticVotingPower_61822":{"entryPoint":967,"id":61822,"parameterSlots":2,"returnSlots":1},"@getVotes_61801":{"entryPoint":3751,"id":61801,"parameterSlots":2,"returnSlots":1},"@getVotingThreshold_56840":{"entryPoint":8580,"id":56840,"parameterSlots":1,"returnSlots":1},"@governanceSkipWindowBlocks_57027":{"entryPoint":6038,"id":57027,"parameterSlots":0,"returnSlots":1},"@isQuadraticVotingDisabledForCurrentRound_62521":{"entryPoint":281,"id":62521,"parameterSlots":0,"returnSlots":1},"@isQuadraticVotingDisabledForRound_62487":{"entryPoint":796,"id":62487,"parameterSlots":1,"returnSlots":1},"@isValidProposalType_60182":{"entryPoint":9017,"id":60182,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":7475,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":7623,"id":6166,"parameterSlots":2,"returnSlots":1},"@proposalDepositReached_57544":{"entryPoint":8789,"id":57544,"parameterSlots":1,"returnSlots":1},"@proposalEta_58227":{"entryPoint":8967,"id":58227,"parameterSlots":1,"returnSlots":1},"@push_9437":{"entryPoint":3724,"id":9437,"parameterSlots":3,"returnSlots":2},"@quorumByProposalType_60543":{"entryPoint":9072,"id":60543,"parameterSlots":2,"returnSlots":1},"@quorumDenominator_60305":{"entryPoint":null,"id":60305,"parameterSlots":0,"returnSlots":1},"@quorumNumeratorByProposalType_60403":{"entryPoint":9228,"id":60403,"parameterSlots":2,"returnSlots":1},"@quorumReached_60616":{"entryPoint":8833,"id":60616,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":4309,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":3487,"id":7770,"parameterSlots":1,"returnSlots":1},"@toggleQuadraticVoting_62450":{"entryPoint":460,"id":62450,"parameterSlots":0,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":3542,"id":9604,"parameterSlots":2,"returnSlots":1},"@validateStateBitmap_60870":{"entryPoint":4583,"id":60870,"parameterSlots":2,"returnSlots":1},"@voteSucceeded_61728":{"entryPoint":8927,"id":61728,"parameterSlots":1,"returnSlots":1},"abi_decode_bool_fromMemory":{"entryPoint":10085,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":10036,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":9636,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":10106,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory":{"entryPoint":10274,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":9587,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":9901,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":9680,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_addresst_uint8t_string_calldata_ptr":{"entryPoint":9743,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256t_uint256_fromMemory":{"entryPoint":10760,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":9926,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8_fromMemory":{"entryPoint":10466,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":10065,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":10830,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10542,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":10011,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed":{"entryPoint":10183,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed":{"entryPoint":10133,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":10720,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_string_calldata_ptr__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":10608,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":10164,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":10796,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":9988,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":10679,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint8":{"entryPoint":10495,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":10238,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x11":{"entryPoint":9966,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":10698,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":10520,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":10892,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":10216,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":9612,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":9728,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:12482:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"117:92:150","statements":[{"nodeType":"YulAssignment","src":"127:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"139:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"150:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"135:3:150"},"nodeType":"YulFunctionCall","src":"135:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"127:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"169:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"194:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"187:6:150"},"nodeType":"YulFunctionCall","src":"187:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"180:6:150"},"nodeType":"YulFunctionCall","src":"180:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"162:6:150"},"nodeType":"YulFunctionCall","src":"162:41:150"},"nodeType":"YulExpressionStatement","src":"162:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"86:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"97:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"108:4:150","type":""}],"src":"14:195:150"},{"body":{"nodeType":"YulBlock","src":"284:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"330:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"339:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"332:6:150"},"nodeType":"YulFunctionCall","src":"332:12:150"},"nodeType":"YulExpressionStatement","src":"332:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"305:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"314:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"301:3:150"},"nodeType":"YulFunctionCall","src":"301:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"326:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"297:3:150"},"nodeType":"YulFunctionCall","src":"297:32:150"},"nodeType":"YulIf","src":"294:52:150"},{"nodeType":"YulAssignment","src":"355:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"378:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"365:12:150"},"nodeType":"YulFunctionCall","src":"365:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"355:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"250:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"261:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"273:6:150","type":""}],"src":"214:180:150"},{"body":{"nodeType":"YulBlock","src":"444:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"508:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"517:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"520:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"510:6:150"},"nodeType":"YulFunctionCall","src":"510:12:150"},"nodeType":"YulExpressionStatement","src":"510:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"467:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"478:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"493:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"498:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"489:3:150"},"nodeType":"YulFunctionCall","src":"489:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"502:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"485:3:150"},"nodeType":"YulFunctionCall","src":"485:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"474:3:150"},"nodeType":"YulFunctionCall","src":"474:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"464:2:150"},"nodeType":"YulFunctionCall","src":"464:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"457:6:150"},"nodeType":"YulFunctionCall","src":"457:50:150"},"nodeType":"YulIf","src":"454:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"433:5:150","type":""}],"src":"399:131:150"},{"body":{"nodeType":"YulBlock","src":"622:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"668:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"677:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"680:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"670:6:150"},"nodeType":"YulFunctionCall","src":"670:12:150"},"nodeType":"YulExpressionStatement","src":"670:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"643:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"652:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"639:3:150"},"nodeType":"YulFunctionCall","src":"639:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"664:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"635:3:150"},"nodeType":"YulFunctionCall","src":"635:32:150"},"nodeType":"YulIf","src":"632:52:150"},{"nodeType":"YulVariableDeclaration","src":"693:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"719:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"706:12:150"},"nodeType":"YulFunctionCall","src":"706:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"697:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"763:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"738:24:150"},"nodeType":"YulFunctionCall","src":"738:31:150"},"nodeType":"YulExpressionStatement","src":"738:31:150"},{"nodeType":"YulAssignment","src":"778:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"788:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"778:6:150"}]},{"nodeType":"YulAssignment","src":"802:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"829:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"840:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"825:3:150"},"nodeType":"YulFunctionCall","src":"825:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"812:12:150"},"nodeType":"YulFunctionCall","src":"812:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"802:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"580:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"591:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"603:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"611:6:150","type":""}],"src":"535:315:150"},{"body":{"nodeType":"YulBlock","src":"964:76:150","statements":[{"nodeType":"YulAssignment","src":"974:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"986:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"997:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"982:3:150"},"nodeType":"YulFunctionCall","src":"982:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"974:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1016:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1027:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1009:6:150"},"nodeType":"YulFunctionCall","src":"1009:25:150"},"nodeType":"YulExpressionStatement","src":"1009:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"933:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"944:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"955:4:150","type":""}],"src":"855:185:150"},{"body":{"nodeType":"YulBlock","src":"1132:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"1178:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1187:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1190:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1180:6:150"},"nodeType":"YulFunctionCall","src":"1180:12:150"},"nodeType":"YulExpressionStatement","src":"1180:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1153:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1162:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1149:3:150"},"nodeType":"YulFunctionCall","src":"1149:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1174:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1145:3:150"},"nodeType":"YulFunctionCall","src":"1145:32:150"},"nodeType":"YulIf","src":"1142:52:150"},{"nodeType":"YulAssignment","src":"1203:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1226:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1213:12:150"},"nodeType":"YulFunctionCall","src":"1213:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1203:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1245:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1275:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1286:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1271:3:150"},"nodeType":"YulFunctionCall","src":"1271:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1258:12:150"},"nodeType":"YulFunctionCall","src":"1258:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1249:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1324:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1299:24:150"},"nodeType":"YulFunctionCall","src":"1299:31:150"},"nodeType":"YulExpressionStatement","src":"1299:31:150"},{"nodeType":"YulAssignment","src":"1339:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1349:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1339:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1090:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1101:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1113:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1121:6:150","type":""}],"src":"1045:315:150"},{"body":{"nodeType":"YulBlock","src":"1408:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"1457:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1466:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1469:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1459:6:150"},"nodeType":"YulFunctionCall","src":"1459:12:150"},"nodeType":"YulExpressionStatement","src":"1459:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1431:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1442:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"1449:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1438:3:150"},"nodeType":"YulFunctionCall","src":"1438:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1428:2:150"},"nodeType":"YulFunctionCall","src":"1428:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1421:6:150"},"nodeType":"YulFunctionCall","src":"1421:35:150"},"nodeType":"YulIf","src":"1418:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1397:5:150","type":""}],"src":"1365:114:150"},{"body":{"nodeType":"YulBlock","src":"1623:794:150","statements":[{"body":{"nodeType":"YulBlock","src":"1670:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1679:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1682:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1672:6:150"},"nodeType":"YulFunctionCall","src":"1672:12:150"},"nodeType":"YulExpressionStatement","src":"1672:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1644:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1653:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1640:3:150"},"nodeType":"YulFunctionCall","src":"1640:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1665:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1636:3:150"},"nodeType":"YulFunctionCall","src":"1636:33:150"},"nodeType":"YulIf","src":"1633:53:150"},{"nodeType":"YulAssignment","src":"1695:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1718:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1705:12:150"},"nodeType":"YulFunctionCall","src":"1705:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1695:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1737:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1767:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1778:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1763:3:150"},"nodeType":"YulFunctionCall","src":"1763:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1750:12:150"},"nodeType":"YulFunctionCall","src":"1750:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1741:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1816:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1791:24:150"},"nodeType":"YulFunctionCall","src":"1791:31:150"},"nodeType":"YulExpressionStatement","src":"1791:31:150"},{"nodeType":"YulAssignment","src":"1831:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1841:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1831:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1855:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1887:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1898:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1883:3:150"},"nodeType":"YulFunctionCall","src":"1883:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1870:12:150"},"nodeType":"YulFunctionCall","src":"1870:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"1859:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"1934:7:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"1911:22:150"},"nodeType":"YulFunctionCall","src":"1911:31:150"},"nodeType":"YulExpressionStatement","src":"1911:31:150"},{"nodeType":"YulAssignment","src":"1951:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"1961:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1951:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1977:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2008:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2019:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2004:3:150"},"nodeType":"YulFunctionCall","src":"2004:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1991:12:150"},"nodeType":"YulFunctionCall","src":"1991:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1981:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2032:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2050:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2054:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2046:3:150"},"nodeType":"YulFunctionCall","src":"2046:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2058:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2042:3:150"},"nodeType":"YulFunctionCall","src":"2042:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2036:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2087:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2096:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2099:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2089:6:150"},"nodeType":"YulFunctionCall","src":"2089:12:150"},"nodeType":"YulExpressionStatement","src":"2089:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2075:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2083:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2072:2:150"},"nodeType":"YulFunctionCall","src":"2072:14:150"},"nodeType":"YulIf","src":"2069:34:150"},{"nodeType":"YulVariableDeclaration","src":"2112:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2126:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"2137:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2122:3:150"},"nodeType":"YulFunctionCall","src":"2122:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2116:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2192:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2201:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2204:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2194:6:150"},"nodeType":"YulFunctionCall","src":"2194:12:150"},"nodeType":"YulExpressionStatement","src":"2194:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2171:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"2175:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2167:3:150"},"nodeType":"YulFunctionCall","src":"2167:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2182:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2163:3:150"},"nodeType":"YulFunctionCall","src":"2163:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2156:6:150"},"nodeType":"YulFunctionCall","src":"2156:35:150"},"nodeType":"YulIf","src":"2153:55:150"},{"nodeType":"YulVariableDeclaration","src":"2217:30:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2244:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2231:12:150"},"nodeType":"YulFunctionCall","src":"2231:16:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2221:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2274:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2283:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2286:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2276:6:150"},"nodeType":"YulFunctionCall","src":"2276:12:150"},"nodeType":"YulExpressionStatement","src":"2276:12:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2262:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2270:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2259:2:150"},"nodeType":"YulFunctionCall","src":"2259:14:150"},"nodeType":"YulIf","src":"2256:34:150"},{"body":{"nodeType":"YulBlock","src":"2340:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2349:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2352:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2342:6:150"},"nodeType":"YulFunctionCall","src":"2342:12:150"},"nodeType":"YulExpressionStatement","src":"2342:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2313:2:150"},{"name":"length","nodeType":"YulIdentifier","src":"2317:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2309:3:150"},"nodeType":"YulFunctionCall","src":"2309:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"2326:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2305:3:150"},"nodeType":"YulFunctionCall","src":"2305:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2331:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2302:2:150"},"nodeType":"YulFunctionCall","src":"2302:37:150"},"nodeType":"YulIf","src":"2299:57:150"},{"nodeType":"YulAssignment","src":"2365:21:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2379:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"2383:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2375:3:150"},"nodeType":"YulFunctionCall","src":"2375:11:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2365:6:150"}]},{"nodeType":"YulAssignment","src":"2395:16:150","value":{"name":"length","nodeType":"YulIdentifier","src":"2405:6:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2395:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_uint8t_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1557:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1568:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1580:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1588:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1596:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"1604:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"1612:6:150","type":""}],"src":"1484:933:150"},{"body":{"nodeType":"YulBlock","src":"2503:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"2549:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2558:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2561:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2551:6:150"},"nodeType":"YulFunctionCall","src":"2551:12:150"},"nodeType":"YulExpressionStatement","src":"2551:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2524:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2533:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2520:3:150"},"nodeType":"YulFunctionCall","src":"2520:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2545:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2516:3:150"},"nodeType":"YulFunctionCall","src":"2516:32:150"},"nodeType":"YulIf","src":"2513:52:150"},{"nodeType":"YulAssignment","src":"2574:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2590:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2584:5:150"},"nodeType":"YulFunctionCall","src":"2584:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2574:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2469:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2480:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2492:6:150","type":""}],"src":"2422:184:150"},{"body":{"nodeType":"YulBlock","src":"2691:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"2737:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2746:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2749:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2739:6:150"},"nodeType":"YulFunctionCall","src":"2739:12:150"},"nodeType":"YulExpressionStatement","src":"2739:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2712:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2721:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2708:3:150"},"nodeType":"YulFunctionCall","src":"2708:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2733:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2704:3:150"},"nodeType":"YulFunctionCall","src":"2704:32:150"},"nodeType":"YulIf","src":"2701:52:150"},{"nodeType":"YulVariableDeclaration","src":"2762:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2781:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2775:5:150"},"nodeType":"YulFunctionCall","src":"2775:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2766:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2849:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2858:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2861:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2851:6:150"},"nodeType":"YulFunctionCall","src":"2851:12:150"},"nodeType":"YulExpressionStatement","src":"2851:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2813:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2824:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2831:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2820:3:150"},"nodeType":"YulFunctionCall","src":"2820:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2810:2:150"},"nodeType":"YulFunctionCall","src":"2810:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2803:6:150"},"nodeType":"YulFunctionCall","src":"2803:45:150"},"nodeType":"YulIf","src":"2800:65:150"},{"nodeType":"YulAssignment","src":"2874:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2884:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2874:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2657:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2668:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2680:6:150","type":""}],"src":"2611:284:150"},{"body":{"nodeType":"YulBlock","src":"3001:76:150","statements":[{"nodeType":"YulAssignment","src":"3011:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3023:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3034:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3019:3:150"},"nodeType":"YulFunctionCall","src":"3019:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3011:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3053:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"3064:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3046:6:150"},"nodeType":"YulFunctionCall","src":"3046:25:150"},"nodeType":"YulExpressionStatement","src":"3046:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2970:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2981:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2992:4:150","type":""}],"src":"2900:177:150"},{"body":{"nodeType":"YulBlock","src":"3114:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3131:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3138:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3143:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3134:3:150"},"nodeType":"YulFunctionCall","src":"3134:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3124:6:150"},"nodeType":"YulFunctionCall","src":"3124:31:150"},"nodeType":"YulExpressionStatement","src":"3124:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3171:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3174:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3164:6:150"},"nodeType":"YulFunctionCall","src":"3164:15:150"},"nodeType":"YulExpressionStatement","src":"3164:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3195:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3198:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3188:6:150"},"nodeType":"YulFunctionCall","src":"3188:15:150"},"nodeType":"YulExpressionStatement","src":"3188:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"3082:127:150"},{"body":{"nodeType":"YulBlock","src":"3266:116:150","statements":[{"nodeType":"YulAssignment","src":"3276:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3291:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"3294:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3287:3:150"},"nodeType":"YulFunctionCall","src":"3287:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"3276:7:150"}]},{"body":{"nodeType":"YulBlock","src":"3354:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3356:16:150"},"nodeType":"YulFunctionCall","src":"3356:18:150"},"nodeType":"YulExpressionStatement","src":"3356:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3325:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3318:6:150"},"nodeType":"YulFunctionCall","src":"3318:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"3332:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"3339:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"3348:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"3335:3:150"},"nodeType":"YulFunctionCall","src":"3335:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3329:2:150"},"nodeType":"YulFunctionCall","src":"3329:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3315:2:150"},"nodeType":"YulFunctionCall","src":"3315:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3308:6:150"},"nodeType":"YulFunctionCall","src":"3308:45:150"},"nodeType":"YulIf","src":"3305:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3245:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"3248:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"3254:7:150","type":""}],"src":"3214:168:150"},{"body":{"nodeType":"YulBlock","src":"3516:145:150","statements":[{"nodeType":"YulAssignment","src":"3526:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3538:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3549:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3534:3:150"},"nodeType":"YulFunctionCall","src":"3534:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3526:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3568:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3583:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3599:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3604:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3595:3:150"},"nodeType":"YulFunctionCall","src":"3595:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3608:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3591:3:150"},"nodeType":"YulFunctionCall","src":"3591:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3579:3:150"},"nodeType":"YulFunctionCall","src":"3579:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3561:6:150"},"nodeType":"YulFunctionCall","src":"3561:51:150"},"nodeType":"YulExpressionStatement","src":"3561:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3632:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3643:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3628:3:150"},"nodeType":"YulFunctionCall","src":"3628:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"3648:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3621:6:150"},"nodeType":"YulFunctionCall","src":"3621:34:150"},"nodeType":"YulExpressionStatement","src":"3621:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3477:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3488:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3496:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3507:4:150","type":""}],"src":"3387:274:150"},{"body":{"nodeType":"YulBlock","src":"3747:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"3793:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3802:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3805:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3795:6:150"},"nodeType":"YulFunctionCall","src":"3795:12:150"},"nodeType":"YulExpressionStatement","src":"3795:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3768:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3777:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3764:3:150"},"nodeType":"YulFunctionCall","src":"3764:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3789:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3760:3:150"},"nodeType":"YulFunctionCall","src":"3760:32:150"},"nodeType":"YulIf","src":"3757:52:150"},{"nodeType":"YulVariableDeclaration","src":"3818:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3837:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3831:5:150"},"nodeType":"YulFunctionCall","src":"3831:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3822:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3881:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3856:24:150"},"nodeType":"YulFunctionCall","src":"3856:31:150"},"nodeType":"YulExpressionStatement","src":"3856:31:150"},{"nodeType":"YulAssignment","src":"3896:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3906:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3896:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3713:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3724:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3736:6:150","type":""}],"src":"3666:251:150"},{"body":{"nodeType":"YulBlock","src":"4023:102:150","statements":[{"nodeType":"YulAssignment","src":"4033:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4045:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4056:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4041:3:150"},"nodeType":"YulFunctionCall","src":"4041:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4033:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4075:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4090:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4106:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4111:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4102:3:150"},"nodeType":"YulFunctionCall","src":"4102:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4115:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4098:3:150"},"nodeType":"YulFunctionCall","src":"4098:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4086:3:150"},"nodeType":"YulFunctionCall","src":"4086:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4068:6:150"},"nodeType":"YulFunctionCall","src":"4068:51:150"},"nodeType":"YulExpressionStatement","src":"4068:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3992:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4003:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4014:4:150","type":""}],"src":"3922:203:150"},{"body":{"nodeType":"YulBlock","src":"4187:107:150","statements":[{"nodeType":"YulAssignment","src":"4197:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4212:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4206:5:150"},"nodeType":"YulFunctionCall","src":"4206:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4197:5:150"}]},{"body":{"nodeType":"YulBlock","src":"4272:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4281:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4284:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4274:6:150"},"nodeType":"YulFunctionCall","src":"4274:12:150"},"nodeType":"YulExpressionStatement","src":"4274:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4241:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4262:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4255:6:150"},"nodeType":"YulFunctionCall","src":"4255:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4248:6:150"},"nodeType":"YulFunctionCall","src":"4248:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4238:2:150"},"nodeType":"YulFunctionCall","src":"4238:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4231:6:150"},"nodeType":"YulFunctionCall","src":"4231:40:150"},"nodeType":"YulIf","src":"4228:60:150"}]},"name":"abi_decode_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4166:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4177:5:150","type":""}],"src":"4130:164:150"},{"body":{"nodeType":"YulBlock","src":"4377:124:150","statements":[{"body":{"nodeType":"YulBlock","src":"4423:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4432:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4435:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4425:6:150"},"nodeType":"YulFunctionCall","src":"4425:12:150"},"nodeType":"YulExpressionStatement","src":"4425:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4398:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4407:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4394:3:150"},"nodeType":"YulFunctionCall","src":"4394:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4419:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4390:3:150"},"nodeType":"YulFunctionCall","src":"4390:32:150"},"nodeType":"YulIf","src":"4387:52:150"},{"nodeType":"YulAssignment","src":"4448:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4485:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"4458:26:150"},"nodeType":"YulFunctionCall","src":"4458:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4448:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4343:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4354:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4366:6:150","type":""}],"src":"4299:202:150"},{"body":{"nodeType":"YulBlock","src":"4663:188:150","statements":[{"nodeType":"YulAssignment","src":"4673:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4685:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4696:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4681:3:150"},"nodeType":"YulFunctionCall","src":"4681:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4673:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4715:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"4726:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4708:6:150"},"nodeType":"YulFunctionCall","src":"4708:25:150"},"nodeType":"YulExpressionStatement","src":"4708:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4753:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4764:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4749:3:150"},"nodeType":"YulFunctionCall","src":"4749:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"4773:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4789:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4794:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4785:3:150"},"nodeType":"YulFunctionCall","src":"4785:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4798:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4781:3:150"},"nodeType":"YulFunctionCall","src":"4781:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4769:3:150"},"nodeType":"YulFunctionCall","src":"4769:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4742:6:150"},"nodeType":"YulFunctionCall","src":"4742:60:150"},"nodeType":"YulExpressionStatement","src":"4742:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4822:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4833:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4818:3:150"},"nodeType":"YulFunctionCall","src":"4818:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"4838:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4811:6:150"},"nodeType":"YulFunctionCall","src":"4811:34:150"},"nodeType":"YulExpressionStatement","src":"4811:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4616:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4627:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4635:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4643:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4654:4:150","type":""}],"src":"4506:345:150"},{"body":{"nodeType":"YulBlock","src":"4904:77:150","statements":[{"nodeType":"YulAssignment","src":"4914:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4925:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"4928:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4921:3:150"},"nodeType":"YulFunctionCall","src":"4921:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"4914:3:150"}]},{"body":{"nodeType":"YulBlock","src":"4953:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"4955:16:150"},"nodeType":"YulFunctionCall","src":"4955:18:150"},"nodeType":"YulExpressionStatement","src":"4955:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4945:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"4948:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4942:2:150"},"nodeType":"YulFunctionCall","src":"4942:10:150"},"nodeType":"YulIf","src":"4939:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4887:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"4890:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"4896:3:150","type":""}],"src":"4856:125:150"},{"body":{"nodeType":"YulBlock","src":"5113:166:150","statements":[{"nodeType":"YulAssignment","src":"5123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5146:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5131:3:150"},"nodeType":"YulFunctionCall","src":"5131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5196:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5201:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5192:3:150"},"nodeType":"YulFunctionCall","src":"5192:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"5205:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5188:3:150"},"nodeType":"YulFunctionCall","src":"5188:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5176:3:150"},"nodeType":"YulFunctionCall","src":"5176:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5158:6:150"},"nodeType":"YulFunctionCall","src":"5158:51:150"},"nodeType":"YulExpressionStatement","src":"5158:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5229:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5240:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5225:3:150"},"nodeType":"YulFunctionCall","src":"5225:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5249:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5257:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5245:3:150"},"nodeType":"YulFunctionCall","src":"5245:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5218:6:150"},"nodeType":"YulFunctionCall","src":"5218:55:150"},"nodeType":"YulExpressionStatement","src":"5218:55:150"}]},"name":"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5074:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5085:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5093:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5104:4:150","type":""}],"src":"4986:293:150"},{"body":{"nodeType":"YulBlock","src":"5316:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5333:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5340:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5345:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5336:3:150"},"nodeType":"YulFunctionCall","src":"5336:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5326:6:150"},"nodeType":"YulFunctionCall","src":"5326:31:150"},"nodeType":"YulExpressionStatement","src":"5326:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5373:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5376:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5366:6:150"},"nodeType":"YulFunctionCall","src":"5366:15:150"},"nodeType":"YulExpressionStatement","src":"5366:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5397:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5400:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5390:6:150"},"nodeType":"YulFunctionCall","src":"5390:15:150"},"nodeType":"YulExpressionStatement","src":"5390:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"5284:127:150"},{"body":{"nodeType":"YulBlock","src":"5482:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"5492:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5501:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5496:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5561:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5586:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"5591:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5582:3:150"},"nodeType":"YulFunctionCall","src":"5582:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5605:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"5610:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5601:3:150"},"nodeType":"YulFunctionCall","src":"5601:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5595:5:150"},"nodeType":"YulFunctionCall","src":"5595:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5575:6:150"},"nodeType":"YulFunctionCall","src":"5575:39:150"},"nodeType":"YulExpressionStatement","src":"5575:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5522:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"5525:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5519:2:150"},"nodeType":"YulFunctionCall","src":"5519:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5533:19:150","statements":[{"nodeType":"YulAssignment","src":"5535:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5544:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"5547:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5540:3:150"},"nodeType":"YulFunctionCall","src":"5540:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5535:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5515:3:150","statements":[]},"src":"5511:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5644:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"5649:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5640:3:150"},"nodeType":"YulFunctionCall","src":"5640:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"5658:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5633:6:150"},"nodeType":"YulFunctionCall","src":"5633:27:150"},"nodeType":"YulExpressionStatement","src":"5633:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"5460:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"5465:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"5470:6:150","type":""}],"src":"5416:250:150"},{"body":{"nodeType":"YulBlock","src":"5776:871:150","statements":[{"body":{"nodeType":"YulBlock","src":"5822:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5831:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5834:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5824:6:150"},"nodeType":"YulFunctionCall","src":"5824:12:150"},"nodeType":"YulExpressionStatement","src":"5824:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5797:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5806:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5793:3:150"},"nodeType":"YulFunctionCall","src":"5793:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5818:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5789:3:150"},"nodeType":"YulFunctionCall","src":"5789:32:150"},"nodeType":"YulIf","src":"5786:52:150"},{"nodeType":"YulAssignment","src":"5847:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5884:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"5857:26:150"},"nodeType":"YulFunctionCall","src":"5857:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5847:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5903:39:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5927:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5938:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5923:3:150"},"nodeType":"YulFunctionCall","src":"5923:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5917:5:150"},"nodeType":"YulFunctionCall","src":"5917:25:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5907:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5951:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5969:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5973:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5965:3:150"},"nodeType":"YulFunctionCall","src":"5965:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5977:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5961:3:150"},"nodeType":"YulFunctionCall","src":"5961:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5955:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6006:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6015:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6018:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6008:6:150"},"nodeType":"YulFunctionCall","src":"6008:12:150"},"nodeType":"YulExpressionStatement","src":"6008:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5994:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6002:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5991:2:150"},"nodeType":"YulFunctionCall","src":"5991:14:150"},"nodeType":"YulIf","src":"5988:34:150"},{"nodeType":"YulVariableDeclaration","src":"6031:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6045:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6056:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6041:3:150"},"nodeType":"YulFunctionCall","src":"6041:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"6035:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6111:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6120:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6123:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6113:6:150"},"nodeType":"YulFunctionCall","src":"6113:12:150"},"nodeType":"YulExpressionStatement","src":"6113:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6090:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6094:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6086:3:150"},"nodeType":"YulFunctionCall","src":"6086:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6101:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6082:3:150"},"nodeType":"YulFunctionCall","src":"6082:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6075:6:150"},"nodeType":"YulFunctionCall","src":"6075:35:150"},"nodeType":"YulIf","src":"6072:55:150"},{"nodeType":"YulVariableDeclaration","src":"6136:19:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6152:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6146:5:150"},"nodeType":"YulFunctionCall","src":"6146:9:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"6140:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6178:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6180:16:150"},"nodeType":"YulFunctionCall","src":"6180:18:150"},"nodeType":"YulExpressionStatement","src":"6180:18:150"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"6170:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6174:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6167:2:150"},"nodeType":"YulFunctionCall","src":"6167:10:150"},"nodeType":"YulIf","src":"6164:36:150"},{"nodeType":"YulVariableDeclaration","src":"6209:17:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6223:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6219:3:150"},"nodeType":"YulFunctionCall","src":"6219:7:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"6213:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6235:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6255:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6249:5:150"},"nodeType":"YulFunctionCall","src":"6249:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"6239:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6267:71:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6289:6:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"6313:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6317:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6309:3:150"},"nodeType":"YulFunctionCall","src":"6309:13:150"},{"name":"_4","nodeType":"YulIdentifier","src":"6324:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6305:3:150"},"nodeType":"YulFunctionCall","src":"6305:22:150"},{"kind":"number","nodeType":"YulLiteral","src":"6329:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6301:3:150"},"nodeType":"YulFunctionCall","src":"6301:31:150"},{"name":"_4","nodeType":"YulIdentifier","src":"6334:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6297:3:150"},"nodeType":"YulFunctionCall","src":"6297:40:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6285:3:150"},"nodeType":"YulFunctionCall","src":"6285:53:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"6271:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6397:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6399:16:150"},"nodeType":"YulFunctionCall","src":"6399:18:150"},"nodeType":"YulExpressionStatement","src":"6399:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6356:10:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6368:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6353:2:150"},"nodeType":"YulFunctionCall","src":"6353:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6376:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"6388:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6373:2:150"},"nodeType":"YulFunctionCall","src":"6373:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6350:2:150"},"nodeType":"YulFunctionCall","src":"6350:46:150"},"nodeType":"YulIf","src":"6347:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6435:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"6439:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6428:6:150"},"nodeType":"YulFunctionCall","src":"6428:22:150"},"nodeType":"YulExpressionStatement","src":"6428:22:150"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6466:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"6474:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6459:6:150"},"nodeType":"YulFunctionCall","src":"6459:18:150"},"nodeType":"YulExpressionStatement","src":"6459:18:150"},{"body":{"nodeType":"YulBlock","src":"6523:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6532:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6535:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6525:6:150"},"nodeType":"YulFunctionCall","src":"6525:12:150"},"nodeType":"YulExpressionStatement","src":"6525:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6500:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"6504:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6496:3:150"},"nodeType":"YulFunctionCall","src":"6496:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"6509:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6492:3:150"},"nodeType":"YulFunctionCall","src":"6492:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6514:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6489:2:150"},"nodeType":"YulFunctionCall","src":"6489:33:150"},"nodeType":"YulIf","src":"6486:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6587:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6591:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6583:3:150"},"nodeType":"YulFunctionCall","src":"6583:11:150"},{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"6600:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6608:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6596:3:150"},"nodeType":"YulFunctionCall","src":"6596:15:150"},{"name":"_3","nodeType":"YulIdentifier","src":"6613:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"6548:34:150"},"nodeType":"YulFunctionCall","src":"6548:68:150"},"nodeType":"YulExpressionStatement","src":"6548:68:150"},{"nodeType":"YulAssignment","src":"6625:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"6635:6:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6625:6:150"}]}]},"name":"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5734:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5745:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5757:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5765:6:150","type":""}],"src":"5671:976:150"},{"body":{"nodeType":"YulBlock","src":"6731:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"6777:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6786:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6789:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6779:6:150"},"nodeType":"YulFunctionCall","src":"6779:12:150"},"nodeType":"YulExpressionStatement","src":"6779:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6752:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6761:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6748:3:150"},"nodeType":"YulFunctionCall","src":"6748:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6773:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6744:3:150"},"nodeType":"YulFunctionCall","src":"6744:32:150"},"nodeType":"YulIf","src":"6741:52:150"},{"nodeType":"YulVariableDeclaration","src":"6802:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6821:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6815:5:150"},"nodeType":"YulFunctionCall","src":"6815:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6806:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6863:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"6840:22:150"},"nodeType":"YulFunctionCall","src":"6840:29:150"},"nodeType":"YulExpressionStatement","src":"6840:29:150"},{"nodeType":"YulAssignment","src":"6878:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6888:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6878:6:150"}]}]},"name":"abi_decode_tuple_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6697:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6708:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6720:6:150","type":""}],"src":"6652:247:150"},{"body":{"nodeType":"YulBlock","src":"6951:104:150","statements":[{"nodeType":"YulAssignment","src":"6961:39:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6977:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"6980:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6973:3:150"},"nodeType":"YulFunctionCall","src":"6973:12:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"6991:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"6994:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6987:3:150"},"nodeType":"YulFunctionCall","src":"6987:12:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6969:3:150"},"nodeType":"YulFunctionCall","src":"6969:31:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"6961:4:150"}]},{"body":{"nodeType":"YulBlock","src":"7027:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"7029:16:150"},"nodeType":"YulFunctionCall","src":"7029:18:150"},"nodeType":"YulExpressionStatement","src":"7029:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"7015:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"7021:4:150","type":"","value":"0xff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7012:2:150"},"nodeType":"YulFunctionCall","src":"7012:14:150"},"nodeType":"YulIf","src":"7009:40:150"}]},"name":"checked_sub_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"6933:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"6936:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"6942:4:150","type":""}],"src":"6904:151:150"},{"body":{"nodeType":"YulBlock","src":"7092:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7109:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7116:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7121:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7112:3:150"},"nodeType":"YulFunctionCall","src":"7112:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7102:6:150"},"nodeType":"YulFunctionCall","src":"7102:31:150"},"nodeType":"YulExpressionStatement","src":"7102:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7149:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7152:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7142:6:150"},"nodeType":"YulFunctionCall","src":"7142:15:150"},"nodeType":"YulExpressionStatement","src":"7142:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7173:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7176:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7166:6:150"},"nodeType":"YulFunctionCall","src":"7166:15:150"},"nodeType":"YulExpressionStatement","src":"7166:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"7060:127:150"},{"body":{"nodeType":"YulBlock","src":"7345:173:150","statements":[{"nodeType":"YulAssignment","src":"7355:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7367:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7378:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7363:3:150"},"nodeType":"YulFunctionCall","src":"7363:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7355:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7397:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7412:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7420:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7408:3:150"},"nodeType":"YulFunctionCall","src":"7408:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7390:6:150"},"nodeType":"YulFunctionCall","src":"7390:36:150"},"nodeType":"YulExpressionStatement","src":"7390:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7446:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7457:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7442:3:150"},"nodeType":"YulFunctionCall","src":"7442:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"7462:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7435:6:150"},"nodeType":"YulFunctionCall","src":"7435:34:150"},"nodeType":"YulExpressionStatement","src":"7435:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7489:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7500:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7485:3:150"},"nodeType":"YulFunctionCall","src":"7485:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"7505:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7478:6:150"},"nodeType":"YulFunctionCall","src":"7478:34:150"},"nodeType":"YulExpressionStatement","src":"7478:34:150"}]},"name":"abi_encode_tuple_t_uint8_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7298:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7309:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7317:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7325:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7336:4:150","type":""}],"src":"7192:326:150"},{"body":{"nodeType":"YulBlock","src":"7777:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7794:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7809:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"7817:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7805:3:150"},"nodeType":"YulFunctionCall","src":"7805:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7787:6:150"},"nodeType":"YulFunctionCall","src":"7787:36:150"},"nodeType":"YulExpressionStatement","src":"7787:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7843:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7854:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7839:3:150"},"nodeType":"YulFunctionCall","src":"7839:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"7859:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7832:6:150"},"nodeType":"YulFunctionCall","src":"7832:34:150"},"nodeType":"YulExpressionStatement","src":"7832:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7886:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7897:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7882:3:150"},"nodeType":"YulFunctionCall","src":"7882:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"7902:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7875:6:150"},"nodeType":"YulFunctionCall","src":"7875:34:150"},"nodeType":"YulExpressionStatement","src":"7875:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7929:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7940:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7925:3:150"},"nodeType":"YulFunctionCall","src":"7925:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7945:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7918:6:150"},"nodeType":"YulFunctionCall","src":"7918:31:150"},"nodeType":"YulExpressionStatement","src":"7918:31:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7969:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7980:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7965:3:150"},"nodeType":"YulFunctionCall","src":"7965:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"7986:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7958:6:150"},"nodeType":"YulFunctionCall","src":"7958:30:150"},"nodeType":"YulExpressionStatement","src":"7958:30:150"},{"nodeType":"YulAssignment","src":"7997:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8009:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8020:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8005:3:150"},"nodeType":"YulFunctionCall","src":"8005:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7997:4:150"}]}]},"name":"abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7730:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7741:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7749:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7757:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7768:4:150","type":""}],"src":"7523:507:150"},{"body":{"nodeType":"YulBlock","src":"8184:344:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8201:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8216:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8232:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8237:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8228:3:150"},"nodeType":"YulFunctionCall","src":"8228:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8241:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8224:3:150"},"nodeType":"YulFunctionCall","src":"8224:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8212:3:150"},"nodeType":"YulFunctionCall","src":"8212:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8194:6:150"},"nodeType":"YulFunctionCall","src":"8194:51:150"},"nodeType":"YulExpressionStatement","src":"8194:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8265:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8276:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8261:3:150"},"nodeType":"YulFunctionCall","src":"8261:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"8281:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8254:6:150"},"nodeType":"YulFunctionCall","src":"8254:30:150"},"nodeType":"YulExpressionStatement","src":"8254:30:150"},{"nodeType":"YulVariableDeclaration","src":"8293:27:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"8313:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8307:5:150"},"nodeType":"YulFunctionCall","src":"8307:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8297:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8340:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8351:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8336:3:150"},"nodeType":"YulFunctionCall","src":"8336:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"8356:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8329:6:150"},"nodeType":"YulFunctionCall","src":"8329:34:150"},"nodeType":"YulExpressionStatement","src":"8329:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"8411:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8419:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8407:3:150"},"nodeType":"YulFunctionCall","src":"8407:15:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8428:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8439:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8424:3:150"},"nodeType":"YulFunctionCall","src":"8424:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"8444:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"8372:34:150"},"nodeType":"YulFunctionCall","src":"8372:79:150"},"nodeType":"YulExpressionStatement","src":"8372:79:150"},{"nodeType":"YulAssignment","src":"8460:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8476:9:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8495:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8503:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8491:3:150"},"nodeType":"YulFunctionCall","src":"8491:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8512:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8508:3:150"},"nodeType":"YulFunctionCall","src":"8508:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8487:3:150"},"nodeType":"YulFunctionCall","src":"8487:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8472:3:150"},"nodeType":"YulFunctionCall","src":"8472:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"8519:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8468:3:150"},"nodeType":"YulFunctionCall","src":"8468:54:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8460:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8145:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8156:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8164:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8175:4:150","type":""}],"src":"8035:493:150"},{"body":{"nodeType":"YulBlock","src":"8744:404:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8761:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8776:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"8784:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8772:3:150"},"nodeType":"YulFunctionCall","src":"8772:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8754:6:150"},"nodeType":"YulFunctionCall","src":"8754:36:150"},"nodeType":"YulExpressionStatement","src":"8754:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8810:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8821:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8806:3:150"},"nodeType":"YulFunctionCall","src":"8806:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"8826:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8799:6:150"},"nodeType":"YulFunctionCall","src":"8799:34:150"},"nodeType":"YulExpressionStatement","src":"8799:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8853:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8864:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8849:3:150"},"nodeType":"YulFunctionCall","src":"8849:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"8869:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8842:6:150"},"nodeType":"YulFunctionCall","src":"8842:34:150"},"nodeType":"YulExpressionStatement","src":"8842:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8896:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8907:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8892:3:150"},"nodeType":"YulFunctionCall","src":"8892:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"8912:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8885:6:150"},"nodeType":"YulFunctionCall","src":"8885:31:150"},"nodeType":"YulExpressionStatement","src":"8885:31:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8936:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8947:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8932:3:150"},"nodeType":"YulFunctionCall","src":"8932:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"8953:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8925:6:150"},"nodeType":"YulFunctionCall","src":"8925:35:150"},"nodeType":"YulExpressionStatement","src":"8925:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8986:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8997:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8982:3:150"},"nodeType":"YulFunctionCall","src":"8982:19:150"},{"name":"value3","nodeType":"YulIdentifier","src":"9003:6:150"},{"name":"value4","nodeType":"YulIdentifier","src":"9011:6:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"8969:12:150"},"nodeType":"YulFunctionCall","src":"8969:49:150"},"nodeType":"YulExpressionStatement","src":"8969:49:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9042:9:150"},{"name":"value4","nodeType":"YulIdentifier","src":"9053:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9038:3:150"},"nodeType":"YulFunctionCall","src":"9038:22:150"},{"kind":"number","nodeType":"YulLiteral","src":"9062:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9034:3:150"},"nodeType":"YulFunctionCall","src":"9034:32:150"},{"kind":"number","nodeType":"YulLiteral","src":"9068:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9027:6:150"},"nodeType":"YulFunctionCall","src":"9027:43:150"},"nodeType":"YulExpressionStatement","src":"9027:43:150"},{"nodeType":"YulAssignment","src":"9079:63:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9095:9:150"},{"arguments":[{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"9114:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9122:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9110:3:150"},"nodeType":"YulFunctionCall","src":"9110:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9131:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9127:3:150"},"nodeType":"YulFunctionCall","src":"9127:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9106:3:150"},"nodeType":"YulFunctionCall","src":"9106:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9091:3:150"},"nodeType":"YulFunctionCall","src":"9091:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"9138:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9087:3:150"},"nodeType":"YulFunctionCall","src":"9087:55:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9079:4:150"}]}]},"name":"abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_string_calldata_ptr__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8681:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"8692:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8700:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8708:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8716:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8724:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8735:4:150","type":""}],"src":"8533:615:150"},{"body":{"nodeType":"YulBlock","src":"9289:130:150","statements":[{"nodeType":"YulAssignment","src":"9299:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9311:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9322:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9307:3:150"},"nodeType":"YulFunctionCall","src":"9307:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9299:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9341:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9356:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9364:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9352:3:150"},"nodeType":"YulFunctionCall","src":"9352:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9334:6:150"},"nodeType":"YulFunctionCall","src":"9334:36:150"},"nodeType":"YulExpressionStatement","src":"9334:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9390:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9401:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9386:3:150"},"nodeType":"YulFunctionCall","src":"9386:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"9406:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9379:6:150"},"nodeType":"YulFunctionCall","src":"9379:34:150"},"nodeType":"YulExpressionStatement","src":"9379:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9250:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9261:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9269:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9280:4:150","type":""}],"src":"9153:266:150"},{"body":{"nodeType":"YulBlock","src":"9473:79:150","statements":[{"nodeType":"YulAssignment","src":"9483:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9495:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"9498:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9491:3:150"},"nodeType":"YulFunctionCall","src":"9491:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"9483:4:150"}]},{"body":{"nodeType":"YulBlock","src":"9524:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9526:16:150"},"nodeType":"YulFunctionCall","src":"9526:18:150"},"nodeType":"YulExpressionStatement","src":"9526:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"9515:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"9521:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9512:2:150"},"nodeType":"YulFunctionCall","src":"9512:11:150"},"nodeType":"YulIf","src":"9509:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9455:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"9458:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"9464:4:150","type":""}],"src":"9424:128:150"},{"body":{"nodeType":"YulBlock","src":"9589:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9606:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9613:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9618:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9609:3:150"},"nodeType":"YulFunctionCall","src":"9609:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9599:6:150"},"nodeType":"YulFunctionCall","src":"9599:31:150"},"nodeType":"YulExpressionStatement","src":"9599:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9646:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9649:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9639:6:150"},"nodeType":"YulFunctionCall","src":"9639:15:150"},"nodeType":"YulExpressionStatement","src":"9639:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9670:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9673:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9663:6:150"},"nodeType":"YulFunctionCall","src":"9663:15:150"},"nodeType":"YulExpressionStatement","src":"9663:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"9557:127:150"},{"body":{"nodeType":"YulBlock","src":"9863:219:150","statements":[{"nodeType":"YulAssignment","src":"9873:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9885:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9896:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9881:3:150"},"nodeType":"YulFunctionCall","src":"9881:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9873:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9915:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"9926:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9908:6:150"},"nodeType":"YulFunctionCall","src":"9908:25:150"},"nodeType":"YulExpressionStatement","src":"9908:25:150"},{"body":{"nodeType":"YulBlock","src":"9968:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"9970:16:150"},"nodeType":"YulFunctionCall","src":"9970:18:150"},"nodeType":"YulExpressionStatement","src":"9970:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9955:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9963:2:150","type":"","value":"10"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9952:2:150"},"nodeType":"YulFunctionCall","src":"9952:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9945:6:150"},"nodeType":"YulFunctionCall","src":"9945:22:150"},"nodeType":"YulIf","src":"9942:48:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10010:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10021:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10006:3:150"},"nodeType":"YulFunctionCall","src":"10006:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"10026:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9999:6:150"},"nodeType":"YulFunctionCall","src":"9999:34:150"},"nodeType":"YulExpressionStatement","src":"9999:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10053:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10064:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10049:3:150"},"nodeType":"YulFunctionCall","src":"10049:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"10069:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10042:6:150"},"nodeType":"YulFunctionCall","src":"10042:34:150"},"nodeType":"YulExpressionStatement","src":"10042:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9816:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9827:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9835:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9843:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9854:4:150","type":""}],"src":"9689:393:150"},{"body":{"nodeType":"YulBlock","src":"10216:119:150","statements":[{"nodeType":"YulAssignment","src":"10226:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10238:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10249:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10234:3:150"},"nodeType":"YulFunctionCall","src":"10234:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10226:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10268:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10279:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10261:6:150"},"nodeType":"YulFunctionCall","src":"10261:25:150"},"nodeType":"YulExpressionStatement","src":"10261:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10306:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10317:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10302:3:150"},"nodeType":"YulFunctionCall","src":"10302:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"10322:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10295:6:150"},"nodeType":"YulFunctionCall","src":"10295:34:150"},"nodeType":"YulExpressionStatement","src":"10295:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10177:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10188:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10196:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10207:4:150","type":""}],"src":"10087:248:150"},{"body":{"nodeType":"YulBlock","src":"10438:147:150","statements":[{"body":{"nodeType":"YulBlock","src":"10484:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10493:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10496:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10486:6:150"},"nodeType":"YulFunctionCall","src":"10486:12:150"},"nodeType":"YulExpressionStatement","src":"10486:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10459:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10468:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10455:3:150"},"nodeType":"YulFunctionCall","src":"10455:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10480:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10451:3:150"},"nodeType":"YulFunctionCall","src":"10451:32:150"},"nodeType":"YulIf","src":"10448:52:150"},{"nodeType":"YulAssignment","src":"10509:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10525:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10519:5:150"},"nodeType":"YulFunctionCall","src":"10519:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10509:6:150"}]},{"nodeType":"YulAssignment","src":"10544:35:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10564:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10575:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10560:3:150"},"nodeType":"YulFunctionCall","src":"10560:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10554:5:150"},"nodeType":"YulFunctionCall","src":"10554:25:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10544:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10396:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10407:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10419:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10427:6:150","type":""}],"src":"10340:245:150"},{"body":{"nodeType":"YulBlock","src":"10636:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"10667:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10688:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10695:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10700:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10691:3:150"},"nodeType":"YulFunctionCall","src":"10691:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10681:6:150"},"nodeType":"YulFunctionCall","src":"10681:31:150"},"nodeType":"YulExpressionStatement","src":"10681:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10732:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10735:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10725:6:150"},"nodeType":"YulFunctionCall","src":"10725:15:150"},"nodeType":"YulExpressionStatement","src":"10725:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10760:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10763:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10753:6:150"},"nodeType":"YulFunctionCall","src":"10753:15:150"},"nodeType":"YulExpressionStatement","src":"10753:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"10656:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10649:6:150"},"nodeType":"YulFunctionCall","src":"10649:9:150"},"nodeType":"YulIf","src":"10646:132:150"},{"nodeType":"YulAssignment","src":"10787:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10796:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"10799:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"10792:3:150"},"nodeType":"YulFunctionCall","src":"10792:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"10787:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"10621:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"10624:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"10630:1:150","type":""}],"src":"10590:217:150"},{"body":{"nodeType":"YulBlock","src":"10997:232:150","statements":[{"nodeType":"YulAssignment","src":"11007:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11019:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11030:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11015:3:150"},"nodeType":"YulFunctionCall","src":"11015:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11007:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11050:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"11061:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11043:6:150"},"nodeType":"YulFunctionCall","src":"11043:25:150"},"nodeType":"YulExpressionStatement","src":"11043:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11088:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11099:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11084:3:150"},"nodeType":"YulFunctionCall","src":"11084:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11108:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11124:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11129:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11120:3:150"},"nodeType":"YulFunctionCall","src":"11120:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11133:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11116:3:150"},"nodeType":"YulFunctionCall","src":"11116:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11104:3:150"},"nodeType":"YulFunctionCall","src":"11104:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11077:6:150"},"nodeType":"YulFunctionCall","src":"11077:60:150"},"nodeType":"YulExpressionStatement","src":"11077:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11157:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11168:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11153:3:150"},"nodeType":"YulFunctionCall","src":"11153:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"11173:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11146:6:150"},"nodeType":"YulFunctionCall","src":"11146:34:150"},"nodeType":"YulExpressionStatement","src":"11146:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11200:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11211:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11196:3:150"},"nodeType":"YulFunctionCall","src":"11196:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"11216:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11189:6:150"},"nodeType":"YulFunctionCall","src":"11189:34:150"},"nodeType":"YulExpressionStatement","src":"11189:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10942:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"10953:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10961:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10969:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10977:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10988:4:150","type":""}],"src":"10812:417:150"},{"body":{"nodeType":"YulBlock","src":"11436:318:150","statements":[{"nodeType":"YulAssignment","src":"11446:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11458:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11469:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11454:3:150"},"nodeType":"YulFunctionCall","src":"11454:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11446:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"11482:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11500:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11505:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11496:3:150"},"nodeType":"YulFunctionCall","src":"11496:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11509:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11492:3:150"},"nodeType":"YulFunctionCall","src":"11492:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11486:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11527:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11542:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11550:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11538:3:150"},"nodeType":"YulFunctionCall","src":"11538:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11520:6:150"},"nodeType":"YulFunctionCall","src":"11520:34:150"},"nodeType":"YulExpressionStatement","src":"11520:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11574:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11585:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11570:3:150"},"nodeType":"YulFunctionCall","src":"11570:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11594:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11602:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11590:3:150"},"nodeType":"YulFunctionCall","src":"11590:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11563:6:150"},"nodeType":"YulFunctionCall","src":"11563:43:150"},"nodeType":"YulExpressionStatement","src":"11563:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11626:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11637:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11622:3:150"},"nodeType":"YulFunctionCall","src":"11622:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"11642:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11615:6:150"},"nodeType":"YulFunctionCall","src":"11615:34:150"},"nodeType":"YulExpressionStatement","src":"11615:34:150"},{"body":{"nodeType":"YulBlock","src":"11683:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"11685:16:150"},"nodeType":"YulFunctionCall","src":"11685:18:150"},"nodeType":"YulExpressionStatement","src":"11685:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"11671:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"11679:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11668:2:150"},"nodeType":"YulFunctionCall","src":"11668:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11661:6:150"},"nodeType":"YulFunctionCall","src":"11661:21:150"},"nodeType":"YulIf","src":"11658:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11725:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11736:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11721:3:150"},"nodeType":"YulFunctionCall","src":"11721:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"11741:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11714:6:150"},"nodeType":"YulFunctionCall","src":"11714:34:150"},"nodeType":"YulExpressionStatement","src":"11714:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11381:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11392:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11400:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11408:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11416:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11427:4:150","type":""}],"src":"11234:520:150"},{"body":{"nodeType":"YulBlock","src":"11860:76:150","statements":[{"nodeType":"YulAssignment","src":"11870:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11882:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11893:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11878:3:150"},"nodeType":"YulFunctionCall","src":"11878:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11870:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11912:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"11923:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11905:6:150"},"nodeType":"YulFunctionCall","src":"11905:25:150"},"nodeType":"YulExpressionStatement","src":"11905:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11829:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11840:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11851:4:150","type":""}],"src":"11759:177:150"},{"body":{"nodeType":"YulBlock","src":"12115:233:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12132:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12143:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12125:6:150"},"nodeType":"YulFunctionCall","src":"12125:21:150"},"nodeType":"YulExpressionStatement","src":"12125:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12166:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12177:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12162:3:150"},"nodeType":"YulFunctionCall","src":"12162:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"12182:2:150","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12155:6:150"},"nodeType":"YulFunctionCall","src":"12155:30:150"},"nodeType":"YulExpressionStatement","src":"12155:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12205:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12216:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12201:3:150"},"nodeType":"YulFunctionCall","src":"12201:18:150"},{"hexValue":"476f7665726e6f72436f6e666967757261746f723a20696e76616c6964207072","kind":"string","nodeType":"YulLiteral","src":"12221:34:150","type":"","value":"GovernorConfigurator: invalid pr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12194:6:150"},"nodeType":"YulFunctionCall","src":"12194:62:150"},"nodeType":"YulExpressionStatement","src":"12194:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12276:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12287:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12272:3:150"},"nodeType":"YulFunctionCall","src":"12272:18:150"},{"hexValue":"6f706f73616c2074797065","kind":"string","nodeType":"YulLiteral","src":"12292:13:150","type":"","value":"oposal type"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12265:6:150"},"nodeType":"YulFunctionCall","src":"12265:41:150"},"nodeType":"YulExpressionStatement","src":"12265:41:150"},{"nodeType":"YulAssignment","src":"12315:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12327:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12338:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12323:3:150"},"nodeType":"YulFunctionCall","src":"12323:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12315:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12092:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12106:4:150","type":""}],"src":"11941:407:150"},{"body":{"nodeType":"YulBlock","src":"12385:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12402:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12409:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"12414:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12405:3:150"},"nodeType":"YulFunctionCall","src":"12405:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12395:6:150"},"nodeType":"YulFunctionCall","src":"12395:31:150"},"nodeType":"YulExpressionStatement","src":"12395:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12442:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"12445:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12435:6:150"},"nodeType":"YulFunctionCall","src":"12435:15:150"},"nodeType":"YulExpressionStatement","src":"12435:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12466:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12469:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12459:6:150"},"nodeType":"YulFunctionCall","src":"12459:15:150"},"nodeType":"YulExpressionStatement","src":"12459:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"12353:127:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_addresst_uint8t_string_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n        let value_1 := calldataload(add(headStart, 64))\n        validator_revert_uint8(value_1)\n        value2 := value_1\n        let offset := calldataload(add(headStart, 96))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := calldataload(_2)\n        if gt(length, _1) { revert(0, 0) }\n        if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n        value3 := add(_2, 32)\n        value4 := length\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_bool_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n        let offset := mload(add(headStart, 32))\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        if gt(_3, _1) { panic_error_0x41() }\n        let _4 := not(31)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, _3)\n        if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n        value1 := memPtr\n    }\n    function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function checked_sub_t_uint8(x, y) -> diff\n    {\n        diff := sub(and(x, 0xff), and(y, 0xff))\n        if gt(diff, 0xff) { panic_error_0x11() }\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_uint8_t_uint256_t_uint256__to_t_uint8_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        mstore(add(headStart, 128), 0)\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        let length := mload(value1)\n        mstore(add(headStart, 64), length)\n        copy_memory_to_memory_with_cleanup(add(value1, 32), add(headStart, 96), length)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 96)\n    }\n    function abi_encode_tuple_t_uint8_t_uint256_t_uint256_t_string_calldata_ptr__to_t_uint8_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        mstore(add(headStart, 128), value4)\n        calldatacopy(add(headStart, 160), value3, value4)\n        mstore(add(add(headStart, value4), 160), 0)\n        tail := add(add(headStart, and(add(value4, 31), not(31))), 160)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_ProposalState_$61406_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        if iszero(lt(value1, 10)) { panic_error_0x21() }\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := mload(headStart)\n        value1 := mload(add(headStart, 32))\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        if iszero(lt(value3, 2)) { panic_error_0x21() }\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_38db15e35d186ccc979dda878efff04182e1b7a94ba42589a54a9e482321f928__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 43)\n        mstore(add(headStart, 64), \"GovernorConfigurator: invalid pr\")\n        mstore(add(headStart, 96), \"oposal type\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/governance/libraries/GovernorClockLogic.sol":{"GovernorClockLogic":[{"length":20,"start":479},{"length":20,"start":627},{"length":20,"start":5379},{"length":20,"start":5502},{"length":20,"start":8024}]},"contracts/governance/libraries/GovernorProposalLogic.sol":{"GovernorProposalLogic":[{"length":20,"start":2447},{"length":20,"start":3250}]}},"object":"730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806381c0d6df146100715780639c17e7b31461008e578063a45aa313146100a5578063b69d417b146100b8578063b6e9eff4146100d9578063dd063f90146100f9575b600080fd5b610079610119565b60405190151581526020015b60405180910390f35b81801561009a57600080fd5b506100a36101cc565b005b6100796100b3366004612573565b61031c565b6100cb6100c63660046125a4565b6103c7565b604051908152602001610085565b8180156100e557600080fd5b506100cb6100f43660046125d0565b6103f2565b81801561010557600080fd5b506100cb61011436600461260f565b610ae9565b600080610124610d7b565b9050600081600a0160009054906101000a90046001600160a01b03166001600160a01b031663561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a191906126ad565b90506101b96101af82610d9f565b6013840190610dd6565b6001600160d01b03166001149250505090565b60006101d6610d7b565b9050600061024a73__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af91906126c6565b6001600160d01b03166001149050600081610266576001610269565b60005b60ff1690506102e973__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156102ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102de91906126c6565b601385019083610e8c565b50506040518215907fe782263e17b994d34e64f19af2397c26081a1f4c26c604acb8fb3db6bafc903e90600090a2505050565b600080610327610d7b565b600a8101546040516368377f6d60e11b8152600481018690529192506000916103a3916001600160a01b03169063d06efeda90602401602060405180830381865afa15801561037a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039e91906126ad565b610d9f565b90506103b26013830182610dd6565b6001600160d01b031660011492505050919050565b60006103db6103d68484610ea7565b6110d5565b6103e990633b9aca00612704565b90505b92915050565b6000806103fd610d7b565b90506104128461040d60016111c4565b6111e7565b50600061041e85611226565b601f8301546040516318be49d960e01b81529192506000916001600160a01b03909116906318be49d990610458908890869060040161271b565b602060405180830381865afa158015610475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104999190612734565b90506001600160a01b0381166104cd5784604051630d1c9abb60e31b81526004016104c49190612751565b60405180910390fd5b600086815260018085016020526040918290200154601f850154915163506b90db60e11b815290916001600160a01b03169063a0d721b690610513908590600401612751565b602060405180830381865afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610554919061277a565b156106115760208401546001600160a01b0316156105d55760208401546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906105a29084908a908c90600401612795565b600060405180830381600087803b1580156105bc57600080fd5b505af11580156105d0573d6000803e3d6000fd5b505050505b86826001600160a01b0316876001600160a01b0316600080516020612ac383398151915260405160405180910390a460009450505050506103ec565b601f840154604051632246f2db60e01b81526001600160a01b0390911690632246f2db906106459085908b9060040161271b565b602060405180830381865afa158015610662573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610686919061277a565b61078557600061069588611613565b9050806106a0611796565b6106aa90436127b4565b10156106cc576040516324852b2f60e11b8152600481018990526024016104c4565b60208501546001600160a01b0316156107485760208501546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906107159085908b908d90600401612795565b600060405180830381600087803b15801561072f57600080fd5b505af1158015610743573d6000803e3d6000fd5b505050505b87836001600160a01b0316886001600160a01b0316600080516020612ac383398151915260405160405180910390a46000955050505050506103ec565b60148401546000906001600160a01b031663d0ebb0ee886107a587610d9f565b6040518363ffffffff1660e01b81526004016107c29291906127c7565b600060405180830381865afa1580156107df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108079190810190612822565b509050806108585760208501546001600160a01b0316156107485760208501546040516318b9baa160e01b81526001600160a01b03909116906318b9baa1906107159085908b908d90600401612795565b601f8501546040516338b3ce1360e01b81526000916001600160a01b0316906338b3ce139061088d9087908d9060040161271b565b602060405180830381865afa1580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce91906128e2565b905060006108dd6001836128ff565b601f88015460405163c61c06e760e01b81529192506000916001600160a01b039091169063c61c06e790610917908d908b9060040161271b565b602060405180830381865afa158015610934573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095891906126ad565b90506000610965826110d5565b61097390633b9aca00612704565b604051631504e3b960e11b8152600481018e905290915060009073__$0f6271ecd36857987d374ff633d31cbc3c$__90632a09c77290602401602060405180830381865af41580156109c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ed91906128e2565b60ff166001811115610a0157610a01612918565b9050610a0d83826117a9565b610a1a8d8d8686866117e6565b610a288a8e8e86888e611973565b610a338a8e8e611abc565b6040805160ff86168152602081018590529081018390528d906001600160a01b03808b1691908f16907fe5aba2374a4ff3b54ee59beb7eabaae209c8a3e5d31185fd429458c2f887c21a9060600160405180910390a46040805160ff86168152602081018590529081018390526080606082018190526000908201528d906001600160a01b038e1690600080516020612aa38339815191529060a0015b60405180910390a350909b9a5050505050505050505050565b600080610af4610d7b565b9050610b048761040d60016111c4565b506000610b1088611226565b601f8301549091506001600160a01b031615610bc557601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990610b5b908b90869060040161271b565b602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c9190612734565b6001600160a01b031614610bc5578660405163640ed18360e01b81526004016104c49190612751565b601482015460009081906001600160a01b031663d0ebb0ee8a610be786610d9f565b6040518363ffffffff1660e01b8152600401610c049291906127c7565b600060405180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c499190810190612822565b9150915081610c6f5788816040516344c4534960e01b81526004016104c492919061292e565b6000610c7b8a85610ea7565b90506000610c88826110d5565b610c9690633b9aca00612704565b604051631504e3b960e11b8152600481018e905290915060009073__$0f6271ecd36857987d374ff633d31cbc3c$__90632a09c77290602401602060405180830381865af4158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906128e2565b60ff166001811115610d2457610d24612918565b9050610d3083826117a9565b610d3d8d8d8d86866117e6565b610d4b878e8e868f8b611973565b8c8c6001600160a01b0316600080516020612aa38339815191528d86868f8f604051610ad0959493929190612970565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600065ffffffffffff821115610dd2576040516306dfcc6560e41b815260306004820152602481018390526044016104c4565b5090565b815460009081816005811115610e35576000610df1846110d5565b610dfb90856129b7565b60008881526020902090915081015465ffffffffffff9081169087161015610e2557809150610e33565b610e308160016127b4565b92505b505b6000610e4387878585611b57565b90508015610e7e57610e6887610e5a6001846129b7565b600091825260209091200190565b54600160301b90046001600160d01b0316610e81565b60005b979650505050505050565b600080610e9a858585611bb9565b915091505b935093915050565b600080610eb2610d7b565b600c810154604051630748d63560e31b81529192506000916001600160a01b0390911690633a46b1a890610eec908890889060040161271b565b602060405180830381865afa158015610f09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2d91906126ad565b601f8301549091506001600160a01b0316610f4b5791506103ec9050565b601f8201546040516318be49d960e01b81526000916001600160a01b0316906318be49d990610f80908990899060040161271b565b602060405180830381865afa158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc19190612734565b6001600160a01b03161461104d57601f82015460405163c61c06e760e01b81526001600160a01b039091169063c61c06e790611003908890889060040161271b565b602060405180830381865afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104491906126ad565b925050506103ec565b601f82015460405163094f6f2960e21b81526001600160a01b039091169063253dbca490611081908890889060040161271b565b602060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c291906126ad565b6110cc90826127b4565b95945050505050565b6000816000036110e757506000919050565b600060016110f484611d33565b901c6001901b9050600181848161110d5761110d6129ca565b048201901c90506001818481611125576111256129ca565b048201901c9050600181848161113d5761113d6129ca565b048201901c90506001818481611155576111556129ca565b048201901c9050600181848161116d5761116d6129ca565b048201901c90506001818481611185576111856129ca565b048201901c9050600181848161119d5761119d6129ca565b048201901c90506111bd818285816111b7576111b76129ca565b04611dc7565b9392505050565b60008160098111156111d8576111d8612918565b600160ff919091161b92915050565b6000806111f384611ddd565b9050600083611201836111c4565b16036103e9578381846040516331b75e4d60e01b81526004016104c4939291906129e0565b600080611231610d7b565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c591906126ad565b106113625760006112d4610d7b565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda906024015b602060405180830381865afa158015611336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135a91906126ad565b949350505050565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa1580156113ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d291906126ad565b60008581526001808501602052604090912001546113f091906129b7565b905060006113ff6001836129b7565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611454573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147891906126ad565b6114829190612704565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ff91906126ad565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e91906126c6565b65ffffffffffff1681116115f45773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156115c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e991906126c6565b65ffffffffffff1690505b826115ff83836127b4565b61160991906127b4565b9695505050505050565b60008061161e610d7b565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b291906126ad565b1061170a5760006116c1610d7b565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd90602401611319565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178391906126ad565b61178c84611226565b6111bd91906127b4565b60006117a0610d7b565b60220154905090565b60006117b482612184565b9050808310156117e15760405163742f62c360e01b815260048101829052602481018490526044016104c4565b505050565b60006117f0610d7b565b6000878152600f8201602090815260408083206001600160a01b038a16845260038101909252909120549192509060ff161561184157856040516371c6af4960e01b81526004016104c49190612751565b6001600160a01b03861660009081526003820160205260408120805460ff1916600117905561186e610119565b611878578361187a565b845b905060ff86166118a3578082600001600082825461189891906127b4565b909155506118fc9050565b60001960ff8716016118c3578082600101600082825461189891906127b4565b60011960ff8716016118e3578082600201600082825461189891906127b4565b6040516303599be160e11b815260040160405180910390fd5b60008881526011840160205260408120805487929061191c9084906127b4565b90915550506001600160a01b038716600090815260108401602052604090205460ff16611969576001600160a01b03871660009081526010840160205260409020805460ff191660011790555b5050505050505050565b600986015460405163a7381dab60e01b81526004810183905260009182916101009091046001600160a01b03169063a7381dab906024016040805180830381865afa1580156119c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ea9190612a08565b9150915060008460ff16600214611a015782611a03565b815b90506000612710611a148389612704565b611a1e9190612a2c565b60098b015490915061010090046001600160a01b0316632f18339d8a8a84611a45816110d5565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b03909216602484015260448301526064820152608401600060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b5050505050505050505050505050565b60208301546001600160a01b0316611ad357505050565b602080840154600084815260018087019093526040808220909301549251636cf88e7360e01b81526001600160a01b0390921692636cf88e7392611b209233928792909190600401612a4e565b600060405180830381600087803b158015611b3a57600080fd5b505af1158015611b4e573d6000803e3d6000fd5b50505050505050565b60005b81831015611bb1576000611b6e848461223a565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115611b9d57809250611bab565b611ba88160016127b4565b93505b50611b5a565b509392505050565b825460009081908015611cd8576000611bd787610e5a6001856129b7565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015611c2b57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603611c775784611c4e88610e5a6001866129b7565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611cc8565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610e9f9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610e9f565b600080608083901c15611d4857608092831c92015b604083901c15611d5a57604092831c92015b602083901c15611d6c57602092831c92015b601083901c15611d7e57601092831c92015b600883901c15611d9057600892831c92015b600483901c15611da257600492831c92015b600283901c15611db457600292831c92015b600183901c156103ec5760010192915050565b6000818310611dd657816103e9565b5090919050565b600080611de8610d7b565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115611e3d57611e3d612918565b03611e4f575060089695505050505050565b6002836002811115611e6357611e63612918565b03611e75575060099695505050505050565b8115611e88575060069695505050505050565b8015611e9b575060029695505050505050565b8360010154600003611ec357604051636ad0607560e01b8152600481018890526024016104c4565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4191906126ad565b1015611f54575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc391906126c6565b65ffffffffffff1690506000611fd889611613565b9050611fe389612255565b611ff65750600798975050505050505050565b81811061200c5750600198975050505050505050565b61201589612281565b15806120275750612025896122df565b155b1561203b5750600398975050505050505050565b61204489612307565b60000361205a5750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa1580156120b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120db919061277a565b156120f0575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa15801561213b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215f919061277a565b15612174575060069998505050505050505050565b5060029998505050505050505050565b60008061218f610d7b565b905061219a83612339565b6121fa5760405162461bcd60e51b815260206004820152602b60248201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260448201526a6f706f73616c207479706560a81b60648201526084016104c4565b80601701600084600181111561221257612212612918565b600181111561222357612223612918565b815260200190815260200160002054915050919050565b60006122496002848418612a2c565b6103e9908484166127b4565b600080612260610d7b565b60009384526001016020525050604090206004810154600390910154101590565b60008061228c610d7b565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906122d56122be86611226565b8360018111156122d0576122d0612918565b612370565b1115949350505050565b6000806122ea610d7b565b6000938452600f0160205250506040902080546001909101541190565b600080612312610d7b565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b60008082600181111561234e5761234e612918565b14806103ec5750600182600181111561236957612369612918565b1492915050565b60008061237b610d7b565b90506064612389858561240c565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156123d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f891906126ad565b6124029190612704565b61135a9190612a2c565b60006103e9838360ff16600181111561242757612427612918565b600080612432610d7b565b9050600081601801600085600181111561244e5761244e612918565b600181111561245f5761245f612918565b815260208101919091526040016000908120549150601883018186600181111561248b5761248b612918565b600181111561249c5761249c612918565b815260208101919091526040016000206124b76001846129b7565b815481106124c7576124c7612a8c565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031687821161250d576001600160d01b031694506103ec9350505050565b61255e61251989610d9f565b8660180160008a600181111561253157612531612918565b600181111561254257612542612918565b8152602001908152602001600020610dd690919063ffffffff16565b6001600160d01b031698975050505050505050565b60006020828403121561258557600080fd5b5035919050565b6001600160a01b03811681146125a157600080fd5b50565b600080604083850312156125b757600080fd5b82356125c28161258c565b946020939093013593505050565b600080604083850312156125e357600080fd5b8235915060208301356125f58161258c565b809150509250929050565b60ff811681146125a157600080fd5b60008060008060006080868803121561262757600080fd5b8535945060208601356126398161258c565b9350604086013561264981612600565b925060608601356001600160401b038082111561266557600080fd5b818801915088601f83011261267957600080fd5b81358181111561268857600080fd5b89602082850101111561269a57600080fd5b9699959850939650602001949392505050565b6000602082840312156126bf57600080fd5b5051919050565b6000602082840312156126d857600080fd5b815165ffffffffffff811681146103e957600080fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103ec576103ec6126ee565b6001600160a01b03929092168252602082015260400190565b60006020828403121561274657600080fd5b81516103e98161258c565b6001600160a01b0391909116815260200190565b8051801515811461277557600080fd5b919050565b60006020828403121561278c57600080fd5b6103e982612765565b9283526001600160a01b03919091166020830152604082015260600190565b808201808211156103ec576103ec6126ee565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015612819578181015183820152602001612801565b50506000910152565b6000806040838503121561283557600080fd5b61283e83612765565b60208401519092506001600160401b038082111561285b57600080fd5b818501915085601f83011261286f57600080fd5b815181811115612881576128816127e8565b604051601f8201601f19908116603f011681019083821181831017156128a9576128a96127e8565b816040528281528860208487010111156128c257600080fd5b6128d38360208301602088016127fe565b80955050505050509250929050565b6000602082840312156128f457600080fd5b81516103e981612600565b60ff82811682821603908111156103ec576103ec6126ee565b634e487b7160e01b600052602160045260246000fd5b60018060a01b0383168152604060208201526000825180604084015261295b8160608501602087016127fe565b601f01601f1916919091016060019392505050565b60ff8616815284602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b818103818111156103ec576103ec6126ee565b634e487b7160e01b600052601260045260246000fd5b83815260608101600a84106129f7576129f7612918565b602082019390935260400152919050565b60008060408385031215612a1b57600080fd5b505080516020909101519092909150565b600082612a4957634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03858116825284166020820152604081018390526080810160028310612a7d57612a7d612918565b82606083015295945050505050565b634e487b7160e01b600052603260045260246000fdfeaec5ebd9cfb5e0fa9ec893c112b6f15c366248db781323babe6909c0e07703978b34402b007625b875ac624bea888f2cd3b6896eb9b8f2a2a278bbf3b5dd9b4da2646970667358221220155b22843dc4830fcd112e9f6e9d1deb550233b1baf3ce9487e5f57eab1bbd7e64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x6C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x81C0D6DF EQ PUSH2 0x71 JUMPI DUP1 PUSH4 0x9C17E7B3 EQ PUSH2 0x8E JUMPI DUP1 PUSH4 0xA45AA313 EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0xB69D417B EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xB6E9EFF4 EQ PUSH2 0xD9 JUMPI DUP1 PUSH4 0xDD063F90 EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x79 PUSH2 0x119 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3 PUSH2 0x1CC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x79 PUSH2 0xB3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2573 JUMP JUMPDEST PUSH2 0x31C JUMP JUMPDEST PUSH2 0xCB PUSH2 0xC6 CALLDATASIZE PUSH1 0x4 PUSH2 0x25A4 JUMP JUMPDEST PUSH2 0x3C7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x85 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCB PUSH2 0xF4 CALLDATASIZE PUSH1 0x4 PUSH2 0x25D0 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x105 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCB PUSH2 0x114 CALLDATASIZE PUSH1 0x4 PUSH2 0x260F JUMP JUMPDEST PUSH2 0xAE9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x124 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A1 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP1 POP PUSH2 0x1B9 PUSH2 0x1AF DUP3 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x13 DUP5 ADD SWAP1 PUSH2 0xDD6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D6 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x24A PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x226 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x266 JUMPI PUSH1 0x1 PUSH2 0x269 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH2 0x2E9 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2DE SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH1 0x13 DUP6 ADD SWAP1 DUP4 PUSH2 0xE8C JUMP JUMPDEST POP POP PUSH1 0x40 MLOAD DUP3 ISZERO SWAP1 PUSH32 0xE782263E17B994D34E64F19AF2397C26081A1F4C26C604ACB8FB3DB6BAFC903E SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x327 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH2 0x3A3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x37A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0xD9F JUMP JUMPDEST SWAP1 POP PUSH2 0x3B2 PUSH1 0x13 DUP4 ADD DUP3 PUSH2 0xDD6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DB PUSH2 0x3D6 DUP5 DUP5 PUSH2 0xEA7 JUMP JUMPDEST PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x3E9 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2704 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3FD PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0x412 DUP5 PUSH2 0x40D PUSH1 0x1 PUSH2 0x11C4 JUMP JUMPDEST PUSH2 0x11E7 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x41E DUP6 PUSH2 0x1226 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x458 SWAP1 DUP9 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x475 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x499 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4CD JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xD1C9ABB PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD PUSH1 0x1F DUP6 ADD SLOAD SWAP2 MLOAD PUSH4 0x506B90DB PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA0D721B6 SWAP1 PUSH2 0x513 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x2751 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x530 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x554 SWAP2 SWAP1 PUSH2 0x277A JUMP JUMPDEST ISZERO PUSH2 0x611 JUMPI PUSH1 0x20 DUP5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x5D5 JUMPI PUSH1 0x20 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x5A2 SWAP1 DUP5 SWAP1 DUP11 SWAP1 DUP13 SWAP1 PUSH1 0x4 ADD PUSH2 0x2795 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x5BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x5D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP7 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AC3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x0 SWAP5 POP POP POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x1F DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2246F2DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2246F2DB SWAP1 PUSH2 0x645 SWAP1 DUP6 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x662 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x686 SWAP2 SWAP1 PUSH2 0x277A JUMP JUMPDEST PUSH2 0x785 JUMPI PUSH1 0x0 PUSH2 0x695 DUP9 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x6A0 PUSH2 0x1796 JUMP JUMPDEST PUSH2 0x6AA SWAP1 NUMBER PUSH2 0x27B4 JUMP JUMPDEST LT ISZERO PUSH2 0x6CC JUMPI PUSH1 0x40 MLOAD PUSH4 0x24852B2F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C4 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x748 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x715 SWAP1 DUP6 SWAP1 DUP12 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x2795 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x72F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x743 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST DUP8 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AC3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x0 SWAP6 POP POP POP POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x14 DUP5 ADD SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP9 PUSH2 0x7A5 DUP8 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7C2 SWAP3 SWAP2 SWAP1 PUSH2 0x27C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x807 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2822 JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x858 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x748 JUMPI PUSH1 0x20 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18B9BAA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x18B9BAA1 SWAP1 PUSH2 0x715 SWAP1 DUP6 SWAP1 DUP12 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x2795 JUMP JUMPDEST PUSH1 0x1F DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x38B3CE13 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x38B3CE13 SWAP1 PUSH2 0x88D SWAP1 DUP8 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8CE SWAP2 SWAP1 PUSH2 0x28E2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x8DD PUSH1 0x1 DUP4 PUSH2 0x28FF JUMP JUMPDEST PUSH1 0x1F DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x917 SWAP1 DUP14 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x934 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x958 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x965 DUP3 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x973 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2704 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP15 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9ED SWAP2 SWAP1 PUSH2 0x28E2 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA01 JUMPI PUSH2 0xA01 PUSH2 0x2918 JUMP JUMPDEST SWAP1 POP PUSH2 0xA0D DUP4 DUP3 PUSH2 0x17A9 JUMP JUMPDEST PUSH2 0xA1A DUP14 DUP14 DUP7 DUP7 DUP7 PUSH2 0x17E6 JUMP JUMPDEST PUSH2 0xA28 DUP11 DUP15 DUP15 DUP7 DUP9 DUP15 PUSH2 0x1973 JUMP JUMPDEST PUSH2 0xA33 DUP11 DUP15 DUP15 PUSH2 0x1ABC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE DUP14 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND SWAP2 SWAP1 DUP16 AND SWAP1 PUSH32 0xE5ABA2374A4FF3B54EE59BEB7EABAAE209C8A3E5D31185FD429458C2F887C21A SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP3 ADD MSTORE DUP14 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP15 AND SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AA3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0xA0 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP SWAP1 SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAF4 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0xB04 DUP8 PUSH2 0x40D PUSH1 0x1 PUSH2 0x11C4 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0xB10 DUP9 PUSH2 0x1226 JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xBC5 JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0xB5B SWAP1 DUP12 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB9C SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBC5 JUMPI DUP7 PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2751 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP11 PUSH2 0xBE7 DUP7 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC04 SWAP3 SWAP2 SWAP1 PUSH2 0x27C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC21 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC49 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2822 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0xC6F JUMPI DUP9 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP3 SWAP2 SWAP1 PUSH2 0x292E JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC7B DUP11 DUP6 PUSH2 0xEA7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC88 DUP3 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0xC96 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x2704 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1504E3B9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP15 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x2A09C772 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xCEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD10 SWAP2 SWAP1 PUSH2 0x28E2 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xD24 JUMPI PUSH2 0xD24 PUSH2 0x2918 JUMP JUMPDEST SWAP1 POP PUSH2 0xD30 DUP4 DUP3 PUSH2 0x17A9 JUMP JUMPDEST PUSH2 0xD3D DUP14 DUP14 DUP14 DUP7 DUP7 PUSH2 0x17E6 JUMP JUMPDEST PUSH2 0xD4B DUP8 DUP15 DUP15 DUP7 DUP16 DUP12 PUSH2 0x1973 JUMP JUMPDEST DUP13 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2AA3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP14 DUP7 DUP7 DUP16 DUP16 PUSH1 0x40 MLOAD PUSH2 0xAD0 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2970 JUMP JUMPDEST PUSH32 0xD09A0AAF4AB3087BAE7FA25EF74DDD4E5A4950980903CE417E66228CF7DC7B00 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDD2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4C4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xE35 JUMPI PUSH1 0x0 PUSH2 0xDF1 DUP5 PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0xDFB SWAP1 DUP6 PUSH2 0x29B7 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xE25 JUMPI DUP1 SWAP2 POP PUSH2 0xE33 JUMP JUMPDEST PUSH2 0xE30 DUP2 PUSH1 0x1 PUSH2 0x27B4 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xE43 DUP8 DUP8 DUP6 DUP6 PUSH2 0x1B57 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xE7E JUMPI PUSH2 0xE68 DUP8 PUSH2 0xE5A PUSH1 0x1 DUP5 PUSH2 0x29B7 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xE81 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xE9A DUP6 DUP6 DUP6 PUSH2 0x1BB9 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xEB2 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xC DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0xEEC SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF09 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF2D SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH1 0x1F DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF4B JUMPI SWAP2 POP PUSH2 0x3EC SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0xF80 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF9D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFC1 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x104D JUMPI PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x1003 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1020 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1044 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x3EC JUMP JUMPDEST PUSH1 0x1F DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x1081 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x271B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x109E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10C2 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x10CC SWAP1 DUP3 PUSH2 0x27B4 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x10E7 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x10F4 DUP5 PUSH2 0x1D33 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x110D JUMPI PUSH2 0x110D PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1125 JUMPI PUSH2 0x1125 PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x113D JUMPI PUSH2 0x113D PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1155 JUMPI PUSH2 0x1155 PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x116D JUMPI PUSH2 0x116D PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x1185 JUMPI PUSH2 0x1185 PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x119D JUMPI PUSH2 0x119D PUSH2 0x29CA JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x11BD DUP2 DUP3 DUP6 DUP2 PUSH2 0x11B7 JUMPI PUSH2 0x11B7 PUSH2 0x29CA JUMP JUMPDEST DIV PUSH2 0x1DC7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x9 DUP2 GT ISZERO PUSH2 0x11D8 JUMPI PUSH2 0x11D8 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11F3 DUP5 PUSH2 0x1DDD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x1201 DUP4 PUSH2 0x11C4 JUMP JUMPDEST AND SUB PUSH2 0x3E9 JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x31B75E4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x29E0 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1231 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12A1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12C5 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST LT PUSH2 0x1362 JUMPI PUSH1 0x0 PUSH2 0x12D4 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1336 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x135A SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13D2 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH2 0x13F0 SWAP2 SWAP1 PUSH2 0x29B7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x13FF PUSH1 0x1 DUP4 PUSH2 0x29B7 JUMP JUMPDEST DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1454 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1478 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x1482 SWAP2 SWAP1 PUSH2 0x2704 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x14DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14FF SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x154A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x156E SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP2 GT PUSH2 0x15F4 JUMPI PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x15C5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15E9 SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP JUMPDEST DUP3 PUSH2 0x15FF DUP4 DUP4 PUSH2 0x27B4 JUMP JUMPDEST PUSH2 0x1609 SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x161E PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x168E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16B2 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST LT PUSH2 0x170A JUMPI PUSH1 0x0 PUSH2 0x16C1 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0xA DUP2 ADD SLOAD PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD SWAP1 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x1319 JUMP JUMPDEST DUP1 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x175F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1783 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x178C DUP5 PUSH2 0x1226 JUMP JUMPDEST PUSH2 0x11BD SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17A0 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x22 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17B4 DUP3 PUSH2 0x2184 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 LT ISZERO PUSH2 0x17E1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4C4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17F0 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0xF DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND DUP5 MSTORE PUSH1 0x3 DUP2 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x1841 JUMPI DUP6 PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4C4 SWAP2 SWAP1 PUSH2 0x2751 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x186E PUSH2 0x119 JUMP JUMPDEST PUSH2 0x1878 JUMPI DUP4 PUSH2 0x187A JUMP JUMPDEST DUP5 JUMPDEST SWAP1 POP PUSH1 0xFF DUP7 AND PUSH2 0x18A3 JUMPI DUP1 DUP3 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x18FC SWAP1 POP JUMP JUMPDEST PUSH1 0x0 NOT PUSH1 0xFF DUP8 AND ADD PUSH2 0x18C3 JUMPI DUP1 DUP3 PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST PUSH1 0x1 NOT PUSH1 0xFF DUP8 AND ADD PUSH2 0x18E3 JUMPI DUP1 DUP3 PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1898 SWAP2 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3599BE1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x11 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP8 SWAP3 SWAP1 PUSH2 0x191C SWAP1 DUP5 SWAP1 PUSH2 0x27B4 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1969 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x9 DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA7381DAB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA7381DAB SWAP1 PUSH1 0x24 ADD PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x19C6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19EA SWAP2 SWAP1 PUSH2 0x2A08 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP5 PUSH1 0xFF AND PUSH1 0x2 EQ PUSH2 0x1A01 JUMPI DUP3 PUSH2 0x1A03 JUMP JUMPDEST DUP2 JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2710 PUSH2 0x1A14 DUP4 DUP10 PUSH2 0x2704 JUMP JUMPDEST PUSH2 0x1A1E SWAP2 SWAP1 PUSH2 0x2A2C JUMP JUMPDEST PUSH1 0x9 DUP12 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2F18339D DUP11 DUP11 DUP5 PUSH2 0x1A45 DUP2 PUSH2 0x10D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1AAC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1AD3 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP5 ADD SLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP8 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD SLOAD SWAP3 MLOAD PUSH4 0x6CF88E73 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 PUSH4 0x6CF88E73 SWAP3 PUSH2 0x1B20 SWAP3 CALLER SWAP3 DUP8 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x2A4E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1B4E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x1BB1 JUMPI PUSH1 0x0 PUSH2 0x1B6E DUP5 DUP5 PUSH2 0x223A JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x1B9D JUMPI DUP1 SWAP3 POP PUSH2 0x1BAB JUMP JUMPDEST PUSH2 0x1BA8 DUP2 PUSH1 0x1 PUSH2 0x27B4 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x1B5A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1CD8 JUMPI PUSH1 0x0 PUSH2 0x1BD7 DUP8 PUSH2 0xE5A PUSH1 0x1 DUP6 PUSH2 0x29B7 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x1C2B JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x1C77 JUMPI DUP5 PUSH2 0x1C4E DUP9 PUSH2 0xE5A PUSH1 0x1 DUP7 PUSH2 0x29B7 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1CC8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0xE9F SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0xE9F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D48 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D5A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D6C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D7E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D90 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DA2 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x1DB4 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x3EC JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1DD6 JUMPI DUP2 PUSH2 0x3E9 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1DE8 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1E DUP7 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x2 DUP4 ADD SLOAD SWAP4 SWAP5 POP SWAP2 SWAP3 PUSH1 0xFF SWAP3 DUP4 AND SWAP3 PUSH1 0x1 PUSH1 0x28 SHL DUP3 DIV DUP2 AND SWAP3 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1E3D JUMPI PUSH2 0x1E3D PUSH2 0x2918 JUMP JUMPDEST SUB PUSH2 0x1E4F JUMPI POP PUSH1 0x8 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1E63 JUMPI PUSH2 0x1E63 PUSH2 0x2918 JUMP JUMPDEST SUB PUSH2 0x1E75 JUMPI POP PUSH1 0x9 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x1E88 JUMPI POP PUSH1 0x6 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1E9B JUMPI POP PUSH1 0x2 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD PUSH1 0x0 SUB PUSH2 0x1EC3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6AD06075 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C4 JUMP JUMPDEST DUP4 PUSH1 0x1 ADD SLOAD DUP6 PUSH1 0xA ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F1D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F41 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST LT ISZERO PUSH2 0x1F54 JUMPI POP PUSH1 0x0 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1F9F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FC3 SWAP2 SWAP1 PUSH2 0x26C6 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH2 0x1FD8 DUP10 PUSH2 0x1613 JUMP JUMPDEST SWAP1 POP PUSH2 0x1FE3 DUP10 PUSH2 0x2255 JUMP JUMPDEST PUSH2 0x1FF6 JUMPI POP PUSH1 0x7 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x200C JUMPI POP PUSH1 0x1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2015 DUP10 PUSH2 0x2281 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x2027 JUMPI POP PUSH2 0x2025 DUP10 PUSH2 0x22DF JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x203B JUMPI POP PUSH1 0x3 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2044 DUP10 PUSH2 0x2307 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x205A JUMPI POP PUSH1 0x4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD PUSH1 0x6 DUP10 ADD SLOAD SWAP2 MLOAD PUSH4 0x2C258A9F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x584B153E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x20B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20DB SWAP2 SWAP1 PUSH2 0x277A JUMP JUMPDEST ISZERO PUSH2 0x20F0 JUMPI POP PUSH1 0x5 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2AB0F529 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x2AB0F529 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x213B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x215F SWAP2 SWAP1 PUSH2 0x277A JUMP JUMPDEST ISZERO PUSH2 0x2174 JUMPI POP PUSH1 0x6 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x218F PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH2 0x219A DUP4 PUSH2 0x2339 JUMP JUMPDEST PUSH2 0x21FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x476F7665726E6F72436F6E666967757261746F723A20696E76616C6964207072 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x6F706F73616C2074797065 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C4 JUMP JUMPDEST DUP1 PUSH1 0x17 ADD PUSH1 0x0 DUP5 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2212 JUMPI PUSH2 0x2212 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2223 JUMPI PUSH2 0x2223 PUSH2 0x2918 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2249 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x2A2C JUMP JUMPDEST PUSH2 0x3E9 SWAP1 DUP5 DUP5 AND PUSH2 0x27B4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2260 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x3 SWAP1 SWAP2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x228C PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x15 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x11 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0xFF AND SWAP1 PUSH2 0x22D5 PUSH2 0x22BE DUP7 PUSH2 0x1226 JUMP JUMPDEST DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x22D0 JUMPI PUSH2 0x22D0 PUSH2 0x2918 JUMP JUMPDEST PUSH2 0x2370 JUMP JUMPDEST GT ISZERO SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x22EA PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0xF ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2312 PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0x38 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x234E JUMPI PUSH2 0x234E PUSH2 0x2918 JUMP JUMPDEST EQ DUP1 PUSH2 0x3EC JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2369 JUMPI PUSH2 0x2369 PUSH2 0x2918 JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x237B PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x64 PUSH2 0x2389 DUP6 DUP6 PUSH2 0x240C JUMP JUMPDEST PUSH1 0xC DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x23D4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x23F8 SWAP2 SWAP1 PUSH2 0x26AD JUMP JUMPDEST PUSH2 0x2402 SWAP2 SWAP1 PUSH2 0x2704 JUMP JUMPDEST PUSH2 0x135A SWAP2 SWAP1 PUSH2 0x2A2C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E9 DUP4 DUP4 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2427 JUMPI PUSH2 0x2427 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2432 PUSH2 0xD7B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x18 ADD PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x244E JUMPI PUSH2 0x244E PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x245F JUMPI PUSH2 0x245F PUSH2 0x2918 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP2 POP PUSH1 0x18 DUP4 ADD DUP2 DUP7 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x248B JUMPI PUSH2 0x248B PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x249C JUMPI PUSH2 0x249C PUSH2 0x2918 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH2 0x24B7 PUSH1 0x1 DUP5 PUSH2 0x29B7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x24C7 JUMPI PUSH2 0x24C7 PUSH2 0x2A8C JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP8 DUP3 GT PUSH2 0x250D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x3EC SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x255E PUSH2 0x2519 DUP10 PUSH2 0xD9F JUMP JUMPDEST DUP7 PUSH1 0x18 ADD PUSH1 0x0 DUP11 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2531 JUMPI PUSH2 0x2531 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2542 JUMPI PUSH2 0x2542 PUSH2 0x2918 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH2 0xDD6 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x25A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x25C2 DUP2 PUSH2 0x258C JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x25E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x25F5 DUP2 PUSH2 0x258C JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x25A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH2 0x2639 DUP2 PUSH2 0x258C JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x2649 DUP2 PUSH2 0x2600 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2665 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2679 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2688 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x269A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP PUSH1 0x20 ADD SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x26D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26EE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2746 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x258C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2775 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x278C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E9 DUP3 PUSH2 0x2765 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26EE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2819 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2801 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2835 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x283E DUP4 PUSH2 0x2765 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x285B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x2881 JUMPI PUSH2 0x2881 PUSH2 0x27E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x28A9 JUMPI PUSH2 0x28A9 PUSH2 0x27E8 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x28C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28D3 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x27FE JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x2600 JUMP JUMPDEST PUSH1 0xFF DUP3 DUP2 AND DUP3 DUP3 AND SUB SWAP1 DUP2 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26EE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x295B DUP2 PUSH1 0x60 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x27FE JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x60 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xFF DUP7 AND DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP4 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD MSTORE DUP2 PUSH1 0x80 DUP3 ADD MSTORE DUP2 DUP4 PUSH1 0xA0 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP4 ADD PUSH1 0xA0 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x3EC JUMPI PUSH2 0x3EC PUSH2 0x26EE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH1 0xA DUP5 LT PUSH2 0x29F7 JUMPI PUSH2 0x29F7 PUSH2 0x2918 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD SWAP1 SWAP3 SWAP1 SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2A49 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x2A7D JUMPI PUSH2 0x2A7D PUSH2 0x2918 JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID 0xAE 0xC5 0xEB 0xD9 0xCF 0xB5 0xE0 STATICCALL SWAP15 0xC8 SWAP4 0xC1 SLT 0xB6 CALL 0x5C CALLDATASIZE PUSH3 0x48DB78 SGT 0x23 0xBA 0xBE PUSH10 0x9C0E07703978B34402B STOP PUSH23 0x25B875AC624BEA888F2CD3B6896EB9B8F2A2A278BBF3B5 0xDD SWAP12 0x4D LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ISZERO JUMPDEST 0x22 DUP5 RETURNDATASIZE 0xC4 DUP4 0xF 0xCD GT 0x2E SWAP16 PUSH15 0x9D1DEB550233B1BAF3CE9487E5F57E 0xAB SHL 0xBD PUSH31 0x64736F6C634300081400330000000000000000000000000000000000000000 ","sourceMap":"2201:18782:109:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18935:514;;;:::i;:::-;;;187:14:150;;180:22;162:41;;150:2;135:18;18935:514:109;;;;;;;;17246:679;;;;;;;;;;;;;:::i;:::-;;18273:504;;;;;;:::i;:::-;;:::i;8704:230::-;;;;;;:::i;:::-;;:::i;:::-;;;1009:25:150;;;997:2;982:18;8704:230:109;855:185:150;13360:3193:109;;;;;;;;;;-1:-1:-1;13360:3193:109;;;;;:::i;:::-;;:::i;10849:1804::-;;;;;;;;;;-1:-1:-1;10849:1804:109;;;;;:::i;:::-;;:::i;18935:514::-;19008:4;19020:46;19069:41;:39;:41::i;:::-;19020:90;;19172:23;19198:1;:19;;;;;;;;;;-1:-1:-1;;;;;19198:19:109;-1:-1:-1;;;;;19198:40:109;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19172:68;;19333:79;19377:34;19395:15;19377:17;:34::i;:::-;19333:25;;;;:43;:79::i;:::-;-1:-1:-1;;;;;19333:84:109;19416:1;19333:84;19326:91;;;;18935:514;:::o;17246:679::-;17294:46;17343:41;:39;:41::i;:::-;17294:90;;17390:24;17417:71;17461:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17417:71::-;-1:-1:-1;;;;;17417:76:109;17492:1;17417:76;17390:103;;17628:17;17648:19;:27;;17674:1;17648:27;;;17670:1;17648:27;17628:47;;;;17734:69;17765:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17734:25;;;;17793:9;17734:30;:69::i;:::-;-1:-1:-1;;17876:44:109;;17899:20;;;17876:44;;;;;17288:637;;;17246:679::o;18273:504::-;18356:4;18368:46;18417:41;:39;:41::i;:::-;18550:19;;;;:42;;-1:-1:-1;;;18550:42:109;;;;;1009:25:150;;;18550:19:109;;-1:-1:-1;18511:18:109;;18532:61;;-1:-1:-1;;;;;18550:19:109;;:33;;982:18:150;;18550:42:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18532:17;:61::i;:::-;18511:82;-1:-1:-1;18684:56:109;:25;;;18511:82;18684:43;:56::i;:::-;-1:-1:-1;;;;;18684:61:109;18744:1;18684:61;18677:68;;;;18273:504;;;:::o;8704:230::-;8796:7;8884:39;8894:28;8903:7;8912:9;8894:8;:28::i;:::-;8884:9;:39::i;:::-;:45;;8926:3;8884:45;:::i;:::-;8877:52;;8704:230;;;;;:::o;13360:3193::-;13442:7;13457:46;13506:41;:39;:41::i;:::-;13457:90;;13553:142;13599:10;13617:72;13654:34;13617:36;:72::i;:::-;13553:38;:142::i;:::-;;13702:24;13729:51;13769:10;13729:39;:51::i;:::-;13806:19;;;;:70;;-1:-1:-1;;;13806:70:109;;13702:78;;-1:-1:-1;13786:17:109;;-1:-1:-1;;;;;13806:19:109;;;;:43;;:70;;13850:7;;13702:78;;13806:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13786:90;-1:-1:-1;;;;;;13886:23:109;;13882:68;;13942:7;13918:32;;-1:-1:-1;;;13918:32:109;;;;;;;;:::i;:::-;;;;;;;;13882:68;13957:15;13975:23;;;:11;;;;:23;;;;;;;:40;;14114:19;;;;:44;;-1:-1:-1;;;14114:44:109;;13975:40;;-1:-1:-1;;;;;14114:19:109;;:33;;:44;;14148:9;;14114:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14110:298;;;14180:20;;;;-1:-1:-1;;;;;14180:20:109;14172:43;14168:143;;14227:20;;;;:75;;-1:-1:-1;;;14227:75:109;;-1:-1:-1;;;;;14227:20:109;;;;:45;;:75;;14273:7;;14282;;14291:10;;14227:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14168:143;14374:10;14363:9;-1:-1:-1;;;;;14323:62:109;14354:7;-1:-1:-1;;;;;14323:62:109;-1:-1:-1;;;;;;;;;;;14323:62:109;;;;;;;;;14400:1;14393:8;;;;;;;;14110:298;14461:19;;;;:57;;-1:-1:-1;;;14461:57:109;;-1:-1:-1;;;;;14461:19:109;;;;:34;;:57;;14496:9;;14507:10;;14461:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14456:647;;14629:16;14648:51;14688:10;14648:39;:51::i;:::-;14629:70;;14778:8;14726:49;:47;:49::i;:::-;14711:64;;:12;:64;:::i;:::-;:75;14707:149;;;14805:42;;-1:-1:-1;;;14805:42:109;;;;;1009:25:150;;;982:18;;14805:42:109;855:185:150;14707:149:109;14875:20;;;;-1:-1:-1;;;;;14875:20:109;14867:43;14863:143;;14922:20;;;;:75;;-1:-1:-1;;;14922:75:109;;-1:-1:-1;;;;;14922:20:109;;;;:45;;:75;;14968:7;;14977;;14986:10;;14922:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14863:143;15069:10;15058:9;-1:-1:-1;;;;;15018:62:109;15049:7;-1:-1:-1;;;;;15018:62:109;-1:-1:-1;;;;;;;;;;;15018:62:109;;;;;;;;;15095:1;15088:8;;;;;;;;;14456:647;15201:18;;;;15182:13;;-1:-1:-1;;;;;15201:18:109;:38;15240:7;15249:35;15267:16;15249:17;:35::i;:::-;15201:84;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15201:84:109;;;;;;;;;;;;:::i;:::-;15181:104;;;15296:8;15291:263;;15326:20;;;;-1:-1:-1;;;;;15326:20:109;15318:43;15314:143;;15373:20;;;;:75;;-1:-1:-1;;;15373:75:109;;-1:-1:-1;;;;;15373:20:109;;;;:45;;:75;;15419:7;;15428;;15437:10;;15373:75;;;:::i;15291:263::-;15712:19;;;;:62;;-1:-1:-1;;;15712:62:109;;15695:14;;-1:-1:-1;;;;;15712:19:109;;:39;;:62;;15752:9;;15763:10;;15712:62;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15695:79;-1:-1:-1;15780:13:109;15796:12;15807:1;15695:79;15796:12;:::i;:::-;15832:19;;;;:76;;-1:-1:-1;;;15832:76:109;;15780:28;;-1:-1:-1;15815:14:109;;-1:-1:-1;;;;;15832:19:109;;;;:49;;:76;;15882:7;;15891:16;;15832:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15815:93;;15914:13;15930:17;15940:6;15930:9;:17::i;:::-;:23;;15950:3;15930:23;:::i;:::-;16035:46;;-1:-1:-1;;;16035:46:109;;;;;1009:25:150;;;15914:39:109;;-1:-1:-1;15959:39:109;;16035:21;;:34;;982:18:150;;16035:46:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16001:86;;;;;;;;;;:::i;:::-;15959:128;;16094:43;16116:6;16124:12;16094:21;:43::i;:::-;16143:55;16154:10;16166:7;16175;16184:6;16192:5;16143:10;:55::i;:::-;16205:92;16239:1;16242:10;16254:7;16263:6;16271:7;16280:16;16205:33;:92::i;:::-;16303:62;16342:1;16345:10;16357:7;16303:38;:62::i;:::-;16377:83;;;7420:4:150;7408:17;;7390:36;;7457:2;7442:18;;7435:34;;;7485:18;;;7478:34;;;16425:10:109;;-1:-1:-1;;;;;16377:83:109;;;;;;;;;;7378:2:150;7363:18;16377:83:109;;;;;;;16471:57;;;7817:4:150;7805:17;;7787:36;;7854:2;7839:18;;7832:34;;;7882:18;;;7875:34;;;7945:3;7940:2;7925:18;;7918:31;;;-1:-1:-1;7965:19:150;;;7958:30;16489:10:109;;-1:-1:-1;;;;;16471:57:109;;;-1:-1:-1;;;;;;;;;;;16471:57:109;8020:3:150;8005:19;16471:57:109;;;;;;;;-1:-1:-1;16542:6:109;;13360:3193;-1:-1:-1;;;;;;;;;;;13360:3193:109:o;10849:1804::-;10979:7;10994:46;11043:41;:39;:41::i;:::-;10994:90;;11090:142;11136:10;11154:72;11191:34;11154:36;:72::i;11090:142::-;;11239:24;11266:51;11306:10;11266:39;:51::i;:::-;11430:19;;;;11239:78;;-1:-1:-1;;;;;;11430:19:109;11422:42;11418:203;;11478:19;;;;:68;;-1:-1:-1;;;11478:68:109;;11558:1;;-1:-1:-1;;;;;11478:19:109;;:43;;:68;;11522:5;;11529:16;;11478:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11478:82:109;;11474:141;;11600:5;11579:27;;-1:-1:-1;;;11579:27:109;;;;;;;;:::i;11474:141::-;11672:18;;;;11628:13;;;;-1:-1:-1;;;;;11672:18:109;:38;11718:5;11731:35;11749:16;11731:17;:35::i;:::-;11672:100;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11672:100:109;;;;;;;;;;;;:::i;:::-;11627:145;;;;11902:8;11897:93;;11964:5;11971:11;11927:56;;-1:-1:-1;;;11927:56:109;;;;;;;;;:::i;11897:93::-;11996:14;12013:33;12022:5;12029:16;12013:8;:33::i;:::-;11996:50;;12105:13;12121:17;12131:6;12121:9;:17::i;:::-;:23;;12141:3;12121:23;:::i;:::-;12226:46;;-1:-1:-1;;;12226:46:109;;;;;1009:25:150;;;12105:39:109;;-1:-1:-1;12150:39:109;;12226:21;;:34;;982:18:150;;12226:46:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12192:86;;;;;;;;;;:::i;:::-;12150:128;;12285:43;12307:6;12315:12;12285:21;:43::i;:::-;12335:53;12346:10;12358:5;12365:7;12374:6;12382:5;12335:10;:53::i;:::-;12467:90;12501:1;12504:10;12516:5;12523:6;12531:7;12540:16;12467:33;:90::i;:::-;12585:10;12578:5;-1:-1:-1;;;;;12569:59:109;-1:-1:-1;;;;;;;;;;;12597:7:109;12606:6;12614:5;12621:6;;12569:59;;;;;;;;;;:::i;2697:146:107:-;2810:23;;2697:146::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;9334:36:150;9386:18;;;9379:34;;;9307:18;;14416:41:37;9153:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;8050:162::-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;7612:840:109:-;7689:7;7704:46;7753:41;:39;:41::i;:::-;7821:6;;;;:39;;-1:-1:-1;;;7821:39:109;;7704:90;;-1:-1:-1;7800:18:109;;-1:-1:-1;;;;;7821:6:109;;;;:19;;:39;;7841:7;;7850:9;;7821:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7879:19;;;;7800:60;;-1:-1:-1;;;;;;7879:19:109;7867:65;;7922:10;-1:-1:-1;7915:17:109;;-1:-1:-1;7915:17:109;7867:65;8031:19;;;;:63;;-1:-1:-1;;;8031:63:109;;8106:1;;-1:-1:-1;;;;;8031:19:109;;:43;;:63;;8075:7;;8084:9;;8031:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8031:77:109;;8027:174;;8125:19;;;;:69;;-1:-1:-1;;;8125:69:109;;-1:-1:-1;;;;;8125:19:109;;;;:49;;:69;;8175:7;;8184:9;;8125:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8118:76;;;;;;8027:174;8358:19;;;;:66;;-1:-1:-1;;;8358:66:109;;-1:-1:-1;;;;;8358:19:109;;;;:46;;:66;;8405:7;;8414:9;;8358:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8344:80;;;;:::i;:::-;;7612:840;-1:-1:-1;;;;;7612:840:109:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;:::-;10182:30;8587:1642;-1:-1:-1;;;8587:1642:36:o;3966:154:106:-;4059:7;4100:13;4094:20;;;;;;;;:::i;:::-;4089:1;:25;;;;;;;3966:154;-1:-1:-1;;3966:154:106:o;3306:399::-;3413:27;3448:40;3491:18;3498:10;3491:6;:18::i;:::-;3448:61;-1:-1:-1;3578:1:106;3553:13;3519:31;3448:61;3519:17;:31::i;:::-;:47;:61;3515:161;;3629:10;3641:12;3655:13;3597:72;;-1:-1:-1;;;3597:72:106;;;;;;;;;;:::i;35366:1145:104:-;35444:7;35459:46;35508:41;:39;:41::i;:::-;35459:90;;35662:1;:11;;:23;35674:10;35662:23;;;;;;;;;;;:40;;;35622:1;:19;;;;;;;;;;-1:-1:-1;;;;;35622:19:104;-1:-1:-1;;;;;35622:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;35618:279;;35710:46;35759:41;:39;:41::i;:::-;35815:19;;;;;35849:23;;;35815:19;35849:11;;;:23;;;;;;;:40;;35815:75;;-1:-1:-1;;;35815:75:104;;;;;1009:25:150;;;;35815:19:104;;-1:-1:-1;;;;;;35815:19:104;;:33;;982:18:150;;35815:75:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35808:82;35366:1145;-1:-1:-1;;;;35366:1145:104:o;35618:279::-;35975:19;;;;:36;;;-1:-1:-1;;;35975:36:104;;;;35903:26;;-1:-1:-1;;;;;35975:19:104;;:34;;:36;;;;;;;;;;;;;;:19;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35932:23;;;;:11;;;;:23;;;;;;:40;;:79;;;;:::i;:::-;35903:108;-1:-1:-1;36017:26:104;36084:22;36105:1;35903:108;36084:22;:::i;:::-;36046:1;:19;;;;;;;;;;-1:-1:-1;;;;;36046:19:104;-1:-1:-1;;;;;36046:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;36017:90;;36169:28;36200:1;:19;;;;;;;;;;-1:-1:-1;;;;;36200:19:104;-1:-1:-1;;;;;36200:40:104;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36169:73;;36339:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36315:50;;:20;:50;36311:120;;36398:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36375:49;;;;36311:120;36488:18;36444:41;36467:18;36444:20;:41;:::i;:::-;:62;;;;:::i;:::-;36437:69;35366:1145;-1:-1:-1;;;;;;35366:1145:104:o;36683:757::-;36761:7;36776:46;36825:41;:39;:41::i;:::-;36776:90;;37009:1;:11;;:23;37021:10;37009:23;;;;;;;;;;;:40;;;36969:1;:19;;;;;;;;;;-1:-1:-1;;;;;36969:19:104;-1:-1:-1;;;;;36969:34:104;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:80;36965:279;;37057:46;37106:41;:39;:41::i;:::-;37162:19;;;;;37196:23;;;37162:19;37196:11;;;:23;;;;;;;:40;;37162:75;;-1:-1:-1;;;37162:75:104;;;;;1009:25:150;;;;37162:19:104;;-1:-1:-1;;;;;;37162:19:104;;:33;;982:18:150;;37162:75:104;855:185:150;36965:279:104;37401:1;:19;;;;;;;;;;-1:-1:-1;;;;;37401:19:104;-1:-1:-1;;;;;37401:32:104;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37369:29;37387:10;37369:17;:29::i;:::-;:66;;;;:::i;18975:156:100:-;19036:7;19058:41;:39;:41::i;:::-;:68;;;19051:75;;18975:156;:::o;16715:284:109:-;16822:17;16842:53;16882:12;16842:39;:53::i;:::-;16822:73;;16914:9;16905:6;:18;16901:94;;;16940:48;;-1:-1:-1;;;16940:48:109;;;;;10261:25:150;;;10302:18;;;10295:34;;;10234:18;;16940:48:109;10087:248:150;16901:94:109;16816:183;16715:284;;:::o;5137:1169::-;5254:46;5303:41;:39;:41::i;:::-;5350:47;5400:27;;;:15;;;:27;;;;;;;;-1:-1:-1;;;;;5438:30:109;;;;:21;;;:30;;;;;;;5254:90;;-1:-1:-1;5400:27:109;5438:30;;5434:90;;;5509:7;5485:32;;-1:-1:-1;;;5485:32:109;;;;;;;;:::i;5434:90::-;-1:-1:-1;;;;;5529:30:109;;;;;;:21;;;:30;;;;;:37;;-1:-1:-1;;5529:37:109;5562:4;5529:37;;;5691:42;:40;:42::i;:::-;:59;;5745:5;5691:59;;;5736:6;5691:59;5676:74;-1:-1:-1;5761:48:109;;;5757:363;;5848:4;5819:12;:25;;;:33;;;;;;;:::i;:::-;;;;-1:-1:-1;5757:363:109;;-1:-1:-1;5757:363:109;;-1:-1:-1;;5869:44:109;;;;5865:255;;5948:4;5923:12;:21;;;:29;;;;;;;:::i;5865:255::-;-1:-1:-1;;5969:48:109;;;;5965:155;;6056:4;6027:12;:25;;;:33;;;;;;;:::i;5965:155::-;6088:25;;-1:-1:-1;;;6088:25:109;;;;;;;;;;;5965:155;6126:32;;;;:20;;;:32;;;;;:42;;6162:6;;6126:32;:42;;6162:6;;6126:42;:::i;:::-;;;;-1:-1:-1;;;;;;;6232:23:109;;;;;;:14;;;:23;;;;;;;;6227:75;;-1:-1:-1;;;;;6265:23:109;;;;;;:14;;;:23;;;;;:30;;-1:-1:-1;;6265:30:109;6291:4;6265:30;;;6227:75;5248:1058;;;5137:1169;;;;;:::o;19867:726::-;20280:14;;;;20258:84;;-1:-1:-1;;;20258:84:109;;;;;1009:25:150;;;20199:28:109;;;;20280:14;;;;-1:-1:-1;;;;;20280:14:109;;20258:66;;982:18:150;;20258:84:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20198:144;;;;20348:24;20376:7;:12;;20387:1;20376:12;20375:57;;20412:20;20375:57;;;20392:17;20375:57;20348:84;-1:-1:-1;20438:20:109;20491:5;20462:25;20348:84;20462:6;:25;:::i;:::-;20461:35;;;;:::i;:::-;20503:14;;;;20438:58;;-1:-1:-1;20503:14:109;;;-1:-1:-1;;;;;20503:14:109;:27;20531:10;20543:5;20438:58;20564:23;20438:58;20564:9;:23::i;:::-;20503:85;;-1:-1:-1;;;;;;20503:85:109;;;;;;;;;;11043:25:150;;;;-1:-1:-1;;;;;11104:32:150;;;11084:18;;;11077:60;11153:18;;;11146:34;11196:18;;;11189:34;11015:19;;20503:85:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20086:507;;;;19867:726;;;;;;:::o;20597:384::-;20772:20;;;;-1:-1:-1;;;;;20772:20:109;20760:56;;20597:384;;;:::o;20760:56::-;20821:20;;;;;;20904:23;;;20821:20;20904:11;;;:23;;;;;;;:40;;;;20821:155;;-1:-1:-1;;;20821:155:109;;-1:-1:-1;;;;;20821:20:109;;;;:42;;:155;;20871:10;;20889:7;;20904:40;;20821:20;:155;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20597:384;;;:::o;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;11513:870::-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2557:104;-1:-1:-1;2557:104:36:o;4324:2276:106:-;4391:27;4426:46;4475:41;:39;:41::i;:::-;4559:43;4605:23;;;:11;;;;:23;;;;;;;;4700:26;;;:38;;;;;;;4768:17;;;;4426:90;;-1:-1:-1;4605:23:106;;4700:38;;;;;-1:-1:-1;;;4768:17:106;;;;;-1:-1:-1;;;4815:17:106;;;;;4843:24;:80;;;;;;;;:::i;:::-;;4839:149;;-1:-1:-1;4940:41:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4839:149::-;5026:48;4998:24;:76;;;;;;;;:::i;:::-;;4994:141;;-1:-1:-1;5091:37:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;4994:141::-;5145:16;5141:80;;;-1:-1:-1;5178:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5141:80::-;5231:16;5227:80;;;-1:-1:-1;5264:36:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5227:80::-;5317:8;:25;;;5346:1;5317:30;5313:97;;5364:39;;-1:-1:-1;;;5364:39:106;;;;;1009:25:150;;;982:18;;5364:39:106;855:185:150;5313:97:106;5499:8;:25;;;5460:1;:19;;;;;;;;;;-1:-1:-1;;;;;5460:19:106;-1:-1:-1;;;;;5460:34:106;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;5456:127;;;-1:-1:-1;5541:35:106;;4324:2276;-1:-1:-1;;;;;;4324:2276:106:o;5456:127::-;5589:24;5616:18;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5589:53;;;;5648:16;5667:51;5707:10;5667:39;:51::i;:::-;5648:70;;5730:55;5774:10;5730:43;:55::i;:::-;5725:125;;-1:-1:-1;5802:41:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5725:125::-;5872:16;5860:8;:28;5856:740;;-1:-1:-1;5905:34:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5856:740::-;5964:45;5998:10;5964:33;:45::i;:::-;5963:46;:95;;;;6014:44;6047:10;6014:32;:44::i;:::-;6013:45;5963:95;5952:644;;;-1:-1:-1;6080:36:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;5952:644::-;6133:45;6167:10;6133:33;:45::i;:::-;6182:1;6133:50;6129:467;;-1:-1:-1;6200:37:106;;4324:2276;-1:-1:-1;;;;;;;;4324:2276:106:o;6129:467::-;6258:15;6276:25;;;:13;;;:25;;;;;;;;6313:10;;;;:38;;-1:-1:-1;;;6313:38:106;;;;;1009:25:150;;;6276::106;;-1:-1:-1;;;;;6313:10:106;;:29;;982:18:150;;6313:38:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6309:281;;;-1:-1:-1;6370:34:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6309:281::-;6423:10;;;;:35;;-1:-1:-1;;;6423:35:106;;;;;1009:25:150;;;-1:-1:-1;;;;;6423:10:106;;;;:26;;982:18:150;;6423:35:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6419:171;;;-1:-1:-1;6477:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;6419:171::-;-1:-1:-1;6545:36:106;;4324:2276;-1:-1:-1;;;;;;;;;4324:2276:106:o;15292:375:100:-;15384:7;15399:46;15448:41;:39;:41::i;:::-;15399:90;;15503:55;15545:12;15503:41;:55::i;:::-;15495:111;;;;-1:-1:-1;;;15495:111:100;;12143:2:150;15495:111:100;;;12125:21:150;12182:2;12162:18;;;12155:30;12221:34;12201:18;;;12194:62;-1:-1:-1;;;12272:18:150;;;12265:41;12323:19;;15495:111:100;11941:407:150;15495:111:100;15619:1;:29;;:43;15649:12;15619:43;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;15612:50;;;15292:375;;;:::o;2774:153:36:-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;8286:329:101:-;8369:4;8381:46;8430:41;:39;:41::i;:::-;8477:43;8523:23;;;:11;;:23;;-1:-1:-1;;8523:23:101;;;8585:25;;;;8559:22;;;;;:51;;;8286:329::o;8505:411:105:-;8579:4;8591:46;8640:41;:39;:41::i;:::-;8687:39;8729:26;;;:14;;;:26;;;;;;;;;8879:20;;;:32;;;;;;;8591:90;;-1:-1:-1;8729:26:105;;;8775:94;8796:51;8744:10;8796:39;:51::i;:::-;8855:12;8849:19;;;;;;;;:::i;:::-;8775:20;:94::i;:::-;:136;;;8505:411;-1:-1:-1;;;;8505:411:105:o;6487:318:109:-;6553:4;6565:46;6614:41;:39;:41::i;:::-;6661:47;6711:27;;;:15;;:27;;-1:-1:-1;;6711:27:109;;;6775:25;;6751:21;;;;;:49;;6487:318::o;7121:229:104:-;7193:7;7208:46;7257:41;:39;:41::i;:::-;7311:23;;;;:11;;:23;;-1:-1:-1;;7311:23:104;;;:34;;;-1:-1:-1;;;7311:34:104;;;;;7121:229::o;39283:241::-;39381:4;;39406:17;:56;;;;;;;;:::i;:::-;;:113;;;-1:-1:-1;39487:32:104;39466:17;:53;;;;;;;;:::i;:::-;;39393:126;39283:241;-1:-1:-1;;39283:241:104:o;6604:364:105:-;6711:7;6726:46;6775:41;:39;:41::i;:::-;6726:90;-1:-1:-1;3160:3:105;6875:59;6905:9;6916:17;6875:29;:59::i;:::-;6836:6;;;;:36;;-1:-1:-1;;;6836:36:105;;;;;1009:25:150;;;-1:-1:-1;;;;;6836:6:105;;;;:25;;982:18:150;;6836:36:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;;;;:::i;:::-;6835:128;;;;:::i;4421:231::-;4537:7;4559:88;4590:9;4628:17;4601:45;;;;;;;;;;:::i;:::-;9407:7;9422:46;9471:41;:39;:41::i;:::-;9422:90;;9518:14;9535:1;:20;;:39;9556:17;9535:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9535:39:105;;;:59;;-1:-1:-1;9698:20:105;;;-1:-1:-1;9719:17:105;9698:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;9698:39:105;9751:10;9760:1;9751:6;:10;:::i;:::-;9698:64;;;;;;;;:::i;:::-;;;;;;;;;;9787:11;;9698:64;;-1:-1:-1;9787:11:105;;;;-1:-1:-1;;;9826:13:105;;-1:-1:-1;;;;;9826:13:105;9849:22;;;9845:61;;-1:-1:-1;;;;;9881:18:105;;-1:-1:-1;9881:18:105;;-1:-1:-1;;;;9881:18:105;9845:61;9958:87;10016:28;10034:9;10016:17;:28::i;:::-;9958:1;:20;;:39;9979:17;9958:39;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:57;;:87;;;;:::i;:::-;-1:-1:-1;;;;;9951:94:105;;9267:783;-1:-1:-1;;;;;;;;9267:783:105:o;214:180:150:-;273:6;326:2;314:9;305:7;301:23;297:32;294:52;;;342:1;339;332:12;294:52;-1:-1:-1;365:23:150;;214:180;-1:-1:-1;214:180:150:o;399:131::-;-1:-1:-1;;;;;474:31:150;;464:42;;454:70;;520:1;517;510:12;454:70;399:131;:::o;535:315::-;603:6;611;664:2;652:9;643:7;639:23;635:32;632:52;;;680:1;677;670:12;632:52;719:9;706:23;738:31;763:5;738:31;:::i;:::-;788:5;840:2;825:18;;;;812:32;;-1:-1:-1;;;535:315:150:o;1045:::-;1113:6;1121;1174:2;1162:9;1153:7;1149:23;1145:32;1142:52;;;1190:1;1187;1180:12;1142:52;1226:9;1213:23;1203:33;;1286:2;1275:9;1271:18;1258:32;1299:31;1324:5;1299:31;:::i;:::-;1349:5;1339:15;;;1045:315;;;;;:::o;1365:114::-;1449:4;1442:5;1438:16;1431:5;1428:27;1418:55;;1469:1;1466;1459:12;1484:933;1580:6;1588;1596;1604;1612;1665:3;1653:9;1644:7;1640:23;1636:33;1633:53;;;1682:1;1679;1672:12;1633:53;1718:9;1705:23;1695:33;;1778:2;1767:9;1763:18;1750:32;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1898:2:150;1883:18;;1870:32;1911:31;1870:32;1911:31;:::i;:::-;1961:7;-1:-1:-1;2019:2:150;2004:18;;1991:32;-1:-1:-1;;;;;2072:14:150;;;2069:34;;;2099:1;2096;2089:12;2069:34;2137:6;2126:9;2122:22;2112:32;;2182:7;2175:4;2171:2;2167:13;2163:27;2153:55;;2204:1;2201;2194:12;2153:55;2244:2;2231:16;2270:2;2262:6;2259:14;2256:34;;;2286:1;2283;2276:12;2256:34;2331:7;2326:2;2317:6;2313:2;2309:15;2305:24;2302:37;2299:57;;;2352:1;2349;2342:12;2299:57;1484:933;;;;-1:-1:-1;1484:933:150;;-1:-1:-1;2383:2:150;2375:11;;2405:6;1484:933;-1:-1:-1;;;1484:933:150:o;2422:184::-;2492:6;2545:2;2533:9;2524:7;2520:23;2516:32;2513:52;;;2561:1;2558;2551:12;2513:52;-1:-1:-1;2584:16:150;;2422:184;-1:-1:-1;2422:184:150:o;2611:284::-;2680:6;2733:2;2721:9;2712:7;2708:23;2704:32;2701:52;;;2749:1;2746;2739:12;2701:52;2781:9;2775:16;2831:14;2824:5;2820:26;2813:5;2810:37;2800:65;;2861:1;2858;2851:12;3082:127;3143:10;3138:3;3134:20;3131:1;3124:31;3174:4;3171:1;3164:15;3198:4;3195:1;3188:15;3214:168;3287:9;;;3318;;3335:15;;;3329:22;;3315:37;3305:71;;3356:18;;:::i;3387:274::-;-1:-1:-1;;;;;3579:32:150;;;;3561:51;;3643:2;3628:18;;3621:34;3549:2;3534:18;;3387:274::o;3666:251::-;3736:6;3789:2;3777:9;3768:7;3764:23;3760:32;3757:52;;;3805:1;3802;3795:12;3757:52;3837:9;3831:16;3856:31;3881:5;3856:31;:::i;3922:203::-;-1:-1:-1;;;;;4086:32:150;;;;4068:51;;4056:2;4041:18;;3922:203::o;4130:164::-;4206:13;;4255;;4248:21;4238:32;;4228:60;;4284:1;4281;4274:12;4228:60;4130:164;;;:::o;4299:202::-;4366:6;4419:2;4407:9;4398:7;4394:23;4390:32;4387:52;;;4435:1;4432;4425:12;4387:52;4458:37;4485:9;4458:37;:::i;4506:345::-;4708:25;;;-1:-1:-1;;;;;4769:32:150;;;;4764:2;4749:18;;4742:60;4833:2;4818:18;;4811:34;4696:2;4681:18;;4506:345::o;4856:125::-;4921:9;;;4942:10;;;4939:36;;;4955:18;;:::i;4986:293::-;-1:-1:-1;;;;;5176:32:150;;;;5158:51;;5257:14;5245:27;5240:2;5225:18;;5218:55;5146:2;5131:18;;4986:293::o;5284:127::-;5345:10;5340:3;5336:20;5333:1;5326:31;5376:4;5373:1;5366:15;5400:4;5397:1;5390:15;5416:250;5501:1;5511:113;5525:6;5522:1;5519:13;5511:113;;;5601:11;;;5595:18;5582:11;;;5575:39;5547:2;5540:10;5511:113;;;-1:-1:-1;;5658:1:150;5640:16;;5633:27;5416:250::o;5671:976::-;5757:6;5765;5818:2;5806:9;5797:7;5793:23;5789:32;5786:52;;;5834:1;5831;5824:12;5786:52;5857:37;5884:9;5857:37;:::i;:::-;5938:2;5923:18;;5917:25;5847:47;;-1:-1:-1;;;;;;5991:14:150;;;5988:34;;;6018:1;6015;6008:12;5988:34;6056:6;6045:9;6041:22;6031:32;;6101:7;6094:4;6090:2;6086:13;6082:27;6072:55;;6123:1;6120;6113:12;6072:55;6152:2;6146:9;6174:2;6170;6167:10;6164:36;;;6180:18;;:::i;:::-;6255:2;6249:9;6223:2;6309:13;;-1:-1:-1;;6305:22:150;;;6329:2;6301:31;6297:40;6285:53;;;6353:18;;;6373:22;;;6350:46;6347:72;;;6399:18;;:::i;:::-;6439:10;6435:2;6428:22;6474:2;6466:6;6459:18;6514:7;6509:2;6504;6500;6496:11;6492:20;6489:33;6486:53;;;6535:1;6532;6525:12;6486:53;6548:68;6613:2;6608;6600:6;6596:15;6591:2;6587;6583:11;6548:68;:::i;:::-;6635:6;6625:16;;;;;;;5671:976;;;;;:::o;6652:247::-;6720:6;6773:2;6761:9;6752:7;6748:23;6744:32;6741:52;;;6789:1;6786;6779:12;6741:52;6821:9;6815:16;6840:29;6863:5;6840:29;:::i;6904:151::-;6994:4;6987:12;;;6973;;;6969:31;;7012:14;;7009:40;;;7029:18;;:::i;7060:127::-;7121:10;7116:3;7112:20;7109:1;7102:31;7152:4;7149:1;7142:15;7176:4;7173:1;7166:15;8035:493;8241:1;8237;8232:3;8228:11;8224:19;8216:6;8212:32;8201:9;8194:51;8281:2;8276;8265:9;8261:18;8254:30;8175:4;8313:6;8307:13;8356:6;8351:2;8340:9;8336:18;8329:34;8372:79;8444:6;8439:2;8428:9;8424:18;8419:2;8411:6;8407:15;8372:79;:::i;:::-;8512:2;8491:15;-1:-1:-1;;8487:29:150;8472:45;;;;8519:2;8468:54;;8035:493;-1:-1:-1;;;8035:493:150:o;8533:615::-;8784:4;8776:6;8772:17;8761:9;8754:36;8826:6;8821:2;8810:9;8806:18;8799:34;8869:6;8864:2;8853:9;8849:18;8842:34;8912:3;8907:2;8896:9;8892:18;8885:31;8953:6;8947:3;8936:9;8932:19;8925:35;9011:6;9003;8997:3;8986:9;8982:19;8969:49;9068:1;9038:22;;;9062:3;9034:32;;;9027:43;;;;9131:2;9110:15;;;-1:-1:-1;;9106:29:150;9091:45;9087:55;;8533:615;-1:-1:-1;;;;8533:615:150:o;9424:128::-;9491:9;;;9512:11;;;9509:37;;;9526:18;;:::i;9557:127::-;9618:10;9613:3;9609:20;9606:1;9599:31;9649:4;9646:1;9639:15;9673:4;9670:1;9663:15;9689:393;9908:25;;;9896:2;9881:18;;9963:2;9952:14;;9942:48;;9970:18;;:::i;:::-;10021:2;10006:18;;9999:34;;;;10064:2;10049:18;10042:34;9689:393;;-1:-1:-1;9689:393:150:o;10340:245::-;10419:6;10427;10480:2;10468:9;10459:7;10455:23;10451:32;10448:52;;;10496:1;10493;10486:12;10448:52;-1:-1:-1;;10519:16:150;;10575:2;10560:18;;;10554:25;10519:16;;10554:25;;-1:-1:-1;10340:245:150:o;10590:217::-;10630:1;10656;10646:132;;10700:10;10695:3;10691:20;10688:1;10681:31;10735:4;10732:1;10725:15;10763:4;10760:1;10753:15;10646:132;-1:-1:-1;10792:9:150;;10590:217::o;11234:520::-;-1:-1:-1;;;;;11538:15:150;;;11520:34;;11590:15;;11585:2;11570:18;;11563:43;11637:2;11622:18;;11615:34;;;11469:3;11454:19;;11679:1;11668:13;;11658:47;;11685:18;;:::i;:::-;11741:6;11736:2;11725:9;11721:18;11714:34;11234:520;;;;;;;:::o;12353:127::-;12414:10;12409:3;12405:20;12402:1;12395:31;12445:4;12442:1;12435:15;12469:4;12466:1;12459:15"},"methodIdentifiers":{"castNavigatorVote(uint256,address)":"b6e9eff4","castVote(uint256,address,uint8,string)":"dd063f90","getQuadraticVotingPower(address,uint256)":"b69d417b","isQuadraticVotingDisabledForCurrentRound()":"81c0d6df","isQuadraticVotingDisabledForRound(uint256)":"a45aa313","toggleQuadraticVoting()":"9c17e7b3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"DelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernanceSkipWindowNotReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidVoteType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"explanation\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorDecisionNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"name\":\"NavigatorGovernanceVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorGovernanceVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"name\":\"QuadraticVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getQuadraticVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isQuadraticVotingDisabledForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isQuadraticVotingDisabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Difference from V1: `proposalId` is passed as an argument to `registerVote` function instead of `proposalSnapshot`.\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"DelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is delegated to a navigator and cannot vote manually\"}],\"GovernanceSkipWindowNotReached(uint256)\":[{\"details\":\"The governance skip window has not been reached yet\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"Thrown when a vote has already been cast by the voter.\",\"params\":{\"voter\":\"The address of the voter who already cast a vote.\"}}],\"GovernorInvalidVoteType()\":[{\"details\":\"Thrown when an invalid vote type is used.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"Thrown when the `proposalId` does not exist.\",\"params\":{\"proposalId\":\"The ID of the proposal that does not exist.\"}}],\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"details\":\"Thrown when the personhood verification fails.\",\"params\":{\"explanation\":\"The reason for the failure.\",\"voter\":\"The address of the voter.\"}}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"Thrown when the current state of a proposal does not match the expected states.\",\"params\":{\"current\":\"The current state of the proposal.\",\"expectedStates\":\"The expected states of the proposal as a bitmap.\",\"proposalId\":\"The ID of the proposal.\"}}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"Thrown when the voting threshold is not met.\",\"params\":{\"threshold\":\"The required voting threshold.\",\"votes\":\"The actual votes received.\"}}],\"NavigatorDecisionNotSet(address,uint256)\":[{\"details\":\"Thrown when navigator has not set a decision for the proposal\"}],\"NotDelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is not delegated to any navigator\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"QuadraticVotingToggled(bool)\":{\"params\":{\"disabled\":\"- The flag to enable or disable quadratic voting.\"}},\"VoteCast(address,uint256,uint8,uint256,uint256,string)\":{\"params\":{\"power\":\"The voting power of the voter.\",\"proposalId\":\"The ID of the proposal being voted on.\",\"reason\":\"The reason for the vote.\",\"support\":\"The support value of the vote.\",\"voter\":\"The address of the voter.\",\"weight\":\"The weight of the vote.\"}}},\"kind\":\"dev\",\"methods\":{\"castVote(uint256,address,uint8,string)\":{\"params\":{\"proposalId\":\"The ID of the proposal.\",\"reason\":\"The reason for the vote.\",\"support\":\"The support value of the vote.\",\"voter\":\"The address of the voter.\"},\"returns\":{\"_0\":\"The weight of the vote.\"}},\"getQuadraticVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account.\",\"timepoint\":\"The specific timepoint.\"},\"returns\":{\"_0\":\"The quadratic voting power of the account.\"}},\"isQuadraticVotingDisabledForCurrentRound()\":{\"returns\":{\"_0\":\"true if quadratic voting is disabled, false otherwise.\"}},\"isQuadraticVotingDisabledForRound(uint256)\":{\"details\":\"To check if quadratic voting was disabled for a round, use the block number the round started.\",\"params\":{\"roundId\":\"- The round ID for which to check if quadratic voting is disabled.\"},\"returns\":{\"_0\":\"true if quadratic voting is disabled, false otherwise.\"}},\"toggleQuadraticVoting()\":{\"details\":\"This function toggles the state of quadratic voting for a specific cycle. The state will flip between enabled and disabled each time the function is called.\"}},\"title\":\"GovernorVotesLogic\",\"version\":1},\"userdoc\":{\"events\":{\"NavigatorGovernanceVoteCast(address,address,uint256,uint8,uint256,uint256)\":{\"notice\":\"Emitted when a navigator casts a vote on behalf of a delegated citizen\"},\"NavigatorGovernanceVoteSkipped(address,address,uint256)\":{\"notice\":\"Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\"},\"QuadraticVotingToggled(bool)\":{\"notice\":\"Emits true if quadratic voting is disabled, false otherwise.\"},\"VoteCast(address,uint256,uint8,uint256,uint256,string)\":{\"notice\":\"Emitted when a vote is cast without parameters.\"}},\"kind\":\"user\",\"methods\":{\"castNavigatorVote(uint256,address)\":{\"notice\":\"Cast a governance vote on behalf of a citizen delegated to a navigator,         or auto-skip if the navigator is dead / has not set a decision (after skip window). Decision flow:   1. Navigator dead at snapshot \\u2192 revert (citizen not delegated)   2. Navigator dead NOW \\u2192 skip immediately, reduce governance vote expectation   3. Navigator alive + no decision + skip window NOT reached \\u2192 revert (relayer retries later)   4. Navigator alive + no decision + skip window reached \\u2192 skip   5. Navigator alive + decision set + citizen not a person \\u2192 skip   6. Navigator alive + decision set + citizen is a person \\u2192 vote normally\"},\"castVote(uint256,address,uint8,string)\":{\"notice\":\"Casts a vote on a proposal.\"},\"getQuadraticVotingPower(address,uint256)\":{\"notice\":\"Retrieves the quadratic voting power of an account at a given timepoint.\"},\"isQuadraticVotingDisabledForCurrentRound()\":{\"notice\":\"Check if quadratic voting is disabled for the current round.\"},\"isQuadraticVotingDisabledForRound(uint256)\":{\"notice\":\"Check if quadratic voting is disabled at a specific round.\"},\"toggleQuadraticVoting()\":{\"notice\":\"Toggle quadratic voting for a specific cycle.\"}},\"notice\":\"Library for handling voting logic in the Governor contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/governance/libraries/GovernorVotesLogic.sol\":\"GovernorVotesLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorClockLogic.sol\":{\"keccak256\":\"0x27d98536130a775ee0dd1e35f0c8ae80d5e9998f873876920b62565961935830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93a55538512f7f3b56a9ab92d75c379be1ac93e5f0b8aa715e804fdc1b330a2f\",\"dweb:/ipfs/QmZH66MMCntSd55cB2Q7F9y3eeSndBqjrFLadJbiM9ZZSv\"]},\"contracts/governance/libraries/GovernorCommunityExecutionLogic.sol\":{\"keccak256\":\"0xea6b0337167e43e925af483b362846bc07ff08d6411b7493f3eda36739b766bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ba9b86293681ac0d9daa1c2d4e57c83368215edaed97895dbc91a408a23ddc\",\"dweb:/ipfs/QmRieEMBbK9tPqoNJhx7psx6T3BAFPd8iK8XHpX3FG1KUr\"]},\"contracts/governance/libraries/GovernorConfigurator.sol\":{\"keccak256\":\"0xd1af6d19306690c6fa2ea03cf4733e97fdd48ac22a11abe6f77638736aa2dad6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48424a2f8e46150d311ed8a06aa567817712f8db3a34557cd239025cdc144b9c\",\"dweb:/ipfs/QmSQxmvrmcSB8drkSFt8iohfGwKJUEVrT1LkgwCRm6N6AC\"]},\"contracts/governance/libraries/GovernorDepositLogic.sol\":{\"keccak256\":\"0x57a31733dc9a3bf967d230fa1158592409434966cde7872d6803aadda26e2d30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a35d2aed2283e5ab83120ed7a50496b64878199ebfa197ba38536755fe1b007\",\"dweb:/ipfs/Qmf1P9DHyTwcKw11WA17MsFTjSQHAhoFvqeeDQ7FPEsbHq\"]},\"contracts/governance/libraries/GovernorFunctionRestrictionsLogic.sol\":{\"keccak256\":\"0xab6deaeba9a3794e65f7c7437558be1c079181cbbffdf72c67150959c10e745c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257e008ea0142f29ab5466697498255abc7b1ac3a025935f8183416aa3567ac0\",\"dweb:/ipfs/QmY3a8pKW6NEJYvPLwG1VFfrRizUEeWDucVKHdcTLATWC5\"]},\"contracts/governance/libraries/GovernorGovernanceLogic.sol\":{\"keccak256\":\"0x7902d7b3084b8ef295cceda379ea4de8c6703db8dadadc7eda69749d0e16e141\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430ff19840857b158482727c0d6b9957147dc015dceec5ebbe5bf4c6993d1585\",\"dweb:/ipfs/QmR8apVYmqEKSW2kpoYDa2ynjHxQfS6Z9UyfJ7waq8JVhg\"]},\"contracts/governance/libraries/GovernorProposalLogic.sol\":{\"keccak256\":\"0x5529094a8fe60dec9d9f12507cfd8d4e4cc183a35f23d80326c21c6d2960dbae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea3f552c1754f5829315f2aca2caff675d5fbf091d7937167bc1da872f0709f\",\"dweb:/ipfs/QmPYHWEZgstFZjh6vYYMKn3K9Pz9hno66CZEJQ2Aucs9Hi\"]},\"contracts/governance/libraries/GovernorQuorumLogic.sol\":{\"keccak256\":\"0x5db43442f6b65f7e0d84b67a4052c77174fc0b78d479ce8f2a70efb6bd0c57bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f3ebec1e71f08a67e2bf80f782645cbe67e9c667e9c3321169044e48a59282\",\"dweb:/ipfs/QmTuJcE3eLR8CkAUDbDx14Az6hEt8DLMd7mKv1BYFbGcjh\"]},\"contracts/governance/libraries/GovernorStateLogic.sol\":{\"keccak256\":\"0xdedc4d4c5aafa116b55e8559aaa517119ecbbdbdf2bade0103205746e6f26336\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://518696878e5c3ed45a182894ac9d1240fcfde3b97a3e14bd554fb10301668a80\",\"dweb:/ipfs/Qmf3Ww3UCV6ACbuLi8qf5BR5W4J4uJyajn9ytBrBpQSiQH\"]},\"contracts/governance/libraries/GovernorStorageTypes.sol\":{\"keccak256\":\"0xdfaaef6ff94219ae23ab60812f50974937866aef23b27c3618cc02148c5bed8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf68aee7bd0ac36f007b57ccd288ab81bbb7b5319f9b458490232289d10c162\",\"dweb:/ipfs/QmPgcZqJHqF1ubU9FtvsSrdHXf7XW266AcwEeZGYXjQ6pu\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/governance/libraries/GovernorVotesLogic.sol\":{\"keccak256\":\"0xa49fc33404117701b534ab692b7909ea8b7c994c1f025f2a8226b9d861c41b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98e940b6b8f54f920fcda09fde0e0f49624d67fa6b581efab48c10530e6db766\",\"dweb:/ipfs/QmfMRaewANuPHVVCyw5LPDkzch5aU1gDYXYq5v3Vfb5r3n\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/interfaces/IB3TR.sol":{"IB3TR":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"uint256","name":"increasedSupply","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"ERC20ExceededCap","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"ERC20InvalidCap","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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":"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","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":"value","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":"cap","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":"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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenDetails","outputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint256","name":"","type":"uint256"},{"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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","MINTER_ROLE()":"d5391393","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","cap()":"355274ea","decimals()":"313ce567","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","mint(address,uint256)":"40c10f19","name()":"06fdde03","pause()":"8456cb59","paused()":"5c975abb","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenDetails()":"d6abe110","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","unpause()":"3f4ba83a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"increasedSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cap\",\"type\":\"uint256\"}],\"name\":\"ERC20ExceededCap\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cap\",\"type\":\"uint256\"}],\"name\":\"ERC20InvalidCap\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"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\":\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"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\":\"value\",\"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\":\"cap\",\"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\":\"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\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenDetails\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IB3TR.sol\":\"IB3TR\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]}},\"version\":1}"}},"contracts/interfaces/IB3TRGovernor.sol":{"IB3TRGovernor":{"abi":[{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"DelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"uint256","name":"gmLevel","type":"uint256"}],"name":"GMLevelAboveMaxLevel","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernanceSkipWindowNotReached","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorAlreadyQueuedProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"GovernorDepositThresholdNotInRange","type":"error"},{"inputs":[],"name":"GovernorDisabledDeposit","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"votes","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"GovernorInsufficientProposerVotes","type":"error"},{"inputs":[],"name":"GovernorInvalidDepositAmount","type":"error"},{"inputs":[{"internalType":"uint256","name":"targets","type":"uint256"},{"internalType":"uint256","name":"calldatas","type":"uint256"},{"internalType":"uint256","name":"values","type":"uint256"}],"name":"GovernorInvalidProposalLength","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"requiredWeight","type":"uint256"}],"name":"GovernorInvalidProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorInvalidStartRound","type":"error"},{"inputs":[],"name":"GovernorInvalidVoteType","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositer","type":"address"}],"name":"GovernorNoDepositToWithdraw","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNonexistentProposal","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GovernorNotQueuedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"GovernorOnlyProposer","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"string","name":"explanation","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[],"name":"GovernorQueueNotImplemented","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"GovernorRestrictedProposal","type":"error"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"}],"name":"GovernorRestrictedProposer","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum GovernorTypes.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedProposalState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GranteeCannotDepositOwnGrant","type":"error"},{"inputs":[],"name":"InvalidPayeeAddress","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"MissingProposalBudget","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorDecisionNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NotReadyToClaim","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"PayeesAlreadyFinalized","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"PayoutAlreadyClaimed","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"TooManyContributors","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"UnauthorizedAccess","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"UnauthorizedCommunityExecution","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThresholdCap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThresholdCap","type":"uint256"}],"name":"DepositThresholdCapSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldDepositThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newDepositThreshold","type":"uint256"}],"name":"DepositThresholdSetV2","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"bytes4","name":"functionSelector","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"FunctionWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NavigatorGovernanceVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxBudget","type":"uint256"}],"name":"ProposalBudgetSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"canceler","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"ProposalCanceledWithReason","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"string[]","name":"contributors","type":"string[]"}],"name":"ProposalContributorsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":true,"internalType":"uint256","name":"roundIdVoteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositThreshold","type":"uint256"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"ProposalCreatedWithType","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalDevelopmentStateReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalInDevelopment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"string","name":"description","type":"string"},{"indexed":false,"internalType":"string","name":"implementationDiscussion","type":"string"}],"name":"ProposalInDevelopmentDetails","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalPayoutClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"etaSeconds","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"withdrawer","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProposalWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"disabled","type":"bool"}],"name":"QuadraticVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newNumerator","type":"uint256"},{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"}],"name":"QuorumNumeratorUpdatedByType","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldTimelock","type":"address"},{"indexed":false,"internalType":"address","name":"newTimelock","type":"address"}],"name":"TimelockChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldVeBetterPassport","type":"address"},{"indexed":true,"internalType":"address","name":"newVeBetterPassport","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"support","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"power","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"VoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"walletAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"deposit","type":"uint256"}],"name":"VotingPowerSeeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum GovernorTypes.ProposalType","name":"proposalType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSetV2","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"contract IB3TR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canProposalStartInNextRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"cancel","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"name":"castVote","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"claimPayout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdCapByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"depositThresholdPercentageByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"execute","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getActiveProposals","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGalaxyMemberContract","outputs":[{"internalType":"contract IGalaxyMember","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGrantsManagerContract","outputs":[{"internalType":"contract IGrantsManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalBudget","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalContributors","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalDescription","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalImplementationDiscussion","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalPayee","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getQuadraticVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"getRequiredGMLevelByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"getUserDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isProposalPaid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"payee","type":"address"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"implementationDiscussion","type":"string"},{"internalType":"string[]","name":"contributors","type":"string[]"}],"name":"markAsInDevelopment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minVotingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalDepositReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalNeedsQueuing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalStartRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"proposalType","outputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"startRoundId","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"maxBudget","type":"uint256"}],"name":"propose","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"startRoundId","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"internalType":"string","name":"milestonesDetailsMetadataURI","type":"string"}],"name":"proposeGrant","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"contract IRelayerRewardsPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IGalaxyMember","name":"newGalaxyMember","type":"address"}],"name":"setGalaxyMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IGrantsManager","name":"newGrantsManager","type":"address"}],"name":"setGrantsManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRelayerRewardsPool","name":"newRelayerRewardsPool","type":"address"}],"name":"setRelayerRewardsPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"},{"internalType":"uint256","name":"newGMWeight","type":"uint256"}],"name":"setRequiredGMLevelByProposalType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVeBetterPassport","name":"newVeBetterPassport","type":"address"}],"name":"setVeBetterPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum GovernorTypes.ProposalState","name":"","type":"uint8"}],"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":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"payee","type":"address"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"implementationDiscussion","type":"string"},{"internalType":"string[]","name":"contributors","type":"string[]"}],"name":"updateCommunityExecution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"veBetterPassport","outputs":[{"internalType":"contract IVeBetterPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voterRewards","outputs":[{"internalType":"contract IVoterRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum GovernorTypes.ProposalType","name":"proposalTypeValue","type":"uint8"}],"name":"votingThresholdByProposalType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"depositer","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"xAllocationVoting","outputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","b3tr()":"582a486a","canProposalStartInNextRound()":"81ab2353","cancel(address[],uint256[],bytes[],bytes32,string)":"de65f41a","castVote(uint256,uint8)":"56781388","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","claimPayout(uint256)":"8a69614e","clock()":"91ddadf4","deposit(uint256,uint256)":"e2bbb158","depositThresholdByProposalType(uint8)":"6b6a0704","depositThresholdCapByProposalType(uint8)":"e4ec85d4","depositThresholdPercentageByProposalType(uint8)":"542d6db5","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getActiveProposals()":"5584c4f9","getDepositVotingPower(address,uint256)":"a56b5765","getGalaxyMemberContract()":"f03a98d5","getGrantsManagerContract()":"cf09f8bf","getProposalBudget(uint256)":"01d6e78f","getProposalContributors(uint256)":"5b16e259","getProposalDeposits(uint256)":"c220f2f5","getProposalDescription(uint256)":"229acb17","getProposalImplementationDiscussion(uint256)":"656f3e40","getProposalPayee(uint256)":"5452a01b","getQuadraticVotingPower(address,uint256)":"b69d417b","getRequiredGMLevelByProposalType(uint8)":"6dd139be","getUserDeposit(uint256,address)":"4e055244","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","isProposalPaid(uint256)":"c305f59a","markAsInDevelopment(uint256,address,string,string,string[])":"ede8bed0","minVotingDelay()":"c40ffbf6","name()":"06fdde03","proposalDeadline(uint256)":"c01f9e37","proposalDepositReached(uint256)":"8d5a3f67","proposalEta(uint256)":"ab58fb8e","proposalNeedsQueuing(uint256)":"a9a95294","proposalProposer(uint256)":"143489d0","proposalSnapshot(uint256)":"2d63f693","proposalStartRound(uint256)":"8ced2a11","proposalType(uint256)":"2a09c772","propose(address[],uint256[],bytes[],string,uint256,uint256,uint256)":"eab59fd2","proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)":"013b1088","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","quorum(uint256)":"f8ce560a","relayerRewardsPool()":"6e8a1823","setGalaxyMember(address)":"ae0b8da8","setGrantsManager(address)":"d53c74c1","setRelayerRewardsPool(address)":"0dd8614c","setRequiredGMLevelByProposalType(uint8,uint256)":"406ced84","setVeBetterPassport(address)":"b3c93dab","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","updateCommunityExecution(uint256,address,string,string,string[])":"6a1423d7","veBetterPassport()":"0050ea6f","version()":"54fd4d50","voterRewards()":"a3844e11","votingPeriod()":"02a251a3","votingThresholdByProposalType(uint8)":"1caf3474","withdraw(uint256,address)":"00f714ce","xAllocationVoting()":"e205aeb0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"DelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gmLevel\",\"type\":\"uint256\"}],\"name\":\"GMLevelAboveMaxLevel\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernanceSkipWindowNotReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorAlreadyQueuedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"GovernorDepositThresholdNotInRange\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorDisabledDeposit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"GovernorInsufficientProposerVotes\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidDepositAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldatas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"values\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposalLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredWeight\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidStartRound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidVoteType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"}],\"name\":\"GovernorNoDepositToWithdraw\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNotQueuedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"explanation\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorQueueNotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"GovernorRestrictedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"GovernorRestrictedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GranteeCannotDepositOwnGrant\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPayeeAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"MissingProposalBudget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorDecisionNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NotReadyToClaim\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"PayeesAlreadyFinalized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"PayoutAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"TooManyContributors\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UnauthorizedAccess\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"UnauthorizedCommunityExecution\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThresholdCap\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThresholdCap\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdCapSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDepositThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDepositThreshold\",\"type\":\"uint256\"}],\"name\":\"DepositThresholdSetV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isWhitelisted\",\"type\":\"bool\"}],\"name\":\"FunctionWhitelisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"NavigatorGovernanceVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxBudget\",\"type\":\"uint256\"}],\"name\":\"ProposalBudgetSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"canceler\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"ProposalCanceledWithReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"contributors\",\"type\":\"string[]\"}],\"name\":\"ProposalContributorsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundIdVoteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositThreshold\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"ProposalCreatedWithType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalDevelopmentStateReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalInDevelopment\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"implementationDiscussion\",\"type\":\"string\"}],\"name\":\"ProposalInDevelopmentDetails\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalPayoutClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"etaSeconds\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProposalWithdraw\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"name\":\"QuadraticVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"}],\"name\":\"QuorumNumeratorUpdatedByType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldTimelock\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"TimelockChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldVeBetterPassport\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"walletAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"VotingPowerSeeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSetV2\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"contract IB3TR\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canProposalStartInNextRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"cancel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"claimPayout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdCapByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"depositThresholdPercentageByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveProposals\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGalaxyMemberContract\",\"outputs\":[{\"internalType\":\"contract IGalaxyMember\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGrantsManagerContract\",\"outputs\":[{\"internalType\":\"contract IGrantsManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalBudget\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalContributors\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalDeposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalDescription\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalImplementationDiscussion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalPayee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getQuadraticVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"getRequiredGMLevelByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isProposalPaid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"implementationDiscussion\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"contributors\",\"type\":\"string[]\"}],\"name\":\"markAsInDevelopment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minVotingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDepositReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalNeedsQueuing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalStartRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"startRoundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"depositAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBudget\",\"type\":\"uint256\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"startRoundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"depositAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"milestonesDetailsMetadataURI\",\"type\":\"string\"}],\"name\":\"proposeGrant\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IGalaxyMember\",\"name\":\"newGalaxyMember\",\"type\":\"address\"}],\"name\":\"setGalaxyMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IGrantsManager\",\"name\":\"newGrantsManager\",\"type\":\"address\"}],\"name\":\"setGrantsManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"newRelayerRewardsPool\",\"type\":\"address\"}],\"name\":\"setRelayerRewardsPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"newGMWeight\",\"type\":\"uint256\"}],\"name\":\"setRequiredGMLevelByProposalType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"setVeBetterPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum GovernorTypes.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"implementationDiscussion\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"contributors\",\"type\":\"string[]\"}],\"name\":\"updateCommunityExecution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"veBetterPassport\",\"outputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"voterRewards\",\"outputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum GovernorTypes.ProposalType\",\"name\":\"proposalTypeValue\",\"type\":\"uint8\"}],\"name\":\"votingThresholdByProposalType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationVoting\",\"outputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the {B3TRGovernor} core. Modifications to original forked contract from OZ: - Removed votingDelay() - Removed the possibility to cast vote with params and with signature - Updated propose() and ProposalCreated event to accept the x allocation round id as param when proposal should become active - Added proposalStartRound() to get the round when the proposal should become active - Added canProposalStartInNextRound() to check if the proposal can start in the next allocation round - Added new state `DepositNotMet` to ProposalState enum - Added depositThreshold() to get the minimum required deposit for a proposal and removed proposalThreshold\",\"errors\":{\"DelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is delegated to a navigator and cannot vote manually\"}],\"GMLevelAboveMaxLevel(uint256)\":[{\"details\":\"Thrown when the proposer does not fit the requirement (GM weight ATM)\"}],\"GovernanceSkipWindowNotReached(uint256)\":[{\"details\":\"The governance skip window has not been reached yet\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAlreadyQueuedProposal(uint256)\":[{\"details\":\"The proposal has already been queued.\"}],\"GovernorDepositThresholdNotInRange(uint256)\":[{\"details\":\"The deposit threshold is not in the valid range for a percentage - 0 to 100.\"}],\"GovernorDisabledDeposit()\":[{\"details\":\"Token deposits are disabled in this contract.\"}],\"GovernorInsufficientProposerVotes(address,uint256,uint256)\":[{\"details\":\"The `proposer` does not have the required votes to create a proposal.\"}],\"GovernorInvalidDepositAmount()\":[{\"details\":\"The deposit amount must be greater than 0.\"}],\"GovernorInvalidProposalLength(uint256,uint256,uint256)\":[{\"details\":\"Empty proposal or a mismatch between the parameters length for a proposal call.\"}],\"GovernorInvalidProposer(address,uint256)\":[{\"details\":\"The GM level is not in the valid range - 0 to max level.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum numerator is greater than the quorum denominator.\"}],\"GovernorInvalidStartRound(uint256)\":[{\"details\":\"The round when proposal should start is not valid.\"}],\"GovernorInvalidVoteType()\":[{\"details\":\"The vote type used is not valid for the corresponding counting module.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNoDepositToWithdraw(uint256,address)\":[{\"details\":\"There is no deposit to withdraw.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"The `proposalId` doesn't exist.\"}],\"GovernorNotQueuedProposal(uint256)\":[{\"details\":\"The proposal hasn't been queued yet.\"}],\"GovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorOnlyProposer(address)\":[{\"details\":\"The `account` is not a proposer.\"}],\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"details\":\"Thrown when the personhood verification fails.\",\"params\":{\"explanation\":\"The reason for the failure.\",\"voter\":\"The address of the voter.\"}}],\"GovernorQueueNotImplemented()\":[{\"details\":\"Queue operation is not implemented for this governor. Execute should be called directly.\"}],\"GovernorRestrictedProposal(uint256,uint8)\":[{\"details\":\"Thrown when a proposal is not allowed to perform a specific action. Some actions are restricted to Standard proposals only, others to Grant proposals only. eg. Executable proposals cannot be marked as in development if not executed yet but Succeeded.\"}],\"GovernorRestrictedProposer(address)\":[{\"details\":\"The `proposer` is not allowed to create a proposal.\"}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a proposal is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each ProposalState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the proposal is expected to not be in any state (i.e. not exist). This is the case when a proposal that is expected to be unset is already initiated (the proposal is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"GranteeCannotDepositOwnGrant(uint256)\":[{\"details\":\"The grantee cannot deposit for their own grant.\"}],\"InvalidPayeeAddress()\":[{\"details\":\"Payee is the zero address while the proposal has a non-zero implementation cost.\"}],\"MissingProposalBudget(uint256)\":[{\"details\":\"No max budget was recorded for the proposal but a non-zero payee was provided.\"}],\"NavigatorDecisionNotSet(address,uint256)\":[{\"details\":\"Thrown when navigator has not set a decision for the proposal\"}],\"NotDelegatedToNavigator(address)\":[{\"details\":\"Thrown when citizen is not delegated to any navigator\"}],\"NotReadyToClaim(uint256)\":[{\"details\":\"The proposal is not in a state where the budget can be paid out (missing payee or budget).\"}],\"PayeesAlreadyFinalized(uint256)\":[{\"details\":\"markAsInDevelopment was already called for this proposal.\"}],\"PayoutAlreadyClaimed(uint256)\":[{\"details\":\"The payout was already pulled from Treasury.\"}],\"TooManyContributors(uint256,uint256)\":[{\"details\":\"Contributors array is larger than maxContributorsPerProposal.\"}],\"UnauthorizedAccess(address)\":[{\"details\":\"User is not authorized to perform the action.\"}],\"UnauthorizedCommunityExecution(address,uint256)\":[{\"details\":\"Caller is neither the proposal proposer nor a PROPOSAL_STATE_MANAGER_ROLE holder.\"}]},\"events\":{\"DepositThresholdCapSet(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold cap for a proposal type is set.\"},\"DepositThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the deposit threshold percentage for a proposal type is set.\"},\"FunctionWhitelisted(address,bytes4,bool)\":{\"details\":\"Emitted when a function is whitelisted or restricted by the governor.\"},\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCanceledWithReason(uint256,address,string)\":{\"details\":\"Emitted when a proposal is canceled with a reason.\"},\"ProposalCompleted(uint256)\":{\"details\":\"Emitted when a proposal is marked as completed.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],string,uint256,uint256)\":{\"details\":\"Emitted when a proposal is created\"},\"ProposalCreatedWithType(uint256,uint8)\":{\"details\":\"Emitted when a proposal is created with type information.\"},\"ProposalDeposit(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is made to a proposal.\"},\"ProposalDevelopmentStateReset(uint256)\":{\"details\":\"Emitted when the development state of a proposal is reset back to pending development.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"ProposalInDevelopment(uint256)\":{\"details\":\"Emitted when a proposal is marked as in development.\"},\"ProposalQueued(uint256,uint256)\":{\"details\":\"Emitted when a proposal is queued.\"},\"ProposalWithdraw(address,uint256,uint256)\":{\"details\":\"Emitted when a deposit is withdrawn from a proposal.\"},\"QuadraticVotingToggled(bool)\":{\"params\":{\"disabled\":\"- The flag to enable or disable quadratic voting.\"}},\"QuorumNumeratorUpdated(uint256,uint256)\":{\"details\":\"Emitted when the quorum numerator is updated.\"},\"QuorumNumeratorUpdatedByType(uint256,uint256,uint8)\":{\"details\":\"Emitted when the quorum numerator for a specific proposal type is updated.\"},\"TimelockChange(address,address)\":{\"details\":\"Emitted when the timelock controller used for proposal execution is modified.\"},\"VeBetterPassportSet(address,address)\":{\"details\":\"Emitted when the VeBetterPassport contract is set.\"},\"VoteCast(address,uint256,uint8,uint256,uint256,string)\":{\"details\":\"Emitted when a vote is cast without params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\"},\"VotingPowerSeeded(address,uint256)\":{\"details\":\"Emitted when the voting power is seeded.\"},\"VotingThresholdSetV2(uint8,uint256,uint256)\":{\"details\":\"Emitted when the `votingThreshold` for a proposal type is set.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should  include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"b3tr()\":{\"details\":\"The B3TR contract address\"},\"canProposalStartInNextRound()\":{\"details\":\"Check if proposal can start in the next allocation round.\"},\"cancel(address[],uint256[],bytes[],bytes32,string)\":{\"details\":\"Cancel a proposal. A proposal is cancellable by the proposer, but only while it is Pending state, i.e. before the vote starts. Emits a {ProposalCanceled} and {ProposalCanceledWithReason} event.\"},\"castVote(uint256,uint8)\":{\"details\":\"Cast a vote Emits a {VoteCast} event.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"Cast a vote with a reason Emits a {VoteCast} event.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"deposit(uint256,uint256)\":{\"details\":\"Function to deposit tokens to a proposal\"},\"depositThresholdByProposalType(uint8)\":{\"details\":\"The number of votes in support of a proposal required in order for a proposal to become active.\"},\"depositThresholdCapByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of proposal.\"},\"returns\":{\"_0\":\"uint256 The deposit threshold cap for the proposal type.\"}},\"depositThresholdPercentageByProposalType(uint8)\":{\"details\":\"The proposal Threshold Percentage for all type of proposal\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the deadline to be reached. Depending on the governor it might also be required that the proposal was queued and that some delay passed. Emits a {ProposalExecuted} event. NOTE: Some modules can modify the requirements for execution, for example by adding an additional timelock.\"},\"getDepositVotingPower(address,uint256)\":{\"params\":{\"account\":\"The address of the account\",\"timepoint\":\"The timepoint\"},\"returns\":{\"_0\":\"The deposit voting power\"}},\"getGalaxyMemberContract()\":{\"returns\":{\"_0\":\"The current GalaxyMember contract\"}},\"getGrantsManagerContract()\":{\"returns\":{\"_0\":\"The current GrantsManager contract\"}},\"getProposalDeposits(uint256)\":{\"details\":\"Getter to retrieve the total amount of tokens deposited to a proposal\"},\"getQuadraticVotingPower(address,uint256)\":{\"details\":\"Voting power using quadratic voting of an `account` at a specific `timepoint`.\"},\"getRequiredGMLevelByProposalType(uint8)\":{\"params\":{\"proposalTypeValue\":\"The type of the proposal\"},\"returns\":{\"_0\":\"The GM weight for the proposal type\"}},\"getUserDeposit(uint256,address)\":{\"details\":\"Getter to retrieve the amount of tokens a specific user has deposited to a proposal\"},\"getVotes(address,uint256)\":{\"details\":\"Voting power of an `account` at a specific `timepoint`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Check if user has cast vote at least in one proposal.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Hashing function used to (re)build the proposal id from the proposal details..\"},\"minVotingDelay()\":{\"details\":\"Get the minimum required delay between proposal cretion and start when creating a proposal.\"},\"name()\":{\"details\":\"Name of the governor instance (used in building the ERC712 domain separator).\"},\"proposalDeadline(uint256)\":{\"details\":\"Timepoint at which votes close. If using block number, votes close at the end of this block, so it is possible to cast a vote during this block.\"},\"proposalDepositReached(uint256)\":{\"details\":\"Function to check if the deposit threshold for a proposal has been reached\"},\"proposalEta(uint256)\":{\"details\":\"The time when a queued proposal becomes executable (\\\"ETA\\\"). Unlike {proposalSnapshot} and {proposalDeadline}, this doesn't use the governor clock, and instead relies on the executor's clock which may be different. In most cases this will be a timestamp.\"},\"proposalNeedsQueuing(uint256)\":{\"details\":\"Whether a proposal needs to be queued before execution.\"},\"proposalProposer(uint256)\":{\"details\":\"The account that created a proposal.\"},\"proposalSnapshot(uint256)\":{\"details\":\"Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the following block.\"},\"proposalStartRound(uint256)\":{\"details\":\"Round when the proposal should become active.\"},\"proposalType(uint256)\":{\"details\":\"The type of a proposal.\"},\"propose(address[],uint256[],bytes[],string,uint256,uint256,uint256)\":{\"details\":\"Create a new Standard proposal. Specify the allocation round when vote should become active. The duration is specified by {IGovernor-votingPeriod}. `maxBudget` (V11) is the optional Community-Execution budget cap in B3TR wei \\u2014 set to 0 for proposals without a developer payout flow. Emits a {ProposalCreated}, {ProposalCreatedWithType}, and (when maxBudget > 0) {ProposalBudgetSet} event.\"},\"proposeGrant(address[],uint256[],bytes[],string,uint256,uint256,address,string)\":{\"details\":\"Create a grant proposal. Grantee cannot deposit for it's own grant.\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Queue a proposal. Some governors require this step to be performed before execution can happen. If queuing is not necessary, this function may revert. Queuing a proposal requires the quorum to be reached, the vote to be successful, and the deadline to be reached. Emits a {ProposalQueued} event.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a proposal to be successful. NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\"},\"relayerRewardsPool()\":{\"details\":\"Getter for the RelayerRewardsPool contract\"},\"setGalaxyMember(address)\":{\"params\":{\"newGalaxyMember\":\"The new GalaxyMember contract\"}},\"setGrantsManager(address)\":{\"params\":{\"newGrantsManager\":\"The new GrantsManager contract\"}},\"setRelayerRewardsPool(address)\":{\"params\":{\"newRelayerRewardsPool\":\"The new RelayerRewardsPool contract\"}},\"setRequiredGMLevelByProposalType(uint8,uint256)\":{\"params\":{\"newGMWeight\":\"The new GM weight for the proposal type\",\"proposalTypeValue\":\"The type of the proposal\"}},\"setVeBetterPassport(address)\":{\"params\":{\"newVeBetterPassport\":\"The new VeBetterPassport contract\"}},\"state(uint256)\":{\"details\":\"Current state of a proposal, following Compound's convention\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"veBetterPassport()\":{\"returns\":{\"_0\":\"The current VeBetterPassport contract.\"}},\"version()\":{\"details\":\"Version of the governor instance (used in building the ERC712 domain separator). Default: \\\"1\\\"\"},\"voterRewards()\":{\"details\":\"Getter for the VoterRewards contract\"},\"votingPeriod()\":{\"details\":\"Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay. NOTE: This value is stored when the proposal is submitted so that possible changes to the value do not affect proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this interface returns a uint256, the value it returns should fit in a uint32.\"},\"votingThresholdByProposalType(uint8)\":{\"details\":\"The voting threshold for a proposal type\"},\"withdraw(uint256,address)\":{\"details\":\"Function to withdraw tokens from a proposal\"},\"xAllocationVoting()\":{\"details\":\"Getter for the XAllocationVoting contract\"}},\"version\":1},\"userdoc\":{\"events\":{\"NavigatorGovernanceVoteSkipped(address,address,uint256)\":{\"notice\":\"Emitted when a navigator governance vote is skipped (navigator dead or no decision set)\"},\"ProposalBudgetSet(uint256,uint256)\":{\"notice\":\"Emitted when an implementation-cost budget is recorded for a proposal.\"},\"ProposalContributorsSet(uint256,string[])\":{\"notice\":\"Emitted when the contributor handle list is (re)set for a proposal.\"},\"ProposalInDevelopmentDetails(uint256,address,string,string)\":{\"notice\":\"Off-chain metadata registered alongside the payee when entering development         or replaced via updateCommunityExecution before payout.\"},\"ProposalPayoutClaimed(uint256,address,uint256)\":{\"notice\":\"Emitted when the single registered payee pulls the implementation cost from Treasury.\"},\"QuadraticVotingToggled(bool)\":{\"notice\":\"Emits true if quadratic voting is disabled, false otherwise.\"}},\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"b3tr()\":{\"notice\":\"module:core\"},\"claimPayout(uint256)\":{\"notice\":\"Pull the full implementation cost from Treasury to the registered payee. Permissionless.\"},\"depositThresholdByProposalType(uint8)\":{\"notice\":\"module:core\"},\"depositThresholdCapByProposalType(uint8)\":{\"notice\":\"Returns the deposit threshold cap for a proposal type.\"},\"depositThresholdPercentageByProposalType(uint8)\":{\"notice\":\"module:core\"},\"getActiveProposals()\":{\"notice\":\"Returns currently active proposal IDs.\"},\"getDepositVotingPower(address,uint256)\":{\"notice\":\"Get the deposit voting power for a given account at a given timepoint\"},\"getGalaxyMemberContract()\":{\"notice\":\"Get the GalaxyMember contract\"},\"getGrantsManagerContract()\":{\"notice\":\"Get the GrantsManager contract\"},\"getProposalBudget(uint256)\":{\"notice\":\"The maximum implementation cost (B3TR wei) recorded for a proposal.\"},\"getProposalContributors(uint256)\":{\"notice\":\"The contributor handle list (github / twitter URLs etc.) for a proposal.\"},\"getProposalDescription(uint256)\":{\"notice\":\"The free-text description registered alongside the V11 payee.\"},\"getProposalImplementationDiscussion(uint256)\":{\"notice\":\"The implementation-discussion link for a proposal.\"},\"getProposalPayee(uint256)\":{\"notice\":\"The single registered payee for a proposal.\"},\"getQuadraticVotingPower(address,uint256)\":{\"notice\":\"module:reputation\"},\"getRequiredGMLevelByProposalType(uint8)\":{\"notice\":\"Get the GM weight for a proposal type\"},\"getVotes(address,uint256)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"notice\":\"module:core\"},\"isProposalPaid(uint256)\":{\"notice\":\"True iff the payout has been pulled from Treasury.\"},\"markAsInDevelopment(uint256,address,string,string,string[])\":{\"notice\":\"Mark a proposal as InDevelopment and register the V11 payee + metadata.\"},\"minVotingDelay()\":{\"notice\":\"module:core\"},\"name()\":{\"notice\":\"module:core\"},\"proposalDeadline(uint256)\":{\"notice\":\"module:core\"},\"proposalEta(uint256)\":{\"notice\":\"module:core\"},\"proposalNeedsQueuing(uint256)\":{\"notice\":\"module:core\"},\"proposalProposer(uint256)\":{\"notice\":\"module:core\"},\"proposalSnapshot(uint256)\":{\"notice\":\"module:core\"},\"proposalType(uint256)\":{\"notice\":\"module:core\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"relayerRewardsPool()\":{\"notice\":\"module:core\"},\"setGalaxyMember(address)\":{\"notice\":\"Set the GalaxyMember contract\"},\"setGrantsManager(address)\":{\"notice\":\"Set the GrantsManager contract\"},\"setRelayerRewardsPool(address)\":{\"notice\":\"Set the RelayerRewardsPool contract\"},\"setRequiredGMLevelByProposalType(uint8,uint256)\":{\"notice\":\"Set the GM weight for a proposal typee.g. setRequiredGMLevelByProposalType(0, 1) = GM level 1 is required to create a standard proposal\"},\"setVeBetterPassport(address)\":{\"notice\":\"Set the VeBetterPassport contract\"},\"state(uint256)\":{\"notice\":\"module:core\"},\"updateCommunityExecution(uint256,address,string,string,string[])\":{\"notice\":\"Update the payee / description / implementation-discussion / contributors of a         proposal whose payout has not yet been claimed.\"},\"veBetterPassport()\":{\"notice\":\"Returns the VeBetterPassport contract.\"},\"version()\":{\"notice\":\"module:core\"},\"voterRewards()\":{\"notice\":\"module:core\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"},\"votingThresholdByProposalType(uint8)\":{\"notice\":\"module:core\"},\"xAllocationVoting()\":{\"notice\":\"module:core\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IB3TRGovernor.sol\":\"IB3TRGovernor\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/interfaces/IEmissions.sol":{"IEmissions":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newDuration","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldDuration","type":"uint256"}],"name":"EmissionCycleDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"xAllocations","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vote2Earn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"treasury","type":"uint256"}],"name":"EmissionDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"xAllocations","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vote2Earn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"treasury","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"gm","type":"uint256"}],"name":"EmissionDistributedV2","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newPercentage","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldPercentage","type":"uint256"}],"name":"GMPercentageUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newDecay","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldDecay","type":"uint256"}],"name":"MaxVote2EarnDecayUpdated","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":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"TreasuryAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newPercentage","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldPercentage","type":"uint256"}],"name":"TreasuryPercentageUpdated","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":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"Vote2EarnAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newPeriod","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldPeriod","type":"uint256"}],"name":"Vote2EarnDecayPeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newDecay","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldDecay","type":"uint256"}],"name":"Vote2EarnDecayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newPeriod","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldPeriod","type":"uint256"}],"name":"XAllocationsDecayPeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newDecay","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldDecay","type":"uint256"}],"name":"XAllocationsDecayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsGovernorAddressUpdated","type":"event"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DECAY_SETTINGS_MANAGER_ROLE","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":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SCALING_FACTOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bootstrap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cycleDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"emissions","outputs":[{"internalType":"uint256","name":"xAllocationsAmount","type":"uint256"},{"internalType":"uint256","name":"vote2EarnAmount","type":"uint256"},{"internalType":"uint256","name":"treasuryAmount","type":"uint256"},{"internalType":"uint256","name":"gmAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentCycle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"getGMAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextCycleBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainingEmissions","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":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"getTreasuryAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"getVote2EarnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"getXAllocationAmount","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":[],"name":"initialXAppAllocation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"minter","type":"address"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"contractsAddressManager","type":"address"},{"internalType":"address","name":"decaySettingsManager","type":"address"},{"internalType":"address","name":"b3trAddress","type":"address"},{"internalType":"address[4]","name":"destinations","type":"address[4]"},{"internalType":"uint256","name":"migrationAmount","type":"uint256"},{"internalType":"uint256","name":"initialXAppAllocation","type":"uint256"},{"internalType":"uint256","name":"cycleDuration","type":"uint256"},{"internalType":"uint256[4]","name":"decaySettings","type":"uint256[4]"},{"internalType":"uint256","name":"treasuryPercentage","type":"uint256"},{"internalType":"uint256","name":"maxVote2EarnDecay","type":"uint256"}],"internalType":"struct IEmissions.InitializationData","name":"data","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isEmissionsNotAligned","type":"bool"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"isCycleDistributed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"isCycleEnded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isEmissionsNotAligned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isNextCycleDistributable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastEmissionBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxVote2EarnDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextCycle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"_cycleDuration","type":"uint256"}],"name":"setCycleDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"name":"setGmPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxVote2EarnDecay","type":"uint256"}],"name":"setMaxVote2EarnDecay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"treasuryAddress","type":"address"}],"name":"setTreasuryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"name":"setTreasuryPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"vote2EarnAddress","type":"address"}],"name":"setVote2EarnAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_decay","type":"uint256"}],"name":"setVote2EarnDecay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"setVote2EarnDecayPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_decay","type":"uint256"}],"name":"setXAllocationsDecay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"setXAllocationsDecayPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xAllocationsGovernor","type":"address"}],"name":"setXAllocationsGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"xAllocationAddress","type":"address"}],"name":"setXallocationsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","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":"totalEmissions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"vote2Earn","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vote2EarnDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vote2EarnDecayPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"xAllocations","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"xAllocationsDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"xAllocationsDecayPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"xAllocationsGovernor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DECAY_SETTINGS_MANAGER_ROLE()":"dcb74b3f","DEFAULT_ADMIN_ROLE()":"a217fddf","MINTER_ROLE()":"d5391393","SCALING_FACTOR()":"ef4cadc5","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","b3tr()":"582a486a","bootstrap()":"fb969b0a","cycleDuration()":"5bec4cb4","distribute()":"e4fc6b6d","emissions(uint256)":"cb6da670","getCurrentCycle()":"be26ed7f","getGMAmount(uint256)":"9be1f149","getNextCycleBlock()":"32446203","getRemainingEmissions()":"4bdd36ce","getRoleAdmin(bytes32)":"248a9ca3","getTreasuryAmount(uint256)":"eb358534","getVote2EarnAmount(uint256)":"3542e903","getXAllocationAmount(uint256)":"273364ef","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialXAppAllocation()":"3fe0a055","initialize((address,address,address,address,address,address,address[4],uint256,uint256,uint256,uint256[4],uint256,uint256))":"323fe7b5","initializeV2(bool)":"41f6659b","isCycleDistributed(uint256)":"a66bc817","isCycleEnded(uint256)":"e52ef17f","isEmissionsNotAligned()":"a9a5aa56","isNextCycleDistributable()":"1e2272c5","lastEmissionBlock()":"c66966b7","maxVote2EarnDecay()":"367df424","nextCycle()":"6b6923b8","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setCycleDuration(uint256)":"8cc23934","setGmPercentage(uint256)":"e95e824a","setMaxVote2EarnDecay(uint256)":"4f4eeeaa","setTreasuryAddress(address)":"6605bfda","setTreasuryPercentage(uint256)":"11c2e55d","setVote2EarnAddress(address)":"8e083b03","setVote2EarnDecay(uint256)":"8ffa2d0e","setVote2EarnDecayPeriod(uint256)":"4553e60a","setXAllocationsDecay(uint256)":"289de0c1","setXAllocationsDecayPeriod(uint256)":"9e6fd7e6","setXAllocationsGovernorAddress(address)":"3af03ea8","setXallocationsAddress(address)":"19a66974","start()":"be9a6555","supportsInterface(bytes4)":"01ffc9a7","totalEmissions()":"450db90b","treasury()":"61d027b3","treasuryPercentage()":"7ab56083","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50","vote2Earn()":"100e550a","vote2EarnDecay()":"73e96a33","vote2EarnDecayPeriod()":"e7b685cf","xAllocations()":"a465fb0a","xAllocationsDecay()":"0b236bf7","xAllocationsDecayPeriod()":"4f228ec2","xAllocationsGovernor()":"5ecf68e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newDuration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldDuration\",\"type\":\"uint256\"}],\"name\":\"EmissionCycleDurationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"xAllocations\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vote2Earn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"treasury\",\"type\":\"uint256\"}],\"name\":\"EmissionDistributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"xAllocations\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vote2Earn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"treasury\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gm\",\"type\":\"uint256\"}],\"name\":\"EmissionDistributedV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newPercentage\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldPercentage\",\"type\":\"uint256\"}],\"name\":\"GMPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newDecay\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldDecay\",\"type\":\"uint256\"}],\"name\":\"MaxVote2EarnDecayUpdated\",\"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\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"TreasuryAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newPercentage\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldPercentage\",\"type\":\"uint256\"}],\"name\":\"TreasuryPercentageUpdated\",\"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\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"Vote2EarnAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newPeriod\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldPeriod\",\"type\":\"uint256\"}],\"name\":\"Vote2EarnDecayPeriodUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newDecay\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldDecay\",\"type\":\"uint256\"}],\"name\":\"Vote2EarnDecayUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newPeriod\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldPeriod\",\"type\":\"uint256\"}],\"name\":\"XAllocationsDecayPeriodUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newDecay\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldDecay\",\"type\":\"uint256\"}],\"name\":\"XAllocationsDecayUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsGovernorAddressUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DECAY_SETTINGS_MANAGER_ROLE\",\"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\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCALING_FACTOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bootstrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cycleDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"xAllocationsAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"vote2EarnAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"treasuryAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gmAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentCycle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"getGMAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextCycleBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRemainingEmissions\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"getTreasuryAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"getVote2EarnAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"getXAllocationAmount\",\"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\":[],\"name\":\"initialXAppAllocation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractsAddressManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"decaySettingsManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"b3trAddress\",\"type\":\"address\"},{\"internalType\":\"address[4]\",\"name\":\"destinations\",\"type\":\"address[4]\"},{\"internalType\":\"uint256\",\"name\":\"migrationAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialXAppAllocation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cycleDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256[4]\",\"name\":\"decaySettings\",\"type\":\"uint256[4]\"},{\"internalType\":\"uint256\",\"name\":\"treasuryPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVote2EarnDecay\",\"type\":\"uint256\"}],\"internalType\":\"struct IEmissions.InitializationData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isEmissionsNotAligned\",\"type\":\"bool\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"isCycleDistributed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"isCycleEnded\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isEmissionsNotAligned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isNextCycleDistributable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastEmissionBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxVote2EarnDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextCycle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"_cycleDuration\",\"type\":\"uint256\"}],\"name\":\"setCycleDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setGmPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxVote2EarnDecay\",\"type\":\"uint256\"}],\"name\":\"setMaxVote2EarnDecay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"treasuryAddress\",\"type\":\"address\"}],\"name\":\"setTreasuryAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setTreasuryPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vote2EarnAddress\",\"type\":\"address\"}],\"name\":\"setVote2EarnAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decay\",\"type\":\"uint256\"}],\"name\":\"setVote2EarnDecay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_period\",\"type\":\"uint256\"}],\"name\":\"setVote2EarnDecayPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decay\",\"type\":\"uint256\"}],\"name\":\"setXAllocationsDecay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_period\",\"type\":\"uint256\"}],\"name\":\"setXAllocationsDecayPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_xAllocationsGovernor\",\"type\":\"address\"}],\"name\":\"setXAllocationsGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"xAllocationAddress\",\"type\":\"address\"}],\"name\":\"setXallocationsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"start\",\"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\":\"totalEmissions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasuryPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vote2Earn\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vote2EarnDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vote2EarnDecayPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocations\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsDecayPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsGovernor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IEmissions.sol\":\"IEmissions\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]}},\"version\":1}"}},"contracts/interfaces/IGalaxyMember.sol":{"IGalaxyMember":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"name":"ERC5805FutureLookup","type":"error"},{"inputs":[],"name":"ERC6372InconsistentClock","type":"error"},{"inputs":[],"name":"ERC721EnumerableForbiddenBatchMint","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"ERC721OutOfBoundsIndex","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"B3TRtoUpgradeToLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"B3trGovernorAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newBaseURI","type":"string"},{"indexed":true,"internalType":"string","name":"oldBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"LevelWhenAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"LevelWhenDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"MaxLevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeAttached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NodeDetached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PublicMintingPaused","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":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Selected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"StargateNFTAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLevel","type":"uint256"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationsGovernorAddressUpdated","type":"event"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NODES_MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"attachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3trGovernor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"detachNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRdonated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getB3TRtoUpgrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getB3TRtoUpgradeToLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getIdAttachedToNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"nodeTokenId","type":"uint256"}],"name":"getLevelAfterAttachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getLevelAfterDetachingNode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getNodeIdAttached","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevelOf","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"}],"name":"getNodeToFreeLevel","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":[{"internalType":"address","name":"owner","type":"address"}],"name":"getSelectedTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint48","name":"blockNumber","type":"uint48"}],"name":"getSelectedTokenIdAtBlock","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":"address","name":"_vechainNodes","type":"address"},{"internalType":"address","name":"_nodesAdmin","type":"address"},{"internalType":"uint256[]","name":"_nodeFreeLevels","type":"uint256[]"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"levelOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"participatedInGovernance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"select","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"b3trToUpgradeToLevel","type":"uint256[]"}],"name":"setB3TRtoUpgradeToLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3trGovernor","type":"address"}],"name":"setB3trGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setIsPublicMintingPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setMaxLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setNodeToFreeUpgradeLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_stargateNFT","type":"address"}],"name":"setStargateNFTAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_xAllocationsGovernor","type":"address"}],"name":"setXAllocationsGovernorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stargateNFT","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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"upgrade","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":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"xAllocationsGovernor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_LEVEL()":"a49062d4","MINTER_ROLE()":"d5391393","NODES_MANAGER_ROLE()":"3d6dbee8","PAUSER_ROLE()":"e63ab1e9","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","approve(address,uint256)":"095ea7b3","attachNode(uint256,uint256)":"88371110","b3tr()":"582a486a","b3trGovernor()":"7893d736","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","burn(uint256)":"42966c68","detachNode(uint256,uint256)":"4a6565e1","freeMint()":"5b70ea9f","getApproved(uint256)":"081812fc","getB3TRdonated(uint256)":"865c380b","getB3TRtoUpgrade(uint256)":"a51d2e0b","getB3TRtoUpgradeToLevel(uint256)":"2b42df38","getIdAttachedToNode(uint256)":"51c438d1","getLevelAfterAttachingNode(uint256,uint256)":"a1843bd0","getLevelAfterDetachingNode(uint256)":"cc421d07","getNodeIdAttached(uint256)":"958fc97d","getNodeLevelOf(uint256)":"3ff453af","getNodeToFreeLevel(uint8)":"e617e49f","getRoleAdmin(bytes32)":"248a9ca3","getSelectedTokenId(address)":"d206885d","getSelectedTokenIdAtBlock(address,uint48)":"3c60f55d","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initializeV2(address,address,uint256[])":"fb966e9f","isApprovedForAll(address,address)":"e985e9c5","levelOf(uint256)":"6d5e3032","name()":"06fdde03","ownerOf(uint256)":"6352211e","participatedInGovernance(address)":"8c5b76fb","pause()":"8456cb59","paused()":"5c975abb","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","select(uint256)":"839a19d9","setApprovalForAll(address,bool)":"a22cb465","setB3TRtoUpgradeToLevel(uint256[])":"b1ccbd2c","setB3trGovernorAddress(address)":"ddd8634d","setBaseURI(string)":"55f804b3","setIsPublicMintingPaused(bool)":"5b5da514","setMaxLevel(uint256)":"344f1ba5","setNodeToFreeUpgradeLevel(uint8,uint256)":"001db0dd","setStargateNFTAddress(address)":"36a49a3c","setXAllocationsGovernorAddress(address)":"3af03ea8","stargateNFT()":"5d21e15b","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","treasury()":"61d027b3","unpause()":"3f4ba83a","upgrade(uint256)":"45977d03","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50","xAllocationsGovernor()":"5ecf68e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC721EnumerableForbiddenBatchMint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ERC721OutOfBoundsIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"B3TRtoUpgradeToLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"B3trGovernorAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"LevelWhenAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"LevelWhenDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"MaxLevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeAttached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NodeDetached\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PublicMintingPaused\",\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Selected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"StargateNFTAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLevel\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLevel\",\"type\":\"uint256\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationsGovernorAddressUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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_LEVEL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NODES_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"attachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3trGovernor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"detachNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRdonated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgrade\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"getB3TRtoUpgradeToLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getIdAttachedToNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nodeTokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterAttachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getLevelAfterDetachingNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getNodeIdAttached\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevelOf\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"}],\"name\":\"getNodeToFreeLevel\",\"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\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getSelectedTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"blockNumber\",\"type\":\"uint48\"}],\"name\":\"getSelectedTokenIdAtBlock\",\"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\":\"address\",\"name\":\"_vechainNodes\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nodesAdmin\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_nodeFreeLevels\",\"type\":\"uint256[]\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"levelOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"participatedInGovernance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"select\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"b3trToUpgradeToLevel\",\"type\":\"uint256[]\"}],\"name\":\"setB3TRtoUpgradeToLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3trGovernor\",\"type\":\"address\"}],\"name\":\"setB3trGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"setIsPublicMintingPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setMaxLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"setNodeToFreeUpgradeLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stargateNFT\",\"type\":\"address\"}],\"name\":\"setStargateNFTAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_xAllocationsGovernor\",\"type\":\"address\"}],\"name\":\"setXAllocationsGovernorAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stargateNFT\",\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"upgrade\",\"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\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xAllocationsGovernor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implements ERC721 with additional features for level upgrades, node attachments, and governance participation\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"params\":{\"to\":\"Address to be approved\",\"tokenId\":\"ID of the token to be approved\"}},\"attachNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"ID of the node to attach\",\"tokenId\":\"ID of the token to attach to\"}},\"balanceOf(address)\":{\"params\":{\"owner\":\"Address to query\"},\"returns\":{\"_0\":\"Number of tokens owned\"}},\"burn(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to burn\"}},\"detachNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"ID of the node to detach\",\"tokenId\":\"ID of the token to detach from\"}},\"getApproved(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Address approved for the token\"}},\"getB3TRdonated(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Amount of B3TR donated\"}},\"getB3TRtoUpgrade(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Amount of B3TR needed\"}},\"getB3TRtoUpgradeToLevel(uint256)\":{\"params\":{\"level\":\"Target level\"},\"returns\":{\"_0\":\"Amount of B3TR needed\"}},\"getIdAttachedToNode(uint256)\":{\"params\":{\"nodeId\":\"ID of the node to query\"},\"returns\":{\"_0\":\"Token ID attached to the node\"}},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"params\":{\"nodeTokenId\":\"ID of the node to attach\",\"tokenId\":\"ID of the token\"},\"returns\":{\"_0\":\"New level after attachment\"}},\"getLevelAfterDetachingNode(uint256)\":{\"params\":{\"tokenId\":\"ID of the token\"},\"returns\":{\"_0\":\"New level after detachment\"}},\"getNodeIdAttached(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"ID of the attached node\"}},\"getNodeLevelOf(uint256)\":{\"params\":{\"nodeId\":\"ID of the node to query\"},\"returns\":{\"_0\":\"Level of the node\"}},\"getNodeToFreeLevel(uint8)\":{\"params\":{\"nodeLevel\":\"Level of the node\"},\"returns\":{\"_0\":\"Free level granted\"}},\"getRoleAdmin(bytes32)\":{\"params\":{\"role\":\"Role to query\"},\"returns\":{\"_0\":\"Admin role\"}},\"getSelectedTokenId(address)\":{\"params\":{\"owner\":\"Address to query\"},\"returns\":{\"_0\":\"Selected token ID\"}},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"params\":{\"blockNumber\":\"Block number to query\",\"owner\":\"Address to query\"},\"returns\":{\"_0\":\"Selected token ID\"}},\"grantRole(bytes32,address)\":{\"params\":{\"account\":\"Account to receive the role\",\"role\":\"Role to grant\"}},\"hasRole(bytes32,address)\":{\"params\":{\"account\":\"Account to check\",\"role\":\"Role to check\"},\"returns\":{\"_0\":\"True if account has the role\"}},\"initializeV2(address,address,uint256[])\":{\"params\":{\"_nodeFreeLevels\":\"Array of free levels for nodes\",\"_nodesAdmin\":\"Address of the nodes admin\",\"_vechainNodes\":\"Address of the VeChain nodes contract\"}},\"isApprovedForAll(address,address)\":{\"params\":{\"operator\":\"Operator address\",\"owner\":\"Owner address\"},\"returns\":{\"_0\":\"True if operator is approved for all\"}},\"levelOf(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Level of the token\"}},\"ownerOf(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to query\"},\"returns\":{\"_0\":\"Address of the owner\"}},\"participatedInGovernance(address)\":{\"params\":{\"user\":\"Address to check\"},\"returns\":{\"_0\":\"True if user has participated\"}},\"paused()\":{\"returns\":{\"_0\":\"True if contract is paused\"}},\"renounceRole(bytes32,address)\":{\"params\":{\"callerConfirmation\":\"Address of the caller for confirmation\",\"role\":\"Role to renounce\"}},\"revokeRole(bytes32,address)\":{\"params\":{\"account\":\"Account to revoke from\",\"role\":\"Role to revoke\"}},\"safeTransferFrom(address,address,uint256)\":{\"params\":{\"from\":\"Current owner\",\"to\":\"New owner\",\"tokenId\":\"ID of the token to transfer\"}},\"safeTransferFrom(address,address,uint256,bytes)\":{\"params\":{\"data\":\"Additional data\",\"from\":\"Current owner\",\"to\":\"New owner\",\"tokenId\":\"ID of the token to transfer\"}},\"select(uint256)\":{\"params\":{\"tokenID\":\"ID of the token to select\"}},\"setApprovalForAll(address,bool)\":{\"params\":{\"approved\":\"Approval status\",\"operator\":\"Address to approve\"}},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"params\":{\"b3trToUpgradeToLevel\":\"Array of B3TR amounts\"}},\"setB3trGovernorAddress(address)\":{\"params\":{\"_b3trGovernor\":\"New governor address\"}},\"setBaseURI(string)\":{\"params\":{\"baseTokenURI\":\"New base URI\"}},\"setIsPublicMintingPaused(bool)\":{\"params\":{\"isPaused\":\"New pause status\"}},\"setMaxLevel(uint256)\":{\"params\":{\"level\":\"New maximum level\"}},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"params\":{\"level\":\"Free upgrade level\",\"nodeLevel\":\"Level of the node\"}},\"setStargateNFTAddress(address)\":{\"params\":{\"_stargateNFT\":\"New StargateNFT contract address\"}},\"setXAllocationsGovernorAddress(address)\":{\"params\":{\"_xAllocationsGovernor\":\"New governor address\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"Interface identifier\"},\"returns\":{\"_0\":\"True if interface is supported\"}},\"tokenByIndex(uint256)\":{\"params\":{\"index\":\"Index of the token\"},\"returns\":{\"_0\":\"Token ID at the index\"}},\"tokenOfOwnerByIndex(address,uint256)\":{\"params\":{\"index\":\"Index of the token\",\"owner\":\"Owner address\"},\"returns\":{\"_0\":\"Token ID at the index\"}},\"tokenURI(uint256)\":{\"params\":{\"tokenId\":\"ID of the token\"},\"returns\":{\"_0\":\"Metadata URI\"}},\"totalSupply()\":{\"returns\":{\"_0\":\"Total number of tokens\"}},\"transferFrom(address,address,uint256)\":{\"params\":{\"from\":\"Current owner\",\"to\":\"New owner\",\"tokenId\":\"ID of the token to transfer\"}},\"upgrade(uint256)\":{\"params\":{\"tokenId\":\"ID of the token to upgrade\"}},\"upgradeToAndCall(address,bytes)\":{\"params\":{\"data\":\"Additional data for the upgrade\",\"newImplementation\":\"Address of the new implementation\"}},\"version()\":{\"returns\":{\"_0\":\"Version string\"}}},\"title\":\"IGalaxyMember\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"Returns the role identifier for contracts address manager\"},\"DEFAULT_ADMIN_ROLE()\":{\"notice\":\"Returns the role identifier for default admin\"},\"MAX_LEVEL()\":{\"notice\":\"Returns the maximum level achievable for a token\"},\"MINTER_ROLE()\":{\"notice\":\"Returns the role identifier for minter\"},\"NODES_MANAGER_ROLE()\":{\"notice\":\"Returns the role identifier for nodes manager\"},\"PAUSER_ROLE()\":{\"notice\":\"Returns the role identifier for pauser\"},\"UPGRADER_ROLE()\":{\"notice\":\"Returns the role identifier for upgrader\"},\"UPGRADE_INTERFACE_VERSION()\":{\"notice\":\"Returns the interface version string\"},\"approve(address,uint256)\":{\"notice\":\"Approves an address to transfer a specific token\"},\"attachNode(uint256,uint256)\":{\"notice\":\"Attaches a node to a token\"},\"b3tr()\":{\"notice\":\"Returns the B3TR token contract address\"},\"b3trGovernor()\":{\"notice\":\"Returns the B3TR governor contract address\"},\"balanceOf(address)\":{\"notice\":\"Returns the number of tokens owned by an address\"},\"baseURI()\":{\"notice\":\"Returns the base URI for token metadata\"},\"burn(uint256)\":{\"notice\":\"Burns a specific token\"},\"detachNode(uint256,uint256)\":{\"notice\":\"Detaches a node from a token\"},\"freeMint()\":{\"notice\":\"Allows eligible addresses to mint a token for free\"},\"getApproved(uint256)\":{\"notice\":\"Returns the approved address for a token\"},\"getB3TRdonated(uint256)\":{\"notice\":\"Returns the amount of B3TR donated for a token\"},\"getB3TRtoUpgrade(uint256)\":{\"notice\":\"Returns the amount of B3TR needed to upgrade a token\"},\"getB3TRtoUpgradeToLevel(uint256)\":{\"notice\":\"Returns the amount of B3TR needed to upgrade to a specific level\"},\"getIdAttachedToNode(uint256)\":{\"notice\":\"Returns the token ID attached to a node\"},\"getLevelAfterAttachingNode(uint256,uint256)\":{\"notice\":\"Calculates the level after attaching a node\"},\"getLevelAfterDetachingNode(uint256)\":{\"notice\":\"Calculates the level after detaching a node\"},\"getNodeIdAttached(uint256)\":{\"notice\":\"Returns the node ID attached to a token\"},\"getNodeLevelOf(uint256)\":{\"notice\":\"Returns the level of a node\"},\"getNodeToFreeLevel(uint8)\":{\"notice\":\"Returns the free level granted by a node level\"},\"getRoleAdmin(bytes32)\":{\"notice\":\"Returns the admin role for a given role\"},\"getSelectedTokenId(address)\":{\"notice\":\"Returns the selected token ID for an owner\"},\"getSelectedTokenIdAtBlock(address,uint48)\":{\"notice\":\"Returns the selected token ID for an owner in a specific block number\"},\"grantRole(bytes32,address)\":{\"notice\":\"Grants a role to an account\"},\"hasRole(bytes32,address)\":{\"notice\":\"Checks if an account has a role\"},\"initializeV2(address,address,uint256[])\":{\"notice\":\"Initializes the contract V2\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Checks if an operator is approved for all tokens of an owner\"},\"levelOf(uint256)\":{\"notice\":\"Returns the level of a token\"},\"name()\":{\"notice\":\"Returns the name of the token collection\"},\"ownerOf(uint256)\":{\"notice\":\"Returns the owner of a token\"},\"participatedInGovernance(address)\":{\"notice\":\"Checks if a user has participated in governance\"},\"pause()\":{\"notice\":\"Pauses all token transfers\"},\"paused()\":{\"notice\":\"Returns the paused status of the contract\"},\"proxiableUUID()\":{\"notice\":\"Returns the storage slot for the implementation\"},\"renounceRole(bytes32,address)\":{\"notice\":\"Allows an account to renounce a role\"},\"revokeRole(bytes32,address)\":{\"notice\":\"Revokes a role from an account\"},\"safeTransferFrom(address,address,uint256)\":{\"notice\":\"Safely transfers a token\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"notice\":\"Safely transfers a token with additional data\"},\"select(uint256)\":{\"notice\":\"Selects a token for an owner\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Sets approval for all tokens\"},\"setB3TRtoUpgradeToLevel(uint256[])\":{\"notice\":\"Sets the B3TR amounts needed for level upgrades\"},\"setB3trGovernorAddress(address)\":{\"notice\":\"Sets the B3TR governor address\"},\"setBaseURI(string)\":{\"notice\":\"Sets the base URI for token metadata\"},\"setIsPublicMintingPaused(bool)\":{\"notice\":\"Sets the public minting pause status\"},\"setMaxLevel(uint256)\":{\"notice\":\"Sets the maximum level\"},\"setNodeToFreeUpgradeLevel(uint8,uint256)\":{\"notice\":\"Sets the free upgrade level for a node level\"},\"setStargateNFTAddress(address)\":{\"notice\":\"Sets the StargateNFT contract address\"},\"setXAllocationsGovernorAddress(address)\":{\"notice\":\"Sets the X-Allocations governor address\"},\"stargateNFT()\":{\"notice\":\"Returns the StargateNFT contract address\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the contract supports an interface\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token collection\"},\"tokenByIndex(uint256)\":{\"notice\":\"Returns a token by its index\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"notice\":\"Returns a token owned by an address by index\"},\"tokenURI(uint256)\":{\"notice\":\"Returns the URI for a token's metadata\"},\"totalSupply()\":{\"notice\":\"Returns the total supply of tokens\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Transfers a token\"},\"treasury()\":{\"notice\":\"Returns the treasury address\"},\"unpause()\":{\"notice\":\"Unpauses all token transfers\"},\"upgrade(uint256)\":{\"notice\":\"Upgrades a token's level\"},\"upgradeToAndCall(address,bytes)\":{\"notice\":\"Upgrades the contract implementation\"},\"version()\":{\"notice\":\"Returns the contract version\"},\"xAllocationsGovernor()\":{\"notice\":\"Returns the X-Allocations governor address\"}},\"notice\":\"Interface for the GalaxyMember contract which handles NFT membership and governance functionality\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IGalaxyMember.sol\":\"IGalaxyMember\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]}},\"version\":1}"}},"contracts/interfaces/IGrantsManager.sol":{"IGrantsManager":{"abi":[{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"recipient","type":"address"}],"name":"CallerIsNotTheGrantReceiver","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantAlreadyCompleted","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantAlreadyRejected","type":"error"},{"inputs":[{"internalType":"uint256","name":"availableFunds","type":"uint256"},{"internalType":"uint256","name":"requiredFunds","type":"uint256"}],"name":"InsufficientFunds","type":"error"},{"inputs":[],"name":"InvalidAmount","type":"error"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"InvalidFunctionSelector","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"InvalidMilestoneIndex","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"required","type":"uint256"}],"name":"InvalidNumberOfMilestones","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"InvalidTarget","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAlreadyApproved","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAlreadyClaimed","type":"error"},{"inputs":[{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneAmountZero","type":"error"},{"inputs":[{"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"}],"name":"MilestoneClaimedAmountExceedsTotalAmount","type":"error"},{"inputs":[],"name":"MilestoneDetailsMetadataURIEmpty","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneNotApprovedByAdmin","type":"error"},{"inputs":[],"name":"MilestoneProposerZeroAddress","type":"error"},{"inputs":[{"internalType":"enum IGrantsManager.MilestoneState","name":"status","type":"uint8"}],"name":"MilestoneStateNotPending","type":"error"},{"inputs":[],"name":"MilestoneTotalAmountZero","type":"error"},{"inputs":[],"name":"NotAuthorized","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"PreviousMilestoneNotApproved","type":"error"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"ProposalNotExecuted","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"GrantCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"newGrantsReceiver","type":"address"}],"name":"GrantsReceiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"milestoneIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MilestoneClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"string","name":"newMilestoneMetadataURI","type":"string"}],"name":"MilestoneMetadataURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MilestoneRejectedAndFundsReturnedToTreasury","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"MilestoneValidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"indexed":true,"internalType":"address","name":"grantsReceiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"},{"indexed":false,"internalType":"string","name":"metadataURI","type":"string"}],"name":"MilestonesCreated","type":"event"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"name":"approveMilestoneWithReason","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"approveMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"claimMilestone","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"}],"name":"createMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getB3trContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGovernorContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getGrantProposal","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"address","name":"grantsReceiver","type":"address"},{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManager.Milestone[]","name":"milestones","type":"tuple[]"},{"internalType":"string","name":"metadataURI","type":"string"}],"internalType":"struct IGrantsManager.GrantProposal","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getGrantsReceiverAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"getMilestone","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManager.Milestone","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMilestoneMetadataURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMilestones","outputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isClaimed","type":"bool"},{"internalType":"bool","name":"isApproved","type":"bool"},{"internalType":"bool","name":"isRejected","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IGrantsManager.Milestone[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinimumMilestoneCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"milestoneId","type":"uint256"}],"name":"getTotalAmountForMilestones","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasuryContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"grantState","outputs":[{"internalType":"enum IGrantsManager.GrantState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"isClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantCompleted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantInDevelopment","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"isGrantRejected","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"milestoneIndex","type":"uint256"}],"name":"milestoneState","outputs":[{"internalType":"enum IGrantsManager.MilestoneState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"rejectMilestones","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_b3tr","type":"address"}],"name":"setB3trContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governor","type":"address"}],"name":"setGovernorContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minimumMilestoneCount","type":"uint256"}],"name":"setMinimumMilestoneCount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasuryContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"newGrantsReceiver","type":"address"}],"name":"updateGrantsReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"newMilestoneMetadataURI","type":"string"}],"name":"updateMilestoneMetadataURI","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approveMilestoneWithReason(uint256,uint256,string)":"b3396778","approveMilestones(uint256,uint256)":"767b1602","claimMilestone(uint256,uint256)":"c266aef7","createMilestones(string,uint256,address,address,bytes[])":"808860a5","getB3trContract()":"c4ec8f98","getGovernorContract()":"0019cce6","getGrantProposal(uint256)":"24ad94cd","getGrantsReceiverAddress(uint256)":"da104fac","getMilestone(uint256,uint256)":"8ed9895c","getMilestoneMetadataURI(uint256)":"cff28c70","getMilestones(uint256)":"42c549c0","getMinimumMilestoneCount()":"01294764","getTotalAmountForMilestones(uint256)":"5ade3874","getTreasuryContract()":"26c74fc3","grantState(uint256)":"bfda4e7c","isClaimable(uint256,uint256)":"c1a45a6a","isGrantCompleted(uint256)":"c2249389","isGrantInDevelopment(uint256)":"9b154087","isGrantRejected(uint256)":"7da17bf3","milestoneState(uint256,uint256)":"e9af5d1b","rejectMilestones(uint256)":"f23e227b","setB3trContract(address)":"54b90b7b","setGovernorContract(address)":"06c49822","setMinimumMilestoneCount(uint256)":"b2a2eef9","setTreasuryContract(address)":"1ed65110","updateGrantsReceiver(uint256,address)":"e03d759b","updateMilestoneMetadataURI(uint256,string)":"c42433b4"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"CallerIsNotTheGrantReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantAlreadyCompleted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantAlreadyRejected\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"availableFunds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredFunds\",\"type\":\"uint256\"}],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"InvalidFunctionSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"InvalidMilestoneIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"InvalidNumberOfMilestones\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"InvalidTarget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAlreadyApproved\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneAmountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"MilestoneClaimedAmountExceedsTotalAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneDetailsMetadataURIEmpty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneNotApprovedByAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneProposerZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum IGrantsManager.MilestoneState\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"MilestoneStateNotPending\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MilestoneTotalAmountZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAuthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"PreviousMilestoneNotApproved\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotExecuted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GrantCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newGrantsReceiver\",\"type\":\"address\"}],\"name\":\"GrantsReceiverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MilestoneClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newMilestoneMetadataURI\",\"type\":\"string\"}],\"name\":\"MilestoneMetadataURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MilestoneRejectedAndFundsReturnedToTreasury\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"MilestoneValidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"name\":\"MilestonesCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"approveMilestoneWithReason\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"approveMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"claimMilestone\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"}],\"name\":\"createMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getB3trContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGovernorContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getGrantProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"grantsReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManager.Milestone[]\",\"name\":\"milestones\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManager.GrantProposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getGrantsReceiverAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"getMilestone\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManager.Milestone\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMilestoneMetadataURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMilestones\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isApproved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRejected\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IGrantsManager.Milestone[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinimumMilestoneCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"milestoneId\",\"type\":\"uint256\"}],\"name\":\"getTotalAmountForMilestones\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasuryContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"grantState\",\"outputs\":[{\"internalType\":\"enum IGrantsManager.GrantState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"isClaimable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantCompleted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantInDevelopment\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"isGrantRejected\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"milestoneIndex\",\"type\":\"uint256\"}],\"name\":\"milestoneState\",\"outputs\":[{\"internalType\":\"enum IGrantsManager.MilestoneState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"rejectMilestones\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_b3tr\",\"type\":\"address\"}],\"name\":\"setB3trContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_governor\",\"type\":\"address\"}],\"name\":\"setGovernorContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumMilestoneCount\",\"type\":\"uint256\"}],\"name\":\"setMinimumMilestoneCount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"setTreasuryContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"newGrantsReceiver\",\"type\":\"address\"}],\"name\":\"updateGrantsReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"newMilestoneMetadataURI\",\"type\":\"string\"}],\"name\":\"updateMilestoneMetadataURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract handles the execution of approved grant proposals and manages milestone-based funding\",\"errors\":{\"CallerIsNotTheGrantReceiver(address,address)\":[{\"params\":{\"caller\":\"The address of the caller\",\"recipient\":\"The address of the recipient\"}}],\"GrantAlreadyCompleted(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"GrantAlreadyRejected(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}],\"InsufficientFunds(uint256,uint256)\":[{\"params\":{\"availableFunds\":\"The available funds\",\"requiredFunds\":\"The required funds\"}}],\"InvalidFunctionSelector(bytes4)\":[{\"params\":{\"selector\":\"The invalid selector\"}}],\"InvalidMilestoneIndex(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"InvalidNumberOfMilestones(uint256,uint256)\":[{\"params\":{\"provided\":\"The number of milestones provided\",\"required\":\"The minimum number of milestones required\"}}],\"InvalidTarget(address)\":[{\"params\":{\"target\":\"The invalid target\"}}],\"MilestoneAlreadyApproved(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneAlreadyClaimed(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneAmountZero(uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone with zero amount\"}}],\"MilestoneClaimedAmountExceedsTotalAmount(uint256,uint256)\":[{\"params\":{\"claimedAmount\":\"The amount claimed\",\"totalAmount\":\"The total amount available\"}}],\"MilestoneNotApprovedByAdmin(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"MilestoneStateNotPending(uint8)\":[{\"params\":{\"status\":\"The current status of the milestone\"}}],\"PreviousMilestoneNotApproved(uint256,uint256)\":[{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}}],\"ProposalNotExecuted(uint256)\":[{\"params\":{\"proposalId\":\"The ID of the proposal\"}}]},\"events\":{\"GrantCanceled(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"}},\"GrantsReceiverUpdated(uint256,address)\":{\"params\":{\"newGrantsReceiver\":\"The new grants receiver address\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneClaimed(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the milestone\",\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneMetadataURIUpdated(uint256,string)\":{\"params\":{\"newMilestoneMetadataURI\":\"The new metadata URI\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneRejectedAndFundsReturnedToTreasury(uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestoneValidated(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"MilestonesCreated(uint256,address,address,uint256,string)\":{\"params\":{\"grantsReceiver\":\"The address of the grants receiver\",\"metadataURI\":\"The IPFS hash containing milestone details\",\"proposalId\":\"The ID of the proposal\",\"proposer\":\"The address of the proposer\",\"totalAmount\":\"The total amount of all milestones\"}}},\"kind\":\"dev\",\"methods\":{\"approveMilestoneWithReason(uint256,uint256,string)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\",\"reason\":\"The reason for approving the milestone\"}},\"approveMilestones(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"claimMilestone(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"}},\"createMilestones(string,uint256,address,address,bytes[])\":{\"params\":{\"calldatas\":\"The calldatas of the milestones\",\"grantsReceiver\":\"The address of the grants receiver\",\"metadataURI\":\"The IPFS hash containing the milestones metadata\",\"proposalId\":\"The ID of the proposal\",\"proposer\":\"The address of the proposer\"}},\"getB3trContract()\":{\"returns\":{\"_0\":\"The address of the b3tr contract\"}},\"getGovernorContract()\":{\"returns\":{\"_0\":\"The address of the governor contract\"}},\"getGrantProposal(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"GrantProposal struct created on proposeGrant\"}},\"getGrantsReceiverAddress(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"The address of the grants receiver\"}},\"getMilestone(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"Milestone The milestone\"}},\"getMilestoneMetadataURI(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"The milestone  metadata URI for the proposal\"}},\"getMilestones(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"Milestone[] The milestones for the grant proposal\"}},\"getMinimumMilestoneCount()\":{\"returns\":{\"_0\":\"The minimum milestone count\"}},\"getTotalAmountForMilestones(uint256)\":{\"params\":{\"milestoneId\":\"The ID of the milestone\"},\"returns\":{\"_0\":\"The total amount for the milestones\"}},\"getTreasuryContract()\":{\"returns\":{\"_0\":\"The address of the treasury contract\"}},\"grantState(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"GrantState The state of the proposal\"}},\"isClaimable(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if the milestone is claimable, false otherwise\"}},\"isGrantCompleted(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is in development, false otherwise\"}},\"isGrantInDevelopment(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if the proposal is in development, false otherwise\"}},\"isGrantRejected(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"bool True if one of the milestones is rejected, false otherwise\"}},\"milestoneState(uint256,uint256)\":{\"params\":{\"milestoneIndex\":\"The index of the milestone\",\"proposalId\":\"The ID of the proposal\"},\"returns\":{\"_0\":\"MilestoneState The state of the milestone\"}},\"rejectMilestones(uint256)\":{\"params\":{\"proposalId\":\"The ID of the proposal\"}},\"setB3trContract(address)\":{\"params\":{\"_b3tr\":\"The address of the b3tr contract\"}},\"setGovernorContract(address)\":{\"params\":{\"_governor\":\"The address of the governor contract\"}},\"setMinimumMilestoneCount(uint256)\":{\"params\":{\"minimumMilestoneCount\":\"The minimum milestone count\"}},\"setTreasuryContract(address)\":{\"params\":{\"_treasury\":\"The address of the treasury contract\"}},\"updateGrantsReceiver(uint256,address)\":{\"params\":{\"newGrantsReceiver\":\"The new grants receiver address\",\"proposalId\":\"The ID of the proposal\"}},\"updateMilestoneMetadataURI(uint256,string)\":{\"params\":{\"newMilestoneMetadataURI\":\"The milestone description metadata URI to set\",\"proposalId\":\"The ID of the proposal\"}}},\"title\":\"IGrantsManager\",\"version\":1},\"userdoc\":{\"errors\":{\"CallerIsNotTheGrantReceiver(address,address)\":[{\"notice\":\"Error thrown when caller is not the grant receiver\"}],\"GrantAlreadyCompleted(uint256)\":[{\"notice\":\"Error thrown when grant is already completed\"}],\"GrantAlreadyRejected(uint256)\":[{\"notice\":\"Error thrown when grant is already rejected\"}],\"InsufficientFunds(uint256,uint256)\":[{\"notice\":\"Error thrown when funds are insufficient\"}],\"InvalidAmount()\":[{\"notice\":\"Error thrown when a milestone amount is invalid\"}],\"InvalidFunctionSelector(bytes4)\":[{\"notice\":\"Error thrown when a function selector is invalid\"}],\"InvalidMilestoneIndex(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone index is invalid\"}],\"InvalidNumberOfMilestones(uint256,uint256)\":[{\"notice\":\"Error thrown when number of milestones is less than minimum required\"}],\"InvalidTarget(address)\":[{\"notice\":\"Error thrown when a target is invalid\"}],\"MilestoneAlreadyApproved(uint256,uint256)\":[{\"notice\":\"Error thrown when a milestone is already validated\"}],\"MilestoneAlreadyClaimed(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone is already claimed\"}],\"MilestoneAmountZero(uint256)\":[{\"notice\":\"Error thrown when milestone amount is zero\"}],\"MilestoneClaimedAmountExceedsTotalAmount(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone claimed amount exceeds total amount\"}],\"MilestoneDetailsMetadataURIEmpty()\":[{\"notice\":\"Error thrown when milestone details metadata URI is empty\"}],\"MilestoneNotApprovedByAdmin(uint256,uint256)\":[{\"notice\":\"Error thrown when milestone is not validated\"}],\"MilestoneProposerZeroAddress()\":[{\"notice\":\"Error thrown when milestone proposer is zero address\"}],\"MilestoneStateNotPending(uint8)\":[{\"notice\":\"Error thrown when milestone state is not pending\"}],\"MilestoneTotalAmountZero()\":[{\"notice\":\"Error thrown when milestone total amount is zero\"}],\"NotAuthorized()\":[{\"notice\":\"Error thrown when caller is not an admin or grants manager\"}],\"PreviousMilestoneNotApproved(uint256,uint256)\":[{\"notice\":\"Error thrown when previous milestone is not validated\"}],\"ProposalNotExecuted(uint256)\":[{\"notice\":\"Error thrown when proposal is not executed\"}],\"TransferFailed()\":[{\"notice\":\"Error thrown when transfer fails\"}]},\"events\":{\"GrantCanceled(uint256)\":{\"notice\":\"Emitted when a grant is canceled\"},\"GrantsReceiverUpdated(uint256,address)\":{\"notice\":\"Emitted when the grants receiver address is updated\"},\"MilestoneClaimed(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a milestone is claimed\"},\"MilestoneMetadataURIUpdated(uint256,string)\":{\"notice\":\"Emitted when a milestone metadata URI is updated\"},\"MilestoneRejectedAndFundsReturnedToTreasury(uint256,uint256)\":{\"notice\":\"Emitted when a milestone is rejected\"},\"MilestoneValidated(uint256,uint256)\":{\"notice\":\"Emitted when a milestone is validated ( ready to be claimed by the receiver )\"},\"MilestonesCreated(uint256,address,address,uint256,string)\":{\"notice\":\"Emitted when milestones are created for a proposal\"}},\"kind\":\"user\",\"methods\":{\"approveMilestoneWithReason(uint256,uint256,string)\":{\"notice\":\"Approves a milestone with a reasonThis is used to approve a mi\"},\"approveMilestones(uint256,uint256)\":{\"notice\":\"Approves a milestone\"},\"claimMilestone(uint256,uint256)\":{\"notice\":\"Claims milestones\"},\"createMilestones(string,uint256,address,address,bytes[])\":{\"notice\":\"Creates milestones for a proposal\"},\"getB3trContract()\":{\"notice\":\"Returns the b3tr contract\"},\"getGovernorContract()\":{\"notice\":\"Returns the governor contract\"},\"getGrantProposal(uint256)\":{\"notice\":\"Returns the milestones for a proposal\"},\"getGrantsReceiverAddress(uint256)\":{\"notice\":\"Returns the grants receiver address\"},\"getMilestone(uint256,uint256)\":{\"notice\":\"Returns a milestone for a proposal\"},\"getMilestoneMetadataURI(uint256)\":{\"notice\":\"Returns the milestone  metadata URI for a proposal\"},\"getMilestones(uint256)\":{\"notice\":\"Returns the milestones for a proposal\"},\"getMinimumMilestoneCount()\":{\"notice\":\"Returns the minimum milestone count\"},\"getTotalAmountForMilestones(uint256)\":{\"notice\":\"Returns the total amount for milestones\"},\"getTreasuryContract()\":{\"notice\":\"Returns the treasury contract\"},\"grantState(uint256)\":{\"notice\":\"Returns the state of a proposal\"},\"isClaimable(uint256,uint256)\":{\"notice\":\"Returns if a milestone is claimable\"},\"isGrantCompleted(uint256)\":{\"notice\":\"Returns if a proposal is in development\"},\"isGrantInDevelopment(uint256)\":{\"notice\":\"Returns if a proposal is in development\"},\"isGrantRejected(uint256)\":{\"notice\":\"Returns if a proposal is rejected\"},\"milestoneState(uint256,uint256)\":{\"notice\":\"Returns the state of a milestone\"},\"rejectMilestones(uint256)\":{\"notice\":\"Rejects a milestone\"},\"setB3trContract(address)\":{\"notice\":\"Sets the b3tr contract\"},\"setGovernorContract(address)\":{\"notice\":\"Sets the governor contract\"},\"setMinimumMilestoneCount(uint256)\":{\"notice\":\"Sets the minimum milestone count\"},\"setTreasuryContract(address)\":{\"notice\":\"Sets the treasury contract\"},\"updateGrantsReceiver(uint256,address)\":{\"notice\":\"Updates the grants receiver address\"},\"updateMilestoneMetadataURI(uint256,string)\":{\"notice\":\"Updates the milestone description metadata URI for a proposal\"}},\"notice\":\"Interface for the GrantsManager contract that manages grant execution and milestone creation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IGrantsManager.sol\":\"IGrantsManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]}},\"version\":1}"}},"contracts/interfaces/INavigatorRegistry.sol":{"INavigatorRegistry":{"abi":[{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"AlreadyDeactivated","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"},{"internalType":"address","name":"currentNavigator","type":"address"}],"name":"AlreadyDelegated","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"AlreadyExiting","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"AlreadyRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"AlreadySlashed","type":"error"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minimum","type":"uint256"}],"name":"BelowMinimumDelegation","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"DecisionAlreadySet","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"DecisionNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"currentNavigator","type":"address"}],"name":"DelegatorCannotRegister","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"DuplicateApp","type":"error"},{"inputs":[],"name":"EmptyPreferences","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"requested","type":"uint256"},{"internalType":"uint256","name":"available","type":"uint256"}],"name":"ExceedsNavigatorCapacity","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"FeesForfeited","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"uint256","name":"unlockRound","type":"uint256"},{"internalType":"uint256","name":"currentRound","type":"uint256"}],"name":"FeesStillLocked","type":"error"},{"inputs":[{"internalType":"uint256","name":"requested","type":"uint256"},{"internalType":"uint256","name":"available","type":"uint256"}],"name":"InsufficientDelegation","type":"error"},{"inputs":[{"internalType":"uint256","name":"available","type":"uint256"},{"internalType":"uint256","name":"requested","type":"uint256"}],"name":"InsufficientStake","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"},{"internalType":"uint256","name":"requested","type":"uint256"},{"internalType":"uint256","name":"available","type":"uint256"}],"name":"InsufficientUnlockedBalance","type":"error"},{"inputs":[{"internalType":"uint8","name":"decision","type":"uint8"}],"name":"InvalidDecision","type":"error"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"name":"InvalidParameter","type":"error"},{"inputs":[{"internalType":"uint256","name":"appsLength","type":"uint256"},{"internalType":"uint256","name":"percentagesLength","type":"uint256"}],"name":"LengthMismatch","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"NavigatorCannotAcceptDelegations","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"NavigatorDeactivated","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"NavigatorStillActive","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"NoFeesToClaim","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"NoInfractionFound","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"NoStakeToSlash","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"NotANavigator","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegated","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"NotExiting","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"NotRegistered","type":"error"},{"inputs":[{"internalType":"uint256","name":"currentRound","type":"uint256"},{"internalType":"uint256","name":"requiredRound","type":"uint256"}],"name":"NoticePeriodNotElapsed","type":"error"},{"inputs":[{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"expected","type":"uint256"}],"name":"PercentageMismatch","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"PreferencesAlreadySet","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"PreferencesNotSet","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"RoundStillActive","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"SelfDelegationNotAllowed","type":"error"},{"inputs":[{"internalType":"uint256","name":"slashPercentage","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"SlashExceedsMax","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"minimum","type":"uint256"}],"name":"StakeBelowMinimum","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"maximum","type":"uint256"}],"name":"StakeExceedsMaximum","type":"error"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"name":"TooManyApps","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"UnauthorizedCaller","type":"error"},{"inputs":[{"internalType":"string","name":"param","type":"string"}],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroDelegationAmount","type":"error"},{"inputs":[],"name":"ZeroPercentage","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"}],"name":"AllocationPreferencesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DelegationCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"removedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotal","type":"uint256"}],"name":"DelegationDecreased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"addedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotal","type":"uint256"}],"name":"DelegationIncreased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DelegationRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"announcedAtRound","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"effectiveDeadline","type":"uint256"}],"name":"ExitAnnounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeeClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeeDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"string","name":"newURI","type":"string"}],"name":"MetadataURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"slashPercentage","type":"uint256"}],"name":"NavigatorDeactivatedEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"remainingStake","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"infractionFlags","type":"uint256"}],"name":"NavigatorMinorSlashed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"stakeAmount","type":"uint256"},{"indexed":false,"internalType":"string","name":"metadataURI","type":"string"}],"name":"NavigatorRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"remainingStake","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"NavigatorSlashed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"decision","type":"uint8"}],"name":"ProposalDecisionSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reportURI","type":"string"}],"name":"ReportSubmitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotal","type":"uint256"}],"name":"StakeAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"remaining","type":"uint256"}],"name":"StakeWithdrawn","type":"event"},{"inputs":[],"name":"BASIS_POINTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOVERNANCE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"announceExit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"canAcceptDelegations","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"claimFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"slashPercentage","type":"uint256"},{"internalType":"bool","name":"slashFees","type":"bool"}],"name":"deactivateNavigator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositNavigatorFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"exitAnnouncedRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAllocationPreferences","outputs":[{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"percentages","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"getDelegatedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDelegatedAmountAtTimepoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"getDelegationCapacity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getExitNoticePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFeeLockPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"getLastReportRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"getLastReportURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"getMetadataURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinorSlashPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"getNavigator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getNavigatorAtTimepoint","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPreferenceCutoffPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getPreferencesSetBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposalDecision","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"getRawNavigator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getRawNavigatorAtTimepoint","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"getRemainingCapacity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReportInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"getStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getStakedAmountAtTimepoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getStatus","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"getTotalDelegated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getTotalDelegatedAtTimepoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"getTotalDelegatedCitizensAtTimepoint","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"getTotalSlashed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"hasSetDecision","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"hasSetPreferences","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"isDeactivated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"isDeactivatedAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"isDelegated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"isDelegatedAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"isExiting","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isNavigator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isRoundFeeUnlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isSlashedForRound","outputs":[{"internalType":"bool","name":"slashed","type":"bool"},{"internalType":"uint256","name":"infractionFlags","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"reduceBy","type":"uint256"}],"name":"reduceDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"reduceStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"metadataURI","type":"string"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"uint256[]","name":"proposalIds","type":"uint256[]"}],"name":"reportRoundInfractions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"percentages","type":"uint256[]"}],"name":"setAllocationPreferences","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPeriod","type":"uint256"}],"name":"setExitNoticePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPeriod","type":"uint256"}],"name":"setFeeLockPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPercentage","type":"uint256"}],"name":"setFeePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPercentage","type":"uint256"}],"name":"setMaxStakePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"uri","type":"string"}],"name":"setMetadataURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinStake","type":"uint256"}],"name":"setMinStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPercentage","type":"uint256"}],"name":"setMinorSlashPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPeriod","type":"uint256"}],"name":"setPreferenceCutoffPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"decision","type":"uint8"}],"name":"setProposalDecision","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setRelayerRewardsPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newInterval","type":"uint256"}],"name":"setReportInterval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setVoterRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setXAllocationVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"reportURI","type":"string"}],"name":"submitReport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"undelegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawStake","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"BASIS_POINTS()":"e1f1c4a7","GOVERNANCE_ROLE()":"f36c8f5c","UPGRADER_ROLE()":"f72c0d8b","addStake(uint256)":"eb4f16b5","announceExit()":"18ff7536","canAcceptDelegations(address)":"7b13bd4c","claimFee(uint256)":"f667526a","deactivateNavigator(address,uint256,bool)":"76880ddc","delegate(address,uint256)":"026e402b","depositNavigatorFee(address,uint256,uint256)":"41556405","exitAnnouncedRound(address)":"43028df4","getAllocationPreferences(address,uint256)":"f232dd60","getDelegatedAmount(address)":"073ea6ae","getDelegatedAmountAtTimepoint(address,uint256)":"c61c06e7","getDelegationCapacity(address)":"ab9d80f1","getExitNoticePeriod()":"0f5f9711","getFeeLockPeriod()":"3b103ee5","getFeePercentage()":"11efbf61","getLastReportRound(address)":"38ac29a4","getLastReportURI(address)":"32b20f34","getMaxStake()":"fe35505b","getMetadataURI(address)":"0fcc3081","getMinStake()":"56a3b5fa","getMinorSlashPercentage()":"c81bdf20","getNavigator(address)":"453929e0","getNavigatorAtTimepoint(address,uint256)":"18be49d9","getPreferenceCutoffPeriod()":"8e6bdcc5","getPreferencesSetBlock(address,uint256)":"cb5bfd70","getProposalDecision(address,uint256)":"38b3ce13","getRawNavigator(address)":"589444bb","getRawNavigatorAtTimepoint(address,uint256)":"f3a84655","getRemainingCapacity(address)":"9124ac48","getReportInterval()":"33d0e2e4","getRoundFee(address,uint256)":"b9c64fcd","getStake(address)":"7a766460","getStakedAmountAtTimepoint(address,uint256)":"253dbca4","getStatus(address)":"30ccebb5","getTotalDelegated(address)":"6fb7f7eb","getTotalDelegatedAtTimepoint(address,uint256)":"c7329cf7","getTotalDelegatedCitizensAtTimepoint(uint48)":"0a5515e3","getTotalSlashed(address)":"960efad9","hasSetDecision(address,uint256)":"2246f2db","hasSetPreferences(address,uint256)":"394f8454","increaseDelegation(uint256)":"dbd3aa8a","isDeactivated(address)":"a0d721b6","isDeactivatedAtTimepoint(address,uint256)":"53055e80","isDelegated(address)":"3e28391d","isDelegatedAtTimepoint(address,uint256)":"516bb8a3","isExiting(address)":"33cc7534","isNavigator(address)":"a624f5aa","isRoundFeeUnlocked(uint256)":"23b343cf","isSlashedForRound(address,uint256)":"89c192ba","reduceDelegation(uint256)":"e2d4c0d6","reduceStake(uint256)":"c3830618","register(uint256,string)":"a00fd3c8","reportRoundInfractions(address,uint256,uint256[])":"af00578f","setAllocationPreferences(uint256,bytes32[],uint256[])":"183b44f1","setExitNoticePeriod(uint256)":"5e27c95c","setFeeLockPeriod(uint256)":"74c0e768","setFeePercentage(uint256)":"ae06c1b7","setMaxStakePercentage(uint256)":"1598c511","setMetadataURI(string)":"750521f5","setMinStake(uint256)":"8c80fd90","setMinorSlashPercentage(uint256)":"7b3d0cb5","setPreferenceCutoffPeriod(uint256)":"f8af3bf5","setProposalDecision(uint256,uint8)":"09e07b03","setRelayerRewardsPool(address)":"0dd8614c","setReportInterval(uint256)":"81ec292f","setVoterRewards(address)":"7a4cce6d","setXAllocationVoting(address)":"3d47fe94","submitReport(string)":"635ac1ed","undelegate()":"92ab89bb","version()":"54fd4d50","withdrawStake(uint256)":"25d5971f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"AlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currentNavigator\",\"type\":\"address\"}],\"name\":\"AlreadyDelegated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"AlreadyExiting\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"AlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"AlreadySlashed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"}],\"name\":\"BelowMinimumDelegation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"DecisionAlreadySet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"DecisionNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currentNavigator\",\"type\":\"address\"}],\"name\":\"DelegatorCannotRegister\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"DuplicateApp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EmptyPreferences\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"available\",\"type\":\"uint256\"}],\"name\":\"ExceedsNavigatorCapacity\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"FeesForfeited\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unlockRound\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentRound\",\"type\":\"uint256\"}],\"name\":\"FeesStillLocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"available\",\"type\":\"uint256\"}],\"name\":\"InsufficientDelegation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"available\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"}],\"name\":\"InsufficientStake\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"available\",\"type\":\"uint256\"}],\"name\":\"InsufficientUnlockedBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"decision\",\"type\":\"uint8\"}],\"name\":\"InvalidDecision\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"InvalidParameter\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"appsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"percentagesLength\",\"type\":\"uint256\"}],\"name\":\"LengthMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"NavigatorCannotAcceptDelegations\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"NavigatorDeactivated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"NavigatorStillActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"NoFeesToClaim\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"NoInfractionFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"NoStakeToSlash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"NotANavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"NotExiting\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"NotRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currentRound\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredRound\",\"type\":\"uint256\"}],\"name\":\"NoticePeriodNotElapsed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"total\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"PercentageMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"PreferencesAlreadySet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"PreferencesNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"RoundStillActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"SelfDelegationNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"slashPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"SlashExceedsMax\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"}],\"name\":\"StakeBelowMinimum\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maximum\",\"type\":\"uint256\"}],\"name\":\"StakeExceedsMaximum\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"TooManyApps\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"UnauthorizedCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"param\",\"type\":\"string\"}],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroDelegationAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroPercentage\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"}],\"name\":\"AllocationPreferencesSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DelegationCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"removedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newTotal\",\"type\":\"uint256\"}],\"name\":\"DelegationDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"addedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newTotal\",\"type\":\"uint256\"}],\"name\":\"DelegationIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DelegationRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"announcedAtRound\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"effectiveDeadline\",\"type\":\"uint256\"}],\"name\":\"ExitAnnounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FeeClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FeeDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newURI\",\"type\":\"string\"}],\"name\":\"MetadataURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashPercentage\",\"type\":\"uint256\"}],\"name\":\"NavigatorDeactivatedEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remainingStake\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"infractionFlags\",\"type\":\"uint256\"}],\"name\":\"NavigatorMinorSlashed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stakeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"name\":\"NavigatorRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remainingStake\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"NavigatorSlashed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"decision\",\"type\":\"uint8\"}],\"name\":\"ProposalDecisionSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reportURI\",\"type\":\"string\"}],\"name\":\"ReportSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newTotal\",\"type\":\"uint256\"}],\"name\":\"StakeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASIS_POINTS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOVERNANCE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"announceExit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"canAcceptDelegations\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"claimFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"slashPercentage\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"slashFees\",\"type\":\"bool\"}],\"name\":\"deactivateNavigator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositNavigatorFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"exitAnnouncedRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAllocationPreferences\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"percentages\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"getDelegatedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDelegatedAmountAtTimepoint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"getDelegationCapacity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExitNoticePeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeLockPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeePercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"getLastReportRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"getLastReportURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"getMetadataURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinorSlashPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"getNavigator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getNavigatorAtTimepoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPreferenceCutoffPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getPreferencesSetBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalDecision\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"getRawNavigator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getRawNavigatorAtTimepoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"getRemainingCapacity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReportInterval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"getStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getStakedAmountAtTimepoint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getStatus\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"getTotalDelegated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getTotalDelegatedAtTimepoint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"getTotalDelegatedCitizensAtTimepoint\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"getTotalSlashed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"hasSetDecision\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"hasSetPreferences\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"increaseDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"isDeactivated\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"isDeactivatedAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"isDelegated\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"isDelegatedAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"isExiting\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isNavigator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isRoundFeeUnlocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isSlashedForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"slashed\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"infractionFlags\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"reduceBy\",\"type\":\"uint256\"}],\"name\":\"reduceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"reduceStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"name\":\"register\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"proposalIds\",\"type\":\"uint256[]\"}],\"name\":\"reportRoundInfractions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"percentages\",\"type\":\"uint256[]\"}],\"name\":\"setAllocationPreferences\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPeriod\",\"type\":\"uint256\"}],\"name\":\"setExitNoticePeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPeriod\",\"type\":\"uint256\"}],\"name\":\"setFeeLockPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPercentage\",\"type\":\"uint256\"}],\"name\":\"setFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPercentage\",\"type\":\"uint256\"}],\"name\":\"setMaxStakePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"setMetadataURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newMinStake\",\"type\":\"uint256\"}],\"name\":\"setMinStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPercentage\",\"type\":\"uint256\"}],\"name\":\"setMinorSlashPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPeriod\",\"type\":\"uint256\"}],\"name\":\"setPreferenceCutoffPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"decision\",\"type\":\"uint8\"}],\"name\":\"setProposalDecision\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"setRelayerRewardsPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newInterval\",\"type\":\"uint256\"}],\"name\":\"setReportInterval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"setVoterRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"setXAllocationVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reportURI\",\"type\":\"string\"}],\"name\":\"submitReport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"undelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AllocationPreferencesSet(address,uint256,bytes32[])\":{\"params\":{\"appIds\":\"The app IDs selected\",\"navigator\":\"The navigator address\",\"roundId\":\"The allocation round ID\"}},\"DelegationCreated(address,address,uint256)\":{\"params\":{\"amount\":\"The VOT3 amount delegated\",\"citizen\":\"The delegating citizen address\",\"navigator\":\"The navigator receiving the delegation\"}},\"DelegationDecreased(address,address,uint256,uint256)\":{\"params\":{\"citizen\":\"The citizen address\",\"navigator\":\"The navigator address\",\"newTotal\":\"The new total delegation amount\",\"removedAmount\":\"The VOT3 amount removed\"}},\"DelegationIncreased(address,address,uint256,uint256)\":{\"params\":{\"addedAmount\":\"The additional VOT3 delegated\",\"citizen\":\"The citizen address\",\"navigator\":\"The navigator address\",\"newTotal\":\"The new total delegation amount\"}},\"DelegationRemoved(address,address,uint256)\":{\"params\":{\"amount\":\"The VOT3 amount that was delegated\",\"citizen\":\"The citizen address\",\"navigator\":\"The navigator address\"}},\"ExitAnnounced(address,uint256,uint256)\":{\"params\":{\"announcedAtRound\":\"The round when exit was announced\",\"effectiveDeadline\":\"The block number when the navigator becomes dead\",\"navigator\":\"The navigator address\"}},\"FeeClaimed(address,uint256,uint256)\":{\"params\":{\"amount\":\"The B3TR amount claimed\",\"navigator\":\"The navigator address\",\"roundId\":\"The round claimed for\"}},\"FeeDeposited(address,uint256,uint256)\":{\"params\":{\"amount\":\"The B3TR fee amount\",\"navigator\":\"The navigator address\",\"roundId\":\"The round the fee was earned in\"}},\"MetadataURIUpdated(address,string)\":{\"params\":{\"navigator\":\"The navigator address\",\"newURI\":\"The new metadata URI\"}},\"NavigatorDeactivatedEvent(address,uint256)\":{\"params\":{\"navigator\":\"The navigator address\",\"slashPercentage\":\"The slash percentage applied (basis points)\"}},\"NavigatorMinorSlashed(address,uint256,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The B3TR amount slashed\",\"infractionFlags\":\"Bitmask of infractions found in the round\",\"navigator\":\"The navigator address\",\"remainingStake\":\"The stake remaining after slash\",\"roundId\":\"The round ID associated with the slash\"}},\"NavigatorRegistered(address,uint256,string)\":{\"params\":{\"metadataURI\":\"The navigator's metadata URI\",\"navigator\":\"The navigator address\",\"stakeAmount\":\"The B3TR amount staked\"}},\"NavigatorSlashed(address,uint256,uint256,string)\":{\"params\":{\"amount\":\"The B3TR amount slashed\",\"navigator\":\"The navigator address\",\"reason\":\"The slash reason string\",\"remainingStake\":\"The stake remaining after slash\"}},\"ProposalDecisionSet(address,uint256,uint8)\":{\"params\":{\"decision\":\"The vote decision (1=Against, 2=For, 3=Abstain)\",\"navigator\":\"The navigator address\",\"proposalId\":\"The proposal ID\"}},\"ReportSubmitted(address,uint256,string)\":{\"params\":{\"navigator\":\"The navigator address\",\"reportURI\":\"The report metadata URI\",\"roundId\":\"The round the report covers\"}},\"StakeAdded(address,uint256,uint256)\":{\"params\":{\"amount\":\"The additional B3TR staked\",\"navigator\":\"The navigator address\",\"newTotal\":\"The new total stake\"}},\"StakeWithdrawn(address,uint256,uint256)\":{\"params\":{\"amount\":\"The B3TR amount withdrawn\",\"navigator\":\"The navigator address\",\"remaining\":\"The remaining stake\"}}},\"kind\":\"dev\",\"methods\":{\"BASIS_POINTS()\":{\"returns\":{\"_0\":\"The basis points scale\"}},\"GOVERNANCE_ROLE()\":{\"returns\":{\"_0\":\"The role bytes32 hash\"}},\"UPGRADER_ROLE()\":{\"returns\":{\"_0\":\"The role bytes32 hash\"}},\"addStake(uint256)\":{\"params\":{\"amount\":\"The additional B3TR to stake\"}},\"canAcceptDelegations(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"True if the navigator is active, above min stake, and not exiting\"}},\"claimFee(uint256)\":{\"params\":{\"roundId\":\"The round to claim fees for\"}},\"deactivateNavigator(address,uint256,bool)\":{\"params\":{\"navigator\":\"The navigator address\",\"slashFees\":\"Whether to also forfeit all unclaimed locked fees\",\"slashPercentage\":\"Percentage of stake to slash (basis points)\"}},\"delegate(address,uint256)\":{\"params\":{\"amount\":\"The VOT3 amount to delegate\",\"navigator\":\"The navigator to delegate to\"}},\"depositNavigatorFee(address,uint256,uint256)\":{\"params\":{\"amount\":\"The B3TR fee amount\",\"navigator\":\"The navigator to receive the fee\",\"roundId\":\"The round the fee was earned in\"}},\"exitAnnouncedRound(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"The exit-announced round ID (0 if not exiting)\"}},\"getAllocationPreferences(address,uint256)\":{\"params\":{\"navigator\":\"The navigator address\",\"roundId\":\"The allocation round ID\"},\"returns\":{\"appIds\":\"The app IDs selected\",\"percentages\":\"The allocation percentages per app (basis points)\"}},\"getDelegatedAmount(address)\":{\"params\":{\"citizen\":\"The citizen address\"},\"returns\":{\"_0\":\"The delegated VOT3 amount (0 if not delegated or delegation is void)\"}},\"getDelegatedAmountAtTimepoint(address,uint256)\":{\"params\":{\"citizen\":\"The citizen address\",\"timepoint\":\"The block number to query\"},\"returns\":{\"_0\":\"The delegated VOT3 amount at the given block\"}},\"getDelegationCapacity(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"The maximum delegation capacity (stake * 10)\"}},\"getExitNoticePeriod()\":{\"returns\":{\"_0\":\"The notice period\"}},\"getFeeLockPeriod()\":{\"returns\":{\"_0\":\"The fee lock period\"}},\"getFeePercentage()\":{\"returns\":{\"_0\":\"The fee percentage\"}},\"getLastReportRound(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"The round ID of the last report\"}},\"getLastReportURI(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"The report URI string\"}},\"getMaxStake()\":{\"returns\":{\"_0\":\"The maximum stake amount\"}},\"getMetadataURI(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"The metadata URI string\"}},\"getMinStake()\":{\"returns\":{\"_0\":\"The minimum stake amount\"}},\"getMinorSlashPercentage()\":{\"returns\":{\"_0\":\"The minor slash percentage\"}},\"getNavigator(address)\":{\"params\":{\"citizen\":\"The citizen address\"},\"returns\":{\"_0\":\"The navigator address (address(0) if not delegated or delegation is void)\"}},\"getNavigatorAtTimepoint(address,uint256)\":{\"details\":\"Does NOT apply dead-navigator invalidation \\u2014 callers decide.\",\"params\":{\"citizen\":\"The citizen address\",\"timepoint\":\"The block number to query\"},\"returns\":{\"_0\":\"The navigator address at the given block (address(0) if not delegated)\"}},\"getPreferenceCutoffPeriod()\":{\"returns\":{\"_0\":\"The cutoff period in blocks\"}},\"getPreferencesSetBlock(address,uint256)\":{\"params\":{\"navigator\":\"The navigator address\",\"roundId\":\"The allocation round ID\"},\"returns\":{\"_0\":\"The block number (0 if not set)\"}},\"getProposalDecision(address,uint256)\":{\"params\":{\"navigator\":\"The navigator address\",\"proposalId\":\"The proposal ID\"},\"returns\":{\"_0\":\"The vote decision (1=Against, 2=For, 3=Abstain)\"}},\"getRawNavigator(address)\":{\"params\":{\"citizen\":\"The citizen address\"},\"returns\":{\"_0\":\"The raw navigator address, or address(0) if never delegated or undelegated\"}},\"getRawNavigatorAtTimepoint(address,uint256)\":{\"details\":\"Useful for frontends to show delegation state even when navigator is dead/exiting.\",\"params\":{\"citizen\":\"The citizen address\",\"timepoint\":\"The block number to query\"},\"returns\":{\"_0\":\"The raw navigator address from checkpoint, or address(0) if never delegated or undelegated\"}},\"getRemainingCapacity(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"The remaining capacity (0 if at or over capacity)\"}},\"getReportInterval()\":{\"returns\":{\"_0\":\"The report interval\"}},\"getRoundFee(address,uint256)\":{\"params\":{\"navigator\":\"The navigator address\",\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"The B3TR fee amount\"}},\"getStake(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"The staked B3TR amount\"}},\"getStakedAmountAtTimepoint(address,uint256)\":{\"details\":\"Used by VotesUtils and GovernorVotesLogic to include staked amount in voting power. Returns 0 for non-navigators (no checkpoints).\",\"params\":{\"navigator\":\"The navigator address\",\"timepoint\":\"The block number to query\"},\"returns\":{\"_0\":\"The staked amount at the given block\"}},\"getStatus(address)\":{\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"0=NONE, 1=ACTIVE, 2=EXITING, 3=DEACTIVATED\"}},\"getTotalDelegated(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"The total delegated VOT3 amount\"}},\"getTotalDelegatedAtTimepoint(address,uint256)\":{\"params\":{\"navigator\":\"The navigator address\",\"timepoint\":\"The block number to query\"},\"returns\":{\"_0\":\"The total VOT3 delegated at that block\"}},\"getTotalDelegatedCitizensAtTimepoint(uint48)\":{\"params\":{\"timepoint\":\"The block number to query\"},\"returns\":{\"_0\":\"The total delegated citizens at the given block\"}},\"getTotalSlashed(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"The total B3TR amount slashed\"}},\"hasSetDecision(address,uint256)\":{\"params\":{\"navigator\":\"The navigator address\",\"proposalId\":\"The proposal ID\"},\"returns\":{\"_0\":\"True if a decision has been set\"}},\"hasSetPreferences(address,uint256)\":{\"params\":{\"navigator\":\"The navigator address\",\"roundId\":\"The allocation round ID\"},\"returns\":{\"_0\":\"True if preferences have been set\"}},\"increaseDelegation(uint256)\":{\"params\":{\"amount\":\"The additional VOT3 to delegate\"}},\"isDeactivated(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"True if deactivated\"}},\"isDeactivatedAtTimepoint(address,uint256)\":{\"details\":\"Uses checkpointed navigatorDeactivated mapping.\",\"params\":{\"navigator\":\"The navigator address\",\"timepoint\":\"The block number to query\"},\"returns\":{\"_0\":\"True if the navigator was dead at the given timepoint\"}},\"isDelegated(address)\":{\"params\":{\"citizen\":\"The citizen address\"},\"returns\":{\"_0\":\"True if delegated to an active navigator\"}},\"isDelegatedAtTimepoint(address,uint256)\":{\"details\":\"Does NOT apply dead-navigator invalidation \\u2014 callers decide.\",\"params\":{\"citizen\":\"The citizen address\",\"timepoint\":\"The block number to query\"},\"returns\":{\"_0\":\"True if the citizen had a navigator at the given block\"}},\"isExiting(address)\":{\"params\":{\"navigator\":\"The navigator address\"},\"returns\":{\"_0\":\"True if the navigator has announced exit\"}},\"isNavigator(address)\":{\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"True if the account is a registered, non-deactivated navigator\"}},\"isRoundFeeUnlocked(uint256)\":{\"params\":{\"roundId\":\"The round to check\"},\"returns\":{\"_0\":\"True if the round's fees are claimable\"}},\"isSlashedForRound(address,uint256)\":{\"params\":{\"navigator\":\"The navigator address\",\"roundId\":\"The round ID\"},\"returns\":{\"infractionFlags\":\"Bitmask of infractions found when slashed\",\"slashed\":\"True if slashed for this round\"}},\"reduceDelegation(uint256)\":{\"params\":{\"reduceBy\":\"The VOT3 amount to reduce delegation by\"}},\"reduceStake(uint256)\":{\"params\":{\"amount\":\"The B3TR amount to reduce\"}},\"register(uint256,string)\":{\"params\":{\"amount\":\"The B3TR amount to stake (must meet minimum)\",\"metadataURI\":\"The navigator's metadata URI\"}},\"reportRoundInfractions(address,uint256,uint256[])\":{\"params\":{\"navigator\":\"The navigator address\",\"proposalIds\":\"Proposal IDs that were active in the round\",\"roundId\":\"The completed round to report\"}},\"setAllocationPreferences(uint256,bytes32[],uint256[])\":{\"params\":{\"appIds\":\"Array of app IDs to vote for\",\"percentages\":\"Allocation percentage per app in basis points (must sum to 10000)\",\"roundId\":\"The allocation round ID\"}},\"setExitNoticePeriod(uint256)\":{\"params\":{\"newPeriod\":\"The new notice period (in rounds)\"}},\"setFeeLockPeriod(uint256)\":{\"params\":{\"newPeriod\":\"The new fee lock period (in rounds)\"}},\"setFeePercentage(uint256)\":{\"params\":{\"newPercentage\":\"The new fee percentage (basis points)\"}},\"setMaxStakePercentage(uint256)\":{\"params\":{\"newPercentage\":\"The new max stake percentage (basis points)\"}},\"setMetadataURI(string)\":{\"params\":{\"uri\":\"The new metadata URI\"}},\"setMinStake(uint256)\":{\"params\":{\"newMinStake\":\"The new minimum stake\"}},\"setMinorSlashPercentage(uint256)\":{\"params\":{\"newPercentage\":\"The new minor slash percentage (basis points)\"}},\"setPreferenceCutoffPeriod(uint256)\":{\"params\":{\"newPeriod\":\"The new cutoff period (in blocks)\"}},\"setProposalDecision(uint256,uint8)\":{\"params\":{\"decision\":\"The vote decision (1=Against, 2=For, 3=Abstain)\",\"proposalId\":\"The governance proposal ID\"}},\"setRelayerRewardsPool(address)\":{\"params\":{\"newAddress\":\"The new RelayerRewardsPool address\"}},\"setReportInterval(uint256)\":{\"params\":{\"newInterval\":\"The new report interval (in rounds)\"}},\"setVoterRewards(address)\":{\"params\":{\"newAddress\":\"The new VoterRewards address\"}},\"setXAllocationVoting(address)\":{\"params\":{\"newAddress\":\"The new XAllocationVoting address\"}},\"submitReport(string)\":{\"params\":{\"reportURI\":\"The report metadata URI\"}},\"version()\":{\"returns\":{\"_0\":\"The version string\"}},\"withdrawStake(uint256)\":{\"params\":{\"amount\":\"The B3TR amount to withdraw\"}}},\"title\":\"INavigatorRegistry\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyDeactivated(address)\":[{\"notice\":\"Thrown when navigator is already deactivated\"}],\"AlreadyDelegated(address,address)\":[{\"notice\":\"Thrown when citizen is already delegated to a navigator\"}],\"AlreadyExiting(address)\":[{\"notice\":\"Thrown when navigator has already announced exit\"}],\"AlreadyRegistered(address)\":[{\"notice\":\"Thrown when caller is already a registered navigator\"}],\"AlreadySlashed(address,uint256)\":[{\"notice\":\"Thrown when navigator has already been slashed for this round\"}],\"BelowMinimumDelegation(uint256,uint256)\":[{\"notice\":\"Thrown when delegation is below 1 VOT3 or a partial reduction would leave a sub-minimum positive balance\"}],\"DecisionAlreadySet(address,uint256)\":[{\"notice\":\"Thrown when decision already set for this proposal\"}],\"DecisionNotSet(address,uint256)\":[{\"notice\":\"Thrown when querying a decision that hasn't been set\"}],\"DelegatorCannotRegister(address,address)\":[{\"notice\":\"Thrown when caller is currently delegating to a navigator\"}],\"DuplicateApp(bytes32)\":[{\"notice\":\"Thrown when a duplicate app ID is found in preferences\"}],\"EmptyPreferences()\":[{\"notice\":\"Thrown when allocation preferences array is empty\"}],\"ExceedsNavigatorCapacity(address,uint256,uint256)\":[{\"notice\":\"Thrown when delegation would exceed navigator's capacity\"}],\"FeesForfeited(address)\":[{\"notice\":\"Thrown when navigator's fees have been forfeited via major slash\"}],\"FeesStillLocked(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when trying to claim fees that are still locked\"}],\"InsufficientDelegation(uint256,uint256)\":[{\"notice\":\"Thrown when trying to reduce more than the delegated amount\"}],\"InsufficientStake(uint256,uint256)\":[{\"notice\":\"Thrown when trying to withdraw more stake than available\"}],\"InsufficientUnlockedBalance(address,uint256,uint256)\":[{\"notice\":\"Thrown when delegation would exceed the citizen's unlocked VOT3 balance\"}],\"InvalidDecision(uint8)\":[{\"notice\":\"Thrown when governance decision value is invalid\"}],\"InvalidParameter(string)\":[{\"notice\":\"Thrown when a parameter value is invalid\"}],\"LengthMismatch(uint256,uint256)\":[{\"notice\":\"Thrown when appIds and percentages arrays have different lengths\"}],\"NavigatorCannotAcceptDelegations(address)\":[{\"notice\":\"Thrown when navigator cannot accept new delegations\"}],\"NavigatorDeactivated(address)\":[{\"notice\":\"Thrown when navigator is deactivated\"}],\"NavigatorStillActive(address)\":[{\"notice\":\"Thrown when navigator is still active and must exit first\"}],\"NoFeesToClaim(address,uint256)\":[{\"notice\":\"Thrown when there are no fees to claim for the round\"}],\"NoInfractionFound(address,uint256)\":[{\"notice\":\"Thrown when no infraction was found for this round (report is invalid)\"}],\"NoStakeToSlash(address)\":[{\"notice\":\"Thrown when navigator has no stake to slash\"}],\"NotANavigator(address)\":[{\"notice\":\"Thrown when target address is not a registered navigator\"}],\"NotDelegated(address)\":[{\"notice\":\"Thrown when citizen is not delegated to any navigator\"}],\"NotExiting(address)\":[{\"notice\":\"Thrown when navigator has not announced exit\"}],\"NotRegistered(address)\":[{\"notice\":\"Thrown when caller is not a registered navigator\"}],\"NoticePeriodNotElapsed(uint256,uint256)\":[{\"notice\":\"Thrown when notice period has not elapsed\"}],\"PercentageMismatch(uint256,uint256)\":[{\"notice\":\"Thrown when allocation percentages don't sum to BASIS_POINTS\"}],\"PreferencesAlreadySet(address,uint256)\":[{\"notice\":\"Thrown when preferences already set for this round\"}],\"PreferencesNotSet(address,uint256)\":[{\"notice\":\"Thrown when querying preferences that haven't been set\"}],\"RoundStillActive(uint256)\":[{\"notice\":\"Thrown when a report is attempted while the round is still active\"}],\"SelfDelegationNotAllowed(address)\":[{\"notice\":\"Thrown when a navigator tries to delegate to themselves\"}],\"SlashExceedsMax(uint256,uint256)\":[{\"notice\":\"Thrown when slash percentage exceeds maximum\"}],\"StakeBelowMinimum(uint256,uint256)\":[{\"notice\":\"Thrown when stake is below minimum\"}],\"StakeExceedsMaximum(uint256,uint256)\":[{\"notice\":\"Thrown when stake exceeds maximum (percentage of VOT3 supply)\"}],\"TooManyApps(uint256)\":[{\"notice\":\"Thrown when too many apps in preferences\"}],\"UnauthorizedCaller(address)\":[{\"notice\":\"Thrown when caller is not authorized\"}],\"ZeroAddress(string)\":[{\"notice\":\"Thrown when a zero address is provided for a required parameter\"}],\"ZeroDelegationAmount()\":[{\"notice\":\"Thrown when delegation amount is zero\"}],\"ZeroPercentage()\":[{\"notice\":\"Thrown when a percentage value is zero\"}]},\"events\":{\"AllocationPreferencesSet(address,uint256,bytes32[])\":{\"notice\":\"Emitted when a navigator sets allocation preferences for a round\"},\"DelegationCreated(address,address,uint256)\":{\"notice\":\"Emitted when a citizen delegates VOT3 to a navigator for the first time\"},\"DelegationDecreased(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a citizen reduces their delegation (but doesn't fully remove)\"},\"DelegationIncreased(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a citizen increases their existing delegation\"},\"DelegationRemoved(address,address,uint256)\":{\"notice\":\"Emitted when a citizen fully undelegates from a navigator\"},\"ExitAnnounced(address,uint256,uint256)\":{\"notice\":\"Emitted when a navigator announces their intent to exit\"},\"FeeClaimed(address,uint256,uint256)\":{\"notice\":\"Emitted when a navigator claims their unlocked fees\"},\"FeeDeposited(address,uint256,uint256)\":{\"notice\":\"Emitted when fees are deposited for a navigator\"},\"MetadataURIUpdated(address,string)\":{\"notice\":\"Emitted when a navigator updates their metadata URI\"},\"NavigatorDeactivatedEvent(address,uint256)\":{\"notice\":\"Emitted when a navigator is deactivated by governance\"},\"NavigatorMinorSlashed(address,uint256,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a navigator is slashed for minor infractions in a round\"},\"NavigatorRegistered(address,uint256,string)\":{\"notice\":\"Emitted when a navigator registers by staking B3TR\"},\"NavigatorSlashed(address,uint256,uint256,string)\":{\"notice\":\"Emitted when a navigator is slashed by governance (major infraction)\"},\"ProposalDecisionSet(address,uint256,uint8)\":{\"notice\":\"Emitted when a navigator sets a governance proposal decision\"},\"ReportSubmitted(address,uint256,string)\":{\"notice\":\"Emitted when a navigator submits a periodic report\"},\"StakeAdded(address,uint256,uint256)\":{\"notice\":\"Emitted when a navigator adds to their stake\"},\"StakeWithdrawn(address,uint256,uint256)\":{\"notice\":\"Emitted when a navigator withdraws stake after exit\"}},\"kind\":\"user\",\"methods\":{\"BASIS_POINTS()\":{\"notice\":\"Get the BASIS_POINTS constant (10000)\"},\"GOVERNANCE_ROLE()\":{\"notice\":\"Get the GOVERNANCE_ROLE identifier\"},\"UPGRADER_ROLE()\":{\"notice\":\"Get the UPGRADER_ROLE identifier\"},\"addStake(uint256)\":{\"notice\":\"Add more B3TR to an existing navigator's stake\"},\"announceExit()\":{\"notice\":\"Announce intent to exit as a navigator, starting the notice period\"},\"canAcceptDelegations(address)\":{\"notice\":\"Check if a navigator can accept new delegations\"},\"claimFee(uint256)\":{\"notice\":\"Claim unlocked fees for a specific round\"},\"deactivateNavigator(address,uint256,bool)\":{\"notice\":\"Deactivate a navigator by governance decision with optional slashing\"},\"delegate(address,uint256)\":{\"notice\":\"Delegate VOT3 to a navigator (first-time only)\"},\"depositNavigatorFee(address,uint256,uint256)\":{\"notice\":\"Deposit a fee for a navigator in a specific round\"},\"exitAnnouncedRound(address)\":{\"notice\":\"Get the round when exit was announced (0 = not exiting)\"},\"getAllocationPreferences(address,uint256)\":{\"notice\":\"Get allocation preferences for a navigator in a round\"},\"getDelegatedAmount(address)\":{\"notice\":\"Get the current VOT3 amount a citizen has delegated\"},\"getDelegatedAmountAtTimepoint(address,uint256)\":{\"notice\":\"Get the delegated amount at a past block (for snapshot-based voting power)\"},\"getDelegationCapacity(address)\":{\"notice\":\"Get the maximum VOT3 that can be delegated to a navigator\"},\"getExitNoticePeriod()\":{\"notice\":\"Get the exit notice period (in rounds)\"},\"getFeeLockPeriod()\":{\"notice\":\"Get the fee lock period (number of rounds)\"},\"getFeePercentage()\":{\"notice\":\"Get the navigator fee percentage in basis points\"},\"getLastReportRound(address)\":{\"notice\":\"Get the round of the navigator's last report submission\"},\"getLastReportURI(address)\":{\"notice\":\"Get the navigator's last report URI\"},\"getMaxStake()\":{\"notice\":\"Get the current maximum stake allowed (based on VOT3 supply)\"},\"getMetadataURI(address)\":{\"notice\":\"Get the navigator's metadata URI\"},\"getMinStake()\":{\"notice\":\"Get the minimum B3TR stake required to register\"},\"getMinorSlashPercentage()\":{\"notice\":\"Get the minor slash percentage in basis points\"},\"getNavigator(address)\":{\"notice\":\"Get the navigator a citizen is delegated to\"},\"getNavigatorAtTimepoint(address,uint256)\":{\"notice\":\"Get the navigator a citizen was delegated to at a past block (checkpointed)\"},\"getPreferenceCutoffPeriod()\":{\"notice\":\"Get the preference cutoff period (in blocks before round end)\"},\"getPreferencesSetBlock(address,uint256)\":{\"notice\":\"Get the block number when preferences were set\"},\"getProposalDecision(address,uint256)\":{\"notice\":\"Get a navigator's decision for a governance proposal\"},\"getRawNavigator(address)\":{\"notice\":\"Get the raw navigator stored for a citizen, ignoring dead-navigator status\"},\"getRawNavigatorAtTimepoint(address,uint256)\":{\"notice\":\"Get the raw navigator stored for a citizen at a past block (checkpointed)\"},\"getRemainingCapacity(address)\":{\"notice\":\"Get the remaining delegation capacity for a navigator\"},\"getReportInterval()\":{\"notice\":\"Get the report submission interval (in rounds)\"},\"getRoundFee(address,uint256)\":{\"notice\":\"Get the fee amount for a navigator in a specific round\"},\"getStake(address)\":{\"notice\":\"Get the staked B3TR amount for a navigator\"},\"getStakedAmountAtTimepoint(address,uint256)\":{\"notice\":\"Get the staked amount for a navigator at a past block (checkpointed)\"},\"getStatus(address)\":{\"notice\":\"Get the current lifecycle status of a navigator\"},\"getTotalDelegated(address)\":{\"notice\":\"Get the total VOT3 delegated to a navigator\"},\"getTotalDelegatedAtTimepoint(address,uint256)\":{\"notice\":\"Get total VOT3 delegated to a navigator at a past block\"},\"getTotalDelegatedCitizensAtTimepoint(uint48)\":{\"notice\":\"Get total delegated citizens at a past block\"},\"getTotalSlashed(address)\":{\"notice\":\"Get the total amount slashed from a navigator over their lifetime\"},\"hasSetDecision(address,uint256)\":{\"notice\":\"Check if a navigator has set a decision for a proposal\"},\"hasSetPreferences(address,uint256)\":{\"notice\":\"Check if a navigator has set preferences for a round\"},\"increaseDelegation(uint256)\":{\"notice\":\"Increase delegation to the current navigator\"},\"isDeactivated(address)\":{\"notice\":\"Check if a navigator has been deactivated\"},\"isDeactivatedAtTimepoint(address,uint256)\":{\"notice\":\"Check if a navigator was deactivated (exited or governance-deactivated) at a given timepoint\"},\"isDelegated(address)\":{\"notice\":\"Check if a citizen has an active delegation\"},\"isDelegatedAtTimepoint(address,uint256)\":{\"notice\":\"Check if a citizen was delegated at a past block (checkpointed)\"},\"isExiting(address)\":{\"notice\":\"Check if a navigator is in the exit process\"},\"isNavigator(address)\":{\"notice\":\"Check if an address is a registered and active navigator\"},\"isRoundFeeUnlocked(uint256)\":{\"notice\":\"Check if fees for a round are unlocked\"},\"isSlashedForRound(address,uint256)\":{\"notice\":\"Check if a navigator was already slashed for a round\"},\"reduceDelegation(uint256)\":{\"notice\":\"Partially reduce delegation amount\"},\"reduceStake(uint256)\":{\"notice\":\"Reduce stake while active (must stay above min stake and maintain delegation capacity)\"},\"register(uint256,string)\":{\"notice\":\"Register as a navigator by staking B3TR\"},\"reportRoundInfractions(address,uint256,uint256[])\":{\"notice\":\"Report a navigator for minor infractions in a completed round\"},\"setAllocationPreferences(uint256,bytes32[],uint256[])\":{\"notice\":\"Set allocation voting preferences for a round\"},\"setExitNoticePeriod(uint256)\":{\"notice\":\"Set the exit notice period navigators must remain active after announcing exit\"},\"setFeeLockPeriod(uint256)\":{\"notice\":\"Set the number of rounds fees are locked before claiming\"},\"setFeePercentage(uint256)\":{\"notice\":\"Set the navigator fee percentage deducted from citizen rewards\"},\"setMaxStakePercentage(uint256)\":{\"notice\":\"Set the maximum stake as a percentage of VOT3 total supply\"},\"setMetadataURI(string)\":{\"notice\":\"Update the navigator's metadata URI\"},\"setMinStake(uint256)\":{\"notice\":\"Set the minimum B3TR stake required to register as a navigator\"},\"setMinorSlashPercentage(uint256)\":{\"notice\":\"Set the percentage of stake slashed for minor infractions\"},\"setPreferenceCutoffPeriod(uint256)\":{\"notice\":\"Set the cutoff period before round end for setting preferences\"},\"setProposalDecision(uint256,uint8)\":{\"notice\":\"Set a governance proposal voting decision\"},\"setRelayerRewardsPool(address)\":{\"notice\":\"Set the RelayerRewardsPool contract address\"},\"setReportInterval(uint256)\":{\"notice\":\"Set the interval at which navigators must submit reports\"},\"setVoterRewards(address)\":{\"notice\":\"Set the VoterRewards contract address\"},\"setXAllocationVoting(address)\":{\"notice\":\"Set the XAllocationVoting contract address\"},\"submitReport(string)\":{\"notice\":\"Submit a periodic report for the current round\"},\"undelegate()\":{\"notice\":\"Fully undelegate from the current navigator\"},\"version()\":{\"notice\":\"Get the contract version string\"},\"withdrawStake(uint256)\":{\"notice\":\"Withdraw staked B3TR (only after exit is finalized or deactivation)\"}},\"notice\":\"Interface for the NavigatorRegistry contract. Navigators are professional voting delegates who stake B3TR to vote on behalf of citizens.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/INavigatorRegistry.sol\":\"INavigatorRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]}},\"version\":1}"}},"contracts/interfaces/IRelayerRewardsPool.sol":{"IRelayerRewardsPool":{"abi":[{"inputs":[{"internalType":"string","name":"parameter","type":"string"}],"name":"InvalidParameter","type":"error"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"NoRewardsToClaim","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"preferredRelayer","type":"address"}],"name":"NotPreferredRelayer","type":"error"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"}],"name":"RelayerAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"}],"name":"RelayerNotRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"RewardsAlreadyClaimed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"RoundNotEnded","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"relayer","type":"address"}],"name":"UnauthorizedUnregister","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"UserActionAlreadyReduced","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"UserGovernanceVoteAlreadyReduced","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"B3TRAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newWeight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldWeight","type":"uint256"}],"name":"ClaimWeightUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newBlocks","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldBlocks","type":"uint256"}],"name":"EarlyAccessBlocksUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"EmissionsAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"actionsReduced","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalActions","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalWeightedActions","type":"uint256"}],"name":"ExpectedActionsReduced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldFee","type":"uint256"}],"name":"FeeCapUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"relayer","type":"address"}],"name":"PreferredRelayerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"relayer","type":"address"},{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"actionCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"}],"name":"RelayerActionRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDenominator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldDenominator","type":"uint256"}],"name":"RelayerFeeDenominatorUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldFee","type":"uint256"}],"name":"RelayerFeePercentageUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"relayer","type":"address"}],"name":"RelayerRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"relayer","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RelayerRewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"relayer","type":"address"}],"name":"RelayerUnregistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalRewards","type":"uint256"}],"name":"RewardsDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalAutoVoteUsers","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalActions","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalWeightedActions","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"numRelayers","type":"uint256"}],"name":"TotalAutoVotingActionsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newWeight","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldWeight","type":"uint256"}],"name":"VoteWeightUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"XAllocationVotingAddressUpdated","type":"event"},{"inputs":[{"internalType":"uint256","name":"totalReward","type":"uint256"}],"name":"calculateRelayerFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"relayer","type":"address"}],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"claimableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"completedWeightedActions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getClaimWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEarlyAccessBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFeeCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getMissedAutoVotingUsersCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getPreferredRelayer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRegisteredRelayers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRelayerFeeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRelayerFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getTotalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVoteWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isClaimEarlyAccessActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"}],"name":"isRegisteredRelayer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isRewardClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isVoteEarlyAccessActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"uint256","name":"userCount","type":"uint256"}],"name":"reduceExpectedActionsForRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"reduceUserAllocationVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"reduceUserGovernanceVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum RelayerAction","name":"action","type":"uint8"}],"name":"registerRelayerAction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFeeCap","type":"uint256"}],"name":"setFeeCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"}],"name":"setPreferredRelayer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"uint256","name":"totalAutoVotingUsers","type":"uint256"}],"name":"setTotalActionsForRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"uint256","name":"allocationUsers","type":"uint256"},{"internalType":"uint256","name":"governanceUsers","type":"uint256"},{"internalType":"uint256[]","name":"activeProposalIds","type":"uint256[]"}],"name":"setTotalActionsForRoundWithGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalActions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalRelayerActions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"relayer","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalRelayerWeightedActions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalWeightedActions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"address","name":"caller","type":"address"}],"name":"validateClaimDuringEarlyAccess","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"address","name":"caller","type":"address"}],"name":"validateVoteDuringEarlyAccess","outputs":[],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"calculateRelayerFee(uint256)":"dc404a0e","claimRewards(uint256,address)":"6c7b69cb","claimableRewards(address,uint256)":"338111e7","completedWeightedActions(uint256)":"df171b0c","deposit(uint256,uint256)":"e2bbb158","getClaimWeight()":"be9412df","getEarlyAccessBlocks()":"62f29478","getFeeCap()":"36a7c134","getMissedAutoVotingUsersCount(uint256)":"4f6981ee","getPreferredRelayer(address)":"650e8a76","getRegisteredRelayers()":"ac4aa16b","getRelayerFeeDenominator()":"7f5e98bd","getRelayerFeePercentage()":"b7fe075a","getTotalRewards(uint256)":"552164ee","getVoteWeight()":"d428cffc","isClaimEarlyAccessActive(uint256)":"f5e57b39","isRegisteredRelayer(address)":"d5684392","isRewardClaimable(uint256)":"3d009cee","isVoteEarlyAccessActive(uint256)":"48c2bd78","reduceExpectedActionsForRound(uint256,uint256)":"e7dfe672","reduceUserAllocationVote(uint256,address)":"f71fdc16","reduceUserGovernanceVote(uint256,address,uint256)":"18b9baa1","registerRelayerAction(address,address,uint256,uint8)":"6cf88e73","setFeeCap(uint256)":"6bb07c73","setPreferredRelayer(address)":"af54c53a","setTotalActionsForRound(uint256,uint256)":"5f72790a","setTotalActionsForRoundWithGovernance(uint256,uint256,uint256,uint256[])":"bfaabf31","totalActions(uint256)":"85530201","totalRelayerActions(address,uint256)":"241f9e2b","totalRelayerWeightedActions(address,uint256)":"9858b78a","totalWeightedActions(uint256)":"e78168b5","validateClaimDuringEarlyAccess(uint256,address,address)":"5ae1cd14","validateVoteDuringEarlyAccess(uint256,address,address)":"e5ed920b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"parameter\",\"type\":\"string\"}],\"name\":\"InvalidParameter\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"NoRewardsToClaim\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"preferredRelayer\",\"type\":\"address\"}],\"name\":\"NotPreferredRelayer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"RelayerAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"RelayerNotRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"RewardsAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"RoundNotEnded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"UnauthorizedUnregister\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"UserActionAlreadyReduced\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"UserGovernanceVoteAlreadyReduced\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"B3TRAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newWeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldWeight\",\"type\":\"uint256\"}],\"name\":\"ClaimWeightUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBlocks\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldBlocks\",\"type\":\"uint256\"}],\"name\":\"EarlyAccessBlocksUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"EmissionsAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actionsReduced\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newTotalActions\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newTotalWeightedActions\",\"type\":\"uint256\"}],\"name\":\"ExpectedActionsReduced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldFee\",\"type\":\"uint256\"}],\"name\":\"FeeCapUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"PreferredRelayerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actionCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"name\":\"RelayerActionRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDenominator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDenominator\",\"type\":\"uint256\"}],\"name\":\"RelayerFeeDenominatorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldFee\",\"type\":\"uint256\"}],\"name\":\"RelayerFeePercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"RelayerRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RelayerRewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"RelayerUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalRewards\",\"type\":\"uint256\"}],\"name\":\"RewardsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAutoVoteUsers\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalActions\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalWeightedActions\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"numRelayers\",\"type\":\"uint256\"}],\"name\":\"TotalAutoVotingActionsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newWeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldWeight\",\"type\":\"uint256\"}],\"name\":\"VoteWeightUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"XAllocationVotingAddressUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"totalReward\",\"type\":\"uint256\"}],\"name\":\"calculateRelayerFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"claimableRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"completedWeightedActions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClaimWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEarlyAccessBlocks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getMissedAutoVotingUsersCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getPreferredRelayer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegisteredRelayers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayerFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayerFeePercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getTotalRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVoteWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isClaimEarlyAccessActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"isRegisteredRelayer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isRewardClaimable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isVoteEarlyAccessActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"userCount\",\"type\":\"uint256\"}],\"name\":\"reduceExpectedActionsForRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"reduceUserAllocationVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"reduceUserGovernanceVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum RelayerAction\",\"name\":\"action\",\"type\":\"uint8\"}],\"name\":\"registerRelayerAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newFeeCap\",\"type\":\"uint256\"}],\"name\":\"setFeeCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"setPreferredRelayer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAutoVotingUsers\",\"type\":\"uint256\"}],\"name\":\"setTotalActionsForRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"allocationUsers\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"governanceUsers\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"activeProposalIds\",\"type\":\"uint256[]\"}],\"name\":\"setTotalActionsForRoundWithGovernance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalActions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalRelayerActions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalRelayerWeightedActions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalWeightedActions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"validateClaimDuringEarlyAccess\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"validateVoteDuringEarlyAccess\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"VeBetterDAO\",\"events\":{\"B3TRAddressUpdated(address,address)\":{\"params\":{\"newAddress\":\"The new B3TR contract address\",\"oldAddress\":\"The old B3TR contract address\"}},\"ClaimWeightUpdated(uint256,uint256)\":{\"params\":{\"newWeight\":\"The new claim weight\",\"oldWeight\":\"The old claim weight\"}},\"EarlyAccessBlocksUpdated(uint256,uint256)\":{\"params\":{\"newBlocks\":\"The new number of early access blocks\",\"oldBlocks\":\"The old number of early access blocks\"}},\"EmissionsAddressUpdated(address,address)\":{\"params\":{\"newAddress\":\"The new Emissions contract address\",\"oldAddress\":\"The old Emissions contract address\"}},\"ExpectedActionsReduced(uint256,uint256,uint256,uint256)\":{\"params\":{\"actionsReduced\":\"Number of plain actions removed from the round totals in this update\",\"newTotalActions\":\"The new total actions required\",\"newTotalWeightedActions\":\"The new total weighted actions required\",\"roundId\":\"The round ID\"}},\"FeeCapUpdated(uint256,uint256)\":{\"params\":{\"newFee\":\"The new fee cap\",\"oldFee\":\"The old fee cap\"}},\"PreferredRelayerSet(address,address)\":{\"params\":{\"relayer\":\"The preferred relayer, or zero address when cleared\",\"user\":\"The user updating the preference\"}},\"RelayerActionRegistered(address,address,uint256,uint256,uint256)\":{\"params\":{\"actionCount\":\"The new total action count for the relayer\",\"relayer\":\"The relayer address\",\"roundId\":\"The round ID\",\"voter\":\"The voter address\",\"weight\":\"The weight of the action\"}},\"RelayerFeeDenominatorUpdated(uint256,uint256)\":{\"params\":{\"newDenominator\":\"The new relayer fee denominator\",\"oldDenominator\":\"The old relayer fee denominator\"}},\"RelayerFeePercentageUpdated(uint256,uint256)\":{\"params\":{\"newFee\":\"The new relayer fee percentage\",\"oldFee\":\"The old relayer fee percentage\"}},\"RelayerRegistered(address)\":{\"params\":{\"relayer\":\"The address of the registered relayer\"}},\"RelayerRewardsClaimed(address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount claimed\",\"relayer\":\"The relayer address\",\"roundId\":\"The round ID\"}},\"RelayerUnregistered(address)\":{\"params\":{\"relayer\":\"The address of the unregistered relayer\"}},\"RewardsDeposited(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"The amount deposited\",\"roundId\":\"The round ID\",\"totalRewards\":\"The new total rewards for the round\"}},\"TotalAutoVotingActionsSet(uint256,uint256,uint256,uint256,uint256)\":{\"params\":{\"numRelayers\":\"The number of registered relayers\",\"roundId\":\"The round ID\",\"totalActions\":\"The total number of actions to be allocated\",\"totalAutoVoteUsers\":\"The total number of auto-voting users\",\"totalWeightedActions\":\"The total weighted actions to be allocated\"}},\"VoteWeightUpdated(uint256,uint256)\":{\"params\":{\"newWeight\":\"The new vote weight\",\"oldWeight\":\"The old vote weight\"}},\"XAllocationVotingAddressUpdated(address,address)\":{\"params\":{\"newAddress\":\"The new XAllocationVoting contract address\",\"oldAddress\":\"The old XAllocationVoting contract address\"}}},\"kind\":\"dev\",\"methods\":{\"calculateRelayerFee(uint256)\":{\"params\":{\"totalReward\":\"Total reward amount in wei\"},\"returns\":{\"_0\":\"Relayer fee in wei\"}},\"claimRewards(uint256,address)\":{\"params\":{\"relayer\":\"The relayer address\",\"roundId\":\"The round ID\"}},\"claimableRewards(address,uint256)\":{\"params\":{\"relayer\":\"The relayer address\",\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"The claimable reward amount\"}},\"completedWeightedActions(uint256)\":{\"params\":{\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"The total completed weighted actions for the round\"}},\"deposit(uint256,uint256)\":{\"details\":\"This function should be called by the VoterRewards contract\",\"params\":{\"amount\":\"The amount of B3TR tokens to deposit\",\"roundId\":\"The round ID to deposit for\"}},\"getClaimWeight()\":{\"returns\":{\"_0\":\"The current claim weight\"}},\"getEarlyAccessBlocks()\":{\"returns\":{\"_0\":\"The number of blocks for early access period\"}},\"getFeeCap()\":{\"returns\":{\"_0\":\"The current fee cap\"}},\"getMissedAutoVotingUsersCount(uint256)\":{\"params\":{\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"The number of missed auto-voting users\"}},\"getPreferredRelayer(address)\":{\"params\":{\"user\":\"The user address\"},\"returns\":{\"_0\":\"The preferred relayer, or zero address if not set\"}},\"getRegisteredRelayers()\":{\"returns\":{\"_0\":\"Array of registered relayer addresses\"}},\"getRelayerFeeDenominator()\":{\"returns\":{\"_0\":\"The current relayer fee denominator\"}},\"getRelayerFeePercentage()\":{\"returns\":{\"_0\":\"The current relayer fee percentage\"}},\"getTotalRewards(uint256)\":{\"params\":{\"roundId\":\"The round ID to check\"},\"returns\":{\"_0\":\"The total reward amount for the round\"}},\"getVoteWeight()\":{\"returns\":{\"_0\":\"The current vote weight\"}},\"isClaimEarlyAccessActive(uint256)\":{\"params\":{\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"True if claim early access period is still active\"}},\"isRegisteredRelayer(address)\":{\"params\":{\"relayer\":\"The address to check\"},\"returns\":{\"_0\":\"True if the address is a registered relayer\"}},\"isRewardClaimable(uint256)\":{\"params\":{\"roundId\":\"The round ID to check\"},\"returns\":{\"_0\":\"True if rewards are claimable, false otherwise\"}},\"isVoteEarlyAccessActive(uint256)\":{\"params\":{\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"True if early access period is still active\"}},\"reduceExpectedActionsForRound(uint256,uint256)\":{\"details\":\"Reduces both vote and claim (2 actions per user). Used by castVoteOnBehalfOf.\",\"params\":{\"roundId\":\"The round ID\",\"userCount\":\"The number of users to remove from expected actions (typically 1)\"}},\"reduceUserAllocationVote(uint256,address)\":{\"details\":\"Auto-reduces claim if all vote actions for the user have been skipped.\",\"params\":{\"roundId\":\"The round ID\",\"user\":\"The user whose allocation vote is skipped\"}},\"reduceUserGovernanceVote(uint256,address,uint256)\":{\"details\":\"Auto-reduces claim if all vote actions for the user have been skipped.\",\"params\":{\"proposalId\":\"The governance proposal ID\",\"roundId\":\"The round ID\",\"user\":\"The user whose governance vote is skipped\"}},\"registerRelayerAction(address,address,uint256,uint8)\":{\"params\":{\"action\":\"The type of action performed (VOTE or CLAIM)\",\"relayer\":\"The relayer address\",\"roundId\":\"The round ID\",\"voter\":\"The voter address\"}},\"setFeeCap(uint256)\":{\"params\":{\"newFeeCap\":\"The new fee cap\"}},\"setPreferredRelayer(address)\":{\"params\":{\"relayer\":\"The preferred relayer, or zero address to clear it\"}},\"setTotalActionsForRound(uint256,uint256)\":{\"params\":{\"roundId\":\"The round ID\",\"totalAutoVotingUsers\":\"The total number of auto-voting users\"}},\"setTotalActionsForRoundWithGovernance(uint256,uint256,uint256,uint256[])\":{\"params\":{\"activeProposalIds\":\"IDs of active governance proposals for the round (cached in storage)\",\"allocationUsers\":\"Number of users expected to perform allocation vote+claim actions\",\"governanceUsers\":\"Number of users expected to perform governance vote actions (citizens only)\",\"roundId\":\"The round ID\"}},\"totalActions(uint256)\":{\"details\":\"There are 2 actions for auto-voting: cast vote on behalf and claim rewards for them So, each user who enables auto-voting requires 2 actions\",\"params\":{\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"The total number of actions required for the round\"}},\"totalRelayerActions(address,uint256)\":{\"params\":{\"relayer\":\"The relayer address\",\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"The number of actions performed by the relayer\"}},\"totalRelayerWeightedActions(address,uint256)\":{\"params\":{\"relayer\":\"The relayer address\",\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"The total weighted actions performed by the relayer\"}},\"totalWeightedActions(uint256)\":{\"params\":{\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"The total weighted actions required for the round\"}},\"validateClaimDuringEarlyAccess(uint256,address,address)\":{\"params\":{\"caller\":\"The caller address\",\"roundId\":\"The round ID\",\"voter\":\"The voter address\"}},\"validateVoteDuringEarlyAccess(uint256,address,address)\":{\"params\":{\"caller\":\"The caller address\",\"roundId\":\"The round ID\",\"voter\":\"The voter address\"}}},\"title\":\"IRelayerRewardsPool\",\"version\":1},\"userdoc\":{\"errors\":{\"InvalidParameter(string)\":[{\"notice\":\"Custom error for invalid parameters\"}],\"NoRewardsToClaim(address,uint256)\":[{\"notice\":\"Custom error for when there are no rewards to claim\"}],\"NotPreferredRelayer(address,address)\":[{\"notice\":\"Custom error for when caller is not the user's preferred relayer\"}],\"RelayerAlreadyRegistered(address)\":[{\"notice\":\"Custom error for when relayer is already registered\"}],\"RelayerNotRegistered(address)\":[{\"notice\":\"Custom error for when relayer is not registered\"}],\"RewardsAlreadyClaimed(address,uint256)\":[{\"notice\":\"Custom error for when trying to claim rewards twice\"}],\"RoundNotEnded(uint256)\":[{\"notice\":\"Custom error for when a round has not ended yet\"}],\"TransferFailed()\":[{\"notice\":\"Custom error for when transfer fails\"}],\"UnauthorizedUnregister(address,address)\":[{\"notice\":\"Custom error for when caller is not the relayer (self-unregister) nor admin\"}],\"UserActionAlreadyReduced(address,uint256)\":[{\"notice\":\"The user's allocation vote has already been reduced for this round\"}],\"UserGovernanceVoteAlreadyReduced(address,uint256,uint256)\":[{\"notice\":\"The user's governance vote has already been reduced for this round/proposal\"}]},\"events\":{\"B3TRAddressUpdated(address,address)\":{\"notice\":\"Emitted when the B3TR contract address is updated\"},\"ClaimWeightUpdated(uint256,uint256)\":{\"notice\":\"Emitted when claim weight is updated\"},\"EarlyAccessBlocksUpdated(uint256,uint256)\":{\"notice\":\"Emitted when early access blocks are updated\"},\"EmissionsAddressUpdated(address,address)\":{\"notice\":\"Emitted when the Emissions contract address is updated\"},\"ExpectedActionsReduced(uint256,uint256,uint256,uint256)\":{\"notice\":\"Emitted when expected actions are reduced for a round\"},\"FeeCapUpdated(uint256,uint256)\":{\"notice\":\"Emitted when fee cap is updated\"},\"PreferredRelayerSet(address,address)\":{\"notice\":\"Emitted when a user updates their preferred relayer\"},\"RelayerActionRegistered(address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a relayer action is registered\"},\"RelayerFeeDenominatorUpdated(uint256,uint256)\":{\"notice\":\"Emitted when relayer fee denominator is updated\"},\"RelayerFeePercentageUpdated(uint256,uint256)\":{\"notice\":\"Emitted when relayer fee percentage is updated\"},\"RelayerRegistered(address)\":{\"notice\":\"Emitted when a relayer is registered\"},\"RelayerRewardsClaimed(address,uint256,uint256)\":{\"notice\":\"Emitted when a relayer claims rewards\"},\"RelayerUnregistered(address)\":{\"notice\":\"Emitted when a relayer is unregistered\"},\"RewardsDeposited(uint256,uint256,uint256)\":{\"notice\":\"Emitted when rewards are deposited for a round\"},\"TotalAutoVotingActionsSet(uint256,uint256,uint256,uint256,uint256)\":{\"notice\":\"Emitted when early access vote allocations are set for a round\"},\"VoteWeightUpdated(uint256,uint256)\":{\"notice\":\"Emitted when vote weight is updated\"},\"XAllocationVotingAddressUpdated(address,address)\":{\"notice\":\"Emitted when the XAllocationVoting contract address is updated\"}},\"kind\":\"user\",\"methods\":{\"calculateRelayerFee(uint256)\":{\"notice\":\"Calculate relayer fee from total reward\"},\"claimRewards(uint256,address)\":{\"notice\":\"Allows a relayer to claim their rewards for a specific round\"},\"claimableRewards(address,uint256)\":{\"notice\":\"Returns the claimable reward amount for a relayer in a specific round\"},\"completedWeightedActions(uint256)\":{\"notice\":\"Returns the total completed weighted actions for a round\"},\"deposit(uint256,uint256)\":{\"notice\":\"Deposits B3TR tokens into the pool for a specific round\"},\"getClaimWeight()\":{\"notice\":\"Get the current claim weight\"},\"getEarlyAccessBlocks()\":{\"notice\":\"Get the number of early access blocks\"},\"getFeeCap()\":{\"notice\":\"Get the current fee cap\"},\"getMissedAutoVotingUsersCount(uint256)\":{\"notice\":\"Get the number of missed auto-voting users for a round\"},\"getPreferredRelayer(address)\":{\"notice\":\"Get the preferred relayer for a user\"},\"getRegisteredRelayers()\":{\"notice\":\"Get all registered relayers\"},\"getRelayerFeeDenominator()\":{\"notice\":\"Get the current relayer fee denominator\"},\"getRelayerFeePercentage()\":{\"notice\":\"Get the current relayer fee percentage\"},\"getTotalRewards(uint256)\":{\"notice\":\"Returns the total rewards available for distribution among relayers in a round\"},\"getVoteWeight()\":{\"notice\":\"Get the current vote weight\"},\"isClaimEarlyAccessActive(uint256)\":{\"notice\":\"Check if claim early access period is active for a given round\"},\"isRegisteredRelayer(address)\":{\"notice\":\"Check if an address is a registered relayer\"},\"isRewardClaimable(uint256)\":{\"notice\":\"Checks if rewards are claimable for a specific round\"},\"isVoteEarlyAccessActive(uint256)\":{\"notice\":\"Check if early access period is active for a given round\"},\"reduceExpectedActionsForRound(uint256,uint256)\":{\"notice\":\"Reduces the total expected actions for a round when a legacy auto-voting user cannot vote.\"},\"reduceUserAllocationVote(uint256,address)\":{\"notice\":\"Reduces allocation vote expectation for a specific user in a round.\"},\"reduceUserGovernanceVote(uint256,address,uint256)\":{\"notice\":\"Reduces governance vote expectation for a specific user/proposal in a round.\"},\"registerRelayerAction(address,address,uint256,uint8)\":{\"notice\":\"Registers an action performed by a relayer in a specific round\"},\"setFeeCap(uint256)\":{\"notice\":\"Set the fee cap for the relayer.\"},\"setPreferredRelayer(address)\":{\"notice\":\"Set or clear the caller's preferred relayer\"},\"setTotalActionsForRound(uint256,uint256)\":{\"notice\":\"Sets the total number of actions required for a round\"},\"setTotalActionsForRoundWithGovernance(uint256,uint256,uint256,uint256[])\":{\"notice\":\"Sets expected actions for allocation and governance in a round\"},\"totalActions(uint256)\":{\"notice\":\"Returns the total number of actions required for a round\"},\"totalRelayerActions(address,uint256)\":{\"notice\":\"Returns the number of actions performed by a relayer in a specific round\"},\"totalRelayerWeightedActions(address,uint256)\":{\"notice\":\"Returns the total weighted actions performed by a relayer in a specific round\"},\"totalWeightedActions(uint256)\":{\"notice\":\"Returns the total weighted actions required for a round\"},\"validateClaimDuringEarlyAccess(uint256,address,address)\":{\"notice\":\"Validates if a claim can proceed for an auto-voting user\"},\"validateVoteDuringEarlyAccess(uint256,address,address)\":{\"notice\":\"Check if a relayer can perform an action during early access\"}},\"notice\":\"Interface for the RelayerRewardsPool contract that manages rewards for relayers who perform auto-voting actions on behalf of users.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IRelayerRewardsPool.sol\":\"IRelayerRewardsPool\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]}},\"version\":1}"}},"contracts/interfaces/ITreasury.sol":{"ITreasury":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"limit","type":"uint256"}],"name":"TransferLimitUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"limit","type":"uint256"}],"name":"TransferLimitVETUpdated","type":"event"},{"inputs":[],"name":"b3trAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_b3trAmount","type":"uint256"}],"name":"convertB3TR","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"__vot3Amount","type":"uint256"}],"name":"convertVOT3","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getB3TRBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"name":"getCollectionNFTBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"getTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVETBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVOT3Balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVTHOBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferB3TR","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferVET","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferVOT3","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferVTHO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"vot3Address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"b3trAddress()":"414dc27a","convertB3TR(uint256)":"0f6a0b37","convertVOT3(uint256)":"bb180ec9","getB3TRBalance()":"58028923","getCollectionNFTBalance(address)":"f7451ccf","getTokenBalance(address)":"3aecd0e3","getVETBalance()":"3c555f19","getVOT3Balance()":"9e4f88c8","getVTHOBalance()":"53a4c7fa","pause()":"8456cb59","transferB3TR(address,uint256)":"8e184b3f","transferNFT(address,address,uint256)":"69e9cae1","transferTokens(address,address,uint256)":"a64b6e5f","transferVET(address,uint256)":"4a9e6645","transferVOT3(address,uint256)":"9867cd19","transferVTHO(address,uint256)":"7df3f411","unpause()":"3f4ba83a","version()":"54fd4d50","vot3Address()":"7c47f24b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"TransferLimitUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"TransferLimitVETUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"b3trAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_b3trAmount\",\"type\":\"uint256\"}],\"name\":\"convertB3TR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"__vot3Amount\",\"type\":\"uint256\"}],\"name\":\"convertVOT3\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getB3TRBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"getCollectionNFTBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVETBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVOT3Balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVTHOBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferB3TR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"transferNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferVET\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferVOT3\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferVTHO\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vot3Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ITreasury.sol\":\"ITreasury\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITreasury.sol\":{\"keccak256\":\"0x12f2f632f17c3310ab43a715e3acf21310cfc7f0203bb75d5c4463e60b01b912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a9cb8c81279b78f0b081a48aed52e9c617d0913598c494d8a99178b6ce8d657\",\"dweb:/ipfs/QmdbC4oX5t83TZKrRVYQZ7c4Ym91zHQCETxYn7bxtbVf3X\"]}},\"version\":1}"}},"contracts/interfaces/IVOT3.sol":{"IVOT3":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"uint256","name":"increasedSupply","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"ERC20ExceededSafeSupply","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"ERC2612ExpiredSignature","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC2612InvalidSigner","type":"error"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"name":"ERC5805FutureLookup","type":"error"},{"inputs":[],"name":"ERC6372InconsistentClock","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"name":"InvalidAccountNonce","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"name":"VotesExpiredSignature","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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousVotes","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotes","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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":"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"name":"checkpoints","outputs":[{"components":[{"internalType":"uint48","name":"_key","type":"uint48"},{"internalType":"uint208","name":"_value","type":"uint208"}],"internalType":"struct Checkpoints.Checkpoint208","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"convertToB3TR","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"convertToVOT3","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"convertedB3trOf","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":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNavigatorLockedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastQuadraticVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getQuadraticVotingPower","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":[{"internalType":"address","name":"account","type":"address"}],"name":"getVotes","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":[],"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":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":[],"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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unlockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DEFAULT_ADMIN_ROLE()":"a217fddf","DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","b3tr()":"582a486a","balanceOf(address)":"70a08231","checkpoints(address,uint32)":"f1127ed8","clock()":"91ddadf4","convertToB3TR(uint256)":"9ae05c35","convertToVOT3(uint256)":"e23285a0","convertedB3trOf(address)":"c731790a","decimals()":"313ce567","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getNavigatorLockedAmount(address)":"b0385a12","getPastQuadraticVotingPower(address,uint256)":"114d621e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getQuadraticVotingPower(address)":"faad8676","getRoleAdmin(bytes32)":"248a9ca3","getVotes(address)":"9ab24eb0","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","name()":"06fdde03","nonces(address)":"7ecebe00","numCheckpoints(address)":"6fcfff45","pause()":"8456cb59","paused()":"5c975abb","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","unlockedBalance(address)":"5e0fac2e","unpause()":"3f4ba83a","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"increasedSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cap\",\"type\":\"uint256\"}],\"name\":\"ERC20ExceededSafeSupply\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"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\":\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint48\",\"name\":\"_key\",\"type\":\"uint48\"},{\"internalType\":\"uint208\",\"name\":\"_value\",\"type\":\"uint208\"}],\"internalType\":\"struct Checkpoints.Checkpoint208\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"convertToB3TR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"convertToVOT3\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"convertedB3trOf\",\"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\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNavigatorLockedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastQuadraticVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getQuadraticVotingPower\",\"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\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"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\":[],\"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\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":[],\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"unlockedBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IVOT3.sol\":\"IVOT3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]}},\"version\":1}"}},"contracts/interfaces/IVeBetterPassport.sol":{"IVeBetterPassport":{"abi":[{"inputs":[{"internalType":"address","name":"entity","type":"address"}],"name":"AlreadyDelegated","type":"error"},{"inputs":[{"internalType":"address","name":"entity","type":"address"}],"name":"AlreadyLinked","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"CannotDelegateToSelf","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"CannotLinkToSelf","type":"error"},{"inputs":[{"internalType":"address","name":"entity","type":"address"}],"name":"DelegatedEntity","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"MaxEntitiesPerPassportReached","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"NotDelegated","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"NotLinked","type":"error"},{"inputs":[],"name":"OnlyOneLinkAllowed","type":"error"},{"inputs":[],"name":"OnlyOneUserAllowed","type":"error"},{"inputs":[],"name":"PassportDelegationFromEntity","type":"error"},{"inputs":[],"name":"PassportDelegationToEntity","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"PassportDelegationUnauthorizedUser","type":"error"},{"inputs":[],"name":"SignatureExpired","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"UnauthorizedUser","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"VeBetterPassportUnauthorizedUser","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"checkName","type":"string"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"CheckToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"delegatee","type":"address"}],"name":"DelegationCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"delegatee","type":"address"}],"name":"DelegationPending","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"delegatee","type":"address"}],"name":"DelegationRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"entity","type":"address"},{"indexed":true,"internalType":"address","name":"passport","type":"address"}],"name":"LinkCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"entity","type":"address"},{"indexed":true,"internalType":"address","name":"passport","type":"address"}],"name":"LinkPending","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"entity","type":"address"},{"indexed":true,"internalType":"address","name":"passport","type":"address"}],"name":"LinkRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minimumGalaxyMemberLevel","type":"uint256"}],"name":"MinimumGalaxyMemberLevelSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"address","name":"passport","type":"address"},{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"round","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"actionScore","type":"uint256"}],"name":"RegisteredAction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"removedBy","type":"address"}],"name":"RemovedUserFromBlacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"passport","type":"address"},{"indexed":true,"internalType":"address","name":"removedBy","type":"address"}],"name":"RemovedUserFromWhitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"signaler","type":"address"},{"indexed":true,"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"SignalerAssignedToApp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"signaler","type":"address"},{"indexed":true,"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"SignalerRemovedFromApp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"blacklistedBy","type":"address"}],"name":"UserBlacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"signaler","type":"address"},{"indexed":true,"internalType":"bytes32","name":"app","type":"bytes32"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"UserSignaled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"UserSignalsReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"bytes32","name":"app","type":"bytes32"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"UserSignalsResetForApp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"whitelistedBy","type":"address"}],"name":"UserWhitelisted","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"}],"name":"acceptDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"entity","type":"address"}],"name":"acceptEntityLink","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"round","type":"uint256"}],"name":"appRoundActionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"appSecurity","outputs":[{"internalType":"enum PassportTypes.APP_SECURITY","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"appTotalSignalsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"app","type":"bytes32"},{"internalType":"address","name":"user","type":"address"}],"name":"assignSignalerToApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blacklistThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cancelOutgoingPendingDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelOutgoingPendingEntityLink","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decayRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegatePassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"}],"name":"denyIncomingPendingDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"entity","type":"address"}],"name":"denyIncomingPendingEntityLink","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"signatureVersion","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"lastRound","type":"uint256"}],"name":"getCumulativeScoreWithDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"}],"name":"getDelegatee","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDelegateeInTimepoint","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"getDelegator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDelegatorInTimepoint","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"passport","type":"address"}],"name":"getEntitiesLinkedToPassport","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinimumGalaxyMemberLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"entity","type":"address"}],"name":"getPassportForEntity","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"entity","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPassportForEntityAtTimepoint","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getPendingDelegations","outputs":[{"internalType":"address[]","name":"incoming","type":"address[]"},{"internalType":"address","name":"outgoing","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getPendingLinkings","outputs":[{"internalType":"address[]","name":"incoming","type":"address[]"},{"internalType":"address","name":"outgoing","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":[{"components":[{"internalType":"contract IXAllocationVotingGovernor","name":"xAllocationVoting","type":"address"},{"internalType":"contract IX2EarnApps","name":"x2EarnApps","type":"address"},{"internalType":"contract IGalaxyMember","name":"galaxyMember","type":"address"},{"internalType":"uint256","name":"signalingThreshold","type":"uint256"},{"internalType":"uint256","name":"roundsForCumulativeScore","type":"uint256"},{"internalType":"uint256","name":"minimumGalaxyMemberLevel","type":"uint256"},{"internalType":"uint256","name":"blacklistThreshold","type":"uint256"},{"internalType":"uint256","name":"whitelistThreshold","type":"uint256"},{"internalType":"uint256","name":"maxEntitiesPerPassport","type":"uint256"},{"internalType":"uint256","name":"decayRate","type":"uint256"}],"internalType":"struct PassportTypes.InitializationData","name":"data","type":"tuple"},{"components":[{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"botSignaler","type":"address"},{"internalType":"address","name":"upgrader","type":"address"},{"internalType":"address","name":"settingsManager","type":"address"},{"internalType":"address","name":"roleGranter","type":"address"},{"internalType":"address","name":"blacklister","type":"address"},{"internalType":"address","name":"whitelister","type":"address"},{"internalType":"address","name":"actionRegistrar","type":"address"},{"internalType":"address","name":"actionScoreManager","type":"address"},{"internalType":"address","name":"resetSignaler","type":"address"}],"internalType":"struct PassportTypes.InitializationRoleData","name":"roles","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum PassportTypes.CheckType","name":"check","type":"uint8"}],"name":"isCheckEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isDelegatee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"isDelegateeInTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isDelegator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"isDelegatorInTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isEntity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"isEntityInTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isPassport","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"isPassportInTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isPerson","outputs":[{"internalType":"bool","name":"person","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isPersonAtTimepoint","outputs":[{"internalType":"bool","name":"person","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"passport","type":"address"}],"name":"linkEntityToPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"entity","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"linkEntityToPassportWithSignature","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxEntitiesPerPassport","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumGalaxyMemberLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"registerAction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"round","type":"uint256"}],"name":"registerActionForRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"entity","type":"address"}],"name":"removeEntityLink","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeSignalerFromApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"resetUserSignalsWithReason","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revokeDelegation","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":[],"name":"roundsForCumulativeScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum PassportTypes.APP_SECURITY","name":"security","type":"uint8"}],"name":"securityMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"enum PassportTypes.APP_SECURITY","name":"security","type":"uint8"}],"name":"setAppSecurity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setBlacklistThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"decayRate","type":"uint256"}],"name":"setDecayRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxEntities","type":"uint256"}],"name":"setMaxEntitiesPerPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rounds","type":"uint256"}],"name":"setRoundsForCumulativeScore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum PassportTypes.APP_SECURITY","name":"security","type":"uint8"},{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"setSecurityMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"setSignalingThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint208","name":"threshold","type":"uint208"}],"name":"setThresholdPoPScore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setWhitelistThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IX2EarnApps","name":"_x2EarnApps","type":"address"}],"name":"setX2EarnApps","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IXAllocationVotingGovernor","name":"xAllocationVoting","type":"address"}],"name":"setXAllocationVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"signalUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"signalUserWithReason","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"signalingThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thresholdPoPScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"thresholdPoPScoreAtTimepoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum PassportTypes.CheckType","name":"check","type":"uint8"}],"name":"toggleCheck","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"userAppTotalScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userInteractedApps","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"round","type":"uint256"}],"name":"userRoundActionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"round","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"userRoundActionCountApp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"round","type":"uint256"}],"name":"userRoundAppCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"round","type":"uint256"}],"name":"userRoundScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"round","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"userRoundScoreApp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userTotalScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"userUniqueAppInteraction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"whitelistThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","acceptDelegation(address)":"b48a9634","acceptEntityLink(address)":"d1143f3a","appRoundActionCount(bytes32,uint256)":"00362016","appSecurity(bytes32)":"b292864a","appTotalSignalsCounter(bytes32)":"3bf451a9","assignSignalerToApp(bytes32,address)":"26b320ab","blacklistThreshold()":"5ce33093","cancelOutgoingPendingDelegation()":"36db28b3","cancelOutgoingPendingEntityLink()":"15b75cf0","clock()":"91ddadf4","decayRate()":"a9c1f2f1","delegatePassport(address)":"49599712","denyIncomingPendingDelegation(address)":"2be4d14d","denyIncomingPendingEntityLink(address)":"1332de46","eip712Domain()":"84b0196e","getCumulativeScoreWithDecay(address,uint256)":"e18c10d3","getDelegatee(address)":"9b4e735f","getDelegateeInTimepoint(address,uint256)":"bc6237ff","getDelegator(address)":"a64ad595","getDelegatorInTimepoint(address,uint256)":"f9561f67","getEntitiesLinkedToPassport(address)":"e60fd76c","getMinimumGalaxyMemberLevel()":"c817dcec","getPassportForEntity(address)":"467b99b6","getPassportForEntityAtTimepoint(address,uint256)":"38d8d688","getPendingDelegations(address)":"ca3f511f","getPendingLinkings(address)":"f9cfdfcc","grantRole(bytes32,address)":"2f2ff15d","initialize((address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(address,address,address,address,address,address,address,address,address,address))":"52ba35c4","isBlacklisted(address)":"fe575a87","isCheckEnabled(uint8)":"ccc3ced3","isDelegatee(address)":"080abb4c","isDelegateeInTimepoint(address,uint256)":"08b76b3a","isDelegator(address)":"fd8ab482","isDelegatorInTimepoint(address,uint256)":"f4079c1f","isEntity(address)":"14887c58","isEntityInTimepoint(address,uint256)":"6e6a304c","isPassport(address)":"5a1dcf2c","isPassportInTimepoint(address,uint256)":"e4325044","isPerson(address)":"0f73927a","isPersonAtTimepoint(address,uint48)":"d0ebb0ee","isWhitelisted(address)":"3af32abf","linkEntityToPassport(address)":"e0b23db4","linkEntityToPassportWithSignature(address,uint256,bytes)":"c791e937","maxEntitiesPerPassport()":"4f69de08","minimumGalaxyMemberLevel()":"9687f511","registerAction(address,bytes32)":"b7af0690","registerActionForRound(address,bytes32,uint256)":"5801b70f","removeEntityLink(address)":"0070f93d","removeSignalerFromApp(address)":"dc8debb0","resetUserSignalsWithReason(address,string)":"1ee76323","revokeDelegation()":"a4d31805","revokeRole(bytes32,address)":"d547741f","roundsForCumulativeScore()":"664d6e9e","securityMultiplier(uint8)":"3e420ce3","setAppSecurity(bytes32,uint8)":"0e668aac","setBlacklistThreshold(uint256)":"453b8b07","setDecayRate(uint256)":"04e7e0b9","setMaxEntitiesPerPassport(uint256)":"d2a98f8b","setRoundsForCumulativeScore(uint256)":"bb004e93","setSecurityMultiplier(uint8,uint256)":"9f14e0e2","setSignalingThreshold(uint256)":"ebd695c3","setThresholdPoPScore(uint208)":"a26596de","setWhitelistThreshold(uint256)":"97d88868","setX2EarnApps(address)":"40a6fc0b","setXAllocationVoting(address)":"3d47fe94","signalUser(address)":"c60ef11d","signalUserWithReason(address,string)":"ce371f06","signalingThreshold()":"7fd4f54f","thresholdPoPScore()":"315b8bd0","thresholdPoPScoreAtTimepoint(uint48)":"3c8c8f79","toggleCheck(uint8)":"d6cfbe1b","userAppTotalScore(address,bytes32)":"3910d657","userInteractedApps(address)":"a8165f86","userRoundActionCount(address,uint256)":"886d15d2","userRoundActionCountApp(address,uint256,bytes32)":"9352d272","userRoundAppCount(address,uint256)":"d7ce41eb","userRoundScore(address,uint256)":"8919b6e5","userRoundScoreApp(address,uint256,bytes32)":"8d38b50f","userTotalScore(address)":"d0023fcb","userUniqueAppInteraction(address,bytes32)":"428cce44","version()":"54fd4d50","whitelistThreshold()":"b5dadb17"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"}],\"name\":\"AlreadyDelegated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"}],\"name\":\"AlreadyLinked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"CannotDelegateToSelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"CannotLinkToSelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"}],\"name\":\"DelegatedEntity\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxEntitiesPerPassportReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"NotDelegated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"NotLinked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyOneLinkAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyOneUserAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PassportDelegationFromEntity\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PassportDelegationToEntity\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"PassportDelegationUnauthorizedUser\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UnauthorizedUser\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"VeBetterPassportUnauthorizedUser\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"checkName\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"CheckToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"DelegationCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"DelegationPending\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"DelegationRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"passport\",\"type\":\"address\"}],\"name\":\"LinkCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"passport\",\"type\":\"address\"}],\"name\":\"LinkPending\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"passport\",\"type\":\"address\"}],\"name\":\"LinkRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minimumGalaxyMemberLevel\",\"type\":\"uint256\"}],\"name\":\"MinimumGalaxyMemberLevelSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"passport\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"round\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actionScore\",\"type\":\"uint256\"}],\"name\":\"RegisteredAction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"removedBy\",\"type\":\"address\"}],\"name\":\"RemovedUserFromBlacklist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"passport\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"removedBy\",\"type\":\"address\"}],\"name\":\"RemovedUserFromWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"signaler\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"SignalerAssignedToApp\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"signaler\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"SignalerRemovedFromApp\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"blacklistedBy\",\"type\":\"address\"}],\"name\":\"UserBlacklisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"signaler\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"UserSignaled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"UserSignalsReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"UserSignalsResetForApp\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"whitelistedBy\",\"type\":\"address\"}],\"name\":\"UserWhitelisted\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"}],\"name\":\"acceptDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"}],\"name\":\"acceptEntityLink\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"round\",\"type\":\"uint256\"}],\"name\":\"appRoundActionCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"appSecurity\",\"outputs\":[{\"internalType\":\"enum PassportTypes.APP_SECURITY\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"appTotalSignalsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"assignSignalerToApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blacklistThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOutgoingPendingDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOutgoingPendingEntityLink\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decayRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegatePassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"}],\"name\":\"denyIncomingPendingDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"}],\"name\":\"denyIncomingPendingEntityLink\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"signatureVersion\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lastRound\",\"type\":\"uint256\"}],\"name\":\"getCumulativeScoreWithDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"}],\"name\":\"getDelegatee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDelegateeInTimepoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"getDelegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDelegatorInTimepoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passport\",\"type\":\"address\"}],\"name\":\"getEntitiesLinkedToPassport\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinimumGalaxyMemberLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"}],\"name\":\"getPassportForEntity\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPassportForEntityAtTimepoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getPendingDelegations\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"incoming\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"outgoing\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getPendingLinkings\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"incoming\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"outgoing\",\"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\":[{\"components\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"xAllocationVoting\",\"type\":\"address\"},{\"internalType\":\"contract IX2EarnApps\",\"name\":\"x2EarnApps\",\"type\":\"address\"},{\"internalType\":\"contract IGalaxyMember\",\"name\":\"galaxyMember\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"signalingThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"roundsForCumulativeScore\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minimumGalaxyMemberLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blacklistThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"whitelistThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxEntitiesPerPassport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decayRate\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportTypes.InitializationData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"botSignaler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"settingsManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"roleGranter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"blacklister\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"whitelister\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actionRegistrar\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actionScoreManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resetSignaler\",\"type\":\"address\"}],\"internalType\":\"struct PassportTypes.InitializationRoleData\",\"name\":\"roles\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"isBlacklisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum PassportTypes.CheckType\",\"name\":\"check\",\"type\":\"uint8\"}],\"name\":\"isCheckEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isDelegatee\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"isDelegateeInTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isDelegator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"isDelegatorInTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isEntity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"isEntityInTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isPassport\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"isPassportInTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isPerson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"person\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isPersonAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"person\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passport\",\"type\":\"address\"}],\"name\":\"linkEntityToPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"linkEntityToPassportWithSignature\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxEntitiesPerPassport\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumGalaxyMemberLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"registerAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"round\",\"type\":\"uint256\"}],\"name\":\"registerActionForRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"entity\",\"type\":\"address\"}],\"name\":\"removeEntityLink\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"removeSignalerFromApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"resetUserSignalsWithReason\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revokeDelegation\",\"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\":[],\"name\":\"roundsForCumulativeScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum PassportTypes.APP_SECURITY\",\"name\":\"security\",\"type\":\"uint8\"}],\"name\":\"securityMultiplier\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"enum PassportTypes.APP_SECURITY\",\"name\":\"security\",\"type\":\"uint8\"}],\"name\":\"setAppSecurity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"setBlacklistThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"decayRate\",\"type\":\"uint256\"}],\"name\":\"setDecayRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxEntities\",\"type\":\"uint256\"}],\"name\":\"setMaxEntitiesPerPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rounds\",\"type\":\"uint256\"}],\"name\":\"setRoundsForCumulativeScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum PassportTypes.APP_SECURITY\",\"name\":\"security\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"setSecurityMultiplier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"setSignalingThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint208\",\"name\":\"threshold\",\"type\":\"uint208\"}],\"name\":\"setThresholdPoPScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"setWhitelistThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"_x2EarnApps\",\"type\":\"address\"}],\"name\":\"setX2EarnApps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IXAllocationVotingGovernor\",\"name\":\"xAllocationVoting\",\"type\":\"address\"}],\"name\":\"setXAllocationVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"signalUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"signalUserWithReason\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signalingThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"thresholdPoPScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"thresholdPoPScoreAtTimepoint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum PassportTypes.CheckType\",\"name\":\"check\",\"type\":\"uint8\"}],\"name\":\"toggleCheck\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"userAppTotalScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"userInteractedApps\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"round\",\"type\":\"uint256\"}],\"name\":\"userRoundActionCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"round\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"userRoundActionCountApp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"round\",\"type\":\"uint256\"}],\"name\":\"userRoundAppCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"round\",\"type\":\"uint256\"}],\"name\":\"userRoundScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"round\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"userRoundScoreApp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"userTotalScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"userUniqueAppInteraction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"CheckToggled(string,bool)\":{\"params\":{\"checkName\":\"The name of the check being toggled.\",\"enabled\":\"True if the check is enabled, false if disabled.\"}},\"MinimumGalaxyMemberLevelSet(uint256)\":{\"params\":{\"minimumGalaxyMemberLevel\":\"The new minimum galaxy member level.\"}},\"RegisteredAction(address,address,bytes32,uint256,uint256)\":{\"params\":{\"actionScore\":\"- the score of the action\",\"appId\":\"- the app id of the action\",\"passport\":\"- the passport address of the user\",\"round\":\"- the round of the action\",\"user\":\"- the user that registered the action\"}},\"RemovedUserFromBlacklist(address,address)\":{\"params\":{\"removedBy\":\"- the user that removed the user from the blacklist\",\"user\":\"- the user that is removed from the blacklist\"}},\"RemovedUserFromWhitelist(address,address,address)\":{\"params\":{\"removedBy\":\"- the user that removed the user from the whitelist\",\"user\":\"- the user that is removed from the whitelist\"}},\"SignalerAssignedToApp(address,bytes32)\":{\"params\":{\"app\":\"The app that the signaler was associated with.\",\"signaler\":\"The address of the signaler.\"}},\"SignalerRemovedFromApp(address,bytes32)\":{\"params\":{\"app\":\"The app that the signaler was removed from.\",\"signaler\":\"The address of the signaler.\"}},\"UserBlacklisted(address,address)\":{\"params\":{\"blacklistedBy\":\"- the user that blacklisted the user\",\"user\":\"- the user that is blacklisted\"}},\"UserSignaled(address,address,bytes32,string)\":{\"params\":{\"app\":\"The app that the user was signaled for.\",\"reason\":\"The reason for signaling the user.\",\"signaler\":\"The address of the user that signaled the user.\",\"user\":\"The address of the user that was signaled.\"}},\"UserSignalsReset(address,string)\":{\"params\":{\"reason\":\"The reason for resetting the signals.\",\"user\":\"The address of the user that had their signals reset.\"}},\"UserSignalsResetForApp(address,bytes32,string)\":{\"params\":{\"app\":\"The app that the user had their signals reset for.\",\"reason\":\"- The reason for resetting the signals.\",\"user\":\"The address of the user that had their signals reset.\"}},\"UserWhitelisted(address,address)\":{\"params\":{\"user\":\"- the user that is whitelisted\",\"whitelistedBy\":\"- the user that whitelisted the user\"}}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"returns\":{\"_0\":\"The clock mode as a string\"}},\"acceptDelegation(address)\":{\"params\":{\"delegator\":\"- the delegator address\"}},\"acceptEntityLink(address)\":{\"params\":{\"entity\":\"- the entity address\"}},\"appRoundActionCount(bytes32,uint256)\":{\"params\":{\"appId\":\"The app ID\",\"round\":\"The round to check\"},\"returns\":{\"_0\":\"The number of actions\"}},\"appSecurity(bytes32)\":{\"params\":{\"appId\":\"The app ID\"},\"returns\":{\"_0\":\"The security level of the app\"}},\"appTotalSignalsCounter(bytes32)\":{\"params\":{\"app\":\"The app ID\"},\"returns\":{\"_0\":\"The total number of signals for the app\"}},\"assignSignalerToApp(bytes32,address)\":{\"params\":{\"app\":\"The app ID\",\"user\":\"The signaler address\"}},\"clock()\":{\"returns\":{\"_0\":\"The current block number\"}},\"delegatePassport(address)\":{\"params\":{\"delegatee\":\"- the delegatee address\"}},\"denyIncomingPendingDelegation(address)\":{\"params\":{\"delegator\":\"- the user who is delegating to me (aka the delegator)\"}},\"denyIncomingPendingEntityLink(address)\":{\"params\":{\"entity\":\"- the entity address\"}},\"getCumulativeScoreWithDecay(address,uint256)\":{\"params\":{\"lastRound\":\"The round to consider as a starting point for the cumulative score\",\"user\":\"The user address\"},\"returns\":{\"_0\":\"The cumulative score of the user\"}},\"getDelegatee(address)\":{\"params\":{\"delegator\":\"The delegator's address\"},\"returns\":{\"_0\":\"The address of the delegatee\"}},\"getDelegateeInTimepoint(address,uint256)\":{\"params\":{\"delegator\":\"The delegator's address\",\"timepoint\":\"The timepoint to query\"}},\"getDelegator(address)\":{\"params\":{\"delegatee\":\"The delegatee's address\"},\"returns\":{\"_0\":\"The address of the delegator\"}},\"getDelegatorInTimepoint(address,uint256)\":{\"params\":{\"delegatee\":\"The delegatee's address\",\"timepoint\":\"The timepoint to query\"}},\"getEntitiesLinkedToPassport(address)\":{\"params\":{\"passport\":\"The passport's address\"},\"returns\":{\"_0\":\"The address of the entity\"}},\"getMinimumGalaxyMemberLevel()\":{\"returns\":{\"_0\":\"The minimum galaxy member level\"}},\"getPassportForEntity(address)\":{\"params\":{\"entity\":\"The entity's address\"},\"returns\":{\"_0\":\"The address of the passport\"}},\"getPassportForEntityAtTimepoint(address,uint256)\":{\"params\":{\"entity\":\"The entity's address\",\"timepoint\":\"The timepoint to query\"}},\"getPendingDelegations(address)\":{\"params\":{\"user\":\"- the user address\"},\"returns\":{\"incoming\":\"The address[] memory of users that are delegating to the user.\",\"outgoing\":\"The address that the user is delegating to.\"}},\"getPendingLinkings(address)\":{\"params\":{\"user\":\"The address of the user\"},\"returns\":{\"incoming\":\"The addresss of users that want to link to the user.\",\"outgoing\":\"The address that the user wants to link to.\"}},\"grantRole(bytes32,address)\":{\"params\":{\"account\":\"The account to grant the role to\",\"role\":\"The role to grant\"}},\"initialize((address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(address,address,address,address,address,address,address,address,address,address))\":{\"params\":{\"data\":\"The initialization data for the contract\",\"roles\":\"The roles data for initialization\"}},\"isBlacklisted(address)\":{\"params\":{\"_user\":\"The user to check\"},\"returns\":{\"_0\":\"True if the user is blacklisted\"}},\"isDelegatee(address)\":{\"params\":{\"user\":\"The user address\"}},\"isDelegateeInTimepoint(address,uint256)\":{\"params\":{\"timepoint\":\"The timepoint to query\",\"user\":\"The user address\"}},\"isDelegator(address)\":{\"params\":{\"user\":\"The user address\"}},\"isDelegatorInTimepoint(address,uint256)\":{\"params\":{\"timepoint\":\"The timepoint to query\",\"user\":\"The user address\"}},\"isEntity(address)\":{\"params\":{\"user\":\"The user address\"}},\"isEntityInTimepoint(address,uint256)\":{\"params\":{\"timepoint\":\"The timepoint to query\",\"user\":\"The user address\"}},\"isPassport(address)\":{\"params\":{\"user\":\"The user address\"}},\"isPassportInTimepoint(address,uint256)\":{\"params\":{\"timepoint\":\"The timepoint to query\",\"user\":\"The user address\"}},\"isPerson(address)\":{\"params\":{\"user\":\"The address of the user to check\"},\"returns\":{\"person\":\"True if the user is a valid person\",\"reason\":\"Reason why the user is not a person\"}},\"isPersonAtTimepoint(address,uint48)\":{\"details\":\"Checks if a wallet is a person or not at a specific timepoint based on the participation score, blacklisting, and GM holdings\",\"params\":{\"timepoint\":\"- the timepoint to query\",\"user\":\"- the user address\"},\"returns\":{\"person\":\"- true if the user is a person\",\"reason\":\"- the reason why the user is not a person\"}},\"isWhitelisted(address)\":{\"params\":{\"_user\":\"The user to check\"},\"returns\":{\"_0\":\"True if the user is whitelisted\"}},\"linkEntityToPassport(address)\":{\"details\":\"The passport must accept the delegation\"},\"linkEntityToPassportWithSignature(address,uint256,bytes)\":{\"params\":{\"deadline\":\"The deadline for the signature\",\"entity\":\"The entity's address\",\"signature\":\"The signature of the delegation\"}},\"registerAction(address,bytes32)\":{\"params\":{\"appId\":\"- the app id of the action\",\"user\":\"- the user that performed the action\"}},\"registerActionForRound(address,bytes32,uint256)\":{\"params\":{\"appId\":\"- the app id of the action\",\"round\":\"- the round id of the action\",\"user\":\"- the user that performed the action\"}},\"removeEntityLink(address)\":{\"params\":{\"entity\":\"- the entity address\"}},\"removeSignalerFromApp(address)\":{\"params\":{\"user\":\"The signaler address\"}},\"resetUserSignalsWithReason(address,string)\":{\"params\":{\"reason\":\"The reason for resetting the signals\",\"user\":\"The user address\"}},\"revokeRole(bytes32,address)\":{\"params\":{\"account\":\"The account to revoke the role from\",\"role\":\"The role to revoke\"}},\"roundsForCumulativeScore()\":{\"returns\":{\"_0\":\"The number of rounds\"}},\"securityMultiplier(uint8)\":{\"params\":{\"security\":\"The app security level (LOW, MEDIUM, HIGH)\"},\"returns\":{\"_0\":\"The security multiplier for the app\"}},\"setAppSecurity(bytes32,uint8)\":{\"params\":{\"appId\":\"The app ID\",\"security\":\"The security level\"}},\"setDecayRate(uint256)\":{\"params\":{\"decayRate\":\"The decay rate\"}},\"setMaxEntitiesPerPassport(uint256)\":{\"params\":{\"maxEntities\":\"- the maximum number of entities\"}},\"setRoundsForCumulativeScore(uint256)\":{\"params\":{\"rounds\":\"The number of rounds\"}},\"setSecurityMultiplier(uint8,uint256)\":{\"params\":{\"multiplier\":\"The security multiplier\",\"security\":\"The app security level\"}},\"setSignalingThreshold(uint256)\":{\"params\":{\"threshold\":\"The new signaling threshold\"}},\"setThresholdPoPScore(uint208)\":{\"params\":{\"threshold\":\"The threshold score\"}},\"setX2EarnApps(address)\":{\"params\":{\"_x2EarnApps\":\"The X2EarnApps contract address\"}},\"setXAllocationVoting(address)\":{\"params\":{\"xAllocationVoting\":\"The xAllocationVoting contract address\"}},\"signalUser(address)\":{\"params\":{\"_user\":\"The user to signal\"}},\"signalUserWithReason(address,string)\":{\"params\":{\"_user\":\"The user to signal\",\"reason\":\"The reason for the signal\"}},\"signalingThreshold()\":{\"returns\":{\"_0\":\"The signaling threshold\"}},\"thresholdPoPScore()\":{\"returns\":{\"_0\":\"The threshold participation score\"}},\"userAppTotalScore(address,bytes32)\":{\"params\":{\"appId\":\"The app ID\",\"user\":\"The user address\"},\"returns\":{\"_0\":\"The total score of the user for the app\"}},\"userRoundActionCount(address,uint256)\":{\"params\":{\"round\":\"The round to check\",\"user\":\"The user address\"},\"returns\":{\"_0\":\"The number of registered actions for that user and round\"}},\"userRoundActionCountApp(address,uint256,bytes32)\":{\"params\":{\"appId\":\"The app ID\",\"round\":\"The round to check\",\"user\":\"The user address\"},\"returns\":{\"_0\":\"The number of registered actions for that user, app, and round\"}},\"userRoundAppCount(address,uint256)\":{\"params\":{\"round\":\"The round to check\",\"user\":\"The user address\"},\"returns\":{\"_0\":\"The number of distinct apps\"}},\"userRoundScore(address,uint256)\":{\"params\":{\"round\":\"The round to check\",\"user\":\"The user address\"},\"returns\":{\"_0\":\"The round score of the user\"}},\"userRoundScoreApp(address,uint256,bytes32)\":{\"params\":{\"appId\":\"The app ID\",\"round\":\"The round to check\",\"user\":\"The user address\"},\"returns\":{\"_0\":\"The score of the user for the app in the round\"}},\"userTotalScore(address)\":{\"params\":{\"user\":\"The user address\"},\"returns\":{\"_0\":\"The total score of the user\"}},\"version()\":{\"returns\":{\"_0\":\"The version of the contract as a string\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyDelegated(address)\":[{\"notice\":\"Emitted when a user tries to delegate personhood to a user that has already been delegated to.\"}],\"AlreadyLinked(address)\":[{\"notice\":\"Emitted when an an entity is linked to a passport\"}],\"CannotDelegateToSelf(address)\":[{\"notice\":\"Emitted when a user tries to delegate passport to themselves.\"}],\"CannotLinkToSelf(address)\":[{\"notice\":\"Emitted when a user tries to delegate personhood to themselves.\"}],\"DelegatedEntity(address)\":[{\"notice\":\"Thrown when a user tries to link a entity to a passport that is already delegated.\"}],\"InvalidSignature()\":[{\"notice\":\"Emitted when a user tries to sign a message with an invalid signature\"}],\"MaxEntitiesPerPassportReached()\":[{\"notice\":\"Thrown when a user tries to link a entity to a passport that has reached the maximum number of entities.\"}],\"NotDelegated(address)\":[{\"notice\":\"Emitted when a user tries to revoke a delegation that does not exist.\"}],\"NotLinked(address)\":[{\"notice\":\"Thrown when a user tries to link a entity to a passport that is already linked to another entity.\"}],\"OnlyOneLinkAllowed()\":[{\"notice\":\"Emitted when a user tries to delegate personhood to more than one user.\"}],\"OnlyOneUserAllowed()\":[{\"notice\":\"Emitted when a user tries to delegate passport to more than one user.\"}],\"PassportDelegationFromEntity()\":[{\"notice\":\"Emiited when a user tries to delegate a passport to another passport or entity.\"}],\"PassportDelegationToEntity()\":[{\"notice\":\"Emitted when a user tries to delegate a passport to another entity.\"}],\"PassportDelegationUnauthorizedUser(address)\":[{\"notice\":\"Emitted when a user does not have permission to delegate passport.\"}],\"SignatureExpired()\":[{\"notice\":\"Emitted when a user tries to sign a message with an expired signature\"}],\"UnauthorizedUser(address)\":[{\"notice\":\"Emitted when a user does not have permission to delegate personhood.\"}],\"VeBetterPassportUnauthorizedUser(address)\":[{\"notice\":\"Emitted when a user tries to call a function that they are not authorized to call.\"}]},\"events\":{\"CheckToggled(string,bool)\":{\"notice\":\"Emitted when a specific check is toggled.\"},\"DelegationCreated(address,address)\":{\"notice\":\"Emitted when a user delegates passport to another user.\"},\"DelegationPending(address,address)\":{\"notice\":\"Emitted when a user delegates passport to another user pending acceptance.\"},\"DelegationRevoked(address,address)\":{\"notice\":\"Emitted when a user revokes the delegation of passport to another user.\"},\"LinkCreated(address,address)\":{\"notice\":\"Emitted when a user delegates personhood to another user.\"},\"LinkPending(address,address)\":{\"notice\":\"Emitted when a user delegates personhood to another user pending acceptance.\"},\"LinkRemoved(address,address)\":{\"notice\":\"Emitted when a user revokes the delegation of personhood to another user.\"},\"MinimumGalaxyMemberLevelSet(uint256)\":{\"notice\":\"Emitted when the minimum galaxy member level is set.\"},\"RegisteredAction(address,address,bytes32,uint256,uint256)\":{\"notice\":\"Emitted when a user registers an action\"},\"RemovedUserFromBlacklist(address,address)\":{\"notice\":\"Emitted when a user is removed from the blacklist\"},\"RemovedUserFromWhitelist(address,address,address)\":{\"notice\":\"Emitted when a user is removed from the whitelist\"},\"SignalerAssignedToApp(address,bytes32)\":{\"notice\":\"Emited when an address is associated with an app.\"},\"SignalerRemovedFromApp(address,bytes32)\":{\"notice\":\"Emitted when an address is removed from an app.\"},\"UserBlacklisted(address,address)\":{\"notice\":\"Emitted when a user is blacklisted\"},\"UserSignaled(address,address,bytes32,string)\":{\"notice\":\"Emitted when a user is signaled.\"},\"UserSignalsReset(address,string)\":{\"notice\":\"Emitted when a user's signals are reset.\"},\"UserSignalsResetForApp(address,bytes32,string)\":{\"notice\":\"Emitted when a user's signals are reset for an app.\"},\"UserWhitelisted(address,address)\":{\"notice\":\"Emitted when a user is whitelisted\"}},\"kind\":\"user\",\"methods\":{\"CLOCK_MODE()\":{\"notice\":\"Returns the clock mode for the contract\"},\"acceptDelegation(address)\":{\"notice\":\"Allow the delegatee to accept the delegation\"},\"acceptEntityLink(address)\":{\"notice\":\"Allow the passport to accept the delegation\"},\"appRoundActionCount(bytes32,uint256)\":{\"notice\":\"Gets the number of actions distributed by an app in a round\"},\"appSecurity(bytes32)\":{\"notice\":\"Gets the security level of an app\"},\"appTotalSignalsCounter(bytes32)\":{\"notice\":\"Gets the total number of signals for an app\"},\"assignSignalerToApp(bytes32,address)\":{\"notice\":\"Assigns a signaler to an app\"},\"blacklistThreshold()\":{\"notice\":\"Gets the threshold percentage of blacklisted entities for a passport to be considered blacklisted\"},\"cancelOutgoingPendingDelegation()\":{\"notice\":\"Allows a delegator to cancel (and remove) the outgoing pending delegation.\"},\"cancelOutgoingPendingEntityLink()\":{\"notice\":\"Cancel an outgoing pending entity link from the sender.\"},\"clock()\":{\"notice\":\"Returns the current block number\"},\"decayRate()\":{\"notice\":\"Gets the decay rate for the cumulative score\"},\"delegatePassport(address)\":{\"notice\":\"Delegate the personhood to another address\"},\"denyIncomingPendingDelegation(address)\":{\"notice\":\"Allows a delegator to deny (and remove) an incoming pending delegation.\"},\"denyIncomingPendingEntityLink(address)\":{\"notice\":\"Deny an incoming pending entity link to the sender's passport.\"},\"eip712Domain()\":{\"notice\":\"Returns the domain for EIP-712 signature\"},\"getCumulativeScoreWithDecay(address,uint256)\":{\"notice\":\"Gets the cumulative score of a user based on exponential decay for a number of last rounds\"},\"getDelegatee(address)\":{\"notice\":\"Returns the delegatee address for a delegator\"},\"getDelegateeInTimepoint(address,uint256)\":{\"notice\":\"Returns the delegatee address for a delegator at a specific timepoint\"},\"getDelegator(address)\":{\"notice\":\"Returns the delegator address for a delegatee\"},\"getDelegatorInTimepoint(address,uint256)\":{\"notice\":\"Returns the delegator address for a delegatee at a specific timepoint\"},\"getEntitiesLinkedToPassport(address)\":{\"notice\":\"Returns the entity address for a passport\"},\"getMinimumGalaxyMemberLevel()\":{\"notice\":\"Gets the minimum galaxy member level required\"},\"getPassportForEntity(address)\":{\"notice\":\"Returns the passport address for a entity\"},\"getPassportForEntityAtTimepoint(address,uint256)\":{\"notice\":\"Returns the passport address for a entity at a specific timepoint\"},\"getPendingDelegations(address)\":{\"notice\":\"Returns the incoming and outgoing pending delegations for a user\"},\"getPendingLinkings(address)\":{\"notice\":\"Returns the pending links for a user (both incoming and outgoing)\"},\"grantRole(bytes32,address)\":{\"notice\":\"Grants a role to a specific account\"},\"initialize((address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(address,address,address,address,address,address,address,address,address,address))\":{\"notice\":\"Initializes the contract with the required data and roles\"},\"isBlacklisted(address)\":{\"notice\":\"Checks if a user is blacklisted\"},\"isCheckEnabled(uint8)\":{\"notice\":\"Returns if the specific check is enabled\"},\"isDelegatee(address)\":{\"notice\":\"Returns if a user is a delegatee\"},\"isDelegateeInTimepoint(address,uint256)\":{\"notice\":\"Returns if a user is a delegatee at a specific timepoint\"},\"isDelegator(address)\":{\"notice\":\"Returns if a user is a delegator\"},\"isDelegatorInTimepoint(address,uint256)\":{\"notice\":\"Returns if a user is a delegator at a specific timepoint\"},\"isEntity(address)\":{\"notice\":\"Returns if a user is a entity\"},\"isEntityInTimepoint(address,uint256)\":{\"notice\":\"Returns if a user is a entity at a specific timepoint\"},\"isPassport(address)\":{\"notice\":\"Returns if a user is a passport\"},\"isPassportInTimepoint(address,uint256)\":{\"notice\":\"Returns if a user is a passport at a specific timepoint\"},\"isPerson(address)\":{\"notice\":\"Checks if a user is a person based on the participation score and other criteria\"},\"isPersonAtTimepoint(address,uint48)\":{\"notice\":\"Checks if a user is a person\"},\"isWhitelisted(address)\":{\"notice\":\"Checks if a user is whitelisted\"},\"linkEntityToPassport(address)\":{\"notice\":\"Link an account (which will become an entity) to a passport (an address that is not an enitity) After linking, the scores of the enitity will be stored to the linked account (passport) Balance is not transferred and the entity will not be able to vote after linking.\"},\"linkEntityToPassportWithSignature(address,uint256,bytes)\":{\"notice\":\"Link an account (which will become an entity) to a passport (an address that is not an enitity) After linking, the scores of the enitity will be stored to the linked account (passport) Balance is not transferred and the entity will not be able to vote after linking.\"},\"maxEntitiesPerPassport()\":{\"notice\":\"Returns the maximum number of entities per passport\"},\"minimumGalaxyMemberLevel()\":{\"notice\":\"Gets the minimum galaxy member level to be considered a person\"},\"registerAction(address,bytes32)\":{\"notice\":\"Registers an action for a user\"},\"registerActionForRound(address,bytes32,uint256)\":{\"notice\":\"Registers an action for a user in a round\"},\"removeEntityLink(address)\":{\"notice\":\"Remove the linked enitity from the passport\"},\"removeSignalerFromApp(address)\":{\"notice\":\"Removes a signaler from an app\"},\"resetUserSignalsWithReason(address,string)\":{\"notice\":\"Resets the signals of a user with a given reason\"},\"revokeDelegation()\":{\"notice\":\"Revoke the delegation (can be done by the delegator or the delegatee)\"},\"revokeRole(bytes32,address)\":{\"notice\":\"Revokes a role from a specific account\"},\"roundsForCumulativeScore()\":{\"notice\":\"Gets the number of rounds to be considered for the cumulative score\"},\"securityMultiplier(uint8)\":{\"notice\":\"Gets the security multiplier for an app security\"},\"setAppSecurity(bytes32,uint8)\":{\"notice\":\"Sets the app security level for a specific app\"},\"setBlacklistThreshold(uint256)\":{\"notice\":\"Sets the threshold percentage of blacklisted entities for a passport to be considered blacklisted\"},\"setDecayRate(uint256)\":{\"notice\":\"Sets the decay rate for exponential decay scoring\"},\"setMaxEntitiesPerPassport(uint256)\":{\"notice\":\"Sets the maximum number of entities that can be linked to a passport\"},\"setRoundsForCumulativeScore(uint256)\":{\"notice\":\"Sets the number of rounds to consider for cumulative score calculation\"},\"setSecurityMultiplier(uint8,uint256)\":{\"notice\":\"Sets the security multiplier for an app security level\"},\"setSignalingThreshold(uint256)\":{\"notice\":\"Sets the signaling threshold\"},\"setThresholdPoPScore(uint208)\":{\"notice\":\"Sets the threshold score for a user to be considered a person\"},\"setWhitelistThreshold(uint256)\":{\"notice\":\"Sets the threshold percentage of whitelisted entities for a passport to be considered whitelisted\"},\"setX2EarnApps(address)\":{\"notice\":\"Sets the X2EarnApps contract address\"},\"setXAllocationVoting(address)\":{\"notice\":\"Sets the xAllocationVoting contract address\"},\"signalUser(address)\":{\"notice\":\"Signals a user\"},\"signalUserWithReason(address,string)\":{\"notice\":\"Signals a user with a reason\"},\"signalingThreshold()\":{\"notice\":\"Returns the signaling threshold\"},\"thresholdPoPScore()\":{\"notice\":\"Gets the threshold score for a user to be considered a person\"},\"thresholdPoPScoreAtTimepoint(uint48)\":{\"notice\":\"Gets the threshold score for a user to be considered a person at a specific timepoint\"},\"toggleCheck(uint8)\":{\"notice\":\"Toggles the specified check\"},\"userAppTotalScore(address,bytes32)\":{\"notice\":\"Gets the total score of a user for an app\"},\"userInteractedApps(address)\":{\"notice\":\"Gets the list of apps a user has interacted with\"},\"userRoundActionCount(address,uint256)\":{\"notice\":\"Gets how many actions a user registered in a specific round\"},\"userRoundActionCountApp(address,uint256,bytes32)\":{\"notice\":\"Gets how many actions a user registered for an app in a specific round\"},\"userRoundAppCount(address,uint256)\":{\"notice\":\"Gets the number of distinct apps a user has interacted with in a round\"},\"userRoundScore(address,uint256)\":{\"notice\":\"Gets the round score of a user\"},\"userRoundScoreApp(address,uint256,bytes32)\":{\"notice\":\"Gets the score of a user for an app in a specific round\"},\"userTotalScore(address)\":{\"notice\":\"Gets the total score of a user\"},\"userUniqueAppInteraction(address,bytes32)\":{\"notice\":\"Checks if a user has ever interacted with a specific app\"},\"version()\":{\"notice\":\"Gets the version of the contract\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IVeBetterPassport.sol\":\"IVeBetterPassport\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/interfaces/IVoterRewards.sol":{"IVoterRewards":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"EmissionsAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"GMVoteRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"GalaxyMemberAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"LevelToMultiplierPending","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"LevelToMultiplierSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"disabled","type":"bool"}],"name":"QuadraticRewardingDisabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"gmReward","type":"uint256"}],"name":"RewardClaimedV2","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":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"cycle","type":"uint256"},{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"votes","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardWeightedVote","type":"uint256"}],"name":"VoteRegistered","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MULTIPLIER_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VOTE_REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"b3tr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"cycleToTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"cycleToTotalGM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"cycleToTotalGMWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"cycleToVoterToTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_disableQuadraticRewarding","type":"bool"}],"name":"disableQuadraticRewarding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emissions","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"galaxyMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getFreshnessMultipliers","outputs":[{"internalType":"uint256","name":"tier1","type":"uint256"},{"internalType":"uint256","name":"tier2","type":"uint256"},{"internalType":"uint256","name":"tier3","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getGMReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getIntentMultipliers","outputs":[{"internalType":"uint256","name":"forAgainst","type":"uint256"},{"internalType":"uint256","name":"abstain","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getRelayerFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getReward","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":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"hasNodeVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"tokenId","type":"uint256"},{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"hasTokenVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_quadraticRewardingFlag","type":"bool"}],"name":"initializeV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint48","name":"blockNumber","type":"uint48"}],"name":"isQuadraticRewardingDisabledAtBlock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isQuadraticRewardingDisabledForCurrentCycle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"levelToMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalStart","type":"uint256"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"votes","type":"uint256"},{"internalType":"uint256","name":"votePower","type":"uint256"}],"name":"registerVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"relayerRewardsPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":[],"name":"scalingFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_emissions","type":"address"}],"name":"setEmissions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_galaxyMember","type":"address"}],"name":"setGalaxyMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"setLevelToMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newScalingFactor","type":"uint256"}],"name":"setScalingFactor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_voteRegistrar","type":"address"}],"name":"setXallocationVoteRegistrarRole","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":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","MULTIPLIER_SCALE()":"57314870","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","VOTE_REGISTRAR_ROLE()":"de7fd133","b3tr()":"582a486a","claimReward(uint256,address)":"e70eb392","cycleToTotal(uint256)":"c208b4e7","cycleToTotalGM(uint256)":"6a79bd46","cycleToTotalGMWeight(uint256)":"13a23060","cycleToVoterToTotal(uint256,address)":"105fe500","disableQuadraticRewarding(bool)":"b3fe913c","emissions()":"2267716c","galaxyMember()":"2325e4b9","getFreshnessMultipliers(uint256)":"08d059dd","getGMReward(uint256,address)":"84d14f34","getIntentMultipliers(uint256)":"a7381dab","getMultiplier(uint256,uint256)":"8dbb1e3a","getRelayerFee(uint256,address)":"2dc9376f","getReward(uint256,address)":"008f33d7","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasNodeVoted(uint256,uint256)":"eea41608","hasRole(bytes32,address)":"91d14854","hasTokenVoted(uint256,uint256)":"ae075b07","initializeV2(bool)":"41f6659b","isQuadraticRewardingDisabledAtBlock(uint48)":"ee80e932","isQuadraticRewardingDisabledForCurrentCycle()":"71057f75","levelToMultiplier(uint256)":"5fdc1752","proxiableUUID()":"52d1902d","registerVote(uint256,address,uint256,uint256)":"2f18339d","relayerRewardsPool()":"6e8a1823","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","scalingFactor()":"ed3437f8","setEmissions(address)":"08834ee7","setGalaxyMember(address)":"ae0b8da8","setLevelToMultiplier(uint256,uint256)":"b0b3de89","setScalingFactor(uint256)":"672abd2d","setXallocationVoteRegistrarRole(address)":"788bc618","supportsInterface(bytes4)":"01ffc9a7","upgradeToAndCall(address,bytes)":"4f1ef286","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"EmissionsAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"GMVoteRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"GalaxyMemberAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"LevelToMultiplierPending\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"LevelToMultiplierSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"name\":\"QuadraticRewardingDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gmReward\",\"type\":\"uint256\"}],\"name\":\"RewardClaimedV2\",\"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\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rewardWeightedVote\",\"type\":\"uint256\"}],\"name\":\"VoteRegistered\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MULTIPLIER_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VOTE_REGISTRAR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"b3tr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"claimReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"cycleToTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"cycleToTotalGM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"}],\"name\":\"cycleToTotalGMWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"cycleToVoterToTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_disableQuadraticRewarding\",\"type\":\"bool\"}],\"name\":\"disableQuadraticRewarding\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emissions\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"galaxyMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getFreshnessMultipliers\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tier1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tier2\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tier3\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"getGMReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getIntentMultipliers\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forAgainst\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"abstain\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getMultiplier\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"getRelayerFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cycle\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"getReward\",\"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\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"hasNodeVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"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\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"hasTokenVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_quadraticRewardingFlag\",\"type\":\"bool\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"blockNumber\",\"type\":\"uint48\"}],\"name\":\"isQuadraticRewardingDisabledAtBlock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isQuadraticRewardingDisabledForCurrentCycle\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"levelToMultiplier\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalStart\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votePower\",\"type\":\"uint256\"}],\"name\":\"registerVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRewardsPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":[],\"name\":\"scalingFactor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_emissions\",\"type\":\"address\"}],\"name\":\"setEmissions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_galaxyMember\",\"type\":\"address\"}],\"name\":\"setGalaxyMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"setLevelToMultiplier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newScalingFactor\",\"type\":\"uint256\"}],\"name\":\"setScalingFactor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voteRegistrar\",\"type\":\"address\"}],\"name\":\"setXallocationVoteRegistrarRole\",\"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\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Handles reward distribution, vote registration, and role management for the voting system\",\"errors\":{\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"params\":{\"account\":\"The address that lacks permissions\",\"neededRole\":\"The required role\"}}],\"AddressEmptyCode(address)\":[{\"params\":{\"target\":\"The address checked for code\"}}],\"ERC1967InvalidImplementation(address)\":[{\"params\":{\"implementation\":\"The invalid implementation address\"}}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"params\":{\"slot\":\"The invalid UUID slot\"}}]},\"events\":{\"EmissionsAddressUpdated(address,address)\":{\"params\":{\"newAddress\":\"The new emissions address\",\"oldAddress\":\"The previous emissions address\"}},\"GMVoteRegistered(uint256,uint256,uint256,uint256)\":{\"params\":{\"cycle\":\"- The cycle in which the vote was registered.\",\"level\":\"- The level of the Galaxy Member NFT.\",\"multiplier\":\"- The percentage multiplier for the level of the Galaxy Member NFT.\",\"tokenId\":\"- The ID of the Galaxy Member NFT.\"}},\"GalaxyMemberAddressUpdated(address,address)\":{\"params\":{\"newAddress\":\"The new galaxy member address\",\"oldAddress\":\"The previous galaxy member address\"}},\"Initialized(uint64)\":{\"params\":{\"version\":\"The version number\"}},\"LevelToMultiplierPending(uint256,uint256)\":{\"params\":{\"level\":\"- The level of the Galaxy Member NFT.\",\"multiplier\":\"- The percentage multiplier for the level of the Galaxy Member NFT.\"}},\"LevelToMultiplierSet(uint256,uint256)\":{\"params\":{\"level\":\"The level being modified\",\"multiplier\":\"The new multiplier value\"}},\"QuadraticRewardingDisabled(bool)\":{\"params\":{\"disabled\":\"The new disabled state\"}},\"RewardClaimed(uint256,address,uint256)\":{\"details\":\"This event is deprecated, use RewardClaimedV2 instead.\",\"params\":{\"cycle\":\"The reward cycle\",\"reward\":\"The reward amount\",\"voter\":\"The voter's address\"}},\"RewardClaimedV2(uint256,address,uint256,uint256)\":{\"params\":{\"cycle\":\"The reward cycle\",\"gmReward\":\"The GM reward amount\",\"reward\":\"The reward amount\",\"voter\":\"The voter's address\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"params\":{\"newAdminRole\":\"The new admin role\",\"previousAdminRole\":\"The previous admin role\",\"role\":\"The role being modified\"}},\"RoleGranted(bytes32,address,address)\":{\"params\":{\"account\":\"The account receiving the role\",\"role\":\"The role being granted\",\"sender\":\"The account granting the role\"}},\"RoleRevoked(bytes32,address,address)\":{\"params\":{\"account\":\"The account losing the role\",\"role\":\"The role being revoked\",\"sender\":\"The account revoking the role\"}},\"Upgraded(address)\":{\"params\":{\"implementation\":\"The new implementation address\"}},\"VoteRegistered(uint256,address,uint256,uint256)\":{\"params\":{\"cycle\":\"The voting cycle\",\"rewardWeightedVote\":\"The weighted vote amount\",\"voter\":\"The voter's address\",\"votes\":\"Number of votes cast\"}}},\"kind\":\"dev\",\"methods\":{\"DEFAULT_ADMIN_ROLE()\":{\"returns\":{\"_0\":\"bytes32 The admin role identifier\"}},\"UPGRADER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 The upgrader role identifier\"}},\"UPGRADE_INTERFACE_VERSION()\":{\"returns\":{\"_0\":\"string The interface version\"}},\"VOTE_REGISTRAR_ROLE()\":{\"returns\":{\"_0\":\"bytes32 The vote registrar role identifier\"}},\"b3tr()\":{\"returns\":{\"_0\":\"address The B3TR contract address\"}},\"claimReward(uint256,address)\":{\"params\":{\"cycle\":\"The reward cycle\",\"voter\":\"The voter's address\"}},\"cycleToTotal(uint256)\":{\"params\":{\"cycle\":\"The cycle to query\"},\"returns\":{\"_0\":\"uint256 The total rewards\"}},\"cycleToTotalGM(uint256)\":{\"params\":{\"cycle\":\"The cycle to query\"},\"returns\":{\"_0\":\"uint256 The total GM weight\"}},\"cycleToTotalGMWeight(uint256)\":{\"params\":{\"cycle\":\"The cycle to query\"},\"returns\":{\"_0\":\"uint256 The total GM weight\"}},\"cycleToVoterToTotal(uint256,address)\":{\"params\":{\"cycle\":\"The cycle to query\",\"voter\":\"The voter's address\"},\"returns\":{\"_0\":\"uint256 The voter's total\"}},\"disableQuadraticRewarding(bool)\":{\"params\":{\"_disableQuadraticRewarding\":\"The disable flag\"}},\"emissions()\":{\"returns\":{\"_0\":\"address The emissions contract address\"}},\"galaxyMember()\":{\"returns\":{\"_0\":\"address The galaxy member contract address\"}},\"getFreshnessMultipliers(uint256)\":{\"params\":{\"timepoint\":\"The block number to query (typically round snapshot)\"},\"returns\":{\"tier1\":\"Basis points for \\\"updated this round\\\"\",\"tier2\":\"Basis points for \\\"updated within 2 rounds\\\"\",\"tier3\":\"Basis points for \\\"no update >= 3 rounds\\\"\"}},\"getGMReward(uint256,address)\":{\"params\":{\"cycle\":\"The reward cycle\",\"voter\":\"The voter's address\"},\"returns\":{\"_0\":\"uint256 The GM reward amount\"}},\"getIntentMultipliers(uint256)\":{\"params\":{\"timepoint\":\"The block number to query (typically proposal snapshot)\"},\"returns\":{\"abstain\":\"Basis points for Abstain votes\",\"forAgainst\":\"Basis points for For/Against votes\"}},\"getMultiplier(uint256,uint256)\":{\"params\":{\"proposalId\":\"The proposal identifier\",\"tokenId\":\"The token identifier\"},\"returns\":{\"_0\":\"uint256 The multiplier value\"}},\"getRelayerFee(uint256,address)\":{\"params\":{\"cycle\":\"The reward cycle\",\"voter\":\"The voter's address\"},\"returns\":{\"_0\":\"uint256 The relayer fee amount\"}},\"getReward(uint256,address)\":{\"params\":{\"cycle\":\"The reward cycle\",\"voter\":\"The voter's address\"},\"returns\":{\"_0\":\"uint256 The reward amount\"}},\"getRoleAdmin(bytes32)\":{\"params\":{\"role\":\"The role to query\"},\"returns\":{\"_0\":\"bytes32 The admin role\"}},\"grantRole(bytes32,address)\":{\"params\":{\"account\":\"The receiving account\",\"role\":\"The role to grant\"}},\"hasNodeVoted(uint256,uint256)\":{\"params\":{\"nodeId\":\"The node identifier\",\"proposalId\":\"The proposal identifier\"},\"returns\":{\"_0\":\"bool True if voted\"}},\"hasRole(bytes32,address)\":{\"params\":{\"account\":\"The account to check\",\"role\":\"The role to check\"},\"returns\":{\"_0\":\"bool True if account has role\"}},\"hasTokenVoted(uint256,uint256)\":{\"params\":{\"proposalId\":\"The proposal identifier\",\"tokenId\":\"The token identifier\"},\"returns\":{\"_0\":\"bool True if voted\"}},\"initializeV2(bool)\":{\"params\":{\"_quadraticRewardingFlag\":\"The quadratic rewarding flag\"}},\"isQuadraticRewardingDisabledAtBlock(uint48)\":{\"params\":{\"blockNumber\":\"The block number to check\"},\"returns\":{\"_0\":\"bool True if disabled\"}},\"isQuadraticRewardingDisabledForCurrentCycle()\":{\"returns\":{\"_0\":\"bool True if disabled\"}},\"levelToMultiplier(uint256)\":{\"params\":{\"level\":\"The level to query\"},\"returns\":{\"_0\":\"uint256 The multiplier value\"}},\"proxiableUUID()\":{\"returns\":{\"_0\":\"bytes32 The UUID\"}},\"registerVote(uint256,address,uint256,uint256)\":{\"params\":{\"proposalStart\":\"The proposal start time\",\"votePower\":\"The vote power\",\"voter\":\"The voter's address\",\"votes\":\"Number of votes\"}},\"relayerRewardsPool()\":{\"returns\":{\"_0\":\"address The RelayerRewardsPool contract address\"}},\"renounceRole(bytes32,address)\":{\"params\":{\"callerConfirmation\":\"The caller's address for confirmation\",\"role\":\"The role to renounce\"}},\"revokeRole(bytes32,address)\":{\"params\":{\"account\":\"The account to revoke from\",\"role\":\"The role to revoke\"}},\"scalingFactor()\":{\"returns\":{\"_0\":\"uint256 The scaling factor\"}},\"setEmissions(address)\":{\"params\":{\"_emissions\":\"The new emissions address\"}},\"setGalaxyMember(address)\":{\"params\":{\"_galaxyMember\":\"The new galaxy member address\"}},\"setLevelToMultiplier(uint256,uint256)\":{\"params\":{\"level\":\"The level to set\",\"multiplier\":\"The new multiplier value\"}},\"setScalingFactor(uint256)\":{\"params\":{\"newScalingFactor\":\"The new scaling factor\"}},\"setXallocationVoteRegistrarRole(address)\":{\"params\":{\"_voteRegistrar\":\"The new vote registrar address\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The interface identifier\"},\"returns\":{\"_0\":\"bool True if supported\"}},\"upgradeToAndCall(address,bytes)\":{\"params\":{\"data\":\"The function call data\",\"newImplementation\":\"The new implementation address\"}},\"version()\":{\"returns\":{\"_0\":\"string The version string\"}}},\"title\":\"IVoterRewards Interface\",\"version\":1},\"userdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"notice\":\"Thrown when access control confirmation is invalid\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"notice\":\"Thrown when account doesn't have required role\"}],\"AddressEmptyCode(address)\":[{\"notice\":\"Thrown when target address contains no code\"}],\"ERC1967InvalidImplementation(address)\":[{\"notice\":\"Thrown when implementation is invalid for ERC1967\"}],\"ERC1967NonPayable()\":[{\"notice\":\"Thrown when non-payable function receives Ether\"}],\"FailedInnerCall()\":[{\"notice\":\"Thrown when internal call fails\"}],\"InvalidInitialization()\":[{\"notice\":\"Thrown when contract is initialized again\"}],\"NotInitializing()\":[{\"notice\":\"Thrown when function called outside initialization\"}],\"ReentrancyGuardReentrantCall()\":[{\"notice\":\"Thrown on reentrant call\"}],\"UUPSUnauthorizedCallContext()\":[{\"notice\":\"Thrown when upgrade called from unauthorized context\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"notice\":\"Thrown when UUID doesn't match UUPS\"}]},\"events\":{\"EmissionsAddressUpdated(address,address)\":{\"notice\":\"Emitted when emissions address is updated\"},\"GMVoteRegistered(uint256,uint256,uint256,uint256)\":{\"notice\":\"GM NFT vote is registered.\"},\"GalaxyMemberAddressUpdated(address,address)\":{\"notice\":\"Emitted when galaxy member address is updated\"},\"Initialized(uint64)\":{\"notice\":\"Emitted when contract is initialized\"},\"LevelToMultiplierPending(uint256,uint256)\":{\"notice\":\"Emitted when the level to multiplier mapping is updated and will be applied to the next cycle.\"},\"LevelToMultiplierSet(uint256,uint256)\":{\"notice\":\"Emitted when level multiplier is set\"},\"QuadraticRewardingDisabled(bool)\":{\"notice\":\"Emitted when quadratic rewarding is toggled\"},\"RewardClaimed(uint256,address,uint256)\":{\"notice\":\"Emitted when reward is claimed\"},\"RewardClaimedV2(uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when reward is claimed, V2.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"notice\":\"Emitted when role admin is changed\"},\"RoleGranted(bytes32,address,address)\":{\"notice\":\"Emitted when role is granted\"},\"RoleRevoked(bytes32,address,address)\":{\"notice\":\"Emitted when role is revoked\"},\"Upgraded(address)\":{\"notice\":\"Emitted when contract is upgraded\"},\"VoteRegistered(uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when vote is registered\"}},\"kind\":\"user\",\"methods\":{\"DEFAULT_ADMIN_ROLE()\":{\"notice\":\"Gets the default admin role\"},\"MULTIPLIER_SCALE()\":{\"notice\":\"Returns the basis points scale constant (10000 = 1x)\"},\"UPGRADER_ROLE()\":{\"notice\":\"Gets the upgrader role\"},\"UPGRADE_INTERFACE_VERSION()\":{\"notice\":\"Gets the interface version\"},\"VOTE_REGISTRAR_ROLE()\":{\"notice\":\"Gets the vote registrar role\"},\"b3tr()\":{\"notice\":\"Gets the B3TR token address\"},\"claimReward(uint256,address)\":{\"notice\":\"Claims reward for a voter in a cycle\"},\"cycleToTotal(uint256)\":{\"notice\":\"Gets total rewards for a cycle\"},\"cycleToTotalGM(uint256)\":{\"notice\":\"Gets total GM weight for a cycle\"},\"cycleToTotalGMWeight(uint256)\":{\"notice\":\"Gets total GM weight for a cycle\"},\"cycleToVoterToTotal(uint256,address)\":{\"notice\":\"Gets voter's total for a cycle\"},\"disableQuadraticRewarding(bool)\":{\"notice\":\"Disables quadratic rewarding\"},\"emissions()\":{\"notice\":\"Gets the emissions contract address\"},\"galaxyMember()\":{\"notice\":\"Gets the galaxy member contract address\"},\"getFreshnessMultipliers(uint256)\":{\"notice\":\"Returns freshness multiplier values at a given timepoint\"},\"getGMReward(uint256,address)\":{\"notice\":\"Gets GM reward amount for voter in cycle\"},\"getIntentMultipliers(uint256)\":{\"notice\":\"Returns governance intent multiplier values at a given timepoint\"},\"getMultiplier(uint256,uint256)\":{\"notice\":\"Gets multiplier for token and proposal\"},\"getRelayerFee(uint256,address)\":{\"notice\":\"Gets relayer fee for voter in cycle\"},\"getReward(uint256,address)\":{\"notice\":\"Gets reward amount for voter in cycle\"},\"getRoleAdmin(bytes32)\":{\"notice\":\"Gets admin role for a role\"},\"grantRole(bytes32,address)\":{\"notice\":\"Grants role to account\"},\"hasNodeVoted(uint256,uint256)\":{\"notice\":\"Checks if node has voted on proposal\"},\"hasRole(bytes32,address)\":{\"notice\":\"Checks if account has role\"},\"hasTokenVoted(uint256,uint256)\":{\"notice\":\"Checks if token has voted on proposal\"},\"initializeV2(bool)\":{\"notice\":\"Initializes V2 of contract\"},\"isQuadraticRewardingDisabledAtBlock(uint48)\":{\"notice\":\"Checks if quadratic rewarding disabled at block\"},\"isQuadraticRewardingDisabledForCurrentCycle()\":{\"notice\":\"Checks if quadratic rewarding disabled for current cycle\"},\"levelToMultiplier(uint256)\":{\"notice\":\"Gets multiplier for level\"},\"proxiableUUID()\":{\"notice\":\"Gets the proxiable UUID\"},\"registerVote(uint256,address,uint256,uint256)\":{\"notice\":\"Registers a vote\"},\"relayerRewardsPool()\":{\"notice\":\"Gets the RelayerRewardsPool contract address\"},\"renounceRole(bytes32,address)\":{\"notice\":\"Renounces role for caller\"},\"revokeRole(bytes32,address)\":{\"notice\":\"Revokes role from account\"},\"scalingFactor()\":{\"notice\":\"Gets the scaling factor\"},\"setEmissions(address)\":{\"notice\":\"Sets the emissions address\"},\"setGalaxyMember(address)\":{\"notice\":\"Sets the galaxy member address\"},\"setLevelToMultiplier(uint256,uint256)\":{\"notice\":\"Sets multiplier for level\"},\"setScalingFactor(uint256)\":{\"notice\":\"Sets the scaling factor\"},\"setXallocationVoteRegistrarRole(address)\":{\"notice\":\"Sets the vote registrar role\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if interface is supported\"},\"upgradeToAndCall(address,bytes)\":{\"notice\":\"Upgrades contract and calls function\"},\"version()\":{\"notice\":\"Gets the contract version\"}},\"notice\":\"Interface for managing voter rewards, roles, emissions, and galaxy membership\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IVoterRewards.sol\":\"IVoterRewards\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]}},\"version\":1}"}},"contracts/interfaces/IX2EarnApps.sol":{"IX2EarnApps":{"abi":[{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"CooldownNotExpired","type":"error"},{"inputs":[{"internalType":"address","name":"creator","type":"address"}],"name":"CreatorNFTAlreadyUsed","type":"error"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"name":"ERC5805FutureLookup","type":"error"},{"inputs":[],"name":"ERC6372InconsistentClock","type":"error"},{"inputs":[],"name":"EndorsementsPaused","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ExceedsMaxPointsPerApp","type":"error"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ExceedsMaxPointsPerNode","type":"error"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"uint256","name":"available","type":"uint256"},{"internalType":"uint256","name":"requested","type":"uint256"}],"name":"InsufficientAvailablePoints","type":"error"},{"inputs":[],"name":"InvalidPointsAmount","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"NodeManagementXAppAlreadyIncluded","type":"error"},{"inputs":[],"name":"NodeNotAllowedToEndorse","type":"error"},{"inputs":[{"internalType":"address","name":"creator","type":"address"}],"name":"X2EarnAlreadyCreator","type":"error"},{"inputs":[],"name":"X2EarnAlreadyEndorser","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnAppAlreadyEndorsed","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnAppAlreadyExists","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnAppBlacklisted","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"X2EarnInvalidAddress","type":"error"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"X2EarnInvalidAllocationPercentage","type":"error"},{"inputs":[],"name":"X2EarnInvalidStartIndex","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnMaxCreatorsReached","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnMaxManagersReached","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnMaxModeratorsReached","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnMaxRewardDistributorsReached","type":"error"},{"inputs":[],"name":"X2EarnNodeCooldownActive","type":"error"},{"inputs":[],"name":"X2EarnNonEndorser","type":"error"},{"inputs":[],"name":"X2EarnNonNodeHolder","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnNonexistentApp","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"creator","type":"address"}],"name":"X2EarnNonexistentCreator","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"moderator","type":"address"}],"name":"X2EarnNonexistentModerator","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"distributorAddress","type":"address"}],"name":"X2EarnNonexistentRewardDistributor","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"X2EarnUnauthorizedUser","type":"error"},{"inputs":[{"internalType":"address","name":"creator","type":"address"}],"name":"X2EarnUnverifiedCreator","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":false,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"name":"AppAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AppAdminUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"nodeId","type":"uint256"},{"indexed":false,"internalType":"address","name":"endorser","type":"address"},{"indexed":false,"internalType":"uint256","name":"points","type":"uint256"}],"name":"AppEndorsed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"endorsed","type":"bool"}],"name":"AppEndorsementStatusUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"string","name":"oldMetadataURI","type":"string"},{"indexed":false,"internalType":"string","name":"newMetadataURI","type":"string"}],"name":"AppMetadataURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"AppSelfBlacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"nodeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"points","type":"uint256"}],"name":"AppUnendorsed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"uint48","name":"startBlock","type":"uint48"},{"indexed":false,"internalType":"uint48","name":"endBlock","type":"uint48"}],"name":"AppUnendorsedGracePeriodStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"oldBaseURI","type":"string"},{"indexed":false,"internalType":"string","name":"newBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"isBlacklisted","type":"bool"}],"name":"BlacklistUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldCooldownPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newCooldownPeriod","type":"uint256"}],"name":"CooldownPeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"creatorAddress","type":"address"}],"name":"CreatorAddedToApp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"creator","type":"address"}],"name":"CreatorRemovedFromApp","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"EndorsementScoreThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"paused","type":"bool"}],"name":"EndorsementsPausedUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldGracePeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newGracePeriod","type":"uint256"}],"name":"GracePeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldMax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"MaxPointsPerAppUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldMax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"MaxPointsPerNodePerAppUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"moderator","type":"address"}],"name":"ModeratorAddedToApp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"moderator","type":"address"}],"name":"ModeratorRemovedFromApp","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"thunder","type":"uint256"},{"internalType":"uint256","name":"mjolnir","type":"uint256"},{"internalType":"uint256","name":"veThorX","type":"uint256"},{"internalType":"uint256","name":"strengthX","type":"uint256"},{"internalType":"uint256","name":"thunderX","type":"uint256"},{"internalType":"uint256","name":"mjolnirX","type":"uint256"}],"indexed":true,"internalType":"struct EndorsementUtils.NodeStrengthScores","name":"nodeStrengthScores","type":"tuple"}],"name":"NodeStrengthScoresUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"distributorAddress","type":"address"}],"name":"RewardDistributorAddedToApp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"distributorAddress","type":"address"}],"name":"RewardDistributorRemovedFromApp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"oldPercentage","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newPercentage","type":"uint256"}],"name":"TeamAllocationPercentageUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"oldTeamWalletAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newTeamWalletAddress","type":"address"}],"name":"TeamWalletAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"isAvailable","type":"bool"}],"name":"VotingEligibilityUpdated","type":"event"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"moderator","type":"address"}],"name":"addAppModerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"creator","type":"address"}],"name":"addCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"distributorAddress","type":"address"}],"name":"addRewardDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allEligibleApps","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"app","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"appAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"appCreators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"appExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"apps","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"canUnendorse","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"checkEndorsement","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creator","type":"address"}],"name":"creatorApps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"enableRewardsPoolForNewApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"uint256","name":"points","type":"uint256"}],"name":"endorseApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endorsementScoreThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endorsementsPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getEndorserNodes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getEndorsers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeActiveEndorsements","outputs":[{"components":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"points","type":"uint256"},{"internalType":"uint256","name":"endorsedAtRound","type":"uint256"}],"internalType":"struct X2EarnAppsStorageTypes.Endorsement[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeAvailablePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeEndorsementScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodePointsInfo","outputs":[{"components":[{"internalType":"uint256","name":"totalPoints","type":"uint256"},{"internalType":"uint256","name":"usedPoints","type":"uint256"},{"internalType":"uint256","name":"availablePoints","type":"uint256"},{"internalType":"uint256","name":"lockedPoints","type":"uint256"}],"internalType":"struct X2EarnAppsStorageTypes.NodePointsInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getScoreAtTimepoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUsersEndorsementScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gracePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"hashAppName","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxPointsPerNodePerApp","type":"uint256"},{"internalType":"uint256","name":"_maxPointsPerApp","type":"uint256"}],"name":"initializeV8","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"isAppAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"isAppUnendorsed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creator","type":"address"}],"name":"isCreatorOfAnyApp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"isEligible","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"distributorAddress","type":"address"}],"name":"isRewardDistributor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"markMigrationComplete","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxPointsPerApp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPointsPerNodePerApp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"}],"name":"nodeLevelEndorsementScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pauseEndorsements","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"creator","type":"address"}],"name":"removeAppCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"moderator","type":"address"}],"name":"removeAppModerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_appId","type":"bytes32"},{"internalType":"uint256","name":"_nodeId","type":"uint256"}],"name":"removeNodeEndorsement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"distributorAddress","type":"address"}],"name":"removeRewardDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_appId","type":"bytes32"}],"name":"removeXAppSubmission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"uint256","name":"points","type":"uint256"}],"name":"seedEndorsement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_appId","type":"bytes32"}],"name":"selfBlacklistApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"admin","type":"address"}],"name":"setAppAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxPoints","type":"uint256"}],"name":"setMaxPointsPerApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxPoints","type":"uint256"}],"name":"setMaxPointsPerNodePerApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"setTeamAllocationPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_appId","type":"bytes32"},{"internalType":"bool","name":"_isEligible","type":"bool"}],"name":"setVotingEligibility","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_teamWalletAddress","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"string","name":"_appName","type":"string"},{"internalType":"string","name":"_appMetadataURI","type":"string"}],"name":"submitApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"teamAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"teamWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"uint256","name":"points","type":"uint256"}],"name":"unendorseApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unendorsedAppIds","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unendorsedApps","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpauseEndorsements","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"string","name":"metadataURI","type":"string"}],"name":"updateAppMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCooldownPeriod","type":"uint256"}],"name":"updateCooldownPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_scoreThreshold","type":"uint256"}],"name":"updateEndorsementScoreThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint48","name":"_newGracePeriod","type":"uint48"}],"name":"updateGracePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"thunder","type":"uint256"},{"internalType":"uint256","name":"mjolnir","type":"uint256"},{"internalType":"uint256","name":"veThorX","type":"uint256"},{"internalType":"uint256","name":"strengthX","type":"uint256"},{"internalType":"uint256","name":"thunderX","type":"uint256"},{"internalType":"uint256","name":"mjolnirX","type":"uint256"}],"internalType":"struct EndorsementUtils.NodeStrengthScores","name":"_nodeStrengthScores","type":"tuple"}],"name":"updateNodeEndorsementScores","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"address","name":"newTeamWalletAddress","type":"address"}],"name":"updateTeamWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"addAppModerator(bytes32,address)":"0cb212e1","addCreator(bytes32,address)":"993f8d36","addRewardDistributor(bytes32,address)":"83802165","allEligibleApps()":"c04cff19","app(bytes32)":"785d6e18","appAdmin(bytes32)":"2c35f428","appCreators(bytes32)":"b747e2e9","appExists(bytes32)":"607bfb24","apps()":"f7703379","baseURI()":"6c0360eb","canUnendorse(uint256,bytes32)":"ccd4baca","checkEndorsement(bytes32)":"a099a192","cooldownPeriod()":"04646a49","creatorApps(address)":"6912f1f6","enableRewardsPoolForNewApp(bytes32)":"1a25071f","endorseApp(bytes32,uint256,uint256)":"109eea01","endorsementScoreThreshold()":"f1a962ac","endorsementsPaused()":"b90a30ea","getEndorserNodes(bytes32)":"5cfdd470","getEndorsers(bytes32)":"44bb58f7","getNodeActiveEndorsements(uint256)":"44532be2","getNodeAvailablePoints(uint256)":"e9f9739d","getNodeEndorsementScore(uint256)":"42c89f52","getNodePointsInfo(uint256)":"5dd3a4f1","getScore(bytes32)":"7ba53285","getScoreAtTimepoint(bytes32,uint256)":"9ab17c9b","getUsersEndorsementScore(address)":"c996c624","gracePeriod()":"a06db7dc","hashAppName(string)":"34b0e6b3","initializeV8(uint256,uint256)":"27d91b0e","isAppAdmin(bytes32,address)":"8e3a29dc","isAppUnendorsed(bytes32)":"c7b24f30","isBlacklisted(bytes32)":"6b623bbe","isCreatorOfAnyApp(address)":"bcbd410c","isEligible(bytes32,uint256)":"d2570b94","isRewardDistributor(bytes32,address)":"b58a7547","markMigrationComplete()":"c296b1d2","maxPointsPerApp()":"5cbc2ffb","maxPointsPerNodePerApp()":"4a0c4a42","nodeLevelEndorsementScore(uint8)":"acdb9f05","pauseEndorsements()":"9294b7a4","removeAppCreator(bytes32,address)":"9fa949ad","removeAppModerator(bytes32,address)":"2589a49d","removeNodeEndorsement(bytes32,uint256)":"e123cd0c","removeRewardDistributor(bytes32,address)":"a06bb129","removeXAppSubmission(bytes32)":"0ab12e14","seedEndorsement(bytes32,uint256,uint256)":"ee9419cf","selfBlacklistApp(bytes32)":"76cd2fa5","setAppAdmin(bytes32,address)":"833d29b4","setMaxPointsPerApp(uint256)":"51d2a6e3","setMaxPointsPerNodePerApp(uint256)":"6fb44f5f","setTeamAllocationPercentage(bytes32,uint256)":"54933bf0","setVotingEligibility(bytes32,bool)":"0765ef60","submitApp(address,address,string,string)":"169efd47","teamAllocationPercentage(bytes32)":"826b9a4e","teamWalletAddress(bytes32)":"1772503b","unendorseApp(bytes32,uint256,uint256)":"6939cec8","unendorsedAppIds()":"d6418b8a","unendorsedApps()":"03bc087f","unpauseEndorsements()":"1d6dbc78","updateAppMetadata(bytes32,string)":"e9a1fee4","updateCooldownPeriod(uint256)":"861f6bfd","updateEndorsementScoreThreshold(uint256)":"4f77fe12","updateGracePeriod(uint48)":"0bf4f68e","updateNodeEndorsementScores((uint256,uint256,uint256,uint256,uint256,uint256,uint256))":"0e1fb61a","updateTeamWalletAddress(bytes32,address)":"6165267c","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"CooldownNotExpired\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"CreatorNFTAlreadyUsed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EndorsementsPaused\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"ExceedsMaxPointsPerApp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"ExceedsMaxPointsPerNode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"available\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"}],\"name\":\"InsufficientAvailablePoints\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPointsAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"NodeManagementXAppAlreadyIncluded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeNotAllowedToEndorse\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"X2EarnAlreadyCreator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"X2EarnAlreadyEndorser\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnAppAlreadyEndorsed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnAppAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnAppBlacklisted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"X2EarnInvalidAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"percentage\",\"type\":\"uint256\"}],\"name\":\"X2EarnInvalidAllocationPercentage\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"X2EarnInvalidStartIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnMaxCreatorsReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnMaxManagersReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnMaxModeratorsReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnMaxRewardDistributorsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"X2EarnNodeCooldownActive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"X2EarnNonEndorser\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"X2EarnNonNodeHolder\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnNonexistentApp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"X2EarnNonexistentCreator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"}],\"name\":\"X2EarnNonexistentModerator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"distributorAddress\",\"type\":\"address\"}],\"name\":\"X2EarnNonexistentRewardDistributor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"X2EarnUnauthorizedUser\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"X2EarnUnverifiedCreator\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"name\":\"AppAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AppAdminUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"endorser\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"}],\"name\":\"AppEndorsed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"endorsed\",\"type\":\"bool\"}],\"name\":\"AppEndorsementStatusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"oldMetadataURI\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newMetadataURI\",\"type\":\"string\"}],\"name\":\"AppMetadataURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"AppSelfBlacklisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"}],\"name\":\"AppUnendorsed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"startBlock\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"endBlock\",\"type\":\"uint48\"}],\"name\":\"AppUnendorsedGracePeriodStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBlacklisted\",\"type\":\"bool\"}],\"name\":\"BlacklistUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldCooldownPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newCooldownPeriod\",\"type\":\"uint256\"}],\"name\":\"CooldownPeriodUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creatorAddress\",\"type\":\"address\"}],\"name\":\"CreatorAddedToApp\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"CreatorRemovedFromApp\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"EndorsementScoreThresholdUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"}],\"name\":\"EndorsementsPausedUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldGracePeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newGracePeriod\",\"type\":\"uint256\"}],\"name\":\"GracePeriodUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldMax\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMax\",\"type\":\"uint256\"}],\"name\":\"MaxPointsPerAppUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldMax\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMax\",\"type\":\"uint256\"}],\"name\":\"MaxPointsPerNodePerAppUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"}],\"name\":\"ModeratorAddedToApp\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"}],\"name\":\"ModeratorRemovedFromApp\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"thunder\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mjolnir\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"veThorX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strengthX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"thunderX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mjolnirX\",\"type\":\"uint256\"}],\"indexed\":true,\"internalType\":\"struct EndorsementUtils.NodeStrengthScores\",\"name\":\"nodeStrengthScores\",\"type\":\"tuple\"}],\"name\":\"NodeStrengthScoresUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"distributorAddress\",\"type\":\"address\"}],\"name\":\"RewardDistributorAddedToApp\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"distributorAddress\",\"type\":\"address\"}],\"name\":\"RewardDistributorRemovedFromApp\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldPercentage\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newPercentage\",\"type\":\"uint256\"}],\"name\":\"TeamAllocationPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldTeamWalletAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTeamWalletAddress\",\"type\":\"address\"}],\"name\":\"TeamWalletAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isAvailable\",\"type\":\"bool\"}],\"name\":\"VotingEligibilityUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"}],\"name\":\"addAppModerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"addCreator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"distributorAddress\",\"type\":\"address\"}],\"name\":\"addRewardDistributor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allEligibleApps\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"app\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"appAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"appCreators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"appExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"apps\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"canUnendorse\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"checkEndorsement\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cooldownPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"creatorApps\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"enableRewardsPoolForNewApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"}],\"name\":\"endorseApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endorsementScoreThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endorsementsPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getEndorserNodes\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getEndorsers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeActiveEndorsements\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endorsedAtRound\",\"type\":\"uint256\"}],\"internalType\":\"struct X2EarnAppsStorageTypes.Endorsement[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeAvailablePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeEndorsementScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodePointsInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"totalPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"usedPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"availablePoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockedPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct X2EarnAppsStorageTypes.NodePointsInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getScoreAtTimepoint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUsersEndorsementScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gracePeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"hashAppName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxPointsPerNodePerApp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_maxPointsPerApp\",\"type\":\"uint256\"}],\"name\":\"initializeV8\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isAppAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"isAppUnendorsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"isBlacklisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"isCreatorOfAnyApp\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"isEligible\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"distributorAddress\",\"type\":\"address\"}],\"name\":\"isRewardDistributor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"markMigrationComplete\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxPointsPerApp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxPointsPerNodePerApp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"}],\"name\":\"nodeLevelEndorsementScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseEndorsements\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"removeAppCreator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"moderator\",\"type\":\"address\"}],\"name\":\"removeAppModerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_nodeId\",\"type\":\"uint256\"}],\"name\":\"removeNodeEndorsement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"distributorAddress\",\"type\":\"address\"}],\"name\":\"removeRewardDistributor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_appId\",\"type\":\"bytes32\"}],\"name\":\"removeXAppSubmission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"}],\"name\":\"seedEndorsement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_appId\",\"type\":\"bytes32\"}],\"name\":\"selfBlacklistApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"setAppAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxPoints\",\"type\":\"uint256\"}],\"name\":\"setMaxPointsPerApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxPoints\",\"type\":\"uint256\"}],\"name\":\"setMaxPointsPerNodePerApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"percentage\",\"type\":\"uint256\"}],\"name\":\"setTeamAllocationPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_appId\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"_isEligible\",\"type\":\"bool\"}],\"name\":\"setVotingEligibility\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_admin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_appName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_appMetadataURI\",\"type\":\"string\"}],\"name\":\"submitApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"teamAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"teamWalletAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"}],\"name\":\"unendorseApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unendorsedAppIds\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unendorsedApps\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpauseEndorsements\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"name\":\"updateAppMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCooldownPeriod\",\"type\":\"uint256\"}],\"name\":\"updateCooldownPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_scoreThreshold\",\"type\":\"uint256\"}],\"name\":\"updateEndorsementScoreThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"_newGracePeriod\",\"type\":\"uint48\"}],\"name\":\"updateGracePeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"thunder\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mjolnir\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"veThorX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strengthX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"thunderX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mjolnirX\",\"type\":\"uint256\"}],\"internalType\":\"struct EndorsementUtils.NodeStrengthScores\",\"name\":\"_nodeStrengthScores\",\"type\":\"tuple\"}],\"name\":\"updateNodeEndorsementScores\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newTeamWalletAddress\",\"type\":\"address\"}],\"name\":\"updateTeamWalletAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The contract inheriting this interface should be able to manage the x2earn apps and their Eligibility for allocation voting.\",\"errors\":{\"CooldownNotExpired(uint256,bytes32)\":[{\"details\":\"Cooldown period not expired for the specified node-app endorsement.\"}],\"CreatorNFTAlreadyUsed(address)\":[{\"details\":\"The creator NFT is already used for another app.\"}],\"ERC5805FutureLookup(uint256,uint48)\":[{\"details\":\"Lookup to future votes is not available.\"}],\"ERC6372InconsistentClock()\":[{\"details\":\"The clock was incorrectly modified.\"}],\"EndorsementsPaused()\":[{\"details\":\"Endorsements are currently paused (during migration).\"}],\"ExceedsMaxPointsPerApp(bytes32,uint256,uint256)\":[{\"details\":\"Exceeds maximum points allowed per app.\"}],\"ExceedsMaxPointsPerNode(uint256,bytes32,uint256)\":[{\"details\":\"Exceeds maximum points a single node can endorse to one app.\"}],\"InsufficientAvailablePoints(uint256,uint256,uint256)\":[{\"details\":\"Node doesn't have enough available points.\"}],\"InvalidPointsAmount()\":[{\"details\":\"Invalid points amount provided.\"}],\"NodeNotAllowedToEndorse()\":[{\"details\":\"The user has a node that cannot be used to endorse\"}],\"X2EarnAlreadyCreator(address)\":[{\"details\":\"The caller is already the creator of the app.\"}],\"X2EarnAlreadyEndorser()\":[{\"details\":\"The caller is already an endorser.\"}],\"X2EarnAppAlreadyEndorsed(bytes32)\":[{\"details\":\"The `appId` is already endorsed.\"}],\"X2EarnAppAlreadyExists(bytes32)\":[{\"details\":\"An app with the specified `appId` already exists.\"}],\"X2EarnAppBlacklisted(bytes32)\":[{\"details\":\"The app is blacklisted.\"}],\"X2EarnInvalidAddress(address)\":[{\"details\":\"The `addr` is not valid (eg: is the ZERO ADDRESS).\"}],\"X2EarnInvalidAllocationPercentage(uint256)\":[{\"details\":\"The `percentage` is not valid.\"}],\"X2EarnInvalidStartIndex()\":[{\"details\":\"Invalid start index for get apps pagination\"}],\"X2EarnMaxCreatorsReached(bytes32)\":[{\"details\":\"The maximum number of creators has been reached.\"}],\"X2EarnMaxManagersReached(bytes32)\":[{\"details\":\"The maximum number of managers has been reached.\"}],\"X2EarnMaxModeratorsReached(bytes32)\":[{\"details\":\"The maximum number of moderators has been reached.\"}],\"X2EarnMaxRewardDistributorsReached(bytes32)\":[{\"details\":\"The maximum number of reward distributors has been reached.\"}],\"X2EarnNodeCooldownActive()\":[{\"details\":\"The Vechain Node is in a cooldown period, and the action cannot be performed.\"}],\"X2EarnNonEndorser()\":[{\"details\":\"The caller is not an endorser.\"}],\"X2EarnNonNodeHolder()\":[{\"details\":\"The caller is not a node holder.\"}],\"X2EarnNonexistentApp(bytes32)\":[{\"details\":\"The `appId` doesn't exist.\"}],\"X2EarnNonexistentCreator(bytes32,address)\":[{\"details\":\"The creator of the app doesn't exist.\"}],\"X2EarnNonexistentModerator(bytes32,address)\":[{\"details\":\"The `moderator` is not valid.\"}],\"X2EarnNonexistentRewardDistributor(bytes32,address)\":[{\"details\":\"The `distributorAddress` is not valid.\"}],\"X2EarnUnauthorizedUser(address)\":[{\"details\":\"The user is not authorized to perform the action.\"}],\"X2EarnUnverifiedCreator(address)\":[{\"details\":\"The caller is an unverified creator.\"}]},\"events\":{\"AppAdded(bytes32,address,string,bool)\":{\"details\":\"Event fired when a new app is added.\"},\"AppAdminUpdated(bytes32,address,address)\":{\"details\":\"Event fired when the admin of an app changes.\"},\"AppEndorsed(bytes32,uint256,address,uint256)\":{\"details\":\"V8: Event fired when an app is endorsed with points.\"},\"AppEndorsementStatusUpdated(bytes32,bool)\":{\"details\":\"Event fired when the app endorsement status is updated.\"},\"AppMetadataURIUpdated(bytes32,string,string)\":{\"details\":\"Event fired when the metadata URI of the app is changed.\"},\"AppSelfBlacklisted(bytes32,address)\":{\"details\":\"V8: Event fired when an app admin voluntarily delists their app.\"},\"AppUnendorsed(bytes32,uint256,uint256)\":{\"details\":\"V8: Event fired when an app is unendorsed.\"},\"AppUnendorsedGracePeriodStarted(bytes32,uint48,uint48)\":{\"details\":\"Event fired when the app endorsement grace period is started.\"},\"BaseURIUpdated(string,string)\":{\"details\":\"Event fired when the base URI is updated.\"},\"BlacklistUpdated(bytes32,bool)\":{\"details\":\"Event fired when an app is blacklisted or unblacklisted.\"},\"CooldownPeriodUpdated(uint256,uint256)\":{\"details\":\"Event fired when the cooldown period duration is updated.\"},\"CreatorAddedToApp(bytes32,address)\":{\"details\":\"Event fired when the admin adds a new creator to the app and new creator NFT is minted.\"},\"CreatorRemovedFromApp(bytes32,address)\":{\"details\":\"Event fired when the admin removes a creator from the app.\"},\"EndorsementScoreThresholdUpdated(uint256,uint256)\":{\"details\":\"Event fired when the score threshold is updated.\"},\"EndorsementsPausedUpdated(bool)\":{\"details\":\"V8: Event fired when endorsements paused state changes.\"},\"GracePeriodUpdated(uint256,uint256)\":{\"details\":\"Event fired when the grace period duration is updated.\"},\"MaxPointsPerAppUpdated(uint256,uint256)\":{\"details\":\"V8: Event fired when max points per app is updated.\"},\"MaxPointsPerNodePerAppUpdated(uint256,uint256)\":{\"details\":\"V8: Event fired when max points per node per app is updated.\"},\"ModeratorAddedToApp(bytes32,address)\":{\"details\":\"Event fired when the admin adds a new moderator to the app.\"},\"ModeratorRemovedFromApp(bytes32,address)\":{\"details\":\"Event fired when the admin removes a moderator from the app.\"},\"NodeStrengthScoresUpdated((uint256,uint256,uint256,uint256,uint256,uint256,uint256))\":{\"details\":\"Event fired when the node strength scores are updated.\"},\"RewardDistributorAddedToApp(bytes32,address)\":{\"details\":\"Event fired when the admin adds a new reward distributor to the app.\"},\"RewardDistributorRemovedFromApp(bytes32,address)\":{\"details\":\"Event fired when the admin removes a reward distributor from the app.\"},\"TeamAllocationPercentageUpdated(bytes32,uint256,uint256)\":{\"details\":\"Event fired when the team allocation percentage is updated.\"},\"TeamWalletAddressUpdated(bytes32,address,address)\":{\"details\":\"Event fired when the address where the x2earn app receives allocation funds is changed.\"},\"VotingEligibilityUpdated(bytes32,bool)\":{\"details\":\"Event fired when an app Eligibility for allocation voting changes.\"}},\"kind\":\"dev\",\"methods\":{\"addAppModerator(bytes32,address)\":{\"details\":\"Add a new moderator to the app.\",\"params\":{\"appId\":\"the id of the app\",\"moderator\":\"the address of the moderator Emits a {ModeratorAddedToApp} event.\"}},\"addCreator(bytes32,address)\":{\"details\":\"Add a new creator to the app.\",\"params\":{\"appId\":\"the id of the app\",\"creator\":\"the address of the creator Emits a {CreatorAddedToApp} event.\"}},\"addRewardDistributor(bytes32,address)\":{\"details\":\"Add a new reward distributor to the app.\",\"params\":{\"appId\":\"the id of the app\",\"distributorAddress\":\"the address of the reward distributor Emits a {RewardDistributorAddedToApp} event.\"}},\"allEligibleApps()\":{\"details\":\"Get all the app ids that are eligible for voting in the next allocation rounds.\"},\"app(bytes32)\":{\"details\":\"Get the app data by its id.\",\"params\":{\"appId\":\"the id of the app\"}},\"appAdmin(bytes32)\":{\"details\":\"Get the app admin.\",\"params\":{\"appId\":\"the id of the app\"}},\"appCreators(bytes32)\":{\"details\":\"Get the creators of an app.\",\"params\":{\"appId\":\"the id of the app\"}},\"appExists(bytes32)\":{\"details\":\"Check if there is an app with the specified `appId`.This function should be used to check if an app exists is part of the VeBetter DAO ecosystem.\",\"params\":{\"appId\":\"the id of the app\"}},\"apps()\":{\"details\":\"An XApp must have been included in at least one allocation round to be considered an existing app.\"},\"baseURI()\":{\"details\":\"return the base URI for the contract\"},\"checkEndorsement(bytes32)\":{\"details\":\"This function is intended to be called by a cron job prior to the start of each voting round. If the app has less than 100 points, the grace period elasped is checked. If the grace period elapsed by the app is greater than the threshold grace period, the app is marked as not eligible for voting. If an endorser has lost its node status (level 0), it is removed from the endorsers list.\",\"params\":{\"appId\":\"The unique identifier of the app being checked.\"},\"returns\":{\"_0\":\"True if the app is eligible for voting.\"}},\"cooldownPeriod()\":{\"details\":\"Get the cooldown period for a node in seconds.\"},\"creatorApps(address)\":{\"details\":\"Get the number of apps created by an account.\",\"params\":{\"creator\":\"the address of the creator\"}},\"enableRewardsPoolForNewApp(bytes32)\":{\"details\":\"Enable the rewards pool for a new app.\",\"params\":{\"appId\":\"the id of the app\"}},\"endorseApp(bytes32,uint256,uint256)\":{\"params\":{\"appId\":\"The app to endorse.\",\"nodeId\":\"The node endorsing.\",\"points\":\"Number of points to endorse.\"}},\"endorsementScoreThreshold()\":{\"details\":\"Get the score threshold.\"},\"getEndorsers(bytes32)\":{\"details\":\"Get the endorsers of an app.\",\"params\":{\"appId\":\"the id of the app\"}},\"getNodeEndorsementScore(uint256)\":{\"details\":\"Get the endorsersment score of a node ID.\",\"params\":{\"nodeId\":\"the ID of a node.\"}},\"getScore(bytes32)\":{\"details\":\"Get the endorsement score of an app.\",\"params\":{\"appId\":\"the id of the app\"}},\"getScoreAtTimepoint(bytes32,uint256)\":{\"params\":{\"appId\":\"The unique identifier of the app.\",\"timepoint\":\"The block number to query.\"},\"returns\":{\"_0\":\"The endorsement score at the given timepoint.\"}},\"getUsersEndorsementScore(address)\":{\"details\":\"Get the endorsersment score of an individual.\",\"params\":{\"user\":\"the address of the user who holds a NODE\"}},\"gracePeriod()\":{\"details\":\"return the grace period for an XApp to find new endorsers after the previous one was removed.\"},\"hashAppName(string)\":{\"details\":\"Generates the hash of the app name to be used as the app id.\",\"params\":{\"name\":\"the name of the app\"}},\"isAppAdmin(bytes32,address)\":{\"details\":\"Check if an account is the admin of the app\",\"params\":{\"account\":\"the address of the account\",\"appId\":\"the hashed name of the app\"}},\"isAppUnendorsed(bytes32)\":{\"details\":\"return true if an app is pending for endorsement.\"},\"isBlacklisted(bytes32)\":{\"details\":\"Check if an app is blacklisted.\",\"params\":{\"appId\":\"the id of the app\"}},\"isCreatorOfAnyApp(address)\":{\"details\":\"Check if a creator has already been used for another app.\",\"params\":{\"creator\":\"the address of the creator\"}},\"isEligible(bytes32,uint256)\":{\"details\":\"Check if an app was allowed to participate in the allocation rounds in a specific timepoint. XAllocationVoting contract can use this function to check if an app was eligible for voting in the block when the round starts.\",\"params\":{\"appId\":\"the id of the app\",\"timepoint\":\"the timepoint when the app should be checked for Eligibility\"}},\"isRewardDistributor(bytes32,address)\":{\"details\":\"Returns true if an account is a reward distributor of the app\",\"params\":{\"appId\":\"the id of the app\",\"distributorAddress\":\"the address of the account\"}},\"nodeLevelEndorsementScore(uint8)\":{\"params\":{\"nodeLevel\":\"The strength level of the node.\"},\"returns\":{\"_0\":\"uint256 The endorsement score of the node level.\"}},\"removeAppCreator(bytes32,address)\":{\"details\":\"Remove a creator from the app.\",\"params\":{\"appId\":\"the id of the app\",\"creator\":\"the address of the creator Emits a {CreatorRemovedFromApp} event.\"}},\"removeAppModerator(bytes32,address)\":{\"details\":\"Remove a moderator from the app.\",\"params\":{\"appId\":\"the id of the app\",\"moderator\":\"the address of the moderator Emits a {ModeratorRemovedFromApp} event.\"}},\"removeNodeEndorsement(bytes32,uint256)\":{\"details\":\"Can only be valled by DEFAULT_ADMIN or XAPP admin\",\"params\":{\"_appId\":\"The unique identifier of the app that wishes to be unendorsed.\",\"_nodeId\":\"The unique identifier of the node they wish to remove from their list of endorsers.\"}},\"removeRewardDistributor(bytes32,address)\":{\"details\":\"Remove a reward distributor from the app.\",\"params\":{\"appId\":\"the id of the app\",\"distributorAddress\":\"the address of the reward distributor Emits a {RewardDistributorRemovedFromApp} event.\"}},\"removeXAppSubmission(bytes32)\":{\"details\":\"Remove an XApps submission.\"},\"selfBlacklistApp(bytes32)\":{\"details\":\"Blacklists the app and revokes creator NFTs. Only governance can restore.\",\"params\":{\"_appId\":\"The unique identifier of the app.\"}},\"setAppAdmin(bytes32,address)\":{\"details\":\"Set the app admin.\",\"params\":{\"admin\":\"the address of the admin Emits a {AppAdminUpdated} event.\",\"appId\":\"the id of the app\"}},\"setTeamAllocationPercentage(bytes32,uint256)\":{\"details\":\"Update the allocation percentage to be sent to the team\",\"params\":{\"appId\":\"the id of the app\",\"percentage\":\"the new percentage of the allocation\"}},\"setVotingEligibility(bytes32,bool)\":{\"details\":\"Allow or deny an app to participate in the next allocation voting rounds.\",\"params\":{\"_appId\":\"the id of the app\",\"_isEligible\":\"true if the app should be eligible for voting, false otherwise Emits a {VotingEligibilityUpdated} event.\"}},\"submitApp(address,address,string,string)\":{\"details\":\"Register a new app.\",\"params\":{\"_admin\":\"the address of the admin\",\"_appMetadataURI\":\"the metadata URI of the app Emits a {AppAdded} event.\",\"_appName\":\"the name of the app\",\"_teamWalletAddress\":\"the address where the app will receive the allocation funds\"}},\"teamAllocationPercentage(bytes32)\":{\"details\":\"Function to get the percentage of the allocation sent to the team address each round.\",\"params\":{\"appId\":\"the app id\"}},\"teamWalletAddress(bytes32)\":{\"details\":\"Get the address where the x2earn app receives allocation funds.\",\"params\":{\"appId\":\"the id of the app\"}},\"unendorseApp(bytes32,uint256,uint256)\":{\"params\":{\"appId\":\"The app to unendorse.\",\"nodeId\":\"The node unendorsing.\",\"points\":\"Number of points to remove (0 = remove all).\"}},\"unendorsedAppIds()\":{\"returns\":{\"_0\":\"the ids of the apps that are pending for endorsement\"}},\"unendorsedApps()\":{\"returns\":{\"_0\":\"the information about the apps that are pending for endorsement\"}},\"updateAppMetadata(bytes32,string)\":{\"details\":\"Update the metadata URI of the app.\",\"params\":{\"appId\":\"the id of the app\",\"metadataURI\":\"the new metadata URI of the app containing details about the app Emits a {AppMetadataURIUpdated} event.\"}},\"updateCooldownPeriod(uint256)\":{\"params\":{\"_newCooldownPeriod\":\"The new cooldown period. Emits a {CooldownPeriodUpdated} event.\"}},\"updateEndorsementScoreThreshold(uint256)\":{\"details\":\"This should be minimum endorsement score required for an app to be eligible for voting.\",\"params\":{\"_scoreThreshold\":\"the new score threshold Emits a {EndorsementScoreThresholdUpdated} event.\"}},\"updateGracePeriod(uint48)\":{\"params\":{\"_newGracePeriod\":\"The new grace period. Emits a {GracePeriodUpdated} event.\"}},\"updateNodeEndorsementScores((uint256,uint256,uint256,uint256,uint256,uint256,uint256))\":{\"details\":\"Update the the endorsement scores of each node level.\",\"params\":{\"_nodeStrengthScores\":\"The node level scores to update. Emits a {NodeStrengthScoreUpdated} event.\"}},\"updateTeamWalletAddress(bytes32,address)\":{\"details\":\"Update the address where the x2earn app receives allocation funds.\",\"params\":{\"appId\":\"the id of the app\",\"newTeamWalletAddress\":\"the new address where the app should receive allocation funds Emits a {TeamWalletAddressUpdated} event.\"}},\"version()\":{\"details\":\"This should be updated every time a new version of implementation is deployed.\"}},\"title\":\"IX2EarnApps\",\"version\":1},\"userdoc\":{\"errors\":{\"NodeManagementXAppAlreadyIncluded(bytes32)\":[{\"notice\":\"Error indicating that an XAPP has already been included in a XAllocation Voting round and submission cant be removed.\"}]},\"kind\":\"user\",\"methods\":{\"appExists(bytes32)\":{\"notice\":\"An app is considered to exist if it has been included in at least one allocation round.\"},\"apps()\":{\"notice\":\"Get all the apps that exist in the VeBetter DAO ecosystem.\"},\"canUnendorse(uint256,bytes32)\":{\"notice\":\"Check if node can unendorse an app (cooldown expired).\"},\"checkEndorsement(bytes32)\":{\"notice\":\"Checks endorsements for a given app and updates its voting eligibility based on the endorsements' scores.\"},\"endorseApp(bytes32,uint256,uint256)\":{\"notice\":\"Endorse an app with a specified number of points.\"},\"endorsementsPaused()\":{\"notice\":\"Check if endorsements are paused.\"},\"getEndorserNodes(bytes32)\":{\"notice\":\"Get all endorser node IDs for an app.\"},\"getNodeActiveEndorsements(uint256)\":{\"notice\":\"Get all active endorsements for a node.\"},\"getNodeAvailablePoints(uint256)\":{\"notice\":\"Get available endorsement points for a node.\"},\"getNodePointsInfo(uint256)\":{\"notice\":\"Get comprehensive info about a node's endorsement points.\"},\"getScoreAtTimepoint(bytes32,uint256)\":{\"notice\":\"Returns the endorsement score for an app at a specific block number.\"},\"initializeV8(uint256,uint256)\":{\"notice\":\"V8 initializer for flexible endorsement config.\"},\"markMigrationComplete()\":{\"notice\":\"Mark migration as complete.\"},\"maxPointsPerApp()\":{\"notice\":\"Get max points per app.\"},\"maxPointsPerNodePerApp()\":{\"notice\":\"Get max points per node per app.\"},\"nodeLevelEndorsementScore(uint8)\":{\"notice\":\"this function returns the endorsement score of a node level\"},\"pauseEndorsements()\":{\"notice\":\"Pause endorsement operations.\"},\"removeNodeEndorsement(bytes32,uint256)\":{\"notice\":\"This function can be called by an XAPP admin that wishes to remove an endorserment from a specific node ID\"},\"seedEndorsement(bytes32,uint256,uint256)\":{\"notice\":\"Seed endorsement during migration.\"},\"selfBlacklistApp(bytes32)\":{\"notice\":\"Allows an app admin to voluntarily blacklist their app from allocation voting.\"},\"setMaxPointsPerApp(uint256)\":{\"notice\":\"Set max total points per app.\"},\"setMaxPointsPerNodePerApp(uint256)\":{\"notice\":\"Set max points per node per app.\"},\"unendorseApp(bytes32,uint256,uint256)\":{\"notice\":\"Unendorse an app by removing points.\"},\"unendorsedAppIds()\":{\"notice\":\"Gets the ids of all apps that are looking for endorsement.\"},\"unendorsedApps()\":{\"notice\":\"Gets the information about all apps that are looking for endorsement.\"},\"unpauseEndorsements()\":{\"notice\":\"Unpause endorsement operations.\"},\"updateCooldownPeriod(uint256)\":{\"notice\":\"Function to update the cooldown period.\"},\"updateEndorsementScoreThreshold(uint256)\":{\"notice\":\"Update the endorsement score threshold\"},\"updateGracePeriod(uint48)\":{\"notice\":\"Function to update the grace period.\"},\"version()\":{\"notice\":\"Get the version of the contract.\"}},\"notice\":\"Interface for the X2EarnApps contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IX2EarnApps.sol\":\"IX2EarnApps\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/interfaces/IX2EarnCreator.sol":{"IX2EarnCreator":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","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":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"safeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"selfMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"selfMintEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"balanceOf(address)":"70a08231","burn(uint256)":"42966c68","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","pause()":"8456cb59","paused()":"5c975abb","revokeRole(bytes32,address)":"d547741f","safeMint(address)":"40d097c3","selfMint()":"e495d3e5","selfMintEnabled()":"e6e05f88","supportsInterface(bytes4)":"01ffc9a7","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","unpause()":"3f4ba83a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"safeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"selfMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"selfMintEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"balanceOf(address)\":{\"params\":{\"owner\":\"Address to query the balance of\"},\"returns\":{\"_0\":\"Balance of tokens held by `owner`\"}},\"burn(uint256)\":{\"params\":{\"tokenId\":\"The ID of the token to burn\"}},\"grantRole(bytes32,address)\":{\"params\":{\"account\":\"The account to grant the role to\",\"role\":\"The role to assign\"}},\"hasRole(bytes32,address)\":{\"params\":{\"account\":\"The account to check\",\"role\":\"The role identifier\"},\"returns\":{\"_0\":\"Boolean indicating if the account has the role\"}},\"paused()\":{\"returns\":{\"_0\":\"Boolean indicating whether the contract is paused\"}},\"revokeRole(bytes32,address)\":{\"params\":{\"account\":\"The account to revoke the role from\",\"role\":\"The role to revoke\"}},\"safeMint(address)\":{\"params\":{\"to\":\"The address to receive the token\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The interface identifier\"},\"returns\":{\"_0\":\"Boolean indicating if the interface is supported\"}},\"tokenByIndex(uint256)\":{\"params\":{\"index\":\"Index of the token in the total supply\"},\"returns\":{\"_0\":\"Token ID at the specified `index`\"}},\"tokenOfOwnerByIndex(address,uint256)\":{\"params\":{\"index\":\"Index of the token in the owner's list of tokens\",\"owner\":\"Address owning the tokens\"},\"returns\":{\"_0\":\"Token ID owned by `owner` at the specified `index`\"}},\"tokenURI(uint256)\":{\"params\":{\"tokenId\":\"The ID of the token\"},\"returns\":{\"_0\":\"The URI pointing to the token's metadata\"}},\"totalSupply()\":{\"returns\":{\"_0\":\"Total supply of tokens\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"balanceOf(address)\":{\"notice\":\"Returns the balance of tokens held by `owner`\"},\"burn(uint256)\":{\"notice\":\"Burns a specified token, removing it from circulation\"},\"grantRole(bytes32,address)\":{\"notice\":\"Grants a role to an account\"},\"hasRole(bytes32,address)\":{\"notice\":\"Checks if an account has a specific role\"},\"pause()\":{\"notice\":\"Pauses all minting and burning functions\"},\"paused()\":{\"notice\":\"Returns whether the contract is paused\"},\"revokeRole(bytes32,address)\":{\"notice\":\"Revokes a role from an account\"},\"safeMint(address)\":{\"notice\":\"Mints a new token to the specified address\"},\"selfMint()\":{\"notice\":\"Allows a user to mint a Creator NFT to themselves when self-minting is enabled\"},\"selfMintEnabled()\":{\"notice\":\"Returns whether self-minting is enabled\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the contract supports a specific interface\"},\"tokenByIndex(uint256)\":{\"notice\":\"Gets the token ID at a specific global `index`\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"notice\":\"Gets the token ID owned by `owner` at a specific `index`\"},\"tokenURI(uint256)\":{\"notice\":\"Retrieves the token URI for a given token ID\"},\"totalSupply()\":{\"notice\":\"Gets the total number of tokens in existence\"},\"unpause()\":{\"notice\":\"Unpauses minting and burning functions\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IX2EarnCreator.sol\":\"IX2EarnCreator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]}},\"version\":1}"}},"contracts/interfaces/IX2EarnRewardsPool.sol":{"IX2EarnRewardsPool":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"AppPaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"AppUnpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"depositor","type":"address"}],"name":"NewDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"bytes","name":"lowLevelData","type":"bytes"}],"name":"RegisterActionFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"string","name":"proof","type":"string"},{"indexed":true,"internalType":"address","name":"distributor","type":"address"}],"name":"RewardDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"string","name":"metadata","type":"string"},{"indexed":true,"internalType":"address","name":"distributor","type":"address"}],"name":"RewardMetadata","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"enable","type":"bool"}],"name":"RewardsPoolBalanceEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"availableFunds","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardsPoolBalance","type":"uint256"}],"name":"RewardsPoolBalanceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"teamWallet","type":"address"},{"indexed":false,"internalType":"address","name":"withdrawer","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"TeamWithdrawal","type":"event"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"availableFunds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string[]","name":"proofTypes","type":"string[]"},{"internalType":"string[]","name":"proofValues","type":"string[]"},{"internalType":"string[]","name":"impactCodes","type":"string[]"},{"internalType":"uint256[]","name":"impactValues","type":"uint256[]"},{"internalType":"string","name":"description","type":"string"}],"name":"buildProof","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"deposit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"string","name":"proof","type":"string"}],"name":"distributeReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"string","name":"proof","type":"string"}],"name":"distributeRewardDeprecated","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"string","name":"proof","type":"string"},{"internalType":"uint256","name":"actionRound","type":"uint256"}],"name":"distributeRewardForRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"string[]","name":"proofTypes","type":"string[]"},{"internalType":"string[]","name":"proofValues","type":"string[]"},{"internalType":"string[]","name":"impactCodes","type":"string[]"},{"internalType":"uint256[]","name":"impactValues","type":"uint256[]"},{"internalType":"string","name":"description","type":"string"}],"name":"distributeRewardWithProof","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"string[]","name":"proofTypes","type":"string[]"},{"internalType":"string[]","name":"proofValues","type":"string[]"},{"internalType":"string[]","name":"impactCodes","type":"string[]"},{"internalType":"uint256[]","name":"impactValues","type":"uint256[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"metadata","type":"string"}],"name":"distributeRewardWithProofAndMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"string[]","name":"proofTypes","type":"string[]"},{"internalType":"string[]","name":"proofValues","type":"string[]"},{"internalType":"string[]","name":"impactCodes","type":"string[]"},{"internalType":"uint256[]","name":"impactValues","type":"uint256[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"metadata","type":"string"},{"internalType":"uint256","name":"actionRound","type":"uint256"}],"name":"distributeRewardWithProofAndMetadataForRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"string[]","name":"proofTypes","type":"string[]"},{"internalType":"string[]","name":"proofValues","type":"string[]"},{"internalType":"string[]","name":"impactCodes","type":"string[]"},{"internalType":"uint256[]","name":"impactValues","type":"uint256[]"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"actionRound","type":"uint256"}],"name":"distributeRewardWithProofForRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"enableRewardsPoolForNewApp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"isDistributionPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"isRewardsPoolEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"rewardsPoolBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"totalBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"availableFunds(bytes32)":"f2744334","buildProof(string[],string[],string[],uint256[],string)":"4879ed08","deposit(uint256,bytes32)":"c9630cb0","distributeReward(bytes32,uint256,address,string)":"f7335f11","distributeRewardDeprecated(bytes32,uint256,address,string)":"69933c78","distributeRewardForRound(bytes32,uint256,address,string,uint256)":"ad0f96b1","distributeRewardWithProof(bytes32,uint256,address,string[],string[],string[],uint256[],string)":"7b924532","distributeRewardWithProofAndMetadata(bytes32,uint256,address,string[],string[],string[],uint256[],string,string)":"0eb11eb8","distributeRewardWithProofAndMetadataForRound(bytes32,uint256,address,string[],string[],string[],uint256[],string,string,uint256)":"2a308afa","distributeRewardWithProofForRound(bytes32,uint256,address,string[],string[],string[],uint256[],string,uint256)":"6b2c1bb8","enableRewardsPoolForNewApp(bytes32)":"1a25071f","isDistributionPaused(bytes32)":"8a7793b1","isRewardsPoolEnabled(bytes32)":"b81ddb2e","rewardsPoolBalance(bytes32)":"60dbdd08","totalBalance(bytes32)":"b51fc445","version()":"54fd4d50","withdraw(uint256,bytes32,string)":"cfe706b3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"AppPaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"AppUnpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"}],\"name\":\"NewDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"lowLevelData\",\"type\":\"bytes\"}],\"name\":\"RegisterActionFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"proof\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"distributor\",\"type\":\"address\"}],\"name\":\"RewardDistributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadata\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"distributor\",\"type\":\"address\"}],\"name\":\"RewardMetadata\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"RewardsPoolBalanceEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"availableFunds\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rewardsPoolBalance\",\"type\":\"uint256\"}],\"name\":\"RewardsPoolBalanceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teamWallet\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"TeamWithdrawal\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"availableFunds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"proofTypes\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"proofValues\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"impactCodes\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"impactValues\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"buildProof\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proof\",\"type\":\"string\"}],\"name\":\"distributeReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proof\",\"type\":\"string\"}],\"name\":\"distributeRewardDeprecated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"proof\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"actionRound\",\"type\":\"uint256\"}],\"name\":\"distributeRewardForRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"proofTypes\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"proofValues\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"impactCodes\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"impactValues\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"distributeRewardWithProof\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"proofTypes\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"proofValues\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"impactCodes\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"impactValues\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadata\",\"type\":\"string\"}],\"name\":\"distributeRewardWithProofAndMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"proofTypes\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"proofValues\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"impactCodes\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"impactValues\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadata\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"actionRound\",\"type\":\"uint256\"}],\"name\":\"distributeRewardWithProofAndMetadataForRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"proofTypes\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"proofValues\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"impactCodes\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"impactValues\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"actionRound\",\"type\":\"uint256\"}],\"name\":\"distributeRewardWithProofForRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"enableRewardsPoolForNewApp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"isDistributionPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"isRewardsPoolEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"rewardsPoolBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"totalBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface designed to be used by a contract that allows x2Earn apps to reward users that performed sustainable actions. Funds can be deposited into this contract by specifying the app id that can access the funds. Admins of x2EarnApps can withdraw funds from the rewards pool, whihc are sent to the team wallet.\",\"events\":{\"AppPaused(bytes32,address)\":{\"details\":\"Event emitted when an app's reward distribution is paused.\",\"params\":{\"admin\":\"The address of the admin who paused the app.\",\"appId\":\"The ID of the app that was paused.\"}},\"AppUnpaused(bytes32,address)\":{\"details\":\"Event emitted when an app's reward distribution is unpaused.\",\"params\":{\"admin\":\"The address of the admin who unpaused the app.\",\"appId\":\"The ID of the app that was unpaused.\"}},\"NewDeposit(uint256,bytes32,address)\":{\"details\":\"Event emitted when a new deposit is made into the rewards pool.\",\"params\":{\"amount\":\"The amount of $B3TR deposited.\",\"appId\":\"The ID of the app for which the deposit was made.\",\"depositor\":\"The address of the user that deposited the funds.\"}},\"RegisterActionFailed(string,bytes)\":{\"details\":\"Event emitted when the proof of sustainability external contract call fails.\",\"params\":{\"lowLevelData\":\"The low level data returned by the external contract.\",\"reason\":\"The reason for the failure.\"}},\"RewardDistributed(uint256,bytes32,address,string,address)\":{\"details\":\"Event emitted when a reward is emitted by an app.\",\"params\":{\"amount\":\"The amount of $B3TR rewarded.\",\"appId\":\"The ID of the app that emitted the reward.\",\"distributor\":\"The address of the user that distributed the reward.\",\"proof\":\"The proof of the sustainable action that was performed.\",\"receiver\":\"The address of the user that received the reward.\"}},\"RewardMetadata(uint256,bytes32,address,string,address)\":{\"details\":\"Event emitted when a reward is emitted by an app with proof and metadata.\",\"params\":{\"amount\":\"The amount of $B3TR rewarded.\",\"appId\":\"The ID of the app that emitted the reward.\",\"distributor\":\"The address of the user that distributed the reward.\",\"metadata\":\"The metadata of the sustainable action that was performed.\",\"receiver\":\"The address of the user that received the reward.\"}},\"RewardsPoolBalanceEnabled(bytes32,bool)\":{\"details\":\"Event emitted when the admin configure the rewards pool balance\",\"params\":{\"appId\":\"- the app ID\",\"enable\":\"- true to enable, false to disable\"}},\"RewardsPoolBalanceUpdated(bytes32,uint256,uint256,uint256)\":{\"details\":\"Event emitted when the balance of the rewards pool for an app is initialized or updated.\",\"params\":{\"amount\":\"The amount being added or removed from the rewards pool.\",\"appId\":\"The ID of the app for which the balance was updated.\",\"availableFunds\":\"The current balance of the available funds for the app.\",\"rewardsPoolBalance\":\"The current balance of the rewards pool for the app.\"}},\"TeamWithdrawal(uint256,bytes32,address,address,string)\":{\"details\":\"Event emitted when a team withdraws funds from the rewards pool.\",\"params\":{\"amount\":\"The amount of $B3TR withdrawn.\",\"appId\":\"The ID of the app for which the withdrawal was made.\",\"reason\":\"The reason for the withdrawal.\",\"teamWallet\":\"The address of the team wallet that received the funds.\",\"withdrawer\":\"The address of the user that withdrew the funds.\"}}},\"kind\":\"dev\",\"methods\":{\"availableFunds(bytes32)\":{\"details\":\"Gets the amount of funds available for an app to withdraw and reward user if the dual-pool is disabled.\",\"params\":{\"appId\":\"The ID of the app.\"}},\"buildProof(string[],string[],string[],uint256[],string)\":{\"details\":\"Builds the JSON proof string that will be stored on chain regarding the proofs, impacts and description of the sustainable action.\",\"params\":{\"description\":\"the description of the sustainable action\",\"impactCodes\":\"the codes of the impacts of the sustainable action\",\"impactValues\":\"the values of the impacts of the sustainable action\",\"proofTypes\":\"the types of the proof of the sustainable action\",\"proofValues\":\"the values of the proof of the sustainable action\"}},\"deposit(uint256,bytes32)\":{\"details\":\"Function used by x2earn apps to deposit funds into the rewards pool.\",\"params\":{\"amount\":\"The amount of $B3TR to deposit.\",\"appId\":\"The ID of the app.\"}},\"distributeReward(bytes32,uint256,address,string)\":{\"details\":\"Function used by x2earn apps to reward users that performed sustainable actions.\",\"params\":{\"amount\":\"the amount of B3TR token the user is rewarded with\",\"appId\":\"the app id that is emitting the reward\",\"proof\":\"deprecated argument, pass an empty string instead\",\"receiver\":\"the address of the user that performed the sustainable action and is rewarded\"}},\"distributeRewardDeprecated(bytes32,uint256,address,string)\":{\"details\":\"Function used by x2earn apps to reward users that performed sustainable actions.\",\"params\":{\"amount\":\"the amount of B3TR token the user is rewarded with\",\"appId\":\"the app id that is emitting the reward\",\"proof\":\"the JSON string that contains the proof and impact of the sustainable action\",\"receiver\":\"the address of the user that performed the sustainable action and is rewarded\"}},\"distributeRewardForRound(bytes32,uint256,address,string,uint256)\":{\"details\":\"Function used by x2earn apps to reward users and attribute the action to a specific round.\",\"params\":{\"actionRound\":\"the round in which the action was actually performed\",\"amount\":\"the amount of B3TR token the user is rewarded with\",\"appId\":\"the app id that is emitting the reward\",\"proof\":\"deprecated argument, pass an empty string instead\",\"receiver\":\"the address of the user that performed the sustainable action and is rewarded\"}},\"distributeRewardWithProof(bytes32,uint256,address,string[],string[],string[],uint256[],string)\":{\"details\":\"Function used by x2earn apps to reward users that performed sustainable actions.\",\"params\":{\"amount\":\"the amount of B3TR token the user is rewarded with\",\"appId\":\"the app id that is emitting the reward\",\"description\":\"the description of the sustainable action\",\"impactCodes\":\"the codes of the impacts of the sustainable action\",\"impactValues\":\"the values of the impacts of the sustainable action\",\"proofTypes\":\"the types of the proof of the sustainable action\",\"proofValues\":\"the values of the proof of the sustainable action\",\"receiver\":\"the address of the user that performed the sustainable action and is rewarded\"}},\"distributeRewardWithProofAndMetadata(bytes32,uint256,address,string[],string[],string[],uint256[],string,string)\":{\"details\":\"Function used by x2earn apps to reward users that performed sustainable actions and emit metadata event.\",\"params\":{\"amount\":\"the amount of B3TR token the user is rewarded with\",\"appId\":\"the app id that is emitting the reward\",\"description\":\"the description of the sustainable action\",\"impactCodes\":\"the codes of the impacts of the sustainable action\",\"impactValues\":\"the values of the impacts of the sustainable action\",\"metadata\":\"the metadata of the sustainable action\",\"proofTypes\":\"the types of the proof of the sustainable action\",\"proofValues\":\"the values of the proof of the sustainable action\",\"receiver\":\"the address of the user that performed the sustainable action and is rewarded\"}},\"distributeRewardWithProofAndMetadataForRound(bytes32,uint256,address,string[],string[],string[],uint256[],string,string,uint256)\":{\"details\":\"Function used by x2earn apps to reward users with proof, metadata and attribute the action to a specific round.\",\"params\":{\"actionRound\":\"the round in which the action was actually performed\",\"amount\":\"the amount of B3TR token the user is rewarded with\",\"appId\":\"the app id that is emitting the reward\",\"description\":\"the description of the sustainable action\",\"impactCodes\":\"the codes of the impacts of the sustainable action\",\"impactValues\":\"the values of the impacts of the sustainable action\",\"metadata\":\"the metadata of the sustainable action\",\"proofTypes\":\"the types of the proof of the sustainable action\",\"proofValues\":\"the values of the proof of the sustainable action\",\"receiver\":\"the address of the user that performed the sustainable action and is rewarded\"}},\"distributeRewardWithProofForRound(bytes32,uint256,address,string[],string[],string[],uint256[],string,uint256)\":{\"details\":\"Function used by x2earn apps to reward users with proof and attribute the action to a specific round.\",\"params\":{\"actionRound\":\"the round in which the action was actually performed\",\"amount\":\"the amount of B3TR token the user is rewarded with\",\"appId\":\"the app id that is emitting the reward\",\"description\":\"the description of the sustainable action\",\"impactCodes\":\"the codes of the impacts of the sustainable action\",\"impactValues\":\"the values of the impacts of the sustainable action\",\"proofTypes\":\"the types of the proof of the sustainable action\",\"proofValues\":\"the values of the proof of the sustainable action\",\"receiver\":\"the address of the user that performed the sustainable action and is rewarded\"}},\"enableRewardsPoolForNewApp(bytes32)\":{\"details\":\"Enables the rewards pool for a newly created app.\",\"params\":{\"appId\":\"The ID of the app.\"}},\"isDistributionPaused(bytes32)\":{\"details\":\"Gets whether the distribution is paused or not for a specific xApp\",\"params\":{\"appId\":\"The ID of the app.\"}},\"isRewardsPoolEnabled(bytes32)\":{\"details\":\"Gets either the dual-pool rewards pool balance is enabled or not.\",\"params\":{\"appId\":\"The ID of the app.\"}},\"rewardsPoolBalance(bytes32)\":{\"details\":\"Gets the amount of funds available for an app to reward users if the dual-pool is enabled.\",\"params\":{\"appId\":\"The ID of the app.\"}},\"totalBalance(bytes32)\":{\"details\":\"Gets the total of funds available for withdrawal and rewards distribution.\",\"params\":{\"appId\":\"The ID of the app.\"}},\"version()\":{\"details\":\"Retrieves the current version of the contract.\",\"returns\":{\"_0\":\"The version of the contract.\"}},\"withdraw(uint256,bytes32,string)\":{\"details\":\"Function used by x2earn apps to withdraw funds from the rewards pool.\",\"params\":{\"amount\":\"The amount of $B3TR to withdraw.\",\"appId\":\"The ID of the app.\",\"reason\":\"The reason for the withdrawal.\"}}},\"title\":\"IX2EarnRewardsPool\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"distributeRewardDeprecated(bytes32,uint256,address,string)\":{\"notice\":\"This function is depracted in favor of distributeRewardWithProof.\"},\"enableRewardsPoolForNewApp(bytes32)\":{\"notice\":\"This function can only be called by the X2EarnApps contract during app submission\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IX2EarnRewardsPool.sol\":\"IX2EarnRewardsPool\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]}},\"version\":1}"}},"contracts/interfaces/IXAllocationPool.sol":{"IXAllocationPool":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"unallocatedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"teamAllocationAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardsAllocationAmount","type":"uint256"}],"name":"AllocationRewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"EmissionsContractSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"isDisabled","type":"bool"}],"name":"QuadraticFundingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"TreasuryContractSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"UnallocatedFundsReceiverSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"X2EarnAppsContractSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"XAllocationVotingSet","type":"event"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"allFundsClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"baseAllocationAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"claimableAmount","outputs":[{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"unallocatedAmount","type":"uint256"},{"internalType":"uint256","name":"teamAllocationAmount","type":"uint256"},{"internalType":"uint256","name":"x2EarnRewardsPoolAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"currentRoundEarnings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getMaxAppAllocation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isQuadraticFundingDisabledForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isQuadraticFundingDisabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"roundEarnings","outputs":[{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"unallocatedAmount","type":"uint256"},{"internalType":"uint256","name":"teamAllocationAmount","type":"uint256"},{"internalType":"uint256","name":"x2EarnRewardsPoolAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleQuadraticFunding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"unallocatedFunds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allFundsClaimed(uint256)":"348a94dd","baseAllocationAmount(uint256)":"4705bdbd","claimableAmount(uint256,bytes32)":"d39b3e85","currentRoundEarnings(bytes32)":"fd0aac5e","getAppShares(uint256,bytes32)":"738640d6","getMaxAppAllocation(uint256)":"ca20db6e","isQuadraticFundingDisabledForCurrentRound()":"cc04e757","isQuadraticFundingDisabledForRound(uint256)":"c4b933c8","roundEarnings(uint256,bytes32)":"d41fc653","toggleQuadraticFunding()":"68575f10","unallocatedFunds(uint256)":"e9a585d8","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unallocatedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"teamAllocationAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rewardsAllocationAmount\",\"type\":\"uint256\"}],\"name\":\"AllocationRewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"EmissionsContractSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"isDisabled\",\"type\":\"bool\"}],\"name\":\"QuadraticFundingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"TreasuryContractSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"UnallocatedFundsReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"X2EarnAppsContractSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"XAllocationVotingSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"allFundsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"baseAllocationAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"claimableAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unallocatedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"teamAllocationAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"x2EarnRewardsPoolAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"currentRoundEarnings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getMaxAppAllocation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isQuadraticFundingDisabledForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isQuadraticFundingDisabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"roundEarnings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unallocatedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"teamAllocationAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"x2EarnRewardsPoolAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"toggleQuadraticFunding\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"unallocatedFunds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AllocationRewardsClaimed(bytes32,uint256,uint256,address,address,uint256,uint256,uint256)\":{\"details\":\"Event emitted when an app claims its rewards for a given round. Total amount of $B3TR tokens earned in a round are the sum of the team allocation and the rewards allocation.\",\"params\":{\"appId\":\"The ID of the app for which the rewards were claimed.\",\"caller\":\"The address that triggered this operation.\",\"recipient\":\"The address of the recipient of the rewards sent to the team.\",\"rewardsAllocationAmount\":\"The amount of $B3TR left in the cotnract and reserved to reward users.\",\"roundId\":\"The round ID for which the rewards were claimed.\",\"teamAllocationAmount\":\"The amount of $B3TR sent to the team.\",\"totalAmount\":\"The total amount of $B3TR available for allocation to the app.\",\"unallocatedAmount\":\"The amount of $B3TR that was not allocated, and were sent to the treasury.\"}},\"EmissionsContractSet(address,address)\":{\"details\":\"Emit when the emissions contract is set\",\"params\":{\"newContractAddress\":\"The new contract address\",\"oldContractAddress\":\"The old contract address\"}},\"QuadraticFundingToggled(bool)\":{\"details\":\"Emit when quadratic funding is disabled or enabled\",\"params\":{\"isDisabled\":\"The flag to enable or disable quadratic funding\"}},\"TreasuryContractSet(address,address)\":{\"details\":\"Emit when the treasury contract is set (deprecated after version 7)\",\"params\":{\"newContractAddress\":\"The new contract address\",\"oldContractAddress\":\"The old contract address\"}},\"UnallocatedFundsReceiverSet(address,address)\":{\"details\":\"Emit when the unallocated funds receiver contract or wallet is set\",\"params\":{\"newContractAddress\":\"The new contract address\",\"oldContractAddress\":\"The old contract address\"}},\"X2EarnAppsContractSet(address,address)\":{\"details\":\"Emit when the x2EarnApps contract is set\",\"params\":{\"newContractAddress\":\"The new contract address\",\"oldContractAddress\":\"The old contract address\"}},\"XAllocationVotingSet(address,address)\":{\"details\":\"Emit when the xAllocationVoting contract is set\",\"params\":{\"newContractAddress\":\"The new contract address\",\"oldContractAddress\":\"The old contract address\"}}},\"kind\":\"dev\",\"methods\":{\"allFundsClaimed(uint256)\":{\"details\":\"Returns true if all the funds for a given round have been claimed.\",\"params\":{\"roundId\":\"The round ID for which to return the all funds claimed status.\"},\"returns\":{\"_0\":\"True if all the funds for the given round have been claimed, false otherwise.\"}},\"baseAllocationAmount(uint256)\":{\"details\":\"Calculate the minimum amount of $B3TR that will be distributed to each qualified X Application in a given round. `baseAllocationPercentage`% of allocations will be on average distributed to each qualified X Application as the base part of the allocation (so all the x-apps in the ecosystem will receive a minimum amount of $B3TR).\",\"params\":{\"roundId\":\"The round ID for which to calculate the amount available for allocation.\"}},\"claimableAmount(uint256,bytes32)\":{\"details\":\"Get how much an app can claim for a given round.\",\"params\":{\"appId\":\"The ID of the app for which to calculate the amount available for allocation.\",\"roundId\":\"The round ID for which to calculate the amount available for allocation.\"},\"returns\":{\"teamAllocationAmount\":\"The amount of $B3TR that will be sent to the team.\",\"totalAmount\":\"The total amount of $B3TR available for allocation to the app.\",\"unallocatedAmount\":\"The amount of $B3TR that was not allocated, and will be sent to the treasury.\",\"x2EarnRewardsPoolAmount\":\"The amount of $B3TR reserved to reward users.\"}},\"currentRoundEarnings(bytes32)\":{\"details\":\"Fetches the id of the current round and calculates the earnings. Usually when calling this function round is active, and the results should be treated as real time estimation and not final results. If round ends and a new round did not start yet, then the results can be considered final.\",\"params\":{\"appId\":\"The ID of the app for which to calculate the amount available for allocation.\"}},\"getAppShares(uint256,bytes32)\":{\"details\":\"Returns the scaled quadratic funding percentage of votes for a given app in a given round. When calculating the percentage of votes received we check if the app exceeds the max cap of shares, eg: if an app has 80 votes out of 100, and the max cap is 50, then the app will have a share of 50% of the available funds. The remaining 30% will be sent to the treasury.\",\"params\":{\"appId\":\"The ID of the app.\",\"roundId\":\"The round ID for which to calculate the amount of votes received in percentage.\"},\"returns\":{\"_0\":\"appShare The percentage of votes received by the app.\",\"_1\":\"unallocatedShare The amount of votes that were not allocated, and will be sent to the treasury.\"}},\"getMaxAppAllocation(uint256)\":{\"details\":\"Returns the maximum amount an app can claim for a given round.\",\"params\":{\"roundId\":\"The round ID\"}},\"isQuadraticFundingDisabledForCurrentRound()\":{\"details\":\"Check if quadratic funding is disabled for the current round\",\"returns\":{\"_0\":\"true if quadratic funding is disabled for the current round\"}},\"isQuadraticFundingDisabledForRound(uint256)\":{\"details\":\"Check if quadratic funding is disabled at a given round\",\"params\":{\"roundId\":\"The round ID\"},\"returns\":{\"_0\":\"true if quadratic funding is disabled at the given round\"}},\"roundEarnings(uint256,bytes32)\":{\"details\":\"The amount of allocation to distribute to the apps is calculated in two parts: - There is a minimum amount calculated through the `baseAllocationPercentage` of total available funds for the round divided by the number of eligible apps - There is a variable amount (calculated upon the `variableAllocationPercentage` of total available funds) that depends on the amounts of votes that an app receives. There is a cap to how much each x-app will be able to receive each round. Unallocated amount is calculated when the app share is greater than the max share an app get have. If a round fails then we calculate the % of received votes (shares) against the previous succeeded round. If a round is succeeded then we calculate the % of received votes (shares) against it. If a round is active then results should be treated as real time estimation and not final results, since voting is still in progress.\",\"params\":{\"appId\":\"The ID of the app for which to calculate the amount available for allocation.\",\"roundId\":\"The round ID for which to calculate the amount available for allocation.\"},\"returns\":{\"teamAllocationAmount\":\"The amount of $B3TR that will be sent to the team.\",\"totalAmount\":\"The total amount of $B3TR available for allocation to the app.\",\"unallocatedAmount\":\"The amount of $B3TR that was not allocated, and will be sent to the treasury.\",\"x2EarnRewardsPoolAmount\":\"The amount of $B3TR reserved to reward users.\"}},\"toggleQuadraticFunding()\":{\"details\":\"Function to toggle quadratic funding on/off\"},\"unallocatedFunds(uint256)\":{\"details\":\"Returns the unallocated funds for a given round. This value is provisional until all the funds for the round have been claimed.\",\"params\":{\"roundId\":\"The round ID for which to return the unallocated funds.\"},\"returns\":{\"_0\":\"The unallocated funds for the given round.\"}},\"version()\":{\"details\":\"Returns the version of the contract\",\"returns\":{\"_0\":\"string The version of the contract\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IXAllocationPool.sol\":\"IXAllocationPool\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IXAllocationPool.sol\":{\"keccak256\":\"0x5745098148c5efbc78a3831f02ea903fe513d0e9ba6b32699b8f6a40aa0c78b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cd691f320ebbe76c4847f4e9701d8dedb349fe01f8ec814943be6c5c90a031c\",\"dweb:/ipfs/QmX1Hz1dXRsMuS1UF58iai78QBQE3tofC5oHwDy93fR5j9\"]}},\"version\":1}"}},"contracts/interfaces/IXAllocationVotingGovernor.sol":{"IXAllocationVotingGovernor":{"abi":[{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"DelegatedToNavigator","type":"error"},{"inputs":[],"name":"DuplicateAppVote","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernor.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"NavigatorCannotEnableAutoVoting","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"NavigatorPreferencesNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegatedToNavigator","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"SkipWindowNotReached","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"VoteAlreadyProcessed","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"fingerprint","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"lastChangedRound","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"FreshnessMultiplierApplied","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"NavigatorVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"NavigatorVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"disableAutoVotingFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernor.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","castVote(uint256,bytes32[],uint256[])":"53ed6399","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","disableAutoVotingFor(address)":"673fc724","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalVotingPower(address,uint256)":"4cadad2f","getVotes(address,uint256)":"eb9019d4","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","quorum(uint256)":"f8ce560a","quorumReached(uint256)":"d4a8dd98","roundDeadline(uint256)":"d3a368bd","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","validatePersonhoodForCurrentRound(address)":"cfea80ed","version()":"54fd4d50","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"DelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateAppVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernor.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"NavigatorCannotEnableAutoVoting\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"NavigatorPreferencesNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"SkipWindowNotReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"VoteAlreadyProcessed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"fingerprint\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastChangedRound\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"FreshnessMultiplierApplied\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"NavigatorVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"NavigatorVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"disableAutoVotingFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernor.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the distribution allocation voting for the x-allocation pool reward distributions. This interface was forked from OpenZeppelin's IGovernor.sol and modified to fit the needs of a voting mechanism where a user can vote on multpile x-apps belonging to the ecosystem and fractionalize their votes accross the x-apps. There can be only one round per time. After the round is created  it becomes immediately active. There can be only two possible outcomes of a round: it succeeds or it fails. To succeed the only requirement is that the quorum is reached. New allocation rounds can be started only by the Emissions contract, this way we can align the duration of emission cycles and allocation rounds. If the round fails, we will need to \\u201cfinalize\\u201d it, which means we will create a pointer to the last succeeded round where shares should be calculated. Anyone can finalize the failed round, but it will be automatically done when a new round starts.\",\"errors\":{\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"DelegatedToNavigator(address)\":[{\"details\":\"Citizen is delegated to a navigator and cannot vote manually\"}],\"DuplicateAppVote()\":[{\"details\":\"The `voter` has voted for the same app multiple times in the same transaction.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"NavigatorCannotEnableAutoVoting(address)\":[{\"details\":\"Navigator cannot enable auto-voting\"}],\"NavigatorPreferencesNotSet(address,uint256)\":[{\"details\":\"Navigator has not set allocation preferences for the round\"}],\"NotDelegatedToNavigator(address)\":[{\"details\":\"Citizen is not delegated to any navigator\"}],\"SkipWindowNotReached(uint256)\":[{\"details\":\"The skip window (minimum time into the round before skips are allowed) has not been reached\"}],\"VoteAlreadyProcessed(address,uint256)\":[{\"details\":\"The voter has already been processed (voted or skipped) for this round\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"FreshnessMultiplierApplied(address,uint256,bytes32,uint256,uint256)\":{\"details\":\"Emitted when a freshness multiplier is applied to a vote.\",\"params\":{\"fingerprint\":\"The XOR fingerprint of the voted apps\",\"lastChangedRound\":\"The round when the voter's fingerprint last changed\",\"multiplier\":\"The freshness multiplier applied (basis points, 10000 = 1x)\",\"roundId\":\"The round in which the vote was cast\",\"voter\":\"The voter address\"}},\"NavigatorVoteCast(address,address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a navigator casts a vote on behalf of a delegated citizen\"},\"NavigatorVoteSkipped(address,address,uint256)\":{\"details\":\"Emitted when a navigator vote is skipped (navigator dead or no preferences set)\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast multiple votes at once Emits a {AllocationVoteCast} event.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"currentRoundDeadline()\":{\"details\":\"Returns the current allocation round block when it ends.\"},\"currentRoundId()\":{\"details\":\"Returns the current allocation round round.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the current allocation round block when it starts.\"},\"disableAutoVotingFor(address)\":{\"details\":\"Disable autovoting for a user. Called by NavigatorRegistry when a citizen delegates.\",\"params\":{\"user\":\"The address to disable autovoting for\"}},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of apps that are available for voting in a specific round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Number of votes cast for a specific app in an allocation round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Sum of the square roots of the votes cast for a specific app in an allocation round used for Quadatic Funding.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the max amount of shares an app can get in a round.\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for funds distribution in a round.\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the round start\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Deprecated: use getVotes instead, which now includes deposit voting power.\"},\"getVotes(address,uint256)\":{\"details\":\"Voting power of an `account` at a specific `timepoint`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `roundId`.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns true if an account has voted at least one time in any round.\"},\"isActive(uint256)\":{\"details\":\"Checks if the state of the round is {RoundState.Active}.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Returns if an app can be voted in a specific round.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"user\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if autovoting is enabled for an account at a specific timepoint\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Check if autovoting is enabled for an account at a specific round\",\"params\":{\"account\":\"The address to check\",\"roundId\":\"The round id to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific round\"}},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Check if autovoting is enabled for an account\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the id of the last round that succeeded.\"},\"quorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}).\"},\"quorumReached(uint256)\":{\"details\":\"Returns if quorum was reached for a specific round.\"},\"roundDeadline(uint256)\":{\"details\":\"Timepoint at which votes close. If using block number, votes close at the end of this block, so it is possible to cast a vote during this block.\"},\"roundQuorum(uint256)\":{\"details\":\"Minimum number of cast voted required for a round to be successful. NOTE: The `roundId` parameter corresponds to the round for which the quorum is calculated.\"},\"roundSnapshot(uint256)\":{\"details\":\"Timepoint used to retrieve user's votes and quorum. If using block number (as per Compound's Comp), the snapshot is performed at the end of this block. Hence, voting for this round starts at the beginning of the following block.\"},\"startNewRound()\":{\"details\":\"Create a new allocation round (round). Vote starts immediatly and lasts for a duration specified by {votingPeriod}. Emits a {RoundCreated} event.\"},\"state(uint256)\":{\"details\":\"Current state of a round\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for a user\",\"params\":{\"user\":\"The address to toggle autovoting for\"}},\"totalVoters(uint256)\":{\"details\":\"Total number of voters in an allocation round.\"},\"totalVotes(uint256)\":{\"details\":\"Total number of votes cast in an allocation round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Calculates the total sum of the squares of the total Quadratic Funding (QF) votes for all apps in an allocation round.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validates if an account is a person\"},\"version()\":{\"details\":\"Version of the governor instance (used in building the ERC712 domain separator). Default: \\\"1\\\"\"},\"votingPeriod()\":{\"details\":\"Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. NOTE: This value is stored when the round is submitted so that possible changes to the value do not affect proposals that have already been submitted. The type used to save it is a uint32. Consequently, while this interface returns a uint256, the value it returns should fit in a uint32.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"getAppVotes(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"module:reputation\"},\"getVotes(address,uint256)\":{\"notice\":\"module:reputation\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"},\"quorum(uint256)\":{\"notice\":\"module:user-config\"},\"roundDeadline(uint256)\":{\"notice\":\"module:core\"},\"roundQuorum(uint256)\":{\"notice\":\"module:user-config\"},\"roundSnapshot(uint256)\":{\"notice\":\"module:core\"},\"state(uint256)\":{\"notice\":\"module:core\"},\"toggleAutoVoting(address)\":{\"notice\":\"This function is only callable by the VOT3 contract or the user themselves\"},\"totalVoters(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotes(uint256)\":{\"notice\":\"module:reputation\"},\"totalVotesQF(uint256)\":{\"notice\":\"module:reputation\"},\"version()\":{\"notice\":\"module:core\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IXAllocationVotingGovernor.sol\":\"IXAllocationVotingGovernor\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]}},\"version\":1}"}},"contracts/libraries/X2EarnAppsDataTypes.sol":{"X2EarnAppsDataTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220acab15f39e09a008e7a66d72b873c382d6a6c950c8de571617e21d7a0c21dbb964736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAC 0xAB ISZERO RETURN SWAP15 MULMOD LOG0 ADDMOD 0xE7 0xA6 PUSH14 0x72B873C382D6A6C950C8DE571617 0xE2 SAR PUSH27 0xC21DBB964736F6C63430008140033000000000000000000000000 ","sourceMap":"57:318:126:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:318:126;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220acab15f39e09a008e7a66d72b873c382d6a6c950c8de571617e21d7a0c21dbb964736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAC 0xAB ISZERO RETURN SWAP15 MULMOD LOG0 ADDMOD 0xE7 0xA6 PUSH14 0x72B873C382D6A6C950C8DE571617 0xE2 SAR PUSH27 0xC21DBB964736F6C63430008140033000000000000000000000000 ","sourceMap":"57:318:126:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/libraries/X2EarnAppsDataTypes.sol\":\"X2EarnAppsDataTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]}},\"version\":1}"}},"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol":{"VechainNodesDataTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e5c6f09859c4bd4cf70fce4b17d8524c0614d6be548805985d0722eb666fa46164736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE5 0xC6 CREATE SWAP9 MSIZE 0xC4 0xBD 0x4C 0xF7 0xF 0xCE 0x4B OR 0xD8 MSTORE 0x4C MOD EQ 0xD6 0xBE SLOAD DUP9 SDIV SWAP9 0x5D SMOD 0x22 0xEB PUSH7 0x6FA46164736F6C PUSH4 0x43000814 STOP CALLER ","sourceMap":"57:754:127:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:754:127;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e5c6f09859c4bd4cf70fce4b17d8524c0614d6be548805985d0722eb666fa46164736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE5 0xC6 CREATE SWAP9 MSIZE 0xC4 0xBD 0x4C 0xF7 0xF 0xCE 0x4B OR 0xD8 MSTORE 0x4C MOD EQ 0xD6 0xBE SLOAD DUP9 SDIV SWAP9 0x5D SMOD 0x22 0xEB PUSH7 0x6FA46164736F6C PUSH4 0x43000814 STOP CALLER ","sourceMap":"57:754:127:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":\"VechainNodesDataTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]}},\"version\":1}"}},"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol":{"DataTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220eab28b7ddeb2788b28cffda0d6b21dc9b00b790284a67757368ea1b3bfec13d164736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEA 0xB2 DUP12 PUSH30 0xDEB2788B28CFFDA0D6B21DC9B00B790284A67757368EA1B3BFEC13D16473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"1459:3888:128:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1459:3888:128;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220eab28b7ddeb2788b28cffda0d6b21dc9b00b790284a67757368ea1b3bfec13d164736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEA 0xB2 DUP12 PUSH30 0xDEB2788B28CFFDA0D6B21DC9B00B790284A67757368EA1B3BFEC13D16473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"1459:3888:128:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"DataTypes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for the StargateNFT contract to store data structure definitions used across the contract and libraries\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":\"DataTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]}},\"version\":1}"}},"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol":{"INodeManagementV3":{"abi":[{"inputs":[],"name":"NodeManagementInvalidNodeId","type":"error"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"address","name":"delegatee","type":"address"}],"name":"NodeManagementNodeAlreadyDelegated","type":"error"},{"inputs":[],"name":"NodeManagementNodeNotDelegated","type":"error"},{"inputs":[],"name":"NodeManagementNonNodeHolder","type":"error"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"NodeManagementNotNodeOwner","type":"error"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"NodeManagementNotNodeOwnerOrManager","type":"error"},{"inputs":[],"name":"NodeManagementSelfDelegation","type":"error"},{"inputs":[],"name":"NodeManagementZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nodeId","type":"uint256"},{"indexed":true,"internalType":"address","name":"delegatee","type":"address"},{"indexed":false,"internalType":"bool","name":"delegated","type":"bool"}],"name":"NodeDelegated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"StargateNftSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VechainNodeContractSet","type":"event"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"delegateNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"enum VechainNodesDataTypes.NodeSource","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getDirectNodeOwnership","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getDirectNodesOwnership","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getNodeIds","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeLevel","outputs":[{"internalType":"uint8","name":"levelId","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getNodesDelegatedTo","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUserNodes","outputs":[{"components":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"uint8","name":"nodeLevel","type":"uint8"},{"internalType":"address","name":"xNodeOwner","type":"address"},{"internalType":"bool","name":"isXNodeHolder","type":"bool"},{"internalType":"bool","name":"isXNodeDelegated","type":"bool"},{"internalType":"bool","name":"isXNodeDelegator","type":"bool"},{"internalType":"bool","name":"isXNodeDelegatee","type":"bool"},{"internalType":"address","name":"delegatee","type":"address"}],"internalType":"struct INodeManagementV3.NodeInfo[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUserStargateNFTsInfo","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint8","name":"levelId","type":"uint8"},{"internalType":"uint64","name":"mintedAtBlock","type":"uint64"},{"internalType":"uint256","name":"vetAmountStaked","type":"uint256"},{"internalType":"uint48","name":"lastVetGeneratedVthoClaimTimestamp_deprecated","type":"uint48"}],"internalType":"struct DataTypes.Token[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUsersNodeLevels","outputs":[{"internalType":"uint8[]","name":"","type":"uint8[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"vechainNodesContract","type":"address"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"upgrader","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"isDirectNodeOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"isLegacyNode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"isNodeDelegated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isNodeDelegator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isNodeHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"isNodeManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"removeNodeDelegation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"stargateNft","type":"address"}],"name":"setStargateNft","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"vechainNodesContract","type":"address"}],"name":"setVechainNodesContract","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"delegateNode(address,uint256)":"c79bb94b","exists(uint256)":"4f558e79","getDirectNodeOwnership(address)":"97a4f3c4","getDirectNodesOwnership(address)":"0470bfcc","getNodeIds(address)":"2e4e2531","getNodeLevel(uint256)":"1ceae42f","getNodeManager(uint256)":"9e2c2f3e","getNodeOwner(uint256)":"5d3c373f","getNodesDelegatedTo(address)":"766b2a60","getUserNodes(address)":"2130fe23","getUserStargateNFTsInfo(address)":"a7c928cc","getUsersNodeLevels(address)":"d466d80b","initialize(address,address,address)":"c0c53b8b","isDirectNodeOwner(address,uint256)":"3b276ecc","isLegacyNode(uint256)":"b721e8e0","isNodeDelegated(uint256)":"53fff87c","isNodeDelegator(address)":"4f444d25","isNodeHolder(address)":"beba8408","isNodeManager(address,uint256)":"3258cc2f","removeNodeDelegation(uint256)":"61302213","setStargateNft(address)":"b9349c90","setVechainNodesContract(address)":"0df9dff8"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NodeManagementInvalidNodeId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"NodeManagementNodeAlreadyDelegated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementNodeNotDelegated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementNonNodeHolder\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"NodeManagementNotNodeOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"NodeManagementNotNodeOwnerOrManager\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementSelfDelegation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeManagementZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"delegated\",\"type\":\"bool\"}],\"name\":\"NodeDelegated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"StargateNftSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VechainNodeContractSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"delegateNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"enum VechainNodesDataTypes.NodeSource\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getDirectNodeOwnership\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getDirectNodesOwnership\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getNodeIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeLevel\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getNodesDelegatedTo\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserNodes\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"xNodeOwner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"isXNodeHolder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isXNodeDelegated\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isXNodeDelegator\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isXNodeDelegatee\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"internalType\":\"struct INodeManagementV3.NodeInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserStargateNFTsInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"mintedAtBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"vetAmountStaked\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"lastVetGeneratedVthoClaimTimestamp_deprecated\",\"type\":\"uint48\"}],\"internalType\":\"struct DataTypes.Token[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUsersNodeLevels\",\"outputs\":[{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vechainNodesContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgrader\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"isDirectNodeOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"isLegacyNode\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"isNodeDelegated\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isNodeDelegator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isNodeHolder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"isNodeManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"removeNodeDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"stargateNft\",\"type\":\"address\"}],\"name\":\"setStargateNft\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vechainNodesContract\",\"type\":\"address\"}],\"name\":\"setVechainNodesContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"NodeManagementNodeAlreadyDelegated(uint256,address)\":[{\"params\":{\"delegatee\":\"The address of the current delegatee.\",\"nodeId\":\"The ID of the node that is already delegated.\"}}],\"NodeManagementNotNodeOwner(uint256)\":[{\"params\":{\"nodeId\":\"The ID of the node that the user does not own.\"}}],\"NodeManagementNotNodeOwnerOrManager(uint256)\":[{\"params\":{\"nodeId\":\"The ID of the node that the user does not manage.\"}}]},\"events\":{\"NodeDelegated(uint256,address,bool)\":{\"params\":{\"delegated\":\"A boolean indicating whether the node is delegated (true) or the delegation is removed (false).\",\"delegatee\":\"The address to which the node is delegated or from which the delegation is removed.\",\"nodeId\":\"The ID of the node being delegated or having its delegation removed.\"}},\"StargateNftSet(address,address)\":{\"details\":\"Emit when the stargate NFT contract address is set or updated\"},\"VechainNodeContractSet(address,address)\":{\"details\":\"Emit when the vechain node contract address is set or updated\"}},\"kind\":\"dev\",\"methods\":{\"delegateNode(address,uint256)\":{\"params\":{\"delegatee\":\"The address to delegate the node to.\",\"nodeId\":\"The ID of the node to delegate.\"}},\"exists(uint256)\":{\"params\":{\"nodeId\":\"The ID of the node to check.\"},\"returns\":{\"_0\":\"bool True if the node exists, false otherwise.\",\"_1\":\"NodeSource The source of the node.\"}},\"getDirectNodeOwnership(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"uint256 The ID of the owned node (0 if none).\"}},\"getDirectNodesOwnership(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"uint256[] The node IDs directly owned by the user. If no nodes are owned, an empty array is returned.\"}},\"getNodeIds(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"uint256 The node ID associated with the user.\"}},\"getNodeLevel(uint256)\":{\"params\":{\"nodeId\":\"The token ID of the endorsing node.\"},\"returns\":{\"levelId\":\"The node level of the specified token ID.\"}},\"getNodeManager(uint256)\":{\"params\":{\"nodeId\":\"The ID of the node for which the manager address is being retrieved.\"},\"returns\":{\"_0\":\"address The address of the manager of the specified node.\"}},\"getNodeOwner(uint256)\":{\"params\":{\"nodeId\":\"The ID of the node for which the owner address is being retrieved.\"},\"returns\":{\"_0\":\"address The address of the owner of the specified node.\"}},\"getNodesDelegatedTo(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"uint256[] The node IDs delegated to the user.\"}},\"getUserNodes(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"uint256[] The node IDs owned by the user.\"}},\"getUserStargateNFTsInfo(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"uint256[] The node IDs owned by the user.\"}},\"getUsersNodeLevels(address)\":{\"params\":{\"user\":\"The address of the user managing the node.\"},\"returns\":{\"_0\":\"uint8[] The node level of the node managed by the user.\"}},\"initialize(address,address,address)\":{\"params\":{\"admin\":\"The address to be granted the default admin role.\",\"upgrader\":\"The address to be granted the upgrader role.\",\"vechainNodesContract\":\"The address of the VeChain Nodes contract.\"}},\"isDirectNodeOwner(address,uint256)\":{\"params\":{\"nodeId\":\"The ID of the node to check.\",\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"bool True if the user is the direct owner of the node, false otherwise.\"}},\"isLegacyNode(uint256)\":{\"params\":{\"nodeId\":\"The ID of the node to check.\"},\"returns\":{\"_0\":\"bool True if the node is a legacy node, false otherwise.\"}},\"isNodeDelegated(uint256)\":{\"params\":{\"nodeId\":\"The node ID to check for.\"},\"returns\":{\"_0\":\"bool True if the node is delegated.\"}},\"isNodeDelegator(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"bool True if the user is a delegator.\"}},\"isNodeHolder(address)\":{\"params\":{\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"bool True if the user is a node holder.\"}},\"isNodeManager(address,uint256)\":{\"params\":{\"nodeId\":\"The node ID to check for.\",\"user\":\"The address of the user to check.\"},\"returns\":{\"_0\":\"bool True if the user is holding the node ID and it is a valid node.\"}},\"removeNodeDelegation(uint256)\":{\"params\":{\"nodeId\":\"The ID of the node to remove the delegation from.\"}},\"setStargateNft(address)\":{\"params\":{\"stargateNft\":\"The new address of the Stargate NFT contract.\"}},\"setVechainNodesContract(address)\":{\"params\":{\"vechainNodesContract\":\"The new address of the VeChain Nodes contract.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"NodeManagementInvalidNodeId()\":[{\"notice\":\"Error indicating that a node ID is not valid.\"}],\"NodeManagementNodeAlreadyDelegated(uint256,address)\":[{\"notice\":\"Error indicating that the node is already delegated to another user.\"}],\"NodeManagementNodeNotDelegated()\":[{\"notice\":\"Error indicating that the node is not currently delegated.\"}],\"NodeManagementNonNodeHolder()\":[{\"notice\":\"Error indicating that the caller does not own a node.\"}],\"NodeManagementNotNodeOwner(uint256)\":[{\"notice\":\"Error indicating that the user does not own the node.\"}],\"NodeManagementNotNodeOwnerOrManager(uint256)\":[{\"notice\":\"Error indicating that the user does not manage the node.\"}],\"NodeManagementSelfDelegation()\":[{\"notice\":\"Error indicating that an address is being set to the zero address.\"}],\"NodeManagementZeroAddress()\":[{\"notice\":\"Error indicating that an address is being set to the zero address.\"}]},\"events\":{\"NodeDelegated(uint256,address,bool)\":{\"notice\":\"Event emitted when a node is delegated or the delegation is removed.\"}},\"kind\":\"user\",\"methods\":{\"delegateNode(address,uint256)\":{\"notice\":\"Delegate a node to another address.\"},\"exists(uint256)\":{\"notice\":\"Check if a node exists in the VeChainNodes contract or the StargateNFT contract\"},\"getDirectNodeOwnership(address)\":{\"notice\":\"Check if a user directly owns a node (not delegated).\"},\"getDirectNodesOwnership(address)\":{\"notice\":\"Retrieves the node IDs directly owned by a user.\"},\"getNodeIds(address)\":{\"notice\":\"Retrieve the node ID associated with a user, either through direct ownership or delegation.\"},\"getNodeLevel(uint256)\":{\"notice\":\"Retrieves the node level of a given node ID.\"},\"getNodeManager(uint256)\":{\"notice\":\"Retrieves the address of the user managing the node ID endorsement either through ownership or delegation.\"},\"getNodeOwner(uint256)\":{\"notice\":\"Retrieves the address of the true owner of a node.\"},\"getNodesDelegatedTo(address)\":{\"notice\":\"Retrieves the node IDs delegated to a user.\"},\"getUserNodes(address)\":{\"notice\":\"Retrieves the node IDs owned by a user.\"},\"getUserStargateNFTsInfo(address)\":{\"notice\":\"Retrieves the node IDs owned by a user.\"},\"getUsersNodeLevels(address)\":{\"notice\":\"Retrieves the node level of a user's managed node.\"},\"initialize(address,address,address)\":{\"notice\":\"Initialize the contract with the specified VeChain Nodes contract, admin, and upgrader addresses.\"},\"isDirectNodeOwner(address,uint256)\":{\"notice\":\"Checks if a user is the direct owner of a node.\"},\"isLegacyNode(uint256)\":{\"notice\":\"Checks if a node is a legacy node.\"},\"isNodeDelegated(uint256)\":{\"notice\":\"Check if a node is delegated.\"},\"isNodeDelegator(address)\":{\"notice\":\"Check if a user is a delegator.\"},\"isNodeHolder(address)\":{\"notice\":\"Check if a user is a node holder (either directly or through delegation).\"},\"isNodeManager(address,uint256)\":{\"notice\":\"Check if a user is holding a specific node ID either directly or through delegation.\"},\"removeNodeDelegation(uint256)\":{\"notice\":\"Remove the delegation of a node.\"},\"setStargateNft(address)\":{\"notice\":\"Set the address of the Stargate NFT contract.\"},\"setVechainNodesContract(address)\":{\"notice\":\"Set the address of the VeChain Nodes contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":\"INodeManagementV3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]}},\"version\":1}"}},"contracts/mocks/Stargate/interfaces/IStargate.sol":{"IStargate":{"abi":[{"inputs":[],"name":"DelegationExitAlreadyRequested","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"DelegationNotFound","type":"error"},{"inputs":[{"internalType":"uint256","name":"contractBalance","type":"uint256"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"InsufficientContractBalance","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"enum IStargate.DelegationStatus","name":"status","type":"uint8"}],"name":"InvalidDelegationStatus","type":"error"},{"inputs":[],"name":"InvalidInitializationParams","type":"error"},{"inputs":[],"name":"InvalidMaxClaimablePeriods","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"InvalidToken","type":"error"},{"inputs":[],"name":"MaxClaimablePeriodsExceeded","type":"error"},{"inputs":[],"name":"OnlyStargateNFTAndProtocolStaker","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"TokenAlreadyDelegated","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"TokenUnderMaturityPeriod","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"UnauthorizedUser","type":"error"},{"inputs":[{"internalType":"address","name":"validator","type":"address"}],"name":"ValidatorNotActiveOrQueued","type":"error"},{"inputs":[{"internalType":"uint8","name":"levelId","type":"uint8"},{"internalType":"uint256","name":"required","type":"uint256"},{"internalType":"uint256","name":"provided","type":"uint256"}],"name":"VetAmountMismatch","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"VetTransferFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"validator","type":"address"},{"indexed":true,"internalType":"uint256","name":"delegationId","type":"uint256"},{"indexed":false,"internalType":"uint48","name":"exitBlock","type":"uint48"}],"name":"DelegationExitRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"validator","type":"address"},{"indexed":true,"internalType":"uint256","name":"delegationId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"levelId","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"probabilityMultiplier","type":"uint8"}],"name":"DelegationInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"delegationId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint32","name":"firstClaimedPeriod","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"lastClaimedPeriod","type":"uint32"}],"name":"DelegationRewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"validator","type":"address"},{"indexed":true,"internalType":"uint256","name":"delegationId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"levelId","type":"uint8"}],"name":"DelegationWithdrawn","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"claimableDelegationPeriods","outputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"claimableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint32","name":"_batch","type":"uint32"}],"name":"claimableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_validator","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getDelegationDetails","outputs":[{"components":[{"internalType":"uint256","name":"delegationId","type":"uint256"},{"internalType":"address","name":"validator","type":"address"},{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint8","name":"probabilityMultiplier","type":"uint8"},{"internalType":"uint32","name":"startPeriod","type":"uint32"},{"internalType":"uint32","name":"endPeriod","type":"uint32"},{"internalType":"bool","name":"isLocked","type":"bool"},{"internalType":"enum IStargate.DelegationStatus","name":"status","type":"uint8"}],"internalType":"struct IStargate.Delegation","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getDelegationIdOfToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getDelegationStatus","outputs":[{"internalType":"enum IStargate.DelegationStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_validator","type":"address"},{"internalType":"uint32","name":"_period","type":"uint32"}],"name":"getDelegatorsEffectiveStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getEffectiveStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxClaimablePeriods","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"hasRequestedExit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"lockedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_validator","type":"address"}],"name":"migrateAndDelegate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"requestDelegationExit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_maxClaimablePeriods","type":"uint32"}],"name":"setMaxClaimablePeriods","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_levelId","type":"uint8"}],"name":"stake","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_levelId","type":"uint8"},{"internalType":"address","name":"_validator","type":"address"}],"name":"stakeAndDelegate","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","claimRewards(uint256)":"0962ef79","claimableDelegationPeriods(uint256)":"f040812e","claimableRewards(uint256)":"9835fc7e","claimableRewards(uint256,uint32)":"e2735134","clock()":"91ddadf4","delegate(uint256,address)":"08bbb824","getDelegationDetails(uint256)":"eabfa044","getDelegationIdOfToken(uint256)":"07a9bbbb","getDelegationStatus(uint256)":"f4655cd1","getDelegatorsEffectiveStake(address,uint32)":"f2d804ef","getEffectiveStake(uint256)":"0f20d6f8","getMaxClaimablePeriods()":"b0d76cad","hasRequestedExit(uint256)":"71569e2f","lockedRewards(uint256)":"c728b740","migrateAndDelegate(uint256,address)":"584a983f","pause()":"8456cb59","requestDelegationExit(uint256)":"69e79b7d","setMaxClaimablePeriods(uint32)":"9af02d9d","stake(uint8)":"604f2177","stakeAndDelegate(uint8,address)":"15fa1bdf","unpause()":"3f4ba83a","unstake(uint256)":"2e17de78"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DelegationExitAlreadyRequested\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"contractBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientContractBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"enum IStargate.DelegationStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"InvalidDelegationStatus\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitializationParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidMaxClaimablePeriods\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"InvalidToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxClaimablePeriodsExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyStargateNFTAndProtocolStaker\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"TokenAlreadyDelegated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"TokenUnderMaturityPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UnauthorizedUser\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"ValidatorNotActiveOrQueued\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"VetAmountMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"VetTransferFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"delegationId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"exitBlock\",\"type\":\"uint48\"}],\"name\":\"DelegationExitRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"delegationId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"probabilityMultiplier\",\"type\":\"uint8\"}],\"name\":\"DelegationInitiated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"delegationId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"firstClaimedPeriod\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"lastClaimedPeriod\",\"type\":\"uint32\"}],\"name\":\"DelegationRewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"delegationId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"}],\"name\":\"DelegationWithdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"claimableDelegationPeriods\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"claimableRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_batch\",\"type\":\"uint32\"}],\"name\":\"claimableRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getDelegationDetails\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"delegationId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"probabilityMultiplier\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"startPeriod\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endPeriod\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"isLocked\",\"type\":\"bool\"},{\"internalType\":\"enum IStargate.DelegationStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IStargate.Delegation\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getDelegationIdOfToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getDelegationStatus\",\"outputs\":[{\"internalType\":\"enum IStargate.DelegationStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_period\",\"type\":\"uint32\"}],\"name\":\"getDelegatorsEffectiveStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getEffectiveStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxClaimablePeriods\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"hasRequestedExit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"lockedRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"migrateAndDelegate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"requestDelegationExit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_maxClaimablePeriods\",\"type\":\"uint32\"}],\"name\":\"setMaxClaimablePeriods\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_levelId\",\"type\":\"uint8\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_levelId\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"stakeAndDelegate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"DelegationExitRequested(uint256,address,uint256,uint48)\":{\"details\":\"When the delegation is pending, exit is immediate and this event is emitted\",\"params\":{\"delegationId\":\"The ID of the delegation\",\"exitBlock\":\"The block at which the delegation exit will be processed, in case the delegation is pending it will be the current block\",\"tokenId\":\"The ID of the token that was delegated\",\"validator\":\"The validator that was delegated to\"}},\"DelegationInitiated(uint256,address,uint256,uint256,uint8,uint8)\":{\"params\":{\"amount\":\"The amount of VET delegated\",\"delegationId\":\"The ID of the delegation\",\"levelId\":\"The level ID of the token\",\"probabilityMultiplier\":\"The probability multiplier of the delegation\",\"tokenId\":\"The ID of the token that was delegated\",\"validator\":\"The validator that was delegated to\"}},\"DelegationRewardsClaimed(address,uint256,uint256,uint256,uint32,uint32)\":{\"params\":{\"amount\":\"The amount of rewards claimed\",\"delegationId\":\"The ID of the delegation that claimed the rewards\",\"firstClaimedPeriod\":\"The first period that the rewards were claimed for\",\"lastClaimedPeriod\":\"The last period that the rewards were claimed for\",\"receiver\":\"The address that claimed the rewards\",\"tokenId\":\"The ID of the token that claimed the rewards\"}},\"DelegationWithdrawn(uint256,address,uint256,uint256,uint8)\":{\"details\":\"This is emitted when the delegation is withdrawn, either because the user requested to exit or because the delegation is called with a new validator or if requestDelegationExit is called the delegation is still pending.\",\"params\":{\"amount\":\"The amount of VET withdrawn\",\"delegationId\":\"The ID of the delegation\",\"levelId\":\"The level ID of the token\",\"tokenId\":\"The ID of the token that was delegated\",\"validator\":\"The validator that was delegated to\"}}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Call clock() to know the current clock\"},\"claimRewards(uint256)\":{\"details\":\"This function will claim the rewards for each period between the last claimed period and the last claimable period.\",\"params\":{\"_tokenId\":\"- the token ID\"}},\"claimableDelegationPeriods(uint256)\":{\"params\":{\"_tokenId\":\"- the token ID\"},\"returns\":{\"_0\":\"lastClaimedPeriod - the latest claimed period\",\"_1\":\"endPeriod - the end period of the latest delegation\"}},\"claimableRewards(uint256)\":{\"details\":\"This is the sum of the claimable rewards for each period between the last claimed period and the last claimable period.\",\"params\":{\"_tokenId\":\"- the token ID\"},\"returns\":{\"_0\":\"The claimable rewards for the token\"}},\"claimableRewards(uint256,uint32)\":{\"details\":\"This is the sum of the claimable rewards for each period between the last claimed period and the last claimable period.\",\"params\":{\"_batch\":\"- the batch to check\",\"_tokenId\":\"- the token ID\"},\"returns\":{\"_0\":\"The claimable rewards for the token\"}},\"clock()\":{\"details\":\"Call CLOCK_MODE() to know if the clock is in timestamp or block mode\"},\"delegate(uint256,address)\":{\"params\":{\"_tokenId\":\"- the token ID to delegate\",\"_validator\":\"- the validator to delegate to\"}},\"getDelegationDetails(uint256)\":{\"details\":\"If the token does not have any delegation, it will return a set of default values\",\"params\":{\"_tokenId\":\"- the token ID\"},\"returns\":{\"_0\":\"The details of the delegation\"}},\"getDelegationIdOfToken(uint256)\":{\"params\":{\"_tokenId\":\"- the token ID\"},\"returns\":{\"_0\":\"The delegation id\"}},\"getDelegationStatus(uint256)\":{\"params\":{\"_tokenId\":\"- the token ID\"},\"returns\":{\"_0\":\"The status of the delegation\"}},\"getDelegatorsEffectiveStake(address,uint32)\":{\"params\":{\"_period\":\"- the period to check\",\"_validator\":\"- the validator address\"},\"returns\":{\"_0\":\"The total effective stake of the delegators of the validator in the period\"}},\"getEffectiveStake(uint256)\":{\"details\":\"The effective stake is the amount of VET that is staked by the token multiplied by the reward multiplier of the level, and is used to calculate the share of the delegator in the period.\",\"params\":{\"_tokenId\":\"- the token ID\"},\"returns\":{\"_0\":\"The effective stake of the token\"}},\"getMaxClaimablePeriods()\":{\"returns\":{\"_0\":\"The max claimable periods\"}},\"hasRequestedExit(uint256)\":{\"details\":\"This will return true even if the delegation is EXITED\",\"params\":{\"_tokenId\":\"- the token ID\"},\"returns\":{\"_0\":\"True if the user has requested to exit the delegation\"}},\"lockedRewards(uint256)\":{\"details\":\"When the delegation is active, the rewards rewards of the current period are locked and cannot be claimed until the next period. This function retur\",\"params\":{\"_tokenId\":\"- the token ID\"},\"returns\":{\"_0\":\"The locked rewards for the token\"}},\"migrateAndDelegate(uint256,address)\":{\"params\":{\"_tokenId\":\"The ID of the token to migrate\",\"_validator\":\"The validator to delegate to\"}},\"pause()\":{\"details\":\"Only the DEFAULT_ADMIN_ROLE can call this functionPausing the contract will prevent minting\"},\"requestDelegationExit(uint256)\":{\"details\":\"Exiting a pending delegation, differs from exiting an active delegation. In the first case, it is enough to withdraw the VET from the protocol, in the second case we will signal to the protocol to exit the delegation.\",\"params\":{\"_tokenId\":\"- the token ID to request the exit for\"}},\"setMaxClaimablePeriods(uint32)\":{\"params\":{\"_maxClaimablePeriods\":\"- the max claimable periods\"}},\"stake(uint8)\":{\"params\":{\"_levelId\":\"The ID of the token level to mint, VET as msg.value\"},\"returns\":{\"tokenId\":\"The ID of the minted NFT\"}},\"stakeAndDelegate(uint8,address)\":{\"params\":{\"_levelId\":\"The ID of the token level to mint, VET as msg.value\",\"_validator\":\"The validator to delegate to\"},\"returns\":{\"tokenId\":\"The ID of the minted NFT\"}},\"unpause()\":{\"details\":\"Only the DEFAULT_ADMIN_ROLE can call this function\"},\"unstake(uint256)\":{\"details\":\"Emits a {IStargate.TokenUnstaked} event\",\"params\":{\"_tokenId\":\"The ID of the token to unstake\"}}},\"version\":1},\"userdoc\":{\"events\":{\"DelegationExitRequested(uint256,address,uint256,uint48)\":{\"notice\":\"Emitted when a delegation exit is requested\"},\"DelegationInitiated(uint256,address,uint256,uint256,uint8,uint8)\":{\"notice\":\"Emitted when a delegation is initiated\"},\"DelegationRewardsClaimed(address,uint256,uint256,uint256,uint32,uint32)\":{\"notice\":\"Emitted when rewards are claimed\"},\"DelegationWithdrawn(uint256,address,uint256,uint256,uint8)\":{\"notice\":\"Emitted when a delegation is withdrawn\"}},\"kind\":\"user\",\"methods\":{\"CLOCK_MODE()\":{\"notice\":\"Returns the clock mode\"},\"claimRewards(uint256)\":{\"notice\":\"Claims all the rewards for a token\"},\"claimableDelegationPeriods(uint256)\":{\"notice\":\"Returns the latestClaimedPeriod and the endPeriod of the latest delegation of a token\"},\"claimableRewards(uint256)\":{\"notice\":\"Returns the claimable rewards for a token for batch 0 (first 832 periods)\"},\"claimableRewards(uint256,uint32)\":{\"notice\":\"Returns the claimable rewards for a token for a specific batch\"},\"clock()\":{\"notice\":\"Returns the current clock\"},\"delegate(uint256,address)\":{\"notice\":\"Delegates the token to the validator to increase its probability of being selected as a validator and accumulate rewards for each mined block. The amount of rewards depends on the effective stake compared to the total effective stake of the validator. The delegation is not active until the start of the next period of the validator. In the meantime, the user can change the validator by calling this function again, cancel the delegation or unstaking the token. Once the delegation is active, the user can request to exit the delegation by calling requestDelegationExit. The token will remain delegated until the end of the validator period end block. This contract will need to move the VET associated to the token from the StargateNFT contract and deposit it in the protocol staking contract. If the token was previously delegated, the VET will be moved from the protocol staking contract to this contract again and then moved back to the protocol staking contract.\"},\"getDelegationDetails(uint256)\":{\"notice\":\"Returns the details of the delegation of a token\"},\"getDelegationIdOfToken(uint256)\":{\"notice\":\"Will return the latest delegation id of a token (regardless of its status)\"},\"getDelegationStatus(uint256)\":{\"notice\":\"Will fetch the latest delegation of a token and will return its status\"},\"getDelegatorsEffectiveStake(address,uint32)\":{\"notice\":\"Returns the total effective stake of the delegators of a validator in a specific period\"},\"getEffectiveStake(uint256)\":{\"notice\":\"Returns the effective stake of a token\"},\"getMaxClaimablePeriods()\":{\"notice\":\"Returns the max claimable periods\"},\"hasRequestedExit(uint256)\":{\"notice\":\"Will return true if the user has requested to exit the latest delegation (regardless of its status)\"},\"lockedRewards(uint256)\":{\"notice\":\"Returns the locked rewards for a token\"},\"migrateAndDelegate(uint256,address)\":{\"notice\":\"Migrates a token from the legacy nodes contract to StargateNFT, and delegates it\"},\"pause()\":{\"notice\":\"Pauses the StargateNFT contract\"},\"requestDelegationExit(uint256)\":{\"notice\":\"Requests a delegation exit by signalling the exit to the protocol staking contract. If the delegation is active, the user will need to wait for then end of the period to actually exit, if instead the delegation is pending the user will exit immediatly. Once the request to exit is signalled, the user cannot undo it and cannot request to exit again.\"},\"setMaxClaimablePeriods(uint32)\":{\"notice\":\"Sets the max claimable periods\"},\"stake(uint8)\":{\"notice\":\"Stakes VET and mints an NFT\"},\"stakeAndDelegate(uint8,address)\":{\"notice\":\"Stakes VET and mints an NFT, and delegates it\"},\"unpause()\":{\"notice\":\"Unpauses the StargateNFT contract\"},\"unstake(uint256)\":{\"notice\":\"Unstakes a token from the Stargate contract, will return the VET to the user and burn the NFT for token to be unstaked, its delegation status must not be ACTIVE\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/Stargate/interfaces/IStargate.sol\":\"IStargate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]}},\"version\":1}"}},"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol":{"IStargateDelegation":{"abi":[{"inputs":[],"name":"AddressCannotBeZero","type":"error"},{"inputs":[],"name":"ArrayCannotBeEmpty","type":"error"},{"inputs":[],"name":"DelegationExitAlreadyRequested","type":"error"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"required","type":"uint256"}],"name":"InsufficientVthoBalanceForRewardsClaim","type":"error"},{"inputs":[],"name":"InvalidDelegationPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"InvalidNFTLevel","type":"error"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"InvalidVthoRewardPerBlock","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NFTAlreadyDelegated","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NFTNotDelegated","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NFTUnderMaturityPeriod","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NoLostRewardsToClaim","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NoRewardsToClaim","type":"error"},{"inputs":[],"name":"RewardsAccumulationPeriodEnded","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"UnauthorizedUser","type":"error"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"VthoTransferFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"delegationEndBlock","type":"uint256"}],"name":"DelegationExitRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewards","type":"uint256"},{"indexed":true,"internalType":"address","name":"claimer","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"}],"name":"DelegationRewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":false,"internalType":"uint256","name":"rewardsAccumulationStartBlock","type":"uint256"},{"indexed":true,"internalType":"bool","name":"isDelegationForever","type":"bool"},{"indexed":false,"internalType":"address","name":"caller","type":"address"}],"name":"DelegationSimulationStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LostRewardsAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"claimer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LostRewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LostRewardsRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rewardsAccumulationEndBlock","type":"uint256"}],"name":"RewardsAccumulationEndBlockSet","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"accumulatedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"claimableRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"currentDelegationPeriodEndBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_delegateForever","type":"bool"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getDelegationDetails","outputs":[{"internalType":"bool","name":"isDelegationActive","type":"bool"},{"internalType":"uint256","name":"claimableRewards","type":"uint256"},{"internalType":"uint256","name":"rewardsAccumulationStartBlock","type":"uint256"},{"internalType":"uint256","name":"delegationEndBlock","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getDelegationEndBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDelegationPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardsAccumulationEndBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getRewardsAccumulationStartBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_level","type":"uint256"}],"name":"getVthoRewardPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"isDelegationActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"requestDelegationExit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","accumulatedRewards(uint256)":"9bc4fd6e","claimRewards(uint256)":"0962ef79","claimableRewards(uint256)":"9835fc7e","clock()":"91ddadf4","currentDelegationPeriodEndBlock(uint256)":"d57610d0","delegate(uint256,bool)":"3207555d","getDelegationDetails(uint256)":"eabfa044","getDelegationEndBlock(uint256)":"a2a96ed4","getDelegationPeriod()":"ebf1fe14","getRewardsAccumulationEndBlock()":"a38e3941","getRewardsAccumulationStartBlock(uint256)":"5be826c5","getVthoRewardPerBlock(uint256)":"dc4dfd46","isDelegationActive(uint256)":"83c04aa2","requestDelegationExit(uint256)":"69e79b7d","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArrayCannotBeEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegationExitAlreadyRequested\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"InsufficientVthoBalanceForRewardsClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDelegationPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"name\":\"InvalidNFTLevel\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"InvalidVthoRewardPerBlock\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTAlreadyDelegated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTNotDelegated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTUnderMaturityPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NoLostRewardsToClaim\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NoRewardsToClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RewardsAccumulationPeriodEnded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UnauthorizedUser\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"VthoTransferFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"delegationEndBlock\",\"type\":\"uint256\"}],\"name\":\"DelegationExitRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rewards\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"DelegationRewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rewardsAccumulationStartBlock\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"isDelegationForever\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"DelegationSimulationStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LostRewardsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LostRewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LostRewardsRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rewardsAccumulationEndBlock\",\"type\":\"uint256\"}],\"name\":\"RewardsAccumulationEndBlockSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"accumulatedRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"claimableRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"currentDelegationPeriodEndBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_delegateForever\",\"type\":\"bool\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getDelegationDetails\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isDelegationActive\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"claimableRewards\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardsAccumulationStartBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"delegationEndBlock\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getDelegationEndBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDelegationPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardsAccumulationEndBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getRewardsAccumulationStartBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_level\",\"type\":\"uint256\"}],\"name\":\"getVthoRewardPerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"isDelegationActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"requestDelegationExit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"AddressCannotBeZero()\":[{\"notice\":\"Error thrown when an address is the zero address\"}],\"ArrayCannotBeEmpty()\":[{\"notice\":\"Error thrown when an array is empty\"}],\"DelegationExitAlreadyRequested()\":[{\"notice\":\"Error thrown when the user requests to exit delegation repeatedly\"}],\"InsufficientVthoBalanceForRewardsClaim(uint256,uint256)\":[{\"notice\":\"Error thrown when there is insufficient VTHO balance for rewards claim\"}],\"InvalidDelegationPeriod()\":[{\"notice\":\"Error thrown when a delegation period is invalid\"}],\"InvalidNFTLevel(uint256,uint256)\":[{\"notice\":\"Error thrown when an NFT level is invalid\"}],\"InvalidVthoRewardPerBlock(uint256,uint256)\":[{\"notice\":\"Error thrown when a vtho reward per block per NFT level is invalid\"}],\"NFTAlreadyDelegated(uint256)\":[{\"notice\":\"Error thrown when an NFT is already delegated\"}],\"NFTNotDelegated(uint256)\":[{\"notice\":\"Error thrown when an NFT is not delegated\"}],\"NFTUnderMaturityPeriod(uint256)\":[{\"notice\":\"Error thrown when an NFT is under the maturity period\"}],\"NoLostRewardsToClaim(address,uint256)\":[{\"notice\":\"Error thrown when there are no lost rewards to claim\"}],\"NoRewardsToClaim(uint256)\":[{\"notice\":\"Error thrown when there are no rewards to claim\"}],\"RewardsAccumulationPeriodEnded()\":[{\"notice\":\"Error thrown when the rewards accumulation period ended\"}],\"UnauthorizedUser(address)\":[{\"notice\":\"Error thrown when a user is not authorized to perform an action\"}],\"VthoTransferFailed(address,uint256)\":[{\"notice\":\"Error thrown when a VTHO transfer fails\"}]},\"events\":{\"DelegationExitRequested(uint256,uint256)\":{\"notice\":\"Event emitted when a delegation exit is requested\"},\"DelegationRewardsClaimed(uint256,uint256,address,address)\":{\"notice\":\"Event emitted when a delegation rewards are claimed\"},\"DelegationSimulationStarted(uint256,address,uint256,bool,address)\":{\"notice\":\"Event emitted when a delegation simulation is started\"},\"LostRewardsAdded(address,uint256,uint256)\":{\"notice\":\"Event emitted when lost rewards are added\"},\"LostRewardsClaimed(address,uint256,address,uint256)\":{\"notice\":\"Event emitted when lost rewards are claimed\"},\"LostRewardsRemoved(address,uint256,uint256)\":{\"notice\":\"Event emitted when lost rewards are removed\"},\"RewardsAccumulationEndBlockSet(uint256)\":{\"notice\":\"Event emitted when the rewards accumulation end block is set\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":\"IStargateDelegation\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]}},\"version\":1}"}},"contracts/mocks/Stargate/interfaces/IStargateNFT.sol":{"IStargateNFT":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"oldBaseURI","type":"string"},{"indexed":false,"internalType":"string","name":"newBaseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BaseVTHORewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"levelId","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"oldBoostPricePerBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBoostPricePerBlock","type":"uint256"}],"name":"LevelBoostPricePerBlockUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"levelId","type":"uint8"},{"indexed":false,"internalType":"uint32","name":"oldCap","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"newCap","type":"uint32"}],"name":"LevelCapUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"levelId","type":"uint8"},{"indexed":false,"internalType":"uint208","name":"oldCirculatingSupply","type":"uint208"},{"indexed":false,"internalType":"uint208","name":"newCirculatingSupply","type":"uint208"}],"name":"LevelCirculatingSupplyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"levelId","type":"uint8"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"bool","name":"isX","type":"bool"},{"indexed":false,"internalType":"uint64","name":"maturityBlocks","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"scaledRewardFactor","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"vetAmountRequiredToStake","type":"uint256"}],"name":"LevelUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint8","name":"levelId","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vetAmountStaked","type":"uint256"}],"name":"TokenBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"manager","type":"address"}],"name":"TokenManagerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"manager","type":"address"}],"name":"TokenManagerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint8","name":"levelId","type":"uint8"},{"indexed":true,"internalType":"bool","name":"migrated","type":"bool"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vetAmountStaked","type":"uint256"}],"name":"TokenMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint48","name":"oldVthoGenerationEndTimestamp","type":"uint48"},{"indexed":false,"internalType":"uint48","name":"newVthoGenerationEndTimestamp","type":"uint48"}],"name":"VthoGenerationEndTimestampSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"WhitelistEntryRemoved","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"_burnCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"_safeMintCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"isX","type":"bool"},{"internalType":"uint8","name":"id","type":"uint8"},{"internalType":"uint64","name":"maturityBlocks","type":"uint64"},{"internalType":"uint64","name":"scaledRewardFactor","type":"uint64"},{"internalType":"uint256","name":"vetAmountRequiredToStake","type":"uint256"}],"internalType":"struct DataTypes.Level","name":"level","type":"tuple"},{"internalType":"uint208","name":"circulatingSupply","type":"uint208"},{"internalType":"uint32","name":"cap","type":"uint32"}],"internalType":"struct DataTypes.LevelAndSupply","name":"_levelAndSupply","type":"tuple"}],"name":"addLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"addTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"boost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"boostAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_levelId","type":"uint8"}],"name":"boostAmountOfLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"boostOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_levelId","type":"uint8"}],"name":"boostPricePerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_levelId","type":"uint8"},{"internalType":"uint48","name":"_blockNumber","type":"uint48"}],"name":"getCirculatingSupplyAtBlock","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_levelId","type":"uint8"}],"name":"getLevel","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"isX","type":"bool"},{"internalType":"uint8","name":"id","type":"uint8"},{"internalType":"uint64","name":"maturityBlocks","type":"uint64"},{"internalType":"uint64","name":"scaledRewardFactor","type":"uint64"},{"internalType":"uint256","name":"vetAmountRequiredToStake","type":"uint256"}],"internalType":"struct DataTypes.Level","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLevelIds","outputs":[{"internalType":"uint8[]","name":"","type":"uint8[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_levelId","type":"uint8"}],"name":"getLevelSupply","outputs":[{"internalType":"uint208","name":"circulating","type":"uint208"},{"internalType":"uint32","name":"cap","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLevels","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"isX","type":"bool"},{"internalType":"uint8","name":"id","type":"uint8"},{"internalType":"uint64","name":"maturityBlocks","type":"uint64"},{"internalType":"uint64","name":"scaledRewardFactor","type":"uint64"},{"internalType":"uint256","name":"vetAmountRequiredToStake","type":"uint256"}],"internalType":"struct DataTypes.Level[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLevelsCirculatingSupplies","outputs":[{"internalType":"uint208[]","name":"","type":"uint208[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint48","name":"_blockNumber","type":"uint48"}],"name":"getLevelsCirculatingSuppliesAtBlock","outputs":[{"internalType":"uint208[]","name":"","type":"uint208[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStargate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getToken","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint8","name":"levelId","type":"uint8"},{"internalType":"uint64","name":"mintedAtBlock","type":"uint64"},{"internalType":"uint256","name":"vetAmountStaked","type":"uint256"},{"internalType":"uint48","name":"lastVetGeneratedVthoClaimTimestamp_deprecated","type":"uint48"}],"internalType":"struct DataTypes.Token","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getTokenLevel","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getTokenManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVthoTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"idsManagedBy","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"idsOwnedBy","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"isManagedByOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"isTokenManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"isUnderMaturityPeriod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"isXToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"legacyNodes","outputs":[{"internalType":"contract ITokenAuction","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"maturityPeriodEndBlock","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"migrate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"name":"migrateTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_levelId","type":"uint8"},{"internalType":"address","name":"_to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"ownerTotalVetStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"ownsXToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"removeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_baseTokenURI","type":"string"}],"name":"setBaseURI","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":"timestamp","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"tokensManagedBy","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint8","name":"levelId","type":"uint8"},{"internalType":"uint64","name":"mintedAtBlock","type":"uint64"},{"internalType":"uint256","name":"vetAmountStaked","type":"uint256"},{"internalType":"uint48","name":"lastVetGeneratedVthoClaimTimestamp_deprecated","type":"uint48"}],"internalType":"struct DataTypes.Token[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"tokensOverview","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"manager","type":"address"},{"internalType":"uint8","name":"levelId","type":"uint8"}],"internalType":"struct DataTypes.TokenOverview[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"tokensOwnedBy","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint8","name":"levelId","type":"uint8"},{"internalType":"uint64","name":"mintedAtBlock","type":"uint64"},{"internalType":"uint256","name":"vetAmountStaked","type":"uint256"},{"internalType":"uint48","name":"lastVetGeneratedVthoClaimTimestamp_deprecated","type":"uint48"}],"internalType":"struct DataTypes.Token[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"xTokensCount","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","_burnCallback(uint256)":"84e66840","_safeMintCallback(address,uint256)":"7aee0158","addLevel(((string,bool,uint8,uint64,uint64,uint256),uint208,uint32))":"e2540d8a","addTokenManager(address,uint256)":"0c72580f","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","boost(uint256)":"1b55d19e","boostAmount(uint256)":"13e09e96","boostAmountOfLevel(uint8)":"c1ea9258","boostOnBehalfOf(address,uint256)":"996fa255","boostPricePerBlock(uint8)":"a9fa6f58","burn(uint256)":"42966c68","clock()":"91ddadf4","getApproved(uint256)":"081812fc","getCirculatingSupplyAtBlock(uint8,uint48)":"aef0c8ee","getCurrentTokenId()":"56189236","getLevel(uint8)":"6d779991","getLevelIds()":"724b4fcf","getLevelSupply(uint8)":"0c0f1c84","getLevels()":"0c394a60","getLevelsCirculatingSupplies()":"29f7540b","getLevelsCirculatingSuppliesAtBlock(uint48)":"2c5811da","getStargate()":"736f9035","getToken(uint256)":"e4b50cb8","getTokenLevel(uint256)":"d011645c","getTokenManager(uint256)":"692b26ff","getVthoTokenAddress()":"1e813caf","idsManagedBy(address)":"afad8f5e","idsOwnedBy(address)":"e764c7c4","isApprovedForAll(address,address)":"e985e9c5","isManagedByOwner(uint256)":"8419de89","isTokenManager(address,uint256)":"32ebc612","isUnderMaturityPeriod(uint256)":"d621517e","isXToken(uint256)":"f0572485","legacyNodes()":"59c87d14","maturityPeriodEndBlock(uint256)":"a77ad11d","migrate(uint256)":"454b0608","migrateTokenManager(uint256,address)":"ecf79966","mint(uint8,address)":"7bf75f6c","ownerOf(uint256)":"6352211e","ownerTotalVetStaked(address)":"a780f539","ownsXToken(address)":"a4984009","pause()":"8456cb59","removeTokenManager(uint256)":"d4dfed36","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setBaseURI(string)":"55f804b3","supportsInterface(bytes4)":"01ffc9a7","timestamp()":"b80777ea","tokenByIndex(uint256)":"4f6ccce7","tokenExists(uint256)":"00923f9e","tokenOfOwnerByIndex(address,uint256)":"2f745c59","tokensManagedBy(address)":"cd2c6efe","tokensOverview(address)":"05a03f50","tokensOwnedBy(address)":"ea66aeb3","totalSupply()":"18160ddd","transferBalance(uint256)":"8a60c4c1","transferFrom(address,address,uint256)":"23b872dd","unpause()":"3f4ba83a","version()":"54fd4d50","xTokensCount()":"e1fac594"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"oldBaseURI\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"}],\"name\":\"BaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseVTHORewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldBoostPricePerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBoostPricePerBlock\",\"type\":\"uint256\"}],\"name\":\"LevelBoostPricePerBlockUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"oldCap\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"newCap\",\"type\":\"uint32\"}],\"name\":\"LevelCapUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint208\",\"name\":\"oldCirculatingSupply\",\"type\":\"uint208\"},{\"indexed\":false,\"internalType\":\"uint208\",\"name\":\"newCirculatingSupply\",\"type\":\"uint208\"}],\"name\":\"LevelCirculatingSupplyUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isX\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"maturityBlocks\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"scaledRewardFactor\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vetAmountRequiredToStake\",\"type\":\"uint256\"}],\"name\":\"LevelUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vetAmountStaked\",\"type\":\"uint256\"}],\"name\":\"TokenBurned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"TokenManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"TokenManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"migrated\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vetAmountStaked\",\"type\":\"uint256\"}],\"name\":\"TokenMinted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"oldVthoGenerationEndTimestamp\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"newVthoGenerationEndTimestamp\",\"type\":\"uint48\"}],\"name\":\"VthoGenerationEndTimestampSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"WhitelistEntryRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"_burnCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"_safeMintCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isX\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"id\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"maturityBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"scaledRewardFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"vetAmountRequiredToStake\",\"type\":\"uint256\"}],\"internalType\":\"struct DataTypes.Level\",\"name\":\"level\",\"type\":\"tuple\"},{\"internalType\":\"uint208\",\"name\":\"circulatingSupply\",\"type\":\"uint208\"},{\"internalType\":\"uint32\",\"name\":\"cap\",\"type\":\"uint32\"}],\"internalType\":\"struct DataTypes.LevelAndSupply\",\"name\":\"_levelAndSupply\",\"type\":\"tuple\"}],\"name\":\"addLevel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"addTokenManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"boost\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"boostAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_levelId\",\"type\":\"uint8\"}],\"name\":\"boostAmountOfLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"boostOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_levelId\",\"type\":\"uint8\"}],\"name\":\"boostPricePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_levelId\",\"type\":\"uint8\"},{\"internalType\":\"uint48\",\"name\":\"_blockNumber\",\"type\":\"uint48\"}],\"name\":\"getCirculatingSupplyAtBlock\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_levelId\",\"type\":\"uint8\"}],\"name\":\"getLevel\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isX\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"id\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"maturityBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"scaledRewardFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"vetAmountRequiredToStake\",\"type\":\"uint256\"}],\"internalType\":\"struct DataTypes.Level\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLevelIds\",\"outputs\":[{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_levelId\",\"type\":\"uint8\"}],\"name\":\"getLevelSupply\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"circulating\",\"type\":\"uint208\"},{\"internalType\":\"uint32\",\"name\":\"cap\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLevels\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isX\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"id\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"maturityBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"scaledRewardFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"vetAmountRequiredToStake\",\"type\":\"uint256\"}],\"internalType\":\"struct DataTypes.Level[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLevelsCirculatingSupplies\",\"outputs\":[{\"internalType\":\"uint208[]\",\"name\":\"\",\"type\":\"uint208[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"_blockNumber\",\"type\":\"uint48\"}],\"name\":\"getLevelsCirculatingSuppliesAtBlock\",\"outputs\":[{\"internalType\":\"uint208[]\",\"name\":\"\",\"type\":\"uint208[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStargate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"mintedAtBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"vetAmountStaked\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"lastVetGeneratedVthoClaimTimestamp_deprecated\",\"type\":\"uint48\"}],\"internalType\":\"struct DataTypes.Token\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenLevel\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVthoTokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"idsManagedBy\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"idsOwnedBy\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"isManagedByOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"isTokenManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"isUnderMaturityPeriod\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"isXToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"legacyNodes\",\"outputs\":[{\"internalType\":\"contract ITokenAuction\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"maturityPeriodEndBlock\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"migrateTokenManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_levelId\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"ownerTotalVetStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"ownsXToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"removeTokenManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseTokenURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"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\":\"timestamp\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"tokensManagedBy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"mintedAtBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"vetAmountStaked\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"lastVetGeneratedVthoClaimTimestamp_deprecated\",\"type\":\"uint48\"}],\"internalType\":\"struct DataTypes.Token[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"tokensOverview\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"}],\"internalType\":\"struct DataTypes.TokenOverview[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"tokensOwnedBy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"levelId\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"mintedAtBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"vetAmountStaked\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"lastVetGeneratedVthoClaimTimestamp_deprecated\",\"type\":\"uint48\"}],\"internalType\":\"struct DataTypes.Token[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xTokensCount\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BaseURIUpdated(string,string)\":{\"params\":{\"newBaseURI\":\"The new base URI\",\"oldBaseURI\":\"The old base URI\"}},\"BaseVTHORewardsClaimed(address,uint256,uint256)\":{\"details\":\"Not emitted anymore in V3, since we don't generate VTHO anymoreDeprecated in V3\",\"params\":{\"amount\":\"The amount of VTHO rewards claimed\",\"owner\":\"The address that claimed the rewards\",\"tokenId\":\"The ID of the token for which rewards were claimed\"}},\"LevelBoostPricePerBlockUpdated(uint8,uint256,uint256)\":{\"params\":{\"levelId\":\"The ID of the level boost price per block that was updated\",\"newBoostPricePerBlock\":\"The new boost price per block\",\"oldBoostPricePerBlock\":\"The old boost price per block\"}},\"LevelCapUpdated(uint8,uint32,uint32)\":{\"params\":{\"levelId\":\"The ID of the level cap that was updated\",\"newCap\":\"The new cap\",\"oldCap\":\"The old cap\"}},\"LevelCirculatingSupplyUpdated(uint8,uint208,uint208)\":{\"params\":{\"levelId\":\"The ID of the level supply that was updated\",\"newCirculatingSupply\":\"The new circulating supply\",\"oldCirculatingSupply\":\"The old circulating supply\"}},\"LevelUpdated(uint8,string,bool,uint64,uint64,uint256)\":{\"params\":{\"isX\":\"The new X status\",\"levelId\":\"The ID of the level that was updated\",\"maturityBlocks\":\"The new maturity period in blocks\",\"name\":\"The new name of the level\",\"scaledRewardFactor\":\"The new scaled reward multiplier\",\"vetAmountRequiredToStake\":\"The new VET amount required for staking\"}},\"TokenBurned(address,uint8,uint256,uint256)\":{\"params\":{\"levelId\":\"The level ID of the newly burned NFT\",\"owner\":\"The address that owns the newly burned NFT\",\"tokenId\":\"The ID of the newly burned NFT\",\"vetAmountStaked\":\"The amount of VET staked to burn the NFT\"}},\"TokenManagerAdded(uint256,address)\":{\"params\":{\"manager\":\"The address of the manager\",\"tokenId\":\"The ID of the token\"}},\"TokenManagerRemoved(uint256,address)\":{\"params\":{\"manager\":\"The address of the manager\",\"tokenId\":\"The ID of the token\"}},\"TokenMinted(address,uint8,bool,uint256,uint256)\":{\"params\":{\"levelId\":\"The level ID of the newly minted NFT\",\"migrated\":\"Whether the token was migrated from legacy nodes contract\",\"owner\":\"The address that owns the newly minted NFT\",\"tokenId\":\"The ID of the newly minted NFT\",\"vetAmountStaked\":\"The amount of VET staked to mint the NFT\"}},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"VthoGenerationEndTimestampSet(uint48,uint48)\":{\"details\":\"Not emitted anymore in V3, since there is no need to set this value anymore\",\"params\":{\"newVthoGenerationEndTimestamp\":\"The new VTHO generation end timestamp\",\"oldVthoGenerationEndTimestamp\":\"The old VTHO generation end timestamp\"}},\"WhitelistEntryRemoved(address)\":{\"params\":{\"owner\":\"The address of the whitelist entry\"}}},\"kind\":\"dev\",\"methods\":{\"_burnCallback(uint256)\":{\"details\":\"Only the StargateNFT contract can call this function\",\"params\":{\"tokenId\":\"- the token ID of the token to burn\"}},\"_safeMintCallback(address,uint256)\":{\"details\":\"Only the StargateNFT contract can call this function\",\"params\":{\"to\":\"- the address to mint the token to\",\"tokenId\":\"- the token ID of the token to mint\"}},\"addLevel(((string,bool,uint8,uint64,uint64,uint256),uint208,uint32))\":{\"details\":\"Only the LEVEL_OPERATOR_ROLE can call this function Check the {Levels.addLevel} library function for more details Emits a {IStargateNFT.LevelUpdated} event Emits a {IStargateNFT.LevelCirculatingSupplyUpdated} event Emits a {IStargateNFT.LevelCapUpdated} event\",\"params\":{\"_levelAndSupply\":\"- The level and supply to add, see {DataTypes.LevelAndSupply}\"}},\"addTokenManager(address,uint256)\":{\"details\":\"This manager can use the token for voting on VeVote or in B3TR but it cant calim rewards for themselves, transfer, delegate or unstake the tokenIf a token already has a manager, it will be removed and the new manager will be addedEmits a {IStargateNFT.TokenManagerAdded} event\",\"params\":{\"_manager\":\"The address of the manager to add\",\"_tokenId\":\"The ID of the token to add the manager to\"}},\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"baseURI()\":{\"returns\":{\"_0\":\"baseURI - the base URI string\"}},\"boost(uint256)\":{\"details\":\"This can only be called by the Stargate contractEmits a {IStargateNFT.MaturityPeriodBoosted} event\",\"params\":{\"_tokenId\":\"The ID of the token to boost\"}},\"boostAmount(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to boost\"},\"returns\":{\"_0\":\"boostAmount The amount of VTHO required to boost the token's maturity period\"}},\"boostAmountOfLevel(uint8)\":{\"params\":{\"_levelId\":\"The level ID of the token to boost\"},\"returns\":{\"_0\":\"boostAmount The amount of VTHO required to boost the token's maturity period\"}},\"boostOnBehalfOf(address,uint256)\":{\"details\":\"This can only be called by the Stargate contractEmits a {IStargateNFT.MaturityPeriodBoosted} event\",\"params\":{\"_sender\":\"The address to boost the token for\",\"_tokenId\":\"The ID of the token to boost\"}},\"boostPricePerBlock(uint8)\":{\"params\":{\"_levelId\":\"The level ID of the token to boost\"},\"returns\":{\"_0\":\"boostPricePerBlock The boost price per block for the level\"}},\"burn(uint256)\":{\"details\":\"This can only be called by the Stargate contractEmits a {IStargateNFT.TokenBurned} event\",\"params\":{\"_tokenId\":\"The ID of the token to burn\"}},\"clock()\":{\"returns\":{\"_0\":\"blockNumber - the current block number\"}},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"getCirculatingSupplyAtBlock(uint8,uint48)\":{\"params\":{\"_blockNumber\":\"The block number to get the supply at\",\"_levelId\":\"The ID of the level to get supply data for\"},\"returns\":{\"_0\":\"circulatingSupply The circulating supply of the level at the specified block\"}},\"getCurrentTokenId()\":{\"details\":\"Ids start from the total supply of the legacy contrat\",\"returns\":{\"_0\":\"currentTokenId the latest token id that was minted\"}},\"getLevel(uint8)\":{\"params\":{\"_levelId\":\"The ID of the token level spec to return\"},\"returns\":{\"_0\":\"Level - The token level spec\"}},\"getLevelIds()\":{\"returns\":{\"_0\":\"levelIds - The list of token level spec IDs\"}},\"getLevelSupply(uint8)\":{\"params\":{\"_levelId\":\"The ID of the token level to get supply data for\"},\"returns\":{\"cap\":\"The cap of the token level\",\"circulating\":\"The circulating supply of the token level\"}},\"getLevels()\":{\"returns\":{\"_0\":\"levels - The list of token level specs\"}},\"getLevelsCirculatingSupplies()\":{\"returns\":{\"_0\":\"circulatingSupplies An array of circulating supply values for all levels, sorted by level id\"}},\"getLevelsCirculatingSuppliesAtBlock(uint48)\":{\"params\":{\"_blockNumber\":\"The block number to get the supply at\"},\"returns\":{\"_0\":\"circulatingSupplies An array of circulating supply values for all levels, sorted by level id\"}},\"getStargate()\":{\"returns\":{\"_0\":\"stargate - the Stargate contract\"}},\"getToken(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to get\"},\"returns\":{\"_0\":\"token The token\"}},\"getTokenLevel(uint256)\":{\"params\":{\"_tokenId\":\"- the token ID of the NFT\"},\"returns\":{\"_0\":\"levelId - the level ID of the NFT\"}},\"getTokenManager(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to get the manager for\"},\"returns\":{\"_0\":\"manager The manager of the token\"}},\"getVthoTokenAddress()\":{\"returns\":{\"_0\":\"vthoToken - the VTHO token contract\"}},\"idsManagedBy(address)\":{\"params\":{\"_user\":\"The address of the user to get the tokens for\"},\"returns\":{\"_0\":\"tokenIds The list of token ids managed by the user\"}},\"idsOwnedBy(address)\":{\"params\":{\"_owner\":\"The address of the owner to get token IDs for\"},\"returns\":{\"_0\":\"tokenIds The list of token IDs\"}},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"isManagedByOwner(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to check\"},\"returns\":{\"_0\":\"True if the token is managed by the owner, false otherwise\"}},\"isTokenManager(address,uint256)\":{\"params\":{\"_manager\":\"The address of the manager to check\",\"_tokenId\":\"The ID of the token to check\"},\"returns\":{\"_0\":\"True if the address is a manager of the token, false otherwise\"}},\"isUnderMaturityPeriod(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to check\"},\"returns\":{\"_0\":\"isInMaturityPeriod True if the token is in the maturity period, false otherwise\"}},\"isXToken(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to check\"},\"returns\":{\"_0\":\"True if the token is an X token, false otherwise\"}},\"legacyNodes()\":{\"returns\":{\"_0\":\"legacyNodes - the legacy nodes contract\"}},\"maturityPeriodEndBlock(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to get maturity period end block for\"},\"returns\":{\"_0\":\"maturityPeriodEndBlock The maturity period end block\"}},\"migrate(uint256)\":{\"details\":\"This can only be called by the Stargate contractEmits a {IStargateNFT.TokenMinted} event and a {IStargateNFT.TokenMigrated} event\",\"params\":{\"_tokenId\":\"The ID of the token to migrate\"}},\"migrateTokenManager(uint256,address)\":{\"params\":{\"_manager\":\"The address of the manager to migrate\",\"_tokenId\":\"The ID of the token to migrate\"}},\"mint(uint8,address)\":{\"details\":\"This can only be called by the Stargate contractEmits a {IStargateNFT.TokenMinted} event\",\"params\":{\"_levelId\":\"The ID of the token level to mint\",\"_to\":\"The address to mint the token to\"}},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"ownerTotalVetStaked(address)\":{\"params\":{\"_owner\":\"The address to get total VET staked for\"},\"returns\":{\"_0\":\"totalVetStaked The total VET staked by the address\"}},\"ownsXToken(address)\":{\"params\":{\"_owner\":\"The address of the owner to check\"},\"returns\":{\"_0\":\"True if the owner owns an X token, false otherwise\"}},\"pause()\":{\"details\":\"Only the PAUSER_ROLE can call this functionPausing the contract will prevent minting\"},\"removeTokenManager(uint256)\":{\"details\":\"This manager can no longer use the token for voting on VeVote or in B3TR but it can still claim rewards for themselves, transfer, delegate or unstake the tokenIf a token has no manager, it will revertEmits a {IStargateNFT.TokenManagerRemoved} event\",\"params\":{\"_tokenId\":\"The ID of the token to remove the manager from\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or   {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon   a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the address zero. Emits an {ApprovalForAll} event.\"},\"setBaseURI(string)\":{\"details\":\"Only the MANAGER_ROLE can call this functionMetadata is hosted on IPFS, and the base URI is the base path to the collection metadataEmits a {IStargateNFT.BaseURIUpdated} event\",\"params\":{\"_baseTokenURI\":\"The new base URI\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"timestamp()\":{\"returns\":{\"_0\":\"timestamp - the current timestamp\"}},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenExists(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to check\"},\"returns\":{\"_0\":\"True if the token exists, false otherwise\"}},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"tokensManagedBy(address)\":{\"params\":{\"_user\":\"The address of the user to get the tokens for\"},\"returns\":{\"_0\":\"tokens The list of tokens managed by the user\"}},\"tokensOverview(address)\":{\"params\":{\"_user\":\"The address of the user to get the overview of the tokens\"},\"returns\":{\"_0\":\"DataTypes.TokenOverview[] The overview of the tokens related to the user\"}},\"tokensOwnedBy(address)\":{\"params\":{\"_owner\":\"The address to get tokens for\"},\"returns\":{\"_0\":\"tokens An array of tokens owned by the address\"}},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferBalance(uint256)\":{\"details\":\"This function was created after the refactor on the StargateNFT and Stargate contracts. After the refactor, all VET is handled by Stargate, this means stake, stakeAndDelegate, unstake... functions were moved to the Stargate. Since up until now we were using the StagateNFT contract to handle the VET, we need to transfer back all the previous staked VET to the Stargate so user can delegate it and unstake it. This functions transfers all the VET to the Stargate contract in one go. This function is called by the admin after the upgrade to V3 and the Stargate variable is set to the correct valueOnly the DEFAULT_ADMIN_ROLE can call this functionEmits a {IStargateNFT.VetTransferFailed} event\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"},\"unpause()\":{\"details\":\"Only the PAUSER_ROLE can call this function\"},\"xTokensCount()\":{\"details\":\"Get the count of normal tokens by subtracting the count of X tokens from the total supply\",\"returns\":{\"_0\":\"xTokensCount - the number of X tokens\"}}},\"version\":1},\"userdoc\":{\"events\":{\"BaseURIUpdated(string,string)\":{\"notice\":\"Emitted when the base URI for the token metadata is updated\"},\"BaseVTHORewardsClaimed(address,uint256,uint256)\":{\"notice\":\"Emitted when VTHO rewards are claimed for a token\"},\"LevelBoostPricePerBlockUpdated(uint8,uint256,uint256)\":{\"notice\":\"Emitted when the boost price per block of a token level is updated\"},\"LevelCapUpdated(uint8,uint32,uint32)\":{\"notice\":\"Emitted when the cap of a token level is updated\"},\"LevelCirculatingSupplyUpdated(uint8,uint208,uint208)\":{\"notice\":\"Emitted when the circulating supply of a token level is updated\"},\"LevelUpdated(uint8,string,bool,uint64,uint64,uint256)\":{\"notice\":\"Emitted when a token level is updated\"},\"TokenBurned(address,uint8,uint256,uint256)\":{\"notice\":\"Emitted when an NFT is burned\"},\"TokenManagerAdded(uint256,address)\":{\"notice\":\"Emitted when a token manager is added to a token\"},\"TokenManagerRemoved(uint256,address)\":{\"notice\":\"Emitted when a token manager is removed from a token\"},\"TokenMinted(address,uint8,bool,uint256,uint256)\":{\"notice\":\"Emitted when an NFT is minted\"},\"VthoGenerationEndTimestampSet(uint48,uint48)\":{\"notice\":\"Emitted when the VTHO generation end timestamp is updated\"},\"WhitelistEntryRemoved(address)\":{\"notice\":\"Emitted when a whitelist entry is removed\"}},\"kind\":\"user\",\"methods\":{\"CLOCK_MODE()\":{\"notice\":\"Returns the clock mode\"},\"_burnCallback(uint256)\":{\"notice\":\"Callback function to ERC721Upgradeable._burn, called by StargateNFTMinting.unstake\"},\"_safeMintCallback(address,uint256)\":{\"notice\":\"Callback function to ERC721Upgradeable._safeMint, called by StargateNFTMinting.stake\"},\"addLevel(((string,bool,uint8,uint64,uint64,uint256),uint208,uint32))\":{\"notice\":\"Adds a new token level\"},\"addTokenManager(address,uint256)\":{\"notice\":\"Adds a manager to a token\"},\"baseURI()\":{\"notice\":\"Returns the base URI for the token collection metadata\"},\"boost(uint256)\":{\"notice\":\"Boosts the maturity period of a token\"},\"boostAmount(uint256)\":{\"notice\":\"Returns the amount of VTHO required to boost a token's maturity period\"},\"boostAmountOfLevel(uint8)\":{\"notice\":\"Returns the amount of VTHO required to boost a token's maturity period\"},\"boostOnBehalfOf(address,uint256)\":{\"notice\":\"Boosts the maturity period of a token\"},\"boostPricePerBlock(uint8)\":{\"notice\":\"Returns the boost price per block for a given level\"},\"burn(uint256)\":{\"notice\":\"Burns a token from the StargateNFT contract\"},\"clock()\":{\"notice\":\"Returns the current block number\"},\"getCirculatingSupplyAtBlock(uint8,uint48)\":{\"notice\":\"Returns the circulating supply for a given level at a specific block\"},\"getCurrentTokenId()\":{\"notice\":\"Get the latest token id that was minted\"},\"getLevel(uint8)\":{\"notice\":\"Returns a token level spec for a given level ID\"},\"getLevelIds()\":{\"notice\":\"Returns a list of all token level spec IDs\"},\"getLevelSupply(uint8)\":{\"notice\":\"Returns the circulating supply and cap for a given token level\"},\"getLevels()\":{\"notice\":\"Returns a list of all token level specs\"},\"getLevelsCirculatingSupplies()\":{\"notice\":\"Returns the circulating supply for all levels\"},\"getLevelsCirculatingSuppliesAtBlock(uint48)\":{\"notice\":\"Returns the circulating supply for all levels at a certain block\"},\"getStargate()\":{\"notice\":\"Returns the address of the Stargate contract\"},\"getToken(uint256)\":{\"notice\":\"Returns a token for a given token ID\"},\"getTokenLevel(uint256)\":{\"notice\":\"Returns the level ID of a given token\"},\"getTokenManager(uint256)\":{\"notice\":\"Returns the manager of a token, if the token does not have a manager it will return the owner of the token\"},\"getVthoTokenAddress()\":{\"notice\":\"Returns the address of the VTHO token contract\"},\"idsManagedBy(address)\":{\"notice\":\"Returns the list of: 1) Token ids managed by the user 2) Token ids owned by the user and not managed by someone else Token ids owned by the user, but managed by others, won't be returned\"},\"idsOwnedBy(address)\":{\"notice\":\"Returns a list of token IDs for a given owner\"},\"isManagedByOwner(uint256)\":{\"notice\":\"Checks if a token is managed by the owner\"},\"isTokenManager(address,uint256)\":{\"notice\":\"Checks if an address is a manager of a token\"},\"isUnderMaturityPeriod(uint256)\":{\"notice\":\"Returns true if a token is in the maturity period\"},\"isXToken(uint256)\":{\"notice\":\"Checks if a token is an X token\"},\"legacyNodes()\":{\"notice\":\"Returns the legacy nodes contract\"},\"maturityPeriodEndBlock(uint256)\":{\"notice\":\"Returns the maturity period end block for a given token\"},\"migrate(uint256)\":{\"notice\":\"Migrates a token from the legacy nodes contract to StargateNFT to the same owner address as the owner of the token in the legacy nodes contract\"},\"migrateTokenManager(uint256,address)\":{\"notice\":\"Migrate a token manager to the StargateNFT contract, this function is only callable by the DEFAULT_ADMIN_ROLE so we can migrate the storage from NodeManagementV3 to StargateNFT, after the migration we can remove this function\"},\"mint(uint8,address)\":{\"notice\":\"Mints a token from the StargateNFT contract\"},\"ownerTotalVetStaked(address)\":{\"notice\":\"Returns the total VET staked by an address\"},\"ownsXToken(address)\":{\"notice\":\"Checks if an owner owns an X token\"},\"pause()\":{\"notice\":\"Pauses the StargateNFT contract\"},\"removeTokenManager(uint256)\":{\"notice\":\"Removes a manager from a token\"},\"setBaseURI(string)\":{\"notice\":\"Sets the base URI for the token collection metadata\"},\"timestamp()\":{\"notice\":\"Returns the current timestamp\"},\"tokenExists(uint256)\":{\"notice\":\"Returns true if a token exists\"},\"tokensManagedBy(address)\":{\"notice\":\"Returns the list of: 1) Tokens managed by the user 2) Tokens owned by the user and not managed by someone else Tokens owned by the user, but managed by others, won't be returned\"},\"tokensOverview(address)\":{\"notice\":\"Function to get the overview of the tokens related to a user A token is related to a user if it is owned by the user or if it is managed by the user This includes: - Tokens owned by the user and managed by the user - Tokens owned by the user and not managed by the user - Tokens managed by the user and not owned by the user\"},\"tokensOwnedBy(address)\":{\"notice\":\"Returns the tokens owned by an address\"},\"transferBalance(uint256)\":{\"notice\":\"Transfers the balance of the contract to the Stargate contract\"},\"unpause()\":{\"notice\":\"Unpauses the StargateNFT contract\"},\"xTokensCount()\":{\"notice\":\"Returns the number of X tokens in circulation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":\"IStargateNFT\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]}},\"version\":1}"}},"contracts/mocks/Stargate/interfaces/ITokenAuction.sol":{"ITokenAuction":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_auctionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_candidate","type":"address"}],"name":"AddAuctionWhiteList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_auctionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"AuctionCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_auctionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_startingPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_endingPrice","type":"uint256"},{"indexed":false,"internalType":"uint64","name":"_duration","type":"uint64"}],"name":"AuctionCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_auctionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_seller","type":"address"},{"indexed":false,"internalType":"address","name":"_winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_finalPrice","type":"uint256"}],"name":"AuctionSuccessful","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_person","type":"address"},{"indexed":false,"internalType":"bool","name":"_op","type":"bool"}],"name":"BlackListUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_owner","type":"address"}],"name":"CancelUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint8","name":"_fromLevel","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"_toLevel","type":"uint8"}],"name":"LevelChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_applier","type":"address"},{"indexed":false,"internalType":"uint8","name":"_level","type":"uint8"},{"indexed":false,"internalType":"uint64","name":"_applyTime","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"_applyBlockno","type":"uint64"}],"name":"NewUpgradeApply","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_op","type":"address"},{"indexed":false,"internalType":"bool","name":"_enabled","type":"bool"}],"name":"OperatorUpdated","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":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_saleAuction","type":"address"}],"name":"ProtocolUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_auctionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_candidate","type":"address"}],"name":"RemoveAuctionWhiteList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"inputs":[],"name":"InterfaceId_ERC165","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"name":"addAuctionWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"name":"addOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_badGuy","type":"address"}],"name":"addToBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint8","name":"_lvl","type":"uint8"},{"internalType":"bool","name":"_onUpgrade","type":"bool"},{"internalType":"uint64","name":"_applyUpgradeTime","type":"uint64"},{"internalType":"uint64","name":"_applyUpgradeBlockno","type":"uint64"}],"name":"addToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_toLvl","type":"uint8"}],"name":"applyUpgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"auctionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"bid","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"canTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"cancelAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"cancelUpgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint128","name":"_price","type":"uint128"},{"internalType":"uint64","name":"_duration","type":"uint64"},{"internalType":"address","name":"_toAddress","type":"address"}],"name":"createDirectionalSaleAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint128","name":"_startingPrice","type":"uint128"},{"internalType":"uint128","name":"_endingPrice","type":"uint128"},{"internalType":"uint64","name":"_duration","type":"uint64"}],"name":"createSaleAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint8","name":"_toLvl","type":"uint8"}],"name":"downgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getMetadata","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_level","type":"uint8"}],"name":"getTokenParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"idToOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"}],"name":"isNormalToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"}],"name":"isToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"}],"name":"isX","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"leadTime","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"normalTokenCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"operators","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ownerToId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"name":"removeAuctionWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_innocent","type":"address"}],"name":"removeFromBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"name":"removeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleAuction","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"sendBonusTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_leadtime","type":"uint64"}],"name":"setLeadTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setSaleAuctionAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseURI","type":"string"}],"name":"setTokenMetadataBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_cooldown","type":"uint64"}],"name":"setTransferCooldown","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenURI","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":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferCooldown","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint8","name":"_toLvl","type":"uint8"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"xTokenCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"InterfaceId_ERC165()":"19fa8f50","addAuctionWhiteList(uint256,address)":"cd5967db","addOperator(address)":"9870d7fe","addToBlackList(address)":"417c73a7","addToken(address,uint8,bool,uint64,uint64)":"7aaed899","applyUpgrade(uint8)":"79512513","approve(address,uint256)":"095ea7b3","auctionCount()":"2ad71573","balanceOf(address)":"70a08231","bid(uint256)":"454a2ab3","blackList(address)":"4838d165","canTransfer(uint256)":"4d4f6ea9","cancelAuction(uint256)":"96b5a755","cancelUpgrade(uint256)":"ba2a954d","createDirectionalSaleAuction(uint256,uint128,uint64,address)":"2ed9b4fd","createSaleAuction(uint256,uint128,uint128,uint64)":"bae3e19e","downgradeTo(uint256,uint8)":"b03e02c2","getApproved(uint256)":"081812fc","getMetadata(uint256)":"a574cea4","getTokenParams(uint8)":"287e8495","idToOwner(uint256)":"bfc206ed","isNormalToken(address)":"07fa65f9","isToken(address)":"19f37361","isX(address)":"f9574c69","leadTime()":"8c8d04a7","name()":"06fdde03","normalTokenCount()":"f7e6e60c","operators(address)":"13e7c9d8","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","ownerToId(address)":"e729e3a4","pause()":"8456cb59","paused()":"5c975abb","removeAuctionWhiteList(uint256,address)":"01921197","removeFromBlackList(address)":"4a49ac4c","removeOperator(address)":"ac8a584a","saleAuction()":"e6cbe351","sendBonusTo(address,uint256)":"0324529c","setLeadTime(uint64)":"2c12cc9f","setSaleAuctionAddress(address)":"6fbde40d","setTokenMetadataBaseURI(string)":"1e20363a","setTransferCooldown(uint64)":"ba6f2e65","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferCooldown()":"68f16293","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","unpause()":"3f4ba83a","upgradeTo(uint256,uint8)":"60836166","xTokenCount()":"d4156148"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_auctionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"AddAuctionWhiteList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_auctionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"AuctionCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_auctionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_endingPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_duration\",\"type\":\"uint64\"}],\"name\":\"AuctionCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_auctionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_winner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_finalPrice\",\"type\":\"uint256\"}],\"name\":\"AuctionSuccessful\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_person\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_op\",\"type\":\"bool\"}],\"name\":\"BlackListUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CancelUpgrade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_fromLevel\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_toLevel\",\"type\":\"uint8\"}],\"name\":\"LevelChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_applier\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_level\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_applyTime\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_applyBlockno\",\"type\":\"uint64\"}],\"name\":\"NewUpgradeApply\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_op\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_enabled\",\"type\":\"bool\"}],\"name\":\"OperatorUpdated\",\"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\":[],\"name\":\"Pause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_saleAuction\",\"type\":\"address\"}],\"name\":\"ProtocolUpgrade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_auctionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"RemoveAuctionWhiteList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpause\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"InterfaceId_ERC165\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"addAuctionWhiteList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"addOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_badGuy\",\"type\":\"address\"}],\"name\":\"addToBlackList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_lvl\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"_onUpgrade\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"_applyUpgradeTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_applyUpgradeBlockno\",\"type\":\"uint64\"}],\"name\":\"addToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_toLvl\",\"type\":\"uint8\"}],\"name\":\"applyUpgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"blackList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"canTransfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelUpgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"_price\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_duration\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"_toAddress\",\"type\":\"address\"}],\"name\":\"createDirectionalSaleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"_startingPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_endingPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_duration\",\"type\":\"uint64\"}],\"name\":\"createSaleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_toLvl\",\"type\":\"uint8\"}],\"name\":\"downgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_level\",\"type\":\"uint8\"}],\"name\":\"getTokenParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"idToOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"isNormalToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"isToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"isX\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"leadTime\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"normalTokenCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"operators\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"ownerToId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"removeAuctionWhiteList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_innocent\",\"type\":\"address\"}],\"name\":\"removeFromBlackList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"removeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"saleAuction\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"sendBonusTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_leadtime\",\"type\":\"uint64\"}],\"name\":\"setLeadTime\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"setSaleAuctionAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_newBaseURI\",\"type\":\"string\"}],\"name\":\"setTokenMetadataBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_cooldown\",\"type\":\"uint64\"}],\"name\":\"setTransferCooldown\",\"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\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transferCooldown\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_toLvl\",\"type\":\"uint8\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xTokenCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":\"ITokenAuction\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]}},\"version\":1}"}},"contracts/ve-better-passport/libraries/PassportTypes.sol":{"PassportTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a7aabf7950cf0040e88682662bc7a55077c6517baec43f14b6f44fd628593e9064736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 0xAA 0xBF PUSH26 0x50CF0040E88682662BC7A55077C6517BAEC43F14B6F44FD62859 RETURNDATACOPY SWAP1 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1863:2324:134:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1863:2324:134;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a7aabf7950cf0040e88682662bc7a55077c6517baec43f14b6f44fd628593e9064736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 0xAA 0xBF PUSH26 0x50CF0040E88682662BC7A55077C6517BAEC43F14B6F44FD62859 RETURNDATACOPY SWAP1 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1863:2324:134:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"PassportTypes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This library defines various data types, enumerations, and initialization parameters used within the Passport contract. It includes the `InitializationData` struct, which contains references to external contracts and configurations for personhood checks, proof of participation, signaling, and passport delegation. It also includes role-based configuration settings.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ve-better-passport/libraries/PassportTypes.sol\":\"PassportTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol":{"EndorsementUtils":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"CooldownNotExpired","type":"error"},{"inputs":[],"name":"EndorsementsPaused","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ExceedsMaxPointsPerApp","type":"error"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ExceedsMaxPointsPerNode","type":"error"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint256","name":"currentBlock","type":"uint256"}],"name":"FutureLookup","type":"error"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"uint256","name":"available","type":"uint256"},{"internalType":"uint256","name":"requested","type":"uint256"}],"name":"InsufficientAvailablePoints","type":"error"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"InvalidEndorsementIndex","type":"error"},{"inputs":[],"name":"InvalidPointsAmount","type":"error"},{"inputs":[{"internalType":"uint256","name":"maxPoints","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"MaxPointsPerAppBelowThreshold","type":"error"},{"inputs":[],"name":"MigrationAlreadyCompleted","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"NodeManagementXAppAlreadyIncluded","type":"error"},{"inputs":[],"name":"NodeNotAllowedToEndorse","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"maxPointsPerApp","type":"uint256"}],"name":"ThresholdExceedsMaxPointsPerApp","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnAppAlreadyEndorsed","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnAppBlacklisted","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"X2EarnInvalidAddress","type":"error"},{"inputs":[],"name":"X2EarnNonEndorser","type":"error"},{"inputs":[],"name":"X2EarnNonNodeHolder","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"X2EarnNonexistentApp","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":false,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"name":"AppAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"nodeId","type":"uint256"},{"indexed":false,"internalType":"address","name":"endorser","type":"address"},{"indexed":false,"internalType":"uint256","name":"points","type":"uint256"}],"name":"AppEndorsed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"endorsed","type":"bool"}],"name":"AppEndorsementStatusUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"nodeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"points","type":"uint256"}],"name":"AppUnendorsed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"appId","type":"bytes32"},{"indexed":false,"internalType":"uint48","name":"startBlock","type":"uint48"},{"indexed":false,"internalType":"uint48","name":"endBlock","type":"uint48"}],"name":"AppUnendorsedGracePeriodStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldCooldownPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newCooldownPeriod","type":"uint256"}],"name":"CooldownPeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"EndorsementScoreThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"paused","type":"bool"}],"name":"EndorsementsPausedUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldGracePeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newGracePeriod","type":"uint256"}],"name":"GracePeriodUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldMax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"MaxPointsPerAppUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldMax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"MaxPointsPerNodePerAppUpdated","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"thunder","type":"uint256"},{"internalType":"uint256","name":"mjolnir","type":"uint256"},{"internalType":"uint256","name":"veThorX","type":"uint256"},{"internalType":"uint256","name":"strengthX","type":"uint256"},{"internalType":"uint256","name":"thunderX","type":"uint256"},{"internalType":"uint256","name":"mjolnirX","type":"uint256"}],"indexed":false,"internalType":"struct EndorsementUtils.NodeStrengthScores","name":"nodeStrengthScores","type":"tuple"}],"name":"NodeStrengthScoresUpdated","type":"event"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"canUnendorse","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endorsementScoreThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endorsementsPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getEndorserNodes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getEndorsers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeActiveEndorsements","outputs":[{"components":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"points","type":"uint256"},{"internalType":"uint256","name":"endorsedAtRound","type":"uint256"}],"internalType":"struct X2EarnAppsStorageTypes.Endorsement[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeAvailablePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeEndorsementScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getNodePointsForApp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodePointsInfo","outputs":[{"components":[{"internalType":"uint256","name":"totalPoints","type":"uint256"},{"internalType":"uint256","name":"usedPoints","type":"uint256"},{"internalType":"uint256","name":"availablePoints","type":"uint256"},{"internalType":"uint256","name":"lockedPoints","type":"uint256"}],"internalType":"struct X2EarnAppsStorageTypes.NodePointsInfo","name":"info","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodeId","type":"uint256"}],"name":"getNodeUsedPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"getScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getScoreAtTimepoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUsersEndorsementScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gracePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"bool","name":"isBlacklisted","type":"bool"}],"name":"isAppUnendorsed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPointsPerApp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPointsPerNodePerApp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"migrationCompleted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"nodeLevel","type":"uint8"}],"name":"nodeLevelEndorsementScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unendorsedAppIds","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"61417e61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101cc5760003560e01c806304646a49146101d15780630ab12e14146101ec5780631e13ed7a1461020e5780633167798014610231578063381142211461023957806342c89f521461025957806344532be21461026c57806344bb58f71461028c57806347e5dcbc146102ac5780634a0c4a42146102cc5780634f77fe12146102d45780634fd4e1b8146102f457806351d2a6e3146103145780635cbc2ffb146103345780635cfdd4701461033c5780635dd3a4f11461035c5780636e054773146103a25780636fb44f5f146103c257806372584102146103e25780637ba53285146103f557806380ea3de1146104085780639a116641146104285780639ab17c9b146104485780639fcb2b411461045b578063a06db7dc1461047b578063a11bd9fb14610483578063acdb9f05146104a3578063b90a30ea146104b6578063c996c624146104be578063ccd4baca146104d1578063d6418b8a146104e4578063d76c3973146104ec578063e8786a58146104ff578063e9f9739d1461051f578063ee9419cf14610532578063f1a962ac14610552578063fcaf9a761461055a578063fcd190c41461057a575b600080fd5b6101d961059a565b6040519081526020015b60405180910390f35b8180156101f857600080fd5b5061020c610207366004613910565b6105ad565b005b61022161021c36600461393a565b610630565b60405190151581526020016101e3565b610221610667565b81801561024557600080fd5b5061020c61025436600461396a565b610682565b6101d9610267366004613910565b61077f565b61027f61027a366004613910565b61081b565b6040516101e39190613982565b61029f61029a366004613910565b6108b4565b6040516101e391906139db565b8180156102b857600080fd5b5061020c6102c7366004613a28565b610a9a565b6101d9610abf565b8180156102e057600080fd5b5061020c6102ef366004613910565b610ad2565b81801561030057600080fd5b5061022161030f366004613a59565b610b4d565b81801561032057600080fd5b5061020c61032f366004613910565b610f7e565b6101d9610ff9565b61034f61034a366004613910565b61100c565b6040516101e39190613ac0565b61036f61036a366004613910565b611080565b6040516101e391908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b8180156103ae57600080fd5b506102216103bd366004613af8565b6112bf565b8180156103ce57600080fd5b5061020c6103dd366004613910565b6113eb565b6101d96103f0366004613b1d565b61143a565b6101d9610403366004613910565b6114fb565b81801561041457600080fd5b5061020c610423366004613910565b61152e565b81801561043457600080fd5b5061020c610443366004613b3f565b61157d565b6101d9610456366004613b1d565b61171d565b81801561046757600080fd5b5061020c61047636600461393a565b611782565b6101d96117ba565b81801561048f57600080fd5b5061020c61049e366004613b98565b6117d5565b6101d96104b1366004613bc4565b611849565b61022161186f565b6101d96104cc366004613bf6565b611885565b6102216104df366004613b1d565b61197a565b61034f611ac4565b6101d96104fa366004613910565b611b1f565b81801561050b57600080fd5b5061022161051a366004613c13565b611b8b565b6101d961052d366004613910565b611d42565b81801561053e57600080fd5b5061020c61054d366004613c72565b611e5d565b6101d9612190565b81801561056657600080fd5b5061020c61057536600461393a565b6121a3565b81801561058657600080fd5b5061020c610595366004613a28565b6122be565b60006105a461230e565b600d0154905090565b60006105b7612332565b6000838152602082905260409020549091506105ee5760405163018f58af60e31b8152600481018390526024015b60405180910390fd5b600082815260208290526040902060020154156106215760405163e2cf34b760e01b8152600481018390526024016105e5565b61062c8260016121a3565b5050565b6000811561064057506000610661565b600061064a61230e565b600085815260019190910160205260409020541190505b92915050565b600061067161230e565b60170154610100900460ff16919050565b600061068c61230e565b60016000908152600380830160209081526040808420873590556002845280842091870135909155908252808220818601359055600482528082206060860135905560058252808220608086013590556006825280822060a08601359055600782529081902060c08501359055519091507fc91e5ded81b3894187855cc79c29a7eaa6b412d30cfa1658fe313129291db24290610773908490600060e082019050823582526020830135602083015260408301356040830152606083013560608301526080830135608083015260a083013560a083015260c083013560c083015292915050565b60405180910390a15050565b60008061078a61230e565b600f810154604051633404591760e21b8152600481018690529192506000916001600160a01b039091169063d011645c90602401602060405180830381865afa1580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ff9190613c9e565b60ff166000908152600390920160205250604090205492915050565b606061082561230e565b6010016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108a95783829060005260206000209060030201604051806060016040529081600082015481526020016001820154815260200160028201548152505081526020019060010190610859565b505050509050919050565b606060006108c061230e565b6000848152601382016020526040812080549293509190816001600160401b038111156108ef576108ef613cbb565b604051908082528060200260200182016040528015610918578160200160208202803683370190505b5090506000805b83811015610a8e57600085828154811061093b5761093b613cd1565b600091825260209091200154600f88015460405162491fcf60e11b8152600481018390529192506001600160a01b03169062923f9e90602401602060405180830381865afa158015610991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b59190613ce7565b6109bf5750610a7c565b600f87015460405163692b26ff60e01b8152600481018390526000916001600160a01b03169063692b26ff90602401602060405180830381865afa158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2f9190613d04565b90506001600160a01b03811615610a795780858581518110610a5357610a53613cd1565b6001600160a01b039092166020928302919091019091015283610a7581613d37565b9450505b50505b80610a8681613d37565b91505061091f565b50815295945050505050565b80610aa361230e565b60170180549115156101000261ff001990921691909117905550565b6000610ac961230e565b60150154905090565b6000610adc61230e565b90508060160154821115610b0a5760168101546040516324588df560e11b81526105e5918491600401613d50565b7fc0d3753bc89284345726d88cd5c82025ebedac4070cdbc551a0ba27b5180a637816007015483604051610b3f929190613d50565b60405180910390a160070155565b600080610b5861230e565b90506000610b64612332565b601783015490915060ff1615610b8d57604051637bd6341960e01b815260040160405180910390fd5b600089815260208290526040902054610bbc5760405163018f58af60e31b8152600481018a90526024016105e5565b50600f81015460405162491fcf60e11b8152600481018990526001600160a01b039091169062923f9e90602401602060405180830381865afa158015610c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2a9190613ce7565b1580610ca85750600f810154604051631975e30960e11b81526001600160a01b03909116906332ebc61290610c659033908b90600401613d5e565b602060405180830381865afa158015610c82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca69190613ce7565b155b15610cc6576040516326a2091b60e21b815260040160405180910390fd5b6000878152601082016020526040812080548203610cf757604051632469757560e11b815260040160405180910390fd5b600089815260118401602090815260408083208d8452909152902054815481101580610d4657508a828281548110610d3157610d31613cd1565b90600052602060002090600302016000015414155b15610d6457604051632469757560e11b815260040160405180910390fd5b83600d0154828281548110610d7b57610d7b613cd1565b906000526020600020906003020160020154610d979190613d77565b84600e0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190613d8a565b1015610e3357898b60405163564f58b360e01b81526004016105e5929190613d50565b6000828281548110610e4757610e47613cd1565b906000526020600020906003020160010154905089600014610e695789610e6b565b805b935080841115610e8e57604051632c578e4560e21b815260040160405180910390fd5b808403610ea657610ea1858c8e85612356565b610edf565b83838381548110610eb957610eb9613cd1565b90600052602060002090600302016001016000828254610ed99190613da3565b90915550505b505050600081610eef848c612535565b610ef99190613da3565b9050610f06838b8361255e565b888a60008051602061412983398151915284604051610f2791815260200190565b60405180910390a3851580610f395750865b15610f4957859350505050610f74565b8260070154811015610f6c57610f62838b898989612591565b9350505050610f74565b600193505050505b9695505050505050565b6000610f8861230e565b90508060070154821015610fb6576007810154604051635ab4737760e01b81526105e5918491600401613d50565b7ff4c290bd7ee941689bccbabc9dbd567d76db3be9871c7aa182dabf6737f7fc70816016015483604051610feb929190613d50565b60405180910390a160160155565b600061100361230e565b60160154905090565b606061101661230e565b601301600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561107457602002820191906000526020600020905b815481526020019060010190808311611060575b50505050509050919050565b6110ab6040518060800160405280600081526020016000815260200160008152602001600081525090565b60006110b561230e565b600f810154604051633404591760e21b8152600481018690529192506000916001600160a01b039091169063d011645c90602401602060405180830381865afa158015611106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112a9190613c9e565b60ff811660009081526003840160209081526040808320548752878352601086018252808320600e8701548251639cbe5efd60e01b8152925195965090946001600160a01b0390911692639cbe5efd92600480820193918290030181865afa15801561119a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111be9190613d8a565b905060005b825481101561128b578281815481106111de576111de613cd1565b906000526020600020906003020160010154866020018181516112019190613d77565b905250600d850154835484908390811061121d5761121d613cd1565b9060005260206000209060030201600201546112399190613d77565b8210156112795782818154811061125257611252613cd1565b906000526020600020906003020160010154866060018181516112759190613d77565b9052505b8061128381613d37565b9150506111c3565b50602085015185511161129f5760006112b0565b602085015185516112b09190613da3565b60408601525092949350505050565b6000806112ca612332565b90507fb5b8d618af1ffb8d5bcc4bd23f445ba34ed08d7a16d1e1b5411cfbe7913e590060006112f761230e565b6000878152602085905260409020549091506113295760405163018f58af60e31b8152600481018790526024016105e5565b600086815260038301602052604090205460ff168015611350576000945050505050610661565b600061135c83896127f9565b60008981526020879052604081206002015491925090158015919082906113a4575060008a8152600287016020526040902061139790612c2e565b6001600160d01b03166001145b905084600701548310156113cd576113bf858b86848d612591565b975050505050505050610661565b6113db85888c858589612c76565b5060019998505050505050505050565b60006113f561230e565b90507fff24fd32f78a666774cb7265d538935a108bff58375ccca2d01c4c9b66ac22a581601501548360405161142c929190613d50565b60405180910390a160150155565b60008061144561230e565b60008581526010820160205260408120805492935091900361146c57600092505050610661565b600085815260118301602090815260408083208784529091529020548154811015806114bb5750848282815481106114a6576114a6613cd1565b90600052602060002090600302016000015414155b156114cc5760009350505050610661565b8181815481106114de576114de613cd1565b906000526020600020906003020160010154935050505092915050565b600061151f61150861230e565b600084815260189190910160205260409020612c2e565b6001600160d01b031692915050565b600061153861230e565b90507f98eaabfe135a9c40c420208962bf81e7926b4d6df3e23502164c0554b7b3522481600d01548360405161156f929190613d50565b60405180910390a1600d0155565b6000611587612332565b9050600061159361230e565b90506115a381838a8a8a8a612e7a565b60006115b082898b6131cb565b905061163882898b8a8587600e0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116339190613d8a565b61327b565b600087611645848c612535565b61164f9190613d77565b905061165c838b8361255e565b826007015481106116755761167583858c89898c612c76565b600f83015460405163692b26ff60e01b8152600481018b90526000916001600160a01b03169063692b26ff90602401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190613d04565b9050898b600080516020614109833981519152838c604051611708929190613d5e565b60405180910390a35050505050505050505050565b60008061172861230e565b90504383111561174f578243604051637f07449b60e01b81526004016105e5929190613d50565b61177161175b846133f8565b600086815260188401602052604090209061342f565b6001600160d01b0316949350505050565b61178c82826121a3565b816000805160206140e9833981519152826040516117ae911515815260200190565b60405180910390a25050565b60006117c461230e565b6006015465ffffffffffff16919050565b60006117df61230e565b60068101546040519192507f55c7a79c45e9a972909cd640f9336a14a84adbaf756211f16267001854110191916118209165ffffffffffff16908590613db6565b60405180910390a1600601805465ffffffffffff191665ffffffffffff92909216919091179055565b600061185361230e565b60ff909216600090815260039290920160205250604090205490565b600061187961230e565b6017015460ff16919050565b60008061189061230e565b600f810154604051636696377f60e11b81526001600160a01b0386811660048301529293506000929091169063cd2c6efe90602401600060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261190a9190810190613e27565b90506000805b82518110156119715783600301600084838151811061193157611931613cd1565b60200260200101516020015160ff1660ff168152602001908152602001600020548261195d9190613d77565b91508061196981613d37565b915050611910565b50949350505050565b60008061198561230e565b6000858152601082016020526040812080549293509190036119ac57600092505050610661565b600085815260118301602090815260408083208784529091529020548154811015806119fb5750848282815481106119e6576119e6613cd1565b90600052602060002090600302016000015414155b15611a0c5760009350505050610661565b82600d0154828281548110611a2357611a23613cd1565b906000526020600020906003020160020154611a3f9190613d77565b83600e0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab89190613d8a565b10159695505050505050565b6060611ace61230e565b805460408051602080840282018101909252828152929190830182828015611b1557602002820191906000526020600020905b815481526020019060010190808311611b01575b5050505050905090565b600080611b2a61230e565b60008481526010820160205260408120919250805b825481101561197157828181548110611b5a57611b5a613cd1565b90600052602060002090600302016001015482611b779190613d77565b915080611b8381613d37565b915050611b3f565b600080611b9661230e565b90506000611ba2612332565b600089815260208290526040902054909150611bd45760405163018f58af60e31b8152600481018990526024016105e5565b506000868152601082016020526040812080548203611c0657604051632469757560e11b815260040160405180910390fd5b600088815260118401602090815260408083208c8452909152902054815481101580611c55575089828281548110611c4057611c40613cd1565b90600052602060002090600302016000015414155b15611c7357604051632469757560e11b815260040160405180910390fd5b818181548110611c8557611c85613cd1565b9060005260206000209060030201600101549250611ca5848a8c84612356565b5050600081611cb4848b612535565b611cbe9190613da3565b9050611ccb838a8361255e565b878960008051602061412983398151915284604051611cec91815260200190565b60405180910390a3851580611cfe5750865b15611d0e57859350505050611d39565b8260070154811015611d3157611d27838a898989612591565b9350505050611d39565b600193505050505b95945050505050565b600080611d4d61230e565b600f810154604051633404591760e21b8152600481018690529192506000916001600160a01b039091169063d011645c90602401602060405180830381865afa158015611d9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc29190613c9e565b60ff811660009081526003840160209081526040808320548884526010870190925282209293509190805b8254811015611e3957828181548110611e0857611e08613cd1565b90600052602060002090600302016001015482611e259190613d77565b915080611e3181613d37565b915050611ded565b50808311611e48576000611e52565b611e528184613da3565b979650505050505050565b6000611e6761230e565b6017810154909150610100900460ff1615611e9557604051633dbff3b560e01b815260040160405180910390fd5b600e81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611ee1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f059190613d8a565b600085815260108401602090815260408083206011870183528184208a85529092528220548154939450909290919015801590611f425750825482105b8015611f70575087838381548110611f5c57611f5c613cd1565b906000526020600020906003020160000154145b90508015612020576000838381548110611f8c57611f8c613cd1565b906000526020600020906003020160010154905086848481548110611fb357611fb3613cd1565b90600052602060002090600302016001018190555084848481548110611fdb57611fdb613cd1565b90600052602060002090600302016002018190555061201a868a89846120018b8f612535565b61200b9190613da3565b6120159190613d77565b61255e565b506120ea565b60408051606081018252898152602080820189815292820187815286546001818101895560008981529390932093516003909102909301928355925182820155915160029091015583546120749190613da3565b600088815260118701602090815260408083208c8452825280832093909355601388018152918120805460018181018355828452938320018a9055908a9052546120be9190613da3565b600089815260148701602090815260408083208b84529091529020556120ea85898861200b8383612535565b600f85015460405163692b26ff60e01b8152600481018990526000916001600160a01b03169063692b26ff90602401602060405180830381865afa158015612136573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215a9190613d04565b90508789600080516020614109833981519152838a60405161217d929190613d5e565b60405180910390a3505050505050505050565b600061219a61230e565b60070154905090565b60006121ad61230e565b90508115612291576000838152600182810160205260408220546121d19190613da3565b82549091506000906121e590600190613da3565b905060008360000182815481106121fe576121fe613cd1565b906000526020600020015490508084600001848154811061222157612221613cd1565b600091825260209091200155612238836001613d77565b6000828152600186016020526040902055835484908061225a5761225a613f30565b6001900381819060005260206000200160009055905583600101600087815260200190815260200160002060009055505050505050565b80546001808201835560008381526020808220909301869055835495815292019052604090209190915550565b60006122c861230e565b60178101805460ff19168415159081179091556040519081529091507ffd9f033c3b3a54e30cfe5bf2bc66dea3bac111d66ecc2c03a2bcc1c5ccdd025090602001610773565b7fc1a7bcdc0c77e8c77ade4541d1777901ab96ca598d164d89afa5c8dfbfc4430090565b7fb6909058bd527140b8d55a44344c5e42f1f148f1b3b16df7641882df8dd7290090565b60008381526010850160205260408120805490919061237790600190613da3565b90508083146123ff57600082828154811061239457612394613cd1565b90600052602060002090600302019050808385815481106123b7576123b7613cd1565b60009182526020808320845460039093020191825560018085015490830155600293840154939091019290925587815260118901825260408082209354825292909152208390555b8180548061240f5761240f613f30565b6000828152602080822060036000199094019384020182815560018181018490556002909101839055929093558781526011890183526040808220888352845280822082905560138a01845280822060148b0185528183208a84529094528120548354909261247d91613da3565b90508082146124e557600083828154811061249a5761249a613cd1565b90600052602060002001549050808484815481106124ba576124ba613cd1565b600091825260208083209091019290925589815260148c018252604080822093825292909152208290555b828054806124f5576124f5613f30565b6000828152602080822083016000199081018390559092019092559781526014909901875250506040808820968852959094525050509082209190915550565b6000818152601883016020526040812061254e90612c2e565b6001600160d01b03169392505050565b61258a61256a436133f8565b612573836134d6565b60008581526018870160205260409020919061350a565b5050505050565b600080841580156125b15750600086815260018801602052604090205415155b9050806125e8576125c38660006121a3565b6040516000815286906000805160206140e98339815191529060200160405180910390a25b600086815260048801602052604090205465ffffffffffff1615801561260b5750835b156126925760008681526004880160205260409020805465ffffffffffff191665ffffffffffff85811691909117909155600688015487917f502689eeffd57ae8470e1d86a4a8cd293a44bfbbd2429cb375da3d901a3dd80f918691612672911682613f46565b604051612680929190613db6565b60405180910390a26001915050611d39565b600687015460008781526004890160205260409020546126bd9165ffffffffffff9081169116613f46565b65ffffffffffff168365ffffffffffff161180156126d85750835b156127ec57600b870154604051635949432560e11b8152600481018890526001600160a01b039091169063b292864a90602401602060405180830381865afa158015612728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274c9190613f6c565b60008781526009890160205260409020805460ff1916600183600381111561277657612776613f8d565b0217905550600b870154604051630399a2ab60e21b81526001600160a01b0390911690630e668aac906127b0908990600090600401613fa3565b600060405180830381600087803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b505050506000915050611d39565b5060019695505050505050565b6000818152601383016020526040812081805b8254811015612c2357600083828154811061282957612829613cd1565b6000918252602082200154600f89015460405162491fcf60e11b8152600481018390529193506001600160a01b03169062923f9e90602401602060405180830381865afa15801561287e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a29190613ce7565b905080612b60576000828152601089016020908152604080832060118c0183528184208b8552909252909120548154811015806129025750888282815481106128ed576128ed613cd1565b90600052602060002090600302016000015414155b156129245783896040516333b11f8360e01b81526004016105e5929190613d50565b600082828154811061293857612938613cd1565b6000918252602082206001600390920201810154855490935061295b9190613da3565b9050808314612a145783818154811061297657612976613cd1565b906000526020600020906003020184848154811061299657612996613cd1565b9060005260206000209060030201600082015481600001556001820154816001015560028201548160020155905050828c601101600088815260200190815260200160002060008686815481106129ef576129ef613cd1565b9060005260206000209060030201600001548152602001908152602001600020819055505b83805480612a2457612a24613f30565b60008281526020808220600360001990940193840201828155600181810184905560029091018390559290935588815260118f01835260408082208f83529093529182208290558a54612a779190613da3565b9050808814612aef5760008a8281548110612a9457612a94613cd1565b90600052602060002001549050808b8a81548110612ab457612ab4613cd1565b9060005260206000200181905550888e60140160008f8152602001908152602001600020600083815260200190815260200160002081905550505b89805480612aff57612aff613f30565b6000828152602080822083016000199081018390559092019092558d825260148f01815260408083208a8452825280832092909255905184815288918e91600080516020614129833981519152910160405180910390a35050505050612c1c565b6000828152601089016020908152604080832060118c0183528184208b855290925290912054815481101580612bb9575088828281548110612ba457612ba4613cd1565b90600052602060002090600302016000015414155b15612bdb5783896040516333b11f8360e01b81526004016105e5929190613d50565b818181548110612bed57612bed613cd1565b90600052602060002090600302016001015486612c0a9190613d77565b955084612c1681613d37565b95505050505b505061280c565b61197186868461255e565b80546000908015612c6c57612c5683612c48600184613da3565b600091825260209091200190565b54600160301b90046001600160d01b0316612c6f565b60005b9392505050565b82612da3576000848152602086815260408083204260029091015560018089018054808301825590855292909320909101869055600b8801549051630399a2ab60e21b81526001600160a01b0390911691630e668aac91612cdb918891600401613fa3565b600060405180830381600087803b158015612cf557600080fd5b505af1158015612d09573d6000803e3d6000fd5b505050506000612d367f5830f0e95c01712d916c34d9e2fa42e9f749b325b67bce7382d70bb99c62350090565b6000868152600382016020908152604080832054918a905291829020915192935087927f181c8615e49dc4eaed218e1d225e4a34a0fb364fc70601a191573daa19d57eda92612d95926001600160a01b03169160019182019190613fd5565b60405180910390a250612e23565b81612e2357600b860154600085815260098801602052604090819020549051630399a2ab60e21b81526001600160a01b0390921691630e668aac91612df091889160ff1690600401613fa3565b600060405180830381600087803b158015612e0a57600080fd5b505af1158015612e1e573d6000803e3d6000fd5b505050505b600081158015612e425750600085815260018801602052604090205415155b90508015612e5557612e55856001611782565b50505060009182525060049092016020525060409020805465ffffffffffff19169055565b601786015460ff1615612ea057604051637bd6341960e01b815260040160405180910390fd5b600084815260208690526040902054612ecf5760405163018f58af60e31b8152600481018590526024016105e5565b8015612ef157604051633126f1ab60e01b8152600481018590526024016105e5565b821580612efc575081155b15612f1a57604051632c578e4560e21b815260040160405180910390fd5b600f86015460405162491fcf60e11b8152600481018590526001600160a01b039091169062923f9e90602401602060405180830381865afa158015612f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f879190613ce7565b15806130055750600f860154604051631975e30960e11b81526001600160a01b03909116906332ebc61290612fc29033908790600401613d5e565b602060405180830381865afa158015612fdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130039190613ce7565b155b15613023576040516326a2091b60e21b815260040160405180910390fd5b600f860154604051633404591760e21b8152600481018590526000916001600160a01b03169063d011645c90602401602060405180830381865afa15801561306f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130939190613c9e565b60ff81166000908152600389016020526040812054919250036130c957604051632e8e471b60e21b815260040160405180910390fd5b60ff81166000908152600388016020526040812054906130e98987613525565b905060008183116130fb576000613105565b6131058284613da3565b90508086111561312e5786818760405163099ee8a360e11b81526004016105e59392919061409a565b600061313b8b898b6131cb565b60158c015490915061314d8883613d77565b11156131765787898c601501546040516387b212fd60e01b81526004016105e59392919061409a565b60006131828c8b612535565b60168d01549091506131948983613d77565b11156131bd5789818d60160154604051633430a84360e11b81526004016105e59392919061409a565b505050505050505050505050565b60008281526010840160205260408120805482036131ed576000915050612c6f565b6000848152601186016020908152604080832086845290915290205481548110158061323c57508382828154811061322757613227613cd1565b90600052602060002090600302016000015414155b1561324c57600092505050612c6f565b81818154811061325e5761325e613cd1565b906000526020600020906003020160010154925050509392505050565b811561332057600085815260118701602090815260408083208784529091529020546132a78484613d77565b600087815260108901602052604090208054839081106132c9576132c9613cd1565b90600052602060002090600302016001018190555081876010016000888152602001908152602001600020828154811061330557613305613cd1565b906000526020600020906003020160020181905550506133f0565b60008581526010870160208181526040808420815160608101835289815280840189815292810187815282546001818101855584895286892093516003909202909301908155935184830155516002909301929092559389905291905290546133899190613da3565b600086815260118801602090815260408083208884528252808320939093556013890181529181208054600181810183558284529383200188905590869052546133d39190613da3565b600085815260148801602090815260408083208984529091529020555b505050505050565b600065ffffffffffff82111561342b576040516306dfcc6560e41b815260306004820152602481018390526044016105e5565b5090565b81546000908181600581111561348e57600061344a84613584565b6134549085613da3565b60008881526020902090915081015465ffffffffffff908116908716101561347e5780915061348c565b613489816001613d77565b92505b505b600061349c8787858561366c565b905080156134c9576134b387612c48600184613da3565b54600160301b90046001600160d01b0316611e52565b6000979650505050505050565b60006001600160d01b0382111561342b576040516306dfcc6560e41b815260d06004820152602481018390526044016105e5565b6000806135188585856136d1565b915091505b935093915050565b6000818152601083016020526040812081805b82548110156119715782818154811061355357613553613cd1565b906000526020600020906003020160010154826135709190613d77565b91508061357c81613d37565b915050613538565b60008160000361359657506000919050565b600060016135a38461384b565b901c6001901b905060018184816135bc576135bc6140b0565b048201901c905060018184816135d4576135d46140b0565b048201901c905060018184816135ec576135ec6140b0565b048201901c90506001818481613604576136046140b0565b048201901c9050600181848161361c5761361c6140b0565b048201901c90506001818481613634576136346140b0565b048201901c9050600181848161364c5761364c6140b0565b048201901c9050612c6f81828581613666576136666140b0565b046138df565b60005b818310156136c657600061368384846138f5565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156136b2578092506136c0565b6136bd816001613d77565b93505b5061366f565b50805b949350505050565b8254600090819080156137f05760006136ef87612c48600185613da3565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561374357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff80881691160361378f578461376688612c48600186613da3565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556137e0565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b60200151925083915061351d9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b02919093161792019190915590508161351d565b600080608083901c1561386057608092831c92015b604083901c1561387257604092831c92015b602083901c1561388457602092831c92015b601083901c1561389657601092831c92015b600883901c156138a857600892831c92015b600483901c156138ba57600492831c92015b600283901c156138cc57600292831c92015b600183901c156106615760010192915050565b60008183106138ee5781612c6f565b5090919050565b600061390460028484186140c6565b612c6f90848416613d77565b60006020828403121561392257600080fd5b5035919050565b801515811461393757600080fd5b50565b6000806040838503121561394d57600080fd5b82359150602083013561395f81613929565b809150509250929050565b600060e0828403121561397c57600080fd5b50919050565b602080825282518282018190526000919060409081850190868401855b828110156139ce578151805185528681015187860152850151858501526060909301929085019060010161399f565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015613a1c5783516001600160a01b0316835292840192918401916001016139f7565b50909695505050505050565b600060208284031215613a3a57600080fd5b8135612c6f81613929565b65ffffffffffff8116811461393757600080fd5b60008060008060008060c08789031215613a7257600080fd5b8635955060208701359450604087013593506060870135613a9281613929565b92506080870135613aa281613929565b915060a0870135613ab281613a45565b809150509295509295509295565b6020808252825182820181905260009190848201906040850190845b81811015613a1c57835183529284019291840191600101613adc565b60008060408385031215613b0b57600080fd5b82359150602083013561395f81613a45565b60008060408385031215613b3057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215613b5857600080fd5b8635955060208701359450604087013593506060870135613b7881613929565b92506080870135613b8881613929565b915060a0870135613ab281613929565b600060208284031215613baa57600080fd5b8135612c6f81613a45565b60ff8116811461393757600080fd5b600060208284031215613bd657600080fd5b8135612c6f81613bb5565b6001600160a01b038116811461393757600080fd5b600060208284031215613c0857600080fd5b8135612c6f81613be1565b600080600080600060a08688031215613c2b57600080fd5b85359450602086013593506040860135613c4481613929565b92506060860135613c5481613929565b91506080860135613c6481613a45565b809150509295509295909350565b600080600060608486031215613c8757600080fd5b505081359360208301359350604090920135919050565b600060208284031215613cb057600080fd5b8151612c6f81613bb5565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215613cf957600080fd5b8151612c6f81613929565b600060208284031215613d1657600080fd5b8151612c6f81613be1565b634e487b7160e01b600052601160045260246000fd5b600060018201613d4957613d49613d21565b5060010190565b918252602082015260400190565b6001600160a01b03929092168252602082015260400190565b8082018082111561066157610661613d21565b600060208284031215613d9c57600080fd5b5051919050565b8181038181111561066157610661613d21565b65ffffffffffff92831681529116602082015260400190565b60405160a081016001600160401b0381118282101715613df157613df1613cbb565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613e1f57613e1f613cbb565b604052919050565b60006020808385031215613e3a57600080fd5b82516001600160401b0380821115613e5157600080fd5b818501915085601f830112613e6557600080fd5b815181811115613e7757613e77613cbb565b613e85848260051b01613df7565b81815260a09182028401850191858201919089841115613ea457600080fd5b948601945b83861015613f235780868b031215613ec15760008081fd5b613ec9613dcf565b8651815287870151613eda81613bb5565b818901526040878101518781168114613ef35760008081fd5b9082015260608781015190820152608080880151613f1081613a45565b9082015283529485019491860191613ea9565b5098975050505050505050565b634e487b7160e01b600052603160045260246000fd5b65ffffffffffff818116838216019080821115613f6557613f65613d21565b5092915050565b600060208284031215613f7e57600080fd5b815160048110612c6f57600080fd5b634e487b7160e01b600052602160045260246000fd5b8281526040810160048310613fc857634e487b7160e01b600052602160045260246000fd5b8260208301529392505050565b60018060a01b0384168152600060206060818401526000855481600182811c91508083168061400557607f831692505b858310810361402257634e487b7160e01b85526022600452602485fd5b6060880183905260808801818015614041576001811461405757614082565b60ff198616825284151560051b82019650614082565b60008c81526020902060005b8681101561407c57815484820152908501908901614063565b83019750505b505050508615156040870152509092506136c9915050565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601260045260246000fd5b6000826140e357634e487b7160e01b600052601260045260246000fd5b50049056fe39ed358ca65699fee4083beb84f3d91ce2201bb0c89859317fc5be02231609ed1193ced031b3229da69fab9691642274e1ea2625dfce9967135e6d5e6029d22075a2c0f7478dc6b5e01e316a07fc6b72d32d90ca051d898b5d198300d1a7c036a2646970667358221220d3472b7206dd15f96c27abb83db70cea59eb40259fb2c93010f96bf95812c4e164736f6c63430008140033","opcodes":"PUSH2 0x417E PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1CC JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4646A49 EQ PUSH2 0x1D1 JUMPI DUP1 PUSH4 0xAB12E14 EQ PUSH2 0x1EC JUMPI DUP1 PUSH4 0x1E13ED7A EQ PUSH2 0x20E JUMPI DUP1 PUSH4 0x31677980 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0x38114221 EQ PUSH2 0x239 JUMPI DUP1 PUSH4 0x42C89F52 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0x44532BE2 EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x44BB58F7 EQ PUSH2 0x28C JUMPI DUP1 PUSH4 0x47E5DCBC EQ PUSH2 0x2AC JUMPI DUP1 PUSH4 0x4A0C4A42 EQ PUSH2 0x2CC JUMPI DUP1 PUSH4 0x4F77FE12 EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x4FD4E1B8 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x51D2A6E3 EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x5CBC2FFB EQ PUSH2 0x334 JUMPI DUP1 PUSH4 0x5CFDD470 EQ PUSH2 0x33C JUMPI DUP1 PUSH4 0x5DD3A4F1 EQ PUSH2 0x35C JUMPI DUP1 PUSH4 0x6E054773 EQ PUSH2 0x3A2 JUMPI DUP1 PUSH4 0x6FB44F5F EQ PUSH2 0x3C2 JUMPI DUP1 PUSH4 0x72584102 EQ PUSH2 0x3E2 JUMPI DUP1 PUSH4 0x7BA53285 EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0x80EA3DE1 EQ PUSH2 0x408 JUMPI DUP1 PUSH4 0x9A116641 EQ PUSH2 0x428 JUMPI DUP1 PUSH4 0x9AB17C9B EQ PUSH2 0x448 JUMPI DUP1 PUSH4 0x9FCB2B41 EQ PUSH2 0x45B JUMPI DUP1 PUSH4 0xA06DB7DC EQ PUSH2 0x47B JUMPI DUP1 PUSH4 0xA11BD9FB EQ PUSH2 0x483 JUMPI DUP1 PUSH4 0xACDB9F05 EQ PUSH2 0x4A3 JUMPI DUP1 PUSH4 0xB90A30EA EQ PUSH2 0x4B6 JUMPI DUP1 PUSH4 0xC996C624 EQ PUSH2 0x4BE JUMPI DUP1 PUSH4 0xCCD4BACA EQ PUSH2 0x4D1 JUMPI DUP1 PUSH4 0xD6418B8A EQ PUSH2 0x4E4 JUMPI DUP1 PUSH4 0xD76C3973 EQ PUSH2 0x4EC JUMPI DUP1 PUSH4 0xE8786A58 EQ PUSH2 0x4FF JUMPI DUP1 PUSH4 0xE9F9739D EQ PUSH2 0x51F JUMPI DUP1 PUSH4 0xEE9419CF EQ PUSH2 0x532 JUMPI DUP1 PUSH4 0xF1A962AC EQ PUSH2 0x552 JUMPI DUP1 PUSH4 0xFCAF9A76 EQ PUSH2 0x55A JUMPI DUP1 PUSH4 0xFCD190C4 EQ PUSH2 0x57A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D9 PUSH2 0x59A JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x207 CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x5AD JUMP JUMPDEST STOP JUMPDEST PUSH2 0x221 PUSH2 0x21C CALLDATASIZE PUSH1 0x4 PUSH2 0x393A JUMP JUMPDEST PUSH2 0x630 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH2 0x221 PUSH2 0x667 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x245 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x254 CALLDATASIZE PUSH1 0x4 PUSH2 0x396A JUMP JUMPDEST PUSH2 0x682 JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x267 CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x77F JUMP JUMPDEST PUSH2 0x27F PUSH2 0x27A CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x81B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x3982 JUMP JUMPDEST PUSH2 0x29F PUSH2 0x29A CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x8B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x39DB JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x2C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A28 JUMP JUMPDEST PUSH2 0xA9A JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0xABF JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x2EF CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0xAD2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x221 PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0x3A59 JUMP JUMPDEST PUSH2 0xB4D JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x320 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x32F CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0xF7E JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0xFF9 JUMP JUMPDEST PUSH2 0x34F PUSH2 0x34A CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x100C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x3AC0 JUMP JUMPDEST PUSH2 0x36F PUSH2 0x36A CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x1080 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E3 SWAP2 SWAP1 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH1 0x40 DUP1 DUP4 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH1 0x60 SWAP2 DUP3 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x3AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x221 PUSH2 0x3BD CALLDATASIZE PUSH1 0x4 PUSH2 0x3AF8 JUMP JUMPDEST PUSH2 0x12BF JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x3DD CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x13EB JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x3F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x3B1D JUMP JUMPDEST PUSH2 0x143A JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x403 CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x14FB JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x414 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x423 CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x152E JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x443 CALLDATASIZE PUSH1 0x4 PUSH2 0x3B3F JUMP JUMPDEST PUSH2 0x157D JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x456 CALLDATASIZE PUSH1 0x4 PUSH2 0x3B1D JUMP JUMPDEST PUSH2 0x171D JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x476 CALLDATASIZE PUSH1 0x4 PUSH2 0x393A JUMP JUMPDEST PUSH2 0x1782 JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x17BA JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x48F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x49E CALLDATASIZE PUSH1 0x4 PUSH2 0x3B98 JUMP JUMPDEST PUSH2 0x17D5 JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x4B1 CALLDATASIZE PUSH1 0x4 PUSH2 0x3BC4 JUMP JUMPDEST PUSH2 0x1849 JUMP JUMPDEST PUSH2 0x221 PUSH2 0x186F JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x4CC CALLDATASIZE PUSH1 0x4 PUSH2 0x3BF6 JUMP JUMPDEST PUSH2 0x1885 JUMP JUMPDEST PUSH2 0x221 PUSH2 0x4DF CALLDATASIZE PUSH1 0x4 PUSH2 0x3B1D JUMP JUMPDEST PUSH2 0x197A JUMP JUMPDEST PUSH2 0x34F PUSH2 0x1AC4 JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x4FA CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x1B1F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x221 PUSH2 0x51A CALLDATASIZE PUSH1 0x4 PUSH2 0x3C13 JUMP JUMPDEST PUSH2 0x1B8B JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x1D42 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x53E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x54D CALLDATASIZE PUSH1 0x4 PUSH2 0x3C72 JUMP JUMPDEST PUSH2 0x1E5D JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x2190 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x566 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x575 CALLDATASIZE PUSH1 0x4 PUSH2 0x393A JUMP JUMPDEST PUSH2 0x21A3 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x586 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x595 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A28 JUMP JUMPDEST PUSH2 0x22BE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A4 PUSH2 0x230E JUMP JUMPDEST PUSH1 0xD ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5B7 PUSH2 0x2332 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD ISZERO PUSH2 0x621 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2CF34B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST PUSH2 0x62C DUP3 PUSH1 0x1 PUSH2 0x21A3 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO PUSH2 0x640 JUMPI POP PUSH1 0x0 PUSH2 0x661 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x64A PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD GT SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x671 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x68C PUSH2 0x230E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP8 CALLDATALOAD SWAP1 SSTORE PUSH1 0x2 DUP5 MSTORE DUP1 DUP5 KECCAK256 SWAP2 DUP8 ADD CALLDATALOAD SWAP1 SWAP2 SSTORE SWAP1 DUP3 MSTORE DUP1 DUP3 KECCAK256 DUP2 DUP7 ADD CALLDATALOAD SWAP1 SSTORE PUSH1 0x4 DUP3 MSTORE DUP1 DUP3 KECCAK256 PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP1 SSTORE PUSH1 0x5 DUP3 MSTORE DUP1 DUP3 KECCAK256 PUSH1 0x80 DUP7 ADD CALLDATALOAD SWAP1 SSTORE PUSH1 0x6 DUP3 MSTORE DUP1 DUP3 KECCAK256 PUSH1 0xA0 DUP7 ADD CALLDATALOAD SWAP1 SSTORE PUSH1 0x7 DUP3 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0xC0 DUP6 ADD CALLDATALOAD SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP PUSH32 0xC91E5DED81B3894187855CC79C29A7EAA6B412D30CFA1658FE313129291DB242 SWAP1 PUSH2 0x773 SWAP1 DUP5 SWAP1 PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP3 CALLDATALOAD DUP3 MSTORE PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD CALLDATALOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP4 ADD CALLDATALOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP4 ADD CALLDATALOAD PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP4 ADD CALLDATALOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 DUP4 ADD CALLDATALOAD PUSH1 0xC0 DUP4 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x78A PUSH2 0x230E JUMP JUMPDEST PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7FF SWAP2 SWAP1 PUSH2 0x3C9E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x825 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x10 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x8A9 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x859 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x8C0 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x13 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x8EF JUMPI PUSH2 0x8EF PUSH2 0x3CBB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x918 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA8E JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x93B JUMPI PUSH2 0x93B PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0xF DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x991 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9B5 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST PUSH2 0x9BF JUMPI POP PUSH2 0xA7C JUMP JUMPDEST PUSH1 0xF DUP8 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA0B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA2F SWAP2 SWAP1 PUSH2 0x3D04 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0xA79 JUMPI DUP1 DUP6 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0xA53 JUMPI PUSH2 0xA53 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP4 PUSH2 0xA75 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP5 POP POP JUMPDEST POP POP JUMPDEST DUP1 PUSH2 0xA86 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x91F JUMP JUMPDEST POP DUP2 MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0xAA3 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 ADD DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAC9 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x15 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xADC PUSH2 0x230E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x16 ADD SLOAD DUP3 GT ISZERO PUSH2 0xB0A JUMPI PUSH1 0x16 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x24588DF5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH2 0x5E5 SWAP2 DUP5 SWAP2 PUSH1 0x4 ADD PUSH2 0x3D50 JUMP JUMPDEST PUSH32 0xC0D3753BC89284345726D88CD5C82025EBEDAC4070CDBC551A0BA27B5180A637 DUP2 PUSH1 0x7 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0xB3F SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x7 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB58 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xB64 PUSH2 0x2332 JUMP JUMPDEST PUSH1 0x17 DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0xB8D JUMPI PUSH1 0x40 MLOAD PUSH4 0x7BD63419 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xBBC JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP11 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST POP PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC06 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC2A SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST ISZERO DUP1 PUSH2 0xCA8 JUMPI POP PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1975E309 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x32EBC612 SWAP1 PUSH2 0xC65 SWAP1 CALLER SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x3D5E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC82 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCA6 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xCC6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x26A2091B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SUB PUSH2 0xCF7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x24697575 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x11 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP14 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0xD46 JUMPI POP DUP11 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xD31 JUMPI PUSH2 0xD31 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0xD64 JUMPI PUSH1 0x40 MLOAD PUSH4 0x24697575 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0xD ADD SLOAD DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xD7B JUMPI PUSH2 0xD7B PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD PUSH2 0xD97 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST DUP5 PUSH1 0xE ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xDEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE10 SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST LT ISZERO PUSH2 0xE33 JUMPI DUP10 DUP12 PUSH1 0x40 MLOAD PUSH4 0x564F58B3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xE47 JUMPI PUSH2 0xE47 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP1 POP DUP10 PUSH1 0x0 EQ PUSH2 0xE69 JUMPI DUP10 PUSH2 0xE6B JUMP JUMPDEST DUP1 JUMPDEST SWAP4 POP DUP1 DUP5 GT ISZERO PUSH2 0xE8E JUMPI PUSH1 0x40 MLOAD PUSH4 0x2C578E45 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP5 SUB PUSH2 0xEA6 JUMPI PUSH2 0xEA1 DUP6 DUP13 DUP15 DUP6 PUSH2 0x2356 JUMP JUMPDEST PUSH2 0xEDF JUMP JUMPDEST DUP4 DUP4 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0xEB9 JUMPI PUSH2 0xEB9 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xED9 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST POP POP POP PUSH1 0x0 DUP2 PUSH2 0xEEF DUP5 DUP13 PUSH2 0x2535 JUMP JUMPDEST PUSH2 0xEF9 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP PUSH2 0xF06 DUP4 DUP12 DUP4 PUSH2 0x255E JUMP JUMPDEST DUP9 DUP11 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4129 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 PUSH1 0x40 MLOAD PUSH2 0xF27 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP6 ISZERO DUP1 PUSH2 0xF39 JUMPI POP DUP7 JUMPDEST ISZERO PUSH2 0xF49 JUMPI DUP6 SWAP4 POP POP POP POP PUSH2 0xF74 JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD DUP2 LT ISZERO PUSH2 0xF6C JUMPI PUSH2 0xF62 DUP4 DUP12 DUP10 DUP10 DUP10 PUSH2 0x2591 JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0xF74 JUMP JUMPDEST PUSH1 0x1 SWAP4 POP POP POP POP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF88 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x7 ADD SLOAD DUP3 LT ISZERO PUSH2 0xFB6 JUMPI PUSH1 0x7 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x5AB47377 PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0x5E5 SWAP2 DUP5 SWAP2 PUSH1 0x4 ADD PUSH2 0x3D50 JUMP JUMPDEST PUSH32 0xF4C290BD7EE941689BCCBABC9DBD567D76DB3BE9871C7AA182DABF6737F7FC70 DUP2 PUSH1 0x16 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0xFEB SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x16 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1003 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x16 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1016 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x13 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x1074 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1060 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10B5 PUSH2 0x230E JUMP JUMPDEST PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1106 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x112A SWAP2 SWAP1 PUSH2 0x3C9E JUMP JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP8 MSTORE DUP8 DUP4 MSTORE PUSH1 0x10 DUP7 ADD DUP3 MSTORE DUP1 DUP4 KECCAK256 PUSH1 0xE DUP8 ADD SLOAD DUP3 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP3 MLOAD SWAP6 SWAP7 POP SWAP1 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 PUSH4 0x9CBE5EFD SWAP3 PUSH1 0x4 DUP1 DUP3 ADD SWAP4 SWAP2 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x119A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11BE SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x128B JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x11DE JUMPI PUSH2 0x11DE PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP7 PUSH1 0x20 ADD DUP2 DUP2 MLOAD PUSH2 0x1201 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP1 MSTORE POP PUSH1 0xD DUP6 ADD SLOAD DUP4 SLOAD DUP5 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x121D JUMPI PUSH2 0x121D PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD PUSH2 0x1239 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST DUP3 LT ISZERO PUSH2 0x1279 JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1252 JUMPI PUSH2 0x1252 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP7 PUSH1 0x60 ADD DUP2 DUP2 MLOAD PUSH2 0x1275 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST DUP1 PUSH2 0x1283 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11C3 JUMP JUMPDEST POP PUSH1 0x20 DUP6 ADD MLOAD DUP6 MLOAD GT PUSH2 0x129F JUMPI PUSH1 0x0 PUSH2 0x12B0 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD DUP6 MLOAD PUSH2 0x12B0 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x40 DUP7 ADD MSTORE POP SWAP3 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12CA PUSH2 0x2332 JUMP JUMPDEST SWAP1 POP PUSH32 0xB5B8D618AF1FFB8D5BCC4BD23F445BA34ED08D7A16D1E1B5411CFBE7913E5900 PUSH1 0x0 PUSH2 0x12F7 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 DUP6 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x1329 JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x1350 JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP PUSH2 0x661 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x135C DUP4 DUP10 PUSH2 0x27F9 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP8 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 ISZERO DUP1 ISZERO SWAP2 SWAP1 DUP3 SWAP1 PUSH2 0x13A4 JUMPI POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 DUP8 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x1397 SWAP1 PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ JUMPDEST SWAP1 POP DUP5 PUSH1 0x7 ADD SLOAD DUP4 LT ISZERO PUSH2 0x13CD JUMPI PUSH2 0x13BF DUP6 DUP12 DUP7 DUP5 DUP14 PUSH2 0x2591 JUMP JUMPDEST SWAP8 POP POP POP POP POP POP POP POP PUSH2 0x661 JUMP JUMPDEST PUSH2 0x13DB DUP6 DUP9 DUP13 DUP6 DUP6 DUP10 PUSH2 0x2C76 JUMP JUMPDEST POP PUSH1 0x1 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F5 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH32 0xFF24FD32F78A666774CB7265D538935A108BFF58375CCCA2D01C4C9B66AC22A5 DUP2 PUSH1 0x15 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0x142C SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x15 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1445 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 SUB PUSH2 0x146C JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x661 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x11 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x14BB JUMPI POP DUP5 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x14A6 JUMPI PUSH2 0x14A6 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x14CC JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0x661 JUMP JUMPDEST DUP2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x14DE JUMPI PUSH2 0x14DE PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x151F PUSH2 0x1508 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x18 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1538 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH32 0x98EAABFE135A9C40C420208962BF81E7926B4D6DF3E23502164C0554B7B35224 DUP2 PUSH1 0xD ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0x156F SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xD ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1587 PUSH2 0x2332 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1593 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH2 0x15A3 DUP2 DUP4 DUP11 DUP11 DUP11 DUP11 PUSH2 0x2E7A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B0 DUP3 DUP10 DUP12 PUSH2 0x31CB JUMP JUMPDEST SWAP1 POP PUSH2 0x1638 DUP3 DUP10 DUP12 DUP11 DUP6 DUP8 PUSH1 0xE ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x160F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1633 SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST PUSH2 0x327B JUMP JUMPDEST PUSH1 0x0 DUP8 PUSH2 0x1645 DUP5 DUP13 PUSH2 0x2535 JUMP JUMPDEST PUSH2 0x164F SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP1 POP PUSH2 0x165C DUP4 DUP12 DUP4 PUSH2 0x255E JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD DUP2 LT PUSH2 0x1675 JUMPI PUSH2 0x1675 DUP4 DUP6 DUP13 DUP10 DUP10 DUP13 PUSH2 0x2C76 JUMP JUMPDEST PUSH1 0xF DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP12 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16E5 SWAP2 SWAP1 PUSH2 0x3D04 JUMP JUMPDEST SWAP1 POP DUP10 DUP12 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4109 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 DUP13 PUSH1 0x40 MLOAD PUSH2 0x1708 SWAP3 SWAP2 SWAP1 PUSH2 0x3D5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1728 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP NUMBER DUP4 GT ISZERO PUSH2 0x174F JUMPI DUP3 NUMBER PUSH1 0x40 MLOAD PUSH4 0x7F07449B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH2 0x1771 PUSH2 0x175B DUP5 PUSH2 0x33F8 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x18 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x342F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x178C DUP3 DUP3 PUSH2 0x21A3 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x40E9 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 PUSH1 0x40 MLOAD PUSH2 0x17AE SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17C4 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17DF PUSH2 0x230E JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x55C7A79C45E9A972909CD640F9336A14A84ADBAF756211F16267001854110191 SWAP2 PUSH2 0x1820 SWAP2 PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP6 SWAP1 PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x6 ADD DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF NOT AND PUSH6 0xFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1853 PUSH2 0x230E JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1879 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 ADD SLOAD PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1890 PUSH2 0x230E JUMP JUMPDEST PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6696377F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0xCD2C6EFE SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18E2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x190A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3E27 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x1971 JUMPI DUP4 PUSH1 0x3 ADD PUSH1 0x0 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1931 JUMPI PUSH2 0x1931 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x20 ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH2 0x195D SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x1969 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1910 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1985 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 SUB PUSH2 0x19AC JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x661 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x11 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x19FB JUMPI POP DUP5 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x19E6 JUMPI PUSH2 0x19E6 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x1A0C JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0x661 JUMP JUMPDEST DUP3 PUSH1 0xD ADD SLOAD DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1A23 JUMPI PUSH2 0x1A23 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD PUSH2 0x1A3F SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST DUP4 PUSH1 0xE ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A94 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AB8 SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST LT ISZERO SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1ACE PUSH2 0x230E JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP5 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE SWAP3 SWAP2 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1B15 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1B01 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B2A PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP DUP1 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x1971 JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1B5A JUMPI PUSH2 0x1B5A PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP3 PUSH2 0x1B77 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x1B83 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1B3F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B96 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1BA2 PUSH2 0x2332 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x1BD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST POP PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SUB PUSH2 0x1C06 JUMPI PUSH1 0x40 MLOAD PUSH4 0x24697575 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x11 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP13 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x1C55 JUMPI POP DUP10 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1C40 JUMPI PUSH2 0x1C40 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x1C73 JUMPI PUSH1 0x40 MLOAD PUSH4 0x24697575 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1C85 JUMPI PUSH2 0x1C85 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP3 POP PUSH2 0x1CA5 DUP5 DUP11 DUP13 DUP5 PUSH2 0x2356 JUMP JUMPDEST POP POP PUSH1 0x0 DUP2 PUSH2 0x1CB4 DUP5 DUP12 PUSH2 0x2535 JUMP JUMPDEST PUSH2 0x1CBE SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP PUSH2 0x1CCB DUP4 DUP11 DUP4 PUSH2 0x255E JUMP JUMPDEST DUP8 DUP10 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4129 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 PUSH1 0x40 MLOAD PUSH2 0x1CEC SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP6 ISZERO DUP1 PUSH2 0x1CFE JUMPI POP DUP7 JUMPDEST ISZERO PUSH2 0x1D0E JUMPI DUP6 SWAP4 POP POP POP POP PUSH2 0x1D39 JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD DUP2 LT ISZERO PUSH2 0x1D31 JUMPI PUSH2 0x1D27 DUP4 DUP11 DUP10 DUP10 DUP10 PUSH2 0x2591 JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0x1D39 JUMP JUMPDEST PUSH1 0x1 SWAP4 POP POP POP POP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D4D PUSH2 0x230E JUMP JUMPDEST PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D9E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DC2 SWAP2 SWAP1 PUSH2 0x3C9E JUMP JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP9 DUP5 MSTORE PUSH1 0x10 DUP8 ADD SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SWAP3 SWAP4 POP SWAP2 SWAP1 DUP1 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x1E39 JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1E08 JUMPI PUSH2 0x1E08 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP3 PUSH2 0x1E25 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x1E31 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1DED JUMP JUMPDEST POP DUP1 DUP4 GT PUSH2 0x1E48 JUMPI PUSH1 0x0 PUSH2 0x1E52 JUMP JUMPDEST PUSH2 0x1E52 DUP2 DUP5 PUSH2 0x3DA3 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E67 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1E95 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3DBFF3B5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xE DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1EE1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F05 SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x11 DUP8 ADD DUP4 MSTORE DUP2 DUP5 KECCAK256 DUP11 DUP6 MSTORE SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SLOAD DUP2 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 SWAP1 SWAP2 SWAP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x1F42 JUMPI POP DUP3 SLOAD DUP3 LT JUMPDEST DUP1 ISZERO PUSH2 0x1F70 JUMPI POP DUP8 DUP4 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1F5C JUMPI PUSH2 0x1F5C PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2020 JUMPI PUSH1 0x0 DUP4 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1F8C JUMPI PUSH2 0x1F8C PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP1 POP DUP7 DUP5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1FB3 JUMPI PUSH2 0x1FB3 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP5 DUP5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1FDB JUMPI PUSH2 0x1FDB PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH2 0x201A DUP7 DUP11 DUP10 DUP5 PUSH2 0x2001 DUP12 DUP16 PUSH2 0x2535 JUMP JUMPDEST PUSH2 0x200B SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH2 0x2015 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST PUSH2 0x255E JUMP JUMPDEST POP PUSH2 0x20EA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE DUP10 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP10 DUP2 MSTORE SWAP3 DUP3 ADD DUP8 DUP2 MSTORE DUP7 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP10 SSTORE PUSH1 0x0 DUP10 DUP2 MSTORE SWAP4 SWAP1 SWAP4 KECCAK256 SWAP4 MLOAD PUSH1 0x3 SWAP1 SWAP2 MUL SWAP1 SWAP4 ADD SWAP3 DUP4 SSTORE SWAP3 MLOAD DUP3 DUP3 ADD SSTORE SWAP2 MLOAD PUSH1 0x2 SWAP1 SWAP2 ADD SSTORE DUP4 SLOAD PUSH2 0x2074 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x11 DUP8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP13 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE PUSH1 0x13 DUP9 ADD DUP2 MSTORE SWAP2 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE DUP3 DUP5 MSTORE SWAP4 DUP4 KECCAK256 ADD DUP11 SWAP1 SSTORE SWAP1 DUP11 SWAP1 MSTORE SLOAD PUSH2 0x20BE SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x14 DUP8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP12 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x20EA DUP6 DUP10 DUP9 PUSH2 0x200B DUP4 DUP4 PUSH2 0x2535 JUMP JUMPDEST PUSH1 0xF DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2136 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x215A SWAP2 SWAP1 PUSH2 0x3D04 JUMP JUMPDEST SWAP1 POP DUP8 DUP10 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4109 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 DUP11 PUSH1 0x40 MLOAD PUSH2 0x217D SWAP3 SWAP2 SWAP1 PUSH2 0x3D5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x219A PUSH2 0x230E JUMP JUMPDEST PUSH1 0x7 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21AD PUSH2 0x230E JUMP JUMPDEST SWAP1 POP DUP2 ISZERO PUSH2 0x2291 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 DUP3 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SLOAD PUSH2 0x21D1 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST DUP3 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x21E5 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x21FE JUMPI PUSH2 0x21FE PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x2221 JUMPI PUSH2 0x2221 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SSTORE PUSH2 0x2238 DUP4 PUSH1 0x1 PUSH2 0x3D77 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE DUP4 SLOAD DUP5 SWAP1 DUP1 PUSH2 0x225A JUMPI PUSH2 0x225A PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP4 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE POP POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 DUP1 DUP3 ADD DUP4 SSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP7 SWAP1 SSTORE DUP4 SLOAD SWAP6 DUP2 MSTORE SWAP3 ADD SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22C8 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND DUP5 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 SWAP2 POP PUSH32 0xFD9F033C3B3A54E30CFE5BF2BC66DEA3BAC111D66ECC2C03A2BCC1C5CCDD0250 SWAP1 PUSH1 0x20 ADD PUSH2 0x773 JUMP JUMPDEST PUSH32 0xC1A7BCDC0C77E8C77ADE4541D1777901AB96CA598D164D89AFA5C8DFBFC44300 SWAP1 JUMP JUMPDEST PUSH32 0xB6909058BD527140B8D55A44344C5E42F1F148F1B3B16DF7641882DF8DD72900 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x10 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 SWAP1 PUSH2 0x2377 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 EQ PUSH2 0x23FF JUMPI PUSH1 0x0 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2394 JUMPI PUSH2 0x2394 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD SWAP1 POP DUP1 DUP4 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x23B7 JUMPI PUSH2 0x23B7 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 DUP5 SLOAD PUSH1 0x3 SWAP1 SWAP4 MUL ADD SWAP2 DUP3 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SLOAD SWAP1 DUP4 ADD SSTORE PUSH1 0x2 SWAP4 DUP5 ADD SLOAD SWAP4 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP8 DUP2 MSTORE PUSH1 0x11 DUP10 ADD DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SLOAD DUP3 MSTORE SWAP3 SWAP1 SWAP2 MSTORE KECCAK256 DUP4 SWAP1 SSTORE JUMPDEST DUP2 DUP1 SLOAD DUP1 PUSH2 0x240F JUMPI PUSH2 0x240F PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 PUSH1 0x3 PUSH1 0x0 NOT SWAP1 SWAP5 ADD SWAP4 DUP5 MUL ADD DUP3 DUP2 SSTORE PUSH1 0x1 DUP2 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x2 SWAP1 SWAP2 ADD DUP4 SWAP1 SSTORE SWAP3 SWAP1 SWAP4 SSTORE DUP8 DUP2 MSTORE PUSH1 0x11 DUP10 ADD DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP9 DUP4 MSTORE DUP5 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x13 DUP11 ADD DUP5 MSTORE DUP1 DUP3 KECCAK256 PUSH1 0x14 DUP12 ADD DUP6 MSTORE DUP2 DUP4 KECCAK256 DUP11 DUP5 MSTORE SWAP1 SWAP5 MSTORE DUP2 KECCAK256 SLOAD DUP4 SLOAD SWAP1 SWAP3 PUSH2 0x247D SWAP2 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 EQ PUSH2 0x24E5 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x249A JUMPI PUSH2 0x249A PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x24BA JUMPI PUSH2 0x24BA PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP10 DUP2 MSTORE PUSH1 0x14 DUP13 ADD DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 DUP3 MSTORE SWAP3 SWAP1 SWAP2 MSTORE KECCAK256 DUP3 SWAP1 SSTORE JUMPDEST DUP3 DUP1 SLOAD DUP1 PUSH2 0x24F5 JUMPI PUSH2 0x24F5 PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 DUP4 ADD PUSH1 0x0 NOT SWAP1 DUP2 ADD DUP4 SWAP1 SSTORE SWAP1 SWAP3 ADD SWAP1 SWAP3 SSTORE SWAP8 DUP2 MSTORE PUSH1 0x14 SWAP1 SWAP10 ADD DUP8 MSTORE POP POP PUSH1 0x40 DUP1 DUP9 KECCAK256 SWAP7 DUP9 MSTORE SWAP6 SWAP1 SWAP5 MSTORE POP POP POP SWAP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x18 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x254E SWAP1 PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x258A PUSH2 0x256A NUMBER PUSH2 0x33F8 JUMP JUMPDEST PUSH2 0x2573 DUP4 PUSH2 0x34D6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x18 DUP8 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x350A JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 ISZERO DUP1 ISZERO PUSH2 0x25B1 JUMPI POP PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO ISZERO JUMPDEST SWAP1 POP DUP1 PUSH2 0x25E8 JUMPI PUSH2 0x25C3 DUP7 PUSH1 0x0 PUSH2 0x21A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE DUP7 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x40E9 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x4 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH6 0xFFFFFFFFFFFF AND ISZERO DUP1 ISZERO PUSH2 0x260B JUMPI POP DUP4 JUMPDEST ISZERO PUSH2 0x2692 JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x4 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF NOT AND PUSH6 0xFFFFFFFFFFFF DUP6 DUP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x6 DUP9 ADD SLOAD DUP8 SWAP2 PUSH32 0x502689EEFFD57AE8470E1D86A4A8CD293A44BFBBD2429CB375DA3D901A3DD80F SWAP2 DUP7 SWAP2 PUSH2 0x2672 SWAP2 AND DUP3 PUSH2 0x3F46 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2680 SWAP3 SWAP2 SWAP1 PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 SWAP2 POP POP PUSH2 0x1D39 JUMP JUMPDEST PUSH1 0x6 DUP8 ADD SLOAD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x4 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x26BD SWAP2 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP2 AND PUSH2 0x3F46 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP4 PUSH6 0xFFFFFFFFFFFF AND GT DUP1 ISZERO PUSH2 0x26D8 JUMPI POP DUP4 JUMPDEST ISZERO PUSH2 0x27EC JUMPI PUSH1 0xB DUP8 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x59494325 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB292864A SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2728 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x274C SWAP2 SWAP1 PUSH2 0x3F6C JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x9 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2776 JUMPI PUSH2 0x2776 PUSH2 0x3F8D JUMP JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xB DUP8 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x399A2AB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE668AAC SWAP1 PUSH2 0x27B0 SWAP1 DUP10 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x3FA3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x27CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x27DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 SWAP2 POP POP PUSH2 0x1D39 JUMP JUMPDEST POP PUSH1 0x1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x13 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 DUP1 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x2C23 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2829 JUMPI PUSH2 0x2829 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 ADD SLOAD PUSH1 0xF DUP10 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE SWAP2 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x287E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28A2 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2B60 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 DUP10 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x11 DUP13 ADD DUP4 MSTORE DUP2 DUP5 KECCAK256 DUP12 DUP6 MSTORE SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x2902 JUMPI POP DUP9 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x28ED JUMPI PUSH2 0x28ED PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x2924 JUMPI DUP4 DUP10 PUSH1 0x40 MLOAD PUSH4 0x33B11F83 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2938 JUMPI PUSH2 0x2938 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x3 SWAP1 SWAP3 MUL ADD DUP2 ADD SLOAD DUP6 SLOAD SWAP1 SWAP4 POP PUSH2 0x295B SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 EQ PUSH2 0x2A14 JUMPI DUP4 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2976 JUMPI PUSH2 0x2976 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD DUP5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x2996 JUMPI PUSH2 0x2996 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 DUP3 ADD SLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP DUP3 DUP13 PUSH1 0x11 ADD PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x29EF JUMPI PUSH2 0x29EF PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 DUP1 SLOAD DUP1 PUSH2 0x2A24 JUMPI PUSH2 0x2A24 PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 PUSH1 0x3 PUSH1 0x0 NOT SWAP1 SWAP5 ADD SWAP4 DUP5 MUL ADD DUP3 DUP2 SSTORE PUSH1 0x1 DUP2 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x2 SWAP1 SWAP2 ADD DUP4 SWAP1 SSTORE SWAP3 SWAP1 SWAP4 SSTORE DUP9 DUP2 MSTORE PUSH1 0x11 DUP16 ADD DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP16 DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 DUP3 KECCAK256 DUP3 SWAP1 SSTORE DUP11 SLOAD PUSH2 0x2A77 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP9 EQ PUSH2 0x2AEF JUMPI PUSH1 0x0 DUP11 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2A94 JUMPI PUSH2 0x2A94 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP12 DUP11 DUP2 SLOAD DUP2 LT PUSH2 0x2AB4 JUMPI PUSH2 0x2AB4 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP2 SWAP1 SSTORE POP DUP9 DUP15 PUSH1 0x14 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST DUP10 DUP1 SLOAD DUP1 PUSH2 0x2AFF JUMPI PUSH2 0x2AFF PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 DUP4 ADD PUSH1 0x0 NOT SWAP1 DUP2 ADD DUP4 SWAP1 SSTORE SWAP1 SWAP3 ADD SWAP1 SWAP3 SSTORE DUP14 DUP3 MSTORE PUSH1 0x14 DUP16 ADD DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP11 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE DUP9 SWAP2 DUP15 SWAP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4129 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 DUP10 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x11 DUP13 ADD DUP4 MSTORE DUP2 DUP5 KECCAK256 DUP12 DUP6 MSTORE SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x2BB9 JUMPI POP DUP9 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2BA4 JUMPI PUSH2 0x2BA4 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x2BDB JUMPI DUP4 DUP10 PUSH1 0x40 MLOAD PUSH4 0x33B11F83 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST DUP2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2BED JUMPI PUSH2 0x2BED PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP7 PUSH2 0x2C0A SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP6 POP DUP5 PUSH2 0x2C16 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP6 POP POP POP POP JUMPDEST POP POP PUSH2 0x280C JUMP JUMPDEST PUSH2 0x1971 DUP7 DUP7 DUP5 PUSH2 0x255E JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2C6C JUMPI PUSH2 0x2C56 DUP4 PUSH2 0x2C48 PUSH1 0x1 DUP5 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2C6F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 PUSH2 0x2DA3 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP7 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 TIMESTAMP PUSH1 0x2 SWAP1 SWAP2 ADD SSTORE PUSH1 0x1 DUP1 DUP10 ADD DUP1 SLOAD DUP1 DUP4 ADD DUP3 SSTORE SWAP1 DUP6 MSTORE SWAP3 SWAP1 SWAP4 KECCAK256 SWAP1 SWAP2 ADD DUP7 SWAP1 SSTORE PUSH1 0xB DUP9 ADD SLOAD SWAP1 MLOAD PUSH4 0x399A2AB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xE668AAC SWAP2 PUSH2 0x2CDB SWAP2 DUP9 SWAP2 PUSH1 0x4 ADD PUSH2 0x3FA3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2CF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2D09 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 PUSH2 0x2D36 PUSH32 0x5830F0E95C01712D916C34D9E2FA42E9F749B325B67BCE7382D70BB99C623500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD SWAP2 DUP11 SWAP1 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SWAP2 MLOAD SWAP3 SWAP4 POP DUP8 SWAP3 PUSH32 0x181C8615E49DC4EAED218E1D225E4A34A0FB364FC70601A191573DAA19D57EDA SWAP3 PUSH2 0x2D95 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH1 0x1 SWAP2 DUP3 ADD SWAP2 SWAP1 PUSH2 0x3FD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH2 0x2E23 JUMP JUMPDEST DUP2 PUSH2 0x2E23 JUMPI PUSH1 0xB DUP7 ADD SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x9 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD SWAP1 MLOAD PUSH4 0x399A2AB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xE668AAC SWAP2 PUSH2 0x2DF0 SWAP2 DUP9 SWAP2 PUSH1 0xFF AND SWAP1 PUSH1 0x4 ADD PUSH2 0x3FA3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2E1E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x2E42 JUMPI POP PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO ISZERO JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2E55 JUMPI PUSH2 0x2E55 DUP6 PUSH1 0x1 PUSH2 0x1782 JUMP JUMPDEST POP POP POP PUSH1 0x0 SWAP2 DUP3 MSTORE POP PUSH1 0x4 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x17 DUP7 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2EA0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7BD63419 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x2ECF JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EF1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3126F1AB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST DUP3 ISZERO DUP1 PUSH2 0x2EFC JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x2F1A JUMPI PUSH1 0x40 MLOAD PUSH4 0x2C578E45 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2F63 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2F87 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x3005 JUMPI POP PUSH1 0xF DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1975E309 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x32EBC612 SWAP1 PUSH2 0x2FC2 SWAP1 CALLER SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3D5E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2FDF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3003 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3023 JUMPI PUSH1 0x40 MLOAD PUSH4 0x26A2091B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x306F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3093 SWAP2 SWAP1 PUSH2 0x3C9E JUMP JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP SUB PUSH2 0x30C9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2E8E471B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x30E9 DUP10 DUP8 PUSH2 0x3525 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP4 GT PUSH2 0x30FB JUMPI PUSH1 0x0 PUSH2 0x3105 JUMP JUMPDEST PUSH2 0x3105 DUP3 DUP5 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP7 GT ISZERO PUSH2 0x312E JUMPI DUP7 DUP2 DUP8 PUSH1 0x40 MLOAD PUSH4 0x99EE8A3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x409A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x313B DUP12 DUP10 DUP12 PUSH2 0x31CB JUMP JUMPDEST PUSH1 0x15 DUP13 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x314D DUP9 DUP4 PUSH2 0x3D77 JUMP JUMPDEST GT ISZERO PUSH2 0x3176 JUMPI DUP8 DUP10 DUP13 PUSH1 0x15 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x87B212FD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x409A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3182 DUP13 DUP12 PUSH2 0x2535 JUMP JUMPDEST PUSH1 0x16 DUP14 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x3194 DUP10 DUP4 PUSH2 0x3D77 JUMP JUMPDEST GT ISZERO PUSH2 0x31BD JUMPI DUP10 DUP2 DUP14 PUSH1 0x16 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x3430A843 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x409A JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SUB PUSH2 0x31ED JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x2C6F JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x11 DUP7 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x323C JUMPI POP DUP4 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x3227 JUMPI PUSH2 0x3227 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x324C JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x2C6F JUMP JUMPDEST DUP2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x325E JUMPI PUSH2 0x325E PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x3320 JUMPI PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x11 DUP8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x32A7 DUP5 DUP5 PUSH2 0x3D77 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x10 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x32C9 JUMPI PUSH2 0x32C9 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP2 DUP8 PUSH1 0x10 ADD PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x3305 JUMPI PUSH2 0x3305 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP POP PUSH2 0x33F0 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x10 DUP8 ADD PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP2 MLOAD PUSH1 0x60 DUP2 ADD DUP4 MSTORE DUP10 DUP2 MSTORE DUP1 DUP5 ADD DUP10 DUP2 MSTORE SWAP3 DUP2 ADD DUP8 DUP2 MSTORE DUP3 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP6 SSTORE DUP5 DUP10 MSTORE DUP7 DUP10 KECCAK256 SWAP4 MLOAD PUSH1 0x3 SWAP1 SWAP3 MUL SWAP1 SWAP4 ADD SWAP1 DUP2 SSTORE SWAP4 MLOAD DUP5 DUP4 ADD SSTORE MLOAD PUSH1 0x2 SWAP1 SWAP4 ADD SWAP3 SWAP1 SWAP3 SSTORE SWAP4 DUP10 SWAP1 MSTORE SWAP2 SWAP1 MSTORE SWAP1 SLOAD PUSH2 0x3389 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x11 DUP9 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE PUSH1 0x13 DUP10 ADD DUP2 MSTORE SWAP2 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE DUP3 DUP5 MSTORE SWAP4 DUP4 KECCAK256 ADD DUP9 SWAP1 SSTORE SWAP1 DUP7 SWAP1 MSTORE SLOAD PUSH2 0x33D3 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x14 DUP9 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP10 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x342B JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x5E5 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x348E JUMPI PUSH1 0x0 PUSH2 0x344A DUP5 PUSH2 0x3584 JUMP JUMPDEST PUSH2 0x3454 SWAP1 DUP6 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x347E JUMPI DUP1 SWAP2 POP PUSH2 0x348C JUMP JUMPDEST PUSH2 0x3489 DUP2 PUSH1 0x1 PUSH2 0x3D77 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x349C DUP8 DUP8 DUP6 DUP6 PUSH2 0x366C JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x34C9 JUMPI PUSH2 0x34B3 DUP8 PUSH2 0x2C48 PUSH1 0x1 DUP5 PUSH2 0x3DA3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x1E52 JUMP JUMPDEST PUSH1 0x0 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x342B JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x5E5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3518 DUP6 DUP6 DUP6 PUSH2 0x36D1 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 DUP1 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x1971 JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x3553 JUMPI PUSH2 0x3553 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP3 PUSH2 0x3570 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x357C DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3538 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x3596 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x35A3 DUP5 PUSH2 0x384B JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x35BC JUMPI PUSH2 0x35BC PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x35D4 JUMPI PUSH2 0x35D4 PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x35EC JUMPI PUSH2 0x35EC PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3604 JUMPI PUSH2 0x3604 PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x361C JUMPI PUSH2 0x361C PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3634 JUMPI PUSH2 0x3634 PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x364C JUMPI PUSH2 0x364C PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x2C6F DUP2 DUP3 DUP6 DUP2 PUSH2 0x3666 JUMPI PUSH2 0x3666 PUSH2 0x40B0 JUMP JUMPDEST DIV PUSH2 0x38DF JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x36C6 JUMPI PUSH1 0x0 PUSH2 0x3683 DUP5 DUP5 PUSH2 0x38F5 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x36B2 JUMPI DUP1 SWAP3 POP PUSH2 0x36C0 JUMP JUMPDEST PUSH2 0x36BD DUP2 PUSH1 0x1 PUSH2 0x3D77 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x366F JUMP JUMPDEST POP DUP1 JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x37F0 JUMPI PUSH1 0x0 PUSH2 0x36EF DUP8 PUSH2 0x2C48 PUSH1 0x1 DUP6 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x3743 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x378F JUMPI DUP5 PUSH2 0x3766 DUP9 PUSH2 0x2C48 PUSH1 0x1 DUP7 PUSH2 0x3DA3 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x37E0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x351D SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x351D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x3860 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x3872 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x3884 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x3896 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x38A8 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x38BA JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x38CC JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x661 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x38EE JUMPI DUP2 PUSH2 0x2C6F JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3904 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x40C6 JUMP JUMPDEST PUSH2 0x2C6F SWAP1 DUP5 DUP5 AND PUSH2 0x3D77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3922 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x394D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x395F DUP2 PUSH2 0x3929 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x397C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x40 SWAP1 DUP2 DUP6 ADD SWAP1 DUP7 DUP5 ADD DUP6 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x39CE JUMPI DUP2 MLOAD DUP1 MLOAD DUP6 MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP7 ADD MSTORE DUP6 ADD MLOAD DUP6 DUP6 ADD MSTORE PUSH1 0x60 SWAP1 SWAP4 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x399F JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3A1C JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x39F7 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2C6F DUP2 PUSH2 0x3929 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x3937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3A72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH2 0x3A92 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH2 0x3AA2 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x3AB2 DUP2 PUSH2 0x3A45 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3A1C JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x3ADC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3B0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x395F DUP2 PUSH2 0x3A45 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3B30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3B58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH2 0x3B78 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH2 0x3B88 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x3AB2 DUP2 PUSH2 0x3929 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2C6F DUP2 PUSH2 0x3A45 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x3937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2C6F DUP2 PUSH2 0x3BB5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3C08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2C6F DUP2 PUSH2 0x3BE1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3C2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x3C44 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x3C54 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH2 0x3C64 DUP2 PUSH2 0x3A45 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3C87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3CB0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2C6F DUP2 PUSH2 0x3BB5 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3CF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2C6F DUP2 PUSH2 0x3929 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2C6F DUP2 PUSH2 0x3BE1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x3D49 JUMPI PUSH2 0x3D49 PUSH2 0x3D21 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x661 JUMPI PUSH2 0x661 PUSH2 0x3D21 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x661 JUMPI PUSH2 0x661 PUSH2 0x3D21 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x3DF1 JUMPI PUSH2 0x3DF1 PUSH2 0x3CBB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x3E1F JUMPI PUSH2 0x3E1F PUSH2 0x3CBB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3E3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x3E51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3E65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x3E77 JUMPI PUSH2 0x3E77 PUSH2 0x3CBB JUMP JUMPDEST PUSH2 0x3E85 DUP5 DUP3 PUSH1 0x5 SHL ADD PUSH2 0x3DF7 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0xA0 SWAP2 DUP3 MUL DUP5 ADD DUP6 ADD SWAP2 DUP6 DUP3 ADD SWAP2 SWAP1 DUP10 DUP5 GT ISZERO PUSH2 0x3EA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP7 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x3F23 JUMPI DUP1 DUP7 DUP12 SUB SLT ISZERO PUSH2 0x3EC1 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x3EC9 PUSH2 0x3DCF JUMP JUMPDEST DUP7 MLOAD DUP2 MSTORE DUP8 DUP8 ADD MLOAD PUSH2 0x3EDA DUP2 PUSH2 0x3BB5 JUMP JUMPDEST DUP2 DUP10 ADD MSTORE PUSH1 0x40 DUP8 DUP2 ADD MLOAD DUP8 DUP2 AND DUP2 EQ PUSH2 0x3EF3 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP8 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH1 0x80 DUP1 DUP9 ADD MLOAD PUSH2 0x3F10 DUP2 PUSH2 0x3A45 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP4 MSTORE SWAP5 DUP6 ADD SWAP5 SWAP2 DUP7 ADD SWAP2 PUSH2 0x3EA9 JUMP JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x3F65 JUMPI PUSH2 0x3F65 PUSH2 0x3D21 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3F7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x4 DUP2 LT PUSH2 0x2C6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH1 0x4 DUP4 LT PUSH2 0x3FC8 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x60 DUP2 DUP5 ADD MSTORE PUSH1 0x0 DUP6 SLOAD DUP2 PUSH1 0x1 DUP3 DUP2 SHR SWAP2 POP DUP1 DUP4 AND DUP1 PUSH2 0x4005 JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST DUP6 DUP4 LT DUP2 SUB PUSH2 0x4022 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP6 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP6 REVERT JUMPDEST PUSH1 0x60 DUP9 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP9 ADD DUP2 DUP1 ISZERO PUSH2 0x4041 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x4057 JUMPI PUSH2 0x4082 JUMP JUMPDEST PUSH1 0xFF NOT DUP7 AND DUP3 MSTORE DUP5 ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD SWAP7 POP PUSH2 0x4082 JUMP JUMPDEST PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x0 JUMPDEST DUP7 DUP2 LT ISZERO PUSH2 0x407C JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP6 ADD SWAP1 DUP10 ADD PUSH2 0x4063 JUMP JUMPDEST DUP4 ADD SWAP8 POP POP JUMPDEST POP POP POP POP DUP7 ISZERO ISZERO PUSH1 0x40 DUP8 ADD MSTORE POP SWAP1 SWAP3 POP PUSH2 0x36C9 SWAP2 POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x40E3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP INVALID CODECOPY 0xED CALLDATALOAD DUP13 0xA6 JUMP SWAP10 INVALID 0xE4 ADDMOD EXTCODESIZE 0xEB DUP5 RETURN 0xD9 SHR 0xE2 KECCAK256 SHL 0xB0 0xC8 SWAP9 MSIZE BALANCE PUSH32 0xC5BE02231609ED1193CED031B3229DA69FAB9691642274E1EA2625DFCE996713 0x5E PUSH14 0x5E6029D22075A2C0F7478DC6B5E0 0x1E BALANCE PUSH11 0x7FC6B72D32D90CA051D89 DUP12 0x5D NOT DUP4 STOP 0xD1 0xA7 0xC0 CALLDATASIZE LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD3 SELFBALANCE 0x2B PUSH19 0x6DD15F96C27ABB83DB70CEA59EB40259FB2C9 ADDRESS LT 0xF9 PUSH12 0xF95812C4E164736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"1998:41838:135:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1998:41838:135;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getAdministrationStorage_76847":{"entryPoint":null,"id":76847,"parameterSlots":0,"returnSlots":1},"@_getAppsStorageStorage_76839":{"entryPoint":9010,"id":76839,"parameterSlots":0,"returnSlots":1},"@_getEndorsementStorage_76823":{"entryPoint":8974,"id":76823,"parameterSlots":0,"returnSlots":1},"@_getNodePointsForAppInternal_76159":{"entryPoint":12747,"id":76159,"parameterSlots":3,"returnSlots":1},"@_getNodeUsedPoints_76100":{"entryPoint":13605,"id":76100,"parameterSlots":2,"returnSlots":1},"@_getScore_76439":{"entryPoint":9525,"id":76439,"parameterSlots":2,"returnSlots":1},"@_getVoteEligibilityStorage_76815":{"entryPoint":null,"id":76815,"parameterSlots":0,"returnSlots":1},"@_insert_9806":{"entryPoint":14033,"id":9806,"parameterSlots":3,"returnSlots":2},"@_removeEndorsement_76300":{"entryPoint":9046,"id":76300,"parameterSlots":4,"returnSlots":0},"@_setScore_76467":{"entryPoint":9566,"id":76467,"parameterSlots":3,"returnSlots":0},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_updateEndorsement_75057":{"entryPoint":12923,"id":75057,"parameterSlots":6,"returnSlots":0},"@_updateStatusIfThresholdMet_76418":{"entryPoint":11382,"id":76418,"parameterSlots":6,"returnSlots":0},"@_updateStatusIfThresholdNotMetWithVote_76580":{"entryPoint":9617,"id":76580,"parameterSlots":5,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":13932,"id":9858,"parameterSlots":4,"returnSlots":1},"@_validateAndCleanEndorsements_75870":{"entryPoint":10233,"id":75870,"parameterSlots":2,"returnSlots":1},"@_validateEndorsement_74946":{"entryPoint":11898,"id":74946,"parameterSlots":6,"returnSlots":0},"@average_6189":{"entryPoint":14581,"id":6189,"parameterSlots":2,"returnSlots":1},"@canUnendorse_74260":{"entryPoint":6522,"id":74260,"parameterSlots":2,"returnSlots":1},"@checkEndorsement_75617":{"entryPoint":4799,"id":75617,"parameterSlots":2,"returnSlots":1},"@cooldownPeriod_73765":{"entryPoint":1434,"id":73765,"parameterSlots":0,"returnSlots":1},"@endorseApp_74772":{"entryPoint":5501,"id":74772,"parameterSlots":6,"returnSlots":0},"@endorsementScoreThreshold_73777":{"entryPoint":8592,"id":73777,"parameterSlots":0,"returnSlots":1},"@endorsementsPaused_73850":{"entryPoint":6255,"id":73850,"parameterSlots":0,"returnSlots":1},"@getEndorserNodes_73637":{"entryPoint":4108,"id":73637,"parameterSlots":1,"returnSlots":1},"@getEndorsers_73620":{"entryPoint":2228,"id":73620,"parameterSlots":1,"returnSlots":1},"@getNodeActiveEndorsements_73880":{"entryPoint":2075,"id":73880,"parameterSlots":1,"returnSlots":1},"@getNodeAvailablePoints_74074":{"entryPoint":7490,"id":74074,"parameterSlots":1,"returnSlots":1},"@getNodeEndorsementScore_73725":{"entryPoint":1919,"id":73725,"parameterSlots":1,"returnSlots":1},"@getNodePointsForApp_73946":{"entryPoint":5178,"id":73946,"parameterSlots":2,"returnSlots":1},"@getNodePointsInfo_74186":{"entryPoint":4224,"id":74186,"parameterSlots":1,"returnSlots":1},"@getNodeUsedPoints_73999":{"entryPoint":6943,"id":73999,"parameterSlots":1,"returnSlots":1},"@getScoreAtTimepoint_73519":{"entryPoint":5917,"id":73519,"parameterSlots":2,"returnSlots":1},"@getScore_73473":{"entryPoint":5371,"id":73473,"parameterSlots":1,"returnSlots":1},"@getUsersEndorsementScore_73694":{"entryPoint":6277,"id":73694,"parameterSlots":1,"returnSlots":1},"@gracePeriod_73753":{"entryPoint":6074,"id":73753,"parameterSlots":0,"returnSlots":1},"@isAppUnendorsed_73801":{"entryPoint":1584,"id":73801,"parameterSlots":2,"returnSlots":1},"@latest_9634":{"entryPoint":11310,"id":9634,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":14411,"id":6671,"parameterSlots":1,"returnSlots":1},"@maxPointsPerApp_73838":{"entryPoint":4089,"id":73838,"parameterSlots":0,"returnSlots":1},"@maxPointsPerNodePerApp_73826":{"entryPoint":2751,"id":73826,"parameterSlots":0,"returnSlots":1},"@migrationCompleted_73862":{"entryPoint":1639,"id":73862,"parameterSlots":0,"returnSlots":1},"@min_6166":{"entryPoint":14559,"id":6166,"parameterSlots":2,"returnSlots":1},"@nodeLevelEndorsementScore_73741":{"entryPoint":6217,"id":73741,"parameterSlots":1,"returnSlots":1},"@push_9437":{"entryPoint":13578,"id":9437,"parameterSlots":3,"returnSlots":2},"@removeNodeEndorsement_75449":{"entryPoint":7051,"id":75449,"parameterSlots":5,"returnSlots":1},"@removeXAppSubmission_75497":{"entryPoint":1453,"id":75497,"parameterSlots":1,"returnSlots":0},"@seedEndorsement_76054":{"entryPoint":7773,"id":76054,"parameterSlots":3,"returnSlots":0},"@setCooldownPeriod_74495":{"entryPoint":5422,"id":74495,"parameterSlots":1,"returnSlots":0},"@setEndorsementStatus_74554":{"entryPoint":6018,"id":74554,"parameterSlots":2,"returnSlots":0},"@setEndorsementsPaused_74648":{"entryPoint":8894,"id":74648,"parameterSlots":1,"returnSlots":0},"@setGracePeriod_74467":{"entryPoint":6101,"id":74467,"parameterSlots":1,"returnSlots":0},"@setMaxPointsPerApp_74622":{"entryPoint":3966,"id":74622,"parameterSlots":1,"returnSlots":0},"@setMaxPointsPerNodePerApp_74582":{"entryPoint":5099,"id":74582,"parameterSlots":1,"returnSlots":0},"@setMigrationCompleted_74663":{"entryPoint":2714,"id":74663,"parameterSlots":1,"returnSlots":0},"@sqrt_6504":{"entryPoint":13700,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":13526,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":13304,"id":7770,"parameterSlots":1,"returnSlots":1},"@unendorseApp_75291":{"entryPoint":2893,"id":75291,"parameterSlots":6,"returnSlots":1},"@unendorsedAppIds_73814":{"entryPoint":6852,"id":73814,"parameterSlots":0,"returnSlots":1},"@updateEndorsementScoreThreshold_74535":{"entryPoint":2770,"id":74535,"parameterSlots":1,"returnSlots":0},"@updateNodeEndorsementScores_74344":{"entryPoint":1666,"id":74344,"parameterSlots":1,"returnSlots":0},"@updateUnendorsedApps_74439":{"entryPoint":8611,"id":74439,"parameterSlots":2,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":13359,"id":9604,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":15350,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":15620,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":15911,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool":{"entryPoint":14888,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":15591,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":14608,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_bool":{"entryPoint":14650,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256t_boolt_boolt_uint48":{"entryPoint":15379,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_bytes32t_uint256t_uint256":{"entryPoint":15474,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_bytes32t_uint256t_uint256t_boolt_boolt_bool":{"entryPoint":15167,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_bytes32t_uint256t_uint256t_boolt_boolt_uint48":{"entryPoint":14937,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_bytes32t_uint48":{"entryPoint":15096,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_enum$_APP_SECURITY_$73233_fromMemory":{"entryPoint":16236,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_NodeStrengthScores_$73281_calldata_ptr":{"entryPoint":14698,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":15754,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_bytes32":{"entryPoint":15133,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint48":{"entryPoint":15256,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8":{"entryPoint":15300,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8_fromMemory":{"entryPoint":15518,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_bool":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_string_storage_t_bool__to_t_address_t_string_memory_ptr_t_bool__fromStack_reversed":{"entryPoint":16341,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":15710,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":14811,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Endorsement_$76643_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Endorsement_$76643_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":14722,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":15040,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_enum$_APP_SECURITY_$73233__to_t_bytes32_t_uint8__fromStack_reversed":{"entryPoint":16291,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_struct$_NodePointsInfo_$76653_memory_ptr__to_t_struct$_NodePointsInfo_$76653_memory_ptr__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_NodeStrengthScores_$73281_calldata_ptr__to_t_struct$_NodeStrengthScores_$73281_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":15696,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":16538,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint48_t_uint48__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":15798,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48_t_uint48__to_t_uint48_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"allocate_memory":{"entryPoint":15863,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_3235":{"entryPoint":15823,"id":null,"parameterSlots":0,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_array_struct_Endorsement_dyn_library":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":15735,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint48":{"entryPoint":16198,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":16582,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":15779,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":15671,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":15649,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":16560,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":16269,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":16176,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":15569,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":15547,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":15329,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":14633,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint48":{"entryPoint":14917,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint8":{"entryPoint":15285,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:21130:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"123:76:150","statements":[{"nodeType":"YulAssignment","src":"133:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"145:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"156:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"141:3:150"},"nodeType":"YulFunctionCall","src":"141:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"133:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"175:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"186:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"168:6:150"},"nodeType":"YulFunctionCall","src":"168:25:150"},"nodeType":"YulExpressionStatement","src":"168:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"92:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"103:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"114:4:150","type":""}],"src":"14:185:150"},{"body":{"nodeType":"YulBlock","src":"274:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"320:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"329:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"332:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"322:6:150"},"nodeType":"YulFunctionCall","src":"322:12:150"},"nodeType":"YulExpressionStatement","src":"322:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"295:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"304:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"291:3:150"},"nodeType":"YulFunctionCall","src":"291:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"316:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"287:3:150"},"nodeType":"YulFunctionCall","src":"287:32:150"},"nodeType":"YulIf","src":"284:52:150"},{"nodeType":"YulAssignment","src":"345:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"368:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"355:12:150"},"nodeType":"YulFunctionCall","src":"355:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"345:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"240:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"251:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"263:6:150","type":""}],"src":"204:180:150"},{"body":{"nodeType":"YulBlock","src":"431:76:150","statements":[{"body":{"nodeType":"YulBlock","src":"485:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"494:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"497:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"487:6:150"},"nodeType":"YulFunctionCall","src":"487:12:150"},"nodeType":"YulExpressionStatement","src":"487:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"454:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"475:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"468:6:150"},"nodeType":"YulFunctionCall","src":"468:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"461:6:150"},"nodeType":"YulFunctionCall","src":"461:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"451:2:150"},"nodeType":"YulFunctionCall","src":"451:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"444:6:150"},"nodeType":"YulFunctionCall","src":"444:40:150"},"nodeType":"YulIf","src":"441:60:150"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"420:5:150","type":""}],"src":"389:118:150"},{"body":{"nodeType":"YulBlock","src":"596:225:150","statements":[{"body":{"nodeType":"YulBlock","src":"642:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"651:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"654:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"644:6:150"},"nodeType":"YulFunctionCall","src":"644:12:150"},"nodeType":"YulExpressionStatement","src":"644:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"617:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"626:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"613:3:150"},"nodeType":"YulFunctionCall","src":"613:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"638:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"609:3:150"},"nodeType":"YulFunctionCall","src":"609:32:150"},"nodeType":"YulIf","src":"606:52:150"},{"nodeType":"YulAssignment","src":"667:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"690:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"677:12:150"},"nodeType":"YulFunctionCall","src":"677:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"667:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"709:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"739:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"750:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"735:3:150"},"nodeType":"YulFunctionCall","src":"735:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"722:12:150"},"nodeType":"YulFunctionCall","src":"722:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"713:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"785:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"763:21:150"},"nodeType":"YulFunctionCall","src":"763:28:150"},"nodeType":"YulExpressionStatement","src":"763:28:150"},{"nodeType":"YulAssignment","src":"800:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"810:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"800:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"554:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"565:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"577:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"585:6:150","type":""}],"src":"512:309:150"},{"body":{"nodeType":"YulBlock","src":"867:50:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"884:3:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"903:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"896:6:150"},"nodeType":"YulFunctionCall","src":"896:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"889:6:150"},"nodeType":"YulFunctionCall","src":"889:21:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"877:6:150"},"nodeType":"YulFunctionCall","src":"877:34:150"},"nodeType":"YulExpressionStatement","src":"877:34:150"}]},"name":"abi_encode_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"851:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"858:3:150","type":""}],"src":"826:91:150"},{"body":{"nodeType":"YulBlock","src":"1025:92:150","statements":[{"nodeType":"YulAssignment","src":"1035:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1047:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1058:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1043:3:150"},"nodeType":"YulFunctionCall","src":"1043:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1035:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1077:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1102:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1095:6:150"},"nodeType":"YulFunctionCall","src":"1095:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1088:6:150"},"nodeType":"YulFunctionCall","src":"1088:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1070:6:150"},"nodeType":"YulFunctionCall","src":"1070:41:150"},"nodeType":"YulExpressionStatement","src":"1070:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"994:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1005:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1016:4:150","type":""}],"src":"922:195:150"},{"body":{"nodeType":"YulBlock","src":"1231:97:150","statements":[{"body":{"nodeType":"YulBlock","src":"1278:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1287:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1290:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1280:6:150"},"nodeType":"YulFunctionCall","src":"1280:12:150"},"nodeType":"YulExpressionStatement","src":"1280:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1252:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1261:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1248:3:150"},"nodeType":"YulFunctionCall","src":"1248:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1273:3:150","type":"","value":"224"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1244:3:150"},"nodeType":"YulFunctionCall","src":"1244:33:150"},"nodeType":"YulIf","src":"1241:53:150"},{"nodeType":"YulAssignment","src":"1303:19:150","value":{"name":"headStart","nodeType":"YulIdentifier","src":"1313:9:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1303:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_NodeStrengthScores_$73281_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1197:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1208:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1220:6:150","type":""}],"src":"1122:206:150"},{"body":{"nodeType":"YulBlock","src":"1403:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1449:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1458:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1461:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1451:6:150"},"nodeType":"YulFunctionCall","src":"1451:12:150"},"nodeType":"YulExpressionStatement","src":"1451:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1424:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1433:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1420:3:150"},"nodeType":"YulFunctionCall","src":"1420:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1445:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1416:3:150"},"nodeType":"YulFunctionCall","src":"1416:32:150"},"nodeType":"YulIf","src":"1413:52:150"},{"nodeType":"YulAssignment","src":"1474:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1497:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1484:12:150"},"nodeType":"YulFunctionCall","src":"1484:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1474:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1369:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1380:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1392:6:150","type":""}],"src":"1333:180:150"},{"body":{"nodeType":"YulBlock","src":"1625:73:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1642:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1647:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1635:6:150"},"nodeType":"YulFunctionCall","src":"1635:19:150"},"nodeType":"YulExpressionStatement","src":"1635:19:150"},{"nodeType":"YulAssignment","src":"1663:29:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1682:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"1687:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1678:3:150"},"nodeType":"YulFunctionCall","src":"1678:14:150"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"1663:11:150"}]}]},"name":"array_storeLengthForEncoding_array_struct_Endorsement_dyn_library","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"1593:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1598:6:150","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"1609:11:150","type":""}],"src":"1518:180:150"},{"body":{"nodeType":"YulBlock","src":"1922:642:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1932:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1942:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1936:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1953:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1971:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1982:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1967:3:150"},"nodeType":"YulFunctionCall","src":"1967:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"1957:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2001:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2012:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1994:6:150"},"nodeType":"YulFunctionCall","src":"1994:21:150"},"nodeType":"YulExpressionStatement","src":"1994:21:150"},{"nodeType":"YulVariableDeclaration","src":"2024:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"2035:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"2028:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2050:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2070:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2064:5:150"},"nodeType":"YulFunctionCall","src":"2064:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2054:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"2093:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"2101:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2086:6:150"},"nodeType":"YulFunctionCall","src":"2086:22:150"},"nodeType":"YulExpressionStatement","src":"2086:22:150"},{"nodeType":"YulVariableDeclaration","src":"2117:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2127:2:150","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2121:2:150","type":""}]},{"nodeType":"YulAssignment","src":"2138:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2149:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2160:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2145:3:150"},"nodeType":"YulFunctionCall","src":"2145:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2138:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2172:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2190:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2198:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2186:3:150"},"nodeType":"YulFunctionCall","src":"2186:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"2176:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2210:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2219:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2214:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2278:260:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2292:23:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2308:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2302:5:150"},"nodeType":"YulFunctionCall","src":"2302:13:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2296:2:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2335:3:150"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2346:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2340:5:150"},"nodeType":"YulFunctionCall","src":"2340:9:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2328:6:150"},"nodeType":"YulFunctionCall","src":"2328:22:150"},"nodeType":"YulExpressionStatement","src":"2328:22:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2374:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2379:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2370:3:150"},"nodeType":"YulFunctionCall","src":"2370:12:150"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2394:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2398:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2390:3:150"},"nodeType":"YulFunctionCall","src":"2390:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2384:5:150"},"nodeType":"YulFunctionCall","src":"2384:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2363:6:150"},"nodeType":"YulFunctionCall","src":"2363:40:150"},"nodeType":"YulExpressionStatement","src":"2363:40:150"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2427:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2432:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2423:3:150"},"nodeType":"YulFunctionCall","src":"2423:12:150"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2447:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2451:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2443:3:150"},"nodeType":"YulFunctionCall","src":"2443:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2437:5:150"},"nodeType":"YulFunctionCall","src":"2437:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2416:6:150"},"nodeType":"YulFunctionCall","src":"2416:40:150"},"nodeType":"YulExpressionStatement","src":"2416:40:150"},{"nodeType":"YulAssignment","src":"2469:21:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2480:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2485:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2476:3:150"},"nodeType":"YulFunctionCall","src":"2476:14:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2469:3:150"}]},{"nodeType":"YulAssignment","src":"2503:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2517:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2525:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2513:3:150"},"nodeType":"YulFunctionCall","src":"2513:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2503:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2240:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"2243:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2237:2:150"},"nodeType":"YulFunctionCall","src":"2237:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2251:18:150","statements":[{"nodeType":"YulAssignment","src":"2253:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2262:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"2265:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2258:3:150"},"nodeType":"YulFunctionCall","src":"2258:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2253:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"2233:3:150","statements":[]},"src":"2229:309:150"},{"nodeType":"YulAssignment","src":"2547:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"2555:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2547:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Endorsement_$76643_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Endorsement_$76643_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1891:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1902:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1913:4:150","type":""}],"src":"1703:861:150"},{"body":{"nodeType":"YulBlock","src":"2728:507:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2738:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2748:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2742:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2759:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2777:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2788:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2773:3:150"},"nodeType":"YulFunctionCall","src":"2773:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"2763:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2807:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2818:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2800:6:150"},"nodeType":"YulFunctionCall","src":"2800:21:150"},"nodeType":"YulExpressionStatement","src":"2800:21:150"},{"nodeType":"YulVariableDeclaration","src":"2830:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"2841:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"2834:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2856:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2876:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2870:5:150"},"nodeType":"YulFunctionCall","src":"2870:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2860:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"2899:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"2907:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2892:6:150"},"nodeType":"YulFunctionCall","src":"2892:22:150"},"nodeType":"YulExpressionStatement","src":"2892:22:150"},{"nodeType":"YulAssignment","src":"2923:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2934:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2945:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2930:3:150"},"nodeType":"YulFunctionCall","src":"2930:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2923:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2957:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2975:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2983:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2971:3:150"},"nodeType":"YulFunctionCall","src":"2971:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"2961:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2995:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3004:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2999:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3063:146:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3084:3:150"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3099:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3093:5:150"},"nodeType":"YulFunctionCall","src":"3093:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3116:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3121:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3112:3:150"},"nodeType":"YulFunctionCall","src":"3112:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3125:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3108:3:150"},"nodeType":"YulFunctionCall","src":"3108:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3089:3:150"},"nodeType":"YulFunctionCall","src":"3089:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3077:6:150"},"nodeType":"YulFunctionCall","src":"3077:52:150"},"nodeType":"YulExpressionStatement","src":"3077:52:150"},{"nodeType":"YulAssignment","src":"3142:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3153:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3158:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3149:3:150"},"nodeType":"YulFunctionCall","src":"3149:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3142:3:150"}]},{"nodeType":"YulAssignment","src":"3174:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3188:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3196:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3184:3:150"},"nodeType":"YulFunctionCall","src":"3184:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3174:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3025:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"3028:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3022:2:150"},"nodeType":"YulFunctionCall","src":"3022:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3036:18:150","statements":[{"nodeType":"YulAssignment","src":"3038:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3047:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"3050:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3043:3:150"},"nodeType":"YulFunctionCall","src":"3043:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3038:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3018:3:150","statements":[]},"src":"3014:195:150"},{"nodeType":"YulAssignment","src":"3218:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"3226:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3218:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2697:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2708:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2719:4:150","type":""}],"src":"2569:666:150"},{"body":{"nodeType":"YulBlock","src":"3307:174:150","statements":[{"body":{"nodeType":"YulBlock","src":"3353:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3362:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3365:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3355:6:150"},"nodeType":"YulFunctionCall","src":"3355:12:150"},"nodeType":"YulExpressionStatement","src":"3355:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3328:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3337:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3324:3:150"},"nodeType":"YulFunctionCall","src":"3324:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3349:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3320:3:150"},"nodeType":"YulFunctionCall","src":"3320:32:150"},"nodeType":"YulIf","src":"3317:52:150"},{"nodeType":"YulVariableDeclaration","src":"3378:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3404:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3391:12:150"},"nodeType":"YulFunctionCall","src":"3391:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3382:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3445:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"3423:21:150"},"nodeType":"YulFunctionCall","src":"3423:28:150"},"nodeType":"YulExpressionStatement","src":"3423:28:150"},{"nodeType":"YulAssignment","src":"3460:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3470:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3460:6:150"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3273:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3284:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3296:6:150","type":""}],"src":"3240:241:150"},{"body":{"nodeType":"YulBlock","src":"3530:81:150","statements":[{"body":{"nodeType":"YulBlock","src":"3589:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3598:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3601:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3591:6:150"},"nodeType":"YulFunctionCall","src":"3591:12:150"},"nodeType":"YulExpressionStatement","src":"3591:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3553:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3564:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"3571:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3560:3:150"},"nodeType":"YulFunctionCall","src":"3560:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3550:2:150"},"nodeType":"YulFunctionCall","src":"3550:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3543:6:150"},"nodeType":"YulFunctionCall","src":"3543:45:150"},"nodeType":"YulIf","src":"3540:65:150"}]},"name":"validator_revert_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3519:5:150","type":""}],"src":"3486:125:150"},{"body":{"nodeType":"YulBlock","src":"3764:574:150","statements":[{"body":{"nodeType":"YulBlock","src":"3811:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3820:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3823:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3813:6:150"},"nodeType":"YulFunctionCall","src":"3813:12:150"},"nodeType":"YulExpressionStatement","src":"3813:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3785:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3794:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3781:3:150"},"nodeType":"YulFunctionCall","src":"3781:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3806:3:150","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3777:3:150"},"nodeType":"YulFunctionCall","src":"3777:33:150"},"nodeType":"YulIf","src":"3774:53:150"},{"nodeType":"YulAssignment","src":"3836:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3859:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3846:12:150"},"nodeType":"YulFunctionCall","src":"3846:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3836:6:150"}]},{"nodeType":"YulAssignment","src":"3878:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3905:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3916:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3901:3:150"},"nodeType":"YulFunctionCall","src":"3901:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3888:12:150"},"nodeType":"YulFunctionCall","src":"3888:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3878:6:150"}]},{"nodeType":"YulAssignment","src":"3929:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3956:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3967:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3952:3:150"},"nodeType":"YulFunctionCall","src":"3952:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3939:12:150"},"nodeType":"YulFunctionCall","src":"3939:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3929:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3980:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4010:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4021:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4006:3:150"},"nodeType":"YulFunctionCall","src":"4006:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3993:12:150"},"nodeType":"YulFunctionCall","src":"3993:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3984:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4056:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"4034:21:150"},"nodeType":"YulFunctionCall","src":"4034:28:150"},"nodeType":"YulExpressionStatement","src":"4034:28:150"},{"nodeType":"YulAssignment","src":"4071:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4081:5:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4071:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4095:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4127:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4138:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4123:3:150"},"nodeType":"YulFunctionCall","src":"4123:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4110:12:150"},"nodeType":"YulFunctionCall","src":"4110:33:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"4099:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4174:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"4152:21:150"},"nodeType":"YulFunctionCall","src":"4152:30:150"},"nodeType":"YulExpressionStatement","src":"4152:30:150"},{"nodeType":"YulAssignment","src":"4191:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"4201:7:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"4191:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4217:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4249:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4260:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4245:3:150"},"nodeType":"YulFunctionCall","src":"4245:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4232:12:150"},"nodeType":"YulFunctionCall","src":"4232:33:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"4221:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"4298:7:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"4274:23:150"},"nodeType":"YulFunctionCall","src":"4274:32:150"},"nodeType":"YulExpressionStatement","src":"4274:32:150"},{"nodeType":"YulAssignment","src":"4315:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"4325:7:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"4315:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256t_uint256t_boolt_boolt_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3690:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3701:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3713:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3721:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3729:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3737:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"3745:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"3753:6:150","type":""}],"src":"3616:722:150"},{"body":{"nodeType":"YulBlock","src":"4502:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"4512:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4522:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4516:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4533:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4551:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4562:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4547:3:150"},"nodeType":"YulFunctionCall","src":"4547:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"4537:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4581:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4592:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4574:6:150"},"nodeType":"YulFunctionCall","src":"4574:21:150"},"nodeType":"YulExpressionStatement","src":"4574:21:150"},{"nodeType":"YulVariableDeclaration","src":"4604:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"4615:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"4608:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4630:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4650:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4644:5:150"},"nodeType":"YulFunctionCall","src":"4644:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4634:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"4673:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"4681:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4666:6:150"},"nodeType":"YulFunctionCall","src":"4666:22:150"},"nodeType":"YulExpressionStatement","src":"4666:22:150"},{"nodeType":"YulAssignment","src":"4697:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4708:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4719:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4704:3:150"},"nodeType":"YulFunctionCall","src":"4704:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4697:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"4731:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4749:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4757:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4745:3:150"},"nodeType":"YulFunctionCall","src":"4745:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"4735:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4769:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4778:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"4773:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4837:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4858:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4869:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4863:5:150"},"nodeType":"YulFunctionCall","src":"4863:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4851:6:150"},"nodeType":"YulFunctionCall","src":"4851:26:150"},"nodeType":"YulExpressionStatement","src":"4851:26:150"},{"nodeType":"YulAssignment","src":"4890:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4901:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4906:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4897:3:150"},"nodeType":"YulFunctionCall","src":"4897:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4890:3:150"}]},{"nodeType":"YulAssignment","src":"4922:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4936:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4944:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4932:3:150"},"nodeType":"YulFunctionCall","src":"4932:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4922:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4799:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"4802:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4796:2:150"},"nodeType":"YulFunctionCall","src":"4796:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4810:18:150","statements":[{"nodeType":"YulAssignment","src":"4812:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4821:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"4824:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4817:3:150"},"nodeType":"YulFunctionCall","src":"4817:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"4812:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"4792:3:150","statements":[]},"src":"4788:169:150"},{"nodeType":"YulAssignment","src":"4966:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"4974:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4966:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4471:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4482:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4493:4:150","type":""}],"src":"4343:640:150"},{"body":{"nodeType":"YulBlock","src":"5163:273:150","statements":[{"nodeType":"YulAssignment","src":"5173:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5185:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5196:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5181:3:150"},"nodeType":"YulFunctionCall","src":"5181:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5173:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5216:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5233:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5227:5:150"},"nodeType":"YulFunctionCall","src":"5227:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5209:6:150"},"nodeType":"YulFunctionCall","src":"5209:32:150"},"nodeType":"YulExpressionStatement","src":"5209:32:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5261:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5272:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5257:3:150"},"nodeType":"YulFunctionCall","src":"5257:20:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5289:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5297:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5285:3:150"},"nodeType":"YulFunctionCall","src":"5285:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5279:5:150"},"nodeType":"YulFunctionCall","src":"5279:24:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5250:6:150"},"nodeType":"YulFunctionCall","src":"5250:54:150"},"nodeType":"YulExpressionStatement","src":"5250:54:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5324:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5335:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5320:3:150"},"nodeType":"YulFunctionCall","src":"5320:20:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5352:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5360:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5348:3:150"},"nodeType":"YulFunctionCall","src":"5348:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5342:5:150"},"nodeType":"YulFunctionCall","src":"5342:24:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5313:6:150"},"nodeType":"YulFunctionCall","src":"5313:54:150"},"nodeType":"YulExpressionStatement","src":"5313:54:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5387:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5398:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5383:3:150"},"nodeType":"YulFunctionCall","src":"5383:20:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5415:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5423:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5411:3:150"},"nodeType":"YulFunctionCall","src":"5411:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5405:5:150"},"nodeType":"YulFunctionCall","src":"5405:24:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5376:6:150"},"nodeType":"YulFunctionCall","src":"5376:54:150"},"nodeType":"YulExpressionStatement","src":"5376:54:150"}]},"name":"abi_encode_tuple_t_struct$_NodePointsInfo_$76653_memory_ptr__to_t_struct$_NodePointsInfo_$76653_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5132:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5143:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5154:4:150","type":""}],"src":"4988:448:150"},{"body":{"nodeType":"YulBlock","src":"5527:227:150","statements":[{"body":{"nodeType":"YulBlock","src":"5573:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5582:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5585:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5575:6:150"},"nodeType":"YulFunctionCall","src":"5575:12:150"},"nodeType":"YulExpressionStatement","src":"5575:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5548:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5557:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5544:3:150"},"nodeType":"YulFunctionCall","src":"5544:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5569:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5540:3:150"},"nodeType":"YulFunctionCall","src":"5540:32:150"},"nodeType":"YulIf","src":"5537:52:150"},{"nodeType":"YulAssignment","src":"5598:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5621:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5608:12:150"},"nodeType":"YulFunctionCall","src":"5608:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5598:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"5640:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5670:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5681:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5666:3:150"},"nodeType":"YulFunctionCall","src":"5666:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5653:12:150"},"nodeType":"YulFunctionCall","src":"5653:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5644:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5718:5:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"5694:23:150"},"nodeType":"YulFunctionCall","src":"5694:30:150"},"nodeType":"YulExpressionStatement","src":"5694:30:150"},{"nodeType":"YulAssignment","src":"5733:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"5743:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5733:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5485:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5496:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5508:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5516:6:150","type":""}],"src":"5441:313:150"},{"body":{"nodeType":"YulBlock","src":"5846:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"5892:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5901:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5904:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5894:6:150"},"nodeType":"YulFunctionCall","src":"5894:12:150"},"nodeType":"YulExpressionStatement","src":"5894:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5867:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5876:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5863:3:150"},"nodeType":"YulFunctionCall","src":"5863:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5888:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5859:3:150"},"nodeType":"YulFunctionCall","src":"5859:32:150"},"nodeType":"YulIf","src":"5856:52:150"},{"nodeType":"YulAssignment","src":"5917:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5940:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5927:12:150"},"nodeType":"YulFunctionCall","src":"5927:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5917:6:150"}]},{"nodeType":"YulAssignment","src":"5959:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5986:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5997:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5982:3:150"},"nodeType":"YulFunctionCall","src":"5982:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5969:12:150"},"nodeType":"YulFunctionCall","src":"5969:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5959:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5804:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5815:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5827:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5835:6:150","type":""}],"src":"5759:248:150"},{"body":{"nodeType":"YulBlock","src":"6158:572:150","statements":[{"body":{"nodeType":"YulBlock","src":"6205:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6214:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6217:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6207:6:150"},"nodeType":"YulFunctionCall","src":"6207:12:150"},"nodeType":"YulExpressionStatement","src":"6207:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6179:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6188:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6175:3:150"},"nodeType":"YulFunctionCall","src":"6175:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6200:3:150","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6171:3:150"},"nodeType":"YulFunctionCall","src":"6171:33:150"},"nodeType":"YulIf","src":"6168:53:150"},{"nodeType":"YulAssignment","src":"6230:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6253:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6240:12:150"},"nodeType":"YulFunctionCall","src":"6240:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6230:6:150"}]},{"nodeType":"YulAssignment","src":"6272:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6299:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6310:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6295:3:150"},"nodeType":"YulFunctionCall","src":"6295:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6282:12:150"},"nodeType":"YulFunctionCall","src":"6282:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6272:6:150"}]},{"nodeType":"YulAssignment","src":"6323:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6350:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6361:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6346:3:150"},"nodeType":"YulFunctionCall","src":"6346:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6333:12:150"},"nodeType":"YulFunctionCall","src":"6333:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6323:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6374:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6404:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6415:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6400:3:150"},"nodeType":"YulFunctionCall","src":"6400:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6387:12:150"},"nodeType":"YulFunctionCall","src":"6387:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6378:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6450:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"6428:21:150"},"nodeType":"YulFunctionCall","src":"6428:28:150"},"nodeType":"YulExpressionStatement","src":"6428:28:150"},{"nodeType":"YulAssignment","src":"6465:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6475:5:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6465:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6489:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6521:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6532:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6517:3:150"},"nodeType":"YulFunctionCall","src":"6517:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6504:12:150"},"nodeType":"YulFunctionCall","src":"6504:33:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"6493:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"6568:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"6546:21:150"},"nodeType":"YulFunctionCall","src":"6546:30:150"},"nodeType":"YulExpressionStatement","src":"6546:30:150"},{"nodeType":"YulAssignment","src":"6585:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"6595:7:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"6585:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"6611:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6643:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6654:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6639:3:150"},"nodeType":"YulFunctionCall","src":"6639:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6626:12:150"},"nodeType":"YulFunctionCall","src":"6626:33:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"6615:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"6690:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"6668:21:150"},"nodeType":"YulFunctionCall","src":"6668:30:150"},"nodeType":"YulExpressionStatement","src":"6668:30:150"},{"nodeType":"YulAssignment","src":"6707:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"6717:7:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"6707:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256t_uint256t_boolt_boolt_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6084:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6095:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6107:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6115:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6123:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6131:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"6139:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"6147:6:150","type":""}],"src":"6012:718:150"},{"body":{"nodeType":"YulBlock","src":"6822:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"6868:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6877:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6880:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6870:6:150"},"nodeType":"YulFunctionCall","src":"6870:12:150"},"nodeType":"YulExpressionStatement","src":"6870:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6843:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6852:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6839:3:150"},"nodeType":"YulFunctionCall","src":"6839:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6864:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6835:3:150"},"nodeType":"YulFunctionCall","src":"6835:32:150"},"nodeType":"YulIf","src":"6832:52:150"},{"nodeType":"YulAssignment","src":"6893:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6916:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6903:12:150"},"nodeType":"YulFunctionCall","src":"6903:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6893:6:150"}]},{"nodeType":"YulAssignment","src":"6935:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6962:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6973:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6958:3:150"},"nodeType":"YulFunctionCall","src":"6958:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6945:12:150"},"nodeType":"YulFunctionCall","src":"6945:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6935:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6780:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6791:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6803:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6811:6:150","type":""}],"src":"6735:248:150"},{"body":{"nodeType":"YulBlock","src":"7057:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"7103:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7112:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7115:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7105:6:150"},"nodeType":"YulFunctionCall","src":"7105:12:150"},"nodeType":"YulExpressionStatement","src":"7105:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7078:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7087:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7074:3:150"},"nodeType":"YulFunctionCall","src":"7074:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7099:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7070:3:150"},"nodeType":"YulFunctionCall","src":"7070:32:150"},"nodeType":"YulIf","src":"7067:52:150"},{"nodeType":"YulVariableDeclaration","src":"7128:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7154:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7141:12:150"},"nodeType":"YulFunctionCall","src":"7141:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7132:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7197:5:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"7173:23:150"},"nodeType":"YulFunctionCall","src":"7173:30:150"},"nodeType":"YulExpressionStatement","src":"7173:30:150"},{"nodeType":"YulAssignment","src":"7212:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7222:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7212:6:150"}]}]},"name":"abi_decode_tuple_t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7023:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7034:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7046:6:150","type":""}],"src":"6988:245:150"},{"body":{"nodeType":"YulBlock","src":"7281:71:150","statements":[{"body":{"nodeType":"YulBlock","src":"7330:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7339:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7342:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7332:6:150"},"nodeType":"YulFunctionCall","src":"7332:12:150"},"nodeType":"YulExpressionStatement","src":"7332:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7304:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7315:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"7322:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7311:3:150"},"nodeType":"YulFunctionCall","src":"7311:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7301:2:150"},"nodeType":"YulFunctionCall","src":"7301:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7294:6:150"},"nodeType":"YulFunctionCall","src":"7294:35:150"},"nodeType":"YulIf","src":"7291:55:150"}]},"name":"validator_revert_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7270:5:150","type":""}],"src":"7238:114:150"},{"body":{"nodeType":"YulBlock","src":"7425:175:150","statements":[{"body":{"nodeType":"YulBlock","src":"7471:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7480:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7483:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7473:6:150"},"nodeType":"YulFunctionCall","src":"7473:12:150"},"nodeType":"YulExpressionStatement","src":"7473:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7446:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7455:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7442:3:150"},"nodeType":"YulFunctionCall","src":"7442:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7467:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7438:3:150"},"nodeType":"YulFunctionCall","src":"7438:32:150"},"nodeType":"YulIf","src":"7435:52:150"},{"nodeType":"YulVariableDeclaration","src":"7496:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7522:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7509:12:150"},"nodeType":"YulFunctionCall","src":"7509:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7500:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7564:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"7541:22:150"},"nodeType":"YulFunctionCall","src":"7541:29:150"},"nodeType":"YulExpressionStatement","src":"7541:29:150"},{"nodeType":"YulAssignment","src":"7579:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7589:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7579:6:150"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7391:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7402:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7414:6:150","type":""}],"src":"7357:243:150"},{"body":{"nodeType":"YulBlock","src":"7650:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"7714:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7723:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7726:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7716:6:150"},"nodeType":"YulFunctionCall","src":"7716:12:150"},"nodeType":"YulExpressionStatement","src":"7716:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7673:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7684:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7699:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7704:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7695:3:150"},"nodeType":"YulFunctionCall","src":"7695:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7708:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7691:3:150"},"nodeType":"YulFunctionCall","src":"7691:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7680:3:150"},"nodeType":"YulFunctionCall","src":"7680:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7670:2:150"},"nodeType":"YulFunctionCall","src":"7670:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7663:6:150"},"nodeType":"YulFunctionCall","src":"7663:50:150"},"nodeType":"YulIf","src":"7660:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7639:5:150","type":""}],"src":"7605:131:150"},{"body":{"nodeType":"YulBlock","src":"7811:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"7857:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7866:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7869:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7859:6:150"},"nodeType":"YulFunctionCall","src":"7859:12:150"},"nodeType":"YulExpressionStatement","src":"7859:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7832:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7841:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7828:3:150"},"nodeType":"YulFunctionCall","src":"7828:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7853:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7824:3:150"},"nodeType":"YulFunctionCall","src":"7824:32:150"},"nodeType":"YulIf","src":"7821:52:150"},{"nodeType":"YulVariableDeclaration","src":"7882:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7908:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7895:12:150"},"nodeType":"YulFunctionCall","src":"7895:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7886:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7952:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"7927:24:150"},"nodeType":"YulFunctionCall","src":"7927:31:150"},"nodeType":"YulExpressionStatement","src":"7927:31:150"},{"nodeType":"YulAssignment","src":"7967:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7977:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7967:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7777:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7788:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7800:6:150","type":""}],"src":"7741:247:150"},{"body":{"nodeType":"YulBlock","src":"8152:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8162:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8172:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8166:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8183:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8201:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8212:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8197:3:150"},"nodeType":"YulFunctionCall","src":"8197:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"8187:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8231:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8242:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8224:6:150"},"nodeType":"YulFunctionCall","src":"8224:21:150"},"nodeType":"YulExpressionStatement","src":"8224:21:150"},{"nodeType":"YulVariableDeclaration","src":"8254:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"8265:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"8258:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8280:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8300:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8294:5:150"},"nodeType":"YulFunctionCall","src":"8294:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8284:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"8323:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"8331:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8316:6:150"},"nodeType":"YulFunctionCall","src":"8316:22:150"},"nodeType":"YulExpressionStatement","src":"8316:22:150"},{"nodeType":"YulAssignment","src":"8347:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8358:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8369:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8354:3:150"},"nodeType":"YulFunctionCall","src":"8354:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8347:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"8381:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8399:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8407:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8395:3:150"},"nodeType":"YulFunctionCall","src":"8395:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"8385:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8419:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"8428:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"8423:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8487:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8508:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8519:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8513:5:150"},"nodeType":"YulFunctionCall","src":"8513:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8501:6:150"},"nodeType":"YulFunctionCall","src":"8501:26:150"},"nodeType":"YulExpressionStatement","src":"8501:26:150"},{"nodeType":"YulAssignment","src":"8540:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8551:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8556:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8547:3:150"},"nodeType":"YulFunctionCall","src":"8547:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8540:3:150"}]},{"nodeType":"YulAssignment","src":"8572:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8586:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8594:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8582:3:150"},"nodeType":"YulFunctionCall","src":"8582:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"8572:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8449:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"8452:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8446:2:150"},"nodeType":"YulFunctionCall","src":"8446:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8460:18:150","statements":[{"nodeType":"YulAssignment","src":"8462:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8471:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"8474:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8467:3:150"},"nodeType":"YulFunctionCall","src":"8467:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"8462:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"8442:3:150","statements":[]},"src":"8438:169:150"},{"nodeType":"YulAssignment","src":"8616:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"8624:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8616:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8121:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8132:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8143:4:150","type":""}],"src":"7993:640:150"},{"body":{"nodeType":"YulBlock","src":"8769:522:150","statements":[{"body":{"nodeType":"YulBlock","src":"8816:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8825:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8828:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8818:6:150"},"nodeType":"YulFunctionCall","src":"8818:12:150"},"nodeType":"YulExpressionStatement","src":"8818:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8790:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8799:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8786:3:150"},"nodeType":"YulFunctionCall","src":"8786:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8811:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8782:3:150"},"nodeType":"YulFunctionCall","src":"8782:33:150"},"nodeType":"YulIf","src":"8779:53:150"},{"nodeType":"YulAssignment","src":"8841:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8864:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8851:12:150"},"nodeType":"YulFunctionCall","src":"8851:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8841:6:150"}]},{"nodeType":"YulAssignment","src":"8883:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8910:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8921:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8906:3:150"},"nodeType":"YulFunctionCall","src":"8906:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8893:12:150"},"nodeType":"YulFunctionCall","src":"8893:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8883:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8934:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8964:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8975:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8960:3:150"},"nodeType":"YulFunctionCall","src":"8960:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8947:12:150"},"nodeType":"YulFunctionCall","src":"8947:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8938:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9010:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"8988:21:150"},"nodeType":"YulFunctionCall","src":"8988:28:150"},"nodeType":"YulExpressionStatement","src":"8988:28:150"},{"nodeType":"YulAssignment","src":"9025:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"9035:5:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9025:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9049:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9092:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9077:3:150"},"nodeType":"YulFunctionCall","src":"9077:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9064:12:150"},"nodeType":"YulFunctionCall","src":"9064:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"9053:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"9127:7:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"9105:21:150"},"nodeType":"YulFunctionCall","src":"9105:30:150"},"nodeType":"YulExpressionStatement","src":"9105:30:150"},{"nodeType":"YulAssignment","src":"9144:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"9154:7:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"9144:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9170:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9202:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9213:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9198:3:150"},"nodeType":"YulFunctionCall","src":"9198:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9185:12:150"},"nodeType":"YulFunctionCall","src":"9185:33:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"9174:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"9251:7:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"9227:23:150"},"nodeType":"YulFunctionCall","src":"9227:32:150"},"nodeType":"YulExpressionStatement","src":"9227:32:150"},{"nodeType":"YulAssignment","src":"9268:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"9278:7:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"9268:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256t_boolt_boolt_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8703:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8714:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8726:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8734:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8742:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8750:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"8758:6:150","type":""}],"src":"8638:653:150"},{"body":{"nodeType":"YulBlock","src":"9400:212:150","statements":[{"body":{"nodeType":"YulBlock","src":"9446:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9455:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9458:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9448:6:150"},"nodeType":"YulFunctionCall","src":"9448:12:150"},"nodeType":"YulExpressionStatement","src":"9448:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9421:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9430:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9417:3:150"},"nodeType":"YulFunctionCall","src":"9417:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9442:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9413:3:150"},"nodeType":"YulFunctionCall","src":"9413:32:150"},"nodeType":"YulIf","src":"9410:52:150"},{"nodeType":"YulAssignment","src":"9471:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9494:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9481:12:150"},"nodeType":"YulFunctionCall","src":"9481:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9471:6:150"}]},{"nodeType":"YulAssignment","src":"9513:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9540:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9551:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9536:3:150"},"nodeType":"YulFunctionCall","src":"9536:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9523:12:150"},"nodeType":"YulFunctionCall","src":"9523:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9513:6:150"}]},{"nodeType":"YulAssignment","src":"9564:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9591:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9602:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9587:3:150"},"nodeType":"YulFunctionCall","src":"9587:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9574:12:150"},"nodeType":"YulFunctionCall","src":"9574:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9564:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9350:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9361:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9373:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9381:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9389:6:150","type":""}],"src":"9296:316:150"},{"body":{"nodeType":"YulBlock","src":"9718:76:150","statements":[{"nodeType":"YulAssignment","src":"9728:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9740:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9751:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9736:3:150"},"nodeType":"YulFunctionCall","src":"9736:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9728:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9770:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"9781:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9763:6:150"},"nodeType":"YulFunctionCall","src":"9763:25:150"},"nodeType":"YulExpressionStatement","src":"9763:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9687:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9698:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9709:4:150","type":""}],"src":"9617:177:150"},{"body":{"nodeType":"YulBlock","src":"9976:511:150","statements":[{"nodeType":"YulAssignment","src":"9986:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9998:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10009:3:150","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9994:3:150"},"nodeType":"YulFunctionCall","src":"9994:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9986:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10029:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10053:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10040:12:150"},"nodeType":"YulFunctionCall","src":"10040:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10022:6:150"},"nodeType":"YulFunctionCall","src":"10022:39:150"},"nodeType":"YulExpressionStatement","src":"10022:39:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10081:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10092:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10077:3:150"},"nodeType":"YulFunctionCall","src":"10077:20:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10116:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10124:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10112:3:150"},"nodeType":"YulFunctionCall","src":"10112:17:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10099:12:150"},"nodeType":"YulFunctionCall","src":"10099:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10070:6:150"},"nodeType":"YulFunctionCall","src":"10070:61:150"},"nodeType":"YulExpressionStatement","src":"10070:61:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10151:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10162:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10147:3:150"},"nodeType":"YulFunctionCall","src":"10147:20:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10186:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10194:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10182:3:150"},"nodeType":"YulFunctionCall","src":"10182:17:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10169:12:150"},"nodeType":"YulFunctionCall","src":"10169:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10140:6:150"},"nodeType":"YulFunctionCall","src":"10140:61:150"},"nodeType":"YulExpressionStatement","src":"10140:61:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10221:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10232:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10217:3:150"},"nodeType":"YulFunctionCall","src":"10217:20:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10256:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10264:4:150","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10252:3:150"},"nodeType":"YulFunctionCall","src":"10252:17:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10239:12:150"},"nodeType":"YulFunctionCall","src":"10239:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10210:6:150"},"nodeType":"YulFunctionCall","src":"10210:61:150"},"nodeType":"YulExpressionStatement","src":"10210:61:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10291:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10302:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10287:3:150"},"nodeType":"YulFunctionCall","src":"10287:20:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10326:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10334:4:150","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10322:3:150"},"nodeType":"YulFunctionCall","src":"10322:17:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10309:12:150"},"nodeType":"YulFunctionCall","src":"10309:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10280:6:150"},"nodeType":"YulFunctionCall","src":"10280:61:150"},"nodeType":"YulExpressionStatement","src":"10280:61:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10361:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10372:4:150","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10357:3:150"},"nodeType":"YulFunctionCall","src":"10357:20:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10396:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10404:4:150","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10392:3:150"},"nodeType":"YulFunctionCall","src":"10392:17:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10379:12:150"},"nodeType":"YulFunctionCall","src":"10379:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10350:6:150"},"nodeType":"YulFunctionCall","src":"10350:61:150"},"nodeType":"YulExpressionStatement","src":"10350:61:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10431:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10442:4:150","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10427:3:150"},"nodeType":"YulFunctionCall","src":"10427:20:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10466:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"10474:4:150","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10462:3:150"},"nodeType":"YulFunctionCall","src":"10462:17:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10449:12:150"},"nodeType":"YulFunctionCall","src":"10449:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10420:6:150"},"nodeType":"YulFunctionCall","src":"10420:61:150"},"nodeType":"YulExpressionStatement","src":"10420:61:150"}]},"name":"abi_encode_tuple_t_struct$_NodeStrengthScores_$73281_calldata_ptr__to_t_struct$_NodeStrengthScores_$73281_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9945:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9956:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9967:4:150","type":""}],"src":"9799:688:150"},{"body":{"nodeType":"YulBlock","src":"10593:76:150","statements":[{"nodeType":"YulAssignment","src":"10603:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10615:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10626:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10611:3:150"},"nodeType":"YulFunctionCall","src":"10611:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10603:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10645:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10656:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10638:6:150"},"nodeType":"YulFunctionCall","src":"10638:25:150"},"nodeType":"YulExpressionStatement","src":"10638:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10562:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10573:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10584:4:150","type":""}],"src":"10492:177:150"},{"body":{"nodeType":"YulBlock","src":"10753:168:150","statements":[{"body":{"nodeType":"YulBlock","src":"10799:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10808:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10811:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10801:6:150"},"nodeType":"YulFunctionCall","src":"10801:12:150"},"nodeType":"YulExpressionStatement","src":"10801:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10774:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10783:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10770:3:150"},"nodeType":"YulFunctionCall","src":"10770:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10795:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10766:3:150"},"nodeType":"YulFunctionCall","src":"10766:32:150"},"nodeType":"YulIf","src":"10763:52:150"},{"nodeType":"YulVariableDeclaration","src":"10824:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10843:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10837:5:150"},"nodeType":"YulFunctionCall","src":"10837:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10828:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10885:5:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"10862:22:150"},"nodeType":"YulFunctionCall","src":"10862:29:150"},"nodeType":"YulExpressionStatement","src":"10862:29:150"},{"nodeType":"YulAssignment","src":"10900:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"10910:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10900:6:150"}]}]},"name":"abi_decode_tuple_t_uint8_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10719:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10730:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10742:6:150","type":""}],"src":"10674:247:150"},{"body":{"nodeType":"YulBlock","src":"10958:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10975:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10982:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10987:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10978:3:150"},"nodeType":"YulFunctionCall","src":"10978:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10968:6:150"},"nodeType":"YulFunctionCall","src":"10968:31:150"},"nodeType":"YulExpressionStatement","src":"10968:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11015:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"11018:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11008:6:150"},"nodeType":"YulFunctionCall","src":"11008:15:150"},"nodeType":"YulExpressionStatement","src":"11008:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11039:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11042:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11032:6:150"},"nodeType":"YulFunctionCall","src":"11032:15:150"},"nodeType":"YulExpressionStatement","src":"11032:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"10926:127:150"},{"body":{"nodeType":"YulBlock","src":"11090:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11107:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11114:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"11119:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11110:3:150"},"nodeType":"YulFunctionCall","src":"11110:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11100:6:150"},"nodeType":"YulFunctionCall","src":"11100:31:150"},"nodeType":"YulExpressionStatement","src":"11100:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11147:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"11150:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11140:6:150"},"nodeType":"YulFunctionCall","src":"11140:15:150"},"nodeType":"YulExpressionStatement","src":"11140:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11171:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11174:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11164:6:150"},"nodeType":"YulFunctionCall","src":"11164:15:150"},"nodeType":"YulExpressionStatement","src":"11164:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"11058:127:150"},{"body":{"nodeType":"YulBlock","src":"11268:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"11314:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11323:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11326:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11316:6:150"},"nodeType":"YulFunctionCall","src":"11316:12:150"},"nodeType":"YulExpressionStatement","src":"11316:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11289:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11298:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11285:3:150"},"nodeType":"YulFunctionCall","src":"11285:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11310:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11281:3:150"},"nodeType":"YulFunctionCall","src":"11281:32:150"},"nodeType":"YulIf","src":"11278:52:150"},{"nodeType":"YulVariableDeclaration","src":"11339:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11358:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11352:5:150"},"nodeType":"YulFunctionCall","src":"11352:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11343:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11399:5:150"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"11377:21:150"},"nodeType":"YulFunctionCall","src":"11377:28:150"},"nodeType":"YulExpressionStatement","src":"11377:28:150"},{"nodeType":"YulAssignment","src":"11414:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11424:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11414:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11234:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11245:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11257:6:150","type":""}],"src":"11190:245:150"},{"body":{"nodeType":"YulBlock","src":"11521:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"11567:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11576:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11579:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11569:6:150"},"nodeType":"YulFunctionCall","src":"11569:12:150"},"nodeType":"YulExpressionStatement","src":"11569:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11542:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11551:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11538:3:150"},"nodeType":"YulFunctionCall","src":"11538:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11563:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11534:3:150"},"nodeType":"YulFunctionCall","src":"11534:32:150"},"nodeType":"YulIf","src":"11531:52:150"},{"nodeType":"YulVariableDeclaration","src":"11592:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11611:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11605:5:150"},"nodeType":"YulFunctionCall","src":"11605:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11596:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11655:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11630:24:150"},"nodeType":"YulFunctionCall","src":"11630:31:150"},"nodeType":"YulExpressionStatement","src":"11630:31:150"},{"nodeType":"YulAssignment","src":"11670:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11680:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11670:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11487:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11498:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11510:6:150","type":""}],"src":"11440:251:150"},{"body":{"nodeType":"YulBlock","src":"11728:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11745:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11752:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"11757:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11748:3:150"},"nodeType":"YulFunctionCall","src":"11748:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11738:6:150"},"nodeType":"YulFunctionCall","src":"11738:31:150"},"nodeType":"YulExpressionStatement","src":"11738:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11785:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"11788:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11778:6:150"},"nodeType":"YulFunctionCall","src":"11778:15:150"},"nodeType":"YulExpressionStatement","src":"11778:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11809:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11812:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11802:6:150"},"nodeType":"YulFunctionCall","src":"11802:15:150"},"nodeType":"YulExpressionStatement","src":"11802:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"11696:127:150"},{"body":{"nodeType":"YulBlock","src":"11875:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"11906:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"11908:16:150"},"nodeType":"YulFunctionCall","src":"11908:18:150"},"nodeType":"YulExpressionStatement","src":"11908:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11891:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11902:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"11898:3:150"},"nodeType":"YulFunctionCall","src":"11898:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"11888:2:150"},"nodeType":"YulFunctionCall","src":"11888:17:150"},"nodeType":"YulIf","src":"11885:43:150"},{"nodeType":"YulAssignment","src":"11937:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11948:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"11955:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11944:3:150"},"nodeType":"YulFunctionCall","src":"11944:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"11937:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11857:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"11867:3:150","type":""}],"src":"11828:135:150"},{"body":{"nodeType":"YulBlock","src":"12097:119:150","statements":[{"nodeType":"YulAssignment","src":"12107:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12119:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12130:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12115:3:150"},"nodeType":"YulFunctionCall","src":"12115:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12107:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12149:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"12160:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12142:6:150"},"nodeType":"YulFunctionCall","src":"12142:25:150"},"nodeType":"YulExpressionStatement","src":"12142:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12187:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12198:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12183:3:150"},"nodeType":"YulFunctionCall","src":"12183:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12203:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12176:6:150"},"nodeType":"YulFunctionCall","src":"12176:34:150"},"nodeType":"YulExpressionStatement","src":"12176:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12058:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12069:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12077:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12088:4:150","type":""}],"src":"11968:248:150"},{"body":{"nodeType":"YulBlock","src":"12350:145:150","statements":[{"nodeType":"YulAssignment","src":"12360:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12372:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12383:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12368:3:150"},"nodeType":"YulFunctionCall","src":"12368:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12360:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12402:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12417:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12433:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12438:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12429:3:150"},"nodeType":"YulFunctionCall","src":"12429:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"12442:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12425:3:150"},"nodeType":"YulFunctionCall","src":"12425:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12413:3:150"},"nodeType":"YulFunctionCall","src":"12413:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12395:6:150"},"nodeType":"YulFunctionCall","src":"12395:51:150"},"nodeType":"YulExpressionStatement","src":"12395:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12466:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12477:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12462:3:150"},"nodeType":"YulFunctionCall","src":"12462:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"12482:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12455:6:150"},"nodeType":"YulFunctionCall","src":"12455:34:150"},"nodeType":"YulExpressionStatement","src":"12455:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12311:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12322:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12330:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12341:4:150","type":""}],"src":"12221:274:150"},{"body":{"nodeType":"YulBlock","src":"12548:77:150","statements":[{"nodeType":"YulAssignment","src":"12558:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12569:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"12572:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12565:3:150"},"nodeType":"YulFunctionCall","src":"12565:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"12558:3:150"}]},{"body":{"nodeType":"YulBlock","src":"12597:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"12599:16:150"},"nodeType":"YulFunctionCall","src":"12599:18:150"},"nodeType":"YulExpressionStatement","src":"12599:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"12589:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"12592:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12586:2:150"},"nodeType":"YulFunctionCall","src":"12586:10:150"},"nodeType":"YulIf","src":"12583:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"12531:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"12534:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"12540:3:150","type":""}],"src":"12500:125:150"},{"body":{"nodeType":"YulBlock","src":"12711:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"12757:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12766:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12769:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12759:6:150"},"nodeType":"YulFunctionCall","src":"12759:12:150"},"nodeType":"YulExpressionStatement","src":"12759:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12732:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12741:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12728:3:150"},"nodeType":"YulFunctionCall","src":"12728:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12753:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12724:3:150"},"nodeType":"YulFunctionCall","src":"12724:32:150"},"nodeType":"YulIf","src":"12721:52:150"},{"nodeType":"YulAssignment","src":"12782:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12798:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12792:5:150"},"nodeType":"YulFunctionCall","src":"12792:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12782:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12677:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12688:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12700:6:150","type":""}],"src":"12630:184:150"},{"body":{"nodeType":"YulBlock","src":"12948:119:150","statements":[{"nodeType":"YulAssignment","src":"12958:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12970:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12981:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12966:3:150"},"nodeType":"YulFunctionCall","src":"12966:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12958:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13000:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"13011:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12993:6:150"},"nodeType":"YulFunctionCall","src":"12993:25:150"},"nodeType":"YulExpressionStatement","src":"12993:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13038:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13049:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13034:3:150"},"nodeType":"YulFunctionCall","src":"13034:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"13054:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13027:6:150"},"nodeType":"YulFunctionCall","src":"13027:34:150"},"nodeType":"YulExpressionStatement","src":"13027:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12909:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12920:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12928:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12939:4:150","type":""}],"src":"12819:248:150"},{"body":{"nodeType":"YulBlock","src":"13121:79:150","statements":[{"nodeType":"YulAssignment","src":"13131:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13143:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"13146:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13139:3:150"},"nodeType":"YulFunctionCall","src":"13139:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"13131:4:150"}]},{"body":{"nodeType":"YulBlock","src":"13172:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13174:16:150"},"nodeType":"YulFunctionCall","src":"13174:18:150"},"nodeType":"YulExpressionStatement","src":"13174:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"13163:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"13169:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13160:2:150"},"nodeType":"YulFunctionCall","src":"13160:11:150"},"nodeType":"YulIf","src":"13157:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13103:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"13106:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"13112:4:150","type":""}],"src":"13072:128:150"},{"body":{"nodeType":"YulBlock","src":"13300:92:150","statements":[{"nodeType":"YulAssignment","src":"13310:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13322:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13333:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13318:3:150"},"nodeType":"YulFunctionCall","src":"13318:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13310:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13352:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13377:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13370:6:150"},"nodeType":"YulFunctionCall","src":"13370:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13363:6:150"},"nodeType":"YulFunctionCall","src":"13363:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13345:6:150"},"nodeType":"YulFunctionCall","src":"13345:41:150"},"nodeType":"YulExpressionStatement","src":"13345:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13269:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13280:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13291:4:150","type":""}],"src":"13205:187:150"},{"body":{"nodeType":"YulBlock","src":"13524:170:150","statements":[{"nodeType":"YulAssignment","src":"13534:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13546:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13557:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13542:3:150"},"nodeType":"YulFunctionCall","src":"13542:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13534:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"13569:24:150","value":{"kind":"number","nodeType":"YulLiteral","src":"13579:14:150","type":"","value":"0xffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"13573:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13609:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13624:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"13632:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13620:3:150"},"nodeType":"YulFunctionCall","src":"13620:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13602:6:150"},"nodeType":"YulFunctionCall","src":"13602:34:150"},"nodeType":"YulExpressionStatement","src":"13602:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13656:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13667:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13652:3:150"},"nodeType":"YulFunctionCall","src":"13652:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"13676:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"13684:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13672:3:150"},"nodeType":"YulFunctionCall","src":"13672:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13645:6:150"},"nodeType":"YulFunctionCall","src":"13645:43:150"},"nodeType":"YulExpressionStatement","src":"13645:43:150"}]},"name":"abi_encode_tuple_t_uint48_t_uint48__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13485:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13496:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13504:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13515:4:150","type":""}],"src":"13397:297:150"},{"body":{"nodeType":"YulBlock","src":"13800:102:150","statements":[{"nodeType":"YulAssignment","src":"13810:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13822:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13833:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13818:3:150"},"nodeType":"YulFunctionCall","src":"13818:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13810:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13852:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13867:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13883:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"13888:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13879:3:150"},"nodeType":"YulFunctionCall","src":"13879:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"13892:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13875:3:150"},"nodeType":"YulFunctionCall","src":"13875:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13863:3:150"},"nodeType":"YulFunctionCall","src":"13863:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13845:6:150"},"nodeType":"YulFunctionCall","src":"13845:51:150"},"nodeType":"YulExpressionStatement","src":"13845:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13769:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13780:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13791:4:150","type":""}],"src":"13699:203:150"},{"body":{"nodeType":"YulBlock","src":"13953:207:150","statements":[{"nodeType":"YulAssignment","src":"13963:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13979:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13973:5:150"},"nodeType":"YulFunctionCall","src":"13973:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"13963:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13991:35:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"14013:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"14021:4:150","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14009:3:150"},"nodeType":"YulFunctionCall","src":"14009:17:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"13995:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14101:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"14103:16:150"},"nodeType":"YulFunctionCall","src":"14103:18:150"},"nodeType":"YulExpressionStatement","src":"14103:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"14044:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14064:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14068:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14060:3:150"},"nodeType":"YulFunctionCall","src":"14060:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14072:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14056:3:150"},"nodeType":"YulFunctionCall","src":"14056:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14041:2:150"},"nodeType":"YulFunctionCall","src":"14041:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"14080:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"14092:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14077:2:150"},"nodeType":"YulFunctionCall","src":"14077:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14038:2:150"},"nodeType":"YulFunctionCall","src":"14038:62:150"},"nodeType":"YulIf","src":"14035:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14139:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"14143:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14132:6:150"},"nodeType":"YulFunctionCall","src":"14132:22:150"},"nodeType":"YulExpressionStatement","src":"14132:22:150"}]},"name":"allocate_memory_3235","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"13942:6:150","type":""}],"src":"13907:253:150"},{"body":{"nodeType":"YulBlock","src":"14210:230:150","statements":[{"nodeType":"YulAssignment","src":"14220:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14236:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14230:5:150"},"nodeType":"YulFunctionCall","src":"14230:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"14220:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"14248:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"14270:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"14286:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"14292:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14282:3:150"},"nodeType":"YulFunctionCall","src":"14282:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14301:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14297:3:150"},"nodeType":"YulFunctionCall","src":"14297:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14278:3:150"},"nodeType":"YulFunctionCall","src":"14278:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14266:3:150"},"nodeType":"YulFunctionCall","src":"14266:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"14252:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14381:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"14383:16:150"},"nodeType":"YulFunctionCall","src":"14383:18:150"},"nodeType":"YulExpressionStatement","src":"14383:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"14324:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14344:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14348:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14340:3:150"},"nodeType":"YulFunctionCall","src":"14340:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14352:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14336:3:150"},"nodeType":"YulFunctionCall","src":"14336:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14321:2:150"},"nodeType":"YulFunctionCall","src":"14321:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"14360:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"14372:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14357:2:150"},"nodeType":"YulFunctionCall","src":"14357:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14318:2:150"},"nodeType":"YulFunctionCall","src":"14318:62:150"},"nodeType":"YulIf","src":"14315:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14419:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"14423:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14412:6:150"},"nodeType":"YulFunctionCall","src":"14412:22:150"},"nodeType":"YulExpressionStatement","src":"14412:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"14190:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"14199:6:150","type":""}],"src":"14165:275:150"},{"body":{"nodeType":"YulBlock","src":"14575:1688:150","statements":[{"nodeType":"YulVariableDeclaration","src":"14585:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"14595:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14589:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14642:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14651:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14654:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14644:6:150"},"nodeType":"YulFunctionCall","src":"14644:12:150"},"nodeType":"YulExpressionStatement","src":"14644:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14617:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14626:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14613:3:150"},"nodeType":"YulFunctionCall","src":"14613:23:150"},{"name":"_1","nodeType":"YulIdentifier","src":"14638:2:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14609:3:150"},"nodeType":"YulFunctionCall","src":"14609:32:150"},"nodeType":"YulIf","src":"14606:52:150"},{"nodeType":"YulVariableDeclaration","src":"14667:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14687:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14681:5:150"},"nodeType":"YulFunctionCall","src":"14681:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14671:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14706:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14724:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"14728:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14720:3:150"},"nodeType":"YulFunctionCall","src":"14720:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"14732:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14716:3:150"},"nodeType":"YulFunctionCall","src":"14716:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"14710:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14761:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14770:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14773:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14763:6:150"},"nodeType":"YulFunctionCall","src":"14763:12:150"},"nodeType":"YulExpressionStatement","src":"14763:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14749:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"14757:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14746:2:150"},"nodeType":"YulFunctionCall","src":"14746:14:150"},"nodeType":"YulIf","src":"14743:34:150"},{"nodeType":"YulVariableDeclaration","src":"14786:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14800:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"14811:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14796:3:150"},"nodeType":"YulFunctionCall","src":"14796:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"14790:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14866:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14875:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14878:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14868:6:150"},"nodeType":"YulFunctionCall","src":"14868:12:150"},"nodeType":"YulExpressionStatement","src":"14868:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"14845:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"14849:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14841:3:150"},"nodeType":"YulFunctionCall","src":"14841:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"14856:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14837:3:150"},"nodeType":"YulFunctionCall","src":"14837:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14830:6:150"},"nodeType":"YulFunctionCall","src":"14830:35:150"},"nodeType":"YulIf","src":"14827:55:150"},{"nodeType":"YulVariableDeclaration","src":"14891:19:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"14907:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14901:5:150"},"nodeType":"YulFunctionCall","src":"14901:9:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"14895:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"14933:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"14935:16:150"},"nodeType":"YulFunctionCall","src":"14935:18:150"},"nodeType":"YulExpressionStatement","src":"14935:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"14925:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"14929:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14922:2:150"},"nodeType":"YulFunctionCall","src":"14922:10:150"},"nodeType":"YulIf","src":"14919:36:150"},{"nodeType":"YulVariableDeclaration","src":"14964:47:150","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14999:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"15002:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14995:3:150"},"nodeType":"YulFunctionCall","src":"14995:10:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15007:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14991:3:150"},"nodeType":"YulFunctionCall","src":"14991:19:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"14975:15:150"},"nodeType":"YulFunctionCall","src":"14975:36:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"14968:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15020:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"15033:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"15024:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"15052:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"15057:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15045:6:150"},"nodeType":"YulFunctionCall","src":"15045:15:150"},"nodeType":"YulExpressionStatement","src":"15045:15:150"},{"nodeType":"YulAssignment","src":"15069:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"15080:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15085:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15076:3:150"},"nodeType":"YulFunctionCall","src":"15076:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"15069:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"15097:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15107:4:150","type":"","value":"0xa0"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"15101:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15120:43:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"15142:2:150"},{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"15150:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"15154:2:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"15146:3:150"},"nodeType":"YulFunctionCall","src":"15146:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15138:3:150"},"nodeType":"YulFunctionCall","src":"15138:20:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15160:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15134:3:150"},"nodeType":"YulFunctionCall","src":"15134:29:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"15124:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15195:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15204:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15207:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15197:6:150"},"nodeType":"YulFunctionCall","src":"15197:12:150"},"nodeType":"YulExpressionStatement","src":"15197:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"15178:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15186:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15175:2:150"},"nodeType":"YulFunctionCall","src":"15175:19:150"},"nodeType":"YulIf","src":"15172:39:150"},{"nodeType":"YulVariableDeclaration","src":"15220:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"15235:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15239:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15231:3:150"},"nodeType":"YulFunctionCall","src":"15231:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"15224:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15307:926:150","statements":[{"body":{"nodeType":"YulBlock","src":"15363:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15381:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15391:1:150","type":"","value":"0"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"15385:2:150","type":""}]},{"expression":{"arguments":[{"name":"_6","nodeType":"YulIdentifier","src":"15416:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"15420:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15409:6:150"},"nodeType":"YulFunctionCall","src":"15409:14:150"},"nodeType":"YulExpressionStatement","src":"15409:14:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15332:7:150"},{"name":"src","nodeType":"YulIdentifier","src":"15341:3:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15328:3:150"},"nodeType":"YulFunctionCall","src":"15328:17:150"},{"name":"_5","nodeType":"YulIdentifier","src":"15347:2:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15324:3:150"},"nodeType":"YulFunctionCall","src":"15324:26:150"},"nodeType":"YulIf","src":"15321:116:150"},{"nodeType":"YulVariableDeclaration","src":"15450:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_3235","nodeType":"YulIdentifier","src":"15463:20:150"},"nodeType":"YulFunctionCall","src":"15463:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15454:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15505:5:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15518:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15512:5:150"},"nodeType":"YulFunctionCall","src":"15512:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15498:6:150"},"nodeType":"YulFunctionCall","src":"15498:25:150"},"nodeType":"YulExpressionStatement","src":"15498:25:150"},{"nodeType":"YulVariableDeclaration","src":"15536:34:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15561:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15566:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15557:3:150"},"nodeType":"YulFunctionCall","src":"15557:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15551:5:150"},"nodeType":"YulFunctionCall","src":"15551:19:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"15540:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"15606:7:150"}],"functionName":{"name":"validator_revert_uint8","nodeType":"YulIdentifier","src":"15583:22:150"},"nodeType":"YulFunctionCall","src":"15583:31:150"},"nodeType":"YulExpressionStatement","src":"15583:31:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15638:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"15645:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15634:3:150"},"nodeType":"YulFunctionCall","src":"15634:14:150"},{"name":"value_1","nodeType":"YulIdentifier","src":"15650:7:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15627:6:150"},"nodeType":"YulFunctionCall","src":"15627:31:150"},"nodeType":"YulExpressionStatement","src":"15627:31:150"},{"nodeType":"YulVariableDeclaration","src":"15671:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15681:2:150","type":"","value":"64"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"15675:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"15696:34:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15721:3:150"},{"name":"_7","nodeType":"YulIdentifier","src":"15726:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15717:3:150"},"nodeType":"YulFunctionCall","src":"15717:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15711:5:150"},"nodeType":"YulFunctionCall","src":"15711:19:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"15700:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"15796:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"15814:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15824:1:150","type":"","value":"0"},"variables":[{"name":"_8","nodeType":"YulTypedName","src":"15818:2:150","type":""}]},{"expression":{"arguments":[{"name":"_8","nodeType":"YulIdentifier","src":"15849:2:150"},{"name":"_8","nodeType":"YulIdentifier","src":"15853:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15842:6:150"},"nodeType":"YulFunctionCall","src":"15842:14:150"},"nodeType":"YulExpressionStatement","src":"15842:14:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"15756:7:150"},{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"15769:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"15778:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15765:3:150"},"nodeType":"YulFunctionCall","src":"15765:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"15753:2:150"},"nodeType":"YulFunctionCall","src":"15753:29:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15746:6:150"},"nodeType":"YulFunctionCall","src":"15746:37:150"},"nodeType":"YulIf","src":"15743:127:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15894:5:150"},{"name":"_7","nodeType":"YulIdentifier","src":"15901:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15890:3:150"},"nodeType":"YulFunctionCall","src":"15890:14:150"},{"name":"value_2","nodeType":"YulIdentifier","src":"15906:7:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15883:6:150"},"nodeType":"YulFunctionCall","src":"15883:31:150"},"nodeType":"YulExpressionStatement","src":"15883:31:150"},{"nodeType":"YulVariableDeclaration","src":"15927:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"15937:2:150","type":"","value":"96"},"variables":[{"name":"_9","nodeType":"YulTypedName","src":"15931:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15963:5:150"},{"name":"_9","nodeType":"YulIdentifier","src":"15970:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15959:3:150"},"nodeType":"YulFunctionCall","src":"15959:14:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15985:3:150"},{"name":"_9","nodeType":"YulIdentifier","src":"15990:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15981:3:150"},"nodeType":"YulFunctionCall","src":"15981:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15975:5:150"},"nodeType":"YulFunctionCall","src":"15975:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15952:6:150"},"nodeType":"YulFunctionCall","src":"15952:43:150"},"nodeType":"YulExpressionStatement","src":"15952:43:150"},{"nodeType":"YulVariableDeclaration","src":"16008:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16019:3:150","type":"","value":"128"},"variables":[{"name":"_10","nodeType":"YulTypedName","src":"16012:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16035:35:150","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"16060:3:150"},{"name":"_10","nodeType":"YulIdentifier","src":"16065:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16056:3:150"},"nodeType":"YulFunctionCall","src":"16056:13:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16050:5:150"},"nodeType":"YulFunctionCall","src":"16050:20:150"},"variables":[{"name":"value_3","nodeType":"YulTypedName","src":"16039:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_3","nodeType":"YulIdentifier","src":"16107:7:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"16083:23:150"},"nodeType":"YulFunctionCall","src":"16083:32:150"},"nodeType":"YulExpressionStatement","src":"16083:32:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16139:5:150"},{"name":"_10","nodeType":"YulIdentifier","src":"16146:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16135:3:150"},"nodeType":"YulFunctionCall","src":"16135:15:150"},{"name":"value_3","nodeType":"YulIdentifier","src":"16152:7:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16128:6:150"},"nodeType":"YulFunctionCall","src":"16128:32:150"},"nodeType":"YulExpressionStatement","src":"16128:32:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16180:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"16185:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16173:6:150"},"nodeType":"YulFunctionCall","src":"16173:18:150"},"nodeType":"YulExpressionStatement","src":"16173:18:150"},{"nodeType":"YulAssignment","src":"16204:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"16215:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16220:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16211:3:150"},"nodeType":"YulFunctionCall","src":"16211:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"16204:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15262:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"15267:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15259:2:150"},"nodeType":"YulFunctionCall","src":"15259:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"15275:23:150","statements":[{"nodeType":"YulAssignment","src":"15277:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15288:3:150"},{"name":"_5","nodeType":"YulIdentifier","src":"15293:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15284:3:150"},"nodeType":"YulFunctionCall","src":"15284:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"15277:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"15255:3:150","statements":[]},"src":"15251:982:150"},{"nodeType":"YulAssignment","src":"16242:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"16252:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16242:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14541:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14552:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14564:6:150","type":""}],"src":"14445:1818:150"},{"body":{"nodeType":"YulBlock","src":"16300:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16317:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16324:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"16329:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16320:3:150"},"nodeType":"YulFunctionCall","src":"16320:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16310:6:150"},"nodeType":"YulFunctionCall","src":"16310:31:150"},"nodeType":"YulExpressionStatement","src":"16310:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16357:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"16360:4:150","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16350:6:150"},"nodeType":"YulFunctionCall","src":"16350:15:150"},"nodeType":"YulExpressionStatement","src":"16350:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16381:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16384:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16374:6:150"},"nodeType":"YulFunctionCall","src":"16374:15:150"},"nodeType":"YulExpressionStatement","src":"16374:15:150"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"16268:127:150"},{"body":{"nodeType":"YulBlock","src":"16447:129:150","statements":[{"nodeType":"YulVariableDeclaration","src":"16457:24:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16467:14:150","type":"","value":"0xffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16461:2:150","type":""}]},{"nodeType":"YulAssignment","src":"16490:34:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16505:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16508:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16501:3:150"},"nodeType":"YulFunctionCall","src":"16501:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"16517:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16520:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16513:3:150"},"nodeType":"YulFunctionCall","src":"16513:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16497:3:150"},"nodeType":"YulFunctionCall","src":"16497:27:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"16490:3:150"}]},{"body":{"nodeType":"YulBlock","src":"16548:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16550:16:150"},"nodeType":"YulFunctionCall","src":"16550:18:150"},"nodeType":"YulExpressionStatement","src":"16550:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"16539:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16544:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16536:2:150"},"nodeType":"YulFunctionCall","src":"16536:11:150"},"nodeType":"YulIf","src":"16533:37:150"}]},"name":"checked_add_t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"16430:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"16433:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"16439:3:150","type":""}],"src":"16400:176:150"},{"body":{"nodeType":"YulBlock","src":"16706:170:150","statements":[{"nodeType":"YulAssignment","src":"16716:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16728:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16739:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16724:3:150"},"nodeType":"YulFunctionCall","src":"16724:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16716:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"16751:24:150","value":{"kind":"number","nodeType":"YulLiteral","src":"16761:14:150","type":"","value":"0xffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16755:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16791:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16806:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16814:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16802:3:150"},"nodeType":"YulFunctionCall","src":"16802:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16784:6:150"},"nodeType":"YulFunctionCall","src":"16784:34:150"},"nodeType":"YulExpressionStatement","src":"16784:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16838:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16849:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16834:3:150"},"nodeType":"YulFunctionCall","src":"16834:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16858:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"16866:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16854:3:150"},"nodeType":"YulFunctionCall","src":"16854:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16827:6:150"},"nodeType":"YulFunctionCall","src":"16827:43:150"},"nodeType":"YulExpressionStatement","src":"16827:43:150"}]},"name":"abi_encode_tuple_t_uint48_t_uint48__to_t_uint48_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16667:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16678:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16686:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16697:4:150","type":""}],"src":"16581:295:150"},{"body":{"nodeType":"YulBlock","src":"16980:179:150","statements":[{"body":{"nodeType":"YulBlock","src":"17026:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17035:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17038:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17028:6:150"},"nodeType":"YulFunctionCall","src":"17028:12:150"},"nodeType":"YulExpressionStatement","src":"17028:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17001:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"17010:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16997:3:150"},"nodeType":"YulFunctionCall","src":"16997:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"17022:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16993:3:150"},"nodeType":"YulFunctionCall","src":"16993:32:150"},"nodeType":"YulIf","src":"16990:52:150"},{"nodeType":"YulVariableDeclaration","src":"17051:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17070:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17064:5:150"},"nodeType":"YulFunctionCall","src":"17064:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17055:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"17113:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17122:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17125:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17115:6:150"},"nodeType":"YulFunctionCall","src":"17115:12:150"},"nodeType":"YulExpressionStatement","src":"17115:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17102:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"17109:1:150","type":"","value":"4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17099:2:150"},"nodeType":"YulFunctionCall","src":"17099:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17092:6:150"},"nodeType":"YulFunctionCall","src":"17092:20:150"},"nodeType":"YulIf","src":"17089:40:150"},{"nodeType":"YulAssignment","src":"17138:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"17148:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17138:6:150"}]}]},"name":"abi_decode_tuple_t_enum$_APP_SECURITY_$73233_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16946:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16957:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16969:6:150","type":""}],"src":"16881:278:150"},{"body":{"nodeType":"YulBlock","src":"17196:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17213:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17220:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17225:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17216:3:150"},"nodeType":"YulFunctionCall","src":"17216:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17206:6:150"},"nodeType":"YulFunctionCall","src":"17206:31:150"},"nodeType":"YulExpressionStatement","src":"17206:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17253:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17256:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17246:6:150"},"nodeType":"YulFunctionCall","src":"17246:15:150"},"nodeType":"YulExpressionStatement","src":"17246:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17277:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17280:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17270:6:150"},"nodeType":"YulFunctionCall","src":"17270:15:150"},"nodeType":"YulExpressionStatement","src":"17270:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"17164:127:150"},{"body":{"nodeType":"YulBlock","src":"17441:272:150","statements":[{"nodeType":"YulAssignment","src":"17451:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17463:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17474:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17459:3:150"},"nodeType":"YulFunctionCall","src":"17459:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17451:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17493:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"17504:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17486:6:150"},"nodeType":"YulFunctionCall","src":"17486:25:150"},"nodeType":"YulExpressionStatement","src":"17486:25:150"},{"body":{"nodeType":"YulBlock","src":"17553:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17574:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17581:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17586:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17577:3:150"},"nodeType":"YulFunctionCall","src":"17577:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17567:6:150"},"nodeType":"YulFunctionCall","src":"17567:31:150"},"nodeType":"YulExpressionStatement","src":"17567:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17618:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17621:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17611:6:150"},"nodeType":"YulFunctionCall","src":"17611:15:150"},"nodeType":"YulExpressionStatement","src":"17611:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17646:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17649:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17639:6:150"},"nodeType":"YulFunctionCall","src":"17639:15:150"},"nodeType":"YulExpressionStatement","src":"17639:15:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17533:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17541:1:150","type":"","value":"4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17530:2:150"},"nodeType":"YulFunctionCall","src":"17530:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17523:6:150"},"nodeType":"YulFunctionCall","src":"17523:21:150"},"nodeType":"YulIf","src":"17520:144:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17684:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"17695:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17680:3:150"},"nodeType":"YulFunctionCall","src":"17680:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"17700:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17673:6:150"},"nodeType":"YulFunctionCall","src":"17673:34:150"},"nodeType":"YulExpressionStatement","src":"17673:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_enum$_APP_SECURITY_$73233__to_t_bytes32_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17402:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17413:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17421:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17432:4:150","type":""}],"src":"17296:417:150"},{"body":{"nodeType":"YulBlock","src":"17774:65:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17791:1:150","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"17794:3:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17784:6:150"},"nodeType":"YulFunctionCall","src":"17784:14:150"},"nodeType":"YulExpressionStatement","src":"17784:14:150"},{"nodeType":"YulAssignment","src":"17807:26:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17825:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17828:4:150","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"17815:9:150"},"nodeType":"YulFunctionCall","src":"17815:18:150"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"17807:4:150"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"17757:3:150","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"17765:4:150","type":""}],"src":"17718:121:150"},{"body":{"nodeType":"YulBlock","src":"18012:1247:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18029:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18044:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18060:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"18065:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18056:3:150"},"nodeType":"YulFunctionCall","src":"18056:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"18069:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18052:3:150"},"nodeType":"YulFunctionCall","src":"18052:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18040:3:150"},"nodeType":"YulFunctionCall","src":"18040:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18022:6:150"},"nodeType":"YulFunctionCall","src":"18022:51:150"},"nodeType":"YulExpressionStatement","src":"18022:51:150"},{"nodeType":"YulVariableDeclaration","src":"18082:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18092:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"18086:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18114:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18125:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18110:3:150"},"nodeType":"YulFunctionCall","src":"18110:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"18130:2:150","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18103:6:150"},"nodeType":"YulFunctionCall","src":"18103:30:150"},"nodeType":"YulExpressionStatement","src":"18103:30:150"},{"nodeType":"YulVariableDeclaration","src":"18142:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18153:1:150","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"18146:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18163:30:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18186:6:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"18180:5:150"},"nodeType":"YulFunctionCall","src":"18180:13:150"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"18167:9:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18202:17:150","value":{"name":"ret","nodeType":"YulIdentifier","src":"18216:3:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"18206:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18228:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18238:1:150","type":"","value":"1"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"18232:2:150","type":""}]},{"nodeType":"YulAssignment","src":"18248:28:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"18262:2:150"},{"name":"slotValue","nodeType":"YulIdentifier","src":"18266:9:150"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"18258:3:150"},"nodeType":"YulFunctionCall","src":"18258:18:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"18248:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"18285:44:150","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"18315:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"18326:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18311:3:150"},"nodeType":"YulFunctionCall","src":"18311:18:150"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"18289:18:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18368:31:150","statements":[{"nodeType":"YulAssignment","src":"18370:27:150","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"18384:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"18392:4:150","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18380:3:150"},"nodeType":"YulFunctionCall","src":"18380:17:150"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"18370:6:150"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"18348:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18341:6:150"},"nodeType":"YulFunctionCall","src":"18341:26:150"},"nodeType":"YulIf","src":"18338:61:150"},{"body":{"nodeType":"YulBlock","src":"18458:115:150","statements":[{"expression":{"arguments":[{"name":"ret","nodeType":"YulIdentifier","src":"18479:3:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18488:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"18493:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18484:3:150"},"nodeType":"YulFunctionCall","src":"18484:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18472:6:150"},"nodeType":"YulFunctionCall","src":"18472:33:150"},"nodeType":"YulExpressionStatement","src":"18472:33:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18525:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18528:4:150","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18518:6:150"},"nodeType":"YulFunctionCall","src":"18518:15:150"},"nodeType":"YulExpressionStatement","src":"18518:15:150"},{"expression":{"arguments":[{"name":"ret","nodeType":"YulIdentifier","src":"18553:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"18558:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18546:6:150"},"nodeType":"YulFunctionCall","src":"18546:17:150"},"nodeType":"YulExpressionStatement","src":"18546:17:150"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"18414:18:150"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"18437:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18445:2:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18434:2:150"},"nodeType":"YulFunctionCall","src":"18434:14:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"18411:2:150"},"nodeType":"YulFunctionCall","src":"18411:38:150"},"nodeType":"YulIf","src":"18408:165:150"},{"nodeType":"YulVariableDeclaration","src":"18582:104:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18663:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"18674:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18659:3:150"},"nodeType":"YulFunctionCall","src":"18659:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"18679:6:150"}],"functionName":{"name":"array_storeLengthForEncoding_array_struct_Endorsement_dyn_library","nodeType":"YulIdentifier","src":"18593:65:150"},"nodeType":"YulFunctionCall","src":"18593:93:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"18586:3:150","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"18736:121:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18757:3:150"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"18766:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18781:3:150","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18777:3:150"},"nodeType":"YulFunctionCall","src":"18777:8:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18762:3:150"},"nodeType":"YulFunctionCall","src":"18762:24:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18750:6:150"},"nodeType":"YulFunctionCall","src":"18750:37:150"},"nodeType":"YulExpressionStatement","src":"18750:37:150"},{"nodeType":"YulAssignment","src":"18800:47:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"18811:3:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18820:1:150","type":"","value":"5"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"18837:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18830:6:150"},"nodeType":"YulFunctionCall","src":"18830:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18823:6:150"},"nodeType":"YulFunctionCall","src":"18823:22:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18816:3:150"},"nodeType":"YulFunctionCall","src":"18816:30:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18807:3:150"},"nodeType":"YulFunctionCall","src":"18807:40:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"18800:3:150"}]}]},"nodeType":"YulCase","src":"18729:128:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18734:1:150","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"18873:308:150","statements":[{"nodeType":"YulVariableDeclaration","src":"18887:52:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18932:6:150"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"18902:29:150"},"nodeType":"YulFunctionCall","src":"18902:37:150"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"18891:7:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18952:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18961:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"18956:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19029:111:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19058:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"19063:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19054:3:150"},"nodeType":"YulFunctionCall","src":"19054:11:150"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"19073:7:150"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"19067:5:150"},"nodeType":"YulFunctionCall","src":"19067:14:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19047:6:150"},"nodeType":"YulFunctionCall","src":"19047:35:150"},"nodeType":"YulExpressionStatement","src":"19047:35:150"},{"nodeType":"YulAssignment","src":"19099:27:150","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"19114:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"19123:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19110:3:150"},"nodeType":"YulFunctionCall","src":"19110:16:150"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"19099:7:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18986:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"18989:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18983:2:150"},"nodeType":"YulFunctionCall","src":"18983:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"18997:19:150","statements":[{"nodeType":"YulAssignment","src":"18999:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"19008:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19011:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19004:3:150"},"nodeType":"YulFunctionCall","src":"19004:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"18999:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"18979:3:150","statements":[]},"src":"18975:165:150"},{"nodeType":"YulAssignment","src":"19153:18:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19164:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"19169:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19160:3:150"},"nodeType":"YulFunctionCall","src":"19160:11:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"19153:3:150"}]}]},"nodeType":"YulCase","src":"18866:315:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18871:1:150","type":"","value":"1"}}],"expression":{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"18702:18:150"},"nodeType":"YulSwitch","src":"18695:486:150"},{"nodeType":"YulAssignment","src":"19190:11:150","value":{"name":"ret","nodeType":"YulIdentifier","src":"19198:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19190:4:150"}]},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"19226:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19238:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19249:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19234:3:150"},"nodeType":"YulFunctionCall","src":"19234:18:150"}],"functionName":{"name":"abi_encode_bool","nodeType":"YulIdentifier","src":"19210:15:150"},"nodeType":"YulFunctionCall","src":"19210:43:150"},"nodeType":"YulExpressionStatement","src":"19210:43:150"}]},"name":"abi_encode_tuple_t_address_t_string_storage_t_bool__to_t_address_t_string_memory_ptr_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17965:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17976:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17984:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17992:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18003:4:150","type":""}],"src":"17844:1415:150"},{"body":{"nodeType":"YulBlock","src":"19421:162:150","statements":[{"nodeType":"YulAssignment","src":"19431:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19443:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19454:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19439:3:150"},"nodeType":"YulFunctionCall","src":"19439:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19431:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19473:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"19484:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19466:6:150"},"nodeType":"YulFunctionCall","src":"19466:25:150"},"nodeType":"YulExpressionStatement","src":"19466:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19511:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19522:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19507:3:150"},"nodeType":"YulFunctionCall","src":"19507:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"19527:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19500:6:150"},"nodeType":"YulFunctionCall","src":"19500:34:150"},"nodeType":"YulExpressionStatement","src":"19500:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19554:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19565:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19550:3:150"},"nodeType":"YulFunctionCall","src":"19550:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"19570:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19543:6:150"},"nodeType":"YulFunctionCall","src":"19543:34:150"},"nodeType":"YulExpressionStatement","src":"19543:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19374:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19385:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19393:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19401:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19412:4:150","type":""}],"src":"19264:319:150"},{"body":{"nodeType":"YulBlock","src":"19745:162:150","statements":[{"nodeType":"YulAssignment","src":"19755:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19767:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19778:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19763:3:150"},"nodeType":"YulFunctionCall","src":"19763:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19755:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19797:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"19808:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19790:6:150"},"nodeType":"YulFunctionCall","src":"19790:25:150"},"nodeType":"YulExpressionStatement","src":"19790:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19835:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19846:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19831:3:150"},"nodeType":"YulFunctionCall","src":"19831:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"19851:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19824:6:150"},"nodeType":"YulFunctionCall","src":"19824:34:150"},"nodeType":"YulExpressionStatement","src":"19824:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19878:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"19889:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19874:3:150"},"nodeType":"YulFunctionCall","src":"19874:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"19894:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19867:6:150"},"nodeType":"YulFunctionCall","src":"19867:34:150"},"nodeType":"YulExpressionStatement","src":"19867:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19698:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19709:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19717:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19725:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19736:4:150","type":""}],"src":"19588:319:150"},{"body":{"nodeType":"YulBlock","src":"20069:162:150","statements":[{"nodeType":"YulAssignment","src":"20079:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20091:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20102:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20087:3:150"},"nodeType":"YulFunctionCall","src":"20087:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20079:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20121:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"20132:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20114:6:150"},"nodeType":"YulFunctionCall","src":"20114:25:150"},"nodeType":"YulExpressionStatement","src":"20114:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20159:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20170:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20155:3:150"},"nodeType":"YulFunctionCall","src":"20155:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"20175:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20148:6:150"},"nodeType":"YulFunctionCall","src":"20148:34:150"},"nodeType":"YulExpressionStatement","src":"20148:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20202:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20213:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20198:3:150"},"nodeType":"YulFunctionCall","src":"20198:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"20218:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20191:6:150"},"nodeType":"YulFunctionCall","src":"20191:34:150"},"nodeType":"YulExpressionStatement","src":"20191:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20022:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20033:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20041:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20049:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20060:4:150","type":""}],"src":"19912:319:150"},{"body":{"nodeType":"YulBlock","src":"20372:130:150","statements":[{"nodeType":"YulAssignment","src":"20382:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20394:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20405:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20390:3:150"},"nodeType":"YulFunctionCall","src":"20390:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20382:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20424:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20439:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"20447:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20435:3:150"},"nodeType":"YulFunctionCall","src":"20435:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20417:6:150"},"nodeType":"YulFunctionCall","src":"20417:36:150"},"nodeType":"YulExpressionStatement","src":"20417:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20473:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20484:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20469:3:150"},"nodeType":"YulFunctionCall","src":"20469:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"20489:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20462:6:150"},"nodeType":"YulFunctionCall","src":"20462:34:150"},"nodeType":"YulExpressionStatement","src":"20462:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20333:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20344:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20352:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20363:4:150","type":""}],"src":"20236:266:150"},{"body":{"nodeType":"YulBlock","src":"20644:130:150","statements":[{"nodeType":"YulAssignment","src":"20654:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20666:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20677:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20662:3:150"},"nodeType":"YulFunctionCall","src":"20662:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20654:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20696:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20711:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"20719:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20707:3:150"},"nodeType":"YulFunctionCall","src":"20707:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20689:6:150"},"nodeType":"YulFunctionCall","src":"20689:36:150"},"nodeType":"YulExpressionStatement","src":"20689:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20745:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20756:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20741:3:150"},"nodeType":"YulFunctionCall","src":"20741:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"20761:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20734:6:150"},"nodeType":"YulFunctionCall","src":"20734:34:150"},"nodeType":"YulExpressionStatement","src":"20734:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20605:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20616:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20624:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20635:4:150","type":""}],"src":"20507:267:150"},{"body":{"nodeType":"YulBlock","src":"20811:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20828:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20835:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"20840:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20831:3:150"},"nodeType":"YulFunctionCall","src":"20831:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20821:6:150"},"nodeType":"YulFunctionCall","src":"20821:31:150"},"nodeType":"YulExpressionStatement","src":"20821:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20868:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"20871:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20861:6:150"},"nodeType":"YulFunctionCall","src":"20861:15:150"},"nodeType":"YulExpressionStatement","src":"20861:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20892:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20895:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20885:6:150"},"nodeType":"YulFunctionCall","src":"20885:15:150"},"nodeType":"YulExpressionStatement","src":"20885:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"20779:127:150"},{"body":{"nodeType":"YulBlock","src":"20957:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"20988:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21009:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21016:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"21021:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21012:3:150"},"nodeType":"YulFunctionCall","src":"21012:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21002:6:150"},"nodeType":"YulFunctionCall","src":"21002:31:150"},"nodeType":"YulExpressionStatement","src":"21002:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21053:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"21056:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21046:6:150"},"nodeType":"YulFunctionCall","src":"21046:15:150"},"nodeType":"YulExpressionStatement","src":"21046:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21081:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21084:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21074:6:150"},"nodeType":"YulFunctionCall","src":"21074:15:150"},"nodeType":"YulExpressionStatement","src":"21074:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"20977:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20970:6:150"},"nodeType":"YulFunctionCall","src":"20970:9:150"},"nodeType":"YulIf","src":"20967:132:150"},{"nodeType":"YulAssignment","src":"21108:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"21117:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"21120:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"21113:3:150"},"nodeType":"YulFunctionCall","src":"21113:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"21108:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"20942:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"20945:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"20951:1:150","type":""}],"src":"20911:217:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes32t_bool(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_bool(value)\n        value1 := value\n    }\n    function abi_encode_bool(value, pos)\n    {\n        mstore(pos, iszero(iszero(value)))\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_struct$_NodeStrengthScores_$73281_calldata_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n        value0 := headStart\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function array_storeLengthForEncoding_array_struct_Endorsement_dyn_library(pos, length) -> updated_pos\n    {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n    function abi_encode_tuple_t_array$_t_struct$_Endorsement_$76643_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Endorsement_$76643_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        let _2 := 64\n        pos := add(headStart, _2)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            let _3 := mload(srcPtr)\n            mstore(pos, mload(_3))\n            mstore(add(pos, _1), mload(add(_3, _1)))\n            mstore(add(pos, _2), mload(add(_3, _2)))\n            pos := add(pos, 0x60)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function validator_revert_uint48(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes32t_uint256t_uint256t_boolt_boolt_uint48(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        let value := calldataload(add(headStart, 96))\n        validator_revert_bool(value)\n        value3 := value\n        let value_1 := calldataload(add(headStart, 128))\n        validator_revert_bool(value_1)\n        value4 := value_1\n        let value_2 := calldataload(add(headStart, 160))\n        validator_revert_uint48(value_2)\n        value5 := value_2\n    }\n    function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_struct$_NodePointsInfo_$76653_memory_ptr__to_t_struct$_NodePointsInfo_$76653_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, mload(value0))\n        mstore(add(headStart, 0x20), mload(add(value0, 0x20)))\n        mstore(add(headStart, 0x40), mload(add(value0, 0x40)))\n        mstore(add(headStart, 0x60), mload(add(value0, 0x60)))\n    }\n    function abi_decode_tuple_t_bytes32t_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_uint48(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_bytes32t_uint256t_uint256t_boolt_boolt_bool(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        let value := calldataload(add(headStart, 96))\n        validator_revert_bool(value)\n        value3 := value\n        let value_1 := calldataload(add(headStart, 128))\n        validator_revert_bool(value_1)\n        value4 := value_1\n        let value_2 := calldataload(add(headStart, 160))\n        validator_revert_bool(value_2)\n        value5 := value_2\n    }\n    function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint48(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint48(value)\n        value0 := value\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_decode_tuple_t_bytes32t_uint256t_boolt_boolt_uint48(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        let value := calldataload(add(headStart, 64))\n        validator_revert_bool(value)\n        value2 := value\n        let value_1 := calldataload(add(headStart, 96))\n        validator_revert_bool(value_1)\n        value3 := value_1\n        let value_2 := calldataload(add(headStart, 128))\n        validator_revert_uint48(value_2)\n        value4 := value_2\n    }\n    function abi_decode_tuple_t_bytes32t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_struct$_NodeStrengthScores_$73281_calldata_ptr__to_t_struct$_NodeStrengthScores_$73281_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 224)\n        mstore(headStart, calldataload(value0))\n        mstore(add(headStart, 0x20), calldataload(add(value0, 0x20)))\n        mstore(add(headStart, 0x40), calldataload(add(value0, 0x40)))\n        mstore(add(headStart, 0x60), calldataload(add(value0, 0x60)))\n        mstore(add(headStart, 0x80), calldataload(add(value0, 0x80)))\n        mstore(add(headStart, 0xa0), calldataload(add(value0, 0xa0)))\n        mstore(add(headStart, 0xc0), calldataload(add(value0, 0xc0)))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bool(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_uint48_t_uint48__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := 0xffffffffffff\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function allocate_memory_3235() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xa0)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_tuple_t_array$_t_struct$_Token_$71325_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := mload(_3)\n        if gt(_4, _2) { panic_error_0x41() }\n        let dst := allocate_memory(add(shl(5, _4), _1))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let _5 := 0xa0\n        let srcEnd := add(add(_3, mul(_4, _5)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _5) }\n        {\n            if slt(sub(dataEnd, src), _5)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            let value := allocate_memory_3235()\n            mstore(value, mload(src))\n            let value_1 := mload(add(src, _1))\n            validator_revert_uint8(value_1)\n            mstore(add(value, _1), value_1)\n            let _7 := 64\n            let value_2 := mload(add(src, _7))\n            if iszero(eq(value_2, and(value_2, _2)))\n            {\n                let _8 := 0\n                revert(_8, _8)\n            }\n            mstore(add(value, _7), value_2)\n            let _9 := 96\n            mstore(add(value, _9), mload(add(src, _9)))\n            let _10 := 128\n            let value_3 := mload(add(src, _10))\n            validator_revert_uint48(value_3)\n            mstore(add(value, _10), value_3)\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := dst_1\n    }\n    function panic_error_0x31()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x31)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint48(x, y) -> sum\n    {\n        let _1 := 0xffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint48_t_uint48__to_t_uint48_t_uint48__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := 0xffffffffffff\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_decode_tuple_t_enum$_APP_SECURITY_$73233_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(lt(value, 4)) { revert(0, 0) }\n        value0 := value\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_bytes32_t_enum$_APP_SECURITY_$73233__to_t_bytes32_t_uint8__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        if iszero(lt(value1, 4))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(add(headStart, 32), value1)\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function abi_encode_tuple_t_address_t_string_storage_t_bool__to_t_address_t_string_memory_ptr_t_bool__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        let _1 := 32\n        mstore(add(headStart, _1), 96)\n        let ret := 0\n        let slotValue := sload(value1)\n        let length := ret\n        let _2 := 1\n        length := shr(_2, slotValue)\n        let outOfPlaceEncoding := and(slotValue, _2)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, _1))\n        {\n            mstore(ret, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(ret, 0x24)\n        }\n        let pos := array_storeLengthForEncoding_array_struct_Endorsement_dyn_library(add(headStart, 96), length)\n        switch outOfPlaceEncoding\n        case 0 {\n            mstore(pos, and(slotValue, not(255)))\n            ret := add(pos, shl(5, iszero(iszero(length))))\n        }\n        case 1 {\n            let dataPos := array_dataslot_string_storage(value1)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _1) }\n            {\n                mstore(add(pos, i), sload(dataPos))\n                dataPos := add(dataPos, _2)\n            }\n            ret := add(pos, i)\n        }\n        tail := ret\n        abi_encode_bool(value2, add(headStart, 64))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_bytes32_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106101cc5760003560e01c806304646a49146101d15780630ab12e14146101ec5780631e13ed7a1461020e5780633167798014610231578063381142211461023957806342c89f521461025957806344532be21461026c57806344bb58f71461028c57806347e5dcbc146102ac5780634a0c4a42146102cc5780634f77fe12146102d45780634fd4e1b8146102f457806351d2a6e3146103145780635cbc2ffb146103345780635cfdd4701461033c5780635dd3a4f11461035c5780636e054773146103a25780636fb44f5f146103c257806372584102146103e25780637ba53285146103f557806380ea3de1146104085780639a116641146104285780639ab17c9b146104485780639fcb2b411461045b578063a06db7dc1461047b578063a11bd9fb14610483578063acdb9f05146104a3578063b90a30ea146104b6578063c996c624146104be578063ccd4baca146104d1578063d6418b8a146104e4578063d76c3973146104ec578063e8786a58146104ff578063e9f9739d1461051f578063ee9419cf14610532578063f1a962ac14610552578063fcaf9a761461055a578063fcd190c41461057a575b600080fd5b6101d961059a565b6040519081526020015b60405180910390f35b8180156101f857600080fd5b5061020c610207366004613910565b6105ad565b005b61022161021c36600461393a565b610630565b60405190151581526020016101e3565b610221610667565b81801561024557600080fd5b5061020c61025436600461396a565b610682565b6101d9610267366004613910565b61077f565b61027f61027a366004613910565b61081b565b6040516101e39190613982565b61029f61029a366004613910565b6108b4565b6040516101e391906139db565b8180156102b857600080fd5b5061020c6102c7366004613a28565b610a9a565b6101d9610abf565b8180156102e057600080fd5b5061020c6102ef366004613910565b610ad2565b81801561030057600080fd5b5061022161030f366004613a59565b610b4d565b81801561032057600080fd5b5061020c61032f366004613910565b610f7e565b6101d9610ff9565b61034f61034a366004613910565b61100c565b6040516101e39190613ac0565b61036f61036a366004613910565b611080565b6040516101e391908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b8180156103ae57600080fd5b506102216103bd366004613af8565b6112bf565b8180156103ce57600080fd5b5061020c6103dd366004613910565b6113eb565b6101d96103f0366004613b1d565b61143a565b6101d9610403366004613910565b6114fb565b81801561041457600080fd5b5061020c610423366004613910565b61152e565b81801561043457600080fd5b5061020c610443366004613b3f565b61157d565b6101d9610456366004613b1d565b61171d565b81801561046757600080fd5b5061020c61047636600461393a565b611782565b6101d96117ba565b81801561048f57600080fd5b5061020c61049e366004613b98565b6117d5565b6101d96104b1366004613bc4565b611849565b61022161186f565b6101d96104cc366004613bf6565b611885565b6102216104df366004613b1d565b61197a565b61034f611ac4565b6101d96104fa366004613910565b611b1f565b81801561050b57600080fd5b5061022161051a366004613c13565b611b8b565b6101d961052d366004613910565b611d42565b81801561053e57600080fd5b5061020c61054d366004613c72565b611e5d565b6101d9612190565b81801561056657600080fd5b5061020c61057536600461393a565b6121a3565b81801561058657600080fd5b5061020c610595366004613a28565b6122be565b60006105a461230e565b600d0154905090565b60006105b7612332565b6000838152602082905260409020549091506105ee5760405163018f58af60e31b8152600481018390526024015b60405180910390fd5b600082815260208290526040902060020154156106215760405163e2cf34b760e01b8152600481018390526024016105e5565b61062c8260016121a3565b5050565b6000811561064057506000610661565b600061064a61230e565b600085815260019190910160205260409020541190505b92915050565b600061067161230e565b60170154610100900460ff16919050565b600061068c61230e565b60016000908152600380830160209081526040808420873590556002845280842091870135909155908252808220818601359055600482528082206060860135905560058252808220608086013590556006825280822060a08601359055600782529081902060c08501359055519091507fc91e5ded81b3894187855cc79c29a7eaa6b412d30cfa1658fe313129291db24290610773908490600060e082019050823582526020830135602083015260408301356040830152606083013560608301526080830135608083015260a083013560a083015260c083013560c083015292915050565b60405180910390a15050565b60008061078a61230e565b600f810154604051633404591760e21b8152600481018690529192506000916001600160a01b039091169063d011645c90602401602060405180830381865afa1580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ff9190613c9e565b60ff166000908152600390920160205250604090205492915050565b606061082561230e565b6010016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156108a95783829060005260206000209060030201604051806060016040529081600082015481526020016001820154815260200160028201548152505081526020019060010190610859565b505050509050919050565b606060006108c061230e565b6000848152601382016020526040812080549293509190816001600160401b038111156108ef576108ef613cbb565b604051908082528060200260200182016040528015610918578160200160208202803683370190505b5090506000805b83811015610a8e57600085828154811061093b5761093b613cd1565b600091825260209091200154600f88015460405162491fcf60e11b8152600481018390529192506001600160a01b03169062923f9e90602401602060405180830381865afa158015610991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b59190613ce7565b6109bf5750610a7c565b600f87015460405163692b26ff60e01b8152600481018390526000916001600160a01b03169063692b26ff90602401602060405180830381865afa158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2f9190613d04565b90506001600160a01b03811615610a795780858581518110610a5357610a53613cd1565b6001600160a01b039092166020928302919091019091015283610a7581613d37565b9450505b50505b80610a8681613d37565b91505061091f565b50815295945050505050565b80610aa361230e565b60170180549115156101000261ff001990921691909117905550565b6000610ac961230e565b60150154905090565b6000610adc61230e565b90508060160154821115610b0a5760168101546040516324588df560e11b81526105e5918491600401613d50565b7fc0d3753bc89284345726d88cd5c82025ebedac4070cdbc551a0ba27b5180a637816007015483604051610b3f929190613d50565b60405180910390a160070155565b600080610b5861230e565b90506000610b64612332565b601783015490915060ff1615610b8d57604051637bd6341960e01b815260040160405180910390fd5b600089815260208290526040902054610bbc5760405163018f58af60e31b8152600481018a90526024016105e5565b50600f81015460405162491fcf60e11b8152600481018990526001600160a01b039091169062923f9e90602401602060405180830381865afa158015610c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2a9190613ce7565b1580610ca85750600f810154604051631975e30960e11b81526001600160a01b03909116906332ebc61290610c659033908b90600401613d5e565b602060405180830381865afa158015610c82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca69190613ce7565b155b15610cc6576040516326a2091b60e21b815260040160405180910390fd5b6000878152601082016020526040812080548203610cf757604051632469757560e11b815260040160405180910390fd5b600089815260118401602090815260408083208d8452909152902054815481101580610d4657508a828281548110610d3157610d31613cd1565b90600052602060002090600302016000015414155b15610d6457604051632469757560e11b815260040160405180910390fd5b83600d0154828281548110610d7b57610d7b613cd1565b906000526020600020906003020160020154610d979190613d77565b84600e0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190613d8a565b1015610e3357898b60405163564f58b360e01b81526004016105e5929190613d50565b6000828281548110610e4757610e47613cd1565b906000526020600020906003020160010154905089600014610e695789610e6b565b805b935080841115610e8e57604051632c578e4560e21b815260040160405180910390fd5b808403610ea657610ea1858c8e85612356565b610edf565b83838381548110610eb957610eb9613cd1565b90600052602060002090600302016001016000828254610ed99190613da3565b90915550505b505050600081610eef848c612535565b610ef99190613da3565b9050610f06838b8361255e565b888a60008051602061412983398151915284604051610f2791815260200190565b60405180910390a3851580610f395750865b15610f4957859350505050610f74565b8260070154811015610f6c57610f62838b898989612591565b9350505050610f74565b600193505050505b9695505050505050565b6000610f8861230e565b90508060070154821015610fb6576007810154604051635ab4737760e01b81526105e5918491600401613d50565b7ff4c290bd7ee941689bccbabc9dbd567d76db3be9871c7aa182dabf6737f7fc70816016015483604051610feb929190613d50565b60405180910390a160160155565b600061100361230e565b60160154905090565b606061101661230e565b601301600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561107457602002820191906000526020600020905b815481526020019060010190808311611060575b50505050509050919050565b6110ab6040518060800160405280600081526020016000815260200160008152602001600081525090565b60006110b561230e565b600f810154604051633404591760e21b8152600481018690529192506000916001600160a01b039091169063d011645c90602401602060405180830381865afa158015611106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112a9190613c9e565b60ff811660009081526003840160209081526040808320548752878352601086018252808320600e8701548251639cbe5efd60e01b8152925195965090946001600160a01b0390911692639cbe5efd92600480820193918290030181865afa15801561119a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111be9190613d8a565b905060005b825481101561128b578281815481106111de576111de613cd1565b906000526020600020906003020160010154866020018181516112019190613d77565b905250600d850154835484908390811061121d5761121d613cd1565b9060005260206000209060030201600201546112399190613d77565b8210156112795782818154811061125257611252613cd1565b906000526020600020906003020160010154866060018181516112759190613d77565b9052505b8061128381613d37565b9150506111c3565b50602085015185511161129f5760006112b0565b602085015185516112b09190613da3565b60408601525092949350505050565b6000806112ca612332565b90507fb5b8d618af1ffb8d5bcc4bd23f445ba34ed08d7a16d1e1b5411cfbe7913e590060006112f761230e565b6000878152602085905260409020549091506113295760405163018f58af60e31b8152600481018790526024016105e5565b600086815260038301602052604090205460ff168015611350576000945050505050610661565b600061135c83896127f9565b60008981526020879052604081206002015491925090158015919082906113a4575060008a8152600287016020526040902061139790612c2e565b6001600160d01b03166001145b905084600701548310156113cd576113bf858b86848d612591565b975050505050505050610661565b6113db85888c858589612c76565b5060019998505050505050505050565b60006113f561230e565b90507fff24fd32f78a666774cb7265d538935a108bff58375ccca2d01c4c9b66ac22a581601501548360405161142c929190613d50565b60405180910390a160150155565b60008061144561230e565b60008581526010820160205260408120805492935091900361146c57600092505050610661565b600085815260118301602090815260408083208784529091529020548154811015806114bb5750848282815481106114a6576114a6613cd1565b90600052602060002090600302016000015414155b156114cc5760009350505050610661565b8181815481106114de576114de613cd1565b906000526020600020906003020160010154935050505092915050565b600061151f61150861230e565b600084815260189190910160205260409020612c2e565b6001600160d01b031692915050565b600061153861230e565b90507f98eaabfe135a9c40c420208962bf81e7926b4d6df3e23502164c0554b7b3522481600d01548360405161156f929190613d50565b60405180910390a1600d0155565b6000611587612332565b9050600061159361230e565b90506115a381838a8a8a8a612e7a565b60006115b082898b6131cb565b905061163882898b8a8587600e0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116339190613d8a565b61327b565b600087611645848c612535565b61164f9190613d77565b905061165c838b8361255e565b826007015481106116755761167583858c89898c612c76565b600f83015460405163692b26ff60e01b8152600481018b90526000916001600160a01b03169063692b26ff90602401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190613d04565b9050898b600080516020614109833981519152838c604051611708929190613d5e565b60405180910390a35050505050505050505050565b60008061172861230e565b90504383111561174f578243604051637f07449b60e01b81526004016105e5929190613d50565b61177161175b846133f8565b600086815260188401602052604090209061342f565b6001600160d01b0316949350505050565b61178c82826121a3565b816000805160206140e9833981519152826040516117ae911515815260200190565b60405180910390a25050565b60006117c461230e565b6006015465ffffffffffff16919050565b60006117df61230e565b60068101546040519192507f55c7a79c45e9a972909cd640f9336a14a84adbaf756211f16267001854110191916118209165ffffffffffff16908590613db6565b60405180910390a1600601805465ffffffffffff191665ffffffffffff92909216919091179055565b600061185361230e565b60ff909216600090815260039290920160205250604090205490565b600061187961230e565b6017015460ff16919050565b60008061189061230e565b600f810154604051636696377f60e11b81526001600160a01b0386811660048301529293506000929091169063cd2c6efe90602401600060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261190a9190810190613e27565b90506000805b82518110156119715783600301600084838151811061193157611931613cd1565b60200260200101516020015160ff1660ff168152602001908152602001600020548261195d9190613d77565b91508061196981613d37565b915050611910565b50949350505050565b60008061198561230e565b6000858152601082016020526040812080549293509190036119ac57600092505050610661565b600085815260118301602090815260408083208784529091529020548154811015806119fb5750848282815481106119e6576119e6613cd1565b90600052602060002090600302016000015414155b15611a0c5760009350505050610661565b82600d0154828281548110611a2357611a23613cd1565b906000526020600020906003020160020154611a3f9190613d77565b83600e0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab89190613d8a565b10159695505050505050565b6060611ace61230e565b805460408051602080840282018101909252828152929190830182828015611b1557602002820191906000526020600020905b815481526020019060010190808311611b01575b5050505050905090565b600080611b2a61230e565b60008481526010820160205260408120919250805b825481101561197157828181548110611b5a57611b5a613cd1565b90600052602060002090600302016001015482611b779190613d77565b915080611b8381613d37565b915050611b3f565b600080611b9661230e565b90506000611ba2612332565b600089815260208290526040902054909150611bd45760405163018f58af60e31b8152600481018990526024016105e5565b506000868152601082016020526040812080548203611c0657604051632469757560e11b815260040160405180910390fd5b600088815260118401602090815260408083208c8452909152902054815481101580611c55575089828281548110611c4057611c40613cd1565b90600052602060002090600302016000015414155b15611c7357604051632469757560e11b815260040160405180910390fd5b818181548110611c8557611c85613cd1565b9060005260206000209060030201600101549250611ca5848a8c84612356565b5050600081611cb4848b612535565b611cbe9190613da3565b9050611ccb838a8361255e565b878960008051602061412983398151915284604051611cec91815260200190565b60405180910390a3851580611cfe5750865b15611d0e57859350505050611d39565b8260070154811015611d3157611d27838a898989612591565b9350505050611d39565b600193505050505b95945050505050565b600080611d4d61230e565b600f810154604051633404591760e21b8152600481018690529192506000916001600160a01b039091169063d011645c90602401602060405180830381865afa158015611d9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc29190613c9e565b60ff811660009081526003840160209081526040808320548884526010870190925282209293509190805b8254811015611e3957828181548110611e0857611e08613cd1565b90600052602060002090600302016001015482611e259190613d77565b915080611e3181613d37565b915050611ded565b50808311611e48576000611e52565b611e528184613da3565b979650505050505050565b6000611e6761230e565b6017810154909150610100900460ff1615611e9557604051633dbff3b560e01b815260040160405180910390fd5b600e81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611ee1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f059190613d8a565b600085815260108401602090815260408083206011870183528184208a85529092528220548154939450909290919015801590611f425750825482105b8015611f70575087838381548110611f5c57611f5c613cd1565b906000526020600020906003020160000154145b90508015612020576000838381548110611f8c57611f8c613cd1565b906000526020600020906003020160010154905086848481548110611fb357611fb3613cd1565b90600052602060002090600302016001018190555084848481548110611fdb57611fdb613cd1565b90600052602060002090600302016002018190555061201a868a89846120018b8f612535565b61200b9190613da3565b6120159190613d77565b61255e565b506120ea565b60408051606081018252898152602080820189815292820187815286546001818101895560008981529390932093516003909102909301928355925182820155915160029091015583546120749190613da3565b600088815260118701602090815260408083208c8452825280832093909355601388018152918120805460018181018355828452938320018a9055908a9052546120be9190613da3565b600089815260148701602090815260408083208b84529091529020556120ea85898861200b8383612535565b600f85015460405163692b26ff60e01b8152600481018990526000916001600160a01b03169063692b26ff90602401602060405180830381865afa158015612136573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215a9190613d04565b90508789600080516020614109833981519152838a60405161217d929190613d5e565b60405180910390a3505050505050505050565b600061219a61230e565b60070154905090565b60006121ad61230e565b90508115612291576000838152600182810160205260408220546121d19190613da3565b82549091506000906121e590600190613da3565b905060008360000182815481106121fe576121fe613cd1565b906000526020600020015490508084600001848154811061222157612221613cd1565b600091825260209091200155612238836001613d77565b6000828152600186016020526040902055835484908061225a5761225a613f30565b6001900381819060005260206000200160009055905583600101600087815260200190815260200160002060009055505050505050565b80546001808201835560008381526020808220909301869055835495815292019052604090209190915550565b60006122c861230e565b60178101805460ff19168415159081179091556040519081529091507ffd9f033c3b3a54e30cfe5bf2bc66dea3bac111d66ecc2c03a2bcc1c5ccdd025090602001610773565b7fc1a7bcdc0c77e8c77ade4541d1777901ab96ca598d164d89afa5c8dfbfc4430090565b7fb6909058bd527140b8d55a44344c5e42f1f148f1b3b16df7641882df8dd7290090565b60008381526010850160205260408120805490919061237790600190613da3565b90508083146123ff57600082828154811061239457612394613cd1565b90600052602060002090600302019050808385815481106123b7576123b7613cd1565b60009182526020808320845460039093020191825560018085015490830155600293840154939091019290925587815260118901825260408082209354825292909152208390555b8180548061240f5761240f613f30565b6000828152602080822060036000199094019384020182815560018181018490556002909101839055929093558781526011890183526040808220888352845280822082905560138a01845280822060148b0185528183208a84529094528120548354909261247d91613da3565b90508082146124e557600083828154811061249a5761249a613cd1565b90600052602060002001549050808484815481106124ba576124ba613cd1565b600091825260208083209091019290925589815260148c018252604080822093825292909152208290555b828054806124f5576124f5613f30565b6000828152602080822083016000199081018390559092019092559781526014909901875250506040808820968852959094525050509082209190915550565b6000818152601883016020526040812061254e90612c2e565b6001600160d01b03169392505050565b61258a61256a436133f8565b612573836134d6565b60008581526018870160205260409020919061350a565b5050505050565b600080841580156125b15750600086815260018801602052604090205415155b9050806125e8576125c38660006121a3565b6040516000815286906000805160206140e98339815191529060200160405180910390a25b600086815260048801602052604090205465ffffffffffff1615801561260b5750835b156126925760008681526004880160205260409020805465ffffffffffff191665ffffffffffff85811691909117909155600688015487917f502689eeffd57ae8470e1d86a4a8cd293a44bfbbd2429cb375da3d901a3dd80f918691612672911682613f46565b604051612680929190613db6565b60405180910390a26001915050611d39565b600687015460008781526004890160205260409020546126bd9165ffffffffffff9081169116613f46565b65ffffffffffff168365ffffffffffff161180156126d85750835b156127ec57600b870154604051635949432560e11b8152600481018890526001600160a01b039091169063b292864a90602401602060405180830381865afa158015612728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274c9190613f6c565b60008781526009890160205260409020805460ff1916600183600381111561277657612776613f8d565b0217905550600b870154604051630399a2ab60e21b81526001600160a01b0390911690630e668aac906127b0908990600090600401613fa3565b600060405180830381600087803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b505050506000915050611d39565b5060019695505050505050565b6000818152601383016020526040812081805b8254811015612c2357600083828154811061282957612829613cd1565b6000918252602082200154600f89015460405162491fcf60e11b8152600481018390529193506001600160a01b03169062923f9e90602401602060405180830381865afa15801561287e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a29190613ce7565b905080612b60576000828152601089016020908152604080832060118c0183528184208b8552909252909120548154811015806129025750888282815481106128ed576128ed613cd1565b90600052602060002090600302016000015414155b156129245783896040516333b11f8360e01b81526004016105e5929190613d50565b600082828154811061293857612938613cd1565b6000918252602082206001600390920201810154855490935061295b9190613da3565b9050808314612a145783818154811061297657612976613cd1565b906000526020600020906003020184848154811061299657612996613cd1565b9060005260206000209060030201600082015481600001556001820154816001015560028201548160020155905050828c601101600088815260200190815260200160002060008686815481106129ef576129ef613cd1565b9060005260206000209060030201600001548152602001908152602001600020819055505b83805480612a2457612a24613f30565b60008281526020808220600360001990940193840201828155600181810184905560029091018390559290935588815260118f01835260408082208f83529093529182208290558a54612a779190613da3565b9050808814612aef5760008a8281548110612a9457612a94613cd1565b90600052602060002001549050808b8a81548110612ab457612ab4613cd1565b9060005260206000200181905550888e60140160008f8152602001908152602001600020600083815260200190815260200160002081905550505b89805480612aff57612aff613f30565b6000828152602080822083016000199081018390559092019092558d825260148f01815260408083208a8452825280832092909255905184815288918e91600080516020614129833981519152910160405180910390a35050505050612c1c565b6000828152601089016020908152604080832060118c0183528184208b855290925290912054815481101580612bb9575088828281548110612ba457612ba4613cd1565b90600052602060002090600302016000015414155b15612bdb5783896040516333b11f8360e01b81526004016105e5929190613d50565b818181548110612bed57612bed613cd1565b90600052602060002090600302016001015486612c0a9190613d77565b955084612c1681613d37565b95505050505b505061280c565b61197186868461255e565b80546000908015612c6c57612c5683612c48600184613da3565b600091825260209091200190565b54600160301b90046001600160d01b0316612c6f565b60005b9392505050565b82612da3576000848152602086815260408083204260029091015560018089018054808301825590855292909320909101869055600b8801549051630399a2ab60e21b81526001600160a01b0390911691630e668aac91612cdb918891600401613fa3565b600060405180830381600087803b158015612cf557600080fd5b505af1158015612d09573d6000803e3d6000fd5b505050506000612d367f5830f0e95c01712d916c34d9e2fa42e9f749b325b67bce7382d70bb99c62350090565b6000868152600382016020908152604080832054918a905291829020915192935087927f181c8615e49dc4eaed218e1d225e4a34a0fb364fc70601a191573daa19d57eda92612d95926001600160a01b03169160019182019190613fd5565b60405180910390a250612e23565b81612e2357600b860154600085815260098801602052604090819020549051630399a2ab60e21b81526001600160a01b0390921691630e668aac91612df091889160ff1690600401613fa3565b600060405180830381600087803b158015612e0a57600080fd5b505af1158015612e1e573d6000803e3d6000fd5b505050505b600081158015612e425750600085815260018801602052604090205415155b90508015612e5557612e55856001611782565b50505060009182525060049092016020525060409020805465ffffffffffff19169055565b601786015460ff1615612ea057604051637bd6341960e01b815260040160405180910390fd5b600084815260208690526040902054612ecf5760405163018f58af60e31b8152600481018590526024016105e5565b8015612ef157604051633126f1ab60e01b8152600481018590526024016105e5565b821580612efc575081155b15612f1a57604051632c578e4560e21b815260040160405180910390fd5b600f86015460405162491fcf60e11b8152600481018590526001600160a01b039091169062923f9e90602401602060405180830381865afa158015612f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f879190613ce7565b15806130055750600f860154604051631975e30960e11b81526001600160a01b03909116906332ebc61290612fc29033908790600401613d5e565b602060405180830381865afa158015612fdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130039190613ce7565b155b15613023576040516326a2091b60e21b815260040160405180910390fd5b600f860154604051633404591760e21b8152600481018590526000916001600160a01b03169063d011645c90602401602060405180830381865afa15801561306f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130939190613c9e565b60ff81166000908152600389016020526040812054919250036130c957604051632e8e471b60e21b815260040160405180910390fd5b60ff81166000908152600388016020526040812054906130e98987613525565b905060008183116130fb576000613105565b6131058284613da3565b90508086111561312e5786818760405163099ee8a360e11b81526004016105e59392919061409a565b600061313b8b898b6131cb565b60158c015490915061314d8883613d77565b11156131765787898c601501546040516387b212fd60e01b81526004016105e59392919061409a565b60006131828c8b612535565b60168d01549091506131948983613d77565b11156131bd5789818d60160154604051633430a84360e11b81526004016105e59392919061409a565b505050505050505050505050565b60008281526010840160205260408120805482036131ed576000915050612c6f565b6000848152601186016020908152604080832086845290915290205481548110158061323c57508382828154811061322757613227613cd1565b90600052602060002090600302016000015414155b1561324c57600092505050612c6f565b81818154811061325e5761325e613cd1565b906000526020600020906003020160010154925050509392505050565b811561332057600085815260118701602090815260408083208784529091529020546132a78484613d77565b600087815260108901602052604090208054839081106132c9576132c9613cd1565b90600052602060002090600302016001018190555081876010016000888152602001908152602001600020828154811061330557613305613cd1565b906000526020600020906003020160020181905550506133f0565b60008581526010870160208181526040808420815160608101835289815280840189815292810187815282546001818101855584895286892093516003909202909301908155935184830155516002909301929092559389905291905290546133899190613da3565b600086815260118801602090815260408083208884528252808320939093556013890181529181208054600181810183558284529383200188905590869052546133d39190613da3565b600085815260148801602090815260408083208984529091529020555b505050505050565b600065ffffffffffff82111561342b576040516306dfcc6560e41b815260306004820152602481018390526044016105e5565b5090565b81546000908181600581111561348e57600061344a84613584565b6134549085613da3565b60008881526020902090915081015465ffffffffffff908116908716101561347e5780915061348c565b613489816001613d77565b92505b505b600061349c8787858561366c565b905080156134c9576134b387612c48600184613da3565b54600160301b90046001600160d01b0316611e52565b6000979650505050505050565b60006001600160d01b0382111561342b576040516306dfcc6560e41b815260d06004820152602481018390526044016105e5565b6000806135188585856136d1565b915091505b935093915050565b6000818152601083016020526040812081805b82548110156119715782818154811061355357613553613cd1565b906000526020600020906003020160010154826135709190613d77565b91508061357c81613d37565b915050613538565b60008160000361359657506000919050565b600060016135a38461384b565b901c6001901b905060018184816135bc576135bc6140b0565b048201901c905060018184816135d4576135d46140b0565b048201901c905060018184816135ec576135ec6140b0565b048201901c90506001818481613604576136046140b0565b048201901c9050600181848161361c5761361c6140b0565b048201901c90506001818481613634576136346140b0565b048201901c9050600181848161364c5761364c6140b0565b048201901c9050612c6f81828581613666576136666140b0565b046138df565b60005b818310156136c657600061368384846138f5565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156136b2578092506136c0565b6136bd816001613d77565b93505b5061366f565b50805b949350505050565b8254600090819080156137f05760006136ef87612c48600185613da3565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561374357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff80881691160361378f578461376688612c48600186613da3565b80546001600160d01b0392909216600160301b0265ffffffffffff9092169190911790556137e0565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b60200151925083915061351d9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b02919093161792019190915590508161351d565b600080608083901c1561386057608092831c92015b604083901c1561387257604092831c92015b602083901c1561388457602092831c92015b601083901c1561389657601092831c92015b600883901c156138a857600892831c92015b600483901c156138ba57600492831c92015b600283901c156138cc57600292831c92015b600183901c156106615760010192915050565b60008183106138ee5781612c6f565b5090919050565b600061390460028484186140c6565b612c6f90848416613d77565b60006020828403121561392257600080fd5b5035919050565b801515811461393757600080fd5b50565b6000806040838503121561394d57600080fd5b82359150602083013561395f81613929565b809150509250929050565b600060e0828403121561397c57600080fd5b50919050565b602080825282518282018190526000919060409081850190868401855b828110156139ce578151805185528681015187860152850151858501526060909301929085019060010161399f565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015613a1c5783516001600160a01b0316835292840192918401916001016139f7565b50909695505050505050565b600060208284031215613a3a57600080fd5b8135612c6f81613929565b65ffffffffffff8116811461393757600080fd5b60008060008060008060c08789031215613a7257600080fd5b8635955060208701359450604087013593506060870135613a9281613929565b92506080870135613aa281613929565b915060a0870135613ab281613a45565b809150509295509295509295565b6020808252825182820181905260009190848201906040850190845b81811015613a1c57835183529284019291840191600101613adc565b60008060408385031215613b0b57600080fd5b82359150602083013561395f81613a45565b60008060408385031215613b3057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215613b5857600080fd5b8635955060208701359450604087013593506060870135613b7881613929565b92506080870135613b8881613929565b915060a0870135613ab281613929565b600060208284031215613baa57600080fd5b8135612c6f81613a45565b60ff8116811461393757600080fd5b600060208284031215613bd657600080fd5b8135612c6f81613bb5565b6001600160a01b038116811461393757600080fd5b600060208284031215613c0857600080fd5b8135612c6f81613be1565b600080600080600060a08688031215613c2b57600080fd5b85359450602086013593506040860135613c4481613929565b92506060860135613c5481613929565b91506080860135613c6481613a45565b809150509295509295909350565b600080600060608486031215613c8757600080fd5b505081359360208301359350604090920135919050565b600060208284031215613cb057600080fd5b8151612c6f81613bb5565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215613cf957600080fd5b8151612c6f81613929565b600060208284031215613d1657600080fd5b8151612c6f81613be1565b634e487b7160e01b600052601160045260246000fd5b600060018201613d4957613d49613d21565b5060010190565b918252602082015260400190565b6001600160a01b03929092168252602082015260400190565b8082018082111561066157610661613d21565b600060208284031215613d9c57600080fd5b5051919050565b8181038181111561066157610661613d21565b65ffffffffffff92831681529116602082015260400190565b60405160a081016001600160401b0381118282101715613df157613df1613cbb565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613e1f57613e1f613cbb565b604052919050565b60006020808385031215613e3a57600080fd5b82516001600160401b0380821115613e5157600080fd5b818501915085601f830112613e6557600080fd5b815181811115613e7757613e77613cbb565b613e85848260051b01613df7565b81815260a09182028401850191858201919089841115613ea457600080fd5b948601945b83861015613f235780868b031215613ec15760008081fd5b613ec9613dcf565b8651815287870151613eda81613bb5565b818901526040878101518781168114613ef35760008081fd5b9082015260608781015190820152608080880151613f1081613a45565b9082015283529485019491860191613ea9565b5098975050505050505050565b634e487b7160e01b600052603160045260246000fd5b65ffffffffffff818116838216019080821115613f6557613f65613d21565b5092915050565b600060208284031215613f7e57600080fd5b815160048110612c6f57600080fd5b634e487b7160e01b600052602160045260246000fd5b8281526040810160048310613fc857634e487b7160e01b600052602160045260246000fd5b8260208301529392505050565b60018060a01b0384168152600060206060818401526000855481600182811c91508083168061400557607f831692505b858310810361402257634e487b7160e01b85526022600452602485fd5b6060880183905260808801818015614041576001811461405757614082565b60ff198616825284151560051b82019650614082565b60008c81526020902060005b8681101561407c57815484820152908501908901614063565b83019750505b505050508615156040870152509092506136c9915050565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601260045260246000fd5b6000826140e357634e487b7160e01b600052601260045260246000fd5b50049056fe39ed358ca65699fee4083beb84f3d91ce2201bb0c89859317fc5be02231609ed1193ced031b3229da69fab9691642274e1ea2625dfce9967135e6d5e6029d22075a2c0f7478dc6b5e01e316a07fc6b72d32d90ca051d898b5d198300d1a7c036a2646970667358221220d3472b7206dd15f96c27abb83db70cea59eb40259fb2c93010f96bf95812c4e164736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1CC JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4646A49 EQ PUSH2 0x1D1 JUMPI DUP1 PUSH4 0xAB12E14 EQ PUSH2 0x1EC JUMPI DUP1 PUSH4 0x1E13ED7A EQ PUSH2 0x20E JUMPI DUP1 PUSH4 0x31677980 EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0x38114221 EQ PUSH2 0x239 JUMPI DUP1 PUSH4 0x42C89F52 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0x44532BE2 EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0x44BB58F7 EQ PUSH2 0x28C JUMPI DUP1 PUSH4 0x47E5DCBC EQ PUSH2 0x2AC JUMPI DUP1 PUSH4 0x4A0C4A42 EQ PUSH2 0x2CC JUMPI DUP1 PUSH4 0x4F77FE12 EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x4FD4E1B8 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x51D2A6E3 EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x5CBC2FFB EQ PUSH2 0x334 JUMPI DUP1 PUSH4 0x5CFDD470 EQ PUSH2 0x33C JUMPI DUP1 PUSH4 0x5DD3A4F1 EQ PUSH2 0x35C JUMPI DUP1 PUSH4 0x6E054773 EQ PUSH2 0x3A2 JUMPI DUP1 PUSH4 0x6FB44F5F EQ PUSH2 0x3C2 JUMPI DUP1 PUSH4 0x72584102 EQ PUSH2 0x3E2 JUMPI DUP1 PUSH4 0x7BA53285 EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0x80EA3DE1 EQ PUSH2 0x408 JUMPI DUP1 PUSH4 0x9A116641 EQ PUSH2 0x428 JUMPI DUP1 PUSH4 0x9AB17C9B EQ PUSH2 0x448 JUMPI DUP1 PUSH4 0x9FCB2B41 EQ PUSH2 0x45B JUMPI DUP1 PUSH4 0xA06DB7DC EQ PUSH2 0x47B JUMPI DUP1 PUSH4 0xA11BD9FB EQ PUSH2 0x483 JUMPI DUP1 PUSH4 0xACDB9F05 EQ PUSH2 0x4A3 JUMPI DUP1 PUSH4 0xB90A30EA EQ PUSH2 0x4B6 JUMPI DUP1 PUSH4 0xC996C624 EQ PUSH2 0x4BE JUMPI DUP1 PUSH4 0xCCD4BACA EQ PUSH2 0x4D1 JUMPI DUP1 PUSH4 0xD6418B8A EQ PUSH2 0x4E4 JUMPI DUP1 PUSH4 0xD76C3973 EQ PUSH2 0x4EC JUMPI DUP1 PUSH4 0xE8786A58 EQ PUSH2 0x4FF JUMPI DUP1 PUSH4 0xE9F9739D EQ PUSH2 0x51F JUMPI DUP1 PUSH4 0xEE9419CF EQ PUSH2 0x532 JUMPI DUP1 PUSH4 0xF1A962AC EQ PUSH2 0x552 JUMPI DUP1 PUSH4 0xFCAF9A76 EQ PUSH2 0x55A JUMPI DUP1 PUSH4 0xFCD190C4 EQ PUSH2 0x57A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D9 PUSH2 0x59A JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x207 CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x5AD JUMP JUMPDEST STOP JUMPDEST PUSH2 0x221 PUSH2 0x21C CALLDATASIZE PUSH1 0x4 PUSH2 0x393A JUMP JUMPDEST PUSH2 0x630 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH2 0x221 PUSH2 0x667 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x245 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x254 CALLDATASIZE PUSH1 0x4 PUSH2 0x396A JUMP JUMPDEST PUSH2 0x682 JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x267 CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x77F JUMP JUMPDEST PUSH2 0x27F PUSH2 0x27A CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x81B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x3982 JUMP JUMPDEST PUSH2 0x29F PUSH2 0x29A CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x8B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x39DB JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x2C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A28 JUMP JUMPDEST PUSH2 0xA9A JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0xABF JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x2EF CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0xAD2 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x221 PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0x3A59 JUMP JUMPDEST PUSH2 0xB4D JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x320 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x32F CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0xF7E JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0xFF9 JUMP JUMPDEST PUSH2 0x34F PUSH2 0x34A CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x100C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x3AC0 JUMP JUMPDEST PUSH2 0x36F PUSH2 0x36A CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x1080 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E3 SWAP2 SWAP1 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH1 0x40 DUP1 DUP4 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH1 0x60 SWAP2 DUP3 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x3AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x221 PUSH2 0x3BD CALLDATASIZE PUSH1 0x4 PUSH2 0x3AF8 JUMP JUMPDEST PUSH2 0x12BF JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x3DD CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x13EB JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x3F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x3B1D JUMP JUMPDEST PUSH2 0x143A JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x403 CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x14FB JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x414 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x423 CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x152E JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x443 CALLDATASIZE PUSH1 0x4 PUSH2 0x3B3F JUMP JUMPDEST PUSH2 0x157D JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x456 CALLDATASIZE PUSH1 0x4 PUSH2 0x3B1D JUMP JUMPDEST PUSH2 0x171D JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x476 CALLDATASIZE PUSH1 0x4 PUSH2 0x393A JUMP JUMPDEST PUSH2 0x1782 JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x17BA JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x48F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x49E CALLDATASIZE PUSH1 0x4 PUSH2 0x3B98 JUMP JUMPDEST PUSH2 0x17D5 JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x4B1 CALLDATASIZE PUSH1 0x4 PUSH2 0x3BC4 JUMP JUMPDEST PUSH2 0x1849 JUMP JUMPDEST PUSH2 0x221 PUSH2 0x186F JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x4CC CALLDATASIZE PUSH1 0x4 PUSH2 0x3BF6 JUMP JUMPDEST PUSH2 0x1885 JUMP JUMPDEST PUSH2 0x221 PUSH2 0x4DF CALLDATASIZE PUSH1 0x4 PUSH2 0x3B1D JUMP JUMPDEST PUSH2 0x197A JUMP JUMPDEST PUSH2 0x34F PUSH2 0x1AC4 JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x4FA CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x1B1F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x221 PUSH2 0x51A CALLDATASIZE PUSH1 0x4 PUSH2 0x3C13 JUMP JUMPDEST PUSH2 0x1B8B JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x3910 JUMP JUMPDEST PUSH2 0x1D42 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x53E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x54D CALLDATASIZE PUSH1 0x4 PUSH2 0x3C72 JUMP JUMPDEST PUSH2 0x1E5D JUMP JUMPDEST PUSH2 0x1D9 PUSH2 0x2190 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x566 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x575 CALLDATASIZE PUSH1 0x4 PUSH2 0x393A JUMP JUMPDEST PUSH2 0x21A3 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x586 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH2 0x595 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A28 JUMP JUMPDEST PUSH2 0x22BE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A4 PUSH2 0x230E JUMP JUMPDEST PUSH1 0xD ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5B7 PUSH2 0x2332 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD ISZERO PUSH2 0x621 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2CF34B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST PUSH2 0x62C DUP3 PUSH1 0x1 PUSH2 0x21A3 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO PUSH2 0x640 JUMPI POP PUSH1 0x0 PUSH2 0x661 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x64A PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD GT SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x671 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x68C PUSH2 0x230E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP8 CALLDATALOAD SWAP1 SSTORE PUSH1 0x2 DUP5 MSTORE DUP1 DUP5 KECCAK256 SWAP2 DUP8 ADD CALLDATALOAD SWAP1 SWAP2 SSTORE SWAP1 DUP3 MSTORE DUP1 DUP3 KECCAK256 DUP2 DUP7 ADD CALLDATALOAD SWAP1 SSTORE PUSH1 0x4 DUP3 MSTORE DUP1 DUP3 KECCAK256 PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP1 SSTORE PUSH1 0x5 DUP3 MSTORE DUP1 DUP3 KECCAK256 PUSH1 0x80 DUP7 ADD CALLDATALOAD SWAP1 SSTORE PUSH1 0x6 DUP3 MSTORE DUP1 DUP3 KECCAK256 PUSH1 0xA0 DUP7 ADD CALLDATALOAD SWAP1 SSTORE PUSH1 0x7 DUP3 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0xC0 DUP6 ADD CALLDATALOAD SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP PUSH32 0xC91E5DED81B3894187855CC79C29A7EAA6B412D30CFA1658FE313129291DB242 SWAP1 PUSH2 0x773 SWAP1 DUP5 SWAP1 PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP DUP3 CALLDATALOAD DUP3 MSTORE PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD CALLDATALOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP4 ADD CALLDATALOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP4 ADD CALLDATALOAD PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP4 ADD CALLDATALOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 DUP4 ADD CALLDATALOAD PUSH1 0xC0 DUP4 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x78A PUSH2 0x230E JUMP JUMPDEST PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7FF SWAP2 SWAP1 PUSH2 0x3C9E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x825 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x10 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x8A9 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x859 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x8C0 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x13 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x8EF JUMPI PUSH2 0x8EF PUSH2 0x3CBB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x918 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA8E JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x93B JUMPI PUSH2 0x93B PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0xF DUP9 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x991 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9B5 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST PUSH2 0x9BF JUMPI POP PUSH2 0xA7C JUMP JUMPDEST PUSH1 0xF DUP8 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA0B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA2F SWAP2 SWAP1 PUSH2 0x3D04 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0xA79 JUMPI DUP1 DUP6 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0xA53 JUMPI PUSH2 0xA53 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP4 PUSH2 0xA75 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP5 POP POP JUMPDEST POP POP JUMPDEST DUP1 PUSH2 0xA86 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x91F JUMP JUMPDEST POP DUP2 MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH2 0xAA3 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 ADD DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAC9 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x15 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xADC PUSH2 0x230E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x16 ADD SLOAD DUP3 GT ISZERO PUSH2 0xB0A JUMPI PUSH1 0x16 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x24588DF5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH2 0x5E5 SWAP2 DUP5 SWAP2 PUSH1 0x4 ADD PUSH2 0x3D50 JUMP JUMPDEST PUSH32 0xC0D3753BC89284345726D88CD5C82025EBEDAC4070CDBC551A0BA27B5180A637 DUP2 PUSH1 0x7 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0xB3F SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x7 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xB58 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xB64 PUSH2 0x2332 JUMP JUMPDEST PUSH1 0x17 DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND ISZERO PUSH2 0xB8D JUMPI PUSH1 0x40 MLOAD PUSH4 0x7BD63419 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xBBC JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP11 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST POP PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC06 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC2A SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST ISZERO DUP1 PUSH2 0xCA8 JUMPI POP PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1975E309 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x32EBC612 SWAP1 PUSH2 0xC65 SWAP1 CALLER SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x3D5E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC82 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCA6 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0xCC6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x26A2091B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SUB PUSH2 0xCF7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x24697575 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x11 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP14 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0xD46 JUMPI POP DUP11 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xD31 JUMPI PUSH2 0xD31 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0xD64 JUMPI PUSH1 0x40 MLOAD PUSH4 0x24697575 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0xD ADD SLOAD DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xD7B JUMPI PUSH2 0xD7B PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD PUSH2 0xD97 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST DUP5 PUSH1 0xE ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xDEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE10 SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST LT ISZERO PUSH2 0xE33 JUMPI DUP10 DUP12 PUSH1 0x40 MLOAD PUSH4 0x564F58B3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xE47 JUMPI PUSH2 0xE47 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP1 POP DUP10 PUSH1 0x0 EQ PUSH2 0xE69 JUMPI DUP10 PUSH2 0xE6B JUMP JUMPDEST DUP1 JUMPDEST SWAP4 POP DUP1 DUP5 GT ISZERO PUSH2 0xE8E JUMPI PUSH1 0x40 MLOAD PUSH4 0x2C578E45 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP5 SUB PUSH2 0xEA6 JUMPI PUSH2 0xEA1 DUP6 DUP13 DUP15 DUP6 PUSH2 0x2356 JUMP JUMPDEST PUSH2 0xEDF JUMP JUMPDEST DUP4 DUP4 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0xEB9 JUMPI PUSH2 0xEB9 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xED9 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST POP POP POP PUSH1 0x0 DUP2 PUSH2 0xEEF DUP5 DUP13 PUSH2 0x2535 JUMP JUMPDEST PUSH2 0xEF9 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP PUSH2 0xF06 DUP4 DUP12 DUP4 PUSH2 0x255E JUMP JUMPDEST DUP9 DUP11 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4129 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 PUSH1 0x40 MLOAD PUSH2 0xF27 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP6 ISZERO DUP1 PUSH2 0xF39 JUMPI POP DUP7 JUMPDEST ISZERO PUSH2 0xF49 JUMPI DUP6 SWAP4 POP POP POP POP PUSH2 0xF74 JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD DUP2 LT ISZERO PUSH2 0xF6C JUMPI PUSH2 0xF62 DUP4 DUP12 DUP10 DUP10 DUP10 PUSH2 0x2591 JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0xF74 JUMP JUMPDEST PUSH1 0x1 SWAP4 POP POP POP POP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF88 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x7 ADD SLOAD DUP3 LT ISZERO PUSH2 0xFB6 JUMPI PUSH1 0x7 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x5AB47377 PUSH1 0xE0 SHL DUP2 MSTORE PUSH2 0x5E5 SWAP2 DUP5 SWAP2 PUSH1 0x4 ADD PUSH2 0x3D50 JUMP JUMPDEST PUSH32 0xF4C290BD7EE941689BCCBABC9DBD567D76DB3BE9871C7AA182DABF6737F7FC70 DUP2 PUSH1 0x16 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0xFEB SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x16 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1003 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x16 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1016 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x13 ADD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x1074 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1060 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10B5 PUSH2 0x230E JUMP JUMPDEST PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1106 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x112A SWAP2 SWAP1 PUSH2 0x3C9E JUMP JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP8 MSTORE DUP8 DUP4 MSTORE PUSH1 0x10 DUP7 ADD DUP3 MSTORE DUP1 DUP4 KECCAK256 PUSH1 0xE DUP8 ADD SLOAD DUP3 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP3 MLOAD SWAP6 SWAP7 POP SWAP1 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 PUSH4 0x9CBE5EFD SWAP3 PUSH1 0x4 DUP1 DUP3 ADD SWAP4 SWAP2 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x119A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11BE SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x128B JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x11DE JUMPI PUSH2 0x11DE PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP7 PUSH1 0x20 ADD DUP2 DUP2 MLOAD PUSH2 0x1201 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP1 MSTORE POP PUSH1 0xD DUP6 ADD SLOAD DUP4 SLOAD DUP5 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x121D JUMPI PUSH2 0x121D PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD PUSH2 0x1239 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST DUP3 LT ISZERO PUSH2 0x1279 JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1252 JUMPI PUSH2 0x1252 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP7 PUSH1 0x60 ADD DUP2 DUP2 MLOAD PUSH2 0x1275 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST DUP1 PUSH2 0x1283 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x11C3 JUMP JUMPDEST POP PUSH1 0x20 DUP6 ADD MLOAD DUP6 MLOAD GT PUSH2 0x129F JUMPI PUSH1 0x0 PUSH2 0x12B0 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD DUP6 MLOAD PUSH2 0x12B0 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x40 DUP7 ADD MSTORE POP SWAP3 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12CA PUSH2 0x2332 JUMP JUMPDEST SWAP1 POP PUSH32 0xB5B8D618AF1FFB8D5BCC4BD23F445BA34ED08D7A16D1E1B5411CFBE7913E5900 PUSH1 0x0 PUSH2 0x12F7 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 DUP6 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x1329 JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x1350 JUMPI PUSH1 0x0 SWAP5 POP POP POP POP POP PUSH2 0x661 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x135C DUP4 DUP10 PUSH2 0x27F9 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP8 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 ISZERO DUP1 ISZERO SWAP2 SWAP1 DUP3 SWAP1 PUSH2 0x13A4 JUMPI POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 DUP8 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x1397 SWAP1 PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ JUMPDEST SWAP1 POP DUP5 PUSH1 0x7 ADD SLOAD DUP4 LT ISZERO PUSH2 0x13CD JUMPI PUSH2 0x13BF DUP6 DUP12 DUP7 DUP5 DUP14 PUSH2 0x2591 JUMP JUMPDEST SWAP8 POP POP POP POP POP POP POP POP PUSH2 0x661 JUMP JUMPDEST PUSH2 0x13DB DUP6 DUP9 DUP13 DUP6 DUP6 DUP10 PUSH2 0x2C76 JUMP JUMPDEST POP PUSH1 0x1 SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F5 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH32 0xFF24FD32F78A666774CB7265D538935A108BFF58375CCCA2D01C4C9B66AC22A5 DUP2 PUSH1 0x15 ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0x142C SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x15 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1445 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 SUB PUSH2 0x146C JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x661 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x11 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x14BB JUMPI POP DUP5 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x14A6 JUMPI PUSH2 0x14A6 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x14CC JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0x661 JUMP JUMPDEST DUP2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x14DE JUMPI PUSH2 0x14DE PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x151F PUSH2 0x1508 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x18 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1538 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH32 0x98EAABFE135A9C40C420208962BF81E7926B4D6DF3E23502164C0554B7B35224 DUP2 PUSH1 0xD ADD SLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0x156F SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0xD ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1587 PUSH2 0x2332 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1593 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH2 0x15A3 DUP2 DUP4 DUP11 DUP11 DUP11 DUP11 PUSH2 0x2E7A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B0 DUP3 DUP10 DUP12 PUSH2 0x31CB JUMP JUMPDEST SWAP1 POP PUSH2 0x1638 DUP3 DUP10 DUP12 DUP11 DUP6 DUP8 PUSH1 0xE ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x160F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1633 SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST PUSH2 0x327B JUMP JUMPDEST PUSH1 0x0 DUP8 PUSH2 0x1645 DUP5 DUP13 PUSH2 0x2535 JUMP JUMPDEST PUSH2 0x164F SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP1 POP PUSH2 0x165C DUP4 DUP12 DUP4 PUSH2 0x255E JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD DUP2 LT PUSH2 0x1675 JUMPI PUSH2 0x1675 DUP4 DUP6 DUP13 DUP10 DUP10 DUP13 PUSH2 0x2C76 JUMP JUMPDEST PUSH1 0xF DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP12 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16E5 SWAP2 SWAP1 PUSH2 0x3D04 JUMP JUMPDEST SWAP1 POP DUP10 DUP12 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4109 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 DUP13 PUSH1 0x40 MLOAD PUSH2 0x1708 SWAP3 SWAP2 SWAP1 PUSH2 0x3D5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1728 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP NUMBER DUP4 GT ISZERO PUSH2 0x174F JUMPI DUP3 NUMBER PUSH1 0x40 MLOAD PUSH4 0x7F07449B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH2 0x1771 PUSH2 0x175B DUP5 PUSH2 0x33F8 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x18 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 PUSH2 0x342F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x178C DUP3 DUP3 PUSH2 0x21A3 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x40E9 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 PUSH1 0x40 MLOAD PUSH2 0x17AE SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17C4 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17DF PUSH2 0x230E JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x55C7A79C45E9A972909CD640F9336A14A84ADBAF756211F16267001854110191 SWAP2 PUSH2 0x1820 SWAP2 PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP6 SWAP1 PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x6 ADD DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF NOT AND PUSH6 0xFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1853 PUSH2 0x230E JUMP JUMPDEST PUSH1 0xFF SWAP1 SWAP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1879 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 ADD SLOAD PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1890 PUSH2 0x230E JUMP JUMPDEST PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x6696377F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP1 SWAP2 AND SWAP1 PUSH4 0xCD2C6EFE SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18E2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x190A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3E27 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x1971 JUMPI DUP4 PUSH1 0x3 ADD PUSH1 0x0 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1931 JUMPI PUSH2 0x1931 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x20 ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH2 0x195D SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x1969 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1910 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1985 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP2 SWAP1 SUB PUSH2 0x19AC JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x661 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x11 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x19FB JUMPI POP DUP5 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x19E6 JUMPI PUSH2 0x19E6 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x1A0C JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0x661 JUMP JUMPDEST DUP3 PUSH1 0xD ADD SLOAD DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1A23 JUMPI PUSH2 0x1A23 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD PUSH2 0x1A3F SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST DUP4 PUSH1 0xE ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A94 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AB8 SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST LT ISZERO SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1ACE PUSH2 0x230E JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP5 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE SWAP3 SWAP2 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1B15 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1B01 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B2A PUSH2 0x230E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP DUP1 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x1971 JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1B5A JUMPI PUSH2 0x1B5A PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP3 PUSH2 0x1B77 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x1B83 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1B3F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B96 PUSH2 0x230E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1BA2 PUSH2 0x2332 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x1BD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST POP PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x10 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SUB PUSH2 0x1C06 JUMPI PUSH1 0x40 MLOAD PUSH4 0x24697575 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x11 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP13 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x1C55 JUMPI POP DUP10 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1C40 JUMPI PUSH2 0x1C40 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x1C73 JUMPI PUSH1 0x40 MLOAD PUSH4 0x24697575 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1C85 JUMPI PUSH2 0x1C85 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP3 POP PUSH2 0x1CA5 DUP5 DUP11 DUP13 DUP5 PUSH2 0x2356 JUMP JUMPDEST POP POP PUSH1 0x0 DUP2 PUSH2 0x1CB4 DUP5 DUP12 PUSH2 0x2535 JUMP JUMPDEST PUSH2 0x1CBE SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP PUSH2 0x1CCB DUP4 DUP11 DUP4 PUSH2 0x255E JUMP JUMPDEST DUP8 DUP10 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4129 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 PUSH1 0x40 MLOAD PUSH2 0x1CEC SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP6 ISZERO DUP1 PUSH2 0x1CFE JUMPI POP DUP7 JUMPDEST ISZERO PUSH2 0x1D0E JUMPI DUP6 SWAP4 POP POP POP POP PUSH2 0x1D39 JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD DUP2 LT ISZERO PUSH2 0x1D31 JUMPI PUSH2 0x1D27 DUP4 DUP11 DUP10 DUP10 DUP10 PUSH2 0x2591 JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0x1D39 JUMP JUMPDEST PUSH1 0x1 SWAP4 POP POP POP POP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D4D PUSH2 0x230E JUMP JUMPDEST PUSH1 0xF DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D9E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DC2 SWAP2 SWAP1 PUSH2 0x3C9E JUMP JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP9 DUP5 MSTORE PUSH1 0x10 DUP8 ADD SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SWAP3 SWAP4 POP SWAP2 SWAP1 DUP1 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x1E39 JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1E08 JUMPI PUSH2 0x1E08 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP3 PUSH2 0x1E25 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x1E31 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1DED JUMP JUMPDEST POP DUP1 DUP4 GT PUSH2 0x1E48 JUMPI PUSH1 0x0 PUSH2 0x1E52 JUMP JUMPDEST PUSH2 0x1E52 DUP2 DUP5 PUSH2 0x3DA3 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E67 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 DUP2 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1E95 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3DBFF3B5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xE DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x9CBE5EFD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x9CBE5EFD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1EE1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F05 SWAP2 SWAP1 PUSH2 0x3D8A JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x11 DUP8 ADD DUP4 MSTORE DUP2 DUP5 KECCAK256 DUP11 DUP6 MSTORE SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SLOAD DUP2 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 SWAP1 SWAP2 SWAP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x1F42 JUMPI POP DUP3 SLOAD DUP3 LT JUMPDEST DUP1 ISZERO PUSH2 0x1F70 JUMPI POP DUP8 DUP4 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1F5C JUMPI PUSH2 0x1F5C PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2020 JUMPI PUSH1 0x0 DUP4 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1F8C JUMPI PUSH2 0x1F8C PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP1 POP DUP7 DUP5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1FB3 JUMPI PUSH2 0x1FB3 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP5 DUP5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1FDB JUMPI PUSH2 0x1FDB PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH2 0x201A DUP7 DUP11 DUP10 DUP5 PUSH2 0x2001 DUP12 DUP16 PUSH2 0x2535 JUMP JUMPDEST PUSH2 0x200B SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH2 0x2015 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST PUSH2 0x255E JUMP JUMPDEST POP PUSH2 0x20EA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE DUP10 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP10 DUP2 MSTORE SWAP3 DUP3 ADD DUP8 DUP2 MSTORE DUP7 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP10 SSTORE PUSH1 0x0 DUP10 DUP2 MSTORE SWAP4 SWAP1 SWAP4 KECCAK256 SWAP4 MLOAD PUSH1 0x3 SWAP1 SWAP2 MUL SWAP1 SWAP4 ADD SWAP3 DUP4 SSTORE SWAP3 MLOAD DUP3 DUP3 ADD SSTORE SWAP2 MLOAD PUSH1 0x2 SWAP1 SWAP2 ADD SSTORE DUP4 SLOAD PUSH2 0x2074 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x11 DUP8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP13 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE PUSH1 0x13 DUP9 ADD DUP2 MSTORE SWAP2 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE DUP3 DUP5 MSTORE SWAP4 DUP4 KECCAK256 ADD DUP11 SWAP1 SSTORE SWAP1 DUP11 SWAP1 MSTORE SLOAD PUSH2 0x20BE SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x14 DUP8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP12 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x20EA DUP6 DUP10 DUP9 PUSH2 0x200B DUP4 DUP4 PUSH2 0x2535 JUMP JUMPDEST PUSH1 0xF DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x692B26FF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x692B26FF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2136 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x215A SWAP2 SWAP1 PUSH2 0x3D04 JUMP JUMPDEST SWAP1 POP DUP8 DUP10 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4109 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 DUP11 PUSH1 0x40 MLOAD PUSH2 0x217D SWAP3 SWAP2 SWAP1 PUSH2 0x3D5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x219A PUSH2 0x230E JUMP JUMPDEST PUSH1 0x7 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21AD PUSH2 0x230E JUMP JUMPDEST SWAP1 POP DUP2 ISZERO PUSH2 0x2291 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 DUP3 DUP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SLOAD PUSH2 0x21D1 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST DUP3 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x21E5 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x21FE JUMPI PUSH2 0x21FE PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x2221 JUMPI PUSH2 0x2221 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SSTORE PUSH2 0x2238 DUP4 PUSH1 0x1 PUSH2 0x3D77 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE DUP4 SLOAD DUP5 SWAP1 DUP1 PUSH2 0x225A JUMPI PUSH2 0x225A PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP4 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE POP POP POP POP POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 DUP1 DUP3 ADD DUP4 SSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP7 SWAP1 SSTORE DUP4 SLOAD SWAP6 DUP2 MSTORE SWAP3 ADD SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22C8 PUSH2 0x230E JUMP JUMPDEST PUSH1 0x17 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND DUP5 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 SWAP2 POP PUSH32 0xFD9F033C3B3A54E30CFE5BF2BC66DEA3BAC111D66ECC2C03A2BCC1C5CCDD0250 SWAP1 PUSH1 0x20 ADD PUSH2 0x773 JUMP JUMPDEST PUSH32 0xC1A7BCDC0C77E8C77ADE4541D1777901AB96CA598D164D89AFA5C8DFBFC44300 SWAP1 JUMP JUMPDEST PUSH32 0xB6909058BD527140B8D55A44344C5E42F1F148F1B3B16DF7641882DF8DD72900 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x10 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 SWAP1 PUSH2 0x2377 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 EQ PUSH2 0x23FF JUMPI PUSH1 0x0 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2394 JUMPI PUSH2 0x2394 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD SWAP1 POP DUP1 DUP4 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x23B7 JUMPI PUSH2 0x23B7 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 DUP5 SLOAD PUSH1 0x3 SWAP1 SWAP4 MUL ADD SWAP2 DUP3 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SLOAD SWAP1 DUP4 ADD SSTORE PUSH1 0x2 SWAP4 DUP5 ADD SLOAD SWAP4 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP8 DUP2 MSTORE PUSH1 0x11 DUP10 ADD DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SLOAD DUP3 MSTORE SWAP3 SWAP1 SWAP2 MSTORE KECCAK256 DUP4 SWAP1 SSTORE JUMPDEST DUP2 DUP1 SLOAD DUP1 PUSH2 0x240F JUMPI PUSH2 0x240F PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 PUSH1 0x3 PUSH1 0x0 NOT SWAP1 SWAP5 ADD SWAP4 DUP5 MUL ADD DUP3 DUP2 SSTORE PUSH1 0x1 DUP2 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x2 SWAP1 SWAP2 ADD DUP4 SWAP1 SSTORE SWAP3 SWAP1 SWAP4 SSTORE DUP8 DUP2 MSTORE PUSH1 0x11 DUP10 ADD DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP9 DUP4 MSTORE DUP5 MSTORE DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x13 DUP11 ADD DUP5 MSTORE DUP1 DUP3 KECCAK256 PUSH1 0x14 DUP12 ADD DUP6 MSTORE DUP2 DUP4 KECCAK256 DUP11 DUP5 MSTORE SWAP1 SWAP5 MSTORE DUP2 KECCAK256 SLOAD DUP4 SLOAD SWAP1 SWAP3 PUSH2 0x247D SWAP2 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 EQ PUSH2 0x24E5 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x249A JUMPI PUSH2 0x249A PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x24BA JUMPI PUSH2 0x24BA PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP10 DUP2 MSTORE PUSH1 0x14 DUP13 ADD DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 DUP3 MSTORE SWAP3 SWAP1 SWAP2 MSTORE KECCAK256 DUP3 SWAP1 SSTORE JUMPDEST DUP3 DUP1 SLOAD DUP1 PUSH2 0x24F5 JUMPI PUSH2 0x24F5 PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 DUP4 ADD PUSH1 0x0 NOT SWAP1 DUP2 ADD DUP4 SWAP1 SSTORE SWAP1 SWAP3 ADD SWAP1 SWAP3 SSTORE SWAP8 DUP2 MSTORE PUSH1 0x14 SWAP1 SWAP10 ADD DUP8 MSTORE POP POP PUSH1 0x40 DUP1 DUP9 KECCAK256 SWAP7 DUP9 MSTORE SWAP6 SWAP1 SWAP5 MSTORE POP POP POP SWAP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x18 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x254E SWAP1 PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x258A PUSH2 0x256A NUMBER PUSH2 0x33F8 JUMP JUMPDEST PUSH2 0x2573 DUP4 PUSH2 0x34D6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x18 DUP8 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0x350A JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 ISZERO DUP1 ISZERO PUSH2 0x25B1 JUMPI POP PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO ISZERO JUMPDEST SWAP1 POP DUP1 PUSH2 0x25E8 JUMPI PUSH2 0x25C3 DUP7 PUSH1 0x0 PUSH2 0x21A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE DUP7 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x40E9 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x4 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH6 0xFFFFFFFFFFFF AND ISZERO DUP1 ISZERO PUSH2 0x260B JUMPI POP DUP4 JUMPDEST ISZERO PUSH2 0x2692 JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x4 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF NOT AND PUSH6 0xFFFFFFFFFFFF DUP6 DUP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x6 DUP9 ADD SLOAD DUP8 SWAP2 PUSH32 0x502689EEFFD57AE8470E1D86A4A8CD293A44BFBBD2429CB375DA3D901A3DD80F SWAP2 DUP7 SWAP2 PUSH2 0x2672 SWAP2 AND DUP3 PUSH2 0x3F46 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2680 SWAP3 SWAP2 SWAP1 PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 SWAP2 POP POP PUSH2 0x1D39 JUMP JUMPDEST PUSH1 0x6 DUP8 ADD SLOAD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x4 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x26BD SWAP2 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP2 AND PUSH2 0x3F46 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND DUP4 PUSH6 0xFFFFFFFFFFFF AND GT DUP1 ISZERO PUSH2 0x26D8 JUMPI POP DUP4 JUMPDEST ISZERO PUSH2 0x27EC JUMPI PUSH1 0xB DUP8 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x59494325 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB292864A SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2728 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x274C SWAP2 SWAP1 PUSH2 0x3F6C JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x9 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2776 JUMPI PUSH2 0x2776 PUSH2 0x3F8D JUMP JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xB DUP8 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x399A2AB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE668AAC SWAP1 PUSH2 0x27B0 SWAP1 DUP10 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x4 ADD PUSH2 0x3FA3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x27CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x27DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 SWAP2 POP POP PUSH2 0x1D39 JUMP JUMPDEST POP PUSH1 0x1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x13 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 DUP1 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x2C23 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2829 JUMPI PUSH2 0x2829 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 ADD SLOAD PUSH1 0xF DUP10 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE SWAP2 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x287E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28A2 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2B60 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 DUP10 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x11 DUP13 ADD DUP4 MSTORE DUP2 DUP5 KECCAK256 DUP12 DUP6 MSTORE SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x2902 JUMPI POP DUP9 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x28ED JUMPI PUSH2 0x28ED PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x2924 JUMPI DUP4 DUP10 PUSH1 0x40 MLOAD PUSH4 0x33B11F83 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2938 JUMPI PUSH2 0x2938 PUSH2 0x3CD1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x1 PUSH1 0x3 SWAP1 SWAP3 MUL ADD DUP2 ADD SLOAD DUP6 SLOAD SWAP1 SWAP4 POP PUSH2 0x295B SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 EQ PUSH2 0x2A14 JUMPI DUP4 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2976 JUMPI PUSH2 0x2976 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD DUP5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x2996 JUMPI PUSH2 0x2996 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 DUP3 ADD SLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP DUP3 DUP13 PUSH1 0x11 ADD PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x29EF JUMPI PUSH2 0x29EF PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 DUP1 SLOAD DUP1 PUSH2 0x2A24 JUMPI PUSH2 0x2A24 PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 PUSH1 0x3 PUSH1 0x0 NOT SWAP1 SWAP5 ADD SWAP4 DUP5 MUL ADD DUP3 DUP2 SSTORE PUSH1 0x1 DUP2 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x2 SWAP1 SWAP2 ADD DUP4 SWAP1 SSTORE SWAP3 SWAP1 SWAP4 SSTORE DUP9 DUP2 MSTORE PUSH1 0x11 DUP16 ADD DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP16 DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 DUP3 KECCAK256 DUP3 SWAP1 SSTORE DUP11 SLOAD PUSH2 0x2A77 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP9 EQ PUSH2 0x2AEF JUMPI PUSH1 0x0 DUP11 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2A94 JUMPI PUSH2 0x2A94 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP12 DUP11 DUP2 SLOAD DUP2 LT PUSH2 0x2AB4 JUMPI PUSH2 0x2AB4 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP2 SWAP1 SSTORE POP DUP9 DUP15 PUSH1 0x14 ADD PUSH1 0x0 DUP16 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST DUP10 DUP1 SLOAD DUP1 PUSH2 0x2AFF JUMPI PUSH2 0x2AFF PUSH2 0x3F30 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 DUP4 ADD PUSH1 0x0 NOT SWAP1 DUP2 ADD DUP4 SWAP1 SSTORE SWAP1 SWAP3 ADD SWAP1 SWAP3 SSTORE DUP14 DUP3 MSTORE PUSH1 0x14 DUP16 ADD DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP11 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE DUP9 SWAP2 DUP15 SWAP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4129 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 DUP10 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x11 DUP13 ADD DUP4 MSTORE DUP2 DUP5 KECCAK256 DUP12 DUP6 MSTORE SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x2BB9 JUMPI POP DUP9 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2BA4 JUMPI PUSH2 0x2BA4 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x2BDB JUMPI DUP4 DUP10 PUSH1 0x40 MLOAD PUSH4 0x33B11F83 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP3 SWAP2 SWAP1 PUSH2 0x3D50 JUMP JUMPDEST DUP2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2BED JUMPI PUSH2 0x2BED PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP7 PUSH2 0x2C0A SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP6 POP DUP5 PUSH2 0x2C16 DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP6 POP POP POP POP JUMPDEST POP POP PUSH2 0x280C JUMP JUMPDEST PUSH2 0x1971 DUP7 DUP7 DUP5 PUSH2 0x255E JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x2C6C JUMPI PUSH2 0x2C56 DUP4 PUSH2 0x2C48 PUSH1 0x1 DUP5 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x2C6F JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 PUSH2 0x2DA3 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP7 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 TIMESTAMP PUSH1 0x2 SWAP1 SWAP2 ADD SSTORE PUSH1 0x1 DUP1 DUP10 ADD DUP1 SLOAD DUP1 DUP4 ADD DUP3 SSTORE SWAP1 DUP6 MSTORE SWAP3 SWAP1 SWAP4 KECCAK256 SWAP1 SWAP2 ADD DUP7 SWAP1 SSTORE PUSH1 0xB DUP9 ADD SLOAD SWAP1 MLOAD PUSH4 0x399A2AB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xE668AAC SWAP2 PUSH2 0x2CDB SWAP2 DUP9 SWAP2 PUSH1 0x4 ADD PUSH2 0x3FA3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2CF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2D09 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x0 PUSH2 0x2D36 PUSH32 0x5830F0E95C01712D916C34D9E2FA42E9F749B325B67BCE7382D70BB99C623500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD SWAP2 DUP11 SWAP1 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SWAP2 MLOAD SWAP3 SWAP4 POP DUP8 SWAP3 PUSH32 0x181C8615E49DC4EAED218E1D225E4A34A0FB364FC70601A191573DAA19D57EDA SWAP3 PUSH2 0x2D95 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH1 0x1 SWAP2 DUP3 ADD SWAP2 SWAP1 PUSH2 0x3FD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH2 0x2E23 JUMP JUMPDEST DUP2 PUSH2 0x2E23 JUMPI PUSH1 0xB DUP7 ADD SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x9 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SLOAD SWAP1 MLOAD PUSH4 0x399A2AB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xE668AAC SWAP2 PUSH2 0x2DF0 SWAP2 DUP9 SWAP2 PUSH1 0xFF AND SWAP1 PUSH1 0x4 ADD PUSH2 0x3FA3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2E0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2E1E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x2E42 JUMPI POP PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO ISZERO JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2E55 JUMPI PUSH2 0x2E55 DUP6 PUSH1 0x1 PUSH2 0x1782 JUMP JUMPDEST POP POP POP PUSH1 0x0 SWAP2 DUP3 MSTORE POP PUSH1 0x4 SWAP1 SWAP3 ADD PUSH1 0x20 MSTORE POP PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x17 DUP7 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2EA0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7BD63419 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP7 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x2ECF JUMPI PUSH1 0x40 MLOAD PUSH4 0x18F58AF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EF1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3126F1AB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x5E5 JUMP JUMPDEST DUP3 ISZERO DUP1 PUSH2 0x2EFC JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x2F1A JUMPI PUSH1 0x40 MLOAD PUSH4 0x2C578E45 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH3 0x491FCF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH3 0x923F9E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2F63 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2F87 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x3005 JUMPI POP PUSH1 0xF DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x1975E309 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x32EBC612 SWAP1 PUSH2 0x2FC2 SWAP1 CALLER SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3D5E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2FDF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3003 SWAP2 SWAP1 PUSH2 0x3CE7 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x3023 JUMPI PUSH1 0x40 MLOAD PUSH4 0x26A2091B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP7 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x34045917 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xD011645C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x306F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3093 SWAP2 SWAP1 PUSH2 0x3C9E JUMP JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP SUB PUSH2 0x30C9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2E8E471B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP9 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 PUSH2 0x30E9 DUP10 DUP8 PUSH2 0x3525 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP4 GT PUSH2 0x30FB JUMPI PUSH1 0x0 PUSH2 0x3105 JUMP JUMPDEST PUSH2 0x3105 DUP3 DUP5 PUSH2 0x3DA3 JUMP JUMPDEST SWAP1 POP DUP1 DUP7 GT ISZERO PUSH2 0x312E JUMPI DUP7 DUP2 DUP8 PUSH1 0x40 MLOAD PUSH4 0x99EE8A3 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x409A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x313B DUP12 DUP10 DUP12 PUSH2 0x31CB JUMP JUMPDEST PUSH1 0x15 DUP13 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x314D DUP9 DUP4 PUSH2 0x3D77 JUMP JUMPDEST GT ISZERO PUSH2 0x3176 JUMPI DUP8 DUP10 DUP13 PUSH1 0x15 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x87B212FD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x409A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3182 DUP13 DUP12 PUSH2 0x2535 JUMP JUMPDEST PUSH1 0x16 DUP14 ADD SLOAD SWAP1 SWAP2 POP PUSH2 0x3194 DUP10 DUP4 PUSH2 0x3D77 JUMP JUMPDEST GT ISZERO PUSH2 0x31BD JUMPI DUP10 DUP2 DUP14 PUSH1 0x16 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x3430A843 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x409A JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SUB PUSH2 0x31ED JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x2C6F JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x11 DUP7 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP2 SLOAD DUP2 LT ISZERO DUP1 PUSH2 0x323C JUMPI POP DUP4 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x3227 JUMPI PUSH2 0x3227 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x324C JUMPI PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x2C6F JUMP JUMPDEST DUP2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x325E JUMPI PUSH2 0x325E PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP2 ISZERO PUSH2 0x3320 JUMPI PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x11 DUP8 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x32A7 DUP5 DUP5 PUSH2 0x3D77 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x10 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x32C9 JUMPI PUSH2 0x32C9 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP2 DUP8 PUSH1 0x10 ADD PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x3305 JUMPI PUSH2 0x3305 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP POP PUSH2 0x33F0 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x10 DUP8 ADD PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP2 MLOAD PUSH1 0x60 DUP2 ADD DUP4 MSTORE DUP10 DUP2 MSTORE DUP1 DUP5 ADD DUP10 DUP2 MSTORE SWAP3 DUP2 ADD DUP8 DUP2 MSTORE DUP3 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP6 SSTORE DUP5 DUP10 MSTORE DUP7 DUP10 KECCAK256 SWAP4 MLOAD PUSH1 0x3 SWAP1 SWAP3 MUL SWAP1 SWAP4 ADD SWAP1 DUP2 SSTORE SWAP4 MLOAD DUP5 DUP4 ADD SSTORE MLOAD PUSH1 0x2 SWAP1 SWAP4 ADD SWAP3 SWAP1 SWAP3 SSTORE SWAP4 DUP10 SWAP1 MSTORE SWAP2 SWAP1 MSTORE SWAP1 SLOAD PUSH2 0x3389 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x11 DUP9 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE PUSH1 0x13 DUP10 ADD DUP2 MSTORE SWAP2 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE DUP3 DUP5 MSTORE SWAP4 DUP4 KECCAK256 ADD DUP9 SWAP1 SSTORE SWAP1 DUP7 SWAP1 MSTORE SLOAD PUSH2 0x33D3 SWAP2 SWAP1 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x14 DUP9 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP10 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x342B JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x5E5 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x348E JUMPI PUSH1 0x0 PUSH2 0x344A DUP5 PUSH2 0x3584 JUMP JUMPDEST PUSH2 0x3454 SWAP1 DUP6 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x347E JUMPI DUP1 SWAP2 POP PUSH2 0x348C JUMP JUMPDEST PUSH2 0x3489 DUP2 PUSH1 0x1 PUSH2 0x3D77 JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x349C DUP8 DUP8 DUP6 DUP6 PUSH2 0x366C JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x34C9 JUMPI PUSH2 0x34B3 DUP8 PUSH2 0x2C48 PUSH1 0x1 DUP5 PUSH2 0x3DA3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x1E52 JUMP JUMPDEST PUSH1 0x0 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x342B JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x5E5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3518 DUP6 DUP6 DUP6 PUSH2 0x36D1 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x10 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 DUP1 JUMPDEST DUP3 SLOAD DUP2 LT ISZERO PUSH2 0x1971 JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x3553 JUMPI PUSH2 0x3553 PUSH2 0x3CD1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD DUP3 PUSH2 0x3570 SWAP2 SWAP1 PUSH2 0x3D77 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x357C DUP2 PUSH2 0x3D37 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3538 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x3596 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x35A3 DUP5 PUSH2 0x384B JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x35BC JUMPI PUSH2 0x35BC PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x35D4 JUMPI PUSH2 0x35D4 PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x35EC JUMPI PUSH2 0x35EC PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3604 JUMPI PUSH2 0x3604 PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x361C JUMPI PUSH2 0x361C PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x3634 JUMPI PUSH2 0x3634 PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x364C JUMPI PUSH2 0x364C PUSH2 0x40B0 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x2C6F DUP2 DUP3 DUP6 DUP2 PUSH2 0x3666 JUMPI PUSH2 0x3666 PUSH2 0x40B0 JUMP JUMPDEST DIV PUSH2 0x38DF JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x36C6 JUMPI PUSH1 0x0 PUSH2 0x3683 DUP5 DUP5 PUSH2 0x38F5 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x36B2 JUMPI DUP1 SWAP3 POP PUSH2 0x36C0 JUMP JUMPDEST PUSH2 0x36BD DUP2 PUSH1 0x1 PUSH2 0x3D77 JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x366F JUMP JUMPDEST POP DUP1 JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x37F0 JUMPI PUSH1 0x0 PUSH2 0x36EF DUP8 PUSH2 0x2C48 PUSH1 0x1 DUP6 PUSH2 0x3DA3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x3743 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x378F JUMPI DUP5 PUSH2 0x3766 DUP9 PUSH2 0x2C48 PUSH1 0x1 DUP7 PUSH2 0x3DA3 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x37E0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x351D SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x351D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x3860 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x3872 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x3884 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x3896 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x38A8 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x38BA JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x38CC JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x661 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x38EE JUMPI DUP2 PUSH2 0x2C6F JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3904 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x40C6 JUMP JUMPDEST PUSH2 0x2C6F SWAP1 DUP5 DUP5 AND PUSH2 0x3D77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3922 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x394D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x395F DUP2 PUSH2 0x3929 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x397C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x40 SWAP1 DUP2 DUP6 ADD SWAP1 DUP7 DUP5 ADD DUP6 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x39CE JUMPI DUP2 MLOAD DUP1 MLOAD DUP6 MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP7 ADD MSTORE DUP6 ADD MLOAD DUP6 DUP6 ADD MSTORE PUSH1 0x60 SWAP1 SWAP4 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x399F JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3A1C JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x39F7 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2C6F DUP2 PUSH2 0x3929 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x3937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3A72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH2 0x3A92 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH2 0x3AA2 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x3AB2 DUP2 PUSH2 0x3A45 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3A1C JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x3ADC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3B0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x395F DUP2 PUSH2 0x3A45 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3B30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3B58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH2 0x3B78 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH2 0x3B88 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x3AB2 DUP2 PUSH2 0x3929 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2C6F DUP2 PUSH2 0x3A45 JUMP JUMPDEST PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x3937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2C6F DUP2 PUSH2 0x3BB5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3937 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3C08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2C6F DUP2 PUSH2 0x3BE1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3C2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x3C44 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x3C54 DUP2 PUSH2 0x3929 JUMP JUMPDEST SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH2 0x3C64 DUP2 PUSH2 0x3A45 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3C87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3CB0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2C6F DUP2 PUSH2 0x3BB5 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3CF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2C6F DUP2 PUSH2 0x3929 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2C6F DUP2 PUSH2 0x3BE1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x3D49 JUMPI PUSH2 0x3D49 PUSH2 0x3D21 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x661 JUMPI PUSH2 0x661 PUSH2 0x3D21 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x661 JUMPI PUSH2 0x661 PUSH2 0x3D21 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x3DF1 JUMPI PUSH2 0x3DF1 PUSH2 0x3CBB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x3E1F JUMPI PUSH2 0x3E1F PUSH2 0x3CBB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3E3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x3E51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3E65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x3E77 JUMPI PUSH2 0x3E77 PUSH2 0x3CBB JUMP JUMPDEST PUSH2 0x3E85 DUP5 DUP3 PUSH1 0x5 SHL ADD PUSH2 0x3DF7 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0xA0 SWAP2 DUP3 MUL DUP5 ADD DUP6 ADD SWAP2 DUP6 DUP3 ADD SWAP2 SWAP1 DUP10 DUP5 GT ISZERO PUSH2 0x3EA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP7 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x3F23 JUMPI DUP1 DUP7 DUP12 SUB SLT ISZERO PUSH2 0x3EC1 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x3EC9 PUSH2 0x3DCF JUMP JUMPDEST DUP7 MLOAD DUP2 MSTORE DUP8 DUP8 ADD MLOAD PUSH2 0x3EDA DUP2 PUSH2 0x3BB5 JUMP JUMPDEST DUP2 DUP10 ADD MSTORE PUSH1 0x40 DUP8 DUP2 ADD MLOAD DUP8 DUP2 AND DUP2 EQ PUSH2 0x3EF3 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP8 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH1 0x80 DUP1 DUP9 ADD MLOAD PUSH2 0x3F10 DUP2 PUSH2 0x3A45 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP4 MSTORE SWAP5 DUP6 ADD SWAP5 SWAP2 DUP7 ADD SWAP2 PUSH2 0x3EA9 JUMP JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x3F65 JUMPI PUSH2 0x3F65 PUSH2 0x3D21 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3F7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x4 DUP2 LT PUSH2 0x2C6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 DUP2 ADD PUSH1 0x4 DUP4 LT PUSH2 0x3FC8 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x60 DUP2 DUP5 ADD MSTORE PUSH1 0x0 DUP6 SLOAD DUP2 PUSH1 0x1 DUP3 DUP2 SHR SWAP2 POP DUP1 DUP4 AND DUP1 PUSH2 0x4005 JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST DUP6 DUP4 LT DUP2 SUB PUSH2 0x4022 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP6 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP6 REVERT JUMPDEST PUSH1 0x60 DUP9 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP9 ADD DUP2 DUP1 ISZERO PUSH2 0x4041 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x4057 JUMPI PUSH2 0x4082 JUMP JUMPDEST PUSH1 0xFF NOT DUP7 AND DUP3 MSTORE DUP5 ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD SWAP7 POP PUSH2 0x4082 JUMP JUMPDEST PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x0 JUMPDEST DUP7 DUP2 LT ISZERO PUSH2 0x407C JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP6 ADD SWAP1 DUP10 ADD PUSH2 0x4063 JUMP JUMPDEST DUP4 ADD SWAP8 POP POP JUMPDEST POP POP POP POP DUP7 ISZERO ISZERO PUSH1 0x40 DUP8 ADD MSTORE POP SWAP1 SWAP3 POP PUSH2 0x36C9 SWAP2 POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x40E3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP INVALID CODECOPY 0xED CALLDATALOAD DUP13 0xA6 JUMP SWAP10 INVALID 0xE4 ADDMOD EXTCODESIZE 0xEB DUP5 RETURN 0xD9 SHR 0xE2 KECCAK256 SHL 0xB0 0xC8 SWAP9 MSIZE BALANCE PUSH32 0xC5BE02231609ED1193CED031B3229DA69FAB9691642274E1EA2625DFCE996713 0x5E PUSH14 0x5E6029D22075A2C0F7478DC6B5E0 0x1E BALANCE PUSH11 0x7FC6B72D32D90CA051D89 DUP12 0x5D NOT DUP4 STOP 0xD1 0xA7 0xC0 CALLDATASIZE LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD3 SELFBALANCE 0x2B PUSH19 0x6DD15F96C27ABB83DB70CEA59EB40259FB2C9 ADDRESS LT 0xF9 PUSH12 0xF95812C4E164736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"1998:41838:135:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9390:139;;;:::i;:::-;;;168:25:150;;;156:2;141:18;9390:139:135;;;;;;;;32747:409;;;;;;;;;;-1:-1:-1;32747:409:135;;;;;:::i;:::-;;:::i;:::-;;10128:223;;;;;;:::i;:::-;;:::i;:::-;;;1095:14:150;;1088:22;1070:41;;1058:2;1043:18;10128:223:135;922:195:150;11701:144:135;;;:::i;17330:694::-;;;;;;;;;;-1:-1:-1;17330:694:135;;;;;:::i;:::-;;:::i;8097:300::-;;;;;;:::i;:::-;;:::i;12149:220::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6122:735::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23163:146::-;;;;;;;;;;-1:-1:-1;23163:146:135;;;;;:::i;:::-;;:::i;10816:155::-;;;:::i;20320:461::-;;;;;;;;;;-1:-1:-1;20320:461:135;;;;;:::i;:::-;;:::i;28396:2074::-;;;;;;;;;;-1:-1:-1;28396:2074:135;;;;;:::i;:::-;;:::i;22074:411::-;;;;;;;;;;-1:-1:-1;22074:411:135;;;;;:::i;:::-;;:::i;11123:141::-;;;:::i;7031:172::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;15066:872::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;5227:13:150;;5209:32;;5297:4;5285:17;;;5279:24;5257:20;;;5250:54;5360:4;5348:17;;;5342:24;5320:20;;;5313:54;5423:4;5411:17;;;5405:24;5383:20;;;5376:54;;;;5196:3;5181:19;;4988:448;33632:1212:135;;;;;;;;;;-1:-1:-1;33632:1212:135;;;;;:::i;:::-;;:::i;21444:296::-;;;;;;;;;;-1:-1:-1;21444:296:135;;;;;:::i;:::-;;:::i;12637:534::-;;;;;;:::i;:::-;;:::i;4995:187::-;;;;;;:::i;:::-;;:::i;19766:303::-;;;;;;;;;;-1:-1:-1;19766:303:135;;;;;:::i;:::-;;:::i;24143:1030::-;;;;;;;;;;-1:-1:-1;24143:1030:135;;;;;:::i;:::-;;:::i;5440:411::-;;;;;;:::i;:::-;;:::i;21015:170::-;;;;;;;;;;-1:-1:-1;21015:170:135;;;;;:::i;:::-;;:::i;9042:141::-;;;:::i;19258:297::-;;;;;;;;;;-1:-1:-1;19258:297:135;;;;;:::i;:::-;;:::i;8642:182::-;;;;;;:::i;:::-;;:::i;11420:144::-;;;:::i;7424:443::-;;;;;;:::i;:::-;;:::i;16370:610::-;;;;;;:::i;:::-;;:::i;10514:150::-;;;:::i;13378:431::-;;;;;;:::i;:::-;;:::i;31076:1414::-;;;;;;;;;;-1:-1:-1;31076:1414:135;;;;;:::i;:::-;;:::i;14124:603::-;;;;;;:::i;:::-;;:::i;37401:1799::-;;;;;;;;;;-1:-1:-1;37401:1799:135;;;;;:::i;:::-;;:::i;9692:161::-;;;:::i;18383:656::-;;;;;;;;;;-1:-1:-1;18383:656:135;;;;;:::i;:::-;;:::i;22711:245::-;;;;;;;;;;-1:-1:-1;22711:245:135;;;;;:::i;:::-;;:::i;9390:139::-;9439:7;9461:47;:45;:47::i;:::-;:63;;;9454:70;;9390:139;:::o;32747:409::-;32807:61;32871:47;:45;:47::i;:::-;32967:1;32928:24;;;;;;;;;;:27;32807:111;;-1:-1:-1;32924:81:135;;32978:27;;-1:-1:-1;;;32978:27:135;;;;;168:25:150;;;141:18;;32978:27:135;;;;;;;;32924:81;33015:17;:24;;;;;;;;;;:43;;;:48;33011:101;;33072:40;;-1:-1:-1;;;33072:40:135;;;;;168:25:150;;;141:18;;33072:40:135;14:185:150;33011:101:135;33118:33;33139:5;33146:4;33118:20;:33::i;:::-;32801:355;32747:409;:::o;10128:223::-;10211:4;10227:13;10223:31;;;-1:-1:-1;10249:5:135;10242:12;;10223:31;10345:1;10267:47;:45;:47::i;:::-;:75;;;;:68;;;;;:75;;;;;;:79;;-1:-1:-1;10128:223:135;;;;;:::o;11701:144::-;11754:4;11773:47;:45;:47::i;:::-;:67;;;;;;;;;;-1:-1:-1;11701:144:135:o;17330:694::-;17430:51;17484:47;:45;:47::i;:::-;17561:1;17566:27;17537:26;;;:23;;;;:26;;;;;;;;17566:27;;17537:56;;17623:1;17599:26;;;;;17628;;;;17599:55;;;17660:26;;;;;;17689;;;;17660:55;;17745:1;17721:26;;;;;17750;;;;17721:55;;17806:1;17782:26;;;;;17811:28;;;;17782:57;;17869:1;17845:26;;;;;17874:27;;;;17845:56;;17931:1;17907:26;;;;;;17936:27;;;;17907:56;;17974:45;17430:101;;-1:-1:-1;17974:45:135;;;;17566:18;;9967:4:150;10009:3;9998:9;9994:19;9986:27;;10053:6;10040:20;10029:9;10022:39;10124:4;10116:6;10112:17;10099:31;10092:4;10081:9;10077:20;10070:61;10194:4;10186:6;10182:17;10169:31;10162:4;10151:9;10147:20;10140:61;10264:4;10256:6;10252:17;10239:31;10232:4;10221:9;10217:20;10210:61;10334:4;10326:6;10322:17;10309:31;10302:4;10291:9;10287:20;10280:61;10404:4;10396:6;10392:17;10379:31;10372:4;10361:9;10357:20;10350:61;10474:4;10466:6;10462:17;10449:31;10442:4;10431:9;10427:20;10420:61;9799:688;;;;;17974:45:135;;;;;;;;17424:600;17330:694;:::o;8097:300::-;8169:7;8184:51;8238:47;:45;:47::i;:::-;8309:14;;;;:36;;-1:-1:-1;;;8309:36:135;;;;;168:25:150;;;8309:14:135;;-1:-1:-1;8291:15:135;;-1:-1:-1;;;;;8309:14:135;;;;:28;;141:18:150;;8309:36:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8358:34;;;;;;:23;;;;:34;;-1:-1:-1;8358:34:135;;;;;8097:300;-1:-1:-1;;8097:300:135:o;12149:220::-;12231:43;12289:47;:45;:47::i;:::-;:67;;:75;12357:6;12289:75;;;;;;;;;;;12282:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12149:220;;;:::o;6122:735::-;6182:16;6206:51;6260:47;:45;:47::i;:::-;6313:25;6341:26;;;:19;;;:26;;;;;6390:14;;6206:101;;-1:-1:-1;6341:26:135;6390:14;;-1:-1:-1;;;;;6439:21:135;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6439:21:135;;6410:50;;6466:13;6491:9;6486:292;6506:6;6502:1;:10;6486:292;;;6527:14;6544:7;6552:1;6544:10;;;;;;;;:::i;:::-;;;;;;;;;;;6567:14;;;;:34;;-1:-1:-1;;;6567:34:135;;;;;168:25:150;;;6544:10:135;;-1:-1:-1;;;;;;6567:14:135;;:26;;141:18:150;;6567:34:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6562:49;;6603:8;;;6562:49;6637:14;;;;:38;;-1:-1:-1;;;6637:38:135;;;;;168:25:150;;;6619:15:135;;-1:-1:-1;;;;;6637:14:135;;:30;;141:18:150;;6637:38:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6619:56;-1:-1:-1;;;;;;6687:21:135;;;6683:89;;6739:7;6720:9;6730:5;6720:16;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6720:26:135;;;:16;;;;;;;;;;;:26;6756:7;;;;:::i;:::-;;;;6683:89;6519:259;;6486:292;6514:3;;;;:::i;:::-;;;;6486:292;;;-1:-1:-1;6801:24:135;;6808:9;6122:735;-1:-1:-1;;;;;6122:735:135:o;23163:146::-;23295:9;23225:47;:45;:47::i;:::-;:67;;:79;;;;;;;-1:-1:-1;;23225:79:135;;;;;;;;;-1:-1:-1;23163:146:135:o;10816:155::-;10873:7;10895:47;:45;:47::i;:::-;:71;;;10888:78;;10816:155;:::o;20320:461::-;20400:51;20454:47;:45;:47::i;:::-;20400:101;;20528:1;:18;;;20511:14;:35;20507:130;;;20611:18;;;;20563:67;;-1:-1:-1;;;20563:67:135;;;;20595:14;;20563:67;;;:::i;20507:130::-;20647:78;20680:1;:28;;;20710:14;20647:78;;;;;;;:::i;:::-;;;;;;;;20731:28;;:45;20320:461::o;28396:2074::-;28565:18;28591:51;28645:47;:45;:47::i;:::-;28591:101;;28707:61;28771:47;:45;:47::i;:::-;28830:21;;;;28707:111;;-1:-1:-1;28830:21:135;;28826:54;;;28860:20;;-1:-1:-1;;;28860:20:135;;;;;;;;;;;28826:54;28931:1;28892:24;;;;;;;;;;:27;28888:81;;28942:27;;-1:-1:-1;;;28942:27:135;;;;;168:25:150;;;141:18;;28942:27:135;14:185:150;28888:81:135;-1:-1:-1;28987:14:135;;;;:34;;-1:-1:-1;;;28987:34:135;;;;;168:25:150;;;-1:-1:-1;;;;;28987:14:135;;;;:26;;141:18:150;;28987:34:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28986:35;:89;;;-1:-1:-1;29026:14:135;;;;:49;;-1:-1:-1;;;29026:49:135;;-1:-1:-1;;;;;29026:14:135;;;;:29;;:49;;29056:10;;29068:6;;29026:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29025:50;28986:89;28982:138;;;29092:21;;-1:-1:-1;;;29092:21:135;;;;;;;;;;;28982:138;29126:22;29222:29;;;:21;;;:29;;;;;29263:19;;:24;;29259:56;;29296:19;;-1:-1:-1;;;29296:19:135;;;;;;;;;;;29259:56;29324:13;29340:37;;;:29;;;:37;;;;;;;;:44;;;;;;;;;29405:19;;29396:28;;;;:66;;;29457:5;29428:12;29441:5;29428:19;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;:34;;29396:66;29392:117;;;29481:19;;-1:-1:-1;;;29481:19:135;;;;;;;;;;;29392:117;29607:1;:17;;;29569:12;29582:5;29569:19;;;;;;;;:::i;:::-;;;;;;;;;;;:35;;;:55;;;;:::i;:::-;29521:1;:28;;;;;;;;;;-1:-1:-1;;;;;29521:28:135;-1:-1:-1;;;;;29521:43:135;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:103;29517:168;;;29662:6;29670:5;29643:33;;-1:-1:-1;;;29643:33:135;;;;;;;;;:::i;29517:168::-;29693:21;29717:12;29730:5;29717:19;;;;;;;;:::i;:::-;;;;;;;;;;;:26;;;29693:50;;29768:6;29778:1;29768:11;:36;;29798:6;29768:36;;;29782:13;29768:36;29751:53;;29833:13;29816:14;:30;29812:64;;;29855:21;;-1:-1:-1;;;29855:21:135;;;;;;;;;;;29812:64;29907:13;29889:14;:31;29885:168;;29932:43;29951:1;29954:6;29962:5;29969;29932:18;:43::i;:::-;29885:168;;;30030:14;30000:12;30013:5;30000:19;;;;;;;;:::i;:::-;;;;;;;;;;;:26;;;:44;;;;;;;:::i;:::-;;;;-1:-1:-1;;29885:168:135;29154:905;;;30065:16;30106:14;30084:19;30094:1;30097:5;30084:9;:19::i;:::-;:36;;;;:::i;:::-;30065:55;;30126:29;30136:1;30139:5;30146:8;30126:9;:29::i;:::-;30188:6;30181:5;-1:-1:-1;;;;;;;;;;;30196:14:135;30167:44;;;;168:25:150;;156:2;141:18;;14:185;30167:44:135;;;;;;;;30223:13;30222:14;:31;;;;30240:13;30222:31;30218:72;;;30270:13;30263:20;;;;;;;30218:72;30311:1;:28;;;30300:8;:39;30296:152;;;30356:85;30395:1;30398:5;30405:13;30420;30435:5;30356:38;:85::i;:::-;30349:92;;;;;;;30296:152;30461:4;30454:11;;;;;28396:2074;;;;;;;;;:::o;22074:411::-;22136:51;22190:47;:45;:47::i;:::-;22136:101;;22259:1;:28;;;22247:9;:40;22243:138;;;22345:28;;;;22304:70;;-1:-1:-1;;;22304:70:135;;;;22334:9;;22304:70;;;:::i;22243:138::-;22391:53;22414:1;:18;;;22434:9;22391:53;;;;;;;:::i;:::-;;;;;;;;22450:18;;:30;22074:411::o;11123:141::-;11173:7;11195:47;:45;:47::i;:::-;:64;;;11188:71;;11123:141;:::o;7031:172::-;7095:16;7126:47;:45;:47::i;:::-;:65;;:72;7192:5;7126:72;;;;;;;;;;;7119:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7031:172;;;:::o;15066:872::-;15132:49;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15132:49:135;15189:51;15243:47;:45;:47::i;:::-;15314:14;;;;:36;;-1:-1:-1;;;15314:36:135;;;;;168:25:150;;;15314:14:135;;-1:-1:-1;15296:15:135;;-1:-1:-1;;;;;15314:14:135;;;;:28;;141:18:150;;15314:36:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15375:34;;;;;;;:23;;;:34;;;;;;;;;15356:53;;15476:29;;;:21;;;:29;;;;;15534:28;;;;:45;;-1:-1:-1;;;15534:45:135;;;;15296:54;;-1:-1:-1;15476:29:135;;-1:-1:-1;;;;;15534:28:135;;;;:43;;:45;;;;;;;;;;;:28;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15511:68;;15591:9;15586:243;15606:19;;15602:23;;15586:243;;;15659:12;15672:1;15659:15;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;;15640:4;:15;;:41;;;;;;;:::i;:::-;;;-1:-1:-1;15742:17:135;;;;15708:15;;:12;;15721:1;;15708:15;;;;;;:::i;:::-;;;;;;;;;;;:31;;;:51;;;;:::i;:::-;15693:12;:66;15689:134;;;15792:12;15805:1;15792:15;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;;15771:4;:17;;:43;;;;;;;:::i;:::-;;;-1:-1:-1;15689:134:135;15627:3;;;;:::i;:::-;;;;15586:243;;;-1:-1:-1;15877:15:135;;;;15858:16;;:34;:75;;15932:1;15858:75;;;15914:15;;;;15895:16;;:34;;15914:15;15895:34;:::i;:::-;15835:20;;;:98;-1:-1:-1;15835:4:135;;15066:872;-1:-1:-1;;;;15066:872:135:o;33632:1212::-;33705:4;33717:61;33781:47;:45;:47::i;:::-;33717:111;-1:-1:-1;8551:30:136;33834:65:135;34020:47;:45;:47::i;:::-;34117:1;34078:24;;;;;;;;;;:27;33966:101;;-1:-1:-1;34074:81:135;;34128:27;;-1:-1:-1;;;34128:27:135;;;;;168:25:150;;;141:18;;34128:27:135;14:185:150;34074:81:135;34162:18;34183:29;;;:22;;;:29;;;;;;;;34218:31;;;;34244:5;34237:12;;;;;;;;34218:31;34330:13;34346:39;34376:1;34379:5;34346:29;:39::i;:::-;34391:14;34408:24;;;;;;;;;;:43;;;34330:55;;-1:-1:-1;34408:48:135;;;;;34391:14;34408:48;;34483:71;;-1:-1:-1;34496:44:135;;;;:37;;;:44;;;;;:53;;:51;:53::i;:::-;-1:-1:-1;;;;;34496:58:135;34553:1;34496:58;34483:71;34462:92;;34573:1;:28;;;34565:5;:36;34561:261;;;34618:85;34657:1;34660:5;34667:13;34682;34697:5;34618:38;:85::i;:::-;34611:92;;;;;;;;;;;34561:261;34724:91;34752:1;34755:11;34768:5;34775:9;34786:13;34801;34724:27;:91::i;:::-;-1:-1:-1;34835:4:135;;33632:1212;-1:-1:-1;;;;;;;;;33632:1212:135:o;21444:296::-;21513:51;21567:47;:45;:47::i;:::-;21513:101;;21625:67;21655:1;:25;;;21682:9;21625:67;;;;;;;:::i;:::-;;;;;;;;21698:25;;:37;21444:296::o;12637:534::-;12720:7;12735:51;12789:47;:45;:47::i;:::-;12842:57;12902:29;;;:21;;;:29;;;;;12941:19;;12735:101;;-1:-1:-1;12902:29:135;12941:24;;12937:38;;12974:1;12967:8;;;;;;12937:38;12981:13;12997:37;;;:29;;;:37;;;;;;;;:44;;;;;;;;;13060:19;;13051:28;;;;:66;;;13112:5;13083:12;13096:5;13083:19;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;:34;;13051:66;13047:80;;;13126:1;13119:8;;;;;;;13047:80;13140:12;13153:5;13140:19;;;;;;;;:::i;:::-;;;;;;;;;;;:26;;;13133:33;;;;;12637:534;;;;:::o;4995:187::-;5051:7;5081:95;:47;:45;:47::i;:::-;:86;;;;:79;;;;;:86;;;;;:93;:95::i;:::-;-1:-1:-1;;;;;5073:104:135;;4995:187;-1:-1:-1;;4995:187:135:o;19766:303::-;19840:51;19894:47;:45;:47::i;:::-;19840:101;;19952:64;19974:1;:17;;;19993:22;19952:64;;;;;;;:::i;:::-;;;;;;;;20022:17;;:42;19766:303::o;24143:1030::-;24309:61;24373:47;:45;:47::i;:::-;24309:111;;24426:51;24480:47;:45;:47::i;:::-;24426:101;;24534:74;24555:1;24558:11;24571:5;24578:6;24586;24594:13;24534:20;:74::i;:::-;24615:24;24642:46;24671:1;24674:6;24682:5;24642:28;:46::i;:::-;24615:73;;24694:109;24713:1;24716:6;24724:5;24731:6;24739:16;24757:1;:28;;;;;;;;;;-1:-1:-1;;;;;24757:28:135;-1:-1:-1;;;;;24757:43:135;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24694:18;:109::i;:::-;24809:16;24850:6;24828:19;24838:1;24841:5;24828:9;:19::i;:::-;:28;;;;:::i;:::-;24809:47;;24862:29;24872:1;24875:5;24882:8;24862:9;:29::i;:::-;24914:1;:28;;;24902:8;:40;24898:152;;24952:91;24980:1;24983:11;24996:5;25003:9;25014:13;25029;24952:27;:91::i;:::-;25075:14;;;;:38;;-1:-1:-1;;;25075:38:135;;;;;168:25:150;;;25056:16:135;;-1:-1:-1;;;;;25075:14:135;;:30;;141:18:150;;25075:38:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25056:57;;25143:6;25136:5;-1:-1:-1;;;;;;;;;;;25151:8:135;25161:6;25124:44;;;;;;;:::i;:::-;;;;;;;;24303:870;;;;;24143:1030;;;;;;:::o;5440:411::-;5526:7;5541:51;5595:47;:45;:47::i;:::-;5541:101;;5664:12;5652:9;:24;5648:89;;;5706:9;5717:12;5693:37;;-1:-1:-1;;;5693:37:135;;;;;;;;;:::i;5648:89::-;5757:88;5816:28;5834:9;5816:17;:28::i;:::-;5757:40;;;;:33;;;:40;;;;;;:58;:88::i;:::-;-1:-1:-1;;;;;5749:97:135;;5440:411;-1:-1:-1;;;;5440:411:135:o;21015:170::-;21088:37;21109:5;21116:8;21088:20;:37::i;:::-;21164:5;-1:-1:-1;;;;;;;;;;;21171:8:135;21136:44;;;;1095:14:150;1088:22;1070:41;;1058:2;1043:18;;922:195;21136:44:135;;;;;;;;21015:170;;:::o;9042:141::-;9088:7;9110:47;:45;:47::i;:::-;:68;;;;;;9042:141;-1:-1:-1;9042:141:135:o;19258:297::-;19325:51;19379:47;:45;:47::i;:::-;19456:22;;;;19437:63;;19325:101;;-1:-1:-1;19437:63:135;;;;19456:22;;;19480:19;;19437:63;:::i;:::-;;;;;;;;19506:22;;:44;;-1:-1:-1;;19506:44:135;;;;;;;;;;;;19258:297::o;8642:182::-;8717:7;8739:47;:45;:47::i;:::-;:80;;;;;;;;:69;;;;;:80;;-1:-1:-1;8739:80:135;;;;;8642:182::o;11420:144::-;11473:4;11492:47;:45;:47::i;:::-;:67;;;;;;11420:144;-1:-1:-1;11420:144:135:o;7424:443::-;7495:7;7510:51;7564:47;:45;:47::i;:::-;7655:14;;;;:36;;-1:-1:-1;;;7655:36:135;;-1:-1:-1;;;;;13863:32:150;;;7655:36:135;;;13845:51:150;7655:14:135;;-1:-1:-1;7617:35:135;;7655:14;;;;:30;;13818:18:150;;7655:36:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7655:36:135;;;;;;;;;;;;:::i;:::-;7617:74;;7697:18;7726:9;7721:119;7741:10;:17;7737:1;:21;7721:119;;;7787:1;:23;;:46;7811:10;7822:1;7811:13;;;;;;;;:::i;:::-;;;;;;;:21;;;7787:46;;;;;;;;;;;;;;;;7773:60;;;;;:::i;:::-;;-1:-1:-1;7760:3:135;;;;:::i;:::-;;;;7721:119;;;-1:-1:-1;7852:10:135;7424:443;-1:-1:-1;;;;7424:443:135:o;16370:610::-;16446:4;16458:51;16512:47;:45;:47::i;:::-;16565:57;16625:29;;;:21;;;:29;;;;;16664:19;;16458:101;;-1:-1:-1;16625:29:135;16664:24;;16660:42;;16697:5;16690:12;;;;;;16660:42;16708:13;16724:37;;;:29;;;:37;;;;;;;;:44;;;;;;;;;16787:19;;16778:28;;;;:66;;;16839:5;16810:12;16823:5;16810:19;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;:34;;16778:66;16774:84;;;16853:5;16846:12;;;;;;;16774:84;16958:1;:17;;;16920:12;16933:5;16920:19;;;;;;;;:::i;:::-;;;;;;;;;;;:35;;;:55;;;;:::i;:::-;16871:1;:28;;;;;;;;;;-1:-1:-1;;;;;16871:28:135;-1:-1:-1;;;;;16871:43:135;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:104;;;16370:610;-1:-1:-1;;;;;;16370:610:135:o;10514:150::-;10565:16;10596:47;:45;:47::i;:::-;10589:70;;;;;;;;;;;;;;;;;;;;10596:63;10589:70;;;10596:63;10589:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10514:150;:::o;13378:431::-;13444:7;13459:51;13513:47;:45;:47::i;:::-;13566:57;13626:29;;;:21;;;:29;;;;;13459:101;;-1:-1:-1;13566:57:135;13685:97;13705:19;;13701:23;;13685:97;;;13753:12;13766:1;13753:15;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;;13739:36;;;;;:::i;:::-;;-1:-1:-1;13726:3:135;;;;:::i;:::-;;;;13685:97;;31076:1414;31232:18;31258:51;31312:47;:45;:47::i;:::-;31258:101;;31374:61;31438:47;:45;:47::i;:::-;31536:1;31497:24;;;;;;;;;;:27;31374:111;;-1:-1:-1;31493:81:135;;31547:27;;-1:-1:-1;;;31547:27:135;;;;;168:25:150;;;141:18;;31547:27:135;14:185:150;31493:81:135;-1:-1:-1;31587:22:135;31683:29;;;:21;;;:29;;;;;31724:19;;:24;;31720:56;;31757:19;;-1:-1:-1;;;31757:19:135;;;;;;;;;;;31720:56;31785:13;31801:37;;;:29;;;:37;;;;;;;;:44;;;;;;;;;31866:19;;31857:28;;;;:66;;;31918:5;31889:12;31902:5;31889:19;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;:34;;31857:66;31853:117;;;31942:19;;-1:-1:-1;;;31942:19:135;;;;;;;;;;;31853:117;31995:12;32008:5;31995:19;;;;;;;;:::i;:::-;;;;;;;;;;;:26;;;31978:43;;32029;32048:1;32051:6;32059:5;32066;32029:18;:43::i;:::-;31615:464;;32085:16;32126:14;32104:19;32114:1;32117:5;32104:9;:19::i;:::-;:36;;;;:::i;:::-;32085:55;;32146:29;32156:1;32159:5;32166:8;32146:9;:29::i;:::-;32208:6;32201:5;-1:-1:-1;;;;;;;;;;;32216:14:135;32187:44;;;;168:25:150;;156:2;141:18;;14:185;32187:44:135;;;;;;;;32243:13;32242:14;:31;;;;32260:13;32242:31;32238:72;;;32290:13;32283:20;;;;;;;32238:72;32331:1;:28;;;32320:8;:39;32316:152;;;32376:85;32415:1;32418:5;32425:13;32440;32455:5;32376:38;:85::i;:::-;32369:92;;;;;;;32316:152;32481:4;32474:11;;;;;31076:1414;;;;;;;;:::o;14124:603::-;14195:7;14210:51;14264:47;:45;:47::i;:::-;14335:14;;;;:36;;-1:-1:-1;;;14335:36:135;;;;;168:25:150;;;14335:14:135;;-1:-1:-1;14317:15:135;;-1:-1:-1;;;;;14335:14:135;;;;:28;;141:18:150;;14335:36:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14399:34;;;14377:19;14399:34;;;:23;;;:34;;;;;;;;;14499:29;;;:21;;;:29;;;;;14317:54;;-1:-1:-1;14399:34:135;14499:29;14377:19;14558:97;14578:19;;14574:23;;14558:97;;;14626:12;14639:1;14626:15;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;;14612:36;;;;;:::i;:::-;;-1:-1:-1;14599:3:135;;;;:::i;:::-;;;;14558:97;;;;14681:10;14667:11;:24;:55;;14721:1;14667:55;;;14694:24;14708:10;14694:11;:24;:::i;:::-;14660:62;14124:603;-1:-1:-1;;;;;;;14124:603:135:o;37401:1799::-;37488:51;37542:47;:45;:47::i;:::-;37600:21;;;;;;-1:-1:-1;37600:21:135;;;;;37596:61;;;37630:27;;-1:-1:-1;;;37630:27:135;;;;;;;;;;;37596:61;37687:28;;;;:45;;;-1:-1:-1;;;37687:45:135;;;;37664:20;;-1:-1:-1;;;;;37687:28:135;;:43;;:45;;;;;;;;;;;;;;:28;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37738:57;37798:29;;;:21;;;:29;;;;;;;;37857;;;:37;;;;;:44;;;;;;;;;37990:19;;37664:68;;-1:-1:-1;37798:29:135;;37857:44;;37738:57;37990:23;;;;:68;;-1:-1:-1;38039:19:135;;38023:35;;37990:68;:120;;;;;38105:5;38068:12;38081:13;38068:27;;;;;;;;:::i;:::-;;;;;;;;;;;:33;;;:42;37990:120;37976:134;;38121:6;38117:914;;;38195:17;38215:12;38228:13;38215:27;;;;;;;;:::i;:::-;;;;;;;;;;;:34;;;38195:54;;38294:6;38257:12;38270:13;38257:27;;;;;;;;:::i;:::-;;;;;;;;;;;:34;;:43;;;;38354:12;38308;38321:13;38308:27;;;;;;;;:::i;:::-;;;;;;;;;;;:43;;:58;;;;38422:61;38432:1;38435:5;38476:6;38464:9;38442:19;38452:1;38455:5;38442:9;:19::i;:::-;:31;;;;:::i;:::-;:40;;;;:::i;:::-;38422:9;:61::i;:::-;38129:361;38117:914;;;38563:99;;;;;;;;;;;;;;;;;;;;;;;;38536:134;;;;;;;;-1:-1:-1;38536:134:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38725:19;;:23;;38536:134;38725:23;:::i;:::-;38678:37;;;;:29;;;:37;;;;;;;;:44;;;;;;;;:70;;;;38840:19;;;:26;;;;;:39;;;;;;;;;;;;;;;;;;38929:26;;;;:33;:37;;38840:39;38929:37;:::i;:::-;38887:31;;;;:24;;;:31;;;;;;;;:39;;;;;;;;:79;38975:49;38887:1;38912:5;39017:6;38995:19;38887:1;38912:5;38995:9;:19::i;38975:49::-;39102:14;;;;:38;;-1:-1:-1;;;39102:38:135;;;;;168:25:150;;;39083:16:135;;-1:-1:-1;;;;;39102:14:135;;:30;;141:18:150;;39102:38:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;39083:57;;39170:6;39163:5;-1:-1:-1;;;;;;;;;;;39178:8:135;39188:6;39151:44;;;;;;;:::i;:::-;;;;;;;;37482:1718;;;;;;37401:1799;;;:::o;9692:161::-;9752:7;9774:47;:45;:47::i;:::-;:74;;;9767:81;;9692:161;:::o;18383:656::-;18454:51;18508:47;:45;:47::i;:::-;18454:101;;18565:6;18561:474;;;18581:13;18597:29;;;18629:1;18597:22;;;:29;;;;;;:33;;18629:1;18597:33;:::i;:::-;18658:24;;18581:49;;-1:-1:-1;18638:17:135;;18658:28;;18685:1;;18658:28;:::i;:::-;18638:48;;18694:17;18714:1;:17;;18732:9;18714:28;;;;;;;;:::i;:::-;;;;;;;;;18694:48;;18777:9;18750:1;:17;;18768:5;18750:24;;;;;;;;:::i;:::-;;;;;;;;;;:36;18830:9;:5;18838:1;18830:9;:::i;:::-;18794:33;;;;:22;;;:33;;;;;:45;18847:23;;18794:1;;18847:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;18885:1;:22;;:29;18908:5;18885:29;;;;;;;;;;;18878:36;;;18573:348;;;18448:591;18383:656;;:::o;18561:474::-;18935:29;;;;;;;;-1:-1:-1;18935:29:135;;;;;;;;;;;;;19004:24;;18972:29;;;:22;;:29;;;;;:56;;;;-1:-1:-1;18383:656:135:o;22711:245::-;22770:51;22824:47;:45;:47::i;:::-;22877:21;;;:30;;-1:-1:-1;;22877:30:135;;;;;;;;;;22918:33;;1070:41:150;;;22877:21:135;;-1:-1:-1;22918:33:135;;1058:2:150;1043:18;22918:33:135;922:195:150;8595:179:136;8738:26;;8595:179::o;8982:::-;9125:26;;8982:179::o;40193:1211:135:-;40408:57;40468:29;;;:21;;;:29;;;;;40523:19;;40468:29;;40408:57;40523:23;;40545:1;;40523:23;:::i;:::-;40503:43;;40566:9;40557:5;:18;40553:244;;40585:58;40646:12;40659:9;40646:23;;;;;;;;:::i;:::-;;;;;;;;;;;40585:84;;40699:15;40677:12;40690:5;40677:19;;;;;;;;:::i;:::-;;;;;;;;;:37;;:19;;;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;40722;;;:29;;;:37;;;;;;40760:21;;40722:60;;;;;;;:68;;;40553:244;40803:12;:18;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;40803:18:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;40834:37;;;:29;;;:37;;;;;;:44;;;;;;;;40827:51;;;40986:19;;;:26;;;;;41038:24;;;:31;;;;;:39;;;;;;;;;41107:15;;41038:39;;41107:19;;;:::i;:::-;41083:43;;41150:13;41137:9;:26;41133:194;;41173:18;41194:8;41203:13;41194:23;;;;;;;;:::i;:::-;;;;;;;;;41173:44;;41247:10;41225:8;41234:9;41225:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;;41265:31;;;:24;;;:31;;;;;;:43;;;;;;;;:55;;;41133:194;41333:8;:14;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;41333:14:135;;;;;;;;;;;;41360:31;;;:24;;;;:31;;-1:-1:-1;;41360:31:135;;;;:39;;;;;;;-1:-1:-1;;;41360:39:135;;;41353:46;;;;-1:-1:-1;40193:1211:135:o;42431:206::-;42552:7;42582:40;;;:33;;;:40;;;;;:49;;:47;:49::i;:::-;-1:-1:-1;;;;;42574:58:135;;42431:206;-1:-1:-1;;;42431:206:135:o;42641:232::-;42760:108;42806:31;42824:12;42806:17;:31::i;:::-;42839:28;42858:8;42839:18;:28::i;:::-;42760:40;;;;:33;;;:40;;;;;;:108;:45;:108::i;:::-;;;42641:232;;;:::o;42877:957::-;43088:18;43114;43136:13;43135:14;:51;;;;-1:-1:-1;43185:1:135;43153:29;;;:22;;;:29;;;;;;:33;;43135:51;43114:72;;43198:13;43193:123;;43221:34;43242:5;43249;43221:20;:34::i;:::-;43268:41;;43303:5;1070:41:150;;43296:5:135;;-1:-1:-1;;;;;;;;;;;43268:41:135;1058:2:150;1043:18;43268:41:135;;;;;;;43193:123;43326:29;;;;:22;;;:29;;;;;;;;:34;:51;;;;;43364:13;43326:51;43322:490;;;43387:29;;;;:22;;;:29;;;;;:37;;-1:-1:-1;;43387:37:135;;;;;;;;;;;;43491:22;;;;43387:29;;43437:77;;43387:37;;43483:30;;43491:22;43387:37;43483:30;:::i;:::-;43437:77;;;;;;;:::i;:::-;;;;;;;;43529:4;43522:11;;;;;43322:490;43591:22;;;;;43559:29;;;:22;;;:29;;;;;;:54;;43591:22;;;;;43559:29;:54;:::i;:::-;43551:62;;:5;:62;;;43550:81;;;;;43618:13;43550:81;43546:266;;;43665:19;;;;:38;;-1:-1:-1;;;43665:38:135;;;;;168:25:150;;;-1:-1:-1;;;;;43665:19:135;;;;:31;;141:18:150;;43665:38:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43641:21;;;;:14;;;:21;;;;;:62;;-1:-1:-1;;43641:62:135;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;43711:19:135;;;;:74;;-1:-1:-1;;;43711:74:135;;-1:-1:-1;;;;;43711:19:135;;;;:34;;:74;;43746:5;;43711:19;;:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;43800:5;43793:12;;;;;43546:266;-1:-1:-1;43825:4:135;;42877:957;-1:-1:-1;;;;;;42877:957:135:o;34943:2454::-;35079:7;35122:26;;;:19;;;:26;;;;;35079:7;;35194:2111;35205:14;;35201:18;;35194:2111;;;35229:14;35246:7;35254:1;35246:10;;;;;;;;:::i;:::-;;;;;;;;;;35279:14;;;;:34;;-1:-1:-1;;;35279:34:135;;;;;168:25:150;;;35246:10:135;;-1:-1:-1;;;;;;35279:14:135;;:26;;141:18:150;;35279:34:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35264:49;;35327:7;35322:1977;;35390:57;35450:29;;;:21;;;:29;;;;;;;;35512;;;:37;;;;;:44;;;;;;;;;;35646:19;;35630:35;;;;:80;;;35705:5;35669:12;35682;35669:26;;;;;;;;:::i;:::-;;;;;;;;;;;:32;;;:41;;35630:80;35626:154;;;35755:6;35763:5;35731:38;;-1:-1:-1;;;35731:38:135;;;;;;;;;:::i;35626:154::-;35790:22;35815:12;35828;35815:26;;;;;;;;:::i;:::-;;;;;;;;:33;:26;;;;;:33;;;35933:19;;35815:33;;-1:-1:-1;35933:23:135;;35815:33;35933:23;:::i;:::-;35906:50;;35986:16;35970:12;:32;35966:218;;36045:12;36058:16;36045:30;;;;;;;;:::i;:::-;;;;;;;;;;;36016:12;36029;36016:26;;;;;;;;:::i;:::-;;;;;;;;;;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;36161:12;36087:1;:29;;:37;36117:6;36087:37;;;;;;;;;;;:71;36125:12;36138;36125:26;;;;;;;;:::i;:::-;;;;;;;;;;;:32;;;36087:71;;;;;;;;;;;:86;;;;35966:218;36193:12;:18;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;36193:18:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;36228:37;;;:29;;;:37;;;;;;:44;;;;;;;;;36221:51;;;36365:14;;:18;;36193;36365;:::i;:::-;36341:42;;36402:13;36397:1;:18;36393:184;;36429:18;36450:7;36458:13;36450:22;;;;;;;;:::i;:::-;;;;;;;;;36429:43;;36497:10;36484:7;36492:1;36484:10;;;;;;;;:::i;:::-;;;;;;;;:23;;;;36565:1;36519;:24;;:31;36544:5;36519:31;;;;;;;;;;;:43;36551:10;36519:43;;;;;;;;;;;:47;;;;36417:160;36393:184;36586:7;:13;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;36586:13:135;;;;;;;;;;;;36616:31;;;:24;;;:31;;;;;;:39;;;;;;;;36609:46;;;;36671:44;;168:25:150;;;36648:6:135;;36641:5;;-1:-1:-1;;;;;;;;;;;36671:44:135;141:18:150;36671:44:135;;;;;;;35336:1434;;;;;35322:1977;;;36830:57;36890:29;;;:21;;;:29;;;;;;;;36952;;;:37;;;;;:44;;;;;;;;;;37086:19;;37070:35;;;;:80;;;37145:5;37109:12;37122;37109:26;;;;;;;;:::i;:::-;;;;;;;;;;;:32;;;:41;;37070:80;37066:154;;;37195:6;37203:5;37171:38;;-1:-1:-1;;;37171:38:135;;;;;;;;;:::i;37066:154::-;37244:12;37257;37244:26;;;;;;;;:::i;:::-;;;;;;;;;;;:33;;;37230:47;;;;;:::i;:::-;;-1:-1:-1;37287:3:135;;;;:::i;:::-;;;;36776:523;;35322:1977;35221:2084;;35194:2111;;;37338:31;37348:1;37351:5;37358:10;37338:9;:31::i;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;10318:41;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;;10314:1;10303:63;10296:70;10167:206;-1:-1:-1;;;10167:206:39:o;41408:1019:135:-;41679:9;41674:558;;41698:17;:24;;;;;;;;;;;41744:15;41698:43;;;;:61;41767:19;;;;:31;;;;;;;;;;;;;;;;;;;;41806:19;;;;:73;;-1:-1:-1;;;41806:73:135;;-1:-1:-1;;;;;41806:19:135;;;;:34;;:73;;41716:5;;41806:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41888:65;41956:59;9314:29:136;;9165:188;41956:59:135;42044:38;;;;:31;;;:38;;;;;;;;;42084:24;;;;;;;;42028:92;;41888:127;;-1:-1:-1;42037:5:135;;42028:92;;;;-1:-1:-1;;;;;42044:38:135;;;42084:29;;;;42044:38;42028:92;:::i;:::-;;;;;;;;41690:437;41674:558;;;42138:13;42133:99;;42161:19;;;;;42203:21;;;:14;;;:21;;;;;;;;42161:64;;-1:-1:-1;;;42161:64:135;;-1:-1:-1;;;;;42161:19:135;;;;:34;;:64;;42196:5;;42203:21;;;42161:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42133:99;42238:18;42260:13;42259:14;:51;;;;-1:-1:-1;42309:1:135;42277:29;;;:22;;;:29;;;;;;:33;;42259:51;42238:72;;42320:13;42316:67;;;42343:33;42364:5;42371:4;42343:20;:33::i;:::-;-1:-1:-1;;;42421:1:135;42389:29;;;-1:-1:-1;42389:22:135;;;;:29;;-1:-1:-1;42389:29:135;;;:33;;-1:-1:-1;;42389:33:135;;;41408:1019::o;25177:1556::-;25441:21;;;;;;25437:54;;;25471:20;;-1:-1:-1;;;25471:20:135;;;;;;;;;;;25437:54;25540:1;25501:24;;;;;;;;;;:27;25497:81;;25551:27;;-1:-1:-1;;;25551:27:135;;;;;168:25:150;;;141:18;;25551:27:135;14:185:150;25497:81:135;25588:13;25584:53;;;25610:27;;-1:-1:-1;;;25610:27:135;;;;;168:25:150;;;141:18;;25610:27:135;14:185:150;25584:53:135;25647:11;;;:26;;-1:-1:-1;25662:11:135;;25647:26;25643:60;;;25682:21;;-1:-1:-1;;;25682:21:135;;;;;;;;;;;25643:60;25714:14;;;;:34;;-1:-1:-1;;;25714:34:135;;;;;168:25:150;;;-1:-1:-1;;;;;25714:14:135;;;;:26;;141:18:150;;25714:34:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25713:35;:89;;;-1:-1:-1;25753:14:135;;;;:49;;-1:-1:-1;;;25753:49:135;;-1:-1:-1;;;;;25753:14:135;;;;:29;;:49;;25783:10;;25795:6;;25753:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25752:50;25713:89;25709:138;;;25819:21;;-1:-1:-1;;;25819:21:135;;;;;;;;;;;25709:138;25871:14;;;;:36;;-1:-1:-1;;;25871:36:135;;;;;168:25:150;;;25853:15:135;;-1:-1:-1;;;;;25871:14:135;;:28;;141:18:150;;25871:36:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25917:34;;;;;;;:23;;;:34;;;;;;25853:54;;-1:-1:-1;25917:39:135;25913:77;;25965:25;;-1:-1:-1;;;25965:25:135;;;;;;;;;;;25913:77;26023:34;;;25997:23;26023:34;;;:23;;;:34;;;;;;;26084:29;26023:1;26106:6;26084:18;:29::i;:::-;26063:50;;26119:23;26163:10;26145:15;:28;:63;;26207:1;26145:63;;;26176:28;26194:10;26176:15;:28;:::i;:::-;26119:89;;26227:15;26218:6;:24;26214:97;;;26279:6;26287:15;26304:6;26251:60;;-1:-1:-1;;;26251:60:135;;;;;;;;;;:::i;26214:97::-;26318:24;26345:46;26374:1;26377:6;26385:5;26345:28;:46::i;:::-;26429:25;;;;26318:73;;-1:-1:-1;26401:25:135;26420:6;26318:73;26401:25;:::i;:::-;:53;26397:146;;;26495:6;26503:5;26510:1;:25;;;26471:65;;-1:-1:-1;;;26471:65:135;;;;;;;;;;:::i;26397:146::-;26548:20;26571:19;26581:1;26584:5;26571:9;:19::i;:::-;26624:18;;;;26548:42;;-1:-1:-1;26600:21:135;26615:6;26548:42;26600:21;:::i;:::-;:42;26596:133;;;26682:5;26689:12;26703:1;:18;;;26659:63;;-1:-1:-1;;;26659:63:135;;;;;;;;;;:::i;26596:133::-;25431:1302;;;;;;25177:1556;;;;;;:::o;39685:504::-;39845:7;39920:29;;;:21;;;:29;;;;;39959:19;;:24;;39955:38;;39992:1;39985:8;;;;;39955:38;39999:13;40015:37;;;:29;;;:37;;;;;;;;:44;;;;;;;;;40078:19;;40069:28;;;;:66;;;40130:5;40101:12;40114:5;40101:19;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;:34;;40069:66;40065:80;;;40144:1;40137:8;;;;;;40065:80;40158:12;40171:5;40158:19;;;;;;;;:::i;:::-;;;;;;;;;;;:26;;;40151:33;;;;39685:504;;;;;:::o;26737:970::-;26959:20;;26955:748;;26989:13;27005:37;;;:29;;;:37;;;;;;;;:44;;;;;;;;;27103:25;27122:6;27103:16;:25;:::i;:::-;27057:29;;;;:21;;;:29;;;;;:36;;27087:5;;27057:36;;;;;;:::i;:::-;;;;;;;;;;;:43;;:71;;;;27191:12;27136:1;:21;;:29;27158:6;27136:29;;;;;;;;;;;27166:5;27136:36;;;;;;;;:::i;:::-;;;;;;;;;;;:52;;:67;;;;26981:229;26955:748;;;27260:29;;;;:21;;;:29;;;;;;;;27304:99;;;;;;;;;;;;;;;;;;;;;;27260:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27466:29;;;;;;;:36;;:40;;27260:151;27466:40;:::i;:::-;27419:37;;;;:29;;;:37;;;;;;;;:44;;;;;;;;:87;;;;27570:19;;;:26;;;;;:39;;;;;;;;;;;;;;;;;;27659:26;;;;:33;:37;;27570:39;27659:37;:::i;:::-;27617:31;;;;:24;;;:31;;;;;;;;:39;;;;;;;;:79;26955:748;26737:970;;;;;;:::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;20417:36:150;20469:18;;;20462:34;;;20390:18;;14416:41:37;20236:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;9992:41::-;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;20417:36:150;20469:18;;;20462:34;;;20390:18;;4297:42:37;20236:266:150;8050:162:39;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;39292:389:135:-;39423:7;39498:29;;;:21;;;:29;;;;;39423:7;;39557:97;39577:19;;39573:23;;39557:97;;;39625:12;39638:1;39625:15;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;;39611:36;;;;;:::i;:::-;;-1:-1:-1;39598:3:135;;;;:::i;:::-;;;;39557:97;;8587:1642:36;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;;;;;;;:::o;11513:870::-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;204:180:150:-;263:6;316:2;304:9;295:7;291:23;287:32;284:52;;;332:1;329;322:12;284:52;-1:-1:-1;355:23:150;;204:180;-1:-1:-1;204:180:150:o;389:118::-;475:5;468:13;461:21;454:5;451:32;441:60;;497:1;494;487:12;441:60;389:118;:::o;512:309::-;577:6;585;638:2;626:9;617:7;613:23;609:32;606:52;;;654:1;651;644:12;606:52;690:9;677:23;667:33;;750:2;739:9;735:18;722:32;763:28;785:5;763:28;:::i;:::-;810:5;800:15;;;512:309;;;;;:::o;1122:206::-;1220:6;1273:3;1261:9;1252:7;1248:23;1244:33;1241:53;;;1290:1;1287;1280:12;1241:53;-1:-1:-1;1313:9:150;1122:206;-1:-1:-1;1122:206:150:o;1703:861::-;1942:2;1994:21;;;2064:13;;1967:18;;;2086:22;;;1913:4;;1942:2;2127;;2145:18;;;;2186:15;;;1913:4;2229:309;2243:6;2240:1;2237:13;2229:309;;;2302:13;;2340:9;;2328:22;;2390:11;;;2384:18;2370:12;;;2363:40;2443:11;;2437:18;2423:12;;;2416:40;2485:4;2476:14;;;;2513:15;;;;2265:1;2258:9;2229:309;;;-1:-1:-1;2555:3:150;;1703:861;-1:-1:-1;;;;;;;1703:861:150:o;2569:666::-;2748:2;2800:21;;;2870:13;;2773:18;;;2892:22;;;2719:4;;2748:2;2971:15;;;;2945:2;2930:18;;;2719:4;3014:195;3028:6;3025:1;3022:13;3014:195;;;3093:13;;-1:-1:-1;;;;;3089:39:150;3077:52;;3184:15;;;;3149:12;;;;3125:1;3043:9;3014:195;;;-1:-1:-1;3226:3:150;;2569:666;-1:-1:-1;;;;;;2569:666:150:o;3240:241::-;3296:6;3349:2;3337:9;3328:7;3324:23;3320:32;3317:52;;;3365:1;3362;3355:12;3317:52;3404:9;3391:23;3423:28;3445:5;3423:28;:::i;3486:125::-;3571:14;3564:5;3560:26;3553:5;3550:37;3540:65;;3601:1;3598;3591:12;3616:722;3713:6;3721;3729;3737;3745;3753;3806:3;3794:9;3785:7;3781:23;3777:33;3774:53;;;3823:1;3820;3813:12;3774:53;3859:9;3846:23;3836:33;;3916:2;3905:9;3901:18;3888:32;3878:42;;3967:2;3956:9;3952:18;3939:32;3929:42;;4021:2;4010:9;4006:18;3993:32;4034:28;4056:5;4034:28;:::i;:::-;4081:5;-1:-1:-1;4138:3:150;4123:19;;4110:33;4152:30;4110:33;4152:30;:::i;:::-;4201:7;-1:-1:-1;4260:3:150;4245:19;;4232:33;4274:32;4232:33;4274:32;:::i;:::-;4325:7;4315:17;;;3616:722;;;;;;;;:::o;4343:640::-;4522:2;4574:21;;;4644:13;;4547:18;;;4666:22;;;4493:4;;4522:2;4745:15;;;;4719:2;4704:18;;;4493:4;4788:169;4802:6;4799:1;4796:13;4788:169;;;4863:13;;4851:26;;4932:15;;;;4897:12;;;;4824:1;4817:9;4788:169;;5441:313;5508:6;5516;5569:2;5557:9;5548:7;5544:23;5540:32;5537:52;;;5585:1;5582;5575:12;5537:52;5621:9;5608:23;5598:33;;5681:2;5670:9;5666:18;5653:32;5694:30;5718:5;5694:30;:::i;5759:248::-;5827:6;5835;5888:2;5876:9;5867:7;5863:23;5859:32;5856:52;;;5904:1;5901;5894:12;5856:52;-1:-1:-1;;5927:23:150;;;5997:2;5982:18;;;5969:32;;-1:-1:-1;5759:248:150:o;6012:718::-;6107:6;6115;6123;6131;6139;6147;6200:3;6188:9;6179:7;6175:23;6171:33;6168:53;;;6217:1;6214;6207:12;6168:53;6253:9;6240:23;6230:33;;6310:2;6299:9;6295:18;6282:32;6272:42;;6361:2;6350:9;6346:18;6333:32;6323:42;;6415:2;6404:9;6400:18;6387:32;6428:28;6450:5;6428:28;:::i;:::-;6475:5;-1:-1:-1;6532:3:150;6517:19;;6504:33;6546:30;6504:33;6546:30;:::i;:::-;6595:7;-1:-1:-1;6654:3:150;6639:19;;6626:33;6668:30;6626:33;6668:30;:::i;6988:245::-;7046:6;7099:2;7087:9;7078:7;7074:23;7070:32;7067:52;;;7115:1;7112;7105:12;7067:52;7154:9;7141:23;7173:30;7197:5;7173:30;:::i;7238:114::-;7322:4;7315:5;7311:16;7304:5;7301:27;7291:55;;7342:1;7339;7332:12;7357:243;7414:6;7467:2;7455:9;7446:7;7442:23;7438:32;7435:52;;;7483:1;7480;7473:12;7435:52;7522:9;7509:23;7541:29;7564:5;7541:29;:::i;7605:131::-;-1:-1:-1;;;;;7680:31:150;;7670:42;;7660:70;;7726:1;7723;7716:12;7741:247;7800:6;7853:2;7841:9;7832:7;7828:23;7824:32;7821:52;;;7869:1;7866;7859:12;7821:52;7908:9;7895:23;7927:31;7952:5;7927:31;:::i;8638:653::-;8726:6;8734;8742;8750;8758;8811:3;8799:9;8790:7;8786:23;8782:33;8779:53;;;8828:1;8825;8818:12;8779:53;8864:9;8851:23;8841:33;;8921:2;8910:9;8906:18;8893:32;8883:42;;8975:2;8964:9;8960:18;8947:32;8988:28;9010:5;8988:28;:::i;:::-;9035:5;-1:-1:-1;9092:2:150;9077:18;;9064:32;9105:30;9064:32;9105:30;:::i;:::-;9154:7;-1:-1:-1;9213:3:150;9198:19;;9185:33;9227:32;9185:33;9227:32;:::i;:::-;9278:7;9268:17;;;8638:653;;;;;;;;:::o;9296:316::-;9373:6;9381;9389;9442:2;9430:9;9421:7;9417:23;9413:32;9410:52;;;9458:1;9455;9448:12;9410:52;-1:-1:-1;;9481:23:150;;;9551:2;9536:18;;9523:32;;-1:-1:-1;9602:2:150;9587:18;;;9574:32;;9296:316;-1:-1:-1;9296:316:150:o;10674:247::-;10742:6;10795:2;10783:9;10774:7;10770:23;10766:32;10763:52;;;10811:1;10808;10801:12;10763:52;10843:9;10837:16;10862:29;10885:5;10862:29;:::i;10926:127::-;10987:10;10982:3;10978:20;10975:1;10968:31;11018:4;11015:1;11008:15;11042:4;11039:1;11032:15;11058:127;11119:10;11114:3;11110:20;11107:1;11100:31;11150:4;11147:1;11140:15;11174:4;11171:1;11164:15;11190:245;11257:6;11310:2;11298:9;11289:7;11285:23;11281:32;11278:52;;;11326:1;11323;11316:12;11278:52;11358:9;11352:16;11377:28;11399:5;11377:28;:::i;11440:251::-;11510:6;11563:2;11551:9;11542:7;11538:23;11534:32;11531:52;;;11579:1;11576;11569:12;11531:52;11611:9;11605:16;11630:31;11655:5;11630:31;:::i;11696:127::-;11757:10;11752:3;11748:20;11745:1;11738:31;11788:4;11785:1;11778:15;11812:4;11809:1;11802:15;11828:135;11867:3;11888:17;;;11885:43;;11908:18;;:::i;:::-;-1:-1:-1;11955:1:150;11944:13;;11828:135::o;11968:248::-;12142:25;;;12198:2;12183:18;;12176:34;12130:2;12115:18;;11968:248::o;12221:274::-;-1:-1:-1;;;;;12413:32:150;;;;12395:51;;12477:2;12462:18;;12455:34;12383:2;12368:18;;12221:274::o;12500:125::-;12565:9;;;12586:10;;;12583:36;;;12599:18;;:::i;12630:184::-;12700:6;12753:2;12741:9;12732:7;12728:23;12724:32;12721:52;;;12769:1;12766;12759:12;12721:52;-1:-1:-1;12792:16:150;;12630:184;-1:-1:-1;12630:184:150:o;13072:128::-;13139:9;;;13160:11;;;13157:37;;;13174:18;;:::i;13397:297::-;13579:14;13620:15;;;13602:34;;13672:15;;13667:2;13652:18;;13645:43;13557:2;13542:18;;13397:297::o;13907:253::-;13979:2;13973:9;14021:4;14009:17;;-1:-1:-1;;;;;14041:34:150;;14077:22;;;14038:62;14035:88;;;14103:18;;:::i;:::-;14139:2;14132:22;13907:253;:::o;14165:275::-;14236:2;14230:9;14301:2;14282:13;;-1:-1:-1;;14278:27:150;14266:40;;-1:-1:-1;;;;;14321:34:150;;14357:22;;;14318:62;14315:88;;;14383:18;;:::i;:::-;14419:2;14412:22;14165:275;;-1:-1:-1;14165:275:150:o;14445:1818::-;14564:6;14595:2;14638;14626:9;14617:7;14613:23;14609:32;14606:52;;;14654:1;14651;14644:12;14606:52;14681:16;;-1:-1:-1;;;;;14746:14:150;;;14743:34;;;14773:1;14770;14763:12;14743:34;14811:6;14800:9;14796:22;14786:32;;14856:7;14849:4;14845:2;14841:13;14837:27;14827:55;;14878:1;14875;14868:12;14827:55;14907:2;14901:9;14929:2;14925;14922:10;14919:36;;;14935:18;;:::i;:::-;14975:36;15007:2;15002;14999:1;14995:10;14991:19;14975:36;:::i;:::-;15045:15;;;15107:4;15146:11;;;15138:20;;15134:29;;;15076:12;;;;15033:3;15175:19;;;15172:39;;;15207:1;15204;15197:12;15172:39;15231:11;;;;15251:982;15267:6;15262:3;15259:15;15251:982;;;15347:2;15341:3;15332:7;15328:17;15324:26;15321:116;;;15391:1;15420:2;15416;15409:14;15321:116;15463:22;;:::i;:::-;15518:3;15512:10;15505:5;15498:25;15566:2;15561:3;15557:12;15551:19;15583:31;15606:7;15583:31;:::i;:::-;15634:14;;;15627:31;15681:2;15717:12;;;15711:19;15765:16;;;15753:29;;15743:127;;15824:1;15853:2;15849;15842:14;15743:127;15890:14;;;15883:31;15937:2;15981:12;;;15975:19;15959:14;;;15952:43;16019:3;16056:13;;;16050:20;16083:32;16050:20;16083:32;:::i;:::-;16135:15;;;16128:32;16173:18;;15284:12;;;;16211;;;;15251:982;;;-1:-1:-1;16252:5:150;14445:1818;-1:-1:-1;;;;;;;;14445:1818:150:o;16268:127::-;16329:10;16324:3;16320:20;16317:1;16310:31;16360:4;16357:1;16350:15;16384:4;16381:1;16374:15;16400:176;16467:14;16501:10;;;16513;;;16497:27;;16536:11;;;16533:37;;;16550:18;;:::i;:::-;16533:37;16400:176;;;;:::o;16881:278::-;16969:6;17022:2;17010:9;17001:7;16997:23;16993:32;16990:52;;;17038:1;17035;17028:12;16990:52;17070:9;17064:16;17109:1;17102:5;17099:12;17089:40;;17125:1;17122;17115:12;17164:127;17225:10;17220:3;17216:20;17213:1;17206:31;17256:4;17253:1;17246:15;17280:4;17277:1;17270:15;17296:417;17486:25;;;17474:2;17459:18;;17541:1;17530:13;;17520:144;;17586:10;17581:3;17577:20;17574:1;17567:31;17621:4;17618:1;17611:15;17649:4;17646:1;17639:15;17520:144;17700:6;17695:2;17684:9;17680:18;17673:34;17296:417;;;;;:::o;17844:1415::-;18069:1;18065;18060:3;18056:11;18052:19;18044:6;18040:32;18029:9;18022:51;18003:4;18092:2;18130;18125;18114:9;18110:18;18103:30;18153:1;18186:6;18180:13;18216:3;18238:1;18266:9;18262:2;18258:18;18248:28;;18326:2;18315:9;18311:18;18348;18338:61;;18392:4;18384:6;18380:17;18370:27;;18338:61;18445:2;18437:6;18434:14;18414:18;18411:38;18408:165;;-1:-1:-1;;;18472:33:150;;18528:4;18525:1;18518:15;18558:4;18479:3;18546:17;18408:165;18674:2;18659:18;;1635:19;;;1678:14;;;18702:18;18729:128;;;;18871:1;18866:315;;;;18695:486;;18729:128;-1:-1:-1;;18762:24:150;;18750:37;;18830:14;;18823:22;18820:1;18816:30;18807:40;;;-1:-1:-1;18729:128:150;;18866:315;17791:1;17784:14;;;17828:4;17815:18;;18961:1;18975:165;18989:6;18986:1;18983:13;18975:165;;;19067:14;;19054:11;;;19047:35;19110:16;;;;19004:10;;18975:165;;;19160:11;;;-1:-1:-1;;18695:486:150;-1:-1:-1;;;;896:13:150;;889:21;19249:2;19234:18;;877:34;-1:-1:-1;19198:3:150;;-1:-1:-1;19210:43:150;;-1:-1:-1;;826:91:150;19264:319;19466:25;;;19522:2;19507:18;;19500:34;;;;19565:2;19550:18;;19543:34;19454:2;19439:18;;19264:319::o;20779:127::-;20840:10;20835:3;20831:20;20828:1;20821:31;20871:4;20868:1;20861:15;20895:4;20892:1;20885:15;20911:217;20951:1;20977;20967:132;;21021:10;21016:3;21012:20;21009:1;21002:31;21056:4;21053:1;21046:15;21084:4;21081:1;21074:15;20967:132;-1:-1:-1;21113:9:150;;20911:217::o"},"methodIdentifiers":{"canUnendorse(uint256,bytes32)":"ccd4baca","checkEndorsement(bytes32,uint48)":"6e054773","cooldownPeriod()":"04646a49","endorseApp(bytes32,uint256,uint256,bool,bool,bool)":"9a116641","endorsementScoreThreshold()":"f1a962ac","endorsementsPaused()":"b90a30ea","getEndorserNodes(bytes32)":"5cfdd470","getEndorsers(bytes32)":"44bb58f7","getNodeActiveEndorsements(uint256)":"44532be2","getNodeAvailablePoints(uint256)":"e9f9739d","getNodeEndorsementScore(uint256)":"42c89f52","getNodePointsForApp(uint256,bytes32)":"72584102","getNodePointsInfo(uint256)":"5dd3a4f1","getNodeUsedPoints(uint256)":"d76c3973","getScore(bytes32)":"7ba53285","getScoreAtTimepoint(bytes32,uint256)":"9ab17c9b","getUsersEndorsementScore(address)":"c996c624","gracePeriod()":"a06db7dc","isAppUnendorsed(bytes32,bool)":"1e13ed7a","maxPointsPerApp()":"5cbc2ffb","maxPointsPerNodePerApp()":"4a0c4a42","migrationCompleted()":"31677980","nodeLevelEndorsementScore(uint8)":"acdb9f05","removeNodeEndorsement(bytes32,uint256,bool,bool,uint48)":"e8786a58","removeXAppSubmission(bytes32)":"0ab12e14","seedEndorsement(bytes32,uint256,uint256)":"ee9419cf","setCooldownPeriod(uint256)":"80ea3de1","setEndorsementStatus(bytes32,bool)":"9fcb2b41","setEndorsementsPaused(bool)":"fcd190c4","setGracePeriod(uint48)":"a11bd9fb","setMaxPointsPerApp(uint256)":"51d2a6e3","setMaxPointsPerNodePerApp(uint256)":"6fb44f5f","setMigrationCompleted(bool)":"47e5dcbc","unendorseApp(bytes32,uint256,uint256,bool,bool,uint48)":"4fd4e1b8","unendorsedAppIds()":"d6418b8a","updateEndorsementScoreThreshold(uint256)":"4f77fe12","updateNodeEndorsementScores(EndorsementUtils.NodeStrengthScores)":"38114221","updateUnendorsedApps(bytes32,bool)":"fcaf9a76"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"CooldownNotExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EndorsementsPaused\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"ExceedsMaxPointsPerApp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"ExceedsMaxPointsPerNode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentBlock\",\"type\":\"uint256\"}],\"name\":\"FutureLookup\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"available\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"}],\"name\":\"InsufficientAvailablePoints\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"InvalidEndorsementIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPointsAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"MaxPointsPerAppBelowThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MigrationAlreadyCompleted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"NodeManagementXAppAlreadyIncluded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NodeNotAllowedToEndorse\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPointsPerApp\",\"type\":\"uint256\"}],\"name\":\"ThresholdExceedsMaxPointsPerApp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnAppAlreadyEndorsed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnAppBlacklisted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"X2EarnInvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"X2EarnNonEndorser\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"X2EarnNonNodeHolder\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"X2EarnNonexistentApp\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"name\":\"AppAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"endorser\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"}],\"name\":\"AppEndorsed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"endorsed\",\"type\":\"bool\"}],\"name\":\"AppEndorsementStatusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"}],\"name\":\"AppUnendorsed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"startBlock\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"endBlock\",\"type\":\"uint48\"}],\"name\":\"AppUnendorsedGracePeriodStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldCooldownPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newCooldownPeriod\",\"type\":\"uint256\"}],\"name\":\"CooldownPeriodUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"EndorsementScoreThresholdUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"}],\"name\":\"EndorsementsPausedUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldGracePeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newGracePeriod\",\"type\":\"uint256\"}],\"name\":\"GracePeriodUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldMax\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMax\",\"type\":\"uint256\"}],\"name\":\"MaxPointsPerAppUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldMax\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMax\",\"type\":\"uint256\"}],\"name\":\"MaxPointsPerNodePerAppUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"thunder\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mjolnir\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"veThorX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strengthX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"thunderX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mjolnirX\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct EndorsementUtils.NodeStrengthScores\",\"name\":\"nodeStrengthScores\",\"type\":\"tuple\"}],\"name\":\"NodeStrengthScoresUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"canUnendorse\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cooldownPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endorsementScoreThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endorsementsPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getEndorserNodes\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getEndorsers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeActiveEndorsements\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endorsedAtRound\",\"type\":\"uint256\"}],\"internalType\":\"struct X2EarnAppsStorageTypes.Endorsement[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeAvailablePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeEndorsementScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getNodePointsForApp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodePointsInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"totalPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"usedPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"availablePoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockedPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct X2EarnAppsStorageTypes.NodePointsInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nodeId\",\"type\":\"uint256\"}],\"name\":\"getNodeUsedPoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"getScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getScoreAtTimepoint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUsersEndorsementScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gracePeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isBlacklisted\",\"type\":\"bool\"}],\"name\":\"isAppUnendorsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxPointsPerApp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxPointsPerNodePerApp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"migrationCompleted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"nodeLevel\",\"type\":\"uint8\"}],\"name\":\"nodeLevelEndorsementScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unendorsedAppIds\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Utility library for handling endorsements of applications in a voting context.\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{\"canUnendorse(uint256,bytes32)\":{\"details\":\"Returns false if node doesn't endorse the app or if cooldown hasn't expired.      Cooldown is measured in rounds (VeBetterDAO allocation rounds).\",\"params\":{\"appId\":\"The unique identifier of the app.\",\"nodeId\":\"The unique identifier of the node.\"},\"returns\":{\"_0\":\"True if the node can unendorse the app, false otherwise.\"}},\"checkEndorsement(bytes32,uint48)\":{\"details\":\"Removes endorsements from burned/invalid nodes and updates eligibility status.      Triggers grace period if score drops below threshold.\",\"params\":{\"appId\":\"The unique identifier of the app to check.\",\"clock\":\"The current block timestamp for grace period calculations.\"},\"returns\":{\"_0\":\"True if the app is still eligible after validation, false otherwise.\"}},\"cooldownPeriod()\":{\"details\":\"Cooldown prevents immediate un-endorsement after endorsing an app.\",\"returns\":{\"_0\":\"The cooldown period duration in rounds.\"}},\"endorseApp(bytes32,uint256,uint256,bool,bool,bool)\":{\"details\":\"Validates all constraints (paused, caps, node ownership) before creating endorsement.      If node already endorses this app, adds points and resets cooldown.      Cooldown is tracked per-app using the current round ID.\",\"params\":{\"appExists\":\"Whether the app has been fully created (not just submitted).\",\"appId\":\"The unique identifier of the app to endorse.\",\"isBlacklisted\":\"Whether the app is currently blacklisted.\",\"isEligibleNow\":\"Whether the app is currently eligible for voting.\",\"nodeId\":\"The unique identifier of the endorsing node.\",\"points\":\"The number of points to endorse with.\"}},\"endorsementScoreThreshold()\":{\"returns\":{\"_0\":\"The endorsement score threshold (default 100).\"}},\"endorsementsPaused()\":{\"returns\":{\"_0\":\"True if endorsements are paused, false otherwise.\"}},\"getEndorserNodes(bytes32)\":{\"params\":{\"appId\":\"The unique identifier of the app.\"},\"returns\":{\"_0\":\"Array of node IDs endorsing this app.\"}},\"getEndorsers(bytes32)\":{\"details\":\"Filters out burned nodes and returns only valid manager addresses.\",\"params\":{\"appId\":\"The unique identifier of the app.\"},\"returns\":{\"_0\":\"Array of addresses managing nodes that endorse this app.\"}},\"getNodeActiveEndorsements(uint256)\":{\"details\":\"Each endorsement contains appId, points, and endorsedAtRound for cooldown tracking.\",\"params\":{\"nodeId\":\"The unique identifier of the node.\"},\"returns\":{\"_0\":\"Array of Endorsement structs representing all apps the node endorses.\"}},\"getNodeAvailablePoints(uint256)\":{\"details\":\"Calculated as: totalPoints (based on node level) - usedPoints (sum of all endorsements).\",\"params\":{\"nodeId\":\"The unique identifier of the node.\"},\"returns\":{\"_0\":\"Available points the node can use for new endorsements.\"}},\"getNodeEndorsementScore(uint256)\":{\"params\":{\"nodeId\":\"The unique identifier of the node.\"},\"returns\":{\"_0\":\"The endorsement score the node has based on its strength level.\"}},\"getNodePointsForApp(uint256,bytes32)\":{\"params\":{\"appId\":\"The unique identifier of the app.\",\"nodeId\":\"The unique identifier of the node.\"},\"returns\":{\"_0\":\"The number of points the node has endorsed to this app.\"}},\"getNodePointsInfo(uint256)\":{\"details\":\"Calculates total, used, available, and locked (under cooldown) points in a single call.\",\"params\":{\"nodeId\":\"The unique identifier of the node.\"},\"returns\":{\"info\":\"Struct containing totalPoints, usedPoints, availablePoints, and lockedPoints.\"}},\"getNodeUsedPoints(uint256)\":{\"params\":{\"nodeId\":\"The unique identifier of the node.\"},\"returns\":{\"_0\":\"Total points the node has allocated to apps.\"}},\"getScore(bytes32)\":{\"params\":{\"appId\":\"The unique identifier of the app.\"},\"returns\":{\"_0\":\"The total endorsement points the app has received.\"}},\"getScoreAtTimepoint(bytes32,uint256)\":{\"params\":{\"appId\":\"The unique identifier of the app.\",\"timepoint\":\"The block number to query.\"},\"returns\":{\"_0\":\"The endorsement score at the given timepoint.\"}},\"getUsersEndorsementScore(address)\":{\"params\":{\"user\":\"The address of the user.\"},\"returns\":{\"_0\":\"Total endorsement points across all nodes the user manages.\"}},\"gracePeriod()\":{\"details\":\"Grace period is the time an app has to regain endorsement after losing eligibility.\",\"returns\":{\"_0\":\"The grace period duration in blocks.\"}},\"isAppUnendorsed(bytes32,bool)\":{\"params\":{\"appId\":\"The unique identifier of the app.\",\"isBlacklisted\":\"Whether the app is blacklisted.\"},\"returns\":{\"_0\":\"True if the app is pending endorsement, false otherwise.\"}},\"maxPointsPerApp()\":{\"returns\":{\"_0\":\"The max points per app (default 110).\"}},\"maxPointsPerNodePerApp()\":{\"returns\":{\"_0\":\"The max points per node per app (default 49).\"}},\"migrationCompleted()\":{\"returns\":{\"_0\":\"True if migration is complete, false otherwise.\"}},\"nodeLevelEndorsementScore(uint8)\":{\"params\":{\"nodeLevel\":\"The strength level (1-7 corresponding to different node types).\"},\"returns\":{\"_0\":\"The endorsement score assigned to that node level.\"}},\"removeNodeEndorsement(bytes32,uint256,bool,bool,uint48)\":{\"details\":\"Unlike unendorseApp, this bypasses cooldown check. Used by app admins to remove endorsers.\",\"params\":{\"appId\":\"The unique identifier of the app.\",\"clock\":\"The current block timestamp for grace period calculations.\",\"isBlacklisted\":\"Whether the app is currently blacklisted.\",\"isEligibleNow\":\"Whether the app is currently eligible for voting.\",\"nodeId\":\"The unique identifier of the node to remove.\"},\"returns\":{\"stillEligible\":\"Whether the app remains eligible after removal.\"}},\"removeXAppSubmission(bytes32)\":{\"details\":\"Can only be called on apps that were submitted but not yet created (createdAtTimestamp == 0).\",\"params\":{\"appId\":\"The unique identifier of the app to remove.\"}},\"setCooldownPeriod(uint256)\":{\"details\":\"Cooldown prevents immediate un-endorsement after endorsing an app.\",\"params\":{\"cooldownPeriodDuration\":\"The new cooldown period in rounds.\"}},\"setEndorsementStatus(bytes32,bool)\":{\"params\":{\"appId\":\"The unique identifier of the app.\",\"endorsed\":\"If true, removes from pending list; if false, adds to pending list.\"}},\"setEndorsementsPaused(bool)\":{\"details\":\"Used during migration to prevent state changes while data is being seeded.\",\"params\":{\"paused\":\"If true, pauses endorsements; if false, unpauses.\"}},\"setGracePeriod(uint48)\":{\"details\":\"Grace period is the time an app has to regain endorsement after losing eligibility.\",\"params\":{\"gracePeriodDuration\":\"The new grace period in blocks.\"}},\"setMaxPointsPerApp(uint256)\":{\"details\":\"Provides a buffer above the threshold to prevent over-endorsement.      Reverts if maxPoints < endorsementScoreThreshold (would make threshold unreachable).\",\"params\":{\"maxPoints\":\"The new max points per app (default 110).\"}},\"setMaxPointsPerNodePerApp(uint256)\":{\"details\":\"Enforces decentralization by preventing one node from dominating an app's endorsement.\",\"params\":{\"maxPoints\":\"The new max points per node per app (default 49).\"}},\"setMigrationCompleted(bool)\":{\"details\":\"Once complete, seedEndorsement() can no longer be called.\",\"params\":{\"completed\":\"If true, marks migration as complete.\"}},\"unendorseApp(bytes32,uint256,uint256,bool,bool,uint48)\":{\"details\":\"Requires cooldown to have expired. If points=0, removes entire endorsement.\",\"params\":{\"appId\":\"The unique identifier of the app to unendorse.\",\"clock\":\"The current block timestamp for grace period calculations.\",\"isBlacklisted\":\"Whether the app is currently blacklisted.\",\"isEligibleNow\":\"Whether the app is currently eligible for voting.\",\"nodeId\":\"The unique identifier of the endorsing node.\",\"points\":\"The number of points to remove (0 = remove all).\"},\"returns\":{\"stillEligible\":\"Whether the app remains eligible after this un-endorsement.\"}},\"unendorsedAppIds()\":{\"returns\":{\"_0\":\"Array of app IDs waiting to reach the endorsement threshold.\"}},\"updateEndorsementScoreThreshold(uint256)\":{\"details\":\"Reverts if scoreThreshold > maxPointsPerApp (would make threshold unreachable).\",\"params\":{\"scoreThreshold\":\"The new endorsement score threshold.\"}},\"updateNodeEndorsementScores(EndorsementUtils.NodeStrengthScores)\":{\"details\":\"Called by governance to adjust how many endorsement points each node type provides.\",\"params\":{\"nodeStrengthScores\":\"Struct containing scores for all 7 node levels.\"}},\"updateUnendorsedApps(bytes32,bool)\":{\"details\":\"Apps in this list have been submitted but haven't reached the endorsement threshold yet.      Uses swap-and-pop pattern for O(1) removal.\",\"params\":{\"appId\":\"The unique identifier of the app.\",\"remove\":\"If true, removes from list; if false, adds to list.\"}}},\"title\":\"EndorsementUtils\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"canUnendorse(uint256,bytes32)\":{\"notice\":\"Checks if a node can unendorse a specific app (cooldown expired).\"},\"checkEndorsement(bytes32,uint48)\":{\"notice\":\"Validates an app's endorsement status and cleans up invalid endorsements.\"},\"cooldownPeriod()\":{\"notice\":\"Returns the cooldown period duration in rounds.\"},\"endorseApp(bytes32,uint256,uint256,bool,bool,bool)\":{\"notice\":\"Endorses an app with a specified number of points from a node.\"},\"endorsementScoreThreshold()\":{\"notice\":\"Returns the minimum endorsement score required for an app to be eligible.\"},\"endorsementsPaused()\":{\"notice\":\"Checks if endorsements are currently paused (during migration).\"},\"getEndorserNodes(bytes32)\":{\"notice\":\"Returns all node IDs that endorse an app.\"},\"getEndorsers(bytes32)\":{\"notice\":\"Returns all endorser addresses for an app.\"},\"getNodeActiveEndorsements(uint256)\":{\"notice\":\"Returns all active endorsements for a node.\"},\"getNodeAvailablePoints(uint256)\":{\"notice\":\"Returns the available points a node can still allocate to apps.\"},\"getNodeEndorsementScore(uint256)\":{\"notice\":\"Returns the endorsement score for a specific node based on its level.\"},\"getNodePointsForApp(uint256,bytes32)\":{\"notice\":\"Returns how many points a node has allocated to a specific app.\"},\"getNodePointsInfo(uint256)\":{\"notice\":\"Returns comprehensive info about a node's endorsement points.\"},\"getNodeUsedPoints(uint256)\":{\"notice\":\"Returns the total points a node has used across all endorsements.\"},\"getScore(bytes32)\":{\"notice\":\"Returns the current endorsement score for an app.\"},\"getScoreAtTimepoint(bytes32,uint256)\":{\"notice\":\"Returns the endorsement score for an app at a specific block number.\"},\"getUsersEndorsementScore(address)\":{\"notice\":\"Returns the total endorsement score a user has from all their managed nodes.\"},\"gracePeriod()\":{\"notice\":\"Returns the grace period duration in blocks.\"},\"isAppUnendorsed(bytes32,bool)\":{\"notice\":\"Checks if an app is in the unendorsed (pending endorsement) list.\"},\"maxPointsPerApp()\":{\"notice\":\"Returns the maximum total points an app can receive from all endorsers.\"},\"maxPointsPerNodePerApp()\":{\"notice\":\"Returns the maximum points a single node can assign to one app.\"},\"migrationCompleted()\":{\"notice\":\"Checks if the V8 migration has been completed.\"},\"nodeLevelEndorsementScore(uint8)\":{\"notice\":\"Returns the endorsement score for a specific node strength level.\"},\"removeNodeEndorsement(bytes32,uint256,bool,bool,uint48)\":{\"notice\":\"Removes a node's endorsement from an app (called by app admin).\"},\"removeXAppSubmission(bytes32)\":{\"notice\":\"Removes an app submission that hasn't been fully created yet.\"},\"setCooldownPeriod(uint256)\":{\"notice\":\"Sets the cooldown period duration.\"},\"setEndorsementStatus(bytes32,bool)\":{\"notice\":\"Sets the endorsement status of an app and updates pending list.\"},\"setEndorsementsPaused(bool)\":{\"notice\":\"Pauses or unpauses endorsement operations.\"},\"setGracePeriod(uint48)\":{\"notice\":\"Sets the grace period duration.\"},\"setMaxPointsPerApp(uint256)\":{\"notice\":\"Sets the maximum total points an app can receive from all endorsers.\"},\"setMaxPointsPerNodePerApp(uint256)\":{\"notice\":\"Sets the maximum points a single node can assign to one app.\"},\"setMigrationCompleted(bool)\":{\"notice\":\"Marks the V8 migration as complete or incomplete.\"},\"unendorseApp(bytes32,uint256,uint256,bool,bool,uint48)\":{\"notice\":\"Removes points from an endorsement (partial or full un-endorsement).\"},\"unendorsedAppIds()\":{\"notice\":\"Returns all app IDs that are currently pending endorsement.\"},\"updateEndorsementScoreThreshold(uint256)\":{\"notice\":\"Updates the minimum endorsement score required for app eligibility.\"},\"updateNodeEndorsementScores(EndorsementUtils.NodeStrengthScores)\":{\"notice\":\"Updates the endorsement scores for all node strength levels.\"},\"updateUnendorsedApps(bytes32,bool)\":{\"notice\":\"Adds or removes an app from the unendorsed apps list.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":\"EndorsementUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol":{"X2EarnAppsStorageTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ed0056a2e475557b1c15ddd4f0826068ffd92136dc13c668c73591311fa4f77e64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xED STOP JUMP LOG2 0xE4 PUSH22 0x557B1C15DDD4F0826068FFD92136DC13C668C7359131 0x1F LOG4 0xF7 PUSH31 0x64736F6C634300081400330000000000000000000000000000000000000000 ","sourceMap":"2113:7242:136:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2113:7242:136;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ed0056a2e475557b1c15ddd4f0826068ffd92136dc13c668c73591311fa4f77e64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xED STOP JUMP LOG2 0xE4 PUSH22 0x557B1C15DDD4F0826068FFD92136DC13C668C7359131 0x1F LOG4 0xF7 PUSH31 0x64736F6C634300081400330000000000000000000000000000000000000000 ","sourceMap":"2113:7242:136:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"X2EarnAppsStorageTypes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This library defines the primary storage types used within the X2EarnApps contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":\"X2EarnAppsStorageTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/XAllocationVoting.sol":{"XAllocationVoting":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"AutoVotingNotEnabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"B3TRGovernorOnlyExecutor","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"DelegatedToNavigator","type":"error"},{"inputs":[],"name":"DuplicateAppVote","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"GovernorNonexistentRound","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"GovernorPersonhoodVerificationFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"enum IXAllocationVotingGovernor.RoundState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"name":"GovernorUnexpectedRoundState","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"InvalidCaller","type":"error"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"}],"name":"NavigatorCannotEnableAutoVoting","type":"error"},{"inputs":[{"internalType":"address","name":"navigator","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"NavigatorPreferencesNotSet","type":"error"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"}],"name":"NotDelegatedToNavigator","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"SkipWindowNotReached","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"VoteAlreadyProcessed","type":"error"},{"inputs":[{"internalType":"address","name":"person","type":"address"}],"name":"XAllocationVotingPersonhoodVerificationFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationAutoVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isPerson","type":"bool"},{"indexed":false,"internalType":"uint256","name":"appCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"AutoVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"fingerprint","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"lastChangedRound","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"FreshnessMultiplierApplied","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"NavigatorVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"citizen","type":"address"},{"indexed":true,"internalType":"address","name":"navigator","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"NavigatorVoteSkipped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","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":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACTS_ADDRESS_MANAGER_ROLE","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":"GOVERNANCE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROUND_STARTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"appSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"citizen","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castNavigatorVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"castVoteOnBehalfOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"citizenSkipWindowBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"disableAutoVotingFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"finalizeRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppsOfRound","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getDepositVotingPower","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":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRound","outputs":[{"components":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint48","name":"voteStart","type":"uint48"},{"internalType":"uint32","name":"voteDuration","type":"uint32"}],"internalType":"struct XAllocationVotingStorageTypes.RoundCore","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAutoVotingUsersAtRoundStart","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"getTotalAutoVotingUsersAtTimepoint","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundStart","type":"uint256"}],"name":"getTotalVotingPower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getUserVotingPreferences","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","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":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"hasUserVotedForApp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract INavigatorRegistry","name":"_navigatorRegistry","type":"address"},{"internalType":"uint256","name":"_citizenSkipWindowBlocks","type":"uint256"}],"name":"initializeV9","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isEligibleForVote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isUserAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isUserAutoVotingEnabledForRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isUserAutoVotingEnabledInCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"navigatorRegistry","outputs":[{"internalType":"contract INavigatorRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundQuorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"appSharesCap_","type":"uint256"}],"name":"setAppSharesCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IB3TRGovernor","name":"newB3TRGovernor","type":"address"}],"name":"setB3TRGovernor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"baseAllocationPercentage_","type":"uint256"}],"name":"setBaseAllocationPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setCitizenSkipWindowBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IEmissions","name":"newEmissions","type":"address"}],"name":"setEmissionsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract INavigatorRegistry","name":"newNavigatorRegistry","type":"address"}],"name":"setNavigatorRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRelayerRewardsPool","name":"newRelayerRewardsPool","type":"address"}],"name":"setRelayerRewardsPoolAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"appIds","type":"bytes32[]"}],"name":"setUserVotingPreferences","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVeBetterPassport","name":"newVeBetterPassport","type":"address"}],"name":"setVeBetterPassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IVoterRewards","name":"newVoterRewards","type":"address"}],"name":"setVoterRewardsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"newVotingPeriod","type":"uint32"}],"name":"setVotingPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"setVotingThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IX2EarnApps","name":"newX2EarnApps","type":"address"}],"name":"setX2EarnAppsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startNewRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum IXAllocationVotingGovernor.RoundState","name":"","type":"uint8"}],"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":"user","type":"address"}],"name":"toggleAutoVoting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"updateQuorumNumerator","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":"voter","type":"address"}],"name":"validatePersonhoodForCurrentRound","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_76970":{"entryPoint":null,"id":76970,"parameterSlots":0,"returnSlots":0},"@_disableInitializers_1700":{"entryPoint":38,"id":1700,"parameterSlots":0,"returnSlots":0},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:216:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:101:150","statements":[{"nodeType":"YulAssignment","src":"123:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"196:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"200:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"192:3:150"},"nodeType":"YulFunctionCall","src":"192:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"204:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"188:3:150"},"nodeType":"YulFunctionCall","src":"188:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:150"},"nodeType":"YulFunctionCall","src":"176:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:150"},"nodeType":"YulFunctionCall","src":"158:50:150"},"nodeType":"YulExpressionStatement","src":"158:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:150","type":""}],"src":"14:200:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"linkReferences":{"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol":{"AutoVotingLogic":[{"length":20,"start":4159},{"length":20,"start":5328},{"length":20,"start":5406},{"length":20,"start":6144},{"length":20,"start":7966},{"length":20,"start":8299},{"length":20,"start":8411},{"length":20,"start":8812},{"length":20,"start":9326},{"length":20,"start":10243},{"length":20,"start":10372},{"length":20,"start":10847},{"length":20,"start":10978},{"length":20,"start":11144},{"length":20,"start":11256},{"length":20,"start":13904}]},"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol":{"ExternalContractsUtils":[{"length":20,"start":7609},{"length":20,"start":7777},{"length":20,"start":8695},{"length":20,"start":12185},{"length":20,"start":12564},{"length":20,"start":12643},{"length":20,"start":16710},{"length":20,"start":17598}]},"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol":{"RoundEarningsSettingsUtils":[{"length":20,"start":4546},{"length":20,"start":4666},{"length":20,"start":8622},{"length":20,"start":9429},{"length":20,"start":12687},{"length":20,"start":13810},{"length":20,"start":17684}]},"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol":{"RoundFinalizationUtils":[{"length":20,"start":4973},{"length":20,"start":5032},{"length":20,"start":5129},{"length":20,"start":13065},{"length":20,"start":13168}]},"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol":{"RoundVotesCountingUtils":[{"length":20,"start":4725},{"length":20,"start":5972},{"length":20,"start":6300},{"length":20,"start":6420},{"length":20,"start":6487},{"length":20,"start":6539},{"length":20,"start":8071},{"length":20,"start":8934},{"length":20,"start":9979},{"length":20,"start":11595},{"length":20,"start":11791},{"length":20,"start":14831},{"length":20,"start":15211},{"length":20,"start":15412},{"length":20,"start":16299},{"length":20,"start":16629},{"length":20,"start":17058},{"length":20,"start":17802},{"length":20,"start":19463}]},"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol":{"RoundsStorageUtils":[{"length":20,"start":4816},{"length":20,"start":5568},{"length":20,"start":5830},{"length":20,"start":7499},{"length":20,"start":7653},{"length":20,"start":8760},{"length":20,"start":9547},{"length":20,"start":10023},{"length":20,"start":12793},{"length":20,"start":13661},{"length":20,"start":16961},{"length":20,"start":17020},{"length":20,"start":19196}]},"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol":{"VotesQuorumFractionUtils":[{"length":20,"start":4290},{"length":20,"start":6808},{"length":20,"start":8033},{"length":20,"start":9890},{"length":20,"start":17743}]},"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol":{"VotesUtils":[{"length":20,"start":4317},{"length":20,"start":5709},{"length":20,"start":6650},{"length":20,"start":8439},{"length":20,"start":9354},{"length":20,"start":9699},{"length":20,"start":11284},{"length":20,"start":13435},{"length":20,"start":17517}]},"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol":{"VotingSettingsUtils":[{"length":20,"start":4029},{"length":20,"start":9852},{"length":20,"start":12293},{"length":20,"start":12454},{"length":20,"start":13548},{"length":20,"start":17299},{"length":20,"start":19295}]}},"object":"60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051615d2062000104600039600081816146560152818161467f01526147c90152615d206000f3fe6080604052600436106103c55760003560e01c806301ffc9a7146103ca57806302a251a3146103ff578063059e952b1461042257806306f3f9e61461045a5780630a0e74ef1461047c5780630eca87fb1461049c57806319e6e158146104bc578063248a9ca3146104dc578063291605f7146104fc5780632f2ff15d14610529578063300973771461054957806333727c4d146105695780633469f6e21461058957806336568abe146105a95780633b395cbe146105c95780633d4fd3c7146105e95780633e4f49e614610609578063412caf0b1461063657806342707a43146106635780634385963214610683578063498d91bf146106a35780634bb5181a146106c35780634bf5d7e9146106e35780634cadad2f146107055780634f1ef286146107255780634fa76ec91461073857806352d1902d1461074d57806353ed63991461076257806354fd4d5014610782578063561b64ef146107ad57806357181609146107c257806359372812146107e257806359529edd146107f75780635dbdba6e146108175780635fb263671461083757806360c4247f146108575780636282773314610877578063673fc7241461088c57806374038935146108ac57806378a81336146108cc5780637ace2485146108ec578063802d27091461090c57806382afd23b1461092c578063836761e01461094c5780638a829eda1461096c5780638ab52d4b1461098c5780638f1327c0146109a157806391d14854146109fa57806391ddadf414610a1a5780639382c81814610a3c578063952f213314610a5c57806397c3d33414610a7e5780639aeb962b14610a935780639cbe5efd14610ab3578063a022756b14610ac8578063a217fddf14610add578063a461a94d14610af2578063a56b576514610b12578063a5ae08e914610b32578063a7713a7014610738578063aa86328614610b52578063abc517fd14610b72578063ad3cb1cc14610b87578063b25d6f6214610bb8578063b3c93dab14610bd8578063bb7de6d414610bf8578063bd85948c14610c0d578063be2a9f8f14610c22578063bed7301014610c42578063c048f6c914610c62578063cd669a7214610c82578063cfea80ed14610ca4578063d06efeda14610cc4578063d3a368bd14610ce4578063d4a8dd9814610d04578063d547741f14610d24578063d68b4c3614610d44578063e125f74e14610d64578063e540d01d14610d86578063eb9019d414610da6578063f36c8f5c14610dc6578063f530108f14610de8578063f5fae13614610e08578063f72c0d8b14610e28578063f8ce560a14610e4a578063fb03ec6f14610e6a575b600080fd5b3480156103d657600080fd5b506103ea6103e5366004614e2a565b610e8a565b60405190151581526020015b60405180910390f35b34801561040b57600080fd5b50610414610eb5565b6040519081526020016103f6565b34801561042e57600080fd5b5061044261043d366004614e68565b610f29565b6040516001600160d01b0390911681526020016103f6565b34801561046657600080fd5b5061047a610475366004614e85565b610fa4565b005b34801561048857600080fd5b50610414610497366004614e85565b6110a5565b3480156104a857600080fd5b506104146104b7366004614e85565b61111d565b3480156104c857600080fd5b506104146104d7366004614e85565b611158565b3480156104e857600080fd5b506104146104f7366004614e85565b611193565b34801561050857600080fd5b5061051c610517366004614e85565b6111b3565b6040516103f69190614eee565b34801561053557600080fd5b5061047a610544366004614fc0565b61122e565b34801561055557600080fd5b50610414610564366004614e85565b611250565b34801561057557600080fd5b506103ea610584366004614e85565b61128b565b34801561059557600080fd5b5061047a6105a4366004614e85565b611303565b3480156105b557600080fd5b5061047a6105c4366004614fc0565b611392565b3480156105d557600080fd5b5061047a6105e43660046150ec565b6113ca565b3480156105f557600080fd5b506103ea610604366004615120565b611416565b34801561061557600080fd5b50610629610624366004614e85565b6114a1565b6040516103f69190615176565b34801561064257600080fd5b50610656610651366004615184565b6116ea565b6040516103f691906151dc565b34801561066f57600080fd5b506103ea61067e3660046151ef565b611769565b34801561068f57600080fd5b506103ea61069e366004614fc0565b6117fe565b3480156106af57600080fd5b506104146106be366004614e85565b61183a565b3480156106cf57600080fd5b506104146106de366004615227565b611875565b3480156106ef57600080fd5b506106f86118f2565b6040516103f69190615249565b34801561071157600080fd5b50610414610720366004615120565b611965565b61047a610733366004615283565b611971565b34801561074457600080fd5b50610414611990565b34801561075957600080fd5b506104146119db565b34801561076e57600080fd5b5061047a61077d366004615310565b6119f8565b34801561078e57600080fd5b50604080518082019091526002815261031360f41b60208201526106f8565b3480156107b957600080fd5b50610414611c43565b3480156107ce57600080fd5b5061047a6107dd366004615184565b611c8e565b3480156107ee57600080fd5b50610414611cdd565b34801561080357600080fd5b50610414610812366004614e85565b611d28565b34801561082357600080fd5b5061047a610832366004615184565b611d36565b34801561084357600080fd5b506103ea610852366004615184565b611d85565b34801561086357600080fd5b50610414610872366004614e85565b611e44565b34801561088357600080fd5b50610414611e7f565b34801561089857600080fd5b5061047a6108a7366004615184565b611eca565b3480156108b857600080fd5b5061047a6108c7366004614e85565b61207c565b3480156108d857600080fd5b5061047a6108e7366004615184565b6120cc565b3480156108f857600080fd5b50610656610907366004614e85565b61211b565b34801561091857600080fd5b506103ea610927366004615184565b612156565b34801561093857600080fd5b506103ea610947366004614e85565b612190565b34801561095857600080fd5b5061047a610967366004614e85565b6121b4565b34801561097857600080fd5b5061047a610987366004615184565b612204565b34801561099857600080fd5b506104146123cd565b3480156109ad57600080fd5b506109c16109bc366004614e85565b612418565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff16908201526060016103f6565b348015610a0657600080fd5b506103ea610a15366004614fc0565b6124a5565b348015610a2657600080fd5b50610a2f6124db565b6040516103f691906153d2565b348015610a4857600080fd5b5061047a610a57366004614e85565b61254a565b348015610a6857600080fd5b50610414600080516020615ccb83398151915281565b348015610a8a57600080fd5b5061041461259a565b348015610a9f57600080fd5b506103ea610aae366004615184565b6125e5565b348015610abf57600080fd5b5061041461261f565b348015610ad457600080fd5b5061044261266a565b348015610ae957600080fd5b50610414600081565b348015610afe57600080fd5b506103ea610b0d3660046153e5565b61276e565b348015610b1e57600080fd5b50610414610b2d366004615120565b6127aa565b348015610b3e57600080fd5b5061047a610b4d366004615120565b612804565b348015610b5e57600080fd5b5061047a610b6d366004615120565b612d7c565b348015610b7e57600080fd5b50610414612f9e565b348015610b9357600080fd5b506106f8604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610bc457600080fd5b5061047a610bd3366004615184565b612fe9565b348015610be457600080fd5b5061047a610bf3366004615184565b613038565b348015610c0457600080fd5b50610414613087565b348015610c1957600080fd5b506104146130d2565b348015610c2e57600080fd5b5061047a610c3d366004615120565b6137b3565b348015610c4e57600080fd5b50610414610c5d366004615227565b613fdf565b348015610c6e57600080fd5b5061047a610c7d366004615184565b61401b565b348015610c8e57600080fd5b50610414600080516020615cab83398151915281565b348015610cb057600080fd5b506103ea610cbf366004615184565b61406a565b348015610cd057600080fd5b50610414610cdf366004614e85565b614124565b348015610cf057600080fd5b50610414610cff366004614e85565b61415f565b348015610d1057600080fd5b506103ea610d1f366004614e85565b61419a565b348015610d3057600080fd5b5061047a610d3f366004614fc0565b6141e0565b348015610d5057600080fd5b506103ea610d5f366004615227565b6141fc565b348015610d7057600080fd5b50610d79614259565b6040516103f69190615413565b348015610d9257600080fd5b5061047a610da1366004615439565b614275565b348015610db257600080fd5b50610414610dc1366004615120565b614357565b348015610dd257600080fd5b50610414600080516020615c4b83398151915281565b348015610df457600080fd5b5061047a610e03366004615184565b614393565b348015610e1457600080fd5b5061047a610e23366004614e85565b6143e2565b348015610e3457600080fd5b50610414600080516020615c6b83398151915281565b348015610e5657600080fd5b50610414610e65366004614e85565b614432565b348015610e7657600080fd5b50610414610e85366004614e85565b61446d565b60006001600160e01b03198216639da99b3f60e01b1480610eaf5750610eaf826144a8565b92915050565b600073__$e74cba849739aecfa9bf3b6281c0831878$__6302a251a36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190615456565b905090565b60405163059e952b60e01b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__9063059e952b90610f639085906004016153d2565b602060405180830381865af4158015610f80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf919061546f565b600080516020615c4b833981519152610fbc816144dd565b73__$e7d0f1dc0c8caff7791d9dd32970050ea7$__63bd88fe328373__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611020573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110449190615498565b6040516001600160e01b031960e085901b168152600481019290925265ffffffffffff1660248201526044015b60006040518083038186803b15801561108957600080fd5b505af415801561109d573d6000803e3d6000fd5b505050505050565b604051630a0e74ef60e01b81526004810182905260009073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90630a0e74ef906024015b602060405180830381865af41580156110f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf9190615456565b604051630eca87fb60e01b81526004810182905260009073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90630eca87fb906024016110dc565b60405163033cdc2b60e31b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__906319e6e158906024016110dc565b60008061119e6144ea565b60009384526020525050604090206001015490565b60405163291605f760e01b81526004810182905260609073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063291605f790602401600060405180830381865af4158015611206573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eaf919081019061551a565b61123782611193565b611240816144dd565b61124a838361450e565b50505050565b604051633009737760e01b81526004810182905260009073__$70f75f99fe6661499ece4b8956af59cd6c$__906330097377906024016110dc565b6040516333727c4d60e01b81526004810182905260009073__$70f75f99fe6661499ece4b8956af59cd6c$__906333727c4d906024015b602060405180830381865af41580156112df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf919061565d565b73__$70f75f99fe6661499ece4b8956af59cd6c$__6309d3c59b82611327846114a1565b60028111156113385761133861514c565b61134185612190565b6040518463ffffffff1660e01b815260040161135f93929190615678565b60006040518083038186803b15801561137757600080fd5b505af415801561138b573d6000803e3d6000fd5b5050505050565b6001600160a01b03811633146113bb5760405163334bd91960e11b815260040160405180910390fd5b6113c582826145af565b505050565b73__$24ed9c895b3ab1d429967676414af5d94a$__63642998816113ec614627565b546001600160a01b031633846040518463ffffffff1660e01b815260040161135f93929190615693565b600073__$24ed9c895b3ab1d429967676414af5d94a$__631f59dfd78461143c85614124565b6040518363ffffffff1660e01b81526004016114599291906156bf565b602060405180830381865af4158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a919061565d565b9392505050565b6040516368377f6d60e11b815260048101829052600090819073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d06efeda90602401602060405180830381865af41580156114f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151a9190615456565b905080600003611545576040516333b4e31b60e21b8152600481018490526024015b60405180910390fd5b600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b49190615498565b65ffffffffffff169050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63d3a368bd866040518263ffffffff1660e01b81526004016115f991815260200190565b602060405180830381865af4158015611616573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163a9190615456565b905081811061164e57506000949350505050565b73__$04e71bdb39671a9b319808db351dce05d3$__63adf865238661167286614432565b6040518363ffffffff1660e01b815260040161168f9291906156e0565b602060405180830381865af41580156116ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d0919061565d565b6116df57506001949350505050565b506002949350505050565b60405163412caf0b60e01b815260609073__$24ed9c895b3ab1d429967676414af5d94a$__9063412caf0b90611724908590600401615413565b600060405180830381865af4158015611741573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eaf9190810190615749565b6040516342707a4360e01b8152600481018490526001600160a01b03831660248201526044810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__906342707a4390606401602060405180830381865af41580156117d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f6919061565d565b949350505050565b6040516321c2cb1960e11b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90634385963290611459908690869060040161577d565b60405163498d91bf60e01b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__9063498d91bf906024016110dc565b6040516325da8c0d60e11b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90634bb5181a906118b190869086906004016156e0565b602060405180830381865af41580156118ce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a9190615456565b606073__$95674d662a270791c819f82956386ae379$__634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865af415801561193d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f249190810190615794565b600061149a8383614357565b61197961464b565b611982826146f2565b61198c828261470a565b5050565b600073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__63a7713a706040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b60006119e56147be565b50600080516020615c8b83398151915290565b8051825114611a6d5760405162461bcd60e51b815260206004820152603b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20617070732060448201527a0c2dcc840eecad2ced0e8e640d8cadccee8d040dad2e6dac2e8c6d602b1b606482015260840161153c565b6000825111611ad55760405162461bcd60e51b815260206004820152602e60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f20617060448201526d3839903a37903b37ba32903337b960911b606482015260840161153c565b3063a461a94d33611aec611ae7611c43565b614807565b6040518363ffffffff1660e01b8152600401611b099291906156bf565b602060405180830381865afa158015611b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4a919061565d565b15611b6a57336040516305b27abd60e01b815260040161153c9190615413565b6000611b74614627565b600601546001600160a01b031690508015611c2b5760006001600160a01b0382166318be49d933611ba488614124565b6040518363ffffffff1660e01b8152600401611bc19291906157c8565b602060405180830381865afa158015611bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0291906157e1565b6001600160a01b031614611c2b573360405163640ed18360e01b815260040161153c9190615413565b611c343361406a565b5061124a33858585600061483e565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b600080516020615ccb833981519152611ca6816144dd565b604051632b9f45b760e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90632b9f45b790611071908590600401615413565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63593728126040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b6000610eaf610e6583614124565b600080516020615ccb833981519152611d4e816144dd565b604051630e0bea3b60e21b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063382fa8ec90611071908590600401615413565b600080611d90614627565b60010160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e089190615456565b604051631f59dfd760e01b815290915073__$24ed9c895b3ab1d429967676414af5d94a$__90631f59dfd79061145990869085906004016156bf565b6040516360c4247f60e01b81526004810182905260009073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__906360c4247f906024016110dc565b600073__$04e71bdb39671a9b319808db351dce05d3$__63628277336040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b6000611ed4614627565b600601546001600160a01b031690508015801590611efa5750336001600160a01b038216145b611f585760405162461bcd60e51b815260206004820152602960248201527f58416c6c6f636174696f6e566f74696e673a206e6f74206e6176696761746f7260448201526820726567697374727960b81b606482015260840161153c565b604051632947884560e11b815273__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a90611f8f908590600401615413565b602060405180830381865af4158015611fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd0919061565d565b1561198c5773__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308473__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561203a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205e9190615498565b6040518463ffffffff1660e01b8152600401611071939291906157fe565b600080516020615c4b833981519152612094816144dd565b604051637403893560e01b81526004810183905273__$36f22459ee3e33aa9c0be04d35fbeab80d$__90637403893590602401611071565b600080516020615ccb8339815191526120e4816144dd565b6040516332ea3f7360e11b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__906365d47ee690611071908590600401615413565b604051637ace248560e01b81526004810182905260609073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__90637ace248590602401611724565b604051632947884560e11b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a906112c2908590600401615413565b60008061219c836114a1565b60028111156121ad576121ad61514c565b1492915050565b600080516020615c4b8339815191526121cc816144dd565b60405163041b3b0f60e51b81526004810183905273__$04e71bdb39671a9b319808db351dce05d3$__9063836761e090602401611071565b336001600160a01b0382161461222f573360405163065ece9760e51b815260040161153c9190615413565b6000612239614627565b600601546001600160a01b031690508015612368576040516353127ad560e11b81526001600160a01b0382169063a624f5aa9061227a908590600401615413565b602060405180830381865afa158015612297573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bb919061565d565b156122db5781604051638523c47f60e01b815260040161153c9190615413565b604051633e28391d60e01b81526001600160a01b03821690633e28391d90612307908590600401615413565b602060405180830381865afa158015612324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612348919061565d565b15612368578160405163640ed18360e01b815260040161153c9190615413565b73__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308473__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561203a573d6000803e3d6000fd5b600073__$36f22459ee3e33aa9c0be04d35fbeab80d$__638ab52d4b6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b6040805160608101825260008082526020820181905281830152905163023c4c9f60e61b81526004810183905273__$ee22ebed0dbdcceb519aa1d808f0526e6a$__90638f1327c090602401606060405180830381865af4158015612481573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf9190615829565b6000806124b06144ea565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612526573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190615498565b600080516020615c4b833981519152612562816144dd565b604051631270590360e31b81526004810183905273__$e74cba849739aecfa9bf3b6281c0831878$__90639382c81890602401611071565b600073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__6397c3d3346040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b604051639aeb962b60e01b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90639aeb962b906112c2908590600401615413565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b600080612675614627565b60010160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ed9190615456565b60405163059e952b60e01b815290915073__$24ed9c895b3ab1d429967676414af5d94a$__9063059e952b906127279084906004016153d2565b602060405180830381865af4158015612744573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612768919061546f565b91505090565b604051631f59dfd760e01b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__90631f59dfd79061145990869086906004016156bf565b60006127b4614627565b60049081015460405163a56b576560e01b81526001600160a01b039091169163a56b5765916127e79187918791016157c8565b602060405180830381865afa1580156118ce573d6000803e3d6000fd5b3063a461a94d83612817611ae785614124565b6040518363ffffffff1660e01b81526004016128349291906156bf565b602060405180830381865afa158015612851573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612875919061565d565b6128945781604051632b8b7c8960e01b815260040161153c9190615413565b61289e818361485d565b156128c0578181604051630a90bd6360e11b815260040161153c9291906157c8565b6128ca81836148a7565b60006128d4614627565b600301546001600160a01b031663d0ebb0ee846128f2611ae7611c43565b6040518363ffffffff1660e01b815260040161290f9291906156bf565b600060405180830381865afa15801561292c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612954919081019061589a565b509050600073__$24ed9c895b3ab1d429967676414af5d94a$__63412caf0b856040518263ffffffff1660e01b81526004016129909190615413565b600060405180830381865af41580156129ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129d59190810190615749565b9050600080600073__$24ed9c895b3ab1d429967676414af5d94a$__63ea66e04a308989886040518563ffffffff1660e01b8152600401612a1994939291906158e8565b600060405180830381865af4158015612a36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a5e9190810190615925565b925092509250841580612a7057508251155b15612cfc57604051632947884560e11b815273__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a90612aac908a90600401615413565b602060405180830381865af4158015612ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aed919061565d565b15612c385773__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308973__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612b57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b7b9190615498565b6040518463ffffffff1660e01b8152600401612b99939291906157fe565b60006040518083038186803b158015612bb157600080fd5b505af4158015612bc5573d6000803e3d6000fd5b50505050612bd1614627565b600501546040516373eff33960e11b81526001600160a01b039091169063e7dfe67290612c059089906001906004016156e0565b600060405180830381600087803b158015612c1f57600080fd5b505af1158015612c33573d6000803e3d6000fd5b505050505b604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f690612c719089908b9060040161577d565b60006040518083038186803b158015612c8957600080fd5b505af4158015612c9d573d6000803e3d6000fd5b50508451604080518915158152602081019290925281018490528892506001600160a01b038a1691507f55b62c33ca46df94310e16fc7e52e8ed456d93a5f21b1e7b5b4c2428905ddebc9060600160405180910390a350505050505050565b604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f690612d359089908b9060040161577d565b60006040518083038186803b158015612d4d57600080fd5b505af4158015612d61573d6000803e3d6000fd5b50505050612d7387878585600161483e565b50505050505050565b600080516020615c6b833981519152612d94816144dd565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460089190600160401b900460ff1680612ddd575080546001600160401b03808416911610155b15612dfb5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038516612e865760405162461bcd60e51b815260206004820152602d60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c6964206e6176696760448201526c61746f7220726567697374727960981b606482015260840161153c565b60405163ce396b1f60e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063ce396b1f90612ebd908890600401615413565b60006040518083038186803b158015612ed557600080fd5b505af4158015612ee9573d6000803e3d6000fd5b5050604051631270590360e31b81526004810187905273__$e74cba849739aecfa9bf3b6281c0831878$__9250639382c818915060240160006040518083038186803b158015612f3857600080fd5b505af4158015612f4c573d6000803e3d6000fd5b5050825460ff60401b1916835550506040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b600073__$e74cba849739aecfa9bf3b6281c0831878$__63abc517fd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b600080516020615ccb833981519152613001816144dd565b60405163358e7d9760e21b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063d639f65c90611071908590600401615413565b600080516020615ccb833981519152613050816144dd565b604051634784a11360e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90634784a11390611071908590600401615413565b600073__$36f22459ee3e33aa9c0be04d35fbeab80d$__63bb7de6d46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b6000600080516020615cab8339815191526130ec816144dd565b6000339050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865af415801561313c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131609190615456565b905080156131e45761317181612190565b156131e45760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20746865726560448201527f2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d6500606482015260840161153c565b60008111801561326557506040516333727c4d60e01b81526004810182905273__$70f75f99fe6661499ece4b8956af59cd6c$__906333727c4d90602401602060405180830381865af415801561323f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613263919061565d565b155b156132f75773__$70f75f99fe6661499ece4b8956af59cd6c$__6309d3c59b8261328e846114a1565b600281111561329f5761329f61514c565b6132a885612190565b6040518463ffffffff1660e01b81526004016132c693929190615678565b60006040518083038186803b1580156132de57600080fd5b505af41580156132f2573d6000803e3d6000fd5b505050505b6000613301614627565b546040805163c04cff1960e01b815290516001600160a01b039092169163c04cff19916004808201926000929091908290030181865afa158015613349573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133719190810190615749565b9050600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156133be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e29190615498565b9050600073__$e74cba849739aecfa9bf3b6281c0831878$__6302a251a36040518163ffffffff1660e01b8152600401602060405180830381865af415801561342f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134539190615456565b9050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__637ad59a23878585886040518563ffffffff1660e01b81526004016134949493929190615991565b602060405180830381865af41580156134b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134d59190615456565b604051633ed9b0ff60e11b81526004810182905290915073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90637db361fe9060240160006040518083038186803b15801561352357600080fd5b505af4158015613537573d6000803e3d6000fd5b505060405163059e952b60e01b81526000925073__$24ed9c895b3ab1d429967676414af5d94a$__915063059e952b906135759087906004016153d2565b602060405180830381865af4158015613592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135b6919061546f565b905060006135c2614627565b600601546001600160a01b031690506000811561364b57604051630a5515e360e01b81526001600160a01b03831690630a5515e3906136059089906004016153d2565b602060405180830381865afa158015613622573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613646919061546f565b61364e565b60005b905060006136686001600160d01b038084169086166159e5565b905060606000613676614627565b600401546001600160a01b03169050801580159061369d57506000846001600160d01b0316115b1561370b57806001600160a01b0316635584c4f96040518163ffffffff1660e01b8152600401600060405180830381865afa1580156136e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137089190810190615749565b91505b600083118061371b575060008251115b156137a157600061372a614627565b6005015460405163bfaabf3160e01b81526001600160a01b039091169150819063bfaabf319061376d908b9088906001600160d01b038b169089906004016159f8565b600060405180830381600087803b15801561378757600080fd5b505af115801561379b573d6000803e3d6000fd5b50505050505b50949b50505050505050505050505090565b6137c6816137c16000614925565b614948565b5060006137d1614627565b600601546001600160a01b0316905060006137eb83614124565b90506000826001600160a01b03166318be49d986846040518363ffffffff1660e01b815260040161381d9291906157c8565b602060405180830381865afa15801561383a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061385e91906157e1565b90506001600160a01b0381166138895784604051630d1c9abb60e31b815260040161153c9190615413565b613893848661485d565b156138b5578484604051630a90bd6360e11b815260040161153c9291906157c8565b60006138bf614627565b600501546001600160a01b031690506138d782614987565b156139dc57604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f6906139159088908a9060040161577d565b60006040518083038186803b15801561392d57600080fd5b505af4158015613941573d6000803e3d6000fd5b5050604051637b8fee0b60e11b81526001600160a01b038416925063f71fdc1691506139739088908a9060040161577d565b600060405180830381600087803b15801561398d57600080fd5b505af11580156139a1573d6000803e3d6000fd5b5050505084826001600160a01b0316876001600160a01b0316600080516020615c2b83398151915260405160405180910390a4505050505050565b604051630e53e11560e21b81526001600160a01b0385169063394f845490613a0a90859089906004016157c8565b602060405180830381865afa158015613a27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a4b919061565d565b613a9157613a58856149df565b604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f6906139159088908a9060040161577d565b6000613a9b614627565b600301546001600160a01b031663d0ebb0ee88613ab787614807565b6040518363ffffffff1660e01b8152600401613ad49291906156bf565b600060405180830381865afa158015613af1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613b19919081019061589a565b50905080613c2257604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f690613b5a9089908b9060040161577d565b60006040518083038186803b158015613b7257600080fd5b505af4158015613b86573d6000803e3d6000fd5b5050604051637b8fee0b60e11b81526001600160a01b038516925063f71fdc169150613bb89089908b9060040161577d565b600060405180830381600087803b158015613bd257600080fd5b505af1158015613be6573d6000803e3d6000fd5b5050505085836001600160a01b0316886001600160a01b0316600080516020615c2b83398151915260405160405180910390a450505050505050565b613c2c86886148a7565b600080866001600160a01b031663f232dd60868a6040518363ffffffff1660e01b8152600401613c5d9291906157c8565b600060405180830381865afa158015613c7a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613ca29190810190615a1d565b915091506000876001600160a01b031663c61c06e78b896040518363ffffffff1660e01b8152600401613cd69291906157c8565b602060405180830381865afa158015613cf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d179190615456565b90506000886001600160a01b031663e1f1c4a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d7d9190615456565b9050600083516001600160401b03811115613d9a57613d9a614ff0565b604051908082528060200260200182016040528015613dc3578160200160208202803683370190505b5090506000805b8551811015613e5a5783868281518110613de657613de6615a76565b602002602001015186613df99190615a8c565b613e039190615aa3565b838281518110613e1557613e15615a76565b602002602001018181525050828181518110613e3357613e33615a76565b602002602001015182613e4691906159e5565b915080613e5281615ac5565b915050613dca565b508381108015613e6b575060008251115b15613ea557613e7a8185615ade565b82600081518110613e8d57613e8d615a76565b60200260200101818151613ea191906159e5565b9052505b73__$04e71bdb39671a9b319808db351dce05d3$__636eafa5f68d8f6040518363ffffffff1660e01b8152600401613ede92919061577d565b60006040518083038186803b158015613ef657600080fd5b505af4158015613f0a573d6000803e3d6000fd5b50505050613f1d8d8d8885886000614af2565b6001600160a01b038816636cf88e73338f8f60006040518563ffffffff1660e01b8152600401613f509493929190615af1565b600060405180830381600087803b158015613f6a57600080fd5b505af1158015613f7e573d6000803e3d6000fd5b505050508b896001600160a01b03168e6001600160a01b03167f28e698009c3f75a566409d95005b1906bbae152060ccf899a822777dd147950c8986604051613fc8929190615b2f565b60405180910390a450505050505050505050505050565b604051630bed730160e41b815260009073__$04e71bdb39671a9b319808db351dce05d3$__9063bed73010906118b190869086906004016156e0565b600080516020615ccb833981519152614033816144dd565b604051637d4b948360e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90637d4b948390611071908590600401615413565b6000806000614077614627565b600301546001600160a01b031663d0ebb0ee85614095611ae7611c43565b6040518363ffffffff1660e01b81526004016140b29291906156bf565b600060405180830381865afa1580156140cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140f7919081019061589a565b915091508161411d5783816040516344c4534960e01b815260040161153c929190615b54565b5092915050565b6040516368377f6d60e11b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d06efeda906024016110dc565b60405163d3a368bd60e01b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d3a368bd906024016110dc565b600073__$04e71bdb39671a9b319808db351dce05d3$__63754ba25d836141c3610e6586614124565b6040518363ffffffff1660e01b81526004016112c29291906156e0565b6141e982611193565b6141f2816144dd565b61124a83836145af565b6000614206614627565b546001600160a01b031663d2570b948461421f85614124565b6040518363ffffffff1660e01b815260040161423c9291906156e0565b602060405180830381865afa158015611476573d6000803e3d6000fd5b6000614263614627565b600601546001600160a01b0316919050565b600080516020615c4b83398151915261428d816144dd565b73__$e74cba849739aecfa9bf3b6281c0831878$__630ff235a9836142b0614627565b60010160009054906101000a90046001600160a01b03166001600160a01b0316635bec4cb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015614304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143289190615456565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401611071565b604051633ae4067560e21b815260009073__$95674d662a270791c819f82956386ae379$__9063eb9019d4906118b190869086906004016157c8565b600080516020615ccb8339815191526143ab816144dd565b60405163ce396b1f60e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063ce396b1f90611071908590600401615413565b600080516020615c4b8339815191526143fa816144dd565b604051637afd709b60e11b81526004810183905273__$36f22459ee3e33aa9c0be04d35fbeab80d$__9063f5fae13690602401611071565b604051637c672b0560e11b81526004810182905260009073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__9063f8ce560a906024016110dc565b60405163fb03ec6f60e01b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__9063fb03ec6f906024016110dc565b60006001600160e01b03198216637965db0b60e01b1480610eaf57506301ffc9a760e01b6001600160e01b0319831614610eaf565b6144e78133614c3c565b50565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806145196144ea565b905061452584846124a5565b6145a5576000848152602082815260408083206001600160a01b03871684529091529020805460ff1916600117905561455b3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610eaf565b6000915050610eaf565b6000806145ba6144ea565b90506145c684846124a5565b156145a5576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610eaf565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806146d257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166146c6600080516020615c8b833981519152546001600160a01b031690565b6001600160a01b031614155b156146f05760405163703e46dd60e11b815260040160405180910390fd5b565b600080516020615c6b83398151915261198c816144dd565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015614764575060408051601f3d908101601f1916820190925261476191810190615456565b60015b6147835781604051634c9c8ce360e01b815260040161153c9190615413565b600080516020615c8b83398151915281146147b457604051632a87526960e21b81526004810182905260240161153c565b6113c58383614c67565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146146f05760405163703e46dd60e11b815260040160405180910390fd5b600065ffffffffffff82111561483a576040516306dfcc6560e41b8152603060048201526024810183905260440161153c565b5090565b600061484d86610dc187614124565b905061109d868686868587614af2565b60009182527fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d505602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6148af614627565b600501546001600160a01b031663e5ed920b8383336040516001600160e01b031960e086901b16815260048101939093526001600160a01b03918216602484015216604482015260640160006040518083038186803b15801561491157600080fd5b505afa15801561109d573d6000803e3d6000fd5b60008160028111156149395761493961514c565b600160ff919091161b92915050565b600080614954846114a1565b905060008361496283614925565b160361149a578381846040516321b2b5ab60e11b815260040161153c93929190615b78565b6000614991614627565b6006015460405163506b90db60e11b81526001600160a01b039091169063a0d721b6906149c2908590600401615413565b602060405180830381865afa1580156112df573d6000803e3d6000fd5b60405163d3a368bd60e01b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d3a368bd90602401602060405180830381865af4158015614a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a569190615456565b90508073__$e74cba849739aecfa9bf3b6281c0831878$__63abc517fd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015614aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614ac69190615456565b614ad090436159e5565b101561198c5760405163474a8edb60e11b81526004810183905260240161153c565b614b00856137c16000614925565b5073__$04e71bdb39671a9b319808db351dce05d3$__63cdc6ac0c8688878787614b298c614124565b6040518763ffffffff1660e01b8152600401614b4a96959493929190615b9a565b60006040518083038186803b158015614b6257600080fd5b505af4158015614b76573d6000803e3d6000fd5b50505050801561109d57614b88614627565b600501546001600160a01b0316636cf88e7333888860006040518563ffffffff1660e01b8152600401614bbe9493929190615af1565b600060405180830381600087803b158015614bd857600080fd5b505af1158015614bec573d6000803e3d6000fd5b5050505084866001600160a01b03167f64dbcb1d23926d04f2fea8c7cc3f5d02846ee1e48940419cf422f69ae35813aa8686604051614c2c929190615b2f565b60405180910390a3505050505050565b614c4682826124a5565b61198c57808260405163e2517d3f60e01b815260040161153c9291906157c8565b614c7082614cbd565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115614cb5576113c58282614d19565b61198c614d8f565b806001600160a01b03163b600003614cea5780604051634c9c8ce360e01b815260040161153c9190615413565b600080516020615c8b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051614d369190615c0e565b600060405180830381855af49150503d8060008114614d71576040519150601f19603f3d011682016040523d82523d6000602084013e614d76565b606091505b5091509150614d86858383614dae565b95945050505050565b34156146f05760405163b398979f60e01b815260040160405180910390fd5b606082614dc357614dbe82614e01565b61149a565b8151158015614dda57506001600160a01b0384163b155b15614dfa5783604051639996b31560e01b815260040161153c9190615413565b508061149a565b805115614e115780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b600060208284031215614e3c57600080fd5b81356001600160e01b03198116811461149a57600080fd5b65ffffffffffff811681146144e757600080fd5b600060208284031215614e7a57600080fd5b813561149a81614e54565b600060208284031215614e9757600080fd5b5035919050565b60005b83811015614eb9578181015183820152602001614ea1565b50506000910152565b60008151808452614eda816020860160208601614e9e565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614f9d57888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614f5682870182614ec2565b91505060608083015186830382880152614f708382614ec2565b6080858101519089015260a094850151151594909701939093525050509386019390860190600101614f15565b509098975050505050505050565b6001600160a01b03811681146144e757600080fd5b60008060408385031215614fd357600080fd5b823591506020830135614fe581614fab565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561502857615028614ff0565b60405290565b604051601f8201601f191681016001600160401b038111828210171561505657615056614ff0565b604052919050565b60006001600160401b0382111561507757615077614ff0565b5060051b60200190565b600082601f83011261509257600080fd5b813560206150a76150a28361505e565b61502e565b82815260059290921b840181019181810190868411156150c657600080fd5b8286015b848110156150e157803583529183019183016150ca565b509695505050505050565b6000602082840312156150fe57600080fd5b81356001600160401b0381111561511457600080fd5b6117f684828501615081565b6000806040838503121561513357600080fd5b823561513e81614fab565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b600381106151725761517261514c565b9052565b60208101610eaf8284615162565b60006020828403121561519657600080fd5b813561149a81614fab565b600081518084526020808501945080840160005b838110156151d1578151875295820195908201906001016151b5565b509495945050505050565b60208152600061149a60208301846151a1565b60008060006060848603121561520457600080fd5b83359250602084013561521681614fab565b929592945050506040919091013590565b6000806040838503121561523a57600080fd5b50508035926020909101359150565b60208152600061149a6020830184614ec2565b60006001600160401b0382111561527557615275614ff0565b50601f01601f191660200190565b6000806040838503121561529657600080fd5b82356152a181614fab565b915060208301356001600160401b038111156152bc57600080fd5b8301601f810185136152cd57600080fd5b80356152db6150a28261525c565b8181528660208385010111156152f057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008060006060848603121561532557600080fd5b833592506020808501356001600160401b038082111561534457600080fd5b61535088838901615081565b9450604087013591508082111561536657600080fd5b508501601f8101871361537857600080fd5b80356153866150a28261505e565b81815260059190911b820183019083810190898311156153a557600080fd5b928401925b828410156153c3578335825292840192908401906153aa565b80955050505050509250925092565b65ffffffffffff91909116815260200190565b600080604083850312156153f857600080fd5b823561540381614fab565b91506020830135614fe581614e54565b6001600160a01b0391909116815260200190565b63ffffffff811681146144e757600080fd5b60006020828403121561544b57600080fd5b813561149a81615427565b60006020828403121561546857600080fd5b5051919050565b60006020828403121561548157600080fd5b81516001600160d01b038116811461149a57600080fd5b6000602082840312156154aa57600080fd5b815161149a81614e54565b80516154c081614fab565b919050565b600082601f8301126154d657600080fd5b81516154e46150a28261525c565b8181528460208386010111156154f957600080fd5b6117f6826020830160208701614e9e565b805180151581146154c057600080fd5b6000602080838503121561552d57600080fd5b82516001600160401b038082111561554457600080fd5b818501915085601f83011261555857600080fd5b81516155666150a28261505e565b81815260059190911b8301840190848101908883111561558557600080fd5b8585015b83811015615650578051858111156155a057600080fd5b860160c0818c03601f190112156155b75760008081fd5b6155bf615006565b88820151815260406155d28184016154b5565b8a830152606080840151898111156155ea5760008081fd5b6155f88f8d838801016154c5565b83850152506080915081840151898111156156135760008081fd5b6156218f8d838801016154c5565b82850152505060a0808401518284015261563d60c0850161550a565b9083015250845250918601918601615589565b5098975050505050505050565b60006020828403121561566f57600080fd5b61149a8261550a565b92835260ff9190911660208301521515604082015260600190565b6001600160a01b03848116825283166020820152606060408201819052600090614d86908301846151a1565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b918252602082015260400190565b600082601f8301126156ff57600080fd5b8151602061570f6150a28361505e565b82815260059290921b8401810191818101908684111561572e57600080fd5b8286015b848110156150e15780518352918301918301615732565b60006020828403121561575b57600080fd5b81516001600160401b0381111561577157600080fd5b6117f6848285016156ee565b9182526001600160a01b0316602082015260400190565b6000602082840312156157a657600080fd5b81516001600160401b038111156157bc57600080fd5b6117f6848285016154c5565b6001600160a01b03929092168252602082015260400190565b6000602082840312156157f357600080fd5b815161149a81614fab565b6001600160a01b03938416815291909216602082015265ffffffffffff909116604082015260600190565b60006060828403121561583b57600080fd5b604051606081016001600160401b038111828210171561585d5761585d614ff0565b604052825161586b81614fab565b8152602083015161587b81614e54565b6020820152604083015161588e81615427565b60408201529392505050565b600080604083850312156158ad57600080fd5b6158b68361550a565b60208401519092506001600160401b038111156158d257600080fd5b6158de858286016154c5565b9150509250929050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061591b908301846151a1565b9695505050505050565b60008060006060848603121561593a57600080fd5b83516001600160401b038082111561595157600080fd5b61595d878388016156ee565b9450602086015191508082111561597357600080fd5b50615980868287016156ee565b925050604084015190509250925092565b6001600160a01b038516815265ffffffffffff8416602082015263ffffffff8316604082015260806060820181905260009061591b908301846151a1565b634e487b7160e01b600052601160045260246000fd5b80820180821115610eaf57610eaf6159cf565b84815283602082015282604082015260806060820152600061591b60808301846151a1565b60008060408385031215615a3057600080fd5b82516001600160401b0380821115615a4757600080fd5b615a53868387016156ee565b93506020850151915080821115615a6957600080fd5b506158de858286016156ee565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610eaf57610eaf6159cf565b600082615ac057634e487b7160e01b600052601260045260246000fd5b500490565b600060018201615ad757615ad76159cf565b5060010190565b81810381811115610eaf57610eaf6159cf565b6001600160a01b03858116825284166020820152604081018390526080810160028310615b2057615b2061514c565b82606083015295945050505050565b604081526000615b4260408301856151a1565b8281036020840152614d8681856151a1565b6001600160a01b03831681526040602082018190526000906117f690830184614ec2565b83815260608101615b8c6020830185615162565b826040830152949350505050565b8681526000602060018060a01b0388168184015260c06040840152615bc260c08401886151a1565b838103606085015286518082528288019183019060005b81811015615bf557835183529284019291840191600101615bd9565b5050608085019690965250505060a00152949350505050565b60008251615c20818460208701614e9e565b919091019291505056fe8e8addaac431662b768d45375ef48133b8bad0daad5ce4096fd41007e8d31a8771840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7a264697066735822122039d2a325e8cafd5bd55c11631394c0223daef90ad873d7bb6c432af04b6967a564736f6c63430008140033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x5D20 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x4656 ADD MSTORE DUP2 DUP2 PUSH2 0x467F ADD MSTORE PUSH2 0x47C9 ADD MSTORE PUSH2 0x5D20 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3C5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x3CA JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x3FF JUMPI DUP1 PUSH4 0x59E952B EQ PUSH2 0x422 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x45A JUMPI DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x47C JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0x49C JUMPI DUP1 PUSH4 0x19E6E158 EQ PUSH2 0x4BC JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x4DC JUMPI DUP1 PUSH4 0x291605F7 EQ PUSH2 0x4FC JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x529 JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x549 JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0x3469F6E2 EQ PUSH2 0x589 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x5A9 JUMPI DUP1 PUSH4 0x3B395CBE EQ PUSH2 0x5C9 JUMPI DUP1 PUSH4 0x3D4FD3C7 EQ PUSH2 0x5E9 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x609 JUMPI DUP1 PUSH4 0x412CAF0B EQ PUSH2 0x636 JUMPI DUP1 PUSH4 0x42707A43 EQ PUSH2 0x663 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x683 JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x6A3 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x6C3 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x6E3 JUMPI DUP1 PUSH4 0x4CADAD2F EQ PUSH2 0x705 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x725 JUMPI DUP1 PUSH4 0x4FA76EC9 EQ PUSH2 0x738 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x74D JUMPI DUP1 PUSH4 0x53ED6399 EQ PUSH2 0x762 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x782 JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0x7AD JUMPI DUP1 PUSH4 0x57181609 EQ PUSH2 0x7C2 JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x7E2 JUMPI DUP1 PUSH4 0x59529EDD EQ PUSH2 0x7F7 JUMPI DUP1 PUSH4 0x5DBDBA6E EQ PUSH2 0x817 JUMPI DUP1 PUSH4 0x5FB26367 EQ PUSH2 0x837 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x857 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x877 JUMPI DUP1 PUSH4 0x673FC724 EQ PUSH2 0x88C JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0x8AC JUMPI DUP1 PUSH4 0x78A81336 EQ PUSH2 0x8CC JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x8EC JUMPI DUP1 PUSH4 0x802D2709 EQ PUSH2 0x90C JUMPI DUP1 PUSH4 0x82AFD23B EQ PUSH2 0x92C JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x94C JUMPI DUP1 PUSH4 0x8A829EDA EQ PUSH2 0x96C JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0x98C JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0x9A1 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x9FA JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xA1A JUMPI DUP1 PUSH4 0x9382C818 EQ PUSH2 0xA3C JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xA5C JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xA7E JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xA93 JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0xAB3 JUMPI DUP1 PUSH4 0xA022756B EQ PUSH2 0xAC8 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xADD JUMPI DUP1 PUSH4 0xA461A94D EQ PUSH2 0xAF2 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xB12 JUMPI DUP1 PUSH4 0xA5AE08E9 EQ PUSH2 0xB32 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x738 JUMPI DUP1 PUSH4 0xAA863286 EQ PUSH2 0xB52 JUMPI DUP1 PUSH4 0xABC517FD EQ PUSH2 0xB72 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xB87 JUMPI DUP1 PUSH4 0xB25D6F62 EQ PUSH2 0xBB8 JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xBD8 JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xBF8 JUMPI DUP1 PUSH4 0xBD85948C EQ PUSH2 0xC0D JUMPI DUP1 PUSH4 0xBE2A9F8F EQ PUSH2 0xC22 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0xC42 JUMPI DUP1 PUSH4 0xC048F6C9 EQ PUSH2 0xC62 JUMPI DUP1 PUSH4 0xCD669A72 EQ PUSH2 0xC82 JUMPI DUP1 PUSH4 0xCFEA80ED EQ PUSH2 0xCA4 JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0xCC4 JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0xCE4 JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0xD04 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xD24 JUMPI DUP1 PUSH4 0xD68B4C36 EQ PUSH2 0xD44 JUMPI DUP1 PUSH4 0xE125F74E EQ PUSH2 0xD64 JUMPI DUP1 PUSH4 0xE540D01D EQ PUSH2 0xD86 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xDA6 JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0xDC6 JUMPI DUP1 PUSH4 0xF530108F EQ PUSH2 0xDE8 JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0xE08 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xE28 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xE4A JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0xE6A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x3E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E2A JUMP JUMPDEST PUSH2 0xE8A JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xEB5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x442 PUSH2 0x43D CALLDATASIZE PUSH1 0x4 PUSH2 0x4E68 JUMP JUMPDEST PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x475 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0xFA4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x497 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x10A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x111D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1158 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1193 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x508 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x51C PUSH2 0x517 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x11B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4EEE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x535 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x544 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x122E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x564 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1250 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x584 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x128B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x595 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1303 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x1392 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x50EC JUMP JUMPDEST PUSH2 0x13CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x604 CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x1416 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x615 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x629 PUSH2 0x624 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x14A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5176 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x642 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x656 PUSH2 0x651 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x16EA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x51DC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x67E CALLDATASIZE PUSH1 0x4 PUSH2 0x51EF JUMP JUMPDEST PUSH2 0x1769 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x69E CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x17FE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x6BE CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x183A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x6DE CALLDATASIZE PUSH1 0x4 PUSH2 0x5227 JUMP JUMPDEST PUSH2 0x1875 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F8 PUSH2 0x18F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5249 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x711 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x720 CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x1965 JUMP JUMPDEST PUSH2 0x47A PUSH2 0x733 CALLDATASIZE PUSH1 0x4 PUSH2 0x5283 JUMP JUMPDEST PUSH2 0x1971 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x744 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1990 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x759 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x19DB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x76E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x77D CALLDATASIZE PUSH1 0x4 PUSH2 0x5310 JUMP JUMPDEST PUSH2 0x19F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x78E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH2 0x313 PUSH1 0xF4 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x6F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1C43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x7DD CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x1C8E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1CDD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x803 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x812 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1D28 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x823 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x832 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x1D36 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x843 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x852 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x1D85 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x863 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x872 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1E44 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x883 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1E7F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x898 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x1ECA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x207C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x20CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x656 PUSH2 0x907 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x211B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x918 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x927 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x938 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x947 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x2190 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x958 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x967 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x21B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x978 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x987 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x2204 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x998 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x23CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C1 PUSH2 0x9BC CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x2418 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xA15 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x24A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA2F PUSH2 0x24DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x53D2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xA57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x254A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x259A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xAAE CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x25E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xABF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x261F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x442 PUSH2 0x266A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xB0D CALLDATASIZE PUSH1 0x4 PUSH2 0x53E5 JUMP JUMPDEST PUSH2 0x276E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xB2D CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x27AA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB3E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xB4D CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x2804 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xB6D CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x2D7C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2F9E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F8 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xBD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x2FE9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xBF3 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x3038 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x3087 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x30D2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xC3D CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x37B3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xC5D CALLDATASIZE PUSH1 0x4 PUSH2 0x5227 JUMP JUMPDEST PUSH2 0x3FDF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xC7D CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x401B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCB0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xCBF CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x406A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xCDF CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x4124 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xCFF CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x415F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xD1F CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x419A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xD3F CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x41E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xD5F CALLDATASIZE PUSH1 0x4 PUSH2 0x5227 JUMP JUMPDEST PUSH2 0x41FC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD79 PUSH2 0x4259 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xDA1 CALLDATASIZE PUSH1 0x4 PUSH2 0x5439 JUMP JUMPDEST PUSH2 0x4275 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xDC1 CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x4357 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xE03 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x4393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xE23 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x43E2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xE65 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x4432 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xE85 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x446D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x9DA99B3F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xEAF JUMPI POP PUSH2 0xEAF DUP3 PUSH2 0x44A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF24 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x59E952B SWAP1 PUSH2 0xF63 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x53D2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF80 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAF SWAP2 SWAP1 PUSH2 0x546F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xFBC DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xBD88FE32 DUP4 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1020 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1044 SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x109D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA0E74EF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA0E74EF SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x10F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAF SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xECA87FB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xECA87FB SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x33CDC2B PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x19E6E158 SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x119E PUSH2 0x44EA JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x291605F7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x291605F7 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1206 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xEAF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x551A JUMP JUMPDEST PUSH2 0x1237 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH2 0x1240 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH2 0x124A DUP4 DUP4 PUSH2 0x450E JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x30097377 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x30097377 SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x33727C4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x33727C4D SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x12DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAF SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9D3C59B DUP3 PUSH2 0x1327 DUP5 PUSH2 0x14A1 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1338 JUMPI PUSH2 0x1338 PUSH2 0x514C JUMP JUMPDEST PUSH2 0x1341 DUP6 PUSH2 0x2190 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135F SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5678 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1377 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x138B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x13BB JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x13C5 DUP3 DUP3 PUSH2 0x45AF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0x64299881 PUSH2 0x13EC PUSH2 0x4627 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135F SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5693 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x1F59DFD7 DUP5 PUSH2 0x143C DUP6 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1459 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1476 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x149A SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x151A SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x1545 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33B4E31B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1590 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0xD3A368BD DUP7 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15F9 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1616 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x163A SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x164E JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0xADF86523 DUP7 PUSH2 0x1672 DUP7 PUSH2 0x4432 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x168F SWAP3 SWAP2 SWAP1 PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x16AC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16D0 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST PUSH2 0x16DF JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x412CAF0B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x412CAF0B SWAP1 PUSH2 0x1724 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1741 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xEAF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5749 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x42707A43 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x42707A43 SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17D2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17F6 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x21C2CB19 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x43859632 SWAP1 PUSH2 0x1459 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x498D91BF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x498D91BF SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x25DA8C0D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x4BB5181A SWAP1 PUSH2 0x18B1 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x18CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x149A SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x193D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF24 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5794 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x149A DUP4 DUP4 PUSH2 0x4357 JUMP JUMPDEST PUSH2 0x1979 PUSH2 0x464B JUMP JUMPDEST PUSH2 0x1982 DUP3 PUSH2 0x46F2 JUMP JUMPDEST PUSH2 0x198C DUP3 DUP3 PUSH2 0x470A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xA7713A70 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19E5 PUSH2 0x47BE JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x1A6D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206170707320 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0xC2DCC840EECAD2CED0E8E640D8CADCCEE8D040DAD2E6DAC2E8C6D PUSH1 0x2B SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1AD5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E6F206170 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3839903A37903B37BA32903337B9 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST ADDRESS PUSH4 0xA461A94D CALLER PUSH2 0x1AEC PUSH2 0x1AE7 PUSH2 0x1C43 JUMP JUMPDEST PUSH2 0x4807 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B09 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B26 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B4A SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x1B6A JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x5B27ABD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B74 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO PUSH2 0x1C2B JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH4 0x18BE49D9 CALLER PUSH2 0x1BA4 DUP9 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BC1 SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1BDE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C02 SWAP2 SWAP1 PUSH2 0x57E1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1C2B JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH2 0x1C34 CALLER PUSH2 0x406A JUMP JUMPDEST POP PUSH2 0x124A CALLER DUP6 DUP6 DUP6 PUSH1 0x0 PUSH2 0x483E JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1CA6 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2B9F45B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x2B9F45B7 SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEAF PUSH2 0xE65 DUP4 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1D4E DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x382FA8EC SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D90 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DE4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E08 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F59DFD7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x1F59DFD7 SWAP1 PUSH2 0x1459 SWAP1 DUP7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x60C4247F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x60C4247F SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x62827733 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1ED4 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x1EFA JUMPI POP CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ JUMPDEST PUSH2 0x1F58 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A206E6F74206E6176696761746F72 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x207265676973747279 PUSH1 0xB8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x1F8F SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1FAC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FD0 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x198C JUMPI PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP5 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x203A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x205E SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1071 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x57FE JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2094 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x74038935 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x74038935 SWAP1 PUSH1 0x24 ADD PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x20E4 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x32EA3F73 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x65D47EE6 SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7ACE2485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x7ACE2485 SWAP1 PUSH1 0x24 ADD PUSH2 0x1724 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x12C2 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x219C DUP4 PUSH2 0x14A1 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x21AD JUMPI PUSH2 0x21AD PUSH2 0x514C JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x21CC DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x41B3B0F PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x836761E0 SWAP1 PUSH1 0x24 ADD PUSH2 0x1071 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x222F JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x65ECE97 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2239 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO PUSH2 0x2368 JUMPI PUSH1 0x40 MLOAD PUSH4 0x53127AD5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xA624F5AA SWAP1 PUSH2 0x227A SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2297 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22BB SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x22DB JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x8523C47F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3E28391D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x3E28391D SWAP1 PUSH2 0x2307 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2324 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2348 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x2368 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP5 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x203A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x8AB52D4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE DUP2 DUP4 ADD MSTORE SWAP1 MLOAD PUSH4 0x23C4C9F PUSH1 0xE6 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8F1327C0 SWAP1 PUSH1 0x24 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2481 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAF SWAP2 SWAP1 PUSH2 0x5829 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24B0 PUSH2 0x44EA JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2526 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF24 SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2562 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x12705903 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x9382C818 SWAP1 PUSH1 0x24 ADD PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x97C3D334 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x12C2 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2675 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x26C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x26ED SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x59E952B SWAP1 PUSH2 0x2727 SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x53D2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2744 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2768 SWAP2 SWAP1 PUSH2 0x546F JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F59DFD7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x1F59DFD7 SWAP1 PUSH2 0x1459 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27B4 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x4 SWAP1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xA56B5765 SWAP2 PUSH2 0x27E7 SWAP2 DUP8 SWAP2 DUP8 SWAP2 ADD PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH4 0xA461A94D DUP4 PUSH2 0x2817 PUSH2 0x1AE7 DUP6 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2834 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2851 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2875 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST PUSH2 0x2894 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x2B8B7C89 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH2 0x289E DUP2 DUP4 PUSH2 0x485D JUMP JUMPDEST ISZERO PUSH2 0x28C0 JUMPI DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0xA90BD63 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH2 0x28CA DUP2 DUP4 PUSH2 0x48A7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28D4 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP5 PUSH2 0x28F2 PUSH2 0x1AE7 PUSH2 0x1C43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x290F SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x292C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2954 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x589A JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x412CAF0B DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2990 SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x29D5 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5749 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0xEA66E04A ADDRESS DUP10 DUP10 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2A19 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x58E8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2A36 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2A5E SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5925 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP5 ISZERO DUP1 PUSH2 0x2A70 JUMPI POP DUP3 MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x2CFC JUMPI PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x2AAC SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2AC9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AED SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x2C38 JUMPI PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP10 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2B57 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B7B SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B99 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x57FE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2BB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2BC5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x2BD1 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x73EFF339 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE7DFE672 SWAP1 PUSH2 0x2C05 SWAP1 DUP10 SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x4 ADD PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2C1F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2C33 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x2C71 SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2C89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2C9D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP5 MLOAD PUSH1 0x40 DUP1 MLOAD DUP10 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD DUP5 SWAP1 MSTORE DUP9 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND SWAP2 POP PUSH32 0x55B62C33CA46DF94310E16FC7E52E8ED456D93A5F21B1E7B5B4C2428905DDEBC SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x2D35 SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2D4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2D61 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x2D73 DUP8 DUP8 DUP6 DUP6 PUSH1 0x1 PUSH2 0x483E JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2D94 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x8 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2DDD JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2DFB JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2E86 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C6964206E61766967 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x61746F72207265676973747279 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x2EBD SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2ED5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2EE9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x12705903 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x9382C818 SWAP2 POP PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2F38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2F4C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP3 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP4 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xABC517FD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x3001 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x358E7D97 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD639F65C SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x3050 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4784A113 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4784A113 SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBB7DE6D4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x30EC DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x313C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3160 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x31E4 JUMPI PUSH2 0x3171 DUP2 PUSH2 0x2190 JUMP JUMPDEST ISZERO PUSH2 0x31E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A207468657265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2063616E206265206F6E6C79206F6E6520726F756E64207065722074696D6500 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x3265 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x33727C4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x33727C4D SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x323F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3263 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x32F7 JUMPI PUSH20 0x0 PUSH4 0x9D3C59B DUP3 PUSH2 0x328E DUP5 PUSH2 0x14A1 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x329F JUMPI PUSH2 0x329F PUSH2 0x514C JUMP JUMPDEST PUSH2 0x32A8 DUP6 PUSH2 0x2190 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x32C6 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5678 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x32DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x32F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x0 PUSH2 0x3301 PUSH2 0x4627 JUMP JUMPDEST SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xC04CFF19 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xC04CFF19 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3349 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3371 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5749 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x33BE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x33E2 SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x342F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3453 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x7AD59A23 DUP8 DUP6 DUP6 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3494 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5991 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x34B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x34D5 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3ED9B0FF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x7DB361FE SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3523 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3537 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 POP PUSH20 0x0 SWAP2 POP PUSH4 0x59E952B SWAP1 PUSH2 0x3575 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x53D2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3592 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35B6 SWAP2 SWAP1 PUSH2 0x546F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x35C2 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH1 0x0 DUP2 ISZERO PUSH2 0x364B JUMPI PUSH1 0x40 MLOAD PUSH4 0xA5515E3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0xA5515E3 SWAP1 PUSH2 0x3605 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x53D2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3622 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3646 SWAP2 SWAP1 PUSH2 0x546F JUMP JUMPDEST PUSH2 0x364E JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3668 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP5 AND SWAP1 DUP7 AND PUSH2 0x59E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x60 PUSH1 0x0 PUSH2 0x3676 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x369D JUMPI POP PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND GT JUMPDEST ISZERO PUSH2 0x370B JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5584C4F9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x36E0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3708 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5749 JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 DUP4 GT DUP1 PUSH2 0x371B JUMPI POP PUSH1 0x0 DUP3 MLOAD GT JUMPDEST ISZERO PUSH2 0x37A1 JUMPI PUSH1 0x0 PUSH2 0x372A PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFAABF31 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP DUP2 SWAP1 PUSH4 0xBFAABF31 SWAP1 PUSH2 0x376D SWAP1 DUP12 SWAP1 DUP9 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP12 AND SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x59F8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x379B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST POP SWAP5 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x37C6 DUP2 PUSH2 0x37C1 PUSH1 0x0 PUSH2 0x4925 JUMP JUMPDEST PUSH2 0x4948 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x37D1 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH1 0x0 PUSH2 0x37EB DUP4 PUSH2 0x4124 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18BE49D9 DUP7 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x381D SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x383A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x385E SWAP2 SWAP1 PUSH2 0x57E1 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3889 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xD1C9ABB PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH2 0x3893 DUP5 DUP7 PUSH2 0x485D JUMP JUMPDEST ISZERO PUSH2 0x38B5 JUMPI DUP5 DUP5 PUSH1 0x40 MLOAD PUSH4 0xA90BD63 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38BF PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH2 0x38D7 DUP3 PUSH2 0x4987 JUMP JUMPDEST ISZERO PUSH2 0x39DC JUMPI PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x3915 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x392D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3941 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP3 POP PUSH4 0xF71FDC16 SWAP2 POP PUSH2 0x3973 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x398D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x39A1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE53E115 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x394F8454 SWAP1 PUSH2 0x3A0A SWAP1 DUP6 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A27 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A4B SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST PUSH2 0x3A91 JUMPI PUSH2 0x3A58 DUP6 PUSH2 0x49DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x3915 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A9B PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP9 PUSH2 0x3AB7 DUP8 PUSH2 0x4807 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3AD4 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3AF1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3B19 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x589A JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x3C22 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x3B5A SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3B72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3B86 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP3 POP PUSH4 0xF71FDC16 SWAP2 POP PUSH2 0x3BB8 SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3BD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BE6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP6 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3C2C DUP7 DUP9 PUSH2 0x48A7 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF232DD60 DUP7 DUP11 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C5D SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3C7A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3CA2 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5A1D JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC61C06E7 DUP12 DUP10 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD6 SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3CF3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3D17 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE1F1C4A7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3D59 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3D7D SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3D9A JUMPI PUSH2 0x3D9A PUSH2 0x4FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3DC3 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x3E5A JUMPI DUP4 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3DE6 JUMPI PUSH2 0x3DE6 PUSH2 0x5A76 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH2 0x3DF9 SWAP2 SWAP1 PUSH2 0x5A8C JUMP JUMPDEST PUSH2 0x3E03 SWAP2 SWAP1 PUSH2 0x5AA3 JUMP JUMPDEST DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3E15 JUMPI PUSH2 0x3E15 PUSH2 0x5A76 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3E33 JUMPI PUSH2 0x3E33 PUSH2 0x5A76 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH2 0x3E46 SWAP2 SWAP1 PUSH2 0x59E5 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x3E52 DUP2 PUSH2 0x5AC5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3DCA JUMP JUMPDEST POP DUP4 DUP2 LT DUP1 ISZERO PUSH2 0x3E6B JUMPI POP PUSH1 0x0 DUP3 MLOAD GT JUMPDEST ISZERO PUSH2 0x3EA5 JUMPI PUSH2 0x3E7A DUP2 DUP6 PUSH2 0x5ADE JUMP JUMPDEST DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x3E8D JUMPI PUSH2 0x3E8D PUSH2 0x5A76 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH2 0x3EA1 SWAP2 SWAP1 PUSH2 0x59E5 JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST PUSH20 0x0 PUSH4 0x6EAFA5F6 DUP14 DUP16 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3EDE SWAP3 SWAP2 SWAP1 PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3EF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3F0A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x3F1D DUP14 DUP14 DUP9 DUP6 DUP9 PUSH1 0x0 PUSH2 0x4AF2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH4 0x6CF88E73 CALLER DUP16 DUP16 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3F50 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5AF1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3F6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3F7E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP12 DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x28E698009C3F75A566409D95005B1906BBAE152060CCF899A822777DD147950C DUP10 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3FC8 SWAP3 SWAP2 SWAP1 PUSH2 0x5B2F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBED7301 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xBED73010 SWAP1 PUSH2 0x18B1 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x4033 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7D4B9483 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x7D4B9483 SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x4077 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP6 PUSH2 0x4095 PUSH2 0x1AE7 PUSH2 0x1C43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x40B2 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x40CF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x40F7 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x589A JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x411D JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP3 SWAP2 SWAP1 PUSH2 0x5B54 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x754BA25D DUP4 PUSH2 0x41C3 PUSH2 0xE65 DUP7 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C2 SWAP3 SWAP2 SWAP1 PUSH2 0x56E0 JUMP JUMPDEST PUSH2 0x41E9 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH2 0x41F2 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH2 0x124A DUP4 DUP4 PUSH2 0x45AF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4206 PUSH2 0x4627 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD2570B94 DUP5 PUSH2 0x421F DUP6 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x423C SWAP3 SWAP2 SWAP1 PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1476 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x4263 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x428D DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xFF235A9 DUP4 PUSH2 0x42B0 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5BEC4CB4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4304 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4328 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH4 0xFFFFFFFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3AE40675 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xEB9019D4 SWAP1 PUSH2 0x18B1 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x43AB DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x43FA DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7AFD709B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xF5FAE136 SWAP1 PUSH1 0x24 ADD PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7C672B05 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xF8CE560A SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xFB03EC6F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xFB03EC6F SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xEAF JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xEAF JUMP JUMPDEST PUSH2 0x44E7 DUP2 CALLER PUSH2 0x4C3C JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4519 PUSH2 0x44EA JUMP JUMPDEST SWAP1 POP PUSH2 0x4525 DUP5 DUP5 PUSH2 0x24A5 JUMP JUMPDEST PUSH2 0x45A5 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x455B CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x45BA PUSH2 0x44EA JUMP JUMPDEST SWAP1 POP PUSH2 0x45C6 DUP5 DUP5 PUSH2 0x24A5 JUMP JUMPDEST ISZERO PUSH2 0x45A5 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xEAF JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x46D2 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x46C6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x46F0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x198C DUP2 PUSH2 0x44DD JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x4764 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x4761 SWAP2 DUP2 ADD SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4783 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x47B4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x153C JUMP JUMPDEST PUSH2 0x13C5 DUP4 DUP4 PUSH2 0x4C67 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x46F0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x483A JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x153C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x484D DUP7 PUSH2 0xDC1 DUP8 PUSH2 0x4124 JUMP JUMPDEST SWAP1 POP PUSH2 0x109D DUP7 DUP7 DUP7 DUP7 DUP6 DUP8 PUSH2 0x4AF2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D505 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x48AF PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE5ED920B DUP4 DUP4 CALLER PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP5 ADD MSTORE AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4911 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x109D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4939 JUMPI PUSH2 0x4939 PUSH2 0x514C JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4954 DUP5 PUSH2 0x14A1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x4962 DUP4 PUSH2 0x4925 JUMP JUMPDEST AND SUB PUSH2 0x149A JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5B78 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4991 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x506B90DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA0D721B6 SWAP1 PUSH2 0x49C2 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4A32 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4A56 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0x0 PUSH4 0xABC517FD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4AA2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4AC6 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH2 0x4AD0 SWAP1 NUMBER PUSH2 0x59E5 JUMP JUMPDEST LT ISZERO PUSH2 0x198C JUMPI PUSH1 0x40 MLOAD PUSH4 0x474A8EDB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x153C JUMP JUMPDEST PUSH2 0x4B00 DUP6 PUSH2 0x37C1 PUSH1 0x0 PUSH2 0x4925 JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xCDC6AC0C DUP7 DUP9 DUP8 DUP8 DUP8 PUSH2 0x4B29 DUP13 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP8 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4B4A SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5B9A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4B62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4B76 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 ISZERO PUSH2 0x109D JUMPI PUSH2 0x4B88 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6CF88E73 CALLER DUP9 DUP9 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4BBE SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5AF1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4BD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4BEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x64DBCB1D23926D04F2FEA8C7CC3F5D02846EE1E48940419CF422F69AE35813AA DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x4C2C SWAP3 SWAP2 SWAP1 PUSH2 0x5B2F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x4C46 DUP3 DUP3 PUSH2 0x24A5 JUMP JUMPDEST PUSH2 0x198C JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH2 0x4C70 DUP3 PUSH2 0x4CBD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4CB5 JUMPI PUSH2 0x13C5 DUP3 DUP3 PUSH2 0x4D19 JUMP JUMPDEST PUSH2 0x198C PUSH2 0x4D8F JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4CEA JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x4D36 SWAP2 SWAP1 PUSH2 0x5C0E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4D71 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4D76 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x4D86 DUP6 DUP4 DUP4 PUSH2 0x4DAE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x46F0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4DC3 JUMPI PUSH2 0x4DBE DUP3 PUSH2 0x4E01 JUMP JUMPDEST PUSH2 0x149A JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4DDA JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4DFA JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST POP DUP1 PUSH2 0x149A JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4E11 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x149A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x44E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x149A DUP2 PUSH2 0x4E54 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4EB9 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4EA1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4EDA DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4E9E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F9D JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x4F56 DUP3 DUP8 ADD DUP3 PUSH2 0x4EC2 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x4F70 DUP4 DUP3 PUSH2 0x4EC2 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4F15 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x44E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4FD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4FE5 DUP2 PUSH2 0x4FAB JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x5028 JUMPI PUSH2 0x5028 PUSH2 0x4FF0 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x5056 JUMPI PUSH2 0x5056 PUSH2 0x4FF0 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5077 JUMPI PUSH2 0x5077 PUSH2 0x4FF0 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5092 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x50A7 PUSH2 0x50A2 DUP4 PUSH2 0x505E JUMP JUMPDEST PUSH2 0x502E JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x50C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x50E1 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x50CA JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x50FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5114 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F6 DUP5 DUP3 DUP6 ADD PUSH2 0x5081 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x513E DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x5172 JUMPI PUSH2 0x5172 PUSH2 0x514C JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0xEAF DUP3 DUP5 PUSH2 0x5162 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5196 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x149A DUP2 PUSH2 0x4FAB JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x51D1 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x51B5 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x149A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5204 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x5216 DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x523A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x149A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4EC2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5275 JUMPI PUSH2 0x5275 PUSH2 0x4FF0 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5296 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x52A1 DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x52BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x52CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x52DB PUSH2 0x50A2 DUP3 PUSH2 0x525C JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x52F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5325 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP1 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5344 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5350 DUP9 DUP4 DUP10 ADD PUSH2 0x5081 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5366 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x5378 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x5386 PUSH2 0x50A2 DUP3 PUSH2 0x505E JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x53A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x53C3 JUMPI DUP4 CALLDATALOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x53AA JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x53F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5403 DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4FE5 DUP2 PUSH2 0x4E54 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x44E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x544B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x149A DUP2 PUSH2 0x5427 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5468 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5481 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x149A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x149A DUP2 PUSH2 0x4E54 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x54C0 DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x54D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x54E4 PUSH2 0x50A2 DUP3 PUSH2 0x525C JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x54F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F6 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4E9E JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x54C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x552D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5544 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5558 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x5566 PUSH2 0x50A2 DUP3 PUSH2 0x505E JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP9 DUP4 GT ISZERO PUSH2 0x5585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 ADD JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5650 JUMPI DUP1 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x55A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 ADD PUSH1 0xC0 DUP2 DUP13 SUB PUSH1 0x1F NOT ADD SLT ISZERO PUSH2 0x55B7 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x55BF PUSH2 0x5006 JUMP JUMPDEST DUP9 DUP3 ADD MLOAD DUP2 MSTORE PUSH1 0x40 PUSH2 0x55D2 DUP2 DUP5 ADD PUSH2 0x54B5 JUMP JUMPDEST DUP11 DUP4 ADD MSTORE PUSH1 0x60 DUP1 DUP5 ADD MLOAD DUP10 DUP2 GT ISZERO PUSH2 0x55EA JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x55F8 DUP16 DUP14 DUP4 DUP9 ADD ADD PUSH2 0x54C5 JUMP JUMPDEST DUP4 DUP6 ADD MSTORE POP PUSH1 0x80 SWAP2 POP DUP2 DUP5 ADD MLOAD DUP10 DUP2 GT ISZERO PUSH2 0x5613 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5621 DUP16 DUP14 DUP4 DUP9 ADD ADD PUSH2 0x54C5 JUMP JUMPDEST DUP3 DUP6 ADD MSTORE POP POP PUSH1 0xA0 DUP1 DUP5 ADD MLOAD DUP3 DUP5 ADD MSTORE PUSH2 0x563D PUSH1 0xC0 DUP6 ADD PUSH2 0x550A JUMP JUMPDEST SWAP1 DUP4 ADD MSTORE POP DUP5 MSTORE POP SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x5589 JUMP JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x566F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x149A DUP3 PUSH2 0x550A JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x4D86 SWAP1 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x56FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x570F PUSH2 0x50A2 DUP4 PUSH2 0x505E JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x572E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x50E1 JUMPI DUP1 MLOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x5732 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x575B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5771 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F6 DUP5 DUP3 DUP6 ADD PUSH2 0x56EE JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x57A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x57BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F6 DUP5 DUP3 DUP6 ADD PUSH2 0x54C5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x57F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x149A DUP2 PUSH2 0x4FAB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND DUP2 MSTORE SWAP2 SWAP1 SWAP3 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x583B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x585D JUMPI PUSH2 0x585D PUSH2 0x4FF0 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 MLOAD PUSH2 0x586B DUP2 PUSH2 0x4FAB JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x587B DUP2 PUSH2 0x4E54 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x588E DUP2 PUSH2 0x5427 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x58AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x58B6 DUP4 PUSH2 0x550A JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x58D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x58DE DUP6 DUP3 DUP7 ADD PUSH2 0x54C5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x591B SWAP1 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x593A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5951 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x595D DUP8 DUP4 DUP9 ADD PUSH2 0x56EE JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5973 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5980 DUP7 DUP3 DUP8 ADD PUSH2 0x56EE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x591B SWAP1 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xEAF JUMPI PUSH2 0xEAF PUSH2 0x59CF JUMP JUMPDEST DUP5 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP3 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x591B PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5A30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5A47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5A53 DUP7 DUP4 DUP8 ADD PUSH2 0x56EE JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5A69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x58DE DUP6 DUP3 DUP7 ADD PUSH2 0x56EE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xEAF JUMPI PUSH2 0xEAF PUSH2 0x59CF JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5AC0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x5AD7 JUMPI PUSH2 0x5AD7 PUSH2 0x59CF JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xEAF JUMPI PUSH2 0xEAF PUSH2 0x59CF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x5B20 JUMPI PUSH2 0x5B20 PUSH2 0x514C JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x5B42 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x51A1 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4D86 DUP2 DUP6 PUSH2 0x51A1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x17F6 SWAP1 DUP4 ADD DUP5 PUSH2 0x4EC2 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x5B8C PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x5162 JUMP JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP7 DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 DUP5 ADD MSTORE PUSH1 0xC0 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x5BC2 PUSH1 0xC0 DUP5 ADD DUP9 PUSH2 0x51A1 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE DUP7 MLOAD DUP1 DUP3 MSTORE DUP3 DUP9 ADD SWAP2 DUP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5BF5 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x5BD9 JUMP JUMPDEST POP POP PUSH1 0x80 DUP6 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5C20 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4E9E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID DUP15 DUP11 0xDD 0xAA 0xC4 BALANCE PUSH7 0x2B768D45375EF4 DUP2 CALLER 0xB8 0xBA 0xD0 0xDA 0xAD 0x5C 0xE4 MULMOD PUSH16 0xD41007E8D31A8771840DC4906352362B 0xC 0xDA 0xF7 SWAP9 PUSH17 0x196C8E42ACAFADE72D5D5A6D59291253CE 0xB1 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC2B53661063988F1AD36E0A 0x49 0xD4 0xD9 0xA6 LOG3 LT PUSH7 0x52AAEED2BE542C DUP7 SWAP2 0xD5 CREATE2 REVERT AND DUP12 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7A264697066735822122039 0xD2 LOG3 0x25 0xE8 0xCA REVERT JUMPDEST 0xD5 0x5C GT PUSH4 0x1394C022 RETURNDATASIZE 0xAE 0xF9 EXP 0xD8 PUSH20 0xD7BB6C432AF04B6967A564736F6C634300081400 CALLER ","sourceMap":"6888:34752:137:-:0;;;1171:4:3;1128:48;;8069:47:137;;;;;;;;;-1:-1:-1;8089:22:137;:20;:22::i;:::-;6888:34752;;7711:422:2;8870:21;7900:15;;;;;;;7896:76;;;7938:23;;-1:-1:-1;;;7938:23:2;;;;;;;;;;;7896:76;7985:14;;-1:-1:-1;;;;;7985:14:2;;;:34;7981:146;;8035:33;;-1:-1:-1;;;;;;8035:33:2;-1:-1:-1;;;;;8035:33:2;;;;;8087:29;;158:50:150;;;8087:29:2;;146:2:150;131:18;8087:29:2;;;;;;;7981:146;7760:373;7711:422::o;14:200:150:-;6888:34752:137;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_78667":{"entryPoint":6386,"id":78667,"parameterSlots":0,"returnSlots":1},"@CONTRACTS_ADDRESS_MANAGER_ROLE_76941":{"entryPoint":null,"id":76941,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_28":{"entryPoint":null,"id":28,"parameterSlots":0,"returnSlots":0},"@GOVERNANCE_ROLE_76935":{"entryPoint":null,"id":76935,"parameterSlots":0,"returnSlots":0},"@ROUND_STARTER_ROLE_76923":{"entryPoint":null,"id":76923,"parameterSlots":0,"returnSlots":0},"@UPGRADER_ROLE_76929":{"entryPoint":null,"id":76929,"parameterSlots":0,"returnSlots":0},"@UPGRADE_INTERFACE_VERSION_1756":{"entryPoint":null,"id":1756,"parameterSlots":0,"returnSlots":0},"@_authorizeUpgrade_77021":{"entryPoint":18162,"id":77021,"parameterSlots":1,"returnSlots":0},"@_checkEarlyAccessEligibility_78158":{"entryPoint":18599,"id":78158,"parameterSlots":2,"returnSlots":0},"@_checkNonPayable_5005":{"entryPoint":19855,"id":5005,"parameterSlots":0,"returnSlots":0},"@_checkNotDelegated_1862":{"entryPoint":18366,"id":1862,"parameterSlots":0,"returnSlots":0},"@_checkProxy_1846":{"entryPoint":17995,"id":1846,"parameterSlots":0,"returnSlots":0},"@_checkRole_129":{"entryPoint":17629,"id":129,"parameterSlots":1,"returnSlots":0},"@_checkRole_150":{"entryPoint":19516,"id":150,"parameterSlots":2,"returnSlots":0},"@_encodeStateBitmap_79218":{"entryPoint":18725,"id":79218,"parameterSlots":1,"returnSlots":1},"@_getAccessControlStorage_46":{"entryPoint":17642,"id":46,"parameterSlots":0,"returnSlots":1},"@_getExternalContractsStorage_83090":{"entryPoint":17959,"id":83090,"parameterSlots":0,"returnSlots":1},"@_getInitializableStorage_1731":{"entryPoint":null,"id":1731,"parameterSlots":0,"returnSlots":1},"@_getRoundVotesCountingStorage_83058":{"entryPoint":null,"id":83058,"parameterSlots":0,"returnSlots":1},"@_grantRole_315":{"entryPoint":17678,"id":315,"parameterSlots":2,"returnSlots":1},"@_handleCastVoteWithPower_77893":{"entryPoint":19186,"id":77893,"parameterSlots":6,"returnSlots":0},"@_handleCastVote_77830":{"entryPoint":18494,"id":77830,"parameterSlots":5,"returnSlots":0},"@_isNavigatorDead_78202":{"entryPoint":18823,"id":78202,"parameterSlots":1,"returnSlots":1},"@_msgSender_3969":{"entryPoint":null,"id":3969,"parameterSlots":0,"returnSlots":1},"@_revert_5583":{"entryPoint":19969,"id":5583,"parameterSlots":1,"returnSlots":0},"@_revokeRole_361":{"entryPoint":17839,"id":361,"parameterSlots":2,"returnSlots":1},"@_setImplementation_4791":{"entryPoint":19645,"id":4791,"parameterSlots":1,"returnSlots":0},"@_upgradeToAndCallUUPS_1913":{"entryPoint":18186,"id":1913,"parameterSlots":2,"returnSlots":0},"@_validateSkipWindow_78185":{"entryPoint":18911,"id":78185,"parameterSlots":1,"returnSlots":0},"@_validateStateBitmap_77991":{"entryPoint":18760,"id":77991,"parameterSlots":2,"returnSlots":1},"@appSharesCap_78796":{"entryPoint":12423,"id":78796,"parameterSlots":0,"returnSlots":1},"@baseAllocationPercentage_78785":{"entryPoint":9165,"id":78785,"parameterSlots":0,"returnSlots":1},"@castNavigatorVote_77795":{"entryPoint":14259,"id":77795,"parameterSlots":2,"returnSlots":0},"@castVoteOnBehalfOf_77495":{"entryPoint":10244,"id":77495,"parameterSlots":2,"returnSlots":0},"@castVote_77336":{"entryPoint":6648,"id":77336,"parameterSlots":3,"returnSlots":0},"@citizenSkipWindowBlocks_78446":{"entryPoint":12190,"id":78446,"parameterSlots":0,"returnSlots":1},"@clock_78656":{"entryPoint":9435,"id":78656,"parameterSlots":0,"returnSlots":1},"@currentRoundDeadline_78700":{"entryPoint":7389,"id":78700,"parameterSlots":0,"returnSlots":1},"@currentRoundId_78678":{"entryPoint":9759,"id":78678,"parameterSlots":0,"returnSlots":1},"@currentRoundSnapshot_78689":{"entryPoint":7235,"id":78689,"parameterSlots":0,"returnSlots":1},"@disableAutoVotingFor_78114":{"entryPoint":7882,"id":78114,"parameterSlots":1,"returnSlots":0},"@finalizeRound_77915":{"entryPoint":4867,"id":77915,"parameterSlots":1,"returnSlots":0},"@functionDelegateCall_5503":{"entryPoint":19737,"id":5503,"parameterSlots":2,"returnSlots":1},"@getAddressSlot_5616":{"entryPoint":null,"id":5616,"parameterSlots":1,"returnSlots":1},"@getAppIdsOfRound_78743":{"entryPoint":8475,"id":78743,"parameterSlots":1,"returnSlots":1},"@getAppVotesQF_78858":{"entryPoint":16351,"id":78858,"parameterSlots":2,"returnSlots":1},"@getAppVotes_78841":{"entryPoint":6261,"id":78841,"parameterSlots":2,"returnSlots":1},"@getAppsOfRound_78774":{"entryPoint":4531,"id":78774,"parameterSlots":1,"returnSlots":1},"@getDepositVotingPower_78620":{"entryPoint":10154,"id":78620,"parameterSlots":2,"returnSlots":1},"@getImplementation_4764":{"entryPoint":null,"id":4764,"parameterSlots":0,"returnSlots":1},"@getRoleAdmin_171":{"entryPoint":4499,"id":171,"parameterSlots":1,"returnSlots":1},"@getRoundAppSharesCap_78824":{"entryPoint":4261,"id":78824,"parameterSlots":1,"returnSlots":1},"@getRoundBaseAllocationPercentage_78810":{"entryPoint":4381,"id":78810,"parameterSlots":1,"returnSlots":1},"@getRound_78758":{"entryPoint":9240,"id":78758,"parameterSlots":1,"returnSlots":1},"@getTotalAutoVotingUsersAtRoundStart_79171":{"entryPoint":9834,"id":79171,"parameterSlots":0,"returnSlots":1},"@getTotalAutoVotingUsersAtTimepoint_79185":{"entryPoint":3881,"id":79185,"parameterSlots":1,"returnSlots":1},"@getTotalVotingPower_78578":{"entryPoint":6501,"id":78578,"parameterSlots":2,"returnSlots":1},"@getUserVotingPreferences_79147":{"entryPoint":5866,"id":79147,"parameterSlots":1,"returnSlots":1},"@getVotes_78562":{"entryPoint":17239,"id":78562,"parameterSlots":2,"returnSlots":1},"@grantRole_190":{"entryPoint":4654,"id":190,"parameterSlots":2,"returnSlots":0},"@hasRole_116":{"entryPoint":9381,"id":116,"parameterSlots":2,"returnSlots":1},"@hasUserVotedForApp_78951":{"entryPoint":5993,"id":78951,"parameterSlots":3,"returnSlots":1},"@hasVotedOnce_78931":{"entryPoint":9701,"id":78931,"parameterSlots":1,"returnSlots":1},"@hasVoted_78917":{"entryPoint":6142,"id":78917,"parameterSlots":2,"returnSlots":1},"@initializeV9_77011":{"entryPoint":11644,"id":77011,"parameterSlots":2,"returnSlots":0},"@isActive_78462":{"entryPoint":8592,"id":78462,"parameterSlots":1,"returnSlots":1},"@isEligibleForVote_78600":{"entryPoint":16892,"id":78600,"parameterSlots":2,"returnSlots":1},"@isFinalized_79037":{"entryPoint":4747,"id":79037,"parameterSlots":1,"returnSlots":1},"@isRelayerVoteProcessed_81650":{"entryPoint":18525,"id":81650,"parameterSlots":2,"returnSlots":1},"@isUserAutoVotingEnabledAtTimepoint_79132":{"entryPoint":10094,"id":79132,"parameterSlots":2,"returnSlots":1},"@isUserAutoVotingEnabledForRound_79115":{"entryPoint":5142,"id":79115,"parameterSlots":2,"returnSlots":1},"@isUserAutoVotingEnabledInCurrentRound_79093":{"entryPoint":7557,"id":79093,"parameterSlots":1,"returnSlots":1},"@isUserAutoVotingEnabled_79066":{"entryPoint":8534,"id":79066,"parameterSlots":1,"returnSlots":1},"@latestSucceededRoundId_79023":{"entryPoint":4688,"id":79023,"parameterSlots":1,"returnSlots":1},"@navigatorRegistry_79198":{"entryPoint":16985,"id":79198,"parameterSlots":0,"returnSlots":1},"@proxiableUUID_1804":{"entryPoint":6619,"id":1804,"parameterSlots":0,"returnSlots":1},"@quorumDenominator_78998":{"entryPoint":9626,"id":78998,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_78973":{"entryPoint":null,"id":78973,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_78987":{"entryPoint":7748,"id":78987,"parameterSlots":1,"returnSlots":1},"@quorumPercentage_79009":{"entryPoint":6544,"id":79009,"parameterSlots":0,"returnSlots":1},"@quorumReached_78545":{"entryPoint":16794,"id":78545,"parameterSlots":1,"returnSlots":1},"@quorum_78645":{"entryPoint":17458,"id":78645,"parameterSlots":1,"returnSlots":1},"@renounceRole_232":{"entryPoint":5010,"id":232,"parameterSlots":2,"returnSlots":0},"@revokeRole_209":{"entryPoint":16864,"id":209,"parameterSlots":2,"returnSlots":0},"@roundDeadline_78728":{"entryPoint":16735,"id":78728,"parameterSlots":1,"returnSlots":1},"@roundQuorum_79052":{"entryPoint":7464,"id":79052,"parameterSlots":1,"returnSlots":1},"@roundSnapshot_78714":{"entryPoint":16676,"id":78714,"parameterSlots":1,"returnSlots":1},"@setAppSharesCap_78353":{"entryPoint":8316,"id":78353,"parameterSlots":1,"returnSlots":0},"@setB3TRGovernor_78287":{"entryPoint":8396,"id":78287,"parameterSlots":1,"returnSlots":0},"@setBaseAllocationPercentage_78369":{"entryPoint":17378,"id":78369,"parameterSlots":1,"returnSlots":0},"@setCitizenSkipWindowBlocks_78407":{"entryPoint":9546,"id":78407,"parameterSlots":1,"returnSlots":0},"@setEmissionsAddress_78236":{"entryPoint":7310,"id":78236,"parameterSlots":1,"returnSlots":0},"@setNavigatorRegistry_78321":{"entryPoint":17299,"id":78321,"parameterSlots":1,"returnSlots":0},"@setRelayerRewardsPoolAddress_78304":{"entryPoint":7478,"id":78304,"parameterSlots":1,"returnSlots":0},"@setUserVotingPreferences_78137":{"entryPoint":5066,"id":78137,"parameterSlots":1,"returnSlots":0},"@setVeBetterPassport_78270":{"entryPoint":12344,"id":78270,"parameterSlots":1,"returnSlots":0},"@setVoterRewardsAddress_78253":{"entryPoint":12265,"id":78253,"parameterSlots":1,"returnSlots":0},"@setVotingPeriod_78391":{"entryPoint":17013,"id":78391,"parameterSlots":1,"returnSlots":0},"@setVotingThreshold_78337":{"entryPoint":8628,"id":78337,"parameterSlots":1,"returnSlots":0},"@setX2EarnAppsAddress_78219":{"entryPoint":16411,"id":78219,"parameterSlots":1,"returnSlots":0},"@startNewRound_77236":{"entryPoint":12498,"id":77236,"parameterSlots":0,"returnSlots":1},"@state_78526":{"entryPoint":5281,"id":78526,"parameterSlots":1,"returnSlots":1},"@supportsInterface_4331":{"entryPoint":null,"id":4331,"parameterSlots":1,"returnSlots":1},"@supportsInterface_79242":{"entryPoint":3722,"id":79242,"parameterSlots":1,"returnSlots":1},"@supportsInterface_91":{"entryPoint":17576,"id":91,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":18439,"id":7770,"parameterSlots":1,"returnSlots":1},"@toggleAutoVoting_78059":{"entryPoint":8708,"id":78059,"parameterSlots":1,"returnSlots":0},"@totalVoters_78900":{"entryPoint":6202,"id":78900,"parameterSlots":1,"returnSlots":1},"@totalVotesQF_78886":{"entryPoint":17517,"id":78886,"parameterSlots":1,"returnSlots":1},"@totalVotes_78872":{"entryPoint":4440,"id":78872,"parameterSlots":1,"returnSlots":1},"@updateQuorumNumerator_78426":{"entryPoint":4004,"id":78426,"parameterSlots":1,"returnSlots":0},"@upgradeToAndCall_1824":{"entryPoint":6513,"id":1824,"parameterSlots":2,"returnSlots":0},"@upgradeToAndCall_4825":{"entryPoint":19559,"id":4825,"parameterSlots":2,"returnSlots":0},"@validatePersonhoodForCurrentRound_77952":{"entryPoint":16490,"id":77952,"parameterSlots":1,"returnSlots":1},"@verifyCallResultFromTarget_5543":{"entryPoint":19886,"id":5543,"parameterSlots":3,"returnSlots":1},"@version_78435":{"entryPoint":null,"id":78435,"parameterSlots":0,"returnSlots":1},"@votingPeriod_78631":{"entryPoint":3765,"id":78631,"parameterSlots":0,"returnSlots":1},"@votingThreshold_78962":{"entryPoint":7807,"id":78962,"parameterSlots":0,"returnSlots":1},"abi_decode_address_fromMemory":{"entryPoint":21685,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_bytes32_dyn":{"entryPoint":20609,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes32_dyn_fromMemory":{"entryPoint":22254,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bool_fromMemory":{"entryPoint":21770,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_fromMemory":{"entryPoint":21701,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":20868,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":22497,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":21123,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":20768,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint48":{"entryPoint":21477,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":20716,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory":{"entryPoint":22345,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr_fromMemory":{"entryPoint":23069,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256_fromMemory":{"entryPoint":22821,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_fromMemory":{"entryPoint":21786,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":22109,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory":{"entryPoint":22682,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":20416,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":20010,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IEmissions_$64454":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVoterRewards_$69092":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IX2EarnApps_$69989":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":22420,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_struct$_RoundCore_$82969_memory_ptr_fromMemory":{"entryPoint":22569,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint208_fromMemory":{"entryPoint":21615,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":20101,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":21590,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_addresst_bytes32":{"entryPoint":20975,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":21264,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_bytes32":{"entryPoint":21031,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint32":{"entryPoint":21561,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48":{"entryPoint":20072,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":21656,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_bytes32_dyn":{"entryPoint":20897,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_enum_RoundState":{"entryPoint":20834,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_string":{"entryPoint":20162,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":23566,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":22163,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":22760,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed":{"entryPoint":23281,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint48__to_t_address_t_address_t_uint48__fromStack_library_reversed":{"entryPoint":22526,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed":{"entryPoint":23380,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":22472,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_library_reversed":{"entryPoint":22207,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":22929,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":20956,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":23343,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":20206,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool_t_uint256_t_uint256__to_t_bool_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed":{"entryPoint":21523,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_RoundState_$70612__to_t_uint8__fromStack_reversed":{"entryPoint":20854,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":21065,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_RoundCore_$82969_memory_ptr__to_t_struct$_RoundCore_$82969_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":22397,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_address__to_t_uint256_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__fromStack_library_reversed":{"entryPoint":23450,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_bytes32__to_t_uint256_t_address_t_bytes32__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_enum$_RoundState_$70612_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed":{"entryPoint":23416,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed":{"entryPoint":22240,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":23032,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint8_t_bool__to_t_uint256_t_uint8_t_bool__fromStack_library_reversed":{"entryPoint":22136,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint32_t_uint256__to_t_uint32_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed":{"entryPoint":21458,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":20526,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_5317":{"entryPoint":20486,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_array_bytes32_dyn":{"entryPoint":20574,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_bytes":{"entryPoint":21084,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":23013,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":23203,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":23180,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":23262,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":20126,"id":null,"parameterSlots":3,"returnSlots":0},"increment_t_uint256":{"entryPoint":23237,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":22991,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":20812,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":23158,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":20464,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":20395,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint32":{"entryPoint":21543,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_uint48":{"entryPoint":20052,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:40916:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"83:217:150","statements":[{"body":{"nodeType":"YulBlock","src":"129:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"138:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"141:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"131:6:150"},"nodeType":"YulFunctionCall","src":"131:12:150"},"nodeType":"YulExpressionStatement","src":"131:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"104:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"113:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"100:3:150"},"nodeType":"YulFunctionCall","src":"100:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"125:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"96:3:150"},"nodeType":"YulFunctionCall","src":"96:32:150"},"nodeType":"YulIf","src":"93:52:150"},{"nodeType":"YulVariableDeclaration","src":"154:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"180:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"167:12:150"},"nodeType":"YulFunctionCall","src":"167:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"158:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"254:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"263:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"266:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"256:6:150"},"nodeType":"YulFunctionCall","src":"256:12:150"},"nodeType":"YulExpressionStatement","src":"256:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"212:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"223:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"234:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"239:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"230:3:150"},"nodeType":"YulFunctionCall","src":"230:20:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"219:3:150"},"nodeType":"YulFunctionCall","src":"219:32:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"209:2:150"},"nodeType":"YulFunctionCall","src":"209:43:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"202:6:150"},"nodeType":"YulFunctionCall","src":"202:51:150"},"nodeType":"YulIf","src":"199:71:150"},{"nodeType":"YulAssignment","src":"279:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"289:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"279:6:150"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"49:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"60:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"72:6:150","type":""}],"src":"14:286:150"},{"body":{"nodeType":"YulBlock","src":"400:92:150","statements":[{"nodeType":"YulAssignment","src":"410:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"422:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"433:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"418:3:150"},"nodeType":"YulFunctionCall","src":"418:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"410:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"452:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"477:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"470:6:150"},"nodeType":"YulFunctionCall","src":"470:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"463:6:150"},"nodeType":"YulFunctionCall","src":"463:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"445:6:150"},"nodeType":"YulFunctionCall","src":"445:41:150"},"nodeType":"YulExpressionStatement","src":"445:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"369:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"380:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"391:4:150","type":""}],"src":"305:187:150"},{"body":{"nodeType":"YulBlock","src":"598:76:150","statements":[{"nodeType":"YulAssignment","src":"608:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"620:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"631:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"616:3:150"},"nodeType":"YulFunctionCall","src":"616:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"608:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"650:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"661:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"643:6:150"},"nodeType":"YulFunctionCall","src":"643:25:150"},"nodeType":"YulExpressionStatement","src":"643:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"567:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"578:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"589:4:150","type":""}],"src":"497:177:150"},{"body":{"nodeType":"YulBlock","src":"723:81:150","statements":[{"body":{"nodeType":"YulBlock","src":"782:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"791:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"794:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"784:6:150"},"nodeType":"YulFunctionCall","src":"784:12:150"},"nodeType":"YulExpressionStatement","src":"784:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"746:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"757:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"764:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"753:3:150"},"nodeType":"YulFunctionCall","src":"753:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"743:2:150"},"nodeType":"YulFunctionCall","src":"743:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"736:6:150"},"nodeType":"YulFunctionCall","src":"736:45:150"},"nodeType":"YulIf","src":"733:65:150"}]},"name":"validator_revert_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"712:5:150","type":""}],"src":"679:125:150"},{"body":{"nodeType":"YulBlock","src":"878:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"924:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"933:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"936:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"926:6:150"},"nodeType":"YulFunctionCall","src":"926:12:150"},"nodeType":"YulExpressionStatement","src":"926:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"899:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"908:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"895:3:150"},"nodeType":"YulFunctionCall","src":"895:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"920:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"891:3:150"},"nodeType":"YulFunctionCall","src":"891:32:150"},"nodeType":"YulIf","src":"888:52:150"},{"nodeType":"YulVariableDeclaration","src":"949:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"975:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"962:12:150"},"nodeType":"YulFunctionCall","src":"962:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"953:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1018:5:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"994:23:150"},"nodeType":"YulFunctionCall","src":"994:30:150"},"nodeType":"YulExpressionStatement","src":"994:30:150"},{"nodeType":"YulAssignment","src":"1033:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1043:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1033:6:150"}]}]},"name":"abi_decode_tuple_t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"844:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"855:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"867:6:150","type":""}],"src":"809:245:150"},{"body":{"nodeType":"YulBlock","src":"1160:102:150","statements":[{"nodeType":"YulAssignment","src":"1170:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1182:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1193:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1178:3:150"},"nodeType":"YulFunctionCall","src":"1178:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1170:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1212:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1227:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1243:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"1248:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1239:3:150"},"nodeType":"YulFunctionCall","src":"1239:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"1252:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1235:3:150"},"nodeType":"YulFunctionCall","src":"1235:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1223:3:150"},"nodeType":"YulFunctionCall","src":"1223:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1205:6:150"},"nodeType":"YulFunctionCall","src":"1205:51:150"},"nodeType":"YulExpressionStatement","src":"1205:51:150"}]},"name":"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1129:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1140:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1151:4:150","type":""}],"src":"1059:203:150"},{"body":{"nodeType":"YulBlock","src":"1337:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1383:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1392:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1395:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1385:6:150"},"nodeType":"YulFunctionCall","src":"1385:12:150"},"nodeType":"YulExpressionStatement","src":"1385:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1358:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1367:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1354:3:150"},"nodeType":"YulFunctionCall","src":"1354:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1379:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1350:3:150"},"nodeType":"YulFunctionCall","src":"1350:32:150"},"nodeType":"YulIf","src":"1347:52:150"},{"nodeType":"YulAssignment","src":"1408:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1431:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1418:12:150"},"nodeType":"YulFunctionCall","src":"1418:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1408:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1303:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1314:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1326:6:150","type":""}],"src":"1267:180:150"},{"body":{"nodeType":"YulBlock","src":"1522:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"1568:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1577:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1580:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1570:6:150"},"nodeType":"YulFunctionCall","src":"1570:12:150"},"nodeType":"YulExpressionStatement","src":"1570:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1543:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1552:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1539:3:150"},"nodeType":"YulFunctionCall","src":"1539:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1564:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1535:3:150"},"nodeType":"YulFunctionCall","src":"1535:32:150"},"nodeType":"YulIf","src":"1532:52:150"},{"nodeType":"YulAssignment","src":"1593:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1616:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1603:12:150"},"nodeType":"YulFunctionCall","src":"1603:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1593:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1488:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1499:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1511:6:150","type":""}],"src":"1452:180:150"},{"body":{"nodeType":"YulBlock","src":"1738:76:150","statements":[{"nodeType":"YulAssignment","src":"1748:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1760:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1771:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1756:3:150"},"nodeType":"YulFunctionCall","src":"1756:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1748:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1790:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1801:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1783:6:150"},"nodeType":"YulFunctionCall","src":"1783:25:150"},"nodeType":"YulExpressionStatement","src":"1783:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1707:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1718:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1729:4:150","type":""}],"src":"1637:177:150"},{"body":{"nodeType":"YulBlock","src":"1885:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1895:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1904:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1899:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1964:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1989:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"1994:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1985:3:150"},"nodeType":"YulFunctionCall","src":"1985:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2008:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"2013:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2004:3:150"},"nodeType":"YulFunctionCall","src":"2004:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1998:5:150"},"nodeType":"YulFunctionCall","src":"1998:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1978:6:150"},"nodeType":"YulFunctionCall","src":"1978:39:150"},"nodeType":"YulExpressionStatement","src":"1978:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1925:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1928:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1922:2:150"},"nodeType":"YulFunctionCall","src":"1922:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1936:19:150","statements":[{"nodeType":"YulAssignment","src":"1938:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1947:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1950:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1943:3:150"},"nodeType":"YulFunctionCall","src":"1943:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1938:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1918:3:150","statements":[]},"src":"1914:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2047:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2052:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2043:3:150"},"nodeType":"YulFunctionCall","src":"2043:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"2061:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2036:6:150"},"nodeType":"YulFunctionCall","src":"2036:27:150"},"nodeType":"YulExpressionStatement","src":"2036:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1863:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1868:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"1873:6:150","type":""}],"src":"1819:250:150"},{"body":{"nodeType":"YulBlock","src":"2124:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2134:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2154:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2148:5:150"},"nodeType":"YulFunctionCall","src":"2148:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2138:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2176:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"2181:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2169:6:150"},"nodeType":"YulFunctionCall","src":"2169:19:150"},"nodeType":"YulExpressionStatement","src":"2169:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2236:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"2243:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2232:3:150"},"nodeType":"YulFunctionCall","src":"2232:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2254:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"2259:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2250:3:150"},"nodeType":"YulFunctionCall","src":"2250:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"2266:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2197:34:150"},"nodeType":"YulFunctionCall","src":"2197:76:150"},"nodeType":"YulExpressionStatement","src":"2197:76:150"},{"nodeType":"YulAssignment","src":"2282:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2297:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2310:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2318:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2306:3:150"},"nodeType":"YulFunctionCall","src":"2306:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2327:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2323:3:150"},"nodeType":"YulFunctionCall","src":"2323:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2302:3:150"},"nodeType":"YulFunctionCall","src":"2302:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2293:3:150"},"nodeType":"YulFunctionCall","src":"2293:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"2334:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:150"},"nodeType":"YulFunctionCall","src":"2289:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2282:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2101:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2108:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2116:3:150","type":""}],"src":"2074:271:150"},{"body":{"nodeType":"YulBlock","src":"2587:1355:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2597:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2607:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2601:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2618:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2636:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2647:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2632:3:150"},"nodeType":"YulFunctionCall","src":"2632:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"2622:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2666:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2677:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2659:6:150"},"nodeType":"YulFunctionCall","src":"2659:21:150"},"nodeType":"YulExpressionStatement","src":"2659:21:150"},{"nodeType":"YulVariableDeclaration","src":"2689:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"2700:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"2693:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2715:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2735:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2729:5:150"},"nodeType":"YulFunctionCall","src":"2729:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2719:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"2758:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"2766:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2751:6:150"},"nodeType":"YulFunctionCall","src":"2751:22:150"},"nodeType":"YulExpressionStatement","src":"2751:22:150"},{"nodeType":"YulVariableDeclaration","src":"2782:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2792:2:150","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2786:2:150","type":""}]},{"nodeType":"YulAssignment","src":"2803:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2814:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2825:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2810:3:150"},"nodeType":"YulFunctionCall","src":"2810:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2803:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"2837:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2859:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2874:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"2877:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2870:3:150"},"nodeType":"YulFunctionCall","src":"2870:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2855:3:150"},"nodeType":"YulFunctionCall","src":"2855:30:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2887:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2851:3:150"},"nodeType":"YulFunctionCall","src":"2851:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"2841:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2899:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2917:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2925:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2913:3:150"},"nodeType":"YulFunctionCall","src":"2913:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"2903:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2937:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2946:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2941:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3005:908:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3026:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3039:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3047:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3035:3:150"},"nodeType":"YulFunctionCall","src":"3035:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3063:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3059:3:150"},"nodeType":"YulFunctionCall","src":"3059:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3031:3:150"},"nodeType":"YulFunctionCall","src":"3031:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3019:6:150"},"nodeType":"YulFunctionCall","src":"3019:49:150"},"nodeType":"YulExpressionStatement","src":"3019:49:150"},{"nodeType":"YulVariableDeclaration","src":"3081:23:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3097:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3091:5:150"},"nodeType":"YulFunctionCall","src":"3091:13:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3085:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3117:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3127:4:150","type":"","value":"0xc0"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"3121:2:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3151:6:150"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3165:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3159:5:150"},"nodeType":"YulFunctionCall","src":"3159:9:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3144:6:150"},"nodeType":"YulFunctionCall","src":"3144:25:150"},"nodeType":"YulExpressionStatement","src":"3144:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3193:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3201:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3189:3:150"},"nodeType":"YulFunctionCall","src":"3189:15:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3220:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3224:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3216:3:150"},"nodeType":"YulFunctionCall","src":"3216:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3210:5:150"},"nodeType":"YulFunctionCall","src":"3210:18:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3238:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3243:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3234:3:150"},"nodeType":"YulFunctionCall","src":"3234:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3247:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3230:3:150"},"nodeType":"YulFunctionCall","src":"3230:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3206:3:150"},"nodeType":"YulFunctionCall","src":"3206:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3182:6:150"},"nodeType":"YulFunctionCall","src":"3182:69:150"},"nodeType":"YulExpressionStatement","src":"3182:69:150"},{"nodeType":"YulVariableDeclaration","src":"3264:38:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3294:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3298:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3290:3:150"},"nodeType":"YulFunctionCall","src":"3290:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3284:5:150"},"nodeType":"YulFunctionCall","src":"3284:18:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"3268:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3326:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3334:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3322:3:150"},"nodeType":"YulFunctionCall","src":"3322:15:150"},{"name":"_4","nodeType":"YulIdentifier","src":"3339:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3315:6:150"},"nodeType":"YulFunctionCall","src":"3315:27:150"},"nodeType":"YulExpressionStatement","src":"3315:27:150"},{"nodeType":"YulVariableDeclaration","src":"3355:62:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"3387:12:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3405:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"3413:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3401:3:150"},"nodeType":"YulFunctionCall","src":"3401:15:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3369:17:150"},"nodeType":"YulFunctionCall","src":"3369:48:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"3359:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3430:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3440:4:150","type":"","value":"0x60"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"3434:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3457:40:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3489:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"3493:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3485:3:150"},"nodeType":"YulFunctionCall","src":"3485:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3479:5:150"},"nodeType":"YulFunctionCall","src":"3479:18:150"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"3461:14:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3521:6:150"},{"name":"_5","nodeType":"YulIdentifier","src":"3529:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3517:3:150"},"nodeType":"YulFunctionCall","src":"3517:15:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"3538:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"3546:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3534:3:150"},"nodeType":"YulFunctionCall","src":"3534:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3510:6:150"},"nodeType":"YulFunctionCall","src":"3510:44:150"},"nodeType":"YulExpressionStatement","src":"3510:44:150"},{"nodeType":"YulVariableDeclaration","src":"3567:55:150","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"3599:14:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"3615:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3581:17:150"},"nodeType":"YulFunctionCall","src":"3581:41:150"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"3571:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3635:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3645:4:150","type":"","value":"0x80"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"3639:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3673:6:150"},{"name":"_6","nodeType":"YulIdentifier","src":"3681:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3669:3:150"},"nodeType":"YulFunctionCall","src":"3669:15:150"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3696:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"3700:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3692:3:150"},"nodeType":"YulFunctionCall","src":"3692:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3686:5:150"},"nodeType":"YulFunctionCall","src":"3686:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3662:6:150"},"nodeType":"YulFunctionCall","src":"3662:43:150"},"nodeType":"YulExpressionStatement","src":"3662:43:150"},{"nodeType":"YulVariableDeclaration","src":"3718:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3728:4:150","type":"","value":"0xa0"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"3722:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3756:6:150"},{"name":"_7","nodeType":"YulIdentifier","src":"3764:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3752:3:150"},"nodeType":"YulFunctionCall","src":"3752:15:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3793:2:150"},{"name":"_7","nodeType":"YulIdentifier","src":"3797:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3789:3:150"},"nodeType":"YulFunctionCall","src":"3789:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3783:5:150"},"nodeType":"YulFunctionCall","src":"3783:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3776:6:150"},"nodeType":"YulFunctionCall","src":"3776:26:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3769:6:150"},"nodeType":"YulFunctionCall","src":"3769:34:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3745:6:150"},"nodeType":"YulFunctionCall","src":"3745:59:150"},"nodeType":"YulExpressionStatement","src":"3745:59:150"},{"nodeType":"YulAssignment","src":"3817:16:150","value":{"name":"tail_4","nodeType":"YulIdentifier","src":"3827:6:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3817:6:150"}]},{"nodeType":"YulAssignment","src":"3846:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3860:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3868:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3856:3:150"},"nodeType":"YulFunctionCall","src":"3856:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3846:6:150"}]},{"nodeType":"YulAssignment","src":"3884:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3895:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3900:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3891:3:150"},"nodeType":"YulFunctionCall","src":"3891:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3884:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2967:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"2970:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2964:2:150"},"nodeType":"YulFunctionCall","src":"2964:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2978:18:150","statements":[{"nodeType":"YulAssignment","src":"2980:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2989:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"2992:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2985:3:150"},"nodeType":"YulFunctionCall","src":"2985:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2980:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"2960:3:150","statements":[]},"src":"2956:957:150"},{"nodeType":"YulAssignment","src":"3922:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"3930:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3922:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2556:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2567:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2578:4:150","type":""}],"src":"2350:1592:150"},{"body":{"nodeType":"YulBlock","src":"3992:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"4056:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4065:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4068:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4058:6:150"},"nodeType":"YulFunctionCall","src":"4058:12:150"},"nodeType":"YulExpressionStatement","src":"4058:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4015:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4026:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4041:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4046:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4037:3:150"},"nodeType":"YulFunctionCall","src":"4037:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"4050:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4033:3:150"},"nodeType":"YulFunctionCall","src":"4033:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4022:3:150"},"nodeType":"YulFunctionCall","src":"4022:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4012:2:150"},"nodeType":"YulFunctionCall","src":"4012:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4005:6:150"},"nodeType":"YulFunctionCall","src":"4005:50:150"},"nodeType":"YulIf","src":"4002:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3981:5:150","type":""}],"src":"3947:131:150"},{"body":{"nodeType":"YulBlock","src":"4170:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"4216:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4225:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4228:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4218:6:150"},"nodeType":"YulFunctionCall","src":"4218:12:150"},"nodeType":"YulExpressionStatement","src":"4218:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4191:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4200:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4187:3:150"},"nodeType":"YulFunctionCall","src":"4187:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4212:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4183:3:150"},"nodeType":"YulFunctionCall","src":"4183:32:150"},"nodeType":"YulIf","src":"4180:52:150"},{"nodeType":"YulAssignment","src":"4241:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4264:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4251:12:150"},"nodeType":"YulFunctionCall","src":"4251:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4241:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4283:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4324:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4309:3:150"},"nodeType":"YulFunctionCall","src":"4309:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4296:12:150"},"nodeType":"YulFunctionCall","src":"4296:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4287:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4362:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4337:24:150"},"nodeType":"YulFunctionCall","src":"4337:31:150"},"nodeType":"YulExpressionStatement","src":"4337:31:150"},{"nodeType":"YulAssignment","src":"4377:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4387:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4377:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4128:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4139:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4151:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4159:6:150","type":""}],"src":"4083:315:150"},{"body":{"nodeType":"YulBlock","src":"4435:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4452:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4459:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4464:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4455:3:150"},"nodeType":"YulFunctionCall","src":"4455:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4445:6:150"},"nodeType":"YulFunctionCall","src":"4445:31:150"},"nodeType":"YulExpressionStatement","src":"4445:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4492:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4495:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4485:6:150"},"nodeType":"YulFunctionCall","src":"4485:15:150"},"nodeType":"YulExpressionStatement","src":"4485:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4516:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4519:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4509:6:150"},"nodeType":"YulFunctionCall","src":"4509:15:150"},"nodeType":"YulExpressionStatement","src":"4509:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"4403:127:150"},{"body":{"nodeType":"YulBlock","src":"4581:207:150","statements":[{"nodeType":"YulAssignment","src":"4591:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4607:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4601:5:150"},"nodeType":"YulFunctionCall","src":"4601:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4591:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4619:35:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4641:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4649:4:150","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4637:3:150"},"nodeType":"YulFunctionCall","src":"4637:17:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4623:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4729:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4731:16:150"},"nodeType":"YulFunctionCall","src":"4731:18:150"},"nodeType":"YulExpressionStatement","src":"4731:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4672:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4692:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4696:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4688:3:150"},"nodeType":"YulFunctionCall","src":"4688:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4700:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4684:3:150"},"nodeType":"YulFunctionCall","src":"4684:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4669:2:150"},"nodeType":"YulFunctionCall","src":"4669:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4708:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4720:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4705:2:150"},"nodeType":"YulFunctionCall","src":"4705:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4666:2:150"},"nodeType":"YulFunctionCall","src":"4666:62:150"},"nodeType":"YulIf","src":"4663:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4767:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4771:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4760:6:150"},"nodeType":"YulFunctionCall","src":"4760:22:150"},"nodeType":"YulExpressionStatement","src":"4760:22:150"}]},"name":"allocate_memory_5317","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4570:6:150","type":""}],"src":"4535:253:150"},{"body":{"nodeType":"YulBlock","src":"4838:230:150","statements":[{"nodeType":"YulAssignment","src":"4848:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4864:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4858:5:150"},"nodeType":"YulFunctionCall","src":"4858:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4848:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4876:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4898:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"4914:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"4920:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4910:3:150"},"nodeType":"YulFunctionCall","src":"4910:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4929:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4925:3:150"},"nodeType":"YulFunctionCall","src":"4925:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4906:3:150"},"nodeType":"YulFunctionCall","src":"4906:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4894:3:150"},"nodeType":"YulFunctionCall","src":"4894:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4880:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5009:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5011:16:150"},"nodeType":"YulFunctionCall","src":"5011:18:150"},"nodeType":"YulExpressionStatement","src":"5011:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4952:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4972:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4976:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4968:3:150"},"nodeType":"YulFunctionCall","src":"4968:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4980:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4964:3:150"},"nodeType":"YulFunctionCall","src":"4964:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4949:2:150"},"nodeType":"YulFunctionCall","src":"4949:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4988:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"5000:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4985:2:150"},"nodeType":"YulFunctionCall","src":"4985:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4946:2:150"},"nodeType":"YulFunctionCall","src":"4946:62:150"},"nodeType":"YulIf","src":"4943:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5047:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"5051:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5040:6:150"},"nodeType":"YulFunctionCall","src":"5040:22:150"},"nodeType":"YulExpressionStatement","src":"5040:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"4818:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4827:6:150","type":""}],"src":"4793:275:150"},{"body":{"nodeType":"YulBlock","src":"5142:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"5186:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5188:16:150"},"nodeType":"YulFunctionCall","src":"5188:18:150"},"nodeType":"YulExpressionStatement","src":"5188:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5158:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5174:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"5178:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5170:3:150"},"nodeType":"YulFunctionCall","src":"5170:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"5182:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5166:3:150"},"nodeType":"YulFunctionCall","src":"5166:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5155:2:150"},"nodeType":"YulFunctionCall","src":"5155:30:150"},"nodeType":"YulIf","src":"5152:56:150"},{"nodeType":"YulAssignment","src":"5217:33:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5233:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"5236:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5229:3:150"},"nodeType":"YulFunctionCall","src":"5229:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"5245:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5225:3:150"},"nodeType":"YulFunctionCall","src":"5225:25:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"5217:4:150"}]}]},"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"5122:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"5133:4:150","type":""}],"src":"5073:183:150"},{"body":{"nodeType":"YulBlock","src":"5325:598:150","statements":[{"body":{"nodeType":"YulBlock","src":"5374:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5383:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5386:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5376:6:150"},"nodeType":"YulFunctionCall","src":"5376:12:150"},"nodeType":"YulExpressionStatement","src":"5376:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5353:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5361:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5349:3:150"},"nodeType":"YulFunctionCall","src":"5349:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"5368:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5345:3:150"},"nodeType":"YulFunctionCall","src":"5345:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5338:6:150"},"nodeType":"YulFunctionCall","src":"5338:35:150"},"nodeType":"YulIf","src":"5335:55:150"},{"nodeType":"YulVariableDeclaration","src":"5399:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5422:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5409:12:150"},"nodeType":"YulFunctionCall","src":"5409:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5403:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5438:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5448:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"5442:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5461:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"5528:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"5488:39:150"},"nodeType":"YulFunctionCall","src":"5488:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5472:15:150"},"nodeType":"YulFunctionCall","src":"5472:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"5465:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5541:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"5554:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"5545:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5573:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5578:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5566:6:150"},"nodeType":"YulFunctionCall","src":"5566:15:150"},"nodeType":"YulExpressionStatement","src":"5566:15:150"},{"nodeType":"YulAssignment","src":"5590:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5601:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5606:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5597:3:150"},"nodeType":"YulFunctionCall","src":"5597:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5590:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"5618:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5640:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5652:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"5655:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5648:3:150"},"nodeType":"YulFunctionCall","src":"5648:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5636:3:150"},"nodeType":"YulFunctionCall","src":"5636:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5661:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5632:3:150"},"nodeType":"YulFunctionCall","src":"5632:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"5622:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5692:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5701:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5704:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5694:6:150"},"nodeType":"YulFunctionCall","src":"5694:12:150"},"nodeType":"YulExpressionStatement","src":"5694:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"5679:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"5687:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5676:2:150"},"nodeType":"YulFunctionCall","src":"5676:15:150"},"nodeType":"YulIf","src":"5673:35:150"},{"nodeType":"YulVariableDeclaration","src":"5717:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5732:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5740:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5728:3:150"},"nodeType":"YulFunctionCall","src":"5728:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"5721:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5808:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5829:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5847:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5834:12:150"},"nodeType":"YulFunctionCall","src":"5834:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5822:6:150"},"nodeType":"YulFunctionCall","src":"5822:30:150"},"nodeType":"YulExpressionStatement","src":"5822:30:150"},{"nodeType":"YulAssignment","src":"5865:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5876:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5881:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5872:3:150"},"nodeType":"YulFunctionCall","src":"5872:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5865:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5763:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"5768:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5760:2:150"},"nodeType":"YulFunctionCall","src":"5760:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5776:23:150","statements":[{"nodeType":"YulAssignment","src":"5778:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5789:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5794:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5785:3:150"},"nodeType":"YulFunctionCall","src":"5785:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"5778:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5756:3:150","statements":[]},"src":"5752:142:150"},{"nodeType":"YulAssignment","src":"5903:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"5912:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5903:5:150"}]}]},"name":"abi_decode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5299:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"5307:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5315:5:150","type":""}],"src":"5261:662:150"},{"body":{"nodeType":"YulBlock","src":"6023:253:150","statements":[{"body":{"nodeType":"YulBlock","src":"6069:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6078:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6081:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6071:6:150"},"nodeType":"YulFunctionCall","src":"6071:12:150"},"nodeType":"YulExpressionStatement","src":"6071:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6044:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6053:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6040:3:150"},"nodeType":"YulFunctionCall","src":"6040:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6065:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6036:3:150"},"nodeType":"YulFunctionCall","src":"6036:32:150"},"nodeType":"YulIf","src":"6033:52:150"},{"nodeType":"YulVariableDeclaration","src":"6094:37:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6121:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6108:12:150"},"nodeType":"YulFunctionCall","src":"6108:23:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6098:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6174:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6183:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6186:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6176:6:150"},"nodeType":"YulFunctionCall","src":"6176:12:150"},"nodeType":"YulExpressionStatement","src":"6176:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6146:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6162:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6166:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6158:3:150"},"nodeType":"YulFunctionCall","src":"6158:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6170:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6154:3:150"},"nodeType":"YulFunctionCall","src":"6154:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6143:2:150"},"nodeType":"YulFunctionCall","src":"6143:30:150"},"nodeType":"YulIf","src":"6140:50:150"},{"nodeType":"YulAssignment","src":"6199:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6242:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"6253:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6238:3:150"},"nodeType":"YulFunctionCall","src":"6238:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6262:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"6209:28:150"},"nodeType":"YulFunctionCall","src":"6209:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6199:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5989:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6000:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6012:6:150","type":""}],"src":"5928:348:150"},{"body":{"nodeType":"YulBlock","src":"6368:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"6414:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6423:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6426:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6416:6:150"},"nodeType":"YulFunctionCall","src":"6416:12:150"},"nodeType":"YulExpressionStatement","src":"6416:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6389:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6398:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6385:3:150"},"nodeType":"YulFunctionCall","src":"6385:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6410:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6381:3:150"},"nodeType":"YulFunctionCall","src":"6381:32:150"},"nodeType":"YulIf","src":"6378:52:150"},{"nodeType":"YulVariableDeclaration","src":"6439:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6465:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6452:12:150"},"nodeType":"YulFunctionCall","src":"6452:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6443:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6509:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6484:24:150"},"nodeType":"YulFunctionCall","src":"6484:31:150"},"nodeType":"YulExpressionStatement","src":"6484:31:150"},{"nodeType":"YulAssignment","src":"6524:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6534:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6524:6:150"}]},{"nodeType":"YulAssignment","src":"6548:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6575:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6586:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6571:3:150"},"nodeType":"YulFunctionCall","src":"6571:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6558:12:150"},"nodeType":"YulFunctionCall","src":"6558:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6548:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6326:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6337:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6349:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6357:6:150","type":""}],"src":"6281:315:150"},{"body":{"nodeType":"YulBlock","src":"6633:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6650:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6657:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6662:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6653:3:150"},"nodeType":"YulFunctionCall","src":"6653:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6643:6:150"},"nodeType":"YulFunctionCall","src":"6643:31:150"},"nodeType":"YulExpressionStatement","src":"6643:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6690:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6693:4:150","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6683:6:150"},"nodeType":"YulFunctionCall","src":"6683:15:150"},"nodeType":"YulExpressionStatement","src":"6683:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6714:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6717:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6707:6:150"},"nodeType":"YulFunctionCall","src":"6707:15:150"},"nodeType":"YulExpressionStatement","src":"6707:15:150"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"6601:127:150"},{"body":{"nodeType":"YulBlock","src":"6785:89:150","statements":[{"body":{"nodeType":"YulBlock","src":"6819:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"6821:16:150"},"nodeType":"YulFunctionCall","src":"6821:18:150"},"nodeType":"YulExpressionStatement","src":"6821:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6808:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"6815:1:150","type":"","value":"3"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6805:2:150"},"nodeType":"YulFunctionCall","src":"6805:12:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6798:6:150"},"nodeType":"YulFunctionCall","src":"6798:20:150"},"nodeType":"YulIf","src":"6795:46:150"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6857:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"6862:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6850:6:150"},"nodeType":"YulFunctionCall","src":"6850:18:150"},"nodeType":"YulExpressionStatement","src":"6850:18:150"}]},"name":"abi_encode_enum_RoundState","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6769:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6776:3:150","type":""}],"src":"6733:141:150"},{"body":{"nodeType":"YulBlock","src":"6994:96:150","statements":[{"nodeType":"YulAssignment","src":"7004:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7016:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7027:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7012:3:150"},"nodeType":"YulFunctionCall","src":"7012:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7004:4:150"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7066:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7074:9:150"}],"functionName":{"name":"abi_encode_enum_RoundState","nodeType":"YulIdentifier","src":"7039:26:150"},"nodeType":"YulFunctionCall","src":"7039:45:150"},"nodeType":"YulExpressionStatement","src":"7039:45:150"}]},"name":"abi_encode_tuple_t_enum$_RoundState_$70612__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6963:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6974:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6985:4:150","type":""}],"src":"6879:211:150"},{"body":{"nodeType":"YulBlock","src":"7165:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"7211:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7220:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7223:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7213:6:150"},"nodeType":"YulFunctionCall","src":"7213:12:150"},"nodeType":"YulExpressionStatement","src":"7213:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7186:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7195:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7182:3:150"},"nodeType":"YulFunctionCall","src":"7182:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7207:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7178:3:150"},"nodeType":"YulFunctionCall","src":"7178:32:150"},"nodeType":"YulIf","src":"7175:52:150"},{"nodeType":"YulVariableDeclaration","src":"7236:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7262:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7249:12:150"},"nodeType":"YulFunctionCall","src":"7249:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7240:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7306:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"7281:24:150"},"nodeType":"YulFunctionCall","src":"7281:31:150"},"nodeType":"YulExpressionStatement","src":"7281:31:150"},{"nodeType":"YulAssignment","src":"7321:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"7331:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7321:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7131:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7142:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7154:6:150","type":""}],"src":"7095:247:150"},{"body":{"nodeType":"YulBlock","src":"7408:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7418:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7438:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7432:5:150"},"nodeType":"YulFunctionCall","src":"7432:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7422:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7460:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"7465:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7453:6:150"},"nodeType":"YulFunctionCall","src":"7453:19:150"},"nodeType":"YulExpressionStatement","src":"7453:19:150"},{"nodeType":"YulVariableDeclaration","src":"7481:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7491:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7485:2:150","type":""}]},{"nodeType":"YulAssignment","src":"7504:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7515:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7520:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7511:3:150"},"nodeType":"YulFunctionCall","src":"7511:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7504:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"7532:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7550:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7557:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7546:3:150"},"nodeType":"YulFunctionCall","src":"7546:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7536:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7569:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7578:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7573:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7637:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7658:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7669:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7663:5:150"},"nodeType":"YulFunctionCall","src":"7663:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7651:6:150"},"nodeType":"YulFunctionCall","src":"7651:26:150"},"nodeType":"YulExpressionStatement","src":"7651:26:150"},{"nodeType":"YulAssignment","src":"7690:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7701:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7706:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7697:3:150"},"nodeType":"YulFunctionCall","src":"7697:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7690:3:150"}]},{"nodeType":"YulAssignment","src":"7722:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7736:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7744:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7732:3:150"},"nodeType":"YulFunctionCall","src":"7732:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7722:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7599:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"7602:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7596:2:150"},"nodeType":"YulFunctionCall","src":"7596:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7610:18:150","statements":[{"nodeType":"YulAssignment","src":"7612:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7621:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"7624:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7617:3:150"},"nodeType":"YulFunctionCall","src":"7617:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7612:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"7592:3:150","statements":[]},"src":"7588:169:150"},{"nodeType":"YulAssignment","src":"7766:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"7773:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7766:3:150"}]}]},"name":"abi_encode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7385:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7392:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7400:3:150","type":""}],"src":"7347:435:150"},{"body":{"nodeType":"YulBlock","src":"7938:110:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7955:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7966:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7948:6:150"},"nodeType":"YulFunctionCall","src":"7948:21:150"},"nodeType":"YulExpressionStatement","src":"7948:21:150"},{"nodeType":"YulAssignment","src":"7978:64:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8015:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8027:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8038:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8023:3:150"},"nodeType":"YulFunctionCall","src":"8023:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"7986:28:150"},"nodeType":"YulFunctionCall","src":"7986:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7978:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7907:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7918:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7929:4:150","type":""}],"src":"7787:261:150"},{"body":{"nodeType":"YulBlock","src":"8157:279:150","statements":[{"body":{"nodeType":"YulBlock","src":"8203:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8212:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8215:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8205:6:150"},"nodeType":"YulFunctionCall","src":"8205:12:150"},"nodeType":"YulExpressionStatement","src":"8205:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8178:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8187:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8174:3:150"},"nodeType":"YulFunctionCall","src":"8174:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8199:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8170:3:150"},"nodeType":"YulFunctionCall","src":"8170:32:150"},"nodeType":"YulIf","src":"8167:52:150"},{"nodeType":"YulAssignment","src":"8228:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8251:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8238:12:150"},"nodeType":"YulFunctionCall","src":"8238:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8228:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8270:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8300:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8311:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8296:3:150"},"nodeType":"YulFunctionCall","src":"8296:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8283:12:150"},"nodeType":"YulFunctionCall","src":"8283:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8274:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8349:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"8324:24:150"},"nodeType":"YulFunctionCall","src":"8324:31:150"},"nodeType":"YulExpressionStatement","src":"8324:31:150"},{"nodeType":"YulAssignment","src":"8364:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"8374:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8364:6:150"}]},{"nodeType":"YulAssignment","src":"8388:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8415:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8426:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8411:3:150"},"nodeType":"YulFunctionCall","src":"8411:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8398:12:150"},"nodeType":"YulFunctionCall","src":"8398:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8388:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8107:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8118:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8130:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8138:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8146:6:150","type":""}],"src":"8053:383:150"},{"body":{"nodeType":"YulBlock","src":"8528:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"8574:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8583:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8586:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8576:6:150"},"nodeType":"YulFunctionCall","src":"8576:12:150"},"nodeType":"YulExpressionStatement","src":"8576:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8549:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8558:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8545:3:150"},"nodeType":"YulFunctionCall","src":"8545:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8570:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8541:3:150"},"nodeType":"YulFunctionCall","src":"8541:32:150"},"nodeType":"YulIf","src":"8538:52:150"},{"nodeType":"YulAssignment","src":"8599:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8622:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8609:12:150"},"nodeType":"YulFunctionCall","src":"8609:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8599:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"8641:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8671:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8682:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8667:3:150"},"nodeType":"YulFunctionCall","src":"8667:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8654:12:150"},"nodeType":"YulFunctionCall","src":"8654:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"8645:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8720:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"8695:24:150"},"nodeType":"YulFunctionCall","src":"8695:31:150"},"nodeType":"YulExpressionStatement","src":"8695:31:150"},{"nodeType":"YulAssignment","src":"8735:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"8745:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8735:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8486:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8497:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8509:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8517:6:150","type":""}],"src":"8441:315:150"},{"body":{"nodeType":"YulBlock","src":"8848:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"8894:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8903:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8906:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8896:6:150"},"nodeType":"YulFunctionCall","src":"8896:12:150"},"nodeType":"YulExpressionStatement","src":"8896:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8869:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"8878:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8865:3:150"},"nodeType":"YulFunctionCall","src":"8865:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"8890:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8861:3:150"},"nodeType":"YulFunctionCall","src":"8861:32:150"},"nodeType":"YulIf","src":"8858:52:150"},{"nodeType":"YulAssignment","src":"8919:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8942:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8929:12:150"},"nodeType":"YulFunctionCall","src":"8929:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8919:6:150"}]},{"nodeType":"YulAssignment","src":"8961:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8988:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8999:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8984:3:150"},"nodeType":"YulFunctionCall","src":"8984:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8971:12:150"},"nodeType":"YulFunctionCall","src":"8971:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8961:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8806:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8817:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8829:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8837:6:150","type":""}],"src":"8761:248:150"},{"body":{"nodeType":"YulBlock","src":"9135:99:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9152:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9163:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9145:6:150"},"nodeType":"YulFunctionCall","src":"9145:21:150"},"nodeType":"YulExpressionStatement","src":"9145:21:150"},{"nodeType":"YulAssignment","src":"9175:53:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9201:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9213:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9224:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9209:3:150"},"nodeType":"YulFunctionCall","src":"9209:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"9183:17:150"},"nodeType":"YulFunctionCall","src":"9183:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9175:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9104:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9115:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9126:4:150","type":""}],"src":"9014:220:150"},{"body":{"nodeType":"YulBlock","src":"9296:129:150","statements":[{"body":{"nodeType":"YulBlock","src":"9340:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"9342:16:150"},"nodeType":"YulFunctionCall","src":"9342:18:150"},"nodeType":"YulExpressionStatement","src":"9342:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9312:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9328:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9332:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9324:3:150"},"nodeType":"YulFunctionCall","src":"9324:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9336:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9320:3:150"},"nodeType":"YulFunctionCall","src":"9320:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9309:2:150"},"nodeType":"YulFunctionCall","src":"9309:30:150"},"nodeType":"YulIf","src":"9306:56:150"},{"nodeType":"YulAssignment","src":"9371:48:150","value":{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9391:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9399:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9387:3:150"},"nodeType":"YulFunctionCall","src":"9387:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9408:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9404:3:150"},"nodeType":"YulFunctionCall","src":"9404:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9383:3:150"},"nodeType":"YulFunctionCall","src":"9383:29:150"},{"kind":"number","nodeType":"YulLiteral","src":"9414:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9379:3:150"},"nodeType":"YulFunctionCall","src":"9379:40:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"9371:4:150"}]}]},"name":"array_allocation_size_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"9276:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"9287:4:150","type":""}],"src":"9239:186:150"},{"body":{"nodeType":"YulBlock","src":"9526:710:150","statements":[{"body":{"nodeType":"YulBlock","src":"9572:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9581:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9584:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9574:6:150"},"nodeType":"YulFunctionCall","src":"9574:12:150"},"nodeType":"YulExpressionStatement","src":"9574:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9547:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9556:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9543:3:150"},"nodeType":"YulFunctionCall","src":"9543:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"9568:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9539:3:150"},"nodeType":"YulFunctionCall","src":"9539:32:150"},"nodeType":"YulIf","src":"9536:52:150"},{"nodeType":"YulVariableDeclaration","src":"9597:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9623:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9610:12:150"},"nodeType":"YulFunctionCall","src":"9610:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9601:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9667:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"9642:24:150"},"nodeType":"YulFunctionCall","src":"9642:31:150"},"nodeType":"YulExpressionStatement","src":"9642:31:150"},{"nodeType":"YulAssignment","src":"9682:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"9692:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9682:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"9706:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9737:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9748:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9733:3:150"},"nodeType":"YulFunctionCall","src":"9733:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9720:12:150"},"nodeType":"YulFunctionCall","src":"9720:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9710:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9795:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9804:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9807:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9797:6:150"},"nodeType":"YulFunctionCall","src":"9797:12:150"},"nodeType":"YulExpressionStatement","src":"9797:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9767:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9783:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"9787:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9779:3:150"},"nodeType":"YulFunctionCall","src":"9779:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"9791:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9775:3:150"},"nodeType":"YulFunctionCall","src":"9775:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9764:2:150"},"nodeType":"YulFunctionCall","src":"9764:30:150"},"nodeType":"YulIf","src":"9761:50:150"},{"nodeType":"YulVariableDeclaration","src":"9820:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9834:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"9845:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9830:3:150"},"nodeType":"YulFunctionCall","src":"9830:22:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9824:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9900:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9909:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9912:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9902:6:150"},"nodeType":"YulFunctionCall","src":"9902:12:150"},"nodeType":"YulExpressionStatement","src":"9902:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"9879:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"9883:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9875:3:150"},"nodeType":"YulFunctionCall","src":"9875:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9890:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9871:3:150"},"nodeType":"YulFunctionCall","src":"9871:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9864:6:150"},"nodeType":"YulFunctionCall","src":"9864:35:150"},"nodeType":"YulIf","src":"9861:55:150"},{"nodeType":"YulVariableDeclaration","src":"9925:26:150","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"9948:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9935:12:150"},"nodeType":"YulFunctionCall","src":"9935:16:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"9929:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9960:61:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"10017:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"9989:27:150"},"nodeType":"YulFunctionCall","src":"9989:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"9973:15:150"},"nodeType":"YulFunctionCall","src":"9973:48:150"},"variables":[{"name":"array","nodeType":"YulTypedName","src":"9964:5:150","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"10037:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10044:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10030:6:150"},"nodeType":"YulFunctionCall","src":"10030:17:150"},"nodeType":"YulExpressionStatement","src":"10030:17:150"},{"body":{"nodeType":"YulBlock","src":"10093:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10102:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10105:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10095:6:150"},"nodeType":"YulFunctionCall","src":"10095:12:150"},"nodeType":"YulExpressionStatement","src":"10095:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"10070:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10074:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10066:3:150"},"nodeType":"YulFunctionCall","src":"10066:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"10079:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10062:3:150"},"nodeType":"YulFunctionCall","src":"10062:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10084:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10059:2:150"},"nodeType":"YulFunctionCall","src":"10059:33:150"},"nodeType":"YulIf","src":"10056:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"10135:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"10142:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10131:3:150"},"nodeType":"YulFunctionCall","src":"10131:14:150"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"10151:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"10155:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10147:3:150"},"nodeType":"YulFunctionCall","src":"10147:11:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10160:2:150"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"10118:12:150"},"nodeType":"YulFunctionCall","src":"10118:45:150"},"nodeType":"YulExpressionStatement","src":"10118:45:150"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"10187:5:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10194:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10183:3:150"},"nodeType":"YulFunctionCall","src":"10183:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"10199:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10179:3:150"},"nodeType":"YulFunctionCall","src":"10179:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10204:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10172:6:150"},"nodeType":"YulFunctionCall","src":"10172:34:150"},"nodeType":"YulExpressionStatement","src":"10172:34:150"},{"nodeType":"YulAssignment","src":"10215:15:150","value":{"name":"array","nodeType":"YulIdentifier","src":"10225:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10215:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9484:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9495:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9507:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9515:6:150","type":""}],"src":"9430:806:150"},{"body":{"nodeType":"YulBlock","src":"10395:1052:150","statements":[{"body":{"nodeType":"YulBlock","src":"10441:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10450:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10453:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10443:6:150"},"nodeType":"YulFunctionCall","src":"10443:12:150"},"nodeType":"YulExpressionStatement","src":"10443:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10416:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"10425:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10412:3:150"},"nodeType":"YulFunctionCall","src":"10412:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"10437:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10408:3:150"},"nodeType":"YulFunctionCall","src":"10408:32:150"},"nodeType":"YulIf","src":"10405:52:150"},{"nodeType":"YulAssignment","src":"10466:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10489:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10476:12:150"},"nodeType":"YulFunctionCall","src":"10476:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10466:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10508:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10518:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"10512:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10529:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10560:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10571:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10556:3:150"},"nodeType":"YulFunctionCall","src":"10556:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10543:12:150"},"nodeType":"YulFunctionCall","src":"10543:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10533:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10584:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10602:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"10606:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10598:3:150"},"nodeType":"YulFunctionCall","src":"10598:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"10610:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10594:3:150"},"nodeType":"YulFunctionCall","src":"10594:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"10588:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10639:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10648:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10651:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10641:6:150"},"nodeType":"YulFunctionCall","src":"10641:12:150"},"nodeType":"YulExpressionStatement","src":"10641:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10627:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10635:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10624:2:150"},"nodeType":"YulFunctionCall","src":"10624:14:150"},"nodeType":"YulIf","src":"10621:34:150"},{"nodeType":"YulAssignment","src":"10664:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10707:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"10718:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10703:3:150"},"nodeType":"YulFunctionCall","src":"10703:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10727:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"10674:28:150"},"nodeType":"YulFunctionCall","src":"10674:61:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10664:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"10744:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10777:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10788:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10773:3:150"},"nodeType":"YulFunctionCall","src":"10773:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10760:12:150"},"nodeType":"YulFunctionCall","src":"10760:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"10748:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10821:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10830:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10833:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10823:6:150"},"nodeType":"YulFunctionCall","src":"10823:12:150"},"nodeType":"YulExpressionStatement","src":"10823:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"10807:8:150"},{"name":"_2","nodeType":"YulIdentifier","src":"10817:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10804:2:150"},"nodeType":"YulFunctionCall","src":"10804:16:150"},"nodeType":"YulIf","src":"10801:36:150"},{"nodeType":"YulVariableDeclaration","src":"10846:34:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10860:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"10871:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10856:3:150"},"nodeType":"YulFunctionCall","src":"10856:24:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"10850:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10928:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10937:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10940:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10930:6:150"},"nodeType":"YulFunctionCall","src":"10930:12:150"},"nodeType":"YulExpressionStatement","src":"10930:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"10907:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"10911:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10903:3:150"},"nodeType":"YulFunctionCall","src":"10903:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10918:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10899:3:150"},"nodeType":"YulFunctionCall","src":"10899:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10892:6:150"},"nodeType":"YulFunctionCall","src":"10892:35:150"},"nodeType":"YulIf","src":"10889:55:150"},{"nodeType":"YulVariableDeclaration","src":"10953:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"10976:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10963:12:150"},"nodeType":"YulFunctionCall","src":"10963:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"10957:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10988:71:150","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"11055:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"11015:39:150"},"nodeType":"YulFunctionCall","src":"11015:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"10999:15:150"},"nodeType":"YulFunctionCall","src":"10999:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"10992:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11068:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"11081:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"11072:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11100:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"11105:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11093:6:150"},"nodeType":"YulFunctionCall","src":"11093:15:150"},"nodeType":"YulExpressionStatement","src":"11093:15:150"},{"nodeType":"YulAssignment","src":"11117:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11128:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11133:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11124:3:150"},"nodeType":"YulFunctionCall","src":"11124:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"11117:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"11145:42:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11167:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11175:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"11178:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11171:3:150"},"nodeType":"YulFunctionCall","src":"11171:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11163:3:150"},"nodeType":"YulFunctionCall","src":"11163:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11184:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11159:3:150"},"nodeType":"YulFunctionCall","src":"11159:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"11149:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11219:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11228:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11231:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11221:6:150"},"nodeType":"YulFunctionCall","src":"11221:12:150"},"nodeType":"YulExpressionStatement","src":"11221:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"11202:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11210:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11199:2:150"},"nodeType":"YulFunctionCall","src":"11199:19:150"},"nodeType":"YulIf","src":"11196:39:150"},{"nodeType":"YulVariableDeclaration","src":"11244:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"11259:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11263:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11255:3:150"},"nodeType":"YulFunctionCall","src":"11255:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"11248:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"11331:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11352:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11370:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11357:12:150"},"nodeType":"YulFunctionCall","src":"11357:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11345:6:150"},"nodeType":"YulFunctionCall","src":"11345:30:150"},"nodeType":"YulExpressionStatement","src":"11345:30:150"},{"nodeType":"YulAssignment","src":"11388:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"11399:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11404:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11395:3:150"},"nodeType":"YulFunctionCall","src":"11395:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"11388:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11286:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"11291:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11283:2:150"},"nodeType":"YulFunctionCall","src":"11283:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11299:23:150","statements":[{"nodeType":"YulAssignment","src":"11301:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11312:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"11317:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11308:3:150"},"nodeType":"YulFunctionCall","src":"11308:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"11301:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"11279:3:150","statements":[]},"src":"11275:142:150"},{"nodeType":"YulAssignment","src":"11426:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"11436:5:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11426:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10345:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10356:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10368:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10376:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10384:6:150","type":""}],"src":"10241:1206:150"},{"body":{"nodeType":"YulBlock","src":"11542:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"11588:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11597:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11600:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11590:6:150"},"nodeType":"YulFunctionCall","src":"11590:12:150"},"nodeType":"YulExpressionStatement","src":"11590:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11563:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11572:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11559:3:150"},"nodeType":"YulFunctionCall","src":"11559:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11584:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11555:3:150"},"nodeType":"YulFunctionCall","src":"11555:32:150"},"nodeType":"YulIf","src":"11552:52:150"},{"nodeType":"YulVariableDeclaration","src":"11613:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11639:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11626:12:150"},"nodeType":"YulFunctionCall","src":"11626:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11617:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11683:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11658:24:150"},"nodeType":"YulFunctionCall","src":"11658:31:150"},"nodeType":"YulExpressionStatement","src":"11658:31:150"},{"nodeType":"YulAssignment","src":"11698:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11708:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11698:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IEmissions_$64454","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11508:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11519:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11531:6:150","type":""}],"src":"11452:267:150"},{"body":{"nodeType":"YulBlock","src":"11823:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"11869:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11878:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11881:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11871:6:150"},"nodeType":"YulFunctionCall","src":"11871:12:150"},"nodeType":"YulExpressionStatement","src":"11871:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11844:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"11853:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11840:3:150"},"nodeType":"YulFunctionCall","src":"11840:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"11865:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11836:3:150"},"nodeType":"YulFunctionCall","src":"11836:32:150"},"nodeType":"YulIf","src":"11833:52:150"},{"nodeType":"YulVariableDeclaration","src":"11894:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11920:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11907:12:150"},"nodeType":"YulFunctionCall","src":"11907:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11898:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11964:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11939:24:150"},"nodeType":"YulFunctionCall","src":"11939:31:150"},"nodeType":"YulExpressionStatement","src":"11939:31:150"},{"nodeType":"YulAssignment","src":"11979:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"11989:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11979:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11789:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11800:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11812:6:150","type":""}],"src":"11724:276:150"},{"body":{"nodeType":"YulBlock","src":"12098:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"12144:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12153:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12156:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12146:6:150"},"nodeType":"YulFunctionCall","src":"12146:12:150"},"nodeType":"YulExpressionStatement","src":"12146:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12119:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"12128:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12115:3:150"},"nodeType":"YulFunctionCall","src":"12115:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"12140:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12111:3:150"},"nodeType":"YulFunctionCall","src":"12111:32:150"},"nodeType":"YulIf","src":"12108:52:150"},{"nodeType":"YulVariableDeclaration","src":"12169:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12195:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12182:12:150"},"nodeType":"YulFunctionCall","src":"12182:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12173:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12239:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"12214:24:150"},"nodeType":"YulFunctionCall","src":"12214:31:150"},"nodeType":"YulExpressionStatement","src":"12214:31:150"},{"nodeType":"YulAssignment","src":"12254:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"12264:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12254:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12064:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12075:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12087:6:150","type":""}],"src":"12005:270:150"},{"body":{"nodeType":"YulBlock","src":"12437:273:150","statements":[{"nodeType":"YulAssignment","src":"12447:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12459:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12470:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12455:3:150"},"nodeType":"YulFunctionCall","src":"12455:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12447:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12489:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12510:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12504:5:150"},"nodeType":"YulFunctionCall","src":"12504:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12527:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12532:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12523:3:150"},"nodeType":"YulFunctionCall","src":"12523:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"12536:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12519:3:150"},"nodeType":"YulFunctionCall","src":"12519:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12500:3:150"},"nodeType":"YulFunctionCall","src":"12500:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12482:6:150"},"nodeType":"YulFunctionCall","src":"12482:58:150"},"nodeType":"YulExpressionStatement","src":"12482:58:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12560:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12571:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12556:3:150"},"nodeType":"YulFunctionCall","src":"12556:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12592:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12600:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12588:3:150"},"nodeType":"YulFunctionCall","src":"12588:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12582:5:150"},"nodeType":"YulFunctionCall","src":"12582:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"12608:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12578:3:150"},"nodeType":"YulFunctionCall","src":"12578:45:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12549:6:150"},"nodeType":"YulFunctionCall","src":"12549:75:150"},"nodeType":"YulExpressionStatement","src":"12549:75:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12644:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12655:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12640:3:150"},"nodeType":"YulFunctionCall","src":"12640:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12676:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12684:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12672:3:150"},"nodeType":"YulFunctionCall","src":"12672:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12666:5:150"},"nodeType":"YulFunctionCall","src":"12666:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"12692:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12662:3:150"},"nodeType":"YulFunctionCall","src":"12662:41:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12633:6:150"},"nodeType":"YulFunctionCall","src":"12633:71:150"},"nodeType":"YulExpressionStatement","src":"12633:71:150"}]},"name":"abi_encode_tuple_t_struct$_RoundCore_$82969_memory_ptr__to_t_struct$_RoundCore_$82969_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12406:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12417:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12428:4:150","type":""}],"src":"12280:430:150"},{"body":{"nodeType":"YulBlock","src":"12814:97:150","statements":[{"nodeType":"YulAssignment","src":"12824:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12836:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"12847:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12832:3:150"},"nodeType":"YulFunctionCall","src":"12832:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12824:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12866:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12881:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"12889:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12877:3:150"},"nodeType":"YulFunctionCall","src":"12877:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12859:6:150"},"nodeType":"YulFunctionCall","src":"12859:46:150"},"nodeType":"YulExpressionStatement","src":"12859:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12783:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12794:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12805:4:150","type":""}],"src":"12715:196:150"},{"body":{"nodeType":"YulBlock","src":"13002:300:150","statements":[{"body":{"nodeType":"YulBlock","src":"13048:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13057:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13060:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13050:6:150"},"nodeType":"YulFunctionCall","src":"13050:12:150"},"nodeType":"YulExpressionStatement","src":"13050:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13023:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13032:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13019:3:150"},"nodeType":"YulFunctionCall","src":"13019:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13044:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13015:3:150"},"nodeType":"YulFunctionCall","src":"13015:32:150"},"nodeType":"YulIf","src":"13012:52:150"},{"nodeType":"YulVariableDeclaration","src":"13073:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13099:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13086:12:150"},"nodeType":"YulFunctionCall","src":"13086:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13077:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13143:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13118:24:150"},"nodeType":"YulFunctionCall","src":"13118:31:150"},"nodeType":"YulExpressionStatement","src":"13118:31:150"},{"nodeType":"YulAssignment","src":"13158:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13168:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13158:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"13182:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13214:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13225:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13210:3:150"},"nodeType":"YulFunctionCall","src":"13210:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13197:12:150"},"nodeType":"YulFunctionCall","src":"13197:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13186:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13262:7:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"13238:23:150"},"nodeType":"YulFunctionCall","src":"13238:32:150"},"nodeType":"YulExpressionStatement","src":"13238:32:150"},{"nodeType":"YulAssignment","src":"13279:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"13289:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13279:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12960:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12971:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12983:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12991:6:150","type":""}],"src":"12916:386:150"},{"body":{"nodeType":"YulBlock","src":"13422:228:150","statements":[{"body":{"nodeType":"YulBlock","src":"13468:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13477:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13480:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13470:6:150"},"nodeType":"YulFunctionCall","src":"13470:12:150"},"nodeType":"YulExpressionStatement","src":"13470:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13443:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13452:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13439:3:150"},"nodeType":"YulFunctionCall","src":"13439:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13464:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13435:3:150"},"nodeType":"YulFunctionCall","src":"13435:32:150"},"nodeType":"YulIf","src":"13432:52:150"},{"nodeType":"YulVariableDeclaration","src":"13493:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13519:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13506:12:150"},"nodeType":"YulFunctionCall","src":"13506:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13497:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13563:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13538:24:150"},"nodeType":"YulFunctionCall","src":"13538:31:150"},"nodeType":"YulExpressionStatement","src":"13538:31:150"},{"nodeType":"YulAssignment","src":"13578:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13588:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13578:6:150"}]},{"nodeType":"YulAssignment","src":"13602:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"13640:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13625:3:150"},"nodeType":"YulFunctionCall","src":"13625:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13612:12:150"},"nodeType":"YulFunctionCall","src":"13612:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13602:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13380:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13391:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13403:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13411:6:150","type":""}],"src":"13307:343:150"},{"body":{"nodeType":"YulBlock","src":"13748:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"13794:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13803:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13806:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13796:6:150"},"nodeType":"YulFunctionCall","src":"13796:12:150"},"nodeType":"YulExpressionStatement","src":"13796:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13769:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"13778:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13765:3:150"},"nodeType":"YulFunctionCall","src":"13765:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"13790:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13761:3:150"},"nodeType":"YulFunctionCall","src":"13761:32:150"},"nodeType":"YulIf","src":"13758:52:150"},{"nodeType":"YulVariableDeclaration","src":"13819:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13845:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13832:12:150"},"nodeType":"YulFunctionCall","src":"13832:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13823:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13889:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13864:24:150"},"nodeType":"YulFunctionCall","src":"13864:31:150"},"nodeType":"YulExpressionStatement","src":"13864:31:150"},{"nodeType":"YulAssignment","src":"13904:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"13914:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13904:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13714:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13725:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13737:6:150","type":""}],"src":"13655:270:150"},{"body":{"nodeType":"YulBlock","src":"14027:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"14073:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14082:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14085:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14075:6:150"},"nodeType":"YulFunctionCall","src":"14075:12:150"},"nodeType":"YulExpressionStatement","src":"14075:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14048:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14057:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14044:3:150"},"nodeType":"YulFunctionCall","src":"14044:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14069:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14040:3:150"},"nodeType":"YulFunctionCall","src":"14040:32:150"},"nodeType":"YulIf","src":"14037:52:150"},{"nodeType":"YulVariableDeclaration","src":"14098:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14124:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14111:12:150"},"nodeType":"YulFunctionCall","src":"14111:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14102:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14168:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14143:24:150"},"nodeType":"YulFunctionCall","src":"14143:31:150"},"nodeType":"YulExpressionStatement","src":"14143:31:150"},{"nodeType":"YulAssignment","src":"14183:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14193:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14183:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13993:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14004:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14016:6:150","type":""}],"src":"13930:274:150"},{"body":{"nodeType":"YulBlock","src":"14300:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"14346:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14355:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14358:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14348:6:150"},"nodeType":"YulFunctionCall","src":"14348:12:150"},"nodeType":"YulExpressionStatement","src":"14348:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14321:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14330:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14317:3:150"},"nodeType":"YulFunctionCall","src":"14317:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14342:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14313:3:150"},"nodeType":"YulFunctionCall","src":"14313:32:150"},"nodeType":"YulIf","src":"14310:52:150"},{"nodeType":"YulVariableDeclaration","src":"14371:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14397:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14384:12:150"},"nodeType":"YulFunctionCall","src":"14384:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"14375:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14441:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14416:24:150"},"nodeType":"YulFunctionCall","src":"14416:31:150"},"nodeType":"YulExpressionStatement","src":"14416:31:150"},{"nodeType":"YulAssignment","src":"14456:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"14466:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14456:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IX2EarnApps_$69989","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14266:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14277:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14289:6:150","type":""}],"src":"14209:268:150"},{"body":{"nodeType":"YulBlock","src":"14569:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"14615:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14624:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14627:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14617:6:150"},"nodeType":"YulFunctionCall","src":"14617:12:150"},"nodeType":"YulExpressionStatement","src":"14617:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14590:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"14599:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14586:3:150"},"nodeType":"YulFunctionCall","src":"14586:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"14611:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14582:3:150"},"nodeType":"YulFunctionCall","src":"14582:32:150"},"nodeType":"YulIf","src":"14579:52:150"},{"nodeType":"YulAssignment","src":"14640:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14663:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14650:12:150"},"nodeType":"YulFunctionCall","src":"14650:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14640:6:150"}]},{"nodeType":"YulAssignment","src":"14682:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14709:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14720:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14705:3:150"},"nodeType":"YulFunctionCall","src":"14705:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14692:12:150"},"nodeType":"YulFunctionCall","src":"14692:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"14682:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14527:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14538:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14550:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14558:6:150","type":""}],"src":"14482:248:150"},{"body":{"nodeType":"YulBlock","src":"14864:102:150","statements":[{"nodeType":"YulAssignment","src":"14874:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14886:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"14897:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14882:3:150"},"nodeType":"YulFunctionCall","src":"14882:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14874:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14916:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14931:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14947:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"14952:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14943:3:150"},"nodeType":"YulFunctionCall","src":"14943:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"14956:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14939:3:150"},"nodeType":"YulFunctionCall","src":"14939:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14927:3:150"},"nodeType":"YulFunctionCall","src":"14927:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14909:6:150"},"nodeType":"YulFunctionCall","src":"14909:51:150"},"nodeType":"YulExpressionStatement","src":"14909:51:150"}]},"name":"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14833:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14844:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14855:4:150","type":""}],"src":"14735:231:150"},{"body":{"nodeType":"YulBlock","src":"15015:77:150","statements":[{"body":{"nodeType":"YulBlock","src":"15070:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15079:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15082:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15072:6:150"},"nodeType":"YulFunctionCall","src":"15072:12:150"},"nodeType":"YulExpressionStatement","src":"15072:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15038:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15049:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"15056:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15045:3:150"},"nodeType":"YulFunctionCall","src":"15045:22:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"15035:2:150"},"nodeType":"YulFunctionCall","src":"15035:33:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15028:6:150"},"nodeType":"YulFunctionCall","src":"15028:41:150"},"nodeType":"YulIf","src":"15025:61:150"}]},"name":"validator_revert_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15004:5:150","type":""}],"src":"14971:121:150"},{"body":{"nodeType":"YulBlock","src":"15166:176:150","statements":[{"body":{"nodeType":"YulBlock","src":"15212:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15221:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15224:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15214:6:150"},"nodeType":"YulFunctionCall","src":"15214:12:150"},"nodeType":"YulExpressionStatement","src":"15214:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15187:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15196:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15183:3:150"},"nodeType":"YulFunctionCall","src":"15183:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15208:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15179:3:150"},"nodeType":"YulFunctionCall","src":"15179:32:150"},"nodeType":"YulIf","src":"15176:52:150"},{"nodeType":"YulVariableDeclaration","src":"15237:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15263:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15250:12:150"},"nodeType":"YulFunctionCall","src":"15250:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15241:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15306:5:150"}],"functionName":{"name":"validator_revert_uint32","nodeType":"YulIdentifier","src":"15282:23:150"},"nodeType":"YulFunctionCall","src":"15282:30:150"},"nodeType":"YulExpressionStatement","src":"15282:30:150"},{"nodeType":"YulAssignment","src":"15321:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15331:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15321:6:150"}]}]},"name":"abi_decode_tuple_t_uint32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15132:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15143:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15155:6:150","type":""}],"src":"15097:245:150"},{"body":{"nodeType":"YulBlock","src":"15445:177:150","statements":[{"body":{"nodeType":"YulBlock","src":"15491:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15500:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15503:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15493:6:150"},"nodeType":"YulFunctionCall","src":"15493:12:150"},"nodeType":"YulExpressionStatement","src":"15493:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15466:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15475:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15462:3:150"},"nodeType":"YulFunctionCall","src":"15462:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15487:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15458:3:150"},"nodeType":"YulFunctionCall","src":"15458:32:150"},"nodeType":"YulIf","src":"15455:52:150"},{"nodeType":"YulVariableDeclaration","src":"15516:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15542:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15529:12:150"},"nodeType":"YulFunctionCall","src":"15529:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15520:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15586:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15561:24:150"},"nodeType":"YulFunctionCall","src":"15561:31:150"},"nodeType":"YulExpressionStatement","src":"15561:31:150"},{"nodeType":"YulAssignment","src":"15601:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"15611:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15601:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15411:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15422:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15434:6:150","type":""}],"src":"15347:275:150"},{"body":{"nodeType":"YulBlock","src":"15708:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"15754:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15763:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15766:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15756:6:150"},"nodeType":"YulFunctionCall","src":"15756:12:150"},"nodeType":"YulExpressionStatement","src":"15756:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15729:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"15738:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15725:3:150"},"nodeType":"YulFunctionCall","src":"15725:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"15750:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15721:3:150"},"nodeType":"YulFunctionCall","src":"15721:32:150"},"nodeType":"YulIf","src":"15718:52:150"},{"nodeType":"YulAssignment","src":"15779:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15795:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15789:5:150"},"nodeType":"YulFunctionCall","src":"15789:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15779:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15674:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15685:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15697:6:150","type":""}],"src":"15627:184:150"},{"body":{"nodeType":"YulBlock","src":"15923:97:150","statements":[{"nodeType":"YulAssignment","src":"15933:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15945:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"15956:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15941:3:150"},"nodeType":"YulFunctionCall","src":"15941:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15933:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15975:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15990:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"15998:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15986:3:150"},"nodeType":"YulFunctionCall","src":"15986:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15968:6:150"},"nodeType":"YulFunctionCall","src":"15968:46:150"},"nodeType":"YulExpressionStatement","src":"15968:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15892:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15903:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15914:4:150","type":""}],"src":"15816:204:150"},{"body":{"nodeType":"YulBlock","src":"16106:209:150","statements":[{"body":{"nodeType":"YulBlock","src":"16152:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16161:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16164:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16154:6:150"},"nodeType":"YulFunctionCall","src":"16154:12:150"},"nodeType":"YulExpressionStatement","src":"16154:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16127:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16136:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16123:3:150"},"nodeType":"YulFunctionCall","src":"16123:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16148:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16119:3:150"},"nodeType":"YulFunctionCall","src":"16119:32:150"},"nodeType":"YulIf","src":"16116:52:150"},{"nodeType":"YulVariableDeclaration","src":"16177:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16196:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16190:5:150"},"nodeType":"YulFunctionCall","src":"16190:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16181:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"16269:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16278:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16281:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16271:6:150"},"nodeType":"YulFunctionCall","src":"16271:12:150"},"nodeType":"YulExpressionStatement","src":"16271:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16228:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16239:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16254:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"16259:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16250:3:150"},"nodeType":"YulFunctionCall","src":"16250:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"16263:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16246:3:150"},"nodeType":"YulFunctionCall","src":"16246:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16235:3:150"},"nodeType":"YulFunctionCall","src":"16235:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16225:2:150"},"nodeType":"YulFunctionCall","src":"16225:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16218:6:150"},"nodeType":"YulFunctionCall","src":"16218:50:150"},"nodeType":"YulIf","src":"16215:70:150"},{"nodeType":"YulAssignment","src":"16294:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"16304:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16294:6:150"}]}]},"name":"abi_decode_tuple_t_uint208_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16072:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16083:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16095:6:150","type":""}],"src":"16025:290:150"},{"body":{"nodeType":"YulBlock","src":"16400:169:150","statements":[{"body":{"nodeType":"YulBlock","src":"16446:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16455:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16458:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16448:6:150"},"nodeType":"YulFunctionCall","src":"16448:12:150"},"nodeType":"YulExpressionStatement","src":"16448:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16421:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"16430:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16417:3:150"},"nodeType":"YulFunctionCall","src":"16417:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"16442:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16413:3:150"},"nodeType":"YulFunctionCall","src":"16413:32:150"},"nodeType":"YulIf","src":"16410:52:150"},{"nodeType":"YulVariableDeclaration","src":"16471:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16490:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"16484:5:150"},"nodeType":"YulFunctionCall","src":"16484:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16475:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16533:5:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"16509:23:150"},"nodeType":"YulFunctionCall","src":"16509:30:150"},"nodeType":"YulExpressionStatement","src":"16509:30:150"},{"nodeType":"YulAssignment","src":"16548:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"16558:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16548:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16366:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16377:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16389:6:150","type":""}],"src":"16320:249:150"},{"body":{"nodeType":"YulBlock","src":"16709:140:150","statements":[{"nodeType":"YulAssignment","src":"16719:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16731:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16742:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16727:3:150"},"nodeType":"YulFunctionCall","src":"16727:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16719:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16761:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"16772:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16754:6:150"},"nodeType":"YulFunctionCall","src":"16754:25:150"},"nodeType":"YulExpressionStatement","src":"16754:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16799:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16810:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16795:3:150"},"nodeType":"YulFunctionCall","src":"16795:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16819:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"16827:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16815:3:150"},"nodeType":"YulFunctionCall","src":"16815:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16788:6:150"},"nodeType":"YulFunctionCall","src":"16788:55:150"},"nodeType":"YulExpressionStatement","src":"16788:55:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16670:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16681:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16689:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16700:4:150","type":""}],"src":"16574:275:150"},{"body":{"nodeType":"YulBlock","src":"16963:76:150","statements":[{"nodeType":"YulAssignment","src":"16973:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16985:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"16996:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16981:3:150"},"nodeType":"YulFunctionCall","src":"16981:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16973:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17015:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"17026:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17008:6:150"},"nodeType":"YulFunctionCall","src":"17008:25:150"},"nodeType":"YulExpressionStatement","src":"17008:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16932:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16943:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16954:4:150","type":""}],"src":"16854:185:150"},{"body":{"nodeType":"YulBlock","src":"17104:78:150","statements":[{"nodeType":"YulAssignment","src":"17114:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17129:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17123:5:150"},"nodeType":"YulFunctionCall","src":"17123:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17114:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17170:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"17145:24:150"},"nodeType":"YulFunctionCall","src":"17145:31:150"},"nodeType":"YulExpressionStatement","src":"17145:31:150"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17083:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17094:5:150","type":""}],"src":"17044:138:150"},{"body":{"nodeType":"YulBlock","src":"17251:378:150","statements":[{"body":{"nodeType":"YulBlock","src":"17300:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17309:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17312:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17302:6:150"},"nodeType":"YulFunctionCall","src":"17302:12:150"},"nodeType":"YulExpressionStatement","src":"17302:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17279:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17287:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17275:3:150"},"nodeType":"YulFunctionCall","src":"17275:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"17294:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17271:3:150"},"nodeType":"YulFunctionCall","src":"17271:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17264:6:150"},"nodeType":"YulFunctionCall","src":"17264:35:150"},"nodeType":"YulIf","src":"17261:55:150"},{"nodeType":"YulVariableDeclaration","src":"17325:23:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17341:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17335:5:150"},"nodeType":"YulFunctionCall","src":"17335:13:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17329:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17357:63:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17416:2:150"}],"functionName":{"name":"array_allocation_size_bytes","nodeType":"YulIdentifier","src":"17388:27:150"},"nodeType":"YulFunctionCall","src":"17388:31:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"17372:15:150"},"nodeType":"YulFunctionCall","src":"17372:48:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"17361:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"17436:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17445:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17429:6:150"},"nodeType":"YulFunctionCall","src":"17429:19:150"},"nodeType":"YulExpressionStatement","src":"17429:19:150"},{"body":{"nodeType":"YulBlock","src":"17496:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17505:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17508:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17498:6:150"},"nodeType":"YulFunctionCall","src":"17498:12:150"},"nodeType":"YulExpressionStatement","src":"17498:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17471:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17479:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17467:3:150"},"nodeType":"YulFunctionCall","src":"17467:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"17484:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17463:3:150"},"nodeType":"YulFunctionCall","src":"17463:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"17491:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17460:2:150"},"nodeType":"YulFunctionCall","src":"17460:35:150"},"nodeType":"YulIf","src":"17457:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17560:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"17568:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17556:3:150"},"nodeType":"YulFunctionCall","src":"17556:17:150"},{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"17579:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"17588:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17575:3:150"},"nodeType":"YulFunctionCall","src":"17575:18:150"},{"name":"_1","nodeType":"YulIdentifier","src":"17595:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"17521:34:150"},"nodeType":"YulFunctionCall","src":"17521:77:150"},"nodeType":"YulExpressionStatement","src":"17521:77:150"},{"nodeType":"YulAssignment","src":"17607:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"17616:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"17607:5:150"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17225:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"17233:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"17241:5:150","type":""}],"src":"17187:442:150"},{"body":{"nodeType":"YulBlock","src":"17691:107:150","statements":[{"nodeType":"YulAssignment","src":"17701:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17716:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17710:5:150"},"nodeType":"YulFunctionCall","src":"17710:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"17701:5:150"}]},{"body":{"nodeType":"YulBlock","src":"17776:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17785:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17788:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17778:6:150"},"nodeType":"YulFunctionCall","src":"17778:12:150"},"nodeType":"YulExpressionStatement","src":"17778:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17745:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17766:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17759:6:150"},"nodeType":"YulFunctionCall","src":"17759:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17752:6:150"},"nodeType":"YulFunctionCall","src":"17752:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"17742:2:150"},"nodeType":"YulFunctionCall","src":"17742:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17735:6:150"},"nodeType":"YulFunctionCall","src":"17735:40:150"},"nodeType":"YulIf","src":"17732:60:150"}]},"name":"abi_decode_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"17670:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"17681:5:150","type":""}],"src":"17634:164:150"},{"body":{"nodeType":"YulBlock","src":"17952:2025:150","statements":[{"nodeType":"YulVariableDeclaration","src":"17962:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"17972:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17966:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18019:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18028:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18031:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18021:6:150"},"nodeType":"YulFunctionCall","src":"18021:12:150"},"nodeType":"YulExpressionStatement","src":"18021:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17994:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"18003:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17990:3:150"},"nodeType":"YulFunctionCall","src":"17990:23:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18015:2:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17986:3:150"},"nodeType":"YulFunctionCall","src":"17986:32:150"},"nodeType":"YulIf","src":"17983:52:150"},{"nodeType":"YulVariableDeclaration","src":"18044:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18064:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18058:5:150"},"nodeType":"YulFunctionCall","src":"18058:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"18048:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18083:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18101:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"18105:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18097:3:150"},"nodeType":"YulFunctionCall","src":"18097:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"18109:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18093:3:150"},"nodeType":"YulFunctionCall","src":"18093:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"18087:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18138:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18147:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18150:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18140:6:150"},"nodeType":"YulFunctionCall","src":"18140:12:150"},"nodeType":"YulExpressionStatement","src":"18140:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"18126:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"18134:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18123:2:150"},"nodeType":"YulFunctionCall","src":"18123:14:150"},"nodeType":"YulIf","src":"18120:34:150"},{"nodeType":"YulVariableDeclaration","src":"18163:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18177:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"18188:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18173:3:150"},"nodeType":"YulFunctionCall","src":"18173:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"18167:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18243:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18252:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18255:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18245:6:150"},"nodeType":"YulFunctionCall","src":"18245:12:150"},"nodeType":"YulExpressionStatement","src":"18245:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18222:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"18226:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18218:3:150"},"nodeType":"YulFunctionCall","src":"18218:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18233:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18214:3:150"},"nodeType":"YulFunctionCall","src":"18214:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18207:6:150"},"nodeType":"YulFunctionCall","src":"18207:35:150"},"nodeType":"YulIf","src":"18204:55:150"},{"nodeType":"YulVariableDeclaration","src":"18268:19:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18284:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18278:5:150"},"nodeType":"YulFunctionCall","src":"18278:9:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"18272:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18296:71:150","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"18363:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"18323:39:150"},"nodeType":"YulFunctionCall","src":"18323:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"18307:15:150"},"nodeType":"YulFunctionCall","src":"18307:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"18300:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18376:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"18389:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"18380:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"18408:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"18413:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18401:6:150"},"nodeType":"YulFunctionCall","src":"18401:15:150"},"nodeType":"YulExpressionStatement","src":"18401:15:150"},{"nodeType":"YulAssignment","src":"18425:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"18436:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18441:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18432:3:150"},"nodeType":"YulFunctionCall","src":"18432:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"18425:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"18453:42:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18475:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18483:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"18486:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18479:3:150"},"nodeType":"YulFunctionCall","src":"18479:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18471:3:150"},"nodeType":"YulFunctionCall","src":"18471:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18492:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18467:3:150"},"nodeType":"YulFunctionCall","src":"18467:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"18457:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18527:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18536:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18539:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18529:6:150"},"nodeType":"YulFunctionCall","src":"18529:12:150"},"nodeType":"YulExpressionStatement","src":"18529:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"18510:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"18518:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18507:2:150"},"nodeType":"YulFunctionCall","src":"18507:19:150"},"nodeType":"YulIf","src":"18504:39:150"},{"nodeType":"YulVariableDeclaration","src":"18552:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18567:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18571:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18563:3:150"},"nodeType":"YulFunctionCall","src":"18563:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"18556:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18639:1308:150","statements":[{"nodeType":"YulVariableDeclaration","src":"18653:29:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18678:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18672:5:150"},"nodeType":"YulFunctionCall","src":"18672:10:150"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"18657:11:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18718:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18727:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18730:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18720:6:150"},"nodeType":"YulFunctionCall","src":"18720:12:150"},"nodeType":"YulExpressionStatement","src":"18720:12:150"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"18701:11:150"},{"name":"_2","nodeType":"YulIdentifier","src":"18714:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18698:2:150"},"nodeType":"YulFunctionCall","src":"18698:19:150"},"nodeType":"YulIf","src":"18695:39:150"},{"nodeType":"YulVariableDeclaration","src":"18747:30:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"18761:2:150"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"18765:11:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18757:3:150"},"nodeType":"YulFunctionCall","src":"18757:20:150"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"18751:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"18847:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"18865:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"18875:1:150","type":"","value":"0"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"18869:2:150","type":""}]},{"expression":{"arguments":[{"name":"_6","nodeType":"YulIdentifier","src":"18900:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"18904:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18893:6:150"},"nodeType":"YulFunctionCall","src":"18893:14:150"},"nodeType":"YulExpressionStatement","src":"18893:14:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18805:7:150"},{"name":"_5","nodeType":"YulIdentifier","src":"18814:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18801:3:150"},"nodeType":"YulFunctionCall","src":"18801:16:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18823:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18819:3:150"},"nodeType":"YulFunctionCall","src":"18819:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18797:3:150"},"nodeType":"YulFunctionCall","src":"18797:30:150"},{"kind":"number","nodeType":"YulLiteral","src":"18829:4:150","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18793:3:150"},"nodeType":"YulFunctionCall","src":"18793:41:150"},"nodeType":"YulIf","src":"18790:131:150"},{"nodeType":"YulVariableDeclaration","src":"18934:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_5317","nodeType":"YulIdentifier","src":"18947:20:150"},"nodeType":"YulFunctionCall","src":"18947:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"18938:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18989:5:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19006:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19010:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19002:3:150"},"nodeType":"YulFunctionCall","src":"19002:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18996:5:150"},"nodeType":"YulFunctionCall","src":"18996:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18982:6:150"},"nodeType":"YulFunctionCall","src":"18982:33:150"},"nodeType":"YulExpressionStatement","src":"18982:33:150"},{"nodeType":"YulVariableDeclaration","src":"19028:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19038:2:150","type":"","value":"64"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"19032:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19064:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19071:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19060:3:150"},"nodeType":"YulFunctionCall","src":"19060:14:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19110:2:150"},{"name":"_7","nodeType":"YulIdentifier","src":"19114:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19106:3:150"},"nodeType":"YulFunctionCall","src":"19106:11:150"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"19076:29:150"},"nodeType":"YulFunctionCall","src":"19076:42:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19053:6:150"},"nodeType":"YulFunctionCall","src":"19053:66:150"},"nodeType":"YulExpressionStatement","src":"19053:66:150"},{"nodeType":"YulVariableDeclaration","src":"19132:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19142:2:150","type":"","value":"96"},"variables":[{"name":"_8","nodeType":"YulTypedName","src":"19136:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"19157:34:150","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19183:2:150"},{"name":"_8","nodeType":"YulIdentifier","src":"19187:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19179:3:150"},"nodeType":"YulFunctionCall","src":"19179:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19173:5:150"},"nodeType":"YulFunctionCall","src":"19173:18:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"19161:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19236:74:150","statements":[{"nodeType":"YulVariableDeclaration","src":"19254:11:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19264:1:150","type":"","value":"0"},"variables":[{"name":"_9","nodeType":"YulTypedName","src":"19258:2:150","type":""}]},{"expression":{"arguments":[{"name":"_9","nodeType":"YulIdentifier","src":"19289:2:150"},{"name":"_9","nodeType":"YulIdentifier","src":"19293:2:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19282:6:150"},"nodeType":"YulFunctionCall","src":"19282:14:150"},"nodeType":"YulExpressionStatement","src":"19282:14:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"19210:8:150"},{"name":"_2","nodeType":"YulIdentifier","src":"19220:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19207:2:150"},"nodeType":"YulFunctionCall","src":"19207:16:150"},"nodeType":"YulIf","src":"19204:106:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19334:5:150"},{"name":"_7","nodeType":"YulIdentifier","src":"19341:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19330:3:150"},"nodeType":"YulFunctionCall","src":"19330:14:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19383:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"19387:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19379:3:150"},"nodeType":"YulFunctionCall","src":"19379:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19398:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19375:3:150"},"nodeType":"YulFunctionCall","src":"19375:26:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"19403:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"19346:28:150"},"nodeType":"YulFunctionCall","src":"19346:65:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19323:6:150"},"nodeType":"YulFunctionCall","src":"19323:89:150"},"nodeType":"YulExpressionStatement","src":"19323:89:150"},{"nodeType":"YulVariableDeclaration","src":"19425:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19436:3:150","type":"","value":"128"},"variables":[{"name":"_10","nodeType":"YulTypedName","src":"19429:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"19452:35:150","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19478:2:150"},{"name":"_10","nodeType":"YulIdentifier","src":"19482:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19474:3:150"},"nodeType":"YulFunctionCall","src":"19474:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19468:5:150"},"nodeType":"YulFunctionCall","src":"19468:19:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"19456:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"19532:77:150","statements":[{"nodeType":"YulVariableDeclaration","src":"19550:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19561:1:150","type":"","value":"0"},"variables":[{"name":"_11","nodeType":"YulTypedName","src":"19554:3:150","type":""}]},{"expression":{"arguments":[{"name":"_11","nodeType":"YulIdentifier","src":"19586:3:150"},{"name":"_11","nodeType":"YulIdentifier","src":"19591:3:150"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19579:6:150"},"nodeType":"YulFunctionCall","src":"19579:16:150"},"nodeType":"YulExpressionStatement","src":"19579:16:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"19506:8:150"},{"name":"_2","nodeType":"YulIdentifier","src":"19516:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19503:2:150"},"nodeType":"YulFunctionCall","src":"19503:16:150"},"nodeType":"YulIf","src":"19500:109:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19633:5:150"},{"name":"_8","nodeType":"YulIdentifier","src":"19640:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19629:3:150"},"nodeType":"YulFunctionCall","src":"19629:14:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19682:2:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"19686:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19678:3:150"},"nodeType":"YulFunctionCall","src":"19678:17:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19697:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19674:3:150"},"nodeType":"YulFunctionCall","src":"19674:26:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"19702:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"19645:28:150"},"nodeType":"YulFunctionCall","src":"19645:65:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19622:6:150"},"nodeType":"YulFunctionCall","src":"19622:89:150"},"nodeType":"YulExpressionStatement","src":"19622:89:150"},{"nodeType":"YulVariableDeclaration","src":"19724:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"19735:3:150","type":"","value":"160"},"variables":[{"name":"_12","nodeType":"YulTypedName","src":"19728:3:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19762:5:150"},{"name":"_10","nodeType":"YulIdentifier","src":"19769:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19758:3:150"},"nodeType":"YulFunctionCall","src":"19758:15:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19785:2:150"},{"name":"_12","nodeType":"YulIdentifier","src":"19789:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19781:3:150"},"nodeType":"YulFunctionCall","src":"19781:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19775:5:150"},"nodeType":"YulFunctionCall","src":"19775:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19751:6:150"},"nodeType":"YulFunctionCall","src":"19751:44:150"},"nodeType":"YulExpressionStatement","src":"19751:44:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19819:5:150"},{"name":"_12","nodeType":"YulIdentifier","src":"19826:3:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19815:3:150"},"nodeType":"YulFunctionCall","src":"19815:15:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"19863:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"19867:4:150","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19859:3:150"},"nodeType":"YulFunctionCall","src":"19859:13:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"19832:26:150"},"nodeType":"YulFunctionCall","src":"19832:41:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19808:6:150"},"nodeType":"YulFunctionCall","src":"19808:66:150"},"nodeType":"YulExpressionStatement","src":"19808:66:150"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"19894:3:150"},{"name":"value","nodeType":"YulIdentifier","src":"19899:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19887:6:150"},"nodeType":"YulFunctionCall","src":"19887:18:150"},"nodeType":"YulExpressionStatement","src":"19887:18:150"},{"nodeType":"YulAssignment","src":"19918:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"19929:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"19934:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19925:3:150"},"nodeType":"YulFunctionCall","src":"19925:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"19918:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18594:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"18599:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18591:2:150"},"nodeType":"YulFunctionCall","src":"18591:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"18607:23:150","statements":[{"nodeType":"YulAssignment","src":"18609:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18620:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"18625:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18616:3:150"},"nodeType":"YulFunctionCall","src":"18616:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"18609:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"18587:3:150","statements":[]},"src":"18583:1364:150"},{"nodeType":"YulAssignment","src":"19956:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"19966:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"19956:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17918:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17929:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17941:6:150","type":""}],"src":"17803:2174:150"},{"body":{"nodeType":"YulBlock","src":"20060:124:150","statements":[{"body":{"nodeType":"YulBlock","src":"20106:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20115:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20118:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"20108:6:150"},"nodeType":"YulFunctionCall","src":"20108:12:150"},"nodeType":"YulExpressionStatement","src":"20108:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"20081:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"20090:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20077:3:150"},"nodeType":"YulFunctionCall","src":"20077:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"20102:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"20073:3:150"},"nodeType":"YulFunctionCall","src":"20073:32:150"},"nodeType":"YulIf","src":"20070:52:150"},{"nodeType":"YulAssignment","src":"20131:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20168:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"20141:26:150"},"nodeType":"YulFunctionCall","src":"20141:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"20131:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20026:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"20037:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"20049:6:150","type":""}],"src":"19982:202:150"},{"body":{"nodeType":"YulBlock","src":"20344:189:150","statements":[{"nodeType":"YulAssignment","src":"20354:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20366:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20377:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20362:3:150"},"nodeType":"YulFunctionCall","src":"20362:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20354:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20396:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"20407:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20389:6:150"},"nodeType":"YulFunctionCall","src":"20389:25:150"},"nodeType":"YulExpressionStatement","src":"20389:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20434:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20445:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20430:3:150"},"nodeType":"YulFunctionCall","src":"20430:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20454:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"20462:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20450:3:150"},"nodeType":"YulFunctionCall","src":"20450:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20423:6:150"},"nodeType":"YulFunctionCall","src":"20423:45:150"},"nodeType":"YulExpressionStatement","src":"20423:45:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20488:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20499:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20484:3:150"},"nodeType":"YulFunctionCall","src":"20484:18:150"},{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"20518:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20511:6:150"},"nodeType":"YulFunctionCall","src":"20511:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"20504:6:150"},"nodeType":"YulFunctionCall","src":"20504:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20477:6:150"},"nodeType":"YulFunctionCall","src":"20477:50:150"},"nodeType":"YulExpressionStatement","src":"20477:50:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint8_t_bool__to_t_uint256_t_uint8_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20297:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20308:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20316:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20324:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20335:4:150","type":""}],"src":"20189:344:150"},{"body":{"nodeType":"YulBlock","src":"20753:252:150","statements":[{"nodeType":"YulVariableDeclaration","src":"20763:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20781:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"20786:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20777:3:150"},"nodeType":"YulFunctionCall","src":"20777:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"20790:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20773:3:150"},"nodeType":"YulFunctionCall","src":"20773:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"20767:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20808:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"20823:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20831:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20819:3:150"},"nodeType":"YulFunctionCall","src":"20819:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20801:6:150"},"nodeType":"YulFunctionCall","src":"20801:34:150"},"nodeType":"YulExpressionStatement","src":"20801:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20855:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20866:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20851:3:150"},"nodeType":"YulFunctionCall","src":"20851:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20875:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"20883:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20871:3:150"},"nodeType":"YulFunctionCall","src":"20871:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20844:6:150"},"nodeType":"YulFunctionCall","src":"20844:43:150"},"nodeType":"YulExpressionStatement","src":"20844:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20907:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20918:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20903:3:150"},"nodeType":"YulFunctionCall","src":"20903:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"20923:2:150","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20896:6:150"},"nodeType":"YulFunctionCall","src":"20896:30:150"},"nodeType":"YulExpressionStatement","src":"20896:30:150"},{"nodeType":"YulAssignment","src":"20935:64:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"20972:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20984:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"20995:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20980:3:150"},"nodeType":"YulFunctionCall","src":"20980:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"20943:28:150"},"nodeType":"YulFunctionCall","src":"20943:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20935:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20706:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20717:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20725:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20733:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20744:4:150","type":""}],"src":"20538:467:150"},{"body":{"nodeType":"YulBlock","src":"21145:166:150","statements":[{"nodeType":"YulAssignment","src":"21155:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21167:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21178:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21163:3:150"},"nodeType":"YulFunctionCall","src":"21163:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21155:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21197:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21212:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21228:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"21233:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21224:3:150"},"nodeType":"YulFunctionCall","src":"21224:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"21237:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21220:3:150"},"nodeType":"YulFunctionCall","src":"21220:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21208:3:150"},"nodeType":"YulFunctionCall","src":"21208:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21190:6:150"},"nodeType":"YulFunctionCall","src":"21190:51:150"},"nodeType":"YulExpressionStatement","src":"21190:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21261:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21272:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21257:3:150"},"nodeType":"YulFunctionCall","src":"21257:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"21281:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"21289:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21277:3:150"},"nodeType":"YulFunctionCall","src":"21277:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21250:6:150"},"nodeType":"YulFunctionCall","src":"21250:55:150"},"nodeType":"YulExpressionStatement","src":"21250:55:150"}]},"name":"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21106:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21117:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21125:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21136:4:150","type":""}],"src":"21010:301:150"},{"body":{"nodeType":"YulBlock","src":"21453:119:150","statements":[{"nodeType":"YulAssignment","src":"21463:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21475:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21486:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21471:3:150"},"nodeType":"YulFunctionCall","src":"21471:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21463:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21505:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"21516:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21498:6:150"},"nodeType":"YulFunctionCall","src":"21498:25:150"},"nodeType":"YulExpressionStatement","src":"21498:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21543:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21554:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21539:3:150"},"nodeType":"YulFunctionCall","src":"21539:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"21559:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21532:6:150"},"nodeType":"YulFunctionCall","src":"21532:34:150"},"nodeType":"YulExpressionStatement","src":"21532:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21414:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"21425:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21433:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21444:4:150","type":""}],"src":"21316:256:150"},{"body":{"nodeType":"YulBlock","src":"21686:102:150","statements":[{"nodeType":"YulAssignment","src":"21696:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21708:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"21719:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21704:3:150"},"nodeType":"YulFunctionCall","src":"21704:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21696:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21738:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21753:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21769:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"21774:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21765:3:150"},"nodeType":"YulFunctionCall","src":"21765:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"21778:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21761:3:150"},"nodeType":"YulFunctionCall","src":"21761:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21749:3:150"},"nodeType":"YulFunctionCall","src":"21749:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21731:6:150"},"nodeType":"YulFunctionCall","src":"21731:51:150"},"nodeType":"YulExpressionStatement","src":"21731:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21655:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"21666:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21677:4:150","type":""}],"src":"21577:211:150"},{"body":{"nodeType":"YulBlock","src":"21868:584:150","statements":[{"body":{"nodeType":"YulBlock","src":"21917:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21926:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21929:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21919:6:150"},"nodeType":"YulFunctionCall","src":"21919:12:150"},"nodeType":"YulExpressionStatement","src":"21919:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"21896:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"21904:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21892:3:150"},"nodeType":"YulFunctionCall","src":"21892:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"21911:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21888:3:150"},"nodeType":"YulFunctionCall","src":"21888:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"21881:6:150"},"nodeType":"YulFunctionCall","src":"21881:35:150"},"nodeType":"YulIf","src":"21878:55:150"},{"nodeType":"YulVariableDeclaration","src":"21942:23:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"21958:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21952:5:150"},"nodeType":"YulFunctionCall","src":"21952:13:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"21946:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21974:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"21984:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"21978:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21997:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"22064:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"22024:39:150"},"nodeType":"YulFunctionCall","src":"22024:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"22008:15:150"},"nodeType":"YulFunctionCall","src":"22008:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"22001:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"22077:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"22090:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"22081:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22109:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"22114:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22102:6:150"},"nodeType":"YulFunctionCall","src":"22102:15:150"},"nodeType":"YulExpressionStatement","src":"22102:15:150"},{"nodeType":"YulAssignment","src":"22126:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22137:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22142:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22133:3:150"},"nodeType":"YulFunctionCall","src":"22133:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"22126:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"22154:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22176:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22188:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"22191:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22184:3:150"},"nodeType":"YulFunctionCall","src":"22184:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22172:3:150"},"nodeType":"YulFunctionCall","src":"22172:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22197:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22168:3:150"},"nodeType":"YulFunctionCall","src":"22168:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"22158:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22228:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22237:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22240:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22230:6:150"},"nodeType":"YulFunctionCall","src":"22230:12:150"},"nodeType":"YulExpressionStatement","src":"22230:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"22215:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"22223:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22212:2:150"},"nodeType":"YulFunctionCall","src":"22212:15:150"},"nodeType":"YulIf","src":"22209:35:150"},{"nodeType":"YulVariableDeclaration","src":"22253:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22268:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22276:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22264:3:150"},"nodeType":"YulFunctionCall","src":"22264:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"22257:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22344:79:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22365:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22376:3:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22370:5:150"},"nodeType":"YulFunctionCall","src":"22370:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22358:6:150"},"nodeType":"YulFunctionCall","src":"22358:23:150"},"nodeType":"YulExpressionStatement","src":"22358:23:150"},{"nodeType":"YulAssignment","src":"22394:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"22405:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22410:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22401:3:150"},"nodeType":"YulFunctionCall","src":"22401:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"22394:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22299:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"22304:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"22296:2:150"},"nodeType":"YulFunctionCall","src":"22296:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"22312:23:150","statements":[{"nodeType":"YulAssignment","src":"22314:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22325:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"22330:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22321:3:150"},"nodeType":"YulFunctionCall","src":"22321:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"22314:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"22292:3:150","statements":[]},"src":"22288:135:150"},{"nodeType":"YulAssignment","src":"22432:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"22441:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"22432:5:150"}]}]},"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"21842:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"21850:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"21858:5:150","type":""}],"src":"21793:659:150"},{"body":{"nodeType":"YulBlock","src":"22563:257:150","statements":[{"body":{"nodeType":"YulBlock","src":"22609:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22618:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22621:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22611:6:150"},"nodeType":"YulFunctionCall","src":"22611:12:150"},"nodeType":"YulExpressionStatement","src":"22611:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22584:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"22593:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22580:3:150"},"nodeType":"YulFunctionCall","src":"22580:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"22605:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22576:3:150"},"nodeType":"YulFunctionCall","src":"22576:32:150"},"nodeType":"YulIf","src":"22573:52:150"},{"nodeType":"YulVariableDeclaration","src":"22634:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22654:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22648:5:150"},"nodeType":"YulFunctionCall","src":"22648:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"22638:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"22707:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22716:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22719:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22709:6:150"},"nodeType":"YulFunctionCall","src":"22709:12:150"},"nodeType":"YulExpressionStatement","src":"22709:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"22679:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22695:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"22699:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22691:3:150"},"nodeType":"YulFunctionCall","src":"22691:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"22703:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22687:3:150"},"nodeType":"YulFunctionCall","src":"22687:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22676:2:150"},"nodeType":"YulFunctionCall","src":"22676:30:150"},"nodeType":"YulIf","src":"22673:50:150"},{"nodeType":"YulAssignment","src":"22732:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22786:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"22797:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22782:3:150"},"nodeType":"YulFunctionCall","src":"22782:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"22806:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"22742:39:150"},"nodeType":"YulFunctionCall","src":"22742:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22732:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22529:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22540:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22552:6:150","type":""}],"src":"22457:363:150"},{"body":{"nodeType":"YulBlock","src":"22990:188:150","statements":[{"nodeType":"YulAssignment","src":"23000:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23012:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23023:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23008:3:150"},"nodeType":"YulFunctionCall","src":"23008:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23000:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23042:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"23053:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23035:6:150"},"nodeType":"YulFunctionCall","src":"23035:25:150"},"nodeType":"YulExpressionStatement","src":"23035:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23080:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23091:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23076:3:150"},"nodeType":"YulFunctionCall","src":"23076:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23100:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23116:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23121:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23112:3:150"},"nodeType":"YulFunctionCall","src":"23112:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23125:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23108:3:150"},"nodeType":"YulFunctionCall","src":"23108:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23096:3:150"},"nodeType":"YulFunctionCall","src":"23096:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23069:6:150"},"nodeType":"YulFunctionCall","src":"23069:60:150"},"nodeType":"YulExpressionStatement","src":"23069:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23149:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23160:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23145:3:150"},"nodeType":"YulFunctionCall","src":"23145:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"23165:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23138:6:150"},"nodeType":"YulFunctionCall","src":"23138:34:150"},"nodeType":"YulExpressionStatement","src":"23138:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_bytes32__to_t_uint256_t_address_t_bytes32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22943:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"22954:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22962:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22970:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22981:4:150","type":""}],"src":"22825:353:150"},{"body":{"nodeType":"YulBlock","src":"23320:145:150","statements":[{"nodeType":"YulAssignment","src":"23330:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23342:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23353:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23338:3:150"},"nodeType":"YulFunctionCall","src":"23338:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23330:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23372:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"23383:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23365:6:150"},"nodeType":"YulFunctionCall","src":"23365:25:150"},"nodeType":"YulExpressionStatement","src":"23365:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23410:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23421:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23406:3:150"},"nodeType":"YulFunctionCall","src":"23406:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23430:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23446:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23451:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23442:3:150"},"nodeType":"YulFunctionCall","src":"23442:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"23455:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23438:3:150"},"nodeType":"YulFunctionCall","src":"23438:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23426:3:150"},"nodeType":"YulFunctionCall","src":"23426:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23399:6:150"},"nodeType":"YulFunctionCall","src":"23399:60:150"},"nodeType":"YulExpressionStatement","src":"23399:60:150"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23281:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23292:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23300:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23311:4:150","type":""}],"src":"23183:282:150"},{"body":{"nodeType":"YulBlock","src":"23607:119:150","statements":[{"nodeType":"YulAssignment","src":"23617:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23640:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23625:3:150"},"nodeType":"YulFunctionCall","src":"23625:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23617:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23659:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"23670:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23652:6:150"},"nodeType":"YulFunctionCall","src":"23652:25:150"},"nodeType":"YulExpressionStatement","src":"23652:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23697:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"23708:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23693:3:150"},"nodeType":"YulFunctionCall","src":"23693:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"23713:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23686:6:150"},"nodeType":"YulFunctionCall","src":"23686:34:150"},"nodeType":"YulExpressionStatement","src":"23686:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23568:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23579:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23587:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23598:4:150","type":""}],"src":"23470:256:150"},{"body":{"nodeType":"YulBlock","src":"23822:246:150","statements":[{"body":{"nodeType":"YulBlock","src":"23868:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23877:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23880:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23870:6:150"},"nodeType":"YulFunctionCall","src":"23870:12:150"},"nodeType":"YulExpressionStatement","src":"23870:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"23843:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"23852:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23839:3:150"},"nodeType":"YulFunctionCall","src":"23839:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"23864:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"23835:3:150"},"nodeType":"YulFunctionCall","src":"23835:32:150"},"nodeType":"YulIf","src":"23832:52:150"},{"nodeType":"YulVariableDeclaration","src":"23893:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23913:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23907:5:150"},"nodeType":"YulFunctionCall","src":"23907:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"23897:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"23966:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23975:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"23978:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"23968:6:150"},"nodeType":"YulFunctionCall","src":"23968:12:150"},"nodeType":"YulExpressionStatement","src":"23968:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"23938:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23954:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"23958:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23950:3:150"},"nodeType":"YulFunctionCall","src":"23950:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"23962:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23946:3:150"},"nodeType":"YulFunctionCall","src":"23946:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23935:2:150"},"nodeType":"YulFunctionCall","src":"23935:30:150"},"nodeType":"YulIf","src":"23932:50:150"},{"nodeType":"YulAssignment","src":"23991:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24034:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"24045:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24030:3:150"},"nodeType":"YulFunctionCall","src":"24030:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"24054:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"24001:28:150"},"nodeType":"YulFunctionCall","src":"24001:61:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"23991:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23788:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"23799:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"23811:6:150","type":""}],"src":"23731:337:150"},{"body":{"nodeType":"YulBlock","src":"24247:249:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24264:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24275:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24257:6:150"},"nodeType":"YulFunctionCall","src":"24257:21:150"},"nodeType":"YulExpressionStatement","src":"24257:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24298:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24309:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24294:3:150"},"nodeType":"YulFunctionCall","src":"24294:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24314:2:150","type":"","value":"59"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24287:6:150"},"nodeType":"YulFunctionCall","src":"24287:30:150"},"nodeType":"YulExpressionStatement","src":"24287:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24337:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24348:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24333:3:150"},"nodeType":"YulFunctionCall","src":"24333:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206170707320","kind":"string","nodeType":"YulLiteral","src":"24353:34:150","type":"","value":"XAllocationVotingGovernor: apps "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24326:6:150"},"nodeType":"YulFunctionCall","src":"24326:62:150"},"nodeType":"YulExpressionStatement","src":"24326:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24408:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24419:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24404:3:150"},"nodeType":"YulFunctionCall","src":"24404:18:150"},{"hexValue":"616e642077656967687473206c656e677468206d69736d61746368","kind":"string","nodeType":"YulLiteral","src":"24424:29:150","type":"","value":"and weights length mismatch"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24397:6:150"},"nodeType":"YulFunctionCall","src":"24397:57:150"},"nodeType":"YulExpressionStatement","src":"24397:57:150"},{"nodeType":"YulAssignment","src":"24463:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24475:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24486:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24471:3:150"},"nodeType":"YulFunctionCall","src":"24471:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24463:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24224:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24238:4:150","type":""}],"src":"24073:423:150"},{"body":{"nodeType":"YulBlock","src":"24675:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24692:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24703:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24685:6:150"},"nodeType":"YulFunctionCall","src":"24685:21:150"},"nodeType":"YulExpressionStatement","src":"24685:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24726:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24737:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24722:3:150"},"nodeType":"YulFunctionCall","src":"24722:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"24742:2:150","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24715:6:150"},"nodeType":"YulFunctionCall","src":"24715:30:150"},"nodeType":"YulExpressionStatement","src":"24715:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24765:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24776:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24761:3:150"},"nodeType":"YulFunctionCall","src":"24761:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f206170","kind":"string","nodeType":"YulLiteral","src":"24781:34:150","type":"","value":"XAllocationVotingGovernor: no ap"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24754:6:150"},"nodeType":"YulFunctionCall","src":"24754:62:150"},"nodeType":"YulExpressionStatement","src":"24754:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24836:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24847:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24832:3:150"},"nodeType":"YulFunctionCall","src":"24832:18:150"},{"hexValue":"707320746f20766f746520666f72","kind":"string","nodeType":"YulLiteral","src":"24852:16:150","type":"","value":"ps to vote for"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24825:6:150"},"nodeType":"YulFunctionCall","src":"24825:44:150"},"nodeType":"YulExpressionStatement","src":"24825:44:150"},{"nodeType":"YulAssignment","src":"24878:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24890:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"24901:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24886:3:150"},"nodeType":"YulFunctionCall","src":"24886:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24878:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24652:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24666:4:150","type":""}],"src":"24501:410:150"},{"body":{"nodeType":"YulBlock","src":"25043:166:150","statements":[{"nodeType":"YulAssignment","src":"25053:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25065:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25076:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25061:3:150"},"nodeType":"YulFunctionCall","src":"25061:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25053:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25095:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25110:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25126:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25131:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25122:3:150"},"nodeType":"YulFunctionCall","src":"25122:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"25135:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25118:3:150"},"nodeType":"YulFunctionCall","src":"25118:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25106:3:150"},"nodeType":"YulFunctionCall","src":"25106:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25088:6:150"},"nodeType":"YulFunctionCall","src":"25088:51:150"},"nodeType":"YulExpressionStatement","src":"25088:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25159:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25170:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25155:3:150"},"nodeType":"YulFunctionCall","src":"25155:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"25179:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"25187:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25175:3:150"},"nodeType":"YulFunctionCall","src":"25175:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25148:6:150"},"nodeType":"YulFunctionCall","src":"25148:55:150"},"nodeType":"YulExpressionStatement","src":"25148:55:150"}]},"name":"abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25004:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25015:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25023:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25034:4:150","type":""}],"src":"24916:293:150"},{"body":{"nodeType":"YulBlock","src":"25315:102:150","statements":[{"nodeType":"YulAssignment","src":"25325:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25337:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25348:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25333:3:150"},"nodeType":"YulFunctionCall","src":"25333:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25325:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25367:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25382:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25398:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25403:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25394:3:150"},"nodeType":"YulFunctionCall","src":"25394:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"25407:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25390:3:150"},"nodeType":"YulFunctionCall","src":"25390:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25378:3:150"},"nodeType":"YulFunctionCall","src":"25378:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25360:6:150"},"nodeType":"YulFunctionCall","src":"25360:51:150"},"nodeType":"YulExpressionStatement","src":"25360:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25284:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25295:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25306:4:150","type":""}],"src":"25214:203:150"},{"body":{"nodeType":"YulBlock","src":"25551:145:150","statements":[{"nodeType":"YulAssignment","src":"25561:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25573:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25584:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25569:3:150"},"nodeType":"YulFunctionCall","src":"25569:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25561:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25603:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25618:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25634:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25639:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25630:3:150"},"nodeType":"YulFunctionCall","src":"25630:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"25643:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25626:3:150"},"nodeType":"YulFunctionCall","src":"25626:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25614:3:150"},"nodeType":"YulFunctionCall","src":"25614:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25596:6:150"},"nodeType":"YulFunctionCall","src":"25596:51:150"},"nodeType":"YulExpressionStatement","src":"25596:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25667:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"25678:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25663:3:150"},"nodeType":"YulFunctionCall","src":"25663:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"25683:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25656:6:150"},"nodeType":"YulFunctionCall","src":"25656:34:150"},"nodeType":"YulExpressionStatement","src":"25656:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25512:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25523:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25531:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25542:4:150","type":""}],"src":"25422:274:150"},{"body":{"nodeType":"YulBlock","src":"25782:170:150","statements":[{"body":{"nodeType":"YulBlock","src":"25828:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25837:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25840:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25830:6:150"},"nodeType":"YulFunctionCall","src":"25830:12:150"},"nodeType":"YulExpressionStatement","src":"25830:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"25803:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"25812:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25799:3:150"},"nodeType":"YulFunctionCall","src":"25799:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"25824:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"25795:3:150"},"nodeType":"YulFunctionCall","src":"25795:32:150"},"nodeType":"YulIf","src":"25792:52:150"},{"nodeType":"YulVariableDeclaration","src":"25853:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25872:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25866:5:150"},"nodeType":"YulFunctionCall","src":"25866:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"25857:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25916:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"25891:24:150"},"nodeType":"YulFunctionCall","src":"25891:31:150"},"nodeType":"YulExpressionStatement","src":"25891:31:150"},{"nodeType":"YulAssignment","src":"25931:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"25941:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"25931:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25748:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"25759:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"25771:6:150","type":""}],"src":"25701:251:150"},{"body":{"nodeType":"YulBlock","src":"26086:102:150","statements":[{"nodeType":"YulAssignment","src":"26096:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26108:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26119:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26104:3:150"},"nodeType":"YulFunctionCall","src":"26104:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26096:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26138:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26153:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26169:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"26174:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26165:3:150"},"nodeType":"YulFunctionCall","src":"26165:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"26178:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26161:3:150"},"nodeType":"YulFunctionCall","src":"26161:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26149:3:150"},"nodeType":"YulFunctionCall","src":"26149:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26131:6:150"},"nodeType":"YulFunctionCall","src":"26131:51:150"},"nodeType":"YulExpressionStatement","src":"26131:51:150"}]},"name":"abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26055:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26066:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26077:4:150","type":""}],"src":"25957:231:150"},{"body":{"nodeType":"YulBlock","src":"26331:102:150","statements":[{"nodeType":"YulAssignment","src":"26341:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26353:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26364:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26349:3:150"},"nodeType":"YulFunctionCall","src":"26349:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26341:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26383:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26398:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26414:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"26419:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"26410:3:150"},"nodeType":"YulFunctionCall","src":"26410:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"26423:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26406:3:150"},"nodeType":"YulFunctionCall","src":"26406:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26394:3:150"},"nodeType":"YulFunctionCall","src":"26394:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26376:6:150"},"nodeType":"YulFunctionCall","src":"26376:51:150"},"nodeType":"YulExpressionStatement","src":"26376:51:150"}]},"name":"abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26300:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26311:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26322:4:150","type":""}],"src":"26193:240:150"},{"body":{"nodeType":"YulBlock","src":"26612:231:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26629:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26640:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26622:6:150"},"nodeType":"YulFunctionCall","src":"26622:21:150"},"nodeType":"YulExpressionStatement","src":"26622:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26663:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26674:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26659:3:150"},"nodeType":"YulFunctionCall","src":"26659:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"26679:2:150","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26652:6:150"},"nodeType":"YulFunctionCall","src":"26652:30:150"},"nodeType":"YulExpressionStatement","src":"26652:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26702:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26713:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26698:3:150"},"nodeType":"YulFunctionCall","src":"26698:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a206e6f74206e6176696761746f72","kind":"string","nodeType":"YulLiteral","src":"26718:34:150","type":"","value":"XAllocationVoting: not navigator"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26691:6:150"},"nodeType":"YulFunctionCall","src":"26691:62:150"},"nodeType":"YulExpressionStatement","src":"26691:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26773:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26784:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26769:3:150"},"nodeType":"YulFunctionCall","src":"26769:18:150"},{"hexValue":"207265676973747279","kind":"string","nodeType":"YulLiteral","src":"26789:11:150","type":"","value":" registry"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26762:6:150"},"nodeType":"YulFunctionCall","src":"26762:39:150"},"nodeType":"YulExpressionStatement","src":"26762:39:150"},{"nodeType":"YulAssignment","src":"26810:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26822:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"26833:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26818:3:150"},"nodeType":"YulFunctionCall","src":"26818:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26810:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26589:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26603:4:150","type":""}],"src":"26438:405:150"},{"body":{"nodeType":"YulBlock","src":"27011:239:150","statements":[{"nodeType":"YulAssignment","src":"27021:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27033:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27044:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27029:3:150"},"nodeType":"YulFunctionCall","src":"27029:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27021:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"27056:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27074:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"27079:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27070:3:150"},"nodeType":"YulFunctionCall","src":"27070:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"27083:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27066:3:150"},"nodeType":"YulFunctionCall","src":"27066:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"27060:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27101:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27116:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27124:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27112:3:150"},"nodeType":"YulFunctionCall","src":"27112:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27094:6:150"},"nodeType":"YulFunctionCall","src":"27094:34:150"},"nodeType":"YulExpressionStatement","src":"27094:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27148:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27159:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27144:3:150"},"nodeType":"YulFunctionCall","src":"27144:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"27168:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"27176:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27164:3:150"},"nodeType":"YulFunctionCall","src":"27164:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27137:6:150"},"nodeType":"YulFunctionCall","src":"27137:43:150"},"nodeType":"YulExpressionStatement","src":"27137:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27200:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27211:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27196:3:150"},"nodeType":"YulFunctionCall","src":"27196:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"27220:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"27228:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27216:3:150"},"nodeType":"YulFunctionCall","src":"27216:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27189:6:150"},"nodeType":"YulFunctionCall","src":"27189:55:150"},"nodeType":"YulExpressionStatement","src":"27189:55:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint48__to_t_address_t_address_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26964:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"26975:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26983:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26991:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27002:4:150","type":""}],"src":"26848:402:150"},{"body":{"nodeType":"YulBlock","src":"27387:102:150","statements":[{"nodeType":"YulAssignment","src":"27397:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27409:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"27420:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27405:3:150"},"nodeType":"YulFunctionCall","src":"27405:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27397:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27439:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27454:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27470:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"27475:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27466:3:150"},"nodeType":"YulFunctionCall","src":"27466:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"27479:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27462:3:150"},"nodeType":"YulFunctionCall","src":"27462:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27450:3:150"},"nodeType":"YulFunctionCall","src":"27450:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27432:6:150"},"nodeType":"YulFunctionCall","src":"27432:51:150"},"nodeType":"YulExpressionStatement","src":"27432:51:150"}]},"name":"abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27356:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27367:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27378:4:150","type":""}],"src":"27255:234:150"},{"body":{"nodeType":"YulBlock","src":"27603:665:150","statements":[{"body":{"nodeType":"YulBlock","src":"27649:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27658:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"27661:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"27651:6:150"},"nodeType":"YulFunctionCall","src":"27651:12:150"},"nodeType":"YulExpressionStatement","src":"27651:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"27624:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"27633:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27620:3:150"},"nodeType":"YulFunctionCall","src":"27620:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"27645:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"27616:3:150"},"nodeType":"YulFunctionCall","src":"27616:32:150"},"nodeType":"YulIf","src":"27613:52:150"},{"nodeType":"YulVariableDeclaration","src":"27674:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27694:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27688:5:150"},"nodeType":"YulFunctionCall","src":"27688:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"27678:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27706:33:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27728:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"27736:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27724:3:150"},"nodeType":"YulFunctionCall","src":"27724:15:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"27710:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"27814:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"27816:16:150"},"nodeType":"YulFunctionCall","src":"27816:18:150"},"nodeType":"YulExpressionStatement","src":"27816:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"27757:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27777:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"27781:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27773:3:150"},"nodeType":"YulFunctionCall","src":"27773:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"27785:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27769:3:150"},"nodeType":"YulFunctionCall","src":"27769:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27754:2:150"},"nodeType":"YulFunctionCall","src":"27754:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"27793:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"27805:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27790:2:150"},"nodeType":"YulFunctionCall","src":"27790:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"27751:2:150"},"nodeType":"YulFunctionCall","src":"27751:62:150"},"nodeType":"YulIf","src":"27748:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27852:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"27856:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27845:6:150"},"nodeType":"YulFunctionCall","src":"27845:22:150"},"nodeType":"YulExpressionStatement","src":"27845:22:150"},{"nodeType":"YulVariableDeclaration","src":"27876:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27895:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27889:5:150"},"nodeType":"YulFunctionCall","src":"27889:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"27880:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27939:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"27914:24:150"},"nodeType":"YulFunctionCall","src":"27914:31:150"},"nodeType":"YulExpressionStatement","src":"27914:31:150"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27961:6:150"},{"name":"value","nodeType":"YulIdentifier","src":"27969:5:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27954:6:150"},"nodeType":"YulFunctionCall","src":"27954:21:150"},"nodeType":"YulExpressionStatement","src":"27954:21:150"},{"nodeType":"YulVariableDeclaration","src":"27984:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28009:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28020:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28005:3:150"},"nodeType":"YulFunctionCall","src":"28005:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27999:5:150"},"nodeType":"YulFunctionCall","src":"27999:25:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"27988:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"28057:7:150"}],"functionName":{"name":"validator_revert_uint48","nodeType":"YulIdentifier","src":"28033:23:150"},"nodeType":"YulFunctionCall","src":"28033:32:150"},"nodeType":"YulExpressionStatement","src":"28033:32:150"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"28085:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"28093:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28081:3:150"},"nodeType":"YulFunctionCall","src":"28081:15:150"},{"name":"value_1","nodeType":"YulIdentifier","src":"28098:7:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28074:6:150"},"nodeType":"YulFunctionCall","src":"28074:32:150"},"nodeType":"YulExpressionStatement","src":"28074:32:150"},{"nodeType":"YulVariableDeclaration","src":"28115:40:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28140:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28151:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28136:3:150"},"nodeType":"YulFunctionCall","src":"28136:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28130:5:150"},"nodeType":"YulFunctionCall","src":"28130:25:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"28119:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"28188:7:150"}],"functionName":{"name":"validator_revert_uint32","nodeType":"YulIdentifier","src":"28164:23:150"},"nodeType":"YulFunctionCall","src":"28164:32:150"},"nodeType":"YulExpressionStatement","src":"28164:32:150"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"28216:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"28224:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28212:3:150"},"nodeType":"YulFunctionCall","src":"28212:15:150"},{"name":"value_2","nodeType":"YulIdentifier","src":"28229:7:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28205:6:150"},"nodeType":"YulFunctionCall","src":"28205:32:150"},"nodeType":"YulExpressionStatement","src":"28205:32:150"},{"nodeType":"YulAssignment","src":"28246:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"28256:6:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"28246:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_RoundCore_$82969_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27569:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"27580:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"27592:6:150","type":""}],"src":"27494:774:150"},{"body":{"nodeType":"YulBlock","src":"28378:311:150","statements":[{"body":{"nodeType":"YulBlock","src":"28424:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28433:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28436:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28426:6:150"},"nodeType":"YulFunctionCall","src":"28426:12:150"},"nodeType":"YulExpressionStatement","src":"28426:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"28399:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"28408:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28395:3:150"},"nodeType":"YulFunctionCall","src":"28395:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"28420:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"28391:3:150"},"nodeType":"YulFunctionCall","src":"28391:32:150"},"nodeType":"YulIf","src":"28388:52:150"},{"nodeType":"YulAssignment","src":"28449:47:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28486:9:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"28459:26:150"},"nodeType":"YulFunctionCall","src":"28459:37:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"28449:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"28505:39:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28529:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"28540:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28525:3:150"},"nodeType":"YulFunctionCall","src":"28525:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28519:5:150"},"nodeType":"YulFunctionCall","src":"28519:25:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"28509:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"28587:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28596:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28599:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28589:6:150"},"nodeType":"YulFunctionCall","src":"28589:12:150"},"nodeType":"YulExpressionStatement","src":"28589:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"28559:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28575:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"28579:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28571:3:150"},"nodeType":"YulFunctionCall","src":"28571:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"28583:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28567:3:150"},"nodeType":"YulFunctionCall","src":"28567:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28556:2:150"},"nodeType":"YulFunctionCall","src":"28556:30:150"},"nodeType":"YulIf","src":"28553:50:150"},{"nodeType":"YulAssignment","src":"28612:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28655:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"28666:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28651:3:150"},"nodeType":"YulFunctionCall","src":"28651:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"28675:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"28622:28:150"},"nodeType":"YulFunctionCall","src":"28622:61:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"28612:6:150"}]}]},"name":"abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28336:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"28347:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"28359:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28367:6:150","type":""}],"src":"28273:416:150"},{"body":{"nodeType":"YulBlock","src":"28937:297:150","statements":[{"nodeType":"YulVariableDeclaration","src":"28947:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28965:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"28970:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28961:3:150"},"nodeType":"YulFunctionCall","src":"28961:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"28974:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28957:3:150"},"nodeType":"YulFunctionCall","src":"28957:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"28951:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28992:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"29007:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29015:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29003:3:150"},"nodeType":"YulFunctionCall","src":"29003:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28985:6:150"},"nodeType":"YulFunctionCall","src":"28985:34:150"},"nodeType":"YulExpressionStatement","src":"28985:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29039:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29050:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29035:3:150"},"nodeType":"YulFunctionCall","src":"29035:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29059:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29067:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29055:3:150"},"nodeType":"YulFunctionCall","src":"29055:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29028:6:150"},"nodeType":"YulFunctionCall","src":"29028:43:150"},"nodeType":"YulExpressionStatement","src":"29028:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29091:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29102:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29087:3:150"},"nodeType":"YulFunctionCall","src":"29087:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"29107:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29080:6:150"},"nodeType":"YulFunctionCall","src":"29080:34:150"},"nodeType":"YulExpressionStatement","src":"29080:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29134:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29145:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29130:3:150"},"nodeType":"YulFunctionCall","src":"29130:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"29150:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29123:6:150"},"nodeType":"YulFunctionCall","src":"29123:31:150"},"nodeType":"YulExpressionStatement","src":"29123:31:150"},{"nodeType":"YulAssignment","src":"29163:65:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"29200:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29212:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29223:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29208:3:150"},"nodeType":"YulFunctionCall","src":"29208:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"29171:28:150"},"nodeType":"YulFunctionCall","src":"29171:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29163:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28882:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"28893:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"28901:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28909:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"28917:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28928:4:150","type":""}],"src":"28694:540:150"},{"body":{"nodeType":"YulBlock","src":"29404:510:150","statements":[{"body":{"nodeType":"YulBlock","src":"29450:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29459:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29462:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29452:6:150"},"nodeType":"YulFunctionCall","src":"29452:12:150"},"nodeType":"YulExpressionStatement","src":"29452:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"29425:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"29434:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29421:3:150"},"nodeType":"YulFunctionCall","src":"29421:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"29446:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"29417:3:150"},"nodeType":"YulFunctionCall","src":"29417:32:150"},"nodeType":"YulIf","src":"29414:52:150"},{"nodeType":"YulVariableDeclaration","src":"29475:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29495:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29489:5:150"},"nodeType":"YulFunctionCall","src":"29489:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"29479:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29514:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29532:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"29536:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29528:3:150"},"nodeType":"YulFunctionCall","src":"29528:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"29540:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"29524:3:150"},"nodeType":"YulFunctionCall","src":"29524:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"29518:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29569:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29578:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29581:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29571:6:150"},"nodeType":"YulFunctionCall","src":"29571:12:150"},"nodeType":"YulExpressionStatement","src":"29571:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"29557:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29565:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29554:2:150"},"nodeType":"YulFunctionCall","src":"29554:14:150"},"nodeType":"YulIf","src":"29551:34:150"},{"nodeType":"YulAssignment","src":"29594:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29648:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"29659:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29644:3:150"},"nodeType":"YulFunctionCall","src":"29644:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"29668:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"29604:39:150"},"nodeType":"YulFunctionCall","src":"29604:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"29594:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"29685:41:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29711:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29722:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29707:3:150"},"nodeType":"YulFunctionCall","src":"29707:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29701:5:150"},"nodeType":"YulFunctionCall","src":"29701:25:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"29689:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"29755:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29764:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29767:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29757:6:150"},"nodeType":"YulFunctionCall","src":"29757:12:150"},"nodeType":"YulExpressionStatement","src":"29757:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"29741:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"29751:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"29738:2:150"},"nodeType":"YulFunctionCall","src":"29738:16:150"},"nodeType":"YulIf","src":"29735:36:150"},{"nodeType":"YulAssignment","src":"29780:84:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29834:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"29845:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29830:3:150"},"nodeType":"YulFunctionCall","src":"29830:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"29856:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"29790:39:150"},"nodeType":"YulFunctionCall","src":"29790:74:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"29780:6:150"}]},{"nodeType":"YulAssignment","src":"29873:35:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29893:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"29904:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29889:3:150"},"nodeType":"YulFunctionCall","src":"29889:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29883:5:150"},"nodeType":"YulFunctionCall","src":"29883:25:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"29873:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29354:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"29365:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"29377:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"29385:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"29393:6:150","type":""}],"src":"29239:675:150"},{"body":{"nodeType":"YulBlock","src":"30056:119:150","statements":[{"nodeType":"YulAssignment","src":"30066:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30078:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30089:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30074:3:150"},"nodeType":"YulFunctionCall","src":"30074:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30066:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30108:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"30119:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30101:6:150"},"nodeType":"YulFunctionCall","src":"30101:25:150"},"nodeType":"YulExpressionStatement","src":"30101:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30146:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30157:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30142:3:150"},"nodeType":"YulFunctionCall","src":"30142:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"30162:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30135:6:150"},"nodeType":"YulFunctionCall","src":"30135:34:150"},"nodeType":"YulExpressionStatement","src":"30135:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30017:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30028:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30036:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30047:4:150","type":""}],"src":"29919:256:150"},{"body":{"nodeType":"YulBlock","src":"30331:178:150","statements":[{"nodeType":"YulAssignment","src":"30341:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30353:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30364:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30349:3:150"},"nodeType":"YulFunctionCall","src":"30349:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30341:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30383:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30408:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"30401:6:150"},"nodeType":"YulFunctionCall","src":"30401:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"30394:6:150"},"nodeType":"YulFunctionCall","src":"30394:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30376:6:150"},"nodeType":"YulFunctionCall","src":"30376:41:150"},"nodeType":"YulExpressionStatement","src":"30376:41:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30437:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30448:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30433:3:150"},"nodeType":"YulFunctionCall","src":"30433:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"30453:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30426:6:150"},"nodeType":"YulFunctionCall","src":"30426:34:150"},"nodeType":"YulExpressionStatement","src":"30426:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30480:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30491:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30476:3:150"},"nodeType":"YulFunctionCall","src":"30476:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"30496:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30469:6:150"},"nodeType":"YulFunctionCall","src":"30469:34:150"},"nodeType":"YulExpressionStatement","src":"30469:34:150"}]},"name":"abi_encode_tuple_t_bool_t_uint256_t_uint256__to_t_bool_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30284:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"30295:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30303:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30311:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30322:4:150","type":""}],"src":"30180:329:150"},{"body":{"nodeType":"YulBlock","src":"30688:235:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30705:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30716:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30698:6:150"},"nodeType":"YulFunctionCall","src":"30698:21:150"},"nodeType":"YulExpressionStatement","src":"30698:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30739:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30750:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30735:3:150"},"nodeType":"YulFunctionCall","src":"30735:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"30755:2:150","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30728:6:150"},"nodeType":"YulFunctionCall","src":"30728:30:150"},"nodeType":"YulExpressionStatement","src":"30728:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30778:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30789:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30774:3:150"},"nodeType":"YulFunctionCall","src":"30774:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e673a20696e76616c6964206e61766967","kind":"string","nodeType":"YulLiteral","src":"30794:34:150","type":"","value":"XAllocationVoting: invalid navig"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30767:6:150"},"nodeType":"YulFunctionCall","src":"30767:62:150"},"nodeType":"YulExpressionStatement","src":"30767:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30849:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30860:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30845:3:150"},"nodeType":"YulFunctionCall","src":"30845:18:150"},{"hexValue":"61746f72207265676973747279","kind":"string","nodeType":"YulLiteral","src":"30865:15:150","type":"","value":"ator registry"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30838:6:150"},"nodeType":"YulFunctionCall","src":"30838:43:150"},"nodeType":"YulExpressionStatement","src":"30838:43:150"},{"nodeType":"YulAssignment","src":"30890:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30902:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"30913:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30898:3:150"},"nodeType":"YulFunctionCall","src":"30898:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30890:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30665:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30679:4:150","type":""}],"src":"30514:409:150"},{"body":{"nodeType":"YulBlock","src":"31065:102:150","statements":[{"nodeType":"YulAssignment","src":"31075:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31087:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31098:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31083:3:150"},"nodeType":"YulFunctionCall","src":"31083:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31075:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31117:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31132:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31148:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"31153:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31144:3:150"},"nodeType":"YulFunctionCall","src":"31144:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"31157:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31140:3:150"},"nodeType":"YulFunctionCall","src":"31140:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31128:3:150"},"nodeType":"YulFunctionCall","src":"31128:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31110:6:150"},"nodeType":"YulFunctionCall","src":"31110:51:150"},"nodeType":"YulExpressionStatement","src":"31110:51:150"}]},"name":"abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31034:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31045:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31056:4:150","type":""}],"src":"30928:239:150"},{"body":{"nodeType":"YulBlock","src":"31271:101:150","statements":[{"nodeType":"YulAssignment","src":"31281:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31293:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31304:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31289:3:150"},"nodeType":"YulFunctionCall","src":"31289:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31281:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31323:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31338:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31354:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"31358:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31350:3:150"},"nodeType":"YulFunctionCall","src":"31350:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"31362:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31346:3:150"},"nodeType":"YulFunctionCall","src":"31346:18:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31334:3:150"},"nodeType":"YulFunctionCall","src":"31334:31:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31316:6:150"},"nodeType":"YulFunctionCall","src":"31316:50:150"},"nodeType":"YulExpressionStatement","src":"31316:50:150"}]},"name":"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31240:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31251:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31262:4:150","type":""}],"src":"31172:200:150"},{"body":{"nodeType":"YulBlock","src":"31509:102:150","statements":[{"nodeType":"YulAssignment","src":"31519:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31531:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31542:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31527:3:150"},"nodeType":"YulFunctionCall","src":"31527:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31519:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31561:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31576:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31592:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"31597:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31588:3:150"},"nodeType":"YulFunctionCall","src":"31588:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"31601:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31584:3:150"},"nodeType":"YulFunctionCall","src":"31584:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31572:3:150"},"nodeType":"YulFunctionCall","src":"31572:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31554:6:150"},"nodeType":"YulFunctionCall","src":"31554:51:150"},"nodeType":"YulExpressionStatement","src":"31554:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31478:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31489:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31500:4:150","type":""}],"src":"31377:234:150"},{"body":{"nodeType":"YulBlock","src":"31752:102:150","statements":[{"nodeType":"YulAssignment","src":"31762:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31774:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"31785:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31770:3:150"},"nodeType":"YulFunctionCall","src":"31770:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31762:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31804:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31819:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31835:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"31840:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"31831:3:150"},"nodeType":"YulFunctionCall","src":"31831:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"31844:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31827:3:150"},"nodeType":"YulFunctionCall","src":"31827:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"31815:3:150"},"nodeType":"YulFunctionCall","src":"31815:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31797:6:150"},"nodeType":"YulFunctionCall","src":"31797:51:150"},"nodeType":"YulExpressionStatement","src":"31797:51:150"}]},"name":"abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31721:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31732:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31743:4:150","type":""}],"src":"31616:238:150"},{"body":{"nodeType":"YulBlock","src":"32033:253:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32050:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32061:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32043:6:150"},"nodeType":"YulFunctionCall","src":"32043:21:150"},"nodeType":"YulExpressionStatement","src":"32043:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32084:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32095:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32080:3:150"},"nodeType":"YulFunctionCall","src":"32080:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32100:2:150","type":"","value":"63"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32073:6:150"},"nodeType":"YulFunctionCall","src":"32073:30:150"},"nodeType":"YulExpressionStatement","src":"32073:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32123:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32134:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32119:3:150"},"nodeType":"YulFunctionCall","src":"32119:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a207468657265","kind":"string","nodeType":"YulLiteral","src":"32139:34:150","type":"","value":"XAllocationVotingGovernor: there"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32112:6:150"},"nodeType":"YulFunctionCall","src":"32112:62:150"},"nodeType":"YulExpressionStatement","src":"32112:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32194:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32205:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32190:3:150"},"nodeType":"YulFunctionCall","src":"32190:18:150"},{"hexValue":"2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d65","kind":"string","nodeType":"YulLiteral","src":"32210:33:150","type":"","value":" can be only one round per time"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32183:6:150"},"nodeType":"YulFunctionCall","src":"32183:61:150"},"nodeType":"YulExpressionStatement","src":"32183:61:150"},{"nodeType":"YulAssignment","src":"32253:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32265:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32276:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32261:3:150"},"nodeType":"YulFunctionCall","src":"32261:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32253:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32010:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32024:4:150","type":""}],"src":"31859:427:150"},{"body":{"nodeType":"YulBlock","src":"32530:305:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32547:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32562:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32578:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"32583:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"32574:3:150"},"nodeType":"YulFunctionCall","src":"32574:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"32587:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32570:3:150"},"nodeType":"YulFunctionCall","src":"32570:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32558:3:150"},"nodeType":"YulFunctionCall","src":"32558:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32540:6:150"},"nodeType":"YulFunctionCall","src":"32540:51:150"},"nodeType":"YulExpressionStatement","src":"32540:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32611:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32622:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32607:3:150"},"nodeType":"YulFunctionCall","src":"32607:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"32631:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"32639:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32627:3:150"},"nodeType":"YulFunctionCall","src":"32627:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32600:6:150"},"nodeType":"YulFunctionCall","src":"32600:55:150"},"nodeType":"YulExpressionStatement","src":"32600:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32675:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32686:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32671:3:150"},"nodeType":"YulFunctionCall","src":"32671:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"32695:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"32703:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32691:3:150"},"nodeType":"YulFunctionCall","src":"32691:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32664:6:150"},"nodeType":"YulFunctionCall","src":"32664:51:150"},"nodeType":"YulExpressionStatement","src":"32664:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32735:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32746:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32731:3:150"},"nodeType":"YulFunctionCall","src":"32731:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"32751:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32724:6:150"},"nodeType":"YulFunctionCall","src":"32724:31:150"},"nodeType":"YulExpressionStatement","src":"32724:31:150"},{"nodeType":"YulAssignment","src":"32764:65:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"32801:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32813:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"32824:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32809:3:150"},"nodeType":"YulFunctionCall","src":"32809:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"32772:28:150"},"nodeType":"YulFunctionCall","src":"32772:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32764:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32475:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"32486:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"32494:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"32502:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32510:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32521:4:150","type":""}],"src":"32291:544:150"},{"body":{"nodeType":"YulBlock","src":"32872:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32889:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32896:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"32901:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"32892:3:150"},"nodeType":"YulFunctionCall","src":"32892:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32882:6:150"},"nodeType":"YulFunctionCall","src":"32882:31:150"},"nodeType":"YulExpressionStatement","src":"32882:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32929:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"32932:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32922:6:150"},"nodeType":"YulFunctionCall","src":"32922:15:150"},"nodeType":"YulExpressionStatement","src":"32922:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32953:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"32956:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"32946:6:150"},"nodeType":"YulFunctionCall","src":"32946:15:150"},"nodeType":"YulExpressionStatement","src":"32946:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"32840:127:150"},{"body":{"nodeType":"YulBlock","src":"33020:77:150","statements":[{"nodeType":"YulAssignment","src":"33030:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"33041:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"33044:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33037:3:150"},"nodeType":"YulFunctionCall","src":"33037:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"33030:3:150"}]},{"body":{"nodeType":"YulBlock","src":"33069:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"33071:16:150"},"nodeType":"YulFunctionCall","src":"33071:18:150"},"nodeType":"YulExpressionStatement","src":"33071:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"33061:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"33064:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"33058:2:150"},"nodeType":"YulFunctionCall","src":"33058:10:150"},"nodeType":"YulIf","src":"33055:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"33003:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"33006:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"33012:3:150","type":""}],"src":"32972:125:150"},{"body":{"nodeType":"YulBlock","src":"33208:257:150","statements":[{"body":{"nodeType":"YulBlock","src":"33254:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33263:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"33266:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"33256:6:150"},"nodeType":"YulFunctionCall","src":"33256:12:150"},"nodeType":"YulExpressionStatement","src":"33256:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"33229:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"33238:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33225:3:150"},"nodeType":"YulFunctionCall","src":"33225:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"33250:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"33221:3:150"},"nodeType":"YulFunctionCall","src":"33221:32:150"},"nodeType":"YulIf","src":"33218:52:150"},{"nodeType":"YulVariableDeclaration","src":"33279:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33299:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33293:5:150"},"nodeType":"YulFunctionCall","src":"33293:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33283:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"33352:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33361:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"33364:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"33354:6:150"},"nodeType":"YulFunctionCall","src":"33354:12:150"},"nodeType":"YulExpressionStatement","src":"33354:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"33324:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33340:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"33344:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33336:3:150"},"nodeType":"YulFunctionCall","src":"33336:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"33348:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33332:3:150"},"nodeType":"YulFunctionCall","src":"33332:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"33321:2:150"},"nodeType":"YulFunctionCall","src":"33321:30:150"},"nodeType":"YulIf","src":"33318:50:150"},{"nodeType":"YulAssignment","src":"33377:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33431:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"33442:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33427:3:150"},"nodeType":"YulFunctionCall","src":"33427:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"33451:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"33387:39:150"},"nodeType":"YulFunctionCall","src":"33387:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"33377:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33174:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"33185:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"33197:6:150","type":""}],"src":"33102:363:150"},{"body":{"nodeType":"YulBlock","src":"33705:241:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33722:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"33733:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33715:6:150"},"nodeType":"YulFunctionCall","src":"33715:25:150"},"nodeType":"YulExpressionStatement","src":"33715:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33760:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33771:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33756:3:150"},"nodeType":"YulFunctionCall","src":"33756:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"33776:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33749:6:150"},"nodeType":"YulFunctionCall","src":"33749:34:150"},"nodeType":"YulExpressionStatement","src":"33749:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33803:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33814:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33799:3:150"},"nodeType":"YulFunctionCall","src":"33799:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"33819:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33792:6:150"},"nodeType":"YulFunctionCall","src":"33792:34:150"},"nodeType":"YulExpressionStatement","src":"33792:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33846:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33857:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33842:3:150"},"nodeType":"YulFunctionCall","src":"33842:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"33862:3:150","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33835:6:150"},"nodeType":"YulFunctionCall","src":"33835:31:150"},"nodeType":"YulExpressionStatement","src":"33835:31:150"},{"nodeType":"YulAssignment","src":"33875:65:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"33912:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33924:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"33935:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33920:3:150"},"nodeType":"YulFunctionCall","src":"33920:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"33883:28:150"},"nodeType":"YulFunctionCall","src":"33883:57:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33875:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33650:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"33661:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"33669:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33677:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33685:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33696:4:150","type":""}],"src":"33470:476:150"},{"body":{"nodeType":"YulBlock","src":"34080:145:150","statements":[{"nodeType":"YulAssignment","src":"34090:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34102:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34113:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34098:3:150"},"nodeType":"YulFunctionCall","src":"34098:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34090:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34132:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"34143:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34125:6:150"},"nodeType":"YulFunctionCall","src":"34125:25:150"},"nodeType":"YulExpressionStatement","src":"34125:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34170:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34181:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34166:3:150"},"nodeType":"YulFunctionCall","src":"34166:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"34190:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34206:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"34211:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34202:3:150"},"nodeType":"YulFunctionCall","src":"34202:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"34215:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34198:3:150"},"nodeType":"YulFunctionCall","src":"34198:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"34186:3:150"},"nodeType":"YulFunctionCall","src":"34186:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34159:6:150"},"nodeType":"YulFunctionCall","src":"34159:60:150"},"nodeType":"YulExpressionStatement","src":"34159:60:150"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34041:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"34052:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34060:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34071:4:150","type":""}],"src":"33951:274:150"},{"body":{"nodeType":"YulBlock","src":"34378:466:150","statements":[{"body":{"nodeType":"YulBlock","src":"34424:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34433:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34436:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34426:6:150"},"nodeType":"YulFunctionCall","src":"34426:12:150"},"nodeType":"YulExpressionStatement","src":"34426:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"34399:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"34408:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34395:3:150"},"nodeType":"YulFunctionCall","src":"34395:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"34420:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"34391:3:150"},"nodeType":"YulFunctionCall","src":"34391:32:150"},"nodeType":"YulIf","src":"34388:52:150"},{"nodeType":"YulVariableDeclaration","src":"34449:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34469:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34463:5:150"},"nodeType":"YulFunctionCall","src":"34463:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"34453:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"34488:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34506:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"34510:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34502:3:150"},"nodeType":"YulFunctionCall","src":"34502:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"34514:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34498:3:150"},"nodeType":"YulFunctionCall","src":"34498:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"34492:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34543:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34552:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34555:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34545:6:150"},"nodeType":"YulFunctionCall","src":"34545:12:150"},"nodeType":"YulExpressionStatement","src":"34545:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"34531:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34539:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34528:2:150"},"nodeType":"YulFunctionCall","src":"34528:14:150"},"nodeType":"YulIf","src":"34525:34:150"},{"nodeType":"YulAssignment","src":"34568:82:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34622:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"34633:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34618:3:150"},"nodeType":"YulFunctionCall","src":"34618:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34642:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"34578:39:150"},"nodeType":"YulFunctionCall","src":"34578:72:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"34568:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"34659:41:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34685:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"34696:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34681:3:150"},"nodeType":"YulFunctionCall","src":"34681:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34675:5:150"},"nodeType":"YulFunctionCall","src":"34675:25:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"34663:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"34729:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34738:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34741:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34731:6:150"},"nodeType":"YulFunctionCall","src":"34731:12:150"},"nodeType":"YulExpressionStatement","src":"34731:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"34715:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"34725:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"34712:2:150"},"nodeType":"YulFunctionCall","src":"34712:16:150"},"nodeType":"YulIf","src":"34709:36:150"},{"nodeType":"YulAssignment","src":"34754:84:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34808:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"34819:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34804:3:150"},"nodeType":"YulFunctionCall","src":"34804:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"34830:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn_fromMemory","nodeType":"YulIdentifier","src":"34764:39:150"},"nodeType":"YulFunctionCall","src":"34764:74:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"34754:6:150"}]}]},"name":"abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34336:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"34347:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"34359:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"34367:6:150","type":""}],"src":"34230:614:150"},{"body":{"nodeType":"YulBlock","src":"34881:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34898:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34905:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"34910:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"34901:3:150"},"nodeType":"YulFunctionCall","src":"34901:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34891:6:150"},"nodeType":"YulFunctionCall","src":"34891:31:150"},"nodeType":"YulExpressionStatement","src":"34891:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34938:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"34941:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34931:6:150"},"nodeType":"YulFunctionCall","src":"34931:15:150"},"nodeType":"YulExpressionStatement","src":"34931:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34962:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34965:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34955:6:150"},"nodeType":"YulFunctionCall","src":"34955:15:150"},"nodeType":"YulExpressionStatement","src":"34955:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"34849:127:150"},{"body":{"nodeType":"YulBlock","src":"35033:116:150","statements":[{"nodeType":"YulAssignment","src":"35043:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35058:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"35061:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"35054:3:150"},"nodeType":"YulFunctionCall","src":"35054:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"35043:7:150"}]},{"body":{"nodeType":"YulBlock","src":"35121:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"35123:16:150"},"nodeType":"YulFunctionCall","src":"35123:18:150"},"nodeType":"YulExpressionStatement","src":"35123:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35092:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35085:6:150"},"nodeType":"YulFunctionCall","src":"35085:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"35099:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"35106:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"35115:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"35102:3:150"},"nodeType":"YulFunctionCall","src":"35102:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"35096:2:150"},"nodeType":"YulFunctionCall","src":"35096:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"35082:2:150"},"nodeType":"YulFunctionCall","src":"35082:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35075:6:150"},"nodeType":"YulFunctionCall","src":"35075:45:150"},"nodeType":"YulIf","src":"35072:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"35012:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"35015:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"35021:7:150","type":""}],"src":"34981:168:150"},{"body":{"nodeType":"YulBlock","src":"35200:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"35231:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35252:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35259:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"35264:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35255:3:150"},"nodeType":"YulFunctionCall","src":"35255:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35245:6:150"},"nodeType":"YulFunctionCall","src":"35245:31:150"},"nodeType":"YulExpressionStatement","src":"35245:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35296:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"35299:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35289:6:150"},"nodeType":"YulFunctionCall","src":"35289:15:150"},"nodeType":"YulExpressionStatement","src":"35289:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35324:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"35327:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"35317:6:150"},"nodeType":"YulFunctionCall","src":"35317:15:150"},"nodeType":"YulExpressionStatement","src":"35317:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"35220:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"35213:6:150"},"nodeType":"YulFunctionCall","src":"35213:9:150"},"nodeType":"YulIf","src":"35210:132:150"},{"nodeType":"YulAssignment","src":"35351:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35360:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"35363:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"35356:3:150"},"nodeType":"YulFunctionCall","src":"35356:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"35351:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"35185:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"35188:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"35194:1:150","type":""}],"src":"35154:217:150"},{"body":{"nodeType":"YulBlock","src":"35423:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"35454:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"35456:16:150"},"nodeType":"YulFunctionCall","src":"35456:18:150"},"nodeType":"YulExpressionStatement","src":"35456:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35439:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35450:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"35446:3:150"},"nodeType":"YulFunctionCall","src":"35446:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"35436:2:150"},"nodeType":"YulFunctionCall","src":"35436:17:150"},"nodeType":"YulIf","src":"35433:43:150"},{"nodeType":"YulAssignment","src":"35485:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35496:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"35503:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35492:3:150"},"nodeType":"YulFunctionCall","src":"35492:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"35485:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"35405:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"35415:3:150","type":""}],"src":"35376:135:150"},{"body":{"nodeType":"YulBlock","src":"35565:79:150","statements":[{"nodeType":"YulAssignment","src":"35575:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"35587:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"35590:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35583:3:150"},"nodeType":"YulFunctionCall","src":"35583:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"35575:4:150"}]},{"body":{"nodeType":"YulBlock","src":"35616:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"35618:16:150"},"nodeType":"YulFunctionCall","src":"35618:18:150"},"nodeType":"YulExpressionStatement","src":"35618:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"35607:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"35613:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"35604:2:150"},"nodeType":"YulFunctionCall","src":"35604:11:150"},"nodeType":"YulIf","src":"35601:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"35547:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"35550:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"35556:4:150","type":""}],"src":"35516:128:150"},{"body":{"nodeType":"YulBlock","src":"35851:318:150","statements":[{"nodeType":"YulAssignment","src":"35861:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35873:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"35884:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35869:3:150"},"nodeType":"YulFunctionCall","src":"35869:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35861:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"35897:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35915:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35920:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35911:3:150"},"nodeType":"YulFunctionCall","src":"35911:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"35924:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35907:3:150"},"nodeType":"YulFunctionCall","src":"35907:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"35901:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35942:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35957:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"35965:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35953:3:150"},"nodeType":"YulFunctionCall","src":"35953:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35935:6:150"},"nodeType":"YulFunctionCall","src":"35935:34:150"},"nodeType":"YulExpressionStatement","src":"35935:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35989:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36000:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35985:3:150"},"nodeType":"YulFunctionCall","src":"35985:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"36009:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"36017:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36005:3:150"},"nodeType":"YulFunctionCall","src":"36005:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35978:6:150"},"nodeType":"YulFunctionCall","src":"35978:43:150"},"nodeType":"YulExpressionStatement","src":"35978:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36041:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36052:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36037:3:150"},"nodeType":"YulFunctionCall","src":"36037:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"36057:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36030:6:150"},"nodeType":"YulFunctionCall","src":"36030:34:150"},"nodeType":"YulExpressionStatement","src":"36030:34:150"},{"body":{"nodeType":"YulBlock","src":"36098:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"36100:16:150"},"nodeType":"YulFunctionCall","src":"36100:18:150"},"nodeType":"YulExpressionStatement","src":"36100:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"36086:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"36094:1:150","type":"","value":"2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"36083:2:150"},"nodeType":"YulFunctionCall","src":"36083:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"36076:6:150"},"nodeType":"YulFunctionCall","src":"36076:21:150"},"nodeType":"YulIf","src":"36073:47:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36140:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36151:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36136:3:150"},"nodeType":"YulFunctionCall","src":"36136:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"36156:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36129:6:150"},"nodeType":"YulFunctionCall","src":"36129:34:150"},"nodeType":"YulExpressionStatement","src":"36129:34:150"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35796:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"35807:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35815:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35823:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35831:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35842:4:150","type":""}],"src":"35649:520:150"},{"body":{"nodeType":"YulBlock","src":"36403:236:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36420:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36431:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36413:6:150"},"nodeType":"YulFunctionCall","src":"36413:21:150"},"nodeType":"YulExpressionStatement","src":"36413:21:150"},{"nodeType":"YulVariableDeclaration","src":"36443:70:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"36486:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36498:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36509:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36494:3:150"},"nodeType":"YulFunctionCall","src":"36494:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"36457:28:150"},"nodeType":"YulFunctionCall","src":"36457:56:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"36447:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36533:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36544:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36529:3:150"},"nodeType":"YulFunctionCall","src":"36529:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"36553:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"36561:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36549:3:150"},"nodeType":"YulFunctionCall","src":"36549:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36522:6:150"},"nodeType":"YulFunctionCall","src":"36522:50:150"},"nodeType":"YulExpressionStatement","src":"36522:50:150"},{"nodeType":"YulAssignment","src":"36581:52:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"36618:6:150"},{"name":"tail_1","nodeType":"YulIdentifier","src":"36626:6:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"36589:28:150"},"nodeType":"YulFunctionCall","src":"36589:44:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36581:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36364:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"36375:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"36383:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36394:4:150","type":""}],"src":"36174:465:150"},{"body":{"nodeType":"YulBlock","src":"36774:102:150","statements":[{"nodeType":"YulAssignment","src":"36784:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36796:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"36807:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36792:3:150"},"nodeType":"YulFunctionCall","src":"36792:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36784:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36826:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"36841:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36857:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"36862:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"36853:3:150"},"nodeType":"YulFunctionCall","src":"36853:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"36866:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36849:3:150"},"nodeType":"YulFunctionCall","src":"36849:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"36837:3:150"},"nodeType":"YulFunctionCall","src":"36837:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36819:6:150"},"nodeType":"YulFunctionCall","src":"36819:51:150"},"nodeType":"YulExpressionStatement","src":"36819:51:150"}]},"name":"abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36743:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"36754:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36765:4:150","type":""}],"src":"36644:232:150"},{"body":{"nodeType":"YulBlock","src":"37030:168:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37047:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37062:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37078:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"37083:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37074:3:150"},"nodeType":"YulFunctionCall","src":"37074:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"37087:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"37070:3:150"},"nodeType":"YulFunctionCall","src":"37070:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37058:3:150"},"nodeType":"YulFunctionCall","src":"37058:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37040:6:150"},"nodeType":"YulFunctionCall","src":"37040:51:150"},"nodeType":"YulExpressionStatement","src":"37040:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37111:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37122:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37107:3:150"},"nodeType":"YulFunctionCall","src":"37107:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"37127:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37100:6:150"},"nodeType":"YulFunctionCall","src":"37100:30:150"},"nodeType":"YulExpressionStatement","src":"37100:30:150"},{"nodeType":"YulAssignment","src":"37139:53:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"37165:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37177:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37188:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37173:3:150"},"nodeType":"YulFunctionCall","src":"37173:18:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"37147:17:150"},"nodeType":"YulFunctionCall","src":"37147:45:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37139:4:150"}]}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36991:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37002:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37010:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37021:4:150","type":""}],"src":"36881:317:150"},{"body":{"nodeType":"YulBlock","src":"37332:119:150","statements":[{"nodeType":"YulAssignment","src":"37342:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37354:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37365:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37350:3:150"},"nodeType":"YulFunctionCall","src":"37350:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37342:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37384:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"37395:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37377:6:150"},"nodeType":"YulFunctionCall","src":"37377:25:150"},"nodeType":"YulExpressionStatement","src":"37377:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37422:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37433:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37418:3:150"},"nodeType":"YulFunctionCall","src":"37418:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"37438:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37411:6:150"},"nodeType":"YulFunctionCall","src":"37411:34:150"},"nodeType":"YulExpressionStatement","src":"37411:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37293:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37304:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37312:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37323:4:150","type":""}],"src":"37203:248:150"},{"body":{"nodeType":"YulBlock","src":"37591:136:150","statements":[{"nodeType":"YulAssignment","src":"37601:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37613:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37624:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37609:3:150"},"nodeType":"YulFunctionCall","src":"37609:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37601:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37643:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37658:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"37666:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37654:3:150"},"nodeType":"YulFunctionCall","src":"37654:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37636:6:150"},"nodeType":"YulFunctionCall","src":"37636:42:150"},"nodeType":"YulExpressionStatement","src":"37636:42:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37698:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37709:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37694:3:150"},"nodeType":"YulFunctionCall","src":"37694:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"37714:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37687:6:150"},"nodeType":"YulFunctionCall","src":"37687:34:150"},"nodeType":"YulExpressionStatement","src":"37687:34:150"}]},"name":"abi_encode_tuple_t_uint32_t_uint256__to_t_uint32_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37552:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37563:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37571:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37582:4:150","type":""}],"src":"37456:271:150"},{"body":{"nodeType":"YulBlock","src":"37869:145:150","statements":[{"nodeType":"YulAssignment","src":"37879:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37891:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37902:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37887:3:150"},"nodeType":"YulFunctionCall","src":"37887:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"37879:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37921:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"37936:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"37952:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"37957:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"37948:3:150"},"nodeType":"YulFunctionCall","src":"37948:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"37961:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"37944:3:150"},"nodeType":"YulFunctionCall","src":"37944:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"37932:3:150"},"nodeType":"YulFunctionCall","src":"37932:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37914:6:150"},"nodeType":"YulFunctionCall","src":"37914:51:150"},"nodeType":"YulExpressionStatement","src":"37914:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37985:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"37996:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37981:3:150"},"nodeType":"YulFunctionCall","src":"37981:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"38001:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37974:6:150"},"nodeType":"YulFunctionCall","src":"37974:34:150"},"nodeType":"YulExpressionStatement","src":"37974:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37830:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37841:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"37849:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"37860:4:150","type":""}],"src":"37732:282:150"},{"body":{"nodeType":"YulBlock","src":"38100:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"38146:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38155:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"38158:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"38148:6:150"},"nodeType":"YulFunctionCall","src":"38148:12:150"},"nodeType":"YulExpressionStatement","src":"38148:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"38121:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"38130:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38117:3:150"},"nodeType":"YulFunctionCall","src":"38117:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"38142:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"38113:3:150"},"nodeType":"YulFunctionCall","src":"38113:32:150"},"nodeType":"YulIf","src":"38110:52:150"},{"nodeType":"YulAssignment","src":"38171:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38187:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38181:5:150"},"nodeType":"YulFunctionCall","src":"38181:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"38171:6:150"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38066:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"38077:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"38089:6:150","type":""}],"src":"38019:184:150"},{"body":{"nodeType":"YulBlock","src":"38344:130:150","statements":[{"nodeType":"YulAssignment","src":"38354:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38366:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38377:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38362:3:150"},"nodeType":"YulFunctionCall","src":"38362:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38354:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38396:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38411:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"38419:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38407:3:150"},"nodeType":"YulFunctionCall","src":"38407:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38389:6:150"},"nodeType":"YulFunctionCall","src":"38389:36:150"},"nodeType":"YulExpressionStatement","src":"38389:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38445:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38456:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38441:3:150"},"nodeType":"YulFunctionCall","src":"38441:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"38461:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38434:6:150"},"nodeType":"YulFunctionCall","src":"38434:34:150"},"nodeType":"YulExpressionStatement","src":"38434:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38305:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"38316:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38324:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38335:4:150","type":""}],"src":"38208:266:150"},{"body":{"nodeType":"YulBlock","src":"38636:218:150","statements":[{"nodeType":"YulAssignment","src":"38646:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38658:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38669:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38654:3:150"},"nodeType":"YulFunctionCall","src":"38654:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38646:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38688:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"38699:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38681:6:150"},"nodeType":"YulFunctionCall","src":"38681:25:150"},"nodeType":"YulExpressionStatement","src":"38681:25:150"},{"nodeType":"YulVariableDeclaration","src":"38715:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"38733:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"38738:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"38729:3:150"},"nodeType":"YulFunctionCall","src":"38729:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"38742:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"38725:3:150"},"nodeType":"YulFunctionCall","src":"38725:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"38719:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38764:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38775:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38760:3:150"},"nodeType":"YulFunctionCall","src":"38760:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"38784:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38792:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38780:3:150"},"nodeType":"YulFunctionCall","src":"38780:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38753:6:150"},"nodeType":"YulFunctionCall","src":"38753:43:150"},"nodeType":"YulExpressionStatement","src":"38753:43:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38816:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"38827:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38812:3:150"},"nodeType":"YulFunctionCall","src":"38812:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"38836:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"38844:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"38832:3:150"},"nodeType":"YulFunctionCall","src":"38832:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"38805:6:150"},"nodeType":"YulFunctionCall","src":"38805:43:150"},"nodeType":"YulExpressionStatement","src":"38805:43:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_address__to_t_uint256_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38589:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"38600:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"38608:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38616:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38627:4:150","type":""}],"src":"38479:375:150"},{"body":{"nodeType":"YulBlock","src":"39030:182:150","statements":[{"nodeType":"YulAssignment","src":"39040:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39052:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39063:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39048:3:150"},"nodeType":"YulFunctionCall","src":"39048:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"39040:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39082:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"39093:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39075:6:150"},"nodeType":"YulFunctionCall","src":"39075:25:150"},"nodeType":"YulExpressionStatement","src":"39075:25:150"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"39136:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39148:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39159:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39144:3:150"},"nodeType":"YulFunctionCall","src":"39144:18:150"}],"functionName":{"name":"abi_encode_enum_RoundState","nodeType":"YulIdentifier","src":"39109:26:150"},"nodeType":"YulFunctionCall","src":"39109:54:150"},"nodeType":"YulExpressionStatement","src":"39109:54:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39183:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39194:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39179:3:150"},"nodeType":"YulFunctionCall","src":"39179:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"39199:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39172:6:150"},"nodeType":"YulFunctionCall","src":"39172:34:150"},"nodeType":"YulExpressionStatement","src":"39172:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_enum$_RoundState_$70612_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38983:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"38994:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"39002:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39010:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39021:4:150","type":""}],"src":"38859:353:150"},{"body":{"nodeType":"YulBlock","src":"39566:777:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39583:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"39594:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39576:6:150"},"nodeType":"YulFunctionCall","src":"39576:25:150"},"nodeType":"YulExpressionStatement","src":"39576:25:150"},{"nodeType":"YulVariableDeclaration","src":"39610:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"39620:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"39614:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39642:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39653:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39638:3:150"},"nodeType":"YulFunctionCall","src":"39638:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"39662:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39678:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"39683:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"39674:3:150"},"nodeType":"YulFunctionCall","src":"39674:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"39687:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39670:3:150"},"nodeType":"YulFunctionCall","src":"39670:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"39658:3:150"},"nodeType":"YulFunctionCall","src":"39658:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39631:6:150"},"nodeType":"YulFunctionCall","src":"39631:60:150"},"nodeType":"YulExpressionStatement","src":"39631:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39711:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39722:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39707:3:150"},"nodeType":"YulFunctionCall","src":"39707:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"39727:3:150","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39700:6:150"},"nodeType":"YulFunctionCall","src":"39700:31:150"},"nodeType":"YulExpressionStatement","src":"39700:31:150"},{"nodeType":"YulVariableDeclaration","src":"39740:71:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"39783:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39795:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39806:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39791:3:150"},"nodeType":"YulFunctionCall","src":"39791:19:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"39754:28:150"},"nodeType":"YulFunctionCall","src":"39754:57:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"39744:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39831:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"39842:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39827:3:150"},"nodeType":"YulFunctionCall","src":"39827:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"39851:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"39859:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"39847:3:150"},"nodeType":"YulFunctionCall","src":"39847:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39820:6:150"},"nodeType":"YulFunctionCall","src":"39820:50:150"},"nodeType":"YulExpressionStatement","src":"39820:50:150"},{"nodeType":"YulVariableDeclaration","src":"39879:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"39890:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"39883:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"39905:27:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"39925:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"39919:5:150"},"nodeType":"YulFunctionCall","src":"39919:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"39909:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"39948:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"39956:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39941:6:150"},"nodeType":"YulFunctionCall","src":"39941:22:150"},"nodeType":"YulExpressionStatement","src":"39941:22:150"},{"nodeType":"YulAssignment","src":"39972:22:150","value":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"39983:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"39991:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39979:3:150"},"nodeType":"YulFunctionCall","src":"39979:15:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"39972:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"40003:29:150","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"40021:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40029:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40017:3:150"},"nodeType":"YulFunctionCall","src":"40017:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"40007:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"40041:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"40050:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"40045:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"40109:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40130:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"40141:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40135:5:150"},"nodeType":"YulFunctionCall","src":"40135:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40123:6:150"},"nodeType":"YulFunctionCall","src":"40123:26:150"},"nodeType":"YulExpressionStatement","src":"40123:26:150"},{"nodeType":"YulAssignment","src":"40162:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40173:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40178:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40169:3:150"},"nodeType":"YulFunctionCall","src":"40169:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"40162:3:150"}]},{"nodeType":"YulAssignment","src":"40194:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"40208:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"40216:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40204:3:150"},"nodeType":"YulFunctionCall","src":"40204:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"40194:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"40071:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"40074:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"40068:2:150"},"nodeType":"YulFunctionCall","src":"40068:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"40082:18:150","statements":[{"nodeType":"YulAssignment","src":"40084:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"40093:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"40096:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40089:3:150"},"nodeType":"YulFunctionCall","src":"40089:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"40084:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"40064:3:150","statements":[]},"src":"40060:169:150"},{"nodeType":"YulAssignment","src":"40238:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"40246:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40238:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40269:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40280:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40265:3:150"},"nodeType":"YulFunctionCall","src":"40265:19:150"},{"name":"value4","nodeType":"YulIdentifier","src":"40286:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40258:6:150"},"nodeType":"YulFunctionCall","src":"40258:35:150"},"nodeType":"YulExpressionStatement","src":"40258:35:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40324:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40309:3:150"},"nodeType":"YulFunctionCall","src":"40309:19:150"},{"name":"value5","nodeType":"YulIdentifier","src":"40330:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40302:6:150"},"nodeType":"YulFunctionCall","src":"40302:35:150"},"nodeType":"YulExpressionStatement","src":"40302:35:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"39495:9:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"39506:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"39514:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"39522:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"39530:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"39538:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"39546:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"39557:4:150","type":""}],"src":"39217:1126:150"},{"body":{"nodeType":"YulBlock","src":"40477:145:150","statements":[{"nodeType":"YulAssignment","src":"40487:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40499:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40510:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40495:3:150"},"nodeType":"YulFunctionCall","src":"40495:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"40487:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40529:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40544:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"40560:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"40565:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"40556:3:150"},"nodeType":"YulFunctionCall","src":"40556:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"40569:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"40552:3:150"},"nodeType":"YulFunctionCall","src":"40552:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"40540:3:150"},"nodeType":"YulFunctionCall","src":"40540:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40522:6:150"},"nodeType":"YulFunctionCall","src":"40522:51:150"},"nodeType":"YulExpressionStatement","src":"40522:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"40593:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"40604:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40589:3:150"},"nodeType":"YulFunctionCall","src":"40589:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"40609:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"40582:6:150"},"nodeType":"YulFunctionCall","src":"40582:34:150"},"nodeType":"YulExpressionStatement","src":"40582:34:150"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"40438:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"40449:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40457:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"40468:4:150","type":""}],"src":"40348:274:150"},{"body":{"nodeType":"YulBlock","src":"40764:150:150","statements":[{"nodeType":"YulVariableDeclaration","src":"40774:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40794:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"40788:5:150"},"nodeType":"YulFunctionCall","src":"40788:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"40778:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"40849:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"40857:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40845:3:150"},"nodeType":"YulFunctionCall","src":"40845:17:150"},{"name":"pos","nodeType":"YulIdentifier","src":"40864:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40869:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"40810:34:150"},"nodeType":"YulFunctionCall","src":"40810:66:150"},"nodeType":"YulExpressionStatement","src":"40810:66:150"},{"nodeType":"YulAssignment","src":"40885:23:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"40896:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"40901:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"40892:3:150"},"nodeType":"YulFunctionCall","src":"40892:16:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"40885:3:150"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"40740:3:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"40745:6:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"40756:3:150","type":""}],"src":"40627:287:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function validator_revert_uint48(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint48(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint48(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint208__to_t_uint208__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(208, 1), 1)))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        let _2 := 64\n        pos := add(headStart, _2)\n        let tail_2 := add(add(headStart, shl(5, length)), _2)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            let _3 := mload(srcPtr)\n            let _4 := 0xc0\n            mstore(tail_2, mload(_3))\n            mstore(add(tail_2, _1), and(mload(add(_3, _1)), sub(shl(160, 1), 1)))\n            let memberValue0 := mload(add(_3, _2))\n            mstore(add(tail_2, _2), _4)\n            let tail_3 := abi_encode_string(memberValue0, add(tail_2, _4))\n            let _5 := 0x60\n            let memberValue0_1 := mload(add(_3, _5))\n            mstore(add(tail_2, _5), sub(tail_3, tail_2))\n            let tail_4 := abi_encode_string(memberValue0_1, tail_3)\n            let _6 := 0x80\n            mstore(add(tail_2, _6), mload(add(_3, _6)))\n            let _7 := 0xa0\n            mstore(add(tail_2, _7), iszero(iszero(mload(add(_3, _7)))))\n            tail_2 := tail_4\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_5317() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_array_bytes32_dyn(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_array_bytes32_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_RoundState(value, pos)\n    {\n        if iszero(lt(value, 3)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_RoundState_$70612__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_RoundState(value0, headStart)\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_array_bytes32_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_array_bytes32_dyn(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256t_addresst_bytes32(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value1 := value\n    }\n    function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let _2 := calldataload(_1)\n        let array := allocate_memory(array_allocation_size_bytes(_2))\n        mstore(array, _2)\n        if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n        calldatacopy(add(array, 32), add(_1, 32), _2)\n        mstore(add(add(array, _2), 32), 0)\n        value1 := array\n    }\n    function abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let _1 := 32\n        let offset := calldataload(add(headStart, _1))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        value1 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset_1)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_4))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _1)\n        }\n        value2 := dst_1\n    }\n    function abi_decode_tuple_t_contract$_IEmissions_$64454(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IB3TRGovernor_$63919(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_struct$_RoundCore_$82969_memory_ptr__to_t_struct$_RoundCore_$82969_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(mload(value0), sub(shl(160, 1), 1)))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffff))\n        mstore(add(headStart, 0x40), and(mload(add(value0, 0x40)), 0xffffffff))\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_addresst_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_uint48(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVeBetterPassport_$68601(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IX2EarnApps_$69989(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function validator_revert_uint32(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint32(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function abi_decode_tuple_t_uint208_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, sub(shl(208, 1), 1)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint48(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_uint256_t_uint48__to_t_uint256_t_uint48__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_address_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let array_1 := allocate_memory(array_allocation_size_bytes(_1))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n        array := array_1\n    }\n    function abi_decode_bool_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := mload(_3)\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_4))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, _2) { revert(0, 0) }\n            let _5 := add(_3, innerOffset)\n            if slt(add(sub(dataEnd, _5), not(31)), 0xc0)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            let value := allocate_memory_5317()\n            mstore(value, mload(add(_5, _1)))\n            let _7 := 64\n            mstore(add(value, _1), abi_decode_address_fromMemory(add(_5, _7)))\n            let _8 := 96\n            let offset_1 := mload(add(_5, _8))\n            if gt(offset_1, _2)\n            {\n                let _9 := 0\n                revert(_9, _9)\n            }\n            mstore(add(value, _7), abi_decode_string_fromMemory(add(add(_5, offset_1), _1), dataEnd))\n            let _10 := 128\n            let offset_2 := mload(add(_5, _10))\n            if gt(offset_2, _2)\n            {\n                let _11 := 0\n                revert(_11, _11)\n            }\n            mstore(add(value, _8), abi_decode_string_fromMemory(add(add(_5, offset_2), _1), dataEnd))\n            let _12 := 160\n            mstore(add(value, _10), mload(add(_5, _12)))\n            mstore(add(value, _12), abi_decode_bool_fromMemory(add(_5, 0xc0)))\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := dst_1\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n    }\n    function abi_encode_tuple_t_uint256_t_uint8_t_bool__to_t_uint256_t_uint8_t_bool__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xff))\n        mstore(add(headStart, 64), iszero(iszero(value2)))\n    }\n    function abi_encode_tuple_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), 96)\n        tail := abi_encode_array_bytes32_dyn(value2, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_array_bytes32_dyn_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, mload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_bytes32__to_t_uint256_t_address_t_bytes32__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_stringliteral_8267d6c66c01a34056bef6e7679efcce7bcf62ab4cf046a64cdccd8710cbcd11__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 59)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: apps \")\n        mstore(add(headStart, 96), \"and weights length mismatch\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_b81573242e97abaf762015092be570395ffafa2b96c6a590007ed8b34965d645__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 46)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: no ap\")\n        mstore(add(headStart, 96), \"ps to vote for\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint48__to_t_address_t_uint48__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_IEmissions_$64454__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IRelayerRewardsPool_$67117__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_d3926853dd3a7adc6fb2067c0b7847fdd64a6eda0a7f3b8245b8e9d3711cc9c8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 41)\n        mstore(add(headStart, 64), \"XAllocationVoting: not navigator\")\n        mstore(add(headStart, 96), \" registry\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint48__to_t_address_t_address_t_uint48__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), and(value2, 0xffffffffffff))\n    }\n    function abi_encode_tuple_t_contract$_IB3TRGovernor_$63919__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_struct$_RoundCore_$82969_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, 96)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let value := mload(headStart)\n        validator_revert_address(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint48(value_1)\n        mstore(add(memPtr, 32), value_1)\n        let value_2 := mload(add(headStart, 64))\n        validator_revert_uint32(value_2)\n        mstore(add(memPtr, 64), value_2)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_boolt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_bool_fromMemory(headStart)\n        let offset := mload(add(headStart, 32))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value1 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_array_bytes32_dyn(value3, add(headStart, 128))\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n        let offset_1 := mload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset_1), dataEnd)\n        value2 := mload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_uint256_t_rational_1_by_1__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_bool_t_uint256_t_uint256__to_t_bool_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, iszero(iszero(value0)))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_stringliteral_ea5a4b44ac97938697a49ca95a48fc492e6cee29b837a1d0c315679bb85814b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"XAllocationVoting: invalid navig\")\n        mstore(add(headStart, 96), \"ator registry\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_contract$_INavigatorRegistry_$66638__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IVoterRewards_$69092__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IVeBetterPassport_$68601__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_3a16f0e1b50c1fc1cec31ef7d540c7ef9e123e7e303e85c545b5d38bd7c8fcf5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 63)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: there\")\n        mstore(add(headStart, 96), \" can be only one round per time\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__to_t_address_t_uint48_t_uint32_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffff))\n        mstore(add(headStart, 64), and(value2, 0xffffffff))\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_array_bytes32_dyn(value3, add(headStart, 128))\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), 128)\n        tail := abi_encode_array_bytes32_dyn(value3, add(headStart, 128))\n    }\n    function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n        let offset_1 := mload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset_1), dataEnd)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_address_t_uint256_t_enum$_RelayerAction_$66644__to_t_address_t_address_t_uint256_t_uint8__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), value2)\n        if iszero(lt(value3, 2)) { panic_error_0x21() }\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        let tail_1 := abi_encode_array_bytes32_dyn(value0, add(headStart, 64))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        tail := abi_encode_array_bytes32_dyn(value1, tail_1)\n    }\n    function abi_encode_tuple_t_contract$_IX2EarnApps_$69989__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_string(value1, add(headStart, 64))\n    }\n    function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint32_t_uint256__to_t_uint32_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xffffffff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_address__to_t_uint256_t_address_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(add(headStart, 32), and(value1, _1))\n        mstore(add(headStart, 64), and(value2, _1))\n    }\n    function abi_encode_tuple_t_uint256_t_enum$_RoundState_$70612_t_bytes32__to_t_uint256_t_uint8_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        abi_encode_enum_RoundState(value1, add(headStart, 32))\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256__fromStack_library_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        let _1 := 32\n        mstore(add(headStart, _1), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), 192)\n        let tail_1 := abi_encode_array_bytes32_dyn(value2, add(headStart, 192))\n        mstore(add(headStart, 96), sub(tail_1, headStart))\n        let pos := tail_1\n        let length := mload(value3)\n        mstore(tail_1, length)\n        pos := add(tail_1, _1)\n        let srcPtr := add(value3, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n        mstore(add(headStart, 128), value4)\n        mstore(add(headStart, 160), value5)\n    }\n    function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1752":[{"length":32,"start":18006},{"length":32,"start":18047},{"length":32,"start":18377}]},"linkReferences":{"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol":{"AutoVotingLogic":[{"length":20,"start":3899},{"length":20,"start":5068},{"length":20,"start":5146},{"length":20,"start":5884},{"length":20,"start":7706},{"length":20,"start":8039},{"length":20,"start":8151},{"length":20,"start":8552},{"length":20,"start":9066},{"length":20,"start":9983},{"length":20,"start":10112},{"length":20,"start":10587},{"length":20,"start":10718},{"length":20,"start":10884},{"length":20,"start":10996},{"length":20,"start":13644}]},"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol":{"ExternalContractsUtils":[{"length":20,"start":7349},{"length":20,"start":7517},{"length":20,"start":8435},{"length":20,"start":11925},{"length":20,"start":12304},{"length":20,"start":12383},{"length":20,"start":16450},{"length":20,"start":17338}]},"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol":{"RoundEarningsSettingsUtils":[{"length":20,"start":4286},{"length":20,"start":4406},{"length":20,"start":8362},{"length":20,"start":9169},{"length":20,"start":12427},{"length":20,"start":13550},{"length":20,"start":17424}]},"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol":{"RoundFinalizationUtils":[{"length":20,"start":4713},{"length":20,"start":4772},{"length":20,"start":4869},{"length":20,"start":12805},{"length":20,"start":12908}]},"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol":{"RoundVotesCountingUtils":[{"length":20,"start":4465},{"length":20,"start":5712},{"length":20,"start":6040},{"length":20,"start":6160},{"length":20,"start":6227},{"length":20,"start":6279},{"length":20,"start":7811},{"length":20,"start":8674},{"length":20,"start":9719},{"length":20,"start":11335},{"length":20,"start":11531},{"length":20,"start":14571},{"length":20,"start":14951},{"length":20,"start":15152},{"length":20,"start":16039},{"length":20,"start":16369},{"length":20,"start":16798},{"length":20,"start":17542},{"length":20,"start":19203}]},"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol":{"RoundsStorageUtils":[{"length":20,"start":4556},{"length":20,"start":5308},{"length":20,"start":5570},{"length":20,"start":7239},{"length":20,"start":7393},{"length":20,"start":8500},{"length":20,"start":9287},{"length":20,"start":9763},{"length":20,"start":12533},{"length":20,"start":13401},{"length":20,"start":16701},{"length":20,"start":16760},{"length":20,"start":18936}]},"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol":{"VotesQuorumFractionUtils":[{"length":20,"start":4030},{"length":20,"start":6548},{"length":20,"start":7773},{"length":20,"start":9630},{"length":20,"start":17483}]},"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol":{"VotesUtils":[{"length":20,"start":4057},{"length":20,"start":5449},{"length":20,"start":6390},{"length":20,"start":8179},{"length":20,"start":9094},{"length":20,"start":9439},{"length":20,"start":11024},{"length":20,"start":13175},{"length":20,"start":17257}]},"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol":{"VotingSettingsUtils":[{"length":20,"start":3769},{"length":20,"start":9592},{"length":20,"start":12033},{"length":20,"start":12194},{"length":20,"start":13288},{"length":20,"start":17039},{"length":20,"start":19035}]}},"object":"6080604052600436106103c55760003560e01c806301ffc9a7146103ca57806302a251a3146103ff578063059e952b1461042257806306f3f9e61461045a5780630a0e74ef1461047c5780630eca87fb1461049c57806319e6e158146104bc578063248a9ca3146104dc578063291605f7146104fc5780632f2ff15d14610529578063300973771461054957806333727c4d146105695780633469f6e21461058957806336568abe146105a95780633b395cbe146105c95780633d4fd3c7146105e95780633e4f49e614610609578063412caf0b1461063657806342707a43146106635780634385963214610683578063498d91bf146106a35780634bb5181a146106c35780634bf5d7e9146106e35780634cadad2f146107055780634f1ef286146107255780634fa76ec91461073857806352d1902d1461074d57806353ed63991461076257806354fd4d5014610782578063561b64ef146107ad57806357181609146107c257806359372812146107e257806359529edd146107f75780635dbdba6e146108175780635fb263671461083757806360c4247f146108575780636282773314610877578063673fc7241461088c57806374038935146108ac57806378a81336146108cc5780637ace2485146108ec578063802d27091461090c57806382afd23b1461092c578063836761e01461094c5780638a829eda1461096c5780638ab52d4b1461098c5780638f1327c0146109a157806391d14854146109fa57806391ddadf414610a1a5780639382c81814610a3c578063952f213314610a5c57806397c3d33414610a7e5780639aeb962b14610a935780639cbe5efd14610ab3578063a022756b14610ac8578063a217fddf14610add578063a461a94d14610af2578063a56b576514610b12578063a5ae08e914610b32578063a7713a7014610738578063aa86328614610b52578063abc517fd14610b72578063ad3cb1cc14610b87578063b25d6f6214610bb8578063b3c93dab14610bd8578063bb7de6d414610bf8578063bd85948c14610c0d578063be2a9f8f14610c22578063bed7301014610c42578063c048f6c914610c62578063cd669a7214610c82578063cfea80ed14610ca4578063d06efeda14610cc4578063d3a368bd14610ce4578063d4a8dd9814610d04578063d547741f14610d24578063d68b4c3614610d44578063e125f74e14610d64578063e540d01d14610d86578063eb9019d414610da6578063f36c8f5c14610dc6578063f530108f14610de8578063f5fae13614610e08578063f72c0d8b14610e28578063f8ce560a14610e4a578063fb03ec6f14610e6a575b600080fd5b3480156103d657600080fd5b506103ea6103e5366004614e2a565b610e8a565b60405190151581526020015b60405180910390f35b34801561040b57600080fd5b50610414610eb5565b6040519081526020016103f6565b34801561042e57600080fd5b5061044261043d366004614e68565b610f29565b6040516001600160d01b0390911681526020016103f6565b34801561046657600080fd5b5061047a610475366004614e85565b610fa4565b005b34801561048857600080fd5b50610414610497366004614e85565b6110a5565b3480156104a857600080fd5b506104146104b7366004614e85565b61111d565b3480156104c857600080fd5b506104146104d7366004614e85565b611158565b3480156104e857600080fd5b506104146104f7366004614e85565b611193565b34801561050857600080fd5b5061051c610517366004614e85565b6111b3565b6040516103f69190614eee565b34801561053557600080fd5b5061047a610544366004614fc0565b61122e565b34801561055557600080fd5b50610414610564366004614e85565b611250565b34801561057557600080fd5b506103ea610584366004614e85565b61128b565b34801561059557600080fd5b5061047a6105a4366004614e85565b611303565b3480156105b557600080fd5b5061047a6105c4366004614fc0565b611392565b3480156105d557600080fd5b5061047a6105e43660046150ec565b6113ca565b3480156105f557600080fd5b506103ea610604366004615120565b611416565b34801561061557600080fd5b50610629610624366004614e85565b6114a1565b6040516103f69190615176565b34801561064257600080fd5b50610656610651366004615184565b6116ea565b6040516103f691906151dc565b34801561066f57600080fd5b506103ea61067e3660046151ef565b611769565b34801561068f57600080fd5b506103ea61069e366004614fc0565b6117fe565b3480156106af57600080fd5b506104146106be366004614e85565b61183a565b3480156106cf57600080fd5b506104146106de366004615227565b611875565b3480156106ef57600080fd5b506106f86118f2565b6040516103f69190615249565b34801561071157600080fd5b50610414610720366004615120565b611965565b61047a610733366004615283565b611971565b34801561074457600080fd5b50610414611990565b34801561075957600080fd5b506104146119db565b34801561076e57600080fd5b5061047a61077d366004615310565b6119f8565b34801561078e57600080fd5b50604080518082019091526002815261031360f41b60208201526106f8565b3480156107b957600080fd5b50610414611c43565b3480156107ce57600080fd5b5061047a6107dd366004615184565b611c8e565b3480156107ee57600080fd5b50610414611cdd565b34801561080357600080fd5b50610414610812366004614e85565b611d28565b34801561082357600080fd5b5061047a610832366004615184565b611d36565b34801561084357600080fd5b506103ea610852366004615184565b611d85565b34801561086357600080fd5b50610414610872366004614e85565b611e44565b34801561088357600080fd5b50610414611e7f565b34801561089857600080fd5b5061047a6108a7366004615184565b611eca565b3480156108b857600080fd5b5061047a6108c7366004614e85565b61207c565b3480156108d857600080fd5b5061047a6108e7366004615184565b6120cc565b3480156108f857600080fd5b50610656610907366004614e85565b61211b565b34801561091857600080fd5b506103ea610927366004615184565b612156565b34801561093857600080fd5b506103ea610947366004614e85565b612190565b34801561095857600080fd5b5061047a610967366004614e85565b6121b4565b34801561097857600080fd5b5061047a610987366004615184565b612204565b34801561099857600080fd5b506104146123cd565b3480156109ad57600080fd5b506109c16109bc366004614e85565b612418565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff16908201526060016103f6565b348015610a0657600080fd5b506103ea610a15366004614fc0565b6124a5565b348015610a2657600080fd5b50610a2f6124db565b6040516103f691906153d2565b348015610a4857600080fd5b5061047a610a57366004614e85565b61254a565b348015610a6857600080fd5b50610414600080516020615ccb83398151915281565b348015610a8a57600080fd5b5061041461259a565b348015610a9f57600080fd5b506103ea610aae366004615184565b6125e5565b348015610abf57600080fd5b5061041461261f565b348015610ad457600080fd5b5061044261266a565b348015610ae957600080fd5b50610414600081565b348015610afe57600080fd5b506103ea610b0d3660046153e5565b61276e565b348015610b1e57600080fd5b50610414610b2d366004615120565b6127aa565b348015610b3e57600080fd5b5061047a610b4d366004615120565b612804565b348015610b5e57600080fd5b5061047a610b6d366004615120565b612d7c565b348015610b7e57600080fd5b50610414612f9e565b348015610b9357600080fd5b506106f8604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610bc457600080fd5b5061047a610bd3366004615184565b612fe9565b348015610be457600080fd5b5061047a610bf3366004615184565b613038565b348015610c0457600080fd5b50610414613087565b348015610c1957600080fd5b506104146130d2565b348015610c2e57600080fd5b5061047a610c3d366004615120565b6137b3565b348015610c4e57600080fd5b50610414610c5d366004615227565b613fdf565b348015610c6e57600080fd5b5061047a610c7d366004615184565b61401b565b348015610c8e57600080fd5b50610414600080516020615cab83398151915281565b348015610cb057600080fd5b506103ea610cbf366004615184565b61406a565b348015610cd057600080fd5b50610414610cdf366004614e85565b614124565b348015610cf057600080fd5b50610414610cff366004614e85565b61415f565b348015610d1057600080fd5b506103ea610d1f366004614e85565b61419a565b348015610d3057600080fd5b5061047a610d3f366004614fc0565b6141e0565b348015610d5057600080fd5b506103ea610d5f366004615227565b6141fc565b348015610d7057600080fd5b50610d79614259565b6040516103f69190615413565b348015610d9257600080fd5b5061047a610da1366004615439565b614275565b348015610db257600080fd5b50610414610dc1366004615120565b614357565b348015610dd257600080fd5b50610414600080516020615c4b83398151915281565b348015610df457600080fd5b5061047a610e03366004615184565b614393565b348015610e1457600080fd5b5061047a610e23366004614e85565b6143e2565b348015610e3457600080fd5b50610414600080516020615c6b83398151915281565b348015610e5657600080fd5b50610414610e65366004614e85565b614432565b348015610e7657600080fd5b50610414610e85366004614e85565b61446d565b60006001600160e01b03198216639da99b3f60e01b1480610eaf5750610eaf826144a8565b92915050565b600073__$e74cba849739aecfa9bf3b6281c0831878$__6302a251a36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190615456565b905090565b60405163059e952b60e01b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__9063059e952b90610f639085906004016153d2565b602060405180830381865af4158015610f80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf919061546f565b600080516020615c4b833981519152610fbc816144dd565b73__$e7d0f1dc0c8caff7791d9dd32970050ea7$__63bd88fe328373__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611020573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110449190615498565b6040516001600160e01b031960e085901b168152600481019290925265ffffffffffff1660248201526044015b60006040518083038186803b15801561108957600080fd5b505af415801561109d573d6000803e3d6000fd5b505050505050565b604051630a0e74ef60e01b81526004810182905260009073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90630a0e74ef906024015b602060405180830381865af41580156110f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf9190615456565b604051630eca87fb60e01b81526004810182905260009073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90630eca87fb906024016110dc565b60405163033cdc2b60e31b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__906319e6e158906024016110dc565b60008061119e6144ea565b60009384526020525050604090206001015490565b60405163291605f760e01b81526004810182905260609073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063291605f790602401600060405180830381865af4158015611206573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eaf919081019061551a565b61123782611193565b611240816144dd565b61124a838361450e565b50505050565b604051633009737760e01b81526004810182905260009073__$70f75f99fe6661499ece4b8956af59cd6c$__906330097377906024016110dc565b6040516333727c4d60e01b81526004810182905260009073__$70f75f99fe6661499ece4b8956af59cd6c$__906333727c4d906024015b602060405180830381865af41580156112df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf919061565d565b73__$70f75f99fe6661499ece4b8956af59cd6c$__6309d3c59b82611327846114a1565b60028111156113385761133861514c565b61134185612190565b6040518463ffffffff1660e01b815260040161135f93929190615678565b60006040518083038186803b15801561137757600080fd5b505af415801561138b573d6000803e3d6000fd5b5050505050565b6001600160a01b03811633146113bb5760405163334bd91960e11b815260040160405180910390fd5b6113c582826145af565b505050565b73__$24ed9c895b3ab1d429967676414af5d94a$__63642998816113ec614627565b546001600160a01b031633846040518463ffffffff1660e01b815260040161135f93929190615693565b600073__$24ed9c895b3ab1d429967676414af5d94a$__631f59dfd78461143c85614124565b6040518363ffffffff1660e01b81526004016114599291906156bf565b602060405180830381865af4158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a919061565d565b9392505050565b6040516368377f6d60e11b815260048101829052600090819073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d06efeda90602401602060405180830381865af41580156114f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151a9190615456565b905080600003611545576040516333b4e31b60e21b8152600481018490526024015b60405180910390fd5b600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b49190615498565b65ffffffffffff169050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63d3a368bd866040518263ffffffff1660e01b81526004016115f991815260200190565b602060405180830381865af4158015611616573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163a9190615456565b905081811061164e57506000949350505050565b73__$04e71bdb39671a9b319808db351dce05d3$__63adf865238661167286614432565b6040518363ffffffff1660e01b815260040161168f9291906156e0565b602060405180830381865af41580156116ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d0919061565d565b6116df57506001949350505050565b506002949350505050565b60405163412caf0b60e01b815260609073__$24ed9c895b3ab1d429967676414af5d94a$__9063412caf0b90611724908590600401615413565b600060405180830381865af4158015611741573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eaf9190810190615749565b6040516342707a4360e01b8152600481018490526001600160a01b03831660248201526044810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__906342707a4390606401602060405180830381865af41580156117d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f6919061565d565b949350505050565b6040516321c2cb1960e11b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90634385963290611459908690869060040161577d565b60405163498d91bf60e01b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__9063498d91bf906024016110dc565b6040516325da8c0d60e11b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90634bb5181a906118b190869086906004016156e0565b602060405180830381865af41580156118ce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a9190615456565b606073__$95674d662a270791c819f82956386ae379$__634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865af415801561193d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f249190810190615794565b600061149a8383614357565b61197961464b565b611982826146f2565b61198c828261470a565b5050565b600073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__63a7713a706040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b60006119e56147be565b50600080516020615c8b83398151915290565b8051825114611a6d5760405162461bcd60e51b815260206004820152603b60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20617070732060448201527a0c2dcc840eecad2ced0e8e640d8cadccee8d040dad2e6dac2e8c6d602b1b606482015260840161153c565b6000825111611ad55760405162461bcd60e51b815260206004820152602e60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a206e6f20617060448201526d3839903a37903b37ba32903337b960911b606482015260840161153c565b3063a461a94d33611aec611ae7611c43565b614807565b6040518363ffffffff1660e01b8152600401611b099291906156bf565b602060405180830381865afa158015611b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4a919061565d565b15611b6a57336040516305b27abd60e01b815260040161153c9190615413565b6000611b74614627565b600601546001600160a01b031690508015611c2b5760006001600160a01b0382166318be49d933611ba488614124565b6040518363ffffffff1660e01b8152600401611bc19291906157c8565b602060405180830381865afa158015611bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0291906157e1565b6001600160a01b031614611c2b573360405163640ed18360e01b815260040161153c9190615413565b611c343361406a565b5061124a33858585600061483e565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b600080516020615ccb833981519152611ca6816144dd565b604051632b9f45b760e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90632b9f45b790611071908590600401615413565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__63593728126040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b6000610eaf610e6583614124565b600080516020615ccb833981519152611d4e816144dd565b604051630e0bea3b60e21b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063382fa8ec90611071908590600401615413565b600080611d90614627565b60010160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e089190615456565b604051631f59dfd760e01b815290915073__$24ed9c895b3ab1d429967676414af5d94a$__90631f59dfd79061145990869085906004016156bf565b6040516360c4247f60e01b81526004810182905260009073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__906360c4247f906024016110dc565b600073__$04e71bdb39671a9b319808db351dce05d3$__63628277336040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b6000611ed4614627565b600601546001600160a01b031690508015801590611efa5750336001600160a01b038216145b611f585760405162461bcd60e51b815260206004820152602960248201527f58416c6c6f636174696f6e566f74696e673a206e6f74206e6176696761746f7260448201526820726567697374727960b81b606482015260840161153c565b604051632947884560e11b815273__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a90611f8f908590600401615413565b602060405180830381865af4158015611fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd0919061565d565b1561198c5773__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308473__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561203a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205e9190615498565b6040518463ffffffff1660e01b8152600401611071939291906157fe565b600080516020615c4b833981519152612094816144dd565b604051637403893560e01b81526004810183905273__$36f22459ee3e33aa9c0be04d35fbeab80d$__90637403893590602401611071565b600080516020615ccb8339815191526120e4816144dd565b6040516332ea3f7360e11b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__906365d47ee690611071908590600401615413565b604051637ace248560e01b81526004810182905260609073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__90637ace248590602401611724565b604051632947884560e11b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a906112c2908590600401615413565b60008061219c836114a1565b60028111156121ad576121ad61514c565b1492915050565b600080516020615c4b8339815191526121cc816144dd565b60405163041b3b0f60e51b81526004810183905273__$04e71bdb39671a9b319808db351dce05d3$__9063836761e090602401611071565b336001600160a01b0382161461222f573360405163065ece9760e51b815260040161153c9190615413565b6000612239614627565b600601546001600160a01b031690508015612368576040516353127ad560e11b81526001600160a01b0382169063a624f5aa9061227a908590600401615413565b602060405180830381865afa158015612297573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bb919061565d565b156122db5781604051638523c47f60e01b815260040161153c9190615413565b604051633e28391d60e01b81526001600160a01b03821690633e28391d90612307908590600401615413565b602060405180830381865afa158015612324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612348919061565d565b15612368578160405163640ed18360e01b815260040161153c9190615413565b73__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308473__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561203a573d6000803e3d6000fd5b600073__$36f22459ee3e33aa9c0be04d35fbeab80d$__638ab52d4b6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b6040805160608101825260008082526020820181905281830152905163023c4c9f60e61b81526004810183905273__$ee22ebed0dbdcceb519aa1d808f0526e6a$__90638f1327c090602401606060405180830381865af4158015612481573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf9190615829565b6000806124b06144ea565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612526573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190615498565b600080516020615c4b833981519152612562816144dd565b604051631270590360e31b81526004810183905273__$e74cba849739aecfa9bf3b6281c0831878$__90639382c81890602401611071565b600073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__6397c3d3346040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b604051639aeb962b60e01b815260009073__$04e71bdb39671a9b319808db351dce05d3$__90639aeb962b906112c2908590600401615413565b600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b600080612675614627565b60010160009054906101000a90046001600160a01b03166001600160a01b031663c66966b76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ed9190615456565b60405163059e952b60e01b815290915073__$24ed9c895b3ab1d429967676414af5d94a$__9063059e952b906127279084906004016153d2565b602060405180830381865af4158015612744573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612768919061546f565b91505090565b604051631f59dfd760e01b815260009073__$24ed9c895b3ab1d429967676414af5d94a$__90631f59dfd79061145990869086906004016156bf565b60006127b4614627565b60049081015460405163a56b576560e01b81526001600160a01b039091169163a56b5765916127e79187918791016157c8565b602060405180830381865afa1580156118ce573d6000803e3d6000fd5b3063a461a94d83612817611ae785614124565b6040518363ffffffff1660e01b81526004016128349291906156bf565b602060405180830381865afa158015612851573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612875919061565d565b6128945781604051632b8b7c8960e01b815260040161153c9190615413565b61289e818361485d565b156128c0578181604051630a90bd6360e11b815260040161153c9291906157c8565b6128ca81836148a7565b60006128d4614627565b600301546001600160a01b031663d0ebb0ee846128f2611ae7611c43565b6040518363ffffffff1660e01b815260040161290f9291906156bf565b600060405180830381865afa15801561292c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612954919081019061589a565b509050600073__$24ed9c895b3ab1d429967676414af5d94a$__63412caf0b856040518263ffffffff1660e01b81526004016129909190615413565b600060405180830381865af41580156129ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129d59190810190615749565b9050600080600073__$24ed9c895b3ab1d429967676414af5d94a$__63ea66e04a308989886040518563ffffffff1660e01b8152600401612a1994939291906158e8565b600060405180830381865af4158015612a36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a5e9190810190615925565b925092509250841580612a7057508251155b15612cfc57604051632947884560e11b815273__$24ed9c895b3ab1d429967676414af5d94a$__9063528f108a90612aac908a90600401615413565b602060405180830381865af4158015612ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aed919061565d565b15612c385773__$24ed9c895b3ab1d429967676414af5d94a$__63217940a6308973__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015612b57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b7b9190615498565b6040518463ffffffff1660e01b8152600401612b99939291906157fe565b60006040518083038186803b158015612bb157600080fd5b505af4158015612bc5573d6000803e3d6000fd5b50505050612bd1614627565b600501546040516373eff33960e11b81526001600160a01b039091169063e7dfe67290612c059089906001906004016156e0565b600060405180830381600087803b158015612c1f57600080fd5b505af1158015612c33573d6000803e3d6000fd5b505050505b604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f690612c719089908b9060040161577d565b60006040518083038186803b158015612c8957600080fd5b505af4158015612c9d573d6000803e3d6000fd5b50508451604080518915158152602081019290925281018490528892506001600160a01b038a1691507f55b62c33ca46df94310e16fc7e52e8ed456d93a5f21b1e7b5b4c2428905ddebc9060600160405180910390a350505050505050565b604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f690612d359089908b9060040161577d565b60006040518083038186803b158015612d4d57600080fd5b505af4158015612d61573d6000803e3d6000fd5b50505050612d7387878585600161483e565b50505050505050565b600080516020615c6b833981519152612d94816144dd565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805460089190600160401b900460ff1680612ddd575080546001600160401b03808416911610155b15612dfb5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617600160401b1781556001600160a01b038516612e865760405162461bcd60e51b815260206004820152602d60248201527f58416c6c6f636174696f6e566f74696e673a20696e76616c6964206e6176696760448201526c61746f7220726567697374727960981b606482015260840161153c565b60405163ce396b1f60e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063ce396b1f90612ebd908890600401615413565b60006040518083038186803b158015612ed557600080fd5b505af4158015612ee9573d6000803e3d6000fd5b5050604051631270590360e31b81526004810187905273__$e74cba849739aecfa9bf3b6281c0831878$__9250639382c818915060240160006040518083038186803b158015612f3857600080fd5b505af4158015612f4c573d6000803e3d6000fd5b5050825460ff60401b1916835550506040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b600073__$e74cba849739aecfa9bf3b6281c0831878$__63abc517fd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b600080516020615ccb833981519152613001816144dd565b60405163358e7d9760e21b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063d639f65c90611071908590600401615413565b600080516020615ccb833981519152613050816144dd565b604051634784a11360e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90634784a11390611071908590600401615413565b600073__$36f22459ee3e33aa9c0be04d35fbeab80d$__63bb7de6d46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610f00573d6000803e3d6000fd5b6000600080516020615cab8339815191526130ec816144dd565b6000339050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865af415801561313c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131609190615456565b905080156131e45761317181612190565b156131e45760405162461bcd60e51b815260206004820152603f60248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20746865726560448201527f2063616e206265206f6e6c79206f6e6520726f756e64207065722074696d6500606482015260840161153c565b60008111801561326557506040516333727c4d60e01b81526004810182905273__$70f75f99fe6661499ece4b8956af59cd6c$__906333727c4d90602401602060405180830381865af415801561323f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613263919061565d565b155b156132f75773__$70f75f99fe6661499ece4b8956af59cd6c$__6309d3c59b8261328e846114a1565b600281111561329f5761329f61514c565b6132a885612190565b6040518463ffffffff1660e01b81526004016132c693929190615678565b60006040518083038186803b1580156132de57600080fd5b505af41580156132f2573d6000803e3d6000fd5b505050505b6000613301614627565b546040805163c04cff1960e01b815290516001600160a01b039092169163c04cff19916004808201926000929091908290030181865afa158015613349573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133719190810190615749565b9050600073__$95674d662a270791c819f82956386ae379$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156133be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e29190615498565b9050600073__$e74cba849739aecfa9bf3b6281c0831878$__6302a251a36040518163ffffffff1660e01b8152600401602060405180830381865af415801561342f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134539190615456565b9050600073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__637ad59a23878585886040518563ffffffff1660e01b81526004016134949493929190615991565b602060405180830381865af41580156134b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134d59190615456565b604051633ed9b0ff60e11b81526004810182905290915073__$36f22459ee3e33aa9c0be04d35fbeab80d$__90637db361fe9060240160006040518083038186803b15801561352357600080fd5b505af4158015613537573d6000803e3d6000fd5b505060405163059e952b60e01b81526000925073__$24ed9c895b3ab1d429967676414af5d94a$__915063059e952b906135759087906004016153d2565b602060405180830381865af4158015613592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135b6919061546f565b905060006135c2614627565b600601546001600160a01b031690506000811561364b57604051630a5515e360e01b81526001600160a01b03831690630a5515e3906136059089906004016153d2565b602060405180830381865afa158015613622573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613646919061546f565b61364e565b60005b905060006136686001600160d01b038084169086166159e5565b905060606000613676614627565b600401546001600160a01b03169050801580159061369d57506000846001600160d01b0316115b1561370b57806001600160a01b0316635584c4f96040518163ffffffff1660e01b8152600401600060405180830381865afa1580156136e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137089190810190615749565b91505b600083118061371b575060008251115b156137a157600061372a614627565b6005015460405163bfaabf3160e01b81526001600160a01b039091169150819063bfaabf319061376d908b9088906001600160d01b038b169089906004016159f8565b600060405180830381600087803b15801561378757600080fd5b505af115801561379b573d6000803e3d6000fd5b50505050505b50949b50505050505050505050505090565b6137c6816137c16000614925565b614948565b5060006137d1614627565b600601546001600160a01b0316905060006137eb83614124565b90506000826001600160a01b03166318be49d986846040518363ffffffff1660e01b815260040161381d9291906157c8565b602060405180830381865afa15801561383a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061385e91906157e1565b90506001600160a01b0381166138895784604051630d1c9abb60e31b815260040161153c9190615413565b613893848661485d565b156138b5578484604051630a90bd6360e11b815260040161153c9291906157c8565b60006138bf614627565b600501546001600160a01b031690506138d782614987565b156139dc57604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f6906139159088908a9060040161577d565b60006040518083038186803b15801561392d57600080fd5b505af4158015613941573d6000803e3d6000fd5b5050604051637b8fee0b60e11b81526001600160a01b038416925063f71fdc1691506139739088908a9060040161577d565b600060405180830381600087803b15801561398d57600080fd5b505af11580156139a1573d6000803e3d6000fd5b5050505084826001600160a01b0316876001600160a01b0316600080516020615c2b83398151915260405160405180910390a4505050505050565b604051630e53e11560e21b81526001600160a01b0385169063394f845490613a0a90859089906004016157c8565b602060405180830381865afa158015613a27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a4b919061565d565b613a9157613a58856149df565b604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f6906139159088908a9060040161577d565b6000613a9b614627565b600301546001600160a01b031663d0ebb0ee88613ab787614807565b6040518363ffffffff1660e01b8152600401613ad49291906156bf565b600060405180830381865afa158015613af1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613b19919081019061589a565b50905080613c2257604051633757d2fb60e11b815273__$04e71bdb39671a9b319808db351dce05d3$__90636eafa5f690613b5a9089908b9060040161577d565b60006040518083038186803b158015613b7257600080fd5b505af4158015613b86573d6000803e3d6000fd5b5050604051637b8fee0b60e11b81526001600160a01b038516925063f71fdc169150613bb89089908b9060040161577d565b600060405180830381600087803b158015613bd257600080fd5b505af1158015613be6573d6000803e3d6000fd5b5050505085836001600160a01b0316886001600160a01b0316600080516020615c2b83398151915260405160405180910390a450505050505050565b613c2c86886148a7565b600080866001600160a01b031663f232dd60868a6040518363ffffffff1660e01b8152600401613c5d9291906157c8565b600060405180830381865afa158015613c7a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613ca29190810190615a1d565b915091506000876001600160a01b031663c61c06e78b896040518363ffffffff1660e01b8152600401613cd69291906157c8565b602060405180830381865afa158015613cf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d179190615456565b90506000886001600160a01b031663e1f1c4a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d7d9190615456565b9050600083516001600160401b03811115613d9a57613d9a614ff0565b604051908082528060200260200182016040528015613dc3578160200160208202803683370190505b5090506000805b8551811015613e5a5783868281518110613de657613de6615a76565b602002602001015186613df99190615a8c565b613e039190615aa3565b838281518110613e1557613e15615a76565b602002602001018181525050828181518110613e3357613e33615a76565b602002602001015182613e4691906159e5565b915080613e5281615ac5565b915050613dca565b508381108015613e6b575060008251115b15613ea557613e7a8185615ade565b82600081518110613e8d57613e8d615a76565b60200260200101818151613ea191906159e5565b9052505b73__$04e71bdb39671a9b319808db351dce05d3$__636eafa5f68d8f6040518363ffffffff1660e01b8152600401613ede92919061577d565b60006040518083038186803b158015613ef657600080fd5b505af4158015613f0a573d6000803e3d6000fd5b50505050613f1d8d8d8885886000614af2565b6001600160a01b038816636cf88e73338f8f60006040518563ffffffff1660e01b8152600401613f509493929190615af1565b600060405180830381600087803b158015613f6a57600080fd5b505af1158015613f7e573d6000803e3d6000fd5b505050508b896001600160a01b03168e6001600160a01b03167f28e698009c3f75a566409d95005b1906bbae152060ccf899a822777dd147950c8986604051613fc8929190615b2f565b60405180910390a450505050505050505050505050565b604051630bed730160e41b815260009073__$04e71bdb39671a9b319808db351dce05d3$__9063bed73010906118b190869086906004016156e0565b600080516020615ccb833981519152614033816144dd565b604051637d4b948360e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__90637d4b948390611071908590600401615413565b6000806000614077614627565b600301546001600160a01b031663d0ebb0ee85614095611ae7611c43565b6040518363ffffffff1660e01b81526004016140b29291906156bf565b600060405180830381865afa1580156140cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140f7919081019061589a565b915091508161411d5783816040516344c4534960e01b815260040161153c929190615b54565b5092915050565b6040516368377f6d60e11b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d06efeda906024016110dc565b60405163d3a368bd60e01b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d3a368bd906024016110dc565b600073__$04e71bdb39671a9b319808db351dce05d3$__63754ba25d836141c3610e6586614124565b6040518363ffffffff1660e01b81526004016112c29291906156e0565b6141e982611193565b6141f2816144dd565b61124a83836145af565b6000614206614627565b546001600160a01b031663d2570b948461421f85614124565b6040518363ffffffff1660e01b815260040161423c9291906156e0565b602060405180830381865afa158015611476573d6000803e3d6000fd5b6000614263614627565b600601546001600160a01b0316919050565b600080516020615c4b83398151915261428d816144dd565b73__$e74cba849739aecfa9bf3b6281c0831878$__630ff235a9836142b0614627565b60010160009054906101000a90046001600160a01b03166001600160a01b0316635bec4cb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015614304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143289190615456565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401611071565b604051633ae4067560e21b815260009073__$95674d662a270791c819f82956386ae379$__9063eb9019d4906118b190869086906004016157c8565b600080516020615ccb8339815191526143ab816144dd565b60405163ce396b1f60e01b815273__$bf28f2fe6ea34a72b5bcc07a968e709e76$__9063ce396b1f90611071908590600401615413565b600080516020615c4b8339815191526143fa816144dd565b604051637afd709b60e11b81526004810183905273__$36f22459ee3e33aa9c0be04d35fbeab80d$__9063f5fae13690602401611071565b604051637c672b0560e11b81526004810182905260009073__$e7d0f1dc0c8caff7791d9dd32970050ea7$__9063f8ce560a906024016110dc565b60405163fb03ec6f60e01b81526004810182905260009073__$04e71bdb39671a9b319808db351dce05d3$__9063fb03ec6f906024016110dc565b60006001600160e01b03198216637965db0b60e01b1480610eaf57506301ffc9a760e01b6001600160e01b0319831614610eaf565b6144e78133614c3c565b50565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b6000806145196144ea565b905061452584846124a5565b6145a5576000848152602082815260408083206001600160a01b03871684529091529020805460ff1916600117905561455b3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610eaf565b6000915050610eaf565b6000806145ba6144ea565b90506145c684846124a5565b156145a5576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610eaf565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806146d257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166146c6600080516020615c8b833981519152546001600160a01b031690565b6001600160a01b031614155b156146f05760405163703e46dd60e11b815260040160405180910390fd5b565b600080516020615c6b83398151915261198c816144dd565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015614764575060408051601f3d908101601f1916820190925261476191810190615456565b60015b6147835781604051634c9c8ce360e01b815260040161153c9190615413565b600080516020615c8b83398151915281146147b457604051632a87526960e21b81526004810182905260240161153c565b6113c58383614c67565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146146f05760405163703e46dd60e11b815260040160405180910390fd5b600065ffffffffffff82111561483a576040516306dfcc6560e41b8152603060048201526024810183905260440161153c565b5090565b600061484d86610dc187614124565b905061109d868686868587614af2565b60009182527fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d505602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6148af614627565b600501546001600160a01b031663e5ed920b8383336040516001600160e01b031960e086901b16815260048101939093526001600160a01b03918216602484015216604482015260640160006040518083038186803b15801561491157600080fd5b505afa15801561109d573d6000803e3d6000fd5b60008160028111156149395761493961514c565b600160ff919091161b92915050565b600080614954846114a1565b905060008361496283614925565b160361149a578381846040516321b2b5ab60e11b815260040161153c93929190615b78565b6000614991614627565b6006015460405163506b90db60e11b81526001600160a01b039091169063a0d721b6906149c2908590600401615413565b602060405180830381865afa1580156112df573d6000803e3d6000fd5b60405163d3a368bd60e01b81526004810182905260009073__$ee22ebed0dbdcceb519aa1d808f0526e6a$__9063d3a368bd90602401602060405180830381865af4158015614a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a569190615456565b90508073__$e74cba849739aecfa9bf3b6281c0831878$__63abc517fd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015614aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614ac69190615456565b614ad090436159e5565b101561198c5760405163474a8edb60e11b81526004810183905260240161153c565b614b00856137c16000614925565b5073__$04e71bdb39671a9b319808db351dce05d3$__63cdc6ac0c8688878787614b298c614124565b6040518763ffffffff1660e01b8152600401614b4a96959493929190615b9a565b60006040518083038186803b158015614b6257600080fd5b505af4158015614b76573d6000803e3d6000fd5b50505050801561109d57614b88614627565b600501546001600160a01b0316636cf88e7333888860006040518563ffffffff1660e01b8152600401614bbe9493929190615af1565b600060405180830381600087803b158015614bd857600080fd5b505af1158015614bec573d6000803e3d6000fd5b5050505084866001600160a01b03167f64dbcb1d23926d04f2fea8c7cc3f5d02846ee1e48940419cf422f69ae35813aa8686604051614c2c929190615b2f565b60405180910390a3505050505050565b614c4682826124a5565b61198c57808260405163e2517d3f60e01b815260040161153c9291906157c8565b614c7082614cbd565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115614cb5576113c58282614d19565b61198c614d8f565b806001600160a01b03163b600003614cea5780604051634c9c8ce360e01b815260040161153c9190615413565b600080516020615c8b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051614d369190615c0e565b600060405180830381855af49150503d8060008114614d71576040519150601f19603f3d011682016040523d82523d6000602084013e614d76565b606091505b5091509150614d86858383614dae565b95945050505050565b34156146f05760405163b398979f60e01b815260040160405180910390fd5b606082614dc357614dbe82614e01565b61149a565b8151158015614dda57506001600160a01b0384163b155b15614dfa5783604051639996b31560e01b815260040161153c9190615413565b508061149a565b805115614e115780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b600060208284031215614e3c57600080fd5b81356001600160e01b03198116811461149a57600080fd5b65ffffffffffff811681146144e757600080fd5b600060208284031215614e7a57600080fd5b813561149a81614e54565b600060208284031215614e9757600080fd5b5035919050565b60005b83811015614eb9578181015183820152602001614ea1565b50506000910152565b60008151808452614eda816020860160208601614e9e565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614f9d57888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614f5682870182614ec2565b91505060608083015186830382880152614f708382614ec2565b6080858101519089015260a094850151151594909701939093525050509386019390860190600101614f15565b509098975050505050505050565b6001600160a01b03811681146144e757600080fd5b60008060408385031215614fd357600080fd5b823591506020830135614fe581614fab565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561502857615028614ff0565b60405290565b604051601f8201601f191681016001600160401b038111828210171561505657615056614ff0565b604052919050565b60006001600160401b0382111561507757615077614ff0565b5060051b60200190565b600082601f83011261509257600080fd5b813560206150a76150a28361505e565b61502e565b82815260059290921b840181019181810190868411156150c657600080fd5b8286015b848110156150e157803583529183019183016150ca565b509695505050505050565b6000602082840312156150fe57600080fd5b81356001600160401b0381111561511457600080fd5b6117f684828501615081565b6000806040838503121561513357600080fd5b823561513e81614fab565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b600381106151725761517261514c565b9052565b60208101610eaf8284615162565b60006020828403121561519657600080fd5b813561149a81614fab565b600081518084526020808501945080840160005b838110156151d1578151875295820195908201906001016151b5565b509495945050505050565b60208152600061149a60208301846151a1565b60008060006060848603121561520457600080fd5b83359250602084013561521681614fab565b929592945050506040919091013590565b6000806040838503121561523a57600080fd5b50508035926020909101359150565b60208152600061149a6020830184614ec2565b60006001600160401b0382111561527557615275614ff0565b50601f01601f191660200190565b6000806040838503121561529657600080fd5b82356152a181614fab565b915060208301356001600160401b038111156152bc57600080fd5b8301601f810185136152cd57600080fd5b80356152db6150a28261525c565b8181528660208385010111156152f057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008060006060848603121561532557600080fd5b833592506020808501356001600160401b038082111561534457600080fd5b61535088838901615081565b9450604087013591508082111561536657600080fd5b508501601f8101871361537857600080fd5b80356153866150a28261505e565b81815260059190911b820183019083810190898311156153a557600080fd5b928401925b828410156153c3578335825292840192908401906153aa565b80955050505050509250925092565b65ffffffffffff91909116815260200190565b600080604083850312156153f857600080fd5b823561540381614fab565b91506020830135614fe581614e54565b6001600160a01b0391909116815260200190565b63ffffffff811681146144e757600080fd5b60006020828403121561544b57600080fd5b813561149a81615427565b60006020828403121561546857600080fd5b5051919050565b60006020828403121561548157600080fd5b81516001600160d01b038116811461149a57600080fd5b6000602082840312156154aa57600080fd5b815161149a81614e54565b80516154c081614fab565b919050565b600082601f8301126154d657600080fd5b81516154e46150a28261525c565b8181528460208386010111156154f957600080fd5b6117f6826020830160208701614e9e565b805180151581146154c057600080fd5b6000602080838503121561552d57600080fd5b82516001600160401b038082111561554457600080fd5b818501915085601f83011261555857600080fd5b81516155666150a28261505e565b81815260059190911b8301840190848101908883111561558557600080fd5b8585015b83811015615650578051858111156155a057600080fd5b860160c0818c03601f190112156155b75760008081fd5b6155bf615006565b88820151815260406155d28184016154b5565b8a830152606080840151898111156155ea5760008081fd5b6155f88f8d838801016154c5565b83850152506080915081840151898111156156135760008081fd5b6156218f8d838801016154c5565b82850152505060a0808401518284015261563d60c0850161550a565b9083015250845250918601918601615589565b5098975050505050505050565b60006020828403121561566f57600080fd5b61149a8261550a565b92835260ff9190911660208301521515604082015260600190565b6001600160a01b03848116825283166020820152606060408201819052600090614d86908301846151a1565b6001600160a01b0392909216825265ffffffffffff16602082015260400190565b918252602082015260400190565b600082601f8301126156ff57600080fd5b8151602061570f6150a28361505e565b82815260059290921b8401810191818101908684111561572e57600080fd5b8286015b848110156150e15780518352918301918301615732565b60006020828403121561575b57600080fd5b81516001600160401b0381111561577157600080fd5b6117f6848285016156ee565b9182526001600160a01b0316602082015260400190565b6000602082840312156157a657600080fd5b81516001600160401b038111156157bc57600080fd5b6117f6848285016154c5565b6001600160a01b03929092168252602082015260400190565b6000602082840312156157f357600080fd5b815161149a81614fab565b6001600160a01b03938416815291909216602082015265ffffffffffff909116604082015260600190565b60006060828403121561583b57600080fd5b604051606081016001600160401b038111828210171561585d5761585d614ff0565b604052825161586b81614fab565b8152602083015161587b81614e54565b6020820152604083015161588e81615427565b60408201529392505050565b600080604083850312156158ad57600080fd5b6158b68361550a565b60208401519092506001600160401b038111156158d257600080fd5b6158de858286016154c5565b9150509250929050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061591b908301846151a1565b9695505050505050565b60008060006060848603121561593a57600080fd5b83516001600160401b038082111561595157600080fd5b61595d878388016156ee565b9450602086015191508082111561597357600080fd5b50615980868287016156ee565b925050604084015190509250925092565b6001600160a01b038516815265ffffffffffff8416602082015263ffffffff8316604082015260806060820181905260009061591b908301846151a1565b634e487b7160e01b600052601160045260246000fd5b80820180821115610eaf57610eaf6159cf565b84815283602082015282604082015260806060820152600061591b60808301846151a1565b60008060408385031215615a3057600080fd5b82516001600160401b0380821115615a4757600080fd5b615a53868387016156ee565b93506020850151915080821115615a6957600080fd5b506158de858286016156ee565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610eaf57610eaf6159cf565b600082615ac057634e487b7160e01b600052601260045260246000fd5b500490565b600060018201615ad757615ad76159cf565b5060010190565b81810381811115610eaf57610eaf6159cf565b6001600160a01b03858116825284166020820152604081018390526080810160028310615b2057615b2061514c565b82606083015295945050505050565b604081526000615b4260408301856151a1565b8281036020840152614d8681856151a1565b6001600160a01b03831681526040602082018190526000906117f690830184614ec2565b83815260608101615b8c6020830185615162565b826040830152949350505050565b8681526000602060018060a01b0388168184015260c06040840152615bc260c08401886151a1565b838103606085015286518082528288019183019060005b81811015615bf557835183529284019291840191600101615bd9565b5050608085019690965250505060a00152949350505050565b60008251615c20818460208701614e9e565b919091019291505056fe8e8addaac431662b768d45375ef48133b8bad0daad5ce4096fd41007e8d31a8771840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b53661063988f1ad36e0a49d4d9a6a3106652aaeed2be542c8691d5f5fd168b56af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7a264697066735822122039d2a325e8cafd5bd55c11631394c0223daef90ad873d7bb6c432af04b6967a564736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3C5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x3CA JUMPI DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x3FF JUMPI DUP1 PUSH4 0x59E952B EQ PUSH2 0x422 JUMPI DUP1 PUSH4 0x6F3F9E6 EQ PUSH2 0x45A JUMPI DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x47C JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0x49C JUMPI DUP1 PUSH4 0x19E6E158 EQ PUSH2 0x4BC JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x4DC JUMPI DUP1 PUSH4 0x291605F7 EQ PUSH2 0x4FC JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x529 JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x549 JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0x3469F6E2 EQ PUSH2 0x589 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x5A9 JUMPI DUP1 PUSH4 0x3B395CBE EQ PUSH2 0x5C9 JUMPI DUP1 PUSH4 0x3D4FD3C7 EQ PUSH2 0x5E9 JUMPI DUP1 PUSH4 0x3E4F49E6 EQ PUSH2 0x609 JUMPI DUP1 PUSH4 0x412CAF0B EQ PUSH2 0x636 JUMPI DUP1 PUSH4 0x42707A43 EQ PUSH2 0x663 JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x683 JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x6A3 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x6C3 JUMPI DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x6E3 JUMPI DUP1 PUSH4 0x4CADAD2F EQ PUSH2 0x705 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x725 JUMPI DUP1 PUSH4 0x4FA76EC9 EQ PUSH2 0x738 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x74D JUMPI DUP1 PUSH4 0x53ED6399 EQ PUSH2 0x762 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x782 JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0x7AD JUMPI DUP1 PUSH4 0x57181609 EQ PUSH2 0x7C2 JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x7E2 JUMPI DUP1 PUSH4 0x59529EDD EQ PUSH2 0x7F7 JUMPI DUP1 PUSH4 0x5DBDBA6E EQ PUSH2 0x817 JUMPI DUP1 PUSH4 0x5FB26367 EQ PUSH2 0x837 JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x857 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x877 JUMPI DUP1 PUSH4 0x673FC724 EQ PUSH2 0x88C JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0x8AC JUMPI DUP1 PUSH4 0x78A81336 EQ PUSH2 0x8CC JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x8EC JUMPI DUP1 PUSH4 0x802D2709 EQ PUSH2 0x90C JUMPI DUP1 PUSH4 0x82AFD23B EQ PUSH2 0x92C JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x94C JUMPI DUP1 PUSH4 0x8A829EDA EQ PUSH2 0x96C JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0x98C JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0x9A1 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x9FA JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0xA1A JUMPI DUP1 PUSH4 0x9382C818 EQ PUSH2 0xA3C JUMPI DUP1 PUSH4 0x952F2133 EQ PUSH2 0xA5C JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xA7E JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0xA93 JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0xAB3 JUMPI DUP1 PUSH4 0xA022756B EQ PUSH2 0xAC8 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0xADD JUMPI DUP1 PUSH4 0xA461A94D EQ PUSH2 0xAF2 JUMPI DUP1 PUSH4 0xA56B5765 EQ PUSH2 0xB12 JUMPI DUP1 PUSH4 0xA5AE08E9 EQ PUSH2 0xB32 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x738 JUMPI DUP1 PUSH4 0xAA863286 EQ PUSH2 0xB52 JUMPI DUP1 PUSH4 0xABC517FD EQ PUSH2 0xB72 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xB87 JUMPI DUP1 PUSH4 0xB25D6F62 EQ PUSH2 0xBB8 JUMPI DUP1 PUSH4 0xB3C93DAB EQ PUSH2 0xBD8 JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xBF8 JUMPI DUP1 PUSH4 0xBD85948C EQ PUSH2 0xC0D JUMPI DUP1 PUSH4 0xBE2A9F8F EQ PUSH2 0xC22 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0xC42 JUMPI DUP1 PUSH4 0xC048F6C9 EQ PUSH2 0xC62 JUMPI DUP1 PUSH4 0xCD669A72 EQ PUSH2 0xC82 JUMPI DUP1 PUSH4 0xCFEA80ED EQ PUSH2 0xCA4 JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0xCC4 JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0xCE4 JUMPI DUP1 PUSH4 0xD4A8DD98 EQ PUSH2 0xD04 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0xD24 JUMPI DUP1 PUSH4 0xD68B4C36 EQ PUSH2 0xD44 JUMPI DUP1 PUSH4 0xE125F74E EQ PUSH2 0xD64 JUMPI DUP1 PUSH4 0xE540D01D EQ PUSH2 0xD86 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xDA6 JUMPI DUP1 PUSH4 0xF36C8F5C EQ PUSH2 0xDC6 JUMPI DUP1 PUSH4 0xF530108F EQ PUSH2 0xDE8 JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0xE08 JUMPI DUP1 PUSH4 0xF72C0D8B EQ PUSH2 0xE28 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xE4A JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0xE6A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x3E5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E2A JUMP JUMPDEST PUSH2 0xE8A JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xEB5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x442 PUSH2 0x43D CALLDATASIZE PUSH1 0x4 PUSH2 0x4E68 JUMP JUMPDEST PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x475 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0xFA4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x497 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x10A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x111D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1158 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x4F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1193 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x508 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x51C PUSH2 0x517 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x11B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x4EEE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x535 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x544 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x122E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x564 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1250 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x584 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x128B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x595 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1303 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x1392 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x5E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x50EC JUMP JUMPDEST PUSH2 0x13CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x604 CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x1416 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x615 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x629 PUSH2 0x624 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x14A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5176 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x642 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x656 PUSH2 0x651 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x16EA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x51DC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x67E CALLDATASIZE PUSH1 0x4 PUSH2 0x51EF JUMP JUMPDEST PUSH2 0x1769 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x68F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x69E CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x17FE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x6BE CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x183A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x6DE CALLDATASIZE PUSH1 0x4 PUSH2 0x5227 JUMP JUMPDEST PUSH2 0x1875 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F8 PUSH2 0x18F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5249 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x711 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x720 CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x1965 JUMP JUMPDEST PUSH2 0x47A PUSH2 0x733 CALLDATASIZE PUSH1 0x4 PUSH2 0x5283 JUMP JUMPDEST PUSH2 0x1971 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x744 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1990 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x759 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x19DB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x76E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x77D CALLDATASIZE PUSH1 0x4 PUSH2 0x5310 JUMP JUMPDEST PUSH2 0x19F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x78E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH2 0x313 PUSH1 0xF4 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x6F8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1C43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x7DD CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x1C8E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1CDD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x803 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x812 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1D28 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x823 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x832 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x1D36 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x843 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x852 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x1D85 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x863 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x872 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x1E44 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x883 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x1E7F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x898 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x1ECA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x207C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x8E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x20CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x656 PUSH2 0x907 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x211B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x918 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x927 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x938 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0x947 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x2190 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x958 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x967 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x21B4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x978 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0x987 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x2204 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x998 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x23CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C1 PUSH2 0x9BC CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x2418 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x3F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xA15 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x24A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA2F PUSH2 0x24DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x53D2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xA57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x254A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x259A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xAAE CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x25E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xABF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x261F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x442 PUSH2 0x266A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xB0D CALLDATASIZE PUSH1 0x4 PUSH2 0x53E5 JUMP JUMPDEST PUSH2 0x276E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xB2D CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x27AA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB3E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xB4D CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x2804 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xB6D CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x2D7C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x2F9E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6F8 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xBD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x2FE9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xBF3 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x3038 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x3087 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0x30D2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xC3D CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x37B3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xC5D CALLDATASIZE PUSH1 0x4 PUSH2 0x5227 JUMP JUMPDEST PUSH2 0x3FDF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xC7D CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x401B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCB0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xCBF CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x406A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xCDF CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x4124 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xCFF CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x415F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xD1F CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x419A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xD3F CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC0 JUMP JUMPDEST PUSH2 0x41E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EA PUSH2 0xD5F CALLDATASIZE PUSH1 0x4 PUSH2 0x5227 JUMP JUMPDEST PUSH2 0x41FC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD79 PUSH2 0x4259 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xDA1 CALLDATASIZE PUSH1 0x4 PUSH2 0x5439 JUMP JUMPDEST PUSH2 0x4275 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xDC1 CALLDATASIZE PUSH1 0x4 PUSH2 0x5120 JUMP JUMPDEST PUSH2 0x4357 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xE03 CALLDATASIZE PUSH1 0x4 PUSH2 0x5184 JUMP JUMPDEST PUSH2 0x4393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xE23 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x43E2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xE65 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x4432 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x414 PUSH2 0xE85 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E85 JUMP JUMPDEST PUSH2 0x446D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x9DA99B3F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xEAF JUMPI POP PUSH2 0xEAF DUP3 PUSH2 0x44A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF24 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x59E952B SWAP1 PUSH2 0xF63 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x53D2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF80 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAF SWAP2 SWAP1 PUSH2 0x546F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0xFBC DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xBD88FE32 DUP4 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1020 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1044 SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x109D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA0E74EF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xA0E74EF SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x10F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAF SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xECA87FB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xECA87FB SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x33CDC2B PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x19E6E158 SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x119E PUSH2 0x44EA JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x291605F7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x291605F7 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1206 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xEAF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x551A JUMP JUMPDEST PUSH2 0x1237 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH2 0x1240 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH2 0x124A DUP4 DUP4 PUSH2 0x450E JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x30097377 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x30097377 SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x33727C4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x33727C4D SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x12DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAF SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9D3C59B DUP3 PUSH2 0x1327 DUP5 PUSH2 0x14A1 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1338 JUMPI PUSH2 0x1338 PUSH2 0x514C JUMP JUMPDEST PUSH2 0x1341 DUP6 PUSH2 0x2190 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135F SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5678 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1377 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x138B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x13BB JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x13C5 DUP3 DUP3 PUSH2 0x45AF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0x64299881 PUSH2 0x13EC PUSH2 0x4627 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135F SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5693 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x1F59DFD7 DUP5 PUSH2 0x143C DUP6 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1459 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1476 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x149A SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x14F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x151A SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 SUB PUSH2 0x1545 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33B4E31B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1590 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF AND SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0xD3A368BD DUP7 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15F9 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1616 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x163A SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT PUSH2 0x164E JUMPI POP PUSH1 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0xADF86523 DUP7 PUSH2 0x1672 DUP7 PUSH2 0x4432 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x168F SWAP3 SWAP2 SWAP1 PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x16AC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16D0 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST PUSH2 0x16DF JUMPI POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST POP PUSH1 0x2 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x412CAF0B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x412CAF0B SWAP1 PUSH2 0x1724 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1741 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xEAF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5749 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x42707A43 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x42707A43 SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x17D2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17F6 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x21C2CB19 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x43859632 SWAP1 PUSH2 0x1459 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x498D91BF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x498D91BF SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x25DA8C0D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x4BB5181A SWAP1 PUSH2 0x18B1 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x18CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x149A SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x60 PUSH20 0x0 PUSH4 0x4BF5D7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x193D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF24 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5794 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x149A DUP4 DUP4 PUSH2 0x4357 JUMP JUMPDEST PUSH2 0x1979 PUSH2 0x464B JUMP JUMPDEST PUSH2 0x1982 DUP3 PUSH2 0x46F2 JUMP JUMPDEST PUSH2 0x198C DUP3 DUP3 PUSH2 0x470A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xA7713A70 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19E5 PUSH2 0x47BE JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0x1A6D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206170707320 PUSH1 0x44 DUP3 ADD MSTORE PUSH27 0xC2DCC840EECAD2CED0E8E640D8CADCCEE8D040DAD2E6DAC2E8C6D PUSH1 0x2B SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x1AD5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A206E6F206170 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x3839903A37903B37BA32903337B9 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST ADDRESS PUSH4 0xA461A94D CALLER PUSH2 0x1AEC PUSH2 0x1AE7 PUSH2 0x1C43 JUMP JUMPDEST PUSH2 0x4807 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B09 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B26 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B4A SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x1B6A JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x5B27ABD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B74 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO PUSH2 0x1C2B JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH4 0x18BE49D9 CALLER PUSH2 0x1BA4 DUP9 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BC1 SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1BDE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C02 SWAP2 SWAP1 PUSH2 0x57E1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1C2B JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH2 0x1C34 CALLER PUSH2 0x406A JUMP JUMPDEST POP PUSH2 0x124A CALLER DUP6 DUP6 DUP6 PUSH1 0x0 PUSH2 0x483E JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1CA6 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2B9F45B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x2B9F45B7 SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x59372812 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEAF PUSH2 0xE65 DUP4 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x1D4E DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE0BEA3B PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x382FA8EC SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D90 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DE4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E08 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F59DFD7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x1F59DFD7 SWAP1 PUSH2 0x1459 SWAP1 DUP7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x60C4247F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x60C4247F SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x62827733 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1ED4 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x1EFA JUMPI POP CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ JUMPDEST PUSH2 0x1F58 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A206E6F74206E6176696761746F72 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x207265676973747279 PUSH1 0xB8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x1F8F SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1FAC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FD0 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x198C JUMPI PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP5 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x203A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x205E SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1071 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x57FE JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2094 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x74038935 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x74038935 SWAP1 PUSH1 0x24 ADD PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x20E4 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x32EA3F73 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x65D47EE6 SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7ACE2485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x7ACE2485 SWAP1 PUSH1 0x24 ADD PUSH2 0x1724 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x12C2 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x219C DUP4 PUSH2 0x14A1 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x21AD JUMPI PUSH2 0x21AD PUSH2 0x514C JUMP JUMPDEST EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x21CC DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x41B3B0F PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x836761E0 SWAP1 PUSH1 0x24 ADD PUSH2 0x1071 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x222F JUMPI CALLER PUSH1 0x40 MLOAD PUSH4 0x65ECE97 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2239 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO PUSH2 0x2368 JUMPI PUSH1 0x40 MLOAD PUSH4 0x53127AD5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xA624F5AA SWAP1 PUSH2 0x227A SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2297 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22BB SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x22DB JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x8523C47F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3E28391D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x3E28391D SWAP1 PUSH2 0x2307 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2324 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2348 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x2368 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x640ED183 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP5 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x203A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x8AB52D4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE DUP2 DUP4 ADD MSTORE SWAP1 MLOAD PUSH4 0x23C4C9F PUSH1 0xE6 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x8F1327C0 SWAP1 PUSH1 0x24 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2481 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xEAF SWAP2 SWAP1 PUSH2 0x5829 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x24B0 PUSH2 0x44EA JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2526 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF24 SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2562 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x12705903 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x9382C818 SWAP1 PUSH1 0x24 ADD PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x97C3D334 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x9AEB962B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x9AEB962B SWAP1 PUSH2 0x12C2 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2675 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC66966B7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x26C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x26ED SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x59E952B SWAP1 PUSH2 0x2727 SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x53D2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2744 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2768 SWAP2 SWAP1 PUSH2 0x546F JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x1F59DFD7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x1F59DFD7 SWAP1 PUSH2 0x1459 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27B4 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x4 SWAP1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xA56B5765 SWAP2 PUSH2 0x27E7 SWAP2 DUP8 SWAP2 DUP8 SWAP2 ADD PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH4 0xA461A94D DUP4 PUSH2 0x2817 PUSH2 0x1AE7 DUP6 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2834 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2851 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2875 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST PUSH2 0x2894 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x2B8B7C89 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH2 0x289E DUP2 DUP4 PUSH2 0x485D JUMP JUMPDEST ISZERO PUSH2 0x28C0 JUMPI DUP2 DUP2 PUSH1 0x40 MLOAD PUSH4 0xA90BD63 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH2 0x28CA DUP2 DUP4 PUSH2 0x48A7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28D4 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP5 PUSH2 0x28F2 PUSH2 0x1AE7 PUSH2 0x1C43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x290F SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x292C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2954 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x589A JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x412CAF0B DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2990 SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x29D5 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5749 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0xEA66E04A ADDRESS DUP10 DUP10 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2A19 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x58E8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2A36 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2A5E SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5925 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP5 ISZERO DUP1 PUSH2 0x2A70 JUMPI POP DUP3 MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x2CFC JUMPI PUSH1 0x40 MLOAD PUSH4 0x29478845 PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x528F108A SWAP1 PUSH2 0x2AAC SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2AC9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AED SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO PUSH2 0x2C38 JUMPI PUSH20 0x0 PUSH4 0x217940A6 ADDRESS DUP10 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2B57 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B7B SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B99 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x57FE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2BB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2BC5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x2BD1 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x73EFF339 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE7DFE672 SWAP1 PUSH2 0x2C05 SWAP1 DUP10 SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x4 ADD PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2C1F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2C33 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x2C71 SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2C89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2C9D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP5 MLOAD PUSH1 0x40 DUP1 MLOAD DUP10 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD DUP5 SWAP1 MSTORE DUP9 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND SWAP2 POP PUSH32 0x55B62C33CA46DF94310E16FC7E52E8ED456D93A5F21B1E7B5B4C2428905DDEBC SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x2D35 SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2D4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2D61 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x2D73 DUP8 DUP8 DUP6 DUP6 PUSH1 0x1 PUSH2 0x483E JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x2D94 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x8 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2DDD JUMPI POP DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 AND LT ISZERO JUMPDEST ISZERO PUSH2 0x2DFB JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x48 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND OR PUSH1 0x1 PUSH1 0x40 SHL OR DUP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2E86 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E673A20696E76616C6964206E61766967 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x61746F72207265676973747279 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x2EBD SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2ED5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2EE9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x12705903 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH20 0x0 SWAP3 POP PUSH4 0x9382C818 SWAP2 POP PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2F38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2F4C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP DUP3 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP4 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 AND DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xABC517FD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x3001 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x358E7D97 PUSH1 0xE2 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xD639F65C SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x3050 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4784A113 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x4784A113 SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBB7DE6D4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xF00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CAB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x30EC DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x9CBE5EFD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x313C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3160 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x31E4 JUMPI PUSH2 0x3171 DUP2 PUSH2 0x2190 JUMP JUMPDEST ISZERO PUSH2 0x31E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A207468657265 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x2063616E206265206F6E6C79206F6E6520726F756E64207065722074696D6500 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x153C JUMP JUMPDEST PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x3265 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x33727C4D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x33727C4D SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x323F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3263 SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x32F7 JUMPI PUSH20 0x0 PUSH4 0x9D3C59B DUP3 PUSH2 0x328E DUP5 PUSH2 0x14A1 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x329F JUMPI PUSH2 0x329F PUSH2 0x514C JUMP JUMPDEST PUSH2 0x32A8 DUP6 PUSH2 0x2190 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x32C6 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5678 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x32DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x32F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x0 PUSH2 0x3301 PUSH2 0x4627 JUMP JUMPDEST SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xC04CFF19 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xC04CFF19 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3349 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3371 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5749 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x91DDADF4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x33BE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x33E2 SWAP2 SWAP1 PUSH2 0x5498 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x2A251A3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x342F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3453 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x0 PUSH4 0x7AD59A23 DUP8 DUP6 DUP6 DUP9 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3494 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5991 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x34B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x34D5 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3ED9B0FF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH20 0x0 SWAP1 PUSH4 0x7DB361FE SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3523 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3537 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x59E952B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 POP PUSH20 0x0 SWAP2 POP PUSH4 0x59E952B SWAP1 PUSH2 0x3575 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x53D2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3592 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x35B6 SWAP2 SWAP1 PUSH2 0x546F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x35C2 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH1 0x0 DUP2 ISZERO PUSH2 0x364B JUMPI PUSH1 0x40 MLOAD PUSH4 0xA5515E3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0xA5515E3 SWAP1 PUSH2 0x3605 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x53D2 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3622 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3646 SWAP2 SWAP1 PUSH2 0x546F JUMP JUMPDEST PUSH2 0x364E JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3668 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP5 AND SWAP1 DUP7 AND PUSH2 0x59E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x60 PUSH1 0x0 PUSH2 0x3676 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x369D JUMPI POP PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND GT JUMPDEST ISZERO PUSH2 0x370B JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5584C4F9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x36E0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3708 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5749 JUMP JUMPDEST SWAP2 POP JUMPDEST PUSH1 0x0 DUP4 GT DUP1 PUSH2 0x371B JUMPI POP PUSH1 0x0 DUP3 MLOAD GT JUMPDEST ISZERO PUSH2 0x37A1 JUMPI PUSH1 0x0 PUSH2 0x372A PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xBFAABF31 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP DUP2 SWAP1 PUSH4 0xBFAABF31 SWAP1 PUSH2 0x376D SWAP1 DUP12 SWAP1 DUP9 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP12 AND SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x59F8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x379B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST POP SWAP5 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH2 0x37C6 DUP2 PUSH2 0x37C1 PUSH1 0x0 PUSH2 0x4925 JUMP JUMPDEST PUSH2 0x4948 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x37D1 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH1 0x0 PUSH2 0x37EB DUP4 PUSH2 0x4124 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x18BE49D9 DUP7 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x381D SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x383A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x385E SWAP2 SWAP1 PUSH2 0x57E1 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3889 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xD1C9ABB PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH2 0x3893 DUP5 DUP7 PUSH2 0x485D JUMP JUMPDEST ISZERO PUSH2 0x38B5 JUMPI DUP5 DUP5 PUSH1 0x40 MLOAD PUSH4 0xA90BD63 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38BF PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP PUSH2 0x38D7 DUP3 PUSH2 0x4987 JUMP JUMPDEST ISZERO PUSH2 0x39DC JUMPI PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x3915 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x392D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3941 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP3 POP PUSH4 0xF71FDC16 SWAP2 POP PUSH2 0x3973 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x398D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x39A1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE53E115 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x394F8454 SWAP1 PUSH2 0x3A0A SWAP1 DUP6 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A27 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A4B SWAP2 SWAP1 PUSH2 0x565D JUMP JUMPDEST PUSH2 0x3A91 JUMPI PUSH2 0x3A58 DUP6 PUSH2 0x49DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x3915 SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A9B PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP9 PUSH2 0x3AB7 DUP8 PUSH2 0x4807 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3AD4 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3AF1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3B19 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x589A JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH2 0x3C22 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3757D2FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x6EAFA5F6 SWAP1 PUSH2 0x3B5A SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3B72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3B86 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x7B8FEE0B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP3 POP PUSH4 0xF71FDC16 SWAP2 POP PUSH2 0x3BB8 SWAP1 DUP10 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3BD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BE6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP6 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C2B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x3C2C DUP7 DUP9 PUSH2 0x48A7 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF232DD60 DUP7 DUP11 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3C5D SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3C7A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3CA2 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5A1D JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC61C06E7 DUP12 DUP10 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CD6 SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3CF3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3D17 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE1F1C4A7 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3D59 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3D7D SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3D9A JUMPI PUSH2 0x3D9A PUSH2 0x4FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3DC3 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x3E5A JUMPI DUP4 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3DE6 JUMPI PUSH2 0x3DE6 PUSH2 0x5A76 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH2 0x3DF9 SWAP2 SWAP1 PUSH2 0x5A8C JUMP JUMPDEST PUSH2 0x3E03 SWAP2 SWAP1 PUSH2 0x5AA3 JUMP JUMPDEST DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3E15 JUMPI PUSH2 0x3E15 PUSH2 0x5A76 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3E33 JUMPI PUSH2 0x3E33 PUSH2 0x5A76 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 PUSH2 0x3E46 SWAP2 SWAP1 PUSH2 0x59E5 JUMP JUMPDEST SWAP2 POP DUP1 PUSH2 0x3E52 DUP2 PUSH2 0x5AC5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3DCA JUMP JUMPDEST POP DUP4 DUP2 LT DUP1 ISZERO PUSH2 0x3E6B JUMPI POP PUSH1 0x0 DUP3 MLOAD GT JUMPDEST ISZERO PUSH2 0x3EA5 JUMPI PUSH2 0x3E7A DUP2 DUP6 PUSH2 0x5ADE JUMP JUMPDEST DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x3E8D JUMPI PUSH2 0x3E8D PUSH2 0x5A76 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH2 0x3EA1 SWAP2 SWAP1 PUSH2 0x59E5 JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST PUSH20 0x0 PUSH4 0x6EAFA5F6 DUP14 DUP16 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3EDE SWAP3 SWAP2 SWAP1 PUSH2 0x577D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3EF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3F0A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x3F1D DUP14 DUP14 DUP9 DUP6 DUP9 PUSH1 0x0 PUSH2 0x4AF2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH4 0x6CF88E73 CALLER DUP16 DUP16 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3F50 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5AF1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3F6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3F7E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP12 DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x28E698009C3F75A566409D95005B1906BBAE152060CCF899A822777DD147950C DUP10 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3FC8 SWAP3 SWAP2 SWAP1 PUSH2 0x5B2F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBED7301 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xBED73010 SWAP1 PUSH2 0x18B1 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x4033 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7D4B9483 PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0x7D4B9483 SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x4077 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0EBB0EE DUP6 PUSH2 0x4095 PUSH2 0x1AE7 PUSH2 0x1C43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x40B2 SWAP3 SWAP2 SWAP1 PUSH2 0x56BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x40CF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x40F7 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x589A JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH2 0x411D JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH4 0x44C45349 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP3 SWAP2 SWAP1 PUSH2 0x5B54 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x68377F6D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD06EFEDA SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x754BA25D DUP4 PUSH2 0x41C3 PUSH2 0xE65 DUP7 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C2 SWAP3 SWAP2 SWAP1 PUSH2 0x56E0 JUMP JUMPDEST PUSH2 0x41E9 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH2 0x41F2 DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH2 0x124A DUP4 DUP4 PUSH2 0x45AF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4206 PUSH2 0x4627 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD2570B94 DUP5 PUSH2 0x421F DUP6 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x423C SWAP3 SWAP2 SWAP1 PUSH2 0x56E0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1476 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x4263 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x428D DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xFF235A9 DUP4 PUSH2 0x42B0 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5BEC4CB4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4304 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4328 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH4 0xFFFFFFFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3AE40675 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xEB9019D4 SWAP1 PUSH2 0x18B1 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x57C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5CCB DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x43AB DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xCE396B1F PUSH1 0xE0 SHL DUP2 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xCE396B1F SWAP1 PUSH2 0x1071 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C4B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x43FA DUP2 PUSH2 0x44DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7AFD709B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH20 0x0 SWAP1 PUSH4 0xF5FAE136 SWAP1 PUSH1 0x24 ADD PUSH2 0x1071 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x7C672B05 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xF8CE560A SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xFB03EC6F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xFB03EC6F SWAP1 PUSH1 0x24 ADD PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xEAF JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xEAF JUMP JUMPDEST PUSH2 0x44E7 DUP2 CALLER PUSH2 0x4C3C JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x2DD7BC7DEC4DCEEDDA775E58DD541E08A116C6C53815C0BD028192F7B626800 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4519 PUSH2 0x44EA JUMP JUMPDEST SWAP1 POP PUSH2 0x4525 DUP5 DUP5 PUSH2 0x24A5 JUMP JUMPDEST PUSH2 0x45A5 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x455B CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x45BA PUSH2 0x44EA JUMP JUMPDEST SWAP1 POP PUSH2 0x45C6 DUP5 DUP5 PUSH2 0x24A5 JUMP JUMPDEST ISZERO PUSH2 0x45A5 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP8 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 PUSH1 0x1 SWAP2 POP POP PUSH2 0xEAF JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x46D2 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x46C6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x46F0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C6B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x198C DUP2 PUSH2 0x44DD JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x4764 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x4761 SWAP2 DUP2 ADD SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4783 JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x47B4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x153C JUMP JUMPDEST PUSH2 0x13C5 DUP4 DUP4 PUSH2 0x4C67 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x46F0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x483A JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x153C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x484D DUP7 PUSH2 0xDC1 DUP8 PUSH2 0x4124 JUMP JUMPDEST SWAP1 POP PUSH2 0x109D DUP7 DUP7 DUP7 DUP7 DUP6 DUP8 PUSH2 0x4AF2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D505 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x48AF PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE5ED920B DUP4 DUP4 CALLER PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x24 DUP5 ADD MSTORE AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4911 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x109D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x4939 JUMPI PUSH2 0x4939 PUSH2 0x514C JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND SHL SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4954 DUP5 PUSH2 0x14A1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x4962 DUP4 PUSH2 0x4925 JUMP JUMPDEST AND SUB PUSH2 0x149A JUMPI DUP4 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH4 0x21B2B5AB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5B78 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4991 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x6 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x506B90DB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA0D721B6 SWAP1 PUSH2 0x49C2 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD3A368BD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0xD3A368BD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4A32 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4A56 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0x0 PUSH4 0xABC517FD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4AA2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4AC6 SWAP2 SWAP1 PUSH2 0x5456 JUMP JUMPDEST PUSH2 0x4AD0 SWAP1 NUMBER PUSH2 0x59E5 JUMP JUMPDEST LT ISZERO PUSH2 0x198C JUMPI PUSH1 0x40 MLOAD PUSH4 0x474A8EDB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x153C JUMP JUMPDEST PUSH2 0x4B00 DUP6 PUSH2 0x37C1 PUSH1 0x0 PUSH2 0x4925 JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xCDC6AC0C DUP7 DUP9 DUP8 DUP8 DUP8 PUSH2 0x4B29 DUP13 PUSH2 0x4124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP8 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4B4A SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5B9A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4B62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4B76 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 ISZERO PUSH2 0x109D JUMPI PUSH2 0x4B88 PUSH2 0x4627 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6CF88E73 CALLER DUP9 DUP9 PUSH1 0x0 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4BBE SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5AF1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4BD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4BEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x64DBCB1D23926D04F2FEA8C7CC3F5D02846EE1E48940419CF422F69AE35813AA DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x4C2C SWAP3 SWAP2 SWAP1 PUSH2 0x5B2F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x4C46 DUP3 DUP3 PUSH2 0x24A5 JUMP JUMPDEST PUSH2 0x198C JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP3 SWAP2 SWAP1 PUSH2 0x57C8 JUMP JUMPDEST PUSH2 0x4C70 DUP3 PUSH2 0x4CBD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x4CB5 JUMPI PUSH2 0x13C5 DUP3 DUP3 PUSH2 0x4D19 JUMP JUMPDEST PUSH2 0x198C PUSH2 0x4D8F JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x4CEA JUMPI DUP1 PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x5C8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x4D36 SWAP2 SWAP1 PUSH2 0x5C0E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x4D71 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4D76 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x4D86 DUP6 DUP4 DUP4 PUSH2 0x4DAE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x46F0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x4DC3 JUMPI PUSH2 0x4DBE DUP3 PUSH2 0x4E01 JUMP JUMPDEST PUSH2 0x149A JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x4DDA JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x4DFA JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x153C SWAP2 SWAP1 PUSH2 0x5413 JUMP JUMPDEST POP DUP1 PUSH2 0x149A JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x4E11 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA12F521 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x149A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x44E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x149A DUP2 PUSH2 0x4E54 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4EB9 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4EA1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4EDA DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4E9E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4F9D JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x4F56 DUP3 DUP8 ADD DUP3 PUSH2 0x4EC2 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x4F70 DUP4 DUP3 PUSH2 0x4EC2 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4F15 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x44E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4FD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4FE5 DUP2 PUSH2 0x4FAB JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x5028 JUMPI PUSH2 0x5028 PUSH2 0x4FF0 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x5056 JUMPI PUSH2 0x5056 PUSH2 0x4FF0 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5077 JUMPI PUSH2 0x5077 PUSH2 0x4FF0 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5092 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x50A7 PUSH2 0x50A2 DUP4 PUSH2 0x505E JUMP JUMPDEST PUSH2 0x502E JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x50C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x50E1 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x50CA JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x50FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5114 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F6 DUP5 DUP3 DUP6 ADD PUSH2 0x5081 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x513E DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x5172 JUMPI PUSH2 0x5172 PUSH2 0x514C JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0xEAF DUP3 DUP5 PUSH2 0x5162 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5196 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x149A DUP2 PUSH2 0x4FAB JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x51D1 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x51B5 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x149A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5204 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x5216 DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x523A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x149A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4EC2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5275 JUMPI PUSH2 0x5275 PUSH2 0x4FF0 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5296 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x52A1 DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x52BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x52CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x52DB PUSH2 0x50A2 DUP3 PUSH2 0x525C JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x52F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5325 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP1 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5344 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5350 DUP9 DUP4 DUP10 ADD PUSH2 0x5081 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5366 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x5378 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x5386 PUSH2 0x50A2 DUP3 PUSH2 0x505E JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP3 ADD DUP4 ADD SWAP1 DUP4 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH2 0x53A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 DUP5 ADD SWAP3 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x53C3 JUMPI DUP4 CALLDATALOAD DUP3 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH2 0x53AA JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x53F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5403 DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x4FE5 DUP2 PUSH2 0x4E54 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x44E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x544B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x149A DUP2 PUSH2 0x5427 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5468 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5481 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x149A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x149A DUP2 PUSH2 0x4E54 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x54C0 DUP2 PUSH2 0x4FAB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x54D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x54E4 PUSH2 0x50A2 DUP3 PUSH2 0x525C JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x54F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F6 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x4E9E JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x54C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x552D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5544 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5558 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x5566 PUSH2 0x50A2 DUP3 PUSH2 0x505E JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP9 DUP4 GT ISZERO PUSH2 0x5585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 ADD JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5650 JUMPI DUP1 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x55A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 ADD PUSH1 0xC0 DUP2 DUP13 SUB PUSH1 0x1F NOT ADD SLT ISZERO PUSH2 0x55B7 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x55BF PUSH2 0x5006 JUMP JUMPDEST DUP9 DUP3 ADD MLOAD DUP2 MSTORE PUSH1 0x40 PUSH2 0x55D2 DUP2 DUP5 ADD PUSH2 0x54B5 JUMP JUMPDEST DUP11 DUP4 ADD MSTORE PUSH1 0x60 DUP1 DUP5 ADD MLOAD DUP10 DUP2 GT ISZERO PUSH2 0x55EA JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x55F8 DUP16 DUP14 DUP4 DUP9 ADD ADD PUSH2 0x54C5 JUMP JUMPDEST DUP4 DUP6 ADD MSTORE POP PUSH1 0x80 SWAP2 POP DUP2 DUP5 ADD MLOAD DUP10 DUP2 GT ISZERO PUSH2 0x5613 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5621 DUP16 DUP14 DUP4 DUP9 ADD ADD PUSH2 0x54C5 JUMP JUMPDEST DUP3 DUP6 ADD MSTORE POP POP PUSH1 0xA0 DUP1 DUP5 ADD MLOAD DUP3 DUP5 ADD MSTORE PUSH2 0x563D PUSH1 0xC0 DUP6 ADD PUSH2 0x550A JUMP JUMPDEST SWAP1 DUP4 ADD MSTORE POP DUP5 MSTORE POP SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x5589 JUMP JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x566F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x149A DUP3 PUSH2 0x550A JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x4D86 SWAP1 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH6 0xFFFFFFFFFFFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x56FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x570F PUSH2 0x50A2 DUP4 PUSH2 0x505E JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x572E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x50E1 JUMPI DUP1 MLOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x5732 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x575B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5771 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F6 DUP5 DUP3 DUP6 ADD PUSH2 0x56EE JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x57A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x57BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F6 DUP5 DUP3 DUP6 ADD PUSH2 0x54C5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x57F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x149A DUP2 PUSH2 0x4FAB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND DUP2 MSTORE SWAP2 SWAP1 SWAP3 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x583B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x585D JUMPI PUSH2 0x585D PUSH2 0x4FF0 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 MLOAD PUSH2 0x586B DUP2 PUSH2 0x4FAB JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x587B DUP2 PUSH2 0x4E54 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x588E DUP2 PUSH2 0x5427 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x58AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x58B6 DUP4 PUSH2 0x550A JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x58D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x58DE DUP6 DUP3 DUP7 ADD PUSH2 0x54C5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x591B SWAP1 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x593A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5951 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x595D DUP8 DUP4 DUP9 ADD PUSH2 0x56EE JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5973 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5980 DUP7 DUP3 DUP8 ADD PUSH2 0x56EE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x591B SWAP1 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xEAF JUMPI PUSH2 0xEAF PUSH2 0x59CF JUMP JUMPDEST DUP5 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP3 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x591B PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x51A1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5A30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x5A47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5A53 DUP7 DUP4 DUP8 ADD PUSH2 0x56EE JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x5A69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x58DE DUP6 DUP3 DUP7 ADD PUSH2 0x56EE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xEAF JUMPI PUSH2 0xEAF PUSH2 0x59CF JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x5AC0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x5AD7 JUMPI PUSH2 0x5AD7 PUSH2 0x59CF JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xEAF JUMPI PUSH2 0xEAF PUSH2 0x59CF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD PUSH1 0x2 DUP4 LT PUSH2 0x5B20 JUMPI PUSH2 0x5B20 PUSH2 0x514C JUMP JUMPDEST DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x5B42 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x51A1 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4D86 DUP2 DUP6 PUSH2 0x51A1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x17F6 SWAP1 DUP4 ADD DUP5 PUSH2 0x4EC2 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x5B8C PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x5162 JUMP JUMPDEST DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP7 DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 DUP5 ADD MSTORE PUSH1 0xC0 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x5BC2 PUSH1 0xC0 DUP5 ADD DUP9 PUSH2 0x51A1 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE DUP7 MLOAD DUP1 DUP3 MSTORE DUP3 DUP9 ADD SWAP2 DUP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5BF5 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x5BD9 JUMP JUMPDEST POP POP PUSH1 0x80 DUP6 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5C20 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4E9E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID DUP15 DUP11 0xDD 0xAA 0xC4 BALANCE PUSH7 0x2B768D45375EF4 DUP2 CALLER 0xB8 0xBA 0xD0 0xDA 0xAD 0x5C 0xE4 MULMOD PUSH16 0xD41007E8D31A8771840DC4906352362B 0xC 0xDA 0xF7 SWAP9 PUSH17 0x196C8E42ACAFADE72D5D5A6D59291253CE 0xB1 XOR SWAP11 0xB7 0xA9 0x24 0x4D CREATE DUP5 DUP2 0x22 ISZERO NUMBER ISZERO 0xAF PUSH18 0xFE140F3DB0FE014031783B0946B8C9D2E336 ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC2B53661063988F1AD36E0A 0x49 0xD4 0xD9 0xA6 LOG3 LT PUSH7 0x52AAEED2BE542C DUP7 SWAP2 0xD5 CREATE2 REVERT AND DUP12 JUMP 0xAF SWAP3 PUSH11 0xA3845D4DC63A6C773ED36F MLOAD PUSH26 0x4728C97EBCD1BF845BCECB16EEB6B7A264697066735822122039 0xD2 LOG3 0x25 0xE8 0xCA REVERT JUMPDEST 0xD5 0x5C GT PUSH4 0x1394C022 RETURNDATASIZE 0xAE 0xF9 EXP 0xD8 PUSH20 0xD7BB6C432AF04B6967A564736F6C634300081400 CALLER ","sourceMap":"6888:34752:137:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41376:262;;;;;;;;;;-1:-1:-1;41376:262:137;;;;;:::i;:::-;;:::i;:::-;;;470:14:150;;463:22;445:41;;433:2;418:18;41376:262:137;;;;;;;;31054:106;;;;;;;;;;;;;:::i;:::-;;;643:25:150;;;631:2;616:18;31054:106:137;497:177:150;40521:171:137;;;;;;;;;;-1:-1:-1;40521:171:137;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1223:32:150;;;1205:51;;1193:2;1178:18;40521:171:137;1059:203:150;28075:189:137;;;;;;;;;;-1:-1:-1;28075:189:137;;;;;:::i;:::-;;:::i;:::-;;34556:151;;;;;;;;;;-1:-1:-1;34556:151:137;;;;;:::i;:::-;;:::i;34291:175::-;;;;;;;;;;-1:-1:-1;34291:175:137;;;;;:::i;:::-;;:::i;35322:128::-;;;;;;;;;;-1:-1:-1;35322:128:137;;;;;:::i;:::-;;:::i;4759:191:0:-;;;;;;;;;;-1:-1:-1;4759:191:0;;;;;:::i;:::-;;:::i;33511:187:137:-;;;;;;;;;;-1:-1:-1;33511:187:137;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5246:136:0:-;;;;;;;;;;-1:-1:-1;5246:136:0;;;;;:::i;:::-;;:::i;37723:153:137:-;;;;;;;;;;-1:-1:-1;37723:153:137;;;;;:::i;:::-;;:::i;37935:128::-;;;;;;;;;;-1:-1:-1;37935:128:137;;;;;:::i;:::-;;:::i;20487:147::-;;;;;;;;;;-1:-1:-1;20487:147:137;;;;;:::i;:::-;;:::i;6348:245:0:-;;;;;;;;;;-1:-1:-1;6348:245:0;;;;;:::i;:::-;;:::i;23340:248:137:-;;;;;;;;;;-1:-1:-1;23340:248:137;;;;;:::i;:::-;;:::i;39208:207::-;;;;;;;;;;-1:-1:-1;39208:207:137;;;;;:::i;:::-;;:::i;28929:577::-;;;;;;;;;;-1:-1:-1;28929:577:137;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;39836:157::-;;;;;;;;;;-1:-1:-1;39836:157:137;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;36352:183::-;;;;;;;;;;-1:-1:-1;36352:183:137;;;;;:::i;:::-;;:::i;35926:141::-;;;;;;;;;;-1:-1:-1;35926:141:137;;;;;:::i;:::-;;:::i;35730:130::-;;;;;;;;;;-1:-1:-1;35730:130:137;;;;;:::i;:::-;;:::i;34864:148::-;;;;;;;;;;-1:-1:-1;34864:148:137;;;;;:::i;:::-;;:::i;31771:99::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;30079:139::-;;;;;;;;;;-1:-1:-1;30079:139:137;;;;;:::i;:::-;;:::i;4158:214:3:-;;;;;;:::i;:::-;;:::i;37458:118:137:-;;;;;;;;;;;;;:::i;3705:134:3:-;;;;;;;;;;;;;:::i;11773:1071:137:-;;;;;;;;;;-1:-1:-1;11773:1071:137;;;;;:::i;:::-;;:::i;28394:77::-;;;;;;;;;;-1:-1:-1;28455:11:137;;;;;;;;;;;;-1:-1:-1;;;28455:11:137;;;;28394:77;;32183:121;;;;;;;;;;;;;:::i;25069:164::-;;;;;;;;;;-1:-1:-1;25069:164:137;;;;;:::i;:::-;;:::i;32377:121::-;;;;;;;;;;;;;:::i;38121:118::-;;;;;;;;;;-1:-1:-1;38121:118:137;;;;;:::i;:::-;;:::i;26048:217::-;;;;;;;;;;-1:-1:-1;26048:217:137;;;;;:::i;:::-;;:::i;38711:337::-;;;;;;;;;;-1:-1:-1;38711:337:137;;;;;:::i;:::-;;:::i;37051:143::-;;;;;;;;;;-1:-1:-1;37051:143:137;;;;;:::i;:::-;;:::i;36610:116::-;;;;;;;;;;;;;:::i;22803:469::-;;;;;;;;;;-1:-1:-1;22803:469:137;;;;;:::i;:::-;;:::i;26958:151::-;;;;;;;;;;-1:-1:-1;26958:151:137;;;;;:::i;:::-;;:::i;25799:172::-;;;;;;;;;;-1:-1:-1;25799:172:137;;;;;:::i;:::-;;:::i;32966:144::-;;;;;;;;;;-1:-1:-1;32966:144:137;;;;;:::i;:::-;;:::i;38392:133::-;;;;;;;;;;-1:-1:-1;38392:133:137;;;;;:::i;:::-;;:::i;28750:115::-;;;;;;;;;;-1:-1:-1;28750:115:137;;;;;:::i;:::-;;:::i;26715:162::-;;;;;;;;;;-1:-1:-1;26715:162:137;;;;;:::i;:::-;;:::i;22030:615::-;;;;;;;;;;-1:-1:-1;22030:615:137;;;;;:::i;:::-;;:::i;33861:137::-;;;;;;;;;;;;;:::i;33154:160::-;;;;;;;;;;-1:-1:-1;33154:160:137;;;;;:::i;:::-;;:::i;:::-;;;;12504:13:150;;-1:-1:-1;;;;;12500:39:150;12482:58;;12600:4;12588:17;;;12582:24;12608:14;12578:45;12556:20;;;12549:75;12672:17;;;12666:24;12692:10;12662:41;12640:20;;;12633:71;12470:2;12455:18;33154:160:137;12280:430:150;3732:207:0;;;;;;;;;;-1:-1:-1;3732:207:0;;;;;:::i;:::-;;:::i;31555:82:137:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;27837:154::-;;;;;;;;;;-1:-1:-1;27837:154:137;;;;;:::i;:::-;;:::i;7589:100::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7589:100:137;;37254:121;;;;;;;;;;;;;:::i;36148:123::-;;;;;;;;;;-1:-1:-1;36148:123:137;;;;;:::i;:::-;;:::i;31987:109::-;;;;;;;;;;;;;:::i;40100:318::-;;;;;;;;;;;;;:::i;2317:49:0:-;;;;;;;;;;-1:-1:-1;2317:49:0;2362:4;2317:49;;39578:190:137;;;;;;;;;;-1:-1:-1;39578:190:137;;;;;:::i;:::-;;:::i;30656:261::-;;;;;;;;;;-1:-1:-1;30656:261:137;;;;;:::i;:::-;;:::i;13029:1759::-;;;;;;;;;;-1:-1:-1;13029:1759:137;;;;;:::i;:::-;;:::i;8203:414::-;;;;;;;;;;-1:-1:-1;8203:414:137;;;;;:::i;:::-;;:::i;28539:128::-;;;;;;;;;;;;;:::i;1819:58:3:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:3;;;;;25304:179:137;;;;;;;;;;-1:-1:-1;25304:179:137;;;;;:::i;:::-;;:::i;25543:200::-;;;;;;;;;;-1:-1:-1;25543:200:137;;;;;:::i;:::-;;:::i;34076:113::-;;;;;;;;;;;;;:::i;9093:2485::-;;;;;;;;;;;;;:::i;15495:3483::-;;;;;;;;;;-1:-1:-1;15495:3483:137;;;;;:::i;:::-;;:::i;35108:152::-;;;;;;;;;;-1:-1:-1;35108:152:137;;;;;:::i;:::-;;:::i;24832:169::-;;;;;;;;;;-1:-1:-1;24832:169:137;;;;;:::i;:::-;;:::i;7131:76::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7131:76:137;;20845:429;;;;;;;;;;-1:-1:-1;20845:429:137;;;;;:::i;:::-;;:::i;32572:129::-;;;;;;;;;;-1:-1:-1;32572:129:137;;;;;:::i;:::-;;:::i;32762:::-;;;;;;;;;;-1:-1:-1;32762:129:137;;;;;:::i;:::-;;:::i;29589:163::-;;;;;;;;;;-1:-1:-1;29589:163:137;;;;;:::i;:::-;;:::i;5662:138:0:-;;;;;;;;;;-1:-1:-1;5662:138:0;;;;;:::i;:::-;;:::i;30307:248:137:-;;;;;;;;;;-1:-1:-1;30307:248:137;;;;;:::i;:::-;;:::i;40832:167::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;27461:252::-;;;;;;;;;;-1:-1:-1;27461:252:137;;;;;:::i;:::-;;:::i;29848:141::-;;;;;;;;;;-1:-1:-1;29848:141:137;;;;;:::i;:::-;;:::i;7413:70::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7413:70:137;;26341:205;;;;;;;;;;-1:-1:-1;26341:205:137;;;;;:::i;:::-;;:::i;27204:197::-;;;;;;;;;;-1:-1:-1;27204:197:137;;;;;:::i;:::-;;:::i;7287:66::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7287:66:137;;31246:125;;;;;;;;;;-1:-1:-1;31246:125:137;;;;;:::i;:::-;;:::i;35530:132::-;;;;;;;;;;-1:-1:-1;35530:132:137;;;;;:::i;:::-;;:::i;41376:262::-;41515:4;-1:-1:-1;;;;;;41534:59:137;;-1:-1:-1;;;41534:59:137;;:99;;;41597:36;41621:11;41597:23;:36::i;:::-;41527:106;41376:262;-1:-1:-1;;41376:262:137:o;31054:106::-;31099:7;31121:19;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31114:41;;31054:106;:::o;40521:171::-;40626:61;;-1:-1:-1;;;40626:61:137;;40604:7;;40626:15;;:50;;:61;;40677:9;;40626:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;28075:189::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;28173:24:137::1;:46;28220:18;28240:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28173:86;::::0;-1:-1:-1;;;;;;28173:86:137::1;::::0;;;;;;::::1;::::0;::::1;16754:25:150::0;;;;16827:14;16815:27;16795:18;;;16788:55;16727:18;;28173:86:137::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;28075:189:::0;;:::o;34556:151::-;34646:56;;-1:-1:-1;;;34646:56:137;;;;;643:25:150;;;34624:7:137;;34646:26;;:47;;616:18:150;;34646:56:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;34291:175::-;34393:68;;-1:-1:-1;;;34393:68:137;;;;;643:25:150;;;34371:7:137;;34393:26;;:59;;616:18:150;;34393:68:137;497:177:150;35322:128:137;35402:43;;-1:-1:-1;;;35402:43:137;;;;;643:25:150;;;35380:7:137;;35402:23;;:34;;616:18:150;;35402:43:137;497:177:150;4759:191:0;4824:7;4843:30;4876:26;:24;:26::i;:::-;4919:8;:14;;;;;-1:-1:-1;;4919:14:0;;;:24;;;;4759:191::o;33511:187:137:-;33651:42;;-1:-1:-1;;;33651:42:137;;;;;643:25:150;;;33583:53:137;;33651:18;;:33;;616:18:150;;33651:42:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;33651:42:137;;;;;;;;;;;;:::i;5246:136:0:-;5320:18;5333:4;5320:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5350:25:::1;5361:4;5367:7;5350:10;:25::i;:::-;;5246:136:::0;;;:::o;37723:153:137:-;37817:54;;-1:-1:-1;;;37817:54:137;;;;;643:25:150;;;37795:7:137;;37817:22;;:45;;616:18:150;;37817:54:137;497:177:150;37935:128:137;38015:43;;-1:-1:-1;;;38015:43:137;;;;;643:25:150;;;37996:4:137;;38015:22;;:34;;616:18:150;;38015:43:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20487:147::-;20542:22;:36;20579:7;20594:14;20600:7;20594:5;:14::i;:::-;20588:21;;;;;;;;:::i;:::-;20611:17;20620:7;20611:8;:17::i;:::-;20542:87;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20487:147;:::o;6348:245:0:-;-1:-1:-1;;;;;6441:34:0;;966:10:11;6441:34:0;6437:102;;6498:30;;-1:-1:-1;;;6498:30:0;;;;;;;;;;;6437:102;6549:37;6561:4;6567:18;6549:11;:37::i;:::-;;6348:245;;:::o;23340:248:137:-;23414:15;:40;23470:60;:58;:60::i;:::-;:72;-1:-1:-1;;;;;23470:72:137;966:10:11;23571:6:137;23414:169;;;;;;;;;;;;;;;;;:::i;39208:207::-;39304:4;39323:15;:46;39370:7;39386:22;39400:7;39386:13;:22::i;:::-;39323:87;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;39316:94;39208:207;-1:-1:-1;;;39208:207:137:o;28929:577::-;29019:41;;-1:-1:-1;;;29019:41:137;;;;;643:25:150;;;28982:10:137;;;;29019:18;;:32;;616:18:150;;29019:41:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29000:60;;29071:8;29083:1;29071:13;29067:74;;29101:33;;-1:-1:-1;;;29101:33:137;;;;;643:25:150;;;616:18;;29101:33:137;;;;;;;;29067:74;29147:24;29174:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29147:45;;;;29198:16;29217:18;:32;29250:7;29217:41;;;;;;;;;;;;;643:25:150;;631:2;616:18;;497:177;29217:41:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29198:60;;29281:16;29269:8;:28;29265:237;;-1:-1:-1;29314:17:137;;28929:577;-1:-1:-1;;;;28929:577:137:o;29265:237::-;29349:23;:37;29387:7;29396:16;29403:8;29396:6;:16::i;:::-;29349:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29344:158;;-1:-1:-1;29430:17:137;;28929:577;-1:-1:-1;;;;28929:577:137:o;29344:158::-;-1:-1:-1;29475:20:137;;28929:577;-1:-1:-1;;;;28929:577:137:o;39836:157::-;39939:49;;-1:-1:-1;;;39939:49:137;;39908:16;;39939:15;;:40;;:49;;39980:7;;39939:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;39939:49:137;;;;;;;;;;;;:::i;36352:183::-;36466:64;;-1:-1:-1;;;36466:64:137;;;;;23035:25:150;;;-1:-1:-1;;;;;23096:32:150;;23076:18;;;23069:60;23145:18;;;23138:34;;;36447:4:137;;36466:23;;:42;;23008:18:150;;36466:64:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36459:71;36352:183;-1:-1:-1;;;;36352:183:137:o;35926:141::-;36015:47;;-1:-1:-1;;;36015:47:137;;35996:4;;36015:23;;:32;;:47;;36048:7;;36057:4;;36015:47;;;:::i;35730:130::-;35811:44;;-1:-1:-1;;;35811:44:137;;;;;643:25:150;;;35789:7:137;;35811:23;;:35;;616:18:150;;35811:44:137;497:177:150;34864:148:137;34958:49;;-1:-1:-1;;;34958:49:137;;34936:7;;34958:23;;:35;;:49;;34994:7;;35003:3;;34958:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;31771:99::-;31814:13;31842:10;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;31842:23:137;;;;;;;;;;;;:::i;30079:139::-;30164:7;30186:27;30195:5;30202:10;30186:8;:27::i;4158:214:3:-;2653:13;:11;:13::i;:::-;4273:36:::1;4291:17;4273;:36::i;:::-;4319:46;4341:17;4360:4;4319:21;:46::i;:::-;4158:214:::0;;:::o;37458:118:137:-;37507:7;37529:24;:40;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3705:134:3;3774:7;2924:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3705:134:3;:::o;11773:1071:137:-;11909:11;:18;11892:6;:13;:35;11884:107;;;;-1:-1:-1;;;11884:107:137;;24275:2:150;11884:107:137;;;24257:21:150;24314:2;24294:18;;;24287:30;24353:34;24333:18;;;24326:62;-1:-1:-1;;;24404:18:150;;;24397:57;24471:19;;11884:107:137;24073:423:150;11884:107:137;12021:1;12005:6;:13;:17;11997:76;;;;-1:-1:-1;;;11997:76:137;;24703:2:150;11997:76:137;;;24685:21:150;24742:2;24722:18;;;24715:30;24781:34;24761:18;;;24754:62;-1:-1:-1;;;24832:18:150;;;24825:44;24886:19;;11997:76:137;24501:410:150;11997:76:137;12084:4;:39;966:10:11;12138:41:137;12156:22;:20;:22::i;:::-;12138:17;:41::i;:::-;12084:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12080:155;;;966:10:11;12197:31:137;;-1:-1:-1;;;12197:31:137;;;;;;;;:::i;12080:155::-;12332:44;12379:67;:65;:67::i;:::-;:93;;;-1:-1:-1;;;;;12379:93:137;;-1:-1:-1;12482:48:137;;12478:235;;12643:1;-1:-1:-1;;;;;12544:49:137;;;966:10:11;12608:22:137;12622:7;12608:13;:22::i;:::-;12544:87;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12544:101:137;;12540:167;;966:10:11;12664:34:137;;-1:-1:-1;;;12664:34:137;;;;;;;;:::i;12540:167::-;12719:47;966:10:11;20845:429:137;:::i;12719:47::-;-1:-1:-1;12773:66:137;966:10:11;12803:7:137;12812:6;12820:11;12833:5;12773:15;:66::i;32183:121::-;32236:7;32258:18;:39;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25069:164;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;25179:49:137::1;::::0;-1:-1:-1;;;25179:49:137;;:22:::1;::::0;:35:::1;::::0;:49:::1;::::0;25215:12;;25179:49:::1;;;:::i;32377:121::-:0;32430:7;32452:18;:39;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38121:118;38182:7;38204:30;38211:22;38225:7;38211:13;:22::i;26048:217::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;26193:67:137::1;::::0;-1:-1:-1;;;26193:67:137;;:22:::1;::::0;:44:::1;::::0;:67:::1;::::0;26238:21;;26193:67:::1;;;:::i;38711:337::-:0;38796:4;38808:25;38836:67;:65;:67::i;:::-;:85;;;;;;;;;;-1:-1:-1;;;;;38836:85:137;-1:-1:-1;;;;;38836:110:137;;:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;38961:82;;-1:-1:-1;;;38961:82:137;;38808:140;;-1:-1:-1;38961:15:137;;:46;;:82;;39008:7;;38808:140;;38961:82;;;:::i;37051:143::-;37138:51;;-1:-1:-1;;;37138:51:137;;;;;643:25:150;;;37116:7:137;;37138:24;;:40;;616:18:150;;37138:51:137;497:177:150;36610:116:137;36658:7;36680:23;:39;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22803:469;22862:30;22895:60;:58;:60::i;:::-;:79;;;-1:-1:-1;;;;;22895:79:137;;-1:-1:-1;22995:34:137;;;;;:74;;-1:-1:-1;966:10:11;-1:-1:-1;;;;;23033:36:137;;;22995:74;22980:146;;;;-1:-1:-1;;;22980:146:137;;26640:2:150;22980:146:137;;;26622:21:150;26679:2;26659:18;;;26652:30;26718:34;26698:18;;;26691:62;-1:-1:-1;;;26769:18:150;;;26762:39;26818:19;;22980:146:137;26438:405:150;22980:146:137;23137:41;;-1:-1:-1;;;23137:41:137;;:15;;:35;;:41;;23173:4;;23137:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23133:135;;;23188:15;:32;23229:4;23236;23242:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23188:73;;;;;;;;;;;;;;;;;:::i;26958:151::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;27047:57:137::1;::::0;-1:-1:-1;;;27047:57:137;;::::1;::::0;::::1;643:25:150::0;;;27047:26:137::1;::::0;:42:::1;::::0;616:18:150;;27047:57:137::1;497:177:150::0;25799:172:137;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;25911:55:137::1;::::0;-1:-1:-1;;;25911:55:137;;:22:::1;::::0;:38:::1;::::0;:55:::1;::::0;25950:15;;25911:55:::1;;;:::i;32966:144::-:0;33061:44;;-1:-1:-1;;;33061:44:137;;;;;643:25:150;;;33030:16:137;;33061:18;;:35;;616:18:150;;33061:44:137;497:177:150;38392:133:137;38479:41;;-1:-1:-1;;;38479:41:137;;38460:4;;38479:15;;:35;;:41;;38515:4;;38479:41;;;:::i;28750:115::-;28806:4;;28825:14;28831:7;28825:5;:14::i;:::-;:35;;;;;;;;:::i;:::-;;;28750:115;-1:-1:-1;;28750:115:137:o;26715:162::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;26810:62:137::1;::::0;-1:-1:-1;;;26810:62:137;;::::1;::::0;::::1;643:25:150::0;;;26810:23:137::1;::::0;:42:::1;::::0;616:18:150;;26810:62:137::1;497:177:150::0;22030:615:137;966:10:11;-1:-1:-1;;;;;22089:20:137;;;22085:75;;966:10:11;22126:27:137;;-1:-1:-1;;;22126:27:137;;;;;;;;:::i;22085:75::-;22233:30;22266:60;:58;:60::i;:::-;:79;;;-1:-1:-1;;;;;22266:79:137;;-1:-1:-1;22355:34:137;;22351:210;;22403:29;;-1:-1:-1;;;22403:29:137;;-1:-1:-1;;;;;22403:23:137;;;;;:29;;22427:4;;22403:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22399:79;;;22473:4;22441:37;;-1:-1:-1;;;22441:37:137;;;;;;;;:::i;22399:79::-;22490:29;;-1:-1:-1;;;22490:29:137;;-1:-1:-1;;;;;22490:23:137;;;;;:29;;22514:4;;22490:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22486:68;;;22549:4;22528:26;;-1:-1:-1;;;22528:26:137;;;;;;;;:::i;22486:68::-;22567:15;:32;22608:4;22615;22621:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33861:137;33918:7;33940:26;:51;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33154:160;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;33273:36:137;;-1:-1:-1;;;33273:36:137;;;;;643:25:150;;;33273:18:137;;:27;;616:18:150;;33273:36:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3732:207:0:-;3809:4;3825:30;3858:26;:24;:26::i;:::-;3901:8;:14;;;;;;;;;;;-1:-1:-1;;;;;3901:31:0;;;;;;;;;-1:-1:-1;;3901:31:0;;;;;;3732:207::o;31555:82:137:-;31593:6;31614:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;27837:154::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;27930:56:137::1;::::0;-1:-1:-1;;;27930:56:137;;::::1;::::0;::::1;643:25:150::0;;;27930:19:137::1;::::0;:46:::1;::::0;616:18:150;;27930:56:137::1;497:177:150::0;37254:121:137;37304:7;37326:24;:42;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36148:123;36224:42;;-1:-1:-1;;;36224:42:137;;36205:4;;36224:23;;:36;;:42;;36261:4;;36224:42;;;:::i;31987:109::-;32034:7;32056:18;:33;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40100:318;40168:7;40183:25;40211:67;:65;:67::i;:::-;:85;;;;;;;;;;-1:-1:-1;;;;;40211:85:137;-1:-1:-1;;;;;40211:110:137;;:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;40336:77;;-1:-1:-1;;;40336:77:137;;40183:140;;-1:-1:-1;40336:15:137;;:50;;:77;;40183:140;;40336:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;40329:84;;;40100:318;:::o;39578:190::-;39697:66;;-1:-1:-1;;;39697:66:137;;39678:4;;39697:15;;:46;;:66;;39744:7;;39753:9;;39697:66;;;:::i;30656:261::-;30744:7;30772:60;:58;:60::i;:::-;:74;;;;;:140;;-1:-1:-1;;;30772:140:137;;-1:-1:-1;;;;;30772:74:137;;;;:96;;:140;;30878:7;;30895:9;;30772:140;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13029:1759;13107:4;:39;13147:5;13154:41;13172:22;13186:7;13172:13;:22::i;13154:41::-;13107:89;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13102:145;;13234:5;13213:27;;-1:-1:-1;;;13213:27:137;;;;;;;;:::i;13102:145::-;13257:62;13304:7;13313:5;13257:46;:62::i;:::-;13253:126;;;13357:5;13364:7;13336:36;;-1:-1:-1;;;13336:36:137;;;;;;;;;:::i;13253:126::-;13385:44;13414:7;13423:5;13385:28;:44::i;:::-;13437:13;13456:67;:65;:67::i;:::-;:92;;;-1:-1:-1;;;;;13456:92:137;:119;13576:5;13583:41;13601:22;:20;:22::i;13583:41::-;13456:169;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13456:169:137;;;;;;;;;;;;:::i;:::-;13436:189;;;13632:23;13658:15;:40;13699:5;13658:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13658:47:137;;;;;;;;;;;;:::i;:::-;13632:73;;13713:28;13743:31;13776:19;13799:15;:44;13852:4;13859:5;13866:7;13875:6;13799:83;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13799:83:137;;;;;;;;;;;;:::i;:::-;13712:170;;;;;;14040:8;14039:9;:36;;;-1:-1:-1;14052:18:137;;:23;14039:36;14035:606;;;14163:42;;-1:-1:-1;;;14163:42:137;;:15;;:35;;:42;;14199:5;;14163:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14159:303;;;14217:15;:32;14258:4;14265:5;14272:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14217:74;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14301:60;:58;:60::i;:::-;:80;;;:152;;-1:-1:-1;;;14301:152:137;;-1:-1:-1;;;;;14301:80:137;;;;:110;;:152;;14423:7;;14301:80;;:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14159:303;14469:64;;-1:-1:-1;;;14469:64:137;;:23;;:48;;:64;;14518:7;;14527:5;;14469:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14588:18:137;;14546:74;;;30401:14:150;;30394:22;30376:41;;30448:2;30433:18;;30426:34;;;;30476:18;;30469:34;;;14569:7:137;;-1:-1:-1;;;;;;14546:74:137;;;-1:-1:-1;14546:74:137;;30364:2:150;30349:18;14546:74:137;;;;;;;14628:7;;;;;13029:1759;;:::o;14035:606::-;14647:64;;-1:-1:-1;;;14647:64:137;;:23;;:48;;:64;;14696:7;;14705:5;;14647:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14717:66;14733:5;14740:7;14749:11;14762:14;14778:4;14717:15;:66::i;:::-;13096:1692;;;;;13029:1759;;:::o;8203:414::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;8870:21:2;6431:15;;8357:1:137::1;::::0;8870:21:2;-1:-1:-1;;;6431:15:2;::::1;;;::::0;:44:::1;;-1:-1:-1::0;6450:14:2;;-1:-1:-1;;;;;6450:25:2;;::::1;:14:::0;::::1;:25;;6431:44;6427:105;;;6498:23;;-1:-1:-1::0;;;6498:23:2::1;;;;;;;;;;;6427:105;6541:24:::0;;-1:-1:-1;;;;;;6575:22:2;-1:-1:-1;;;;;6541:24:2;::::1;6575:22:::0;-1:-1:-1;;;6575:22:2::1;::::0;;-1:-1:-1;;;;;8374:41:137;::::2;8366:99;;;::::0;-1:-1:-1;;;8366:99:137;;30716:2:150;8366:99:137::2;::::0;::::2;30698:21:150::0;30755:2;30735:18;;;30728:30;30794:34;30774:18;;;30767:62;-1:-1:-1;;;30845:18:150;;;30838:43;30898:19;;8366:99:137::2;30514:409:150::0;8366:99:137::2;8471:63;::::0;-1:-1:-1;;;8471:63:137;;:22:::2;::::0;:43:::2;::::0;:63:::2;::::0;8515:18;;8471:63:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;8540:72:137::2;::::0;-1:-1:-1;;;8540:72:137;;::::2;::::0;::::2;643:25:150::0;;;8540:19:137::2;::::0;-1:-1:-1;8540:46:137::2;::::0;-1:-1:-1;616:18:150;;8540:72:137::2;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;6618:23:2;;-1:-1:-1;;;;6618:23:2::1;::::0;;-1:-1:-1;;6656:20:2::1;::::0;-1:-1:-1;;;;;31334:31:150;;31316:50;;6656:20:2::1;::::0;31304:2:150;31289:18;6656:20:2::1;;;;;;;6291:392;3217:1:0;8203:414:137::0;;;:::o;28539:128::-;28595:7;28617:19;:43;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25304:179;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;25423:55:137::1;::::0;-1:-1:-1;;;25423:55:137;;:22:::1;::::0;:38:::1;::::0;:55:::1;::::0;25462:15;;25423:55:::1;;;:::i;25543:200::-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;25675:63:137::1;::::0;-1:-1:-1;;;25675:63:137;;:22:::1;::::0;:42:::1;::::0;:63:::1;::::0;25718:19;;25675:63:::1;;;:::i;34076:113::-:0;34121:7;34143:26;:39;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9093:2485;9163:7;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;9178::137::1;966:10:11::0;9178:31:137::1;;9379:20;9402:18;:33;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9379:58:::0;-1:-1:-1;9447:16:137;;9443:136:::1;;9482:22;9491:12;9482:8;:22::i;:::-;9481:23;9473:99;;;::::0;-1:-1:-1;;;9473:99:137;;32061:2:150;9473:99:137::1;::::0;::::1;32043:21:150::0;32100:2;32080:18;;;32073:30;32139:34;32119:18;;;32112:62;32210:33;32190:18;;;32183:61;32261:19;;9473:99:137::1;31859:427:150::0;9473:99:137::1;9650:1;9635:12;:16;:69;;;;-1:-1:-1::0;9656:48:137::1;::::0;-1:-1:-1;;;9656:48:137;;::::1;::::0;::::1;643:25:150::0;;;9656:22:137::1;::::0;:34:::1;::::0;616:18:150;;9656:48:137::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9655:49;9635:69;9631:192;;;9714:22;:36;9751:12;9771:19;9777:12;9771:5;:19::i;:::-;9765:26;;;;;;;;:::i;:::-;9793:22;9802:12;9793:8;:22::i;:::-;9714:102;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9631:192;9854:29;9886:67;:65;:67::i;:::-;:86:::0;:111:::1;::::0;;-1:-1:-1;;;9886:111:137;;;;-1:-1:-1;;;;;9886:86:137;;::::1;::::0;:109:::1;::::0;:111:::1;::::0;;::::1;::::0;:86:::1;::::0;:111;;;;;;;;:86;:111:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;9886:111:137::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;9854:143;;10028:19;10050:10;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10028:40;;10074:26;10110:19;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10074:71;;10151:18;10172;:30;10203:8;10213:12;10227:19;10248:12;10172:89;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10316:63;::::0;-1:-1:-1;;;10316:63:137;;::::1;::::0;::::1;643:25:150::0;;;10151:110:137;;-1:-1:-1;10316:26:137::1;::::0;:51:::1;::::0;616:18:150;;10316:63:137::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10488:64:137::1;::::0;-1:-1:-1;;;10488:64:137;;10457:28:::1;::::0;-1:-1:-1;10488:15:137::1;::::0;-1:-1:-1;10488:50:137::1;::::0;:64:::1;::::0;10539:12;;10488:64:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10457:95;;10558:30;10591:60;:58;:60::i;:::-;:79;;::::0;-1:-1:-1;;;;;10591:79:137::1;::::0;-1:-1:-1;10591:79:137::1;10709:34:::0;;:115:::1;;10762:62;::::0;-1:-1:-1;;;10762:62:137;;-1:-1:-1;;;;;10762:48:137;::::1;::::0;::::1;::::0;:62:::1;::::0;10811:12;;10762:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10709:115;;;10752:1;10709:115;10676:148:::0;-1:-1:-1;10830:23:137::1;10856:63;-1:-1:-1::0;;;;;10888:31:137;;::::1;::::0;10856:29;::::1;:63;:::i;:::-;10830:89;;10926:32;10964:22;10989:60;:58;:60::i;:::-;:74;;::::0;-1:-1:-1;;;;;10989:74:137::1;::::0;-1:-1:-1;11073:31:137;;;::::1;::::0;:61:::1;;;11133:1;11108:22;-1:-1:-1::0;;;;;11108:26:137::1;;11073:61;11069:129;;;11162:8;-1:-1:-1::0;;;;;11162:27:137::1;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;11162:29:137::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;11144:47;;11069:129;11226:1;11208:15;:19;:49;;;;11256:1;11231:15;:22;:26;11208:49;11204:346;;;11267:24;11294:60;:58;:60::i;:::-;:80;;::::0;11382:161:::1;::::0;-1:-1:-1;;;11382:161:137;;-1:-1:-1;;;;;11294:80:137;;::::1;::::0;-1:-1:-1;11294:80:137;;11382:42:::1;::::0;:161:::1;::::0;11434:10;;11454:15;;-1:-1:-1;;;;;11479:31:137;::::1;::::0;11520:15;;11382:161:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11259:291;11204:346;-1:-1:-1::0;11563:10:137;;-1:-1:-1;;;;;;;;;;;9093:2485:137;;:::o;15495:3483::-;15569:68;15590:7;15599:37;15618:17;15599:18;:37::i;:::-;15569:20;:68::i;:::-;;15644:44;15691:67;:65;:67::i;:::-;:93;;;-1:-1:-1;;;;;15691:93:137;;-1:-1:-1;15691:93:137;15907:22;15921:7;15907:13;:22::i;:::-;15888:41;;15935:17;15955:25;-1:-1:-1;;;;;15955:49:137;;16005:7;16014:8;15955:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15935:88;-1:-1:-1;;;;;;16033:23:137;;16029:68;;16089:7;16065:32;;-1:-1:-1;;;16065:32:137;;;;;;;;:::i;16029:68::-;16108:64;16155:7;16164;16108:46;:64::i;:::-;16104:130;;;16210:7;16219;16189:38;;-1:-1:-1;;;16189:38:137;;;;;;;;;:::i;16104:130::-;16240:24;16267:60;:58;:60::i;:::-;:80;;;-1:-1:-1;;;;;16267:80:137;;-1:-1:-1;16446:27:137;16463:9;16446:16;:27::i;:::-;16442:245;;;16483:66;;-1:-1:-1;;;16483:66:137;;:23;;:48;;:66;;16532:7;;16541;;16483:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16557:47:137;;-1:-1:-1;;;16557:47:137;;-1:-1:-1;;;;;16557:29:137;;;-1:-1:-1;16557:29:137;;-1:-1:-1;16557:47:137;;16587:7;;16596;;16557:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16658:7;16647:9;-1:-1:-1;;;;;16617:49:137;16638:7;-1:-1:-1;;;;;16617:49:137;-1:-1:-1;;;;;;;;;;;16617:49:137;;;;;;;;;16674:7;;;;15495:3483;;:::o;16442:245::-;16743:63;;-1:-1:-1;;;16743:63:137;;-1:-1:-1;;;;;16743:43:137;;;;;:63;;16787:9;;16798:7;;16743:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16738:418;;16916:28;16936:7;16916:19;:28::i;:::-;16952:66;;-1:-1:-1;;;16952:66:137;;:23;;:48;;:66;;17001:7;;17010;;16952:66;;;:::i;16738:418::-;17238:13;17257:67;:65;:67::i;:::-;:92;;;-1:-1:-1;;;;;17257:92:137;:119;17377:7;17386:27;17404:8;17386:17;:27::i;:::-;17257:157;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17257:157:137;;;;;;;;;;;;:::i;:::-;17237:177;;;17425:8;17420:227;;17443:66;;-1:-1:-1;;;17443:66:137;;:23;;:48;;:66;;17492:7;;17501;;17443:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17517:47:137;;-1:-1:-1;;;17517:47:137;;-1:-1:-1;;;;;17517:29:137;;;-1:-1:-1;17517:29:137;;-1:-1:-1;17517:47:137;;17547:7;;17556;;17517:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17618:7;17607:9;-1:-1:-1;;;;;17577:49:137;17598:7;-1:-1:-1;;;;;17577:49:137;-1:-1:-1;;;;;;;;;;;17577:49:137;;;;;;;;;17634:7;;;;;15495:3483;;:::o;17420:227::-;17653:46;17682:7;17691;17653:28;:46::i;:::-;17799:23;17824:28;17856:25;-1:-1:-1;;;;;17856:50:137;;17914:9;17931:7;17856:88;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17856:88:137;;;;;;;;;;;;:::i;:::-;17798:146;;;;18008:22;18033:25;-1:-1:-1;;;;;18033:55:137;;18089:7;18098:8;18033:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18008:99;;18203:19;18225:25;-1:-1:-1;;;;;18225:38:137;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18203:62;;18271:28;18316:11;:18;-1:-1:-1;;;;;18302:33:137;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18302:33:137;;18271:64;;18341:17;18369:9;18364:159;18384:11;:18;18380:1;:22;18364:159;;;18470:11;18452;18464:1;18452:14;;;;;;;;:::i;:::-;;;;;;;18435;:31;;;;:::i;:::-;18434:47;;;;:::i;:::-;18417:11;18429:1;18417:14;;;;;;;;:::i;:::-;;;;;;:64;;;;;18502:11;18514:1;18502:14;;;;;;;;:::i;:::-;;;;;;;18489:27;;;;;:::i;:::-;;-1:-1:-1;18404:3:137;;;;:::i;:::-;;;;18364:159;;;;18544:14;18532:9;:26;:52;;;;;18583:1;18562:11;:18;:22;18532:52;18528:117;;;18612:26;18629:9;18612:14;:26;:::i;:::-;18594:11;18606:1;18594:14;;;;;;;;:::i;:::-;;;;;;:44;;;;;;;:::i;:::-;;;-1:-1:-1;18528:117:137;18651:23;:48;18700:7;18709;18651:66;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18723:86;18748:7;18757;18766:6;18774:11;18787:14;18803:5;18723:24;:86::i;:::-;-1:-1:-1;;;;;18816:26:137;;;966:10:11;18857:7:137;18866;18875:18;18816:78;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18944:7;18933:9;-1:-1:-1;;;;;18906:67:137;18924:7;-1:-1:-1;;;;;18906:67:137;;18953:6;18961:11;18906:67;;;;;;;:::i;:::-;;;;;;;;15563:3415;;;;;;;;;;;15495:3483;;:::o;35108:152::-;35204:51;;-1:-1:-1;;;35204:51:137;;35182:7;;35204:23;;:37;;:51;;35242:7;;35251:3;;35204:51;;;:::i;24832:169::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;24945:51:137::1;::::0;-1:-1:-1;;;24945:51:137;;:22:::1;::::0;:36:::1;::::0;:51:::1;::::0;24982:13;;24945:51:::1;;;:::i;20845:429::-:0;20924:4;20937:13;20952:25;20981:67;:65;:67::i;:::-;:92;;;-1:-1:-1;;;;;20981:92:137;:119;21101:5;21108:41;21126:22;:20;:22::i;21108:41::-;20981:169;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20981:169:137;;;;;;;;;;;;:::i;:::-;20936:214;;;;21161:8;21156:93;;21223:5;21230:11;21186:56;;-1:-1:-1;;;21186:56:137;;;;;;;;;:::i;21156:93::-;-1:-1:-1;21261:8:137;20845:429;-1:-1:-1;;20845:429:137:o;32572:129::-;32655:41;;-1:-1:-1;;;32655:41:137;;;;;643:25:150;;;32633:7:137;;32655:18;;:32;;616:18:150;;32655:41:137;497:177:150;32762:129:137;32845:41;;-1:-1:-1;;;32845:41:137;;;;;643:25:150;;;32823:7:137;;32845:18;;:32;;616:18:150;;32845:41:137;497:177:150;29589:163:137;29650:4;29669:23;:37;29707:7;29716:30;29723:22;29737:7;29723:13;:22::i;29716:30::-;29669:78;;;;;;;;;;;;;;;;:::i;5662:138:0:-;5737:18;5750:4;5737:12;:18::i;:::-;3191:16;3202:4;3191:10;:16::i;:::-;5767:26:::1;5779:4;5785:7;5767:11;:26::i;30307:248:137:-:0;30387:4;30412:60;:58;:60::i;:::-;:72;-1:-1:-1;;;;;30412:72:137;:83;30505:5;30520:22;30534:7;30520:13;:22::i;:::-;30412:138;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;40832:167;40882:18;40915:60;:58;:60::i;:::-;:79;;;-1:-1:-1;;;;;40915:79:137;;40832:167;-1:-1:-1;40832:167:137:o;27461:252::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;27549:19:137::1;:35;27592:15;27615:60;:58;:60::i;:::-;:71;;;;;;;;;;-1:-1:-1::0;;;;;27615:71:137::1;-1:-1:-1::0;;;;;27615:85:137::1;;:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27549:159;::::0;-1:-1:-1;;;;;;27549:159:137::1;::::0;;;;;;::::1;37654:23:150::0;;;;27549:159:137::1;::::0;::::1;37636:42:150::0;37694:18;;;37687:34;37609:18;;27549:159:137::1;37456:271:150::0;29848:141:137;29945:39;;-1:-1:-1;;;29945:39:137;;29923:7;;29945:10;;:19;;:39;;29965:7;;29974:9;;29945:39;;;:::i;26341:205::-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;26476:65:137::1;::::0;-1:-1:-1;;;26476:65:137;;:22:::1;::::0;:43:::1;::::0;:65:::1;::::0;26520:20;;26476:65:::1;;;:::i;27204:197::-:0;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;:::-;27315:81:137::1;::::0;-1:-1:-1;;;27315:81:137;;::::1;::::0;::::1;643:25:150::0;;;27315:26:137::1;::::0;:54:::1;::::0;616:18:150;;27315:81:137::1;497:177:150::0;31246:125:137;31324:42;;-1:-1:-1;;;31324:42:137;;;;;643:25:150;;;31302:7:137;;31324:24;;:31;;616:18:150;;31324:42:137;497:177:150;35530:132:137;35612:45;;-1:-1:-1;;;35612:45:137;;;;;643:25:150;;;35590:7:137;;35612:23;;:36;;616:18:150;;35612:45:137;497:177:150;3443:202:0;3528:4;-1:-1:-1;;;;;;3551:47:0;;-1:-1:-1;;;3551:47:0;;:87;;-1:-1:-1;;;;;;;;;;1133:40:14;;;3602:36:0;1034:146:14;4148:103:0;4214:30;4225:4;966:10:11;4214::0;:30::i;:::-;4148:103;:::o;2787:177::-;2920:28;;2787:177::o;7270:387::-;7347:4;7363:30;7396:26;:24;:26::i;:::-;7363:59;;7437:22;7445:4;7451:7;7437;:22::i;:::-;7432:219;;7475:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7475:31:0;;;;;;;;;:38;;-1:-1:-1;;7475:38:0;7509:4;7475:38;;;7559:12;966:10:11;;887:96;7559:12:0;-1:-1:-1;;;;;7532:40:0;7550:7;-1:-1:-1;;;;;7532:40:0;7544:4;7532:40;;;;;;;;;;7593:4;7586:11;;;;;7432:219;7635:5;7628:12;;;;;7892:388;7970:4;7986:30;8019:26;:24;:26::i;:::-;7986:59;;8059:22;8067:4;8073:7;8059;:22::i;:::-;8055:219;;;8131:5;8097:14;;;;;;;;;;;-1:-1:-1;;;;;8097:31:0;;;;;;;;;;:39;;-1:-1:-1;;8097:39:0;;;8155:40;966:10:11;;8097:14:0;;8155:40;;8131:5;8155:40;8216:4;8209:11;;;;;7151:174:149;7283:32;;7151:174::o;4599:312:3:-;4679:4;-1:-1:-1;;;;;4688:6:3;4671:23;;;:120;;;4785:6;-1:-1:-1;;;;;4749:42:3;:32;-1:-1:-1;;;;;;;;;;;2035:53:24;-1:-1:-1;;;;;2035:53:24;;1957:138;4749:32:3;-1:-1:-1;;;;;4749:42:3;;;4671:120;4654:251;;;4865:29;;-1:-1:-1;;;4865:29:3;;;;;;;;;;;4654:251;4599:312::o;8695:98:137:-;-1:-1:-1;;;;;;;;;;;3191:16:0;3202:4;3191:10;:16::i;6052:538:3:-;6169:17;-1:-1:-1;;;;;6151:50:3;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6151:52:3;;;;;;;;-1:-1:-1;;6151:52:3;;;;;;;;;;;;:::i;:::-;;;6147:437;;6555:17;6513:60;;-1:-1:-1;;;6513:60:3;;;;;;;;:::i;6147:437::-;-1:-1:-1;;;;;;;;;;;6245:40:3;;6241:120;;6312:34;;-1:-1:-1;;;6312:34:3;;;;;643:25:150;;;616:18;;6312:34:3;497:177:150;6241:120:3;6374:54;6404:17;6423:4;6374:29;:54::i;5028:213::-;5102:4;-1:-1:-1;;;;;5111:6:3;5094:23;;5090:145;;5195:29;;-1:-1:-1;;;5195:29:3;;;;;;;;;;;14291:213:37;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;38389:36:150;38441:18;;;38434:34;;;38362:18;;14416:41:37;38208:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;19339:326:137:-;19507:19;19529:39;19538:5;19545:22;19559:7;19545:13;:22::i;19529:39::-;19507:61;;19574:86;19599:5;19606:7;19615:6;19623:11;19636;19649:10;19574:24;:86::i;12284:292:143:-;12371:4;12532:32;;;:23;:32;;;;;;;;-1:-1:-1;;;;;12532:39:143;;;;;;;;;;;;;;;12284:292::o;23700:259:137:-;23790:60;:58;:60::i;:::-;:80;;;-1:-1:-1;;;;;23790:80:137;:110;23908:7;23923:5;966:10:11;23790:164:137;;-1:-1:-1;;;;;;23790:164:137;;;;;;;;;;38681:25:150;;;;-1:-1:-1;;;;;38780:15:150;;;38760:18;;;38753:43;38832:15;38812:18;;;38805:43;38654:18;;23790:164:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41240:132;41314:7;41355:10;41349:17;;;;;;;;:::i;:::-;41344:1;:22;;;;;;;41240:132;-1:-1:-1;;41240:132:137:o;21559:341::-;21651:10;21669:23;21695:14;21701:7;21695:5;:14::i;:::-;21669:40;-1:-1:-1;21779:1:137;21754:13;21719:32;21669:40;21719:18;:32::i;:::-;:48;:62;21715:156;;21827:7;21836:12;21850:13;21798:66;;-1:-1:-1;;;21798:66:137;;;;;;;;;;:::i;24487:196::-;24555:4;24574:60;:58;:60::i;:::-;:79;;;:104;;-1:-1:-1;;;24574:104:137;;-1:-1:-1;;;;;24574:79:137;;;;:93;;:104;;24668:9;;24574:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;24095:250;24180:41;;-1:-1:-1;;;24180:41:137;;;;;643:25:150;;;24161:16:137;;24180:18;;:32;;616:18:150;;24180:41:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24161:60;;24294:8;24246:19;:43;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24231:60;;:12;:60;:::i;:::-;:71;24227:113;;;24311:29;;-1:-1:-1;;;24311:29:137;;;;;643:25:150;;;616:18;;24311:29:137;497:177:150;19669:730:137;19871:68;19892:7;19901:37;19920:17;19901:18;:37::i;19871:68::-;;19986:23;:33;20020:7;20029:5;20036:6;20044:11;20057;20070:22;20084:7;20070:13;:22::i;:::-;19986:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20104:10;20100:295;;;20124:60;:58;:60::i;:::-;:80;;;-1:-1:-1;;;;;20124:80:137;:102;966:10:11;20258:5:137;20273:7;20290:18;20124:192;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20359:7;20352:5;-1:-1:-1;;;;;20329:59:137;;20368:6;20376:11;20329:59;;;;;;;:::i;:::-;;;;;;;;19669:730;;;;;;:::o;4381:197:0:-;4469:22;4477:4;4483:7;4469;:22::i;:::-;4464:108;;4547:7;4556:4;4514:47;;-1:-1:-1;;;4514:47:0;;;;;;;;;:::i;2779:335:24:-;2870:37;2889:17;2870:18;:37::i;:::-;2922:27;;-1:-1:-1;;;;;2922:27:24;;;;;;;;2964:11;;:15;2960:148;;2995:53;3024:17;3043:4;2995:28;:53::i;2960:148::-;3079:18;:16;:18::i;2186:281::-;2263:17;-1:-1:-1;;;;;2263:29:24;;2296:1;2263:34;2259:119;;2349:17;2320:47;;-1:-1:-1;;;2320:47:24;;;;;;;;:::i;2259:119::-;-1:-1:-1;;;;;;;;;;;2387:73:24;;-1:-1:-1;;;;;;2387:73:24;-1:-1:-1;;;;;2387:73:24;;;;;;;;;;2186:281::o;4106:253:32:-;4189:12;4214;4228:23;4255:6;-1:-1:-1;;;;;4255:19:32;4275:4;4255:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4213:67;;;;4297:55;4324:6;4332:7;4341:10;4297:26;:55::i;:::-;4290:62;4106:253;-1:-1:-1;;;;;4106:253:32:o;6598:122:24:-;6648:9;:13;6644:70;;6684:19;;-1:-1:-1;;;6684:19:24;;;;;;;;;;;4625:582:32;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:32;;;:23;5045:49;5041:119;;;5138:6;5121:24;;-1:-1:-1;;;5121:24:32;;;;;;;;:::i;5041:119::-;-1:-1:-1;5180:10:32;5173:17;;5743:516;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;-1:-1:-1;;;6225:17:32;;;;;;;;;;;14:286:150;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:150;;209:43;;199:71;;266:1;263;256:12;679:125;764:14;757:5;753:26;746:5;743:37;733:65;;794:1;791;784:12;809:245;867:6;920:2;908:9;899:7;895:23;891:32;888:52;;;936:1;933;926:12;888:52;975:9;962:23;994:30;1018:5;994:30;:::i;1267:180::-;1326:6;1379:2;1367:9;1358:7;1354:23;1350:32;1347:52;;;1395:1;1392;1385:12;1347:52;-1:-1:-1;1418:23:150;;1267:180;-1:-1:-1;1267:180:150:o;1819:250::-;1904:1;1914:113;1928:6;1925:1;1922:13;1914:113;;;2004:11;;;1998:18;1985:11;;;1978:39;1950:2;1943:10;1914:113;;;-1:-1:-1;;2061:1:150;2043:16;;2036:27;1819:250::o;2074:271::-;2116:3;2154:5;2148:12;2181:6;2176:3;2169:19;2197:76;2266:6;2259:4;2254:3;2250:14;2243:4;2236:5;2232:16;2197:76;:::i;:::-;2327:2;2306:15;-1:-1:-1;;2302:29:150;2293:39;;;;2334:4;2289:50;;2074:271;-1:-1:-1;;2074:271:150:o;2350:1592::-;2578:4;2607:2;2647;2636:9;2632:18;2677:2;2666:9;2659:21;2700:6;2735;2729:13;2766:6;2758;2751:22;2792:2;2782:12;;2825:2;2814:9;2810:18;2803:25;;2887:2;2877:6;2874:1;2870:14;2859:9;2855:30;2851:39;2925:2;2917:6;2913:15;2946:1;2956:957;2970:6;2967:1;2964:13;2956:957;;;3035:22;;;-1:-1:-1;;3031:36:150;3019:49;;3091:13;;3159:9;;3144:25;;3216:11;;;3210:18;-1:-1:-1;;;;;3206:44:150;3189:15;;;3182:69;3290:11;;;3284:18;3127:4;3322:15;;;3315:27;;;3127:4;3369:48;3401:15;;;3284:18;3369:48;:::i;:::-;3355:62;;;3440:4;3493:2;3489;3485:11;3479:18;3546:6;3538;3534:19;3529:2;3521:6;3517:15;3510:44;3581:41;3615:6;3599:14;3581:41;:::i;:::-;3645:4;3692:11;;;3686:18;3669:15;;;3662:43;3728:4;3789:11;;;3783:18;3776:26;3769:34;3752:15;;;;3745:59;;;;-1:-1:-1;;;3891:12:150;;;;3856:15;;;;2992:1;2985:9;2956:957;;;-1:-1:-1;3930:6:150;;2350:1592;-1:-1:-1;;;;;;;;2350:1592:150:o;3947:131::-;-1:-1:-1;;;;;4022:31:150;;4012:42;;4002:70;;4068:1;4065;4058:12;4083:315;4151:6;4159;4212:2;4200:9;4191:7;4187:23;4183:32;4180:52;;;4228:1;4225;4218:12;4180:52;4264:9;4251:23;4241:33;;4324:2;4313:9;4309:18;4296:32;4337:31;4362:5;4337:31;:::i;:::-;4387:5;4377:15;;;4083:315;;;;;:::o;4403:127::-;4464:10;4459:3;4455:20;4452:1;4445:31;4495:4;4492:1;4485:15;4519:4;4516:1;4509:15;4535:253;4607:2;4601:9;4649:4;4637:17;;-1:-1:-1;;;;;4669:34:150;;4705:22;;;4666:62;4663:88;;;4731:18;;:::i;:::-;4767:2;4760:22;4535:253;:::o;4793:275::-;4864:2;4858:9;4929:2;4910:13;;-1:-1:-1;;4906:27:150;4894:40;;-1:-1:-1;;;;;4949:34:150;;4985:22;;;4946:62;4943:88;;;5011:18;;:::i;:::-;5047:2;5040:22;4793:275;;-1:-1:-1;4793:275:150:o;5073:183::-;5133:4;-1:-1:-1;;;;;5155:30:150;;5152:56;;;5188:18;;:::i;:::-;-1:-1:-1;5233:1:150;5229:14;5245:4;5225:25;;5073:183::o;5261:662::-;5315:5;5368:3;5361:4;5353:6;5349:17;5345:27;5335:55;;5386:1;5383;5376:12;5335:55;5422:6;5409:20;5448:4;5472:60;5488:43;5528:2;5488:43;:::i;:::-;5472:60;:::i;:::-;5566:15;;;5652:1;5648:10;;;;5636:23;;5632:32;;;5597:12;;;;5676:15;;;5673:35;;;5704:1;5701;5694:12;5673:35;5740:2;5732:6;5728:15;5752:142;5768:6;5763:3;5760:15;5752:142;;;5834:17;;5822:30;;5872:12;;;;5785;;5752:142;;;-1:-1:-1;5912:5:150;5261:662;-1:-1:-1;;;;;;5261:662:150:o;5928:348::-;6012:6;6065:2;6053:9;6044:7;6040:23;6036:32;6033:52;;;6081:1;6078;6071:12;6033:52;6108:23;;-1:-1:-1;;;;;6143:30:150;;6140:50;;;6186:1;6183;6176:12;6140:50;6209:61;6262:7;6253:6;6242:9;6238:22;6209:61;:::i;6281:315::-;6349:6;6357;6410:2;6398:9;6389:7;6385:23;6381:32;6378:52;;;6426:1;6423;6416:12;6378:52;6465:9;6452:23;6484:31;6509:5;6484:31;:::i;:::-;6534:5;6586:2;6571:18;;;;6558:32;;-1:-1:-1;;;6281:315:150:o;6601:127::-;6662:10;6657:3;6653:20;6650:1;6643:31;6693:4;6690:1;6683:15;6717:4;6714:1;6707:15;6733:141;6815:1;6808:5;6805:12;6795:46;;6821:18;;:::i;:::-;6850;;6733:141::o;6879:211::-;7027:2;7012:18;;7039:45;7016:9;7066:6;7039:45;:::i;7095:247::-;7154:6;7207:2;7195:9;7186:7;7182:23;7178:32;7175:52;;;7223:1;7220;7213:12;7175:52;7262:9;7249:23;7281:31;7306:5;7281:31;:::i;7347:435::-;7400:3;7438:5;7432:12;7465:6;7460:3;7453:19;7491:4;7520:2;7515:3;7511:12;7504:19;;7557:2;7550:5;7546:14;7578:1;7588:169;7602:6;7599:1;7596:13;7588:169;;;7663:13;;7651:26;;7697:12;;;;7732:15;;;;7624:1;7617:9;7588:169;;;-1:-1:-1;7773:3:150;;7347:435;-1:-1:-1;;;;;7347:435:150:o;7787:261::-;7966:2;7955:9;7948:21;7929:4;7986:56;8038:2;8027:9;8023:18;8015:6;7986:56;:::i;8053:383::-;8130:6;8138;8146;8199:2;8187:9;8178:7;8174:23;8170:32;8167:52;;;8215:1;8212;8205:12;8167:52;8251:9;8238:23;8228:33;;8311:2;8300:9;8296:18;8283:32;8324:31;8349:5;8324:31;:::i;:::-;8053:383;;8374:5;;-1:-1:-1;;;8426:2:150;8411:18;;;;8398:32;;8053:383::o;8761:248::-;8829:6;8837;8890:2;8878:9;8869:7;8865:23;8861:32;8858:52;;;8906:1;8903;8896:12;8858:52;-1:-1:-1;;8929:23:150;;;8999:2;8984:18;;;8971:32;;-1:-1:-1;8761:248:150:o;9014:220::-;9163:2;9152:9;9145:21;9126:4;9183:45;9224:2;9213:9;9209:18;9201:6;9183:45;:::i;9239:186::-;9287:4;-1:-1:-1;;;;;9309:30:150;;9306:56;;;9342:18;;:::i;:::-;-1:-1:-1;9408:2:150;9387:15;-1:-1:-1;;9383:29:150;9414:4;9379:40;;9239:186::o;9430:806::-;9507:6;9515;9568:2;9556:9;9547:7;9543:23;9539:32;9536:52;;;9584:1;9581;9574:12;9536:52;9623:9;9610:23;9642:31;9667:5;9642:31;:::i;:::-;9692:5;-1:-1:-1;9748:2:150;9733:18;;9720:32;-1:-1:-1;;;;;9764:30:150;;9761:50;;;9807:1;9804;9797:12;9761:50;9830:22;;9883:4;9875:13;;9871:27;-1:-1:-1;9861:55:150;;9912:1;9909;9902:12;9861:55;9948:2;9935:16;9973:48;9989:31;10017:2;9989:31;:::i;9973:48::-;10044:2;10037:5;10030:17;10084:7;10079:2;10074;10070;10066:11;10062:20;10059:33;10056:53;;;10105:1;10102;10095:12;10056:53;10160:2;10155;10151;10147:11;10142:2;10135:5;10131:14;10118:45;10204:1;10199:2;10194;10187:5;10183:14;10179:23;10172:34;10225:5;10215:15;;;;;9430:806;;;;;:::o;10241:1206::-;10368:6;10376;10384;10437:2;10425:9;10416:7;10412:23;10408:32;10405:52;;;10453:1;10450;10443:12;10405:52;10476:23;;;-1:-1:-1;10518:2:150;10556:18;;;10543:32;-1:-1:-1;;;;;10624:14:150;;;10621:34;;;10651:1;10648;10641:12;10621:34;10674:61;10727:7;10718:6;10707:9;10703:22;10674:61;:::i;:::-;10664:71;;10788:2;10777:9;10773:18;10760:32;10744:48;;10817:2;10807:8;10804:16;10801:36;;;10833:1;10830;10823:12;10801:36;-1:-1:-1;10856:24:150;;10911:4;10903:13;;10899:27;-1:-1:-1;10889:55:150;;10940:1;10937;10930:12;10889:55;10976:2;10963:16;10999:60;11015:43;11055:2;11015:43;:::i;10999:60::-;11093:15;;;11175:1;11171:10;;;;11163:19;;11159:28;;;11124:12;;;;11199:19;;;11196:39;;;11231:1;11228;11221:12;11196:39;11255:11;;;;11275:142;11291:6;11286:3;11283:15;11275:142;;;11357:17;;11345:30;;11308:12;;;;11395;;;;11275:142;;;11436:5;11426:15;;;;;;;10241:1206;;;;;:::o;12715:196::-;12889:14;12877:27;;;;12859:46;;12847:2;12832:18;;12715:196::o;12916:386::-;12983:6;12991;13044:2;13032:9;13023:7;13019:23;13015:32;13012:52;;;13060:1;13057;13050:12;13012:52;13099:9;13086:23;13118:31;13143:5;13118:31;:::i;:::-;13168:5;-1:-1:-1;13225:2:150;13210:18;;13197:32;13238;13197;13238;:::i;14735:231::-;-1:-1:-1;;;;;14927:32:150;;;;14909:51;;14897:2;14882:18;;14735:231::o;14971:121::-;15056:10;15049:5;15045:22;15038:5;15035:33;15025:61;;15082:1;15079;15072:12;15097:245;15155:6;15208:2;15196:9;15187:7;15183:23;15179:32;15176:52;;;15224:1;15221;15214:12;15176:52;15263:9;15250:23;15282:30;15306:5;15282:30;:::i;15627:184::-;15697:6;15750:2;15738:9;15729:7;15725:23;15721:32;15718:52;;;15766:1;15763;15756:12;15718:52;-1:-1:-1;15789:16:150;;15627:184;-1:-1:-1;15627:184:150:o;16025:290::-;16095:6;16148:2;16136:9;16127:7;16123:23;16119:32;16116:52;;;16164:1;16161;16154:12;16116:52;16190:16;;-1:-1:-1;;;;;16235:31:150;;16225:42;;16215:70;;16281:1;16278;16271:12;16320:249;16389:6;16442:2;16430:9;16421:7;16417:23;16413:32;16410:52;;;16458:1;16455;16448:12;16410:52;16490:9;16484:16;16509:30;16533:5;16509:30;:::i;17044:138::-;17123:13;;17145:31;17123:13;17145:31;:::i;:::-;17044:138;;;:::o;17187:442::-;17241:5;17294:3;17287:4;17279:6;17275:17;17271:27;17261:55;;17312:1;17309;17302:12;17261:55;17341:6;17335:13;17372:48;17388:31;17416:2;17388:31;:::i;17372:48::-;17445:2;17436:7;17429:19;17491:3;17484:4;17479:2;17471:6;17467:15;17463:26;17460:35;17457:55;;;17508:1;17505;17498:12;17457:55;17521:77;17595:2;17588:4;17579:7;17575:18;17568:4;17560:6;17556:17;17521:77;:::i;17634:164::-;17710:13;;17759;;17752:21;17742:32;;17732:60;;17788:1;17785;17778:12;17803:2174;17941:6;17972:2;18015;18003:9;17994:7;17990:23;17986:32;17983:52;;;18031:1;18028;18021:12;17983:52;18058:16;;-1:-1:-1;;;;;18123:14:150;;;18120:34;;;18150:1;18147;18140:12;18120:34;18188:6;18177:9;18173:22;18163:32;;18233:7;18226:4;18222:2;18218:13;18214:27;18204:55;;18255:1;18252;18245:12;18204:55;18284:2;18278:9;18307:60;18323:43;18363:2;18323:43;:::i;18307:60::-;18401:15;;;18483:1;18479:10;;;;18471:19;;18467:28;;;18432:12;;;;18507:19;;;18504:39;;;18539:1;18536;18529:12;18504:39;18571:2;18567;18563:11;18583:1364;18599:6;18594:3;18591:15;18583:1364;;;18678:3;18672:10;18714:2;18701:11;18698:19;18695:39;;;18730:1;18727;18720:12;18695:39;18757:20;;18829:4;18801:16;;;-1:-1:-1;;18797:30:150;18793:41;18790:131;;;18875:1;18904:2;18900;18893:14;18790:131;18947:22;;:::i;:::-;19010:2;19006;19002:11;18996:18;18989:5;18982:33;19038:2;19076:42;19114:2;19110;19106:11;19076:42;:::i;:::-;19071:2;19064:5;19060:14;19053:66;19142:2;19187;19183;19179:11;19173:18;19220:2;19210:8;19207:16;19204:106;;;19264:1;19293:2;19289;19282:14;19204:106;19346:65;19403:7;19398:2;19387:8;19383:2;19379:17;19375:26;19346:65;:::i;:::-;19341:2;19334:5;19330:14;19323:89;;19436:3;19425:14;;19482:3;19478:2;19474:12;19468:19;19516:2;19506:8;19503:16;19500:109;;;19561:1;19591:3;19586;19579:16;19500:109;19645:65;19702:7;19697:2;19686:8;19682:2;19678:17;19674:26;19645:65;:::i;:::-;19640:2;19633:5;19629:14;19622:89;;;19735:3;19789;19785:2;19781:12;19775:19;19769:3;19762:5;19758:15;19751:44;19832:41;19867:4;19863:2;19859:13;19832:41;:::i;:::-;19815:15;;;19808:66;-1:-1:-1;19887:18:150;;-1:-1:-1;19925:12:150;;;;18616;;18583:1364;;;-1:-1:-1;19966:5:150;17803:2174;-1:-1:-1;;;;;;;;17803:2174:150:o;19982:202::-;20049:6;20102:2;20090:9;20081:7;20077:23;20073:32;20070:52;;;20118:1;20115;20108:12;20070:52;20141:37;20168:9;20141:37;:::i;20189:344::-;20389:25;;;20462:4;20450:17;;;;20445:2;20430:18;;20423:45;20511:14;20504:22;20499:2;20484:18;;20477:50;20377:2;20362:18;;20189:344::o;20538:467::-;-1:-1:-1;;;;;20819:15:150;;;20801:34;;20871:15;;20866:2;20851:18;;20844:43;20923:2;20918;20903:18;;20896:30;;;20744:4;;20943:56;;20980:18;;20972:6;20943:56;:::i;21010:301::-;-1:-1:-1;;;;;21208:32:150;;;;21190:51;;21289:14;21277:27;21272:2;21257:18;;21250:55;21178:2;21163:18;;21010:301::o;21316:256::-;21498:25;;;21554:2;21539:18;;21532:34;21486:2;21471:18;;21316:256::o;21793:659::-;21858:5;21911:3;21904:4;21896:6;21892:17;21888:27;21878:55;;21929:1;21926;21919:12;21878:55;21958:6;21952:13;21984:4;22008:60;22024:43;22064:2;22024:43;:::i;22008:60::-;22102:15;;;22188:1;22184:10;;;;22172:23;;22168:32;;;22133:12;;;;22212:15;;;22209:35;;;22240:1;22237;22230:12;22209:35;22276:2;22268:6;22264:15;22288:135;22304:6;22299:3;22296:15;22288:135;;;22370:10;;22358:23;;22401:12;;;;22321;;22288:135;;22457:363;22552:6;22605:2;22593:9;22584:7;22580:23;22576:32;22573:52;;;22621:1;22618;22611:12;22573:52;22648:16;;-1:-1:-1;;;;;22676:30:150;;22673:50;;;22719:1;22716;22709:12;22673:50;22742:72;22806:7;22797:6;22786:9;22782:22;22742:72;:::i;23183:282::-;23365:25;;;-1:-1:-1;;;;;23426:32:150;23421:2;23406:18;;23399:60;23353:2;23338:18;;23183:282::o;23731:337::-;23811:6;23864:2;23852:9;23843:7;23839:23;23835:32;23832:52;;;23880:1;23877;23870:12;23832:52;23907:16;;-1:-1:-1;;;;;23935:30:150;;23932:50;;;23978:1;23975;23968:12;23932:50;24001:61;24054:7;24045:6;24034:9;24030:22;24001:61;:::i;25422:274::-;-1:-1:-1;;;;;25614:32:150;;;;25596:51;;25678:2;25663:18;;25656:34;25584:2;25569:18;;25422:274::o;25701:251::-;25771:6;25824:2;25812:9;25803:7;25799:23;25795:32;25792:52;;;25840:1;25837;25830:12;25792:52;25872:9;25866:16;25891:31;25916:5;25891:31;:::i;26848:402::-;-1:-1:-1;;;;;27112:15:150;;;27094:34;;27164:15;;;;27159:2;27144:18;;27137:43;27228:14;27216:27;;;27211:2;27196:18;;27189:55;27044:2;27029:18;;26848:402::o;27494:774::-;27592:6;27645:2;27633:9;27624:7;27620:23;27616:32;27613:52;;;27661:1;27658;27651:12;27613:52;27694:2;27688:9;27736:2;27724:15;;-1:-1:-1;;;;;27754:34:150;;27790:22;;;27751:62;27748:88;;;27816:18;;:::i;:::-;27852:2;27845:22;27889:16;;27914:31;27889:16;27914:31;:::i;:::-;27954:21;;28020:2;28005:18;;27999:25;28033:32;27999:25;28033:32;:::i;:::-;28093:2;28081:15;;28074:32;28151:2;28136:18;;28130:25;28164:32;28130:25;28164:32;:::i;:::-;28224:2;28212:15;;28205:32;28216:6;27494:774;-1:-1:-1;;;27494:774:150:o;28273:416::-;28359:6;28367;28420:2;28408:9;28399:7;28395:23;28391:32;28388:52;;;28436:1;28433;28426:12;28388:52;28459:37;28486:9;28459:37;:::i;:::-;28540:2;28525:18;;28519:25;28449:47;;-1:-1:-1;;;;;;28556:30:150;;28553:50;;;28599:1;28596;28589:12;28553:50;28622:61;28675:7;28666:6;28655:9;28651:22;28622:61;:::i;:::-;28612:71;;;28273:416;;;;;:::o;28694:540::-;-1:-1:-1;;;;;29003:15:150;;;28985:34;;29055:15;;29050:2;29035:18;;29028:43;29102:2;29087:18;;29080:34;;;29150:3;29145:2;29130:18;;29123:31;;;28928:4;;29171:57;;29208:19;;29200:6;29171:57;:::i;:::-;29163:65;28694:540;-1:-1:-1;;;;;;28694:540:150:o;29239:675::-;29377:6;29385;29393;29446:2;29434:9;29425:7;29421:23;29417:32;29414:52;;;29462:1;29459;29452:12;29414:52;29489:16;;-1:-1:-1;;;;;29554:14:150;;;29551:34;;;29581:1;29578;29571:12;29551:34;29604:72;29668:7;29659:6;29648:9;29644:22;29604:72;:::i;:::-;29594:82;;29722:2;29711:9;29707:18;29701:25;29685:41;;29751:2;29741:8;29738:16;29735:36;;;29767:1;29764;29757:12;29735:36;;29790:74;29856:7;29845:8;29834:9;29830:24;29790:74;:::i;:::-;29780:84;;;29904:2;29893:9;29889:18;29883:25;29873:35;;29239:675;;;;;:::o;32291:544::-;-1:-1:-1;;;;;32558:32:150;;32540:51;;32639:14;32627:27;;32622:2;32607:18;;32600:55;32703:10;32691:23;;32686:2;32671:18;;32664:51;32751:3;32746:2;32731:18;;32724:31;;;-1:-1:-1;;32772:57:150;;32809:19;;32801:6;32772:57;:::i;32840:127::-;32901:10;32896:3;32892:20;32889:1;32882:31;32932:4;32929:1;32922:15;32956:4;32953:1;32946:15;32972:125;33037:9;;;33058:10;;;33055:36;;;33071:18;;:::i;33470:476::-;33733:6;33722:9;33715:25;33776:6;33771:2;33760:9;33756:18;33749:34;33819:6;33814:2;33803:9;33799:18;33792:34;33862:3;33857:2;33846:9;33842:18;33835:31;33696:4;33883:57;33935:3;33924:9;33920:19;33912:6;33883:57;:::i;34230:614::-;34359:6;34367;34420:2;34408:9;34399:7;34395:23;34391:32;34388:52;;;34436:1;34433;34426:12;34388:52;34463:16;;-1:-1:-1;;;;;34528:14:150;;;34525:34;;;34555:1;34552;34545:12;34525:34;34578:72;34642:7;34633:6;34622:9;34618:22;34578:72;:::i;:::-;34568:82;;34696:2;34685:9;34681:18;34675:25;34659:41;;34725:2;34715:8;34712:16;34709:36;;;34741:1;34738;34731:12;34709:36;;34764:74;34830:7;34819:8;34808:9;34804:24;34764:74;:::i;34849:127::-;34910:10;34905:3;34901:20;34898:1;34891:31;34941:4;34938:1;34931:15;34965:4;34962:1;34955:15;34981:168;35054:9;;;35085;;35102:15;;;35096:22;;35082:37;35072:71;;35123:18;;:::i;35154:217::-;35194:1;35220;35210:132;;35264:10;35259:3;35255:20;35252:1;35245:31;35299:4;35296:1;35289:15;35327:4;35324:1;35317:15;35210:132;-1:-1:-1;35356:9:150;;35154:217::o;35376:135::-;35415:3;35436:17;;;35433:43;;35456:18;;:::i;:::-;-1:-1:-1;35503:1:150;35492:13;;35376:135::o;35516:128::-;35583:9;;;35604:11;;;35601:37;;;35618:18;;:::i;35649:520::-;-1:-1:-1;;;;;35953:15:150;;;35935:34;;36005:15;;36000:2;35985:18;;35978:43;36052:2;36037:18;;36030:34;;;35884:3;35869:19;;36094:1;36083:13;;36073:47;;36100:18;;:::i;:::-;36156:6;36151:2;36140:9;36136:18;36129:34;35649:520;;;;;;;:::o;36174:465::-;36431:2;36420:9;36413:21;36394:4;36457:56;36509:2;36498:9;36494:18;36486:6;36457:56;:::i;:::-;36561:9;36553:6;36549:22;36544:2;36533:9;36529:18;36522:50;36589:44;36626:6;36618;36589:44;:::i;36881:317::-;-1:-1:-1;;;;;37058:32:150;;37040:51;;37127:2;37122;37107:18;;37100:30;;;-1:-1:-1;;37147:45:150;;37173:18;;37165:6;37147:45;:::i;38859:353::-;39075:25;;;39063:2;39048:18;;39109:54;39159:2;39144:18;;39136:6;39109:54;:::i;:::-;39199:6;39194:2;39183:9;39179:18;39172:34;38859:353;;;;;;:::o;39217:1126::-;39594:6;39583:9;39576:25;39557:4;39620:2;39687:1;39683;39678:3;39674:11;39670:19;39662:6;39658:32;39653:2;39642:9;39638:18;39631:60;39727:3;39722:2;39711:9;39707:18;39700:31;39754:57;39806:3;39795:9;39791:19;39783:6;39754:57;:::i;:::-;39847:22;;;39842:2;39827:18;;39820:50;39919:13;;39941:22;;;40017:15;;;;39979;;;40050:1;40060:169;40074:6;40071:1;40068:13;40060:169;;;40135:13;;40123:26;;40204:15;;;;40169:12;;;;40096:1;40089:9;40060:169;;;-1:-1:-1;;40280:3:150;40265:19;;40258:35;;;;-1:-1:-1;;;40324:3:150;40309:19;40302:35;40246:3;39217:1126;-1:-1:-1;;;;39217:1126:150:o;40627:287::-;40756:3;40794:6;40788:13;40810:66;40869:6;40864:3;40857:4;40849:6;40845:17;40810:66;:::i;:::-;40892:16;;;;;40627:287;-1:-1:-1;;40627:287:150:o"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","CONTRACTS_ADDRESS_MANAGER_ROLE()":"952f2133","DEFAULT_ADMIN_ROLE()":"a217fddf","GOVERNANCE_ROLE()":"f36c8f5c","ROUND_STARTER_ROLE()":"cd669a72","UPGRADER_ROLE()":"f72c0d8b","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","appSharesCap()":"bb7de6d4","baseAllocationPercentage()":"8ab52d4b","castNavigatorVote(address,uint256)":"be2a9f8f","castVote(uint256,bytes32[],uint256[])":"53ed6399","castVoteOnBehalfOf(address,uint256)":"a5ae08e9","citizenSkipWindowBlocks()":"abc517fd","clock()":"91ddadf4","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","disableAutoVotingFor(address)":"673fc724","finalizeRound(uint256)":"3469f6e2","getAppIdsOfRound(uint256)":"7ace2485","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","getAppsOfRound(uint256)":"291605f7","getDepositVotingPower(address,uint256)":"a56b5765","getRoleAdmin(bytes32)":"248a9ca3","getRound(uint256)":"8f1327c0","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","getTotalAutoVotingUsersAtRoundStart()":"a022756b","getTotalAutoVotingUsersAtTimepoint(uint48)":"059e952b","getTotalVotingPower(address,uint256)":"4cadad2f","getUserVotingPreferences(address)":"412caf0b","getVotes(address,uint256)":"eb9019d4","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hasUserVotedForApp(uint256,address,bytes32)":"42707a43","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","initializeV9(address,uint256)":"aa863286","isActive(uint256)":"82afd23b","isEligibleForVote(bytes32,uint256)":"d68b4c36","isFinalized(uint256)":"33727c4d","isUserAutoVotingEnabled(address)":"802d2709","isUserAutoVotingEnabledAtTimepoint(address,uint48)":"a461a94d","isUserAutoVotingEnabledForRound(address,uint256)":"3d4fd3c7","isUserAutoVotingEnabledInCurrentRound(address)":"5fb26367","latestSucceededRoundId(uint256)":"30097377","navigatorRegistry()":"e125f74e","proxiableUUID()":"52d1902d","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumPercentage()":"4fa76ec9","quorumReached(uint256)":"d4a8dd98","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","roundDeadline(uint256)":"d3a368bd","roundQuorum(uint256)":"59529edd","roundSnapshot(uint256)":"d06efeda","setAppSharesCap(uint256)":"74038935","setB3TRGovernor(address)":"78a81336","setBaseAllocationPercentage(uint256)":"f5fae136","setCitizenSkipWindowBlocks(uint256)":"9382c818","setEmissionsAddress(address)":"57181609","setNavigatorRegistry(address)":"f530108f","setRelayerRewardsPoolAddress(address)":"5dbdba6e","setUserVotingPreferences(bytes32[])":"3b395cbe","setVeBetterPassport(address)":"b3c93dab","setVoterRewardsAddress(address)":"b25d6f62","setVotingPeriod(uint32)":"e540d01d","setVotingThreshold(uint256)":"836761e0","setX2EarnAppsAddress(address)":"c048f6c9","startNewRound()":"bd85948c","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","toggleAutoVoting(address)":"8a829eda","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","updateQuorumNumerator(uint256)":"06f3f9e6","upgradeToAndCall(address,bytes)":"4f1ef286","validatePersonhoodForCurrentRound(address)":"cfea80ed","version()":"54fd4d50","votingPeriod()":"02a251a3","votingThreshold()":"62827733"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"AutoVotingNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"B3TRGovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"DelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicateAppVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentRound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"GovernorPersonhoodVerificationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"enum IXAllocationVotingGovernor.RoundState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedRoundState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"}],\"name\":\"NavigatorCannotEnableAutoVoting\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"NavigatorPreferencesNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"}],\"name\":\"NotDelegatedToNavigator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"SkipWindowNotReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"VoteAlreadyProcessed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"person\",\"type\":\"address\"}],\"name\":\"XAllocationVotingPersonhoodVerificationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationAutoVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPerson\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"appCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"AutoVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"fingerprint\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastChangedRound\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"FreshnessMultiplierApplied\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"NavigatorVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"navigator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"NavigatorVoteSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"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\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTRACTS_ADDRESS_MANAGER_ROLE\",\"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\":\"GOVERNANCE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROUND_STARTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"appSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"citizen\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castNavigatorVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"castVoteOnBehalfOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"citizenSkipWindowBlocks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"disableAutoVotingFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"finalizeRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppsOfRound\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getDepositVotingPower\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRound\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"voteStart\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"voteDuration\",\"type\":\"uint32\"}],\"internalType\":\"struct XAllocationVotingStorageTypes.RoundCore\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalAutoVotingUsersAtRoundStart\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"getTotalAutoVotingUsersAtTimepoint\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundStart\",\"type\":\"uint256\"}],\"name\":\"getTotalVotingPower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getUserVotingPreferences\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"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\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"hasUserVotedForApp\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"_navigatorRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_citizenSkipWindowBlocks\",\"type\":\"uint256\"}],\"name\":\"initializeV9\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isEligibleForVote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isUserAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isUserAutoVotingEnabledForRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUserAutoVotingEnabledInCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"navigatorRegistry\",\"outputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundQuorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"appSharesCap_\",\"type\":\"uint256\"}],\"name\":\"setAppSharesCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IB3TRGovernor\",\"name\":\"newB3TRGovernor\",\"type\":\"address\"}],\"name\":\"setB3TRGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseAllocationPercentage_\",\"type\":\"uint256\"}],\"name\":\"setBaseAllocationPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"setCitizenSkipWindowBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IEmissions\",\"name\":\"newEmissions\",\"type\":\"address\"}],\"name\":\"setEmissionsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INavigatorRegistry\",\"name\":\"newNavigatorRegistry\",\"type\":\"address\"}],\"name\":\"setNavigatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRelayerRewardsPool\",\"name\":\"newRelayerRewardsPool\",\"type\":\"address\"}],\"name\":\"setRelayerRewardsPoolAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"appIds\",\"type\":\"bytes32[]\"}],\"name\":\"setUserVotingPreferences\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVeBetterPassport\",\"name\":\"newVeBetterPassport\",\"type\":\"address\"}],\"name\":\"setVeBetterPassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IVoterRewards\",\"name\":\"newVoterRewards\",\"type\":\"address\"}],\"name\":\"setVoterRewardsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"newVotingPeriod\",\"type\":\"uint32\"}],\"name\":\"setVotingPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"setVotingThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IX2EarnApps\",\"name\":\"newX2EarnApps\",\"type\":\"address\"}],\"name\":\"setX2EarnAppsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startNewRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IXAllocationVotingGovernor.RoundState\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":\"user\",\"type\":\"address\"}],\"name\":\"toggleAutoVoting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"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\":\"voter\",\"type\":\"address\"}],\"name\":\"validatePersonhoodForCurrentRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Rounds are started by the Emissions contract.Interacts with the X2EarnApps contract to get the app data (eg: app IDs, app existence, eligible apps for each round).Interacts with the VotingRewards contract to save the user from casting a vote.The contract is using AccessControl to handle roles for admin, governance, and round-starting operations. ----- Version 2 ----- - Integrated VeBetterPassport - Added check to ensure that the vote weight for an XApp cast by a user is greater than the voting threshold ----- Version 3 ----- - Updated the X2EarnApps interface to support node endorsement feature ----- Version 4 ----- - Updated the X2EarnApps interface to support node cooldown functionality ----- Version 6 -----  - Align IVoterRewards and IEmissions interfaces with the new contracts ----- Version 7 ----- - Proposal Execution: Count proposal deposits to x-allocation voting power ----- Version 8 -----  - Added autovoting functionality allowing users to enable automatic voting with predefined app preferences ----- Version 9 -----  - Refactored from module inheritance to library architecture for contract size optimization  - Removed the following public functions to reduce contract size (accessible via libraries or storage reads):    - name(), initialize(), COUNTING_MODE()    - x2EarnApps(), emissions(), voterRewards(), veBetterPassport(), b3trGovernor(), relayerRewardsPool(), token()    - roundProposer(), getAndValidateVotingPower()  - Added freshness multiplier (XOR fingerprint) in RoundVotesCountingUtils via FreshnessUtils library  - New storage in RoundVotesCountingStorage: _lastVoteFingerprint, _lastFingerprintChangedRound, userVotedForApp  - New storage in ExternalContractsStorage: _navigatorRegistry (INavigatorRegistry)  - New function: castNavigatorVote(citizen, roundId) \\u2014 votes on behalf of navigator-delegated citizens    - Voting power = delegated amount at round snapshot (checkpointed in NavigatorRegistry)    - Uses navigator's allocation percentages (basis points, sum to 10000) converted to absolute weights    - Registers RelayerAction.VOTE for the caller  - New function: disableAutoVotingFor(user) \\u2014 privileged, callable only by NavigatorRegistry  - New events: NavigatorVoteCast, FreshnessMultiplierApplied  - New errors: NotDelegatedToNavigator, NavigatorPreferencesNotSet  - New initializer: initializeV9(INavigatorRegistry, uint256 citizenSkipWindowBlocks) \\u2014 reinitializer(8)  - setNavigatorRegistry() setter via ExternalContractsUtils  - citizenSkipWindowBlocks moved from constant to storage (VotingSettingsStorage), configurable per env  - setCitizenSkipWindowBlocks(uint256) governance-gated setter  - VotesUtils.getVotes() returns delegated amount when citizen has active navigator at snapshot  - Deprecated: getTotalVotingPower() is replaced by getVotes() ----- Version 10 -----  - Added _relayerVoteProcessed guard to prevent double-processing of relayer-mediated votes  - Both castVoteOnBehalfOf and castNavigatorVote now revert with VoteAlreadyProcessed on retry\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"AutoVotingEnabled(address)\":[{\"details\":\"The `voter` has auto-voting enabled.\"}],\"AutoVotingNotEnabled(address)\":[{\"details\":\"The `voter` has auto-voting not enabled.\"}],\"B3TRGovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"DelegatedToNavigator(address)\":[{\"details\":\"Citizen is delegated to a navigator and cannot vote manually\"}],\"DuplicateAppVote()\":[{\"details\":\"The `voter` has voted for the same app multiple times in the same transaction.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentRound(uint256)\":[{\"details\":\"The `roundId` doesn't exist.\"}],\"GovernorUnexpectedRoundState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a round is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each RoundState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the round is expected to not be in any state (i.e. not exist). This is the case when a round that is expected to be unset is already initiated (the round is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}],\"InvalidCaller(address)\":[{\"details\":\"The `caller` is not valid\"}],\"InvalidContractAddress(string)\":[{\"details\":\"Thrown when a zero address is provided for a contract address parameter\",\"params\":{\"contractName\":\"The name/type of the contract that cannot be zero address\"}}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NavigatorCannotEnableAutoVoting(address)\":[{\"details\":\"Navigator cannot enable auto-voting\"}],\"NavigatorPreferencesNotSet(address,uint256)\":[{\"details\":\"Navigator has not set allocation preferences for the round\"}],\"NotDelegatedToNavigator(address)\":[{\"details\":\"Citizen is not delegated to any navigator\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SkipWindowNotReached(uint256)\":[{\"details\":\"The skip window (minimum time into the round before skips are allowed) has not been reached\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}],\"VoteAlreadyProcessed(address,uint256)\":[{\"details\":\"The voter has already been processed (voted or skipped) for this round\"}],\"XAllocationVotingPersonhoodVerificationFailed(address)\":[{\"details\":\"The `person` is not identified as a person via the VeBetterPassport.\"}]},\"events\":{\"AllocationAutoVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a vote is cast on behalf of an account.\"},\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when votes are cast.\"},\"AutoVoteSkipped(address,uint256,bool,uint256,uint256)\":{\"details\":\"Emitted when auto-voting is skipped.\"},\"AutoVotingToggled(address,bool)\":{\"details\":\"Emitted when autovoting is toggled for an account.\"},\"FreshnessMultiplierApplied(address,uint256,bytes32,uint256,uint256)\":{\"details\":\"Emitted when a freshness multiplier is applied to a vote.\",\"params\":{\"fingerprint\":\"The XOR fingerprint of the voted apps\",\"lastChangedRound\":\"The round when the voter's fingerprint last changed\",\"multiplier\":\"The freshness multiplier applied (basis points, 10000 = 1x)\",\"roundId\":\"The round in which the vote was cast\",\"voter\":\"The voter address\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"NavigatorVoteCast(address,address,uint256,bytes32[],uint256[])\":{\"details\":\"Emitted when a navigator casts a vote on behalf of a delegated citizen\"},\"NavigatorVoteSkipped(address,address,uint256)\":{\"details\":\"Emitted when a navigator vote is skipped (navigator dead or no preferences set)\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"details\":\"Emitted when the preferred apps are updated for an account.\"},\"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.\"},\"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`)\"},\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a round is created.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"appSharesCap()\":{\"details\":\"Returns the max percentage of votes an app can get in a round.\"},\"baseAllocationPercentage()\":{\"details\":\"Returns the current base allocation percentage for funds distribution.\"},\"castNavigatorVote(address,uint256)\":{\"details\":\"Cast a vote on behalf of a citizen delegated to a navigator, or auto-skip if the      navigator is dead / has not set preferences (after the skip window). Decision flow:   1. Navigator dead at snapshot \\u2192 revert (citizen not delegated)   2. Navigator dead NOW \\u2192 skip immediately, reduce allocation vote expectation   3. Navigator alive + no preferences + skip window NOT reached \\u2192 revert (relayer retries later)   4. Navigator alive + no preferences + skip window reached \\u2192 skip   5. Navigator alive + preferences set + citizen not a person \\u2192 skip   6. Navigator alive + preferences set + citizen is a person \\u2192 vote normally\"},\"castVote(uint256,bytes32[],uint256[])\":{\"details\":\"Cast a vote for a set of x-2-earn applications.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"details\":\"Cast a vote for a set of x-2-earn applications on behalf of an account (used for autovoting).\"},\"citizenSkipWindowBlocks()\":{\"details\":\"Returns the citizen skip window in blocks\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints, as specified in EIP-6372. Matched to the token's clock.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"currentRoundDeadline()\":{\"details\":\"Returns the block number at which the current round ends.\"},\"currentRoundId()\":{\"details\":\"Returns the latest round id.\"},\"currentRoundSnapshot()\":{\"details\":\"Returns the block number at which the current round snapshot was taken.\"},\"disableAutoVotingFor(address)\":{\"details\":\"Disable autovoting for a user. Called by NavigatorRegistry when a citizen delegates. No-op if auto-voting is already disabled.\"},\"finalizeRound(uint256)\":{\"details\":\"Function to store the last succeeded round once a round ends.\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Returns the ids of the apps eligible for voting in a round.\"},\"getAppVotes(uint256,bytes32)\":{\"details\":\"Returns the total votes received by a specific app in a given round.\"},\"getAppVotesQF(uint256,bytes32)\":{\"details\":\"Returns the quadratic funding votes received by a specific app in a given round.\"},\"getAppsOfRound(uint256)\":{\"details\":\"Returns all the apps eligible for voting in a round with details.\"},\"getDepositVotingPower(address,uint256)\":{\"details\":\"Returns the deposit voting power for a given account at a given timepoint.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRound(uint256)\":{\"details\":\"Returns the data of a round.\"},\"getRoundAppSharesCap(uint256)\":{\"details\":\"Returns the app shares cap for a given round (snapshotted at round start).\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"details\":\"Returns the base allocation percentage for a given round (snapshotted at round start).\"},\"getTotalAutoVotingUsersAtRoundStart()\":{\"details\":\"Get the total number of users who enabled auto-voting at the last emission block\"},\"getTotalAutoVotingUsersAtTimepoint(uint48)\":{\"details\":\"Get the total number of users who enabled autovoting at a specific timepoint\"},\"getTotalVotingPower(address,uint256)\":{\"details\":\"Deprecated: use getVotes instead, which now includes deposit voting power.\"},\"getUserVotingPreferences(address)\":{\"details\":\"Get the voting preferences for an account\"},\"getVotes(address,uint256)\":{\"details\":\"Returns the available votes for a given account at a given timepoint.\"},\"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`.\"},\"hasUserVotedForApp(uint256,address,bytes32)\":{\"details\":\"Returns whether a user voted for a specific app in a given round.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether a user has voted in a given round.\"},\"hasVotedOnce(address)\":{\"details\":\"Returns whether a user has voted at least once across all rounds.\"},\"isActive(uint256)\":{\"details\":\"Checks if the specified round is in active state or not.\"},\"isEligibleForVote(bytes32,uint256)\":{\"details\":\"Checks if the given appId can be voted for in the given round.\"},\"isFinalized(uint256)\":{\"details\":\"Returns whether a round has been finalized.\"},\"isUserAutoVotingEnabled(address)\":{\"details\":\"Checks if auto-voting is enabled for an account\"},\"isUserAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Check if auto-voting is enabled for an account at a specific\",\"params\":{\"account\":\"The address to check\",\"timepoint\":\"block number\"}},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"details\":\"Checks if auto-voting is enabled for an account at the start of a specific round\"},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"details\":\"Checks if auto-voting is enabled for an account at the start of the current cycle\"},\"latestSucceededRoundId(uint256)\":{\"details\":\"Returns the last succeeded round for the given round.\"},\"navigatorRegistry()\":{\"details\":\"Get the NavigatorRegistry contract.\"},\"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.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a given timepoint, based on token total supply.\"},\"quorumDenominator()\":{\"details\":\"Returns the quorum denominator (always 100).\"},\"quorumNumerator()\":{\"details\":\"Returns the current quorum numerator (latest checkpoint).\"},\"quorumNumerator(uint256)\":{\"details\":\"Returns the quorum numerator at a specific timepoint.\"},\"quorumPercentage()\":{\"details\":\"Alias for quorumNumerator() \\u2014 returns the quorum as a percentage.\"},\"quorumReached(uint256)\":{\"details\":\"Checks if the quorum has been reached for a given round.\"},\"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 `callerConfirmation`. 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.\"},\"roundDeadline(uint256)\":{\"details\":\"Returns the block number when the round ends.\"},\"roundSnapshot(uint256)\":{\"details\":\"Returns the block number when the round starts (snapshot).\"},\"setAppSharesCap(uint256)\":{\"details\":\"Set the max amount of shares an app can get in a round\"},\"setB3TRGovernor(address)\":{\"details\":\"Set the B3TRGovernor contract\"},\"setBaseAllocationPercentage(uint256)\":{\"details\":\"Set the base allocation percentage for funds distribution in a round\"},\"setCitizenSkipWindowBlocks(uint256)\":{\"details\":\"Set the citizen skip window (blocks before round deadline when relayers can skip navigator votes)\"},\"setEmissionsAddress(address)\":{\"details\":\"Set the address of the Emissions contract\"},\"setNavigatorRegistry(address)\":{\"details\":\"Set the address of the NavigatorRegistry contract\"},\"setRelayerRewardsPoolAddress(address)\":{\"details\":\"Set the address of the RelayerRewardsPool contract\"},\"setUserVotingPreferences(bytes32[])\":{\"details\":\"Set the voting preferences for the caller\"},\"setVeBetterPassport(address)\":{\"details\":\"Set the VeBetterPassport contract\"},\"setVoterRewardsAddress(address)\":{\"details\":\"Set the address of the VoterRewards contract\"},\"setVotingPeriod(uint32)\":{\"details\":\"Set the voting period for a round\"},\"setVotingThreshold(uint256)\":{\"details\":\"Update the voting threshold. This operation can only be performed through a governance proposal. Emits a {VotingThresholdSet} event.\"},\"setX2EarnAppsAddress(address)\":{\"details\":\"Set the address of the X2EarnApps contract\"},\"startNewRound()\":{\"details\":\"Starts a new round of voting to allocate funds to x-2-earn applications. Orchestrates: finalize previous round \\u2192 create new round \\u2192 snapshot earnings \\u2192 setup auto-voting relayer actions\"},\"state(uint256)\":{\"details\":\"Returns the current state of a round.\"},\"toggleAutoVoting(address)\":{\"details\":\"Toggle autovoting for the caller\"},\"totalVoters(uint256)\":{\"details\":\"Returns the total number of voters in a given round.\"},\"totalVotes(uint256)\":{\"details\":\"Returns the total votes cast in a given round.\"},\"totalVotesQF(uint256)\":{\"details\":\"Returns the total quadratic funding votes cast in a given round.\"},\"updateQuorumNumerator(uint256)\":{\"details\":\"Update the quorum a round needs to reach to be successful\"},\"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.\"},\"validatePersonhoodForCurrentRound(address)\":{\"details\":\"Validate that the voter is a person at the current round snapshot\",\"params\":{\"voter\":\"The voter address\"}},\"version()\":{\"details\":\"Returns the version of the governor.\"},\"votingPeriod()\":{\"details\":\"See {IXAllocationVotingGovernor-votingPeriod}.\"},\"votingThreshold()\":{\"details\":\"Returns the minimum amount of tokens needed to cast a vote.\"}},\"stateVariables\":{\"ALL_ROUND_STATES_BITMAP\":{\"details\":\"Bitmask with every valid `RoundState` bit set: bit `i` is 1 for enum value `i` (same layout as      `_encodeStateBitmap`). `2 ** (max + 1) - 1` sets bits `0` through `type(RoundState).max` inclusive.\"}},\"title\":\"XAllocationVoting\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorPersonhoodVerificationFailed(address,string)\":[{\"notice\":\"The `voter` is not identified as a person via the VeBetterPassport.\"}]},\"kind\":\"user\",\"methods\":{\"CONTRACTS_ADDRESS_MANAGER_ROLE()\":{\"notice\":\"The role that can set the addresses of the contracts used by the VoterRewards contract.\"},\"GOVERNANCE_ROLE()\":{\"notice\":\"Role identifier for governance operations\"},\"ROUND_STARTER_ROLE()\":{\"notice\":\"Role identifier for the address that can start a new round\"},\"UPGRADER_ROLE()\":{\"notice\":\"Role identifier for the address that can upgrade the contract\"},\"castVote(uint256,bytes32[],uint256[])\":{\"notice\":\"Only addresses with a valid passport can vote.Reverts if autovoting is enabled for the voter.\"},\"castVoteOnBehalfOf(address,uint256)\":{\"notice\":\"Reverts if autovoting is not enabled for the voter.\"},\"getAppsOfRound(uint256)\":{\"notice\":\"Could be inefficient with a large number of apps; use {getAppIdsOfRound} + {IX2EarnApps-app} instead.\"},\"initializeV9(address,uint256)\":{\"notice\":\"Initialize V9: set NavigatorRegistry address and citizen skip window\"},\"isUserAutoVotingEnabledForRound(address,uint256)\":{\"notice\":\"Useful function for frontend to consume\"},\"isUserAutoVotingEnabledInCurrentRound(address)\":{\"notice\":\"Status changes mid-cycle will only take effect in the next cycle\"},\"roundQuorum(uint256)\":{\"notice\":\"Returns the quorum for a given round\"}},\"notice\":\"This contract handles the voting for the most supported x2Earn applications through periodic allocation rounds. The user's voting power is calculated on his VOT3 holdings at the start of each round, using a \\\"Quadratic Funding\\\" formula.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/XAllocationVoting.sol\":\"XAllocationVoting\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x3f13b947637c4969c0644cab4ef399cdc4b67f101463b8775c5a43b118558e53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6683e6ade6985d394d32baaef5eea0d8b9ff0b3eca86ae413d6cdde114a9930\",\"dweb:/ipfs/QmdBE8T1BTddZxpdECMsb3KiCFyjNWmxcCddYrWFTXmWPj\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef381843676aec64421200ee85eaa0b1356a35f28b9fc67e746a6bbb832077d9\",\"dweb:/ipfs/QmY8aorMYA2TeTCnu6ejDjzb4rW4t7TCtW4GZ6LoxTFm7v\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x06a78f9b3ee3e6d0eb4e4cd635ba49960bea34cac1db8c0a27c75f2319f1fd65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://547d21aa17f4f3f1a1a7edf7167beff8dd9496a0348d5588f15cc8a4b29d052a\",\"dweb:/ipfs/QmT16JtRQSWNpLo9W23jr6CzaMuTAcQcjJJcdRd8HLJ6cE\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/XAllocationVoting.sol\":{\"keccak256\":\"0x546a8fb906a74a92e0f10843bdbf1d38892b82ec697aacda2db8323b6a9f6aff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d0ca044b0cabcd9028a3b2a94c69a3aba92e1f8aa8ff2e67709dbbd7ef9040c\",\"dweb:/ipfs/QmThaLkT8jK5L1UaFnxMzwKzQejou3AmLqHH3FVnMGUNyf\"]},\"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol\":{\"keccak256\":\"0x42162bff61e2a31e160c3778d19fbf16dc8d70200bee77b0c36baa8f92d7f855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3e1bbb7e829f4a3b1a50cfebaef52619047549e900dc014ce6096e3242993f3\",\"dweb:/ipfs/QmPiSRTNJQPunAwVR9indpNKLZWH1WycVpo5qmyZAFrKdd\"]},\"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol\":{\"keccak256\":\"0x23258e2ea03da915eb7be5c1741ae01ea980d822cfb1a29df622b213db840f93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b5f5259d96b2452152147877a0e86274203ba1584a6ba9374ab56de483ad918\",\"dweb:/ipfs/QmZGwk5Lc7RM1RU7wHDnVZdmowJjYu5mhyVBtsqya5GCmA\"]},\"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol\":{\"keccak256\":\"0x191c83ec4ca9c8e02ca42f70b631525bdb33d38adcf6801af001ee4184f6c7b7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2445c25e52ab4ae91c2f44479f47360bfafec5f059b02e4c6221912524cfb2a8\",\"dweb:/ipfs/QmWTL9CqoAQVHLX4mk7SqYZGMX1wP2baia11xV5RwYVJt5\"]},\"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol\":{\"keccak256\":\"0x307348dda3f7794ee65b6d57297b3cb2914145ef1abd09a19d32d8efb143e924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fda589e1452e745863b9e6dbd0ea9a05ea819fd32aff4b28f84dbbbb351e7ad\",\"dweb:/ipfs/QmV1qN8NeX8GRvP6xD1vRSnvAmQZQP3QgCsYbRxw5mEppV\"]},\"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol\":{\"keccak256\":\"0xd907a07b39a21de46c9b7ddb7e2fd9fbcfe36df69ade8ead79256e8b6708a97c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7798f099f7c36d7a38f9c46ecefd4a29b7e162c0f745a97a29e4e77622b2fe1a\",\"dweb:/ipfs/QmQ2gHpnDEF8cRQsxc8Bw7oou6YqYry2sbJ1wReQiLjgMF\"]},\"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol\":{\"keccak256\":\"0xa311d512471dc9993a86fd315d81d98f93e01fb32bdfaa5548be27d1ca1d9ba2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2517b1ff30ebad7930c0d9f00bc76c9ed88fd02ea7099fa338f53e6ba8ac1383\",\"dweb:/ipfs/QmPkdZd4TMpSam2uHFZ9xQwzksm6cU7NVZeQixGAZrxkD5\"]},\"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol\":{\"keccak256\":\"0x36fd15fd1e1198c921cecc24b4e3f36c6001b2815f060f4e136b0dae546b2621\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a34eb82c770573781d1b44102191ee132507a1583a6f34583fa2632e176501d2\",\"dweb:/ipfs/QmTz1hpwE74WXrtFFBNvm4oM4jKAvxrufxFf6TLuRayi6V\"]},\"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol\":{\"keccak256\":\"0x5150e2d8f20e4f0d2b738fa7f311a0afb831759aaa3e5670315bce0095063cbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://284ca8044affe6919d9e62e87bad5196b2225da372c88cbb374c3dedc96e24e6\",\"dweb:/ipfs/QmVJMMT7mCVuVTb5H6dk334PoL7Mjpi9ekqbC3GzKPcXWW\"]},\"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol\":{\"keccak256\":\"0x1b0da96cf95560309c10c5cf200db15814538aefb7d3a3db93f9648527e3eeea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e17a91e76badb756c75879a8d8339c5f3a48e46dd3dcef50c91552e91e168c63\",\"dweb:/ipfs/QmYY87tyaxN4NdjXyf4ksdJsCtiPRKfAEg1JQCL6JYAHmC\"]},\"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol\":{\"keccak256\":\"0xdbb0c5907539cacffcf519e5dbfab00b4bbe0db8b9902e55a833c87cfc8b9cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://406a0284908e7ec2e7aa12734eb05ec92831be95d82fcbcf406790d85c46f588\",\"dweb:/ipfs/QmdEQxzTPZGsKA87eboyv77yWgD7kUukVm2D1R6S5rWuzf\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol\":{\"keccak256\":\"0x8ebd4466c002d8e3a86a275b74a034f7fe05debb31067c7605f84b250d59e568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eba6437d4a983b44f3fe350bd4805fa7c4f8d19f105100ea276bce326a359aaf\",\"dweb:/ipfs/Qmbd95pbEgcwejWrTjAadsJBBa2B1oGJztkTT7E5ANVApr\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol":{"AutoVotingLogic":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoVotingToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32[]","name":"apps","type":"bytes32[]"}],"name":"PreferredAppsUpdated","type":"event"},{"inputs":[{"internalType":"uint48","name":"clock","type":"uint48"}],"name":"getTotalAutoVotingUsers","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"getTotalAutoVotingUsersAtTimepoint","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getUserVotingPreferences","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isAutoVotingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timepoint","type":"uint48"}],"name":"isAutoVotingEnabledAtTimepoint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"xAllocationVotingGovernorAddress","type":"address"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32[]","name":"preferredApps","type":"bytes32[]"}],"name":"prepareAutoVoteArrays","outputs":[{"internalType":"bytes32[]","name":"finalAppIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"},{"internalType":"uint256","name":"votingPower","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"61166661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100825760003560e01c8063059e952b146100875780631f59dfd7146100b7578063217940a6146100da578063412caf0b146100fc578063528f108a1461011c578063642998811461012f578063ea66e04a1461014f578063fb9cd34614610087575b600080fd5b61009a6100953660046111e7565b610171565b6040516001600160d01b0390911681526020015b60405180910390f35b6100ca6100c5366004611219565b610192565b60405190151581526020016100ae565b8180156100e657600080fd5b506100fa6100f536600461124c565b6101d8565b005b61010f61010a36600461128f565b6104e2565b6040516100ae91906112e5565b6100ca61012a36600461128f565b61055f565b81801561013b57600080fd5b506100fa61014a36600461139d565b6105a2565b61016261015d3660046113fa565b61087c565b6040516100ae93929190611461565b60008061017c610bd3565b905061018b6002820184610bf7565b9392505050565b60008061019d610bd3565b6001600160a01b03851660009081526020829052604090209091506101c29084610bf7565b6001600160d01b03166001149150505b92915050565b60006101e2610bd3565b6001600160a01b0384166000908152602082905260408120919250906102089084610bf7565b6001600160d01b03166001149050801585826103e05760405163cfea80ed60e01b81526001600160a01b03878116600483015282169063cfea80ed90602401602060405180830381865afa158015610264573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028891906114c1565b5060006102f78288846001600160a01b031663561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f291906114e3565b610cad565b915050806103615760405162461bcd60e51b815260206004820152602c60248201527f4175746f566f74696e674c6f6769633a206174206c65617374203120564f543360448201526b081a5cc81c995c5d5a5c995960a21b60648201526084015b60405180910390fd5b6001600160a01b03871660009081526001860160205260409020546103de5760405162461bcd60e51b815260206004820152602d60248201527f4175746f566f74696e674c6f6769633a206d7573742073656c6563742061742060448201526c06c65617374206f6e652061707609c1b6064820152608401610358565b505b8215610409576001600160a01b0386166000908152600185016020526040812061040991611153565b61044a85836104215761041c6000610d3f565b61042b565b61042b6001610d3f565b6001600160a01b03891660009081526020889052604090209190610d77565b506000905061045c6002860187610bf7565b905060008361047557610470600183611512565b610480565b610480826001611539565b9050610490600287018883610d77565b5050876001600160a01b03167f6baead299a74ec4ebb558b9c9507046309c90e561107f4776cef02327b526549856040516104cf911515815260200190565b60405180910390a2505050505050505050565b606060006104ee610bd3565b6001600160a01b0384166000908152600182016020908152604091829020805483518184028101840190945280845293945091929083018282801561055257602002820191906000526020600020905b81548152602001906001019080831161053e575b5050505050915050919050565b60008061056a610bd3565b6001600160a01b038416600090815260208290526040902090915061058e90610d91565b6001600160d01b0316600114915050919050565b60006105ac610bd3565b9050600082511161060b5760405162461bcd60e51b8152602060048201526024808201527f4175746f566f74696e674c6f6769633a206e6f206170707320746f20766f7465604482015263103337b960e11b6064820152608401610358565b600f825111156106765760405162461bcd60e51b815260206004820152603060248201527f4175746f566f74696e674c6f6769633a206d75737420766f746520666f72206c60448201526f657373207468616e203135206170707360801b6064820152608401610358565b8360005b835181101561080757816001600160a01b031663607bfb248583815181106106a4576106a4611559565b60200260200101516040518263ffffffff1660e01b81526004016106ca91815260200190565b602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906114c1565b6107565760405162461bcd60e51b815260206004820152601c60248201527b04175746f566f74696e674c6f6769633a20696e76616c6964206170760241b6044820152606401610358565b60005b818110156107f45784818151811061077357610773611559565b602002602001015185838151811061078d5761078d611559565b6020026020010151036107e25760405162461bcd60e51b815260206004820152601e60248201527f4175746f566f74696e674c6f6769633a206475706c69636174652061707000006044820152606401610358565b806107ec8161156f565b915050610759565b50806107ff8161156f565b91505061067a565b506001600160a01b03841660009081526001830160209081526040909120845161083392860190611174565b50836001600160a01b03167f3e3998ec06c031c887b2c4825699d96390034bafa666cc53be14a1b832a0654e8460405161086d9190611588565b60405180910390a25050505050565b6060806000808790506000806108d8838a856001600160a01b031663d06efeda8c6040518263ffffffff1660e01b81526004016108bb91815260200190565b602060405180830381865afa1580156102ce573d6000803e3d6000fd5b91509150819350806109075750506040805160008082526020820190815281830190925294509250610bc99050565b86516000816001600160401b03811115610923576109236112f8565b60405190808252806020026020018201604052801561094c578160200160208202803683370190505b5090506000805b83811015610a4657866001600160a01b031663d68b4c368c838151811061097c5761097c611559565b60200260200101518e6040518363ffffffff1660e01b81526004016109ab929190918252602082015260400190565b602060405180830381865afa1580156109c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ec91906114c1565b15610a36578a8181518110610a0357610a03611559565b6020026020010151838380610a179061156f565b945081518110610a2957610a29611559565b6020026020010181815250505b610a3f8161156f565b9050610953565b5080600003610a755750506040805160008082526020820190815281830190925297509550610bc99350505050565b806001600160401b03811115610a8d57610a8d6112f8565b604051908082528060200260200182016040528015610ab6578160200160208202803683370190505b509850806001600160401b03811115610ad157610ad16112f8565b604051908082528060200260200182016040528015610afa578160200160208202803683370190505b5097506000610b0982896115e2565b90506000610b17838a6115f6565b905060005b83811015610bbf57848181518110610b3657610b36611559565b60200260200101518c8281518110610b5057610b50611559565b602002602001018181525050828b8281518110610b6f57610b6f611559565b60200260200101818152505081811015610baf5760018b8281518110610b9757610b97611559565b60200260200101818151610bab919061160a565b9052505b610bb88161156f565b9050610b1c565b5050505050505050505b9450945094915050565b7f38ba4d920474025bc119851d51630794ab25dc91b5f613afc3c0e85f09fdc10090565b815460009081816005811115610c56576000610c1284610dca565b610c1c908561161d565b60008881526020902090915081015465ffffffffffff9081169087161015610c4657809150610c54565b610c5181600161160a565b92505b505b6000610c6487878585610eb2565b90508015610c9f57610c8987610c7b60018461161d565b600091825260209091200190565b54600160301b90046001600160d01b0316610ca2565b60005b979650505050505050565b604051633ae4067560e21b81526001600160a01b03838116600483015260248201839052600091829182919087169063eb9019d490604401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2691906114e3565b92505050670de0b6b3a76400008110155b935093915050565b60006001600160d01b03821115610d73576040516306dfcc6560e41b815260d0600482015260248101839052604401610358565b5090565b600080610d85858585610f14565b91509150935093915050565b80546000908015610dc157610dab83610c7b60018461161d565b54600160301b90046001600160d01b031661018b565b60009392505050565b600081600003610ddc57506000919050565b60006001610de98461108e565b901c6001901b90506001818481610e0257610e026115cc565b048201901c90506001818481610e1a57610e1a6115cc565b048201901c90506001818481610e3257610e326115cc565b048201901c90506001818481610e4a57610e4a6115cc565b048201901c90506001818481610e6257610e626115cc565b048201901c90506001818481610e7a57610e7a6115cc565b048201901c90506001818481610e9257610e926115cc565b048201901c905061018b81828581610eac57610eac6115cc565b04611122565b60005b81831015610f0c576000610ec98484611138565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ef857809250610f06565b610f0381600161160a565b93505b50610eb5565b509392505050565b825460009081908015611033576000610f3287610c7b60018561161d565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f8657604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fd25784610fa988610c7b60018661161d565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611023565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610d379050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610d37565b600080608083901c156110a357608092831c92015b604083901c156110b557604092831c92015b602083901c156110c757602092831c92015b601083901c156110d957601092831c92015b600883901c156110eb57600892831c92015b600483901c156110fd57600492831c92015b600283901c1561110f57600292831c92015b600183901c156101d25760010192915050565b6000818310611131578161018b565b5090919050565b600061114760028484186115e2565b61018b9084841661160a565b508054600082559060005260206000209081019061117191906111b7565b50565b8280548282559060005260206000209081019282156111af579160200282015b828111156111af578251825591602001919060010190611194565b50610d739291505b5b80821115610d7357600081556001016111b8565b803565ffffffffffff811681146111e257600080fd5b919050565b6000602082840312156111f957600080fd5b61018b826111cc565b80356001600160a01b03811681146111e257600080fd5b6000806040838503121561122c57600080fd5b61123583611202565b9150611243602084016111cc565b90509250929050565b60008060006060848603121561126157600080fd5b61126a84611202565b925061127860208501611202565b9150611286604085016111cc565b90509250925092565b6000602082840312156112a157600080fd5b61018b82611202565b600081518084526020808501945080840160005b838110156112da578151875295820195908201906001016112be565b509495945050505050565b60208152600061018b60208301846112aa565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261131f57600080fd5b813560206001600160401b038083111561133b5761133b6112f8565b8260051b604051601f19603f83011681018181108482111715611360576113606112f8565b60405293845285810183019383810192508785111561137e57600080fd5b83870191505b84821015610ca257813583529183019190830190611384565b6000806000606084860312156113b257600080fd5b6113bb84611202565b92506113c960208501611202565b915060408401356001600160401b038111156113e457600080fd5b6113f08682870161130e565b9150509250925092565b6000806000806080858703121561141057600080fd5b61141985611202565b935061142760208601611202565b92506040850135915060608501356001600160401b0381111561144957600080fd5b6114558782880161130e565b91505092959194509250565b60608152600061147460608301866112aa565b82810360208481019190915285518083528682019282019060005b818110156114ab5784518352938301939183019160010161148f565b5050809350505050826040830152949350505050565b6000602082840312156114d357600080fd5b8151801515811461018b57600080fd5b6000602082840312156114f557600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6001600160d01b03828116828216039080821115611532576115326114fc565b5092915050565b6001600160d01b03818116838216019080821115611532576115326114fc565b634e487b7160e01b600052603260045260246000fd5b600060018201611581576115816114fc565b5060010190565b6020808252825182820181905260009190848201906040850190845b818110156115c0578351835292840192918401916001016115a4565b50909695505050505050565b634e487b7160e01b600052601260045260246000fd5b6000826115f1576115f16115cc565b500490565b600082611605576116056115cc565b500690565b808201808211156101d2576101d26114fc565b818103818111156101d2576101d26114fc56fea2646970667358221220906ddb4bdce36e4a21e0a23bc2d843b6fae4cd6ca9e162e22543b8ac6dec788f64736f6c63430008140033","opcodes":"PUSH2 0x1666 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x82 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x59E952B EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x1F59DFD7 EQ PUSH2 0xB7 JUMPI DUP1 PUSH4 0x217940A6 EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x412CAF0B EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x528F108A EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0x64299881 EQ PUSH2 0x12F JUMPI DUP1 PUSH4 0xEA66E04A EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0xFB9CD346 EQ PUSH2 0x87 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9A PUSH2 0x95 CALLDATASIZE PUSH1 0x4 PUSH2 0x11E7 JUMP JUMPDEST PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCA PUSH2 0xC5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1219 JUMP JUMPDEST PUSH2 0x192 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xAE JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH2 0xF5 CALLDATASIZE PUSH1 0x4 PUSH2 0x124C JUMP JUMPDEST PUSH2 0x1D8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x10F PUSH2 0x10A CALLDATASIZE PUSH1 0x4 PUSH2 0x128F JUMP JUMPDEST PUSH2 0x4E2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAE SWAP2 SWAP1 PUSH2 0x12E5 JUMP JUMPDEST PUSH2 0xCA PUSH2 0x12A CALLDATASIZE PUSH1 0x4 PUSH2 0x128F JUMP JUMPDEST PUSH2 0x55F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x139D JUMP JUMPDEST PUSH2 0x5A2 JUMP JUMPDEST PUSH2 0x162 PUSH2 0x15D CALLDATASIZE PUSH1 0x4 PUSH2 0x13FA JUMP JUMPDEST PUSH2 0x87C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAE SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1461 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x17C PUSH2 0xBD3 JUMP JUMPDEST SWAP1 POP PUSH2 0x18B PUSH1 0x2 DUP3 ADD DUP5 PUSH2 0xBF7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19D PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x1C2 SWAP1 DUP5 PUSH2 0xBF7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E2 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP SWAP1 PUSH2 0x208 SWAP1 DUP5 PUSH2 0xBF7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP DUP1 ISZERO DUP6 DUP3 PUSH2 0x3E0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCFEA80ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP3 AND SWAP1 PUSH4 0xCFEA80ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x264 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x288 SWAP2 SWAP1 PUSH2 0x14C1 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x2F7 DUP3 DUP9 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2F2 SWAP2 SWAP1 PUSH2 0x14E3 JUMP JUMPDEST PUSH2 0xCAD JUMP JUMPDEST SWAP2 POP POP DUP1 PUSH2 0x361 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206174206C65617374203120564F5433 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x81A5CC81C995C5D5A5C9959 PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x3DE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206D7573742073656C65637420617420 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x6C65617374206F6E652061707 PUSH1 0x9C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x358 JUMP JUMPDEST POP JUMPDEST DUP3 ISZERO PUSH2 0x409 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x409 SWAP2 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x44A DUP6 DUP4 PUSH2 0x421 JUMPI PUSH2 0x41C PUSH1 0x0 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x42B JUMP JUMPDEST PUSH2 0x42B PUSH1 0x1 PUSH2 0xD3F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP9 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0xD77 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH2 0x45C PUSH1 0x2 DUP7 ADD DUP8 PUSH2 0xBF7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x475 JUMPI PUSH2 0x470 PUSH1 0x1 DUP4 PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x480 JUMP JUMPDEST PUSH2 0x480 DUP3 PUSH1 0x1 PUSH2 0x1539 JUMP JUMPDEST SWAP1 POP PUSH2 0x490 PUSH1 0x2 DUP8 ADD DUP9 DUP4 PUSH2 0xD77 JUMP JUMPDEST POP POP DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x6BAEAD299A74EC4EBB558B9C9507046309C90E561107F4776CEF02327B526549 DUP6 PUSH1 0x40 MLOAD PUSH2 0x4CF SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x4EE PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE SWAP4 SWAP5 POP SWAP2 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x552 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x53E JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x56A PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x58E SWAP1 PUSH2 0xD91 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5AC PUSH2 0xBD3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x60B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206E6F206170707320746F20766F7465 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x103337B9 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x358 JUMP JUMPDEST PUSH1 0xF DUP3 MLOAD GT ISZERO PUSH2 0x676 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206D75737420766F746520666F72206C PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x657373207468616E2031352061707073 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x358 JUMP JUMPDEST DUP4 PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x807 JUMPI DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x607BFB24 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x6A4 JUMPI PUSH2 0x6A4 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6CA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x70B SWAP2 SWAP1 PUSH2 0x14C1 JUMP JUMPDEST PUSH2 0x756 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x4175746F566F74696E674C6F6769633A20696E76616C69642061707 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x358 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7F4 JUMPI DUP5 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x773 JUMPI PUSH2 0x773 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x78D JUMPI PUSH2 0x78D PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x7E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206475706C6963617465206170700000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x358 JUMP JUMPDEST DUP1 PUSH2 0x7EC DUP2 PUSH2 0x156F JUMP JUMPDEST SWAP2 POP POP PUSH2 0x759 JUMP JUMPDEST POP DUP1 PUSH2 0x7FF DUP2 PUSH2 0x156F JUMP JUMPDEST SWAP2 POP POP PUSH2 0x67A JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP5 MLOAD PUSH2 0x833 SWAP3 DUP7 ADD SWAP1 PUSH2 0x1174 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x3E3998EC06C031C887B2C4825699D96390034BAFA666CC53BE14A1B832A0654E DUP5 PUSH1 0x40 MLOAD PUSH2 0x86D SWAP2 SWAP1 PUSH2 0x1588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 DUP1 DUP8 SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x8D8 DUP4 DUP11 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD06EFEDA DUP13 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8BB SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST SWAP2 POP SWAP2 POP DUP2 SWAP4 POP DUP1 PUSH2 0x907 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE SWAP5 POP SWAP3 POP PUSH2 0xBC9 SWAP1 POP JUMP JUMPDEST DUP7 MLOAD PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x923 JUMPI PUSH2 0x923 PUSH2 0x12F8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x94C JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA46 JUMPI DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD68B4C36 DUP13 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x97C JUMPI PUSH2 0x97C PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP15 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9AB SWAP3 SWAP2 SWAP1 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9EC SWAP2 SWAP1 PUSH2 0x14C1 JUMP JUMPDEST ISZERO PUSH2 0xA36 JUMPI DUP11 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xA03 JUMPI PUSH2 0xA03 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP4 DUP1 PUSH2 0xA17 SWAP1 PUSH2 0x156F JUMP JUMPDEST SWAP5 POP DUP2 MLOAD DUP2 LT PUSH2 0xA29 JUMPI PUSH2 0xA29 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP JUMPDEST PUSH2 0xA3F DUP2 PUSH2 0x156F JUMP JUMPDEST SWAP1 POP PUSH2 0x953 JUMP JUMPDEST POP DUP1 PUSH1 0x0 SUB PUSH2 0xA75 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE SWAP8 POP SWAP6 POP PUSH2 0xBC9 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xA8D JUMPI PUSH2 0xA8D PUSH2 0x12F8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xAB6 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP9 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xAD1 JUMPI PUSH2 0xAD1 PUSH2 0x12F8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xAFA JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP8 POP PUSH1 0x0 PUSH2 0xB09 DUP3 DUP10 PUSH2 0x15E2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xB17 DUP4 DUP11 PUSH2 0x15F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBBF JUMPI DUP5 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xB36 JUMPI PUSH2 0xB36 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP13 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB50 JUMPI PUSH2 0xB50 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP12 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB6F JUMPI PUSH2 0xB6F PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP2 DUP2 LT ISZERO PUSH2 0xBAF JUMPI PUSH1 0x1 DUP12 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB97 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH2 0xBAB SWAP2 SWAP1 PUSH2 0x160A JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST PUSH2 0xBB8 DUP2 PUSH2 0x156F JUMP JUMPDEST SWAP1 POP PUSH2 0xB1C JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x38BA4D920474025BC119851D51630794AB25DC91B5F613AFC3C0E85F09FDC100 SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xC56 JUMPI PUSH1 0x0 PUSH2 0xC12 DUP5 PUSH2 0xDCA JUMP JUMPDEST PUSH2 0xC1C SWAP1 DUP6 PUSH2 0x161D JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xC46 JUMPI DUP1 SWAP2 POP PUSH2 0xC54 JUMP JUMPDEST PUSH2 0xC51 DUP2 PUSH1 0x1 PUSH2 0x160A JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xC64 DUP8 DUP8 DUP6 DUP6 PUSH2 0xEB2 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xC9F JUMPI PUSH2 0xC89 DUP8 PUSH2 0xC7B PUSH1 0x1 DUP5 PUSH2 0x161D JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xCA2 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3AE40675 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 DUP3 SWAP2 SWAP1 DUP8 AND SWAP1 PUSH4 0xEB9019D4 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD02 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD26 SWAP2 SWAP1 PUSH2 0x14E3 JUMP JUMPDEST SWAP3 POP POP POP PUSH8 0xDE0B6B3A7640000 DUP2 LT ISZERO JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0xD73 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x358 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xD85 DUP6 DUP6 DUP6 PUSH2 0xF14 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0xDC1 JUMPI PUSH2 0xDAB DUP4 PUSH2 0xC7B PUSH1 0x1 DUP5 PUSH2 0x161D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x18B JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDDC JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDE9 DUP5 PUSH2 0x108E JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE02 JUMPI PUSH2 0xE02 PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE1A JUMPI PUSH2 0xE1A PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE32 JUMPI PUSH2 0xE32 PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE4A JUMPI PUSH2 0xE4A PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE62 JUMPI PUSH2 0xE62 PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE7A JUMPI PUSH2 0xE7A PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE92 JUMPI PUSH2 0xE92 PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x18B DUP2 DUP3 DUP6 DUP2 PUSH2 0xEAC JUMPI PUSH2 0xEAC PUSH2 0x15CC JUMP JUMPDEST DIV PUSH2 0x1122 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xF0C JUMPI PUSH1 0x0 PUSH2 0xEC9 DUP5 DUP5 PUSH2 0x1138 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xEF8 JUMPI DUP1 SWAP3 POP PUSH2 0xF06 JUMP JUMPDEST PUSH2 0xF03 DUP2 PUSH1 0x1 PUSH2 0x160A JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xEB5 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1033 JUMPI PUSH1 0x0 PUSH2 0xF32 DUP8 PUSH2 0xC7B PUSH1 0x1 DUP6 PUSH2 0x161D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xF86 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xFD2 JUMPI DUP5 PUSH2 0xFA9 DUP9 PUSH2 0xC7B PUSH1 0x1 DUP7 PUSH2 0x161D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1023 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0xD37 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0xD37 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x10A3 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x10B5 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x10C7 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x10D9 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x10EB JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x10FD JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x110F JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D2 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1131 JUMPI DUP2 PUSH2 0x18B JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1147 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x15E2 JUMP JUMPDEST PUSH2 0x18B SWAP1 DUP5 DUP5 AND PUSH2 0x160A JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1171 SWAP2 SWAP1 PUSH2 0x11B7 JUMP JUMPDEST POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x11AF JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x11AF JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1194 JUMP JUMPDEST POP PUSH2 0xD73 SWAP3 SWAP2 POP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xD73 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x11B8 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x11E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18B DUP3 PUSH2 0x11CC JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x11E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x122C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1235 DUP4 PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH2 0x1243 PUSH1 0x20 DUP5 ADD PUSH2 0x11CC JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x126A DUP5 PUSH2 0x1202 JUMP JUMPDEST SWAP3 POP PUSH2 0x1278 PUSH1 0x20 DUP6 ADD PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH2 0x1286 PUSH1 0x40 DUP6 ADD PUSH2 0x11CC JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18B DUP3 PUSH2 0x1202 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x12DA JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x12BE JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x18B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x12AA JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x131F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 GT ISZERO PUSH2 0x133B JUMPI PUSH2 0x133B PUSH2 0x12F8 JUMP JUMPDEST DUP3 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x1360 JUMPI PUSH2 0x1360 PUSH2 0x12F8 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP4 DUP5 MSTORE DUP6 DUP2 ADD DUP4 ADD SWAP4 DUP4 DUP2 ADD SWAP3 POP DUP8 DUP6 GT ISZERO PUSH2 0x137E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP2 POP JUMPDEST DUP5 DUP3 LT ISZERO PUSH2 0xCA2 JUMPI DUP2 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1384 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x13B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13BB DUP5 PUSH2 0x1202 JUMP JUMPDEST SWAP3 POP PUSH2 0x13C9 PUSH1 0x20 DUP6 ADD PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x13E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13F0 DUP7 DUP3 DUP8 ADD PUSH2 0x130E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1410 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1419 DUP6 PUSH2 0x1202 JUMP JUMPDEST SWAP4 POP PUSH2 0x1427 PUSH1 0x20 DUP7 ADD PUSH2 0x1202 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1449 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1455 DUP8 DUP3 DUP9 ADD PUSH2 0x130E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1474 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x12AA JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP6 MLOAD DUP1 DUP4 MSTORE DUP7 DUP3 ADD SWAP3 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x14AB JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x148F JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x18B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 DUP2 AND DUP3 DUP3 AND SUB SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1532 JUMPI PUSH2 0x1532 PUSH2 0x14FC JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1532 JUMPI PUSH2 0x1532 PUSH2 0x14FC JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1581 JUMPI PUSH2 0x1581 PUSH2 0x14FC JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x15C0 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x15A4 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x15F1 JUMPI PUSH2 0x15F1 PUSH2 0x15CC JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1605 JUMPI PUSH2 0x1605 PUSH2 0x15CC JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1D2 JUMPI PUSH2 0x1D2 PUSH2 0x14FC JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1D2 JUMPI PUSH2 0x1D2 PUSH2 0x14FC JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP1 PUSH14 0xDB4BDCE36E4A21E0A23BC2D843B6 STATICCALL 0xE4 0xCD PUSH13 0xA9E162E22543B8AC6DEC788F64 PUSH20 0x6F6C634300081400330000000000000000000000 ","sourceMap":"744:10270:138:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;744:10270:138;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getAndValidateVotingPower_79452":{"entryPoint":3245,"id":79452,"parameterSlots":3,"returnSlots":2},"@_getAutoVotingStorage_83098":{"entryPoint":3027,"id":83098,"parameterSlots":0,"returnSlots":1},"@_insert_9806":{"entryPoint":3860,"id":9806,"parameterSlots":3,"returnSlots":2},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":3762,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":4408,"id":6189,"parameterSlots":2,"returnSlots":1},"@getTotalAutoVotingUsersAtTimepoint_79658":{"entryPoint":369,"id":79658,"parameterSlots":1,"returnSlots":1},"@getTotalAutoVotingUsers_79682":{"entryPoint":null,"id":79682,"parameterSlots":1,"returnSlots":1},"@getUserVotingPreferences_79634":{"entryPoint":1250,"id":79634,"parameterSlots":1,"returnSlots":1},"@isAutoVotingEnabledAtTimepoint_79610":{"entryPoint":402,"id":79610,"parameterSlots":2,"returnSlots":1},"@isAutoVotingEnabled_79580":{"entryPoint":1375,"id":79580,"parameterSlots":1,"returnSlots":1},"@latest_9634":{"entryPoint":3473,"id":9634,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":4238,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":4386,"id":6166,"parameterSlots":2,"returnSlots":1},"@prepareAutoVoteArrays_79880":{"entryPoint":2172,"id":79880,"parameterSlots":4,"returnSlots":3},"@push_9437":{"entryPoint":3447,"id":9437,"parameterSlots":3,"returnSlots":2},"@setUserVotingPreferences_79553":{"entryPoint":1442,"id":79553,"parameterSlots":3,"returnSlots":0},"@sqrt_6504":{"entryPoint":3530,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":3391,"id":7210,"parameterSlots":1,"returnSlots":1},"@toggleAutoVoting_79418":{"entryPoint":472,"id":79418,"parameterSlots":3,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":3063,"id":9604,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":4610,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_bytes32_dyn":{"entryPoint":4878,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":4751,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":5021,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":5114,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_addresst_uint48":{"entryPoint":4684,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint48":{"entryPoint":4633,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":5313,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":5347,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48":{"entryPoint":4583,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint48":{"entryPoint":4556,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_array_bytes32_dyn":{"entryPoint":4778,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":4837,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":5512,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_library_reversed":{"entryPoint":5217,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint208":{"entryPoint":5433,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":5642,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":5602,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint208":{"entryPoint":5394,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":5661,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":5487,"id":null,"parameterSlots":1,"returnSlots":1},"mod_t_uint256":{"entryPoint":5622,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":5372,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":5580,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":5465,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":4856,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:11928:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"62:119:150","statements":[{"nodeType":"YulAssignment","src":"72:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"94:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"81:12:150"},"nodeType":"YulFunctionCall","src":"81:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"72:5:150"}]},{"body":{"nodeType":"YulBlock","src":"159:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"168:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"171:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"161:6:150"},"nodeType":"YulFunctionCall","src":"161:12:150"},"nodeType":"YulExpressionStatement","src":"161:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"123:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"141:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"130:3:150"},"nodeType":"YulFunctionCall","src":"130:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"120:2:150"},"nodeType":"YulFunctionCall","src":"120:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"113:6:150"},"nodeType":"YulFunctionCall","src":"113:45:150"},"nodeType":"YulIf","src":"110:65:150"}]},"name":"abi_decode_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"41:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"52:5:150","type":""}],"src":"14:167:150"},{"body":{"nodeType":"YulBlock","src":"255:115:150","statements":[{"body":{"nodeType":"YulBlock","src":"301:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"310:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"313:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"303:6:150"},"nodeType":"YulFunctionCall","src":"303:12:150"},"nodeType":"YulExpressionStatement","src":"303:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"276:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"285:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"272:3:150"},"nodeType":"YulFunctionCall","src":"272:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"297:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"268:3:150"},"nodeType":"YulFunctionCall","src":"268:32:150"},"nodeType":"YulIf","src":"265:52:150"},{"nodeType":"YulAssignment","src":"326:38:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"354:9:150"}],"functionName":{"name":"abi_decode_uint48","nodeType":"YulIdentifier","src":"336:17:150"},"nodeType":"YulFunctionCall","src":"336:28:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"326:6:150"}]}]},"name":"abi_decode_tuple_t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"221:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"232:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"244:6:150","type":""}],"src":"186:184:150"},{"body":{"nodeType":"YulBlock","src":"484:102:150","statements":[{"nodeType":"YulAssignment","src":"494:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"506:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"517:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"502:3:150"},"nodeType":"YulFunctionCall","src":"502:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"494:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"536:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"551:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"567:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"572:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"563:3:150"},"nodeType":"YulFunctionCall","src":"563:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"576:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"559:3:150"},"nodeType":"YulFunctionCall","src":"559:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"547:3:150"},"nodeType":"YulFunctionCall","src":"547:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"529:6:150"},"nodeType":"YulFunctionCall","src":"529:51:150"},"nodeType":"YulExpressionStatement","src":"529:51:150"}]},"name":"abi_encode_tuple_t_uint208__to_t_uint208__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"453:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"464:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"475:4:150","type":""}],"src":"375:211:150"},{"body":{"nodeType":"YulBlock","src":"640:124:150","statements":[{"nodeType":"YulAssignment","src":"650:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"672:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"659:12:150"},"nodeType":"YulFunctionCall","src":"659:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"650:5:150"}]},{"body":{"nodeType":"YulBlock","src":"742:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"751:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"754:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"744:6:150"},"nodeType":"YulFunctionCall","src":"744:12:150"},"nodeType":"YulExpressionStatement","src":"744:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"701:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"712:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"727:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"732:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"723:3:150"},"nodeType":"YulFunctionCall","src":"723:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"736:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"719:3:150"},"nodeType":"YulFunctionCall","src":"719:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"708:3:150"},"nodeType":"YulFunctionCall","src":"708:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"698:2:150"},"nodeType":"YulFunctionCall","src":"698:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"691:6:150"},"nodeType":"YulFunctionCall","src":"691:50:150"},"nodeType":"YulIf","src":"688:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"619:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"630:5:150","type":""}],"src":"591:173:150"},{"body":{"nodeType":"YulBlock","src":"855:172:150","statements":[{"body":{"nodeType":"YulBlock","src":"901:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"910:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"913:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"903:6:150"},"nodeType":"YulFunctionCall","src":"903:12:150"},"nodeType":"YulExpressionStatement","src":"903:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"876:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"885:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"872:3:150"},"nodeType":"YulFunctionCall","src":"872:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"897:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"868:3:150"},"nodeType":"YulFunctionCall","src":"868:32:150"},"nodeType":"YulIf","src":"865:52:150"},{"nodeType":"YulAssignment","src":"926:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"955:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"936:18:150"},"nodeType":"YulFunctionCall","src":"936:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"926:6:150"}]},{"nodeType":"YulAssignment","src":"974:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1006:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1017:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1002:3:150"},"nodeType":"YulFunctionCall","src":"1002:18:150"}],"functionName":{"name":"abi_decode_uint48","nodeType":"YulIdentifier","src":"984:17:150"},"nodeType":"YulFunctionCall","src":"984:37:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"974:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"813:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"824:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"836:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"844:6:150","type":""}],"src":"769:258:150"},{"body":{"nodeType":"YulBlock","src":"1135:92:150","statements":[{"nodeType":"YulAssignment","src":"1145:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1157:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1168:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1153:3:150"},"nodeType":"YulFunctionCall","src":"1153:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1145:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1187:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1212:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1205:6:150"},"nodeType":"YulFunctionCall","src":"1205:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1198:6:150"},"nodeType":"YulFunctionCall","src":"1198:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1180:6:150"},"nodeType":"YulFunctionCall","src":"1180:41:150"},"nodeType":"YulExpressionStatement","src":"1180:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1104:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1115:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1126:4:150","type":""}],"src":"1032:195:150"},{"body":{"nodeType":"YulBlock","src":"1335:229:150","statements":[{"body":{"nodeType":"YulBlock","src":"1381:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1390:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1393:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1383:6:150"},"nodeType":"YulFunctionCall","src":"1383:12:150"},"nodeType":"YulExpressionStatement","src":"1383:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1356:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1365:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1352:3:150"},"nodeType":"YulFunctionCall","src":"1352:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1377:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1348:3:150"},"nodeType":"YulFunctionCall","src":"1348:32:150"},"nodeType":"YulIf","src":"1345:52:150"},{"nodeType":"YulAssignment","src":"1406:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1435:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1416:18:150"},"nodeType":"YulFunctionCall","src":"1416:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1406:6:150"}]},{"nodeType":"YulAssignment","src":"1454:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1487:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1498:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1483:3:150"},"nodeType":"YulFunctionCall","src":"1483:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1464:18:150"},"nodeType":"YulFunctionCall","src":"1464:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1454:6:150"}]},{"nodeType":"YulAssignment","src":"1511:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1543:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1554:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1539:3:150"},"nodeType":"YulFunctionCall","src":"1539:18:150"}],"functionName":{"name":"abi_decode_uint48","nodeType":"YulIdentifier","src":"1521:17:150"},"nodeType":"YulFunctionCall","src":"1521:37:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1511:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1285:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1296:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1308:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1316:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1324:6:150","type":""}],"src":"1232:332:150"},{"body":{"nodeType":"YulBlock","src":"1639:116:150","statements":[{"body":{"nodeType":"YulBlock","src":"1685:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1694:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1697:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1687:6:150"},"nodeType":"YulFunctionCall","src":"1687:12:150"},"nodeType":"YulExpressionStatement","src":"1687:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1660:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1669:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1656:3:150"},"nodeType":"YulFunctionCall","src":"1656:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1681:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1652:3:150"},"nodeType":"YulFunctionCall","src":"1652:32:150"},"nodeType":"YulIf","src":"1649:52:150"},{"nodeType":"YulAssignment","src":"1710:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1739:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1720:18:150"},"nodeType":"YulFunctionCall","src":"1720:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1710:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1605:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1616:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1628:6:150","type":""}],"src":"1569:186:150"},{"body":{"nodeType":"YulBlock","src":"1821:374:150","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1851:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1845:5:150"},"nodeType":"YulFunctionCall","src":"1845:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1835:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1873:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"1878:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1866:6:150"},"nodeType":"YulFunctionCall","src":"1866:19:150"},"nodeType":"YulExpressionStatement","src":"1866:19:150"},{"nodeType":"YulVariableDeclaration","src":"1894:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1904:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1898:2:150","type":""}]},{"nodeType":"YulAssignment","src":"1917:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1928:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1933:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1924:3:150"},"nodeType":"YulFunctionCall","src":"1924:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1917:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1945:28:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1963:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1970:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1959:3:150"},"nodeType":"YulFunctionCall","src":"1959:14:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"1949:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1982:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1991:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1986:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2050:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2071:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2082:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2076:5:150"},"nodeType":"YulFunctionCall","src":"2076:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2064:6:150"},"nodeType":"YulFunctionCall","src":"2064:26:150"},"nodeType":"YulExpressionStatement","src":"2064:26:150"},{"nodeType":"YulAssignment","src":"2103:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2114:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2119:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2110:3:150"},"nodeType":"YulFunctionCall","src":"2110:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2103:3:150"}]},{"nodeType":"YulAssignment","src":"2135:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2149:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2157:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2145:3:150"},"nodeType":"YulFunctionCall","src":"2145:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2135:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2012:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"2015:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2009:2:150"},"nodeType":"YulFunctionCall","src":"2009:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2023:18:150","statements":[{"nodeType":"YulAssignment","src":"2025:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2034:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"2037:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2030:3:150"},"nodeType":"YulFunctionCall","src":"2030:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2025:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"2005:3:150","statements":[]},"src":"2001:169:150"},{"nodeType":"YulAssignment","src":"2179:10:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"2186:3:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2179:3:150"}]}]},"name":"abi_encode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1798:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1805:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1813:3:150","type":""}],"src":"1760:435:150"},{"body":{"nodeType":"YulBlock","src":"2359:110:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2376:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2387:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2369:6:150"},"nodeType":"YulFunctionCall","src":"2369:21:150"},"nodeType":"YulExpressionStatement","src":"2369:21:150"},{"nodeType":"YulAssignment","src":"2399:64:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2436:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2448:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2459:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2444:3:150"},"nodeType":"YulFunctionCall","src":"2444:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"2407:28:150"},"nodeType":"YulFunctionCall","src":"2407:56:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2399:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2328:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2339:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2350:4:150","type":""}],"src":"2200:269:150"},{"body":{"nodeType":"YulBlock","src":"2506:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2523:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2530:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2535:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2526:3:150"},"nodeType":"YulFunctionCall","src":"2526:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2516:6:150"},"nodeType":"YulFunctionCall","src":"2516:31:150"},"nodeType":"YulExpressionStatement","src":"2516:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2563:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2566:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2556:6:150"},"nodeType":"YulFunctionCall","src":"2556:15:150"},"nodeType":"YulExpressionStatement","src":"2556:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2587:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2590:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2580:6:150"},"nodeType":"YulFunctionCall","src":"2580:15:150"},"nodeType":"YulExpressionStatement","src":"2580:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2474:127:150"},{"body":{"nodeType":"YulBlock","src":"2670:838:150","statements":[{"body":{"nodeType":"YulBlock","src":"2719:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2728:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2731:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2721:6:150"},"nodeType":"YulFunctionCall","src":"2721:12:150"},"nodeType":"YulExpressionStatement","src":"2721:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2698:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2706:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2694:3:150"},"nodeType":"YulFunctionCall","src":"2694:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"2713:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2690:3:150"},"nodeType":"YulFunctionCall","src":"2690:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2683:6:150"},"nodeType":"YulFunctionCall","src":"2683:35:150"},"nodeType":"YulIf","src":"2680:55:150"},{"nodeType":"YulVariableDeclaration","src":"2744:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2767:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2754:12:150"},"nodeType":"YulFunctionCall","src":"2754:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2748:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2783:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2793:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2787:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2806:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2824:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2828:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2820:3:150"},"nodeType":"YulFunctionCall","src":"2820:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2832:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2816:3:150"},"nodeType":"YulFunctionCall","src":"2816:18:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2810:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2857:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2859:16:150"},"nodeType":"YulFunctionCall","src":"2859:18:150"},"nodeType":"YulExpressionStatement","src":"2859:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2849:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"2853:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2846:2:150"},"nodeType":"YulFunctionCall","src":"2846:10:150"},"nodeType":"YulIf","src":"2843:36:150"},{"nodeType":"YulVariableDeclaration","src":"2888:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2902:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"2905:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2898:3:150"},"nodeType":"YulFunctionCall","src":"2898:10:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"2892:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2917:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2937:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2931:5:150"},"nodeType":"YulFunctionCall","src":"2931:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2921:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2949:56:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2971:6:150"},{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"2987:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"2991:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2983:3:150"},"nodeType":"YulFunctionCall","src":"2983:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3000:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2996:3:150"},"nodeType":"YulFunctionCall","src":"2996:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2979:3:150"},"nodeType":"YulFunctionCall","src":"2979:25:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2967:3:150"},"nodeType":"YulFunctionCall","src":"2967:38:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2953:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3064:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3066:16:150"},"nodeType":"YulFunctionCall","src":"3066:18:150"},"nodeType":"YulExpressionStatement","src":"3066:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3023:10:150"},{"name":"_3","nodeType":"YulIdentifier","src":"3035:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3020:2:150"},"nodeType":"YulFunctionCall","src":"3020:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3043:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"3055:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3040:2:150"},"nodeType":"YulFunctionCall","src":"3040:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3017:2:150"},"nodeType":"YulFunctionCall","src":"3017:46:150"},"nodeType":"YulIf","src":"3014:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3102:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3106:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3095:6:150"},"nodeType":"YulFunctionCall","src":"3095:22:150"},"nodeType":"YulExpressionStatement","src":"3095:22:150"},{"nodeType":"YulVariableDeclaration","src":"3126:17:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3137:6:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3130:3:150","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3159:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3167:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3152:6:150"},"nodeType":"YulFunctionCall","src":"3152:18:150"},"nodeType":"YulExpressionStatement","src":"3152:18:150"},{"nodeType":"YulAssignment","src":"3179:22:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3190:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3198:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3186:3:150"},"nodeType":"YulFunctionCall","src":"3186:15:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3179:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"3210:38:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3232:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"3240:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3228:3:150"},"nodeType":"YulFunctionCall","src":"3228:15:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3245:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3224:3:150"},"nodeType":"YulFunctionCall","src":"3224:24:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"3214:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3276:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3285:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3288:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3278:6:150"},"nodeType":"YulFunctionCall","src":"3278:12:150"},"nodeType":"YulExpressionStatement","src":"3278:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"3263:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"3271:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3260:2:150"},"nodeType":"YulFunctionCall","src":"3260:15:150"},"nodeType":"YulIf","src":"3257:35:150"},{"nodeType":"YulVariableDeclaration","src":"3301:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3316:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3324:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3312:3:150"},"nodeType":"YulFunctionCall","src":"3312:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3305:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3392:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3413:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3431:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3418:12:150"},"nodeType":"YulFunctionCall","src":"3418:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3406:6:150"},"nodeType":"YulFunctionCall","src":"3406:30:150"},"nodeType":"YulExpressionStatement","src":"3406:30:150"},{"nodeType":"YulAssignment","src":"3449:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3460:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3465:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3456:3:150"},"nodeType":"YulFunctionCall","src":"3456:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3449:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3347:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"3352:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3344:2:150"},"nodeType":"YulFunctionCall","src":"3344:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3360:23:150","statements":[{"nodeType":"YulAssignment","src":"3362:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3373:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3378:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3369:3:150"},"nodeType":"YulFunctionCall","src":"3369:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3362:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3340:3:150","statements":[]},"src":"3336:142:150"},{"nodeType":"YulAssignment","src":"3487:15:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3496:6:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3487:5:150"}]}]},"name":"abi_decode_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2644:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"2652:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2660:5:150","type":""}],"src":"2606:902:150"},{"body":{"nodeType":"YulBlock","src":"3642:367:150","statements":[{"body":{"nodeType":"YulBlock","src":"3688:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3697:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3700:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3690:6:150"},"nodeType":"YulFunctionCall","src":"3690:12:150"},"nodeType":"YulExpressionStatement","src":"3690:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3663:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3672:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3659:3:150"},"nodeType":"YulFunctionCall","src":"3659:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3684:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3655:3:150"},"nodeType":"YulFunctionCall","src":"3655:32:150"},"nodeType":"YulIf","src":"3652:52:150"},{"nodeType":"YulAssignment","src":"3713:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3742:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3723:18:150"},"nodeType":"YulFunctionCall","src":"3723:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3713:6:150"}]},{"nodeType":"YulAssignment","src":"3761:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3794:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3805:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3790:3:150"},"nodeType":"YulFunctionCall","src":"3790:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3771:18:150"},"nodeType":"YulFunctionCall","src":"3771:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3761:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3818:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3849:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3860:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3845:3:150"},"nodeType":"YulFunctionCall","src":"3845:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3832:12:150"},"nodeType":"YulFunctionCall","src":"3832:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3822:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3907:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3916:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3919:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3909:6:150"},"nodeType":"YulFunctionCall","src":"3909:12:150"},"nodeType":"YulExpressionStatement","src":"3909:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3879:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3895:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3899:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3891:3:150"},"nodeType":"YulFunctionCall","src":"3891:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3903:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3887:3:150"},"nodeType":"YulFunctionCall","src":"3887:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3876:2:150"},"nodeType":"YulFunctionCall","src":"3876:30:150"},"nodeType":"YulIf","src":"3873:50:150"},{"nodeType":"YulAssignment","src":"3932:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3975:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"3986:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3971:3:150"},"nodeType":"YulFunctionCall","src":"3971:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3995:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"3942:28:150"},"nodeType":"YulFunctionCall","src":"3942:61:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3932:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3592:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3603:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3615:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3623:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3631:6:150","type":""}],"src":"3513:496:150"},{"body":{"nodeType":"YulBlock","src":"4160:419:150","statements":[{"body":{"nodeType":"YulBlock","src":"4207:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4216:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4219:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4209:6:150"},"nodeType":"YulFunctionCall","src":"4209:12:150"},"nodeType":"YulExpressionStatement","src":"4209:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4181:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4190:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4177:3:150"},"nodeType":"YulFunctionCall","src":"4177:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4202:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4173:3:150"},"nodeType":"YulFunctionCall","src":"4173:33:150"},"nodeType":"YulIf","src":"4170:53:150"},{"nodeType":"YulAssignment","src":"4232:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4261:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4242:18:150"},"nodeType":"YulFunctionCall","src":"4242:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4232:6:150"}]},{"nodeType":"YulAssignment","src":"4280:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4313:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4324:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4309:3:150"},"nodeType":"YulFunctionCall","src":"4309:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4290:18:150"},"nodeType":"YulFunctionCall","src":"4290:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4280:6:150"}]},{"nodeType":"YulAssignment","src":"4337:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4364:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4375:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4360:3:150"},"nodeType":"YulFunctionCall","src":"4360:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4347:12:150"},"nodeType":"YulFunctionCall","src":"4347:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4337:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4388:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4419:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4430:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4415:3:150"},"nodeType":"YulFunctionCall","src":"4415:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4402:12:150"},"nodeType":"YulFunctionCall","src":"4402:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4392:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4477:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4486:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4489:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4479:6:150"},"nodeType":"YulFunctionCall","src":"4479:12:150"},"nodeType":"YulExpressionStatement","src":"4479:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4449:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4465:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4469:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4461:3:150"},"nodeType":"YulFunctionCall","src":"4461:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4473:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4457:3:150"},"nodeType":"YulFunctionCall","src":"4457:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4446:2:150"},"nodeType":"YulFunctionCall","src":"4446:30:150"},"nodeType":"YulIf","src":"4443:50:150"},{"nodeType":"YulAssignment","src":"4502:71:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4545:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"4556:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4541:3:150"},"nodeType":"YulFunctionCall","src":"4541:22:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4565:7:150"}],"functionName":{"name":"abi_decode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"4512:28:150"},"nodeType":"YulFunctionCall","src":"4512:61:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4502:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4102:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4113:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4125:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4133:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4141:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4149:6:150","type":""}],"src":"4014:565:150"},{"body":{"nodeType":"YulBlock","src":"4849:618:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4866:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4877:2:150","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4859:6:150"},"nodeType":"YulFunctionCall","src":"4859:21:150"},"nodeType":"YulExpressionStatement","src":"4859:21:150"},{"nodeType":"YulVariableDeclaration","src":"4889:70:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4932:6:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4944:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4955:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4940:3:150"},"nodeType":"YulFunctionCall","src":"4940:18:150"}],"functionName":{"name":"abi_encode_array_bytes32_dyn","nodeType":"YulIdentifier","src":"4903:28:150"},"nodeType":"YulFunctionCall","src":"4903:56:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"4893:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4968:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4978:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4972:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5000:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5011:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4996:3:150"},"nodeType":"YulFunctionCall","src":"4996:18:150"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"5020:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5028:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5016:3:150"},"nodeType":"YulFunctionCall","src":"5016:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4989:6:150"},"nodeType":"YulFunctionCall","src":"4989:50:150"},"nodeType":"YulExpressionStatement","src":"4989:50:150"},{"nodeType":"YulVariableDeclaration","src":"5048:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"5059:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"5052:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5074:27:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5094:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5088:5:150"},"nodeType":"YulFunctionCall","src":"5088:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5078:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"5117:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"5125:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5110:6:150"},"nodeType":"YulFunctionCall","src":"5110:22:150"},"nodeType":"YulExpressionStatement","src":"5110:22:150"},{"nodeType":"YulAssignment","src":"5141:22:150","value":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"5152:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5160:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5148:3:150"},"nodeType":"YulFunctionCall","src":"5148:15:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5141:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"5172:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5190:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5198:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5186:3:150"},"nodeType":"YulFunctionCall","src":"5186:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"5176:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5210:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"5219:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5214:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5278:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5299:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5310:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5304:5:150"},"nodeType":"YulFunctionCall","src":"5304:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5292:6:150"},"nodeType":"YulFunctionCall","src":"5292:26:150"},"nodeType":"YulExpressionStatement","src":"5292:26:150"},{"nodeType":"YulAssignment","src":"5331:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5342:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5347:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5338:3:150"},"nodeType":"YulFunctionCall","src":"5338:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5331:3:150"}]},{"nodeType":"YulAssignment","src":"5363:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5377:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5385:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5373:3:150"},"nodeType":"YulFunctionCall","src":"5373:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5363:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5240:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"5243:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5237:2:150"},"nodeType":"YulFunctionCall","src":"5237:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5251:18:150","statements":[{"nodeType":"YulAssignment","src":"5253:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5262:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"5265:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5258:3:150"},"nodeType":"YulFunctionCall","src":"5258:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5253:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5233:3:150","statements":[]},"src":"5229:169:150"},{"nodeType":"YulAssignment","src":"5407:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"5415:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5407:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5438:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5449:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5434:3:150"},"nodeType":"YulFunctionCall","src":"5434:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"5454:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5427:6:150"},"nodeType":"YulFunctionCall","src":"5427:34:150"},"nodeType":"YulExpressionStatement","src":"5427:34:150"}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4802:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4813:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4821:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4829:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4840:4:150","type":""}],"src":"4584:883:150"},{"body":{"nodeType":"YulBlock","src":"5573:102:150","statements":[{"nodeType":"YulAssignment","src":"5583:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5595:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5606:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5591:3:150"},"nodeType":"YulFunctionCall","src":"5591:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5583:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5625:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5640:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5656:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5661:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5652:3:150"},"nodeType":"YulFunctionCall","src":"5652:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"5665:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5648:3:150"},"nodeType":"YulFunctionCall","src":"5648:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5636:3:150"},"nodeType":"YulFunctionCall","src":"5636:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5618:6:150"},"nodeType":"YulFunctionCall","src":"5618:51:150"},"nodeType":"YulExpressionStatement","src":"5618:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5542:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5553:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5564:4:150","type":""}],"src":"5472:203:150"},{"body":{"nodeType":"YulBlock","src":"5758:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"5804:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5813:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5816:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5806:6:150"},"nodeType":"YulFunctionCall","src":"5806:12:150"},"nodeType":"YulExpressionStatement","src":"5806:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5779:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"5788:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5775:3:150"},"nodeType":"YulFunctionCall","src":"5775:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"5800:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5771:3:150"},"nodeType":"YulFunctionCall","src":"5771:32:150"},"nodeType":"YulIf","src":"5768:52:150"},{"nodeType":"YulVariableDeclaration","src":"5829:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5848:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5842:5:150"},"nodeType":"YulFunctionCall","src":"5842:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5833:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5911:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5920:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5923:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5913:6:150"},"nodeType":"YulFunctionCall","src":"5913:12:150"},"nodeType":"YulExpressionStatement","src":"5913:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5880:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5901:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5894:6:150"},"nodeType":"YulFunctionCall","src":"5894:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5887:6:150"},"nodeType":"YulFunctionCall","src":"5887:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5877:2:150"},"nodeType":"YulFunctionCall","src":"5877:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5870:6:150"},"nodeType":"YulFunctionCall","src":"5870:40:150"},"nodeType":"YulIf","src":"5867:60:150"},{"nodeType":"YulAssignment","src":"5936:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"5946:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5936:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5724:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5735:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5747:6:150","type":""}],"src":"5680:277:150"},{"body":{"nodeType":"YulBlock","src":"6043:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"6089:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6098:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6101:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6091:6:150"},"nodeType":"YulFunctionCall","src":"6091:12:150"},"nodeType":"YulExpressionStatement","src":"6091:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6064:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6073:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6060:3:150"},"nodeType":"YulFunctionCall","src":"6060:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6085:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6056:3:150"},"nodeType":"YulFunctionCall","src":"6056:32:150"},"nodeType":"YulIf","src":"6053:52:150"},{"nodeType":"YulAssignment","src":"6114:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6130:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6124:5:150"},"nodeType":"YulFunctionCall","src":"6124:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6114:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6009:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6020:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6032:6:150","type":""}],"src":"5962:184:150"},{"body":{"nodeType":"YulBlock","src":"6325:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6342:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6353:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6335:6:150"},"nodeType":"YulFunctionCall","src":"6335:21:150"},"nodeType":"YulExpressionStatement","src":"6335:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6376:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6387:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6372:3:150"},"nodeType":"YulFunctionCall","src":"6372:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"6392:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6365:6:150"},"nodeType":"YulFunctionCall","src":"6365:30:150"},"nodeType":"YulExpressionStatement","src":"6365:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6415:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6426:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6411:3:150"},"nodeType":"YulFunctionCall","src":"6411:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206174206c65617374203120564f5433","kind":"string","nodeType":"YulLiteral","src":"6431:34:150","type":"","value":"AutoVotingLogic: at least 1 VOT3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6404:6:150"},"nodeType":"YulFunctionCall","src":"6404:62:150"},"nodeType":"YulExpressionStatement","src":"6404:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6486:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6497:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6482:3:150"},"nodeType":"YulFunctionCall","src":"6482:18:150"},{"hexValue":"206973207265717569726564","kind":"string","nodeType":"YulLiteral","src":"6502:14:150","type":"","value":" is required"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6475:6:150"},"nodeType":"YulFunctionCall","src":"6475:42:150"},"nodeType":"YulExpressionStatement","src":"6475:42:150"},{"nodeType":"YulAssignment","src":"6526:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6538:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6549:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6534:3:150"},"nodeType":"YulFunctionCall","src":"6534:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6526:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6302:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6316:4:150","type":""}],"src":"6151:408:150"},{"body":{"nodeType":"YulBlock","src":"6738:235:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6755:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6766:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6748:6:150"},"nodeType":"YulFunctionCall","src":"6748:21:150"},"nodeType":"YulExpressionStatement","src":"6748:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6789:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6800:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6785:3:150"},"nodeType":"YulFunctionCall","src":"6785:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"6805:2:150","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6778:6:150"},"nodeType":"YulFunctionCall","src":"6778:30:150"},"nodeType":"YulExpressionStatement","src":"6778:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6828:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6839:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6824:3:150"},"nodeType":"YulFunctionCall","src":"6824:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206d7573742073656c65637420617420","kind":"string","nodeType":"YulLiteral","src":"6844:34:150","type":"","value":"AutoVotingLogic: must select at "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6817:6:150"},"nodeType":"YulFunctionCall","src":"6817:62:150"},"nodeType":"YulExpressionStatement","src":"6817:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6899:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6910:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6895:3:150"},"nodeType":"YulFunctionCall","src":"6895:18:150"},{"hexValue":"6c65617374206f6e6520617070","kind":"string","nodeType":"YulLiteral","src":"6915:15:150","type":"","value":"least one app"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6888:6:150"},"nodeType":"YulFunctionCall","src":"6888:43:150"},"nodeType":"YulExpressionStatement","src":"6888:43:150"},{"nodeType":"YulAssignment","src":"6940:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6952:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6963:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6948:3:150"},"nodeType":"YulFunctionCall","src":"6948:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6940:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6715:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6729:4:150","type":""}],"src":"6564:409:150"},{"body":{"nodeType":"YulBlock","src":"7010:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7027:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7034:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7039:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7030:3:150"},"nodeType":"YulFunctionCall","src":"7030:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7020:6:150"},"nodeType":"YulFunctionCall","src":"7020:31:150"},"nodeType":"YulExpressionStatement","src":"7020:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7067:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7070:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7060:6:150"},"nodeType":"YulFunctionCall","src":"7060:15:150"},"nodeType":"YulExpressionStatement","src":"7060:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7091:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7094:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7084:6:150"},"nodeType":"YulFunctionCall","src":"7084:15:150"},"nodeType":"YulExpressionStatement","src":"7084:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"6978:127:150"},{"body":{"nodeType":"YulBlock","src":"7159:136:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7169:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7187:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"7192:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7183:3:150"},"nodeType":"YulFunctionCall","src":"7183:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7196:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7179:3:150"},"nodeType":"YulFunctionCall","src":"7179:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7173:2:150","type":""}]},{"nodeType":"YulAssignment","src":"7207:35:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7223:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7226:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7219:3:150"},"nodeType":"YulFunctionCall","src":"7219:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"7235:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7238:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7231:3:150"},"nodeType":"YulFunctionCall","src":"7231:10:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7215:3:150"},"nodeType":"YulFunctionCall","src":"7215:27:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"7207:4:150"}]},{"body":{"nodeType":"YulBlock","src":"7267:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"7269:16:150"},"nodeType":"YulFunctionCall","src":"7269:18:150"},"nodeType":"YulExpressionStatement","src":"7269:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"7257:4:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7263:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7254:2:150"},"nodeType":"YulFunctionCall","src":"7254:12:150"},"nodeType":"YulIf","src":"7251:38:150"}]},"name":"checked_sub_t_uint208","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"7141:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"7144:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"7150:4:150","type":""}],"src":"7110:185:150"},{"body":{"nodeType":"YulBlock","src":"7348:134:150","statements":[{"nodeType":"YulVariableDeclaration","src":"7358:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7376:3:150","type":"","value":"208"},{"kind":"number","nodeType":"YulLiteral","src":"7381:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7372:3:150"},"nodeType":"YulFunctionCall","src":"7372:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"7385:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7368:3:150"},"nodeType":"YulFunctionCall","src":"7368:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7362:2:150","type":""}]},{"nodeType":"YulAssignment","src":"7396:34:150","value":{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7411:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7414:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7407:3:150"},"nodeType":"YulFunctionCall","src":"7407:10:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"7423:1:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7426:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7419:3:150"},"nodeType":"YulFunctionCall","src":"7419:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7403:3:150"},"nodeType":"YulFunctionCall","src":"7403:27:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"7396:3:150"}]},{"body":{"nodeType":"YulBlock","src":"7454:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"7456:16:150"},"nodeType":"YulFunctionCall","src":"7456:18:150"},"nodeType":"YulExpressionStatement","src":"7456:18:150"}]},"condition":{"arguments":[{"name":"sum","nodeType":"YulIdentifier","src":"7445:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7450:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7442:2:150"},"nodeType":"YulFunctionCall","src":"7442:11:150"},"nodeType":"YulIf","src":"7439:37:150"}]},"name":"checked_add_t_uint208","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"7331:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"7334:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"7340:3:150","type":""}],"src":"7300:182:150"},{"body":{"nodeType":"YulBlock","src":"7582:92:150","statements":[{"nodeType":"YulAssignment","src":"7592:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7604:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7615:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7600:3:150"},"nodeType":"YulFunctionCall","src":"7600:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7592:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7634:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7659:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7652:6:150"},"nodeType":"YulFunctionCall","src":"7652:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7645:6:150"},"nodeType":"YulFunctionCall","src":"7645:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7627:6:150"},"nodeType":"YulFunctionCall","src":"7627:41:150"},"nodeType":"YulExpressionStatement","src":"7627:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7551:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7562:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7573:4:150","type":""}],"src":"7487:187:150"},{"body":{"nodeType":"YulBlock","src":"7853:226:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7870:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7881:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7863:6:150"},"nodeType":"YulFunctionCall","src":"7863:21:150"},"nodeType":"YulExpressionStatement","src":"7863:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7904:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7915:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7900:3:150"},"nodeType":"YulFunctionCall","src":"7900:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"7920:2:150","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7893:6:150"},"nodeType":"YulFunctionCall","src":"7893:30:150"},"nodeType":"YulExpressionStatement","src":"7893:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7943:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7954:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7939:3:150"},"nodeType":"YulFunctionCall","src":"7939:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206e6f206170707320746f20766f7465","kind":"string","nodeType":"YulLiteral","src":"7959:34:150","type":"","value":"AutoVotingLogic: no apps to vote"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7932:6:150"},"nodeType":"YulFunctionCall","src":"7932:62:150"},"nodeType":"YulExpressionStatement","src":"7932:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8014:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8025:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8010:3:150"},"nodeType":"YulFunctionCall","src":"8010:18:150"},{"hexValue":"20666f72","kind":"string","nodeType":"YulLiteral","src":"8030:6:150","type":"","value":" for"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8003:6:150"},"nodeType":"YulFunctionCall","src":"8003:34:150"},"nodeType":"YulExpressionStatement","src":"8003:34:150"},{"nodeType":"YulAssignment","src":"8046:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8058:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8069:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8054:3:150"},"nodeType":"YulFunctionCall","src":"8054:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8046:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7830:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7844:4:150","type":""}],"src":"7679:400:150"},{"body":{"nodeType":"YulBlock","src":"8258:238:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8275:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8286:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8268:6:150"},"nodeType":"YulFunctionCall","src":"8268:21:150"},"nodeType":"YulExpressionStatement","src":"8268:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8309:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8320:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8305:3:150"},"nodeType":"YulFunctionCall","src":"8305:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"8325:2:150","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8298:6:150"},"nodeType":"YulFunctionCall","src":"8298:30:150"},"nodeType":"YulExpressionStatement","src":"8298:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8348:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8359:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8344:3:150"},"nodeType":"YulFunctionCall","src":"8344:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206d75737420766f746520666f72206c","kind":"string","nodeType":"YulLiteral","src":"8364:34:150","type":"","value":"AutoVotingLogic: must vote for l"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8337:6:150"},"nodeType":"YulFunctionCall","src":"8337:62:150"},"nodeType":"YulExpressionStatement","src":"8337:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8419:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8430:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8415:3:150"},"nodeType":"YulFunctionCall","src":"8415:18:150"},{"hexValue":"657373207468616e2031352061707073","kind":"string","nodeType":"YulLiteral","src":"8435:18:150","type":"","value":"ess than 15 apps"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8408:6:150"},"nodeType":"YulFunctionCall","src":"8408:46:150"},"nodeType":"YulExpressionStatement","src":"8408:46:150"},{"nodeType":"YulAssignment","src":"8463:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8475:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8486:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8471:3:150"},"nodeType":"YulFunctionCall","src":"8471:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8463:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8235:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8249:4:150","type":""}],"src":"8084:412:150"},{"body":{"nodeType":"YulBlock","src":"8533:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8550:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8557:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8562:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8553:3:150"},"nodeType":"YulFunctionCall","src":"8553:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8543:6:150"},"nodeType":"YulFunctionCall","src":"8543:31:150"},"nodeType":"YulExpressionStatement","src":"8543:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8590:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8593:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8583:6:150"},"nodeType":"YulFunctionCall","src":"8583:15:150"},"nodeType":"YulExpressionStatement","src":"8583:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8614:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8617:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8607:6:150"},"nodeType":"YulFunctionCall","src":"8607:15:150"},"nodeType":"YulExpressionStatement","src":"8607:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"8501:127:150"},{"body":{"nodeType":"YulBlock","src":"8734:76:150","statements":[{"nodeType":"YulAssignment","src":"8744:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8756:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8767:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8752:3:150"},"nodeType":"YulFunctionCall","src":"8752:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8744:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8786:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"8797:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8779:6:150"},"nodeType":"YulFunctionCall","src":"8779:25:150"},"nodeType":"YulExpressionStatement","src":"8779:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8703:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8714:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8725:4:150","type":""}],"src":"8633:177:150"},{"body":{"nodeType":"YulBlock","src":"8989:178:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9006:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9017:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8999:6:150"},"nodeType":"YulFunctionCall","src":"8999:21:150"},"nodeType":"YulExpressionStatement","src":"8999:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9040:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9051:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9036:3:150"},"nodeType":"YulFunctionCall","src":"9036:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"9056:2:150","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9029:6:150"},"nodeType":"YulFunctionCall","src":"9029:30:150"},"nodeType":"YulExpressionStatement","src":"9029:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9079:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9090:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9075:3:150"},"nodeType":"YulFunctionCall","src":"9075:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a20696e76616c696420617070","kind":"string","nodeType":"YulLiteral","src":"9095:30:150","type":"","value":"AutoVotingLogic: invalid app"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9068:6:150"},"nodeType":"YulFunctionCall","src":"9068:58:150"},"nodeType":"YulExpressionStatement","src":"9068:58:150"},{"nodeType":"YulAssignment","src":"9135:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9147:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9158:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9143:3:150"},"nodeType":"YulFunctionCall","src":"9143:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9135:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8966:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8980:4:150","type":""}],"src":"8815:352:150"},{"body":{"nodeType":"YulBlock","src":"9346:180:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9363:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9374:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9356:6:150"},"nodeType":"YulFunctionCall","src":"9356:21:150"},"nodeType":"YulExpressionStatement","src":"9356:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9397:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9408:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9393:3:150"},"nodeType":"YulFunctionCall","src":"9393:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"9413:2:150","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9386:6:150"},"nodeType":"YulFunctionCall","src":"9386:30:150"},"nodeType":"YulExpressionStatement","src":"9386:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9436:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9447:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9432:3:150"},"nodeType":"YulFunctionCall","src":"9432:18:150"},{"hexValue":"4175746f566f74696e674c6f6769633a206475706c696361746520617070","kind":"string","nodeType":"YulLiteral","src":"9452:32:150","type":"","value":"AutoVotingLogic: duplicate app"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9425:6:150"},"nodeType":"YulFunctionCall","src":"9425:60:150"},"nodeType":"YulExpressionStatement","src":"9425:60:150"},{"nodeType":"YulAssignment","src":"9494:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9506:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9517:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9502:3:150"},"nodeType":"YulFunctionCall","src":"9502:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9494:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9323:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9337:4:150","type":""}],"src":"9172:354:150"},{"body":{"nodeType":"YulBlock","src":"9578:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"9609:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9611:16:150"},"nodeType":"YulFunctionCall","src":"9611:18:150"},"nodeType":"YulExpressionStatement","src":"9611:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9594:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9605:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9601:3:150"},"nodeType":"YulFunctionCall","src":"9601:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"9591:2:150"},"nodeType":"YulFunctionCall","src":"9591:17:150"},"nodeType":"YulIf","src":"9588:43:150"},{"nodeType":"YulAssignment","src":"9640:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9651:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"9658:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9647:3:150"},"nodeType":"YulFunctionCall","src":"9647:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"9640:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9560:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"9570:3:150","type":""}],"src":"9531:135:150"},{"body":{"nodeType":"YulBlock","src":"9822:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"9832:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9842:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9836:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9853:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9871:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9882:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9867:3:150"},"nodeType":"YulFunctionCall","src":"9867:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"9857:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9901:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9912:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9894:6:150"},"nodeType":"YulFunctionCall","src":"9894:21:150"},"nodeType":"YulExpressionStatement","src":"9894:21:150"},{"nodeType":"YulVariableDeclaration","src":"9924:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"9935:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"9928:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9950:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9970:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9964:5:150"},"nodeType":"YulFunctionCall","src":"9964:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9954:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"9993:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"10001:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9986:6:150"},"nodeType":"YulFunctionCall","src":"9986:22:150"},"nodeType":"YulExpressionStatement","src":"9986:22:150"},{"nodeType":"YulAssignment","src":"10017:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10028:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10039:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10024:3:150"},"nodeType":"YulFunctionCall","src":"10024:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10017:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"10051:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10069:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10077:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10065:3:150"},"nodeType":"YulFunctionCall","src":"10065:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"10055:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10089:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"10098:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"10093:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"10157:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10178:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"10189:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10183:5:150"},"nodeType":"YulFunctionCall","src":"10183:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10171:6:150"},"nodeType":"YulFunctionCall","src":"10171:26:150"},"nodeType":"YulExpressionStatement","src":"10171:26:150"},{"nodeType":"YulAssignment","src":"10210:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10221:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10226:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10217:3:150"},"nodeType":"YulFunctionCall","src":"10217:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10210:3:150"}]},{"nodeType":"YulAssignment","src":"10242:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"10256:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"10264:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10252:3:150"},"nodeType":"YulFunctionCall","src":"10252:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"10242:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"10119:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"10122:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10116:2:150"},"nodeType":"YulFunctionCall","src":"10116:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"10130:18:150","statements":[{"nodeType":"YulAssignment","src":"10132:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"10141:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"10144:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10137:3:150"},"nodeType":"YulFunctionCall","src":"10137:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"10132:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"10112:3:150","statements":[]},"src":"10108:169:150"},{"nodeType":"YulAssignment","src":"10286:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"10294:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10286:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9791:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9802:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9813:4:150","type":""}],"src":"9671:632:150"},{"body":{"nodeType":"YulBlock","src":"10409:76:150","statements":[{"nodeType":"YulAssignment","src":"10419:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10431:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10442:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10427:3:150"},"nodeType":"YulFunctionCall","src":"10427:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10419:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10461:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10472:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10454:6:150"},"nodeType":"YulFunctionCall","src":"10454:25:150"},"nodeType":"YulExpressionStatement","src":"10454:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10378:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10389:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10400:4:150","type":""}],"src":"10308:177:150"},{"body":{"nodeType":"YulBlock","src":"10619:119:150","statements":[{"nodeType":"YulAssignment","src":"10629:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10641:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10652:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10637:3:150"},"nodeType":"YulFunctionCall","src":"10637:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10629:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10671:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"10682:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10664:6:150"},"nodeType":"YulFunctionCall","src":"10664:25:150"},"nodeType":"YulExpressionStatement","src":"10664:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10709:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"10720:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10705:3:150"},"nodeType":"YulFunctionCall","src":"10705:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"10725:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10698:6:150"},"nodeType":"YulFunctionCall","src":"10698:34:150"},"nodeType":"YulExpressionStatement","src":"10698:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10580:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10591:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10599:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10610:4:150","type":""}],"src":"10490:248:150"},{"body":{"nodeType":"YulBlock","src":"10775:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10792:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10799:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10804:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10795:3:150"},"nodeType":"YulFunctionCall","src":"10795:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10785:6:150"},"nodeType":"YulFunctionCall","src":"10785:31:150"},"nodeType":"YulExpressionStatement","src":"10785:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10832:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10835:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10825:6:150"},"nodeType":"YulFunctionCall","src":"10825:15:150"},"nodeType":"YulExpressionStatement","src":"10825:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10856:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10859:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10849:6:150"},"nodeType":"YulFunctionCall","src":"10849:15:150"},"nodeType":"YulExpressionStatement","src":"10849:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"10743:127:150"},{"body":{"nodeType":"YulBlock","src":"10921:74:150","statements":[{"body":{"nodeType":"YulBlock","src":"10944:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"10946:16:150"},"nodeType":"YulFunctionCall","src":"10946:18:150"},"nodeType":"YulExpressionStatement","src":"10946:18:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"10941:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10934:6:150"},"nodeType":"YulFunctionCall","src":"10934:9:150"},"nodeType":"YulIf","src":"10931:35:150"},{"nodeType":"YulAssignment","src":"10975:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"10984:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"10987:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"10980:3:150"},"nodeType":"YulFunctionCall","src":"10980:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"10975:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"10906:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"10909:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"10915:1:150","type":""}],"src":"10875:120:150"},{"body":{"nodeType":"YulBlock","src":"11038:74:150","statements":[{"body":{"nodeType":"YulBlock","src":"11061:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"11063:16:150"},"nodeType":"YulFunctionCall","src":"11063:18:150"},"nodeType":"YulExpressionStatement","src":"11063:18:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"11058:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11051:6:150"},"nodeType":"YulFunctionCall","src":"11051:9:150"},"nodeType":"YulIf","src":"11048:35:150"},{"nodeType":"YulAssignment","src":"11092:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11101:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"11104:1:150"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"11097:3:150"},"nodeType":"YulFunctionCall","src":"11097:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"11092:1:150"}]}]},"name":"mod_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"11023:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"11026:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"11032:1:150","type":""}],"src":"11000:112:150"},{"body":{"nodeType":"YulBlock","src":"11165:77:150","statements":[{"nodeType":"YulAssignment","src":"11175:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11186:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"11189:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11182:3:150"},"nodeType":"YulFunctionCall","src":"11182:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"11175:3:150"}]},{"body":{"nodeType":"YulBlock","src":"11214:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"11216:16:150"},"nodeType":"YulFunctionCall","src":"11216:18:150"},"nodeType":"YulExpressionStatement","src":"11216:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11206:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"11209:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11203:2:150"},"nodeType":"YulFunctionCall","src":"11203:10:150"},"nodeType":"YulIf","src":"11200:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"11148:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"11151:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"11157:3:150","type":""}],"src":"11117:125:150"},{"body":{"nodeType":"YulBlock","src":"11296:79:150","statements":[{"nodeType":"YulAssignment","src":"11306:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"11318:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"11321:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11314:3:150"},"nodeType":"YulFunctionCall","src":"11314:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"11306:4:150"}]},{"body":{"nodeType":"YulBlock","src":"11347:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"11349:16:150"},"nodeType":"YulFunctionCall","src":"11349:18:150"},"nodeType":"YulExpressionStatement","src":"11349:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"11338:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"11344:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11335:2:150"},"nodeType":"YulFunctionCall","src":"11335:11:150"},"nodeType":"YulIf","src":"11332:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"11278:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"11281:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"11287:4:150","type":""}],"src":"11247:128:150"},{"body":{"nodeType":"YulBlock","src":"11509:145:150","statements":[{"nodeType":"YulAssignment","src":"11519:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11531:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11542:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11527:3:150"},"nodeType":"YulFunctionCall","src":"11527:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11519:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11561:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11576:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11592:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11597:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11588:3:150"},"nodeType":"YulFunctionCall","src":"11588:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"11601:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11584:3:150"},"nodeType":"YulFunctionCall","src":"11584:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11572:3:150"},"nodeType":"YulFunctionCall","src":"11572:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11554:6:150"},"nodeType":"YulFunctionCall","src":"11554:51:150"},"nodeType":"YulExpressionStatement","src":"11554:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11625:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11636:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11621:3:150"},"nodeType":"YulFunctionCall","src":"11621:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"11641:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11614:6:150"},"nodeType":"YulFunctionCall","src":"11614:34:150"},"nodeType":"YulExpressionStatement","src":"11614:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11470:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11481:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11489:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11500:4:150","type":""}],"src":"11380:274:150"},{"body":{"nodeType":"YulBlock","src":"11796:130:150","statements":[{"nodeType":"YulAssignment","src":"11806:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11818:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11829:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11814:3:150"},"nodeType":"YulFunctionCall","src":"11814:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11806:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11848:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11863:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"11871:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11859:3:150"},"nodeType":"YulFunctionCall","src":"11859:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11841:6:150"},"nodeType":"YulFunctionCall","src":"11841:36:150"},"nodeType":"YulExpressionStatement","src":"11841:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11897:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"11908:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11893:3:150"},"nodeType":"YulFunctionCall","src":"11893:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"11913:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11886:6:150"},"nodeType":"YulFunctionCall","src":"11886:34:150"},"nodeType":"YulExpressionStatement","src":"11886:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11757:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11768:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11776:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11787:4:150","type":""}],"src":"11659:267:150"}]},"contents":"{\n    { }\n    function abi_decode_uint48(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint48(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint48(headStart)\n    }\n    function abi_encode_tuple_t_uint208__to_t_uint208__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(208, 1), 1)))\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_addresst_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_uint48(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint48(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := abi_decode_uint48(add(headStart, 64))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n    }\n    function abi_encode_array_bytes32_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_array_bytes32_dyn(value0, add(headStart, 32))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function abi_decode_array_bytes32_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let _3 := sub(shl(64, 1), 1)\n        if gt(_1, _3) { panic_error_0x41() }\n        let _4 := shl(5, _1)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(_4, 63), not(31)))\n        if or(gt(newFreePtr, _3), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let dst := memPtr\n        mstore(memPtr, _1)\n        dst := add(memPtr, _2)\n        let srcEnd := add(add(offset, _4), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := memPtr\n    }\n    function abi_decode_tuple_t_addresst_addresst_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value2 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_addresst_uint256t_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n        value3 := abi_decode_array_bytes32_dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 96)\n        let tail_1 := abi_encode_array_bytes32_dyn(value0, add(headStart, 96))\n        let _1 := 32\n        mstore(add(headStart, _1), sub(tail_1, headStart))\n        let pos := tail_1\n        let length := mload(value1)\n        mstore(tail_1, length)\n        pos := add(tail_1, _1)\n        let srcPtr := add(value1, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_786386967ca14ab687c5b7e9dd6d259f9fd81c4f612771758346c051771d6a4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"AutoVotingLogic: at least 1 VOT3\")\n        mstore(add(headStart, 96), \" is required\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_6fa272ffc6dda5796a30265bdbb4b87367a2eeb7557d6faa963f4f9b64ddd285__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"AutoVotingLogic: must select at \")\n        mstore(add(headStart, 96), \"least one app\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_sub_t_uint208(x, y) -> diff\n    {\n        let _1 := sub(shl(208, 1), 1)\n        diff := sub(and(x, _1), and(y, _1))\n        if gt(diff, _1) { panic_error_0x11() }\n    }\n    function checked_add_t_uint208(x, y) -> sum\n    {\n        let _1 := sub(shl(208, 1), 1)\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_stringliteral_1de7ae8014f48c2b63f710dcc1fcdceaad8658b67d0cbeb0bc5f249408c6732d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 36)\n        mstore(add(headStart, 64), \"AutoVotingLogic: no apps to vote\")\n        mstore(add(headStart, 96), \" for\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_afce63cb029482d48559703f374b498ca4f86e6207d11178870d226b1b7f5bda__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 48)\n        mstore(add(headStart, 64), \"AutoVotingLogic: must vote for l\")\n        mstore(add(headStart, 96), \"ess than 15 apps\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_51eed4827436db4e75a4d20eaa8bd46a06801a180b6a0dba8d2043481745e4b5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 28)\n        mstore(add(headStart, 64), \"AutoVotingLogic: invalid app\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_203b50563be5aa4f9bace730121b0d1479847fa1007dfa82f05705988ec4331d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 30)\n        mstore(add(headStart, 64), \"AutoVotingLogic: duplicate app\")\n        tail := add(headStart, 96)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := div(x, y)\n    }\n    function mod_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100825760003560e01c8063059e952b146100875780631f59dfd7146100b7578063217940a6146100da578063412caf0b146100fc578063528f108a1461011c578063642998811461012f578063ea66e04a1461014f578063fb9cd34614610087575b600080fd5b61009a6100953660046111e7565b610171565b6040516001600160d01b0390911681526020015b60405180910390f35b6100ca6100c5366004611219565b610192565b60405190151581526020016100ae565b8180156100e657600080fd5b506100fa6100f536600461124c565b6101d8565b005b61010f61010a36600461128f565b6104e2565b6040516100ae91906112e5565b6100ca61012a36600461128f565b61055f565b81801561013b57600080fd5b506100fa61014a36600461139d565b6105a2565b61016261015d3660046113fa565b61087c565b6040516100ae93929190611461565b60008061017c610bd3565b905061018b6002820184610bf7565b9392505050565b60008061019d610bd3565b6001600160a01b03851660009081526020829052604090209091506101c29084610bf7565b6001600160d01b03166001149150505b92915050565b60006101e2610bd3565b6001600160a01b0384166000908152602082905260408120919250906102089084610bf7565b6001600160d01b03166001149050801585826103e05760405163cfea80ed60e01b81526001600160a01b03878116600483015282169063cfea80ed90602401602060405180830381865afa158015610264573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028891906114c1565b5060006102f78288846001600160a01b031663561b64ef6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f291906114e3565b610cad565b915050806103615760405162461bcd60e51b815260206004820152602c60248201527f4175746f566f74696e674c6f6769633a206174206c65617374203120564f543360448201526b081a5cc81c995c5d5a5c995960a21b60648201526084015b60405180910390fd5b6001600160a01b03871660009081526001860160205260409020546103de5760405162461bcd60e51b815260206004820152602d60248201527f4175746f566f74696e674c6f6769633a206d7573742073656c6563742061742060448201526c06c65617374206f6e652061707609c1b6064820152608401610358565b505b8215610409576001600160a01b0386166000908152600185016020526040812061040991611153565b61044a85836104215761041c6000610d3f565b61042b565b61042b6001610d3f565b6001600160a01b03891660009081526020889052604090209190610d77565b506000905061045c6002860187610bf7565b905060008361047557610470600183611512565b610480565b610480826001611539565b9050610490600287018883610d77565b5050876001600160a01b03167f6baead299a74ec4ebb558b9c9507046309c90e561107f4776cef02327b526549856040516104cf911515815260200190565b60405180910390a2505050505050505050565b606060006104ee610bd3565b6001600160a01b0384166000908152600182016020908152604091829020805483518184028101840190945280845293945091929083018282801561055257602002820191906000526020600020905b81548152602001906001019080831161053e575b5050505050915050919050565b60008061056a610bd3565b6001600160a01b038416600090815260208290526040902090915061058e90610d91565b6001600160d01b0316600114915050919050565b60006105ac610bd3565b9050600082511161060b5760405162461bcd60e51b8152602060048201526024808201527f4175746f566f74696e674c6f6769633a206e6f206170707320746f20766f7465604482015263103337b960e11b6064820152608401610358565b600f825111156106765760405162461bcd60e51b815260206004820152603060248201527f4175746f566f74696e674c6f6769633a206d75737420766f746520666f72206c60448201526f657373207468616e203135206170707360801b6064820152608401610358565b8360005b835181101561080757816001600160a01b031663607bfb248583815181106106a4576106a4611559565b60200260200101516040518263ffffffff1660e01b81526004016106ca91815260200190565b602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906114c1565b6107565760405162461bcd60e51b815260206004820152601c60248201527b04175746f566f74696e674c6f6769633a20696e76616c6964206170760241b6044820152606401610358565b60005b818110156107f45784818151811061077357610773611559565b602002602001015185838151811061078d5761078d611559565b6020026020010151036107e25760405162461bcd60e51b815260206004820152601e60248201527f4175746f566f74696e674c6f6769633a206475706c69636174652061707000006044820152606401610358565b806107ec8161156f565b915050610759565b50806107ff8161156f565b91505061067a565b506001600160a01b03841660009081526001830160209081526040909120845161083392860190611174565b50836001600160a01b03167f3e3998ec06c031c887b2c4825699d96390034bafa666cc53be14a1b832a0654e8460405161086d9190611588565b60405180910390a25050505050565b6060806000808790506000806108d8838a856001600160a01b031663d06efeda8c6040518263ffffffff1660e01b81526004016108bb91815260200190565b602060405180830381865afa1580156102ce573d6000803e3d6000fd5b91509150819350806109075750506040805160008082526020820190815281830190925294509250610bc99050565b86516000816001600160401b03811115610923576109236112f8565b60405190808252806020026020018201604052801561094c578160200160208202803683370190505b5090506000805b83811015610a4657866001600160a01b031663d68b4c368c838151811061097c5761097c611559565b60200260200101518e6040518363ffffffff1660e01b81526004016109ab929190918252602082015260400190565b602060405180830381865afa1580156109c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ec91906114c1565b15610a36578a8181518110610a0357610a03611559565b6020026020010151838380610a179061156f565b945081518110610a2957610a29611559565b6020026020010181815250505b610a3f8161156f565b9050610953565b5080600003610a755750506040805160008082526020820190815281830190925297509550610bc99350505050565b806001600160401b03811115610a8d57610a8d6112f8565b604051908082528060200260200182016040528015610ab6578160200160208202803683370190505b509850806001600160401b03811115610ad157610ad16112f8565b604051908082528060200260200182016040528015610afa578160200160208202803683370190505b5097506000610b0982896115e2565b90506000610b17838a6115f6565b905060005b83811015610bbf57848181518110610b3657610b36611559565b60200260200101518c8281518110610b5057610b50611559565b602002602001018181525050828b8281518110610b6f57610b6f611559565b60200260200101818152505081811015610baf5760018b8281518110610b9757610b97611559565b60200260200101818151610bab919061160a565b9052505b610bb88161156f565b9050610b1c565b5050505050505050505b9450945094915050565b7f38ba4d920474025bc119851d51630794ab25dc91b5f613afc3c0e85f09fdc10090565b815460009081816005811115610c56576000610c1284610dca565b610c1c908561161d565b60008881526020902090915081015465ffffffffffff9081169087161015610c4657809150610c54565b610c5181600161160a565b92505b505b6000610c6487878585610eb2565b90508015610c9f57610c8987610c7b60018461161d565b600091825260209091200190565b54600160301b90046001600160d01b0316610ca2565b60005b979650505050505050565b604051633ae4067560e21b81526001600160a01b03838116600483015260248201839052600091829182919087169063eb9019d490604401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2691906114e3565b92505050670de0b6b3a76400008110155b935093915050565b60006001600160d01b03821115610d73576040516306dfcc6560e41b815260d0600482015260248101839052604401610358565b5090565b600080610d85858585610f14565b91509150935093915050565b80546000908015610dc157610dab83610c7b60018461161d565b54600160301b90046001600160d01b031661018b565b60009392505050565b600081600003610ddc57506000919050565b60006001610de98461108e565b901c6001901b90506001818481610e0257610e026115cc565b048201901c90506001818481610e1a57610e1a6115cc565b048201901c90506001818481610e3257610e326115cc565b048201901c90506001818481610e4a57610e4a6115cc565b048201901c90506001818481610e6257610e626115cc565b048201901c90506001818481610e7a57610e7a6115cc565b048201901c90506001818481610e9257610e926115cc565b048201901c905061018b81828581610eac57610eac6115cc565b04611122565b60005b81831015610f0c576000610ec98484611138565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ef857809250610f06565b610f0381600161160a565b93505b50610eb5565b509392505050565b825460009081908015611033576000610f3287610c7b60018561161d565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f8657604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fd25784610fa988610c7b60018661161d565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611023565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610d379050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610d37565b600080608083901c156110a357608092831c92015b604083901c156110b557604092831c92015b602083901c156110c757602092831c92015b601083901c156110d957601092831c92015b600883901c156110eb57600892831c92015b600483901c156110fd57600492831c92015b600283901c1561110f57600292831c92015b600183901c156101d25760010192915050565b6000818310611131578161018b565b5090919050565b600061114760028484186115e2565b61018b9084841661160a565b508054600082559060005260206000209081019061117191906111b7565b50565b8280548282559060005260206000209081019282156111af579160200282015b828111156111af578251825591602001919060010190611194565b50610d739291505b5b80821115610d7357600081556001016111b8565b803565ffffffffffff811681146111e257600080fd5b919050565b6000602082840312156111f957600080fd5b61018b826111cc565b80356001600160a01b03811681146111e257600080fd5b6000806040838503121561122c57600080fd5b61123583611202565b9150611243602084016111cc565b90509250929050565b60008060006060848603121561126157600080fd5b61126a84611202565b925061127860208501611202565b9150611286604085016111cc565b90509250925092565b6000602082840312156112a157600080fd5b61018b82611202565b600081518084526020808501945080840160005b838110156112da578151875295820195908201906001016112be565b509495945050505050565b60208152600061018b60208301846112aa565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261131f57600080fd5b813560206001600160401b038083111561133b5761133b6112f8565b8260051b604051601f19603f83011681018181108482111715611360576113606112f8565b60405293845285810183019383810192508785111561137e57600080fd5b83870191505b84821015610ca257813583529183019190830190611384565b6000806000606084860312156113b257600080fd5b6113bb84611202565b92506113c960208501611202565b915060408401356001600160401b038111156113e457600080fd5b6113f08682870161130e565b9150509250925092565b6000806000806080858703121561141057600080fd5b61141985611202565b935061142760208601611202565b92506040850135915060608501356001600160401b0381111561144957600080fd5b6114558782880161130e565b91505092959194509250565b60608152600061147460608301866112aa565b82810360208481019190915285518083528682019282019060005b818110156114ab5784518352938301939183019160010161148f565b5050809350505050826040830152949350505050565b6000602082840312156114d357600080fd5b8151801515811461018b57600080fd5b6000602082840312156114f557600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6001600160d01b03828116828216039080821115611532576115326114fc565b5092915050565b6001600160d01b03818116838216019080821115611532576115326114fc565b634e487b7160e01b600052603260045260246000fd5b600060018201611581576115816114fc565b5060010190565b6020808252825182820181905260009190848201906040850190845b818110156115c0578351835292840192918401916001016115a4565b50909695505050505050565b634e487b7160e01b600052601260045260246000fd5b6000826115f1576115f16115cc565b500490565b600082611605576116056115cc565b500690565b808201808211156101d2576101d26114fc565b818103818111156101d2576101d26114fc56fea2646970667358221220906ddb4bdce36e4a21e0a23bc2d843b6fae4cd6ca9e162e22543b8ac6dec788f64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x82 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x59E952B EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x1F59DFD7 EQ PUSH2 0xB7 JUMPI DUP1 PUSH4 0x217940A6 EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0x412CAF0B EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x528F108A EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0x64299881 EQ PUSH2 0x12F JUMPI DUP1 PUSH4 0xEA66E04A EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0xFB9CD346 EQ PUSH2 0x87 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9A PUSH2 0x95 CALLDATASIZE PUSH1 0x4 PUSH2 0x11E7 JUMP JUMPDEST PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCA PUSH2 0xC5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1219 JUMP JUMPDEST PUSH2 0x192 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xAE JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH2 0xF5 CALLDATASIZE PUSH1 0x4 PUSH2 0x124C JUMP JUMPDEST PUSH2 0x1D8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x10F PUSH2 0x10A CALLDATASIZE PUSH1 0x4 PUSH2 0x128F JUMP JUMPDEST PUSH2 0x4E2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAE SWAP2 SWAP1 PUSH2 0x12E5 JUMP JUMPDEST PUSH2 0xCA PUSH2 0x12A CALLDATASIZE PUSH1 0x4 PUSH2 0x128F JUMP JUMPDEST PUSH2 0x55F JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x139D JUMP JUMPDEST PUSH2 0x5A2 JUMP JUMPDEST PUSH2 0x162 PUSH2 0x15D CALLDATASIZE PUSH1 0x4 PUSH2 0x13FA JUMP JUMPDEST PUSH2 0x87C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAE SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1461 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x17C PUSH2 0xBD3 JUMP JUMPDEST SWAP1 POP PUSH2 0x18B PUSH1 0x2 DUP3 ADD DUP5 PUSH2 0xBF7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x19D PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x1C2 SWAP1 DUP5 PUSH2 0xBF7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E2 PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP SWAP1 PUSH2 0x208 SWAP1 DUP5 PUSH2 0xBF7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP1 POP DUP1 ISZERO DUP6 DUP3 PUSH2 0x3E0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCFEA80ED PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP3 AND SWAP1 PUSH4 0xCFEA80ED SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x264 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x288 SWAP2 SWAP1 PUSH2 0x14C1 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x2F7 DUP3 DUP9 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x561B64EF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2F2 SWAP2 SWAP1 PUSH2 0x14E3 JUMP JUMPDEST PUSH2 0xCAD JUMP JUMPDEST SWAP2 POP POP DUP1 PUSH2 0x361 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206174206C65617374203120564F5433 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x81A5CC81C995C5D5A5C9959 PUSH1 0xA2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP7 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x3DE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206D7573742073656C65637420617420 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x6C65617374206F6E652061707 PUSH1 0x9C SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x358 JUMP JUMPDEST POP JUMPDEST DUP3 ISZERO PUSH2 0x409 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x409 SWAP2 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x44A DUP6 DUP4 PUSH2 0x421 JUMPI PUSH2 0x41C PUSH1 0x0 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x42B JUMP JUMPDEST PUSH2 0x42B PUSH1 0x1 PUSH2 0xD3F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP9 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 PUSH2 0xD77 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH2 0x45C PUSH1 0x2 DUP7 ADD DUP8 PUSH2 0xBF7 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH2 0x475 JUMPI PUSH2 0x470 PUSH1 0x1 DUP4 PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x480 JUMP JUMPDEST PUSH2 0x480 DUP3 PUSH1 0x1 PUSH2 0x1539 JUMP JUMPDEST SWAP1 POP PUSH2 0x490 PUSH1 0x2 DUP8 ADD DUP9 DUP4 PUSH2 0xD77 JUMP JUMPDEST POP POP DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x6BAEAD299A74EC4EBB558B9C9507046309C90E561107F4776CEF02327B526549 DUP6 PUSH1 0x40 MLOAD PUSH2 0x4CF SWAP2 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x4EE PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE SWAP4 SWAP5 POP SWAP2 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x552 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x53E JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x56A PUSH2 0xBD3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH2 0x58E SWAP1 PUSH2 0xD91 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x1 EQ SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5AC PUSH2 0xBD3 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 MLOAD GT PUSH2 0x60B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206E6F206170707320746F20766F7465 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x103337B9 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x358 JUMP JUMPDEST PUSH1 0xF DUP3 MLOAD GT ISZERO PUSH2 0x676 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206D75737420766F746520666F72206C PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x657373207468616E2031352061707073 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x358 JUMP JUMPDEST DUP4 PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x807 JUMPI DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x607BFB24 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x6A4 JUMPI PUSH2 0x6A4 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6CA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x70B SWAP2 SWAP1 PUSH2 0x14C1 JUMP JUMPDEST PUSH2 0x756 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH28 0x4175746F566F74696E674C6F6769633A20696E76616C69642061707 PUSH1 0x24 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x358 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7F4 JUMPI DUP5 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x773 JUMPI PUSH2 0x773 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x78D JUMPI PUSH2 0x78D PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x7E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4175746F566F74696E674C6F6769633A206475706C6963617465206170700000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x358 JUMP JUMPDEST DUP1 PUSH2 0x7EC DUP2 PUSH2 0x156F JUMP JUMPDEST SWAP2 POP POP PUSH2 0x759 JUMP JUMPDEST POP DUP1 PUSH2 0x7FF DUP2 PUSH2 0x156F JUMP JUMPDEST SWAP2 POP POP PUSH2 0x67A JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP5 MLOAD PUSH2 0x833 SWAP3 DUP7 ADD SWAP1 PUSH2 0x1174 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x3E3998EC06C031C887B2C4825699D96390034BAFA666CC53BE14A1B832A0654E DUP5 PUSH1 0x40 MLOAD PUSH2 0x86D SWAP2 SWAP1 PUSH2 0x1588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 DUP1 DUP8 SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x8D8 DUP4 DUP11 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD06EFEDA DUP13 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8BB SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST SWAP2 POP SWAP2 POP DUP2 SWAP4 POP DUP1 PUSH2 0x907 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE SWAP5 POP SWAP3 POP PUSH2 0xBC9 SWAP1 POP JUMP JUMPDEST DUP7 MLOAD PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x923 JUMPI PUSH2 0x923 PUSH2 0x12F8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x94C JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA46 JUMPI DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD68B4C36 DUP13 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x97C JUMPI PUSH2 0x97C PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP15 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9AB SWAP3 SWAP2 SWAP1 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9EC SWAP2 SWAP1 PUSH2 0x14C1 JUMP JUMPDEST ISZERO PUSH2 0xA36 JUMPI DUP11 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xA03 JUMPI PUSH2 0xA03 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP4 DUP1 PUSH2 0xA17 SWAP1 PUSH2 0x156F JUMP JUMPDEST SWAP5 POP DUP2 MLOAD DUP2 LT PUSH2 0xA29 JUMPI PUSH2 0xA29 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP JUMPDEST PUSH2 0xA3F DUP2 PUSH2 0x156F JUMP JUMPDEST SWAP1 POP PUSH2 0x953 JUMP JUMPDEST POP DUP1 PUSH1 0x0 SUB PUSH2 0xA75 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE SWAP8 POP SWAP6 POP PUSH2 0xBC9 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xA8D JUMPI PUSH2 0xA8D PUSH2 0x12F8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xAB6 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP9 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xAD1 JUMPI PUSH2 0xAD1 PUSH2 0x12F8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xAFA JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP8 POP PUSH1 0x0 PUSH2 0xB09 DUP3 DUP10 PUSH2 0x15E2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xB17 DUP4 DUP11 PUSH2 0x15F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBBF JUMPI DUP5 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xB36 JUMPI PUSH2 0xB36 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP13 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB50 JUMPI PUSH2 0xB50 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP3 DUP12 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB6F JUMPI PUSH2 0xB6F PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP2 DUP2 LT ISZERO PUSH2 0xBAF JUMPI PUSH1 0x1 DUP12 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB97 JUMPI PUSH2 0xB97 PUSH2 0x1559 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MLOAD PUSH2 0xBAB SWAP2 SWAP1 PUSH2 0x160A JUMP JUMPDEST SWAP1 MSTORE POP JUMPDEST PUSH2 0xBB8 DUP2 PUSH2 0x156F JUMP JUMPDEST SWAP1 POP PUSH2 0xB1C JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMPDEST SWAP5 POP SWAP5 POP SWAP5 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x38BA4D920474025BC119851D51630794AB25DC91B5F613AFC3C0E85F09FDC100 SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xC56 JUMPI PUSH1 0x0 PUSH2 0xC12 DUP5 PUSH2 0xDCA JUMP JUMPDEST PUSH2 0xC1C SWAP1 DUP6 PUSH2 0x161D JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0xC46 JUMPI DUP1 SWAP2 POP PUSH2 0xC54 JUMP JUMPDEST PUSH2 0xC51 DUP2 PUSH1 0x1 PUSH2 0x160A JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xC64 DUP8 DUP8 DUP6 DUP6 PUSH2 0xEB2 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0xC9F JUMPI PUSH2 0xC89 DUP8 PUSH2 0xC7B PUSH1 0x1 DUP5 PUSH2 0x161D JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0xCA2 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3AE40675 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 DUP3 SWAP2 SWAP1 DUP8 AND SWAP1 PUSH4 0xEB9019D4 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD02 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD26 SWAP2 SWAP1 PUSH2 0x14E3 JUMP JUMPDEST SWAP3 POP POP POP PUSH8 0xDE0B6B3A7640000 DUP2 LT ISZERO JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0xD73 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x358 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xD85 DUP6 DUP6 DUP6 PUSH2 0xF14 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0xDC1 JUMPI PUSH2 0xDAB DUP4 PUSH2 0xC7B PUSH1 0x1 DUP5 PUSH2 0x161D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x18B JUMP JUMPDEST PUSH1 0x0 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xDDC JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xDE9 DUP5 PUSH2 0x108E JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE02 JUMPI PUSH2 0xE02 PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE1A JUMPI PUSH2 0xE1A PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE32 JUMPI PUSH2 0xE32 PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE4A JUMPI PUSH2 0xE4A PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE62 JUMPI PUSH2 0xE62 PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE7A JUMPI PUSH2 0xE7A PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xE92 JUMPI PUSH2 0xE92 PUSH2 0x15CC JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x18B DUP2 DUP3 DUP6 DUP2 PUSH2 0xEAC JUMPI PUSH2 0xEAC PUSH2 0x15CC JUMP JUMPDEST DIV PUSH2 0x1122 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0xF0C JUMPI PUSH1 0x0 PUSH2 0xEC9 DUP5 DUP5 PUSH2 0x1138 JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0xEF8 JUMPI DUP1 SWAP3 POP PUSH2 0xF06 JUMP JUMPDEST PUSH2 0xF03 DUP2 PUSH1 0x1 PUSH2 0x160A JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0xEB5 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x1033 JUMPI PUSH1 0x0 PUSH2 0xF32 DUP8 PUSH2 0xC7B PUSH1 0x1 DUP6 PUSH2 0x161D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0xF86 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0xFD2 JUMPI DUP5 PUSH2 0xFA9 DUP9 PUSH2 0xC7B PUSH1 0x1 DUP7 PUSH2 0x161D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1023 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0xD37 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0xD37 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x10A3 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x10B5 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x10C7 JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x10D9 JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x10EB JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x10FD JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x110F JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x1D2 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1131 JUMPI DUP2 PUSH2 0x18B JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1147 PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0x15E2 JUMP JUMPDEST PUSH2 0x18B SWAP1 DUP5 DUP5 AND PUSH2 0x160A JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1171 SWAP2 SWAP1 PUSH2 0x11B7 JUMP JUMPDEST POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x11AF JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x11AF JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1194 JUMP JUMPDEST POP PUSH2 0xD73 SWAP3 SWAP2 POP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xD73 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x11B8 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x11E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18B DUP3 PUSH2 0x11CC JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x11E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x122C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1235 DUP4 PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH2 0x1243 PUSH1 0x20 DUP5 ADD PUSH2 0x11CC JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x126A DUP5 PUSH2 0x1202 JUMP JUMPDEST SWAP3 POP PUSH2 0x1278 PUSH1 0x20 DUP6 ADD PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH2 0x1286 PUSH1 0x40 DUP6 ADD PUSH2 0x11CC JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18B DUP3 PUSH2 0x1202 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x12DA JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x12BE JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x18B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x12AA JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x131F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 GT ISZERO PUSH2 0x133B JUMPI PUSH2 0x133B PUSH2 0x12F8 JUMP JUMPDEST DUP3 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x1360 JUMPI PUSH2 0x1360 PUSH2 0x12F8 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP4 DUP5 MSTORE DUP6 DUP2 ADD DUP4 ADD SWAP4 DUP4 DUP2 ADD SWAP3 POP DUP8 DUP6 GT ISZERO PUSH2 0x137E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP2 POP JUMPDEST DUP5 DUP3 LT ISZERO PUSH2 0xCA2 JUMPI DUP2 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1384 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x13B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13BB DUP5 PUSH2 0x1202 JUMP JUMPDEST SWAP3 POP PUSH2 0x13C9 PUSH1 0x20 DUP6 ADD PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x13E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13F0 DUP7 DUP3 DUP8 ADD PUSH2 0x130E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1410 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1419 DUP6 PUSH2 0x1202 JUMP JUMPDEST SWAP4 POP PUSH2 0x1427 PUSH1 0x20 DUP7 ADD PUSH2 0x1202 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1449 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1455 DUP8 DUP3 DUP9 ADD PUSH2 0x130E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1474 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x12AA JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP6 MLOAD DUP1 DUP4 MSTORE DUP7 DUP3 ADD SWAP3 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x14AB JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x148F JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x18B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 DUP2 AND DUP3 DUP3 AND SUB SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1532 JUMPI PUSH2 0x1532 PUSH2 0x14FC JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP2 DUP2 AND DUP4 DUP3 AND ADD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x1532 JUMPI PUSH2 0x1532 PUSH2 0x14FC JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1581 JUMPI PUSH2 0x1581 PUSH2 0x14FC JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x15C0 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x15A4 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x15F1 JUMPI PUSH2 0x15F1 PUSH2 0x15CC JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1605 JUMPI PUSH2 0x1605 PUSH2 0x15CC JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1D2 JUMPI PUSH2 0x1D2 PUSH2 0x14FC JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1D2 JUMPI PUSH2 0x1D2 PUSH2 0x14FC JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP1 PUSH14 0xDB4BDCE36E4A21E0A23BC2D843B6 STATICCALL 0xE4 0xCD PUSH13 0xA9E162E22543B8AC6DEC788F64 PUSH20 0x6F6C634300081400330000000000000000000000 ","sourceMap":"744:10270:138:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7616:322;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;547:32:150;;;529:51;;517:2;502:18;7616:322:138;;;;;;;;6546:343;;;;;;:::i;:::-;;:::i;:::-;;;1205:14:150;;1198:22;1180:41;;1168:2;1153:18;6546:343:138;1032:195:150;2191:1757:138;;;;;;;;;;-1:-1:-1;2191:1757:138;;;;;:::i;:::-;;:::i;:::-;;7078:301;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5984:294::-;;;;;;:::i;:::-;;:::i;4689:1035::-;;;;;;;;;;-1:-1:-1;4689:1035:138;;;;;:::i;:::-;;:::i;9128:1884::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7616:322::-;7701:7;7716:73;7792:60;:58;:60::i;:::-;7716:136;-1:-1:-1;7865:68:138;:39;;;7923:9;7865:57;:68::i;:::-;7858:75;7616:322;-1:-1:-1;;;7616:322:138:o;6546:343::-;6644:4;6656:73;6732:60;:58;:60::i;:::-;-1:-1:-1;;;;;6805:45:138;;:36;:45;;;;;;;;;;6656:136;;-1:-1:-1;6805:74:138;;6869:9;6805:63;:74::i;:::-;-1:-1:-1;;;;;6805:79:138;6883:1;6805:79;6798:86;;;6546:343;;;;;:::o;2191:1757::-;2305:73;2381:60;:58;:60::i;:::-;-1:-1:-1;;;;;2468:45:138;;2447:18;2468:45;;;;;;;;;;2305:136;;-1:-1:-1;2447:18:138;2468:70;;2532:5;2468:63;:70::i;:::-;-1:-1:-1;;;;;2468:75:138;2542:1;2468:75;;-1:-1:-1;2566:14:138;;2669:32;2468:75;2795:496;;2823:68;;-1:-1:-1;;;2823:68:138;;-1:-1:-1;;;;;5636:32:150;;;2823:68:138;;;5618:51:150;2823:59:138;;;;;5591:18:150;;2823:68:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2902:12;2918:144;2954:25;2989:7;3006:25;-1:-1:-1;;;;;3006:46:138;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2918:26;:144::i;:::-;2899:163;;;3078:7;3070:64;;;;-1:-1:-1;;;3070:64:138;;6353:2:150;3070:64:138;;;6335:21:150;6392:2;6372:18;;;6365:30;6431:34;6411:18;;;6404:62;-1:-1:-1;;;6482:18:150;;;6475:42;6534:19;;3070:64:138;;;;;;;;;-1:-1:-1;;;;;3159:49:138;;3218:1;3159:49;;;:40;;;:49;;;;;:56;3142:142;;;;-1:-1:-1;;;3142:142:138;;6766:2:150;3142:142:138;;;6748:21:150;6805:2;6785:18;;;6778:30;6844:34;6824:18;;;6817:62;-1:-1:-1;;;6895:18:150;;;6888:43;6948:19;;3142:142:138;6564:409:150;3142:142:138;2815:476;2795:496;3388:13;3384:90;;;-1:-1:-1;;;;;3418:49:138;;;;;;:40;;;:49;;;;;3411:56;;;:::i;:::-;3527:134;3585:5;3598:9;:57;;3634:21;3653:1;3634:18;:21::i;:::-;3598:57;;;3610:21;3629:1;3610:18;:21::i;:::-;-1:-1:-1;;;;;3527:45:138;;:36;:45;;;;;;;;;;;:134;:50;:134::i;:::-;-1:-1:-1;3668:20:138;;-1:-1:-1;3691:64:138;:39;;;3749:5;3691:57;:64::i;:::-;3668:87;;3761:16;3780:9;:47;;3811:16;3826:1;3811:12;:16;:::i;:::-;3780:47;;;3792:16;:12;3807:1;3792:16;:::i;:::-;3761:66;-1:-1:-1;3833:61:138;:39;;;3878:5;3761:66;3833:44;:61::i;:::-;;;3924:7;-1:-1:-1;;;;;3906:37:138;;3933:9;3906:37;;;;1205:14:150;1198:22;1180:41;;1168:2;1153:18;;1032:195;3906:37:138;;;;;;;;2299:1649;;;;;;2191:1757;;;:::o;7078:301::-;7152:16;7176:73;7252:60;:58;:60::i;:::-;-1:-1:-1;;;;;7325:49:138;;;;;;:40;;;:49;;;;;;;;;7318:56;;;;;;;;;;;;;;;;;7176:136;;-1:-1:-1;7318:56:138;;;;;7325:49;7318:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7078:301;;;:::o;5984:294::-;6053:4;6065:73;6141:60;:58;:60::i;:::-;-1:-1:-1;;;;;6214:45:138;;:36;:45;;;;;;;;;;6065:136;;-1:-1:-1;6214:54:138;;:52;:54::i;:::-;-1:-1:-1;;;;;6214:59:138;6272:1;6214:59;6207:66;;;5984:294;;;:::o;4689:1035::-;4805:73;4881:60;:58;:60::i;:::-;4805:136;;4969:1;4955:4;:11;:15;4947:64;;;;-1:-1:-1;;;4947:64:138;;7881:2:150;4947:64:138;;;7863:21:150;7920:2;7900:18;;;7893:30;7959:34;7939:18;;;7932:62;-1:-1:-1;;;8010:18:150;;;8003:34;8054:19;;4947:64:138;7679:400:150;4947:64:138;5040:2;5025:4;:11;:17;;5017:78;;;;-1:-1:-1;;;5017:78:138;;8286:2:150;5017:78:138;;;8268:21:150;8325:2;8305:18;;;8298:30;8364:34;8344:18;;;8337:62;-1:-1:-1;;;8415:18:150;;;8408:46;8471:19;;5017:78:138;8084:412:150;5017:78:138;5147:17;5102:30;5277:333;5297:4;:11;5293:1;:15;5277:333;;;5364:18;-1:-1:-1;;;;;5364:28:138;;5393:4;5398:1;5393:7;;;;;;;;:::i;:::-;;;;;;;5364:37;;;;;;;;;;;;;8779:25:150;;8767:2;8752:18;;8633:177;5364:37:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5356:78;;;;-1:-1:-1;;;5356:78:138;;9017:2:150;5356:78:138;;;8999:21:150;9056:2;9036:18;;;9029:30;-1:-1:-1;;;9075:18:150;;;9068:58;9143:18;;5356:78:138;8815:352:150;5356:78:138;5501:9;5496:108;5516:1;5512;:5;5496:108;;;5553:4;5558:1;5553:7;;;;;;;;:::i;:::-;;;;;;;5542:4;5547:1;5542:7;;;;;;;;:::i;:::-;;;;;;;:18;5534:61;;;;-1:-1:-1;;;5534:61:138;;9374:2:150;5534:61:138;;;9356:21:150;9413:2;9393:18;;;9386:30;9452:32;9432:18;;;9425:60;9502:18;;5534:61:138;9172:354:150;5534:61:138;5519:3;;;;:::i;:::-;;;;5496:108;;;-1:-1:-1;5310:3:138;;;;:::i;:::-;;;;5277:333;;;-1:-1:-1;;;;;;5616:49:138;;;;;;:40;;;:49;;;;;;;;:56;;;;;;;;:::i;:::-;;5705:7;-1:-1:-1;;;;;5684:35:138;;5714:4;5684:35;;;;;;:::i;:::-;;;;;;;;4799:925;;4689:1035;;;:::o;9128:1884::-;9308:28;9338;9368:19;9395:52;9477:32;9395:115;;9518:27;9547:12;9563:134;9597:25;9630:5;9643:25;-1:-1:-1;;;;;9643:39:138;;9683:7;9643:48;;;;;;;;;;;;;8779:25:150;;8767:2;8752:18;;8633:177;9643:48:138;;;;;;;;;;;;;;;;;;;;;;;9563:134;9517:180;;;;9718:19;9704:33;;9816:7;9811:85;;-1:-1:-1;;9841:16:138;;;9855:1;9841:16;;;;;;9859;;;;;;;;;9841;-1:-1:-1;9841:16:138;-1:-1:-1;9833:56:138;;-1:-1:-1;9833:56:138;9811:85;9955:20;;9941:11;9955:20;-1:-1:-1;;;;;10011:18:138;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10011:18:138;;9981:48;;10035:13;10060:9;10055:177;10075:3;10071:1;:7;10055:177;;;10097:25;-1:-1:-1;;;;;10097:43:138;;10141:13;10155:1;10141:16;;;;;;;;:::i;:::-;;;;;;;10159:7;10097:70;;;;;;;;;;;;;;;10664:25:150;;;10720:2;10705:18;;10698:34;10652:2;10637:18;;10490:248;10097:70:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10093:133;;;10201:13;10215:1;10201:16;;;;;;;;:::i;:::-;;;;;;;10179:10;10190:7;;;;;:::i;:::-;;;10179:19;;;;;;;;:::i;:::-;;;;;;:38;;;;;10093:133;10080:3;;;:::i;:::-;;;10055:177;;;;10296:5;10305:1;10296:10;10292:87;;-1:-1:-1;;10324:16:138;;;10338:1;10324:16;;;;;;10342;;;;;;;;;10324;-1:-1:-1;10324:16:138;-1:-1:-1;10316:56:138;;-1:-1:-1;;;;10316:56:138;10292:87;10456:5;-1:-1:-1;;;;;10442:20:138;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10442:20:138;;10428:34;;10496:5;-1:-1:-1;;;;;10482:20:138;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10482:20:138;-1:-1:-1;10468:34:138;-1:-1:-1;10508:18:138;10529:19;10543:5;10529:11;:19;:::i;:::-;10508:40;-1:-1:-1;10554:22:138;10579:19;10593:5;10579:11;:19;:::i;:::-;10554:44;;10610:9;10605:350;10625:5;10621:1;:9;10605:350;;;10662:10;10673:1;10662:13;;;;;;;;:::i;:::-;;;;;;;10645:11;10657:1;10645:14;;;;;;;;:::i;:::-;;;;;;:30;;;;;10700:10;10683:11;10695:1;10683:14;;;;;;;;:::i;:::-;;;;;;:27;;;;;10895:14;10891:1;:18;10887:62;;;10939:1;10921:11;10933:1;10921:14;;;;;;;;:::i;:::-;;;;;;:19;;;;;;;:::i;:::-;;;-1:-1:-1;10887:62:138;10632:3;;;:::i;:::-;;;10605:350;;;;10961:46;;;;;;;;9128:1884;;;;;;;;;:::o;7329:153:149:-;7447:25;;7329:153::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:39:o;4078:369:138:-;4294:54;;-1:-1:-1;;;4294:54:138;;-1:-1:-1;;;;;11572:32:150;;;4294:54:138;;;11554:51:150;11621:18;;;11614:34;;;4243:7:138;;;;;;4294:34;;;;;;11527:18:150;;4294:54:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4264:84;-1:-1:-1;;;4392:7:138;4369:30;;;4078:369;;;;;;;:::o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;11841:36:150;11893:18;;;11886:34;;;11814:18;;4297:42:37;11659:267:150;4245:105:37;-1:-1:-1;4374:5:37;4169:218::o;8050:162:39:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;:::o;10167:206::-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;10318:41::-;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;;10314:1;10296:70;10167:206;-1:-1:-1;;;10167:206:39:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;11513:870::-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:167:150;81:20;;141:14;130:26;;120:37;;110:65;;171:1;168;161:12;110:65;14:167;;;:::o;186:184::-;244:6;297:2;285:9;276:7;272:23;268:32;265:52;;;313:1;310;303:12;265:52;336:28;354:9;336:28;:::i;591:173::-;659:20;;-1:-1:-1;;;;;708:31:150;;698:42;;688:70;;754:1;751;744:12;769:258;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;;984:37;1017:2;1006:9;1002:18;984:37;:::i;:::-;974:47;;769:258;;;;;:::o;1232:332::-;1308:6;1316;1324;1377:2;1365:9;1356:7;1352:23;1348:32;1345:52;;;1393:1;1390;1383:12;1345:52;1416:29;1435:9;1416:29;:::i;:::-;1406:39;;1464:38;1498:2;1487:9;1483:18;1464:38;:::i;:::-;1454:48;;1521:37;1554:2;1543:9;1539:18;1521:37;:::i;:::-;1511:47;;1232:332;;;;;:::o;1569:186::-;1628:6;1681:2;1669:9;1660:7;1656:23;1652:32;1649:52;;;1697:1;1694;1687:12;1649:52;1720:29;1739:9;1720:29;:::i;1760:435::-;1813:3;1851:5;1845:12;1878:6;1873:3;1866:19;1904:4;1933:2;1928:3;1924:12;1917:19;;1970:2;1963:5;1959:14;1991:1;2001:169;2015:6;2012:1;2009:13;2001:169;;;2076:13;;2064:26;;2110:12;;;;2145:15;;;;2037:1;2030:9;2001:169;;;-1:-1:-1;2186:3:150;;1760:435;-1:-1:-1;;;;;1760:435:150:o;2200:269::-;2387:2;2376:9;2369:21;2350:4;2407:56;2459:2;2448:9;2444:18;2436:6;2407:56;:::i;2474:127::-;2535:10;2530:3;2526:20;2523:1;2516:31;2566:4;2563:1;2556:15;2590:4;2587:1;2580:15;2606:902;2660:5;2713:3;2706:4;2698:6;2694:17;2690:27;2680:55;;2731:1;2728;2721:12;2680:55;2754:20;;2793:4;-1:-1:-1;;;;;2846:10:150;;;2843:36;;;2859:18;;:::i;:::-;2905:2;2902:1;2898:10;2937:2;2931:9;3000:2;2996:7;2991:2;2987;2983:11;2979:25;2971:6;2967:38;3055:6;3043:10;3040:22;3035:2;3023:10;3020:18;3017:46;3014:72;;;3066:18;;:::i;:::-;3102:2;3095:22;3152:18;;;3228:15;;;3224:24;;;3186:15;;;;-1:-1:-1;3260:15:150;;;3257:35;;;3288:1;3285;3278:12;3257:35;3324:2;3316:6;3312:15;3301:26;;3336:142;3352:6;3347:3;3344:15;3336:142;;;3418:17;;3406:30;;3456:12;;;;3369;;;;3336:142;;3513:496;3615:6;3623;3631;3684:2;3672:9;3663:7;3659:23;3655:32;3652:52;;;3700:1;3697;3690:12;3652:52;3723:29;3742:9;3723:29;:::i;:::-;3713:39;;3771:38;3805:2;3794:9;3790:18;3771:38;:::i;:::-;3761:48;-1:-1:-1;3860:2:150;3845:18;;3832:32;-1:-1:-1;;;;;3876:30:150;;3873:50;;;3919:1;3916;3909:12;3873:50;3942:61;3995:7;3986:6;3975:9;3971:22;3942:61;:::i;:::-;3932:71;;;3513:496;;;;;:::o;4014:565::-;4125:6;4133;4141;4149;4202:3;4190:9;4181:7;4177:23;4173:33;4170:53;;;4219:1;4216;4209:12;4170:53;4242:29;4261:9;4242:29;:::i;:::-;4232:39;;4290:38;4324:2;4313:9;4309:18;4290:38;:::i;:::-;4280:48;-1:-1:-1;4375:2:150;4360:18;;4347:32;;-1:-1:-1;4430:2:150;4415:18;;4402:32;-1:-1:-1;;;;;4446:30:150;;4443:50;;;4489:1;4486;4479:12;4443:50;4512:61;4565:7;4556:6;4545:9;4541:22;4512:61;:::i;:::-;4502:71;;;4014:565;;;;;;;:::o;4584:883::-;4877:2;4866:9;4859:21;4840:4;4903:56;4955:2;4944:9;4940:18;4932:6;4903:56;:::i;:::-;5016:22;;;4978:2;4996:18;;;4989:50;;;;5088:13;;5110:22;;;5186:15;;;;5148;;;5219:1;5229:169;5243:6;5240:1;5237:13;5229:169;;;5304:13;;5292:26;;5373:15;;;;5338:12;;;;5265:1;5258:9;5229:169;;;5233:3;;5415;5407:11;;;;;5454:6;5449:2;5438:9;5434:18;5427:34;4584:883;;;;;;:::o;5680:277::-;5747:6;5800:2;5788:9;5779:7;5775:23;5771:32;5768:52;;;5816:1;5813;5806:12;5768:52;5848:9;5842:16;5901:5;5894:13;5887:21;5880:5;5877:32;5867:60;;5923:1;5920;5913:12;5962:184;6032:6;6085:2;6073:9;6064:7;6060:23;6056:32;6053:52;;;6101:1;6098;6091:12;6053:52;-1:-1:-1;6124:16:150;;5962:184;-1:-1:-1;5962:184:150:o;6978:127::-;7039:10;7034:3;7030:20;7027:1;7020:31;7070:4;7067:1;7060:15;7094:4;7091:1;7084:15;7110:185;-1:-1:-1;;;;;7231:10:150;;;7219;;;7215:27;;7254:12;;;7251:38;;;7269:18;;:::i;:::-;7251:38;7110:185;;;;:::o;7300:182::-;-1:-1:-1;;;;;7407:10:150;;;7419;;;7403:27;;7442:11;;;7439:37;;;7456:18;;:::i;8501:127::-;8562:10;8557:3;8553:20;8550:1;8543:31;8593:4;8590:1;8583:15;8617:4;8614:1;8607:15;9531:135;9570:3;9591:17;;;9588:43;;9611:18;;:::i;:::-;-1:-1:-1;9658:1:150;9647:13;;9531:135::o;9671:632::-;9842:2;9894:21;;;9964:13;;9867:18;;;9986:22;;;9813:4;;9842:2;10065:15;;;;10039:2;10024:18;;;9813:4;10108:169;10122:6;10119:1;10116:13;10108:169;;;10183:13;;10171:26;;10252:15;;;;10217:12;;;;10144:1;10137:9;10108:169;;;-1:-1:-1;10294:3:150;;9671:632;-1:-1:-1;;;;;;9671:632:150:o;10743:127::-;10804:10;10799:3;10795:20;10792:1;10785:31;10835:4;10832:1;10825:15;10859:4;10856:1;10849:15;10875:120;10915:1;10941;10931:35;;10946:18;;:::i;:::-;-1:-1:-1;10980:9:150;;10875:120::o;11000:112::-;11032:1;11058;11048:35;;11063:18;;:::i;:::-;-1:-1:-1;11097:9:150;;11000:112::o;11117:125::-;11182:9;;;11203:10;;;11200:36;;;11216:18;;:::i;11247:128::-;11314:9;;;11335:11;;;11332:37;;;11349:18;;:::i"},"methodIdentifiers":{"getTotalAutoVotingUsers(uint48)":"fb9cd346","getTotalAutoVotingUsersAtTimepoint(uint48)":"059e952b","getUserVotingPreferences(address)":"412caf0b","isAutoVotingEnabled(address)":"528f108a","isAutoVotingEnabledAtTimepoint(address,uint48)":"1f59dfd7","prepareAutoVoteArrays(address,address,uint256,bytes32[])":"ea66e04a","setUserVotingPreferences(address,address,bytes32[])":"64299881","toggleAutoVoting(address,address,uint48)":"217940a6"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"AutoVotingToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"apps\",\"type\":\"bytes32[]\"}],\"name\":\"PreferredAppsUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"getTotalAutoVotingUsers\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"getTotalAutoVotingUsersAtTimepoint\",\"outputs\":[{\"internalType\":\"uint208\",\"name\":\"\",\"type\":\"uint208\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getUserVotingPreferences\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isAutoVotingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timepoint\",\"type\":\"uint48\"}],\"name\":\"isAutoVotingEnabledAtTimepoint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"xAllocationVotingGovernorAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"preferredApps\",\"type\":\"bytes32[]\"}],\"name\":\"prepareAutoVoteArrays\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"finalAppIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This library is intended to be used by the XAllocationVoting contract\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"AutoVotingToggled(address,bool)\":{\"params\":{\"account\":\"The address of the user\",\"enabled\":\"Whether autovoting is enabled or disabled\"}},\"PreferredAppsUpdated(address,bytes32[])\":{\"params\":{\"account\":\"The address of the user\",\"apps\":\"The list of app IDs the user prefers to vote for\"}}},\"kind\":\"dev\",\"methods\":{\"getTotalAutoVotingUsers(uint48)\":{\"details\":\"Gets the total number of users who enabled autovoting at the current timepoint\",\"params\":{\"clock\":\"The current timepoint\"},\"returns\":{\"_0\":\"The total number of users who enabled autovoting at the current timepoint\"}},\"getTotalAutoVotingUsersAtTimepoint(uint48)\":{\"details\":\"Gets the total number of users who enabled autovoting at a specific timepoint\",\"params\":{\"timepoint\":\"The timepoint to check\"},\"returns\":{\"_0\":\"The total number of users who enabled autovoting at the specific timepoint\"}},\"getUserVotingPreferences(address)\":{\"details\":\"Gets the voting preferences for an account\",\"params\":{\"account\":\"The address to get preferences for\"},\"returns\":{\"_0\":\"The list of app IDs the account prefers to vote for\"}},\"isAutoVotingEnabled(address)\":{\"details\":\"Checks if autovoting is enabled for an account at the latest timepoint\",\"params\":{\"account\":\"The address to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the latest timepoint\"}},\"isAutoVotingEnabledAtTimepoint(address,uint48)\":{\"details\":\"Checks if autovoting is enabled for an account at a specific timepoint\",\"params\":{\"account\":\"The address to check\",\"timepoint\":\"The timepoint to check\"},\"returns\":{\"_0\":\"Whether autovoting is enabled for the account at the specific timepoint\"}},\"prepareAutoVoteArrays(address,address,uint256,bytes32[])\":{\"details\":\"Prepares arrays for auto-voting by filtering eligible apps and calculating vote weights\",\"params\":{\"preferredApps\":\"Array of preferred app IDs\",\"roundId\":\"The round ID to vote in\",\"voter\":\"The address of the voter\",\"xAllocationVotingGovernorAddress\":\"The address of the XAllocationVotingGovernor contract\"},\"returns\":{\"finalAppIds\":\"Array of eligible app IDs\",\"voteWeights\":\"Array of equal vote weights\",\"votingPower\":\"The voting power of the voter\"}},\"setUserVotingPreferences(address,address,bytes32[])\":{\"details\":\"Sets the voting preferences for an account\",\"params\":{\"account\":\"The address to set preferences for\",\"apps\":\"The list of app IDs to vote for\",\"x2EarnAppsAddress\":\"The address of the X2EarnApps contract\"}},\"toggleAutoVoting(address,address,uint48)\":{\"details\":\"Toggles autovoting for an account\",\"params\":{\"account\":\"The address to toggle autovoting for\",\"clock\":\"The current timepoint\",\"xAllocationVotingGovernorAddress\":\"The address of the XAllocationVotingGovernor contract\"}}},\"title\":\"AutoVotingLogic\",\"version\":1},\"userdoc\":{\"events\":{\"AutoVotingToggled(address,bool)\":{\"notice\":\"Emitted when a user toggles their autovoting status\"},\"PreferredAppsUpdated(address,bytes32[])\":{\"notice\":\"Emitted when a user updates their preferred apps for autovoting\"}},\"kind\":\"user\",\"methods\":{\"prepareAutoVoteArrays(address,address,uint256,bytes32[])\":{\"notice\":\"Returns empty arrays if voter has insufficient voting powerReturns empty arrays if no eligible apps found\"},\"toggleAutoVoting(address,address,uint48)\":{\"notice\":\"User Enabled: false \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 true Total Count:  100   \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 101 User Prefs:   [existing preferences kept] User Enabled: true \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 false Total Count:  101   \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 100 User Prefs:   [app1, app2] \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2192 [] (deleted)\"}},\"notice\":\"Library that handles user preferences for automatic voting in allocation rounds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol\":\"AutoVotingLogic\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/AutoVotingLogic.sol\":{\"keccak256\":\"0x42162bff61e2a31e160c3778d19fbf16dc8d70200bee77b0c36baa8f92d7f855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3e1bbb7e829f4a3b1a50cfebaef52619047549e900dc014ce6096e3242993f3\",\"dweb:/ipfs/QmPiSRTNJQPunAwVR9indpNKLZWH1WycVpo5qmyZAFrKdd\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol\":{\"keccak256\":\"0x8ebd4466c002d8e3a86a275b74a034f7fe05debb31067c7605f84b250d59e568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eba6437d4a983b44f3fe350bd4805fa7c4f8d19f105100ea276bce326a359aaf\",\"dweb:/ipfs/Qmbd95pbEgcwejWrTjAadsJBBa2B1oGJztkTT7E5ANVApr\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol":{"ExternalContractsUtils":{"abi":[{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"InvalidContractAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"B3TRGovernorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"EmissionsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"NavigatorRegistrySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"RelayerRewardsPoolSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VeBetterPassportSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"VoterRewardsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldContractAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newContractAddress","type":"address"}],"name":"X2EarnAppsSet","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"61080361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100825760003560e01c80632b9f45b714610087578063382fa8ec146100a95780634784a113146100c957806365d47ee6146100e95780637d4b948314610109578063c852a53b14610129578063ce396b1f14610149578063d639f65c14610169575b600080fd5b81801561009357600080fd5b506100a76100a2366004610744565b610189565b005b8180156100b557600080fd5b506100a76100c4366004610744565b610248565b8180156100d557600080fd5b506100a76100e4366004610744565b61030b565b8180156100f557600080fd5b506100a7610104366004610744565b6103cc565b81801561011557600080fd5b506100a7610124366004610744565b610489565b81801561013557600080fd5b506100a7610144366004610768565b61053e565b81801561015557600080fd5b506100a7610164366004610744565b610588565b81801561017557600080fd5b506100a7610184366004610744565b61064a565b6001600160a01b0381166101d157604051630e21b92360e41b8152602060048201526009602482015268656d697373696f6e7360b81b60448201526064015b60405180910390fd5b60006101db610708565b60018101546040519192507f602f97505d28fb0206888a82df7cb072ec7ff056c77134b64368322bcb9f5aba9161021d916001600160a01b03169085906107b3565b60405180910390a160010180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661029457604051630e21b92360e41b815260206004820152601260248201527114995b185e595c94995dd85c991cd41bdbdb60721b60448201526064016101c8565b600061029e610708565b60058101546040519192507f1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e916102e0916001600160a01b03169085906107b3565b60405180910390a160050180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661035557604051630e21b92360e41b815260206004820152601060248201526f159950995d1d195c94185cdcdc1bdc9d60821b60448201526064016101c8565b600061035f610708565b60038101546040519192507f1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160916103a1916001600160a01b03169085906107b3565b60405180910390a160030180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661041257604051630e21b92360e41b815260206004820152600c60248201526b2119aa2923b7bb32b93737b960a11b60448201526064016101c8565b600061041c610708565b60048101546040519192507fb77fb0ff0b0446f13e672c64b103afd9da2774098ab3de2150eca002248bb2989161045e916001600160a01b03169085906107b3565b60405180910390a160040180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166104cd57604051630e21b92360e41b815260206004820152600a60248201526958324561726e4170707360b01b60448201526064016101c8565b60006104d7610708565b80546040519192507f6183e90e12923ae97651b48be341fb5bcfd7bb63a987353dbcf962851011974d91610516916001600160a01b03169085906107b3565b60405180910390a180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610548610708565b80546001600160a01b03199081166001600160a01b0396871617825560018201805482169587169590951790945560020180549093169190931617905550565b6001600160a01b0381166105d357604051630e21b92360e41b81526020600482015260116024820152704e6176696761746f72526567697374727960781b60448201526064016101c8565b60006105dd610708565b60068101546040519192507f072ec7147cbb6a8d38bd6caa7fdf26b9987bb2ec536bbc5288c4a4c335c58c809161061f916001600160a01b03169085906107b3565b60405180910390a160060180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661069157604051630e21b92360e41b815260206004820152600d60248201526c766f746572207265776172647360981b60448201526064016101c8565b600061069b610708565b60028101546040519192507f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c4916106dd916001600160a01b03169085906107b3565b60405180910390a160020180546001600160a01b0319166001600160a01b0392909216919091179055565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b6001600160a01b038116811461074157600080fd5b50565b60006020828403121561075657600080fd5b81356107618161072c565b9392505050565b60008060006060848603121561077d57600080fd5b83356107888161072c565b925060208401356107988161072c565b915060408401356107a88161072c565b809150509250925092565b6001600160a01b039283168152911660208201526040019056fea2646970667358221220260de41807a34b46eed093a6af106930b8484b275723e2247729dbc3de3649be64736f6c63430008140033","opcodes":"PUSH2 0x803 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x82 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2B9F45B7 EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x382FA8EC EQ PUSH2 0xA9 JUMPI DUP1 PUSH4 0x4784A113 EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0x65D47EE6 EQ PUSH2 0xE9 JUMPI DUP1 PUSH4 0x7D4B9483 EQ PUSH2 0x109 JUMPI DUP1 PUSH4 0xC852A53B EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0xCE396B1F EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0xD639F65C EQ PUSH2 0x169 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0xA2 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x189 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0xC4 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x248 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0xE4 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x30B JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x104 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x3CC JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x115 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x124 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x489 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x135 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x768 JUMP JUMPDEST PUSH2 0x53E JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x164 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x588 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x175 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x184 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x64A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1D1 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x656D697373696F6E73 PUSH1 0xB8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1DB PUSH2 0x708 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x602F97505D28FB0206888A82DF7CB072EC7FF056C77134B64368322BCB9F5ABA SWAP2 PUSH2 0x21D SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x294 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x14995B185E595C94995DD85C991CD41BDBDB PUSH1 0x72 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29E PUSH2 0x708 JUMP JUMPDEST PUSH1 0x5 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1CDB859FDDC65C1FC3FC767C3640525B1847D0ACE5955A01B15C7A91D96C357E SWAP2 PUSH2 0x2E0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x355 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x159950995D1D195C94185CDCDC1BDC9D PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35F PUSH2 0x708 JUMP JUMPDEST PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1635A7CE44FAF9C7A871602659C02602D0B1DEB541D4DF560D0616D42DD71160 SWAP2 PUSH2 0x3A1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x412 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x2119AA2923B7BB32B93737B9 PUSH1 0xA1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41C PUSH2 0x708 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0xB77FB0FF0B0446F13E672C64B103AFD9DA2774098AB3DE2150ECA002248BB298 SWAP2 PUSH2 0x45E SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4CD JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x58324561726E41707073 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D7 PUSH2 0x708 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x6183E90E12923AE97651B48BE341FB5BCFD7BB63A987353DBCF962851011974D SWAP2 PUSH2 0x516 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x548 PUSH2 0x708 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND OR DUP3 SSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP3 AND SWAP6 DUP8 AND SWAP6 SWAP1 SWAP6 OR SWAP1 SWAP5 SSTORE PUSH1 0x2 ADD DUP1 SLOAD SWAP1 SWAP4 AND SWAP2 SWAP1 SWAP4 AND OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x5D3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x4E6176696761746F725265676973747279 PUSH1 0x78 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5DD PUSH2 0x708 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x72EC7147CBB6A8D38BD6CAA7FDF26B9987BB2EC536BBC5288C4A4C335C58C80 SWAP2 PUSH2 0x61F SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x6 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x691 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x766F7465722072657761726473 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x69B PUSH2 0x708 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 SWAP2 PUSH2 0x6DD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x741 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x756 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x761 DUP2 PUSH2 0x72C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x77D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x788 DUP2 PUSH2 0x72C JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x798 DUP2 PUSH2 0x72C JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x7A8 DUP2 PUSH2 0x72C JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x26 0xD 0xE4 XOR SMOD LOG3 0x4B CHAINID 0xEE 0xD0 SWAP4 0xA6 0xAF LT PUSH10 0x30B8484B275723E22477 0x29 0xDB 0xC3 0xDE CALLDATASIZE 0x49 0xBE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"874:5812:139:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;874:5812:139;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getExternalContractsStorage_83090":{"entryPoint":1800,"id":83090,"parameterSlots":0,"returnSlots":1},"@initialize_79994":{"entryPoint":1342,"id":79994,"parameterSlots":3,"returnSlots":0},"@setB3TRGovernor_80239":{"entryPoint":972,"id":80239,"parameterSlots":1,"returnSlots":0},"@setEmissions_80043":{"entryPoint":393,"id":80043,"parameterSlots":1,"returnSlots":0},"@setNavigatorRegistry_80337":{"entryPoint":1416,"id":80337,"parameterSlots":1,"returnSlots":0},"@setRelayerRewardsPool_80288":{"entryPoint":584,"id":80288,"parameterSlots":1,"returnSlots":0},"@setVeBetterPassport_80190":{"entryPoint":779,"id":80190,"parameterSlots":1,"returnSlots":0},"@setVoterRewards_80141":{"entryPoint":1610,"id":80141,"parameterSlots":1,"returnSlots":0},"@setX2EarnApps_80092":{"entryPoint":1161,"id":80092,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IEmissions_$64454":{"entryPoint":1860,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IVoterRewards_$69092":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IX2EarnApps_$69989":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_contract$_IX2EarnApps_$69989t_contract$_IEmissions_$64454t_contract$_IVoterRewards_$69092":{"entryPoint":1896,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":1971,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_59d3b6266aae24b98b34256b2837febf15ab67d9db8431f7fc92b2a5198002f1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_contract_IEmissions":{"entryPoint":1836,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:5518:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"71:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"135:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"144:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"147:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"137:6:150"},"nodeType":"YulFunctionCall","src":"137:12:150"},"nodeType":"YulExpressionStatement","src":"137:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"94:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"105:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"120:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"125:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"116:3:150"},"nodeType":"YulFunctionCall","src":"116:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"129:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"112:3:150"},"nodeType":"YulFunctionCall","src":"112:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"101:3:150"},"nodeType":"YulFunctionCall","src":"101:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"91:2:150"},"nodeType":"YulFunctionCall","src":"91:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"84:6:150"},"nodeType":"YulFunctionCall","src":"84:50:150"},"nodeType":"YulIf","src":"81:70:150"}]},"name":"validator_revert_contract_IEmissions","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"60:5:150","type":""}],"src":"14:143:150"},{"body":{"nodeType":"YulBlock","src":"252:189:150","statements":[{"body":{"nodeType":"YulBlock","src":"298:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"307:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"310:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"300:6:150"},"nodeType":"YulFunctionCall","src":"300:12:150"},"nodeType":"YulExpressionStatement","src":"300:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"273:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"282:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"269:3:150"},"nodeType":"YulFunctionCall","src":"269:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"294:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"265:3:150"},"nodeType":"YulFunctionCall","src":"265:32:150"},"nodeType":"YulIf","src":"262:52:150"},{"nodeType":"YulVariableDeclaration","src":"323:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"349:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"336:12:150"},"nodeType":"YulFunctionCall","src":"336:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"327:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"405:5:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"368:36:150"},"nodeType":"YulFunctionCall","src":"368:43:150"},"nodeType":"YulExpressionStatement","src":"368:43:150"},{"nodeType":"YulAssignment","src":"420:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"430:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"420:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IEmissions_$64454","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"218:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"229:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"241:6:150","type":""}],"src":"162:279:150"},{"body":{"nodeType":"YulBlock","src":"545:189:150","statements":[{"body":{"nodeType":"YulBlock","src":"591:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"600:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"603:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"593:6:150"},"nodeType":"YulFunctionCall","src":"593:12:150"},"nodeType":"YulExpressionStatement","src":"593:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"566:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"575:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"562:3:150"},"nodeType":"YulFunctionCall","src":"562:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"587:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"558:3:150"},"nodeType":"YulFunctionCall","src":"558:32:150"},"nodeType":"YulIf","src":"555:52:150"},{"nodeType":"YulVariableDeclaration","src":"616:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"642:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"629:12:150"},"nodeType":"YulFunctionCall","src":"629:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"620:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"698:5:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"661:36:150"},"nodeType":"YulFunctionCall","src":"661:43:150"},"nodeType":"YulExpressionStatement","src":"661:43:150"},{"nodeType":"YulAssignment","src":"713:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"723:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"713:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"511:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"522:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"534:6:150","type":""}],"src":"446:288:150"},{"body":{"nodeType":"YulBlock","src":"836:189:150","statements":[{"body":{"nodeType":"YulBlock","src":"882:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"891:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"894:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"884:6:150"},"nodeType":"YulFunctionCall","src":"884:12:150"},"nodeType":"YulExpressionStatement","src":"884:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"857:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"866:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"853:3:150"},"nodeType":"YulFunctionCall","src":"853:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"878:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"849:3:150"},"nodeType":"YulFunctionCall","src":"849:32:150"},"nodeType":"YulIf","src":"846:52:150"},{"nodeType":"YulVariableDeclaration","src":"907:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"933:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"920:12:150"},"nodeType":"YulFunctionCall","src":"920:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"911:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"989:5:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"952:36:150"},"nodeType":"YulFunctionCall","src":"952:43:150"},"nodeType":"YulExpressionStatement","src":"952:43:150"},{"nodeType":"YulAssignment","src":"1004:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1014:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1004:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVeBetterPassport_$68601","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"802:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"813:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"825:6:150","type":""}],"src":"739:286:150"},{"body":{"nodeType":"YulBlock","src":"1123:189:150","statements":[{"body":{"nodeType":"YulBlock","src":"1169:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1178:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1181:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1171:6:150"},"nodeType":"YulFunctionCall","src":"1171:12:150"},"nodeType":"YulExpressionStatement","src":"1171:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1144:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1153:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1140:3:150"},"nodeType":"YulFunctionCall","src":"1140:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1165:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1136:3:150"},"nodeType":"YulFunctionCall","src":"1136:32:150"},"nodeType":"YulIf","src":"1133:52:150"},{"nodeType":"YulVariableDeclaration","src":"1194:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1220:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1207:12:150"},"nodeType":"YulFunctionCall","src":"1207:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1198:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1276:5:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"1239:36:150"},"nodeType":"YulFunctionCall","src":"1239:43:150"},"nodeType":"YulExpressionStatement","src":"1239:43:150"},{"nodeType":"YulAssignment","src":"1291:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1301:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1291:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IB3TRGovernor_$63919","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1089:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1100:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1112:6:150","type":""}],"src":"1030:282:150"},{"body":{"nodeType":"YulBlock","src":"1408:189:150","statements":[{"body":{"nodeType":"YulBlock","src":"1454:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1463:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1466:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1456:6:150"},"nodeType":"YulFunctionCall","src":"1456:12:150"},"nodeType":"YulExpressionStatement","src":"1456:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1429:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1438:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1425:3:150"},"nodeType":"YulFunctionCall","src":"1425:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1450:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1421:3:150"},"nodeType":"YulFunctionCall","src":"1421:32:150"},"nodeType":"YulIf","src":"1418:52:150"},{"nodeType":"YulVariableDeclaration","src":"1479:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1505:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1492:12:150"},"nodeType":"YulFunctionCall","src":"1492:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1483:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1561:5:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"1524:36:150"},"nodeType":"YulFunctionCall","src":"1524:43:150"},"nodeType":"YulExpressionStatement","src":"1524:43:150"},{"nodeType":"YulAssignment","src":"1576:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1586:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1576:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IX2EarnApps_$69989","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1374:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1385:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1397:6:150","type":""}],"src":"1317:280:150"},{"body":{"nodeType":"YulBlock","src":"1770:461:150","statements":[{"body":{"nodeType":"YulBlock","src":"1816:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1825:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1828:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1818:6:150"},"nodeType":"YulFunctionCall","src":"1818:12:150"},"nodeType":"YulExpressionStatement","src":"1818:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1791:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1800:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1787:3:150"},"nodeType":"YulFunctionCall","src":"1787:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1812:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1783:3:150"},"nodeType":"YulFunctionCall","src":"1783:32:150"},"nodeType":"YulIf","src":"1780:52:150"},{"nodeType":"YulVariableDeclaration","src":"1841:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1867:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1854:12:150"},"nodeType":"YulFunctionCall","src":"1854:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1845:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1923:5:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"1886:36:150"},"nodeType":"YulFunctionCall","src":"1886:43:150"},"nodeType":"YulExpressionStatement","src":"1886:43:150"},{"nodeType":"YulAssignment","src":"1938:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1948:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1938:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"1962:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1994:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2005:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1990:3:150"},"nodeType":"YulFunctionCall","src":"1990:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1977:12:150"},"nodeType":"YulFunctionCall","src":"1977:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"1966:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"2055:7:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"2018:36:150"},"nodeType":"YulFunctionCall","src":"2018:45:150"},"nodeType":"YulExpressionStatement","src":"2018:45:150"},{"nodeType":"YulAssignment","src":"2072:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"2082:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2072:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"2098:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2130:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2141:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2126:3:150"},"nodeType":"YulFunctionCall","src":"2126:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2113:12:150"},"nodeType":"YulFunctionCall","src":"2113:32:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"2102:7:150","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"2191:7:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"2154:36:150"},"nodeType":"YulFunctionCall","src":"2154:45:150"},"nodeType":"YulExpressionStatement","src":"2154:45:150"},{"nodeType":"YulAssignment","src":"2208:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"2218:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2208:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IX2EarnApps_$69989t_contract$_IEmissions_$64454t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1720:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1731:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1743:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1751:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1759:6:150","type":""}],"src":"1602:629:150"},{"body":{"nodeType":"YulBlock","src":"2334:189:150","statements":[{"body":{"nodeType":"YulBlock","src":"2380:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2389:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2392:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2382:6:150"},"nodeType":"YulFunctionCall","src":"2382:12:150"},"nodeType":"YulExpressionStatement","src":"2382:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2355:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2364:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2351:3:150"},"nodeType":"YulFunctionCall","src":"2351:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2376:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2347:3:150"},"nodeType":"YulFunctionCall","src":"2347:32:150"},"nodeType":"YulIf","src":"2344:52:150"},{"nodeType":"YulVariableDeclaration","src":"2405:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2431:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2418:12:150"},"nodeType":"YulFunctionCall","src":"2418:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2409:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2487:5:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"2450:36:150"},"nodeType":"YulFunctionCall","src":"2450:43:150"},"nodeType":"YulExpressionStatement","src":"2450:43:150"},{"nodeType":"YulAssignment","src":"2502:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2512:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2502:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_INavigatorRegistry_$66638","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2300:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2311:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2323:6:150","type":""}],"src":"2236:287:150"},{"body":{"nodeType":"YulBlock","src":"2621:189:150","statements":[{"body":{"nodeType":"YulBlock","src":"2667:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2676:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2679:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2669:6:150"},"nodeType":"YulFunctionCall","src":"2669:12:150"},"nodeType":"YulExpressionStatement","src":"2669:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2642:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2651:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2638:3:150"},"nodeType":"YulFunctionCall","src":"2638:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2663:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2634:3:150"},"nodeType":"YulFunctionCall","src":"2634:32:150"},"nodeType":"YulIf","src":"2631:52:150"},{"nodeType":"YulVariableDeclaration","src":"2692:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2718:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2705:12:150"},"nodeType":"YulFunctionCall","src":"2705:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2696:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2774:5:150"}],"functionName":{"name":"validator_revert_contract_IEmissions","nodeType":"YulIdentifier","src":"2737:36:150"},"nodeType":"YulFunctionCall","src":"2737:43:150"},"nodeType":"YulExpressionStatement","src":"2737:43:150"},{"nodeType":"YulAssignment","src":"2789:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"2799:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2789:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVoterRewards_$69092","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2587:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2598:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2610:6:150","type":""}],"src":"2528:282:150"},{"body":{"nodeType":"YulBlock","src":"2989:158:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3006:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3017:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2999:6:150"},"nodeType":"YulFunctionCall","src":"2999:21:150"},"nodeType":"YulExpressionStatement","src":"2999:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3040:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3051:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3036:3:150"},"nodeType":"YulFunctionCall","src":"3036:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"3056:1:150","type":"","value":"9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3029:6:150"},"nodeType":"YulFunctionCall","src":"3029:29:150"},"nodeType":"YulExpressionStatement","src":"3029:29:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3078:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3089:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3074:3:150"},"nodeType":"YulFunctionCall","src":"3074:18:150"},{"hexValue":"656d697373696f6e73","kind":"string","nodeType":"YulLiteral","src":"3094:11:150","type":"","value":"emissions"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3067:6:150"},"nodeType":"YulFunctionCall","src":"3067:39:150"},"nodeType":"YulExpressionStatement","src":"3067:39:150"},{"nodeType":"YulAssignment","src":"3115:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3127:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3138:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3123:3:150"},"nodeType":"YulFunctionCall","src":"3123:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3115:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2966:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2980:4:150","type":""}],"src":"2815:332:150"},{"body":{"nodeType":"YulBlock","src":"3281:175:150","statements":[{"nodeType":"YulAssignment","src":"3291:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3303:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3314:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3299:3:150"},"nodeType":"YulFunctionCall","src":"3299:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3291:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"3326:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3344:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3349:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3340:3:150"},"nodeType":"YulFunctionCall","src":"3340:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3353:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3336:3:150"},"nodeType":"YulFunctionCall","src":"3336:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3330:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3371:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3386:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3394:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3382:3:150"},"nodeType":"YulFunctionCall","src":"3382:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3364:6:150"},"nodeType":"YulFunctionCall","src":"3364:34:150"},"nodeType":"YulExpressionStatement","src":"3364:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3418:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3429:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3414:3:150"},"nodeType":"YulFunctionCall","src":"3414:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3438:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3446:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3434:3:150"},"nodeType":"YulFunctionCall","src":"3434:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3407:6:150"},"nodeType":"YulFunctionCall","src":"3407:43:150"},"nodeType":"YulExpressionStatement","src":"3407:43:150"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3242:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3253:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3261:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3272:4:150","type":""}],"src":"3152:304:150"},{"body":{"nodeType":"YulBlock","src":"3635:168:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3652:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3663:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3645:6:150"},"nodeType":"YulFunctionCall","src":"3645:21:150"},"nodeType":"YulExpressionStatement","src":"3645:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3686:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3697:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3682:3:150"},"nodeType":"YulFunctionCall","src":"3682:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"3702:2:150","type":"","value":"18"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3675:6:150"},"nodeType":"YulFunctionCall","src":"3675:30:150"},"nodeType":"YulExpressionStatement","src":"3675:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3725:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3736:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3721:3:150"},"nodeType":"YulFunctionCall","src":"3721:18:150"},{"hexValue":"52656c6179657252657761726473506f6f6c","kind":"string","nodeType":"YulLiteral","src":"3741:20:150","type":"","value":"RelayerRewardsPool"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3714:6:150"},"nodeType":"YulFunctionCall","src":"3714:48:150"},"nodeType":"YulExpressionStatement","src":"3714:48:150"},{"nodeType":"YulAssignment","src":"3771:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3783:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3794:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3779:3:150"},"nodeType":"YulFunctionCall","src":"3779:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3771:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3612:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3626:4:150","type":""}],"src":"3461:342:150"},{"body":{"nodeType":"YulBlock","src":"3982:166:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3999:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4010:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3992:6:150"},"nodeType":"YulFunctionCall","src":"3992:21:150"},"nodeType":"YulExpressionStatement","src":"3992:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4033:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4044:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4029:3:150"},"nodeType":"YulFunctionCall","src":"4029:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"4049:2:150","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4022:6:150"},"nodeType":"YulFunctionCall","src":"4022:30:150"},"nodeType":"YulExpressionStatement","src":"4022:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4072:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4083:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4068:3:150"},"nodeType":"YulFunctionCall","src":"4068:18:150"},{"hexValue":"566542657474657250617373706f7274","kind":"string","nodeType":"YulLiteral","src":"4088:18:150","type":"","value":"VeBetterPassport"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4061:6:150"},"nodeType":"YulFunctionCall","src":"4061:46:150"},"nodeType":"YulExpressionStatement","src":"4061:46:150"},{"nodeType":"YulAssignment","src":"4116:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4128:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4139:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4124:3:150"},"nodeType":"YulFunctionCall","src":"4124:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4116:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3959:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3973:4:150","type":""}],"src":"3808:340:150"},{"body":{"nodeType":"YulBlock","src":"4327:162:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4344:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4355:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4337:6:150"},"nodeType":"YulFunctionCall","src":"4337:21:150"},"nodeType":"YulExpressionStatement","src":"4337:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4378:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4389:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4374:3:150"},"nodeType":"YulFunctionCall","src":"4374:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"4394:2:150","type":"","value":"12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4367:6:150"},"nodeType":"YulFunctionCall","src":"4367:30:150"},"nodeType":"YulExpressionStatement","src":"4367:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4417:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4428:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4413:3:150"},"nodeType":"YulFunctionCall","src":"4413:18:150"},{"hexValue":"42335452476f7665726e6f72","kind":"string","nodeType":"YulLiteral","src":"4433:14:150","type":"","value":"B3TRGovernor"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4406:6:150"},"nodeType":"YulFunctionCall","src":"4406:42:150"},"nodeType":"YulExpressionStatement","src":"4406:42:150"},{"nodeType":"YulAssignment","src":"4457:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4469:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4480:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4465:3:150"},"nodeType":"YulFunctionCall","src":"4465:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4457:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4304:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4318:4:150","type":""}],"src":"4153:336:150"},{"body":{"nodeType":"YulBlock","src":"4668:160:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4685:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4696:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4678:6:150"},"nodeType":"YulFunctionCall","src":"4678:21:150"},"nodeType":"YulExpressionStatement","src":"4678:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4719:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4730:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4715:3:150"},"nodeType":"YulFunctionCall","src":"4715:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"4735:2:150","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4708:6:150"},"nodeType":"YulFunctionCall","src":"4708:30:150"},"nodeType":"YulExpressionStatement","src":"4708:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4758:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4769:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4754:3:150"},"nodeType":"YulFunctionCall","src":"4754:18:150"},{"hexValue":"58324561726e41707073","kind":"string","nodeType":"YulLiteral","src":"4774:12:150","type":"","value":"X2EarnApps"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4747:6:150"},"nodeType":"YulFunctionCall","src":"4747:40:150"},"nodeType":"YulExpressionStatement","src":"4747:40:150"},{"nodeType":"YulAssignment","src":"4796:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4808:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4819:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4804:3:150"},"nodeType":"YulFunctionCall","src":"4804:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4796:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4645:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4659:4:150","type":""}],"src":"4494:334:150"},{"body":{"nodeType":"YulBlock","src":"5007:167:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5024:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5035:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5017:6:150"},"nodeType":"YulFunctionCall","src":"5017:21:150"},"nodeType":"YulExpressionStatement","src":"5017:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5058:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5069:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5054:3:150"},"nodeType":"YulFunctionCall","src":"5054:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"5074:2:150","type":"","value":"17"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5047:6:150"},"nodeType":"YulFunctionCall","src":"5047:30:150"},"nodeType":"YulExpressionStatement","src":"5047:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5097:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5108:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5093:3:150"},"nodeType":"YulFunctionCall","src":"5093:18:150"},{"hexValue":"4e6176696761746f725265676973747279","kind":"string","nodeType":"YulLiteral","src":"5113:19:150","type":"","value":"NavigatorRegistry"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5086:6:150"},"nodeType":"YulFunctionCall","src":"5086:47:150"},"nodeType":"YulExpressionStatement","src":"5086:47:150"},{"nodeType":"YulAssignment","src":"5142:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5154:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5165:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5150:3:150"},"nodeType":"YulFunctionCall","src":"5150:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5142:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_59d3b6266aae24b98b34256b2837febf15ab67d9db8431f7fc92b2a5198002f1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4984:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4998:4:150","type":""}],"src":"4833:341:150"},{"body":{"nodeType":"YulBlock","src":"5353:163:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5370:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5381:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5363:6:150"},"nodeType":"YulFunctionCall","src":"5363:21:150"},"nodeType":"YulExpressionStatement","src":"5363:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5404:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5415:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5400:3:150"},"nodeType":"YulFunctionCall","src":"5400:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"5420:2:150","type":"","value":"13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5393:6:150"},"nodeType":"YulFunctionCall","src":"5393:30:150"},"nodeType":"YulExpressionStatement","src":"5393:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5443:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5454:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5439:3:150"},"nodeType":"YulFunctionCall","src":"5439:18:150"},{"hexValue":"766f7465722072657761726473","kind":"string","nodeType":"YulLiteral","src":"5459:15:150","type":"","value":"voter rewards"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5432:6:150"},"nodeType":"YulFunctionCall","src":"5432:43:150"},"nodeType":"YulExpressionStatement","src":"5432:43:150"},{"nodeType":"YulAssignment","src":"5484:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5496:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5507:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5492:3:150"},"nodeType":"YulFunctionCall","src":"5492:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5484:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5330:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5344:4:150","type":""}],"src":"5179:337:150"}]},"contents":"{\n    { }\n    function validator_revert_contract_IEmissions(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_contract$_IEmissions_$64454(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IEmissions(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IRelayerRewardsPool_$67117(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IEmissions(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVeBetterPassport_$68601(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IEmissions(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IB3TRGovernor_$63919(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IEmissions(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IX2EarnApps_$69989(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IEmissions(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IX2EarnApps_$69989t_contract$_IEmissions_$64454t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IEmissions(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_contract_IEmissions(value_1)\n        value1 := value_1\n        let value_2 := calldataload(add(headStart, 64))\n        validator_revert_contract_IEmissions(value_2)\n        value2 := value_2\n    }\n    function abi_decode_tuple_t_contract$_INavigatorRegistry_$66638(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IEmissions(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_IVoterRewards_$69092(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IEmissions(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_853ff2d8152d0000a90ef4844799299e8ba06521ddb6f26da77308ef72fad0d3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 9)\n        mstore(add(headStart, 64), \"emissions\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_466113b17151c1d4acad1bcc1983009958b29e54c12622206a079c6d06555a9c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 18)\n        mstore(add(headStart, 64), \"RelayerRewardsPool\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_2e1167722ba4707bd833f839bfc8410f076c665fd30232a942ca2721eca03b84__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 16)\n        mstore(add(headStart, 64), \"VeBetterPassport\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_284dea1f5e7a7c1355c8323f90134db0807f1ed3309710c304649e2c1e5380ea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 12)\n        mstore(add(headStart, 64), \"B3TRGovernor\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_057c86fd085232195674da9de9a5dd7910ab2c342e26320d245e3913ea93e6d2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 10)\n        mstore(add(headStart, 64), \"X2EarnApps\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_59d3b6266aae24b98b34256b2837febf15ab67d9db8431f7fc92b2a5198002f1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 17)\n        mstore(add(headStart, 64), \"NavigatorRegistry\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_ca25983be01d963bdb18ab7801e64bd44468484b050d30a6d8c17faac14d7677__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 13)\n        mstore(add(headStart, 64), \"voter rewards\")\n        tail := add(headStart, 96)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100825760003560e01c80632b9f45b714610087578063382fa8ec146100a95780634784a113146100c957806365d47ee6146100e95780637d4b948314610109578063c852a53b14610129578063ce396b1f14610149578063d639f65c14610169575b600080fd5b81801561009357600080fd5b506100a76100a2366004610744565b610189565b005b8180156100b557600080fd5b506100a76100c4366004610744565b610248565b8180156100d557600080fd5b506100a76100e4366004610744565b61030b565b8180156100f557600080fd5b506100a7610104366004610744565b6103cc565b81801561011557600080fd5b506100a7610124366004610744565b610489565b81801561013557600080fd5b506100a7610144366004610768565b61053e565b81801561015557600080fd5b506100a7610164366004610744565b610588565b81801561017557600080fd5b506100a7610184366004610744565b61064a565b6001600160a01b0381166101d157604051630e21b92360e41b8152602060048201526009602482015268656d697373696f6e7360b81b60448201526064015b60405180910390fd5b60006101db610708565b60018101546040519192507f602f97505d28fb0206888a82df7cb072ec7ff056c77134b64368322bcb9f5aba9161021d916001600160a01b03169085906107b3565b60405180910390a160010180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661029457604051630e21b92360e41b815260206004820152601260248201527114995b185e595c94995dd85c991cd41bdbdb60721b60448201526064016101c8565b600061029e610708565b60058101546040519192507f1cdb859fddc65c1fc3fc767c3640525b1847d0ace5955a01b15c7a91d96c357e916102e0916001600160a01b03169085906107b3565b60405180910390a160050180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661035557604051630e21b92360e41b815260206004820152601060248201526f159950995d1d195c94185cdcdc1bdc9d60821b60448201526064016101c8565b600061035f610708565b60038101546040519192507f1635a7ce44faf9c7a871602659c02602d0b1deb541d4df560d0616d42dd71160916103a1916001600160a01b03169085906107b3565b60405180910390a160030180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661041257604051630e21b92360e41b815260206004820152600c60248201526b2119aa2923b7bb32b93737b960a11b60448201526064016101c8565b600061041c610708565b60048101546040519192507fb77fb0ff0b0446f13e672c64b103afd9da2774098ab3de2150eca002248bb2989161045e916001600160a01b03169085906107b3565b60405180910390a160040180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166104cd57604051630e21b92360e41b815260206004820152600a60248201526958324561726e4170707360b01b60448201526064016101c8565b60006104d7610708565b80546040519192507f6183e90e12923ae97651b48be341fb5bcfd7bb63a987353dbcf962851011974d91610516916001600160a01b03169085906107b3565b60405180910390a180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610548610708565b80546001600160a01b03199081166001600160a01b0396871617825560018201805482169587169590951790945560020180549093169190931617905550565b6001600160a01b0381166105d357604051630e21b92360e41b81526020600482015260116024820152704e6176696761746f72526567697374727960781b60448201526064016101c8565b60006105dd610708565b60068101546040519192507f072ec7147cbb6a8d38bd6caa7fdf26b9987bb2ec536bbc5288c4a4c335c58c809161061f916001600160a01b03169085906107b3565b60405180910390a160060180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661069157604051630e21b92360e41b815260206004820152600d60248201526c766f746572207265776172647360981b60448201526064016101c8565b600061069b610708565b60028101546040519192507f285472e909a94733ed110e0aa70b4e9265635781731772845338790bd58d09c4916106dd916001600160a01b03169085906107b3565b60405180910390a160020180546001600160a01b0319166001600160a01b0392909216919091179055565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d0090565b6001600160a01b038116811461074157600080fd5b50565b60006020828403121561075657600080fd5b81356107618161072c565b9392505050565b60008060006060848603121561077d57600080fd5b83356107888161072c565b925060208401356107988161072c565b915060408401356107a88161072c565b809150509250925092565b6001600160a01b039283168152911660208201526040019056fea2646970667358221220260de41807a34b46eed093a6af106930b8484b275723e2247729dbc3de3649be64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x82 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2B9F45B7 EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x382FA8EC EQ PUSH2 0xA9 JUMPI DUP1 PUSH4 0x4784A113 EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0x65D47EE6 EQ PUSH2 0xE9 JUMPI DUP1 PUSH4 0x7D4B9483 EQ PUSH2 0x109 JUMPI DUP1 PUSH4 0xC852A53B EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0xCE396B1F EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0xD639F65C EQ PUSH2 0x169 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0xA2 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x189 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0xC4 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x248 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0xE4 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x30B JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x104 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x3CC JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x115 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x124 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x489 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x135 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x768 JUMP JUMPDEST PUSH2 0x53E JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x164 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x588 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x175 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7 PUSH2 0x184 CALLDATASIZE PUSH1 0x4 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x64A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1D1 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x656D697373696F6E73 PUSH1 0xB8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1DB PUSH2 0x708 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x602F97505D28FB0206888A82DF7CB072EC7FF056C77134B64368322BCB9F5ABA SWAP2 PUSH2 0x21D SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x294 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x14995B185E595C94995DD85C991CD41BDBDB PUSH1 0x72 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x29E PUSH2 0x708 JUMP JUMPDEST PUSH1 0x5 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1CDB859FDDC65C1FC3FC767C3640525B1847D0ACE5955A01B15C7A91D96C357E SWAP2 PUSH2 0x2E0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x355 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x159950995D1D195C94185CDCDC1BDC9D PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35F PUSH2 0x708 JUMP JUMPDEST PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x1635A7CE44FAF9C7A871602659C02602D0B1DEB541D4DF560D0616D42DD71160 SWAP2 PUSH2 0x3A1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x412 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x2119AA2923B7BB32B93737B9 PUSH1 0xA1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x41C PUSH2 0x708 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0xB77FB0FF0B0446F13E672C64B103AFD9DA2774098AB3DE2150ECA002248BB298 SWAP2 PUSH2 0x45E SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4CD JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x58324561726E41707073 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4D7 PUSH2 0x708 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x6183E90E12923AE97651B48BE341FB5BCFD7BB63A987353DBCF962851011974D SWAP2 PUSH2 0x516 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x548 PUSH2 0x708 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND OR DUP3 SSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP3 AND SWAP6 DUP8 AND SWAP6 SWAP1 SWAP6 OR SWAP1 SWAP5 SSTORE PUSH1 0x2 ADD DUP1 SLOAD SWAP1 SWAP4 AND SWAP2 SWAP1 SWAP4 AND OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x5D3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x4E6176696761746F725265676973747279 PUSH1 0x78 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5DD PUSH2 0x708 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x72EC7147CBB6A8D38BD6CAA7FDF26B9987BB2EC536BBC5288C4A4C335C58C80 SWAP2 PUSH2 0x61F SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x6 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x691 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE21B923 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x766F7465722072657761726473 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x69B PUSH2 0x708 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD SWAP2 SWAP3 POP PUSH32 0x285472E909A94733ED110E0AA70B4E9265635781731772845338790BD58D09C4 SWAP2 PUSH2 0x6DD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 SWAP1 PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x741 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x756 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x761 DUP2 PUSH2 0x72C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x77D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x788 DUP2 PUSH2 0x72C JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x798 DUP2 PUSH2 0x72C JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x7A8 DUP2 PUSH2 0x72C JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x26 0xD 0xE4 XOR SMOD LOG3 0x4B CHAINID 0xEE 0xD0 SWAP4 0xA6 0xAF LT PUSH10 0x30B8484B275723E22477 0x29 0xDB 0xC3 0xDE CALLDATASIZE 0x49 0xBE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"874:5812:139:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:393;;;;;;;;;;-1:-1:-1;2887:393:139;;;;;:::i;:::-;;:::i;:::-;;5597:483;;;;;;;;;;-1:-1:-1;5597:483:139;;;;;:::i;:::-;;:::i;4461:463::-;;;;;;;;;;-1:-1:-1;4461:463:139;;;;;:::i;:::-;;:::i;5040:423::-;;;;;;;;;;-1:-1:-1;5040:423:139;;;;;:::i;:::-;;:::i;3390:403::-;;;;;;;;;;-1:-1:-1;3390:403:139;;;;;:::i;:::-;;:::i;2310:404::-;;;;;;;;;;-1:-1:-1;2310:404:139;;;;;:::i;:::-;;:::i;6211:473::-;;;;;;;;;;-1:-1:-1;6211:473:139;;;;;:::i;:::-;;:::i;3909:424::-;;;;;;;;;;-1:-1:-1;3909:424:139;;;;;:::i;:::-;;:::i;2887:393::-;-1:-1:-1;;;;;2953:35:139;;2949:83;;2997:35;;-1:-1:-1;;;2997:35:139;;3017:2:150;2997:35:139;;;2999:21:150;3056:1;3036:18;;;3029:29;-1:-1:-1;;;3074:18:150;;;3067:39;3123:18;;2997:35:139;;;;;;;;2949:83;3039:64;3106:67;:65;:67::i;:::-;3205:12;;;;3184:58;;3039:134;;-1:-1:-1;3184:58:139;;;;-1:-1:-1;;;;;3205:12:139;;3228;;3184:58;:::i;:::-;;;;;;;;3248:12;;:27;;-1:-1:-1;;;;;;3248:27:139;-1:-1:-1;;;;;3248:27:139;;;;;;;;;;2887:393::o;5597:483::-;-1:-1:-1;;;;;5690:44:139;;5686:101;;5743:44;;-1:-1:-1;;;5743:44:139;;3663:2:150;5743:44:139;;;3645:21:150;3702:2;3682:18;;;3675:30;-1:-1:-1;;;3721:18:150;;;3714:48;3779:18;;5743:44:139;3461:342:150;5686:101:139;5794:64;5861:67;:65;:67::i;:::-;5969:21;;;;5939:85;;5794:134;;-1:-1:-1;5939:85:139;;;;-1:-1:-1;;;;;5969:21:139;;6001;;5939:85;:::i;:::-;;;;;;;;6030:21;;:45;;-1:-1:-1;;;;;;6030:45:139;-1:-1:-1;;;;;6030:45:139;;;;;;;;;;5597:483::o;4461:463::-;-1:-1:-1;;;;;4548:42:139;;4544:97;;4599:42;;-1:-1:-1;;;4599:42:139;;4010:2:150;4599:42:139;;;3992:21:150;4049:2;4029:18;;;4022:30;-1:-1:-1;;;4068:18:150;;;4061:46;4124:18;;4599:42:139;3808:340:150;4544:97:139;4648:64;4715:67;:65;:67::i;:::-;4821:19;;;;4793:79;;4648:134;;-1:-1:-1;4793:79:139;;;;-1:-1:-1;;;;;4821:19:139;;4851;;4793:79;:::i;:::-;;;;;;;;4878:19;;:41;;-1:-1:-1;;;;;;4878:41:139;-1:-1:-1;;;;;4878:41:139;;;;;;;;;;4461:463::o;5040:423::-;-1:-1:-1;;;;;5115:38:139;;5111:89;;5162:38;;-1:-1:-1;;;5162:38:139;;4355:2:150;5162:38:139;;;4337:21:150;4394:2;4374:18;;;4367:30;-1:-1:-1;;;4413:18:150;;;4406:42;4465:18;;5162:38:139;4153:336:150;5111:89:139;5207:64;5274:67;:65;:67::i;:::-;5376:15;;;;5352:67;;5207:134;;-1:-1:-1;5352:67:139;;;;-1:-1:-1;;;;;5376:15:139;;5402;;5352:67;:::i;:::-;;;;;;;;5425:15;;:33;;-1:-1:-1;;;;;;5425:33:139;-1:-1:-1;;;;;5425:33:139;;;;;;;;;;5040:423::o;3390:403::-;-1:-1:-1;;;;;3459:36:139;;3455:85;;3504:36;;-1:-1:-1;;;3504:36:139;;4696:2:150;3504:36:139;;;4678:21:150;4735:2;4715:18;;;4708:30;-1:-1:-1;;;4754:18:150;;;4747:40;4804:18;;3504:36:139;4494:334:150;3455:85:139;3547:64;3614:67;:65;:67::i;:::-;3714:13;;3692:61;;3547:134;;-1:-1:-1;3692:61:139;;;;-1:-1:-1;;;;;3714:13:139;;3738;;3692:61;:::i;:::-;;;;;;;;3759:29;;-1:-1:-1;;;;;;3759:29:139;-1:-1:-1;;;;;3759:29:139;;;;;;;;;;3390:403::o;2310:404::-;2456:64;2523:67;:65;:67::i;:::-;2596:33;;-1:-1:-1;;;;;;2596:33:139;;;-1:-1:-1;;;;;2596:33:139;;;;;;-1:-1:-1;2635:12:139;;:31;;;;;;;;;;;;;;2672:15;;:37;;;;;;;;;;;;-1:-1:-1;2310:404:139:o;6211:473::-;-1:-1:-1;;;;;6301:43:139;;6297:99;;6353:43;;-1:-1:-1;;;6353:43:139;;5035:2:150;6353:43:139;;;5017:21:150;5074:2;5054:18;;;5047:30;-1:-1:-1;;;5093:18:150;;;5086:47;5150:18;;6353:43:139;4833:341:150;6297:99:139;6403:64;6470:67;:65;:67::i;:::-;6577:20;;;;6548:82;;6403:134;;-1:-1:-1;6548:82:139;;;;-1:-1:-1;;;;;6577:20:139;;6608;;6548:82;:::i;:::-;;;;;;;;6636:20;;:43;;-1:-1:-1;;;;;;6636:43:139;-1:-1:-1;;;;;6636:43:139;;;;;;;;;;6211:473::o;3909:424::-;-1:-1:-1;;;;;3984:38:139;;3980:90;;4031:39;;-1:-1:-1;;;4031:39:139;;5381:2:150;4031:39:139;;;5363:21:150;5420:2;5400:18;;;5393:30;-1:-1:-1;;;5439:18:150;;;5432:43;5492:18;;4031:39:139;5179:337:150;3980:90:139;4077:64;4144:67;:65;:67::i;:::-;4246:15;;;;4222:67;;4077:134;;-1:-1:-1;4222:67:139;;;;-1:-1:-1;;;;;4246:15:139;;4272;;4222:67;:::i;:::-;;;;;;;;4295:15;;:33;;-1:-1:-1;;;;;;4295:33:139;-1:-1:-1;;;;;4295:33:139;;;;;;;;;;3909:424::o;7151:174:149:-;7283:32;;7151:174::o;14:143:150:-;-1:-1:-1;;;;;101:31:150;;91:42;;81:70;;147:1;144;137:12;81:70;14:143;:::o;162:279::-;241:6;294:2;282:9;273:7;269:23;265:32;262:52;;;310:1;307;300:12;262:52;349:9;336:23;368:43;405:5;368:43;:::i;:::-;430:5;162:279;-1:-1:-1;;;162:279:150:o;1602:629::-;1743:6;1751;1759;1812:2;1800:9;1791:7;1787:23;1783:32;1780:52;;;1828:1;1825;1818:12;1780:52;1867:9;1854:23;1886:43;1923:5;1886:43;:::i;:::-;1948:5;-1:-1:-1;2005:2:150;1990:18;;1977:32;2018:45;1977:32;2018:45;:::i;:::-;2082:7;-1:-1:-1;2141:2:150;2126:18;;2113:32;2154:45;2113:32;2154:45;:::i;:::-;2218:7;2208:17;;;1602:629;;;;;:::o;3152:304::-;-1:-1:-1;;;;;3382:15:150;;;3364:34;;3434:15;;3429:2;3414:18;;3407:43;3314:2;3299:18;;3152:304::o"},"methodIdentifiers":{"initialize(IX2EarnApps,IEmissions,IVoterRewards)":"c852a53b","setB3TRGovernor(IB3TRGovernor)":"65d47ee6","setEmissions(IEmissions)":"2b9f45b7","setNavigatorRegistry(INavigatorRegistry)":"ce396b1f","setRelayerRewardsPool(IRelayerRewardsPool)":"382fa8ec","setVeBetterPassport(IVeBetterPassport)":"4784a113","setVoterRewards(IVoterRewards)":"d639f65c","setX2EarnApps(IX2EarnApps)":"7d4b9483"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"B3TRGovernorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"EmissionsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"NavigatorRegistrySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"RelayerRewardsPoolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VeBetterPassportSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"VoterRewardsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContractAddress\",\"type\":\"address\"}],\"name\":\"X2EarnAppsSet\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Self-fetches storage via XAllocationVotingStorageTypes. All functions are external for size reduction.\",\"events\":{\"B3TRGovernorSet(address,address)\":{\"details\":\"Emitted when the B3TRGovernor contract is set\"},\"EmissionsSet(address,address)\":{\"details\":\"Emitted when the emissions contract is set\"},\"NavigatorRegistrySet(address,address)\":{\"details\":\"Emitted when the NavigatorRegistry contract is set\"},\"RelayerRewardsPoolSet(address,address)\":{\"details\":\"Emitted when the RelayerRewardsPool contract is set\"},\"VeBetterPassportSet(address,address)\":{\"details\":\"Emitted when the VeBetterPassport contract is set\"},\"VoterRewardsSet(address,address)\":{\"details\":\"Emitted when the voter rewards contract is set\"},\"X2EarnAppsSet(address,address)\":{\"details\":\"Emitted when the X2EarnApps contract is set\"}},\"kind\":\"dev\",\"methods\":{\"initialize(IX2EarnApps,IEmissions,IVoterRewards)\":{\"params\":{\"initialEmissions\":\"The initial Emissions contract\",\"initialVoterRewards\":\"The initial VoterRewards contract\",\"initialX2EarnApps\":\"The initial X2EarnApps contract\"}},\"setB3TRGovernor(IB3TRGovernor)\":{\"params\":{\"newB3TRGovernor\":\"The new B3TRGovernor contract address\"}},\"setEmissions(IEmissions)\":{\"params\":{\"newEmissions\":\"The new Emissions contract address\"}},\"setNavigatorRegistry(INavigatorRegistry)\":{\"params\":{\"newNavigatorRegistry\":\"The new NavigatorRegistry contract address\"}},\"setRelayerRewardsPool(IRelayerRewardsPool)\":{\"params\":{\"newRelayerRewardsPool\":\"The new RelayerRewardsPool contract address\"}},\"setVeBetterPassport(IVeBetterPassport)\":{\"params\":{\"newVeBetterPassport\":\"The new VeBetterPassport contract address\"}},\"setVoterRewards(IVoterRewards)\":{\"params\":{\"newVoterRewards\":\"The new VoterRewards contract address\"}},\"setX2EarnApps(IX2EarnApps)\":{\"params\":{\"newX2EarnApps\":\"The new X2EarnApps contract address\"}}},\"title\":\"ExternalContractsUtils\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"initialize(IX2EarnApps,IEmissions,IVoterRewards)\":{\"notice\":\"Initializes external contract references.\"},\"setB3TRGovernor(IB3TRGovernor)\":{\"notice\":\"Sets the B3TRGovernor contract\"},\"setEmissions(IEmissions)\":{\"notice\":\"Sets the Emissions contract\"},\"setNavigatorRegistry(INavigatorRegistry)\":{\"notice\":\"Sets the NavigatorRegistry contract\"},\"setRelayerRewardsPool(IRelayerRewardsPool)\":{\"notice\":\"Sets the RelayerRewardsPool contract\"},\"setVeBetterPassport(IVeBetterPassport)\":{\"notice\":\"Sets the VeBetterPassport contract\"},\"setVoterRewards(IVoterRewards)\":{\"notice\":\"Sets the VoterRewards contract\"},\"setX2EarnApps(IX2EarnApps)\":{\"notice\":\"Sets the X2EarnApps contract\"}},\"notice\":\"Library for managing external contract references in XAllocationVoting.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol\":\"ExternalContractsUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/ExternalContractsUtils.sol\":{\"keccak256\":\"0x23258e2ea03da915eb7be5c1741ae01ea980d822cfb1a29df622b213db840f93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b5f5259d96b2452152147877a0e86274203ba1584a6ba9374ab56de483ad918\",\"dweb:/ipfs/QmZGwk5Lc7RM1RU7wHDnVZdmowJjYu5mhyVBtsqya5GCmA\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol":{"FreshnessUtils":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"fingerprint","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"lastChangedRound","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"FreshnessMultiplierApplied","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6104aa61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063bd5d18271461003a575b600080fd5b81801561004657600080fd5b5061005a6100553660046102f5565b61006c565b60405190815260200160405180910390f35b60008061007a87878761010a565b90506100878185856101b1565b9150600061009361025b565b6001600160a01b03891660008181526003830160209081526040808320546004860183529281902054815193845291830191909152810186905291925088917f0e517902a3b560beed6397b3f68b465d56e2928c11722f4e1766c6a25ff659069060600160405180910390a3505095945050505050565b60008061011561025b565b905060006101228461027f565b6001600160a01b038716600090815260038401602052604090205490915080158061014d5750808214155b1561017f576001600160a01b038716600090815260038401602090815260408083208590556004860190915290208690555b6001600160a01b03871660009081526004840160205260409020546101a490876103fe565b93505050505b9392505050565b600080600080846001600160a01b03166308d059dd876040518263ffffffff1660e01b81526004016101e591815260200190565b606060405180830381865afa158015610202573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102269190610417565b9250925092508660000361023f578293505050506101aa565b86600103610251575091506101aa9050565b9695505050505050565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b6000805b82518110156102bd5782818151811061029e5761029e610445565b60200260200101518218915080806102b59061045b565b915050610283565b50919050565b80356001600160a01b03811681146102da57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a0868803121561030d57600080fd5b610316866102c3565b9450602086810135945060408701356001600160401b038082111561033a57600080fd5b818901915089601f83011261034e57600080fd5b813581811115610360576103606102df565b8060051b604051601f19603f83011681018181108582111715610385576103856102df565b60405291825284820192508381018501918c8311156103a357600080fd5b938501935b828510156103c1578435845293850193928501926103a8565b9750505050606088013593506103dc915050608087016102c3565b90509295509295909350565b634e487b7160e01b600052601160045260246000fd5b81810381811115610411576104116103e8565b92915050565b60008060006060848603121561042c57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b60006001820161046d5761046d6103e8565b506001019056fea2646970667358221220602d321d73d257e716105ba7d0bbd98a510f31bad2e90e6d3ee5588513ec905c64736f6c63430008140033","opcodes":"PUSH2 0x4AA PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xBD5D1827 EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A PUSH2 0x55 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F5 JUMP JUMPDEST PUSH2 0x6C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7A DUP8 DUP8 DUP8 PUSH2 0x10A JUMP JUMPDEST SWAP1 POP PUSH2 0x87 DUP2 DUP6 DUP6 PUSH2 0x1B1 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 PUSH2 0x93 PUSH2 0x25B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x4 DUP7 ADD DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 SLOAD DUP2 MLOAD SWAP4 DUP5 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP DUP9 SWAP2 PUSH32 0xE517902A3B560BEED6397B3F68B465D56E2928C11722F4E1766C6A25FF65906 SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x115 PUSH2 0x25B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x122 DUP5 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 ISZERO DUP1 PUSH2 0x14D JUMPI POP DUP1 DUP3 EQ ISZERO JUMPDEST ISZERO PUSH2 0x17F JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x4 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP7 SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1A4 SWAP1 DUP8 PUSH2 0x3FE JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8D059DD DUP8 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E5 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x202 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x226 SWAP2 SWAP1 PUSH2 0x417 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP7 PUSH1 0x0 SUB PUSH2 0x23F JUMPI DUP3 SWAP4 POP POP POP POP PUSH2 0x1AA JUMP JUMPDEST DUP7 PUSH1 0x1 SUB PUSH2 0x251 JUMPI POP SWAP2 POP PUSH2 0x1AA SWAP1 POP JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x2BD JUMPI DUP3 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x29E JUMPI PUSH2 0x29E PUSH2 0x445 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 XOR SWAP2 POP DUP1 DUP1 PUSH2 0x2B5 SWAP1 PUSH2 0x45B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x283 JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x316 DUP7 PUSH2 0x2C3 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 DUP2 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x33A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x34E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x360 JUMPI PUSH2 0x360 PUSH2 0x2DF JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x385 JUMPI PUSH2 0x385 PUSH2 0x2DF JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP5 DUP3 ADD SWAP3 POP DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP13 DUP4 GT ISZERO PUSH2 0x3A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x3C1 JUMPI DUP5 CALLDATALOAD DUP5 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP3 DUP6 ADD SWAP3 PUSH2 0x3A8 JUMP JUMPDEST SWAP8 POP POP POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH2 0x3DC SWAP2 POP POP PUSH1 0x80 DUP8 ADD PUSH2 0x2C3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x411 JUMPI PUSH2 0x411 PUSH2 0x3E8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x42C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD SWAP3 POP PUSH1 0x20 DUP5 ADD MLOAD SWAP2 POP PUSH1 0x40 DUP5 ADD MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x46D JUMPI PUSH2 0x46D PUSH2 0x3E8 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH1 0x2D ORIGIN SAR PUSH20 0xD257E716105BA7D0BBD98A510F31BAD2E90E6D3E 0xE5 PC DUP6 SGT 0xEC SWAP1 0x5C PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"991:3849:140:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;991:3849:140;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getRoundVotesCountingStorage_83058":{"entryPoint":603,"id":83058,"parameterSlots":0,"returnSlots":1},"@_selectTier_80554":{"entryPoint":433,"id":80554,"parameterSlots":3,"returnSlots":1},"@_updateFingerprint_80514":{"entryPoint":266,"id":80514,"parameterSlots":3,"returnSlots":1},"@computeFingerprint_80386":{"entryPoint":639,"id":80386,"parameterSlots":1,"returnSlots":1},"@updateAndGetMultiplier_80443":{"entryPoint":108,"id":80443,"parameterSlots":5,"returnSlots":1},"abi_decode_address":{"entryPoint":707,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_memory_ptrt_uint256t_address":{"entryPoint":757,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_uint256t_uint256t_uint256_fromMemory":{"entryPoint":1047,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_tuple_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":1022,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":1115,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":1000,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":1093,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":735,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3271:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:150","statements":[{"nodeType":"YulAssignment","src":"73:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:150"},"nodeType":"YulFunctionCall","src":"82:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:150"}]},{"body":{"nodeType":"YulBlock","src":"165:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:150"},"nodeType":"YulFunctionCall","src":"167:12:150"},"nodeType":"YulExpressionStatement","src":"167:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:150"},"nodeType":"YulFunctionCall","src":"146:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:150"},"nodeType":"YulFunctionCall","src":"142:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:150"},"nodeType":"YulFunctionCall","src":"131:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:150"},"nodeType":"YulFunctionCall","src":"121:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:150"},"nodeType":"YulFunctionCall","src":"114:50:150"},"nodeType":"YulIf","src":"111:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:150","type":""}],"src":"14:173:150"},{"body":{"nodeType":"YulBlock","src":"224:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"241:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"248:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"253:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"244:3:150"},"nodeType":"YulFunctionCall","src":"244:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"234:6:150"},"nodeType":"YulFunctionCall","src":"234:31:150"},"nodeType":"YulExpressionStatement","src":"234:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"281:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"284:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"274:6:150"},"nodeType":"YulFunctionCall","src":"274:15:150"},"nodeType":"YulExpressionStatement","src":"274:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"305:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"308:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"298:6:150"},"nodeType":"YulFunctionCall","src":"298:15:150"},"nodeType":"YulExpressionStatement","src":"298:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"192:127:150"},{"body":{"nodeType":"YulBlock","src":"487:1238:150","statements":[{"body":{"nodeType":"YulBlock","src":"534:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"543:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"546:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"536:6:150"},"nodeType":"YulFunctionCall","src":"536:12:150"},"nodeType":"YulExpressionStatement","src":"536:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"508:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"504:3:150"},"nodeType":"YulFunctionCall","src":"504:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"529:3:150","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"500:3:150"},"nodeType":"YulFunctionCall","src":"500:33:150"},"nodeType":"YulIf","src":"497:53:150"},{"nodeType":"YulAssignment","src":"559:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"588:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"569:18:150"},"nodeType":"YulFunctionCall","src":"569:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"559:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"607:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"617:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"611:2:150","type":""}]},{"nodeType":"YulAssignment","src":"628:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"655:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"666:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"651:3:150"},"nodeType":"YulFunctionCall","src":"651:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"638:12:150"},"nodeType":"YulFunctionCall","src":"638:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"628:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"679:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"710:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"721:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"706:3:150"},"nodeType":"YulFunctionCall","src":"706:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"693:12:150"},"nodeType":"YulFunctionCall","src":"693:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"683:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"734:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"752:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"756:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"748:3:150"},"nodeType":"YulFunctionCall","src":"748:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"760:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"744:3:150"},"nodeType":"YulFunctionCall","src":"744:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"738:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"789:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"798:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"801:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"791:6:150"},"nodeType":"YulFunctionCall","src":"791:12:150"},"nodeType":"YulExpressionStatement","src":"791:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"777:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"785:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"774:2:150"},"nodeType":"YulFunctionCall","src":"774:14:150"},"nodeType":"YulIf","src":"771:34:150"},{"nodeType":"YulVariableDeclaration","src":"814:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"828:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"839:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"824:3:150"},"nodeType":"YulFunctionCall","src":"824:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"818:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"894:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"903:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"906:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"896:6:150"},"nodeType":"YulFunctionCall","src":"896:12:150"},"nodeType":"YulExpressionStatement","src":"896:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"873:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"877:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"869:3:150"},"nodeType":"YulFunctionCall","src":"869:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"884:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"865:3:150"},"nodeType":"YulFunctionCall","src":"865:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"858:6:150"},"nodeType":"YulFunctionCall","src":"858:35:150"},"nodeType":"YulIf","src":"855:55:150"},{"nodeType":"YulVariableDeclaration","src":"919:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"942:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"929:12:150"},"nodeType":"YulFunctionCall","src":"929:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"923:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"968:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"970:16:150"},"nodeType":"YulFunctionCall","src":"970:18:150"},"nodeType":"YulExpressionStatement","src":"970:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"960:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"964:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"957:2:150"},"nodeType":"YulFunctionCall","src":"957:10:150"},"nodeType":"YulIf","src":"954:36:150"},{"nodeType":"YulVariableDeclaration","src":"999:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1013:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"1016:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1009:3:150"},"nodeType":"YulFunctionCall","src":"1009:10:150"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"1003:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1028:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1048:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1042:5:150"},"nodeType":"YulFunctionCall","src":"1042:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1032:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1060:56:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1082:6:150"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"1098:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"1102:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1094:3:150"},"nodeType":"YulFunctionCall","src":"1094:11:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1111:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1107:3:150"},"nodeType":"YulFunctionCall","src":"1107:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1090:3:150"},"nodeType":"YulFunctionCall","src":"1090:25:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1078:3:150"},"nodeType":"YulFunctionCall","src":"1078:38:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1064:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1175:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1177:16:150"},"nodeType":"YulFunctionCall","src":"1177:18:150"},"nodeType":"YulExpressionStatement","src":"1177:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1134:10:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1146:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1131:2:150"},"nodeType":"YulFunctionCall","src":"1131:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1154:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1166:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1151:2:150"},"nodeType":"YulFunctionCall","src":"1151:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1128:2:150"},"nodeType":"YulFunctionCall","src":"1128:46:150"},"nodeType":"YulIf","src":"1125:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1213:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1217:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1206:6:150"},"nodeType":"YulFunctionCall","src":"1206:22:150"},"nodeType":"YulExpressionStatement","src":"1206:22:150"},{"nodeType":"YulVariableDeclaration","src":"1237:17:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1248:6:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1241:3:150","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1270:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"1278:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1263:6:150"},"nodeType":"YulFunctionCall","src":"1263:18:150"},"nodeType":"YulExpressionStatement","src":"1263:18:150"},{"nodeType":"YulAssignment","src":"1290:22:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1301:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1309:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1297:3:150"},"nodeType":"YulFunctionCall","src":"1297:15:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1290:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1321:34:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1343:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"1347:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1339:3:150"},"nodeType":"YulFunctionCall","src":"1339:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1352:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1335:3:150"},"nodeType":"YulFunctionCall","src":"1335:20:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1325:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1387:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1396:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1399:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1389:6:150"},"nodeType":"YulFunctionCall","src":"1389:12:150"},"nodeType":"YulExpressionStatement","src":"1389:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1370:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1378:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1367:2:150"},"nodeType":"YulFunctionCall","src":"1367:19:150"},"nodeType":"YulIf","src":"1364:39:150"},{"nodeType":"YulVariableDeclaration","src":"1412:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1427:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1431:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1423:3:150"},"nodeType":"YulFunctionCall","src":"1423:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1416:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1499:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1520:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1538:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1525:12:150"},"nodeType":"YulFunctionCall","src":"1525:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1513:6:150"},"nodeType":"YulFunctionCall","src":"1513:30:150"},"nodeType":"YulExpressionStatement","src":"1513:30:150"},{"nodeType":"YulAssignment","src":"1556:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1567:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1572:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1563:3:150"},"nodeType":"YulFunctionCall","src":"1563:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1556:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1454:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1459:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1451:2:150"},"nodeType":"YulFunctionCall","src":"1451:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1467:23:150","statements":[{"nodeType":"YulAssignment","src":"1469:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1480:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1485:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1476:3:150"},"nodeType":"YulFunctionCall","src":"1476:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1469:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1447:3:150","statements":[]},"src":"1443:142:150"},{"nodeType":"YulAssignment","src":"1594:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1604:6:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1594:6:150"}]},{"nodeType":"YulAssignment","src":"1619:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1646:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1657:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1642:3:150"},"nodeType":"YulFunctionCall","src":"1642:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1629:12:150"},"nodeType":"YulFunctionCall","src":"1629:32:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1619:6:150"}]},{"nodeType":"YulAssignment","src":"1670:49:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1703:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1714:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1699:3:150"},"nodeType":"YulFunctionCall","src":"1699:19:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1680:18:150"},"nodeType":"YulFunctionCall","src":"1680:39:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"1670:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_memory_ptrt_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"421:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"432:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"444:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"452:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"460:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"468:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"476:6:150","type":""}],"src":"324:1401:150"},{"body":{"nodeType":"YulBlock","src":"1839:76:150","statements":[{"nodeType":"YulAssignment","src":"1849:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1861:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1872:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1857:3:150"},"nodeType":"YulFunctionCall","src":"1857:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1849:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1891:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1902:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1884:6:150"},"nodeType":"YulFunctionCall","src":"1884:25:150"},"nodeType":"YulExpressionStatement","src":"1884:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1808:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1819:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1830:4:150","type":""}],"src":"1730:185:150"},{"body":{"nodeType":"YulBlock","src":"2077:162:150","statements":[{"nodeType":"YulAssignment","src":"2087:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2099:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2110:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2095:3:150"},"nodeType":"YulFunctionCall","src":"2095:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2087:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2129:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"2140:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2122:6:150"},"nodeType":"YulFunctionCall","src":"2122:25:150"},"nodeType":"YulExpressionStatement","src":"2122:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2167:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2178:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2163:3:150"},"nodeType":"YulFunctionCall","src":"2163:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"2183:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2156:6:150"},"nodeType":"YulFunctionCall","src":"2156:34:150"},"nodeType":"YulExpressionStatement","src":"2156:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2210:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2221:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2206:3:150"},"nodeType":"YulFunctionCall","src":"2206:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"2226:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2199:6:150"},"nodeType":"YulFunctionCall","src":"2199:34:150"},"nodeType":"YulExpressionStatement","src":"2199:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2030:9:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2041:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2049:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2057:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2068:4:150","type":""}],"src":"1920:319:150"},{"body":{"nodeType":"YulBlock","src":"2276:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2293:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2300:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2305:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2296:3:150"},"nodeType":"YulFunctionCall","src":"2296:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2286:6:150"},"nodeType":"YulFunctionCall","src":"2286:31:150"},"nodeType":"YulExpressionStatement","src":"2286:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2333:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2336:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2326:6:150"},"nodeType":"YulFunctionCall","src":"2326:15:150"},"nodeType":"YulExpressionStatement","src":"2326:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2357:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2360:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2350:6:150"},"nodeType":"YulFunctionCall","src":"2350:15:150"},"nodeType":"YulExpressionStatement","src":"2350:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"2244:127:150"},{"body":{"nodeType":"YulBlock","src":"2425:79:150","statements":[{"nodeType":"YulAssignment","src":"2435:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2447:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2450:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2443:3:150"},"nodeType":"YulFunctionCall","src":"2443:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"2435:4:150"}]},{"body":{"nodeType":"YulBlock","src":"2476:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2478:16:150"},"nodeType":"YulFunctionCall","src":"2478:18:150"},"nodeType":"YulExpressionStatement","src":"2478:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"2467:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"2473:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2464:2:150"},"nodeType":"YulFunctionCall","src":"2464:11:150"},"nodeType":"YulIf","src":"2461:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2407:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2410:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"2416:4:150","type":""}],"src":"2376:128:150"},{"body":{"nodeType":"YulBlock","src":"2610:76:150","statements":[{"nodeType":"YulAssignment","src":"2620:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2632:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2643:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2628:3:150"},"nodeType":"YulFunctionCall","src":"2628:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2620:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2662:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"2673:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2655:6:150"},"nodeType":"YulFunctionCall","src":"2655:25:150"},"nodeType":"YulExpressionStatement","src":"2655:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2579:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2590:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2601:4:150","type":""}],"src":"2509:177:150"},{"body":{"nodeType":"YulBlock","src":"2806:191:150","statements":[{"body":{"nodeType":"YulBlock","src":"2852:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2861:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2864:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2854:6:150"},"nodeType":"YulFunctionCall","src":"2854:12:150"},"nodeType":"YulExpressionStatement","src":"2854:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2827:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2836:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2823:3:150"},"nodeType":"YulFunctionCall","src":"2823:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2848:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2819:3:150"},"nodeType":"YulFunctionCall","src":"2819:32:150"},"nodeType":"YulIf","src":"2816:52:150"},{"nodeType":"YulAssignment","src":"2877:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2893:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2887:5:150"},"nodeType":"YulFunctionCall","src":"2887:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2877:6:150"}]},{"nodeType":"YulAssignment","src":"2912:35:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2932:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2943:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2928:3:150"},"nodeType":"YulFunctionCall","src":"2928:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2922:5:150"},"nodeType":"YulFunctionCall","src":"2922:25:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2912:6:150"}]},{"nodeType":"YulAssignment","src":"2956:35:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2976:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2987:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2972:3:150"},"nodeType":"YulFunctionCall","src":"2972:18:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2966:5:150"},"nodeType":"YulFunctionCall","src":"2966:25:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2956:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2756:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2767:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2779:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2787:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2795:6:150","type":""}],"src":"2691:306:150"},{"body":{"nodeType":"YulBlock","src":"3034:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3051:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3058:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3063:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3054:3:150"},"nodeType":"YulFunctionCall","src":"3054:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3044:6:150"},"nodeType":"YulFunctionCall","src":"3044:31:150"},"nodeType":"YulExpressionStatement","src":"3044:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3091:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3094:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3084:6:150"},"nodeType":"YulFunctionCall","src":"3084:15:150"},"nodeType":"YulExpressionStatement","src":"3084:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3115:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3118:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3108:6:150"},"nodeType":"YulFunctionCall","src":"3108:15:150"},"nodeType":"YulExpressionStatement","src":"3108:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"3002:127:150"},{"body":{"nodeType":"YulBlock","src":"3181:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"3212:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3214:16:150"},"nodeType":"YulFunctionCall","src":"3214:18:150"},"nodeType":"YulExpressionStatement","src":"3214:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3197:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3208:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3204:3:150"},"nodeType":"YulFunctionCall","src":"3204:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3194:2:150"},"nodeType":"YulFunctionCall","src":"3194:17:150"},"nodeType":"YulIf","src":"3191:43:150"},{"nodeType":"YulAssignment","src":"3243:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3254:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"3261:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3250:3:150"},"nodeType":"YulFunctionCall","src":"3250:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"3243:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3163:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"3173:3:150","type":""}],"src":"3134:135:150"}]},"contents":"{\n    { }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function abi_decode_tuple_t_addresst_uint256t_array$_t_bytes32_$dyn_memory_ptrt_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n        let _1 := 32\n        value1 := calldataload(add(headStart, _1))\n        let offset := calldataload(add(headStart, 64))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        if gt(_4, _2) { panic_error_0x41() }\n        let _5 := shl(5, _4)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(_5, 63), not(31)))\n        if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let dst := memPtr\n        mstore(memPtr, _4)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_3, _5), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _1)\n        }\n        value2 := memPtr\n        value3 := calldataload(add(headStart, 96))\n        value4 := abi_decode_address(add(headStart, 128))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := mload(headStart)\n        value1 := mload(add(headStart, 32))\n        value2 := mload(add(headStart, 64))\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063bd5d18271461003a575b600080fd5b81801561004657600080fd5b5061005a6100553660046102f5565b61006c565b60405190815260200160405180910390f35b60008061007a87878761010a565b90506100878185856101b1565b9150600061009361025b565b6001600160a01b03891660008181526003830160209081526040808320546004860183529281902054815193845291830191909152810186905291925088917f0e517902a3b560beed6397b3f68b465d56e2928c11722f4e1766c6a25ff659069060600160405180910390a3505095945050505050565b60008061011561025b565b905060006101228461027f565b6001600160a01b038716600090815260038401602052604090205490915080158061014d5750808214155b1561017f576001600160a01b038716600090815260038401602090815260408083208590556004860190915290208690555b6001600160a01b03871660009081526004840160205260409020546101a490876103fe565b93505050505b9392505050565b600080600080846001600160a01b03166308d059dd876040518263ffffffff1660e01b81526004016101e591815260200190565b606060405180830381865afa158015610202573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102269190610417565b9250925092508660000361023f578293505050506101aa565b86600103610251575091506101aa9050565b9695505050505050565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b6000805b82518110156102bd5782818151811061029e5761029e610445565b60200260200101518218915080806102b59061045b565b915050610283565b50919050565b80356001600160a01b03811681146102da57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a0868803121561030d57600080fd5b610316866102c3565b9450602086810135945060408701356001600160401b038082111561033a57600080fd5b818901915089601f83011261034e57600080fd5b813581811115610360576103606102df565b8060051b604051601f19603f83011681018181108582111715610385576103856102df565b60405291825284820192508381018501918c8311156103a357600080fd5b938501935b828510156103c1578435845293850193928501926103a8565b9750505050606088013593506103dc915050608087016102c3565b90509295509295909350565b634e487b7160e01b600052601160045260246000fd5b81810381811115610411576104116103e8565b92915050565b60008060006060848603121561042c57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b60006001820161046d5761046d6103e8565b506001019056fea2646970667358221220602d321d73d257e716105ba7d0bbd98a510f31bad2e90e6d3ee5588513ec905c64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xBD5D1827 EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A PUSH2 0x55 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F5 JUMP JUMPDEST PUSH2 0x6C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7A DUP8 DUP8 DUP8 PUSH2 0x10A JUMP JUMPDEST SWAP1 POP PUSH2 0x87 DUP2 DUP6 DUP6 PUSH2 0x1B1 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 PUSH2 0x93 PUSH2 0x25B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x4 DUP7 ADD DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 SLOAD DUP2 MLOAD SWAP4 DUP5 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP DUP9 SWAP2 PUSH32 0xE517902A3B560BEED6397B3F68B465D56E2928C11722F4E1766C6A25FF65906 SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x115 PUSH2 0x25B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x122 DUP5 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 ISZERO DUP1 PUSH2 0x14D JUMPI POP DUP1 DUP3 EQ ISZERO JUMPDEST ISZERO PUSH2 0x17F JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE PUSH1 0x4 DUP7 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP7 SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x1A4 SWAP1 DUP8 PUSH2 0x3FE JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8D059DD DUP8 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E5 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x202 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x226 SWAP2 SWAP1 PUSH2 0x417 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP7 PUSH1 0x0 SUB PUSH2 0x23F JUMPI DUP3 SWAP4 POP POP POP POP PUSH2 0x1AA JUMP JUMPDEST DUP7 PUSH1 0x1 SUB PUSH2 0x251 JUMPI POP SWAP2 POP PUSH2 0x1AA SWAP1 POP JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x2BD JUMPI DUP3 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x29E JUMPI PUSH2 0x29E PUSH2 0x445 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 XOR SWAP2 POP DUP1 DUP1 PUSH2 0x2B5 SWAP1 PUSH2 0x45B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x283 JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x316 DUP7 PUSH2 0x2C3 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 DUP2 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x33A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x34E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x360 JUMPI PUSH2 0x360 PUSH2 0x2DF JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x385 JUMPI PUSH2 0x385 PUSH2 0x2DF JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP5 DUP3 ADD SWAP3 POP DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP13 DUP4 GT ISZERO PUSH2 0x3A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x3C1 JUMPI DUP5 CALLDATALOAD DUP5 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP3 DUP6 ADD SWAP3 PUSH2 0x3A8 JUMP JUMPDEST SWAP8 POP POP POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH2 0x3DC SWAP2 POP POP PUSH1 0x80 DUP8 ADD PUSH2 0x2C3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x411 JUMPI PUSH2 0x411 PUSH2 0x3E8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x42C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD SWAP3 POP PUSH1 0x20 DUP5 ADD MLOAD SWAP2 POP PUSH1 0x40 DUP5 ADD MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x46D JUMPI PUSH2 0x46D PUSH2 0x3E8 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH1 0x2D ORIGIN SAR PUSH20 0xD257E716105BA7D0BBD98A510F31BAD2E90E6D3E 0xE5 PC DUP6 SGT 0xEC SWAP1 0x5C PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"991:3849:140:-:0;;;;;;;;;;;;;;;;;;;;;;;;2829:785;;;;;;;;;;-1:-1:-1;2829:785:140;;;;;:::i;:::-;;:::i;:::-;;;1884:25:150;;;1872:2;1857:18;2829:785:140;;;;;;;;3008:18;3101:25;3129:42;3148:5;3155:7;3164:6;3129:18;:42::i;:::-;3101:70;;3232:62;3244:17;3263:9;3274:19;3232:11;:62::i;:::-;3219:75;;3338:65;3406:68;:66;:68::i;:::-;-1:-1:-1;;;;;3485:124:140;;3528:29;;;;:22;;;:29;;;;;;;;;3559:30;;;:37;;;;;;;3485:124;;2122:25:150;;;2163:18;;;2156:34;;;;2206:18;;2199:34;;;3528:22:140;;-1:-1:-1;3519:7:140;;3485:124;;2110:2:150;2095:18;3485:124:140;;;;;;;3028:586;;2829:785;;;;;;;:::o;3692:698::-;3794:7;3809:65;3877:68;:66;:68::i;:::-;3809:136;;3952:22;3977:26;3996:6;3977:18;:26::i;:::-;-1:-1:-1;;;;;4035:29:140;;4009:23;4035:29;;;:22;;;:29;;;;;;3952:51;;-1:-1:-1;4141:29:140;;;:66;;;4192:15;4174:14;:33;;4141:66;4137:188;;;-1:-1:-1;;;;;4217:29:140;;;;;;:22;;;:29;;;;;;;;:46;;;4271:30;;;:37;;;;;:47;;;4137:188;-1:-1:-1;;;;;4348:37:140;;;;;;:30;;;:37;;;;;;4338:47;;:7;:47;:::i;:::-;4331:54;;;;;3692:698;;;;;;:::o;4472:366::-;4590:7;4606:13;4621;4636;4667:19;-1:-1:-1;;;;;4653:58:140;;4712:9;4653:69;;;;;;;;;;;;;1884:25:150;;1872:2;1857:18;;1730:185;4653:69:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4605:117;;;;;;4733:17;4754:1;4733:22;4729:40;;4764:5;4757:12;;;;;;;4729:40;4779:17;4800:1;4779:22;4775:40;;-1:-1:-1;4810:5:140;-1:-1:-1;4803:12:140;;-1:-1:-1;4803:12:140;4775:40;4828:5;4472:366;-1:-1:-1;;;;;;4472:366:140:o;6451:177:149:-;6585:33;;6451:177::o;1916:186:140:-;1992:19;2024:9;2019:79;2039:6;:13;2035:1;:17;2019:79;;;2082:6;2089:1;2082:9;;;;;;;;:::i;:::-;;;;;;;2067:24;;;;2054:3;;;;;:::i;:::-;;;;2019:79;;;;1916:186;;;:::o;14:173:150:-;82:20;;-1:-1:-1;;;;;131:31:150;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:127::-;253:10;248:3;244:20;241:1;234:31;284:4;281:1;274:15;308:4;305:1;298:15;324:1401;444:6;452;460;468;476;529:3;517:9;508:7;504:23;500:33;497:53;;;546:1;543;536:12;497:53;569:29;588:9;569:29;:::i;:::-;559:39;-1:-1:-1;617:2:150;651:18;;;638:32;;-1:-1:-1;721:2:150;706:18;;693:32;-1:-1:-1;;;;;774:14:150;;;771:34;;;801:1;798;791:12;771:34;839:6;828:9;824:22;814:32;;884:7;877:4;873:2;869:13;865:27;855:55;;906:1;903;896:12;855:55;942:2;929:16;964:2;960;957:10;954:36;;;970:18;;:::i;:::-;1016:2;1013:1;1009:10;1048:2;1042:9;1111:2;1107:7;1102:2;1098;1094:11;1090:25;1082:6;1078:38;1166:6;1154:10;1151:22;1146:2;1134:10;1131:18;1128:46;1125:72;;;1177:18;;:::i;:::-;1213:2;1206:22;1263:18;;;1297:15;;;;-1:-1:-1;1339:11:150;;;1335:20;;;1367:19;;;1364:39;;;1399:1;1396;1389:12;1364:39;1423:11;;;;1443:142;1459:6;1454:3;1451:15;1443:142;;;1525:17;;1513:30;;1476:12;;;;1563;;;;1443:142;;;1604:6;-1:-1:-1;;;;1657:2:150;1642:18;;1629:32;;-1:-1:-1;1680:39:150;;-1:-1:-1;;1714:3:150;1699:19;;1680:39;:::i;:::-;1670:49;;324:1401;;;;;;;;:::o;2244:127::-;2305:10;2300:3;2296:20;2293:1;2286:31;2336:4;2333:1;2326:15;2360:4;2357:1;2350:15;2376:128;2443:9;;;2464:11;;;2461:37;;;2478:18;;:::i;:::-;2376:128;;;;:::o;2691:306::-;2779:6;2787;2795;2848:2;2836:9;2827:7;2823:23;2819:32;2816:52;;;2864:1;2861;2854:12;2816:52;2893:9;2887:16;2877:26;;2943:2;2932:9;2928:18;2922:25;2912:35;;2987:2;2976:9;2972:18;2966:25;2956:35;;2691:306;;;;;:::o;3002:127::-;3063:10;3058:3;3054:20;3051:1;3044:31;3094:4;3091:1;3084:15;3118:4;3115:1;3108:15;3134:135;3173:3;3194:17;;;3191:43;;3214:18;;:::i;:::-;-1:-1:-1;3261:1:150;3250:13;;3134:135::o"},"methodIdentifiers":{"updateAndGetMultiplier(address,uint256,bytes32[],uint256,address)":"bd5d1827"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"fingerprint\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastChangedRound\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplier\",\"type\":\"uint256\"}],\"name\":\"FreshnessMultiplierApplied\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Freshness measures whether a voter actively changes their app selection between rounds. A \\\"fingerprint\\\" of the voted apps is computed using XOR, which is order-independent and gas-efficient. The fingerprint is compared against the stored value to determine if the vote is \\\"fresh\\\". Freshness tiers (in basis points, 10000 = 1x): - Updated this round (roundsSinceChange == 0) \\u2192 tier 1 (default x3) - Updated last round (roundsSinceChange == 1) \\u2192 tier 2 (default x2) - No update >= 2 rounds (roundsSinceChange >= 2) \\u2192 tier 3 (default x1) Reusable for Phase 2 (navigators inherit freshness from their navigator's preferences).\",\"events\":{\"FreshnessMultiplierApplied(address,uint256,bytes32,uint256,uint256)\":{\"params\":{\"fingerprint\":\"The XOR fingerprint of the voted apps\",\"lastChangedRound\":\"The round when the voter's fingerprint last changed\",\"multiplier\":\"The freshness multiplier applied (basis points, 10000 = 1x)\",\"roundId\":\"The round in which the vote was cast\",\"voter\":\"The voter address\"}}},\"kind\":\"dev\",\"methods\":{\"updateAndGetMultiplier(address,uint256,bytes32[],uint256,address)\":{\"details\":\"Computes fingerprint, compares to stored value, updates storage, and looks up multiplier from VoterRewards checkpoints at the given timepoint. First-time voters (lastFingerprint == bytes32(0)) are treated as fresh (tier 1).\",\"params\":{\"appIds\":\"Array of app IDs voted for\",\"roundId\":\"The current round ID\",\"timepoint\":\"The round snapshot block for checkpoint lookup\",\"voter\":\"The voter address\",\"voterRewardsAddress\":\"The VoterRewards contract address for multiplier config lookup\"},\"returns\":{\"multiplier\":\"The freshness multiplier in basis points (10000 = 1x)\"}}},\"title\":\"FreshnessUtils\",\"version\":1},\"userdoc\":{\"events\":{\"FreshnessMultiplierApplied(address,uint256,bytes32,uint256,uint256)\":{\"notice\":\"Emitted when a vote's freshness multiplier is applied\"}},\"kind\":\"user\",\"methods\":{\"updateAndGetMultiplier(address,uint256,bytes32[],uint256,address)\":{\"notice\":\"Update fingerprint storage and return the freshness multiplier in basis points\"}},\"notice\":\"Library for computing and tracking vote freshness in XAllocationVoting.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol\":\"FreshnessUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol\":{\"keccak256\":\"0x191c83ec4ca9c8e02ca42f70b631525bdb33d38adcf6801af001ee4184f6c7b7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2445c25e52ab4ae91c2f44479f47360bfafec5f059b02e4c6221912524cfb2a8\",\"dweb:/ipfs/QmWTL9CqoAQVHLX4mk7SqYZGMX1wP2baia11xV5RwYVJt5\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol":{"RoundEarningsSettingsUtils":{"abi":[{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"}],"name":"AppSharesCapTooHigh","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"}],"name":"BaseAllocationPercentageTooHigh","type":"error"},{"inputs":[],"name":"appSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundAppSharesCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRoundBaseAllocationPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6102ad61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100775760003560e01c80630a0e74ef1461007c5780630eca87fb146100a157806374038935146100b45780637db361fe146100d65780638ab52d4b146100f6578063bb7de6d4146100fe578063f5fae13614610106575b600080fd5b61008f61008a36600461025e565b610126565b60405190815260200160405180910390f35b61008f6100af36600461025e565b610146565b8180156100c057600080fd5b506100d46100cf36600461025e565b610166565b005b8180156100e257600080fd5b506100d46100f136600461025e565b6101a4565b61008f6101dd565b61008f6101ef565b81801561011257600080fd5b506100d461012136600461025e565b610204565b60008061013161023a565b60009384526003016020525050604090205490565b60008061015161023a565b60009384526002016020525050604090205490565b606481111561019057604051637c1c7ee560e11b8152600481018290526024015b60405180910390fd5b600061019a61023a565b6001019190915550565b60006101ae61023a565b805460009384526002820160209081526040808620929092556001830154600390930190529092209190915550565b6000806101e861023a565b5492915050565b6000806101fa61023a565b6001015492915050565b60648111156102295760405163058bb03760e41b815260048101829052602401610187565b600061023361023a565b9190915550565b7fc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c350090565b60006020828403121561027057600080fd5b503591905056fea2646970667358221220bf967545e7ec2ff7fe06071bef5cef8cc256a6a5f0725e39401e3e500040287b64736f6c63430008140033","opcodes":"PUSH2 0x2AD PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x77 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x7DB361FE EQ PUSH2 0xD6 JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0xF6 JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0x106 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8F PUSH2 0x8A CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x126 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8F PUSH2 0xAF CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x146 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD4 PUSH2 0xCF CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x166 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xE2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD4 PUSH2 0xF1 CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x1A4 JUMP JUMPDEST PUSH2 0x8F PUSH2 0x1DD JUMP JUMPDEST PUSH2 0x8F PUSH2 0x1EF JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x112 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD4 PUSH2 0x121 CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x204 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x131 PUSH2 0x23A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x151 PUSH2 0x23A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x190 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C1C7EE5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19A PUSH2 0x23A JUMP JUMPDEST PUSH1 0x1 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AE PUSH2 0x23A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SWAP1 MSTORE SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E8 PUSH2 0x23A JUMP JUMPDEST SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1FA PUSH2 0x23A JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x229 JUMPI PUSH1 0x40 MLOAD PUSH4 0x58BB037 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x187 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x233 PUSH2 0x23A JUMP JUMPDEST SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH32 0xC74DB4E191410C7A6C18F14684E1218B5E87C449D0F81AB47E8C67BF971C3500 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBF SWAP7 PUSH22 0x45E7EC2FF7FE06071BEF5CEF8CC256A6A5F0725E3940 0x1E RETURNDATACOPY POP STOP BLOCKHASH 0x28 PUSH28 0x64736F6C634300081400330000000000000000000000000000000000 ","sourceMap":"507:3337:141:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;507:3337:141;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getEarningsSettingsStorage_83066":{"entryPoint":570,"id":83066,"parameterSlots":0,"returnSlots":1},"@appSharesCap_80608":{"entryPoint":495,"id":80608,"parameterSlots":0,"returnSlots":1},"@baseAllocationPercentage_80589":{"entryPoint":477,"id":80589,"parameterSlots":0,"returnSlots":1},"@getRoundAppSharesCap_80654":{"entryPoint":294,"id":80654,"parameterSlots":1,"returnSlots":1},"@getRoundBaseAllocationPercentage_80631":{"entryPoint":326,"id":80631,"parameterSlots":1,"returnSlots":1},"@setAppSharesCap_80716":{"entryPoint":358,"id":80716,"parameterSlots":1,"returnSlots":0},"@setBaseAllocationPercentage_80685":{"entryPoint":516,"id":80685,"parameterSlots":1,"returnSlots":0},"@snapshotRoundEarningsCap_80750":{"entryPoint":420,"id":80750,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_uint256":{"entryPoint":606,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:568:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:150"},"nodeType":"YulFunctionCall","src":"132:12:150"},"nodeType":"YulExpressionStatement","src":"132:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:150"},"nodeType":"YulFunctionCall","src":"101:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:150"},"nodeType":"YulFunctionCall","src":"97:32:150"},"nodeType":"YulIf","src":"94:52:150"},{"nodeType":"YulAssignment","src":"155:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:150"},"nodeType":"YulFunctionCall","src":"165:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:150","type":""}],"src":"14:180:150"},{"body":{"nodeType":"YulBlock","src":"308:76:150","statements":[{"nodeType":"YulAssignment","src":"318:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"330:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"341:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"326:3:150"},"nodeType":"YulFunctionCall","src":"326:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"318:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"360:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"371:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"353:6:150"},"nodeType":"YulFunctionCall","src":"353:25:150"},"nodeType":"YulExpressionStatement","src":"353:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"277:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"288:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"299:4:150","type":""}],"src":"199:185:150"},{"body":{"nodeType":"YulBlock","src":"490:76:150","statements":[{"nodeType":"YulAssignment","src":"500:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"512:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"523:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"508:3:150"},"nodeType":"YulFunctionCall","src":"508:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"500:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"542:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"553:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"535:6:150"},"nodeType":"YulFunctionCall","src":"535:25:150"},"nodeType":"YulExpressionStatement","src":"535:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"459:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"470:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"481:4:150","type":""}],"src":"389:177:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100775760003560e01c80630a0e74ef1461007c5780630eca87fb146100a157806374038935146100b45780637db361fe146100d65780638ab52d4b146100f6578063bb7de6d4146100fe578063f5fae13614610106575b600080fd5b61008f61008a36600461025e565b610126565b60405190815260200160405180910390f35b61008f6100af36600461025e565b610146565b8180156100c057600080fd5b506100d46100cf36600461025e565b610166565b005b8180156100e257600080fd5b506100d46100f136600461025e565b6101a4565b61008f6101dd565b61008f6101ef565b81801561011257600080fd5b506100d461012136600461025e565b610204565b60008061013161023a565b60009384526003016020525050604090205490565b60008061015161023a565b60009384526002016020525050604090205490565b606481111561019057604051637c1c7ee560e11b8152600481018290526024015b60405180910390fd5b600061019a61023a565b6001019190915550565b60006101ae61023a565b805460009384526002820160209081526040808620929092556001830154600390930190529092209190915550565b6000806101e861023a565b5492915050565b6000806101fa61023a565b6001015492915050565b60648111156102295760405163058bb03760e41b815260048101829052602401610187565b600061023361023a565b9190915550565b7fc74db4e191410c7a6c18f14684e1218b5e87c449d0f81ab47e8c67bf971c350090565b60006020828403121561027057600080fd5b503591905056fea2646970667358221220bf967545e7ec2ff7fe06071bef5cef8cc256a6a5f0725e39401e3e500040287b64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x77 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA0E74EF EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xECA87FB EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x74038935 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x7DB361FE EQ PUSH2 0xD6 JUMPI DUP1 PUSH4 0x8AB52D4B EQ PUSH2 0xF6 JUMPI DUP1 PUSH4 0xBB7DE6D4 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0xF5FAE136 EQ PUSH2 0x106 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8F PUSH2 0x8A CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x126 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8F PUSH2 0xAF CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x146 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD4 PUSH2 0xCF CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x166 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xE2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD4 PUSH2 0xF1 CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x1A4 JUMP JUMPDEST PUSH2 0x8F PUSH2 0x1DD JUMP JUMPDEST PUSH2 0x8F PUSH2 0x1EF JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x112 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD4 PUSH2 0x121 CALLDATASIZE PUSH1 0x4 PUSH2 0x25E JUMP JUMPDEST PUSH2 0x204 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x131 PUSH2 0x23A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x3 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x151 PUSH2 0x23A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x190 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C1C7EE5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19A PUSH2 0x23A JUMP JUMPDEST PUSH1 0x1 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AE PUSH2 0x23A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SWAP1 MSTORE SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1E8 PUSH2 0x23A JUMP JUMPDEST SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1FA PUSH2 0x23A JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x64 DUP2 GT ISZERO PUSH2 0x229 JUMPI PUSH1 0x40 MLOAD PUSH4 0x58BB037 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x187 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x233 PUSH2 0x23A JUMP JUMPDEST SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH32 0xC74DB4E191410C7A6C18F14684E1218B5E87C449D0F81AB47E8C67BF971C3500 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBF SWAP7 PUSH22 0x45E7EC2FF7FE06071BEF5CEF8CC256A6A5F0725E3940 0x1E RETURNDATACOPY POP STOP BLOCKHASH 0x28 PUSH28 0x64736F6C634300081400330000000000000000000000000000000000 ","sourceMap":"507:3337:141:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1949:264;;;;;;:::i;:::-;;:::i;:::-;;;353:25:150;;;341:2;326:18;1949:264:141;;;;;;;1548:288;;;;;;:::i;:::-;;:::i;2930:322::-;;;;;;;;;;-1:-1:-1;2930:322:141;;;;;:::i;:::-;;:::i;:::-;;3511:331;;;;;;;;;;-1:-1:-1;3511:331:141;;;;;:::i;:::-;;:::i;887:250::-;;;:::i;1197:226::-;;;:::i;2406:406::-;;;;;;;;;;-1:-1:-1;2406:406:141;;;;;:::i;:::-;;:::i;1949:264::-;2019:7;2034:63;2100:66;:64;:66::i;:::-;2179:29;;;;:20;;:29;;-1:-1:-1;;2179:29:141;;;;;1949:264::o;1548:288::-;1630:7;1645:63;1711:66;:64;:66::i;:::-;1790:41;;;;:32;;:41;;-1:-1:-1;;1790:41:141;;;;;1548:288::o;2930:322::-;3013:3;2997:13;:19;2993:81;;;3033:34;;-1:-1:-1;;;3033:34:141;;;;;353:25:150;;;326:18;;3033:34:141;;;;;;;;2993:81;3079:63;3145:66;:64;:66::i;:::-;3217:14;;:30;;;;-1:-1:-1;2930:322:141:o;3511:331::-;3577:63;3643:66;:64;:66::i;:::-;3759:26;;;3715:41;;;:32;;;:41;;;;;;;;:70;;;;3823:14;;;;3791:20;;;;:29;;;;;:46;;;;-1:-1:-1;3511:331:141:o;887:250::-;946:7;961:63;1027:66;:64;:66::i;:::-;1106:26;;887:250;-1:-1:-1;;887:250:141:o;1197:226::-;1244:7;1259:63;1325:66;:64;:66::i;:::-;1404:14;;;;1197:226;-1:-1:-1;;1197:226:141:o;2406:406::-;2525:3;2497:25;:31;2493:117;;;2545:58;;-1:-1:-1;;;2545:58:141;;;;;353:25:150;;;326:18;;2545:58:141;199:185:150;2493:117:141;2615:63;2681:66;:64;:66::i;:::-;2753:54;;;;-1:-1:-1;2406:406:141:o;6632:171:149:-;6762:31;;6632:171::o;14:180:150:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:150;;14:180;-1:-1:-1;14:180:150:o"},"methodIdentifiers":{"appSharesCap()":"bb7de6d4","baseAllocationPercentage()":"8ab52d4b","getRoundAppSharesCap(uint256)":"0a0e74ef","getRoundBaseAllocationPercentage(uint256)":"0eca87fb","setAppSharesCap(uint256)":"74038935","setBaseAllocationPercentage(uint256)":"f5fae136","snapshotRoundEarningsCap(uint256)":"7db361fe"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"AppSharesCapTooHigh\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"BaseAllocationPercentageTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"appSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundAppSharesCap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRoundBaseAllocationPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extracted from RoundEarningsSettingsUpgradeable module. Uses ERC-7201 namespaced storage. Since the base allocation percentage and app shares cap can be updated, values are snapshotted per round.\",\"kind\":\"dev\",\"methods\":{\"getRoundAppSharesCap(uint256)\":{\"params\":{\"roundId\":\"The round to query\"}},\"getRoundBaseAllocationPercentage(uint256)\":{\"params\":{\"roundId\":\"The round to query\"}},\"setAppSharesCap(uint256)\":{\"params\":{\"appSharesCap_\":\"The new app shares cap (must be <= 100)\"}},\"setBaseAllocationPercentage(uint256)\":{\"params\":{\"baseAllocationPercentage_\":\"The new base allocation percentage (must be <= 100)\"}},\"snapshotRoundEarningsCap(uint256)\":{\"details\":\"Stores current baseAllocationPercentage and appSharesCap for the given round\",\"params\":{\"roundId\":\"The id of the round to snapshot\"}}},\"title\":\"RoundEarningsSettingsUtils\",\"version\":1},\"userdoc\":{\"errors\":{\"AppSharesCapTooHigh(uint256)\":[{\"notice\":\"Thrown when the app shares cap exceeds 100\"}],\"BaseAllocationPercentageTooHigh(uint256)\":[{\"notice\":\"Thrown when the base allocation percentage exceeds 100\"}]},\"kind\":\"user\",\"methods\":{\"appSharesCap()\":{\"notice\":\"Get the current app shares cap\"},\"baseAllocationPercentage()\":{\"notice\":\"Get the current base allocation percentage\"},\"getRoundAppSharesCap(uint256)\":{\"notice\":\"Returns the app shares cap for a given round\"},\"getRoundBaseAllocationPercentage(uint256)\":{\"notice\":\"Returns the base allocation percentage for a given round\"},\"setAppSharesCap(uint256)\":{\"notice\":\"Set the app shares cap\"},\"setBaseAllocationPercentage(uint256)\":{\"notice\":\"Set the base allocation percentage\"},\"snapshotRoundEarningsCap(uint256)\":{\"notice\":\"Snapshot the current earnings settings for a round\"}},\"notice\":\"Library for managing x-allocation earnings settings (base allocation percentage, app shares cap).\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol\":\"RoundEarningsSettingsUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/RoundEarningsSettingsUtils.sol\":{\"keccak256\":\"0x307348dda3f7794ee65b6d57297b3cb2914145ef1abd09a19d32d8efb143e924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fda589e1452e745863b9e6dbd0ea9a05ea819fd32aff4b28f84dbbbb351e7ad\",\"dweb:/ipfs/QmV1qN8NeX8GRvP6xD1vRSnvAmQZQP3QgCsYbRxw5mEppV\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol":{"RoundFinalizationUtils":{"abi":[{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"isFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"latestSucceededRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"61031c61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806309d3c59b14610050578063300973771461007257806333727c4d14610098575b600080fd5b81801561005c57600080fd5b5061007061006b366004610259565b6100bb565b005b6100856100803660046102a6565b6101f5565b6040519081526020015b60405180910390f35b6100ab6100a63660046102a6565b610212565b604051901515815260200161008f565b80156101275760405162461bcd60e51b815260206004820152603160248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64604482015270081a5cc81b9bdd08195b991959081e595d607a1b606482015260840160405180910390fd5b6000610131610235565b90508360010361016957600093845260208181526040808620600190819055928301909152909320805460ff19169093179092555050565b8260ff166002036101a1576000848152602082815260408083208790556001808501909252909120805460ff191690911790556101ef565b8260ff166001036101ef578060006101ba6001876102bf565b8152602080820192909252604090810160009081205487825284845282822055600180850190935220805460ff191690911790555b50505050565b600080610200610235565b60009384526020525050604090205490565b60008061021d610235565b60009384526001016020525050604090205460ff1690565b7f7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e50250090565b60008060006060848603121561026e57600080fd5b83359250602084013560ff8116811461028657600080fd5b91506040840135801515811461029b57600080fd5b809150509250925092565b6000602082840312156102b857600080fd5b5035919050565b818103818111156102e057634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220d6a644724898ee83a7eb19bd092df64c6d5fcd3509bca78a8627f863c291159164736f6c63430008140033","opcodes":"PUSH2 0x31C PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9D3C59B EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x72 JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x98 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x6B CALLDATASIZE PUSH1 0x4 PUSH2 0x259 JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x85 PUSH2 0x80 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0x1F5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0xA6 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0x212 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x8F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x127 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A20726F756E64 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x81A5CC81B9BDD08195B991959081E595D PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x131 PUSH2 0x235 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 SUB PUSH2 0x169 JUMPI PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 SWAP1 DUP2 SWAP1 SSTORE SWAP3 DUP4 ADD SWAP1 SWAP2 MSTORE SWAP1 SWAP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x2 SUB PUSH2 0x1A1 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 SWAP1 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1EF JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1 SUB PUSH2 0x1EF JUMPI DUP1 PUSH1 0x0 PUSH2 0x1BA PUSH1 0x1 DUP8 PUSH2 0x2BF JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD DUP8 DUP3 MSTORE DUP5 DUP5 MSTORE DUP3 DUP3 KECCAK256 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SWAP1 SWAP4 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x200 PUSH2 0x235 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21D PUSH2 0x235 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH32 0x7DD3251B9882A8B07DC283A0B43197AA2BE3A6AF1A7F0284070FE5D86E502500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x26E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x2E0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 0xA6 PREVRANDAO PUSH19 0x4898EE83A7EB19BD092DF64C6D5FCD3509BCA7 DUP11 DUP7 0x27 0xF8 PUSH4 0xC2911591 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"582:2115:142:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;582:2115:142;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getRoundFinalizationStorage_83074":{"entryPoint":565,"id":83074,"parameterSlots":0,"returnSlots":1},"@finalizeRound_80851":{"entryPoint":187,"id":80851,"parameterSlots":3,"returnSlots":0},"@isFinalized_80897":{"entryPoint":530,"id":80897,"parameterSlots":1,"returnSlots":1},"@latestSucceededRoundId_80874":{"entryPoint":501,"id":80874,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":678,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_uint8t_bool":{"entryPoint":601,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":703,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1745:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:407:150","statements":[{"body":{"nodeType":"YulBlock","src":"159:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"168:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"171:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"161:6:150"},"nodeType":"YulFunctionCall","src":"161:12:150"},"nodeType":"YulExpressionStatement","src":"161:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"134:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"143:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"130:3:150"},"nodeType":"YulFunctionCall","src":"130:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"155:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"126:3:150"},"nodeType":"YulFunctionCall","src":"126:32:150"},"nodeType":"YulIf","src":"123:52:150"},{"nodeType":"YulAssignment","src":"184:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"207:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"194:12:150"},"nodeType":"YulFunctionCall","src":"194:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"184:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"226:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"256:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"267:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"252:3:150"},"nodeType":"YulFunctionCall","src":"252:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"239:12:150"},"nodeType":"YulFunctionCall","src":"239:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"230:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"328:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"331:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"321:6:150"},"nodeType":"YulFunctionCall","src":"321:12:150"},"nodeType":"YulExpressionStatement","src":"321:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"293:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"304:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"311:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"300:3:150"},"nodeType":"YulFunctionCall","src":"300:16:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"290:2:150"},"nodeType":"YulFunctionCall","src":"290:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"283:6:150"},"nodeType":"YulFunctionCall","src":"283:35:150"},"nodeType":"YulIf","src":"280:55:150"},{"nodeType":"YulAssignment","src":"344:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"354:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"344:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"368:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"400:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"411:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"396:3:150"},"nodeType":"YulFunctionCall","src":"396:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"383:12:150"},"nodeType":"YulFunctionCall","src":"383:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"372:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"472:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"481:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"484:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"474:6:150"},"nodeType":"YulFunctionCall","src":"474:12:150"},"nodeType":"YulExpressionStatement","src":"474:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"437:7:150"},{"arguments":[{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"460:7:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"453:6:150"},"nodeType":"YulFunctionCall","src":"453:15:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"446:6:150"},"nodeType":"YulFunctionCall","src":"446:23:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"434:2:150"},"nodeType":"YulFunctionCall","src":"434:36:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"427:6:150"},"nodeType":"YulFunctionCall","src":"427:44:150"},"nodeType":"YulIf","src":"424:64:150"},{"nodeType":"YulAssignment","src":"497:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"507:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"497:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint8t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"63:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"74:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"86:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"94:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"102:6:150","type":""}],"src":"14:506:150"},{"body":{"nodeType":"YulBlock","src":"595:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"641:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"650:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"653:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"643:6:150"},"nodeType":"YulFunctionCall","src":"643:12:150"},"nodeType":"YulExpressionStatement","src":"643:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"616:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"625:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"612:3:150"},"nodeType":"YulFunctionCall","src":"612:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"637:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"608:3:150"},"nodeType":"YulFunctionCall","src":"608:32:150"},"nodeType":"YulIf","src":"605:52:150"},{"nodeType":"YulAssignment","src":"666:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"689:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"676:12:150"},"nodeType":"YulFunctionCall","src":"676:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"666:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"561:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"572:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"584:6:150","type":""}],"src":"525:180:150"},{"body":{"nodeType":"YulBlock","src":"819:76:150","statements":[{"nodeType":"YulAssignment","src":"829:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"841:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"852:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"837:3:150"},"nodeType":"YulFunctionCall","src":"837:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"829:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"871:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"882:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"864:6:150"},"nodeType":"YulFunctionCall","src":"864:25:150"},"nodeType":"YulExpressionStatement","src":"864:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"788:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"799:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"810:4:150","type":""}],"src":"710:185:150"},{"body":{"nodeType":"YulBlock","src":"1003:92:150","statements":[{"nodeType":"YulAssignment","src":"1013:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1025:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1036:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1021:3:150"},"nodeType":"YulFunctionCall","src":"1021:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1013:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1055:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1080:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1073:6:150"},"nodeType":"YulFunctionCall","src":"1073:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1066:6:150"},"nodeType":"YulFunctionCall","src":"1066:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1048:6:150"},"nodeType":"YulFunctionCall","src":"1048:41:150"},"nodeType":"YulExpressionStatement","src":"1048:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"972:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"983:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"994:4:150","type":""}],"src":"900:195:150"},{"body":{"nodeType":"YulBlock","src":"1274:239:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1291:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1302:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1284:6:150"},"nodeType":"YulFunctionCall","src":"1284:21:150"},"nodeType":"YulExpressionStatement","src":"1284:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1325:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1336:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1321:3:150"},"nodeType":"YulFunctionCall","src":"1321:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"1341:2:150","type":"","value":"49"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1314:6:150"},"nodeType":"YulFunctionCall","src":"1314:30:150"},"nodeType":"YulExpressionStatement","src":"1314:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1364:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1375:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1360:3:150"},"nodeType":"YulFunctionCall","src":"1360:18:150"},{"hexValue":"58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64","kind":"string","nodeType":"YulLiteral","src":"1380:34:150","type":"","value":"XAllocationVotingGovernor: round"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1353:6:150"},"nodeType":"YulFunctionCall","src":"1353:62:150"},"nodeType":"YulExpressionStatement","src":"1353:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1435:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1446:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1431:3:150"},"nodeType":"YulFunctionCall","src":"1431:18:150"},{"hexValue":"206973206e6f7420656e64656420796574","kind":"string","nodeType":"YulLiteral","src":"1451:19:150","type":"","value":" is not ended yet"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1424:6:150"},"nodeType":"YulFunctionCall","src":"1424:47:150"},"nodeType":"YulExpressionStatement","src":"1424:47:150"},{"nodeType":"YulAssignment","src":"1480:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1492:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1503:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1488:3:150"},"nodeType":"YulFunctionCall","src":"1488:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1480:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1251:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1265:4:150","type":""}],"src":"1100:413:150"},{"body":{"nodeType":"YulBlock","src":"1567:176:150","statements":[{"nodeType":"YulAssignment","src":"1577:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1589:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"1592:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1585:3:150"},"nodeType":"YulFunctionCall","src":"1585:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"1577:4:150"}]},{"body":{"nodeType":"YulBlock","src":"1626:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1647:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1654:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1659:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1650:3:150"},"nodeType":"YulFunctionCall","src":"1650:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1640:6:150"},"nodeType":"YulFunctionCall","src":"1640:31:150"},"nodeType":"YulExpressionStatement","src":"1640:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1691:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1694:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1684:6:150"},"nodeType":"YulFunctionCall","src":"1684:15:150"},"nodeType":"YulExpressionStatement","src":"1684:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1719:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1722:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1712:6:150"},"nodeType":"YulFunctionCall","src":"1712:15:150"},"nodeType":"YulExpressionStatement","src":"1712:15:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"1609:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"1615:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1606:2:150"},"nodeType":"YulFunctionCall","src":"1606:11:150"},"nodeType":"YulIf","src":"1603:134:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1549:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"1552:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"1558:4:150","type":""}],"src":"1518:225:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_uint256t_uint8t_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n        value1 := value\n        let value_1 := calldataload(add(headStart, 64))\n        if iszero(eq(value_1, iszero(iszero(value_1)))) { revert(0, 0) }\n        value2 := value_1\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_encode_tuple_t_stringliteral_832c68b38ea99c4fa05c617e001743229e49e2481b3e831a38b907b3b27514ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 49)\n        mstore(add(headStart, 64), \"XAllocationVotingGovernor: round\")\n        mstore(add(headStart, 96), \" is not ended yet\")\n        tail := add(headStart, 128)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x11)\n            revert(0, 0x24)\n        }\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806309d3c59b14610050578063300973771461007257806333727c4d14610098575b600080fd5b81801561005c57600080fd5b5061007061006b366004610259565b6100bb565b005b6100856100803660046102a6565b6101f5565b6040519081526020015b60405180910390f35b6100ab6100a63660046102a6565b610212565b604051901515815260200161008f565b80156101275760405162461bcd60e51b815260206004820152603160248201527f58416c6c6f636174696f6e566f74696e67476f7665726e6f723a20726f756e64604482015270081a5cc81b9bdd08195b991959081e595d607a1b606482015260840160405180910390fd5b6000610131610235565b90508360010361016957600093845260208181526040808620600190819055928301909152909320805460ff19169093179092555050565b8260ff166002036101a1576000848152602082815260408083208790556001808501909252909120805460ff191690911790556101ef565b8260ff166001036101ef578060006101ba6001876102bf565b8152602080820192909252604090810160009081205487825284845282822055600180850190935220805460ff191690911790555b50505050565b600080610200610235565b60009384526020525050604090205490565b60008061021d610235565b60009384526001016020525050604090205460ff1690565b7f7dd3251b9882a8b07dc283a0b43197aa2be3a6af1a7f0284070fe5d86e50250090565b60008060006060848603121561026e57600080fd5b83359250602084013560ff8116811461028657600080fd5b91506040840135801515811461029b57600080fd5b809150509250925092565b6000602082840312156102b857600080fd5b5035919050565b818103818111156102e057634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220d6a644724898ee83a7eb19bd092df64c6d5fcd3509bca78a8627f863c291159164736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9D3C59B EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x30097377 EQ PUSH2 0x72 JUMPI DUP1 PUSH4 0x33727C4D EQ PUSH2 0x98 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x70 PUSH2 0x6B CALLDATASIZE PUSH1 0x4 PUSH2 0x259 JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x85 PUSH2 0x80 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0x1F5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0xA6 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0x212 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x8F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x127 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x58416C6C6F636174696F6E566F74696E67476F7665726E6F723A20726F756E64 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x81A5CC81B9BDD08195B991959081E595D PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x131 PUSH2 0x235 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 SUB PUSH2 0x169 JUMPI PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 PUSH1 0x1 SWAP1 DUP2 SWAP1 SSTORE SWAP3 DUP4 ADD SWAP1 SWAP2 MSTORE SWAP1 SWAP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE POP POP JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x2 SUB PUSH2 0x1A1 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 SWAP1 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x1EF JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1 SUB PUSH2 0x1EF JUMPI DUP1 PUSH1 0x0 PUSH2 0x1BA PUSH1 0x1 DUP8 PUSH2 0x2BF JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD DUP8 DUP3 MSTORE DUP5 DUP5 MSTORE DUP3 DUP3 KECCAK256 SSTORE PUSH1 0x1 DUP1 DUP6 ADD SWAP1 SWAP4 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x200 PUSH2 0x235 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x21D PUSH2 0x235 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH32 0x7DD3251B9882A8B07DC283A0B43197AA2BE3A6AF1A7F0284070FE5D86E502500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x26E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x2E0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 0xA6 PREVRANDAO PUSH19 0x4898EE83A7EB19BD092DF64C6D5FCD3509BCA7 DUP11 DUP7 0x27 0xF8 PUSH4 0xC2911591 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"582:2115:142:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;882:965;;;;;;;;;;-1:-1:-1;882:965:142;;;;;:::i;:::-;;:::i;:::-;;2024:273;;;;;;:::i;:::-;;:::i;:::-;;;864:25:150;;;852:2;837:18;2024:273:142;;;;;;;;2444:251;;;;;;:::i;:::-;;:::i;:::-;;;1073:14:150;;1066:22;1048:41;;1036:2;1021:18;2444:251:142;900:195:150;882:965:142;977:6;976:7;968:69;;;;-1:-1:-1;;;968:69:142;;1302:2:150;968:69:142;;;1284:21:150;1341:2;1321:18;;;1314:30;1380:34;1360:18;;;1353:62;-1:-1:-1;;;1431:18:150;;;1424:47;1488:19;;968:69:142;;;;;;;;1044:64;1111:67;:65;:67::i;:::-;1044:134;;1239:7;1250:1;1239:12;1235:126;;1261:25;:34;;;;;;;;;;;1298:1;1261:38;;;;1307:17;;;:26;;;;;;:33;;-1:-1:-1;;1307:33:142;;;;;;;-1:-1:-1;;882:965:142:o;1235:126::-;1404:10;:15;;1418:1;1404:15;1400:443;;1492:25;:34;;;;;;;;;;;:44;;;1573:4;1544:17;;;:26;;;;;;:33;;-1:-1:-1;;1544:33:142;;;;;;1400:443;;;1628:10;:15;;1642:1;1628:15;1624:219;;1757:1;:25;1783:11;1793:1;1783:7;:11;:::i;:::-;1757:38;;;;;;;;;;;;;;-1:-1:-1;1757:38:142;;;;1720:34;;;;;;;;;:75;1832:4;1803:17;;;:26;;;;:33;;-1:-1:-1;;1803:33:142;;;;;;1624:219;962:885;882:965;;;:::o;2024:273::-;2096:7;2111:64;2178:67;:65;:67::i;:::-;2258:25;:34;;;;;-1:-1:-1;;2258:34:142;;;;;2024:273::o;2444:251::-;2505:4;2517:64;2584:67;:65;:67::i;:::-;2664:26;;;;:17;;:26;;-1:-1:-1;;2664:26:142;;;;;;;2444:251::o;6807:174:149:-;6939:32;;6807:174::o;14:506:150:-;86:6;94;102;155:2;143:9;134:7;130:23;126:32;123:52;;;171:1;168;161:12;123:52;207:9;194:23;184:33;;267:2;256:9;252:18;239:32;311:4;304:5;300:16;293:5;290:27;280:55;;331:1;328;321:12;280:55;354:5;-1:-1:-1;411:2:150;396:18;;383:32;453:15;;446:23;434:36;;424:64;;484:1;481;474:12;424:64;507:7;497:17;;;14:506;;;;;:::o;525:180::-;584:6;637:2;625:9;616:7;612:23;608:32;605:52;;;653:1;650;643:12;605:52;-1:-1:-1;676:23:150;;525:180;-1:-1:-1;525:180:150:o;1518:225::-;1585:9;;;1606:11;;;1603:134;;;1659:10;1654:3;1650:20;1647:1;1640:31;1694:4;1691:1;1684:15;1722:4;1719:1;1712:15;1603:134;1518:225;;;;:::o"},"methodIdentifiers":{"finalizeRound(uint256,uint8,bool)":"09d3c59b","isFinalized(uint256)":"33727c4d","latestSucceededRoundId(uint256)":"30097377"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"isFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"latestSucceededRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"If a round does not meet the quorum (Failed) we need to know the last round that succeeded, so we can calculate the earnings for the x-2-earn-apps upon that round. By always pointing each round at the last succeeded one, if a round fails, it will be enough to look at what round the previous one points to.\",\"kind\":\"dev\",\"methods\":{\"finalizeRound(uint256,uint8,bool)\":{\"details\":\"Store the last succeeded round for the given round\",\"params\":{\"active\":\"Whether the round is currently active\",\"roundId\":\"The round to finalize\",\"roundState\":\"The pre-computed state of the round (0=Active, 1=Failed, 2=Succeeded)\"}},\"isFinalized(uint256)\":{\"details\":\"Check if the round is finalized\",\"params\":{\"roundId\":\"The round to query\"},\"returns\":{\"_0\":\"Whether the round has been finalized\"}},\"latestSucceededRoundId(uint256)\":{\"details\":\"Get the last succeeded round for the given round\",\"params\":{\"roundId\":\"The round to query\"},\"returns\":{\"_0\":\"The latest succeeded round id for the given round\"}}},\"title\":\"RoundFinalizationUtils\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library that handles the finalization of allocation voting rounds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol\":\"RoundFinalizationUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/RoundFinalizationUtils.sol\":{\"keccak256\":\"0xd907a07b39a21de46c9b7ddb7e2fd9fbcfe36df69ade8ead79256e8b6708a97c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7798f099f7c36d7a38f9c46ecefd4a29b7e162c0f745a97a29e4e77622b2fe1a\",\"dweb:/ipfs/QmQ2gHpnDEF8cRQsxc8Bw7oou6YqYry2sbJ1wReQiLjgMF\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol":{"RoundVotesCountingUtils":{"abi":[{"inputs":[],"name":"DuplicateAppVote","type":"error"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"name":"GovernorAlreadyCastVote","type":"error"},{"inputs":[{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"GovernorAppNotAvailableForVoting","type":"error"},{"inputs":[],"name":"GovernorInsufficientVotingPower","type":"error"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"name":"GovernorVotingThresholdNotMet","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"},{"indexed":false,"internalType":"uint256[]","name":"voteWeights","type":"uint256[]"}],"name":"AllocationVoteCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingThreshold","type":"uint256"}],"name":"VotingThresholdSet","type":"event"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"bytes32","name":"app","type":"bytes32"}],"name":"getAppVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"appId","type":"bytes32"}],"name":"hasUserVotedForApp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"hasVotedOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"uint256","name":"quorumValue","type":"uint256"}],"name":"quorumReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVoters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"totalVotesQF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"},{"internalType":"uint256","name":"quorumValue","type":"uint256"}],"name":"voteSucceeded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol":{"FreshnessUtils":[{"length":20,"start":2197}]}},"object":"61114361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100cf5760003560e01c806319e6e158146100d457806342707a43146100fa578063438596321461011d578063498d91bf146101305780634bb5181a1461014357806362827733146101565780636eafa5f61461015e578063754ba25d14610180578063836761e0146101935780639aeb962b146101b3578063adf8652314610180578063bed73010146101c6578063cdc6ac0c146101d9578063fb03ec6f146101f9578063fe4b84df1461020c575b600080fd5b6100e76100e2366004610c9d565b61022c565b6040519081526020015b60405180910390f35b61010d610108366004610cd2565b61024f565b60405190151581526020016100f1565b61010d61012b366004610d07565b610296565b6100e761013e366004610c9d565b6102d7565b6100e7610151366004610d33565b6102fa565b6100e7610325565b81801561016a57600080fd5b5061017e610179366004610d07565b61033a565b005b61010d61018e366004610d33565b610376565b81801561019f57600080fd5b5061017e6101ae366004610c9d565b61039c565b61010d6101c1366004610d55565b6103ed565b6100e76101d4366004610d33565b61041b565b8180156101e557600080fd5b5061017e6101f4366004610e44565b61044b565b6100e7610207366004610c9d565b6109e3565b81801561021857600080fd5b5061017e610227366004610c9d565b610a06565b600080610237610a1a565b60009384526001016020525050604090206002015490565b60008061025a610a1a565b6000958652600101602090815260408087206001600160a01b039690961687526006909501815284862093865292909252505090205460ff1690565b6000806102a1610a1a565b60008581526001909101602090815260408083206001600160a01b038716845260040190915290205460ff169150505b92915050565b6000806102e2610a1a565b60009384526001016020525050604090206005015490565b600080610305610a1a565b600094855260010160209081526040808620948652939052505090205490565b600080610330610a1a565b6002015492915050565b6000610344610a1a565b6000938452600501602090815260408085206001600160a01b039094168552929052509020805460ff19166001179055565b600080610381610a1a565b60009485526001016020525050604090912060020154101590565b60006103a6610a1a565b600281015460408051918252602082018590529192507fa5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05910160405180910390a160020155565b6000806103f8610a1a565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b600080610426610a1a565b6000948552600190810160209081526040808720958752949091019052505090205490565b6000610455610a1a565b600088815260018201602090815260408083206001600160a01b038b1684526004019091529020549091507f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d009060ff16156104d3576040516371c6af4960e01b81526001600160a01b03881660048201526024015b60405180910390fd5b60008060005b88518110156107405760005b81811015610551578981815181106104ff576104ff610f2a565b60200260200101518a838151811061051957610519610f2a565b60200260200101510361053f57604051632367acf760e21b815260040160405180910390fd5b8061054981610f56565b9150506104e5565b5087818151811061056457610564610f2a565b6020026020010151836105779190610f6f565b92508683111561059a57604051630cc9baf760e01b815260040160405180910390fd5b306001600160a01b031663d68b4c368a83815181106105bb576105bb610f2a565b60200260200101518d6040518363ffffffff1660e01b81526004016105ea929190918252602082015260400190565b602060405180830381865afa158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190610f82565b6106655788818151811061064157610641610f2a565b60200260200101516040516325c5391960e11b81526004016104ca91815260200190565b6106a3858c8b848151811061067c5761067c610f2a565b60200260200101518b858151811061069657610696610f2a565b6020026020010151610a3e565b6106ad9083610f6f565b915060018560010160008d815260200190815260200160002060060160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008b848151811061070057610700610f2a565b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550808061073890610f56565b9150506104d9565b50836002015482101561077657600284015460405163742f62c360e01b81526004810191909152602481018390526044016104ca565b60008a815260018501602052604081206003018054839290610799908490610f6f565b909155505060008a8152600185016020526040812060020180548492906107c1908490610f6f565b909155505060008a81526001858101602081815260408085206001600160a01b038f168652600481018352908520805460ff19169094179093558d84525260050180549161080e83610f56565b90915550506001600160a01b03891660009081526020859052604090205460ff16610857576001600160a01b0389166000908152602085905260409020805460ff191660011790555b600073__$2638067425a8b07bf64aace0db8ed9d633$__63bd5d18278b8d8c8a8960020160009054906101000a90046001600160a01b03166040518663ffffffff1660e01b81526004016108af959493929190610fa4565b602060405180830381865af41580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190611017565b905060006127106109018386611030565b61090b919061105d565b9050600061091882610b04565b6002870154604051632f18339d60e01b8152600481018b90526001600160a01b038f811660248301526044820186905260648201849052929350911690632f18339d90608401600060405180830381600087803b15801561097857600080fd5b505af115801561098c573d6000803e3d6000fd5b505050508c8c6001600160a01b03167fe2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e28d8d6040516109cc92919061107f565b60405180910390a350505050505050505050505050565b6000806109ee610a1a565b60009384526001016020525050604090206003015490565b6000610a10610a1a565b6002019190915550565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b6000838152600180860160209081526040808420868552909201905281205481670de0b6b3a76400008411610a8057610a7b633b9aca008561105d565b610a89565b610a8984610b04565b90506000610a978284610f6f565b9050610aa38380611030565b610aad8280611030565b610ab791906110fa565b600088815260018a8101602090815260408084208b85529283018252808420869055919052812080549296508792909190610af3908490610f6f565b909155509398975050505050505050565b600081600003610b1657506000919050565b60006001610b2384610bf3565b901c6001901b90506001818481610b3c57610b3c611047565b048201901c90506001818481610b5457610b54611047565b048201901c90506001818481610b6c57610b6c611047565b048201901c90506001818481610b8457610b84611047565b048201901c90506001818481610b9c57610b9c611047565b048201901c90506001818481610bb457610bb4611047565b048201901c90506001818481610bcc57610bcc611047565b048201901c9050610bec81828581610be657610be6611047565b04610c87565b9392505050565b600080608083901c15610c0857608092831c92015b604083901c15610c1a57604092831c92015b602083901c15610c2c57602092831c92015b601083901c15610c3e57601092831c92015b600883901c15610c5057600892831c92015b600483901c15610c6257600492831c92015b600283901c15610c7457600292831c92015b600183901c156102d15760010192915050565b6000818310610c965781610bec565b5090919050565b600060208284031215610caf57600080fd5b5035919050565b80356001600160a01b0381168114610ccd57600080fd5b919050565b600080600060608486031215610ce757600080fd5b83359250610cf760208501610cb6565b9150604084013590509250925092565b60008060408385031215610d1a57600080fd5b82359150610d2a60208401610cb6565b90509250929050565b60008060408385031215610d4657600080fd5b50508035926020909101359150565b600060208284031215610d6757600080fd5b610bec82610cb6565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610dae57610dae610d70565b604052919050565b60006001600160401b03821115610dcf57610dcf610d70565b5060051b60200190565b600082601f830112610dea57600080fd5b81356020610dff610dfa83610db6565b610d86565b82815260059290921b84018101918181019086841115610e1e57600080fd5b8286015b84811015610e395780358352918301918301610e22565b509695505050505050565b60008060008060008060c08789031215610e5d57600080fd5b863595506020610e6e818901610cb6565b955060408801356001600160401b0380821115610e8a57600080fd5b818a0191508a601f830112610e9e57600080fd5b8135610eac610dfa82610db6565b81815260059190911b8301840190848101908d831115610ecb57600080fd5b938501935b82851015610ee957843582529385019390850190610ed0565b9850505060608a0135925080831115610f0157600080fd5b5050610f0f89828a01610dd9565b9350506080870135915060a087013590509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610f6857610f68610f40565b5060010190565b808201808211156102d1576102d1610f40565b600060208284031215610f9457600080fd5b81518015158114610bec57600080fd5b6001600160a01b038681168252602080830187905260a060408401819052865190840181905260009287830192909160c0860190855b81811015610ff657855183529483019491830191600101610fda565b50508094505050856060850152808516608085015250509695505050505050565b60006020828403121561102957600080fd5b5051919050565b80820281158282048414176102d1576102d1610f40565b634e487b7160e01b600052601260045260246000fd5b60008261107a57634e487b7160e01b600052601260045260246000fd5b500490565b604080825283519082018190526000906020906060840190828701845b828110156110b85781518452928401929084019060010161109c565b5050508381038285015284518082528583019183019060005b818110156110ed578351835292840192918401916001016110d1565b5090979650505050505050565b818103818111156102d1576102d1610f4056fea2646970667358221220974410784d659e9fc21d684ad52a466d09b8528f72eb48873eb7678e90191b8964736f6c63430008140033","opcodes":"PUSH2 0x1143 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x19E6E158 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x42707A43 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x11D JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x130 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x156 JUMPI DUP1 PUSH4 0x6EAFA5F6 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0x754BA25D EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xADF86523 EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xCDC6AC0C EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xFE4B84DF EQ PUSH2 0x20C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0x22C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10D PUSH2 0x108 CALLDATASIZE PUSH1 0x4 PUSH2 0xCD2 JUMP JUMPDEST PUSH2 0x24F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF1 JUMP JUMPDEST PUSH2 0x10D PUSH2 0x12B CALLDATASIZE PUSH1 0x4 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x296 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x13E CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0x2D7 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x151 CALLDATASIZE PUSH1 0x4 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x2FA JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x325 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x33A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x10D PUSH2 0x18E CALLDATASIZE PUSH1 0x4 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x376 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x19F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x1AE CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0x39C JUMP JUMPDEST PUSH2 0x10D PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xD55 JUMP JUMPDEST PUSH2 0x3ED JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x41B JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x1F4 CALLDATASIZE PUSH1 0x4 PUSH2 0xE44 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x207 CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0x9E3 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x227 CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0xA06 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x237 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x25A PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP8 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 SWAP1 SWAP7 AND DUP8 MSTORE PUSH1 0x6 SWAP1 SWAP6 ADD DUP2 MSTORE DUP5 DUP7 KECCAK256 SWAP4 DUP7 MSTORE SWAP3 SWAP1 SWAP3 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A1 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE PUSH1 0x4 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2E2 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x305 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP5 DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x330 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x344 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP6 MSTORE SWAP3 SWAP1 MSTORE POP SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x381 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 PUSH1 0x2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A6 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xA5B41E1BD59A5A33422F0B660829FF7686AED2198167061E3C6C21FDCC259F05 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F8 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP4 SWAP1 SWAP4 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x426 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP8 KECCAK256 SWAP6 DUP8 MSTORE SWAP5 SWAP1 SWAP2 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x455 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND DUP5 MSTORE PUSH1 0x4 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x4D3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0x740 JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x551 JUMPI DUP10 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x4FF JUMPI PUSH2 0x4FF PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP11 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x519 JUMPI PUSH2 0x519 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x53F JUMPI PUSH1 0x40 MLOAD PUSH4 0x2367ACF7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x549 DUP2 PUSH2 0xF56 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x4E5 JUMP JUMPDEST POP DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x564 JUMPI PUSH2 0x564 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 PUSH2 0x577 SWAP2 SWAP1 PUSH2 0xF6F JUMP JUMPDEST SWAP3 POP DUP7 DUP4 GT ISZERO PUSH2 0x59A JUMPI PUSH1 0x40 MLOAD PUSH4 0xCC9BAF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD68B4C36 DUP11 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x5BB JUMPI PUSH2 0x5BB PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP14 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5EA SWAP3 SWAP2 SWAP1 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x607 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x62B SWAP2 SWAP1 PUSH2 0xF82 JUMP JUMPDEST PUSH2 0x665 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x641 JUMPI PUSH2 0x641 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x25C53919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4CA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH2 0x6A3 DUP6 DUP13 DUP12 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x67C JUMPI PUSH2 0x67C PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP12 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x696 JUMPI PUSH2 0x696 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xA3E JUMP JUMPDEST PUSH2 0x6AD SWAP1 DUP4 PUSH2 0xF6F JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP6 PUSH1 0x1 ADD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x6 ADD PUSH1 0x0 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP12 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x700 JUMPI PUSH2 0x700 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 DUP1 PUSH2 0x738 SWAP1 PUSH2 0xF56 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x4D9 JUMP JUMPDEST POP DUP4 PUSH1 0x2 ADD SLOAD DUP3 LT ISZERO PUSH2 0x776 JUMPI PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x799 SWAP1 DUP5 SWAP1 PUSH2 0xF6F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x7C1 SWAP1 DUP5 SWAP1 PUSH2 0xF6F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 DUP6 DUP2 ADD PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP16 AND DUP7 MSTORE PUSH1 0x4 DUP2 ADD DUP4 MSTORE SWAP1 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE DUP14 DUP5 MSTORE MSTORE PUSH1 0x5 ADD DUP1 SLOAD SWAP2 PUSH2 0x80E DUP4 PUSH2 0xF56 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP6 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x857 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP6 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBD5D1827 DUP12 DUP14 DUP13 DUP11 DUP10 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8AF SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xFA4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8F0 SWAP2 SWAP1 PUSH2 0x1017 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2710 PUSH2 0x901 DUP4 DUP7 PUSH2 0x1030 JUMP JUMPDEST PUSH2 0x90B SWAP2 SWAP1 PUSH2 0x105D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x918 DUP3 PUSH2 0xB04 JUMP JUMPDEST PUSH1 0x2 DUP8 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2F18339D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP12 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP16 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP7 SWAP1 MSTORE PUSH1 0x64 DUP3 ADD DUP5 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x2F18339D SWAP1 PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x978 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x98C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP13 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xE2D0D542AF9CDD3E0EF4ACE292FC5E9DD654164E63920EA9B58C435492AF84E2 DUP14 DUP14 PUSH1 0x40 MLOAD PUSH2 0x9CC SWAP3 SWAP2 SWAP1 PUSH2 0x107F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x9EE PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA10 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x2 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 DUP1 DUP7 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP7 DUP6 MSTORE SWAP1 SWAP3 ADD SWAP1 MSTORE DUP2 KECCAK256 SLOAD DUP2 PUSH8 0xDE0B6B3A7640000 DUP5 GT PUSH2 0xA80 JUMPI PUSH2 0xA7B PUSH4 0x3B9ACA00 DUP6 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xA89 JUMP JUMPDEST PUSH2 0xA89 DUP5 PUSH2 0xB04 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xA97 DUP3 DUP5 PUSH2 0xF6F JUMP JUMPDEST SWAP1 POP PUSH2 0xAA3 DUP4 DUP1 PUSH2 0x1030 JUMP JUMPDEST PUSH2 0xAAD DUP3 DUP1 PUSH2 0x1030 JUMP JUMPDEST PUSH2 0xAB7 SWAP2 SWAP1 PUSH2 0x10FA JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x1 DUP11 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP12 DUP6 MSTORE SWAP3 DUP4 ADD DUP3 MSTORE DUP1 DUP5 KECCAK256 DUP7 SWAP1 SSTORE SWAP2 SWAP1 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP7 POP DUP8 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0xAF3 SWAP1 DUP5 SWAP1 PUSH2 0xF6F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xB16 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xB23 DUP5 PUSH2 0xBF3 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB3C JUMPI PUSH2 0xB3C PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB54 JUMPI PUSH2 0xB54 PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB6C JUMPI PUSH2 0xB6C PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB84 JUMPI PUSH2 0xB84 PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB9C JUMPI PUSH2 0xB9C PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xBB4 JUMPI PUSH2 0xBB4 PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xBCC JUMPI PUSH2 0xBCC PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0xBEC DUP2 DUP3 DUP6 DUP2 PUSH2 0xBE6 JUMPI PUSH2 0xBE6 PUSH2 0x1047 JUMP JUMPDEST DIV PUSH2 0xC87 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xC08 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xC1A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0xC2C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0xC3E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0xC50 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0xC62 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0xC74 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x2D1 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xC96 JUMPI DUP2 PUSH2 0xBEC JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xCCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xCE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH2 0xCF7 PUSH1 0x20 DUP6 ADD PUSH2 0xCB6 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xD2A PUSH1 0x20 DUP5 ADD PUSH2 0xCB6 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBEC DUP3 PUSH2 0xCB6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xDAE JUMPI PUSH2 0xDAE PUSH2 0xD70 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0xDCF JUMPI PUSH2 0xDCF PUSH2 0xD70 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xDEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0xDFF PUSH2 0xDFA DUP4 PUSH2 0xDB6 JUMP JUMPDEST PUSH2 0xD86 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0xE1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0xE39 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0xE22 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0xE5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 PUSH2 0xE6E DUP2 DUP10 ADD PUSH2 0xCB6 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0xE8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP11 ADD SWAP2 POP DUP11 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xEAC PUSH2 0xDFA DUP3 PUSH2 0xDB6 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP14 DUP4 GT ISZERO PUSH2 0xECB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0xEE9 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0xED0 JUMP JUMPDEST SWAP9 POP POP POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0xF01 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0xF0F DUP10 DUP3 DUP11 ADD PUSH2 0xDD9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0xF68 JUMPI PUSH2 0xF68 PUSH2 0xF40 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x2D1 JUMPI PUSH2 0x2D1 PUSH2 0xF40 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 SWAP1 MSTORE PUSH1 0xA0 PUSH1 0x40 DUP5 ADD DUP2 SWAP1 MSTORE DUP7 MLOAD SWAP1 DUP5 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP3 DUP8 DUP4 ADD SWAP3 SWAP1 SWAP2 PUSH1 0xC0 DUP7 ADD SWAP1 DUP6 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xFF6 JUMPI DUP6 MLOAD DUP4 MSTORE SWAP5 DUP4 ADD SWAP5 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xFDA JUMP JUMPDEST POP POP DUP1 SWAP5 POP POP POP DUP6 PUSH1 0x60 DUP6 ADD MSTORE DUP1 DUP6 AND PUSH1 0x80 DUP6 ADD MSTORE POP POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1029 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x2D1 JUMPI PUSH2 0x2D1 PUSH2 0xF40 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x107A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 DUP3 MSTORE DUP4 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0x60 DUP5 ADD SWAP1 DUP3 DUP8 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x10B8 JUMPI DUP2 MLOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x109C JUMP JUMPDEST POP POP POP DUP4 DUP2 SUB DUP3 DUP6 ADD MSTORE DUP5 MLOAD DUP1 DUP3 MSTORE DUP6 DUP4 ADD SWAP2 DUP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x10ED JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x10D1 JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x2D1 JUMPI PUSH2 0x2D1 PUSH2 0xF40 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 PREVRANDAO LT PUSH25 0x4D659E9FC21D684AD52A466D09B8528F72EB48873EB7678E90 NOT SHL DUP10 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"595:12340:143:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;595:12340:143;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getExternalContractsStorage_83090":{"entryPoint":null,"id":83090,"parameterSlots":0,"returnSlots":1},"@_getRoundVotesCountingStorage_83058":{"entryPoint":2586,"id":83058,"parameterSlots":0,"returnSlots":1},"@_processAppVote_81623":{"entryPoint":2622,"id":81623,"parameterSlots":4,"returnSlots":1},"@countVote_81543":{"entryPoint":1099,"id":81543,"parameterSlots":6,"returnSlots":0},"@getAppVotesQF_81057":{"entryPoint":1051,"id":81057,"parameterSlots":2,"returnSlots":1},"@getAppVotes_81029":{"entryPoint":762,"id":81029,"parameterSlots":2,"returnSlots":1},"@hasUserVotedForApp_81240":{"entryPoint":591,"id":81240,"parameterSlots":3,"returnSlots":1},"@hasVotedOnce_81180":{"entryPoint":1005,"id":81180,"parameterSlots":1,"returnSlots":1},"@hasVoted_81157":{"entryPoint":662,"id":81157,"parameterSlots":2,"returnSlots":1},"@initialize_80954":{"entryPoint":2566,"id":80954,"parameterSlots":1,"returnSlots":0},"@log2_6671":{"entryPoint":3059,"id":6671,"parameterSlots":1,"returnSlots":1},"@markRelayerVoteProcessed_81678":{"entryPoint":826,"id":81678,"parameterSlots":2,"returnSlots":0},"@min_6166":{"entryPoint":3207,"id":6166,"parameterSlots":2,"returnSlots":1},"@quorumReached_81208":{"entryPoint":886,"id":81208,"parameterSlots":2,"returnSlots":1},"@setVotingThreshold_80982":{"entryPoint":924,"id":80982,"parameterSlots":1,"returnSlots":0},"@sqrt_6504":{"entryPoint":2820,"id":6504,"parameterSlots":1,"returnSlots":1},"@totalVoters_81129":{"entryPoint":727,"id":81129,"parameterSlots":1,"returnSlots":1},"@totalVotesQF_81105":{"entryPoint":2531,"id":81105,"parameterSlots":1,"returnSlots":1},"@totalVotes_81081":{"entryPoint":556,"id":81081,"parameterSlots":1,"returnSlots":1},"@voteSucceeded_81268":{"entryPoint":null,"id":81268,"parameterSlots":2,"returnSlots":1},"@votingThreshold_81001":{"entryPoint":805,"id":81001,"parameterSlots":0,"returnSlots":1},"abi_decode_address":{"entryPoint":3254,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":3545,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":3413,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":3970,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":3229,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":4119,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":3335,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_addresst_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256t_uint256":{"entryPoint":3652,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_uint256t_addresst_bytes32":{"entryPoint":3282,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256t_bytes32":{"entryPoint":3379,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_uint256_t_address__to_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":4004,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":4223,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"allocate_memory":{"entryPoint":3462,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_array_bytes32_dyn":{"entryPoint":3510,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":3951,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4189,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":4144,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4346,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":3926,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":3904,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":4167,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":3882,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":3440,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:9867:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:150"},"nodeType":"YulFunctionCall","src":"132:12:150"},"nodeType":"YulExpressionStatement","src":"132:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:150"},"nodeType":"YulFunctionCall","src":"101:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:150"},"nodeType":"YulFunctionCall","src":"97:32:150"},"nodeType":"YulIf","src":"94:52:150"},{"nodeType":"YulAssignment","src":"155:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:150"},"nodeType":"YulFunctionCall","src":"165:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:150","type":""}],"src":"14:180:150"},{"body":{"nodeType":"YulBlock","src":"308:76:150","statements":[{"nodeType":"YulAssignment","src":"318:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"330:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"341:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"326:3:150"},"nodeType":"YulFunctionCall","src":"326:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"318:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"360:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"371:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"353:6:150"},"nodeType":"YulFunctionCall","src":"353:25:150"},"nodeType":"YulExpressionStatement","src":"353:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"277:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"288:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"299:4:150","type":""}],"src":"199:185:150"},{"body":{"nodeType":"YulBlock","src":"438:124:150","statements":[{"nodeType":"YulAssignment","src":"448:29:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"470:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"457:12:150"},"nodeType":"YulFunctionCall","src":"457:20:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"448:5:150"}]},{"body":{"nodeType":"YulBlock","src":"540:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"549:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"552:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"542:6:150"},"nodeType":"YulFunctionCall","src":"542:12:150"},"nodeType":"YulExpressionStatement","src":"542:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"499:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"510:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"525:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"530:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"521:3:150"},"nodeType":"YulFunctionCall","src":"521:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"534:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"517:3:150"},"nodeType":"YulFunctionCall","src":"517:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"506:3:150"},"nodeType":"YulFunctionCall","src":"506:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"496:2:150"},"nodeType":"YulFunctionCall","src":"496:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"489:6:150"},"nodeType":"YulFunctionCall","src":"489:50:150"},"nodeType":"YulIf","src":"486:70:150"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"417:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"428:5:150","type":""}],"src":"389:173:150"},{"body":{"nodeType":"YulBlock","src":"671:218:150","statements":[{"body":{"nodeType":"YulBlock","src":"717:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"726:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"729:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"719:6:150"},"nodeType":"YulFunctionCall","src":"719:12:150"},"nodeType":"YulExpressionStatement","src":"719:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"692:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"701:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"688:3:150"},"nodeType":"YulFunctionCall","src":"688:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"713:2:150","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"684:3:150"},"nodeType":"YulFunctionCall","src":"684:32:150"},"nodeType":"YulIf","src":"681:52:150"},{"nodeType":"YulAssignment","src":"742:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"765:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"752:12:150"},"nodeType":"YulFunctionCall","src":"752:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"742:6:150"}]},{"nodeType":"YulAssignment","src":"784:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"817:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"828:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"813:3:150"},"nodeType":"YulFunctionCall","src":"813:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"794:18:150"},"nodeType":"YulFunctionCall","src":"794:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"784:6:150"}]},{"nodeType":"YulAssignment","src":"841:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"868:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"879:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"864:3:150"},"nodeType":"YulFunctionCall","src":"864:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"851:12:150"},"nodeType":"YulFunctionCall","src":"851:32:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"841:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"621:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"632:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"644:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"652:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"660:6:150","type":""}],"src":"567:322:150"},{"body":{"nodeType":"YulBlock","src":"997:92:150","statements":[{"nodeType":"YulAssignment","src":"1007:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1019:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1030:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1015:3:150"},"nodeType":"YulFunctionCall","src":"1015:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1007:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1049:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1074:6:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1067:6:150"},"nodeType":"YulFunctionCall","src":"1067:14:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1060:6:150"},"nodeType":"YulFunctionCall","src":"1060:22:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1042:6:150"},"nodeType":"YulFunctionCall","src":"1042:41:150"},"nodeType":"YulExpressionStatement","src":"1042:41:150"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"966:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"977:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"988:4:150","type":""}],"src":"894:195:150"},{"body":{"nodeType":"YulBlock","src":"1181:167:150","statements":[{"body":{"nodeType":"YulBlock","src":"1227:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1236:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1239:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1229:6:150"},"nodeType":"YulFunctionCall","src":"1229:12:150"},"nodeType":"YulExpressionStatement","src":"1229:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1202:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1211:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1198:3:150"},"nodeType":"YulFunctionCall","src":"1198:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1223:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1194:3:150"},"nodeType":"YulFunctionCall","src":"1194:32:150"},"nodeType":"YulIf","src":"1191:52:150"},{"nodeType":"YulAssignment","src":"1252:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1275:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1262:12:150"},"nodeType":"YulFunctionCall","src":"1262:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1252:6:150"}]},{"nodeType":"YulAssignment","src":"1294:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1327:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1338:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1323:3:150"},"nodeType":"YulFunctionCall","src":"1323:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1304:18:150"},"nodeType":"YulFunctionCall","src":"1304:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1294:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1139:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1150:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1162:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1170:6:150","type":""}],"src":"1094:254:150"},{"body":{"nodeType":"YulBlock","src":"1440:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"1486:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1495:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1498:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1488:6:150"},"nodeType":"YulFunctionCall","src":"1488:12:150"},"nodeType":"YulExpressionStatement","src":"1488:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1461:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1470:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1457:3:150"},"nodeType":"YulFunctionCall","src":"1457:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1482:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1453:3:150"},"nodeType":"YulFunctionCall","src":"1453:32:150"},"nodeType":"YulIf","src":"1450:52:150"},{"nodeType":"YulAssignment","src":"1511:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1534:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1521:12:150"},"nodeType":"YulFunctionCall","src":"1521:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1511:6:150"}]},{"nodeType":"YulAssignment","src":"1553:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1580:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1591:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1576:3:150"},"nodeType":"YulFunctionCall","src":"1576:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1563:12:150"},"nodeType":"YulFunctionCall","src":"1563:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1553:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1398:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1409:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1421:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1429:6:150","type":""}],"src":"1353:248:150"},{"body":{"nodeType":"YulBlock","src":"1693:161:150","statements":[{"body":{"nodeType":"YulBlock","src":"1739:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1748:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1751:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1741:6:150"},"nodeType":"YulFunctionCall","src":"1741:12:150"},"nodeType":"YulExpressionStatement","src":"1741:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1714:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1723:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1710:3:150"},"nodeType":"YulFunctionCall","src":"1710:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1735:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1706:3:150"},"nodeType":"YulFunctionCall","src":"1706:32:150"},"nodeType":"YulIf","src":"1703:52:150"},{"nodeType":"YulAssignment","src":"1764:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1787:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1774:12:150"},"nodeType":"YulFunctionCall","src":"1774:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1764:6:150"}]},{"nodeType":"YulAssignment","src":"1806:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1833:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1844:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1829:3:150"},"nodeType":"YulFunctionCall","src":"1829:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1816:12:150"},"nodeType":"YulFunctionCall","src":"1816:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1806:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1651:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1662:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1674:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1682:6:150","type":""}],"src":"1606:248:150"},{"body":{"nodeType":"YulBlock","src":"1929:116:150","statements":[{"body":{"nodeType":"YulBlock","src":"1975:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1984:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1987:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1977:6:150"},"nodeType":"YulFunctionCall","src":"1977:12:150"},"nodeType":"YulExpressionStatement","src":"1977:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1950:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1959:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1946:3:150"},"nodeType":"YulFunctionCall","src":"1946:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1971:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1942:3:150"},"nodeType":"YulFunctionCall","src":"1942:32:150"},"nodeType":"YulIf","src":"1939:52:150"},{"nodeType":"YulAssignment","src":"2000:39:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2029:9:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2010:18:150"},"nodeType":"YulFunctionCall","src":"2010:29:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2000:6:150"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1895:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1906:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1918:6:150","type":""}],"src":"1859:186:150"},{"body":{"nodeType":"YulBlock","src":"2082:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2099:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2106:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2111:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2102:3:150"},"nodeType":"YulFunctionCall","src":"2102:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2092:6:150"},"nodeType":"YulFunctionCall","src":"2092:31:150"},"nodeType":"YulExpressionStatement","src":"2092:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2139:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2142:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2132:6:150"},"nodeType":"YulFunctionCall","src":"2132:15:150"},"nodeType":"YulExpressionStatement","src":"2132:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2163:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2166:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2156:6:150"},"nodeType":"YulFunctionCall","src":"2156:15:150"},"nodeType":"YulExpressionStatement","src":"2156:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2050:127:150"},{"body":{"nodeType":"YulBlock","src":"2227:230:150","statements":[{"nodeType":"YulAssignment","src":"2237:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2253:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2247:5:150"},"nodeType":"YulFunctionCall","src":"2247:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2237:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"2265:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2287:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2303:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"2309:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2299:3:150"},"nodeType":"YulFunctionCall","src":"2299:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2318:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2314:3:150"},"nodeType":"YulFunctionCall","src":"2314:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2295:3:150"},"nodeType":"YulFunctionCall","src":"2295:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2283:3:150"},"nodeType":"YulFunctionCall","src":"2283:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2269:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2398:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2400:16:150"},"nodeType":"YulFunctionCall","src":"2400:18:150"},"nodeType":"YulExpressionStatement","src":"2400:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2341:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2361:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2365:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2357:3:150"},"nodeType":"YulFunctionCall","src":"2357:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2369:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2353:3:150"},"nodeType":"YulFunctionCall","src":"2353:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2338:2:150"},"nodeType":"YulFunctionCall","src":"2338:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2377:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2389:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2374:2:150"},"nodeType":"YulFunctionCall","src":"2374:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2335:2:150"},"nodeType":"YulFunctionCall","src":"2335:62:150"},"nodeType":"YulIf","src":"2332:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2436:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2440:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2429:6:150"},"nodeType":"YulFunctionCall","src":"2429:22:150"},"nodeType":"YulExpressionStatement","src":"2429:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"2207:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2216:6:150","type":""}],"src":"2182:275:150"},{"body":{"nodeType":"YulBlock","src":"2531:114:150","statements":[{"body":{"nodeType":"YulBlock","src":"2575:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2577:16:150"},"nodeType":"YulFunctionCall","src":"2577:18:150"},"nodeType":"YulExpressionStatement","src":"2577:18:150"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2547:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2563:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2567:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2559:3:150"},"nodeType":"YulFunctionCall","src":"2559:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2571:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2555:3:150"},"nodeType":"YulFunctionCall","src":"2555:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2544:2:150"},"nodeType":"YulFunctionCall","src":"2544:30:150"},"nodeType":"YulIf","src":"2541:56:150"},{"nodeType":"YulAssignment","src":"2606:33:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2622:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"2625:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2618:3:150"},"nodeType":"YulFunctionCall","src":"2618:14:150"},{"kind":"number","nodeType":"YulLiteral","src":"2634:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2614:3:150"},"nodeType":"YulFunctionCall","src":"2614:25:150"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2606:4:150"}]}]},"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2511:6:150","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2522:4:150","type":""}],"src":"2462:183:150"},{"body":{"nodeType":"YulBlock","src":"2714:598:150","statements":[{"body":{"nodeType":"YulBlock","src":"2763:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2772:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2775:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2765:6:150"},"nodeType":"YulFunctionCall","src":"2765:12:150"},"nodeType":"YulExpressionStatement","src":"2765:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2742:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2750:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2738:3:150"},"nodeType":"YulFunctionCall","src":"2738:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"2757:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2734:3:150"},"nodeType":"YulFunctionCall","src":"2734:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2727:6:150"},"nodeType":"YulFunctionCall","src":"2727:35:150"},"nodeType":"YulIf","src":"2724:55:150"},{"nodeType":"YulVariableDeclaration","src":"2788:30:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2811:6:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2798:12:150"},"nodeType":"YulFunctionCall","src":"2798:20:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2792:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2827:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2837:4:150","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2831:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2850:71:150","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2917:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"2877:39:150"},"nodeType":"YulFunctionCall","src":"2877:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"2861:15:150"},"nodeType":"YulFunctionCall","src":"2861:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"2854:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2930:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"2943:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2934:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2962:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2967:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2955:6:150"},"nodeType":"YulFunctionCall","src":"2955:15:150"},"nodeType":"YulExpressionStatement","src":"2955:15:150"},{"nodeType":"YulAssignment","src":"2979:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2990:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"2995:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2986:3:150"},"nodeType":"YulFunctionCall","src":"2986:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2979:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"3007:46:150","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3029:6:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3041:1:150","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"3044:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3037:3:150"},"nodeType":"YulFunctionCall","src":"3037:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3025:3:150"},"nodeType":"YulFunctionCall","src":"3025:23:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3050:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3021:3:150"},"nodeType":"YulFunctionCall","src":"3021:32:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"3011:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3081:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3090:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3093:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3083:6:150"},"nodeType":"YulFunctionCall","src":"3083:12:150"},"nodeType":"YulExpressionStatement","src":"3083:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"3068:6:150"},{"name":"end","nodeType":"YulIdentifier","src":"3076:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3065:2:150"},"nodeType":"YulFunctionCall","src":"3065:15:150"},"nodeType":"YulIf","src":"3062:35:150"},{"nodeType":"YulVariableDeclaration","src":"3106:26:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3121:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3129:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3117:3:150"},"nodeType":"YulFunctionCall","src":"3117:15:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"3110:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3197:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3218:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3236:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3223:12:150"},"nodeType":"YulFunctionCall","src":"3223:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3211:6:150"},"nodeType":"YulFunctionCall","src":"3211:30:150"},"nodeType":"YulExpressionStatement","src":"3211:30:150"},{"nodeType":"YulAssignment","src":"3254:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"3265:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3270:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3261:3:150"},"nodeType":"YulFunctionCall","src":"3261:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"3254:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3152:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"3157:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3149:2:150"},"nodeType":"YulFunctionCall","src":"3149:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3165:23:150","statements":[{"nodeType":"YulAssignment","src":"3167:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3178:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3183:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3174:3:150"},"nodeType":"YulFunctionCall","src":"3174:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3167:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3145:3:150","statements":[]},"src":"3141:142:150"},{"nodeType":"YulAssignment","src":"3292:14:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"3301:5:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3292:5:150"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2688:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"2696:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2704:5:150","type":""}],"src":"2650:662:150"},{"body":{"nodeType":"YulBlock","src":"3522:1214:150","statements":[{"body":{"nodeType":"YulBlock","src":"3569:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3578:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3581:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3571:6:150"},"nodeType":"YulFunctionCall","src":"3571:12:150"},"nodeType":"YulExpressionStatement","src":"3571:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3543:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3552:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3539:3:150"},"nodeType":"YulFunctionCall","src":"3539:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3564:3:150","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3535:3:150"},"nodeType":"YulFunctionCall","src":"3535:33:150"},"nodeType":"YulIf","src":"3532:53:150"},{"nodeType":"YulAssignment","src":"3594:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3617:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3604:12:150"},"nodeType":"YulFunctionCall","src":"3604:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3594:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3636:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3646:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3640:2:150","type":""}]},{"nodeType":"YulAssignment","src":"3657:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3690:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3701:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3686:3:150"},"nodeType":"YulFunctionCall","src":"3686:18:150"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3667:18:150"},"nodeType":"YulFunctionCall","src":"3667:38:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3657:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3714:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3745:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3756:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3741:3:150"},"nodeType":"YulFunctionCall","src":"3741:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3728:12:150"},"nodeType":"YulFunctionCall","src":"3728:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3718:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3769:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3787:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3791:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3783:3:150"},"nodeType":"YulFunctionCall","src":"3783:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3795:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3779:3:150"},"nodeType":"YulFunctionCall","src":"3779:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3773:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3824:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3833:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3836:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3826:6:150"},"nodeType":"YulFunctionCall","src":"3826:12:150"},"nodeType":"YulExpressionStatement","src":"3826:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3812:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"3820:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3809:2:150"},"nodeType":"YulFunctionCall","src":"3809:14:150"},"nodeType":"YulIf","src":"3806:34:150"},{"nodeType":"YulVariableDeclaration","src":"3849:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3863:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"3874:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3859:3:150"},"nodeType":"YulFunctionCall","src":"3859:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3853:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3929:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3938:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3941:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3931:6:150"},"nodeType":"YulFunctionCall","src":"3931:12:150"},"nodeType":"YulExpressionStatement","src":"3931:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3908:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"3912:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3904:3:150"},"nodeType":"YulFunctionCall","src":"3904:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3919:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3900:3:150"},"nodeType":"YulFunctionCall","src":"3900:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3893:6:150"},"nodeType":"YulFunctionCall","src":"3893:35:150"},"nodeType":"YulIf","src":"3890:55:150"},{"nodeType":"YulVariableDeclaration","src":"3954:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3977:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3964:12:150"},"nodeType":"YulFunctionCall","src":"3964:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"3958:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3989:71:150","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"4056:2:150"}],"functionName":{"name":"array_allocation_size_array_bytes32_dyn","nodeType":"YulIdentifier","src":"4016:39:150"},"nodeType":"YulFunctionCall","src":"4016:43:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"4000:15:150"},"nodeType":"YulFunctionCall","src":"4000:60:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"3993:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4069:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"4082:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"4073:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4101:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"4106:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4094:6:150"},"nodeType":"YulFunctionCall","src":"4094:15:150"},"nodeType":"YulExpressionStatement","src":"4094:15:150"},{"nodeType":"YulAssignment","src":"4118:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4129:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4134:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4125:3:150"},"nodeType":"YulFunctionCall","src":"4125:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"4118:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"4146:42:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4168:2:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4176:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"4179:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4172:3:150"},"nodeType":"YulFunctionCall","src":"4172:10:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4164:3:150"},"nodeType":"YulFunctionCall","src":"4164:19:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4185:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4160:3:150"},"nodeType":"YulFunctionCall","src":"4160:28:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"4150:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4220:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4229:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4232:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4222:6:150"},"nodeType":"YulFunctionCall","src":"4222:12:150"},"nodeType":"YulExpressionStatement","src":"4222:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"4203:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4211:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4200:2:150"},"nodeType":"YulFunctionCall","src":"4200:19:150"},"nodeType":"YulIf","src":"4197:39:150"},{"nodeType":"YulVariableDeclaration","src":"4245:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4260:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4264:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4256:3:150"},"nodeType":"YulFunctionCall","src":"4256:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"4249:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4332:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4353:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4371:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4358:12:150"},"nodeType":"YulFunctionCall","src":"4358:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4346:6:150"},"nodeType":"YulFunctionCall","src":"4346:30:150"},"nodeType":"YulExpressionStatement","src":"4346:30:150"},{"nodeType":"YulAssignment","src":"4389:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4400:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4405:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4396:3:150"},"nodeType":"YulFunctionCall","src":"4396:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"4389:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4287:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"4292:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4284:2:150"},"nodeType":"YulFunctionCall","src":"4284:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4300:23:150","statements":[{"nodeType":"YulAssignment","src":"4302:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4313:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4318:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4309:3:150"},"nodeType":"YulFunctionCall","src":"4309:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"4302:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"4280:3:150","statements":[]},"src":"4276:142:150"},{"nodeType":"YulAssignment","src":"4427:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"4437:5:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4427:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4451:48:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4484:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4495:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4480:3:150"},"nodeType":"YulFunctionCall","src":"4480:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4467:12:150"},"nodeType":"YulFunctionCall","src":"4467:32:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4455:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4528:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4537:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4540:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4530:6:150"},"nodeType":"YulFunctionCall","src":"4530:12:150"},"nodeType":"YulExpressionStatement","src":"4530:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"4514:8:150"},{"name":"_2","nodeType":"YulIdentifier","src":"4524:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4511:2:150"},"nodeType":"YulFunctionCall","src":"4511:16:150"},"nodeType":"YulIf","src":"4508:36:150"},{"nodeType":"YulAssignment","src":"4553:73:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4596:9:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"4607:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4592:3:150"},"nodeType":"YulFunctionCall","src":"4592:24:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4618:7:150"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"4563:28:150"},"nodeType":"YulFunctionCall","src":"4563:63:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4553:6:150"}]},{"nodeType":"YulAssignment","src":"4635:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4662:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4673:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4658:3:150"},"nodeType":"YulFunctionCall","src":"4658:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4645:12:150"},"nodeType":"YulFunctionCall","src":"4645:33:150"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"4635:6:150"}]},{"nodeType":"YulAssignment","src":"4687:43:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4714:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4725:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4710:3:150"},"nodeType":"YulFunctionCall","src":"4710:19:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4697:12:150"},"nodeType":"YulFunctionCall","src":"4697:33:150"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"4687:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_addresst_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3448:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3459:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3471:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3479:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3487:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3495:6:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"3503:6:150","type":""},{"name":"value5","nodeType":"YulTypedName","src":"3511:6:150","type":""}],"src":"3317:1419:150"},{"body":{"nodeType":"YulBlock","src":"4870:119:150","statements":[{"nodeType":"YulAssignment","src":"4880:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4892:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4903:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4888:3:150"},"nodeType":"YulFunctionCall","src":"4888:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4880:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4922:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"4933:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4915:6:150"},"nodeType":"YulFunctionCall","src":"4915:25:150"},"nodeType":"YulExpressionStatement","src":"4915:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4960:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4971:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4956:3:150"},"nodeType":"YulFunctionCall","src":"4956:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"4976:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4949:6:150"},"nodeType":"YulFunctionCall","src":"4949:34:150"},"nodeType":"YulExpressionStatement","src":"4949:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4831:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4842:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4850:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4861:4:150","type":""}],"src":"4741:248:150"},{"body":{"nodeType":"YulBlock","src":"5095:102:150","statements":[{"nodeType":"YulAssignment","src":"5105:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5117:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5128:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5113:3:150"},"nodeType":"YulFunctionCall","src":"5113:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5105:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5147:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5162:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5178:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5183:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5174:3:150"},"nodeType":"YulFunctionCall","src":"5174:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"5187:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5170:3:150"},"nodeType":"YulFunctionCall","src":"5170:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5158:3:150"},"nodeType":"YulFunctionCall","src":"5158:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5140:6:150"},"nodeType":"YulFunctionCall","src":"5140:51:150"},"nodeType":"YulExpressionStatement","src":"5140:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5064:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5075:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5086:4:150","type":""}],"src":"4994:203:150"},{"body":{"nodeType":"YulBlock","src":"5234:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5251:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5258:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5263:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5254:3:150"},"nodeType":"YulFunctionCall","src":"5254:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5244:6:150"},"nodeType":"YulFunctionCall","src":"5244:31:150"},"nodeType":"YulExpressionStatement","src":"5244:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5291:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5294:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5284:6:150"},"nodeType":"YulFunctionCall","src":"5284:15:150"},"nodeType":"YulExpressionStatement","src":"5284:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5315:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5318:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5308:6:150"},"nodeType":"YulFunctionCall","src":"5308:15:150"},"nodeType":"YulExpressionStatement","src":"5308:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"5202:127:150"},{"body":{"nodeType":"YulBlock","src":"5366:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5383:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5390:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5395:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5386:3:150"},"nodeType":"YulFunctionCall","src":"5386:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5376:6:150"},"nodeType":"YulFunctionCall","src":"5376:31:150"},"nodeType":"YulExpressionStatement","src":"5376:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5423:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5426:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5416:6:150"},"nodeType":"YulFunctionCall","src":"5416:15:150"},"nodeType":"YulExpressionStatement","src":"5416:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5447:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5450:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5440:6:150"},"nodeType":"YulFunctionCall","src":"5440:15:150"},"nodeType":"YulExpressionStatement","src":"5440:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"5334:127:150"},{"body":{"nodeType":"YulBlock","src":"5513:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"5544:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5546:16:150"},"nodeType":"YulFunctionCall","src":"5546:18:150"},"nodeType":"YulExpressionStatement","src":"5546:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5529:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5540:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5536:3:150"},"nodeType":"YulFunctionCall","src":"5536:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5526:2:150"},"nodeType":"YulFunctionCall","src":"5526:17:150"},"nodeType":"YulIf","src":"5523:43:150"},{"nodeType":"YulAssignment","src":"5575:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5586:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"5593:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5582:3:150"},"nodeType":"YulFunctionCall","src":"5582:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"5575:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5495:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"5505:3:150","type":""}],"src":"5466:135:150"},{"body":{"nodeType":"YulBlock","src":"5654:77:150","statements":[{"nodeType":"YulAssignment","src":"5664:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5675:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"5678:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5671:3:150"},"nodeType":"YulFunctionCall","src":"5671:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5664:3:150"}]},{"body":{"nodeType":"YulBlock","src":"5703:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5705:16:150"},"nodeType":"YulFunctionCall","src":"5705:18:150"},"nodeType":"YulExpressionStatement","src":"5705:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5695:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"5698:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5692:2:150"},"nodeType":"YulFunctionCall","src":"5692:10:150"},"nodeType":"YulIf","src":"5689:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5637:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"5640:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5646:3:150","type":""}],"src":"5606:125:150"},{"body":{"nodeType":"YulBlock","src":"5865:119:150","statements":[{"nodeType":"YulAssignment","src":"5875:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5887:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5898:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5883:3:150"},"nodeType":"YulFunctionCall","src":"5883:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5875:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5917:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"5928:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5910:6:150"},"nodeType":"YulFunctionCall","src":"5910:25:150"},"nodeType":"YulExpressionStatement","src":"5910:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5955:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5966:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5951:3:150"},"nodeType":"YulFunctionCall","src":"5951:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"5971:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5944:6:150"},"nodeType":"YulFunctionCall","src":"5944:34:150"},"nodeType":"YulExpressionStatement","src":"5944:34:150"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5826:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5837:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5845:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5856:4:150","type":""}],"src":"5736:248:150"},{"body":{"nodeType":"YulBlock","src":"6067:199:150","statements":[{"body":{"nodeType":"YulBlock","src":"6113:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6122:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6125:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6115:6:150"},"nodeType":"YulFunctionCall","src":"6115:12:150"},"nodeType":"YulExpressionStatement","src":"6115:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6088:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"6097:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6084:3:150"},"nodeType":"YulFunctionCall","src":"6084:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"6109:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6080:3:150"},"nodeType":"YulFunctionCall","src":"6080:32:150"},"nodeType":"YulIf","src":"6077:52:150"},{"nodeType":"YulVariableDeclaration","src":"6138:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6157:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6151:5:150"},"nodeType":"YulFunctionCall","src":"6151:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6142:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6220:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6229:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6232:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6222:6:150"},"nodeType":"YulFunctionCall","src":"6222:12:150"},"nodeType":"YulExpressionStatement","src":"6222:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6189:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6210:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6203:6:150"},"nodeType":"YulFunctionCall","src":"6203:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6196:6:150"},"nodeType":"YulFunctionCall","src":"6196:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6186:2:150"},"nodeType":"YulFunctionCall","src":"6186:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6179:6:150"},"nodeType":"YulFunctionCall","src":"6179:40:150"},"nodeType":"YulIf","src":"6176:60:150"},{"nodeType":"YulAssignment","src":"6245:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"6255:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6245:6:150"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6033:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6044:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6056:6:150","type":""}],"src":"5989:277:150"},{"body":{"nodeType":"YulBlock","src":"6372:76:150","statements":[{"nodeType":"YulAssignment","src":"6382:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6394:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6405:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6390:3:150"},"nodeType":"YulFunctionCall","src":"6390:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6382:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6424:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"6435:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6417:6:150"},"nodeType":"YulFunctionCall","src":"6417:25:150"},"nodeType":"YulExpressionStatement","src":"6417:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6341:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6352:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6363:4:150","type":""}],"src":"6271:177:150"},{"body":{"nodeType":"YulBlock","src":"6724:713:150","statements":[{"nodeType":"YulVariableDeclaration","src":"6734:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6752:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6763:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6748:3:150"},"nodeType":"YulFunctionCall","src":"6748:19:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"6738:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6776:29:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6794:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6799:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6790:3:150"},"nodeType":"YulFunctionCall","src":"6790:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"6803:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6786:3:150"},"nodeType":"YulFunctionCall","src":"6786:19:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6780:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6821:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6836:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6844:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6832:3:150"},"nodeType":"YulFunctionCall","src":"6832:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6814:6:150"},"nodeType":"YulFunctionCall","src":"6814:34:150"},"nodeType":"YulExpressionStatement","src":"6814:34:150"},{"nodeType":"YulVariableDeclaration","src":"6857:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"6867:2:150","type":"","value":"32"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"6861:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6889:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"6900:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6885:3:150"},"nodeType":"YulFunctionCall","src":"6885:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"6905:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6878:6:150"},"nodeType":"YulFunctionCall","src":"6878:34:150"},"nodeType":"YulExpressionStatement","src":"6878:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6932:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6943:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6928:3:150"},"nodeType":"YulFunctionCall","src":"6928:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"6948:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6921:6:150"},"nodeType":"YulFunctionCall","src":"6921:31:150"},"nodeType":"YulExpressionStatement","src":"6921:31:150"},{"nodeType":"YulVariableDeclaration","src":"6961:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"6972:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"6965:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6987:27:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"7007:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7001:5:150"},"nodeType":"YulFunctionCall","src":"7001:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6991:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"7030:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"7038:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7023:6:150"},"nodeType":"YulFunctionCall","src":"7023:22:150"},"nodeType":"YulExpressionStatement","src":"7023:22:150"},{"nodeType":"YulAssignment","src":"7054:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7065:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7076:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7061:3:150"},"nodeType":"YulFunctionCall","src":"7061:19:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7054:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"7089:29:150","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"7107:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7115:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7103:3:150"},"nodeType":"YulFunctionCall","src":"7103:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7093:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7127:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"7136:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7131:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7195:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7216:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7227:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7221:5:150"},"nodeType":"YulFunctionCall","src":"7221:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7209:6:150"},"nodeType":"YulFunctionCall","src":"7209:26:150"},"nodeType":"YulExpressionStatement","src":"7209:26:150"},{"nodeType":"YulAssignment","src":"7248:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7259:3:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7264:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7255:3:150"},"nodeType":"YulFunctionCall","src":"7255:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7248:3:150"}]},{"nodeType":"YulAssignment","src":"7280:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7294:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7302:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7290:3:150"},"nodeType":"YulFunctionCall","src":"7290:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7280:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7157:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"7160:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7154:2:150"},"nodeType":"YulFunctionCall","src":"7154:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7168:18:150","statements":[{"nodeType":"YulAssignment","src":"7170:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7179:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"7182:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7175:3:150"},"nodeType":"YulFunctionCall","src":"7175:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7170:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"7150:3:150","statements":[]},"src":"7146:169:150"},{"nodeType":"YulAssignment","src":"7324:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"7332:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7324:4:150"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7355:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7366:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7351:3:150"},"nodeType":"YulFunctionCall","src":"7351:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"7371:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7344:6:150"},"nodeType":"YulFunctionCall","src":"7344:34:150"},"nodeType":"YulExpressionStatement","src":"7344:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7398:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"7409:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7394:3:150"},"nodeType":"YulFunctionCall","src":"7394:19:150"},{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"7419:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7427:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7415:3:150"},"nodeType":"YulFunctionCall","src":"7415:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7387:6:150"},"nodeType":"YulFunctionCall","src":"7387:44:150"},"nodeType":"YulExpressionStatement","src":"7387:44:150"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_uint256_t_address__to_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6661:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"6672:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6680:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6688:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6696:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6704:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6715:4:150","type":""}],"src":"6453:984:150"},{"body":{"nodeType":"YulBlock","src":"7523:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"7569:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7578:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7581:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7571:6:150"},"nodeType":"YulFunctionCall","src":"7571:12:150"},"nodeType":"YulExpressionStatement","src":"7571:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7544:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7553:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7540:3:150"},"nodeType":"YulFunctionCall","src":"7540:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7565:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7536:3:150"},"nodeType":"YulFunctionCall","src":"7536:32:150"},"nodeType":"YulIf","src":"7533:52:150"},{"nodeType":"YulAssignment","src":"7594:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7610:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7604:5:150"},"nodeType":"YulFunctionCall","src":"7604:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7594:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7489:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7500:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7512:6:150","type":""}],"src":"7442:184:150"},{"body":{"nodeType":"YulBlock","src":"7683:116:150","statements":[{"nodeType":"YulAssignment","src":"7693:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7708:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"7711:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"7704:3:150"},"nodeType":"YulFunctionCall","src":"7704:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"7693:7:150"}]},{"body":{"nodeType":"YulBlock","src":"7771:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"7773:16:150"},"nodeType":"YulFunctionCall","src":"7773:18:150"},"nodeType":"YulExpressionStatement","src":"7773:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7742:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7735:6:150"},"nodeType":"YulFunctionCall","src":"7735:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"7749:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"7756:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"7765:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"7752:3:150"},"nodeType":"YulFunctionCall","src":"7752:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7746:2:150"},"nodeType":"YulFunctionCall","src":"7746:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"7732:2:150"},"nodeType":"YulFunctionCall","src":"7732:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7725:6:150"},"nodeType":"YulFunctionCall","src":"7725:45:150"},"nodeType":"YulIf","src":"7722:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"7662:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"7665:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"7671:7:150","type":""}],"src":"7631:168:150"},{"body":{"nodeType":"YulBlock","src":"7836:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7853:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7860:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7865:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7856:3:150"},"nodeType":"YulFunctionCall","src":"7856:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7846:6:150"},"nodeType":"YulFunctionCall","src":"7846:31:150"},"nodeType":"YulExpressionStatement","src":"7846:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7893:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7896:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7886:6:150"},"nodeType":"YulFunctionCall","src":"7886:15:150"},"nodeType":"YulExpressionStatement","src":"7886:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7917:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7920:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7910:6:150"},"nodeType":"YulFunctionCall","src":"7910:15:150"},"nodeType":"YulExpressionStatement","src":"7910:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"7804:127:150"},{"body":{"nodeType":"YulBlock","src":"7982:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"8013:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8034:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8041:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8046:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8037:3:150"},"nodeType":"YulFunctionCall","src":"8037:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8027:6:150"},"nodeType":"YulFunctionCall","src":"8027:31:150"},"nodeType":"YulExpressionStatement","src":"8027:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8078:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8081:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8071:6:150"},"nodeType":"YulFunctionCall","src":"8071:15:150"},"nodeType":"YulExpressionStatement","src":"8071:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8106:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8109:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8099:6:150"},"nodeType":"YulFunctionCall","src":"8099:15:150"},"nodeType":"YulExpressionStatement","src":"8099:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"8002:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7995:6:150"},"nodeType":"YulFunctionCall","src":"7995:9:150"},"nodeType":"YulIf","src":"7992:132:150"},{"nodeType":"YulAssignment","src":"8133:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8142:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"8145:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"8138:3:150"},"nodeType":"YulFunctionCall","src":"8138:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"8133:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"7967:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"7970:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"7976:1:150","type":""}],"src":"7936:217:150"},{"body":{"nodeType":"YulBlock","src":"8343:232:150","statements":[{"nodeType":"YulAssignment","src":"8353:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8365:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8376:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8361:3:150"},"nodeType":"YulFunctionCall","src":"8361:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8353:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8396:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"8407:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8389:6:150"},"nodeType":"YulFunctionCall","src":"8389:25:150"},"nodeType":"YulExpressionStatement","src":"8389:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8434:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8445:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8430:3:150"},"nodeType":"YulFunctionCall","src":"8430:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"8454:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8470:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8475:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8466:3:150"},"nodeType":"YulFunctionCall","src":"8466:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"8479:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8462:3:150"},"nodeType":"YulFunctionCall","src":"8462:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8450:3:150"},"nodeType":"YulFunctionCall","src":"8450:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8423:6:150"},"nodeType":"YulFunctionCall","src":"8423:60:150"},"nodeType":"YulExpressionStatement","src":"8423:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8503:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8514:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8499:3:150"},"nodeType":"YulFunctionCall","src":"8499:18:150"},{"name":"value2","nodeType":"YulIdentifier","src":"8519:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8492:6:150"},"nodeType":"YulFunctionCall","src":"8492:34:150"},"nodeType":"YulExpressionStatement","src":"8492:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8546:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8557:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8542:3:150"},"nodeType":"YulFunctionCall","src":"8542:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"8562:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8535:6:150"},"nodeType":"YulFunctionCall","src":"8535:34:150"},"nodeType":"YulExpressionStatement","src":"8535:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8288:9:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8299:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8307:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8315:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8323:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8334:4:150","type":""}],"src":"8158:417:150"},{"body":{"nodeType":"YulBlock","src":"8809:923:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8819:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8837:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8848:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8833:3:150"},"nodeType":"YulFunctionCall","src":"8833:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"8823:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8867:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8878:2:150","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8860:6:150"},"nodeType":"YulFunctionCall","src":"8860:21:150"},"nodeType":"YulExpressionStatement","src":"8860:21:150"},{"nodeType":"YulVariableDeclaration","src":"8890:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"8901:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"8894:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8916:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8936:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8930:5:150"},"nodeType":"YulFunctionCall","src":"8930:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8920:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"8959:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"8967:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8952:6:150"},"nodeType":"YulFunctionCall","src":"8952:22:150"},"nodeType":"YulExpressionStatement","src":"8952:22:150"},{"nodeType":"YulAssignment","src":"8983:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8994:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9005:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8990:3:150"},"nodeType":"YulFunctionCall","src":"8990:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8983:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"9017:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9027:4:150","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9021:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9040:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9058:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9066:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9054:3:150"},"nodeType":"YulFunctionCall","src":"9054:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"9044:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9078:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9087:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"9082:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9146:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9167:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9178:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9172:5:150"},"nodeType":"YulFunctionCall","src":"9172:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9160:6:150"},"nodeType":"YulFunctionCall","src":"9160:26:150"},"nodeType":"YulExpressionStatement","src":"9160:26:150"},{"nodeType":"YulAssignment","src":"9199:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9210:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9215:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9206:3:150"},"nodeType":"YulFunctionCall","src":"9206:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9199:3:150"}]},{"nodeType":"YulAssignment","src":"9231:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9245:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9253:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9241:3:150"},"nodeType":"YulFunctionCall","src":"9241:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9231:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9108:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"9111:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9105:2:150"},"nodeType":"YulFunctionCall","src":"9105:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9119:18:150","statements":[{"nodeType":"YulAssignment","src":"9121:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9130:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"9133:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9126:3:150"},"nodeType":"YulFunctionCall","src":"9126:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"9121:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"9101:3:150","statements":[]},"src":"9097:169:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9286:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9297:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9282:3:150"},"nodeType":"YulFunctionCall","src":"9282:18:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9306:3:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"9311:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9302:3:150"},"nodeType":"YulFunctionCall","src":"9302:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9275:6:150"},"nodeType":"YulFunctionCall","src":"9275:47:150"},"nodeType":"YulExpressionStatement","src":"9275:47:150"},{"nodeType":"YulVariableDeclaration","src":"9331:16:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"9344:3:150"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"9335:5:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9356:29:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9378:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9372:5:150"},"nodeType":"YulFunctionCall","src":"9372:13:150"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"9360:8:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9401:3:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"9406:8:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9394:6:150"},"nodeType":"YulFunctionCall","src":"9394:21:150"},"nodeType":"YulExpressionStatement","src":"9394:21:150"},{"nodeType":"YulAssignment","src":"9424:21:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9437:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9442:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9433:3:150"},"nodeType":"YulFunctionCall","src":"9433:12:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"9424:5:150"}]},{"nodeType":"YulVariableDeclaration","src":"9454:31:150","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9474:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9482:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9470:3:150"},"nodeType":"YulFunctionCall","src":"9470:15:150"},"variables":[{"name":"srcPtr_1","nodeType":"YulTypedName","src":"9458:8:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9494:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9505:1:150","type":"","value":"0"},"variables":[{"name":"i_1","nodeType":"YulTypedName","src":"9498:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9572:132:150","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"9593:5:150"},{"arguments":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"9606:8:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9600:5:150"},"nodeType":"YulFunctionCall","src":"9600:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9586:6:150"},"nodeType":"YulFunctionCall","src":"9586:30:150"},"nodeType":"YulExpressionStatement","src":"9586:30:150"},{"nodeType":"YulAssignment","src":"9629:23:150","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"9642:5:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9649:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9638:3:150"},"nodeType":"YulFunctionCall","src":"9638:14:150"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"9629:5:150"}]},{"nodeType":"YulAssignment","src":"9665:29:150","value":{"arguments":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"9681:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9691:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9677:3:150"},"nodeType":"YulFunctionCall","src":"9677:17:150"},"variableNames":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"9665:8:150"}]}]},"condition":{"arguments":[{"name":"i_1","nodeType":"YulIdentifier","src":"9526:3:150"},{"name":"length_1","nodeType":"YulIdentifier","src":"9531:8:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9523:2:150"},"nodeType":"YulFunctionCall","src":"9523:17:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9541:22:150","statements":[{"nodeType":"YulAssignment","src":"9543:18:150","value":{"arguments":[{"name":"i_1","nodeType":"YulIdentifier","src":"9554:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"9559:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9550:3:150"},"nodeType":"YulFunctionCall","src":"9550:11:150"},"variableNames":[{"name":"i_1","nodeType":"YulIdentifier","src":"9543:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"9519:3:150","statements":[]},"src":"9515:189:150"},{"nodeType":"YulAssignment","src":"9713:13:150","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"9721:5:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9713:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8770:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8781:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8789:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8800:4:150","type":""}],"src":"8580:1152:150"},{"body":{"nodeType":"YulBlock","src":"9786:79:150","statements":[{"nodeType":"YulAssignment","src":"9796:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9808:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"9811:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9804:3:150"},"nodeType":"YulFunctionCall","src":"9804:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"9796:4:150"}]},{"body":{"nodeType":"YulBlock","src":"9837:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9839:16:150"},"nodeType":"YulFunctionCall","src":"9839:18:150"},"nodeType":"YulExpressionStatement","src":"9839:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"9828:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"9834:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9825:2:150"},"nodeType":"YulFunctionCall","src":"9825:11:150"},"nodeType":"YulIf","src":"9822:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9768:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"9771:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"9777:4:150","type":""}],"src":"9737:128:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_addresst_bytes32(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_address(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_address(headStart)\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_array_bytes32_dyn(length) -> size\n    {\n        if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_array_uint256_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_uint256t_addresst_array$_t_bytes32_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let _1 := 32\n        value1 := abi_decode_address(add(headStart, _1))\n        let offset := calldataload(add(headStart, 64))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_4))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _1)\n        }\n        value2 := dst_1\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, _2) { revert(0, 0) }\n        value3 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n        value4 := calldataload(add(headStart, 128))\n        value5 := calldataload(add(headStart, 160))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_uint256_t_address__to_t_address_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_uint256_t_address__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 160)\n        let _1 := sub(shl(160, 1), 1)\n        mstore(headStart, and(value0, _1))\n        let _2 := 32\n        mstore(add(headStart, _2), value1)\n        mstore(add(headStart, 64), 160)\n        let pos := tail_1\n        let length := mload(value2)\n        mstore(tail_1, length)\n        pos := add(headStart, 192)\n        let srcPtr := add(value2, _2)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _2)\n            srcPtr := add(srcPtr, _2)\n        }\n        tail := pos\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), and(value4, _1))\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 64)\n        mstore(headStart, 64)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 96)\n        let _1 := 0x20\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        mstore(add(headStart, _1), sub(pos, headStart))\n        let pos_1 := pos\n        let length_1 := mload(value1)\n        mstore(pos, length_1)\n        pos_1 := add(pos, _1)\n        let srcPtr_1 := add(value1, _1)\n        let i_1 := 0\n        for { } lt(i_1, length_1) { i_1 := add(i_1, 1) }\n        {\n            mstore(pos_1, mload(srcPtr_1))\n            pos_1 := add(pos_1, _1)\n            srcPtr_1 := add(srcPtr_1, _1)\n        }\n        tail := pos_1\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol":{"FreshnessUtils":[{"length":20,"start":2139}]}},"object":"73000000000000000000000000000000000000000030146080604052600436106100cf5760003560e01c806319e6e158146100d457806342707a43146100fa578063438596321461011d578063498d91bf146101305780634bb5181a1461014357806362827733146101565780636eafa5f61461015e578063754ba25d14610180578063836761e0146101935780639aeb962b146101b3578063adf8652314610180578063bed73010146101c6578063cdc6ac0c146101d9578063fb03ec6f146101f9578063fe4b84df1461020c575b600080fd5b6100e76100e2366004610c9d565b61022c565b6040519081526020015b60405180910390f35b61010d610108366004610cd2565b61024f565b60405190151581526020016100f1565b61010d61012b366004610d07565b610296565b6100e761013e366004610c9d565b6102d7565b6100e7610151366004610d33565b6102fa565b6100e7610325565b81801561016a57600080fd5b5061017e610179366004610d07565b61033a565b005b61010d61018e366004610d33565b610376565b81801561019f57600080fd5b5061017e6101ae366004610c9d565b61039c565b61010d6101c1366004610d55565b6103ed565b6100e76101d4366004610d33565b61041b565b8180156101e557600080fd5b5061017e6101f4366004610e44565b61044b565b6100e7610207366004610c9d565b6109e3565b81801561021857600080fd5b5061017e610227366004610c9d565b610a06565b600080610237610a1a565b60009384526001016020525050604090206002015490565b60008061025a610a1a565b6000958652600101602090815260408087206001600160a01b039690961687526006909501815284862093865292909252505090205460ff1690565b6000806102a1610a1a565b60008581526001909101602090815260408083206001600160a01b038716845260040190915290205460ff169150505b92915050565b6000806102e2610a1a565b60009384526001016020525050604090206005015490565b600080610305610a1a565b600094855260010160209081526040808620948652939052505090205490565b600080610330610a1a565b6002015492915050565b6000610344610a1a565b6000938452600501602090815260408085206001600160a01b039094168552929052509020805460ff19166001179055565b600080610381610a1a565b60009485526001016020525050604090912060020154101590565b60006103a6610a1a565b600281015460408051918252602082018590529192507fa5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05910160405180910390a160020155565b6000806103f8610a1a565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b600080610426610a1a565b6000948552600190810160209081526040808720958752949091019052505090205490565b6000610455610a1a565b600088815260018201602090815260408083206001600160a01b038b1684526004019091529020549091507f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d009060ff16156104d3576040516371c6af4960e01b81526001600160a01b03881660048201526024015b60405180910390fd5b60008060005b88518110156107405760005b81811015610551578981815181106104ff576104ff610f2a565b60200260200101518a838151811061051957610519610f2a565b60200260200101510361053f57604051632367acf760e21b815260040160405180910390fd5b8061054981610f56565b9150506104e5565b5087818151811061056457610564610f2a565b6020026020010151836105779190610f6f565b92508683111561059a57604051630cc9baf760e01b815260040160405180910390fd5b306001600160a01b031663d68b4c368a83815181106105bb576105bb610f2a565b60200260200101518d6040518363ffffffff1660e01b81526004016105ea929190918252602082015260400190565b602060405180830381865afa158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190610f82565b6106655788818151811061064157610641610f2a565b60200260200101516040516325c5391960e11b81526004016104ca91815260200190565b6106a3858c8b848151811061067c5761067c610f2a565b60200260200101518b858151811061069657610696610f2a565b6020026020010151610a3e565b6106ad9083610f6f565b915060018560010160008d815260200190815260200160002060060160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008b848151811061070057610700610f2a565b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550808061073890610f56565b9150506104d9565b50836002015482101561077657600284015460405163742f62c360e01b81526004810191909152602481018390526044016104ca565b60008a815260018501602052604081206003018054839290610799908490610f6f565b909155505060008a8152600185016020526040812060020180548492906107c1908490610f6f565b909155505060008a81526001858101602081815260408085206001600160a01b038f168652600481018352908520805460ff19169094179093558d84525260050180549161080e83610f56565b90915550506001600160a01b03891660009081526020859052604090205460ff16610857576001600160a01b0389166000908152602085905260409020805460ff191660011790555b600073__$2638067425a8b07bf64aace0db8ed9d633$__63bd5d18278b8d8c8a8960020160009054906101000a90046001600160a01b03166040518663ffffffff1660e01b81526004016108af959493929190610fa4565b602060405180830381865af41580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190611017565b905060006127106109018386611030565b61090b919061105d565b9050600061091882610b04565b6002870154604051632f18339d60e01b8152600481018b90526001600160a01b038f811660248301526044820186905260648201849052929350911690632f18339d90608401600060405180830381600087803b15801561097857600080fd5b505af115801561098c573d6000803e3d6000fd5b505050508c8c6001600160a01b03167fe2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e28d8d6040516109cc92919061107f565b60405180910390a350505050505050505050505050565b6000806109ee610a1a565b60009384526001016020525050604090206003015490565b6000610a10610a1a565b6002019190915550565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b6000838152600180860160209081526040808420868552909201905281205481670de0b6b3a76400008411610a8057610a7b633b9aca008561105d565b610a89565b610a8984610b04565b90506000610a978284610f6f565b9050610aa38380611030565b610aad8280611030565b610ab791906110fa565b600088815260018a8101602090815260408084208b85529283018252808420869055919052812080549296508792909190610af3908490610f6f565b909155509398975050505050505050565b600081600003610b1657506000919050565b60006001610b2384610bf3565b901c6001901b90506001818481610b3c57610b3c611047565b048201901c90506001818481610b5457610b54611047565b048201901c90506001818481610b6c57610b6c611047565b048201901c90506001818481610b8457610b84611047565b048201901c90506001818481610b9c57610b9c611047565b048201901c90506001818481610bb457610bb4611047565b048201901c90506001818481610bcc57610bcc611047565b048201901c9050610bec81828581610be657610be6611047565b04610c87565b9392505050565b600080608083901c15610c0857608092831c92015b604083901c15610c1a57604092831c92015b602083901c15610c2c57602092831c92015b601083901c15610c3e57601092831c92015b600883901c15610c5057600892831c92015b600483901c15610c6257600492831c92015b600283901c15610c7457600292831c92015b600183901c156102d15760010192915050565b6000818310610c965781610bec565b5090919050565b600060208284031215610caf57600080fd5b5035919050565b80356001600160a01b0381168114610ccd57600080fd5b919050565b600080600060608486031215610ce757600080fd5b83359250610cf760208501610cb6565b9150604084013590509250925092565b60008060408385031215610d1a57600080fd5b82359150610d2a60208401610cb6565b90509250929050565b60008060408385031215610d4657600080fd5b50508035926020909101359150565b600060208284031215610d6757600080fd5b610bec82610cb6565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610dae57610dae610d70565b604052919050565b60006001600160401b03821115610dcf57610dcf610d70565b5060051b60200190565b600082601f830112610dea57600080fd5b81356020610dff610dfa83610db6565b610d86565b82815260059290921b84018101918181019086841115610e1e57600080fd5b8286015b84811015610e395780358352918301918301610e22565b509695505050505050565b60008060008060008060c08789031215610e5d57600080fd5b863595506020610e6e818901610cb6565b955060408801356001600160401b0380821115610e8a57600080fd5b818a0191508a601f830112610e9e57600080fd5b8135610eac610dfa82610db6565b81815260059190911b8301840190848101908d831115610ecb57600080fd5b938501935b82851015610ee957843582529385019390850190610ed0565b9850505060608a0135925080831115610f0157600080fd5b5050610f0f89828a01610dd9565b9350506080870135915060a087013590509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610f6857610f68610f40565b5060010190565b808201808211156102d1576102d1610f40565b600060208284031215610f9457600080fd5b81518015158114610bec57600080fd5b6001600160a01b038681168252602080830187905260a060408401819052865190840181905260009287830192909160c0860190855b81811015610ff657855183529483019491830191600101610fda565b50508094505050856060850152808516608085015250509695505050505050565b60006020828403121561102957600080fd5b5051919050565b80820281158282048414176102d1576102d1610f40565b634e487b7160e01b600052601260045260246000fd5b60008261107a57634e487b7160e01b600052601260045260246000fd5b500490565b604080825283519082018190526000906020906060840190828701845b828110156110b85781518452928401929084019060010161109c565b5050508381038285015284518082528583019183019060005b818110156110ed578351835292840192918401916001016110d1565b5090979650505050505050565b818103818111156102d1576102d1610f4056fea2646970667358221220974410784d659e9fc21d684ad52a466d09b8528f72eb48873eb7678e90191b8964736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x19E6E158 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x42707A43 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x11D JUMPI DUP1 PUSH4 0x498D91BF EQ PUSH2 0x130 JUMPI DUP1 PUSH4 0x4BB5181A EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0x62827733 EQ PUSH2 0x156 JUMPI DUP1 PUSH4 0x6EAFA5F6 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0x754BA25D EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0x836761E0 EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x9AEB962B EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xADF86523 EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0xBED73010 EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xCDC6AC0C EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xFB03EC6F EQ PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xFE4B84DF EQ PUSH2 0x20C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0x22C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10D PUSH2 0x108 CALLDATASIZE PUSH1 0x4 PUSH2 0xCD2 JUMP JUMPDEST PUSH2 0x24F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF1 JUMP JUMPDEST PUSH2 0x10D PUSH2 0x12B CALLDATASIZE PUSH1 0x4 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x296 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x13E CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0x2D7 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x151 CALLDATASIZE PUSH1 0x4 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x2FA JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x325 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x33A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x10D PUSH2 0x18E CALLDATASIZE PUSH1 0x4 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x376 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x19F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x1AE CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0x39C JUMP JUMPDEST PUSH2 0x10D PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xD55 JUMP JUMPDEST PUSH2 0x3ED JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x41B JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x1F4 CALLDATASIZE PUSH1 0x4 PUSH2 0xE44 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x207 CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0x9E3 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x227 CALLDATASIZE PUSH1 0x4 PUSH2 0xC9D JUMP JUMPDEST PUSH2 0xA06 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x237 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x25A PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP6 DUP7 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP8 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 SWAP1 SWAP7 AND DUP8 MSTORE PUSH1 0x6 SWAP1 SWAP6 ADD DUP2 MSTORE DUP5 DUP7 KECCAK256 SWAP4 DUP7 MSTORE SWAP3 SWAP1 SWAP3 MSTORE POP POP SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2A1 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE PUSH1 0x4 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2E2 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x305 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 SWAP5 DUP7 MSTORE SWAP4 SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x330 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x2 ADD SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x344 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP6 MSTORE SWAP3 SWAP1 MSTORE POP SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x381 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 SWAP2 KECCAK256 PUSH1 0x2 ADD SLOAD LT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A6 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0xA5B41E1BD59A5A33422F0B660829FF7686AED2198167061E3C6C21FDCC259F05 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3F8 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP4 SWAP1 SWAP4 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x426 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x1 SWAP1 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP8 KECCAK256 SWAP6 DUP8 MSTORE SWAP5 SWAP1 SWAP2 ADD SWAP1 MSTORE POP POP SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x455 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND DUP5 MSTORE PUSH1 0x4 ADD SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x4D3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x71C6AF49 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0x740 JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x551 JUMPI DUP10 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x4FF JUMPI PUSH2 0x4FF PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP11 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x519 JUMPI PUSH2 0x519 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x53F JUMPI PUSH1 0x40 MLOAD PUSH4 0x2367ACF7 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x549 DUP2 PUSH2 0xF56 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x4E5 JUMP JUMPDEST POP DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x564 JUMPI PUSH2 0x564 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 PUSH2 0x577 SWAP2 SWAP1 PUSH2 0xF6F JUMP JUMPDEST SWAP3 POP DUP7 DUP4 GT ISZERO PUSH2 0x59A JUMPI PUSH1 0x40 MLOAD PUSH4 0xCC9BAF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD68B4C36 DUP11 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x5BB JUMPI PUSH2 0x5BB PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP14 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5EA SWAP3 SWAP2 SWAP1 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x607 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x62B SWAP2 SWAP1 PUSH2 0xF82 JUMP JUMPDEST PUSH2 0x665 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x641 JUMPI PUSH2 0x641 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH4 0x25C53919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4CA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH2 0x6A3 DUP6 DUP13 DUP12 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x67C JUMPI PUSH2 0x67C PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP12 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x696 JUMPI PUSH2 0x696 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0xA3E JUMP JUMPDEST PUSH2 0x6AD SWAP1 DUP4 PUSH2 0xF6F JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP6 PUSH1 0x1 ADD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x6 ADD PUSH1 0x0 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP12 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x700 JUMPI PUSH2 0x700 PUSH2 0xF2A JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 DUP1 PUSH2 0x738 SWAP1 PUSH2 0xF56 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x4D9 JUMP JUMPDEST POP DUP4 PUSH1 0x2 ADD SLOAD DUP3 LT ISZERO PUSH2 0x776 JUMPI PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x742F62C3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x799 SWAP1 DUP5 SWAP1 PUSH2 0xF6F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 DUP6 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x7C1 SWAP1 DUP5 SWAP1 PUSH2 0xF6F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 DUP6 DUP2 ADD PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP16 AND DUP7 MSTORE PUSH1 0x4 DUP2 ADD DUP4 MSTORE SWAP1 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE DUP14 DUP5 MSTORE MSTORE PUSH1 0x5 ADD DUP1 SLOAD SWAP2 PUSH2 0x80E DUP4 PUSH2 0xF56 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP6 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x857 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP6 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xBD5D1827 DUP12 DUP14 DUP13 DUP11 DUP10 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8AF SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xFA4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8F0 SWAP2 SWAP1 PUSH2 0x1017 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2710 PUSH2 0x901 DUP4 DUP7 PUSH2 0x1030 JUMP JUMPDEST PUSH2 0x90B SWAP2 SWAP1 PUSH2 0x105D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x918 DUP3 PUSH2 0xB04 JUMP JUMPDEST PUSH1 0x2 DUP8 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x2F18339D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP12 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP16 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP7 SWAP1 MSTORE PUSH1 0x64 DUP3 ADD DUP5 SWAP1 MSTORE SWAP3 SWAP4 POP SWAP2 AND SWAP1 PUSH4 0x2F18339D SWAP1 PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x978 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x98C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP13 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xE2D0D542AF9CDD3E0EF4ACE292FC5E9DD654164E63920EA9B58C435492AF84E2 DUP14 DUP14 PUSH1 0x40 MLOAD PUSH2 0x9CC SWAP3 SWAP2 SWAP1 PUSH2 0x107F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x9EE PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA10 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x2 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH32 0xA760C041D4A9FA3A2C67D0D325F3592BA2C7E4330F7BA2283EBF9FE63913D500 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 DUP1 DUP7 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP7 DUP6 MSTORE SWAP1 SWAP3 ADD SWAP1 MSTORE DUP2 KECCAK256 SLOAD DUP2 PUSH8 0xDE0B6B3A7640000 DUP5 GT PUSH2 0xA80 JUMPI PUSH2 0xA7B PUSH4 0x3B9ACA00 DUP6 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xA89 JUMP JUMPDEST PUSH2 0xA89 DUP5 PUSH2 0xB04 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xA97 DUP3 DUP5 PUSH2 0xF6F JUMP JUMPDEST SWAP1 POP PUSH2 0xAA3 DUP4 DUP1 PUSH2 0x1030 JUMP JUMPDEST PUSH2 0xAAD DUP3 DUP1 PUSH2 0x1030 JUMP JUMPDEST PUSH2 0xAB7 SWAP2 SWAP1 PUSH2 0x10FA JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x1 DUP11 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP12 DUP6 MSTORE SWAP3 DUP4 ADD DUP3 MSTORE DUP1 DUP5 KECCAK256 DUP7 SWAP1 SSTORE SWAP2 SWAP1 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP7 POP DUP8 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0xAF3 SWAP1 DUP5 SWAP1 PUSH2 0xF6F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xB16 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0xB23 DUP5 PUSH2 0xBF3 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB3C JUMPI PUSH2 0xB3C PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB54 JUMPI PUSH2 0xB54 PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB6C JUMPI PUSH2 0xB6C PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB84 JUMPI PUSH2 0xB84 PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xB9C JUMPI PUSH2 0xB9C PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xBB4 JUMPI PUSH2 0xBB4 PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0xBCC JUMPI PUSH2 0xBCC PUSH2 0x1047 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0xBEC DUP2 DUP3 DUP6 DUP2 PUSH2 0xBE6 JUMPI PUSH2 0xBE6 PUSH2 0x1047 JUMP JUMPDEST DIV PUSH2 0xC87 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0xC08 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0xC1A JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0xC2C JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0xC3E JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0xC50 JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0xC62 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0xC74 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x2D1 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0xC96 JUMPI DUP2 PUSH2 0xBEC JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xCCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xCE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH2 0xCF7 PUSH1 0x20 DUP6 ADD PUSH2 0xCB6 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xD2A PUSH1 0x20 DUP5 ADD PUSH2 0xCB6 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBEC DUP3 PUSH2 0xCB6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xDAE JUMPI PUSH2 0xDAE PUSH2 0xD70 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0xDCF JUMPI PUSH2 0xDCF PUSH2 0xD70 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xDEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0xDFF PUSH2 0xDFA DUP4 PUSH2 0xDB6 JUMP JUMPDEST PUSH2 0xD86 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0xE1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0xE39 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0xE22 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0xE5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 PUSH2 0xE6E DUP2 DUP10 ADD PUSH2 0xCB6 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0xE8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP11 ADD SWAP2 POP DUP11 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xEAC PUSH2 0xDFA DUP3 PUSH2 0xDB6 JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP14 DUP4 GT ISZERO PUSH2 0xECB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0xEE9 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0xED0 JUMP JUMPDEST SWAP9 POP POP POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0xF01 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0xF0F DUP10 DUP3 DUP11 ADD PUSH2 0xDD9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0xF68 JUMPI PUSH2 0xF68 PUSH2 0xF40 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x2D1 JUMPI PUSH2 0x2D1 PUSH2 0xF40 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 SWAP1 MSTORE PUSH1 0xA0 PUSH1 0x40 DUP5 ADD DUP2 SWAP1 MSTORE DUP7 MLOAD SWAP1 DUP5 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP3 DUP8 DUP4 ADD SWAP3 SWAP1 SWAP2 PUSH1 0xC0 DUP7 ADD SWAP1 DUP6 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xFF6 JUMPI DUP6 MLOAD DUP4 MSTORE SWAP5 DUP4 ADD SWAP5 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xFDA JUMP JUMPDEST POP POP DUP1 SWAP5 POP POP POP DUP6 PUSH1 0x60 DUP6 ADD MSTORE DUP1 DUP6 AND PUSH1 0x80 DUP6 ADD MSTORE POP POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1029 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x2D1 JUMPI PUSH2 0x2D1 PUSH2 0xF40 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x107A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 DUP3 MSTORE DUP4 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0x60 DUP5 ADD SWAP1 DUP3 DUP8 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x10B8 JUMPI DUP2 MLOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x109C JUMP JUMPDEST POP POP POP DUP4 DUP2 SUB DUP3 DUP6 ADD MSTORE DUP5 MLOAD DUP1 DUP3 MSTORE DUP6 DUP4 ADD SWAP2 DUP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x10ED JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x10D1 JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x2D1 JUMPI PUSH2 0x2D1 PUSH2 0xF40 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 PREVRANDAO LT PUSH25 0x4D659E9FC21D684AD52A466D09B8528F72EB48873EB7678E90 NOT SHL DUP10 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"595:12340:143:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3190:262;;;;;;:::i;:::-;;:::i;:::-;;;353:25:150;;;341:2;326:18;3190:262:143;;;;;;;;5483:314;;;;;;:::i;:::-;;:::i;:::-;;;1067:14:150;;1060:22;1042:41;;1030:2;1015:18;5483:314:143;894:195:150;4202:275:143;;;;;;:::i;:::-;;:::i;3870:264::-;;;;;;:::i;:::-;;:::i;2456:284::-;;;;;;:::i;:::-;;:::i;2140:236::-;;;:::i;12659:274::-;;;;;;;;;;-1:-1:-1;12659:274:143;;;;;:::i;:::-;;:::i;:::-;;4990:298;;;;;;:::i;:::-;;:::i;1728:324::-;;;;;;;;;;-1:-1:-1;1728:324:143;;;;;:::i;:::-;;:::i;4560:246::-;;;;;;:::i;:::-;;:::i;2838:288::-;;;;;;:::i;:::-;;:::i;7093:3474::-;;;;;;;;;;-1:-1:-1;7093:3474:143;;;;;:::i;:::-;;:::i;3534:266::-;;;;;;:::i;:::-;;:::i;1310:244::-;;;;;;;;;;-1:-1:-1;1310:244:143;;;;;:::i;:::-;;:::i;3190:262::-;3250:7;3265:65;3333:68;:66;:68::i;:::-;3414:22;;;;:13;;:22;;-1:-1:-1;;3414:22:143;;;:33;;;;3190:262::o;5483:314::-;5580:4;5592:65;5660:68;:66;:68::i;:::-;5741:22;;;;:13;;:22;;;;;;;;-1:-1:-1;;;;;5741:44:143;;;;;;:38;;;;:44;;;;;:51;;;;;;;-1:-1:-1;;5741:51:143;;;;;;5483:314::o;4202:275::-;4274:4;4286:65;4354:68;:66;:68::i;:::-;4435:22;;;;:13;;;;:22;;;;;;;;-1:-1:-1;;;;;4435:37:143;;;;:31;;:37;;;;;;;;;-1:-1:-1;;4202:275:143;;;;;:::o;3870:264::-;3931:7;3946:65;4014:68;:66;:68::i;:::-;4095:22;;;;:13;;:22;;-1:-1:-1;;4095:22:143;;;:34;;;;3870:264::o;2456:284::-;2530:7;2545:65;2613:68;:66;:68::i;:::-;2694:22;;;;:13;;:22;;;;;;;;:41;;;;;;-1:-1:-1;;2694:41:143;;;;2456:284::o;2140:236::-;2190:7;2205:65;2273:68;:66;:68::i;:::-;2354:17;;;;2140:236;-1:-1:-1;;2140:236:143:o;12659:274::-;12740:65;12808:68;:66;:68::i;:::-;12882:32;;;;:23;;:32;;;;;;;;-1:-1:-1;;;;;12882:39:143;;;;;;;;-1:-1:-1;12882:39:143;;:46;;-1:-1:-1;;12882:46:143;12924:4;12882:46;;;12659:274::o;4990:298::-;5074:4;5086:65;5154:68;:66;:68::i;:::-;5250:22;;;;:13;;:22;;-1:-1:-1;;5250:22:143;;;;:33;;;-1:-1:-1;5235:48:143;;4990:298::o;1728:324::-;1799:65;1867:68;:66;:68::i;:::-;1965:17;;;;1946:57;;;4915:25:150;;;4971:2;4956:18;;4949:34;;;1799:136:143;;-1:-1:-1;1946:57:143;;4888:18:150;1946:57:143;;;;;;;2009:17;;:38;1728:324::o;4560:246::-;4619:4;4631:65;4699:68;:66;:68::i;:::-;-1:-1:-1;;;;;4780:21:143;;;:15;:21;;;;;;;;-1:-1:-1;;4780:21:143;;;;;;;4560:246::o;2838:288::-;2914:7;2929:65;2997:68;:66;:68::i;:::-;3078:22;;;;:13;;;;:22;;;;;;;;:43;;;:38;;;;:43;;-1:-1:-1;;3078:43:143;;;;2838:288::o;7093:3474::-;7287:65;7355:68;:66;:68::i;:::-;7429:72;7637:22;;;:13;;;:22;;;;;;;;-1:-1:-1;;;;;7637:38:143;;;;:31;;:38;;;;;;7287:136;;-1:-1:-1;7283:32:149;;7637:38:143;;7633:123;;;7692:57;;-1:-1:-1;;;7692:57:143;;-1:-1:-1;;;;;5158:32:150;;7692:57:143;;;5140:51:150;5113:18;;7692:57:143;;;;;;;;7633:123;7821:19;7931:30;8074:9;8069:892;8089:4;:11;8085:1;:15;8069:892;;;8197:9;8192:118;8212:1;8208;:5;8192:118;;;8245:4;8250:1;8245:7;;;;;;;;:::i;:::-;;;;;;;8234:4;8239:1;8234:7;;;;;;;;:::i;:::-;;;;;;;:18;8230:72;;8273:18;;-1:-1:-1;;;8273:18:143;;;;;;;;;;;8230:72;8215:3;;;;:::i;:::-;;;;8192:118;;;;8333:7;8341:1;8333:10;;;;;;;;:::i;:::-;;;;;;;8318:25;;;;;:::i;:::-;;;8370:21;8356:11;:35;8352:127;;;8410:60;;-1:-1:-1;;;8410:60:143;;;;;;;;;;;8352:127;8596:4;-1:-1:-1;;;;;8561:59:143;;8621:4;8626:1;8621:7;;;;;;;;:::i;:::-;;;;;;;8630;8561:77;;;;;;;;;;;;;;;4915:25:150;;;4971:2;4956:18;;4949:34;4903:2;4888:18;;4741:248;8561:77:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8556:178;;8717:4;8722:1;8717:7;;;;;;;;:::i;:::-;;;;;;;8657:68;;-1:-1:-1;;;8657:68:143;;;;;;353:25:150;;341:2;326:18;;199:185;8556:178:143;8768:48;8784:1;8787:7;8796:4;8801:1;8796:7;;;;;;;;:::i;:::-;;;;;;;8805;8813:1;8805:10;;;;;;;;:::i;:::-;;;;;;;8768:15;:48::i;:::-;8742:74;;;;:::i;:::-;;;8950:4;8893:1;:13;;:22;8907:7;8893:22;;;;;;;;;;;:38;;:45;8932:5;-1:-1:-1;;;;;8893:45:143;-1:-1:-1;;;;;8893:45:143;;;;;;;;;;;;:54;8939:4;8944:1;8939:7;;;;;;;;:::i;:::-;;;;;;;8893:54;;;;;;;;;;;;:61;;;;;;;;;;;;;;;;;;8102:3;;;;;:::i;:::-;;;;8069:892;;;;9082:1;:17;;;9068:11;:31;9064:147;;;9173:17;;;;9116:88;;-1:-1:-1;;;9116:88:143;;;;;4915:25:150;;;;4956:18;;;4949:34;;;4888:18;;9116:88:143;4741:248:150;9064:147:143;9456:22;;;;:13;;;:22;;;;;:35;;:61;;9495:22;;9456;:61;;9495:22;;9456:61;:::i;:::-;;;;-1:-1:-1;;9549:22:143;;;;:13;;;:22;;;;;:33;;:48;;9586:11;;9549:22;:48;;9586:11;;9549:48;:::i;:::-;;;;-1:-1:-1;;9641:22:143;;;;9682:4;9641:13;;;:22;;;;;;;;-1:-1:-1;;;;;9641:38:143;;;;:31;;;:38;;;;;:45;;-1:-1:-1;;9641:45:143;;;;;;;9736:22;;;;:34;;:36;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;9836:22:143;;:15;:22;;;;;;;;;;;;;9831:73;;-1:-1:-1;;;;;9868:22:143;;:15;:22;;;;;;;;;;:29;;-1:-1:-1;;9868:29:143;9893:4;9868:29;;;9831:73;9999:27;10029:14;:37;10074:5;10087:7;10102:4;10114:10;10140:9;:23;;;;;;;;;;-1:-1:-1;;;;;10140:23:143;10029:141;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9999:171;-1:-1:-1;10176:20:143;10237:5;10200:33;9999:171;10200:11;:33;:::i;:::-;10199:43;;;;:::i;:::-;10176:66;;10248:18;10269:23;10279:12;10269:9;:23::i;:::-;10379;;;;:81;;-1:-1:-1;;;10379:81:143;;;;;8389:25:150;;;-1:-1:-1;;;;;8450:32:150;;;8430:18;;;8423:60;8499:18;;;8492:34;;;8542:18;;;8535:34;;;10248:44:143;;-1:-1:-1;10379:23:143;;;:36;;8361:19:150;;10379:81:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10539:7;10532:5;-1:-1:-1;;;;;10513:49:143;;10548:4;10554:7;10513:49;;;;;;;:::i;:::-;;;;;;;;7281:3286;;;;;;;7093:3474;;;;;;:::o;3534:266::-;3596:7;3611:65;3679:68;:66;:68::i;:::-;3760:22;;;;:13;;:22;;-1:-1:-1;;3760:22:143;;;:35;;;;3534:266::o;1310:244::-;1371:65;1439:68;:66;:68::i;:::-;1513:17;;:36;;;;-1:-1:-1;1310:244:143:o;6451:177:149:-;6585:33;;6451:177::o;10662:1466:143:-;10839:20;11060:22;;;:13;;;;:22;;;;;;;;:45;;;:38;;;:45;;;;;10839:20;11355:4;11346:13;;:48;;11382:12;11391:3;11382:6;:12;:::i;:::-;11346:48;;;11362:17;11372:6;11362:9;:17::i;:::-;11325:69;-1:-1:-1;11493:26:143;11522:30;11325:69;11522:17;:30;:::i;:::-;11493:59;-1:-1:-1;11787:37:143;11807:17;;11787:37;:::i;:::-;11743:39;11764:18;;11743:39;:::i;:::-;11742:83;;;;:::i;:::-;11947:22;;;;:13;;;;:22;;;;;;;;:45;;;:38;;;:45;;;;;:66;;;12070:43;;;;;:53;;11727:98;;-1:-1:-1;12117:6:143;;12070:43;;11947:22;12070:53;;12117:6;;12070:53;:::i;:::-;;;;-1:-1:-1;10662:1466:143;;;-1:-1:-1;;;;;;;;10662:1466:143:o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;:::-;10182:30;8587:1642;-1:-1:-1;;;8587:1642:36:o;10699:983::-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;14:180:150:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:150;;14:180;-1:-1:-1;14:180:150:o;389:173::-;457:20;;-1:-1:-1;;;;;506:31:150;;496:42;;486:70;;552:1;549;542:12;486:70;389:173;;;:::o;567:322::-;644:6;652;660;713:2;701:9;692:7;688:23;684:32;681:52;;;729:1;726;719:12;681:52;765:9;752:23;742:33;;794:38;828:2;817:9;813:18;794:38;:::i;:::-;784:48;;879:2;868:9;864:18;851:32;841:42;;567:322;;;;;:::o;1094:254::-;1162:6;1170;1223:2;1211:9;1202:7;1198:23;1194:32;1191:52;;;1239:1;1236;1229:12;1191:52;1275:9;1262:23;1252:33;;1304:38;1338:2;1327:9;1323:18;1304:38;:::i;:::-;1294:48;;1094:254;;;;;:::o;1353:248::-;1421:6;1429;1482:2;1470:9;1461:7;1457:23;1453:32;1450:52;;;1498:1;1495;1488:12;1450:52;-1:-1:-1;;1521:23:150;;;1591:2;1576:18;;;1563:32;;-1:-1:-1;1353:248:150:o;1859:186::-;1918:6;1971:2;1959:9;1950:7;1946:23;1942:32;1939:52;;;1987:1;1984;1977:12;1939:52;2010:29;2029:9;2010:29;:::i;2050:127::-;2111:10;2106:3;2102:20;2099:1;2092:31;2142:4;2139:1;2132:15;2166:4;2163:1;2156:15;2182:275;2253:2;2247:9;2318:2;2299:13;;-1:-1:-1;;2295:27:150;2283:40;;-1:-1:-1;;;;;2338:34:150;;2374:22;;;2335:62;2332:88;;;2400:18;;:::i;:::-;2436:2;2429:22;2182:275;;-1:-1:-1;2182:275:150:o;2462:183::-;2522:4;-1:-1:-1;;;;;2544:30:150;;2541:56;;;2577:18;;:::i;:::-;-1:-1:-1;2622:1:150;2618:14;2634:4;2614:25;;2462:183::o;2650:662::-;2704:5;2757:3;2750:4;2742:6;2738:17;2734:27;2724:55;;2775:1;2772;2765:12;2724:55;2811:6;2798:20;2837:4;2861:60;2877:43;2917:2;2877:43;:::i;:::-;2861:60;:::i;:::-;2955:15;;;3041:1;3037:10;;;;3025:23;;3021:32;;;2986:12;;;;3065:15;;;3062:35;;;3093:1;3090;3083:12;3062:35;3129:2;3121:6;3117:15;3141:142;3157:6;3152:3;3149:15;3141:142;;;3223:17;;3211:30;;3261:12;;;;3174;;3141:142;;;-1:-1:-1;3301:5:150;2650:662;-1:-1:-1;;;;;;2650:662:150:o;3317:1419::-;3471:6;3479;3487;3495;3503;3511;3564:3;3552:9;3543:7;3539:23;3535:33;3532:53;;;3581:1;3578;3571:12;3532:53;3617:9;3604:23;3594:33;;3646:2;3667:38;3701:2;3690:9;3686:18;3667:38;:::i;:::-;3657:48;-1:-1:-1;3756:2:150;3741:18;;3728:32;-1:-1:-1;;;;;3809:14:150;;;3806:34;;;3836:1;3833;3826:12;3806:34;3874:6;3863:9;3859:22;3849:32;;3919:7;3912:4;3908:2;3904:13;3900:27;3890:55;;3941:1;3938;3931:12;3890:55;3977:2;3964:16;4000:60;4016:43;4056:2;4016:43;:::i;4000:60::-;4094:15;;;4176:1;4172:10;;;;4164:19;;4160:28;;;4125:12;;;;4200:19;;;4197:39;;;4232:1;4229;4222:12;4197:39;4256:11;;;;4276:142;4292:6;4287:3;4284:15;4276:142;;;4358:17;;4346:30;;4309:12;;;;4396;;;;4276:142;;;4437:5;-1:-1:-1;;;4495:2:150;4480:18;;4467:32;;-1:-1:-1;4511:16:150;;;4508:36;;;4540:1;4537;4530:12;4508:36;;;4563:63;4618:7;4607:8;4596:9;4592:24;4563:63;:::i;:::-;4553:73;;;4673:3;4662:9;4658:19;4645:33;4635:43;;4725:3;4714:9;4710:19;4697:33;4687:43;;3317:1419;;;;;;;;:::o;5202:127::-;5263:10;5258:3;5254:20;5251:1;5244:31;5294:4;5291:1;5284:15;5318:4;5315:1;5308:15;5334:127;5395:10;5390:3;5386:20;5383:1;5376:31;5426:4;5423:1;5416:15;5450:4;5447:1;5440:15;5466:135;5505:3;5526:17;;;5523:43;;5546:18;;:::i;:::-;-1:-1:-1;5593:1:150;5582:13;;5466:135::o;5606:125::-;5671:9;;;5692:10;;;5689:36;;;5705:18;;:::i;5989:277::-;6056:6;6109:2;6097:9;6088:7;6084:23;6080:32;6077:52;;;6125:1;6122;6115:12;6077:52;6157:9;6151:16;6210:5;6203:13;6196:21;6189:5;6186:32;6176:60;;6232:1;6229;6222:12;6453:984;-1:-1:-1;;;;;6832:15:150;;;6814:34;;6867:2;6885:18;;;6878:34;;;6763:3;6943:2;6928:18;;6921:31;;;7001:13;;6748:19;;;7023:22;;;6715:4;;7103:15;;;;6786:19;;7076:3;7061:19;;;6715:4;7146:169;7160:6;7157:1;7154:13;7146:169;;;7221:13;;7209:26;;7290:15;;;;7255:12;;;;7182:1;7175:9;7146:169;;;7150:3;;7332;7324:11;;;;7371:6;7366:2;7355:9;7351:18;7344:34;7427:2;7419:6;7415:15;7409:3;7398:9;7394:19;7387:44;;;6453:984;;;;;;;;:::o;7442:184::-;7512:6;7565:2;7553:9;7544:7;7540:23;7536:32;7533:52;;;7581:1;7578;7571:12;7533:52;-1:-1:-1;7604:16:150;;7442:184;-1:-1:-1;7442:184:150:o;7631:168::-;7704:9;;;7735;;7752:15;;;7746:22;;7732:37;7722:71;;7773:18;;:::i;7804:127::-;7865:10;7860:3;7856:20;7853:1;7846:31;7896:4;7893:1;7886:15;7920:4;7917:1;7910:15;7936:217;7976:1;8002;7992:132;;8046:10;8041:3;8037:20;8034:1;8027:31;8081:4;8078:1;8071:15;8109:4;8106:1;8099:15;7992:132;-1:-1:-1;8138:9:150;;7936:217::o;8580:1152::-;8848:2;8860:21;;;8930:13;;8833:18;;;8952:22;;;8800:4;;9027;;9005:2;8990:18;;;9054:15;;;8800:4;9097:169;9111:6;9108:1;9105:13;9097:169;;;9172:13;;9160:26;;9206:12;;;;9241:15;;;;9133:1;9126:9;9097:169;;;-1:-1:-1;;;9302:19:150;;;9282:18;;;9275:47;9372:13;;9394:21;;;9470:15;;;;9433:12;;;9505:1;9515:189;9531:8;9526:3;9523:17;9515:189;;;9600:15;;9586:30;;9677:17;;;;9638:14;;;;9559:1;9550:11;9515:189;;;-1:-1:-1;9721:5:150;;8580:1152;-1:-1:-1;;;;;;;8580:1152:150:o;9737:128::-;9804:9;;;9825:11;;;9822:37;;;9839:18;;:::i"},"methodIdentifiers":{"countVote(uint256,address,bytes32[],uint256[],uint256,uint256)":"cdc6ac0c","getAppVotes(uint256,bytes32)":"4bb5181a","getAppVotesQF(uint256,bytes32)":"bed73010","hasUserVotedForApp(uint256,address,bytes32)":"42707a43","hasVoted(uint256,address)":"43859632","hasVotedOnce(address)":"9aeb962b","initialize(uint256)":"fe4b84df","markRelayerVoteProcessed(uint256,address)":"6eafa5f6","quorumReached(uint256,uint256)":"754ba25d","setVotingThreshold(uint256)":"836761e0","totalVoters(uint256)":"498d91bf","totalVotes(uint256)":"19e6e158","totalVotesQF(uint256)":"fb03ec6f","voteSucceeded(uint256,uint256)":"adf86523","votingThreshold()":"62827733"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DuplicateAppVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"GovernorAppNotAvailableForVoting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInsufficientVotingPower\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"}],\"name\":\"GovernorVotingThresholdNotMet\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"voteWeights\",\"type\":\"uint256[]\"}],\"name\":\"AllocationVoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingThreshold\",\"type\":\"uint256\"}],\"name\":\"VotingThresholdSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"app\",\"type\":\"bytes32\"}],\"name\":\"getAppVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"appId\",\"type\":\"bytes32\"}],\"name\":\"hasUserVotedForApp\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasVotedOnce\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumValue\",\"type\":\"uint256\"}],\"name\":\"quorumReached\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"totalVotesQF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumValue\",\"type\":\"uint256\"}],\"name\":\"voteSucceeded\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extracted from RoundVotesCountingUpgradeable module. Uses ERC-7201 namespaced storage.\",\"errors\":{\"DuplicateAppVote()\":[{\"details\":\"Error thrown when trying to vote for the same app multiple times in one transaction\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAppNotAvailableForVoting(bytes32)\":[{\"details\":\"The `appId` is not present in the list with the available x-apps for voting in this round.\"}],\"GovernorInsufficientVotingPower()\":[{\"details\":\"The `voter` has insufficient voting power for this round to cast the votes.\"}],\"GovernorVotingThresholdNotMet(uint256,uint256)\":[{\"details\":\"The `votingThreshold` is not met.\"}]},\"kind\":\"dev\",\"methods\":{\"countVote(uint256,address,bytes32[],uint256[],uint256,uint256)\":{\"details\":\"Allows a voter to allocate weights to various apps for a specific voting round. Each voter can only vote once per round. Quadratic funding calculates the impact of each vote by computing the square root of each individual vote weight and aggregating them.\",\"params\":{\"apps\":\"An array of app identifiers that the voter is allocating votes to\",\"roundId\":\"The identifier of the current voting round\",\"roundStart\":\"The block number when the round started (used for reward registration)\",\"voter\":\"The address of the voter casting the votes\",\"voterTotalVotingPower\":\"The total voting power available to the voter\",\"weights\":\"An array of vote weights corresponding to each app\"}},\"hasUserVotedForApp(uint256,address,bytes32)\":{\"params\":{\"appId\":\"The app to check\",\"roundId\":\"The round to query\",\"user\":\"The voter address\"}},\"initialize(uint256)\":{\"params\":{\"votingThreshold_\":\"The initial minimum number of tokens needed to cast a vote\"}},\"quorumReached(uint256,uint256)\":{\"params\":{\"quorumValue\":\"The quorum threshold (caller must provide)\",\"roundId\":\"The round to check\"}},\"setVotingThreshold(uint256)\":{\"params\":{\"newVotingThreshold\":\"The new minimum number of tokens needed to cast a vote\"}},\"voteSucceeded(uint256,uint256)\":{\"details\":\"Vote is successful if quorum is reached\"}},\"title\":\"RoundVotesCountingUtils\",\"version\":1},\"userdoc\":{\"events\":{\"AllocationVoteCast(address,uint256,bytes32[],uint256[])\":{\"notice\":\"Emitted when a vote is cast\"},\"VotingThresholdSet(uint256,uint256)\":{\"notice\":\"Emitted when the voting threshold is updated\"}},\"kind\":\"user\",\"methods\":{\"countVote(uint256,address,bytes32[],uint256[],uint256,uint256)\":{\"notice\":\"Counts votes for a given round, applying quadratic funding principles.\"},\"getAppVotes(uint256,bytes32)\":{\"notice\":\"Returns the votes received by a specific app in a given round\"},\"getAppVotesQF(uint256,bytes32)\":{\"notice\":\"Returns the quadratic funding votes received by a specific app in a given round\"},\"hasUserVotedForApp(uint256,address,bytes32)\":{\"notice\":\"Returns whether a user voted for a specific app in a given round\"},\"hasVoted(uint256,address)\":{\"notice\":\"Returns whether a user has voted in a given round\"},\"hasVotedOnce(address)\":{\"notice\":\"Returns whether a user has voted at least once across all rounds\"},\"initialize(uint256)\":{\"notice\":\"Initializes the voting threshold\"},\"markRelayerVoteProcessed(uint256,address)\":{\"notice\":\"Mark a relayer-mediated vote as processed for a voter in a round\"},\"quorumReached(uint256,uint256)\":{\"notice\":\"Returns whether quorum has been reached for a given round\"},\"setVotingThreshold(uint256)\":{\"notice\":\"Sets the voting threshold\"},\"totalVoters(uint256)\":{\"notice\":\"Returns the total number of voters in a given round\"},\"totalVotes(uint256)\":{\"notice\":\"Returns the total votes cast in a given round\"},\"totalVotesQF(uint256)\":{\"notice\":\"Returns the total quadratic funding votes cast in a given round\"},\"voteSucceeded(uint256,uint256)\":{\"notice\":\"Returns whether the vote succeeded (totalVotes > 0)\"},\"votingThreshold()\":{\"notice\":\"Returns the current voting threshold\"}},\"notice\":\"Library for vote counting with quadratic funding math in the XAllocationVoting system.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol\":\"RoundVotesCountingUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol\":{\"keccak256\":\"0x191c83ec4ca9c8e02ca42f70b631525bdb33d38adcf6801af001ee4184f6c7b7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2445c25e52ab4ae91c2f44479f47360bfafec5f059b02e4c6221912524cfb2a8\",\"dweb:/ipfs/QmWTL9CqoAQVHLX4mk7SqYZGMX1wP2baia11xV5RwYVJt5\"]},\"contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol\":{\"keccak256\":\"0xa311d512471dc9993a86fd315d81d98f93e01fb32bdfaa5548be27d1ca1d9ba2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2517b1ff30ebad7930c0d9f00bc76c9ed88fd02ea7099fa338f53e6ba8ac1383\",\"dweb:/ipfs/QmPkdZd4TMpSam2uHFZ9xQwzksm6cU7NVZeQixGAZrxkD5\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol":{"RoundsStorageUtils":{"abi":[{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"uint256","name":"voteStart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"voteEnd","type":"uint256"},{"indexed":false,"internalType":"bytes32[]","name":"appsIds","type":"bytes32[]"}],"name":"RoundCreated","type":"event"},{"inputs":[],"name":"currentRoundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRoundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppIdsOfRound","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAppsOfRound","outputs":[{"components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"address","name":"teamWalletAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"metadataURI","type":"string"},{"internalType":"uint256","name":"createdAtTimestamp","type":"uint256"},{"internalType":"bool","name":"appAvailableForAllocationVoting","type":"bool"}],"internalType":"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getRound","outputs":[{"components":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint48","name":"voteStart","type":"uint48"},{"internalType":"uint32","name":"voteDuration","type":"uint32"}],"internalType":"struct XAllocationVotingStorageTypes.RoundCore","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundProposer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"roundSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"610d0c61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100985760003560e01c8063291605f71461009d5780635320a147146100c6578063561b64ef146100f157806359372812146101075780637ace24851461010f5780637ad59a231461012f5780638f1327c01461014f5780639cbe5efd1461019b578063d06efeda146101a3578063d3a368bd146101b6575b600080fd5b6100b06100ab3660046107d3565b6101c9565b6040516100bd919061083c565b60405180910390f35b6100d96100d43660046107d3565b6103d0565b6040516001600160a01b0390911681526020016100bd565b6100f96103f9565b6040519081526020016100bd565b6100f961042d565b61012261011d3660046107d3565b61047c565b6040516100bd91906108f9565b81801561013b57600080fd5b506100f961014a3660046109c3565b6104ef565b61016261015d3660046107d3565b610610565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff16908201526060016100bd565b6100f9610690565b6100f96101b13660046107d3565b6106a2565b6100f96101c43660046107d3565b6106d1565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00546060906001600160a01b0316600061020161071d565b600085815260028201602090815260408083208054825181850281018501909352808352949550929390929183018282801561025c57602002820191906000526020600020905b815481526020019060010190808311610248575b505050505090506000815190506000816001600160401b0381111561028357610283610955565b6040519080825280602002602001820160405280156102fb57816020015b6102e86040518060c001604052806000801916815260200160006001600160a01b031681526020016060815260200160608152602001600081526020016000151581525090565b8152602001906001900390816102a15790505b50905060005b828110156103c557856001600160a01b031663785d6e1885838151811061032a5761032a610ab4565b60200260200101516040518263ffffffff1660e01b815260040161035091815260200190565b600060405180830381865afa15801561036d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103959190810190610b55565b8282815181106103a7576103a7610ab4565b602002602001018190525080806103bd90610c31565b915050610301565b509695505050505050565b6000806103db61071d565b6000938452600101602052505060409020546001600160a01b031690565b60008061040461071d565b8054600090815260019091016020526040902054600160a01b900465ffffffffffff1692915050565b60008061043861071d565b805460008181526001830160205260409020549192509061047590600160d01b810463ffffffff1690600160a01b900465ffffffffffff16610c4a565b9250505090565b6060600061048861071d565b600084815260028201602090815260409182902080548351818402810184019094528084529394509192908301828280156104e257602002820191906000526020600020905b8154815260200190600101908083116104ce575b5050505050915050919050565b6000806104fa61071d565b9050806000016000815461050d90610c31565b9091555080546000818152600183016020526040902080546001600160a01b0319166001600160a01b03891617815590925061055065ffffffffffff8716610741565b8154600160a01b600160f01b031916600160a01b65ffffffffffff929092169190910263ffffffff60d01b191617600160d01b63ffffffff8716021781556000838152600283016020908152604090912085516105af9287019061077c565b507fed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c88388886105ec63ffffffff8a1665ffffffffffff8316610c4a565b886040516105fe959493929190610c63565b60405180910390a15050949350505050565b604080516060810182526000808252602082018190529181018290529061063561071d565b60009384526001016020908152604093849020845160608101865290546001600160a01b0381168252600160a01b810465ffffffffffff1692820192909252600160d01b90910463ffffffff16938101939093525090919050565b60008061069b61071d565b5492915050565b6000806106ad61071d565b600093845260010160205250506040902054600160a01b900465ffffffffffff1690565b6000806106dc61071d565b600084815260018201602052604090205490915061071690600160d01b810463ffffffff1690600160a01b900465ffffffffffff16610c4a565b9392505050565b7f0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f190090565b600065ffffffffffff821115610778576040516306dfcc6560e41b8152603060048201526024810183905260440160405180910390fd5b5090565b8280548282559060005260206000209081019282156107b7579160200282015b828111156107b757825182559160200191906001019061079c565b506107789291505b8082111561077857600081556001016107bf565b6000602082840312156107e557600080fd5b5035919050565b60005b838110156108075781810151838201526020016107ef565b50506000910152565b600081518084526108288160208601602086016107ec565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156108eb57888303603f19018552815180518452878101516001600160a01b0316888501528681015160c0888601819052906108a482870182610810565b915050606080830151868303828801526108be8382610810565b6080858101519089015260a094850151151594909701939093525050509386019390860190600101610863565b509098975050505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561093157835183529284019291840191600101610915565b50909695505050505050565b6001600160a01b038116811461095257600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561098d5761098d610955565b60405290565b604051601f8201601f191681016001600160401b03811182821017156109bb576109bb610955565b604052919050565b600080600080608085870312156109d957600080fd5b84356109e48161093d565b935060208581013565ffffffffffff81168114610a0057600080fd5b9350604086013563ffffffff81168114610a1957600080fd5b925060608601356001600160401b0380821115610a3557600080fd5b818801915088601f830112610a4957600080fd5b813581811115610a5b57610a5b610955565b8060051b9150610a6c848301610993565b818152918301840191848101908b841115610a8657600080fd5b938501935b83851015610aa457843582529385019390850190610a8b565b989b979a50959850505050505050565b634e487b7160e01b600052603260045260246000fd5b8051610ad58161093d565b919050565b600082601f830112610aeb57600080fd5b81516001600160401b03811115610b0457610b04610955565b610b17601f8201601f1916602001610993565b818152846020838601011115610b2c57600080fd5b610b3d8260208301602087016107ec565b949350505050565b80518015158114610ad557600080fd5b600060208284031215610b6757600080fd5b81516001600160401b0380821115610b7e57600080fd5b9083019060c08286031215610b9257600080fd5b610b9a61096b565b82518152610baa60208401610aca565b6020820152604083015182811115610bc157600080fd5b610bcd87828601610ada565b604083015250606083015182811115610be557600080fd5b610bf187828601610ada565b60608301525060808301516080820152610c0d60a08401610b45565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201610c4357610c43610c1b565b5060010190565b80820180821115610c5d57610c5d610c1b565b92915050565b600060a08201878352602060018060a01b0388168185015265ffffffffffff8716604085015285606085015260a0608085015281855180845260c086019150828701935060005b81811015610cc657845183529383019391830191600101610caa565b50909a995050505050505050505056fea2646970667358221220c8f15c859171dde97455655c683861ad895af484cc844a3bb8494cb2f715ced064736f6c63430008140033","opcodes":"PUSH2 0xD0C PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x98 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x291605F7 EQ PUSH2 0x9D JUMPI DUP1 PUSH4 0x5320A147 EQ PUSH2 0xC6 JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x107 JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x10F JUMPI DUP1 PUSH4 0x7AD59A23 EQ PUSH2 0x12F JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0x19B JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0x1A3 JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0x1B6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB0 PUSH2 0xAB CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x1C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBD SWAP2 SWAP1 PUSH2 0x83C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD9 PUSH2 0xD4 CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xBD JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x3F9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xBD JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x42D JUMP JUMPDEST PUSH2 0x122 PUSH2 0x11D CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x47C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBD SWAP2 SWAP1 PUSH2 0x8F9 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF9 PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x9C3 JUMP JUMPDEST PUSH2 0x4EF JUMP JUMPDEST PUSH2 0x162 PUSH2 0x15D CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x610 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0xBD JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x690 JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x1B1 CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x6A2 JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x1C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x6D1 JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SLOAD PUSH1 0x60 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 PUSH2 0x201 PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x25C JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x248 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x283 JUMPI PUSH2 0x283 PUSH2 0x955 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2FB JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x2E8 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2A1 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3C5 JUMPI DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x785D6E18 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x32A JUMPI PUSH2 0x32A PUSH2 0xAB4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x350 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x36D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x395 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0xB55 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3A7 JUMPI PUSH2 0x3A7 PUSH2 0xAB4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP1 DUP1 PUSH2 0x3BD SWAP1 PUSH2 0xC31 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x301 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3DB PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x404 PUSH2 0x71D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x438 PUSH2 0x71D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x475 SWAP1 PUSH1 0x1 PUSH1 0xD0 SHL DUP2 DIV PUSH4 0xFFFFFFFF AND SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND PUSH2 0xC4A JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x488 PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE SWAP4 SWAP5 POP SWAP2 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x4E2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x4CE JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4FA PUSH2 0x71D JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 DUP2 SLOAD PUSH2 0x50D SWAP1 PUSH2 0xC31 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP DUP1 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR DUP2 SSTORE SWAP1 SWAP3 POP PUSH2 0x550 PUSH6 0xFFFFFFFFFFFF DUP8 AND PUSH2 0x741 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL PUSH1 0x1 PUSH1 0xF0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0xA0 SHL PUSH6 0xFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL PUSH4 0xFFFFFFFF PUSH1 0xD0 SHL NOT AND OR PUSH1 0x1 PUSH1 0xD0 SHL PUSH4 0xFFFFFFFF DUP8 AND MUL OR DUP2 SSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP6 MLOAD PUSH2 0x5AF SWAP3 DUP8 ADD SWAP1 PUSH2 0x77C JUMP JUMPDEST POP PUSH32 0xED97F3DAA22D7F521CFAC2156E927C837565DD6980BD67CC6F7E53CC52EA09C8 DUP4 DUP9 DUP9 PUSH2 0x5EC PUSH4 0xFFFFFFFF DUP11 AND PUSH6 0xFFFFFFFFFFFF DUP4 AND PUSH2 0xC4A JUMP JUMPDEST DUP9 PUSH1 0x40 MLOAD PUSH2 0x5FE SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC63 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0x635 PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP4 DUP5 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x60 DUP2 ADD DUP7 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xD0 SHL SWAP1 SWAP2 DIV PUSH4 0xFFFFFFFF AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x69B PUSH2 0x71D JUMP JUMPDEST SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6AD PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6DC PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x716 SWAP1 PUSH1 0x1 PUSH1 0xD0 SHL DUP2 DIV PUSH4 0xFFFFFFFF AND SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND PUSH2 0xC4A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0xF5210C47C3BB73C471770A1CBB5B7DDC03C0EC886694CC17AE21D1F595F1900 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x778 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x7B7 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x7B7 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x79C JUMP JUMPDEST POP PUSH2 0x778 SWAP3 SWAP2 POP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x778 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x7BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x807 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x7EF JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x828 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x7EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x8EB JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x8A4 DUP3 DUP8 ADD DUP3 PUSH2 0x810 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x8BE DUP4 DUP3 PUSH2 0x810 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x863 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x931 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x915 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x952 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x98D JUMPI PUSH2 0x98D PUSH2 0x955 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x9BB JUMPI PUSH2 0x9BB PUSH2 0x955 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x9D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x9E4 DUP2 PUSH2 0x93D JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 DUP2 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xA00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xA19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0xA35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xA49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xA5B JUMPI PUSH2 0xA5B PUSH2 0x955 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP2 POP PUSH2 0xA6C DUP5 DUP4 ADD PUSH2 0x993 JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP2 DUP4 ADD DUP5 ADD SWAP2 DUP5 DUP2 ADD SWAP1 DUP12 DUP5 GT ISZERO PUSH2 0xA86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0xAA4 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0xA8B JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH2 0xAD5 DUP2 PUSH2 0x93D JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xAEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xB04 JUMPI PUSH2 0xB04 PUSH2 0x955 JUMP JUMPDEST PUSH2 0xB17 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x993 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0xB2C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB3D DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x7EC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xAD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0xB92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB9A PUSH2 0x96B JUMP JUMPDEST DUP3 MLOAD DUP2 MSTORE PUSH2 0xBAA PUSH1 0x20 DUP5 ADD PUSH2 0xACA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0xBC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBCD DUP8 DUP3 DUP7 ADD PUSH2 0xADA JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0xBE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBF1 DUP8 DUP3 DUP7 ADD PUSH2 0xADA JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0xC0D PUSH1 0xA0 DUP5 ADD PUSH2 0xB45 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0xC43 JUMPI PUSH2 0xC43 PUSH2 0xC1B JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xC5D JUMPI PUSH2 0xC5D PUSH2 0xC1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD DUP8 DUP4 MSTORE PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 DUP6 ADD MSTORE PUSH6 0xFFFFFFFFFFFF DUP8 AND PUSH1 0x40 DUP6 ADD MSTORE DUP6 PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x80 DUP6 ADD MSTORE DUP2 DUP6 MLOAD DUP1 DUP5 MSTORE PUSH1 0xC0 DUP7 ADD SWAP2 POP DUP3 DUP8 ADD SWAP4 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xCC6 JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xCAA JUMP JUMPDEST POP SWAP1 SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 CALL 0x5C DUP6 SWAP2 PUSH18 0xDDE97455655C683861AD895AF484CC844A3B 0xB8 0x49 0x4C 0xB2 0xF7 ISZERO 0xCE 0xD0 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"637:5261:144:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;637:5261:144;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getExternalContractsStorage_83090":{"entryPoint":null,"id":83090,"parameterSlots":0,"returnSlots":1},"@_getRoundsStorageStorage_83082":{"entryPoint":1821,"id":83082,"parameterSlots":0,"returnSlots":1},"@createRound_81793":{"entryPoint":1263,"id":81793,"parameterSlots":4,"returnSlots":1},"@currentRoundDeadline_81878":{"entryPoint":1069,"id":81878,"parameterSlots":0,"returnSlots":1},"@currentRoundId_81812":{"entryPoint":1680,"id":81812,"parameterSlots":0,"returnSlots":1},"@currentRoundSnapshot_81839":{"entryPoint":1017,"id":81839,"parameterSlots":0,"returnSlots":1},"@getAppIdsOfRound_81986":{"entryPoint":1148,"id":81986,"parameterSlots":1,"returnSlots":1},"@getAppsOfRound_82090":{"entryPoint":457,"id":82090,"parameterSlots":1,"returnSlots":1},"@getRound_82010":{"entryPoint":1552,"id":82010,"parameterSlots":1,"returnSlots":1},"@roundDeadline_81938":{"entryPoint":1745,"id":81938,"parameterSlots":1,"returnSlots":1},"@roundProposer_81962":{"entryPoint":976,"id":81962,"parameterSlots":1,"returnSlots":1},"@roundSnapshot_81902":{"entryPoint":1698,"id":81902,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":1857,"id":7770,"parameterSlots":1,"returnSlots":1},"abi_decode_address_fromMemory":{"entryPoint":2762,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_bool_fromMemory":{"entryPoint":2885,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_fromMemory":{"entryPoint":2778,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_uint48t_uint32t_array$_t_bytes32_$dyn_memory_ptr":{"entryPoint":2499,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_fromMemory":{"entryPoint":2901,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":2003,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":2064,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":2297,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed":{"entryPoint":2108,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_struct$_RoundCore_$82969_memory_ptr__to_t_struct$_RoundCore_$82969_memory_ptr__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address_t_uint48_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":3171,"id":null,"parameterSlots":6,"returnSlots":1},"allocate_memory":{"entryPoint":2451,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory_2012":{"entryPoint":2411,"id":null,"parameterSlots":0,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":3146,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":2028,"id":null,"parameterSlots":3,"returnSlots":0},"increment_t_uint256":{"entryPoint":3121,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":3099,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":2740,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":2389,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":2365,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:9922:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:150"},"nodeType":"YulFunctionCall","src":"132:12:150"},"nodeType":"YulExpressionStatement","src":"132:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:150"},"nodeType":"YulFunctionCall","src":"101:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:150"},"nodeType":"YulFunctionCall","src":"97:32:150"},"nodeType":"YulIf","src":"94:52:150"},{"nodeType":"YulAssignment","src":"155:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:150"},"nodeType":"YulFunctionCall","src":"165:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:150","type":""}],"src":"14:180:150"},{"body":{"nodeType":"YulBlock","src":"265:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"275:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"284:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"279:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"344:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"369:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"374:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:150"},"nodeType":"YulFunctionCall","src":"365:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"388:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"393:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"384:3:150"},"nodeType":"YulFunctionCall","src":"384:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"378:5:150"},"nodeType":"YulFunctionCall","src":"378:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"358:6:150"},"nodeType":"YulFunctionCall","src":"358:39:150"},"nodeType":"YulExpressionStatement","src":"358:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"305:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"308:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"302:2:150"},"nodeType":"YulFunctionCall","src":"302:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"316:19:150","statements":[{"nodeType":"YulAssignment","src":"318:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"327:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"330:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"323:3:150"},"nodeType":"YulFunctionCall","src":"323:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"318:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"298:3:150","statements":[]},"src":"294:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"427:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"432:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"423:3:150"},"nodeType":"YulFunctionCall","src":"423:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"441:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"416:6:150"},"nodeType":"YulFunctionCall","src":"416:27:150"},"nodeType":"YulExpressionStatement","src":"416:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"243:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"248:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"253:6:150","type":""}],"src":"199:250:150"},{"body":{"nodeType":"YulBlock","src":"504:221:150","statements":[{"nodeType":"YulVariableDeclaration","src":"514:26:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"534:5:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"528:5:150"},"nodeType":"YulFunctionCall","src":"528:12:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"518:6:150","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"556:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"561:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"549:6:150"},"nodeType":"YulFunctionCall","src":"549:19:150"},"nodeType":"YulExpressionStatement","src":"549:19:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"616:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"623:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"612:3:150"},"nodeType":"YulFunctionCall","src":"612:16:150"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"634:3:150"},{"kind":"number","nodeType":"YulLiteral","src":"639:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"630:3:150"},"nodeType":"YulFunctionCall","src":"630:14:150"},{"name":"length","nodeType":"YulIdentifier","src":"646:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"577:34:150"},"nodeType":"YulFunctionCall","src":"577:76:150"},"nodeType":"YulExpressionStatement","src":"577:76:150"},{"nodeType":"YulAssignment","src":"662:57:150","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"677:3:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"690:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"698:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"686:3:150"},"nodeType":"YulFunctionCall","src":"686:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"707:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"703:3:150"},"nodeType":"YulFunctionCall","src":"703:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"682:3:150"},"nodeType":"YulFunctionCall","src":"682:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"673:3:150"},"nodeType":"YulFunctionCall","src":"673:39:150"},{"kind":"number","nodeType":"YulLiteral","src":"714:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"669:3:150"},"nodeType":"YulFunctionCall","src":"669:50:150"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"662:3:150"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"481:5:150","type":""},{"name":"pos","nodeType":"YulTypedName","src":"488:3:150","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"496:3:150","type":""}],"src":"454:271:150"},{"body":{"nodeType":"YulBlock","src":"975:1355:150","statements":[{"nodeType":"YulVariableDeclaration","src":"985:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"995:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"989:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1006:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1024:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1035:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1020:3:150"},"nodeType":"YulFunctionCall","src":"1020:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"1010:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1054:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1065:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1047:6:150"},"nodeType":"YulFunctionCall","src":"1047:21:150"},"nodeType":"YulExpressionStatement","src":"1047:21:150"},{"nodeType":"YulVariableDeclaration","src":"1077:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"1088:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"1081:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1103:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1123:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1117:5:150"},"nodeType":"YulFunctionCall","src":"1117:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1107:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"1146:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"1154:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1139:6:150"},"nodeType":"YulFunctionCall","src":"1139:22:150"},"nodeType":"YulExpressionStatement","src":"1139:22:150"},{"nodeType":"YulVariableDeclaration","src":"1170:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1180:2:150","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1174:2:150","type":""}]},{"nodeType":"YulAssignment","src":"1191:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1202:9:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1213:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1198:3:150"},"nodeType":"YulFunctionCall","src":"1198:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1191:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"1225:53:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1247:9:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1262:1:150","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"1265:6:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1258:3:150"},"nodeType":"YulFunctionCall","src":"1258:14:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1243:3:150"},"nodeType":"YulFunctionCall","src":"1243:30:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1275:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1239:3:150"},"nodeType":"YulFunctionCall","src":"1239:39:150"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"1229:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1287:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1305:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1313:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1301:3:150"},"nodeType":"YulFunctionCall","src":"1301:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"1291:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1325:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1334:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1329:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"1393:908:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1414:3:150"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"1427:6:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1435:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1423:3:150"},"nodeType":"YulFunctionCall","src":"1423:22:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1451:2:150","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1447:3:150"},"nodeType":"YulFunctionCall","src":"1447:7:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1419:3:150"},"nodeType":"YulFunctionCall","src":"1419:36:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1407:6:150"},"nodeType":"YulFunctionCall","src":"1407:49:150"},"nodeType":"YulExpressionStatement","src":"1407:49:150"},{"nodeType":"YulVariableDeclaration","src":"1469:23:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1485:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1479:5:150"},"nodeType":"YulFunctionCall","src":"1479:13:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1473:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1505:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1515:4:150","type":"","value":"0xc0"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1509:2:150","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"1539:6:150"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1553:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1547:5:150"},"nodeType":"YulFunctionCall","src":"1547:9:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1532:6:150"},"nodeType":"YulFunctionCall","src":"1532:25:150"},"nodeType":"YulExpressionStatement","src":"1532:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"1581:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1589:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1577:3:150"},"nodeType":"YulFunctionCall","src":"1577:15:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1608:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1612:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1604:3:150"},"nodeType":"YulFunctionCall","src":"1604:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1598:5:150"},"nodeType":"YulFunctionCall","src":"1598:18:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1626:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1631:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1622:3:150"},"nodeType":"YulFunctionCall","src":"1622:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"1635:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1618:3:150"},"nodeType":"YulFunctionCall","src":"1618:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1594:3:150"},"nodeType":"YulFunctionCall","src":"1594:44:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1570:6:150"},"nodeType":"YulFunctionCall","src":"1570:69:150"},"nodeType":"YulExpressionStatement","src":"1570:69:150"},{"nodeType":"YulVariableDeclaration","src":"1652:38:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1682:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1686:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1678:3:150"},"nodeType":"YulFunctionCall","src":"1678:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1672:5:150"},"nodeType":"YulFunctionCall","src":"1672:18:150"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"1656:12:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"1714:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"1722:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1710:3:150"},"nodeType":"YulFunctionCall","src":"1710:15:150"},{"name":"_4","nodeType":"YulIdentifier","src":"1727:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1703:6:150"},"nodeType":"YulFunctionCall","src":"1703:27:150"},"nodeType":"YulExpressionStatement","src":"1703:27:150"},{"nodeType":"YulVariableDeclaration","src":"1743:62:150","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"1775:12:150"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"1793:6:150"},{"name":"_4","nodeType":"YulIdentifier","src":"1801:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1789:3:150"},"nodeType":"YulFunctionCall","src":"1789:15:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1757:17:150"},"nodeType":"YulFunctionCall","src":"1757:48:150"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"1747:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1818:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1828:4:150","type":"","value":"0x60"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"1822:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1845:40:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1877:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"1881:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1873:3:150"},"nodeType":"YulFunctionCall","src":"1873:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1867:5:150"},"nodeType":"YulFunctionCall","src":"1867:18:150"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"1849:14:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"1909:6:150"},{"name":"_5","nodeType":"YulIdentifier","src":"1917:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1905:3:150"},"nodeType":"YulFunctionCall","src":"1905:15:150"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"1926:6:150"},{"name":"tail_2","nodeType":"YulIdentifier","src":"1934:6:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1922:3:150"},"nodeType":"YulFunctionCall","src":"1922:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1898:6:150"},"nodeType":"YulFunctionCall","src":"1898:44:150"},"nodeType":"YulExpressionStatement","src":"1898:44:150"},{"nodeType":"YulVariableDeclaration","src":"1955:55:150","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"1987:14:150"},{"name":"tail_3","nodeType":"YulIdentifier","src":"2003:6:150"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1969:17:150"},"nodeType":"YulFunctionCall","src":"1969:41:150"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"1959:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2023:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2033:4:150","type":"","value":"0x80"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"2027:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2061:6:150"},{"name":"_6","nodeType":"YulIdentifier","src":"2069:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2057:3:150"},"nodeType":"YulFunctionCall","src":"2057:15:150"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2084:2:150"},{"name":"_6","nodeType":"YulIdentifier","src":"2088:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2080:3:150"},"nodeType":"YulFunctionCall","src":"2080:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2074:5:150"},"nodeType":"YulFunctionCall","src":"2074:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2050:6:150"},"nodeType":"YulFunctionCall","src":"2050:43:150"},"nodeType":"YulExpressionStatement","src":"2050:43:150"},{"nodeType":"YulVariableDeclaration","src":"2106:14:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2116:4:150","type":"","value":"0xa0"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"2110:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2144:6:150"},{"name":"_7","nodeType":"YulIdentifier","src":"2152:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2140:3:150"},"nodeType":"YulFunctionCall","src":"2140:15:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2181:2:150"},{"name":"_7","nodeType":"YulIdentifier","src":"2185:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2177:3:150"},"nodeType":"YulFunctionCall","src":"2177:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2171:5:150"},"nodeType":"YulFunctionCall","src":"2171:18:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2164:6:150"},"nodeType":"YulFunctionCall","src":"2164:26:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2157:6:150"},"nodeType":"YulFunctionCall","src":"2157:34:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2133:6:150"},"nodeType":"YulFunctionCall","src":"2133:59:150"},"nodeType":"YulExpressionStatement","src":"2133:59:150"},{"nodeType":"YulAssignment","src":"2205:16:150","value":{"name":"tail_4","nodeType":"YulIdentifier","src":"2215:6:150"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2205:6:150"}]},{"nodeType":"YulAssignment","src":"2234:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2248:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2256:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2244:3:150"},"nodeType":"YulFunctionCall","src":"2244:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2234:6:150"}]},{"nodeType":"YulAssignment","src":"2272:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2283:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2288:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2279:3:150"},"nodeType":"YulFunctionCall","src":"2279:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2272:3:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1355:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"1358:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1352:2:150"},"nodeType":"YulFunctionCall","src":"1352:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1366:18:150","statements":[{"nodeType":"YulAssignment","src":"1368:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1377:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"1380:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1373:3:150"},"nodeType":"YulFunctionCall","src":"1373:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1368:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"1348:3:150","statements":[]},"src":"1344:957:150"},{"nodeType":"YulAssignment","src":"2310:14:150","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"2318:6:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2310:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"944:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"955:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"966:4:150","type":""}],"src":"730:1600:150"},{"body":{"nodeType":"YulBlock","src":"2444:102:150","statements":[{"nodeType":"YulAssignment","src":"2454:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2466:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2477:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2462:3:150"},"nodeType":"YulFunctionCall","src":"2462:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2454:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2496:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2511:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2527:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2532:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2523:3:150"},"nodeType":"YulFunctionCall","src":"2523:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2536:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2519:3:150"},"nodeType":"YulFunctionCall","src":"2519:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2507:3:150"},"nodeType":"YulFunctionCall","src":"2507:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2489:6:150"},"nodeType":"YulFunctionCall","src":"2489:51:150"},"nodeType":"YulExpressionStatement","src":"2489:51:150"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2413:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2424:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2435:4:150","type":""}],"src":"2335:211:150"},{"body":{"nodeType":"YulBlock","src":"2660:76:150","statements":[{"nodeType":"YulAssignment","src":"2670:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2682:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2693:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2678:3:150"},"nodeType":"YulFunctionCall","src":"2678:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2670:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2712:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"2723:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2705:6:150"},"nodeType":"YulFunctionCall","src":"2705:25:150"},"nodeType":"YulExpressionStatement","src":"2705:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2629:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2640:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2651:4:150","type":""}],"src":"2551:185:150"},{"body":{"nodeType":"YulBlock","src":"2900:481:150","statements":[{"nodeType":"YulVariableDeclaration","src":"2910:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"2920:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2914:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2931:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2949:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2960:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2945:3:150"},"nodeType":"YulFunctionCall","src":"2945:18:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"2935:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2979:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2990:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2972:6:150"},"nodeType":"YulFunctionCall","src":"2972:21:150"},"nodeType":"YulExpressionStatement","src":"2972:21:150"},{"nodeType":"YulVariableDeclaration","src":"3002:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"3013:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"3006:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3028:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3048:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3042:5:150"},"nodeType":"YulFunctionCall","src":"3042:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3032:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"3071:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"3079:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3064:6:150"},"nodeType":"YulFunctionCall","src":"3064:22:150"},"nodeType":"YulExpressionStatement","src":"3064:22:150"},{"nodeType":"YulAssignment","src":"3095:25:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3106:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3117:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3102:3:150"},"nodeType":"YulFunctionCall","src":"3102:18:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3095:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"3129:29:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3147:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3155:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3143:3:150"},"nodeType":"YulFunctionCall","src":"3143:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"3133:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3167:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"3176:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3171:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3235:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3256:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3267:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3261:5:150"},"nodeType":"YulFunctionCall","src":"3261:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3249:6:150"},"nodeType":"YulFunctionCall","src":"3249:26:150"},"nodeType":"YulExpressionStatement","src":"3249:26:150"},{"nodeType":"YulAssignment","src":"3288:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3299:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3304:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3295:3:150"},"nodeType":"YulFunctionCall","src":"3295:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3288:3:150"}]},{"nodeType":"YulAssignment","src":"3320:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3334:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"3342:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3330:3:150"},"nodeType":"YulFunctionCall","src":"3330:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3320:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3197:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"3200:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3194:2:150"},"nodeType":"YulFunctionCall","src":"3194:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3208:18:150","statements":[{"nodeType":"YulAssignment","src":"3210:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3219:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"3222:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3215:3:150"},"nodeType":"YulFunctionCall","src":"3215:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3210:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"3190:3:150","statements":[]},"src":"3186:169:150"},{"nodeType":"YulAssignment","src":"3364:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"3372:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3364:4:150"}]}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2869:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2880:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2891:4:150","type":""}],"src":"2741:640:150"},{"body":{"nodeType":"YulBlock","src":"3431:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"3495:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3504:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3507:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3497:6:150"},"nodeType":"YulFunctionCall","src":"3497:12:150"},"nodeType":"YulExpressionStatement","src":"3497:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3454:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3465:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3480:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3485:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3476:3:150"},"nodeType":"YulFunctionCall","src":"3476:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3489:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3472:3:150"},"nodeType":"YulFunctionCall","src":"3472:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3461:3:150"},"nodeType":"YulFunctionCall","src":"3461:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3451:2:150"},"nodeType":"YulFunctionCall","src":"3451:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3444:6:150"},"nodeType":"YulFunctionCall","src":"3444:50:150"},"nodeType":"YulIf","src":"3441:70:150"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3420:5:150","type":""}],"src":"3386:131:150"},{"body":{"nodeType":"YulBlock","src":"3554:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3571:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3578:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3583:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3574:3:150"},"nodeType":"YulFunctionCall","src":"3574:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3564:6:150"},"nodeType":"YulFunctionCall","src":"3564:31:150"},"nodeType":"YulExpressionStatement","src":"3564:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3611:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3614:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3604:6:150"},"nodeType":"YulFunctionCall","src":"3604:15:150"},"nodeType":"YulExpressionStatement","src":"3604:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3635:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3638:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3628:6:150"},"nodeType":"YulFunctionCall","src":"3628:15:150"},"nodeType":"YulExpressionStatement","src":"3628:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"3522:127:150"},{"body":{"nodeType":"YulBlock","src":"3700:207:150","statements":[{"nodeType":"YulAssignment","src":"3710:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3726:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3720:5:150"},"nodeType":"YulFunctionCall","src":"3720:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3710:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3738:35:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3760:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3768:4:150","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3756:3:150"},"nodeType":"YulFunctionCall","src":"3756:17:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"3742:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3848:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3850:16:150"},"nodeType":"YulFunctionCall","src":"3850:18:150"},"nodeType":"YulExpressionStatement","src":"3850:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3791:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3811:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"3815:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3807:3:150"},"nodeType":"YulFunctionCall","src":"3807:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"3819:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3803:3:150"},"nodeType":"YulFunctionCall","src":"3803:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3788:2:150"},"nodeType":"YulFunctionCall","src":"3788:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3827:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"3839:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3824:2:150"},"nodeType":"YulFunctionCall","src":"3824:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3785:2:150"},"nodeType":"YulFunctionCall","src":"3785:62:150"},"nodeType":"YulIf","src":"3782:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3886:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3890:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3879:6:150"},"nodeType":"YulFunctionCall","src":"3879:22:150"},"nodeType":"YulExpressionStatement","src":"3879:22:150"}]},"name":"allocate_memory_2012","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3689:6:150","type":""}],"src":"3654:253:150"},{"body":{"nodeType":"YulBlock","src":"3957:230:150","statements":[{"nodeType":"YulAssignment","src":"3967:19:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3983:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3977:5:150"},"nodeType":"YulFunctionCall","src":"3977:9:150"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3967:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"3995:58:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4017:6:150"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"4033:4:150"},{"kind":"number","nodeType":"YulLiteral","src":"4039:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4029:3:150"},"nodeType":"YulFunctionCall","src":"4029:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4048:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4044:3:150"},"nodeType":"YulFunctionCall","src":"4044:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4025:3:150"},"nodeType":"YulFunctionCall","src":"4025:27:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4013:3:150"},"nodeType":"YulFunctionCall","src":"4013:40:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"3999:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4128:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4130:16:150"},"nodeType":"YulFunctionCall","src":"4130:18:150"},"nodeType":"YulExpressionStatement","src":"4130:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4071:10:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4091:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4095:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4087:3:150"},"nodeType":"YulFunctionCall","src":"4087:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4099:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4083:3:150"},"nodeType":"YulFunctionCall","src":"4083:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4068:2:150"},"nodeType":"YulFunctionCall","src":"4068:34:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4107:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4119:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4104:2:150"},"nodeType":"YulFunctionCall","src":"4104:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4065:2:150"},"nodeType":"YulFunctionCall","src":"4065:62:150"},"nodeType":"YulIf","src":"4062:88:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4166:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4170:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4159:6:150"},"nodeType":"YulFunctionCall","src":"4159:22:150"},"nodeType":"YulExpressionStatement","src":"4159:22:150"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"3937:4:150","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3946:6:150","type":""}],"src":"3912:275:150"},{"body":{"nodeType":"YulBlock","src":"4336:1286:150","statements":[{"body":{"nodeType":"YulBlock","src":"4383:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4392:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4395:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4385:6:150"},"nodeType":"YulFunctionCall","src":"4385:12:150"},"nodeType":"YulExpressionStatement","src":"4385:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4357:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"4366:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4353:3:150"},"nodeType":"YulFunctionCall","src":"4353:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"4378:3:150","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4349:3:150"},"nodeType":"YulFunctionCall","src":"4349:33:150"},"nodeType":"YulIf","src":"4346:53:150"},{"nodeType":"YulVariableDeclaration","src":"4408:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4434:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4421:12:150"},"nodeType":"YulFunctionCall","src":"4421:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4412:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4478:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"4453:24:150"},"nodeType":"YulFunctionCall","src":"4453:31:150"},"nodeType":"YulExpressionStatement","src":"4453:31:150"},{"nodeType":"YulAssignment","src":"4493:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"4503:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4493:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4517:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"4527:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4521:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4538:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4570:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"4581:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4566:3:150"},"nodeType":"YulFunctionCall","src":"4566:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4553:12:150"},"nodeType":"YulFunctionCall","src":"4553:32:150"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"4542:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4647:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4656:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4659:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4649:6:150"},"nodeType":"YulFunctionCall","src":"4649:12:150"},"nodeType":"YulExpressionStatement","src":"4649:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4607:7:150"},{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"4620:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"4629:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4616:3:150"},"nodeType":"YulFunctionCall","src":"4616:28:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4604:2:150"},"nodeType":"YulFunctionCall","src":"4604:41:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4597:6:150"},"nodeType":"YulFunctionCall","src":"4597:49:150"},"nodeType":"YulIf","src":"4594:69:150"},{"nodeType":"YulAssignment","src":"4672:17:150","value":{"name":"value_1","nodeType":"YulIdentifier","src":"4682:7:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4672:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4698:47:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4730:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4741:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4726:3:150"},"nodeType":"YulFunctionCall","src":"4726:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4713:12:150"},"nodeType":"YulFunctionCall","src":"4713:32:150"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"4702:7:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4803:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4812:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4815:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4805:6:150"},"nodeType":"YulFunctionCall","src":"4805:12:150"},"nodeType":"YulExpressionStatement","src":"4805:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"4767:7:150"},{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"4780:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"4789:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4776:3:150"},"nodeType":"YulFunctionCall","src":"4776:24:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4764:2:150"},"nodeType":"YulFunctionCall","src":"4764:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4757:6:150"},"nodeType":"YulFunctionCall","src":"4757:45:150"},"nodeType":"YulIf","src":"4754:65:150"},{"nodeType":"YulAssignment","src":"4828:17:150","value":{"name":"value_2","nodeType":"YulIdentifier","src":"4838:7:150"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4828:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"4854:46:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4885:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4896:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4881:3:150"},"nodeType":"YulFunctionCall","src":"4881:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4868:12:150"},"nodeType":"YulFunctionCall","src":"4868:32:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4858:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4909:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4927:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"4931:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4923:3:150"},"nodeType":"YulFunctionCall","src":"4923:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"4935:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4919:3:150"},"nodeType":"YulFunctionCall","src":"4919:18:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"4913:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"4964:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4973:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4976:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4966:6:150"},"nodeType":"YulFunctionCall","src":"4966:12:150"},"nodeType":"YulExpressionStatement","src":"4966:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4952:6:150"},{"name":"_2","nodeType":"YulIdentifier","src":"4960:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4949:2:150"},"nodeType":"YulFunctionCall","src":"4949:14:150"},"nodeType":"YulIf","src":"4946:34:150"},{"nodeType":"YulVariableDeclaration","src":"4989:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5003:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"5014:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4999:3:150"},"nodeType":"YulFunctionCall","src":"4999:22:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"4993:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5069:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5078:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5081:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5071:6:150"},"nodeType":"YulFunctionCall","src":"5071:12:150"},"nodeType":"YulExpressionStatement","src":"5071:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5048:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"5052:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5044:3:150"},"nodeType":"YulFunctionCall","src":"5044:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5059:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5040:3:150"},"nodeType":"YulFunctionCall","src":"5040:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5033:6:150"},"nodeType":"YulFunctionCall","src":"5033:35:150"},"nodeType":"YulIf","src":"5030:55:150"},{"nodeType":"YulVariableDeclaration","src":"5094:26:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5117:2:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5104:12:150"},"nodeType":"YulFunctionCall","src":"5104:16:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"5098:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5143:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5145:16:150"},"nodeType":"YulFunctionCall","src":"5145:18:150"},"nodeType":"YulExpressionStatement","src":"5145:18:150"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"5135:2:150"},{"name":"_2","nodeType":"YulIdentifier","src":"5139:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5132:2:150"},"nodeType":"YulFunctionCall","src":"5132:10:150"},"nodeType":"YulIf","src":"5129:36:150"},{"nodeType":"YulVariableDeclaration","src":"5174:20:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5188:1:150","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"5191:2:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5184:3:150"},"nodeType":"YulFunctionCall","src":"5184:10:150"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"5178:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5203:39:150","value":{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"5234:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5238:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5230:3:150"},"nodeType":"YulFunctionCall","src":"5230:11:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5214:15:150"},"nodeType":"YulFunctionCall","src":"5214:28:150"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"5207:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5251:16:150","value":{"name":"dst","nodeType":"YulIdentifier","src":"5264:3:150"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"5255:5:150","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5283:3:150"},{"name":"_4","nodeType":"YulIdentifier","src":"5288:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5276:6:150"},"nodeType":"YulFunctionCall","src":"5276:15:150"},"nodeType":"YulExpressionStatement","src":"5276:15:150"},{"nodeType":"YulAssignment","src":"5300:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5311:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5316:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5307:3:150"},"nodeType":"YulFunctionCall","src":"5307:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5300:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"5328:34:150","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5350:2:150"},{"name":"_5","nodeType":"YulIdentifier","src":"5354:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5346:3:150"},"nodeType":"YulFunctionCall","src":"5346:11:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5359:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5342:3:150"},"nodeType":"YulFunctionCall","src":"5342:20:150"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"5332:6:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5394:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5403:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5406:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5396:6:150"},"nodeType":"YulFunctionCall","src":"5396:12:150"},"nodeType":"YulExpressionStatement","src":"5396:12:150"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"5377:6:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5385:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5374:2:150"},"nodeType":"YulFunctionCall","src":"5374:19:150"},"nodeType":"YulIf","src":"5371:39:150"},{"nodeType":"YulVariableDeclaration","src":"5419:22:150","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"5434:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5438:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5430:3:150"},"nodeType":"YulFunctionCall","src":"5430:11:150"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"5423:3:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"5506:86:150","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5527:3:150"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5545:3:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5532:12:150"},"nodeType":"YulFunctionCall","src":"5532:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5520:6:150"},"nodeType":"YulFunctionCall","src":"5520:30:150"},"nodeType":"YulExpressionStatement","src":"5520:30:150"},{"nodeType":"YulAssignment","src":"5563:19:150","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5574:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5579:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5570:3:150"},"nodeType":"YulFunctionCall","src":"5570:12:150"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5563:3:150"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5461:3:150"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"5466:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5458:2:150"},"nodeType":"YulFunctionCall","src":"5458:15:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5474:23:150","statements":[{"nodeType":"YulAssignment","src":"5476:19:150","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5487:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"5492:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5483:3:150"},"nodeType":"YulFunctionCall","src":"5483:12:150"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"5476:3:150"}]}]},"pre":{"nodeType":"YulBlock","src":"5454:3:150","statements":[]},"src":"5450:142:150"},{"nodeType":"YulAssignment","src":"5601:15:150","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"5611:5:150"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5601:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint48t_uint32t_array$_t_bytes32_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4278:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4289:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4301:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4309:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4317:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4325:6:150","type":""}],"src":"4192:1430:150"},{"body":{"nodeType":"YulBlock","src":"5792:273:150","statements":[{"nodeType":"YulAssignment","src":"5802:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5814:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5825:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5810:3:150"},"nodeType":"YulFunctionCall","src":"5810:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5802:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5844:9:150"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5865:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5859:5:150"},"nodeType":"YulFunctionCall","src":"5859:13:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5882:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5887:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5878:3:150"},"nodeType":"YulFunctionCall","src":"5878:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"5891:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5874:3:150"},"nodeType":"YulFunctionCall","src":"5874:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5855:3:150"},"nodeType":"YulFunctionCall","src":"5855:39:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5837:6:150"},"nodeType":"YulFunctionCall","src":"5837:58:150"},"nodeType":"YulExpressionStatement","src":"5837:58:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5915:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"5926:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5911:3:150"},"nodeType":"YulFunctionCall","src":"5911:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5947:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"5955:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5943:3:150"},"nodeType":"YulFunctionCall","src":"5943:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5937:5:150"},"nodeType":"YulFunctionCall","src":"5937:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"5963:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5933:3:150"},"nodeType":"YulFunctionCall","src":"5933:45:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5904:6:150"},"nodeType":"YulFunctionCall","src":"5904:75:150"},"nodeType":"YulExpressionStatement","src":"5904:75:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5999:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6010:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5995:3:150"},"nodeType":"YulFunctionCall","src":"5995:20:150"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6031:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6039:4:150","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6027:3:150"},"nodeType":"YulFunctionCall","src":"6027:17:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6021:5:150"},"nodeType":"YulFunctionCall","src":"6021:24:150"},{"kind":"number","nodeType":"YulLiteral","src":"6047:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6017:3:150"},"nodeType":"YulFunctionCall","src":"6017:41:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5988:6:150"},"nodeType":"YulFunctionCall","src":"5988:71:150"},"nodeType":"YulExpressionStatement","src":"5988:71:150"}]},"name":"abi_encode_tuple_t_struct$_RoundCore_$82969_memory_ptr__to_t_struct$_RoundCore_$82969_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5761:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5772:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5783:4:150","type":""}],"src":"5627:438:150"},{"body":{"nodeType":"YulBlock","src":"6102:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6119:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6126:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6131:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6122:3:150"},"nodeType":"YulFunctionCall","src":"6122:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6112:6:150"},"nodeType":"YulFunctionCall","src":"6112:31:150"},"nodeType":"YulExpressionStatement","src":"6112:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6159:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6162:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6152:6:150"},"nodeType":"YulFunctionCall","src":"6152:15:150"},"nodeType":"YulExpressionStatement","src":"6152:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6183:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6186:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6176:6:150"},"nodeType":"YulFunctionCall","src":"6176:15:150"},"nodeType":"YulExpressionStatement","src":"6176:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"6070:127:150"},{"body":{"nodeType":"YulBlock","src":"6303:76:150","statements":[{"nodeType":"YulAssignment","src":"6313:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6325:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"6336:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6321:3:150"},"nodeType":"YulFunctionCall","src":"6321:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6313:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6355:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"6366:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6348:6:150"},"nodeType":"YulFunctionCall","src":"6348:25:150"},"nodeType":"YulExpressionStatement","src":"6348:25:150"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6272:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6283:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6294:4:150","type":""}],"src":"6202:177:150"},{"body":{"nodeType":"YulBlock","src":"6444:78:150","statements":[{"nodeType":"YulAssignment","src":"6454:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6469:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6463:5:150"},"nodeType":"YulFunctionCall","src":"6463:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"6454:5:150"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6510:5:150"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6485:24:150"},"nodeType":"YulFunctionCall","src":"6485:31:150"},"nodeType":"YulExpressionStatement","src":"6485:31:150"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6423:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"6434:5:150","type":""}],"src":"6384:138:150"},{"body":{"nodeType":"YulBlock","src":"6591:446:150","statements":[{"body":{"nodeType":"YulBlock","src":"6640:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6649:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6652:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6642:6:150"},"nodeType":"YulFunctionCall","src":"6642:12:150"},"nodeType":"YulExpressionStatement","src":"6642:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6619:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6627:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6615:3:150"},"nodeType":"YulFunctionCall","src":"6615:17:150"},{"name":"end","nodeType":"YulIdentifier","src":"6634:3:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6611:3:150"},"nodeType":"YulFunctionCall","src":"6611:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6604:6:150"},"nodeType":"YulFunctionCall","src":"6604:35:150"},"nodeType":"YulIf","src":"6601:55:150"},{"nodeType":"YulVariableDeclaration","src":"6665:23:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6681:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6675:5:150"},"nodeType":"YulFunctionCall","src":"6675:13:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6669:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"6727:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"6729:16:150"},"nodeType":"YulFunctionCall","src":"6729:18:150"},"nodeType":"YulExpressionStatement","src":"6729:18:150"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6703:2:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6715:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"6719:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6711:3:150"},"nodeType":"YulFunctionCall","src":"6711:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"6723:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6707:3:150"},"nodeType":"YulFunctionCall","src":"6707:18:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6700:2:150"},"nodeType":"YulFunctionCall","src":"6700:26:150"},"nodeType":"YulIf","src":"6697:52:150"},{"nodeType":"YulVariableDeclaration","src":"6758:70:150","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6801:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"6805:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6797:3:150"},"nodeType":"YulFunctionCall","src":"6797:13:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6816:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6812:3:150"},"nodeType":"YulFunctionCall","src":"6812:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6793:3:150"},"nodeType":"YulFunctionCall","src":"6793:27:150"},{"kind":"number","nodeType":"YulLiteral","src":"6822:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6789:3:150"},"nodeType":"YulFunctionCall","src":"6789:38:150"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"6773:15:150"},"nodeType":"YulFunctionCall","src":"6773:55:150"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"6762:7:150","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6844:7:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6853:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6837:6:150"},"nodeType":"YulFunctionCall","src":"6837:19:150"},"nodeType":"YulExpressionStatement","src":"6837:19:150"},{"body":{"nodeType":"YulBlock","src":"6904:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6913:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6916:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6906:6:150"},"nodeType":"YulFunctionCall","src":"6906:12:150"},"nodeType":"YulExpressionStatement","src":"6906:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6879:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"6887:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6875:3:150"},"nodeType":"YulFunctionCall","src":"6875:15:150"},{"kind":"number","nodeType":"YulLiteral","src":"6892:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6871:3:150"},"nodeType":"YulFunctionCall","src":"6871:26:150"},{"name":"end","nodeType":"YulIdentifier","src":"6899:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6868:2:150"},"nodeType":"YulFunctionCall","src":"6868:35:150"},"nodeType":"YulIf","src":"6865:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6968:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"6976:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6964:3:150"},"nodeType":"YulFunctionCall","src":"6964:17:150"},{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"6987:7:150"},{"kind":"number","nodeType":"YulLiteral","src":"6996:4:150","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6983:3:150"},"nodeType":"YulFunctionCall","src":"6983:18:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7003:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"6929:34:150"},"nodeType":"YulFunctionCall","src":"6929:77:150"},"nodeType":"YulExpressionStatement","src":"6929:77:150"},{"nodeType":"YulAssignment","src":"7015:16:150","value":{"name":"array_1","nodeType":"YulIdentifier","src":"7024:7:150"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"7015:5:150"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"6565:6:150","type":""},{"name":"end","nodeType":"YulTypedName","src":"6573:3:150","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"6581:5:150","type":""}],"src":"6527:510:150"},{"body":{"nodeType":"YulBlock","src":"7099:107:150","statements":[{"nodeType":"YulAssignment","src":"7109:22:150","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7124:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7118:5:150"},"nodeType":"YulFunctionCall","src":"7118:13:150"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7109:5:150"}]},{"body":{"nodeType":"YulBlock","src":"7184:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7193:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7196:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7186:6:150"},"nodeType":"YulFunctionCall","src":"7186:12:150"},"nodeType":"YulExpressionStatement","src":"7186:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7153:5:150"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7174:5:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7167:6:150"},"nodeType":"YulFunctionCall","src":"7167:13:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7160:6:150"},"nodeType":"YulFunctionCall","src":"7160:21:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7150:2:150"},"nodeType":"YulFunctionCall","src":"7150:32:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7143:6:150"},"nodeType":"YulFunctionCall","src":"7143:40:150"},"nodeType":"YulIf","src":"7140:60:150"}]},"name":"abi_decode_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7078:6:150","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"7089:5:150","type":""}],"src":"7042:164:150"},{"body":{"nodeType":"YulBlock","src":"7335:941:150","statements":[{"body":{"nodeType":"YulBlock","src":"7381:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7390:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7393:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7383:6:150"},"nodeType":"YulFunctionCall","src":"7383:12:150"},"nodeType":"YulExpressionStatement","src":"7383:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7356:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"7365:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7352:3:150"},"nodeType":"YulFunctionCall","src":"7352:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"7377:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7348:3:150"},"nodeType":"YulFunctionCall","src":"7348:32:150"},"nodeType":"YulIf","src":"7345:52:150"},{"nodeType":"YulVariableDeclaration","src":"7406:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7426:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7420:5:150"},"nodeType":"YulFunctionCall","src":"7420:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7410:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7445:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7463:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"7467:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7459:3:150"},"nodeType":"YulFunctionCall","src":"7459:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"7471:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7455:3:150"},"nodeType":"YulFunctionCall","src":"7455:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7449:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7500:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7509:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7512:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7502:6:150"},"nodeType":"YulFunctionCall","src":"7502:12:150"},"nodeType":"YulExpressionStatement","src":"7502:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7488:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7496:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7485:2:150"},"nodeType":"YulFunctionCall","src":"7485:14:150"},"nodeType":"YulIf","src":"7482:34:150"},{"nodeType":"YulVariableDeclaration","src":"7525:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7539:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"7550:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7535:3:150"},"nodeType":"YulFunctionCall","src":"7535:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"7529:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7597:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7606:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7609:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7599:6:150"},"nodeType":"YulFunctionCall","src":"7599:12:150"},"nodeType":"YulExpressionStatement","src":"7599:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7577:7:150"},{"name":"_2","nodeType":"YulIdentifier","src":"7586:2:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7573:3:150"},"nodeType":"YulFunctionCall","src":"7573:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"7591:4:150","type":"","value":"0xc0"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7569:3:150"},"nodeType":"YulFunctionCall","src":"7569:27:150"},"nodeType":"YulIf","src":"7566:47:150"},{"nodeType":"YulVariableDeclaration","src":"7622:35:150","value":{"arguments":[],"functionName":{"name":"allocate_memory_2012","nodeType":"YulIdentifier","src":"7635:20:150"},"nodeType":"YulFunctionCall","src":"7635:22:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7626:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7673:5:150"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"7686:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7680:5:150"},"nodeType":"YulFunctionCall","src":"7680:9:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7666:6:150"},"nodeType":"YulFunctionCall","src":"7666:24:150"},"nodeType":"YulExpressionStatement","src":"7666:24:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7710:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"7717:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7706:3:150"},"nodeType":"YulFunctionCall","src":"7706:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"7756:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"7760:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7752:3:150"},"nodeType":"YulFunctionCall","src":"7752:11:150"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"7722:29:150"},"nodeType":"YulFunctionCall","src":"7722:42:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7699:6:150"},"nodeType":"YulFunctionCall","src":"7699:66:150"},"nodeType":"YulExpressionStatement","src":"7699:66:150"},{"nodeType":"YulVariableDeclaration","src":"7774:34:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"7800:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"7804:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7796:3:150"},"nodeType":"YulFunctionCall","src":"7796:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7790:5:150"},"nodeType":"YulFunctionCall","src":"7790:18:150"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"7778:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"7837:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7846:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7849:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7839:6:150"},"nodeType":"YulFunctionCall","src":"7839:12:150"},"nodeType":"YulExpressionStatement","src":"7839:12:150"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"7823:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"7833:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7820:2:150"},"nodeType":"YulFunctionCall","src":"7820:16:150"},"nodeType":"YulIf","src":"7817:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7873:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"7880:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7869:3:150"},"nodeType":"YulFunctionCall","src":"7869:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"7918:2:150"},{"name":"offset_1","nodeType":"YulIdentifier","src":"7922:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7914:3:150"},"nodeType":"YulFunctionCall","src":"7914:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7933:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"7885:28:150"},"nodeType":"YulFunctionCall","src":"7885:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7862:6:150"},"nodeType":"YulFunctionCall","src":"7862:80:150"},"nodeType":"YulExpressionStatement","src":"7862:80:150"},{"nodeType":"YulVariableDeclaration","src":"7951:34:150","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"7977:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"7981:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7973:3:150"},"nodeType":"YulFunctionCall","src":"7973:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7967:5:150"},"nodeType":"YulFunctionCall","src":"7967:18:150"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"7955:8:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"8014:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8023:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8026:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8016:6:150"},"nodeType":"YulFunctionCall","src":"8016:12:150"},"nodeType":"YulExpressionStatement","src":"8016:12:150"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"8000:8:150"},{"name":"_1","nodeType":"YulIdentifier","src":"8010:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7997:2:150"},"nodeType":"YulFunctionCall","src":"7997:16:150"},"nodeType":"YulIf","src":"7994:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8050:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"8057:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8046:3:150"},"nodeType":"YulFunctionCall","src":"8046:14:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"8095:2:150"},{"name":"offset_2","nodeType":"YulIdentifier","src":"8099:8:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8091:3:150"},"nodeType":"YulFunctionCall","src":"8091:17:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8110:7:150"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"8062:28:150"},"nodeType":"YulFunctionCall","src":"8062:56:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8039:6:150"},"nodeType":"YulFunctionCall","src":"8039:80:150"},"nodeType":"YulExpressionStatement","src":"8039:80:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8139:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"8146:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8135:3:150"},"nodeType":"YulFunctionCall","src":"8135:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"8162:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"8166:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8158:3:150"},"nodeType":"YulFunctionCall","src":"8158:12:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8152:5:150"},"nodeType":"YulFunctionCall","src":"8152:19:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8128:6:150"},"nodeType":"YulFunctionCall","src":"8128:44:150"},"nodeType":"YulExpressionStatement","src":"8128:44:150"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8192:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"8199:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8188:3:150"},"nodeType":"YulFunctionCall","src":"8188:15:150"},{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"8236:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"8240:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8232:3:150"},"nodeType":"YulFunctionCall","src":"8232:12:150"}],"functionName":{"name":"abi_decode_bool_fromMemory","nodeType":"YulIdentifier","src":"8205:26:150"},"nodeType":"YulFunctionCall","src":"8205:40:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8181:6:150"},"nodeType":"YulFunctionCall","src":"8181:65:150"},"nodeType":"YulExpressionStatement","src":"8181:65:150"},{"nodeType":"YulAssignment","src":"8255:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"8265:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8255:6:150"}]}]},"name":"abi_decode_tuple_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7301:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7312:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7324:6:150","type":""}],"src":"7211:1065:150"},{"body":{"nodeType":"YulBlock","src":"8313:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8330:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8337:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8342:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8333:3:150"},"nodeType":"YulFunctionCall","src":"8333:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8323:6:150"},"nodeType":"YulFunctionCall","src":"8323:31:150"},"nodeType":"YulExpressionStatement","src":"8323:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8370:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8373:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8363:6:150"},"nodeType":"YulFunctionCall","src":"8363:15:150"},"nodeType":"YulExpressionStatement","src":"8363:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8394:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8397:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8387:6:150"},"nodeType":"YulFunctionCall","src":"8387:15:150"},"nodeType":"YulExpressionStatement","src":"8387:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"8281:127:150"},{"body":{"nodeType":"YulBlock","src":"8460:88:150","statements":[{"body":{"nodeType":"YulBlock","src":"8491:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"8493:16:150"},"nodeType":"YulFunctionCall","src":"8493:18:150"},"nodeType":"YulExpressionStatement","src":"8493:18:150"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8476:5:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8487:1:150","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8483:3:150"},"nodeType":"YulFunctionCall","src":"8483:6:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"8473:2:150"},"nodeType":"YulFunctionCall","src":"8473:17:150"},"nodeType":"YulIf","src":"8470:43:150"},{"nodeType":"YulAssignment","src":"8522:20:150","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8533:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"8540:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8529:3:150"},"nodeType":"YulFunctionCall","src":"8529:13:150"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"8522:3:150"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8442:5:150","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"8452:3:150","type":""}],"src":"8413:135:150"},{"body":{"nodeType":"YulBlock","src":"8601:77:150","statements":[{"nodeType":"YulAssignment","src":"8611:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8622:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"8625:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8618:3:150"},"nodeType":"YulFunctionCall","src":"8618:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"8611:3:150"}]},{"body":{"nodeType":"YulBlock","src":"8650:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"8652:16:150"},"nodeType":"YulFunctionCall","src":"8652:18:150"},"nodeType":"YulExpressionStatement","src":"8652:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8642:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"8645:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8639:2:150"},"nodeType":"YulFunctionCall","src":"8639:10:150"},"nodeType":"YulIf","src":"8636:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"8584:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"8587:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"8593:3:150","type":""}],"src":"8553:125:150"},{"body":{"nodeType":"YulBlock","src":"8945:704:150","statements":[{"nodeType":"YulVariableDeclaration","src":"8955:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8973:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"8984:3:150","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8969:3:150"},"nodeType":"YulFunctionCall","src":"8969:19:150"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"8959:6:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9004:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"9015:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8997:6:150"},"nodeType":"YulFunctionCall","src":"8997:25:150"},"nodeType":"YulExpressionStatement","src":"8997:25:150"},{"nodeType":"YulVariableDeclaration","src":"9031:12:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9041:2:150","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9035:2:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9063:9:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9074:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9059:3:150"},"nodeType":"YulFunctionCall","src":"9059:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9083:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9099:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9104:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9095:3:150"},"nodeType":"YulFunctionCall","src":"9095:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"9108:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9091:3:150"},"nodeType":"YulFunctionCall","src":"9091:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9079:3:150"},"nodeType":"YulFunctionCall","src":"9079:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9052:6:150"},"nodeType":"YulFunctionCall","src":"9052:60:150"},"nodeType":"YulExpressionStatement","src":"9052:60:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9132:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9143:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9128:3:150"},"nodeType":"YulFunctionCall","src":"9128:18:150"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"9152:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9160:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9148:3:150"},"nodeType":"YulFunctionCall","src":"9148:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9121:6:150"},"nodeType":"YulFunctionCall","src":"9121:55:150"},"nodeType":"YulExpressionStatement","src":"9121:55:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9196:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9207:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9192:3:150"},"nodeType":"YulFunctionCall","src":"9192:18:150"},{"name":"value3","nodeType":"YulIdentifier","src":"9212:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9185:6:150"},"nodeType":"YulFunctionCall","src":"9185:34:150"},"nodeType":"YulExpressionStatement","src":"9185:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9239:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9250:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9235:3:150"},"nodeType":"YulFunctionCall","src":"9235:19:150"},{"kind":"number","nodeType":"YulLiteral","src":"9256:3:150","type":"","value":"160"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9228:6:150"},"nodeType":"YulFunctionCall","src":"9228:32:150"},"nodeType":"YulExpressionStatement","src":"9228:32:150"},{"nodeType":"YulVariableDeclaration","src":"9269:17:150","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"9280:6:150"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"9273:3:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9295:27:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"9315:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9309:5:150"},"nodeType":"YulFunctionCall","src":"9309:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9299:6:150","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"9338:6:150"},{"name":"length","nodeType":"YulIdentifier","src":"9346:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9331:6:150"},"nodeType":"YulFunctionCall","src":"9331:22:150"},"nodeType":"YulExpressionStatement","src":"9331:22:150"},{"nodeType":"YulAssignment","src":"9362:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9373:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9384:3:150","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9369:3:150"},"nodeType":"YulFunctionCall","src":"9369:19:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9362:3:150"}]},{"nodeType":"YulVariableDeclaration","src":"9397:29:150","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"9415:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9423:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9411:3:150"},"nodeType":"YulFunctionCall","src":"9411:15:150"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"9401:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9435:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"9444:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"9439:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"9503:120:150","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9524:3:150"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9535:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9529:5:150"},"nodeType":"YulFunctionCall","src":"9529:13:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9517:6:150"},"nodeType":"YulFunctionCall","src":"9517:26:150"},"nodeType":"YulExpressionStatement","src":"9517:26:150"},{"nodeType":"YulAssignment","src":"9556:19:150","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9567:3:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9572:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9563:3:150"},"nodeType":"YulFunctionCall","src":"9563:12:150"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9556:3:150"}]},{"nodeType":"YulAssignment","src":"9588:25:150","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9602:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"9610:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9598:3:150"},"nodeType":"YulFunctionCall","src":"9598:15:150"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9588:6:150"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9465:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"9468:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9462:2:150"},"nodeType":"YulFunctionCall","src":"9462:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9476:18:150","statements":[{"nodeType":"YulAssignment","src":"9478:14:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9487:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"9490:1:150","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9483:3:150"},"nodeType":"YulFunctionCall","src":"9483:9:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"9478:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"9458:3:150","statements":[]},"src":"9454:169:150"},{"nodeType":"YulAssignment","src":"9632:11:150","value":{"name":"pos","nodeType":"YulIdentifier","src":"9640:3:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9632:4:150"}]}]},"name":"abi_encode_tuple_t_uint256_t_address_t_uint48_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8882:9:150","type":""},{"name":"value4","nodeType":"YulTypedName","src":"8893:6:150","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8901:6:150","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8909:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8917:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8925:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8936:4:150","type":""}],"src":"8683:966:150"},{"body":{"nodeType":"YulBlock","src":"9790:130:150","statements":[{"nodeType":"YulAssignment","src":"9800:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9812:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9823:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9808:3:150"},"nodeType":"YulFunctionCall","src":"9808:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9800:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9842:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9857:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"9865:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9853:3:150"},"nodeType":"YulFunctionCall","src":"9853:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9835:6:150"},"nodeType":"YulFunctionCall","src":"9835:36:150"},"nodeType":"YulExpressionStatement","src":"9835:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9891:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"9902:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9887:3:150"},"nodeType":"YulFunctionCall","src":"9887:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"9907:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9880:6:150"},"nodeType":"YulFunctionCall","src":"9880:34:150"},"nodeType":"YulExpressionStatement","src":"9880:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9751:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9762:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9770:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9781:4:150","type":""}],"src":"9654:266:150"}]},"contents":"{\n    { }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        let _2 := 64\n        pos := add(headStart, _2)\n        let tail_2 := add(add(headStart, shl(5, length)), _2)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            let _3 := mload(srcPtr)\n            let _4 := 0xc0\n            mstore(tail_2, mload(_3))\n            mstore(add(tail_2, _1), and(mload(add(_3, _1)), sub(shl(160, 1), 1)))\n            let memberValue0 := mload(add(_3, _2))\n            mstore(add(tail_2, _2), _4)\n            let tail_3 := abi_encode_string(memberValue0, add(tail_2, _4))\n            let _5 := 0x60\n            let memberValue0_1 := mload(add(_3, _5))\n            mstore(add(tail_2, _5), sub(tail_3, tail_2))\n            let tail_4 := abi_encode_string(memberValue0_1, tail_3)\n            let _6 := 0x80\n            mstore(add(tail_2, _6), mload(add(_3, _6)))\n            let _7 := 0xa0\n            mstore(add(tail_2, _7), iszero(iszero(mload(add(_3, _7)))))\n            tail_2 := tail_4\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, _1)\n        mstore(headStart, _1)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_2012() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_tuple_t_addresst_uint48t_uint32t_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let _1 := 32\n        let value_1 := calldataload(add(headStart, _1))\n        if iszero(eq(value_1, and(value_1, 0xffffffffffff))) { revert(0, 0) }\n        value1 := value_1\n        let value_2 := calldataload(add(headStart, 64))\n        if iszero(eq(value_2, and(value_2, 0xffffffff))) { revert(0, 0) }\n        value2 := value_2\n        let offset := calldataload(add(headStart, 96))\n        let _2 := sub(shl(64, 1), 1)\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := calldataload(_3)\n        if gt(_4, _2) { panic_error_0x41() }\n        let _5 := shl(5, _4)\n        let dst := allocate_memory(add(_5, _1))\n        let dst_1 := dst\n        mstore(dst, _4)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_3, _5), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            mstore(dst, calldataload(src))\n            dst := add(dst, _1)\n        }\n        value3 := dst_1\n    }\n    function abi_encode_tuple_t_struct$_RoundCore_$82969_memory_ptr__to_t_struct$_RoundCore_$82969_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, and(mload(value0), sub(shl(160, 1), 1)))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffff))\n        mstore(add(headStart, 0x40), and(mload(add(value0, 0x40)), 0xffffffff))\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_address_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_address(value)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        if gt(_1, sub(shl(64, 1), 1)) { panic_error_0x41() }\n        let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n        array := array_1\n    }\n    function abi_decode_bool_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_AppWithDetailsReturnType_$71146_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0xc0) { revert(0, 0) }\n        let value := allocate_memory_2012()\n        mstore(value, mload(_2))\n        mstore(add(value, 32), abi_decode_address_fromMemory(add(_2, 32)))\n        let offset_1 := mload(add(_2, 64))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(value, 64), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        let offset_2 := mload(add(_2, 96))\n        if gt(offset_2, _1) { revert(0, 0) }\n        mstore(add(value, 96), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n        mstore(add(value, 128), mload(add(_2, 128)))\n        mstore(add(value, 160), abi_decode_bool_fromMemory(add(_2, 160)))\n        value0 := value\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_address_t_uint48_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 160)\n        mstore(headStart, value0)\n        let _1 := 32\n        mstore(add(headStart, _1), and(value1, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 64), and(value2, 0xffffffffffff))\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), 160)\n        let pos := tail_1\n        let length := mload(value4)\n        mstore(tail_1, length)\n        pos := add(headStart, 192)\n        let srcPtr := add(value4, _1)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100985760003560e01c8063291605f71461009d5780635320a147146100c6578063561b64ef146100f157806359372812146101075780637ace24851461010f5780637ad59a231461012f5780638f1327c01461014f5780639cbe5efd1461019b578063d06efeda146101a3578063d3a368bd146101b6575b600080fd5b6100b06100ab3660046107d3565b6101c9565b6040516100bd919061083c565b60405180910390f35b6100d96100d43660046107d3565b6103d0565b6040516001600160a01b0390911681526020016100bd565b6100f96103f9565b6040519081526020016100bd565b6100f961042d565b61012261011d3660046107d3565b61047c565b6040516100bd91906108f9565b81801561013b57600080fd5b506100f961014a3660046109c3565b6104ef565b61016261015d3660046107d3565b610610565b6040805182516001600160a01b0316815260208084015165ffffffffffff16908201529181015163ffffffff16908201526060016100bd565b6100f9610690565b6100f96101b13660046107d3565b6106a2565b6100f96101c43660046107d3565b6106d1565b7f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00546060906001600160a01b0316600061020161071d565b600085815260028201602090815260408083208054825181850281018501909352808352949550929390929183018282801561025c57602002820191906000526020600020905b815481526020019060010190808311610248575b505050505090506000815190506000816001600160401b0381111561028357610283610955565b6040519080825280602002602001820160405280156102fb57816020015b6102e86040518060c001604052806000801916815260200160006001600160a01b031681526020016060815260200160608152602001600081526020016000151581525090565b8152602001906001900390816102a15790505b50905060005b828110156103c557856001600160a01b031663785d6e1885838151811061032a5761032a610ab4565b60200260200101516040518263ffffffff1660e01b815260040161035091815260200190565b600060405180830381865afa15801561036d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103959190810190610b55565b8282815181106103a7576103a7610ab4565b602002602001018190525080806103bd90610c31565b915050610301565b509695505050505050565b6000806103db61071d565b6000938452600101602052505060409020546001600160a01b031690565b60008061040461071d565b8054600090815260019091016020526040902054600160a01b900465ffffffffffff1692915050565b60008061043861071d565b805460008181526001830160205260409020549192509061047590600160d01b810463ffffffff1690600160a01b900465ffffffffffff16610c4a565b9250505090565b6060600061048861071d565b600084815260028201602090815260409182902080548351818402810184019094528084529394509192908301828280156104e257602002820191906000526020600020905b8154815260200190600101908083116104ce575b5050505050915050919050565b6000806104fa61071d565b9050806000016000815461050d90610c31565b9091555080546000818152600183016020526040902080546001600160a01b0319166001600160a01b03891617815590925061055065ffffffffffff8716610741565b8154600160a01b600160f01b031916600160a01b65ffffffffffff929092169190910263ffffffff60d01b191617600160d01b63ffffffff8716021781556000838152600283016020908152604090912085516105af9287019061077c565b507fed97f3daa22d7f521cfac2156e927c837565dd6980bd67cc6f7e53cc52ea09c88388886105ec63ffffffff8a1665ffffffffffff8316610c4a565b886040516105fe959493929190610c63565b60405180910390a15050949350505050565b604080516060810182526000808252602082018190529181018290529061063561071d565b60009384526001016020908152604093849020845160608101865290546001600160a01b0381168252600160a01b810465ffffffffffff1692820192909252600160d01b90910463ffffffff16938101939093525090919050565b60008061069b61071d565b5492915050565b6000806106ad61071d565b600093845260010160205250506040902054600160a01b900465ffffffffffff1690565b6000806106dc61071d565b600084815260018201602052604090205490915061071690600160d01b810463ffffffff1690600160a01b900465ffffffffffff16610c4a565b9392505050565b7f0f5210c47c3bb73c471770a1cbb5b7ddc03c0ec886694cc17ae21d1f595f190090565b600065ffffffffffff821115610778576040516306dfcc6560e41b8152603060048201526024810183905260440160405180910390fd5b5090565b8280548282559060005260206000209081019282156107b7579160200282015b828111156107b757825182559160200191906001019061079c565b506107789291505b8082111561077857600081556001016107bf565b6000602082840312156107e557600080fd5b5035919050565b60005b838110156108075781810151838201526020016107ef565b50506000910152565b600081518084526108288160208601602086016107ec565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156108eb57888303603f19018552815180518452878101516001600160a01b0316888501528681015160c0888601819052906108a482870182610810565b915050606080830151868303828801526108be8382610810565b6080858101519089015260a094850151151594909701939093525050509386019390860190600101610863565b509098975050505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561093157835183529284019291840191600101610915565b50909695505050505050565b6001600160a01b038116811461095257600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561098d5761098d610955565b60405290565b604051601f8201601f191681016001600160401b03811182821017156109bb576109bb610955565b604052919050565b600080600080608085870312156109d957600080fd5b84356109e48161093d565b935060208581013565ffffffffffff81168114610a0057600080fd5b9350604086013563ffffffff81168114610a1957600080fd5b925060608601356001600160401b0380821115610a3557600080fd5b818801915088601f830112610a4957600080fd5b813581811115610a5b57610a5b610955565b8060051b9150610a6c848301610993565b818152918301840191848101908b841115610a8657600080fd5b938501935b83851015610aa457843582529385019390850190610a8b565b989b979a50959850505050505050565b634e487b7160e01b600052603260045260246000fd5b8051610ad58161093d565b919050565b600082601f830112610aeb57600080fd5b81516001600160401b03811115610b0457610b04610955565b610b17601f8201601f1916602001610993565b818152846020838601011115610b2c57600080fd5b610b3d8260208301602087016107ec565b949350505050565b80518015158114610ad557600080fd5b600060208284031215610b6757600080fd5b81516001600160401b0380821115610b7e57600080fd5b9083019060c08286031215610b9257600080fd5b610b9a61096b565b82518152610baa60208401610aca565b6020820152604083015182811115610bc157600080fd5b610bcd87828601610ada565b604083015250606083015182811115610be557600080fd5b610bf187828601610ada565b60608301525060808301516080820152610c0d60a08401610b45565b60a082015295945050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201610c4357610c43610c1b565b5060010190565b80820180821115610c5d57610c5d610c1b565b92915050565b600060a08201878352602060018060a01b0388168185015265ffffffffffff8716604085015285606085015260a0608085015281855180845260c086019150828701935060005b81811015610cc657845183529383019391830191600101610caa565b50909a995050505050505050505056fea2646970667358221220c8f15c859171dde97455655c683861ad895af484cc844a3bb8494cb2f715ced064736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x98 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x291605F7 EQ PUSH2 0x9D JUMPI DUP1 PUSH4 0x5320A147 EQ PUSH2 0xC6 JUMPI DUP1 PUSH4 0x561B64EF EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0x59372812 EQ PUSH2 0x107 JUMPI DUP1 PUSH4 0x7ACE2485 EQ PUSH2 0x10F JUMPI DUP1 PUSH4 0x7AD59A23 EQ PUSH2 0x12F JUMPI DUP1 PUSH4 0x8F1327C0 EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0x9CBE5EFD EQ PUSH2 0x19B JUMPI DUP1 PUSH4 0xD06EFEDA EQ PUSH2 0x1A3 JUMPI DUP1 PUSH4 0xD3A368BD EQ PUSH2 0x1B6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB0 PUSH2 0xAB CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x1C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBD SWAP2 SWAP1 PUSH2 0x83C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD9 PUSH2 0xD4 CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x3D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xBD JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x3F9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xBD JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x42D JUMP JUMPDEST PUSH2 0x122 PUSH2 0x11D CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x47C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBD SWAP2 SWAP1 PUSH2 0x8F9 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF9 PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x9C3 JUMP JUMPDEST PUSH2 0x4EF JUMP JUMPDEST PUSH2 0x162 PUSH2 0x15D CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x610 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD PUSH4 0xFFFFFFFF AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0xBD JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x690 JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x1B1 CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x6A2 JUMP JUMPDEST PUSH2 0xF9 PUSH2 0x1C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x7D3 JUMP JUMPDEST PUSH2 0x6D1 JUMP JUMPDEST PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SLOAD PUSH1 0x60 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 PUSH2 0x201 PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP5 SWAP6 POP SWAP3 SWAP4 SWAP1 SWAP3 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x25C JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x248 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x283 JUMPI PUSH2 0x283 PUSH2 0x955 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2FB JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x2E8 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP1 NOT AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x2A1 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3C5 JUMPI DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x785D6E18 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x32A JUMPI PUSH2 0x32A PUSH2 0xAB4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x350 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x36D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x395 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0xB55 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3A7 JUMPI PUSH2 0x3A7 PUSH2 0xAB4 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP DUP1 DUP1 PUSH2 0x3BD SWAP1 PUSH2 0xC31 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x301 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3DB PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x404 PUSH2 0x71D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x438 PUSH2 0x71D JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x475 SWAP1 PUSH1 0x1 PUSH1 0xD0 SHL DUP2 DIV PUSH4 0xFFFFFFFF AND SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND PUSH2 0xC4A JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x488 PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE SWAP4 SWAP5 POP SWAP2 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x4E2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x4CE JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4FA PUSH2 0x71D JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 DUP2 SLOAD PUSH2 0x50D SWAP1 PUSH2 0xC31 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP DUP1 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR DUP2 SSTORE SWAP1 SWAP3 POP PUSH2 0x550 PUSH6 0xFFFFFFFFFFFF DUP8 AND PUSH2 0x741 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL PUSH1 0x1 PUSH1 0xF0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0xA0 SHL PUSH6 0xFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL PUSH4 0xFFFFFFFF PUSH1 0xD0 SHL NOT AND OR PUSH1 0x1 PUSH1 0xD0 SHL PUSH4 0xFFFFFFFF DUP8 AND MUL OR DUP2 SSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 DUP4 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP6 MLOAD PUSH2 0x5AF SWAP3 DUP8 ADD SWAP1 PUSH2 0x77C JUMP JUMPDEST POP PUSH32 0xED97F3DAA22D7F521CFAC2156E927C837565DD6980BD67CC6F7E53CC52EA09C8 DUP4 DUP9 DUP9 PUSH2 0x5EC PUSH4 0xFFFFFFFF DUP11 AND PUSH6 0xFFFFFFFFFFFF DUP4 AND PUSH2 0xC4A JUMP JUMPDEST DUP9 PUSH1 0x40 MLOAD PUSH2 0x5FE SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC63 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0x635 PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP4 DUP5 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x60 DUP2 ADD DUP7 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xD0 SHL SWAP1 SWAP2 DIV PUSH4 0xFFFFFFFF AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x69B PUSH2 0x71D JUMP JUMPDEST SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6AD PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x1 ADD PUSH1 0x20 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6DC PUSH2 0x71D JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x716 SWAP1 PUSH1 0x1 PUSH1 0xD0 SHL DUP2 DIV PUSH4 0xFFFFFFFF AND SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH6 0xFFFFFFFFFFFF AND PUSH2 0xC4A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0xF5210C47C3BB73C471770A1CBB5B7DDC03C0EC886694CC17AE21D1F595F1900 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x778 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x7B7 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x7B7 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x79C JUMP JUMPDEST POP PUSH2 0x778 SWAP3 SWAP2 POP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x778 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x7BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x807 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x7EF JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x828 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x7EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x8EB JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD DUP5 MSTORE DUP8 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP6 ADD MSTORE DUP7 DUP2 ADD MLOAD PUSH1 0xC0 DUP9 DUP7 ADD DUP2 SWAP1 MSTORE SWAP1 PUSH2 0x8A4 DUP3 DUP8 ADD DUP3 PUSH2 0x810 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0x8BE DUP4 DUP3 PUSH2 0x810 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD ISZERO ISZERO SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x863 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x931 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x915 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x952 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x98D JUMPI PUSH2 0x98D PUSH2 0x955 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x9BB JUMPI PUSH2 0x9BB PUSH2 0x955 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x9D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x9E4 DUP2 PUSH2 0x93D JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 DUP2 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xA00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xA19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0xA35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xA49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xA5B JUMPI PUSH2 0xA5B PUSH2 0x955 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP2 POP PUSH2 0xA6C DUP5 DUP4 ADD PUSH2 0x993 JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP2 DUP4 ADD DUP5 ADD SWAP2 DUP5 DUP2 ADD SWAP1 DUP12 DUP5 GT ISZERO PUSH2 0xA86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0xAA4 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0xA8B JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH2 0xAD5 DUP2 PUSH2 0x93D JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xAEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xB04 JUMPI PUSH2 0xB04 PUSH2 0x955 JUMP JUMPDEST PUSH2 0xB17 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x993 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0xB2C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB3D DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x7EC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xAD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0xB92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB9A PUSH2 0x96B JUMP JUMPDEST DUP3 MLOAD DUP2 MSTORE PUSH2 0xBAA PUSH1 0x20 DUP5 ADD PUSH2 0xACA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0xBC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBCD DUP8 DUP3 DUP7 ADD PUSH2 0xADA JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0xBE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBF1 DUP8 DUP3 DUP7 ADD PUSH2 0xADA JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0xC0D PUSH1 0xA0 DUP5 ADD PUSH2 0xB45 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0xC43 JUMPI PUSH2 0xC43 PUSH2 0xC1B JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xC5D JUMPI PUSH2 0xC5D PUSH2 0xC1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD DUP8 DUP4 MSTORE PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 DUP6 ADD MSTORE PUSH6 0xFFFFFFFFFFFF DUP8 AND PUSH1 0x40 DUP6 ADD MSTORE DUP6 PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x80 DUP6 ADD MSTORE DUP2 DUP6 MLOAD DUP1 DUP5 MSTORE PUSH1 0xC0 DUP7 ADD SWAP2 POP DUP3 DUP8 ADD SWAP4 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xCC6 JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xCAA JUMP JUMPDEST POP SWAP1 SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 CALL 0x5C DUP6 SWAP2 PUSH18 0xDDE97455655C683861AD895AF484CC844A3B 0xB8 0x49 0x4C 0xB2 0xF7 ISZERO 0xCE 0xD0 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"637:5261:144:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5147:749;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3902:249;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2507:32:150;;;2489:51;;2477:2;2462:18;3902:249:144;2335:211:150;2531:269:144;;;:::i;:::-;;;2705:25:150;;;2693:2;2678:18;2531:269:144;2551:185:150;2863:316:144;;;:::i;4232:267::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1352:814::-;;;;;;;;;;-1:-1:-1;1352:814:144;;;;;:::i;:::-;;:::i;4549:274::-;;;;;;:::i;:::-;;:::i;:::-;;;;5859:13:150;;-1:-1:-1;;;;;5855:39:150;5837:58;;5955:4;5943:17;;;5937:24;5963:14;5933:45;5911:20;;;5904:75;6027:17;;;6021:24;6047:10;6017:41;5995:20;;;5988:71;5825:2;5810:18;4549:274:144;5627:438:150;2250:221:144;;;:::i;3236:250::-;;;;;;:::i;:::-;;:::i;3546:302::-;;;;;;:::i;:::-;;:::i;5147:749::-;7283:32:149;5313:72:144;5219:53;;-1:-1:-1;;;;;5313:72:144;5280:30;5454:63;:61;:63::i;:::-;5524:28;5555:33;;;:24;;;:33;;;;;;;;5524:64;;;;;;;;;;;;;;;;;5391:126;;-1:-1:-1;5524:28:144;;:64;;5555:33;5524:64;;5555:33;5524:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5594:14;5611:11;:18;5594:35;;5635:61;5757:6;-1:-1:-1;;;;;5699:70:144;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5699:70:144;;;;;;;;;;;;;;;;;5635:134;;5781:6;5776:96;5793:6;5789:1;:10;5776:96;;;5827:18;-1:-1:-1;;;;;5827:22:144;;5850:11;5862:1;5850:14;;;;;;;;:::i;:::-;;;;;;;5827:38;;;;;;;;;;;;;2705:25:150;;2693:2;2678:18;;2551:185;5827:38:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5827:38:144;;;;;;;;;;;;:::i;:::-;5814:7;5822:1;5814:10;;;;;;;;:::i;:::-;;;;;;:51;;;;5801:3;;;;;:::i;:::-;;;;5776:96;;;-1:-1:-1;5884:7:144;5147:749;-1:-1:-1;;;;;;5147:749:144:o;3902:249::-;3965:7;3980:60;4043:63;:61;:63::i;:::-;4119:18;;;;:9;;:18;;-1:-1:-1;;4119:18:144;;;:27;-1:-1:-1;;;;;4119:27:144;;3902:249::o;2531:269::-;2586:7;2601:60;2664:63;:61;:63::i;:::-;2746:13;;2733:10;2772:13;;;:9;;;;:13;;;;;:23;-1:-1:-1;;;2772:23:144;;;;;;-1:-1:-1;;2531:269:144:o;2863:316::-;2918:7;2933:60;2996:63;:61;:63::i;:::-;3078:13;;3065:10;3147:13;;;:9;;;:13;;;;;:26;3078:13;;-1:-1:-1;3078:13:144;3104:70;;-1:-1:-1;;;3147:26:144;;;;;-1:-1:-1;;;3112:23:144;;;;3104:70;:::i;:::-;3097:77;;;;2863:316;:::o;4232:267::-;4298:16;4322:60;4385:63;:61;:63::i;:::-;4461:33;;;;:24;;;:33;;;;;;;;;4454:40;;;;;;;;;;;;;;;;;4322:126;;-1:-1:-1;4454:40:144;;;;;4461:33;4454:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4232:267;;;:::o;1352:814::-;1503:15;1526:60;1589:63;:61;:63::i;:::-;1526:126;;1661:1;:13;;;1659:15;;;;;:::i;:::-;;;;-1:-1:-1;1690:13:144;;;1766:18;;;:9;;;:18;;;;;1790:25;;-1:-1:-1;;;;;;1790:25:144;-1:-1:-1;;;;;1790:25:144;;;;;1690:13;;-1:-1:-1;1839:24:144;;;;:17;:24::i;:::-;1821:42;;-1:-1:-1;;;;;;;;1869:41:144;-1:-1:-1;;;1821:42:144;;;;;;;;;-1:-1:-1;;;;1869:41:144;;-1:-1:-1;;;1869:41:144;;;;;;;-1:-1:-1;2001:33:144;;;:24;;;:33;;;;;;;;:48;;;;;;;;:::i;:::-;-1:-1:-1;2061:100:144;2074:7;2083:8;2093:5;2100:46;2117:29;;;2100:14;;;:46;:::i;:::-;2148:12;2061:100;;;;;;;;;;:::i;:::-;;;;;;;;1520:646;;1352:814;;;;;;:::o;4549:274::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;4724:63:144;:61;:63::i;:::-;4800:18;;;;:9;;:18;;;;;;;;;4793:25;;;;;;;;;-1:-1:-1;;;;;4793:25:144;;;;-1:-1:-1;;;4793:25:144;;;;;;;;;;;-1:-1:-1;;;4793:25:144;;;;;;;;;;;;-1:-1:-1;4793:25:144;;;-1:-1:-1;4549:274:144:o;2250:221::-;2299:7;2314:60;2377:63;:61;:63::i;:::-;2453:13;;2250:221;-1:-1:-1;;2250:221:144:o;3236:250::-;3299:7;3314:60;3377:63;:61;:63::i;:::-;3453:18;;;;:9;;:18;;-1:-1:-1;;3453:18:144;;;:28;-1:-1:-1;;;3453:28:144;;;;;3236:250::o;3546:302::-;3609:7;3624:60;3687:63;:61;:63::i;:::-;3811:18;;;;:9;;;:18;;;;;:31;:9;;-1:-1:-1;3763:80:144;;-1:-1:-1;;;3811:31:144;;;;;-1:-1:-1;;;3771:28:144;;;;3763:80;:::i;:::-;3756:87;3546:302;-1:-1:-1;;;3546:302:144:o;6985:162:149:-;7109:28;;6985:162::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;9835:36:150;9887:18;;;9880:34;;;9808:18;;14416:41:37;;;;;;;14365:103;-1:-1:-1;14491:5:37;14291:213::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:180:150;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:150;;14:180;-1:-1:-1;14:180:150:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:150;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:150;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:150:o;730:1600::-;966:4;995:2;1035;1024:9;1020:18;1065:2;1054:9;1047:21;1088:6;1123;1117:13;1154:6;1146;1139:22;1180:2;1170:12;;1213:2;1202:9;1198:18;1191:25;;1275:2;1265:6;1262:1;1258:14;1247:9;1243:30;1239:39;1313:2;1305:6;1301:15;1334:1;1344:957;1358:6;1355:1;1352:13;1344:957;;;1423:22;;;-1:-1:-1;;1419:36:150;1407:49;;1479:13;;1547:9;;1532:25;;1604:11;;;1598:18;-1:-1:-1;;;;;1594:44:150;1577:15;;;1570:69;1678:11;;;1672:18;1515:4;1710:15;;;1703:27;;;1515:4;1757:48;1789:15;;;1672:18;1757:48;:::i;:::-;1743:62;;;1828:4;1881:2;1877;1873:11;1867:18;1934:6;1926;1922:19;1917:2;1909:6;1905:15;1898:44;1969:41;2003:6;1987:14;1969:41;:::i;:::-;2033:4;2080:11;;;2074:18;2057:15;;;2050:43;2116:4;2177:11;;;2171:18;2164:26;2157:34;2140:15;;;;2133:59;;;;-1:-1:-1;;;2279:12:150;;;;2244:15;;;;1380:1;1373:9;1344:957;;;-1:-1:-1;2318:6:150;;730:1600;-1:-1:-1;;;;;;;;730:1600:150:o;2741:640::-;2920:2;2972:21;;;3042:13;;2945:18;;;3064:22;;;2891:4;;2920:2;3143:15;;;;3117:2;3102:18;;;2891:4;3186:169;3200:6;3197:1;3194:13;3186:169;;;3261:13;;3249:26;;3330:15;;;;3295:12;;;;3222:1;3215:9;3186:169;;;-1:-1:-1;3372:3:150;;2741:640;-1:-1:-1;;;;;;2741:640:150:o;3386:131::-;-1:-1:-1;;;;;3461:31:150;;3451:42;;3441:70;;3507:1;3504;3497:12;3441:70;3386:131;:::o;3522:127::-;3583:10;3578:3;3574:20;3571:1;3564:31;3614:4;3611:1;3604:15;3638:4;3635:1;3628:15;3654:253;3726:2;3720:9;3768:4;3756:17;;-1:-1:-1;;;;;3788:34:150;;3824:22;;;3785:62;3782:88;;;3850:18;;:::i;:::-;3886:2;3879:22;3654:253;:::o;3912:275::-;3983:2;3977:9;4048:2;4029:13;;-1:-1:-1;;4025:27:150;4013:40;;-1:-1:-1;;;;;4068:34:150;;4104:22;;;4065:62;4062:88;;;4130:18;;:::i;:::-;4166:2;4159:22;3912:275;;-1:-1:-1;3912:275:150:o;4192:1430::-;4301:6;4309;4317;4325;4378:3;4366:9;4357:7;4353:23;4349:33;4346:53;;;4395:1;4392;4385:12;4346:53;4434:9;4421:23;4453:31;4478:5;4453:31;:::i;:::-;4503:5;-1:-1:-1;4527:2:150;4566:18;;;4553:32;4629:14;4616:28;;4604:41;;4594:69;;4659:1;4656;4649:12;4594:69;4682:7;-1:-1:-1;4741:2:150;4726:18;;4713:32;4789:10;4776:24;;4764:37;;4754:65;;4815:1;4812;4805:12;4754:65;4838:7;-1:-1:-1;4896:2:150;4881:18;;4868:32;-1:-1:-1;;;;;4949:14:150;;;4946:34;;;4976:1;4973;4966:12;4946:34;5014:6;5003:9;4999:22;4989:32;;5059:7;5052:4;5048:2;5044:13;5040:27;5030:55;;5081:1;5078;5071:12;5030:55;5117:2;5104:16;5139:2;5135;5132:10;5129:36;;;5145:18;;:::i;:::-;5191:2;5188:1;5184:10;5174:20;;5214:28;5238:2;5234;5230:11;5214:28;:::i;:::-;5276:15;;;5346:11;;;5342:20;;;5307:12;;;;5374:19;;;5371:39;;;5406:1;5403;5396:12;5371:39;5430:11;;;;5450:142;5466:6;5461:3;5458:15;5450:142;;;5532:17;;5520:30;;5483:12;;;;5570;;;;5450:142;;;4192:1430;;;;-1:-1:-1;4192:1430:150;;-1:-1:-1;;;;;;;4192:1430:150:o;6070:127::-;6131:10;6126:3;6122:20;6119:1;6112:31;6162:4;6159:1;6152:15;6186:4;6183:1;6176:15;6384:138;6463:13;;6485:31;6463:13;6485:31;:::i;:::-;6384:138;;;:::o;6527:510::-;6581:5;6634:3;6627:4;6619:6;6615:17;6611:27;6601:55;;6652:1;6649;6642:12;6601:55;6675:13;;-1:-1:-1;;;;;6700:26:150;;6697:52;;;6729:18;;:::i;:::-;6773:55;6816:2;6797:13;;-1:-1:-1;;6793:27:150;6822:4;6789:38;6773:55;:::i;:::-;6853:2;6844:7;6837:19;6899:3;6892:4;6887:2;6879:6;6875:15;6871:26;6868:35;6865:55;;;6916:1;6913;6906:12;6865:55;6929:77;7003:2;6996:4;6987:7;6983:18;6976:4;6968:6;6964:17;6929:77;:::i;:::-;7024:7;6527:510;-1:-1:-1;;;;6527:510:150:o;7042:164::-;7118:13;;7167;;7160:21;7150:32;;7140:60;;7196:1;7193;7186:12;7211:1065;7324:6;7377:2;7365:9;7356:7;7352:23;7348:32;7345:52;;;7393:1;7390;7383:12;7345:52;7420:16;;-1:-1:-1;;;;;7485:14:150;;;7482:34;;;7512:1;7509;7502:12;7482:34;7535:22;;;;7591:4;7573:16;;;7569:27;7566:47;;;7609:1;7606;7599:12;7566:47;7635:22;;:::i;:::-;7686:2;7680:9;7673:5;7666:24;7722:42;7760:2;7756;7752:11;7722:42;:::i;:::-;7717:2;7710:5;7706:14;7699:66;7804:2;7800;7796:11;7790:18;7833:2;7823:8;7820:16;7817:36;;;7849:1;7846;7839:12;7817:36;7885:56;7933:7;7922:8;7918:2;7914:17;7885:56;:::i;:::-;7880:2;7873:5;7869:14;7862:80;;7981:2;7977;7973:11;7967:18;8010:2;8000:8;7997:16;7994:36;;;8026:1;8023;8016:12;7994:36;8062:56;8110:7;8099:8;8095:2;8091:17;8062:56;:::i;:::-;8057:2;8050:5;8046:14;8039:80;;8166:3;8162:2;8158:12;8152:19;8146:3;8139:5;8135:15;8128:44;8205:40;8240:3;8236:2;8232:12;8205:40;:::i;:::-;8199:3;8188:15;;8181:65;8192:5;7211:1065;-1:-1:-1;;;;;7211:1065:150:o;8281:127::-;8342:10;8337:3;8333:20;8330:1;8323:31;8373:4;8370:1;8363:15;8397:4;8394:1;8387:15;8413:135;8452:3;8473:17;;;8470:43;;8493:18;;:::i;:::-;-1:-1:-1;8540:1:150;8529:13;;8413:135::o;8553:125::-;8618:9;;;8639:10;;;8636:36;;;8652:18;;:::i;:::-;8553:125;;;;:::o;8683:966::-;8936:4;8984:3;8973:9;8969:19;9015:6;9004:9;8997:25;9041:2;9108:1;9104;9099:3;9095:11;9091:19;9083:6;9079:32;9074:2;9063:9;9059:18;9052:60;9160:14;9152:6;9148:27;9143:2;9132:9;9128:18;9121:55;9212:6;9207:2;9196:9;9192:18;9185:34;9256:3;9250;9239:9;9235:19;9228:32;9280:6;9315;9309:13;9346:6;9338;9331:22;9384:3;9373:9;9369:19;9362:26;;9423:2;9415:6;9411:15;9397:29;;9444:1;9454:169;9468:6;9465:1;9462:13;9454:169;;;9529:13;;9517:26;;9598:15;;;;9563:12;;;;9490:1;9483:9;9454:169;;;-1:-1:-1;9640:3:150;;8683:966;-1:-1:-1;;;;;;;;;;8683:966:150:o"},"methodIdentifiers":{"createRound(address,uint48,uint32,bytes32[])":"7ad59a23","currentRoundDeadline()":"59372812","currentRoundId()":"9cbe5efd","currentRoundSnapshot()":"561b64ef","getAppIdsOfRound(uint256)":"7ace2485","getAppsOfRound(uint256)":"291605f7","getRound(uint256)":"8f1327c0","roundDeadline(uint256)":"d3a368bd","roundProposer(uint256)":"5320a147","roundSnapshot(uint256)":"d06efeda"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"appsIds\",\"type\":\"bytes32[]\"}],\"name\":\"RoundCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"currentRoundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentRoundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppIdsOfRound\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAppsOfRound\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"teamWalletAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"appAvailableForAllocationVoting\",\"type\":\"bool\"}],\"internalType\":\"struct X2EarnAppsDataTypes.AppWithDetailsReturnType[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getRound\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"voteStart\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"voteDuration\",\"type\":\"uint32\"}],\"internalType\":\"struct XAllocationVotingStorageTypes.RoundCore\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"roundSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Handles round creation and read access. Does NOT orchestrate external calls (finalization, earnings snapshots, relayer rewards) \\u2014 the caller is responsible for that.\",\"errors\":{\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"RoundCreated(uint256,address,uint256,uint256,bytes32[])\":{\"details\":\"Emitted when a new round is created\"}},\"kind\":\"dev\",\"methods\":{\"createRound(address,uint48,uint32,bytes32[])\":{\"details\":\"Create a new round. Increments round count, stores RoundCore, and emits RoundCreated. Does NOT finalize the previous round, snapshot earnings, or call external contracts.\",\"params\":{\"clock\":\"The current clock value (block number / timestamp)\",\"proposer\":\"The address of the proposer\",\"votingPeriodDuration\":\"The duration of the voting period\"},\"returns\":{\"roundId\":\"The id of the new round Emits a {RoundCreated} event\"}},\"currentRoundDeadline()\":{\"details\":\"Get the current round deadline block\"},\"currentRoundId()\":{\"details\":\"Get the current round id\"},\"currentRoundSnapshot()\":{\"details\":\"Get the current round start block\"},\"getAppIdsOfRound(uint256)\":{\"details\":\"Get the ids of the apps eligible for voting in a round\"},\"getAppsOfRound(uint256)\":{\"details\":\"Get all the apps in the form of {AppWithDetailsReturnType} eligible for voting in a round\",\"params\":{\"roundId\":\"The round to query\"}},\"getRound(uint256)\":{\"details\":\"Get the data of a round\"},\"roundDeadline(uint256)\":{\"details\":\"Get the deadline block of a round\"},\"roundProposer(uint256)\":{\"details\":\"Get the proposer of a round\"},\"roundSnapshot(uint256)\":{\"details\":\"Get the start block of a round\"}},\"title\":\"RoundsStorageUtils\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getAppsOfRound(uint256)\":{\"notice\":\"This function could not be efficient with a large number of apps, in that case, use {getAppIdsOfRound} and then call {IX2EarnApps-app} for each app id\"}},\"notice\":\"Library for round lifecycle storage operations.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol\":\"RoundsStorageUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/RoundsStorageUtils.sol\":{\"keccak256\":\"0x36fd15fd1e1198c921cecc24b4e3f36c6001b2815f060f4e136b0dae546b2621\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a34eb82c770573781d1b44102191ee132507a1583a6f34583fa2632e176501d2\",\"dweb:/ipfs/QmTz1hpwE74WXrtFFBNvm4oM4jKAvxrufxFf6TLuRayi6V\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol":{"VotesQuorumFractionUtils":{"abi":[{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"name":"GovernorInvalidQuorumFraction","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldQuorumNumerator","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"name":"QuorumNumeratorUpdated","type":"event"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"610aa861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100775760003560e01c80634fa76ec91461007c57806360c4247f1461009657806397c3d334146100a9578063a7713a701461007c578063af741595146100b0578063bd88fe32146100d2578063f8ce560a146100f2575b600080fd5b610084610105565b60405190815260200160405180910390f35b6100846100a4366004610936565b61012a565b6064610084565b8180156100bc57600080fd5b506100d06100cb36600461094f565b6101c3565b005b8180156100de57600080fd5b506100d06100ed36600461094f565b610244565b610084610100366004610936565b6102ca565b600080610110610411565b905061011b81610435565b6001600160d01b031691505090565b600080610135610411565b80549091506000826101486001846109a0565b81548110610158576101586109b3565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031686821161019c576001600160d01b03169695505050505050565b6101af6101a88861047d565b86906104b4565b6001600160d01b0316979650505050505050565b60006101cd610411565b90506064808411156101ff57838160405163243e544560e01b81526004016101f69291906109c9565b60405180910390fd5b6102148361020c8661055e565b849190610592565b5050600080516020610a538339815191526000856040516102369291906109c9565b60405180910390a150505050565b60648083111561026b57828160405163243e544560e01b81526004016101f69291906109c9565b6000610275610411565b9050600061028282610435565b6001600160d01b0316905061029a8461020c8761055e565b5050600080516020610a5383398151915281866040516102bb9291906109c9565b60405180910390a15050505050565b60007f6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab500816102f6610411565b8054909150600090818361030b6001846109a0565b8154811061031b5761031b6109b3565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031688821161035d57806001600160d01b0316945061037c565b6103706103698a61047d565b87906104b4565b6001600160d01b031694505b50505050610388606490565b8354604051632394e7a360e21b81526004810188905283916001600160a01b031690638e539e8c90602401602060405180830381865afa1580156103d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f491906109d7565b6103fe91906109f0565b6104089190610a1d565b95945050505050565b7f49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c3240090565b805460009080156104735761045d8361044f6001846109a0565b600091825260209091200190565b54600160301b90046001600160d01b0316610476565b60005b9392505050565b600065ffffffffffff8211156104b0576040516306dfcc6560e41b815260306004820152602481018390526044016101f6565b5090565b8154600090818160058111156105135760006104cf846105ad565b6104d990856109a0565b60008881526020902090915081015465ffffffffffff908116908716101561050357809150610511565b61050e816001610a3f565b92505b505b600061052187878585610695565b9050801561054e576105388761044f6001846109a0565b54600160301b90046001600160d01b0316610551565b60005b9450505050505b92915050565b60006001600160d01b038211156104b0576040516306dfcc6560e41b815260d06004820152602481018390526044016101f6565b6000806105a08585856106f7565b915091505b935093915050565b6000816000036105bf57506000919050565b600060016105cc84610871565b901c6001901b905060018184816105e5576105e5610a07565b048201901c905060018184816105fd576105fd610a07565b048201901c9050600181848161061557610615610a07565b048201901c9050600181848161062d5761062d610a07565b048201901c9050600181848161064557610645610a07565b048201901c9050600181848161065d5761065d610a07565b048201901c9050600181848161067557610675610a07565b048201901c90506104768182858161068f5761068f610a07565b04610905565b60005b818310156106ef5760006106ac848461091b565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156106db578092506106e9565b6106e6816001610a3f565b93505b50610698565b509392505050565b8254600090819080156108165760006107158761044f6001856109a0565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561076957604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036107b5578461078c8861044f6001866109a0565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055610806565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506105a59050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816105a5565b600080608083901c1561088657608092831c92015b604083901c1561089857604092831c92015b602083901c156108aa57602092831c92015b601083901c156108bc57601092831c92015b600883901c156108ce57600892831c92015b600483901c156108e057600492831c92015b600283901c156108f257600292831c92015b600183901c156105585760010192915050565b60008183106109145781610476565b5090919050565b600061092a6002848418610a1d565b61047690848416610a3f565b60006020828403121561094857600080fd5b5035919050565b6000806040838503121561096257600080fd5b82359150602083013565ffffffffffff8116811461097f57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105585761055861098a565b634e487b7160e01b600052603260045260246000fd5b918252602082015260400190565b6000602082840312156109e957600080fd5b5051919050565b80820281158282048414176105585761055861098a565b634e487b7160e01b600052601260045260246000fd5b600082610a3a57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105585761055861098a56fe0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997a2646970667358221220624d0d5490f0cf00bca421e360dcf499bf7fbe2123d0d5e1130e3945f3eaf39c64736f6c63430008140033","opcodes":"PUSH2 0xAA8 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x77 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4FA76EC9 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xA9 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xAF741595 EQ PUSH2 0xB0 JUMPI DUP1 PUSH4 0xBD88FE32 EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xF2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x84 PUSH2 0x105 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x84 PUSH2 0xA4 CALLDATASIZE PUSH1 0x4 PUSH2 0x936 JUMP JUMPDEST PUSH2 0x12A JUMP JUMPDEST PUSH1 0x64 PUSH2 0x84 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH2 0xCB CALLDATASIZE PUSH1 0x4 PUSH2 0x94F JUMP JUMPDEST PUSH2 0x1C3 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH2 0xED CALLDATASIZE PUSH1 0x4 PUSH2 0x94F JUMP JUMPDEST PUSH2 0x244 JUMP JUMPDEST PUSH2 0x84 PUSH2 0x100 CALLDATASIZE PUSH1 0x4 PUSH2 0x936 JUMP JUMPDEST PUSH2 0x2CA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x110 PUSH2 0x411 JUMP JUMPDEST SWAP1 POP PUSH2 0x11B DUP2 PUSH2 0x435 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x135 PUSH2 0x411 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 DUP3 PUSH2 0x148 PUSH1 0x1 DUP5 PUSH2 0x9A0 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x158 JUMPI PUSH2 0x158 PUSH2 0x9B3 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP7 DUP3 GT PUSH2 0x19C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AF PUSH2 0x1A8 DUP9 PUSH2 0x47D JUMP JUMPDEST DUP7 SWAP1 PUSH2 0x4B4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CD PUSH2 0x411 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP1 DUP5 GT ISZERO PUSH2 0x1FF JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F6 SWAP3 SWAP2 SWAP1 PUSH2 0x9C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x214 DUP4 PUSH2 0x20C DUP7 PUSH2 0x55E JUMP JUMPDEST DUP5 SWAP2 SWAP1 PUSH2 0x592 JUMP JUMPDEST POP POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA53 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 DUP6 PUSH1 0x40 MLOAD PUSH2 0x236 SWAP3 SWAP2 SWAP1 PUSH2 0x9C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x26B JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F6 SWAP3 SWAP2 SWAP1 PUSH2 0x9C9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x275 PUSH2 0x411 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x282 DUP3 PUSH2 0x435 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP1 POP PUSH2 0x29A DUP5 PUSH2 0x20C DUP8 PUSH2 0x55E JUMP JUMPDEST POP POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA53 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 DUP7 PUSH1 0x40 MLOAD PUSH2 0x2BB SWAP3 SWAP2 SWAP1 PUSH2 0x9C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x6EB1BF0A160CDF1B5E63F5E5C6B310F6C2542CD9E2A47FF1BC977C526DFAB500 DUP2 PUSH2 0x2F6 PUSH2 0x411 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 DUP2 DUP4 PUSH2 0x30B PUSH1 0x1 DUP5 PUSH2 0x9A0 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x31B JUMPI PUSH2 0x31B PUSH2 0x9B3 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP9 DUP3 GT PUSH2 0x35D JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x37C JUMP JUMPDEST PUSH2 0x370 PUSH2 0x369 DUP11 PUSH2 0x47D JUMP JUMPDEST DUP8 SWAP1 PUSH2 0x4B4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP JUMPDEST POP POP POP POP PUSH2 0x388 PUSH1 0x64 SWAP1 JUMP JUMPDEST DUP4 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE DUP4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3F4 SWAP2 SWAP1 PUSH2 0x9D7 JUMP JUMPDEST PUSH2 0x3FE SWAP2 SWAP1 PUSH2 0x9F0 JUMP JUMPDEST PUSH2 0x408 SWAP2 SWAP1 PUSH2 0xA1D JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x49D99284D013647F52E2A267FD5944583BD36BE17443E784EC3E86BBD4C32400 SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x473 JUMPI PUSH2 0x45D DUP4 PUSH2 0x44F PUSH1 0x1 DUP5 PUSH2 0x9A0 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x476 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4B0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x1F6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x513 JUMPI PUSH1 0x0 PUSH2 0x4CF DUP5 PUSH2 0x5AD JUMP JUMPDEST PUSH2 0x4D9 SWAP1 DUP6 PUSH2 0x9A0 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x503 JUMPI DUP1 SWAP2 POP PUSH2 0x511 JUMP JUMPDEST PUSH2 0x50E DUP2 PUSH1 0x1 PUSH2 0xA3F JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x521 DUP8 DUP8 DUP6 DUP6 PUSH2 0x695 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x54E JUMPI PUSH2 0x538 DUP8 PUSH2 0x44F PUSH1 0x1 DUP5 PUSH2 0x9A0 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x551 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP5 POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x4B0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x1F6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x5A0 DUP6 DUP6 DUP6 PUSH2 0x6F7 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x5BF JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x5CC DUP5 PUSH2 0x871 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x5E5 JUMPI PUSH2 0x5E5 PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x5FD JUMPI PUSH2 0x5FD PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x615 JUMPI PUSH2 0x615 PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x62D JUMPI PUSH2 0x62D PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x645 JUMPI PUSH2 0x645 PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x65D JUMPI PUSH2 0x65D PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x675 JUMPI PUSH2 0x675 PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x476 DUP2 DUP3 DUP6 DUP2 PUSH2 0x68F JUMPI PUSH2 0x68F PUSH2 0xA07 JUMP JUMPDEST DIV PUSH2 0x905 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH2 0x6AC DUP5 DUP5 PUSH2 0x91B JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x6DB JUMPI DUP1 SWAP3 POP PUSH2 0x6E9 JUMP JUMPDEST PUSH2 0x6E6 DUP2 PUSH1 0x1 PUSH2 0xA3F JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x698 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x816 JUMPI PUSH1 0x0 PUSH2 0x715 DUP8 PUSH2 0x44F PUSH1 0x1 DUP6 PUSH2 0x9A0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x769 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x7B5 JUMPI DUP5 PUSH2 0x78C DUP9 PUSH2 0x44F PUSH1 0x1 DUP7 PUSH2 0x9A0 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x806 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x5A5 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x5A5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x886 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x898 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x8AA JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x8BC JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x8CE JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x8E0 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x8F2 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x558 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x914 JUMPI DUP2 PUSH2 0x476 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x92A PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0xA1D JUMP JUMPDEST PUSH2 0x476 SWAP1 DUP5 DUP5 AND PUSH2 0xA3F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x948 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x97F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x558 JUMPI PUSH2 0x558 PUSH2 0x98A JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x558 JUMPI PUSH2 0x558 PUSH2 0x98A JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xA3A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x558 JUMPI PUSH2 0x558 PUSH2 0x98A JUMP INVALID SDIV MSTORE8 SELFBALANCE PUSH12 0xF02EF2726E8CE5CED78D63E2 PUSH15 0x602E4A2257B1F559418E24B4633997 LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH3 0x4D0D54 SWAP1 CREATE 0xCF STOP 0xBC LOG4 0x21 0xE3 PUSH1 0xDC DELEGATECALL SWAP10 0xBF PUSH32 0xBE2123D0D5E1130E3945F3EAF39C64736F6C6343000814003300000000000000 ","sourceMap":"1810:5800:145:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1810:5800:145;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getVotesQuorumFractionStorage_83050":{"entryPoint":1041,"id":83050,"parameterSlots":0,"returnSlots":1},"@_getVotesStorage_83042":{"entryPoint":null,"id":83042,"parameterSlots":0,"returnSlots":1},"@_insert_9806":{"entryPoint":1783,"id":9806,"parameterSlots":3,"returnSlots":2},"@_unsafeAccess_9925":{"entryPoint":null,"id":9925,"parameterSlots":2,"returnSlots":1},"@_upperBinaryLookup_9858":{"entryPoint":1685,"id":9858,"parameterSlots":4,"returnSlots":1},"@average_6189":{"entryPoint":2331,"id":6189,"parameterSlots":2,"returnSlots":1},"@initialize_82167":{"entryPoint":451,"id":82167,"parameterSlots":2,"returnSlots":0},"@latest_9634":{"entryPoint":1077,"id":9634,"parameterSlots":1,"returnSlots":1},"@log2_6671":{"entryPoint":2161,"id":6671,"parameterSlots":1,"returnSlots":1},"@min_6166":{"entryPoint":2309,"id":6166,"parameterSlots":2,"returnSlots":1},"@push_9437":{"entryPoint":1426,"id":9437,"parameterSlots":3,"returnSlots":2},"@quorumDenominator_82261":{"entryPoint":null,"id":82261,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_82188":{"entryPoint":null,"id":82188,"parameterSlots":0,"returnSlots":1},"@quorumNumerator_82252":{"entryPoint":298,"id":82252,"parameterSlots":1,"returnSlots":1},"@quorumPercentage_82433":{"entryPoint":261,"id":82433,"parameterSlots":0,"returnSlots":1},"@quorum_82355":{"entryPoint":714,"id":82355,"parameterSlots":1,"returnSlots":1},"@sqrt_6504":{"entryPoint":1453,"id":6504,"parameterSlots":1,"returnSlots":1},"@toUint208_7210":{"entryPoint":1374,"id":7210,"parameterSlots":1,"returnSlots":1},"@toUint48_7770":{"entryPoint":1149,"id":7770,"parameterSlots":1,"returnSlots":1},"@updateQuorumNumerator_82412":{"entryPoint":580,"id":82412,"parameterSlots":2,"returnSlots":0},"@upperLookupRecent_9604":{"entryPoint":1204,"id":9604,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":2358,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":2519,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_uint48":{"entryPoint":2383,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":2505,"id":null,"parameterSlots":3,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":2623,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":2589,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":2544,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":2464,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":2442,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":2567,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":2483,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3221:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"123:76:150","statements":[{"nodeType":"YulAssignment","src":"133:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"145:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"156:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"141:3:150"},"nodeType":"YulFunctionCall","src":"141:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"133:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"175:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"186:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"168:6:150"},"nodeType":"YulFunctionCall","src":"168:25:150"},"nodeType":"YulExpressionStatement","src":"168:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"92:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"103:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"114:4:150","type":""}],"src":"14:185:150"},{"body":{"nodeType":"YulBlock","src":"274:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"320:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"329:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"332:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"322:6:150"},"nodeType":"YulFunctionCall","src":"322:12:150"},"nodeType":"YulExpressionStatement","src":"322:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"295:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"304:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"291:3:150"},"nodeType":"YulFunctionCall","src":"291:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"316:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"287:3:150"},"nodeType":"YulFunctionCall","src":"287:32:150"},"nodeType":"YulIf","src":"284:52:150"},{"nodeType":"YulAssignment","src":"345:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"368:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"355:12:150"},"nodeType":"YulFunctionCall","src":"355:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"345:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"240:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"251:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"263:6:150","type":""}],"src":"204:180:150"},{"body":{"nodeType":"YulBlock","src":"475:262:150","statements":[{"body":{"nodeType":"YulBlock","src":"521:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"530:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"533:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"523:6:150"},"nodeType":"YulFunctionCall","src":"523:12:150"},"nodeType":"YulExpressionStatement","src":"523:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"496:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"505:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"492:3:150"},"nodeType":"YulFunctionCall","src":"492:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"517:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"488:3:150"},"nodeType":"YulFunctionCall","src":"488:32:150"},"nodeType":"YulIf","src":"485:52:150"},{"nodeType":"YulAssignment","src":"546:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"569:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"556:12:150"},"nodeType":"YulFunctionCall","src":"556:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"546:6:150"}]},{"nodeType":"YulVariableDeclaration","src":"588:45:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"618:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"629:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"614:3:150"},"nodeType":"YulFunctionCall","src":"614:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"601:12:150"},"nodeType":"YulFunctionCall","src":"601:32:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"592:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"691:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"700:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"703:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"693:6:150"},"nodeType":"YulFunctionCall","src":"693:12:150"},"nodeType":"YulExpressionStatement","src":"693:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"655:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"666:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"673:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"662:3:150"},"nodeType":"YulFunctionCall","src":"662:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"652:2:150"},"nodeType":"YulFunctionCall","src":"652:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"645:6:150"},"nodeType":"YulFunctionCall","src":"645:45:150"},"nodeType":"YulIf","src":"642:65:150"},{"nodeType":"YulAssignment","src":"716:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"726:5:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"716:6:150"}]}]},"name":"abi_decode_tuple_t_uint256t_uint48","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"433:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"444:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"456:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"464:6:150","type":""}],"src":"389:348:150"},{"body":{"nodeType":"YulBlock","src":"774:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"791:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"798:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"803:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"794:3:150"},"nodeType":"YulFunctionCall","src":"794:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"784:6:150"},"nodeType":"YulFunctionCall","src":"784:31:150"},"nodeType":"YulExpressionStatement","src":"784:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"831:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"834:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"824:6:150"},"nodeType":"YulFunctionCall","src":"824:15:150"},"nodeType":"YulExpressionStatement","src":"824:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"855:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"858:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"848:6:150"},"nodeType":"YulFunctionCall","src":"848:15:150"},"nodeType":"YulExpressionStatement","src":"848:15:150"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"742:127:150"},{"body":{"nodeType":"YulBlock","src":"923:79:150","statements":[{"nodeType":"YulAssignment","src":"933:17:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"945:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"948:1:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"941:3:150"},"nodeType":"YulFunctionCall","src":"941:9:150"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"933:4:150"}]},{"body":{"nodeType":"YulBlock","src":"974:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"976:16:150"},"nodeType":"YulFunctionCall","src":"976:18:150"},"nodeType":"YulExpressionStatement","src":"976:18:150"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"965:4:150"},{"name":"x","nodeType":"YulIdentifier","src":"971:1:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"962:2:150"},"nodeType":"YulFunctionCall","src":"962:11:150"},"nodeType":"YulIf","src":"959:37:150"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"905:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"908:1:150","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"914:4:150","type":""}],"src":"874:128:150"},{"body":{"nodeType":"YulBlock","src":"1039:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1056:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1063:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1068:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1059:3:150"},"nodeType":"YulFunctionCall","src":"1059:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1049:6:150"},"nodeType":"YulFunctionCall","src":"1049:31:150"},"nodeType":"YulExpressionStatement","src":"1049:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1096:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1099:4:150","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1089:6:150"},"nodeType":"YulFunctionCall","src":"1089:15:150"},"nodeType":"YulExpressionStatement","src":"1089:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1120:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1123:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1113:6:150"},"nodeType":"YulFunctionCall","src":"1113:15:150"},"nodeType":"YulExpressionStatement","src":"1113:15:150"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"1007:127:150"},{"body":{"nodeType":"YulBlock","src":"1268:119:150","statements":[{"nodeType":"YulAssignment","src":"1278:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1290:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1301:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1286:3:150"},"nodeType":"YulFunctionCall","src":"1286:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1278:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1320:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1331:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1313:6:150"},"nodeType":"YulFunctionCall","src":"1313:25:150"},"nodeType":"YulExpressionStatement","src":"1313:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1358:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1369:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1354:3:150"},"nodeType":"YulFunctionCall","src":"1354:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"1374:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1347:6:150"},"nodeType":"YulFunctionCall","src":"1347:34:150"},"nodeType":"YulExpressionStatement","src":"1347:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1229:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1240:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1248:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1259:4:150","type":""}],"src":"1139:248:150"},{"body":{"nodeType":"YulBlock","src":"1529:119:150","statements":[{"nodeType":"YulAssignment","src":"1539:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1551:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1562:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1547:3:150"},"nodeType":"YulFunctionCall","src":"1547:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1539:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1581:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1592:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1574:6:150"},"nodeType":"YulFunctionCall","src":"1574:25:150"},"nodeType":"YulExpressionStatement","src":"1574:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1619:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1630:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1615:3:150"},"nodeType":"YulFunctionCall","src":"1615:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"1635:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1608:6:150"},"nodeType":"YulFunctionCall","src":"1608:34:150"},"nodeType":"YulExpressionStatement","src":"1608:34:150"}]},"name":"abi_encode_tuple_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1490:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1501:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1509:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1520:4:150","type":""}],"src":"1392:256:150"},{"body":{"nodeType":"YulBlock","src":"1754:76:150","statements":[{"nodeType":"YulAssignment","src":"1764:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1776:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1787:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1772:3:150"},"nodeType":"YulFunctionCall","src":"1772:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1764:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1806:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1817:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1799:6:150"},"nodeType":"YulFunctionCall","src":"1799:25:150"},"nodeType":"YulExpressionStatement","src":"1799:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1723:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1734:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1745:4:150","type":""}],"src":"1653:177:150"},{"body":{"nodeType":"YulBlock","src":"1916:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"1962:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1971:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1974:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1964:6:150"},"nodeType":"YulFunctionCall","src":"1964:12:150"},"nodeType":"YulExpressionStatement","src":"1964:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1937:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1946:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1933:3:150"},"nodeType":"YulFunctionCall","src":"1933:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1958:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1929:3:150"},"nodeType":"YulFunctionCall","src":"1929:32:150"},"nodeType":"YulIf","src":"1926:52:150"},{"nodeType":"YulAssignment","src":"1987:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2003:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1997:5:150"},"nodeType":"YulFunctionCall","src":"1997:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1987:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1882:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1893:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1905:6:150","type":""}],"src":"1835:184:150"},{"body":{"nodeType":"YulBlock","src":"2076:116:150","statements":[{"nodeType":"YulAssignment","src":"2086:20:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2101:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2104:1:150"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2097:3:150"},"nodeType":"YulFunctionCall","src":"2097:9:150"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"2086:7:150"}]},{"body":{"nodeType":"YulBlock","src":"2164:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2166:16:150"},"nodeType":"YulFunctionCall","src":"2166:18:150"},"nodeType":"YulExpressionStatement","src":"2166:18:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2135:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2128:6:150"},"nodeType":"YulFunctionCall","src":"2128:9:150"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2142:1:150"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"2149:7:150"},{"name":"x","nodeType":"YulIdentifier","src":"2158:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2145:3:150"},"nodeType":"YulFunctionCall","src":"2145:15:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2139:2:150"},"nodeType":"YulFunctionCall","src":"2139:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2125:2:150"},"nodeType":"YulFunctionCall","src":"2125:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2118:6:150"},"nodeType":"YulFunctionCall","src":"2118:45:150"},"nodeType":"YulIf","src":"2115:71:150"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2055:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2058:1:150","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"2064:7:150","type":""}],"src":"2024:168:150"},{"body":{"nodeType":"YulBlock","src":"2229:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2246:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2253:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2258:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2249:3:150"},"nodeType":"YulFunctionCall","src":"2249:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2239:6:150"},"nodeType":"YulFunctionCall","src":"2239:31:150"},"nodeType":"YulExpressionStatement","src":"2239:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2286:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2289:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2279:6:150"},"nodeType":"YulFunctionCall","src":"2279:15:150"},"nodeType":"YulExpressionStatement","src":"2279:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2310:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2313:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2303:6:150"},"nodeType":"YulFunctionCall","src":"2303:15:150"},"nodeType":"YulExpressionStatement","src":"2303:15:150"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"2197:127:150"},{"body":{"nodeType":"YulBlock","src":"2375:171:150","statements":[{"body":{"nodeType":"YulBlock","src":"2406:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2427:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2434:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2439:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2430:3:150"},"nodeType":"YulFunctionCall","src":"2430:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2420:6:150"},"nodeType":"YulFunctionCall","src":"2420:31:150"},"nodeType":"YulExpressionStatement","src":"2420:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2471:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2474:4:150","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2464:6:150"},"nodeType":"YulFunctionCall","src":"2464:15:150"},"nodeType":"YulExpressionStatement","src":"2464:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2499:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2502:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2492:6:150"},"nodeType":"YulFunctionCall","src":"2492:15:150"},"nodeType":"YulExpressionStatement","src":"2492:15:150"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"2395:1:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2388:6:150"},"nodeType":"YulFunctionCall","src":"2388:9:150"},"nodeType":"YulIf","src":"2385:132:150"},{"nodeType":"YulAssignment","src":"2526:14:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2535:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2538:1:150"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"2531:3:150"},"nodeType":"YulFunctionCall","src":"2531:9:150"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2526:1:150"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2360:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2363:1:150","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"2369:1:150","type":""}],"src":"2329:217:150"},{"body":{"nodeType":"YulBlock","src":"2687:130:150","statements":[{"nodeType":"YulAssignment","src":"2697:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2709:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2720:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2705:3:150"},"nodeType":"YulFunctionCall","src":"2705:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2697:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2739:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2754:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2762:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2750:3:150"},"nodeType":"YulFunctionCall","src":"2750:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2732:6:150"},"nodeType":"YulFunctionCall","src":"2732:36:150"},"nodeType":"YulExpressionStatement","src":"2732:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2788:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2799:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2784:3:150"},"nodeType":"YulFunctionCall","src":"2784:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"2804:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2777:6:150"},"nodeType":"YulFunctionCall","src":"2777:34:150"},"nodeType":"YulExpressionStatement","src":"2777:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2648:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2659:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2667:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2678:4:150","type":""}],"src":"2551:266:150"},{"body":{"nodeType":"YulBlock","src":"2870:77:150","statements":[{"nodeType":"YulAssignment","src":"2880:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2891:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"2894:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2887:3:150"},"nodeType":"YulFunctionCall","src":"2887:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"2880:3:150"}]},{"body":{"nodeType":"YulBlock","src":"2919:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2921:16:150"},"nodeType":"YulFunctionCall","src":"2921:18:150"},"nodeType":"YulExpressionStatement","src":"2921:18:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2911:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"2914:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2908:2:150"},"nodeType":"YulFunctionCall","src":"2908:10:150"},"nodeType":"YulIf","src":"2905:36:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2853:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"2856:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"2862:3:150","type":""}],"src":"2822:125:150"},{"body":{"nodeType":"YulBlock","src":"3089:130:150","statements":[{"nodeType":"YulAssignment","src":"3099:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3111:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3122:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3107:3:150"},"nodeType":"YulFunctionCall","src":"3107:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3099:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3141:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3156:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"3164:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3152:3:150"},"nodeType":"YulFunctionCall","src":"3152:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3134:6:150"},"nodeType":"YulFunctionCall","src":"3134:36:150"},"nodeType":"YulExpressionStatement","src":"3134:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3190:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3201:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3186:3:150"},"nodeType":"YulFunctionCall","src":"3186:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"3206:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3179:6:150"},"nodeType":"YulFunctionCall","src":"3179:34:150"},"nodeType":"YulExpressionStatement","src":"3179:34:150"}]},"name":"abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3050:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3061:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3069:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3080:4:150","type":""}],"src":"2952:267:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_decode_tuple_t_uint256t_uint48(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value1 := value\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(x, y)\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_rational_208_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100775760003560e01c80634fa76ec91461007c57806360c4247f1461009657806397c3d334146100a9578063a7713a701461007c578063af741595146100b0578063bd88fe32146100d2578063f8ce560a146100f2575b600080fd5b610084610105565b60405190815260200160405180910390f35b6100846100a4366004610936565b61012a565b6064610084565b8180156100bc57600080fd5b506100d06100cb36600461094f565b6101c3565b005b8180156100de57600080fd5b506100d06100ed36600461094f565b610244565b610084610100366004610936565b6102ca565b600080610110610411565b905061011b81610435565b6001600160d01b031691505090565b600080610135610411565b80549091506000826101486001846109a0565b81548110610158576101586109b3565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031686821161019c576001600160d01b03169695505050505050565b6101af6101a88861047d565b86906104b4565b6001600160d01b0316979650505050505050565b60006101cd610411565b90506064808411156101ff57838160405163243e544560e01b81526004016101f69291906109c9565b60405180910390fd5b6102148361020c8661055e565b849190610592565b5050600080516020610a538339815191526000856040516102369291906109c9565b60405180910390a150505050565b60648083111561026b57828160405163243e544560e01b81526004016101f69291906109c9565b6000610275610411565b9050600061028282610435565b6001600160d01b0316905061029a8461020c8761055e565b5050600080516020610a5383398151915281866040516102bb9291906109c9565b60405180910390a15050505050565b60007f6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab500816102f6610411565b8054909150600090818361030b6001846109a0565b8154811061031b5761031b6109b3565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031688821161035d57806001600160d01b0316945061037c565b6103706103698a61047d565b87906104b4565b6001600160d01b031694505b50505050610388606490565b8354604051632394e7a360e21b81526004810188905283916001600160a01b031690638e539e8c90602401602060405180830381865afa1580156103d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f491906109d7565b6103fe91906109f0565b6104089190610a1d565b95945050505050565b7f49d99284d013647f52e2a267fd5944583bd36be17443e784ec3e86bbd4c3240090565b805460009080156104735761045d8361044f6001846109a0565b600091825260209091200190565b54600160301b90046001600160d01b0316610476565b60005b9392505050565b600065ffffffffffff8211156104b0576040516306dfcc6560e41b815260306004820152602481018390526044016101f6565b5090565b8154600090818160058111156105135760006104cf846105ad565b6104d990856109a0565b60008881526020902090915081015465ffffffffffff908116908716101561050357809150610511565b61050e816001610a3f565b92505b505b600061052187878585610695565b9050801561054e576105388761044f6001846109a0565b54600160301b90046001600160d01b0316610551565b60005b9450505050505b92915050565b60006001600160d01b038211156104b0576040516306dfcc6560e41b815260d06004820152602481018390526044016101f6565b6000806105a08585856106f7565b915091505b935093915050565b6000816000036105bf57506000919050565b600060016105cc84610871565b901c6001901b905060018184816105e5576105e5610a07565b048201901c905060018184816105fd576105fd610a07565b048201901c9050600181848161061557610615610a07565b048201901c9050600181848161062d5761062d610a07565b048201901c9050600181848161064557610645610a07565b048201901c9050600181848161065d5761065d610a07565b048201901c9050600181848161067557610675610a07565b048201901c90506104768182858161068f5761068f610a07565b04610905565b60005b818310156106ef5760006106ac848461091b565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156106db578092506106e9565b6106e6816001610a3f565b93505b50610698565b509392505050565b8254600090819080156108165760006107158761044f6001856109a0565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561076957604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036107b5578461078c8861044f6001866109a0565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055610806565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506105a59050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816105a5565b600080608083901c1561088657608092831c92015b604083901c1561089857604092831c92015b602083901c156108aa57602092831c92015b601083901c156108bc57601092831c92015b600883901c156108ce57600892831c92015b600483901c156108e057600492831c92015b600283901c156108f257600292831c92015b600183901c156105585760010192915050565b60008183106109145781610476565b5090919050565b600061092a6002848418610a1d565b61047690848416610a3f565b60006020828403121561094857600080fd5b5035919050565b6000806040838503121561096257600080fd5b82359150602083013565ffffffffffff8116811461097f57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105585761055861098a565b634e487b7160e01b600052603260045260246000fd5b918252602082015260400190565b6000602082840312156109e957600080fd5b5051919050565b80820281158282048414176105585761055861098a565b634e487b7160e01b600052601260045260246000fd5b600082610a3a57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105585761055861098a56fe0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997a2646970667358221220624d0d5490f0cf00bca421e360dcf499bf7fbe2123d0d5e1130e3945f3eaf39c64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x77 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4FA76EC9 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0x60C4247F EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0x97C3D334 EQ PUSH2 0xA9 JUMPI DUP1 PUSH4 0xA7713A70 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xAF741595 EQ PUSH2 0xB0 JUMPI DUP1 PUSH4 0xBD88FE32 EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0xF8CE560A EQ PUSH2 0xF2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x84 PUSH2 0x105 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x84 PUSH2 0xA4 CALLDATASIZE PUSH1 0x4 PUSH2 0x936 JUMP JUMPDEST PUSH2 0x12A JUMP JUMPDEST PUSH1 0x64 PUSH2 0x84 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xBC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH2 0xCB CALLDATASIZE PUSH1 0x4 PUSH2 0x94F JUMP JUMPDEST PUSH2 0x1C3 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH2 0xED CALLDATASIZE PUSH1 0x4 PUSH2 0x94F JUMP JUMPDEST PUSH2 0x244 JUMP JUMPDEST PUSH2 0x84 PUSH2 0x100 CALLDATASIZE PUSH1 0x4 PUSH2 0x936 JUMP JUMPDEST PUSH2 0x2CA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x110 PUSH2 0x411 JUMP JUMPDEST SWAP1 POP PUSH2 0x11B DUP2 PUSH2 0x435 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x135 PUSH2 0x411 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 DUP3 PUSH2 0x148 PUSH1 0x1 DUP5 PUSH2 0x9A0 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x158 JUMPI PUSH2 0x158 PUSH2 0x9B3 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP7 DUP3 GT PUSH2 0x19C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AF PUSH2 0x1A8 DUP9 PUSH2 0x47D JUMP JUMPDEST DUP7 SWAP1 PUSH2 0x4B4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CD PUSH2 0x411 JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP1 DUP5 GT ISZERO PUSH2 0x1FF JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F6 SWAP3 SWAP2 SWAP1 PUSH2 0x9C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x214 DUP4 PUSH2 0x20C DUP7 PUSH2 0x55E JUMP JUMPDEST DUP5 SWAP2 SWAP1 PUSH2 0x592 JUMP JUMPDEST POP POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA53 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x0 DUP6 PUSH1 0x40 MLOAD PUSH2 0x236 SWAP3 SWAP2 SWAP1 PUSH2 0x9C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x64 DUP1 DUP4 GT ISZERO PUSH2 0x26B JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH4 0x243E5445 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F6 SWAP3 SWAP2 SWAP1 PUSH2 0x9C9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x275 PUSH2 0x411 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x282 DUP3 PUSH2 0x435 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP1 POP PUSH2 0x29A DUP5 PUSH2 0x20C DUP8 PUSH2 0x55E JUMP JUMPDEST POP POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA53 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 DUP7 PUSH1 0x40 MLOAD PUSH2 0x2BB SWAP3 SWAP2 SWAP1 PUSH2 0x9C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x6EB1BF0A160CDF1B5E63F5E5C6B310F6C2542CD9E2A47FF1BC977C526DFAB500 DUP2 PUSH2 0x2F6 PUSH2 0x411 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 DUP2 DUP4 PUSH2 0x30B PUSH1 0x1 DUP5 PUSH2 0x9A0 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x31B JUMPI PUSH2 0x31B PUSH2 0x9B3 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP2 AND SWAP1 PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND DUP9 DUP3 GT PUSH2 0x35D JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP PUSH2 0x37C JUMP JUMPDEST PUSH2 0x370 PUSH2 0x369 DUP11 PUSH2 0x47D JUMP JUMPDEST DUP8 SWAP1 PUSH2 0x4B4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND SWAP5 POP JUMPDEST POP POP POP POP PUSH2 0x388 PUSH1 0x64 SWAP1 JUMP JUMPDEST DUP4 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2394E7A3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP9 SWAP1 MSTORE DUP4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x8E539E8C SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3F4 SWAP2 SWAP1 PUSH2 0x9D7 JUMP JUMPDEST PUSH2 0x3FE SWAP2 SWAP1 PUSH2 0x9F0 JUMP JUMPDEST PUSH2 0x408 SWAP2 SWAP1 PUSH2 0xA1D JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x49D99284D013647F52E2A267FD5944583BD36BE17443E784EC3E86BBD4C32400 SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP1 ISZERO PUSH2 0x473 JUMPI PUSH2 0x45D DUP4 PUSH2 0x44F PUSH1 0x1 DUP5 PUSH2 0x9A0 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SWAP1 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x476 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4B0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x1F6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x513 JUMPI PUSH1 0x0 PUSH2 0x4CF DUP5 PUSH2 0x5AD JUMP JUMPDEST PUSH2 0x4D9 SWAP1 DUP6 PUSH2 0x9A0 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP DUP2 ADD SLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 AND SWAP1 DUP8 AND LT ISZERO PUSH2 0x503 JUMPI DUP1 SWAP2 POP PUSH2 0x511 JUMP JUMPDEST PUSH2 0x50E DUP2 PUSH1 0x1 PUSH2 0xA3F JUMP JUMPDEST SWAP3 POP JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x521 DUP8 DUP8 DUP6 DUP6 PUSH2 0x695 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x54E JUMPI PUSH2 0x538 DUP8 PUSH2 0x44F PUSH1 0x1 DUP5 PUSH2 0x9A0 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x30 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH2 0x551 JUMP JUMPDEST PUSH1 0x0 JUMPDEST SWAP5 POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP3 GT ISZERO PUSH2 0x4B0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x1F6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x5A0 DUP6 DUP6 DUP6 PUSH2 0x6F7 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0x5BF JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x5CC DUP5 PUSH2 0x871 JUMP JUMPDEST SWAP1 SHR PUSH1 0x1 SWAP1 SHL SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x5E5 JUMPI PUSH2 0x5E5 PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x5FD JUMPI PUSH2 0x5FD PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x615 JUMPI PUSH2 0x615 PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x62D JUMPI PUSH2 0x62D PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x645 JUMPI PUSH2 0x645 PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x65D JUMPI PUSH2 0x65D PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP5 DUP2 PUSH2 0x675 JUMPI PUSH2 0x675 PUSH2 0xA07 JUMP JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH2 0x476 DUP2 DUP3 DUP6 DUP2 PUSH2 0x68F JUMPI PUSH2 0x68F PUSH2 0xA07 JUMP JUMPDEST DIV PUSH2 0x905 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP4 LT ISZERO PUSH2 0x6EF JUMPI PUSH1 0x0 PUSH2 0x6AC DUP5 DUP5 PUSH2 0x91B JUMP JUMPDEST PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 SWAP2 POP PUSH6 0xFFFFFFFFFFFF DUP7 AND SWAP1 DUP3 ADD SLOAD PUSH6 0xFFFFFFFFFFFF AND GT ISZERO PUSH2 0x6DB JUMPI DUP1 SWAP3 POP PUSH2 0x6E9 JUMP JUMPDEST PUSH2 0x6E6 DUP2 PUSH1 0x1 PUSH2 0xA3F JUMP JUMPDEST SWAP4 POP JUMPDEST POP PUSH2 0x698 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP1 ISZERO PUSH2 0x816 JUMPI PUSH1 0x0 PUSH2 0x715 DUP8 PUSH2 0x44F PUSH1 0x1 DUP6 PUSH2 0x9A0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE SWAP1 SLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND DUP1 DUP5 MSTORE PUSH1 0x1 PUSH1 0x30 SHL SWAP1 SWAP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB AND PUSH1 0x20 DUP5 ADD MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 AND LT ISZERO PUSH2 0x769 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2520601D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND SWAP2 AND SUB PUSH2 0x7B5 JUMPI DUP5 PUSH2 0x78C DUP9 PUSH2 0x44F PUSH1 0x1 DUP7 PUSH2 0x9A0 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x806 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP9 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP9 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP12 SLOAD PUSH1 0x1 DUP2 ADD DUP14 SSTORE PUSH1 0x0 DUP14 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP5 MLOAD SWAP2 MLOAD SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP2 ADD SSTORE JUMPDEST PUSH1 0x20 ADD MLOAD SWAP3 POP DUP4 SWAP2 POP PUSH2 0x5A5 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 DUP6 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xD0 SHL SUB DUP1 DUP6 AND PUSH1 0x20 DUP1 DUP6 ADD SWAP2 DUP3 MSTORE DUP9 SLOAD PUSH1 0x1 DUP2 ADD DUP11 SSTORE PUSH1 0x0 DUP11 DUP2 MSTORE SWAP2 DUP3 KECCAK256 SWAP6 MLOAD SWAP3 MLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x30 SHL MUL SWAP2 SWAP1 SWAP4 AND OR SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP DUP2 PUSH2 0x5A5 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x80 DUP4 SWAP1 SHR ISZERO PUSH2 0x886 JUMPI PUSH1 0x80 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x40 DUP4 SWAP1 SHR ISZERO PUSH2 0x898 JUMPI PUSH1 0x40 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x20 DUP4 SWAP1 SHR ISZERO PUSH2 0x8AA JUMPI PUSH1 0x20 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x10 DUP4 SWAP1 SHR ISZERO PUSH2 0x8BC JUMPI PUSH1 0x10 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x8 DUP4 SWAP1 SHR ISZERO PUSH2 0x8CE JUMPI PUSH1 0x8 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x4 DUP4 SWAP1 SHR ISZERO PUSH2 0x8E0 JUMPI PUSH1 0x4 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x2 DUP4 SWAP1 SHR ISZERO PUSH2 0x8F2 JUMPI PUSH1 0x2 SWAP3 DUP4 SHR SWAP3 ADD JUMPDEST PUSH1 0x1 DUP4 SWAP1 SHR ISZERO PUSH2 0x558 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x914 JUMPI DUP2 PUSH2 0x476 JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x92A PUSH1 0x2 DUP5 DUP5 XOR PUSH2 0xA1D JUMP JUMPDEST PUSH2 0x476 SWAP1 DUP5 DUP5 AND PUSH2 0xA3F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x948 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x97F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x558 JUMPI PUSH2 0x558 PUSH2 0x98A JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x558 JUMPI PUSH2 0x558 PUSH2 0x98A JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xA3A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x558 JUMPI PUSH2 0x558 PUSH2 0x98A JUMP INVALID SDIV MSTORE8 SELFBALANCE PUSH12 0xF02EF2726E8CE5CED78D63E2 PUSH15 0x602E4A2257B1F559418E24B4633997 LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH3 0x4D0D54 SWAP1 CREATE 0xCF STOP 0xBC LOG4 0x21 0xE3 PUSH1 0xDC DELEGATECALL SWAP10 0xBF PUSH32 0xBE2123D0D5E1130E3945F3EAF39C64736F6C6343000814003300000000000000 ","sourceMap":"1810:5800:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7353:255;;;:::i;:::-;;;168:25:150;;;156:2;141:18;7353:255:145;;;;;;;3854:716;;;;;;:::i;:::-;;:::i;4684:80::-;4756:3;4684:80;;2599:559;;;;;;;;;;-1:-1:-1;2599:559:145;;;;;:::i;:::-;;:::i;:::-;;6560:647;;;;;;;;;;-1:-1:-1;6560:647:145;;;;;:::i;:::-;;:::i;5087:995::-;;;;;;:::i;:::-;;:::i;7353:255::-;7404:7;7419:72;7494:62;:60;:62::i;:::-;7419:137;-1:-1:-1;7569:34:145;7419:137;7569:32;:34::i;:::-;-1:-1:-1;;;;;7562:41:145;;;;7353:255;:::o;3854:716::-;3921:7;3936:72;4011:62;:60;:62::i;:::-;4097:45;;3936:137;;-1:-1:-1;4080:14:145;3936:137;4285:10;4294:1;4097:45;4285:10;:::i;:::-;4246:50;;;;;;;;:::i;:::-;;;;;;;;;;4321:11;;4246:50;;-1:-1:-1;4321:11:145;;;;-1:-1:-1;;;4360:13:145;;-1:-1:-1;;;;;4360:13:145;4383:22;;;4379:61;;-1:-1:-1;;;;;4415:18:145;;3854:716;-1:-1:-1;;;;;;3854:716:145:o;4379:61::-;4492:73;4536:28;4554:9;4536:17;:28::i;:::-;4492:1;;:43;:73::i;:::-;-1:-1:-1;;;;;4485:80:145;;3854:716;-1:-1:-1;;;;;;;3854:716:145:o;2599:559::-;2685:72;2760:62;:60;:62::i;:::-;2685:137;-1:-1:-1;4756:3:145;2880:34;;;2876:126;;;2961:20;2983:11;2931:64;;-1:-1:-1;;;2931:64:145;;;;;;;;;:::i;:::-;;;;;;;;2876:126;3008:86;3039:12;3053:40;3072:20;3053:18;:40::i;:::-;3008:1;;:86;:30;:86::i;:::-;;;-1:-1:-1;;;;;;;;;;;3129:1:145;3132:20;3106:47;;;;;;;:::i;:::-;;;;;;;;2679:479;;2599:559;;:::o;6560:647::-;4756:3;6706:32;;;6702:122;;;6785:18;6805:11;6755:62;;-1:-1:-1;;;6755:62:145;;;;;;;;;:::i;6702:122::-;6830:72;6905:62;:60;:62::i;:::-;6830:137;-1:-1:-1;6974:26:145;7003:34;6830:137;7003:32;:34::i;:::-;-1:-1:-1;;;;;6974:63:145;;;7044:84;7075:12;7089:38;7108:18;7089;:38::i;7044:84::-;;;-1:-1:-1;;;;;;;;;;;7163:18:145;7183;7140:62;;;;;;;:::i;:::-;;;;;;;;6649:558;;;6560:647;;:::o;5087:995::-;5145:7;6233:20:149;5145:7:145;5355:62;:60;:62::i;:::-;5558:45;;5280:137;;-1:-1:-1;5510:17:145;;;5280:137;5693:10;5702:1;5558:45;5693:10;:::i;:::-;5654:50;;;;;;;;:::i;:::-;;;;;;;;;;5731:11;;5654:50;;-1:-1:-1;5731:11:145;;;;-1:-1:-1;;;5772:13:145;;-1:-1:-1;;;;;5772:13:145;5797:22;;;5793:180;;5843:11;-1:-1:-1;;;;;5831:23:145;;;5793:180;;;5891:73;5935:28;5953:9;5935:17;:28::i;:::-;5891:1;;:43;:73::i;:::-;-1:-1:-1;;;;;5879:85:145;;;5793:180;5533:446;;;;6058:19;4756:3;;4684:80;6058:19;5993;;:49;;-1:-1:-1;;;5993:49:145;;;;;168:25:150;;;6045:9:145;;-1:-1:-1;;;;;5993:19:145;;:38;;141:18:150;;5993:49:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;5992:85;;;;:::i;:::-;5985:92;5087:995;-1:-1:-1;;;;;5087:995:145:o;6267:180:149:-;6403:34;;6267:180::o;10167:206:39:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;10318:41;:48;-1:-1:-1;;;10318:48:39;;-1:-1:-1;;;;;10318:48:39;10303:63;;;10314:1;10303:63;10296:70;10167:206;-1:-1:-1;;;10167:206:39:o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;2732:36:150;2784:18;;;2777:34;;;2705:18;;14416:41:37;2551:266:150;14365:103:37;-1:-1:-1;14491:5:37;14291:213::o;9441:606:39:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:39;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:39;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;9992:41::-;:48;-1:-1:-1;;;9992:48:39;;-1:-1:-1;;;;;9992:48:39;9977:63;;;9988:1;9977:63;9970:70;;;;;;9441:606;;;;;:::o;4169:218:37:-;4226:7;-1:-1:-1;;;;;4249:25:37;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:37;;4328:3;4297:42;;;2732:36:150;2784:18;;;2777:34;;;2705:18;;4297:42:37;2551:266:150;8050:162:39;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;8587:1642:36:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:36;;8587:1642;-1:-1:-1;8587:1642:36:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:39:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:39;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:39;12736:433;-1:-1:-1;;;12736:433:39:o;11513:870::-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11747:56:39;;;-1:-1:-1;;;;;11747:56:39;;;;;;;-1:-1:-1;11877:15:39;;;-1:-1:-1;11873:91:39;;;11919:30;;-1:-1:-1;;;11919:30:39;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:39;;;;-1:-1:-1;;;12063:43:39;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:39;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:39;;;;;;;;;;;;;;-1:-1:-1;;;12145:52:39;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:39;;-1:-1:-1;12225:27:39;;-1:-1:-1;12225:27:39;11668:709;-1:-1:-1;;12293:41:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:39;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:39;;;;;;;;;;;;;-1:-1:-1;;;12283:52:39;;;;;;;;;;;;-1:-1:-1;;12327:5:39;12349:17;;10699:983:36;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:36:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;;-1:-1:-1;2649:1:36;;2634:20;-1:-1:-1;2557:104:36:o;2774:153::-;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;204:180:150:-;263:6;316:2;304:9;295:7;291:23;287:32;284:52;;;332:1;329;322:12;284:52;-1:-1:-1;355:23:150;;204:180;-1:-1:-1;204:180:150:o;389:348::-;456:6;464;517:2;505:9;496:7;492:23;488:32;485:52;;;533:1;530;523:12;485:52;569:9;556:23;546:33;;629:2;618:9;614:18;601:32;673:14;666:5;662:26;655:5;652:37;642:65;;703:1;700;693:12;642:65;726:5;716:15;;;389:348;;;;;:::o;742:127::-;803:10;798:3;794:20;791:1;784:31;834:4;831:1;824:15;858:4;855:1;848:15;874:128;941:9;;;962:11;;;959:37;;;976:18;;:::i;1007:127::-;1068:10;1063:3;1059:20;1056:1;1049:31;1099:4;1096:1;1089:15;1123:4;1120:1;1113:15;1139:248;1313:25;;;1369:2;1354:18;;1347:34;1301:2;1286:18;;1139:248::o;1835:184::-;1905:6;1958:2;1946:9;1937:7;1933:23;1929:32;1926:52;;;1974:1;1971;1964:12;1926:52;-1:-1:-1;1997:16:150;;1835:184;-1:-1:-1;1835:184:150:o;2024:168::-;2097:9;;;2128;;2145:15;;;2139:22;;2125:37;2115:71;;2166:18;;:::i;2197:127::-;2258:10;2253:3;2249:20;2246:1;2239:31;2289:4;2286:1;2279:15;2313:4;2310:1;2303:15;2329:217;2369:1;2395;2385:132;;2439:10;2434:3;2430:20;2427:1;2420:31;2474:4;2471:1;2464:15;2502:4;2499:1;2492:15;2385:132;-1:-1:-1;2531:9:150;;2329:217::o;2822:125::-;2887:9;;;2908:10;;;2905:36;;;2921:18;;:::i"},"methodIdentifiers":{"initialize(uint256,uint48)":"af741595","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","quorumPercentage()":"4fa76ec9","updateQuorumNumerator(uint256,uint48)":"bd88fe32"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldQuorumNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extracted from VotesQuorumFractionUpgradeable module. Uses ERC-7201 namespaced storage.      Cross-reads VotesStorage for the token (to get pastTotalSupply for quorum calculation).\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum set is not a valid fraction.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{\"initialize(uint256,uint48)\":{\"details\":\"The fraction is specified as `numerator / denominator`. The denominator is 100,      so quorum is specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply.\",\"params\":{\"currentClock\":\"The current clock value (passed by caller to avoid cross-reading VotesStorage)\",\"quorumNumeratorValue\":\"The initial quorum numerator value\"}},\"quorum(uint256)\":{\"details\":\"Cross-reads VotesStorage to get the token for getPastTotalSupply.\",\"params\":{\"timepoint\":\"The timepoint to query\"},\"returns\":{\"_0\":\"The quorum (minimum votes required) at the given timepoint\"}},\"quorumDenominator()\":{\"returns\":{\"_0\":\"The quorum denominator\"}},\"quorumNumerator()\":{\"returns\":{\"_0\":\"The latest quorum numerator value\"}},\"quorumNumerator(uint256)\":{\"details\":\"Uses an optimistic lookup on the latest checkpoint, falling back to binary search.\",\"params\":{\"timepoint\":\"The timepoint to query\"},\"returns\":{\"_0\":\"The quorum numerator at the given timepoint\"}},\"quorumPercentage()\":{\"returns\":{\"_0\":\"The current quorum percentage\"}},\"updateQuorumNumerator(uint256,uint48)\":{\"details\":\"Validates the new numerator and pushes it to the checkpoint history.      Receives clock as param to avoid needing VotesStorage. Emits a {QuorumNumeratorUpdated} event. Requirements: - New numerator must be smaller or equal to the denominator.\",\"params\":{\"currentClock\":\"The current clock value (passed by caller)\",\"newQuorumNumerator\":\"The new quorum numerator value\"}}},\"title\":\"VotesQuorumFractionUtils\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"initialize(uint256,uint48)\":{\"notice\":\"Initialize quorum as a fraction of the token's total supply.\"},\"quorum(uint256)\":{\"notice\":\"Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\"},\"quorumDenominator()\":{\"notice\":\"Returns the quorum denominator. Defaults to 100.\"},\"quorumNumerator()\":{\"notice\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"notice\":\"Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\"},\"quorumPercentage()\":{\"notice\":\"Returns the current quorum percentage (alias for latest quorumNumerator).\"},\"updateQuorumNumerator(uint256,uint48)\":{\"notice\":\"Changes the quorum numerator.\"}},\"notice\":\"Library for managing quorum as a fraction of total token supply in the XAllocationVoting system.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol\":\"VotesQuorumFractionUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/VotesQuorumFractionUtils.sol\":{\"keccak256\":\"0x5150e2d8f20e4f0d2b738fa7f311a0afb831759aaa3e5670315bce0095063cbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://284ca8044affe6919d9e62e87bad5196b2225da372c88cbb374c3dedc96e24e6\",\"dweb:/ipfs/QmVJMMT7mCVuVTb5H6dk334PoL7Mjpi9ekqbC3GzKPcXWW\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol":{"VotesUtils":{"abi":[{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6107e861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80634bf5d7e91461005b57806391ddadf414610079578063b623d38414610098578063eb9019d4146100ba575b600080fd5b6100636100db565b60405161007091906105bd565b60405180910390f35b610081610197565b60405165ffffffffffff9091168152602001610070565b8180156100a457600080fd5b506100b86100b3366004610608565b61021c565b005b6100cd6100c836600461062c565b610248565b604051908152602001610070565b606060006100e761052a565b805460408051634bf5d7e960e01b815290519293506001600160a01b0390911691634bf5d7e9916004808201926000929091908290030181865afa92505050801561015457506040513d6000823e601f3d908101601f19168201604052610151919081019061066e565b60015b61019157505060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b92915050565b6000806101a261052a565b8054604080516324776b7d60e21b815290519293506001600160a01b03909116916391ddadf4916004808201926020929091908290030181865afa92505050801561020a575060408051601f3d908101601f191682019092526102079181019061071a565b60015b6101915761021661054e565b91505090565b600061022661052a565b80546001600160a01b0319166001600160a01b03939093169290921790915550565b60008061025361052a565b8054604051630748d63560e31b81529192507f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00916000916001600160a01b031690633a46b1a8906102aa9089908990600401610742565b602060405180830381865afa1580156102c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102eb919061075b565b60068301549091506001600160a01b0316801580159061038457506040516318be49d960e01b81526000906001600160a01b038316906318be49d990610337908b908b90600401610742565b602060405180830381865afa158015610354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103789190610774565b6001600160a01b031614155b156104035760405163c61c06e760e01b81526001600160a01b0382169063c61c06e7906103b7908a908a90600401610742565b602060405180830381865afa1580156103d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f8919061075b565b945050505050610191565b60048301546001600160a01b031680156104935760405163a56b576560e01b81526001600160a01b0382169063a56b576590610445908b908b90600401610742565b602060405180830381865afa158015610462573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610486919061075b565b6104909084610791565b92505b6001600160a01b0382161561051e5760405163094f6f2960e21b81526001600160a01b0383169063253dbca4906104d0908b908b90600401610742565b602060405180830381865afa1580156104ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610511919061075b565b61051b9084610791565b92505b50909695505050505050565b7f6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab50090565b60006105594361055e565b905090565b600065ffffffffffff821115610595576040516306dfcc6560e41b8152603060048201526024810183905260440160405180910390fd5b5090565b60005b838110156105b457818101518382015260200161059c565b50506000910152565b60208152600082518060208401526105dc816040850160208701610599565b601f01601f19169190910160400192915050565b6001600160a01b038116811461060557600080fd5b50565b60006020828403121561061a57600080fd5b8135610625816105f0565b9392505050565b6000806040838503121561063f57600080fd5b823561064a816105f0565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561068057600080fd5b81516001600160401b038082111561069757600080fd5b818401915084601f8301126106ab57600080fd5b8151818111156106bd576106bd610658565b604051601f8201601f19908116603f011681019083821181831017156106e5576106e5610658565b816040528281528760208487010111156106fe57600080fd5b61070f836020830160208801610599565b979650505050505050565b60006020828403121561072c57600080fd5b815165ffffffffffff8116811461062557600080fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561076d57600080fd5b5051919050565b60006020828403121561078657600080fd5b8151610625816105f0565b8082018082111561019157634e487b7160e01b600052601160045260246000fdfea26469706673582212201747c1cb9d3a93239cd9bd7818d84e31710c1ace5f26859012fae7de8ab5414464736f6c63430008140033","opcodes":"PUSH2 0x7E8 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xB623D384 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xBA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63 PUSH2 0xDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x81 PUSH2 0x197 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x70 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB8 PUSH2 0xB3 CALLDATASIZE PUSH1 0x4 PUSH2 0x608 JUMP JUMPDEST PUSH2 0x21C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCD PUSH2 0xC8 CALLDATASIZE PUSH1 0x4 PUSH2 0x62C JUMP JUMPDEST PUSH2 0x248 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x70 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE7 PUSH2 0x52A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x4BF5D7E9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x4BF5D7E9 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x154 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x151 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x66E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x191 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A2 PUSH2 0x52A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x24776B7D PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x91DDADF4 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x20A JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x207 SWAP2 DUP2 ADD SWAP1 PUSH2 0x71A JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x191 JUMPI PUSH2 0x216 PUSH2 0x54E JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x226 PUSH2 0x52A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x253 PUSH2 0x52A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP2 PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0x2AA SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2C7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2EB SWAP2 SWAP1 PUSH2 0x75B JUMP JUMPDEST PUSH1 0x6 DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x384 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x337 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x354 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x378 SWAP2 SWAP1 PUSH2 0x774 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x403 JUMPI PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x3B7 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3D4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x75B JUMP JUMPDEST SWAP5 POP POP POP POP POP PUSH2 0x191 JUMP JUMPDEST PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 ISZERO PUSH2 0x493 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xA56B5765 SWAP1 PUSH2 0x445 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x462 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x486 SWAP2 SWAP1 PUSH2 0x75B JUMP JUMPDEST PUSH2 0x490 SWAP1 DUP5 PUSH2 0x791 JUMP JUMPDEST SWAP3 POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x51E JUMPI PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x4D0 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4ED JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x511 SWAP2 SWAP1 PUSH2 0x75B JUMP JUMPDEST PUSH2 0x51B SWAP1 DUP5 PUSH2 0x791 JUMP JUMPDEST SWAP3 POP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x6EB1BF0A160CDF1B5E63F5E5C6B310F6C2542CD9E2A47FF1BC977C526DFAB500 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x559 NUMBER PUSH2 0x55E JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x595 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5B4 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x59C JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x5DC DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x599 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x605 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x61A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x625 DUP2 PUSH2 0x5F0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x63F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x64A DUP2 PUSH2 0x5F0 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x680 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x697 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x6AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x6BD JUMPI PUSH2 0x6BD PUSH2 0x658 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x6E5 JUMPI PUSH2 0x6E5 PUSH2 0x658 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x6FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70F DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x599 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x72C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x625 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x76D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x786 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x625 DUP2 PUSH2 0x5F0 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x191 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR SELFBALANCE 0xC1 0xCB SWAP14 GASPRICE SWAP4 0x23 SWAP13 0xD9 0xBD PUSH25 0x18D84E31710C1ACE5F26859012FAE7DE8AB5414464736F6C63 NUMBER STOP ADDMOD EQ STOP CALLER ","sourceMap":"734:3385:146:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;734:3385:146;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CLOCK_MODE_82543":{"entryPoint":219,"id":82543,"parameterSlots":0,"returnSlots":1},"@_getExternalContractsStorage_83090":{"entryPoint":null,"id":83090,"parameterSlots":0,"returnSlots":1},"@_getVotesStorage_83042":{"entryPoint":1322,"id":83042,"parameterSlots":0,"returnSlots":1},"@blockNumber_11429":{"entryPoint":1358,"id":11429,"parameterSlots":0,"returnSlots":1},"@clock_82511":{"entryPoint":407,"id":82511,"parameterSlots":0,"returnSlots":1},"@getVotes_82661":{"entryPoint":584,"id":82661,"parameterSlots":2,"returnSlots":1},"@initialize_82477":{"entryPoint":540,"id":82477,"parameterSlots":1,"returnSlots":0},"@toUint48_7770":{"entryPoint":1374,"id":7770,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":1908,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":1580,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_contract$_IVotes_$4498":{"entryPoint":1544,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":1646,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":1883,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint48_fromMemory":{"entryPoint":1818,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":1858,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":1469,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":1937,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":1433,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x41":{"entryPoint":1624,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_contract_IVotes":{"entryPoint":1520,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4374:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"80:184:150","statements":[{"nodeType":"YulVariableDeclaration","src":"90:10:150","value":{"kind":"number","nodeType":"YulLiteral","src":"99:1:150","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"94:1:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"159:63:150","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"184:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"189:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"180:3:150"},"nodeType":"YulFunctionCall","src":"180:11:150"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"203:3:150"},{"name":"i","nodeType":"YulIdentifier","src":"208:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"199:3:150"},"nodeType":"YulFunctionCall","src":"199:11:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"193:5:150"},"nodeType":"YulFunctionCall","src":"193:18:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"173:6:150"},"nodeType":"YulFunctionCall","src":"173:39:150"},"nodeType":"YulExpressionStatement","src":"173:39:150"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"120:1:150"},{"name":"length","nodeType":"YulIdentifier","src":"123:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"117:2:150"},"nodeType":"YulFunctionCall","src":"117:13:150"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"131:19:150","statements":[{"nodeType":"YulAssignment","src":"133:15:150","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"142:1:150"},{"kind":"number","nodeType":"YulLiteral","src":"145:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"138:3:150"},"nodeType":"YulFunctionCall","src":"138:10:150"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"133:1:150"}]}]},"pre":{"nodeType":"YulBlock","src":"113:3:150","statements":[]},"src":"109:113:150"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"242:3:150"},{"name":"length","nodeType":"YulIdentifier","src":"247:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"238:3:150"},"nodeType":"YulFunctionCall","src":"238:16:150"},{"kind":"number","nodeType":"YulLiteral","src":"256:1:150","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"231:6:150"},"nodeType":"YulFunctionCall","src":"231:27:150"},"nodeType":"YulExpressionStatement","src":"231:27:150"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"58:3:150","type":""},{"name":"dst","nodeType":"YulTypedName","src":"63:3:150","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:150","type":""}],"src":"14:250:150"},{"body":{"nodeType":"YulBlock","src":"398:275:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"415:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"426:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"408:6:150"},"nodeType":"YulFunctionCall","src":"408:21:150"},"nodeType":"YulExpressionStatement","src":"408:21:150"},{"nodeType":"YulVariableDeclaration","src":"438:27:150","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"458:6:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"452:5:150"},"nodeType":"YulFunctionCall","src":"452:13:150"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"442:6:150","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"485:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"496:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"481:3:150"},"nodeType":"YulFunctionCall","src":"481:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"501:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"474:6:150"},"nodeType":"YulFunctionCall","src":"474:34:150"},"nodeType":"YulExpressionStatement","src":"474:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"556:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"564:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"552:3:150"},"nodeType":"YulFunctionCall","src":"552:15:150"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"573:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"584:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"569:3:150"},"nodeType":"YulFunctionCall","src":"569:18:150"},{"name":"length","nodeType":"YulIdentifier","src":"589:6:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"517:34:150"},"nodeType":"YulFunctionCall","src":"517:79:150"},"nodeType":"YulExpressionStatement","src":"517:79:150"},{"nodeType":"YulAssignment","src":"605:62:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"621:9:150"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"640:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"648:2:150","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"636:3:150"},"nodeType":"YulFunctionCall","src":"636:15:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"657:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"653:3:150"},"nodeType":"YulFunctionCall","src":"653:7:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"632:3:150"},"nodeType":"YulFunctionCall","src":"632:29:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"617:3:150"},"nodeType":"YulFunctionCall","src":"617:45:150"},{"kind":"number","nodeType":"YulLiteral","src":"664:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"613:3:150"},"nodeType":"YulFunctionCall","src":"613:54:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"605:4:150"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"367:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"378:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"389:4:150","type":""}],"src":"269:404:150"},{"body":{"nodeType":"YulBlock","src":"785:97:150","statements":[{"nodeType":"YulAssignment","src":"795:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"807:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"818:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"803:3:150"},"nodeType":"YulFunctionCall","src":"803:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"795:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"837:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"852:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"860:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"848:3:150"},"nodeType":"YulFunctionCall","src":"848:27:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"830:6:150"},"nodeType":"YulFunctionCall","src":"830:46:150"},"nodeType":"YulExpressionStatement","src":"830:46:150"}]},"name":"abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"754:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"765:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"776:4:150","type":""}],"src":"678:204:150"},{"body":{"nodeType":"YulBlock","src":"940:86:150","statements":[{"body":{"nodeType":"YulBlock","src":"1004:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1013:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1016:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1006:6:150"},"nodeType":"YulFunctionCall","src":"1006:12:150"},"nodeType":"YulExpressionStatement","src":"1006:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"963:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"974:5:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"989:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"994:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"985:3:150"},"nodeType":"YulFunctionCall","src":"985:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"998:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"981:3:150"},"nodeType":"YulFunctionCall","src":"981:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"970:3:150"},"nodeType":"YulFunctionCall","src":"970:31:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"960:2:150"},"nodeType":"YulFunctionCall","src":"960:42:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"953:6:150"},"nodeType":"YulFunctionCall","src":"953:50:150"},"nodeType":"YulIf","src":"950:70:150"}]},"name":"validator_revert_contract_IVotes","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"929:5:150","type":""}],"src":"887:139:150"},{"body":{"nodeType":"YulBlock","src":"1116:185:150","statements":[{"body":{"nodeType":"YulBlock","src":"1162:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1171:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1174:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1164:6:150"},"nodeType":"YulFunctionCall","src":"1164:12:150"},"nodeType":"YulExpressionStatement","src":"1164:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1137:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1146:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1133:3:150"},"nodeType":"YulFunctionCall","src":"1133:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1158:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1129:3:150"},"nodeType":"YulFunctionCall","src":"1129:32:150"},"nodeType":"YulIf","src":"1126:52:150"},{"nodeType":"YulVariableDeclaration","src":"1187:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1213:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1200:12:150"},"nodeType":"YulFunctionCall","src":"1200:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1191:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1265:5:150"}],"functionName":{"name":"validator_revert_contract_IVotes","nodeType":"YulIdentifier","src":"1232:32:150"},"nodeType":"YulFunctionCall","src":"1232:39:150"},"nodeType":"YulExpressionStatement","src":"1232:39:150"},{"nodeType":"YulAssignment","src":"1280:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1290:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1280:6:150"}]}]},"name":"abi_decode_tuple_t_contract$_IVotes_$4498","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1082:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1093:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1105:6:150","type":""}],"src":"1031:270:150"},{"body":{"nodeType":"YulBlock","src":"1393:236:150","statements":[{"body":{"nodeType":"YulBlock","src":"1439:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1448:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1451:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1441:6:150"},"nodeType":"YulFunctionCall","src":"1441:12:150"},"nodeType":"YulExpressionStatement","src":"1441:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1414:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"1423:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1410:3:150"},"nodeType":"YulFunctionCall","src":"1410:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"1435:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1406:3:150"},"nodeType":"YulFunctionCall","src":"1406:32:150"},"nodeType":"YulIf","src":"1403:52:150"},{"nodeType":"YulVariableDeclaration","src":"1464:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1490:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1477:12:150"},"nodeType":"YulFunctionCall","src":"1477:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1468:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1542:5:150"}],"functionName":{"name":"validator_revert_contract_IVotes","nodeType":"YulIdentifier","src":"1509:32:150"},"nodeType":"YulFunctionCall","src":"1509:39:150"},"nodeType":"YulExpressionStatement","src":"1509:39:150"},{"nodeType":"YulAssignment","src":"1557:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"1567:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1557:6:150"}]},{"nodeType":"YulAssignment","src":"1581:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1608:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1619:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1604:3:150"},"nodeType":"YulFunctionCall","src":"1604:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1591:12:150"},"nodeType":"YulFunctionCall","src":"1591:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1581:6:150"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1351:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1362:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1374:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1382:6:150","type":""}],"src":"1306:323:150"},{"body":{"nodeType":"YulBlock","src":"1743:76:150","statements":[{"nodeType":"YulAssignment","src":"1753:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1765:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1776:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1761:3:150"},"nodeType":"YulFunctionCall","src":"1761:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1753:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1795:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"1806:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1788:6:150"},"nodeType":"YulFunctionCall","src":"1788:25:150"},"nodeType":"YulExpressionStatement","src":"1788:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1712:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1723:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1734:4:150","type":""}],"src":"1634:185:150"},{"body":{"nodeType":"YulBlock","src":"1856:95:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1873:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1880:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1885:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1876:3:150"},"nodeType":"YulFunctionCall","src":"1876:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1866:6:150"},"nodeType":"YulFunctionCall","src":"1866:31:150"},"nodeType":"YulExpressionStatement","src":"1866:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1913:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1916:4:150","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1906:6:150"},"nodeType":"YulFunctionCall","src":"1906:15:150"},"nodeType":"YulExpressionStatement","src":"1906:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1937:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1940:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1930:6:150"},"nodeType":"YulFunctionCall","src":"1930:15:150"},"nodeType":"YulExpressionStatement","src":"1930:15:150"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1824:127:150"},{"body":{"nodeType":"YulBlock","src":"2047:806:150","statements":[{"body":{"nodeType":"YulBlock","src":"2093:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2102:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2105:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2095:6:150"},"nodeType":"YulFunctionCall","src":"2095:12:150"},"nodeType":"YulExpressionStatement","src":"2095:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2068:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2077:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2064:3:150"},"nodeType":"YulFunctionCall","src":"2064:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2089:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2060:3:150"},"nodeType":"YulFunctionCall","src":"2060:32:150"},"nodeType":"YulIf","src":"2057:52:150"},{"nodeType":"YulVariableDeclaration","src":"2118:30:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2138:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2132:5:150"},"nodeType":"YulFunctionCall","src":"2132:16:150"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2122:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2157:28:150","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2175:2:150","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2179:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2171:3:150"},"nodeType":"YulFunctionCall","src":"2171:10:150"},{"kind":"number","nodeType":"YulLiteral","src":"2183:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2167:3:150"},"nodeType":"YulFunctionCall","src":"2167:18:150"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2161:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2212:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2221:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2224:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2214:6:150"},"nodeType":"YulFunctionCall","src":"2214:12:150"},"nodeType":"YulExpressionStatement","src":"2214:12:150"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2200:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2208:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2197:2:150"},"nodeType":"YulFunctionCall","src":"2197:14:150"},"nodeType":"YulIf","src":"2194:34:150"},{"nodeType":"YulVariableDeclaration","src":"2237:32:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2251:9:150"},{"name":"offset","nodeType":"YulIdentifier","src":"2262:6:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2247:3:150"},"nodeType":"YulFunctionCall","src":"2247:22:150"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2241:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2317:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2326:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2329:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2319:6:150"},"nodeType":"YulFunctionCall","src":"2319:12:150"},"nodeType":"YulExpressionStatement","src":"2319:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2296:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"2300:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2292:3:150"},"nodeType":"YulFunctionCall","src":"2292:13:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2307:7:150"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2288:3:150"},"nodeType":"YulFunctionCall","src":"2288:27:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2281:6:150"},"nodeType":"YulFunctionCall","src":"2281:35:150"},"nodeType":"YulIf","src":"2278:55:150"},{"nodeType":"YulVariableDeclaration","src":"2342:19:150","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2358:2:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2352:5:150"},"nodeType":"YulFunctionCall","src":"2352:9:150"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2346:2:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2384:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2386:16:150"},"nodeType":"YulFunctionCall","src":"2386:18:150"},"nodeType":"YulExpressionStatement","src":"2386:18:150"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2376:2:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2380:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2373:2:150"},"nodeType":"YulFunctionCall","src":"2373:10:150"},"nodeType":"YulIf","src":"2370:36:150"},{"nodeType":"YulVariableDeclaration","src":"2415:17:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2429:2:150","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2425:3:150"},"nodeType":"YulFunctionCall","src":"2425:7:150"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"2419:2:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2441:23:150","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2461:2:150","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2455:5:150"},"nodeType":"YulFunctionCall","src":"2455:9:150"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2445:6:150","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2473:71:150","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2495:6:150"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2519:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"2523:4:150","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2515:3:150"},"nodeType":"YulFunctionCall","src":"2515:13:150"},{"name":"_4","nodeType":"YulIdentifier","src":"2530:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2511:3:150"},"nodeType":"YulFunctionCall","src":"2511:22:150"},{"kind":"number","nodeType":"YulLiteral","src":"2535:2:150","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2507:3:150"},"nodeType":"YulFunctionCall","src":"2507:31:150"},{"name":"_4","nodeType":"YulIdentifier","src":"2540:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2503:3:150"},"nodeType":"YulFunctionCall","src":"2503:40:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2491:3:150"},"nodeType":"YulFunctionCall","src":"2491:53:150"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2477:10:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"2603:22:150","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2605:16:150"},"nodeType":"YulFunctionCall","src":"2605:18:150"},"nodeType":"YulExpressionStatement","src":"2605:18:150"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2562:10:150"},{"name":"_1","nodeType":"YulIdentifier","src":"2574:2:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2559:2:150"},"nodeType":"YulFunctionCall","src":"2559:18:150"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2582:10:150"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2594:6:150"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2579:2:150"},"nodeType":"YulFunctionCall","src":"2579:22:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2556:2:150"},"nodeType":"YulFunctionCall","src":"2556:46:150"},"nodeType":"YulIf","src":"2553:72:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2641:2:150","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2645:10:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2634:6:150"},"nodeType":"YulFunctionCall","src":"2634:22:150"},"nodeType":"YulExpressionStatement","src":"2634:22:150"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2672:6:150"},{"name":"_3","nodeType":"YulIdentifier","src":"2680:2:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2665:6:150"},"nodeType":"YulFunctionCall","src":"2665:18:150"},"nodeType":"YulExpressionStatement","src":"2665:18:150"},{"body":{"nodeType":"YulBlock","src":"2729:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2738:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2741:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2731:6:150"},"nodeType":"YulFunctionCall","src":"2731:12:150"},"nodeType":"YulExpressionStatement","src":"2731:12:150"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2706:2:150"},{"name":"_3","nodeType":"YulIdentifier","src":"2710:2:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2702:3:150"},"nodeType":"YulFunctionCall","src":"2702:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"2715:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2698:3:150"},"nodeType":"YulFunctionCall","src":"2698:20:150"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2720:7:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2695:2:150"},"nodeType":"YulFunctionCall","src":"2695:33:150"},"nodeType":"YulIf","src":"2692:53:150"},{"expression":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2793:2:150"},{"kind":"number","nodeType":"YulLiteral","src":"2797:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2789:3:150"},"nodeType":"YulFunctionCall","src":"2789:11:150"},{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2806:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"2814:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2802:3:150"},"nodeType":"YulFunctionCall","src":"2802:15:150"},{"name":"_3","nodeType":"YulIdentifier","src":"2819:2:150"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2754:34:150"},"nodeType":"YulFunctionCall","src":"2754:68:150"},"nodeType":"YulExpressionStatement","src":"2754:68:150"},{"nodeType":"YulAssignment","src":"2831:16:150","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"2841:6:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2831:6:150"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2013:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2024:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2036:6:150","type":""}],"src":"1956:897:150"},{"body":{"nodeType":"YulBlock","src":"2938:204:150","statements":[{"body":{"nodeType":"YulBlock","src":"2984:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2993:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2996:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2986:6:150"},"nodeType":"YulFunctionCall","src":"2986:12:150"},"nodeType":"YulExpressionStatement","src":"2986:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2959:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"2968:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2955:3:150"},"nodeType":"YulFunctionCall","src":"2955:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"2980:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2951:3:150"},"nodeType":"YulFunctionCall","src":"2951:32:150"},"nodeType":"YulIf","src":"2948:52:150"},{"nodeType":"YulVariableDeclaration","src":"3009:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3028:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3022:5:150"},"nodeType":"YulFunctionCall","src":"3022:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3013:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"3096:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3105:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3108:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3098:6:150"},"nodeType":"YulFunctionCall","src":"3098:12:150"},"nodeType":"YulExpressionStatement","src":"3098:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3060:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3071:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"3078:14:150","type":"","value":"0xffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3067:3:150"},"nodeType":"YulFunctionCall","src":"3067:26:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3057:2:150"},"nodeType":"YulFunctionCall","src":"3057:37:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3050:6:150"},"nodeType":"YulFunctionCall","src":"3050:45:150"},"nodeType":"YulIf","src":"3047:65:150"},{"nodeType":"YulAssignment","src":"3121:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3131:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3121:6:150"}]}]},"name":"abi_decode_tuple_t_uint48_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2904:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2915:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2927:6:150","type":""}],"src":"2858:284:150"},{"body":{"nodeType":"YulBlock","src":"3276:145:150","statements":[{"nodeType":"YulAssignment","src":"3286:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3298:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3309:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3294:3:150"},"nodeType":"YulFunctionCall","src":"3294:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3286:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3328:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3343:6:150"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3359:3:150","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3364:1:150","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3355:3:150"},"nodeType":"YulFunctionCall","src":"3355:11:150"},{"kind":"number","nodeType":"YulLiteral","src":"3368:1:150","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3351:3:150"},"nodeType":"YulFunctionCall","src":"3351:19:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3339:3:150"},"nodeType":"YulFunctionCall","src":"3339:32:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3321:6:150"},"nodeType":"YulFunctionCall","src":"3321:51:150"},"nodeType":"YulExpressionStatement","src":"3321:51:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3392:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"3403:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3388:3:150"},"nodeType":"YulFunctionCall","src":"3388:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"3408:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3381:6:150"},"nodeType":"YulFunctionCall","src":"3381:34:150"},"nodeType":"YulExpressionStatement","src":"3381:34:150"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3237:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3248:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3256:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3267:4:150","type":""}],"src":"3147:274:150"},{"body":{"nodeType":"YulBlock","src":"3507:103:150","statements":[{"body":{"nodeType":"YulBlock","src":"3553:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3562:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3565:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3555:6:150"},"nodeType":"YulFunctionCall","src":"3555:12:150"},"nodeType":"YulExpressionStatement","src":"3555:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3528:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3537:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3524:3:150"},"nodeType":"YulFunctionCall","src":"3524:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3549:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3520:3:150"},"nodeType":"YulFunctionCall","src":"3520:32:150"},"nodeType":"YulIf","src":"3517:52:150"},{"nodeType":"YulAssignment","src":"3578:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3594:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3588:5:150"},"nodeType":"YulFunctionCall","src":"3588:16:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3578:6:150"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3473:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3484:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3496:6:150","type":""}],"src":"3426:184:150"},{"body":{"nodeType":"YulBlock","src":"3696:178:150","statements":[{"body":{"nodeType":"YulBlock","src":"3742:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3751:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3754:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3744:6:150"},"nodeType":"YulFunctionCall","src":"3744:12:150"},"nodeType":"YulExpressionStatement","src":"3744:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3717:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"3726:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3713:3:150"},"nodeType":"YulFunctionCall","src":"3713:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"3738:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3709:3:150"},"nodeType":"YulFunctionCall","src":"3709:32:150"},"nodeType":"YulIf","src":"3706:52:150"},{"nodeType":"YulVariableDeclaration","src":"3767:29:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3786:9:150"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3780:5:150"},"nodeType":"YulFunctionCall","src":"3780:16:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3771:5:150","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3838:5:150"}],"functionName":{"name":"validator_revert_contract_IVotes","nodeType":"YulIdentifier","src":"3805:32:150"},"nodeType":"YulFunctionCall","src":"3805:39:150"},"nodeType":"YulExpressionStatement","src":"3805:39:150"},{"nodeType":"YulAssignment","src":"3853:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"3863:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3853:6:150"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3662:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3673:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3685:6:150","type":""}],"src":"3615:259:150"},{"body":{"nodeType":"YulBlock","src":"3927:174:150","statements":[{"nodeType":"YulAssignment","src":"3937:16:150","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3948:1:150"},{"name":"y","nodeType":"YulIdentifier","src":"3951:1:150"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3944:3:150"},"nodeType":"YulFunctionCall","src":"3944:9:150"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"3937:3:150"}]},{"body":{"nodeType":"YulBlock","src":"3984:111:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4005:1:150","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4012:3:150","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4017:10:150","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4008:3:150"},"nodeType":"YulFunctionCall","src":"4008:20:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3998:6:150"},"nodeType":"YulFunctionCall","src":"3998:31:150"},"nodeType":"YulExpressionStatement","src":"3998:31:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4049:1:150","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4052:4:150","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4042:6:150"},"nodeType":"YulFunctionCall","src":"4042:15:150"},"nodeType":"YulExpressionStatement","src":"4042:15:150"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4077:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4080:4:150","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4070:6:150"},"nodeType":"YulFunctionCall","src":"4070:15:150"},"nodeType":"YulExpressionStatement","src":"4070:15:150"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3968:1:150"},{"name":"sum","nodeType":"YulIdentifier","src":"3971:3:150"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3965:2:150"},"nodeType":"YulFunctionCall","src":"3965:10:150"},"nodeType":"YulIf","src":"3962:133:150"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3910:1:150","type":""},{"name":"y","nodeType":"YulTypedName","src":"3913:1:150","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"3919:3:150","type":""}],"src":"3879:222:150"},{"body":{"nodeType":"YulBlock","src":"4242:130:150","statements":[{"nodeType":"YulAssignment","src":"4252:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4264:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4275:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4260:3:150"},"nodeType":"YulFunctionCall","src":"4260:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4252:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4294:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4309:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"4317:4:150","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4305:3:150"},"nodeType":"YulFunctionCall","src":"4305:17:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4287:6:150"},"nodeType":"YulFunctionCall","src":"4287:36:150"},"nodeType":"YulExpressionStatement","src":"4287:36:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4343:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"4354:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4339:3:150"},"nodeType":"YulFunctionCall","src":"4339:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"4359:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4332:6:150"},"nodeType":"YulFunctionCall","src":"4332:34:150"},"nodeType":"YulExpressionStatement","src":"4332:34:150"}]},"name":"abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4203:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4214:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4222:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4233:4:150","type":""}],"src":"4106:266:150"}]},"contents":"{\n    { }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let length := mload(value0)\n        mstore(add(headStart, 32), length)\n        copy_memory_to_memory_with_cleanup(add(value0, 32), add(headStart, 64), length)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n    }\n    function abi_encode_tuple_t_uint48__to_t_uint48__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffff))\n    }\n    function validator_revert_contract_IVotes(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_contract$_IVotes_$4498(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVotes(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_contract_IVotes(value)\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := sub(shl(64, 1), 1)\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        if gt(_3, _1) { panic_error_0x41() }\n        let _4 := not(31)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, _3)\n        if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_uint48_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := mload(headStart)\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_contract_IVotes(value)\n        value0 := value\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x11)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_rational_48_by_1_t_uint256__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80634bf5d7e91461005b57806391ddadf414610079578063b623d38414610098578063eb9019d4146100ba575b600080fd5b6100636100db565b60405161007091906105bd565b60405180910390f35b610081610197565b60405165ffffffffffff9091168152602001610070565b8180156100a457600080fd5b506100b86100b3366004610608565b61021c565b005b6100cd6100c836600461062c565b610248565b604051908152602001610070565b606060006100e761052a565b805460408051634bf5d7e960e01b815290519293506001600160a01b0390911691634bf5d7e9916004808201926000929091908290030181865afa92505050801561015457506040513d6000823e601f3d908101601f19168201604052610151919081019061066e565b60015b61019157505060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b92915050565b6000806101a261052a565b8054604080516324776b7d60e21b815290519293506001600160a01b03909116916391ddadf4916004808201926020929091908290030181865afa92505050801561020a575060408051601f3d908101601f191682019092526102079181019061071a565b60015b6101915761021661054e565b91505090565b600061022661052a565b80546001600160a01b0319166001600160a01b03939093169290921790915550565b60008061025361052a565b8054604051630748d63560e31b81529192507f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d00916000916001600160a01b031690633a46b1a8906102aa9089908990600401610742565b602060405180830381865afa1580156102c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102eb919061075b565b60068301549091506001600160a01b0316801580159061038457506040516318be49d960e01b81526000906001600160a01b038316906318be49d990610337908b908b90600401610742565b602060405180830381865afa158015610354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103789190610774565b6001600160a01b031614155b156104035760405163c61c06e760e01b81526001600160a01b0382169063c61c06e7906103b7908a908a90600401610742565b602060405180830381865afa1580156103d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f8919061075b565b945050505050610191565b60048301546001600160a01b031680156104935760405163a56b576560e01b81526001600160a01b0382169063a56b576590610445908b908b90600401610742565b602060405180830381865afa158015610462573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610486919061075b565b6104909084610791565b92505b6001600160a01b0382161561051e5760405163094f6f2960e21b81526001600160a01b0383169063253dbca4906104d0908b908b90600401610742565b602060405180830381865afa1580156104ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610511919061075b565b61051b9084610791565b92505b50909695505050505050565b7f6eb1bf0a160cdf1b5e63f5e5c6b310f6c2542cd9e2a47ff1bc977c526dfab50090565b60006105594361055e565b905090565b600065ffffffffffff821115610595576040516306dfcc6560e41b8152603060048201526024810183905260440160405180910390fd5b5090565b60005b838110156105b457818101518382015260200161059c565b50506000910152565b60208152600082518060208401526105dc816040850160208701610599565b601f01601f19169190910160400192915050565b6001600160a01b038116811461060557600080fd5b50565b60006020828403121561061a57600080fd5b8135610625816105f0565b9392505050565b6000806040838503121561063f57600080fd5b823561064a816105f0565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561068057600080fd5b81516001600160401b038082111561069757600080fd5b818401915084601f8301126106ab57600080fd5b8151818111156106bd576106bd610658565b604051601f8201601f19908116603f011681019083821181831017156106e5576106e5610658565b816040528281528760208487010111156106fe57600080fd5b61070f836020830160208801610599565b979650505050505050565b60006020828403121561072c57600080fd5b815165ffffffffffff8116811461062557600080fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561076d57600080fd5b5051919050565b60006020828403121561078657600080fd5b8151610625816105f0565b8082018082111561019157634e487b7160e01b600052601160045260246000fdfea26469706673582212201747c1cb9d3a93239cd9bd7818d84e31710c1ace5f26859012fae7de8ab5414464736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4BF5D7E9 EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x91DDADF4 EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xB623D384 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0xEB9019D4 EQ PUSH2 0xBA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63 PUSH2 0xDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x81 PUSH2 0x197 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH6 0xFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x70 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB8 PUSH2 0xB3 CALLDATASIZE PUSH1 0x4 PUSH2 0x608 JUMP JUMPDEST PUSH2 0x21C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCD PUSH2 0xC8 CALLDATASIZE PUSH1 0x4 PUSH2 0x62C JUMP JUMPDEST PUSH2 0x248 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x70 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xE7 PUSH2 0x52A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x4BF5D7E9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x4BF5D7E9 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x154 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x151 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x66E JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x191 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1D DUP2 MSTORE PUSH32 0x6D6F64653D626C6F636B6E756D6265722666726F6D3D64656661756C74000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1A2 PUSH2 0x52A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x24776B7D PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x91DDADF4 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x20A JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x207 SWAP2 DUP2 ADD SWAP1 PUSH2 0x71A JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x191 JUMPI PUSH2 0x216 PUSH2 0x54E JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x226 PUSH2 0x52A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x253 PUSH2 0x52A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x748D635 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH32 0x1DA8CBBB2B12987A437595605432A6BBE84C08E9685AFAAEE593F05659F50D00 SWAP2 PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x3A46B1A8 SWAP1 PUSH2 0x2AA SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2C7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2EB SWAP2 SWAP1 PUSH2 0x75B JUMP JUMPDEST PUSH1 0x6 DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x384 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x18BE49D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x18BE49D9 SWAP1 PUSH2 0x337 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x354 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x378 SWAP2 SWAP1 PUSH2 0x774 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x403 JUMPI PUSH1 0x40 MLOAD PUSH4 0xC61C06E7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xC61C06E7 SWAP1 PUSH2 0x3B7 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3D4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x75B JUMP JUMPDEST SWAP5 POP POP POP POP POP PUSH2 0x191 JUMP JUMPDEST PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 ISZERO PUSH2 0x493 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA56B5765 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0xA56B5765 SWAP1 PUSH2 0x445 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x462 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x486 SWAP2 SWAP1 PUSH2 0x75B JUMP JUMPDEST PUSH2 0x490 SWAP1 DUP5 PUSH2 0x791 JUMP JUMPDEST SWAP3 POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x51E JUMPI PUSH1 0x40 MLOAD PUSH4 0x94F6F29 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x253DBCA4 SWAP1 PUSH2 0x4D0 SWAP1 DUP12 SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x742 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4ED JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x511 SWAP2 SWAP1 PUSH2 0x75B JUMP JUMPDEST PUSH2 0x51B SWAP1 DUP5 PUSH2 0x791 JUMP JUMPDEST SWAP3 POP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x6EB1BF0A160CDF1B5E63F5E5C6B310F6C2542CD9E2A47FF1BC977C526DFAB500 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x559 NUMBER PUSH2 0x55E JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH6 0xFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x595 JUMPI PUSH1 0x40 MLOAD PUSH4 0x6DFCC65 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x30 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x5B4 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x59C JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x5DC DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x599 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x605 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x61A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x625 DUP2 PUSH2 0x5F0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x63F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x64A DUP2 PUSH2 0x5F0 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x680 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x697 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x6AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x6BD JUMPI PUSH2 0x6BD PUSH2 0x658 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x6E5 JUMPI PUSH2 0x6E5 PUSH2 0x658 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x6FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70F DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x599 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x72C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH6 0xFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x625 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x76D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x786 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x625 DUP2 PUSH2 0x5F0 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x191 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR SELFBALANCE 0xC1 0xCB SWAP14 GASPRICE SWAP4 0x23 SWAP13 0xD9 0xBD PUSH25 0x18D84E31710C1ACE5F26859012FAE7DE8AB5414464736F6C63 NUMBER STOP ADDMOD EQ STOP CALLER ","sourceMap":"734:3385:146:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:330;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1323:293;;;:::i;:::-;;;860:14:150;848:27;;;830:46;;818:2;803:18;1323:293:146;678:204:150;893:212:146;;;;;;;;;;-1:-1:-1;893:212:146;;;;;:::i;:::-;;:::i;:::-;;2880:1237;;;;;;:::i;:::-;;:::i;:::-;;;1788:25:150;;;1776:2;1761:18;2880:1237:146;1634:185:150;1891:330:146;1936:13;1957:52;2012:48;:46;:48::i;:::-;2070:8;;:21;;;-1:-1:-1;;;2070:21:146;;;;1957:103;;-1:-1:-1;;;;;;2070:8:146;;;;:19;;:21;;;;;:8;;:21;;;;;;;;:8;:21;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2070:21:146;;;;;;;;;;;;:::i;:::-;;;2066:151;;-1:-1:-1;;2172:38:146;;;;;;;;;;;;;;;;;;1891:330::o;2066:151::-;2141:9;1891:330;-1:-1:-1;;1891:330:146:o;1323:293::-;1363:6;1377:52;1432:48;:46;:48::i;:::-;1490:8;;:16;;;-1:-1:-1;;;1490:16:146;;;;1377:103;;-1:-1:-1;;;;;;1490:8:146;;;;:14;;:16;;;;;;;;;;;;;;;:8;:16;;;;;;;;;;-1:-1:-1;1490:16:146;;;;;;;;-1:-1:-1;;1490:16:146;;;;;;;;;;;;:::i;:::-;;;1486:126;;1587:18;:16;:18::i;:::-;1580:25;;;1323:293;:::o;893:212::-;949:52;1004:48;:46;:48::i;:::-;1058:42;;-1:-1:-1;;;;;;1058:42:146;-1:-1:-1;;;;;1058:42:146;;;;;;;;;;;-1:-1:-1;893:212:146:o;2880:1237::-;2957:7;2972:53;3028:48;:46;:48::i;:::-;3246:9;;:42;;-1:-1:-1;;;3246:42:146;;2972:104;;-1:-1:-1;7283:32:149;;3082:66:146;;-1:-1:-1;;;;;3246:9:146;;:22;;:42;;3269:7;;3278:9;;3246:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3328:22;;;;3225:63;;-1:-1:-1;;;;;;3328:22:146;3360:34;;;;;:107;;-1:-1:-1;3398:55:146;;-1:-1:-1;;;3398:55:146;;3465:1;;-1:-1:-1;;;;;3398:35:146;;;;;:55;;3434:7;;3443:9;;3398:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3398:69:146;;;3360:107;3356:196;;;3484:61;;-1:-1:-1;;;3484:61:146;;-1:-1:-1;;;;;3484:41:146;;;;;:61;;3526:7;;3535:9;;3484:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3477:68;;;;;;;;3356:196;3672:17;;;;-1:-1:-1;;;;;3672:17:146;3699:35;;3695:124;;3758:54;;-1:-1:-1;;;3758:54:146;;-1:-1:-1;;;;;3758:34:146;;;;;:54;;3793:7;;3802:9;;3758:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3744:68;;;;:::i;:::-;;;3695:124;-1:-1:-1;;;;;3966:34:146;;;3962:127;;4024:58;;-1:-1:-1;;;4024:58:146;;-1:-1:-1;;;;;4024:38:146;;;;;:58;;4063:7;;4072:9;;4024:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4010:72;;;;:::i;:::-;;;3962:127;-1:-1:-1;4102:10:146;;2880:1237;-1:-1:-1;;;;;;2880:1237:146:o;6125:138:149:-;6233:20;;6125:138::o;931:109:42:-;977:6;1002:31;1020:12;1002:17;:31::i;:::-;995:38;;931:109;:::o;14291:213:37:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:37;;14447:2;14416:41;;;4287:36:150;4339:18;;;4332:34;;;4260:18;;14416:41:37;;;;;;;14365:103;-1:-1:-1;14491:5:37;14291:213::o;14:250:150:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:150;238:16;;231:27;14:250::o;269:404::-;426:2;415:9;408:21;389:4;458:6;452:13;501:6;496:2;485:9;481:18;474:34;517:79;589:6;584:2;573:9;569:18;564:2;556:6;552:15;517:79;:::i;:::-;657:2;636:15;-1:-1:-1;;632:29:150;617:45;;;;664:2;613:54;;269:404;-1:-1:-1;;269:404:150:o;887:139::-;-1:-1:-1;;;;;970:31:150;;960:42;;950:70;;1016:1;1013;1006:12;950:70;887:139;:::o;1031:270::-;1105:6;1158:2;1146:9;1137:7;1133:23;1129:32;1126:52;;;1174:1;1171;1164:12;1126:52;1213:9;1200:23;1232:39;1265:5;1232:39;:::i;:::-;1290:5;1031:270;-1:-1:-1;;;1031:270:150:o;1306:323::-;1374:6;1382;1435:2;1423:9;1414:7;1410:23;1406:32;1403:52;;;1451:1;1448;1441:12;1403:52;1490:9;1477:23;1509:39;1542:5;1509:39;:::i;:::-;1567:5;1619:2;1604:18;;;;1591:32;;-1:-1:-1;;;1306:323:150:o;1824:127::-;1885:10;1880:3;1876:20;1873:1;1866:31;1916:4;1913:1;1906:15;1940:4;1937:1;1930:15;1956:897;2036:6;2089:2;2077:9;2068:7;2064:23;2060:32;2057:52;;;2105:1;2102;2095:12;2057:52;2132:16;;-1:-1:-1;;;;;2197:14:150;;;2194:34;;;2224:1;2221;2214:12;2194:34;2262:6;2251:9;2247:22;2237:32;;2307:7;2300:4;2296:2;2292:13;2288:27;2278:55;;2329:1;2326;2319:12;2278:55;2358:2;2352:9;2380:2;2376;2373:10;2370:36;;;2386:18;;:::i;:::-;2461:2;2455:9;2429:2;2515:13;;-1:-1:-1;;2511:22:150;;;2535:2;2507:31;2503:40;2491:53;;;2559:18;;;2579:22;;;2556:46;2553:72;;;2605:18;;:::i;:::-;2645:10;2641:2;2634:22;2680:2;2672:6;2665:18;2720:7;2715:2;2710;2706;2702:11;2698:20;2695:33;2692:53;;;2741:1;2738;2731:12;2692:53;2754:68;2819:2;2814;2806:6;2802:15;2797:2;2793;2789:11;2754:68;:::i;:::-;2841:6;1956:897;-1:-1:-1;;;;;;;1956:897:150:o;2858:284::-;2927:6;2980:2;2968:9;2959:7;2955:23;2951:32;2948:52;;;2996:1;2993;2986:12;2948:52;3028:9;3022:16;3078:14;3071:5;3067:26;3060:5;3057:37;3047:65;;3108:1;3105;3098:12;3147:274;-1:-1:-1;;;;;3339:32:150;;;;3321:51;;3403:2;3388:18;;3381:34;3309:2;3294:18;;3147:274::o;3426:184::-;3496:6;3549:2;3537:9;3528:7;3524:23;3520:32;3517:52;;;3565:1;3562;3555:12;3517:52;-1:-1:-1;3588:16:150;;3426:184;-1:-1:-1;3426:184:150:o;3615:259::-;3685:6;3738:2;3726:9;3717:7;3713:23;3709:32;3706:52;;;3754:1;3751;3744:12;3706:52;3786:9;3780:16;3805:39;3838:5;3805:39;:::i;3879:222::-;3944:9;;;3965:10;;;3962:133;;;4017:10;4012:3;4008:20;4005:1;3998:31;4052:4;4049:1;4042:15;4080:4;4077:1;4070:15"},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","clock()":"91ddadf4","getVotes(address,uint256)":"eb9019d4","initialize(IVotes)":"b623d384"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extracted from VotesUpgradeable module. Uses ERC-7201 namespaced storage.\",\"errors\":{\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Falls back to default block number mode if the token does not implement EIP-6372.\",\"returns\":{\"_0\":\"The clock mode string\"}},\"clock()\":{\"details\":\"Falls back to block number if the token does not implement EIP-6372.\",\"returns\":{\"_0\":\"The current timepoint\"}},\"getVotes(address,uint256)\":{\"details\":\"For non-delegated users: VOT3 balance + deposit voting power (proposal support) + staked B3TR      (converted to VOT3 under the hood, counts as voting power for navigators; returns 0 for non-navigators).      For navigator-delegated citizens: delegated amount only (deposits excluded      because the navigator votes with only the delegated amount).\",\"params\":{\"account\":\"The address to get votes for\",\"timepoint\":\"The timepoint (block number / timestamp) to query\"},\"returns\":{\"_0\":\"The effective voting power at the given timepoint\"}},\"initialize(IVotes)\":{\"params\":{\"tokenAddress\":\"The ERC20Votes / ERC721Votes token used for voting power\"}}},\"title\":\"VotesUtils\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"CLOCK_MODE()\":{\"notice\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"clock()\":{\"notice\":\"Clock as specified in EIP-6372, matched to the token's clock.\"},\"getVotes(address,uint256)\":{\"notice\":\"Returns the effective voting power of an account at a given timepoint.\"},\"initialize(IVotes)\":{\"notice\":\"Initializes the voting token\"}},\"notice\":\"Library for managing the voting token and extracting voting weight in the XAllocationVoting system.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol\":\"VotesUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/VotesUtils.sol\":{\"keccak256\":\"0x1b0da96cf95560309c10c5cf200db15814538aefb7d3a3db93f9648527e3eeea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e17a91e76badb756c75879a8d8339c5f3a48e46dd3dcef50c91552e91e168c63\",\"dweb:/ipfs/QmYY87tyaxN4NdjXyf4ksdJsCtiPRKfAEg1JQCL6JYAHmC\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol":{"VotingSettingsUtils":{"abi":[{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"name":"GovernorInvalidVotingPeriod","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"CitizenSkipWindowBlocksSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldVotingPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotingPeriod","type":"uint256"}],"name":"VotingPeriodSet","type":"event"},{"inputs":[],"name":"citizenSkipWindowBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"61031161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806302a251a31461005b5780630ff235a9146100755780639382c81814610097578063abc517fd146100b7575b600080fd5b6100636100bf565b60405190815260200160405180910390f35b81801561008157600080fd5b5061009561009036600461028d565b6100d7565b005b8180156100a357600080fd5b506100956100b23660046102c2565b6101a0565b610063610256565b6000806100ca610269565b5463ffffffff1692915050565b8163ffffffff166000036101065760405163f1cfbf0560e01b8152600060048201526024015b60405180910390fd5b808263ffffffff16106101345760405163f1cfbf0560e01b815263ffffffff831660048201526024016100fd565b600061013e610269565b80546040805163ffffffff928316815291861660208301529192507f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1805463ffffffff191663ffffffff939093169290921790915550565b600081116102055760405162461bcd60e51b815260206004820152602c60248201527f566f74696e6753657474696e67735574696c733a20736b69702077696e646f7760448201526b0206d757374206265203e20360a41b60648201526084016100fd565b600061020f610269565b600181015460408051918252602082018590529192507f75e6b9204b5cdeef455a644570d4efa3117566d11758242b7d55138eafa63af2910160405180910390a160010155565b6000610260610269565b60010154905090565b7fd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a9990090565b600080604083850312156102a057600080fd5b823563ffffffff811681146102b457600080fd5b946020939093013593505050565b6000602082840312156102d457600080fd5b503591905056fea26469706673582212200b82554bd0552641e3d27428724ac83a058a77c9f899fc03b0b9525461f2a76764736f6c63430008140033","opcodes":"PUSH2 0x311 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xFF235A9 EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x9382C818 EQ PUSH2 0x97 JUMPI DUP1 PUSH4 0xABC517FD EQ PUSH2 0xB7 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63 PUSH2 0xBF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x28D JUMP JUMPDEST PUSH2 0xD7 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x95 PUSH2 0xB2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2C2 JUMP JUMPDEST PUSH2 0x1A0 JUMP JUMPDEST PUSH2 0x63 PUSH2 0x256 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCA PUSH2 0x269 JUMP JUMPDEST SLOAD PUSH4 0xFFFFFFFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0x0 SUB PUSH2 0x106 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x134 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xFD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13E PUSH2 0x269 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xFFFFFFFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP7 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP2 SWAP3 POP PUSH32 0x7E3F7F0708A84DE9203036ABAA450DCCC85AD5FF52F78C170F3EDB55CF5E8828 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH4 0xFFFFFFFF NOT AND PUSH4 0xFFFFFFFF SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0x205 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F74696E6753657474696E67735574696C733A20736B69702077696E646F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x206D757374206265203E203 PUSH1 0xA4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20F PUSH2 0x269 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0x75E6B9204B5CDEEF455A644570D4EFA3117566D11758242B7D55138EAFA63AF2 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x260 PUSH2 0x269 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0xD69D068053671881D25A4D751DCAD1E692749D9B24184F608CB1D01AF3A99900 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x2B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND DUP3 SSTORE 0x4B 0xD0 SSTORE 0x26 COINBASE 0xE3 0xD2 PUSH21 0x28724AC83A058A77C9F899FC03B0B9525461F2A767 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"360:2489:147:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;360:2489:147;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_getVotingSettingsStorage_83034":{"entryPoint":617,"id":83034,"parameterSlots":0,"returnSlots":1},"@citizenSkipWindowBlocks_82765":{"entryPoint":598,"id":82765,"parameterSlots":0,"returnSlots":1},"@setCitizenSkipWindowBlocks_82800":{"entryPoint":416,"id":82800,"parameterSlots":1,"returnSlots":0},"@setVotingPeriod_82753":{"entryPoint":215,"id":82753,"parameterSlots":2,"returnSlots":0},"@votingPeriod_82705":{"entryPoint":191,"id":82705,"parameterSlots":0,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":706,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint32t_uint256":{"entryPoint":653,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_rational_0_by_1__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9a1a4a2c547a23d7256a23364bd454f9ca55d047c66b2f63ead306ccecf867ce__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint32__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint32_t_uint32__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2087:150","statements":[{"nodeType":"YulBlock","src":"6:3:150","statements":[]},{"body":{"nodeType":"YulBlock","src":"123:76:150","statements":[{"nodeType":"YulAssignment","src":"133:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"145:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"156:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"141:3:150"},"nodeType":"YulFunctionCall","src":"141:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"133:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"175:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"186:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"168:6:150"},"nodeType":"YulFunctionCall","src":"168:25:150"},"nodeType":"YulExpressionStatement","src":"168:25:150"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"92:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"103:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"114:4:150","type":""}],"src":"14:185:150"},{"body":{"nodeType":"YulBlock","src":"290:258:150","statements":[{"body":{"nodeType":"YulBlock","src":"336:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"345:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"348:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"338:6:150"},"nodeType":"YulFunctionCall","src":"338:12:150"},"nodeType":"YulExpressionStatement","src":"338:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"311:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"320:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"307:3:150"},"nodeType":"YulFunctionCall","src":"307:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"332:2:150","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"303:3:150"},"nodeType":"YulFunctionCall","src":"303:32:150"},"nodeType":"YulIf","src":"300:52:150"},{"nodeType":"YulVariableDeclaration","src":"361:36:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"387:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"374:12:150"},"nodeType":"YulFunctionCall","src":"374:23:150"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"365:5:150","type":""}]},{"body":{"nodeType":"YulBlock","src":"451:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"460:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"463:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"453:6:150"},"nodeType":"YulFunctionCall","src":"453:12:150"},"nodeType":"YulExpressionStatement","src":"453:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"419:5:150"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"430:5:150"},{"kind":"number","nodeType":"YulLiteral","src":"437:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"426:3:150"},"nodeType":"YulFunctionCall","src":"426:22:150"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"416:2:150"},"nodeType":"YulFunctionCall","src":"416:33:150"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"409:6:150"},"nodeType":"YulFunctionCall","src":"409:41:150"},"nodeType":"YulIf","src":"406:61:150"},{"nodeType":"YulAssignment","src":"476:15:150","value":{"name":"value","nodeType":"YulIdentifier","src":"486:5:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"476:6:150"}]},{"nodeType":"YulAssignment","src":"500:42:150","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"527:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"538:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"523:3:150"},"nodeType":"YulFunctionCall","src":"523:18:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"510:12:150"},"nodeType":"YulFunctionCall","src":"510:32:150"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"500:6:150"}]}]},"name":"abi_decode_tuple_t_uint32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"248:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"259:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"271:6:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"279:6:150","type":""}],"src":"204:344:150"},{"body":{"nodeType":"YulBlock","src":"623:110:150","statements":[{"body":{"nodeType":"YulBlock","src":"669:16:150","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"678:1:150","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"681:1:150","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"671:6:150"},"nodeType":"YulFunctionCall","src":"671:12:150"},"nodeType":"YulExpressionStatement","src":"671:12:150"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"644:7:150"},{"name":"headStart","nodeType":"YulIdentifier","src":"653:9:150"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"640:3:150"},"nodeType":"YulFunctionCall","src":"640:23:150"},{"kind":"number","nodeType":"YulLiteral","src":"665:2:150","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"636:3:150"},"nodeType":"YulFunctionCall","src":"636:32:150"},"nodeType":"YulIf","src":"633:52:150"},{"nodeType":"YulAssignment","src":"694:33:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"717:9:150"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"704:12:150"},"nodeType":"YulFunctionCall","src":"704:23:150"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"694:6:150"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"589:9:150","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"600:7:150","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"612:6:150","type":""}],"src":"553:180:150"},{"body":{"nodeType":"YulBlock","src":"847:76:150","statements":[{"nodeType":"YulAssignment","src":"857:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"869:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"880:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"865:3:150"},"nodeType":"YulFunctionCall","src":"865:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"857:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"899:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"910:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"892:6:150"},"nodeType":"YulFunctionCall","src":"892:25:150"},"nodeType":"YulExpressionStatement","src":"892:25:150"}]},"name":"abi_encode_tuple_t_rational_0_by_1__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"816:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"827:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"838:4:150","type":""}],"src":"738:185:150"},{"body":{"nodeType":"YulBlock","src":"1028:93:150","statements":[{"nodeType":"YulAssignment","src":"1038:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1050:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1061:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1046:3:150"},"nodeType":"YulFunctionCall","src":"1046:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1038:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1080:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1095:6:150"},{"kind":"number","nodeType":"YulLiteral","src":"1103:10:150","type":"","value":"0xffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1091:3:150"},"nodeType":"YulFunctionCall","src":"1091:23:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1073:6:150"},"nodeType":"YulFunctionCall","src":"1073:42:150"},"nodeType":"YulExpressionStatement","src":"1073:42:150"}]},"name":"abi_encode_tuple_t_uint32__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"997:9:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1008:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1019:4:150","type":""}],"src":"928:193:150"},{"body":{"nodeType":"YulBlock","src":"1253:166:150","statements":[{"nodeType":"YulAssignment","src":"1263:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1275:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1286:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1271:3:150"},"nodeType":"YulFunctionCall","src":"1271:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1263:4:150"}]},{"nodeType":"YulVariableDeclaration","src":"1298:20:150","value":{"kind":"number","nodeType":"YulLiteral","src":"1308:10:150","type":"","value":"0xffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1302:2:150","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1334:9:150"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1349:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1357:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1345:3:150"},"nodeType":"YulFunctionCall","src":"1345:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1327:6:150"},"nodeType":"YulFunctionCall","src":"1327:34:150"},"nodeType":"YulExpressionStatement","src":"1327:34:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1381:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1392:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1377:3:150"},"nodeType":"YulFunctionCall","src":"1377:18:150"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"1401:6:150"},{"name":"_1","nodeType":"YulIdentifier","src":"1409:2:150"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1397:3:150"},"nodeType":"YulFunctionCall","src":"1397:15:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1370:6:150"},"nodeType":"YulFunctionCall","src":"1370:43:150"},"nodeType":"YulExpressionStatement","src":"1370:43:150"}]},"name":"abi_encode_tuple_t_uint32_t_uint32__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1214:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1225:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1233:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1244:4:150","type":""}],"src":"1126:293:150"},{"body":{"nodeType":"YulBlock","src":"1598:234:150","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1615:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1626:2:150","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1608:6:150"},"nodeType":"YulFunctionCall","src":"1608:21:150"},"nodeType":"YulExpressionStatement","src":"1608:21:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1649:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1660:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1645:3:150"},"nodeType":"YulFunctionCall","src":"1645:18:150"},{"kind":"number","nodeType":"YulLiteral","src":"1665:2:150","type":"","value":"44"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1638:6:150"},"nodeType":"YulFunctionCall","src":"1638:30:150"},"nodeType":"YulExpressionStatement","src":"1638:30:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1688:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1699:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1684:3:150"},"nodeType":"YulFunctionCall","src":"1684:18:150"},{"hexValue":"566f74696e6753657474696e67735574696c733a20736b69702077696e646f77","kind":"string","nodeType":"YulLiteral","src":"1704:34:150","type":"","value":"VotingSettingsUtils: skip window"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1677:6:150"},"nodeType":"YulFunctionCall","src":"1677:62:150"},"nodeType":"YulExpressionStatement","src":"1677:62:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1759:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1770:2:150","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1755:3:150"},"nodeType":"YulFunctionCall","src":"1755:18:150"},{"hexValue":"206d757374206265203e2030","kind":"string","nodeType":"YulLiteral","src":"1775:14:150","type":"","value":" must be > 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1748:6:150"},"nodeType":"YulFunctionCall","src":"1748:42:150"},"nodeType":"YulExpressionStatement","src":"1748:42:150"},{"nodeType":"YulAssignment","src":"1799:27:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1811:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1822:3:150","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1807:3:150"},"nodeType":"YulFunctionCall","src":"1807:19:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1799:4:150"}]}]},"name":"abi_encode_tuple_t_stringliteral_9a1a4a2c547a23d7256a23364bd454f9ca55d047c66b2f63ead306ccecf867ce__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1575:9:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1589:4:150","type":""}],"src":"1424:408:150"},{"body":{"nodeType":"YulBlock","src":"1966:119:150","statements":[{"nodeType":"YulAssignment","src":"1976:26:150","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1988:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"1999:2:150","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1984:3:150"},"nodeType":"YulFunctionCall","src":"1984:18:150"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1976:4:150"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2018:9:150"},{"name":"value0","nodeType":"YulIdentifier","src":"2029:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2011:6:150"},"nodeType":"YulFunctionCall","src":"2011:25:150"},"nodeType":"YulExpressionStatement","src":"2011:25:150"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2056:9:150"},{"kind":"number","nodeType":"YulLiteral","src":"2067:2:150","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2052:3:150"},"nodeType":"YulFunctionCall","src":"2052:18:150"},{"name":"value1","nodeType":"YulIdentifier","src":"2072:6:150"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2045:6:150"},"nodeType":"YulFunctionCall","src":"2045:34:150"},"nodeType":"YulExpressionStatement","src":"2045:34:150"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1927:9:150","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1938:6:150","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1946:6:150","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1957:4:150","type":""}],"src":"1837:248:150"}]},"contents":"{\n    { }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_uint32t_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n        value0 := value\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_tuple_t_rational_0_by_1__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_uint32__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffff))\n    }\n    function abi_encode_tuple_t_uint32_t_uint32__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        let _1 := 0xffffffff\n        mstore(headStart, and(value0, _1))\n        mstore(add(headStart, 32), and(value1, _1))\n    }\n    function abi_encode_tuple_t_stringliteral_9a1a4a2c547a23d7256a23364bd454f9ca55d047c66b2f63ead306ccecf867ce__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"VotingSettingsUtils: skip window\")\n        mstore(add(headStart, 96), \" must be > 0\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n}","id":150,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806302a251a31461005b5780630ff235a9146100755780639382c81814610097578063abc517fd146100b7575b600080fd5b6100636100bf565b60405190815260200160405180910390f35b81801561008157600080fd5b5061009561009036600461028d565b6100d7565b005b8180156100a357600080fd5b506100956100b23660046102c2565b6101a0565b610063610256565b6000806100ca610269565b5463ffffffff1692915050565b8163ffffffff166000036101065760405163f1cfbf0560e01b8152600060048201526024015b60405180910390fd5b808263ffffffff16106101345760405163f1cfbf0560e01b815263ffffffff831660048201526024016100fd565b600061013e610269565b80546040805163ffffffff928316815291861660208301529192507f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1805463ffffffff191663ffffffff939093169290921790915550565b600081116102055760405162461bcd60e51b815260206004820152602c60248201527f566f74696e6753657474696e67735574696c733a20736b69702077696e646f7760448201526b0206d757374206265203e20360a41b60648201526084016100fd565b600061020f610269565b600181015460408051918252602082018590529192507f75e6b9204b5cdeef455a644570d4efa3117566d11758242b7d55138eafa63af2910160405180910390a160010155565b6000610260610269565b60010154905090565b7fd69d068053671881d25a4d751dcad1e692749d9b24184f608cb1d01af3a9990090565b600080604083850312156102a057600080fd5b823563ffffffff811681146102b457600080fd5b946020939093013593505050565b6000602082840312156102d457600080fd5b503591905056fea26469706673582212200b82554bd0552641e3d27428724ac83a058a77c9f899fc03b0b9525461f2a76764736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2A251A3 EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xFF235A9 EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x9382C818 EQ PUSH2 0x97 JUMPI DUP1 PUSH4 0xABC517FD EQ PUSH2 0xB7 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63 PUSH2 0xBF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x28D JUMP JUMPDEST PUSH2 0xD7 JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x95 PUSH2 0xB2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2C2 JUMP JUMPDEST PUSH2 0x1A0 JUMP JUMPDEST PUSH2 0x63 PUSH2 0x256 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCA PUSH2 0x269 JUMP JUMPDEST SLOAD PUSH4 0xFFFFFFFF AND SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0x0 SUB PUSH2 0x106 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP3 PUSH4 0xFFFFFFFF AND LT PUSH2 0x134 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1CFBF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH4 0xFFFFFFFF DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xFD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13E PUSH2 0x269 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xFFFFFFFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP7 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP2 SWAP3 POP PUSH32 0x7E3F7F0708A84DE9203036ABAA450DCCC85AD5FF52F78C170F3EDB55CF5E8828 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SLOAD PUSH4 0xFFFFFFFF NOT AND PUSH4 0xFFFFFFFF SWAP4 SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0x205 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x566F74696E6753657474696E67735574696C733A20736B69702077696E646F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x206D757374206265203E203 PUSH1 0xA4 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFD JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20F PUSH2 0x269 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH32 0x75E6B9204B5CDEEF455A644570D4EFA3117566D11758242B7D55138EAFA63AF2 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x260 PUSH2 0x269 JUMP JUMPDEST PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0xD69D068053671881D25A4D751DCAD1E692749D9B24184F608CB1D01AF3A99900 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x2B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND DUP3 SSTORE 0x4B 0xD0 SSTORE 0x26 COINBASE 0xE3 0xD2 PUSH21 0x28724AC83A058A77C9F899FC03B0B9525461F2A767 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"360:2489:147:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;912:223;;;:::i;:::-;;;168:25:150;;;156:2;141:18;912:223:147;;;;;;;1459:607;;;;;;;;;;-1:-1:-1;1459:607:147;;;;;:::i;:::-;;:::i;:::-;;2452:395;;;;;;;;;;-1:-1:-1;2452:395:147;;;;;:::i;:::-;;:::i;2176:167::-;;;:::i;912:223::-;959:7;974:61;1038:64;:62;:64::i;:::-;1115:15;;;;912:223;-1:-1:-1;;912:223:147:o;1459:607::-;1559:15;:20;;1578:1;1559:20;1555:78;;1596:30;;-1:-1:-1;;;1596:30:147;;1624:1;1596:30;;;168:25:150;141:18;;1596:30:147;;;;;;;;1555:78;1737:22;1718:15;:41;;;1714:113;;1776:44;;-1:-1:-1;;;1776:44:147;;1103:10:150;1091:23;;1776:44:147;;;1073:42:150;1046:18;;1776:44:147;928:193:150;1714:113:147;1833:61;1897:64;:62;:64::i;:::-;1989:15;;1973:49;;;1989:15;;;;1327:34:150;;1397:15;;;1392:2;1377:18;;1370:43;1989:15:147;;-1:-1:-1;1973:49:147;;1271:18:150;1973:49:147;;;;;;;2028:33;;-1:-1:-1;;2028:33:147;;;;;;;;;;;;;-1:-1:-1;1459:607:147:o;2452:395::-;2540:1;2529:8;:12;2521:69;;;;-1:-1:-1;;;2521:69:147;;1626:2:150;2521:69:147;;;1608:21:150;1665:2;1645:18;;;1638:30;1704:34;1684:18;;;1677:62;-1:-1:-1;;;1755:18:150;;;1748:42;1807:19;;2521:69:147;1424:408:150;2521:69:147;2596:61;2660:64;:62;:64::i;:::-;2762:26;;;;2735:64;;;2011:25:150;;;2067:2;2052:18;;2045:34;;;2596:128:147;;-1:-1:-1;2735:64:147;;1984:18:150;2735:64:147;;;;;;;2805:26;;:37;2452:395::o;2176:167::-;2234:7;2256:57;:55;:57::i;:::-;:82;;;2249:89;;2176:167;:::o;5956:165:149:-;6082:29;;5956:165::o;204:344:150:-;271:6;279;332:2;320:9;311:7;307:23;303:32;300:52;;;348:1;345;338:12;300:52;387:9;374:23;437:10;430:5;426:22;419:5;416:33;406:61;;463:1;460;453:12;406:61;486:5;538:2;523:18;;;;510:32;;-1:-1:-1;;;204:344:150:o;553:180::-;612:6;665:2;653:9;644:7;640:23;636:32;633:52;;;681:1;678;671:12;633:52;-1:-1:-1;704:23:150;;553:180;-1:-1:-1;553:180:150:o"},"methodIdentifiers":{"citizenSkipWindowBlocks()":"abc517fd","setCitizenSkipWindowBlocks(uint256)":"9382c818","setVotingPeriod(uint32,uint256)":"0ff235a9","votingPeriod()":"02a251a3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"CitizenSkipWindowBlocksSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingPeriod\",\"type\":\"uint256\"}],\"name\":\"VotingPeriodSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"citizenSkipWindowBlocks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extracted from VotingSettingsUpgradeable module. Uses ERC-7201 namespaced storage.\",\"kind\":\"dev\",\"methods\":{\"citizenSkipWindowBlocks()\":{\"returns\":{\"_0\":\"The skip window in blocks\"}},\"setCitizenSkipWindowBlocks(uint256)\":{\"params\":{\"newValue\":\"The new skip window in blocks\"}},\"setVotingPeriod(uint32,uint256)\":{\"details\":\"Validates that newVotingPeriod > 0 and < emissionsCycleDuration. Emits a {VotingPeriodSet} event.\",\"params\":{\"emissionsCycleDuration\":\"The current emissions cycle duration (caller must provide)\",\"newVotingPeriod\":\"The new voting period in blocks\"}},\"votingPeriod()\":{\"returns\":{\"_0\":\"The voting period in blocks\"}}},\"title\":\"VotingSettingsUtils\",\"version\":1},\"userdoc\":{\"errors\":{\"GovernorInvalidVotingPeriod(uint256)\":[{\"notice\":\"Thrown when the voting period is invalid (zero or >= emissions cycle duration)\"}]},\"events\":{\"CitizenSkipWindowBlocksSet(uint256,uint256)\":{\"notice\":\"Emitted when the citizen skip window is updated\"},\"VotingPeriodSet(uint256,uint256)\":{\"notice\":\"Emitted when the voting period is updated\"}},\"kind\":\"user\",\"methods\":{\"citizenSkipWindowBlocks()\":{\"notice\":\"Returns the citizen skip window in blocks\"},\"setCitizenSkipWindowBlocks(uint256)\":{\"notice\":\"Sets the citizen skip window\"},\"setVotingPeriod(uint32,uint256)\":{\"notice\":\"Sets the voting period\"},\"votingPeriod()\":{\"notice\":\"Returns the current voting period\"}},\"notice\":\"Library for managing voting period settings in the XAllocationVoting system.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol\":\"VotingSettingsUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/VotingSettingsUtils.sol\":{\"keccak256\":\"0xdbb0c5907539cacffcf519e5dbfab00b4bbe0db8b9902e55a833c87cfc8b9cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://406a0284908e7ec2e7aa12734eb05ec92831be95d82fcbcf406790d85c46f588\",\"dweb:/ipfs/QmdEQxzTPZGsKA87eboyv77yWgD7kUukVm2D1R6S5rWuzf\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol":{"XAllocationVotingDataTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122052ed25202c1f4ca82ef9a67e8162e56d2cc4421ffa09dad3e14b27eef6d7337f64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSTORE 0xED 0x25 KECCAK256 0x2C 0x1F 0x4C 0xA8 0x2E 0xF9 0xA6 PUSH31 0x8162E56D2CC4421FFA09DAD3E14B27EEF6D7337F64736F6C63430008140033 ","sourceMap":"353:570:148:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;353:570:148;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122052ed25202c1f4ca82ef9a67e8162e56d2cc4421ffa09dad3e14b27eef6d7337f64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSTORE 0xED 0x25 KECCAK256 0x2C 0x1F 0x4C 0xA8 0x2E 0xF9 0xA6 PUSH31 0x8162E56D2CC4421FFA09DAD3E14B27EEF6D7337F64736F6C63430008140033 ","sourceMap":"353:570:148:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Contains storage structures and data types for allocation voting functionality\",\"kind\":\"dev\",\"methods\":{},\"title\":\"XAllocationVotingDataTypes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library defining data types used in the XAllocationVoting contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol\":\"XAllocationVotingDataTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingDataTypes.sol\":{\"keccak256\":\"0x8ebd4466c002d8e3a86a275b74a034f7fe05debb31067c7605f84b250d59e568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eba6437d4a983b44f3fe350bd4805fa7c4f8d19f105100ea276bce326a359aaf\",\"dweb:/ipfs/Qmbd95pbEgcwejWrTjAadsJBBa2B1oGJztkTT7E5ANVApr\"]}},\"version\":1}"}},"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol":{"XAllocationVotingStorageTypes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3550ea7276aa034e635055038e2720851acf6b35e4f0aee7502dfdf82ccc58464736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD3 SSTORE 0xE 0xA7 0x27 PUSH11 0xA034E635055038E2720851 0xAC 0xF6 0xB3 0x5E 0x4F EXP 0xEE PUSH22 0x2DFDF82CCC58464736F6C6343000814003300000000 ","sourceMap":"939:6545:149:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;939:6545:149;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3550ea7276aa034e635055038e2720851acf6b35e4f0aee7502dfdf82ccc58464736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD3 SSTORE 0xE 0xA7 0x27 PUSH11 0xA034E635055038E2720851 0xAC 0xF6 0xB3 0x5E 0x4F EXP 0xEE PUSH22 0x2DFDF82CCC58464736F6C6343000814003300000000 ","sourceMap":"939:6545:149:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Uses ERC-7201 namespaced storage pattern. Slot constants MUST NOT change across upgrades.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"XAllocationVotingStorageTypes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Defines all storage types and getters for the XAllocationVoting system.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":\"XAllocationVotingStorageTypes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol\":{\"keccak256\":\"0xb75d85abe51db18b433c6a89548eefef59784504a2d0e775ed4e3b26d162c49b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2b53c6296f91911e588edc62db7452d897815168612292f32e6c734913d23e\",\"dweb:/ipfs/Qmd8VqQ7zQGVm2q3shAjwjUQtqYjAEynggr9neT57MX27k\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts-upgradeable/token/ERC1155/utils/ERC1155HolderUpgradeable.sol\":{\"keccak256\":\"0xd5cd13424ae387f7356676f7b90081cc63af46eac66ef15efeaca6177863eb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e40a0af0270db667475e35bef1341612a18d67db704c99be8ded1623decbc953\",\"dweb:/ipfs/QmRBdXCAhPJ75M5CVgzDK7pUMXQ6xWjoQ737xVfdGnqYDi\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol\":{\"keccak256\":\"0x9a4de3d90a92d682de7ec325eb3d032587fbe9782a4bbbf1b1fa72a82b2c06e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://341b637251d54b93d13283fbc57d16ff8727dcd0e9a0f790347bfb664a8f6817\",\"dweb:/ipfs/QmX79yunDU24WtRiD9CJYQa1b21KiJuqmLX73HNyeHE7LJ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xdaba3f7c42c55b2896353f32bd27d4d5f8bae741b3b05d4c53f67abc4dc47ce8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa2e61141c602510bcd2cd936ed9561922ac8772a9b9c9a9db091a74e354a45\",\"dweb:/ipfs/QmcHQDDoEBwJmwUbzoVkytvJsBx3KVHYFFnDkvRGWh9Wmh\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"contracts/governance/libraries/GovernorTypes.sol\":{\"keccak256\":\"0xf70cb9d1e70b601228a143324f283a7eaa7d5ebaf5088c75c1fa41be9615c200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00597231bea5b572c4635f9cb5ce682cc8ec7127c5f3e30b16f1100b0bcf9fb1\",\"dweb:/ipfs/QmTKANmA1d9DiMS7DcKdUUUMMHWnG9iywjTU8T3dnq6Z8y\"]},\"contracts/interfaces/IB3TR.sol\":{\"keccak256\":\"0x84072a0b3340a0972192bd7d9491f00b2676aff7a6c58461b836147a39e31bd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca091823fbc799175caa96e5fbaf5f449acd78c728e92950845fa347c33d9ea5\",\"dweb:/ipfs/QmYLDKyKjssZPcWjtgRR3Fbmo3JKdWQaKpFj5GUxPWvvc4\"]},\"contracts/interfaces/IB3TRGovernor.sol\":{\"keccak256\":\"0x24b6e5e11726b0de82583a866fd0e26de866c5831d0775ce6de087524adec52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f4be8f1f2d0bc6a73db45ac965f1171982af5a5d10947e34ca8a3991b4bf9a\",\"dweb:/ipfs/Qmd65aqzM6o137f3aLy5komoMBmKASMNT1fwZgMLbCN1U3\"]},\"contracts/interfaces/IEmissions.sol\":{\"keccak256\":\"0x61cfed2a86ff35305adf95b36901e039ef8d8516eb936f429e98a9f66dfac2c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a969600466c1ae4bcbcbcac7d2c27224142f3362541045c7960ff4b4c865c26\",\"dweb:/ipfs/QmbqetsSTo9FYWV6sjhJdWn4XboXfib5W6ezd6kuKMzazd\"]},\"contracts/interfaces/IGalaxyMember.sol\":{\"keccak256\":\"0xe489429f10576e793b1e0a5a4689f21881a1ab6042c6f2c88072e6fbe429e8e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc958c17abf70712dc10bd76c7e775b6a3bc33807e931d2d18d9c92568e88aa\",\"dweb:/ipfs/QmbC9qQM18wMnYoP7hi9yCfgCvrsDcXL3YecQhs3LCxCuP\"]},\"contracts/interfaces/IGrantsManager.sol\":{\"keccak256\":\"0xecd01ed074b22975350e2fe4929f8bd3b98eeb9e0e0b433d9981ef41bff930ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf23d841ebdbf35617ba17afd43a95e779f59d3f325cb67d31aa9fef9f3150f0\",\"dweb:/ipfs/QmdSSYZQRUERyNKPEjRfxvMWAdcPVkdTK5BipPgq23ebzD\"]},\"contracts/interfaces/INavigatorRegistry.sol\":{\"keccak256\":\"0x84719a9d3e704c9d559c877e5b75246a49f5331c75fafa8c2a4b4e4bb4fddec5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b257e549a5a58b667ad82c7b9c7221263d070cc5d458bec2c2f45b6d09a7e4a\",\"dweb:/ipfs/QmbDUrfaWmoA6mtTgTFE4cVrxW4h6HZ6dUgEvUQn5oG5SG\"]},\"contracts/interfaces/IRelayerRewardsPool.sol\":{\"keccak256\":\"0xec1f8b79044f620858be5f63ce180f4df48ccda56de78f2c4f1eb2fb587b9415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b42834283ce2441efe6564a87fe5fd7a372141c98cd4d1fcb119e3a3f99b7f\",\"dweb:/ipfs/QmbRqT2Zi1u9AivLqDc9JibsoFrg9TQcDc1trMaEw4xuJK\"]},\"contracts/interfaces/IVOT3.sol\":{\"keccak256\":\"0x05ae3c4ae86824ada63a90089f89afe0739a015791ace01e392f2410060a62ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://735b5d3a9a473f95914602a6322a638d1b5c9ab79e8da76b7c74465bc3286de6\",\"dweb:/ipfs/QmYM2bFCktEiaW5kSWZWPsbQicyu7ptfTr9DUhP2roXRj3\"]},\"contracts/interfaces/IVeBetterPassport.sol\":{\"keccak256\":\"0x1094bcf1a7f61ad26e5d49a6efd7302419a1d2475fa0723f62f24757c7a1655c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5a25e330da50daf45f56fe4c496da2ea6695fb4de491c112980deb385f0f3ac\",\"dweb:/ipfs/QmaPE4T6UR91WxnGkqGp85d6YB9UGQceGGtSTCres1Y2Ut\"]},\"contracts/interfaces/IVoterRewards.sol\":{\"keccak256\":\"0x6d301a078380ccb19fd784777fbda92f834d0015989ce12210e6b961db95b4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae22ec19b99d583258a84f659131b650833e421e44e9958f12c9a449f1660272\",\"dweb:/ipfs/QmVR6CeUPUqc1owDnSYnVnU8cjB1FAG3wku7ZzkyQh9nEJ\"]},\"contracts/interfaces/IX2EarnApps.sol\":{\"keccak256\":\"0xf476e628b4037c16d44c833c9f0f4db9a3abc48f60ad4654574bce31ca9c759c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8c183bbd394bb708a637dca7626f6beb7a78e5111674e3ccea6f98140580172\",\"dweb:/ipfs/Qmar8Za1an3ZGP6B5wcCZSmY6g6MKzPcGeVYetRhiPFm7e\"]},\"contracts/interfaces/IX2EarnCreator.sol\":{\"keccak256\":\"0x51a689ba50aea8a5763c64ea92b586c8dcea37d28393e12c43b486bd81341de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5407cde882870610a63d76f4649b6855c0feaeff820a7205cf937c3cca38c7d\",\"dweb:/ipfs/QmVSvwSFbdmJuabTMqxa8pew3JdEaBBJ9DnB2AX6DPbWzn\"]},\"contracts/interfaces/IX2EarnRewardsPool.sol\":{\"keccak256\":\"0x8dd75c40b24ca12b800ae6bf3020893b9de4aa78b0f147bea31121185270aa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32395327f8679cdc81d783f5012d7e0c790a90b1cb9875f99e3c497b21991e9\",\"dweb:/ipfs/QmUSDSLfThkQc9EzP7BMrtvpNB5yXoBXfxyzB5qbmtZUNp\"]},\"contracts/interfaces/IXAllocationVotingGovernor.sol\":{\"keccak256\":\"0xb208b691e47e33ca95b6464883184ca26717b241fafc2c97a95832a0cb1df3ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e8150d20b34ffbf70d081f8b703005a1d3300e60c71a61769814bcc4e808e99\",\"dweb:/ipfs/Qmd5U2UGWQQeGZqQB5WVWecYFzQZPBi2pSs7A5J91gMVDz\"]},\"contracts/libraries/X2EarnAppsDataTypes.sol\":{\"keccak256\":\"0xf2b326c455f820886a624686d12d1a1c458af0a905f58ae0dc4fc8ad3598cb83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06b4a842acb992e9743fadb6875567ee3eff1c50c51b508f2a16211261fcc1b4\",\"dweb:/ipfs/QmaYUzADyBrxRL8VNR7M6ta2XmwHRHwdj1JLf1AXqNfhLz\"]},\"contracts/mocks/Stargate/NodeManagement/libraries/VechainNodesDataTypes.sol\":{\"keccak256\":\"0xe2022e26cd087b45ee6a97ac39d78a25a8479e10c06c61c6a3c9c9fcf780fd19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb402c7ea78316a437fbef0a0a3bdcb6373f48991b05ef42b0acf8ed4804b8b0\",\"dweb:/ipfs/QmRadwpW5AHdX2SRCasdEr1D7qkKrjCFLL29MyVdTk3JJT\"]},\"contracts/mocks/Stargate/StargateNFT/libraries/DataTypes.sol\":{\"keccak256\":\"0xa03ba4de6bbd1cf6bf56c27e096d7d428636147c7af5096a24c5370bcd8f21f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b1d470b4acd662f3d52c35fc27172d4f5f72961e89deb001cb480fd4e3b5ee\",\"dweb:/ipfs/QmYpw3N736dCpsaFWtsnzXsgCxW6GJ2qy7LJqxpLMo2nN5\"]},\"contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol\":{\"keccak256\":\"0x2717029b06b6ee90fd380596c042fd047dd591c6837e01809f41fdce71dec00c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ecd3456200bdce55ed1febf40741f26d2f9013f983051240d5efb85b1fb9c98\",\"dweb:/ipfs/QmTecy6Fh9EE5hmQ7vgYZe4DhgSKpZ2q4qb5QVHTPv1DT4\"]},\"contracts/mocks/Stargate/interfaces/IStargate.sol\":{\"keccak256\":\"0x92e4db5cbe74029dd494ffe6a66652fe7635ccb8a0a42f29a3ce36ec0fd9c63b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aba55cff2f49386fab4e9f6e1c53df766289eeca5bc6854873d3bfff96500576\",\"dweb:/ipfs/QmY9E6XKrsvpq158FLejepXMfWMBCgY8oGkbSWYYjk7gTp\"]},\"contracts/mocks/Stargate/interfaces/IStargateDelegation.sol\":{\"keccak256\":\"0x8252f55713fec862656458d6542b3373b736a2870e038d18c570e146c501cec6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79376379d3370c8352121aeeb4461f78596b0740404deeb8477a9737a3544e36\",\"dweb:/ipfs/QmVa6sJKdcaNbTx1LRTqtSpFikxwhVDUhLRifGBXs27WpS\"]},\"contracts/mocks/Stargate/interfaces/IStargateNFT.sol\":{\"keccak256\":\"0xa4a9c62c9585b6df270ae23d40756ea91fc51097068279c2c2d98a4126bd4c19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e30c85110ed8d15d97adf60af88a41b04af4a6336829513a0352f92a76b364f8\",\"dweb:/ipfs/QmTNMuAXZYn3VLPVLUGS6b3tT9G1xSBUEDnQEp25tS56ga\"]},\"contracts/mocks/Stargate/interfaces/ITokenAuction.sol\":{\"keccak256\":\"0x7ae5c9e20c723179346a5b25d3702a1a6ab2c86466a427a9d5e21532cb50940c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd863891f40244f3b1e0a6a52e785db628f4b93979440d08d0e65af7db12aceb\",\"dweb:/ipfs/QmSUexCJGxgmEajv4pjdFSb5ifEwXDGt3YWTEcq9jCE7jm\"]},\"contracts/ve-better-passport/libraries/PassportTypes.sol\":{\"keccak256\":\"0x0250b067d550cd85bd77278c705bd8d28db1bce6829e084cbe65b74353483ebd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://176022bfb06a2c03efe880a13a97cea66e25e9b31fe164936b5845a57a299be8\",\"dweb:/ipfs/QmS2kQnhxdjkrnNGfFyBdtThpmvyT2B7tF1owW2vF2hmbz\"]},\"contracts/x-2-earn-apps/libraries/EndorsementUtils.sol\":{\"keccak256\":\"0x1830b8438f0b6b516cc22ebbfcc7cff9db478c9a2a44fedf5926e63bd77d5aa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad5b08dbb03f727b8b74b10d1d00e796ece111f3aa23ef48ad27f54dd3f7b58\",\"dweb:/ipfs/QmfZZoP44EZ3Ts81BgvRuG9AXuTAxCqCbFqHoKEspFsPSa\"]},\"contracts/x-2-earn-apps/libraries/X2EarnAppsStorageTypes.sol\":{\"keccak256\":\"0x8a44d64c1e998dad0d21b928c499b7b624623cb26a30df541c493641191f6091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://751749980251dd9cda3e77654fafa229dab8a9bc74992dee9e8b3adee9595b72\",\"dweb:/ipfs/QmSHViJSMCbr25KBPap8VB38SjrLojRTnC3JUDCvf3rRBB\"]},\"contracts/x-allocation-voting-governance/libraries/XAllocationVotingStorageTypes.sol\":{\"keccak256\":\"0x48cec18d3ade2a964af095010f23e4aebe21e70207e906b3f395911173ebb643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e37b6a5eed69c88876cc400f03d5c1ceb1319f04101fd54c487e38cd381fa8b0\",\"dweb:/ipfs/QmPTKXZF7LQywisiK9UEPNHg11D8khFeUb55QWaF1brnuw\"]}},\"version\":1}"}}}}}